From 97b8365cafc3a344a22d3980b8ed885f5c6d8357 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 9 Jan 2007 19:58:05 +0000 Subject: Merged gcj-eclipse branch to trunk. From-SVN: r120621 --- libjava/ChangeLog | 1231 ++ libjava/HACKING | 5 + libjava/Makefile.am | 447 +- libjava/Makefile.in | 3090 +++-- libjava/boehm.cc | 3 + libjava/classpath/.cdtproject | 3 + libjava/classpath/.classpath | 14 + libjava/classpath/.cvsignore | 18 + .../classpath/.externalToolBuilders/Autogen.launch | 2 + .../.externalToolBuilders/ClasspathHeaders.launch | 2 + .../.externalToolBuilders/ClasspathJar.launch | 11 + .../.externalToolBuilders/CompileNative.launch | 2 + .../.externalToolBuilders/Configure.launch | 13 + .../.externalToolBuilders/CreateLocaleData.launch | 12 + libjava/classpath/.project | 77 + .../classpath/.settings/org.eclipse.jdt.core.prefs | 243 + .../classpath/.settings/org.eclipse.jdt.ui.prefs | 12 + libjava/classpath/AUTHORS | 13 +- libjava/classpath/ChangeLog | 12575 ++++++++++++++++--- libjava/classpath/ChangeLog-2004 | 1068 +- libjava/classpath/ChangeLog-2005 | 2666 +++- libjava/classpath/ChangeLog.gcj | 200 +- libjava/classpath/ChangeLog.usermap | 60 + libjava/classpath/INSTALL | 15 +- libjava/classpath/LICENSE | 14 +- libjava/classpath/Makefile.in | 11 +- libjava/classpath/NEWS | 55 + libjava/classpath/aclocal.m4 | 2 + libjava/classpath/compile | 142 + libjava/classpath/config.guess | 664 +- libjava/classpath/config.sub | 218 +- libjava/classpath/configure | 5024 +++++--- libjava/classpath/configure.ac | 154 +- libjava/classpath/doc/.cvsignore | 13 + libjava/classpath/doc/Makefile.in | 11 +- libjava/classpath/doc/api/.cvsignore | 2 + libjava/classpath/doc/api/Makefile.am | 2 + libjava/classpath/doc/api/Makefile.in | 41 +- libjava/classpath/doc/vmintegration.texinfo | 130 +- libjava/classpath/examples/.cvsignore | 6 + libjava/classpath/examples/Makefile.am | 27 +- libjava/classpath/examples/Makefile.in | 36 +- .../examples/CORBA/NamingService/Demo.java | 3 +- .../examples/gnu/classpath/examples/awt/aicas.png | Bin 0 -> 2320 bytes .../examples/gnu/classpath/examples/awt/palme.gif | Bin 0 -> 502 bytes .../examples/gnu/classpath/examples/icons/back.png | Bin 0 -> 828 bytes .../gnu/classpath/examples/icons/reload.png | Bin 0 -> 1324 bytes .../gnu/classpath/examples/java2d/aicas.png | Bin 0 -> 2320 bytes .../gnu/classpath/examples/java2d/palme.gif | Bin 0 -> 502 bytes .../classpath/examples/swing/BrowserEditorKit.java | 57 + .../swing/ClasspathSwingActivityBoard.launch | 19 + .../gnu/classpath/examples/swing/Demo.java | 96 +- .../gnu/classpath/examples/swing/HtmlDemo.java | 392 +- .../classpath/examples/swing/TabbedPaneDemo.java | 145 +- .../gnu/classpath/examples/swing/TreeDemo.java | 35 +- .../gnu/classpath/examples/swing/forms.html | 98 + .../gnu/classpath/examples/swing/frame1.html | 41 + .../gnu/classpath/examples/swing/frame2.html | 42 + .../gnu/classpath/examples/swing/frame3.html | 42 + .../gnu/classpath/examples/swing/frame4.html | 41 + .../gnu/classpath/examples/swing/frames.html | 44 + .../gnu/classpath/examples/swing/tables.html | 66 + .../gnu/classpath/examples/swing/textstyles.html | 78 + .../gnu/classpath/examples/swing/welcome.html | 63 + libjava/classpath/external/.cvsignore | 2 + libjava/classpath/external/Makefile.am | 2 +- libjava/classpath/external/Makefile.in | 13 +- libjava/classpath/external/jsr166/.cvsignore | 1 + libjava/classpath/external/jsr166/IMPORTING | 31 + libjava/classpath/external/jsr166/Makefile.am | 74 + libjava/classpath/external/jsr166/Makefile.in | 522 + .../external/jsr166/java/util/AbstractQueue.java | 166 + .../external/jsr166/java/util/ArrayDeque.java | 839 ++ .../classpath/external/jsr166/java/util/Deque.java | 547 + .../external/jsr166/java/util/NavigableMap.java | 395 + .../external/jsr166/java/util/NavigableSet.java | 290 + .../classpath/external/jsr166/java/util/Queue.java | 189 + .../util/concurrent/AbstractExecutorService.java | 270 + .../java/util/concurrent/ArrayBlockingQueue.java | 778 ++ .../jsr166/java/util/concurrent/BlockingDeque.java | 613 + .../jsr166/java/util/concurrent/BlockingQueue.java | 344 + .../util/concurrent/BrokenBarrierException.java | 38 + .../jsr166/java/util/concurrent/Callable.java | 36 + .../util/concurrent/CancellationException.java | 34 + .../java/util/concurrent/CompletionService.java | 97 + .../java/util/concurrent/ConcurrentHashMap.java | 1277 ++ .../util/concurrent/ConcurrentLinkedQueue.java | 480 + .../jsr166/java/util/concurrent/ConcurrentMap.java | 134 + .../util/concurrent/ConcurrentNavigableMap.java | 148 + .../util/concurrent/ConcurrentSkipListMap.java | 3114 +++++ .../util/concurrent/ConcurrentSkipListSet.java | 456 + .../java/util/concurrent/CopyOnWriteArraySet.java | 364 + .../java/util/concurrent/CountDownLatch.java | 290 + .../jsr166/java/util/concurrent/CyclicBarrier.java | 454 + .../jsr166/java/util/concurrent/DelayQueue.java | 487 + .../jsr166/java/util/concurrent/Delayed.java | 33 + .../jsr166/java/util/concurrent/Exchanger.java | 656 + .../java/util/concurrent/ExecutionException.java | 65 + .../jsr166/java/util/concurrent/Executor.java | 112 + .../util/concurrent/ExecutorCompletionService.java | 174 + .../java/util/concurrent/ExecutorService.java | 306 + .../jsr166/java/util/concurrent/Executors.java | 666 + .../jsr166/java/util/concurrent/Future.java | 142 + .../jsr166/java/util/concurrent/FutureTask.java | 325 + .../java/util/concurrent/LinkedBlockingDeque.java | 1021 ++ .../java/util/concurrent/LinkedBlockingQueue.java | 807 ++ .../util/concurrent/PriorityBlockingQueue.java | 563 + .../concurrent/RejectedExecutionException.java | 62 + .../util/concurrent/RejectedExecutionHandler.java | 33 + .../java/util/concurrent/RunnableFuture.java | 25 + .../util/concurrent/RunnableScheduledFuture.java | 29 + .../util/concurrent/ScheduledExecutorService.java | 159 + .../java/util/concurrent/ScheduledFuture.java | 19 + .../concurrent/ScheduledThreadPoolExecutor.java | 626 + .../jsr166/java/util/concurrent/Semaphore.java | 681 + .../java/util/concurrent/SynchronousQueue.java | 1127 ++ .../jsr166/java/util/concurrent/ThreadFactory.java | 40 + .../java/util/concurrent/ThreadPoolExecutor.java | 1605 +++ .../jsr166/java/util/concurrent/TimeUnit.java | 331 + .../java/util/concurrent/TimeoutException.java | 38 + .../java/util/concurrent/atomic/AtomicBoolean.java | 133 + .../java/util/concurrent/atomic/AtomicInteger.java | 234 + .../util/concurrent/atomic/AtomicIntegerArray.java | 255 + .../atomic/AtomicIntegerFieldUpdater.java | 316 + .../java/util/concurrent/atomic/AtomicLong.java | 248 + .../util/concurrent/atomic/AtomicLongArray.java | 255 + .../concurrent/atomic/AtomicLongFieldUpdater.java | 406 + .../concurrent/atomic/AtomicMarkableReference.java | 161 + .../util/concurrent/atomic/AtomicReference.java | 124 + .../concurrent/atomic/AtomicReferenceArray.java | 163 + .../atomic/AtomicReferenceFieldUpdater.java | 275 + .../concurrent/atomic/AtomicStampedReference.java | 165 + .../java/util/concurrent/atomic/package.html | 158 + .../locks/AbstractOwnableSynchronizer.java | 57 + .../locks/AbstractQueuedLongSynchronizer.java | 1934 +++ .../locks/AbstractQueuedSynchronizer.java | 2159 ++++ .../java/util/concurrent/locks/Condition.java | 435 + .../jsr166/java/util/concurrent/locks/Lock.java | 327 + .../java/util/concurrent/locks/LockSupport.java | 352 + .../java/util/concurrent/locks/ReadWriteLock.java | 104 + .../java/util/concurrent/locks/ReentrantLock.java | 740 ++ .../concurrent/locks/ReentrantReadWriteLock.java | 1346 ++ .../jsr166/java/util/concurrent/locks/package.html | 50 + .../jsr166/java/util/concurrent/package.html | 222 + libjava/classpath/external/jsr166/readme | 45 + .../classpath/external/relaxngDatatype/.cvsignore | 2 + .../classpath/external/relaxngDatatype/Makefile.in | 11 +- libjava/classpath/external/sax/.cvsignore | 2 + libjava/classpath/external/sax/Makefile.in | 11 +- .../external/sax/org/xml/sax/AttributeList.java | 2 +- .../external/sax/org/xml/sax/Attributes.java | 2 +- .../external/sax/org/xml/sax/ContentHandler.java | 2 +- .../external/sax/org/xml/sax/DTDHandler.java | 2 +- .../external/sax/org/xml/sax/DocumentHandler.java | 2 +- .../external/sax/org/xml/sax/EntityResolver.java | 2 +- .../external/sax/org/xml/sax/ErrorHandler.java | 2 +- .../external/sax/org/xml/sax/HandlerBase.java | 2 +- .../external/sax/org/xml/sax/InputSource.java | 2 +- .../external/sax/org/xml/sax/Locator.java | 2 +- .../classpath/external/sax/org/xml/sax/Parser.java | 2 +- .../external/sax/org/xml/sax/SAXException.java | 2 +- .../sax/org/xml/sax/SAXNotRecognizedException.java | 2 +- .../sax/org/xml/sax/SAXNotSupportedException.java | 2 +- .../sax/org/xml/sax/SAXParseException.java | 2 +- .../external/sax/org/xml/sax/XMLFilter.java | 2 +- .../external/sax/org/xml/sax/XMLReader.java | 2 +- .../external/sax/org/xml/sax/ext/Attributes2.java | 2 +- .../sax/org/xml/sax/ext/Attributes2Impl.java | 2 +- .../external/sax/org/xml/sax/ext/DeclHandler.java | 2 +- .../sax/org/xml/sax/ext/DefaultHandler2.java | 2 +- .../sax/org/xml/sax/ext/EntityResolver2.java | 2 +- .../sax/org/xml/sax/ext/LexicalHandler.java | 2 +- .../external/sax/org/xml/sax/ext/Locator2.java | 2 +- .../external/sax/org/xml/sax/ext/Locator2Impl.java | 2 +- .../external/sax/org/xml/sax/ext/package.html | 2 +- .../sax/org/xml/sax/helpers/AttributeListImpl.java | 2 +- .../sax/org/xml/sax/helpers/AttributesImpl.java | 2 +- .../sax/org/xml/sax/helpers/DefaultHandler.java | 2 +- .../sax/org/xml/sax/helpers/LocatorImpl.java | 2 +- .../sax/org/xml/sax/helpers/NamespaceSupport.java | 2 +- .../sax/org/xml/sax/helpers/NewInstance.java | 2 +- .../sax/org/xml/sax/helpers/ParserAdapter.java | 2 +- .../sax/org/xml/sax/helpers/ParserFactory.java | 2 +- .../sax/org/xml/sax/helpers/XMLFilterImpl.java | 2 +- .../sax/org/xml/sax/helpers/XMLReaderAdapter.java | 2 +- .../sax/org/xml/sax/helpers/XMLReaderFactory.java | 2 +- .../external/sax/org/xml/sax/helpers/package.html | 2 +- .../external/sax/org/xml/sax/package.html | 2 +- libjava/classpath/external/w3c_dom/.cvsignore | 2 + libjava/classpath/external/w3c_dom/COPYRIGHT.html | 106 + libjava/classpath/external/w3c_dom/Makefile.in | 11 +- libjava/classpath/gnu/CORBA/CDR/Vio.java | 5 +- libjava/classpath/gnu/CORBA/CollocatedOrbs.java | 164 + libjava/classpath/gnu/CORBA/Connected_objects.java | 10 + .../CORBA/NamingService/Binding_iterator_impl.java | 6 +- libjava/classpath/gnu/CORBA/NamingService/Ext.java | 6 +- .../gnu/CORBA/NamingService/NameParser.java | 3 - .../gnu/CORBA/NamingService/NameTransformer.java | 6 +- .../NamingService/NamingServiceTransient.java | 42 +- .../gnu/CORBA/NamingService/TransientContext.java | 4 +- libjava/classpath/gnu/CORBA/OrbFunctional.java | 122 +- libjava/classpath/gnu/CORBA/Poa/LocalRequest.java | 7 +- libjava/classpath/gnu/CORBA/Poa/ORB_1_4.java | 2 +- libjava/classpath/gnu/CORBA/Poa/gnuPOA.java | 4 +- .../classpath/gnu/CORBA/Poa/gnuServantObject.java | 15 +- .../classpath/gnu/CORBA/SafeForDirectCalls.java | 50 + libjava/classpath/gnu/CORBA/SimpleDelegate.java | 40 +- libjava/classpath/gnu/classpath/.cvsignore | 1 + libjava/classpath/gnu/classpath/ListenerData.java | 136 + .../classpath/gnu/classpath/SystemProperties.java | 1 + .../classpath/gnu/classpath/debug/Component.java | 7 +- .../gnu/classpath/debug/SystemLogger.java | 41 +- .../gnu/java/awt/ComponentReshapeEvent.java | 85 + .../classpath/gnu/java/awt/LowPriorityEvent.java | 48 + .../gnu/java/awt/color/PyccConverter.java | 9 +- .../awt/dnd/peer/gtk/GtkDragSourceContextPeer.java | 12 +- .../awt/dnd/peer/gtk/GtkDropTargetContextPeer.java | 6 +- .../gnu/java/awt/font/autofit/AxisHints.java | 45 + .../gnu/java/awt/font/autofit/Constants.java | 61 + .../gnu/java/awt/font/autofit/GlyphHints.java | 75 + .../classpath/gnu/java/awt/font/autofit/Latin.java | 177 + .../gnu/java/awt/font/autofit/LatinAxis.java | 53 + .../gnu/java/awt/font/autofit/LatinMetrics.java | 51 + .../gnu/java/awt/font/autofit/Scaler.java | 52 + .../gnu/java/awt/font/autofit/Script.java | 62 + .../gnu/java/awt/font/autofit/ScriptMetrics.java | 49 + .../gnu/java/awt/font/autofit/Segment.java | 47 + .../classpath/gnu/java/awt/font/autofit/Width.java | 46 + .../gnu/java/awt/font/opentype/CharGlyphMap.java | 2 +- .../gnu/java/awt/font/opentype/OpenTypeFont.java | 17 +- .../gnu/java/awt/font/opentype/Scaler.java | 12 + .../awt/font/opentype/truetype/GlyphLoader.java | 5 + .../awt/font/opentype/truetype/TrueTypeScaler.java | 6 + .../gnu/java/awt/font/opentype/truetype/Zone.java | 2 +- .../gnu/java/awt/java2d/AbstractGraphics2D.java | 181 +- .../classpath/gnu/java/awt/java2d/QuadSegment.java | 69 +- .../classpath/gnu/java/awt/java2d/ShapeCache.java | 85 + .../gnu/java/awt/java2d/TexturePaintContext.java | 8 +- .../gnu/java/awt/peer/ClasspathFontPeer.java | 14 - .../gnu/java/awt/peer/GLightweightPeer.java | 247 +- .../java/awt/peer/NativeEventLoopRunningEvent.java | 58 + .../gnu/java/awt/peer/gtk/AsyncImage.java | 283 + .../java/awt/peer/gtk/BufferedImageGraphics.java | 405 +- .../gnu/java/awt/peer/gtk/CairoGraphics2D.java | 509 +- .../gnu/java/awt/peer/gtk/CairoSurface.java | 130 +- .../java/awt/peer/gtk/CairoSurfaceGraphics.java | 216 +- .../gnu/java/awt/peer/gtk/ComponentGraphics.java | 283 +- .../gnu/java/awt/peer/gtk/FreetypeGlyphVector.java | 149 +- .../gnu/java/awt/peer/gtk/GdkFontMetrics.java | 143 - .../gnu/java/awt/peer/gtk/GdkFontPeer.java | 229 +- .../java/awt/peer/gtk/GdkGraphicsEnvironment.java | 8 +- .../gnu/java/awt/peer/gtk/GtkChoicePeer.java | 2 +- .../gnu/java/awt/peer/gtk/GtkComponentPeer.java | 73 +- .../gnu/java/awt/peer/gtk/GtkFramePeer.java | 22 +- .../gnu/java/awt/peer/gtk/GtkImageConsumer.java | 43 +- .../gnu/java/awt/peer/gtk/GtkMainThread.java | 190 + .../gnu/java/awt/peer/gtk/GtkToolkit.java | 112 +- .../gnu/java/awt/peer/gtk/GtkVolatileImage.java | 45 +- .../gnu/java/awt/peer/gtk/GtkWindowPeer.java | 78 +- .../java/awt/peer/gtk/VolatileImageGraphics.java | 209 +- .../peer/headless/HeadlessGraphicsEnvironment.java | 118 + .../java/awt/peer/headless/HeadlessToolkit.java | 371 + .../classpath/gnu/java/awt/peer/qt/QtFontPeer.java | 11 - .../classpath/gnu/java/awt/peer/qt/QtGraphics.java | 7 +- .../gnu/java/awt/peer/swing/SwingButtonPeer.java | 22 +- .../gnu/java/awt/peer/swing/SwingComponent.java | 6 +- .../java/awt/peer/swing/SwingComponentPeer.java | 156 +- .../java/awt/peer/swing/SwingContainerPeer.java | 209 +- .../gnu/java/awt/peer/swing/SwingFramePeer.java | 11 +- .../gnu/java/awt/peer/swing/SwingLabelPeer.java | 48 +- .../gnu/java/awt/peer/swing/SwingListPeer.java | 352 + .../gnu/java/awt/peer/swing/SwingMenuBarPeer.java | 2 +- .../gnu/java/awt/peer/swing/SwingPanelPeer.java | 4 +- .../gnu/java/awt/peer/swing/SwingTextAreaPeer.java | 317 + .../java/awt/peer/swing/SwingTextFieldPeer.java | 32 +- .../gnu/java/awt/peer/swing/SwingWindowPeer.java | 8 +- .../classpath/gnu/java/awt/peer/x/XFontPeer.java | 7 - .../classpath/gnu/java/awt/peer/x/XFontPeer2.java | 6 - .../gnu/java/io/ObjectIdentityMap2Int.java | 292 + .../classpath/gnu/java/io/class-dependencies.conf | 75 + .../gnu/java/lang/InstrumentationImpl.java | 16 +- .../gnu/java/lang/management/BeanImpl.java | 437 +- .../gnu/java/lang/management/MemoryMXBeanImpl.java | 45 +- .../java/lang/management/MemoryPoolMXBeanImpl.java | 6 +- .../java/lang/reflect/ClassSignatureParser.java | 2 +- .../java/lang/reflect/GenericSignatureParser.java | 17 +- .../java/lang/reflect/MethodSignatureParser.java | 4 +- libjava/classpath/gnu/java/locale/.cvsignore | 1 + .../gnu/java/net/DefaultProxySelector.java | 80 + .../gnu/java/net/PlainDatagramSocketImpl.java | 252 +- .../classpath/gnu/java/net/PlainSocketImpl.java | 376 +- .../gnu/java/net/local/LocalSocketImpl.java | 7 +- .../gnu/java/net/protocol/http/HTTPConnection.java | 50 +- .../java/net/protocol/http/HTTPURLConnection.java | 40 +- .../gnu/java/net/protocol/jar/Handler.java | 46 +- .../gnu/java/nio/DatagramChannelImpl.java | 165 +- .../gnu/java/nio/DatagramChannelSelectionKey.java | 13 +- .../gnu/java/nio/EpollSelectionKeyImpl.java | 122 + .../classpath/gnu/java/nio/EpollSelectorImpl.java | 399 + .../classpath/gnu/java/nio/FileChannelImpl.java | 572 + libjava/classpath/gnu/java/nio/FileLockImpl.java | 2 - .../gnu/java/nio/KqueueSelectionKeyImpl.java | 189 + .../classpath/gnu/java/nio/KqueueSelectorImpl.java | 527 + libjava/classpath/gnu/java/nio/NIOSocket.java | 29 +- libjava/classpath/gnu/java/nio/NIOSocketImpl.java | 110 + libjava/classpath/gnu/java/nio/PipeImpl.java | 34 +- .../classpath/gnu/java/nio/SelectionKeyImpl.java | 1 + libjava/classpath/gnu/java/nio/SelectorImpl.java | 20 +- .../gnu/java/nio/SelectorProviderImpl.java | 37 + .../gnu/java/nio/ServerSocketChannelImpl.java | 39 +- .../java/nio/ServerSocketChannelSelectionKey.java | 13 +- .../classpath/gnu/java/nio/SocketChannelImpl.java | 262 +- .../gnu/java/nio/SocketChannelSelectionKey.java | 13 +- .../java/nio/SocketChannelSelectionKeyImpl.java | 11 +- libjava/classpath/gnu/java/nio/VMChannelOwner.java | 57 + .../gnu/java/nio/channels/FileChannelImpl.java | 553 - .../gnu/java/rmi/server/ActivatableRef.java | 8 +- .../gnu/java/rmi/server/RMIClassLoaderImpl.java | 67 +- .../gnu/java/rmi/server/RMIObjectInputStream.java | 61 +- libjava/classpath/gnu/java/security/.cvsignore | 1 + libjava/classpath/gnu/java/security/Engine.java | 174 +- libjava/classpath/gnu/java/security/Requires.java | 59 + .../java/security/action/GetPropertyAction.java | 4 +- .../security/action/GetSecurityPropertyAction.java | 4 +- .../java/security/key/rsa/RSAKeyPairRawCodec.java | 4 +- .../java/security/util/ByteBufferOutputStream.java | 118 + .../classpath/gnu/java/util/DoubleEnumeration.java | 12 +- .../gnu/java/util/prefs/GConfBasedPreferences.java | 27 +- .../gnu/java/util/prefs/gconf/GConfNativePeer.java | 53 +- .../classpath/gnu/java/util/regex/CharIndexed.java | 17 + .../java/util/regex/CharIndexedCharSequence.java | 13 + .../java/util/regex/CharIndexedInputStream.java | 14 + libjava/classpath/gnu/java/util/regex/RE.java | 34 +- libjava/classpath/gnu/java/util/regex/REMatch.java | 4 +- .../classpath/gnu/java/util/regex/RESyntax.java | 11 +- libjava/classpath/gnu/java/util/regex/REToken.java | 15 + .../classpath/gnu/java/util/regex/RETokenChar.java | 12 +- .../classpath/gnu/java/util/regex/RETokenEnd.java | 15 + .../gnu/java/util/regex/RETokenEndSub.java | 4 + .../gnu/java/util/regex/RETokenNamedProperty.java | 8 + .../gnu/java/util/regex/RETokenOneOf.java | 1 + .../gnu/java/util/regex/RETokenRepeated.java | 199 +- .../classpath/gnu/javax/crypto/RSACipherImpl.java | 67 +- .../gnu/javax/crypto/jce/cipher/CipherAdapter.java | 39 +- .../classpath/gnu/javax/crypto/key/GnuPBEKey.java | 95 + libjava/classpath/gnu/javax/crypto/pad/PKCS7.java | 4 +- libjava/classpath/gnu/javax/management/Server.java | 2200 ++++ .../gnu/javax/naming/giop/ContextContinuation.java | 956 ++ .../gnu/javax/naming/giop/CorbalocParser.java | 439 + .../javax/naming/giop/GiopNamingEnumeration.java | 187 + .../naming/giop/GiopNamingServiceFactory.java | 177 + .../naming/giop/GiopNamingServiceURLContext.java | 840 ++ .../javax/naming/giop/ListBindingsEnumeration.java | 116 + .../gnu/javax/naming/giop/ListEnumeration.java | 116 + .../gnu/javax/naming/ictxImpl/trans/GnuName.java | 467 + .../url/corbaname/corbanameURLContextFactory.java | 53 + .../naming/jndi/url/rmi/ContextContinuation.java | 597 + .../jndi/url/rmi/ListBindingsEnumeration.java | 97 + .../javax/naming/jndi/url/rmi/ListEnumeration.java | 80 + .../javax/naming/jndi/url/rmi/RmiContinuation.java | 594 + .../naming/jndi/url/rmi/RmiNamingEnumeration.java | 130 + .../javax/naming/jndi/url/rmi/rmiURLContext.java | 637 + .../naming/jndi/url/rmi/rmiURLContextFactory.java | 66 + .../gnu/javax/net/ssl/AbstractSessionContext.java | 288 + .../gnu/javax/net/ssl/PreSharedKeyManager.java | 54 + .../net/ssl/PreSharedKeyManagerParameters.java | 83 + .../gnu/javax/net/ssl/PrivateCredentials.java | 16 +- .../gnu/javax/net/ssl/SSLCipherSuite.java | 142 + .../gnu/javax/net/ssl/SSLProtocolVersion.java | 54 + .../gnu/javax/net/ssl/SSLRecordHandler.java | 101 + libjava/classpath/gnu/javax/net/ssl/Session.java | 364 + .../gnu/javax/net/ssl/SessionStoreException.java | 59 + .../javax/net/ssl/provider/AbstractHandshake.java | 1205 ++ .../gnu/javax/net/ssl/provider/Alert.java | 422 +- .../gnu/javax/net/ssl/provider/AlertException.java | 37 +- .../gnu/javax/net/ssl/provider/Builder.java | 66 + .../gnu/javax/net/ssl/provider/Certificate.java | 205 +- .../javax/net/ssl/provider/CertificateBuilder.java | 94 + .../javax/net/ssl/provider/CertificateRequest.java | 226 +- .../ssl/provider/CertificateRequestBuilder.java | 113 + .../net/ssl/provider/CertificateStatusRequest.java | 272 + .../net/ssl/provider/CertificateStatusType.java | 13 + .../javax/net/ssl/provider/CertificateType.java | 56 +- .../gnu/javax/net/ssl/provider/CertificateURL.java | 388 + .../javax/net/ssl/provider/CertificateVerify.java | 54 +- .../javax/net/ssl/provider/CipherAlgorithm.java | 47 + .../gnu/javax/net/ssl/provider/CipherSuite.java | 1193 +- .../javax/net/ssl/provider/CipherSuiteList.java | 283 + .../ssl/provider/ClientCertificateTypeList.java | 227 + .../net/ssl/provider/ClientDHE_PSKParameters.java | 122 + .../ssl/provider/ClientDiffieHellmanPublic.java | 129 + .../javax/net/ssl/provider/ClientHandshake.java | 1150 ++ .../gnu/javax/net/ssl/provider/ClientHello.java | 315 +- .../javax/net/ssl/provider/ClientHelloBuilder.java | 137 + .../gnu/javax/net/ssl/provider/ClientHelloV2.java | 158 + .../javax/net/ssl/provider/ClientKeyExchange.java | 163 +- .../net/ssl/provider/ClientKeyExchangeBuilder.java | 75 + .../net/ssl/provider/ClientPSKParameters.java | 125 + .../net/ssl/provider/ClientRSA_PSKParameters.java | 126 + .../javax/net/ssl/provider/CompressionMethod.java | 51 +- .../net/ssl/provider/CompressionMethodList.java | 281 + .../gnu/javax/net/ssl/provider/Constructed.java | 47 +- .../gnu/javax/net/ssl/provider/ContentType.java | 72 +- .../gnu/javax/net/ssl/provider/Context.java | 334 - .../gnu/javax/net/ssl/provider/Debug.java | 66 + .../gnu/javax/net/ssl/provider/DelegatedTask.java | 93 + .../gnu/javax/net/ssl/provider/DiffieHellman.java | 6 +- .../javax/net/ssl/provider/DigestInputStream.java | 103 - .../javax/net/ssl/provider/DigestOutputStream.java | 107 - .../javax/net/ssl/provider/EmptyExchangeKeys.java | 77 + .../net/ssl/provider/EncryptedPreMasterSecret.java | 151 + .../gnu/javax/net/ssl/provider/Enumerated.java | 79 - .../gnu/javax/net/ssl/provider/ExchangeKeys.java | 54 + .../gnu/javax/net/ssl/provider/Extension.java | 260 +- .../gnu/javax/net/ssl/provider/ExtensionList.java | 290 + .../gnu/javax/net/ssl/provider/Extensions.java | 159 - .../gnu/javax/net/ssl/provider/Finished.java | 146 +- .../net/ssl/provider/GNUSecurityParameters.java | 490 - .../gnu/javax/net/ssl/provider/Handshake.java | 472 +- .../gnu/javax/net/ssl/provider/HelloRequest.java | 70 + .../net/ssl/provider/InputSecurityParameters.java | 336 + .../net/ssl/provider/JCESecurityParameters.java | 307 - .../javax/net/ssl/provider/JDBCSessionContext.java | 356 - .../gnu/javax/net/ssl/provider/Jessie.java | 35 +- .../javax/net/ssl/provider/JessieDHPrivateKey.java | 99 - .../javax/net/ssl/provider/JessieDHPublicKey.java | 99 - .../net/ssl/provider/JessieRSAPrivateKey.java | 98 - .../javax/net/ssl/provider/JessieRSAPublicKey.java | 98 - .../net/ssl/provider/KeyExchangeAlgorithm.java | 57 + .../gnu/javax/net/ssl/provider/KeyPool.java | 110 - .../gnu/javax/net/ssl/provider/MacAlgorithm.java | 47 + .../javax/net/ssl/provider/MaxFragmentLength.java | 59 + .../net/ssl/provider/OutputSecurityParameters.java | 297 + .../javax/net/ssl/provider/OverflowException.java | 57 - .../provider/PreSharedKeyManagerFactoryImpl.java | 118 + .../javax/net/ssl/provider/ProtocolVersion.java | 73 +- .../gnu/javax/net/ssl/provider/Random.java | 112 +- .../gnu/javax/net/ssl/provider/Record.java | 198 + .../gnu/javax/net/ssl/provider/RecordInput.java | 232 - .../javax/net/ssl/provider/RecordInputStream.java | 106 - .../javax/net/ssl/provider/RecordOutputStream.java | 189 - .../net/ssl/provider/RecordingInputStream.java | 131 - .../gnu/javax/net/ssl/provider/SSLContextImpl.java | 315 + .../gnu/javax/net/ssl/provider/SSLEngineImpl.java | 842 ++ .../javax/net/ssl/provider/SSLRSASignature.java | 235 - .../net/ssl/provider/SSLRSASignatureImpl.java | 233 + .../javax/net/ssl/provider/SSLServerSocket.java | 283 - .../net/ssl/provider/SSLServerSocketFactory.java | 136 - .../ssl/provider/SSLServerSocketFactoryImpl.java | 108 + .../net/ssl/provider/SSLServerSocketImpl.java | 199 + .../gnu/javax/net/ssl/provider/SSLSocket.java | 3515 ------ .../javax/net/ssl/provider/SSLSocketFactory.java | 133 - .../net/ssl/provider/SSLSocketFactoryImpl.java | 137 + .../gnu/javax/net/ssl/provider/SSLSocketImpl.java | 833 ++ .../net/ssl/provider/SSLSocketInputStream.java | 181 - .../net/ssl/provider/SSLSocketOutputStream.java | 115 - .../javax/net/ssl/provider/SSLv3HMacMD5Impl.java | 116 + .../javax/net/ssl/provider/SSLv3HMacSHAImpl.java | 116 + .../javax/net/ssl/provider/SecurityParameters.java | 178 - .../net/ssl/provider/ServerDHE_PSKParameters.java | 151 + .../gnu/javax/net/ssl/provider/ServerDHParams.java | 248 + .../javax/net/ssl/provider/ServerHandshake.java | 1377 ++ .../gnu/javax/net/ssl/provider/ServerHello.java | 271 +- .../javax/net/ssl/provider/ServerHelloBuilder.java | 131 + .../javax/net/ssl/provider/ServerHelloDone.java | 66 + .../javax/net/ssl/provider/ServerKeyExchange.java | 311 +- .../net/ssl/provider/ServerKeyExchangeBuilder.java | 89 + .../net/ssl/provider/ServerKeyExchangeParams.java | 50 + .../gnu/javax/net/ssl/provider/ServerNameList.java | 311 + .../net/ssl/provider/ServerPSKParameters.java | 127 + .../javax/net/ssl/provider/ServerRSAParams.java | 163 + .../net/ssl/provider/ServerRSA_PSKParameters.java | 62 + .../gnu/javax/net/ssl/provider/Session.java | 381 - .../gnu/javax/net/ssl/provider/SessionContext.java | 250 - .../gnu/javax/net/ssl/provider/SessionImpl.java | 198 + .../gnu/javax/net/ssl/provider/Signature.java | 140 +- .../javax/net/ssl/provider/SignatureAlgorithm.java | 62 + .../net/ssl/provider/SimpleSessionContext.java | 146 + .../javax/net/ssl/provider/SynchronizedRandom.java | 104 - .../gnu/javax/net/ssl/provider/TruncatedHMAC.java | 76 + .../javax/net/ssl/provider/TrustedAuthorities.java | 298 + .../net/ssl/provider/UnresolvedExtensionValue.java | 83 + .../classpath/gnu/javax/net/ssl/provider/Util.java | 109 +- .../javax/net/ssl/provider/X500PrincipalList.java | 272 + .../net/ssl/provider/X509KeyManagerFactory.java | 95 +- .../net/ssl/provider/X509TrustManagerFactory.java | 147 +- .../javax/net/ssl/provider/XMLSessionContext.java | 619 - .../gnu/javax/rmi/CORBA/UtilDelegateImpl.java | 30 +- .../auth/callback/AbstractCallbackHandler.java | 97 +- .../auth/callback/CertificateCallback.java | 64 + .../gnu/javax/swing/text/html/css/BorderStyle.java | 64 + .../gnu/javax/swing/text/html/css/BorderWidth.java | 78 + .../gnu/javax/swing/text/html/css/CSSColor.java | 170 + .../swing/text/html/css/CSSLexicalException.java | 60 + .../gnu/javax/swing/text/html/css/CSSParser.java | 500 + .../swing/text/html/css/CSSParserCallback.java | 81 + .../swing/text/html/css/CSSParserException.java | 62 + .../gnu/javax/swing/text/html/css/CSSScanner.java | 718 ++ .../gnu/javax/swing/text/html/css/FontSize.java | 273 + .../gnu/javax/swing/text/html/css/FontStyle.java | 80 + .../gnu/javax/swing/text/html/css/FontWeight.java | 84 + .../gnu/javax/swing/text/html/css/Length.java | 283 + .../gnu/javax/swing/text/html/css/Selector.java | 244 + .../swing/text/html/parser/GnuParserDelegator.java | 3 +- .../javax/swing/text/html/parser/HTML_401F.java | 4 +- .../swing/text/html/parser/HTML_401Swing.java | 91 - .../swing/text/html/parser/htmlValidator.java | 5 +- .../swing/text/html/parser/support/Parser.java | 70 +- .../text/html/parser/support/low/Constants.java | 11 + .../text/html/parser/support/textPreProcessor.java | 38 +- libjava/classpath/gnu/test/.cvsignore | 1 + libjava/classpath/gnu/xml/dom/DomAttr.java | 2 +- libjava/classpath/gnu/xml/dom/DomNode.java | 3 +- libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java | 8 +- libjava/classpath/gnu/xml/stream/SAXParser.java | 15 +- .../gnu/xml/stream/XMLStreamWriterImpl.java | 6 +- .../gnu/xml/transform/SAXTemplatesHandler.java | 97 + .../gnu/xml/transform/SAXTransformerHandler.java | 111 + .../gnu/xml/transform/StreamSerializer.java | 3 +- .../gnu/xml/transform/TransformerFactoryImpl.java | 52 +- .../gnu/xml/transform/XSLURIResolver.java | 21 +- libjava/classpath/gnu/xml/xpath/Expr.java | 35 + libjava/classpath/include/.cvsignore | 9 + .../classpath/include/GtkDragSourceContextPeer.h | 2 +- libjava/classpath/include/Makefile.am | 20 +- libjava/classpath/include/Makefile.in | 31 +- libjava/classpath/include/config.h.in | 84 + .../gnu_java_awt_peer_gtk_CairoGraphics2D.h | 18 +- .../include/gnu_java_awt_peer_gtk_CairoSurface.h | 2 +- .../include/gnu_java_awt_peer_gtk_GdkFontPeer.h | 16 + .../include/gnu_java_awt_peer_gtk_GtkChoicePeer.h | 6 +- .../include/gnu_java_awt_peer_gtk_GtkFramePeer.h | 4 + .../include/gnu_java_awt_peer_gtk_GtkToolkit.h | 3 +- .../gnu_java_net_VMPlainDatagramSocketImpl.h | 30 - .../include/gnu_java_net_VMPlainSocketImpl.h | 34 +- .../include/gnu_java_nio_EpollSelectorImpl.h | 37 + .../include/gnu_java_nio_FileChannelImpl.h | 30 + .../include/gnu_java_nio_KqueueSelectorImpl.h | 39 + libjava/classpath/include/gnu_java_nio_VMChannel.h | 34 +- libjava/classpath/include/gnu_java_nio_VMPipe.h | 2 +- .../gnu_java_nio_channels_FileChannelImpl.h | 46 - .../gnu_java_util_prefs_gconf_GConfNativePeer.h | 6 +- libjava/classpath/include/java_net_VMInetAddress.h | 1 + .../include/java_net_VMNetworkInterface.h | 3 +- libjava/classpath/java/applet/AppletContext.java | 8 +- libjava/classpath/java/awt/AWTEvent.java | 5 + .../classpath/java/awt/AWTEventMulticaster.java | 7 +- libjava/classpath/java/awt/AWTKeyStroke.java | 18 +- libjava/classpath/java/awt/BasicStroke.java | 164 +- libjava/classpath/java/awt/Button.java | 6 +- libjava/classpath/java/awt/CardLayout.java | 25 +- libjava/classpath/java/awt/CheckboxMenuItem.java | 4 +- libjava/classpath/java/awt/Choice.java | 27 +- libjava/classpath/java/awt/Color.java | 33 +- libjava/classpath/java/awt/Component.java | 824 +- libjava/classpath/java/awt/Container.java | 346 +- libjava/classpath/java/awt/Dialog.java | 21 + libjava/classpath/java/awt/EventQueue.java | 394 +- libjava/classpath/java/awt/FileDialog.java | 28 +- libjava/classpath/java/awt/FlowLayout.java | 5 +- libjava/classpath/java/awt/Font.java | 34 +- libjava/classpath/java/awt/Frame.java | 36 +- libjava/classpath/java/awt/Graphics2D.java | 6 +- libjava/classpath/java/awt/GridBagLayout.java | 34 +- libjava/classpath/java/awt/GridLayout.java | 2 +- .../classpath/java/awt/KeyboardFocusManager.java | 16 +- .../classpath/java/awt/LightweightDispatcher.java | 384 +- libjava/classpath/java/awt/List.java | 1765 ++- libjava/classpath/java/awt/Menu.java | 641 +- libjava/classpath/java/awt/MenuBar.java | 2 +- libjava/classpath/java/awt/MenuItem.java | 6 +- libjava/classpath/java/awt/MenuShortcut.java | 233 +- libjava/classpath/java/awt/Rectangle.java | 22 +- libjava/classpath/java/awt/RenderingHints.java | 13 +- libjava/classpath/java/awt/ScrollPane.java | 62 +- .../classpath/java/awt/ScrollPaneAdjustable.java | 47 +- libjava/classpath/java/awt/Scrollbar.java | 72 +- libjava/classpath/java/awt/TextArea.java | 68 +- libjava/classpath/java/awt/TextComponent.java | 6 +- libjava/classpath/java/awt/TextField.java | 14 +- libjava/classpath/java/awt/Toolkit.java | 39 +- libjava/classpath/java/awt/Window.java | 216 +- .../java/awt/datatransfer/DataFlavor.java | 291 +- .../classpath/java/awt/datatransfer/FlavorMap.java | 4 +- .../java/awt/datatransfer/FlavorTable.java | 4 +- .../classpath/java/awt/datatransfer/MimeType.java | 281 + .../java/awt/datatransfer/SystemFlavorMap.java | 12 +- .../classpath/java/awt/dnd/DragGestureEvent.java | 14 +- .../java/awt/dnd/DragGestureRecognizer.java | 16 +- libjava/classpath/java/awt/dnd/DragSource.java | 36 +- .../classpath/java/awt/dnd/DragSourceContext.java | 46 +- libjava/classpath/java/awt/dnd/DropTarget.java | 143 +- .../classpath/java/awt/dnd/DropTargetContext.java | 23 +- .../java/awt/dnd/DropTargetDragEvent.java | 5 +- .../java/awt/dnd/DropTargetDropEvent.java | 4 +- .../classpath/java/awt/dnd/DropTargetEvent.java | 4 + .../classpath/java/awt/event/ComponentEvent.java | 39 +- .../classpath/java/awt/font/FontRenderContext.java | 8 +- libjava/classpath/java/awt/font/TextHitInfo.java | 5 +- libjava/classpath/java/awt/font/TextLayout.java | 1015 +- .../classpath/java/awt/geom/AffineTransform.java | 16 +- libjava/classpath/java/awt/geom/Arc2D.java | 44 +- libjava/classpath/java/awt/geom/GeneralPath.java | 39 +- .../classpath/java/awt/geom/RectangularShape.java | 5 +- .../classpath/java/awt/geom/RoundRectangle2D.java | 415 +- libjava/classpath/java/awt/im/InputContext.java | 12 +- .../java/awt/im/InputMethodHighlight.java | 7 +- .../java/awt/im/spi/InputMethodContext.java | 3 +- .../java/awt/image/AffineTransformOp.java | 513 +- .../classpath/java/awt/image/BandCombineOp.java | 128 +- .../classpath/java/awt/image/BufferedImage.java | 361 +- .../classpath/java/awt/image/ColorConvertOp.java | 443 +- libjava/classpath/java/awt/image/ColorModel.java | 40 +- .../java/awt/image/ComponentColorModel.java | 31 +- libjava/classpath/java/awt/image/ConvolveOp.java | 131 +- .../classpath/java/awt/image/CropImageFilter.java | 9 +- .../classpath/java/awt/image/DirectColorModel.java | 16 +- .../classpath/java/awt/image/ImageConsumer.java | 2 +- libjava/classpath/java/awt/image/ImageFilter.java | 350 +- .../classpath/java/awt/image/IndexColorModel.java | 62 +- libjava/classpath/java/awt/image/LookupOp.java | 141 +- .../java/awt/image/MemoryImageSource.java | 76 +- libjava/classpath/java/awt/image/PixelGrabber.java | 4 +- .../classpath/java/awt/image/RGBImageFilter.java | 416 +- libjava/classpath/java/awt/image/Raster.java | 7 +- .../classpath/java/awt/image/RenderedImage.java | 2 +- .../java/awt/image/ReplicateScaleFilter.java | 153 +- libjava/classpath/java/awt/image/RescaleOp.java | 293 +- libjava/classpath/java/awt/image/SampleModel.java | 29 +- .../awt/image/SinglePixelPackedSampleModel.java | 121 +- .../classpath/java/awt/image/WritableRaster.java | 24 +- .../java/awt/image/renderable/ParameterBlock.java | 24 +- .../java/awt/image/renderable/RenderableImage.java | 2 +- .../awt/image/renderable/RenderableImageOp.java | 2 +- libjava/classpath/java/beans/BeanDescriptor.java | 12 +- libjava/classpath/java/beans/Beans.java | 4 +- .../java/beans/DefaultPersistenceDelegate.java | 4 +- libjava/classpath/java/beans/DesignMode.java | 84 +- libjava/classpath/java/beans/Encoder.java | 5 +- libjava/classpath/java/beans/EventHandler.java | 18 +- .../classpath/java/beans/EventSetDescriptor.java | 20 +- .../classpath/java/beans/FeatureDescriptor.java | 6 +- .../java/beans/IndexedPropertyDescriptor.java | 8 +- libjava/classpath/java/beans/Introspector.java | 13 +- .../classpath/java/beans/PersistenceDelegate.java | 4 +- .../classpath/java/beans/PropertyDescriptor.java | 18 +- .../java/beans/PropertyEditorManager.java | 7 +- libjava/classpath/java/beans/SimpleBeanInfo.java | 15 +- libjava/classpath/java/beans/Statement.java | 22 +- .../beancontext/BeanContextServicesSupport.java | 616 +- .../java/beans/beancontext/BeanContextSupport.java | 408 +- libjava/classpath/java/io/CharArrayWriter.java | 6 +- libjava/classpath/java/io/DeleteFileHelper.java | 13 +- libjava/classpath/java/io/File.java | 107 +- libjava/classpath/java/io/FileDescriptor.java | 7 +- libjava/classpath/java/io/FileInputStream.java | 20 +- libjava/classpath/java/io/FileOutputStream.java | 26 +- libjava/classpath/java/io/InputStreamReader.java | 62 +- libjava/classpath/java/io/ObjectInputStream.java | 136 +- libjava/classpath/java/io/ObjectOutputStream.java | 365 +- libjava/classpath/java/io/ObjectStreamClass.java | 463 +- libjava/classpath/java/io/ObjectStreamField.java | 47 +- libjava/classpath/java/io/OutputStreamWriter.java | 6 + libjava/classpath/java/io/PipedInputStream.java | 4 + libjava/classpath/java/io/PipedReader.java | 4 + libjava/classpath/java/io/PrintStream.java | 56 +- libjava/classpath/java/io/PrintWriter.java | 52 +- libjava/classpath/java/io/RandomAccessFile.java | 19 +- libjava/classpath/java/io/Reader.java | 19 +- libjava/classpath/java/io/SequenceInputStream.java | 26 +- libjava/classpath/java/io/StringWriter.java | 21 + libjava/classpath/java/io/Writer.java | 23 +- libjava/classpath/java/io/class-dependencies.conf | 100 + libjava/classpath/java/lang/Boolean.java | 16 +- libjava/classpath/java/lang/Byte.java | 34 +- libjava/classpath/java/lang/Character.java | 246 +- libjava/classpath/java/lang/Class.java | 136 +- libjava/classpath/java/lang/ClassLoader.java | 71 +- libjava/classpath/java/lang/Comparable.java | 8 +- libjava/classpath/java/lang/Compiler.java | 2 +- libjava/classpath/java/lang/Deprecated.java | 56 + libjava/classpath/java/lang/Double.java | 27 +- libjava/classpath/java/lang/Enum.java | 43 +- .../java/lang/EnumConstantNotPresentException.java | 7 +- libjava/classpath/java/lang/Float.java | 27 +- .../java/lang/InheritableThreadLocal.java | 19 +- libjava/classpath/java/lang/Integer.java | 23 +- libjava/classpath/java/lang/Iterable.java | 4 +- libjava/classpath/java/lang/Long.java | 25 +- libjava/classpath/java/lang/Object.java | 2 +- libjava/classpath/java/lang/Override.java | 56 + libjava/classpath/java/lang/Package.java | 14 +- libjava/classpath/java/lang/ProcessBuilder.java | 337 + libjava/classpath/java/lang/SecurityManager.java | 6 +- libjava/classpath/java/lang/Short.java | 33 +- libjava/classpath/java/lang/StrictMath.java | 226 +- libjava/classpath/java/lang/String.java | 48 +- libjava/classpath/java/lang/StringBuffer.java | 120 +- libjava/classpath/java/lang/StringBuilder.java | 3 +- libjava/classpath/java/lang/SuppressWarnings.java | 69 + libjava/classpath/java/lang/System.java | 488 +- libjava/classpath/java/lang/Thread.java | 93 +- libjava/classpath/java/lang/ThreadLocal.java | 24 +- libjava/classpath/java/lang/Void.java | 6 +- .../classpath/java/lang/annotation/Annotation.java | 3 +- .../classpath/java/lang/annotation/Documented.java | 50 + .../java/lang/annotation/ElementType.java | 59 + .../annotation/IncompleteAnnotationException.java | 7 +- .../classpath/java/lang/annotation/Inherited.java | 51 + .../classpath/java/lang/annotation/Retention.java | 59 + .../java/lang/annotation/RetentionPolicy.java | 66 + libjava/classpath/java/lang/annotation/Target.java | 52 + .../classpath/java/lang/class-dependencies.conf | 58 + .../java/lang/instrument/ClassDefinition.java | 6 +- .../java/lang/instrument/ClassFileTransformer.java | 3 +- .../java/lang/management/ManagementFactory.java | 233 +- .../java/lang/management/MemoryPoolMXBean.java | 2 +- .../classpath/java/lang/management/MemoryType.java | 51 + .../java/lang/management/RuntimeMXBean.java | 4 +- .../classpath/java/lang/management/ThreadInfo.java | 26 +- .../classpath/java/lang/ref/PhantomReference.java | 10 +- libjava/classpath/java/lang/ref/Reference.java | 23 +- .../classpath/java/lang/ref/ReferenceQueue.java | 65 +- libjava/classpath/java/lang/ref/SoftReference.java | 12 +- libjava/classpath/java/lang/ref/WeakReference.java | 10 +- .../java/lang/reflect/AccessibleObject.java | 6 +- .../java/lang/reflect/AnnotatedElement.java | 6 +- libjava/classpath/java/lang/reflect/Array.java | 4 +- .../java/lang/reflect/GenericDeclaration.java | 3 +- libjava/classpath/java/lang/reflect/Proxy.java | 10 +- .../classpath/java/lang/reflect/TypeVariable.java | 7 +- libjava/classpath/java/math/BigDecimal.java | 67 +- libjava/classpath/java/math/BigInteger.java | 78 +- libjava/classpath/java/math/MathContext.java | 64 +- libjava/classpath/java/math/RoundingMode.java | 89 + .../classpath/java/math/class-dependencies.conf | 58 + libjava/classpath/java/net/DatagramSocket.java | 43 +- libjava/classpath/java/net/Inet6Address.java | 2 +- libjava/classpath/java/net/InetAddress.java | 8 +- libjava/classpath/java/net/MulticastSocket.java | 46 +- libjava/classpath/java/net/NetworkInterface.java | 172 +- libjava/classpath/java/net/Proxy.java | 137 + libjava/classpath/java/net/ProxySelector.java | 117 + libjava/classpath/java/net/ServerSocket.java | 109 +- libjava/classpath/java/net/Socket.java | 118 +- libjava/classpath/java/net/URI.java | 10 +- libjava/classpath/java/net/URL.java | 32 +- libjava/classpath/java/net/URLClassLoader.java | 6 +- libjava/classpath/java/net/URLConnection.java | 66 +- libjava/classpath/java/net/class-dependencies.conf | 122 + libjava/classpath/java/nio/ByteBuffer.java | 10 +- libjava/classpath/java/nio/CharBuffer.java | 45 +- .../classpath/java/nio/DirectByteBufferImpl.java | 2 +- libjava/classpath/java/nio/DoubleBuffer.java | 10 +- libjava/classpath/java/nio/FloatBuffer.java | 10 +- libjava/classpath/java/nio/IntBuffer.java | 10 +- libjava/classpath/java/nio/LongBuffer.java | 10 +- libjava/classpath/java/nio/ShortBuffer.java | 10 +- libjava/classpath/java/nio/channels/Channel.java | 5 +- libjava/classpath/java/nio/channels/Selector.java | 4 +- .../channels/spi/AbstractSelectableChannel.java | 15 +- .../java/nio/channels/spi/AbstractSelector.java | 8 +- libjava/classpath/java/nio/charset/Charset.java | 23 +- .../java/nio/charset/spi/CharsetProvider.java | 4 +- libjava/classpath/java/nio/class-dependencies.conf | 58 + .../classpath/java/rmi/server/LoaderHandler.java | 5 +- .../classpath/java/rmi/server/RMIClassLoader.java | 17 +- .../java/rmi/server/RMIClassLoaderSpi.java | 10 +- .../java/security/AccessControlContext.java | 22 +- .../classpath/java/security/AccessController.java | 12 +- .../java/security/AlgorithmParameterGenerator.java | 100 +- .../java/security/AlgorithmParameters.java | 125 +- .../java/security/AlgorithmParametersSpi.java | 4 +- libjava/classpath/java/security/IdentityScope.java | 2 +- libjava/classpath/java/security/KeyFactory.java | 101 +- libjava/classpath/java/security/KeyFactorySpi.java | 7 +- .../classpath/java/security/KeyPairGenerator.java | 91 +- libjava/classpath/java/security/KeyStore.java | 134 +- libjava/classpath/java/security/KeyStoreSpi.java | 2 +- libjava/classpath/java/security/MessageDigest.java | 121 +- .../classpath/java/security/MessageDigestSpi.java | 19 + .../java/security/PermissionCollection.java | 4 +- libjava/classpath/java/security/Permissions.java | 2 +- .../classpath/java/security/PrivilegedAction.java | 6 +- .../java/security/PrivilegedExceptionAction.java | 6 +- .../classpath/java/security/SecureClassLoader.java | 55 +- libjava/classpath/java/security/SecureRandom.java | 126 +- libjava/classpath/java/security/Security.java | 12 +- libjava/classpath/java/security/Signature.java | 122 +- libjava/classpath/java/security/SignatureSpi.java | 19 + libjava/classpath/java/security/acl/Acl.java | 4 +- libjava/classpath/java/security/acl/AclEntry.java | 6 +- libjava/classpath/java/security/acl/Group.java | 4 +- libjava/classpath/java/security/cert/CertPath.java | 4 +- .../java/security/cert/CertPathBuilder.java | 113 +- .../java/security/cert/CertPathValidator.java | 103 +- .../classpath/java/security/cert/CertStore.java | 121 +- .../classpath/java/security/cert/CertStoreSpi.java | 6 +- .../java/security/cert/CertificateFactory.java | 136 +- .../java/security/cert/CertificateFactorySpi.java | 10 +- .../cert/CollectionCertStoreParameters.java | 5 +- .../java/security/cert/PKIXBuilderParameters.java | 4 +- .../java/security/cert/PKIXCertPathChecker.java | 5 +- .../java/security/cert/PKIXParameters.java | 19 +- .../classpath/java/security/cert/PolicyNode.java | 12 +- .../java/security/cert/PolicyQualifierInfo.java | 5 +- libjava/classpath/java/security/cert/X509CRL.java | 4 +- .../java/security/cert/X509CRLSelector.java | 5 +- .../java/security/cert/X509CertSelector.java | 17 +- .../java/security/cert/X509Certificate.java | 9 +- .../java/security/cert/X509Extension.java | 6 +- libjava/classpath/java/sql/Array.java | 13 +- libjava/classpath/java/sql/CallableStatement.java | 4 +- libjava/classpath/java/sql/Connection.java | 4 +- libjava/classpath/java/sql/DriverManager.java | 2 +- libjava/classpath/java/sql/Ref.java | 2 +- libjava/classpath/java/sql/ResultSet.java | 6 +- libjava/classpath/java/sql/Struct.java | 2 +- libjava/classpath/java/sql/Timestamp.java | 4 +- .../java/text/AttributedCharacterIterator.java | 29 +- libjava/classpath/java/text/AttributedString.java | 81 +- .../java/text/AttributedStringIterator.java | 27 +- libjava/classpath/java/text/Bidi.java | 3 +- libjava/classpath/java/text/CollationKey.java | 17 +- libjava/classpath/java/text/Collator.java | 2 +- libjava/classpath/java/text/DecimalFormat.java | 3047 +++-- .../classpath/java/text/DecimalFormatSymbols.java | 4 +- libjava/classpath/java/text/MessageFormat.java | 2 +- libjava/classpath/java/text/NumberFormat.java | 21 +- libjava/classpath/java/text/SimpleDateFormat.java | 20 +- libjava/classpath/java/util/.cvsignore | 1 + .../classpath/java/util/AbstractCollection.java | 48 +- libjava/classpath/java/util/AbstractList.java | 466 +- libjava/classpath/java/util/AbstractMap.java | 211 +- .../java/util/AbstractSequentialList.java | 30 +- libjava/classpath/java/util/AbstractSet.java | 33 +- libjava/classpath/java/util/ArrayList.java | 55 +- libjava/classpath/java/util/Arrays.java | 41 +- libjava/classpath/java/util/BitSet.java | 11 + libjava/classpath/java/util/Calendar.java | 61 +- libjava/classpath/java/util/Collection.java | 22 +- libjava/classpath/java/util/Collections.java | 2685 +++- libjava/classpath/java/util/Comparator.java | 6 +- libjava/classpath/java/util/Date.java | 20 +- libjava/classpath/java/util/Dictionary.java | 14 +- libjava/classpath/java/util/EnumMap.java | 394 + libjava/classpath/java/util/EnumSet.java | 365 + libjava/classpath/java/util/Enumeration.java | 7 +- libjava/classpath/java/util/Formatter.java | 222 +- libjava/classpath/java/util/GregorianCalendar.java | 3 +- libjava/classpath/java/util/HashMap.java | 138 +- libjava/classpath/java/util/HashSet.java | 22 +- libjava/classpath/java/util/Hashtable.java | 349 +- libjava/classpath/java/util/IdentityHashMap.java | 288 +- .../util/IllegalFormatConversionException.java | 6 +- libjava/classpath/java/util/Iterator.java | 6 +- libjava/classpath/java/util/LinkedHashMap.java | 26 +- libjava/classpath/java/util/LinkedHashSet.java | 13 +- libjava/classpath/java/util/LinkedList.java | 191 +- libjava/classpath/java/util/List.java | 34 +- libjava/classpath/java/util/ListIterator.java | 12 +- .../classpath/java/util/ListResourceBundle.java | 8 +- libjava/classpath/java/util/Locale.java | 24 +- libjava/classpath/java/util/Map.java | 24 +- libjava/classpath/java/util/PriorityQueue.java | 335 + libjava/classpath/java/util/Properties.java | 5 +- .../java/util/PropertyResourceBundle.java | 10 +- libjava/classpath/java/util/ResourceBundle.java | 136 +- libjava/classpath/java/util/Set.java | 19 +- libjava/classpath/java/util/SortedMap.java | 16 +- libjava/classpath/java/util/SortedSet.java | 16 +- libjava/classpath/java/util/Stack.java | 13 +- libjava/classpath/java/util/StringTokenizer.java | 2 +- libjava/classpath/java/util/Timer.java | 86 +- libjava/classpath/java/util/TreeMap.java | 234 +- libjava/classpath/java/util/TreeSet.java | 73 +- libjava/classpath/java/util/UUID.java | 13 +- libjava/classpath/java/util/Vector.java | 84 +- libjava/classpath/java/util/WeakHashMap.java | 54 +- .../classpath/java/util/class-dependencies.conf | 78 + .../java/util/concurrent/CopyOnWriteArrayList.java | 490 + libjava/classpath/java/util/jar/Attributes.java | 14 +- libjava/classpath/java/util/jar/JarEntry.java | 29 +- libjava/classpath/java/util/jar/JarFile.java | 212 +- libjava/classpath/java/util/jar/Manifest.java | 10 +- .../classpath/java/util/logging/LogManager.java | 69 +- .../classpath/java/util/logging/LoggingMXBean.java | 2 +- libjava/classpath/java/util/prefs/Preferences.java | 4 +- libjava/classpath/java/util/regex/Matcher.java | 27 +- libjava/classpath/java/util/zip/Deflater.java | 24 +- .../classpath/java/util/zip/DeflaterEngine.java | 6 +- libjava/classpath/java/util/zip/Inflater.java | 26 +- libjava/classpath/java/util/zip/ZipFile.java | 137 +- .../javax/accessibility/AccessibleRelationSet.java | 3 +- .../javax/accessibility/AccessibleStateSet.java | 2 +- libjava/classpath/javax/crypto/Cipher.java | 199 +- .../classpath/javax/crypto/CipherOutputStream.java | 180 +- .../classpath/javax/crypto/ExemptionMechanism.java | 117 +- libjava/classpath/javax/crypto/KeyAgreement.java | 116 +- libjava/classpath/javax/crypto/KeyGenerator.java | 114 +- libjava/classpath/javax/crypto/Mac.java | 131 +- libjava/classpath/javax/crypto/MacSpi.java | 18 + .../classpath/javax/crypto/SecretKeyFactory.java | 108 +- libjava/classpath/javax/imageio/IIOImage.java | 13 +- libjava/classpath/javax/imageio/ImageIO.java | 128 +- libjava/classpath/javax/imageio/ImageReader.java | 18 +- libjava/classpath/javax/imageio/ImageWriter.java | 11 +- .../javax/imageio/metadata/IIOMetadataFormat.java | 6 +- .../imageio/metadata/IIOMetadataFormatImpl.java | 33 +- .../classpath/javax/imageio/spi/IIORegistry.java | 3 - .../javax/imageio/spi/IIOServiceProvider.java | 4 +- .../javax/imageio/spi/ImageInputStreamSpi.java | 6 +- .../javax/imageio/spi/ImageOutputStreamSpi.java | 6 +- .../javax/imageio/spi/RegisterableService.java | 4 +- .../javax/imageio/spi/ServiceRegistry.java | 47 +- .../management/BadAttributeValueExpException.java | 91 + .../management/BadBinaryOpValueExpException.java | 102 + .../management/BadStringOperationException.java | 92 + .../management/InstanceAlreadyExistsException.java | 76 + .../management/InstanceNotFoundException.java | 76 + .../management/InvalidApplicationException.java | 92 + .../javax/management/MBeanAttributeInfo.java | 13 +- .../javax/management/MBeanConstructorInfo.java | 25 +- .../javax/management/MBeanFeatureInfo.java | 2 +- libjava/classpath/javax/management/MBeanInfo.java | 23 +- .../javax/management/MBeanOperationInfo.java | 29 +- .../javax/management/MBeanPermission.java | 562 + .../javax/management/MBeanRegistration.java | 95 + .../management/MBeanRegistrationException.java | 84 + .../classpath/javax/management/MBeanServer.java | 1199 ++ .../javax/management/MBeanServerBuilder.java | 102 + .../javax/management/MBeanServerConnection.java | 768 ++ .../javax/management/MBeanServerDelegate.java | 308 + .../javax/management/MBeanServerDelegateMBean.java | 101 + .../javax/management/MBeanServerFactory.java | 413 + .../javax/management/MBeanServerNotification.java | 103 + .../javax/management/MBeanServerPermission.java | 470 + .../javax/management/MBeanTrustPermission.java | 105 + .../management/MalformedObjectNameException.java | 76 + .../classpath/javax/management/ObjectInstance.java | 147 + libjava/classpath/javax/management/ObjectName.java | 775 ++ libjava/classpath/javax/management/QueryExp.java | 87 + .../javax/management/RuntimeErrorException.java | 115 + .../javax/management/RuntimeMBeanException.java | 114 + .../javax/management/ServiceNotFoundException.java | 75 + .../classpath/javax/management/StandardMBean.java | 32 +- libjava/classpath/javax/management/ValueExp.java | 86 + .../management/loading/ClassLoaderRepository.java | 139 + .../openmbean/InvalidOpenTypeException.java | 76 + .../openmbean/KeyAlreadyExistsException.java | 77 + .../openmbean/OpenMBeanAttributeInfo.java | 120 + .../openmbean/OpenMBeanAttributeInfoSupport.java | 546 + .../openmbean/OpenMBeanConstructorInfo.java | 112 + .../openmbean/OpenMBeanConstructorInfoSupport.java | 174 + .../javax/management/openmbean/OpenMBeanInfo.java | 154 + .../management/openmbean/OpenMBeanInfoSupport.java | 191 + .../openmbean/OpenMBeanOperationInfo.java | 154 + .../openmbean/OpenMBeanOperationInfoSupport.java | 240 + .../openmbean/OpenMBeanParameterInfo.java | 190 + .../openmbean/OpenMBeanParameterInfoSupport.java | 511 + .../javax/management/openmbean/OpenType.java | 6 +- .../javax/management/openmbean/SimpleType.java | 2 +- .../javax/management/openmbean/TabularData.java | 45 +- .../management/openmbean/TabularDataSupport.java | 652 + .../javax/naming/CannotProceedException.java | 6 +- libjava/classpath/javax/naming/CompositeName.java | 4 +- libjava/classpath/javax/naming/CompoundName.java | 4 +- libjava/classpath/javax/naming/Context.java | 10 +- libjava/classpath/javax/naming/InitialContext.java | 20 +- libjava/classpath/javax/naming/Name.java | 18 +- .../classpath/javax/naming/NamingEnumeration.java | 4 +- libjava/classpath/javax/naming/Reference.java | 4 +- .../classpath/javax/naming/ReferralException.java | 2 +- .../javax/naming/directory/Attribute.java | 2 +- .../javax/naming/directory/Attributes.java | 4 +- .../javax/naming/directory/BasicAttribute.java | 4 +- .../javax/naming/directory/BasicAttributes.java | 4 +- .../javax/naming/directory/DirContext.java | 36 +- .../javax/naming/directory/InitialDirContext.java | 37 +- .../javax/naming/ldap/ControlFactory.java | 2 +- .../javax/naming/ldap/InitialLdapContext.java | 12 +- .../javax/naming/ldap/LdapReferralException.java | 5 +- .../javax/naming/spi/DirObjectFactory.java | 2 +- .../javax/naming/spi/DirStateFactory.java | 2 +- .../javax/naming/spi/DirectoryManager.java | 4 +- .../javax/naming/spi/InitialContextFactory.java | 3 +- .../naming/spi/InitialContextFactoryBuilder.java | 10 +- .../classpath/javax/naming/spi/NamingManager.java | 87 +- .../classpath/javax/naming/spi/ObjectFactory.java | 5 +- .../javax/naming/spi/ObjectFactoryBuilder.java | 4 +- libjava/classpath/javax/naming/spi/Resolver.java | 41 +- .../classpath/javax/naming/spi/StateFactory.java | 2 +- .../net/ssl/CertPathTrustManagerParameters.java | 71 + .../javax/net/ssl/HandshakeCompletedEvent.java | 31 + .../javax/net/ssl/HttpsURLConnection.java | 45 + .../classpath/javax/net/ssl/KeyManagerFactory.java | 106 +- .../javax/net/ssl/KeyStoreBuilderParameters.java | 48 + libjava/classpath/javax/net/ssl/SSLContext.java | 148 +- libjava/classpath/javax/net/ssl/SSLContextSpi.java | 22 + libjava/classpath/javax/net/ssl/SSLEngine.java | 442 + .../classpath/javax/net/ssl/SSLEngineResult.java | 194 + libjava/classpath/javax/net/ssl/SSLSession.java | 67 + .../classpath/javax/net/ssl/SSLSocketFactory.java | 2 +- .../javax/net/ssl/TrustManagerFactory.java | 103 +- .../javax/net/ssl/X509ExtendedKeyManager.java | 96 + libjava/classpath/javax/print/PrintService.java | 14 +- .../classpath/javax/print/attribute/Attribute.java | 2 +- .../javax/print/attribute/AttributeSet.java | 6 +- .../print/attribute/AttributeSetUtilities.java | 8 +- .../javax/print/attribute/HashAttributeSet.java | 14 +- .../print/attribute/standard/Chromaticity.java | 3 +- .../print/attribute/standard/ColorSupported.java | 3 +- .../print/attribute/standard/Compression.java | 3 +- .../javax/print/attribute/standard/Copies.java | 3 +- .../print/attribute/standard/CopiesSupported.java | 3 +- .../attribute/standard/DateTimeAtCompleted.java | 3 +- .../attribute/standard/DateTimeAtCreation.java | 3 +- .../attribute/standard/DateTimeAtProcessing.java | 3 +- .../print/attribute/standard/Destination.java | 3 +- .../print/attribute/standard/DocumentName.java | 3 +- .../javax/print/attribute/standard/Fidelity.java | 3 +- .../javax/print/attribute/standard/Finishings.java | 3 +- .../print/attribute/standard/JobHoldUntil.java | 3 +- .../print/attribute/standard/JobImpressions.java | 3 +- .../standard/JobImpressionsCompleted.java | 3 +- .../standard/JobImpressionsSupported.java | 3 +- .../javax/print/attribute/standard/JobKOctets.java | 3 +- .../attribute/standard/JobKOctetsProcessed.java | 3 +- .../attribute/standard/JobKOctetsSupported.java | 3 +- .../print/attribute/standard/JobMediaSheets.java | 3 +- .../standard/JobMediaSheetsCompleted.java | 3 +- .../standard/JobMediaSheetsSupported.java | 3 +- .../attribute/standard/JobMessageFromOperator.java | 3 +- .../javax/print/attribute/standard/JobName.java | 3 +- .../attribute/standard/JobOriginatingUserName.java | 3 +- .../print/attribute/standard/JobPriority.java | 3 +- .../attribute/standard/JobPrioritySupported.java | 3 +- .../javax/print/attribute/standard/JobSheets.java | 3 +- .../javax/print/attribute/standard/JobState.java | 3 +- .../print/attribute/standard/JobStateReason.java | 2 +- .../print/attribute/standard/JobStateReasons.java | 16 +- .../javax/print/attribute/standard/Media.java | 3 +- .../attribute/standard/MediaPrintableArea.java | 3 +- .../javax/print/attribute/standard/MediaSize.java | 15 +- .../standard/MultipleDocumentHandling.java | 3 +- .../attribute/standard/NumberOfDocuments.java | 3 +- .../standard/NumberOfInterveningJobs.java | 3 +- .../javax/print/attribute/standard/NumberUp.java | 3 +- .../attribute/standard/NumberUpSupported.java | 3 +- .../attribute/standard/OrientationRequested.java | 3 +- .../attribute/standard/OutputDeviceAssigned.java | 3 +- .../attribute/standard/PDLOverrideSupported.java | 3 +- .../javax/print/attribute/standard/PageRanges.java | 3 +- .../print/attribute/standard/PagesPerMinute.java | 3 +- .../attribute/standard/PagesPerMinuteColor.java | 3 +- .../attribute/standard/PresentationDirection.java | 3 +- .../print/attribute/standard/PrintQuality.java | 3 +- .../print/attribute/standard/PrinterInfo.java | 3 +- .../attribute/standard/PrinterIsAcceptingJobs.java | 3 +- .../print/attribute/standard/PrinterLocation.java | 3 +- .../attribute/standard/PrinterMakeAndModel.java | 3 +- .../standard/PrinterMessageFromOperator.java | 3 +- .../print/attribute/standard/PrinterMoreInfo.java | 3 +- .../standard/PrinterMoreInfoManufacturer.java | 3 +- .../print/attribute/standard/PrinterName.java | 3 +- .../attribute/standard/PrinterResolution.java | 3 +- .../print/attribute/standard/PrinterState.java | 3 +- .../attribute/standard/PrinterStateReason.java | 2 +- .../attribute/standard/PrinterStateReasons.java | 16 +- .../javax/print/attribute/standard/PrinterURI.java | 3 +- .../print/attribute/standard/QueuedJobCount.java | 3 +- .../standard/ReferenceUriSchemesSupported.java | 2 +- .../attribute/standard/RequestingUserName.java | 3 +- .../javax/print/attribute/standard/Severity.java | 2 +- .../print/attribute/standard/SheetCollate.java | 3 +- .../javax/print/attribute/standard/Sides.java | 3 +- libjava/classpath/javax/rmi/CORBA/Tie.java | 6 +- libjava/classpath/javax/security/auth/Subject.java | 17 +- .../security/auth/login/AppConfigurationEntry.java | 4 +- .../javax/security/auth/spi/LoginModule.java | 2 +- libjava/classpath/javax/security/sasl/Sasl.java | 10 +- .../javax/security/sasl/SaslClientFactory.java | 6 +- .../javax/security/sasl/SaslServerFactory.java | 5 +- libjava/classpath/javax/sound/midi/Instrument.java | 2 +- libjava/classpath/javax/sound/midi/Sequence.java | 10 +- .../javax/sound/midi/SoundbankResource.java | 4 +- .../javax/sound/sampled/AudioFileFormat.java | 4 +- .../classpath/javax/sound/sampled/AudioFormat.java | 4 +- .../classpath/javax/sound/sampled/DataLine.java | 6 +- libjava/classpath/javax/sound/sampled/Line.java | 4 +- libjava/classpath/javax/sound/sampled/Port.java | 2 +- libjava/classpath/javax/sql/RowSet.java | 4 +- libjava/classpath/javax/swing/AbstractButton.java | 229 +- .../classpath/javax/swing/AbstractListModel.java | 2 +- .../javax/swing/AbstractSpinnerModel.java | 12 +- libjava/classpath/javax/swing/ButtonGroup.java | 8 +- .../javax/swing/DefaultBoundedRangeModel.java | 2 +- .../classpath/javax/swing/DefaultButtonModel.java | 4 +- .../javax/swing/DefaultComboBoxModel.java | 32 +- .../classpath/javax/swing/DefaultListModel.java | 2 +- .../javax/swing/DefaultListSelectionModel.java | 2 +- .../javax/swing/DefaultSingleSelectionModel.java | 2 +- libjava/classpath/javax/swing/JButton.java | 2 +- libjava/classpath/javax/swing/JComboBox.java | 2 +- libjava/classpath/javax/swing/JComponent.java | 803 +- libjava/classpath/javax/swing/JDialog.java | 55 +- libjava/classpath/javax/swing/JEditorPane.java | 336 +- libjava/classpath/javax/swing/JFrame.java | 51 +- libjava/classpath/javax/swing/JLabel.java | 103 +- libjava/classpath/javax/swing/JLayeredPane.java | 2 +- libjava/classpath/javax/swing/JList.java | 235 +- libjava/classpath/javax/swing/JMenu.java | 263 +- libjava/classpath/javax/swing/JMenuBar.java | 33 +- libjava/classpath/javax/swing/JMenuItem.java | 107 +- libjava/classpath/javax/swing/JPopupMenu.java | 23 +- libjava/classpath/javax/swing/JRootPane.java | 12 +- libjava/classpath/javax/swing/JScrollBar.java | 113 +- libjava/classpath/javax/swing/JScrollPane.java | 8 +- libjava/classpath/javax/swing/JSlider.java | 71 +- libjava/classpath/javax/swing/JSplitPane.java | 34 +- libjava/classpath/javax/swing/JTabbedPane.java | 31 +- libjava/classpath/javax/swing/JTable.java | 120 +- libjava/classpath/javax/swing/JTextField.java | 3 +- libjava/classpath/javax/swing/JTextPane.java | 19 +- libjava/classpath/javax/swing/JToggleButton.java | 5 +- libjava/classpath/javax/swing/JToolTip.java | 14 + libjava/classpath/javax/swing/JTree.java | 173 +- libjava/classpath/javax/swing/JViewport.java | 133 +- libjava/classpath/javax/swing/JWindow.java | 5 + libjava/classpath/javax/swing/LookAndFeel.java | 2 +- libjava/classpath/javax/swing/Popup.java | 2 +- libjava/classpath/javax/swing/RepaintManager.java | 299 +- .../classpath/javax/swing/ScrollPaneLayout.java | 38 +- libjava/classpath/javax/swing/SizeSequence.java | 8 +- .../javax/swing/SortingFocusTraversalPolicy.java | 6 +- .../classpath/javax/swing/SpinnerListModel.java | 6 +- libjava/classpath/javax/swing/SwingUtilities.java | 274 +- libjava/classpath/javax/swing/Timer.java | 2 +- libjava/classpath/javax/swing/ToolTipManager.java | 77 +- libjava/classpath/javax/swing/TransferHandler.java | 357 +- libjava/classpath/javax/swing/UIDefaults.java | 8 +- libjava/classpath/javax/swing/UIManager.java | 251 +- .../javax/swing/border/CompoundBorder.java | 27 +- .../javax/swing/event/EventListenerList.java | 60 +- .../javax/swing/filechooser/FileSystemView.java | 9 +- .../swing/plaf/basic/BasicButtonListener.java | 136 +- .../javax/swing/plaf/basic/BasicButtonUI.java | 330 +- .../swing/plaf/basic/BasicDirectoryModel.java | 6 +- .../javax/swing/plaf/basic/BasicFileChooserUI.java | 10 +- .../javax/swing/plaf/basic/BasicGraphicsUtils.java | 55 +- .../javax/swing/plaf/basic/BasicHTML.java | 26 + .../plaf/basic/BasicInternalFrameTitlePane.java | 10 +- .../swing/plaf/basic/BasicInternalFrameUI.java | 64 +- .../javax/swing/plaf/basic/BasicLabelUI.java | 57 +- .../javax/swing/plaf/basic/BasicListUI.java | 2 +- .../javax/swing/plaf/basic/BasicLookAndFeel.java | 24 +- .../javax/swing/plaf/basic/BasicMenuItemUI.java | 144 +- .../javax/swing/plaf/basic/BasicMenuUI.java | 207 +- .../javax/swing/plaf/basic/BasicRadioButtonUI.java | 160 +- .../javax/swing/plaf/basic/BasicScrollBarUI.java | 79 +- .../javax/swing/plaf/basic/BasicScrollPaneUI.java | 237 +- .../javax/swing/plaf/basic/BasicSliderUI.java | 566 +- .../swing/plaf/basic/BasicSplitPaneDivider.java | 412 +- .../javax/swing/plaf/basic/BasicSplitPaneUI.java | 372 +- .../javax/swing/plaf/basic/BasicTabbedPaneUI.java | 417 +- .../javax/swing/plaf/basic/BasicTableHeaderUI.java | 8 +- .../javax/swing/plaf/basic/BasicTableUI.java | 9 +- .../javax/swing/plaf/basic/BasicTextUI.java | 538 +- .../javax/swing/plaf/basic/BasicToolBarUI.java | 6 +- .../javax/swing/plaf/basic/BasicToolTipUI.java | 123 +- .../javax/swing/plaf/basic/BasicTreeUI.java | 529 +- .../javax/swing/plaf/metal/DefaultMetalTheme.java | 100 +- .../javax/swing/plaf/metal/MetalBorders.java | 16 +- .../javax/swing/plaf/metal/MetalButtonUI.java | 72 +- .../javax/swing/plaf/metal/MetalCheckBoxIcon.java | 11 +- .../javax/swing/plaf/metal/MetalIconFactory.java | 119 +- .../javax/swing/plaf/metal/MetalLookAndFeel.java | 50 +- .../javax/swing/plaf/metal/MetalMenuBarUI.java | 9 +- .../javax/swing/plaf/metal/MetalRadioButtonUI.java | 2 +- .../javax/swing/plaf/metal/MetalScrollBarUI.java | 15 +- .../javax/swing/plaf/metal/MetalSliderUI.java | 27 +- .../swing/plaf/metal/MetalSplitPaneDivider.java | 281 +- .../javax/swing/plaf/metal/MetalTabbedPaneUI.java | 2 +- .../javax/swing/plaf/metal/MetalToolTipUI.java | 70 +- .../javax/swing/plaf/metal/MetalTreeUI.java | 122 +- .../javax/swing/plaf/metal/OceanTheme.java | 2 + .../javax/swing/plaf/synth/SynthLookAndFeel.java | 4 +- .../javax/swing/table/AbstractTableModel.java | 4 +- .../javax/swing/table/DefaultTableColumnModel.java | 8 +- .../javax/swing/table/DefaultTableModel.java | 2 +- .../javax/swing/table/TableColumnModel.java | 2 +- .../classpath/javax/swing/table/TableModel.java | 2 +- .../javax/swing/text/AbstractDocument.java | 913 +- .../classpath/javax/swing/text/AttributeSet.java | 2 +- libjava/classpath/javax/swing/text/BoxView.java | 484 +- .../classpath/javax/swing/text/ComponentView.java | 336 +- .../classpath/javax/swing/text/CompositeView.java | 195 +- .../classpath/javax/swing/text/DefaultCaret.java | 15 +- .../javax/swing/text/DefaultEditorKit.java | 365 +- .../javax/swing/text/DefaultFormatter.java | 6 +- .../javax/swing/text/DefaultHighlighter.java | 389 +- .../javax/swing/text/DefaultStyledDocument.java | 2036 +-- .../javax/swing/text/ElementIterator.java | 203 +- libjava/classpath/javax/swing/text/FieldView.java | 4 +- libjava/classpath/javax/swing/text/FlowView.java | 419 +- libjava/classpath/javax/swing/text/GapContent.java | 723 +- libjava/classpath/javax/swing/text/GlyphView.java | 620 +- .../javax/swing/text/InternationalFormatter.java | 2 +- .../classpath/javax/swing/text/JTextComponent.java | 278 +- libjava/classpath/javax/swing/text/LabelView.java | 78 +- .../classpath/javax/swing/text/MaskFormatter.java | 377 +- .../javax/swing/text/MutableAttributeSet.java | 2 +- .../classpath/javax/swing/text/ParagraphView.java | 107 +- libjava/classpath/javax/swing/text/PlainView.java | 150 +- libjava/classpath/javax/swing/text/Position.java | 4 +- .../javax/swing/text/SimpleAttributeSet.java | 18 +- .../classpath/javax/swing/text/StringContent.java | 304 +- .../classpath/javax/swing/text/StyleConstants.java | 11 + .../classpath/javax/swing/text/StyleContext.java | 600 +- .../javax/swing/text/StyledEditorKit.java | 46 +- libjava/classpath/javax/swing/text/TextAction.java | 51 +- libjava/classpath/javax/swing/text/Utilities.java | 189 +- libjava/classpath/javax/swing/text/View.java | 104 +- .../javax/swing/text/WrappedPlainView.java | 199 +- libjava/classpath/javax/swing/text/ZoneView.java | 442 + .../classpath/javax/swing/text/html/BRView.java | 5 +- .../classpath/javax/swing/text/html/BlockView.java | 482 +- libjava/classpath/javax/swing/text/html/CSS.java | 274 + .../classpath/javax/swing/text/html/CSSBorder.java | 421 + .../javax/swing/text/html/FormSubmitEvent.java | 123 + .../classpath/javax/swing/text/html/FormView.java | 649 +- .../javax/swing/text/html/FrameSetView.java | 274 + .../classpath/javax/swing/text/html/FrameView.java | 233 + libjava/classpath/javax/swing/text/html/HTML.java | 22 +- .../javax/swing/text/html/HTMLDocument.java | 931 +- .../javax/swing/text/html/HTMLEditorKit.java | 578 +- .../javax/swing/text/html/HTMLWriter.java | 1084 ++ .../classpath/javax/swing/text/html/ImageView.java | 403 +- .../javax/swing/text/html/InlineView.java | 151 +- .../classpath/javax/swing/text/html/ListView.java | 3 - .../javax/swing/text/html/MultiAttributeSet.java | 213 + .../javax/swing/text/html/MultiStyle.java | 136 + .../classpath/javax/swing/text/html/Option.java | 12 +- .../javax/swing/text/html/ParagraphView.java | 131 +- .../javax/swing/text/html/ResetableModel.java | 50 + .../swing/text/html/ResetablePlainDocument.java | 82 + .../text/html/ResetableToggleButtonModel.java | 71 + .../javax/swing/text/html/SelectComboBoxModel.java | 84 + .../javax/swing/text/html/SelectListModel.java | 106 + .../javax/swing/text/html/StyleSheet.java | 1124 +- .../classpath/javax/swing/text/html/TableView.java | 942 +- .../javax/swing/text/html/ViewAttributeSet.java | 163 + .../swing/text/html/parser/AttributeList.java | 6 +- .../javax/swing/text/html/parser/ContentModel.java | 6 +- .../javax/swing/text/html/parser/DTD.java | 17 +- .../swing/text/html/parser/DocumentParser.java | 4 +- .../swing/text/html/parser/ParserDelegator.java | 4 +- .../javax/swing/tree/AbstractLayoutCache.java | 27 +- .../javax/swing/tree/DefaultMutableTreeNode.java | 12 +- .../javax/swing/tree/DefaultTreeCellEditor.java | 322 +- .../javax/swing/tree/DefaultTreeCellRenderer.java | 108 +- .../javax/swing/tree/DefaultTreeModel.java | 29 +- .../swing/tree/DefaultTreeSelectionModel.java | 780 +- .../javax/swing/tree/FixedHeightLayoutCache.java | 2 +- .../swing/tree/VariableHeightLayoutCache.java | 190 +- .../classpath/javax/swing/undo/CompoundEdit.java | 16 +- libjava/classpath/javax/swing/undo/StateEdit.java | 4 +- .../classpath/javax/swing/undo/StateEditable.java | 4 +- .../javax/swing/undo/UndoableEditSupport.java | 5 +- .../javax/xml/parsers/DocumentBuilderFactory.java | 2 +- .../javax/xml/validation/SchemaFactory.java | 101 + libjava/classpath/jvmti.h | 1819 +++ libjava/classpath/lib/.cvsignore | 38 + libjava/classpath/lib/Makefile.am | 73 +- libjava/classpath/lib/Makefile.gcj | 2 +- libjava/classpath/lib/Makefile.in | 75 +- libjava/classpath/lib/gen-classlist.sh.in | 31 +- libjava/classpath/lib/gnu/CORBA/Asynchron.class | Bin 0 -> 1872 bytes .../classpath/lib/gnu/CORBA/BigDecimalHelper.class | Bin 0 -> 3255 bytes .../lib/gnu/CORBA/ByteArrayComparator.class | Bin 0 -> 1158 bytes .../lib/gnu/CORBA/CDR/AbstractCdrInput.class | Bin 0 -> 20999 bytes .../lib/gnu/CORBA/CDR/AbstractCdrOutput.class | Bin 0 -> 13461 bytes .../lib/gnu/CORBA/CDR/AbstractDataInput.class | Bin 0 -> 682 bytes .../lib/gnu/CORBA/CDR/AbstractDataOutput.class | Bin 0 -> 562 bytes .../lib/gnu/CORBA/CDR/AligningInput.class | Bin 0 -> 1725 bytes .../lib/gnu/CORBA/CDR/AligningOutput.class | Bin 0 -> 1631 bytes .../lib/gnu/CORBA/CDR/ArrayValueHelper.class | Bin 0 -> 5994 bytes .../lib/gnu/CORBA/CDR/BigEndianInputStream.class | Bin 0 -> 424 bytes .../lib/gnu/CORBA/CDR/BigEndianOutputStream.class | Bin 0 -> 432 bytes .../lib/gnu/CORBA/CDR/BufferedCdrOutput.class | Bin 0 -> 2161 bytes .../lib/gnu/CORBA/CDR/BufferredCdrInput.class | Bin 0 -> 1668 bytes .../lib/gnu/CORBA/CDR/EncapsulationStream.class | Bin 0 -> 2254 bytes .../lib/gnu/CORBA/CDR/HeadlessInput.class | Bin 0 -> 11596 bytes .../lib/gnu/CORBA/CDR/IDLTypeHelper.class | Bin 0 -> 3101 bytes .../gnu/CORBA/CDR/LittleEndianInputStream.class | Bin 0 -> 4549 bytes .../gnu/CORBA/CDR/LittleEndianOutputStream.class | Bin 0 -> 2133 bytes .../gnu/CORBA/CDR/UnknownExceptionCtxHandler.class | Bin 0 -> 6277 bytes libjava/classpath/lib/gnu/CORBA/CDR/VMVio.class | Bin 0 -> 1408 bytes libjava/classpath/lib/gnu/CORBA/CDR/Vio.class | Bin 0 -> 21547 bytes .../classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class | Bin 0 -> 984 bytes .../lib/gnu/CORBA/CDR/gnuRuntime$Entry.class | Bin 0 -> 886 bytes .../lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class | Bin 0 -> 656 bytes .../classpath/lib/gnu/CORBA/CDR/gnuRuntime.class | Bin 0 -> 4831 bytes .../lib/gnu/CORBA/CDR/gnuValueStream.class | Bin 0 -> 278 bytes .../lib/gnu/CORBA/CdrEncapsCodecImpl.class | Bin 0 -> 5871 bytes .../classpath/lib/gnu/CORBA/CollocatedOrbs.class | Bin 0 -> 2494 bytes .../lib/gnu/CORBA/Connected_objects$cObject.class | Bin 0 -> 809 bytes .../lib/gnu/CORBA/Connected_objects.class | Bin 0 -> 3540 bytes libjava/classpath/lib/gnu/CORBA/CorbaList.class | Bin 0 -> 1205 bytes .../lib/gnu/CORBA/DefaultSocketFactory.class | Bin 0 -> 924 bytes .../lib/gnu/CORBA/DefinitionKindHolder.class | Bin 0 -> 1162 bytes .../lib/gnu/CORBA/DuplicateNameHolder.class | Bin 0 -> 1390 bytes .../lib/gnu/CORBA/DynAn/AbstractAny.class | Bin 0 -> 2680 bytes .../lib/gnu/CORBA/DynAn/DivideableAny.class | Bin 0 -> 8187 bytes .../lib/gnu/CORBA/DynAn/NameValuePairHolder.class | Bin 0 -> 1232 bytes .../classpath/lib/gnu/CORBA/DynAn/RecordAny.class | Bin 0 -> 8043 bytes .../lib/gnu/CORBA/DynAn/UndivideableAny.class | Bin 0 -> 5868 bytes .../lib/gnu/CORBA/DynAn/ValueChangeListener.class | Bin 0 -> 159 bytes .../classpath/lib/gnu/CORBA/DynAn/gnuDynAny.class | Bin 0 -> 14085 bytes .../lib/gnu/CORBA/DynAn/gnuDynAnyFactory.class | Bin 0 -> 6415 bytes .../lib/gnu/CORBA/DynAn/gnuDynArray.class | Bin 0 -> 6545 bytes .../classpath/lib/gnu/CORBA/DynAn/gnuDynEnum.class | Bin 0 -> 4358 bytes .../lib/gnu/CORBA/DynAn/gnuDynFixed.class | Bin 0 -> 4430 bytes .../lib/gnu/CORBA/DynAn/gnuDynSequence.class | Bin 0 -> 4531 bytes .../lib/gnu/CORBA/DynAn/gnuDynStruct.class | Bin 0 -> 2045 bytes .../lib/gnu/CORBA/DynAn/gnuDynUnion.class | Bin 0 -> 7251 bytes .../lib/gnu/CORBA/DynAn/gnuDynValue.class | Bin 0 -> 8072 bytes .../lib/gnu/CORBA/DynAn/gnuDynValueBox.class | Bin 0 -> 6920 bytes .../classpath/lib/gnu/CORBA/DynAnySeqHolder.class | Bin 0 -> 1210 bytes .../lib/gnu/CORBA/EmptyExceptionHolder.class | Bin 0 -> 1812 bytes .../lib/gnu/CORBA/ForwardRequestHelper.class | Bin 0 -> 2869 bytes .../lib/gnu/CORBA/GIOP/CancelHeader.class | Bin 0 -> 432 bytes .../lib/gnu/CORBA/GIOP/CharSets_OSF.class | Bin 0 -> 4139 bytes .../lib/gnu/CORBA/GIOP/CloseMessage.class | Bin 0 -> 1079 bytes .../lib/gnu/CORBA/GIOP/CodeSetServiceContext.class | Bin 0 -> 3524 bytes .../lib/gnu/CORBA/GIOP/ContextHandler.class | Bin 0 -> 900 bytes .../lib/gnu/CORBA/GIOP/ErrorMessage.class | Bin 0 -> 1769 bytes .../lib/gnu/CORBA/GIOP/MessageHeader.class | Bin 0 -> 6691 bytes .../classpath/lib/gnu/CORBA/GIOP/ReplyHeader.class | Bin 0 -> 1418 bytes .../lib/gnu/CORBA/GIOP/RequestHeader.class | Bin 0 -> 1442 bytes .../lib/gnu/CORBA/GIOP/ServiceContext.class | Bin 0 -> 4969 bytes .../lib/gnu/CORBA/GIOP/v1_0/CancelHeader.class | Bin 0 -> 834 bytes .../lib/gnu/CORBA/GIOP/v1_0/ReplyHeader.class | Bin 0 -> 2441 bytes .../lib/gnu/CORBA/GIOP/v1_0/RequestHeader.class | Bin 0 -> 3122 bytes .../lib/gnu/CORBA/GIOP/v1_2/ReplyHeader.class | Bin 0 -> 1766 bytes .../lib/gnu/CORBA/GIOP/v1_2/RequestHeader.class | Bin 0 -> 3618 bytes .../classpath/lib/gnu/CORBA/GeneralHolder.class | Bin 0 -> 2394 bytes .../classpath/lib/gnu/CORBA/HolderLocator.class | Bin 0 -> 2952 bytes .../IOR$CodeSets_profile$CodeSet_component.class | Bin 0 -> 2363 bytes .../lib/gnu/CORBA/IOR$CodeSets_profile.class | Bin 0 -> 2149 bytes .../lib/gnu/CORBA/IOR$Internet_profile.class | Bin 0 -> 2834 bytes libjava/classpath/lib/gnu/CORBA/IOR.class | Bin 0 -> 8912 bytes .../Interceptor/ClientRequestInterceptors.class | Bin 0 -> 2096 bytes .../CORBA/Interceptor/ForwardRequestHolder.class | Bin 0 -> 1327 bytes .../gnu/CORBA/Interceptor/IORInterceptors.class | Bin 0 -> 2605 bytes .../lib/gnu/CORBA/Interceptor/Registrator.class | Bin 0 -> 9169 bytes .../Interceptor/ServerRequestInterceptors.class | Bin 0 -> 2123 bytes .../CORBA/Interceptor/gnuClientRequestInfo.class | Bin 0 -> 5483 bytes .../lib/gnu/CORBA/Interceptor/gnuIcCurrent.class | Bin 0 -> 4277 bytes .../lib/gnu/CORBA/Interceptor/gnuIorInfo.class | Bin 0 -> 2375 bytes .../CORBA/Interceptor/gnuServerRequestInfo.class | Bin 0 -> 7751 bytes libjava/classpath/lib/gnu/CORBA/IorDelegate.class | Bin 0 -> 7919 bytes libjava/classpath/lib/gnu/CORBA/IorObject.class | Bin 0 -> 1966 bytes libjava/classpath/lib/gnu/CORBA/IorProvider.class | Bin 0 -> 150 bytes libjava/classpath/lib/gnu/CORBA/Minor.class | Bin 0 -> 1262 bytes .../lib/gnu/CORBA/NameDynAnyPairHolder.class | Bin 0 -> 1258 bytes .../lib/gnu/CORBA/NameDynAnyPairSeqHolder.class | Bin 0 -> 1274 bytes .../lib/gnu/CORBA/NameValuePairHolder.class | Bin 0 -> 1250 bytes .../lib/gnu/CORBA/NameValuePairSeqHolder.class | Bin 0 -> 1266 bytes .../NamingService/Binding_iterator_impl.class | Bin 0 -> 1808 bytes .../lib/gnu/CORBA/NamingService/Ext.class | Bin 0 -> 3928 bytes .../NamingService/NameComponentComparator.class | Bin 0 -> 1059 bytes .../lib/gnu/CORBA/NamingService/NameParser.class | Bin 0 -> 9739 bytes .../gnu/CORBA/NamingService/NameTransformer.class | Bin 0 -> 4814 bytes .../gnu/CORBA/NamingService/NameValidator.class | Bin 0 -> 1159 bytes .../lib/gnu/CORBA/NamingService/NamingMap.class | Bin 0 -> 2648 bytes .../NamingService/NamingServiceTransient$1.class | Bin 0 -> 701 bytes .../NamingService/NamingServiceTransient.class | Bin 0 -> 2390 bytes .../gnu/CORBA/NamingService/TransientContext.class | Bin 0 -> 6742 bytes .../classpath/lib/gnu/CORBA/ObjectCreator.class | Bin 0 -> 10180 bytes libjava/classpath/lib/gnu/CORBA/OctetHolder.class | Bin 0 -> 1334 bytes libjava/classpath/lib/gnu/CORBA/OrbFocused.class | Bin 0 -> 6441 bytes .../classpath/lib/gnu/CORBA/OrbFunctional$1.class | Bin 0 -> 635 bytes .../classpath/lib/gnu/CORBA/OrbFunctional$2.class | Bin 0 -> 1116 bytes .../lib/gnu/CORBA/OrbFunctional$portServer.class | Bin 0 -> 2171 bytes .../gnu/CORBA/OrbFunctional$sharedPortServer.class | Bin 0 -> 872 bytes .../classpath/lib/gnu/CORBA/OrbFunctional.class | Bin 0 -> 24752 bytes .../classpath/lib/gnu/CORBA/OrbRestricted.class | Bin 0 -> 10136 bytes libjava/classpath/lib/gnu/CORBA/Poa/AOM$Obj.class | Bin 0 -> 1342 bytes libjava/classpath/lib/gnu/CORBA/Poa/AOM.class | Bin 0 -> 4383 bytes .../lib/gnu/CORBA/Poa/AccessiblePolicy.class | Bin 0 -> 221 bytes .../lib/gnu/CORBA/Poa/DynamicImpHandler.class | Bin 0 -> 1204 bytes .../lib/gnu/CORBA/Poa/ForwardRequestHolder.class | Bin 0 -> 1273 bytes .../lib/gnu/CORBA/Poa/ForwardedServant.class | Bin 0 -> 4682 bytes .../lib/gnu/CORBA/Poa/InvalidPolicyHolder.class | Bin 0 -> 1333 bytes .../lib/gnu/CORBA/Poa/LocalDelegate.class | Bin 0 -> 8751 bytes .../classpath/lib/gnu/CORBA/Poa/LocalRequest.class | Bin 0 -> 12849 bytes .../lib/gnu/CORBA/Poa/LocalServerRequest.class | Bin 0 -> 3164 bytes libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class | Bin 0 -> 7622 bytes .../lib/gnu/CORBA/Poa/ServantDelegateImpl.class | Bin 0 -> 4010 bytes .../lib/gnu/CORBA/Poa/StandardPolicies.class | Bin 0 -> 3263 bytes .../lib/gnu/CORBA/Poa/gnuAdapterActivator.class | Bin 0 -> 1055 bytes .../lib/gnu/CORBA/Poa/gnuForwardRequest.class | Bin 0 -> 759 bytes .../lib/gnu/CORBA/Poa/gnuIdAssignmentPolicy.class | Bin 0 -> 942 bytes .../lib/gnu/CORBA/Poa/gnuIdUniquenessPolicy.class | Bin 0 -> 942 bytes .../CORBA/Poa/gnuImplicitActivationPolicy.class | Bin 0 -> 996 bytes .../lib/gnu/CORBA/Poa/gnuLifespanPolicy.class | Bin 0 -> 906 bytes .../lib/gnu/CORBA/Poa/gnuPOA$RefTemplate.class | Bin 0 -> 1993 bytes libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class | Bin 0 -> 25936 bytes .../lib/gnu/CORBA/Poa/gnuPOAManager.class | Bin 0 -> 3326 bytes .../lib/gnu/CORBA/Poa/gnuPoaCurrent.class | Bin 0 -> 2741 bytes .../gnu/CORBA/Poa/gnuRequestProcessingPolicy.class | Bin 0 -> 987 bytes .../lib/gnu/CORBA/Poa/gnuServantObject.class | Bin 0 -> 14471 bytes .../gnu/CORBA/Poa/gnuServantRetentionPolicy.class | Bin 0 -> 978 bytes .../lib/gnu/CORBA/Poa/gnuThreadPolicy.class | Bin 0 -> 888 bytes libjava/classpath/lib/gnu/CORBA/RawReply.class | Bin 0 -> 1131 bytes .../lib/gnu/CORBA/ResponseHandlerImpl.class | Bin 0 -> 2485 bytes .../lib/gnu/CORBA/SafeForDirectCalls.class | Bin 0 -> 127 bytes .../lib/gnu/CORBA/ServiceDetailHolder.class | Bin 0 -> 1154 bytes .../lib/gnu/CORBA/ServiceRequestAdapter.class | Bin 0 -> 3086 bytes .../lib/gnu/CORBA/SetOverrideTypeHolder.class | Bin 0 -> 1170 bytes .../classpath/lib/gnu/CORBA/SimpleDelegate.class | Bin 0 -> 4870 bytes .../classpath/lib/gnu/CORBA/SocketRepository.class | Bin 0 -> 1958 bytes .../lib/gnu/CORBA/StreamBasedRequest.class | Bin 0 -> 412 bytes libjava/classpath/lib/gnu/CORBA/StreamHolder.class | Bin 0 -> 1456 bytes libjava/classpath/lib/gnu/CORBA/StubLocator.class | Bin 0 -> 1718 bytes .../classpath/lib/gnu/CORBA/TypeCodeHelper.class | Bin 0 -> 4997 bytes .../classpath/lib/gnu/CORBA/TypeKindNamer.class | Bin 0 -> 4025 bytes libjava/classpath/lib/gnu/CORBA/Unexpected.class | Bin 0 -> 1454 bytes libjava/classpath/lib/gnu/CORBA/Version.class | Bin 0 -> 2480 bytes libjava/classpath/lib/gnu/CORBA/WCharHolder.class | Bin 0 -> 1329 bytes .../classpath/lib/gnu/CORBA/WStringHolder.class | Bin 0 -> 1407 bytes .../classpath/lib/gnu/CORBA/_PolicyImplBase.class | Bin 0 -> 2822 bytes libjava/classpath/lib/gnu/CORBA/gnuAny.class | Bin 0 -> 14005 bytes .../classpath/lib/gnu/CORBA/gnuCodecFactory.class | Bin 0 -> 1065 bytes libjava/classpath/lib/gnu/CORBA/gnuContext.class | Bin 0 -> 3523 bytes .../classpath/lib/gnu/CORBA/gnuContextList.class | Bin 0 -> 1009 bytes .../classpath/lib/gnu/CORBA/gnuEnvironment.class | Bin 0 -> 623 bytes .../classpath/lib/gnu/CORBA/gnuExceptionList.class | Bin 0 -> 1046 bytes libjava/classpath/lib/gnu/CORBA/gnuNVList.class | Bin 0 -> 1889 bytes .../classpath/lib/gnu/CORBA/gnuNamedValue.class | Bin 0 -> 1043 bytes libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class | Bin 0 -> 567 bytes libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class | Bin 0 -> 623 bytes libjava/classpath/lib/gnu/CORBA/gnuRequest.class | Bin 0 -> 23103 bytes .../classpath/lib/gnu/CORBA/gnuValueHolder.class | Bin 0 -> 2003 bytes .../lib/gnu/CORBA/interfaces/SocketFactory.class | Bin 0 -> 407 bytes .../lib/gnu/CORBA/typecodes/AliasTypeCode.class | Bin 0 -> 1443 bytes .../lib/gnu/CORBA/typecodes/ArrayTypeCode.class | Bin 0 -> 3132 bytes .../lib/gnu/CORBA/typecodes/FixedTypeCode.class | Bin 0 -> 1842 bytes .../lib/gnu/CORBA/typecodes/GeneralTypeCode.class | Bin 0 -> 3185 bytes .../gnu/CORBA/typecodes/PrimitiveTypeCode.class | Bin 0 -> 2769 bytes .../gnu/CORBA/typecodes/RecordTypeCode$Field.class | Bin 0 -> 582 bytes .../lib/gnu/CORBA/typecodes/RecordTypeCode.class | Bin 0 -> 3537 bytes .../gnu/CORBA/typecodes/RecursiveTypeCode.class | Bin 0 -> 755 bytes .../lib/gnu/CORBA/typecodes/StringTypeCode.class | Bin 0 -> 682 bytes .../lib/gnu/awt/LightweightRedirector.class | Bin 0 -> 3189 bytes .../lib/gnu/awt/j2d/AbstractGraphicsState.class | Bin 0 -> 1779 bytes .../lib/gnu/awt/j2d/DirectRasterGraphics.class | Bin 0 -> 925 bytes .../classpath/lib/gnu/awt/j2d/Graphics2DImpl.class | Bin 0 -> 12314 bytes .../IntegerGraphicsState$ScreenCoupledImage.class | Bin 0 -> 314 bytes .../lib/gnu/awt/j2d/IntegerGraphicsState.class | Bin 0 -> 9383 bytes .../classpath/lib/gnu/awt/j2d/MappedRaster.class | Bin 0 -> 723 bytes .../lib/gnu/classpath/Configuration.class | Bin 0 -> 795 bytes .../classpath/lib/gnu/classpath/ListenerData.class | Bin 0 -> 1197 bytes .../gnu/classpath/NotImplementedException.class | Bin 0 -> 400 bytes libjava/classpath/lib/gnu/classpath/Pointer.class | Bin 0 -> 274 bytes .../classpath/lib/gnu/classpath/Pointer32.class | Bin 0 -> 344 bytes .../classpath/lib/gnu/classpath/Pointer64.class | Bin 0 -> 344 bytes .../classpath/ServiceFactory$ServiceIterator.class | Bin 0 -> 3903 bytes .../lib/gnu/classpath/ServiceFactory.class | Bin 0 -> 3194 bytes .../classpath/ServiceProviderLoadingAction.class | Bin 0 -> 1292 bytes .../lib/gnu/classpath/SystemProperties.class | Bin 0 -> 2655 bytes .../lib/gnu/classpath/VMStackWalker.class | Bin 0 -> 653 bytes .../lib/gnu/classpath/debug/Component.class | Bin 0 -> 2187 bytes .../lib/gnu/classpath/debug/PreciseFilter.class | Bin 0 -> 1400 bytes .../gnu/classpath/debug/Simple1LineFormatter.class | Bin 0 -> 3090 bytes .../lib/gnu/classpath/debug/SystemLogger.class | Bin 0 -> 1949 bytes .../lib/gnu/classpath/debug/TeeInputStream.class | Bin 0 -> 1164 bytes .../lib/gnu/classpath/debug/TeeOutputStream.class | Bin 0 -> 1032 bytes .../lib/gnu/classpath/debug/TeeReader.class | Bin 0 -> 1116 bytes .../lib/gnu/classpath/debug/TeeWriter.class | Bin 0 -> 990 bytes .../classpath/lib/gnu/classpath/jdwp/Jdwp$1.class | Bin 0 -> 804 bytes .../classpath/lib/gnu/classpath/jdwp/Jdwp.class | Bin 0 -> 5748 bytes .../classpath/jdwp/JdwpConstants$ClassStatus.class | Bin 0 -> 557 bytes .../JdwpConstants$CommandSet$ArrayReference.class | Bin 0 -> 660 bytes .../jdwp/JdwpConstants$CommandSet$ArrayType.class | Bin 0 -> 583 bytes ...Constants$CommandSet$ClassLoaderReference.class | Bin 0 -> 619 bytes ...Constants$CommandSet$ClassObjectReference.class | Bin 0 -> 618 bytes .../jdwp/JdwpConstants$CommandSet$ClassType.class | Bin 0 -> 683 bytes .../jdwp/JdwpConstants$CommandSet$Event.class | Bin 0 -> 568 bytes .../JdwpConstants$CommandSet$EventRequest.class | Bin 0 -> 657 bytes .../jdwp/JdwpConstants$CommandSet$Field.class | Bin 0 -> 535 bytes .../JdwpConstants$CommandSet$InterfaceType.class | Bin 0 -> 559 bytes .../jdwp/JdwpConstants$CommandSet$Method.class | Bin 0 -> 730 bytes .../JdwpConstants$CommandSet$ObjectReference.class | Bin 0 -> 858 bytes .../JdwpConstants$CommandSet$ReferenceType.class | Bin 0 -> 1101 bytes .../jdwp/JdwpConstants$CommandSet$StackFrame.class | Bin 0 -> 687 bytes .../JdwpConstants$CommandSet$StringReference.class | Bin 0 -> 594 bytes ...Constants$CommandSet$ThreadGroupReference.class | Bin 0 -> 670 bytes .../JdwpConstants$CommandSet$ThreadReference.class | Bin 0 -> 965 bytes .../JdwpConstants$CommandSet$VirtualMachine.class | Bin 0 -> 1291 bytes .../classpath/jdwp/JdwpConstants$CommandSet.class | Bin 0 -> 1924 bytes .../gnu/classpath/jdwp/JdwpConstants$Error.class | Bin 0 -> 2679 bytes .../classpath/jdwp/JdwpConstants$EventKind.class | Bin 0 -> 1119 bytes .../jdwp/JdwpConstants$InvokeOptions.class | Bin 0 -> 522 bytes .../gnu/classpath/jdwp/JdwpConstants$ModKind.class | Bin 0 -> 796 bytes .../classpath/jdwp/JdwpConstants$StepDepth.class | Bin 0 -> 506 bytes .../classpath/jdwp/JdwpConstants$StepSize.class | Bin 0 -> 475 bytes .../jdwp/JdwpConstants$SuspendPolicy.class | Bin 0 -> 526 bytes .../jdwp/JdwpConstants$SuspendStatus.class | Bin 0 -> 468 bytes .../lib/gnu/classpath/jdwp/JdwpConstants$Tag.class | Bin 0 -> 890 bytes .../jdwp/JdwpConstants$ThreadStatus.class | Bin 0 -> 584 bytes .../gnu/classpath/jdwp/JdwpConstants$TypeTag.class | Bin 0 -> 508 bytes .../gnu/classpath/jdwp/JdwpConstants$Version.class | Bin 0 -> 475 bytes .../lib/gnu/classpath/jdwp/JdwpConstants.class | Bin 0 -> 1279 bytes .../classpath/lib/gnu/classpath/jdwp/VMFrame.class | Bin 0 -> 837 bytes .../gnu/classpath/jdwp/VMIdManager$IdFactory.class | Bin 0 -> 3138 bytes .../classpath/jdwp/VMIdManager$ReferenceKey.class | Bin 0 -> 1266 bytes .../lib/gnu/classpath/jdwp/VMIdManager.class | Bin 0 -> 3624 bytes .../lib/gnu/classpath/jdwp/VMMethod.class | Bin 0 -> 1983 bytes .../lib/gnu/classpath/jdwp/VMVirtualMachine.class | Bin 0 -> 2883 bytes .../gnu/classpath/jdwp/event/BreakpointEvent.class | Bin 0 -> 1458 bytes .../classpath/jdwp/event/ClassPrepareEvent.class | Bin 0 -> 2047 bytes .../classpath/jdwp/event/ClassUnloadEvent.class | Bin 0 -> 1000 bytes .../lib/gnu/classpath/jdwp/event/Event.class | Bin 0 -> 1598 bytes .../gnu/classpath/jdwp/event/EventManager.class | Bin 0 -> 4198 bytes .../gnu/classpath/jdwp/event/EventRequest.class | Bin 0 -> 4493 bytes .../gnu/classpath/jdwp/event/ExceptionEvent.class | Bin 0 -> 2304 bytes .../classpath/jdwp/event/MethodEntryEvent.class | Bin 0 -> 1553 bytes .../gnu/classpath/jdwp/event/MethodExitEvent.class | Bin 0 -> 1532 bytes .../gnu/classpath/jdwp/event/SingleStepEvent.class | Bin 0 -> 1549 bytes .../gnu/classpath/jdwp/event/ThreadEndEvent.class | Bin 0 -> 1140 bytes .../classpath/jdwp/event/ThreadStartEvent.class | Bin 0 -> 1146 bytes .../gnu/classpath/jdwp/event/VmDeathEvent.class | Bin 0 -> 657 bytes .../lib/gnu/classpath/jdwp/event/VmInitEvent.class | Bin 0 -> 1120 bytes .../jdwp/event/filters/ClassExcludeFilter.class | Bin 0 -> 703 bytes .../jdwp/event/filters/ClassMatchFilter.class | Bin 0 -> 1588 bytes .../jdwp/event/filters/ClassOnlyFilter.class | Bin 0 -> 1303 bytes .../jdwp/event/filters/ConditionalFilter.class | Bin 0 -> 776 bytes .../classpath/jdwp/event/filters/CountFilter.class | Bin 0 -> 818 bytes .../jdwp/event/filters/ExceptionOnlyFilter.class | Bin 0 -> 1681 bytes .../jdwp/event/filters/FieldOnlyFilter.class | Bin 0 -> 1507 bytes .../jdwp/event/filters/IEventFilter.class | Bin 0 -> 194 bytes .../jdwp/event/filters/InstanceOnlyFilter.class | Bin 0 -> 1328 bytes .../jdwp/event/filters/LocationOnlyFilter.class | Bin 0 -> 889 bytes .../classpath/jdwp/event/filters/StepFilter.class | Bin 0 -> 1463 bytes .../jdwp/event/filters/ThreadOnlyFilter.class | Bin 0 -> 1383 bytes .../jdwp/exception/InvalidClassException.class | Bin 0 -> 865 bytes .../exception/InvalidClassLoaderException.class | Bin 0 -> 889 bytes .../jdwp/exception/InvalidCountException.class | Bin 0 -> 860 bytes .../jdwp/exception/InvalidEventTypeException.class | Bin 0 -> 881 bytes .../jdwp/exception/InvalidFieldException.class | Bin 0 -> 865 bytes .../jdwp/exception/InvalidLocationException.class | Bin 0 -> 623 bytes .../jdwp/exception/InvalidMethodException.class | Bin 0 -> 869 bytes .../jdwp/exception/InvalidObjectException.class | Bin 0 -> 869 bytes .../jdwp/exception/InvalidStringException.class | Bin 0 -> 1023 bytes .../jdwp/exception/InvalidThreadException.class | Bin 0 -> 869 bytes .../exception/InvalidThreadGroupException.class | Bin 0 -> 890 bytes .../classpath/jdwp/exception/JdwpException.class | Bin 0 -> 741 bytes .../exception/JdwpIllegalArgumentException.class | Bin 0 -> 480 bytes .../exception/JdwpInternalErrorException.class | Bin 0 -> 649 bytes .../jdwp/exception/NativeMethodException.class | Bin 0 -> 868 bytes .../jdwp/exception/NotImplementedException.class | Bin 0 -> 753 bytes .../classpath/jdwp/exception/VmDeadException.class | Bin 0 -> 416 bytes .../lib/gnu/classpath/jdwp/id/ArrayId.class | Bin 0 -> 317 bytes .../classpath/jdwp/id/ArrayReferenceTypeId.class | Bin 0 -> 362 bytes .../lib/gnu/classpath/jdwp/id/ClassLoaderId.class | Bin 0 -> 915 bytes .../lib/gnu/classpath/jdwp/id/ClassObjectId.class | Bin 0 -> 874 bytes .../classpath/jdwp/id/ClassReferenceTypeId.class | Bin 0 -> 362 bytes .../jdwp/id/InterfaceReferenceTypeId.class | Bin 0 -> 374 bytes .../lib/gnu/classpath/jdwp/id/JdwpId.class | Bin 0 -> 1359 bytes .../lib/gnu/classpath/jdwp/id/ObjectId.class | Bin 0 -> 1399 bytes .../gnu/classpath/jdwp/id/ReferenceTypeId.class | Bin 0 -> 1033 bytes .../lib/gnu/classpath/jdwp/id/StringId.class | Bin 0 -> 879 bytes .../lib/gnu/classpath/jdwp/id/ThreadGroupId.class | Bin 0 -> 918 bytes .../lib/gnu/classpath/jdwp/id/ThreadId.class | Bin 0 -> 912 bytes .../jdwp/processor/ArrayReferenceCommandSet.class | Bin 0 -> 4143 bytes .../jdwp/processor/ArrayTypeCommandSet.class | Bin 0 -> 2446 bytes .../processor/ClassLoaderReferenceCommandSet.class | Bin 0 -> 2722 bytes .../processor/ClassObjectReferenceCommandSet.class | Bin 0 -> 2157 bytes .../jdwp/processor/ClassTypeCommandSet.class | Bin 0 -> 5471 bytes .../gnu/classpath/jdwp/processor/CommandSet.class | Bin 0 -> 631 bytes .../jdwp/processor/EventRequestCommandSet.class | Bin 0 -> 5267 bytes .../classpath/jdwp/processor/FieldCommandSet.class | Bin 0 -> 814 bytes .../jdwp/processor/InterfaceTypeCommandSet.class | Bin 0 -> 846 bytes .../jdwp/processor/MethodCommandSet.class | Bin 0 -> 3284 bytes .../jdwp/processor/ObjectReferenceCommandSet.class | Bin 0 -> 6344 bytes .../classpath/jdwp/processor/PacketProcessor.class | Bin 0 -> 4326 bytes .../jdwp/processor/ReferenceTypeCommandSet.class | Bin 0 -> 7908 bytes .../jdwp/processor/StackFrameCommandSet.class | Bin 0 -> 3406 bytes .../jdwp/processor/StringReferenceCommandSet.class | Bin 0 -> 1977 bytes .../processor/ThreadGroupReferenceCommandSet.class | Bin 0 -> 3763 bytes .../jdwp/processor/ThreadReferenceCommandSet.class | Bin 0 -> 5835 bytes .../jdwp/processor/VirtualMachineCommandSet.class | Bin 0 -> 9303 bytes .../gnu/classpath/jdwp/transport/ITransport.class | Bin 0 -> 456 bytes .../jdwp/transport/JdwpCommandPacket.class | Bin 0 -> 1601 bytes .../classpath/jdwp/transport/JdwpConnection.class | Bin 0 -> 5043 bytes .../gnu/classpath/jdwp/transport/JdwpPacket.class | Bin 0 -> 2845 bytes .../classpath/jdwp/transport/JdwpReplyPacket.class | Bin 0 -> 1571 bytes .../classpath/jdwp/transport/SocketTransport.class | Bin 0 -> 2603 bytes .../jdwp/transport/TransportException.class | Bin 0 -> 545 bytes .../TransportFactory$TransportMethod.class | Bin 0 -> 638 bytes .../jdwp/transport/TransportFactory.class | Bin 0 -> 2138 bytes .../lib/gnu/classpath/jdwp/util/JdwpString.class | Bin 0 -> 1340 bytes .../lib/gnu/classpath/jdwp/util/LineTable.class | Bin 0 -> 1044 bytes .../lib/gnu/classpath/jdwp/util/Location.class | Bin 0 -> 2633 bytes .../lib/gnu/classpath/jdwp/util/MethodResult.class | Bin 0 -> 878 bytes .../lib/gnu/classpath/jdwp/util/Signature.class | Bin 0 -> 2661 bytes .../lib/gnu/classpath/jdwp/util/Value.class | Bin 0 -> 4871 bytes .../gnu/classpath/jdwp/util/VariableTable.class | Bin 0 -> 1255 bytes libjava/classpath/lib/gnu/gcj/Core.class | Bin 0 -> 429 bytes libjava/classpath/lib/gnu/gcj/RawData.class | Bin 0 -> 262 bytes libjava/classpath/lib/gnu/gcj/RawDataManaged.class | Bin 0 -> 283 bytes .../gnu/gcj/convert/BytesToCharsetAdaptor.class | Bin 0 -> 2167 bytes .../lib/gnu/gcj/convert/BytesToUnicode.class | Bin 0 -> 3258 bytes .../gnu/gcj/convert/CharsetToBytesAdaptor.class | Bin 0 -> 3025 bytes .../classpath/lib/gnu/gcj/convert/Convert.class | Bin 0 -> 5087 bytes .../lib/gnu/gcj/convert/IOConverter.class | Bin 0 -> 2119 bytes .../lib/gnu/gcj/convert/Input_8859_1.class | Bin 0 -> 821 bytes .../lib/gnu/gcj/convert/Input_ASCII.class | Bin 0 -> 816 bytes .../lib/gnu/gcj/convert/Input_EUCJIS.class | Bin 0 -> 502 bytes .../lib/gnu/gcj/convert/Input_JavaSrc.class | Bin 0 -> 1157 bytes .../classpath/lib/gnu/gcj/convert/Input_SJIS.class | Bin 0 -> 453 bytes .../classpath/lib/gnu/gcj/convert/Input_UTF8.class | Bin 0 -> 1130 bytes .../lib/gnu/gcj/convert/Input_UnicodeBig.class | Bin 0 -> 925 bytes .../lib/gnu/gcj/convert/Input_UnicodeLittle.class | Bin 0 -> 942 bytes .../lib/gnu/gcj/convert/Input_iconv.class | Bin 0 -> 719 bytes .../lib/gnu/gcj/convert/Output_8859_1.class | Bin 0 -> 1170 bytes .../lib/gnu/gcj/convert/Output_ASCII.class | Bin 0 -> 1164 bytes .../lib/gnu/gcj/convert/Output_EUCJIS.class | Bin 0 -> 633 bytes .../lib/gnu/gcj/convert/Output_JavaSrc.class | Bin 0 -> 1248 bytes .../lib/gnu/gcj/convert/Output_SJIS.class | Bin 0 -> 605 bytes .../lib/gnu/gcj/convert/Output_UTF8.class | Bin 0 -> 1704 bytes .../gcj/convert/Output_UnicodeLittleUnmarked.class | Bin 0 -> 830 bytes .../lib/gnu/gcj/convert/Output_iconv.class | Bin 0 -> 723 bytes .../lib/gnu/gcj/convert/UnicodeToBytes.class | Bin 0 -> 3627 bytes .../lib/gnu/gcj/io/DefaultMimeTypes.class | Bin 0 -> 5579 bytes libjava/classpath/lib/gnu/gcj/io/MimeTypes.class | Bin 0 -> 1793 bytes .../classpath/lib/gnu/gcj/io/SimpleSHSStream.class | Bin 0 -> 1323 bytes .../classpath/lib/gnu/gcj/jvmti/Breakpoint.class | Bin 0 -> 626 bytes .../lib/gnu/gcj/jvmti/BreakpointManager.class | Bin 0 -> 1275 bytes libjava/classpath/lib/gnu/gcj/jvmti/Location.class | Bin 0 -> 1096 bytes .../lib/gnu/gcj/runtime/BootClassLoader.class | Bin 0 -> 1561 bytes .../lib/gnu/gcj/runtime/ExtensionClassLoader.class | Bin 0 -> 864 bytes .../lib/gnu/gcj/runtime/FinalizerThread.class | Bin 0 -> 525 bytes .../lib/gnu/gcj/runtime/HelperClassLoader$1.class | Bin 0 -> 896 bytes .../lib/gnu/gcj/runtime/HelperClassLoader.class | Bin 0 -> 2189 bytes .../classpath/lib/gnu/gcj/runtime/JNIWeakRef.class | Bin 0 -> 363 bytes .../lib/gnu/gcj/runtime/NameFinder$Addr2Line.class | Bin 0 -> 1669 bytes .../classpath/lib/gnu/gcj/runtime/NameFinder.class | Bin 0 -> 5440 bytes .../gcj/runtime/PersistentByteMap$AccessMode.class | Bin 0 -> 991 bytes .../runtime/PersistentByteMap$ByteWrapper.class | Bin 0 -> 953 bytes .../runtime/PersistentByteMap$HashIterator.class | Bin 0 -> 1509 bytes .../gcj/runtime/PersistentByteMap$MapEntry.class | Bin 0 -> 877 bytes .../lib/gnu/gcj/runtime/PersistentByteMap.class | Bin 0 -> 9645 bytes .../lib/gnu/gcj/runtime/SharedLibHelper.class | Bin 0 -> 5568 bytes .../lib/gnu/gcj/runtime/SharedLibLoader.class | Bin 0 -> 2052 bytes .../lib/gnu/gcj/runtime/StringBuffer.class | Bin 0 -> 2514 bytes .../lib/gnu/gcj/runtime/SystemClassLoader.class | Bin 0 -> 2998 bytes .../lib/gnu/gcj/tools/gcj_dbtool/Fileset.class | Bin 0 -> 1534 bytes .../lib/gnu/gcj/tools/gcj_dbtool/Main.class | Bin 0 -> 10771 bytes .../lib/gnu/gcj/tools/gcj_dbtool/Tokenizer.class | Bin 0 -> 1101 bytes libjava/classpath/lib/gnu/gcj/util/Debug.class | Bin 0 -> 5432 bytes ...bleComponentList$VisibleComponentIterator.class | Bin 0 -> 2389 bytes .../awt/AWTUtilities$VisibleComponentList.class | Bin 0 -> 1070 bytes .../classpath/lib/gnu/java/awt/AWTUtilities.class | Bin 0 -> 5941 bytes .../classpath/lib/gnu/java/awt/BitMaskExtent.class | Bin 0 -> 788 bytes .../awt/BitwiseXORComposite$GeneralContext.class | Bin 0 -> 2206 bytes .../java/awt/BitwiseXORComposite$IntContext.class | Bin 0 -> 2306 bytes .../lib/gnu/java/awt/BitwiseXORComposite.class | Bin 0 -> 1207 bytes libjava/classpath/lib/gnu/java/awt/Buffers.class | Bin 0 -> 2865 bytes .../lib/gnu/java/awt/ClasspathToolkit.class | Bin 0 -> 2455 bytes .../lib/gnu/java/awt/ComponentDataBlitOp.class | Bin 0 -> 3258 bytes .../lib/gnu/java/awt/ComponentReshapeEvent.class | Bin 0 -> 588 bytes .../lib/gnu/java/awt/EmbeddedWindow.class | Bin 0 -> 2023 bytes .../classpath/lib/gnu/java/awt/EventModifier.class | Bin 0 -> 833 bytes .../lib/gnu/java/awt/GradientPaintContext.class | Bin 0 -> 2322 bytes .../lib/gnu/java/awt/LowPriorityEvent.class | Bin 0 -> 126 bytes .../lib/gnu/java/awt/color/CieXyzConverter.class | Bin 0 -> 928 bytes .../gnu/java/awt/color/ClutProfileConverter.class | Bin 0 -> 1763 bytes .../lib/gnu/java/awt/color/ColorLookUpTable.class | Bin 0 -> 6371 bytes .../gnu/java/awt/color/ColorSpaceConverter.class | Bin 0 -> 221 bytes .../gnu/java/awt/color/GrayProfileConverter.class | Bin 0 -> 1883 bytes .../gnu/java/awt/color/GrayScaleConverter.class | Bin 0 -> 1653 bytes .../gnu/java/awt/color/LinearRGBConverter.class | Bin 0 -> 1747 bytes .../lib/gnu/java/awt/color/ProfileHeader.class | Bin 0 -> 5228 bytes .../lib/gnu/java/awt/color/PyccConverter.class | Bin 0 -> 755 bytes .../gnu/java/awt/color/RgbProfileConverter.class | Bin 0 -> 3481 bytes .../lib/gnu/java/awt/color/SrgbConverter.class | Bin 0 -> 1766 bytes .../lib/gnu/java/awt/color/TagEntry.class | Bin 0 -> 1964 bytes .../gnu/java/awt/color/ToneReproductionCurve.class | Bin 0 -> 1850 bytes .../awt/dnd/GtkMouseDragGestureRecognizer.class | Bin 0 -> 3199 bytes .../dnd/peer/gtk/GtkDragSourceContextPeer.class | Bin 0 -> 4092 bytes .../dnd/peer/gtk/GtkDropTargetContextPeer.class | Bin 0 -> 1604 bytes .../java/awt/dnd/peer/gtk/GtkDropTargetPeer.class | Bin 0 -> 654 bytes .../lib/gnu/java/awt/font/FontDelegate.class | Bin 0 -> 792 bytes .../lib/gnu/java/awt/font/FontFactory.class | Bin 0 -> 581 bytes .../lib/gnu/java/awt/font/GNUGlyphVector.class | Bin 0 -> 6624 bytes .../lib/gnu/java/awt/font/autofit/AxisHints.class | Bin 0 -> 362 bytes .../lib/gnu/java/awt/font/autofit/Constants.class | Bin 0 -> 258 bytes .../lib/gnu/java/awt/font/autofit/GlyphHints.class | Bin 0 -> 972 bytes .../lib/gnu/java/awt/font/autofit/Latin.class | Bin 0 -> 4407 bytes .../lib/gnu/java/awt/font/autofit/LatinAxis.class | Bin 0 -> 450 bytes .../gnu/java/awt/font/autofit/LatinMetrics.class | Bin 0 -> 417 bytes .../lib/gnu/java/awt/font/autofit/Scaler.class | Bin 0 -> 426 bytes .../lib/gnu/java/awt/font/autofit/Script.class | Bin 0 -> 447 bytes .../gnu/java/awt/font/autofit/ScriptMetrics.class | Bin 0 -> 424 bytes .../lib/gnu/java/awt/font/autofit/Segment.class | Bin 0 -> 347 bytes .../lib/gnu/java/awt/font/autofit/Width.class | Bin 0 -> 338 bytes .../awt/font/opentype/CharGlyphMap$Dummy.class | Bin 0 -> 595 bytes .../awt/font/opentype/CharGlyphMap$Type0.class | Bin 0 -> 5509 bytes .../awt/font/opentype/CharGlyphMap$Type12.class | Bin 0 -> 1637 bytes .../awt/font/opentype/CharGlyphMap$Type4.class | Bin 0 -> 2808 bytes .../gnu/java/awt/font/opentype/CharGlyphMap.class | Bin 0 -> 2377 bytes .../gnu/java/awt/font/opentype/GlyphNamer.class | Bin 0 -> 21906 bytes .../font/opentype/MacResourceFork$Resource.class | Bin 0 -> 1571 bytes .../java/awt/font/opentype/MacResourceFork.class | Bin 0 -> 2474 bytes .../gnu/java/awt/font/opentype/NameDecoder.class | Bin 0 -> 8392 bytes .../gnu/java/awt/font/opentype/OpenTypeFont.class | Bin 0 -> 8291 bytes .../awt/font/opentype/OpenTypeFontFactory.class | Bin 0 -> 1609 bytes .../lib/gnu/java/awt/font/opentype/Scaler.class | Bin 0 -> 656 bytes .../java/awt/font/opentype/truetype/Fixed.class | Bin 0 -> 1969 bytes .../awt/font/opentype/truetype/GlyphLoader.class | Bin 0 -> 7309 bytes .../opentype/truetype/GlyphLocator$FourByte.class | Bin 0 -> 1050 bytes .../opentype/truetype/GlyphLocator$TwoByte.class | Bin 0 -> 1055 bytes .../awt/font/opentype/truetype/GlyphLocator.class | Bin 0 -> 1073 bytes .../awt/font/opentype/truetype/GlyphMeasurer.class | Bin 0 -> 2140 bytes .../font/opentype/truetype/TrueTypeScaler.class | Bin 0 -> 4706 bytes .../font/opentype/truetype/VirtualMachine.class | Bin 0 -> 25434 bytes .../gnu/java/awt/font/opentype/truetype/Zone.class | Bin 0 -> 4834 bytes .../font/opentype/truetype/ZonePathIterator.class | Bin 0 -> 2814 bytes .../ImageDecoder$DataInputStreamWrapper.class | Bin 0 -> 767 bytes .../lib/gnu/java/awt/image/ImageDecoder.class | Bin 0 -> 2977 bytes .../lib/gnu/java/awt/image/XBMDecoder.class | Bin 0 -> 2987 bytes .../gnu/java/awt/java2d/AbstractGraphics2D.class | Bin 0 -> 33135 bytes .../java/awt/java2d/AlphaCompositeContext.class | Bin 0 -> 3745 bytes .../lib/gnu/java/awt/java2d/CubicSegment.class | Bin 0 -> 3098 bytes .../awt/java2d/ImagePaint$ImagePaintContext.class | Bin 0 -> 2514 bytes .../lib/gnu/java/awt/java2d/ImagePaint.class | Bin 0 -> 1292 bytes .../lib/gnu/java/awt/java2d/LineSegment.class | Bin 0 -> 2054 bytes .../lib/gnu/java/awt/java2d/PolyEdge.class | Bin 0 -> 1559 bytes .../gnu/java/awt/java2d/PolyEdgeComparator.class | Bin 0 -> 752 bytes .../lib/gnu/java/awt/java2d/QuadSegment.class | Bin 0 -> 4635 bytes .../lib/gnu/java/awt/java2d/RasterGraphics.class | Bin 0 -> 940 bytes .../lib/gnu/java/awt/java2d/Segment.class | Bin 0 -> 1826 bytes .../lib/gnu/java/awt/java2d/ShapeCache.class | Bin 0 -> 551 bytes .../gnu/java/awt/java2d/TexturePaintContext.class | Bin 0 -> 3431 bytes .../lib/gnu/java/awt/peer/ClasspathFontPeer.class | Bin 0 -> 8543 bytes .../lib/gnu/java/awt/peer/EmbeddedWindowPeer.class | Bin 0 -> 189 bytes .../lib/gnu/java/awt/peer/GLightweightPeer.class | Bin 0 -> 7416 bytes .../awt/peer/NativeEventLoopRunningEvent.class | Bin 0 -> 608 bytes .../gnu/java/awt/peer/gtk/AsyncImage$Loader.class | Bin 0 -> 1343 bytes .../awt/peer/gtk/AsyncImage$NullImageSource.class | Bin 0 -> 1614 bytes .../lib/gnu/java/awt/peer/gtk/AsyncImage.class | Bin 0 -> 3561 bytes .../java/awt/peer/gtk/BufferedImageGraphics.class | Bin 0 -> 10724 bytes .../gnu/java/awt/peer/gtk/CairoGraphics2D.class | Bin 0 -> 36599 bytes .../peer/gtk/CairoSurface$CairoDataBuffer.class | Bin 0 -> 1519 bytes .../lib/gnu/java/awt/peer/gtk/CairoSurface.class | Bin 0 -> 5276 bytes .../java/awt/peer/gtk/CairoSurfaceGraphics.class | Bin 0 -> 7704 bytes .../gnu/java/awt/peer/gtk/ComponentGraphics.class | Bin 0 -> 12284 bytes .../java/awt/peer/gtk/ComponentGraphicsCopy.class | Bin 0 -> 2743 bytes .../java/awt/peer/gtk/FreetypeGlyphVector.class | Bin 0 -> 8741 bytes .../lib/gnu/java/awt/peer/gtk/GThreadMutex.class | Bin 0 -> 439 bytes .../awt/peer/gtk/GThreadNativeMethodRunner.class | Bin 0 -> 2869 bytes .../peer/gtk/GdkFontPeer$GdkFontLineMetrics.class | Bin 0 -> 1705 bytes .../awt/peer/gtk/GdkFontPeer$GdkFontMetrics.class | Bin 0 -> 2341 bytes .../lib/gnu/java/awt/peer/gtk/GdkFontPeer.class | Bin 0 -> 9155 bytes .../awt/peer/gtk/GdkGraphicsConfiguration.class | Bin 0 -> 3231 bytes .../java/awt/peer/gtk/GdkGraphicsEnvironment.class | Bin 0 -> 2766 bytes .../gtk/GdkPixbufDecoder$GdkPixbufReader.class | Bin 0 -> 5200 bytes .../gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class | Bin 0 -> 1825 bytes .../gtk/GdkPixbufDecoder$GdkPixbufWriter.class | Bin 0 -> 5158 bytes .../gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class | Bin 0 -> 1878 bytes .../gtk/GdkPixbufDecoder$ImageFormatSpec.class | Bin 0 -> 1003 bytes .../gnu/java/awt/peer/gtk/GdkPixbufDecoder.class | Bin 0 -> 7774 bytes .../lib/gnu/java/awt/peer/gtk/GdkRobotPeer.class | Bin 0 -> 1566 bytes .../GdkScreenGraphicsDevice$X11DisplayMode.class | Bin 0 -> 626 bytes .../awt/peer/gtk/GdkScreenGraphicsDevice.class | Bin 0 -> 5577 bytes .../lib/gnu/java/awt/peer/gtk/GtkButtonPeer.class | Bin 0 -> 1557 bytes .../lib/gnu/java/awt/peer/gtk/GtkCanvasPeer.class | Bin 0 -> 664 bytes .../awt/peer/gtk/GtkCheckboxMenuItemPeer.class | Bin 0 -> 1170 bytes .../gnu/java/awt/peer/gtk/GtkCheckboxPeer.class | Bin 0 -> 3001 bytes .../lib/gnu/java/awt/peer/gtk/GtkChoicePeer.class | Bin 0 -> 2221 bytes .../lib/gnu/java/awt/peer/gtk/GtkClipboard.class | Bin 0 -> 6435 bytes .../java/awt/peer/gtk/GtkClipboardNotifier.class | Bin 0 -> 1567 bytes .../gtk/GtkComponentPeer$RepaintTimerTask.class | Bin 0 -> 1498 bytes .../gnu/java/awt/peer/gtk/GtkComponentPeer.class | Bin 0 -> 18251 bytes .../gnu/java/awt/peer/gtk/GtkContainerPeer.class | Bin 0 -> 2481 bytes .../lib/gnu/java/awt/peer/gtk/GtkCursor.class | Bin 0 -> 979 bytes .../lib/gnu/java/awt/peer/gtk/GtkDialogPeer.class | Bin 0 -> 914 bytes .../java/awt/peer/gtk/GtkEmbeddedWindowPeer.class | Bin 0 -> 847 bytes .../gnu/java/awt/peer/gtk/GtkFileDialogPeer.class | Bin 0 -> 4290 bytes .../lib/gnu/java/awt/peer/gtk/GtkFramePeer.class | Bin 0 -> 4563 bytes .../lib/gnu/java/awt/peer/gtk/GtkGenericPeer.class | Bin 0 -> 1974 bytes .../lib/gnu/java/awt/peer/gtk/GtkImage.class | Bin 0 -> 7420 bytes .../gnu/java/awt/peer/gtk/GtkImageConsumer.class | Bin 0 -> 3184 bytes .../lib/gnu/java/awt/peer/gtk/GtkLabelPeer.class | Bin 0 -> 1390 bytes .../lib/gnu/java/awt/peer/gtk/GtkListPeer.class | Bin 0 -> 3563 bytes .../lib/gnu/java/awt/peer/gtk/GtkMainThread.class | Bin 0 -> 2319 bytes .../lib/gnu/java/awt/peer/gtk/GtkMenuBarPeer.class | Bin 0 -> 1236 bytes .../java/awt/peer/gtk/GtkMenuComponentPeer.class | Bin 0 -> 1145 bytes .../gnu/java/awt/peer/gtk/GtkMenuItemPeer.class | Bin 0 -> 1236 bytes .../lib/gnu/java/awt/peer/gtk/GtkMenuPeer.class | Bin 0 -> 1927 bytes .../gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class | Bin 0 -> 1504 bytes .../lib/gnu/java/awt/peer/gtk/GtkPanelPeer.class | Bin 0 -> 850 bytes .../gnu/java/awt/peer/gtk/GtkPopupMenuPeer.class | Bin 0 -> 1015 bytes .../gnu/java/awt/peer/gtk/GtkScrollPanePeer.class | Bin 0 -> 1785 bytes .../gnu/java/awt/peer/gtk/GtkScrollbarPeer.class | Bin 0 -> 1629 bytes .../lib/gnu/java/awt/peer/gtk/GtkSelection.class | Bin 0 -> 7019 bytes .../gnu/java/awt/peer/gtk/GtkTextAreaPeer.class | Bin 0 -> 4023 bytes .../gnu/java/awt/peer/gtk/GtkTextFieldPeer.class | Bin 0 -> 3662 bytes .../java/awt/peer/gtk/GtkToolkit$LRUCache.class | Bin 0 -> 672 bytes .../lib/gnu/java/awt/peer/gtk/GtkToolkit.class | Bin 0 -> 17432 bytes .../gnu/java/awt/peer/gtk/GtkVolatileImage.class | Bin 0 -> 4243 bytes .../lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class | Bin 0 -> 7753 bytes .../java/awt/peer/gtk/VolatileImageGraphics.class | Bin 0 -> 7987 bytes .../headless/HeadlessGraphicsEnvironment.class | Bin 0 -> 2568 bytes .../java/awt/peer/headless/HeadlessToolkit.class | Bin 0 -> 7617 bytes .../lib/gnu/java/awt/peer/qt/MainQtThread.class | Bin 0 -> 830 bytes .../lib/gnu/java/awt/peer/qt/NativeWrapper.class | Bin 0 -> 333 bytes .../lib/gnu/java/awt/peer/qt/QMatrix.class | Bin 0 -> 823 bytes .../lib/gnu/java/awt/peer/qt/QPainterPath.class | Bin 0 -> 1782 bytes .../classpath/lib/gnu/java/awt/peer/qt/QPen.class | Bin 0 -> 926 bytes .../lib/gnu/java/awt/peer/qt/QtAudioClip.class | Bin 0 -> 1506 bytes .../lib/gnu/java/awt/peer/qt/QtButtonPeer.class | Bin 0 -> 1370 bytes .../lib/gnu/java/awt/peer/qt/QtCanvasPeer.class | Bin 0 -> 846 bytes .../lib/gnu/java/awt/peer/qt/QtCheckboxPeer.class | Bin 0 -> 2071 bytes .../lib/gnu/java/awt/peer/qt/QtChoicePeer.class | Bin 0 -> 1760 bytes .../gnu/java/awt/peer/qt/QtComponentGraphics.class | Bin 0 -> 1920 bytes .../peer/qt/QtComponentPeer$RepaintTimerTask.class | Bin 0 -> 1132 bytes .../lib/gnu/java/awt/peer/qt/QtComponentPeer.class | Bin 0 -> 16303 bytes .../lib/gnu/java/awt/peer/qt/QtContainerPeer.class | Bin 0 -> 1580 bytes .../lib/gnu/java/awt/peer/qt/QtDialogPeer.class | Bin 0 -> 1208 bytes .../java/awt/peer/qt/QtEmbeddedWindowPeer.class | Bin 0 -> 664 bytes .../gnu/java/awt/peer/qt/QtFileDialogPeer.class | Bin 0 -> 1336 bytes .../lib/gnu/java/awt/peer/qt/QtFontMetrics.class | Bin 0 -> 2250 bytes .../lib/gnu/java/awt/peer/qt/QtFontPeer.class | Bin 0 -> 4252 bytes .../lib/gnu/java/awt/peer/qt/QtFramePeer.class | Bin 0 -> 2945 bytes .../lib/gnu/java/awt/peer/qt/QtGraphics.class | Bin 0 -> 17525 bytes .../java/awt/peer/qt/QtGraphicsEnvironment.class | Bin 0 -> 2031 bytes .../lib/gnu/java/awt/peer/qt/QtImage.class | Bin 0 -> 10031 bytes .../lib/gnu/java/awt/peer/qt/QtImageConsumer.class | Bin 0 -> 2774 bytes .../java/awt/peer/qt/QtImageDirectGraphics.class | Bin 0 -> 3155 bytes .../lib/gnu/java/awt/peer/qt/QtImageGraphics.class | Bin 0 -> 2582 bytes .../lib/gnu/java/awt/peer/qt/QtLabelPeer.class | Bin 0 -> 910 bytes .../lib/gnu/java/awt/peer/qt/QtListPeer.class | Bin 0 -> 3498 bytes .../lib/gnu/java/awt/peer/qt/QtMenuBarPeer.class | Bin 0 -> 1748 bytes .../gnu/java/awt/peer/qt/QtMenuComponentPeer.class | Bin 0 -> 1191 bytes .../lib/gnu/java/awt/peer/qt/QtMenuItemPeer.class | Bin 0 -> 1993 bytes .../lib/gnu/java/awt/peer/qt/QtMenuPeer.class | Bin 0 -> 3060 bytes .../lib/gnu/java/awt/peer/qt/QtPanelPeer.class | Bin 0 -> 605 bytes .../lib/gnu/java/awt/peer/qt/QtPopupMenuPeer.class | Bin 0 -> 1468 bytes .../peer/qt/QtRepaintThread$RepaintComponent.class | Bin 0 -> 964 bytes .../lib/gnu/java/awt/peer/qt/QtRepaintThread.class | Bin 0 -> 1750 bytes .../lib/gnu/java/awt/peer/qt/QtScreenDevice.class | Bin 0 -> 2089 bytes .../awt/peer/qt/QtScreenDeviceConfiguration.class | Bin 0 -> 2755 bytes .../gnu/java/awt/peer/qt/QtScrollPanePeer.class | Bin 0 -> 1410 bytes .../lib/gnu/java/awt/peer/qt/QtScrollbarPeer.class | Bin 0 -> 1602 bytes .../lib/gnu/java/awt/peer/qt/QtTextAreaPeer.class | Bin 0 -> 3522 bytes .../lib/gnu/java/awt/peer/qt/QtTextFieldPeer.class | Bin 0 -> 2954 bytes .../lib/gnu/java/awt/peer/qt/QtToolkit.class | Bin 0 -> 12257 bytes .../gnu/java/awt/peer/qt/QtVolatileImage$1.class | Bin 0 -> 716 bytes .../lib/gnu/java/awt/peer/qt/QtVolatileImage.class | Bin 0 -> 7103 bytes .../lib/gnu/java/awt/peer/qt/QtWindowPeer.class | Bin 0 -> 849 bytes .../peer/swing/SwingButtonPeer$SwingButton.class | Bin 0 -> 2148 bytes .../SwingButtonPeer$SwingButtonListener.class | Bin 0 -> 1280 bytes .../gnu/java/awt/peer/swing/SwingButtonPeer.class | Bin 0 -> 1351 bytes .../gnu/java/awt/peer/swing/SwingCanvasPeer.class | Bin 0 -> 572 bytes .../gnu/java/awt/peer/swing/SwingComponent.class | Bin 0 -> 335 bytes .../java/awt/peer/swing/SwingComponentPeer.class | Bin 0 -> 12438 bytes .../java/awt/peer/swing/SwingContainerPeer.class | Bin 0 -> 5446 bytes .../gnu/java/awt/peer/swing/SwingFramePeer.class | Bin 0 -> 2549 bytes .../awt/peer/swing/SwingLabelPeer$SwingLabel.class | Bin 0 -> 1996 bytes .../gnu/java/awt/peer/swing/SwingLabelPeer.class | Bin 0 -> 1575 bytes .../awt/peer/swing/SwingListPeer$SwingList.class | Bin 0 -> 2229 bytes .../gnu/java/awt/peer/swing/SwingListPeer.class | Bin 0 -> 4649 bytes .../peer/swing/SwingMenuBarPeer$SwingMenuBar.class | Bin 0 -> 1590 bytes .../gnu/java/awt/peer/swing/SwingMenuBarPeer.class | Bin 0 -> 3584 bytes .../SwingMenuItemPeer$SwingMenuItemListener.class | Bin 0 -> 1326 bytes .../java/awt/peer/swing/SwingMenuItemPeer.class | Bin 0 -> 1645 bytes .../awt/peer/swing/SwingMenuPeer$SwingMenu.class | Bin 0 -> 1556 bytes .../gnu/java/awt/peer/swing/SwingMenuPeer.class | Bin 0 -> 2958 bytes .../gnu/java/awt/peer/swing/SwingPanelPeer.class | Bin 0 -> 549 bytes .../swing/SwingTextAreaPeer$SwingTextArea.class | Bin 0 -> 2265 bytes .../java/awt/peer/swing/SwingTextAreaPeer.class | Bin 0 -> 3822 bytes .../swing/SwingTextFieldPeer$SwingTextField.class | Bin 0 -> 2190 bytes .../java/awt/peer/swing/SwingTextFieldPeer.class | Bin 0 -> 3242 bytes .../lib/gnu/java/awt/peer/swing/SwingToolkit.class | Bin 0 -> 2296 bytes .../gnu/java/awt/peer/swing/SwingWindowPeer.class | Bin 0 -> 556 bytes .../gnu/java/awt/print/JavaPrinterGraphics.class | Bin 0 -> 12394 bytes .../lib/gnu/java/awt/print/JavaPrinterJob.class | Bin 0 -> 6418 bytes .../gnu/java/awt/print/PostScriptGraphics2D.class | Bin 0 -> 30082 bytes .../lib/gnu/java/awt/print/SpooledDocument.class | Bin 0 -> 1252 bytes .../lib/gnu/java/beans/BeanInfoEmbryo.class | Bin 0 -> 4796 bytes .../gnu/java/beans/DefaultExceptionListener.class | Bin 0 -> 1092 bytes .../classpath/lib/gnu/java/beans/DoubleKey.class | Bin 0 -> 993 bytes .../lib/gnu/java/beans/DummyAppletContext.class | Bin 0 -> 2208 bytes .../lib/gnu/java/beans/DummyAppletStub.class | Bin 0 -> 1275 bytes .../lib/gnu/java/beans/ExplicitBeanInfo.class | Bin 0 -> 2128 bytes .../gnu/java/beans/IntrospectionIncubator.class | Bin 0 -> 8782 bytes .../gnu/java/beans/decoder/AbstractContext.class | Bin 0 -> 811 bytes .../decoder/AbstractCreatableObjectContext.class | Bin 0 -> 1412 bytes .../beans/decoder/AbstractElementHandler.class | Bin 0 -> 4436 bytes .../java/beans/decoder/AbstractObjectContext.class | Bin 0 -> 2066 bytes .../lib/gnu/java/beans/decoder/ArrayContext.class | Bin 0 -> 2068 bytes .../lib/gnu/java/beans/decoder/ArrayHandler.class | Bin 0 -> 2748 bytes .../gnu/java/beans/decoder/AssemblyException.class | Bin 0 -> 393 bytes .../gnu/java/beans/decoder/BooleanHandler.class | Bin 0 -> 1035 bytes .../lib/gnu/java/beans/decoder/ByteHandler.class | Bin 0 -> 718 bytes .../lib/gnu/java/beans/decoder/CharHandler.class | Bin 0 -> 958 bytes .../lib/gnu/java/beans/decoder/ClassHandler.class | Bin 0 -> 880 bytes .../java/beans/decoder/ConstructorContext.class | Bin 0 -> 2106 bytes .../lib/gnu/java/beans/decoder/Context.class | Bin 0 -> 704 bytes .../gnu/java/beans/decoder/DecoderContext.class | Bin 0 -> 1913 bytes .../lib/gnu/java/beans/decoder/DoubleHandler.class | Bin 0 -> 728 bytes .../lib/gnu/java/beans/decoder/DummyContext.class | Bin 0 -> 1589 bytes .../lib/gnu/java/beans/decoder/DummyHandler.class | Bin 0 -> 2314 bytes .../gnu/java/beans/decoder/ElementHandler.class | Bin 0 -> 860 bytes .../lib/gnu/java/beans/decoder/FloatHandler.class | Bin 0 -> 723 bytes .../java/beans/decoder/GrowableArrayContext.class | Bin 0 -> 2456 bytes .../lib/gnu/java/beans/decoder/IndexContext.class | Bin 0 -> 2043 bytes .../lib/gnu/java/beans/decoder/IntHandler.class | Bin 0 -> 721 bytes .../lib/gnu/java/beans/decoder/JavaHandler.class | Bin 0 -> 1942 bytes .../lib/gnu/java/beans/decoder/LongHandler.class | Bin 0 -> 718 bytes .../lib/gnu/java/beans/decoder/MethodContext.class | Bin 0 -> 2509 bytes .../lib/gnu/java/beans/decoder/MethodFinder.class | Bin 0 -> 3321 bytes .../lib/gnu/java/beans/decoder/NullHandler.class | Bin 0 -> 911 bytes .../lib/gnu/java/beans/decoder/ObjectContext.class | Bin 0 -> 1498 bytes .../lib/gnu/java/beans/decoder/ObjectHandler.class | Bin 0 -> 3188 bytes .../PersistenceParser$ArrayHandlerCreator.class | Bin 0 -> 971 bytes .../PersistenceParser$BooleanHandlerCreator.class | Bin 0 -> 979 bytes .../PersistenceParser$ByteHandlerCreator.class | Bin 0 -> 967 bytes .../PersistenceParser$CharHandlerCreator.class | Bin 0 -> 967 bytes .../PersistenceParser$ClassHandlerCreator.class | Bin 0 -> 971 bytes .../beans/decoder/PersistenceParser$Creator.class | Bin 0 -> 348 bytes .../PersistenceParser$DoubleHandlerCreator.class | Bin 0 -> 975 bytes .../PersistenceParser$FloatHandlerCreator.class | Bin 0 -> 971 bytes .../PersistenceParser$IntHandlerCreator.class | Bin 0 -> 963 bytes .../PersistenceParser$JavaHandlerCreator.class | Bin 0 -> 934 bytes .../PersistenceParser$LongHandlerCreator.class | Bin 0 -> 967 bytes .../PersistenceParser$NullHandlerCreator.class | Bin 0 -> 967 bytes .../PersistenceParser$ObjectHandlerCreator.class | Bin 0 -> 975 bytes .../PersistenceParser$ShortHandlerCreator.class | Bin 0 -> 971 bytes .../PersistenceParser$StringHandlerCreator.class | Bin 0 -> 975 bytes .../PersistenceParser$VoidHandlerCreator.class | Bin 0 -> 967 bytes .../gnu/java/beans/decoder/PersistenceParser.class | Bin 0 -> 8449 bytes .../gnu/java/beans/decoder/PropertyContext.class | Bin 0 -> 3270 bytes .../lib/gnu/java/beans/decoder/ShortHandler.class | Bin 0 -> 723 bytes .../lib/gnu/java/beans/decoder/SimpleHandler.class | Bin 0 -> 2072 bytes .../java/beans/decoder/StaticMethodContext.class | Bin 0 -> 2088 bytes .../lib/gnu/java/beans/decoder/StringHandler.class | Bin 0 -> 586 bytes .../lib/gnu/java/beans/decoder/VoidHandler.class | Bin 0 -> 2834 bytes .../lib/gnu/java/beans/editors/ColorEditor.class | Bin 0 -> 2251 bytes .../lib/gnu/java/beans/editors/FontEditor.class | Bin 0 -> 1381 bytes .../java/beans/editors/NativeBooleanEditor.class | Bin 0 -> 1232 bytes .../gnu/java/beans/editors/NativeByteEditor.class | Bin 0 -> 850 bytes .../java/beans/editors/NativeDoubleEditor.class | Bin 0 -> 860 bytes .../gnu/java/beans/editors/NativeFloatEditor.class | Bin 0 -> 855 bytes .../gnu/java/beans/editors/NativeIntEditor.class | Bin 0 -> 853 bytes .../gnu/java/beans/editors/NativeLongEditor.class | Bin 0 -> 850 bytes .../gnu/java/beans/editors/NativeShortEditor.class | Bin 0 -> 855 bytes .../lib/gnu/java/beans/editors/StringEditor.class | Bin 0 -> 735 bytes .../beans/encoder/ArrayPersistenceDelegate.class | Bin 0 -> 3069 bytes .../beans/encoder/ClassPersistenceDelegate.class | Bin 0 -> 972 bytes .../encoder/CollectionPersistenceDelegate.class | Bin 0 -> 1511 bytes .../lib/gnu/java/beans/encoder/Context.class | Bin 0 -> 1179 bytes .../java/beans/encoder/GenericScannerState.class | Bin 0 -> 5047 bytes .../java/beans/encoder/IgnoringScannerState.class | Bin 0 -> 2183 bytes .../beans/encoder/MapPersistenceDelegate.class | Bin 0 -> 1681 bytes .../lib/gnu/java/beans/encoder/ObjectId.class | Bin 0 -> 2310 bytes .../encoder/PrimitivePersistenceDelegate.class | Bin 0 -> 1210 bytes .../java/beans/encoder/ReportingScannerState.class | Bin 0 -> 3297 bytes .../gnu/java/beans/encoder/Root$RootElement.class | Bin 0 -> 1105 bytes .../lib/gnu/java/beans/encoder/Root.class | Bin 0 -> 2009 bytes .../lib/gnu/java/beans/encoder/ScanEngine.class | Bin 0 -> 10282 bytes .../lib/gnu/java/beans/encoder/ScannerState.class | Bin 0 -> 4519 bytes .../lib/gnu/java/beans/encoder/StAXWriter.class | Bin 0 -> 3532 bytes .../lib/gnu/java/beans/encoder/Writer.class | Bin 0 -> 579 bytes .../encoder/elements/ArrayInstantiation.class | Bin 0 -> 1307 bytes .../java/beans/encoder/elements/Array_Get.class | Bin 0 -> 803 bytes .../java/beans/encoder/elements/Array_Set.class | Bin 0 -> 803 bytes .../beans/encoder/elements/ClassResolution.class | Bin 0 -> 881 bytes .../gnu/java/beans/encoder/elements/Element.class | Bin 0 -> 1800 bytes .../gnu/java/beans/encoder/elements/List_Get.class | Bin 0 -> 626 bytes .../gnu/java/beans/encoder/elements/List_Set.class | Bin 0 -> 626 bytes .../beans/encoder/elements/MethodInvocation.class | Bin 0 -> 819 bytes .../java/beans/encoder/elements/NullObject.class | Bin 0 -> 709 bytes .../encoder/elements/ObjectInstantiation.class | Bin 0 -> 1224 bytes .../beans/encoder/elements/ObjectReference.class | Bin 0 -> 943 bytes .../encoder/elements/PrimitiveInstantiation.class | Bin 0 -> 949 bytes .../beans/encoder/elements/StaticFieldAccess.class | Bin 0 -> 972 bytes .../encoder/elements/StaticMethodInvocation.class | Bin 0 -> 988 bytes .../beans/encoder/elements/StringReference.class | Bin 0 -> 867 bytes .../lib/gnu/java/io/ASN1ParsingException.class | Bin 0 -> 453 bytes .../lib/gnu/java/io/Base64InputStream.class | Bin 0 -> 2758 bytes .../gnu/java/io/ClassLoaderObjectInputStream.class | Bin 0 -> 881 bytes .../lib/gnu/java/io/NullOutputStream.class | Bin 0 -> 710 bytes .../lib/gnu/java/io/ObjectIdentityMap2Int.class | Bin 0 -> 2650 bytes .../lib/gnu/java/io/ObjectIdentityWrapper.class | Bin 0 -> 1122 bytes .../classpath/lib/gnu/java/io/PlatformHelper.class | Bin 0 -> 1866 bytes .../classpath/lib/gnu/java/lang/ArrayHelper.class | Bin 0 -> 716 bytes libjava/classpath/lib/gnu/java/lang/CharData.class | Bin 0 -> 41184 bytes .../classpath/lib/gnu/java/lang/ClassHelper.class | Bin 0 -> 3642 bytes .../lib/gnu/java/lang/InstrumentationImpl.class | Bin 0 -> 3425 bytes .../classpath/lib/gnu/java/lang/MainThread.class | Bin 0 -> 3204 bytes .../lib/gnu/java/lang/VMInstrumentationImpl.class | Bin 0 -> 1086 bytes .../lib/gnu/java/lang/management/BeanImpl.class | Bin 0 -> 15568 bytes .../lang/management/ClassLoadingMXBeanImpl.class | Bin 0 -> 1114 bytes .../lang/management/CompilationMXBeanImpl.class | Bin 0 -> 1324 bytes .../management/GarbageCollectorMXBeanImpl.class | Bin 0 -> 900 bytes .../java/lang/management/MemoryMXBeanImpl.class | Bin 0 -> 7173 bytes .../lang/management/MemoryManagerMXBeanImpl.class | Bin 0 -> 1194 bytes .../lang/management/MemoryPoolMXBeanImpl.class | Bin 0 -> 4031 bytes .../management/OperatingSystemMXBeanImpl.class | Bin 0 -> 1085 bytes .../java/lang/management/RuntimeMXBeanImpl.class | Bin 0 -> 3865 bytes .../java/lang/management/ThreadMXBeanImpl.class | Bin 0 -> 5137 bytes .../lang/management/VMClassLoadingMXBeanImpl.class | Bin 0 -> 475 bytes .../lang/management/VMCompilationMXBeanImpl.class | Bin 0 -> 384 bytes .../management/VMGarbageCollectorMXBeanImpl.class | Bin 0 -> 440 bytes .../java/lang/management/VMMemoryMXBeanImpl.class | Bin 0 -> 897 bytes .../management/VMMemoryManagerMXBeanImpl.class | Bin 0 -> 1497 bytes .../lang/management/VMMemoryPoolMXBeanImpl.class | Bin 0 -> 950 bytes .../java/lang/management/VMRuntimeMXBeanImpl.class | Bin 0 -> 1273 bytes .../java/lang/management/VMThreadMXBeanImpl.class | Bin 0 -> 1742 bytes .../java/lang/reflect/ClassSignatureParser.class | Bin 0 -> 1982 bytes .../java/lang/reflect/FieldSignatureParser.class | Bin 0 -> 1717 bytes .../java/lang/reflect/GenericArrayTypeImpl.class | Bin 0 -> 1366 bytes .../java/lang/reflect/GenericSignatureParser.class | Bin 0 -> 5172 bytes .../java/lang/reflect/MethodSignatureParser.class | Bin 0 -> 3626 bytes .../java/lang/reflect/ParameterizedTypeImpl.class | Bin 0 -> 3079 bytes .../lib/gnu/java/lang/reflect/TypeImpl.class | Bin 0 -> 735 bytes .../lib/gnu/java/lang/reflect/TypeSignature.class | Bin 0 -> 4010 bytes .../gnu/java/lang/reflect/TypeVariableImpl.class | Bin 0 -> 1659 bytes .../java/lang/reflect/UnresolvedTypeVariable.class | Bin 0 -> 1893 bytes .../gnu/java/lang/reflect/WildcardTypeImpl.class | Bin 0 -> 1856 bytes .../classpath/lib/gnu/java/locale/Calendar.class | Bin 0 -> 1343 bytes .../lib/gnu/java/locale/Calendar_de.class | Bin 0 -> 715 bytes .../lib/gnu/java/locale/Calendar_en.class | Bin 0 -> 551 bytes .../lib/gnu/java/locale/Calendar_nl.class | Bin 0 -> 660 bytes .../classpath/lib/gnu/java/locale/LocaleData.class | Bin 0 -> 6225 bytes .../lib/gnu/java/locale/LocaleHelper.class | Bin 0 -> 2636 bytes .../lib/gnu/java/locale/LocaleInformation.class | Bin 0 -> 328 bytes .../gnu/java/locale/LocaleInformation_af_ZA.class | Bin 0 -> 2305 bytes .../gnu/java/locale/LocaleInformation_ar_AE.class | Bin 0 -> 2443 bytes .../gnu/java/locale/LocaleInformation_ar_BH.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_DZ.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_EG.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_IN.class | Bin 0 -> 2454 bytes .../gnu/java/locale/LocaleInformation_ar_IQ.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_JO.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_ar_KW.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_LB.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_ar_LY.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_MA.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_OM.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_QA.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_SD.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_SY.class | Bin 0 -> 2304 bytes .../gnu/java/locale/LocaleInformation_ar_TN.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_ar_YE.class | Bin 0 -> 2442 bytes .../gnu/java/locale/LocaleInformation_be_BY.class | Bin 0 -> 2512 bytes .../gnu/java/locale/LocaleInformation_bn_IN.class | Bin 0 -> 2597 bytes .../gnu/java/locale/LocaleInformation_br_FR.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_bs_BA.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_ca_ES.class | Bin 0 -> 2266 bytes .../gnu/java/locale/LocaleInformation_cs_CZ.class | Bin 0 -> 2328 bytes .../gnu/java/locale/LocaleInformation_cy_GB.class | Bin 0 -> 2238 bytes .../gnu/java/locale/LocaleInformation_da_DK.class | Bin 0 -> 2290 bytes .../lib/gnu/java/locale/LocaleInformation_de.class | Bin 0 -> 3408 bytes .../gnu/java/locale/LocaleInformation_de_AT.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_de_BE.class | Bin 0 -> 2296 bytes .../gnu/java/locale/LocaleInformation_de_CH.class | Bin 0 -> 2297 bytes .../gnu/java/locale/LocaleInformation_de_DE.class | Bin 0 -> 2296 bytes .../gnu/java/locale/LocaleInformation_de_LU.class | Bin 0 -> 2298 bytes .../gnu/java/locale/LocaleInformation_el_GR.class | Bin 0 -> 2526 bytes .../lib/gnu/java/locale/LocaleInformation_en.class | Bin 0 -> 5113 bytes .../gnu/java/locale/LocaleInformation_en_AU.class | Bin 0 -> 2289 bytes .../gnu/java/locale/LocaleInformation_en_BW.class | Bin 0 -> 1713 bytes .../gnu/java/locale/LocaleInformation_en_CA.class | Bin 0 -> 2313 bytes .../gnu/java/locale/LocaleInformation_en_DK.class | Bin 0 -> 2292 bytes .../gnu/java/locale/LocaleInformation_en_GB.class | Bin 0 -> 2290 bytes .../gnu/java/locale/LocaleInformation_en_HK.class | Bin 0 -> 2312 bytes .../gnu/java/locale/LocaleInformation_en_IE.class | Bin 0 -> 2290 bytes .../gnu/java/locale/LocaleInformation_en_IN.class | Bin 0 -> 2324 bytes .../gnu/java/locale/LocaleInformation_en_NZ.class | Bin 0 -> 2289 bytes .../gnu/java/locale/LocaleInformation_en_PH.class | Bin 0 -> 2313 bytes .../gnu/java/locale/LocaleInformation_en_SG.class | Bin 0 -> 2309 bytes .../gnu/java/locale/LocaleInformation_en_US.class | Bin 0 -> 2315 bytes .../gnu/java/locale/LocaleInformation_en_ZA.class | Bin 0 -> 2289 bytes .../gnu/java/locale/LocaleInformation_en_ZW.class | Bin 0 -> 1713 bytes .../gnu/java/locale/LocaleInformation_es_AR.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_BO.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_CL.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_CO.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_CR.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_DO.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_EC.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_ES.class | Bin 0 -> 2269 bytes .../gnu/java/locale/LocaleInformation_es_GT.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_HN.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_MX.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_NI.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_PA.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_PE.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_PR.class | Bin 0 -> 2271 bytes .../gnu/java/locale/LocaleInformation_es_PY.class | Bin 0 -> 2273 bytes .../gnu/java/locale/LocaleInformation_es_SV.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_US.class | Bin 0 -> 2292 bytes .../gnu/java/locale/LocaleInformation_es_UY.class | Bin 0 -> 2272 bytes .../gnu/java/locale/LocaleInformation_es_VE.class | Bin 0 -> 2273 bytes .../gnu/java/locale/LocaleInformation_et_EE.class | Bin 0 -> 2300 bytes .../gnu/java/locale/LocaleInformation_eu_ES.class | Bin 0 -> 2293 bytes .../gnu/java/locale/LocaleInformation_fa_IR.class | Bin 0 -> 2430 bytes .../gnu/java/locale/LocaleInformation_fi_FI.class | Bin 0 -> 2380 bytes .../gnu/java/locale/LocaleInformation_fo_FO.class | Bin 0 -> 2317 bytes .../gnu/java/locale/LocaleInformation_fr_BE.class | Bin 0 -> 2267 bytes .../gnu/java/locale/LocaleInformation_fr_CA.class | Bin 0 -> 2269 bytes .../gnu/java/locale/LocaleInformation_fr_CH.class | Bin 0 -> 2263 bytes .../gnu/java/locale/LocaleInformation_fr_FR.class | Bin 0 -> 2261 bytes .../gnu/java/locale/LocaleInformation_fr_LU.class | Bin 0 -> 2264 bytes .../gnu/java/locale/LocaleInformation_ga_IE.class | Bin 0 -> 2367 bytes .../gnu/java/locale/LocaleInformation_gd_GB.class | Bin 0 -> 2380 bytes .../gnu/java/locale/LocaleInformation_gl_ES.class | Bin 0 -> 2265 bytes .../gnu/java/locale/LocaleInformation_gv_GB.class | Bin 0 -> 2369 bytes .../gnu/java/locale/LocaleInformation_he_IL.class | Bin 0 -> 2395 bytes .../gnu/java/locale/LocaleInformation_hi_IN.class | Bin 0 -> 2533 bytes .../gnu/java/locale/LocaleInformation_hr_HR.class | Bin 0 -> 2295 bytes .../gnu/java/locale/LocaleInformation_hu_HU.class | Bin 0 -> 2289 bytes .../gnu/java/locale/LocaleInformation_id_ID.class | Bin 0 -> 2277 bytes .../gnu/java/locale/LocaleInformation_it_CH.class | Bin 0 -> 2308 bytes .../gnu/java/locale/LocaleInformation_it_IT.class | Bin 0 -> 2280 bytes .../gnu/java/locale/LocaleInformation_iw_IL.class | Bin 0 -> 2395 bytes .../gnu/java/locale/LocaleInformation_ja_JP.class | Bin 0 -> 2290 bytes .../gnu/java/locale/LocaleInformation_ka_GE.class | Bin 0 -> 2718 bytes .../gnu/java/locale/LocaleInformation_kl_GL.class | Bin 0 -> 2346 bytes .../gnu/java/locale/LocaleInformation_ko_KR.class | Bin 0 -> 2371 bytes .../gnu/java/locale/LocaleInformation_kw_GB.class | Bin 0 -> 2339 bytes .../gnu/java/locale/LocaleInformation_lt_LT.class | Bin 0 -> 2353 bytes .../gnu/java/locale/LocaleInformation_lv_LV.class | Bin 0 -> 2342 bytes .../gnu/java/locale/LocaleInformation_mi_NZ.class | Bin 0 -> 2370 bytes .../gnu/java/locale/LocaleInformation_mk_MK.class | Bin 0 -> 2468 bytes .../gnu/java/locale/LocaleInformation_mr_IN.class | Bin 0 -> 2496 bytes .../gnu/java/locale/LocaleInformation_mt_MT.class | Bin 0 -> 2331 bytes .../lib/gnu/java/locale/LocaleInformation_nl.class | Bin 0 -> 4111 bytes .../gnu/java/locale/LocaleInformation_nl_BE.class | Bin 0 -> 2273 bytes .../gnu/java/locale/LocaleInformation_nl_NL.class | Bin 0 -> 2266 bytes .../gnu/java/locale/LocaleInformation_nn_NO.class | Bin 0 -> 2281 bytes .../gnu/java/locale/LocaleInformation_no_NO.class | Bin 0 -> 2287 bytes .../gnu/java/locale/LocaleInformation_oc_FR.class | Bin 0 -> 2265 bytes .../gnu/java/locale/LocaleInformation_pl_PL.class | Bin 0 -> 2295 bytes .../gnu/java/locale/LocaleInformation_pt_BR.class | Bin 0 -> 2279 bytes .../gnu/java/locale/LocaleInformation_pt_PT.class | Bin 0 -> 2280 bytes .../gnu/java/locale/LocaleInformation_ro_RO.class | Bin 0 -> 2283 bytes .../gnu/java/locale/LocaleInformation_ru_RU.class | Bin 0 -> 2490 bytes .../gnu/java/locale/LocaleInformation_ru_UA.class | Bin 0 -> 2472 bytes .../gnu/java/locale/LocaleInformation_se_NO.class | Bin 0 -> 2415 bytes .../gnu/java/locale/LocaleInformation_sk_SK.class | Bin 0 -> 2283 bytes .../gnu/java/locale/LocaleInformation_sl_SI.class | Bin 0 -> 2267 bytes .../gnu/java/locale/LocaleInformation_sq_AL.class | Bin 0 -> 2332 bytes .../gnu/java/locale/LocaleInformation_sr_YU.class | Bin 0 -> 2245 bytes .../gnu/java/locale/LocaleInformation_sv_FI.class | Bin 0 -> 2293 bytes .../gnu/java/locale/LocaleInformation_sv_SE.class | Bin 0 -> 2293 bytes .../gnu/java/locale/LocaleInformation_ta_IN.class | Bin 0 -> 2452 bytes .../gnu/java/locale/LocaleInformation_te_IN.class | Bin 0 -> 2582 bytes .../gnu/java/locale/LocaleInformation_tg_TJ.class | Bin 0 -> 2490 bytes .../gnu/java/locale/LocaleInformation_tl_PH.class | Bin 0 -> 2319 bytes .../gnu/java/locale/LocaleInformation_tr_TR.class | Bin 0 -> 2562 bytes .../gnu/java/locale/LocaleInformation_uk_UA.class | Bin 0 -> 2501 bytes .../gnu/java/locale/LocaleInformation_ur_PK.class | Bin 0 -> 2199 bytes .../gnu/java/locale/LocaleInformation_uz_UZ.class | Bin 0 -> 2292 bytes .../gnu/java/locale/LocaleInformation_vi_VN.class | Bin 0 -> 2449 bytes .../gnu/java/locale/LocaleInformation_yi_US.class | Bin 0 -> 2525 bytes .../gnu/java/locale/LocaleInformation_zh_CN.class | Bin 0 -> 2355 bytes .../gnu/java/locale/LocaleInformation_zh_HK.class | Bin 0 -> 2369 bytes .../gnu/java/locale/LocaleInformation_zh_SG.class | Bin 0 -> 2153 bytes .../gnu/java/locale/LocaleInformation_zh_TW.class | Bin 0 -> 2376 bytes libjava/classpath/lib/gnu/java/math/MPN.class | Bin 0 -> 7842 bytes libjava/classpath/lib/gnu/java/net/BASE64.class | Bin 0 -> 3190 bytes .../lib/gnu/java/net/CRLFInputStream.class | Bin 0 -> 1605 bytes .../lib/gnu/java/net/CRLFOutputStream.class | Bin 0 -> 1880 bytes .../java/net/DefaultContentHandlerFactory.class | Bin 0 -> 1353 bytes .../lib/gnu/java/net/DefaultProxySelector.class | Bin 0 -> 1184 bytes .../lib/gnu/java/net/EmptyX509TrustManager.class | Bin 0 -> 931 bytes .../lib/gnu/java/net/GetLocalHostAction.class | Bin 0 -> 564 bytes .../lib/gnu/java/net/HeaderFieldHelper.class | Bin 0 -> 1930 bytes .../classpath/lib/gnu/java/net/ImageHandler.class | Bin 0 -> 626 bytes .../lib/gnu/java/net/IndexListParser.class | Bin 0 -> 2568 bytes .../lib/gnu/java/net/LineInputStream.class | Bin 0 -> 2236 bytes .../lib/gnu/java/net/PlainDatagramSocketImpl.class | Bin 0 -> 3097 bytes .../net/PlainSocketImpl$SocketInputStream.class | Bin 0 -> 810 bytes .../net/PlainSocketImpl$SocketOutputStream.class | Bin 0 -> 720 bytes .../lib/gnu/java/net/PlainSocketImpl.class | Bin 0 -> 3295 bytes .../classpath/lib/gnu/java/net/URLParseError.class | Bin 0 -> 349 bytes .../lib/gnu/java/net/loader/FileResource.class | Bin 0 -> 1259 bytes .../lib/gnu/java/net/loader/FileURLLoader.class | Bin 0 -> 2171 bytes .../lib/gnu/java/net/loader/JarURLLoader.class | Bin 0 -> 5457 bytes .../lib/gnu/java/net/loader/JarURLResource.class | Bin 0 -> 2230 bytes .../lib/gnu/java/net/loader/RemoteResource.class | Bin 0 -> 1051 bytes .../lib/gnu/java/net/loader/RemoteURLLoader.class | Bin 0 -> 1900 bytes .../lib/gnu/java/net/loader/Resource.class | Bin 0 -> 1229 bytes .../lib/gnu/java/net/loader/URLLoader.class | Bin 0 -> 1716 bytes .../java/net/loader/URLStreamHandlerCache.class | Bin 0 -> 1273 bytes .../lib/gnu/java/net/local/LocalServerSocket.class | Bin 0 -> 3487 bytes .../lib/gnu/java/net/local/LocalSocket.class | Bin 0 -> 5583 bytes .../gnu/java/net/local/LocalSocketAddress.class | Bin 0 -> 1183 bytes .../local/LocalSocketImpl$LocalInputStream.class | Bin 0 -> 1624 bytes .../local/LocalSocketImpl$LocalOutputStream.class | Bin 0 -> 1247 bytes .../lib/gnu/java/net/local/LocalSocketImpl.class | Bin 0 -> 4520 bytes .../gnu/java/net/protocol/core/Connection.class | Bin 0 -> 3158 bytes .../java/net/protocol/core/CoreInputStream.class | Bin 0 -> 1518 bytes .../lib/gnu/java/net/protocol/core/Handler.class | Bin 0 -> 588 bytes .../net/protocol/file/Connection$StaticData.class | Bin 0 -> 1010 bytes .../gnu/java/net/protocol/file/Connection.class | Bin 0 -> 5576 bytes .../lib/gnu/java/net/protocol/file/Handler.class | Bin 0 -> 1057 bytes .../gnu/java/net/protocol/ftp/ActiveModeDTP.class | Bin 0 -> 3794 bytes .../java/net/protocol/ftp/BlockInputStream.class | Bin 0 -> 1694 bytes .../java/net/protocol/ftp/BlockOutputStream.class | Bin 0 -> 1454 bytes .../net/protocol/ftp/CompressedInputStream.class | Bin 0 -> 2403 bytes .../net/protocol/ftp/CompressedOutputStream.class | Bin 0 -> 2753 bytes .../lib/gnu/java/net/protocol/ftp/DTP.class | Bin 0 -> 382 bytes .../gnu/java/net/protocol/ftp/DTPInputStream.class | Bin 0 -> 867 bytes .../java/net/protocol/ftp/DTPOutputStream.class | Bin 0 -> 875 bytes .../gnu/java/net/protocol/ftp/FTPConnection.class | Bin 0 -> 16843 bytes .../gnu/java/net/protocol/ftp/FTPException.class | Bin 0 -> 685 bytes .../gnu/java/net/protocol/ftp/FTPResponse.class | Bin 0 -> 885 bytes .../ftp/FTPURLConnection$ClosingInputStream.class | Bin 0 -> 969 bytes .../ftp/FTPURLConnection$ClosingOutputStream.class | Bin 0 -> 977 bytes .../java/net/protocol/ftp/FTPURLConnection.class | Bin 0 -> 5875 bytes .../lib/gnu/java/net/protocol/ftp/Handler.class | Bin 0 -> 673 bytes .../gnu/java/net/protocol/ftp/PassiveModeDTP.class | Bin 0 -> 3282 bytes .../java/net/protocol/ftp/StreamInputStream.class | Bin 0 -> 1089 bytes .../java/net/protocol/ftp/StreamOutputStream.class | Bin 0 -> 1021 bytes .../gnu/java/net/protocol/gcjlib/Connection.class | Bin 0 -> 2252 bytes .../lib/gnu/java/net/protocol/gcjlib/Handler.class | Bin 0 -> 594 bytes .../gnu/java/net/protocol/http/Authenticator.class | Bin 0 -> 223 bytes .../protocol/http/ByteArrayRequestBodyWriter.class | Bin 0 -> 942 bytes .../net/protocol/http/ChunkedInputStream.class | Bin 0 -> 2748 bytes .../lib/gnu/java/net/protocol/http/Cookie.class | Bin 0 -> 1894 bytes .../gnu/java/net/protocol/http/CookieManager.class | Bin 0 -> 294 bytes .../gnu/java/net/protocol/http/Credentials.class | Bin 0 -> 648 bytes .../protocol/http/HTTPConnection$Pool$Reaper.class | Bin 0 -> 1482 bytes .../net/protocol/http/HTTPConnection$Pool.class | Bin 0 -> 3489 bytes .../java/net/protocol/http/HTTPConnection.class | Bin 0 -> 10087 bytes .../java/net/protocol/http/HTTPDateFormat.class | Bin 0 -> 6629 bytes .../net/protocol/http/HTTPURLConnection$1.class | Bin 0 -> 976 bytes .../java/net/protocol/http/HTTPURLConnection.class | Bin 0 -> 12123 bytes .../lib/gnu/java/net/protocol/http/Handler.class | Bin 0 -> 677 bytes .../net/protocol/http/Headers$HeaderElement.class | Bin 0 -> 571 bytes .../lib/gnu/java/net/protocol/http/Headers.class | Bin 0 -> 5178 bytes .../protocol/http/LimitedLengthInputStream.class | Bin 0 -> 2288 bytes .../lib/gnu/java/net/protocol/http/Request.class | Bin 0 -> 15584 bytes .../java/net/protocol/http/RequestBodyWriter.class | Bin 0 -> 221 bytes .../lib/gnu/java/net/protocol/http/Response.class | Bin 0 -> 2213 bytes .../net/protocol/http/ResponseHeaderHandler.class | Bin 0 -> 193 bytes .../net/protocol/http/SimpleCookieManager.class | Bin 0 -> 3051 bytes .../lib/gnu/java/net/protocol/https/Handler.class | Bin 0 -> 680 bytes .../net/protocol/jar/Connection$JarFileCache.class | Bin 0 -> 2288 bytes .../lib/gnu/java/net/protocol/jar/Connection.class | Bin 0 -> 3397 bytes .../lib/gnu/java/net/protocol/jar/Handler.class | Bin 0 -> 3822 bytes .../lib/gnu/java/nio/ChannelInputStream.class | Bin 0 -> 1104 bytes .../lib/gnu/java/nio/ChannelOutputStream.class | Bin 0 -> 913 bytes .../classpath/lib/gnu/java/nio/ChannelReader.class | Bin 0 -> 2954 bytes .../classpath/lib/gnu/java/nio/ChannelWriter.class | Bin 0 -> 2972 bytes .../lib/gnu/java/nio/DatagramChannelImpl.class | Bin 0 -> 5081 bytes .../gnu/java/nio/DatagramChannelSelectionKey.class | Bin 0 -> 810 bytes .../classpath/lib/gnu/java/nio/FileLockImpl.class | Bin 0 -> 1125 bytes .../lib/gnu/java/nio/InputStreamChannel.class | Bin 0 -> 1187 bytes .../classpath/lib/gnu/java/nio/NIOConstants.class | Bin 0 -> 346 bytes .../lib/gnu/java/nio/NIODatagramSocket.class | Bin 0 -> 837 bytes .../lib/gnu/java/nio/NIOServerSocket.class | Bin 0 -> 1431 bytes libjava/classpath/lib/gnu/java/nio/NIOSocket.class | Bin 0 -> 992 bytes .../lib/gnu/java/nio/OutputStreamChannel.class | Bin 0 -> 1182 bytes .../gnu/java/nio/PipeImpl$SinkChannelImpl.class | Bin 0 -> 1856 bytes .../gnu/java/nio/PipeImpl$SourceChannelImpl.class | Bin 0 -> 1865 bytes libjava/classpath/lib/gnu/java/nio/PipeImpl.class | Bin 0 -> 1072 bytes .../lib/gnu/java/nio/SelectionKeyImpl.class | Bin 0 -> 1511 bytes .../classpath/lib/gnu/java/nio/SelectorImpl.class | Bin 0 -> 5965 bytes .../lib/gnu/java/nio/SelectorProviderImpl.class | Bin 0 -> 1290 bytes .../lib/gnu/java/nio/ServerSocketChannelImpl.class | Bin 0 -> 2266 bytes .../java/nio/ServerSocketChannelSelectionKey.class | Bin 0 -> 826 bytes .../lib/gnu/java/nio/SocketChannelImpl.class | Bin 0 -> 5935 bytes .../gnu/java/nio/SocketChannelSelectionKey.class | Bin 0 -> 1027 bytes .../java/nio/SocketChannelSelectionKeyImpl.class | Bin 0 -> 843 bytes libjava/classpath/lib/gnu/java/nio/VMChannel.class | Bin 0 -> 2528 bytes .../lib/gnu/java/nio/VMChannelOwner.class | Bin 0 -> 174 bytes libjava/classpath/lib/gnu/java/nio/VMPipe.class | Bin 0 -> 401 bytes .../classpath/lib/gnu/java/nio/VMSelector.class | Bin 0 -> 359 bytes .../gnu/java/nio/channels/FileChannelImpl.class | Bin 0 -> 7914 bytes .../gnu/java/nio/charset/ByteCharset$Decoder.class | Bin 0 -> 1300 bytes .../gnu/java/nio/charset/ByteCharset$Encoder.class | Bin 0 -> 2042 bytes .../lib/gnu/java/nio/charset/ByteCharset.class | Bin 0 -> 1313 bytes .../classpath/lib/gnu/java/nio/charset/Cp424.class | Bin 0 -> 2396 bytes .../classpath/lib/gnu/java/nio/charset/Cp437.class | Bin 0 -> 2429 bytes .../classpath/lib/gnu/java/nio/charset/Cp737.class | Bin 0 -> 2429 bytes .../classpath/lib/gnu/java/nio/charset/Cp775.class | Bin 0 -> 2429 bytes .../classpath/lib/gnu/java/nio/charset/Cp850.class | Bin 0 -> 2429 bytes .../classpath/lib/gnu/java/nio/charset/Cp852.class | Bin 0 -> 2429 bytes .../classpath/lib/gnu/java/nio/charset/Cp855.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp857.class | Bin 0 -> 2452 bytes .../classpath/lib/gnu/java/nio/charset/Cp860.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp861.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp862.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp863.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp864.class | Bin 0 -> 2738 bytes .../classpath/lib/gnu/java/nio/charset/Cp865.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp866.class | Bin 0 -> 2450 bytes .../classpath/lib/gnu/java/nio/charset/Cp869.class | Bin 0 -> 2446 bytes .../classpath/lib/gnu/java/nio/charset/Cp874.class | Bin 0 -> 2403 bytes .../lib/gnu/java/nio/charset/EncodingHelper.class | Bin 0 -> 3137 bytes .../gnu/java/nio/charset/ISO_8859_1$Decoder.class | Bin 0 -> 1161 bytes .../gnu/java/nio/charset/ISO_8859_1$Encoder.class | Bin 0 -> 1632 bytes .../lib/gnu/java/nio/charset/ISO_8859_1.class | Bin 0 -> 1311 bytes .../lib/gnu/java/nio/charset/ISO_8859_13.class | Bin 0 -> 2683 bytes .../lib/gnu/java/nio/charset/ISO_8859_15.class | Bin 0 -> 2869 bytes .../lib/gnu/java/nio/charset/ISO_8859_2.class | Bin 0 -> 2817 bytes .../lib/gnu/java/nio/charset/ISO_8859_3.class | Bin 0 -> 2815 bytes .../lib/gnu/java/nio/charset/ISO_8859_4.class | Bin 0 -> 2817 bytes .../lib/gnu/java/nio/charset/ISO_8859_5.class | Bin 0 -> 2808 bytes .../lib/gnu/java/nio/charset/ISO_8859_6.class | Bin 0 -> 2857 bytes .../lib/gnu/java/nio/charset/ISO_8859_7.class | Bin 0 -> 2871 bytes .../lib/gnu/java/nio/charset/ISO_8859_8.class | Bin 0 -> 2827 bytes .../lib/gnu/java/nio/charset/ISO_8859_9.class | Bin 0 -> 2841 bytes .../classpath/lib/gnu/java/nio/charset/KOI_8.class | Bin 0 -> 2594 bytes .../classpath/lib/gnu/java/nio/charset/MS874.class | Bin 0 -> 2403 bytes .../gnu/java/nio/charset/MacCentralEurope.class | Bin 0 -> 2478 bytes .../lib/gnu/java/nio/charset/MacCroatian.class | Bin 0 -> 2462 bytes .../lib/gnu/java/nio/charset/MacCyrillic.class | Bin 0 -> 2458 bytes .../lib/gnu/java/nio/charset/MacDingbat.class | Bin 0 -> 2527 bytes .../lib/gnu/java/nio/charset/MacGreek.class | Bin 0 -> 2446 bytes .../lib/gnu/java/nio/charset/MacIceland.class | Bin 0 -> 2458 bytes .../lib/gnu/java/nio/charset/MacRoman.class | Bin 0 -> 2458 bytes .../lib/gnu/java/nio/charset/MacRomania.class | Bin 0 -> 2458 bytes .../lib/gnu/java/nio/charset/MacSymbol.class | Bin 0 -> 2488 bytes .../lib/gnu/java/nio/charset/MacThai.class | Bin 0 -> 2414 bytes .../lib/gnu/java/nio/charset/MacTurkish.class | Bin 0 -> 2462 bytes .../lib/gnu/java/nio/charset/Provider$1.class | Bin 0 -> 581 bytes .../lib/gnu/java/nio/charset/Provider.class | Bin 0 -> 5340 bytes .../gnu/java/nio/charset/US_ASCII$Decoder.class | Bin 0 -> 1248 bytes .../gnu/java/nio/charset/US_ASCII$Encoder.class | Bin 0 -> 1622 bytes .../lib/gnu/java/nio/charset/US_ASCII.class | Bin 0 -> 1301 bytes .../lib/gnu/java/nio/charset/UTF_16.class | Bin 0 -> 1283 bytes .../lib/gnu/java/nio/charset/UTF_16BE.class | Bin 0 -> 1438 bytes .../lib/gnu/java/nio/charset/UTF_16Decoder.class | Bin 0 -> 2637 bytes .../lib/gnu/java/nio/charset/UTF_16Encoder.class | Bin 0 -> 2308 bytes .../lib/gnu/java/nio/charset/UTF_16LE.class | Bin 0 -> 1340 bytes .../lib/gnu/java/nio/charset/UTF_8$Decoder.class | Bin 0 -> 3229 bytes .../lib/gnu/java/nio/charset/UTF_8$Encoder.class | Bin 0 -> 2124 bytes .../classpath/lib/gnu/java/nio/charset/UTF_8.class | Bin 0 -> 1316 bytes .../lib/gnu/java/nio/charset/UnicodeLittle.class | Bin 0 -> 1218 bytes .../lib/gnu/java/nio/charset/Windows1250.class | Bin 0 -> 2657 bytes .../lib/gnu/java/nio/charset/Windows1251.class | Bin 0 -> 2603 bytes .../lib/gnu/java/nio/charset/Windows1252.class | Bin 0 -> 2585 bytes .../lib/gnu/java/nio/charset/Windows1253.class | Bin 0 -> 2587 bytes .../lib/gnu/java/nio/charset/Windows1254.class | Bin 0 -> 2597 bytes .../lib/gnu/java/nio/charset/Windows1255.class | Bin 0 -> 2581 bytes .../lib/gnu/java/nio/charset/Windows1256.class | Bin 0 -> 2599 bytes .../lib/gnu/java/nio/charset/Windows1257.class | Bin 0 -> 2592 bytes .../lib/gnu/java/nio/charset/Windows1258.class | Bin 0 -> 2595 bytes .../java/rmi/RMIMarshalledObjectInputStream.class | Bin 0 -> 875 bytes .../java/rmi/RMIMarshalledObjectOutputStream.class | Bin 0 -> 1182 bytes .../rmi/activation/ActivationSystemTransient.class | Bin 0 -> 8308 bytes .../lib/gnu/java/rmi/activation/BidiTable.class | Bin 0 -> 2027 bytes .../rmi/activation/DefaultActivationGroup.class | Bin 0 -> 3584 bytes .../rmi/activation/DefaultActivationSystem.class | Bin 0 -> 1936 bytes .../gnu/java/rmi/dgc/DGCImpl$RefProtector.class | Bin 0 -> 1143 bytes .../classpath/lib/gnu/java/rmi/dgc/DGCImpl.class | Bin 0 -> 1554 bytes .../lib/gnu/java/rmi/dgc/DGCImpl_Skel.class | Bin 0 -> 3350 bytes .../lib/gnu/java/rmi/dgc/DGCImpl_Stub.class | Bin 0 -> 4340 bytes .../rmi/dgc/LeaseRenewingTask$LeaseTimerTask.class | Bin 0 -> 636 bytes .../lib/gnu/java/rmi/dgc/LeaseRenewingTask.class | Bin 0 -> 3205 bytes .../lib/gnu/java/rmi/registry/RegistryImpl.class | Bin 0 -> 4240 bytes .../gnu/java/rmi/registry/RegistryImpl_Skel.class | Bin 0 -> 4107 bytes .../gnu/java/rmi/registry/RegistryImpl_Stub.class | Bin 0 -> 6139 bytes .../lib/gnu/java/rmi/server/ActivatableRef.class | Bin 0 -> 3872 bytes .../gnu/java/rmi/server/ActivatableServerRef.class | Bin 0 -> 4674 bytes .../gnu/java/rmi/server/CombinedClassLoader.class | Bin 0 -> 1957 bytes .../ConnectionRunnerPool$ConnectionRunner.class | Bin 0 -> 1527 bytes .../gnu/java/rmi/server/ConnectionRunnerPool.class | Bin 0 -> 2673 bytes .../gnu/java/rmi/server/ProtocolConstants.class | Bin 0 -> 719 bytes .../rmi/server/RMIClassLoaderImpl$CacheKey.class | Bin 0 -> 1553 bytes .../server/RMIClassLoaderImpl$MyClassLoader.class | Bin 0 -> 1385 bytes .../gnu/java/rmi/server/RMIClassLoaderImpl.class | Bin 0 -> 5117 bytes .../java/rmi/server/RMIDefaultSocketFactory.class | Bin 0 -> 814 bytes .../lib/gnu/java/rmi/server/RMIHashes.class | Bin 0 -> 2179 bytes .../gnu/java/rmi/server/RMIIncomingThread.class | Bin 0 -> 898 bytes .../gnu/java/rmi/server/RMIObjectInputStream.class | Bin 0 -> 3019 bytes .../java/rmi/server/RMIObjectOutputStream.class | Bin 0 -> 2997 bytes .../lib/gnu/java/rmi/server/RMIVoidValue.class | Bin 0 -> 411 bytes .../lib/gnu/java/rmi/server/TripleKey.class | Bin 0 -> 1315 bytes .../gnu/java/rmi/server/UnicastConnection.class | Bin 0 -> 4367 bytes .../rmi/server/UnicastConnectionManager$1.class | Bin 0 -> 1917 bytes .../java/rmi/server/UnicastConnectionManager.class | Bin 0 -> 7405 bytes .../lib/gnu/java/rmi/server/UnicastRef.class | Bin 0 -> 10033 bytes .../UnicastRemoteCall$DummyObjectInputStream.class | Bin 0 -> 3682 bytes ...UnicastRemoteCall$DummyObjectOutputStream.class | Bin 0 -> 3218 bytes .../gnu/java/rmi/server/UnicastRemoteCall.class | Bin 0 -> 6149 bytes .../gnu/java/rmi/server/UnicastRemoteStub.class | Bin 0 -> 569 bytes .../lib/gnu/java/rmi/server/UnicastServer.class | Bin 0 -> 6736 bytes .../lib/gnu/java/rmi/server/UnicastServerRef.class | Bin 0 -> 9296 bytes .../lib/gnu/java/security/Configuration.class | Bin 0 -> 174 bytes .../classpath/lib/gnu/java/security/Engine.class | Bin 0 -> 5340 bytes libjava/classpath/lib/gnu/java/security/OID.class | Bin 0 -> 6174 bytes .../lib/gnu/java/security/PolicyFile$1.class | Bin 0 -> 2136 bytes .../lib/gnu/java/security/PolicyFile.class | Bin 0 -> 12883 bytes .../lib/gnu/java/security/Properties$1.class | Bin 0 -> 753 bytes .../lib/gnu/java/security/Properties.class | Bin 0 -> 5002 bytes .../classpath/lib/gnu/java/security/Registry.class | Bin 0 -> 7593 bytes .../classpath/lib/gnu/java/security/Requires.class | Bin 0 -> 601 bytes .../java/security/action/GetPropertyAction.class | Bin 0 -> 1489 bytes .../action/GetSecurityPropertyAction.class | Bin 0 -> 1525 bytes .../java/security/action/SetAccessibleAction.class | Bin 0 -> 914 bytes .../classpath/lib/gnu/java/security/ber/BER.class | Bin 0 -> 419 bytes .../java/security/ber/BEREncodingException.class | Bin 0 -> 496 bytes .../lib/gnu/java/security/ber/BERReader.class | Bin 0 -> 1404 bytes .../lib/gnu/java/security/ber/BERValue.class | Bin 0 -> 1093 bytes .../lib/gnu/java/security/der/BitString.class | Bin 0 -> 3755 bytes .../classpath/lib/gnu/java/security/der/DER.class | Bin 0 -> 1355 bytes .../java/security/der/DEREncodingException.class | Bin 0 -> 473 bytes .../lib/gnu/java/security/der/DERReader.class | Bin 0 -> 6819 bytes .../lib/gnu/java/security/der/DERValue.class | Bin 0 -> 3556 bytes .../lib/gnu/java/security/der/DERWriter.class | Bin 0 -> 6118 bytes .../lib/gnu/java/security/hash/BaseHash.class | Bin 0 -> 2006 bytes .../lib/gnu/java/security/hash/HashFactory.class | Bin 0 -> 2386 bytes .../lib/gnu/java/security/hash/Haval.class | Bin 0 -> 16340 bytes .../gnu/java/security/hash/IMessageDigest.class | Bin 0 -> 410 bytes .../classpath/lib/gnu/java/security/hash/MD2.class | Bin 0 -> 4558 bytes .../classpath/lib/gnu/java/security/hash/MD4.class | Bin 0 -> 6039 bytes .../classpath/lib/gnu/java/security/hash/MD5.class | Bin 0 -> 7138 bytes .../lib/gnu/java/security/hash/RipeMD128.class | Bin 0 -> 5286 bytes .../lib/gnu/java/security/hash/RipeMD160.class | Bin 0 -> 6249 bytes .../lib/gnu/java/security/hash/Sha160.class | Bin 0 -> 3824 bytes .../lib/gnu/java/security/hash/Sha256.class | Bin 0 -> 5078 bytes .../lib/gnu/java/security/hash/Sha384.class | Bin 0 -> 6155 bytes .../lib/gnu/java/security/hash/Sha512.class | Bin 0 -> 6405 bytes .../lib/gnu/java/security/hash/Tiger.class | Bin 0 -> 27969 bytes .../lib/gnu/java/security/hash/Whirlpool.class | Bin 0 -> 10870 bytes .../lib/gnu/java/security/jce/hash/HavalSpi.class | Bin 0 -> 375 bytes .../lib/gnu/java/security/jce/hash/MD2Spi.class | Bin 0 -> 367 bytes .../lib/gnu/java/security/jce/hash/MD4Spi.class | Bin 0 -> 367 bytes .../lib/gnu/java/security/jce/hash/MD5Spi.class | Bin 0 -> 367 bytes .../security/jce/hash/MessageDigestAdapter.class | Bin 0 -> 1911 bytes .../gnu/java/security/jce/hash/RipeMD128Spi.class | Bin 0 -> 391 bytes .../gnu/java/security/jce/hash/RipeMD160Spi.class | Bin 0 -> 391 bytes .../lib/gnu/java/security/jce/hash/Sha160Spi.class | Bin 0 -> 380 bytes .../lib/gnu/java/security/jce/hash/Sha256Spi.class | Bin 0 -> 380 bytes .../lib/gnu/java/security/jce/hash/Sha384Spi.class | Bin 0 -> 380 bytes .../lib/gnu/java/security/jce/hash/Sha512Spi.class | Bin 0 -> 380 bytes .../lib/gnu/java/security/jce/hash/TigerSpi.class | Bin 0 -> 375 bytes .../gnu/java/security/jce/hash/WhirlpoolSpi.class | Bin 0 -> 391 bytes .../java/security/jce/prng/HavalRandomSpi.class | Bin 0 -> 392 bytes .../gnu/java/security/jce/prng/MD2RandomSpi.class | Bin 0 -> 384 bytes .../gnu/java/security/jce/prng/MD4RandomSpi.class | Bin 0 -> 384 bytes .../gnu/java/security/jce/prng/MD5RandomSpi.class | Bin 0 -> 384 bytes .../security/jce/prng/RipeMD128RandomSpi.class | Bin 0 -> 408 bytes .../security/jce/prng/RipeMD160RandomSpi.class | Bin 0 -> 408 bytes .../security/jce/prng/SecureRandomAdapter.class | Bin 0 -> 1358 bytes .../java/security/jce/prng/Sha160RandomSpi.class | Bin 0 -> 397 bytes .../java/security/jce/prng/Sha256RandomSpi.class | Bin 0 -> 397 bytes .../java/security/jce/prng/Sha384RandomSpi.class | Bin 0 -> 397 bytes .../java/security/jce/prng/Sha512RandomSpi.class | Bin 0 -> 397 bytes .../java/security/jce/prng/TigerRandomSpi.class | Bin 0 -> 392 bytes .../security/jce/prng/WhirlpoolRandomSpi.class | Bin 0 -> 408 bytes .../gnu/java/security/jce/sig/DSSKeyFactory.class | Bin 0 -> 5029 bytes .../security/jce/sig/DSSKeyPairGeneratorSpi.class | Bin 0 -> 3213 bytes .../gnu/java/security/jce/sig/DSSParameters.class | Bin 0 -> 4369 bytes .../security/jce/sig/DSSParametersGenerator.class | Bin 0 -> 2984 bytes .../java/security/jce/sig/DSSRawSignatureSpi.class | Bin 0 -> 504 bytes .../java/security/jce/sig/EncodedKeyFactory.class | Bin 0 -> 9348 bytes .../security/jce/sig/KeyPairGeneratorAdapter.class | Bin 0 -> 1043 bytes .../lib/gnu/java/security/jce/sig/MD2withRSA.class | Bin 0 -> 509 bytes .../lib/gnu/java/security/jce/sig/MD5withRSA.class | Bin 0 -> 509 bytes .../gnu/java/security/jce/sig/RSAKeyFactory.class | Bin 0 -> 5638 bytes .../security/jce/sig/RSAKeyPairGeneratorSpi.class | Bin 0 -> 1615 bytes .../security/jce/sig/RSAPSSRawSignatureSpi.class | Bin 0 -> 520 bytes .../gnu/java/security/jce/sig/SHA160withDSS.class | Bin 0 -> 490 bytes .../gnu/java/security/jce/sig/SHA160withRSA.class | Bin 0 -> 522 bytes .../gnu/java/security/jce/sig/SHA256withRSA.class | Bin 0 -> 522 bytes .../gnu/java/security/jce/sig/SHA384withRSA.class | Bin 0 -> 522 bytes .../gnu/java/security/jce/sig/SHA512withRSA.class | Bin 0 -> 522 bytes .../java/security/jce/sig/SignatureAdapter.class | Bin 0 -> 4861 bytes .../lib/gnu/java/security/key/IKeyPairCodec.class | Bin 0 -> 553 bytes .../gnu/java/security/key/IKeyPairGenerator.class | Bin 0 -> 259 bytes .../java/security/key/KeyPairCodecFactory.class | Bin 0 -> 5797 bytes .../security/key/KeyPairGeneratorFactory.class | Bin 0 -> 2362 bytes .../lib/gnu/java/security/key/dss/DSSKey.class | Bin 0 -> 2829 bytes .../security/key/dss/DSSKeyPairGenerator.class | Bin 0 -> 7539 bytes .../security/key/dss/DSSKeyPairPKCS8Codec.class | Bin 0 -> 5128 bytes .../java/security/key/dss/DSSKeyPairRawCodec.class | Bin 0 -> 4553 bytes .../security/key/dss/DSSKeyPairX509Codec.class | Bin 0 -> 4955 bytes .../gnu/java/security/key/dss/DSSPrivateKey.class | Bin 0 -> 3030 bytes .../gnu/java/security/key/dss/DSSPublicKey.class | Bin 0 -> 3030 bytes .../lib/gnu/java/security/key/dss/FIPS186.class | Bin 0 -> 3701 bytes .../lib/gnu/java/security/key/rsa/GnuRSAKey.class | Bin 0 -> 2347 bytes .../java/security/key/rsa/GnuRSAPrivateKey.class | Bin 0 -> 4618 bytes .../java/security/key/rsa/GnuRSAPublicKey.class | Bin 0 -> 2694 bytes .../security/key/rsa/RSAKeyPairGenerator.class | Bin 0 -> 4142 bytes .../security/key/rsa/RSAKeyPairPKCS8Codec.class | Bin 0 -> 6261 bytes .../java/security/key/rsa/RSAKeyPairRawCodec.class | Bin 0 -> 4068 bytes .../security/key/rsa/RSAKeyPairX509Codec.class | Bin 0 -> 4663 bytes .../lib/gnu/java/security/pkcs/PKCS7Data.class | Bin 0 -> 668 bytes .../gnu/java/security/pkcs/PKCS7SignedData.class | Bin 0 -> 8206 bytes .../lib/gnu/java/security/pkcs/SignerInfo.class | Bin 0 -> 6501 bytes .../lib/gnu/java/security/prng/BasePRNG.class | Bin 0 -> 2892 bytes .../lib/gnu/java/security/prng/EntropySource.class | Bin 0 -> 181 bytes .../lib/gnu/java/security/prng/IRandom.class | Bin 0 -> 561 bytes .../java/security/prng/LimitReachedException.class | Bin 0 -> 478 bytes .../lib/gnu/java/security/prng/MDGenerator.class | Bin 0 -> 2078 bytes .../lib/gnu/java/security/prng/PRNGFactory.class | Bin 0 -> 1073 bytes .../lib/gnu/java/security/prng/RandomEvent.class | Bin 0 -> 1015 bytes .../java/security/prng/RandomEventListener.class | Bin 0 -> 240 bytes .../provider/CollectionCertStoreImpl.class | Bin 0 -> 2073 bytes .../gnu/java/security/provider/DefaultPolicy.class | Bin 0 -> 911 bytes .../lib/gnu/java/security/provider/Gnu$1.class | Bin 0 -> 12433 bytes .../lib/gnu/java/security/provider/Gnu.class | Bin 0 -> 805 bytes .../provider/PKIXCertPathValidatorImpl.class | Bin 0 -> 14032 bytes .../security/provider/X509CertificateFactory.class | Bin 0 -> 5056 bytes .../lib/gnu/java/security/sig/BaseSignature.class | Bin 0 -> 3996 bytes .../lib/gnu/java/security/sig/ISignature.class | Bin 0 -> 762 bytes .../gnu/java/security/sig/ISignatureCodec.class | Bin 0 -> 317 bytes .../java/security/sig/SignatureCodecFactory.class | Bin 0 -> 3489 bytes .../gnu/java/security/sig/SignatureFactory.class | Bin 0 -> 1382 bytes .../gnu/java/security/sig/dss/DSSSignature.class | Bin 0 -> 5250 bytes .../security/sig/dss/DSSSignatureRawCodec.class | Bin 0 -> 2143 bytes .../security/sig/dss/DSSSignatureX509Codec.class | Bin 0 -> 2596 bytes .../gnu/java/security/sig/rsa/EME_PKCS1_V1_5.class | Bin 0 -> 3513 bytes .../java/security/sig/rsa/EMSA_PKCS1_V1_5.class | Bin 0 -> 3423 bytes .../lib/gnu/java/security/sig/rsa/EMSA_PSS.class | Bin 0 -> 3734 bytes .../lib/gnu/java/security/sig/rsa/RSA.class | Bin 0 -> 4209 bytes .../security/sig/rsa/RSAPKCS1V1_5Signature.class | Bin 0 -> 3399 bytes .../sig/rsa/RSAPKCS1V1_5SignatureRawCodec.class | Bin 0 -> 1762 bytes .../sig/rsa/RSAPKCS1V1_5SignatureX509Codec.class | Bin 0 -> 924 bytes .../java/security/sig/rsa/RSAPSSSignature.class | Bin 0 -> 4129 bytes .../security/sig/rsa/RSAPSSSignatureRawCodec.class | Bin 0 -> 1690 bytes .../security/sig/rsa/RSASignatureFactory.class | Bin 0 -> 2802 bytes .../lib/gnu/java/security/util/Base64.class | Bin 0 -> 4996 bytes .../lib/gnu/java/security/util/ByteArray.class | Bin 0 -> 2137 bytes .../security/util/ByteBufferOutputStream.class | Bin 0 -> 2085 bytes .../lib/gnu/java/security/util/DerUtil.class | Bin 0 -> 893 bytes .../security/util/ExpirableObject$Destroyer.class | Bin 0 -> 841 bytes .../gnu/java/security/util/ExpirableObject.class | Bin 0 -> 1264 bytes .../lib/gnu/java/security/util/FormatUtil.class | Bin 0 -> 1246 bytes .../lib/gnu/java/security/util/IntegerUtil$1.class | Bin 0 -> 689 bytes .../lib/gnu/java/security/util/IntegerUtil.class | Bin 0 -> 1193 bytes .../lib/gnu/java/security/util/PRNG.class | Bin 0 -> 1822 bytes .../lib/gnu/java/security/util/Prime.class | Bin 0 -> 1776 bytes .../lib/gnu/java/security/util/Sequence.class | Bin 0 -> 1738 bytes .../lib/gnu/java/security/util/SimpleList.class | Bin 0 -> 2443 bytes .../lib/gnu/java/security/util/Util.class | Bin 0 -> 7616 bytes .../gnu/java/security/x509/GnuPKIExtension.class | Bin 0 -> 314 bytes .../gnu/java/security/x509/PolicyNodeImpl.class | Bin 0 -> 4472 bytes .../lib/gnu/java/security/x509/Util.class | Bin 0 -> 2815 bytes .../java/security/x509/X500DistinguishedName.class | Bin 0 -> 11414 bytes .../lib/gnu/java/security/x509/X509CRL.class | Bin 0 -> 9760 bytes .../lib/gnu/java/security/x509/X509CRLEntry.class | Bin 0 -> 5338 bytes .../java/security/x509/X509CRLSelectorImpl.class | Bin 0 -> 2421 bytes .../lib/gnu/java/security/x509/X509CertPath.class | Bin 0 -> 5636 bytes .../java/security/x509/X509CertSelectorImpl.class | Bin 0 -> 3382 bytes .../gnu/java/security/x509/X509Certificate.class | Bin 0 -> 17078 bytes .../security/x509/ext/AuthorityKeyIdentifier.class | Bin 0 -> 2707 bytes .../java/security/x509/ext/BasicConstraints.class | Bin 0 -> 2690 bytes .../lib/gnu/java/security/x509/ext/CRLNumber.class | Bin 0 -> 1879 bytes .../security/x509/ext/CertificatePolicies.class | Bin 0 -> 4908 bytes .../java/security/x509/ext/ExtendedKeyUsage.class | Bin 0 -> 2069 bytes .../java/security/x509/ext/Extension$Value.class | Bin 0 -> 1195 bytes .../lib/gnu/java/security/x509/ext/Extension.class | Bin 0 -> 4712 bytes .../gnu/java/security/x509/ext/GeneralNames.class | Bin 0 -> 3599 bytes .../security/x509/ext/IssuerAlternativeNames.class | Bin 0 -> 1334 bytes .../lib/gnu/java/security/x509/ext/KeyUsage.class | Bin 0 -> 1954 bytes .../java/security/x509/ext/PolicyConstraint.class | Bin 0 -> 2187 bytes .../java/security/x509/ext/PolicyMappings.class | Bin 0 -> 2433 bytes .../security/x509/ext/PrivateKeyUsagePeriod.class | Bin 0 -> 2082 bytes .../gnu/java/security/x509/ext/ReasonCode.class | Bin 0 -> 1609 bytes .../x509/ext/SubjectAlternativeNames.class | Bin 0 -> 1337 bytes .../security/x509/ext/SubjectKeyIdentifier.class | Bin 0 -> 1612 bytes .../lib/gnu/java/text/AttributedFormatBuffer.class | Bin 0 -> 4054 bytes .../lib/gnu/java/text/BaseBreakIterator.class | Bin 0 -> 1503 bytes .../lib/gnu/java/text/CharacterBreakIterator.class | Bin 0 -> 3120 bytes .../classpath/lib/gnu/java/text/FormatBuffer.class | Bin 0 -> 613 bytes .../gnu/java/text/FormatCharacterIterator.class | Bin 0 -> 7158 bytes .../lib/gnu/java/text/LineBreakIterator.class | Bin 0 -> 2355 bytes .../lib/gnu/java/text/SentenceBreakIterator.class | Bin 0 -> 2834 bytes .../lib/gnu/java/text/StringFormatBuffer.class | Bin 0 -> 2306 bytes .../lib/gnu/java/text/WordBreakIterator.class | Bin 0 -> 2956 bytes .../lib/gnu/java/util/DoubleEnumeration.class | Bin 0 -> 1348 bytes .../lib/gnu/java/util/EmptyEnumeration.class | Bin 0 -> 795 bytes .../lib/gnu/java/util/WeakIdentityHashMap$1.class | Bin 0 -> 2951 bytes .../WeakIdentityHashMap$WeakBucket$WeakEntry.class | Bin 0 -> 2038 bytes .../java/util/WeakIdentityHashMap$WeakBucket.class | Bin 0 -> 1120 bytes .../util/WeakIdentityHashMap$WeakEntrySet.class | Bin 0 -> 996 bytes .../lib/gnu/java/util/WeakIdentityHashMap.class | Bin 0 -> 5474 bytes .../classpath/lib/gnu/java/util/jar/JarUtils.class | Bin 0 -> 9045 bytes .../lib/gnu/java/util/prefs/EventDispatcher.class | Bin 0 -> 1264 bytes .../lib/gnu/java/util/prefs/FileBasedFactory.class | Bin 0 -> 921 bytes .../java/util/prefs/FileBasedPreferences$1.class | Bin 0 -> 924 bytes .../gnu/java/util/prefs/FileBasedPreferences.class | Bin 0 -> 4473 bytes .../gnu/java/util/prefs/GConfBasedFactory.class | Bin 0 -> 869 bytes .../java/util/prefs/GConfBasedPreferences.class | Bin 0 -> 5305 bytes .../gnu/java/util/prefs/MemoryBasedFactory.class | Bin 0 -> 880 bytes .../java/util/prefs/MemoryBasedPreferences.class | Bin 0 -> 2204 bytes .../lib/gnu/java/util/prefs/NodeReader.class | Bin 0 -> 4168 bytes .../lib/gnu/java/util/prefs/NodeWriter.class | Bin 0 -> 5937 bytes .../java/util/prefs/gconf/GConfNativePeer.class | Bin 0 -> 2599 bytes .../java/util/regex/BacktrackStack$Backtrack.class | Bin 0 -> 911 bytes .../lib/gnu/java/util/regex/BacktrackStack.class | Bin 0 -> 1487 bytes .../lib/gnu/java/util/regex/CharIndexed.class | Bin 0 -> 549 bytes .../gnu/java/util/regex/CharIndexedCharArray.class | Bin 0 -> 508 bytes .../java/util/regex/CharIndexedCharSequence.class | Bin 0 -> 2168 bytes .../java/util/regex/CharIndexedInputStream.class | Bin 0 -> 3586 bytes .../gnu/java/util/regex/CharIndexedString.class | Bin 0 -> 458 bytes .../java/util/regex/CharIndexedStringBuffer.class | Bin 0 -> 488 bytes .../gnu/java/util/regex/RE$CharExpression.class | Bin 0 -> 654 bytes .../lib/gnu/java/util/regex/RE$CharUnit.class | Bin 0 -> 516 bytes .../lib/gnu/java/util/regex/RE$IntPair.class | Bin 0 -> 515 bytes .../lib/gnu/java/util/regex/RE$NamedProperty.class | Bin 0 -> 549 bytes .../java/util/regex/RE$ParseCharClassResult.class | Bin 0 -> 632 bytes libjava/classpath/lib/gnu/java/util/regex/RE.class | Bin 0 -> 29673 bytes .../lib/gnu/java/util/regex/REException.class | Bin 0 -> 1846 bytes .../gnu/java/util/regex/REFilterInputStream.class | Bin 0 -> 2226 bytes .../lib/gnu/java/util/regex/REMatch.class | Bin 0 -> 4207 bytes .../gnu/java/util/regex/REMatchEnumeration.class | Bin 0 -> 2007 bytes .../lib/gnu/java/util/regex/RESyntax.class | Bin 0 -> 5039 bytes .../lib/gnu/java/util/regex/REToken.class | Bin 0 -> 4189 bytes .../lib/gnu/java/util/regex/RETokenAny.class | Bin 0 -> 1863 bytes .../lib/gnu/java/util/regex/RETokenBackRef.class | Bin 0 -> 1555 bytes .../lib/gnu/java/util/regex/RETokenChar.class | Bin 0 -> 2786 bytes .../lib/gnu/java/util/regex/RETokenEnd.class | Bin 0 -> 2560 bytes .../util/regex/RETokenEndOfPreviousMatch.class | Bin 0 -> 1604 bytes .../lib/gnu/java/util/regex/RETokenEndSub.class | Bin 0 -> 1668 bytes .../gnu/java/util/regex/RETokenIndependent.class | Bin 0 -> 1615 bytes .../lib/gnu/java/util/regex/RETokenLookAhead.class | Bin 0 -> 1537 bytes .../RETokenLookBehind$RETokenMatchHereOnly.class | Bin 0 -> 1065 bytes .../gnu/java/util/regex/RETokenLookBehind.class | Bin 0 -> 2393 bytes .../java/util/regex/RETokenNamedProperty$1.class | Bin 0 -> 831 bytes .../util/regex/RETokenNamedProperty$Handler.class | Bin 0 -> 566 bytes .../regex/RETokenNamedProperty$POSIXHandler.class | Bin 0 -> 1238 bytes .../RETokenNamedProperty$UnicodeBlockHandler.class | Bin 0 -> 948 bytes ...kenNamedProperty$UnicodeCategoriesHandler.class | Bin 0 -> 868 bytes ...TokenNamedProperty$UnicodeCategoryHandler.class | Bin 0 -> 782 bytes .../gnu/java/util/regex/RETokenNamedProperty.class | Bin 0 -> 6298 bytes .../lib/gnu/java/util/regex/RETokenOneOf.class | Bin 0 -> 6619 bytes .../lib/gnu/java/util/regex/RETokenPOSIX.class | Bin 0 -> 3820 bytes .../lib/gnu/java/util/regex/RETokenRange.class | Bin 0 -> 2109 bytes .../util/regex/RETokenRepeated$DoablesFinder.class | Bin 0 -> 2400 bytes .../regex/RETokenRepeated$FindMatchControl.class | Bin 0 -> 596 bytes .../RETokenRepeated$FindMatchControlStack.class | Bin 0 -> 1698 bytes .../util/regex/RETokenRepeated$StackedInfo.class | Bin 0 -> 999 bytes .../regex/RETokenRepeated$TryAnotherResult.class | Bin 0 -> 768 bytes .../lib/gnu/java/util/regex/RETokenRepeated.class | Bin 0 -> 9441 bytes .../lib/gnu/java/util/regex/RETokenStart.class | Bin 0 -> 2229 bytes .../gnu/java/util/regex/RETokenWordBoundary.class | Bin 0 -> 2115 bytes .../lib/gnu/java/util/regex/UncheckedRE.class | Bin 0 -> 1096 bytes .../lib/gnu/javax/crypto/RSACipherImpl.class | Bin 0 -> 7374 bytes .../lib/gnu/javax/crypto/assembly/Assembly.class | Bin 0 -> 2993 bytes .../lib/gnu/javax/crypto/assembly/Cascade.class | Bin 0 -> 5202 bytes .../gnu/javax/crypto/assembly/CascadeStage.class | Bin 0 -> 2122 bytes .../javax/crypto/assembly/CascadeTransformer.class | Bin 0 -> 2530 bytes .../javax/crypto/assembly/DeflateTransformer.class | Bin 0 -> 3183 bytes .../lib/gnu/javax/crypto/assembly/Direction.class | Bin 0 -> 863 bytes .../crypto/assembly/LoopbackTransformer.class | Bin 0 -> 1478 bytes .../lib/gnu/javax/crypto/assembly/ModeStage.class | Bin 0 -> 2475 bytes .../lib/gnu/javax/crypto/assembly/Operation.class | Bin 0 -> 679 bytes .../javax/crypto/assembly/PaddingTransformer.class | Bin 0 -> 2783 bytes .../lib/gnu/javax/crypto/assembly/Stage.class | Bin 0 -> 2354 bytes .../gnu/javax/crypto/assembly/Transformer.class | Bin 0 -> 5430 bytes .../crypto/assembly/TransformerException.class | Bin 0 -> 1878 bytes .../lib/gnu/javax/crypto/cipher/Anubis.class | Bin 0 -> 8212 bytes .../lib/gnu/javax/crypto/cipher/BaseCipher.class | Bin 0 -> 4395 bytes .../gnu/javax/crypto/cipher/Blowfish$Block.class | Bin 0 -> 672 bytes .../gnu/javax/crypto/cipher/Blowfish$Context.class | Bin 0 -> 1097 bytes .../lib/gnu/javax/crypto/cipher/Blowfish.class | Bin 0 -> 21891 bytes .../gnu/javax/crypto/cipher/Cast5$Cast5Key.class | Bin 0 -> 1106 bytes .../lib/gnu/javax/crypto/cipher/Cast5.class | Bin 0 -> 38541 bytes .../gnu/javax/crypto/cipher/CipherFactory.class | Bin 0 -> 2302 bytes .../lib/gnu/javax/crypto/cipher/DES$Context.class | Bin 0 -> 1058 bytes .../lib/gnu/javax/crypto/cipher/DES.class | Bin 0 -> 13928 bytes .../lib/gnu/javax/crypto/cipher/IBlockCipher.class | Bin 0 -> 829 bytes .../gnu/javax/crypto/cipher/IBlockCipherSpi.class | Bin 0 -> 425 bytes .../lib/gnu/javax/crypto/cipher/Khazad.class | Bin 0 -> 7325 bytes .../lib/gnu/javax/crypto/cipher/NullCipher.class | Bin 0 -> 1919 bytes .../lib/gnu/javax/crypto/cipher/Rijndael.class | Bin 0 -> 11637 bytes .../lib/gnu/javax/crypto/cipher/Serpent$Key.class | Bin 0 -> 5565 bytes .../lib/gnu/javax/crypto/cipher/Serpent.class | Bin 0 -> 28958 bytes .../lib/gnu/javax/crypto/cipher/Square.class | Bin 0 -> 7421 bytes .../javax/crypto/cipher/TripleDES$Context.class | Bin 0 -> 732 bytes .../lib/gnu/javax/crypto/cipher/TripleDES.class | Bin 0 -> 3879 bytes .../lib/gnu/javax/crypto/cipher/Twofish.class | Bin 0 -> 11522 bytes .../gnu/javax/crypto/cipher/WeakKeyException.class | Bin 0 -> 479 bytes .../gnu/javax/crypto/jce/DiffieHellmanImpl.class | Bin 0 -> 3619 bytes .../lib/gnu/javax/crypto/jce/GnuCrypto$1.class | Bin 0 -> 26862 bytes .../lib/gnu/javax/crypto/jce/GnuCrypto.class | Bin 0 -> 1116 bytes .../lib/gnu/javax/crypto/jce/GnuSasl$1.class | Bin 0 -> 2082 bytes .../lib/gnu/javax/crypto/jce/GnuSasl.class | Bin 0 -> 927 bytes .../jce/PBKDF2SecretKeyFactory$HMacHaval.class | Bin 0 -> 469 bytes .../jce/PBKDF2SecretKeyFactory$HMacMD2.class | Bin 0 -> 461 bytes .../jce/PBKDF2SecretKeyFactory$HMacMD4.class | Bin 0 -> 461 bytes .../jce/PBKDF2SecretKeyFactory$HMacMD5.class | Bin 0 -> 461 bytes .../jce/PBKDF2SecretKeyFactory$HMacRipeMD128.class | Bin 0 -> 485 bytes .../jce/PBKDF2SecretKeyFactory$HMacRipeMD160.class | Bin 0 -> 485 bytes .../jce/PBKDF2SecretKeyFactory$HMacSHA1.class | Bin 0 -> 465 bytes .../jce/PBKDF2SecretKeyFactory$HMacSHA256.class | Bin 0 -> 473 bytes .../jce/PBKDF2SecretKeyFactory$HMacSHA384.class | Bin 0 -> 473 bytes .../jce/PBKDF2SecretKeyFactory$HMacSHA512.class | Bin 0 -> 473 bytes .../jce/PBKDF2SecretKeyFactory$HMacTiger.class | Bin 0 -> 469 bytes .../jce/PBKDF2SecretKeyFactory$HMacWhirlpool.class | Bin 0 -> 485 bytes .../javax/crypto/jce/PBKDF2SecretKeyFactory.class | Bin 0 -> 3819 bytes .../javax/crypto/jce/cipher/AES128KeyWrapSpi.class | Bin 0 -> 431 bytes .../javax/crypto/jce/cipher/AES192KeyWrapSpi.class | Bin 0 -> 431 bytes .../javax/crypto/jce/cipher/AES256KeyWrapSpi.class | Bin 0 -> 431 bytes .../javax/crypto/jce/cipher/AESKeyWrapSpi.class | Bin 0 -> 800 bytes .../lib/gnu/javax/crypto/jce/cipher/AESSpi.class | Bin 0 -> 1559 bytes .../gnu/javax/crypto/jce/cipher/ARCFourSpi.class | Bin 0 -> 3913 bytes .../gnu/javax/crypto/jce/cipher/AnubisSpi.class | Bin 0 -> 375 bytes .../gnu/javax/crypto/jce/cipher/BlowfishSpi.class | Bin 0 -> 383 bytes .../lib/gnu/javax/crypto/jce/cipher/Cast5Spi.class | Bin 0 -> 371 bytes .../javax/crypto/jce/cipher/CipherAdapter.class | Bin 0 -> 9825 bytes .../lib/gnu/javax/crypto/jce/cipher/DESSpi.class | Bin 0 -> 363 bytes .../jce/cipher/KeyWrappingAlgorithmAdapter.class | Bin 0 -> 8363 bytes .../gnu/javax/crypto/jce/cipher/KhazadSpi.class | Bin 0 -> 375 bytes .../javax/crypto/jce/cipher/NullCipherSpi.class | Bin 0 -> 385 bytes .../crypto/jce/cipher/PBES2$HMacHaval$AES.class | Bin 0 -> 480 bytes .../crypto/jce/cipher/PBES2$HMacHaval$Anubis.class | Bin 0 -> 489 bytes .../jce/cipher/PBES2$HMacHaval$Blowfish.class | Bin 0 -> 495 bytes .../crypto/jce/cipher/PBES2$HMacHaval$Cast5.class | Bin 0 -> 486 bytes .../crypto/jce/cipher/PBES2$HMacHaval$DES.class | Bin 0 -> 480 bytes .../crypto/jce/cipher/PBES2$HMacHaval$Khazad.class | Bin 0 -> 489 bytes .../jce/cipher/PBES2$HMacHaval$Serpent.class | Bin 0 -> 492 bytes .../crypto/jce/cipher/PBES2$HMacHaval$Square.class | Bin 0 -> 489 bytes .../jce/cipher/PBES2$HMacHaval$TripleDES.class | Bin 0 -> 498 bytes .../jce/cipher/PBES2$HMacHaval$Twofish.class | Bin 0 -> 492 bytes .../javax/crypto/jce/cipher/PBES2$HMacHaval.class | Bin 0 -> 1411 bytes .../crypto/jce/cipher/PBES2$HMacMD2$AES.class | Bin 0 -> 472 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Anubis.class | Bin 0 -> 481 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Blowfish.class | Bin 0 -> 487 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Cast5.class | Bin 0 -> 478 bytes .../crypto/jce/cipher/PBES2$HMacMD2$DES.class | Bin 0 -> 472 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Khazad.class | Bin 0 -> 481 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Serpent.class | Bin 0 -> 484 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Square.class | Bin 0 -> 481 bytes .../jce/cipher/PBES2$HMacMD2$TripleDES.class | Bin 0 -> 490 bytes .../crypto/jce/cipher/PBES2$HMacMD2$Twofish.class | Bin 0 -> 484 bytes .../javax/crypto/jce/cipher/PBES2$HMacMD2.class | Bin 0 -> 1383 bytes .../crypto/jce/cipher/PBES2$HMacMD4$AES.class | Bin 0 -> 472 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Anubis.class | Bin 0 -> 481 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Blowfish.class | Bin 0 -> 487 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Cast5.class | Bin 0 -> 478 bytes .../crypto/jce/cipher/PBES2$HMacMD4$DES.class | Bin 0 -> 472 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Khazad.class | Bin 0 -> 481 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Serpent.class | Bin 0 -> 484 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Square.class | Bin 0 -> 481 bytes .../jce/cipher/PBES2$HMacMD4$TripleDES.class | Bin 0 -> 490 bytes .../crypto/jce/cipher/PBES2$HMacMD4$Twofish.class | Bin 0 -> 484 bytes .../javax/crypto/jce/cipher/PBES2$HMacMD4.class | Bin 0 -> 1383 bytes .../crypto/jce/cipher/PBES2$HMacMD5$AES.class | Bin 0 -> 472 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Anubis.class | Bin 0 -> 481 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Blowfish.class | Bin 0 -> 487 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Cast5.class | Bin 0 -> 478 bytes .../crypto/jce/cipher/PBES2$HMacMD5$DES.class | Bin 0 -> 472 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Khazad.class | Bin 0 -> 481 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Serpent.class | Bin 0 -> 484 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Square.class | Bin 0 -> 481 bytes .../jce/cipher/PBES2$HMacMD5$TripleDES.class | Bin 0 -> 490 bytes .../crypto/jce/cipher/PBES2$HMacMD5$Twofish.class | Bin 0 -> 484 bytes .../javax/crypto/jce/cipher/PBES2$HMacMD5.class | Bin 0 -> 1383 bytes .../jce/cipher/PBES2$HMacRipeMD128$AES.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacRipeMD128$Anubis.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacRipeMD128$Blowfish.class | Bin 0 -> 511 bytes .../jce/cipher/PBES2$HMacRipeMD128$Cast5.class | Bin 0 -> 502 bytes .../jce/cipher/PBES2$HMacRipeMD128$DES.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacRipeMD128$Khazad.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacRipeMD128$Serpent.class | Bin 0 -> 508 bytes .../jce/cipher/PBES2$HMacRipeMD128$Square.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacRipeMD128$TripleDES.class | Bin 0 -> 514 bytes .../jce/cipher/PBES2$HMacRipeMD128$Twofish.class | Bin 0 -> 508 bytes .../crypto/jce/cipher/PBES2$HMacRipeMD128.class | Bin 0 -> 1467 bytes .../jce/cipher/PBES2$HMacRipeMD160$AES.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacRipeMD160$Anubis.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacRipeMD160$Blowfish.class | Bin 0 -> 511 bytes .../jce/cipher/PBES2$HMacRipeMD160$Cast5.class | Bin 0 -> 502 bytes .../jce/cipher/PBES2$HMacRipeMD160$DES.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacRipeMD160$Khazad.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacRipeMD160$Serpent.class | Bin 0 -> 508 bytes .../jce/cipher/PBES2$HMacRipeMD160$Square.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacRipeMD160$TripleDES.class | Bin 0 -> 514 bytes .../jce/cipher/PBES2$HMacRipeMD160$Twofish.class | Bin 0 -> 508 bytes .../crypto/jce/cipher/PBES2$HMacRipeMD160.class | Bin 0 -> 1467 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$AES.class | Bin 0 -> 476 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$Anubis.class | Bin 0 -> 485 bytes .../jce/cipher/PBES2$HMacSHA1$Blowfish.class | Bin 0 -> 491 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$Cast5.class | Bin 0 -> 482 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$DES.class | Bin 0 -> 476 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$Khazad.class | Bin 0 -> 485 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$Serpent.class | Bin 0 -> 488 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$Square.class | Bin 0 -> 485 bytes .../jce/cipher/PBES2$HMacSHA1$TripleDES.class | Bin 0 -> 494 bytes .../crypto/jce/cipher/PBES2$HMacSHA1$Twofish.class | Bin 0 -> 488 bytes .../javax/crypto/jce/cipher/PBES2$HMacSHA1.class | Bin 0 -> 1397 bytes .../crypto/jce/cipher/PBES2$HMacSHA256$AES.class | Bin 0 -> 484 bytes .../jce/cipher/PBES2$HMacSHA256$Anubis.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA256$Blowfish.class | Bin 0 -> 499 bytes .../crypto/jce/cipher/PBES2$HMacSHA256$Cast5.class | Bin 0 -> 490 bytes .../crypto/jce/cipher/PBES2$HMacSHA256$DES.class | Bin 0 -> 484 bytes .../jce/cipher/PBES2$HMacSHA256$Khazad.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA256$Serpent.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacSHA256$Square.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA256$TripleDES.class | Bin 0 -> 502 bytes .../jce/cipher/PBES2$HMacSHA256$Twofish.class | Bin 0 -> 496 bytes .../javax/crypto/jce/cipher/PBES2$HMacSHA256.class | Bin 0 -> 1426 bytes .../crypto/jce/cipher/PBES2$HMacSHA384$AES.class | Bin 0 -> 484 bytes .../jce/cipher/PBES2$HMacSHA384$Anubis.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA384$Blowfish.class | Bin 0 -> 499 bytes .../crypto/jce/cipher/PBES2$HMacSHA384$Cast5.class | Bin 0 -> 490 bytes .../crypto/jce/cipher/PBES2$HMacSHA384$DES.class | Bin 0 -> 484 bytes .../jce/cipher/PBES2$HMacSHA384$Khazad.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA384$Serpent.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacSHA384$Square.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA384$TripleDES.class | Bin 0 -> 502 bytes .../jce/cipher/PBES2$HMacSHA384$Twofish.class | Bin 0 -> 496 bytes .../javax/crypto/jce/cipher/PBES2$HMacSHA384.class | Bin 0 -> 1426 bytes .../crypto/jce/cipher/PBES2$HMacSHA512$AES.class | Bin 0 -> 484 bytes .../jce/cipher/PBES2$HMacSHA512$Anubis.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA512$Blowfish.class | Bin 0 -> 499 bytes .../crypto/jce/cipher/PBES2$HMacSHA512$Cast5.class | Bin 0 -> 490 bytes .../crypto/jce/cipher/PBES2$HMacSHA512$DES.class | Bin 0 -> 484 bytes .../jce/cipher/PBES2$HMacSHA512$Khazad.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA512$Serpent.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacSHA512$Square.class | Bin 0 -> 493 bytes .../jce/cipher/PBES2$HMacSHA512$TripleDES.class | Bin 0 -> 502 bytes .../jce/cipher/PBES2$HMacSHA512$Twofish.class | Bin 0 -> 496 bytes .../javax/crypto/jce/cipher/PBES2$HMacSHA512.class | Bin 0 -> 1426 bytes .../crypto/jce/cipher/PBES2$HMacTiger$AES.class | Bin 0 -> 480 bytes .../crypto/jce/cipher/PBES2$HMacTiger$Anubis.class | Bin 0 -> 489 bytes .../jce/cipher/PBES2$HMacTiger$Blowfish.class | Bin 0 -> 495 bytes .../crypto/jce/cipher/PBES2$HMacTiger$Cast5.class | Bin 0 -> 486 bytes .../crypto/jce/cipher/PBES2$HMacTiger$DES.class | Bin 0 -> 480 bytes .../crypto/jce/cipher/PBES2$HMacTiger$Khazad.class | Bin 0 -> 489 bytes .../jce/cipher/PBES2$HMacTiger$Serpent.class | Bin 0 -> 492 bytes .../crypto/jce/cipher/PBES2$HMacTiger$Square.class | Bin 0 -> 489 bytes .../jce/cipher/PBES2$HMacTiger$TripleDES.class | Bin 0 -> 498 bytes .../jce/cipher/PBES2$HMacTiger$Twofish.class | Bin 0 -> 492 bytes .../javax/crypto/jce/cipher/PBES2$HMacTiger.class | Bin 0 -> 1411 bytes .../jce/cipher/PBES2$HMacWhirlpool$AES.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacWhirlpool$Anubis.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacWhirlpool$Blowfish.class | Bin 0 -> 511 bytes .../jce/cipher/PBES2$HMacWhirlpool$Cast5.class | Bin 0 -> 502 bytes .../jce/cipher/PBES2$HMacWhirlpool$DES.class | Bin 0 -> 496 bytes .../jce/cipher/PBES2$HMacWhirlpool$Khazad.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacWhirlpool$Serpent.class | Bin 0 -> 508 bytes .../jce/cipher/PBES2$HMacWhirlpool$Square.class | Bin 0 -> 505 bytes .../jce/cipher/PBES2$HMacWhirlpool$TripleDES.class | Bin 0 -> 514 bytes .../jce/cipher/PBES2$HMacWhirlpool$Twofish.class | Bin 0 -> 508 bytes .../crypto/jce/cipher/PBES2$HMacWhirlpool.class | Bin 0 -> 1467 bytes .../lib/gnu/javax/crypto/jce/cipher/PBES2.class | Bin 0 -> 4591 bytes .../gnu/javax/crypto/jce/cipher/RijndaelSpi.class | Bin 0 -> 386 bytes .../gnu/javax/crypto/jce/cipher/SerpentSpi.class | Bin 0 -> 379 bytes .../gnu/javax/crypto/jce/cipher/SquareSpi.class | Bin 0 -> 375 bytes .../crypto/jce/cipher/TripleDESKeyWrapSpi.class | Bin 0 -> 460 bytes .../gnu/javax/crypto/jce/cipher/TripleDESSpi.class | Bin 0 -> 387 bytes .../gnu/javax/crypto/jce/cipher/TwofishSpi.class | Bin 0 -> 379 bytes .../crypto/jce/key/AnubisKeyGeneratorImpl.class | Bin 0 -> 414 bytes .../jce/key/AnubisSecretKeyFactoryImpl.class | Bin 0 -> 386 bytes .../crypto/jce/key/BlowfishKeyGeneratorImpl.class | Bin 0 -> 422 bytes .../jce/key/BlowfishSecretKeyFactoryImpl.class | Bin 0 -> 392 bytes .../crypto/jce/key/Cast5KeyGeneratorImpl.class | Bin 0 -> 410 bytes .../crypto/jce/key/Cast5SecretKeyFactoryImpl.class | Bin 0 -> 383 bytes .../javax/crypto/jce/key/DESKeyGeneratorImpl.class | Bin 0 -> 1080 bytes .../crypto/jce/key/DESSecretKeyFactoryImpl.class | Bin 0 -> 1589 bytes .../jce/key/DESedeSecretKeyFactoryImpl.class | Bin 0 -> 1599 bytes .../crypto/jce/key/KhazadKeyGeneratorImpl.class | Bin 0 -> 414 bytes .../jce/key/KhazadSecretKeyFactoryImpl.class | Bin 0 -> 386 bytes .../crypto/jce/key/RijndaelKeyGeneratorImpl.class | Bin 0 -> 422 bytes .../jce/key/RijndaelSecretKeyFactoryImpl.class | Bin 0 -> 392 bytes .../crypto/jce/key/SecretKeyFactoryImpl.class | Bin 0 -> 1889 bytes .../crypto/jce/key/SecretKeyGeneratorImpl.class | Bin 0 -> 2889 bytes .../crypto/jce/key/SerpentKeyGeneratorImpl.class | Bin 0 -> 418 bytes .../jce/key/SerpentSecretKeyFactoryImpl.class | Bin 0 -> 389 bytes .../crypto/jce/key/SquareKeyGeneratorImpl.class | Bin 0 -> 414 bytes .../jce/key/SquareSecretKeyFactoryImpl.class | Bin 0 -> 386 bytes .../crypto/jce/key/TripleDESKeyGeneratorImpl.class | Bin 0 -> 426 bytes .../crypto/jce/key/TwofishKeyGeneratorImpl.class | Bin 0 -> 418 bytes .../jce/key/TwofishSecretKeyFactoryImpl.class | Bin 0 -> 389 bytes .../gnu/javax/crypto/jce/keyring/GnuKeyring.class | Bin 0 -> 9345 bytes .../gnu/javax/crypto/jce/mac/HMacHavalSpi.class | Bin 0 -> 376 bytes .../lib/gnu/javax/crypto/jce/mac/HMacMD2Spi.class | Bin 0 -> 368 bytes .../lib/gnu/javax/crypto/jce/mac/HMacMD4Spi.class | Bin 0 -> 368 bytes .../lib/gnu/javax/crypto/jce/mac/HMacMD5Spi.class | Bin 0 -> 368 bytes .../javax/crypto/jce/mac/HMacRipeMD128Spi.class | Bin 0 -> 392 bytes .../javax/crypto/jce/mac/HMacRipeMD160Spi.class | Bin 0 -> 392 bytes .../gnu/javax/crypto/jce/mac/HMacSHA160Spi.class | Bin 0 -> 381 bytes .../gnu/javax/crypto/jce/mac/HMacSHA256Spi.class | Bin 0 -> 381 bytes .../gnu/javax/crypto/jce/mac/HMacSHA384Spi.class | Bin 0 -> 381 bytes .../gnu/javax/crypto/jce/mac/HMacSHA512Spi.class | Bin 0 -> 381 bytes .../gnu/javax/crypto/jce/mac/HMacTigerSpi.class | Bin 0 -> 376 bytes .../javax/crypto/jce/mac/HMacWhirlpoolSpi.class | Bin 0 -> 392 bytes .../lib/gnu/javax/crypto/jce/mac/MacAdapter.class | Bin 0 -> 2656 bytes .../gnu/javax/crypto/jce/mac/OMacAnubisImpl.class | Bin 0 -> 383 bytes .../javax/crypto/jce/mac/OMacBlowfishImpl.class | Bin 0 -> 391 bytes .../gnu/javax/crypto/jce/mac/OMacCast5Impl.class | Bin 0 -> 379 bytes .../lib/gnu/javax/crypto/jce/mac/OMacDESImpl.class | Bin 0 -> 371 bytes .../gnu/javax/crypto/jce/mac/OMacImpl$Anubis.class | Bin 0 -> 517 bytes .../javax/crypto/jce/mac/OMacImpl$Blowfish.class | Bin 0 -> 525 bytes .../gnu/javax/crypto/jce/mac/OMacImpl$Cast5.class | Bin 0 -> 513 bytes .../gnu/javax/crypto/jce/mac/OMacImpl$DES.class | Bin 0 -> 505 bytes .../gnu/javax/crypto/jce/mac/OMacImpl$Khazad.class | Bin 0 -> 517 bytes .../javax/crypto/jce/mac/OMacImpl$Rijndael.class | Bin 0 -> 525 bytes .../javax/crypto/jce/mac/OMacImpl$Serpent.class | Bin 0 -> 521 bytes .../gnu/javax/crypto/jce/mac/OMacImpl$Square.class | Bin 0 -> 517 bytes .../javax/crypto/jce/mac/OMacImpl$TripleDES.class | Bin 0 -> 529 bytes .../javax/crypto/jce/mac/OMacImpl$Twofish.class | Bin 0 -> 521 bytes .../lib/gnu/javax/crypto/jce/mac/OMacImpl.class | Bin 0 -> 1213 bytes .../gnu/javax/crypto/jce/mac/OMacKhazadImpl.class | Bin 0 -> 383 bytes .../javax/crypto/jce/mac/OMacRijndaelImpl.class | Bin 0 -> 391 bytes .../gnu/javax/crypto/jce/mac/OMacSerpentImpl.class | Bin 0 -> 387 bytes .../gnu/javax/crypto/jce/mac/OMacSquareImpl.class | Bin 0 -> 383 bytes .../javax/crypto/jce/mac/OMacTripleDESImpl.class | Bin 0 -> 395 bytes .../gnu/javax/crypto/jce/mac/OMacTwofishImpl.class | Bin 0 -> 387 bytes .../lib/gnu/javax/crypto/jce/mac/TMMH16Spi.class | Bin 0 -> 1659 bytes .../lib/gnu/javax/crypto/jce/mac/UHash32Spi.class | Bin 0 -> 367 bytes .../lib/gnu/javax/crypto/jce/mac/UMac32Spi.class | Bin 0 -> 1242 bytes .../crypto/jce/params/BlockCipherParameters.class | Bin 0 -> 3568 bytes .../crypto/jce/params/DEREncodingException.class | Bin 0 -> 485 bytes .../gnu/javax/crypto/jce/params/DERReader.class | Bin 0 -> 2085 bytes .../gnu/javax/crypto/jce/params/DERWriter.class | Bin 0 -> 2257 bytes .../javax/crypto/jce/prng/ARCFourRandomSpi.class | Bin 0 -> 1418 bytes .../lib/gnu/javax/crypto/jce/prng/CSPRNGSpi.class | Bin 0 -> 1499 bytes .../gnu/javax/crypto/jce/prng/FortunaImpl.class | Bin 0 -> 1354 bytes .../gnu/javax/crypto/jce/prng/ICMRandomSpi.class | Bin 0 -> 3712 bytes .../gnu/javax/crypto/jce/prng/UMacRandomSpi.class | Bin 0 -> 3184 bytes .../gnu/javax/crypto/jce/sig/DHKeyFactory.class | Bin 0 -> 4888 bytes .../crypto/jce/sig/DHKeyPairGeneratorSpi.class | Bin 0 -> 1650 bytes .../gnu/javax/crypto/jce/sig/DHParameters.class | Bin 0 -> 4564 bytes .../crypto/jce/sig/DHParametersGenerator.class | Bin 0 -> 3498 bytes .../crypto/jce/spec/BlockCipherParameterSpec.class | Bin 0 -> 1630 bytes .../javax/crypto/jce/spec/TMMHParameterSpec.class | Bin 0 -> 1094 bytes .../crypto/jce/spec/UMac32ParameterSpec.class | Bin 0 -> 524 bytes .../javax/crypto/key/BaseKeyAgreementParty.class | Bin 0 -> 2887 bytes .../lib/gnu/javax/crypto/key/GnuPBEKey.class | Bin 0 -> 1273 bytes .../lib/gnu/javax/crypto/key/GnuSecretKey.class | Bin 0 -> 1620 bytes .../gnu/javax/crypto/key/IKeyAgreementParty.class | Bin 0 -> 491 bytes .../lib/gnu/javax/crypto/key/IncomingMessage.class | Bin 0 -> 5337 bytes .../javax/crypto/key/KeyAgreementException.class | Bin 0 -> 1782 bytes .../gnu/javax/crypto/key/KeyAgreementFactory.class | Bin 0 -> 1998 bytes .../lib/gnu/javax/crypto/key/OutgoingMessage.class | Bin 0 -> 3590 bytes .../javax/crypto/key/dh/DHKeyPairPKCS8Codec.class | Bin 0 -> 4882 bytes .../javax/crypto/key/dh/DHKeyPairRawCodec.class | Bin 0 -> 4528 bytes .../javax/crypto/key/dh/DHKeyPairX509Codec.class | Bin 0 -> 4928 bytes .../crypto/key/dh/DiffieHellmanKeyAgreement.class | Bin 0 -> 1058 bytes .../crypto/key/dh/DiffieHellmanReceiver.class | Bin 0 -> 2816 bytes .../javax/crypto/key/dh/DiffieHellmanSender.class | Bin 0 -> 2956 bytes .../javax/crypto/key/dh/ElGamalKeyAgreement.class | Bin 0 -> 1075 bytes .../gnu/javax/crypto/key/dh/ElGamalReceiver.class | Bin 0 -> 2008 bytes .../gnu/javax/crypto/key/dh/ElGamalSender.class | Bin 0 -> 2505 bytes .../lib/gnu/javax/crypto/key/dh/GnuDHKey.class | Bin 0 -> 2703 bytes .../crypto/key/dh/GnuDHKeyPairGenerator.class | Bin 0 -> 4686 bytes .../gnu/javax/crypto/key/dh/GnuDHPrivateKey.class | Bin 0 -> 2989 bytes .../gnu/javax/crypto/key/dh/GnuDHPublicKey.class | Bin 0 -> 2990 bytes .../lib/gnu/javax/crypto/key/dh/RFC2631.class | Bin 0 -> 3411 bytes .../lib/gnu/javax/crypto/key/srp6/SRP6Host.class | Bin 0 -> 4805 bytes .../javax/crypto/key/srp6/SRP6KeyAgreement.class | Bin 0 -> 2064 bytes .../gnu/javax/crypto/key/srp6/SRP6SaslClient.class | Bin 0 -> 1268 bytes .../gnu/javax/crypto/key/srp6/SRP6SaslServer.class | Bin 0 -> 1205 bytes .../gnu/javax/crypto/key/srp6/SRP6TLSClient.class | Bin 0 -> 4230 bytes .../gnu/javax/crypto/key/srp6/SRP6TLSServer.class | Bin 0 -> 4819 bytes .../lib/gnu/javax/crypto/key/srp6/SRP6User.class | Bin 0 -> 4660 bytes .../gnu/javax/crypto/key/srp6/SRPAlgorithm.class | Bin 0 -> 4451 bytes .../lib/gnu/javax/crypto/key/srp6/SRPKey.class | Bin 0 -> 1256 bytes .../crypto/key/srp6/SRPKeyPairGenerator.class | Bin 0 -> 5486 bytes .../javax/crypto/key/srp6/SRPKeyPairRawCodec.class | Bin 0 -> 4346 bytes .../gnu/javax/crypto/key/srp6/SRPPrivateKey.class | Bin 0 -> 2479 bytes .../gnu/javax/crypto/key/srp6/SRPPublicKey.class | Bin 0 -> 1972 bytes .../javax/crypto/keyring/AuthenticatedEntry.class | Bin 0 -> 5067 bytes .../lib/gnu/javax/crypto/keyring/BaseKeyring.class | Bin 0 -> 3549 bytes .../gnu/javax/crypto/keyring/BinaryDataEntry.class | Bin 0 -> 1815 bytes .../gnu/javax/crypto/keyring/CertPathEntry.class | Bin 0 -> 2959 bytes .../javax/crypto/keyring/CertificateEntry.class | Bin 0 -> 2968 bytes .../gnu/javax/crypto/keyring/CompressedEntry.class | Bin 0 -> 3048 bytes .../gnu/javax/crypto/keyring/EncryptedEntry.class | Bin 0 -> 5894 bytes .../lib/gnu/javax/crypto/keyring/Entry.class | Bin 0 -> 3066 bytes .../gnu/javax/crypto/keyring/EnvelopeEntry.class | Bin 0 -> 7797 bytes .../javax/crypto/keyring/GnuPrivateKeyring.class | Bin 0 -> 7405 bytes .../javax/crypto/keyring/GnuPublicKeyring.class | Bin 0 -> 4016 bytes .../lib/gnu/javax/crypto/keyring/IKeyring.class | Bin 0 -> 754 bytes .../gnu/javax/crypto/keyring/IPrivateKeyring.class | Bin 0 -> 790 bytes .../gnu/javax/crypto/keyring/IPublicKeyring.class | Bin 0 -> 390 bytes .../crypto/keyring/MalformedKeyringException.class | Bin 0 -> 494 bytes .../crypto/keyring/MaskableEnvelopeEntry.class | Bin 0 -> 2248 bytes .../javax/crypto/keyring/MeteredInputStream.class | Bin 0 -> 1978 bytes .../keyring/PasswordAuthenticatedEntry.class | Bin 0 -> 8106 bytes .../crypto/keyring/PasswordEncryptedEntry.class | Bin 0 -> 8323 bytes .../crypto/keyring/PasswordProtectedEntry.class | Bin 0 -> 498 bytes .../gnu/javax/crypto/keyring/PrimitiveEntry.class | Bin 0 -> 2280 bytes .../gnu/javax/crypto/keyring/PrivateKeyEntry.class | Bin 0 -> 4367 bytes .../lib/gnu/javax/crypto/keyring/Properties.class | Bin 0 -> 3479 bytes .../gnu/javax/crypto/keyring/PublicKeyEntry.class | Bin 0 -> 3747 bytes .../lib/gnu/javax/crypto/kwa/AESKeyWrap.class | Bin 0 -> 3081 bytes .../crypto/kwa/BaseKeyWrappingAlgorithm.class | Bin 0 -> 2353 bytes .../javax/crypto/kwa/IKeyWrappingAlgorithm.class | Bin 0 -> 698 bytes .../javax/crypto/kwa/KeyUnwrappingException.class | Bin 0 -> 496 bytes .../crypto/kwa/KeyWrappingAlgorithmFactory.class | Bin 0 -> 1474 bytes .../gnu/javax/crypto/kwa/TripleDESKeyWrap.class | Bin 0 -> 5388 bytes .../lib/gnu/javax/crypto/mac/BaseMac.class | Bin 0 -> 1694 bytes .../classpath/lib/gnu/javax/crypto/mac/HMac.class | Bin 0 -> 4848 bytes .../lib/gnu/javax/crypto/mac/HMacFactory.class | Bin 0 -> 1916 bytes .../classpath/lib/gnu/javax/crypto/mac/IMac.class | Bin 0 -> 686 bytes .../lib/gnu/javax/crypto/mac/MacFactory.class | Bin 0 -> 2483 bytes .../lib/gnu/javax/crypto/mac/MacInputStream.class | Bin 0 -> 1464 bytes .../lib/gnu/javax/crypto/mac/MacOutputStream.class | Bin 0 -> 1438 bytes .../classpath/lib/gnu/javax/crypto/mac/OMAC.class | Bin 0 -> 5837 bytes .../lib/gnu/javax/crypto/mac/TMMH16.class | Bin 0 -> 4710 bytes .../gnu/javax/crypto/mac/UHash32$L1Hash32.class | Bin 0 -> 3648 bytes .../gnu/javax/crypto/mac/UHash32$L2Hash32.class | Bin 0 -> 3784 bytes .../gnu/javax/crypto/mac/UHash32$L3Hash32.class | Bin 0 -> 1865 bytes .../lib/gnu/javax/crypto/mac/UHash32.class | Bin 0 -> 5515 bytes .../lib/gnu/javax/crypto/mac/UMac32.class | Bin 0 -> 6241 bytes .../lib/gnu/javax/crypto/mode/BaseMode.class | Bin 0 -> 4880 bytes .../classpath/lib/gnu/javax/crypto/mode/CBC.class | Bin 0 -> 1912 bytes .../classpath/lib/gnu/javax/crypto/mode/CFB.class | Bin 0 -> 2144 bytes .../classpath/lib/gnu/javax/crypto/mode/CTR.class | Bin 0 -> 2347 bytes .../classpath/lib/gnu/javax/crypto/mode/EAX.class | Bin 0 -> 6178 bytes .../classpath/lib/gnu/javax/crypto/mode/ECB.class | Bin 0 -> 1484 bytes .../gnu/javax/crypto/mode/IAuthenticatedMode.class | Bin 0 -> 207 bytes .../classpath/lib/gnu/javax/crypto/mode/ICM.class | Bin 0 -> 2874 bytes .../lib/gnu/javax/crypto/mode/IMode.class | Bin 0 -> 517 bytes .../lib/gnu/javax/crypto/mode/ModeFactory.class | Bin 0 -> 2809 bytes .../classpath/lib/gnu/javax/crypto/mode/OFB.class | Bin 0 -> 1618 bytes .../lib/gnu/javax/crypto/pad/BasePad.class | Bin 0 -> 2343 bytes .../classpath/lib/gnu/javax/crypto/pad/IPad.class | Bin 0 -> 530 bytes .../lib/gnu/javax/crypto/pad/ISO10126.class | Bin 0 -> 1212 bytes .../lib/gnu/javax/crypto/pad/PKCS1_V1_5.class | Bin 0 -> 2172 bytes .../classpath/lib/gnu/javax/crypto/pad/PKCS7.class | Bin 0 -> 1381 bytes .../lib/gnu/javax/crypto/pad/PadFactory.class | Bin 0 -> 1921 bytes .../classpath/lib/gnu/javax/crypto/pad/SSL3.class | Bin 0 -> 1151 bytes .../classpath/lib/gnu/javax/crypto/pad/TBC.class | Bin 0 -> 1423 bytes .../classpath/lib/gnu/javax/crypto/pad/TLS1.class | Bin 0 -> 1199 bytes .../javax/crypto/pad/WrongPaddingException.class | Bin 0 -> 333 bytes .../lib/gnu/javax/crypto/prng/ARCFour.class | Bin 0 -> 1692 bytes .../lib/gnu/javax/crypto/prng/CSPRNG$1.class | Bin 0 -> 697 bytes .../lib/gnu/javax/crypto/prng/CSPRNG$Poller.class | Bin 0 -> 3788 bytes .../lib/gnu/javax/crypto/prng/CSPRNG$Spinner.class | Bin 0 -> 738 bytes .../lib/gnu/javax/crypto/prng/CSPRNG.class | Bin 0 -> 12837 bytes .../gnu/javax/crypto/prng/Fortuna$Generator.class | Bin 0 -> 4028 bytes .../lib/gnu/javax/crypto/prng/Fortuna.class | Bin 0 -> 4083 bytes .../lib/gnu/javax/crypto/prng/ICMGenerator.class | Bin 0 -> 4444 bytes .../classpath/lib/gnu/javax/crypto/prng/IPBE.class | Bin 0 -> 451 bytes .../lib/gnu/javax/crypto/prng/PBKDF2.class | Bin 0 -> 3572 bytes .../lib/gnu/javax/crypto/prng/PRNGFactory.class | Bin 0 -> 2272 bytes .../lib/gnu/javax/crypto/prng/UMacGenerator.class | Bin 0 -> 2654 bytes .../lib/gnu/javax/crypto/sasl/AuthInfo.class | Bin 0 -> 2428 bytes .../crypto/sasl/AuthInfoProviderFactory.class | Bin 0 -> 1062 bytes .../lib/gnu/javax/crypto/sasl/ClientFactory.class | Bin 0 -> 4064 bytes .../gnu/javax/crypto/sasl/ClientMechanism.class | Bin 0 -> 5373 bytes .../crypto/sasl/ConfidentialityException.class | Bin 0 -> 667 bytes .../gnu/javax/crypto/sasl/IAuthInfoProvider.class | Bin 0 -> 502 bytes .../crypto/sasl/IAuthInfoProviderFactory.class | Bin 0 -> 237 bytes .../sasl/IllegalMechanismStateException.class | Bin 0 -> 701 bytes .../lib/gnu/javax/crypto/sasl/InputBuffer.class | Bin 0 -> 3753 bytes .../gnu/javax/crypto/sasl/IntegrityException.class | Bin 0 -> 649 bytes .../crypto/sasl/NoSuchMechanismException.class | Bin 0 -> 418 bytes .../javax/crypto/sasl/NoSuchUserException.class | Bin 0 -> 494 bytes .../lib/gnu/javax/crypto/sasl/OutputBuffer.class | Bin 0 -> 2769 bytes .../javax/crypto/sasl/SaslEncodingException.class | Bin 0 -> 488 bytes .../gnu/javax/crypto/sasl/SaslInputStream.class | Bin 0 -> 4002 bytes .../gnu/javax/crypto/sasl/SaslOutputStream.class | Bin 0 -> 2860 bytes .../lib/gnu/javax/crypto/sasl/SaslUtil.class | Bin 0 -> 954 bytes .../lib/gnu/javax/crypto/sasl/ServerFactory.class | Bin 0 -> 3779 bytes .../gnu/javax/crypto/sasl/ServerMechanism.class | Bin 0 -> 5632 bytes .../crypto/sasl/UserAlreadyExistsException.class | Bin 0 -> 510 bytes .../crypto/sasl/anonymous/AnonymousClient.class | Bin 0 -> 1734 bytes .../crypto/sasl/anonymous/AnonymousServer.class | Bin 0 -> 1399 bytes .../crypto/sasl/anonymous/AnonymousUtil.class | Bin 0 -> 951 bytes .../sasl/crammd5/CramMD5AuthInfoProvider.class | Bin 0 -> 3418 bytes .../javax/crypto/sasl/crammd5/CramMD5Client.class | Bin 0 -> 3839 bytes .../crypto/sasl/crammd5/CramMD5Registry.class | Bin 0 -> 543 bytes .../javax/crypto/sasl/crammd5/CramMD5Server.class | Bin 0 -> 3369 bytes .../javax/crypto/sasl/crammd5/CramMD5Util.class | Bin 0 -> 2534 bytes .../javax/crypto/sasl/crammd5/PasswordFile.class | Bin 0 -> 5083 bytes .../gnu/javax/crypto/sasl/plain/PasswordFile.class | Bin 0 -> 5266 bytes .../crypto/sasl/plain/PlainAuthInfoProvider.class | Bin 0 -> 3441 bytes .../gnu/javax/crypto/sasl/plain/PlainClient.class | Bin 0 -> 3394 bytes .../javax/crypto/sasl/plain/PlainRegistry.class | Bin 0 -> 526 bytes .../gnu/javax/crypto/sasl/plain/PlainServer.class | Bin 0 -> 3221 bytes .../lib/gnu/javax/crypto/sasl/srp/CALG.class | Bin 0 -> 4124 bytes .../gnu/javax/crypto/sasl/srp/ClientStore.class | Bin 0 -> 2087 bytes .../lib/gnu/javax/crypto/sasl/srp/IALG.class | Bin 0 -> 2245 bytes .../lib/gnu/javax/crypto/sasl/srp/KDF.class | Bin 0 -> 2276 bytes .../gnu/javax/crypto/sasl/srp/PasswordFile.class | Bin 0 -> 11585 bytes .../lib/gnu/javax/crypto/sasl/srp/SRP.class | Bin 0 -> 4671 bytes .../crypto/sasl/srp/SRPAuthInfoProvider.class | Bin 0 -> 3562 bytes .../lib/gnu/javax/crypto/sasl/srp/SRPClient.class | Bin 0 -> 18659 bytes .../gnu/javax/crypto/sasl/srp/SRPRegistry.class | Bin 0 -> 3133 bytes .../lib/gnu/javax/crypto/sasl/srp/SRPServer.class | Bin 0 -> 15844 bytes .../javax/crypto/sasl/srp/SecurityContext.class | Bin 0 -> 2168 bytes .../gnu/javax/crypto/sasl/srp/ServerStore.class | Bin 0 -> 2658 bytes .../lib/gnu/javax/crypto/sasl/srp/StoreEntry.class | Bin 0 -> 641 bytes .../lib/gnu/javax/imageio/IIOInputStream.class | Bin 0 -> 1477 bytes .../lib/gnu/javax/imageio/bmp/BMPDecoder.class | Bin 0 -> 3476 bytes .../lib/gnu/javax/imageio/bmp/BMPEncoder.class | Bin 0 -> 1547 bytes .../lib/gnu/javax/imageio/bmp/BMPException.class | Bin 0 -> 379 bytes .../lib/gnu/javax/imageio/bmp/BMPFileHeader.class | Bin 0 -> 2715 bytes .../lib/gnu/javax/imageio/bmp/BMPImageReader.class | Bin 0 -> 3376 bytes .../gnu/javax/imageio/bmp/BMPImageReaderSpi.class | Bin 0 -> 3037 bytes .../lib/gnu/javax/imageio/bmp/BMPImageWriter.class | Bin 0 -> 3379 bytes .../gnu/javax/imageio/bmp/BMPImageWriterSpi.class | Bin 0 -> 3398 bytes .../lib/gnu/javax/imageio/bmp/BMPInfoHeader.class | Bin 0 -> 5107 bytes .../lib/gnu/javax/imageio/bmp/DecodeBF16.class | Bin 0 -> 2661 bytes .../lib/gnu/javax/imageio/bmp/DecodeBF32.class | Bin 0 -> 2692 bytes .../lib/gnu/javax/imageio/bmp/DecodeRGB1.class | Bin 0 -> 2391 bytes .../lib/gnu/javax/imageio/bmp/DecodeRGB24.class | Bin 0 -> 1766 bytes .../lib/gnu/javax/imageio/bmp/DecodeRGB4.class | Bin 0 -> 2367 bytes .../lib/gnu/javax/imageio/bmp/DecodeRGB8.class | Bin 0 -> 2347 bytes .../lib/gnu/javax/imageio/bmp/DecodeRLE4.class | Bin 0 -> 3651 bytes .../lib/gnu/javax/imageio/bmp/DecodeRLE8.class | Bin 0 -> 3241 bytes .../lib/gnu/javax/imageio/bmp/EncodeRGB1.class | Bin 0 -> 2105 bytes .../lib/gnu/javax/imageio/bmp/EncodeRGB16.class | Bin 0 -> 2126 bytes .../lib/gnu/javax/imageio/bmp/EncodeRGB24.class | Bin 0 -> 2144 bytes .../lib/gnu/javax/imageio/bmp/EncodeRGB32.class | Bin 0 -> 2162 bytes .../lib/gnu/javax/imageio/bmp/EncodeRGB4.class | Bin 0 -> 2105 bytes .../lib/gnu/javax/imageio/bmp/EncodeRGB8.class | Bin 0 -> 2105 bytes .../lib/gnu/javax/imageio/bmp/EncodeRLE4.class | Bin 0 -> 4023 bytes .../lib/gnu/javax/imageio/bmp/EncodeRLE8.class | Bin 0 -> 3631 bytes .../javax/imageio/gif/GIFFile$GIFException.class | Bin 0 -> 464 bytes .../lib/gnu/javax/imageio/gif/GIFFile.class | Bin 0 -> 8669 bytes .../lib/gnu/javax/imageio/gif/GIFImageReader.class | Bin 0 -> 5068 bytes .../gnu/javax/imageio/gif/GIFImageReaderSpi.class | Bin 0 -> 3106 bytes .../classpath/lib/gnu/javax/imageio/jpeg/DCT.class | Bin 0 -> 4527 bytes .../lib/gnu/javax/imageio/jpeg/HuffmanTable.class | Bin 0 -> 3234 bytes .../lib/gnu/javax/imageio/jpeg/JPEGComponent.class | Bin 0 -> 5425 bytes .../lib/gnu/javax/imageio/jpeg/JPEGDecoder.class | Bin 0 -> 9405 bytes .../lib/gnu/javax/imageio/jpeg/JPEGException.class | Bin 0 -> 384 bytes .../lib/gnu/javax/imageio/jpeg/JPEGFrame.class | Bin 0 -> 2241 bytes .../javax/imageio/jpeg/JPEGImageInputStream.class | Bin 0 -> 1776 bytes .../gnu/javax/imageio/jpeg/JPEGImageReader.class | Bin 0 -> 2704 bytes .../javax/imageio/jpeg/JPEGImageReaderSpi.class | Bin 0 -> 3652 bytes .../lib/gnu/javax/imageio/jpeg/JPEGMarker.class | Bin 0 -> 1860 bytes .../imageio/jpeg/JPEGMarkerFoundException.class | Bin 0 -> 382 bytes .../lib/gnu/javax/imageio/jpeg/JPEGScan.class | Bin 0 -> 2721 bytes .../gnu/javax/imageio/jpeg/YCbCr_ColorSpace.class | Bin 0 -> 1269 bytes .../lib/gnu/javax/imageio/jpeg/ZigZag.class | Bin 0 -> 5447 bytes .../lib/gnu/javax/imageio/png/PNGChunk.class | Bin 0 -> 4262 bytes .../lib/gnu/javax/imageio/png/PNGData.class | Bin 0 -> 1572 bytes .../lib/gnu/javax/imageio/png/PNGDecoder.class | Bin 0 -> 5300 bytes .../lib/gnu/javax/imageio/png/PNGEncoder.class | Bin 0 -> 5501 bytes .../lib/gnu/javax/imageio/png/PNGException.class | Bin 0 -> 368 bytes .../lib/gnu/javax/imageio/png/PNGFile.class | Bin 0 -> 5022 bytes .../lib/gnu/javax/imageio/png/PNGFilter.class | Bin 0 -> 3211 bytes .../lib/gnu/javax/imageio/png/PNGGamma.class | Bin 0 -> 1461 bytes .../lib/gnu/javax/imageio/png/PNGHeader.class | Bin 0 -> 3615 bytes .../lib/gnu/javax/imageio/png/PNGICCProfile.class | Bin 0 -> 2711 bytes .../lib/gnu/javax/imageio/png/PNGImageReader.class | Bin 0 -> 3530 bytes .../gnu/javax/imageio/png/PNGImageReaderSpi.class | Bin 0 -> 2450 bytes .../lib/gnu/javax/imageio/png/PNGPalette.class | Bin 0 -> 2641 bytes .../lib/gnu/javax/imageio/png/PNGPhys.class | Bin 0 -> 2042 bytes .../lib/gnu/javax/imageio/png/PNGTime.class | Bin 0 -> 1650 bytes .../gnu/javax/management/Server$ServerInfo.class | Bin 0 -> 898 bytes .../management/Server$ServerInputStream.class | Bin 0 -> 1219 bytes .../Server$ServerNotificationListener.class | Bin 0 -> 1282 bytes .../lib/gnu/javax/management/Server.class | Bin 0 -> 23261 bytes .../javax/naming/giop/ContextContinuation.class | Bin 0 -> 11356 bytes .../lib/gnu/javax/naming/giop/CorbalocParser.class | Bin 0 -> 7202 bytes .../javax/naming/giop/GiopNamingEnumeration.class | Bin 0 -> 2055 bytes .../naming/giop/GiopNamingServiceFactory$1.class | Bin 0 -> 908 bytes .../naming/giop/GiopNamingServiceFactory.class | Bin 0 -> 3622 bytes .../naming/giop/GiopNamingServiceURLContext.class | Bin 0 -> 11362 bytes .../naming/giop/ListBindingsEnumeration.class | Bin 0 -> 1743 bytes .../gnu/javax/naming/giop/ListEnumeration.class | Bin 0 -> 1733 bytes .../ictxImpl/trans/GnuName$GnuNameEnum.class | Bin 0 -> 1068 bytes .../gnu/javax/naming/ictxImpl/trans/GnuName.class | Bin 0 -> 4953 bytes .../url/corbaname/corbanameURLContextFactory.class | Bin 0 -> 443 bytes .../naming/jndi/url/rmi/ContextContinuation.class | Bin 0 -> 8448 bytes .../jndi/url/rmi/ListBindingsEnumeration.class | Bin 0 -> 1061 bytes .../naming/jndi/url/rmi/ListEnumeration.class | Bin 0 -> 854 bytes .../naming/jndi/url/rmi/RmiContinuation.class | Bin 0 -> 8301 bytes .../naming/jndi/url/rmi/RmiNamingEnumeration.class | Bin 0 -> 1159 bytes .../javax/naming/jndi/url/rmi/rmiURLContext.class | Bin 0 -> 9374 bytes .../naming/jndi/url/rmi/rmiURLContextFactory.class | Bin 0 -> 824 bytes .../gnu/javax/net/ssl/AbstractSessionContext.class | Bin 0 -> 3707 bytes .../classpath/lib/gnu/javax/net/ssl/Base64.class | Bin 0 -> 3230 bytes .../lib/gnu/javax/net/ssl/EntropySource.class | Bin 0 -> 176 bytes .../gnu/javax/net/ssl/NullManagerParameters.class | Bin 0 -> 370 bytes .../gnu/javax/net/ssl/PreSharedKeyManager.class | Bin 0 -> 350 bytes .../net/ssl/PreSharedKeyManagerParameters.class | Bin 0 -> 1549 bytes .../lib/gnu/javax/net/ssl/PrivateCredentials.class | Bin 0 -> 9537 bytes .../gnu/javax/net/ssl/SRPManagerParameters.class | Bin 0 -> 689 bytes .../lib/gnu/javax/net/ssl/SRPTrustManager.class | Bin 0 -> 454 bytes .../lib/gnu/javax/net/ssl/SSLCipherSuite.class | Bin 0 -> 3137 bytes .../lib/gnu/javax/net/ssl/SSLProtocolVersion.class | Bin 0 -> 1205 bytes .../lib/gnu/javax/net/ssl/SSLRecordHandler.class | Bin 0 -> 803 bytes .../lib/gnu/javax/net/ssl/Session$ID.class | Bin 0 -> 1871 bytes .../classpath/lib/gnu/javax/net/ssl/Session.class | Bin 0 -> 5167 bytes .../gnu/javax/net/ssl/SessionStoreException.class | Bin 0 -> 685 bytes .../lib/gnu/javax/net/ssl/StaticTrustAnchors.class | Bin 0 -> 92341 bytes .../net/ssl/provider/AbstractHandshake$1.class | Bin 0 -> 1157 bytes .../provider/AbstractHandshake$CertVerifier.class | Bin 0 -> 3995 bytes .../provider/AbstractHandshake$DHE_PSKGen.class | Bin 0 -> 2687 bytes .../ssl/provider/AbstractHandshake$DHPhase.class | Bin 0 -> 2303 bytes .../javax/net/ssl/provider/AbstractHandshake.class | Bin 0 -> 19585 bytes .../javax/net/ssl/provider/Alert$Description.class | Bin 0 -> 4176 bytes .../gnu/javax/net/ssl/provider/Alert$Level.class | Bin 0 -> 1724 bytes .../lib/gnu/javax/net/ssl/provider/Alert.class | Bin 0 -> 3279 bytes .../javax/net/ssl/provider/AlertException.class | Bin 0 -> 1895 bytes .../lib/gnu/javax/net/ssl/provider/Builder.class | Bin 0 -> 211 bytes .../gnu/javax/net/ssl/provider/Certificate.class | Bin 0 -> 3965 bytes .../net/ssl/provider/CertificateBuilder.class | Bin 0 -> 2243 bytes .../CertificateRequest$ClientCertificateType.class | Bin 0 -> 2127 bytes .../net/ssl/provider/CertificateRequest.class | Bin 0 -> 2520 bytes .../ssl/provider/CertificateRequestBuilder.class | Bin 0 -> 2972 bytes ...tificateStatusRequest$ResponderIdIterator.class | Bin 0 -> 1355 bytes .../ssl/provider/CertificateStatusRequest.class | Bin 0 -> 5846 bytes .../net/ssl/provider/CertificateStatusType.class | Bin 0 -> 1177 bytes .../javax/net/ssl/provider/CertificateType.class | Bin 0 -> 1610 bytes .../provider/CertificateURL$CertChainType.class | Bin 0 -> 1447 bytes .../net/ssl/provider/CertificateURL$Iterator.class | Bin 0 -> 1434 bytes .../CertificateURL$URLAndOptionalHash.class | Bin 0 -> 4330 bytes .../javax/net/ssl/provider/CertificateURL.class | Bin 0 -> 5717 bytes .../javax/net/ssl/provider/CertificateVerify.class | Bin 0 -> 1646 bytes .../javax/net/ssl/provider/CipherAlgorithm.class | Bin 0 -> 1286 bytes .../gnu/javax/net/ssl/provider/CipherSuite.class | Bin 0 -> 13470 bytes .../ssl/provider/CipherSuiteList$Iterator.class | Bin 0 -> 2597 bytes .../javax/net/ssl/provider/CipherSuiteList.class | Bin 0 -> 4200 bytes .../ClientCertificateTypeList$Iterator.class | Bin 0 -> 2872 bytes .../ssl/provider/ClientCertificateTypeList.class | Bin 0 -> 3931 bytes .../net/ssl/provider/ClientDHE_PSKParameters.class | Bin 0 -> 2502 bytes .../ssl/provider/ClientDiffieHellmanPublic.class | Bin 0 -> 2671 bytes .../ssl/provider/ClientHandshake$CertLoader.class | Bin 0 -> 2588 bytes .../ssl/provider/ClientHandshake$ClientDHGen.class | Bin 0 -> 3697 bytes .../provider/ClientHandshake$GenCertVerify.class | Bin 0 -> 2856 bytes .../provider/ClientHandshake$ParamsVerifier.class | Bin 0 -> 2151 bytes .../net/ssl/provider/ClientHandshake$RSAGen.class | Bin 0 -> 3440 bytes .../net/ssl/provider/ClientHandshake$State.class | Bin 0 -> 2213 bytes .../javax/net/ssl/provider/ClientHandshake.class | Bin 0 -> 30697 bytes .../gnu/javax/net/ssl/provider/ClientHello.class | Bin 0 -> 5069 bytes .../net/ssl/provider/ClientHelloBuilder.class | Bin 0 -> 3939 bytes .../gnu/javax/net/ssl/provider/ClientHelloV2.class | Bin 0 -> 3414 bytes .../javax/net/ssl/provider/ClientKeyExchange.class | Bin 0 -> 3437 bytes .../ssl/provider/ClientKeyExchangeBuilder.class | Bin 0 -> 1785 bytes .../net/ssl/provider/ClientPSKParameters.class | Bin 0 -> 2480 bytes .../net/ssl/provider/ClientRSA_PSKParameters.class | Bin 0 -> 3336 bytes .../javax/net/ssl/provider/CompressionMethod.class | Bin 0 -> 1447 bytes .../provider/CompressionMethodList$Iterator.class | Bin 0 -> 2681 bytes .../net/ssl/provider/CompressionMethodList.class | Bin 0 -> 3860 bytes .../gnu/javax/net/ssl/provider/Constructed.class | Bin 0 -> 213 bytes .../gnu/javax/net/ssl/provider/ContentType.class | Bin 0 -> 1657 bytes .../lib/gnu/javax/net/ssl/provider/Debug.class | Bin 0 -> 420 bytes .../gnu/javax/net/ssl/provider/DelegatedTask.class | Bin 0 -> 1606 bytes .../gnu/javax/net/ssl/provider/DiffieHellman.class | Bin 0 -> 8733 bytes .../javax/net/ssl/provider/EmptyExchangeKeys.class | Bin 0 -> 1069 bytes .../ssl/provider/EncryptedPreMasterSecret.class | Bin 0 -> 3204 bytes .../gnu/javax/net/ssl/provider/ExchangeKeys.class | Bin 0 -> 686 bytes .../javax/net/ssl/provider/Extension$Type.class | Bin 0 -> 1970 bytes .../javax/net/ssl/provider/Extension$Value.class | Bin 0 -> 487 bytes .../lib/gnu/javax/net/ssl/provider/Extension.class | Bin 0 -> 5727 bytes .../ExtensionList$ExtensionsIterator.class | Bin 0 -> 2697 bytes .../gnu/javax/net/ssl/provider/ExtensionList.class | Bin 0 -> 5666 bytes .../lib/gnu/javax/net/ssl/provider/Finished.class | Bin 0 -> 3117 bytes .../javax/net/ssl/provider/Handshake$Body.class | Bin 0 -> 340 bytes .../javax/net/ssl/provider/Handshake$Type.class | Bin 0 -> 2593 bytes .../lib/gnu/javax/net/ssl/provider/Handshake.class | Bin 0 -> 5821 bytes .../gnu/javax/net/ssl/provider/HelloRequest.class | Bin 0 -> 905 bytes .../net/ssl/provider/InputSecurityParameters.class | Bin 0 -> 6952 bytes .../lib/gnu/javax/net/ssl/provider/Jessie$1.class | Bin 0 -> 1944 bytes .../lib/gnu/javax/net/ssl/provider/Jessie.class | Bin 0 -> 943 bytes .../net/ssl/provider/KeyExchangeAlgorithm.class | Bin 0 -> 1570 bytes .../gnu/javax/net/ssl/provider/MacAlgorithm.class | Bin 0 -> 1121 bytes .../gnu/javax/net/ssl/provider/MacException.class | Bin 0 -> 322 bytes .../javax/net/ssl/provider/MaxFragmentLength.class | Bin 0 -> 1780 bytes .../ssl/provider/OutputSecurityParameters.class | Bin 0 -> 6668 bytes .../PreSharedKeyManagerFactoryImpl$Manager.class | Bin 0 -> 1486 bytes .../provider/PreSharedKeyManagerFactoryImpl.class | Bin 0 -> 1630 bytes .../javax/net/ssl/provider/ProtocolVersion.class | Bin 0 -> 3435 bytes .../lib/gnu/javax/net/ssl/provider/Random.class | Bin 0 -> 2988 bytes .../lib/gnu/javax/net/ssl/provider/Record.class | Bin 0 -> 3611 bytes .../provider/SRPTrustManagerFactory$Manager.class | Bin 0 -> 2766 bytes .../net/ssl/provider/SRPTrustManagerFactory.class | Bin 0 -> 2583 bytes .../javax/net/ssl/provider/SSLContextImpl.class | Bin 0 -> 5552 bytes .../net/ssl/provider/SSLEngineImpl$Mode.class | Bin 0 -> 1197 bytes .../gnu/javax/net/ssl/provider/SSLEngineImpl.class | Bin 0 -> 21687 bytes .../lib/gnu/javax/net/ssl/provider/SSLHMac.class | Bin 0 -> 2627 bytes .../net/ssl/provider/SSLRSASignatureImpl.class | Bin 0 -> 5048 bytes .../lib/gnu/javax/net/ssl/provider/SSLRandom.class | Bin 0 -> 3093 bytes .../ssl/provider/SSLServerSocketFactoryImpl.class | Bin 0 -> 2363 bytes .../net/ssl/provider/SSLServerSocketImpl.class | Bin 0 -> 3468 bytes .../net/ssl/provider/SSLSocketFactoryImpl.class | Bin 0 -> 3412 bytes .../javax/net/ssl/provider/SSLSocketImpl$1.class | Bin 0 -> 885 bytes .../provider/SSLSocketImpl$SocketInputStream.class | Bin 0 -> 3668 bytes .../SSLSocketImpl$SocketOutputStream.class | Bin 0 -> 3392 bytes .../gnu/javax/net/ssl/provider/SSLSocketImpl.class | Bin 0 -> 16460 bytes .../javax/net/ssl/provider/SSLv3HMacMD5Impl.class | Bin 0 -> 2107 bytes .../javax/net/ssl/provider/SSLv3HMacSHAImpl.class | Bin 0 -> 2111 bytes .../net/ssl/provider/ServerDHE_PSKParameters.class | Bin 0 -> 3858 bytes .../javax/net/ssl/provider/ServerDHParams.class | Bin 0 -> 4428 bytes .../ssl/provider/ServerHandshake$CertLoader.class | Bin 0 -> 3121 bytes .../net/ssl/provider/ServerHandshake$GenDH.class | Bin 0 -> 3828 bytes .../provider/ServerHandshake$RSAKeyExchange.class | Bin 0 -> 2453 bytes .../provider/ServerHandshake$RSA_PSKExchange.class | Bin 0 -> 2897 bytes .../net/ssl/provider/ServerHandshake$State.class | Bin 0 -> 2284 bytes .../javax/net/ssl/provider/ServerHandshake.class | Bin 0 -> 34821 bytes .../gnu/javax/net/ssl/provider/ServerHello.class | Bin 0 -> 4424 bytes .../net/ssl/provider/ServerHelloBuilder.class | Bin 0 -> 3225 bytes .../javax/net/ssl/provider/ServerHelloDone.class | Bin 0 -> 988 bytes .../javax/net/ssl/provider/ServerKeyExchange.class | Bin 0 -> 4255 bytes .../ssl/provider/ServerKeyExchangeBuilder.class | Bin 0 -> 2131 bytes .../net/ssl/provider/ServerKeyExchangeParams.class | Bin 0 -> 274 bytes .../net/ssl/provider/ServerNameList$Iterator.class | Bin 0 -> 1410 bytes .../net/ssl/provider/ServerNameList$NameType.class | Bin 0 -> 1354 bytes .../ssl/provider/ServerNameList$ServerName.class | Bin 0 -> 3814 bytes .../javax/net/ssl/provider/ServerNameList.class | Bin 0 -> 4498 bytes .../net/ssl/provider/ServerPSKParameters.class | Bin 0 -> 2864 bytes .../javax/net/ssl/provider/ServerRSAParams.class | Bin 0 -> 2848 bytes .../net/ssl/provider/ServerRSA_PSKParameters.class | Bin 0 -> 844 bytes .../net/ssl/provider/SessionImpl$PrivateData.class | Bin 0 -> 545 bytes .../gnu/javax/net/ssl/provider/SessionImpl.class | Bin 0 -> 4385 bytes .../lib/gnu/javax/net/ssl/provider/Signature.class | Bin 0 -> 3037 bytes .../net/ssl/provider/SignatureAlgorithm.class | Bin 0 -> 1648 bytes .../net/ssl/provider/SimpleSessionContext$1.class | Bin 0 -> 1347 bytes .../net/ssl/provider/SimpleSessionContext.class | Bin 0 -> 2957 bytes .../lib/gnu/javax/net/ssl/provider/TLSHMac.class | Bin 0 -> 2111 bytes .../lib/gnu/javax/net/ssl/provider/TLSRandom.class | Bin 0 -> 4306 bytes .../gnu/javax/net/ssl/provider/TruncatedHMAC.class | Bin 0 -> 1125 bytes .../TrustedAuthorities$AuthoritiesIterator.class | Bin 0 -> 1497 bytes .../TrustedAuthorities$IdentifierType.class | Bin 0 -> 1597 bytes .../TrustedAuthorities$TrustedAuthority.class | Bin 0 -> 3221 bytes .../net/ssl/provider/TrustedAuthorities.class | Bin 0 -> 3425 bytes .../ssl/provider/UnresolvedExtensionValue.class | Bin 0 -> 1413 bytes .../lib/gnu/javax/net/ssl/provider/Util$1.class | Bin 0 -> 692 bytes .../lib/gnu/javax/net/ssl/provider/Util$2.class | Bin 0 -> 725 bytes .../net/ssl/provider/Util$WrappedBuffer.class | Bin 0 -> 773 bytes .../lib/gnu/javax/net/ssl/provider/Util.class | Bin 0 -> 7423 bytes .../ssl/provider/X500PrincipalList$Iterator.class | Bin 0 -> 2566 bytes .../javax/net/ssl/provider/X500PrincipalList.class | Bin 0 -> 4562 bytes .../provider/X509KeyManagerFactory$Manager.class | Bin 0 -> 5311 bytes .../net/ssl/provider/X509KeyManagerFactory.class | Bin 0 -> 5245 bytes .../provider/X509TrustManagerFactory$Manager.class | Bin 0 -> 3262 bytes .../net/ssl/provider/X509TrustManagerFactory.class | Bin 0 -> 4623 bytes .../lib/gnu/javax/print/CupsIppOperation.class | Bin 0 -> 860 bytes .../lib/gnu/javax/print/CupsMediaMapping.class | Bin 0 -> 4194 bytes .../lib/gnu/javax/print/CupsPrintService.class | Bin 0 -> 1287 bytes .../gnu/javax/print/CupsPrintServiceLookup.class | Bin 0 -> 3703 bytes .../classpath/lib/gnu/javax/print/CupsServer.class | Bin 0 -> 4232 bytes .../gnu/javax/print/PrintAttributeException.class | Bin 0 -> 1653 bytes .../lib/gnu/javax/print/PrintFlavorException.class | Bin 0 -> 1248 bytes .../lib/gnu/javax/print/PrintUriException.class | Bin 0 -> 1355 bytes .../PrinterDialog$AppearancePanel$Color.class | Bin 0 -> 3306 bytes ...interDialog$AppearancePanel$JobAttributes.class | Bin 0 -> 5932 bytes .../PrinterDialog$AppearancePanel$Quality.class | Bin 0 -> 3566 bytes .../PrinterDialog$AppearancePanel$SidesPanel.class | Bin 0 -> 3599 bytes .../print/PrinterDialog$AppearancePanel.class | Bin 0 -> 2445 bytes ...rinterDialog$GeneralPanel$CopiesAndSorted.class | Bin 0 -> 4024 bytes .../PrinterDialog$GeneralPanel$PrintRange.class | Bin 0 -> 4723 bytes .../PrinterDialog$GeneralPanel$PrintServices.class | Bin 0 -> 5188 bytes .../javax/print/PrinterDialog$GeneralPanel.class | Bin 0 -> 2133 bytes .../PrinterDialog$PageSetupPanel$Margins.class | Bin 0 -> 3187 bytes .../PrinterDialog$PageSetupPanel$MediaTypes.class | Bin 0 -> 3821 bytes .../PrinterDialog$PageSetupPanel$Orientation.class | Bin 0 -> 3923 bytes .../javax/print/PrinterDialog$PageSetupPanel.class | Bin 0 -> 2129 bytes .../lib/gnu/javax/print/PrinterDialog.class | Bin 0 -> 7369 bytes .../lib/gnu/javax/print/ipp/DocPrintJobImpl.class | Bin 0 -> 10253 bytes .../lib/gnu/javax/print/ipp/IppDelimiterTag.class | Bin 0 -> 675 bytes .../lib/gnu/javax/print/ipp/IppException.class | Bin 0 -> 733 bytes .../javax/print/ipp/IppMultiDocPrintService.class | Bin 0 -> 945 bytes .../lib/gnu/javax/print/ipp/IppPrintService.class | Bin 0 -> 20077 bytes .../javax/print/ipp/IppRequest$RequestWriter.class | Bin 0 -> 9273 bytes .../lib/gnu/javax/print/ipp/IppRequest.class | Bin 0 -> 8604 bytes .../print/ipp/IppResponse$ResponseReader.class | Bin 0 -> 13159 bytes .../lib/gnu/javax/print/ipp/IppResponse.class | Bin 0 -> 2476 bytes .../lib/gnu/javax/print/ipp/IppStatusCode.class | Bin 0 -> 2084 bytes .../lib/gnu/javax/print/ipp/IppUtilities.class | Bin 0 -> 15597 bytes .../lib/gnu/javax/print/ipp/IppValueTag.class | Bin 0 -> 1278 bytes .../gnu/javax/print/ipp/MultiDocPrintJobImpl.class | Bin 0 -> 987 bytes .../javax/print/ipp/attribute/CharsetSyntax.class | Bin 0 -> 1048 bytes .../ipp/attribute/DefaultValueAttribute.class | Bin 0 -> 263 bytes .../ipp/attribute/DetailedStatusMessage.class | Bin 0 -> 740 bytes .../print/ipp/attribute/DocumentAccessError.class | Bin 0 -> 732 bytes .../ipp/attribute/NaturalLanguageSyntax.class | Bin 0 -> 1072 bytes .../print/ipp/attribute/RequestedAttributes.class | Bin 0 -> 1632 bytes .../javax/print/ipp/attribute/StatusMessage.class | Bin 0 -> 707 bytes .../print/ipp/attribute/UnknownAttribute.class | Bin 0 -> 2180 bytes .../ipp/attribute/defaults/CopiesDefault.class | Bin 0 -> 1151 bytes .../attribute/defaults/DocumentFormatDefault.class | Bin 0 -> 1042 bytes .../ipp/attribute/defaults/FinishingsDefault.class | Bin 0 -> 3187 bytes .../attribute/defaults/JobHoldUntilDefault.class | Bin 0 -> 1603 bytes .../attribute/defaults/JobPriorityDefault.class | Bin 0 -> 1173 bytes .../ipp/attribute/defaults/JobSheetsDefault.class | Bin 0 -> 1338 bytes .../ipp/attribute/defaults/MediaDefault.class | Bin 0 -> 1043 bytes .../defaults/MultipleDocumentHandlingDefault.class | Bin 0 -> 2077 bytes .../ipp/attribute/defaults/NumberUpDefault.class | Bin 0 -> 1031 bytes .../defaults/OrientationRequestedDefault.class | Bin 0 -> 1998 bytes .../attribute/defaults/PrintQualityDefault.class | Bin 0 -> 1778 bytes .../defaults/PrinterResolutionDefault.class | Bin 0 -> 1207 bytes .../ipp/attribute/defaults/SidesDefault.class | Bin 0 -> 1850 bytes .../ipp/attribute/job/AttributesCharset.class | Bin 0 -> 804 bytes .../attribute/job/AttributesNaturalLanguage.class | Bin 0 -> 844 bytes .../attribute/job/JobDetailedStatusMessages.class | Bin 0 -> 765 bytes .../attribute/job/JobDocumentAccessErrors.class | Bin 0 -> 757 bytes .../gnu/javax/print/ipp/attribute/job/JobId.class | Bin 0 -> 725 bytes .../print/ipp/attribute/job/JobMoreInfo.class | Bin 0 -> 638 bytes .../print/ipp/attribute/job/JobPrinterUri.class | Bin 0 -> 646 bytes .../print/ipp/attribute/job/JobStateMessage.class | Bin 0 -> 724 bytes .../gnu/javax/print/ipp/attribute/job/JobUri.class | Bin 0 -> 617 bytes .../ipp/attribute/printer/CharsetConfigured.class | Bin 0 -> 691 bytes .../ipp/attribute/printer/DocumentFormat.class | Bin 0 -> 1481 bytes .../printer/MultipleOperationTimeOut.class | Bin 0 -> 679 bytes .../printer/NaturalLanguageConfigured.class | Bin 0 -> 732 bytes .../ipp/attribute/printer/PrinterCurrentTime.class | Bin 0 -> 856 bytes .../attribute/printer/PrinterDriverInstaller.class | Bin 0 -> 690 bytes .../attribute/printer/PrinterStateMessage.class | Bin 0 -> 760 bytes .../ipp/attribute/printer/PrinterUpTime.class | Bin 0 -> 634 bytes .../ipp/attribute/supported/CharsetSupported.class | Bin 0 -> 706 bytes .../attribute/supported/CompressionSupported.class | Bin 0 -> 2442 bytes .../supported/DocumentFormatSupported.class | Bin 0 -> 783 bytes .../attribute/supported/FinishingsSupported.class | Bin 0 -> 3892 bytes .../GeneratedNaturalLanguageSupported.class | Bin 0 -> 784 bytes .../attribute/supported/IppVersionsSupported.class | Bin 0 -> 1309 bytes .../supported/JobHoldUntilSupported.class | Bin 0 -> 1363 bytes .../attribute/supported/JobSheetsSupported.class | Bin 0 -> 2290 bytes .../ipp/attribute/supported/MediaSupported.class | Bin 0 -> 1762 bytes .../MultipleDocumentHandlingSupported.class | Bin 0 -> 2774 bytes .../supported/MultipleDocumentJobsSupported.class | Bin 0 -> 1375 bytes .../attribute/supported/OperationsSupported.class | Bin 0 -> 2682 bytes .../supported/OrientationRequestedSupported.class | Bin 0 -> 2679 bytes .../attribute/supported/PageRangesSupported.class | Bin 0 -> 1332 bytes .../supported/PrintQualitySupported.class | Bin 0 -> 2459 bytes .../supported/PrinterResolutionSupported.class | Bin 0 -> 1820 bytes .../attribute/supported/PrinterUriSupported.class | Bin 0 -> 697 bytes .../ipp/attribute/supported/SidesSupported.class | Bin 0 -> 1511 bytes .../supported/UriAuthenticationSupported.class | Bin 0 -> 1598 bytes .../attribute/supported/UriSecuritySupported.class | Bin 0 -> 1372 bytes .../lib/gnu/javax/rmi/CORBA/CorbaInput.class | Bin 0 -> 4281 bytes .../lib/gnu/javax/rmi/CORBA/CorbaOutput.class | Bin 0 -> 3416 bytes .../javax/rmi/CORBA/DefaultWriteObjectTester.class | Bin 0 -> 890 bytes .../lib/gnu/javax/rmi/CORBA/DelegateFactory.class | Bin 0 -> 1678 bytes .../rmi/CORBA/GetDelegateInstanceException.class | Bin 0 -> 593 bytes .../CORBA/PortableRemoteObjectDelegateImpl.class | Bin 0 -> 7327 bytes .../lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class | Bin 0 -> 863 bytes .../lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class | Bin 0 -> 822 bytes .../lib/gnu/javax/rmi/CORBA/RmiUtilities.class | Bin 0 -> 18745 bytes .../lib/gnu/javax/rmi/CORBA/StubDelegateImpl.class | Bin 0 -> 6511 bytes .../lib/gnu/javax/rmi/CORBA/TieTargetRecord.class | Bin 0 -> 890 bytes .../lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class | Bin 0 -> 12840 bytes .../javax/rmi/CORBA/ValueHandlerDelegateImpl.class | Bin 0 -> 3264 bytes .../lib/gnu/javax/security/auth/Password.class | Bin 0 -> 2543 bytes .../auth/callback/AWTCallbackHandler.class | Bin 0 -> 10086 bytes .../auth/callback/AbstractCallbackHandler.class | Bin 0 -> 4916 bytes .../auth/callback/CertificateCallback.class | Bin 0 -> 663 bytes .../auth/callback/ConsoleCallbackHandler.class | Bin 0 -> 6784 bytes .../auth/callback/DefaultCallbackHandler.class | Bin 0 -> 2626 bytes .../security/auth/callback/GnuCallbacks$1.class | Bin 0 -> 1268 bytes .../security/auth/callback/GnuCallbacks.class | Bin 0 -> 745 bytes .../auth/callback/SwingCallbackHandler$1.class | Bin 0 -> 1388 bytes .../auth/callback/SwingCallbackHandler$2.class | Bin 0 -> 1802 bytes .../auth/callback/SwingCallbackHandler$3.class | Bin 0 -> 1869 bytes .../auth/callback/SwingCallbackHandler$4.class | Bin 0 -> 1692 bytes .../auth/callback/SwingCallbackHandler$5.class | Bin 0 -> 1727 bytes .../auth/callback/SwingCallbackHandler$6.class | Bin 0 -> 1714 bytes .../auth/callback/SwingCallbackHandler$7.class | Bin 0 -> 1255 bytes .../auth/callback/SwingCallbackHandler.class | Bin 0 -> 12162 bytes .../security/auth/login/ConfigFileParser.class | Bin 0 -> 5453 bytes .../security/auth/login/ConfigFileTokenizer.class | Bin 0 -> 3414 bytes .../security/auth/login/GnuConfiguration.class | Bin 0 -> 5617 bytes .../sound/midi/alsa/AlsaInputPortDevice.class | Bin 0 -> 1398 bytes .../alsa/AlsaMidiDeviceProvider$AlsaInfo.class | Bin 0 -> 732 bytes .../AlsaMidiDeviceProvider$AlsaInputPortInfo.class | Bin 0 -> 919 bytes ...AlsaMidiDeviceProvider$AlsaOutputPortInfo.class | Bin 0 -> 923 bytes .../alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class | Bin 0 -> 753 bytes .../AlsaMidiDeviceProvider$AlsaSequencerInfo.class | Bin 0 -> 870 bytes .../sound/midi/alsa/AlsaMidiDeviceProvider.class | Bin 0 -> 2276 bytes .../sound/midi/alsa/AlsaMidiSequencerDevice.class | Bin 0 -> 5607 bytes .../sound/midi/alsa/AlsaOutputPortDevice.class | Bin 0 -> 1274 bytes .../midi/alsa/AlsaPortDevice$AlsaReceiver.class | Bin 0 -> 900 bytes .../midi/alsa/AlsaPortDevice$AlsaTransmitter.class | Bin 0 -> 1602 bytes .../gnu/javax/sound/midi/alsa/AlsaPortDevice.class | Bin 0 -> 912 bytes .../sound/midi/dssi/DSSIMidiDeviceProvider$1.class | Bin 0 -> 748 bytes .../dssi/DSSIMidiDeviceProvider$DSSIInfo.class | Bin 0 -> 849 bytes .../sound/midi/dssi/DSSIMidiDeviceProvider.class | Bin 0 -> 3095 bytes .../midi/dssi/DSSISynthesizer$DSSIInstrument.class | Bin 0 -> 978 bytes .../dssi/DSSISynthesizer$DSSIMidiChannel.class | Bin 0 -> 3148 bytes .../midi/dssi/DSSISynthesizer$DSSIReceiver.class | Bin 0 -> 1835 bytes .../midi/dssi/DSSISynthesizer$DSSISoundbank.class | Bin 0 -> 2595 bytes .../javax/sound/midi/dssi/DSSISynthesizer.class | Bin 0 -> 6305 bytes .../sound/midi/file/ExtendedMidiFileFormat.class | Bin 0 -> 639 bytes .../sound/midi/file/MidiDataInputStream.class | Bin 0 -> 666 bytes .../sound/midi/file/MidiDataOutputStream.class | Bin 0 -> 930 bytes .../gnu/javax/sound/midi/file/MidiFileReader.class | Bin 0 -> 5807 bytes .../gnu/javax/sound/midi/file/MidiFileWriter.class | Bin 0 -> 3371 bytes .../sound/sampled/AU/AUReader$AUFormatType.class | Bin 0 -> 507 bytes .../javax/sound/sampled/AU/AUReader$AUHeader.class | Bin 0 -> 2587 bytes .../lib/gnu/javax/sound/sampled/AU/AUReader.class | Bin 0 -> 2634 bytes .../gnu/javax/sound/sampled/WAV/WAVReader.class | Bin 0 -> 4349 bytes .../plaf/gnu/GNULookAndFeel$CheckBoxIcon.class | Bin 0 -> 1366 bytes .../plaf/gnu/GNULookAndFeel$RadioButtonIcon.class | Bin 0 -> 2334 bytes .../gnu/javax/swing/plaf/gnu/GNULookAndFeel.class | Bin 0 -> 3156 bytes .../javax/swing/plaf/metal/CustomizableTheme.class | Bin 0 -> 2107 bytes .../text/html/CharacterAttributeTranslator.class | Bin 0 -> 3502 bytes .../CombinedAttributes$CombinedEnumeration.class | Bin 0 -> 1066 bytes .../javax/swing/text/html/CombinedAttributes.class | Bin 0 -> 2759 bytes .../ImageViewIconFactory$LoadingImageIcon.class | Bin 0 -> 2165 bytes .../html/ImageViewIconFactory$NoImageIcon.class | Bin 0 -> 2074 bytes .../swing/text/html/ImageViewIconFactory.class | Bin 0 -> 852 bytes .../javax/swing/text/html/css/BorderStyle.class | Bin 0 -> 736 bytes .../javax/swing/text/html/css/BorderWidth.class | Bin 0 -> 755 bytes .../gnu/javax/swing/text/html/css/CSSColor.class | Bin 0 -> 2754 bytes .../swing/text/html/css/CSSLexicalException.class | Bin 0 -> 490 bytes .../javax/swing/text/html/css/CSSParser$1.class | Bin 0 -> 1508 bytes .../gnu/javax/swing/text/html/css/CSSParser.class | Bin 0 -> 5677 bytes .../swing/text/html/css/CSSParserCallback.class | Bin 0 -> 310 bytes .../swing/text/html/css/CSSParserException.class | Bin 0 -> 406 bytes .../gnu/javax/swing/text/html/css/CSSScanner.class | Bin 0 -> 8017 bytes .../gnu/javax/swing/text/html/css/FontSize.class | Bin 0 -> 3980 bytes .../gnu/javax/swing/text/html/css/FontStyle.class | Bin 0 -> 653 bytes .../gnu/javax/swing/text/html/css/FontWeight.class | Bin 0 -> 676 bytes .../lib/gnu/javax/swing/text/html/css/Length.class | Bin 0 -> 2810 bytes .../gnu/javax/swing/text/html/css/Selector.class | Bin 0 -> 3283 bytes .../html/parser/GnuParserDelegator$gnuParser.class | Bin 0 -> 3083 bytes .../text/html/parser/GnuParserDelegator.class | Bin 0 -> 1712 bytes .../javax/swing/text/html/parser/HTML_401F.class | Bin 0 -> 74378 bytes .../text/html/parser/SmallHtmlAttributeSet$1.class | Bin 0 -> 1076 bytes .../text/html/parser/SmallHtmlAttributeSet.class | Bin 0 -> 3164 bytes .../gnu/javax/swing/text/html/parser/gnuDTD.class | Bin 0 -> 6936 bytes .../text/html/parser/htmlAttributeSet$1.class | Bin 0 -> 1270 bytes .../swing/text/html/parser/htmlAttributeSet.class | Bin 0 -> 2379 bytes .../text/html/parser/htmlValidator$hTag.class | Bin 0 -> 1850 bytes .../swing/text/html/parser/htmlValidator.class | Bin 0 -> 10443 bytes .../text/html/parser/models/PCDATAonly_model.class | Bin 0 -> 901 bytes .../html/parser/models/TableRowContentModel.class | Bin 0 -> 1284 bytes .../javax/swing/text/html/parser/models/list.class | Bin 0 -> 4383 bytes .../swing/text/html/parser/models/noTagModel.class | Bin 0 -> 1153 bytes .../javax/swing/text/html/parser/models/node.class | Bin 0 -> 3855 bytes .../text/html/parser/models/transformer.class | Bin 0 -> 3015 bytes .../swing/text/html/parser/support/Parser$1.class | Bin 0 -> 859 bytes .../swing/text/html/parser/support/Parser$2.class | Bin 0 -> 1742 bytes .../swing/text/html/parser/support/Parser.class | Bin 0 -> 20690 bytes .../html/parser/support/gnuStringIntMapper.class | Bin 0 -> 1382 bytes .../text/html/parser/support/low/Buffer.class | Bin 0 -> 3384 bytes .../text/html/parser/support/low/Constants.class | Bin 0 -> 5329 bytes .../text/html/parser/support/low/Location.class | Bin 0 -> 591 bytes .../html/parser/support/low/ParseException.class | Bin 0 -> 489 bytes .../swing/text/html/parser/support/low/Queue.class | Bin 0 -> 1980 bytes .../html/parser/support/low/ReaderTokenizer.class | Bin 0 -> 5335 bytes .../swing/text/html/parser/support/low/Token.class | Bin 0 -> 2832 bytes .../swing/text/html/parser/support/low/node.class | Bin 0 -> 551 bytes .../text/html/parser/support/low/pattern.class | Bin 0 -> 1556 bytes .../html/parser/support/parameterDefaulter.class | Bin 0 -> 1882 bytes .../html/parser/support/textPreProcessor.class | Bin 0 -> 1913 bytes .../lib/gnu/javax/swing/tree/GnuPath.class | Bin 0 -> 453 bytes .../gnu/xml/aelfred2/JAXPFactory$JaxpParser.class | Bin 0 -> 1835 bytes .../lib/gnu/xml/aelfred2/JAXPFactory.class | Bin 0 -> 2898 bytes .../lib/gnu/xml/aelfred2/SAXDriver$Adapter.class | Bin 0 -> 2407 bytes .../lib/gnu/xml/aelfred2/SAXDriver$Attribute.class | Bin 0 -> 657 bytes .../classpath/lib/gnu/xml/aelfred2/SAXDriver.class | Bin 0 -> 20456 bytes .../gnu/xml/aelfred2/XmlParser$AttributeDecl.class | Bin 0 -> 514 bytes .../gnu/xml/aelfred2/XmlParser$ElementDecl.class | Bin 0 -> 500 bytes .../gnu/xml/aelfred2/XmlParser$EntityInfo.class | Bin 0 -> 528 bytes .../aelfred2/XmlParser$ExternalIdentifiers.class | Bin 0 -> 704 bytes .../lib/gnu/xml/aelfred2/XmlParser$Input.class | Bin 0 -> 703 bytes .../classpath/lib/gnu/xml/aelfred2/XmlParser.class | Bin 0 -> 52439 bytes .../xml/aelfred2/XmlReader$FatalErrorHandler.class | Bin 0 -> 624 bytes .../classpath/lib/gnu/xml/aelfred2/XmlReader.class | Bin 0 -> 4752 bytes .../lib/gnu/xml/dom/Consumer$Backdoor.class | Bin 0 -> 5882 bytes libjava/classpath/lib/gnu/xml/dom/Consumer.class | Bin 0 -> 851 bytes .../lib/gnu/xml/dom/DTDAttributeTypeInfo.class | Bin 0 -> 1095 bytes .../lib/gnu/xml/dom/DTDElementTypeInfo.class | Bin 0 -> 1909 bytes libjava/classpath/lib/gnu/xml/dom/DomAttr.class | Bin 0 -> 5205 bytes .../lib/gnu/xml/dom/DomCDATASection.class | Bin 0 -> 849 bytes .../xml/dom/DomCharacterData$EmptyNodeList.class | Bin 0 -> 621 bytes .../lib/gnu/xml/dom/DomCharacterData.class | Bin 0 -> 4429 bytes libjava/classpath/lib/gnu/xml/dom/DomComment.class | Bin 0 -> 614 bytes .../lib/gnu/xml/dom/DomDOMException.class | Bin 0 -> 2560 bytes libjava/classpath/lib/gnu/xml/dom/DomDoctype.class | Bin 0 -> 6376 bytes .../classpath/lib/gnu/xml/dom/DomDocument.class | Bin 0 -> 23664 bytes .../lib/gnu/xml/dom/DomDocumentBuilder.class | Bin 0 -> 4375 bytes .../gnu/xml/dom/DomDocumentBuilderFactory.class | Bin 0 -> 3710 bytes .../lib/gnu/xml/dom/DomDocumentConfiguration.class | Bin 0 -> 4078 bytes .../lib/gnu/xml/dom/DomDocumentFragment.class | Bin 0 -> 575 bytes libjava/classpath/lib/gnu/xml/dom/DomElement.class | Bin 0 -> 8101 bytes libjava/classpath/lib/gnu/xml/dom/DomEntity.class | Bin 0 -> 1220 bytes .../lib/gnu/xml/dom/DomEntityReference.class | Bin 0 -> 1169 bytes .../gnu/xml/dom/DomEvent$DomMutationEvent.class | Bin 0 -> 1909 bytes .../lib/gnu/xml/dom/DomEvent$DomUIEvent.class | Bin 0 -> 1038 bytes libjava/classpath/lib/gnu/xml/dom/DomEvent.class | Bin 0 -> 2406 bytes libjava/classpath/lib/gnu/xml/dom/DomExtern.class | Bin 0 -> 955 bytes libjava/classpath/lib/gnu/xml/dom/DomImpl.class | Bin 0 -> 3939 bytes .../classpath/lib/gnu/xml/dom/DomIterator.class | Bin 0 -> 4187 bytes .../lib/gnu/xml/dom/DomNSResolverContext.class | Bin 0 -> 1251 bytes .../lib/gnu/xml/dom/DomNamedNodeMap.class | Bin 0 -> 5204 bytes .../gnu/xml/dom/DomNode$DomEventException.class | Bin 0 -> 459 bytes .../lib/gnu/xml/dom/DomNode$ListenerRecord.class | Bin 0 -> 1009 bytes .../lib/gnu/xml/dom/DomNode$LiveNodeList.class | Bin 0 -> 3023 bytes .../lib/gnu/xml/dom/DomNode$ShadowList.class | Bin 0 -> 1025 bytes libjava/classpath/lib/gnu/xml/dom/DomNode.class | Bin 0 -> 22734 bytes .../lib/gnu/xml/dom/DomNodeIterator.class | Bin 0 -> 4168 bytes .../classpath/lib/gnu/xml/dom/DomNotation.class | Bin 0 -> 856 bytes libjava/classpath/lib/gnu/xml/dom/DomNsNode.class | Bin 0 -> 2725 bytes .../lib/gnu/xml/dom/DomProcessingInstruction.class | Bin 0 -> 1255 bytes libjava/classpath/lib/gnu/xml/dom/DomText.class | Bin 0 -> 3741 bytes .../lib/gnu/xml/dom/DomXPathExpression.class | Bin 0 -> 3337 bytes .../lib/gnu/xml/dom/DomXPathNSResolver.class | Bin 0 -> 638 bytes .../classpath/lib/gnu/xml/dom/DomXPathResult.class | Bin 0 -> 3637 bytes .../lib/gnu/xml/dom/ImplementationList.class | Bin 0 -> 765 bytes .../lib/gnu/xml/dom/ImplementationSource.class | Bin 0 -> 3312 bytes .../lib/gnu/xml/dom/JAXPFactory$JAXPBuilder.class | Bin 0 -> 4140 bytes .../classpath/lib/gnu/xml/dom/JAXPFactory.class | Bin 0 -> 2738 bytes .../gnu/xml/dom/html2/DomHTMLAnchorElement.class | Bin 0 -> 3209 bytes .../gnu/xml/dom/html2/DomHTMLAppletElement.class | Bin 0 -> 3172 bytes .../lib/gnu/xml/dom/html2/DomHTMLAreaElement.class | Bin 0 -> 2461 bytes .../lib/gnu/xml/dom/html2/DomHTMLBRElement.class | Bin 0 -> 923 bytes .../lib/gnu/xml/dom/html2/DomHTMLBaseElement.class | Bin 0 -> 1105 bytes .../gnu/xml/dom/html2/DomHTMLBaseFontElement.class | Bin 0 -> 1419 bytes .../lib/gnu/xml/dom/html2/DomHTMLBodyElement.class | Bin 0 -> 1816 bytes .../gnu/xml/dom/html2/DomHTMLButtonElement.class | Bin 0 -> 2264 bytes .../lib/gnu/xml/dom/html2/DomHTMLCollection.class | Bin 0 -> 4083 bytes .../gnu/xml/dom/html2/DomHTMLDListElement.class | Bin 0 -> 891 bytes .../xml/dom/html2/DomHTMLDirectoryElement.class | Bin 0 -> 907 bytes .../lib/gnu/xml/dom/html2/DomHTMLDivElement.class | Bin 0 -> 927 bytes .../lib/gnu/xml/dom/html2/DomHTMLDocument.class | Bin 0 -> 10676 bytes .../lib/gnu/xml/dom/html2/DomHTMLElement.class | Bin 0 -> 4725 bytes .../gnu/xml/dom/html2/DomHTMLEmbedElement.class | Bin 0 -> 2258 bytes .../gnu/xml/dom/html2/DomHTMLFieldSetElement.class | Bin 0 -> 820 bytes .../lib/gnu/xml/dom/html2/DomHTMLFontElement.class | Bin 0 -> 1273 bytes .../lib/gnu/xml/dom/html2/DomHTMLFormElement.class | Bin 0 -> 2784 bytes .../gnu/xml/dom/html2/DomHTMLFrameElement.class | Bin 0 -> 2533 bytes .../gnu/xml/dom/html2/DomHTMLFrameSetElement.class | Bin 0 -> 1115 bytes .../lib/gnu/xml/dom/html2/DomHTMLHRElement.class | Bin 0 -> 1596 bytes .../lib/gnu/xml/dom/html2/DomHTMLHeadElement.class | Bin 0 -> 937 bytes .../gnu/xml/dom/html2/DomHTMLHeadingElement.class | Bin 0 -> 943 bytes .../lib/gnu/xml/dom/html2/DomHTMLHtmlElement.class | Bin 0 -> 937 bytes .../gnu/xml/dom/html2/DomHTMLIFrameElement.class | Bin 0 -> 2730 bytes .../gnu/xml/dom/html2/DomHTMLImageElement.class | Bin 0 -> 3147 bytes .../lib/gnu/xml/dom/html2/DomHTMLImpl.class | Bin 0 -> 767 bytes .../gnu/xml/dom/html2/DomHTMLInputElement.class | Bin 0 -> 4906 bytes .../gnu/xml/dom/html2/DomHTMLIsIndexElement.class | Bin 0 -> 1181 bytes .../lib/gnu/xml/dom/html2/DomHTMLLIElement.class | Bin 0 -> 1224 bytes .../gnu/xml/dom/html2/DomHTMLLabelElement.class | Bin 0 -> 1380 bytes .../gnu/xml/dom/html2/DomHTMLLegendElement.class | Bin 0 -> 1372 bytes .../lib/gnu/xml/dom/html2/DomHTMLLinkElement.class | Bin 0 -> 2470 bytes .../lib/gnu/xml/dom/html2/DomHTMLMapElement.class | Bin 0 -> 1389 bytes .../lib/gnu/xml/dom/html2/DomHTMLMenuElement.class | Bin 0 -> 887 bytes .../lib/gnu/xml/dom/html2/DomHTMLMetaElement.class | Bin 0 -> 1477 bytes .../lib/gnu/xml/dom/html2/DomHTMLModElement.class | Bin 0 -> 1118 bytes .../gnu/xml/dom/html2/DomHTMLOListElement.class | Bin 0 -> 1554 bytes .../gnu/xml/dom/html2/DomHTMLObjectElement.class | Bin 0 -> 5932 bytes .../gnu/xml/dom/html2/DomHTMLOptGroupElement.class | Bin 0 -> 1268 bytes .../gnu/xml/dom/html2/DomHTMLOptionElement.class | Bin 0 -> 2410 bytes .../xml/dom/html2/DomHTMLParagraphElement.class | Bin 0 -> 951 bytes .../gnu/xml/dom/html2/DomHTMLParamElement.class | Bin 0 -> 1468 bytes .../lib/gnu/xml/dom/html2/DomHTMLParser.class | Bin 0 -> 4808 bytes .../lib/gnu/xml/dom/html2/DomHTMLPreElement.class | Bin 0 -> 869 bytes .../gnu/xml/dom/html2/DomHTMLQuoteElement.class | Bin 0 -> 932 bytes .../gnu/xml/dom/html2/DomHTMLScriptElement.class | Bin 0 -> 2174 bytes .../gnu/xml/dom/html2/DomHTMLSelectElement.class | Bin 0 -> 4686 bytes .../gnu/xml/dom/html2/DomHTMLStyleElement.class | Bin 0 -> 1427 bytes .../xml/dom/html2/DomHTMLTableCaptionElement.class | Bin 0 -> 963 bytes .../xml/dom/html2/DomHTMLTableCellElement.class | Bin 0 -> 3661 bytes .../gnu/xml/dom/html2/DomHTMLTableColElement.class | Bin 0 -> 1964 bytes .../gnu/xml/dom/html2/DomHTMLTableElement.class | Bin 0 -> 6637 bytes .../gnu/xml/dom/html2/DomHTMLTableRowElement.class | Bin 0 -> 4138 bytes .../xml/dom/html2/DomHTMLTableSectionElement.class | Bin 0 -> 3194 bytes .../gnu/xml/dom/html2/DomHTMLTextAreaElement.class | Bin 0 -> 3318 bytes .../gnu/xml/dom/html2/DomHTMLTitleElement.class | Bin 0 -> 838 bytes .../gnu/xml/dom/html2/DomHTMLUListElement.class | Bin 0 -> 1250 bytes .../lib/gnu/xml/dom/ls/DomLSException.class | Bin 0 -> 584 bytes .../classpath/lib/gnu/xml/dom/ls/DomLSInput.class | Bin 0 -> 2644 bytes .../classpath/lib/gnu/xml/dom/ls/DomLSOutput.class | Bin 0 -> 1412 bytes .../classpath/lib/gnu/xml/dom/ls/DomLSParser.class | Bin 0 -> 10963 bytes .../lib/gnu/xml/dom/ls/DomLSSerializer.class | Bin 0 -> 5775 bytes .../lib/gnu/xml/dom/ls/FilteredSAXEventSink.class | Bin 0 -> 5514 bytes .../lib/gnu/xml/dom/ls/ReaderInputStream.class | Bin 0 -> 3321 bytes .../lib/gnu/xml/dom/ls/SAXEventSink.class | Bin 0 -> 12805 bytes .../lib/gnu/xml/dom/ls/WriterOutputStream.class | Bin 0 -> 1291 bytes .../lib/gnu/xml/libxmlj/dom/GnomeAttr.class | Bin 0 -> 1884 bytes .../gnu/xml/libxmlj/dom/GnomeCDATASection.class | Bin 0 -> 420 bytes .../gnu/xml/libxmlj/dom/GnomeCharacterData.class | Bin 0 -> 2367 bytes .../lib/gnu/xml/libxmlj/dom/GnomeComment.class | Bin 0 -> 409 bytes .../gnu/xml/libxmlj/dom/GnomeDOMException.class | Bin 0 -> 1176 bytes .../gnu/xml/libxmlj/dom/GnomeDOMStringList.class | Bin 0 -> 913 bytes .../lib/gnu/xml/libxmlj/dom/GnomeDocument.class | Bin 0 -> 10110 bytes .../gnu/xml/libxmlj/dom/GnomeDocumentBuilder.class | Bin 0 -> 5993 bytes .../libxmlj/dom/GnomeDocumentBuilderFactory.class | Bin 0 -> 1683 bytes .../xml/libxmlj/dom/GnomeDocumentFragment.class | Bin 0 -> 436 bytes .../gnu/xml/libxmlj/dom/GnomeDocumentType.class | Bin 0 -> 1475 bytes .../lib/gnu/xml/libxmlj/dom/GnomeElement.class | Bin 0 -> 3362 bytes .../lib/gnu/xml/libxmlj/dom/GnomeEntity.class | Bin 0 -> 1358 bytes .../gnu/xml/libxmlj/dom/GnomeEntityReference.class | Bin 0 -> 432 bytes .../gnu/xml/libxmlj/dom/GnomeNamedNodeMap.class | Bin 0 -> 917 bytes .../lib/gnu/xml/libxmlj/dom/GnomeNode.class | Bin 0 -> 9182 bytes .../lib/gnu/xml/libxmlj/dom/GnomeNodeList.class | Bin 0 -> 488 bytes .../lib/gnu/xml/libxmlj/dom/GnomeNotation.class | Bin 0 -> 1060 bytes .../libxmlj/dom/GnomeProcessingInstruction.class | Bin 0 -> 1110 bytes .../lib/gnu/xml/libxmlj/dom/GnomeText.class | Bin 0 -> 2414 bytes .../lib/gnu/xml/libxmlj/dom/GnomeTypeInfo.class | Bin 0 -> 562 bytes .../gnu/xml/libxmlj/dom/GnomeXPathExpression.class | Bin 0 -> 1313 bytes .../gnu/xml/libxmlj/dom/GnomeXPathNSResolver.class | Bin 0 -> 660 bytes .../gnu/xml/libxmlj/dom/GnomeXPathNodeList.class | Bin 0 -> 609 bytes .../lib/gnu/xml/libxmlj/dom/GnomeXPathResult.class | Bin 0 -> 2233 bytes .../lib/gnu/xml/libxmlj/sax/GnomeLocator.class | Bin 0 -> 1191 bytes .../lib/gnu/xml/libxmlj/sax/GnomeSAXParser.class | Bin 0 -> 1481 bytes .../xml/libxmlj/sax/GnomeSAXParserFactory.class | Bin 0 -> 1596 bytes .../lib/gnu/xml/libxmlj/sax/GnomeXMLReader.class | Bin 0 -> 16049 bytes .../lib/gnu/xml/libxmlj/sax/Namespaces.class | Bin 0 -> 1840 bytes .../xml/libxmlj/sax/StringArrayAttributes.class | Bin 0 -> 2599 bytes .../lib/gnu/xml/libxmlj/sax/XMLName.class | Bin 0 -> 1238 bytes .../transform/ErrorListenerErrorHandler.class | Bin 0 -> 1647 bytes .../xml/libxmlj/transform/GnomeTransformer.class | Bin 0 -> 11424 bytes ...formerFactory$AssociatedStylesheetHandler.class | Bin 0 -> 1279 bytes .../transform/GnomeTransformerFactory.class | Bin 0 -> 7295 bytes .../transform/URIResolverEntityResolver.class | Bin 0 -> 1383 bytes .../lib/gnu/xml/libxmlj/util/EmptyNodeList.class | Bin 0 -> 521 bytes .../gnu/xml/libxmlj/util/NamedInputStream.class | Bin 0 -> 1272 bytes .../xml/libxmlj/util/StandaloneDocumentType.class | Bin 0 -> 5182 bytes .../gnu/xml/libxmlj/util/StandaloneLocator.class | Bin 0 -> 993 bytes .../xml/libxmlj/util/XMLJ$XMLJShutdownHook.class | Bin 0 -> 727 bytes .../classpath/lib/gnu/xml/libxmlj/util/XMLJ.class | Bin 0 -> 4753 bytes .../gnu/xml/pipeline/CallFilter$Requestor.class | Bin 0 -> 3236 bytes .../lib/gnu/xml/pipeline/CallFilter.class | Bin 0 -> 2591 bytes .../lib/gnu/xml/pipeline/DomConsumer$Handler.class | Bin 0 -> 12458 bytes .../lib/gnu/xml/pipeline/DomConsumer.class | Bin 0 -> 4021 bytes .../lib/gnu/xml/pipeline/EventConsumer.class | Bin 0 -> 425 bytes .../lib/gnu/xml/pipeline/EventFilter.class | Bin 0 -> 11052 bytes .../lib/gnu/xml/pipeline/LinkFilter.class | Bin 0 -> 3109 bytes .../classpath/lib/gnu/xml/pipeline/NSFilter.class | Bin 0 -> 6282 bytes .../xml/pipeline/PipelineFactory$Pipeline.class | Bin 0 -> 1433 bytes .../gnu/xml/pipeline/PipelineFactory$Stage.class | Bin 0 -> 5275 bytes .../lib/gnu/xml/pipeline/PipelineFactory.class | Bin 0 -> 3857 bytes .../lib/gnu/xml/pipeline/TeeConsumer.class | Bin 0 -> 7036 bytes .../lib/gnu/xml/pipeline/TextConsumer.class | Bin 0 -> 1613 bytes .../ValidationConsumer$AttributeInfo.class | Bin 0 -> 609 bytes .../ValidationConsumer$ChildrenRecognizer.class | Bin 0 -> 5547 bytes .../pipeline/ValidationConsumer$ElementInfo.class | Bin 0 -> 1680 bytes .../ValidationConsumer$EmptyRecognizer.class | Bin 0 -> 850 bytes .../ValidationConsumer$MixedRecognizer.class | Bin 0 -> 2369 bytes .../pipeline/ValidationConsumer$Recognizer.class | Bin 0 -> 1170 bytes .../lib/gnu/xml/pipeline/ValidationConsumer.class | Bin 0 -> 18791 bytes .../gnu/xml/pipeline/WellFormednessFilter.class | Bin 0 -> 6832 bytes .../gnu/xml/pipeline/XIncludeFilter$Scrubber.class | Bin 0 -> 2383 bytes .../lib/gnu/xml/pipeline/XIncludeFilter.class | Bin 0 -> 10814 bytes .../lib/gnu/xml/pipeline/XsltFilter.class | Bin 0 -> 2911 bytes .../lib/gnu/xml/stream/AttributeImpl.class | Bin 0 -> 2098 bytes .../lib/gnu/xml/stream/BufferedReader.class | Bin 0 -> 2886 bytes .../classpath/lib/gnu/xml/stream/CRLFReader.class | Bin 0 -> 2032 bytes .../lib/gnu/xml/stream/CharactersImpl.class | Bin 0 -> 1830 bytes .../classpath/lib/gnu/xml/stream/CommentImpl.class | Bin 0 -> 1362 bytes libjava/classpath/lib/gnu/xml/stream/DTDImpl.class | Bin 0 -> 1811 bytes .../lib/gnu/xml/stream/EndDocumentImpl.class | Bin 0 -> 722 bytes .../lib/gnu/xml/stream/EndElementImpl.class | Bin 0 -> 1844 bytes .../lib/gnu/xml/stream/EntityDeclarationImpl.class | Bin 0 -> 2367 bytes .../lib/gnu/xml/stream/EntityReferenceImpl.class | Bin 0 -> 1586 bytes .../lib/gnu/xml/stream/FilteredEventReader.class | Bin 0 -> 1631 bytes .../lib/gnu/xml/stream/FilteredStreamReader.class | Bin 0 -> 1128 bytes .../lib/gnu/xml/stream/NamespaceImpl.class | Bin 0 -> 1777 bytes .../gnu/xml/stream/NotationDeclarationImpl.class | Bin 0 -> 1811 bytes .../gnu/xml/stream/ProcessingInstructionImpl.class | Bin 0 -> 1536 bytes .../classpath/lib/gnu/xml/stream/SAXParser.class | Bin 0 -> 22005 bytes .../lib/gnu/xml/stream/SAXParserFactory.class | Bin 0 -> 2605 bytes .../lib/gnu/xml/stream/StartDocumentImpl.class | Bin 0 -> 2225 bytes .../lib/gnu/xml/stream/StartElementImpl.class | Bin 0 -> 3087 bytes .../lib/gnu/xml/stream/UnicodeReader.class | Bin 0 -> 2897 bytes .../lib/gnu/xml/stream/XIncludeFilter.class | Bin 0 -> 17712 bytes .../lib/gnu/xml/stream/XMLEventAllocatorImpl.class | Bin 0 -> 5884 bytes .../lib/gnu/xml/stream/XMLEventFactoryImpl.class | Bin 0 -> 7643 bytes .../lib/gnu/xml/stream/XMLEventImpl.class | Bin 0 -> 3112 bytes .../lib/gnu/xml/stream/XMLEventReaderImpl.class | Bin 0 -> 2614 bytes .../lib/gnu/xml/stream/XMLEventWriterImpl.class | Bin 0 -> 4785 bytes .../lib/gnu/xml/stream/XMLInputFactoryImpl.class | Bin 0 -> 9613 bytes .../lib/gnu/xml/stream/XMLOutputFactoryImpl.class | Bin 0 -> 4038 bytes .../gnu/xml/stream/XMLParser$AnyContentModel.class | Bin 0 -> 594 bytes .../lib/gnu/xml/stream/XMLParser$Attribute.class | Bin 0 -> 1789 bytes .../gnu/xml/stream/XMLParser$AttributeDecl.class | Bin 0 -> 897 bytes .../gnu/xml/stream/XMLParser$ContentModel.class | Bin 0 -> 787 bytes .../gnu/xml/stream/XMLParser$ContentParticle.class | Bin 0 -> 595 bytes .../lib/gnu/xml/stream/XMLParser$Doctype.class | Bin 0 -> 5857 bytes .../xml/stream/XMLParser$ElementContentModel.class | Bin 0 -> 964 bytes .../xml/stream/XMLParser$EmptyContentModel.class | Bin 0 -> 600 bytes .../lib/gnu/xml/stream/XMLParser$ExternalIds.class | Bin 0 -> 556 bytes .../lib/gnu/xml/stream/XMLParser$Input.class | Bin 0 -> 6256 bytes .../xml/stream/XMLParser$MixedContentModel.class | Bin 0 -> 965 bytes .../classpath/lib/gnu/xml/stream/XMLParser.class | Bin 0 -> 67379 bytes .../lib/gnu/xml/stream/XMLStreamWriterImpl.class | Bin 0 -> 14899 bytes .../lib/gnu/xml/transform/AbstractNumberNode.class | Bin 0 -> 6009 bytes .../lib/gnu/xml/transform/ApplyImportsNode.class | Bin 0 -> 1500 bytes .../lib/gnu/xml/transform/ApplyTemplatesNode.class | Bin 0 -> 5369 bytes .../lib/gnu/xml/transform/AttributeNode.class | Bin 0 -> 4870 bytes .../lib/gnu/xml/transform/AttributeSet.class | Bin 0 -> 923 bytes .../classpath/lib/gnu/xml/transform/Bindings.class | Bin 0 -> 5257 bytes .../lib/gnu/xml/transform/CallTemplateNode.class | Bin 0 -> 4096 bytes .../lib/gnu/xml/transform/ChooseNode.class | Bin 0 -> 1521 bytes .../lib/gnu/xml/transform/CommentNode.class | Bin 0 -> 2104 bytes .../classpath/lib/gnu/xml/transform/CopyNode.class | Bin 0 -> 3782 bytes .../lib/gnu/xml/transform/CopyOfNode.class | Bin 0 -> 4070 bytes .../lib/gnu/xml/transform/CurrentFunction.class | Bin 0 -> 1641 bytes .../lib/gnu/xml/transform/DOMSourceLocator.class | Bin 0 -> 872 bytes .../lib/gnu/xml/transform/DocumentFunction.class | Bin 0 -> 5846 bytes .../xml/transform/ElementAvailableFunction.class | Bin 0 -> 4430 bytes .../lib/gnu/xml/transform/ElementNode.class | Bin 0 -> 6372 bytes .../xml/transform/ErrorListenerErrorHandler.class | Bin 0 -> 1346 bytes .../lib/gnu/xml/transform/ForEachNode.class | Bin 0 -> 3796 bytes .../gnu/xml/transform/FormatNumberFunction.class | Bin 0 -> 3272 bytes .../xml/transform/FunctionAvailableFunction.class | Bin 0 -> 4586 bytes .../lib/gnu/xml/transform/GenerateIdFunction.class | Bin 0 -> 3112 bytes .../classpath/lib/gnu/xml/transform/IfNode.class | Bin 0 -> 2314 bytes libjava/classpath/lib/gnu/xml/transform/Key.class | Bin 0 -> 901 bytes .../lib/gnu/xml/transform/KeyFunction.class | Bin 0 -> 5017 bytes .../lib/gnu/xml/transform/LiteralNode.class | Bin 0 -> 4966 bytes .../lib/gnu/xml/transform/MessageNode.class | Bin 0 -> 2468 bytes .../lib/gnu/xml/transform/NamespaceProxy.class | Bin 0 -> 1109 bytes .../lib/gnu/xml/transform/NodeNumberNode.class | Bin 0 -> 4740 bytes .../lib/gnu/xml/transform/NumberNode.class | Bin 0 -> 1879 bytes .../lib/gnu/xml/transform/OtherwiseNode.class | Bin 0 -> 1331 bytes .../lib/gnu/xml/transform/ParameterNode.class | Bin 0 -> 4111 bytes .../xml/transform/ProcessingInstructionNode.class | Bin 0 -> 2568 bytes .../lib/gnu/xml/transform/SAXSerializer.class | Bin 0 -> 6506 bytes .../gnu/xml/transform/SAXTemplatesHandler.class | Bin 0 -> 1782 bytes .../gnu/xml/transform/SAXTransformerHandler.class | Bin 0 -> 2047 bytes .../classpath/lib/gnu/xml/transform/SortKey.class | Bin 0 -> 3065 bytes .../lib/gnu/xml/transform/StreamSerializer.class | Bin 0 -> 17808 bytes .../gnu/xml/transform/StrippingInstruction.class | Bin 0 -> 703 bytes .../lib/gnu/xml/transform/Stylesheet.class | Bin 0 -> 38666 bytes .../gnu/xml/transform/SystemPropertyFunction.class | Bin 0 -> 3011 bytes .../classpath/lib/gnu/xml/transform/Template.class | Bin 0 -> 5603 bytes .../lib/gnu/xml/transform/TemplateNode.class | Bin 0 -> 2764 bytes .../lib/gnu/xml/transform/TemplatesImpl.class | Bin 0 -> 1466 bytes .../classpath/lib/gnu/xml/transform/TextNode.class | Bin 0 -> 2653 bytes .../gnu/xml/transform/TransformerFactoryImpl.class | Bin 0 -> 11477 bytes .../lib/gnu/xml/transform/TransformerImpl.class | Bin 0 -> 17191 bytes .../transform/TransformerOutputProperties.class | Bin 0 -> 3335 bytes .../xml/transform/URIResolverEntityResolver.class | Bin 0 -> 1294 bytes .../xml/transform/UnparsedEntityUriFunction.class | Bin 0 -> 2875 bytes .../lib/gnu/xml/transform/ValueOfNode.class | Bin 0 -> 3965 bytes .../classpath/lib/gnu/xml/transform/WhenNode.class | Bin 0 -> 2325 bytes .../lib/gnu/xml/transform/WithParam.class | Bin 0 -> 2404 bytes .../lib/gnu/xml/transform/XSLComparator.class | Bin 0 -> 2203 bytes .../lib/gnu/xml/transform/XSLURIResolver.class | Bin 0 -> 6144 bytes .../lib/gnu/xml/util/DoParse$MyErrorHandler.class | Bin 0 -> 1301 bytes libjava/classpath/lib/gnu/xml/util/DoParse.class | Bin 0 -> 5058 bytes libjava/classpath/lib/gnu/xml/util/DomParser.class | Bin 0 -> 11909 bytes libjava/classpath/lib/gnu/xml/util/Resolver.class | Bin 0 -> 3303 bytes .../SAXNullTransformerFactory$DomHandler.class | Bin 0 -> 997 bytes .../SAXNullTransformerFactory$DomTerminus.class | Bin 0 -> 874 bytes ...SAXNullTransformerFactory$ListenerAdapter.class | Bin 0 -> 2042 bytes .../SAXNullTransformerFactory$LocatorAdapter.class | Bin 0 -> 940 bytes .../SAXNullTransformerFactory$NullHandler.class | Bin 0 -> 3212 bytes ...SAXNullTransformerFactory$NullTransformer.class | Bin 0 -> 5136 bytes .../gnu/xml/util/SAXNullTransformerFactory.class | Bin 0 -> 5459 bytes .../classpath/lib/gnu/xml/util/XCat$Catalog.class | Bin 0 -> 5817 bytes .../lib/gnu/xml/util/XCat$DoneDelegation.class | Bin 0 -> 372 bytes .../classpath/lib/gnu/xml/util/XCat$Loader.class | Bin 0 -> 10205 bytes libjava/classpath/lib/gnu/xml/util/XCat.class | Bin 0 -> 7607 bytes .../classpath/lib/gnu/xml/util/XHTMLWriter.class | Bin 0 -> 1019 bytes libjava/classpath/lib/gnu/xml/util/XMLWriter.class | Bin 0 -> 26506 bytes .../gnu/xml/validation/datatype/Annotation.class | Bin 0 -> 508 bytes .../xml/validation/datatype/AnySimpleType.class | Bin 0 -> 753 bytes .../lib/gnu/xml/validation/datatype/AnyType.class | Bin 0 -> 628 bytes .../gnu/xml/validation/datatype/AnyURIType.class | Bin 0 -> 1703 bytes .../xml/validation/datatype/AtomicSimpleType.class | Bin 0 -> 1385 bytes .../xml/validation/datatype/Base64BinaryType.class | Bin 0 -> 2173 bytes .../gnu/xml/validation/datatype/BooleanType.class | Bin 0 -> 2029 bytes .../lib/gnu/xml/validation/datatype/ByteType.class | Bin 0 -> 2336 bytes .../gnu/xml/validation/datatype/DateTimeType.class | Bin 0 -> 4310 bytes .../lib/gnu/xml/validation/datatype/DateType.class | Bin 0 -> 3469 bytes .../gnu/xml/validation/datatype/DecimalType.class | Bin 0 -> 2033 bytes .../gnu/xml/validation/datatype/DoubleType.class | Bin 0 -> 2285 bytes .../datatype/DurationType$Duration.class | Bin 0 -> 1355 bytes .../gnu/xml/validation/datatype/DurationType.class | Bin 0 -> 3020 bytes .../gnu/xml/validation/datatype/EntitiesType.class | Bin 0 -> 2090 bytes .../gnu/xml/validation/datatype/EntityType.class | Bin 0 -> 1579 bytes .../xml/validation/datatype/EnumerationFacet.class | Bin 0 -> 876 bytes .../lib/gnu/xml/validation/datatype/Facet.class | Bin 0 -> 925 bytes .../gnu/xml/validation/datatype/FloatType.class | Bin 0 -> 2278 bytes .../validation/datatype/FractionDigitsFacet.class | Bin 0 -> 854 bytes .../xml/validation/datatype/GDayType$GDay.class | Bin 0 -> 873 bytes .../lib/gnu/xml/validation/datatype/GDayType.class | Bin 0 -> 2407 bytes .../datatype/GMonthDayType$GMonthDay.class | Bin 0 -> 1006 bytes .../xml/validation/datatype/GMonthDayType.class | Bin 0 -> 2527 bytes .../validation/datatype/GMonthType$GMonth.class | Bin 0 -> 889 bytes .../gnu/xml/validation/datatype/GMonthType.class | Bin 0 -> 2343 bytes .../datatype/GYearMonthType$GYearMonth.class | Bin 0 -> 1014 bytes .../xml/validation/datatype/GYearMonthType.class | Bin 0 -> 2559 bytes .../xml/validation/datatype/GYearType$GYear.class | Bin 0 -> 881 bytes .../gnu/xml/validation/datatype/GYearType.class | Bin 0 -> 2299 bytes .../xml/validation/datatype/HexBinaryType.class | Bin 0 -> 1627 bytes .../gnu/xml/validation/datatype/IDRefType.class | Bin 0 -> 1327 bytes .../gnu/xml/validation/datatype/IDRefsType.class | Bin 0 -> 1330 bytes .../lib/gnu/xml/validation/datatype/IDType.class | Bin 0 -> 1315 bytes .../lib/gnu/xml/validation/datatype/IntType.class | Bin 0 -> 2338 bytes .../gnu/xml/validation/datatype/IntegerType.class | Bin 0 -> 1940 bytes .../gnu/xml/validation/datatype/LanguageType.class | Bin 0 -> 1692 bytes .../gnu/xml/validation/datatype/LengthFacet.class | Bin 0 -> 829 bytes .../xml/validation/datatype/ListSimpleType.class | Bin 0 -> 1633 bytes .../lib/gnu/xml/validation/datatype/LongType.class | Bin 0 -> 2358 bytes .../validation/datatype/MaxExclusiveFacet.class | Bin 0 -> 1798 bytes .../validation/datatype/MaxInclusiveFacet.class | Bin 0 -> 1841 bytes .../xml/validation/datatype/MaxLengthFacet.class | Bin 0 -> 838 bytes .../validation/datatype/MinExclusiveFacet.class | Bin 0 -> 1797 bytes .../validation/datatype/MinInclusiveFacet.class | Bin 0 -> 1840 bytes .../xml/validation/datatype/MinLengthFacet.class | Bin 0 -> 838 bytes .../gnu/xml/validation/datatype/NCNameType.class | Bin 0 -> 2021 bytes .../gnu/xml/validation/datatype/NMTokenType.class | Bin 0 -> 1867 bytes .../gnu/xml/validation/datatype/NMTokensType.class | Bin 0 -> 2500 bytes .../lib/gnu/xml/validation/datatype/NameType.class | Bin 0 -> 1914 bytes .../validation/datatype/NegativeIntegerType.class | Bin 0 -> 1988 bytes .../datatype/NonNegativeIntegerType.class | Bin 0 -> 2080 bytes .../datatype/NonPositiveIntegerType.class | Bin 0 -> 2080 bytes .../validation/datatype/NormalizedStringType.class | Bin 0 -> 1577 bytes .../gnu/xml/validation/datatype/NotationType.class | Bin 0 -> 1538 bytes .../gnu/xml/validation/datatype/PatternFacet.class | Bin 0 -> 878 bytes .../validation/datatype/PositiveIntegerType.class | Bin 0 -> 1975 bytes .../gnu/xml/validation/datatype/QNameType.class | Bin 0 -> 2399 bytes .../gnu/xml/validation/datatype/ShortType.class | Bin 0 -> 2332 bytes .../gnu/xml/validation/datatype/SimpleType.class | Bin 0 -> 5599 bytes .../gnu/xml/validation/datatype/StringType.class | Bin 0 -> 941 bytes .../xml/validation/datatype/TimeType$Time.class | Bin 0 -> 1036 bytes .../lib/gnu/xml/validation/datatype/TimeType.class | Bin 0 -> 3776 bytes .../gnu/xml/validation/datatype/TokenType.class | Bin 0 -> 1662 bytes .../xml/validation/datatype/TotalDigitsFacet.class | Bin 0 -> 845 bytes .../lib/gnu/xml/validation/datatype/Type.class | Bin 0 -> 551 bytes .../gnu/xml/validation/datatype/TypeBuilder.class | Bin 0 -> 7085 bytes .../gnu/xml/validation/datatype/TypeLibrary.class | Bin 0 -> 7275 bytes .../validation/datatype/TypeLibraryFactory.class | Bin 0 -> 753 bytes .../xml/validation/datatype/UnionSimpleType.class | Bin 0 -> 1702 bytes .../xml/validation/datatype/UnsignedByteType.class | Bin 0 -> 2212 bytes .../xml/validation/datatype/UnsignedIntType.class | Bin 0 -> 2216 bytes .../xml/validation/datatype/UnsignedLongType.class | Bin 0 -> 2235 bytes .../validation/datatype/UnsignedShortType.class | Bin 0 -> 2226 bytes .../xml/validation/datatype/WhiteSpaceFacet.class | Bin 0 -> 953 bytes .../xml/validation/relaxng/AnyNameNameClass.class | Bin 0 -> 642 bytes .../xml/validation/relaxng/AttributePattern.class | Bin 0 -> 463 bytes .../xml/validation/relaxng/ChoiceNameClass.class | Bin 0 -> 654 bytes .../gnu/xml/validation/relaxng/ChoicePattern.class | Bin 0 -> 413 bytes .../gnu/xml/validation/relaxng/DataPattern.class | Bin 0 -> 605 bytes .../lib/gnu/xml/validation/relaxng/Define.class | Bin 0 -> 397 bytes .../xml/validation/relaxng/ElementPattern.class | Bin 0 -> 457 bytes .../gnu/xml/validation/relaxng/EmptyPattern.class | Bin 0 -> 439 bytes .../xml/validation/relaxng/FullSyntaxBuilder.class | Bin 0 -> 32653 bytes .../lib/gnu/xml/validation/relaxng/Grammar.class | Bin 0 -> 805 bytes .../xml/validation/relaxng/GrammarException.class | Bin 0 -> 394 bytes .../xml/validation/relaxng/GrammarValidator.class | Bin 0 -> 1483 bytes .../gnu/xml/validation/relaxng/GroupPattern.class | Bin 0 -> 410 bytes .../xml/validation/relaxng/InterleavePattern.class | Bin 0 -> 425 bytes .../gnu/xml/validation/relaxng/ListPattern.class | Bin 0 -> 387 bytes .../xml/validation/relaxng/NSNameNameClass.class | Bin 0 -> 748 bytes .../lib/gnu/xml/validation/relaxng/NameClass.class | Bin 0 -> 370 bytes .../gnu/xml/validation/relaxng/NameNameClass.class | Bin 0 -> 652 bytes .../xml/validation/relaxng/NotAllowedPattern.class | Bin 0 -> 454 bytes .../xml/validation/relaxng/OneOrMorePattern.class | Bin 0 -> 402 bytes .../lib/gnu/xml/validation/relaxng/Param.class | Bin 0 -> 346 bytes .../lib/gnu/xml/validation/relaxng/Pattern.class | Bin 0 -> 300 bytes .../validation/relaxng/RELAXNGSchemaFactory.class | Bin 0 -> 4226 bytes .../gnu/xml/validation/relaxng/RefPattern.class | Bin 0 -> 363 bytes .../gnu/xml/validation/relaxng/TextPattern.class | Bin 0 -> 436 bytes .../gnu/xml/validation/relaxng/ValuePattern.class | Bin 0 -> 499 bytes .../xml/validation/xmlschema/AnyAttribute.class | Bin 0 -> 642 bytes .../xmlschema/AttributeDeclaration.class | Bin 0 -> 1008 bytes .../xml/validation/xmlschema/AttributeUse.class | Bin 0 -> 672 bytes .../gnu/xml/validation/xmlschema/ComplexType.class | Bin 0 -> 937 bytes .../validation/xmlschema/ElementDeclaration.class | Bin 0 -> 1233 bytes .../gnu/xml/validation/xmlschema/Particle.class | Bin 0 -> 558 bytes .../validation/xmlschema/ValidationException.class | Bin 0 -> 483 bytes .../gnu/xml/validation/xmlschema/XMLSchema.class | Bin 0 -> 1892 bytes .../xmlschema/XMLSchemaAttributeTypeInfo.class | Bin 0 -> 1700 bytes .../validation/xmlschema/XMLSchemaBuilder.class | Bin 0 -> 14866 bytes .../xmlschema/XMLSchemaElementTypeInfo.class | Bin 0 -> 1657 bytes .../xmlschema/XMLSchemaSchemaFactory.class | Bin 0 -> 4437 bytes .../validation/xmlschema/XMLSchemaTypeInfo.class | Bin 0 -> 1095 bytes .../xmlschema/XMLSchemaTypeInfoProvider.class | Bin 0 -> 1088 bytes .../validation/xmlschema/XMLSchemaValidator.class | Bin 0 -> 1500 bytes .../xmlschema/XMLSchemaValidatorHandler.class | Bin 0 -> 10302 bytes libjava/classpath/lib/gnu/xml/xpath/AndExpr.class | Bin 0 -> 1548 bytes .../lib/gnu/xml/xpath/ArithmeticExpr.class | Bin 0 -> 2522 bytes .../lib/gnu/xml/xpath/BooleanFunction.class | Bin 0 -> 1655 bytes .../lib/gnu/xml/xpath/CeilingFunction.class | Bin 0 -> 1681 bytes .../lib/gnu/xml/xpath/ConcatFunction.class | Bin 0 -> 2181 bytes libjava/classpath/lib/gnu/xml/xpath/Constant.class | Bin 0 -> 1572 bytes .../lib/gnu/xml/xpath/ContainsFunction.class | Bin 0 -> 1971 bytes .../lib/gnu/xml/xpath/CountFunction.class | Bin 0 -> 1592 bytes .../gnu/xml/xpath/DocumentOrderComparator.class | Bin 0 -> 694 bytes .../classpath/lib/gnu/xml/xpath/EqualityExpr.class | Bin 0 -> 4075 bytes .../lib/gnu/xml/xpath/Expr$ExprNodeSet.class | Bin 0 -> 939 bytes libjava/classpath/lib/gnu/xml/xpath/Expr.class | Bin 0 -> 8763 bytes .../lib/gnu/xml/xpath/FalseFunction.class | Bin 0 -> 955 bytes .../lib/gnu/xml/xpath/FloorFunction.class | Bin 0 -> 1674 bytes libjava/classpath/lib/gnu/xml/xpath/Function.class | Bin 0 -> 156 bytes .../classpath/lib/gnu/xml/xpath/FunctionCall.class | Bin 0 -> 3750 bytes .../classpath/lib/gnu/xml/xpath/IdFunction.class | Bin 0 -> 1789 bytes .../classpath/lib/gnu/xml/xpath/LangFunction.class | Bin 0 -> 2382 bytes .../classpath/lib/gnu/xml/xpath/LastFunction.class | Bin 0 -> 933 bytes .../lib/gnu/xml/xpath/LocalNameFunction.class | Bin 0 -> 1830 bytes .../classpath/lib/gnu/xml/xpath/NameFunction.class | Bin 0 -> 1797 bytes libjava/classpath/lib/gnu/xml/xpath/NameTest.class | Bin 0 -> 2393 bytes .../lib/gnu/xml/xpath/NamespaceTest.class | Bin 0 -> 2047 bytes .../lib/gnu/xml/xpath/NamespaceUriFunction.class | Bin 0 -> 1848 bytes .../classpath/lib/gnu/xml/xpath/NegativeExpr.class | Bin 0 -> 1357 bytes .../classpath/lib/gnu/xml/xpath/NodeTypeTest.class | Bin 0 -> 2035 bytes .../lib/gnu/xml/xpath/NormalizeSpaceFunction.class | Bin 0 -> 2184 bytes .../classpath/lib/gnu/xml/xpath/NotFunction.class | Bin 0 -> 1639 bytes .../lib/gnu/xml/xpath/NumberFunction.class | Bin 0 -> 1651 bytes libjava/classpath/lib/gnu/xml/xpath/OrExpr.class | Bin 0 -> 1544 bytes .../lib/gnu/xml/xpath/ParenthesizedExpr.class | Bin 0 -> 1627 bytes libjava/classpath/lib/gnu/xml/xpath/Path.class | Bin 0 -> 356 bytes libjava/classpath/lib/gnu/xml/xpath/Pattern.class | Bin 0 -> 318 bytes .../lib/gnu/xml/xpath/PositionFunction.class | Bin 0 -> 949 bytes .../classpath/lib/gnu/xml/xpath/Predicate.class | Bin 0 -> 1545 bytes .../lib/gnu/xml/xpath/RelationalExpr.class | Bin 0 -> 1897 bytes libjava/classpath/lib/gnu/xml/xpath/Root.class | Bin 0 -> 1538 bytes .../lib/gnu/xml/xpath/RoundFunction.class | Bin 0 -> 1759 bytes libjava/classpath/lib/gnu/xml/xpath/Selector.class | Bin 0 -> 8831 bytes .../lib/gnu/xml/xpath/StartsWithFunction.class | Bin 0 -> 1982 bytes libjava/classpath/lib/gnu/xml/xpath/Steps.class | Bin 0 -> 4349 bytes .../lib/gnu/xml/xpath/StringFunction.class | Bin 0 -> 1678 bytes .../lib/gnu/xml/xpath/StringLengthFunction.class | Bin 0 -> 1853 bytes .../lib/gnu/xml/xpath/SubstringAfterFunction.class | Bin 0 -> 2036 bytes .../gnu/xml/xpath/SubstringBeforeFunction.class | Bin 0 -> 2011 bytes .../lib/gnu/xml/xpath/SubstringFunction.class | Bin 0 -> 2340 bytes .../classpath/lib/gnu/xml/xpath/SumFunction.class | Bin 0 -> 2040 bytes libjava/classpath/lib/gnu/xml/xpath/Test.class | Bin 0 -> 422 bytes .../lib/gnu/xml/xpath/TranslateFunction.class | Bin 0 -> 2543 bytes .../classpath/lib/gnu/xml/xpath/TrueFunction.class | Bin 0 -> 950 bytes .../classpath/lib/gnu/xml/xpath/UnionExpr.class | Bin 0 -> 2105 bytes .../lib/gnu/xml/xpath/VariableReference.class | Bin 0 -> 2043 bytes .../lib/gnu/xml/xpath/XPathFactoryImpl.class | Bin 0 -> 1666 bytes .../classpath/lib/gnu/xml/xpath/XPathImpl.class | Bin 0 -> 3800 bytes .../gnu/xml/xpath/XPathParser$YyCheckClass.class | Bin 0 -> 7787 bytes .../gnu/xml/xpath/XPathParser$YyDefRedClass.class | Bin 0 -> 863 bytes .../gnu/xml/xpath/XPathParser$YyDgotoClass.class | Bin 0 -> 669 bytes .../gnu/xml/xpath/XPathParser$YyGindexClass.class | Bin 0 -> 589 bytes .../lib/gnu/xml/xpath/XPathParser$YyLenClass.class | Bin 0 -> 952 bytes .../lib/gnu/xml/xpath/XPathParser$YyLhsClass.class | Bin 0 -> 1018 bytes .../gnu/xml/xpath/XPathParser$YyNameClass.class | Bin 0 -> 1520 bytes .../gnu/xml/xpath/XPathParser$YyRindexClass.class | Bin 0 -> 774 bytes .../gnu/xml/xpath/XPathParser$YySindexClass.class | Bin 0 -> 1024 bytes .../gnu/xml/xpath/XPathParser$YyTableClass.class | Bin 0 -> 5389 bytes .../gnu/xml/xpath/XPathParser$yyException.class | Bin 0 -> 453 bytes .../lib/gnu/xml/xpath/XPathParser$yyInput.class | Bin 0 -> 330 bytes .../classpath/lib/gnu/xml/xpath/XPathParser.class | Bin 0 -> 15434 bytes .../gnu/xml/xpath/XPathTokenizer$XPathToken.class | Bin 0 -> 796 bytes .../lib/gnu/xml/xpath/XPathTokenizer.class | Bin 0 -> 7206 bytes .../lib/java/applet/Applet$AccessibleApplet.class | Bin 0 -> 1235 bytes .../lib/java/applet/Applet$URLAudioClip.class | Bin 0 -> 1500 bytes libjava/classpath/lib/java/applet/Applet.class | Bin 0 -> 4351 bytes .../classpath/lib/java/applet/AppletContext.class | Bin 0 -> 833 bytes libjava/classpath/lib/java/applet/AppletStub.class | Bin 0 -> 359 bytes libjava/classpath/lib/java/applet/AudioClip.class | Bin 0 -> 162 bytes libjava/classpath/lib/java/awt/AWTError.class | Bin 0 -> 394 bytes libjava/classpath/lib/java/awt/AWTEvent.class | Bin 0 -> 3487 bytes .../lib/java/awt/AWTEventMulticaster.class | Bin 0 -> 14395 bytes libjava/classpath/lib/java/awt/AWTException.class | Bin 0 -> 410 bytes .../classpath/lib/java/awt/AWTKeyStroke$1.class | Bin 0 -> 1001 bytes .../classpath/lib/java/awt/AWTKeyStroke$2.class | Bin 0 -> 1451 bytes .../classpath/lib/java/awt/AWTKeyStroke$3.class | Bin 0 -> 1214 bytes libjava/classpath/lib/java/awt/AWTKeyStroke.class | Bin 0 -> 7354 bytes libjava/classpath/lib/java/awt/AWTPermission.class | Bin 0 -> 558 bytes libjava/classpath/lib/java/awt/ActiveEvent.class | Bin 0 -> 137 bytes libjava/classpath/lib/java/awt/Adjustable.class | Bin 0 -> 666 bytes .../classpath/lib/java/awt/AlphaComposite$1.class | Bin 0 -> 715 bytes .../classpath/lib/java/awt/AlphaComposite.class | Bin 0 -> 3106 bytes .../classpath/lib/java/awt/AttributeValue.class | Bin 0 -> 609 bytes libjava/classpath/lib/java/awt/BasicStroke.class | Bin 0 -> 11709 bytes libjava/classpath/lib/java/awt/BorderLayout.class | Bin 0 -> 8006 bytes .../java/awt/BufferCapabilities$FlipContents.class | Bin 0 -> 873 bytes .../lib/java/awt/BufferCapabilities.class | Bin 0 -> 1772 bytes .../lib/java/awt/Button$AccessibleAWTButton.class | Bin 0 -> 2322 bytes libjava/classpath/lib/java/awt/Button.class | Bin 0 -> 4645 bytes .../lib/java/awt/Canvas$AccessibleAWTCanvas.class | Bin 0 -> 783 bytes .../java/awt/Canvas$CanvasBltBufferStrategy.class | Bin 0 -> 947 bytes .../java/awt/Canvas$CanvasFlipBufferStrategy.class | Bin 0 -> 972 bytes libjava/classpath/lib/java/awt/Canvas.class | Bin 0 -> 3756 bytes libjava/classpath/lib/java/awt/CardLayout.class | Bin 0 -> 6645 bytes .../java/awt/Checkbox$AccessibleAWTCheckbox.class | Bin 0 -> 2701 bytes libjava/classpath/lib/java/awt/Checkbox.class | Bin 0 -> 5130 bytes libjava/classpath/lib/java/awt/CheckboxGroup.class | Bin 0 -> 1568 bytes ...boxMenuItem$AccessibleAWTCheckboxMenuItem.class | Bin 0 -> 734 bytes .../classpath/lib/java/awt/CheckboxMenuItem.class | Bin 0 -> 4664 bytes .../lib/java/awt/Choice$AccessibleAWTChoice.class | Bin 0 -> 1502 bytes libjava/classpath/lib/java/awt/Choice.class | Bin 0 -> 6422 bytes libjava/classpath/lib/java/awt/Color.class | Bin 0 -> 9697 bytes .../java/awt/ColorPaintContext$ColorRaster.class | Bin 0 -> 2055 bytes .../classpath/lib/java/awt/ColorPaintContext.class | Bin 0 -> 1437 bytes ...WTComponent$AccessibleAWTComponentHandler.class | Bin 0 -> 1391 bytes ...bleAWTComponent$AccessibleAWTFocusHandler.class | Bin 0 -> 1188 bytes .../awt/Component$AccessibleAWTComponent.class | Bin 0 -> 7344 bytes .../lib/java/awt/Component$BltBufferStrategy.class | Bin 0 -> 3260 bytes .../java/awt/Component$FlipBufferStrategy.class | Bin 0 -> 3406 bytes ...omponent$HeavyweightInLightweightListener.class | Bin 0 -> 1500 bytes libjava/classpath/lib/java/awt/Component.class | Bin 0 -> 57337 bytes .../lib/java/awt/ComponentOrientation.class | Bin 0 -> 1996 bytes libjava/classpath/lib/java/awt/Composite.class | Bin 0 -> 243 bytes .../classpath/lib/java/awt/CompositeContext.class | Bin 0 -> 247 bytes ...leAWTContainer$AccessibleContainerHandler.class | Bin 0 -> 1195 bytes .../awt/Container$AccessibleAWTContainer.class | Bin 0 -> 1986 bytes .../java/awt/Container$GfxPaintAllVisitor.class | Bin 0 -> 801 bytes .../lib/java/awt/Container$GfxPaintVisitor.class | Bin 0 -> 789 bytes .../java/awt/Container$GfxPrintAllVisitor.class | Bin 0 -> 801 bytes .../lib/java/awt/Container$GfxPrintVisitor.class | Bin 0 -> 789 bytes .../lib/java/awt/Container$GfxVisitor.class | Bin 0 -> 421 bytes libjava/classpath/lib/java/awt/Container.class | Bin 0 -> 25778 bytes .../awt/ContainerOrderFocusTraversalPolicy.class | Bin 0 -> 5181 bytes libjava/classpath/lib/java/awt/Cursor.class | Bin 0 -> 3144 bytes .../lib/java/awt/DefaultFocusTraversalPolicy.class | Bin 0 -> 1060 bytes ...ultKeyboardFocusManager$EventDelayRequest.class | Bin 0 -> 2221 bytes .../lib/java/awt/DefaultKeyboardFocusManager.class | Bin 0 -> 8339 bytes .../lib/java/awt/Dialog$AccessibleAWTDialog.class | Bin 0 -> 1304 bytes libjava/classpath/lib/java/awt/Dialog.class | Bin 0 -> 5452 bytes libjava/classpath/lib/java/awt/Dimension.class | Bin 0 -> 2137 bytes libjava/classpath/lib/java/awt/DisplayMode.class | Bin 0 -> 1147 bytes libjava/classpath/lib/java/awt/Event.class | Bin 0 -> 4355 bytes .../lib/java/awt/EventDispatchThread.class | Bin 0 -> 1751 bytes .../classpath/lib/java/awt/EventQueue$Queue.class | Bin 0 -> 610 bytes libjava/classpath/lib/java/awt/EventQueue.class | Bin 0 -> 7265 bytes libjava/classpath/lib/java/awt/FileDialog.class | Bin 0 -> 3706 bytes libjava/classpath/lib/java/awt/FlowLayout.class | Bin 0 -> 4816 bytes .../lib/java/awt/FocusTraversalPolicy.class | Bin 0 -> 734 bytes libjava/classpath/lib/java/awt/Font.class | Bin 0 -> 14714 bytes .../lib/java/awt/FontFormatException.class | Bin 0 -> 431 bytes libjava/classpath/lib/java/awt/FontMetrics.class | Bin 0 -> 6101 bytes .../lib/java/awt/Frame$AccessibleAWTFrame.class | Bin 0 -> 1302 bytes libjava/classpath/lib/java/awt/Frame.class | Bin 0 -> 7975 bytes libjava/classpath/lib/java/awt/GradientPaint.class | Bin 0 -> 2918 bytes libjava/classpath/lib/java/awt/Graphics.class | Bin 0 -> 5028 bytes libjava/classpath/lib/java/awt/Graphics2D.class | Bin 0 -> 2479 bytes .../lib/java/awt/GraphicsConfigTemplate.class | Bin 0 -> 684 bytes .../lib/java/awt/GraphicsConfiguration.class | Bin 0 -> 1797 bytes .../classpath/lib/java/awt/GraphicsDevice.class | Bin 0 -> 2719 bytes .../lib/java/awt/GraphicsEnvironment.class | Bin 0 -> 2586 bytes .../lib/java/awt/GridBagConstraints.class | Bin 0 -> 2167 bytes libjava/classpath/lib/java/awt/GridBagLayout.class | Bin 0 -> 16068 bytes .../classpath/lib/java/awt/GridBagLayoutInfo.class | Bin 0 -> 737 bytes libjava/classpath/lib/java/awt/GridLayout.class | Bin 0 -> 5050 bytes .../classpath/lib/java/awt/HeadlessException.class | Bin 0 -> 526 bytes .../java/awt/IllegalComponentStateException.class | Bin 0 -> 557 bytes libjava/classpath/lib/java/awt/Image.class | Bin 0 -> 2109 bytes .../classpath/lib/java/awt/ImageCapabilities.class | Bin 0 -> 900 bytes libjava/classpath/lib/java/awt/Insets.class | Bin 0 -> 1998 bytes .../classpath/lib/java/awt/ItemSelectable.class | Bin 0 -> 261 bytes .../awt/JobAttributes$DefaultSelectionType.class | Bin 0 -> 812 bytes .../java/awt/JobAttributes$DestinationType.class | Bin 0 -> 726 bytes .../lib/java/awt/JobAttributes$DialogType.class | Bin 0 -> 768 bytes ...obAttributes$MultipleDocumentHandlingType.class | Bin 0 -> 903 bytes .../lib/java/awt/JobAttributes$SidesType.class | Bin 0 -> 833 bytes libjava/classpath/lib/java/awt/JobAttributes.class | Bin 0 -> 9010 bytes .../lib/java/awt/KeyEventDispatcher.class | Bin 0 -> 184 bytes .../lib/java/awt/KeyEventPostProcessor.class | Bin 0 -> 193 bytes .../lib/java/awt/KeyboardFocusManager.class | Bin 0 -> 14539 bytes .../lib/java/awt/Label$AccessibleAWTLabel.class | Bin 0 -> 900 bytes libjava/classpath/lib/java/awt/Label.class | Bin 0 -> 2964 bytes libjava/classpath/lib/java/awt/LayoutManager.class | Bin 0 -> 402 bytes .../classpath/lib/java/awt/LayoutManager2.class | Bin 0 -> 433 bytes .../lib/java/awt/LightweightDispatcher.class | Bin 0 -> 4928 bytes ...$AccessibleAWTList$AccessibleAWTListChild.class | Bin 0 -> 1888 bytes .../lib/java/awt/List$AccessibleAWTList.class | Bin 0 -> 3495 bytes libjava/classpath/lib/java/awt/List.class | Bin 0 -> 11505 bytes .../lib/java/awt/MediaTracker$MediaEntry.class | Bin 0 -> 970 bytes libjava/classpath/lib/java/awt/MediaTracker.class | Bin 0 -> 5777 bytes .../lib/java/awt/Menu$AccessibleAWTMenu.class | Bin 0 -> 760 bytes libjava/classpath/lib/java/awt/Menu.class | Bin 0 -> 5501 bytes .../java/awt/MenuBar$AccessibleAWTMenuBar.class | Bin 0 -> 806 bytes libjava/classpath/lib/java/awt/MenuBar.class | Bin 0 -> 4947 bytes .../MenuComponent$AccessibleAWTMenuComponent.class | Bin 0 -> 6273 bytes libjava/classpath/lib/java/awt/MenuComponent.class | Bin 0 -> 4426 bytes libjava/classpath/lib/java/awt/MenuContainer.class | Bin 0 -> 262 bytes .../java/awt/MenuItem$AccessibleAWTMenuItem.class | Bin 0 -> 2507 bytes libjava/classpath/lib/java/awt/MenuItem.class | Bin 0 -> 5918 bytes libjava/classpath/lib/java/awt/MenuShortcut.class | Bin 0 -> 5566 bytes libjava/classpath/lib/java/awt/MouseInfo.class | Bin 0 -> 1744 bytes .../lib/java/awt/PageAttributes$ColorType.class | Bin 0 -> 720 bytes .../lib/java/awt/PageAttributes$MediaType.class | Bin 0 -> 8335 bytes .../PageAttributes$OrientationRequestedType.class | Bin 0 -> 777 bytes .../lib/java/awt/PageAttributes$OriginType.class | Bin 0 -> 727 bytes .../java/awt/PageAttributes$PrintQualityType.class | Bin 0 -> 788 bytes .../classpath/lib/java/awt/PageAttributes.class | Bin 0 -> 6150 bytes libjava/classpath/lib/java/awt/Paint.class | Bin 0 -> 311 bytes libjava/classpath/lib/java/awt/PaintContext.class | Bin 0 -> 246 bytes .../lib/java/awt/Panel$AccessibleAWTPanel.class | Bin 0 -> 773 bytes libjava/classpath/lib/java/awt/Panel.class | Bin 0 -> 1695 bytes libjava/classpath/lib/java/awt/Point.class | Bin 0 -> 2317 bytes libjava/classpath/lib/java/awt/PointerInfo.class | Bin 0 -> 656 bytes libjava/classpath/lib/java/awt/Polygon$1.class | Bin 0 -> 1484 bytes libjava/classpath/lib/java/awt/Polygon.class | Bin 0 -> 5355 bytes .../awt/PopupMenu$AccessibleAWTPopupMenu.class | Bin 0 -> 799 bytes libjava/classpath/lib/java/awt/PopupMenu.class | Bin 0 -> 2008 bytes libjava/classpath/lib/java/awt/PrintGraphics.class | Bin 0 -> 162 bytes libjava/classpath/lib/java/awt/PrintJob.class | Bin 0 -> 533 bytes libjava/classpath/lib/java/awt/Rectangle.class | Bin 0 -> 6927 bytes .../lib/java/awt/RenderingHints$Key.class | Bin 0 -> 818 bytes .../lib/java/awt/RenderingHints$KeyImpl.class | Bin 0 -> 956 bytes .../classpath/lib/java/awt/RenderingHints.class | Bin 0 -> 7812 bytes libjava/classpath/lib/java/awt/Robot$1.class | Bin 0 -> 526 bytes libjava/classpath/lib/java/awt/Robot.class | Bin 0 -> 5749 bytes .../awt/ScrollPane$AccessibleAWTScrollPane.class | Bin 0 -> 820 bytes libjava/classpath/lib/java/awt/ScrollPane.class | Bin 0 -> 8617 bytes .../lib/java/awt/ScrollPaneAdjustable.class | Bin 0 -> 4436 bytes .../awt/Scrollbar$AccessibleAWTScrollBar.class | Bin 0 -> 2221 bytes libjava/classpath/lib/java/awt/Scrollbar.class | Bin 0 -> 7765 bytes libjava/classpath/lib/java/awt/Shape.class | Bin 0 -> 514 bytes libjava/classpath/lib/java/awt/Stroke.class | Bin 0 -> 168 bytes libjava/classpath/lib/java/awt/SystemColor.class | Bin 0 -> 4272 bytes .../java/awt/TextArea$AccessibleAWTTextArea.class | Bin 0 -> 734 bytes libjava/classpath/lib/java/awt/TextArea.class | Bin 0 -> 6781 bytes .../TextComponent$AccessibleAWTTextComponent.class | Bin 0 -> 4191 bytes libjava/classpath/lib/java/awt/TextComponent.class | Bin 0 -> 5979 bytes .../awt/TextField$AccessibleAWTTextField.class | Bin 0 -> 743 bytes libjava/classpath/lib/java/awt/TextField.class | Bin 0 -> 6258 bytes libjava/classpath/lib/java/awt/TexturePaint.class | Bin 0 -> 1491 bytes libjava/classpath/lib/java/awt/Toolkit$1.class | Bin 0 -> 616 bytes libjava/classpath/lib/java/awt/Toolkit$2.class | Bin 0 -> 3538 bytes libjava/classpath/lib/java/awt/Toolkit.class | Bin 0 -> 14310 bytes libjava/classpath/lib/java/awt/Transparency.class | Bin 0 -> 262 bytes .../lib/java/awt/Window$AccessibleAWTWindow.class | Bin 0 -> 1243 bytes .../java/awt/Window$WindowBltBufferStrategy.class | Bin 0 -> 947 bytes .../java/awt/Window$WindowFlipBufferStrategy.class | Bin 0 -> 972 bytes libjava/classpath/lib/java/awt/Window.class | Bin 0 -> 17825 bytes .../lib/java/awt/color/CMMException.class | Bin 0 -> 429 bytes .../classpath/lib/java/awt/color/ColorSpace.class | Bin 0 -> 3046 bytes .../lib/java/awt/color/ICC_ColorSpace.class | Bin 0 -> 3606 bytes .../classpath/lib/java/awt/color/ICC_Profile.class | Bin 0 -> 18802 bytes .../lib/java/awt/color/ICC_ProfileGray.class | Bin 0 -> 1361 bytes .../lib/java/awt/color/ICC_ProfileRGB.class | Bin 0 -> 2417 bytes .../lib/java/awt/color/ProfileDataException.class | Bin 0 -> 453 bytes .../lib/java/awt/datatransfer/Clipboard.class | Bin 0 -> 3685 bytes .../lib/java/awt/datatransfer/ClipboardOwner.class | Bin 0 -> 230 bytes .../lib/java/awt/datatransfer/DataFlavor.class | Bin 0 -> 12089 bytes .../lib/java/awt/datatransfer/FlavorEvent.class | Bin 0 -> 423 bytes .../lib/java/awt/datatransfer/FlavorListener.class | Bin 0 -> 228 bytes .../lib/java/awt/datatransfer/FlavorMap.class | Bin 0 -> 507 bytes .../lib/java/awt/datatransfer/FlavorTable.class | Bin 0 -> 496 bytes .../lib/java/awt/datatransfer/MimeType.class | Bin 0 -> 4293 bytes .../awt/datatransfer/MimeTypeParseException.class | Bin 0 -> 547 bytes .../java/awt/datatransfer/StringSelection.class | Bin 0 -> 1799 bytes .../java/awt/datatransfer/SystemFlavorMap.class | Bin 0 -> 5169 bytes .../lib/java/awt/datatransfer/Transferable.class | Bin 0 -> 459 bytes .../datatransfer/UnsupportedFlavorException.class | Bin 0 -> 641 bytes .../classpath/lib/java/awt/dnd/Autoscroll.class | Bin 0 -> 209 bytes .../classpath/lib/java/awt/dnd/DnDConstants.class | Bin 0 -> 529 bytes .../lib/java/awt/dnd/DnDEventMulticaster.class | Bin 0 -> 1262 bytes .../lib/java/awt/dnd/DragGestureEvent.class | Bin 0 -> 3417 bytes .../lib/java/awt/dnd/DragGestureListener.class | Bin 0 -> 232 bytes .../lib/java/awt/dnd/DragGestureRecognizer.class | Bin 0 -> 4026 bytes .../classpath/lib/java/awt/dnd/DragSource.class | Bin 0 -> 7238 bytes .../lib/java/awt/dnd/DragSourceAdapter.class | Bin 0 -> 1104 bytes .../lib/java/awt/dnd/DragSourceContext.class | Bin 0 -> 5805 bytes .../lib/java/awt/dnd/DragSourceDragEvent.class | Bin 0 -> 1593 bytes .../lib/java/awt/dnd/DragSourceDropEvent.class | Bin 0 -> 1240 bytes .../lib/java/awt/dnd/DragSourceEvent.class | Bin 0 -> 1259 bytes .../lib/java/awt/dnd/DragSourceListener.class | Bin 0 -> 385 bytes .../java/awt/dnd/DragSourceMotionListener.class | Bin 0 -> 238 bytes .../dnd/DropTarget$DropTargetAutoScroller.class | Bin 0 -> 2504 bytes .../classpath/lib/java/awt/dnd/DropTarget.class | Bin 0 -> 6159 bytes .../lib/java/awt/dnd/DropTargetAdapter.class | Bin 0 -> 817 bytes .../dnd/DropTargetContext$TransferableProxy.class | Bin 0 -> 1371 bytes .../lib/java/awt/dnd/DropTargetContext.class | Bin 0 -> 3312 bytes .../lib/java/awt/dnd/DropTargetDragEvent.class | Bin 0 -> 2244 bytes .../lib/java/awt/dnd/DropTargetDropEvent.class | Bin 0 -> 2590 bytes .../lib/java/awt/dnd/DropTargetEvent.class | Bin 0 -> 629 bytes .../lib/java/awt/dnd/DropTargetListener.class | Bin 0 -> 378 bytes .../awt/dnd/InvalidDnDOperationException.class | Bin 0 -> 553 bytes .../java/awt/dnd/MouseDragGestureRecognizer.class | Bin 0 -> 2199 bytes .../java/awt/dnd/peer/DragSourceContextPeer.class | Bin 0 -> 457 bytes .../java/awt/dnd/peer/DropTargetContextPeer.class | Bin 0 -> 631 bytes .../lib/java/awt/dnd/peer/DropTargetPeer.class | Bin 0 -> 209 bytes .../lib/java/awt/event/AWTEventListener.class | Bin 0 -> 210 bytes .../lib/java/awt/event/AWTEventListenerProxy.class | Bin 0 -> 859 bytes .../classpath/lib/java/awt/event/ActionEvent.class | Bin 0 -> 2338 bytes .../lib/java/awt/event/ActionListener.class | Bin 0 -> 215 bytes .../lib/java/awt/event/AdjustmentEvent.class | Bin 0 -> 2301 bytes .../lib/java/awt/event/AdjustmentListener.class | Bin 0 -> 234 bytes .../lib/java/awt/event/ComponentAdapter.class | Bin 0 -> 765 bytes .../lib/java/awt/event/ComponentEvent.class | Bin 0 -> 1641 bytes .../lib/java/awt/event/ComponentListener.class | Bin 0 -> 301 bytes .../lib/java/awt/event/ContainerAdapter.class | Bin 0 -> 596 bytes .../lib/java/awt/event/ContainerEvent.class | Bin 0 -> 1507 bytes .../lib/java/awt/event/ContainerListener.class | Bin 0 -> 250 bytes .../lib/java/awt/event/FocusAdapter.class | Bin 0 -> 562 bytes .../classpath/lib/java/awt/event/FocusEvent.class | Bin 0 -> 1702 bytes .../lib/java/awt/event/FocusListener.class | Bin 0 -> 228 bytes .../java/awt/event/HierarchyBoundsAdapter.class | Bin 0 -> 618 bytes .../java/awt/event/HierarchyBoundsListener.class | Bin 0 -> 260 bytes .../lib/java/awt/event/HierarchyEvent.class | Bin 0 -> 2402 bytes .../lib/java/awt/event/HierarchyListener.class | Bin 0 -> 225 bytes .../classpath/lib/java/awt/event/InputEvent.class | Bin 0 -> 2833 bytes .../lib/java/awt/event/InputMethodEvent.class | Bin 0 -> 3854 bytes .../lib/java/awt/event/InputMethodListener.class | Bin 0 -> 268 bytes .../lib/java/awt/event/InvocationEvent.class | Bin 0 -> 2700 bytes .../classpath/lib/java/awt/event/ItemEvent.class | Bin 0 -> 1688 bytes .../lib/java/awt/event/ItemListener.class | Bin 0 -> 210 bytes .../classpath/lib/java/awt/event/KeyAdapter.class | Bin 0 -> 629 bytes .../classpath/lib/java/awt/event/KeyEvent.class | Bin 0 -> 15180 bytes .../classpath/lib/java/awt/event/KeyListener.class | Bin 0 -> 242 bytes .../lib/java/awt/event/MouseAdapter.class | Bin 0 -> 812 bytes .../classpath/lib/java/awt/event/MouseEvent.class | Bin 0 -> 3968 bytes .../lib/java/awt/event/MouseListener.class | Bin 0 -> 301 bytes .../lib/java/awt/event/MouseMotionAdapter.class | Bin 0 -> 588 bytes .../lib/java/awt/event/MouseMotionListener.class | Bin 0 -> 242 bytes .../lib/java/awt/event/MouseWheelEvent.class | Bin 0 -> 1770 bytes .../lib/java/awt/event/MouseWheelListener.class | Bin 0 -> 227 bytes .../classpath/lib/java/awt/event/PaintEvent.class | Bin 0 -> 1383 bytes .../classpath/lib/java/awt/event/TextEvent.class | Bin 0 -> 672 bytes .../lib/java/awt/event/TextListener.class | Bin 0 -> 210 bytes .../lib/java/awt/event/WindowAdapter.class | Bin 0 -> 1343 bytes .../classpath/lib/java/awt/event/WindowEvent.class | Bin 0 -> 2974 bytes .../lib/java/awt/event/WindowFocusListener.class | Bin 0 -> 253 bytes .../lib/java/awt/event/WindowListener.class | Bin 0 -> 367 bytes .../lib/java/awt/event/WindowStateListener.class | Bin 0 -> 228 bytes .../lib/java/awt/font/FontRenderContext.class | Bin 0 -> 1637 bytes .../lib/java/awt/font/GlyphJustificationInfo.class | Bin 0 -> 1006 bytes .../classpath/lib/java/awt/font/GlyphMetrics.class | Bin 0 -> 2130 bytes .../classpath/lib/java/awt/font/GlyphVector.class | Bin 0 -> 3366 bytes .../lib/java/awt/font/GraphicAttribute.class | Bin 0 -> 1382 bytes .../lib/java/awt/font/ImageGraphicAttribute.class | Bin 0 -> 2224 bytes .../lib/java/awt/font/LineBreakMeasurer.class | Bin 0 -> 2685 bytes .../classpath/lib/java/awt/font/LineMetrics.class | Bin 0 -> 595 bytes .../lib/java/awt/font/MultipleMaster.class | Bin 0 -> 357 bytes .../lib/java/awt/font/NumericShaper.class | Bin 0 -> 4638 bytes libjava/classpath/lib/java/awt/font/OpenType.class | Bin 0 -> 1965 bytes .../lib/java/awt/font/ShapeGraphicAttribute.class | Bin 0 -> 2387 bytes .../lib/java/awt/font/TextAttribute.class | Bin 0 -> 4769 bytes .../classpath/lib/java/awt/font/TextHitInfo.class | Bin 0 -> 2065 bytes .../lib/java/awt/font/TextLayout$CaretPolicy.class | Bin 0 -> 1005 bytes .../lib/java/awt/font/TextLayout$Run.class | Bin 0 -> 946 bytes .../classpath/lib/java/awt/font/TextLayout.class | Bin 0 -> 23555 bytes .../classpath/lib/java/awt/font/TextMeasurer.class | Bin 0 -> 2843 bytes .../lib/java/awt/font/TransformAttribute.class | Bin 0 -> 989 bytes .../lib/java/awt/geom/AffineTransform.class | Bin 0 -> 12490 bytes .../lib/java/awt/geom/Arc2D$ArcIterator.class | Bin 0 -> 3696 bytes .../classpath/lib/java/awt/geom/Arc2D$Double.class | Bin 0 -> 2281 bytes .../classpath/lib/java/awt/geom/Arc2D$Float.class | Bin 0 -> 2314 bytes libjava/classpath/lib/java/awt/geom/Arc2D.class | Bin 0 -> 8744 bytes .../geom/Area$AreaIterator$IteratorSegment.class | Bin 0 -> 630 bytes .../lib/java/awt/geom/Area$AreaIterator.class | Bin 0 -> 2481 bytes .../lib/java/awt/geom/Area$CubicSegment.class | Bin 0 -> 8297 bytes .../lib/java/awt/geom/Area$Intersection.class | Bin 0 -> 672 bytes .../lib/java/awt/geom/Area$LineSegment.class | Bin 0 -> 5193 bytes .../lib/java/awt/geom/Area$QuadSegment.class | Bin 0 -> 6012 bytes .../classpath/lib/java/awt/geom/Area$Segment.class | Bin 0 -> 6120 bytes libjava/classpath/lib/java/awt/geom/Area.class | Bin 0 -> 23638 bytes .../lib/java/awt/geom/CubicCurve2D$1.class | Bin 0 -> 2038 bytes .../lib/java/awt/geom/CubicCurve2D$Double.class | Bin 0 -> 2454 bytes .../lib/java/awt/geom/CubicCurve2D$Float.class | Bin 0 -> 2694 bytes .../classpath/lib/java/awt/geom/CubicCurve2D.class | Bin 0 -> 9086 bytes .../classpath/lib/java/awt/geom/Dimension2D.class | Bin 0 -> 893 bytes .../lib/java/awt/geom/Ellipse2D$Double.class | Bin 0 -> 1308 bytes .../lib/java/awt/geom/Ellipse2D$Float.class | Bin 0 -> 1459 bytes .../classpath/lib/java/awt/geom/Ellipse2D.class | Bin 0 -> 1989 bytes .../lib/java/awt/geom/FlatteningPathIterator.class | Bin 0 -> 4030 bytes .../awt/geom/GeneralPath$GeneralPathIterator.class | Bin 0 -> 1905 bytes .../classpath/lib/java/awt/geom/GeneralPath.class | Bin 0 -> 10364 bytes .../java/awt/geom/IllegalPathStateException.class | Bin 0 -> 543 bytes libjava/classpath/lib/java/awt/geom/Line2D$1.class | Bin 0 -> 1797 bytes .../lib/java/awt/geom/Line2D$Double.class | Bin 0 -> 1886 bytes .../classpath/lib/java/awt/geom/Line2D$Float.class | Bin 0 -> 2038 bytes libjava/classpath/lib/java/awt/geom/Line2D.class | Bin 0 -> 7219 bytes .../awt/geom/NoninvertibleTransformException.class | Bin 0 -> 471 bytes .../classpath/lib/java/awt/geom/PathIterator.class | Bin 0 -> 497 bytes .../lib/java/awt/geom/Point2D$Double.class | Bin 0 -> 1125 bytes .../lib/java/awt/geom/Point2D$Float.class | Bin 0 -> 1232 bytes libjava/classpath/lib/java/awt/geom/Point2D.class | Bin 0 -> 2115 bytes .../lib/java/awt/geom/QuadCurve2D$1.class | Bin 0 -> 1927 bytes .../lib/java/awt/geom/QuadCurve2D$Double.class | Bin 0 -> 2038 bytes .../lib/java/awt/geom/QuadCurve2D$Float.class | Bin 0 -> 2232 bytes .../classpath/lib/java/awt/geom/QuadCurve2D.class | Bin 0 -> 7376 bytes .../lib/java/awt/geom/Rectangle2D$1.class | Bin 0 -> 1986 bytes .../lib/java/awt/geom/Rectangle2D$Double.class | Bin 0 -> 2839 bytes .../lib/java/awt/geom/Rectangle2D$Float.class | Bin 0 -> 3146 bytes .../classpath/lib/java/awt/geom/Rectangle2D.class | Bin 0 -> 5149 bytes .../lib/java/awt/geom/RectangularShape.class | Bin 0 -> 3979 bytes .../lib/java/awt/geom/RoundRectangle2D$1.class | Bin 0 -> 3069 bytes .../java/awt/geom/RoundRectangle2D$Double.class | Bin 0 -> 1665 bytes .../lib/java/awt/geom/RoundRectangle2D$Float.class | Bin 0 -> 1862 bytes .../lib/java/awt/geom/RoundRectangle2D.class | Bin 0 -> 2622 bytes .../classpath/lib/java/awt/im/InputContext.class | Bin 0 -> 5168 bytes .../lib/java/awt/im/InputMethodHighlight.class | Bin 0 -> 1841 bytes .../lib/java/awt/im/InputMethodRequests.class | Bin 0 -> 623 bytes .../classpath/lib/java/awt/im/InputSubset.class | Bin 0 -> 915 bytes .../lib/java/awt/im/spi/InputMethod.class | Bin 0 -> 735 bytes .../lib/java/awt/im/spi/InputMethodContext.class | Bin 0 -> 538 bytes .../java/awt/im/spi/InputMethodDescriptor.class | Bin 0 -> 540 bytes .../lib/java/awt/image/AffineTransformOp.class | Bin 0 -> 9727 bytes .../java/awt/image/AreaAveragingScaleFilter.class | Bin 0 -> 3621 bytes .../lib/java/awt/image/BandCombineOp.class | Bin 0 -> 3170 bytes .../lib/java/awt/image/BandedSampleModel.class | Bin 0 -> 10990 bytes .../lib/java/awt/image/BufferStrategy.class | Bin 0 -> 482 bytes .../lib/java/awt/image/BufferedImage$1.class | Bin 0 -> 2235 bytes .../lib/java/awt/image/BufferedImage.class | Bin 0 -> 14436 bytes .../lib/java/awt/image/BufferedImageFilter.class | Bin 0 -> 2898 bytes .../lib/java/awt/image/BufferedImageOp.class | Bin 0 -> 603 bytes .../lib/java/awt/image/ByteLookupTable.class | Bin 0 -> 1414 bytes .../lib/java/awt/image/ColorConvertOp.class | Bin 0 -> 7929 bytes .../java/awt/image/ColorModel$SRGBColorModel.class | Bin 0 -> 1142 bytes .../classpath/lib/java/awt/image/ColorModel.class | Bin 0 -> 9110 bytes .../lib/java/awt/image/ComponentColorModel.class | Bin 0 -> 7615 bytes .../lib/java/awt/image/ComponentSampleModel.class | Bin 0 -> 10746 bytes .../classpath/lib/java/awt/image/ConvolveOp.class | Bin 0 -> 5812 bytes .../lib/java/awt/image/CropImageFilter.class | Bin 0 -> 2690 bytes .../classpath/lib/java/awt/image/DataBuffer.class | Bin 0 -> 3033 bytes .../lib/java/awt/image/DataBufferByte.class | Bin 0 -> 1893 bytes .../lib/java/awt/image/DataBufferDouble.class | Bin 0 -> 2771 bytes .../lib/java/awt/image/DataBufferFloat.class | Bin 0 -> 2778 bytes .../lib/java/awt/image/DataBufferInt.class | Bin 0 -> 1875 bytes .../lib/java/awt/image/DataBufferShort.class | Bin 0 -> 1888 bytes .../lib/java/awt/image/DataBufferUShort.class | Bin 0 -> 1994 bytes .../lib/java/awt/image/DirectColorModel.class | Bin 0 -> 6947 bytes .../lib/java/awt/image/FilteredImageSource.class | Bin 0 -> 1902 bytes .../lib/java/awt/image/ImageConsumer.class | Bin 0 -> 816 bytes .../classpath/lib/java/awt/image/ImageFilter.class | Bin 0 -> 3039 bytes .../lib/java/awt/image/ImageObserver.class | Bin 0 -> 438 bytes .../lib/java/awt/image/ImageProducer.class | Bin 0 -> 328 bytes .../lib/java/awt/image/ImagingOpException.class | Bin 0 -> 447 bytes .../lib/java/awt/image/IndexColorModel.class | Bin 0 -> 7385 bytes libjava/classpath/lib/java/awt/image/Kernel.class | Bin 0 -> 1509 bytes .../classpath/lib/java/awt/image/LookupOp.class | Bin 0 -> 4856 bytes .../classpath/lib/java/awt/image/LookupTable.class | Bin 0 -> 688 bytes .../lib/java/awt/image/MemoryImageSource.class | Bin 0 -> 6116 bytes .../awt/image/MultiPixelPackedSampleModel.class | Bin 0 -> 7107 bytes .../lib/java/awt/image/PackedColorModel.class | Bin 0 -> 4057 bytes .../lib/java/awt/image/PixelGrabber$1.class | Bin 0 -> 826 bytes .../lib/java/awt/image/PixelGrabber.class | Bin 0 -> 6014 bytes .../awt/image/PixelInterleavedSampleModel.class | Bin 0 -> 1024 bytes .../lib/java/awt/image/RGBImageFilter.class | Bin 0 -> 3344 bytes libjava/classpath/lib/java/awt/image/Raster.class | Bin 0 -> 11880 bytes .../lib/java/awt/image/RasterFormatException.class | Bin 0 -> 456 bytes .../classpath/lib/java/awt/image/RasterOp.class | Bin 0 -> 545 bytes .../lib/java/awt/image/RenderedImage.class | Bin 0 -> 981 bytes .../lib/java/awt/image/ReplicateScaleFilter.class | Bin 0 -> 3101 bytes .../classpath/lib/java/awt/image/RescaleOp.class | Bin 0 -> 5920 bytes .../classpath/lib/java/awt/image/SampleModel.class | Bin 0 -> 9352 bytes .../lib/java/awt/image/ShortLookupTable.class | Bin 0 -> 1417 bytes .../awt/image/SinglePixelPackedSampleModel.class | Bin 0 -> 7808 bytes .../lib/java/awt/image/TileObserver.class | Bin 0 -> 188 bytes .../lib/java/awt/image/VolatileImage.class | Bin 0 -> 1206 bytes .../lib/java/awt/image/WritableRaster.class | Bin 0 -> 7103 bytes .../lib/java/awt/image/WritableRenderedImage.class | Bin 0 -> 532 bytes .../ContextualRenderedImageFactory.class | Bin 0 -> 834 bytes .../java/awt/image/renderable/ParameterBlock.class | Bin 0 -> 7441 bytes .../java/awt/image/renderable/RenderContext.class | Bin 0 -> 2746 bytes .../awt/image/renderable/RenderableImage.class | Bin 0 -> 827 bytes .../awt/image/renderable/RenderableImageOp.class | Bin 0 -> 4519 bytes .../image/renderable/RenderableImageProducer.class | Bin 0 -> 4012 bytes .../image/renderable/RenderedImageFactory.class | Bin 0 -> 266 bytes .../classpath/lib/java/awt/peer/ButtonPeer.class | Bin 0 -> 193 bytes .../classpath/lib/java/awt/peer/CanvasPeer.class | Bin 0 -> 150 bytes .../lib/java/awt/peer/CheckboxMenuItemPeer.class | Bin 0 -> 195 bytes .../classpath/lib/java/awt/peer/CheckboxPeer.class | Bin 0 -> 280 bytes .../classpath/lib/java/awt/peer/ChoicePeer.class | Bin 0 -> 274 bytes .../lib/java/awt/peer/ComponentPeer.class | Bin 0 -> 2110 bytes .../lib/java/awt/peer/ContainerPeer.class | Bin 0 -> 426 bytes .../classpath/lib/java/awt/peer/DialogPeer.class | Bin 0 -> 220 bytes .../lib/java/awt/peer/FileDialogPeer.class | Bin 0 -> 278 bytes libjava/classpath/lib/java/awt/peer/FontPeer.class | Bin 0 -> 111 bytes .../classpath/lib/java/awt/peer/FramePeer.class | Bin 0 -> 486 bytes .../classpath/lib/java/awt/peer/LabelPeer.class | Bin 0 -> 220 bytes .../lib/java/awt/peer/LightweightPeer.class | Bin 0 -> 160 bytes libjava/classpath/lib/java/awt/peer/ListPeer.class | Bin 0 -> 562 bytes .../classpath/lib/java/awt/peer/MenuBarPeer.class | Bin 0 -> 242 bytes .../lib/java/awt/peer/MenuComponentPeer.class | Bin 0 -> 192 bytes .../classpath/lib/java/awt/peer/MenuItemPeer.class | Bin 0 -> 270 bytes libjava/classpath/lib/java/awt/peer/MenuPeer.class | Bin 0 -> 242 bytes .../lib/java/awt/peer/MouseInfoPeer.class | Bin 0 -> 225 bytes .../classpath/lib/java/awt/peer/PanelPeer.class | Bin 0 -> 148 bytes .../lib/java/awt/peer/PopupMenuPeer.class | Bin 0 -> 224 bytes .../classpath/lib/java/awt/peer/RobotPeer.class | Bin 0 -> 333 bytes .../lib/java/awt/peer/ScrollPanePeer.class | Bin 0 -> 356 bytes .../lib/java/awt/peer/ScrollbarPeer.class | Bin 0 -> 247 bytes .../classpath/lib/java/awt/peer/TextAreaPeer.class | Bin 0 -> 417 bytes .../lib/java/awt/peer/TextComponentPeer.class | Bin 0 -> 612 bytes .../lib/java/awt/peer/TextFieldPeer.class | Bin 0 -> 340 bytes .../classpath/lib/java/awt/peer/WindowPeer.class | Bin 0 -> 254 bytes libjava/classpath/lib/java/awt/print/Book.class | Bin 0 -> 1689 bytes .../lib/java/awt/print/NoPrinterJob.class | Bin 0 -> 1976 bytes .../classpath/lib/java/awt/print/PageFormat.class | Bin 0 -> 2188 bytes .../classpath/lib/java/awt/print/Pageable.class | Bin 0 -> 398 bytes libjava/classpath/lib/java/awt/print/Paper.class | Bin 0 -> 1511 bytes .../classpath/lib/java/awt/print/Printable.class | Bin 0 -> 334 bytes .../lib/java/awt/print/PrinterAbortException.class | Bin 0 -> 542 bytes .../lib/java/awt/print/PrinterException.class | Bin 0 -> 515 bytes .../lib/java/awt/print/PrinterGraphics.class | Bin 0 -> 182 bytes .../lib/java/awt/print/PrinterIOException.class | Bin 0 -> 873 bytes .../classpath/lib/java/awt/print/PrinterJob.class | Bin 0 -> 2499 bytes .../lib/java/beans/AppletInitializer.class | Bin 0 -> 254 bytes .../classpath/lib/java/beans/BeanDescriptor.class | Bin 0 -> 1332 bytes libjava/classpath/lib/java/beans/BeanInfo.class | Bin 0 -> 722 bytes libjava/classpath/lib/java/beans/Beans.class | Bin 0 -> 4626 bytes libjava/classpath/lib/java/beans/Customizer.class | Bin 0 -> 272 bytes .../java/beans/DefaultPersistenceDelegate.class | Bin 0 -> 3915 bytes libjava/classpath/lib/java/beans/DesignMode.class | Bin 0 -> 256 bytes libjava/classpath/lib/java/beans/Encoder$1.class | Bin 0 -> 623 bytes libjava/classpath/lib/java/beans/Encoder.class | Bin 0 -> 5974 bytes .../classpath/lib/java/beans/EventHandler.class | Bin 0 -> 6940 bytes .../lib/java/beans/EventSetDescriptor.class | Bin 0 -> 10501 bytes .../lib/java/beans/ExceptionListener.class | Bin 0 -> 179 bytes .../classpath/lib/java/beans/ExplicitInfo.class | Bin 0 -> 4484 bytes libjava/classpath/lib/java/beans/Expression.class | Bin 0 -> 1633 bytes .../lib/java/beans/FeatureDescriptor.class | Bin 0 -> 2393 bytes .../java/beans/IndexedPropertyChangeEvent.class | Bin 0 -> 811 bytes .../lib/java/beans/IndexedPropertyDescriptor.class | Bin 0 -> 5909 bytes .../lib/java/beans/IntrospectionException.class | Bin 0 -> 440 bytes .../classpath/lib/java/beans/Introspector.class | Bin 0 -> 7027 bytes .../lib/java/beans/MethodDescriptor.class | Bin 0 -> 1028 bytes .../lib/java/beans/ParameterDescriptor.class | Bin 0 -> 316 bytes .../lib/java/beans/PersistenceDelegate.class | Bin 0 -> 1665 bytes .../lib/java/beans/PropertyChangeEvent.class | Bin 0 -> 1375 bytes .../lib/java/beans/PropertyChangeListener.class | Bin 0 -> 230 bytes .../java/beans/PropertyChangeListenerProxy.class | Bin 0 -> 1124 bytes .../lib/java/beans/PropertyChangeSupport.class | Bin 0 -> 7022 bytes .../lib/java/beans/PropertyDescriptor.class | Bin 0 -> 7963 bytes .../classpath/lib/java/beans/PropertyEditor.class | Bin 0 -> 727 bytes .../lib/java/beans/PropertyEditorManager.class | Bin 0 -> 3761 bytes .../lib/java/beans/PropertyEditorSupport.class | Bin 0 -> 2744 bytes .../lib/java/beans/PropertyVetoException.class | Bin 0 -> 708 bytes .../classpath/lib/java/beans/SimpleBeanInfo.class | Bin 0 -> 1664 bytes libjava/classpath/lib/java/beans/Statement.class | Bin 0 -> 6040 bytes .../lib/java/beans/VetoableChangeListener.class | Bin 0 -> 291 bytes .../java/beans/VetoableChangeListenerProxy.class | Bin 0 -> 1185 bytes .../lib/java/beans/VetoableChangeSupport.class | Bin 0 -> 6761 bytes libjava/classpath/lib/java/beans/Visibility.class | Bin 0 -> 207 bytes libjava/classpath/lib/java/beans/XMLDecoder.class | Bin 0 -> 2926 bytes libjava/classpath/lib/java/beans/XMLEncoder.class | Bin 0 -> 3443 bytes .../lib/java/beans/beancontext/BeanContext.class | Bin 0 -> 983 bytes .../java/beans/beancontext/BeanContextChild.class | Bin 0 -> 598 bytes .../BeanContextChildComponentProxy.class | Bin 0 -> 212 bytes .../beancontext/BeanContextChildSupport.class | Bin 0 -> 4168 bytes .../beancontext/BeanContextContainerProxy.class | Bin 0 -> 202 bytes .../java/beans/beancontext/BeanContextEvent.class | Bin 0 -> 1031 bytes .../beancontext/BeanContextMembershipEvent.class | Bin 0 -> 1426 bytes .../BeanContextMembershipListener.class | Bin 0 -> 300 bytes .../java/beans/beancontext/BeanContextProxy.class | Bin 0 -> 212 bytes .../BeanContextServiceAvailableEvent.class | Bin 0 -> 1228 bytes .../beancontext/BeanContextServiceProvider.class | Bin 0 -> 531 bytes .../BeanContextServiceProviderBeanInfo.class | Bin 0 -> 256 bytes .../BeanContextServiceRevokedEvent.class | Bin 0 -> 1387 bytes .../BeanContextServiceRevokedListener.class | Bin 0 -> 287 bytes .../beans/beancontext/BeanContextServices.class | Bin 0 -> 1130 bytes .../beancontext/BeanContextServicesListener.class | Bin 0 -> 312 bytes .../BeanContextServicesSupport$BCSSChild.class | Bin 0 -> 892 bytes ...tServicesSupport$BCSSProxyServiceProvider.class | Bin 0 -> 2093 bytes ...ontextServicesSupport$BCSSServiceProvider.class | Bin 0 -> 1471 bytes .../BeanContextServicesSupport$Request.class | Bin 0 -> 837 bytes .../BeanContextServicesSupport$ServiceLease.class | Bin 0 -> 996 bytes ...BeanContextServicesSupport$ServiceRequest.class | Bin 0 -> 1145 bytes .../beancontext/BeanContextServicesSupport.class | Bin 0 -> 12765 bytes .../beancontext/BeanContextSupport$BCSChild.class | Bin 0 -> 1055 bytes .../BeanContextSupport$BCSIterator.class | Bin 0 -> 829 bytes .../beans/beancontext/BeanContextSupport.class | Bin 0 -> 15564 bytes .../lib/java/io/BufferedInputStream.class | Bin 0 -> 2997 bytes .../lib/java/io/BufferedOutputStream.class | Bin 0 -> 1318 bytes libjava/classpath/lib/java/io/BufferedReader.class | Bin 0 -> 5190 bytes libjava/classpath/lib/java/io/BufferedWriter.class | Bin 0 -> 2423 bytes .../lib/java/io/ByteArrayInputStream.class | Bin 0 -> 1661 bytes .../lib/java/io/ByteArrayOutputStream.class | Bin 0 -> 2496 bytes .../classpath/lib/java/io/CharArrayReader.class | Bin 0 -> 2503 bytes .../classpath/lib/java/io/CharArrayWriter.class | Bin 0 -> 3702 bytes .../lib/java/io/CharConversionException.class | Bin 0 -> 522 bytes libjava/classpath/lib/java/io/Closeable.class | Bin 0 -> 177 bytes libjava/classpath/lib/java/io/DataInput.class | Bin 0 -> 781 bytes .../classpath/lib/java/io/DataInputStream.class | Bin 0 -> 5170 bytes libjava/classpath/lib/java/io/DataOutput.class | Bin 0 -> 623 bytes .../classpath/lib/java/io/DataOutputStream.class | Bin 0 -> 3626 bytes .../classpath/lib/java/io/DeleteFileHelper$1.class | Bin 0 -> 739 bytes .../classpath/lib/java/io/DeleteFileHelper.class | Bin 0 -> 1228 bytes libjava/classpath/lib/java/io/EOFException.class | Bin 0 -> 489 bytes libjava/classpath/lib/java/io/Externalizable.class | Bin 0 -> 345 bytes libjava/classpath/lib/java/io/File.class | Bin 0 -> 13330 bytes libjava/classpath/lib/java/io/FileDescriptor.class | Bin 0 -> 1346 bytes libjava/classpath/lib/java/io/FileFilter.class | Bin 0 -> 146 bytes .../classpath/lib/java/io/FileInputStream.class | Bin 0 -> 3029 bytes .../lib/java/io/FileNotFoundException.class | Bin 0 -> 516 bytes .../classpath/lib/java/io/FileOutputStream.class | Bin 0 -> 2903 bytes libjava/classpath/lib/java/io/FilePermission.class | Bin 0 -> 3406 bytes libjava/classpath/lib/java/io/FileReader.class | Bin 0 -> 774 bytes libjava/classpath/lib/java/io/FileWriter.class | Bin 0 -> 1099 bytes libjava/classpath/lib/java/io/FilenameFilter.class | Bin 0 -> 172 bytes .../classpath/lib/java/io/FilterInputStream.class | Bin 0 -> 1405 bytes .../classpath/lib/java/io/FilterOutputStream.class | Bin 0 -> 1060 bytes libjava/classpath/lib/java/io/FilterReader.class | Bin 0 -> 1350 bytes libjava/classpath/lib/java/io/FilterWriter.class | Bin 0 -> 1112 bytes libjava/classpath/lib/java/io/Flushable.class | Bin 0 -> 177 bytes libjava/classpath/lib/java/io/IOException.class | Bin 0 -> 486 bytes libjava/classpath/lib/java/io/InputStream.class | Bin 0 -> 1659 bytes .../classpath/lib/java/io/InputStreamReader.class | Bin 0 -> 3729 bytes .../lib/java/io/InterruptedIOException.class | Bin 0 -> 680 bytes .../lib/java/io/InvalidClassException.class | Bin 0 -> 1027 bytes .../lib/java/io/InvalidObjectException.class | Bin 0 -> 448 bytes .../lib/java/io/LineNumberInputStream.class | Bin 0 -> 1926 bytes .../classpath/lib/java/io/LineNumberReader.class | Bin 0 -> 3594 bytes .../classpath/lib/java/io/NotActiveException.class | Bin 0 -> 517 bytes .../lib/java/io/NotSerializableException.class | Bin 0 -> 535 bytes libjava/classpath/lib/java/io/ObjectInput.class | Bin 0 -> 447 bytes .../lib/java/io/ObjectInputStream$1.class | Bin 0 -> 1152 bytes .../lib/java/io/ObjectInputStream$2.class | Bin 0 -> 6148 bytes .../lib/java/io/ObjectInputStream$GetField.class | Bin 0 -> 1025 bytes .../ObjectInputStream$ValidatorAndPriority.class | Bin 0 -> 786 bytes .../classpath/lib/java/io/ObjectInputStream.class | Bin 0 -> 29187 bytes .../lib/java/io/ObjectInputValidation.class | Bin 0 -> 221 bytes libjava/classpath/lib/java/io/ObjectOutput.class | Bin 0 -> 378 bytes .../lib/java/io/ObjectOutputStream$1.class | Bin 0 -> 4699 bytes .../lib/java/io/ObjectOutputStream$PutField.class | Bin 0 -> 818 bytes .../classpath/lib/java/io/ObjectOutputStream.class | Bin 0 -> 17829 bytes .../lib/java/io/ObjectStreamClass$1.class | Bin 0 -> 946 bytes .../lib/java/io/ObjectStreamClass$2.class | Bin 0 -> 834 bytes .../io/ObjectStreamClass$InterfaceComparator.class | Bin 0 -> 862 bytes .../io/ObjectStreamClass$MemberComparator.class | Bin 0 -> 1121 bytes .../classpath/lib/java/io/ObjectStreamClass.class | Bin 0 -> 17794 bytes .../lib/java/io/ObjectStreamConstants.class | Bin 0 -> 1529 bytes .../lib/java/io/ObjectStreamException.class | Bin 0 -> 516 bytes .../lib/java/io/ObjectStreamField$1.class | Bin 0 -> 810 bytes .../classpath/lib/java/io/ObjectStreamField.class | Bin 0 -> 6794 bytes .../lib/java/io/OptionalDataException.class | Bin 0 -> 498 bytes libjava/classpath/lib/java/io/OutputStream.class | Bin 0 -> 1018 bytes .../classpath/lib/java/io/OutputStreamWriter.class | Bin 0 -> 3952 bytes .../classpath/lib/java/io/PipedInputStream.class | Bin 0 -> 2836 bytes .../classpath/lib/java/io/PipedOutputStream.class | Bin 0 -> 1518 bytes libjava/classpath/lib/java/io/PipedReader.class | Bin 0 -> 2980 bytes libjava/classpath/lib/java/io/PipedWriter.class | Bin 0 -> 1514 bytes libjava/classpath/lib/java/io/PrintStream.class | Bin 0 -> 7581 bytes libjava/classpath/lib/java/io/PrintWriter.class | Bin 0 -> 7841 bytes .../lib/java/io/PushbackInputStream.class | Bin 0 -> 2552 bytes libjava/classpath/lib/java/io/PushbackReader.class | Bin 0 -> 3232 bytes .../classpath/lib/java/io/RandomAccessFile.class | Bin 0 -> 7493 bytes libjava/classpath/lib/java/io/Reader.class | Bin 0 -> 1933 bytes .../lib/java/io/SequenceInputStream.class | Bin 0 -> 1812 bytes libjava/classpath/lib/java/io/Serializable.class | Bin 0 -> 113 bytes .../lib/java/io/SerializablePermission.class | Bin 0 -> 1169 bytes .../lib/java/io/StreamCorruptedException.class | Bin 0 -> 535 bytes .../classpath/lib/java/io/StreamTokenizer.class | Bin 0 -> 6870 bytes .../lib/java/io/StringBufferInputStream.class | Bin 0 -> 1413 bytes libjava/classpath/lib/java/io/StringReader.class | Bin 0 -> 2210 bytes libjava/classpath/lib/java/io/StringWriter.class | Bin 0 -> 2955 bytes .../lib/java/io/SyncFailedException.class | Bin 0 -> 429 bytes .../lib/java/io/UTFDataFormatException.class | Bin 0 -> 519 bytes .../lib/java/io/UnsupportedEncodingException.class | Bin 0 -> 537 bytes .../lib/java/io/VMObjectInputStream.class | Bin 0 -> 472 bytes .../lib/java/io/VMObjectStreamClass.class | Bin 0 -> 1042 bytes .../lib/java/io/WriteAbortedException.class | Bin 0 -> 1176 bytes libjava/classpath/lib/java/io/Writer.class | Bin 0 -> 2355 bytes .../lib/java/lang/AbstractMethodError.class | Bin 0 -> 527 bytes libjava/classpath/lib/java/lang/Appendable.class | Bin 0 -> 344 bytes .../lib/java/lang/ArithmeticException.class | Bin 0 -> 515 bytes .../java/lang/ArrayIndexOutOfBoundsException.class | Bin 0 -> 827 bytes .../lib/java/lang/ArrayStoreException.class | Bin 0 -> 515 bytes .../classpath/lib/java/lang/AssertionError.class | Bin 0 -> 1646 bytes libjava/classpath/lib/java/lang/Boolean.class | Bin 0 -> 2395 bytes libjava/classpath/lib/java/lang/Byte.class | Bin 0 -> 3077 bytes libjava/classpath/lib/java/lang/CharSequence.class | Bin 0 -> 257 bytes .../classpath/lib/java/lang/Character$Subset.class | Bin 0 -> 795 bytes .../lib/java/lang/Character$UnicodeBlock.class | Bin 0 -> 17734 bytes libjava/classpath/lib/java/lang/Character.class | Bin 0 -> 11431 bytes libjava/classpath/lib/java/lang/Class.class | Bin 0 -> 14910 bytes .../lib/java/lang/ClassCastException.class | Bin 0 -> 512 bytes .../lib/java/lang/ClassCircularityError.class | Bin 0 -> 517 bytes .../classpath/lib/java/lang/ClassFormatError.class | Bin 0 -> 502 bytes .../lib/java/lang/ClassLoader$AnnotationsKey.class | Bin 0 -> 1160 bytes libjava/classpath/lib/java/lang/ClassLoader.class | Bin 0 -> 11539 bytes .../lib/java/lang/ClassNotFoundException.class | Bin 0 -> 894 bytes .../lib/java/lang/CloneNotSupportedException.class | Bin 0 -> 529 bytes libjava/classpath/lib/java/lang/Cloneable.class | Bin 0 -> 109 bytes libjava/classpath/lib/java/lang/Comparable.class | Bin 0 -> 235 bytes libjava/classpath/lib/java/lang/Compiler.class | Bin 0 -> 993 bytes libjava/classpath/lib/java/lang/Deprecated.class | Bin 0 -> 331 bytes libjava/classpath/lib/java/lang/Double.class | Bin 0 -> 4562 bytes libjava/classpath/lib/java/lang/EcosProcess.class | Bin 0 -> 1047 bytes libjava/classpath/lib/java/lang/Enum.class | Bin 0 -> 2931 bytes .../lang/EnumConstantNotPresentException.class | Bin 0 -> 1266 bytes libjava/classpath/lib/java/lang/Error.class | Bin 0 -> 753 bytes libjava/classpath/lib/java/lang/Exception.class | Bin 0 -> 765 bytes .../java/lang/ExceptionInInitializerError.class | Bin 0 -> 963 bytes libjava/classpath/lib/java/lang/Float.class | Bin 0 -> 4642 bytes .../lib/java/lang/IllegalAccessError.class | Bin 0 -> 524 bytes .../lib/java/lang/IllegalAccessException.class | Bin 0 -> 517 bytes .../lib/java/lang/IllegalArgumentException.class | Bin 0 -> 827 bytes .../java/lang/IllegalMonitorStateException.class | Bin 0 -> 542 bytes .../lib/java/lang/IllegalStateException.class | Bin 0 -> 818 bytes .../java/lang/IllegalThreadStateException.class | Bin 0 -> 547 bytes .../java/lang/IncompatibleClassChangeError.class | Bin 0 -> 538 bytes .../lib/java/lang/IndexOutOfBoundsException.class | Bin 0 -> 533 bytes .../lib/java/lang/InheritableThreadLocal.class | Bin 0 -> 1623 bytes .../lib/java/lang/InstantiationError.class | Bin 0 -> 524 bytes .../lib/java/lang/InstantiationException.class | Bin 0 -> 517 bytes libjava/classpath/lib/java/lang/Integer.class | Bin 0 -> 6722 bytes .../classpath/lib/java/lang/InternalError.class | Bin 0 -> 500 bytes .../lib/java/lang/InterruptedException.class | Bin 0 -> 511 bytes libjava/classpath/lib/java/lang/Iterable.class | Bin 0 -> 252 bytes libjava/classpath/lib/java/lang/LinkageError.class | Bin 0 -> 483 bytes libjava/classpath/lib/java/lang/Long.class | Bin 0 -> 6360 bytes libjava/classpath/lib/java/lang/Math.class | Bin 0 -> 3628 bytes .../lib/java/lang/NegativeArraySizeException.class | Bin 0 -> 536 bytes .../lib/java/lang/NoClassDefFoundError.class | Bin 0 -> 514 bytes .../classpath/lib/java/lang/NoSuchFieldError.class | Bin 0 -> 518 bytes .../lib/java/lang/NoSuchFieldException.class | Bin 0 -> 511 bytes .../lib/java/lang/NoSuchMethodError.class | Bin 0 -> 521 bytes .../lib/java/lang/NoSuchMethodException.class | Bin 0 -> 514 bytes .../lib/java/lang/NullPointerException.class | Bin 0 -> 518 bytes libjava/classpath/lib/java/lang/Number.class | Bin 0 -> 967 bytes .../lib/java/lang/NumberFormatException.class | Bin 0 -> 529 bytes libjava/classpath/lib/java/lang/Object.class | Bin 0 -> 1670 bytes .../classpath/lib/java/lang/OutOfMemoryError.class | Bin 0 -> 509 bytes libjava/classpath/lib/java/lang/Override.class | Bin 0 -> 378 bytes libjava/classpath/lib/java/lang/Package.class | Bin 0 -> 5278 bytes .../java/lang/PosixProcess$EOFInputStream.class | Bin 0 -> 567 bytes .../java/lang/PosixProcess$ProcessManager.class | Bin 0 -> 2643 bytes libjava/classpath/lib/java/lang/PosixProcess.class | Bin 0 -> 4143 bytes libjava/classpath/lib/java/lang/Process.class | Bin 0 -> 520 bytes .../classpath/lib/java/lang/ProcessBuilder.class | Bin 0 -> 2592 bytes libjava/classpath/lib/java/lang/Readable.class | Bin 0 -> 197 bytes libjava/classpath/lib/java/lang/Runnable.class | Bin 0 -> 127 bytes libjava/classpath/lib/java/lang/Runtime.class | Bin 0 -> 6772 bytes .../classpath/lib/java/lang/RuntimeException.class | Bin 0 -> 786 bytes .../lib/java/lang/RuntimePermission.class | Bin 0 -> 582 bytes .../lib/java/lang/SecurityException.class | Bin 0 -> 806 bytes .../lib/java/lang/SecurityManager$1.class | Bin 0 -> 871 bytes .../classpath/lib/java/lang/SecurityManager.class | Bin 0 -> 9195 bytes libjava/classpath/lib/java/lang/Short.class | Bin 0 -> 3282 bytes .../lib/java/lang/StackOverflowError.class | Bin 0 -> 515 bytes .../lib/java/lang/StackTraceElement.class | Bin 0 -> 2637 bytes libjava/classpath/lib/java/lang/StrictMath.class | Bin 0 -> 24574 bytes .../lang/String$CaseInsensitiveComparator.class | Bin 0 -> 743 bytes libjava/classpath/lib/java/lang/String.class | Bin 0 -> 9041 bytes libjava/classpath/lib/java/lang/StringBuffer.class | Bin 0 -> 10367 bytes .../classpath/lib/java/lang/StringBuilder.class | Bin 0 -> 9663 bytes .../lang/StringIndexOutOfBoundsException.class | Bin 0 -> 831 bytes .../classpath/lib/java/lang/SuppressWarnings.class | Bin 0 -> 509 bytes .../java/lang/System$EnvironmentCollection.class | Bin 0 -> 2428 bytes .../lib/java/lang/System$EnvironmentMap.class | Bin 0 -> 2592 bytes .../lib/java/lang/System$EnvironmentSet.class | Bin 0 -> 1021 bytes libjava/classpath/lib/java/lang/System.class | Bin 0 -> 5896 bytes libjava/classpath/lib/java/lang/Thread$State.class | Bin 0 -> 1242 bytes .../lang/Thread$UncaughtExceptionHandler.class | Bin 0 -> 281 bytes libjava/classpath/lib/java/lang/Thread.class | Bin 0 -> 9327 bytes libjava/classpath/lib/java/lang/ThreadDeath.class | Bin 0 -> 345 bytes libjava/classpath/lib/java/lang/ThreadGroup.class | Bin 0 -> 8558 bytes libjava/classpath/lib/java/lang/ThreadLocal.class | Bin 0 -> 1704 bytes .../lib/java/lang/Throwable$StaticData.class | Bin 0 -> 598 bytes libjava/classpath/lib/java/lang/Throwable.class | Bin 0 -> 4594 bytes .../lib/java/lang/TypeNotPresentException.class | Bin 0 -> 828 bytes libjava/classpath/lib/java/lang/UnknownError.class | Bin 0 -> 497 bytes .../lib/java/lang/UnsatisfiedLinkError.class | Bin 0 -> 514 bytes .../java/lang/UnsupportedClassVersionError.class | Bin 0 -> 542 bytes .../java/lang/UnsupportedOperationException.class | Bin 0 -> 842 bytes .../classpath/lib/java/lang/VMClassLoader.class | Bin 0 -> 5495 bytes libjava/classpath/lib/java/lang/VMCompiler.class | Bin 0 -> 6666 bytes libjava/classpath/lib/java/lang/VMDouble.class | Bin 0 -> 457 bytes libjava/classpath/lib/java/lang/VMFloat.class | Bin 0 -> 358 bytes libjava/classpath/lib/java/lang/VMThrowable.class | Bin 0 -> 476 bytes libjava/classpath/lib/java/lang/VerifyError.class | Bin 0 -> 487 bytes .../lib/java/lang/VirtualMachineError.class | Bin 0 -> 504 bytes libjava/classpath/lib/java/lang/Void.class | Bin 0 -> 516 bytes libjava/classpath/lib/java/lang/Win32Process.class | Bin 0 -> 1711 bytes .../lib/java/lang/annotation/Annotation.class | Bin 0 -> 355 bytes .../lang/annotation/AnnotationFormatError.class | Bin 0 -> 744 bytes .../AnnotationTypeMismatchException.class | Bin 0 -> 821 bytes .../lib/java/lang/annotation/Documented.class | Bin 0 -> 342 bytes .../lib/java/lang/annotation/ElementType.class | Bin 0 -> 1451 bytes .../annotation/IncompleteAnnotationException.class | Bin 0 -> 1006 bytes .../lib/java/lang/annotation/Inherited.class | Bin 0 -> 441 bytes .../lib/java/lang/annotation/Retention.class | Bin 0 -> 492 bytes .../lib/java/lang/annotation/RetentionPolicy.class | Bin 0 -> 1186 bytes .../lib/java/lang/annotation/Target.class | Bin 0 -> 483 bytes .../lib/java/lang/instrument/ClassDefinition.class | Bin 0 -> 875 bytes .../lang/instrument/ClassFileTransformer.class | Bin 0 -> 460 bytes .../instrument/IllegalClassFormatException.class | Bin 0 -> 554 bytes .../lib/java/lang/instrument/Instrumentation.class | Bin 0 -> 690 bytes .../instrument/UnmodifiableClassException.class | Bin 0 -> 551 bytes .../java/lang/management/ClassLoadingMXBean.class | Bin 0 -> 301 bytes .../java/lang/management/CompilationMXBean.class | Bin 0 -> 270 bytes .../lang/management/GarbageCollectorMXBean.class | Bin 0 -> 257 bytes .../java/lang/management/ManagementFactory.class | Bin 0 -> 8693 bytes .../lang/management/ManagementPermission.class | Bin 0 -> 864 bytes .../lib/java/lang/management/MemoryMXBean.class | Bin 0 -> 349 bytes .../java/lang/management/MemoryManagerMXBean.class | Bin 0 -> 258 bytes .../lang/management/MemoryNotificationInfo.class | Bin 0 -> 2259 bytes .../java/lang/management/MemoryPoolMXBean.class | Bin 0 -> 835 bytes .../lib/java/lang/management/MemoryType.class | Bin 0 -> 1030 bytes .../lib/java/lang/management/MemoryUsage.class | Bin 0 -> 3061 bytes .../lang/management/OperatingSystemMXBean.class | Bin 0 -> 263 bytes .../lib/java/lang/management/RuntimeMXBean.class | Bin 0 -> 731 bytes .../lib/java/lang/management/ThreadInfo.class | Bin 0 -> 7798 bytes .../lib/java/lang/management/ThreadMXBean.class | Bin 0 -> 1008 bytes .../java/lang/management/VMManagementFactory.class | Bin 0 -> 444 bytes .../lib/java/lang/ref/PhantomReference.class | Bin 0 -> 848 bytes .../classpath/lib/java/lang/ref/Reference.class | Bin 0 -> 1726 bytes .../lib/java/lang/ref/ReferenceQueue.class | Bin 0 -> 1842 bytes .../lib/java/lang/ref/SoftReference.class | Bin 0 -> 1004 bytes .../lib/java/lang/ref/WeakReference.class | Bin 0 -> 870 bytes .../lib/java/lang/reflect/AccessibleObject.class | Bin 0 -> 2646 bytes .../lib/java/lang/reflect/AnnotatedElement.class | Bin 0 -> 515 bytes .../classpath/lib/java/lang/reflect/Array.class | Bin 0 -> 2431 bytes .../lib/java/lang/reflect/Constructor.class | Bin 0 -> 6252 bytes .../classpath/lib/java/lang/reflect/Field.class | Bin 0 -> 8309 bytes .../lib/java/lang/reflect/GenericArrayType.class | Bin 0 -> 224 bytes .../lib/java/lang/reflect/GenericDeclaration.class | Bin 0 -> 262 bytes .../lang/reflect/GenericSignatureFormatError.class | Bin 0 -> 420 bytes .../lib/java/lang/reflect/InvocationHandler.class | Bin 0 -> 284 bytes .../lang/reflect/InvocationTargetException.class | Bin 0 -> 985 bytes .../MalformedParameterizedTypeException.class | Bin 0 -> 444 bytes .../classpath/lib/java/lang/reflect/Member.class | Bin 0 -> 341 bytes .../classpath/lib/java/lang/reflect/Method.class | Bin 0 -> 6176 bytes .../classpath/lib/java/lang/reflect/Modifier.class | Bin 0 -> 3197 bytes .../lib/java/lang/reflect/ParameterizedType.class | Bin 0 -> 299 bytes .../lib/java/lang/reflect/Proxy$ClassFactory.class | Bin 0 -> 11555 bytes .../lib/java/lang/reflect/Proxy$ProxyData.class | Bin 0 -> 4102 bytes .../java/lang/reflect/Proxy$ProxySignature.class | Bin 0 -> 3655 bytes .../lib/java/lang/reflect/Proxy$ProxyType.class | Bin 0 -> 997 bytes .../classpath/lib/java/lang/reflect/Proxy.class | Bin 0 -> 4465 bytes .../lib/java/lang/reflect/ReflectPermission.class | Bin 0 -> 599 bytes libjava/classpath/lib/java/lang/reflect/Type.class | Bin 0 -> 107 bytes .../lib/java/lang/reflect/TypeVariable.class | Bin 0 -> 443 bytes .../reflect/UndeclaredThrowableException.class | Bin 0 -> 939 bytes .../classpath/lib/java/lang/reflect/VMProxy.class | Bin 0 -> 1005 bytes .../lib/java/lang/reflect/WildcardType.class | Bin 0 -> 233 bytes libjava/classpath/lib/java/math/BigDecimal.class | Bin 0 -> 18062 bytes libjava/classpath/lib/java/math/BigInteger.class | Bin 0 -> 30692 bytes libjava/classpath/lib/java/math/MathContext.class | Bin 0 -> 2676 bytes libjava/classpath/lib/java/math/RoundingMode.class | Bin 0 -> 1970 bytes libjava/classpath/lib/java/net/Authenticator.class | Bin 0 -> 2399 bytes libjava/classpath/lib/java/net/BindException.class | Bin 0 -> 499 bytes .../classpath/lib/java/net/ConnectException.class | Bin 0 -> 508 bytes .../classpath/lib/java/net/ContentHandler.class | Bin 0 -> 811 bytes .../lib/java/net/ContentHandlerFactory.class | Bin 0 -> 211 bytes .../classpath/lib/java/net/DatagramPacket.class | Bin 0 -> 3557 bytes .../classpath/lib/java/net/DatagramSocket.class | Bin 0 -> 9962 bytes .../lib/java/net/DatagramSocketImpl.class | Bin 0 -> 1571 bytes .../lib/java/net/DatagramSocketImplFactory.class | Bin 0 -> 209 bytes libjava/classpath/lib/java/net/FileNameMap.class | Bin 0 -> 181 bytes .../classpath/lib/java/net/HttpURLConnection.class | Bin 0 -> 5717 bytes libjava/classpath/lib/java/net/Inet4Address.class | Bin 0 -> 2735 bytes libjava/classpath/lib/java/net/Inet6Address.class | Bin 0 -> 5032 bytes libjava/classpath/lib/java/net/InetAddress.class | Bin 0 -> 6300 bytes .../classpath/lib/java/net/InetSocketAddress.class | Bin 0 -> 2684 bytes .../classpath/lib/java/net/JarURLConnection.class | Bin 0 -> 2636 bytes .../lib/java/net/MalformedURLException.class | Bin 0 -> 518 bytes .../classpath/lib/java/net/MimeTypeMapper.class | Bin 0 -> 11230 bytes .../classpath/lib/java/net/MulticastSocket.class | Bin 0 -> 6058 bytes libjava/classpath/lib/java/net/NetPermission.class | Bin 0 -> 556 bytes .../classpath/lib/java/net/NetworkInterface.class | Bin 0 -> 5118 bytes .../lib/java/net/NoRouteToHostException.class | Bin 0 -> 526 bytes .../lib/java/net/PasswordAuthentication.class | Bin 0 -> 641 bytes .../lib/java/net/PortUnreachableException.class | Bin 0 -> 532 bytes .../classpath/lib/java/net/ProtocolException.class | Bin 0 -> 506 bytes libjava/classpath/lib/java/net/Proxy$Type.class | Bin 0 -> 1121 bytes libjava/classpath/lib/java/net/Proxy.class | Bin 0 -> 1522 bytes libjava/classpath/lib/java/net/ProxySelector.class | Bin 0 -> 1266 bytes .../lib/java/net/ResolverCache$Entry.class | Bin 0 -> 732 bytes libjava/classpath/lib/java/net/ResolverCache.class | Bin 0 -> 3355 bytes libjava/classpath/lib/java/net/ServerSocket.class | Bin 0 -> 6796 bytes libjava/classpath/lib/java/net/Socket.class | Bin 0 -> 11073 bytes libjava/classpath/lib/java/net/SocketAddress.class | Bin 0 -> 378 bytes .../classpath/lib/java/net/SocketException.class | Bin 0 -> 500 bytes libjava/classpath/lib/java/net/SocketImpl.class | Bin 0 -> 2159 bytes .../classpath/lib/java/net/SocketImplFactory.class | Bin 0 -> 177 bytes libjava/classpath/lib/java/net/SocketOptions.class | Bin 0 -> 785 bytes .../classpath/lib/java/net/SocketPermission.class | Bin 0 -> 6565 bytes .../lib/java/net/SocketTimeoutException.class | Bin 0 -> 532 bytes libjava/classpath/lib/java/net/URI.class | Bin 0 -> 16370 bytes .../lib/java/net/URISyntaxException.class | Bin 0 -> 1462 bytes libjava/classpath/lib/java/net/URL$1.class | Bin 0 -> 629 bytes libjava/classpath/lib/java/net/URL.class | Bin 0 -> 10393 bytes .../classpath/lib/java/net/URLClassLoader$1.class | Bin 0 -> 1022 bytes .../classpath/lib/java/net/URLClassLoader$2.class | Bin 0 -> 908 bytes .../lib/java/net/URLClassLoader$CoreResource.class | Bin 0 -> 1826 bytes .../java/net/URLClassLoader$CoreURLLoader.class | Bin 0 -> 1344 bytes .../lib/java/net/URLClassLoader$FileResource.class | Bin 0 -> 1739 bytes .../java/net/URLClassLoader$FileURLLoader.class | Bin 0 -> 1278 bytes .../lib/java/net/URLClassLoader$JarURLLoader.class | Bin 0 -> 3418 bytes .../java/net/URLClassLoader$JarURLResource.class | Bin 0 -> 2202 bytes .../java/net/URLClassLoader$RemoteResource.class | Bin 0 -> 1152 bytes .../java/net/URLClassLoader$RemoteURLLoader.class | Bin 0 -> 1724 bytes .../lib/java/net/URLClassLoader$Resource.class | Bin 0 -> 1217 bytes .../lib/java/net/URLClassLoader$SoResource.class | Bin 0 -> 1097 bytes .../lib/java/net/URLClassLoader$SoURLLoader.class | Bin 0 -> 1625 bytes .../lib/java/net/URLClassLoader$URLLoader.class | Bin 0 -> 1354 bytes .../classpath/lib/java/net/URLClassLoader.class | Bin 0 -> 14234 bytes libjava/classpath/lib/java/net/URLConnection.class | Bin 0 -> 11321 bytes libjava/classpath/lib/java/net/URLDecoder.class | Bin 0 -> 1781 bytes libjava/classpath/lib/java/net/URLEncoder.class | Bin 0 -> 1842 bytes .../classpath/lib/java/net/URLStreamHandler.class | Bin 0 -> 6389 bytes .../lib/java/net/URLStreamHandlerFactory.class | Bin 0 -> 219 bytes .../lib/java/net/UnknownHostException.class | Bin 0 -> 515 bytes .../lib/java/net/UnknownServiceException.class | Bin 0 -> 524 bytes libjava/classpath/lib/java/net/VMInetAddress.class | Bin 0 -> 610 bytes .../lib/java/net/VMNetworkInterface.class | Bin 0 -> 397 bytes .../classpath/lib/java/net/VMURLConnection.class | Bin 0 -> 944 bytes libjava/classpath/lib/java/nio/Buffer.class | Bin 0 -> 2875 bytes .../lib/java/nio/BufferOverflowException.class | Bin 0 -> 390 bytes .../lib/java/nio/BufferUnderflowException.class | Bin 0 -> 393 bytes libjava/classpath/lib/java/nio/ByteBuffer.class | Bin 0 -> 5629 bytes .../classpath/lib/java/nio/ByteBufferHelper.class | Bin 0 -> 6390 bytes .../classpath/lib/java/nio/ByteBufferImpl.class | Bin 0 -> 7873 bytes libjava/classpath/lib/java/nio/ByteOrder.class | Bin 0 -> 838 bytes libjava/classpath/lib/java/nio/CharBuffer.class | Bin 0 -> 5915 bytes .../classpath/lib/java/nio/CharBufferImpl.class | Bin 0 -> 3360 bytes .../lib/java/nio/CharViewBufferImpl.class | Bin 0 -> 3286 bytes .../java/nio/DirectByteBufferImpl$ReadOnly.class | Bin 0 -> 938 bytes .../java/nio/DirectByteBufferImpl$ReadWrite.class | Bin 0 -> 862 bytes .../lib/java/nio/DirectByteBufferImpl.class | Bin 0 -> 8554 bytes libjava/classpath/lib/java/nio/DoubleBuffer.class | Bin 0 -> 3594 bytes .../classpath/lib/java/nio/DoubleBufferImpl.class | Bin 0 -> 2345 bytes .../lib/java/nio/DoubleViewBufferImpl.class | Bin 0 -> 2973 bytes libjava/classpath/lib/java/nio/FloatBuffer.class | Bin 0 -> 3548 bytes .../classpath/lib/java/nio/FloatBufferImpl.class | Bin 0 -> 2338 bytes .../lib/java/nio/FloatViewBufferImpl.class | Bin 0 -> 2961 bytes libjava/classpath/lib/java/nio/IntBuffer.class | Bin 0 -> 3421 bytes libjava/classpath/lib/java/nio/IntBufferImpl.class | Bin 0 -> 2314 bytes .../classpath/lib/java/nio/IntViewBufferImpl.class | Bin 0 -> 2931 bytes .../lib/java/nio/InvalidMarkException.class | Bin 0 -> 386 bytes libjava/classpath/lib/java/nio/LongBuffer.class | Bin 0 -> 3498 bytes .../classpath/lib/java/nio/LongBufferImpl.class | Bin 0 -> 2331 bytes .../lib/java/nio/LongViewBufferImpl.class | Bin 0 -> 2953 bytes .../classpath/lib/java/nio/MappedByteBuffer.class | Bin 0 -> 1069 bytes .../lib/java/nio/MappedByteBufferImpl.class | Bin 0 -> 8128 bytes .../lib/java/nio/ReadOnlyBufferException.class | Bin 0 -> 403 bytes libjava/classpath/lib/java/nio/ShortBuffer.class | Bin 0 -> 3485 bytes .../classpath/lib/java/nio/ShortBufferImpl.class | Bin 0 -> 2338 bytes .../lib/java/nio/ShortViewBufferImpl.class | Bin 0 -> 2961 bytes .../lib/java/nio/VMDirectByteBuffer.class | Bin 0 -> 600 bytes .../nio/channels/AlreadyConnectedException.class | Bin 0 -> 419 bytes .../nio/channels/AsynchronousCloseException.class | Bin 0 -> 431 bytes .../lib/java/nio/channels/ByteChannel.class | Bin 0 -> 211 bytes .../java/nio/channels/CancelledKeyException.class | Bin 0 -> 407 bytes .../classpath/lib/java/nio/channels/Channel.class | Bin 0 -> 231 bytes .../classpath/lib/java/nio/channels/Channels.class | Bin 0 -> 2520 bytes .../nio/channels/ClosedByInterruptException.class | Bin 0 -> 435 bytes .../java/nio/channels/ClosedChannelException.class | Bin 0 -> 398 bytes .../nio/channels/ClosedSelectorException.class | Bin 0 -> 413 bytes .../nio/channels/ConnectionPendingException.class | Bin 0 -> 422 bytes .../lib/java/nio/channels/DatagramChannel.class | Bin 0 -> 1817 bytes .../java/nio/channels/FileChannel$MapMode.class | Bin 0 -> 786 bytes .../lib/java/nio/channels/FileChannel.class | Bin 0 -> 1821 bytes .../classpath/lib/java/nio/channels/FileLock.class | Bin 0 -> 1781 bytes .../channels/FileLockInterruptionException.class | Bin 0 -> 419 bytes .../java/nio/channels/GatheringByteChannel.class | Bin 0 -> 324 bytes .../channels/IllegalBlockingModeException.class | Bin 0 -> 428 bytes .../nio/channels/IllegalSelectorException.class | Bin 0 -> 419 bytes .../java/nio/channels/InterruptibleChannel.class | Bin 0 -> 242 bytes .../channels/NoConnectionPendingException.class | Bin 0 -> 428 bytes .../nio/channels/NonReadableChannelException.class | Bin 0 -> 425 bytes .../nio/channels/NonWritableChannelException.class | Bin 0 -> 425 bytes .../java/nio/channels/NotYetBoundException.class | Bin 0 -> 404 bytes .../nio/channels/NotYetConnectedException.class | Bin 0 -> 416 bytes .../channels/OverlappingFileLockException.class | Bin 0 -> 428 bytes .../lib/java/nio/channels/Pipe$SinkChannel.class | Bin 0 -> 676 bytes .../lib/java/nio/channels/Pipe$SourceChannel.class | Bin 0 -> 683 bytes libjava/classpath/lib/java/nio/channels/Pipe.class | Bin 0 -> 812 bytes .../java/nio/channels/ReadableByteChannel.class | Bin 0 -> 260 bytes .../java/nio/channels/ScatteringByteChannel.class | Bin 0 -> 325 bytes .../lib/java/nio/channels/SelectableChannel.class | Bin 0 -> 1112 bytes .../lib/java/nio/channels/SelectionKey.class | Bin 0 -> 1347 bytes .../classpath/lib/java/nio/channels/Selector.class | Bin 0 -> 912 bytes .../java/nio/channels/ServerSocketChannel.class | Bin 0 -> 931 bytes .../lib/java/nio/channels/SocketChannel.class | Bin 0 -> 1857 bytes .../nio/channels/UnresolvedAddressException.class | Bin 0 -> 425 bytes .../channels/UnsupportedAddressTypeException.class | Bin 0 -> 440 bytes .../lib/java/nio/channels/VMChannels.class | Bin 0 -> 1129 bytes .../java/nio/channels/WritableByteChannel.class | Bin 0 -> 261 bytes .../spi/AbstractInterruptibleChannel.class | Bin 0 -> 980 bytes .../channels/spi/AbstractSelectableChannel.class | Bin 0 -> 3883 bytes .../nio/channels/spi/AbstractSelectionKey.class | Bin 0 -> 747 bytes .../java/nio/channels/spi/AbstractSelector.class | Bin 0 -> 2139 bytes .../java/nio/channels/spi/SelectorProvider.class | Bin 0 -> 2066 bytes .../nio/charset/CharacterCodingException.class | Bin 0 -> 402 bytes .../classpath/lib/java/nio/charset/Charset.class | Bin 0 -> 7400 bytes .../lib/java/nio/charset/CharsetDecoder.class | Bin 0 -> 5808 bytes .../lib/java/nio/charset/CharsetEncoder.class | Bin 0 -> 7022 bytes .../java/nio/charset/CoderMalfunctionError.class | Bin 0 -> 480 bytes .../lib/java/nio/charset/CoderResult$1.class | Bin 0 -> 561 bytes .../lib/java/nio/charset/CoderResult$2.class | Bin 0 -> 561 bytes .../lib/java/nio/charset/CoderResult$Cache.class | Bin 0 -> 1220 bytes .../lib/java/nio/charset/CoderResult.class | Bin 0 -> 2826 bytes .../lib/java/nio/charset/CodingErrorAction.class | Bin 0 -> 745 bytes .../nio/charset/IllegalCharsetNameException.class | Bin 0 -> 623 bytes .../java/nio/charset/MalformedInputException.class | Bin 0 -> 834 bytes .../nio/charset/UnmappableCharacterException.class | Bin 0 -> 849 bytes .../nio/charset/UnsupportedCharsetException.class | Bin 0 -> 623 bytes .../lib/java/nio/charset/spi/CharsetProvider.class | Bin 0 -> 821 bytes .../classpath/lib/java/rmi/AccessException.class | Bin 0 -> 633 bytes .../lib/java/rmi/AlreadyBoundException.class | Bin 0 -> 512 bytes .../classpath/lib/java/rmi/ConnectException.class | Bin 0 -> 636 bytes .../lib/java/rmi/ConnectIOException.class | Bin 0 -> 642 bytes .../classpath/lib/java/rmi/MarshalException.class | Bin 0 -> 636 bytes .../classpath/lib/java/rmi/MarshalledObject.class | Bin 0 -> 1855 bytes libjava/classpath/lib/java/rmi/Naming.class | Bin 0 -> 3141 bytes .../lib/java/rmi/NoSuchObjectException.class | Bin 0 -> 436 bytes .../classpath/lib/java/rmi/NotBoundException.class | Bin 0 -> 500 bytes .../lib/java/rmi/RMISecurityException.class | Bin 0 -> 599 bytes .../lib/java/rmi/RMISecurityManager.class | Bin 0 -> 310 bytes libjava/classpath/lib/java/rmi/Remote.class | Bin 0 -> 102 bytes .../classpath/lib/java/rmi/RemoteException.class | Bin 0 -> 1334 bytes libjava/classpath/lib/java/rmi/ServerError.class | Bin 0 -> 503 bytes .../classpath/lib/java/rmi/ServerException.class | Bin 0 -> 633 bytes .../lib/java/rmi/ServerRuntimeException.class | Bin 0 -> 569 bytes .../lib/java/rmi/StubNotFoundException.class | Bin 0 -> 651 bytes .../lib/java/rmi/UnexpectedException.class | Bin 0 -> 645 bytes .../lib/java/rmi/UnknownHostException.class | Bin 0 -> 648 bytes .../lib/java/rmi/UnmarshalException.class | Bin 0 -> 642 bytes .../lib/java/rmi/activation/Activatable.class | Bin 0 -> 8556 bytes .../rmi/activation/ActivateFailedException.class | Bin 0 -> 680 bytes .../lib/java/rmi/activation/ActivationDesc.class | Bin 0 -> 2753 bytes .../java/rmi/activation/ActivationException.class | Bin 0 -> 1291 bytes .../lib/java/rmi/activation/ActivationGroup.class | Bin 0 -> 5542 bytes .../ActivationGroupDesc$CommandEnvironment.class | Bin 0 -> 1613 bytes .../java/rmi/activation/ActivationGroupDesc.class | Bin 0 -> 3895 bytes .../java/rmi/activation/ActivationGroupID.class | Bin 0 -> 1152 bytes .../java/rmi/activation/ActivationGroup_Stub.class | Bin 0 -> 1895 bytes .../lib/java/rmi/activation/ActivationID.class | Bin 0 -> 2732 bytes .../rmi/activation/ActivationInstantiator.class | Bin 0 -> 392 bytes .../java/rmi/activation/ActivationMonitor.class | Bin 0 -> 557 bytes .../lib/java/rmi/activation/ActivationSystem.class | Bin 0 -> 1571 bytes .../lib/java/rmi/activation/Activator.class | Bin 0 -> 378 bytes .../rmi/activation/UnknownGroupException.class | Bin 0 -> 473 bytes .../rmi/activation/UnknownObjectException.class | Bin 0 -> 476 bytes libjava/classpath/lib/java/rmi/dgc/DGC.class | Bin 0 -> 339 bytes libjava/classpath/lib/java/rmi/dgc/Lease.class | Bin 0 -> 1065 bytes libjava/classpath/lib/java/rmi/dgc/VMID.class | Bin 0 -> 1907 bytes .../lib/java/rmi/registry/LocateRegistry.class | Bin 0 -> 2079 bytes .../classpath/lib/java/rmi/registry/Registry.class | Bin 0 -> 612 bytes .../lib/java/rmi/registry/RegistryHandler.class | Bin 0 -> 392 bytes .../lib/java/rmi/server/ExportException.class | Bin 0 -> 647 bytes .../lib/java/rmi/server/LoaderHandler.class | Bin 0 -> 685 bytes .../classpath/lib/java/rmi/server/LogStream.class | Bin 0 -> 1851 bytes libjava/classpath/lib/java/rmi/server/ObjID.class | Bin 0 -> 2488 bytes .../classpath/lib/java/rmi/server/Operation.class | Bin 0 -> 595 bytes .../lib/java/rmi/server/RMIClassLoader.class | Bin 0 -> 3592 bytes .../lib/java/rmi/server/RMIClassLoaderSpi.class | Bin 0 -> 1029 bytes .../java/rmi/server/RMIClientSocketFactory.class | Bin 0 -> 253 bytes .../lib/java/rmi/server/RMIFailureHandler.class | Bin 0 -> 176 bytes .../java/rmi/server/RMIServerSocketFactory.class | Bin 0 -> 247 bytes .../lib/java/rmi/server/RMISocketFactory.class | Bin 0 -> 1425 bytes .../classpath/lib/java/rmi/server/RemoteCall.class | Bin 0 -> 611 bytes .../lib/java/rmi/server/RemoteObject.class | Bin 0 -> 3766 bytes .../rmi/server/RemoteObjectInvocationHandler.class | Bin 0 -> 3872 bytes .../classpath/lib/java/rmi/server/RemoteRef.class | Bin 0 -> 894 bytes .../lib/java/rmi/server/RemoteServer.class | Bin 0 -> 1358 bytes .../classpath/lib/java/rmi/server/RemoteStub.class | Bin 0 -> 704 bytes .../lib/java/rmi/server/ServerCloneException.class | Bin 0 -> 1307 bytes .../java/rmi/server/ServerNotActiveException.class | Bin 0 -> 535 bytes .../classpath/lib/java/rmi/server/ServerRef.class | Bin 0 -> 459 bytes .../classpath/lib/java/rmi/server/Skeleton.class | Bin 0 -> 321 bytes .../rmi/server/SkeletonMismatchException.class | Bin 0 -> 487 bytes .../rmi/server/SkeletonNotFoundException.class | Bin 0 -> 696 bytes .../java/rmi/server/SocketSecurityException.class | Bin 0 -> 633 bytes libjava/classpath/lib/java/rmi/server/UID.class | Bin 0 -> 2816 bytes .../lib/java/rmi/server/UnicastRemoteObject.class | Bin 0 -> 3032 bytes .../lib/java/rmi/server/Unreferenced.class | Bin 0 -> 150 bytes .../lib/java/security/AccessControlContext.class | Bin 0 -> 3506 bytes .../lib/java/security/AccessControlException.class | Bin 0 -> 772 bytes .../lib/java/security/AccessController.class | Bin 0 -> 2821 bytes .../security/AlgorithmParameterGenerator.class | Bin 0 -> 4329 bytes .../security/AlgorithmParameterGeneratorSpi.class | Bin 0 -> 640 bytes .../lib/java/security/AlgorithmParameters.class | Bin 0 -> 4550 bytes .../lib/java/security/AlgorithmParametersSpi.class | Bin 0 -> 906 bytes .../AllPermission$AllPermissionCollection.class | Bin 0 -> 1510 bytes .../lib/java/security/AllPermission.class | Bin 0 -> 1336 bytes ...BasicPermission$BasicPermissionCollection.class | Bin 0 -> 2446 bytes .../lib/java/security/BasicPermission.class | Bin 0 -> 1944 bytes .../classpath/lib/java/security/Certificate.class | Bin 0 -> 534 bytes .../classpath/lib/java/security/CodeSource.class | Bin 0 -> 5314 bytes .../lib/java/security/DigestException.class | Bin 0 -> 816 bytes .../lib/java/security/DigestInputStream.class | Bin 0 -> 1681 bytes .../lib/java/security/DigestOutputStream.class | Bin 0 -> 1649 bytes .../lib/java/security/DomainCombiner.class | Bin 0 -> 245 bytes .../lib/java/security/DummyKeyPairGenerator.class | Bin 0 -> 1628 bytes .../lib/java/security/DummyMessageDigest.class | Bin 0 -> 1719 bytes .../lib/java/security/DummySignature.class | Bin 0 -> 2336 bytes .../java/security/GeneralSecurityException.class | Bin 0 -> 824 bytes libjava/classpath/lib/java/security/Guard.class | Bin 0 -> 150 bytes .../lib/java/security/GuardedObject.class | Bin 0 -> 1062 bytes libjava/classpath/lib/java/security/Identity.class | Bin 0 -> 4357 bytes .../lib/java/security/IdentityScope.class | Bin 0 -> 2238 bytes .../java/security/IntersectingDomainCombiner.class | Bin 0 -> 1156 bytes .../InvalidAlgorithmParameterException.class | Bin 0 -> 873 bytes .../lib/java/security/InvalidKeyException.class | Bin 0 -> 816 bytes .../java/security/InvalidParameterException.class | Bin 0 -> 551 bytes libjava/classpath/lib/java/security/Key.class | Bin 0 -> 287 bytes .../classpath/lib/java/security/KeyException.class | Bin 0 -> 807 bytes .../classpath/lib/java/security/KeyFactory.class | Bin 0 -> 4252 bytes .../lib/java/security/KeyFactorySpi.class | Bin 0 -> 886 bytes .../lib/java/security/KeyManagementException.class | Bin 0 -> 825 bytes libjava/classpath/lib/java/security/KeyPair.class | Bin 0 -> 791 bytes .../lib/java/security/KeyPairGenerator.class | Bin 0 -> 4574 bytes .../lib/java/security/KeyPairGeneratorSpi.class | Bin 0 -> 961 bytes libjava/classpath/lib/java/security/KeyStore.class | Bin 0 -> 6138 bytes .../lib/java/security/KeyStoreException.class | Bin 0 -> 822 bytes .../classpath/lib/java/security/KeyStoreSpi.class | Bin 0 -> 1668 bytes .../lib/java/security/MessageDigest.class | Bin 0 -> 5360 bytes .../lib/java/security/MessageDigestSpi.class | Bin 0 -> 1514 bytes .../java/security/NoSuchAlgorithmException.class | Bin 0 -> 843 bytes .../java/security/NoSuchProviderException.class | Bin 0 -> 549 bytes .../classpath/lib/java/security/Permission.class | Bin 0 -> 1670 bytes .../lib/java/security/PermissionCollection.class | Bin 0 -> 1550 bytes .../lib/java/security/Permissions$1.class | Bin 0 -> 1225 bytes .../security/Permissions$PermissionsHash.class | Bin 0 -> 1401 bytes .../classpath/lib/java/security/Permissions.class | Bin 0 -> 1988 bytes libjava/classpath/lib/java/security/Policy.class | Bin 0 -> 3648 bytes .../classpath/lib/java/security/Principal.class | Bin 0 -> 239 bytes .../classpath/lib/java/security/PrivateKey.class | Bin 0 -> 204 bytes .../lib/java/security/PrivilegedAction.class | Bin 0 -> 243 bytes .../java/security/PrivilegedActionException.class | Bin 0 -> 830 bytes .../java/security/PrivilegedExceptionAction.class | Bin 0 -> 309 bytes .../lib/java/security/ProtectionDomain.class | Bin 0 -> 3502 bytes libjava/classpath/lib/java/security/Provider.class | Bin 0 -> 2473 bytes .../lib/java/security/ProviderException.class | Bin 0 -> 810 bytes .../classpath/lib/java/security/PublicKey.class | Bin 0 -> 202 bytes .../lib/java/security/SecureClassLoader.class | Bin 0 -> 2507 bytes .../classpath/lib/java/security/SecureRandom.class | Bin 0 -> 7756 bytes .../lib/java/security/SecureRandomSpi.class | Bin 0 -> 489 bytes libjava/classpath/lib/java/security/Security.class | Bin 0 -> 11241 bytes .../lib/java/security/SecurityPermission.class | Bin 0 -> 583 bytes .../classpath/lib/java/security/Signature.class | Bin 0 -> 7379 bytes .../lib/java/security/SignatureException.class | Bin 0 -> 825 bytes .../classpath/lib/java/security/SignatureSpi.class | Bin 0 -> 2716 bytes .../classpath/lib/java/security/SignedObject.class | Bin 0 -> 2675 bytes libjava/classpath/lib/java/security/Signer.class | Bin 0 -> 2154 bytes .../java/security/UnrecoverableKeyException.class | Bin 0 -> 555 bytes .../lib/java/security/UnresolvedPermission.class | Bin 0 -> 2332 bytes .../UnresolvedPermissionCollection$1.class | Bin 0 -> 1297 bytes .../security/UnresolvedPermissionCollection.class | Bin 0 -> 1616 bytes .../lib/java/security/VMAccessControlState.class | Bin 0 -> 816 bytes .../lib/java/security/VMAccessController.class | Bin 0 -> 4797 bytes .../lib/java/security/VMSecureRandom$Spinner.class | Bin 0 -> 808 bytes .../lib/java/security/VMSecureRandom.class | Bin 0 -> 1429 bytes libjava/classpath/lib/java/security/acl/Acl.class | Bin 0 -> 829 bytes .../classpath/lib/java/security/acl/AclEntry.class | Bin 0 -> 639 bytes .../java/security/acl/AclNotFoundException.class | Bin 0 -> 392 bytes .../classpath/lib/java/security/acl/Group.class | Bin 0 -> 355 bytes .../lib/java/security/acl/LastOwnerException.class | Bin 0 -> 386 bytes .../lib/java/security/acl/NotOwnerException.class | Bin 0 -> 383 bytes .../classpath/lib/java/security/acl/Owner.class | Bin 0 -> 373 bytes .../lib/java/security/acl/Permission.class | Bin 0 -> 202 bytes libjava/classpath/lib/java/security/cert/CRL.class | Bin 0 -> 536 bytes .../lib/java/security/cert/CRLException.class | Bin 0 -> 817 bytes .../lib/java/security/cert/CRLSelector.class | Bin 0 -> 234 bytes .../java/security/cert/CertPath$CertPathRep.class | Bin 0 -> 1562 bytes .../lib/java/security/cert/CertPath.class | Bin 0 -> 2633 bytes .../lib/java/security/cert/CertPathBuilder.class | Bin 0 -> 3671 bytes .../security/cert/CertPathBuilderException.class | Bin 0 -> 1632 bytes .../java/security/cert/CertPathBuilderResult.class | Bin 0 -> 264 bytes .../java/security/cert/CertPathBuilderSpi.class | Bin 0 -> 557 bytes .../java/security/cert/CertPathParameters.class | Bin 0 -> 202 bytes .../java/security/cert/CertPathValidator$1.class | Bin 0 -> 718 bytes .../lib/java/security/cert/CertPathValidator.class | Bin 0 -> 3933 bytes .../security/cert/CertPathValidatorException.class | Bin 0 -> 2433 bytes .../security/cert/CertPathValidatorResult.class | Bin 0 -> 212 bytes .../java/security/cert/CertPathValidatorSpi.class | Bin 0 -> 599 bytes .../lib/java/security/cert/CertSelector.class | Bin 0 -> 244 bytes .../lib/java/security/cert/CertStore$1.class | Bin 0 -> 678 bytes .../lib/java/security/cert/CertStore.class | Bin 0 -> 4728 bytes .../java/security/cert/CertStoreException.class | Bin 0 -> 1614 bytes .../java/security/cert/CertStoreParameters.class | Bin 0 -> 204 bytes .../lib/java/security/cert/CertStoreSpi.class | Bin 0 -> 935 bytes .../security/cert/Certificate$CertificateRep.class | Bin 0 -> 1361 bytes .../lib/java/security/cert/Certificate.class | Bin 0 -> 2001 bytes .../cert/CertificateEncodingException.class | Bin 0 -> 866 bytes .../java/security/cert/CertificateException.class | Bin 0 -> 841 bytes .../cert/CertificateExpiredException.class | Bin 0 -> 572 bytes .../java/security/cert/CertificateFactory.class | Bin 0 -> 4794 bytes .../java/security/cert/CertificateFactorySpi.class | Bin 0 -> 1972 bytes .../cert/CertificateNotYetValidException.class | Bin 0 -> 584 bytes .../cert/CertificateParsingException.class | Bin 0 -> 863 bytes .../cert/CollectionCertStoreParameters.class | Bin 0 -> 1491 bytes .../security/cert/LDAPCertStoreParameters.class | Bin 0 -> 1450 bytes .../java/security/cert/PKIXBuilderParameters.class | Bin 0 -> 1961 bytes .../security/cert/PKIXCertPathBuilderResult.class | Bin 0 -> 1549 bytes .../java/security/cert/PKIXCertPathChecker.class | Bin 0 -> 1117 bytes .../cert/PKIXCertPathValidatorResult.class | Bin 0 -> 1691 bytes .../lib/java/security/cert/PKIXParameters.class | Bin 0 -> 8202 bytes .../lib/java/security/cert/PolicyNode.class | Bin 0 -> 601 bytes .../java/security/cert/PolicyQualifierInfo.class | Bin 0 -> 2039 bytes .../lib/java/security/cert/TrustAnchor.class | Bin 0 -> 2116 bytes .../classpath/lib/java/security/cert/X509CRL.class | Bin 0 -> 1939 bytes .../lib/java/security/cert/X509CRLEntry.class | Bin 0 -> 1053 bytes .../lib/java/security/cert/X509CRLSelector.class | Bin 0 -> 6627 bytes .../lib/java/security/cert/X509CertSelector.class | Bin 0 -> 13958 bytes .../lib/java/security/cert/X509Certificate.class | Bin 0 -> 2025 bytes .../lib/java/security/cert/X509Extension.class | Bin 0 -> 388 bytes .../lib/java/security/interfaces/DSAKey.class | Bin 0 -> 179 bytes .../security/interfaces/DSAKeyPairGenerator.class | Bin 0 -> 357 bytes .../lib/java/security/interfaces/DSAParams.class | Bin 0 -> 196 bytes .../java/security/interfaces/DSAPrivateKey.class | Bin 0 -> 309 bytes .../java/security/interfaces/DSAPublicKey.class | Bin 0 -> 306 bytes .../lib/java/security/interfaces/RSAKey.class | Bin 0 -> 166 bytes .../interfaces/RSAMultiPrimePrivateCrtKey.class | Bin 0 -> 519 bytes .../security/interfaces/RSAPrivateCrtKey.class | Bin 0 -> 427 bytes .../java/security/interfaces/RSAPrivateKey.class | Bin 0 -> 323 bytes .../java/security/interfaces/RSAPublicKey.class | Bin 0 -> 319 bytes .../security/spec/AlgorithmParameterSpec.class | Bin 0 -> 144 bytes .../lib/java/security/spec/DSAParameterSpec.class | Bin 0 -> 884 bytes .../lib/java/security/spec/DSAPrivateKeySpec.class | Bin 0 -> 971 bytes .../lib/java/security/spec/DSAPublicKeySpec.class | Bin 0 -> 968 bytes .../lib/java/security/spec/EncodedKeySpec.class | Bin 0 -> 530 bytes .../security/spec/InvalidKeySpecException.class | Bin 0 -> 850 bytes .../spec/InvalidParameterSpecException.class | Bin 0 -> 577 bytes .../classpath/lib/java/security/spec/KeySpec.class | Bin 0 -> 114 bytes .../java/security/spec/PKCS8EncodedKeySpec.class | Bin 0 -> 569 bytes .../lib/java/security/spec/PSSParameterSpec.class | Bin 0 -> 570 bytes .../security/spec/RSAKeyGenParameterSpec.class | Bin 0 -> 943 bytes .../spec/RSAMultiPrimePrivateCrtKeySpec.class | Bin 0 -> 2190 bytes .../lib/java/security/spec/RSAOtherPrimeInfo.class | Bin 0 -> 967 bytes .../java/security/spec/RSAPrivateCrtKeySpec.class | Bin 0 -> 1458 bytes .../lib/java/security/spec/RSAPrivateKeySpec.class | Bin 0 -> 712 bytes .../lib/java/security/spec/RSAPublicKeySpec.class | Bin 0 -> 707 bytes .../java/security/spec/X509EncodedKeySpec.class | Bin 0 -> 565 bytes libjava/classpath/lib/java/sql/Array.class | Bin 0 -> 1031 bytes .../lib/java/sql/BatchUpdateException.class | Bin 0 -> 1224 bytes libjava/classpath/lib/java/sql/Blob.class | Bin 0 -> 516 bytes .../classpath/lib/java/sql/CallableStatement.class | Bin 0 -> 4652 bytes libjava/classpath/lib/java/sql/Clob.class | Bin 0 -> 704 bytes libjava/classpath/lib/java/sql/Connection.class | Bin 0 -> 2469 bytes .../classpath/lib/java/sql/DataTruncation.class | Bin 0 -> 1072 bytes .../classpath/lib/java/sql/DatabaseMetaData.class | Bin 0 -> 9882 bytes libjava/classpath/lib/java/sql/Date.class | Bin 0 -> 1914 bytes libjava/classpath/lib/java/sql/Driver.class | Bin 0 -> 490 bytes libjava/classpath/lib/java/sql/DriverManager.class | Bin 0 -> 4441 bytes .../lib/java/sql/DriverPropertyInfo.class | Bin 0 -> 538 bytes .../classpath/lib/java/sql/ParameterMetaData.class | Bin 0 -> 824 bytes .../classpath/lib/java/sql/PreparedStatement.class | Bin 0 -> 1974 bytes libjava/classpath/lib/java/sql/Ref.class | Bin 0 -> 456 bytes libjava/classpath/lib/java/sql/ResultSet.class | Bin 0 -> 7255 bytes .../classpath/lib/java/sql/ResultSetMetaData.class | Bin 0 -> 1067 bytes libjava/classpath/lib/java/sql/SQLData.class | Bin 0 -> 328 bytes libjava/classpath/lib/java/sql/SQLException.class | Bin 0 -> 1367 bytes libjava/classpath/lib/java/sql/SQLInput.class | Bin 0 -> 1192 bytes libjava/classpath/lib/java/sql/SQLOutput.class | Bin 0 -> 1264 bytes libjava/classpath/lib/java/sql/SQLPermission.class | Bin 0 -> 505 bytes libjava/classpath/lib/java/sql/SQLWarning.class | Bin 0 -> 1151 bytes libjava/classpath/lib/java/sql/Savepoint.class | Bin 0 -> 249 bytes libjava/classpath/lib/java/sql/Statement.class | Bin 0 -> 2029 bytes libjava/classpath/lib/java/sql/Struct.class | Bin 0 -> 414 bytes libjava/classpath/lib/java/sql/Time.class | Bin 0 -> 2129 bytes libjava/classpath/lib/java/sql/Timestamp.class | Bin 0 -> 3826 bytes libjava/classpath/lib/java/sql/Types.class | Bin 0 -> 1194 bytes libjava/classpath/lib/java/text/Annotation.class | Bin 0 -> 924 bytes .../AttributedCharacterIterator$Attribute.class | Bin 0 -> 1922 bytes .../java/text/AttributedCharacterIterator.class | Bin 0 -> 900 bytes .../text/AttributedString$AttributeRange.class | Bin 0 -> 689 bytes .../classpath/lib/java/text/AttributedString.class | Bin 0 -> 5877 bytes .../lib/java/text/AttributedStringIterator.class | Bin 0 -> 5196 bytes libjava/classpath/lib/java/text/Bidi.class | Bin 0 -> 10729 bytes .../classpath/lib/java/text/BreakIterator.class | Bin 0 -> 3564 bytes .../lib/java/text/CharacterIterator.class | Bin 0 -> 488 bytes libjava/classpath/lib/java/text/ChoiceFormat.class | Bin 0 -> 5710 bytes .../lib/java/text/CollationElementIterator.class | Bin 0 -> 5230 bytes libjava/classpath/lib/java/text/CollationKey.class | Bin 0 -> 1695 bytes libjava/classpath/lib/java/text/Collator.class | Bin 0 -> 3454 bytes .../classpath/lib/java/text/DateFormat$Field.class | Bin 0 -> 3570 bytes libjava/classpath/lib/java/text/DateFormat.class | Bin 0 -> 8501 bytes .../lib/java/text/DateFormatSymbols.class | Bin 0 -> 5265 bytes .../classpath/lib/java/text/DecimalFormat.class | Bin 0 -> 23996 bytes .../lib/java/text/DecimalFormatSymbols.class | Bin 0 -> 6530 bytes .../classpath/lib/java/text/FieldPosition.class | Bin 0 -> 2447 bytes libjava/classpath/lib/java/text/Format$Field.class | Bin 0 -> 492 bytes libjava/classpath/lib/java/text/Format.class | Bin 0 -> 2009 bytes .../lib/java/text/MessageFormat$Field.class | Bin 0 -> 1176 bytes .../text/MessageFormat$MessageFormatElement.class | Bin 0 -> 2477 bytes .../classpath/lib/java/text/MessageFormat.class | Bin 0 -> 11574 bytes .../lib/java/text/NumberFormat$Field.class | Bin 0 -> 2098 bytes libjava/classpath/lib/java/text/NumberFormat.class | Bin 0 -> 8151 bytes .../classpath/lib/java/text/ParseException.class | Bin 0 -> 585 bytes .../classpath/lib/java/text/ParsePosition.class | Bin 0 -> 1546 bytes .../text/RuleBasedCollator$CollationElement.class | Bin 0 -> 925 bytes .../text/RuleBasedCollator$CollationSorter.class | Bin 0 -> 778 bytes .../lib/java/text/RuleBasedCollator.class | Bin 0 -> 10427 bytes .../java/text/SimpleDateFormat$CompiledField.class | Bin 0 -> 1491 bytes .../classpath/lib/java/text/SimpleDateFormat.class | Bin 0 -> 17953 bytes .../lib/java/text/StringCharacterIterator.class | Bin 0 -> 2733 bytes .../lib/java/util/AbstractCollection.class | Bin 0 -> 4777 bytes .../classpath/lib/java/util/AbstractList$1.class | Bin 0 -> 2205 bytes .../classpath/lib/java/util/AbstractList$2.class | Bin 0 -> 1499 bytes .../classpath/lib/java/util/AbstractList$3.class | Bin 0 -> 2389 bytes .../util/AbstractList$RandomAccessSubList.class | Bin 0 -> 865 bytes .../lib/java/util/AbstractList$SubList.class | Bin 0 -> 3945 bytes libjava/classpath/lib/java/util/AbstractList.class | Bin 0 -> 4911 bytes .../classpath/lib/java/util/AbstractMap$1.class | Bin 0 -> 1129 bytes .../classpath/lib/java/util/AbstractMap$2.class | Bin 0 -> 1269 bytes .../classpath/lib/java/util/AbstractMap$3.class | Bin 0 -> 1154 bytes .../classpath/lib/java/util/AbstractMap$4.class | Bin 0 -> 1271 bytes .../lib/java/util/AbstractMap$SimpleEntry.class | Bin 0 -> 2423 bytes .../util/AbstractMap$SimpleImmutableEntry.class | Bin 0 -> 1736 bytes libjava/classpath/lib/java/util/AbstractMap.class | Bin 0 -> 5285 bytes .../classpath/lib/java/util/AbstractQueue.class | Bin 0 -> 1965 bytes .../lib/java/util/AbstractSequentialList.class | Bin 0 -> 2769 bytes libjava/classpath/lib/java/util/AbstractSet.class | Bin 0 -> 1708 bytes .../lib/java/util/ArrayDeque$DeqIterator.class | Bin 0 -> 1664 bytes .../java/util/ArrayDeque$DescendingIterator.class | Bin 0 -> 1692 bytes libjava/classpath/lib/java/util/ArrayDeque.class | Bin 0 -> 10291 bytes libjava/classpath/lib/java/util/ArrayList.class | Bin 0 -> 7908 bytes .../classpath/lib/java/util/Arrays$ArrayList.class | Bin 0 -> 2662 bytes libjava/classpath/lib/java/util/Arrays.class | Bin 0 -> 26603 bytes libjava/classpath/lib/java/util/BitSet.class | Bin 0 -> 6968 bytes libjava/classpath/lib/java/util/Calendar.class | Bin 0 -> 13449 bytes libjava/classpath/lib/java/util/Collection.class | Bin 0 -> 841 bytes .../util/Collections$1$SynchronizedMapEntry.class | Bin 0 -> 2194 bytes .../classpath/lib/java/util/Collections$1.class | Bin 0 -> 1138 bytes .../classpath/lib/java/util/Collections$2.class | Bin 0 -> 1103 bytes .../classpath/lib/java/util/Collections$3.class | Bin 0 -> 1511 bytes .../classpath/lib/java/util/Collections$4.class | Bin 0 -> 1543 bytes .../classpath/lib/java/util/Collections$5.class | Bin 0 -> 1611 bytes .../classpath/lib/java/util/Collections$6.class | Bin 0 -> 1487 bytes .../classpath/lib/java/util/Collections$7.class | Bin 0 -> 1809 bytes .../classpath/lib/java/util/Collections$8.class | Bin 0 -> 889 bytes .../classpath/lib/java/util/Collections$9.class | Bin 0 -> 902 bytes .../java/util/Collections$CheckedCollection.class | Bin 0 -> 3768 bytes .../java/util/Collections$CheckedIterator.class | Bin 0 -> 1272 bytes .../lib/java/util/Collections$CheckedList.class | Bin 0 -> 3851 bytes .../util/Collections$CheckedListIterator.class | Bin 0 -> 2065 bytes .../Collections$CheckedMap$CheckedEntrySet.class | Bin 0 -> 1781 bytes .../lib/java/util/Collections$CheckedMap.class | Bin 0 -> 4991 bytes .../util/Collections$CheckedRandomAccessList.class | Bin 0 -> 963 bytes .../lib/java/util/Collections$CheckedSet.class | Bin 0 -> 1290 bytes .../java/util/Collections$CheckedSortedMap.class | Bin 0 -> 2347 bytes .../java/util/Collections$CheckedSortedSet.class | Bin 0 -> 2153 bytes .../lib/java/util/Collections$CopiesList.class | Bin 0 -> 2693 bytes .../lib/java/util/Collections$EmptyList.class | Bin 0 -> 2671 bytes .../lib/java/util/Collections$EmptyMap.class | Bin 0 -> 2143 bytes .../lib/java/util/Collections$EmptySet.class | Bin 0 -> 2422 bytes .../java/util/Collections$ReverseComparator.class | Bin 0 -> 1024 bytes .../lib/java/util/Collections$SingletonList.class | Bin 0 -> 3063 bytes .../lib/java/util/Collections$SingletonMap.class | Bin 0 -> 2981 bytes .../lib/java/util/Collections$SingletonSet.class | Bin 0 -> 2438 bytes .../util/Collections$SynchronizedCollection.class | Bin 0 -> 3969 bytes .../util/Collections$SynchronizedIterator.class | Bin 0 -> 1366 bytes .../java/util/Collections$SynchronizedList.class | Bin 0 -> 3835 bytes .../Collections$SynchronizedListIterator.class | Bin 0 -> 2030 bytes .../java/util/Collections$SynchronizedMap.class | Bin 0 -> 4720 bytes .../Collections$SynchronizedRandomAccessList.class | Bin 0 -> 1461 bytes .../java/util/Collections$SynchronizedSet.class | Bin 0 -> 1550 bytes .../util/Collections$SynchronizedSortedMap.class | Bin 0 -> 2611 bytes .../util/Collections$SynchronizedSortedSet.class | Bin 0 -> 2577 bytes .../util/Collections$UnmodifiableCollection.class | Bin 0 -> 3096 bytes .../util/Collections$UnmodifiableIterator.class | Bin 0 -> 1182 bytes .../java/util/Collections$UnmodifiableList.class | Bin 0 -> 3136 bytes .../Collections$UnmodifiableListIterator.class | Bin 0 -> 1745 bytes ...UnmodifiableEntrySet$UnmodifiableMapEntry.class | Bin 0 -> 2188 bytes ...ions$UnmodifiableMap$UnmodifiableEntrySet.class | Bin 0 -> 2550 bytes .../java/util/Collections$UnmodifiableMap.class | Bin 0 -> 3698 bytes .../Collections$UnmodifiableRandomAccessList.class | Bin 0 -> 883 bytes .../java/util/Collections$UnmodifiableSet.class | Bin 0 -> 1193 bytes .../util/Collections$UnmodifiableSortedMap.class | Bin 0 -> 2105 bytes .../util/Collections$UnmodifiableSortedSet.class | Bin 0 -> 2032 bytes libjava/classpath/lib/java/util/Collections.class | Bin 0 -> 21075 bytes libjava/classpath/lib/java/util/Comparator.class | Bin 0 -> 295 bytes .../util/ConcurrentModificationException.class | Bin 0 -> 556 bytes libjava/classpath/lib/java/util/Currency.class | Bin 0 -> 3337 bytes libjava/classpath/lib/java/util/Date.class | Bin 0 -> 10943 bytes libjava/classpath/lib/java/util/Deque.class | Bin 0 -> 1056 bytes libjava/classpath/lib/java/util/Dictionary.class | Bin 0 -> 836 bytes .../java/util/DuplicateFormatFlagsException.class | Bin 0 -> 876 bytes .../lib/java/util/EmptyStackException.class | Bin 0 -> 380 bytes libjava/classpath/lib/java/util/EnumMap$1.class | Bin 0 -> 1315 bytes libjava/classpath/lib/java/util/EnumMap$2.class | Bin 0 -> 1460 bytes libjava/classpath/lib/java/util/EnumMap$3.class | Bin 0 -> 1053 bytes libjava/classpath/lib/java/util/EnumMap$4.class | Bin 0 -> 1233 bytes libjava/classpath/lib/java/util/EnumMap$5.class | Bin 0 -> 1839 bytes libjava/classpath/lib/java/util/EnumMap$6.class | Bin 0 -> 1753 bytes libjava/classpath/lib/java/util/EnumMap$7.class | Bin 0 -> 1307 bytes libjava/classpath/lib/java/util/EnumMap.class | Bin 0 -> 5826 bytes libjava/classpath/lib/java/util/EnumSet$1.class | Bin 0 -> 1389 bytes libjava/classpath/lib/java/util/EnumSet.class | Bin 0 -> 8349 bytes libjava/classpath/lib/java/util/Enumeration.class | Bin 0 -> 269 bytes .../classpath/lib/java/util/EventListener.class | Bin 0 -> 117 bytes .../lib/java/util/EventListenerProxy.class | Bin 0 -> 546 bytes libjava/classpath/lib/java/util/EventObject.class | Bin 0 -> 1140 bytes .../FormatFlagsConversionMismatchException.class | Bin 0 -> 1111 bytes libjava/classpath/lib/java/util/Formattable.class | Bin 0 -> 162 bytes .../classpath/lib/java/util/FormattableFlags.class | Bin 0 -> 562 bytes .../java/util/Formatter$BigDecimalLayoutForm.class | Bin 0 -> 1177 bytes libjava/classpath/lib/java/util/Formatter.class | Bin 0 -> 17740 bytes .../lib/java/util/FormatterClosedException.class | Bin 0 -> 400 bytes .../lib/java/util/GregorianCalendar.class | Bin 0 -> 14556 bytes libjava/classpath/lib/java/util/HashMap$1.class | Bin 0 -> 1222 bytes libjava/classpath/lib/java/util/HashMap$2.class | Bin 0 -> 898 bytes libjava/classpath/lib/java/util/HashMap$3.class | Bin 0 -> 1494 bytes .../lib/java/util/HashMap$HashEntry.class | Bin 0 -> 1008 bytes .../lib/java/util/HashMap$HashIterator.class | Bin 0 -> 1854 bytes libjava/classpath/lib/java/util/HashMap.class | Bin 0 -> 8875 bytes libjava/classpath/lib/java/util/HashSet.class | Bin 0 -> 3994 bytes libjava/classpath/lib/java/util/Hashtable$1.class | Bin 0 -> 1217 bytes libjava/classpath/lib/java/util/Hashtable$2.class | Bin 0 -> 926 bytes libjava/classpath/lib/java/util/Hashtable$3.class | Bin 0 -> 1530 bytes .../lib/java/util/Hashtable$EntryEnumerator.class | Bin 0 -> 1475 bytes .../lib/java/util/Hashtable$EntryIterator.class | Bin 0 -> 1861 bytes .../lib/java/util/Hashtable$HashEntry.class | Bin 0 -> 1054 bytes .../lib/java/util/Hashtable$KeyEnumerator.class | Bin 0 -> 1278 bytes .../lib/java/util/Hashtable$KeyIterator.class | Bin 0 -> 1132 bytes .../lib/java/util/Hashtable$ValueEnumerator.class | Bin 0 -> 1286 bytes .../lib/java/util/Hashtable$ValueIterator.class | Bin 0 -> 1140 bytes libjava/classpath/lib/java/util/Hashtable.class | Bin 0 -> 10367 bytes .../lib/java/util/IdentityHashMap$1.class | Bin 0 -> 1915 bytes .../lib/java/util/IdentityHashMap$2.class | Bin 0 -> 1786 bytes .../lib/java/util/IdentityHashMap$3.class | Bin 0 -> 1412 bytes .../java/util/IdentityHashMap$IdentityEntry.class | Bin 0 -> 2554 bytes .../util/IdentityHashMap$IdentityIterator.class | Bin 0 -> 1900 bytes .../classpath/lib/java/util/IdentityHashMap.class | Bin 0 -> 6772 bytes .../util/IllegalFormatCodePointException.class | Bin 0 -> 625 bytes .../util/IllegalFormatConversionException.class | Bin 0 -> 1364 bytes .../lib/java/util/IllegalFormatException.class | Bin 0 -> 534 bytes .../java/util/IllegalFormatFlagsException.class | Bin 0 -> 881 bytes .../util/IllegalFormatPrecisionException.class | Bin 0 -> 821 bytes .../java/util/IllegalFormatWidthException.class | Bin 0 -> 801 bytes .../lib/java/util/InputMismatchException.class | Bin 0 -> 466 bytes .../util/InvalidPropertiesFormatException.class | Bin 0 -> 1142 bytes libjava/classpath/lib/java/util/Iterator.class | Bin 0 -> 271 bytes .../classpath/lib/java/util/LinkedHashMap$1.class | Bin 0 -> 1521 bytes .../java/util/LinkedHashMap$LinkedHashEntry.class | Bin 0 -> 1630 bytes .../classpath/lib/java/util/LinkedHashMap.class | Bin 0 -> 3388 bytes .../classpath/lib/java/util/LinkedHashSet.class | Bin 0 -> 1400 bytes .../classpath/lib/java/util/LinkedList$Entry.class | Bin 0 -> 719 bytes .../lib/java/util/LinkedList$LinkedListItr.class | Bin 0 -> 3062 bytes libjava/classpath/lib/java/util/LinkedList.class | Bin 0 -> 9888 bytes libjava/classpath/lib/java/util/List.class | Bin 0 -> 1427 bytes libjava/classpath/lib/java/util/ListIterator.class | Bin 0 -> 506 bytes .../lib/java/util/ListResourceBundle.class | Bin 0 -> 1614 bytes libjava/classpath/lib/java/util/Locale.class | Bin 0 -> 16086 bytes libjava/classpath/lib/java/util/Map$Entry.class | Bin 0 -> 480 bytes libjava/classpath/lib/java/util/Map.class | Bin 0 -> 935 bytes .../java/util/MissingFormatArgumentException.class | Bin 0 -> 917 bytes .../java/util/MissingFormatWidthException.class | Bin 0 -> 890 bytes .../lib/java/util/MissingResourceException.class | Bin 0 -> 770 bytes libjava/classpath/lib/java/util/NavigableMap.class | Bin 0 -> 1538 bytes libjava/classpath/lib/java/util/NavigableSet.class | Bin 0 -> 1179 bytes .../lib/java/util/NoSuchElementException.class | Bin 0 -> 529 bytes libjava/classpath/lib/java/util/Observable.class | Bin 0 -> 2016 bytes libjava/classpath/lib/java/util/Observer.class | Bin 0 -> 170 bytes .../classpath/lib/java/util/PriorityQueue$1.class | Bin 0 -> 1094 bytes .../classpath/lib/java/util/PriorityQueue.class | Bin 0 -> 5551 bytes libjava/classpath/lib/java/util/Properties.class | Bin 0 -> 12084 bytes .../lib/java/util/PropertyPermission.class | Bin 0 -> 3334 bytes .../java/util/PropertyPermissionCollection.class | Bin 0 -> 2452 bytes .../lib/java/util/PropertyResourceBundle.class | Bin 0 -> 1762 bytes libjava/classpath/lib/java/util/Queue.class | Bin 0 -> 426 bytes libjava/classpath/lib/java/util/Random.class | Bin 0 -> 2327 bytes libjava/classpath/lib/java/util/RandomAccess.class | Bin 0 -> 115 bytes .../classpath/lib/java/util/ResourceBundle$1.class | Bin 0 -> 662 bytes .../lib/java/util/ResourceBundle$BundleKey.class | Bin 0 -> 1438 bytes .../classpath/lib/java/util/ResourceBundle.class | Bin 0 -> 6232 bytes libjava/classpath/lib/java/util/Set.class | Bin 0 -> 831 bytes .../classpath/lib/java/util/SimpleTimeZone.class | Bin 0 -> 10254 bytes libjava/classpath/lib/java/util/SortedMap.class | Bin 0 -> 669 bytes libjava/classpath/lib/java/util/SortedSet.class | Bin 0 -> 634 bytes libjava/classpath/lib/java/util/Stack.class | Bin 0 -> 1548 bytes .../classpath/lib/java/util/StringTokenizer.class | Bin 0 -> 2332 bytes libjava/classpath/lib/java/util/TimeZone$1.class | Bin 0 -> 1134 bytes libjava/classpath/lib/java/util/TimeZone.class | Bin 0 -> 27535 bytes .../classpath/lib/java/util/Timer$Scheduler.class | Bin 0 -> 1292 bytes .../classpath/lib/java/util/Timer$TaskQueue.class | Bin 0 -> 2929 bytes libjava/classpath/lib/java/util/Timer.class | Bin 0 -> 4067 bytes libjava/classpath/lib/java/util/TimerTask.class | Bin 0 -> 681 bytes .../lib/java/util/TooManyListenersException.class | Bin 0 -> 531 bytes libjava/classpath/lib/java/util/TreeMap$1.class | Bin 0 -> 2442 bytes libjava/classpath/lib/java/util/TreeMap$2.class | Bin 0 -> 1770 bytes libjava/classpath/lib/java/util/TreeMap$3.class | Bin 0 -> 1318 bytes libjava/classpath/lib/java/util/TreeMap$4.class | Bin 0 -> 1913 bytes libjava/classpath/lib/java/util/TreeMap$5.class | Bin 0 -> 1456 bytes libjava/classpath/lib/java/util/TreeMap$6.class | Bin 0 -> 938 bytes libjava/classpath/lib/java/util/TreeMap$Node.class | Bin 0 -> 976 bytes .../classpath/lib/java/util/TreeMap$SubMap.class | Bin 0 -> 5456 bytes .../lib/java/util/TreeMap$TreeIterator.class | Bin 0 -> 1805 bytes libjava/classpath/lib/java/util/TreeMap.class | Bin 0 -> 13896 bytes libjava/classpath/lib/java/util/TreeSet.class | Bin 0 -> 5980 bytes libjava/classpath/lib/java/util/UUID.class | Bin 0 -> 4915 bytes .../util/UnknownFormatConversionException.class | Bin 0 -> 875 bytes .../java/util/UnknownFormatFlagsException.class | Bin 0 -> 872 bytes libjava/classpath/lib/java/util/VMTimeZone.class | Bin 0 -> 4238 bytes libjava/classpath/lib/java/util/Vector$1.class | Bin 0 -> 977 bytes libjava/classpath/lib/java/util/Vector.class | Bin 0 -> 10887 bytes .../classpath/lib/java/util/WeakHashMap$1.class | Bin 0 -> 584 bytes .../classpath/lib/java/util/WeakHashMap$2.class | Bin 0 -> 2719 bytes .../util/WeakHashMap$WeakBucket$WeakEntry.class | Bin 0 -> 2131 bytes .../lib/java/util/WeakHashMap$WeakBucket.class | Bin 0 -> 1472 bytes .../lib/java/util/WeakHashMap$WeakEntrySet.class | Bin 0 -> 880 bytes libjava/classpath/lib/java/util/WeakHashMap.class | Bin 0 -> 6368 bytes .../util/concurrent/AbstractExecutorService.class | Bin 0 -> 8804 bytes .../util/concurrent/ArrayBlockingQueue$Itr.class | Bin 0 -> 2191 bytes .../java/util/concurrent/ArrayBlockingQueue.class | Bin 0 -> 9946 bytes .../lib/java/util/concurrent/BlockingDeque.class | Bin 0 -> 1518 bytes .../lib/java/util/concurrent/BlockingQueue.class | Bin 0 -> 982 bytes .../util/concurrent/BrokenBarrierException.class | Bin 0 -> 541 bytes .../lib/java/util/concurrent/Callable.class | Bin 0 -> 283 bytes .../util/concurrent/CancellationException.class | Bin 0 -> 550 bytes .../java/util/concurrent/CompletionService.class | Bin 0 -> 855 bytes .../ConcurrentHashMap$EntryIterator.class | Bin 0 -> 1504 bytes .../concurrent/ConcurrentHashMap$EntrySet.class | Bin 0 -> 1751 bytes .../concurrent/ConcurrentHashMap$HashEntry.class | Bin 0 -> 1373 bytes .../ConcurrentHashMap$HashIterator.class | Bin 0 -> 2413 bytes .../concurrent/ConcurrentHashMap$KeyIterator.class | Bin 0 -> 1138 bytes .../util/concurrent/ConcurrentHashMap$KeySet.class | Bin 0 -> 1274 bytes .../concurrent/ConcurrentHashMap$Segment.class | Bin 0 -> 6776 bytes .../ConcurrentHashMap$ValueIterator.class | Bin 0 -> 1146 bytes .../util/concurrent/ConcurrentHashMap$Values.class | Bin 0 -> 1151 bytes .../ConcurrentHashMap$WriteThroughEntry.class | Bin 0 -> 1272 bytes .../java/util/concurrent/ConcurrentHashMap.class | Bin 0 -> 10684 bytes .../concurrent/ConcurrentLinkedQueue$Itr.class | Bin 0 -> 1874 bytes .../concurrent/ConcurrentLinkedQueue$Node.class | Bin 0 -> 3245 bytes .../util/concurrent/ConcurrentLinkedQueue.class | Bin 0 -> 6269 bytes .../lib/java/util/concurrent/ConcurrentMap.class | Bin 0 -> 534 bytes .../util/concurrent/ConcurrentNavigableMap.class | Bin 0 -> 1363 bytes ...rentSkipListMap$ComparableUsingComparator.class | Bin 0 -> 1303 bytes .../ConcurrentSkipListMap$EntryIterator.class | Bin 0 -> 1420 bytes .../ConcurrentSkipListMap$EntrySet.class | Bin 0 -> 3244 bytes .../ConcurrentSkipListMap$HeadIndex.class | Bin 0 -> 1570 bytes .../concurrent/ConcurrentSkipListMap$Index.class | Bin 0 -> 3030 bytes .../concurrent/ConcurrentSkipListMap$Iter.class | Bin 0 -> 1873 bytes .../ConcurrentSkipListMap$KeyIterator.class | Bin 0 -> 1106 bytes .../concurrent/ConcurrentSkipListMap$KeySet.class | Bin 0 -> 6690 bytes .../concurrent/ConcurrentSkipListMap$Node.class | Bin 0 -> 4161 bytes ...entSkipListMap$SubMap$SubMapEntryIterator.class | Bin 0 -> 1564 bytes .../ConcurrentSkipListMap$SubMap$SubMapIter.class | Bin 0 -> 2947 bytes ...rrentSkipListMap$SubMap$SubMapKeyIterator.class | Bin 0 -> 1250 bytes ...entSkipListMap$SubMap$SubMapValueIterator.class | Bin 0 -> 1090 bytes .../concurrent/ConcurrentSkipListMap$SubMap.class | Bin 0 -> 18179 bytes .../ConcurrentSkipListMap$ValueIterator.class | Bin 0 -> 946 bytes .../concurrent/ConcurrentSkipListMap$Values.class | Bin 0 -> 2209 bytes .../util/concurrent/ConcurrentSkipListMap.class | Bin 0 -> 29603 bytes .../util/concurrent/ConcurrentSkipListSet.class | Bin 0 -> 9070 bytes .../util/concurrent/CopyOnWriteArrayList.class | Bin 0 -> 6845 bytes .../java/util/concurrent/CopyOnWriteArraySet.class | Bin 0 -> 3911 bytes .../java/util/concurrent/CountDownLatch$Sync.class | Bin 0 -> 1003 bytes .../lib/java/util/concurrent/CountDownLatch.class | Bin 0 -> 1704 bytes .../util/concurrent/CyclicBarrier$Generation.class | Bin 0 -> 565 bytes .../lib/java/util/concurrent/CyclicBarrier.class | Bin 0 -> 3723 bytes .../lib/java/util/concurrent/DelayQueue$Itr.class | Bin 0 -> 1914 bytes .../lib/java/util/concurrent/DelayQueue.class | Bin 0 -> 8027 bytes .../lib/java/util/concurrent/Delayed.class | Bin 0 -> 295 bytes .../lib/java/util/concurrent/Exchanger$Node.class | Bin 0 -> 624 bytes .../lib/java/util/concurrent/Exchanger$Slot.class | Bin 0 -> 791 bytes .../lib/java/util/concurrent/Exchanger.class | Bin 0 -> 5987 bytes .../java/util/concurrent/ExecutionException.class | Bin 0 -> 816 bytes .../lib/java/util/concurrent/Executor.class | Bin 0 -> 162 bytes .../ExecutorCompletionService$QueueingFuture.class | Bin 0 -> 1361 bytes .../concurrent/ExecutorCompletionService.class | Bin 0 -> 4452 bytes .../lib/java/util/concurrent/ExecutorService.class | Bin 0 -> 1948 bytes .../lib/java/util/concurrent/Executors$1.class | Bin 0 -> 1313 bytes .../lib/java/util/concurrent/Executors$2.class | Bin 0 -> 2030 bytes .../lib/java/util/concurrent/Executors$3.class | Bin 0 -> 1437 bytes .../lib/java/util/concurrent/Executors$4.class | Bin 0 -> 1349 bytes .../lib/java/util/concurrent/Executors$5.class | Bin 0 -> 867 bytes .../lib/java/util/concurrent/Executors$6.class | Bin 0 -> 951 bytes .../Executors$DefaultThreadFactory.class | Bin 0 -> 2039 bytes .../Executors$DelegatedExecutorService.class | Bin 0 -> 3943 bytes ...ecutors$DelegatedScheduledExecutorService.class | Bin 0 -> 2190 bytes ...utors$FinalizableDelegatedExecutorService.class | Bin 0 -> 718 bytes .../concurrent/Executors$PrivilegedCallable.class | Bin 0 -> 2052 bytes ...PrivilegedCallableUsingCurrentClassLoader.class | Bin 0 -> 2834 bytes .../Executors$PrivilegedThreadFactory.class | Bin 0 -> 1674 bytes .../concurrent/Executors$RunnableAdapter.class | Bin 0 -> 1067 bytes .../lib/java/util/concurrent/Executors.class | Bin 0 -> 6410 bytes .../lib/java/util/concurrent/Future.class | Bin 0 -> 573 bytes .../lib/java/util/concurrent/FutureTask$Sync.class | Bin 0 -> 3705 bytes .../lib/java/util/concurrent/FutureTask.class | Bin 0 -> 3262 bytes .../LinkedBlockingDeque$AbstractItr.class | Bin 0 -> 1533 bytes .../LinkedBlockingDeque$DescendingItr.class | Bin 0 -> 1589 bytes .../util/concurrent/LinkedBlockingDeque$Itr.class | Bin 0 -> 1537 bytes .../util/concurrent/LinkedBlockingDeque$Node.class | Bin 0 -> 1107 bytes .../java/util/concurrent/LinkedBlockingDeque.class | Bin 0 -> 15659 bytes .../util/concurrent/LinkedBlockingQueue$Itr.class | Bin 0 -> 3118 bytes .../util/concurrent/LinkedBlockingQueue$Node.class | Bin 0 -> 792 bytes .../java/util/concurrent/LinkedBlockingQueue.class | Bin 0 -> 11808 bytes .../concurrent/PriorityBlockingQueue$Itr.class | Bin 0 -> 1869 bytes .../util/concurrent/PriorityBlockingQueue.class | Bin 0 -> 8073 bytes .../concurrent/RejectedExecutionException.class | Bin 0 -> 847 bytes .../util/concurrent/RejectedExecutionHandler.class | Bin 0 -> 245 bytes .../lib/java/util/concurrent/RunnableFuture.class | Bin 0 -> 328 bytes .../util/concurrent/RunnableScheduledFuture.class | Bin 0 -> 410 bytes .../util/concurrent/ScheduledExecutorService.class | Bin 0 -> 960 bytes .../lib/java/util/concurrent/ScheduledFuture.class | Bin 0 -> 330 bytes .../concurrent/ScheduledThreadPoolExecutor$1.class | Bin 0 -> 1597 bytes ...eduledThreadPoolExecutor$DelayedWorkQueue.class | Bin 0 -> 5234 bytes ...ledThreadPoolExecutor$ScheduledFutureTask.class | Bin 0 -> 4323 bytes .../concurrent/ScheduledThreadPoolExecutor.class | Bin 0 -> 9440 bytes .../java/util/concurrent/Semaphore$FairSync.class | Bin 0 -> 962 bytes .../util/concurrent/Semaphore$NonfairSync.class | Bin 0 -> 657 bytes .../lib/java/util/concurrent/Semaphore$Sync.class | Bin 0 -> 1293 bytes .../lib/java/util/concurrent/Semaphore.class | Bin 0 -> 3504 bytes .../SynchronousQueue$EmptyIterator.class | Bin 0 -> 1052 bytes .../SynchronousQueue$FifoWaitQueue.class | Bin 0 -> 600 bytes .../SynchronousQueue$LifoWaitQueue.class | Bin 0 -> 600 bytes .../SynchronousQueue$TransferQueue$QNode.class | Bin 0 -> 2398 bytes .../SynchronousQueue$TransferQueue.class | Bin 0 -> 5213 bytes .../SynchronousQueue$TransferStack$SNode.class | Bin 0 -> 2334 bytes .../SynchronousQueue$TransferStack.class | Bin 0 -> 5011 bytes .../concurrent/SynchronousQueue$Transferer.class | Bin 0 -> 486 bytes .../concurrent/SynchronousQueue$WaitQueue.class | Bin 0 -> 449 bytes .../java/util/concurrent/SynchronousQueue.class | Bin 0 -> 6851 bytes .../lib/java/util/concurrent/ThreadFactory.class | Bin 0 -> 191 bytes .../ThreadPoolExecutor$AbortPolicy.class | Bin 0 -> 792 bytes .../ThreadPoolExecutor$CallerRunsPolicy.class | Bin 0 -> 832 bytes .../ThreadPoolExecutor$DiscardOldestPolicy.class | Bin 0 -> 1002 bytes .../ThreadPoolExecutor$DiscardPolicy.class | Bin 0 -> 733 bytes .../concurrent/ThreadPoolExecutor$Worker.class | Bin 0 -> 2276 bytes .../java/util/concurrent/ThreadPoolExecutor.class | Bin 0 -> 14974 bytes .../lib/java/util/concurrent/TimeUnit$1.class | Bin 0 -> 1382 bytes .../lib/java/util/concurrent/TimeUnit$2.class | Bin 0 -> 1414 bytes .../lib/java/util/concurrent/TimeUnit$3.class | Bin 0 -> 1417 bytes .../lib/java/util/concurrent/TimeUnit$4.class | Bin 0 -> 1440 bytes .../lib/java/util/concurrent/TimeUnit$5.class | Bin 0 -> 1445 bytes .../lib/java/util/concurrent/TimeUnit$6.class | Bin 0 -> 1468 bytes .../lib/java/util/concurrent/TimeUnit$7.class | Bin 0 -> 1482 bytes .../lib/java/util/concurrent/TimeUnit.class | Bin 0 -> 3823 bytes .../java/util/concurrent/TimeoutException.class | Bin 0 -> 523 bytes .../util/concurrent/atomic/AtomicBoolean.class | Bin 0 -> 2174 bytes .../util/concurrent/atomic/AtomicInteger.class | Bin 0 -> 3106 bytes .../concurrent/atomic/AtomicIntegerArray.class | Bin 0 -> 3528 bytes ...ieldUpdater$AtomicIntegerFieldUpdaterImpl.class | Bin 0 -> 4605 bytes .../atomic/AtomicIntegerFieldUpdater.class | Bin 0 -> 2744 bytes .../java/util/concurrent/atomic/AtomicLong.class | Bin 0 -> 3192 bytes .../util/concurrent/atomic/AtomicLongArray.class | Bin 0 -> 3538 bytes .../atomic/AtomicLongFieldUpdater$CASUpdater.class | Bin 0 -> 4511 bytes .../AtomicLongFieldUpdater$LockedUpdater.class | Bin 0 -> 4539 bytes .../concurrent/atomic/AtomicLongFieldUpdater.class | Bin 0 -> 2909 bytes ...micMarkableReference$ReferenceBooleanPair.class | Bin 0 -> 1189 bytes .../atomic/AtomicMarkableReference.class | Bin 0 -> 3193 bytes .../util/concurrent/atomic/AtomicReference.class | Bin 0 -> 2739 bytes .../concurrent/atomic/AtomicReferenceArray.class | Bin 0 -> 3528 bytes ...ldUpdater$AtomicReferenceFieldUpdaterImpl.class | Bin 0 -> 5338 bytes .../atomic/AtomicReferenceFieldUpdater.class | Bin 0 -> 1995 bytes ...omicStampedReference$ReferenceIntegerPair.class | Bin 0 -> 1186 bytes .../concurrent/atomic/AtomicStampedReference.class | Bin 0 -> 3208 bytes .../locks/AbstractOwnableSynchronizer.class | Bin 0 -> 754 bytes ...actQueuedLongSynchronizer$ConditionObject.class | Bin 0 -> 6818 bytes .../AbstractQueuedLongSynchronizer$Node.class | Bin 0 -> 1553 bytes .../locks/AbstractQueuedLongSynchronizer.class | Bin 0 -> 14442 bytes ...bstractQueuedSynchronizer$ConditionObject.class | Bin 0 -> 6683 bytes .../locks/AbstractQueuedSynchronizer$Node.class | Bin 0 -> 1529 bytes .../locks/AbstractQueuedSynchronizer.class | Bin 0 -> 14257 bytes .../lib/java/util/concurrent/locks/Condition.class | Bin 0 -> 422 bytes .../lib/java/util/concurrent/locks/Lock.class | Bin 0 -> 387 bytes .../java/util/concurrent/locks/LockSupport.class | Bin 0 -> 2227 bytes .../java/util/concurrent/locks/ReadWriteLock.class | Bin 0 -> 211 bytes .../concurrent/locks/ReentrantLock$FairSync.class | Bin 0 -> 1304 bytes .../locks/ReentrantLock$NonfairSync.class | Bin 0 -> 960 bytes .../util/concurrent/locks/ReentrantLock$Sync.class | Bin 0 -> 2389 bytes .../java/util/concurrent/locks/ReentrantLock.class | Bin 0 -> 4600 bytes .../locks/ReentrantReadWriteLock$FairSync.class | Bin 0 -> 837 bytes .../locks/ReentrantReadWriteLock$NonfairSync.class | Bin 0 -> 856 bytes .../locks/ReentrantReadWriteLock$ReadLock.class | Bin 0 -> 2473 bytes .../ReentrantReadWriteLock$Sync$HoldCounter.class | Bin 0 -> 846 bytes ...ReadWriteLock$Sync$ThreadLocalHoldCounter.class | Bin 0 -> 1021 bytes .../locks/ReentrantReadWriteLock$Sync.class | Bin 0 -> 5082 bytes .../locks/ReentrantReadWriteLock$WriteLock.class | Bin 0 -> 2795 bytes .../concurrent/locks/ReentrantReadWriteLock.class | Bin 0 -> 5343 bytes .../lib/java/util/jar/Attributes$Name.class | Bin 0 -> 2920 bytes .../classpath/lib/java/util/jar/Attributes.class | Bin 0 -> 3812 bytes libjava/classpath/lib/java/util/jar/JarEntry.class | Bin 0 -> 1895 bytes .../classpath/lib/java/util/jar/JarException.class | Bin 0 -> 508 bytes .../java/util/jar/JarFile$EntryInputStream.class | Bin 0 -> 5747 bytes .../lib/java/util/jar/JarFile$JarEnumeration.class | Bin 0 -> 2148 bytes libjava/classpath/lib/java/util/jar/JarFile.class | Bin 0 -> 14110 bytes .../lib/java/util/jar/JarInputStream.class | Bin 0 -> 2192 bytes .../lib/java/util/jar/JarOutputStream.class | Bin 0 -> 1201 bytes libjava/classpath/lib/java/util/jar/Manifest.class | Bin 0 -> 2568 bytes .../lib/java/util/logging/ConsoleHandler.class | Bin 0 -> 938 bytes .../lib/java/util/logging/ErrorManager.class | Bin 0 -> 1654 bytes .../lib/java/util/logging/FileHandler$ostr.class | Bin 0 -> 1249 bytes .../lib/java/util/logging/FileHandler.class | Bin 0 -> 6238 bytes .../classpath/lib/java/util/logging/Filter.class | Bin 0 -> 167 bytes .../lib/java/util/logging/Formatter.class | Bin 0 -> 1482 bytes .../classpath/lib/java/util/logging/Handler.class | Bin 0 -> 2968 bytes .../classpath/lib/java/util/logging/Level.class | Bin 0 -> 3397 bytes .../lib/java/util/logging/LogManager$1.class | Bin 0 -> 2265 bytes .../lib/java/util/logging/LogManager.class | Bin 0 -> 13097 bytes .../lib/java/util/logging/LogRecord.class | Bin 0 -> 4865 bytes .../classpath/lib/java/util/logging/Logger$1.class | Bin 0 -> 588 bytes .../classpath/lib/java/util/logging/Logger.class | Bin 0 -> 12065 bytes .../lib/java/util/logging/LoggingMXBean.class | Bin 0 -> 395 bytes .../lib/java/util/logging/LoggingPermission.class | Bin 0 -> 852 bytes .../lib/java/util/logging/MemoryHandler.class | Bin 0 -> 2945 bytes .../lib/java/util/logging/SimpleFormatter.class | Bin 0 -> 1997 bytes .../lib/java/util/logging/SocketHandler.class | Bin 0 -> 1932 bytes .../lib/java/util/logging/StreamHandler.class | Bin 0 -> 5354 bytes .../lib/java/util/logging/XMLFormatter.class | Bin 0 -> 4482 bytes .../java/util/prefs/AbstractPreferences$1.class | Bin 0 -> 1009 bytes .../java/util/prefs/AbstractPreferences$2.class | Bin 0 -> 1104 bytes .../lib/java/util/prefs/AbstractPreferences.class | Bin 0 -> 15751 bytes .../java/util/prefs/BackingStoreException.class | Bin 0 -> 1046 bytes .../prefs/InvalidPreferencesFormatException.class | Bin 0 -> 1236 bytes .../lib/java/util/prefs/NodeChangeEvent.class | Bin 0 -> 1309 bytes .../lib/java/util/prefs/NodeChangeListener.class | Bin 0 -> 247 bytes .../java/util/prefs/PreferenceChangeEvent.class | Bin 0 -> 1485 bytes .../java/util/prefs/PreferenceChangeListener.class | Bin 0 -> 248 bytes .../lib/java/util/prefs/Preferences$1.class | Bin 0 -> 1282 bytes .../lib/java/util/prefs/Preferences.class | Bin 0 -> 5352 bytes .../lib/java/util/prefs/PreferencesFactory.class | Bin 0 -> 207 bytes .../lib/java/util/regex/MatchResult.class | Bin 0 -> 270 bytes .../classpath/lib/java/util/regex/Matcher.class | Bin 0 -> 5016 bytes .../classpath/lib/java/util/regex/Pattern.class | Bin 0 -> 4266 bytes .../java/util/regex/PatternSyntaxException.class | Bin 0 -> 1455 bytes libjava/classpath/lib/java/util/zip/Adler32.class | Bin 0 -> 1181 bytes libjava/classpath/lib/java/util/zip/CRC32.class | Bin 0 -> 1280 bytes .../lib/java/util/zip/CheckedInputStream.class | Bin 0 -> 1443 bytes .../lib/java/util/zip/CheckedOutputStream.class | Bin 0 -> 1062 bytes libjava/classpath/lib/java/util/zip/Checksum.class | Bin 0 -> 200 bytes .../lib/java/util/zip/DataFormatException.class | Bin 0 -> 518 bytes libjava/classpath/lib/java/util/zip/Deflater.class | Bin 0 -> 2397 bytes .../lib/java/util/zip/DeflaterOutputStream.class | Bin 0 -> 2157 bytes .../lib/java/util/zip/GZIPInputStream.class | Bin 0 -> 4268 bytes .../lib/java/util/zip/GZIPOutputStream.class | Bin 0 -> 1763 bytes libjava/classpath/lib/java/util/zip/Inflater.class | Bin 0 -> 1441 bytes .../lib/java/util/zip/InflaterInputStream.class | Bin 0 -> 3282 bytes .../classpath/lib/java/util/zip/ZipConstants.class | Bin 0 -> 1279 bytes libjava/classpath/lib/java/util/zip/ZipEntry.class | Bin 0 -> 5378 bytes .../classpath/lib/java/util/zip/ZipException.class | Bin 0 -> 497 bytes .../classpath/lib/java/util/zip/ZipFile$1.class | Bin 0 -> 1024 bytes .../java/util/zip/ZipFile$PartialInputStream.class | Bin 0 -> 5138 bytes .../util/zip/ZipFile$ZipEntryEnumeration.class | Bin 0 -> 1173 bytes libjava/classpath/lib/java/util/zip/ZipFile.class | Bin 0 -> 7716 bytes .../lib/java/util/zip/ZipInputStream.class | Bin 0 -> 6130 bytes .../lib/java/util/zip/ZipOutputStream.class | Bin 0 -> 6670 bytes .../lib/javax/accessibility/Accessible.class | Bin 0 -> 196 bytes .../lib/javax/accessibility/AccessibleAction.class | Bin 0 -> 449 bytes .../AccessibleAttributeSequence.class | Bin 0 -> 449 bytes .../lib/javax/accessibility/AccessibleBundle.class | Bin 0 -> 919 bytes .../javax/accessibility/AccessibleComponent.class | Bin 0 -> 1188 bytes .../javax/accessibility/AccessibleContext.class | Bin 0 -> 5243 bytes .../accessibility/AccessibleEditableText.class | Bin 0 -> 532 bytes .../AccessibleExtendedComponent.class | Bin 0 -> 361 bytes .../accessibility/AccessibleExtendedTable.class | Bin 0 -> 291 bytes .../accessibility/AccessibleExtendedText.class | Bin 0 -> 471 bytes .../javax/accessibility/AccessibleHyperlink.class | Bin 0 -> 678 bytes .../javax/accessibility/AccessibleHypertext.class | Bin 0 -> 305 bytes .../lib/javax/accessibility/AccessibleIcon.class | Bin 0 -> 327 bytes .../javax/accessibility/AccessibleKeyBinding.class | Bin 0 -> 244 bytes .../javax/accessibility/AccessibleRelation.class | Bin 0 -> 2740 bytes .../accessibility/AccessibleRelationSet.class | Bin 0 -> 2893 bytes .../accessibility/AccessibleResourceBundle.class | Bin 0 -> 481 bytes .../lib/javax/accessibility/AccessibleRole.class | Bin 0 -> 4524 bytes .../javax/accessibility/AccessibleSelection.class | Bin 0 -> 453 bytes .../lib/javax/accessibility/AccessibleState.class | Bin 0 -> 2352 bytes .../javax/accessibility/AccessibleStateSet.class | Bin 0 -> 2107 bytes .../javax/accessibility/AccessibleStreamable.class | Bin 0 -> 284 bytes .../lib/javax/accessibility/AccessibleTable.class | Bin 0 -> 1206 bytes .../accessibility/AccessibleTableModelChange.class | Bin 0 -> 379 bytes .../lib/javax/accessibility/AccessibleText.class | Bin 0 -> 668 bytes .../accessibility/AccessibleTextSequence.class | Bin 0 -> 415 bytes .../lib/javax/accessibility/AccessibleValue.class | Bin 0 -> 322 bytes .../lib/javax/crypto/BadPaddingException.class | Bin 0 -> 539 bytes libjava/classpath/lib/javax/crypto/Cipher.class | Bin 0 -> 11080 bytes .../lib/javax/crypto/CipherInputStream.class | Bin 0 -> 4883 bytes .../lib/javax/crypto/CipherOutputStream.class | Bin 0 -> 1742 bytes libjava/classpath/lib/javax/crypto/CipherSpi.class | Bin 0 -> 2771 bytes .../lib/javax/crypto/EncryptedPrivateKeyInfo.class | Bin 0 -> 4351 bytes .../lib/javax/crypto/ExemptionMechanism.class | Bin 0 -> 4810 bytes .../javax/crypto/ExemptionMechanismException.class | Bin 0 -> 563 bytes .../lib/javax/crypto/ExemptionMechanismSpi.class | Bin 0 -> 855 bytes .../javax/crypto/IllegalBlockSizeException.class | Bin 0 -> 557 bytes .../classpath/lib/javax/crypto/KeyAgreement.class | Bin 0 -> 4848 bytes .../lib/javax/crypto/KeyAgreementSpi.class | Bin 0 -> 952 bytes .../classpath/lib/javax/crypto/KeyGenerator.class | Bin 0 -> 4125 bytes .../lib/javax/crypto/KeyGeneratorSpi.class | Bin 0 -> 617 bytes libjava/classpath/lib/javax/crypto/Mac.class | Bin 0 -> 5444 bytes libjava/classpath/lib/javax/crypto/MacSpi.class | Bin 0 -> 1179 bytes .../lib/javax/crypto/NoSuchPaddingException.class | Bin 0 -> 548 bytes .../classpath/lib/javax/crypto/NullCipher.class | Bin 0 -> 423 bytes .../lib/javax/crypto/NullCipherImpl.class | Bin 0 -> 2559 bytes .../classpath/lib/javax/crypto/SealedObject.class | Bin 0 -> 4493 bytes libjava/classpath/lib/javax/crypto/SecretKey.class | Bin 0 -> 201 bytes .../lib/javax/crypto/SecretKeyFactory.class | Bin 0 -> 3822 bytes .../lib/javax/crypto/SecretKeyFactorySpi.class | Bin 0 -> 713 bytes .../lib/javax/crypto/ShortBufferException.class | Bin 0 -> 542 bytes .../lib/javax/crypto/interfaces/DHKey.class | Bin 0 -> 175 bytes .../lib/javax/crypto/interfaces/DHPrivateKey.class | Bin 0 -> 304 bytes .../lib/javax/crypto/interfaces/DHPublicKey.class | Bin 0 -> 301 bytes .../lib/javax/crypto/interfaces/PBEKey.class | Bin 0 -> 299 bytes .../lib/javax/crypto/spec/DESKeySpec.class | Bin 0 -> 2243 bytes .../lib/javax/crypto/spec/DESedeKeySpec.class | Bin 0 -> 1230 bytes .../lib/javax/crypto/spec/DHGenParameterSpec.class | Bin 0 -> 642 bytes .../lib/javax/crypto/spec/DHParameterSpec.class | Bin 0 -> 947 bytes .../lib/javax/crypto/spec/DHPrivateKeySpec.class | Bin 0 -> 798 bytes .../lib/javax/crypto/spec/DHPublicKeySpec.class | Bin 0 -> 795 bytes .../lib/javax/crypto/spec/IvParameterSpec.class | Bin 0 -> 731 bytes .../lib/javax/crypto/spec/PBEKeySpec.class | Bin 0 -> 2279 bytes .../lib/javax/crypto/spec/PBEParameterSpec.class | Bin 0 -> 643 bytes .../lib/javax/crypto/spec/RC2ParameterSpec.class | Bin 0 -> 1599 bytes .../lib/javax/crypto/spec/RC5ParameterSpec.class | Bin 0 -> 1956 bytes .../lib/javax/crypto/spec/SecretKeySpec.class | Bin 0 -> 1600 bytes .../classpath/lib/javax/imageio/IIOException.class | Bin 0 -> 598 bytes libjava/classpath/lib/javax/imageio/IIOImage.class | Bin 0 -> 2986 bytes libjava/classpath/lib/javax/imageio/IIOParam.class | Bin 0 -> 4094 bytes .../lib/javax/imageio/IIOParamController.class | Bin 0 -> 180 bytes .../classpath/lib/javax/imageio/ImageIO$1.class | Bin 0 -> 1187 bytes .../imageio/ImageIO$ImageReaderIterator.class | Bin 0 -> 1779 bytes .../imageio/ImageIO$ImageWriterIterator.class | Bin 0 -> 1779 bytes .../javax/imageio/ImageIO$ReaderFormatFilter.class | Bin 0 -> 996 bytes .../imageio/ImageIO$ReaderMIMETypeFilter.class | Bin 0 -> 996 bytes .../javax/imageio/ImageIO$ReaderObjectFilter.class | Bin 0 -> 843 bytes .../javax/imageio/ImageIO$ReaderSuffixFilter.class | Bin 0 -> 994 bytes .../javax/imageio/ImageIO$TranscoderFilter.class | Bin 0 -> 1392 bytes .../javax/imageio/ImageIO$WriterFormatFilter.class | Bin 0 -> 996 bytes .../imageio/ImageIO$WriterMIMETypeFilter.class | Bin 0 -> 996 bytes .../javax/imageio/ImageIO$WriterObjectFilter.class | Bin 0 -> 1193 bytes .../javax/imageio/ImageIO$WriterSuffixFilter.class | Bin 0 -> 994 bytes libjava/classpath/lib/javax/imageio/ImageIO.class | Bin 0 -> 13182 bytes .../lib/javax/imageio/ImageReadParam.class | Bin 0 -> 2209 bytes .../classpath/lib/javax/imageio/ImageReader.class | Bin 0 -> 20387 bytes .../lib/javax/imageio/ImageTranscoder.class | Bin 0 -> 438 bytes .../lib/javax/imageio/ImageTypeSpecifier.class | Bin 0 -> 6079 bytes .../lib/javax/imageio/ImageWriteParam.class | Bin 0 -> 6550 bytes .../classpath/lib/javax/imageio/ImageWriter.class | Bin 0 -> 13487 bytes .../imageio/event/IIOReadProgressListener.class | Bin 0 -> 543 bytes .../imageio/event/IIOReadUpdateListener.class | Bin 0 -> 536 bytes .../imageio/event/IIOReadWarningListener.class | Bin 0 -> 253 bytes .../imageio/event/IIOWriteProgressListener.class | Bin 0 -> 493 bytes .../imageio/event/IIOWriteWarningListener.class | Bin 0 -> 256 bytes .../imageio/metadata/IIOInvalidTreeException.class | Bin 0 -> 953 bytes .../lib/javax/imageio/metadata/IIOMetadata.class | Bin 0 -> 5437 bytes .../imageio/metadata/IIOMetadataController.class | Bin 0 -> 207 bytes .../javax/imageio/metadata/IIOMetadataFormat.class | Bin 0 -> 2613 bytes .../imageio/metadata/IIOMetadataFormatImpl$1.class | Bin 0 -> 818 bytes ...IIOMetadataFormatImpl$IIOMetadataNodeAttr.class | Bin 0 -> 1846 bytes ...dataFormatImpl$IIOMetadataNodeAttrBounded.class | Bin 0 -> 1379 bytes ...aFormatImpl$IIOMetadataNodeAttrEnumerated.class | Bin 0 -> 1283 bytes ...etadataFormatImpl$IIOMetadataNodeAttrList.class | Bin 0 -> 1187 bytes .../IIOMetadataFormatImpl$NodeObject.class | Bin 0 -> 1419 bytes .../IIOMetadataFormatImpl$NodeObjectArray.class | Bin 0 -> 1284 bytes .../IIOMetadataFormatImpl$NodeObjectBounded.class | Bin 0 -> 1499 bytes ...IOMetadataFormatImpl$NodeObjectEnumerated.class | Bin 0 -> 1253 bytes .../imageio/metadata/IIOMetadataFormatImpl.class | Bin 0 -> 16110 bytes .../metadata/IIOMetadataNode$IIONamedNodeMap.class | Bin 0 -> 2445 bytes .../metadata/IIOMetadataNode$IIONodeList.class | Bin 0 -> 1154 bytes .../javax/imageio/metadata/IIOMetadataNode.class | Bin 0 -> 10716 bytes .../imageio/plugins/bmp/BMPImageWriteParam.class | Bin 0 -> 1248 bytes .../imageio/plugins/jpeg/JPEGHuffmanTable.class | Bin 0 -> 5297 bytes .../imageio/plugins/jpeg/JPEGImageReadParam.class | Bin 0 -> 1750 bytes .../imageio/plugins/jpeg/JPEGImageWriteParam.class | Bin 0 -> 3531 bytes .../javax/imageio/plugins/jpeg/JPEGQTable.class | Bin 0 -> 3025 bytes .../lib/javax/imageio/spi/IIORegistry.class | Bin 0 -> 2596 bytes .../lib/javax/imageio/spi/IIOServiceProvider.class | Bin 0 -> 1399 bytes .../javax/imageio/spi/ImageInputStreamSpi.class | Bin 0 -> 1458 bytes .../javax/imageio/spi/ImageOutputStreamSpi.class | Bin 0 -> 1467 bytes .../lib/javax/imageio/spi/ImageReaderSpi.class | Bin 0 -> 3023 bytes .../javax/imageio/spi/ImageReaderWriterSpi.class | Bin 0 -> 4061 bytes .../lib/javax/imageio/spi/ImageTranscoderSpi.class | Bin 0 -> 694 bytes .../lib/javax/imageio/spi/ImageWriterSpi.class | Bin 0 -> 3443 bytes .../javax/imageio/spi/RegisterableService.class | Bin 0 -> 336 bytes .../lib/javax/imageio/spi/ServiceRegistry$1.class | Bin 0 -> 1076 bytes .../lib/javax/imageio/spi/ServiceRegistry$2.class | Bin 0 -> 1168 bytes .../javax/imageio/spi/ServiceRegistry$Filter.class | Bin 0 -> 256 bytes .../lib/javax/imageio/spi/ServiceRegistry.class | Bin 0 -> 8702 bytes .../imageio/stream/FileCacheImageInputStream.class | Bin 0 -> 1455 bytes .../stream/FileCacheImageOutputStream.class | Bin 0 -> 1740 bytes .../imageio/stream/FileImageInputStream.class | Bin 0 -> 1567 bytes .../imageio/stream/FileImageOutputStream.class | Bin 0 -> 1956 bytes .../lib/javax/imageio/stream/IIOByteBuffer.class | Bin 0 -> 972 bytes .../javax/imageio/stream/ImageInputStream.class | Bin 0 -> 1680 bytes .../imageio/stream/ImageInputStreamImpl.class | Bin 0 -> 8798 bytes .../javax/imageio/stream/ImageOutputStream.class | Bin 0 -> 1056 bytes .../imageio/stream/ImageOutputStreamImpl.class | Bin 0 -> 4842 bytes .../stream/MemoryCacheImageInputStream.class | Bin 0 -> 1907 bytes .../stream/MemoryCacheImageOutputStream.class | Bin 0 -> 1612 bytes .../classpath/lib/javax/management/Attribute.class | Bin 0 -> 1293 bytes .../lib/javax/management/AttributeList.class | Bin 0 -> 1795 bytes .../management/AttributeNotFoundException.class | Bin 0 -> 502 bytes .../management/BadAttributeValueExpException.class | Bin 0 -> 1050 bytes .../management/BadBinaryOpValueExpException.class | Bin 0 -> 1167 bytes .../management/BadStringOperationException.class | Bin 0 -> 960 bytes .../lib/javax/management/DynamicMBean.class | Bin 0 -> 804 bytes .../InstanceAlreadyExistsException.class | Bin 0 -> 578 bytes .../management/InstanceNotFoundException.class | Bin 0 -> 563 bytes .../javax/management/IntrospectionException.class | Bin 0 -> 554 bytes .../management/InvalidApplicationException.class | Bin 0 -> 1044 bytes .../InvalidAttributeValueException.class | Bin 0 -> 514 bytes .../lib/javax/management/JMException.class | Bin 0 -> 440 bytes .../lib/javax/management/JMRuntimeException.class | Bin 0 -> 468 bytes .../management/ListenerNotFoundException.class | Bin 0 -> 563 bytes .../lib/javax/management/MBeanAttributeInfo.class | Bin 0 -> 3515 bytes .../javax/management/MBeanConstructorInfo.class | Bin 0 -> 2979 bytes .../lib/javax/management/MBeanException.class | Bin 0 -> 896 bytes .../lib/javax/management/MBeanFeatureInfo.class | Bin 0 -> 1654 bytes .../classpath/lib/javax/management/MBeanInfo.class | Bin 0 -> 4188 bytes .../javax/management/MBeanNotificationInfo.class | Bin 0 -> 2094 bytes .../lib/javax/management/MBeanOperationInfo.class | Bin 0 -> 4069 bytes .../lib/javax/management/MBeanParameterInfo.class | Bin 0 -> 1809 bytes .../management/MBeanPermission$NameHolder.class | Bin 0 -> 2646 bytes .../lib/javax/management/MBeanPermission.class | Bin 0 -> 4723 bytes .../lib/javax/management/MBeanRegistration.class | Bin 0 -> 408 bytes .../management/MBeanRegistrationException.class | Bin 0 -> 653 bytes .../lib/javax/management/MBeanServer.class | Bin 0 -> 4177 bytes .../lib/javax/management/MBeanServerBuilder.class | Bin 0 -> 996 bytes .../javax/management/MBeanServerConnection.class | Bin 0 -> 3243 bytes .../lib/javax/management/MBeanServerDelegate.class | Bin 0 -> 4939 bytes .../management/MBeanServerDelegateMBean.class | Bin 0 -> 395 bytes .../lib/javax/management/MBeanServerFactory.class | Bin 0 -> 6217 bytes .../javax/management/MBeanServerNotification.class | Bin 0 -> 961 bytes ...llection$MBeanServerPermissionEnumeration.class | Bin 0 -> 1404 bytes ...ermission$MBeanServerPermissionCollection.class | Bin 0 -> 2905 bytes .../javax/management/MBeanServerPermission.class | Bin 0 -> 3110 bytes .../javax/management/MBeanTrustPermission.class | Bin 0 -> 912 bytes .../management/MalformedObjectNameException.class | Bin 0 -> 572 bytes .../management/NotCompliantMBeanException.class | Bin 0 -> 566 bytes .../lib/javax/management/Notification.class | Bin 0 -> 2790 bytes .../javax/management/NotificationBroadcaster.class | Bin 0 -> 557 bytes .../lib/javax/management/NotificationEmitter.class | Bin 0 -> 392 bytes .../lib/javax/management/NotificationFilter.class | Bin 0 -> 231 bytes .../javax/management/NotificationListener.class | Bin 0 -> 253 bytes .../lib/javax/management/ObjectInstance.class | Bin 0 -> 1460 bytes .../lib/javax/management/ObjectName.class | Bin 0 -> 8761 bytes .../lib/javax/management/OperationsException.class | Bin 0 -> 537 bytes .../classpath/lib/javax/management/QueryExp.class | Bin 0 -> 486 bytes .../lib/javax/management/ReflectionException.class | Bin 0 -> 911 bytes .../javax/management/RuntimeErrorException.class | Bin 0 -> 900 bytes .../javax/management/RuntimeMBeanException.class | Bin 0 -> 959 bytes .../management/RuntimeOperationsException.class | Bin 0 -> 974 bytes .../management/ServiceNotFoundException.class | Bin 0 -> 560 bytes .../lib/javax/management/StandardMBean.class | Bin 0 -> 14040 bytes .../classpath/lib/javax/management/ValueExp.class | Bin 0 -> 531 bytes .../management/loading/ClassLoaderRepository.class | Bin 0 -> 405 bytes .../lib/javax/management/openmbean/ArrayType.class | Bin 0 -> 3898 bytes .../javax/management/openmbean/CompositeData.class | Bin 0 -> 545 bytes .../openmbean/CompositeDataSupport.class | Bin 0 -> 5405 bytes .../javax/management/openmbean/CompositeType.class | Bin 0 -> 4543 bytes .../management/openmbean/InvalidKeyException.class | Bin 0 -> 563 bytes .../openmbean/InvalidOpenTypeException.class | Bin 0 -> 578 bytes .../openmbean/KeyAlreadyExistsException.class | Bin 0 -> 581 bytes .../management/openmbean/OpenDataException.class | Bin 0 -> 551 bytes .../openmbean/OpenMBeanAttributeInfo.class | Bin 0 -> 380 bytes .../openmbean/OpenMBeanAttributeInfoSupport.class | Bin 0 -> 7086 bytes .../openmbean/OpenMBeanConstructorInfo.class | Bin 0 -> 373 bytes .../OpenMBeanConstructorInfoSupport.class | Bin 0 -> 2540 bytes .../javax/management/openmbean/OpenMBeanInfo.class | Bin 0 -> 568 bytes .../openmbean/OpenMBeanInfoSupport.class | Bin 0 -> 3351 bytes .../openmbean/OpenMBeanOperationInfo.class | Bin 0 -> 483 bytes .../openmbean/OpenMBeanOperationInfoSupport.class | Bin 0 -> 3539 bytes .../openmbean/OpenMBeanParameterInfo.class | Bin 0 -> 651 bytes .../openmbean/OpenMBeanParameterInfoSupport.class | Bin 0 -> 6517 bytes .../lib/javax/management/openmbean/OpenType.class | Bin 0 -> 2746 bytes .../javax/management/openmbean/SimpleType.class | Bin 0 -> 3353 bytes .../javax/management/openmbean/TabularData.class | Bin 0 -> 885 bytes .../management/openmbean/TabularDataSupport.class | Bin 0 -> 7234 bytes .../javax/management/openmbean/TabularType.class | Bin 0 -> 3680 bytes .../lib/javax/naming/AuthenticationException.class | Bin 0 -> 545 bytes .../AuthenticationNotSupportedException.class | Bin 0 -> 581 bytes .../classpath/lib/javax/naming/BinaryRefAddr.class | Bin 0 -> 2131 bytes libjava/classpath/lib/javax/naming/Binding.class | Bin 0 -> 1937 bytes .../lib/javax/naming/CannotProceedException.class | Bin 0 -> 1824 bytes .../lib/javax/naming/CommunicationException.class | Bin 0 -> 534 bytes .../classpath/lib/javax/naming/CompositeName.class | Bin 0 -> 6437 bytes .../classpath/lib/javax/naming/CompoundName.class | Bin 0 -> 9469 bytes .../lib/javax/naming/ConfigurationException.class | Bin 0 -> 534 bytes libjava/classpath/lib/javax/naming/Context.class | Bin 0 -> 3164 bytes .../javax/naming/ContextNotEmptyException.class | Bin 0 -> 540 bytes .../lib/javax/naming/InitialContext.class | Bin 0 -> 10044 bytes .../naming/InsufficientResourcesException.class | Bin 0 -> 558 bytes .../javax/naming/InterruptedNamingException.class | Bin 0 -> 546 bytes .../lib/javax/naming/InvalidNameException.class | Bin 0 -> 528 bytes .../lib/javax/naming/LimitExceededException.class | Bin 0 -> 534 bytes .../classpath/lib/javax/naming/LinkException.class | Bin 0 -> 2151 bytes .../lib/javax/naming/LinkLoopException.class | Bin 0 -> 517 bytes libjava/classpath/lib/javax/naming/LinkRef.class | Bin 0 -> 1083 bytes .../lib/javax/naming/MalformedLinkException.class | Bin 0 -> 532 bytes libjava/classpath/lib/javax/naming/Name.class | Bin 0 -> 1134 bytes .../javax/naming/NameAlreadyBoundException.class | Bin 0 -> 543 bytes .../classpath/lib/javax/naming/NameClassPair.class | Bin 0 -> 1868 bytes .../lib/javax/naming/NameNotFoundException.class | Bin 0 -> 531 bytes .../classpath/lib/javax/naming/NameParser.class | Bin 0 -> 229 bytes .../lib/javax/naming/NamingEnumeration.class | Bin 0 -> 425 bytes .../lib/javax/naming/NamingException.class | Bin 0 -> 3473 bytes .../lib/javax/naming/NamingSecurityException.class | Bin 0 -> 537 bytes .../javax/naming/NoInitialContextException.class | Bin 0 -> 543 bytes .../lib/javax/naming/NoPermissionException.class | Bin 0 -> 539 bytes .../lib/javax/naming/NotContextException.class | Bin 0 -> 525 bytes .../naming/OperationNotSupportedException.class | Bin 0 -> 558 bytes .../lib/javax/naming/PartialResultException.class | Bin 0 -> 534 bytes libjava/classpath/lib/javax/naming/RefAddr.class | Bin 0 -> 1468 bytes libjava/classpath/lib/javax/naming/Reference.class | Bin 0 -> 4085 bytes .../classpath/lib/javax/naming/Referenceable.class | Bin 0 -> 229 bytes .../lib/javax/naming/ReferralException.class | Bin 0 -> 838 bytes .../javax/naming/ServiceUnavailableException.class | Bin 0 -> 549 bytes .../javax/naming/SizeLimitExceededException.class | Bin 0 -> 553 bytes .../classpath/lib/javax/naming/StringRefAddr.class | Bin 0 -> 610 bytes .../javax/naming/TimeLimitExceededException.class | Bin 0 -> 553 bytes .../lib/javax/naming/directory/Attribute.class | Bin 0 -> 928 bytes .../naming/directory/AttributeInUseException.class | Bin 0 -> 557 bytes .../directory/AttributeModificationException.class | Bin 0 -> 1327 bytes .../lib/javax/naming/directory/Attributes.class | Bin 0 -> 757 bytes .../BasicAttribute$BasicAttributeEnumeration.class | Bin 0 -> 1448 bytes .../javax/naming/directory/BasicAttribute.class | Bin 0 -> 5900 bytes ...asicAttributes$BasicAttributesEnumeration.class | Bin 0 -> 1671 bytes .../javax/naming/directory/BasicAttributes.class | Bin 0 -> 4910 bytes .../lib/javax/naming/directory/DirContext.class | Bin 0 -> 4072 bytes .../javax/naming/directory/InitialDirContext.class | Bin 0 -> 8037 bytes .../InvalidAttributeIdentifierException.class | Bin 0 -> 593 bytes .../directory/InvalidAttributeValueException.class | Bin 0 -> 578 bytes .../directory/InvalidAttributesException.class | Bin 0 -> 566 bytes .../directory/InvalidSearchControlsException.class | Bin 0 -> 578 bytes .../directory/InvalidSearchFilterException.class | Bin 0 -> 572 bytes .../javax/naming/directory/ModificationItem.class | Bin 0 -> 1285 bytes .../directory/NoSuchAttributeException.class | Bin 0 -> 560 bytes .../directory/SchemaViolationException.class | Bin 0 -> 560 bytes .../javax/naming/directory/SearchControls.class | Bin 0 -> 2181 bytes .../lib/javax/naming/directory/SearchResult.class | Bin 0 -> 2145 bytes .../lib/javax/naming/event/EventContext.class | Bin 0 -> 631 bytes .../lib/javax/naming/event/EventDirContext.class | Bin 0 -> 853 bytes .../naming/event/NamespaceChangeListener.class | Bin 0 -> 295 bytes .../lib/javax/naming/event/NamingEvent.class | Bin 0 -> 2012 bytes .../javax/naming/event/NamingExceptionEvent.class | Bin 0 -> 1239 bytes .../lib/javax/naming/event/NamingListener.class | Bin 0 -> 238 bytes .../javax/naming/event/ObjectChangeListener.class | Bin 0 -> 243 bytes .../classpath/lib/javax/naming/ldap/Control.class | Bin 0 -> 327 bytes .../lib/javax/naming/ldap/ControlFactory.class | Bin 0 -> 2274 bytes .../lib/javax/naming/ldap/ExtendedRequest.class | Bin 0 -> 382 bytes .../lib/javax/naming/ldap/ExtendedResponse.class | Bin 0 -> 231 bytes .../lib/javax/naming/ldap/HasControls.class | Bin 0 -> 233 bytes .../lib/javax/naming/ldap/InitialLdapContext.class | Bin 0 -> 2605 bytes .../lib/javax/naming/ldap/LdapContext.class | Bin 0 -> 779 bytes .../javax/naming/ldap/LdapReferralException.class | Bin 0 -> 920 bytes .../lib/javax/naming/ldap/StartTlsRequest.class | Bin 0 -> 1676 bytes .../lib/javax/naming/ldap/StartTlsResponse.class | Bin 0 -> 995 bytes .../naming/ldap/UnsolicitedNotification.class | Bin 0 -> 329 bytes .../naming/ldap/UnsolicitedNotificationEvent.class | Bin 0 -> 1113 bytes .../ldap/UnsolicitedNotificationListener.class | Bin 0 -> 287 bytes .../lib/javax/naming/spi/DirObjectFactory.class | Bin 0 -> 544 bytes .../javax/naming/spi/DirStateFactory$Result.class | Bin 0 -> 822 bytes .../lib/javax/naming/spi/DirStateFactory.class | Bin 0 -> 678 bytes .../lib/javax/naming/spi/DirectoryManager.class | Bin 0 -> 5499 bytes .../javax/naming/spi/InitialContextFactory.class | Bin 0 -> 345 bytes .../naming/spi/InitialContextFactoryBuilder.class | Bin 0 -> 405 bytes .../lib/javax/naming/spi/NamingManager.class | Bin 0 -> 9601 bytes .../lib/javax/naming/spi/ObjectFactory.class | Bin 0 -> 430 bytes .../javax/naming/spi/ObjectFactoryBuilder.class | Bin 0 -> 401 bytes .../lib/javax/naming/spi/ResolveResult.class | Bin 0 -> 1913 bytes .../classpath/lib/javax/naming/spi/Resolver.class | Bin 0 -> 582 bytes .../lib/javax/naming/spi/StateFactory.class | Bin 0 -> 434 bytes .../lib/javax/net/ServerSocketFactory.class | Bin 0 -> 1235 bytes .../classpath/lib/javax/net/SocketFactory.class | Bin 0 -> 1351 bytes .../lib/javax/net/VanillaServerSocketFactory.class | Bin 0 -> 1067 bytes .../lib/javax/net/VanillaSocketFactory.class | Bin 0 -> 1470 bytes .../net/ssl/CertPathTrustManagerParameters.class | Bin 0 -> 747 bytes .../javax/net/ssl/HandshakeCompletedEvent.class | Bin 0 -> 1889 bytes .../javax/net/ssl/HandshakeCompletedListener.class | Bin 0 -> 252 bytes .../lib/javax/net/ssl/HostnameVerifier.class | Bin 0 -> 194 bytes .../lib/javax/net/ssl/HttpsURLConnection.class | Bin 0 -> 3247 bytes .../classpath/lib/javax/net/ssl/KeyManager.class | Bin 0 -> 115 bytes .../lib/javax/net/ssl/KeyManagerFactory$1.class | Bin 0 -> 717 bytes .../lib/javax/net/ssl/KeyManagerFactory.class | Bin 0 -> 4221 bytes .../lib/javax/net/ssl/KeyManagerFactorySpi.class | Bin 0 -> 704 bytes .../javax/net/ssl/KeyStoreBuilderParameters.class | Bin 0 -> 374 bytes .../javax/net/ssl/ManagerFactoryParameters.class | Bin 0 -> 143 bytes .../classpath/lib/javax/net/ssl/SSLContext.class | Bin 0 -> 4340 bytes .../lib/javax/net/ssl/SSLContextSpi.class | Bin 0 -> 861 bytes .../classpath/lib/javax/net/ssl/SSLEngine.class | Bin 0 -> 2522 bytes .../net/ssl/SSLEngineResult$HandshakeStatus.class | Bin 0 -> 1388 bytes .../lib/javax/net/ssl/SSLEngineResult$Status.class | Bin 0 -> 1265 bytes .../lib/javax/net/ssl/SSLEngineResult.class | Bin 0 -> 2115 bytes .../classpath/lib/javax/net/ssl/SSLException.class | Bin 0 -> 855 bytes .../lib/javax/net/ssl/SSLHandshakeException.class | Bin 0 -> 390 bytes .../lib/javax/net/ssl/SSLKeyException.class | Bin 0 -> 372 bytes .../javax/net/ssl/SSLPeerUnverifiedException.class | Bin 0 -> 405 bytes .../lib/javax/net/ssl/SSLPermission.class | Bin 0 -> 579 bytes .../lib/javax/net/ssl/SSLProtocolException.class | Bin 0 -> 387 bytes .../lib/javax/net/ssl/SSLServerSocket.class | Bin 0 -> 1272 bytes .../lib/javax/net/ssl/SSLServerSocketFactory.class | Bin 0 -> 2694 bytes .../classpath/lib/javax/net/ssl/SSLSession.class | Bin 0 -> 1067 bytes .../lib/javax/net/ssl/SSLSessionBindingEvent.class | Bin 0 -> 852 bytes .../javax/net/ssl/SSLSessionBindingListener.class | Bin 0 -> 264 bytes .../lib/javax/net/ssl/SSLSessionContext.class | Bin 0 -> 357 bytes .../classpath/lib/javax/net/ssl/SSLSocket.class | Bin 0 -> 1795 bytes .../lib/javax/net/ssl/SSLSocketFactory.class | Bin 0 -> 2826 bytes .../javax/net/ssl/TrivialHostnameVerifier.class | Bin 0 -> 568 bytes .../classpath/lib/javax/net/ssl/TrustManager.class | Bin 0 -> 119 bytes .../lib/javax/net/ssl/TrustManagerFactory$1.class | Bin 0 -> 727 bytes .../lib/javax/net/ssl/TrustManagerFactory.class | Bin 0 -> 4189 bytes .../lib/javax/net/ssl/TrustManagerFactorySpi.class | Bin 0 -> 619 bytes .../lib/javax/net/ssl/X509ExtendedKeyManager.class | Bin 0 -> 912 bytes .../lib/javax/net/ssl/X509KeyManager.class | Bin 0 -> 665 bytes .../lib/javax/net/ssl/X509TrustManager.class | Bin 0 -> 429 bytes .../lib/javax/print/AttributeException.class | Bin 0 -> 257 bytes .../lib/javax/print/CancelablePrintJob.class | Bin 0 -> 238 bytes libjava/classpath/lib/javax/print/Doc.class | Bin 0 -> 434 bytes .../lib/javax/print/DocFlavor$BYTE_ARRAY.class | Bin 0 -> 2275 bytes .../lib/javax/print/DocFlavor$CHAR_ARRAY.class | Bin 0 -> 758 bytes .../lib/javax/print/DocFlavor$INPUT_STREAM.class | Bin 0 -> 2298 bytes .../lib/javax/print/DocFlavor$READER.class | Bin 0 -> 758 bytes .../javax/print/DocFlavor$SERVICE_FORMATTED.class | Bin 0 -> 910 bytes .../lib/javax/print/DocFlavor$STRING.class | Bin 0 -> 760 bytes .../classpath/lib/javax/print/DocFlavor$URL.class | Bin 0 -> 2264 bytes libjava/classpath/lib/javax/print/DocFlavor.class | Bin 0 -> 5538 bytes .../classpath/lib/javax/print/DocPrintJob.class | Bin 0 -> 719 bytes .../lib/javax/print/FlavorException.class | Bin 0 -> 184 bytes libjava/classpath/lib/javax/print/MultiDoc.class | Bin 0 -> 248 bytes .../lib/javax/print/MultiDocPrintJob.class | Bin 0 -> 303 bytes .../lib/javax/print/MultiDocPrintService.class | Bin 0 -> 233 bytes .../classpath/lib/javax/print/PrintException.class | Bin 0 -> 788 bytes .../classpath/lib/javax/print/PrintService.class | Bin 0 -> 1813 bytes .../lib/javax/print/PrintServiceLookup.class | Bin 0 -> 3781 bytes libjava/classpath/lib/javax/print/ServiceUI.class | Bin 0 -> 1871 bytes .../lib/javax/print/ServiceUIFactory.class | Bin 0 -> 814 bytes libjava/classpath/lib/javax/print/SimpleDoc.class | Bin 0 -> 2719 bytes .../lib/javax/print/StreamPrintService.class | Bin 0 -> 779 bytes .../javax/print/StreamPrintServiceFactory.class | Bin 0 -> 1596 bytes .../classpath/lib/javax/print/URIException.class | Bin 0 -> 333 bytes .../lib/javax/print/attribute/Attribute.class | Bin 0 -> 312 bytes .../lib/javax/print/attribute/AttributeSet.class | Bin 0 -> 706 bytes ...buteSetUtilities$SynchronizedAttributeSet.class | Bin 0 -> 2396 bytes ...eSetUtilities$SynchronizedDocAttributeSet.class | Bin 0 -> 776 bytes ...tilities$SynchronizedPrintJobAttributeSet.class | Bin 0 -> 806 bytes ...ties$SynchronizedPrintRequestAttributeSet.class | Bin 0 -> 830 bytes ...ties$SynchronizedPrintServiceAttributeSet.class | Bin 0 -> 830 bytes ...buteSetUtilities$UnmodifiableAttributeSet.class | Bin 0 -> 2385 bytes ...eSetUtilities$UnmodifiableDocAttributeSet.class | Bin 0 -> 776 bytes ...tilities$UnmodifiablePrintJobAttributeSet.class | Bin 0 -> 806 bytes ...ties$UnmodifiablePrintRequestAttributeSet.class | Bin 0 -> 830 bytes ...ties$UnmodifiablePrintServiceAttributeSet.class | Bin 0 -> 830 bytes .../print/attribute/AttributeSetUtilities.class | Bin 0 -> 4904 bytes .../lib/javax/print/attribute/DateTimeSyntax.class | Bin 0 -> 1129 bytes .../lib/javax/print/attribute/DocAttribute.class | Bin 0 -> 166 bytes .../javax/print/attribute/DocAttributeSet.class | Bin 0 -> 287 bytes .../lib/javax/print/attribute/EnumSyntax.class | Bin 0 -> 1919 bytes .../javax/print/attribute/HashAttributeSet.class | Bin 0 -> 6236 bytes .../print/attribute/HashDocAttributeSet.class | Bin 0 -> 1266 bytes .../print/attribute/HashPrintJobAttributeSet.class | Bin 0 -> 1321 bytes .../attribute/HashPrintRequestAttributeSet.class | Bin 0 -> 1365 bytes .../attribute/HashPrintServiceAttributeSet.class | Bin 0 -> 1365 bytes .../lib/javax/print/attribute/IntegerSyntax.class | Bin 0 -> 1215 bytes .../javax/print/attribute/PrintJobAttribute.class | Bin 0 -> 176 bytes .../print/attribute/PrintJobAttributeSet.class | Bin 0 -> 297 bytes .../print/attribute/PrintRequestAttribute.class | Bin 0 -> 184 bytes .../print/attribute/PrintRequestAttributeSet.class | Bin 0 -> 305 bytes .../print/attribute/PrintServiceAttribute.class | Bin 0 -> 184 bytes .../print/attribute/PrintServiceAttributeSet.class | Bin 0 -> 305 bytes .../javax/print/attribute/ResolutionSyntax.class | Bin 0 -> 2590 bytes .../print/attribute/SetOfIntegerSyntax$1.class | Bin 0 -> 745 bytes .../javax/print/attribute/SetOfIntegerSyntax.class | Bin 0 -> 5008 bytes .../lib/javax/print/attribute/Size2DSyntax.class | Bin 0 -> 2497 bytes .../print/attribute/SupportedValuesAttribute.class | Bin 0 -> 190 bytes .../lib/javax/print/attribute/TextSyntax.class | Bin 0 -> 1403 bytes .../lib/javax/print/attribute/URISyntax.class | Bin 0 -> 1100 bytes .../print/attribute/UnmodifiableSetException.class | Bin 0 -> 496 bytes .../print/attribute/standard/Chromaticity.class | Bin 0 -> 1462 bytes .../print/attribute/standard/ColorSupported.class | Bin 0 -> 1410 bytes .../print/attribute/standard/Compression.class | Bin 0 -> 1505 bytes .../javax/print/attribute/standard/Copies.class | Bin 0 -> 1081 bytes .../print/attribute/standard/CopiesSupported.class | Bin 0 -> 1274 bytes .../attribute/standard/DateTimeAtCompleted.class | Bin 0 -> 985 bytes .../attribute/standard/DateTimeAtCreation.class | Bin 0 -> 981 bytes .../attribute/standard/DateTimeAtProcessing.class | Bin 0 -> 989 bytes .../print/attribute/standard/Destination.class | Bin 0 -> 1001 bytes .../print/attribute/standard/DocumentName.class | Bin 0 -> 1016 bytes .../javax/print/attribute/standard/Fidelity.class | Bin 0 -> 1432 bytes .../print/attribute/standard/Finishings.class | Bin 0 -> 3008 bytes .../print/attribute/standard/JobHoldUntil.class | Bin 0 -> 1007 bytes .../print/attribute/standard/JobImpressions.class | Bin 0 -> 1113 bytes .../standard/JobImpressionsCompleted.class | Bin 0 -> 1099 bytes .../standard/JobImpressionsSupported.class | Bin 0 -> 1147 bytes .../print/attribute/standard/JobKOctets.class | Bin 0 -> 1098 bytes .../attribute/standard/JobKOctetsProcessed.class | Bin 0 -> 1084 bytes .../attribute/standard/JobKOctetsSupported.class | Bin 0 -> 1132 bytes .../print/attribute/standard/JobMediaSheets.class | Bin 0 -> 1114 bytes .../standard/JobMediaSheetsCompleted.class | Bin 0 -> 1100 bytes .../standard/JobMediaSheetsSupported.class | Bin 0 -> 1148 bytes .../standard/JobMessageFromOperator.class | Bin 0 -> 1058 bytes .../javax/print/attribute/standard/JobName.class | Bin 0 -> 1047 bytes .../standard/JobOriginatingUserName.class | Bin 0 -> 1059 bytes .../print/attribute/standard/JobPriority.class | Bin 0 -> 1098 bytes .../attribute/standard/JobPrioritySupported.class | Bin 0 -> 1091 bytes .../javax/print/attribute/standard/JobSheets.class | Bin 0 -> 1400 bytes .../javax/print/attribute/standard/JobState.class | Bin 0 -> 1864 bytes .../print/attribute/standard/JobStateReason.class | Bin 0 -> 4071 bytes .../print/attribute/standard/JobStateReasons.class | Bin 0 -> 2137 bytes .../lib/javax/print/attribute/standard/Media.class | Bin 0 -> 1073 bytes .../javax/print/attribute/standard/MediaName.class | Bin 0 -> 1275 bytes .../attribute/standard/MediaPrintableArea.class | Bin 0 -> 3086 bytes .../attribute/standard/MediaSize$Engineering.class | Bin 0 -> 1050 bytes .../print/attribute/standard/MediaSize$ISO.class | Bin 0 -> 2547 bytes .../print/attribute/standard/MediaSize$JIS.class | Bin 0 -> 2622 bytes .../print/attribute/standard/MediaSize$NA.class | Bin 0 -> 2218 bytes .../print/attribute/standard/MediaSize$Other.class | Bin 0 -> 1602 bytes .../javax/print/attribute/standard/MediaSize.class | Bin 0 -> 3575 bytes .../print/attribute/standard/MediaSizeName.class | Bin 0 -> 6466 bytes .../javax/print/attribute/standard/MediaTray.class | Bin 0 -> 1465 bytes .../standard/MultipleDocumentHandling.class | Bin 0 -> 1826 bytes .../attribute/standard/NumberOfDocuments.class | Bin 0 -> 1075 bytes .../standard/NumberOfInterveningJobs.class | Bin 0 -> 1100 bytes .../javax/print/attribute/standard/NumberUp.class | Bin 0 -> 1001 bytes .../attribute/standard/NumberUpSupported.class | Bin 0 -> 1486 bytes .../attribute/standard/OrientationRequested.class | Bin 0 -> 1800 bytes .../attribute/standard/OutputDeviceAssigned.class | Bin 0 -> 1052 bytes .../attribute/standard/PDLOverrideSupported.class | Bin 0 -> 1449 bytes .../print/attribute/standard/PageRanges.class | Bin 0 -> 1667 bytes .../print/attribute/standard/PagesPerMinute.class | Bin 0 -> 1067 bytes .../attribute/standard/PagesPerMinuteColor.class | Bin 0 -> 1088 bytes .../attribute/standard/PresentationDirection.class | Bin 0 -> 2046 bytes .../print/attribute/standard/PrintQuality.class | Bin 0 -> 1592 bytes .../print/attribute/standard/PrinterInfo.class | Bin 0 -> 1020 bytes .../standard/PrinterIsAcceptingJobs.class | Bin 0 -> 1484 bytes .../print/attribute/standard/PrinterLocation.class | Bin 0 -> 1040 bytes .../attribute/standard/PrinterMakeAndModel.class | Bin 0 -> 1055 bytes .../standard/PrinterMessageFromOperator.class | Bin 0 -> 1078 bytes .../print/attribute/standard/PrinterMoreInfo.class | Bin 0 -> 961 bytes .../standard/PrinterMoreInfoManufacturer.class | Bin 0 -> 1010 bytes .../print/attribute/standard/PrinterName.class | Bin 0 -> 1020 bytes .../attribute/standard/PrinterResolution.class | Bin 0 -> 1103 bytes .../print/attribute/standard/PrinterState.class | Bin 0 -> 1540 bytes .../attribute/standard/PrinterStateReason.class | Bin 0 -> 4201 bytes .../attribute/standard/PrinterStateReasons.class | Bin 0 -> 3545 bytes .../print/attribute/standard/PrinterURI.class | Bin 0 -> 940 bytes .../print/attribute/standard/QueuedJobCount.class | Bin 0 -> 1067 bytes .../standard/ReferenceUriSchemesSupported.class | Bin 0 -> 1860 bytes .../attribute/standard/RequestingUserName.class | Bin 0 -> 1046 bytes .../javax/print/attribute/standard/Severity.class | Bin 0 -> 1400 bytes .../print/attribute/standard/SheetCollate.class | Bin 0 -> 1481 bytes .../lib/javax/print/attribute/standard/Sides.class | Bin 0 -> 1662 bytes .../lib/javax/print/event/PrintEvent.class | Bin 0 -> 704 bytes .../lib/javax/print/event/PrintJobAdapter.class | Bin 0 -> 973 bytes .../javax/print/event/PrintJobAttributeEvent.class | Bin 0 -> 953 bytes .../print/event/PrintJobAttributeListener.class | Bin 0 -> 223 bytes .../lib/javax/print/event/PrintJobEvent.class | Bin 0 -> 1029 bytes .../lib/javax/print/event/PrintJobListener.class | Bin 0 -> 354 bytes .../print/event/PrintServiceAttributeEvent.class | Bin 0 -> 921 bytes .../event/PrintServiceAttributeListener.class | Bin 0 -> 235 bytes .../classpath/lib/javax/rmi/CORBA/ClassDesc.class | Bin 0 -> 432 bytes .../rmi/CORBA/PortableRemoteObjectDelegate.class | Bin 0 -> 576 bytes libjava/classpath/lib/javax/rmi/CORBA/Stub.class | Bin 0 -> 2763 bytes .../lib/javax/rmi/CORBA/StubDelegate.class | Bin 0 -> 652 bytes libjava/classpath/lib/javax/rmi/CORBA/Tie.class | Bin 0 -> 437 bytes libjava/classpath/lib/javax/rmi/CORBA/Util.class | Bin 0 -> 3292 bytes .../lib/javax/rmi/CORBA/UtilDelegate.class | Bin 0 -> 1285 bytes .../lib/javax/rmi/CORBA/ValueHandler.class | Bin 0 -> 616 bytes .../javax/rmi/CORBA/ValueHandlerMultiFormat.class | Bin 0 -> 312 bytes .../lib/javax/rmi/PortableRemoteObject.class | Bin 0 -> 1607 bytes .../javax/rmi/ssl/SslRMIClientSocketFactory.class | Bin 0 -> 2635 bytes .../javax/rmi/ssl/SslRMIServerSocketFactory.class | Bin 0 -> 2688 bytes .../lib/javax/security/auth/AuthPermission.class | Bin 0 -> 530 bytes .../security/auth/DestroyFailedException.class | Bin 0 -> 479 bytes .../lib/javax/security/auth/Destroyable.class | Bin 0 -> 246 bytes .../classpath/lib/javax/security/auth/Policy.class | Bin 0 -> 1059 bytes .../PrivateCredentialPermission$CredOwner.class | Bin 0 -> 1186 bytes .../auth/PrivateCredentialPermission.class | Bin 0 -> 3273 bytes .../security/auth/RefreshFailedException.class | Bin 0 -> 479 bytes .../lib/javax/security/auth/Refreshable.class | Bin 0 -> 244 bytes .../javax/security/auth/Subject$SecureSet.class | Bin 0 -> 4086 bytes .../lib/javax/security/auth/Subject.class | Bin 0 -> 6981 bytes .../security/auth/SubjectDomainCombiner.class | Bin 0 -> 1805 bytes .../javax/security/auth/callback/Callback.class | Bin 0 -> 126 bytes .../security/auth/callback/CallbackHandler.class | Bin 0 -> 316 bytes .../security/auth/callback/ChoiceCallback.class | Bin 0 -> 2286 bytes .../auth/callback/ConfirmationCallback.class | Bin 0 -> 3748 bytes .../security/auth/callback/LanguageCallback.class | Bin 0 -> 664 bytes .../security/auth/callback/NameCallback.class | Bin 0 -> 1477 bytes .../security/auth/callback/PasswordCallback.class | Bin 0 -> 1467 bytes .../security/auth/callback/TextInputCallback.class | Bin 0 -> 1502 bytes .../auth/callback/TextOutputCallback.class | Bin 0 -> 1226 bytes .../callback/UnsupportedCallbackException.class | Bin 0 -> 847 bytes .../auth/kerberos/DelegationPermission$1.class | Bin 0 -> 1699 bytes .../auth/kerberos/DelegationPermission.class | Bin 0 -> 1471 bytes .../javax/security/auth/kerberos/KerberosKey.class | Bin 0 -> 2715 bytes .../security/auth/kerberos/KerberosPrincipal.class | Bin 0 -> 2656 bytes .../security/auth/kerberos/KerberosTicket.class | Bin 0 -> 4697 bytes .../lib/javax/security/auth/kerberos/KeyImpl.class | Bin 0 -> 1062 bytes .../auth/kerberos/ServicePermission$1.class | Bin 0 -> 1681 bytes .../security/auth/kerberos/ServicePermission.class | Bin 0 -> 2220 bytes .../security/auth/login/AccountException.class | Bin 0 -> 558 bytes .../auth/login/AccountExpiredException.class | Bin 0 -> 581 bytes .../auth/login/AccountLockedException.class | Bin 0 -> 578 bytes .../auth/login/AccountNotFoundException.class | Bin 0 -> 584 bytes ...ConfigurationEntry$LoginModuleControlFlag.class | Bin 0 -> 923 bytes .../auth/login/AppConfigurationEntry.class | Bin 0 -> 2363 bytes .../security/auth/login/Configuration$1.class | Bin 0 -> 747 bytes .../javax/security/auth/login/Configuration.class | Bin 0 -> 1789 bytes .../security/auth/login/CredentialException.class | Bin 0 -> 567 bytes .../auth/login/CredentialExpiredException.class | Bin 0 -> 593 bytes .../auth/login/CredentialNotFoundException.class | Bin 0 -> 596 bytes .../security/auth/login/FailedLoginException.class | Bin 0 -> 570 bytes .../javax/security/auth/login/LoginContext.class | Bin 0 -> 6202 bytes .../javax/security/auth/login/LoginException.class | Bin 0 -> 550 bytes .../security/auth/login/NullConfiguration.class | Bin 0 -> 629 bytes .../lib/javax/security/auth/spi/LoginModule.class | Bin 0 -> 603 bytes .../javax/security/auth/x500/X500Principal.class | Bin 0 -> 11344 bytes .../security/auth/x500/X500PrivateCredential.class | Bin 0 -> 1459 bytes .../lib/javax/security/cert/Certificate.class | Bin 0 -> 1354 bytes .../cert/CertificateEncodingException.class | Bin 0 -> 514 bytes .../javax/security/cert/CertificateException.class | Bin 0 -> 469 bytes .../cert/CertificateExpiredException.class | Bin 0 -> 511 bytes .../cert/CertificateNotYetValidException.class | Bin 0 -> 523 bytes .../cert/CertificateParsingException.class | Bin 0 -> 511 bytes .../lib/javax/security/cert/X509CertBridge.class | Bin 0 -> 3538 bytes .../lib/javax/security/cert/X509Certificate.class | Bin 0 -> 1891 bytes .../security/sasl/AuthenticationException.class | Bin 0 -> 666 bytes .../javax/security/sasl/AuthorizeCallback.class | Bin 0 -> 1357 bytes .../lib/javax/security/sasl/RealmCallback.class | Bin 0 -> 555 bytes .../javax/security/sasl/RealmChoiceCallback.class | Bin 0 -> 534 bytes .../classpath/lib/javax/security/sasl/Sasl.class | Bin 0 -> 6585 bytes .../lib/javax/security/sasl/SaslClient.class | Bin 0 -> 496 bytes .../javax/security/sasl/SaslClientFactory.class | Bin 0 -> 742 bytes .../lib/javax/security/sasl/SaslException.class | Bin 0 -> 1813 bytes .../lib/javax/security/sasl/SaslServer.class | Bin 0 -> 495 bytes .../javax/security/sasl/SaslServerFactory.class | Bin 0 -> 704 bytes .../javax/sound/midi/ControllerEventListener.class | Bin 0 -> 236 bytes .../lib/javax/sound/midi/Instrument.class | Bin 0 -> 959 bytes .../sound/midi/InvalidMidiDataException.class | Bin 0 -> 537 bytes .../lib/javax/sound/midi/MetaEventListener.class | Bin 0 -> 214 bytes .../lib/javax/sound/midi/MetaMessage.class | Bin 0 -> 2002 bytes .../lib/javax/sound/midi/MidiChannel.class | Bin 0 -> 715 bytes .../lib/javax/sound/midi/MidiDevice$Info.class | Bin 0 -> 1283 bytes .../lib/javax/sound/midi/MidiDevice.class | Bin 0 -> 621 bytes .../classpath/lib/javax/sound/midi/MidiEvent.class | Bin 0 -> 734 bytes .../lib/javax/sound/midi/MidiFileFormat.class | Bin 0 -> 1095 bytes .../lib/javax/sound/midi/MidiMessage.class | Bin 0 -> 1052 bytes .../lib/javax/sound/midi/MidiSystem.class | Bin 0 -> 8221 bytes .../sound/midi/MidiUnavailableException.class | Bin 0 -> 537 bytes libjava/classpath/lib/javax/sound/midi/Patch.class | Bin 0 -> 550 bytes .../classpath/lib/javax/sound/midi/Receiver.class | Bin 0 -> 248 bytes .../classpath/lib/javax/sound/midi/Sequence.class | Bin 0 -> 3224 bytes .../lib/javax/sound/midi/Sequencer$SyncMode.class | Bin 0 -> 1124 bytes .../classpath/lib/javax/sound/midi/Sequencer.class | Bin 0 -> 1751 bytes .../lib/javax/sound/midi/ShortMessage.class | Bin 0 -> 3400 bytes .../classpath/lib/javax/sound/midi/Soundbank.class | Bin 0 -> 430 bytes .../lib/javax/sound/midi/SoundbankResource.class | Bin 0 -> 1130 bytes .../lib/javax/sound/midi/Synthesizer.class | Bin 0 -> 1039 bytes .../lib/javax/sound/midi/SysexMessage.class | Bin 0 -> 1753 bytes libjava/classpath/lib/javax/sound/midi/Track.class | Bin 0 -> 2021 bytes .../lib/javax/sound/midi/Transmitter.class | Bin 0 -> 251 bytes .../lib/javax/sound/midi/VoiceStatus.class | Bin 0 -> 518 bytes .../javax/sound/midi/spi/MidiDeviceProvider.class | Bin 0 -> 927 bytes .../lib/javax/sound/midi/spi/MidiFileReader.class | Bin 0 -> 856 bytes .../lib/javax/sound/midi/spi/MidiFileWriter.class | Bin 0 -> 1011 bytes .../lib/javax/sound/midi/spi/SoundbankReader.class | Bin 0 -> 620 bytes .../javax/sound/sampled/AudioFileFormat$Type.class | Bin 0 -> 1402 bytes .../lib/javax/sound/sampled/AudioFileFormat.class | Bin 0 -> 2977 bytes .../javax/sound/sampled/AudioFormat$Encoding.class | Bin 0 -> 1111 bytes .../lib/javax/sound/sampled/AudioFormat.class | Bin 0 -> 3884 bytes .../AudioInputStream$TargetInputStream.class | Bin 0 -> 992 bytes .../lib/javax/sound/sampled/AudioInputStream.class | Bin 0 -> 2914 bytes .../lib/javax/sound/sampled/AudioPermission.class | Bin 0 -> 597 bytes .../lib/javax/sound/sampled/AudioSystem.class | Bin 0 -> 11940 bytes .../javax/sound/sampled/BooleanControl$Type.class | Bin 0 -> 659 bytes .../lib/javax/sound/sampled/BooleanControl.class | Bin 0 -> 1626 bytes .../classpath/lib/javax/sound/sampled/Clip.class | Bin 0 -> 615 bytes .../javax/sound/sampled/CompoundControl$Type.class | Bin 0 -> 476 bytes .../lib/javax/sound/sampled/CompoundControl.class | Bin 0 -> 1195 bytes .../lib/javax/sound/sampled/Control$Type.class | Bin 0 -> 783 bytes .../lib/javax/sound/sampled/Control.class | Bin 0 -> 705 bytes .../lib/javax/sound/sampled/DataLine$Info.class | Bin 0 -> 2896 bytes .../lib/javax/sound/sampled/DataLine.class | Bin 0 -> 570 bytes .../lib/javax/sound/sampled/EnumControl$Type.class | Bin 0 -> 584 bytes .../lib/javax/sound/sampled/EnumControl.class | Bin 0 -> 1633 bytes .../javax/sound/sampled/FloatControl$Type.class | Bin 0 -> 1080 bytes .../lib/javax/sound/sampled/FloatControl.class | Bin 0 -> 2914 bytes .../lib/javax/sound/sampled/Line$Info.class | Bin 0 -> 995 bytes .../classpath/lib/javax/sound/sampled/Line.class | Bin 0 -> 683 bytes .../lib/javax/sound/sampled/LineEvent$Type.class | Bin 0 -> 1067 bytes .../lib/javax/sound/sampled/LineEvent.class | Bin 0 -> 1926 bytes .../lib/javax/sound/sampled/LineListener.class | Bin 0 -> 210 bytes .../sound/sampled/LineUnavailableException.class | Bin 0 -> 545 bytes .../lib/javax/sound/sampled/Mixer$Info.class | Bin 0 -> 1545 bytes .../classpath/lib/javax/sound/sampled/Mixer.class | Bin 0 -> 995 bytes .../lib/javax/sound/sampled/Port$Info.class | Bin 0 -> 2235 bytes .../classpath/lib/javax/sound/sampled/Port.class | Bin 0 -> 214 bytes .../lib/javax/sound/sampled/ReverbType.class | Bin 0 -> 2055 bytes .../lib/javax/sound/sampled/SourceDataLine.class | Bin 0 -> 376 bytes .../lib/javax/sound/sampled/TargetDataLine.class | Bin 0 -> 375 bytes .../sampled/UnsupportedAudioFileException.class | Bin 0 -> 560 bytes .../javax/sound/sampled/spi/AudioFileReader.class | Bin 0 -> 931 bytes .../javax/sound/sampled/spi/AudioFileWriter.class | Bin 0 -> 1500 bytes .../sampled/spi/FormatConversionProvider.class | Bin 0 -> 2222 bytes .../javax/sound/sampled/spi/MixerProvider.class | Bin 0 -> 839 bytes .../classpath/lib/javax/sql/ConnectionEvent.class | Bin 0 -> 771 bytes .../lib/javax/sql/ConnectionEventListener.class | Bin 0 -> 262 bytes .../lib/javax/sql/ConnectionPoolDataSource.class | Bin 0 -> 543 bytes libjava/classpath/lib/javax/sql/DataSource.class | Bin 0 -> 495 bytes .../classpath/lib/javax/sql/PooledConnection.class | Bin 0 -> 373 bytes libjava/classpath/lib/javax/sql/RowSet.class | Bin 0 -> 2753 bytes libjava/classpath/lib/javax/sql/RowSetEvent.class | Bin 0 -> 370 bytes .../classpath/lib/javax/sql/RowSetInternal.class | Bin 0 -> 429 bytes .../classpath/lib/javax/sql/RowSetListener.class | Bin 0 -> 246 bytes .../classpath/lib/javax/sql/RowSetMetaData.class | Bin 0 -> 824 bytes libjava/classpath/lib/javax/sql/RowSetReader.class | Bin 0 -> 216 bytes libjava/classpath/lib/javax/sql/RowSetWriter.class | Bin 0 -> 217 bytes libjava/classpath/lib/javax/sql/XAConnection.class | Bin 0 -> 261 bytes libjava/classpath/lib/javax/sql/XADataSource.class | Bin 0 -> 507 bytes .../classpath/lib/javax/swing/AbstractAction.class | Bin 0 -> 3209 bytes .../lib/javax/swing/AbstractButton$1.class | Bin 0 -> 1793 bytes .../AbstractButton$AccessibleAbstractButton.class | Bin 0 -> 8947 bytes .../AbstractButton$ButtonChangeListener.class | Bin 0 -> 954 bytes .../javax/swing/AbstractButton$EventHandler.class | Bin 0 -> 1356 bytes .../classpath/lib/javax/swing/AbstractButton.class | Bin 0 -> 20618 bytes .../lib/javax/swing/AbstractCellEditor.class | Bin 0 -> 2259 bytes .../lib/javax/swing/AbstractListModel.class | Bin 0 -> 2498 bytes .../lib/javax/swing/AbstractSpinnerModel.class | Bin 0 -> 1771 bytes libjava/classpath/lib/javax/swing/Action.class | Bin 0 -> 861 bytes libjava/classpath/lib/javax/swing/ActionMap.class | Bin 0 -> 2209 bytes .../classpath/lib/javax/swing/BorderFactory.class | Bin 0 -> 4962 bytes .../lib/javax/swing/BoundedRangeModel.class | Bin 0 -> 514 bytes .../lib/javax/swing/Box$AccessibleBox.class | Bin 0 -> 662 bytes .../swing/Box$Filler$AccessibleBoxFiller.class | Bin 0 -> 753 bytes libjava/classpath/lib/javax/swing/Box$Filler.class | Bin 0 -> 1392 bytes libjava/classpath/lib/javax/swing/Box.class | Bin 0 -> 2326 bytes libjava/classpath/lib/javax/swing/BoxLayout.class | Bin 0 -> 5920 bytes .../classpath/lib/javax/swing/ButtonGroup.class | Bin 0 -> 2388 bytes .../classpath/lib/javax/swing/ButtonModel.class | Bin 0 -> 857 bytes libjava/classpath/lib/javax/swing/CellEditor.class | Bin 0 -> 423 bytes ...llRendererPane$AccessibleCellRendererPane.class | Bin 0 -> 878 bytes .../lib/javax/swing/CellRendererPane.class | Bin 0 -> 2772 bytes .../classpath/lib/javax/swing/ComboBoxEditor.class | Bin 0 -> 380 bytes .../classpath/lib/javax/swing/ComboBoxModel.class | Bin 0 -> 247 bytes .../swing/CompatibilityFocusTraversalPolicy.class | Bin 0 -> 2190 bytes .../lib/javax/swing/ComponentInputMap.class | Bin 0 -> 1635 bytes .../classpath/lib/javax/swing/DebugGraphics.class | Bin 0 -> 14084 bytes .../lib/javax/swing/DefaultBoundedRangeModel.class | Bin 0 -> 5095 bytes .../lib/javax/swing/DefaultButtonModel.class | Bin 0 -> 6192 bytes .../swing/DefaultCellEditor$EditorDelegate.class | Bin 0 -> 2576 bytes .../DefaultCellEditor$JCheckBoxDelegate.class | Bin 0 -> 1387 bytes .../DefaultCellEditor$JComboBoxDelegate.class | Bin 0 -> 1514 bytes .../DefaultCellEditor$JTextFieldDelegate.class | Bin 0 -> 1367 bytes .../lib/javax/swing/DefaultCellEditor.class | Bin 0 -> 3457 bytes .../lib/javax/swing/DefaultComboBoxModel.class | Bin 0 -> 2973 bytes .../lib/javax/swing/DefaultDesktopManager.class | Bin 0 -> 7571 bytes .../lib/javax/swing/DefaultFocusManager.class | Bin 0 -> 1469 bytes .../swing/DefaultListCellRenderer$UIResource.class | Bin 0 -> 442 bytes .../lib/javax/swing/DefaultListCellRenderer.class | Bin 0 -> 3535 bytes .../lib/javax/swing/DefaultListModel.class | Bin 0 -> 4580 bytes .../javax/swing/DefaultListSelectionModel.class | Bin 0 -> 8540 bytes .../javax/swing/DefaultSingleSelectionModel.class | Bin 0 -> 2350 bytes .../classpath/lib/javax/swing/DesktopManager.class | Bin 0 -> 651 bytes .../swing/FocusManager$WrappingFocusManager.class | Bin 0 -> 5486 bytes .../classpath/lib/javax/swing/FocusManager.class | Bin 0 -> 1199 bytes libjava/classpath/lib/javax/swing/GrayFilter.class | Bin 0 -> 1375 bytes libjava/classpath/lib/javax/swing/Icon.class | Bin 0 -> 221 bytes .../classpath/lib/javax/swing/ImageIcon$1.class | Bin 0 -> 372 bytes .../swing/ImageIcon$AccessibleImageIcon.class | Bin 0 -> 2147 bytes libjava/classpath/lib/javax/swing/ImageIcon.class | Bin 0 -> 4406 bytes libjava/classpath/lib/javax/swing/InputMap.class | Bin 0 -> 2530 bytes .../classpath/lib/javax/swing/InputVerifier.class | Bin 0 -> 479 bytes .../swing/InternalFrameFocusTraversalPolicy.class | Bin 0 -> 624 bytes .../javax/swing/JApplet$AccessibleJApplet.class | Bin 0 -> 509 bytes libjava/classpath/lib/javax/swing/JApplet.class | Bin 0 -> 4021 bytes .../javax/swing/JButton$AccessibleJButton.class | Bin 0 -> 753 bytes libjava/classpath/lib/javax/swing/JButton.class | Bin 0 -> 3347 bytes .../swing/JCheckBox$AccessibleJCheckBox.class | Bin 0 -> 770 bytes libjava/classpath/lib/javax/swing/JCheckBox.class | Bin 0 -> 2782 bytes ...ckBoxMenuItem$AccessibleJCheckBoxMenuItem.class | Bin 0 -> 894 bytes .../lib/javax/swing/JCheckBoxMenuItem.class | Bin 0 -> 2645 bytes .../JColorChooser$AccessibleJColorChooser.class | Bin 0 -> 865 bytes .../JColorChooser$DefaultOKCancelListener.class | Bin 0 -> 769 bytes .../swing/JColorChooser$DefaultResetListener.class | Bin 0 -> 876 bytes .../classpath/lib/javax/swing/JColorChooser.class | Bin 0 -> 8097 bytes .../classpath/lib/javax/swing/JComboBox$1.class | Bin 0 -> 997 bytes .../swing/JComboBox$AccessibleJComboBox.class | Bin 0 -> 3980 bytes .../JComboBox$DefaultKeySelectionManager.class | Bin 0 -> 1348 bytes .../swing/JComboBox$KeySelectionManager.class | Bin 0 -> 271 bytes libjava/classpath/lib/javax/swing/JComboBox.class | Bin 0 -> 15989 bytes .../classpath/lib/javax/swing/JComponent$1.class | Bin 0 -> 586 bytes ...ibleJComponent$AccessibleContainerHandler.class | Bin 0 -> 1529 bytes ...cessibleJComponent$AccessibleFocusHandler.class | Bin 0 -> 1215 bytes .../swing/JComponent$AccessibleJComponent.class | Bin 0 -> 4520 bytes .../swing/JComponent$ActionListenerProxy.class | Bin 0 -> 1101 bytes libjava/classpath/lib/javax/swing/JComponent.class | Bin 0 -> 36725 bytes .../JDesktopPane$AccessibleJDesktopPane.class | Bin 0 -> 855 bytes .../classpath/lib/javax/swing/JDesktopPane.class | Bin 0 -> 4836 bytes .../javax/swing/JDialog$AccessibleJDialog.class | Bin 0 -> 506 bytes libjava/classpath/lib/javax/swing/JDialog.class | Bin 0 -> 6937 bytes .../classpath/lib/javax/swing/JEditorPane$1.class | Bin 0 -> 914 bytes .../classpath/lib/javax/swing/JEditorPane$2.class | Bin 0 -> 971 bytes .../swing/JEditorPane$AccessibleJEditorPane.class | Bin 0 -> 999 bytes .../JEditorPane$AccessibleJEditorPaneHTML.class | Bin 0 -> 738 bytes .../javax/swing/JEditorPane$EditorKitMapping.class | Bin 0 -> 603 bytes ...orPaneAccessibleHypertextSupport$HTMLLink.class | Bin 0 -> 3759 bytes ...ane$JEditorPaneAccessibleHypertextSupport.class | Bin 0 -> 3232 bytes .../lib/javax/swing/JEditorPane$PageLoader.class | Bin 0 -> 2158 bytes .../lib/javax/swing/JEditorPane$PageStream.class | Bin 0 -> 1492 bytes .../javax/swing/JEditorPane$PlainEditorKit.class | Bin 0 -> 674 bytes .../classpath/lib/javax/swing/JEditorPane.class | Bin 0 -> 12028 bytes .../classpath/lib/javax/swing/JFileChooser$1.class | Bin 0 -> 744 bytes .../JFileChooser$AccessibleJFileChooser.class | Bin 0 -> 791 bytes .../classpath/lib/javax/swing/JFileChooser.class | Bin 0 -> 18403 bytes .../JFormattedTextField$AbstractFormatter.class | Bin 0 -> 2454 bytes ...rmattedTextField$AbstractFormatterFactory.class | Bin 0 -> 567 bytes .../lib/javax/swing/JFormattedTextField.class | Bin 0 -> 5767 bytes .../lib/javax/swing/JFrame$AccessibleJFrame.class | Bin 0 -> 494 bytes libjava/classpath/lib/javax/swing/JFrame.class | Bin 0 -> 7071 bytes .../JInternalFrame$AccessibleJInternalFrame.class | Bin 0 -> 1792 bytes ...Frame$JDesktopIcon$AccessibleJDesktopIcon.class | Bin 0 -> 1831 bytes .../javax/swing/JInternalFrame$JDesktopIcon.class | Bin 0 -> 2259 bytes .../classpath/lib/javax/swing/JInternalFrame.class | Bin 0 -> 17072 bytes .../lib/javax/swing/JLabel$AccessibleJLabel.class | Bin 0 -> 5379 bytes libjava/classpath/lib/javax/swing/JLabel.class | Bin 0 -> 8529 bytes .../JLayeredPane$AccessibleJLayeredPane.class | Bin 0 -> 791 bytes .../classpath/lib/javax/swing/JLayeredPane.class | Bin 0 -> 8209 bytes libjava/classpath/lib/javax/swing/JList$1.class | Bin 0 -> 790 bytes libjava/classpath/lib/javax/swing/JList$2.class | Bin 0 -> 846 bytes libjava/classpath/lib/javax/swing/JList$3.class | Bin 0 -> 829 bytes ...List$AccessibleJList$AccessibleJListChild.class | Bin 0 -> 6064 bytes .../lib/javax/swing/JList$AccessibleJList.class | Bin 0 -> 4910 bytes .../lib/javax/swing/JList$ListListener.class | Bin 0 -> 1488 bytes libjava/classpath/lib/javax/swing/JList.class | Bin 0 -> 18892 bytes .../lib/javax/swing/JMenu$AccessibleJMenu.class | Bin 0 -> 3677 bytes .../javax/swing/JMenu$ActionChangedListener.class | Bin 0 -> 1012 bytes .../lib/javax/swing/JMenu$MenuChangeListener.class | Bin 0 -> 1143 bytes .../lib/javax/swing/JMenu$WinListener.class | Bin 0 -> 811 bytes libjava/classpath/lib/javax/swing/JMenu.class | Bin 0 -> 14040 bytes .../javax/swing/JMenuBar$AccessibleJMenuBar.class | Bin 0 -> 2223 bytes libjava/classpath/lib/javax/swing/JMenuBar.class | Bin 0 -> 7798 bytes .../classpath/lib/javax/swing/JMenuItem$1.class | Bin 0 -> 997 bytes .../swing/JMenuItem$AccessibleJMenuItem.class | Bin 0 -> 2194 bytes libjava/classpath/lib/javax/swing/JMenuItem.class | Bin 0 -> 10317 bytes .../classpath/lib/javax/swing/JOptionPane$1.class | Bin 0 -> 441 bytes .../classpath/lib/javax/swing/JOptionPane$2.class | Bin 0 -> 447 bytes .../swing/JOptionPane$AccessibleJOptionPane.class | Bin 0 -> 845 bytes .../swing/JOptionPane$ValuePropertyHandler.class | Bin 0 -> 1144 bytes .../classpath/lib/javax/swing/JOptionPane.class | Bin 0 -> 17932 bytes .../lib/javax/swing/JPanel$AccessibleJPanel.class | Bin 0 -> 730 bytes libjava/classpath/lib/javax/swing/JPanel.class | Bin 0 -> 1964 bytes .../JPasswordField$AccessibleJPasswordField.class | Bin 0 -> 874 bytes .../classpath/lib/javax/swing/JPasswordField.class | Bin 0 -> 3032 bytes .../classpath/lib/javax/swing/JPopupMenu$1.class | Bin 0 -> 592 bytes .../classpath/lib/javax/swing/JPopupMenu$2.class | Bin 0 -> 639 bytes .../swing/JPopupMenu$AccessibleJPopupMenu.class | Bin 0 -> 835 bytes .../swing/JPopupMenu$ActionChangeListener.class | Bin 0 -> 833 bytes .../lib/javax/swing/JPopupMenu$Separator.class | Bin 0 -> 503 bytes libjava/classpath/lib/javax/swing/JPopupMenu.class | Bin 0 -> 12623 bytes .../classpath/lib/javax/swing/JProgressBar$1.class | Bin 0 -> 780 bytes .../JProgressBar$AccessibleJProgressBar.class | Bin 0 -> 2399 bytes .../classpath/lib/javax/swing/JProgressBar.class | Bin 0 -> 7973 bytes .../JRadioButton$AccessibleJRadioButton.class | Bin 0 -> 864 bytes .../classpath/lib/javax/swing/JRadioButton.class | Bin 0 -> 2256 bytes ...onMenuItem$AccessibleJRadioButtonMenuItem.class | Bin 0 -> 924 bytes .../lib/javax/swing/JRadioButtonMenuItem.class | Bin 0 -> 2374 bytes .../swing/JRootPane$AccessibleJRootPane.class | Bin 0 -> 825 bytes .../lib/javax/swing/JRootPane$RootLayout.class | Bin 0 -> 3577 bytes libjava/classpath/lib/javax/swing/JRootPane.class | Bin 0 -> 6631 bytes .../swing/JScrollBar$AccessibleJScrollBar.class | Bin 0 -> 2501 bytes .../swing/JScrollBar$ScrollBarChangeListener.class | Bin 0 -> 1222 bytes libjava/classpath/lib/javax/swing/JScrollBar.class | Bin 0 -> 7898 bytes .../swing/JScrollPane$AccessibleJScrollPane.class | Bin 0 -> 1495 bytes .../lib/javax/swing/JScrollPane$ScrollBar.class | Bin 0 -> 1423 bytes .../classpath/lib/javax/swing/JScrollPane.class | Bin 0 -> 10207 bytes .../swing/JSeparator$AccessibleJSeparator.class | Bin 0 -> 834 bytes libjava/classpath/lib/javax/swing/JSeparator.class | Bin 0 -> 2623 bytes libjava/classpath/lib/javax/swing/JSlider$1.class | Bin 0 -> 750 bytes .../javax/swing/JSlider$AccessibleJSlider.class | Bin 0 -> 2348 bytes .../lib/javax/swing/JSlider$LabelUIResource.class | Bin 0 -> 672 bytes libjava/classpath/lib/javax/swing/JSlider.class | Bin 0 -> 11001 bytes .../lib/javax/swing/JSpinner$DateEditor.class | Bin 0 -> 2032 bytes .../javax/swing/JSpinner$DateEditorFormatter.class | Bin 0 -> 708 bytes .../lib/javax/swing/JSpinner$DefaultEditor.class | Bin 0 -> 3921 bytes .../lib/javax/swing/JSpinner$ListEditor.class | Bin 0 -> 693 bytes .../lib/javax/swing/JSpinner$ModelListener.class | Bin 0 -> 704 bytes .../lib/javax/swing/JSpinner$NumberEditor.class | Bin 0 -> 2057 bytes .../swing/JSpinner$NumberEditorFormatter.class | Bin 0 -> 722 bytes libjava/classpath/lib/javax/swing/JSpinner.class | Bin 0 -> 4828 bytes .../swing/JSplitPane$AccessibleJSplitPane.class | Bin 0 -> 2425 bytes libjava/classpath/lib/javax/swing/JSplitPane.class | Bin 0 -> 9784 bytes .../swing/JTabbedPane$AccessibleJTabbedPane.class | Bin 0 -> 3122 bytes .../javax/swing/JTabbedPane$ModelListener.class | Bin 0 -> 810 bytes .../lib/javax/swing/JTabbedPane$Page.class | Bin 0 -> 5502 bytes .../classpath/lib/javax/swing/JTabbedPane.class | Bin 0 -> 14724 bytes ...ble$AccessibleJTable$AccessibleJTableCell.class | Bin 0 -> 6478 bytes ...cessibleJTable$AccessibleJTableHeaderCell.class | Bin 0 -> 5760 bytes ...essibleJTable$AccessibleJTableModelChange.class | Bin 0 -> 1316 bytes ...le$AccessibleJTable$AccessibleTableHeader.class | Bin 0 -> 4585 bytes .../lib/javax/swing/JTable$AccessibleJTable.class | Bin 0 -> 13524 bytes .../javax/swing/JTable$BooleanCellRenderer.class | Bin 0 -> 2085 bytes .../lib/javax/swing/JTable$DateCellRenderer.class | Bin 0 -> 1275 bytes .../javax/swing/JTable$DoubleCellRenderer.class | Bin 0 -> 1221 bytes .../lib/javax/swing/JTable$FloatCellRenderer.class | Bin 0 -> 1216 bytes .../lib/javax/swing/JTable$IconCellRenderer.class | Bin 0 -> 1086 bytes .../javax/swing/JTable$NumberCellRenderer.class | Bin 0 -> 543 bytes .../JTable$TableColumnPropertyChangeHandler.class | Bin 0 -> 1405 bytes .../lib/javax/swing/JTable$TableTextField.class | Bin 0 -> 686 bytes libjava/classpath/lib/javax/swing/JTable.class | Bin 0 -> 37074 bytes .../swing/JTextArea$AccessibleJTextArea.class | Bin 0 -> 768 bytes libjava/classpath/lib/javax/swing/JTextArea.class | Bin 0 -> 7526 bytes .../classpath/lib/javax/swing/JTextField$1.class | Bin 0 -> 791 bytes .../classpath/lib/javax/swing/JTextField$2.class | Bin 0 -> 1275 bytes .../swing/JTextField$AccessibleJTextField.class | Bin 0 -> 841 bytes libjava/classpath/lib/javax/swing/JTextField.class | Bin 0 -> 8146 bytes libjava/classpath/lib/javax/swing/JTextPane.class | Bin 0 -> 6360 bytes .../JToggleButton$AccessibleJToggleButton.class | Bin 0 -> 1479 bytes .../swing/JToggleButton$ToggleButtonModel.class | Bin 0 -> 1280 bytes .../classpath/lib/javax/swing/JToggleButton.class | Bin 0 -> 2541 bytes .../javax/swing/JToolBar$AccessibleJToolBar.class | Bin 0 -> 955 bytes .../swing/JToolBar$DefaultToolBarLayout.class | Bin 0 -> 3238 bytes .../lib/javax/swing/JToolBar$Separator.class | Bin 0 -> 1172 bytes libjava/classpath/lib/javax/swing/JToolBar.class | Bin 0 -> 6886 bytes .../javax/swing/JToolTip$AccessibleJToolTip.class | Bin 0 -> 1019 bytes libjava/classpath/lib/javax/swing/JToolTip.class | Bin 0 -> 2448 bytes ...JTree$AccessibleJTree$AccessibleJTreeNode.class | Bin 0 -> 11937 bytes .../lib/javax/swing/JTree$AccessibleJTree.class | Bin 0 -> 4836 bytes .../javax/swing/JTree$DynamicUtilTreeNode.class | Bin 0 -> 2406 bytes .../javax/swing/JTree$EmptySelectionModel.class | Bin 0 -> 1021 bytes .../lib/javax/swing/JTree$TreeModelHandler.class | Bin 0 -> 3080 bytes .../swing/JTree$TreeSelectionRedirector.class | Bin 0 -> 980 bytes libjava/classpath/lib/javax/swing/JTree.class | Bin 0 -> 29327 bytes .../swing/JViewport$AccessibleJViewport.class | Bin 0 -> 760 bytes .../lib/javax/swing/JViewport$ViewListener.class | Bin 0 -> 809 bytes libjava/classpath/lib/javax/swing/JViewport.class | Bin 0 -> 12807 bytes .../javax/swing/JWindow$AccessibleJWindow.class | Bin 0 -> 506 bytes libjava/classpath/lib/javax/swing/JWindow.class | Bin 0 -> 4615 bytes libjava/classpath/lib/javax/swing/KeyStroke.class | Bin 0 -> 2011 bytes .../lib/javax/swing/KeyboardManager.class | Bin 0 -> 4273 bytes ...youtFocusTraversalPolicy$LayoutComparator.class | Bin 0 -> 951 bytes .../javax/swing/LayoutFocusTraversalPolicy.class | Bin 0 -> 602 bytes .../lib/javax/swing/ListCellRenderer.class | Bin 0 -> 229 bytes libjava/classpath/lib/javax/swing/ListModel.class | Bin 0 -> 287 bytes .../lib/javax/swing/ListSelectionModel.class | Bin 0 -> 1007 bytes .../classpath/lib/javax/swing/LookAndFeel$1.class | Bin 0 -> 852 bytes .../classpath/lib/javax/swing/LookAndFeel.class | Bin 0 -> 5733 bytes .../classpath/lib/javax/swing/MenuElement.class | Bin 0 -> 495 bytes .../lib/javax/swing/MenuSelectionManager.class | Bin 0 -> 6636 bytes .../lib/javax/swing/MutableComboBoxModel.class | Bin 0 -> 319 bytes .../classpath/lib/javax/swing/OverlayLayout.class | Bin 0 -> 4409 bytes .../lib/javax/swing/Popup$JWindowPopup.class | Bin 0 -> 1314 bytes .../lib/javax/swing/Popup$LightweightPopup.class | Bin 0 -> 2173 bytes libjava/classpath/lib/javax/swing/Popup.class | Bin 0 -> 817 bytes .../classpath/lib/javax/swing/PopupFactory.class | Bin 0 -> 1903 bytes .../lib/javax/swing/ProgressMonitor$1.class | Bin 0 -> 742 bytes .../swing/ProgressMonitor$TimerListener.class | Bin 0 -> 1671 bytes .../lib/javax/swing/ProgressMonitor.class | Bin 0 -> 3912 bytes .../javax/swing/ProgressMonitorInputStream.class | Bin 0 -> 2495 bytes libjava/classpath/lib/javax/swing/Renderer.class | Bin 0 -> 201 bytes .../javax/swing/RepaintManager$RepaintWorker.class | Bin 0 -> 1299 bytes .../swing/RepaintManager$RepaintWorkerEvent.class | Bin 0 -> 751 bytes .../classpath/lib/javax/swing/RepaintManager.class | Bin 0 -> 9873 bytes .../lib/javax/swing/RootPaneContainer.class | Bin 0 -> 488 bytes .../lib/javax/swing/ScrollPaneConstants.class | Bin 0 -> 1079 bytes .../javax/swing/ScrollPaneLayout$UIResource.class | Bin 0 -> 414 bytes .../lib/javax/swing/ScrollPaneLayout.class | Bin 0 -> 7677 bytes libjava/classpath/lib/javax/swing/Scrollable.class | Bin 0 -> 379 bytes .../lib/javax/swing/SingleSelectionModel.class | Bin 0 -> 357 bytes .../lib/javax/swing/SizeRequirements.class | Bin 0 -> 5413 bytes .../classpath/lib/javax/swing/SizeSequence.class | Bin 0 -> 2218 bytes .../javax/swing/SortingFocusTraversalPolicy.class | Bin 0 -> 3700 bytes .../lib/javax/swing/SpinnerDateModel.class | Bin 0 -> 2933 bytes .../lib/javax/swing/SpinnerListModel.class | Bin 0 -> 2285 bytes .../classpath/lib/javax/swing/SpinnerModel.class | Bin 0 -> 351 bytes .../lib/javax/swing/SpinnerNumberModel.class | Bin 0 -> 3988 bytes libjava/classpath/lib/javax/swing/Spring$1.class | Bin 0 -> 1114 bytes libjava/classpath/lib/javax/swing/Spring$2.class | Bin 0 -> 1218 bytes libjava/classpath/lib/javax/swing/Spring$3.class | Bin 0 -> 1218 bytes .../lib/javax/swing/Spring$AddSpring.class | Bin 0 -> 1822 bytes .../lib/javax/swing/Spring$MaxSpring.class | Bin 0 -> 1860 bytes .../lib/javax/swing/Spring$MinusSpring.class | Bin 0 -> 1225 bytes .../lib/javax/swing/Spring$SimpleSpring.class | Bin 0 -> 1250 bytes libjava/classpath/lib/javax/swing/Spring.class | Bin 0 -> 2675 bytes .../lib/javax/swing/SpringLayout$Constraints.class | Bin 0 -> 4240 bytes .../swing/SpringLayout$DeferredDimension.class | Bin 0 -> 683 bytes .../javax/swing/SpringLayout$DeferredHeight.class | Bin 0 -> 1175 bytes .../javax/swing/SpringLayout$DeferredSpring.class | Bin 0 -> 1875 bytes .../javax/swing/SpringLayout$DeferredWidth.class | Bin 0 -> 1169 bytes .../classpath/lib/javax/swing/SpringLayout.class | Bin 0 -> 5789 bytes .../classpath/lib/javax/swing/SwingConstants.class | Bin 0 -> 694 bytes .../javax/swing/SwingUtilities$OwnerFrame.class | Bin 0 -> 659 bytes .../classpath/lib/javax/swing/SwingUtilities.class | Bin 0 -> 19713 bytes libjava/classpath/lib/javax/swing/Timer$1.class | Bin 0 -> 557 bytes libjava/classpath/lib/javax/swing/Timer$Task.class | Bin 0 -> 906 bytes libjava/classpath/lib/javax/swing/Timer.class | Bin 0 -> 4981 bytes .../swing/ToolTipManager$insideTimerAction.class | Bin 0 -> 737 bytes .../swing/ToolTipManager$outsideTimerAction.class | Bin 0 -> 709 bytes .../ToolTipManager$stillInsideTimerAction.class | Bin 0 -> 752 bytes .../classpath/lib/javax/swing/ToolTipManager.class | Bin 0 -> 7320 bytes .../TransferHandler$PropertyTransferable.class | Bin 0 -> 2735 bytes .../swing/TransferHandler$TransferAction.class | Bin 0 -> 2022 bytes .../lib/javax/swing/TransferHandler.class | Bin 0 -> 6249 bytes .../classpath/lib/javax/swing/UIDefaults$1.class | Bin 0 -> 1211 bytes .../classpath/lib/javax/swing/UIDefaults$2.class | Bin 0 -> 1308 bytes .../classpath/lib/javax/swing/UIDefaults$3.class | Bin 0 -> 1379 bytes .../classpath/lib/javax/swing/UIDefaults$4.class | Bin 0 -> 1477 bytes .../lib/javax/swing/UIDefaults$ActiveValue.class | Bin 0 -> 267 bytes .../lib/javax/swing/UIDefaults$LazyInputMap.class | Bin 0 -> 1156 bytes .../lib/javax/swing/UIDefaults$LazyValue.class | Bin 0 -> 263 bytes .../javax/swing/UIDefaults$ProxyLazyValue.class | Bin 0 -> 2228 bytes libjava/classpath/lib/javax/swing/UIDefaults.class | Bin 0 -> 9901 bytes .../javax/swing/UIManager$LookAndFeelInfo.class | Bin 0 -> 1148 bytes ...$MultiplexUIDefaults$MultiplexEnumeration.class | Bin 0 -> 1221 bytes .../swing/UIManager$MultiplexUIDefaults.class | Bin 0 -> 1632 bytes libjava/classpath/lib/javax/swing/UIManager.class | Bin 0 -> 9920 bytes .../swing/UnsupportedLookAndFeelException.class | Bin 0 -> 403 bytes .../classpath/lib/javax/swing/ViewportLayout.class | Bin 0 -> 2485 bytes .../lib/javax/swing/WindowConstants.class | Bin 0 -> 300 bytes .../lib/javax/swing/border/AbstractBorder.class | Bin 0 -> 1795 bytes .../lib/javax/swing/border/BevelBorder.class | Bin 0 -> 4286 bytes .../classpath/lib/javax/swing/border/Border.class | Bin 0 -> 282 bytes .../lib/javax/swing/border/CompoundBorder.class | Bin 0 -> 2225 bytes .../lib/javax/swing/border/EmptyBorder.class | Bin 0 -> 1568 bytes .../lib/javax/swing/border/EtchedBorder.class | Bin 0 -> 3182 bytes .../lib/javax/swing/border/LineBorder.class | Bin 0 -> 2689 bytes .../lib/javax/swing/border/MatteBorder.class | Bin 0 -> 3754 bytes .../lib/javax/swing/border/SoftBevelBorder.class | Bin 0 -> 2794 bytes .../lib/javax/swing/border/TitledBorder.class | Bin 0 -> 9912 bytes .../colorchooser/AbstractColorChooserPanel.class | Bin 0 -> 1582 bytes .../ColorChooserComponentFactory.class | Bin 0 -> 1014 bytes .../swing/colorchooser/ColorSelectionModel.class | Bin 0 -> 340 bytes .../colorchooser/DefaultColorSelectionModel.class | Bin 0 -> 2281 bytes .../colorchooser/DefaultHSBChooserPanel$1.class | Bin 0 -> 1434 bytes .../colorchooser/DefaultHSBChooserPanel$2.class | Bin 0 -> 1077 bytes ...efaultHSBChooserPanel$ImageScrollListener.class | Bin 0 -> 1825 bytes ...HSBChooserPanel$MainGradientMouseListener.class | Bin 0 -> 2513 bytes ...DefaultHSBChooserPanel$RadioStateListener.class | Bin 0 -> 1503 bytes ...faultHSBChooserPanel$SliderChangeListener.class | Bin 0 -> 1353 bytes .../colorchooser/DefaultHSBChooserPanel.class | Bin 0 -> 9940 bytes .../DefaultPreviewPanel$PreviewBorder.class | Bin 0 -> 2020 bytes .../swing/colorchooser/DefaultPreviewPanel.class | Bin 0 -> 4044 bytes .../DefaultRGBChooserPanel$SliderHandler.class | Bin 0 -> 1333 bytes .../DefaultRGBChooserPanel$SpinnerHandler.class | Bin 0 -> 1517 bytes .../colorchooser/DefaultRGBChooserPanel.class | Bin 0 -> 5019 bytes ...DefaultSwatchChooserPanel$MainPanelLayout.class | Bin 0 -> 2444 bytes ...DefaultSwatchChooserPanel$MainSwatchPanel.class | Bin 0 -> 7923 bytes .../DefaultSwatchChooserPanel$MouseHandler.class | Bin 0 -> 1620 bytes ...faultSwatchChooserPanel$RecentPanelLayout.class | Bin 0 -> 2178 bytes ...faultSwatchChooserPanel$RecentSwatchPanel.class | Bin 0 -> 2954 bytes .../DefaultSwatchChooserPanel$SwatchPanel.class | Bin 0 -> 1303 bytes .../colorchooser/DefaultSwatchChooserPanel.class | Bin 0 -> 3119 bytes .../lib/javax/swing/event/AncestorEvent.class | Bin 0 -> 1099 bytes .../lib/javax/swing/event/AncestorListener.class | Bin 0 -> 275 bytes .../lib/javax/swing/event/CaretEvent.class | Bin 0 -> 400 bytes .../lib/javax/swing/event/CaretListener.class | Bin 0 -> 214 bytes .../lib/javax/swing/event/CellEditorListener.class | Bin 0 -> 254 bytes .../lib/javax/swing/event/ChangeEvent.class | Bin 0 -> 362 bytes .../lib/javax/swing/event/ChangeListener.class | Bin 0 -> 218 bytes .../swing/event/DocumentEvent$ElementChange.class | Bin 0 -> 388 bytes .../swing/event/DocumentEvent$EventType.class | Bin 0 -> 794 bytes .../lib/javax/swing/event/DocumentEvent.class | Bin 0 -> 554 bytes .../lib/javax/swing/event/DocumentListener.class | Bin 0 -> 271 bytes .../lib/javax/swing/event/EventListenerList.class | Bin 0 -> 4510 bytes .../swing/event/HyperlinkEvent$EventType.class | Bin 0 -> 802 bytes .../lib/javax/swing/event/HyperlinkEvent.class | Bin 0 -> 1782 bytes .../lib/javax/swing/event/HyperlinkListener.class | Bin 0 -> 230 bytes .../javax/swing/event/InternalFrameAdapter.class | Bin 0 -> 1105 bytes .../lib/javax/swing/event/InternalFrameEvent.class | Bin 0 -> 1343 bytes .../javax/swing/event/InternalFrameListener.class | Bin 0 -> 443 bytes .../lib/javax/swing/event/ListDataEvent.class | Bin 0 -> 1587 bytes .../lib/javax/swing/event/ListDataListener.class | Bin 0 -> 277 bytes .../lib/javax/swing/event/ListSelectionEvent.class | Bin 0 -> 1514 bytes .../javax/swing/event/ListSelectionListener.class | Bin 0 -> 239 bytes .../lib/javax/swing/event/MenuDragMouseEvent.class | Bin 0 -> 1050 bytes .../javax/swing/event/MenuDragMouseListener.class | Bin 0 -> 340 bytes .../lib/javax/swing/event/MenuEvent.class | Bin 0 -> 356 bytes .../lib/javax/swing/event/MenuKeyEvent.class | Bin 0 -> 986 bytes .../lib/javax/swing/event/MenuKeyListener.class | Bin 0 -> 272 bytes .../lib/javax/swing/event/MenuListener.class | Bin 0 -> 260 bytes .../lib/javax/swing/event/MouseInputAdapter.class | Bin 0 -> 1003 bytes .../lib/javax/swing/event/MouseInputListener.class | Bin 0 -> 213 bytes .../lib/javax/swing/event/PopupMenuEvent.class | Bin 0 -> 371 bytes .../lib/javax/swing/event/PopupMenuListener.class | Bin 0 -> 308 bytes .../swing/event/SwingPropertyChangeSupport.class | Bin 0 -> 482 bytes .../javax/swing/event/TableColumnModelEvent.class | Bin 0 -> 740 bytes .../swing/event/TableColumnModelListener.class | Bin 0 -> 437 bytes .../lib/javax/swing/event/TableModelEvent.class | Bin 0 -> 1718 bytes .../lib/javax/swing/event/TableModelListener.class | Bin 0 -> 230 bytes .../lib/javax/swing/event/TreeExpansionEvent.class | Bin 0 -> 620 bytes .../javax/swing/event/TreeExpansionListener.class | Bin 0 -> 263 bytes .../lib/javax/swing/event/TreeModelEvent.class | Bin 0 -> 2298 bytes .../lib/javax/swing/event/TreeModelListener.class | Bin 0 -> 317 bytes .../lib/javax/swing/event/TreeSelectionEvent.class | Bin 0 -> 2194 bytes .../javax/swing/event/TreeSelectionListener.class | Bin 0 -> 239 bytes .../javax/swing/event/TreeWillExpandListener.class | Bin 0 -> 345 bytes .../lib/javax/swing/event/UndoableEditEvent.class | Bin 0 -> 684 bytes .../javax/swing/event/UndoableEditListener.class | Bin 0 -> 244 bytes .../lib/javax/swing/filechooser/FileFilter.class | Bin 0 -> 392 bytes .../javax/swing/filechooser/FileSystemView.class | Bin 0 -> 4192 bytes .../lib/javax/swing/filechooser/FileView.class | Bin 0 -> 863 bytes .../swing/filechooser/UnixFileSystemView.class | Bin 0 -> 2253 bytes .../lib/javax/swing/plaf/ActionMapUIResource.class | Bin 0 -> 360 bytes .../BorderUIResource$BevelBorderUIResource.class | Bin 0 -> 1078 bytes ...BorderUIResource$CompoundBorderUIResource.class | Bin 0 -> 739 bytes .../BorderUIResource$EmptyBorderUIResource.class | Bin 0 -> 811 bytes .../BorderUIResource$EtchedBorderUIResource.class | Bin 0 -> 1024 bytes .../BorderUIResource$LineBorderUIResource.class | Bin 0 -> 776 bytes .../BorderUIResource$MatteBorderUIResource.class | Bin 0 -> 1030 bytes .../BorderUIResource$TitledBorderUIResource.class | Bin 0 -> 1670 bytes .../lib/javax/swing/plaf/BorderUIResource.class | Bin 0 -> 2641 bytes .../classpath/lib/javax/swing/plaf/ButtonUI.class | Bin 0 -> 295 bytes .../lib/javax/swing/plaf/ColorChooserUI.class | Bin 0 -> 317 bytes .../lib/javax/swing/plaf/ColorUIResource.class | Bin 0 -> 762 bytes .../lib/javax/swing/plaf/ComboBoxUI.class | Bin 0 -> 444 bytes .../swing/plaf/ComponentInputMapUIResource.class | Bin 0 -> 466 bytes .../lib/javax/swing/plaf/ComponentUI.class | Bin 0 -> 2426 bytes .../lib/javax/swing/plaf/DesktopIconUI.class | Bin 0 -> 314 bytes .../lib/javax/swing/plaf/DesktopPaneUI.class | Bin 0 -> 314 bytes .../lib/javax/swing/plaf/DimensionUIResource.class | Bin 0 -> 402 bytes .../lib/javax/swing/plaf/FileChooserUI.class | Bin 0 -> 747 bytes .../lib/javax/swing/plaf/FontUIResource.class | Bin 0 -> 657 bytes .../lib/javax/swing/plaf/IconUIResource.class | Bin 0 -> 1114 bytes .../lib/javax/swing/plaf/InputMapUIResource.class | Bin 0 -> 356 bytes .../lib/javax/swing/plaf/InsetsUIResource.class | Bin 0 -> 547 bytes .../lib/javax/swing/plaf/InternalFrameUI.class | Bin 0 -> 320 bytes .../classpath/lib/javax/swing/plaf/LabelUI.class | Bin 0 -> 296 bytes .../classpath/lib/javax/swing/plaf/ListUI.class | Bin 0 -> 497 bytes .../classpath/lib/javax/swing/plaf/MenuBarUI.class | Bin 0 -> 302 bytes .../lib/javax/swing/plaf/MenuItemUI.class | Bin 0 -> 302 bytes .../lib/javax/swing/plaf/OptionPaneUI.class | Bin 0 -> 433 bytes .../classpath/lib/javax/swing/plaf/PanelUI.class | Bin 0 -> 296 bytes .../lib/javax/swing/plaf/PopupMenuUI.class | Bin 0 -> 981 bytes .../lib/javax/swing/plaf/ProgressBarUI.class | Bin 0 -> 314 bytes .../lib/javax/swing/plaf/RootPaneUI.class | Bin 0 -> 305 bytes .../lib/javax/swing/plaf/ScrollBarUI.class | Bin 0 -> 308 bytes .../lib/javax/swing/plaf/ScrollPaneUI.class | Bin 0 -> 311 bytes .../lib/javax/swing/plaf/SeparatorUI.class | Bin 0 -> 308 bytes .../classpath/lib/javax/swing/plaf/SliderUI.class | Bin 0 -> 299 bytes .../classpath/lib/javax/swing/plaf/SpinnerUI.class | Bin 0 -> 302 bytes .../lib/javax/swing/plaf/SplitPaneUI.class | Bin 0 -> 645 bytes .../lib/javax/swing/plaf/TabbedPaneUI.class | Bin 0 -> 501 bytes .../lib/javax/swing/plaf/TableHeaderUI.class | Bin 0 -> 314 bytes .../classpath/lib/javax/swing/plaf/TableUI.class | Bin 0 -> 296 bytes .../classpath/lib/javax/swing/plaf/TextUI.class | Bin 0 -> 1455 bytes .../classpath/lib/javax/swing/plaf/ToolBarUI.class | Bin 0 -> 302 bytes .../classpath/lib/javax/swing/plaf/ToolTipUI.class | Bin 0 -> 302 bytes .../classpath/lib/javax/swing/plaf/TreeUI.class | Bin 0 -> 949 bytes .../lib/javax/swing/plaf/UIResource.class | Bin 0 -> 118 bytes .../lib/javax/swing/plaf/ViewportUI.class | Bin 0 -> 305 bytes .../javax/swing/plaf/basic/BasicArrowButton.class | Bin 0 -> 4556 bytes .../plaf/basic/BasicBorders$ButtonBorder.class | Bin 0 -> 2305 bytes .../plaf/basic/BasicBorders$FieldBorder.class | Bin 0 -> 2104 bytes .../plaf/basic/BasicBorders$MarginBorder.class | Bin 0 -> 1420 bytes .../plaf/basic/BasicBorders$MenuBarBorder.class | Bin 0 -> 1861 bytes .../basic/BasicBorders$RadioButtonBorder.class | Bin 0 -> 2394 bytes .../basic/BasicBorders$RolloverButtonBorder.class | Bin 0 -> 1786 bytes .../plaf/basic/BasicBorders$SplitPaneBorder.class | Bin 0 -> 2795 bytes .../BasicBorders$SplitPaneDividerBorder.class | Bin 0 -> 2559 bytes .../basic/BasicBorders$ToggleButtonBorder.class | Bin 0 -> 1704 bytes .../lib/javax/swing/plaf/basic/BasicBorders.class | Bin 0 -> 4045 bytes .../swing/plaf/basic/BasicButtonListener$1.class | Bin 0 -> 1175 bytes .../swing/plaf/basic/BasicButtonListener$2.class | Bin 0 -> 1175 bytes .../basic/BasicButtonListener$ButtonAction.class | Bin 0 -> 1892 bytes .../swing/plaf/basic/BasicButtonListener.class | Bin 0 -> 6685 bytes .../lib/javax/swing/plaf/basic/BasicButtonUI.class | Bin 0 -> 11510 bytes .../swing/plaf/basic/BasicCheckBoxMenuItemUI.class | Bin 0 -> 1185 bytes .../javax/swing/plaf/basic/BasicCheckBoxUI.class | Bin 0 -> 628 bytes .../swing/plaf/basic/BasicColorChooserUI$1.class | Bin 0 -> 924 bytes .../BasicColorChooserUI$PreviewListener.class | Bin 0 -> 1413 bytes .../BasicColorChooserUI$PropertyHandler.class | Bin 0 -> 1657 bytes .../BasicColorChooserUI$TabPaneListener.class | Bin 0 -> 1275 bytes .../swing/plaf/basic/BasicColorChooserUI.class | Bin 0 -> 4904 bytes .../basic/BasicComboBoxEditor$UIResource.class | Bin 0 -> 459 bytes .../swing/plaf/basic/BasicComboBoxEditor.class | Bin 0 -> 1816 bytes .../basic/BasicComboBoxRenderer$UIResource.class | Bin 0 -> 467 bytes .../swing/plaf/basic/BasicComboBoxRenderer.class | Bin 0 -> 2088 bytes .../BasicComboBoxUI$ComboBoxLayoutManager.class | Bin 0 -> 2168 bytes .../plaf/basic/BasicComboBoxUI$FocusHandler.class | Bin 0 -> 1191 bytes .../plaf/basic/BasicComboBoxUI$ItemHandler.class | Bin 0 -> 1308 bytes .../plaf/basic/BasicComboBoxUI$KeyHandler.class | Bin 0 -> 1593 bytes .../basic/BasicComboBoxUI$ListDataHandler.class | Bin 0 -> 3136 bytes .../BasicComboBoxUI$PropertyChangeHandler.class | Bin 0 -> 2581 bytes .../javax/swing/plaf/basic/BasicComboBoxUI.class | Bin 0 -> 16273 bytes .../BasicComboPopup$InvocationKeyHandler.class | Bin 0 -> 734 bytes .../BasicComboPopup$InvocationMouseHandler.class | Bin 0 -> 2308 bytes ...icComboPopup$InvocationMouseMotionHandler.class | Bin 0 -> 1954 bytes .../plaf/basic/BasicComboPopup$ItemHandler.class | Bin 0 -> 1152 bytes .../basic/BasicComboPopup$ListDataHandler.class | Bin 0 -> 940 bytes .../basic/BasicComboPopup$ListMouseHandler.class | Bin 0 -> 1081 bytes .../BasicComboPopup$ListMouseMotionHandler.class | Bin 0 -> 1296 bytes .../BasicComboPopup$ListSelectionHandler.class | Bin 0 -> 799 bytes .../BasicComboPopup$PropertyChangeHandler.class | Bin 0 -> 1878 bytes .../javax/swing/plaf/basic/BasicComboPopup.class | Bin 0 -> 14150 bytes .../swing/plaf/basic/BasicDesktopIconUI$1.class | Bin 0 -> 1713 bytes .../swing/plaf/basic/BasicDesktopIconUI$2.class | Bin 0 -> 814 bytes .../basic/BasicDesktopIconUI$BoundButton.class | Bin 0 -> 1306 bytes .../BasicDesktopIconUI$DesktopIconBorder.class | Bin 0 -> 2025 bytes ...esktopIconUI$InternalFrameDefaultMenuIcon.class | Bin 0 -> 1310 bytes .../BasicDesktopIconUI$MouseInputHandler.class | Bin 0 -> 2401 bytes .../swing/plaf/basic/BasicDesktopIconUI.class | Bin 0 -> 4991 bytes .../basic/BasicDesktopPaneUI$CloseAction.class | Bin 0 -> 1157 bytes .../basic/BasicDesktopPaneUI$MaximizeAction.class | Bin 0 -> 1170 bytes .../basic/BasicDesktopPaneUI$MinimizeAction.class | Bin 0 -> 1167 bytes .../basic/BasicDesktopPaneUI$NavigateAction.class | Bin 0 -> 1351 bytes .../plaf/basic/BasicDesktopPaneUI$OpenAction.class | Bin 0 -> 1238 bytes .../swing/plaf/basic/BasicDesktopPaneUI.class | Bin 0 -> 3093 bytes .../swing/plaf/basic/BasicDirectoryModel$1.class | Bin 0 -> 856 bytes ...el$DirectoryLoadThread$UpdateSwingRequest.class | Bin 0 -> 2209 bytes .../BasicDirectoryModel$DirectoryLoadThread.class | Bin 0 -> 4426 bytes .../swing/plaf/basic/BasicDirectoryModel.class | Bin 0 -> 5555 bytes .../javax/swing/plaf/basic/BasicEditorPaneUI.class | Bin 0 -> 914 bytes .../BasicFileChooserUI$AcceptAllFileFilter.class | Bin 0 -> 893 bytes ...BasicFileChooserUI$ApproveSelectionAction.class | Bin 0 -> 2289 bytes .../basic/BasicFileChooserUI$BasicFileView.class | Bin 0 -> 2695 bytes .../BasicFileChooserUI$CancelSelectionAction.class | Bin 0 -> 1079 bytes ...leChooserUI$ChangeToParentDirectoryAction.class | Bin 0 -> 1031 bytes .../BasicFileChooserUI$DoubleClickListener.class | Bin 0 -> 2984 bytes .../basic/BasicFileChooserUI$GoHomeAction.class | Bin 0 -> 1186 bytes .../basic/BasicFileChooserUI$NewFolderAction.class | Bin 0 -> 1269 bytes .../BasicFileChooserUI$SelectionListener.class | Bin 0 -> 1680 bytes .../basic/BasicFileChooserUI$UpdateAction.class | Bin 0 -> 758 bytes .../swing/plaf/basic/BasicFileChooserUI.class | Bin 0 -> 13666 bytes .../plaf/basic/BasicFormattedTextFieldUI.class | Bin 0 -> 669 bytes .../swing/plaf/basic/BasicGraphicsUtils.class | Bin 0 -> 8236 bytes .../swing/plaf/basic/BasicHTML$HTMLRootView.class | Bin 0 -> 4406 bytes .../lib/javax/swing/plaf/basic/BasicHTML.class | Bin 0 -> 2774 bytes .../swing/plaf/basic/BasicIconFactory$1.class | Bin 0 -> 1221 bytes .../swing/plaf/basic/BasicIconFactory$2.class | Bin 0 -> 1188 bytes .../plaf/basic/BasicIconFactory$CheckBoxIcon.class | Bin 0 -> 836 bytes .../BasicIconFactory$CheckBoxMenuItemIcon.class | Bin 0 -> 1278 bytes .../plaf/basic/BasicIconFactory$DummyIcon.class | Bin 0 -> 1212 bytes .../basic/BasicIconFactory$RadioButtonIcon.class | Bin 0 -> 845 bytes .../javax/swing/plaf/basic/BasicIconFactory.class | Bin 0 -> 1847 bytes .../BasicInternalFrameTitlePane$CloseAction.class | Bin 0 -> 1046 bytes ...BasicInternalFrameTitlePane$IconifyAction.class | Bin 0 -> 1088 bytes ...asicInternalFrameTitlePane$MaximizeAction.class | Bin 0 -> 1350 bytes .../BasicInternalFrameTitlePane$MoveAction.class | Bin 0 -> 817 bytes .../BasicInternalFrameTitlePane$PaneButton.class | Bin 0 -> 887 bytes ...ernalFrameTitlePane$PropertyChangeHandler.class | Bin 0 -> 1598 bytes ...BasicInternalFrameTitlePane$RestoreAction.class | Bin 0 -> 1054 bytes .../BasicInternalFrameTitlePane$SizeAction.class | Bin 0 -> 817 bytes ...BasicInternalFrameTitlePane$SystemMenuBar.class | Bin 0 -> 1381 bytes ...sicInternalFrameTitlePane$TitlePaneLayout.class | Bin 0 -> 2770 bytes .../plaf/basic/BasicInternalFrameTitlePane.class | Bin 0 -> 10171 bytes ...nternalFrameUI$BasicInternalFrameListener.class | Bin 0 -> 1622 bytes .../BasicInternalFrameUI$BorderListener.class | Bin 0 -> 5434 bytes .../BasicInternalFrameUI$ComponentHandler.class | Bin 0 -> 1663 bytes .../BasicInternalFrameUI$GlassPaneDispatcher.class | Bin 0 -> 3894 bytes .../BasicInternalFrameUI$InternalFrameBorder.class | Bin 0 -> 2244 bytes .../BasicInternalFrameUI$InternalFrameLayout.class | Bin 0 -> 3731 bytes ...ameUI$InternalFramePropertyChangeListener.class | Bin 0 -> 3035 bytes ...BasicInternalFrameUI$ShowSystemMenuAction.class | Bin 0 -> 1138 bytes .../swing/plaf/basic/BasicInternalFrameUI.class | Bin 0 -> 12010 bytes .../javax/swing/plaf/basic/BasicLabelUI$1.class | Bin 0 -> 1068 bytes .../lib/javax/swing/plaf/basic/BasicLabelUI.class | Bin 0 -> 9298 bytes .../basic/BasicListUI$ActionListenerProxy.class | Bin 0 -> 1138 bytes .../plaf/basic/BasicListUI$FocusHandler.class | Bin 0 -> 894 bytes .../swing/plaf/basic/BasicListUI$ListAction.class | Bin 0 -> 4157 bytes .../plaf/basic/BasicListUI$ListDataHandler.class | Bin 0 -> 1130 bytes .../basic/BasicListUI$ListSelectionHandler.class | Bin 0 -> 1200 bytes .../plaf/basic/BasicListUI$MouseInputHandler.class | Bin 0 -> 2536 bytes .../basic/BasicListUI$PropertyChangeHandler.class | Bin 0 -> 1770 bytes .../lib/javax/swing/plaf/basic/BasicListUI.class | Bin 0 -> 15521 bytes .../swing/plaf/basic/BasicLookAndFeel$1.class | Bin 0 -> 920 bytes .../swing/plaf/basic/BasicLookAndFeel$2.class | Bin 0 -> 913 bytes .../swing/plaf/basic/BasicLookAndFeel$3.class | Bin 0 -> 918 bytes .../swing/plaf/basic/BasicLookAndFeel$4.class | Bin 0 -> 921 bytes .../swing/plaf/basic/BasicLookAndFeel$5.class | Bin 0 -> 1557 bytes .../swing/plaf/basic/BasicLookAndFeel$6.class | Bin 0 -> 996 bytes .../swing/plaf/basic/BasicLookAndFeel$7.class | Bin 0 -> 916 bytes .../plaf/basic/BasicLookAndFeel$AudioAction.class | Bin 0 -> 1804 bytes .../plaf/basic/BasicLookAndFeel$PopupHelper.class | Bin 0 -> 2053 bytes .../javax/swing/plaf/basic/BasicLookAndFeel.class | Bin 0 -> 54628 bytes .../plaf/basic/BasicMenuBarUI$ChangeHandler.class | Bin 0 -> 911 bytes .../basic/BasicMenuBarUI$ContainerHandler.class | Bin 0 -> 1177 bytes .../plaf/basic/BasicMenuBarUI$FocusAction.class | Bin 0 -> 1327 bytes .../basic/BasicMenuBarUI$MouseInputHandler.class | Bin 0 -> 1811 bytes .../BasicMenuBarUI$PropertyChangeHandler.class | Bin 0 -> 1278 bytes .../javax/swing/plaf/basic/BasicMenuBarUI.class | Bin 0 -> 5909 bytes .../plaf/basic/BasicMenuItemUI$ClickAction.class | Bin 0 -> 896 bytes .../plaf/basic/BasicMenuItemUI$ItemHandler.class | Bin 0 -> 1250 bytes .../BasicMenuItemUI$MenuDragMouseHandler.class | Bin 0 -> 2003 bytes .../basic/BasicMenuItemUI$MenuKeyHandler.class | Bin 0 -> 1091 bytes .../basic/BasicMenuItemUI$MouseInputHandler.class | Bin 0 -> 2324 bytes .../BasicMenuItemUI$PropertyChangeHandler.class | Bin 0 -> 2614 bytes .../javax/swing/plaf/basic/BasicMenuItemUI.class | Bin 0 -> 17650 bytes .../plaf/basic/BasicMenuUI$ChangeHandler.class | Bin 0 -> 969 bytes .../basic/BasicMenuUI$MenuDragMouseHandler.class | Bin 0 -> 2832 bytes .../swing/plaf/basic/BasicMenuUI$MenuHandler.class | Bin 0 -> 1638 bytes .../plaf/basic/BasicMenuUI$MenuKeyHandler.class | Bin 0 -> 1125 bytes .../plaf/basic/BasicMenuUI$MouseInputHandler.class | Bin 0 -> 3272 bytes .../plaf/basic/BasicMenuUI$SelectMenuAction.class | Bin 0 -> 1439 bytes .../lib/javax/swing/plaf/basic/BasicMenuUI.class | Bin 0 -> 6078 bytes .../swing/plaf/basic/BasicOptionPaneUI$1.class | Bin 0 -> 1325 bytes .../swing/plaf/basic/BasicOptionPaneUI$2.class | Bin 0 -> 1389 bytes .../swing/plaf/basic/BasicOptionPaneUI$3.class | Bin 0 -> 1406 bytes .../swing/plaf/basic/BasicOptionPaneUI$4.class | Bin 0 -> 1282 bytes .../BasicOptionPaneUI$ButtonActionListener.class | Bin 0 -> 2178 bytes .../basic/BasicOptionPaneUI$ButtonAreaLayout.class | Bin 0 -> 3303 bytes .../plaf/basic/BasicOptionPaneUI$MessageIcon.class | Bin 0 -> 953 bytes .../BasicOptionPaneUI$OptionPaneCloseAction.class | Bin 0 -> 897 bytes .../BasicOptionPaneUI$PropertyChangeHandler.class | Bin 0 -> 1430 bytes .../javax/swing/plaf/basic/BasicOptionPaneUI.class | Bin 0 -> 14568 bytes .../lib/javax/swing/plaf/basic/BasicPanelUI.class | Bin 0 -> 1437 bytes .../swing/plaf/basic/BasicPasswordFieldUI.class | Bin 0 -> 900 bytes .../plaf/basic/BasicPopupMenuSeparatorUI.class | Bin 0 -> 1533 bytes .../basic/BasicPopupMenuUI$KeyboardHelper.class | Bin 0 -> 3368 bytes .../basic/BasicPopupMenuUI$NavigateAction.class | Bin 0 -> 6719 bytes .../basic/BasicPopupMenuUI$PopupMenuHandler.class | Bin 0 -> 2391 bytes .../basic/BasicPopupMenuUI$TopWindowListener.class | Bin 0 -> 1481 bytes .../javax/swing/plaf/basic/BasicPopupMenuUI.class | Bin 0 -> 6526 bytes .../basic/BasicProgressBarUI$AncestorHandler.class | Bin 0 -> 1345 bytes .../plaf/basic/BasicProgressBarUI$Animator.class | Bin 0 -> 960 bytes .../basic/BasicProgressBarUI$ChangeHandler.class | Bin 0 -> 888 bytes .../BasicProgressBarUI$ComponentHandler.class | Bin 0 -> 1056 bytes .../BasicProgressBarUI$PropertyChangeHandler.class | Bin 0 -> 1491 bytes .../swing/plaf/basic/BasicProgressBarUI.class | Bin 0 -> 13071 bytes .../plaf/basic/BasicRadioButtonMenuItemUI.class | Bin 0 -> 1197 bytes .../swing/plaf/basic/BasicRadioButtonUI.class | Bin 0 -> 5547 bytes .../basic/BasicRootPaneUI$DefaultPressAction.class | Bin 0 -> 1211 bytes .../BasicRootPaneUI$DefaultReleaseAction.class | Bin 0 -> 1217 bytes .../javax/swing/plaf/basic/BasicRootPaneUI.class | Bin 0 -> 3905 bytes .../swing/plaf/basic/BasicScrollBarUI$1.class | Bin 0 -> 1190 bytes .../swing/plaf/basic/BasicScrollBarUI$2.class | Bin 0 -> 1191 bytes .../swing/plaf/basic/BasicScrollBarUI$3.class | Bin 0 -> 1190 bytes .../swing/plaf/basic/BasicScrollBarUI$4.class | Bin 0 -> 1191 bytes .../swing/plaf/basic/BasicScrollBarUI$5.class | Bin 0 -> 1122 bytes .../swing/plaf/basic/BasicScrollBarUI$6.class | Bin 0 -> 1122 bytes .../BasicScrollBarUI$ArrowButtonListener.class | Bin 0 -> 1555 bytes .../basic/BasicScrollBarUI$ModelListener.class | Bin 0 -> 955 bytes .../BasicScrollBarUI$PropertyChangeHandler.class | Bin 0 -> 2087 bytes .../basic/BasicScrollBarUI$ScrollListener.class | Bin 0 -> 1651 bytes .../basic/BasicScrollBarUI$TrackListener.class | Bin 0 -> 3012 bytes .../javax/swing/plaf/basic/BasicScrollBarUI.class | Bin 0 -> 16908 bytes .../swing/plaf/basic/BasicScrollPaneUI$1.class | Bin 0 -> 1344 bytes .../swing/plaf/basic/BasicScrollPaneUI$10.class | Bin 0 -> 1345 bytes .../swing/plaf/basic/BasicScrollPaneUI$2.class | Bin 0 -> 1359 bytes .../swing/plaf/basic/BasicScrollPaneUI$3.class | Bin 0 -> 1341 bytes .../swing/plaf/basic/BasicScrollPaneUI$4.class | Bin 0 -> 1343 bytes .../swing/plaf/basic/BasicScrollPaneUI$5.class | Bin 0 -> 1342 bytes .../swing/plaf/basic/BasicScrollPaneUI$6.class | Bin 0 -> 1344 bytes .../swing/plaf/basic/BasicScrollPaneUI$7.class | Bin 0 -> 1359 bytes .../swing/plaf/basic/BasicScrollPaneUI$8.class | Bin 0 -> 1342 bytes .../swing/plaf/basic/BasicScrollPaneUI$9.class | Bin 0 -> 1341 bytes .../BasicScrollPaneUI$HSBChangeListener.class | Bin 0 -> 1387 bytes .../BasicScrollPaneUI$MouseWheelHandler.class | Bin 0 -> 1690 bytes .../BasicScrollPaneUI$PropertyChangeHandler.class | Bin 0 -> 2042 bytes .../BasicScrollPaneUI$VSBChangeListener.class | Bin 0 -> 1385 bytes .../BasicScrollPaneUI$ViewportChangeHandler.class | Bin 0 -> 843 bytes ...sicScrollPaneUI$ViewportContainerListener.class | Bin 0 -> 1211 bytes .../javax/swing/plaf/basic/BasicScrollPaneUI.class | Bin 0 -> 10659 bytes .../javax/swing/plaf/basic/BasicSeparatorUI.class | Bin 0 -> 3047 bytes .../javax/swing/plaf/basic/BasicSliderUI$1.class | Bin 0 -> 1165 bytes .../javax/swing/plaf/basic/BasicSliderUI$2.class | Bin 0 -> 1165 bytes .../javax/swing/plaf/basic/BasicSliderUI$3.class | Bin 0 -> 1166 bytes .../javax/swing/plaf/basic/BasicSliderUI$4.class | Bin 0 -> 1166 bytes .../javax/swing/plaf/basic/BasicSliderUI$5.class | Bin 0 -> 1142 bytes .../javax/swing/plaf/basic/BasicSliderUI$6.class | Bin 0 -> 1142 bytes .../plaf/basic/BasicSliderUI$ActionScroller.class | Bin 0 -> 827 bytes .../plaf/basic/BasicSliderUI$ChangeHandler.class | Bin 0 -> 889 bytes .../basic/BasicSliderUI$ComponentHandler.class | Bin 0 -> 872 bytes .../plaf/basic/BasicSliderUI$FocusHandler.class | Bin 0 -> 920 bytes .../BasicSliderUI$PropertyChangeHandler.class | Bin 0 -> 1862 bytes .../plaf/basic/BasicSliderUI$ScrollListener.class | Bin 0 -> 1574 bytes .../plaf/basic/BasicSliderUI$TrackListener.class | Bin 0 -> 2631 bytes .../lib/javax/swing/plaf/basic/BasicSliderUI.class | Bin 0 -> 25517 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$1.class | Bin 0 -> 1216 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$2.class | Bin 0 -> 1703 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$3.class | Bin 0 -> 784 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$4.class | Bin 0 -> 1711 bytes .../javax/swing/plaf/basic/BasicSpinnerUI$5.class | Bin 0 -> 784 bytes .../BasicSpinnerUI$DefaultLayoutManager.class | Bin 0 -> 3926 bytes .../javax/swing/plaf/basic/BasicSpinnerUI.class | Bin 0 -> 4321 bytes ...BasicSplitPaneDivider$BasicOneTouchButton.class | Bin 0 -> 2121 bytes .../BasicSplitPaneDivider$DividerLayout.class | Bin 0 -> 2579 bytes .../BasicSplitPaneDivider$DragController.class | Bin 0 -> 1769 bytes .../basic/BasicSplitPaneDivider$MouseHandler.class | Bin 0 -> 1691 bytes .../BasicSplitPaneDivider$OneTouchAction.class | Bin 0 -> 2371 bytes ...icSplitPaneDivider$VerticalDragController.class | Bin 0 -> 1197 bytes .../swing/plaf/basic/BasicSplitPaneDivider.class | Bin 0 -> 7162 bytes .../swing/plaf/basic/BasicSplitPaneUI$1.class | Bin 0 -> 855 bytes .../swing/plaf/basic/BasicSplitPaneUI$2.class | Bin 0 -> 977 bytes .../swing/plaf/basic/BasicSplitPaneUI$3.class | Bin 0 -> 985 bytes .../swing/plaf/basic/BasicSplitPaneUI$4.class | Bin 0 -> 985 bytes .../swing/plaf/basic/BasicSplitPaneUI$5.class | Bin 0 -> 1182 bytes .../swing/plaf/basic/BasicSplitPaneUI$6.class | Bin 0 -> 1182 bytes .../swing/plaf/basic/BasicSplitPaneUI$7.class | Bin 0 -> 855 bytes .../swing/plaf/basic/BasicSplitPaneUI$8.class | Bin 0 -> 855 bytes ...cSplitPaneUI$BasicHorizontalLayoutManager.class | Bin 0 -> 6704 bytes ...sicSplitPaneUI$BasicVerticalLayoutManager.class | Bin 0 -> 701 bytes .../plaf/basic/BasicSplitPaneUI$FocusHandler.class | Bin 0 -> 965 bytes ...BasicSplitPaneUI$KeyboardDownRightHandler.class | Bin 0 -> 787 bytes .../BasicSplitPaneUI$KeyboardEndHandler.class | Bin 0 -> 769 bytes .../BasicSplitPaneUI$KeyboardHomeHandler.class | Bin 0 -> 772 bytes ...icSplitPaneUI$KeyboardResizeToggleHandler.class | Bin 0 -> 796 bytes .../BasicSplitPaneUI$KeyboardUpLeftHandler.class | Bin 0 -> 778 bytes .../basic/BasicSplitPaneUI$PropertyHandler.class | Bin 0 -> 1987 bytes .../javax/swing/plaf/basic/BasicSplitPaneUI.class | Bin 0 -> 14032 bytes .../basic/BasicTabbedPaneUI$FocusHandler.class | Bin 0 -> 1350 bytes .../basic/BasicTabbedPaneUI$MouseHandler.class | Bin 0 -> 4164 bytes .../basic/BasicTabbedPaneUI$NavigateAction.class | Bin 0 -> 1097 bytes .../BasicTabbedPaneUI$NavigatePageDownAction.class | Bin 0 -> 1104 bytes .../BasicTabbedPaneUI$NavigatePageUpAction.class | Bin 0 -> 1100 bytes .../BasicTabbedPaneUI$PropertyChangeHandler.class | Bin 0 -> 2309 bytes .../BasicTabbedPaneUI$RequestFocusAction.class | Bin 0 -> 804 bytes ...eUI$RequestFocusForVisibleComponentAction.class | Bin 0 -> 1029 bytes .../basic/BasicTabbedPaneUI$ScrollingButton.class | Bin 0 -> 659 bytes ...bedPaneUI$ScrollingPanel$ScrollingPanelUI.class | Bin 0 -> 1945 bytes .../basic/BasicTabbedPaneUI$ScrollingPanel.class | Bin 0 -> 1293 bytes .../BasicTabbedPaneUI$ScrollingViewport.class | Bin 0 -> 790 bytes .../BasicTabbedPaneUI$TabSelectionHandler.class | Bin 0 -> 1145 bytes .../basic/BasicTabbedPaneUI$TabbedPaneLayout.class | Bin 0 -> 10750 bytes .../BasicTabbedPaneUI$TabbedPaneScrollLayout.class | Bin 0 -> 6417 bytes .../javax/swing/plaf/basic/BasicTabbedPaneUI.class | Bin 0 -> 32391 bytes .../swing/plaf/basic/BasicTableHeaderUI$1.class | Bin 0 -> 1270 bytes .../BasicTableHeaderUI$MouseInputHandler.class | Bin 0 -> 5270 bytes .../swing/plaf/basic/BasicTableHeaderUI.class | Bin 0 -> 6332 bytes .../plaf/basic/BasicTableUI$FocusHandler.class | Bin 0 -> 1654 bytes .../swing/plaf/basic/BasicTableUI$KeyHandler.class | Bin 0 -> 1233 bytes .../basic/BasicTableUI$MouseInputHandler.class | Bin 0 -> 3833 bytes .../basic/BasicTableUI$PropertyChangeHandler.class | Bin 0 -> 2003 bytes .../plaf/basic/BasicTableUI$TableAction.class | Bin 0 -> 10390 bytes .../lib/javax/swing/plaf/basic/BasicTableUI.class | Bin 0 -> 11558 bytes .../javax/swing/plaf/basic/BasicTextAreaUI.class | Bin 0 -> 1835 bytes .../javax/swing/plaf/basic/BasicTextFieldUI.class | Bin 0 -> 2284 bytes .../javax/swing/plaf/basic/BasicTextPaneUI.class | Bin 0 -> 1583 bytes .../swing/plaf/basic/BasicTextUI$BasicCaret.class | Bin 0 -> 462 bytes .../plaf/basic/BasicTextUI$BasicHighlighter.class | Bin 0 -> 486 bytes .../plaf/basic/BasicTextUI$FocusHandler.class | Bin 0 -> 2071 bytes .../swing/plaf/basic/BasicTextUI$Handler.class | Bin 0 -> 2400 bytes .../swing/plaf/basic/BasicTextUI$RootView.class | Bin 0 -> 4656 bytes .../lib/javax/swing/plaf/basic/BasicTextUI.class | Bin 0 -> 17718 bytes .../swing/plaf/basic/BasicToggleButtonUI.class | Bin 0 -> 3114 bytes .../swing/plaf/basic/BasicToolBarSeparatorUI.class | Bin 0 -> 1337 bytes .../basic/BasicToolBarUI$DockingListener.class | Bin 0 -> 2955 bytes .../plaf/basic/BasicToolBarUI$DragWindow.class | Bin 0 -> 2025 bytes .../plaf/basic/BasicToolBarUI$FrameListener.class | Bin 0 -> 1391 bytes .../basic/BasicToolBarUI$PropertyListener.class | Bin 0 -> 1112 bytes .../plaf/basic/BasicToolBarUI$ToolBarAction.class | Bin 0 -> 1577 bytes .../plaf/basic/BasicToolBarUI$ToolBarBorder.class | Bin 0 -> 2132 bytes .../basic/BasicToolBarUI$ToolBarContListener.class | Bin 0 -> 2107 bytes .../plaf/basic/BasicToolBarUI$ToolBarDialog.class | Bin 0 -> 786 bytes .../BasicToolBarUI$ToolBarFocusListener.class | Bin 0 -> 1147 bytes .../javax/swing/plaf/basic/BasicToolBarUI.class | Bin 0 -> 16635 bytes .../BasicToolTipUI$PropertyChangeHandler.class | Bin 0 -> 1514 bytes .../javax/swing/plaf/basic/BasicToolTipUI.class | Bin 0 -> 5073 bytes .../lib/javax/swing/plaf/basic/BasicTreeUI$1.class | Bin 0 -> 1001 bytes .../plaf/basic/BasicTreeUI$CellEditorHandler.class | Bin 0 -> 901 bytes .../plaf/basic/BasicTreeUI$ComponentHandler.class | Bin 0 -> 2143 bytes .../plaf/basic/BasicTreeUI$FocusHandler.class | Bin 0 -> 1242 bytes .../swing/plaf/basic/BasicTreeUI$KeyHandler.class | Bin 0 -> 2114 bytes .../plaf/basic/BasicTreeUI$MouseHandler.class | Bin 0 -> 2514 bytes .../plaf/basic/BasicTreeUI$MouseInputHandler.class | Bin 0 -> 2338 bytes .../basic/BasicTreeUI$NodeDimensionsHandler.class | Bin 0 -> 2351 bytes .../basic/BasicTreeUI$PropertyChangeHandler.class | Bin 0 -> 2241 bytes ...reeUI$SelectionModelPropertyChangeHandler.class | Bin 0 -> 966 bytes .../BasicTreeUI$TreeCancelEditingAction.class | Bin 0 -> 987 bytes .../basic/BasicTreeUI$TreeExpansionHandler.class | Bin 0 -> 1477 bytes .../plaf/basic/BasicTreeUI$TreeHomeAction.class | Bin 0 -> 2637 bytes .../basic/BasicTreeUI$TreeIncrementAction.class | Bin 0 -> 3035 bytes .../plaf/basic/BasicTreeUI$TreeModelHandler.class | Bin 0 -> 1898 bytes .../plaf/basic/BasicTreeUI$TreePageAction.class | Bin 0 -> 3700 bytes .../basic/BasicTreeUI$TreeSelectionHandler.class | Bin 0 -> 1558 bytes .../basic/BasicTreeUI$TreeStartEditingAction.class | Bin 0 -> 1115 bytes .../plaf/basic/BasicTreeUI$TreeToggleAction.class | Bin 0 -> 1673 bytes .../basic/BasicTreeUI$TreeTraverseAction.class | Bin 0 -> 2504 bytes .../lib/javax/swing/plaf/basic/BasicTreeUI.class | Bin 0 -> 37315 bytes .../javax/swing/plaf/basic/BasicViewportUI.class | Bin 0 -> 1238 bytes .../lib/javax/swing/plaf/basic/ComboPopup.class | Bin 0 -> 447 bytes .../javax/swing/plaf/basic/DefaultMenuLayout.class | Bin 0 -> 601 bytes .../javax/swing/plaf/basic/SharedUIDefaults.class | Bin 0 -> 987 bytes .../javax/swing/plaf/metal/DefaultMetalTheme.class | Bin 0 -> 3433 bytes .../plaf/metal/MetalBorders$ButtonBorder.class | Bin 0 -> 3859 bytes .../metal/MetalBorders$DesktopIconBorder.class | Bin 0 -> 1464 bytes .../plaf/metal/MetalBorders$Flush3DBorder.class | Bin 0 -> 1822 bytes .../metal/MetalBorders$InternalFrameBorder.class | Bin 0 -> 2289 bytes .../plaf/metal/MetalBorders$MenuBarBorder.class | Bin 0 -> 1790 bytes .../plaf/metal/MetalBorders$MenuItemBorder.class | Bin 0 -> 2085 bytes .../metal/MetalBorders$OptionDialogBorder.class | Bin 0 -> 2348 bytes .../plaf/metal/MetalBorders$PaletteBorder.class | Bin 0 -> 1779 bytes .../plaf/metal/MetalBorders$PopupMenuBorder.class | Bin 0 -> 1821 bytes .../metal/MetalBorders$RolloverButtonBorder.class | Bin 0 -> 760 bytes .../metal/MetalBorders$RolloverMarginBorder.class | Bin 0 -> 1247 bytes .../plaf/metal/MetalBorders$ScrollPaneBorder.class | Bin 0 -> 1716 bytes .../metal/MetalBorders$TableHeaderBorder.class | Bin 0 -> 1452 bytes .../plaf/metal/MetalBorders$TextFieldBorder.class | Bin 0 -> 1378 bytes .../metal/MetalBorders$ToggleButtonBorder.class | Bin 0 -> 2043 bytes .../plaf/metal/MetalBorders$ToolBarBorder.class | Bin 0 -> 1869 bytes .../lib/javax/swing/plaf/metal/MetalBorders.class | Bin 0 -> 3427 bytes .../swing/plaf/metal/MetalButtonListener.class | Bin 0 -> 617 bytes .../lib/javax/swing/plaf/metal/MetalButtonUI.class | Bin 0 -> 4967 bytes .../javax/swing/plaf/metal/MetalCheckBoxIcon.class | Bin 0 -> 2082 bytes .../javax/swing/plaf/metal/MetalCheckBoxUI.class | Bin 0 -> 689 bytes .../swing/plaf/metal/MetalComboBoxButton.class | Bin 0 -> 4952 bytes .../MetalComboBoxEditor$EditorTextField.class | Bin 0 -> 1031 bytes ...lComboBoxEditor$MetalComboBoxEditorBorder.class | Bin 0 -> 1715 bytes .../metal/MetalComboBoxEditor$UIResource.class | Bin 0 -> 459 bytes .../swing/plaf/metal/MetalComboBoxEditor.class | Bin 0 -> 1094 bytes .../javax/swing/plaf/metal/MetalComboBoxIcon.class | Bin 0 -> 1244 bytes ...etalComboBoxUI$MetalComboBoxLayoutManager.class | Bin 0 -> 1060 bytes .../metal/MetalComboBoxUI$MetalComboPopup.class | Bin 0 -> 866 bytes ...talComboBoxUI$MetalPropertyChangeListener.class | Bin 0 -> 2089 bytes .../javax/swing/plaf/metal/MetalComboBoxUI.class | Bin 0 -> 5757 bytes .../swing/plaf/metal/MetalDesktopIconUI.class | Bin 0 -> 532 bytes .../metal/MetalFileChooserUI$ButtonLayout.class | Bin 0 -> 2657 bytes ...talFileChooserUI$DetailViewActionListener.class | Bin 0 -> 1928 bytes ...etalFileChooserUI$DirectoryComboBoxAction.class | Bin 0 -> 1224 bytes ...MetalFileChooserUI$DirectoryComboBoxModel.class | Bin 0 -> 2120 bytes ...alFileChooserUI$DirectoryComboBoxRenderer.class | Bin 0 -> 1992 bytes .../metal/MetalFileChooserUI$FileRenderer.class | Bin 0 -> 2259 bytes .../MetalFileChooserUI$FilterComboBoxModel.class | Bin 0 -> 2310 bytes ...MetalFileChooserUI$FilterComboBoxRenderer.class | Bin 0 -> 1179 bytes .../plaf/metal/MetalFileChooserUI$IndentIcon.class | Bin 0 -> 1373 bytes ...MetalFileChooserUI$ListViewActionListener.class | Bin 0 -> 1834 bytes ...UI$MetalFileChooserPropertyChangeListener.class | Bin 0 -> 7109 bytes ...ooserUI$MetalFileChooserSelectionListener.class | Bin 0 -> 1334 bytes ...SingleClickListener$EditingActionListener.class | Bin 0 -> 1068 bytes .../MetalFileChooserUI$SingleClickListener.class | Bin 0 -> 4212 bytes ...$TableClickListener$EditingActionListener.class | Bin 0 -> 1062 bytes .../MetalFileChooserUI$TableClickListener.class | Bin 0 -> 5158 bytes .../MetalFileChooserUI$TableFileRenderer.class | Bin 0 -> 2595 bytes .../MetalFileChooserUI$VerticalMidLayout.class | Bin 0 -> 2163 bytes .../swing/plaf/metal/MetalFileChooserUI.class | Bin 0 -> 19113 bytes .../swing/plaf/metal/MetalIconFactory$1.class | Bin 0 -> 1188 bytes .../swing/plaf/metal/MetalIconFactory$2.class | Bin 0 -> 1192 bytes .../swing/plaf/metal/MetalIconFactory$3.class | Bin 0 -> 1221 bytes .../MetalIconFactory$CheckBoxMenuItemIcon.class | Bin 0 -> 1689 bytes ...etalIconFactory$FileChooserDetailViewIcon.class | Bin 0 -> 1696 bytes ...etalIconFactory$FileChooserHomeFolderIcon.class | Bin 0 -> 1818 bytes .../MetalIconFactory$FileChooserListViewIcon.class | Bin 0 -> 2031 bytes ...MetalIconFactory$FileChooserNewFolderIcon.class | Bin 0 -> 1729 bytes .../MetalIconFactory$FileChooserUpFolderIcon.class | Bin 0 -> 1204 bytes .../plaf/metal/MetalIconFactory$FileIcon16.class | Bin 0 -> 1577 bytes .../plaf/metal/MetalIconFactory$FolderIcon16.class | Bin 0 -> 1654 bytes ...etalIconFactory$HorizontalSliderThumbIcon.class | Bin 0 -> 2736 bytes ...lIconFactory$InternalFrameAltMaximizeIcon.class | Bin 0 -> 2494 bytes .../MetalIconFactory$InternalFrameCloseIcon.class | Bin 0 -> 2551 bytes ...lIconFactory$InternalFrameDefaultMenuIcon.class | Bin 0 -> 1605 bytes ...etalIconFactory$InternalFrameMaximizeIcon.class | Bin 0 -> 2544 bytes ...etalIconFactory$InternalFrameMinimizeIcon.class | Bin 0 -> 2347 bytes .../metal/MetalIconFactory$PaletteCloseIcon.class | Bin 0 -> 1817 bytes .../metal/MetalIconFactory$RadioButtonIcon.class | Bin 0 -> 3091 bytes .../MetalIconFactory$RadioButtonMenuItemIcon.class | Bin 0 -> 1899 bytes .../metal/MetalIconFactory$TreeComputerIcon.class | Bin 0 -> 1656 bytes .../metal/MetalIconFactory$TreeControlIcon.class | Bin 0 -> 1564 bytes .../MetalIconFactory$TreeFloppyDriveIcon.class | Bin 0 -> 1712 bytes .../metal/MetalIconFactory$TreeFolderIcon.class | Bin 0 -> 637 bytes .../metal/MetalIconFactory$TreeHardDriveIcon.class | Bin 0 -> 2463 bytes .../plaf/metal/MetalIconFactory$TreeLeafIcon.class | Bin 0 -> 629 bytes .../MetalIconFactory$VerticalSliderThumbIcon.class | Bin 0 -> 2728 bytes .../javax/swing/plaf/metal/MetalIconFactory.class | Bin 0 -> 6422 bytes ...ternalFrameTitlePanePropertyChangeHandler.class | Bin 0 -> 1838 bytes ...ternalFrameTitlePane$MetalTitlePaneLayout.class | Bin 0 -> 2938 bytes .../plaf/metal/MetalInternalFrameTitlePane.class | Bin 0 -> 6716 bytes .../swing/plaf/metal/MetalInternalFrameUI$1.class | Bin 0 -> 1205 bytes .../swing/plaf/metal/MetalInternalFrameUI.class | Bin 0 -> 2982 bytes .../lib/javax/swing/plaf/metal/MetalLabelUI.class | Bin 0 -> 1469 bytes .../swing/plaf/metal/MetalLookAndFeel$1.class | Bin 0 -> 916 bytes .../javax/swing/plaf/metal/MetalLookAndFeel.class | Bin 0 -> 30873 bytes .../javax/swing/plaf/metal/MetalMenuBarUI.class | Bin 0 -> 1225 bytes .../plaf/metal/MetalPopupMenuSeparatorUI.class | Bin 0 -> 600 bytes .../swing/plaf/metal/MetalProgressBarUI.class | Bin 0 -> 2578 bytes .../swing/plaf/metal/MetalRadioButtonUI.class | Bin 0 -> 2409 bytes .../metal/MetalRootPaneUI$MetalFrameBorder.class | Bin 0 -> 2445 bytes .../metal/MetalRootPaneUI$MetalRootLayout.class | Bin 0 -> 4344 bytes ...etalRootPaneUI$MetalTitlePane$CloseAction.class | Bin 0 -> 1617 bytes ...alRootPaneUI$MetalTitlePane$IconifyAction.class | Bin 0 -> 1422 bytes ...lRootPaneUI$MetalTitlePane$MaximizeAction.class | Bin 0 -> 1427 bytes ...aneUI$MetalTitlePane$MetalTitlePaneLayout.class | Bin 0 -> 2810 bytes ...talRootPaneUI$MetalTitlePane$MouseHandler.class | Bin 0 -> 1773 bytes ...MetalRootPaneUI$MetalTitlePane$PaneButton.class | Bin 0 -> 959 bytes .../metal/MetalRootPaneUI$MetalTitlePane.class | Bin 0 -> 8217 bytes .../javax/swing/plaf/metal/MetalRootPaneUI.class | Bin 0 -> 3207 bytes ...BarUI$MetalScrollBarPropertyChangeHandler.class | Bin 0 -> 1557 bytes .../javax/swing/plaf/metal/MetalScrollBarUI.class | Bin 0 -> 7735 bytes .../javax/swing/plaf/metal/MetalScrollButton.class | Bin 0 -> 5504 bytes .../javax/swing/plaf/metal/MetalScrollPaneUI.class | Bin 0 -> 1734 bytes .../javax/swing/plaf/metal/MetalSeparatorUI.class | Bin 0 -> 1827 bytes .../MetalSliderUI$MetalPropertyListener.class | Bin 0 -> 1242 bytes .../lib/javax/swing/plaf/metal/MetalSliderUI.class | Bin 0 -> 7057 bytes ...MetalSplitPaneDivider$MetalOneTouchButton.class | Bin 0 -> 2338 bytes .../swing/plaf/metal/MetalSplitPaneDivider.class | Bin 0 -> 3190 bytes .../javax/swing/plaf/metal/MetalSplitPaneUI.class | Bin 0 -> 1016 bytes .../metal/MetalTabbedPaneUI$TabbedPaneLayout.class | Bin 0 -> 1097 bytes .../javax/swing/plaf/metal/MetalTabbedPaneUI.class | Bin 0 -> 12940 bytes .../javax/swing/plaf/metal/MetalTextFieldUI.class | Bin 0 -> 706 bytes .../lib/javax/swing/plaf/metal/MetalTheme.class | Bin 0 -> 4295 bytes .../swing/plaf/metal/MetalToggleButtonUI.class | Bin 0 -> 4445 bytes .../MetalToolBarUI$MetalContainerListener.class | Bin 0 -> 662 bytes .../MetalToolBarUI$MetalDockingListener.class | Bin 0 -> 1188 bytes .../MetalToolBarUI$MetalRolloverListener.class | Bin 0 -> 656 bytes .../javax/swing/plaf/metal/MetalToolBarUI.class | Bin 0 -> 3159 bytes .../javax/swing/plaf/metal/MetalToolTipUI.class | Bin 0 -> 4741 bytes .../plaf/metal/MetalTreeUI$LineStyleListener.class | Bin 0 -> 1207 bytes .../lib/javax/swing/plaf/metal/MetalTreeUI.class | Bin 0 -> 4661 bytes .../lib/javax/swing/plaf/metal/MetalUtils.class | Bin 0 -> 7703 bytes .../lib/javax/swing/plaf/metal/OceanTheme.class | Bin 0 -> 5545 bytes .../lib/javax/swing/plaf/multi/MultiButtonUI.class | Bin 0 -> 3741 bytes .../swing/plaf/multi/MultiColorChooserUI.class | Bin 0 -> 3765 bytes .../javax/swing/plaf/multi/MultiComboBoxUI.class | Bin 0 -> 4539 bytes .../swing/plaf/multi/MultiDesktopIconUI.class | Bin 0 -> 3761 bytes .../swing/plaf/multi/MultiDesktopPaneUI.class | Bin 0 -> 3761 bytes .../swing/plaf/multi/MultiFileChooserUI.class | Bin 0 -> 5542 bytes .../swing/plaf/multi/MultiInternalFrameUI.class | Bin 0 -> 3769 bytes .../lib/javax/swing/plaf/multi/MultiLabelUI.class | Bin 0 -> 3737 bytes .../lib/javax/swing/plaf/multi/MultiListUI.class | Bin 0 -> 4778 bytes .../javax/swing/plaf/multi/MultiLookAndFeel.class | Bin 0 -> 4980 bytes .../javax/swing/plaf/multi/MultiMenuBarUI.class | Bin 0 -> 3745 bytes .../javax/swing/plaf/multi/MultiMenuItemUI.class | Bin 0 -> 3749 bytes .../javax/swing/plaf/multi/MultiOptionPaneUI.class | Bin 0 -> 4309 bytes .../lib/javax/swing/plaf/multi/MultiPanelUI.class | Bin 0 -> 3737 bytes .../javax/swing/plaf/multi/MultiPopupMenuUI.class | Bin 0 -> 3753 bytes .../swing/plaf/multi/MultiProgressBarUI.class | Bin 0 -> 3761 bytes .../javax/swing/plaf/multi/MultiRootPaneUI.class | Bin 0 -> 3749 bytes .../javax/swing/plaf/multi/MultiScrollBarUI.class | Bin 0 -> 3753 bytes .../javax/swing/plaf/multi/MultiScrollPaneUI.class | Bin 0 -> 3757 bytes .../javax/swing/plaf/multi/MultiSeparatorUI.class | Bin 0 -> 3753 bytes .../lib/javax/swing/plaf/multi/MultiSliderUI.class | Bin 0 -> 3741 bytes .../javax/swing/plaf/multi/MultiSpinnerUI.class | Bin 0 -> 3745 bytes .../javax/swing/plaf/multi/MultiSplitPaneUI.class | Bin 0 -> 5265 bytes .../javax/swing/plaf/multi/MultiTabbedPaneUI.class | Bin 0 -> 4734 bytes .../swing/plaf/multi/MultiTableHeaderUI.class | Bin 0 -> 3761 bytes .../lib/javax/swing/plaf/multi/MultiTableUI.class | Bin 0 -> 3737 bytes .../lib/javax/swing/plaf/multi/MultiTextUI.class | Bin 0 -> 7018 bytes .../javax/swing/plaf/multi/MultiToolBarUI.class | Bin 0 -> 3745 bytes .../javax/swing/plaf/multi/MultiToolTipUI.class | Bin 0 -> 3745 bytes .../lib/javax/swing/plaf/multi/MultiTreeUI.class | Bin 0 -> 6600 bytes .../javax/swing/plaf/multi/MultiViewportUI.class | Bin 0 -> 3749 bytes .../lib/javax/swing/plaf/synth/ColorType.class | Bin 0 -> 1096 bytes .../lib/javax/swing/plaf/synth/Region.class | Bin 0 -> 5717 bytes .../javax/swing/plaf/synth/SynthConstants.class | Bin 0 -> 374 bytes .../lib/javax/swing/plaf/synth/SynthContext.class | Bin 0 -> 1110 bytes .../swing/plaf/synth/SynthGraphicsUtils.class | Bin 0 -> 4042 bytes .../javax/swing/plaf/synth/SynthLookAndFeel.class | Bin 0 -> 2732 bytes .../lib/javax/swing/plaf/synth/SynthPainter.class | Bin 0 -> 16885 bytes .../lib/javax/swing/plaf/synth/SynthStyle.class | Bin 0 -> 3043 bytes .../javax/swing/plaf/synth/SynthStyleFactory.class | Bin 0 -> 440 bytes .../lib/javax/swing/table/AbstractTableModel.class | Bin 0 -> 4043 bytes .../DefaultTableCellRenderer$UIResource.class | Bin 0 -> 464 bytes .../swing/table/DefaultTableCellRenderer.class | Bin 0 -> 3503 bytes .../swing/table/DefaultTableColumnModel.class | Bin 0 -> 8494 bytes .../lib/javax/swing/table/DefaultTableModel.class | Bin 0 -> 7491 bytes ...eJTableHeader$AccessibleJTableHeaderEntry.class | Bin 0 -> 9605 bytes .../JTableHeader$AccessibleJTableHeader.class | Bin 0 -> 1638 bytes .../lib/javax/swing/table/JTableHeader.class | Bin 0 -> 6581 bytes .../lib/javax/swing/table/TableCellEditor.class | Bin 0 -> 263 bytes .../lib/javax/swing/table/TableCellRenderer.class | Bin 0 -> 240 bytes .../lib/javax/swing/table/TableColumn.class | Bin 0 -> 6349 bytes .../lib/javax/swing/table/TableColumnModel.class | Bin 0 -> 1035 bytes .../lib/javax/swing/table/TableModel.class | Bin 0 -> 551 bytes .../text/AbstractDocument$AbstractElement.class | Bin 0 -> 7275 bytes .../text/AbstractDocument$AttributeContext.class | Bin 0 -> 946 bytes .../swing/text/AbstractDocument$BidiElement.class | Bin 0 -> 1170 bytes .../text/AbstractDocument$BidiRootElement.class | Bin 0 -> 775 bytes .../text/AbstractDocument$BranchElement.class | Bin 0 -> 3805 bytes .../javax/swing/text/AbstractDocument$Bypass.class | Bin 0 -> 1368 bytes .../swing/text/AbstractDocument$Content.class | Bin 0 -> 636 bytes .../AbstractDocument$DefaultDocumentEvent.class | Bin 0 -> 2879 bytes .../swing/text/AbstractDocument$ElementEdit.class | Bin 0 -> 1266 bytes .../swing/text/AbstractDocument$LeafElement.class | Bin 0 -> 2890 bytes .../lib/javax/swing/text/AbstractDocument.class | Bin 0 -> 19878 bytes .../lib/javax/swing/text/AbstractWriter.class | Bin 0 -> 6829 bytes .../swing/text/AsyncBoxView$ChildLocator.class | Bin 0 -> 4547 bytes .../javax/swing/text/AsyncBoxView$ChildState.class | Bin 0 -> 3896 bytes .../javax/swing/text/AsyncBoxView$FlushTask.class | Bin 0 -> 1889 bytes .../lib/javax/swing/text/AsyncBoxView.class | Bin 0 -> 10236 bytes .../text/AttributeSet$CharacterAttribute.class | Bin 0 -> 228 bytes .../swing/text/AttributeSet$ColorAttribute.class | Bin 0 -> 220 bytes .../swing/text/AttributeSet$FontAttribute.class | Bin 0 -> 218 bytes .../text/AttributeSet$ParagraphAttribute.class | Bin 0 -> 228 bytes .../lib/javax/swing/text/AttributeSet.class | Bin 0 -> 1219 bytes .../javax/swing/text/BadLocationException.class | Bin 0 -> 606 bytes .../classpath/lib/javax/swing/text/BoxView.class | Bin 0 -> 13114 bytes libjava/classpath/lib/javax/swing/text/Caret.class | Bin 0 -> 674 bytes .../javax/swing/text/ChangedCharSetException.class | Bin 0 -> 796 bytes .../lib/javax/swing/text/ComponentView$1.class | Bin 0 -> 1200 bytes .../swing/text/ComponentView$Interceptor.class | Bin 0 -> 2577 bytes .../lib/javax/swing/text/ComponentView.class | Bin 0 -> 4965 bytes .../lib/javax/swing/text/CompositeView.class | Bin 0 -> 8179 bytes .../lib/javax/swing/text/DateFormatter.class | Bin 0 -> 761 bytes .../text/DefaultCaret$BlinkTimerListener.class | Bin 0 -> 1007 bytes .../lib/javax/swing/text/DefaultCaret$Bypass.class | Bin 0 -> 960 bytes .../swing/text/DefaultCaret$DocumentHandler.class | Bin 0 -> 1602 bytes .../text/DefaultCaret$PropertyChangeHandler.class | Bin 0 -> 1916 bytes .../lib/javax/swing/text/DefaultCaret.class | Bin 0 -> 14143 bytes .../text/DefaultEditorKit$BackwardAction.class | Bin 0 -> 750 bytes .../swing/text/DefaultEditorKit$BeepAction.class | Bin 0 -> 716 bytes .../swing/text/DefaultEditorKit$BeginAction.class | Bin 0 -> 1248 bytes .../text/DefaultEditorKit$BeginLineAction.class | Bin 0 -> 1442 bytes .../text/DefaultEditorKit$BeginWordAction.class | Bin 0 -> 1434 bytes .../swing/text/DefaultEditorKit$CopyAction.class | Bin 0 -> 864 bytes .../swing/text/DefaultEditorKit$CutAction.class | Bin 0 -> 859 bytes .../DefaultEditorKit$DefaultKeyTypedAction.class | Bin 0 -> 1326 bytes .../DefaultEditorKit$DeleteNextCharAction.class | Bin 0 -> 1595 bytes .../DefaultEditorKit$DeletePrevCharAction.class | Bin 0 -> 1575 bytes .../swing/text/DefaultEditorKit$DownAction.class | Bin 0 -> 731 bytes .../swing/text/DefaultEditorKit$EndAction.class | Bin 0 -> 1393 bytes .../text/DefaultEditorKit$EndLineAction.class | Bin 0 -> 1432 bytes .../text/DefaultEditorKit$EndWordAction.class | Bin 0 -> 1424 bytes .../text/DefaultEditorKit$ForwardAction.class | Bin 0 -> 745 bytes .../text/DefaultEditorKit$InsertBreakAction.class | Bin 0 -> 896 bytes .../DefaultEditorKit$InsertContentAction.class | Bin 0 -> 658 bytes .../text/DefaultEditorKit$InsertTabAction.class | Bin 0 -> 888 bytes .../text/DefaultEditorKit$NextWordAction.class | Bin 0 -> 1429 bytes .../swing/text/DefaultEditorKit$PasteAction.class | Bin 0 -> 871 bytes .../text/DefaultEditorKit$PreviousWordAction.class | Bin 0 -> 1449 bytes .../text/DefaultEditorKit$SelectAllAction.class | Bin 0 -> 1444 bytes .../text/DefaultEditorKit$SelectLineAction.class | Bin 0 -> 1512 bytes .../text/DefaultEditorKit$SelectWordAction.class | Bin 0 -> 1776 bytes .../DefaultEditorKit$SelectionBackwardAction.class | Bin 0 -> 782 bytes .../DefaultEditorKit$SelectionBeginAction.class | Bin 0 -> 1280 bytes ...DefaultEditorKit$SelectionBeginLineAction.class | Bin 0 -> 1418 bytes ...DefaultEditorKit$SelectionBeginWordAction.class | Bin 0 -> 1466 bytes .../DefaultEditorKit$SelectionDownAction.class | Bin 0 -> 763 bytes .../text/DefaultEditorKit$SelectionEndAction.class | Bin 0 -> 1425 bytes .../DefaultEditorKit$SelectionEndLineAction.class | Bin 0 -> 1408 bytes .../DefaultEditorKit$SelectionEndWordAction.class | Bin 0 -> 1456 bytes .../DefaultEditorKit$SelectionForwardAction.class | Bin 0 -> 777 bytes .../DefaultEditorKit$SelectionNextWordAction.class | Bin 0 -> 1461 bytes ...aultEditorKit$SelectionPreviousWordAction.class | Bin 0 -> 1481 bytes .../text/DefaultEditorKit$SelectionUpAction.class | Bin 0 -> 755 bytes .../swing/text/DefaultEditorKit$UpAction.class | Bin 0 -> 723 bytes .../lib/javax/swing/text/DefaultEditorKit.class | Bin 0 -> 9767 bytes .../DefaultFormatter$FormatterDocumentFilter.class | Bin 0 -> 2934 bytes .../lib/javax/swing/text/DefaultFormatter.class | Bin 0 -> 3572 bytes .../javax/swing/text/DefaultFormatterFactory.class | Bin 0 -> 2826 bytes ...efaultHighlighter$DefaultHighlightPainter.class | Bin 0 -> 3060 bytes .../text/DefaultHighlighter$HighlightEntry.class | Bin 0 -> 1259 bytes .../DefaultHighlighter$LayerHighlightEntry.class | Bin 0 -> 2281 bytes .../lib/javax/swing/text/DefaultHighlighter.class | Bin 0 -> 6755 bytes ...faultStyledDocument$AttributeUndoableEdit.class | Bin 0 -> 1512 bytes .../DefaultStyledDocument$ElementBuffer$Edit.class | Bin 0 -> 1219 bytes .../text/DefaultStyledDocument$ElementBuffer.class | Bin 0 -> 18010 bytes .../text/DefaultStyledDocument$ElementSpec.class | Bin 0 -> 2801 bytes .../DefaultStyledDocument$SectionElement.class | Bin 0 -> 800 bytes ...DefaultStyledDocument$StyleChangeListener.class | Bin 0 -> 1181 bytes .../javax/swing/text/DefaultStyledDocument.class | Bin 0 -> 15413 bytes .../lib/javax/swing/text/DefaultTextUI.class | Bin 0 -> 345 bytes .../classpath/lib/javax/swing/text/Document.class | Bin 0 -> 1226 bytes .../swing/text/DocumentFilter$FilterBypass.class | Bin 0 -> 733 bytes .../lib/javax/swing/text/DocumentFilter.class | Bin 0 -> 1408 bytes .../classpath/lib/javax/swing/text/EditorKit.class | Bin 0 -> 1450 bytes .../classpath/lib/javax/swing/text/Element.class | Bin 0 -> 514 bytes .../swing/text/ElementIterator$ElementRef.class | Bin 0 -> 667 bytes .../lib/javax/swing/text/ElementIterator.class | Bin 0 -> 3003 bytes .../lib/javax/swing/text/EmptyAttributeSet$1.class | Bin 0 -> 891 bytes .../lib/javax/swing/text/EmptyAttributeSet.class | Bin 0 -> 1728 bytes .../lib/javax/swing/text/FieldView$1.class | Bin 0 -> 813 bytes .../classpath/lib/javax/swing/text/FieldView.class | Bin 0 -> 6268 bytes .../javax/swing/text/FlowView$FlowStrategy.class | Bin 0 -> 5963 bytes .../javax/swing/text/FlowView$LogicalView.class | Bin 0 -> 3269 bytes .../classpath/lib/javax/swing/text/FlowView.class | Bin 0 -> 4208 bytes .../swing/text/GapContent$GapContentPosition.class | Bin 0 -> 736 bytes .../javax/swing/text/GapContent$InsertUndo.class | Bin 0 -> 1557 bytes .../lib/javax/swing/text/GapContent$Mark.class | Bin 0 -> 1400 bytes .../javax/swing/text/GapContent$UndoPosRef.class | Bin 0 -> 908 bytes .../javax/swing/text/GapContent$UndoRemove.class | Bin 0 -> 1623 bytes .../lib/javax/swing/text/GapContent.class | Bin 0 -> 12279 bytes .../swing/text/GlyphView$DefaultGlyphPainter.class | Bin 0 -> 4860 bytes .../javax/swing/text/GlyphView$GlyphPainter.class | Bin 0 -> 1753 bytes .../swing/text/GlyphView$J2DGlyphPainter.class | Bin 0 -> 4332 bytes .../classpath/lib/javax/swing/text/GlyphView.class | Bin 0 -> 12332 bytes .../javax/swing/text/Highlighter$Highlight.class | Bin 0 -> 334 bytes .../swing/text/Highlighter$HighlightPainter.class | Bin 0 -> 313 bytes .../lib/javax/swing/text/Highlighter.class | Bin 0 -> 782 bytes .../classpath/lib/javax/swing/text/IconView.class | Bin 0 -> 2347 bytes .../javax/swing/text/InternationalFormatter.class | Bin 0 -> 3849 bytes .../JTextComponent$AccessibleJTextComponent.class | Bin 0 -> 10550 bytes .../swing/text/JTextComponent$DefaultKeymap.class | Bin 0 -> 3384 bytes .../JTextComponent$DefaultTransferHandler.class | Bin 0 -> 3041 bytes .../swing/text/JTextComponent$KeyBinding.class | Bin 0 -> 595 bytes .../text/JTextComponent$KeymapActionMap.class | Bin 0 -> 1605 bytes .../swing/text/JTextComponent$KeymapWrapper.class | Bin 0 -> 1999 bytes .../lib/javax/swing/text/JTextComponent.class | Bin 0 -> 18400 bytes .../classpath/lib/javax/swing/text/Keymap.class | Bin 0 -> 861 bytes .../classpath/lib/javax/swing/text/LabelView.class | Bin 0 -> 3664 bytes .../text/LayeredHighlighter$LayerPainter.class | Bin 0 -> 614 bytes .../lib/javax/swing/text/LayeredHighlighter.class | Bin 0 -> 581 bytes .../lib/javax/swing/text/LayoutQueue.class | Bin 0 -> 1339 bytes .../lib/javax/swing/text/MaskFormatter.class | Bin 0 -> 6608 bytes .../lib/javax/swing/text/MutableAttributeSet.class | Bin 0 -> 492 bytes .../swing/text/NavigationFilter$FilterBypass.class | Bin 0 -> 544 bytes .../lib/javax/swing/text/NavigationFilter.class | Bin 0 -> 1419 bytes .../lib/javax/swing/text/NumberFormatter.class | Bin 0 -> 730 bytes .../lib/javax/swing/text/ParagraphView$Row.class | Bin 0 -> 2673 bytes .../lib/javax/swing/text/ParagraphView.class | Bin 0 -> 6072 bytes .../lib/javax/swing/text/PasswordView.class | Bin 0 -> 4121 bytes .../lib/javax/swing/text/PlainDocument.class | Bin 0 -> 6235 bytes .../classpath/lib/javax/swing/text/PlainView.class | Bin 0 -> 11774 bytes .../lib/javax/swing/text/Position$Bias.class | Bin 0 -> 717 bytes .../classpath/lib/javax/swing/text/Position.class | Bin 0 -> 214 bytes .../classpath/lib/javax/swing/text/Segment.class | Bin 0 -> 2533 bytes .../lib/javax/swing/text/SimpleAttributeSet.class | Bin 0 -> 4801 bytes .../swing/text/StringContent$InsertUndo.class | Bin 0 -> 1566 bytes .../lib/javax/swing/text/StringContent$Mark.class | Bin 0 -> 568 bytes .../swing/text/StringContent$RemoveUndo.class | Bin 0 -> 1673 bytes .../swing/text/StringContent$StickyPosition.class | Bin 0 -> 1163 bytes .../swing/text/StringContent$UndoPosRef.class | Bin 0 -> 815 bytes .../lib/javax/swing/text/StringContent.class | Bin 0 -> 5574 bytes libjava/classpath/lib/javax/swing/text/Style.class | Bin 0 -> 292 bytes .../text/StyleConstants$CharacterConstants.class | Bin 0 -> 1428 bytes .../swing/text/StyleConstants$ColorConstants.class | Bin 0 -> 776 bytes .../swing/text/StyleConstants$FontConstants.class | Bin 0 -> 858 bytes .../text/StyleConstants$ParagraphConstants.class | Bin 0 -> 1091 bytes .../lib/javax/swing/text/StyleConstants.class | Bin 0 -> 8963 bytes .../lib/javax/swing/text/StyleContext$1.class | Bin 0 -> 995 bytes .../javax/swing/text/StyleContext$NamedStyle.class | Bin 0 -> 6753 bytes .../swing/text/StyleContext$SimpleFontSpec.class | Bin 0 -> 937 bytes .../text/StyleContext$SmallAttributeSet.class | Bin 0 -> 4021 bytes .../lib/javax/swing/text/StyleContext.class | Bin 0 -> 11737 bytes .../lib/javax/swing/text/StyledDocument.class | Bin 0 -> 841 bytes .../text/StyledEditorKit$AlignmentAction.class | Bin 0 -> 1181 bytes .../swing/text/StyledEditorKit$BoldAction.class | Bin 0 -> 1692 bytes .../swing/text/StyledEditorKit$CaretTracker.class | Bin 0 -> 1774 bytes .../text/StyledEditorKit$FontFamilyAction.class | Bin 0 -> 1220 bytes .../text/StyledEditorKit$FontSizeAction.class | Bin 0 -> 1180 bytes .../text/StyledEditorKit$ForegroundAction.class | Bin 0 -> 1231 bytes .../swing/text/StyledEditorKit$ItalicAction.class | Bin 0 -> 1704 bytes .../text/StyledEditorKit$StyledTextAction.class | Bin 0 -> 3268 bytes .../text/StyledEditorKit$StyledViewFactory.class | Bin 0 -> 1724 bytes .../text/StyledEditorKit$UnderlineAction.class | Bin 0 -> 1722 bytes .../lib/javax/swing/text/StyledEditorKit.class | Bin 0 -> 4297 bytes .../lib/javax/swing/text/TabExpander.class | Bin 0 -> 150 bytes .../classpath/lib/javax/swing/text/TabSet.class | Bin 0 -> 2402 bytes .../classpath/lib/javax/swing/text/TabStop.class | Bin 0 -> 2174 bytes .../lib/javax/swing/text/TabableView.class | Bin 0 -> 214 bytes .../lib/javax/swing/text/TableView$TableCell.class | Bin 0 -> 1132 bytes .../lib/javax/swing/text/TableView$TableRow.class | Bin 0 -> 2230 bytes .../classpath/lib/javax/swing/text/TableView.class | Bin 0 -> 3781 bytes .../text/TextAction$HorizontalMovementAction.class | Bin 0 -> 1800 bytes .../text/TextAction$VerticalMovementAction.class | Bin 0 -> 1953 bytes .../lib/javax/swing/text/TextAction.class | Bin 0 -> 2692 bytes .../classpath/lib/javax/swing/text/Utilities.class | Bin 0 -> 8224 bytes libjava/classpath/lib/javax/swing/text/View.class | Bin 0 -> 12065 bytes .../lib/javax/swing/text/ViewFactory.class | Bin 0 -> 191 bytes .../swing/text/WrappedPlainView$WrappedLine.class | Bin 0 -> 5765 bytes .../text/WrappedPlainView$WrappedLineCreator.class | Bin 0 -> 889 bytes .../lib/javax/swing/text/WrappedPlainView.class | Bin 0 -> 8465 bytes .../lib/javax/swing/text/ZoneView$Zone.class | Bin 0 -> 912 bytes .../classpath/lib/javax/swing/text/ZoneView.class | Bin 0 -> 5663 bytes .../lib/javax/swing/text/html/BRView.class | Bin 0 -> 553 bytes .../swing/text/html/BlockView$PositionInfo.class | Bin 0 -> 998 bytes .../lib/javax/swing/text/html/BlockView.class | Bin 0 -> 9557 bytes .../lib/javax/swing/text/html/CSS$Attribute.class | Bin 0 -> 6219 bytes .../classpath/lib/javax/swing/text/html/CSS.class | Bin 0 -> 6687 bytes .../lib/javax/swing/text/html/CSSBorder.class | Bin 0 -> 7458 bytes .../text/html/CSSParser$CSSParserCallback.class | Bin 0 -> 390 bytes .../lib/javax/swing/text/html/CSSParser.class | Bin 0 -> 4348 bytes .../text/html/FormSubmitEvent$MethodType.class | Bin 0 -> 567 bytes .../javax/swing/text/html/FormSubmitEvent.class | Bin 0 -> 1362 bytes .../lib/javax/swing/text/html/FormView$1.class | Bin 0 -> 1669 bytes .../text/html/FormView$MouseEventListener.class | Bin 0 -> 941 bytes .../swing/text/html/FormView$SubmitThread.class | Bin 0 -> 5391 bytes .../lib/javax/swing/text/html/FormView.class | Bin 0 -> 10767 bytes .../swing/text/html/FrameSetView$FrameSetRow.class | Bin 0 -> 1841 bytes .../lib/javax/swing/text/html/FrameSetView.class | Bin 0 -> 3609 bytes .../lib/javax/swing/text/html/FrameView.class | Bin 0 -> 4334 bytes .../swing/text/html/HRuleView$Beginning.class | Bin 0 -> 850 bytes .../lib/javax/swing/text/html/HRuleView.class | Bin 0 -> 2341 bytes .../lib/javax/swing/text/html/HTML$Attribute.class | Bin 0 -> 6257 bytes .../lib/javax/swing/text/html/HTML$Tag.class | Bin 0 -> 6702 bytes .../javax/swing/text/html/HTML$UnknownTag.class | Bin 0 -> 546 bytes .../classpath/lib/javax/swing/text/html/HTML.class | Bin 0 -> 2647 bytes .../lib/javax/swing/text/html/HTMLDocument$1.class | Bin 0 -> 1352 bytes .../text/html/HTMLDocument$BlockElement.class | Bin 0 -> 1326 bytes .../html/HTMLDocument$HTMLReader$AreaAction.class | Bin 0 -> 1106 bytes .../html/HTMLDocument$HTMLReader$BaseAction.class | Bin 0 -> 1330 bytes .../html/HTMLDocument$HTMLReader$BlockAction.class | Bin 0 -> 1103 bytes .../HTMLDocument$HTMLReader$CharacterAction.class | Bin 0 -> 1544 bytes .../HTMLDocument$HTMLReader$ConvertAction.class | Bin 0 -> 2417 bytes .../html/HTMLDocument$HTMLReader$FormAction.class | Bin 0 -> 5253 bytes .../HTMLDocument$HTMLReader$FormTagAction.class | Bin 0 -> 913 bytes .../html/HTMLDocument$HTMLReader$HeadAction.class | Bin 0 -> 1714 bytes .../HTMLDocument$HTMLReader$HiddenAction.class | Bin 0 -> 1106 bytes .../HTMLDocument$HTMLReader$IsindexAction.class | Bin 0 -> 1202 bytes .../html/HTMLDocument$HTMLReader$LinkAction.class | Bin 0 -> 2414 bytes .../html/HTMLDocument$HTMLReader$MapAction.class | Bin 0 -> 1103 bytes .../html/HTMLDocument$HTMLReader$MetaAction.class | Bin 0 -> 1106 bytes .../HTMLDocument$HTMLReader$ParagraphAction.class | Bin 0 -> 1086 bytes .../html/HTMLDocument$HTMLReader$PreAction.class | Bin 0 -> 1471 bytes .../HTMLDocument$HTMLReader$SpecialAction.class | Bin 0 -> 971 bytes .../html/HTMLDocument$HTMLReader$StyleAction.class | Bin 0 -> 1084 bytes .../html/HTMLDocument$HTMLReader$TagAction.class | Bin 0 -> 993 bytes .../html/HTMLDocument$HTMLReader$TitleAction.class | Bin 0 -> 1109 bytes .../swing/text/html/HTMLDocument$HTMLReader.class | Bin 0 -> 15313 bytes .../swing/text/html/HTMLDocument$Iterator.class | Bin 0 -> 612 bytes .../text/html/HTMLDocument$LeafIterator.class | Bin 0 -> 1732 bytes .../swing/text/html/HTMLDocument$RunElement.class | Bin 0 -> 1364 bytes .../lib/javax/swing/text/html/HTMLDocument.class | Bin 0 -> 14134 bytes .../text/html/HTMLEditorKit$HTMLFactory.class | Bin 0 -> 3016 bytes .../text/html/HTMLEditorKit$HTMLTextAction.class | Bin 0 -> 3248 bytes .../html/HTMLEditorKit$InsertHTMLTextAction.class | Bin 0 -> 5648 bytes .../text/html/HTMLEditorKit$LinkController.class | Bin 0 -> 5330 bytes .../swing/text/html/HTMLEditorKit$Parser.class | Bin 0 -> 542 bytes .../text/html/HTMLEditorKit$ParserCallback.class | Bin 0 -> 1710 bytes .../lib/javax/swing/text/html/HTMLEditorKit.class | Bin 0 -> 10214 bytes .../swing/text/html/HTMLFrameHyperlinkEvent.class | Bin 0 -> 1753 bytes .../lib/javax/swing/text/html/HTMLWriter.class | Bin 0 -> 13091 bytes .../lib/javax/swing/text/html/ImageView$1.class | Bin 0 -> 842 bytes .../javax/swing/text/html/ImageView$Observer.class | Bin 0 -> 1079 bytes .../lib/javax/swing/text/html/ImageView.class | Bin 0 -> 8743 bytes .../lib/javax/swing/text/html/InlineView.class | Bin 0 -> 4798 bytes .../lib/javax/swing/text/html/ListView.class | Bin 0 -> 1920 bytes .../javax/swing/text/html/MinimalHTMLWriter.class | Bin 0 -> 9010 bytes .../MultiAttributeSet$MultiNameEnumeration.class | Bin 0 -> 1245 bytes .../javax/swing/text/html/MultiAttributeSet.class | Bin 0 -> 2791 bytes .../lib/javax/swing/text/html/MultiStyle.class | Bin 0 -> 1900 bytes .../lib/javax/swing/text/html/NullView.class | Bin 0 -> 1284 bytes .../lib/javax/swing/text/html/ObjectView.class | Bin 0 -> 1388 bytes .../lib/javax/swing/text/html/Option.class | Bin 0 -> 1511 bytes .../lib/javax/swing/text/html/ParagraphView.class | Bin 0 -> 4882 bytes .../lib/javax/swing/text/html/ResetableModel.class | Bin 0 -> 153 bytes .../swing/text/html/ResetablePlainDocument.class | Bin 0 -> 1046 bytes .../text/html/ResetableToggleButtonModel.class | Bin 0 -> 655 bytes .../swing/text/html/SelectComboBoxModel.class | Bin 0 -> 837 bytes .../javax/swing/text/html/SelectListModel.class | Bin 0 -> 1125 bytes .../swing/text/html/StyleSheet$BoxPainter.class | Bin 0 -> 3498 bytes .../swing/text/html/StyleSheet$CSSStyle.class | Bin 0 -> 1625 bytes .../StyleSheet$CSSStyleSheetParserCallback.class | Bin 0 -> 2235 bytes .../swing/text/html/StyleSheet$ListPainter.class | Bin 0 -> 2672 bytes .../lib/javax/swing/text/html/StyleSheet.class | Bin 0 -> 17082 bytes .../javax/swing/text/html/TableView$CellView.class | Bin 0 -> 1794 bytes .../javax/swing/text/html/TableView$RowView.class | Bin 0 -> 3261 bytes .../lib/javax/swing/text/html/TableView.class | Bin 0 -> 12518 bytes .../javax/swing/text/html/ViewAttributeSet.class | Bin 0 -> 2824 bytes .../swing/text/html/parser/AttributeList$1.class | Bin 0 -> 944 bytes .../swing/text/html/parser/AttributeList.class | Bin 0 -> 2576 bytes .../swing/text/html/parser/ContentModel.class | Bin 0 -> 2305 bytes .../lib/javax/swing/text/html/parser/DTD.class | Bin 0 -> 9163 bytes .../swing/text/html/parser/DTDConstants.class | Bin 0 -> 1133 bytes .../html/parser/DocumentParser$gnuParser.class | Bin 0 -> 3356 bytes .../swing/text/html/parser/DocumentParser.class | Bin 0 -> 2434 bytes .../javax/swing/text/html/parser/Element$1.class | Bin 0 -> 653 bytes .../lib/javax/swing/text/html/parser/Element.class | Bin 0 -> 2752 bytes .../javax/swing/text/html/parser/Entity$1.class | Bin 0 -> 783 bytes .../lib/javax/swing/text/html/parser/Entity.class | Bin 0 -> 1637 bytes .../javax/swing/text/html/parser/Parser$1.class | Bin 0 -> 2671 bytes .../lib/javax/swing/text/html/parser/Parser.class | Bin 0 -> 4563 bytes .../html/parser/ParserDelegator$gnuParser.class | Bin 0 -> 3250 bytes .../swing/text/html/parser/ParserDelegator.class | Bin 0 -> 2400 bytes .../javax/swing/text/html/parser/TagElement.class | Bin 0 -> 1863 bytes .../javax/swing/text/rtf/ControlWordToken.class | Bin 0 -> 587 bytes .../lib/javax/swing/text/rtf/RTFEditorKit.class | Bin 0 -> 1122 bytes .../javax/swing/text/rtf/RTFParseException.class | Bin 0 -> 473 bytes .../lib/javax/swing/text/rtf/RTFParser.class | Bin 0 -> 2582 bytes .../lib/javax/swing/text/rtf/RTFScanner.class | Bin 0 -> 2952 bytes .../lib/javax/swing/text/rtf/TextToken.class | Bin 0 -> 399 bytes .../classpath/lib/javax/swing/text/rtf/Token.class | Bin 0 -> 508 bytes .../tree/AbstractLayoutCache$NodeDimensions.class | Bin 0 -> 534 bytes .../lib/javax/swing/tree/AbstractLayoutCache.class | Bin 0 -> 4406 bytes ...ltMutableTreeNode$BreadthFirstEnumeration.class | Bin 0 -> 1311 bytes ...faultMutableTreeNode$PostorderEnumeration.class | Bin 0 -> 1720 bytes ...efaultMutableTreeNode$PreorderEnumeration.class | Bin 0 -> 1623 bytes .../javax/swing/tree/DefaultMutableTreeNode.class | Bin 0 -> 10962 bytes .../DefaultTreeCellEditor$DefaultTextField.class | Bin 0 -> 1547 bytes .../DefaultTreeCellEditor$EditorContainer.class | Bin 0 -> 2279 bytes .../javax/swing/tree/DefaultTreeCellEditor.class | Bin 0 -> 9819 bytes .../javax/swing/tree/DefaultTreeCellRenderer.class | Bin 0 -> 7763 bytes .../lib/javax/swing/tree/DefaultTreeModel.class | Bin 0 -> 8345 bytes ...DefaultTreeSelectionModel$PathPlaceHolder.class | Bin 0 -> 632 bytes .../swing/tree/DefaultTreeSelectionModel.class | Bin 0 -> 14529 bytes .../lib/javax/swing/tree/ExpandVetoException.class | Bin 0 -> 675 bytes .../tree/FixedHeightLayoutCache$NodeRecord.class | Bin 0 -> 2355 bytes .../javax/swing/tree/FixedHeightLayoutCache.class | Bin 0 -> 7085 bytes .../lib/javax/swing/tree/MutableTreeNode.class | Bin 0 -> 392 bytes .../classpath/lib/javax/swing/tree/RowMapper.class | Bin 0 -> 177 bytes .../lib/javax/swing/tree/TreeCellEditor.class | Bin 0 -> 259 bytes .../lib/javax/swing/tree/TreeCellRenderer.class | Bin 0 -> 236 bytes .../classpath/lib/javax/swing/tree/TreeModel.class | Bin 0 -> 564 bytes .../classpath/lib/javax/swing/tree/TreeNode.class | Bin 0 -> 400 bytes .../classpath/lib/javax/swing/tree/TreePath.class | Bin 0 -> 3273 bytes .../lib/javax/swing/tree/TreeSelectionModel.class | Bin 0 -> 1436 bytes .../VariableHeightLayoutCache$NodeRecord.class | Bin 0 -> 2254 bytes .../swing/tree/VariableHeightLayoutCache.class | Bin 0 -> 8001 bytes .../javax/swing/undo/AbstractUndoableEdit.class | Bin 0 -> 2624 bytes .../lib/javax/swing/undo/CannotRedoException.class | Bin 0 -> 330 bytes .../lib/javax/swing/undo/CannotUndoException.class | Bin 0 -> 330 bytes .../lib/javax/swing/undo/CompoundEdit.class | Bin 0 -> 3252 bytes .../classpath/lib/javax/swing/undo/StateEdit.class | Bin 0 -> 2261 bytes .../lib/javax/swing/undo/StateEditable.class | Bin 0 -> 449 bytes .../lib/javax/swing/undo/UndoManager.class | Bin 0 -> 5167 bytes .../lib/javax/swing/undo/UndoableEdit.class | Bin 0 -> 553 bytes .../lib/javax/swing/undo/UndoableEditSupport.class | Bin 0 -> 3518 bytes .../transaction/HeuristicCommitException.class | Bin 0 -> 477 bytes .../transaction/HeuristicMixedException.class | Bin 0 -> 474 bytes .../transaction/HeuristicRollbackException.class | Bin 0 -> 483 bytes .../transaction/InvalidTransactionException.class | Bin 0 -> 491 bytes .../javax/transaction/NotSupportedException.class | Bin 0 -> 468 bytes .../lib/javax/transaction/RollbackException.class | Bin 0 -> 456 bytes .../classpath/lib/javax/transaction/Status.class | Bin 0 -> 541 bytes .../lib/javax/transaction/Synchronization.class | Bin 0 -> 195 bytes .../lib/javax/transaction/SystemException.class | Bin 0 -> 585 bytes .../lib/javax/transaction/Transaction.class | Bin 0 -> 771 bytes .../lib/javax/transaction/TransactionManager.class | Bin 0 -> 885 bytes .../transaction/TransactionRequiredException.class | Bin 0 -> 494 bytes .../TransactionRolledbackException.class | Bin 0 -> 500 bytes .../lib/javax/transaction/UserTransaction.class | Bin 0 -> 661 bytes .../lib/javax/transaction/xa/XAException.class | Bin 0 -> 1451 bytes .../lib/javax/transaction/xa/XAResource.class | Bin 0 -> 1062 bytes .../classpath/lib/javax/transaction/xa/Xid.class | Bin 0 -> 292 bytes libjava/classpath/lib/javax/xml/XMLConstants.class | Bin 0 -> 1138 bytes .../datatype/DatatypeConfigurationException.class | Bin 0 -> 788 bytes .../xml/datatype/DatatypeConstants$Field.class | Bin 0 -> 717 bytes .../lib/javax/xml/datatype/DatatypeConstants.class | Bin 0 -> 2609 bytes .../lib/javax/xml/datatype/DatatypeFactory.class | Bin 0 -> 5735 bytes .../lib/javax/xml/datatype/Duration.class | Bin 0 -> 3881 bytes .../javax/xml/datatype/XMLGregorianCalendar.class | Bin 0 -> 3296 bytes .../lib/javax/xml/namespace/NamespaceContext.class | Bin 0 -> 285 bytes .../classpath/lib/javax/xml/namespace/QName.class | Bin 0 -> 2665 bytes .../lib/javax/xml/parsers/DocumentBuilder.class | Bin 0 -> 2261 bytes .../javax/xml/parsers/DocumentBuilderFactory.class | Bin 0 -> 5298 bytes .../xml/parsers/FactoryConfigurationError.class | Bin 0 -> 1171 bytes .../xml/parsers/ParserConfigurationException.class | Bin 0 -> 489 bytes .../lib/javax/xml/parsers/SAXParser.class | Bin 0 -> 4329 bytes .../lib/javax/xml/parsers/SAXParserFactory.class | Bin 0 -> 4217 bytes .../lib/javax/xml/stream/EventFilter.class | Bin 0 -> 177 bytes .../xml/stream/FactoryConfigurationError.class | Bin 0 -> 1130 bytes .../classpath/lib/javax/xml/stream/Location.class | Bin 0 -> 266 bytes .../lib/javax/xml/stream/StreamFilter.class | Bin 0 -> 179 bytes .../lib/javax/xml/stream/XMLEventFactory.class | Bin 0 -> 5548 bytes .../lib/javax/xml/stream/XMLEventReader.class | Bin 0 -> 555 bytes .../lib/javax/xml/stream/XMLEventWriter.class | Bin 0 -> 769 bytes .../lib/javax/xml/stream/XMLInputFactory.class | Bin 0 -> 5885 bytes .../lib/javax/xml/stream/XMLOutputFactory.class | Bin 0 -> 4233 bytes .../lib/javax/xml/stream/XMLReporter.class | Bin 0 -> 288 bytes .../lib/javax/xml/stream/XMLResolver.class | Bin 0 -> 303 bytes .../lib/javax/xml/stream/XMLStreamConstants.class | Bin 0 -> 688 bytes .../lib/javax/xml/stream/XMLStreamException.class | Bin 0 -> 1355 bytes .../lib/javax/xml/stream/XMLStreamReader.class | Bin 0 -> 1768 bytes .../lib/javax/xml/stream/XMLStreamWriter.class | Bin 0 -> 1556 bytes .../lib/javax/xml/stream/events/Attribute.class | Bin 0 -> 304 bytes .../lib/javax/xml/stream/events/Characters.class | Bin 0 -> 285 bytes .../lib/javax/xml/stream/events/Comment.class | Bin 0 -> 200 bytes .../lib/javax/xml/stream/events/DTD.class | Bin 0 -> 326 bytes .../lib/javax/xml/stream/events/EndDocument.class | Bin 0 -> 167 bytes .../lib/javax/xml/stream/events/EndElement.class | Bin 0 -> 264 bytes .../xml/stream/events/EntityDeclaration.class | Bin 0 -> 340 bytes .../javax/xml/stream/events/EntityReference.class | Bin 0 -> 289 bytes .../lib/javax/xml/stream/events/Namespace.class | Bin 0 -> 278 bytes .../xml/stream/events/NotationDeclaration.class | Bin 0 -> 268 bytes .../xml/stream/events/ProcessingInstruction.class | Bin 0 -> 248 bytes .../javax/xml/stream/events/StartDocument.class | Bin 0 -> 349 bytes .../lib/javax/xml/stream/events/StartElement.class | Bin 0 -> 528 bytes .../lib/javax/xml/stream/events/XMLEvent.class | Bin 0 -> 850 bytes .../xml/stream/util/EventReaderDelegate.class | Bin 0 -> 2151 bytes .../lib/javax/xml/stream/util/ReaderDelegate.class | Bin 0 -> 6601 bytes .../javax/xml/stream/util/XMLEventAllocator.class | Bin 0 -> 459 bytes .../javax/xml/stream/util/XMLEventConsumer.class | Bin 0 -> 253 bytes .../lib/javax/xml/transform/ErrorListener.class | Bin 0 -> 319 bytes .../lib/javax/xml/transform/OutputKeys.class | Bin 0 -> 820 bytes .../classpath/lib/javax/xml/transform/Result.class | Bin 0 -> 427 bytes .../classpath/lib/javax/xml/transform/Source.class | Bin 0 -> 204 bytes .../lib/javax/xml/transform/SourceLocator.class | Bin 0 -> 250 bytes .../lib/javax/xml/transform/Templates.class | Bin 0 -> 321 bytes .../lib/javax/xml/transform/Transformer.class | Bin 0 -> 1269 bytes .../TransformerConfigurationException.class | Bin 0 -> 1316 bytes .../javax/xml/transform/TransformerException.class | Bin 0 -> 3839 bytes .../javax/xml/transform/TransformerFactory.class | Bin 0 -> 4088 bytes .../TransformerFactoryConfigurationError.class | Bin 0 -> 1174 bytes .../lib/javax/xml/transform/URIResolver.class | Bin 0 -> 279 bytes .../lib/javax/xml/transform/dom/DOMLocator.class | Bin 0 -> 218 bytes .../lib/javax/xml/transform/dom/DOMResult.class | Bin 0 -> 1693 bytes .../lib/javax/xml/transform/dom/DOMSource.class | Bin 0 -> 1180 bytes .../lib/javax/xml/transform/sax/SAXResult.class | Bin 0 -> 1391 bytes .../lib/javax/xml/transform/sax/SAXSource.class | Bin 0 -> 2439 bytes .../xml/transform/sax/SAXTransformerFactory.class | Bin 0 -> 1212 bytes .../javax/xml/transform/sax/TemplatesHandler.class | Bin 0 -> 321 bytes .../xml/transform/sax/TransformerHandler.class | Bin 0 -> 514 bytes .../javax/xml/transform/stream/StreamResult.class | Bin 0 -> 2049 bytes .../javax/xml/transform/stream/StreamSource.class | Bin 0 -> 2517 bytes .../lib/javax/xml/validation/Schema.class | Bin 0 -> 423 bytes .../lib/javax/xml/validation/SchemaFactory.class | Bin 0 -> 5071 bytes .../javax/xml/validation/SchemaFactoryLoader.class | Bin 0 -> 408 bytes .../javax/xml/validation/TypeInfoProvider.class | Bin 0 -> 487 bytes .../lib/javax/xml/validation/Validator.class | Bin 0 -> 1638 bytes .../javax/xml/validation/ValidatorHandler.class | Bin 0 -> 1764 bytes libjava/classpath/lib/javax/xml/xpath/XPath.class | Bin 0 -> 1124 bytes .../lib/javax/xml/xpath/XPathConstants.class | Bin 0 -> 1073 bytes .../lib/javax/xml/xpath/XPathException.class | Bin 0 -> 1079 bytes .../lib/javax/xml/xpath/XPathExpression.class | Bin 0 -> 501 bytes .../javax/xml/xpath/XPathExpressionException.class | Bin 0 -> 616 bytes .../lib/javax/xml/xpath/XPathFactory.class | Bin 0 -> 3748 bytes .../xpath/XPathFactoryConfigurationException.class | Bin 0 -> 646 bytes .../lib/javax/xml/xpath/XPathFunction.class | Bin 0 -> 248 bytes .../javax/xml/xpath/XPathFunctionException.class | Bin 0 -> 620 bytes .../javax/xml/xpath/XPathFunctionResolver.class | Bin 0 -> 229 bytes .../javax/xml/xpath/XPathVariableResolver.class | Bin 0 -> 215 bytes libjava/classpath/lib/jazzlib/index.html | 47 + libjava/classpath/lib/jazzlib/makeJazzlibDist.sh | 121 + libjava/classpath/lib/mkdep.pl.in | 336 + .../lib/org/ietf/jgss/ChannelBinding.class | Bin 0 -> 1653 bytes .../classpath/lib/org/ietf/jgss/GSSContext.class | Bin 0 -> 1929 bytes .../lib/org/ietf/jgss/GSSCredential.class | Bin 0 -> 961 bytes .../classpath/lib/org/ietf/jgss/GSSException.class | Bin 0 -> 5289 bytes .../classpath/lib/org/ietf/jgss/GSSManager.class | Bin 0 -> 2374 bytes libjava/classpath/lib/org/ietf/jgss/GSSName.class | Bin 0 -> 1248 bytes .../classpath/lib/org/ietf/jgss/MessageProp.class | Bin 0 -> 1738 bytes libjava/classpath/lib/org/ietf/jgss/Oid.class | Bin 0 -> 4656 bytes .../lib/org/omg/CORBA/ACTIVITY_COMPLETED.class | Bin 0 -> 975 bytes .../lib/org/omg/CORBA/ACTIVITY_REQUIRED.class | Bin 0 -> 972 bytes libjava/classpath/lib/org/omg/CORBA/ARG_IN.class | Bin 0 -> 156 bytes .../classpath/lib/org/omg/CORBA/ARG_INOUT.class | Bin 0 -> 162 bytes libjava/classpath/lib/org/omg/CORBA/ARG_OUT.class | Bin 0 -> 158 bytes libjava/classpath/lib/org/omg/CORBA/Any.class | Bin 0 -> 3486 bytes .../classpath/lib/org/omg/CORBA/AnyHolder.class | Bin 0 -> 1378 bytes .../classpath/lib/org/omg/CORBA/AnySeqHelper.class | Bin 0 -> 2256 bytes .../classpath/lib/org/omg/CORBA/AnySeqHolder.class | Bin 0 -> 1617 bytes .../classpath/lib/org/omg/CORBA/BAD_CONTEXT.class | Bin 0 -> 954 bytes .../lib/org/omg/CORBA/BAD_INV_ORDER.class | Bin 0 -> 960 bytes .../lib/org/omg/CORBA/BAD_OPERATION.class | Bin 0 -> 960 bytes .../classpath/lib/org/omg/CORBA/BAD_PARAM.class | Bin 0 -> 948 bytes .../classpath/lib/org/omg/CORBA/BAD_POLICY.class | Bin 0 -> 164 bytes .../lib/org/omg/CORBA/BAD_POLICY_TYPE.class | Bin 0 -> 174 bytes .../lib/org/omg/CORBA/BAD_POLICY_VALUE.class | Bin 0 -> 176 bytes libjava/classpath/lib/org/omg/CORBA/BAD_QOS.class | Bin 0 -> 942 bytes .../classpath/lib/org/omg/CORBA/BAD_TYPECODE.class | Bin 0 -> 957 bytes .../lib/org/omg/CORBA/BooleanHolder.class | Bin 0 -> 1356 bytes .../lib/org/omg/CORBA/BooleanSeqHelper.class | Bin 0 -> 2082 bytes .../lib/org/omg/CORBA/BooleanSeqHolder.class | Bin 0 -> 1506 bytes libjava/classpath/lib/org/omg/CORBA/Bounds.class | Bin 0 -> 426 bytes .../classpath/lib/org/omg/CORBA/ByteHolder.class | Bin 0 -> 1339 bytes .../lib/org/omg/CORBA/CODESET_INCOMPATIBLE.class | Bin 0 -> 981 bytes .../classpath/lib/org/omg/CORBA/COMM_FAILURE.class | Bin 0 -> 957 bytes .../lib/org/omg/CORBA/CTX_RESTRICT_SCOPE.class | Bin 0 -> 180 bytes .../classpath/lib/org/omg/CORBA/CharHolder.class | Bin 0 -> 1331 bytes .../lib/org/omg/CORBA/CharSeqHelper.class | Bin 0 -> 2058 bytes .../lib/org/omg/CORBA/CharSeqHolder.class | Bin 0 -> 1488 bytes .../lib/org/omg/CORBA/CompletionStatus.class | Bin 0 -> 1772 bytes .../lib/org/omg/CORBA/CompletionStatusHelper.class | Bin 0 -> 2021 bytes libjava/classpath/lib/org/omg/CORBA/Context.class | Bin 0 -> 687 bytes .../classpath/lib/org/omg/CORBA/ContextList.class | Bin 0 -> 468 bytes libjava/classpath/lib/org/omg/CORBA/Current.class | Bin 0 -> 216 bytes .../org/omg/CORBA/CurrentHelper$_CurrentStub.class | Bin 0 -> 736 bytes .../lib/org/omg/CORBA/CurrentHelper.class | Bin 0 -> 2402 bytes .../lib/org/omg/CORBA/CurrentHolder.class | Bin 0 -> 1185 bytes .../lib/org/omg/CORBA/CurrentOperations.class | Bin 0 -> 129 bytes .../lib/org/omg/CORBA/CustomMarshal.class | Bin 0 -> 234 bytes .../classpath/lib/org/omg/CORBA/CustomValue.class | Bin 0 -> 192 bytes .../lib/org/omg/CORBA/DATA_CONVERSION.class | Bin 0 -> 966 bytes .../lib/org/omg/CORBA/DataInputStream.class | Bin 0 -> 1641 bytes .../lib/org/omg/CORBA/DataOutputStream.class | Bin 0 -> 1296 bytes .../lib/org/omg/CORBA/DefinitionKind.class | Bin 0 -> 3590 bytes .../lib/org/omg/CORBA/DefinitionKindHelper.class | Bin 0 -> 2646 bytes .../lib/org/omg/CORBA/DomainManager.class | Bin 0 -> 262 bytes .../org/omg/CORBA/DomainManagerOperations.class | Bin 0 -> 197 bytes .../classpath/lib/org/omg/CORBA/DoubleHolder.class | Bin 0 -> 1349 bytes .../lib/org/omg/CORBA/DoubleSeqHelper.class | Bin 0 -> 2074 bytes .../lib/org/omg/CORBA/DoubleSeqHolder.class | Bin 0 -> 1500 bytes libjava/classpath/lib/org/omg/CORBA/DynAny.class | Bin 0 -> 2088 bytes .../lib/org/omg/CORBA/DynAnyPackage/Invalid.class | Bin 0 -> 589 bytes .../org/omg/CORBA/DynAnyPackage/InvalidSeq.class | Bin 0 -> 598 bytes .../org/omg/CORBA/DynAnyPackage/InvalidValue.class | Bin 0 -> 604 bytes .../org/omg/CORBA/DynAnyPackage/TypeMismatch.class | Bin 0 -> 604 bytes libjava/classpath/lib/org/omg/CORBA/DynArray.class | Bin 0 -> 303 bytes libjava/classpath/lib/org/omg/CORBA/DynEnum.class | Bin 0 -> 264 bytes libjava/classpath/lib/org/omg/CORBA/DynFixed.class | Bin 0 -> 263 bytes .../classpath/lib/org/omg/CORBA/DynSequence.class | Bin 0 -> 347 bytes .../classpath/lib/org/omg/CORBA/DynStruct.class | Bin 0 -> 433 bytes libjava/classpath/lib/org/omg/CORBA/DynUnion.class | Bin 0 -> 408 bytes libjava/classpath/lib/org/omg/CORBA/DynValue.class | Bin 0 -> 459 bytes .../lib/org/omg/CORBA/DynamicImplementation.class | Bin 0 -> 3441 bytes .../classpath/lib/org/omg/CORBA/Environment.class | Bin 0 -> 383 bytes .../lib/org/omg/CORBA/ExceptionList.class | Bin 0 -> 486 bytes libjava/classpath/lib/org/omg/CORBA/FREE_MEM.class | Bin 0 -> 945 bytes .../lib/org/omg/CORBA/FieldNameHelper.class | Bin 0 -> 1734 bytes .../classpath/lib/org/omg/CORBA/FixedHolder.class | Bin 0 -> 1175 bytes .../classpath/lib/org/omg/CORBA/FloatHolder.class | Bin 0 -> 1342 bytes .../lib/org/omg/CORBA/FloatSeqHelper.class | Bin 0 -> 2066 bytes .../lib/org/omg/CORBA/FloatSeqHolder.class | Bin 0 -> 1494 bytes libjava/classpath/lib/org/omg/CORBA/IDLType.class | Bin 0 -> 274 bytes .../lib/org/omg/CORBA/IDLTypeHelper.class | Bin 0 -> 2607 bytes .../lib/org/omg/CORBA/IDLTypeOperations.class | Bin 0 -> 213 bytes .../classpath/lib/org/omg/CORBA/IMP_LIMIT.class | Bin 0 -> 948 bytes .../classpath/lib/org/omg/CORBA/INITIALIZE.class | Bin 0 -> 951 bytes libjava/classpath/lib/org/omg/CORBA/INTERNAL.class | Bin 0 -> 945 bytes .../classpath/lib/org/omg/CORBA/INTF_REPOS.class | Bin 0 -> 951 bytes .../lib/org/omg/CORBA/INVALID_ACTIVITY.class | Bin 0 -> 969 bytes .../lib/org/omg/CORBA/INVALID_TRANSACTION.class | Bin 0 -> 978 bytes libjava/classpath/lib/org/omg/CORBA/INV_FLAG.class | Bin 0 -> 945 bytes .../classpath/lib/org/omg/CORBA/INV_IDENT.class | Bin 0 -> 948 bytes .../classpath/lib/org/omg/CORBA/INV_OBJREF.class | Bin 0 -> 951 bytes .../classpath/lib/org/omg/CORBA/INV_POLICY.class | Bin 0 -> 951 bytes libjava/classpath/lib/org/omg/CORBA/IRObject.class | Bin 0 -> 247 bytes .../lib/org/omg/CORBA/IRObjectOperations.class | Bin 0 -> 265 bytes .../lib/org/omg/CORBA/IdentifierHelper.class | Bin 0 -> 1739 bytes .../classpath/lib/org/omg/CORBA/IntHolder.class | Bin 0 -> 1328 bytes .../classpath/lib/org/omg/CORBA/LocalObject.class | Bin 0 -> 4238 bytes .../classpath/lib/org/omg/CORBA/LongHolder.class | Bin 0 -> 1351 bytes .../lib/org/omg/CORBA/LongLongSeqHelper.class | Bin 0 -> 2086 bytes .../lib/org/omg/CORBA/LongLongSeqHolder.class | Bin 0 -> 1512 bytes .../lib/org/omg/CORBA/LongSeqHelper.class | Bin 0 -> 2058 bytes .../lib/org/omg/CORBA/LongSeqHolder.class | Bin 0 -> 1488 bytes libjava/classpath/lib/org/omg/CORBA/MARSHAL.class | Bin 0 -> 950 bytes .../classpath/lib/org/omg/CORBA/NO_IMPLEMENT.class | Bin 0 -> 957 bytes .../classpath/lib/org/omg/CORBA/NO_MEMORY.class | Bin 0 -> 948 bytes .../lib/org/omg/CORBA/NO_PERMISSION.class | Bin 0 -> 960 bytes .../classpath/lib/org/omg/CORBA/NO_RESOURCES.class | Bin 0 -> 963 bytes .../classpath/lib/org/omg/CORBA/NO_RESPONSE.class | Bin 0 -> 954 bytes libjava/classpath/lib/org/omg/CORBA/NVList.class | Bin 0 -> 595 bytes .../lib/org/omg/CORBA/NameValuePair.class | Bin 0 -> 684 bytes .../lib/org/omg/CORBA/NameValuePairHelper.class | Bin 0 -> 3134 bytes .../classpath/lib/org/omg/CORBA/NamedValue.class | Bin 0 -> 383 bytes .../lib/org/omg/CORBA/OBJECT_NOT_EXIST.class | Bin 0 -> 969 bytes .../classpath/lib/org/omg/CORBA/OBJ_ADAPTER.class | Bin 0 -> 954 bytes libjava/classpath/lib/org/omg/CORBA/OMGVMCID.class | Bin 0 -> 160 bytes libjava/classpath/lib/org/omg/CORBA/ORB.class | Bin 0 -> 10975 bytes .../CORBA/ORBPackage/InconsistentTypeCode.class | Bin 0 -> 622 bytes .../lib/org/omg/CORBA/ORBPackage/InvalidName.class | Bin 0 -> 595 bytes libjava/classpath/lib/org/omg/CORBA/Object.class | Bin 0 -> 1024 bytes .../classpath/lib/org/omg/CORBA/ObjectHelper.class | Bin 0 -> 2070 bytes .../classpath/lib/org/omg/CORBA/ObjectHolder.class | Bin 0 -> 1526 bytes .../lib/org/omg/CORBA/OctetSeqHelper.class | Bin 0 -> 2066 bytes .../lib/org/omg/CORBA/OctetSeqHolder.class | Bin 0 -> 1494 bytes .../lib/org/omg/CORBA/PERSIST_STORE.class | Bin 0 -> 960 bytes .../lib/org/omg/CORBA/PRIVATE_MEMBER.class | Bin 0 -> 172 bytes .../lib/org/omg/CORBA/PUBLIC_MEMBER.class | Bin 0 -> 170 bytes .../lib/org/omg/CORBA/ParameterMode.class | Bin 0 -> 1385 bytes .../lib/org/omg/CORBA/ParameterModeHelper.class | Bin 0 -> 2148 bytes .../lib/org/omg/CORBA/ParameterModeHolder.class | Bin 0 -> 1227 bytes libjava/classpath/lib/org/omg/CORBA/Policy.class | Bin 0 -> 241 bytes .../classpath/lib/org/omg/CORBA/PolicyError.class | Bin 0 -> 753 bytes .../lib/org/omg/CORBA/PolicyErrorCodeHelper.class | Bin 0 -> 1800 bytes .../lib/org/omg/CORBA/PolicyErrorHelper.class | Bin 0 -> 3053 bytes .../lib/org/omg/CORBA/PolicyErrorHolder.class | Bin 0 -> 1217 bytes .../classpath/lib/org/omg/CORBA/PolicyHelper.class | Bin 0 -> 2615 bytes .../classpath/lib/org/omg/CORBA/PolicyHolder.class | Bin 0 -> 1177 bytes .../lib/org/omg/CORBA/PolicyListHelper.class | Bin 0 -> 2448 bytes .../lib/org/omg/CORBA/PolicyListHolder.class | Bin 0 -> 1197 bytes .../lib/org/omg/CORBA/PolicyOperations.class | Bin 0 -> 221 bytes .../lib/org/omg/CORBA/PolicyTypeHelper.class | Bin 0 -> 1741 bytes .../classpath/lib/org/omg/CORBA/Principal.class | Bin 0 -> 521 bytes .../lib/org/omg/CORBA/PrincipalHolder.class | Bin 0 -> 1455 bytes libjava/classpath/lib/org/omg/CORBA/REBIND.class | Bin 0 -> 939 bytes .../lib/org/omg/CORBA/RepositoryIdHelper.class | Bin 0 -> 1749 bytes libjava/classpath/lib/org/omg/CORBA/Request.class | Bin 0 -> 1159 bytes .../lib/org/omg/CORBA/ServerRequest.class | Bin 0 -> 1210 bytes .../lib/org/omg/CORBA/ServiceDetail.class | Bin 0 -> 573 bytes .../lib/org/omg/CORBA/ServiceDetailHelper.class | Bin 0 -> 3418 bytes .../lib/org/omg/CORBA/ServiceInformation.class | Bin 0 -> 640 bytes .../org/omg/CORBA/ServiceInformationHelper.class | Bin 0 -> 3602 bytes .../org/omg/CORBA/ServiceInformationHolder.class | Bin 0 -> 1267 bytes .../lib/org/omg/CORBA/SetOverrideType.class | Bin 0 -> 1318 bytes .../lib/org/omg/CORBA/SetOverrideTypeHelper.class | Bin 0 -> 2169 bytes .../classpath/lib/org/omg/CORBA/ShortHolder.class | Bin 0 -> 1342 bytes .../lib/org/omg/CORBA/ShortSeqHelper.class | Bin 0 -> 2066 bytes .../lib/org/omg/CORBA/ShortSeqHolder.class | Bin 0 -> 1494 bytes .../classpath/lib/org/omg/CORBA/StringHolder.class | Bin 0 -> 1409 bytes .../lib/org/omg/CORBA/StringSeqHelper.class | Bin 0 -> 2271 bytes .../lib/org/omg/CORBA/StringSeqHolder.class | Bin 0 -> 1650 bytes .../lib/org/omg/CORBA/StringValueHelper.class | Bin 0 -> 2938 bytes .../classpath/lib/org/omg/CORBA/StructMember.class | Bin 0 -> 802 bytes .../lib/org/omg/CORBA/StructMemberHelper.class | Bin 0 -> 4010 bytes .../lib/org/omg/CORBA/SystemException.class | Bin 0 -> 1174 bytes libjava/classpath/lib/org/omg/CORBA/TCKind.class | Bin 0 -> 3902 bytes libjava/classpath/lib/org/omg/CORBA/TIMEOUT.class | Bin 0 -> 942 bytes .../lib/org/omg/CORBA/TRANSACTION_MODE.class | Bin 0 -> 969 bytes .../lib/org/omg/CORBA/TRANSACTION_REQUIRED.class | Bin 0 -> 981 bytes .../lib/org/omg/CORBA/TRANSACTION_ROLLEDBACK.class | Bin 0 -> 987 bytes .../org/omg/CORBA/TRANSACTION_UNAVAILABLE.class | Bin 0 -> 990 bytes .../classpath/lib/org/omg/CORBA/TRANSIENT.class | Bin 0 -> 948 bytes libjava/classpath/lib/org/omg/CORBA/TypeCode.class | Bin 0 -> 1292 bytes .../lib/org/omg/CORBA/TypeCodeHolder.class | Bin 0 -> 1376 bytes .../org/omg/CORBA/TypeCodePackage/BadKind.class | Bin 0 -> 593 bytes .../lib/org/omg/CORBA/TypeCodePackage/Bounds.class | Bin 0 -> 590 bytes .../lib/org/omg/CORBA/ULongLongSeqHelper.class | Bin 0 -> 2094 bytes .../lib/org/omg/CORBA/ULongLongSeqHolder.class | Bin 0 -> 1518 bytes .../lib/org/omg/CORBA/ULongSeqHelper.class | Bin 0 -> 2065 bytes .../lib/org/omg/CORBA/ULongSeqHolder.class | Bin 0 -> 1494 bytes libjava/classpath/lib/org/omg/CORBA/UNKNOWN.class | Bin 0 -> 942 bytes .../lib/org/omg/CORBA/UNSUPPORTED_POLICY.class | Bin 0 -> 180 bytes .../org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.class | Bin 0 -> 192 bytes .../lib/org/omg/CORBA/UShortSeqHelper.class | Bin 0 -> 2073 bytes .../lib/org/omg/CORBA/UShortSeqHolder.class | Bin 0 -> 1500 bytes .../classpath/lib/org/omg/CORBA/UnionMember.class | Bin 0 -> 896 bytes .../lib/org/omg/CORBA/UnionMemberHelper.class | Bin 0 -> 4221 bytes .../lib/org/omg/CORBA/UnknownUserException.class | Bin 0 -> 633 bytes .../org/omg/CORBA/UnknownUserExceptionHelper.class | Bin 0 -> 3008 bytes .../org/omg/CORBA/UnknownUserExceptionHolder.class | Bin 0 -> 1289 bytes .../lib/org/omg/CORBA/UserException.class | Bin 0 -> 571 bytes .../classpath/lib/org/omg/CORBA/VM_ABSTRACT.class | Bin 0 -> 166 bytes .../classpath/lib/org/omg/CORBA/VM_CUSTOM.class | Bin 0 -> 162 bytes libjava/classpath/lib/org/omg/CORBA/VM_NONE.class | Bin 0 -> 158 bytes .../lib/org/omg/CORBA/VM_TRUNCATABLE.class | Bin 0 -> 172 bytes .../lib/org/omg/CORBA/ValueBaseHelper.class | Bin 0 -> 1577 bytes .../lib/org/omg/CORBA/ValueBaseHolder.class | Bin 0 -> 1184 bytes .../classpath/lib/org/omg/CORBA/ValueMember.class | Bin 0 -> 1095 bytes .../lib/org/omg/CORBA/ValueMemberHelper.class | Bin 0 -> 4773 bytes .../lib/org/omg/CORBA/VersionSpecHelper.class | Bin 0 -> 1744 bytes .../lib/org/omg/CORBA/VisibilityHelper.class | Bin 0 -> 1776 bytes .../lib/org/omg/CORBA/WCharSeqHelper.class | Bin 0 -> 2065 bytes .../lib/org/omg/CORBA/WCharSeqHolder.class | Bin 0 -> 1494 bytes .../lib/org/omg/CORBA/WStringSeqHelper.class | Bin 0 -> 2278 bytes .../lib/org/omg/CORBA/WStringSeqHolder.class | Bin 0 -> 1656 bytes .../lib/org/omg/CORBA/WStringValueHelper.class | Bin 0 -> 2950 bytes .../lib/org/omg/CORBA/WrongTransaction.class | Bin 0 -> 456 bytes .../lib/org/omg/CORBA/WrongTransactionHelper.class | Bin 0 -> 2642 bytes .../lib/org/omg/CORBA/WrongTransactionHolder.class | Bin 0 -> 1257 bytes .../classpath/lib/org/omg/CORBA/_IDLTypeStub.class | Bin 0 -> 2887 bytes .../classpath/lib/org/omg/CORBA/_PolicyStub.class | Bin 0 -> 2534 bytes .../omg/CORBA/portable/ApplicationException.class | Bin 0 -> 865 bytes .../org/omg/CORBA/portable/BoxedValueHelper.class | Bin 0 -> 347 bytes .../lib/org/omg/CORBA/portable/CustomValue.class | Bin 0 -> 201 bytes .../lib/org/omg/CORBA/portable/Delegate.class | Bin 0 -> 4453 bytes .../lib/org/omg/CORBA/portable/IDLEntity.class | Bin 0 -> 150 bytes .../omg/CORBA/portable/IndirectionException.class | Bin 0 -> 689 bytes .../lib/org/omg/CORBA/portable/InputStream.class | Bin 0 -> 1973 bytes .../lib/org/omg/CORBA/portable/InvokeHandler.class | Bin 0 -> 342 bytes .../lib/org/omg/CORBA/portable/ObjectImpl.class | Bin 0 -> 6331 bytes .../lib/org/omg/CORBA/portable/OutputStream.class | Bin 0 -> 2185 bytes .../omg/CORBA/portable/RemarshalException.class | Bin 0 -> 420 bytes .../org/omg/CORBA/portable/ResponseHandler.class | Bin 0 -> 229 bytes .../lib/org/omg/CORBA/portable/ServantObject.class | Bin 0 -> 349 bytes .../lib/org/omg/CORBA/portable/Streamable.class | Bin 0 -> 287 bytes .../org/omg/CORBA/portable/StreamableValue.class | Bin 0 -> 283 bytes .../org/omg/CORBA/portable/UnknownException.class | Bin 0 -> 862 bytes .../lib/org/omg/CORBA/portable/ValueBase.class | Bin 0 -> 213 bytes .../lib/org/omg/CORBA/portable/ValueFactory.class | Bin 0 -> 216 bytes libjava/classpath/lib/org/omg/CORBA_2_3/ORB.class | Bin 0 -> 1214 bytes .../lib/org/omg/CORBA_2_3/portable/Delegate.class | Bin 0 -> 485 bytes .../org/omg/CORBA_2_3/portable/InputStream.class | Bin 0 -> 2118 bytes .../org/omg/CORBA_2_3/portable/ObjectImpl.class | Bin 0 -> 1190 bytes .../org/omg/CORBA_2_3/portable/OutputStream.class | Bin 0 -> 1870 bytes .../classpath/lib/org/omg/CosNaming/Binding.class | Bin 0 -> 655 bytes .../lib/org/omg/CosNaming/BindingHelper.class | Bin 0 -> 3450 bytes .../lib/org/omg/CosNaming/BindingHolder.class | Bin 0 -> 1204 bytes .../lib/org/omg/CosNaming/BindingIterator.class | Bin 0 -> 419 bytes .../org/omg/CosNaming/BindingIteratorHelper.class | Bin 0 -> 3291 bytes .../org/omg/CosNaming/BindingIteratorHolder.class | Bin 0 -> 1271 bytes .../omg/CosNaming/BindingIteratorOperations.class | Bin 0 -> 292 bytes .../lib/org/omg/CosNaming/BindingIteratorPOA.class | Bin 0 -> 3104 bytes .../lib/org/omg/CosNaming/BindingListHelper.class | Bin 0 -> 2886 bytes .../lib/org/omg/CosNaming/BindingListHolder.class | Bin 0 -> 1245 bytes .../lib/org/omg/CosNaming/BindingType.class | Bin 0 -> 1151 bytes .../lib/org/omg/CosNaming/BindingTypeHelper.class | Bin 0 -> 2576 bytes .../lib/org/omg/CosNaming/BindingTypeHolder.class | Bin 0 -> 1239 bytes .../lib/org/omg/CosNaming/IstringHelper.class | Bin 0 -> 1736 bytes .../lib/org/omg/CosNaming/NameComponent.class | Bin 0 -> 1628 bytes .../org/omg/CosNaming/NameComponentHelper.class | Bin 0 -> 2932 bytes .../org/omg/CosNaming/NameComponentHolder.class | Bin 0 -> 1255 bytes .../lib/org/omg/CosNaming/NameHelper.class | Bin 0 -> 2941 bytes .../lib/org/omg/CosNaming/NameHolder.class | Bin 0 -> 1223 bytes .../lib/org/omg/CosNaming/NamingContext.class | Bin 0 -> 1280 bytes .../lib/org/omg/CosNaming/NamingContextExt.class | Bin 0 -> 262 bytes .../org/omg/CosNaming/NamingContextExtHelper.class | Bin 0 -> 3314 bytes .../org/omg/CosNaming/NamingContextExtHolder.class | Bin 0 -> 1276 bytes .../omg/CosNaming/NamingContextExtOperations.class | Bin 0 -> 783 bytes .../org/omg/CosNaming/NamingContextExtPOA.class | Bin 0 -> 9433 bytes .../NamingContextExtPackage/AddressHelper.class | Bin 0 -> 1957 bytes .../NamingContextExtPackage/InvalidAddress.class | Bin 0 -> 635 bytes .../InvalidAddressHelper.class | Bin 0 -> 2467 bytes .../InvalidAddressHolder.class | Bin 0 -> 1431 bytes .../NamingContextExtPackage/StringNameHelper.class | Bin 0 -> 1952 bytes .../NamingContextExtPackage/URLStringHelper.class | Bin 0 -> 1947 bytes .../org/omg/CosNaming/NamingContextHelper.class | Bin 0 -> 3408 bytes .../org/omg/CosNaming/NamingContextHolder.class | Bin 0 -> 1255 bytes .../omg/CosNaming/NamingContextOperations.class | Bin 0 -> 1183 bytes .../lib/org/omg/CosNaming/NamingContextPOA.class | Bin 0 -> 7525 bytes .../NamingContextPackage/AlreadyBound.class | Bin 0 -> 595 bytes .../NamingContextPackage/AlreadyBoundHelper.class | Bin 0 -> 2720 bytes .../NamingContextPackage/AlreadyBoundHolder.class | Bin 0 -> 1394 bytes .../NamingContextPackage/CannotProceed.class | Bin 0 -> 1056 bytes .../NamingContextPackage/CannotProceedHelper.class | Bin 0 -> 3876 bytes .../NamingContextPackage/CannotProceedHolder.class | Bin 0 -> 1399 bytes .../NamingContextPackage/InvalidName.class | Bin 0 -> 592 bytes .../NamingContextPackage/InvalidNameHelper.class | Bin 0 -> 2711 bytes .../NamingContextPackage/InvalidNameHolder.class | Bin 0 -> 1386 bytes .../CosNaming/NamingContextPackage/NotEmpty.class | Bin 0 -> 583 bytes .../NamingContextPackage/NotEmptyHelper.class | Bin 0 -> 2672 bytes .../NamingContextPackage/NotEmptyHolder.class | Bin 0 -> 1359 bytes .../CosNaming/NamingContextPackage/NotFound.class | Bin 0 -> 1115 bytes .../NamingContextPackage/NotFoundHelper.class | Bin 0 -> 3905 bytes .../NamingContextPackage/NotFoundHolder.class | Bin 0 -> 1362 bytes .../NamingContextPackage/NotFoundReason.class | Bin 0 -> 1350 bytes .../NotFoundReasonHelper.class | Bin 0 -> 2858 bytes .../NotFoundReasonHolder.class | Bin 0 -> 1410 bytes .../omg/CosNaming/_BindingIteratorImplBase.class | Bin 0 -> 3208 bytes .../org/omg/CosNaming/_BindingIteratorStub.class | Bin 0 -> 3449 bytes .../omg/CosNaming/_NamingContextExtImplBase.class | Bin 0 -> 5393 bytes .../org/omg/CosNaming/_NamingContextExtStub.class | Bin 0 -> 4329 bytes .../org/omg/CosNaming/_NamingContextImplBase.class | Bin 0 -> 8183 bytes .../lib/org/omg/CosNaming/_NamingContextStub.class | Bin 0 -> 8173 bytes .../classpath/lib/org/omg/Dynamic/Parameter.class | Bin 0 -> 708 bytes .../lib/org/omg/DynamicAny/AnySeqHelper.class | Bin 0 -> 1820 bytes .../classpath/lib/org/omg/DynamicAny/DynAny.class | Bin 0 -> 251 bytes .../lib/org/omg/DynamicAny/DynAnyFactory.class | Bin 0 -> 272 bytes .../org/omg/DynamicAny/DynAnyFactoryHelper.class | Bin 0 -> 2755 bytes .../omg/DynamicAny/DynAnyFactoryOperations.class | Bin 0 -> 417 bytes .../InconsistentTypeCode.class | Bin 0 -> 649 bytes .../InconsistentTypeCodeHelper.class | Bin 0 -> 2917 bytes .../lib/org/omg/DynamicAny/DynAnyHelper.class | Bin 0 -> 2467 bytes .../lib/org/omg/DynamicAny/DynAnyOperations.class | Bin 0 -> 2284 bytes .../DynamicAny/DynAnyPackage/InvalidValue.class | Bin 0 -> 611 bytes .../DynAnyPackage/InvalidValueHelper.class | Bin 0 -> 2758 bytes .../DynamicAny/DynAnyPackage/TypeMismatch.class | Bin 0 -> 611 bytes .../DynAnyPackage/TypeMismatchHelper.class | Bin 0 -> 2758 bytes .../lib/org/omg/DynamicAny/DynAnySeqHelper.class | Bin 0 -> 2483 bytes .../lib/org/omg/DynamicAny/DynArray.class | Bin 0 -> 290 bytes .../lib/org/omg/DynamicAny/DynArrayHelper.class | Bin 0 -> 2493 bytes .../org/omg/DynamicAny/DynArrayOperations.class | Bin 0 -> 550 bytes .../classpath/lib/org/omg/DynamicAny/DynEnum.class | Bin 0 -> 287 bytes .../lib/org/omg/DynamicAny/DynEnumHelper.class | Bin 0 -> 2480 bytes .../lib/org/omg/DynamicAny/DynEnumOperations.class | Bin 0 -> 415 bytes .../lib/org/omg/DynamicAny/DynFixed.class | Bin 0 -> 290 bytes .../lib/org/omg/DynamicAny/DynFixedHelper.class | Bin 0 -> 2493 bytes .../org/omg/DynamicAny/DynFixedOperations.class | Bin 0 -> 393 bytes .../lib/org/omg/DynamicAny/DynSequence.class | Bin 0 -> 299 bytes .../lib/org/omg/DynamicAny/DynSequenceHelper.class | Bin 0 -> 2532 bytes .../org/omg/DynamicAny/DynSequenceOperations.class | Bin 0 -> 621 bytes .../lib/org/omg/DynamicAny/DynStruct.class | Bin 0 -> 293 bytes .../lib/org/omg/DynamicAny/DynStructHelper.class | Bin 0 -> 2506 bytes .../org/omg/DynamicAny/DynStructOperations.class | Bin 0 -> 728 bytes .../lib/org/omg/DynamicAny/DynUnion.class | Bin 0 -> 290 bytes .../lib/org/omg/DynamicAny/DynUnionHelper.class | Bin 0 -> 2493 bytes .../org/omg/DynamicAny/DynUnionOperations.class | Bin 0 -> 724 bytes .../lib/org/omg/DynamicAny/DynValue.class | Bin 0 -> 331 bytes .../lib/org/omg/DynamicAny/DynValueBox.class | Bin 0 -> 340 bytes .../org/omg/DynamicAny/DynValueBoxOperations.class | Bin 0 -> 631 bytes .../lib/org/omg/DynamicAny/DynValueCommon.class | Bin 0 -> 383 bytes .../omg/DynamicAny/DynValueCommonOperations.class | Bin 0 -> 266 bytes .../lib/org/omg/DynamicAny/DynValueHelper.class | Bin 0 -> 2493 bytes .../org/omg/DynamicAny/DynValueOperations.class | Bin 0 -> 797 bytes .../lib/org/omg/DynamicAny/FieldNameHelper.class | Bin 0 -> 1749 bytes .../lib/org/omg/DynamicAny/NameDynAnyPair.class | Bin 0 -> 712 bytes .../org/omg/DynamicAny/NameDynAnyPairHelper.class | Bin 0 -> 3058 bytes .../omg/DynamicAny/NameDynAnyPairSeqHelper.class | Bin 0 -> 2595 bytes .../lib/org/omg/DynamicAny/NameValuePair.class | Bin 0 -> 693 bytes .../org/omg/DynamicAny/NameValuePairHelper.class | Bin 0 -> 3228 bytes .../omg/DynamicAny/NameValuePairSeqHelper.class | Bin 0 -> 2888 bytes .../org/omg/DynamicAny/_DynAnyFactoryStub.class | Bin 0 -> 1629 bytes .../lib/org/omg/DynamicAny/_DynAnyStub.class | Bin 0 -> 6420 bytes .../lib/org/omg/DynamicAny/_DynArrayStub.class | Bin 0 -> 6920 bytes .../lib/org/omg/DynamicAny/_DynEnumStub.class | Bin 0 -> 6718 bytes .../lib/org/omg/DynamicAny/_DynFixedStub.class | Bin 0 -> 6558 bytes .../lib/org/omg/DynamicAny/_DynSequenceStub.class | Bin 0 -> 7118 bytes .../lib/org/omg/DynamicAny/_DynStructStub.class | Bin 0 -> 7220 bytes .../lib/org/omg/DynamicAny/_DynUnionStub.class | Bin 0 -> 7225 bytes .../lib/org/omg/DynamicAny/_DynValueStub.class | Bin 0 -> 7486 bytes libjava/classpath/lib/org/omg/IOP/CodeSets.class | Bin 0 -> 158 bytes libjava/classpath/lib/org/omg/IOP/Codec.class | Bin 0 -> 206 bytes .../classpath/lib/org/omg/IOP/CodecFactory.class | Bin 0 -> 227 bytes .../lib/org/omg/IOP/CodecFactoryHelper.class | Bin 0 -> 2591 bytes .../lib/org/omg/IOP/CodecFactoryOperations.class | Bin 0 -> 282 bytes .../IOP/CodecFactoryPackage/UnknownEncoding.class | Bin 0 -> 618 bytes .../UnknownEncodingHelper.class | Bin 0 -> 2785 bytes .../lib/org/omg/IOP/CodecOperations.class | Bin 0 -> 501 bytes .../org/omg/IOP/CodecPackage/FormatMismatch.class | Bin 0 -> 601 bytes .../IOP/CodecPackage/FormatMismatchHelper.class | Bin 0 -> 2710 bytes .../IOP/CodecPackage/InvalidTypeForEncoding.class | Bin 0 -> 625 bytes .../InvalidTypeForEncodingHelper.class | Bin 0 -> 2810 bytes .../org/omg/IOP/CodecPackage/TypeMismatch.class | Bin 0 -> 595 bytes .../omg/IOP/CodecPackage/TypeMismatchHelper.class | Bin 0 -> 2686 bytes .../lib/org/omg/IOP/ComponentIdHelper.class | Bin 0 -> 1733 bytes .../lib/org/omg/IOP/ENCODING_CDR_ENCAPS.class | Bin 0 -> 180 bytes libjava/classpath/lib/org/omg/IOP/Encoding.class | Bin 0 -> 687 bytes .../lib/org/omg/IOP/ExceptionDetailMessage.class | Bin 0 -> 186 bytes libjava/classpath/lib/org/omg/IOP/IOR.class | Bin 0 -> 740 bytes libjava/classpath/lib/org/omg/IOP/IORHelper.class | Bin 0 -> 3250 bytes libjava/classpath/lib/org/omg/IOP/IORHolder.class | Bin 0 -> 1139 bytes .../omg/IOP/MultipleComponentProfileHelper.class | Bin 0 -> 2658 bytes .../omg/IOP/MultipleComponentProfileHolder.class | Bin 0 -> 1275 bytes .../lib/org/omg/IOP/ProfileIdHelper.class | Bin 0 -> 1719 bytes .../lib/org/omg/IOP/RMICustomMaxStreamFormat.class | Bin 0 -> 190 bytes .../classpath/lib/org/omg/IOP/ServiceContext.class | Bin 0 -> 644 bytes .../lib/org/omg/IOP/ServiceContextHelper.class | Bin 0 -> 3345 bytes .../lib/org/omg/IOP/ServiceContextHolder.class | Bin 0 -> 1227 bytes .../lib/org/omg/IOP/ServiceContextListHelper.class | Bin 0 -> 2700 bytes .../lib/org/omg/IOP/ServiceContextListHolder.class | Bin 0 -> 1247 bytes .../lib/org/omg/IOP/ServiceIdHelper.class | Bin 0 -> 1719 bytes .../org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.class | Bin 0 -> 194 bytes .../classpath/lib/org/omg/IOP/TAG_CODE_SETS.class | Bin 0 -> 168 bytes .../lib/org/omg/IOP/TAG_INTERNET_IOP.class | Bin 0 -> 174 bytes .../lib/org/omg/IOP/TAG_JAVA_CODEBASE.class | Bin 0 -> 176 bytes .../lib/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.class | Bin 0 -> 188 bytes .../classpath/lib/org/omg/IOP/TAG_ORB_TYPE.class | Bin 0 -> 166 bytes .../classpath/lib/org/omg/IOP/TAG_POLICIES.class | Bin 0 -> 166 bytes .../omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.class | Bin 0 -> 206 bytes .../lib/org/omg/IOP/TaggedComponent.class | Bin 0 -> 637 bytes .../lib/org/omg/IOP/TaggedComponentHelper.class | Bin 0 -> 3538 bytes .../lib/org/omg/IOP/TaggedComponentHolder.class | Bin 0 -> 1235 bytes .../classpath/lib/org/omg/IOP/TaggedProfile.class | Bin 0 -> 627 bytes .../lib/org/omg/IOP/TaggedProfileHelper.class | Bin 0 -> 3718 bytes .../lib/org/omg/IOP/TaggedProfileHolder.class | Bin 0 -> 1219 bytes .../lib/org/omg/IOP/TransactionService.class | Bin 0 -> 178 bytes .../org/omg/Messaging/SYNC_WITH_TRANSPORT.class | Bin 0 -> 186 bytes .../lib/org/omg/Messaging/SyncScopeHelper.class | Bin 0 -> 1782 bytes .../lib/org/omg/PortableInterceptor/ACTIVE.class | Bin 0 -> 170 bytes .../AdapterManagerIdHelper.class | Bin 0 -> 1808 bytes .../PortableInterceptor/AdapterNameHelper.class | Bin 0 -> 2073 bytes .../PortableInterceptor/AdapterStateHelper.class | Bin 0 -> 1793 bytes .../PortableInterceptor/ClientRequestInfo.class | Bin 0 -> 321 bytes .../ClientRequestInfoOperations.class | Bin 0 -> 831 bytes .../ClientRequestInterceptor.class | Bin 0 -> 342 bytes .../ClientRequestInterceptorOperations.class | Bin 0 -> 497 bytes .../lib/org/omg/PortableInterceptor/Current.class | Bin 0 -> 245 bytes .../omg/PortableInterceptor/CurrentHelper.class | Bin 0 -> 2240 bytes .../PortableInterceptor/CurrentOperations.class | Bin 0 -> 386 bytes .../org/omg/PortableInterceptor/DISCARDING.class | Bin 0 -> 178 bytes .../omg/PortableInterceptor/ForwardRequest.class | Bin 0 -> 849 bytes .../PortableInterceptor/ForwardRequestHelper.class | Bin 0 -> 3204 bytes .../lib/org/omg/PortableInterceptor/HOLDING.class | Bin 0 -> 172 bytes .../lib/org/omg/PortableInterceptor/INACTIVE.class | Bin 0 -> 174 bytes .../lib/org/omg/PortableInterceptor/IORInfo.class | Bin 0 -> 272 bytes .../PortableInterceptor/IORInfoOperations.class | Bin 0 -> 623 bytes .../omg/PortableInterceptor/IORInterceptor.class | Bin 0 -> 397 bytes .../IORInterceptorOperations.class | Bin 0 -> 288 bytes .../PortableInterceptor/IORInterceptor_3_0.class | Bin 0 -> 299 bytes .../IORInterceptor_3_0Helper.class | Bin 0 -> 3462 bytes .../IORInterceptor_3_0Holder.class | Bin 0 -> 1371 bytes .../IORInterceptor_3_0Operations.class | Bin 0 -> 442 bytes .../org/omg/PortableInterceptor/Interceptor.class | Bin 0 -> 256 bytes .../InterceptorOperations.class | Bin 0 -> 213 bytes .../org/omg/PortableInterceptor/InvalidSlot.class | Bin 0 -> 598 bytes .../PortableInterceptor/InvalidSlotHelper.class | Bin 0 -> 2708 bytes .../omg/PortableInterceptor/LOCATION_FORWARD.class | Bin 0 -> 190 bytes .../org/omg/PortableInterceptor/NON_EXISTENT.class | Bin 0 -> 182 bytes .../org/omg/PortableInterceptor/ORBIdHelper.class | Bin 0 -> 1753 bytes .../org/omg/PortableInterceptor/ORBInitInfo.class | Bin 0 -> 256 bytes .../ORBInitInfoOperations.class | Bin 0 -> 1047 bytes .../ORBInitInfoPackage/DuplicateName.class | Bin 0 -> 821 bytes .../ORBInitInfoPackage/DuplicateNameHelper.class | Bin 0 -> 3155 bytes .../ORBInitInfoPackage/InvalidName.class | Bin 0 -> 636 bytes .../ORBInitInfoPackage/InvalidNameHelper.class | Bin 0 -> 2872 bytes .../ORBInitInfoPackage/ObjectIdHelper.class | Bin 0 -> 1818 bytes .../omg/PortableInterceptor/ORBInitializer.class | Bin 0 -> 265 bytes .../ORBInitializerOperations.class | Bin 0 -> 243 bytes .../omg/PortableInterceptor/ObjectIdHelper.class | Bin 0 -> 1757 bytes .../ObjectReferenceFactory.class | Bin 0 -> 302 bytes .../ObjectReferenceFactoryHelper.class | Bin 0 -> 2808 bytes .../ObjectReferenceFactoryHolder.class | Bin 0 -> 1403 bytes .../ObjectReferenceTemplate.class | Bin 0 -> 320 bytes .../ObjectReferenceTemplateHelper.class | Bin 0 -> 2841 bytes .../ObjectReferenceTemplateHolder.class | Bin 0 -> 1411 bytes .../ObjectReferenceTemplateSeqHelper.class | Bin 0 -> 3255 bytes .../ObjectReferenceTemplateSeqHolder.class | Bin 0 -> 1427 bytes .../omg/PortableInterceptor/PolicyFactory.class | Bin 0 -> 262 bytes .../PolicyFactoryOperations.class | Bin 0 -> 280 bytes .../org/omg/PortableInterceptor/RequestInfo.class | Bin 0 -> 256 bytes .../RequestInfoOperations.class | Bin 0 -> 845 bytes .../org/omg/PortableInterceptor/SUCCESSFUL.class | Bin 0 -> 178 bytes .../omg/PortableInterceptor/SYSTEM_EXCEPTION.class | Bin 0 -> 190 bytes .../omg/PortableInterceptor/ServerIdHelper.class | Bin 0 -> 1768 bytes .../PortableInterceptor/ServerRequestInfo.class | Bin 0 -> 321 bytes .../ServerRequestInfoOperations.class | Bin 0 -> 793 bytes .../ServerRequestInterceptor.class | Bin 0 -> 342 bytes .../ServerRequestInterceptorOperations.class | Bin 0 -> 524 bytes .../omg/PortableInterceptor/TRANSPORT_RETRY.class | Bin 0 -> 188 bytes .../omg/PortableInterceptor/USER_EXCEPTION.class | Bin 0 -> 186 bytes .../_IORInterceptor_3_0Stub.class | Bin 0 -> 4213 bytes .../org/omg/PortableServer/AdapterActivator.class | Bin 0 -> 261 bytes .../AdapterActivatorOperations.class | Bin 0 -> 234 bytes .../lib/org/omg/PortableServer/Current.class | Bin 0 -> 235 bytes .../lib/org/omg/PortableServer/CurrentHelper.class | Bin 0 -> 2186 bytes .../org/omg/PortableServer/CurrentOperations.class | Bin 0 -> 345 bytes .../PortableServer/CurrentPackage/NoContext.class | Bin 0 -> 612 bytes .../CurrentPackage/NoContextHelper.class | Bin 0 -> 2767 bytes .../omg/PortableServer/DynamicImplementation.class | Bin 0 -> 400 bytes .../org/omg/PortableServer/ForwardRequest.class | Bin 0 -> 859 bytes .../omg/PortableServer/ForwardRequestHelper.class | Bin 0 -> 2895 bytes .../PortableServer/ID_ASSIGNMENT_POLICY_ID.class | Bin 0 -> 199 bytes .../PortableServer/ID_UNIQUENESS_POLICY_ID.class | Bin 0 -> 199 bytes .../IMPLICIT_ACTIVATION_POLICY_ID.class | Bin 0 -> 211 bytes .../omg/PortableServer/IdAssignmentPolicy.class | Bin 0 -> 267 bytes .../IdAssignmentPolicyOperations.class | Bin 0 -> 267 bytes .../PortableServer/IdAssignmentPolicyValue.class | Bin 0 -> 1654 bytes .../omg/PortableServer/IdUniquenessPolicy.class | Bin 0 -> 267 bytes .../IdUniquenessPolicyOperations.class | Bin 0 -> 267 bytes .../PortableServer/IdUniquenessPolicyValue.class | Bin 0 -> 1662 bytes .../PortableServer/ImplicitActivationPolicy.class | Bin 0 -> 285 bytes .../ImplicitActivationPolicyOperations.class | Bin 0 -> 285 bytes .../ImplicitActivationPolicyValue.class | Bin 0 -> 1738 bytes .../omg/PortableServer/LIFESPAN_POLICY_ID.class | Bin 0 -> 189 bytes .../org/omg/PortableServer/LifespanPolicy.class | Bin 0 -> 255 bytes .../PortableServer/LifespanPolicyOperations.class | Bin 0 -> 255 bytes .../omg/PortableServer/LifespanPolicyValue.class | Bin 0 -> 1640 bytes .../classpath/lib/org/omg/PortableServer/POA.class | Bin 0 -> 222 bytes .../lib/org/omg/PortableServer/POAHelper.class | Bin 0 -> 2396 bytes .../lib/org/omg/PortableServer/POAManager.class | Bin 0 -> 243 bytes .../omg/PortableServer/POAManagerOperations.class | Bin 0 -> 444 bytes .../POAManagerPackage/AdapterInactive.class | Bin 0 -> 636 bytes .../POAManagerPackage/AdapterInactiveHelper.class | Bin 0 -> 2866 bytes .../PortableServer/POAManagerPackage/State.class | Bin 0 -> 1802 bytes .../lib/org/omg/PortableServer/POAOperations.class | Bin 0 -> 3397 bytes .../POAPackage/AdapterAlreadyExists.class | Bin 0 -> 637 bytes .../POAPackage/AdapterAlreadyExistsHelper.class | Bin 0 -> 2943 bytes .../POAPackage/AdapterNonExistent.class | Bin 0 -> 631 bytes .../POAPackage/AdapterNonExistentHelper.class | Bin 0 -> 2915 bytes .../PortableServer/POAPackage/InvalidPolicy.class | Bin 0 -> 1185 bytes .../POAPackage/InvalidPolicyHelper.class | Bin 0 -> 3122 bytes .../omg/PortableServer/POAPackage/NoServant.class | Bin 0 -> 604 bytes .../POAPackage/NoServantHelper.class | Bin 0 -> 2807 bytes .../POAPackage/ObjectAlreadyActive.class | Bin 0 -> 634 bytes .../POAPackage/ObjectAlreadyActiveHelper.class | Bin 0 -> 2931 bytes .../POAPackage/ObjectNotActive.class | Bin 0 -> 622 bytes .../POAPackage/ObjectNotActiveHelper.class | Bin 0 -> 2879 bytes .../POAPackage/ServantAlreadyActive.class | Bin 0 -> 637 bytes .../POAPackage/ServantAlreadyActiveHelper.class | Bin 0 -> 2943 bytes .../POAPackage/ServantNotActive.class | Bin 0 -> 625 bytes .../POAPackage/ServantNotActiveHelper.class | Bin 0 -> 2891 bytes .../PortableServer/POAPackage/WrongAdapter.class | Bin 0 -> 613 bytes .../POAPackage/WrongAdapterHelper.class | Bin 0 -> 2843 bytes .../PortableServer/POAPackage/WrongPolicy.class | Bin 0 -> 610 bytes .../POAPackage/WrongPolicyHelper.class | Bin 0 -> 2831 bytes .../REQUEST_PROCESSING_POLICY_ID.class | Bin 0 -> 209 bytes .../PortableServer/RequestProcessingPolicy.class | Bin 0 -> 282 bytes .../RequestProcessingPolicyOperations.class | Bin 0 -> 282 bytes .../RequestProcessingPolicyValue.class | Bin 0 -> 1862 bytes .../SERVANT_RETENTION_POLICY_ID.class | Bin 0 -> 207 bytes .../lib/org/omg/PortableServer/Servant.class | Bin 0 -> 3457 bytes .../org/omg/PortableServer/ServantActivator.class | Bin 0 -> 306 bytes .../PortableServer/ServantActivatorHelper.class | Bin 0 -> 2476 bytes .../ServantActivatorOperations.class | Bin 0 -> 456 bytes .../ServantActivatorPOA$delegator.class | Bin 0 -> 1364 bytes .../omg/PortableServer/ServantActivatorPOA.class | Bin 0 -> 1737 bytes .../org/omg/PortableServer/ServantLocator.class | Bin 0 -> 300 bytes .../omg/PortableServer/ServantLocatorHelper.class | Bin 0 -> 2482 bytes .../PortableServer/ServantLocatorOperations.class | Bin 0 -> 562 bytes .../ServantLocatorPOA$delegator.class | Bin 0 -> 1785 bytes .../org/omg/PortableServer/ServantLocatorPOA.class | Bin 0 -> 1719 bytes .../ServantLocatorPackage/CookieHolder.class | Bin 0 -> 1045 bytes .../org/omg/PortableServer/ServantManager.class | Bin 0 -> 255 bytes .../PortableServer/ServantManagerOperations.class | Bin 0 -> 152 bytes .../PortableServer/ServantRetentionPolicy.class | Bin 0 -> 279 bytes .../ServantRetentionPolicyOperations.class | Bin 0 -> 279 bytes .../ServantRetentionPolicyValue.class | Bin 0 -> 1674 bytes .../org/omg/PortableServer/THREAD_POLICY_ID.class | Bin 0 -> 185 bytes .../lib/org/omg/PortableServer/ThreadPolicy.class | Bin 0 -> 249 bytes .../PortableServer/ThreadPolicyOperations.class | Bin 0 -> 249 bytes .../org/omg/PortableServer/ThreadPolicyValue.class | Bin 0 -> 1658 bytes .../omg/PortableServer/_ServantActivatorStub.class | Bin 0 -> 1441 bytes .../omg/PortableServer/_ServantLocatorStub.class | Bin 0 -> 1730 bytes .../org/omg/PortableServer/portable/Delegate.class | Bin 0 -> 600 bytes .../lib/org/omg/SendingContext/RunTime.class | Bin 0 -> 262 bytes .../org/omg/SendingContext/RunTimeOperations.class | Bin 0 -> 138 bytes .../lib/org/omg/stub/java/rmi/_Remote_Stub.class | Bin 0 -> 549 bytes .../lib/org/relaxng/datatype/Datatype.class | Bin 0 -> 920 bytes .../lib/org/relaxng/datatype/DatatypeBuilder.class | Bin 0 -> 375 bytes .../org/relaxng/datatype/DatatypeException.class | Bin 0 -> 740 bytes .../lib/org/relaxng/datatype/DatatypeLibrary.class | Bin 0 -> 381 bytes .../relaxng/datatype/DatatypeLibraryFactory.class | Bin 0 -> 239 bytes .../datatype/DatatypeStreamingValidator.class | Bin 0 -> 306 bytes .../org/relaxng/datatype/ValidationContext.class | Bin 0 -> 326 bytes .../DatatypeLibraryLoader$Service$Loader.class | Bin 0 -> 1749 bytes .../DatatypeLibraryLoader$Service$Loader2.class | Bin 0 -> 1756 bytes ...LibraryLoader$Service$ProviderEnumeration.class | Bin 0 -> 1656 bytes .../DatatypeLibraryLoader$Service$Singleton.class | Bin 0 -> 1126 bytes .../helpers/DatatypeLibraryLoader$Service.class | Bin 0 -> 4546 bytes .../datatype/helpers/DatatypeLibraryLoader.class | Bin 0 -> 1250 bytes .../helpers/ParameterlessDatatypeBuilder.class | Bin 0 -> 1013 bytes .../datatype/helpers/StreamingValidatorImpl.class | Bin 0 -> 1449 bytes libjava/classpath/lib/org/w3c/dom/Attr.class | Bin 0 -> 432 bytes .../classpath/lib/org/w3c/dom/CDATASection.class | Bin 0 -> 141 bytes .../classpath/lib/org/w3c/dom/CharacterData.class | Bin 0 -> 558 bytes libjava/classpath/lib/org/w3c/dom/Comment.class | Bin 0 -> 140 bytes .../lib/org/w3c/dom/DOMConfiguration.class | Bin 0 -> 445 bytes libjava/classpath/lib/org/w3c/dom/DOMError.class | Bin 0 -> 470 bytes .../lib/org/w3c/dom/DOMErrorHandler.class | Bin 0 -> 173 bytes .../classpath/lib/org/w3c/dom/DOMException.class | Bin 0 -> 1156 bytes .../lib/org/w3c/dom/DOMImplementation.class | Bin 0 -> 561 bytes .../lib/org/w3c/dom/DOMImplementationList.class | Bin 0 -> 213 bytes .../lib/org/w3c/dom/DOMImplementationSource.class | Bin 0 -> 317 bytes libjava/classpath/lib/org/w3c/dom/DOMLocator.class | Bin 0 -> 306 bytes .../classpath/lib/org/w3c/dom/DOMStringList.class | Bin 0 -> 227 bytes libjava/classpath/lib/org/w3c/dom/Document.class | Bin 0 -> 2096 bytes .../lib/org/w3c/dom/DocumentFragment.class | Bin 0 -> 149 bytes .../classpath/lib/org/w3c/dom/DocumentType.class | Bin 0 -> 330 bytes libjava/classpath/lib/org/w3c/dom/Element.class | Bin 0 -> 1532 bytes libjava/classpath/lib/org/w3c/dom/Entity.class | Bin 0 -> 298 bytes .../lib/org/w3c/dom/EntityReference.class | Bin 0 -> 147 bytes libjava/classpath/lib/org/w3c/dom/NameList.class | Bin 0 -> 309 bytes .../classpath/lib/org/w3c/dom/NamedNodeMap.class | Bin 0 -> 566 bytes libjava/classpath/lib/org/w3c/dom/Node.class | Bin 0 -> 2560 bytes libjava/classpath/lib/org/w3c/dom/NodeList.class | Bin 0 -> 174 bytes libjava/classpath/lib/org/w3c/dom/Notation.class | Bin 0 -> 200 bytes .../lib/org/w3c/dom/ProcessingInstruction.class | Bin 0 -> 315 bytes libjava/classpath/lib/org/w3c/dom/Text.class | Bin 0 -> 398 bytes libjava/classpath/lib/org/w3c/dom/TypeInfo.class | Bin 0 -> 437 bytes .../lib/org/w3c/dom/UserDataHandler.class | Bin 0 -> 419 bytes .../bootstrap/DOMImplementationRegistry$1.class | Bin 0 -> 1248 bytes .../bootstrap/DOMImplementationRegistry$2.class | Bin 0 -> 842 bytes .../bootstrap/DOMImplementationRegistry$3.class | Bin 0 -> 786 bytes .../bootstrap/DOMImplementationRegistry$4.class | Bin 0 -> 1067 bytes .../dom/bootstrap/DOMImplementationRegistry.class | Bin 0 -> 5443 bytes .../lib/org/w3c/dom/css/CSS2Properties.class | Bin 0 -> 7355 bytes .../lib/org/w3c/dom/css/CSSCharsetRule.class | Bin 0 -> 300 bytes .../lib/org/w3c/dom/css/CSSFontFaceRule.class | Bin 0 -> 219 bytes .../lib/org/w3c/dom/css/CSSImportRule.class | Bin 0 -> 314 bytes .../lib/org/w3c/dom/css/CSSMediaRule.class | Bin 0 -> 404 bytes .../lib/org/w3c/dom/css/CSSPageRule.class | Bin 0 -> 363 bytes .../lib/org/w3c/dom/css/CSSPrimitiveValue.class | Bin 0 -> 1487 bytes .../classpath/lib/org/w3c/dom/css/CSSRule.class | Bin 0 -> 663 bytes .../lib/org/w3c/dom/css/CSSRuleList.class | Bin 0 -> 191 bytes .../lib/org/w3c/dom/css/CSSStyleDeclaration.class | Bin 0 -> 700 bytes .../lib/org/w3c/dom/css/CSSStyleRule.class | Bin 0 -> 365 bytes .../lib/org/w3c/dom/css/CSSStyleSheet.class | Bin 0 -> 411 bytes .../lib/org/w3c/dom/css/CSSUnknownRule.class | Bin 0 -> 156 bytes .../classpath/lib/org/w3c/dom/css/CSSValue.class | Bin 0 -> 457 bytes .../lib/org/w3c/dom/css/CSSValueList.class | Bin 0 -> 226 bytes .../classpath/lib/org/w3c/dom/css/Counter.class | Bin 0 -> 204 bytes .../lib/org/w3c/dom/css/DOMImplementationCSS.class | Bin 0 -> 329 bytes .../lib/org/w3c/dom/css/DocumentCSS.class | Bin 0 -> 272 bytes .../org/w3c/dom/css/ElementCSSInlineStyle.class | Bin 0 -> 200 bytes .../classpath/lib/org/w3c/dom/css/RGBColor.class | Bin 0 -> 207 bytes libjava/classpath/lib/org/w3c/dom/css/Rect.class | Bin 0 -> 219 bytes .../classpath/lib/org/w3c/dom/css/ViewCSS.class | Bin 0 -> 257 bytes .../lib/org/w3c/dom/events/DocumentEvent.class | Bin 0 -> 250 bytes .../classpath/lib/org/w3c/dom/events/Event.class | Bin 0 -> 578 bytes .../lib/org/w3c/dom/events/EventException.class | Bin 0 -> 518 bytes .../lib/org/w3c/dom/events/EventListener.class | Bin 0 -> 180 bytes .../lib/org/w3c/dom/events/EventTarget.class | Bin 0 -> 356 bytes .../lib/org/w3c/dom/events/MouseEvent.class | Bin 0 -> 549 bytes .../lib/org/w3c/dom/events/MutationEvent.class | Bin 0 -> 572 bytes .../classpath/lib/org/w3c/dom/events/UIEvent.class | Bin 0 -> 308 bytes .../lib/org/w3c/dom/html2/HTMLAnchorElement.class | Bin 0 -> 737 bytes .../lib/org/w3c/dom/html2/HTMLAppletElement.class | Bin 0 -> 658 bytes .../lib/org/w3c/dom/html2/HTMLAreaElement.class | Bin 0 -> 557 bytes .../lib/org/w3c/dom/html2/HTMLBRElement.class | Bin 0 -> 247 bytes .../lib/org/w3c/dom/html2/HTMLBaseElement.class | Bin 0 -> 289 bytes .../org/w3c/dom/html2/HTMLBaseFontElement.class | Bin 0 -> 344 bytes .../lib/org/w3c/dom/html2/HTMLBodyElement.class | Bin 0 -> 451 bytes .../lib/org/w3c/dom/html2/HTMLButtonElement.class | Bin 0 -> 527 bytes .../lib/org/w3c/dom/html2/HTMLCollection.class | Bin 0 -> 253 bytes .../lib/org/w3c/dom/html2/HTMLDListElement.class | Bin 0 -> 223 bytes .../org/w3c/dom/html2/HTMLDirectoryElement.class | Bin 0 -> 231 bytes .../lib/org/w3c/dom/html2/HTMLDivElement.class | Bin 0 -> 249 bytes .../lib/org/w3c/dom/html2/HTMLDocument.class | Bin 0 -> 780 bytes .../lib/org/w3c/dom/html2/HTMLElement.class | Bin 0 -> 381 bytes .../org/w3c/dom/html2/HTMLFieldSetElement.class | Bin 0 -> 232 bytes .../lib/org/w3c/dom/html2/HTMLFontElement.class | Bin 0 -> 323 bytes .../lib/org/w3c/dom/html2/HTMLFormElement.class | Bin 0 -> 591 bytes .../lib/org/w3c/dom/html2/HTMLFrameElement.class | Bin 0 -> 640 bytes .../org/w3c/dom/html2/HTMLFrameSetElement.class | Bin 0 -> 293 bytes .../lib/org/w3c/dom/html2/HTMLHRElement.class | Bin 0 -> 376 bytes .../lib/org/w3c/dom/html2/HTMLHeadElement.class | Bin 0 -> 255 bytes .../lib/org/w3c/dom/html2/HTMLHeadingElement.class | Bin 0 -> 257 bytes .../lib/org/w3c/dom/html2/HTMLHtmlElement.class | Bin 0 -> 255 bytes .../lib/org/w3c/dom/html2/HTMLIFrameElement.class | Bin 0 -> 701 bytes .../lib/org/w3c/dom/html2/HTMLImageElement.class | Bin 0 -> 703 bytes .../lib/org/w3c/dom/html2/HTMLInputElement.class | Bin 0 -> 1075 bytes .../lib/org/w3c/dom/html2/HTMLIsIndexElement.class | Bin 0 -> 317 bytes .../lib/org/w3c/dom/html2/HTMLLIElement.class | Bin 0 -> 296 bytes .../lib/org/w3c/dom/html2/HTMLLabelElement.class | Bin 0 -> 361 bytes .../lib/org/w3c/dom/html2/HTMLLegendElement.class | Bin 0 -> 359 bytes .../lib/org/w3c/dom/html2/HTMLLinkElement.class | Bin 0 -> 574 bytes .../lib/org/w3c/dom/html2/HTMLMapElement.class | Bin 0 -> 305 bytes .../lib/org/w3c/dom/html2/HTMLMenuElement.class | Bin 0 -> 221 bytes .../lib/org/w3c/dom/html2/HTMLMetaElement.class | Bin 0 -> 377 bytes .../lib/org/w3c/dom/html2/HTMLModElement.class | Bin 0 -> 291 bytes .../lib/org/w3c/dom/html2/HTMLOListElement.class | Bin 0 -> 357 bytes .../lib/org/w3c/dom/html2/HTMLObjectElement.class | Bin 0 -> 1035 bytes .../org/w3c/dom/html2/HTMLOptGroupElement.class | Bin 0 -> 316 bytes .../lib/org/w3c/dom/html2/HTMLOptionElement.class | Bin 0 -> 553 bytes .../org/w3c/dom/html2/HTMLOptionsCollection.class | Bin 0 -> 347 bytes .../org/w3c/dom/html2/HTMLParagraphElement.class | Bin 0 -> 261 bytes .../lib/org/w3c/dom/html2/HTMLParamElement.class | Bin 0 -> 371 bytes .../lib/org/w3c/dom/html2/HTMLPreElement.class | Bin 0 -> 215 bytes .../lib/org/w3c/dom/html2/HTMLQuoteElement.class | Bin 0 -> 251 bytes .../lib/org/w3c/dom/html2/HTMLScriptElement.class | Bin 0 -> 496 bytes .../lib/org/w3c/dom/html2/HTMLSelectElement.class | Bin 0 -> 921 bytes .../lib/org/w3c/dom/html2/HTMLStyleElement.class | Bin 0 -> 346 bytes .../w3c/dom/html2/HTMLTableCaptionElement.class | Bin 0 -> 267 bytes .../org/w3c/dom/html2/HTMLTableCellElement.class | Bin 0 -> 816 bytes .../org/w3c/dom/html2/HTMLTableColElement.class | Bin 0 -> 456 bytes .../lib/org/w3c/dom/html2/HTMLTableElement.class | Bin 0 -> 1336 bytes .../org/w3c/dom/html2/HTMLTableRowElement.class | Bin 0 -> 675 bytes .../w3c/dom/html2/HTMLTableSectionElement.class | Bin 0 -> 581 bytes .../org/w3c/dom/html2/HTMLTextAreaElement.class | Bin 0 -> 753 bytes .../lib/org/w3c/dom/html2/HTMLTitleElement.class | Bin 0 -> 251 bytes .../lib/org/w3c/dom/html2/HTMLUListElement.class | Bin 0 -> 306 bytes .../lib/org/w3c/dom/ls/DOMImplementationLS.class | Bin 0 -> 533 bytes .../classpath/lib/org/w3c/dom/ls/LSException.class | Bin 0 -> 521 bytes libjava/classpath/lib/org/w3c/dom/ls/LSInput.class | Bin 0 -> 648 bytes .../classpath/lib/org/w3c/dom/ls/LSLoadEvent.class | Bin 0 -> 250 bytes .../classpath/lib/org/w3c/dom/ls/LSOutput.class | Bin 0 -> 451 bytes .../classpath/lib/org/w3c/dom/ls/LSParser.class | Bin 0 -> 924 bytes .../lib/org/w3c/dom/ls/LSParserFilter.class | Bin 0 -> 418 bytes .../lib/org/w3c/dom/ls/LSProgressEvent.class | Bin 0 -> 257 bytes .../lib/org/w3c/dom/ls/LSResourceResolver.class | Bin 0 -> 277 bytes .../lib/org/w3c/dom/ls/LSSerializer.class | Bin 0 -> 688 bytes .../lib/org/w3c/dom/ls/LSSerializerFilter.class | Bin 0 -> 202 bytes .../lib/org/w3c/dom/ranges/DocumentRange.class | Bin 0 -> 179 bytes .../classpath/lib/org/w3c/dom/ranges/Range.class | Bin 0 -> 1408 bytes .../lib/org/w3c/dom/ranges/RangeException.class | Bin 0 -> 559 bytes .../org/w3c/dom/stylesheets/DocumentStyle.class | Bin 0 -> 201 bytes .../lib/org/w3c/dom/stylesheets/LinkStyle.class | Bin 0 -> 183 bytes .../lib/org/w3c/dom/stylesheets/MediaList.class | Bin 0 -> 400 bytes .../lib/org/w3c/dom/stylesheets/StyleSheet.class | Bin 0 -> 436 bytes .../org/w3c/dom/stylesheets/StyleSheetList.class | Bin 0 -> 216 bytes .../org/w3c/dom/traversal/DocumentTraversal.class | Bin 0 -> 444 bytes .../lib/org/w3c/dom/traversal/NodeFilter.class | Bin 0 -> 801 bytes .../lib/org/w3c/dom/traversal/NodeIterator.class | Bin 0 -> 427 bytes .../lib/org/w3c/dom/traversal/TreeWalker.class | Bin 0 -> 574 bytes .../lib/org/w3c/dom/views/AbstractView.class | Bin 0 -> 182 bytes .../lib/org/w3c/dom/views/DocumentView.class | Bin 0 -> 185 bytes .../lib/org/w3c/dom/xpath/XPathEvaluator.class | Bin 0 -> 569 bytes .../lib/org/w3c/dom/xpath/XPathException.class | Bin 0 -> 544 bytes .../lib/org/w3c/dom/xpath/XPathExpression.class | Bin 0 -> 301 bytes .../lib/org/w3c/dom/xpath/XPathNSResolver.class | Bin 0 -> 199 bytes .../lib/org/w3c/dom/xpath/XPathNamespace.class | Bin 0 -> 267 bytes .../lib/org/w3c/dom/xpath/XPathResult.class | Bin 0 -> 1060 bytes .../classpath/lib/org/xml/sax/AttributeList.class | Bin 0 -> 300 bytes libjava/classpath/lib/org/xml/sax/Attributes.class | Bin 0 -> 484 bytes .../classpath/lib/org/xml/sax/ContentHandler.class | Bin 0 -> 799 bytes libjava/classpath/lib/org/xml/sax/DTDHandler.class | Bin 0 -> 366 bytes .../lib/org/xml/sax/DocumentHandler.class | Bin 0 -> 617 bytes .../classpath/lib/org/xml/sax/EntityResolver.class | Bin 0 -> 291 bytes .../classpath/lib/org/xml/sax/ErrorHandler.class | Bin 0 -> 282 bytes .../classpath/lib/org/xml/sax/HandlerBase.class | Bin 0 -> 2468 bytes .../classpath/lib/org/xml/sax/InputSource.class | Bin 0 -> 1772 bytes libjava/classpath/lib/org/xml/sax/Locator.class | Bin 0 -> 230 bytes libjava/classpath/lib/org/xml/sax/Parser.class | Bin 0 -> 587 bytes .../classpath/lib/org/xml/sax/SAXException.class | Bin 0 -> 1117 bytes .../org/xml/sax/SAXNotRecognizedException.class | Bin 0 -> 477 bytes .../lib/org/xml/sax/SAXNotSupportedException.class | Bin 0 -> 474 bytes .../lib/org/xml/sax/SAXParseException.class | Bin 0 -> 1971 bytes libjava/classpath/lib/org/xml/sax/XMLFilter.class | Bin 0 -> 237 bytes libjava/classpath/lib/org/xml/sax/XMLReader.class | Bin 0 -> 1101 bytes .../lib/org/xml/sax/ext/Attributes2.class | Bin 0 -> 297 bytes .../lib/org/xml/sax/ext/Attributes2Impl.class | Bin 0 -> 3721 bytes .../lib/org/xml/sax/ext/DeclHandler.class | Bin 0 -> 504 bytes .../lib/org/xml/sax/ext/DefaultHandler2.class | Bin 0 -> 2469 bytes .../lib/org/xml/sax/ext/EntityResolver2.class | Bin 0 -> 473 bytes .../lib/org/xml/sax/ext/LexicalHandler.class | Bin 0 -> 474 bytes .../classpath/lib/org/xml/sax/ext/Locator2.class | Bin 0 -> 209 bytes .../lib/org/xml/sax/ext/Locator2Impl.class | Bin 0 -> 1050 bytes .../org/xml/sax/helpers/AttributeListImpl.class | Bin 0 -> 2485 bytes .../lib/org/xml/sax/helpers/AttributesImpl.class | Bin 0 -> 5438 bytes .../lib/org/xml/sax/helpers/DefaultHandler.class | Bin 0 -> 2922 bytes .../lib/org/xml/sax/helpers/LocatorImpl.class | Bin 0 -> 1480 bytes .../xml/sax/helpers/NamespaceSupport$Context.class | Bin 0 -> 3777 bytes .../lib/org/xml/sax/helpers/NamespaceSupport.class | Bin 0 -> 3965 bytes .../lib/org/xml/sax/helpers/NewInstance.class | Bin 0 -> 1771 bytes .../ParserAdapter$AttributeListAdapter.class | Bin 0 -> 2443 bytes .../lib/org/xml/sax/helpers/ParserAdapter.class | Bin 0 -> 11822 bytes .../lib/org/xml/sax/helpers/ParserFactory.class | Bin 0 -> 1233 bytes .../lib/org/xml/sax/helpers/XMLFilterImpl.class | Bin 0 -> 6984 bytes .../XMLReaderAdapter$AttributesAdapter.class | Bin 0 -> 1477 bytes .../lib/org/xml/sax/helpers/XMLReaderAdapter.class | Bin 0 -> 4848 bytes .../lib/org/xml/sax/helpers/XMLReaderFactory.class | Bin 0 -> 3227 bytes libjava/classpath/lib/standard.omit | 2 - libjava/classpath/lib/sun/misc/Service.class | Bin 0 -> 715 bytes .../lib/sun/misc/ServiceConfigurationError.class | Bin 0 -> 462 bytes libjava/classpath/lib/sun/misc/Unsafe.class | Bin 0 -> 1550 bytes libjava/classpath/lib/sun/reflect/Reflection.class | Bin 0 -> 477 bytes .../annotation/AnnotationInvocationHandler.class | Bin 0 -> 7471 bytes .../sun/reflect/annotation/AnnotationParser.class | Bin 0 -> 926 bytes .../sun/reflect/annotation/AnnotationType.class | Bin 0 -> 671 bytes .../EnumConstantNotPresentExceptionProxy.class | Bin 0 -> 580 bytes .../sun/reflect/annotation/ExceptionProxy.class | Bin 0 -> 313 bytes .../sun/reflect/misc/ReflectUtil$MustBeNull.class | Bin 0 -> 392 bytes .../lib/sun/reflect/misc/ReflectUtil.class | Bin 0 -> 1606 bytes libjava/classpath/ltconfig | 2 +- libjava/classpath/ltmain.sh | 8 +- libjava/classpath/m4/acinclude.m4 | 13 - libjava/classpath/m4/gcc_attribute.m4 | 133 + libjava/classpath/native/.cvsignore | 8 + libjava/classpath/native/Makefile.am | 4 +- libjava/classpath/native/Makefile.in | 15 +- libjava/classpath/native/fdlibm/.cvsignore | 8 + libjava/classpath/native/fdlibm/Makefile.in | 11 +- libjava/classpath/native/fdlibm/mprec.h | 2 +- libjava/classpath/native/jawt/Makefile.am | 13 +- libjava/classpath/native/jawt/Makefile.in | 80 +- libjava/classpath/native/jawt/jawt.c | 2 + libjava/classpath/native/jni/.cvsignore | 8 + libjava/classpath/native/jni/Makefile.am | 5 +- libjava/classpath/native/jni/Makefile.in | 16 +- libjava/classpath/native/jni/classpath/.cvsignore | 8 + libjava/classpath/native/jni/classpath/Makefile.in | 11 +- .../native/jni/classpath/classpath_jawt.h | 1 + libjava/classpath/native/jni/classpath/jcl.c | 131 +- libjava/classpath/native/jni/gconf-peer/.cvsignore | 6 + .../native/jni/gconf-peer/GConfNativePeer.c | 117 +- .../classpath/native/jni/gconf-peer/Makefile.in | 11 +- .../native/jni/gtk-peer/GtkDragSourceContextPeer.c | 132 +- libjava/classpath/native/jni/gtk-peer/Makefile.am | 12 +- libjava/classpath/native/jni/gtk-peer/Makefile.in | 80 +- .../native/jni/gtk-peer/cairographics2d.h | 3 +- libjava/classpath/native/jni/gtk-peer/gdkfont.h | 5 +- .../gnu_java_awt_peer_gtk_CairoGraphics2D.c | 151 +- .../gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c | 24 +- .../gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c | 92 +- .../gnu_java_awt_peer_gtk_GdkPixbufDecoder.c | 21 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c | 2 +- .../gnu_java_awt_peer_gtk_GtkComponentPeer.c | 18 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c | 44 + .../gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c | 2 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c | 49 +- .../gnu_java_awt_peer_gtk_GtkVolatileImage.c | 22 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c | 64 +- libjava/classpath/native/jni/gtk-peer/gtk_jawt.c | 35 + libjava/classpath/native/jni/java-io/.cvsignore | 8 + libjava/classpath/native/jni/java-io/Makefile.am | 3 +- libjava/classpath/native/jni/java-io/Makefile.in | 18 +- .../classpath/native/jni/java-io/java_io_VMFile.c | 213 +- libjava/classpath/native/jni/java-lang/.cvsignore | 8 + libjava/classpath/native/jni/java-lang/Makefile.am | 3 +- libjava/classpath/native/jni/java-lang/Makefile.in | 17 +- .../native/jni/java-lang/java_lang_VMDouble.c | 350 +- .../native/jni/java-lang/java_lang_VMProcess.c | 185 +- libjava/classpath/native/jni/java-net/.cvsignore | 8 + libjava/classpath/native/jni/java-net/Makefile.am | 5 +- libjava/classpath/native/jni/java-net/Makefile.in | 24 +- .../gnu_java_net_VMPlainDatagramSocketImpl.c | 399 - .../jni/java-net/gnu_java_net_VMPlainSocketImpl.c | 1003 +- .../java-net/gnu_java_net_local_LocalSocketImpl.c | 2 - .../native/jni/java-net/java_net_VMInetAddress.c | 201 +- .../jni/java-net/java_net_VMNetworkInterface.c | 206 +- libjava/classpath/native/jni/java-net/javanet.c | 551 +- libjava/classpath/native/jni/java-net/javanet.h | 9 +- libjava/classpath/native/jni/java-net/local.c | 2 - libjava/classpath/native/jni/java-nio/.cvsignore | 8 + libjava/classpath/native/jni/java-nio/Makefile.am | 10 +- libjava/classpath/native/jni/java-nio/Makefile.in | 30 +- .../jni/java-nio/gnu_java_nio_EpollSelectorImpl.c | 414 + .../jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c | 387 + .../native/jni/java-nio/gnu_java_nio_VMChannel.c | 1511 ++- .../native/jni/java-nio/gnu_java_nio_VMPipe.c | 41 +- .../native/jni/java-nio/gnu_java_nio_VMSelector.c | 12 +- .../gnu_java_nio_channels_FileChannelImpl.c | 902 -- .../jni/java-nio/java_nio_MappedByteBufferImpl.c | 5 +- libjava/classpath/native/jni/java-nio/javanio.c | 122 + libjava/classpath/native/jni/java-nio/javanio.h | 332 + libjava/classpath/native/jni/java-util/.cvsignore | 8 + libjava/classpath/native/jni/java-util/Makefile.in | 11 +- libjava/classpath/native/jni/midi-alsa/.cvsignore | 9 + libjava/classpath/native/jni/midi-alsa/Makefile.in | 11 +- libjava/classpath/native/jni/midi-dssi/.cvsignore | 9 + libjava/classpath/native/jni/midi-dssi/Makefile.am | 5 +- libjava/classpath/native/jni/midi-dssi/Makefile.in | 16 +- libjava/classpath/native/jni/midi-dssi/dssi_data.h | 2 - libjava/classpath/native/jni/native-lib/.cvsignore | 8 + .../classpath/native/jni/native-lib/Makefile.am | 12 + .../classpath/native/jni/native-lib/Makefile.in | 570 + libjava/classpath/native/jni/native-lib/cpio.c | 485 + libjava/classpath/native/jni/native-lib/cpio.h | 85 + libjava/classpath/native/jni/native-lib/cpnative.h | 49 + libjava/classpath/native/jni/native-lib/cpnet.c | 768 ++ libjava/classpath/native/jni/native-lib/cpnet.h | 209 + libjava/classpath/native/jni/native-lib/cpproc.c | 136 + libjava/classpath/native/jni/native-lib/cpproc.h | 52 + libjava/classpath/native/jni/qt-peer/Makefile.am | 3 +- libjava/classpath/native/jni/qt-peer/Makefile.in | 71 +- libjava/classpath/native/jni/xmlj/.cvsignore | 8 + libjava/classpath/native/jni/xmlj/Makefile.in | 11 +- libjava/classpath/native/plugin/Makefile.am | 2 +- libjava/classpath/native/plugin/Makefile.in | 13 +- libjava/classpath/native/plugin/gcjwebplugin.cc | 9 +- libjava/classpath/native/target/Linux/Makefile.am | 10 - libjava/classpath/native/target/Linux/Makefile.in | 454 - .../classpath/native/target/Linux/target_native.h | 79 - .../native/target/Linux/target_native_file.h | 79 - .../native/target/Linux/target_native_io.h | 78 - .../native/target/Linux/target_native_math_float.h | 80 - .../native/target/Linux/target_native_math_int.h | 80 - .../native/target/Linux/target_native_misc.h | 79 - .../native/target/Linux/target_native_network.h | 79 - libjava/classpath/native/target/Makefile.am | 5 - libjava/classpath/native/target/Makefile.in | 604 - .../classpath/native/target/generic/Makefile.am | 10 - .../classpath/native/target/generic/Makefile.in | 454 - .../native/target/generic/target_generic.h | 171 - .../native/target/generic/target_generic_file.h | 844 -- .../native/target/generic/target_generic_io.h | 82 - .../target/generic/target_generic_math_float.h | 130 - .../target/generic/target_generic_math_int.h | 260 - .../native/target/generic/target_generic_misc.h | 203 - .../native/target/generic/target_generic_network.h | 1289 -- libjava/classpath/native/target/readme.txt | 149 - libjava/classpath/org/omg/CORBA/AnyHolder.java | 6 +- libjava/classpath/org/omg/CORBA/AnySeqHelper.java | 3 +- libjava/classpath/org/omg/CORBA/AnySeqHolder.java | 6 +- libjava/classpath/org/omg/CORBA/BooleanHolder.java | 6 +- .../classpath/org/omg/CORBA/BooleanSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/BooleanSeqHolder.java | 6 +- libjava/classpath/org/omg/CORBA/ByteHolder.java | 6 +- libjava/classpath/org/omg/CORBA/CharHolder.java | 6 +- libjava/classpath/org/omg/CORBA/CharSeqHelper.java | 3 +- libjava/classpath/org/omg/CORBA/CharSeqHolder.java | 6 +- libjava/classpath/org/omg/CORBA/Context.java | 6 +- libjava/classpath/org/omg/CORBA/CurrentHelper.java | 5 +- libjava/classpath/org/omg/CORBA/CustomValue.java | 5 +- .../classpath/org/omg/CORBA/DataOutputStream.java | 28 +- .../org/omg/CORBA/DefinitionKindHelper.java | 5 +- .../org/omg/CORBA/DomainManagerOperations.java | 4 +- libjava/classpath/org/omg/CORBA/DoubleHolder.java | 6 +- .../classpath/org/omg/CORBA/DoubleSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/DoubleSeqHolder.java | 6 +- libjava/classpath/org/omg/CORBA/DynAny.java | 10 +- libjava/classpath/org/omg/CORBA/DynSequence.java | 4 +- libjava/classpath/org/omg/CORBA/DynValue.java | 4 +- .../org/omg/CORBA/DynamicImplementation.java | 4 +- .../classpath/org/omg/CORBA/FieldNameHelper.java | 8 +- libjava/classpath/org/omg/CORBA/FixedHolder.java | 7 +- libjava/classpath/org/omg/CORBA/FloatHolder.java | 6 +- .../classpath/org/omg/CORBA/FloatSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/FloatSeqHolder.java | 6 +- .../classpath/org/omg/CORBA/IdentifierHelper.java | 8 +- libjava/classpath/org/omg/CORBA/IntHolder.java | 6 +- libjava/classpath/org/omg/CORBA/LocalObject.java | 12 +- libjava/classpath/org/omg/CORBA/LongHolder.java | 6 +- .../classpath/org/omg/CORBA/LongLongSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/LongLongSeqHolder.java | 6 +- libjava/classpath/org/omg/CORBA/LongSeqHelper.java | 3 +- libjava/classpath/org/omg/CORBA/LongSeqHolder.java | 10 +- libjava/classpath/org/omg/CORBA/ORB.java | 65 +- libjava/classpath/org/omg/CORBA/ObjectHelper.java | 3 +- libjava/classpath/org/omg/CORBA/ObjectHolder.java | 9 +- .../classpath/org/omg/CORBA/OctetSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/OctetSeqHolder.java | 6 +- .../org/omg/CORBA/PolicyErrorCodeHelper.java | 10 +- .../classpath/org/omg/CORBA/PolicyErrorHelper.java | 6 +- libjava/classpath/org/omg/CORBA/PolicyHelper.java | 5 +- .../classpath/org/omg/CORBA/PolicyListHelper.java | 14 +- .../classpath/org/omg/CORBA/PolicyTypeHelper.java | 3 +- .../classpath/org/omg/CORBA/PrincipalHolder.java | 6 +- .../org/omg/CORBA/RepositoryIdHelper.java | 8 +- libjava/classpath/org/omg/CORBA/Request.java | 8 +- libjava/classpath/org/omg/CORBA/ShortHolder.java | 6 +- .../classpath/org/omg/CORBA/ShortSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/ShortSeqHolder.java | 6 +- .../classpath/org/omg/CORBA/StringSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/StringSeqHolder.java | 6 +- .../org/omg/CORBA/ULongLongSeqHelper.java | 3 +- .../org/omg/CORBA/ULongLongSeqHolder.java | 6 +- .../classpath/org/omg/CORBA/ULongSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/ULongSeqHolder.java | 6 +- .../classpath/org/omg/CORBA/UShortSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/UShortSeqHolder.java | 6 +- .../classpath/org/omg/CORBA/ValueBaseHelper.java | 6 +- .../classpath/org/omg/CORBA/ValueBaseHolder.java | 3 +- .../classpath/org/omg/CORBA/VersionSpecHelper.java | 8 +- .../classpath/org/omg/CORBA/WCharSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/WCharSeqHolder.java | 10 +- .../classpath/org/omg/CORBA/WStringSeqHelper.java | 3 +- .../classpath/org/omg/CORBA/WStringSeqHolder.java | 6 +- .../org/omg/CORBA/WrongTransactionHelper.java | 3 +- libjava/classpath/org/omg/CORBA/_IDLTypeStub.java | 2 +- libjava/classpath/org/omg/CORBA/_PolicyStub.java | 4 +- .../org/omg/CORBA/portable/BoxedValueHelper.java | 8 +- .../classpath/org/omg/CORBA/portable/Delegate.java | 6 +- .../org/omg/CORBA/portable/ObjectImpl.java | 31 +- .../org/omg/CORBA/portable/ServantObject.java | 4 +- .../org/omg/CORBA/portable/StreamableValue.java | 4 +- .../org/omg/CORBA/portable/ValueFactory.java | 2 +- libjava/classpath/org/omg/CORBA_2_3/ORB.java | 11 +- .../org/omg/CORBA_2_3/portable/InputStream.java | 8 +- .../org/omg/CORBA_2_3/portable/OutputStream.java | 12 +- .../org/omg/CosNaming/BindingIteratorHelper.java | 7 +- .../classpath/org/omg/CosNaming/BindingType.java | 8 +- .../org/omg/CosNaming/BindingTypeHelper.java | 3 +- .../classpath/org/omg/CosNaming/IstringHelper.java | 10 +- .../org/omg/CosNaming/NameComponentHelper.java | 4 +- .../classpath/org/omg/CosNaming/NameHelper.java | 3 +- .../org/omg/CosNaming/NamingContextExtHelper.java | 7 +- .../NamingContextExtPackage/AddressHelper.java | 3 +- .../InvalidAddressHelper.java | 3 +- .../InvalidAddressHolder.java | 3 +- .../NamingContextExtPackage/StringNameHelper.java | 4 +- .../NamingContextExtPackage/URLStringHelper.java | 3 +- .../org/omg/CosNaming/NamingContextHelper.java | 9 +- .../NamingContextPackage/AlreadyBoundHelper.java | 3 +- .../NamingContextPackage/InvalidName.java | 3 +- .../NamingContextPackage/InvalidNameHelper.java | 3 +- .../CosNaming/NamingContextPackage/NotEmpty.java | 2 +- .../NamingContextPackage/NotEmptyHelper.java | 3 +- .../NamingContextPackage/NotFoundReasonHelper.java | 3 +- .../NamingContextPackage/NotFoundReasonHolder.java | 6 +- .../omg/CosNaming/_NamingContextExtImplBase.java | 4 +- .../org/omg/CosNaming/_NamingContextImplBase.java | 4 +- .../classpath/org/omg/DynamicAny/AnySeqHelper.java | 3 +- .../org/omg/DynamicAny/DynAnyFactoryHelper.java | 10 +- .../omg/DynamicAny/DynAnyFactoryOperations.java | 5 +- .../InconsistentTypeCodeHelper.java | 3 +- .../classpath/org/omg/DynamicAny/DynAnyHelper.java | 10 +- .../org/omg/DynamicAny/DynAnyOperations.java | 12 +- .../DynAnyPackage/InvalidValueHelper.java | 3 +- .../DynAnyPackage/TypeMismatchHelper.java | 3 +- .../org/omg/DynamicAny/DynAnySeqHelper.java | 6 +- .../org/omg/DynamicAny/DynArrayHelper.java | 12 +- .../org/omg/DynamicAny/DynEnumHelper.java | 10 +- .../org/omg/DynamicAny/DynFixedHelper.java | 10 +- .../org/omg/DynamicAny/DynSequenceHelper.java | 10 +- .../org/omg/DynamicAny/DynStructHelper.java | 10 +- .../org/omg/DynamicAny/DynStructOperations.java | 6 +- .../org/omg/DynamicAny/DynUnionHelper.java | 10 +- .../org/omg/DynamicAny/DynUnionOperations.java | 2 +- .../org/omg/DynamicAny/DynValueHelper.java | 10 +- .../org/omg/DynamicAny/FieldNameHelper.java | 8 +- .../org/omg/DynamicAny/NameDynAnyPairHelper.java | 4 +- .../omg/DynamicAny/NameDynAnyPairSeqHelper.java | 6 +- .../classpath/org/omg/IOP/CodecFactoryHelper.java | 12 +- .../CodecFactoryPackage/UnknownEncodingHelper.java | 3 +- libjava/classpath/org/omg/IOP/CodecOperations.java | 10 +- .../omg/IOP/CodecPackage/FormatMismatchHelper.java | 3 +- .../CodecPackage/InvalidTypeForEncodingHelper.java | 3 +- .../omg/IOP/CodecPackage/TypeMismatchHelper.java | 3 +- .../classpath/org/omg/IOP/ComponentIdHelper.java | 3 +- .../org/omg/IOP/ExceptionDetailMessage.java | 4 +- .../omg/IOP/MultipleComponentProfileHelper.java | 5 +- libjava/classpath/org/omg/IOP/ProfileIdHelper.java | 3 +- .../org/omg/IOP/ServiceContextListHelper.java | 7 +- libjava/classpath/org/omg/IOP/ServiceIdHelper.java | 3 +- libjava/classpath/org/omg/IOP/TAG_CODE_SETS.java | 4 +- .../ClientRequestInfoOperations.java | 5 +- .../ClientRequestInterceptorOperations.java | 4 +- .../org/omg/PortableInterceptor/CurrentHelper.java | 9 +- .../org/omg/PortableInterceptor/IORInfo.java | 4 +- .../IORInterceptor_3_0Helper.java | 3 +- .../org/omg/PortableInterceptor/ORBIdHelper.java | 8 +- .../PortableInterceptor/ORBInitInfoOperations.java | 12 +- .../ORBInitInfoPackage/InvalidNameHelper.java | 3 +- .../ORBInitializerOperations.java | 4 +- .../ObjectReferenceFactoryHelper.java | 3 +- .../ObjectReferenceTemplateHelper.java | 3 +- .../PortableInterceptor/RequestInfoOperations.java | 5 +- .../omg/PortableInterceptor/ServerIdHelper.java | 8 +- .../ServerRequestInfoOperations.java | 5 +- .../ServerRequestInterceptorOperations.java | 18 +- .../PortableServer/AdapterActivatorOperations.java | 4 +- .../org/omg/PortableServer/CurrentHelper.java | 4 +- .../CurrentPackage/NoContextHelper.java | 3 +- .../omg/PortableServer/ForwardRequestHelper.java | 3 +- .../PortableServer/IdAssignmentPolicyValue.java | 3 +- .../PortableServer/IdUniquenessPolicyValue.java | 3 +- .../ImplicitActivationPolicyValue.java | 3 +- .../omg/PortableServer/LifespanPolicyValue.java | 3 +- libjava/classpath/org/omg/PortableServer/POA.java | 6 +- .../org/omg/PortableServer/POAHelper.java | 6 +- .../POAManagerPackage/AdapterInactiveHelper.java | 1 - .../PortableServer/POAManagerPackage/State.java | 6 +- .../org/omg/PortableServer/POAOperations.java | 32 +- .../POAPackage/AdapterAlreadyExistsHelper.java | 3 +- .../POAPackage/AdapterNonExistentHelper.java | 3 +- .../PortableServer/POAPackage/InvalidPolicy.java | 6 +- .../PortableServer/POAPackage/NoServantHelper.java | 3 +- .../POAPackage/ObjectAlreadyActiveHelper.java | 3 +- .../POAPackage/ObjectNotActiveHelper.java | 3 +- .../POAPackage/ServantAlreadyActiveHelper.java | 3 +- .../POAPackage/ServantNotActiveHelper.java | 3 +- .../POAPackage/WrongAdapterHelper.java | 3 +- .../POAPackage/WrongPolicyHelper.java | 3 +- .../RequestProcessingPolicyValue.java | 3 +- .../classpath/org/omg/PortableServer/Servant.java | 9 +- .../omg/PortableServer/ServantActivatorHelper.java | 7 +- .../omg/PortableServer/ServantLocatorHelper.java | 8 +- .../PortableServer/ServantLocatorOperations.java | 4 +- .../ServantRetentionPolicyValue.java | 3 +- .../org/omg/PortableServer/ThreadPolicyValue.java | 3 +- .../omg/PortableServer/_ServantActivatorStub.java | 14 +- .../omg/PortableServer/_ServantLocatorStub.java | 2 +- .../org/omg/PortableServer/portable/Delegate.java | 6 +- .../org/omg/stub/java/rmi/_Remote_Stub.java | 2 +- libjava/classpath/resource/.cvsignore | 2 + .../resource/META-INF/services/.cvsignore | 1 + .../services/java.util.prefs.PreferencesFactory | 1 - libjava/classpath/resource/Makefile.am | 4 +- libjava/classpath/resource/Makefile.in | 15 +- .../tools/appletviewer/MessagesBundle.properties | 70 - .../appletviewer/MessagesBundle_de.properties | 75 - .../tools/appletviewer/messages.properties | 102 + .../gnu/classpath/tools/common/Messages.properties | 40 + .../gnu/classpath/tools/getopt/Messages.properties | 3 - .../tools/jarsigner/MessageBundle.properties | 33 + .../tools/keytool/MessageBundle.properties | 95 + .../gnu/classpath/tools/orbd/messages.properties | 46 + .../gnu/classpath/tools/rmic/messages.properties | 61 + .../gnu/classpath/tools/rmid/messages.properties | 50 + .../tools/rmiregistry/messages.properties | 48 + .../classpath/tools/tnameserv/messages.properties | 43 + .../java/util/regex/MessagesBundle_it.properties | 2 +- libjava/classpath/scripts/.cvsignore | 3 + libjava/classpath/scripts/Makefile.in | 11 +- libjava/classpath/scripts/build_mathnamespace | 6 + libjava/classpath/scripts/check_jni_methods.sh | 3 - libjava/classpath/scripts/checkstyle-config.xml | 132 + libjava/classpath/scripts/checkstyle-header.regex | 38 + .../classpath/scripts/checkstyle-suppressions.xml | 34 + libjava/classpath/scripts/checkstyle.css | 42 + libjava/classpath/scripts/checkstyle2html.xsl | 102 + libjava/classpath/scripts/classpath-build | 68 + libjava/classpath/scripts/classpath-daily | 17 + libjava/classpath/scripts/classpath.spec.in | 2 +- libjava/classpath/scripts/eclipse-gnu.xml | 246 + libjava/classpath/scripts/jalopy-gnu.xml | 378 + libjava/classpath/scripts/japi | 135 + libjava/classpath/scripts/kissme-mauve | 346 + libjava/classpath/scripts/loc | 44 + libjava/classpath/scripts/math_symbols | 69 + libjava/classpath/scripts/patches.pl | 164 + libjava/classpath/scripts/sanitize-jsr166 | 6 + libjava/classpath/scripts/timezones.pl | 366 + libjava/classpath/scripts/tzabbrevs | 40 + libjava/classpath/scripts/unicode-blocks.pl | 364 + libjava/classpath/scripts/unicode-muncher.pl | 868 ++ libjava/classpath/sun/misc/Service.java | 66 + .../sun/misc/ServiceConfigurationError.java | 64 + .../annotation/AnnotationInvocationHandler.java | 56 + .../sun/reflect/annotation/AnnotationParser.java | 57 + .../sun/reflect/annotation/AnnotationType.java | 52 + .../EnumConstantNotPresentExceptionProxy.java | 52 + .../sun/reflect/annotation/ExceptionProxy.java | 46 + libjava/classpath/tools/.cvsignore | 13 + libjava/classpath/tools/Makefile.am | 254 +- libjava/classpath/tools/Makefile.in | 782 +- .../asm/org/objectweb/asm/AnnotationVisitor.class | Bin 0 -> 481 bytes .../asm/org/objectweb/asm/AnnotationWriter.class | Bin 0 -> 5344 bytes .../tools/asm/org/objectweb/asm/Attribute.class | Bin 0 -> 2624 bytes .../tools/asm/org/objectweb/asm/ByteVector.class | Bin 0 -> 3259 bytes .../tools/asm/org/objectweb/asm/ClassAdapter.class | Bin 0 -> 2432 bytes .../tools/asm/org/objectweb/asm/ClassReader.class | Bin 0 -> 22135 bytes .../tools/asm/org/objectweb/asm/ClassVisitor.class | Bin 0 -> 894 bytes .../tools/asm/org/objectweb/asm/ClassWriter.class | Bin 0 -> 14071 bytes .../tools/asm/org/objectweb/asm/Edge.class | Bin 0 -> 360 bytes .../tools/asm/org/objectweb/asm/FieldVisitor.class | Bin 0 -> 295 bytes .../tools/asm/org/objectweb/asm/FieldWriter.class | Bin 0 -> 3658 bytes .../tools/asm/org/objectweb/asm/Handler.class | Bin 0 -> 428 bytes .../tools/asm/org/objectweb/asm/Item.class | Bin 0 -> 2190 bytes .../tools/asm/org/objectweb/asm/Label.class | Bin 0 -> 2561 bytes .../asm/org/objectweb/asm/MethodAdapter.class | Bin 0 -> 4363 bytes .../asm/org/objectweb/asm/MethodVisitor.class | Bin 0 -> 1464 bytes .../tools/asm/org/objectweb/asm/MethodWriter.class | Bin 0 -> 20587 bytes .../tools/asm/org/objectweb/asm/Opcodes.class | Bin 0 -> 5782 bytes .../tools/asm/org/objectweb/asm/Type.class | Bin 0 -> 7900 bytes .../objectweb/asm/attrs/StackMapAttribute.class | Bin 0 -> 6499 bytes .../org/objectweb/asm/attrs/StackMapFrame.class | Bin 0 -> 1113 bytes .../asm/attrs/StackMapTableAttribute.class | Bin 0 -> 10012 bytes .../asm/org/objectweb/asm/attrs/StackMapType.class | Bin 0 -> 2422 bytes .../org/objectweb/asm/commons/AdviceAdapter.class | Bin 0 -> 7757 bytes .../org/objectweb/asm/commons/EmptyVisitor.class | Bin 0 -> 5591 bytes .../objectweb/asm/commons/GeneratorAdapter.class | Bin 0 -> 18390 bytes .../asm/commons/LocalVariablesSorter.class | Bin 0 -> 2561 bytes .../asm/org/objectweb/asm/commons/Method.class | Bin 0 -> 3964 bytes .../asm/commons/SerialVersionUIDAdder$Item.class | Bin 0 -> 946 bytes .../asm/commons/SerialVersionUIDAdder.class | Bin 0 -> 5030 bytes .../objectweb/asm/commons/StaticInitMerger.class | Bin 0 -> 2143 bytes .../asm/commons/TableSwitchGenerator.class | Bin 0 -> 234 bytes .../optimizer/AnnotationConstantsCollector.class | Bin 0 -> 3362 bytes .../asm/optimizer/ClassConstantsCollector.class | Bin 0 -> 4468 bytes .../objectweb/asm/optimizer/ClassOptimizer.class | Bin 0 -> 4248 bytes .../asm/org/objectweb/asm/optimizer/Constant.class | Bin 0 -> 3227 bytes .../org/objectweb/asm/optimizer/ConstantPool.class | Bin 0 -> 4508 bytes .../asm/optimizer/FieldConstantsCollector.class | Bin 0 -> 1547 bytes .../org/objectweb/asm/optimizer/JarOptimizer.class | Bin 0 -> 2470 bytes .../asm/optimizer/MethodConstantsCollector.class | Bin 0 -> 4239 bytes .../objectweb/asm/optimizer/MethodOptimizer.class | Bin 0 -> 2621 bytes .../org/objectweb/asm/optimizer/NameMapping.class | Bin 0 -> 2533 bytes .../optimizer/Shrinker$ConstantComparator.class | Bin 0 -> 2004 bytes .../asm/org/objectweb/asm/optimizer/Shrinker.class | Bin 0 -> 4058 bytes .../objectweb/asm/signature/SignatureReader.class | Bin 0 -> 2803 bytes .../objectweb/asm/signature/SignatureVisitor.class | Bin 0 -> 808 bytes .../objectweb/asm/signature/SignatureWriter.class | Bin 0 -> 2981 bytes .../org/objectweb/asm/tree/AbstractInsnNode.class | Bin 0 -> 994 bytes .../org/objectweb/asm/tree/AnnotationNode.class | Bin 0 -> 2730 bytes .../asm/org/objectweb/asm/tree/ClassNode.class | Bin 0 -> 4574 bytes .../asm/org/objectweb/asm/tree/FieldInsnNode.class | Bin 0 -> 996 bytes .../asm/org/objectweb/asm/tree/FieldNode.class | Bin 0 -> 1958 bytes .../asm/org/objectweb/asm/tree/IincInsnNode.class | Bin 0 -> 749 bytes .../org/objectweb/asm/tree/InnerClassNode.class | Bin 0 -> 836 bytes .../asm/org/objectweb/asm/tree/InsnNode.class | Bin 0 -> 994 bytes .../asm/org/objectweb/asm/tree/IntInsnNode.class | Bin 0 -> 819 bytes .../asm/org/objectweb/asm/tree/JumpInsnNode.class | Bin 0 -> 874 bytes .../asm/org/objectweb/asm/tree/LabelNode.class | Bin 0 -> 736 bytes .../asm/org/objectweb/asm/tree/LdcInsnNode.class | Bin 0 -> 729 bytes .../org/objectweb/asm/tree/LineNumberNode.class | Bin 0 -> 709 bytes .../org/objectweb/asm/tree/LocalVariableNode.class | Bin 0 -> 1021 bytes .../objectweb/asm/tree/LookupSwitchInsnNode.class | Bin 0 -> 1655 bytes .../asm/org/objectweb/asm/tree/MemberNode.class | Bin 0 -> 1241 bytes .../org/objectweb/asm/tree/MethodInsnNode.class | Bin 0 -> 1000 bytes .../asm/org/objectweb/asm/tree/MethodNode$1.class | Bin 0 -> 803 bytes .../asm/org/objectweb/asm/tree/MethodNode.class | Bin 0 -> 8683 bytes .../asm/tree/MultiANewArrayInsnNode.class | Bin 0 -> 828 bytes .../objectweb/asm/tree/TableSwitchInsnNode.class | Bin 0 -> 1401 bytes .../org/objectweb/asm/tree/TryCatchBlockNode.class | Bin 0 -> 904 bytes .../asm/org/objectweb/asm/tree/TypeInsnNode.class | Bin 0 -> 858 bytes .../asm/org/objectweb/asm/tree/VarInsnNode.class | Bin 0 -> 815 bytes .../org/objectweb/asm/tree/analysis/Analyzer.class | Bin 0 -> 8867 bytes .../asm/tree/analysis/AnalyzerException.class | Bin 0 -> 1243 bytes .../asm/tree/analysis/BasicInterpreter.class | Bin 0 -> 5974 bytes .../objectweb/asm/tree/analysis/BasicValue.class | Bin 0 -> 1962 bytes .../asm/tree/analysis/BasicVerifier.class | Bin 0 -> 7836 bytes .../asm/tree/analysis/DataflowInterpreter.class | Bin 0 -> 4302 bytes .../asm/tree/analysis/DataflowValue.class | Bin 0 -> 1356 bytes .../org/objectweb/asm/tree/analysis/Frame.class | Bin 0 -> 10023 bytes .../org/objectweb/asm/tree/analysis/IntMap.class | Bin 0 -> 1230 bytes .../objectweb/asm/tree/analysis/Interpreter.class | Bin 0 -> 1312 bytes .../asm/tree/analysis/SimpleVerifier.class | Bin 0 -> 4833 bytes .../org/objectweb/asm/tree/analysis/SmallSet.class | Bin 0 -> 1641 bytes .../objectweb/asm/tree/analysis/Subroutine.class | Bin 0 -> 1836 bytes .../org/objectweb/asm/tree/analysis/Value.class | Bin 0 -> 147 bytes .../asm/util/ASMifierAbstractVisitor.class | Bin 0 -> 4875 bytes .../asm/util/ASMifierAnnotationVisitor.class | Bin 0 -> 2587 bytes .../objectweb/asm/util/ASMifierClassVisitor.class | Bin 0 -> 9817 bytes .../objectweb/asm/util/ASMifierFieldVisitor.class | Bin 0 -> 437 bytes .../objectweb/asm/util/ASMifierMethodVisitor.class | Bin 0 -> 7739 bytes .../org/objectweb/asm/util/AbstractVisitor.class | Bin 0 -> 3823 bytes .../asm/util/CheckAnnotationAdapter.class | Bin 0 -> 2766 bytes .../org/objectweb/asm/util/CheckClassAdapter.class | Bin 0 -> 9728 bytes .../org/objectweb/asm/util/CheckFieldAdapter.class | Bin 0 -> 1588 bytes .../objectweb/asm/util/CheckMethodAdapter.class | Bin 0 -> 13225 bytes .../objectweb/asm/util/TraceAbstractVisitor.class | Bin 0 -> 2593 bytes .../asm/util/TraceAnnotationVisitor.class | Bin 0 -> 5991 bytes .../org/objectweb/asm/util/TraceClassVisitor.class | Bin 0 -> 9174 bytes .../org/objectweb/asm/util/TraceFieldVisitor.class | Bin 0 -> 1141 bytes .../objectweb/asm/util/TraceMethodVisitor.class | Bin 0 -> 10058 bytes .../objectweb/asm/util/TraceSignatureVisitor.class | Bin 0 -> 4781 bytes .../asm/util/attrs/ASMStackMapAttribute.class | Bin 0 -> 5535 bytes .../asm/util/attrs/ASMStackMapTableAttribute.class | Bin 0 -> 5483 bytes .../org/objectweb/asm/util/attrs/ASMifiable.class | Bin 0 -> 210 bytes .../org/objectweb/asm/util/attrs/Traceable.class | Bin 0 -> 189 bytes .../ASMContentHandler$AnnotationDefaultRule.class | Bin 0 -> 1399 bytes ...ASMContentHandler$AnnotationParameterRule.class | Bin 0 -> 1849 bytes .../asm/xml/ASMContentHandler$AnnotationRule.class | Bin 0 -> 1890 bytes ...tentHandler$AnnotationValueAnnotationRule.class | Bin 0 -> 1576 bytes ...SMContentHandler$AnnotationValueArrayRule.class | Bin 0 -> 1497 bytes ...ASMContentHandler$AnnotationValueEnumRule.class | Bin 0 -> 1358 bytes .../ASMContentHandler$AnnotationValueRule.class | Bin 0 -> 1393 bytes .../asm/xml/ASMContentHandler$ClassRule.class | Bin 0 -> 1839 bytes .../asm/xml/ASMContentHandler$ExceptionRule.class | Bin 0 -> 1267 bytes .../asm/xml/ASMContentHandler$ExceptionsRule.class | Bin 0 -> 1802 bytes .../asm/xml/ASMContentHandler$FieldRule.class | Bin 0 -> 1851 bytes .../asm/xml/ASMContentHandler$InnerClassRule.class | Bin 0 -> 1433 bytes .../asm/xml/ASMContentHandler$InterfaceRule.class | Bin 0 -> 1267 bytes .../asm/xml/ASMContentHandler$InterfacesRule.class | Bin 0 -> 1867 bytes .../asm/xml/ASMContentHandler$LabelRule.class | Bin 0 -> 1268 bytes .../asm/xml/ASMContentHandler$LineNumberRule.class | Bin 0 -> 1457 bytes .../asm/xml/ASMContentHandler$LocalVarRule.class | Bin 0 -> 1709 bytes .../ASMContentHandler$LookupSwitchLabelRule.class | Bin 0 -> 1460 bytes .../xml/ASMContentHandler$LookupSwitchRule.class | Bin 0 -> 2474 bytes .../asm/xml/ASMContentHandler$MaxRule.class | Bin 0 -> 1312 bytes .../asm/xml/ASMContentHandler$MethodRule.class | Bin 0 -> 1704 bytes .../asm/xml/ASMContentHandler$Opcode.class | Bin 0 -> 525 bytes .../asm/xml/ASMContentHandler$OpcodeGroup.class | Bin 0 -> 594 bytes .../asm/xml/ASMContentHandler$OpcodesRule.class | Bin 0 -> 3082 bytes .../asm/xml/ASMContentHandler$OuterClassRule.class | Bin 0 -> 1331 bytes .../objectweb/asm/xml/ASMContentHandler$Rule.class | Bin 0 -> 4962 bytes .../asm/xml/ASMContentHandler$RuleSet.class | Bin 0 -> 2077 bytes .../asm/xml/ASMContentHandler$SourceRule.class | Bin 0 -> 1254 bytes .../ASMContentHandler$TableSwitchLabelRule.class | Bin 0 -> 1364 bytes .../xml/ASMContentHandler$TableSwitchRule.class | Bin 0 -> 2394 bytes .../asm/xml/ASMContentHandler$TryCatchRule.class | Bin 0 -> 1526 bytes .../org/objectweb/asm/xml/ASMContentHandler.class | Bin 0 -> 16825 bytes .../xml/Processor$ASMContentHandlerFactory.class | Bin 0 -> 839 bytes .../asm/xml/Processor$ContentHandlerFactory.class | Bin 0 -> 299 bytes .../objectweb/asm/xml/Processor$EntryElement.class | Bin 0 -> 367 bytes .../asm/xml/Processor$InputSlicingHandler.class | Bin 0 -> 2363 bytes .../asm/xml/Processor$OutputSlicingHandler.class | Bin 0 -> 3077 bytes .../asm/xml/Processor$ProtectedInputStream.class | Bin 0 -> 1130 bytes .../objectweb/asm/xml/Processor$SAXWriter.class | Bin 0 -> 4521 bytes .../asm/xml/Processor$SAXWriterFactory.class | Bin 0 -> 815 bytes .../asm/xml/Processor$SingleDocElement.class | Bin 0 -> 907 bytes .../xml/Processor$SubdocumentHandlerFactory.class | Bin 0 -> 749 bytes .../xml/Processor$TransformerHandlerFactory.class | Bin 0 -> 1724 bytes .../asm/xml/Processor$ZipEntryElement.class | Bin 0 -> 1140 bytes .../asm/org/objectweb/asm/xml/Processor.class | Bin 0 -> 11122 bytes .../asm/org/objectweb/asm/xml/SAXAdapter.class | Bin 0 -> 1848 bytes .../objectweb/asm/xml/SAXAnnotationAdapter.class | Bin 0 -> 4628 bytes .../org/objectweb/asm/xml/SAXClassAdapter.class | Bin 0 -> 6837 bytes .../asm/org/objectweb/asm/xml/SAXCodeAdapter.class | Bin 0 -> 7552 bytes .../org/objectweb/asm/xml/SAXFieldAdapter.class | Bin 0 -> 1719 bytes .../tools/appletviewer/AppletClassLoader.class | Bin 0 -> 935 bytes .../tools/appletviewer/AppletSecurityManager.class | Bin 0 -> 1193 bytes .../classpath/tools/appletviewer/AppletTag.class | Bin 0 -> 8668 bytes .../tools/appletviewer/CommonAppletContext.class | Bin 0 -> 2750 bytes .../tools/appletviewer/CommonAppletStub.class | Bin 0 -> 1891 bytes .../classpath/tools/appletviewer/ErrorApplet.class | Bin 0 -> 648 bytes .../gnu/classpath/tools/appletviewer/Main$1.class | Bin 0 -> 828 bytes .../gnu/classpath/tools/appletviewer/Main$10.class | Bin 0 -> 801 bytes .../gnu/classpath/tools/appletviewer/Main$2.class | Bin 0 -> 828 bytes .../gnu/classpath/tools/appletviewer/Main$3.class | Bin 0 -> 828 bytes .../gnu/classpath/tools/appletviewer/Main$4.class | Bin 0 -> 973 bytes .../gnu/classpath/tools/appletviewer/Main$5.class | Bin 0 -> 974 bytes .../gnu/classpath/tools/appletviewer/Main$6.class | Bin 0 -> 915 bytes .../gnu/classpath/tools/appletviewer/Main$7.class | Bin 0 -> 1067 bytes .../gnu/classpath/tools/appletviewer/Main$8.class | Bin 0 -> 831 bytes .../gnu/classpath/tools/appletviewer/Main$9.class | Bin 0 -> 799 bytes .../gnu/classpath/tools/appletviewer/Main.class | Bin 0 -> 8053 bytes .../classpath/tools/appletviewer/Messages.class | Bin 0 -> 1169 bytes .../tools/appletviewer/PluginAppletContext.class | Bin 0 -> 1320 bytes .../tools/appletviewer/PluginAppletViewer.class | Bin 0 -> 3918 bytes .../tools/appletviewer/PluginAppletWindow.class | Bin 0 -> 8194 bytes .../appletviewer/StandaloneAppletContext.class | Bin 0 -> 1397 bytes .../appletviewer/StandaloneAppletViewer.class | Bin 0 -> 4309 bytes .../appletviewer/StandaloneAppletWindow$1.class | Bin 0 -> 1119 bytes .../appletviewer/StandaloneAppletWindow.class | Bin 0 -> 11928 bytes .../classpath/tools/appletviewer/TagParser.class | Bin 0 -> 6630 bytes .../gnu/classpath/tools/common/CallbackUtil.class | Bin 0 -> 2816 bytes .../tools/common/ClasspathToolParser$1.class | Bin 0 -> 1028 bytes .../tools/common/ClasspathToolParser.class | Bin 0 -> 1394 bytes .../gnu/classpath/tools/common/Messages.class | Bin 0 -> 1151 bytes .../tools/common/Persistent$ExitTask.class | Bin 0 -> 532 bytes .../gnu/classpath/tools/common/Persistent.class | Bin 0 -> 570 bytes .../classpath/tools/common/ProviderUtil$1.class | Bin 0 -> 891 bytes .../classpath/tools/common/ProviderUtil$2.class | Bin 0 -> 705 bytes .../gnu/classpath/tools/common/ProviderUtil.class | Bin 0 -> 2879 bytes .../tools/common/SecurityProviderInfo.class | Bin 0 -> 1215 bytes .../tools/getopt/FileArgumentCallback.class | Bin 0 -> 459 bytes .../gnu/classpath/tools/getopt/Messages.class | Bin 0 -> 1151 bytes .../gnu/classpath/tools/getopt/Option.class | Bin 0 -> 2640 bytes .../classpath/tools/getopt/OptionException.class | Bin 0 -> 391 bytes .../gnu/classpath/tools/getopt/OptionGroup.class | Bin 0 -> 3894 bytes .../gnu/classpath/tools/getopt/Parser$1.class | Bin 0 -> 1061 bytes .../gnu/classpath/tools/getopt/Parser$2.class | Bin 0 -> 1119 bytes .../gnu/classpath/tools/getopt/Parser$3.class | Bin 0 -> 904 bytes .../gnu/classpath/tools/getopt/Parser.class | Bin 0 -> 8099 bytes .../classes/gnu/classpath/tools/jar/Action.class | Bin 0 -> 393 bytes .../classes/gnu/classpath/tools/jar/Creator.class | Bin 0 -> 6303 bytes .../classes/gnu/classpath/tools/jar/Entry.class | Bin 0 -> 634 bytes .../gnu/classpath/tools/jar/Extractor.class | Bin 0 -> 2938 bytes .../classes/gnu/classpath/tools/jar/Indexer.class | Bin 0 -> 4105 bytes .../classes/gnu/classpath/tools/jar/Lister.class | Bin 0 -> 2941 bytes .../classes/gnu/classpath/tools/jar/Main$1.class | Bin 0 -> 964 bytes .../classes/gnu/classpath/tools/jar/Main$2.class | Bin 0 -> 903 bytes .../classes/gnu/classpath/tools/jar/Main$3.class | Bin 0 -> 899 bytes .../classes/gnu/classpath/tools/jar/Main$4.class | Bin 0 -> 904 bytes .../classes/gnu/classpath/tools/jar/Main$5.class | Bin 0 -> 1014 bytes .../classes/gnu/classpath/tools/jar/Main$6.class | Bin 0 -> 966 bytes .../gnu/classpath/tools/jar/Main$HandleFile.class | Bin 0 -> 1151 bytes .../gnu/classpath/tools/jar/Main$JarParser.class | Bin 0 -> 1469 bytes .../gnu/classpath/tools/jar/Main$ModeOption.class | Bin 0 -> 1413 bytes .../classes/gnu/classpath/tools/jar/Main.class | Bin 0 -> 4933 bytes .../classes/gnu/classpath/tools/jar/Messages.class | Bin 0 -> 1142 bytes .../classes/gnu/classpath/tools/jar/Updater.class | Bin 0 -> 2403 bytes .../classes/gnu/classpath/tools/jar/WorkSet.class | Bin 0 -> 1498 bytes .../gnu/classpath/tools/jarsigner/HashUtils.class | Bin 0 -> 2539 bytes .../gnu/classpath/tools/jarsigner/JarSigner.class | Bin 0 -> 5541 bytes .../classpath/tools/jarsigner/JarVerifier.class | Bin 0 -> 9109 bytes .../gnu/classpath/tools/jarsigner/Main$1.class | Bin 0 -> 1187 bytes .../gnu/classpath/tools/jarsigner/Main$10.class | Bin 0 -> 1136 bytes .../gnu/classpath/tools/jarsigner/Main$11.class | Bin 0 -> 1138 bytes .../gnu/classpath/tools/jarsigner/Main$12.class | Bin 0 -> 1201 bytes .../gnu/classpath/tools/jarsigner/Main$2.class | Bin 0 -> 1188 bytes .../gnu/classpath/tools/jarsigner/Main$3.class | Bin 0 -> 1192 bytes .../gnu/classpath/tools/jarsigner/Main$4.class | Bin 0 -> 1190 bytes .../gnu/classpath/tools/jarsigner/Main$5.class | Bin 0 -> 1193 bytes .../gnu/classpath/tools/jarsigner/Main$6.class | Bin 0 -> 1199 bytes .../gnu/classpath/tools/jarsigner/Main$7.class | Bin 0 -> 1130 bytes .../gnu/classpath/tools/jarsigner/Main$8.class | Bin 0 -> 1129 bytes .../gnu/classpath/tools/jarsigner/Main$9.class | Bin 0 -> 1131 bytes .../tools/jarsigner/Main$ToolParser.class | Bin 0 -> 3938 bytes .../tools/jarsigner/Main$ToolParserCallback.class | Bin 0 -> 1000 bytes .../gnu/classpath/tools/jarsigner/Main.class | Bin 0 -> 11988 bytes .../gnu/classpath/tools/jarsigner/Messages.class | Bin 0 -> 2620 bytes .../gnu/classpath/tools/jarsigner/SFHelper.class | Bin 0 -> 11138 bytes .../gnu/classpath/tools/javah/ClassWrapper.class | Bin 0 -> 7779 bytes .../classpath/tools/javah/CniIncludePrinter.class | Bin 0 -> 1928 bytes .../gnu/classpath/tools/javah/CniPrintStream.class | Bin 0 -> 5058 bytes .../gnu/classpath/tools/javah/CniStubPrinter.class | Bin 0 -> 3940 bytes .../gnu/classpath/tools/javah/FieldHelper.class | Bin 0 -> 2203 bytes .../gnu/classpath/tools/javah/JniHelper.class | Bin 0 -> 2997 bytes .../classpath/tools/javah/JniIncludePrinter.class | Bin 0 -> 4343 bytes .../gnu/classpath/tools/javah/JniPrintStream.class | Bin 0 -> 3119 bytes .../gnu/classpath/tools/javah/JniStubPrinter.class | Bin 0 -> 3407 bytes .../gnu/classpath/tools/javah/Keywords.class | Bin 0 -> 2625 bytes .../classes/gnu/classpath/tools/javah/Main$1.class | Bin 0 -> 1002 bytes .../gnu/classpath/tools/javah/Main$10.class | Bin 0 -> 928 bytes .../classes/gnu/classpath/tools/javah/Main$2.class | Bin 0 -> 1106 bytes .../classes/gnu/classpath/tools/javah/Main$3.class | Bin 0 -> 1111 bytes .../classes/gnu/classpath/tools/javah/Main$4.class | Bin 0 -> 994 bytes .../classes/gnu/classpath/tools/javah/Main$5.class | Bin 0 -> 1056 bytes .../classes/gnu/classpath/tools/javah/Main$6.class | Bin 0 -> 926 bytes .../classes/gnu/classpath/tools/javah/Main$7.class | Bin 0 -> 1004 bytes .../classes/gnu/classpath/tools/javah/Main$8.class | Bin 0 -> 924 bytes .../classes/gnu/classpath/tools/javah/Main$9.class | Bin 0 -> 928 bytes .../classes/gnu/classpath/tools/javah/Main.class | Bin 0 -> 10324 bytes .../gnu/classpath/tools/javah/MethodHelper.class | Bin 0 -> 3041 bytes .../gnu/classpath/tools/javah/PackageWrapper.class | Bin 0 -> 500 bytes .../classpath/tools/javah/PathOptionGroup$1.class | Bin 0 -> 939 bytes .../classpath/tools/javah/PathOptionGroup$2.class | Bin 0 -> 1104 bytes .../classpath/tools/javah/PathOptionGroup$3.class | Bin 0 -> 1103 bytes .../classpath/tools/javah/PathOptionGroup$4.class | Bin 0 -> 1108 bytes .../classpath/tools/javah/PathOptionGroup$5.class | Bin 0 -> 1107 bytes .../classpath/tools/javah/PathOptionGroup.class | Bin 0 -> 3120 bytes .../gnu/classpath/tools/javah/Printer.class | Bin 0 -> 2145 bytes .../classes/gnu/classpath/tools/javah/Text.class | Bin 0 -> 565 bytes .../gnu/classpath/tools/keytool/CACertCmd$1.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/CACertCmd$2.class | Bin 0 -> 1030 bytes .../gnu/classpath/tools/keytool/CACertCmd$3.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/CACertCmd$4.class | Bin 0 -> 1034 bytes .../gnu/classpath/tools/keytool/CACertCmd$5.class | Bin 0 -> 1041 bytes .../gnu/classpath/tools/keytool/CACertCmd$6.class | Bin 0 -> 972 bytes .../gnu/classpath/tools/keytool/CACertCmd.class | Bin 0 -> 6606 bytes .../gnu/classpath/tools/keytool/CertReqCmd$1.class | Bin 0 -> 1035 bytes .../classpath/tools/keytool/CertReqCmd$10.class | Bin 0 -> 987 bytes .../gnu/classpath/tools/keytool/CertReqCmd$2.class | Bin 0 -> 1042 bytes .../gnu/classpath/tools/keytool/CertReqCmd$3.class | Bin 0 -> 1045 bytes .../gnu/classpath/tools/keytool/CertReqCmd$4.class | Bin 0 -> 1038 bytes .../gnu/classpath/tools/keytool/CertReqCmd$5.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/CertReqCmd$6.class | Bin 0 -> 1035 bytes .../gnu/classpath/tools/keytool/CertReqCmd$7.class | Bin 0 -> 1040 bytes .../gnu/classpath/tools/keytool/CertReqCmd$8.class | Bin 0 -> 1047 bytes .../gnu/classpath/tools/keytool/CertReqCmd$9.class | Bin 0 -> 978 bytes .../gnu/classpath/tools/keytool/CertReqCmd.class | Bin 0 -> 10386 bytes .../tools/keytool/Command$ShutdownHook.class | Bin 0 -> 780 bytes .../gnu/classpath/tools/keytool/Command.class | Bin 0 -> 19742 bytes .../gnu/classpath/tools/keytool/DeleteCmd$1.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/DeleteCmd$2.class | Bin 0 -> 1030 bytes .../gnu/classpath/tools/keytool/DeleteCmd$3.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/DeleteCmd$4.class | Bin 0 -> 1034 bytes .../gnu/classpath/tools/keytool/DeleteCmd$5.class | Bin 0 -> 1041 bytes .../gnu/classpath/tools/keytool/DeleteCmd$6.class | Bin 0 -> 972 bytes .../gnu/classpath/tools/keytool/DeleteCmd.class | Bin 0 -> 5720 bytes .../gnu/classpath/tools/keytool/ExportCmd$1.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/ExportCmd$2.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/ExportCmd$3.class | Bin 0 -> 1030 bytes .../gnu/classpath/tools/keytool/ExportCmd$4.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/ExportCmd$5.class | Bin 0 -> 1034 bytes .../gnu/classpath/tools/keytool/ExportCmd$6.class | Bin 0 -> 1041 bytes .../gnu/classpath/tools/keytool/ExportCmd$7.class | Bin 0 -> 968 bytes .../gnu/classpath/tools/keytool/ExportCmd$8.class | Bin 0 -> 972 bytes .../gnu/classpath/tools/keytool/ExportCmd.class | Bin 0 -> 6748 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$1.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$10.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$11.class | Bin 0 -> 1043 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$12.class | Bin 0 -> 974 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$2.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$3.class | Bin 0 -> 1034 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$4.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$5.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$6.class | Bin 0 -> 1032 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$7.class | Bin 0 -> 1035 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$8.class | Bin 0 -> 1030 bytes .../gnu/classpath/tools/keytool/GenKeyCmd$9.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/GenKeyCmd.class | Bin 0 -> 12086 bytes .../classpath/tools/keytool/IdentityDBCmd$1.class | Bin 0 -> 1059 bytes .../classpath/tools/keytool/IdentityDBCmd$2.class | Bin 0 -> 1054 bytes .../classpath/tools/keytool/IdentityDBCmd$3.class | Bin 0 -> 1053 bytes .../classpath/tools/keytool/IdentityDBCmd$4.class | Bin 0 -> 1058 bytes .../classpath/tools/keytool/IdentityDBCmd$5.class | Bin 0 -> 1065 bytes .../classpath/tools/keytool/IdentityDBCmd$6.class | Bin 0 -> 996 bytes .../classpath/tools/keytool/IdentityDBCmd.class | Bin 0 -> 4563 bytes .../gnu/classpath/tools/keytool/ImportCmd$1.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/ImportCmd$10.class | Bin 0 -> 974 bytes .../gnu/classpath/tools/keytool/ImportCmd$2.class | Bin 0 -> 1036 bytes .../gnu/classpath/tools/keytool/ImportCmd$3.class | Bin 0 -> 1032 bytes .../gnu/classpath/tools/keytool/ImportCmd$4.class | Bin 0 -> 973 bytes .../gnu/classpath/tools/keytool/ImportCmd$5.class | Bin 0 -> 977 bytes .../gnu/classpath/tools/keytool/ImportCmd$6.class | Bin 0 -> 1030 bytes .../gnu/classpath/tools/keytool/ImportCmd$7.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/ImportCmd$8.class | Bin 0 -> 1034 bytes .../gnu/classpath/tools/keytool/ImportCmd$9.class | Bin 0 -> 1041 bytes .../gnu/classpath/tools/keytool/ImportCmd.class | Bin 0 -> 17535 bytes .../classpath/tools/keytool/KeyCloneCmd$1.class | Bin 0 -> 1041 bytes .../classpath/tools/keytool/KeyCloneCmd$2.class | Bin 0 -> 1045 bytes .../classpath/tools/keytool/KeyCloneCmd$3.class | Bin 0 -> 1044 bytes .../classpath/tools/keytool/KeyCloneCmd$4.class | Bin 0 -> 1047 bytes .../classpath/tools/keytool/KeyCloneCmd$5.class | Bin 0 -> 1042 bytes .../classpath/tools/keytool/KeyCloneCmd$6.class | Bin 0 -> 1041 bytes .../classpath/tools/keytool/KeyCloneCmd$7.class | Bin 0 -> 1046 bytes .../classpath/tools/keytool/KeyCloneCmd$8.class | Bin 0 -> 1053 bytes .../classpath/tools/keytool/KeyCloneCmd$9.class | Bin 0 -> 984 bytes .../gnu/classpath/tools/keytool/KeyCloneCmd.class | Bin 0 -> 8733 bytes .../classpath/tools/keytool/KeyPasswdCmd$1.class | Bin 0 -> 1047 bytes .../classpath/tools/keytool/KeyPasswdCmd$2.class | Bin 0 -> 1050 bytes .../classpath/tools/keytool/KeyPasswdCmd$3.class | Bin 0 -> 1053 bytes .../classpath/tools/keytool/KeyPasswdCmd$4.class | Bin 0 -> 1048 bytes .../classpath/tools/keytool/KeyPasswdCmd$5.class | Bin 0 -> 1047 bytes .../classpath/tools/keytool/KeyPasswdCmd$6.class | Bin 0 -> 1052 bytes .../classpath/tools/keytool/KeyPasswdCmd$7.class | Bin 0 -> 1059 bytes .../classpath/tools/keytool/KeyPasswdCmd$8.class | Bin 0 -> 990 bytes .../gnu/classpath/tools/keytool/KeyPasswdCmd.class | Bin 0 -> 8305 bytes .../gnu/classpath/tools/keytool/ListCmd$1.class | Bin 0 -> 1017 bytes .../gnu/classpath/tools/keytool/ListCmd$2.class | Bin 0 -> 1018 bytes .../gnu/classpath/tools/keytool/ListCmd$3.class | Bin 0 -> 1017 bytes .../gnu/classpath/tools/keytool/ListCmd$4.class | Bin 0 -> 1022 bytes .../gnu/classpath/tools/keytool/ListCmd$5.class | Bin 0 -> 1029 bytes .../gnu/classpath/tools/keytool/ListCmd$6.class | Bin 0 -> 960 bytes .../gnu/classpath/tools/keytool/ListCmd$7.class | Bin 0 -> 956 bytes .../gnu/classpath/tools/keytool/ListCmd.class | Bin 0 -> 8719 bytes .../tools/keytool/Main$NoParseOption.class | Bin 0 -> 1130 bytes .../tools/keytool/Main$ShutdownHook.class | Bin 0 -> 756 bytes .../classes/gnu/classpath/tools/keytool/Main.class | Bin 0 -> 8761 bytes .../gnu/classpath/tools/keytool/Messages.class | Bin 0 -> 2614 bytes .../classpath/tools/keytool/PrintCertCmd$1.class | Bin 0 -> 1054 bytes .../classpath/tools/keytool/PrintCertCmd$2.class | Bin 0 -> 990 bytes .../gnu/classpath/tools/keytool/PrintCertCmd.class | Bin 0 -> 3871 bytes .../classpath/tools/keytool/SelfCertCmd$1.class | Bin 0 -> 1041 bytes .../classpath/tools/keytool/SelfCertCmd$10.class | Bin 0 -> 986 bytes .../classpath/tools/keytool/SelfCertCmd$2.class | Bin 0 -> 1048 bytes .../classpath/tools/keytool/SelfCertCmd$3.class | Bin 0 -> 1041 bytes .../classpath/tools/keytool/SelfCertCmd$4.class | Bin 0 -> 1044 bytes .../classpath/tools/keytool/SelfCertCmd$5.class | Bin 0 -> 1047 bytes .../classpath/tools/keytool/SelfCertCmd$6.class | Bin 0 -> 1042 bytes .../classpath/tools/keytool/SelfCertCmd$7.class | Bin 0 -> 1041 bytes .../classpath/tools/keytool/SelfCertCmd$8.class | Bin 0 -> 1046 bytes .../classpath/tools/keytool/SelfCertCmd$9.class | Bin 0 -> 1053 bytes .../gnu/classpath/tools/keytool/SelfCertCmd.class | Bin 0 -> 8750 bytes .../classpath/tools/keytool/StorePasswdCmd$1.class | Bin 0 -> 1065 bytes .../classpath/tools/keytool/StorePasswdCmd$2.class | Bin 0 -> 1060 bytes .../classpath/tools/keytool/StorePasswdCmd$3.class | Bin 0 -> 1059 bytes .../classpath/tools/keytool/StorePasswdCmd$4.class | Bin 0 -> 1064 bytes .../classpath/tools/keytool/StorePasswdCmd$5.class | Bin 0 -> 1071 bytes .../classpath/tools/keytool/StorePasswdCmd$6.class | Bin 0 -> 1002 bytes .../classpath/tools/keytool/StorePasswdCmd.class | Bin 0 -> 7050 bytes .../classpath/tools/native2ascii/Messages.class | Bin 0 -> 1169 bytes .../tools/native2ascii/Native2ASCII$1.class | Bin 0 -> 1264 bytes .../tools/native2ascii/Native2ASCII$2.class | Bin 0 -> 1019 bytes .../native2ascii/Native2ASCII$HandleFile.class | Bin 0 -> 1088 bytes .../tools/native2ascii/Native2ASCII.class | Bin 0 -> 4073 bytes .../classes/gnu/classpath/tools/orbd/Main$1.class | Bin 0 -> 1106 bytes .../classes/gnu/classpath/tools/orbd/Main$2.class | Bin 0 -> 1052 bytes .../classes/gnu/classpath/tools/orbd/Main$3.class | Bin 0 -> 1048 bytes .../classes/gnu/classpath/tools/orbd/Main$4.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/orbd/Main$5.class | Bin 0 -> 721 bytes .../classes/gnu/classpath/tools/orbd/Main.class | Bin 0 -> 5449 bytes .../gnu/classpath/tools/orbd/Messages.class | Bin 0 -> 1145 bytes .../classpath/tools/orbd/PersistentContext.class | Bin 0 -> 3047 bytes .../tools/orbd/PersistentContextMap.class | Bin 0 -> 1138 bytes .../classpath/tools/orbd/PersistentMap$Entry.class | Bin 0 -> 2453 bytes .../gnu/classpath/tools/orbd/PersistentMap.class | Bin 0 -> 5523 bytes .../tools/rmic/AbstractMethodGenerator.class | Bin 0 -> 232 bytes .../tools/rmic/ClassRmicCompiler$MethodRef.class | Bin 0 -> 2725 bytes .../classpath/tools/rmic/ClassRmicCompiler.class | Bin 0 -> 30617 bytes .../classpath/tools/rmic/CompilationError.class | Bin 0 -> 624 bytes .../gnu/classpath/tools/rmic/Generator.class | Bin 0 -> 2992 bytes .../classes/gnu/classpath/tools/rmic/GiopIo.class | Bin 0 -> 2777 bytes .../gnu/classpath/tools/rmic/HashFinder.class | Bin 0 -> 1064 bytes .../classes/gnu/classpath/tools/rmic/Main$1.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$10.class | Bin 0 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$11.class | Bin 0 -> 900 bytes .../classes/gnu/classpath/tools/rmic/Main$12.class | Bin 0 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$13.class | Bin 0 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$14.class | Bin 0 -> 971 bytes .../classes/gnu/classpath/tools/rmic/Main$15.class | Bin 0 -> 1039 bytes .../classes/gnu/classpath/tools/rmic/Main$16.class | Bin 0 -> 972 bytes .../classes/gnu/classpath/tools/rmic/Main$17.class | Bin 0 -> 1039 bytes .../classes/gnu/classpath/tools/rmic/Main$18.class | Bin 0 -> 900 bytes .../classes/gnu/classpath/tools/rmic/Main$2.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$3.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$4.class | Bin 0 -> 1048 bytes .../classes/gnu/classpath/tools/rmic/Main$5.class | Bin 0 -> 1048 bytes .../classes/gnu/classpath/tools/rmic/Main$6.class | Bin 0 -> 960 bytes .../classes/gnu/classpath/tools/rmic/Main$7.class | Bin 0 -> 960 bytes .../classes/gnu/classpath/tools/rmic/Main$8.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main$9.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmic/Main.class | Bin 0 -> 6058 bytes .../gnu/classpath/tools/rmic/Messages.class | Bin 0 -> 1145 bytes .../gnu/classpath/tools/rmic/MethodGenerator.class | Bin 0 -> 5369 bytes .../gnu/classpath/tools/rmic/RMICException.class | Bin 0 -> 555 bytes .../classpath/tools/rmic/RmiMethodGenerator.class | Bin 0 -> 5210 bytes .../gnu/classpath/tools/rmic/RmicBackend.class | Bin 0 -> 271 bytes .../tools/rmic/SourceGiopRmicCompiler.class | Bin 0 -> 12424 bytes .../classpath/tools/rmic/SourceRmicCompiler.class | Bin 0 -> 3890 bytes .../gnu/classpath/tools/rmic/Variables.class | Bin 0 -> 3290 bytes .../gnu/classpath/tools/rmic/WrapUnWrapper.class | Bin 0 -> 1244 bytes .../tools/rmid/ActivationSystemImpl.class | Bin 0 -> 5243 bytes .../tools/rmid/ActivationSystemImpl_Stub.class | Bin 0 -> 8775 bytes .../classes/gnu/classpath/tools/rmid/Main$1.class | Bin 0 -> 1084 bytes .../classes/gnu/classpath/tools/rmid/Main$2.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmid/Main$3.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmid/Main$4.class | Bin 0 -> 969 bytes .../classes/gnu/classpath/tools/rmid/Main$5.class | Bin 0 -> 1048 bytes .../classes/gnu/classpath/tools/rmid/Main$6.class | Bin 0 -> 983 bytes .../classes/gnu/classpath/tools/rmid/Main.class | Bin 0 -> 5921 bytes .../gnu/classpath/tools/rmid/Messages.class | Bin 0 -> 1145 bytes .../PersistentBidiHashTable$AdaptedReader.class | Bin 0 -> 1111 bytes .../PersistentBidiHashTable$WriteToDiskTask.class | Bin 0 -> 755 bytes .../tools/rmid/PersistentBidiHashTable.class | Bin 0 -> 4185 bytes .../gnu/classpath/tools/rmiregistry/Main$1.class | Bin 0 -> 1011 bytes .../gnu/classpath/tools/rmiregistry/Main$2.class | Bin 0 -> 1011 bytes .../gnu/classpath/tools/rmiregistry/Main$3.class | Bin 0 -> 1011 bytes .../gnu/classpath/tools/rmiregistry/Main$4.class | Bin 0 -> 1090 bytes .../gnu/classpath/tools/rmiregistry/Main$5.class | Bin 0 -> 965 bytes .../gnu/classpath/tools/rmiregistry/Main$6.class | Bin 0 -> 883 bytes .../gnu/classpath/tools/rmiregistry/Main.class | Bin 0 -> 5715 bytes .../gnu/classpath/tools/rmiregistry/Messages.class | Bin 0 -> 1166 bytes .../PersistentHashTable$WriteToDiskTask.class | Bin 0 -> 766 bytes .../tools/rmiregistry/PersistentHashTable.class | Bin 0 -> 4109 bytes .../classpath/tools/rmiregistry/RegistryImpl.class | Bin 0 -> 2942 bytes .../tools/rmiregistry/RegistryImpl_Skel.class | Bin 0 -> 4191 bytes .../tools/rmiregistry/RegistryImpl_Stub.class | Bin 0 -> 3829 bytes .../gnu/classpath/tools/serialver/Messages.class | Bin 0 -> 1160 bytes .../classpath/tools/serialver/SerialVer$1.class | Bin 0 -> 1171 bytes .../classpath/tools/serialver/SerialVer$2.class | Bin 0 -> 1197 bytes .../classpath/tools/serialver/SerialVer$3.class | Bin 0 -> 950 bytes .../gnu/classpath/tools/serialver/SerialVer.class | Bin 0 -> 4402 bytes .../gnu/classpath/tools/tnameserv/Main$1.class | Bin 0 -> 1136 bytes .../gnu/classpath/tools/tnameserv/Main$2.class | Bin 0 -> 1082 bytes .../gnu/classpath/tools/tnameserv/Main.class | Bin 0 -> 2391 bytes .../gnu/classpath/tools/tnameserv/Messages.class | Bin 0 -> 1160 bytes libjava/classpath/tools/external/README | 9 + libjava/classpath/tools/external/asm/LICENSE.txt | 28 + .../asm/org/objectweb/asm/AnnotationVisitor.java | 88 + .../asm/org/objectweb/asm/AnnotationWriter.java | 311 + .../external/asm/org/objectweb/asm/Attribute.java | 254 + .../external/asm/org/objectweb/asm/ByteVector.java | 293 + .../asm/org/objectweb/asm/ClassAdapter.java | 121 + .../asm/org/objectweb/asm/ClassReader.java | 1606 +++ .../asm/org/objectweb/asm/ClassVisitor.java | 195 + .../asm/org/objectweb/asm/ClassWriter.java | 1162 ++ .../tools/external/asm/org/objectweb/asm/Edge.java | 57 + .../asm/org/objectweb/asm/FieldVisitor.java | 63 + .../asm/org/objectweb/asm/FieldWriter.java | 276 + .../external/asm/org/objectweb/asm/Handler.java | 70 + .../tools/external/asm/org/objectweb/asm/Item.java | 252 + .../external/asm/org/objectweb/asm/Label.java | 299 + .../asm/org/objectweb/asm/MethodAdapter.java | 185 + .../asm/org/objectweb/asm/MethodVisitor.java | 334 + .../asm/org/objectweb/asm/MethodWriter.java | 2022 +++ .../external/asm/org/objectweb/asm/Opcodes.java | 295 + .../tools/external/asm/org/objectweb/asm/Type.java | 760 ++ .../org/objectweb/asm/attrs/StackMapAttribute.java | 378 + .../asm/org/objectweb/asm/attrs/StackMapFrame.java | 82 + .../asm/attrs/StackMapTableAttribute.java | 927 ++ .../asm/org/objectweb/asm/attrs/StackMapType.java | 114 + .../asm/org/objectweb/asm/attrs/package.html | 48 + .../org/objectweb/asm/commons/AdviceAdapter.java | 643 + .../org/objectweb/asm/commons/EmptyVisitor.java | 211 + .../objectweb/asm/commons/GeneratorAdapter.java | 1454 +++ .../asm/commons/LocalVariablesSorter.java | 136 + .../asm/org/objectweb/asm/commons/Method.java | 220 + .../asm/commons/SerialVersionUIDAdder.java | 490 + .../objectweb/asm/commons/StaticInitMerger.java | 99 + .../asm/commons/TableSwitchGenerator.java | 55 + .../asm/org/objectweb/asm/commons/package.html | 33 + .../optimizer/AnnotationConstantsCollector.java | 150 + .../asm/optimizer/ClassConstantsCollector.java | 212 + .../objectweb/asm/optimizer/ClassOptimizer.java | 182 + .../asm/org/objectweb/asm/optimizer/Constant.java | 265 + .../org/objectweb/asm/optimizer/ConstantPool.java | 198 + .../asm/optimizer/FieldConstantsCollector.java | 76 + .../org/objectweb/asm/optimizer/JarOptimizer.java | 87 + .../asm/optimizer/MethodConstantsCollector.java | 168 + .../objectweb/asm/optimizer/MethodOptimizer.java | 108 + .../org/objectweb/asm/optimizer/NameMapping.java | 101 + .../asm/org/objectweb/asm/optimizer/Shrinker.java | 168 + .../org/objectweb/asm/optimizer/shrink.properties | 225 + .../external/asm/org/objectweb/asm/package.html | 87 + .../objectweb/asm/signature/SignatureReader.java | 233 + .../objectweb/asm/signature/SignatureVisitor.java | 185 + .../objectweb/asm/signature/SignatureWriter.java | 207 + .../asm/org/objectweb/asm/signature/package.html | 36 + .../org/objectweb/asm/tree/AbstractInsnNode.java | 143 + .../asm/org/objectweb/asm/tree/AnnotationNode.java | 187 + .../asm/org/objectweb/asm/tree/ClassNode.java | 283 + .../asm/org/objectweb/asm/tree/FieldInsnNode.java | 97 + .../asm/org/objectweb/asm/tree/FieldNode.java | 123 + .../asm/org/objectweb/asm/tree/IincInsnNode.java | 71 + .../asm/org/objectweb/asm/tree/InnerClassNode.java | 101 + .../asm/org/objectweb/asm/tree/InsnNode.java | 96 + .../asm/org/objectweb/asm/tree/IntInsnNode.java | 75 + .../asm/org/objectweb/asm/tree/JumpInsnNode.java | 84 + .../asm/org/objectweb/asm/tree/LabelNode.java | 54 + .../asm/org/objectweb/asm/tree/LdcInsnNode.java | 68 + .../asm/org/objectweb/asm/tree/LineNumberNode.java | 73 + .../org/objectweb/asm/tree/LocalVariableNode.java | 111 + .../objectweb/asm/tree/LookupSwitchInsnNode.java | 103 + .../asm/org/objectweb/asm/tree/MemberNode.java | 120 + .../asm/org/objectweb/asm/tree/MethodInsnNode.java | 98 + .../asm/org/objectweb/asm/tree/MethodNode.java | 439 + .../objectweb/asm/tree/MultiANewArrayInsnNode.java | 71 + .../objectweb/asm/tree/TableSwitchInsnNode.java | 102 + .../org/objectweb/asm/tree/TryCatchBlockNode.java | 93 + .../asm/org/objectweb/asm/tree/TypeInsnNode.java | 78 + .../asm/org/objectweb/asm/tree/VarInsnNode.java | 81 + .../org/objectweb/asm/tree/analysis/Analyzer.java | 416 + .../asm/tree/analysis/AnalyzerException.java | 56 + .../asm/tree/analysis/BasicInterpreter.java | 335 + .../objectweb/asm/tree/analysis/BasicValue.java | 105 + .../objectweb/asm/tree/analysis/BasicVerifier.java | 428 + .../asm/tree/analysis/DataflowInterpreter.java | 174 + .../objectweb/asm/tree/analysis/DataflowValue.java | 92 + .../asm/org/objectweb/asm/tree/analysis/Frame.java | 670 + .../org/objectweb/asm/tree/analysis/IntMap.java | 73 + .../objectweb/asm/tree/analysis/Interpreter.java | 178 + .../asm/tree/analysis/SimpleVerifier.java | 266 + .../org/objectweb/asm/tree/analysis/SmallSet.java | 126 + .../objectweb/asm/tree/analysis/Subroutine.java | 96 + .../asm/org/objectweb/asm/tree/analysis/Value.java | 45 + .../org/objectweb/asm/tree/analysis/package.html | 36 + .../asm/org/objectweb/asm/tree/package.html | 149 + .../asm/util/ASMifierAbstractVisitor.java | 226 + .../asm/util/ASMifierAnnotationVisitor.java | 127 + .../objectweb/asm/util/ASMifierClassVisitor.java | 607 + .../objectweb/asm/util/ASMifierFieldVisitor.java | 50 + .../objectweb/asm/util/ASMifierMethodVisitor.java | 347 + .../org/objectweb/asm/util/AbstractVisitor.java | 201 + .../objectweb/asm/util/CheckAnnotationAdapter.java | 125 + .../org/objectweb/asm/util/CheckClassAdapter.java | 416 + .../org/objectweb/asm/util/CheckFieldAdapter.java | 75 + .../org/objectweb/asm/util/CheckMethodAdapter.java | 942 ++ .../objectweb/asm/util/TraceAbstractVisitor.java | 180 + .../objectweb/asm/util/TraceAnnotationVisitor.java | 272 + .../org/objectweb/asm/util/TraceClassVisitor.java | 534 + .../org/objectweb/asm/util/TraceFieldVisitor.java | 78 + .../org/objectweb/asm/util/TraceMethodVisitor.java | 486 + .../objectweb/asm/util/TraceSignatureVisitor.java | 300 + .../asm/util/attrs/ASMStackMapAttribute.java | 223 + .../asm/util/attrs/ASMStackMapTableAttribute.java | 214 + .../org/objectweb/asm/util/attrs/ASMifiable.java | 53 + .../org/objectweb/asm/util/attrs/Traceable.java | 52 + .../asm/org/objectweb/asm/util/attrs/package.html | 36 + .../asm/org/objectweb/asm/util/package.html | 40 + .../org/objectweb/asm/xml/ASMContentHandler.java | 1215 ++ .../asm/org/objectweb/asm/xml/Processor.java | 1048 ++ .../asm/org/objectweb/asm/xml/SAXAdapter.java | 91 + .../objectweb/asm/xml/SAXAnnotationAdapter.java | 191 + .../asm/org/objectweb/asm/xml/SAXClassAdapter.java | 351 + .../asm/org/objectweb/asm/xml/SAXCodeAdapter.java | 310 + .../asm/org/objectweb/asm/xml/SAXFieldAdapter.java | 77 + .../external/asm/org/objectweb/asm/xml/asm-xml.dtd | 340 + .../asm/org/objectweb/asm/xml/package.html | 96 + libjava/classpath/tools/gjavah.in | 47 + .../classpath/tools/AbstractMethodGenerator.java | 53 - .../tools/gnu/classpath/tools/HelpPrinter.java | 116 - .../tools/appletviewer/AppletWarning.java | 66 - .../tools/appletviewer/CommonAppletStub.java | 3 +- .../tools/appletviewer/ConsoleDialog.java | 175 - .../gnu/classpath/tools/appletviewer/Main.java | 123 +- .../gnu/classpath/tools/appletviewer/Messages.java | 67 + .../tools/appletviewer/PluginAppletContext.java | 4 +- .../tools/appletviewer/PluginAppletViewer.java | 12 +- .../tools/appletviewer/PluginAppletWindow.java | 4 - .../appletviewer/StandaloneAppletContext.java | 3 +- .../tools/appletviewer/StandaloneAppletViewer.java | 10 +- .../tools/appletviewer/StandaloneAppletWindow.java | 33 +- .../classpath/tools/appletviewer/TagParser.java | 56 +- .../tools/common/ClasspathToolParser.java | 87 + .../tools/gnu/classpath/tools/common/Messages.java | 67 + .../gnu/classpath/tools/common/Persistent.java | 87 + .../tools/getopt/ClasspathToolParser.java | 73 - .../tools/gnu/classpath/tools/getopt/Messages.java | 2 +- .../tools/gnu/classpath/tools/getopt/Option.java | 68 +- .../gnu/classpath/tools/getopt/OptionGroup.java | 5 +- .../tools/gnu/classpath/tools/getopt/Parser.java | 99 +- .../tools/gnu/classpath/tools/getopt/package.html | 49 + .../tools/gnu/classpath/tools/giop/GRMIC.java | 189 - .../tools/gnu/classpath/tools/giop/GRMIC.txt | 33 - .../tools/gnu/classpath/tools/giop/IorParser.java | 109 - .../tools/gnu/classpath/tools/giop/IorParser.txt | 10 - .../gnu/classpath/tools/giop/NameService.java | 75 - .../tools/giop/NameServicePersistent.java | 186 - .../classpath/tools/giop/NameServicePersistent.txt | 28 - .../gnu/classpath/tools/giop/NamingService.txt | 21 - .../tools/gnu/classpath/tools/giop/README | 19 - .../tools/giop/grmic/CompilationError.java | 52 - .../gnu/classpath/tools/giop/grmic/Generator.java | 128 - .../gnu/classpath/tools/giop/grmic/GiopIo.java | 112 - .../tools/giop/grmic/GiopRmicCompiler.java | 593 - .../gnu/classpath/tools/giop/grmic/HashFinder.java | 84 - .../tools/giop/grmic/MethodGenerator.java | 285 - .../tools/giop/grmic/templates/ImplTie.jav | 152 - .../classpath/tools/giop/grmic/templates/Stub.jav | 47 - .../tools/giop/grmic/templates/StubMethod.jav | 33 - .../tools/giop/grmic/templates/StubMethodVoid.jav | 32 - .../classpath/tools/giop/grmic/templates/Tie.jav | 184 - .../tools/giop/grmic/templates/TieMethod.jav | 11 - .../tools/giop/grmic/templates/TieMethodVoid.jav | 9 - .../tools/giop/nameservice/PersistentContext.java | 152 - .../giop/nameservice/PersistentContextMap.java | 87 - .../tools/giop/nameservice/PersistentMap.java | 454 - .../tools/gnu/classpath/tools/jar/Creator.java | 9 +- .../tools/gnu/classpath/tools/jar/Main.java | 2 +- .../tools/gnu/classpath/tools/jarsigner/Main.java | 2 +- .../gnu/classpath/tools/javah/ClassWrapper.java | 346 + .../classpath/tools/javah/CniIncludePrinter.java | 80 + .../gnu/classpath/tools/javah/CniPrintStream.java | 243 + .../gnu/classpath/tools/javah/CniStubPrinter.java | 129 + .../gnu/classpath/tools/javah/FieldHelper.java | 99 + .../tools/gnu/classpath/tools/javah/JniHelper.java | 120 + .../classpath/tools/javah/JniIncludePrinter.java | 158 + .../gnu/classpath/tools/javah/JniPrintStream.java | 115 + .../gnu/classpath/tools/javah/JniStubPrinter.java | 106 + .../tools/gnu/classpath/tools/javah/Keywords.java | 85 + .../tools/gnu/classpath/tools/javah/Main.java | 441 + .../gnu/classpath/tools/javah/MethodHelper.java | 130 + .../gnu/classpath/tools/javah/PackageWrapper.java | 54 + .../gnu/classpath/tools/javah/PathOptionGroup.java | 135 + .../tools/gnu/classpath/tools/javah/Printer.java | 138 + .../tools/gnu/classpath/tools/javah/Text.java | 60 + .../gnu/classpath/tools/keytool/CACertCmd.java | 2 +- .../gnu/classpath/tools/keytool/CertReqCmd.java | 2 +- .../tools/gnu/classpath/tools/keytool/Command.java | 4 +- .../gnu/classpath/tools/keytool/DeleteCmd.java | 2 +- .../gnu/classpath/tools/keytool/ExportCmd.java | 2 +- .../gnu/classpath/tools/keytool/GenKeyCmd.java | 3 +- .../gnu/classpath/tools/keytool/IdentityDBCmd.java | 2 +- .../gnu/classpath/tools/keytool/ImportCmd.java | 3 +- .../gnu/classpath/tools/keytool/KeyCloneCmd.java | 2 +- .../gnu/classpath/tools/keytool/KeyPasswdCmd.java | 2 +- .../tools/gnu/classpath/tools/keytool/ListCmd.java | 2 +- .../tools/gnu/classpath/tools/keytool/Main.java | 10 +- .../gnu/classpath/tools/keytool/PrintCertCmd.java | 2 +- .../gnu/classpath/tools/keytool/SelfCertCmd.java | 2 +- .../classpath/tools/keytool/StorePasswdCmd.java | 2 +- .../classpath/tools/native2ascii/Native2ASCII.java | 2 +- .../tools/gnu/classpath/tools/orbd/Main.java | 228 + .../tools/gnu/classpath/tools/orbd/Messages.java | 67 + .../classpath/tools/orbd/PersistentContext.java | 152 + .../classpath/tools/orbd/PersistentContextMap.java | 87 + .../gnu/classpath/tools/orbd/PersistentMap.java | 454 + .../tools/gnu/classpath/tools/rmi/Persistent.java | 87 - .../tools/rmi/PersistentBidiHashTable.java | 268 - .../classpath/tools/rmi/PersistentHashTable.java | 246 - .../tools/gnu/classpath/tools/rmi/REGISTRY.java | 165 - .../tools/gnu/classpath/tools/rmi/REGISTRY.txt | 28 - .../tools/gnu/classpath/tools/rmi/RMIC.java | 186 - .../tools/gnu/classpath/tools/rmi/RMIC.txt | 45 - .../tools/gnu/classpath/tools/rmi/RMID.java | 189 - .../tools/gnu/classpath/tools/rmi/RMID.txt | 30 - .../classpath/tools/rmi/registry/RegistryImpl.java | 139 - .../tools/rmi/registry/RegistryImpl_Skel.java | 278 - .../tools/rmi/registry/RegistryImpl_Stub.java | 263 - .../tools/rmi/rmic/RmiMethodGenerator.java | 287 - .../gnu/classpath/tools/rmi/rmic/RmicCompiler.java | 171 - .../classpath/tools/rmi/rmic/WrapUnWrapper.java | 83 - .../classpath/tools/rmi/rmic/templates/Stub_12.jav | 62 - .../tools/rmi/rmic/templates/Stub_12Method.jav | 26 - .../tools/rmi/rmic/templates/Stub_12MethodVoid.jav | 25 - .../tools/rmi/rmid/ActivationSystemImpl.java | 244 - .../tools/rmi/rmid/ActivationSystemImpl_Stub.java | 556 - .../tools/rmic/AbstractMethodGenerator.java | 53 + .../classpath/tools/rmic/ClassRmicCompiler.java | 1824 +++ .../gnu/classpath/tools/rmic/CompilationError.java | 52 + .../tools/gnu/classpath/tools/rmic/Generator.java | 128 + .../tools/gnu/classpath/tools/rmic/GiopIo.java | 112 + .../tools/gnu/classpath/tools/rmic/HashFinder.java | 84 + .../tools/gnu/classpath/tools/rmic/Main.java | 282 + .../tools/gnu/classpath/tools/rmic/Messages.java | 67 + .../gnu/classpath/tools/rmic/MethodGenerator.java | 285 + .../gnu/classpath/tools/rmic/RMICException.java | 54 + .../classpath/tools/rmic/RmiMethodGenerator.java | 287 + .../gnu/classpath/tools/rmic/RmicBackend.java | 31 + .../tools/rmic/SourceGiopRmicCompiler.java | 694 + .../classpath/tools/rmic/SourceRmicCompiler.java | 179 + .../tools/gnu/classpath/tools/rmic/Variables.java | 137 + .../gnu/classpath/tools/rmic/WrapUnWrapper.java | 83 + .../gnu/classpath/tools/rmic/templates/ImplTie.jav | 152 + .../gnu/classpath/tools/rmic/templates/Stub.jav | 47 + .../classpath/tools/rmic/templates/StubMethod.jav | 33 + .../tools/rmic/templates/StubMethodVoid.jav | 32 + .../gnu/classpath/tools/rmic/templates/Stub_12.jav | 62 + .../tools/rmic/templates/Stub_12Method.jav | 26 + .../tools/rmic/templates/Stub_12MethodVoid.jav | 25 + .../gnu/classpath/tools/rmic/templates/Tie.jav | 184 + .../classpath/tools/rmic/templates/TieMethod.jav | 11 + .../tools/rmic/templates/TieMethodVoid.jav | 9 + .../classpath/tools/rmid/ActivationSystemImpl.java | 243 + .../tools/rmid/ActivationSystemImpl_Stub.java | 556 + .../tools/gnu/classpath/tools/rmid/Main.java | 259 + .../tools/gnu/classpath/tools/rmid/Messages.java | 67 + .../tools/rmid/PersistentBidiHashTable.java | 269 + .../gnu/classpath/tools/rmiregistry/Main.java | 232 + .../gnu/classpath/tools/rmiregistry/Messages.java | 67 + .../tools/rmiregistry/PersistentHashTable.java | 262 + .../classpath/tools/rmiregistry/RegistryImpl.java | 138 + .../tools/rmiregistry/RegistryImpl_Skel.java | 278 + .../tools/rmiregistry/RegistryImpl_Stub.java | 263 + .../gnu/classpath/tools/serialver/SerialVer.java | 2 +- .../tools/gnu/classpath/tools/tnameserv/Main.java | 117 + .../gnu/classpath/tools/tnameserv/Messages.java | 67 + libjava/classpath/tools/gorbd.in | 47 + libjava/classpath/tools/grmic.in | 47 + libjava/classpath/tools/grmid.in | 47 + libjava/classpath/tools/grmiregistry.in | 47 + libjava/classpath/tools/gtnameserv.in | 47 + libjava/classpath/tools/toolwrapper.c | 42 +- libjava/classpath/vm/.cvsignore | 2 + libjava/classpath/vm/reference/.cvsignore | 2 + .../vm/reference/gnu/classpath/VMStackWalker.java | 19 +- .../gnu/classpath/jdwp/VMVirtualMachine.java | 4 +- .../java/lang/management/VMMemoryMXBeanImpl.java | 4 +- .../reference/gnu/java/net/VMPlainSocketImpl.java | 602 +- .../vm/reference/gnu/java/nio/VMChannel.java | 651 +- .../vm/reference/gnu/java/nio/VMPipe.java | 24 +- libjava/classpath/vm/reference/java/io/VMFile.java | 105 + .../vm/reference/java/io/VMObjectInputStream.java | 39 - .../vm/reference/java/lang/VMClassLoader.java | 3 +- .../reference/java/lang/reflect/Constructor.java | 24 +- .../vm/reference/java/lang/reflect/Field.java | 7 +- .../vm/reference/java/lang/reflect/Method.java | 14 +- .../vm/reference/java/net/VMInetAddress.java | 10 + .../vm/reference/java/net/VMNetworkInterface.java | 74 +- .../vm/reference/java/nio/channels/VMChannels.java | 2 +- .../vm/reference/sun/reflect/misc/ReflectUtil.java | 23 +- libjava/configure | 347 +- libjava/configure.ac | 104 +- libjava/defineclass.cc | 493 +- libjava/gcj/Makefile.in | 17 +- libjava/gcj/field.h | 3 +- libjava/gcj/javaprims.h | 315 +- libjava/gnu/CORBA/Asynchron.h | 48 + libjava/gnu/CORBA/BigDecimalHelper.h | 44 + libjava/gnu/CORBA/ByteArrayComparator.h | 30 + libjava/gnu/CORBA/CDR/AbstractCdrInput.h | 185 + libjava/gnu/CORBA/CDR/AbstractCdrOutput.h | 130 + libjava/gnu/CORBA/CDR/AbstractDataInput.h | 48 + libjava/gnu/CORBA/CDR/AbstractDataOutput.h | 45 + libjava/gnu/CORBA/CDR/AligningInput.h | 42 + libjava/gnu/CORBA/CDR/AligningOutput.h | 44 + libjava/gnu/CORBA/CDR/ArrayValueHelper.h | 67 + libjava/gnu/CORBA/CDR/BigEndianInputStream.h | 32 + libjava/gnu/CORBA/CDR/BigEndianOutputStream.h | 32 + libjava/gnu/CORBA/CDR/BufferedCdrOutput.h | 60 + libjava/gnu/CORBA/CDR/BufferredCdrInput.h | 49 + libjava/gnu/CORBA/CDR/EncapsulationStream.h | 56 + libjava/gnu/CORBA/CDR/HeadlessInput.h | 156 + libjava/gnu/CORBA/CDR/IDLTypeHelper.h | 60 + libjava/gnu/CORBA/CDR/LittleEndianInputStream.h | 64 + libjava/gnu/CORBA/CDR/LittleEndianOutputStream.h | 45 + libjava/gnu/CORBA/CDR/UnknownExceptionCtxHandler.h | 47 + libjava/gnu/CORBA/CDR/VMVio.h | 33 + libjava/gnu/CORBA/CDR/Vio.h | 119 + libjava/gnu/CORBA/CDR/gnuRuntime$1.h | 38 + libjava/gnu/CORBA/CDR/gnuRuntime$Entry.h | 38 + libjava/gnu/CORBA/CDR/gnuRuntime$Redirection.h | 34 + libjava/gnu/CORBA/CDR/gnuRuntime.h | 52 + libjava/gnu/CORBA/CDR/gnuValueStream.h | 36 + libjava/gnu/CORBA/CdrEncapsCodecImpl.h | 76 + libjava/gnu/CORBA/CollocatedOrbs.h | 51 + libjava/gnu/CORBA/Connected_objects$cObject.h | 50 + libjava/gnu/CORBA/Connected_objects.h | 59 + libjava/gnu/CORBA/CorbaList.h | 35 + libjava/gnu/CORBA/DefaultSocketFactory.h | 40 + libjava/gnu/CORBA/DefinitionKindHolder.h | 49 + libjava/gnu/CORBA/DuplicateNameHolder.h | 56 + libjava/gnu/CORBA/DynAn/AbstractAny.h | 68 + libjava/gnu/CORBA/DynAn/DivideableAny.h | 107 + libjava/gnu/CORBA/DynAn/NameValuePairHolder.h | 53 + libjava/gnu/CORBA/DynAn/RecordAny.h | 76 + libjava/gnu/CORBA/DynAn/RecordAny.java | 416 - libjava/gnu/CORBA/DynAn/UndivideableAny.h | 100 + libjava/gnu/CORBA/DynAn/ValueChangeListener.h | 32 + libjava/gnu/CORBA/DynAn/gnuDynAny.h | 114 + libjava/gnu/CORBA/DynAn/gnuDynAnyFactory.h | 78 + libjava/gnu/CORBA/DynAn/gnuDynArray.h | 67 + libjava/gnu/CORBA/DynAn/gnuDynEnum.h | 67 + libjava/gnu/CORBA/DynAn/gnuDynFixed.h | 72 + libjava/gnu/CORBA/DynAn/gnuDynSequence.h | 66 + libjava/gnu/CORBA/DynAn/gnuDynStruct.h | 60 + libjava/gnu/CORBA/DynAn/gnuDynUnion.h | 71 + libjava/gnu/CORBA/DynAn/gnuDynValue.h | 84 + libjava/gnu/CORBA/DynAn/gnuDynValue.java | 386 - libjava/gnu/CORBA/DynAn/gnuDynValueBox.h | 70 + libjava/gnu/CORBA/DynAnySeqHolder.h | 55 + libjava/gnu/CORBA/EmptyExceptionHolder.h | 49 + libjava/gnu/CORBA/ForwardRequestHelper.h | 55 + libjava/gnu/CORBA/GIOP/CancelHeader.h | 49 + libjava/gnu/CORBA/GIOP/CharSets_OSF.h | 88 + libjava/gnu/CORBA/GIOP/CloseMessage.h | 37 + libjava/gnu/CORBA/GIOP/CodeSetServiceContext.h | 56 + libjava/gnu/CORBA/GIOP/ContextHandler.h | 50 + libjava/gnu/CORBA/GIOP/ErrorMessage.h | 48 + libjava/gnu/CORBA/GIOP/MessageHeader.h | 79 + libjava/gnu/CORBA/GIOP/ReplyHeader.h | 49 + libjava/gnu/CORBA/GIOP/RequestHeader.h | 56 + libjava/gnu/CORBA/GIOP/ServiceContext.h | 82 + libjava/gnu/CORBA/GIOP/v1_0/CancelHeader.h | 51 + libjava/gnu/CORBA/GIOP/v1_0/ReplyHeader.h | 45 + libjava/gnu/CORBA/GIOP/v1_0/RequestHeader.h | 49 + libjava/gnu/CORBA/GIOP/v1_2/ReplyHeader.h | 43 + libjava/gnu/CORBA/GIOP/v1_2/RequestHeader.h | 53 + libjava/gnu/CORBA/GeneralHolder.h | 58 + libjava/gnu/CORBA/HolderLocator.h | 50 + .../CORBA/IOR$CodeSets_profile$CodeSet_component.h | 54 + libjava/gnu/CORBA/IOR$CodeSets_profile.h | 46 + libjava/gnu/CORBA/IOR$Internet_profile.h | 47 + libjava/gnu/CORBA/IOR.h | 72 + .../CORBA/Interceptor/ClientRequestInterceptors.h | 56 + .../gnu/CORBA/Interceptor/ForwardRequestHolder.h | 56 + libjava/gnu/CORBA/Interceptor/IORInterceptors.h | 56 + libjava/gnu/CORBA/Interceptor/Registrator.h | 104 + .../CORBA/Interceptor/ServerRequestInterceptors.h | 56 + .../gnu/CORBA/Interceptor/gnuClientRequestInfo.h | 86 + libjava/gnu/CORBA/Interceptor/gnuIcCurrent.h | 67 + libjava/gnu/CORBA/Interceptor/gnuIorInfo.h | 73 + .../gnu/CORBA/Interceptor/gnuServerRequestInfo.h | 104 + libjava/gnu/CORBA/IorDelegate.h | 72 + libjava/gnu/CORBA/IorObject.h | 52 + libjava/gnu/CORBA/IorProvider.h | 30 + libjava/gnu/CORBA/Minor.h | 64 + libjava/gnu/CORBA/NameDynAnyPairHolder.h | 53 + libjava/gnu/CORBA/NameDynAnyPairSeqHolder.h | 55 + libjava/gnu/CORBA/NameValuePairHolder.h | 53 + libjava/gnu/CORBA/NameValuePairSeqHolder.h | 55 + .../CORBA/NamingService/Binding_iterator_impl.h | 54 + libjava/gnu/CORBA/NamingService/Ext.h | 75 + .../CORBA/NamingService/NameComponentComparator.h | 35 + libjava/gnu/CORBA/NamingService/NameParser.h | 75 + libjava/gnu/CORBA/NamingService/NameTransformer.h | 58 + libjava/gnu/CORBA/NamingService/NameValidator.h | 45 + libjava/gnu/CORBA/NamingService/NamingMap.h | 57 + .../CORBA/NamingService/NamingServiceTransient$1.h | 38 + .../CORBA/NamingService/NamingServiceTransient.h | 37 + libjava/gnu/CORBA/NamingService/TransientContext.h | 74 + libjava/gnu/CORBA/ObjectCreator.h | 75 + libjava/gnu/CORBA/ObjectCreator.java | 596 - libjava/gnu/CORBA/OctetHolder.h | 52 + libjava/gnu/CORBA/OrbFocused.h | 74 + libjava/gnu/CORBA/OrbFunctional$1.h | 37 + libjava/gnu/CORBA/OrbFunctional$2.h | 46 + libjava/gnu/CORBA/OrbFunctional$portServer.h | 52 + libjava/gnu/CORBA/OrbFunctional$sharedPortServer.h | 33 + libjava/gnu/CORBA/OrbFunctional.h | 167 + libjava/gnu/CORBA/OrbRestricted.h | 122 + libjava/gnu/CORBA/Poa/AOM$Obj.h | 63 + libjava/gnu/CORBA/Poa/AOM.h | 71 + libjava/gnu/CORBA/Poa/AccessiblePolicy.h | 70 + libjava/gnu/CORBA/Poa/DynamicImpHandler.h | 53 + libjava/gnu/CORBA/Poa/ForwardRequestHolder.h | 56 + libjava/gnu/CORBA/Poa/ForwardedServant.h | 61 + libjava/gnu/CORBA/Poa/InvalidPolicyHolder.h | 59 + libjava/gnu/CORBA/Poa/LocalDelegate.h | 91 + libjava/gnu/CORBA/Poa/LocalRequest.h | 97 + libjava/gnu/CORBA/Poa/LocalServerRequest.h | 57 + libjava/gnu/CORBA/Poa/ORB_1_4.h | 81 + libjava/gnu/CORBA/Poa/ServantDelegateImpl.h | 67 + libjava/gnu/CORBA/Poa/StandardPolicies.h | 50 + libjava/gnu/CORBA/Poa/gnuAdapterActivator.h | 43 + libjava/gnu/CORBA/Poa/gnuForwardRequest.h | 51 + libjava/gnu/CORBA/Poa/gnuIdAssignmentPolicy.h | 46 + libjava/gnu/CORBA/Poa/gnuIdUniquenessPolicy.h | 46 + .../gnu/CORBA/Poa/gnuImplicitActivationPolicy.h | 46 + libjava/gnu/CORBA/Poa/gnuLifespanPolicy.h | 46 + libjava/gnu/CORBA/Poa/gnuPOA$RefTemplate.h | 57 + libjava/gnu/CORBA/Poa/gnuPOA.h | 187 + libjava/gnu/CORBA/Poa/gnuPOAManager.h | 62 + libjava/gnu/CORBA/Poa/gnuPoaCurrent.h | 55 + libjava/gnu/CORBA/Poa/gnuRequestProcessingPolicy.h | 46 + libjava/gnu/CORBA/Poa/gnuServantObject.h | 96 + libjava/gnu/CORBA/Poa/gnuServantRetentionPolicy.h | 46 + libjava/gnu/CORBA/Poa/gnuThreadPolicy.h | 46 + libjava/gnu/CORBA/RawReply.h | 54 + libjava/gnu/CORBA/ResponseHandlerImpl.h | 69 + libjava/gnu/CORBA/SafeForDirectCalls.h | 28 + libjava/gnu/CORBA/ServiceDetailHolder.h | 49 + libjava/gnu/CORBA/ServiceRequestAdapter.h | 56 + libjava/gnu/CORBA/SetOverrideTypeHolder.h | 49 + libjava/gnu/CORBA/SimpleDelegate.h | 67 + libjava/gnu/CORBA/SocketRepository.h | 46 + libjava/gnu/CORBA/StreamBasedRequest.h | 32 + libjava/gnu/CORBA/StreamHolder.h | 52 + libjava/gnu/CORBA/StubLocator.h | 48 + libjava/gnu/CORBA/TypeCodeHelper.h | 46 + libjava/gnu/CORBA/TypeKindNamer.h | 49 + libjava/gnu/CORBA/Unexpected.h | 38 + libjava/gnu/CORBA/Version.h | 42 + libjava/gnu/CORBA/WCharHolder.h | 52 + libjava/gnu/CORBA/WStringHolder.h | 56 + libjava/gnu/CORBA/_PolicyImplBase.h | 64 + libjava/gnu/CORBA/gnuAny.h | 126 + libjava/gnu/CORBA/gnuCodecFactory.h | 48 + libjava/gnu/CORBA/gnuContext.h | 53 + libjava/gnu/CORBA/gnuContextList.h | 37 + libjava/gnu/CORBA/gnuEnvironment.h | 35 + libjava/gnu/CORBA/gnuExceptionList.h | 47 + libjava/gnu/CORBA/gnuNVList.h | 52 + libjava/gnu/CORBA/gnuNamedValue.h | 50 + libjava/gnu/CORBA/gnuRequest$1.h | 35 + libjava/gnu/CORBA/gnuRequest$2.h | 37 + libjava/gnu/CORBA/gnuRequest.h | 184 + libjava/gnu/CORBA/gnuValueHolder.h | 54 + libjava/gnu/CORBA/interfaces/SocketFactory.h | 42 + libjava/gnu/CORBA/typecodes/AliasTypeCode.h | 54 + libjava/gnu/CORBA/typecodes/ArrayTypeCode.h | 56 + libjava/gnu/CORBA/typecodes/FixedTypeCode.h | 61 + libjava/gnu/CORBA/typecodes/GeneralTypeCode.h | 70 + libjava/gnu/CORBA/typecodes/PrimitiveTypeCode.h | 68 + libjava/gnu/CORBA/typecodes/RecordTypeCode$Field.h | 47 + libjava/gnu/CORBA/typecodes/RecordTypeCode.h | 72 + libjava/gnu/CORBA/typecodes/RecursiveTypeCode.h | 37 + libjava/gnu/CORBA/typecodes/StringTypeCode.h | 48 + libjava/gnu/awt/LightweightRedirector.h | 51 + libjava/gnu/awt/j2d/AbstractGraphicsState.h | 90 + libjava/gnu/awt/j2d/DirectRasterGraphics.h | 71 + libjava/gnu/awt/j2d/Graphics2DImpl.h | 157 + .../j2d/IntegerGraphicsState$ScreenCoupledImage.h | 39 + libjava/gnu/awt/j2d/IntegerGraphicsState.h | 94 + libjava/gnu/awt/j2d/MappedRaster.h | 49 + libjava/gnu/classpath/Configuration.h | 38 + libjava/gnu/classpath/Configuration.java | 105 + libjava/gnu/classpath/ListenerData.h | 46 + libjava/gnu/classpath/NotImplementedException.h | 30 + libjava/gnu/classpath/Pointer.h | 29 + libjava/gnu/classpath/Pointer32.h | 32 + libjava/gnu/classpath/Pointer64.h | 32 + .../gnu/classpath/ServiceFactory$ServiceIterator.h | 55 + libjava/gnu/classpath/ServiceFactory.h | 36 + .../gnu/classpath/ServiceProviderLoadingAction.h | 36 + libjava/gnu/classpath/SystemProperties.h | 45 + libjava/gnu/classpath/SystemProperties.java | 16 +- libjava/gnu/classpath/VMStackWalker.h | 46 + libjava/gnu/classpath/VMStackWalker.java | 138 + libjava/gnu/classpath/debug/Component.h | 50 + libjava/gnu/classpath/debug/PreciseFilter.h | 41 + libjava/gnu/classpath/debug/Simple1LineFormatter.h | 50 + libjava/gnu/classpath/debug/SystemLogger.h | 39 + libjava/gnu/classpath/debug/TeeInputStream.h | 42 + libjava/gnu/classpath/debug/TeeOutputStream.h | 42 + libjava/gnu/classpath/debug/TeeReader.h | 42 + libjava/gnu/classpath/debug/TeeWriter.h | 42 + libjava/gnu/classpath/jdwp/Jdwp$1.h | 38 + libjava/gnu/classpath/jdwp/Jdwp.h | 79 + .../gnu/classpath/jdwp/JdwpConstants$ClassStatus.h | 36 + .../jdwp/JdwpConstants$CommandSet$ArrayReference.h | 36 + .../jdwp/JdwpConstants$CommandSet$ArrayType.h | 34 + ...JdwpConstants$CommandSet$ClassLoaderReference.h | 34 + ...JdwpConstants$CommandSet$ClassObjectReference.h | 34 + .../jdwp/JdwpConstants$CommandSet$ClassType.h | 37 + .../jdwp/JdwpConstants$CommandSet$Event.h | 34 + .../jdwp/JdwpConstants$CommandSet$EventRequest.h | 36 + .../jdwp/JdwpConstants$CommandSet$Field.h | 33 + .../jdwp/JdwpConstants$CommandSet$InterfaceType.h | 33 + .../jdwp/JdwpConstants$CommandSet$Method.h | 38 + .../JdwpConstants$CommandSet$ObjectReference.h | 41 + .../jdwp/JdwpConstants$CommandSet$ReferenceType.h | 48 + .../jdwp/JdwpConstants$CommandSet$StackFrame.h | 37 + .../JdwpConstants$CommandSet$StringReference.h | 34 + ...JdwpConstants$CommandSet$ThreadGroupReference.h | 36 + .../JdwpConstants$CommandSet$ThreadReference.h | 45 + .../jdwp/JdwpConstants$CommandSet$VirtualMachine.h | 53 + .../gnu/classpath/jdwp/JdwpConstants$CommandSet.h | 33 + libjava/gnu/classpath/jdwp/JdwpConstants$Error.h | 88 + .../gnu/classpath/jdwp/JdwpConstants$EventKind.h | 52 + .../classpath/jdwp/JdwpConstants$InvokeOptions.h | 34 + libjava/gnu/classpath/jdwp/JdwpConstants$ModKind.h | 43 + .../gnu/classpath/jdwp/JdwpConstants$StepDepth.h | 35 + .../gnu/classpath/jdwp/JdwpConstants$StepSize.h | 34 + .../classpath/jdwp/JdwpConstants$SuspendPolicy.h | 35 + .../classpath/jdwp/JdwpConstants$SuspendStatus.h | 33 + libjava/gnu/classpath/jdwp/JdwpConstants$Tag.h | 48 + .../classpath/jdwp/JdwpConstants$ThreadStatus.h | 37 + libjava/gnu/classpath/jdwp/JdwpConstants$TypeTag.h | 35 + libjava/gnu/classpath/jdwp/JdwpConstants$Version.h | 34 + libjava/gnu/classpath/jdwp/JdwpConstants.h | 32 + libjava/gnu/classpath/jdwp/VMFrame.h | 47 + libjava/gnu/classpath/jdwp/VMIdManager$IdFactory.h | 46 + .../gnu/classpath/jdwp/VMIdManager$ReferenceKey.h | 41 + libjava/gnu/classpath/jdwp/VMIdManager.h | 62 + libjava/gnu/classpath/jdwp/VMMethod.h | 60 + libjava/gnu/classpath/jdwp/VMVirtualMachine.h | 75 + libjava/gnu/classpath/jdwp/event/BreakpointEvent.h | 47 + .../gnu/classpath/jdwp/event/ClassPrepareEvent.h | 47 + .../gnu/classpath/jdwp/event/ClassUnloadEvent.h | 41 + libjava/gnu/classpath/jdwp/event/Event.h | 56 + libjava/gnu/classpath/jdwp/event/EventManager.h | 50 + libjava/gnu/classpath/jdwp/event/EventRequest.h | 75 + libjava/gnu/classpath/jdwp/event/ExceptionEvent.h | 51 + .../gnu/classpath/jdwp/event/MethodEntryEvent.h | 47 + libjava/gnu/classpath/jdwp/event/MethodExitEvent.h | 47 + libjava/gnu/classpath/jdwp/event/SingleStepEvent.h | 47 + libjava/gnu/classpath/jdwp/event/ThreadEndEvent.h | 41 + .../gnu/classpath/jdwp/event/ThreadStartEvent.h | 41 + libjava/gnu/classpath/jdwp/event/VmDeathEvent.h | 39 + libjava/gnu/classpath/jdwp/event/VmInitEvent.h | 41 + .../jdwp/event/filters/ClassExcludeFilter.h | 40 + .../jdwp/event/filters/ClassMatchFilter.h | 44 + .../classpath/jdwp/event/filters/ClassOnlyFilter.h | 48 + .../jdwp/event/filters/ConditionalFilter.h | 40 + .../gnu/classpath/jdwp/event/filters/CountFilter.h | 44 + .../jdwp/event/filters/ExceptionOnlyFilter.h | 50 + .../classpath/jdwp/event/filters/FieldOnlyFilter.h | 50 + .../classpath/jdwp/event/filters/IEventFilter.h | 39 + .../jdwp/event/filters/InstanceOnlyFilter.h | 48 + .../jdwp/event/filters/LocationOnlyFilter.h | 48 + .../gnu/classpath/jdwp/event/filters/StepFilter.h | 52 + .../jdwp/event/filters/ThreadOnlyFilter.h | 48 + .../jdwp/exception/InvalidClassException.h | 36 + .../jdwp/exception/InvalidClassLoaderException.h | 36 + .../jdwp/exception/InvalidCountException.h | 36 + .../jdwp/exception/InvalidEventTypeException.h | 36 + .../jdwp/exception/InvalidFieldException.h | 36 + .../jdwp/exception/InvalidLocationException.h | 36 + .../jdwp/exception/InvalidMethodException.h | 36 + .../jdwp/exception/InvalidObjectException.h | 36 + .../jdwp/exception/InvalidStringException.h | 37 + .../jdwp/exception/InvalidThreadException.h | 36 + .../jdwp/exception/InvalidThreadGroupException.h | 36 + .../gnu/classpath/jdwp/exception/JdwpException.h | 40 + .../jdwp/exception/JdwpIllegalArgumentException.h | 35 + .../jdwp/exception/JdwpInternalErrorException.h | 36 + .../jdwp/exception/NativeMethodException.h | 36 + .../jdwp/exception/NotImplementedException.h | 35 + .../gnu/classpath/jdwp/exception/VmDeadException.h | 35 + libjava/gnu/classpath/jdwp/id/ArrayId.h | 35 + .../gnu/classpath/jdwp/id/ArrayReferenceTypeId.h | 35 + libjava/gnu/classpath/jdwp/id/ClassLoaderId.h | 37 + libjava/gnu/classpath/jdwp/id/ClassObjectId.h | 37 + .../gnu/classpath/jdwp/id/ClassReferenceTypeId.h | 35 + .../classpath/jdwp/id/InterfaceReferenceTypeId.h | 35 + libjava/gnu/classpath/jdwp/id/JdwpId.h | 50 + libjava/gnu/classpath/jdwp/id/ObjectId.h | 44 + libjava/gnu/classpath/jdwp/id/ReferenceTypeId.h | 37 + libjava/gnu/classpath/jdwp/id/StringId.h | 37 + libjava/gnu/classpath/jdwp/id/ThreadGroupId.h | 37 + libjava/gnu/classpath/jdwp/id/ThreadId.h | 37 + .../jdwp/processor/ArrayReferenceCommandSet.h | 48 + .../classpath/jdwp/processor/ArrayTypeCommandSet.h | 44 + .../processor/ClassLoaderReferenceCommandSet.h | 44 + .../processor/ClassObjectReferenceCommandSet.h | 44 + .../classpath/jdwp/processor/ClassTypeCommandSet.h | 54 + libjava/gnu/classpath/jdwp/processor/CommandSet.h | 47 + .../jdwp/processor/EventRequestCommandSet.h | 48 + .../gnu/classpath/jdwp/processor/FieldCommandSet.h | 43 + .../jdwp/processor/InterfaceTypeCommandSet.h | 43 + .../classpath/jdwp/processor/MethodCommandSet.h | 50 + .../jdwp/processor/ObjectReferenceCommandSet.h | 53 + .../gnu/classpath/jdwp/processor/PacketProcessor.h | 52 + .../jdwp/processor/ReferenceTypeCommandSet.h | 60 + .../jdwp/processor/StackFrameCommandSet.h | 49 + .../jdwp/processor/StringReferenceCommandSet.h | 46 + .../processor/ThreadGroupReferenceCommandSet.h | 48 + .../jdwp/processor/ThreadReferenceCommandSet.h | 57 + .../jdwp/processor/VirtualMachineCommandSet.h | 66 + libjava/gnu/classpath/jdwp/transport/ITransport.h | 39 + .../classpath/jdwp/transport/JdwpCommandPacket.h | 51 + .../gnu/classpath/jdwp/transport/JdwpConnection.h | 66 + libjava/gnu/classpath/jdwp/transport/JdwpPacket.h | 61 + .../gnu/classpath/jdwp/transport/JdwpReplyPacket.h | 50 + .../gnu/classpath/jdwp/transport/SocketTransport.h | 57 + .../classpath/jdwp/transport/TransportException.h | 36 + .../transport/TransportFactory$TransportMethod.h | 39 + .../classpath/jdwp/transport/TransportFactory.h | 44 + libjava/gnu/classpath/jdwp/util/JdwpString.h | 44 + libjava/gnu/classpath/jdwp/util/LineTable.h | 44 + libjava/gnu/classpath/jdwp/util/Location.h | 53 + libjava/gnu/classpath/jdwp/util/MethodResult.h | 43 + libjava/gnu/classpath/jdwp/util/Signature.h | 44 + libjava/gnu/classpath/jdwp/util/Value.h | 50 + libjava/gnu/classpath/jdwp/util/VariableTable.h | 47 + libjava/gnu/classpath/natConfiguration.cc | 39 + libjava/gnu/classpath/natSystemProperties.cc | 4 +- libjava/gnu/classpath/natVMStackWalker.cc | 80 + libjava/gnu/gcj/Core.h | 36 + libjava/gnu/gcj/RawData.h | 29 + libjava/gnu/gcj/RawDataManaged.h | 29 + libjava/gnu/gcj/convert/BytesToCharsetAdaptor.h | 54 + libjava/gnu/gcj/convert/BytesToUnicode.h | 50 + libjava/gnu/gcj/convert/CharsetToBytesAdaptor.h | 64 + libjava/gnu/gcj/convert/Convert.h | 41 + libjava/gnu/gcj/convert/IOConverter.h | 41 + libjava/gnu/gcj/convert/Input_8859_1.h | 36 + libjava/gnu/gcj/convert/Input_ASCII.h | 36 + libjava/gnu/gcj/convert/Input_EUCJIS.h | 40 + libjava/gnu/gcj/convert/Input_JavaSrc.h | 40 + libjava/gnu/gcj/convert/Input_SJIS.h | 39 + libjava/gnu/gcj/convert/Input_UTF8.h | 40 + libjava/gnu/gcj/convert/Input_UnicodeBig.h | 40 + libjava/gnu/gcj/convert/Input_UnicodeLittle.h | 40 + libjava/gnu/gcj/convert/Input_iconv.h | 46 + libjava/gnu/gcj/convert/Output_8859_1.h | 37 + libjava/gnu/gcj/convert/Output_ASCII.h | 37 + libjava/gnu/gcj/convert/Output_EUCJIS.h | 42 + libjava/gnu/gcj/convert/Output_JavaSrc.h | 40 + libjava/gnu/gcj/convert/Output_SJIS.h | 41 + libjava/gnu/gcj/convert/Output_UTF8.h | 43 + .../gnu/gcj/convert/Output_UnicodeLittleUnmarked.h | 36 + libjava/gnu/gcj/convert/Output_iconv.h | 46 + libjava/gnu/gcj/convert/UnicodeToBytes.h | 52 + libjava/gnu/gcj/convert/Unicode_to_JIS.cc | 1 - libjava/gnu/gcj/convert/natIconv.cc | 12 +- libjava/gnu/gcj/io/DefaultMimeTypes.h | 35 + libjava/gnu/gcj/io/MimeTypes.h | 37 + libjava/gnu/gcj/io/SimpleSHSStream.h | 50 + libjava/gnu/gcj/jvmti/Breakpoint.h | 44 + libjava/gnu/gcj/jvmti/BreakpointManager.h | 40 + libjava/gnu/gcj/jvmti/Location.h | 39 + libjava/gnu/gcj/natCore.cc | 4 +- libjava/gnu/gcj/runtime/BootClassLoader.h | 43 + libjava/gnu/gcj/runtime/ExtensionClassLoader.h | 40 + libjava/gnu/gcj/runtime/FinalizerThread.h | 41 + libjava/gnu/gcj/runtime/HelperClassLoader$1.h | 38 + libjava/gnu/gcj/runtime/HelperClassLoader.h | 35 + libjava/gnu/gcj/runtime/JNIWeakRef.h | 32 + libjava/gnu/gcj/runtime/NameFinder$Addr2Line.h | 39 + libjava/gnu/gcj/runtime/NameFinder.h | 50 + .../gnu/gcj/runtime/PersistentByteMap$AccessMode.h | 49 + .../gcj/runtime/PersistentByteMap$ByteWrapper.h | 42 + .../gcj/runtime/PersistentByteMap$HashIterator.h | 44 + .../gnu/gcj/runtime/PersistentByteMap$MapEntry.h | 40 + libjava/gnu/gcj/runtime/PersistentByteMap.h | 115 + libjava/gnu/gcj/runtime/SharedLibHelper.h | 76 + libjava/gnu/gcj/runtime/SharedLibLoader.h | 47 + libjava/gnu/gcj/runtime/StringBuffer.h | 54 + libjava/gnu/gcj/runtime/SystemClassLoader.h | 40 + libjava/gnu/gcj/runtime/natSharedLibLoader.cc | 8 +- libjava/gnu/gcj/tools/gcj_dbtool/Fileset.h | 42 + libjava/gnu/gcj/tools/gcj_dbtool/Main.h | 55 + libjava/gnu/gcj/tools/gcj_dbtool/Tokenizer.h | 40 + libjava/gnu/gcj/util/Debug.h | 57 + ...VisibleComponentList$VisibleComponentIterator.h | 48 + .../java/awt/AWTUtilities$VisibleComponentList.h | 47 + libjava/gnu/java/awt/AWTUtilities.h | 71 + libjava/gnu/java/awt/BitMaskExtent.h | 36 + .../java/awt/BitwiseXORComposite$GeneralContext.h | 52 + .../gnu/java/awt/BitwiseXORComposite$IntContext.h | 48 + libjava/gnu/java/awt/BitwiseXORComposite.h | 49 + libjava/gnu/java/awt/Buffers.h | 49 + libjava/gnu/java/awt/ClasspathToolkit.h | 69 + libjava/gnu/java/awt/ComponentDataBlitOp.h | 55 + libjava/gnu/java/awt/ComponentReshapeEvent.h | 43 + libjava/gnu/java/awt/EmbeddedWindow.h | 39 + libjava/gnu/java/awt/EventModifier.h | 36 + libjava/gnu/java/awt/GradientPaintContext.h | 57 + libjava/gnu/java/awt/LowPriorityEvent.h | 31 + libjava/gnu/java/awt/color/CieXyzConverter.h | 41 + libjava/gnu/java/awt/color/ClutProfileConverter.h | 57 + libjava/gnu/java/awt/color/ColorLookUpTable.h | 73 + libjava/gnu/java/awt/color/ColorSpaceConverter.h | 40 + libjava/gnu/java/awt/color/GrayProfileConverter.h | 60 + libjava/gnu/java/awt/color/GrayScaleConverter.h | 46 + libjava/gnu/java/awt/color/LinearRGBConverter.h | 41 + libjava/gnu/java/awt/color/ProfileHeader.h | 75 + libjava/gnu/java/awt/color/PyccConverter.h | 41 + libjava/gnu/java/awt/color/RgbProfileConverter.h | 64 + libjava/gnu/java/awt/color/SrgbConverter.h | 43 + libjava/gnu/java/awt/color/TagEntry.h | 53 + libjava/gnu/java/awt/color/ToneReproductionCurve.h | 47 + .../java/awt/dnd/GtkMouseDragGestureRecognizer.h | 66 + .../awt/dnd/peer/gtk/GtkDragSourceContextPeer.h | 86 + .../awt/dnd/peer/gtk/GtkDropTargetContextPeer.h | 69 + .../gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h | 53 + libjava/gnu/java/awt/font/FontDelegate.h | 68 + libjava/gnu/java/awt/font/FontFactory.h | 46 + libjava/gnu/java/awt/font/GNUGlyphVector.h | 98 + libjava/gnu/java/awt/font/autofit/AxisHints.h | 43 + libjava/gnu/java/awt/font/autofit/Constants.h | 40 + libjava/gnu/java/awt/font/autofit/GlyphHints.h | 59 + libjava/gnu/java/awt/font/autofit/Latin.h | 59 + libjava/gnu/java/awt/font/autofit/LatinAxis.h | 47 + libjava/gnu/java/awt/font/autofit/LatinMetrics.h | 44 + libjava/gnu/java/awt/font/autofit/Scaler.h | 48 + libjava/gnu/java/awt/font/autofit/Script.h | 48 + libjava/gnu/java/awt/font/autofit/ScriptMetrics.h | 43 + libjava/gnu/java/awt/font/autofit/Segment.h | 42 + libjava/gnu/java/awt/font/autofit/Width.h | 43 + .../java/awt/font/opentype/CharGlyphMap$Dummy.h | 42 + .../java/awt/font/opentype/CharGlyphMap$Type0.h | 66 + .../java/awt/font/opentype/CharGlyphMap$Type12.h | 53 + .../java/awt/font/opentype/CharGlyphMap$Type4.h | 60 + libjava/gnu/java/awt/font/opentype/CharGlyphMap.h | 52 + libjava/gnu/java/awt/font/opentype/GlyphNamer.h | 69 + .../awt/font/opentype/MacResourceFork$Resource.h | 58 + .../gnu/java/awt/font/opentype/MacResourceFork.h | 55 + libjava/gnu/java/awt/font/opentype/NameDecoder.h | 85 + libjava/gnu/java/awt/font/opentype/OpenTypeFont.h | 122 + .../java/awt/font/opentype/OpenTypeFontFactory.h | 49 + libjava/gnu/java/awt/font/opentype/Scaler.h | 59 + .../gnu/java/awt/font/opentype/truetype/Fixed.h | 54 + .../java/awt/font/opentype/truetype/GlyphLoader.h | 91 + .../font/opentype/truetype/GlyphLocator$FourByte.h | 54 + .../font/opentype/truetype/GlyphLocator$TwoByte.h | 54 + .../java/awt/font/opentype/truetype/GlyphLocator.h | 54 + .../awt/font/opentype/truetype/GlyphMeasurer.h | 66 + .../awt/font/opentype/truetype/TrueTypeScaler.h | 75 + .../awt/font/opentype/truetype/VirtualMachine.h | 153 + libjava/gnu/java/awt/font/opentype/truetype/Zone.h | 88 + .../awt/font/opentype/truetype/ZonePathIterator.h | 67 + .../image/ImageDecoder$DataInputStreamWrapper.h | 40 + libjava/gnu/java/awt/image/ImageDecoder.h | 71 + libjava/gnu/java/awt/image/XBMDecoder.h | 61 + libjava/gnu/java/awt/java2d/AbstractGraphics2D.h | 214 + .../gnu/java/awt/java2d/AlphaCompositeContext.h | 57 + libjava/gnu/java/awt/java2d/CubicSegment.h | 56 + .../java/awt/java2d/ImagePaint$ImagePaintContext.h | 60 + libjava/gnu/java/awt/java2d/ImagePaint.h | 61 + libjava/gnu/java/awt/java2d/LineSegment.h | 54 + libjava/gnu/java/awt/java2d/PolyEdge.h | 47 + libjava/gnu/java/awt/java2d/PolyEdgeComparator.h | 39 + libjava/gnu/java/awt/java2d/QuadSegment.h | 61 + libjava/gnu/java/awt/java2d/RasterGraphics.h | 56 + libjava/gnu/java/awt/java2d/Segment.h | 65 + libjava/gnu/java/awt/java2d/ShapeCache.h | 56 + libjava/gnu/java/awt/java2d/TexturePaintContext.h | 64 + libjava/gnu/java/awt/peer/ClasspathFontPeer.h | 123 + libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h | 146 + libjava/gnu/java/awt/peer/GLightweightPeer.h | 133 + .../java/awt/peer/NativeEventLoopRunningEvent.h | 39 + libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h | 53 + .../java/awt/peer/gtk/AsyncImage$NullImageSource.h | 60 + libjava/gnu/java/awt/peer/gtk/AsyncImage.h | 71 + .../gnu/java/awt/peer/gtk/BufferedImageGraphics.h | 104 + libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h | 279 + .../awt/peer/gtk/CairoSurface$CairoDataBuffer.h | 44 + libjava/gnu/java/awt/peer/gtk/CairoSurface.h | 104 + .../gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h | 93 + libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h | 128 + .../gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h | 78 + .../gnu/java/awt/peer/gtk/FreetypeGlyphVector.h | 110 + libjava/gnu/java/awt/peer/gtk/GThreadMutex.h | 41 + .../java/awt/peer/gtk/GThreadNativeMethodRunner.h | 58 + libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h | 74 + .../awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h | 57 + .../java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h | 61 + libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h | 142 + .../java/awt/peer/gtk/GdkGraphicsConfiguration.h | 78 + .../gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h | 82 + .../peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h | 89 + .../peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h | 48 + .../peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h | 70 + .../peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h | 49 + .../peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h | 44 + libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h | 108 + libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h | 69 + .../gtk/GdkScreenGraphicsDevice$X11DisplayMode.h | 44 + .../java/awt/peer/gtk/GdkScreenGraphicsDevice.h | 97 + libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h | 68 + libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h | 49 + .../java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h | 51 + libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h | 70 + libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h | 69 + libjava/gnu/java/awt/peer/gtk/GtkClipboard.h | 73 + .../gnu/java/awt/peer/gtk/GtkClipboardNotifier.h | 47 + .../peer/gtk/GtkComponentPeer$RepaintTimerTask.h | 57 + libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h | 198 + libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h | 64 + libjava/gnu/java/awt/peer/gtk/GtkCursor.h | 53 + libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h | 48 + .../gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h | 44 + libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h | 80 + libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h | 90 + libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h | 64 + libjava/gnu/java/awt/peer/gtk/GtkImage.h | 113 + libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h | 70 + libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h | 64 + libjava/gnu/java/awt/peer/gtk/GtkListPeer.h | 80 + libjava/gnu/java/awt/peer/gtk/GtkMainThread.h | 53 + libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h | 57 + .../gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h | 52 + libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h | 57 + libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h | 66 + libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h | 52 + libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h | 52 + libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h | 54 + libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h | 62 + libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h | 57 + libjava/gnu/java/awt/peer/gtk/GtkSelection.h | 94 + libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h | 89 + libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h | 80 + libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h | 40 + .../gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h | 43 + libjava/gnu/java/awt/peer/gtk/GtkToolkit.h | 235 + libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h | 98 + libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h | 125 + .../gnu/java/awt/peer/gtk/VolatileImageGraphics.h | 90 + .../peer/headless/HeadlessGraphicsEnvironment.h | 59 + .../gnu/java/awt/peer/headless/HeadlessToolkit.h | 188 + libjava/gnu/java/awt/peer/qt/MainQtThread.h | 50 + libjava/gnu/java/awt/peer/qt/NativeWrapper.h | 41 + libjava/gnu/java/awt/peer/qt/QMatrix.h | 57 + libjava/gnu/java/awt/peer/qt/QPainterPath.h | 64 + libjava/gnu/java/awt/peer/qt/QPen.h | 50 + libjava/gnu/java/awt/peer/qt/QtAudioClip.h | 64 + libjava/gnu/java/awt/peer/qt/QtButtonPeer.h | 53 + libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h | 52 + libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h | 60 + libjava/gnu/java/awt/peer/qt/QtChoicePeer.h | 57 + libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h | 56 + .../awt/peer/qt/QtComponentPeer$RepaintTimerTask.h | 50 + libjava/gnu/java/awt/peer/qt/QtComponentPeer.h | 189 + libjava/gnu/java/awt/peer/qt/QtContainerPeer.h | 61 + libjava/gnu/java/awt/peer/qt/QtDialogPeer.h | 56 + .../gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h | 51 + libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h | 56 + libjava/gnu/java/awt/peer/qt/QtFontMetrics.h | 80 + libjava/gnu/java/awt/peer/qt/QtFontPeer.h | 89 + libjava/gnu/java/awt/peer/qt/QtFramePeer.h | 77 + libjava/gnu/java/awt/peer/qt/QtGraphics.h | 215 + .../gnu/java/awt/peer/qt/QtGraphicsEnvironment.h | 65 + libjava/gnu/java/awt/peer/qt/QtImage.h | 128 + libjava/gnu/java/awt/peer/qt/QtImageConsumer.h | 70 + .../gnu/java/awt/peer/qt/QtImageDirectGraphics.h | 76 + libjava/gnu/java/awt/peer/qt/QtImageGraphics.h | 59 + libjava/gnu/java/awt/peer/qt/QtLabelPeer.h | 52 + libjava/gnu/java/awt/peer/qt/QtListPeer.h | 75 + libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h | 61 + libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h | 59 + libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h | 62 + libjava/gnu/java/awt/peer/qt/QtMenuPeer.h | 73 + libjava/gnu/java/awt/peer/qt/QtPanelPeer.h | 50 + libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h | 53 + .../awt/peer/qt/QtRepaintThread$RepaintComponent.h | 47 + libjava/gnu/java/awt/peer/qt/QtRepaintThread.h | 47 + libjava/gnu/java/awt/peer/qt/QtScreenDevice.h | 76 + .../java/awt/peer/qt/QtScreenDeviceConfiguration.h | 76 + libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h | 61 + libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h | 56 + libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h | 79 + libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h | 79 + libjava/gnu/java/awt/peer/qt/QtToolkit.h | 203 + libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h | 44 + libjava/gnu/java/awt/peer/qt/QtVolatileImage.h | 117 + libjava/gnu/java/awt/peer/qt/QtWindowPeer.h | 55 + .../awt/peer/swing/SwingButtonPeer$SwingButton.h | 76 + .../swing/SwingButtonPeer$SwingButtonListener.h | 54 + libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h | 46 + libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h | 45 + libjava/gnu/java/awt/peer/swing/SwingComponent.h | 59 + .../gnu/java/awt/peer/swing/SwingComponentPeer.h | 146 + .../gnu/java/awt/peer/swing/SwingContainerPeer.h | 83 + libjava/gnu/java/awt/peer/swing/SwingFramePeer.h | 77 + .../awt/peer/swing/SwingLabelPeer$SwingLabel.h | 76 + libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h | 47 + .../java/awt/peer/swing/SwingListPeer$SwingList.h | 76 + libjava/gnu/java/awt/peer/swing/SwingListPeer.h | 79 + .../awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h | 59 + libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h | 70 + .../SwingMenuItemPeer$SwingMenuItemListener.h | 54 + .../gnu/java/awt/peer/swing/SwingMenuItemPeer.h | 63 + .../java/awt/peer/swing/SwingMenuPeer$SwingMenu.h | 58 + libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h | 72 + libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h | 45 + .../peer/swing/SwingTextAreaPeer$SwingTextArea.h | 76 + .../gnu/java/awt/peer/swing/SwingTextAreaPeer.h | 81 + .../peer/swing/SwingTextFieldPeer$SwingTextField.h | 76 + .../gnu/java/awt/peer/swing/SwingTextFieldPeer.h | 69 + libjava/gnu/java/awt/peer/swing/SwingToolkit.h | 73 + libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h | 49 + libjava/gnu/java/awt/print/JavaPrinterGraphics.h | 124 + libjava/gnu/java/awt/print/JavaPrinterJob.h | 95 + libjava/gnu/java/awt/print/PostScriptGraphics2D.h | 211 + libjava/gnu/java/awt/print/SpooledDocument.h | 54 + libjava/gnu/java/beans/BeanInfoEmbryo.h | 73 + libjava/gnu/java/beans/DefaultExceptionListener.h | 34 + libjava/gnu/java/beans/DoubleKey.h | 41 + libjava/gnu/java/beans/DummyAppletContext.h | 62 + libjava/gnu/java/beans/DummyAppletStub.h | 55 + libjava/gnu/java/beans/ExplicitBeanInfo.h | 67 + libjava/gnu/java/beans/IntrospectionIncubator.h | 71 + libjava/gnu/java/beans/decoder/AbstractContext.h | 52 + .../beans/decoder/AbstractCreatableObjectContext.h | 47 + .../java/beans/decoder/AbstractElementHandler.h | 82 + .../gnu/java/beans/decoder/AbstractObjectContext.h | 44 + libjava/gnu/java/beans/decoder/ArrayContext.h | 47 + libjava/gnu/java/beans/decoder/ArrayHandler.h | 59 + libjava/gnu/java/beans/decoder/AssemblyException.h | 36 + libjava/gnu/java/beans/decoder/BooleanHandler.h | 39 + libjava/gnu/java/beans/decoder/ByteHandler.h | 39 + libjava/gnu/java/beans/decoder/CharHandler.h | 39 + libjava/gnu/java/beans/decoder/ClassHandler.h | 39 + .../gnu/java/beans/decoder/ConstructorContext.h | 43 + libjava/gnu/java/beans/decoder/Context.h | 45 + libjava/gnu/java/beans/decoder/DecoderContext.h | 55 + libjava/gnu/java/beans/decoder/DoubleHandler.h | 39 + libjava/gnu/java/beans/decoder/DummyContext.h | 46 + libjava/gnu/java/beans/decoder/DummyHandler.h | 72 + libjava/gnu/java/beans/decoder/ElementHandler.h | 66 + libjava/gnu/java/beans/decoder/FloatHandler.h | 39 + .../gnu/java/beans/decoder/GrowableArrayContext.h | 50 + libjava/gnu/java/beans/decoder/IndexContext.h | 50 + libjava/gnu/java/beans/decoder/IntHandler.h | 39 + libjava/gnu/java/beans/decoder/JavaHandler.h | 65 + libjava/gnu/java/beans/decoder/LongHandler.h | 39 + libjava/gnu/java/beans/decoder/MethodContext.h | 44 + libjava/gnu/java/beans/decoder/MethodFinder.h | 44 + libjava/gnu/java/beans/decoder/NullHandler.h | 39 + libjava/gnu/java/beans/decoder/ObjectContext.h | 43 + libjava/gnu/java/beans/decoder/ObjectHandler.h | 57 + .../PersistenceParser$ArrayHandlerCreator.h | 43 + .../PersistenceParser$BooleanHandlerCreator.h | 43 + .../decoder/PersistenceParser$ByteHandlerCreator.h | 43 + .../decoder/PersistenceParser$CharHandlerCreator.h | 43 + .../PersistenceParser$ClassHandlerCreator.h | 43 + .../java/beans/decoder/PersistenceParser$Creator.h | 37 + .../PersistenceParser$DoubleHandlerCreator.h | 43 + .../PersistenceParser$FloatHandlerCreator.h | 43 + .../decoder/PersistenceParser$IntHandlerCreator.h | 43 + .../decoder/PersistenceParser$JavaHandlerCreator.h | 43 + .../decoder/PersistenceParser$LongHandlerCreator.h | 43 + .../decoder/PersistenceParser$NullHandlerCreator.h | 43 + .../PersistenceParser$ObjectHandlerCreator.h | 43 + .../PersistenceParser$ShortHandlerCreator.h | 43 + .../PersistenceParser$StringHandlerCreator.h | 43 + .../decoder/PersistenceParser$VoidHandlerCreator.h | 43 + libjava/gnu/java/beans/decoder/PersistenceParser.h | 84 + libjava/gnu/java/beans/decoder/PropertyContext.h | 47 + libjava/gnu/java/beans/decoder/ShortHandler.h | 39 + libjava/gnu/java/beans/decoder/SimpleHandler.h | 64 + .../gnu/java/beans/decoder/StaticMethodContext.h | 45 + libjava/gnu/java/beans/decoder/StringHandler.h | 39 + libjava/gnu/java/beans/decoder/VoidHandler.h | 59 + libjava/gnu/java/beans/editors/ColorEditor.h | 51 + libjava/gnu/java/beans/editors/FontEditor.h | 37 + .../gnu/java/beans/editors/NativeBooleanEditor.h | 42 + libjava/gnu/java/beans/editors/NativeByteEditor.h | 37 + .../gnu/java/beans/editors/NativeDoubleEditor.h | 37 + libjava/gnu/java/beans/editors/NativeFloatEditor.h | 37 + libjava/gnu/java/beans/editors/NativeIntEditor.h | 37 + libjava/gnu/java/beans/editors/NativeLongEditor.h | 37 + libjava/gnu/java/beans/editors/NativeShortEditor.h | 37 + libjava/gnu/java/beans/editors/StringEditor.h | 37 + .../java/beans/encoder/ArrayPersistenceDelegate.h | 51 + .../java/beans/encoder/ClassPersistenceDelegate.h | 46 + .../beans/encoder/CollectionPersistenceDelegate.h | 47 + libjava/gnu/java/beans/encoder/Context.h | 43 + .../gnu/java/beans/encoder/GenericScannerState.h | 66 + .../gnu/java/beans/encoder/IgnoringScannerState.h | 53 + .../java/beans/encoder/MapPersistenceDelegate.h | 47 + libjava/gnu/java/beans/encoder/ObjectId.h | 46 + .../beans/encoder/PrimitivePersistenceDelegate.h | 47 + .../gnu/java/beans/encoder/ReportingScannerState.h | 53 + libjava/gnu/java/beans/encoder/Root$RootElement.h | 39 + libjava/gnu/java/beans/encoder/Root.h | 52 + libjava/gnu/java/beans/encoder/ScanEngine.h | 85 + libjava/gnu/java/beans/encoder/ScannerState.h | 94 + libjava/gnu/java/beans/encoder/StAXWriter.h | 62 + libjava/gnu/java/beans/encoder/Writer.h | 47 + .../beans/encoder/elements/ArrayInstantiation.h | 44 + .../gnu/java/beans/encoder/elements/Array_Get.h | 43 + .../gnu/java/beans/encoder/elements/Array_Set.h | 43 + .../java/beans/encoder/elements/ClassResolution.h | 44 + libjava/gnu/java/beans/encoder/elements/Element.h | 55 + libjava/gnu/java/beans/encoder/elements/List_Get.h | 40 + libjava/gnu/java/beans/encoder/elements/List_Set.h | 40 + .../java/beans/encoder/elements/MethodInvocation.h | 43 + .../gnu/java/beans/encoder/elements/NullObject.h | 41 + .../beans/encoder/elements/ObjectInstantiation.h | 43 + .../java/beans/encoder/elements/ObjectReference.h | 44 + .../encoder/elements/PrimitiveInstantiation.h | 45 + .../beans/encoder/elements/StaticFieldAccess.h | 44 + .../encoder/elements/StaticMethodInvocation.h | 44 + .../java/beans/encoder/elements/StringReference.h | 44 + libjava/gnu/java/io/ASN1ParsingException.h | 33 + libjava/gnu/java/io/Base64InputStream.h | 50 + libjava/gnu/java/io/ClassLoaderObjectInputStream.h | 36 + libjava/gnu/java/io/NullOutputStream.h | 39 + libjava/gnu/java/io/ObjectIdentityMap2Int.h | 53 + libjava/gnu/java/io/ObjectIdentityWrapper.h | 36 + libjava/gnu/java/io/PlatformHelper.h | 43 + libjava/gnu/java/lang/ArrayHelper.h | 36 + libjava/gnu/java/lang/CharData.h | 45 + libjava/gnu/java/lang/ClassHelper.h | 43 + libjava/gnu/java/lang/InstrumentationImpl.h | 53 + libjava/gnu/java/lang/MainThread.h | 52 + libjava/gnu/java/lang/VMInstrumentationImpl.h | 40 + libjava/gnu/java/lang/management/BeanImpl.h | 66 + .../java/lang/management/ClassLoadingMXBeanImpl.h | 40 + .../java/lang/management/CompilationMXBeanImpl.h | 42 + .../lang/management/GarbageCollectorMXBeanImpl.h | 37 + .../management/MemoryMXBeanImpl$ListenerData.h | 55 + .../gnu/java/lang/management/MemoryMXBeanImpl.h | 70 + .../java/lang/management/MemoryManagerMXBeanImpl.h | 46 + .../java/lang/management/MemoryPoolMXBeanImpl.h | 60 + .../lang/management/OperatingSystemMXBeanImpl.h | 39 + .../gnu/java/lang/management/RuntimeMXBeanImpl.h | 58 + .../gnu/java/lang/management/ThreadMXBeanImpl.h | 67 + .../lang/management/VMClassLoadingMXBeanImpl.h | 40 + .../lang/management/VMClassLoadingMXBeanImpl.java | 19 +- .../java/lang/management/VMCompilationMXBeanImpl.h | 37 + .../lang/management/VMCompilationMXBeanImpl.java | 5 +- .../lang/management/VMGarbageCollectorMXBeanImpl.h | 38 + .../management/VMGarbageCollectorMXBeanImpl.java | 10 +- .../gnu/java/lang/management/VMMemoryMXBeanImpl.h | 41 + .../java/lang/management/VMMemoryMXBeanImpl.java | 19 +- .../lang/management/VMMemoryManagerMXBeanImpl.h | 40 + .../lang/management/VMMemoryManagerMXBeanImpl.java | 5 +- .../java/lang/management/VMMemoryPoolMXBeanImpl.h | 51 + .../lang/management/VMMemoryPoolMXBeanImpl.java | 64 +- .../gnu/java/lang/management/VMRuntimeMXBeanImpl.h | 43 + .../java/lang/management/VMRuntimeMXBeanImpl.java | 32 +- .../gnu/java/lang/management/VMThreadMXBeanImpl.h | 53 + .../java/lang/management/VMThreadMXBeanImpl.java | 44 +- .../lang/management/natVMClassLoadingMXBeanImpl.cc | 49 + .../lang/management/natVMCompilationMXBeanImpl.cc | 11 + .../management/natVMGarbageCollectorMXBeanImpl.cc | 18 + .../java/lang/management/natVMMemoryMXBeanImpl.cc | 47 + .../management/natVMMemoryManagerMXBeanImpl.cc | 11 + .../lang/management/natVMMemoryPoolMXBeanImpl.cc | 111 + .../java/lang/management/natVMRuntimeMXBeanImpl.cc | 39 + .../java/lang/management/natVMThreadMXBeanImpl.cc | 67 + libjava/gnu/java/lang/natMainThread.cc | 4 + .../gnu/java/lang/reflect/ClassSignatureParser.h | 45 + .../gnu/java/lang/reflect/FieldSignatureParser.h | 39 + .../gnu/java/lang/reflect/GenericArrayTypeImpl.h | 44 + .../gnu/java/lang/reflect/GenericSignatureParser.h | 62 + .../gnu/java/lang/reflect/MethodSignatureParser.h | 52 + .../gnu/java/lang/reflect/ParameterizedTypeImpl.h | 52 + libjava/gnu/java/lang/reflect/TypeImpl.h | 41 + libjava/gnu/java/lang/reflect/TypeSignature.h | 44 + libjava/gnu/java/lang/reflect/TypeVariableImpl.h | 50 + .../gnu/java/lang/reflect/UnresolvedTypeVariable.h | 41 + libjava/gnu/java/lang/reflect/WildcardTypeImpl.h | 48 + libjava/gnu/java/locale/Calendar.h | 43 + libjava/gnu/java/locale/Calendar_de.h | 38 + libjava/gnu/java/locale/Calendar_en.h | 38 + libjava/gnu/java/locale/Calendar_nl.h | 38 + libjava/gnu/java/locale/LocaleData.h | 37 + libjava/gnu/java/locale/LocaleHelper.h | 38 + libjava/gnu/java/locale/LocaleInformation.h | 32 + libjava/gnu/java/locale/LocaleInformation_af_ZA.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_AE.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_BH.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_DZ.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_EG.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_IQ.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_JO.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_KW.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_LB.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_LY.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_MA.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_OM.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_QA.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_SD.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_SY.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_TN.h | 53 + libjava/gnu/java/locale/LocaleInformation_ar_YE.h | 53 + libjava/gnu/java/locale/LocaleInformation_be_BY.h | 53 + libjava/gnu/java/locale/LocaleInformation_bn_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_br_FR.h | 53 + libjava/gnu/java/locale/LocaleInformation_bs_BA.h | 53 + libjava/gnu/java/locale/LocaleInformation_ca_ES.h | 53 + libjava/gnu/java/locale/LocaleInformation_cs_CZ.h | 53 + libjava/gnu/java/locale/LocaleInformation_cy_GB.h | 53 + libjava/gnu/java/locale/LocaleInformation_da_DK.h | 53 + libjava/gnu/java/locale/LocaleInformation_de.h | 59 + libjava/gnu/java/locale/LocaleInformation_de_AT.h | 53 + libjava/gnu/java/locale/LocaleInformation_de_BE.h | 53 + libjava/gnu/java/locale/LocaleInformation_de_CH.h | 53 + libjava/gnu/java/locale/LocaleInformation_de_DE.h | 53 + libjava/gnu/java/locale/LocaleInformation_de_LU.h | 53 + libjava/gnu/java/locale/LocaleInformation_el_GR.h | 53 + libjava/gnu/java/locale/LocaleInformation_en.h | 46 + libjava/gnu/java/locale/LocaleInformation_en_AU.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_BW.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_CA.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_DK.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_GB.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_HK.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_IE.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_NZ.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_PH.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_SG.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_US.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_ZA.h | 53 + libjava/gnu/java/locale/LocaleInformation_en_ZW.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_AR.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_BO.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_CL.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_CO.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_CR.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_DO.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_EC.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_ES.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_GT.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_HN.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_MX.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_NI.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_PA.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_PE.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_PR.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_PY.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_SV.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_US.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_UY.h | 53 + libjava/gnu/java/locale/LocaleInformation_es_VE.h | 53 + libjava/gnu/java/locale/LocaleInformation_et_EE.h | 53 + libjava/gnu/java/locale/LocaleInformation_eu_ES.h | 53 + libjava/gnu/java/locale/LocaleInformation_fa_IR.h | 53 + libjava/gnu/java/locale/LocaleInformation_fi_FI.h | 53 + libjava/gnu/java/locale/LocaleInformation_fo_FO.h | 53 + libjava/gnu/java/locale/LocaleInformation_fr_BE.h | 53 + libjava/gnu/java/locale/LocaleInformation_fr_CA.h | 53 + libjava/gnu/java/locale/LocaleInformation_fr_CH.h | 53 + libjava/gnu/java/locale/LocaleInformation_fr_FR.h | 53 + libjava/gnu/java/locale/LocaleInformation_fr_LU.h | 53 + libjava/gnu/java/locale/LocaleInformation_ga_IE.h | 53 + libjava/gnu/java/locale/LocaleInformation_gd_GB.h | 53 + libjava/gnu/java/locale/LocaleInformation_gl_ES.h | 53 + libjava/gnu/java/locale/LocaleInformation_gv_GB.h | 53 + libjava/gnu/java/locale/LocaleInformation_he_IL.h | 53 + libjava/gnu/java/locale/LocaleInformation_hi_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_hr_HR.h | 53 + libjava/gnu/java/locale/LocaleInformation_hu_HU.h | 53 + libjava/gnu/java/locale/LocaleInformation_id_ID.h | 53 + libjava/gnu/java/locale/LocaleInformation_it_CH.h | 53 + libjava/gnu/java/locale/LocaleInformation_it_IT.h | 53 + libjava/gnu/java/locale/LocaleInformation_iw_IL.h | 53 + libjava/gnu/java/locale/LocaleInformation_ja_JP.h | 53 + libjava/gnu/java/locale/LocaleInformation_ka_GE.h | 53 + libjava/gnu/java/locale/LocaleInformation_kl_GL.h | 53 + libjava/gnu/java/locale/LocaleInformation_ko_KR.h | 53 + libjava/gnu/java/locale/LocaleInformation_kw_GB.h | 53 + libjava/gnu/java/locale/LocaleInformation_lt_LT.h | 53 + libjava/gnu/java/locale/LocaleInformation_lv_LV.h | 53 + libjava/gnu/java/locale/LocaleInformation_mi_NZ.h | 53 + libjava/gnu/java/locale/LocaleInformation_mk_MK.h | 53 + libjava/gnu/java/locale/LocaleInformation_mr_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_mt_MT.h | 53 + libjava/gnu/java/locale/LocaleInformation_nl.h | 71 + libjava/gnu/java/locale/LocaleInformation_nl_BE.h | 53 + libjava/gnu/java/locale/LocaleInformation_nl_NL.h | 53 + libjava/gnu/java/locale/LocaleInformation_nn_NO.h | 53 + libjava/gnu/java/locale/LocaleInformation_no_NO.h | 53 + libjava/gnu/java/locale/LocaleInformation_oc_FR.h | 53 + libjava/gnu/java/locale/LocaleInformation_pl_PL.h | 53 + libjava/gnu/java/locale/LocaleInformation_pt_BR.h | 53 + libjava/gnu/java/locale/LocaleInformation_pt_PT.h | 53 + libjava/gnu/java/locale/LocaleInformation_ro_RO.h | 53 + libjava/gnu/java/locale/LocaleInformation_ru_RU.h | 53 + libjava/gnu/java/locale/LocaleInformation_ru_UA.h | 53 + libjava/gnu/java/locale/LocaleInformation_se_NO.h | 53 + libjava/gnu/java/locale/LocaleInformation_sk_SK.h | 53 + libjava/gnu/java/locale/LocaleInformation_sl_SI.h | 53 + libjava/gnu/java/locale/LocaleInformation_sq_AL.h | 53 + libjava/gnu/java/locale/LocaleInformation_sr_YU.h | 53 + libjava/gnu/java/locale/LocaleInformation_sv_FI.h | 53 + libjava/gnu/java/locale/LocaleInformation_sv_SE.h | 53 + libjava/gnu/java/locale/LocaleInformation_ta_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_te_IN.h | 53 + libjava/gnu/java/locale/LocaleInformation_tg_TJ.h | 53 + libjava/gnu/java/locale/LocaleInformation_tl_PH.h | 53 + libjava/gnu/java/locale/LocaleInformation_tr_TR.h | 53 + libjava/gnu/java/locale/LocaleInformation_uk_UA.h | 53 + libjava/gnu/java/locale/LocaleInformation_ur_PK.h | 53 + libjava/gnu/java/locale/LocaleInformation_uz_UZ.h | 53 + libjava/gnu/java/locale/LocaleInformation_vi_VN.h | 53 + libjava/gnu/java/locale/LocaleInformation_yi_US.h | 53 + libjava/gnu/java/locale/LocaleInformation_zh_CN.h | 53 + libjava/gnu/java/locale/LocaleInformation_zh_HK.h | 53 + libjava/gnu/java/locale/LocaleInformation_zh_SG.h | 53 + libjava/gnu/java/locale/LocaleInformation_zh_TW.h | 53 + libjava/gnu/java/math/MPN.h | 57 + libjava/gnu/java/net/BASE64.h | 41 + libjava/gnu/java/net/CRLFInputStream.h | 47 + libjava/gnu/java/net/CRLFOutputStream.h | 48 + .../gnu/java/net/DefaultContentHandlerFactory.h | 46 + libjava/gnu/java/net/DefaultProxySelector.h | 45 + libjava/gnu/java/net/EmptyX509TrustManager.h | 47 + libjava/gnu/java/net/GetLocalHostAction.h | 33 + libjava/gnu/java/net/HeaderFieldHelper.h | 43 + libjava/gnu/java/net/ImageHandler.h | 44 + libjava/gnu/java/net/IndexListParser.h | 51 + libjava/gnu/java/net/LineInputStream.h | 49 + libjava/gnu/java/net/PlainDatagramSocketImpl.h | 93 + .../java/net/PlainSocketImpl$SocketInputStream.h | 43 + .../java/net/PlainSocketImpl$SocketOutputStream.h | 42 + libjava/gnu/java/net/PlainSocketImpl.h | 90 + libjava/gnu/java/net/URLParseError.h | 32 + libjava/gnu/java/net/loader/FileResource.h | 49 + libjava/gnu/java/net/loader/FileURLLoader.h | 52 + libjava/gnu/java/net/loader/JarURLLoader.h | 60 + libjava/gnu/java/net/loader/JarURLResource.h | 60 + libjava/gnu/java/net/loader/RemoteResource.h | 52 + libjava/gnu/java/net/loader/RemoteURLLoader.h | 50 + libjava/gnu/java/net/loader/Resource.h | 62 + libjava/gnu/java/net/loader/URLLoader.h | 63 + .../gnu/java/net/loader/URLStreamHandlerCache.h | 48 + libjava/gnu/java/net/local/LocalServerSocket.h | 68 + libjava/gnu/java/net/local/LocalSocket.h | 100 + libjava/gnu/java/net/local/LocalSocketAddress.h | 42 + .../net/local/LocalSocketImpl$LocalInputStream.h | 52 + .../net/local/LocalSocketImpl$LocalOutputStream.h | 49 + libjava/gnu/java/net/local/LocalSocketImpl.h | 86 + libjava/gnu/java/net/protocol/core/Connection.h | 64 + .../gnu/java/net/protocol/core/CoreInputStream.h | 60 + libjava/gnu/java/net/protocol/core/Handler.h | 49 + .../java/net/protocol/file/Connection$StaticData.h | 48 + libjava/gnu/java/net/protocol/file/Connection.h | 70 + libjava/gnu/java/net/protocol/file/Handler.h | 49 + libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h | 70 + .../gnu/java/net/protocol/ftp/BlockInputStream.h | 52 + .../gnu/java/net/protocol/ftp/BlockOutputStream.h | 50 + .../java/net/protocol/ftp/CompressedInputStream.h | 59 + .../java/net/protocol/ftp/CompressedOutputStream.h | 56 + libjava/gnu/java/net/protocol/ftp/DTP.h | 43 + libjava/gnu/java/net/protocol/ftp/DTPInputStream.h | 46 + .../gnu/java/net/protocol/ftp/DTPOutputStream.h | 46 + libjava/gnu/java/net/protocol/ftp/FTPConnection.h | 165 + libjava/gnu/java/net/protocol/ftp/FTPException.h | 43 + libjava/gnu/java/net/protocol/ftp/FTPResponse.h | 47 + .../ftp/FTPURLConnection$ClosingInputStream.h | 44 + .../ftp/FTPURLConnection$ClosingOutputStream.h | 44 + .../gnu/java/net/protocol/ftp/FTPURLConnection.h | 65 + libjava/gnu/java/net/protocol/ftp/Handler.h | 50 + libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h | 65 + .../gnu/java/net/protocol/ftp/StreamInputStream.h | 45 + .../gnu/java/net/protocol/ftp/StreamOutputStream.h | 45 + libjava/gnu/java/net/protocol/gcjlib/Connection.h | 57 + libjava/gnu/java/net/protocol/gcjlib/Handler.h | 49 + libjava/gnu/java/net/protocol/http/Authenticator.h | 39 + .../net/protocol/http/ByteArrayRequestBodyWriter.h | 47 + .../java/net/protocol/http/ChunkedInputStream.h | 58 + libjava/gnu/java/net/protocol/http/Cookie.h | 56 + libjava/gnu/java/net/protocol/http/CookieManager.h | 42 + libjava/gnu/java/net/protocol/http/Credentials.h | 44 + .../net/protocol/http/HTTPConnection$Pool$Reaper.h | 44 + .../java/net/protocol/http/HTTPConnection$Pool.h | 50 + .../gnu/java/net/protocol/http/HTTPConnection.h | 128 + .../gnu/java/net/protocol/http/HTTPDateFormat.h | 62 + .../java/net/protocol/http/HTTPURLConnection$1.h | 47 + .../gnu/java/net/protocol/http/HTTPURLConnection.h | 115 + libjava/gnu/java/net/protocol/http/Handler.h | 50 + .../java/net/protocol/http/Headers$HeaderElement.h | 41 + libjava/gnu/java/net/protocol/http/Headers.h | 64 + .../net/protocol/http/LimitedLengthInputStream.h | 57 + libjava/gnu/java/net/protocol/http/Request.h | 87 + .../gnu/java/net/protocol/http/RequestBodyWriter.h | 42 + libjava/gnu/java/net/protocol/http/Response.h | 61 + .../java/net/protocol/http/ResponseHeaderHandler.h | 38 + .../java/net/protocol/http/SimpleCookieManager.h | 48 + libjava/gnu/java/net/protocol/https/Handler.h | 50 + .../net/protocol/jar/Connection$JarFileCache.h | 50 + libjava/gnu/java/net/protocol/jar/Connection.h | 62 + libjava/gnu/java/net/protocol/jar/Handler.h | 54 + libjava/gnu/java/nio/ChannelInputStream.h | 46 + libjava/gnu/java/nio/ChannelOutputStream.h | 46 + libjava/gnu/java/nio/ChannelReader.h | 59 + libjava/gnu/java/nio/ChannelWriter.h | 61 + libjava/gnu/java/nio/DatagramChannelImpl.h | 78 + libjava/gnu/java/nio/DatagramChannelSelectionKey.h | 47 + libjava/gnu/java/nio/EpollSelectionKeyImpl.h | 63 + libjava/gnu/java/nio/FileLockImpl.h | 44 + libjava/gnu/java/nio/FileLockImpl.java | 104 + libjava/gnu/java/nio/InputStreamChannel.h | 46 + libjava/gnu/java/nio/KqueueSelectionKeyImpl.h | 71 + libjava/gnu/java/nio/NIOConstants.h | 33 + libjava/gnu/java/nio/NIODatagramSocket.h | 53 + libjava/gnu/java/nio/NIOServerSocket.h | 58 + libjava/gnu/java/nio/NIOSocket.h | 57 + libjava/gnu/java/nio/NIOSocket.java | 77 + libjava/gnu/java/nio/OutputStreamChannel.h | 46 + libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h | 61 + libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h | 61 + libjava/gnu/java/nio/PipeImpl.h | 55 + libjava/gnu/java/nio/PipeImpl.java | 178 + libjava/gnu/java/nio/SelectionKeyImpl.h | 59 + libjava/gnu/java/nio/SelectorImpl.h | 76 + libjava/gnu/java/nio/SelectorProviderImpl.h | 54 + libjava/gnu/java/nio/SelectorProviderImpl.java | 83 + libjava/gnu/java/nio/ServerSocketChannelImpl.h | 64 + .../gnu/java/nio/ServerSocketChannelSelectionKey.h | 47 + libjava/gnu/java/nio/SocketChannelImpl.h | 82 + libjava/gnu/java/nio/SocketChannelSelectionKey.h | 47 + .../gnu/java/nio/SocketChannelSelectionKey.java | 4 +- .../gnu/java/nio/SocketChannelSelectionKeyImpl.h | 38 + .../java/nio/SocketChannelSelectionKeyImpl.java | 69 + libjava/gnu/java/nio/VMChannel.h | 77 + libjava/gnu/java/nio/VMChannel.java | 50 +- libjava/gnu/java/nio/VMChannelOwner.h | 33 + libjava/gnu/java/nio/VMPipe.h | 48 + libjava/gnu/java/nio/VMSelector.h | 37 + libjava/gnu/java/nio/channels/FileChannelImpl.h | 118 + libjava/gnu/java/nio/channels/FileChannelImpl.java | 8 + libjava/gnu/java/nio/charset/ByteCharset$Decoder.h | 55 + libjava/gnu/java/nio/charset/ByteCharset$Encoder.h | 58 + libjava/gnu/java/nio/charset/ByteCharset.h | 60 + libjava/gnu/java/nio/charset/Cp424.h | 40 + libjava/gnu/java/nio/charset/Cp437.h | 40 + libjava/gnu/java/nio/charset/Cp737.h | 40 + libjava/gnu/java/nio/charset/Cp775.h | 40 + libjava/gnu/java/nio/charset/Cp850.h | 40 + libjava/gnu/java/nio/charset/Cp852.h | 40 + libjava/gnu/java/nio/charset/Cp855.h | 40 + libjava/gnu/java/nio/charset/Cp857.h | 40 + libjava/gnu/java/nio/charset/Cp860.h | 40 + libjava/gnu/java/nio/charset/Cp861.h | 40 + libjava/gnu/java/nio/charset/Cp862.h | 40 + libjava/gnu/java/nio/charset/Cp863.h | 40 + libjava/gnu/java/nio/charset/Cp864.h | 40 + libjava/gnu/java/nio/charset/Cp865.h | 40 + libjava/gnu/java/nio/charset/Cp866.h | 40 + libjava/gnu/java/nio/charset/Cp869.h | 40 + libjava/gnu/java/nio/charset/Cp874.h | 40 + libjava/gnu/java/nio/charset/EncodingHelper.h | 52 + libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h | 51 + libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h | 54 + libjava/gnu/java/nio/charset/ISO_8859_1.h | 51 + libjava/gnu/java/nio/charset/ISO_8859_13.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_15.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_2.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_3.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_4.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_5.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_6.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_7.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_8.h | 40 + libjava/gnu/java/nio/charset/ISO_8859_9.h | 40 + libjava/gnu/java/nio/charset/KOI_8.h | 40 + libjava/gnu/java/nio/charset/MS874.h | 40 + libjava/gnu/java/nio/charset/MacCentralEurope.h | 40 + libjava/gnu/java/nio/charset/MacCroatian.h | 40 + libjava/gnu/java/nio/charset/MacCyrillic.h | 40 + libjava/gnu/java/nio/charset/MacDingbat.h | 40 + libjava/gnu/java/nio/charset/MacGreek.h | 40 + libjava/gnu/java/nio/charset/MacIceland.h | 40 + libjava/gnu/java/nio/charset/MacRoman.h | 40 + libjava/gnu/java/nio/charset/MacRomania.h | 40 + libjava/gnu/java/nio/charset/MacSymbol.h | 40 + libjava/gnu/java/nio/charset/MacThai.h | 40 + libjava/gnu/java/nio/charset/MacTurkish.h | 40 + libjava/gnu/java/nio/charset/Provider$1.h | 37 + libjava/gnu/java/nio/charset/Provider.h | 60 + libjava/gnu/java/nio/charset/US_ASCII$Decoder.h | 51 + libjava/gnu/java/nio/charset/US_ASCII$Encoder.h | 54 + libjava/gnu/java/nio/charset/US_ASCII.h | 51 + libjava/gnu/java/nio/charset/UTF_16.h | 51 + libjava/gnu/java/nio/charset/UTF_16BE.h | 51 + libjava/gnu/java/nio/charset/UTF_16Decoder.h | 63 + libjava/gnu/java/nio/charset/UTF_16Encoder.h | 61 + libjava/gnu/java/nio/charset/UTF_16LE.h | 51 + libjava/gnu/java/nio/charset/UTF_8$Decoder.h | 53 + libjava/gnu/java/nio/charset/UTF_8$Encoder.h | 51 + libjava/gnu/java/nio/charset/UTF_8.h | 51 + libjava/gnu/java/nio/charset/UnicodeLittle.h | 51 + libjava/gnu/java/nio/charset/Windows1250.h | 40 + libjava/gnu/java/nio/charset/Windows1251.h | 40 + libjava/gnu/java/nio/charset/Windows1252.h | 40 + libjava/gnu/java/nio/charset/Windows1253.h | 40 + libjava/gnu/java/nio/charset/Windows1254.h | 40 + libjava/gnu/java/nio/charset/Windows1255.h | 40 + libjava/gnu/java/nio/charset/Windows1256.h | 40 + libjava/gnu/java/nio/charset/Windows1257.h | 40 + libjava/gnu/java/nio/charset/Windows1258.h | 40 + libjava/gnu/java/nio/natVMChannel.cc | 46 + .../gnu/java/rmi/RMIMarshalledObjectInputStream.h | 39 + .../gnu/java/rmi/RMIMarshalledObjectOutputStream.h | 43 + .../rmi/activation/ActivationSystemTransient.h | 80 + libjava/gnu/java/rmi/activation/BidiTable.h | 54 + .../java/rmi/activation/DefaultActivationGroup.h | 58 + .../java/rmi/activation/DefaultActivationSystem.h | 52 + libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h | 54 + libjava/gnu/java/rmi/dgc/DGCImpl.h | 59 + libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h | 55 + libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h | 65 + .../rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h | 41 + libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h | 60 + libjava/gnu/java/rmi/registry/RegistryImpl.h | 61 + libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h | 55 + libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h | 66 + libjava/gnu/java/rmi/rmic/Compile_gcj.java | 56 - libjava/gnu/java/rmi/rmic/Compile_jikes.java | 57 - libjava/gnu/java/rmi/rmic/Compile_kjc.java | 57 - libjava/gnu/java/rmi/rmic/Compiler.java | 108 - libjava/gnu/java/rmi/rmic/CompilerProcess.java | 164 - libjava/gnu/java/rmi/rmic/RMIC.java | 1225 -- libjava/gnu/java/rmi/rmic/RMICException.java | 66 - libjava/gnu/java/rmi/rmic/TabbedWriter.java | 100 - libjava/gnu/java/rmi/server/ActivatableRef.h | 65 + libjava/gnu/java/rmi/server/ActivatableServerRef.h | 67 + libjava/gnu/java/rmi/server/CombinedClassLoader.h | 51 + .../server/ConnectionRunnerPool$ConnectionRunner.h | 44 + libjava/gnu/java/rmi/server/ConnectionRunnerPool.h | 53 + libjava/gnu/java/rmi/server/ProtocolConstants.h | 49 + .../java/rmi/server/RMIClassLoaderImpl$CacheKey.h | 45 + .../rmi/server/RMIClassLoaderImpl$MyClassLoader.h | 52 + libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h | 65 + .../gnu/java/rmi/server/RMIDefaultSocketFactory.h | 45 + libjava/gnu/java/rmi/server/RMIHashes.h | 37 + libjava/gnu/java/rmi/server/RMIIncomingThread.h | 40 + libjava/gnu/java/rmi/server/RMIObjectInputStream.h | 43 + .../gnu/java/rmi/server/RMIObjectOutputStream.h | 42 + libjava/gnu/java/rmi/server/RMIVoidValue.h | 37 + libjava/gnu/java/rmi/server/TripleKey.h | 44 + libjava/gnu/java/rmi/server/UnicastConnection.h | 67 + .../java/rmi/server/UnicastConnectionManager$1.h | 37 + .../gnu/java/rmi/server/UnicastConnectionManager.h | 94 + libjava/gnu/java/rmi/server/UnicastRef.h | 91 + .../UnicastRemoteCall$DummyObjectInputStream.h | 64 + .../UnicastRemoteCall$DummyObjectOutputStream.h | 59 + libjava/gnu/java/rmi/server/UnicastRemoteCall.h | 81 + libjava/gnu/java/rmi/server/UnicastRemoteStub.h | 47 + libjava/gnu/java/rmi/server/UnicastServer.h | 74 + libjava/gnu/java/rmi/server/UnicastServerRef.h | 80 + libjava/gnu/java/security/Configuration.h | 32 + libjava/gnu/java/security/Engine.h | 49 + libjava/gnu/java/security/OID.h | 64 + libjava/gnu/java/security/PolicyFile$1.h | 40 + libjava/gnu/java/security/PolicyFile.h | 67 + libjava/gnu/java/security/Properties$1.h | 38 + libjava/gnu/java/security/Properties.h | 60 + libjava/gnu/java/security/Registry.h | 187 + libjava/gnu/java/security/Requires.h | 35 + .../gnu/java/security/action/GetPropertyAction.h | 45 + .../security/action/GetSecurityPropertyAction.h | 45 + .../gnu/java/security/action/SetAccessibleAction.h | 41 + libjava/gnu/java/security/ber/BER.h | 36 + .../gnu/java/security/ber/BEREncodingException.h | 36 + libjava/gnu/java/security/ber/BERReader.h | 45 + libjava/gnu/java/security/ber/BERValue.h | 49 + libjava/gnu/java/security/der/BitString.h | 58 + libjava/gnu/java/security/der/DER.h | 65 + .../gnu/java/security/der/DEREncodingException.h | 36 + libjava/gnu/java/security/der/DERReader.h | 56 + libjava/gnu/java/security/der/DERValue.h | 56 + libjava/gnu/java/security/der/DERWriter.h | 64 + libjava/gnu/java/security/hash/BaseHash.h | 59 + libjava/gnu/java/security/hash/HashFactory.h | 38 + libjava/gnu/java/security/hash/Haval.h | 86 + libjava/gnu/java/security/hash/IMessageDigest.h | 46 + libjava/gnu/java/security/hash/MD2.h | 60 + libjava/gnu/java/security/hash/MD4.h | 63 + libjava/gnu/java/security/hash/MD5.h | 57 + libjava/gnu/java/security/hash/RipeMD128.h | 62 + libjava/gnu/java/security/hash/RipeMD160.h | 63 + libjava/gnu/java/security/hash/Sha160.h | 61 + libjava/gnu/java/security/hash/Sha256.h | 65 + libjava/gnu/java/security/hash/Sha384.h | 65 + libjava/gnu/java/security/hash/Sha512.h | 65 + libjava/gnu/java/security/hash/Tiger.h | 63 + libjava/gnu/java/security/hash/Whirlpool.h | 113 + libjava/gnu/java/security/jce/hash/HavalSpi.h | 38 + libjava/gnu/java/security/jce/hash/MD2Spi.h | 38 + libjava/gnu/java/security/jce/hash/MD4Spi.h | 38 + libjava/gnu/java/security/jce/hash/MD5Spi.h | 38 + .../java/security/jce/hash/MessageDigestAdapter.h | 57 + libjava/gnu/java/security/jce/hash/RipeMD128Spi.h | 38 + libjava/gnu/java/security/jce/hash/RipeMD160Spi.h | 38 + libjava/gnu/java/security/jce/hash/Sha160Spi.h | 38 + libjava/gnu/java/security/jce/hash/Sha256Spi.h | 38 + libjava/gnu/java/security/jce/hash/Sha384Spi.h | 38 + libjava/gnu/java/security/jce/hash/Sha512Spi.h | 38 + libjava/gnu/java/security/jce/hash/TigerSpi.h | 38 + libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h | 38 + .../gnu/java/security/jce/prng/HavalRandomSpi.h | 38 + libjava/gnu/java/security/jce/prng/MD2RandomSpi.h | 38 + libjava/gnu/java/security/jce/prng/MD4RandomSpi.h | 38 + libjava/gnu/java/security/jce/prng/MD5RandomSpi.h | 38 + .../java/security/jce/prng/RipeMD128RandomSpi.h | 38 + .../java/security/jce/prng/RipeMD160RandomSpi.h | 38 + .../java/security/jce/prng/SecureRandomAdapter.h | 52 + .../gnu/java/security/jce/prng/Sha160RandomSpi.h | 38 + .../gnu/java/security/jce/prng/Sha256RandomSpi.h | 38 + .../gnu/java/security/jce/prng/Sha384RandomSpi.h | 38 + .../gnu/java/security/jce/prng/Sha512RandomSpi.h | 38 + .../gnu/java/security/jce/prng/TigerRandomSpi.h | 38 + .../java/security/jce/prng/WhirlpoolRandomSpi.h | 38 + libjava/gnu/java/security/jce/sig/DSSKeyFactory.h | 57 + .../java/security/jce/sig/DSSKeyPairGeneratorSpi.h | 57 + libjava/gnu/java/security/jce/sig/DSSParameters.h | 67 + .../java/security/jce/sig/DSSParametersGenerator.h | 68 + .../gnu/java/security/jce/sig/DSSRawSignatureSpi.h | 38 + .../gnu/java/security/jce/sig/EncodedKeyFactory.h | 106 + .../security/jce/sig/KeyPairGeneratorAdapter.h | 61 + libjava/gnu/java/security/jce/sig/MD2withRSA.h | 38 + libjava/gnu/java/security/jce/sig/MD5withRSA.h | 38 + libjava/gnu/java/security/jce/sig/RSAKeyFactory.h | 57 + .../java/security/jce/sig/RSAKeyPairGeneratorSpi.h | 51 + .../java/security/jce/sig/RSAPSSRawSignatureSpi.h | 38 + libjava/gnu/java/security/jce/sig/SHA160withDSS.h | 38 + libjava/gnu/java/security/jce/sig/SHA160withRSA.h | 38 + libjava/gnu/java/security/jce/sig/SHA256withRSA.h | 38 + libjava/gnu/java/security/jce/sig/SHA384withRSA.h | 38 + libjava/gnu/java/security/jce/sig/SHA512withRSA.h | 38 + .../gnu/java/security/jce/sig/SignatureAdapter.h | 78 + libjava/gnu/java/security/key/IKeyPairCodec.h | 53 + libjava/gnu/java/security/key/IKeyPairGenerator.h | 44 + .../gnu/java/security/key/KeyPairCodecFactory.h | 59 + .../java/security/key/KeyPairGeneratorFactory.h | 41 + libjava/gnu/java/security/key/dss/DSSKey.h | 71 + .../java/security/key/dss/DSSKeyPairGenerator.h | 98 + .../java/security/key/dss/DSSKeyPairPKCS8Codec.h | 58 + .../gnu/java/security/key/dss/DSSKeyPairRawCodec.h | 53 + .../java/security/key/dss/DSSKeyPairX509Codec.h | 57 + libjava/gnu/java/security/key/dss/DSSPrivateKey.h | 57 + libjava/gnu/java/security/key/dss/DSSPublicKey.h | 57 + libjava/gnu/java/security/key/dss/FIPS186.h | 78 + libjava/gnu/java/security/key/rsa/GnuRSAKey.h | 66 + .../gnu/java/security/key/rsa/GnuRSAPrivateKey.h | 68 + .../gnu/java/security/key/rsa/GnuRSAPublicKey.h | 55 + .../java/security/key/rsa/RSAKeyPairGenerator.h | 79 + .../java/security/key/rsa/RSAKeyPairPKCS8Codec.h | 58 + .../gnu/java/security/key/rsa/RSAKeyPairRawCodec.h | 53 + .../java/security/key/rsa/RSAKeyPairX509Codec.h | 58 + libjava/gnu/java/security/pkcs/PKCS7Data.h | 43 + libjava/gnu/java/security/pkcs/PKCS7SignedData.h | 81 + libjava/gnu/java/security/pkcs/SignerInfo.h | 87 + libjava/gnu/java/security/prng/BasePRNG.h | 59 + libjava/gnu/java/security/prng/EntropySource.h | 38 + libjava/gnu/java/security/prng/IRandom.h | 44 + .../gnu/java/security/prng/LimitReachedException.h | 36 + libjava/gnu/java/security/prng/MDGenerator.h | 51 + libjava/gnu/java/security/prng/PRNGFactory.h | 39 + libjava/gnu/java/security/prng/RandomEvent.h | 45 + .../gnu/java/security/prng/RandomEventListener.h | 36 + .../security/provider/CollectionCertStoreImpl.h | 52 + libjava/gnu/java/security/provider/DefaultPolicy.h | 49 + libjava/gnu/java/security/provider/Gnu$1.h | 41 + libjava/gnu/java/security/provider/Gnu.h | 35 + .../security/provider/PKIXCertPathValidatorImpl.h | 67 + .../security/provider/X509CertificateFactory.h | 68 + libjava/gnu/java/security/sig/BaseSignature.h | 86 + libjava/gnu/java/security/sig/ISignature.h | 47 + libjava/gnu/java/security/sig/ISignatureCodec.h | 40 + .../gnu/java/security/sig/SignatureCodecFactory.h | 45 + libjava/gnu/java/security/sig/SignatureFactory.h | 41 + libjava/gnu/java/security/sig/dss/DSSSignature.h | 80 + .../java/security/sig/dss/DSSSignatureRawCodec.h | 43 + .../java/security/sig/dss/DSSSignatureX509Codec.h | 43 + libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h | 70 + .../gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h | 58 + libjava/gnu/java/security/sig/rsa/EMSA_PSS.h | 54 + libjava/gnu/java/security/sig/rsa/RSA.h | 74 + .../java/security/sig/rsa/RSAPKCS1V1_5Signature.h | 65 + .../sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h | 43 + .../sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h | 43 + .../gnu/java/security/sig/rsa/RSAPSSSignature.h | 68 + .../security/sig/rsa/RSAPSSSignatureRawCodec.h | 43 + .../java/security/sig/rsa/RSASignatureFactory.h | 46 + libjava/gnu/java/security/util/Base64.h | 53 + libjava/gnu/java/security/util/ByteArray.h | 44 + .../java/security/util/ByteBufferOutputStream.h | 54 + libjava/gnu/java/security/util/DerUtil.h | 41 + .../java/security/util/ExpirableObject$Destroyer.h | 43 + libjava/gnu/java/security/util/ExpirableObject.h | 48 + libjava/gnu/java/security/util/FormatUtil.h | 38 + libjava/gnu/java/security/util/IntegerUtil$1.h | 37 + libjava/gnu/java/security/util/IntegerUtil.h | 41 + libjava/gnu/java/security/util/PRNG.h | 47 + libjava/gnu/java/security/util/Prime.h | 44 + libjava/gnu/java/security/util/Sequence.h | 45 + libjava/gnu/java/security/util/SimpleList.h | 48 + libjava/gnu/java/security/util/Util.h | 72 + libjava/gnu/java/security/x509/GnuPKIExtension.h | 47 + libjava/gnu/java/security/x509/PolicyNodeImpl.h | 73 + libjava/gnu/java/security/x509/Util.h | 46 + .../gnu/java/security/x509/X500DistinguishedName.h | 90 + libjava/gnu/java/security/x509/X509CRL.h | 124 + libjava/gnu/java/security/x509/X509CRLEntry.h | 75 + .../gnu/java/security/x509/X509CRLSelectorImpl.h | 57 + libjava/gnu/java/security/x509/X509CertPath.h | 57 + .../gnu/java/security/x509/X509CertSelectorImpl.h | 62 + libjava/gnu/java/security/x509/X509Certificate.h | 140 + .../security/x509/ext/AuthorityKeyIdentifier.h | 59 + .../gnu/java/security/x509/ext/BasicConstraints.h | 51 + libjava/gnu/java/security/x509/ext/CRLNumber.h | 56 + .../java/security/x509/ext/CertificatePolicies.h | 51 + .../gnu/java/security/x509/ext/ExtendedKeyUsage.h | 47 + .../gnu/java/security/x509/ext/Extension$Value.h | 50 + libjava/gnu/java/security/x509/ext/Extension.h | 64 + libjava/gnu/java/security/x509/ext/GeneralNames.h | 54 + .../security/x509/ext/IssuerAlternativeNames.h | 48 + libjava/gnu/java/security/x509/ext/KeyUsage.h | 60 + .../gnu/java/security/x509/ext/PolicyConstraint.h | 49 + .../gnu/java/security/x509/ext/PolicyMappings.h | 47 + .../java/security/x509/ext/PrivateKeyUsagePeriod.h | 49 + libjava/gnu/java/security/x509/ext/ReasonCode.h | 45 + .../security/x509/ext/SubjectAlternativeNames.h | 48 + .../java/security/x509/ext/SubjectKeyIdentifier.h | 47 + libjava/gnu/java/text/AttributedFormatBuffer.h | 70 + libjava/gnu/java/text/BaseBreakIterator.h | 49 + libjava/gnu/java/text/CharacterBreakIterator.h | 56 + libjava/gnu/java/text/FormatBuffer.h | 50 + libjava/gnu/java/text/FormatCharacterIterator.h | 77 + libjava/gnu/java/text/LineBreakIterator.h | 41 + libjava/gnu/java/text/SentenceBreakIterator.h | 44 + libjava/gnu/java/text/StringFormatBuffer.h | 58 + libjava/gnu/java/text/WordBreakIterator.h | 41 + libjava/gnu/java/util/DoubleEnumeration.h | 40 + libjava/gnu/java/util/EmptyEnumeration.h | 38 + libjava/gnu/java/util/WeakIdentityHashMap$1.h | 47 + .../WeakIdentityHashMap$WeakBucket$WeakEntry.h | 44 + .../gnu/java/util/WeakIdentityHashMap$WeakBucket.h | 39 + .../java/util/WeakIdentityHashMap$WeakEntrySet.h | 40 + libjava/gnu/java/util/WeakIdentityHashMap.h | 82 + libjava/gnu/java/util/jar/JarUtils.h | 71 + libjava/gnu/java/util/prefs/EventDispatcher.h | 41 + libjava/gnu/java/util/prefs/FileBasedFactory.h | 41 + .../gnu/java/util/prefs/FileBasedPreferences$1.h | 41 + libjava/gnu/java/util/prefs/FileBasedPreferences.h | 58 + libjava/gnu/java/util/prefs/GConfBasedFactory.h | 41 + .../gnu/java/util/prefs/GConfBasedPreferences.h | 81 + libjava/gnu/java/util/prefs/MemoryBasedFactory.h | 41 + .../gnu/java/util/prefs/MemoryBasedPreferences.h | 52 + libjava/gnu/java/util/prefs/NodeReader.h | 50 + libjava/gnu/java/util/prefs/NodeWriter.h | 53 + .../gnu/java/util/prefs/gconf/GConfNativePeer.h | 72 + .../gnu/java/util/regex/BacktrackStack$Backtrack.h | 43 + libjava/gnu/java/util/regex/BacktrackStack.h | 50 + libjava/gnu/java/util/regex/CharIndexed.h | 48 + libjava/gnu/java/util/regex/CharIndexedCharArray.h | 38 + .../gnu/java/util/regex/CharIndexedCharSequence.h | 57 + .../gnu/java/util/regex/CharIndexedInputStream.h | 64 + libjava/gnu/java/util/regex/CharIndexedString.h | 36 + .../gnu/java/util/regex/CharIndexedStringBuffer.h | 36 + libjava/gnu/java/util/regex/RE$CharExpression.h | 42 + libjava/gnu/java/util/regex/RE$CharUnit.h | 39 + libjava/gnu/java/util/regex/RE$IntPair.h | 39 + libjava/gnu/java/util/regex/RE$NamedProperty.h | 40 + .../gnu/java/util/regex/RE$ParseCharClassResult.h | 41 + libjava/gnu/java/util/regex/RE.h | 146 + libjava/gnu/java/util/regex/REException.h | 56 + libjava/gnu/java/util/regex/REFilterInputStream.h | 51 + libjava/gnu/java/util/regex/REMatch.h | 68 + libjava/gnu/java/util/regex/REMatchEnumeration.h | 55 + libjava/gnu/java/util/regex/RESyntax.h | 101 + libjava/gnu/java/util/regex/REToken.h | 71 + libjava/gnu/java/util/regex/RETokenAny.h | 48 + libjava/gnu/java/util/regex/RETokenBackRef.h | 43 + libjava/gnu/java/util/regex/RETokenChar.h | 56 + libjava/gnu/java/util/regex/RETokenEnd.h | 50 + .../java/util/regex/RETokenEndOfPreviousMatch.h | 43 + libjava/gnu/java/util/regex/RETokenEndSub.h | 43 + libjava/gnu/java/util/regex/RETokenIndependent.h | 44 + libjava/gnu/java/util/regex/RETokenLookAhead.h | 44 + .../regex/RETokenLookBehind$RETokenMatchHereOnly.h | 43 + libjava/gnu/java/util/regex/RETokenLookBehind.h | 44 + .../gnu/java/util/regex/RETokenNamedProperty$1.h | 41 + .../java/util/regex/RETokenNamedProperty$Handler.h | 39 + .../util/regex/RETokenNamedProperty$POSIXHandler.h | 40 + .../RETokenNamedProperty$UnicodeBlockHandler.h | 39 + ...RETokenNamedProperty$UnicodeCategoriesHandler.h | 41 + .../RETokenNamedProperty$UnicodeCategoryHandler.h | 39 + libjava/gnu/java/util/regex/RETokenNamedProperty.h | 64 + libjava/gnu/java/util/regex/RETokenOneOf.h | 62 + libjava/gnu/java/util/regex/RETokenPOSIX.h | 64 + libjava/gnu/java/util/regex/RETokenRange.h | 49 + .../util/regex/RETokenRepeated$DoablesFinder.h | 48 + .../util/regex/RETokenRepeated$FindMatchControl.h | 38 + .../regex/RETokenRepeated$FindMatchControlStack.h | 44 + .../java/util/regex/RETokenRepeated$StackedInfo.h | 44 + .../util/regex/RETokenRepeated$TryAnotherResult.h | 46 + libjava/gnu/java/util/regex/RETokenRepeated.h | 76 + libjava/gnu/java/util/regex/RETokenStart.h | 47 + libjava/gnu/java/util/regex/RETokenWordBoundary.h | 49 + libjava/gnu/java/util/regex/UncheckedRE.h | 38 + libjava/gnu/javax/crypto/RSACipherImpl.h | 91 + libjava/gnu/javax/crypto/assembly/Assembly.h | 59 + libjava/gnu/javax/crypto/assembly/Cascade.h | 60 + libjava/gnu/javax/crypto/assembly/CascadeStage.h | 53 + .../gnu/javax/crypto/assembly/CascadeTransformer.h | 48 + .../gnu/javax/crypto/assembly/DeflateTransformer.h | 50 + libjava/gnu/javax/crypto/assembly/Direction.h | 42 + .../javax/crypto/assembly/LoopbackTransformer.h | 49 + libjava/gnu/javax/crypto/assembly/ModeStage.h | 57 + libjava/gnu/javax/crypto/assembly/Operation.h | 41 + .../gnu/javax/crypto/assembly/PaddingTransformer.h | 50 + libjava/gnu/javax/crypto/assembly/Stage.h | 62 + libjava/gnu/javax/crypto/assembly/Transformer.h | 85 + .../javax/crypto/assembly/TransformerException.h | 46 + libjava/gnu/javax/crypto/cipher/Anubis.h | 64 + libjava/gnu/javax/crypto/cipher/BaseCipher.h | 69 + libjava/gnu/javax/crypto/cipher/Blowfish$Block.h | 41 + libjava/gnu/javax/crypto/cipher/Blowfish$Context.h | 50 + libjava/gnu/javax/crypto/cipher/Blowfish.h | 65 + libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h | 72 + libjava/gnu/javax/crypto/cipher/Cast5.h | 68 + libjava/gnu/javax/crypto/cipher/CipherFactory.h | 38 + libjava/gnu/javax/crypto/cipher/DES$Context.h | 48 + libjava/gnu/javax/crypto/cipher/DES.h | 70 + libjava/gnu/javax/crypto/cipher/IBlockCipher.h | 50 + libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h | 42 + libjava/gnu/javax/crypto/cipher/Khazad.h | 67 + libjava/gnu/javax/crypto/cipher/NullCipher.h | 44 + libjava/gnu/javax/crypto/cipher/Rijndael.h | 76 + libjava/gnu/javax/crypto/cipher/Serpent$Key.h | 175 + libjava/gnu/javax/crypto/cipher/Serpent.h | 84 + libjava/gnu/javax/crypto/cipher/Square.h | 66 + .../gnu/javax/crypto/cipher/TripleDES$Context.h | 43 + libjava/gnu/javax/crypto/cipher/TripleDES.h | 53 + libjava/gnu/javax/crypto/cipher/Twofish.h | 101 + libjava/gnu/javax/crypto/cipher/WeakKeyException.h | 36 + libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h | 74 + libjava/gnu/javax/crypto/jce/GnuCrypto$1.h | 41 + libjava/gnu/javax/crypto/jce/GnuCrypto.h | 37 + libjava/gnu/javax/crypto/jce/GnuSasl$1.h | 41 + libjava/gnu/javax/crypto/jce/GnuSasl.h | 37 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h | 35 + .../jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h | 35 + .../jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h | 35 + .../crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h | 35 + .../jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h | 35 + .../gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h | 60 + .../gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h | 38 + .../gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h | 38 + .../gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h | 38 + .../gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h | 41 + libjava/gnu/javax/crypto/jce/cipher/AESSpi.h | 55 + libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h | 80 + libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h | 38 + libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h | 38 + libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h | 38 + .../gnu/javax/crypto/jce/cipher/CipherAdapter.h | 94 + libjava/gnu/javax/crypto/jce/cipher/DESSpi.h | 38 + .../jce/cipher/KeyWrappingAlgorithmAdapter.h | 89 + libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h | 38 + .../gnu/javax/crypto/jce/cipher/NullCipherSpi.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacHaval$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD2$Serpent.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD2$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD4$Serpent.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD4$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD5$Serpent.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacMD5$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h | 39 + .../crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h | 38 + .../jce/cipher/PBES2$HMacRipeMD128$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h | 38 + .../jce/cipher/PBES2$HMacRipeMD128$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h | 38 + .../jce/cipher/PBES2$HMacRipeMD128$TripleDES.h | 38 + .../jce/cipher/PBES2$HMacRipeMD128$Twofish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h | 39 + .../crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h | 38 + .../jce/cipher/PBES2$HMacRipeMD160$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h | 38 + .../jce/cipher/PBES2$HMacRipeMD160$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h | 38 + .../jce/cipher/PBES2$HMacRipeMD160$TripleDES.h | 38 + .../jce/cipher/PBES2$HMacRipeMD160$Twofish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h | 39 + .../javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Anubis.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Cast5.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Khazad.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Square.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h | 38 + .../crypto/jce/cipher/PBES2$HMacTiger$Twofish.h | 38 + .../gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h | 39 + .../crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h | 38 + .../crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h | 38 + .../jce/cipher/PBES2$HMacWhirlpool$Blowfish.h | 38 + .../crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h | 38 + .../crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h | 38 + .../crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h | 38 + .../jce/cipher/PBES2$HMacWhirlpool$Serpent.h | 38 + .../crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h | 38 + .../jce/cipher/PBES2$HMacWhirlpool$TripleDES.h | 38 + .../jce/cipher/PBES2$HMacWhirlpool$Twofish.h | 38 + .../javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h | 39 + libjava/gnu/javax/crypto/jce/cipher/PBES2.h | 74 + libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h | 38 + libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h | 38 + libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h | 38 + .../javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h | 38 + libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h | 38 + libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h | 38 + .../javax/crypto/jce/key/AnubisKeyGeneratorImpl.h | 38 + .../crypto/jce/key/AnubisSecretKeyFactoryImpl.h | 38 + .../crypto/jce/key/BlowfishKeyGeneratorImpl.h | 38 + .../crypto/jce/key/BlowfishSecretKeyFactoryImpl.h | 38 + .../javax/crypto/jce/key/Cast5KeyGeneratorImpl.h | 38 + .../crypto/jce/key/Cast5SecretKeyFactoryImpl.h | 38 + .../gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h | 48 + .../javax/crypto/jce/key/DESSecretKeyFactoryImpl.h | 59 + .../crypto/jce/key/DESedeSecretKeyFactoryImpl.h | 59 + .../javax/crypto/jce/key/KhazadKeyGeneratorImpl.h | 38 + .../crypto/jce/key/KhazadSecretKeyFactoryImpl.h | 38 + .../crypto/jce/key/RijndaelKeyGeneratorImpl.h | 38 + .../crypto/jce/key/RijndaelSecretKeyFactoryImpl.h | 38 + .../javax/crypto/jce/key/SecretKeyFactoryImpl.h | 59 + .../javax/crypto/jce/key/SecretKeyGeneratorImpl.h | 67 + .../javax/crypto/jce/key/SerpentKeyGeneratorImpl.h | 38 + .../crypto/jce/key/SerpentSecretKeyFactoryImpl.h | 38 + .../javax/crypto/jce/key/SquareKeyGeneratorImpl.h | 38 + .../crypto/jce/key/SquareSecretKeyFactoryImpl.h | 38 + .../crypto/jce/key/TripleDESKeyGeneratorImpl.h | 38 + .../javax/crypto/jce/key/TwofishKeyGeneratorImpl.h | 38 + .../crypto/jce/key/TwofishSecretKeyFactoryImpl.h | 38 + libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h | 85 + libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h | 38 + .../gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h | 38 + .../gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h | 38 + .../gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h | 38 + libjava/gnu/javax/crypto/jce/mac/MacAdapter.h | 69 + libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h | 38 + .../gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h | 38 + libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h | 38 + libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h | 38 + libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h | 42 + .../gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h | 42 + libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h | 42 + libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h | 42 + libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h | 42 + .../gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h | 42 + .../gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h | 42 + libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h | 42 + .../gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h | 42 + .../gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h | 42 + libjava/gnu/javax/crypto/jce/mac/OMacImpl.h | 39 + libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h | 38 + .../gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h | 38 + libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h | 38 + libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h | 38 + .../gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h | 38 + libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h | 38 + libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h | 52 + libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h | 38 + libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h | 52 + .../crypto/jce/params/BlockCipherParameters.h | 69 + .../javax/crypto/jce/params/DEREncodingException.h | 39 + libjava/gnu/javax/crypto/jce/params/DERReader.h | 64 + libjava/gnu/javax/crypto/jce/params/DERWriter.h | 63 + .../gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h | 57 + libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h | 57 + libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h | 51 + libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h | 59 + libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h | 57 + libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h | 57 + .../javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h | 51 + libjava/gnu/javax/crypto/jce/sig/DHParameters.h | 68 + .../javax/crypto/jce/sig/DHParametersGenerator.h | 69 + .../crypto/jce/spec/BlockCipherParameterSpec.h | 50 + .../gnu/javax/crypto/jce/spec/TMMHParameterSpec.h | 59 + .../javax/crypto/jce/spec/UMac32ParameterSpec.h | 44 + .../gnu/javax/crypto/key/BaseKeyAgreementParty.h | 90 + libjava/gnu/javax/crypto/key/GnuPBEKey.h | 57 + libjava/gnu/javax/crypto/key/GnuSecretKey.h | 47 + libjava/gnu/javax/crypto/key/IKeyAgreementParty.h | 44 + libjava/gnu/javax/crypto/key/IncomingMessage.h | 77 + .../gnu/javax/crypto/key/KeyAgreementException.h | 45 + libjava/gnu/javax/crypto/key/KeyAgreementFactory.h | 39 + libjava/gnu/javax/crypto/key/OutgoingMessage.h | 61 + .../gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h | 63 + .../gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h | 53 + .../gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h | 63 + .../crypto/key/dh/DiffieHellmanKeyAgreement.h | 66 + .../javax/crypto/key/dh/DiffieHellmanReceiver.h | 54 + .../gnu/javax/crypto/key/dh/DiffieHellmanSender.h | 55 + .../gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h | 56 + libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h | 57 + libjava/gnu/javax/crypto/key/dh/ElGamalSender.h | 57 + libjava/gnu/javax/crypto/key/dh/GnuDHKey.h | 74 + .../javax/crypto/key/dh/GnuDHKeyPairGenerator.h | 96 + libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h | 57 + libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h | 57 + libjava/gnu/javax/crypto/key/dh/RFC2631.h | 84 + libjava/gnu/javax/crypto/key/srp6/SRP6Host.h | 63 + .../gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h | 72 + libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h | 43 + libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h | 43 + libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h | 62 + libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h | 66 + libjava/gnu/javax/crypto/key/srp6/SRP6User.h | 60 + libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h | 60 + libjava/gnu/javax/crypto/key/srp6/SRPKey.h | 59 + .../javax/crypto/key/srp6/SRPKeyPairGenerator.h | 92 + .../gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h | 53 + libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h | 60 + libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h | 57 + .../gnu/javax/crypto/keyring/AuthenticatedEntry.h | 54 + libjava/gnu/javax/crypto/keyring/BaseKeyring.h | 56 + libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h | 48 + libjava/gnu/javax/crypto/keyring/CertPathEntry.h | 60 + .../gnu/javax/crypto/keyring/CertificateEntry.h | 58 + libjava/gnu/javax/crypto/keyring/CompressedEntry.h | 44 + libjava/gnu/javax/crypto/keyring/EncryptedEntry.h | 53 + libjava/gnu/javax/crypto/keyring/Entry.h | 55 + libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h | 60 + .../gnu/javax/crypto/keyring/GnuPrivateKeyring.h | 73 + .../gnu/javax/crypto/keyring/GnuPublicKeyring.h | 58 + libjava/gnu/javax/crypto/keyring/IKeyring.h | 47 + libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h | 67 + libjava/gnu/javax/crypto/keyring/IPublicKeyring.h | 57 + .../crypto/keyring/MalformedKeyringException.h | 36 + .../javax/crypto/keyring/MaskableEnvelopeEntry.h | 52 + .../gnu/javax/crypto/keyring/MeteredInputStream.h | 52 + .../crypto/keyring/PasswordAuthenticatedEntry.h | 57 + .../javax/crypto/keyring/PasswordEncryptedEntry.h | 57 + .../javax/crypto/keyring/PasswordProtectedEntry.h | 38 + libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h | 45 + libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h | 56 + libjava/gnu/javax/crypto/keyring/Properties.h | 49 + libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h | 55 + libjava/gnu/javax/crypto/kwa/AESKeyWrap.h | 50 + .../javax/crypto/kwa/BaseKeyWrappingAlgorithm.h | 63 + .../gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h | 45 + .../gnu/javax/crypto/kwa/KeyUnwrappingException.h | 36 + .../javax/crypto/kwa/KeyWrappingAlgorithmFactory.h | 41 + libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h | 71 + libjava/gnu/javax/crypto/mac/BaseMac.h | 63 + libjava/gnu/javax/crypto/mac/HMac.h | 65 + libjava/gnu/javax/crypto/mac/HMacFactory.h | 38 + libjava/gnu/javax/crypto/mac/IMac.h | 47 + libjava/gnu/javax/crypto/mac/MacFactory.h | 41 + libjava/gnu/javax/crypto/mac/MacInputStream.h | 47 + libjava/gnu/javax/crypto/mac/MacOutputStream.h | 47 + libjava/gnu/javax/crypto/mac/OMAC.h | 75 + libjava/gnu/javax/crypto/mac/TMMH16.h | 79 + libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h | 60 + libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h | 65 + libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h | 50 + libjava/gnu/javax/crypto/mac/UHash32.h | 73 + libjava/gnu/javax/crypto/mac/UMac32.h | 74 + libjava/gnu/javax/crypto/mode/BaseMode.h | 68 + libjava/gnu/javax/crypto/mode/CBC.h | 53 + libjava/gnu/javax/crypto/mode/CFB.h | 53 + libjava/gnu/javax/crypto/mode/CTR.h | 56 + libjava/gnu/javax/crypto/mode/EAX.h | 77 + libjava/gnu/javax/crypto/mode/ECB.h | 49 + libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h | 52 + libjava/gnu/javax/crypto/mode/ICM.h | 64 + libjava/gnu/javax/crypto/mode/IMode.h | 53 + libjava/gnu/javax/crypto/mode/ModeFactory.h | 46 + libjava/gnu/javax/crypto/mode/OFB.h | 52 + libjava/gnu/javax/crypto/pad/BasePad.h | 55 + libjava/gnu/javax/crypto/pad/IPad.h | 44 + libjava/gnu/javax/crypto/pad/ISO10126.h | 55 + libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h | 59 + libjava/gnu/javax/crypto/pad/PKCS7.h | 44 + libjava/gnu/javax/crypto/pad/PadFactory.h | 41 + libjava/gnu/javax/crypto/pad/SSL3.h | 40 + libjava/gnu/javax/crypto/pad/TBC.h | 44 + libjava/gnu/javax/crypto/pad/TLS1.h | 40 + .../gnu/javax/crypto/pad/WrongPaddingException.h | 35 + libjava/gnu/javax/crypto/prng/ARCFour.h | 46 + libjava/gnu/javax/crypto/prng/CSPRNG$1.h | 40 + libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h | 49 + libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h | 41 + libjava/gnu/javax/crypto/prng/CSPRNG.h | 121 + libjava/gnu/javax/crypto/prng/Fortuna$Generator.h | 67 + libjava/gnu/javax/crypto/prng/Fortuna.h | 72 + libjava/gnu/javax/crypto/prng/ICMGenerator.h | 62 + libjava/gnu/javax/crypto/prng/IPBE.h | 39 + libjava/gnu/javax/crypto/prng/PBKDF2.h | 50 + libjava/gnu/javax/crypto/prng/PRNGFactory.h | 47 + libjava/gnu/javax/crypto/prng/UMacGenerator.h | 46 + libjava/gnu/javax/crypto/sasl/AuthInfo.h | 40 + .../javax/crypto/sasl/AuthInfoProviderFactory.h | 37 + libjava/gnu/javax/crypto/sasl/ClientFactory.h | 65 + libjava/gnu/javax/crypto/sasl/ClientMechanism.h | 91 + .../javax/crypto/sasl/ConfidentialityException.h | 37 + libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h | 40 + .../javax/crypto/sasl/IAuthInfoProviderFactory.h | 36 + .../crypto/sasl/IllegalMechanismStateException.h | 37 + libjava/gnu/javax/crypto/sasl/InputBuffer.h | 60 + libjava/gnu/javax/crypto/sasl/IntegrityException.h | 37 + .../javax/crypto/sasl/NoSuchMechanismException.h | 35 + .../gnu/javax/crypto/sasl/NoSuchUserException.h | 36 + libjava/gnu/javax/crypto/sasl/OutputBuffer.h | 54 + .../gnu/javax/crypto/sasl/SaslEncodingException.h | 36 + libjava/gnu/javax/crypto/sasl/SaslInputStream.h | 62 + libjava/gnu/javax/crypto/sasl/SaslOutputStream.h | 60 + libjava/gnu/javax/crypto/sasl/SaslUtil.h | 44 + libjava/gnu/javax/crypto/sasl/ServerFactory.h | 65 + libjava/gnu/javax/crypto/sasl/ServerMechanism.h | 92 + .../javax/crypto/sasl/UserAlreadyExistsException.h | 36 + .../javax/crypto/sasl/anonymous/AnonymousClient.h | 49 + .../javax/crypto/sasl/anonymous/AnonymousServer.h | 45 + .../javax/crypto/sasl/anonymous/AnonymousUtil.h | 41 + .../crypto/sasl/crammd5/CramMD5AuthInfoProvider.h | 48 + .../gnu/javax/crypto/sasl/crammd5/CramMD5Client.h | 49 + .../javax/crypto/sasl/crammd5/CramMD5Registry.h | 44 + .../gnu/javax/crypto/sasl/crammd5/CramMD5Server.h | 52 + .../gnu/javax/crypto/sasl/crammd5/CramMD5Util.h | 43 + .../gnu/javax/crypto/sasl/crammd5/PasswordFile.h | 56 + libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h | 56 + .../crypto/sasl/plain/PlainAuthInfoProvider.h | 48 + libjava/gnu/javax/crypto/sasl/plain/PlainClient.h | 49 + .../gnu/javax/crypto/sasl/plain/PlainRegistry.h | 44 + libjava/gnu/javax/crypto/sasl/plain/PlainServer.h | 50 + libjava/gnu/javax/crypto/sasl/srp/CALG.h | 57 + libjava/gnu/javax/crypto/sasl/srp/ClientStore.h | 50 + libjava/gnu/javax/crypto/sasl/srp/IALG.h | 56 + libjava/gnu/javax/crypto/sasl/srp/KDF.h | 66 + libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h | 89 + libjava/gnu/javax/crypto/sasl/srp/SRP.h | 77 + .../javax/crypto/sasl/srp/SRPAuthInfoProvider.h | 48 + libjava/gnu/javax/crypto/sasl/srp/SRPClient.h | 129 + libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h | 92 + libjava/gnu/javax/crypto/sasl/srp/SRPServer.h | 115 + .../gnu/javax/crypto/sasl/srp/SecurityContext.h | 68 + libjava/gnu/javax/crypto/sasl/srp/ServerStore.h | 54 + libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h | 43 + libjava/gnu/javax/imageio/IIOInputStream.h | 56 + libjava/gnu/javax/imageio/bmp/BMPDecoder.h | 70 + libjava/gnu/javax/imageio/bmp/BMPEncoder.h | 55 + libjava/gnu/javax/imageio/bmp/BMPException.h | 35 + libjava/gnu/javax/imageio/bmp/BMPFileHeader.h | 63 + libjava/gnu/javax/imageio/bmp/BMPImageReader.h | 85 + libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h | 66 + libjava/gnu/javax/imageio/bmp/BMPImageWriter.h | 68 + libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h | 71 + libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h | 89 + libjava/gnu/javax/imageio/bmp/DecodeBF16.h | 64 + libjava/gnu/javax/imageio/bmp/DecodeBF32.h | 64 + libjava/gnu/javax/imageio/bmp/DecodeRGB1.h | 58 + libjava/gnu/javax/imageio/bmp/DecodeRGB24.h | 58 + libjava/gnu/javax/imageio/bmp/DecodeRGB4.h | 58 + libjava/gnu/javax/imageio/bmp/DecodeRGB8.h | 58 + libjava/gnu/javax/imageio/bmp/DecodeRLE4.h | 67 + libjava/gnu/javax/imageio/bmp/DecodeRLE8.h | 67 + libjava/gnu/javax/imageio/bmp/EncodeRGB1.h | 59 + libjava/gnu/javax/imageio/bmp/EncodeRGB16.h | 59 + libjava/gnu/javax/imageio/bmp/EncodeRGB24.h | 59 + libjava/gnu/javax/imageio/bmp/EncodeRGB32.h | 59 + libjava/gnu/javax/imageio/bmp/EncodeRGB4.h | 59 + libjava/gnu/javax/imageio/bmp/EncodeRGB8.h | 59 + libjava/gnu/javax/imageio/bmp/EncodeRLE4.h | 75 + libjava/gnu/javax/imageio/bmp/EncodeRLE8.h | 75 + .../gnu/javax/imageio/gif/GIFFile$GIFException.h | 35 + libjava/gnu/javax/imageio/gif/GIFFile.h | 101 + libjava/gnu/javax/imageio/gif/GIFImageReader.h | 83 + libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h | 66 + libjava/gnu/javax/imageio/jpeg/DCT.h | 48 + libjava/gnu/javax/imageio/jpeg/HuffmanTable.h | 76 + libjava/gnu/javax/imageio/jpeg/JPEGComponent.h | 91 + libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h | 99 + libjava/gnu/javax/imageio/jpeg/JPEGException.h | 35 + libjava/gnu/javax/imageio/jpeg/JPEGFrame.h | 67 + .../gnu/javax/imageio/jpeg/JPEGImageInputStream.h | 60 + libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h | 76 + .../gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h | 74 + libjava/gnu/javax/imageio/jpeg/JPEGMarker.h | 89 + .../javax/imageio/jpeg/JPEGMarkerFoundException.h | 35 + libjava/gnu/javax/imageio/jpeg/JPEGScan.h | 60 + libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h | 42 + libjava/gnu/javax/imageio/jpeg/ZigZag.h | 52 + libjava/gnu/javax/imageio/png/PNGChunk.h | 71 + libjava/gnu/javax/imageio/png/PNGData.h | 47 + libjava/gnu/javax/imageio/png/PNGDecoder.h | 85 + libjava/gnu/javax/imageio/png/PNGEncoder.h | 64 + libjava/gnu/javax/imageio/png/PNGException.h | 35 + libjava/gnu/javax/imageio/png/PNGFile.h | 75 + libjava/gnu/javax/imageio/png/PNGFilter.h | 47 + libjava/gnu/javax/imageio/png/PNGGamma.h | 54 + libjava/gnu/javax/imageio/png/PNGHeader.h | 66 + libjava/gnu/javax/imageio/png/PNGICCProfile.h | 57 + libjava/gnu/javax/imageio/png/PNGImageReader.h | 75 + libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h | 59 + libjava/gnu/javax/imageio/png/PNGPalette.h | 60 + libjava/gnu/javax/imageio/png/PNGPhys.h | 50 + libjava/gnu/javax/imageio/png/PNGTime.h | 43 + libjava/gnu/javax/management/Server$ServerInfo.h | 48 + .../javax/management/Server$ServerInputStream.h | 40 + .../management/Server$ServerNotificationListener.h | 49 + libjava/gnu/javax/management/Server.h | 102 + .../gnu/javax/naming/giop/ContextContinuation.h | 111 + libjava/gnu/javax/naming/giop/CorbalocParser.h | 79 + .../gnu/javax/naming/giop/GiopNamingEnumeration.h | 64 + .../javax/naming/giop/GiopNamingServiceFactory$1.h | 53 + .../javax/naming/giop/GiopNamingServiceFactory.h | 58 + .../naming/giop/GiopNamingServiceURLContext.h | 111 + .../javax/naming/giop/ListBindingsEnumeration.h | 52 + libjava/gnu/javax/naming/giop/ListEnumeration.h | 48 + .../naming/ictxImpl/trans/GnuName$GnuNameEnum.h | 46 + libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h | 76 + .../url/corbaname/corbanameURLContextFactory.h | 41 + .../naming/jndi/url/rmi/ContextContinuation.h | 98 + .../naming/jndi/url/rmi/ListBindingsEnumeration.h | 57 + .../javax/naming/jndi/url/rmi/ListEnumeration.h | 44 + .../javax/naming/jndi/url/rmi/RmiContinuation.h | 98 + .../naming/jndi/url/rmi/RmiNamingEnumeration.h | 54 + .../gnu/javax/naming/jndi/url/rmi/rmiURLContext.h | 100 + .../naming/jndi/url/rmi/rmiURLContextFactory.h | 50 + libjava/gnu/javax/net/ssl/AbstractSessionContext.h | 71 + libjava/gnu/javax/net/ssl/Base64.h | 43 + libjava/gnu/javax/net/ssl/EntropySource.h | 38 + libjava/gnu/javax/net/ssl/NullManagerParameters.h | 35 + libjava/gnu/javax/net/ssl/PreSharedKeyManager.h | 43 + .../javax/net/ssl/PreSharedKeyManagerParameters.h | 49 + libjava/gnu/javax/net/ssl/PrivateCredentials.h | 56 + libjava/gnu/javax/net/ssl/SRPManagerParameters.h | 49 + libjava/gnu/javax/net/ssl/SRPTrustManager.h | 62 + libjava/gnu/javax/net/ssl/SSLCipherSuite.h | 66 + libjava/gnu/javax/net/ssl/SSLProtocolVersion.h | 46 + libjava/gnu/javax/net/ssl/SSLRecordHandler.h | 50 + libjava/gnu/javax/net/ssl/Session$ID.h | 47 + libjava/gnu/javax/net/ssl/Session.h | 117 + libjava/gnu/javax/net/ssl/SessionStoreException.h | 37 + libjava/gnu/javax/net/ssl/StaticTrustAnchors.h | 54 + .../javax/net/ssl/provider/AbstractHandshake$1.h | 45 + .../ssl/provider/AbstractHandshake$CertVerifier.h | 62 + .../ssl/provider/AbstractHandshake$DHE_PSKGen.h | 58 + .../net/ssl/provider/AbstractHandshake$DHPhase.h | 57 + .../gnu/javax/net/ssl/provider/AbstractHandshake.h | 142 + .../gnu/javax/net/ssl/provider/Alert$Description.h | 79 + libjava/gnu/javax/net/ssl/provider/Alert$Level.h | 50 + libjava/gnu/javax/net/ssl/provider/Alert.h | 65 + .../gnu/javax/net/ssl/provider/AlertException.h | 49 + libjava/gnu/javax/net/ssl/provider/Builder.h | 47 + libjava/gnu/javax/net/ssl/provider/Certificate.h | 54 + .../javax/net/ssl/provider/CertificateBuilder.h | 48 + .../CertificateRequest$ClientCertificateType.h | 53 + .../ssl/provider/CertificateRequest$ClientType.h | 53 + .../javax/net/ssl/provider/CertificateRequest.h | 55 + .../net/ssl/provider/CertificateRequestBuilder.h | 49 + .../CertificateStatusRequest$ResponderIdIterator.h | 50 + .../net/ssl/provider/CertificateStatusRequest.h | 65 + .../javax/net/ssl/provider/CertificateStatusType.h | 47 + .../gnu/javax/net/ssl/provider/CertificateType.h | 49 + .../ssl/provider/CertificateURL$CertChainType.h | 49 + .../net/ssl/provider/CertificateURL$Iterator.h | 49 + .../provider/CertificateURL$URLAndOptionalHash.h | 61 + .../gnu/javax/net/ssl/provider/CertificateURL.h | 61 + .../gnu/javax/net/ssl/provider/CertificateVerify.h | 51 + .../gnu/javax/net/ssl/provider/CipherAlgorithm.h | 51 + libjava/gnu/javax/net/ssl/provider/CipherSuite.h | 145 + .../net/ssl/provider/CipherSuiteList$Iterator.h | 60 + .../gnu/javax/net/ssl/provider/CipherSuiteList.h | 63 + .../provider/ClientCertificateTypeList$Iterator.h | 60 + .../net/ssl/provider/ClientCertificateTypeList.h | 60 + .../net/ssl/provider/ClientDHE_PSKParameters.h | 55 + .../net/ssl/provider/ClientDiffieHellmanPublic.h | 59 + .../net/ssl/provider/ClientHandshake$CertLoader.h | 47 + .../net/ssl/provider/ClientHandshake$ClientDHGen.h | 64 + .../ssl/provider/ClientHandshake$GenCertVerify.h | 59 + .../ssl/provider/ClientHandshake$ParamsVerifier.h | 59 + .../net/ssl/provider/ClientHandshake$RSAGen.h | 52 + .../javax/net/ssl/provider/ClientHandshake$State.h | 62 + .../gnu/javax/net/ssl/provider/ClientHandshake.h | 120 + libjava/gnu/javax/net/ssl/provider/ClientHello.h | 75 + .../javax/net/ssl/provider/ClientHelloBuilder.h | 58 + libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h | 66 + .../gnu/javax/net/ssl/provider/ClientKeyExchange.h | 57 + .../net/ssl/provider/ClientKeyExchangeBuilder.h | 49 + .../javax/net/ssl/provider/ClientPSKParameters.h | 51 + .../net/ssl/provider/ClientRSA_PSKParameters.h | 55 + .../gnu/javax/net/ssl/provider/CompressionMethod.h | 50 + .../ssl/provider/CompressionMethodList$Iterator.h | 60 + .../javax/net/ssl/provider/CompressionMethodList.h | 60 + libjava/gnu/javax/net/ssl/provider/Constructed.h | 39 + libjava/gnu/javax/net/ssl/provider/ContentType.h | 54 + libjava/gnu/javax/net/ssl/provider/Context.h | 82 + libjava/gnu/javax/net/ssl/provider/Debug.h | 41 + libjava/gnu/javax/net/ssl/provider/DelegatedTask.h | 57 + libjava/gnu/javax/net/ssl/provider/DiffieHellman.h | 66 + .../gnu/javax/net/ssl/provider/DigestInputStream.h | 60 + .../javax/net/ssl/provider/DigestOutputStream.h | 60 + .../gnu/javax/net/ssl/provider/EmptyExchangeKeys.h | 41 + .../net/ssl/provider/EncryptedPreMasterSecret.h | 58 + libjava/gnu/javax/net/ssl/provider/Enumerated.h | 42 + libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h | 50 + .../gnu/javax/net/ssl/provider/Extension$Type.h | 56 + .../gnu/javax/net/ssl/provider/Extension$Value.h | 48 + libjava/gnu/javax/net/ssl/provider/Extension.h | 68 + .../provider/ExtensionList$ExtensionsIterator.h | 60 + libjava/gnu/javax/net/ssl/provider/ExtensionList.h | 64 + libjava/gnu/javax/net/ssl/provider/Extensions.h | 54 + libjava/gnu/javax/net/ssl/provider/Finished.h | 64 + .../javax/net/ssl/provider/GNUSecurityParameters.h | 98 + .../gnu/javax/net/ssl/provider/Handshake$Body.h | 39 + .../gnu/javax/net/ssl/provider/Handshake$Type.h | 60 + .../gnu/javax/net/ssl/provider/Handshake$buffer.h | 44 + libjava/gnu/javax/net/ssl/provider/Handshake.h | 68 + libjava/gnu/javax/net/ssl/provider/HelloRequest.h | 41 + .../net/ssl/provider/InputSecurityParameters.h | 90 + .../javax/net/ssl/provider/JCESecurityParameters.h | 76 + .../javax/net/ssl/provider/JDBCSessionContext.h | 87 + libjava/gnu/javax/net/ssl/provider/Jessie$1.h | 44 + libjava/gnu/javax/net/ssl/provider/Jessie.h | 43 + .../javax/net/ssl/provider/JessieDHPrivateKey.h | 68 + .../gnu/javax/net/ssl/provider/JessieDHPublicKey.h | 68 + .../javax/net/ssl/provider/JessieRSAPrivateKey.h | 58 + .../javax/net/ssl/provider/JessieRSAPublicKey.h | 58 + .../javax/net/ssl/provider/KeyExchangeAlgorithm.h | 55 + libjava/gnu/javax/net/ssl/provider/KeyPool.h | 60 + libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h | 48 + libjava/gnu/javax/net/ssl/provider/MacException.h | 39 + .../gnu/javax/net/ssl/provider/MaxFragmentLength.h | 59 + .../net/ssl/provider/OutputSecurityParameters.h | 77 + .../gnu/javax/net/ssl/provider/OverflowException.h | 40 + .../PreSharedKeyManagerFactoryImpl$Manager.h | 52 + .../ssl/provider/PreSharedKeyManagerFactoryImpl.h | 66 + .../gnu/javax/net/ssl/provider/ProtocolVersion.h | 62 + libjava/gnu/javax/net/ssl/provider/Random.h | 62 + libjava/gnu/javax/net/ssl/provider/Record.h | 60 + libjava/gnu/javax/net/ssl/provider/RecordInput.h | 56 + .../gnu/javax/net/ssl/provider/RecordInputStream.h | 52 + .../javax/net/ssl/provider/RecordOutputStream.h | 54 + .../javax/net/ssl/provider/RecordingInputStream.h | 52 + .../ssl/provider/SRPTrustManagerFactory$Manager.h | 73 + .../net/ssl/provider/SRPTrustManagerFactory.h | 66 + .../gnu/javax/net/ssl/provider/SSLContextImpl.h | 88 + .../javax/net/ssl/provider/SSLEngineImpl$Mode.h | 47 + libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h | 128 + libjava/gnu/javax/net/ssl/provider/SSLHMac.h | 69 + .../gnu/javax/net/ssl/provider/SSLRSASignature.h | 79 + .../javax/net/ssl/provider/SSLRSASignatureImpl.h | 79 + libjava/gnu/javax/net/ssl/provider/SSLRandom.h | 74 + .../gnu/javax/net/ssl/provider/SSLServerSocket.h | 104 + .../net/ssl/provider/SSLServerSocketFactory.h | 81 + .../net/ssl/provider/SSLServerSocketFactoryImpl.h | 61 + .../javax/net/ssl/provider/SSLServerSocketImpl.h | 74 + libjava/gnu/javax/net/ssl/provider/SSLSocket.h | 240 + .../gnu/javax/net/ssl/provider/SSLSocketFactory.h | 81 + .../javax/net/ssl/provider/SSLSocketFactoryImpl.h | 64 + .../gnu/javax/net/ssl/provider/SSLSocketImpl$1.h | 44 + .../ssl/provider/SSLSocketImpl$SocketInputStream.h | 58 + .../provider/SSLSocketImpl$SocketOutputStream.h | 58 + libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h | 160 + .../javax/net/ssl/provider/SSLSocketInputStream.h | 52 + .../javax/net/ssl/provider/SSLSocketOutputStream.h | 51 + .../gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h | 62 + .../gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h | 62 + .../javax/net/ssl/provider/SecurityParameters.h | 54 + .../net/ssl/provider/ServerDHE_PSKParameters.h | 62 + .../gnu/javax/net/ssl/provider/ServerDHParams.h | 65 + .../net/ssl/provider/ServerHandshake$CertLoader.h | 44 + .../javax/net/ssl/provider/ServerHandshake$GenDH.h | 53 + .../ssl/provider/ServerHandshake$RSAKeyExchange.h | 48 + .../ssl/provider/ServerHandshake$RSA_PSKExchange.h | 56 + .../javax/net/ssl/provider/ServerHandshake$State.h | 63 + .../gnu/javax/net/ssl/provider/ServerHandshake.h | 129 + libjava/gnu/javax/net/ssl/provider/ServerHello.h | 69 + .../javax/net/ssl/provider/ServerHelloBuilder.h | 60 + .../gnu/javax/net/ssl/provider/ServerHelloDone.h | 41 + .../gnu/javax/net/ssl/provider/ServerKeyExchange.h | 57 + .../net/ssl/provider/ServerKeyExchangeBuilder.h | 50 + .../net/ssl/provider/ServerKeyExchangeParams.h | 41 + .../net/ssl/provider/ServerNameList$Iterator.h | 49 + .../net/ssl/provider/ServerNameList$NameType.h | 48 + .../net/ssl/provider/ServerNameList$ServerName.h | 56 + .../gnu/javax/net/ssl/provider/ServerNameList.h | 58 + .../javax/net/ssl/provider/ServerPSKParameters.h | 56 + .../gnu/javax/net/ssl/provider/ServerRSAParams.h | 61 + .../net/ssl/provider/ServerRSA_PSKParameters.h | 48 + libjava/gnu/javax/net/ssl/provider/Session$ID.h | 49 + libjava/gnu/javax/net/ssl/provider/Session.h | 134 + .../gnu/javax/net/ssl/provider/SessionContext.h | 70 + .../net/ssl/provider/SessionImpl$PrivateData.h | 43 + libjava/gnu/javax/net/ssl/provider/SessionImpl.h | 87 + libjava/gnu/javax/net/ssl/provider/Signature.h | 60 + .../javax/net/ssl/provider/SignatureAlgorithm.h | 53 + .../net/ssl/provider/SimpleSessionContext$1.h | 46 + .../javax/net/ssl/provider/SimpleSessionContext.h | 59 + .../javax/net/ssl/provider/SynchronizedRandom.h | 62 + libjava/gnu/javax/net/ssl/provider/TLSHMac.h | 54 + libjava/gnu/javax/net/ssl/provider/TLSRandom.h | 71 + libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h | 49 + .../TrustedAuthorities$AuthoritiesIterator.h | 49 + .../provider/TrustedAuthorities$IdentifierType.h | 51 + .../provider/TrustedAuthorities$TrustedAuthority.h | 70 + .../javax/net/ssl/provider/TrustedAuthorities.h | 56 + .../net/ssl/provider/UnresolvedExtensionValue.h | 53 + libjava/gnu/javax/net/ssl/provider/Util$1.h | 43 + libjava/gnu/javax/net/ssl/provider/Util$2.h | 43 + .../javax/net/ssl/provider/Util$WrappedBuffer.h | 51 + libjava/gnu/javax/net/ssl/provider/Util.h | 76 + .../net/ssl/provider/X500PrincipalList$Iterator.h | 72 + .../gnu/javax/net/ssl/provider/X500PrincipalList.h | 76 + .../ssl/provider/X509KeyManagerFactory$Manager.h | 85 + .../javax/net/ssl/provider/X509KeyManagerFactory.h | 72 + .../ssl/provider/X509TrustManagerFactory$Manager.h | 61 + .../net/ssl/provider/X509TrustManagerFactory.h | 69 + .../ssl/provider/XMLSessionContext$SAXHandler.h | 102 + .../gnu/javax/net/ssl/provider/XMLSessionContext.h | 69 + libjava/gnu/javax/print/CupsIppOperation.h | 45 + libjava/gnu/javax/print/CupsMediaMapping.h | 37 + libjava/gnu/javax/print/CupsPrintService.h | 59 + libjava/gnu/javax/print/CupsPrintServiceLookup.h | 57 + libjava/gnu/javax/print/CupsServer.h | 52 + libjava/gnu/javax/print/PrintAttributeException.h | 53 + libjava/gnu/javax/print/PrintFlavorException.h | 48 + libjava/gnu/javax/print/PrintUriException.h | 48 + .../print/PrinterDialog$AppearancePanel$Color.h | 60 + .../PrinterDialog$AppearancePanel$JobAttributes.h | 80 + .../print/PrinterDialog$AppearancePanel$Quality.h | 63 + .../PrinterDialog$AppearancePanel$SidesPanel.h | 61 + .../javax/print/PrinterDialog$AppearancePanel.h | 48 + .../PrinterDialog$GeneralPanel$CopiesAndSorted.h | 70 + .../print/PrinterDialog$GeneralPanel$PrintRange.h | 71 + .../PrinterDialog$GeneralPanel$PrintServices.h | 71 + .../gnu/javax/print/PrinterDialog$GeneralPanel.h | 46 + .../print/PrinterDialog$PageSetupPanel$Margins.h | 70 + .../PrinterDialog$PageSetupPanel$MediaTypes.h | 63 + .../PrinterDialog$PageSetupPanel$Orientation.h | 62 + .../gnu/javax/print/PrinterDialog$PageSetupPanel.h | 46 + libjava/gnu/javax/print/PrinterDialog.h | 101 + libjava/gnu/javax/print/ipp/DocPrintJobImpl.h | 90 + libjava/gnu/javax/print/ipp/IppDelimiterTag.h | 41 + libjava/gnu/javax/print/ipp/IppException.h | 38 + .../gnu/javax/print/ipp/IppMultiDocPrintService.h | 54 + libjava/gnu/javax/print/ipp/IppPrintService.h | 111 + .../gnu/javax/print/ipp/IppRequest$RequestWriter.h | 78 + libjava/gnu/javax/print/ipp/IppRequest.h | 88 + .../javax/print/ipp/IppResponse$ResponseReader.h | 65 + libjava/gnu/javax/print/ipp/IppResponse.h | 68 + libjava/gnu/javax/print/ipp/IppStatusCode.h | 67 + libjava/gnu/javax/print/ipp/IppUtilities.h | 64 + libjava/gnu/javax/print/ipp/IppValueTag.h | 56 + libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h | 48 + .../gnu/javax/print/ipp/attribute/CharsetSyntax.h | 46 + .../print/ipp/attribute/DefaultValueAttribute.h | 50 + .../print/ipp/attribute/DetailedStatusMessage.h | 40 + .../print/ipp/attribute/DocumentAccessError.h | 40 + .../print/ipp/attribute/NaturalLanguageSyntax.h | 46 + .../print/ipp/attribute/RequestedAttributes.h | 46 + .../gnu/javax/print/ipp/attribute/StatusMessage.h | 40 + .../javax/print/ipp/attribute/UnknownAttribute.h | 61 + .../print/ipp/attribute/defaults/CopiesDefault.h | 55 + .../ipp/attribute/defaults/DocumentFormatDefault.h | 54 + .../ipp/attribute/defaults/FinishingsDefault.h | 85 + .../ipp/attribute/defaults/JobHoldUntilDefault.h | 62 + .../ipp/attribute/defaults/JobPriorityDefault.h | 55 + .../ipp/attribute/defaults/JobSheetsDefault.h | 56 + .../print/ipp/attribute/defaults/MediaDefault.h | 54 + .../defaults/MultipleDocumentHandlingDefault.h | 70 + .../print/ipp/attribute/defaults/NumberUpDefault.h | 55 + .../defaults/OrientationRequestedDefault.h | 71 + .../ipp/attribute/defaults/PrintQualityDefault.h | 70 + .../attribute/defaults/PrinterResolutionDefault.h | 55 + .../print/ipp/attribute/defaults/SidesDefault.h | 71 + .../print/ipp/attribute/job/AttributesCharset.h | 44 + .../ipp/attribute/job/AttributesNaturalLanguage.h | 44 + .../ipp/attribute/job/JobDetailedStatusMessages.h | 43 + .../ipp/attribute/job/JobDocumentAccessErrors.h | 43 + libjava/gnu/javax/print/ipp/attribute/job/JobId.h | 43 + .../javax/print/ipp/attribute/job/JobMoreInfo.h | 50 + .../javax/print/ipp/attribute/job/JobPrinterUri.h | 50 + .../print/ipp/attribute/job/JobStateMessage.h | 43 + libjava/gnu/javax/print/ipp/attribute/job/JobUri.h | 50 + .../ipp/attribute/printer/CharsetConfigured.h | 43 + .../print/ipp/attribute/printer/DocumentFormat.h | 51 + .../attribute/printer/MultipleOperationTimeOut.h | 43 + .../attribute/printer/NaturalLanguageConfigured.h | 43 + .../ipp/attribute/printer/PrinterCurrentTime.h | 44 + .../ipp/attribute/printer/PrinterDriverInstaller.h | 50 + .../ipp/attribute/printer/PrinterStateMessage.h | 43 + .../print/ipp/attribute/printer/PrinterUpTime.h | 43 + .../ipp/attribute/supported/CharsetSupported.h | 43 + .../ipp/attribute/supported/CompressionSupported.h | 74 + .../attribute/supported/DocumentFormatSupported.h | 43 + .../ipp/attribute/supported/FinishingsSupported.h | 89 + .../supported/GeneratedNaturalLanguageSupported.h | 43 + .../ipp/attribute/supported/IppVersionsSupported.h | 65 + .../attribute/supported/JobHoldUntilSupported.h | 51 + .../ipp/attribute/supported/JobSheetsSupported.h | 66 + .../print/ipp/attribute/supported/MediaSupported.h | 59 + .../supported/MultipleDocumentHandlingSupported.h | 74 + .../supported/MultipleDocumentJobsSupported.h | 66 + .../ipp/attribute/supported/OperationsSupported.h | 82 + .../supported/OrientationRequestedSupported.h | 75 + .../ipp/attribute/supported/PageRangesSupported.h | 66 + .../attribute/supported/PrintQualitySupported.h | 74 + .../supported/PrinterResolutionSupported.h | 61 + .../ipp/attribute/supported/PrinterUriSupported.h | 50 + .../print/ipp/attribute/supported/SidesSupported.h | 69 + .../supported/UriAuthenticationSupported.h | 68 + .../ipp/attribute/supported/UriSecuritySupported.h | 66 + libjava/gnu/javax/rmi/CORBA/CorbaInput.h | 94 + libjava/gnu/javax/rmi/CORBA/CorbaOutput.h | 76 + .../gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h | 40 + libjava/gnu/javax/rmi/CORBA/DelegateFactory.h | 40 + .../javax/rmi/CORBA/GetDelegateInstanceException.h | 39 + .../rmi/CORBA/PortableRemoteObjectDelegateImpl.h | 50 + libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h | 37 + libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h | 37 + libjava/gnu/javax/rmi/CORBA/RmiUtilities.h | 113 + libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h | 70 + libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h | 50 + libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h | 101 + .../gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h | 61 + libjava/gnu/javax/security/auth/Password.h | 55 + .../security/auth/callback/AWTCallbackHandler.h | 94 + .../auth/callback/AbstractCallbackHandler.h | 90 + .../security/auth/callback/CertificateCallback.h | 52 + .../auth/callback/ConsoleCallbackHandler.h | 69 + .../auth/callback/DefaultCallbackHandler.h | 66 + .../javax/security/auth/callback/GnuCallbacks$1.h | 44 + .../javax/security/auth/callback/GnuCallbacks.h | 38 + .../auth/callback/SwingCallbackHandler$1.h | 75 + .../auth/callback/SwingCallbackHandler$2.h | 77 + .../auth/callback/SwingCallbackHandler$3.h | 77 + .../auth/callback/SwingCallbackHandler$4.h | 76 + .../auth/callback/SwingCallbackHandler$5.h | 76 + .../auth/callback/SwingCallbackHandler$6.h | 76 + .../auth/callback/SwingCallbackHandler$7.h | 74 + .../security/auth/callback/SwingCallbackHandler.h | 73 + .../javax/security/auth/login/ConfigFileParser.h | 52 + .../security/auth/login/ConfigFileTokenizer.h | 62 + .../javax/security/auth/login/GnuConfiguration.h | 70 + .../javax/sound/midi/alsa/AlsaInputPortDevice.h | 59 + .../midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h | 51 + .../AlsaMidiDeviceProvider$AlsaInputPortInfo.h | 51 + .../AlsaMidiDeviceProvider$AlsaOutputPortInfo.h | 51 + .../alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h | 42 + .../AlsaMidiDeviceProvider$AlsaSequencerInfo.h | 51 + .../javax/sound/midi/alsa/AlsaMidiDeviceProvider.h | 60 + .../sound/midi/alsa/AlsaMidiSequencerDevice.h | 112 + .../javax/sound/midi/alsa/AlsaOutputPortDevice.h | 59 + .../sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h | 54 + .../midi/alsa/AlsaPortDevice$AlsaTransmitter.h | 59 + libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h | 66 + .../sound/midi/dssi/DSSIMidiDeviceProvider$1.h | 40 + .../midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h | 42 + .../javax/sound/midi/dssi/DSSIMidiDeviceProvider.h | 67 + .../midi/dssi/DSSISynthesizer$DSSIInstrument.h | 55 + .../midi/dssi/DSSISynthesizer$DSSIMidiChannel.h | 69 + .../sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h | 55 + .../midi/dssi/DSSISynthesizer$DSSISoundbank.h | 73 + .../gnu/javax/sound/midi/dssi/DSSISynthesizer.h | 104 + .../javax/sound/midi/file/ExtendedMidiFileFormat.h | 42 + .../javax/sound/midi/file/MidiDataInputStream.h | 39 + .../javax/sound/midi/file/MidiDataOutputStream.h | 40 + libjava/gnu/javax/sound/midi/file/MidiFileReader.h | 62 + libjava/gnu/javax/sound/midi/file/MidiFileWriter.h | 60 + .../javax/sound/sampled/AU/AUReader$AUFormatType.h | 38 + .../gnu/javax/sound/sampled/AU/AUReader$AUHeader.h | 73 + libjava/gnu/javax/sound/sampled/AU/AUReader.h | 62 + libjava/gnu/javax/sound/sampled/WAV/WAVReader.h | 66 + .../swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h | 50 + .../plaf/gnu/GNULookAndFeel$RadioButtonIcon.h | 50 + libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h | 64 + .../gnu/javax/swing/plaf/metal/CustomizableTheme.h | 76 + .../swing/text/html/CharacterAttributeTranslator.h | 64 + .../html/CombinedAttributes$CombinedEnumeration.h | 47 + .../gnu/javax/swing/text/html/CombinedAttributes.h | 64 + .../html/ImageViewIconFactory$LoadingImageIcon.h | 49 + .../text/html/ImageViewIconFactory$NoImageIcon.h | 49 + .../javax/swing/text/html/ImageViewIconFactory.h | 51 + .../gnu/javax/swing/text/html/css/BorderStyle.h | 42 + .../gnu/javax/swing/text/html/css/BorderWidth.h | 42 + libjava/gnu/javax/swing/text/html/css/CSSColor.h | 57 + .../swing/text/html/css/CSSLexicalException.h | 42 + .../gnu/javax/swing/text/html/css/CSSParser$1.h | 48 + libjava/gnu/javax/swing/text/html/css/CSSParser.h | 65 + .../javax/swing/text/html/css/CSSParserCallback.h | 46 + .../javax/swing/text/html/css/CSSParserException.h | 41 + libjava/gnu/javax/swing/text/html/css/CSSScanner.h | 92 + libjava/gnu/javax/swing/text/html/css/FontSize.h | 72 + libjava/gnu/javax/swing/text/html/css/FontStyle.h | 45 + libjava/gnu/javax/swing/text/html/css/FontWeight.h | 45 + libjava/gnu/javax/swing/text/html/css/Length.h | 62 + libjava/gnu/javax/swing/text/html/css/Selector.h | 55 + .../html/parser/GnuParserDelegator$gnuParser.h | 75 + .../swing/text/html/parser/GnuParserDelegator.h | 67 + .../gnu/javax/swing/text/html/parser/HTML_401F.h | 330 + .../javax/swing/text/html/parser/HTML_401Swing.h | 65 + .../text/html/parser/SmallHtmlAttributeSet$1.h | 49 + .../swing/text/html/parser/SmallHtmlAttributeSet.h | 71 + libjava/gnu/javax/swing/text/html/parser/gnuDTD.h | 81 + .../swing/text/html/parser/htmlAttributeSet$1.h | 50 + .../swing/text/html/parser/htmlAttributeSet.h | 62 + .../swing/text/html/parser/htmlValidator$hTag.h | 74 + .../javax/swing/text/html/parser/htmlValidator.h | 89 + .../text/html/parser/models/PCDATAonly_model.h | 48 + .../text/html/parser/models/TableRowContentModel.h | 67 + .../gnu/javax/swing/text/html/parser/models/list.h | 66 + .../swing/text/html/parser/models/noTagModel.h | 53 + .../gnu/javax/swing/text/html/parser/models/node.h | 68 + .../swing/text/html/parser/models/transformer.h | 75 + .../swing/text/html/parser/support/Parser$1.h | 50 + .../swing/text/html/parser/support/Parser$2.h | 69 + .../javax/swing/text/html/parser/support/Parser.h | 154 + .../text/html/parser/support/gnuStringIntMapper.h | 54 + .../swing/text/html/parser/support/low/Buffer.h | 72 + .../swing/text/html/parser/support/low/Constants.h | 89 + .../swing/text/html/parser/support/low/Location.h | 52 + .../text/html/parser/support/low/ParseException.h | 47 + .../swing/text/html/parser/support/low/Queue.h | 61 + .../text/html/parser/support/low/ReaderTokenizer.h | 79 + .../swing/text/html/parser/support/low/Token.h | 63 + .../swing/text/html/parser/support/low/node.h | 50 + .../swing/text/html/parser/support/low/pattern.h | 53 + .../text/html/parser/support/parameterDefaulter.h | 66 + .../text/html/parser/support/textPreProcessor.h | 51 + libjava/gnu/javax/swing/tree/GnuPath.h | 38 + libjava/gnu/xml/aelfred2/JAXPFactory$JaxpParser.h | 59 + libjava/gnu/xml/aelfred2/JAXPFactory.h | 48 + libjava/gnu/xml/aelfred2/SAXDriver$Adapter.h | 61 + libjava/gnu/xml/aelfred2/SAXDriver$Attribute.h | 38 + libjava/gnu/xml/aelfred2/SAXDriver.h | 167 + libjava/gnu/xml/aelfred2/XmlParser$AttributeDecl.h | 38 + libjava/gnu/xml/aelfred2/XmlParser$ElementDecl.h | 36 + libjava/gnu/xml/aelfred2/XmlParser$EntityInfo.h | 38 + .../xml/aelfred2/XmlParser$ExternalIdentifiers.h | 37 + libjava/gnu/xml/aelfred2/XmlParser$Input.h | 54 + libjava/gnu/xml/aelfred2/XmlParser.h | 274 + .../gnu/xml/aelfred2/XmlReader$FatalErrorHandler.h | 44 + libjava/gnu/xml/aelfred2/XmlReader.h | 76 + libjava/gnu/xml/dom/Consumer$Backdoor.h | 77 + libjava/gnu/xml/dom/Consumer.h | 37 + libjava/gnu/xml/dom/DTDAttributeTypeInfo.h | 43 + libjava/gnu/xml/dom/DTDElementTypeInfo.h | 46 + libjava/gnu/xml/dom/DomAttr.h | 72 + libjava/gnu/xml/dom/DomCDATASection.h | 38 + .../gnu/xml/dom/DomCharacterData$EmptyNodeList.h | 45 + libjava/gnu/xml/dom/DomCharacterData.h | 66 + libjava/gnu/xml/dom/DomComment.h | 35 + libjava/gnu/xml/dom/DomDOMException.h | 53 + libjava/gnu/xml/dom/DomDoctype.h | 84 + libjava/gnu/xml/dom/DomDocument.h | 154 + libjava/gnu/xml/dom/DomDocumentBuilder.h | 74 + libjava/gnu/xml/dom/DomDocumentBuilderFactory.h | 71 + libjava/gnu/xml/dom/DomDocumentConfiguration.h | 62 + libjava/gnu/xml/dom/DomDocumentFragment.h | 35 + libjava/gnu/xml/dom/DomElement.h | 85 + libjava/gnu/xml/dom/DomEntity.h | 42 + libjava/gnu/xml/dom/DomEntityReference.h | 39 + libjava/gnu/xml/dom/DomEvent$DomMutationEvent.h | 59 + libjava/gnu/xml/dom/DomEvent$DomUIEvent.h | 52 + libjava/gnu/xml/dom/DomEvent.h | 67 + libjava/gnu/xml/dom/DomExtern.h | 43 + libjava/gnu/xml/dom/DomImpl.h | 61 + libjava/gnu/xml/dom/DomIterator.h | 74 + libjava/gnu/xml/dom/DomNSResolverContext.h | 55 + libjava/gnu/xml/dom/DomNamedNodeMap.h | 69 + libjava/gnu/xml/dom/DomNode$DomEventException.h | 33 + libjava/gnu/xml/dom/DomNode$ListenerRecord.h | 53 + libjava/gnu/xml/dom/DomNode$LiveNodeList.h | 67 + libjava/gnu/xml/dom/DomNode$ShadowList.h | 53 + libjava/gnu/xml/dom/DomNode.h | 174 + libjava/gnu/xml/dom/DomNodeIterator.h | 69 + libjava/gnu/xml/dom/DomNotation.h | 35 + libjava/gnu/xml/dom/DomNsNode.h | 52 + libjava/gnu/xml/dom/DomProcessingInstruction.h | 44 + libjava/gnu/xml/dom/DomText.h | 55 + libjava/gnu/xml/dom/DomXPathExpression.h | 65 + libjava/gnu/xml/dom/DomXPathNSResolver.h | 47 + libjava/gnu/xml/dom/DomXPathResult.h | 60 + libjava/gnu/xml/dom/ImplementationList.h | 48 + libjava/gnu/xml/dom/ImplementationSource.h | 56 + libjava/gnu/xml/dom/JAXPFactory$JAXPBuilder.h | 73 + libjava/gnu/xml/dom/JAXPFactory.h | 54 + libjava/gnu/xml/dom/html2/DomHTMLAnchorElement.h | 63 + libjava/gnu/xml/dom/html2/DomHTMLAppletElement.h | 63 + libjava/gnu/xml/dom/html2/DomHTMLAreaElement.h | 53 + libjava/gnu/xml/dom/html2/DomHTMLBRElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLBaseElement.h | 41 + libjava/gnu/xml/dom/html2/DomHTMLBaseFontElement.h | 43 + libjava/gnu/xml/dom/html2/DomHTMLBodyElement.h | 49 + libjava/gnu/xml/dom/html2/DomHTMLButtonElement.h | 62 + libjava/gnu/xml/dom/html2/DomHTMLCollection.h | 69 + libjava/gnu/xml/dom/html2/DomHTMLDListElement.h | 39 + .../gnu/xml/dom/html2/DomHTMLDirectoryElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLDivElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLDocument.h | 85 + libjava/gnu/xml/dom/html2/DomHTMLElement.h | 67 + libjava/gnu/xml/dom/html2/DomHTMLEmbedElement.h | 53 + libjava/gnu/xml/dom/html2/DomHTMLFieldSetElement.h | 51 + libjava/gnu/xml/dom/html2/DomHTMLFontElement.h | 43 + libjava/gnu/xml/dom/html2/DomHTMLFormElement.h | 66 + libjava/gnu/xml/dom/html2/DomHTMLFrameElement.h | 64 + libjava/gnu/xml/dom/html2/DomHTMLFrameSetElement.h | 41 + libjava/gnu/xml/dom/html2/DomHTMLHRElement.h | 45 + libjava/gnu/xml/dom/html2/DomHTMLHeadElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLHeadingElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLHtmlElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLIFrameElement.h | 68 + libjava/gnu/xml/dom/html2/DomHTMLImageElement.h | 61 + libjava/gnu/xml/dom/html2/DomHTMLImpl.h | 49 + libjava/gnu/xml/dom/html2/DomHTMLInputElement.h | 93 + libjava/gnu/xml/dom/html2/DomHTMLIsIndexElement.h | 53 + libjava/gnu/xml/dom/html2/DomHTMLLIElement.h | 41 + libjava/gnu/xml/dom/html2/DomHTMLLabelElement.h | 55 + libjava/gnu/xml/dom/html2/DomHTMLLegendElement.h | 55 + libjava/gnu/xml/dom/html2/DomHTMLLinkElement.h | 55 + libjava/gnu/xml/dom/html2/DomHTMLMapElement.h | 53 + libjava/gnu/xml/dom/html2/DomHTMLMenuElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLMetaElement.h | 45 + libjava/gnu/xml/dom/html2/DomHTMLModElement.h | 41 + libjava/gnu/xml/dom/html2/DomHTMLOListElement.h | 43 + libjava/gnu/xml/dom/html2/DomHTMLObjectElement.h | 103 + libjava/gnu/xml/dom/html2/DomHTMLOptGroupElement.h | 41 + libjava/gnu/xml/dom/html2/DomHTMLOptionElement.h | 66 + .../gnu/xml/dom/html2/DomHTMLParagraphElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLParamElement.h | 45 + libjava/gnu/xml/dom/html2/DomHTMLParser.h | 81 + libjava/gnu/xml/dom/html2/DomHTMLPreElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLQuoteElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLScriptElement.h | 51 + libjava/gnu/xml/dom/html2/DomHTMLSelectElement.h | 75 + libjava/gnu/xml/dom/html2/DomHTMLStyleElement.h | 43 + .../gnu/xml/dom/html2/DomHTMLTableCaptionElement.h | 39 + .../gnu/xml/dom/html2/DomHTMLTableCellElement.h | 66 + libjava/gnu/xml/dom/html2/DomHTMLTableColElement.h | 49 + libjava/gnu/xml/dom/html2/DomHTMLTableElement.h | 91 + libjava/gnu/xml/dom/html2/DomHTMLTableRowElement.h | 70 + .../gnu/xml/dom/html2/DomHTMLTableSectionElement.h | 66 + libjava/gnu/xml/dom/html2/DomHTMLTextAreaElement.h | 76 + libjava/gnu/xml/dom/html2/DomHTMLTitleElement.h | 39 + libjava/gnu/xml/dom/html2/DomHTMLUListElement.h | 41 + libjava/gnu/xml/dom/ls/DomLSException.h | 35 + libjava/gnu/xml/dom/ls/DomLSInput.h | 59 + libjava/gnu/xml/dom/ls/DomLSOutput.h | 48 + libjava/gnu/xml/dom/ls/DomLSParser.h | 117 + libjava/gnu/xml/dom/ls/DomLSSerializer.h | 77 + libjava/gnu/xml/dom/ls/FilteredSAXEventSink.h | 80 + libjava/gnu/xml/dom/ls/ReaderInputStream.h | 58 + libjava/gnu/xml/dom/ls/SAXEventSink.h | 126 + libjava/gnu/xml/dom/ls/WriterOutputStream.h | 49 + libjava/gnu/xml/libxmlj/dom/GnomeAttr.h | 60 + libjava/gnu/xml/libxmlj/dom/GnomeCDATASection.h | 36 + libjava/gnu/xml/libxmlj/dom/GnomeCharacterData.h | 45 + libjava/gnu/xml/libxmlj/dom/GnomeComment.h | 36 + libjava/gnu/xml/libxmlj/dom/GnomeDOMException.h | 38 + libjava/gnu/xml/libxmlj/dom/GnomeDOMStringList.h | 44 + libjava/gnu/xml/libxmlj/dom/GnomeDocument.h | 148 + libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.h | 86 + .../xml/libxmlj/dom/GnomeDocumentBuilderFactory.h | 53 + .../gnu/xml/libxmlj/dom/GnomeDocumentFragment.h | 36 + libjava/gnu/xml/libxmlj/dom/GnomeDocumentType.h | 53 + libjava/gnu/xml/libxmlj/dom/GnomeElement.h | 72 + libjava/gnu/xml/libxmlj/dom/GnomeEntity.h | 43 + libjava/gnu/xml/libxmlj/dom/GnomeEntityReference.h | 36 + libjava/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.h | 58 + libjava/gnu/xml/libxmlj/dom/GnomeNode.h | 120 + libjava/gnu/xml/libxmlj/dom/GnomeNodeList.h | 51 + libjava/gnu/xml/libxmlj/dom/GnomeNotation.h | 39 + .../xml/libxmlj/dom/GnomeProcessingInstruction.h | 40 + libjava/gnu/xml/libxmlj/dom/GnomeText.h | 50 + libjava/gnu/xml/libxmlj/dom/GnomeTypeInfo.h | 42 + libjava/gnu/xml/libxmlj/dom/GnomeXPathExpression.h | 62 + libjava/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.h | 50 + libjava/gnu/xml/libxmlj/dom/GnomeXPathNodeList.h | 55 + libjava/gnu/xml/libxmlj/dom/GnomeXPathResult.h | 63 + libjava/gnu/xml/libxmlj/sax/GnomeLocator.h | 54 + libjava/gnu/xml/libxmlj/sax/GnomeSAXParser.h | 57 + .../gnu/xml/libxmlj/sax/GnomeSAXParserFactory.h | 51 + libjava/gnu/xml/libxmlj/sax/GnomeXMLReader.h | 130 + libjava/gnu/xml/libxmlj/sax/Namespaces.h | 42 + .../gnu/xml/libxmlj/sax/StringArrayAttributes.h | 57 + libjava/gnu/xml/libxmlj/sax/XMLName.h | 46 + .../libxmlj/transform/ErrorListenerErrorHandler.h | 65 + .../gnu/xml/libxmlj/transform/GnomeTransformer.h | 106 + ...ransformerFactory$AssociatedStylesheetHandler.h | 44 + .../libxmlj/transform/GnomeTransformerFactory.h | 82 + .../libxmlj/transform/URIResolverEntityResolver.h | 60 + libjava/gnu/xml/libxmlj/util/EmptyNodeList.h | 48 + libjava/gnu/xml/libxmlj/util/NamedInputStream.h | 44 + .../gnu/xml/libxmlj/util/StandaloneDocumentType.h | 97 + libjava/gnu/xml/libxmlj/util/StandaloneLocator.h | 45 + .../gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.h | 37 + libjava/gnu/xml/libxmlj/util/XMLJ.h | 81 + libjava/gnu/xml/pipeline/CallFilter$Requestor.h | 39 + libjava/gnu/xml/pipeline/CallFilter.h | 73 + libjava/gnu/xml/pipeline/DomConsumer$Handler.h | 121 + libjava/gnu/xml/pipeline/DomConsumer.h | 86 + libjava/gnu/xml/pipeline/EventConsumer.h | 47 + libjava/gnu/xml/pipeline/EventFilter.h | 125 + libjava/gnu/xml/pipeline/LinkFilter.h | 57 + libjava/gnu/xml/pipeline/NSFilter.h | 71 + .../gnu/xml/pipeline/PipelineFactory$Pipeline.h | 42 + libjava/gnu/xml/pipeline/PipelineFactory$Stage.h | 43 + libjava/gnu/xml/pipeline/PipelineFactory.h | 53 + libjava/gnu/xml/pipeline/TeeConsumer.h | 94 + libjava/gnu/xml/pipeline/TextConsumer.h | 48 + .../pipeline/ValidationConsumer$AttributeInfo.h | 37 + .../ValidationConsumer$ChildrenRecognizer.h | 56 + .../xml/pipeline/ValidationConsumer$ElementInfo.h | 41 + .../pipeline/ValidationConsumer$EmptyRecognizer.h | 38 + .../pipeline/ValidationConsumer$MixedRecognizer.h | 42 + .../xml/pipeline/ValidationConsumer$Recognizer.h | 41 + libjava/gnu/xml/pipeline/ValidationConsumer.h | 105 + libjava/gnu/xml/pipeline/WellFormednessFilter.h | 74 + libjava/gnu/xml/pipeline/XIncludeFilter$Scrubber.h | 57 + libjava/gnu/xml/pipeline/XIncludeFilter.h | 100 + libjava/gnu/xml/pipeline/XsltFilter.h | 33 + libjava/gnu/xml/stream/AttributeImpl.h | 59 + libjava/gnu/xml/stream/BufferedReader.h | 56 + libjava/gnu/xml/stream/CRLFReader.h | 53 + libjava/gnu/xml/stream/CharactersImpl.h | 55 + libjava/gnu/xml/stream/CommentImpl.h | 49 + libjava/gnu/xml/stream/DTDImpl.h | 55 + libjava/gnu/xml/stream/EndDocumentImpl.h | 45 + libjava/gnu/xml/stream/EndElementImpl.h | 55 + libjava/gnu/xml/stream/EntityDeclarationImpl.h | 59 + libjava/gnu/xml/stream/EntityReferenceImpl.h | 55 + libjava/gnu/xml/stream/FilteredEventReader.h | 56 + libjava/gnu/xml/stream/FilteredStreamReader.h | 51 + libjava/gnu/xml/stream/NamespaceImpl.h | 52 + libjava/gnu/xml/stream/NotationDeclarationImpl.h | 53 + libjava/gnu/xml/stream/ProcessingInstructionImpl.h | 51 + libjava/gnu/xml/stream/SAXParser.h | 147 + libjava/gnu/xml/stream/SAXParserFactory.h | 49 + libjava/gnu/xml/stream/StartDocumentImpl.h | 59 + libjava/gnu/xml/stream/StartElementImpl.h | 66 + libjava/gnu/xml/stream/UnicodeReader.h | 44 + libjava/gnu/xml/stream/XIncludeFilter.h | 139 + libjava/gnu/xml/stream/XMLEventAllocatorImpl.h | 59 + libjava/gnu/xml/stream/XMLEventFactoryImpl.h | 93 + libjava/gnu/xml/stream/XMLEventImpl.h | 73 + libjava/gnu/xml/stream/XMLEventReaderImpl.h | 66 + libjava/gnu/xml/stream/XMLEventWriterImpl.h | 64 + libjava/gnu/xml/stream/XMLInputFactoryImpl.h | 96 + libjava/gnu/xml/stream/XMLOutputFactoryImpl.h | 63 + libjava/gnu/xml/stream/XMLParser$AnyContentModel.h | 35 + libjava/gnu/xml/stream/XMLParser$Attribute.h | 44 + libjava/gnu/xml/stream/XMLParser$AttributeDecl.h | 41 + libjava/gnu/xml/stream/XMLParser$ContentModel.h | 44 + libjava/gnu/xml/stream/XMLParser$ContentParticle.h | 38 + libjava/gnu/xml/stream/XMLParser$Doctype.h | 74 + .../gnu/xml/stream/XMLParser$ElementContentModel.h | 40 + .../gnu/xml/stream/XMLParser$EmptyContentModel.h | 35 + libjava/gnu/xml/stream/XMLParser$ExternalIds.h | 38 + libjava/gnu/xml/stream/XMLParser$Input.h | 83 + .../gnu/xml/stream/XMLParser$MixedContentModel.h | 40 + libjava/gnu/xml/stream/XMLParser.h | 296 + libjava/gnu/xml/stream/XMLStreamWriterImpl.h | 119 + libjava/gnu/xml/transform/AbstractNumberNode.h | 77 + libjava/gnu/xml/transform/ApplyImportsNode.h | 58 + libjava/gnu/xml/transform/ApplyTemplatesNode.h | 70 + libjava/gnu/xml/transform/AttributeNode.h | 66 + libjava/gnu/xml/transform/AttributeSet.h | 39 + libjava/gnu/xml/transform/Bindings.h | 76 + libjava/gnu/xml/transform/CallTemplateNode.h | 63 + libjava/gnu/xml/transform/ChooseNode.h | 58 + libjava/gnu/xml/transform/CommentNode.h | 58 + libjava/gnu/xml/transform/CopyNode.h | 62 + libjava/gnu/xml/transform/CopyOfNode.h | 66 + libjava/gnu/xml/transform/CurrentFunction.h | 67 + libjava/gnu/xml/transform/DOMSourceLocator.h | 51 + libjava/gnu/xml/transform/DocumentFunction.h | 72 + .../gnu/xml/transform/ElementAvailableFunction.h | 69 + libjava/gnu/xml/transform/ElementNode.h | 68 + .../gnu/xml/transform/ErrorListenerErrorHandler.h | 59 + libjava/gnu/xml/transform/ForEachNode.h | 67 + libjava/gnu/xml/transform/FormatNumberFunction.h | 67 + .../gnu/xml/transform/FunctionAvailableFunction.h | 70 + libjava/gnu/xml/transform/GenerateIdFunction.h | 65 + libjava/gnu/xml/transform/IfNode.h | 66 + libjava/gnu/xml/transform/Key.h | 53 + libjava/gnu/xml/transform/KeyFunction.h | 72 + libjava/gnu/xml/transform/LiteralNode.h | 62 + libjava/gnu/xml/transform/MessageNode.h | 62 + libjava/gnu/xml/transform/NamespaceProxy.h | 49 + libjava/gnu/xml/transform/NodeNumberNode.h | 62 + libjava/gnu/xml/transform/NumberNode.h | 54 + libjava/gnu/xml/transform/OtherwiseNode.h | 58 + libjava/gnu/xml/transform/ParameterNode.h | 70 + .../gnu/xml/transform/ProcessingInstructionNode.h | 61 + libjava/gnu/xml/transform/SAXSerializer.h | 75 + libjava/gnu/xml/transform/SAXTemplatesHandler.h | 51 + libjava/gnu/xml/transform/SAXTransformerHandler.h | 56 + libjava/gnu/xml/transform/SortKey.h | 74 + libjava/gnu/xml/transform/StreamSerializer.h | 103 + libjava/gnu/xml/transform/StrippingInstruction.h | 40 + libjava/gnu/xml/transform/Stylesheet.h | 170 + libjava/gnu/xml/transform/SystemPropertyFunction.h | 68 + libjava/gnu/xml/transform/Template.h | 86 + libjava/gnu/xml/transform/TemplateNode.h | 65 + libjava/gnu/xml/transform/TemplatesImpl.h | 52 + libjava/gnu/xml/transform/TextNode.h | 61 + libjava/gnu/xml/transform/TransformerFactoryImpl.h | 101 + libjava/gnu/xml/transform/TransformerImpl.h | 100 + .../xml/transform/TransformerOutputProperties.h | 43 + .../gnu/xml/transform/URIResolverEntityResolver.h | 57 + .../gnu/xml/transform/UnparsedEntityUriFunction.h | 65 + libjava/gnu/xml/transform/ValueOfNode.h | 67 + libjava/gnu/xml/transform/WhenNode.h | 66 + libjava/gnu/xml/transform/WithParam.h | 66 + libjava/gnu/xml/transform/XSLComparator.h | 37 + libjava/gnu/xml/transform/XSLURIResolver.h | 74 + libjava/gnu/xml/util/DoParse$MyErrorHandler.h | 46 + libjava/gnu/xml/util/DoParse.h | 65 + libjava/gnu/xml/util/DomParser.h | 105 + libjava/gnu/xml/util/Resolver.h | 53 + .../util/SAXNullTransformerFactory$DomHandler.h | 54 + .../util/SAXNullTransformerFactory$DomTerminus.h | 46 + .../SAXNullTransformerFactory$ListenerAdapter.h | 62 + .../SAXNullTransformerFactory$LocatorAdapter.h | 43 + .../util/SAXNullTransformerFactory$NullHandler.h | 52 + .../SAXNullTransformerFactory$NullTransformer.h | 69 + libjava/gnu/xml/util/SAXNullTransformerFactory.h | 88 + libjava/gnu/xml/util/XCat$Catalog.h | 71 + libjava/gnu/xml/util/XCat$DoneDelegation.h | 33 + libjava/gnu/xml/util/XCat$Loader.h | 72 + libjava/gnu/xml/util/XCat.h | 80 + libjava/gnu/xml/util/XHTMLWriter.h | 35 + libjava/gnu/xml/util/XMLWriter.h | 145 + libjava/gnu/xml/validation/datatype/Annotation.h | 37 + .../gnu/xml/validation/datatype/AnySimpleType.h | 36 + libjava/gnu/xml/validation/datatype/AnyType.h | 36 + libjava/gnu/xml/validation/datatype/AnyURIType.h | 53 + .../gnu/xml/validation/datatype/AtomicSimpleType.h | 61 + .../gnu/xml/validation/datatype/Base64BinaryType.h | 56 + libjava/gnu/xml/validation/datatype/BooleanType.h | 55 + libjava/gnu/xml/validation/datatype/ByteType.h | 57 + libjava/gnu/xml/validation/datatype/DateTimeType.h | 54 + libjava/gnu/xml/validation/datatype/DateType.h | 54 + libjava/gnu/xml/validation/datatype/DecimalType.h | 54 + libjava/gnu/xml/validation/datatype/DoubleType.h | 55 + .../validation/datatype/DurationType$Duration.h | 46 + libjava/gnu/xml/validation/datatype/DurationType.h | 54 + libjava/gnu/xml/validation/datatype/EntitiesType.h | 54 + libjava/gnu/xml/validation/datatype/EntityType.h | 54 + .../gnu/xml/validation/datatype/EnumerationFacet.h | 39 + libjava/gnu/xml/validation/datatype/Facet.h | 51 + libjava/gnu/xml/validation/datatype/FloatType.h | 55 + .../xml/validation/datatype/FractionDigitsFacet.h | 40 + .../gnu/xml/validation/datatype/GDayType$GDay.h | 42 + libjava/gnu/xml/validation/datatype/GDayType.h | 54 + .../validation/datatype/GMonthDayType$GMonthDay.h | 43 + .../gnu/xml/validation/datatype/GMonthDayType.h | 54 + .../xml/validation/datatype/GMonthType$GMonth.h | 42 + libjava/gnu/xml/validation/datatype/GMonthType.h | 54 + .../datatype/GYearMonthType$GYearMonth.h | 43 + .../gnu/xml/validation/datatype/GYearMonthType.h | 54 + .../gnu/xml/validation/datatype/GYearType$GYear.h | 42 + libjava/gnu/xml/validation/datatype/GYearType.h | 54 + .../gnu/xml/validation/datatype/HexBinaryType.h | 54 + libjava/gnu/xml/validation/datatype/IDRefType.h | 54 + libjava/gnu/xml/validation/datatype/IDRefsType.h | 54 + libjava/gnu/xml/validation/datatype/IDType.h | 54 + libjava/gnu/xml/validation/datatype/IntType.h | 57 + libjava/gnu/xml/validation/datatype/IntegerType.h | 54 + libjava/gnu/xml/validation/datatype/LanguageType.h | 54 + libjava/gnu/xml/validation/datatype/LengthFacet.h | 40 + .../gnu/xml/validation/datatype/ListSimpleType.h | 59 + libjava/gnu/xml/validation/datatype/LongType.h | 57 + .../xml/validation/datatype/MaxExclusiveFacet.h | 43 + .../xml/validation/datatype/MaxInclusiveFacet.h | 43 + .../gnu/xml/validation/datatype/MaxLengthFacet.h | 40 + .../xml/validation/datatype/MinExclusiveFacet.h | 43 + .../xml/validation/datatype/MinInclusiveFacet.h | 43 + .../gnu/xml/validation/datatype/MinLengthFacet.h | 40 + libjava/gnu/xml/validation/datatype/NCNameType.h | 53 + libjava/gnu/xml/validation/datatype/NMTokenType.h | 53 + libjava/gnu/xml/validation/datatype/NMTokensType.h | 55 + libjava/gnu/xml/validation/datatype/NameType.h | 53 + .../xml/validation/datatype/NegativeIntegerType.h | 54 + .../validation/datatype/NonNegativeIntegerType.h | 54 + .../validation/datatype/NonPositiveIntegerType.h | 54 + .../xml/validation/datatype/NormalizedStringType.h | 53 + libjava/gnu/xml/validation/datatype/NotationType.h | 54 + libjava/gnu/xml/validation/datatype/PatternFacet.h | 39 + .../xml/validation/datatype/PositiveIntegerType.h | 54 + libjava/gnu/xml/validation/datatype/QNameType.h | 54 + libjava/gnu/xml/validation/datatype/ShortType.h | 57 + libjava/gnu/xml/validation/datatype/SimpleType.h | 81 + libjava/gnu/xml/validation/datatype/StringType.h | 42 + .../gnu/xml/validation/datatype/TimeType$Time.h | 43 + libjava/gnu/xml/validation/datatype/TimeType.h | 54 + libjava/gnu/xml/validation/datatype/TokenType.h | 53 + .../gnu/xml/validation/datatype/TotalDigitsFacet.h | 40 + libjava/gnu/xml/validation/datatype/Type.h | 47 + libjava/gnu/xml/validation/datatype/TypeBuilder.h | 79 + libjava/gnu/xml/validation/datatype/TypeLibrary.h | 97 + .../xml/validation/datatype/TypeLibraryFactory.h | 46 + .../gnu/xml/validation/datatype/UnionSimpleType.h | 59 + .../gnu/xml/validation/datatype/UnsignedByteType.h | 56 + .../gnu/xml/validation/datatype/UnsignedIntType.h | 56 + .../gnu/xml/validation/datatype/UnsignedLongType.h | 56 + .../xml/validation/datatype/UnsignedShortType.h | 56 + .../gnu/xml/validation/datatype/WhiteSpaceFacet.h | 43 + .../gnu/xml/validation/relaxng/AnyNameNameClass.h | 39 + .../gnu/xml/validation/relaxng/AttributePattern.h | 40 + .../gnu/xml/validation/relaxng/ChoiceNameClass.h | 40 + libjava/gnu/xml/validation/relaxng/ChoicePattern.h | 39 + libjava/gnu/xml/validation/relaxng/DataPattern.h | 52 + libjava/gnu/xml/validation/relaxng/Define.h | 39 + .../gnu/xml/validation/relaxng/ElementPattern.h | 40 + libjava/gnu/xml/validation/relaxng/EmptyPattern.h | 37 + .../gnu/xml/validation/relaxng/FullSyntaxBuilder.h | 132 + libjava/gnu/xml/validation/relaxng/Grammar.h | 54 + .../gnu/xml/validation/relaxng/GrammarException.h | 36 + .../gnu/xml/validation/relaxng/GrammarValidator.h | 79 + libjava/gnu/xml/validation/relaxng/GroupPattern.h | 39 + .../gnu/xml/validation/relaxng/InterleavePattern.h | 39 + libjava/gnu/xml/validation/relaxng/ListPattern.h | 38 + .../gnu/xml/validation/relaxng/NSNameNameClass.h | 40 + libjava/gnu/xml/validation/relaxng/NameClass.h | 37 + libjava/gnu/xml/validation/relaxng/NameNameClass.h | 39 + .../gnu/xml/validation/relaxng/NotAllowedPattern.h | 37 + .../gnu/xml/validation/relaxng/OneOrMorePattern.h | 38 + libjava/gnu/xml/validation/relaxng/Param.h | 38 + libjava/gnu/xml/validation/relaxng/Pattern.h | 36 + .../xml/validation/relaxng/RELAXNGSchemaFactory.h | 85 + libjava/gnu/xml/validation/relaxng/RefPattern.h | 37 + libjava/gnu/xml/validation/relaxng/TextPattern.h | 37 + libjava/gnu/xml/validation/relaxng/ValuePattern.h | 51 + .../gnu/xml/validation/xmlschema/AnyAttribute.h | 46 + .../validation/xmlschema/AttributeDeclaration.h | 60 + .../gnu/xml/validation/xmlschema/AttributeUse.h | 41 + libjava/gnu/xml/validation/xmlschema/ComplexType.h | 57 + .../xml/validation/xmlschema/ElementDeclaration.h | 63 + libjava/gnu/xml/validation/xmlschema/Particle.h | 39 + .../xml/validation/xmlschema/ValidationException.h | 46 + libjava/gnu/xml/validation/xmlschema/XMLSchema.h | 81 + .../xmlschema/XMLSchemaAttributeTypeInfo.h | 52 + .../xml/validation/xmlschema/XMLSchemaBuilder.h | 98 + .../xmlschema/XMLSchemaElementTypeInfo.h | 51 + .../validation/xmlschema/XMLSchemaSchemaFactory.h | 85 + .../xml/validation/xmlschema/XMLSchemaTypeInfo.h | 45 + .../xmlschema/XMLSchemaTypeInfoProvider.h | 54 + .../xml/validation/xmlschema/XMLSchemaValidator.h | 79 + .../xmlschema/XMLSchemaValidatorHandler.h | 125 + libjava/gnu/xml/xpath/AndExpr.h | 61 + libjava/gnu/xml/xpath/ArithmeticExpr.h | 68 + libjava/gnu/xml/xpath/BooleanFunction.h | 62 + libjava/gnu/xml/xpath/CeilingFunction.h | 62 + libjava/gnu/xml/xpath/ConcatFunction.h | 61 + libjava/gnu/xml/xpath/Constant.h | 60 + libjava/gnu/xml/xpath/ContainsFunction.h | 63 + libjava/gnu/xml/xpath/CountFunction.h | 62 + libjava/gnu/xml/xpath/DocumentOrderComparator.h | 33 + libjava/gnu/xml/xpath/EqualityExpr.h | 66 + libjava/gnu/xml/xpath/Expr$ExprNodeSet.h | 48 + libjava/gnu/xml/xpath/Expr.h | 92 + libjava/gnu/xml/xpath/FalseFunction.h | 58 + libjava/gnu/xml/xpath/FloorFunction.h | 62 + libjava/gnu/xml/xpath/Function.h | 32 + libjava/gnu/xml/xpath/FunctionCall.h | 67 + libjava/gnu/xml/xpath/IdFunction.h | 63 + libjava/gnu/xml/xpath/LangFunction.h | 65 + libjava/gnu/xml/xpath/LastFunction.h | 58 + libjava/gnu/xml/xpath/LocalNameFunction.h | 62 + libjava/gnu/xml/xpath/NameFunction.h | 62 + libjava/gnu/xml/xpath/NameTest.h | 68 + libjava/gnu/xml/xpath/NamespaceTest.h | 64 + libjava/gnu/xml/xpath/NamespaceUriFunction.h | 62 + libjava/gnu/xml/xpath/NegativeExpr.h | 61 + libjava/gnu/xml/xpath/NodeTypeTest.h | 64 + libjava/gnu/xml/xpath/NormalizeSpaceFunction.h | 62 + libjava/gnu/xml/xpath/NotFunction.h | 62 + libjava/gnu/xml/xpath/NumberFunction.h | 62 + libjava/gnu/xml/xpath/OrExpr.h | 61 + libjava/gnu/xml/xpath/ParenthesizedExpr.h | 61 + libjava/gnu/xml/xpath/Path.h | 44 + libjava/gnu/xml/xpath/Pattern.h | 43 + libjava/gnu/xml/xpath/PositionFunction.h | 58 + libjava/gnu/xml/xpath/Predicate.h | 62 + libjava/gnu/xml/xpath/RelationalExpr.h | 64 + libjava/gnu/xml/xpath/Root.h | 61 + libjava/gnu/xml/xpath/RoundFunction.h | 62 + libjava/gnu/xml/xpath/Selector.h | 97 + libjava/gnu/xml/xpath/StartsWithFunction.h | 63 + libjava/gnu/xml/xpath/Steps.h | 72 + libjava/gnu/xml/xpath/StringFunction.h | 62 + libjava/gnu/xml/xpath/StringLengthFunction.h | 62 + libjava/gnu/xml/xpath/SubstringAfterFunction.h | 63 + libjava/gnu/xml/xpath/SubstringBeforeFunction.h | 63 + libjava/gnu/xml/xpath/SubstringFunction.h | 64 + libjava/gnu/xml/xpath/SumFunction.h | 62 + libjava/gnu/xml/xpath/Test.h | 55 + libjava/gnu/xml/xpath/TranslateFunction.h | 64 + libjava/gnu/xml/xpath/TrueFunction.h | 58 + libjava/gnu/xml/xpath/UnionExpr.h | 62 + libjava/gnu/xml/xpath/VariableReference.h | 65 + libjava/gnu/xml/xpath/XPathFactoryImpl.h | 54 + libjava/gnu/xml/xpath/XPathImpl.h | 79 + libjava/gnu/xml/xpath/XPathParser$YyCheckClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyDefRedClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyDgotoClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyGindexClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyLenClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyLhsClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyNameClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyRindexClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YySindexClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$YyTableClass.h | 36 + libjava/gnu/xml/xpath/XPathParser$yyException.h | 32 + libjava/gnu/xml/xpath/XPathParser$yyInput.h | 34 + libjava/gnu/xml/xpath/XPathParser.h | 124 + libjava/gnu/xml/xpath/XPathTokenizer$XPathToken.h | 40 + libjava/gnu/xml/xpath/XPathTokenizer.h | 49 + libjava/headers.txt | 65 + libjava/include/Makefile.in | 17 +- libjava/include/config.h.in | 12 + libjava/include/java-cpool.h | 1 + libjava/include/java-interp.h | 27 +- libjava/include/java-stack.h | 29 +- libjava/include/jvm.h | 128 +- libjava/include/posix-threads.h | 56 +- libjava/include/posix.h | 7 + libjava/include/win32-threads.h | 23 + libjava/include/win32.h | 3 + libjava/interpret.cc | 50 +- libjava/java/applet/Applet$AccessibleApplet.h | 46 + libjava/java/applet/Applet$URLAudioClip.h | 53 + libjava/java/applet/Applet.h | 82 + libjava/java/applet/AppletContext.h | 48 + libjava/java/applet/AppletStub.h | 39 + libjava/java/applet/AudioClip.h | 31 + libjava/java/awt/AWTError.h | 32 + libjava/java/awt/AWTEvent.h | 75 + libjava/java/awt/AWTEventMulticaster.h | 151 + libjava/java/awt/AWTException.h | 32 + libjava/java/awt/AWTKeyStroke$1.h | 34 + libjava/java/awt/AWTKeyStroke$2.h | 31 + libjava/java/awt/AWTKeyStroke$3.h | 34 + libjava/java/awt/AWTKeyStroke.h | 70 + libjava/java/awt/AWTPermission.h | 33 + libjava/java/awt/ActiveEvent.h | 29 + libjava/java/awt/Adjustable.h | 50 + libjava/java/awt/AlphaComposite$1.h | 34 + libjava/java/awt/AlphaComposite.h | 73 + libjava/java/awt/AttributeValue.h | 39 + libjava/java/awt/BasicStroke.h | 92 + libjava/java/awt/BorderLayout.h | 85 + libjava/java/awt/BufferCapabilities$FlipContents.h | 36 + libjava/java/awt/BufferCapabilities.h | 43 + libjava/java/awt/Button$AccessibleAWTButton.h | 56 + libjava/java/awt/Button.h | 75 + libjava/java/awt/Canvas$AccessibleAWTCanvas.h | 44 + libjava/java/awt/Canvas$CanvasBltBufferStrategy.h | 32 + libjava/java/awt/Canvas$CanvasFlipBufferStrategy.h | 32 + libjava/java/awt/Canvas.h | 64 + libjava/java/awt/CardLayout.h | 68 + libjava/java/awt/Checkbox$AccessibleAWTCheckbox.h | 61 + libjava/java/awt/Checkbox.h | 82 + libjava/java/awt/CheckboxGroup.h | 39 + ...heckboxMenuItem$AccessibleAWTCheckboxMenuItem.h | 35 + libjava/java/awt/CheckboxMenuItem.h | 71 + libjava/java/awt/Choice$AccessibleAWTChoice.h | 48 + libjava/java/awt/Choice.h | 84 + libjava/java/awt/Color.h | 128 + libjava/java/awt/ColorPaintContext$ColorRaster.h | 39 + libjava/java/awt/ColorPaintContext.h | 46 + ...bleAWTComponent$AccessibleAWTComponentHandler.h | 42 + ...essibleAWTComponent$AccessibleAWTFocusHandler.h | 40 + .../java/awt/Component$AccessibleAWTComponent.h | 104 + libjava/java/awt/Component$BltBufferStrategy.h | 59 + libjava/java/awt/Component$FlipBufferStrategy.h | 63 + .../Component$HeavyweightInLightweightListener.h | 42 + libjava/java/awt/Component.h | 434 + libjava/java/awt/ComponentOrientation.h | 45 + libjava/java/awt/Composite.h | 35 + libjava/java/awt/CompositeContext.h | 35 + ...ssibleAWTContainer$AccessibleContainerHandler.h | 40 + .../java/awt/Container$AccessibleAWTContainer.h | 53 + libjava/java/awt/Container$GfxPaintAllVisitor.h | 35 + libjava/java/awt/Container$GfxPaintVisitor.h | 35 + libjava/java/awt/Container$GfxPrintAllVisitor.h | 35 + libjava/java/awt/Container$GfxPrintVisitor.h | 35 + libjava/java/awt/Container$GfxVisitor.h | 33 + libjava/java/awt/Container.h | 164 + .../java/awt/ContainerOrderFocusTraversalPolicy.h | 52 + libjava/java/awt/Cursor.h | 69 + libjava/java/awt/DefaultFocusTraversalPolicy.h | 35 + ...DefaultKeyboardFocusManager$EventDelayRequest.h | 48 + libjava/java/awt/DefaultKeyboardFocusManager.h | 60 + libjava/java/awt/Dialog$AccessibleAWTDialog.h | 46 + libjava/java/awt/Dialog.h | 76 + libjava/java/awt/Dimension.h | 45 + libjava/java/awt/DisplayMode.h | 43 + libjava/java/awt/Event.h | 119 + libjava/java/awt/EventDispatchThread.h | 37 + libjava/java/awt/EventQueue$Queue.h | 36 + libjava/java/awt/EventQueue.h | 69 + libjava/java/awt/FileDialog.h | 62 + libjava/java/awt/FlowLayout.h | 60 + libjava/java/awt/FocusTraversalPolicy.h | 38 + libjava/java/awt/Font.h | 153 + libjava/java/awt/FontFormatException.h | 32 + libjava/java/awt/FontMetrics.h | 83 + libjava/java/awt/Frame$AccessibleAWTFrame.h | 46 + libjava/java/awt/Frame.h | 117 + libjava/java/awt/GradientPaint.h | 62 + libjava/java/awt/Graphics.h | 97 + libjava/java/awt/Graphics2D.h | 103 + libjava/java/awt/GraphicsConfigTemplate.h | 40 + libjava/java/awt/GraphicsConfiguration.h | 61 + libjava/java/awt/GraphicsDevice.h | 58 + libjava/java/awt/GraphicsEnvironment.h | 55 + libjava/java/awt/GridBagConstraints.h | 69 + libjava/java/awt/GridBagLayout.h | 100 + libjava/java/awt/GridBagLayoutInfo.h | 43 + libjava/java/awt/GridLayout.h | 58 + libjava/java/awt/HeadlessException.h | 33 + libjava/java/awt/IllegalComponentStateException.h | 33 + libjava/java/awt/Image.h | 53 + libjava/java/awt/ImageCapabilities.h | 35 + libjava/java/awt/Insets.h | 41 + libjava/java/awt/ItemSelectable.h | 37 + .../java/awt/JobAttributes$DefaultSelectionType.h | 35 + libjava/java/awt/JobAttributes$DestinationType.h | 34 + libjava/java/awt/JobAttributes$DialogType.h | 35 + .../JobAttributes$MultipleDocumentHandlingType.h | 34 + libjava/java/awt/JobAttributes$SidesType.h | 35 + libjava/java/awt/JobAttributes.h | 87 + libjava/java/awt/KeyEventDispatcher.h | 33 + libjava/java/awt/KeyEventPostProcessor.h | 33 + libjava/java/awt/KeyboardFocusManager.h | 156 + libjava/java/awt/Label$AccessibleAWTLabel.h | 44 + libjava/java/awt/Label.h | 61 + libjava/java/awt/LayoutManager.h | 36 + libjava/java/awt/LayoutManager2.h | 41 + libjava/java/awt/LightweightDispatcher.h | 51 + ...List$AccessibleAWTList$AccessibleAWTListChild.h | 51 + libjava/java/awt/List$AccessibleAWTList.h | 66 + libjava/java/awt/List.h | 121 + libjava/java/awt/MediaTracker$MediaEntry.h | 42 + libjava/java/awt/MediaTracker.h | 62 + libjava/java/awt/Menu$AccessibleAWTMenu.h | 44 + libjava/java/awt/Menu.h | 70 + libjava/java/awt/MenuBar$AccessibleAWTMenuBar.h | 44 + libjava/java/awt/MenuBar.h | 63 + .../awt/MenuComponent$AccessibleAWTMenuComponent.h | 103 + libjava/java/awt/MenuComponent.h | 102 + libjava/java/awt/MenuContainer.h | 34 + libjava/java/awt/MenuItem$AccessibleAWTMenuItem.h | 56 + libjava/java/awt/MenuItem.h | 91 + libjava/java/awt/MenuShortcut.h | 45 + libjava/java/awt/MouseInfo.h | 39 + libjava/java/awt/PageAttributes$ColorType.h | 34 + libjava/java/awt/PageAttributes$MediaType.h | 179 + .../awt/PageAttributes$OrientationRequestedType.h | 34 + libjava/java/awt/PageAttributes$OriginType.h | 34 + libjava/java/awt/PageAttributes$PrintQualityType.h | 35 + libjava/java/awt/PageAttributes.h | 72 + libjava/java/awt/Paint.h | 42 + libjava/java/awt/PaintContext.h | 36 + libjava/java/awt/Panel$AccessibleAWTPanel.h | 44 + libjava/java/awt/Panel.h | 50 + libjava/java/awt/Point.h | 46 + libjava/java/awt/PointerInfo.h | 38 + libjava/java/awt/Polygon$1.h | 49 + libjava/java/awt/Polygon.h | 71 + .../java/awt/PopupMenu$AccessibleAWTPopupMenu.h | 44 + libjava/java/awt/PopupMenu.h | 48 + libjava/java/awt/PrintGraphics.h | 30 + libjava/java/awt/PrintJob.h | 37 + libjava/java/awt/Rectangle.h | 85 + libjava/java/awt/RenderingHints$Key.h | 39 + libjava/java/awt/RenderingHints$KeyImpl.h | 38 + libjava/java/awt/RenderingHints.h | 87 + libjava/java/awt/Robot$1.h | 35 + libjava/java/awt/Robot.h | 61 + .../java/awt/ScrollPane$AccessibleAWTScrollPane.h | 44 + libjava/java/awt/ScrollPane.h | 89 + libjava/java/awt/ScrollPaneAdjustable.h | 76 + .../java/awt/Scrollbar$AccessibleAWTScrollBar.h | 52 + libjava/java/awt/Scrollbar.h | 102 + libjava/java/awt/Shape.h | 46 + libjava/java/awt/Stroke.h | 30 + libjava/java/awt/SystemColor.h | 105 + libjava/java/awt/TextArea$AccessibleAWTTextArea.h | 44 + libjava/java/awt/TextArea.h | 80 + .../awt/TextComponent$AccessibleAWTTextComponent.h | 72 + libjava/java/awt/TextComponent.h | 88 + .../java/awt/TextField$AccessibleAWTTextField.h | 44 + libjava/java/awt/TextField.h | 88 + libjava/java/awt/TexturePaint.h | 50 + libjava/java/awt/Toolkit$1.h | 31 + libjava/java/awt/Toolkit$2.h | 31 + libjava/java/awt/Toolkit.h | 245 + libjava/java/awt/Transparency.h | 32 + libjava/java/awt/Window$AccessibleAWTWindow.h | 46 + libjava/java/awt/Window$WindowBltBufferStrategy.h | 32 + libjava/java/awt/Window$WindowFlipBufferStrategy.h | 32 + libjava/java/awt/Window.h | 146 + libjava/java/awt/color/CMMException.h | 35 + libjava/java/awt/color/ColorSpace.h | 88 + libjava/java/awt/color/ICC_ColorSpace.h | 71 + libjava/java/awt/color/ICC_Profile.h | 217 + libjava/java/awt/color/ICC_ProfileGray.h | 43 + libjava/java/awt/color/ICC_ProfileRGB.h | 52 + libjava/java/awt/color/ProfileDataException.h | 35 + libjava/java/awt/datatransfer/Clipboard.h | 54 + libjava/java/awt/datatransfer/ClipboardOwner.h | 34 + libjava/java/awt/datatransfer/DataFlavor.h | 100 + libjava/java/awt/datatransfer/FlavorEvent.h | 33 + libjava/java/awt/datatransfer/FlavorListener.h | 33 + libjava/java/awt/datatransfer/FlavorMap.h | 36 + libjava/java/awt/datatransfer/FlavorTable.h | 38 + libjava/java/awt/datatransfer/MimeType.h | 51 + .../java/awt/datatransfer/MimeTypeParseException.h | 36 + libjava/java/awt/datatransfer/StringSelection.h | 46 + libjava/java/awt/datatransfer/SystemFlavorMap.h | 56 + libjava/java/awt/datatransfer/Transferable.h | 37 + .../awt/datatransfer/UnsupportedFlavorException.h | 36 + libjava/java/awt/dnd/Autoscroll.h | 35 + libjava/java/awt/dnd/DnDConstants.h | 38 + libjava/java/awt/dnd/DnDEventMulticaster.h | 39 + libjava/java/awt/dnd/DragGestureEvent.h | 70 + libjava/java/awt/dnd/DragGestureListener.h | 33 + libjava/java/awt/dnd/DragGestureRecognizer.h | 69 + libjava/java/awt/dnd/DragSource.h | 90 + libjava/java/awt/dnd/DragSourceAdapter.h | 41 + libjava/java/awt/dnd/DragSourceContext.h | 86 + libjava/java/awt/dnd/DragSourceDragEvent.h | 45 + libjava/java/awt/dnd/DragSourceDropEvent.h | 42 + libjava/java/awt/dnd/DragSourceEvent.h | 45 + libjava/java/awt/dnd/DragSourceListener.h | 39 + libjava/java/awt/dnd/DragSourceMotionListener.h | 33 + .../awt/dnd/DropTarget$DropTargetAutoScroller.h | 59 + libjava/java/awt/dnd/DropTarget.h | 91 + libjava/java/awt/dnd/DropTargetAdapter.h | 40 + .../awt/dnd/DropTargetContext$TransferableProxy.h | 50 + libjava/java/awt/dnd/DropTargetContext.h | 72 + libjava/java/awt/dnd/DropTargetDragEvent.h | 56 + libjava/java/awt/dnd/DropTargetDropEvent.h | 60 + libjava/java/awt/dnd/DropTargetEvent.h | 39 + libjava/java/awt/dnd/DropTargetListener.h | 39 + .../java/awt/dnd/InvalidDnDOperationException.h | 36 + libjava/java/awt/dnd/MouseDragGestureRecognizer.h | 52 + libjava/java/awt/dnd/peer/DragSourceContextPeer.h | 42 + libjava/java/awt/dnd/peer/DropTargetContextPeer.h | 53 + libjava/java/awt/dnd/peer/DropTargetPeer.h | 37 + libjava/java/awt/event/AWTEventListener.h | 33 + libjava/java/awt/event/AWTEventListenerProxy.h | 39 + libjava/java/awt/event/ActionEvent.h | 53 + libjava/java/awt/event/ActionListener.h | 33 + libjava/java/awt/event/AdjustmentEvent.h | 56 + libjava/java/awt/event/AdjustmentListener.h | 33 + libjava/java/awt/event/ComponentAdapter.h | 37 + libjava/java/awt/event/ComponentEvent.h | 44 + libjava/java/awt/event/ComponentListener.h | 36 + libjava/java/awt/event/ContainerAdapter.h | 35 + libjava/java/awt/event/ContainerEvent.h | 47 + libjava/java/awt/event/ContainerListener.h | 34 + libjava/java/awt/event/FocusAdapter.h | 35 + libjava/java/awt/event/FocusEvent.h | 49 + libjava/java/awt/event/FocusListener.h | 34 + libjava/java/awt/event/HierarchyBoundsAdapter.h | 35 + libjava/java/awt/event/HierarchyBoundsListener.h | 34 + libjava/java/awt/event/HierarchyEvent.h | 56 + libjava/java/awt/event/HierarchyListener.h | 33 + libjava/java/awt/event/InputEvent.h | 72 + libjava/java/awt/event/InputMethodEvent.h | 66 + libjava/java/awt/event/InputMethodListener.h | 34 + libjava/java/awt/event/InvocationEvent.h | 56 + libjava/java/awt/event/ItemEvent.h | 49 + libjava/java/awt/event/ItemListener.h | 33 + libjava/java/awt/event/KeyAdapter.h | 36 + libjava/java/awt/event/KeyEvent.h | 255 + libjava/java/awt/event/KeyListener.h | 35 + libjava/java/awt/event/MouseAdapter.h | 38 + libjava/java/awt/event/MouseEvent.h | 69 + libjava/java/awt/event/MouseListener.h | 37 + libjava/java/awt/event/MouseMotionAdapter.h | 35 + libjava/java/awt/event/MouseMotionListener.h | 34 + libjava/java/awt/event/MouseWheelEvent.h | 48 + libjava/java/awt/event/MouseWheelListener.h | 33 + libjava/java/awt/event/PaintEvent.h | 47 + libjava/java/awt/event/TextEvent.h | 39 + libjava/java/awt/event/TextListener.h | 33 + libjava/java/awt/event/WindowAdapter.h | 43 + libjava/java/awt/event/WindowEvent.h | 61 + libjava/java/awt/event/WindowFocusListener.h | 34 + libjava/java/awt/event/WindowListener.h | 39 + libjava/java/awt/event/WindowStateListener.h | 33 + libjava/java/awt/font/FontRenderContext.h | 49 + libjava/java/awt/font/GlyphJustificationInfo.h | 45 + libjava/java/awt/font/GlyphMetrics.h | 61 + libjava/java/awt/font/GlyphVector.h | 78 + libjava/java/awt/font/GraphicAttribute.h | 54 + libjava/java/awt/font/ImageGraphicAttribute.h | 52 + libjava/java/awt/font/LineBreakMeasurer.h | 55 + libjava/java/awt/font/LineMetrics.h | 45 + libjava/java/awt/font/MultipleMaster.h | 40 + libjava/java/awt/font/NumericShaper.h | 75 + libjava/java/awt/font/OpenType.h | 91 + libjava/java/awt/font/ShapeGraphicAttribute.h | 53 + libjava/java/awt/font/TextAttribute.h | 88 + libjava/java/awt/font/TextHitInfo.h | 50 + libjava/java/awt/font/TextLayout$CaretPolicy.h | 35 + libjava/java/awt/font/TextLayout$Run.h | 43 + libjava/java/awt/font/TextLayout.h | 140 + libjava/java/awt/font/TextMeasurer.h | 52 + libjava/java/awt/font/TransformAttribute.h | 42 + libjava/java/awt/geom/AffineTransform.h | 111 + libjava/java/awt/geom/Arc2D$ArcIterator.h | 55 + libjava/java/awt/geom/Arc2D$Double.h | 55 + libjava/java/awt/geom/Arc2D$Float.h | 55 + libjava/java/awt/geom/Arc2D.h | 72 + .../awt/geom/Area$AreaIterator$IteratorSegment.h | 39 + libjava/java/awt/geom/Area$AreaIterator.h | 48 + libjava/java/awt/geom/Area$CubicSegment.h | 60 + libjava/java/awt/geom/Area$Intersection.h | 42 + libjava/java/awt/geom/Area$LineSegment.h | 58 + libjava/java/awt/geom/Area$QuadSegment.h | 59 + libjava/java/awt/geom/Area$Segment.h | 76 + libjava/java/awt/geom/Area.h | 96 + libjava/java/awt/geom/CubicCurve2D$1.h | 49 + libjava/java/awt/geom/CubicCurve2D$Double.h | 57 + libjava/java/awt/geom/CubicCurve2D$Float.h | 58 + libjava/java/awt/geom/CubicCurve2D.h | 86 + libjava/java/awt/geom/Dimension2D.h | 38 + libjava/java/awt/geom/Ellipse2D$Double.h | 45 + libjava/java/awt/geom/Ellipse2D$Float.h | 46 + libjava/java/awt/geom/Ellipse2D.h | 39 + libjava/java/awt/geom/FlatteningPathIterator.h | 59 + .../awt/geom/GeneralPath$GeneralPathIterator.h | 50 + libjava/java/awt/geom/GeneralPath.h | 88 + libjava/java/awt/geom/IllegalPathStateException.h | 36 + libjava/java/awt/geom/Line2D$1.h | 49 + libjava/java/awt/geom/Line2D$Double.h | 48 + libjava/java/awt/geom/Line2D$Float.h | 49 + libjava/java/awt/geom/Line2D.h | 80 + .../awt/geom/NoninvertibleTransformException.h | 35 + libjava/java/awt/geom/PathIterator.h | 45 + libjava/java/awt/geom/Point2D$Double.h | 39 + libjava/java/awt/geom/Point2D$Float.h | 40 + libjava/java/awt/geom/Point2D.h | 46 + libjava/java/awt/geom/QuadCurve2D$1.h | 49 + libjava/java/awt/geom/QuadCurve2D$Double.h | 52 + libjava/java/awt/geom/QuadCurve2D$Float.h | 53 + libjava/java/awt/geom/QuadCurve2D.h | 83 + libjava/java/awt/geom/Rectangle2D$1.h | 53 + libjava/java/awt/geom/Rectangle2D$Double.h | 50 + libjava/java/awt/geom/Rectangle2D$Float.h | 54 + libjava/java/awt/geom/Rectangle2D.h | 63 + libjava/java/awt/geom/RectangularShape.h | 69 + libjava/java/awt/geom/RoundRectangle2D$1.h | 58 + libjava/java/awt/geom/RoundRectangle2D$Double.h | 49 + libjava/java/awt/geom/RoundRectangle2D$Float.h | 50 + libjava/java/awt/geom/RoundRectangle2D.h | 45 + libjava/java/awt/im/InputContext.h | 59 + libjava/java/awt/im/InputMethodHighlight.h | 50 + libjava/java/awt/im/InputMethodRequests.h | 50 + libjava/java/awt/im/InputSubset.h | 41 + libjava/java/awt/im/spi/InputMethod.h | 55 + libjava/java/awt/im/spi/InputMethodContext.h | 66 + libjava/java/awt/im/spi/InputMethodDescriptor.h | 43 + libjava/java/awt/image/AffineTransformOp.h | 68 + libjava/java/awt/image/AreaAveragingScaleFilter.h | 42 + libjava/java/awt/image/BandCombineOp.h | 52 + libjava/java/awt/image/BandedSampleModel.h | 65 + libjava/java/awt/image/BufferStrategy.h | 39 + libjava/java/awt/image/BufferedImage$1.h | 44 + libjava/java/awt/image/BufferedImage.h | 124 + libjava/java/awt/image/BufferedImageFilter.h | 42 + libjava/java/awt/image/BufferedImageOp.h | 44 + libjava/java/awt/image/ByteLookupTable.h | 41 + libjava/java/awt/image/ColorConvertOp.h | 70 + libjava/java/awt/image/ColorModel$SRGBColorModel.h | 39 + libjava/java/awt/image/ColorModel.h | 108 + libjava/java/awt/image/ComponentColorModel.h | 74 + libjava/java/awt/image/ComponentSampleModel.h | 70 + libjava/java/awt/image/ConvolveOp.h | 64 + libjava/java/awt/image/CropImageFilter.h | 45 + libjava/java/awt/image/DataBuffer.h | 70 + libjava/java/awt/image/DataBufferByte.h | 50 + libjava/java/awt/image/DataBufferDouble.h | 58 + libjava/java/awt/image/DataBufferFloat.h | 58 + libjava/java/awt/image/DataBufferInt.h | 50 + libjava/java/awt/image/DataBufferShort.h | 50 + libjava/java/awt/image/DataBufferUShort.h | 50 + libjava/java/awt/image/DirectColorModel.h | 77 + libjava/java/awt/image/FilteredImageSource.h | 45 + libjava/java/awt/image/ImageConsumer.h | 50 + libjava/java/awt/image/ImageFilter.h | 50 + libjava/java/awt/image/ImageObserver.h | 41 + libjava/java/awt/image/ImageProducer.h | 37 + libjava/java/awt/image/ImagingOpException.h | 35 + libjava/java/awt/image/IndexColorModel.h | 72 + libjava/java/awt/image/Kernel.h | 45 + libjava/java/awt/image/LookupOp.h | 56 + libjava/java/awt/image/LookupTable.h | 42 + libjava/java/awt/image/MemoryImageSource.h | 69 + .../java/awt/image/MultiPixelPackedSampleModel.h | 68 + libjava/java/awt/image/PackedColorModel.h | 59 + libjava/java/awt/image/PixelGrabber$1.h | 38 + libjava/java/awt/image/PixelGrabber.h | 82 + .../java/awt/image/PixelInterleavedSampleModel.h | 37 + libjava/java/awt/image/RGBImageFilter.h | 48 + libjava/java/awt/image/Raster.h | 104 + libjava/java/awt/image/RasterFormatException.h | 35 + libjava/java/awt/image/RasterOp.h | 44 + libjava/java/awt/image/RenderedImage.h | 59 + libjava/java/awt/image/ReplicateScaleFilter.h | 50 + libjava/java/awt/image/RescaleOp.h | 64 + libjava/java/awt/image/SampleModel.h | 80 + libjava/java/awt/image/ShortLookupTable.h | 41 + .../java/awt/image/SinglePixelPackedSampleModel.h | 65 + libjava/java/awt/image/TileObserver.h | 33 + libjava/java/awt/image/VolatileImage.h | 55 + libjava/java/awt/image/WritableRaster.h | 63 + libjava/java/awt/image/WritableRenderedImage.h | 69 + .../renderable/ContextualRenderedImageFactory.h | 52 + libjava/java/awt/image/renderable/ParameterBlock.h | 87 + libjava/java/awt/image/renderable/RenderContext.h | 60 + .../java/awt/image/renderable/RenderableImage.h | 51 + .../java/awt/image/renderable/RenderableImageOp.h | 59 + .../awt/image/renderable/RenderableImageProducer.h | 50 + .../awt/image/renderable/RenderedImageFactory.h | 38 + libjava/java/awt/peer/ButtonPeer.h | 110 + libjava/java/awt/peer/CanvasPeer.h | 109 + libjava/java/awt/peer/CheckboxMenuItemPeer.h | 39 + libjava/java/awt/peer/CheckboxPeer.h | 113 + libjava/java/awt/peer/ChoicePeer.h | 114 + libjava/java/awt/peer/ComponentPeer.h | 109 + libjava/java/awt/peer/ContainerPeer.h | 119 + libjava/java/awt/peer/DialogPeer.h | 126 + libjava/java/awt/peer/FileDialogPeer.h | 129 + libjava/java/awt/peer/FontPeer.h | 31 + libjava/java/awt/peer/FramePeer.h | 133 + libjava/java/awt/peer/LabelPeer.h | 111 + libjava/java/awt/peer/LightweightPeer.h | 109 + libjava/java/awt/peer/ListPeer.h | 126 + libjava/java/awt/peer/MenuBarPeer.h | 38 + libjava/java/awt/peer/MenuComponentPeer.h | 34 + libjava/java/awt/peer/MenuItemPeer.h | 38 + libjava/java/awt/peer/MenuPeer.h | 42 + libjava/java/awt/peer/MouseInfoPeer.h | 35 + libjava/java/awt/peer/PanelPeer.h | 120 + libjava/java/awt/peer/PopupMenuPeer.h | 46 + libjava/java/awt/peer/RobotPeer.h | 42 + libjava/java/awt/peer/ScrollPanePeer.h | 127 + libjava/java/awt/peer/ScrollbarPeer.h | 112 + libjava/java/awt/peer/TextAreaPeer.h | 133 + libjava/java/awt/peer/TextComponentPeer.h | 125 + libjava/java/awt/peer/TextFieldPeer.h | 131 + libjava/java/awt/peer/WindowPeer.h | 124 + libjava/java/awt/print/Book.h | 44 + libjava/java/awt/print/NoPrinterJob.h | 51 + libjava/java/awt/print/PageFormat.h | 54 + libjava/java/awt/print/Pageable.h | 37 + libjava/java/awt/print/Paper.h | 49 + libjava/java/awt/print/Printable.h | 36 + libjava/java/awt/print/PrinterAbortException.h | 36 + libjava/java/awt/print/PrinterException.h | 36 + libjava/java/awt/print/PrinterGraphics.h | 33 + libjava/java/awt/print/PrinterIOException.h | 38 + libjava/java/awt/print/PrinterJob.h | 74 + libjava/java/beans/AppletInitializer.h | 38 + libjava/java/beans/BeanDescriptor.h | 36 + libjava/java/beans/BeanInfo.h | 50 + libjava/java/beans/Beans.h | 47 + libjava/java/beans/Customizer.h | 32 + libjava/java/beans/DefaultPersistenceDelegate.h | 41 + libjava/java/beans/DesignMode.h | 31 + libjava/java/beans/Encoder$1.h | 34 + libjava/java/beans/Encoder.h | 57 + libjava/java/beans/EventHandler.h | 54 + libjava/java/beans/EventSetDescriptor.h | 60 + libjava/java/beans/ExceptionListener.h | 29 + libjava/java/beans/ExplicitInfo.h | 60 + libjava/java/beans/Expression.h | 39 + libjava/java/beans/FeatureDescriptor.h | 53 + libjava/java/beans/IndexedPropertyChangeEvent.h | 34 + libjava/java/beans/IndexedPropertyDescriptor.h | 42 + libjava/java/beans/IntrospectionException.h | 32 + libjava/java/beans/Introspector.h | 64 + libjava/java/beans/MethodDescriptor.h | 39 + libjava/java/beans/ParameterDescriptor.h | 29 + libjava/java/beans/PersistenceDelegate.h | 39 + libjava/java/beans/PropertyChangeEvent.h | 45 + libjava/java/beans/PropertyChangeListener.h | 30 + libjava/java/beans/PropertyChangeListenerProxy.h | 36 + libjava/java/beans/PropertyChangeSupport.h | 56 + libjava/java/beans/PropertyDescriptor.h | 64 + libjava/java/beans/PropertyEditor.h | 49 + libjava/java/beans/PropertyEditorManager.h | 40 + libjava/java/beans/PropertyEditorSupport.h | 60 + libjava/java/beans/PropertyVetoException.h | 35 + libjava/java/beans/SimpleBeanInfo.h | 49 + libjava/java/beans/Statement.h | 52 + libjava/java/beans/VetoableChangeListener.h | 30 + libjava/java/beans/VetoableChangeListenerProxy.h | 36 + libjava/java/beans/VetoableChangeSupport.h | 53 + libjava/java/beans/Visibility.h | 32 + libjava/java/beans/XMLDecoder.h | 47 + libjava/java/beans/XMLEncoder.h | 58 + libjava/java/beans/beancontext/BeanContext.h | 72 + libjava/java/beans/beancontext/BeanContextChild.h | 40 + .../beancontext/BeanContextChildComponentProxy.h | 36 + .../beans/beancontext/BeanContextChildSupport.h | 67 + .../beans/beancontext/BeanContextContainerProxy.h | 36 + libjava/java/beans/beancontext/BeanContextEvent.h | 43 + .../beans/beancontext/BeanContextMembershipEvent.h | 45 + .../beancontext/BeanContextMembershipListener.h | 34 + libjava/java/beans/beancontext/BeanContextProxy.h | 33 + .../beancontext/BeanContextServiceAvailableEvent.h | 41 + .../beans/beancontext/BeanContextServiceProvider.h | 35 + .../BeanContextServiceProviderBeanInfo.h | 51 + .../beancontext/BeanContextServiceRevokedEvent.h | 44 + .../BeanContextServiceRevokedListener.h | 33 + .../java/beans/beancontext/BeanContextServices.h | 88 + .../beancontext/BeanContextServicesListener.h | 35 + .../BeanContextServicesSupport$BCSSChild.h | 38 + ...ntextServicesSupport$BCSSProxyServiceProvider.h | 46 + ...eanContextServicesSupport$BCSSServiceProvider.h | 46 + .../BeanContextServicesSupport$Request.h | 37 + .../BeanContextServicesSupport$ServiceLease.h | 37 + .../BeanContextServicesSupport$ServiceRequest.h | 38 + .../beans/beancontext/BeanContextServicesSupport.h | 90 + .../beancontext/BeanContextSupport$BCSChild.h | 44 + .../beancontext/BeanContextSupport$BCSIterator.h | 39 + .../java/beans/beancontext/BeanContextSupport.h | 136 + libjava/java/io/BufferedInputStream.h | 43 + libjava/java/io/BufferedOutputStream.h | 31 + libjava/java/io/BufferedReader.h | 49 + libjava/java/io/BufferedWriter.h | 36 + libjava/java/io/ByteArrayInputStream.h | 35 + libjava/java/io/ByteArrayOutputStream.h | 41 + libjava/java/io/CharArrayReader.h | 36 + libjava/java/io/CharArrayWriter.h | 50 + libjava/java/io/CharConversionException.h | 23 + libjava/java/io/Closeable.h | 19 + libjava/java/io/DataInput.h | 35 + libjava/java/io/DataInputStream.h | 51 + libjava/java/io/DataOutput.h | 34 + libjava/java/io/DataOutputStream.h | 44 + libjava/java/io/DeleteFileHelper$1.h | 21 + libjava/java/io/DeleteFileHelper.h | 28 + libjava/java/io/EOFException.h | 23 + libjava/java/io/Externalizable.h | 20 + libjava/java/io/File.h | 150 + libjava/java/io/FileDescriptor.h | 43 + libjava/java/io/FileDescriptor.java | 139 + libjava/java/io/FileFilter.h | 19 + libjava/java/io/FileInputStream.h | 67 + libjava/java/io/FileInputStream.java | 309 + libjava/java/io/FileNotFoundException.h | 23 + libjava/java/io/FileOutputStream.h | 66 + libjava/java/io/FileOutputStream.java | 296 + libjava/java/io/FilePermission.h | 43 + libjava/java/io/FileReader.h | 21 + libjava/java/io/FileWriter.h | 23 + libjava/java/io/FilenameFilter.h | 19 + libjava/java/io/FilterInputStream.h | 34 + libjava/java/io/FilterOutputStream.h | 29 + libjava/java/io/FilterReader.h | 33 + libjava/java/io/FilterWriter.h | 30 + libjava/java/io/Flushable.h | 19 + libjava/java/io/IOException.h | 23 + libjava/java/io/InputStream.h | 30 + libjava/java/io/InputStreamReader.h | 65 + libjava/java/io/InterruptedIOException.h | 26 + libjava/java/io/InvalidClassException.h | 25 + libjava/java/io/InvalidObjectException.h | 22 + libjava/java/io/LineNumberInputStream.h | 34 + libjava/java/io/LineNumberReader.h | 41 + libjava/java/io/NotActiveException.h | 23 + libjava/java/io/NotSerializableException.h | 23 + libjava/java/io/ObjectInput.h | 42 + libjava/java/io/ObjectInputStream$1.h | 26 + libjava/java/io/ObjectInputStream$2.h | 42 + libjava/java/io/ObjectInputStream$GetField.h | 30 + .../io/ObjectInputStream$ValidatorAndPriority.h | 25 + libjava/java/io/ObjectInputStream.h | 103 + libjava/java/io/ObjectInputStream.java | 1979 --- libjava/java/io/ObjectInputValidation.h | 19 + libjava/java/io/ObjectOutput.h | 37 + libjava/java/io/ObjectOutputStream$1.h | 41 + libjava/java/io/ObjectOutputStream$PutField.h | 29 + libjava/java/io/ObjectOutputStream.h | 122 + libjava/java/io/ObjectStreamClass$1.h | 24 + libjava/java/io/ObjectStreamClass$2.h | 26 + .../io/ObjectStreamClass$InterfaceComparator.h | 23 + .../java/io/ObjectStreamClass$MemberComparator.h | 23 + libjava/java/io/ObjectStreamClass.h | 113 + libjava/java/io/ObjectStreamConstants.h | 47 + libjava/java/io/ObjectStreamException.h | 23 + libjava/java/io/ObjectStreamField$1.h | 26 + libjava/java/io/ObjectStreamField.h | 67 + libjava/java/io/OptionalDataException.h | 24 + libjava/java/io/OutputStream.h | 26 + libjava/java/io/OutputStreamWriter.h | 65 + libjava/java/io/PipedInputStream.h | 43 + libjava/java/io/PipedOutputStream.h | 31 + libjava/java/io/PipedReader.h | 39 + libjava/java/io/PipedWriter.h | 32 + libjava/java/io/PrintStream.h | 89 + libjava/java/io/PrintStream.java | 52 +- libjava/java/io/PrintWriter.h | 80 + libjava/java/io/PushbackInputStream.h | 38 + libjava/java/io/PushbackReader.h | 38 + libjava/java/io/RandomAccessFile.h | 93 + libjava/java/io/RandomAccessFile.java | 1036 ++ libjava/java/io/Reader.h | 46 + libjava/java/io/SequenceInputStream.h | 32 + libjava/java/io/Serializable.h | 18 + libjava/java/io/SerializablePermission.h | 27 + libjava/java/io/StreamCorruptedException.h | 23 + libjava/java/io/StreamTokenizer.h | 72 + libjava/java/io/StringBufferInputStream.h | 31 + libjava/java/io/StringReader.h | 35 + libjava/java/io/StringWriter.h | 43 + libjava/java/io/SyncFailedException.h | 22 + libjava/java/io/UTFDataFormatException.h | 23 + libjava/java/io/UnsupportedEncodingException.h | 23 + libjava/java/io/VMObjectInputStream.h | 21 + libjava/java/io/VMObjectInputStream.java | 56 + libjava/java/io/VMObjectStreamClass.h | 30 + libjava/java/io/WriteAbortedException.h | 25 + libjava/java/io/Writer.h | 39 + libjava/java/io/natObjectInputStream.cc | 18 +- libjava/java/lang/AbstractMethodError.h | 23 + libjava/java/lang/Appendable.h | 21 + libjava/java/lang/ArithmeticException.h | 23 + libjava/java/lang/ArrayIndexOutOfBoundsException.h | 24 + libjava/java/lang/ArrayStoreException.h | 23 + libjava/java/lang/AssertionError.h | 29 + libjava/java/lang/Boolean.h | 40 + libjava/java/lang/Byte.h | 51 + libjava/java/lang/CharSequence.h | 22 + libjava/java/lang/Character$Subset.h | 26 + libjava/java/lang/Character$UnicodeBlock.h | 161 + libjava/java/lang/Character.h | 175 + libjava/java/lang/Class.h | 77 +- libjava/java/lang/Class.java | 438 +- libjava/java/lang/ClassCastException.h | 23 + libjava/java/lang/ClassCircularityError.h | 23 + libjava/java/lang/ClassFormatError.h | 23 + libjava/java/lang/ClassLoader$AnnotationsKey.h | 31 + libjava/java/lang/ClassLoader.h | 108 + libjava/java/lang/ClassLoader.java | 132 +- libjava/java/lang/ClassNotFoundException.h | 27 + libjava/java/lang/CloneNotSupportedException.h | 23 + libjava/java/lang/Cloneable.h | 18 + libjava/java/lang/Comparable.h | 19 + libjava/java/lang/Compiler.h | 24 + libjava/java/lang/Deprecated.h | 19 + libjava/java/lang/Double.h | 57 + libjava/java/lang/EcosProcess.h | 27 + libjava/java/lang/EcosProcess.java | 8 +- libjava/java/lang/Enum.h | 38 + .../java/lang/EnumConstantNotPresentException.h | 26 + libjava/java/lang/Error.h | 25 + libjava/java/lang/Exception.h | 25 + libjava/java/lang/ExceptionInInitializerError.h | 28 + libjava/java/lang/Float.h | 58 + libjava/java/lang/IllegalAccessError.h | 23 + libjava/java/lang/IllegalAccessException.h | 23 + libjava/java/lang/IllegalArgumentException.h | 25 + libjava/java/lang/IllegalMonitorStateException.h | 23 + libjava/java/lang/IllegalStateException.h | 25 + libjava/java/lang/IllegalThreadStateException.h | 23 + libjava/java/lang/IncompatibleClassChangeError.h | 23 + libjava/java/lang/IndexOutOfBoundsException.h | 23 + libjava/java/lang/InheritableThreadLocal.h | 24 + libjava/java/lang/InstantiationError.h | 23 + libjava/java/lang/InstantiationException.h | 23 + libjava/java/lang/Integer.h | 74 + libjava/java/lang/InternalError.h | 23 + libjava/java/lang/InterruptedException.h | 23 + libjava/java/lang/Iterable.h | 19 + libjava/java/lang/LinkageError.h | 23 + libjava/java/lang/Long.h | 69 + libjava/java/lang/Math.h | 68 + libjava/java/lang/NegativeArraySizeException.h | 23 + libjava/java/lang/NoClassDefFoundError.h | 23 + libjava/java/lang/NoSuchFieldError.h | 23 + libjava/java/lang/NoSuchFieldException.h | 23 + libjava/java/lang/NoSuchMethodError.h | 23 + libjava/java/lang/NoSuchMethodException.h | 23 + libjava/java/lang/NullPointerException.h | 23 + libjava/java/lang/Number.h | 32 + libjava/java/lang/NumberFormatException.h | 23 + libjava/java/lang/OutOfMemoryError.h | 23 + libjava/java/lang/Override.h | 19 + libjava/java/lang/Package.h | 62 + libjava/java/lang/Package.java | 415 - libjava/java/lang/PosixProcess$EOFInputStream.h | 24 + libjava/java/lang/PosixProcess$ProcessManager.h | 39 + libjava/java/lang/PosixProcess.h | 62 + libjava/java/lang/PosixProcess.java | 47 +- libjava/java/lang/Process.h | 25 + libjava/java/lang/ProcessBuilder.h | 37 + libjava/java/lang/ProcessBuilder.java | 118 + libjava/java/lang/Readable.h | 29 + libjava/java/lang/Runnable.h | 19 + libjava/java/lang/Runtime.h | 69 + libjava/java/lang/RuntimeException.h | 25 + libjava/java/lang/RuntimePermission.h | 23 + libjava/java/lang/SecurityContext.h | 23 + libjava/java/lang/SecurityException.h | 25 + libjava/java/lang/SecurityManager$1.h | 26 + libjava/java/lang/SecurityManager.h | 84 + libjava/java/lang/SecurityManager.java | 1057 -- libjava/java/lang/Short.h | 54 + libjava/java/lang/StackOverflowError.h | 23 + libjava/java/lang/StackTraceElement.h | 39 + libjava/java/lang/StrictMath.h | 203 + .../java/lang/String$CaseInsensitiveComparator.h | 24 + libjava/java/lang/String.h | 138 + libjava/java/lang/StringBuffer.h | 85 + libjava/java/lang/StringBuilder.h | 83 + libjava/java/lang/StringBuilder.java | 3 +- .../java/lang/StringIndexOutOfBoundsException.h | 24 + libjava/java/lang/SuppressWarnings.h | 22 + libjava/java/lang/System$EnvironmentCollection.h | 29 + libjava/java/lang/System$EnvironmentMap.h | 34 + libjava/java/lang/System$EnvironmentSet.h | 21 + libjava/java/lang/System.h | 56 + libjava/java/lang/System.java | 468 + libjava/java/lang/Thread$State.h | 32 + .../java/lang/Thread$UncaughtExceptionHandler.h | 19 + libjava/java/lang/Thread.h | 161 + libjava/java/lang/Thread.java | 264 +- libjava/java/lang/ThreadDeath.h | 22 + libjava/java/lang/ThreadGroup.h | 69 + libjava/java/lang/ThreadLocal.h | 52 + libjava/java/lang/ThreadLocal.java | 179 + libjava/java/lang/Throwable$StaticData.h | 21 + libjava/java/lang/Throwable.h | 46 + libjava/java/lang/TypeNotPresentException.h | 24 + libjava/java/lang/UnknownError.h | 23 + libjava/java/lang/UnsatisfiedLinkError.h | 23 + libjava/java/lang/UnsupportedClassVersionError.h | 23 + libjava/java/lang/UnsupportedOperationException.h | 25 + libjava/java/lang/VMClassLoader.h | 74 + libjava/java/lang/VMCompiler.h | 64 + libjava/java/lang/VMCompiler.java | 10 +- libjava/java/lang/VMDouble.h | 25 + libjava/java/lang/VMFloat.h | 23 + libjava/java/lang/VMSecurityManager.java | 68 - libjava/java/lang/VMThrowable.h | 36 + libjava/java/lang/VerifyError.h | 23 + libjava/java/lang/VirtualMachineError.h | 23 + libjava/java/lang/Void.h | 20 + libjava/java/lang/Win32Process.h | 37 + libjava/java/lang/Win32Process.java | 8 +- libjava/java/lang/annotation/Annotation.h | 22 + .../java/lang/annotation/AnnotationFormatError.h | 24 + .../annotation/AnnotationTypeMismatchException.h | 26 + libjava/java/lang/annotation/Documented.h | 19 + libjava/java/lang/annotation/ElementType.h | 35 + .../annotation/IncompleteAnnotationException.h | 25 + libjava/java/lang/annotation/Inherited.h | 19 + libjava/java/lang/annotation/Retention.h | 20 + libjava/java/lang/annotation/RetentionPolicy.h | 30 + libjava/java/lang/annotation/Target.h | 22 + libjava/java/lang/instrument/ClassDefinition.h | 27 + .../java/lang/instrument/ClassFileTransformer.h | 31 + .../lang/instrument/IllegalClassFormatException.h | 23 + libjava/java/lang/instrument/Instrumentation.h | 27 + .../lang/instrument/UnmodifiableClassException.h | 23 + libjava/java/lang/management/ClassLoadingMXBean.h | 23 + libjava/java/lang/management/CompilationMXBean.h | 21 + .../java/lang/management/GarbageCollectorMXBean.h | 25 + libjava/java/lang/management/ManagementFactory.h | 57 + .../java/lang/management/ManagementPermission.h | 23 + libjava/java/lang/management/MemoryMXBean.h | 24 + libjava/java/lang/management/MemoryManagerMXBean.h | 23 + .../java/lang/management/MemoryNotificationInfo.h | 43 + libjava/java/lang/management/MemoryPoolMXBean.h | 38 + libjava/java/lang/management/MemoryType.h | 28 + libjava/java/lang/management/MemoryUsage.h | 44 + .../java/lang/management/OperatingSystemMXBean.h | 22 + libjava/java/lang/management/RuntimeMXBean.h | 34 + libjava/java/lang/management/ThreadInfo.h | 70 + libjava/java/lang/management/ThreadMXBean.h | 42 + libjava/java/lang/management/VMManagementFactory.h | 25 + .../java/lang/management/VMManagementFactory.java | 15 +- .../java/lang/management/natVMManagementFactory.cc | 44 + libjava/java/lang/natClass.cc | 766 +- libjava/java/lang/natClassLoader.cc | 66 +- libjava/java/lang/natEcosProcess.cc | 6 +- libjava/java/lang/natPosixProcess.cc | 20 +- libjava/java/lang/natRuntime.cc | 8 +- libjava/java/lang/natThread.cc | 100 +- libjava/java/lang/natThreadLocal.cc | 169 + libjava/java/lang/natVMClassLoader.cc | 3 + libjava/java/lang/natVMSecurityManager.cc | 29 - libjava/java/lang/natWin32Process.cc | 16 +- libjava/java/lang/ref/PhantomReference.h | 20 + libjava/java/lang/ref/Reference.h | 45 + libjava/java/lang/ref/Reference.java | 20 +- libjava/java/lang/ref/ReferenceQueue.h | 31 + libjava/java/lang/ref/SoftReference.h | 21 + libjava/java/lang/ref/WeakReference.h | 20 + libjava/java/lang/ref/natReference.cc | 9 +- libjava/java/lang/reflect/AccessibleObject.h | 36 + libjava/java/lang/reflect/AnnotatedElement.h | 24 + libjava/java/lang/reflect/Array.h | 46 + libjava/java/lang/reflect/Constructor.h | 65 + libjava/java/lang/reflect/Constructor.java | 50 +- libjava/java/lang/reflect/Field.h | 96 + libjava/java/lang/reflect/Field.java | 32 +- libjava/java/lang/reflect/GenericArrayType.h | 19 + libjava/java/lang/reflect/GenericDeclaration.h | 21 + .../lang/reflect/GenericSignatureFormatError.h | 22 + libjava/java/lang/reflect/InvocationHandler.h | 21 + .../java/lang/reflect/InvocationTargetException.h | 28 + .../reflect/MalformedParameterizedTypeException.h | 22 + libjava/java/lang/reflect/Member.h | 24 + libjava/java/lang/reflect/Method.h | 76 + libjava/java/lang/reflect/Method.java | 73 +- libjava/java/lang/reflect/Modifier.h | 58 + libjava/java/lang/reflect/ParameterizedType.h | 23 + libjava/java/lang/reflect/Proxy$ClassFactory.h | 78 + libjava/java/lang/reflect/Proxy$ProxyData.h | 37 + libjava/java/lang/reflect/Proxy$ProxySignature.h | 28 + libjava/java/lang/reflect/Proxy$ProxyType.h | 28 + libjava/java/lang/reflect/Proxy.h | 32 + libjava/java/lang/reflect/ReflectPermission.h | 23 + libjava/java/lang/reflect/Type.h | 18 + libjava/java/lang/reflect/TypeVariable.h | 23 + .../lang/reflect/UndeclaredThrowableException.h | 26 + libjava/java/lang/reflect/VMProxy.h | 28 + libjava/java/lang/reflect/VMProxy.java | 7 +- libjava/java/lang/reflect/WildcardType.h | 22 + libjava/java/lang/reflect/natConstructor.cc | 21 + libjava/java/lang/reflect/natField.cc | 14 + libjava/java/lang/reflect/natMethod.cc | 29 + libjava/java/lang/reflect/natVMProxy.cc | 394 + libjava/java/math/BigDecimal.h | 126 + libjava/java/math/BigInteger.h | 195 + libjava/java/math/MathContext.h | 46 + libjava/java/math/RoundingMode.h | 46 + libjava/java/net/Authenticator.h | 51 + libjava/java/net/BindException.h | 33 + libjava/java/net/ConnectException.h | 33 + libjava/java/net/ContentHandler.h | 34 + libjava/java/net/ContentHandlerFactory.h | 30 + libjava/java/net/DatagramPacket.h | 60 + libjava/java/net/DatagramSocket.h | 87 + libjava/java/net/DatagramSocket.java | 939 ++ libjava/java/net/DatagramSocketImpl.h | 60 + libjava/java/net/DatagramSocketImplFactory.h | 30 + libjava/java/net/FileNameMap.h | 29 + libjava/java/net/HttpURLConnection.h | 101 + libjava/java/net/Inet4Address.h | 52 + libjava/java/net/Inet6Address.h | 66 + libjava/java/net/InetAddress.h | 76 + libjava/java/net/InetSocketAddress.h | 49 + libjava/java/net/JarURLConnection.h | 56 + libjava/java/net/MalformedURLException.h | 33 + libjava/java/net/MimeTypeMapper.h | 39 + libjava/java/net/MulticastSocket.h | 50 + libjava/java/net/MulticastSocket.java | 519 + libjava/java/net/NetPermission.h | 33 + libjava/java/net/NetworkInterface.h | 50 + libjava/java/net/NetworkInterface.java | 299 + libjava/java/net/NoRouteToHostException.h | 33 + libjava/java/net/PasswordAuthentication.h | 37 + libjava/java/net/PortUnreachableException.h | 33 + libjava/java/net/ProtocolException.h | 33 + libjava/java/net/Proxy$Type.h | 40 + libjava/java/net/Proxy.h | 41 + libjava/java/net/ProxySelector.h | 38 + libjava/java/net/ResolverCache$Entry.h | 32 + libjava/java/net/ResolverCache.h | 51 + libjava/java/net/ServerSocket.h | 75 + libjava/java/net/Socket.h | 103 + libjava/java/net/Socket.java | 1269 ++ libjava/java/net/SocketAddress.h | 32 + libjava/java/net/SocketException.h | 33 + libjava/java/net/SocketImpl.h | 63 + libjava/java/net/SocketImplFactory.h | 30 + libjava/java/net/SocketOptions.h | 44 + libjava/java/net/SocketPermission.h | 68 + libjava/java/net/SocketTimeoutException.h | 33 + libjava/java/net/URI.h | 134 + libjava/java/net/URISyntaxException.h | 39 + libjava/java/net/URL$1.h | 31 + libjava/java/net/URL.h | 89 + libjava/java/net/URLClassLoader$1.h | 45 + libjava/java/net/URLClassLoader$2.h | 35 + libjava/java/net/URLClassLoader$CoreResource.h | 46 + libjava/java/net/URLClassLoader$CoreURLLoader.h | 36 + libjava/java/net/URLClassLoader$FileResource.h | 38 + libjava/java/net/URLClassLoader$FileURLLoader.h | 35 + libjava/java/net/URLClassLoader$JarURLLoader.h | 40 + libjava/java/net/URLClassLoader$JarURLResource.h | 48 + libjava/java/net/URLClassLoader$RemoteResource.h | 40 + libjava/java/net/URLClassLoader$RemoteURLLoader.h | 36 + libjava/java/net/URLClassLoader$Resource.h | 48 + libjava/java/net/URLClassLoader$SoResource.h | 38 + libjava/java/net/URLClassLoader$SoURLLoader.h | 47 + libjava/java/net/URLClassLoader$URLLoader.h | 45 + libjava/java/net/URLClassLoader.h | 82 + libjava/java/net/URLClassLoader.java | 12 +- libjava/java/net/URLConnection.h | 117 + libjava/java/net/URLDecoder.h | 31 + libjava/java/net/URLEncoder.h | 35 + libjava/java/net/URLStreamHandler.h | 48 + libjava/java/net/URLStreamHandlerFactory.h | 30 + libjava/java/net/UnknownHostException.h | 33 + libjava/java/net/UnknownServiceException.h | 33 + libjava/java/net/VMInetAddress.h | 37 + libjava/java/net/VMNetworkInterface.h | 31 + libjava/java/net/VMURLConnection.h | 38 + libjava/java/net/VMURLConnection.java | 13 +- libjava/java/net/natURLClassLoader.cc | 22 - libjava/java/net/natVMURLConnection.cc | 56 + libjava/java/nio/Buffer.h | 64 + libjava/java/nio/BufferOverflowException.h | 32 + libjava/java/nio/BufferUnderflowException.h | 32 + libjava/java/nio/ByteBuffer.h | 105 + libjava/java/nio/ByteBufferHelper.h | 56 + libjava/java/nio/ByteBufferImpl.h | 87 + libjava/java/nio/ByteOrder.h | 35 + libjava/java/nio/CharBuffer.h | 77 + libjava/java/nio/CharBufferImpl.h | 53 + libjava/java/nio/CharViewBufferImpl.h | 55 + libjava/java/nio/DirectByteBufferImpl$ReadOnly.h | 41 + libjava/java/nio/DirectByteBufferImpl$ReadWrite.h | 40 + libjava/java/nio/DirectByteBufferImpl.h | 101 + libjava/java/nio/DoubleBuffer.h | 62 + libjava/java/nio/DoubleBufferImpl.h | 49 + libjava/java/nio/DoubleViewBufferImpl.h | 54 + libjava/java/nio/FloatBuffer.h | 62 + libjava/java/nio/FloatBufferImpl.h | 49 + libjava/java/nio/FloatViewBufferImpl.h | 54 + libjava/java/nio/IntBuffer.h | 62 + libjava/java/nio/IntBufferImpl.h | 49 + libjava/java/nio/IntViewBufferImpl.h | 54 + libjava/java/nio/InvalidMarkException.h | 32 + libjava/java/nio/LongBuffer.h | 62 + libjava/java/nio/LongBufferImpl.h | 49 + libjava/java/nio/LongViewBufferImpl.h | 54 + libjava/java/nio/MappedByteBuffer.h | 44 + libjava/java/nio/MappedByteBufferImpl.h | 98 + libjava/java/nio/ReadOnlyBufferException.h | 32 + libjava/java/nio/ShortBuffer.h | 62 + libjava/java/nio/ShortBufferImpl.h | 49 + libjava/java/nio/ShortViewBufferImpl.h | 54 + libjava/java/nio/VMDirectByteBuffer.h | 46 + .../java/nio/channels/AlreadyConnectedException.h | 35 + .../java/nio/channels/AsynchronousCloseException.h | 35 + libjava/java/nio/channels/ByteChannel.h | 36 + libjava/java/nio/channels/CancelledKeyException.h | 35 + libjava/java/nio/channels/Channel.h | 33 + libjava/java/nio/channels/Channels.h | 47 + .../java/nio/channels/ClosedByInterruptException.h | 35 + libjava/java/nio/channels/ClosedChannelException.h | 35 + .../java/nio/channels/ClosedSelectorException.h | 35 + .../java/nio/channels/ConnectionPendingException.h | 35 + libjava/java/nio/channels/DatagramChannel.h | 59 + libjava/java/nio/channels/FileChannel$MapMode.h | 40 + libjava/java/nio/channels/FileChannel.h | 64 + libjava/java/nio/channels/FileLock.h | 48 + .../nio/channels/FileLockInterruptionException.h | 35 + libjava/java/nio/channels/GatheringByteChannel.h | 39 + .../nio/channels/IllegalBlockingModeException.h | 35 + .../java/nio/channels/IllegalSelectorException.h | 35 + libjava/java/nio/channels/InterruptibleChannel.h | 33 + .../nio/channels/NoConnectionPendingException.h | 35 + .../nio/channels/NonReadableChannelException.h | 35 + .../nio/channels/NonWritableChannelException.h | 35 + libjava/java/nio/channels/NotYetBoundException.h | 35 + .../java/nio/channels/NotYetConnectedException.h | 35 + .../nio/channels/OverlappingFileLockException.h | 35 + libjava/java/nio/channels/Pipe$SinkChannel.h | 44 + libjava/java/nio/channels/Pipe$SourceChannel.h | 44 + libjava/java/nio/channels/Pipe.h | 38 + libjava/java/nio/channels/ReadableByteChannel.h | 35 + libjava/java/nio/channels/ScatteringByteChannel.h | 39 + libjava/java/nio/channels/SelectableChannel.h | 48 + libjava/java/nio/channels/SelectionKey.h | 55 + libjava/java/nio/channels/Selector.h | 47 + libjava/java/nio/channels/ServerSocketChannel.h | 46 + libjava/java/nio/channels/SocketChannel.h | 59 + .../java/nio/channels/UnresolvedAddressException.h | 35 + .../nio/channels/UnsupportedAddressTypeException.h | 35 + libjava/java/nio/channels/VMChannels.h | 52 + libjava/java/nio/channels/WritableByteChannel.h | 35 + .../channels/spi/AbstractInterruptibleChannel.h | 46 + .../nio/channels/spi/AbstractSelectableChannel.h | 64 + .../java/nio/channels/spi/AbstractSelectionKey.h | 41 + libjava/java/nio/channels/spi/AbstractSelector.h | 60 + libjava/java/nio/channels/spi/SelectorProvider.h | 50 + .../java/nio/charset/CharacterCodingException.h | 35 + libjava/java/nio/charset/Charset.h | 79 + libjava/java/nio/charset/CharsetDecoder.h | 81 + libjava/java/nio/charset/CharsetEncoder.h | 84 + libjava/java/nio/charset/CoderMalfunctionError.h | 35 + libjava/java/nio/charset/CoderResult$1.h | 36 + libjava/java/nio/charset/CoderResult$2.h | 36 + libjava/java/nio/charset/CoderResult$Cache.h | 39 + libjava/java/nio/charset/CoderResult.h | 61 + libjava/java/nio/charset/CodingErrorAction.h | 39 + .../java/nio/charset/IllegalCharsetNameException.h | 37 + libjava/java/nio/charset/MalformedInputException.h | 38 + .../nio/charset/UnmappableCharacterException.h | 38 + .../java/nio/charset/UnsupportedCharsetException.h | 38 + libjava/java/nio/charset/spi/CharsetProvider.h | 39 + libjava/java/rmi/AccessException.h | 33 + libjava/java/rmi/AlreadyBoundException.h | 33 + libjava/java/rmi/ConnectException.h | 33 + libjava/java/rmi/ConnectIOException.h | 33 + libjava/java/rmi/MarshalException.h | 33 + libjava/java/rmi/MarshalledObject.h | 41 + libjava/java/rmi/Naming.h | 50 + libjava/java/rmi/NoSuchObjectException.h | 32 + libjava/java/rmi/NotBoundException.h | 33 + libjava/java/rmi/RMISecurityException.h | 33 + libjava/java/rmi/RMISecurityManager.h | 29 + libjava/java/rmi/Remote.h | 28 + libjava/java/rmi/RemoteException.h | 37 + libjava/java/rmi/ServerError.h | 32 + libjava/java/rmi/ServerException.h | 33 + libjava/java/rmi/ServerRuntimeException.h | 32 + libjava/java/rmi/StubNotFoundException.h | 33 + libjava/java/rmi/UnexpectedException.h | 33 + libjava/java/rmi/UnknownHostException.h | 33 + libjava/java/rmi/UnmarshalException.h | 33 + libjava/java/rmi/activation/Activatable.h | 67 + .../java/rmi/activation/ActivateFailedException.h | 36 + libjava/java/rmi/activation/ActivationDesc.h | 55 + libjava/java/rmi/activation/ActivationException.h | 40 + libjava/java/rmi/activation/ActivationGroup.h | 63 + .../ActivationGroupDesc$CommandEnvironment.h | 46 + libjava/java/rmi/activation/ActivationGroupDesc.h | 54 + libjava/java/rmi/activation/ActivationGroupID.h | 46 + libjava/java/rmi/activation/ActivationGroup_Stub.h | 43 + libjava/java/rmi/activation/ActivationID.h | 55 + .../java/rmi/activation/ActivationInstantiator.h | 35 + libjava/java/rmi/activation/ActivationMonitor.h | 37 + libjava/java/rmi/activation/ActivationSystem.h | 48 + libjava/java/rmi/activation/Activator.h | 34 + .../java/rmi/activation/UnknownGroupException.h | 35 + .../java/rmi/activation/UnknownObjectException.h | 35 + libjava/java/rmi/dgc/DGC.h | 41 + libjava/java/rmi/dgc/Lease.h | 42 + libjava/java/rmi/dgc/VMID.h | 53 + libjava/java/rmi/registry/LocateRegistry.h | 45 + libjava/java/rmi/registry/Registry.h | 40 + libjava/java/rmi/registry/RegistryHandler.h | 34 + libjava/java/rmi/server/ExportException.h | 36 + libjava/java/rmi/server/LoaderHandler.h | 39 + libjava/java/rmi/server/LogStream.h | 49 + libjava/java/rmi/server/ObjID.h | 55 + libjava/java/rmi/server/Operation.h | 37 + libjava/java/rmi/server/RMIClassLoader.h | 51 + libjava/java/rmi/server/RMIClassLoaderSpi.h | 38 + libjava/java/rmi/server/RMIClientSocketFactory.h | 36 + libjava/java/rmi/server/RMIFailureHandler.h | 32 + libjava/java/rmi/server/RMIServerSocketFactory.h | 36 + libjava/java/rmi/server/RMISocketFactory.h | 50 + libjava/java/rmi/server/RemoteCall.h | 38 + libjava/java/rmi/server/RemoteObject.h | 54 + .../rmi/server/RemoteObjectInvocationHandler.h | 43 + libjava/java/rmi/server/RemoteRef.h | 49 + libjava/java/rmi/server/RemoteServer.h | 41 + libjava/java/rmi/server/RemoteStub.h | 38 + libjava/java/rmi/server/ServerCloneException.h | 39 + libjava/java/rmi/server/ServerNotActiveException.h | 36 + libjava/java/rmi/server/ServerRef.h | 52 + libjava/java/rmi/server/Skeleton.h | 38 + .../java/rmi/server/SkeletonMismatchException.h | 35 + .../java/rmi/server/SkeletonNotFoundException.h | 36 + libjava/java/rmi/server/SocketSecurityException.h | 36 + libjava/java/rmi/server/UID.h | 50 + libjava/java/rmi/server/UnicastRemoteObject.h | 55 + libjava/java/rmi/server/Unreferenced.h | 32 + libjava/java/security/AccessControlContext.h | 48 + libjava/java/security/AccessControlException.h | 36 + libjava/java/security/AccessController.h | 39 + .../java/security/AlgorithmParameterGenerator.h | 54 + .../java/security/AlgorithmParameterGeneratorSpi.h | 40 + libjava/java/security/AlgorithmParameters.h | 56 + libjava/java/security/AlgorithmParametersSpi.h | 44 + .../AllPermission$AllPermissionCollection.h | 39 + libjava/java/security/AllPermission.h | 40 + .../BasicPermission$BasicPermissionCollection.h | 40 + libjava/java/security/BasicPermission.h | 40 + libjava/java/security/Certificate.h | 37 + libjava/java/security/CodeSource.h | 52 + libjava/java/security/DigestException.h | 35 + libjava/java/security/DigestInputStream.h | 43 + libjava/java/security/DigestOutputStream.h | 43 + libjava/java/security/DomainCombiner.h | 32 + libjava/java/security/DummyKeyPairGenerator.h | 43 + libjava/java/security/DummyMessageDigest.h | 42 + libjava/java/security/DummySignature.h | 47 + libjava/java/security/GeneralSecurityException.h | 35 + libjava/java/security/Guard.h | 29 + libjava/java/security/GuardedObject.h | 37 + libjava/java/security/Identity.h | 61 + libjava/java/security/IdentityScope.h | 51 + libjava/java/security/IntersectingDomainCombiner.h | 36 + .../security/InvalidAlgorithmParameterException.h | 35 + libjava/java/security/InvalidKeyException.h | 35 + libjava/java/security/InvalidParameterException.h | 33 + libjava/java/security/Key.h | 34 + libjava/java/security/KeyException.h | 35 + libjava/java/security/KeyFactory.h | 54 + libjava/java/security/KeyFactorySpi.h | 42 + libjava/java/security/KeyManagementException.h | 35 + libjava/java/security/KeyPair.h | 38 + libjava/java/security/KeyPairGenerator.h | 55 + libjava/java/security/KeyPairGeneratorSpi.h | 41 + libjava/java/security/KeyStore.h | 67 + libjava/java/security/KeyStoreException.h | 35 + libjava/java/security/KeyStoreSpi.h | 52 + libjava/java/security/MessageDigest.h | 63 + libjava/java/security/MessageDigestSpi.h | 45 + libjava/java/security/NoSuchAlgorithmException.h | 35 + libjava/java/security/NoSuchProviderException.h | 33 + libjava/java/security/Permission.h | 42 + libjava/java/security/PermissionCollection.h | 40 + libjava/java/security/Permissions$1.h | 38 + .../java/security/Permissions$PermissionsHash.h | 39 + libjava/java/security/Permissions.h | 40 + libjava/java/security/Policy.h | 49 + libjava/java/security/Principal.h | 32 + libjava/java/security/PrivateKey.h | 34 + libjava/java/security/PrivilegedAction.h | 29 + libjava/java/security/PrivilegedActionException.h | 36 + libjava/java/security/PrivilegedExceptionAction.h | 29 + libjava/java/security/ProtectionDomain.h | 52 + libjava/java/security/Provider.h | 45 + libjava/java/security/ProviderException.h | 35 + libjava/java/security/PublicKey.h | 34 + libjava/java/security/SecureClassLoader.h | 48 + libjava/java/security/SecureRandom.h | 71 + libjava/java/security/SecureRandomSpi.h | 38 + libjava/java/security/Security.h | 51 + libjava/java/security/Security.java | 714 -- libjava/java/security/SecurityPermission.h | 33 + libjava/java/security/Signature.h | 84 + libjava/java/security/SignatureException.h | 35 + libjava/java/security/SignatureSpi.h | 63 + libjava/java/security/SignedObject.h | 45 + libjava/java/security/Signer.h | 42 + libjava/java/security/UnrecoverableKeyException.h | 33 + libjava/java/security/UnresolvedPermission.h | 56 + .../security/UnresolvedPermissionCollection$1.h | 38 + .../java/security/UnresolvedPermissionCollection.h | 39 + libjava/java/security/VMAccessControlState.h | 37 + libjava/java/security/VMAccessController.h | 41 + libjava/java/security/VMSecureRandom$Spinner.h | 38 + libjava/java/security/VMSecureRandom.h | 33 + libjava/java/security/acl/Acl.h | 45 + libjava/java/security/acl/AclEntry.h | 43 + libjava/java/security/acl/AclNotFoundException.h | 35 + libjava/java/security/acl/Group.h | 37 + libjava/java/security/acl/LastOwnerException.h | 35 + libjava/java/security/acl/NotOwnerException.h | 35 + libjava/java/security/acl/Owner.h | 35 + libjava/java/security/acl/Permission.h | 33 + libjava/java/security/cert/CRL.h | 40 + libjava/java/security/cert/CRLException.h | 38 + libjava/java/security/cert/CRLSelector.h | 34 + libjava/java/security/cert/CertPath$CertPathRep.h | 40 + libjava/java/security/cert/CertPath.h | 49 + libjava/java/security/cert/CertPathBuilder.h | 50 + .../java/security/cert/CertPathBuilderException.h | 44 + libjava/java/security/cert/CertPathBuilderResult.h | 34 + libjava/java/security/cert/CertPathBuilderSpi.h | 35 + libjava/java/security/cert/CertPathParameters.h | 32 + libjava/java/security/cert/CertPathValidator$1.h | 34 + libjava/java/security/cert/CertPathValidator.h | 51 + .../security/cert/CertPathValidatorException.h | 50 + .../java/security/cert/CertPathValidatorResult.h | 32 + libjava/java/security/cert/CertPathValidatorSpi.h | 36 + libjava/java/security/cert/CertSelector.h | 34 + libjava/java/security/cert/CertStore$1.h | 34 + libjava/java/security/cert/CertStore.h | 54 + libjava/java/security/cert/CertStoreException.h | 44 + libjava/java/security/cert/CertStoreParameters.h | 32 + libjava/java/security/cert/CertStoreSpi.h | 37 + .../security/cert/Certificate$CertificateRep.h | 40 + libjava/java/security/cert/Certificate.h | 50 + .../security/cert/CertificateEncodingException.h | 38 + libjava/java/security/cert/CertificateException.h | 38 + .../security/cert/CertificateExpiredException.h | 36 + libjava/java/security/cert/CertificateFactory.h | 57 + libjava/java/security/cert/CertificateFactorySpi.h | 43 + .../cert/CertificateNotYetValidException.h | 36 + .../security/cert/CertificateParsingException.h | 38 + .../security/cert/CollectionCertStoreParameters.h | 39 + .../java/security/cert/LDAPCertStoreParameters.h | 43 + libjava/java/security/cert/PKIXBuilderParameters.h | 41 + .../java/security/cert/PKIXCertPathBuilderResult.h | 41 + libjava/java/security/cert/PKIXCertPathChecker.h | 39 + .../security/cert/PKIXCertPathValidatorResult.h | 45 + libjava/java/security/cert/PKIXParameters.h | 83 + libjava/java/security/cert/PolicyNode.h | 38 + libjava/java/security/cert/PolicyQualifierInfo.h | 57 + libjava/java/security/cert/TrustAnchor.h | 61 + libjava/java/security/cert/X509CRL.h | 76 + libjava/java/security/cert/X509CRLEntry.h | 49 + libjava/java/security/cert/X509CRLSelector.h | 63 + libjava/java/security/cert/X509CertSelector.h | 132 + libjava/java/security/cert/X509Certificate.h | 82 + libjava/java/security/cert/X509Extension.h | 37 + libjava/java/security/interfaces/DSAKey.h | 33 + .../java/security/interfaces/DSAKeyPairGenerator.h | 35 + libjava/java/security/interfaces/DSAParams.h | 38 + libjava/java/security/interfaces/DSAPrivateKey.h | 44 + libjava/java/security/interfaces/DSAPublicKey.h | 44 + libjava/java/security/interfaces/RSAKey.h | 36 + .../interfaces/RSAMultiPrimePrivateCrtKey.h | 54 + .../java/security/interfaces/RSAPrivateCrtKey.h | 49 + libjava/java/security/interfaces/RSAPrivateKey.h | 43 + libjava/java/security/interfaces/RSAPublicKey.h | 43 + .../java/security/spec/AlgorithmParameterSpec.h | 31 + libjava/java/security/spec/DSAParameterSpec.h | 44 + libjava/java/security/spec/DSAPrivateKeySpec.h | 46 + libjava/java/security/spec/DSAPublicKeySpec.h | 46 + libjava/java/security/spec/EncodedKeySpec.h | 39 + .../java/security/spec/InvalidKeySpecException.h | 38 + .../security/spec/InvalidParameterSpecException.h | 36 + libjava/java/security/spec/KeySpec.h | 31 + libjava/java/security/spec/PKCS8EncodedKeySpec.h | 36 + libjava/java/security/spec/PSSParameterSpec.h | 36 + .../java/security/spec/RSAKeyGenParameterSpec.h | 44 + .../security/spec/RSAMultiPrimePrivateCrtKeySpec.h | 55 + libjava/java/security/spec/RSAOtherPrimeInfo.h | 44 + libjava/java/security/spec/RSAPrivateCrtKeySpec.h | 50 + libjava/java/security/spec/RSAPrivateKeySpec.h | 42 + libjava/java/security/spec/RSAPublicKeySpec.h | 42 + libjava/java/security/spec/X509EncodedKeySpec.h | 36 + libjava/java/sql/Array.h | 39 + libjava/java/sql/BatchUpdateException.h | 41 + libjava/java/sql/Blob.h | 39 + libjava/java/sql/CallableStatement.h | 203 + libjava/java/sql/Clob.h | 39 + libjava/java/sql/Connection.h | 77 + libjava/java/sql/DataTruncation.h | 43 + libjava/java/sql/DatabaseMetaData.h | 245 + libjava/java/sql/Date.h | 47 + libjava/java/sql/Driver.h | 38 + libjava/java/sql/DriverManager.h | 51 + libjava/java/sql/DriverPropertyInfo.h | 36 + libjava/java/sql/ParameterMetaData.h | 44 + libjava/java/sql/PreparedStatement.h | 124 + libjava/java/sql/Ref.h | 32 + libjava/java/sql/ResultSet.h | 197 + libjava/java/sql/ResultSetMetaData.h | 52 + libjava/java/sql/SQLData.h | 33 + libjava/java/sql/SQLException.h | 43 + libjava/java/sql/SQLInput.h | 68 + libjava/java/sql/SQLOutput.h | 70 + libjava/java/sql/SQLPermission.h | 30 + libjava/java/sql/SQLWarning.h | 37 + libjava/java/sql/Savepoint.h | 30 + libjava/java/sql/Statement.h | 77 + libjava/java/sql/Struct.h | 33 + libjava/java/sql/Time.h | 48 + libjava/java/sql/Timestamp.h | 54 + libjava/java/sql/Types.h | 59 + libjava/java/text/Annotation.h | 34 + .../text/AttributedCharacterIterator$Attribute.h | 44 + libjava/java/text/AttributedCharacterIterator.h | 47 + .../java/text/AttributedString$AttributeRange.h | 35 + libjava/java/text/AttributedString.h | 49 + libjava/java/text/AttributedStringIterator.h | 63 + libjava/java/text/Bidi.h | 80 + libjava/java/text/BreakIterator.h | 59 + libjava/java/text/CharacterIterator.h | 39 + libjava/java/text/ChoiceFormat.h | 57 + libjava/java/text/CollationElementIterator.h | 58 + libjava/java/text/CollationKey.h | 44 + libjava/java/text/Collator.h | 61 + libjava/java/text/DateFormat$Field.h | 69 + libjava/java/text/DateFormat.h | 102 + libjava/java/text/DateFormatSymbols.h | 74 + libjava/java/text/DecimalFormat.h | 120 + libjava/java/text/DecimalFormatSymbols.h | 91 + libjava/java/text/FieldPosition.h | 47 + libjava/java/text/Format$Field.h | 32 + libjava/java/text/Format.h | 41 + libjava/java/text/MessageFormat$Field.h | 35 + .../java/text/MessageFormat$MessageFormatElement.h | 40 + libjava/java/text/MessageFormat.h | 83 + libjava/java/text/NumberFormat$Field.h | 50 + libjava/java/text/NumberFormat.h | 100 + libjava/java/text/ParseException.h | 34 + libjava/java/text/ParsePosition.h | 40 + .../java/text/RuleBasedCollator$CollationElement.h | 38 + .../java/text/RuleBasedCollator$CollationSorter.h | 42 + libjava/java/text/RuleBasedCollator.h | 70 + libjava/java/text/SimpleDateFormat$CompiledField.h | 42 + libjava/java/text/SimpleDateFormat.h | 87 + libjava/java/text/StringCharacterIterator.h | 53 + libjava/java/util/AbstractCollection.h | 46 + libjava/java/util/AbstractList$1.h | 35 + libjava/java/util/AbstractList$2.h | 33 + libjava/java/util/AbstractList$3.h | 39 + .../java/util/AbstractList$RandomAccessSubList.h | 20 + libjava/java/util/AbstractList$SubList.h | 41 + libjava/java/util/AbstractList.h | 41 + libjava/java/util/AbstractMap$1.h | 27 + libjava/java/util/AbstractMap$2.h | 28 + libjava/java/util/AbstractMap$3.h | 27 + libjava/java/util/AbstractMap$4.h | 28 + libjava/java/util/AbstractMap$SimpleEntry.h | 30 + .../java/util/AbstractMap$SimpleImmutableEntry.h | 27 + libjava/java/util/AbstractMap.h | 47 + libjava/java/util/AbstractQueue.h | 28 + libjava/java/util/AbstractSequentialList.h | 27 + libjava/java/util/AbstractSet.h | 23 + libjava/java/util/ArrayDeque$DeqIterator.h | 31 + libjava/java/util/ArrayDeque$DescendingIterator.h | 31 + libjava/java/util/ArrayDeque.h | 81 + libjava/java/util/ArrayList.h | 57 + libjava/java/util/Arrays$ArrayList.h | 34 + libjava/java/util/Arrays.h | 144 + libjava/java/util/BitSet.h | 57 + libjava/java/util/Calendar.h | 140 + libjava/java/util/Collection.h | 35 + .../java/util/Collections$1$SynchronizedMapEntry.h | 30 + libjava/java/util/Collections$1.h | 28 + libjava/java/util/Collections$2.h | 24 + libjava/java/util/Collections$3.h | 25 + libjava/java/util/Collections$4.h | 25 + libjava/java/util/Collections$5.h | 25 + libjava/java/util/Collections$6.h | 25 + libjava/java/util/Collections$7.h | 31 + libjava/java/util/Collections$8.h | 25 + libjava/java/util/Collections$9.h | 24 + libjava/java/util/Collections$CheckedCollection.h | 42 + libjava/java/util/Collections$CheckedIterator.h | 28 + libjava/java/util/Collections$CheckedList.h | 37 + .../java/util/Collections$CheckedListIterator.h | 29 + .../util/Collections$CheckedMap$CheckedEntrySet.h | 27 + libjava/java/util/Collections$CheckedMap.h | 46 + .../util/Collections$CheckedRandomAccessList.h | 22 + libjava/java/util/Collections$CheckedSet.h | 25 + libjava/java/util/Collections$CheckedSortedMap.h | 30 + libjava/java/util/Collections$CheckedSortedSet.h | 30 + libjava/java/util/Collections$CopiesList.h | 35 + libjava/java/util/Collections$EmptyList.h | 39 + libjava/java/util/Collections$EmptyMap.h | 34 + libjava/java/util/Collections$EmptySet.h | 37 + libjava/java/util/Collections$ReverseComparator.h | 24 + libjava/java/util/Collections$SingletonList.h | 36 + libjava/java/util/Collections$SingletonMap.h | 35 + libjava/java/util/Collections$SingletonSet.h | 34 + .../java/util/Collections$SynchronizedCollection.h | 43 + .../java/util/Collections$SynchronizedIterator.h | 28 + libjava/java/util/Collections$SynchronizedList.h | 38 + .../util/Collections$SynchronizedListIterator.h | 29 + libjava/java/util/Collections$SynchronizedMap.h | 46 + .../Collections$SynchronizedRandomAccessList.h | 25 + libjava/java/util/Collections$SynchronizedSet.h | 26 + .../java/util/Collections$SynchronizedSortedMap.h | 31 + .../java/util/Collections$SynchronizedSortedSet.h | 31 + .../java/util/Collections$UnmodifiableCollection.h | 41 + .../java/util/Collections$UnmodifiableIterator.h | 26 + libjava/java/util/Collections$UnmodifiableList.h | 37 + .../util/Collections$UnmodifiableListIterator.h | 29 + ...Map$UnmodifiableEntrySet$UnmodifiableMapEntry.h | 30 + ...lections$UnmodifiableMap$UnmodifiableEntrySet.h | 29 + libjava/java/util/Collections$UnmodifiableMap.h | 42 + .../Collections$UnmodifiableRandomAccessList.h | 22 + libjava/java/util/Collections$UnmodifiableSet.h | 25 + .../java/util/Collections$UnmodifiableSortedMap.h | 30 + .../java/util/Collections$UnmodifiableSortedSet.h | 30 + libjava/java/util/Collections.h | 85 + libjava/java/util/Comparator.h | 20 + .../java/util/ConcurrentModificationException.h | 23 + libjava/java/util/Currency.h | 37 + libjava/java/util/Date.h | 69 + libjava/java/util/Deque.h | 55 + libjava/java/util/Dictionary.h | 26 + libjava/java/util/DuplicateFormatFlagsException.h | 24 + libjava/java/util/EmptyStackException.h | 22 + libjava/java/util/EnumMap$1.h | 29 + libjava/java/util/EnumMap$2.h | 29 + libjava/java/util/EnumMap$3.h | 27 + libjava/java/util/EnumMap$4.h | 28 + libjava/java/util/EnumMap$5.h | 29 + libjava/java/util/EnumMap$6.h | 30 + libjava/java/util/EnumMap$7.h | 24 + libjava/java/util/EnumMap.h | 47 + libjava/java/util/EnumSet$1.h | 29 + libjava/java/util/EnumSet.h | 54 + libjava/java/util/Enumeration.h | 20 + libjava/java/util/EventListener.h | 18 + libjava/java/util/EventListenerProxy.h | 23 + libjava/java/util/EventObject.h | 26 + .../util/FormatFlagsConversionMismatchException.h | 26 + libjava/java/util/Formattable.h | 19 + libjava/java/util/FormattableFlags.h | 29 + libjava/java/util/Formatter$BigDecimalLayoutForm.h | 28 + libjava/java/util/Formatter.h | 90 + libjava/java/util/FormatterClosedException.h | 22 + libjava/java/util/GregorianCalendar.h | 72 + libjava/java/util/HashMap$1.h | 28 + libjava/java/util/HashMap$2.h | 26 + libjava/java/util/HashMap$3.h | 28 + libjava/java/util/HashMap$HashEntry.h | 23 + libjava/java/util/HashMap$HashIterator.h | 33 + libjava/java/util/HashMap.h | 61 + libjava/java/util/HashSet.h | 38 + libjava/java/util/Hashtable$1.h | 28 + libjava/java/util/Hashtable$2.h | 26 + libjava/java/util/Hashtable$3.h | 28 + libjava/java/util/Hashtable$EntryEnumerator.h | 29 + libjava/java/util/Hashtable$EntryIterator.h | 32 + libjava/java/util/Hashtable$HashEntry.h | 24 + libjava/java/util/Hashtable$KeyEnumerator.h | 27 + libjava/java/util/Hashtable$KeyIterator.h | 28 + libjava/java/util/Hashtable$ValueEnumerator.h | 27 + libjava/java/util/Hashtable$ValueIterator.h | 28 + libjava/java/util/Hashtable.h | 67 + libjava/java/util/IdentityHashMap$1.h | 29 + libjava/java/util/IdentityHashMap$2.h | 29 + libjava/java/util/IdentityHashMap$3.h | 27 + libjava/java/util/IdentityHashMap$IdentityEntry.h | 31 + .../java/util/IdentityHashMap$IdentityIterator.h | 30 + libjava/java/util/IdentityHashMap.h | 61 + .../java/util/IllegalFormatCodePointException.h | 25 + .../java/util/IllegalFormatConversionException.h | 27 + libjava/java/util/IllegalFormatException.h | 23 + libjava/java/util/IllegalFormatFlagsException.h | 24 + .../java/util/IllegalFormatPrecisionException.h | 24 + libjava/java/util/IllegalFormatWidthException.h | 24 + libjava/java/util/InputMismatchException.h | 20 + .../java/util/InvalidPropertiesFormatException.h | 25 + libjava/java/util/Iterator.h | 21 + libjava/java/util/LinkedHashMap$1.h | 31 + libjava/java/util/LinkedHashMap$LinkedHashEntry.h | 25 + libjava/java/util/LinkedHashMap.h | 38 + libjava/java/util/LinkedHashSet.h | 27 + libjava/java/util/LinkedList$Entry.h | 23 + libjava/java/util/LinkedList$LinkedListItr.h | 40 + libjava/java/util/LinkedList.h | 68 + libjava/java/util/List.h | 45 + libjava/java/util/ListIterator.h | 27 + libjava/java/util/ListResourceBundle.h | 26 + libjava/java/util/Locale.h | 82 + libjava/java/util/Map$Entry.h | 23 + libjava/java/util/Map.h | 32 + libjava/java/util/MissingFormatArgumentException.h | 24 + libjava/java/util/MissingFormatWidthException.h | 24 + libjava/java/util/MissingResourceException.h | 26 + libjava/java/util/NavigableMap.h | 54 + libjava/java/util/NavigableSet.h | 50 + libjava/java/util/NoSuchElementException.h | 23 + libjava/java/util/Observable.h | 35 + libjava/java/util/Observer.h | 19 + libjava/java/util/PriorityQueue$1.h | 28 + libjava/java/util/PriorityQueue.h | 48 + libjava/java/util/Properties.h | 40 + libjava/java/util/PropertyPermission.h | 52 + libjava/java/util/PropertyPermissionCollection.h | 38 + libjava/java/util/PropertyResourceBundle.h | 24 + libjava/java/util/Queue.h | 38 + libjava/java/util/Random.h | 40 + libjava/java/util/RandomAccess.h | 18 + libjava/java/util/ResourceBundle$1.h | 21 + libjava/java/util/ResourceBundle$BundleKey.h | 31 + libjava/java/util/ResourceBundle.h | 47 + libjava/java/util/ResourceBundle.java | 580 - libjava/java/util/Set.h | 35 + libjava/java/util/SimpleTimeZone.h | 80 + libjava/java/util/SortedMap.h | 36 + libjava/java/util/SortedSet.h | 39 + libjava/java/util/Stack.h | 27 + libjava/java/util/StringTokenizer.h | 34 + libjava/java/util/TimeZone$1.h | 21 + libjava/java/util/TimeZone.h | 61 + libjava/java/util/Timer$Scheduler.h | 23 + libjava/java/util/Timer$TaskQueue.h | 39 + libjava/java/util/Timer.h | 49 + libjava/java/util/TimerTask.h | 29 + libjava/java/util/TooManyListenersException.h | 23 + libjava/java/util/TreeMap$1.h | 28 + libjava/java/util/TreeMap$2.h | 28 + libjava/java/util/TreeMap$3.h | 26 + libjava/java/util/TreeMap$4.h | 28 + libjava/java/util/TreeMap$5.h | 28 + libjava/java/util/TreeMap$6.h | 26 + libjava/java/util/TreeMap$Node.h | 24 + libjava/java/util/TreeMap$SubMap.h | 46 + libjava/java/util/TreeMap$TreeIterator.h | 33 + libjava/java/util/TreeMap.h | 85 + libjava/java/util/TreeSet.h | 46 + libjava/java/util/UUID.h | 45 + .../java/util/UnknownFormatConversionException.h | 24 + libjava/java/util/UnknownFormatFlagsException.h | 24 + libjava/java/util/VMTimeZone.h | 26 + libjava/java/util/Vector$1.h | 27 + libjava/java/util/Vector.h | 77 + libjava/java/util/WeakHashMap$1.h | 22 + libjava/java/util/WeakHashMap$2.h | 32 + .../java/util/WeakHashMap$WeakBucket$WeakEntry.h | 30 + libjava/java/util/WeakHashMap$WeakBucket.h | 25 + libjava/java/util/WeakHashMap$WeakEntrySet.h | 26 + libjava/java/util/WeakHashMap.h | 66 + .../java/util/concurrent/AbstractExecutorService.h | 42 + .../java/util/concurrent/ArrayBlockingQueue$Itr.h | 33 + libjava/java/util/concurrent/ArrayBlockingQueue.h | 65 + libjava/java/util/concurrent/BlockingDeque.h | 70 + libjava/java/util/concurrent/BlockingQueue.h | 45 + .../java/util/concurrent/BrokenBarrierException.h | 23 + libjava/java/util/concurrent/Callable.h | 19 + .../java/util/concurrent/CancellationException.h | 23 + libjava/java/util/concurrent/CompletionService.h | 23 + .../concurrent/ConcurrentHashMap$EntryIterator.h | 25 + .../util/concurrent/ConcurrentHashMap$EntrySet.h | 28 + .../util/concurrent/ConcurrentHashMap$HashEntry.h | 27 + .../concurrent/ConcurrentHashMap$HashIterator.h | 39 + .../concurrent/ConcurrentHashMap$KeyIterator.h | 25 + .../util/concurrent/ConcurrentHashMap$KeySet.h | 28 + .../util/concurrent/ConcurrentHashMap$Segment.h | 43 + .../concurrent/ConcurrentHashMap$ValueIterator.h | 25 + .../util/concurrent/ConcurrentHashMap$Values.h | 27 + .../ConcurrentHashMap$WriteThroughEntry.h | 24 + libjava/java/util/concurrent/ConcurrentHashMap.h | 65 + .../util/concurrent/ConcurrentLinkedQueue$Itr.h | 32 + .../util/concurrent/ConcurrentLinkedQueue$Node.h | 32 + .../java/util/concurrent/ConcurrentLinkedQueue.h | 43 + libjava/java/util/concurrent/ConcurrentMap.h | 34 + .../java/util/concurrent/ConcurrentNavigableMap.h | 66 + ...ncurrentSkipListMap$ComparableUsingComparator.h | 25 + .../ConcurrentSkipListMap$EntryIterator.h | 25 + .../concurrent/ConcurrentSkipListMap$EntrySet.h | 34 + .../concurrent/ConcurrentSkipListMap$HeadIndex.h | 21 + .../util/concurrent/ConcurrentSkipListMap$Index.h | 28 + .../util/concurrent/ConcurrentSkipListMap$Iter.h | 32 + .../concurrent/ConcurrentSkipListMap$KeyIterator.h | 24 + .../util/concurrent/ConcurrentSkipListMap$KeySet.h | 54 + .../util/concurrent/ConcurrentSkipListMap$Node.h | 34 + ...currentSkipListMap$SubMap$SubMapEntryIterator.h | 25 + .../ConcurrentSkipListMap$SubMap$SubMapIter.h | 35 + ...oncurrentSkipListMap$SubMap$SubMapKeyIterator.h | 24 + ...currentSkipListMap$SubMap$SubMapValueIterator.h | 24 + .../util/concurrent/ConcurrentSkipListMap$SubMap.h | 118 + .../ConcurrentSkipListMap$ValueIterator.h | 24 + .../util/concurrent/ConcurrentSkipListMap$Values.h | 32 + .../java/util/concurrent/ConcurrentSkipListMap.h | 136 + .../java/util/concurrent/ConcurrentSkipListSet.h | 75 + .../java/util/concurrent/CopyOnWriteArrayList.h | 52 + libjava/java/util/concurrent/CopyOnWriteArraySet.h | 41 + libjava/java/util/concurrent/CountDownLatch$Sync.h | 26 + libjava/java/util/concurrent/CountDownLatch.h | 27 + .../util/concurrent/CyclicBarrier$Generation.h | 22 + libjava/java/util/concurrent/CyclicBarrier.h | 37 + libjava/java/util/concurrent/DelayQueue$Itr.h | 32 + libjava/java/util/concurrent/DelayQueue.h | 57 + libjava/java/util/concurrent/Delayed.h | 20 + libjava/java/util/concurrent/Exchanger$Node.h | 21 + libjava/java/util/concurrent/Exchanger$Slot.h | 36 + libjava/java/util/concurrent/Exchanger.h | 42 + libjava/java/util/concurrent/ExecutionException.h | 26 + libjava/java/util/concurrent/Executor.h | 19 + .../ExecutorCompletionService$QueueingFuture.h | 26 + .../util/concurrent/ExecutorCompletionService.h | 34 + libjava/java/util/concurrent/ExecutorService.h | 31 + libjava/java/util/concurrent/Executors$1.h | 24 + libjava/java/util/concurrent/Executors$2.h | 24 + libjava/java/util/concurrent/Executors$3.h | 27 + libjava/java/util/concurrent/Executors$4.h | 26 + libjava/java/util/concurrent/Executors$5.h | 34 + libjava/java/util/concurrent/Executors$6.h | 34 + .../concurrent/Executors$DefaultThreadFactory.h | 27 + .../Executors$DelegatedExecutorService.h | 36 + .../Executors$DelegatedScheduledExecutorService.h | 27 + ...Executors$FinalizableDelegatedExecutorService.h | 22 + .../util/concurrent/Executors$PrivilegedCallable.h | 41 + ...ors$PrivilegedCallableUsingCurrentClassLoader.h | 43 + .../concurrent/Executors$PrivilegedThreadFactory.h | 38 + .../util/concurrent/Executors$RunnableAdapter.h | 25 + libjava/java/util/concurrent/Executors.h | 52 + libjava/java/util/concurrent/Future.h | 23 + libjava/java/util/concurrent/FutureTask$Sync.h | 46 + libjava/java/util/concurrent/FutureTask.h | 36 + .../concurrent/LinkedBlockingDeque$AbstractItr.h | 32 + .../concurrent/LinkedBlockingDeque$DescendingItr.h | 23 + .../java/util/concurrent/LinkedBlockingDeque$Itr.h | 23 + .../util/concurrent/LinkedBlockingDeque$Node.h | 23 + libjava/java/util/concurrent/LinkedBlockingDeque.h | 96 + .../java/util/concurrent/LinkedBlockingQueue$Itr.h | 30 + .../util/concurrent/LinkedBlockingQueue$Node.h | 22 + libjava/java/util/concurrent/LinkedBlockingQueue.h | 71 + .../util/concurrent/PriorityBlockingQueue$Itr.h | 31 + .../java/util/concurrent/PriorityBlockingQueue.h | 57 + .../util/concurrent/RejectedExecutionException.h | 25 + .../util/concurrent/RejectedExecutionHandler.h | 19 + libjava/java/util/concurrent/RunnableFuture.h | 24 + .../java/util/concurrent/RunnableScheduledFuture.h | 27 + .../util/concurrent/ScheduledExecutorService.h | 35 + libjava/java/util/concurrent/ScheduledFuture.h | 25 + .../concurrent/ScheduledThreadPoolExecutor$1.h | 29 + .../ScheduledThreadPoolExecutor$DelayedWorkQueue.h | 58 + ...heduledThreadPoolExecutor$ScheduledFutureTask.h | 40 + .../util/concurrent/ScheduledThreadPoolExecutor.h | 56 + libjava/java/util/concurrent/Semaphore$FairSync.h | 24 + .../java/util/concurrent/Semaphore$NonfairSync.h | 24 + libjava/java/util/concurrent/Semaphore$Sync.h | 29 + libjava/java/util/concurrent/Semaphore.h | 46 + .../concurrent/SynchronousQueue$EmptyIterator.h | 23 + .../concurrent/SynchronousQueue$FifoWaitQueue.h | 22 + .../concurrent/SynchronousQueue$LifoWaitQueue.h | 22 + .../SynchronousQueue$TransferQueue$QNode.h | 31 + .../concurrent/SynchronousQueue$TransferQueue.h | 32 + .../SynchronousQueue$TransferStack$SNode.h | 31 + .../concurrent/SynchronousQueue$TransferStack.h | 32 + .../util/concurrent/SynchronousQueue$Transferer.h | 21 + .../util/concurrent/SynchronousQueue$WaitQueue.h | 20 + libjava/java/util/concurrent/SynchronousQueue.h | 58 + libjava/java/util/concurrent/ThreadFactory.h | 19 + .../concurrent/ThreadPoolExecutor$AbortPolicy.h | 20 + .../ThreadPoolExecutor$CallerRunsPolicy.h | 20 + .../ThreadPoolExecutor$DiscardOldestPolicy.h | 20 + .../concurrent/ThreadPoolExecutor$DiscardPolicy.h | 20 + .../util/concurrent/ThreadPoolExecutor$Worker.h | 34 + libjava/java/util/concurrent/ThreadPoolExecutor.h | 97 + libjava/java/util/concurrent/TimeUnit$1.h | 31 + libjava/java/util/concurrent/TimeUnit$2.h | 31 + libjava/java/util/concurrent/TimeUnit$3.h | 31 + libjava/java/util/concurrent/TimeUnit$4.h | 31 + libjava/java/util/concurrent/TimeUnit$5.h | 31 + libjava/java/util/concurrent/TimeUnit$6.h | 31 + libjava/java/util/concurrent/TimeUnit$7.h | 31 + libjava/java/util/concurrent/TimeUnit.h | 61 + libjava/java/util/concurrent/TimeoutException.h | 23 + .../java/util/concurrent/atomic/AtomicBoolean.h | 43 + .../java/util/concurrent/atomic/AtomicInteger.h | 53 + .../util/concurrent/atomic/AtomicIntegerArray.h | 54 + ...gerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h | 44 + .../concurrent/atomic/AtomicIntegerFieldUpdater.h | 34 + libjava/java/util/concurrent/atomic/AtomicLong.h | 57 + .../java/util/concurrent/atomic/AtomicLongArray.h | 54 + .../atomic/AtomicLongFieldUpdater$CASUpdater.h | 44 + .../atomic/AtomicLongFieldUpdater$LockedUpdater.h | 44 + .../concurrent/atomic/AtomicLongFieldUpdater.h | 34 + .../AtomicMarkableReference$ReferenceBooleanPair.h | 25 + .../concurrent/atomic/AtomicMarkableReference.h | 31 + .../java/util/concurrent/atomic/AtomicReference.h | 43 + .../util/concurrent/atomic/AtomicReferenceArray.h | 48 + ...eFieldUpdater$AtomicReferenceFieldUpdaterImpl.h | 45 + .../atomic/AtomicReferenceFieldUpdater.h | 28 + .../AtomicStampedReference$ReferenceIntegerPair.h | 25 + .../concurrent/atomic/AtomicStampedReference.h | 31 + .../java/util/concurrent/atomic/natAtomicLong.cc | 12 + .../concurrent/locks/AbstractOwnableSynchronizer.h | 25 + ...bstractQueuedLongSynchronizer$ConditionObject.h | 52 + .../locks/AbstractQueuedLongSynchronizer$Node.h | 34 + .../locks/AbstractQueuedLongSynchronizer.h | 115 + .../AbstractQueuedSynchronizer$ConditionObject.h | 52 + .../locks/AbstractQueuedSynchronizer$Node.h | 34 + .../concurrent/locks/AbstractQueuedSynchronizer.h | 115 + libjava/java/util/concurrent/locks/Condition.h | 25 + libjava/java/util/concurrent/locks/Lock.h | 24 + libjava/java/util/concurrent/locks/LockSupport.h | 42 + libjava/java/util/concurrent/locks/ReadWriteLock.h | 20 + .../util/concurrent/locks/ReentrantLock$FairSync.h | 25 + .../concurrent/locks/ReentrantLock$NonfairSync.h | 25 + .../util/concurrent/locks/ReentrantLock$Sync.h | 33 + libjava/java/util/concurrent/locks/ReentrantLock.h | 49 + .../locks/ReentrantReadWriteLock$FairSync.h | 24 + .../locks/ReentrantReadWriteLock$NonfairSync.h | 24 + .../locks/ReentrantReadWriteLock$ReadLock.h | 31 + .../ReentrantReadWriteLock$Sync$HoldCounter.h | 23 + ...rantReadWriteLock$Sync$ThreadLocalHoldCounter.h | 22 + .../concurrent/locks/ReentrantReadWriteLock$Sync.h | 55 + .../locks/ReentrantReadWriteLock$WriteLock.h | 33 + .../util/concurrent/locks/ReentrantReadWriteLock.h | 57 + libjava/java/util/jar/Attributes$Name.h | 43 + libjava/java/util/jar/Attributes.h | 45 + libjava/java/util/jar/JarEntry.h | 42 + libjava/java/util/jar/JarException.h | 23 + libjava/java/util/jar/JarFile$EntryInputStream.h | 49 + libjava/java/util/jar/JarFile$JarEnumeration.h | 27 + libjava/java/util/jar/JarFile.h | 103 + libjava/java/util/jar/JarInputStream.h | 35 + libjava/java/util/jar/JarOutputStream.h | 24 + libjava/java/util/jar/Manifest.h | 34 + libjava/java/util/logging/ConsoleHandler.h | 21 + libjava/java/util/logging/ErrorManager.h | 29 + libjava/java/util/logging/FileHandler$ostr.h | 28 + libjava/java/util/logging/FileHandler.h | 49 + libjava/java/util/logging/Filter.h | 19 + libjava/java/util/logging/Formatter.h | 24 + libjava/java/util/logging/Handler.h | 44 + libjava/java/util/logging/Level.h | 53 + libjava/java/util/logging/LogManager$1.h | 24 + libjava/java/util/logging/LogManager.h | 77 + libjava/java/util/logging/LogRecord.h | 70 + libjava/java/util/logging/Logger$1.h | 21 + libjava/java/util/logging/Logger.h | 90 + libjava/java/util/logging/LoggingMXBean.h | 22 + libjava/java/util/logging/LoggingPermission.h | 22 + libjava/java/util/logging/MemoryHandler.h | 35 + libjava/java/util/logging/SimpleFormatter.h | 35 + libjava/java/util/logging/SocketHandler.h | 25 + libjava/java/util/logging/StreamHandler.h | 43 + libjava/java/util/logging/XMLFormatter.h | 40 + libjava/java/util/natResourceBundle.cc | 29 - libjava/java/util/prefs/AbstractPreferences$1.h | 27 + libjava/java/util/prefs/AbstractPreferences$2.h | 28 + libjava/java/util/prefs/AbstractPreferences.h | 106 + libjava/java/util/prefs/BackingStoreException.h | 26 + .../util/prefs/InvalidPreferencesFormatException.h | 27 + libjava/java/util/prefs/NodeChangeEvent.h | 27 + libjava/java/util/prefs/NodeChangeListener.h | 20 + libjava/java/util/prefs/PreferenceChangeEvent.h | 29 + libjava/java/util/prefs/PreferenceChangeListener.h | 19 + libjava/java/util/prefs/Preferences$1.h | 21 + libjava/java/util/prefs/Preferences.h | 85 + libjava/java/util/prefs/PreferencesFactory.h | 20 + libjava/java/util/regex/MatchResult.h | 25 + libjava/java/util/regex/Matcher.h | 66 + libjava/java/util/regex/Pattern.h | 62 + libjava/java/util/regex/PatternSyntaxException.h | 29 + libjava/java/util/zip/Adler32.h | 30 + libjava/java/util/zip/CRC32.h | 33 + libjava/java/util/zip/CheckedInputStream.h | 28 + libjava/java/util/zip/CheckedOutputStream.h | 27 + libjava/java/util/zip/Checksum.h | 24 + libjava/java/util/zip/DataFormatException.h | 23 + libjava/java/util/zip/Deflater.h | 76 + libjava/java/util/zip/Deflater.java | 24 +- libjava/java/util/zip/DeflaterOutputStream.h | 34 + libjava/java/util/zip/GZIPInputStream.h | 41 + libjava/java/util/zip/GZIPOutputStream.h | 28 + libjava/java/util/zip/Inflater.h | 58 + libjava/java/util/zip/InflaterInputStream.h | 41 + libjava/java/util/zip/ZipConstants.h | 58 + libjava/java/util/zip/ZipEntry.h | 74 + libjava/java/util/zip/ZipException.h | 23 + libjava/java/util/zip/ZipFile$1.h | 26 + libjava/java/util/zip/ZipFile$PartialInputStream.h | 66 + .../java/util/zip/ZipFile$ZipEntryEnumeration.h | 25 + libjava/java/util/zip/ZipFile.h | 49 + libjava/java/util/zip/ZipInputStream.h | 50 + libjava/java/util/zip/ZipOutputStream.h | 47 + libjava/java/util/zip/natDeflater.cc | 10 +- libjava/javax/accessibility/Accessible.h | 30 + libjava/javax/accessibility/AccessibleAction.h | 34 + .../accessibility/AccessibleAttributeSequence.h | 39 + libjava/javax/accessibility/AccessibleBundle.h | 38 + libjava/javax/accessibility/AccessibleComponent.h | 73 + libjava/javax/accessibility/AccessibleContext.h | 104 + .../javax/accessibility/AccessibleEditableText.h | 63 + .../accessibility/AccessibleExtendedComponent.h | 77 + .../javax/accessibility/AccessibleExtendedTable.h | 57 + .../javax/accessibility/AccessibleExtendedText.h | 43 + libjava/javax/accessibility/AccessibleHyperlink.h | 37 + libjava/javax/accessibility/AccessibleHypertext.h | 58 + libjava/javax/accessibility/AccessibleIcon.h | 32 + libjava/javax/accessibility/AccessibleKeyBinding.h | 30 + libjava/javax/accessibility/AccessibleRelation.h | 66 + .../javax/accessibility/AccessibleRelationSet.h | 45 + .../javax/accessibility/AccessibleResourceBundle.h | 32 + libjava/javax/accessibility/AccessibleRole.h | 92 + libjava/javax/accessibility/AccessibleSelection.h | 36 + libjava/javax/accessibility/AccessibleState.h | 59 + libjava/javax/accessibility/AccessibleStateSet.h | 43 + libjava/javax/accessibility/AccessibleStreamable.h | 42 + libjava/javax/accessibility/AccessibleTable.h | 53 + .../accessibility/AccessibleTableModelChange.h | 36 + libjava/javax/accessibility/AccessibleText.h | 57 + .../javax/accessibility/AccessibleTextSequence.h | 32 + libjava/javax/accessibility/AccessibleValue.h | 32 + libjava/javax/crypto/BadPaddingException.h | 33 + libjava/javax/crypto/Cipher.h | 106 + libjava/javax/crypto/CipherInputStream.h | 53 + libjava/javax/crypto/CipherOutputStream.h | 43 + libjava/javax/crypto/CipherSpi.h | 68 + libjava/javax/crypto/EncryptedPrivateKeyInfo.h | 73 + libjava/javax/crypto/ExemptionMechanism.h | 68 + libjava/javax/crypto/ExemptionMechanismException.h | 33 + libjava/javax/crypto/ExemptionMechanismSpi.h | 51 + libjava/javax/crypto/IllegalBlockSizeException.h | 33 + libjava/javax/crypto/KeyAgreement.h | 67 + libjava/javax/crypto/KeyAgreementSpi.h | 52 + libjava/javax/crypto/KeyGenerator.h | 61 + libjava/javax/crypto/KeyGeneratorSpi.h | 47 + libjava/javax/crypto/Mac.h | 73 + libjava/javax/crypto/MacSpi.h | 56 + libjava/javax/crypto/NoSuchPaddingException.h | 33 + libjava/javax/crypto/NullCipher.h | 29 + libjava/javax/crypto/NullCipherImpl.h | 59 + libjava/javax/crypto/SealedObject.h | 59 + libjava/javax/crypto/SecretKey.h | 34 + libjava/javax/crypto/SecretKeyFactory.h | 57 + libjava/javax/crypto/SecretKeyFactorySpi.h | 45 + libjava/javax/crypto/ShortBufferException.h | 33 + libjava/javax/crypto/interfaces/DHKey.h | 36 + libjava/javax/crypto/interfaces/DHPrivateKey.h | 50 + libjava/javax/crypto/interfaces/DHPublicKey.h | 50 + libjava/javax/crypto/interfaces/PBEKey.h | 40 + libjava/javax/crypto/spec/DESKeySpec.h | 46 + libjava/javax/crypto/spec/DESedeKeySpec.h | 41 + libjava/javax/crypto/spec/DHGenParameterSpec.h | 38 + libjava/javax/crypto/spec/DHParameterSpec.h | 48 + libjava/javax/crypto/spec/DHPrivateKeySpec.h | 47 + libjava/javax/crypto/spec/DHPublicKeySpec.h | 47 + libjava/javax/crypto/spec/IvParameterSpec.h | 39 + libjava/javax/crypto/spec/PBEKeySpec.h | 52 + libjava/javax/crypto/spec/PBEParameterSpec.h | 40 + libjava/javax/crypto/spec/RC2ParameterSpec.h | 45 + libjava/javax/crypto/spec/RC5ParameterSpec.h | 48 + libjava/javax/crypto/spec/SecretKeySpec.h | 45 + libjava/javax/imageio/IIOException.h | 30 + libjava/javax/imageio/IIOImage.h | 63 + libjava/javax/imageio/IIOParam.h | 74 + libjava/javax/imageio/IIOParamController.h | 30 + libjava/javax/imageio/ImageIO$1.h | 38 + .../javax/imageio/ImageIO$ImageReaderIterator.h | 39 + .../javax/imageio/ImageIO$ImageWriterIterator.h | 39 + libjava/javax/imageio/ImageIO$ReaderFormatFilter.h | 33 + .../javax/imageio/ImageIO$ReaderMIMETypeFilter.h | 33 + libjava/javax/imageio/ImageIO$ReaderObjectFilter.h | 33 + libjava/javax/imageio/ImageIO$ReaderSuffixFilter.h | 33 + libjava/javax/imageio/ImageIO$TranscoderFilter.h | 36 + libjava/javax/imageio/ImageIO$WriterFormatFilter.h | 33 + .../javax/imageio/ImageIO$WriterMIMETypeFilter.h | 33 + libjava/javax/imageio/ImageIO$WriterObjectFilter.h | 35 + libjava/javax/imageio/ImageIO$WriterSuffixFilter.h | 33 + libjava/javax/imageio/ImageIO.h | 97 + libjava/javax/imageio/ImageReadParam.h | 61 + libjava/javax/imageio/ImageReader.h | 166 + libjava/javax/imageio/ImageTranscoder.h | 36 + libjava/javax/imageio/ImageTypeSpecifier.h | 69 + libjava/javax/imageio/ImageWriteParam.h | 102 + libjava/javax/imageio/ImageWriter.h | 140 + .../javax/imageio/event/IIOReadProgressListener.h | 41 + .../javax/imageio/event/IIOReadUpdateListener.h | 50 + .../javax/imageio/event/IIOReadWarningListener.h | 33 + .../javax/imageio/event/IIOWriteProgressListener.h | 39 + .../javax/imageio/event/IIOWriteWarningListener.h | 33 + .../imageio/metadata/IIOInvalidTreeException.h | 49 + libjava/javax/imageio/metadata/IIOMetadata.h | 87 + .../javax/imageio/metadata/IIOMetadataController.h | 33 + libjava/javax/imageio/metadata/IIOMetadataFormat.h | 82 + .../imageio/metadata/IIOMetadataFormatImpl$1.h | 35 + .../IIOMetadataFormatImpl$IIOMetadataNodeAttr.h | 60 + ...MetadataFormatImpl$IIOMetadataNodeAttrBounded.h | 53 + ...adataFormatImpl$IIOMetadataNodeAttrEnumerated.h | 51 + ...IIOMetadataFormatImpl$IIOMetadataNodeAttrList.h | 51 + .../metadata/IIOMetadataFormatImpl$NodeObject.h | 57 + .../IIOMetadataFormatImpl$NodeObjectArray.h | 51 + .../IIOMetadataFormatImpl$NodeObjectBounded.h | 53 + .../IIOMetadataFormatImpl$NodeObjectEnumerated.h | 51 + .../javax/imageio/metadata/IIOMetadataFormatImpl.h | 105 + .../metadata/IIOMetadataNode$IIONamedNodeMap.h | 55 + .../imageio/metadata/IIOMetadataNode$IIONodeList.h | 50 + libjava/javax/imageio/metadata/IIOMetadataNode.h | 121 + .../javax/imageio/plugins/bmp/BMPImageWriteParam.h | 50 + .../javax/imageio/plugins/jpeg/JPEGHuffmanTable.h | 53 + .../imageio/plugins/jpeg/JPEGImageReadParam.h | 50 + .../imageio/plugins/jpeg/JPEGImageWriteParam.h | 60 + libjava/javax/imageio/plugins/jpeg/JPEGQTable.h | 51 + libjava/javax/imageio/spi/IIORegistry.h | 40 + libjava/javax/imageio/spi/IIOServiceProvider.h | 43 + libjava/javax/imageio/spi/ImageInputStreamSpi.h | 46 + libjava/javax/imageio/spi/ImageOutputStreamSpi.h | 46 + libjava/javax/imageio/spi/ImageReaderSpi.h | 48 + libjava/javax/imageio/spi/ImageReaderWriterSpi.h | 67 + libjava/javax/imageio/spi/ImageTranscoderSpi.h | 38 + libjava/javax/imageio/spi/ImageWriterSpi.h | 61 + libjava/javax/imageio/spi/RegisterableService.h | 34 + libjava/javax/imageio/spi/ServiceRegistry$1.h | 41 + libjava/javax/imageio/spi/ServiceRegistry$2.h | 40 + libjava/javax/imageio/spi/ServiceRegistry$Filter.h | 32 + libjava/javax/imageio/spi/ServiceRegistry.h | 70 + .../imageio/stream/FileCacheImageInputStream.h | 47 + .../imageio/stream/FileCacheImageOutputStream.h | 49 + .../javax/imageio/stream/FileImageInputStream.h | 43 + .../javax/imageio/stream/FileImageOutputStream.h | 45 + libjava/javax/imageio/stream/IIOByteBuffer.h | 45 + libjava/javax/imageio/stream/ImageInputStream.h | 86 + .../javax/imageio/stream/ImageInputStreamImpl.h | 105 + libjava/javax/imageio/stream/ImageOutputStream.h | 108 + .../javax/imageio/stream/ImageOutputStreamImpl.h | 59 + .../imageio/stream/MemoryCacheImageInputStream.h | 47 + .../imageio/stream/MemoryCacheImageOutputStream.h | 46 + libjava/javax/management/Attribute.h | 39 + libjava/javax/management/AttributeList.h | 40 + .../javax/management/AttributeNotFoundException.h | 30 + .../management/BadAttributeValueExpException.h | 34 + .../management/BadBinaryOpValueExpException.h | 36 + .../javax/management/BadStringOperationException.h | 34 + libjava/javax/management/DynamicMBean.h | 39 + .../management/InstanceAlreadyExistsException.h | 33 + .../javax/management/InstanceNotFoundException.h | 33 + libjava/javax/management/IntrospectionException.h | 33 + .../javax/management/InvalidApplicationException.h | 34 + .../management/InvalidAttributeValueException.h | 30 + libjava/javax/management/JMException.h | 30 + libjava/javax/management/JMRuntimeException.h | 30 + .../javax/management/ListenerNotFoundException.h | 33 + libjava/javax/management/MBeanAttributeInfo.h | 44 + libjava/javax/management/MBeanConstructorInfo.h | 42 + libjava/javax/management/MBeanException.h | 36 + libjava/javax/management/MBeanFeatureInfo.h | 42 + libjava/javax/management/MBeanInfo.h | 55 + libjava/javax/management/MBeanNotificationInfo.h | 40 + libjava/javax/management/MBeanOperationInfo.h | 52 + libjava/javax/management/MBeanParameterInfo.h | 38 + .../javax/management/MBeanPermission$NameHolder.h | 42 + libjava/javax/management/MBeanPermission.h | 53 + libjava/javax/management/MBeanRegistration.h | 34 + .../javax/management/MBeanRegistrationException.h | 33 + libjava/javax/management/MBeanServer.h | 78 + libjava/javax/management/MBeanServerBuilder.h | 33 + libjava/javax/management/MBeanServerConnection.h | 63 + libjava/javax/management/MBeanServerDelegate.h | 52 + .../javax/management/MBeanServerDelegateMBean.h | 35 + libjava/javax/management/MBeanServerFactory.h | 49 + libjava/javax/management/MBeanServerNotification.h | 39 + ...onCollection$MBeanServerPermissionEnumeration.h | 39 + ...verPermission$MBeanServerPermissionCollection.h | 48 + libjava/javax/management/MBeanServerPermission.h | 46 + libjava/javax/management/MBeanTrustPermission.h | 33 + .../management/MalformedObjectNameException.h | 33 + .../javax/management/NotCompliantMBeanException.h | 33 + libjava/javax/management/Notification.h | 52 + libjava/javax/management/NotificationBroadcaster.h | 36 + libjava/javax/management/NotificationEmitter.h | 37 + libjava/javax/management/NotificationFilter.h | 30 + libjava/javax/management/NotificationListener.h | 30 + libjava/javax/management/ObjectInstance.h | 40 + libjava/javax/management/ObjectName.h | 62 + libjava/javax/management/OperationsException.h | 33 + libjava/javax/management/QueryExp.h | 32 + libjava/javax/management/ReflectionException.h | 36 + libjava/javax/management/RuntimeErrorException.h | 36 + libjava/javax/management/RuntimeMBeanException.h | 36 + .../javax/management/RuntimeOperationsException.h | 36 + .../javax/management/ServiceNotFoundException.h | 33 + libjava/javax/management/StandardMBean.h | 76 + libjava/javax/management/ValueExp.h | 32 + .../management/loading/ClassLoaderRepository.h | 34 + libjava/javax/management/openmbean/ArrayType.h | 47 + libjava/javax/management/openmbean/CompositeData.h | 43 + .../management/openmbean/CompositeDataSupport.h | 50 + libjava/javax/management/openmbean/CompositeType.h | 50 + .../management/openmbean/InvalidKeyException.h | 36 + .../openmbean/InvalidOpenTypeException.h | 36 + .../openmbean/KeyAlreadyExistsException.h | 36 + .../javax/management/openmbean/OpenDataException.h | 36 + .../management/openmbean/OpenMBeanAttributeInfo.h | 50 + .../openmbean/OpenMBeanAttributeInfoSupport.h | 61 + .../openmbean/OpenMBeanConstructorInfo.h | 40 + .../openmbean/OpenMBeanConstructorInfoSupport.h | 43 + libjava/javax/management/openmbean/OpenMBeanInfo.h | 46 + .../management/openmbean/OpenMBeanInfoSupport.h | 46 + .../management/openmbean/OpenMBeanOperationInfo.h | 44 + .../openmbean/OpenMBeanOperationInfoSupport.h | 46 + .../management/openmbean/OpenMBeanParameterInfo.h | 47 + .../openmbean/OpenMBeanParameterInfoSupport.h | 61 + libjava/javax/management/openmbean/OpenType.h | 50 + libjava/javax/management/openmbean/SimpleType.h | 56 + libjava/javax/management/openmbean/TabularData.h | 51 + .../management/openmbean/TabularDataSupport.h | 72 + libjava/javax/management/openmbean/TabularType.h | 48 + libjava/javax/naming/AuthenticationException.h | 33 + .../naming/AuthenticationNotSupportedException.h | 33 + libjava/javax/naming/BinaryRefAddr.h | 42 + libjava/javax/naming/Binding.h | 40 + libjava/javax/naming/CannotProceedException.h | 48 + libjava/javax/naming/CommunicationException.h | 33 + libjava/javax/naming/CompositeName.h | 58 + libjava/javax/naming/CompoundName.h | 77 + libjava/javax/naming/ConfigurationException.h | 33 + libjava/javax/naming/Context.h | 75 + libjava/javax/naming/ContextNotEmptyException.h | 33 + libjava/javax/naming/InitialContext.h | 85 + .../javax/naming/InsufficientResourcesException.h | 33 + libjava/javax/naming/InterruptedNamingException.h | 33 + libjava/javax/naming/InvalidNameException.h | 33 + libjava/javax/naming/LimitExceededException.h | 33 + libjava/javax/naming/LinkException.h | 49 + libjava/javax/naming/LinkLoopException.h | 33 + libjava/javax/naming/LinkRef.h | 35 + libjava/javax/naming/MalformedLinkException.h | 33 + libjava/javax/naming/Name.h | 44 + libjava/javax/naming/NameAlreadyBoundException.h | 33 + libjava/javax/naming/NameClassPair.h | 46 + libjava/javax/naming/NameNotFoundException.h | 33 + libjava/javax/naming/NameParser.h | 30 + libjava/javax/naming/NamingEnumeration.h | 33 + libjava/javax/naming/NamingException.h | 55 + libjava/javax/naming/NamingSecurityException.h | 33 + libjava/javax/naming/NoInitialContextException.h | 33 + libjava/javax/naming/NoPermissionException.h | 33 + libjava/javax/naming/NotContextException.h | 33 + .../javax/naming/OperationNotSupportedException.h | 33 + libjava/javax/naming/PartialResultException.h | 33 + libjava/javax/naming/RefAddr.h | 38 + libjava/javax/naming/Reference.h | 59 + libjava/javax/naming/Referenceable.h | 30 + libjava/javax/naming/ReferralException.h | 40 + libjava/javax/naming/ServiceUnavailableException.h | 33 + libjava/javax/naming/SizeLimitExceededException.h | 33 + libjava/javax/naming/StringRefAddr.h | 34 + libjava/javax/naming/TimeLimitExceededException.h | 33 + libjava/javax/naming/directory/Attribute.h | 50 + .../naming/directory/AttributeInUseException.h | 36 + .../directory/AttributeModificationException.h | 43 + libjava/javax/naming/directory/Attributes.h | 42 + .../BasicAttribute$BasicAttributeEnumeration.h | 42 + libjava/javax/naming/directory/BasicAttribute.h | 67 + .../BasicAttributes$BasicAttributesEnumeration.h | 43 + libjava/javax/naming/directory/BasicAttributes.h | 57 + libjava/javax/naming/directory/DirContext.h | 98 + libjava/javax/naming/directory/InitialDirContext.h | 74 + .../InvalidAttributeIdentifierException.h | 36 + .../directory/InvalidAttributeValueException.h | 36 + .../naming/directory/InvalidAttributesException.h | 36 + .../directory/InvalidSearchControlsException.h | 36 + .../directory/InvalidSearchFilterException.h | 36 + libjava/javax/naming/directory/ModificationItem.h | 41 + .../naming/directory/NoSuchAttributeException.h | 36 + .../naming/directory/SchemaViolationException.h | 36 + libjava/javax/naming/directory/SearchControls.h | 61 + libjava/javax/naming/directory/SearchResult.h | 43 + libjava/javax/naming/event/EventContext.h | 72 + libjava/javax/naming/event/EventDirContext.h | 108 + .../javax/naming/event/NamespaceChangeListener.h | 37 + libjava/javax/naming/event/NamingEvent.h | 54 + libjava/javax/naming/event/NamingExceptionEvent.h | 42 + libjava/javax/naming/event/NamingListener.h | 33 + libjava/javax/naming/event/ObjectChangeListener.h | 35 + libjava/javax/naming/ldap/Control.h | 38 + libjava/javax/naming/ldap/ControlFactory.h | 37 + libjava/javax/naming/ldap/ExtendedRequest.h | 37 + libjava/javax/naming/ldap/ExtendedResponse.h | 35 + libjava/javax/naming/ldap/HasControls.h | 35 + libjava/javax/naming/ldap/InitialLdapContext.h | 49 + libjava/javax/naming/ldap/LdapContext.h | 110 + libjava/javax/naming/ldap/LdapReferralException.h | 41 + libjava/javax/naming/ldap/StartTlsRequest.h | 42 + libjava/javax/naming/ldap/StartTlsResponse.h | 55 + .../javax/naming/ldap/UnsolicitedNotification.h | 40 + .../naming/ldap/UnsolicitedNotificationEvent.h | 40 + .../naming/ldap/UnsolicitedNotificationListener.h | 38 + libjava/javax/naming/spi/DirObjectFactory.h | 39 + libjava/javax/naming/spi/DirStateFactory$Result.h | 42 + libjava/javax/naming/spi/DirStateFactory.h | 40 + libjava/javax/naming/spi/DirectoryManager.h | 49 + libjava/javax/naming/spi/InitialContextFactory.h | 33 + .../naming/spi/InitialContextFactoryBuilder.h | 33 + libjava/javax/naming/spi/NamingManager.h | 59 + libjava/javax/naming/spi/NamingManager.java | 654 - libjava/javax/naming/spi/ObjectFactory.h | 34 + libjava/javax/naming/spi/ObjectFactoryBuilder.h | 33 + libjava/javax/naming/spi/ResolveResult.h | 48 + libjava/javax/naming/spi/Resolver.h | 35 + libjava/javax/naming/spi/StateFactory.h | 34 + libjava/javax/net/ServerSocketFactory.h | 43 + libjava/javax/net/SocketFactory.h | 44 + libjava/javax/net/VanillaServerSocketFactory.h | 42 + libjava/javax/net/VanillaSocketFactory.h | 43 + .../javax/net/ssl/CertPathTrustManagerParameters.h | 46 + libjava/javax/net/ssl/HandshakeCompletedEvent.h | 66 + libjava/javax/net/ssl/HandshakeCompletedListener.h | 33 + libjava/javax/net/ssl/HostnameVerifier.h | 33 + libjava/javax/net/ssl/HttpsURLConnection.h | 73 + libjava/javax/net/ssl/KeyManager.h | 31 + libjava/javax/net/ssl/KeyManagerFactory$1.h | 34 + libjava/javax/net/ssl/KeyManagerFactory.h | 62 + libjava/javax/net/ssl/KeyManagerFactorySpi.h | 48 + libjava/javax/net/ssl/KeyStoreBuilderParameters.h | 32 + libjava/javax/net/ssl/ManagerFactoryParameters.h | 31 + libjava/javax/net/ssl/SSLContext.h | 68 + libjava/javax/net/ssl/SSLContextSpi.h | 56 + libjava/javax/net/ssl/SSLEngine.h | 80 + .../net/ssl/SSLEngineResult$HandshakeStatus.h | 44 + libjava/javax/net/ssl/SSLEngineResult$Status.h | 43 + libjava/javax/net/ssl/SSLEngineResult.h | 45 + libjava/javax/net/ssl/SSLException.h | 37 + libjava/javax/net/ssl/SSLHandshakeException.h | 32 + libjava/javax/net/ssl/SSLKeyException.h | 32 + libjava/javax/net/ssl/SSLPeerUnverifiedException.h | 32 + libjava/javax/net/ssl/SSLPermission.h | 36 + libjava/javax/net/ssl/SSLProtocolException.h | 32 + libjava/javax/net/ssl/SSLServerSocket.h | 59 + libjava/javax/net/ssl/SSLServerSocketFactory.h | 43 + libjava/javax/net/ssl/SSLSession.h | 73 + libjava/javax/net/ssl/SSLSessionBindingEvent.h | 39 + libjava/javax/net/ssl/SSLSessionBindingListener.h | 34 + libjava/javax/net/ssl/SSLSessionContext.h | 40 + libjava/javax/net/ssl/SSLSocket.h | 66 + libjava/javax/net/ssl/SSLSocketFactory.h | 50 + libjava/javax/net/ssl/TrivialHostnameVerifier.h | 35 + libjava/javax/net/ssl/TrustManager.h | 31 + libjava/javax/net/ssl/TrustManagerFactory$1.h | 34 + libjava/javax/net/ssl/TrustManagerFactory.h | 62 + libjava/javax/net/ssl/TrustManagerFactorySpi.h | 48 + libjava/javax/net/ssl/X509ExtendedKeyManager.h | 60 + libjava/javax/net/ssl/X509KeyManager.h | 55 + libjava/javax/net/ssl/X509TrustManager.h | 46 + libjava/javax/print/AttributeException.h | 36 + libjava/javax/print/CancelablePrintJob.h | 48 + libjava/javax/print/Doc.h | 38 + libjava/javax/print/DocFlavor$BYTE_ARRAY.h | 51 + libjava/javax/print/DocFlavor$CHAR_ARRAY.h | 34 + libjava/javax/print/DocFlavor$INPUT_STREAM.h | 51 + libjava/javax/print/DocFlavor$READER.h | 34 + libjava/javax/print/DocFlavor$SERVICE_FORMATTED.h | 35 + libjava/javax/print/DocFlavor$STRING.h | 34 + libjava/javax/print/DocFlavor$URL.h | 51 + libjava/javax/print/DocFlavor.h | 52 + libjava/javax/print/DocPrintJob.h | 47 + libjava/javax/print/FlavorException.h | 32 + libjava/javax/print/MultiDoc.h | 31 + libjava/javax/print/MultiDocPrintJob.h | 49 + libjava/javax/print/MultiDocPrintService.h | 61 + libjava/javax/print/PrintException.h | 32 + libjava/javax/print/PrintService.h | 61 + libjava/javax/print/PrintServiceLookup.h | 62 + libjava/javax/print/ServiceUI.h | 45 + libjava/javax/print/ServiceUIFactory.h | 41 + libjava/javax/print/SimpleDoc.h | 46 + libjava/javax/print/StreamPrintService.h | 69 + libjava/javax/print/StreamPrintServiceFactory.h | 37 + libjava/javax/print/URIException.h | 40 + libjava/javax/print/attribute/Attribute.h | 33 + libjava/javax/print/attribute/AttributeSet.h | 47 + ...ttributeSetUtilities$SynchronizedAttributeSet.h | 52 + ...ibuteSetUtilities$SynchronizedDocAttributeSet.h | 33 + ...SetUtilities$SynchronizedPrintJobAttributeSet.h | 33 + ...tilities$SynchronizedPrintRequestAttributeSet.h | 33 + ...tilities$SynchronizedPrintServiceAttributeSet.h | 33 + ...ttributeSetUtilities$UnmodifiableAttributeSet.h | 52 + ...ibuteSetUtilities$UnmodifiableDocAttributeSet.h | 33 + ...SetUtilities$UnmodifiablePrintJobAttributeSet.h | 33 + ...tilities$UnmodifiablePrintRequestAttributeSet.h | 33 + ...tilities$UnmodifiablePrintServiceAttributeSet.h | 33 + .../javax/print/attribute/AttributeSetUtilities.h | 51 + libjava/javax/print/attribute/DateTimeSyntax.h | 41 + libjava/javax/print/attribute/DocAttribute.h | 33 + libjava/javax/print/attribute/DocAttributeSet.h | 46 + libjava/javax/print/attribute/EnumSyntax.h | 48 + libjava/javax/print/attribute/HashAttributeSet.h | 71 + .../javax/print/attribute/HashDocAttributeSet.h | 42 + .../print/attribute/HashPrintJobAttributeSet.h | 42 + .../print/attribute/HashPrintRequestAttributeSet.h | 42 + .../print/attribute/HashPrintServiceAttributeSet.h | 42 + libjava/javax/print/attribute/IntegerSyntax.h | 41 + libjava/javax/print/attribute/PrintJobAttribute.h | 33 + .../javax/print/attribute/PrintJobAttributeSet.h | 46 + .../javax/print/attribute/PrintRequestAttribute.h | 33 + .../print/attribute/PrintRequestAttributeSet.h | 46 + .../javax/print/attribute/PrintServiceAttribute.h | 33 + .../print/attribute/PrintServiceAttributeSet.h | 46 + libjava/javax/print/attribute/ResolutionSyntax.h | 57 + .../javax/print/attribute/SetOfIntegerSyntax$1.h | 34 + libjava/javax/print/attribute/SetOfIntegerSyntax.h | 62 + libjava/javax/print/attribute/Size2DSyntax.h | 55 + .../print/attribute/SupportedValuesAttribute.h | 33 + libjava/javax/print/attribute/TextSyntax.h | 43 + libjava/javax/print/attribute/URISyntax.h | 48 + .../print/attribute/UnmodifiableSetException.h | 33 + .../javax/print/attribute/standard/Chromaticity.h | 53 + .../print/attribute/standard/ColorSupported.h | 53 + .../javax/print/attribute/standard/Compression.h | 55 + libjava/javax/print/attribute/standard/Copies.h | 41 + .../print/attribute/standard/CopiesSupported.h | 42 + .../print/attribute/standard/DateTimeAtCompleted.h | 41 + .../print/attribute/standard/DateTimeAtCreation.h | 41 + .../attribute/standard/DateTimeAtProcessing.h | 41 + .../javax/print/attribute/standard/Destination.h | 48 + .../javax/print/attribute/standard/DocumentName.h | 41 + libjava/javax/print/attribute/standard/Fidelity.h | 53 + .../javax/print/attribute/standard/Finishings.h | 70 + .../javax/print/attribute/standard/JobHoldUntil.h | 41 + .../print/attribute/standard/JobImpressions.h | 41 + .../attribute/standard/JobImpressionsCompleted.h | 41 + .../attribute/standard/JobImpressionsSupported.h | 41 + .../javax/print/attribute/standard/JobKOctets.h | 41 + .../print/attribute/standard/JobKOctetsProcessed.h | 41 + .../print/attribute/standard/JobKOctetsSupported.h | 41 + .../print/attribute/standard/JobMediaSheets.h | 41 + .../attribute/standard/JobMediaSheetsCompleted.h | 41 + .../attribute/standard/JobMediaSheetsSupported.h | 41 + .../attribute/standard/JobMessageFromOperator.h | 41 + libjava/javax/print/attribute/standard/JobName.h | 41 + .../attribute/standard/JobOriginatingUserName.h | 41 + .../javax/print/attribute/standard/JobPriority.h | 41 + .../attribute/standard/JobPrioritySupported.h | 41 + libjava/javax/print/attribute/standard/JobSheets.h | 53 + libjava/javax/print/attribute/standard/JobState.h | 59 + .../print/attribute/standard/JobStateReason.h | 80 + .../print/attribute/standard/JobStateReasons.h | 46 + libjava/javax/print/attribute/standard/Media.h | 42 + libjava/javax/print/attribute/standard/MediaName.h | 51 + .../print/attribute/standard/MediaPrintableArea.h | 60 + .../attribute/standard/MediaSize$Engineering.h | 41 + .../javax/print/attribute/standard/MediaSize$ISO.h | 63 + .../javax/print/attribute/standard/MediaSize$JIS.h | 71 + .../javax/print/attribute/standard/MediaSize$NA.h | 52 + .../print/attribute/standard/MediaSize$Other.h | 47 + libjava/javax/print/attribute/standard/MediaSize.h | 50 + .../javax/print/attribute/standard/MediaSizeName.h | 120 + libjava/javax/print/attribute/standard/MediaTray.h | 55 + .../attribute/standard/MultipleDocumentHandling.h | 55 + .../print/attribute/standard/NumberOfDocuments.h | 41 + .../attribute/standard/NumberOfInterveningJobs.h | 41 + libjava/javax/print/attribute/standard/NumberUp.h | 41 + .../print/attribute/standard/NumberUpSupported.h | 45 + .../attribute/standard/OrientationRequested.h | 56 + .../attribute/standard/OutputDeviceAssigned.h | 41 + .../attribute/standard/PDLOverrideSupported.h | 53 + .../javax/print/attribute/standard/PageRanges.h | 46 + .../print/attribute/standard/PagesPerMinute.h | 41 + .../print/attribute/standard/PagesPerMinuteColor.h | 41 + .../attribute/standard/PresentationDirection.h | 58 + .../javax/print/attribute/standard/PrintQuality.h | 55 + .../javax/print/attribute/standard/PrinterInfo.h | 41 + .../attribute/standard/PrinterIsAcceptingJobs.h | 53 + .../print/attribute/standard/PrinterLocation.h | 41 + .../print/attribute/standard/PrinterMakeAndModel.h | 41 + .../standard/PrinterMessageFromOperator.h | 41 + .../print/attribute/standard/PrinterMoreInfo.h | 48 + .../standard/PrinterMoreInfoManufacturer.h | 48 + .../javax/print/attribute/standard/PrinterName.h | 41 + .../print/attribute/standard/PrinterResolution.h | 41 + .../javax/print/attribute/standard/PrinterState.h | 55 + .../print/attribute/standard/PrinterStateReason.h | 84 + .../print/attribute/standard/PrinterStateReasons.h | 48 + .../javax/print/attribute/standard/PrinterURI.h | 48 + .../print/attribute/standard/QueuedJobCount.h | 41 + .../standard/ReferenceUriSchemesSupported.h | 59 + .../print/attribute/standard/RequestingUserName.h | 41 + libjava/javax/print/attribute/standard/Severity.h | 54 + .../javax/print/attribute/standard/SheetCollate.h | 53 + libjava/javax/print/attribute/standard/Sides.h | 56 + libjava/javax/print/event/PrintEvent.h | 33 + libjava/javax/print/event/PrintJobAdapter.h | 39 + libjava/javax/print/event/PrintJobAttributeEvent.h | 43 + .../javax/print/event/PrintJobAttributeListener.h | 33 + libjava/javax/print/event/PrintJobEvent.h | 47 + libjava/javax/print/event/PrintJobListener.h | 38 + .../javax/print/event/PrintServiceAttributeEvent.h | 42 + .../print/event/PrintServiceAttributeListener.h | 33 + libjava/javax/rmi/CORBA/ClassDesc.h | 38 + .../javax/rmi/CORBA/PortableRemoteObjectDelegate.h | 43 + libjava/javax/rmi/CORBA/Stub.h | 57 + libjava/javax/rmi/CORBA/StubDelegate.h | 48 + libjava/javax/rmi/CORBA/Tie.h | 62 + libjava/javax/rmi/CORBA/Util.h | 80 + libjava/javax/rmi/CORBA/UtilDelegate.h | 75 + libjava/javax/rmi/CORBA/ValueHandler.h | 55 + libjava/javax/rmi/CORBA/ValueHandlerMultiFormat.h | 57 + libjava/javax/rmi/PortableRemoteObject.h | 49 + libjava/javax/rmi/ssl/SslRMIClientSocketFactory.h | 60 + libjava/javax/rmi/ssl/SslRMIServerSocketFactory.h | 64 + libjava/javax/security/auth/AuthPermission.h | 33 + .../javax/security/auth/DestroyFailedException.h | 33 + libjava/javax/security/auth/Destroyable.h | 33 + libjava/javax/security/auth/Policy.h | 49 + .../auth/PrivateCredentialPermission$CredOwner.h | 41 + .../security/auth/PrivateCredentialPermission.h | 55 + .../javax/security/auth/RefreshFailedException.h | 33 + libjava/javax/security/auth/Refreshable.h | 33 + libjava/javax/security/auth/Subject$SecureSet.h | 56 + libjava/javax/security/auth/Subject.h | 66 + .../javax/security/auth/SubjectDomainCombiner.h | 47 + libjava/javax/security/auth/callback/Callback.h | 34 + .../javax/security/auth/callback/CallbackHandler.h | 38 + .../javax/security/auth/callback/ChoiceCallback.h | 53 + .../security/auth/callback/ConfirmationCallback.h | 72 + .../security/auth/callback/LanguageCallback.h | 40 + .../javax/security/auth/callback/NameCallback.h | 47 + .../security/auth/callback/PasswordCallback.h | 48 + .../security/auth/callback/TextInputCallback.h | 47 + .../security/auth/callback/TextOutputCallback.h | 47 + .../auth/callback/UnsupportedCallbackException.h | 41 + .../auth/kerberos/DelegationPermission$1.h | 52 + .../security/auth/kerberos/DelegationPermission.h | 49 + libjava/javax/security/auth/kerberos/KerberosKey.h | 58 + .../security/auth/kerberos/KerberosPrincipal.h | 56 + .../javax/security/auth/kerberos/KerberosTicket.h | 96 + libjava/javax/security/auth/kerberos/KeyImpl.h | 44 + .../security/auth/kerberos/ServicePermission$1.h | 52 + .../security/auth/kerberos/ServicePermission.h | 54 + .../javax/security/auth/login/AccountException.h | 39 + .../security/auth/login/AccountExpiredException.h | 39 + .../security/auth/login/AccountLockedException.h | 39 + .../security/auth/login/AccountNotFoundException.h | 39 + .../AppConfigurationEntry$LoginModuleControlFlag.h | 40 + .../security/auth/login/AppConfigurationEntry.h | 45 + .../javax/security/auth/login/Configuration$1.h | 37 + libjava/javax/security/auth/login/Configuration.h | 48 + .../security/auth/login/CredentialException.h | 39 + .../auth/login/CredentialExpiredException.h | 39 + .../auth/login/CredentialNotFoundException.h | 39 + .../security/auth/login/FailedLoginException.h | 39 + libjava/javax/security/auth/login/LoginContext.h | 66 + libjava/javax/security/auth/login/LoginException.h | 39 + .../javax/security/auth/login/NullConfiguration.h | 41 + libjava/javax/security/auth/spi/LoginModule.h | 44 + libjava/javax/security/auth/x500/X500Principal.h | 92 + .../security/auth/x500/X500PrivateCredential.h | 57 + libjava/javax/security/cert/Certificate.h | 48 + .../security/cert/CertificateEncodingException.h | 33 + libjava/javax/security/cert/CertificateException.h | 33 + .../security/cert/CertificateExpiredException.h | 33 + .../cert/CertificateNotYetValidException.h | 33 + .../security/cert/CertificateParsingException.h | 33 + libjava/javax/security/cert/X509CertBridge.h | 70 + libjava/javax/security/cert/X509Certificate.h | 58 + .../javax/security/sasl/AuthenticationException.h | 34 + libjava/javax/security/sasl/AuthorizeCallback.h | 45 + libjava/javax/security/sasl/RealmCallback.h | 33 + libjava/javax/security/sasl/RealmChoiceCallback.h | 34 + libjava/javax/security/sasl/Sasl.h | 64 + libjava/javax/security/sasl/SaslClient.h | 41 + libjava/javax/security/sasl/SaslClientFactory.h | 43 + libjava/javax/security/sasl/SaslException.h | 43 + libjava/javax/security/sasl/SaslServer.h | 41 + libjava/javax/security/sasl/SaslServerFactory.h | 43 + libjava/javax/sound/midi/ControllerEventListener.h | 33 + libjava/javax/sound/midi/Instrument.h | 39 + .../javax/sound/midi/InvalidMidiDataException.h | 36 + libjava/javax/sound/midi/MetaEventListener.h | 33 + libjava/javax/sound/midi/MetaMessage.h | 45 + libjava/javax/sound/midi/MidiChannel.h | 57 + libjava/javax/sound/midi/MidiDevice$Info.h | 46 + libjava/javax/sound/midi/MidiDevice.h | 43 + libjava/javax/sound/midi/MidiEvent.h | 40 + libjava/javax/sound/midi/MidiFileFormat.h | 45 + libjava/javax/sound/midi/MidiMessage.h | 44 + libjava/javax/sound/midi/MidiSystem.h | 71 + .../javax/sound/midi/MidiUnavailableException.h | 36 + libjava/javax/sound/midi/Patch.h | 38 + libjava/javax/sound/midi/Receiver.h | 34 + libjava/javax/sound/midi/Sequence.h | 56 + libjava/javax/sound/midi/Sequencer$SyncMode.h | 43 + libjava/javax/sound/midi/Sequencer.h | 86 + libjava/javax/sound/midi/ShortMessage.h | 69 + libjava/javax/sound/midi/Soundbank.h | 43 + libjava/javax/sound/midi/SoundbankResource.h | 43 + libjava/javax/sound/midi/Synthesizer.h | 65 + libjava/javax/sound/midi/SysexMessage.h | 43 + libjava/javax/sound/midi/Track.h | 44 + libjava/javax/sound/midi/Transmitter.h | 35 + libjava/javax/sound/midi/VoiceStatus.h | 38 + libjava/javax/sound/midi/spi/MidiDeviceProvider.h | 42 + libjava/javax/sound/midi/spi/MidiFileReader.h | 50 + libjava/javax/sound/midi/spi/MidiFileWriter.h | 44 + libjava/javax/sound/midi/spi/SoundbankReader.h | 46 + libjava/javax/sound/sampled/AudioFileFormat$Type.h | 45 + libjava/javax/sound/sampled/AudioFileFormat.h | 52 + libjava/javax/sound/sampled/AudioFormat$Encoding.h | 42 + libjava/javax/sound/sampled/AudioFormat.h | 57 + .../sampled/AudioInputStream$TargetInputStream.h | 41 + libjava/javax/sound/sampled/AudioInputStream.h | 57 + libjava/javax/sound/sampled/AudioPermission.h | 36 + libjava/javax/sound/sampled/AudioSystem.h | 88 + libjava/javax/sound/sampled/BooleanControl$Type.h | 35 + libjava/javax/sound/sampled/BooleanControl.h | 45 + libjava/javax/sound/sampled/Clip.h | 70 + libjava/javax/sound/sampled/CompoundControl$Type.h | 33 + libjava/javax/sound/sampled/CompoundControl.h | 42 + libjava/javax/sound/sampled/Control$Type.h | 39 + libjava/javax/sound/sampled/Control.h | 39 + libjava/javax/sound/sampled/DataLine$Info.h | 49 + libjava/javax/sound/sampled/DataLine.h | 60 + libjava/javax/sound/sampled/EnumControl$Type.h | 34 + libjava/javax/sound/sampled/EnumControl.h | 44 + libjava/javax/sound/sampled/FloatControl$Type.h | 42 + libjava/javax/sound/sampled/FloatControl.h | 58 + libjava/javax/sound/sampled/Line$Info.h | 38 + libjava/javax/sound/sampled/Line.h | 46 + libjava/javax/sound/sampled/LineEvent$Type.h | 43 + libjava/javax/sound/sampled/LineEvent.h | 46 + libjava/javax/sound/sampled/LineListener.h | 33 + .../javax/sound/sampled/LineUnavailableException.h | 36 + libjava/javax/sound/sampled/Mixer$Info.h | 46 + libjava/javax/sound/sampled/Mixer.h | 61 + libjava/javax/sound/sampled/Port$Info.h | 49 + libjava/javax/sound/sampled/Port.h | 46 + libjava/javax/sound/sampled/ReverbType.h | 50 + libjava/javax/sound/sampled/SourceDataLine.h | 63 + libjava/javax/sound/sampled/TargetDataLine.h | 63 + .../sound/sampled/UnsupportedAudioFileException.h | 36 + libjava/javax/sound/sampled/spi/AudioFileReader.h | 50 + libjava/javax/sound/sampled/spi/AudioFileWriter.h | 45 + .../sound/sampled/spi/FormatConversionProvider.h | 50 + libjava/javax/sound/sampled/spi/MixerProvider.h | 42 + libjava/javax/sql/ConnectionEvent.h | 43 + libjava/javax/sql/ConnectionEventListener.h | 31 + libjava/javax/sql/ConnectionPoolDataSource.h | 35 + libjava/javax/sql/DataSource.h | 41 + libjava/javax/sql/PooledConnection.h | 40 + libjava/javax/sql/RowSet.h | 252 + libjava/javax/sql/RowSetEvent.h | 30 + libjava/javax/sql/RowSetInternal.h | 44 + libjava/javax/sql/RowSetListener.h | 32 + libjava/javax/sql/RowSetMetaData.h | 66 + libjava/javax/sql/RowSetReader.h | 30 + libjava/javax/sql/RowSetWriter.h | 30 + libjava/javax/sql/XAConnection.h | 48 + libjava/javax/sql/XADataSource.h | 35 + libjava/javax/swing/AbstractAction.h | 77 + libjava/javax/swing/AbstractButton$1.h | 42 + libjava/javax/swing/AbstractButton$2.h | 42 + libjava/javax/swing/AbstractButton$3.h | 45 + .../AbstractButton$AccessibleAbstractButton.h | 84 + .../swing/AbstractButton$ButtonChangeListener.h | 41 + libjava/javax/swing/AbstractButton$EventHandler.h | 52 + libjava/javax/swing/AbstractButton.h | 227 + libjava/javax/swing/AbstractCellEditor.h | 55 + libjava/javax/swing/AbstractListModel.h | 52 + libjava/javax/swing/AbstractSpinnerModel.h | 53 + libjava/javax/swing/Action.h | 57 + libjava/javax/swing/ActionMap.h | 46 + libjava/javax/swing/BorderFactory.h | 68 + libjava/javax/swing/BoundedRangeModel.h | 45 + libjava/javax/swing/Box$AccessibleBox.h | 41 + .../javax/swing/Box$Filler$AccessibleBoxFiller.h | 41 + libjava/javax/swing/Box$Filler.h | 51 + libjava/javax/swing/Box.h | 55 + libjava/javax/swing/BoxLayout.h | 76 + libjava/javax/swing/ButtonGroup.h | 48 + libjava/javax/swing/ButtonModel.h | 68 + libjava/javax/swing/CellEditor.h | 39 + .../CellRendererPane$AccessibleCellRendererPane.h | 41 + libjava/javax/swing/CellRendererPane.h | 58 + libjava/javax/swing/ComboBoxEditor.h | 45 + libjava/javax/swing/ComboBoxModel.h | 38 + .../swing/CompatibilityFocusTraversalPolicy.h | 53 + libjava/javax/swing/ComponentInputMap.h | 40 + libjava/javax/swing/DebugGraphics.h | 132 + libjava/javax/swing/DefaultBoundedRangeModel.h | 71 + libjava/javax/swing/DefaultButtonModel.h | 99 + .../javax/swing/DefaultCellEditor$EditorDelegate.h | 61 + .../swing/DefaultCellEditor$JCheckBoxDelegate.h | 39 + .../swing/DefaultCellEditor$JComboBoxDelegate.h | 40 + .../swing/DefaultCellEditor$JTextFieldDelegate.h | 39 + libjava/javax/swing/DefaultCellEditor.h | 62 + libjava/javax/swing/DefaultComboBoxModel.h | 48 + libjava/javax/swing/DefaultDesktopManager.h | 73 + libjava/javax/swing/DefaultFocusManager.h | 52 + .../swing/DefaultListCellRenderer$UIResource.h | 29 + libjava/javax/swing/DefaultListCellRenderer.h | 63 + libjava/javax/swing/DefaultListModel.h | 67 + libjava/javax/swing/DefaultListSelectionModel.h | 86 + libjava/javax/swing/DefaultSingleSelectionModel.h | 56 + libjava/javax/swing/DesktopManager.h | 45 + .../swing/FocusManager$WrappingFocusManager.h | 93 + libjava/javax/swing/FocusManager.h | 34 + libjava/javax/swing/GrayFilter.h | 42 + libjava/javax/swing/Icon.h | 39 + libjava/javax/swing/ImageIcon$1.h | 30 + .../javax/swing/ImageIcon$AccessibleImageIcon.h | 53 + libjava/javax/swing/ImageIcon.h | 90 + libjava/javax/swing/InputMap.h | 46 + libjava/javax/swing/InputVerifier.h | 32 + .../swing/InternalFrameFocusTraversalPolicy.h | 38 + libjava/javax/swing/JApplet$AccessibleJApplet.h | 33 + libjava/javax/swing/JApplet.h | 88 + libjava/javax/swing/JButton$AccessibleJButton.h | 39 + libjava/javax/swing/JButton.h | 56 + .../javax/swing/JCheckBox$AccessibleJCheckBox.h | 39 + libjava/javax/swing/JCheckBox.h | 57 + ...JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.h | 41 + libjava/javax/swing/JCheckBoxMenuItem.h | 58 + .../swing/JColorChooser$AccessibleJColorChooser.h | 41 + .../swing/JColorChooser$DefaultOKCancelListener.h | 44 + .../swing/JColorChooser$DefaultResetListener.h | 46 + libjava/javax/swing/JColorChooser.h | 102 + libjava/javax/swing/JComboBox$1.h | 42 + .../javax/swing/JComboBox$AccessibleJComboBox.h | 57 + .../swing/JComboBox$DefaultKeySelectionManager.h | 36 + .../javax/swing/JComboBox$KeySelectionManager.h | 30 + libjava/javax/swing/JComboBox.h | 164 + libjava/javax/swing/JComponent$1.h | 35 + ...cessibleJComponent$AccessibleContainerHandler.h | 46 + ...t$AccessibleJComponent$AccessibleFocusHandler.h | 46 + .../javax/swing/JComponent$AccessibleJComponent.h | 79 + .../javax/swing/JComponent$ActionListenerProxy.h | 45 + libjava/javax/swing/JComponent.h | 297 + .../swing/JDesktopPane$AccessibleJDesktopPane.h | 41 + libjava/javax/swing/JDesktopPane.h | 82 + libjava/javax/swing/JDialog$AccessibleJDialog.h | 33 + libjava/javax/swing/JDialog.h | 112 + libjava/javax/swing/JEditorPane$1.h | 40 + libjava/javax/swing/JEditorPane$2.h | 35 + .../swing/JEditorPane$AccessibleJEditorPane.h | 40 + .../swing/JEditorPane$AccessibleJEditorPaneHTML.h | 39 + libjava/javax/swing/JEditorPane$EditorKitMapping.h | 32 + ...EditorPaneAccessibleHypertextSupport$HTMLLink.h | 46 + ...torPane$JEditorPaneAccessibleHypertextSupport.h | 42 + libjava/javax/swing/JEditorPane$PageLoader.h | 56 + libjava/javax/swing/JEditorPane$PageStream.h | 47 + libjava/javax/swing/JEditorPane$PlainEditorKit.h | 37 + libjava/javax/swing/JEditorPane.h | 113 + libjava/javax/swing/JFileChooser$1.h | 45 + .../swing/JFileChooser$AccessibleJFileChooser.h | 39 + libjava/javax/swing/JFileChooser.h | 197 + .../swing/JFormattedTextField$AbstractFormatter.h | 57 + .../JFormattedTextField$AbstractFormatterFactory.h | 32 + libjava/javax/swing/JFormattedTextField.h | 98 + libjava/javax/swing/JFrame$AccessibleJFrame.h | 33 + libjava/javax/swing/JFrame.h | 105 + .../JInternalFrame$AccessibleJInternalFrame.h | 48 + ...rnalFrame$JDesktopIcon$AccessibleJDesktopIcon.h | 47 + libjava/javax/swing/JInternalFrame$JDesktopIcon.h | 52 + libjava/javax/swing/JInternalFrame.h | 192 + libjava/javax/swing/JLabel$AccessibleJLabel.h | 66 + libjava/javax/swing/JLabel.h | 108 + .../swing/JLayeredPane$AccessibleJLayeredPane.h | 39 + libjava/javax/swing/JLayeredPane.h | 89 + libjava/javax/swing/JList$1.h | 40 + libjava/javax/swing/JList$2.h | 38 + libjava/javax/swing/JList$3.h | 38 + .../JList$AccessibleJList$AccessibleJListChild.h | 101 + libjava/javax/swing/JList$AccessibleJList.h | 72 + libjava/javax/swing/JList$ListListener.h | 43 + libjava/javax/swing/JList.h | 162 + libjava/javax/swing/JMenu$AccessibleJMenu.h | 53 + libjava/javax/swing/JMenu$ActionChangedListener.h | 44 + libjava/javax/swing/JMenu$MenuChangeListener.h | 42 + libjava/javax/swing/JMenu$WinListener.h | 47 + libjava/javax/swing/JMenu.h | 141 + libjava/javax/swing/JMenuBar$AccessibleJMenuBar.h | 51 + libjava/javax/swing/JMenuBar.h | 100 + libjava/javax/swing/JMenuItem$1.h | 42 + .../javax/swing/JMenuItem$AccessibleJMenuItem.h | 50 + libjava/javax/swing/JMenuItem.h | 120 + libjava/javax/swing/JOptionPane$1.h | 30 + libjava/javax/swing/JOptionPane$2.h | 30 + .../swing/JOptionPane$AccessibleJOptionPane.h | 41 + .../javax/swing/JOptionPane$ValuePropertyHandler.h | 42 + libjava/javax/swing/JOptionPane.h | 167 + libjava/javax/swing/JPanel$AccessibleJPanel.h | 39 + libjava/javax/swing/JPanel.h | 55 + .../JPasswordField$AccessibleJPasswordField.h | 41 + libjava/javax/swing/JPasswordField.h | 62 + libjava/javax/swing/JPopupMenu$1.h | 35 + libjava/javax/swing/JPopupMenu$2.h | 37 + .../javax/swing/JPopupMenu$AccessibleJPopupMenu.h | 41 + .../javax/swing/JPopupMenu$ActionChangeListener.h | 42 + libjava/javax/swing/JPopupMenu$Separator.h | 30 + libjava/javax/swing/JPopupMenu.h | 148 + libjava/javax/swing/JProgressBar$1.h | 39 + .../swing/JProgressBar$AccessibleJProgressBar.h | 49 + libjava/javax/swing/JProgressBar.h | 107 + .../swing/JRadioButton$AccessibleJRadioButton.h | 41 + libjava/javax/swing/JRadioButton.h | 51 + ...ButtonMenuItem$AccessibleJRadioButtonMenuItem.h | 41 + libjava/javax/swing/JRadioButtonMenuItem.h | 52 + .../javax/swing/JRootPane$AccessibleJRootPane.h | 41 + libjava/javax/swing/JRootPane$RootLayout.h | 60 + libjava/javax/swing/JRootPane.h | 103 + .../javax/swing/JScrollBar$AccessibleJScrollBar.h | 49 + .../swing/JScrollBar$ScrollBarChangeListener.h | 39 + libjava/javax/swing/JScrollBar.h | 107 + .../swing/JScrollPane$AccessibleJScrollPane.h | 50 + libjava/javax/swing/JScrollPane$ScrollBar.h | 37 + libjava/javax/swing/JScrollPane.h | 116 + .../javax/swing/JSeparator$AccessibleJSeparator.h | 41 + libjava/javax/swing/JSeparator.h | 52 + libjava/javax/swing/JSlider$1.h | 39 + libjava/javax/swing/JSlider$AccessibleJSlider.h | 49 + libjava/javax/swing/JSlider$LabelUIResource.h | 32 + libjava/javax/swing/JSlider.h | 120 + libjava/javax/swing/JSpinner$DateEditor.h | 44 + libjava/javax/swing/JSpinner$DateEditorFormatter.h | 30 + libjava/javax/swing/JSpinner$DefaultEditor.h | 66 + libjava/javax/swing/JSpinner$ListEditor.h | 32 + libjava/javax/swing/JSpinner$ModelListener.h | 38 + libjava/javax/swing/JSpinner$NumberEditor.h | 44 + .../javax/swing/JSpinner$NumberEditorFormatter.h | 30 + libjava/javax/swing/JSpinner.h | 66 + .../javax/swing/JSplitPane$AccessibleJSplitPane.h | 49 + libjava/javax/swing/JSplitPane.h | 124 + .../swing/JTabbedPane$AccessibleJTabbedPane.h | 65 + libjava/javax/swing/JTabbedPane$ModelListener.h | 41 + libjava/javax/swing/JTabbedPane$Page.h | 91 + libjava/javax/swing/JTabbedPane.h | 148 + .../JTable$AccessibleJTable$AccessibleJTableCell.h | 97 + ...e$AccessibleJTable$AccessibleJTableHeaderCell.h | 101 + ...$AccessibleJTable$AccessibleJTableModelChange.h | 45 + ...JTable$AccessibleJTable$AccessibleTableHeader.h | 70 + libjava/javax/swing/JTable$AccessibleJTable.h | 121 + libjava/javax/swing/JTable$BooleanCellRenderer.h | 46 + libjava/javax/swing/JTable$DateCellRenderer.h | 42 + libjava/javax/swing/JTable$DoubleCellRenderer.h | 41 + libjava/javax/swing/JTable$FloatCellRenderer.h | 41 + libjava/javax/swing/JTable$IconCellRenderer.h | 42 + libjava/javax/swing/JTable$NumberCellRenderer.h | 33 + .../JTable$TableColumnPropertyChangeHandler.h | 42 + libjava/javax/swing/JTable$TableTextField.h | 32 + libjava/javax/swing/JTable.h | 294 + .../javax/swing/JTextArea$AccessibleJTextArea.h | 39 + libjava/javax/swing/JTextArea.h | 90 + libjava/javax/swing/JTextField$1.h | 41 + libjava/javax/swing/JTextField$2.h | 42 + .../javax/swing/JTextField$AccessibleJTextField.h | 41 + libjava/javax/swing/JTextField.h | 108 + libjava/javax/swing/JTextPane.h | 73 + .../swing/JToggleButton$AccessibleJToggleButton.h | 51 + .../javax/swing/JToggleButton$ToggleButtonModel.h | 35 + libjava/javax/swing/JToggleButton.h | 51 + libjava/javax/swing/JToolBar$AccessibleJToolBar.h | 43 + .../javax/swing/JToolBar$DefaultToolBarLayout.h | 48 + libjava/javax/swing/JToolBar$Separator.h | 46 + libjava/javax/swing/JToolBar.h | 95 + libjava/javax/swing/JToolTip$AccessibleJToolTip.h | 42 + libjava/javax/swing/JToolTip.h | 57 + .../JTree$AccessibleJTree$AccessibleJTreeNode.h | 140 + libjava/javax/swing/JTree$AccessibleJTree.h | 74 + libjava/javax/swing/JTree$DynamicUtilTreeNode.h | 47 + libjava/javax/swing/JTree$EmptySelectionModel.h | 45 + libjava/javax/swing/JTree$TreeModelHandler.h | 42 + .../javax/swing/JTree$TreeSelectionRedirector.h | 41 + libjava/javax/swing/JTree.h | 270 + .../javax/swing/JViewport$AccessibleJViewport.h | 39 + libjava/javax/swing/JViewport$ViewListener.h | 47 + libjava/javax/swing/JViewport.h | 132 + libjava/javax/swing/JWindow$AccessibleJWindow.h | 33 + libjava/javax/swing/JWindow.h | 95 + libjava/javax/swing/KeyStroke.h | 50 + libjava/javax/swing/KeyboardManager.h | 65 + .../LayoutFocusTraversalPolicy$LayoutComparator.h | 30 + libjava/javax/swing/LayoutFocusTraversalPolicy.h | 32 + libjava/javax/swing/ListCellRenderer.h | 37 + libjava/javax/swing/ListModel.h | 36 + libjava/javax/swing/ListSelectionModel.h | 55 + libjava/javax/swing/LookAndFeel$1.h | 42 + libjava/javax/swing/LookAndFeel.h | 68 + libjava/javax/swing/MenuElement.h | 48 + libjava/javax/swing/MenuSelectionManager.h | 74 + libjava/javax/swing/MutableComboBoxModel.h | 42 + libjava/javax/swing/OverlayLayout.h | 66 + libjava/javax/swing/Popup$JWindowPopup.h | 44 + libjava/javax/swing/Popup$LightweightPopup.h | 49 + libjava/javax/swing/Popup.h | 40 + libjava/javax/swing/PopupFactory.h | 43 + libjava/javax/swing/ProgressMonitor$1.h | 45 + .../javax/swing/ProgressMonitor$TimerListener.h | 48 + libjava/javax/swing/ProgressMonitor.h | 78 + libjava/javax/swing/ProgressMonitorInputStream.h | 53 + libjava/javax/swing/Renderer.h | 37 + libjava/javax/swing/RepaintManager$RepaintWorker.h | 37 + .../swing/RepaintManager$RepaintWorkerEvent.h | 30 + libjava/javax/swing/RepaintManager.h | 80 + libjava/javax/swing/RootPaneContainer.h | 45 + libjava/javax/swing/ScrollPaneConstants.h | 49 + libjava/javax/swing/ScrollPaneLayout$UIResource.h | 29 + libjava/javax/swing/ScrollPaneLayout.h | 77 + libjava/javax/swing/Scrollable.h | 41 + libjava/javax/swing/SingleSelectionModel.h | 38 + libjava/javax/swing/SizeRequirements.h | 55 + libjava/javax/swing/SizeSequence.h | 45 + libjava/javax/swing/SortingFocusTraversalPolicy.h | 57 + libjava/javax/swing/SpinnerDateModel.h | 48 + libjava/javax/swing/SpinnerListModel.h | 44 + libjava/javax/swing/SpinnerModel.h | 38 + libjava/javax/swing/SpinnerNumberModel.h | 50 + libjava/javax/swing/Spring$1.h | 40 + libjava/javax/swing/Spring$2.h | 45 + libjava/javax/swing/Spring$3.h | 45 + libjava/javax/swing/Spring$AddSpring.h | 43 + libjava/javax/swing/Spring$MaxSpring.h | 43 + libjava/javax/swing/Spring$MinusSpring.h | 41 + libjava/javax/swing/Spring$SimpleSpring.h | 41 + libjava/javax/swing/Spring.h | 58 + libjava/javax/swing/SpringLayout$Constraints.h | 65 + .../javax/swing/SpringLayout$DeferredDimension.h | 34 + libjava/javax/swing/SpringLayout$DeferredHeight.h | 43 + libjava/javax/swing/SpringLayout$DeferredSpring.h | 52 + libjava/javax/swing/SpringLayout$DeferredWidth.h | 43 + libjava/javax/swing/SpringLayout.h | 64 + libjava/javax/swing/SwingConstants.h | 47 + libjava/javax/swing/SwingUtilities$OwnerFrame.h | 34 + libjava/javax/swing/SwingUtilities.h | 124 + libjava/javax/swing/Timer$1.h | 35 + libjava/javax/swing/Timer$Task.h | 35 + libjava/javax/swing/Timer.h | 90 + .../javax/swing/ToolTipManager$insideTimerAction.h | 45 + .../swing/ToolTipManager$outsideTimerAction.h | 45 + .../swing/ToolTipManager$stillInsideTimerAction.h | 45 + libjava/javax/swing/ToolTipManager.h | 92 + .../swing/TransferHandler$PropertyTransferable.h | 54 + .../javax/swing/TransferHandler$TransferAction.h | 49 + libjava/javax/swing/TransferHandler.h | 92 + libjava/javax/swing/UIDefaults$1.h | 38 + libjava/javax/swing/UIDefaults$2.h | 39 + libjava/javax/swing/UIDefaults$3.h | 42 + libjava/javax/swing/UIDefaults$4.h | 43 + libjava/javax/swing/UIDefaults$ActiveValue.h | 30 + libjava/javax/swing/UIDefaults$LazyInputMap.h | 36 + libjava/javax/swing/UIDefaults$LazyValue.h | 30 + libjava/javax/swing/UIDefaults$ProxyLazyValue.h | 40 + libjava/javax/swing/UIDefaults.h | 104 + libjava/javax/swing/UIManager$LookAndFeelInfo.h | 36 + ...ager$MultiplexUIDefaults$MultiplexEnumeration.h | 40 + .../javax/swing/UIManager$MultiplexUIDefaults.h | 40 + libjava/javax/swing/UIManager.h | 109 + .../javax/swing/UnsupportedLookAndFeelException.h | 29 + libjava/javax/swing/ViewportLayout.h | 46 + libjava/javax/swing/WindowConstants.h | 32 + libjava/javax/swing/border/AbstractBorder.h | 52 + libjava/javax/swing/border/BevelBorder.h | 74 + libjava/javax/swing/border/Border.h | 43 + libjava/javax/swing/border/CompoundBorder.h | 55 + libjava/javax/swing/border/EmptyBorder.h | 55 + libjava/javax/swing/border/EtchedBorder.h | 66 + libjava/javax/swing/border/LineBorder.h | 64 + libjava/javax/swing/border/MatteBorder.h | 62 + libjava/javax/swing/border/SoftBevelBorder.h | 53 + libjava/javax/swing/border/TitledBorder.h | 104 + .../swing/colorchooser/AbstractColorChooserPanel.h | 63 + .../colorchooser/ColorChooserComponentFactory.h | 38 + .../javax/swing/colorchooser/ColorSelectionModel.h | 46 + .../colorchooser/DefaultColorSelectionModel.h | 62 + .../swing/colorchooser/DefaultHSBChooserPanel$1.h | 47 + .../swing/colorchooser/DefaultHSBChooserPanel$2.h | 47 + .../DefaultHSBChooserPanel$ImageScrollListener.h | 42 + ...aultHSBChooserPanel$MainGradientMouseListener.h | 56 + .../DefaultHSBChooserPanel$RadioStateListener.h | 42 + .../DefaultHSBChooserPanel$SliderChangeListener.h | 42 + .../swing/colorchooser/DefaultHSBChooserPanel.h | 116 + .../DefaultPreviewPanel$PreviewBorder.h | 53 + .../javax/swing/colorchooser/DefaultPreviewPanel.h | 55 + .../DefaultRGBChooserPanel$SliderHandler.h | 42 + .../DefaultRGBChooserPanel$SpinnerHandler.h | 42 + .../swing/colorchooser/DefaultRGBChooserPanel.h | 81 + .../DefaultSwatchChooserPanel$MainPanelLayout.h | 47 + .../DefaultSwatchChooserPanel$MainSwatchPanel.h | 81 + .../DefaultSwatchChooserPanel$MouseHandler.h | 48 + .../DefaultSwatchChooserPanel$RecentPanelLayout.h | 47 + .../DefaultSwatchChooserPanel$RecentSwatchPanel.h | 64 + .../DefaultSwatchChooserPanel$SwatchPanel.h | 51 + .../swing/colorchooser/DefaultSwatchChooserPanel.h | 64 + libjava/javax/swing/event/AncestorEvent.h | 54 + libjava/javax/swing/event/AncestorListener.h | 35 + libjava/javax/swing/event/CaretEvent.h | 34 + libjava/javax/swing/event/CaretListener.h | 33 + libjava/javax/swing/event/CellEditorListener.h | 34 + libjava/javax/swing/event/ChangeEvent.h | 32 + libjava/javax/swing/event/ChangeListener.h | 33 + .../swing/event/DocumentEvent$ElementChange.h | 41 + .../javax/swing/event/DocumentEvent$EventType.h | 39 + libjava/javax/swing/event/DocumentEvent.h | 43 + libjava/javax/swing/event/DocumentListener.h | 35 + libjava/javax/swing/event/EventListenerList.h | 51 + .../javax/swing/event/HyperlinkEvent$EventType.h | 39 + libjava/javax/swing/event/HyperlinkEvent.h | 57 + libjava/javax/swing/event/HyperlinkListener.h | 33 + libjava/javax/swing/event/InternalFrameAdapter.h | 40 + libjava/javax/swing/event/InternalFrameEvent.h | 47 + libjava/javax/swing/event/InternalFrameListener.h | 39 + libjava/javax/swing/event/ListDataEvent.h | 47 + libjava/javax/swing/event/ListDataListener.h | 35 + libjava/javax/swing/event/ListSelectionEvent.h | 41 + libjava/javax/swing/event/ListSelectionListener.h | 33 + libjava/javax/swing/event/MenuDragMouseEvent.h | 49 + libjava/javax/swing/event/MenuDragMouseListener.h | 36 + libjava/javax/swing/event/MenuEvent.h | 32 + libjava/javax/swing/event/MenuKeyEvent.h | 49 + libjava/javax/swing/event/MenuKeyListener.h | 35 + libjava/javax/swing/event/MenuListener.h | 35 + libjava/javax/swing/event/MouseInputAdapter.h | 49 + libjava/javax/swing/event/MouseInputListener.h | 48 + libjava/javax/swing/event/PopupMenuEvent.h | 32 + libjava/javax/swing/event/PopupMenuListener.h | 35 + .../javax/swing/event/SwingPropertyChangeSupport.h | 35 + libjava/javax/swing/event/TableColumnModelEvent.h | 42 + .../javax/swing/event/TableColumnModelListener.h | 39 + libjava/javax/swing/event/TableModelEvent.h | 58 + libjava/javax/swing/event/TableModelListener.h | 33 + libjava/javax/swing/event/TreeExpansionEvent.h | 40 + libjava/javax/swing/event/TreeExpansionListener.h | 34 + libjava/javax/swing/event/TreeModelEvent.h | 51 + libjava/javax/swing/event/TreeModelListener.h | 36 + libjava/javax/swing/event/TreeSelectionEvent.h | 53 + libjava/javax/swing/event/TreeSelectionListener.h | 33 + libjava/javax/swing/event/TreeWillExpandListener.h | 34 + libjava/javax/swing/event/UndoableEditEvent.h | 41 + libjava/javax/swing/event/UndoableEditListener.h | 33 + libjava/javax/swing/filechooser/FileFilter.h | 34 + libjava/javax/swing/filechooser/FileSystemView.h | 63 + libjava/javax/swing/filechooser/FileView.h | 38 + .../javax/swing/filechooser/UnixFileSystemView.h | 45 + libjava/javax/swing/plaf/ActionMapUIResource.h | 32 + .../plaf/BorderUIResource$BevelBorderUIResource.h | 44 + .../BorderUIResource$CompoundBorderUIResource.h | 39 + .../plaf/BorderUIResource$EmptyBorderUIResource.h | 43 + .../plaf/BorderUIResource$EtchedBorderUIResource.h | 45 + .../plaf/BorderUIResource$LineBorderUIResource.h | 43 + .../plaf/BorderUIResource$MatteBorderUIResource.h | 45 + .../plaf/BorderUIResource$TitledBorderUIResource.h | 52 + libjava/javax/swing/plaf/BorderUIResource.h | 61 + libjava/javax/swing/plaf/ButtonUI.h | 32 + libjava/javax/swing/plaf/ColorChooserUI.h | 32 + libjava/javax/swing/plaf/ColorUIResource.h | 42 + libjava/javax/swing/plaf/ComboBoxUI.h | 36 + .../javax/swing/plaf/ComponentInputMapUIResource.h | 33 + libjava/javax/swing/plaf/ComponentUI.h | 56 + libjava/javax/swing/plaf/DesktopIconUI.h | 32 + libjava/javax/swing/plaf/DesktopPaneUI.h | 32 + libjava/javax/swing/plaf/DimensionUIResource.h | 32 + libjava/javax/swing/plaf/FileChooserUI.h | 44 + libjava/javax/swing/plaf/FontUIResource.h | 40 + libjava/javax/swing/plaf/IconUIResource.h | 49 + libjava/javax/swing/plaf/InputMapUIResource.h | 32 + libjava/javax/swing/plaf/InsetsUIResource.h | 35 + libjava/javax/swing/plaf/InternalFrameUI.h | 32 + libjava/javax/swing/plaf/LabelUI.h | 32 + libjava/javax/swing/plaf/ListUI.h | 44 + libjava/javax/swing/plaf/MenuBarUI.h | 32 + libjava/javax/swing/plaf/MenuItemUI.h | 32 + libjava/javax/swing/plaf/OptionPaneUI.h | 35 + libjava/javax/swing/plaf/PanelUI.h | 32 + libjava/javax/swing/plaf/PopupMenuUI.h | 46 + libjava/javax/swing/plaf/ProgressBarUI.h | 32 + libjava/javax/swing/plaf/RootPaneUI.h | 32 + libjava/javax/swing/plaf/ScrollBarUI.h | 32 + libjava/javax/swing/plaf/ScrollPaneUI.h | 32 + libjava/javax/swing/plaf/SeparatorUI.h | 32 + libjava/javax/swing/plaf/SliderUI.h | 32 + libjava/javax/swing/plaf/SpinnerUI.h | 32 + libjava/javax/swing/plaf/SplitPaneUI.h | 46 + libjava/javax/swing/plaf/TabbedPaneUI.h | 43 + libjava/javax/swing/plaf/TableHeaderUI.h | 32 + libjava/javax/swing/plaf/TableUI.h | 32 + libjava/javax/swing/plaf/TextUI.h | 59 + libjava/javax/swing/plaf/ToolBarUI.h | 32 + libjava/javax/swing/plaf/ToolTipUI.h | 32 + libjava/javax/swing/plaf/TreeUI.h | 54 + libjava/javax/swing/plaf/UIResource.h | 31 + libjava/javax/swing/plaf/ViewportUI.h | 32 + libjava/javax/swing/plaf/basic/BasicArrowButton.h | 65 + .../swing/plaf/basic/BasicBorders$ButtonBorder.h | 56 + .../swing/plaf/basic/BasicBorders$FieldBorder.h | 56 + .../swing/plaf/basic/BasicBorders$MarginBorder.h | 48 + .../swing/plaf/basic/BasicBorders$MenuBarBorder.h | 54 + .../plaf/basic/BasicBorders$RadioButtonBorder.h | 51 + .../plaf/basic/BasicBorders$RolloverButtonBorder.h | 48 + .../plaf/basic/BasicBorders$SplitPaneBorder.h | 61 + .../basic/BasicBorders$SplitPaneDividerBorder.h | 51 + .../plaf/basic/BasicBorders$ToggleButtonBorder.h | 51 + libjava/javax/swing/plaf/basic/BasicBorders.h | 54 + .../javax/swing/plaf/basic/BasicButtonListener$1.h | 51 + .../javax/swing/plaf/basic/BasicButtonListener$2.h | 51 + .../plaf/basic/BasicButtonListener$ButtonAction.h | 54 + .../javax/swing/plaf/basic/BasicButtonListener.h | 76 + libjava/javax/swing/plaf/basic/BasicButtonUI.h | 96 + .../swing/plaf/basic/BasicCheckBoxMenuItemUI.h | 57 + libjava/javax/swing/plaf/basic/BasicCheckBoxUI.h | 39 + .../javax/swing/plaf/basic/BasicColorChooserUI$1.h | 45 + .../basic/BasicColorChooserUI$PreviewListener.h | 45 + .../basic/BasicColorChooserUI$PropertyHandler.h | 47 + .../basic/BasicColorChooserUI$TabPaneListener.h | 45 + .../javax/swing/plaf/basic/BasicColorChooserUI.h | 89 + .../plaf/basic/BasicComboBoxEditor$UIResource.h | 35 + .../javax/swing/plaf/basic/BasicComboBoxEditor.h | 59 + .../plaf/basic/BasicComboBoxRenderer$UIResource.h | 35 + .../javax/swing/plaf/basic/BasicComboBoxRenderer.h | 53 + .../basic/BasicComboBoxUI$ComboBoxLayoutManager.h | 53 + .../plaf/basic/BasicComboBoxUI$FocusHandler.h | 51 + .../swing/plaf/basic/BasicComboBoxUI$ItemHandler.h | 50 + .../swing/plaf/basic/BasicComboBoxUI$KeyHandler.h | 50 + .../plaf/basic/BasicComboBoxUI$ListDataHandler.h | 46 + .../basic/BasicComboBoxUI$PropertyChangeHandler.h | 47 + libjava/javax/swing/plaf/basic/BasicComboBoxUI.h | 154 + .../basic/BasicComboPopup$InvocationKeyHandler.h | 50 + .../basic/BasicComboPopup$InvocationMouseHandler.h | 52 + .../BasicComboPopup$InvocationMouseMotionHandler.h | 51 + .../swing/plaf/basic/BasicComboPopup$ItemHandler.h | 51 + .../plaf/basic/BasicComboPopup$ListDataHandler.h | 46 + .../plaf/basic/BasicComboPopup$ListMouseHandler.h | 52 + .../basic/BasicComboPopup$ListMouseMotionHandler.h | 51 + .../basic/BasicComboPopup$ListSelectionHandler.h | 45 + .../basic/BasicComboPopup$PropertyChangeHandler.h | 48 + libjava/javax/swing/plaf/basic/BasicComboPopup.h | 135 + .../javax/swing/plaf/basic/BasicDesktopIconUI$1.h | 48 + .../javax/swing/plaf/basic/BasicDesktopIconUI$2.h | 51 + .../plaf/basic/BasicDesktopIconUI$BoundButton.h | 49 + .../basic/BasicDesktopIconUI$DesktopIconBorder.h | 56 + ...sicDesktopIconUI$InternalFrameDefaultMenuIcon.h | 47 + .../basic/BasicDesktopIconUI$MouseInputHandler.h | 60 + .../javax/swing/plaf/basic/BasicDesktopIconUI.h | 90 + .../plaf/basic/BasicDesktopPaneUI$CloseAction.h | 52 + .../plaf/basic/BasicDesktopPaneUI$MaximizeAction.h | 52 + .../plaf/basic/BasicDesktopPaneUI$MinimizeAction.h | 52 + .../plaf/basic/BasicDesktopPaneUI$NavigateAction.h | 52 + .../plaf/basic/BasicDesktopPaneUI$OpenAction.h | 52 + .../javax/swing/plaf/basic/BasicDesktopPaneUI.h | 74 + .../javax/swing/plaf/basic/BasicDirectoryModel$1.h | 41 + ...yModel$DirectoryLoadThread$UpdateSwingRequest.h | 49 + .../BasicDirectoryModel$DirectoryLoadThread.h | 50 + .../javax/swing/plaf/basic/BasicDirectoryModel.h | 83 + libjava/javax/swing/plaf/basic/BasicEditorPaneUI.h | 47 + .../basic/BasicFileChooserUI$AcceptAllFileFilter.h | 41 + .../BasicFileChooserUI$ApproveSelectionAction.h | 51 + .../plaf/basic/BasicFileChooserUI$BasicFileView.h | 50 + .../BasicFileChooserUI$CancelSelectionAction.h | 51 + ...icFileChooserUI$ChangeToParentDirectoryAction.h | 51 + .../basic/BasicFileChooserUI$DoubleClickListener.h | 55 + .../plaf/basic/BasicFileChooserUI$GoHomeAction.h | 51 + .../basic/BasicFileChooserUI$NewFolderAction.h | 51 + .../basic/BasicFileChooserUI$SelectionListener.h | 45 + .../plaf/basic/BasicFileChooserUI$UpdateAction.h | 51 + .../javax/swing/plaf/basic/BasicFileChooserUI.h | 187 + .../swing/plaf/basic/BasicFormattedTextFieldUI.h | 41 + .../javax/swing/plaf/basic/BasicGraphicsUtils.h | 64 + .../swing/plaf/basic/BasicHTML$HTMLRootView.h | 87 + libjava/javax/swing/plaf/basic/BasicHTML.h | 45 + .../javax/swing/plaf/basic/BasicIconFactory$1.h | 47 + .../javax/swing/plaf/basic/BasicIconFactory$2.h | 47 + .../plaf/basic/BasicIconFactory$CheckBoxIcon.h | 47 + .../basic/BasicIconFactory$CheckBoxMenuItemIcon.h | 47 + .../swing/plaf/basic/BasicIconFactory$DummyIcon.h | 49 + .../plaf/basic/BasicIconFactory$RadioButtonIcon.h | 47 + libjava/javax/swing/plaf/basic/BasicIconFactory.h | 52 + .../BasicInternalFrameTitlePane$CloseAction.h | 50 + .../BasicInternalFrameTitlePane$IconifyAction.h | 50 + .../BasicInternalFrameTitlePane$MaximizeAction.h | 50 + .../basic/BasicInternalFrameTitlePane$MoveAction.h | 50 + .../basic/BasicInternalFrameTitlePane$PaneButton.h | 41 + ...cInternalFrameTitlePane$PropertyChangeHandler.h | 47 + .../BasicInternalFrameTitlePane$RestoreAction.h | 50 + .../basic/BasicInternalFrameTitlePane$SizeAction.h | 50 + .../BasicInternalFrameTitlePane$SystemMenuBar.h | 50 + .../BasicInternalFrameTitlePane$TitlePaneLayout.h | 53 + .../swing/plaf/basic/BasicInternalFrameTitlePane.h | 110 + ...sicInternalFrameUI$BasicInternalFrameListener.h | 51 + .../basic/BasicInternalFrameUI$BorderListener.h | 71 + .../basic/BasicInternalFrameUI$ComponentHandler.h | 54 + .../BasicInternalFrameUI$GlassPaneDispatcher.h | 65 + .../BasicInternalFrameUI$InternalFrameBorder.h | 54 + .../BasicInternalFrameUI$InternalFrameLayout.h | 56 + ...alFrameUI$InternalFramePropertyChangeListener.h | 47 + .../BasicInternalFrameUI$ShowSystemMenuAction.h | 51 + .../javax/swing/plaf/basic/BasicInternalFrameUI.h | 139 + libjava/javax/swing/plaf/basic/BasicLabelUI$1.h | 51 + libjava/javax/swing/plaf/basic/BasicLabelUI.h | 83 + .../plaf/basic/BasicListUI$ActionListenerProxy.h | 51 + .../swing/plaf/basic/BasicListUI$FocusHandler.h | 53 + .../swing/plaf/basic/BasicListUI$ListAction.h | 51 + .../swing/plaf/basic/BasicListUI$ListDataHandler.h | 46 + .../plaf/basic/BasicListUI$ListSelectionHandler.h | 44 + .../plaf/basic/BasicListUI$MouseInputHandler.h | 56 + .../plaf/basic/BasicListUI$PropertyChangeHandler.h | 47 + libjava/javax/swing/plaf/basic/BasicListUI.h | 128 + .../javax/swing/plaf/basic/BasicLookAndFeel$1.h | 42 + .../javax/swing/plaf/basic/BasicLookAndFeel$2.h | 42 + .../javax/swing/plaf/basic/BasicLookAndFeel$3.h | 42 + .../javax/swing/plaf/basic/BasicLookAndFeel$4.h | 42 + .../javax/swing/plaf/basic/BasicLookAndFeel$5.h | 42 + .../javax/swing/plaf/basic/BasicLookAndFeel$6.h | 42 + .../javax/swing/plaf/basic/BasicLookAndFeel$7.h | 42 + .../plaf/basic/BasicLookAndFeel$AudioAction.h | 52 + .../plaf/basic/BasicLookAndFeel$PopupHelper.h | 54 + libjava/javax/swing/plaf/basic/BasicLookAndFeel.h | 63 + .../plaf/basic/BasicMenuBarUI$ChangeHandler.h | 45 + .../plaf/basic/BasicMenuBarUI$ContainerHandler.h | 52 + .../swing/plaf/basic/BasicMenuBarUI$FocusAction.h | 47 + .../plaf/basic/BasicMenuBarUI$MouseInputHandler.h | 57 + .../basic/BasicMenuBarUI$PropertyChangeHandler.h | 48 + libjava/javax/swing/plaf/basic/BasicMenuBarUI.h | 93 + .../swing/plaf/basic/BasicMenuItemUI$ClickAction.h | 51 + .../swing/plaf/basic/BasicMenuItemUI$ItemHandler.h | 51 + .../basic/BasicMenuItemUI$MenuDragMouseHandler.h | 48 + .../plaf/basic/BasicMenuItemUI$MenuKeyHandler.h | 47 + .../plaf/basic/BasicMenuItemUI$MouseInputHandler.h | 57 + .../basic/BasicMenuItemUI$PropertyChangeHandler.h | 48 + libjava/javax/swing/plaf/basic/BasicMenuItemUI.h | 132 + .../swing/plaf/basic/BasicMenuUI$ChangeHandler.h | 56 + .../plaf/basic/BasicMenuUI$MenuDragMouseHandler.h | 48 + .../swing/plaf/basic/BasicMenuUI$MenuHandler.h | 47 + .../swing/plaf/basic/BasicMenuUI$MenuKeyHandler.h | 47 + .../plaf/basic/BasicMenuUI$MouseInputHandler.h | 60 + .../plaf/basic/BasicMenuUI$SelectMenuAction.h | 51 + libjava/javax/swing/plaf/basic/BasicMenuUI.h | 80 + .../javax/swing/plaf/basic/BasicOptionPaneUI$1.h | 45 + .../javax/swing/plaf/basic/BasicOptionPaneUI$2.h | 45 + .../javax/swing/plaf/basic/BasicOptionPaneUI$3.h | 45 + .../javax/swing/plaf/basic/BasicOptionPaneUI$4.h | 45 + .../basic/BasicOptionPaneUI$ButtonActionListener.h | 52 + .../basic/BasicOptionPaneUI$ButtonAreaLayout.h | 66 + .../plaf/basic/BasicOptionPaneUI$MessageIcon.h | 49 + .../BasicOptionPaneUI$OptionPaneCloseAction.h | 47 + .../BasicOptionPaneUI$PropertyChangeHandler.h | 47 + libjava/javax/swing/plaf/basic/BasicOptionPaneUI.h | 148 + libjava/javax/swing/plaf/basic/BasicPanelUI.h | 49 + .../javax/swing/plaf/basic/BasicPasswordFieldUI.h | 47 + .../swing/plaf/basic/BasicPopupMenuSeparatorUI.h | 48 + .../plaf/basic/BasicPopupMenuUI$KeyboardHelper.h | 65 + .../plaf/basic/BasicPopupMenuUI$NavigateAction.h | 64 + .../plaf/basic/BasicPopupMenuUI$PopupMenuHandler.h | 47 + .../basic/BasicPopupMenuUI$TopWindowListener.h | 54 + libjava/javax/swing/plaf/basic/BasicPopupMenuUI.h | 90 + .../basic/BasicProgressBarUI$AncestorHandler.h | 47 + .../swing/plaf/basic/BasicProgressBarUI$Animator.h | 51 + .../plaf/basic/BasicProgressBarUI$ChangeHandler.h | 44 + .../basic/BasicProgressBarUI$ComponentHandler.h | 51 + .../BasicProgressBarUI$PropertyChangeHandler.h | 48 + .../javax/swing/plaf/basic/BasicProgressBarUI.h | 123 + .../swing/plaf/basic/BasicRadioButtonMenuItemUI.h | 57 + .../javax/swing/plaf/basic/BasicRadioButtonUI.h | 60 + .../basic/BasicRootPaneUI$DefaultPressAction.h | 54 + .../basic/BasicRootPaneUI$DefaultReleaseAction.h | 54 + libjava/javax/swing/plaf/basic/BasicRootPaneUI.h | 61 + .../javax/swing/plaf/basic/BasicScrollBarUI$1.h | 51 + .../javax/swing/plaf/basic/BasicScrollBarUI$2.h | 51 + .../javax/swing/plaf/basic/BasicScrollBarUI$3.h | 51 + .../javax/swing/plaf/basic/BasicScrollBarUI$4.h | 51 + .../javax/swing/plaf/basic/BasicScrollBarUI$5.h | 51 + .../javax/swing/plaf/basic/BasicScrollBarUI$6.h | 51 + .../basic/BasicScrollBarUI$ArrowButtonListener.h | 52 + .../plaf/basic/BasicScrollBarUI$ModelListener.h | 45 + .../basic/BasicScrollBarUI$PropertyChangeHandler.h | 47 + .../plaf/basic/BasicScrollBarUI$ScrollListener.h | 56 + .../plaf/basic/BasicScrollBarUI$TrackListener.h | 60 + libjava/javax/swing/plaf/basic/BasicScrollBarUI.h | 174 + .../javax/swing/plaf/basic/BasicScrollPaneUI$1.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$10.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$2.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$3.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$4.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$5.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$6.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$7.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$8.h | 51 + .../javax/swing/plaf/basic/BasicScrollPaneUI$9.h | 51 + .../basic/BasicScrollPaneUI$HSBChangeListener.h | 44 + .../basic/BasicScrollPaneUI$MouseWheelHandler.h | 53 + .../BasicScrollPaneUI$PropertyChangeHandler.h | 47 + .../basic/BasicScrollPaneUI$VSBChangeListener.h | 44 + .../BasicScrollPaneUI$ViewportChangeHandler.h | 44 + .../BasicScrollPaneUI$ViewportContainerListener.h | 52 + libjava/javax/swing/plaf/basic/BasicScrollPaneUI.h | 108 + libjava/javax/swing/plaf/basic/BasicSeparatorUI.h | 64 + libjava/javax/swing/plaf/basic/BasicSliderUI$1.h | 51 + libjava/javax/swing/plaf/basic/BasicSliderUI$2.h | 51 + libjava/javax/swing/plaf/basic/BasicSliderUI$3.h | 51 + libjava/javax/swing/plaf/basic/BasicSliderUI$4.h | 51 + libjava/javax/swing/plaf/basic/BasicSliderUI$5.h | 51 + libjava/javax/swing/plaf/basic/BasicSliderUI$6.h | 51 + .../plaf/basic/BasicSliderUI$ActionScroller.h | 51 + .../swing/plaf/basic/BasicSliderUI$ChangeHandler.h | 44 + .../plaf/basic/BasicSliderUI$ComponentHandler.h | 50 + .../swing/plaf/basic/BasicSliderUI$FocusHandler.h | 51 + .../basic/BasicSliderUI$PropertyChangeHandler.h | 47 + .../plaf/basic/BasicSliderUI$ScrollListener.h | 56 + .../swing/plaf/basic/BasicSliderUI$TrackListener.h | 58 + libjava/javax/swing/plaf/basic/BasicSliderUI.h | 188 + libjava/javax/swing/plaf/basic/BasicSpinnerUI$1.h | 48 + libjava/javax/swing/plaf/basic/BasicSpinnerUI$2.h | 56 + libjava/javax/swing/plaf/basic/BasicSpinnerUI$3.h | 51 + libjava/javax/swing/plaf/basic/BasicSpinnerUI$4.h | 56 + libjava/javax/swing/plaf/basic/BasicSpinnerUI$5.h | 51 + .../basic/BasicSpinnerUI$DefaultLayoutManager.h | 62 + libjava/javax/swing/plaf/basic/BasicSpinnerUI.h | 74 + .../BasicSplitPaneDivider$BasicOneTouchButton.h | 63 + .../basic/BasicSplitPaneDivider$DividerLayout.h | 54 + .../basic/BasicSplitPaneDivider$DragController.h | 58 + .../basic/BasicSplitPaneDivider$MouseHandler.h | 56 + .../basic/BasicSplitPaneDivider$OneTouchAction.h | 51 + .../BasicSplitPaneDivider$VerticalDragController.h | 52 + .../javax/swing/plaf/basic/BasicSplitPaneDivider.h | 97 + .../javax/swing/plaf/basic/BasicSplitPaneUI$1.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$2.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$3.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$4.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$5.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$6.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$7.h | 51 + .../javax/swing/plaf/basic/BasicSplitPaneUI$8.h | 51 + ...BasicSplitPaneUI$BasicHorizontalLayoutManager.h | 88 + .../BasicSplitPaneUI$BasicVerticalLayoutManager.h | 39 + .../plaf/basic/BasicSplitPaneUI$FocusHandler.h | 51 + .../BasicSplitPaneUI$KeyboardDownRightHandler.h | 50 + .../basic/BasicSplitPaneUI$KeyboardEndHandler.h | 50 + .../basic/BasicSplitPaneUI$KeyboardHomeHandler.h | 50 + .../BasicSplitPaneUI$KeyboardResizeToggleHandler.h | 50 + .../basic/BasicSplitPaneUI$KeyboardUpLeftHandler.h | 50 + .../plaf/basic/BasicSplitPaneUI$PropertyHandler.h | 47 + libjava/javax/swing/plaf/basic/BasicSplitPaneUI.h | 149 + .../plaf/basic/BasicTabbedPaneUI$FocusHandler.h | 51 + .../plaf/basic/BasicTabbedPaneUI$MouseHandler.h | 55 + .../plaf/basic/BasicTabbedPaneUI$NavigateAction.h | 50 + .../BasicTabbedPaneUI$NavigatePageDownAction.h | 46 + .../basic/BasicTabbedPaneUI$NavigatePageUpAction.h | 46 + .../BasicTabbedPaneUI$PropertyChangeHandler.h | 47 + .../basic/BasicTabbedPaneUI$RequestFocusAction.h | 46 + ...dPaneUI$RequestFocusForVisibleComponentAction.h | 46 + .../plaf/basic/BasicTabbedPaneUI$ScrollingButton.h | 39 + ...cTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.h | 49 + .../plaf/basic/BasicTabbedPaneUI$ScrollingPanel.h | 42 + .../basic/BasicTabbedPaneUI$ScrollingViewport.h | 39 + .../basic/BasicTabbedPaneUI$TabSelectionHandler.h | 44 + .../basic/BasicTabbedPaneUI$TabbedPaneLayout.h | 68 + .../BasicTabbedPaneUI$TabbedPaneScrollLayout.h | 56 + libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.h | 223 + .../javax/swing/plaf/basic/BasicTableHeaderUI$1.h | 51 + .../basic/BasicTableHeaderUI$MouseInputHandler.h | 65 + .../javax/swing/plaf/basic/BasicTableHeaderUI.h | 92 + .../swing/plaf/basic/BasicTableUI$FocusHandler.h | 53 + .../swing/plaf/basic/BasicTableUI$KeyHandler.h | 52 + .../plaf/basic/BasicTableUI$MouseInputHandler.h | 62 + .../basic/BasicTableUI$PropertyChangeHandler.h | 48 + .../swing/plaf/basic/BasicTableUI$TableAction.h | 57 + libjava/javax/swing/plaf/basic/BasicTableUI.h | 112 + libjava/javax/swing/plaf/basic/BasicTextAreaUI.h | 55 + libjava/javax/swing/plaf/basic/BasicTextFieldUI.h | 58 + libjava/javax/swing/plaf/basic/BasicTextPaneUI.h | 42 + libjava/javax/swing/plaf/basic/BasicTextUI$1.h | 52 + .../swing/plaf/basic/BasicTextUI$BasicCaret.h | 35 + .../plaf/basic/BasicTextUI$BasicHighlighter.h | 35 + .../swing/plaf/basic/BasicTextUI$DocumentHandler.h | 47 + .../swing/plaf/basic/BasicTextUI$FocusHandler.h | 50 + .../javax/swing/plaf/basic/BasicTextUI$Handler.h | 55 + .../plaf/basic/BasicTextUI$PropertyChangeHandler.h | 48 + .../javax/swing/plaf/basic/BasicTextUI$RootView.h | 85 + libjava/javax/swing/plaf/basic/BasicTextUI.h | 137 + .../javax/swing/plaf/basic/BasicToggleButtonUI.h | 54 + .../swing/plaf/basic/BasicToolBarSeparatorUI.h | 57 + .../plaf/basic/BasicToolBarUI$DockingListener.h | 62 + .../swing/plaf/basic/BasicToolBarUI$DragWindow.h | 60 + .../plaf/basic/BasicToolBarUI$FrameListener.h | 51 + .../plaf/basic/BasicToolBarUI$PropertyListener.h | 48 + .../plaf/basic/BasicToolBarUI$ToolBarAction.h | 50 + .../plaf/basic/BasicToolBarUI$ToolBarBorder.h | 55 + .../basic/BasicToolBarUI$ToolBarContListener.h | 52 + .../plaf/basic/BasicToolBarUI$ToolBarDialog.h | 39 + .../basic/BasicToolBarUI$ToolBarFocusListener.h | 52 + libjava/javax/swing/plaf/basic/BasicToolBarUI.h | 170 + .../basic/BasicToolTipUI$PropertyChangeHandler.h | 48 + libjava/javax/swing/plaf/basic/BasicToolTipUI.h | 69 + libjava/javax/swing/plaf/basic/BasicTreeUI$1.h | 51 + libjava/javax/swing/plaf/basic/BasicTreeUI$2.h | 51 + .../plaf/basic/BasicTreeUI$CellEditorHandler.h | 45 + .../plaf/basic/BasicTreeUI$ComponentHandler.h | 62 + .../swing/plaf/basic/BasicTreeUI$FocusHandler.h | 52 + .../swing/plaf/basic/BasicTreeUI$KeyHandler.h | 59 + .../swing/plaf/basic/BasicTreeUI$MouseHandler.h | 56 + .../plaf/basic/BasicTreeUI$MouseInputHandler.h | 64 + .../plaf/basic/BasicTreeUI$NodeDimensionsHandler.h | 49 + .../plaf/basic/BasicTreeUI$PropertyChangeHandler.h | 47 + ...sicTreeUI$SelectionModelPropertyChangeHandler.h | 47 + .../basic/BasicTreeUI$TreeCancelEditingAction.h | 50 + .../plaf/basic/BasicTreeUI$TreeExpansionHandler.h | 45 + .../swing/plaf/basic/BasicTreeUI$TreeHomeAction.h | 53 + .../plaf/basic/BasicTreeUI$TreeIncrementAction.h | 53 + .../plaf/basic/BasicTreeUI$TreeModelHandler.h | 47 + .../swing/plaf/basic/BasicTreeUI$TreePageAction.h | 53 + .../plaf/basic/BasicTreeUI$TreeSelectionHandler.h | 44 + .../basic/BasicTreeUI$TreeStartEditingAction.h | 50 + .../plaf/basic/BasicTreeUI$TreeToggleAction.h | 51 + .../plaf/basic/BasicTreeUI$TreeTraverseAction.h | 53 + libjava/javax/swing/plaf/basic/BasicTreeUI.h | 280 + libjava/javax/swing/plaf/basic/BasicViewportUI.h | 44 + libjava/javax/swing/plaf/basic/ComboPopup.h | 55 + libjava/javax/swing/plaf/basic/DefaultMenuLayout.h | 44 + libjava/javax/swing/plaf/basic/SharedUIDefaults.h | 48 + libjava/javax/swing/plaf/metal/DefaultMetalTheme.h | 73 + .../swing/plaf/metal/MetalBorders$ButtonBorder.h | 54 + .../plaf/metal/MetalBorders$DesktopIconBorder.h | 47 + .../swing/plaf/metal/MetalBorders$Flush3DBorder.h | 50 + .../plaf/metal/MetalBorders$InternalFrameBorder.h | 50 + .../swing/plaf/metal/MetalBorders$MenuBarBorder.h | 50 + .../swing/plaf/metal/MetalBorders$MenuItemBorder.h | 50 + .../plaf/metal/MetalBorders$OptionDialogBorder.h | 47 + .../swing/plaf/metal/MetalBorders$PaletteBorder.h | 50 + .../plaf/metal/MetalBorders$PopupMenuBorder.h | 50 + .../plaf/metal/MetalBorders$RolloverButtonBorder.h | 44 + .../plaf/metal/MetalBorders$RolloverMarginBorder.h | 48 + .../plaf/metal/MetalBorders$ScrollPaneBorder.h | 49 + .../plaf/metal/MetalBorders$TableHeaderBorder.h | 49 + .../plaf/metal/MetalBorders$TextFieldBorder.h | 44 + .../plaf/metal/MetalBorders$ToggleButtonBorder.h | 44 + .../swing/plaf/metal/MetalBorders$ToolBarBorder.h | 47 + libjava/javax/swing/plaf/metal/MetalBorders.h | 62 + .../javax/swing/plaf/metal/MetalButtonListener.h | 44 + libjava/javax/swing/plaf/metal/MetalButtonUI.h | 71 + libjava/javax/swing/plaf/metal/MetalCheckBoxIcon.h | 54 + libjava/javax/swing/plaf/metal/MetalCheckBoxUI.h | 42 + .../javax/swing/plaf/metal/MetalComboBoxButton.h | 63 + .../metal/MetalComboBoxEditor$EditorTextField.h | 49 + ...MetalComboBoxEditor$MetalComboBoxEditorBorder.h | 46 + .../plaf/metal/MetalComboBoxEditor$UIResource.h | 35 + .../javax/swing/plaf/metal/MetalComboBoxEditor.h | 45 + libjava/javax/swing/plaf/metal/MetalComboBoxIcon.h | 46 + .../MetalComboBoxUI$MetalComboBoxLayoutManager.h | 48 + .../plaf/metal/MetalComboBoxUI$MetalComboPopup.h | 51 + .../MetalComboBoxUI$MetalPropertyChangeListener.h | 47 + libjava/javax/swing/plaf/metal/MetalComboBoxUI.h | 83 + .../javax/swing/plaf/metal/MetalDesktopIconUI.h | 38 + .../plaf/metal/MetalFileChooserUI$ButtonLayout.h | 55 + .../MetalFileChooserUI$DetailViewActionListener.h | 51 + .../MetalFileChooserUI$DirectoryComboBoxAction.h | 51 + .../MetalFileChooserUI$DirectoryComboBoxModel.h | 47 + .../MetalFileChooserUI$DirectoryComboBoxRenderer.h | 52 + .../plaf/metal/MetalFileChooserUI$FileRenderer.h | 49 + .../metal/MetalFileChooserUI$FilterComboBoxModel.h | 62 + .../MetalFileChooserUI$FilterComboBoxRenderer.h | 48 + .../plaf/metal/MetalFileChooserUI$IndentIcon.h | 58 + .../MetalFileChooserUI$ListViewActionListener.h | 51 + ...oserUI$MetalFileChooserPropertyChangeListener.h | 47 + ...leChooserUI$MetalFileChooserSelectionListener.h | 45 + ...rUI$SingleClickListener$EditingActionListener.h | 51 + .../metal/MetalFileChooserUI$SingleClickListener.h | 60 + ...erUI$TableClickListener$EditingActionListener.h | 51 + .../metal/MetalFileChooserUI$TableClickListener.h | 63 + .../metal/MetalFileChooserUI$TableFileRenderer.h | 48 + .../metal/MetalFileChooserUI$VerticalMidLayout.h | 54 + .../javax/swing/plaf/metal/MetalFileChooserUI.h | 159 + .../javax/swing/plaf/metal/MetalIconFactory$1.h | 47 + .../javax/swing/plaf/metal/MetalIconFactory$2.h | 47 + .../javax/swing/plaf/metal/MetalIconFactory$3.h | 47 + .../metal/MetalIconFactory$CheckBoxMenuItemIcon.h | 46 + .../MetalIconFactory$FileChooserDetailViewIcon.h | 46 + .../MetalIconFactory$FileChooserHomeFolderIcon.h | 46 + .../MetalIconFactory$FileChooserListViewIcon.h | 46 + .../MetalIconFactory$FileChooserNewFolderIcon.h | 46 + .../MetalIconFactory$FileChooserUpFolderIcon.h | 44 + .../swing/plaf/metal/MetalIconFactory$FileIcon16.h | 48 + .../plaf/metal/MetalIconFactory$FolderIcon16.h | 48 + .../MetalIconFactory$HorizontalSliderThumbIcon.h | 51 + ...MetalIconFactory$InternalFrameAltMaximizeIcon.h | 49 + .../MetalIconFactory$InternalFrameCloseIcon.h | 49 + ...MetalIconFactory$InternalFrameDefaultMenuIcon.h | 46 + .../MetalIconFactory$InternalFrameMaximizeIcon.h | 46 + .../MetalIconFactory$InternalFrameMinimizeIcon.h | 46 + .../plaf/metal/MetalIconFactory$PaletteCloseIcon.h | 46 + .../plaf/metal/MetalIconFactory$RadioButtonIcon.h | 52 + .../MetalIconFactory$RadioButtonMenuItemIcon.h | 46 + .../plaf/metal/MetalIconFactory$TreeComputerIcon.h | 46 + .../plaf/metal/MetalIconFactory$TreeControlIcon.h | 52 + .../metal/MetalIconFactory$TreeFloppyDriveIcon.h | 46 + .../plaf/metal/MetalIconFactory$TreeFolderIcon.h | 37 + .../metal/MetalIconFactory$TreeHardDriveIcon.h | 46 + .../plaf/metal/MetalIconFactory$TreeLeafIcon.h | 37 + .../MetalIconFactory$VerticalSliderThumbIcon.h | 51 + libjava/javax/swing/plaf/metal/MetalIconFactory.h | 83 + ...alInternalFrameTitlePanePropertyChangeHandler.h | 47 + ...alInternalFrameTitlePane$MetalTitlePaneLayout.h | 53 + .../swing/plaf/metal/MetalInternalFrameTitlePane.h | 81 + .../swing/plaf/metal/MetalInternalFrameUI$1.h | 48 + .../javax/swing/plaf/metal/MetalInternalFrameUI.h | 59 + libjava/javax/swing/plaf/metal/MetalLabelUI.h | 50 + .../javax/swing/plaf/metal/MetalLookAndFeel$1.h | 42 + libjava/javax/swing/plaf/metal/MetalLookAndFeel.h | 103 + libjava/javax/swing/plaf/metal/MetalMenuBarUI.h | 46 + .../swing/plaf/metal/MetalPopupMenuSeparatorUI.h | 41 + .../javax/swing/plaf/metal/MetalProgressBarUI.h | 47 + .../javax/swing/plaf/metal/MetalRadioButtonUI.h | 63 + .../plaf/metal/MetalRootPaneUI$MetalFrameBorder.h | 50 + .../plaf/metal/MetalRootPaneUI$MetalRootLayout.h | 66 + .../MetalRootPaneUI$MetalTitlePane$CloseAction.h | 50 + .../MetalRootPaneUI$MetalTitlePane$IconifyAction.h | 51 + ...MetalRootPaneUI$MetalTitlePane$MaximizeAction.h | 51 + ...ootPaneUI$MetalTitlePane$MetalTitlePaneLayout.h | 53 + .../MetalRootPaneUI$MetalTitlePane$MouseHandler.h | 54 + .../MetalRootPaneUI$MetalTitlePane$PaneButton.h | 41 + .../plaf/metal/MetalRootPaneUI$MetalTitlePane.h | 98 + libjava/javax/swing/plaf/metal/MetalRootPaneUI.h | 56 + ...rollBarUI$MetalScrollBarPropertyChangeHandler.h | 47 + libjava/javax/swing/plaf/metal/MetalScrollBarUI.h | 84 + libjava/javax/swing/plaf/metal/MetalScrollButton.h | 65 + libjava/javax/swing/plaf/metal/MetalScrollPaneUI.h | 53 + libjava/javax/swing/plaf/metal/MetalSeparatorUI.h | 49 + .../metal/MetalSliderUI$MetalPropertyListener.h | 48 + libjava/javax/swing/plaf/metal/MetalSliderUI.h | 85 + .../MetalSplitPaneDivider$MetalDividerLayout.h | 59 + .../MetalSplitPaneDivider$MetalOneTouchButton.h | 63 + .../javax/swing/plaf/metal/MetalSplitPaneDivider.h | 60 + libjava/javax/swing/plaf/metal/MetalSplitPaneUI.h | 43 + .../metal/MetalTabbedPaneUI$TabbedPaneLayout.h | 43 + libjava/javax/swing/plaf/metal/MetalTabbedPaneUI.h | 85 + libjava/javax/swing/plaf/metal/MetalTextFieldUI.h | 46 + libjava/javax/swing/plaf/metal/MetalTheme.h | 94 + .../javax/swing/plaf/metal/MetalToggleButtonUI.h | 65 + .../metal/MetalToolBarUI$MetalContainerListener.h | 39 + .../metal/MetalToolBarUI$MetalDockingListener.h | 52 + .../metal/MetalToolBarUI$MetalRolloverListener.h | 39 + libjava/javax/swing/plaf/metal/MetalToolBarUI.h | 76 + libjava/javax/swing/plaf/metal/MetalToolTipUI.h | 76 + .../plaf/metal/MetalTreeUI$LineStyleListener.h | 48 + libjava/javax/swing/plaf/metal/MetalTreeUI.h | 80 + libjava/javax/swing/plaf/metal/MetalUtils.h | 67 + libjava/javax/swing/plaf/metal/OceanTheme.h | 62 + libjava/javax/swing/plaf/multi/MultiButtonUI.h | 66 + .../javax/swing/plaf/multi/MultiColorChooserUI.h | 66 + libjava/javax/swing/plaf/multi/MultiComboBoxUI.h | 70 + .../javax/swing/plaf/multi/MultiDesktopIconUI.h | 66 + .../javax/swing/plaf/multi/MultiDesktopPaneUI.h | 66 + .../javax/swing/plaf/multi/MultiFileChooserUI.h | 78 + .../javax/swing/plaf/multi/MultiInternalFrameUI.h | 66 + libjava/javax/swing/plaf/multi/MultiLabelUI.h | 66 + libjava/javax/swing/plaf/multi/MultiListUI.h | 72 + libjava/javax/swing/plaf/multi/MultiLookAndFeel.h | 50 + libjava/javax/swing/plaf/multi/MultiMenuBarUI.h | 66 + libjava/javax/swing/plaf/multi/MultiMenuItemUI.h | 66 + libjava/javax/swing/plaf/multi/MultiOptionPaneUI.h | 69 + libjava/javax/swing/plaf/multi/MultiPanelUI.h | 66 + libjava/javax/swing/plaf/multi/MultiPopupMenuUI.h | 66 + .../javax/swing/plaf/multi/MultiProgressBarUI.h | 66 + libjava/javax/swing/plaf/multi/MultiRootPaneUI.h | 66 + libjava/javax/swing/plaf/multi/MultiScrollBarUI.h | 66 + libjava/javax/swing/plaf/multi/MultiScrollPaneUI.h | 66 + libjava/javax/swing/plaf/multi/MultiSeparatorUI.h | 66 + libjava/javax/swing/plaf/multi/MultiSliderUI.h | 66 + libjava/javax/swing/plaf/multi/MultiSpinnerUI.h | 66 + libjava/javax/swing/plaf/multi/MultiSplitPaneUI.h | 73 + libjava/javax/swing/plaf/multi/MultiTabbedPaneUI.h | 71 + .../javax/swing/plaf/multi/MultiTableHeaderUI.h | 66 + libjava/javax/swing/plaf/multi/MultiTableUI.h | 66 + libjava/javax/swing/plaf/multi/MultiTextUI.h | 84 + libjava/javax/swing/plaf/multi/MultiToolBarUI.h | 66 + libjava/javax/swing/plaf/multi/MultiToolTipUI.h | 66 + libjava/javax/swing/plaf/multi/MultiTreeUI.h | 82 + libjava/javax/swing/plaf/multi/MultiViewportUI.h | 66 + libjava/javax/swing/plaf/synth/ColorType.h | 49 + libjava/javax/swing/plaf/synth/Region.h | 102 + libjava/javax/swing/plaf/synth/SynthConstants.h | 41 + libjava/javax/swing/plaf/synth/SynthContext.h | 48 + .../javax/swing/plaf/synth/SynthGraphicsUtils.h | 58 + libjava/javax/swing/plaf/synth/SynthLookAndFeel.h | 67 + libjava/javax/swing/plaf/synth/SynthPainter.h | 156 + libjava/javax/swing/plaf/synth/SynthStyle.h | 68 + libjava/javax/swing/plaf/synth/SynthStyleFactory.h | 39 + libjava/javax/swing/table/AbstractTableModel.h | 64 + .../table/DefaultTableCellRenderer$UIResource.h | 32 + .../javax/swing/table/DefaultTableCellRenderer.h | 69 + .../javax/swing/table/DefaultTableColumnModel.h | 96 + libjava/javax/swing/table/DefaultTableModel.h | 81 + ...sibleJTableHeader$AccessibleJTableHeaderEntry.h | 125 + .../table/JTableHeader$AccessibleJTableHeader.h | 53 + libjava/javax/swing/table/JTableHeader.h | 120 + libjava/javax/swing/table/TableCellEditor.h | 51 + libjava/javax/swing/table/TableCellRenderer.h | 40 + libjava/javax/swing/table/TableColumn.h | 105 + libjava/javax/swing/table/TableColumnModel.h | 58 + libjava/javax/swing/table/TableModel.h | 44 + libjava/javax/swing/text/AbstractDocument$1.h | 38 + libjava/javax/swing/text/AbstractDocument$2.h | 38 + .../swing/text/AbstractDocument$AbstractElement.h | 83 + .../swing/text/AbstractDocument$AttributeContext.h | 39 + .../swing/text/AbstractDocument$BidiElement.h | 39 + .../swing/text/AbstractDocument$BidiRootElement.h | 38 + .../swing/text/AbstractDocument$BranchElement.h | 57 + libjava/javax/swing/text/AbstractDocument$Bypass.h | 43 + .../javax/swing/text/AbstractDocument$Content.h | 43 + .../text/AbstractDocument$DefaultDocumentEvent.h | 62 + .../swing/text/AbstractDocument$ElementEdit.h | 46 + .../swing/text/AbstractDocument$LeafElement.h | 53 + libjava/javax/swing/text/AbstractDocument.h | 166 + libjava/javax/swing/text/AbstractWriter.h | 91 + .../javax/swing/text/AsyncBoxView$ChildLocator.h | 61 + libjava/javax/swing/text/AsyncBoxView$ChildState.h | 63 + libjava/javax/swing/text/AsyncBoxView$FlushTask.h | 38 + libjava/javax/swing/text/AsyncBoxView.h | 116 + .../swing/text/AttributeSet$CharacterAttribute.h | 31 + .../javax/swing/text/AttributeSet$ColorAttribute.h | 31 + .../javax/swing/text/AttributeSet$FontAttribute.h | 31 + .../swing/text/AttributeSet$ParagraphAttribute.h | 31 + libjava/javax/swing/text/AttributeSet.h | 42 + libjava/javax/swing/text/BadLocationException.h | 38 + libjava/javax/swing/text/BoxView.h | 115 + libjava/javax/swing/text/Caret.h | 61 + libjava/javax/swing/text/ChangedCharSetException.h | 39 + libjava/javax/swing/text/ComponentView$1.h | 38 + .../javax/swing/text/ComponentView$Interceptor.h | 63 + libjava/javax/swing/text/ComponentView.h | 68 + libjava/javax/swing/text/CompositeView.h | 86 + libjava/javax/swing/text/DateFormatter.h | 44 + .../swing/text/DefaultCaret$BlinkTimerListener.h | 49 + libjava/javax/swing/text/DefaultCaret$Bypass.h | 42 + .../swing/text/DefaultCaret$DocumentHandler.h | 44 + .../text/DefaultCaret$PropertyChangeHandler.h | 45 + libjava/javax/swing/text/DefaultCaret.h | 161 + .../swing/text/DefaultEditorKit$BackwardAction.h | 36 + .../javax/swing/text/DefaultEditorKit$BeepAction.h | 43 + .../swing/text/DefaultEditorKit$BeginAction.h | 44 + .../swing/text/DefaultEditorKit$BeginLineAction.h | 44 + .../swing/text/DefaultEditorKit$BeginWordAction.h | 44 + .../javax/swing/text/DefaultEditorKit$CopyAction.h | 43 + .../javax/swing/text/DefaultEditorKit$CutAction.h | 43 + .../text/DefaultEditorKit$DefaultKeyTypedAction.h | 43 + .../text/DefaultEditorKit$DeleteNextCharAction.h | 44 + .../text/DefaultEditorKit$DeletePrevCharAction.h | 44 + .../javax/swing/text/DefaultEditorKit$DownAction.h | 36 + .../javax/swing/text/DefaultEditorKit$EndAction.h | 44 + .../swing/text/DefaultEditorKit$EndLineAction.h | 44 + .../swing/text/DefaultEditorKit$EndWordAction.h | 44 + .../swing/text/DefaultEditorKit$ForwardAction.h | 36 + .../text/DefaultEditorKit$InsertBreakAction.h | 43 + .../text/DefaultEditorKit$InsertContentAction.h | 43 + .../swing/text/DefaultEditorKit$InsertTabAction.h | 43 + .../swing/text/DefaultEditorKit$NextWordAction.h | 44 + .../swing/text/DefaultEditorKit$PasteAction.h | 43 + .../text/DefaultEditorKit$PreviousWordAction.h | 44 + .../swing/text/DefaultEditorKit$SelectAllAction.h | 44 + .../swing/text/DefaultEditorKit$SelectLineAction.h | 44 + .../swing/text/DefaultEditorKit$SelectWordAction.h | 44 + .../DefaultEditorKit$SelectionBackwardAction.h | 36 + .../text/DefaultEditorKit$SelectionBeginAction.h | 44 + .../DefaultEditorKit$SelectionBeginLineAction.h | 44 + .../DefaultEditorKit$SelectionBeginWordAction.h | 44 + .../text/DefaultEditorKit$SelectionDownAction.h | 36 + .../text/DefaultEditorKit$SelectionEndAction.h | 44 + .../text/DefaultEditorKit$SelectionEndLineAction.h | 44 + .../text/DefaultEditorKit$SelectionEndWordAction.h | 44 + .../text/DefaultEditorKit$SelectionForwardAction.h | 36 + .../DefaultEditorKit$SelectionNextWordAction.h | 44 + .../DefaultEditorKit$SelectionPreviousWordAction.h | 44 + .../text/DefaultEditorKit$SelectionUpAction.h | 36 + .../javax/swing/text/DefaultEditorKit$UpAction.h | 36 + libjava/javax/swing/text/DefaultEditorKit.h | 100 + .../DefaultFormatter$FormatterDocumentFilter.h | 45 + libjava/javax/swing/text/DefaultFormatter.h | 58 + libjava/javax/swing/text/DefaultFormatterFactory.h | 53 + .../DefaultHighlighter$DefaultHighlightPainter.h | 49 + .../swing/text/DefaultHighlighter$HighlightEntry.h | 44 + .../text/DefaultHighlighter$LayerHighlightEntry.h | 50 + libjava/javax/swing/text/DefaultHighlighter.h | 67 + .../DefaultStyledDocument$AttributeUndoableEdit.h | 42 + .../javax/swing/text/DefaultStyledDocument$Edit.h | 52 + .../DefaultStyledDocument$ElementBuffer$Edit.h | 42 + .../text/DefaultStyledDocument$ElementBuffer.h | 93 + .../swing/text/DefaultStyledDocument$ElementSpec.h | 61 + .../text/DefaultStyledDocument$SectionElement.h | 37 + .../DefaultStyledDocument$StyleChangeListener.h | 42 + libjava/javax/swing/text/DefaultStyledDocument.h | 95 + libjava/javax/swing/text/DefaultTextUI.h | 32 + libjava/javax/swing/text/Document.h | 61 + .../javax/swing/text/DocumentFilter$FilterBypass.h | 38 + libjava/javax/swing/text/DocumentFilter.h | 37 + libjava/javax/swing/text/EditorKit.h | 54 + libjava/javax/swing/text/Element.h | 43 + .../javax/swing/text/ElementIterator$ElementRef.h | 38 + libjava/javax/swing/text/ElementIterator.h | 46 + libjava/javax/swing/text/EmptyAttributeSet$1.h | 39 + libjava/javax/swing/text/EmptyAttributeSet.h | 44 + libjava/javax/swing/text/FieldView$1.h | 42 + libjava/javax/swing/text/FieldView.h | 73 + libjava/javax/swing/text/FlowView$FlowStrategy.h | 62 + libjava/javax/swing/text/FlowView$LogicalView.h | 68 + libjava/javax/swing/text/FlowView.h | 69 + .../swing/text/GapContent$GapContentPosition.h | 40 + libjava/javax/swing/text/GapContent$InsertUndo.h | 44 + libjava/javax/swing/text/GapContent$Mark.h | 40 + libjava/javax/swing/text/GapContent$UndoPosRef.h | 41 + libjava/javax/swing/text/GapContent$UndoRemove.h | 43 + libjava/javax/swing/text/GapContent.h | 91 + .../swing/text/GlyphView$DefaultGlyphPainter.h | 60 + libjava/javax/swing/text/GlyphView$GlyphPainter.h | 55 + .../javax/swing/text/GlyphView$J2DGlyphPainter.h | 65 + libjava/javax/swing/text/GlyphView.h | 100 + libjava/javax/swing/text/Highlighter$Highlight.h | 35 + .../swing/text/Highlighter$HighlightPainter.h | 41 + libjava/javax/swing/text/Highlighter.h | 51 + libjava/javax/swing/text/IconView.h | 49 + libjava/javax/swing/text/InternationalFormatter.h | 64 + .../text/JTextComponent$AccessibleJTextComponent.h | 95 + .../swing/text/JTextComponent$DefaultKeymap.h | 56 + .../text/JTextComponent$DefaultTransferHandler.h | 56 + .../javax/swing/text/JTextComponent$KeyBinding.h | 35 + .../swing/text/JTextComponent$KeymapActionMap.h | 45 + .../swing/text/JTextComponent$KeymapWrapper.h | 45 + libjava/javax/swing/text/JTextComponent.h | 173 + libjava/javax/swing/text/Keymap.h | 48 + libjava/javax/swing/text/LabelView.h | 87 + .../swing/text/LayeredHighlighter$LayerPainter.h | 44 + libjava/javax/swing/text/LayeredHighlighter.h | 55 + libjava/javax/swing/text/LayoutQueue.h | 42 + libjava/javax/swing/text/MaskFormatter.h | 72 + libjava/javax/swing/text/MutableAttributeSet.h | 47 + .../swing/text/NavigationFilter$FilterBypass.h | 37 + libjava/javax/swing/text/NavigationFilter.h | 40 + libjava/javax/swing/text/NumberFormatter.h | 42 + libjava/javax/swing/text/ParagraphView$Row.h | 52 + libjava/javax/swing/text/ParagraphView.h | 82 + libjava/javax/swing/text/PasswordView.h | 58 + libjava/javax/swing/text/PlainDocument.h | 56 + libjava/javax/swing/text/PlainView.h | 103 + libjava/javax/swing/text/Position$Bias.h | 38 + libjava/javax/swing/text/Position.h | 32 + libjava/javax/swing/text/Segment.h | 55 + libjava/javax/swing/text/SimpleAttributeSet.h | 65 + .../javax/swing/text/StringContent$InsertUndo.h | 43 + libjava/javax/swing/text/StringContent$Mark.h | 37 + .../javax/swing/text/StringContent$RemoveUndo.h | 43 + .../swing/text/StringContent$StickyPosition.h | 39 + .../javax/swing/text/StringContent$UndoPosRef.h | 41 + libjava/javax/swing/text/StringContent.h | 71 + libjava/javax/swing/text/Style.h | 54 + .../swing/text/StyleConstants$CharacterConstants.h | 45 + .../swing/text/StyleConstants$ColorConstants.h | 34 + .../swing/text/StyleConstants$FontConstants.h | 36 + .../swing/text/StyleConstants$ParagraphConstants.h | 41 + libjava/javax/swing/text/StyleConstants.h | 126 + libjava/javax/swing/text/StyleContext$1.h | 40 + libjava/javax/swing/text/StyleContext$NamedStyle.h | 82 + .../javax/swing/text/StyleContext$SimpleFontSpec.h | 39 + .../swing/text/StyleContext$SmallAttributeSet.h | 57 + libjava/javax/swing/text/StyleContext.h | 110 + libjava/javax/swing/text/StyledDocument.h | 80 + .../swing/text/StyledEditorKit$AlignmentAction.h | 46 + .../javax/swing/text/StyledEditorKit$BoldAction.h | 43 + .../swing/text/StyledEditorKit$CaretTracker.h | 42 + .../swing/text/StyledEditorKit$FontFamilyAction.h | 46 + .../swing/text/StyledEditorKit$FontSizeAction.h | 46 + .../swing/text/StyledEditorKit$ForegroundAction.h | 47 + .../swing/text/StyledEditorKit$ItalicAction.h | 43 + .../swing/text/StyledEditorKit$StyledTextAction.h | 53 + .../swing/text/StyledEditorKit$StyledViewFactory.h | 36 + .../swing/text/StyledEditorKit$UnderlineAction.h | 43 + libjava/javax/swing/text/StyledEditorKit.h | 60 + libjava/javax/swing/text/TabExpander.h | 32 + libjava/javax/swing/text/TabSet.h | 48 + libjava/javax/swing/text/TabStop.h | 58 + libjava/javax/swing/text/TabableView.h | 34 + libjava/javax/swing/text/TableView$TableCell.h | 45 + libjava/javax/swing/text/TableView$TableRow.h | 56 + libjava/javax/swing/text/TableView.h | 69 + .../text/TextAction$HorizontalMovementAction.h | 50 + .../swing/text/TextAction$VerticalMovementAction.h | 50 + libjava/javax/swing/text/TextAction.h | 53 + libjava/javax/swing/text/Utilities.h | 61 + libjava/javax/swing/text/View.h | 116 + libjava/javax/swing/text/ViewFactory.h | 34 + .../swing/text/WrappedPlainView$WrappedLine.h | 67 + .../text/WrappedPlainView$WrappedLineCreator.h | 40 + libjava/javax/swing/text/WrappedPlainView.h | 92 + libjava/javax/swing/text/ZoneView$Zone.h | 41 + libjava/javax/swing/text/ZoneView.h | 74 + libjava/javax/swing/text/html/BRView.h | 37 + .../javax/swing/text/html/BlockView$PositionInfo.h | 64 + libjava/javax/swing/text/html/BlockView.h | 110 + libjava/javax/swing/text/html/CSS$Attribute.h | 112 + libjava/javax/swing/text/html/CSS.h | 50 + libjava/javax/swing/text/html/CSSBorder.h | 90 + .../swing/text/html/CSSParser$CSSParserCallback.h | 40 + libjava/javax/swing/text/html/CSSParser.h | 82 + .../swing/text/html/FormSubmitEvent$MethodType.h | 37 + libjava/javax/swing/text/html/FormSubmitEvent.h | 55 + libjava/javax/swing/text/html/FormView$1.h | 57 + .../swing/text/html/FormView$MouseEventListener.h | 51 + .../javax/swing/text/html/FormView$SubmitThread.h | 61 + libjava/javax/swing/text/html/FormView.h | 76 + .../swing/text/html/FrameSetView$FrameSetRow.h | 48 + libjava/javax/swing/text/html/FrameSetView.h | 53 + libjava/javax/swing/text/html/FrameView.h | 58 + .../javax/swing/text/html/HRuleView$Beginning.h | 43 + libjava/javax/swing/text/html/HRuleView.h | 54 + libjava/javax/swing/text/html/HTML$Attribute.h | 130 + libjava/javax/swing/text/html/HTML$Tag.h | 139 + libjava/javax/swing/text/html/HTML$UnknownTag.h | 38 + libjava/javax/swing/text/html/HTML.h | 55 + libjava/javax/swing/text/html/HTMLDocument$1.h | 44 + .../swing/text/html/HTMLDocument$BlockElement.h | 43 + .../text/html/HTMLDocument$HTMLReader$AreaAction.h | 44 + .../text/html/HTMLDocument$HTMLReader$BaseAction.h | 43 + .../html/HTMLDocument$HTMLReader$BlockAction.h | 43 + .../html/HTMLDocument$HTMLReader$CharacterAction.h | 43 + .../html/HTMLDocument$HTMLReader$ConvertAction.h | 44 + .../text/html/HTMLDocument$HTMLReader$FormAction.h | 46 + .../html/HTMLDocument$HTMLReader$FormTagAction.h | 42 + .../text/html/HTMLDocument$HTMLReader$HeadAction.h | 44 + .../html/HTMLDocument$HTMLReader$HiddenAction.h | 43 + .../html/HTMLDocument$HTMLReader$IsindexAction.h | 42 + .../text/html/HTMLDocument$HTMLReader$LinkAction.h | 43 + .../text/html/HTMLDocument$HTMLReader$MapAction.h | 44 + .../text/html/HTMLDocument$HTMLReader$MetaAction.h | 44 + .../html/HTMLDocument$HTMLReader$ParagraphAction.h | 43 + .../text/html/HTMLDocument$HTMLReader$PreAction.h | 43 + .../html/HTMLDocument$HTMLReader$SpecialAction.h | 42 + .../html/HTMLDocument$HTMLReader$StyleAction.h | 44 + .../text/html/HTMLDocument$HTMLReader$TagAction.h | 43 + .../html/HTMLDocument$HTMLReader$TitleAction.h | 44 + .../swing/text/html/HTMLDocument$HTMLReader.h | 111 + .../javax/swing/text/html/HTMLDocument$Iterator.h | 43 + .../swing/text/html/HTMLDocument$LeafIterator.h | 51 + .../swing/text/html/HTMLDocument$RunElement.h | 43 + libjava/javax/swing/text/html/HTMLDocument.h | 114 + .../swing/text/html/HTMLEditorKit$HTMLFactory.h | 38 + .../swing/text/html/HTMLEditorKit$HTMLTextAction.h | 52 + .../text/html/HTMLEditorKit$InsertHTMLTextAction.h | 66 + .../swing/text/html/HTMLEditorKit$LinkController.h | 63 + .../javax/swing/text/html/HTMLEditorKit$Parser.h | 37 + .../swing/text/html/HTMLEditorKit$ParserCallback.h | 48 + libjava/javax/swing/text/html/HTMLEditorKit.h | 119 + .../swing/text/html/HTMLFrameHyperlinkEvent.h | 54 + libjava/javax/swing/text/html/HTMLWriter.h | 86 + libjava/javax/swing/text/html/ImageView$1.h | 46 + libjava/javax/swing/text/html/ImageView$Observer.h | 48 + libjava/javax/swing/text/html/ImageView.h | 126 + libjava/javax/swing/text/html/InlineView.h | 69 + libjava/javax/swing/text/html/ListView.h | 54 + libjava/javax/swing/text/html/MinimalHTMLWriter.h | 80 + .../html/MultiAttributeSet$MultiNameEnumeration.h | 45 + libjava/javax/swing/text/html/MultiAttributeSet.h | 53 + libjava/javax/swing/text/html/MultiStyle.h | 56 + libjava/javax/swing/text/html/NullView.h | 51 + libjava/javax/swing/text/html/ObjectView.h | 46 + libjava/javax/swing/text/html/Option.h | 50 + libjava/javax/swing/text/html/ParagraphView.h | 88 + libjava/javax/swing/text/html/ResetableModel.h | 35 + .../javax/swing/text/html/ResetablePlainDocument.h | 43 + .../swing/text/html/ResetableToggleButtonModel.h | 41 + .../javax/swing/text/html/SelectComboBoxModel.h | 43 + libjava/javax/swing/text/html/SelectListModel.h | 46 + .../javax/swing/text/html/StyleSheet$BoxPainter.h | 65 + .../javax/swing/text/html/StyleSheet$CSSStyle.h | 76 + .../html/StyleSheet$CSSStyleSheetParserCallback.h | 68 + .../javax/swing/text/html/StyleSheet$CssParser.h | 69 + .../javax/swing/text/html/StyleSheet$ListPainter.h | 54 + libjava/javax/swing/text/html/StyleSheet.h | 121 + libjava/javax/swing/text/html/TableView$CellView.h | 46 + libjava/javax/swing/text/html/TableView$RowView.h | 55 + libjava/javax/swing/text/html/TableView.h | 119 + libjava/javax/swing/text/html/ViewAttributeSet.h | 45 + .../javax/swing/text/html/parser/AttributeList$1.h | 41 + .../javax/swing/text/html/parser/AttributeList.h | 80 + .../javax/swing/text/html/parser/ContentModel.h | 53 + libjava/javax/swing/text/html/parser/DTD.h | 89 + .../javax/swing/text/html/parser/DTDConstants.h | 72 + .../text/html/parser/DocumentParser$gnuParser.h | 54 + .../javax/swing/text/html/parser/DocumentParser.h | 57 + libjava/javax/swing/text/html/parser/Element$1.h | 41 + libjava/javax/swing/text/html/parser/Element.h | 90 + libjava/javax/swing/text/html/parser/Entity$1.h | 41 + libjava/javax/swing/text/html/parser/Entity.h | 78 + libjava/javax/swing/text/html/parser/Parser$1.h | 63 + libjava/javax/swing/text/html/parser/Parser.h | 96 + .../text/html/parser/ParserDelegator$gnuParser.h | 57 + .../javax/swing/text/html/parser/ParserDelegator.h | 52 + libjava/javax/swing/text/html/parser/TagElement.h | 52 + libjava/javax/swing/text/rtf/ControlWordToken.h | 38 + libjava/javax/swing/text/rtf/RTFEditorKit.h | 39 + libjava/javax/swing/text/rtf/RTFParseException.h | 36 + libjava/javax/swing/text/rtf/RTFParser.h | 49 + libjava/javax/swing/text/rtf/RTFScanner.h | 50 + libjava/javax/swing/text/rtf/TextToken.h | 36 + libjava/javax/swing/text/rtf/Token.h | 41 + .../tree/AbstractLayoutCache$NodeDimensions.h | 40 + libjava/javax/swing/tree/AbstractLayoutCache.h | 89 + ...efaultMutableTreeNode$BreadthFirstEnumeration.h | 39 + .../DefaultMutableTreeNode$PostorderEnumeration.h | 42 + .../DefaultMutableTreeNode$PreorderEnumeration.h | 42 + libjava/javax/swing/tree/DefaultMutableTreeNode.h | 105 + .../tree/DefaultTreeCellEditor$DefaultTextField.h | 55 + .../tree/DefaultTreeCellEditor$EditorContainer.h | 49 + .../DefaultTreeCellEditor$RealEditorListener.h | 43 + libjava/javax/swing/tree/DefaultTreeCellEditor.h | 113 + libjava/javax/swing/tree/DefaultTreeCellRenderer.h | 105 + libjava/javax/swing/tree/DefaultTreeModel.h | 86 + .../DefaultTreeSelectionModel$PathPlaceHolder.h | 36 + .../javax/swing/tree/DefaultTreeSelectionModel.h | 119 + libjava/javax/swing/tree/ExpandVetoException.h | 40 + .../swing/tree/FixedHeightLayoutCache$NodeRecord.h | 54 + libjava/javax/swing/tree/FixedHeightLayoutCache.h | 82 + libjava/javax/swing/tree/MutableTreeNode.h | 45 + libjava/javax/swing/tree/RowMapper.h | 35 + libjava/javax/swing/tree/TreeCellEditor.h | 51 + libjava/javax/swing/tree/TreeCellRenderer.h | 40 + libjava/javax/swing/tree/TreeModel.h | 44 + libjava/javax/swing/tree/TreeNode.h | 38 + libjava/javax/swing/tree/TreePath.h | 56 + libjava/javax/swing/tree/TreeSelectionModel.h | 76 + .../tree/VariableHeightLayoutCache$NodeRecord.h | 54 + .../javax/swing/tree/VariableHeightLayoutCache.h | 85 + libjava/javax/swing/undo/AbstractUndoableEdit.h | 54 + libjava/javax/swing/undo/CannotRedoException.h | 32 + libjava/javax/swing/undo/CannotUndoException.h | 32 + libjava/javax/swing/undo/CompoundEdit.h | 56 + libjava/javax/swing/undo/StateEdit.h | 49 + libjava/javax/swing/undo/StateEditable.h | 34 + libjava/javax/swing/undo/UndoManager.h | 66 + libjava/javax/swing/undo/UndoableEdit.h | 42 + libjava/javax/swing/undo/UndoableEditSupport.h | 61 + .../javax/transaction/HeuristicCommitException.h | 30 + .../javax/transaction/HeuristicMixedException.h | 30 + .../javax/transaction/HeuristicRollbackException.h | 30 + .../transaction/InvalidTransactionException.h | 30 + libjava/javax/transaction/NotSupportedException.h | 30 + libjava/javax/transaction/RollbackException.h | 30 + libjava/javax/transaction/Status.h | 38 + libjava/javax/transaction/Synchronization.h | 30 + libjava/javax/transaction/SystemException.h | 32 + libjava/javax/transaction/Transaction.h | 40 + libjava/javax/transaction/TransactionManager.h | 38 + .../transaction/TransactionRequiredException.h | 30 + .../transaction/TransactionRolledbackException.h | 30 + libjava/javax/transaction/UserTransaction.h | 34 + libjava/javax/transaction/xa/XAException.h | 60 + libjava/javax/transaction/xa/XAResource.h | 55 + libjava/javax/transaction/xa/Xid.h | 38 + libjava/javax/xml/XMLConstants.h | 41 + .../xml/datatype/DatatypeConfigurationException.h | 35 + .../javax/xml/datatype/DatatypeConstants$Field.h | 39 + libjava/javax/xml/datatype/DatatypeConstants.h | 73 + libjava/javax/xml/datatype/DatatypeFactory.h | 67 + libjava/javax/xml/datatype/Duration.h | 70 + libjava/javax/xml/datatype/XMLGregorianCalendar.h | 84 + libjava/javax/xml/namespace/NamespaceContext.h | 34 + libjava/javax/xml/namespace/QName.h | 50 + libjava/javax/xml/parsers/DocumentBuilder.h | 71 + libjava/javax/xml/parsers/DocumentBuilderFactory.h | 73 + .../javax/xml/parsers/FactoryConfigurationError.h | 40 + .../xml/parsers/ParserConfigurationException.h | 33 + libjava/javax/xml/parsers/SAXParser.h | 73 + libjava/javax/xml/parsers/SAXParserFactory.h | 59 + libjava/javax/xml/stream/EventFilter.h | 36 + .../javax/xml/stream/FactoryConfigurationError.h | 41 + libjava/javax/xml/stream/Location.h | 36 + libjava/javax/xml/stream/StreamFilter.h | 33 + libjava/javax/xml/stream/XMLEventFactory.h | 86 + libjava/javax/xml/stream/XMLEventReader.h | 44 + libjava/javax/xml/stream/XMLEventWriter.h | 49 + libjava/javax/xml/stream/XMLInputFactory.h | 85 + libjava/javax/xml/stream/XMLOutputFactory.h | 57 + libjava/javax/xml/stream/XMLReporter.h | 33 + libjava/javax/xml/stream/XMLResolver.h | 32 + libjava/javax/xml/stream/XMLStreamConstants.h | 46 + libjava/javax/xml/stream/XMLStreamException.h | 44 + libjava/javax/xml/stream/XMLStreamReader.h | 84 + libjava/javax/xml/stream/XMLStreamWriter.h | 69 + libjava/javax/xml/stream/events/Attribute.h | 62 + libjava/javax/xml/stream/events/Characters.h | 61 + libjava/javax/xml/stream/events/Comment.h | 59 + libjava/javax/xml/stream/events/DTD.h | 62 + libjava/javax/xml/stream/events/EndDocument.h | 58 + libjava/javax/xml/stream/events/EndElement.h | 59 + .../javax/xml/stream/events/EntityDeclaration.h | 64 + libjava/javax/xml/stream/events/EntityReference.h | 61 + libjava/javax/xml/stream/events/Namespace.h | 61 + .../javax/xml/stream/events/NotationDeclaration.h | 61 + .../xml/stream/events/ProcessingInstruction.h | 60 + libjava/javax/xml/stream/events/StartDocument.h | 64 + libjava/javax/xml/stream/events/StartElement.h | 65 + libjava/javax/xml/stream/events/XMLEvent.h | 58 + .../javax/xml/stream/util/EventReaderDelegate.h | 55 + libjava/javax/xml/stream/util/ReaderDelegate.h | 95 + libjava/javax/xml/stream/util/XMLEventAllocator.h | 43 + libjava/javax/xml/stream/util/XMLEventConsumer.h | 39 + libjava/javax/xml/transform/ErrorListener.h | 35 + libjava/javax/xml/transform/OutputKeys.h | 42 + libjava/javax/xml/transform/Result.h | 35 + libjava/javax/xml/transform/Source.h | 33 + libjava/javax/xml/transform/SourceLocator.h | 35 + libjava/javax/xml/transform/Templates.h | 34 + libjava/javax/xml/transform/Transformer.h | 50 + .../transform/TransformerConfigurationException.h | 41 + libjava/javax/xml/transform/TransformerException.h | 52 + libjava/javax/xml/transform/TransformerFactory.h | 54 + .../TransformerFactoryConfigurationError.h | 41 + libjava/javax/xml/transform/URIResolver.h | 33 + libjava/javax/xml/transform/dom/DOMLocator.h | 49 + libjava/javax/xml/transform/dom/DOMResult.h | 61 + libjava/javax/xml/transform/dom/DOMSource.h | 56 + libjava/javax/xml/transform/sax/SAXResult.h | 62 + libjava/javax/xml/transform/sax/SAXSource.h | 61 + .../xml/transform/sax/SAXTransformerFactory.h | 58 + libjava/javax/xml/transform/sax/TemplatesHandler.h | 62 + .../javax/xml/transform/sax/TransformerHandler.h | 73 + libjava/javax/xml/transform/stream/StreamResult.h | 52 + libjava/javax/xml/transform/stream/StreamSource.h | 57 + libjava/javax/xml/validation/Schema.h | 37 + libjava/javax/xml/validation/SchemaFactory.h | 85 + libjava/javax/xml/validation/SchemaFactoryLoader.h | 35 + libjava/javax/xml/validation/TypeInfoProvider.h | 47 + libjava/javax/xml/validation/Validator.h | 69 + libjava/javax/xml/validation/ValidatorHandler.h | 84 + libjava/javax/xml/xpath/XPath.h | 61 + libjava/javax/xml/xpath/XPathConstants.h | 42 + libjava/javax/xml/xpath/XPathException.h | 42 + libjava/javax/xml/xpath/XPathExpression.h | 49 + libjava/javax/xml/xpath/XPathExpressionException.h | 36 + libjava/javax/xml/xpath/XPathFactory.h | 49 + .../xml/xpath/XPathFactoryConfigurationException.h | 36 + libjava/javax/xml/xpath/XPathFunction.h | 32 + libjava/javax/xml/xpath/XPathFunctionException.h | 36 + libjava/javax/xml/xpath/XPathFunctionResolver.h | 37 + libjava/javax/xml/xpath/XPathVariableResolver.h | 36 + libjava/link.cc | 217 +- libjava/org/ietf/jgss/ChannelBinding.h | 52 + libjava/org/ietf/jgss/GSSContext.h | 80 + libjava/org/ietf/jgss/GSSCredential.h | 52 + libjava/org/ietf/jgss/GSSException.h | 72 + libjava/org/ietf/jgss/GSSManager.h | 61 + libjava/org/ietf/jgss/GSSName.h | 49 + libjava/org/ietf/jgss/MessageProp.h | 54 + libjava/org/ietf/jgss/Oid.h | 53 + libjava/org/omg/CORBA/ACTIVITY_COMPLETED.h | 39 + libjava/org/omg/CORBA/ACTIVITY_REQUIRED.h | 39 + libjava/org/omg/CORBA/ARG_IN.h | 32 + libjava/org/omg/CORBA/ARG_INOUT.h | 32 + libjava/org/omg/CORBA/ARG_OUT.h | 32 + libjava/org/omg/CORBA/Any.h | 103 + libjava/org/omg/CORBA/AnyHolder.h | 47 + libjava/org/omg/CORBA/AnySeqHelper.h | 47 + libjava/org/omg/CORBA/AnySeqHolder.h | 59 + libjava/org/omg/CORBA/BAD_CONTEXT.h | 39 + libjava/org/omg/CORBA/BAD_INV_ORDER.h | 39 + libjava/org/omg/CORBA/BAD_OPERATION.h | 39 + libjava/org/omg/CORBA/BAD_PARAM.h | 39 + libjava/org/omg/CORBA/BAD_POLICY.h | 32 + libjava/org/omg/CORBA/BAD_POLICY_TYPE.h | 32 + libjava/org/omg/CORBA/BAD_POLICY_VALUE.h | 32 + libjava/org/omg/CORBA/BAD_QOS.h | 39 + libjava/org/omg/CORBA/BAD_TYPECODE.h | 39 + libjava/org/omg/CORBA/BooleanHolder.h | 46 + libjava/org/omg/CORBA/BooleanSeqHelper.h | 47 + libjava/org/omg/CORBA/BooleanSeqHolder.h | 58 + libjava/org/omg/CORBA/Bounds.h | 33 + libjava/org/omg/CORBA/ByteHolder.h | 46 + libjava/org/omg/CORBA/CODESET_INCOMPATIBLE.h | 39 + libjava/org/omg/CORBA/COMM_FAILURE.h | 39 + libjava/org/omg/CORBA/CTX_RESTRICT_SCOPE.h | 32 + libjava/org/omg/CORBA/CharHolder.h | 46 + libjava/org/omg/CORBA/CharSeqHelper.h | 47 + libjava/org/omg/CORBA/CharSeqHolder.h | 58 + libjava/org/omg/CORBA/CompletionStatus.h | 50 + libjava/org/omg/CORBA/CompletionStatusHelper.h | 46 + libjava/org/omg/CORBA/Context.h | 41 + libjava/org/omg/CORBA/ContextList.h | 36 + libjava/org/omg/CORBA/Current.h | 56 + libjava/org/omg/CORBA/CurrentHelper$_CurrentStub.h | 39 + libjava/org/omg/CORBA/CurrentHelper.h | 48 + libjava/org/omg/CORBA/CurrentHolder.h | 44 + libjava/org/omg/CORBA/CurrentOperations.h | 31 + libjava/org/omg/CORBA/CustomMarshal.h | 35 + libjava/org/omg/CORBA/CustomValue.h | 38 + libjava/org/omg/CORBA/DATA_CONVERSION.h | 39 + libjava/org/omg/CORBA/DataInputStream.h | 82 + libjava/org/omg/CORBA/DataOutputStream.h | 69 + libjava/org/omg/CORBA/DefinitionKind.h | 95 + libjava/org/omg/CORBA/DefinitionKindHelper.h | 46 + libjava/org/omg/CORBA/DomainManager.h | 56 + libjava/org/omg/CORBA/DomainManagerOperations.h | 33 + libjava/org/omg/CORBA/DoubleHolder.h | 46 + libjava/org/omg/CORBA/DoubleSeqHelper.h | 47 + libjava/org/omg/CORBA/DoubleSeqHolder.h | 58 + libjava/org/omg/CORBA/DynAny.h | 104 + libjava/org/omg/CORBA/DynAnyPackage/Invalid.h | 39 + libjava/org/omg/CORBA/DynAnyPackage/InvalidSeq.h | 39 + libjava/org/omg/CORBA/DynAnyPackage/InvalidValue.h | 39 + libjava/org/omg/CORBA/DynAnyPackage/TypeMismatch.h | 39 + libjava/org/omg/CORBA/DynArray.h | 107 + libjava/org/omg/CORBA/DynEnum.h | 109 + libjava/org/omg/CORBA/DynFixed.h | 107 + libjava/org/omg/CORBA/DynSequence.h | 109 + libjava/org/omg/CORBA/DynStruct.h | 111 + libjava/org/omg/CORBA/DynUnion.h | 114 + libjava/org/omg/CORBA/DynValue.h | 111 + libjava/org/omg/CORBA/DynamicImplementation.h | 37 + libjava/org/omg/CORBA/Environment.h | 35 + libjava/org/omg/CORBA/ExceptionList.h | 37 + libjava/org/omg/CORBA/FREE_MEM.h | 39 + libjava/org/omg/CORBA/FieldNameHelper.h | 45 + libjava/org/omg/CORBA/FixedHolder.h | 50 + libjava/org/omg/CORBA/FloatHolder.h | 46 + libjava/org/omg/CORBA/FloatSeqHelper.h | 47 + libjava/org/omg/CORBA/FloatSeqHolder.h | 58 + libjava/org/omg/CORBA/IDLType.h | 61 + libjava/org/omg/CORBA/IDLTypeHelper.h | 48 + libjava/org/omg/CORBA/IDLTypeOperations.h | 36 + libjava/org/omg/CORBA/IMP_LIMIT.h | 39 + libjava/org/omg/CORBA/INITIALIZE.h | 39 + libjava/org/omg/CORBA/INTERNAL.h | 39 + libjava/org/omg/CORBA/INTF_REPOS.h | 39 + libjava/org/omg/CORBA/INVALID_ACTIVITY.h | 39 + libjava/org/omg/CORBA/INVALID_TRANSACTION.h | 39 + libjava/org/omg/CORBA/INV_FLAG.h | 39 + libjava/org/omg/CORBA/INV_IDENT.h | 39 + libjava/org/omg/CORBA/INV_OBJREF.h | 39 + libjava/org/omg/CORBA/INV_POLICY.h | 39 + libjava/org/omg/CORBA/IRObject.h | 59 + libjava/org/omg/CORBA/IRObjectOperations.h | 34 + libjava/org/omg/CORBA/IdentifierHelper.h | 45 + libjava/org/omg/CORBA/IntHolder.h | 46 + libjava/org/omg/CORBA/LocalObject.h | 76 + libjava/org/omg/CORBA/LongHolder.h | 46 + libjava/org/omg/CORBA/LongLongSeqHelper.h | 47 + libjava/org/omg/CORBA/LongLongSeqHolder.h | 58 + libjava/org/omg/CORBA/LongSeqHelper.h | 47 + libjava/org/omg/CORBA/LongSeqHolder.h | 58 + libjava/org/omg/CORBA/MARSHAL.h | 39 + libjava/org/omg/CORBA/NO_IMPLEMENT.h | 39 + libjava/org/omg/CORBA/NO_MEMORY.h | 39 + libjava/org/omg/CORBA/NO_PERMISSION.h | 39 + libjava/org/omg/CORBA/NO_RESOURCES.h | 39 + libjava/org/omg/CORBA/NO_RESPONSE.h | 39 + libjava/org/omg/CORBA/NVList.h | 40 + libjava/org/omg/CORBA/NameValuePair.h | 39 + libjava/org/omg/CORBA/NameValuePairHelper.h | 49 + libjava/org/omg/CORBA/NamedValue.h | 36 + libjava/org/omg/CORBA/OBJECT_NOT_EXIST.h | 39 + libjava/org/omg/CORBA/OBJ_ADAPTER.h | 39 + libjava/org/omg/CORBA/OMGVMCID.h | 32 + libjava/org/omg/CORBA/ORB.h | 137 + .../omg/CORBA/ORBPackage/InconsistentTypeCode.h | 39 + libjava/org/omg/CORBA/ORBPackage/InvalidName.h | 39 + libjava/org/omg/CORBA/Object.h | 55 + libjava/org/omg/CORBA/ObjectHelper.h | 46 + libjava/org/omg/CORBA/ObjectHolder.h | 57 + libjava/org/omg/CORBA/OctetSeqHelper.h | 47 + libjava/org/omg/CORBA/OctetSeqHolder.h | 58 + libjava/org/omg/CORBA/PERSIST_STORE.h | 39 + libjava/org/omg/CORBA/PRIVATE_MEMBER.h | 32 + libjava/org/omg/CORBA/PUBLIC_MEMBER.h | 32 + libjava/org/omg/CORBA/ParameterMode.h | 50 + libjava/org/omg/CORBA/ParameterModeHelper.h | 46 + libjava/org/omg/CORBA/ParameterModeHolder.h | 44 + libjava/org/omg/CORBA/Policy.h | 58 + libjava/org/omg/CORBA/PolicyError.h | 38 + libjava/org/omg/CORBA/PolicyErrorCodeHelper.h | 45 + libjava/org/omg/CORBA/PolicyErrorHelper.h | 46 + libjava/org/omg/CORBA/PolicyErrorHolder.h | 44 + libjava/org/omg/CORBA/PolicyHelper.h | 48 + libjava/org/omg/CORBA/PolicyHolder.h | 44 + libjava/org/omg/CORBA/PolicyListHelper.h | 48 + libjava/org/omg/CORBA/PolicyListHolder.h | 46 + libjava/org/omg/CORBA/PolicyOperations.h | 35 + libjava/org/omg/CORBA/PolicyTypeHelper.h | 45 + libjava/org/omg/CORBA/Principal.h | 39 + libjava/org/omg/CORBA/PrincipalHolder.h | 47 + libjava/org/omg/CORBA/REBIND.h | 39 + libjava/org/omg/CORBA/RepositoryIdHelper.h | 45 + libjava/org/omg/CORBA/Request.h | 63 + libjava/org/omg/CORBA/ServerRequest.h | 44 + libjava/org/omg/CORBA/ServiceDetail.h | 37 + libjava/org/omg/CORBA/ServiceDetailHelper.h | 49 + libjava/org/omg/CORBA/ServiceInformation.h | 38 + libjava/org/omg/CORBA/ServiceInformationHelper.h | 49 + libjava/org/omg/CORBA/ServiceInformationHolder.h | 44 + libjava/org/omg/CORBA/SetOverrideType.h | 46 + libjava/org/omg/CORBA/SetOverrideTypeHelper.h | 46 + libjava/org/omg/CORBA/ShortHolder.h | 46 + libjava/org/omg/CORBA/ShortSeqHelper.h | 47 + libjava/org/omg/CORBA/ShortSeqHolder.h | 58 + libjava/org/omg/CORBA/StringHolder.h | 56 + libjava/org/omg/CORBA/StringSeqHelper.h | 47 + libjava/org/omg/CORBA/StringSeqHolder.h | 58 + libjava/org/omg/CORBA/StringValueHelper.h | 52 + libjava/org/omg/CORBA/StructMember.h | 41 + libjava/org/omg/CORBA/StructMemberHelper.h | 50 + libjava/org/omg/CORBA/SystemException.h | 38 + libjava/org/omg/CORBA/TCKind.h | 107 + libjava/org/omg/CORBA/TIMEOUT.h | 39 + libjava/org/omg/CORBA/TRANSACTION_MODE.h | 39 + libjava/org/omg/CORBA/TRANSACTION_REQUIRED.h | 39 + libjava/org/omg/CORBA/TRANSACTION_ROLLEDBACK.h | 39 + libjava/org/omg/CORBA/TRANSACTION_UNAVAILABLE.h | 39 + libjava/org/omg/CORBA/TRANSIENT.h | 39 + libjava/org/omg/CORBA/TypeCode.h | 56 + libjava/org/omg/CORBA/TypeCodeHolder.h | 46 + libjava/org/omg/CORBA/TypeCodePackage/BadKind.h | 39 + libjava/org/omg/CORBA/TypeCodePackage/Bounds.h | 39 + libjava/org/omg/CORBA/ULongLongSeqHelper.h | 47 + libjava/org/omg/CORBA/ULongLongSeqHolder.h | 58 + libjava/org/omg/CORBA/ULongSeqHelper.h | 47 + libjava/org/omg/CORBA/ULongSeqHolder.h | 58 + libjava/org/omg/CORBA/UNKNOWN.h | 39 + libjava/org/omg/CORBA/UNSUPPORTED_POLICY.h | 32 + libjava/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.h | 32 + libjava/org/omg/CORBA/UShortSeqHelper.h | 47 + libjava/org/omg/CORBA/UShortSeqHolder.h | 58 + libjava/org/omg/CORBA/UnionMember.h | 43 + libjava/org/omg/CORBA/UnionMemberHelper.h | 50 + libjava/org/omg/CORBA/UnknownUserException.h | 38 + libjava/org/omg/CORBA/UnknownUserExceptionHelper.h | 46 + libjava/org/omg/CORBA/UnknownUserExceptionHolder.h | 44 + libjava/org/omg/CORBA/UserException.h | 36 + libjava/org/omg/CORBA/VM_ABSTRACT.h | 32 + libjava/org/omg/CORBA/VM_CUSTOM.h | 32 + libjava/org/omg/CORBA/VM_NONE.h | 32 + libjava/org/omg/CORBA/VM_TRUNCATABLE.h | 32 + libjava/org/omg/CORBA/ValueBaseHelper.h | 45 + libjava/org/omg/CORBA/ValueBaseHolder.h | 43 + libjava/org/omg/CORBA/ValueMember.h | 45 + libjava/org/omg/CORBA/ValueMemberHelper.h | 50 + libjava/org/omg/CORBA/VersionSpecHelper.h | 45 + libjava/org/omg/CORBA/VisibilityHelper.h | 45 + libjava/org/omg/CORBA/WCharSeqHelper.h | 47 + libjava/org/omg/CORBA/WCharSeqHolder.h | 58 + libjava/org/omg/CORBA/WStringSeqHelper.h | 47 + libjava/org/omg/CORBA/WStringSeqHolder.h | 58 + libjava/org/omg/CORBA/WStringValueHelper.h | 52 + libjava/org/omg/CORBA/WrongTransaction.h | 33 + libjava/org/omg/CORBA/WrongTransactionHelper.h | 46 + libjava/org/omg/CORBA/WrongTransactionHolder.h | 44 + libjava/org/omg/CORBA/_IDLTypeStub.h | 48 + libjava/org/omg/CORBA/_PolicyStub.h | 47 + .../org/omg/CORBA/portable/ApplicationException.h | 43 + libjava/org/omg/CORBA/portable/BoxedValueHelper.h | 39 + libjava/org/omg/CORBA/portable/CustomValue.h | 41 + libjava/org/omg/CORBA/portable/Delegate.h | 77 + libjava/org/omg/CORBA/portable/IDLEntity.h | 34 + .../org/omg/CORBA/portable/IndirectionException.h | 39 + libjava/org/omg/CORBA/portable/InputStream.h | 85 + libjava/org/omg/CORBA/portable/InvokeHandler.h | 38 + libjava/org/omg/CORBA/portable/ObjectImpl.h | 80 + libjava/org/omg/CORBA/portable/OutputStream.h | 87 + .../org/omg/CORBA/portable/RemarshalException.h | 38 + libjava/org/omg/CORBA/portable/ResponseHandler.h | 37 + libjava/org/omg/CORBA/portable/ServantObject.h | 36 + libjava/org/omg/CORBA/portable/Streamable.h | 40 + libjava/org/omg/CORBA/portable/StreamableValue.h | 43 + libjava/org/omg/CORBA/portable/UnknownException.h | 39 + libjava/org/omg/CORBA/portable/ValueBase.h | 37 + libjava/org/omg/CORBA/portable/ValueFactory.h | 42 + libjava/org/omg/CORBA_2_3/ORB.h | 45 + libjava/org/omg/CORBA_2_3/portable/Delegate.h | 40 + libjava/org/omg/CORBA_2_3/portable/InputStream.h | 49 + libjava/org/omg/CORBA_2_3/portable/ObjectImpl.h | 36 + libjava/org/omg/CORBA_2_3/portable/OutputStream.h | 47 + libjava/org/omg/CosNaming/Binding.h | 39 + libjava/org/omg/CosNaming/BindingHelper.h | 52 + libjava/org/omg/CosNaming/BindingHolder.h | 47 + libjava/org/omg/CosNaming/BindingIterator.h | 64 + libjava/org/omg/CosNaming/BindingIteratorHelper.h | 55 + libjava/org/omg/CosNaming/BindingIteratorHolder.h | 47 + .../org/omg/CosNaming/BindingIteratorOperations.h | 36 + libjava/org/omg/CosNaming/BindingIteratorPOA.h | 58 + libjava/org/omg/CosNaming/BindingListHelper.h | 54 + libjava/org/omg/CosNaming/BindingListHolder.h | 49 + libjava/org/omg/CosNaming/BindingType.h | 45 + libjava/org/omg/CosNaming/BindingTypeHelper.h | 52 + libjava/org/omg/CosNaming/BindingTypeHolder.h | 47 + libjava/org/omg/CosNaming/IstringHelper.h | 48 + libjava/org/omg/CosNaming/NameComponent.h | 41 + libjava/org/omg/CosNaming/NameComponentHelper.h | 52 + libjava/org/omg/CosNaming/NameComponentHolder.h | 47 + libjava/org/omg/CosNaming/NameHelper.h | 54 + libjava/org/omg/CosNaming/NameHolder.h | 49 + libjava/org/omg/CosNaming/NamingContext.h | 72 + libjava/org/omg/CosNaming/NamingContextExt.h | 77 + libjava/org/omg/CosNaming/NamingContextExtHelper.h | 55 + libjava/org/omg/CosNaming/NamingContextExtHolder.h | 47 + .../org/omg/CosNaming/NamingContextExtOperations.h | 55 + libjava/org/omg/CosNaming/NamingContextExtPOA.h | 75 + .../NamingContextExtPackage/AddressHelper.h | 54 + .../NamingContextExtPackage/InvalidAddress.h | 39 + .../NamingContextExtPackage/InvalidAddressHelper.h | 55 + .../NamingContextExtPackage/InvalidAddressHolder.h | 50 + .../NamingContextExtPackage/StringNameHelper.h | 54 + .../NamingContextExtPackage/URLStringHelper.h | 54 + libjava/org/omg/CosNaming/NamingContextHelper.h | 55 + libjava/org/omg/CosNaming/NamingContextHolder.h | 47 + .../org/omg/CosNaming/NamingContextOperations.h | 51 + libjava/org/omg/CosNaming/NamingContextPOA.h | 67 + .../CosNaming/NamingContextPackage/AlreadyBound.h | 39 + .../NamingContextPackage/AlreadyBoundHelper.h | 55 + .../NamingContextPackage/AlreadyBoundHolder.h | 50 + .../CosNaming/NamingContextPackage/CannotProceed.h | 46 + .../NamingContextPackage/CannotProceedHelper.h | 55 + .../NamingContextPackage/CannotProceedHolder.h | 50 + .../CosNaming/NamingContextPackage/InvalidName.h | 39 + .../NamingContextPackage/InvalidNameHelper.h | 55 + .../NamingContextPackage/InvalidNameHolder.h | 50 + .../omg/CosNaming/NamingContextPackage/NotEmpty.h | 39 + .../NamingContextPackage/NotEmptyHelper.h | 55 + .../NamingContextPackage/NotEmptyHolder.h | 50 + .../omg/CosNaming/NamingContextPackage/NotFound.h | 46 + .../NamingContextPackage/NotFoundHelper.h | 55 + .../NamingContextPackage/NotFoundHolder.h | 50 + .../NamingContextPackage/NotFoundReason.h | 50 + .../NamingContextPackage/NotFoundReasonHelper.h | 55 + .../NamingContextPackage/NotFoundReasonHolder.h | 50 + .../org/omg/CosNaming/_BindingIteratorImplBase.h | 56 + libjava/org/omg/CosNaming/_BindingIteratorStub.h | 57 + .../org/omg/CosNaming/_NamingContextExtImplBase.h | 58 + libjava/org/omg/CosNaming/_NamingContextExtStub.h | 66 + libjava/org/omg/CosNaming/_NamingContextImplBase.h | 67 + libjava/org/omg/CosNaming/_NamingContextStub.h | 67 + libjava/org/omg/Dynamic/Parameter.h | 43 + libjava/org/omg/DynamicAny/AnySeqHelper.h | 50 + libjava/org/omg/DynamicAny/DynAny.h | 111 + libjava/org/omg/DynamicAny/DynAnyFactory.h | 64 + libjava/org/omg/DynamicAny/DynAnyFactoryHelper.h | 55 + .../org/omg/DynamicAny/DynAnyFactoryOperations.h | 39 + .../DynAnyFactoryPackage/InconsistentTypeCode.h | 39 + .../InconsistentTypeCodeHelper.h | 52 + libjava/org/omg/DynamicAny/DynAnyHelper.h | 52 + libjava/org/omg/DynamicAny/DynAnyOperations.h | 88 + .../omg/DynamicAny/DynAnyPackage/InvalidValue.h | 39 + .../DynamicAny/DynAnyPackage/InvalidValueHelper.h | 52 + .../omg/DynamicAny/DynAnyPackage/TypeMismatch.h | 39 + .../DynamicAny/DynAnyPackage/TypeMismatchHelper.h | 52 + libjava/org/omg/DynamicAny/DynAnySeqHelper.h | 51 + libjava/org/omg/DynamicAny/DynArray.h | 116 + libjava/org/omg/DynamicAny/DynArrayHelper.h | 52 + libjava/org/omg/DynamicAny/DynArrayOperations.h | 94 + libjava/org/omg/DynamicAny/DynEnum.h | 116 + libjava/org/omg/DynamicAny/DynEnumHelper.h | 52 + libjava/org/omg/DynamicAny/DynEnumOperations.h | 92 + libjava/org/omg/DynamicAny/DynFixed.h | 114 + libjava/org/omg/DynamicAny/DynFixedHelper.h | 52 + libjava/org/omg/DynamicAny/DynFixedOperations.h | 90 + libjava/org/omg/DynamicAny/DynSequence.h | 118 + libjava/org/omg/DynamicAny/DynSequenceHelper.h | 52 + libjava/org/omg/DynamicAny/DynSequenceOperations.h | 96 + libjava/org/omg/DynamicAny/DynStruct.h | 121 + libjava/org/omg/DynamicAny/DynStructHelper.h | 52 + libjava/org/omg/DynamicAny/DynStructOperations.h | 99 + libjava/org/omg/DynamicAny/DynUnion.h | 122 + libjava/org/omg/DynamicAny/DynUnionHelper.h | 52 + libjava/org/omg/DynamicAny/DynUnionOperations.h | 98 + libjava/org/omg/DynamicAny/DynValue.h | 124 + libjava/org/omg/DynamicAny/DynValueBox.h | 119 + libjava/org/omg/DynamicAny/DynValueBoxOperations.h | 95 + libjava/org/omg/DynamicAny/DynValueCommon.h | 115 + .../org/omg/DynamicAny/DynValueCommonOperations.h | 91 + libjava/org/omg/DynamicAny/DynValueHelper.h | 52 + libjava/org/omg/DynamicAny/DynValueOperations.h | 102 + libjava/org/omg/DynamicAny/FieldNameHelper.h | 48 + libjava/org/omg/DynamicAny/NameDynAnyPair.h | 39 + libjava/org/omg/DynamicAny/NameDynAnyPairHelper.h | 49 + .../org/omg/DynamicAny/NameDynAnyPairSeqHelper.h | 51 + libjava/org/omg/DynamicAny/NameValuePair.h | 42 + libjava/org/omg/DynamicAny/NameValuePairHelper.h | 49 + .../org/omg/DynamicAny/NameValuePairSeqHelper.h | 51 + libjava/org/omg/DynamicAny/_DynAnyFactoryStub.h | 50 + libjava/org/omg/DynamicAny/_DynAnyStub.h | 99 + libjava/org/omg/DynamicAny/_DynArrayStub.h | 100 + libjava/org/omg/DynamicAny/_DynEnumStub.h | 100 + libjava/org/omg/DynamicAny/_DynFixedStub.h | 98 + libjava/org/omg/DynamicAny/_DynSequenceStub.h | 102 + libjava/org/omg/DynamicAny/_DynStructStub.h | 105 + libjava/org/omg/DynamicAny/_DynUnionStub.h | 106 + libjava/org/omg/DynamicAny/_DynValueStub.h | 108 + libjava/org/omg/IOP/CodeSets.h | 32 + libjava/org/omg/IOP/Codec.h | 65 + libjava/org/omg/IOP/CodecFactory.h | 62 + libjava/org/omg/IOP/CodecFactoryHelper.h | 55 + libjava/org/omg/IOP/CodecFactoryOperations.h | 34 + .../omg/IOP/CodecFactoryPackage/UnknownEncoding.h | 39 + .../CodecFactoryPackage/UnknownEncodingHelper.h | 52 + libjava/org/omg/IOP/CodecOperations.h | 42 + libjava/org/omg/IOP/CodecPackage/FormatMismatch.h | 39 + .../omg/IOP/CodecPackage/FormatMismatchHelper.h | 52 + .../omg/IOP/CodecPackage/InvalidTypeForEncoding.h | 39 + .../CodecPackage/InvalidTypeForEncodingHelper.h | 52 + libjava/org/omg/IOP/CodecPackage/TypeMismatch.h | 39 + .../org/omg/IOP/CodecPackage/TypeMismatchHelper.h | 52 + libjava/org/omg/IOP/ComponentIdHelper.h | 48 + libjava/org/omg/IOP/ENCODING_CDR_ENCAPS.h | 32 + libjava/org/omg/IOP/Encoding.h | 39 + libjava/org/omg/IOP/ExceptionDetailMessage.h | 32 + libjava/org/omg/IOP/IOR.h | 41 + libjava/org/omg/IOP/IORHelper.h | 49 + libjava/org/omg/IOP/IORHolder.h | 47 + .../org/omg/IOP/MultipleComponentProfileHelper.h | 51 + .../org/omg/IOP/MultipleComponentProfileHolder.h | 49 + libjava/org/omg/IOP/ProfileIdHelper.h | 48 + libjava/org/omg/IOP/RMICustomMaxStreamFormat.h | 32 + libjava/org/omg/IOP/ServiceContext.h | 40 + libjava/org/omg/IOP/ServiceContextHelper.h | 49 + libjava/org/omg/IOP/ServiceContextHolder.h | 47 + libjava/org/omg/IOP/ServiceContextListHelper.h | 51 + libjava/org/omg/IOP/ServiceContextListHolder.h | 49 + libjava/org/omg/IOP/ServiceIdHelper.h | 48 + libjava/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.h | 32 + libjava/org/omg/IOP/TAG_CODE_SETS.h | 32 + libjava/org/omg/IOP/TAG_INTERNET_IOP.h | 32 + libjava/org/omg/IOP/TAG_JAVA_CODEBASE.h | 32 + libjava/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.h | 32 + libjava/org/omg/IOP/TAG_ORB_TYPE.h | 32 + libjava/org/omg/IOP/TAG_POLICIES.h | 32 + .../org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.h | 32 + libjava/org/omg/IOP/TaggedComponent.h | 40 + libjava/org/omg/IOP/TaggedComponentHelper.h | 49 + libjava/org/omg/IOP/TaggedComponentHolder.h | 47 + libjava/org/omg/IOP/TaggedProfile.h | 40 + libjava/org/omg/IOP/TaggedProfileHelper.h | 49 + libjava/org/omg/IOP/TaggedProfileHolder.h | 47 + libjava/org/omg/IOP/TransactionService.h | 32 + libjava/org/omg/Messaging/SYNC_WITH_TRANSPORT.h | 32 + libjava/org/omg/Messaging/SyncScopeHelper.h | 48 + libjava/org/omg/PortableInterceptor/ACTIVE.h | 32 + .../PortableInterceptor/AdapterManagerIdHelper.h | 48 + .../omg/PortableInterceptor/AdapterNameHelper.h | 50 + .../omg/PortableInterceptor/AdapterStateHelper.h | 48 + .../omg/PortableInterceptor/ClientRequestInfo.h | 94 + .../ClientRequestInfoOperations.h | 73 + .../PortableInterceptor/ClientRequestInterceptor.h | 67 + .../ClientRequestInterceptorOperations.h | 39 + libjava/org/omg/PortableInterceptor/Current.h | 62 + .../org/omg/PortableInterceptor/CurrentHelper.h | 52 + .../omg/PortableInterceptor/CurrentOperations.h | 37 + libjava/org/omg/PortableInterceptor/DISCARDING.h | 32 + .../org/omg/PortableInterceptor/ForwardRequest.h | 42 + .../omg/PortableInterceptor/ForwardRequestHelper.h | 49 + libjava/org/omg/PortableInterceptor/HOLDING.h | 32 + libjava/org/omg/PortableInterceptor/INACTIVE.h | 32 + libjava/org/omg/PortableInterceptor/IORInfo.h | 73 + .../omg/PortableInterceptor/IORInfoOperations.h | 49 + .../org/omg/PortableInterceptor/IORInterceptor.h | 63 + .../PortableInterceptor/IORInterceptorOperations.h | 35 + .../omg/PortableInterceptor/IORInterceptor_3_0.h | 67 + .../PortableInterceptor/IORInterceptor_3_0Helper.h | 52 + .../PortableInterceptor/IORInterceptor_3_0Holder.h | 47 + .../IORInterceptor_3_0Operations.h | 41 + libjava/org/omg/PortableInterceptor/Interceptor.h | 61 + .../PortableInterceptor/InterceptorOperations.h | 33 + libjava/org/omg/PortableInterceptor/InvalidSlot.h | 36 + .../omg/PortableInterceptor/InvalidSlotHelper.h | 49 + .../org/omg/PortableInterceptor/LOCATION_FORWARD.h | 32 + libjava/org/omg/PortableInterceptor/NON_EXISTENT.h | 32 + libjava/org/omg/PortableInterceptor/ORBIdHelper.h | 48 + libjava/org/omg/PortableInterceptor/ORBInitInfo.h | 77 + .../PortableInterceptor/ORBInitInfoOperations.h | 55 + .../ORBInitInfoPackage/DuplicateName.h | 41 + .../ORBInitInfoPackage/DuplicateNameHelper.h | 52 + .../ORBInitInfoPackage/InvalidName.h | 39 + .../ORBInitInfoPackage/InvalidNameHelper.h | 52 + .../ORBInitInfoPackage/ObjectIdHelper.h | 51 + .../org/omg/PortableInterceptor/ORBInitializer.h | 62 + .../PortableInterceptor/ORBInitializerOperations.h | 34 + .../org/omg/PortableInterceptor/ObjectIdHelper.h | 50 + .../PortableInterceptor/ObjectReferenceFactory.h | 39 + .../ObjectReferenceFactoryHelper.h | 49 + .../ObjectReferenceFactoryHolder.h | 47 + .../PortableInterceptor/ObjectReferenceTemplate.h | 42 + .../ObjectReferenceTemplateHelper.h | 49 + .../ObjectReferenceTemplateHolder.h | 47 + .../ObjectReferenceTemplateSeqHelper.h | 51 + .../ObjectReferenceTemplateSeqHolder.h | 49 + .../org/omg/PortableInterceptor/PolicyFactory.h | 61 + .../PortableInterceptor/PolicyFactoryOperations.h | 37 + libjava/org/omg/PortableInterceptor/RequestInfo.h | 83 + .../PortableInterceptor/RequestInfoOperations.h | 61 + libjava/org/omg/PortableInterceptor/SUCCESSFUL.h | 32 + .../org/omg/PortableInterceptor/SYSTEM_EXCEPTION.h | 32 + .../org/omg/PortableInterceptor/ServerIdHelper.h | 48 + .../omg/PortableInterceptor/ServerRequestInfo.h | 94 + .../ServerRequestInfoOperations.h | 73 + .../PortableInterceptor/ServerRequestInterceptor.h | 67 + .../ServerRequestInterceptorOperations.h | 39 + .../org/omg/PortableInterceptor/TRANSPORT_RETRY.h | 32 + .../org/omg/PortableInterceptor/USER_EXCEPTION.h | 32 + .../PortableInterceptor/_IORInterceptor_3_0Stub.h | 54 + libjava/org/omg/PortableServer/AdapterActivator.h | 61 + .../PortableServer/AdapterActivatorOperations.h | 33 + libjava/org/omg/PortableServer/Current.h | 62 + libjava/org/omg/PortableServer/CurrentHelper.h | 51 + libjava/org/omg/PortableServer/CurrentOperations.h | 36 + .../omg/PortableServer/CurrentPackage/NoContext.h | 39 + .../CurrentPackage/NoContextHelper.h | 52 + .../org/omg/PortableServer/DynamicImplementation.h | 37 + libjava/org/omg/PortableServer/ForwardRequest.h | 42 + .../org/omg/PortableServer/ForwardRequestHelper.h | 49 + .../omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.h | 32 + .../omg/PortableServer/ID_UNIQUENESS_POLICY_ID.h | 32 + .../PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.h | 32 + .../org/omg/PortableServer/IdAssignmentPolicy.h | 64 + .../PortableServer/IdAssignmentPolicyOperations.h | 40 + .../omg/PortableServer/IdAssignmentPolicyValue.h | 50 + .../org/omg/PortableServer/IdUniquenessPolicy.h | 64 + .../PortableServer/IdUniquenessPolicyOperations.h | 40 + .../omg/PortableServer/IdUniquenessPolicyValue.h | 50 + .../omg/PortableServer/ImplicitActivationPolicy.h | 64 + .../ImplicitActivationPolicyOperations.h | 40 + .../PortableServer/ImplicitActivationPolicyValue.h | 50 + .../org/omg/PortableServer/LIFESPAN_POLICY_ID.h | 32 + libjava/org/omg/PortableServer/LifespanPolicy.h | 64 + .../omg/PortableServer/LifespanPolicyOperations.h | 40 + .../org/omg/PortableServer/LifespanPolicyValue.h | 50 + libjava/org/omg/PortableServer/POA.h | 109 + libjava/org/omg/PortableServer/POAHelper.h | 51 + libjava/org/omg/PortableServer/POAManager.h | 68 + .../org/omg/PortableServer/POAManagerOperations.h | 40 + .../POAManagerPackage/AdapterInactive.h | 39 + .../POAManagerPackage/AdapterInactiveHelper.h | 52 + .../omg/PortableServer/POAManagerPackage/State.h | 57 + libjava/org/omg/PortableServer/POAOperations.h | 89 + .../POAPackage/AdapterAlreadyExists.h | 39 + .../POAPackage/AdapterAlreadyExistsHelper.h | 55 + .../PortableServer/POAPackage/AdapterNonExistent.h | 39 + .../POAPackage/AdapterNonExistentHelper.h | 55 + .../omg/PortableServer/POAPackage/InvalidPolicy.h | 42 + .../POAPackage/InvalidPolicyHelper.h | 55 + .../org/omg/PortableServer/POAPackage/NoServant.h | 39 + .../PortableServer/POAPackage/NoServantHelper.h | 55 + .../POAPackage/ObjectAlreadyActive.h | 39 + .../POAPackage/ObjectAlreadyActiveHelper.h | 55 + .../PortableServer/POAPackage/ObjectNotActive.h | 39 + .../POAPackage/ObjectNotActiveHelper.h | 55 + .../POAPackage/ServantAlreadyActive.h | 39 + .../POAPackage/ServantAlreadyActiveHelper.h | 55 + .../PortableServer/POAPackage/ServantNotActive.h | 39 + .../POAPackage/ServantNotActiveHelper.h | 55 + .../omg/PortableServer/POAPackage/WrongAdapter.h | 39 + .../PortableServer/POAPackage/WrongAdapterHelper.h | 55 + .../omg/PortableServer/POAPackage/WrongPolicy.h | 39 + .../PortableServer/POAPackage/WrongPolicyHelper.h | 55 + .../PortableServer/REQUEST_PROCESSING_POLICY_ID.h | 32 + .../omg/PortableServer/RequestProcessingPolicy.h | 64 + .../RequestProcessingPolicyOperations.h | 40 + .../PortableServer/RequestProcessingPolicyValue.h | 52 + .../PortableServer/SERVANT_RETENTION_POLICY_ID.h | 32 + libjava/org/omg/PortableServer/Servant.h | 59 + libjava/org/omg/PortableServer/ServantActivator.h | 63 + .../omg/PortableServer/ServantActivatorHelper.h | 52 + .../PortableServer/ServantActivatorOperations.h | 37 + .../PortableServer/ServantActivatorPOA$delegator.h | 43 + .../org/omg/PortableServer/ServantActivatorPOA.h | 56 + libjava/org/omg/PortableServer/ServantLocator.h | 67 + .../org/omg/PortableServer/ServantLocatorHelper.h | 52 + .../omg/PortableServer/ServantLocatorOperations.h | 41 + .../PortableServer/ServantLocatorPOA$delegator.h | 48 + libjava/org/omg/PortableServer/ServantLocatorPOA.h | 60 + .../ServantLocatorPackage/CookieHolder.h | 49 + libjava/org/omg/PortableServer/ServantManager.h | 59 + .../omg/PortableServer/ServantManagerOperations.h | 31 + .../omg/PortableServer/ServantRetentionPolicy.h | 64 + .../ServantRetentionPolicyOperations.h | 40 + .../PortableServer/ServantRetentionPolicyValue.h | 50 + libjava/org/omg/PortableServer/THREAD_POLICY_ID.h | 32 + libjava/org/omg/PortableServer/ThreadPolicy.h | 64 + .../omg/PortableServer/ThreadPolicyOperations.h | 40 + libjava/org/omg/PortableServer/ThreadPolicyValue.h | 50 + .../org/omg/PortableServer/_ServantActivatorStub.h | 43 + .../org/omg/PortableServer/_ServantLocatorStub.h | 50 + libjava/org/omg/PortableServer/portable/Delegate.h | 51 + libjava/org/omg/SendingContext/RunTime.h | 59 + libjava/org/omg/SendingContext/RunTimeOperations.h | 31 + libjava/org/omg/stub/java/rmi/_Remote_Stub.h | 44 + libjava/org/relaxng/datatype/Datatype.h | 45 + libjava/org/relaxng/datatype/DatatypeBuilder.h | 35 + libjava/org/relaxng/datatype/DatatypeException.h | 39 + libjava/org/relaxng/datatype/DatatypeLibrary.h | 35 + .../org/relaxng/datatype/DatatypeLibraryFactory.h | 33 + .../relaxng/datatype/DatatypeStreamingValidator.h | 36 + libjava/org/relaxng/datatype/ValidationContext.h | 35 + .../helpers/DatatypeLibraryLoader$Service$Loader.h | 40 + .../DatatypeLibraryLoader$Service$Loader2.h | 40 + ...typeLibraryLoader$Service$ProviderEnumeration.h | 45 + .../DatatypeLibraryLoader$Service$Singleton.h | 42 + .../helpers/DatatypeLibraryLoader$Service.h | 60 + .../datatype/helpers/DatatypeLibraryLoader.h | 41 + .../helpers/ParameterlessDatatypeBuilder.h | 42 + .../datatype/helpers/StreamingValidatorImpl.h | 47 + libjava/org/w3c/dom/Attr.h | 82 + libjava/org/w3c/dom/CDATASection.h | 86 + libjava/org/w3c/dom/CharacterData.h | 81 + libjava/org/w3c/dom/Comment.h | 81 + libjava/org/w3c/dom/DOMConfiguration.h | 36 + libjava/org/w3c/dom/DOMError.h | 41 + libjava/org/w3c/dom/DOMErrorHandler.h | 33 + libjava/org/w3c/dom/DOMException.h | 50 + libjava/org/w3c/dom/DOMImplementation.h | 37 + libjava/org/w3c/dom/DOMImplementationList.h | 34 + libjava/org/w3c/dom/DOMImplementationSource.h | 35 + libjava/org/w3c/dom/DOMLocator.h | 38 + libjava/org/w3c/dom/DOMStringList.h | 34 + libjava/org/w3c/dom/Document.h | 114 + libjava/org/w3c/dom/DocumentFragment.h | 73 + libjava/org/w3c/dom/DocumentType.h | 79 + libjava/org/w3c/dom/Element.h | 95 + libjava/org/w3c/dom/Entity.h | 79 + libjava/org/w3c/dom/EntityReference.h | 73 + libjava/org/w3c/dom/NameList.h | 36 + libjava/org/w3c/dom/NamedNodeMap.h | 40 + libjava/org/w3c/dom/Node.h | 90 + libjava/org/w3c/dom/NodeList.h | 34 + libjava/org/w3c/dom/Notation.h | 75 + libjava/org/w3c/dom/ProcessingInstruction.h | 76 + libjava/org/w3c/dom/Text.h | 85 + libjava/org/w3c/dom/TypeInfo.h | 38 + libjava/org/w3c/dom/UserDataHandler.h | 38 + .../dom/bootstrap/DOMImplementationRegistry$1.h | 45 + .../dom/bootstrap/DOMImplementationRegistry$2.h | 37 + .../dom/bootstrap/DOMImplementationRegistry$3.h | 40 + .../dom/bootstrap/DOMImplementationRegistry$4.h | 41 + .../w3c/dom/bootstrap/DOMImplementationRegistry.h | 55 + libjava/org/w3c/dom/css/CSS2Properties.h | 278 + libjava/org/w3c/dom/css/CSSCharsetRule.h | 43 + libjava/org/w3c/dom/css/CSSFontFaceRule.h | 43 + libjava/org/w3c/dom/css/CSSImportRule.h | 48 + libjava/org/w3c/dom/css/CSSMediaRule.h | 50 + libjava/org/w3c/dom/css/CSSPageRule.h | 45 + libjava/org/w3c/dom/css/CSSPrimitiveValue.h | 74 + libjava/org/w3c/dom/css/CSSRule.h | 47 + libjava/org/w3c/dom/css/CSSRuleList.h | 37 + libjava/org/w3c/dom/css/CSSStyleDeclaration.h | 46 + libjava/org/w3c/dom/css/CSSStyleRule.h | 45 + libjava/org/w3c/dom/css/CSSStyleSheet.h | 54 + libjava/org/w3c/dom/css/CSSUnknownRule.h | 41 + libjava/org/w3c/dom/css/CSSValue.h | 41 + libjava/org/w3c/dom/css/CSSValueList.h | 40 + libjava/org/w3c/dom/css/Counter.h | 37 + libjava/org/w3c/dom/css/DOMImplementationCSS.h | 42 + libjava/org/w3c/dom/css/DocumentCSS.h | 42 + libjava/org/w3c/dom/css/ElementCSSInlineStyle.h | 36 + libjava/org/w3c/dom/css/RGBColor.h | 38 + libjava/org/w3c/dom/css/Rect.h | 39 + libjava/org/w3c/dom/css/ViewCSS.h | 42 + libjava/org/w3c/dom/events/DocumentEvent.h | 36 + libjava/org/w3c/dom/events/Event.h | 48 + libjava/org/w3c/dom/events/EventException.h | 37 + libjava/org/w3c/dom/events/EventListener.h | 36 + libjava/org/w3c/dom/events/EventTarget.h | 39 + libjava/org/w3c/dom/events/MouseEvent.h | 63 + libjava/org/w3c/dom/events/MutationEvent.h | 55 + libjava/org/w3c/dom/events/UIEvent.h | 52 + libjava/org/w3c/dom/html2/HTMLAnchorElement.h | 134 + libjava/org/w3c/dom/html2/HTMLAppletElement.h | 130 + libjava/org/w3c/dom/html2/HTMLAreaElement.h | 124 + libjava/org/w3c/dom/html2/HTMLBRElement.h | 110 + libjava/org/w3c/dom/html2/HTMLBaseElement.h | 112 + libjava/org/w3c/dom/html2/HTMLBaseFontElement.h | 114 + libjava/org/w3c/dom/html2/HTMLBodyElement.h | 120 + libjava/org/w3c/dom/html2/HTMLButtonElement.h | 121 + libjava/org/w3c/dom/html2/HTMLCollection.h | 38 + libjava/org/w3c/dom/html2/HTMLDListElement.h | 110 + libjava/org/w3c/dom/html2/HTMLDirectoryElement.h | 110 + libjava/org/w3c/dom/html2/HTMLDivElement.h | 110 + libjava/org/w3c/dom/html2/HTMLDocument.h | 139 + libjava/org/w3c/dom/html2/HTMLElement.h | 108 + libjava/org/w3c/dom/html2/HTMLFieldSetElement.h | 110 + libjava/org/w3c/dom/html2/HTMLFontElement.h | 114 + libjava/org/w3c/dom/html2/HTMLFormElement.h | 125 + libjava/org/w3c/dom/html2/HTMLFrameElement.h | 125 + libjava/org/w3c/dom/html2/HTMLFrameSetElement.h | 112 + libjava/org/w3c/dom/html2/HTMLHRElement.h | 116 + libjava/org/w3c/dom/html2/HTMLHeadElement.h | 110 + libjava/org/w3c/dom/html2/HTMLHeadingElement.h | 110 + libjava/org/w3c/dom/html2/HTMLHtmlElement.h | 110 + libjava/org/w3c/dom/html2/HTMLIFrameElement.h | 129 + libjava/org/w3c/dom/html2/HTMLImageElement.h | 132 + libjava/org/w3c/dom/html2/HTMLInputElement.h | 148 + libjava/org/w3c/dom/html2/HTMLIsIndexElement.h | 112 + libjava/org/w3c/dom/html2/HTMLLIElement.h | 112 + libjava/org/w3c/dom/html2/HTMLLabelElement.h | 114 + libjava/org/w3c/dom/html2/HTMLLegendElement.h | 114 + libjava/org/w3c/dom/html2/HTMLLinkElement.h | 126 + libjava/org/w3c/dom/html2/HTMLMapElement.h | 112 + libjava/org/w3c/dom/html2/HTMLMenuElement.h | 110 + libjava/org/w3c/dom/html2/HTMLMetaElement.h | 116 + libjava/org/w3c/dom/html2/HTMLModElement.h | 112 + libjava/org/w3c/dom/html2/HTMLOListElement.h | 114 + libjava/org/w3c/dom/html2/HTMLObjectElement.h | 145 + libjava/org/w3c/dom/html2/HTMLOptGroupElement.h | 112 + libjava/org/w3c/dom/html2/HTMLOptionElement.h | 122 + libjava/org/w3c/dom/html2/HTMLOptionsCollection.h | 39 + libjava/org/w3c/dom/html2/HTMLParagraphElement.h | 110 + libjava/org/w3c/dom/html2/HTMLParamElement.h | 116 + libjava/org/w3c/dom/html2/HTMLPreElement.h | 110 + libjava/org/w3c/dom/html2/HTMLQuoteElement.h | 110 + libjava/org/w3c/dom/html2/HTMLScriptElement.h | 122 + libjava/org/w3c/dom/html2/HTMLSelectElement.h | 134 + libjava/org/w3c/dom/html2/HTMLStyleElement.h | 114 + .../org/w3c/dom/html2/HTMLTableCaptionElement.h | 110 + libjava/org/w3c/dom/html2/HTMLTableCellElement.h | 137 + libjava/org/w3c/dom/html2/HTMLTableColElement.h | 120 + libjava/org/w3c/dom/html2/HTMLTableElement.h | 146 + libjava/org/w3c/dom/html2/HTMLTableRowElement.h | 125 + .../org/w3c/dom/html2/HTMLTableSectionElement.h | 121 + libjava/org/w3c/dom/html2/HTMLTextAreaElement.h | 132 + libjava/org/w3c/dom/html2/HTMLTitleElement.h | 110 + libjava/org/w3c/dom/html2/HTMLUListElement.h | 112 + libjava/org/w3c/dom/ls/DOMImplementationLS.h | 44 + libjava/org/w3c/dom/ls/LSException.h | 38 + libjava/org/w3c/dom/ls/LSInput.h | 50 + libjava/org/w3c/dom/ls/LSLoadEvent.h | 52 + libjava/org/w3c/dom/ls/LSOutput.h | 42 + libjava/org/w3c/dom/ls/LSParser.h | 53 + libjava/org/w3c/dom/ls/LSParserFilter.h | 43 + libjava/org/w3c/dom/ls/LSProgressEvent.h | 52 + libjava/org/w3c/dom/ls/LSResourceResolver.h | 36 + libjava/org/w3c/dom/ls/LSSerializer.h | 46 + libjava/org/w3c/dom/ls/LSSerializerFilter.h | 37 + libjava/org/w3c/dom/ranges/DocumentRange.h | 36 + libjava/org/w3c/dom/ranges/Range.h | 64 + libjava/org/w3c/dom/ranges/RangeException.h | 38 + libjava/org/w3c/dom/stylesheets/DocumentStyle.h | 36 + libjava/org/w3c/dom/stylesheets/LinkStyle.h | 36 + libjava/org/w3c/dom/stylesheets/MediaList.h | 40 + libjava/org/w3c/dom/stylesheets/StyleSheet.h | 44 + libjava/org/w3c/dom/stylesheets/StyleSheetList.h | 37 + libjava/org/w3c/dom/traversal/DocumentTraversal.h | 40 + libjava/org/w3c/dom/traversal/NodeFilter.h | 52 + libjava/org/w3c/dom/traversal/NodeIterator.h | 43 + libjava/org/w3c/dom/traversal/TreeWalker.h | 49 + libjava/org/w3c/dom/views/AbstractView.h | 36 + libjava/org/w3c/dom/views/DocumentView.h | 36 + libjava/org/w3c/dom/xpath/XPathEvaluator.h | 40 + libjava/org/w3c/dom/xpath/XPathException.h | 38 + libjava/org/w3c/dom/xpath/XPathExpression.h | 36 + libjava/org/w3c/dom/xpath/XPathNSResolver.h | 35 + libjava/org/w3c/dom/xpath/XPathNamespace.h | 79 + libjava/org/w3c/dom/xpath/XPathResult.h | 54 + libjava/org/xml/sax/AttributeList.h | 37 + libjava/org/xml/sax/Attributes.h | 43 + libjava/org/xml/sax/ContentHandler.h | 46 + libjava/org/xml/sax/DTDHandler.h | 33 + libjava/org/xml/sax/DocumentHandler.h | 43 + libjava/org/xml/sax/EntityResolver.h | 33 + libjava/org/xml/sax/ErrorHandler.h | 35 + libjava/org/xml/sax/HandlerBase.h | 52 + libjava/org/xml/sax/InputSource.h | 52 + libjava/org/xml/sax/Locator.h | 35 + libjava/org/xml/sax/Parser.h | 43 + libjava/org/xml/sax/SAXException.h | 41 + libjava/org/xml/sax/SAXNotRecognizedException.h | 33 + libjava/org/xml/sax/SAXNotSupportedException.h | 33 + libjava/org/xml/sax/SAXParseException.h | 49 + libjava/org/xml/sax/XMLFilter.h | 53 + libjava/org/xml/sax/XMLReader.h | 50 + libjava/org/xml/sax/ext/Attributes2.h | 52 + libjava/org/xml/sax/ext/Attributes2Impl.h | 54 + libjava/org/xml/sax/ext/DeclHandler.h | 38 + libjava/org/xml/sax/ext/DefaultHandler2.h | 52 + libjava/org/xml/sax/ext/EntityResolver2.h | 38 + libjava/org/xml/sax/ext/LexicalHandler.h | 43 + libjava/org/xml/sax/ext/Locator2.h | 40 + libjava/org/xml/sax/ext/Locator2Impl.h | 45 + libjava/org/xml/sax/helpers/AttributeListImpl.h | 52 + libjava/org/xml/sax/helpers/AttributesImpl.h | 68 + libjava/org/xml/sax/helpers/DefaultHandler.h | 58 + libjava/org/xml/sax/helpers/LocatorImpl.h | 51 + .../org/xml/sax/helpers/NamespaceSupport$Context.h | 62 + libjava/org/xml/sax/helpers/NamespaceSupport.h | 63 + libjava/org/xml/sax/helpers/NewInstance.h | 38 + .../helpers/ParserAdapter$AttributeListAdapter.h | 56 + libjava/org/xml/sax/helpers/ParserAdapter.h | 106 + libjava/org/xml/sax/helpers/ParserFactory.h | 38 + libjava/org/xml/sax/helpers/XMLFilterImpl.h | 89 + .../helpers/XMLReaderAdapter$AttributesAdapter.h | 50 + libjava/org/xml/sax/helpers/XMLReaderAdapter.h | 76 + libjava/org/xml/sax/helpers/XMLReaderFactory.h | 42 + libjava/posix-threads.cc | 159 + libjava/prims.cc | 33 + libjava/scripts/classes.pl | 3 +- libjava/scripts/makemake.tcl | 69 +- libjava/sources.am | 2130 ++-- libjava/stacktrace.cc | 290 +- libjava/standard.omit.in | 9 +- libjava/sun/misc/Service.h | 30 + libjava/sun/misc/ServiceConfigurationError.h | 30 + libjava/sun/misc/Unsafe.h | 53 + libjava/sun/misc/Unsafe.java | 328 + libjava/sun/misc/natUnsafe.cc | 252 + libjava/sun/reflect/Reflection.h | 30 + libjava/sun/reflect/Reflection.java | 51 + .../annotation/AnnotationInvocationHandler.h | 55 + libjava/sun/reflect/annotation/AnnotationParser.h | 33 + libjava/sun/reflect/annotation/AnnotationType.h | 33 + .../EnumConstantNotPresentExceptionProxy.h | 32 + libjava/sun/reflect/annotation/ExceptionProxy.h | 32 + libjava/sun/reflect/misc/ReflectUtil$MustBeNull.h | 32 + libjava/sun/reflect/misc/ReflectUtil.h | 35 + libjava/sun/reflect/misc/ReflectUtil.java | 113 + libjava/testsuite/Makefile.in | 17 +- libjava/testsuite/lib/libjava.exp | 221 +- libjava/testsuite/libjava.cni/PR9577.h | 29 + libjava/testsuite/libjava.cni/PR9577.jar | Bin 0 -> 629 bytes libjava/testsuite/libjava.cni/cni.exp | 55 +- libjava/testsuite/libjava.cni/longfield.h | 33 + libjava/testsuite/libjava.cni/longfield.jar | Bin 0 -> 852 bytes libjava/testsuite/libjava.cni/shortfield.h | 33 + libjava/testsuite/libjava.cni/shortfield.jar | Bin 0 -> 995 bytes libjava/testsuite/libjava.cni/shortfieldbase.h | 25 + libjava/testsuite/libjava.compile/ArrayClass.java | 11 - libjava/testsuite/libjava.compile/AssertBug.java | 7 - libjava/testsuite/libjava.compile/Case.java | 15 - libjava/testsuite/libjava.compile/G19990210_1.java | 18 - libjava/testsuite/libjava.compile/G19990210_2.java | 18 - libjava/testsuite/libjava.compile/G19990210_3.java | 23 - .../testsuite/libjava.compile/G19990217_01.java | 16 - .../testsuite/libjava.compile/G19990217_02.java | 16 - .../testsuite/libjava.compile/G19990217_02.no-link | 1 - .../testsuite/libjava.compile/G19990225_01.java | 7 - libjava/testsuite/libjava.compile/InnerExcept.java | 19 - .../testsuite/libjava.compile/MethodFailure4.java | 40 - .../testsuite/libjava.compile/MethodFailure4.xfail | 1 - .../testsuite/libjava.compile/N19990310_01.java | 18 - libjava/testsuite/libjava.compile/N19990317.java | 23 - .../libjava.compile/OperatorBenchmark.java | 886 -- libjava/testsuite/libjava.compile/PR11600.java | 7 - libjava/testsuite/libjava.compile/PR11600.xfail | 1 - libjava/testsuite/libjava.compile/PR12374.java | 27 - libjava/testsuite/libjava.compile/PR124.java | 9 - libjava/testsuite/libjava.compile/PR124.xfail | 1 - libjava/testsuite/libjava.compile/PR127.java | 11 - libjava/testsuite/libjava.compile/PR127.xfail | 1 - libjava/testsuite/libjava.compile/PR12857.java | 4 - libjava/testsuite/libjava.compile/PR129_B.java | 9 - libjava/testsuite/libjava.compile/PR129_B.no-link | 1 - libjava/testsuite/libjava.compile/PR13024.java | 18 - libjava/testsuite/libjava.compile/PR13237.java | 3 - libjava/testsuite/libjava.compile/PR1343.java | 17 - libjava/testsuite/libjava.compile/PR13733.java | 10 - libjava/testsuite/libjava.compile/PR13733.xfail | 1 - libjava/testsuite/libjava.compile/PR140.java | 13 - libjava/testsuite/libjava.compile/PR140.xfail | 1 - libjava/testsuite/libjava.compile/PR14853.java | 17 - libjava/testsuite/libjava.compile/PR14853.xfail | 1 - libjava/testsuite/libjava.compile/PR15769.java | 10 - libjava/testsuite/libjava.compile/PR16249.java | 18 - libjava/testsuite/libjava.compile/PR163.java | 8 - libjava/testsuite/libjava.compile/PR163.xfail | 1 - libjava/testsuite/libjava.compile/PR164.java | 6 - libjava/testsuite/libjava.compile/PR164.xfail | 1 - libjava/testsuite/libjava.compile/PR16675.java | 13 - libjava/testsuite/libjava.compile/PR16701.java | 10 - libjava/testsuite/libjava.compile/PR19277.java | 7 - libjava/testsuite/libjava.compile/PR19277.xfail | 1 - libjava/testsuite/libjava.compile/PR19295.java | 16 - libjava/testsuite/libjava.compile/PR19674.java | 7 - libjava/testsuite/libjava.compile/PR20312.java | 8 - libjava/testsuite/libjava.compile/PR20312.xfail | 1 - libjava/testsuite/libjava.compile/PR20418.java | 7 - libjava/testsuite/libjava.compile/PR20418.xfail | 1 - libjava/testsuite/libjava.compile/PR206.java | 7 - libjava/testsuite/libjava.compile/PR20697.java | 29 - libjava/testsuite/libjava.compile/PR207.java | 6 - libjava/testsuite/libjava.compile/PR207.xfail | 1 - libjava/testsuite/libjava.compile/PR208.java | 16 - libjava/testsuite/libjava.compile/PR208.xfail | 1 - libjava/testsuite/libjava.compile/PR209.java | 4 - libjava/testsuite/libjava.compile/PR21045.java | 11 - libjava/testsuite/libjava.compile/PR224.java | 16 - libjava/testsuite/libjava.compile/PR224.xfail | 1 - libjava/testsuite/libjava.compile/PR232.java | 16 - libjava/testsuite/libjava.compile/PR232B.java | 15 - libjava/testsuite/libjava.compile/PR234.java | 24 - libjava/testsuite/libjava.compile/PR23431_1.java | 9 - libjava/testsuite/libjava.compile/PR23431_1.xfail | 1 - libjava/testsuite/libjava.compile/PR23431_2.java | 9 - libjava/testsuite/libjava.compile/PR23431_2.xfail | 1 - libjava/testsuite/libjava.compile/PR235.java | 7 - libjava/testsuite/libjava.compile/PR238.java | 9 - libjava/testsuite/libjava.compile/PR238.xfail | 1 - libjava/testsuite/libjava.compile/PR295.java | 11 - libjava/testsuite/libjava.compile/PR310.java | 9 - libjava/testsuite/libjava.compile/PR310.xfail | 1 - libjava/testsuite/libjava.compile/PR3417.java | 6 - libjava/testsuite/libjava.compile/PR3417.xfail | 1 - libjava/testsuite/libjava.compile/PR374.java | 9 - libjava/testsuite/libjava.compile/PR375.java | 7 - libjava/testsuite/libjava.compile/PR4766.java | 25 - libjava/testsuite/libjava.compile/PR5641.java | 20 - libjava/testsuite/libjava.compile/PR5641.xfail | 1 - libjava/testsuite/libjava.compile/PR5848.java | 14 - libjava/testsuite/libjava.compile/PR5848.xfail | 1 - libjava/testsuite/libjava.compile/PR5902.java | 4 - libjava/testsuite/libjava.compile/PR5913.java | 6 - libjava/testsuite/libjava.compile/PR6026.java | 4 - libjava/testsuite/libjava.compile/PR6865.java | 5 - libjava/testsuite/libjava.compile/PR6865.xfail | 1 - libjava/testsuite/libjava.compile/Semi.java | 8 - libjava/testsuite/libjava.compile/Statics.java | 7 - libjava/testsuite/libjava.compile/SuperConstr.java | 20 - libjava/testsuite/libjava.compile/T20020529.java | 23 - libjava/testsuite/libjava.compile/T20020604.java | 17 - libjava/testsuite/libjava.compile/Twice.java | 14 - libjava/testsuite/libjava.compile/Where.java | 12 - libjava/testsuite/libjava.compile/Where.xfail | 1 - libjava/testsuite/libjava.compile/XercesBug.java | 13 - libjava/testsuite/libjava.compile/abstr.java | 14 - libjava/testsuite/libjava.compile/abstr.xfail | 1 - libjava/testsuite/libjava.compile/assignment.java | 19 - .../testsuite/libjava.compile/assignment_2.java | 32 - libjava/testsuite/libjava.compile/block.java | 14 - libjava/testsuite/libjava.compile/block.xfail | 1 - libjava/testsuite/libjava.compile/comment.java | 7 - libjava/testsuite/libjava.compile/compile.exp | 20 - libjava/testsuite/libjava.compile/consthrow.java | 6 - libjava/testsuite/libjava.compile/consthrow.xfail | 2 - .../libjava.compile/final_assignment_check.java | 12 - .../libjava.compile/final_assignment_check.xfail | 1 - .../final_initialization_in_ctor.java | 21 - .../libjava.compile/final_local_switch.java | 16 - libjava/testsuite/libjava.compile/iface.java | 24 - libjava/testsuite/libjava.compile/inner_1.java | 36 - libjava/testsuite/libjava.compile/inner_1.xfail | 1 - libjava/testsuite/libjava.compile/inner_data.java | 18 - .../testsuite/libjava.compile/inner_inherit.java | 14 - libjava/testsuite/libjava.compile/inner_priv.java | 11 - libjava/testsuite/libjava.compile/inner_pub.java | 11 - .../libjava.compile/invokeinterface/A.java | 4 - .../libjava.compile/invokeinterface/B.java | 4 - .../libjava.compile/invokeinterface/Test.java | 19 - libjava/testsuite/libjava.compile/narrow_case.java | 11 - libjava/testsuite/libjava.compile/not_a_redef.java | 6 - .../testsuite/libjava.compile/not_a_redef.xfail | 1 - libjava/testsuite/libjava.compile/perc.java | 9 - libjava/testsuite/libjava.compile/plusplus.java | 10 - libjava/testsuite/libjava.compile/pr10459.java | 15 - libjava/testsuite/libjava.compile/pr13788.java | 8 - libjava/testsuite/libjava.compile/pr15656.java | 8 - libjava/testsuite/libjava.compile/pr15656.xfail | 1 - libjava/testsuite/libjava.compile/pr172.java | 9 - libjava/testsuite/libjava.compile/pr17329.java | 14 - libjava/testsuite/libjava.compile/pr174.java | 15 - libjava/testsuite/libjava.compile/pr17500.java | 28 - libjava/testsuite/libjava.compile/pr176.java | 15 - libjava/testsuite/libjava.compile/pr21519.java | 8 - libjava/testsuite/libjava.compile/pr21519.no-link | 0 libjava/testsuite/libjava.compile/pr21540.java | 15 - libjava/testsuite/libjava.compile/pr25429.java | 13 - libjava/testsuite/libjava.compile/pr26042.java | 12 - libjava/testsuite/libjava.compile/pr7912.java | 8 - libjava/testsuite/libjava.compile/pr8712.java | 7 - libjava/testsuite/libjava.compile/pr8955.java | 13 - libjava/testsuite/libjava.compile/redef1.java | 6 - libjava/testsuite/libjava.compile/redef1.xfail | 1 - libjava/testsuite/libjava.compile/redef2.java | 6 - libjava/testsuite/libjava.compile/redef2.xfail | 1 - libjava/testsuite/libjava.compile/redef3.java | 6 - libjava/testsuite/libjava.compile/redef3.xfail | 1 - libjava/testsuite/libjava.compile/redef4.java | 6 - libjava/testsuite/libjava.compile/redef4.xfail | 1 - libjava/testsuite/libjava.compile/redef5.java | 6 - libjava/testsuite/libjava.compile/redef5.xfail | 1 - libjava/testsuite/libjava.compile/redef6.java | 6 - libjava/testsuite/libjava.compile/redef6.xfail | 1 - libjava/testsuite/libjava.compile/rh174912.java | 17 - libjava/testsuite/libjava.compile/rh175833.java | 13 - libjava/testsuite/libjava.compile/static_1.java | 12 - libjava/testsuite/libjava.compile/static_1.xfail | 1 - libjava/testsuite/libjava.compile/static_2.java | 10 - libjava/testsuite/libjava.compile/static_2.xfail | 1 - libjava/testsuite/libjava.compile/static_3.java | 5 - libjava/testsuite/libjava.compile/static_3.xfail | 1 - libjava/testsuite/libjava.compile/static_init.java | 4 - .../testsuite/libjava.compile/static_init.xfail | 1 - .../testsuite/libjava.compile/static_init2.java | 9 - .../testsuite/libjava.compile/static_inner.java | 19 - .../testsuite/libjava.compile/support/Case.java | 6 - .../testsuite/libjava.compile/support/PR129_A.java | 6 - .../testsuite/libjava.compile/support/PR206_A.java | 8 - .../testsuite/libjava.compile/support/PR207_A.java | 13 - .../testsuite/libjava.compile/support/Waldo.java | 7 - libjava/testsuite/libjava.compile/uesc.java | 9 - libjava/testsuite/libjava.compile/uesc.xfail | 1 - libjava/testsuite/libjava.compile/weirddecl.java | 8 - libjava/testsuite/libjava.compile/weirddecl.xfail | 1 - libjava/testsuite/libjava.compile/zeroexp.java | 10 - libjava/testsuite/libjava.jacks/jacks.exp | 122 - libjava/testsuite/libjava.jacks/jacks.xfail | 686 - libjava/testsuite/libjava.jni/PR15133.h | 19 + libjava/testsuite/libjava.jni/PR15133.jar | Bin 0 -> 674 bytes libjava/testsuite/libjava.jni/PR18116.h | 19 + libjava/testsuite/libjava.jni/PR18116.jar | Bin 0 -> 740 bytes libjava/testsuite/libjava.jni/PR28178.h | 19 + libjava/testsuite/libjava.jni/PR28178.jar | Bin 0 -> 662 bytes libjava/testsuite/libjava.jni/bytebuffer.h | 25 + libjava/testsuite/libjava.jni/bytebuffer.jar | Bin 0 -> 1150 bytes libjava/testsuite/libjava.jni/calls.h | 19 + libjava/testsuite/libjava.jni/calls.jar | Bin 0 -> 1283 bytes libjava/testsuite/libjava.jni/cxxtest.h | 19 + libjava/testsuite/libjava.jni/cxxtest.jar | Bin 0 -> 818 bytes libjava/testsuite/libjava.jni/directbuffer.h | 26 + libjava/testsuite/libjava.jni/directbuffer.jar | Bin 0 -> 1067 bytes libjava/testsuite/libjava.jni/field.h | 19 + libjava/testsuite/libjava.jni/field.jar | Bin 0 -> 810 bytes libjava/testsuite/libjava.jni/final_method.h | 19 + libjava/testsuite/libjava.jni/final_method.jar | Bin 0 -> 751 bytes libjava/testsuite/libjava.jni/findclass.h | 19 + libjava/testsuite/libjava.jni/findclass.jar | Bin 0 -> 809 bytes libjava/testsuite/libjava.jni/iface.h | 19 + libjava/testsuite/libjava.jni/iface.jar | Bin 0 -> 991 bytes .../testsuite/libjava.jni/invocation/PR16923.jar | Bin 0 -> 673 bytes libjava/testsuite/libjava.jni/invoke.h | 19 + libjava/testsuite/libjava.jni/invoke.jar | Bin 0 -> 762 bytes libjava/testsuite/libjava.jni/jni.exp | 66 +- libjava/testsuite/libjava.jni/jniutf.h | 19 + libjava/testsuite/libjava.jni/jniutf.jar | Bin 0 -> 788 bytes libjava/testsuite/libjava.jni/martin.h | 19 + libjava/testsuite/libjava.jni/martin.jar | Bin 0 -> 934 bytes libjava/testsuite/libjava.jni/noclass.h | 19 + libjava/testsuite/libjava.jni/noclass.jar | Bin 0 -> 755 bytes libjava/testsuite/libjava.jni/overload.h | 20 + libjava/testsuite/libjava.jni/overload.jar | Bin 0 -> 749 bytes libjava/testsuite/libjava.jni/pr11951.h | 19 + libjava/testsuite/libjava.jni/pr11951.jar | Bin 0 -> 715 bytes libjava/testsuite/libjava.jni/pr18278.h | 19 + libjava/testsuite/libjava.jni/pr18278.jar | Bin 0 -> 763 bytes libjava/testsuite/libjava.jni/pr23739.h | 19 + libjava/testsuite/libjava.jni/pr23739.jar | Bin 0 -> 1319 bytes libjava/testsuite/libjava.jni/register.h | 19 + libjava/testsuite/libjava.jni/register.jar | Bin 0 -> 724 bytes libjava/testsuite/libjava.jni/register2.c | 2 +- libjava/testsuite/libjava.jni/register2.jar | Bin 0 -> 1445 bytes libjava/testsuite/libjava.jni/simple_int.h | 19 + libjava/testsuite/libjava.jni/simple_int.jar | Bin 0 -> 730 bytes libjava/testsuite/libjava.jni/throwit.h | 19 + libjava/testsuite/libjava.jni/throwit.jar | Bin 0 -> 864 bytes libjava/testsuite/libjava.jni/virtual.h | 19 + libjava/testsuite/libjava.jni/virtual.jar | Bin 0 -> 747 bytes libjava/testsuite/libjava.jvmti/events.h | 27 + libjava/testsuite/libjava.jvmti/events.jar | Bin 0 -> 702 bytes libjava/testsuite/libjava.jvmti/geterrorname.h | 27 + libjava/testsuite/libjava.jvmti/geterrorname.jar | Bin 0 -> 716 bytes libjava/testsuite/libjava.jvmti/jvmti.exp | 50 +- libjava/testsuite/libjava.lang/ArrayStore.jar | Bin 0 -> 1041 bytes libjava/testsuite/libjava.lang/ArrayStore2.jar | Bin 0 -> 899 bytes libjava/testsuite/libjava.lang/ArrayStore2.xfail | 1 - libjava/testsuite/libjava.lang/Array_1.jar | Bin 0 -> 864 bytes libjava/testsuite/libjava.lang/Array_2.jar | Bin 0 -> 721 bytes libjava/testsuite/libjava.lang/Array_3.jar | Bin 0 -> 974 bytes libjava/testsuite/libjava.lang/Class_1.jar | Bin 0 -> 1840 bytes libjava/testsuite/libjava.lang/CompareNaN.jar | Bin 0 -> 687 bytes libjava/testsuite/libjava.lang/Divide_1.jar | Bin 0 -> 1632 bytes libjava/testsuite/libjava.lang/EvaluationOrder.jar | Bin 0 -> 730 bytes .../testsuite/libjava.lang/ExtraClassLoader.jar | Bin 0 -> 2372 bytes .../testsuite/libjava.lang/FileHandleGcTest.jar | Bin 0 -> 757 bytes libjava/testsuite/libjava.lang/Final.jar | Bin 0 -> 766 bytes libjava/testsuite/libjava.lang/Float_1.jar | Bin 0 -> 849 bytes libjava/testsuite/libjava.lang/Float_2.jar | Bin 0 -> 1422 bytes libjava/testsuite/libjava.lang/G19990301_01.jar | Bin 0 -> 1067 bytes libjava/testsuite/libjava.lang/G19990302_02.jar | Bin 0 -> 778 bytes libjava/testsuite/libjava.lang/G19990303_01.jar | Bin 0 -> 762 bytes libjava/testsuite/libjava.lang/G19990303_02.jar | Bin 0 -> 799 bytes libjava/testsuite/libjava.lang/G19990304_01.jar | Bin 0 -> 764 bytes libjava/testsuite/libjava.lang/G19990310_01.jar | Bin 0 -> 850 bytes libjava/testsuite/libjava.lang/II.jar | Bin 0 -> 685 bytes .../testsuite/libjava.lang/InterfaceDispatch.jar | Bin 0 -> 4725 bytes libjava/testsuite/libjava.lang/InvokeInterface.jar | Bin 0 -> 2413 bytes libjava/testsuite/libjava.lang/InvokeReturn.jar | Bin 0 -> 1209 bytes libjava/testsuite/libjava.lang/Invoke_1.jar | Bin 0 -> 785 bytes libjava/testsuite/libjava.lang/Invoke_2.jar | Bin 0 -> 879 bytes libjava/testsuite/libjava.lang/KeepInline.jar | Bin 0 -> 875 bytes libjava/testsuite/libjava.lang/LargeFile.jar | Bin 0 -> 1081 bytes libjava/testsuite/libjava.lang/MathBuiltin.jar | Bin 0 -> 996 bytes libjava/testsuite/libjava.lang/Matrix4f.jar | Bin 0 -> 1511 bytes libjava/testsuite/libjava.lang/N19990310_02.jar | Bin 0 -> 856 bytes libjava/testsuite/libjava.lang/N19990310_3.jar | Bin 0 -> 834 bytes libjava/testsuite/libjava.lang/N19990310_4.jar | Bin 0 -> 720 bytes libjava/testsuite/libjava.lang/N19990310_5.jar | Bin 0 -> 730 bytes libjava/testsuite/libjava.lang/Overflow.jar | Bin 0 -> 677 bytes libjava/testsuite/libjava.lang/PR12350.jar | Bin 0 -> 1061 bytes libjava/testsuite/libjava.lang/PR12416.jar | Bin 0 -> 1318 bytes libjava/testsuite/libjava.lang/PR12656.jar | Bin 0 -> 928 bytes libjava/testsuite/libjava.lang/PR12915.jar | Bin 0 -> 732 bytes libjava/testsuite/libjava.lang/PR141.jar | Bin 0 -> 1142 bytes libjava/testsuite/libjava.lang/PR160.jar | Bin 0 -> 990 bytes libjava/testsuite/libjava.lang/PR162.jar | Bin 0 -> 1818 bytes libjava/testsuite/libjava.lang/PR16867.jar | Bin 0 -> 714 bytes libjava/testsuite/libjava.lang/PR18699.jar | Bin 0 -> 1127 bytes libjava/testsuite/libjava.lang/PR19870.jar | Bin 0 -> 1944 bytes libjava/testsuite/libjava.lang/PR19870_2.jar | Bin 0 -> 1698 bytes libjava/testsuite/libjava.lang/PR19921.jar | Bin 0 -> 838 bytes libjava/testsuite/libjava.lang/PR20056.jar | Bin 0 -> 719 bytes libjava/testsuite/libjava.lang/PR218.jar | Bin 0 -> 764 bytes libjava/testsuite/libjava.lang/PR242.jar | Bin 0 -> 1565 bytes libjava/testsuite/libjava.lang/PR25535.jar | Bin 0 -> 679 bytes libjava/testsuite/libjava.lang/PR260.jar | Bin 0 -> 935 bytes libjava/testsuite/libjava.lang/PR260.out | 1 - libjava/testsuite/libjava.lang/PR26858.jar | Bin 0 -> 38769 bytes libjava/testsuite/libjava.lang/PR27908.jar | Bin 0 -> 2452 bytes libjava/testsuite/libjava.lang/PR29013.jar | Bin 0 -> 649 bytes libjava/testsuite/libjava.lang/PR29495.jar | Bin 0 -> 2261 bytes libjava/testsuite/libjava.lang/PR29495.java | 56 + libjava/testsuite/libjava.lang/PR29495.out | 0 libjava/testsuite/libjava.lang/PR3096.jar | Bin 0 -> 1089 bytes libjava/testsuite/libjava.lang/PR3731.jar | Bin 0 -> 1047 bytes libjava/testsuite/libjava.lang/PR5057.jar | Bin 0 -> 694 bytes libjava/testsuite/libjava.lang/PR5057_2.jar | Bin 0 -> 995 bytes libjava/testsuite/libjava.lang/PR55.jar | Bin 0 -> 814 bytes libjava/testsuite/libjava.lang/PR56.jar | Bin 0 -> 598 bytes libjava/testsuite/libjava.lang/PR6085.jar | Bin 0 -> 1898 bytes libjava/testsuite/libjava.lang/PR6204.jar | Bin 0 -> 1678 bytes libjava/testsuite/libjava.lang/PR6520.jar | Bin 0 -> 749 bytes libjava/testsuite/libjava.lang/PR6729.jar | Bin 0 -> 883 bytes libjava/testsuite/libjava.lang/PR6820.jar | Bin 0 -> 865 bytes libjava/testsuite/libjava.lang/PR7482.jar | Bin 0 -> 2053 bytes libjava/testsuite/libjava.lang/PR8866.jar | Bin 0 -> 591 bytes libjava/testsuite/libjava.lang/Process_1.jar | Bin 0 -> 1117 bytes libjava/testsuite/libjava.lang/Process_2.jar | Bin 0 -> 1203 bytes libjava/testsuite/libjava.lang/Process_3.jar | Bin 0 -> 1485 bytes libjava/testsuite/libjava.lang/Process_4.jar | Bin 0 -> 874 bytes libjava/testsuite/libjava.lang/Process_5.jar | Bin 0 -> 1057 bytes libjava/testsuite/libjava.lang/Process_6.jar | Bin 0 -> 865 bytes libjava/testsuite/libjava.lang/RH194522.jar | Bin 0 -> 874 bytes libjava/testsuite/libjava.lang/Serialization.jar | Bin 0 -> 1362 bytes libjava/testsuite/libjava.lang/Shazam.jar | Bin 0 -> 733 bytes libjava/testsuite/libjava.lang/StackTrace2.jar | Bin 0 -> 1775 bytes .../testsuite/libjava.lang/StaticConstructor.jar | Bin 0 -> 1162 bytes libjava/testsuite/libjava.lang/StringBuffer_1.jar | Bin 0 -> 1351 bytes .../libjava.lang/StringBuffer_overflow.jar | Bin 0 -> 1610 bytes libjava/testsuite/libjava.lang/String_overflow.jar | Bin 0 -> 1653 bytes libjava/testsuite/libjava.lang/SyncGlobal.jar | Bin 0 -> 1143 bytes libjava/testsuite/libjava.lang/SyncTest.jar | Bin 0 -> 1050 bytes libjava/testsuite/libjava.lang/Synch.jar | Bin 0 -> 707 bytes libjava/testsuite/libjava.lang/TLtest.jar | Bin 0 -> 2204 bytes libjava/testsuite/libjava.lang/TestProxy.jar | Bin 0 -> 1410 bytes libjava/testsuite/libjava.lang/TestProxy.java | 4 +- libjava/testsuite/libjava.lang/Thread_Alive.jar | Bin 0 -> 1098 bytes .../testsuite/libjava.lang/Thread_HoldsLock.jar | Bin 0 -> 1187 bytes .../testsuite/libjava.lang/Thread_Interrupt.jar | Bin 0 -> 3972 bytes libjava/testsuite/libjava.lang/Thread_Join.jar | Bin 0 -> 1890 bytes libjava/testsuite/libjava.lang/Thread_Monitor.jar | Bin 0 -> 1750 bytes libjava/testsuite/libjava.lang/Thread_Sleep.jar | Bin 0 -> 858 bytes libjava/testsuite/libjava.lang/Thread_Sleep_2.jar | Bin 0 -> 966 bytes libjava/testsuite/libjava.lang/Thread_Wait.jar | Bin 0 -> 1096 bytes libjava/testsuite/libjava.lang/Thread_Wait_2.jar | Bin 0 -> 2131 bytes .../libjava.lang/Thread_Wait_Interrupt.jar | Bin 0 -> 1968 bytes libjava/testsuite/libjava.lang/Throw_1.jar | Bin 0 -> 756 bytes libjava/testsuite/libjava.lang/Throw_2.jar | Bin 0 -> 1011 bytes libjava/testsuite/libjava.lang/Throw_3.jar | Bin 0 -> 947 bytes libjava/testsuite/libjava.lang/anfi.jar | Bin 0 -> 1822 bytes libjava/testsuite/libjava.lang/anon.jar | Bin 0 -> 2564 bytes libjava/testsuite/libjava.lang/anon2.jar | Bin 0 -> 2361 bytes libjava/testsuite/libjava.lang/anon3.jar | Bin 0 -> 1540 bytes libjava/testsuite/libjava.lang/anon4.jar | Bin 0 -> 1631 bytes .../testsuite/libjava.lang/anon_ctor_itf_arg.jar | Bin 0 -> 1962 bytes libjava/testsuite/libjava.lang/anonarray.jar | Bin 0 -> 842 bytes libjava/testsuite/libjava.lang/anonarray2.jar | Bin 0 -> 921 bytes libjava/testsuite/libjava.lang/anonarray3.jar | Bin 0 -> 704 bytes libjava/testsuite/libjava.lang/assign.jar | Bin 0 -> 1261 bytes libjava/testsuite/libjava.lang/assign2.jar | Bin 0 -> 801 bytes libjava/testsuite/libjava.lang/bclink.jar | Bin 0 -> 640 bytes libjava/testsuite/libjava.lang/bytearray.jar | Bin 0 -> 829 bytes libjava/testsuite/libjava.lang/direct_read.jar | Bin 0 -> 1455 bytes libjava/testsuite/libjava.lang/direct_write.jar | Bin 0 -> 1391 bytes libjava/testsuite/libjava.lang/emptystring.jar | Bin 0 -> 883 bytes libjava/testsuite/libjava.lang/err1.jar | Bin 0 -> 1114 bytes libjava/testsuite/libjava.lang/err10.jar | Bin 0 -> 819 bytes libjava/testsuite/libjava.lang/err11.jar | Bin 0 -> 744 bytes libjava/testsuite/libjava.lang/err12.jar | Bin 0 -> 862 bytes libjava/testsuite/libjava.lang/err13.jar | Bin 0 -> 864 bytes libjava/testsuite/libjava.lang/err14.jar | Bin 0 -> 764 bytes libjava/testsuite/libjava.lang/err2.jar | Bin 0 -> 775 bytes libjava/testsuite/libjava.lang/err3.jar | Bin 0 -> 856 bytes libjava/testsuite/libjava.lang/err4.jar | Bin 0 -> 872 bytes libjava/testsuite/libjava.lang/err5.jar | Bin 0 -> 905 bytes libjava/testsuite/libjava.lang/err6.jar | Bin 0 -> 845 bytes libjava/testsuite/libjava.lang/err7.jar | Bin 0 -> 691 bytes libjava/testsuite/libjava.lang/err8.jar | Bin 0 -> 652 bytes libjava/testsuite/libjava.lang/err9.jar | Bin 0 -> 831 bytes libjava/testsuite/libjava.lang/final_inner.jar | Bin 0 -> 1488 bytes libjava/testsuite/libjava.lang/final_int.jar | Bin 0 -> 1251 bytes .../libjava.lang/final_static_and_friend.jar | Bin 0 -> 848 bytes libjava/testsuite/libjava.lang/indirect.jar | Bin 0 -> 2658 bytes libjava/testsuite/libjava.lang/indirect_read.jar | Bin 0 -> 2044 bytes libjava/testsuite/libjava.lang/indirect_write.jar | Bin 0 -> 1976 bytes libjava/testsuite/libjava.lang/initexc.jar | Bin 0 -> 1183 bytes libjava/testsuite/libjava.lang/initfield.jar | Bin 0 -> 1311 bytes libjava/testsuite/libjava.lang/inline.jar | Bin 0 -> 823 bytes libjava/testsuite/libjava.lang/inner1.jar | Bin 0 -> 1973 bytes libjava/testsuite/libjava.lang/inner2.jar | Bin 0 -> 776 bytes libjava/testsuite/libjava.lang/inner3.jar | Bin 0 -> 1284 bytes libjava/testsuite/libjava.lang/inner4.jar | Bin 0 -> 1633 bytes libjava/testsuite/libjava.lang/inner_array.jar | Bin 0 -> 1602 bytes libjava/testsuite/libjava.lang/inner_interface.jar | Bin 0 -> 1644 bytes libjava/testsuite/libjava.lang/instance.jar | Bin 0 -> 942 bytes libjava/testsuite/libjava.lang/instinit.jar | Bin 0 -> 766 bytes libjava/testsuite/libjava.lang/instinit2.jar | Bin 0 -> 889 bytes .../testsuite/libjava.lang/invoke_from_inner.jar | Bin 0 -> 2208 bytes libjava/testsuite/libjava.lang/invokethrow.jar | Bin 0 -> 985 bytes libjava/testsuite/libjava.lang/klass.jar | Bin 0 -> 771 bytes libjava/testsuite/libjava.lang/lang.exp | 4 +- libjava/testsuite/libjava.lang/md5test.jar | Bin 0 -> 1649 bytes libjava/testsuite/libjava.lang/multiple_finit.jar | Bin 0 -> 1447 bytes libjava/testsuite/libjava.lang/negzero.jar | Bin 0 -> 680 bytes .../testsuite/libjava.lang/nested_with_ctor.jar | Bin 0 -> 1541 bytes .../testsuite/libjava.lang/newarray_overflow.jar | Bin 0 -> 1157 bytes libjava/testsuite/libjava.lang/override.jar | Bin 0 -> 1013 bytes libjava/testsuite/libjava.lang/pr100.jar | Bin 0 -> 709 bytes libjava/testsuite/libjava.lang/pr109.jar | Bin 0 -> 717 bytes libjava/testsuite/libjava.lang/pr13107.jar | Bin 0 -> 788 bytes libjava/testsuite/libjava.lang/pr13107_2.jar | Bin 0 -> 666 bytes libjava/testsuite/libjava.lang/pr13107_3.jar | Bin 0 -> 717 bytes libjava/testsuite/libjava.lang/pr133.jar | Bin 0 -> 946 bytes libjava/testsuite/libjava.lang/pr16789.jar | Bin 0 -> 751 bytes libjava/testsuite/libjava.lang/pr17536.jar | Bin 0 -> 703 bytes libjava/testsuite/libjava.lang/pr179.jar | Bin 0 -> 2260 bytes libjava/testsuite/libjava.lang/pr179.java | 12 +- libjava/testsuite/libjava.lang/pr179.out | 5 +- libjava/testsuite/libjava.lang/pr184.jar | Bin 0 -> 757 bytes libjava/testsuite/libjava.lang/pr21785.jar | Bin 0 -> 896 bytes libjava/testsuite/libjava.lang/pr21844.jar | Bin 0 -> 1500 bytes libjava/testsuite/libjava.lang/pr22211.jar | Bin 0 -> 625 bytes libjava/testsuite/libjava.lang/pr24321.jar | Bin 0 -> 1602 bytes libjava/testsuite/libjava.lang/pr25676.jar | Bin 0 -> 728 bytes libjava/testsuite/libjava.lang/pr26390.jar | Bin 0 -> 3388 bytes libjava/testsuite/libjava.lang/pr26990.jar | Bin 0 -> 1125 bytes libjava/testsuite/libjava.lang/pr27171.jar | Bin 0 -> 802 bytes libjava/testsuite/libjava.lang/pr6388.jar | Bin 0 -> 682 bytes libjava/testsuite/libjava.lang/pr83.jar | Bin 0 -> 928 bytes libjava/testsuite/libjava.lang/pr8415.jar | Bin 0 -> 811 bytes libjava/testsuite/libjava.lang/pr8676.jar | Bin 0 -> 593 bytes libjava/testsuite/libjava.lang/pr8823.jar | Bin 0 -> 1148 bytes libjava/testsuite/libjava.lang/pr8945.jar | Bin 0 -> 708 bytes .../testsuite/libjava.lang/private_direct_read.jar | Bin 0 -> 1556 bytes .../libjava.lang/private_direct_write.jar | Bin 0 -> 1489 bytes .../libjava.lang/private_indirect_read.jar | Bin 0 -> 2183 bytes .../libjava.lang/private_indirect_write.jar | Bin 0 -> 2121 bytes libjava/testsuite/libjava.lang/search_outer.jar | Bin 0 -> 1558 bytes libjava/testsuite/libjava.lang/shatest.jar | Bin 0 -> 1274 bytes libjava/testsuite/libjava.lang/stacktrace.jar | Bin 0 -> 2079 bytes libjava/testsuite/libjava.lang/stringconst.jar | Bin 0 -> 1175 bytes libjava/testsuite/libjava.lang/stringconst.xfail | 1 - libjava/testsuite/libjava.lang/stringconst2.jar | Bin 0 -> 877 bytes libjava/testsuite/libjava.lang/stub.jar | Bin 0 -> 3099 bytes libjava/testsuite/libjava.lang/test_long.jar | Bin 0 -> 883 bytes libjava/testsuite/libjava.lang/tmi.jar | Bin 0 -> 2020 bytes libjava/testsuite/libjava.lang/tp.jar | Bin 0 -> 2089 bytes libjava/testsuite/libjava.lang/update_outer.jar | Bin 0 -> 1619 bytes libjava/testsuite/libjava.lang/utf8concat.jar | Bin 0 -> 622 bytes libjava/testsuite/libjava.lang/utilTest.jar | Bin 0 -> 1471 bytes libjava/testsuite/libjava.lang/verify.jar | Bin 0 -> 1338 bytes libjava/testsuite/libjava.loader/TestEarlyGC.jar | Bin 0 -> 2452 bytes libjava/testsuite/libjava.loader/TestLeak.jar | Bin 0 -> 1571 bytes libjava/testsuite/libjava.loader/TestLeak.java | 4 +- libjava/testsuite/libjava.loader/TestMultiple.jar | Bin 0 -> 1165 bytes libjava/testsuite/libjava.loader/TestParent.jar | Bin 0 -> 1182 bytes libjava/testsuite/libjava.loader/dummy.class | Bin 0 -> 184 bytes libjava/testsuite/libjava.loader/loader.exp | 24 +- libjava/testsuite/libjava.special/special.exp | 14 +- libjava/win32-threads.cc | 145 + 17468 files changed, 609302 insertions(+), 73057 deletions(-) create mode 100644 libjava/classpath/.cdtproject create mode 100644 libjava/classpath/.classpath create mode 100644 libjava/classpath/.cvsignore create mode 100644 libjava/classpath/.externalToolBuilders/Autogen.launch create mode 100644 libjava/classpath/.externalToolBuilders/ClasspathHeaders.launch create mode 100644 libjava/classpath/.externalToolBuilders/ClasspathJar.launch create mode 100644 libjava/classpath/.externalToolBuilders/CompileNative.launch create mode 100644 libjava/classpath/.externalToolBuilders/Configure.launch create mode 100644 libjava/classpath/.externalToolBuilders/CreateLocaleData.launch create mode 100644 libjava/classpath/.project create mode 100644 libjava/classpath/.settings/org.eclipse.jdt.core.prefs create mode 100644 libjava/classpath/.settings/org.eclipse.jdt.ui.prefs create mode 100644 libjava/classpath/ChangeLog.usermap create mode 100755 libjava/classpath/compile create mode 100644 libjava/classpath/doc/.cvsignore create mode 100644 libjava/classpath/doc/api/.cvsignore create mode 100644 libjava/classpath/examples/.cvsignore create mode 100644 libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png create mode 100644 libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif create mode 100644 libjava/classpath/examples/gnu/classpath/examples/icons/back.png create mode 100644 libjava/classpath/examples/gnu/classpath/examples/icons/reload.png create mode 100644 libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png create mode 100644 libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/BrowserEditorKit.java create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/forms.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/frame1.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/frame2.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/frame3.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/frame4.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/frames.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/tables.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/textstyles.html create mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/welcome.html create mode 100644 libjava/classpath/external/.cvsignore create mode 100644 libjava/classpath/external/jsr166/.cvsignore create mode 100644 libjava/classpath/external/jsr166/IMPORTING create mode 100644 libjava/classpath/external/jsr166/Makefile.am create mode 100644 libjava/classpath/external/jsr166/Makefile.in create mode 100644 libjava/classpath/external/jsr166/java/util/AbstractQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/ArrayDeque.java create mode 100644 libjava/classpath/external/jsr166/java/util/Deque.java create mode 100644 libjava/classpath/external/jsr166/java/util/NavigableMap.java create mode 100644 libjava/classpath/external/jsr166/java/util/NavigableSet.java create mode 100644 libjava/classpath/external/jsr166/java/util/Queue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/AbstractExecutorService.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ArrayBlockingQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/BlockingDeque.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/BlockingQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/BrokenBarrierException.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Callable.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/CancellationException.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/CompletionService.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentHashMap.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentLinkedQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentMap.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentNavigableMap.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/CountDownLatch.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/CyclicBarrier.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/DelayQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Delayed.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Exchanger.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ExecutionException.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Executor.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ExecutorCompletionService.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ExecutorService.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Executors.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Future.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/FutureTask.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingDeque.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/PriorityBlockingQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionException.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionHandler.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/RunnableFuture.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/RunnableScheduledFuture.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ScheduledExecutorService.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ScheduledFuture.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/Semaphore.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/SynchronousQueue.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ThreadFactory.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/ThreadPoolExecutor.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/TimeUnit.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/TimeoutException.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicBoolean.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicInteger.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerArray.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLong.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongArray.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicMarkableReference.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReference.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceArray.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicStampedReference.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractOwnableSynchronizer.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/Condition.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/Lock.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/LockSupport.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/ReadWriteLock.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantLock.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html create mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/package.html create mode 100644 libjava/classpath/external/jsr166/readme create mode 100644 libjava/classpath/external/relaxngDatatype/.cvsignore create mode 100644 libjava/classpath/external/sax/.cvsignore create mode 100644 libjava/classpath/external/w3c_dom/.cvsignore create mode 100644 libjava/classpath/external/w3c_dom/COPYRIGHT.html create mode 100644 libjava/classpath/gnu/CORBA/CollocatedOrbs.java create mode 100644 libjava/classpath/gnu/CORBA/SafeForDirectCalls.java create mode 100644 libjava/classpath/gnu/classpath/.cvsignore create mode 100644 libjava/classpath/gnu/classpath/ListenerData.java create mode 100644 libjava/classpath/gnu/java/awt/ComponentReshapeEvent.java create mode 100644 libjava/classpath/gnu/java/awt/LowPriorityEvent.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Constants.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Latin.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Scaler.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Script.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Segment.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Width.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/ShapeCache.java create mode 100644 libjava/classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java create mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java delete mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java create mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java create mode 100644 libjava/classpath/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java create mode 100644 libjava/classpath/gnu/java/awt/peer/headless/HeadlessToolkit.java create mode 100644 libjava/classpath/gnu/java/awt/peer/swing/SwingListPeer.java create mode 100644 libjava/classpath/gnu/java/awt/peer/swing/SwingTextAreaPeer.java create mode 100644 libjava/classpath/gnu/java/io/ObjectIdentityMap2Int.java create mode 100644 libjava/classpath/gnu/java/io/class-dependencies.conf create mode 100644 libjava/classpath/gnu/java/locale/.cvsignore create mode 100644 libjava/classpath/gnu/java/net/DefaultProxySelector.java create mode 100644 libjava/classpath/gnu/java/nio/EpollSelectionKeyImpl.java create mode 100644 libjava/classpath/gnu/java/nio/EpollSelectorImpl.java create mode 100644 libjava/classpath/gnu/java/nio/FileChannelImpl.java create mode 100644 libjava/classpath/gnu/java/nio/KqueueSelectionKeyImpl.java create mode 100644 libjava/classpath/gnu/java/nio/KqueueSelectorImpl.java create mode 100644 libjava/classpath/gnu/java/nio/NIOSocketImpl.java create mode 100644 libjava/classpath/gnu/java/nio/VMChannelOwner.java delete mode 100644 libjava/classpath/gnu/java/nio/channels/FileChannelImpl.java create mode 100644 libjava/classpath/gnu/java/security/.cvsignore create mode 100644 libjava/classpath/gnu/java/security/Requires.java create mode 100644 libjava/classpath/gnu/java/security/util/ByteBufferOutputStream.java create mode 100644 libjava/classpath/gnu/javax/crypto/key/GnuPBEKey.java create mode 100644 libjava/classpath/gnu/javax/management/Server.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/ContextContinuation.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/GiopNamingEnumeration.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceURLContext.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java create mode 100644 libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java create mode 100644 libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/ContextContinuation.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListEnumeration.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiContinuation.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContext.java create mode 100644 libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/AbstractSessionContext.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManager.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManagerParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/SSLCipherSuite.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/SSLProtocolVersion.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/SSLRecordHandler.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/Session.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/SessionStoreException.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/AbstractHandshake.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Builder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CertificateBuilder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequestBuilder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusRequest.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusType.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CertificateURL.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CipherAlgorithm.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CipherSuiteList.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientCertificateTypeList.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientHandshake.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloBuilder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloV2.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientPSKParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethodList.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Context.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Debug.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/DelegatedTask.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/DigestInputStream.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/DigestOutputStream.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/EmptyExchangeKeys.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Enumerated.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ExchangeKeys.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ExtensionList.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Extensions.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/GNUSecurityParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/InputSecurityParameters.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/JCESecurityParameters.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/JDBCSessionContext.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPrivateKey.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPublicKey.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPublicKey.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/KeyPool.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/MacAlgorithm.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/MaxFragmentLength.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/OutputSecurityParameters.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/OverflowException.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Record.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/RecordInput.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/RecordInputStream.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/RecordOutputStream.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/RecordingInputStream.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLContextImpl.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignature.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocket.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactory.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketImpl.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLSocket.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactory.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketImpl.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketInputStream.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketOutputStream.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SecurityParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerDHParams.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerHandshake.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloBuilder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloDone.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerNameList.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerPSKParameters.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerRSAParams.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/Session.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SessionContext.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SessionImpl.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SignatureAlgorithm.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SimpleSessionContext.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/SynchronizedRandom.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/TruncatedHMAC.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/TrustedAuthorities.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java create mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/X500PrincipalList.java delete mode 100644 libjava/classpath/gnu/javax/net/ssl/provider/XMLSessionContext.java create mode 100644 libjava/classpath/gnu/javax/security/auth/callback/CertificateCallback.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/BorderStyle.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/BorderWidth.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/CSSColor.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/CSSLexicalException.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/CSSParserCallback.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/CSSParserException.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/CSSScanner.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/FontSize.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/FontStyle.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/FontWeight.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/Length.java create mode 100644 libjava/classpath/gnu/javax/swing/text/html/css/Selector.java delete mode 100644 libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401Swing.java create mode 100644 libjava/classpath/gnu/test/.cvsignore create mode 100644 libjava/classpath/gnu/xml/transform/SAXTemplatesHandler.java create mode 100644 libjava/classpath/gnu/xml/transform/SAXTransformerHandler.java create mode 100644 libjava/classpath/include/.cvsignore delete mode 100644 libjava/classpath/include/gnu_java_net_VMPlainDatagramSocketImpl.h create mode 100644 libjava/classpath/include/gnu_java_nio_EpollSelectorImpl.h create mode 100644 libjava/classpath/include/gnu_java_nio_FileChannelImpl.h create mode 100644 libjava/classpath/include/gnu_java_nio_KqueueSelectorImpl.h delete mode 100644 libjava/classpath/include/gnu_java_nio_channels_FileChannelImpl.h create mode 100644 libjava/classpath/java/awt/datatransfer/MimeType.java create mode 100644 libjava/classpath/java/io/class-dependencies.conf create mode 100644 libjava/classpath/java/lang/Deprecated.java create mode 100644 libjava/classpath/java/lang/Override.java create mode 100644 libjava/classpath/java/lang/ProcessBuilder.java create mode 100644 libjava/classpath/java/lang/SuppressWarnings.java create mode 100644 libjava/classpath/java/lang/annotation/Documented.java create mode 100644 libjava/classpath/java/lang/annotation/ElementType.java create mode 100644 libjava/classpath/java/lang/annotation/Inherited.java create mode 100644 libjava/classpath/java/lang/annotation/Retention.java create mode 100644 libjava/classpath/java/lang/annotation/RetentionPolicy.java create mode 100644 libjava/classpath/java/lang/annotation/Target.java create mode 100644 libjava/classpath/java/lang/class-dependencies.conf create mode 100644 libjava/classpath/java/lang/management/MemoryType.java create mode 100644 libjava/classpath/java/math/RoundingMode.java create mode 100644 libjava/classpath/java/math/class-dependencies.conf create mode 100644 libjava/classpath/java/net/Proxy.java create mode 100644 libjava/classpath/java/net/ProxySelector.java create mode 100644 libjava/classpath/java/net/class-dependencies.conf create mode 100644 libjava/classpath/java/nio/class-dependencies.conf create mode 100644 libjava/classpath/java/util/.cvsignore create mode 100644 libjava/classpath/java/util/EnumMap.java create mode 100644 libjava/classpath/java/util/EnumSet.java create mode 100644 libjava/classpath/java/util/PriorityQueue.java create mode 100644 libjava/classpath/java/util/class-dependencies.conf create mode 100644 libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java create mode 100644 libjava/classpath/javax/management/BadAttributeValueExpException.java create mode 100644 libjava/classpath/javax/management/BadBinaryOpValueExpException.java create mode 100644 libjava/classpath/javax/management/BadStringOperationException.java create mode 100644 libjava/classpath/javax/management/InstanceAlreadyExistsException.java create mode 100644 libjava/classpath/javax/management/InstanceNotFoundException.java create mode 100644 libjava/classpath/javax/management/InvalidApplicationException.java create mode 100644 libjava/classpath/javax/management/MBeanPermission.java create mode 100644 libjava/classpath/javax/management/MBeanRegistration.java create mode 100644 libjava/classpath/javax/management/MBeanRegistrationException.java create mode 100644 libjava/classpath/javax/management/MBeanServer.java create mode 100644 libjava/classpath/javax/management/MBeanServerBuilder.java create mode 100644 libjava/classpath/javax/management/MBeanServerConnection.java create mode 100644 libjava/classpath/javax/management/MBeanServerDelegate.java create mode 100644 libjava/classpath/javax/management/MBeanServerDelegateMBean.java create mode 100644 libjava/classpath/javax/management/MBeanServerFactory.java create mode 100644 libjava/classpath/javax/management/MBeanServerNotification.java create mode 100644 libjava/classpath/javax/management/MBeanServerPermission.java create mode 100644 libjava/classpath/javax/management/MBeanTrustPermission.java create mode 100644 libjava/classpath/javax/management/MalformedObjectNameException.java create mode 100644 libjava/classpath/javax/management/ObjectInstance.java create mode 100644 libjava/classpath/javax/management/ObjectName.java create mode 100644 libjava/classpath/javax/management/QueryExp.java create mode 100644 libjava/classpath/javax/management/RuntimeErrorException.java create mode 100644 libjava/classpath/javax/management/RuntimeMBeanException.java create mode 100644 libjava/classpath/javax/management/ServiceNotFoundException.java create mode 100644 libjava/classpath/javax/management/ValueExp.java create mode 100644 libjava/classpath/javax/management/loading/ClassLoaderRepository.java create mode 100644 libjava/classpath/javax/management/openmbean/InvalidOpenTypeException.java create mode 100644 libjava/classpath/javax/management/openmbean/KeyAlreadyExistsException.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfo.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfo.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanInfo.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanInfoSupport.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java create mode 100644 libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java create mode 100644 libjava/classpath/javax/management/openmbean/TabularDataSupport.java create mode 100644 libjava/classpath/javax/net/ssl/CertPathTrustManagerParameters.java create mode 100644 libjava/classpath/javax/net/ssl/KeyStoreBuilderParameters.java create mode 100644 libjava/classpath/javax/net/ssl/SSLEngine.java create mode 100644 libjava/classpath/javax/net/ssl/SSLEngineResult.java create mode 100644 libjava/classpath/javax/net/ssl/X509ExtendedKeyManager.java create mode 100644 libjava/classpath/javax/swing/text/ZoneView.java create mode 100644 libjava/classpath/javax/swing/text/html/CSSBorder.java create mode 100644 libjava/classpath/javax/swing/text/html/FormSubmitEvent.java create mode 100644 libjava/classpath/javax/swing/text/html/FrameSetView.java create mode 100644 libjava/classpath/javax/swing/text/html/FrameView.java create mode 100644 libjava/classpath/javax/swing/text/html/HTMLWriter.java create mode 100644 libjava/classpath/javax/swing/text/html/MultiAttributeSet.java create mode 100644 libjava/classpath/javax/swing/text/html/MultiStyle.java create mode 100644 libjava/classpath/javax/swing/text/html/ResetableModel.java create mode 100644 libjava/classpath/javax/swing/text/html/ResetablePlainDocument.java create mode 100644 libjava/classpath/javax/swing/text/html/ResetableToggleButtonModel.java create mode 100644 libjava/classpath/javax/swing/text/html/SelectComboBoxModel.java create mode 100644 libjava/classpath/javax/swing/text/html/SelectListModel.java create mode 100644 libjava/classpath/javax/swing/text/html/ViewAttributeSet.java create mode 100644 libjava/classpath/jvmti.h create mode 100644 libjava/classpath/lib/.cvsignore create mode 100644 libjava/classpath/lib/gnu/CORBA/Asynchron.class create mode 100644 libjava/classpath/lib/gnu/CORBA/BigDecimalHelper.class create mode 100644 libjava/classpath/lib/gnu/CORBA/ByteArrayComparator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrInput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrOutput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataInput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataOutput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/AligningInput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/AligningOutput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/ArrayValueHelper.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/BigEndianInputStream.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/BigEndianOutputStream.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/BufferedCdrOutput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/BufferredCdrInput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/EncapsulationStream.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/HeadlessInput.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/IDLTypeHelper.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianInputStream.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianOutputStream.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/UnknownExceptionCtxHandler.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/VMVio.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/Vio.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Entry.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CDR/gnuValueStream.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CdrEncapsCodecImpl.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Connected_objects$cObject.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Connected_objects.class create mode 100644 libjava/classpath/lib/gnu/CORBA/CorbaList.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DefaultSocketFactory.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DefinitionKindHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DuplicateNameHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/AbstractAny.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/DivideableAny.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/NameValuePairHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/RecordAny.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/UndivideableAny.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/ValueChangeListener.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAny.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAnyFactory.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynArray.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynEnum.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynFixed.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynSequence.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynStruct.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynUnion.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValueBox.class create mode 100644 libjava/classpath/lib/gnu/CORBA/DynAnySeqHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/EmptyExceptionHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/ForwardRequestHelper.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/CancelHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/CharSets_OSF.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/CloseMessage.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/MessageHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/ReplyHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/RequestHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/ServiceContext.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/CancelHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/ReplyHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/RequestHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/ReplyHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/RequestHeader.class create mode 100644 libjava/classpath/lib/gnu/CORBA/GeneralHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/HolderLocator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IOR.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/ClientRequestInterceptors.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/ForwardRequestHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/IORInterceptors.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/ServerRequestInterceptors.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/gnuClientRequestInfo.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIorInfo.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Interceptor/gnuServerRequestInfo.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IorDelegate.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IorObject.class create mode 100644 libjava/classpath/lib/gnu/CORBA/IorProvider.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Minor.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NameDynAnyPairHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NameDynAnyPairSeqHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NameValuePairHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NameValuePairSeqHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/Binding_iterator_impl.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/Ext.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NameComponentComparator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NameTransformer.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NameValidator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class create mode 100644 libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class create mode 100644 libjava/classpath/lib/gnu/CORBA/ObjectCreator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OctetHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbFocused.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbFunctional$portServer.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbFunctional.class create mode 100644 libjava/classpath/lib/gnu/CORBA/OrbRestricted.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/AOM$Obj.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/AOM.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/AccessiblePolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/DynamicImpHandler.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/ForwardRequestHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/InvalidPolicyHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/LocalServerRequest.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/StandardPolicies.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuAdapterActivator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuForwardRequest.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuIdAssignmentPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuIdUniquenessPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuImplicitActivationPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuLifespanPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA$RefTemplate.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuPOAManager.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuRequestProcessingPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuServantRetentionPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Poa/gnuThreadPolicy.class create mode 100644 libjava/classpath/lib/gnu/CORBA/RawReply.class create mode 100644 libjava/classpath/lib/gnu/CORBA/ResponseHandlerImpl.class create mode 100644 libjava/classpath/lib/gnu/CORBA/SafeForDirectCalls.class create mode 100644 libjava/classpath/lib/gnu/CORBA/ServiceDetailHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/ServiceRequestAdapter.class create mode 100644 libjava/classpath/lib/gnu/CORBA/SetOverrideTypeHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/SimpleDelegate.class create mode 100644 libjava/classpath/lib/gnu/CORBA/SocketRepository.class create mode 100644 libjava/classpath/lib/gnu/CORBA/StreamBasedRequest.class create mode 100644 libjava/classpath/lib/gnu/CORBA/StreamHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/StubLocator.class create mode 100644 libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class create mode 100644 libjava/classpath/lib/gnu/CORBA/TypeKindNamer.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Unexpected.class create mode 100644 libjava/classpath/lib/gnu/CORBA/Version.class create mode 100644 libjava/classpath/lib/gnu/CORBA/WCharHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/WStringHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/_PolicyImplBase.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuAny.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuCodecFactory.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuContext.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuContextList.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuEnvironment.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuExceptionList.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuNVList.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuNamedValue.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuRequest.class create mode 100644 libjava/classpath/lib/gnu/CORBA/gnuValueHolder.class create mode 100644 libjava/classpath/lib/gnu/CORBA/interfaces/SocketFactory.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/AliasTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/ArrayTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/FixedTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/GeneralTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/PrimitiveTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode$Field.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/RecursiveTypeCode.class create mode 100644 libjava/classpath/lib/gnu/CORBA/typecodes/StringTypeCode.class create mode 100644 libjava/classpath/lib/gnu/awt/LightweightRedirector.class create mode 100644 libjava/classpath/lib/gnu/awt/j2d/AbstractGraphicsState.class create mode 100644 libjava/classpath/lib/gnu/awt/j2d/DirectRasterGraphics.class create mode 100644 libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class create mode 100644 libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.class create mode 100644 libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState.class create mode 100644 libjava/classpath/lib/gnu/awt/j2d/MappedRaster.class create mode 100644 libjava/classpath/lib/gnu/classpath/Configuration.class create mode 100644 libjava/classpath/lib/gnu/classpath/ListenerData.class create mode 100644 libjava/classpath/lib/gnu/classpath/NotImplementedException.class create mode 100644 libjava/classpath/lib/gnu/classpath/Pointer.class create mode 100644 libjava/classpath/lib/gnu/classpath/Pointer32.class create mode 100644 libjava/classpath/lib/gnu/classpath/Pointer64.class create mode 100644 libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class create mode 100644 libjava/classpath/lib/gnu/classpath/ServiceFactory.class create mode 100644 libjava/classpath/lib/gnu/classpath/ServiceProviderLoadingAction.class create mode 100644 libjava/classpath/lib/gnu/classpath/SystemProperties.class create mode 100644 libjava/classpath/lib/gnu/classpath/VMStackWalker.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/Component.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/PreciseFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/Simple1LineFormatter.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/SystemLogger.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/TeeInputStream.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/TeeOutputStream.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/TeeReader.class create mode 100644 libjava/classpath/lib/gnu/classpath/debug/TeeWriter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ClassStatus.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Error.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$EventKind.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ModKind.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepDepth.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepSize.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Tag.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$TypeTag.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Version.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$ReferenceKey.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/VMMethod.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/BreakpointEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/ClassPrepareEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/ClassUnloadEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/Event.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/EventRequest.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/ExceptionEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/MethodEntryEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/MethodExitEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/SingleStepEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadEndEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadStartEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/VmDeathEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/VmInitEvent.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ConditionalFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/CountFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/IEventFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/StepFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidCountException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidEventTypeException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidFieldException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidLocationException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidMethodException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidObjectException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidStringException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/NativeMethodException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/NotImplementedException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/exception/VmDeadException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ClassLoaderId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ClassReferenceTypeId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/JdwpId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ObjectId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/StringId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadGroupId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadId.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/CommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/EventRequestCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/FieldCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/MethodCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/PacketProcessor.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/StackFrameCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/ITransport.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpCommandPacket.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpConnection.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpPacket.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpReplyPacket.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/SocketTransport.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportException.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/JdwpString.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/LineTable.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/Location.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/MethodResult.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/Signature.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class create mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/VariableTable.class create mode 100644 libjava/classpath/lib/gnu/gcj/Core.class create mode 100644 libjava/classpath/lib/gnu/gcj/RawData.class create mode 100644 libjava/classpath/lib/gnu/gcj/RawDataManaged.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/BytesToCharsetAdaptor.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/BytesToUnicode.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/CharsetToBytesAdaptor.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Convert.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/IOConverter.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_8859_1.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_ASCII.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_EUCJIS.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_JavaSrc.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_SJIS.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_UTF8.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeBig.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeLittle.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Input_iconv.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_8859_1.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_ASCII.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_EUCJIS.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_JavaSrc.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_SJIS.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_UTF8.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_UnicodeLittleUnmarked.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/Output_iconv.class create mode 100644 libjava/classpath/lib/gnu/gcj/convert/UnicodeToBytes.class create mode 100644 libjava/classpath/lib/gnu/gcj/io/DefaultMimeTypes.class create mode 100644 libjava/classpath/lib/gnu/gcj/io/MimeTypes.class create mode 100644 libjava/classpath/lib/gnu/gcj/io/SimpleSHSStream.class create mode 100644 libjava/classpath/lib/gnu/gcj/jvmti/Breakpoint.class create mode 100644 libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class create mode 100644 libjava/classpath/lib/gnu/gcj/jvmti/Location.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/ExtensionClassLoader.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/FinalizerThread.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/JNIWeakRef.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/NameFinder$Addr2Line.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/NameFinder.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$MapEntry.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/StringBuffer.class create mode 100644 libjava/classpath/lib/gnu/gcj/runtime/SystemClassLoader.class create mode 100644 libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Fileset.class create mode 100644 libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class create mode 100644 libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Tokenizer.class create mode 100644 libjava/classpath/lib/gnu/gcj/util/Debug.class create mode 100644 libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class create mode 100644 libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class create mode 100644 libjava/classpath/lib/gnu/java/awt/AWTUtilities.class create mode 100644 libjava/classpath/lib/gnu/java/awt/BitMaskExtent.class create mode 100644 libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$GeneralContext.class create mode 100644 libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class create mode 100644 libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite.class create mode 100644 libjava/classpath/lib/gnu/java/awt/Buffers.class create mode 100644 libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class create mode 100644 libjava/classpath/lib/gnu/java/awt/ComponentDataBlitOp.class create mode 100644 libjava/classpath/lib/gnu/java/awt/ComponentReshapeEvent.class create mode 100644 libjava/classpath/lib/gnu/java/awt/EmbeddedWindow.class create mode 100644 libjava/classpath/lib/gnu/java/awt/EventModifier.class create mode 100644 libjava/classpath/lib/gnu/java/awt/GradientPaintContext.class create mode 100644 libjava/classpath/lib/gnu/java/awt/LowPriorityEvent.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/CieXyzConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/ClutProfileConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/ColorSpaceConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/GrayProfileConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/GrayScaleConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/LinearRGBConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/ProfileHeader.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/PyccConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/RgbProfileConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/SrgbConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/TagEntry.class create mode 100644 libjava/classpath/lib/gnu/java/awt/color/ToneReproductionCurve.class create mode 100644 libjava/classpath/lib/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/FontFactory.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type0.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type12.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type4.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/GlyphNamer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork$Resource.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/NameDecoder.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/VirtualMachine.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class create mode 100644 libjava/classpath/lib/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.class create mode 100644 libjava/classpath/lib/gnu/java/awt/image/ImageDecoder.class create mode 100644 libjava/classpath/lib/gnu/java/awt/image/XBMDecoder.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/AlphaCompositeContext.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/RasterGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/Segment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ShapeCache.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/TexturePaintContext.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/EmbeddedWindowPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/NativeEventLoopRunningEvent.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$Loader.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkRobotPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkButtonPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCanvasPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkChoicePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkContainerPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCursor.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkDialogPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkGenericPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkLabelPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkListPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuBarPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuItemPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPanelPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollbarPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextAreaPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextFieldPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkVolatileImage.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessToolkit.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/MainQtThread.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/NativeWrapper.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QMatrix.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QPainterPath.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QPen.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtAudioClip.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtButtonPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtCanvasPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtCheckboxPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtChoicePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtContainerPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtDialogPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtFileDialogPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontMetrics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtFramePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphicsEnvironment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtImage.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageConsumer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageDirectGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtLabelPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtListPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuBarPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuComponentPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuItemPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtPanelPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtPopupMenuPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDevice.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollPanePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollbarPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextAreaPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextFieldPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/qt/QtWindowPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingCanvasPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponent.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingContainerPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingFramePeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer$SwingList.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingPanelPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingToolkit.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/swing/SwingWindowPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class create mode 100644 libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class create mode 100644 libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class create mode 100644 libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class create mode 100644 libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class create mode 100644 libjava/classpath/lib/gnu/java/beans/DefaultExceptionListener.class create mode 100644 libjava/classpath/lib/gnu/java/beans/DoubleKey.class create mode 100644 libjava/classpath/lib/gnu/java/beans/DummyAppletContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/DummyAppletStub.class create mode 100644 libjava/classpath/lib/gnu/java/beans/ExplicitBeanInfo.class create mode 100644 libjava/classpath/lib/gnu/java/beans/IntrospectionIncubator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/AbstractContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/AbstractCreatableObjectContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/AbstractElementHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/AbstractObjectContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ArrayContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/AssemblyException.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/BooleanHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ByteHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/CharHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ClassHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ConstructorContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/Context.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/DecoderContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/DoubleHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/DummyContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/DummyHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ElementHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/FloatHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/GrowableArrayContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/IndexContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/IntHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/JavaHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/LongHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/MethodContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/NullHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ObjectContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ObjectHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$Creator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/PropertyContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/ShortHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/SimpleHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/StaticMethodContext.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/StringHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/decoder/VoidHandler.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/FontEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeBooleanEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeByteEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeDoubleEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeFloatEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeIntEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeLongEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/NativeShortEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/editors/StringEditor.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/ArrayPersistenceDelegate.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/ClassPersistenceDelegate.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/CollectionPersistenceDelegate.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/Context.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/GenericScannerState.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/IgnoringScannerState.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/MapPersistenceDelegate.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/ObjectId.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/PrimitivePersistenceDelegate.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/ReportingScannerState.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/Root$RootElement.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/Root.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/ScanEngine.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/ScannerState.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/StAXWriter.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/Writer.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/ArrayInstantiation.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Get.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Set.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/ClassResolution.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/Element.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Get.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Set.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/MethodInvocation.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/NullObject.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectInstantiation.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectReference.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/PrimitiveInstantiation.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticFieldAccess.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticMethodInvocation.class create mode 100644 libjava/classpath/lib/gnu/java/beans/encoder/elements/StringReference.class create mode 100644 libjava/classpath/lib/gnu/java/io/ASN1ParsingException.class create mode 100644 libjava/classpath/lib/gnu/java/io/Base64InputStream.class create mode 100644 libjava/classpath/lib/gnu/java/io/ClassLoaderObjectInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/io/NullOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/io/ObjectIdentityMap2Int.class create mode 100644 libjava/classpath/lib/gnu/java/io/ObjectIdentityWrapper.class create mode 100644 libjava/classpath/lib/gnu/java/io/PlatformHelper.class create mode 100644 libjava/classpath/lib/gnu/java/lang/ArrayHelper.class create mode 100644 libjava/classpath/lib/gnu/java/lang/CharData.class create mode 100644 libjava/classpath/lib/gnu/java/lang/ClassHelper.class create mode 100644 libjava/classpath/lib/gnu/java/lang/InstrumentationImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/MainThread.class create mode 100644 libjava/classpath/lib/gnu/java/lang/VMInstrumentationImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/ClassLoadingMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/CompilationMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/GarbageCollectorMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/MemoryManagerMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/MemoryPoolMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMClassLoadingMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMCompilationMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMMemoryMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMRuntimeMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/ClassSignatureParser.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/FieldSignatureParser.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/GenericArrayTypeImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/GenericSignatureParser.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/MethodSignatureParser.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/ParameterizedTypeImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/TypeImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/TypeVariableImpl.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class create mode 100644 libjava/classpath/lib/gnu/java/lang/reflect/WildcardTypeImpl.class create mode 100644 libjava/classpath/lib/gnu/java/locale/Calendar.class create mode 100644 libjava/classpath/lib/gnu/java/locale/Calendar_de.class create mode 100644 libjava/classpath/lib/gnu/java/locale/Calendar_en.class create mode 100644 libjava/classpath/lib/gnu/java/locale/Calendar_nl.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleData.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleHelper.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_af_ZA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_AE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_BH.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_DZ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_EG.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IQ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_JO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_KW.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LB.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LY.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_MA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_OM.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_QA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SD.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SY.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_TN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_YE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_be_BY.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_bn_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_br_FR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_bs_BA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ca_ES.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_cs_CZ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_cy_GB.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_da_DK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_de.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_AT.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_BE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_CH.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_DE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_LU.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_el_GR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_AU.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_BW.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_CA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_DK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_GB.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_HK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_NZ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_PH.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_SG.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_US.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZW.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_AR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_BO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_DO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_EC.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_ES.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_GT.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_HN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_MX.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_NI.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PY.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_SV.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_US.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_UY.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_VE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_et_EE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_eu_ES.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fa_IR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fi_FI.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fo_FO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_BE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CH.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_FR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_LU.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ga_IE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_gd_GB.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_gl_ES.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_gv_GB.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_he_IL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_hi_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_hr_HR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_hu_HU.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_id_ID.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_CH.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_IT.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_iw_IL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ja_JP.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ka_GE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_kl_GL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ko_KR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_kw_GB.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_lt_LT.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_lv_LV.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_mi_NZ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_mk_MK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_mr_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_mt_MT.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_BE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_NL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_nn_NO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_no_NO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_oc_FR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_pl_PL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_BR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_PT.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ro_RO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_RU.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_UA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_se_NO.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_sk_SK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_sl_SI.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_sq_AL.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_sr_YU.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_FI.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_SE.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ta_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_te_IN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_tg_TJ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_tl_PH.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_tr_TR.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_uk_UA.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_ur_PK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_uz_UZ.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_vi_VN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_yi_US.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_CN.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_HK.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_SG.class create mode 100644 libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_TW.class create mode 100644 libjava/classpath/lib/gnu/java/math/MPN.class create mode 100644 libjava/classpath/lib/gnu/java/net/BASE64.class create mode 100644 libjava/classpath/lib/gnu/java/net/CRLFInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/CRLFOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class create mode 100644 libjava/classpath/lib/gnu/java/net/DefaultProxySelector.class create mode 100644 libjava/classpath/lib/gnu/java/net/EmptyX509TrustManager.class create mode 100644 libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class create mode 100644 libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class create mode 100644 libjava/classpath/lib/gnu/java/net/ImageHandler.class create mode 100644 libjava/classpath/lib/gnu/java/net/IndexListParser.class create mode 100644 libjava/classpath/lib/gnu/java/net/LineInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/PlainDatagramSocketImpl.class create mode 100644 libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/PlainSocketImpl.class create mode 100644 libjava/classpath/lib/gnu/java/net/URLParseError.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/FileResource.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/FileURLLoader.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/JarURLResource.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/RemoteResource.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/RemoteURLLoader.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/Resource.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/URLLoader.class create mode 100644 libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class create mode 100644 libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class create mode 100644 libjava/classpath/lib/gnu/java/net/local/LocalSocket.class create mode 100644 libjava/classpath/lib/gnu/java/net/local/LocalSocketAddress.class create mode 100644 libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/core/Connection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/core/CoreInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/core/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/file/Connection$StaticData.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/file/Connection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/file/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/ActiveModeDTP.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/DTP.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPException.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPResponse.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/PassiveModeDTP.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Connection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Authenticator.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Cookie.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/CookieManager.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Credentials.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/HTTPDateFormat.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/LimitedLengthInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Request.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/RequestBodyWriter.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/Response.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/ResponseHeaderHandler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/https/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class create mode 100644 libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class create mode 100644 libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/nio/ChannelOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/nio/ChannelReader.class create mode 100644 libjava/classpath/lib/gnu/java/nio/ChannelWriter.class create mode 100644 libjava/classpath/lib/gnu/java/nio/DatagramChannelImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/DatagramChannelSelectionKey.class create mode 100644 libjava/classpath/lib/gnu/java/nio/FileLockImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/InputStreamChannel.class create mode 100644 libjava/classpath/lib/gnu/java/nio/NIOConstants.class create mode 100644 libjava/classpath/lib/gnu/java/nio/NIODatagramSocket.class create mode 100644 libjava/classpath/lib/gnu/java/nio/NIOServerSocket.class create mode 100644 libjava/classpath/lib/gnu/java/nio/NIOSocket.class create mode 100644 libjava/classpath/lib/gnu/java/nio/OutputStreamChannel.class create mode 100644 libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/PipeImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/SelectionKeyImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/SelectorImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/SelectorProviderImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/ServerSocketChannelSelectionKey.class create mode 100644 libjava/classpath/lib/gnu/java/nio/SocketChannelImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKey.class create mode 100644 libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKeyImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/VMChannel.class create mode 100644 libjava/classpath/lib/gnu/java/nio/VMChannelOwner.class create mode 100644 libjava/classpath/lib/gnu/java/nio/VMPipe.class create mode 100644 libjava/classpath/lib/gnu/java/nio/VMSelector.class create mode 100644 libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ByteCharset.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp424.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp437.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp737.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp775.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp850.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp852.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp855.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp857.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp860.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp861.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp862.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp863.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp864.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp865.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp866.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp869.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Cp874.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Decoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Encoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_13.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_15.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_2.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_3.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_4.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_5.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_6.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_7.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_8.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_9.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/KOI_8.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MS874.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacCentralEurope.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacCroatian.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacCyrillic.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacDingbat.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacGreek.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacIceland.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacRoman.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacRomania.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacSymbol.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacThai.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/MacTurkish.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Provider.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Decoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Encoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/US_ASCII.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_16.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_16BE.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_16LE.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UTF_8.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/UnicodeLittle.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1250.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1251.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1252.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1253.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1254.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1255.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1256.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1257.class create mode 100644 libjava/classpath/lib/gnu/java/nio/charset/Windows1258.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/activation/ActivationSystemTransient.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationGroup.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationSystem.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl$RefProtector.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Skel.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Skel.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/ActivatableRef.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/ActivatableServerRef.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/CombinedClassLoader.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/ProtocolConstants.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIHashes.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIIncomingThread.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/RMIVoidValue.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastRef.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteStub.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class create mode 100644 libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class create mode 100644 libjava/classpath/lib/gnu/java/security/Configuration.class create mode 100644 libjava/classpath/lib/gnu/java/security/Engine.class create mode 100644 libjava/classpath/lib/gnu/java/security/OID.class create mode 100644 libjava/classpath/lib/gnu/java/security/PolicyFile$1.class create mode 100644 libjava/classpath/lib/gnu/java/security/PolicyFile.class create mode 100644 libjava/classpath/lib/gnu/java/security/Properties$1.class create mode 100644 libjava/classpath/lib/gnu/java/security/Properties.class create mode 100644 libjava/classpath/lib/gnu/java/security/Registry.class create mode 100644 libjava/classpath/lib/gnu/java/security/Requires.class create mode 100644 libjava/classpath/lib/gnu/java/security/action/GetPropertyAction.class create mode 100644 libjava/classpath/lib/gnu/java/security/action/GetSecurityPropertyAction.class create mode 100644 libjava/classpath/lib/gnu/java/security/action/SetAccessibleAction.class create mode 100644 libjava/classpath/lib/gnu/java/security/ber/BER.class create mode 100644 libjava/classpath/lib/gnu/java/security/ber/BEREncodingException.class create mode 100644 libjava/classpath/lib/gnu/java/security/ber/BERReader.class create mode 100644 libjava/classpath/lib/gnu/java/security/ber/BERValue.class create mode 100644 libjava/classpath/lib/gnu/java/security/der/BitString.class create mode 100644 libjava/classpath/lib/gnu/java/security/der/DER.class create mode 100644 libjava/classpath/lib/gnu/java/security/der/DEREncodingException.class create mode 100644 libjava/classpath/lib/gnu/java/security/der/DERReader.class create mode 100644 libjava/classpath/lib/gnu/java/security/der/DERValue.class create mode 100644 libjava/classpath/lib/gnu/java/security/der/DERWriter.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/BaseHash.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/HashFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Haval.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/IMessageDigest.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/MD2.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/MD4.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/MD5.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/RipeMD128.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/RipeMD160.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Sha160.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Sha256.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Sha384.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Sha512.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Tiger.class create mode 100644 libjava/classpath/lib/gnu/java/security/hash/Whirlpool.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/HavalSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/MD2Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/MD4Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/MD5Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/MessageDigestAdapter.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD128Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD160Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/Sha160Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/Sha256Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/Sha384Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/Sha512Spi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/TigerSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/hash/WhirlpoolSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/HavalRandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/MD2RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/MD4RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/MD5RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD128RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD160RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/SecureRandomAdapter.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/Sha160RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/Sha256RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/Sha384RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/Sha512RandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/TigerRandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/prng/WhirlpoolRandomSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/DSSParameters.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/DSSParametersGenerator.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/DSSRawSignatureSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/EncodedKeyFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/MD2withRSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/MD5withRSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withDSS.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withRSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/SHA256withRSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/SHA384withRSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/SHA512withRSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/jce/sig/SignatureAdapter.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/IKeyPairCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/IKeyPairGenerator.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/KeyPairCodecFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/KeyPairGeneratorFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSKey.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairGenerator.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairRawCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairX509Codec.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/dss/FIPS186.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairGenerator.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairRawCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairX509Codec.class create mode 100644 libjava/classpath/lib/gnu/java/security/pkcs/PKCS7Data.class create mode 100644 libjava/classpath/lib/gnu/java/security/pkcs/PKCS7SignedData.class create mode 100644 libjava/classpath/lib/gnu/java/security/pkcs/SignerInfo.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/BasePRNG.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/EntropySource.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/IRandom.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/LimitReachedException.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/MDGenerator.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/PRNGFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/RandomEvent.class create mode 100644 libjava/classpath/lib/gnu/java/security/prng/RandomEventListener.class create mode 100644 libjava/classpath/lib/gnu/java/security/provider/CollectionCertStoreImpl.class create mode 100644 libjava/classpath/lib/gnu/java/security/provider/DefaultPolicy.class create mode 100644 libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class create mode 100644 libjava/classpath/lib/gnu/java/security/provider/Gnu.class create mode 100644 libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class create mode 100644 libjava/classpath/lib/gnu/java/security/provider/X509CertificateFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/BaseSignature.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/ISignature.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/ISignatureCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/SignatureCodecFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/SignatureFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignature.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureRawCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureX509Codec.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PSS.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSA.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignature.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.class create mode 100644 libjava/classpath/lib/gnu/java/security/sig/rsa/RSASignatureFactory.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/Base64.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/ByteArray.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/ByteBufferOutputStream.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/DerUtil.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/ExpirableObject$Destroyer.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/ExpirableObject.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/FormatUtil.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/PRNG.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/Prime.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/Sequence.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/SimpleList.class create mode 100644 libjava/classpath/lib/gnu/java/security/util/Util.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/GnuPKIExtension.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/PolicyNodeImpl.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/Util.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X509CRL.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X509CertPath.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class create mode 100644 libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class create mode 100644 libjava/classpath/lib/gnu/java/text/BaseBreakIterator.class create mode 100644 libjava/classpath/lib/gnu/java/text/CharacterBreakIterator.class create mode 100644 libjava/classpath/lib/gnu/java/text/FormatBuffer.class create mode 100644 libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class create mode 100644 libjava/classpath/lib/gnu/java/text/LineBreakIterator.class create mode 100644 libjava/classpath/lib/gnu/java/text/SentenceBreakIterator.class create mode 100644 libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class create mode 100644 libjava/classpath/lib/gnu/java/text/WordBreakIterator.class create mode 100644 libjava/classpath/lib/gnu/java/util/DoubleEnumeration.class create mode 100644 libjava/classpath/lib/gnu/java/util/EmptyEnumeration.class create mode 100644 libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class create mode 100644 libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class create mode 100644 libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket.class create mode 100644 libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class create mode 100644 libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class create mode 100644 libjava/classpath/lib/gnu/java/util/jar/JarUtils.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/FileBasedFactory.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/GConfBasedFactory.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedFactory.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/NodeReader.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/NodeWriter.class create mode 100644 libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/BacktrackStack$Backtrack.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/BacktrackStack.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/CharIndexed.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharArray.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharSequence.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/CharIndexedInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/CharIndexedString.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/CharIndexedStringBuffer.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RE$CharExpression.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RE$CharUnit.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RE$IntPair.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RE$NamedProperty.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RE$ParseCharClassResult.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RE.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/REException.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/REFilterInputStream.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/REMatch.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/REMatchEnumeration.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RESyntax.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/REToken.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenAny.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenBackRef.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenEnd.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenEndOfPreviousMatch.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenEndSub.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenIndependent.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenLookAhead.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$Handler.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenPOSIX.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRange.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenStart.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/RETokenWordBoundary.class create mode 100644 libjava/classpath/lib/gnu/java/util/regex/UncheckedRE.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/RSACipherImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/Assembly.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeStage.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeTransformer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/DeflateTransformer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/Direction.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/LoopbackTransformer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/ModeStage.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/Operation.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/PaddingTransformer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/Stage.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/Transformer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/assembly/TransformerException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/BaseCipher.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Block.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Context.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5$Cast5Key.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/CipherFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/DES$Context.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipher.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipherSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/NullCipher.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Rijndael.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent$Key.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/cipher/WeakKeyException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/DiffieHellmanImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/ARCFourSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AnubisSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/BlowfishSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/Cast5Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/CipherAdapter.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/DESSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KhazadSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/NullCipherSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/RijndaelSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SerpentSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SquareSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TwofishSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/keyring/GnuKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacHavalSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD2Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD4Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD5Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA160Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA256Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA384Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA512Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacTigerSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/MacAdapter.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacAnubisImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacCast5Impl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacDESImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$DES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Square.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacKhazadImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSerpentImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSquareImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTwofishImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/TMMH16Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/UHash32Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/mac/UMac32Spi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/params/BlockCipherParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/params/DEREncodingException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/params/DERReader.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/params/DERWriter.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/prng/CSPRNGSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/prng/FortunaImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/prng/ICMRandomSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/prng/UMacRandomSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParametersGenerator.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/spec/TMMHParameterSpec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/BaseKeyAgreementParty.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/GnuPBEKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/GnuSecretKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/IKeyAgreementParty.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/IncomingMessage.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/OutgoingMessage.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanSender.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalReceiver.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalSender.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/dh/RFC2631.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6Host.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslClient.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslServer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSClient.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSServer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6User.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPrivateKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPublicKey.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/AuthenticatedEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/BaseKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/BinaryDataEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/CertPathEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/CertificateEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/CompressedEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/EncryptedEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/Entry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/EnvelopeEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPrivateKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPublicKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/IKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/IPrivateKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/IPublicKeyring.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/MalformedKeyringException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/MeteredInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordEncryptedEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordProtectedEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/PrimitiveEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/PrivateKeyEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/keyring/PublicKeyEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/kwa/AESKeyWrap.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/kwa/KeyUnwrappingException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/kwa/TripleDESKeyWrap.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/BaseMac.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/HMac.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/HMacFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/IMac.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/MacFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/MacInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/MacOutputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/OMAC.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/TMMH16.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L2Hash32.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L3Hash32.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/UHash32.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mac/UMac32.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/BaseMode.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/CBC.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/CFB.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/CTR.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/EAX.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/ECB.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/IAuthenticatedMode.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/ICM.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/IMode.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/ModeFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/mode/OFB.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/BasePad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/IPad.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/ISO10126.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/PKCS1_V1_5.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/PKCS7.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/PadFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/SSL3.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/TBC.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/TLS1.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/pad/WrongPaddingException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/ARCFour.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Spinner.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna$Generator.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/IPBE.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/PBKDF2.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/PRNGFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/prng/UMacGenerator.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfoProviderFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/ClientMechanism.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/ConfidentialityException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProvider.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/IllegalMechanismStateException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/InputBuffer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/IntegrityException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchMechanismException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchUserException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/OutputBuffer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/SaslEncodingException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/SaslInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/SaslOutputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/SaslUtil.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/ServerMechanism.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/UserAlreadyExistsException.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousClient.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousServer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Client.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Server.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Util.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/PasswordFile.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PasswordFile.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainClient.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainRegistry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainServer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/CALG.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ClientStore.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/IALG.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/KDF.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRP.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPRegistry.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPServer.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SecurityContext.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ServerStore.class create mode 100644 libjava/classpath/lib/gnu/javax/crypto/sasl/srp/StoreEntry.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/IIOInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPDecoder.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPEncoder.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPException.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPFileHeader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReaderSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriter.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriterSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/BMPInfoHeader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF16.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF32.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB1.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB24.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB4.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB8.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB1.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB16.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB24.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB32.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB4.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB8.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile$GIFException.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReaderSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/DCT.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/HuffmanTable.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGComponent.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGException.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGFrame.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarker.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGScan.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/jpeg/ZigZag.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGChunk.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGData.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGEncoder.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGException.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGFile.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGFilter.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGGamma.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGHeader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReader.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReaderSpi.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGPalette.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGPhys.class create mode 100644 libjava/classpath/lib/gnu/javax/imageio/png/PNGTime.class create mode 100644 libjava/classpath/lib/gnu/javax/management/Server$ServerInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/management/Server$ServerInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/management/Server$ServerNotificationListener.class create mode 100644 libjava/classpath/lib/gnu/javax/management/Server.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/ContextContinuation.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceURLContext.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/ListBindingsEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/giop/ListEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ContextContinuation.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiContinuation.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContext.class create mode 100644 libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/AbstractSessionContext.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/Base64.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/EntropySource.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/NullManagerParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManager.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManagerParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/SRPManagerParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/SRPTrustManager.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/SSLCipherSuite.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/SSLProtocolVersion.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/SSLRecordHandler.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/Session$ID.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/Session.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/SessionStoreException.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/StaticTrustAnchors.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Builder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateBuilder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuite.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloBuilder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloV2.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientPSKParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethod.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Constructed.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ContentType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Debug.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/DiffieHellman.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/EmptyExchangeKeys.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ExchangeKeys.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Value.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Body.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/MacAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/MacException.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ProtocolVersion.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Random.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Record.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLContextImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLHMac.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRandom.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHParams.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloBuilder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerPSKParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSAParams.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Signature.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SignatureAlgorithm.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSHMac.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSRandom.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$WrappedBuffer.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class create mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/print/CupsIppOperation.class create mode 100644 libjava/classpath/lib/gnu/javax/print/CupsMediaMapping.class create mode 100644 libjava/classpath/lib/gnu/javax/print/CupsPrintService.class create mode 100644 libjava/classpath/lib/gnu/javax/print/CupsPrintServiceLookup.class create mode 100644 libjava/classpath/lib/gnu/javax/print/CupsServer.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrintAttributeException.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrintFlavorException.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrintUriException.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Color.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class create mode 100644 libjava/classpath/lib/gnu/javax/print/PrinterDialog.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppDelimiterTag.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppException.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppMultiDocPrintService.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppStatusCode.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/IppValueTag.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/MultiDocPrintJobImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/CharsetSyntax.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/DefaultValueAttribute.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class create mode 100644 libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaInput.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaOutput.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/DelegateFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/GetDelegateInstanceException.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/StubDelegateImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/TieTargetRecord.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/Password.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/AWTCallbackHandler.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/AbstractCallbackHandler.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/CertificateCallback.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/ConsoleCallbackHandler.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/DefaultCallbackHandler.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileTokenizer.class create mode 100644 libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataInputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataOutputStream.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileReader.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileWriter.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class create mode 100644 libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/plaf/metal/CustomizableTheme.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderStyle.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderWidth.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSColor.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSLexicalException.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserCallback.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserException.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSScanner.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/FontSize.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/FontStyle.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/FontWeight.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/Length.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/TableRowContentModel.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/list.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/noTagModel.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/node.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/transformer.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Buffer.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Constants.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Location.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ParseException.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Queue.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Token.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/node.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/pattern.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/parameterDefaulter.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/textPreProcessor.class create mode 100644 libjava/classpath/lib/gnu/javax/swing/tree/GnuPath.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory$JaxpParser.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Adapter.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Attribute.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$AttributeDecl.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ElementDecl.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$Input.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/aelfred2/XmlReader.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/Consumer.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DTDAttributeTypeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DTDElementTypeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomAttr.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomCDATASection.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomCharacterData$EmptyNodeList.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomCharacterData.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomComment.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDOMException.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDoctype.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDocument.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilderFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDocumentConfiguration.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomDocumentFragment.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomEntity.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomEntityReference.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomEvent$DomMutationEvent.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomEvent$DomUIEvent.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomEvent.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomExtern.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomIterator.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNSResolverContext.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNamedNodeMap.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNode$DomEventException.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNode$ListenerRecord.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNode$LiveNodeList.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNode.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNodeIterator.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNotation.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomNsNode.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomProcessingInstruction.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomText.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomXPathExpression.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomXPathNSResolver.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/DomXPathResult.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ImplementationList.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/JAXPFactory$JAXPBuilder.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/JAXPFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAnchorElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAppletElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAreaElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBRElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseFontElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBodyElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLButtonElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLCollection.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDListElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDirectoryElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDivElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLEmbedElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFieldSetElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFontElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFormElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameSetElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHRElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadingElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHtmlElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIFrameElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImageElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLInputElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIsIndexElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLIElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLabelElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLegendElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLinkElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMapElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMenuElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMetaElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLModElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOListElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLObjectElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptGroupElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptionElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParagraphElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParamElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLPreElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLQuoteElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLScriptElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLSelectElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLStyleElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCaptionElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCellElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableColElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableRowElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableSectionElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTextAreaElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTitleElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLUListElement.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/DomLSException.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/DomLSInput.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/DomLSOutput.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/DomLSSerializer.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/FilteredSAXEventSink.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/ReaderInputStream.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/SAXEventSink.class create mode 100644 libjava/classpath/lib/gnu/xml/dom/ls/WriterOutputStream.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeAttr.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCDATASection.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCharacterData.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeComment.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMException.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMStringList.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocument.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentFragment.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentType.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeElement.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntity.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntityReference.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNodeList.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNotation.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeText.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeTypeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathExpression.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNodeList.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathResult.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeLocator.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParser.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeXMLReader.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/StringArrayAttributes.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/sax/XMLName.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/transform/URIResolverEntityResolver.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/util/EmptyNodeList.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/util/NamedInputStream.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneDocumentType.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneLocator.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.class create mode 100644 libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/CallFilter$Requestor.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/CallFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/DomConsumer$Handler.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/DomConsumer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/EventConsumer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/EventFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/LinkFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/NSFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/TextConsumer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/WellFormednessFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter$Scrubber.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/pipeline/XsltFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/AttributeImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/BufferedReader.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/CRLFReader.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/CharactersImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/CommentImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/DTDImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/EndDocumentImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/EndElementImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/EntityDeclarationImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/EntityReferenceImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/FilteredEventReader.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/NotationDeclarationImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/ProcessingInstructionImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/SAXParser.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/StartDocumentImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/StartElementImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/UnicodeReader.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLEventImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLEventReaderImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLEventWriterImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLInputFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLOutputFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLParser.class create mode 100644 libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/AbstractNumberNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ApplyImportsNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ApplyTemplatesNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/AttributeNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/AttributeSet.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/Bindings.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/CallTemplateNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ChooseNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/CommentNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/CopyNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/CopyOfNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/CurrentFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/DOMSourceLocator.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ElementNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ErrorListenerErrorHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ForEachNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/FormatNumberFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/IfNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/Key.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/KeyFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/LiteralNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/MessageNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/NamespaceProxy.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/NodeNumberNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/NumberNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/OtherwiseNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ParameterNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ProcessingInstructionNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/SAXTemplatesHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/SAXTransformerHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/SortKey.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/StrippingInstruction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/Stylesheet.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/SystemPropertyFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/Template.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/TemplateNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/TemplatesImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/TextNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/TransformerFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/TransformerImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/URIResolverEntityResolver.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/UnparsedEntityUriFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/ValueOfNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/WhenNode.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/WithParam.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/XSLComparator.class create mode 100644 libjava/classpath/lib/gnu/xml/transform/XSLURIResolver.class create mode 100644 libjava/classpath/lib/gnu/xml/util/DoParse$MyErrorHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/util/DoParse.class create mode 100644 libjava/classpath/lib/gnu/xml/util/DomParser.class create mode 100644 libjava/classpath/lib/gnu/xml/util/Resolver.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class create mode 100644 libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class create mode 100644 libjava/classpath/lib/gnu/xml/util/XCat$DoneDelegation.class create mode 100644 libjava/classpath/lib/gnu/xml/util/XCat$Loader.class create mode 100644 libjava/classpath/lib/gnu/xml/util/XCat.class create mode 100644 libjava/classpath/lib/gnu/xml/util/XHTMLWriter.class create mode 100644 libjava/classpath/lib/gnu/xml/util/XMLWriter.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/Annotation.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/AnySimpleType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/AnyType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/AnyURIType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/AtomicSimpleType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/Base64BinaryType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/ByteType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/DecimalType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/DurationType$Duration.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/DurationType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/EntitiesType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/EntityType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/EnumerationFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/Facet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/FractionDigitsFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GDayType$GDay.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GDayType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType$GMonth.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GYearType$GYear.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/GYearType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/HexBinaryType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/IDRefType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/IDRefsType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/IDType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/IntType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/IntegerType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/LanguageType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/LengthFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/ListSimpleType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/LongType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/MaxExclusiveFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/MaxInclusiveFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/MaxLengthFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/MinExclusiveFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/MinInclusiveFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/MinLengthFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NCNameType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NMTokenType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NMTokensType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NameType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NegativeIntegerType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NonNegativeIntegerType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NonPositiveIntegerType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NormalizedStringType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/NotationType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/PatternFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/PositiveIntegerType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/QNameType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/ShortType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/SimpleType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/StringType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TimeType$Time.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TokenType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TotalDigitsFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/Type.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TypeBuilder.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibrary.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibraryFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/UnionSimpleType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedByteType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedIntType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedLongType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedShortType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/datatype/WhiteSpaceFacet.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/AnyNameNameClass.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/AttributePattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/ChoiceNameClass.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/ChoicePattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/DataPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/Define.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/ElementPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/EmptyPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/Grammar.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarException.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarValidator.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/GroupPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/InterleavePattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/ListPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/NSNameNameClass.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/NameClass.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/NameNameClass.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/NotAllowedPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/OneOrMorePattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/Param.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/Pattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/RefPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/TextPattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/relaxng/ValuePattern.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/AnyAttribute.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeDeclaration.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeUse.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/ComplexType.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/ElementDeclaration.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/Particle.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/ValidationException.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchema.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaBuilder.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidator.class create mode 100644 libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/AndExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/ArithmeticExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/BooleanFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/CeilingFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/ConcatFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Constant.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/ContainsFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/CountFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/DocumentOrderComparator.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/EqualityExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Expr$ExprNodeSet.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Expr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/FalseFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/FloorFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Function.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/FunctionCall.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/IdFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/LangFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/LastFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NameFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NameTest.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NamespaceTest.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NegativeExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NodeTypeTest.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NormalizeSpaceFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NotFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/NumberFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/OrExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/ParenthesizedExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Path.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Pattern.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/PositionFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Predicate.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/RelationalExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Root.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/RoundFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Selector.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/StartsWithFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Steps.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/StringFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/StringLengthFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/SubstringAfterFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/SubstringBeforeFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/SubstringFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/SumFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/Test.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/TranslateFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/TrueFunction.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/UnionExpr.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/VariableReference.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathFactoryImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyCheckClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDefRedClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDgotoClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyGindexClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLenClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLhsClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyNameClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyRindexClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YySindexClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyTableClass.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyException.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyInput.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathParser.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer$XPathToken.class create mode 100644 libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class create mode 100644 libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class create mode 100644 libjava/classpath/lib/java/applet/Applet$URLAudioClip.class create mode 100644 libjava/classpath/lib/java/applet/Applet.class create mode 100644 libjava/classpath/lib/java/applet/AppletContext.class create mode 100644 libjava/classpath/lib/java/applet/AppletStub.class create mode 100644 libjava/classpath/lib/java/applet/AudioClip.class create mode 100644 libjava/classpath/lib/java/awt/AWTError.class create mode 100644 libjava/classpath/lib/java/awt/AWTEvent.class create mode 100644 libjava/classpath/lib/java/awt/AWTEventMulticaster.class create mode 100644 libjava/classpath/lib/java/awt/AWTException.class create mode 100644 libjava/classpath/lib/java/awt/AWTKeyStroke$1.class create mode 100644 libjava/classpath/lib/java/awt/AWTKeyStroke$2.class create mode 100644 libjava/classpath/lib/java/awt/AWTKeyStroke$3.class create mode 100644 libjava/classpath/lib/java/awt/AWTKeyStroke.class create mode 100644 libjava/classpath/lib/java/awt/AWTPermission.class create mode 100644 libjava/classpath/lib/java/awt/ActiveEvent.class create mode 100644 libjava/classpath/lib/java/awt/Adjustable.class create mode 100644 libjava/classpath/lib/java/awt/AlphaComposite$1.class create mode 100644 libjava/classpath/lib/java/awt/AlphaComposite.class create mode 100644 libjava/classpath/lib/java/awt/AttributeValue.class create mode 100644 libjava/classpath/lib/java/awt/BasicStroke.class create mode 100644 libjava/classpath/lib/java/awt/BorderLayout.class create mode 100644 libjava/classpath/lib/java/awt/BufferCapabilities$FlipContents.class create mode 100644 libjava/classpath/lib/java/awt/BufferCapabilities.class create mode 100644 libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class create mode 100644 libjava/classpath/lib/java/awt/Button.class create mode 100644 libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class create mode 100644 libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/Canvas.class create mode 100644 libjava/classpath/lib/java/awt/CardLayout.class create mode 100644 libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class create mode 100644 libjava/classpath/lib/java/awt/Checkbox.class create mode 100644 libjava/classpath/lib/java/awt/CheckboxGroup.class create mode 100644 libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class create mode 100644 libjava/classpath/lib/java/awt/CheckboxMenuItem.class create mode 100644 libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class create mode 100644 libjava/classpath/lib/java/awt/Choice.class create mode 100644 libjava/classpath/lib/java/awt/Color.class create mode 100644 libjava/classpath/lib/java/awt/ColorPaintContext$ColorRaster.class create mode 100644 libjava/classpath/lib/java/awt/ColorPaintContext.class create mode 100644 libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class create mode 100644 libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class create mode 100644 libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class create mode 100644 libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class create mode 100644 libjava/classpath/lib/java/awt/Component.class create mode 100644 libjava/classpath/lib/java/awt/ComponentOrientation.class create mode 100644 libjava/classpath/lib/java/awt/Composite.class create mode 100644 libjava/classpath/lib/java/awt/CompositeContext.class create mode 100644 libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.class create mode 100644 libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class create mode 100644 libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class create mode 100644 libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class create mode 100644 libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class create mode 100644 libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class create mode 100644 libjava/classpath/lib/java/awt/Container$GfxVisitor.class create mode 100644 libjava/classpath/lib/java/awt/Container.class create mode 100644 libjava/classpath/lib/java/awt/ContainerOrderFocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/java/awt/Cursor.class create mode 100644 libjava/classpath/lib/java/awt/DefaultFocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.class create mode 100644 libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager.class create mode 100644 libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class create mode 100644 libjava/classpath/lib/java/awt/Dialog.class create mode 100644 libjava/classpath/lib/java/awt/Dimension.class create mode 100644 libjava/classpath/lib/java/awt/DisplayMode.class create mode 100644 libjava/classpath/lib/java/awt/Event.class create mode 100644 libjava/classpath/lib/java/awt/EventDispatchThread.class create mode 100644 libjava/classpath/lib/java/awt/EventQueue$Queue.class create mode 100644 libjava/classpath/lib/java/awt/EventQueue.class create mode 100644 libjava/classpath/lib/java/awt/FileDialog.class create mode 100644 libjava/classpath/lib/java/awt/FlowLayout.class create mode 100644 libjava/classpath/lib/java/awt/FocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/java/awt/Font.class create mode 100644 libjava/classpath/lib/java/awt/FontFormatException.class create mode 100644 libjava/classpath/lib/java/awt/FontMetrics.class create mode 100644 libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class create mode 100644 libjava/classpath/lib/java/awt/Frame.class create mode 100644 libjava/classpath/lib/java/awt/GradientPaint.class create mode 100644 libjava/classpath/lib/java/awt/Graphics.class create mode 100644 libjava/classpath/lib/java/awt/Graphics2D.class create mode 100644 libjava/classpath/lib/java/awt/GraphicsConfigTemplate.class create mode 100644 libjava/classpath/lib/java/awt/GraphicsConfiguration.class create mode 100644 libjava/classpath/lib/java/awt/GraphicsDevice.class create mode 100644 libjava/classpath/lib/java/awt/GraphicsEnvironment.class create mode 100644 libjava/classpath/lib/java/awt/GridBagConstraints.class create mode 100644 libjava/classpath/lib/java/awt/GridBagLayout.class create mode 100644 libjava/classpath/lib/java/awt/GridBagLayoutInfo.class create mode 100644 libjava/classpath/lib/java/awt/GridLayout.class create mode 100644 libjava/classpath/lib/java/awt/HeadlessException.class create mode 100644 libjava/classpath/lib/java/awt/IllegalComponentStateException.class create mode 100644 libjava/classpath/lib/java/awt/Image.class create mode 100644 libjava/classpath/lib/java/awt/ImageCapabilities.class create mode 100644 libjava/classpath/lib/java/awt/Insets.class create mode 100644 libjava/classpath/lib/java/awt/ItemSelectable.class create mode 100644 libjava/classpath/lib/java/awt/JobAttributes$DefaultSelectionType.class create mode 100644 libjava/classpath/lib/java/awt/JobAttributes$DestinationType.class create mode 100644 libjava/classpath/lib/java/awt/JobAttributes$DialogType.class create mode 100644 libjava/classpath/lib/java/awt/JobAttributes$MultipleDocumentHandlingType.class create mode 100644 libjava/classpath/lib/java/awt/JobAttributes$SidesType.class create mode 100644 libjava/classpath/lib/java/awt/JobAttributes.class create mode 100644 libjava/classpath/lib/java/awt/KeyEventDispatcher.class create mode 100644 libjava/classpath/lib/java/awt/KeyEventPostProcessor.class create mode 100644 libjava/classpath/lib/java/awt/KeyboardFocusManager.class create mode 100644 libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class create mode 100644 libjava/classpath/lib/java/awt/Label.class create mode 100644 libjava/classpath/lib/java/awt/LayoutManager.class create mode 100644 libjava/classpath/lib/java/awt/LayoutManager2.class create mode 100644 libjava/classpath/lib/java/awt/LightweightDispatcher.class create mode 100644 libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class create mode 100644 libjava/classpath/lib/java/awt/List$AccessibleAWTList.class create mode 100644 libjava/classpath/lib/java/awt/List.class create mode 100644 libjava/classpath/lib/java/awt/MediaTracker$MediaEntry.class create mode 100644 libjava/classpath/lib/java/awt/MediaTracker.class create mode 100644 libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class create mode 100644 libjava/classpath/lib/java/awt/Menu.class create mode 100644 libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class create mode 100644 libjava/classpath/lib/java/awt/MenuBar.class create mode 100644 libjava/classpath/lib/java/awt/MenuComponent$AccessibleAWTMenuComponent.class create mode 100644 libjava/classpath/lib/java/awt/MenuComponent.class create mode 100644 libjava/classpath/lib/java/awt/MenuContainer.class create mode 100644 libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class create mode 100644 libjava/classpath/lib/java/awt/MenuItem.class create mode 100644 libjava/classpath/lib/java/awt/MenuShortcut.class create mode 100644 libjava/classpath/lib/java/awt/MouseInfo.class create mode 100644 libjava/classpath/lib/java/awt/PageAttributes$ColorType.class create mode 100644 libjava/classpath/lib/java/awt/PageAttributes$MediaType.class create mode 100644 libjava/classpath/lib/java/awt/PageAttributes$OrientationRequestedType.class create mode 100644 libjava/classpath/lib/java/awt/PageAttributes$OriginType.class create mode 100644 libjava/classpath/lib/java/awt/PageAttributes$PrintQualityType.class create mode 100644 libjava/classpath/lib/java/awt/PageAttributes.class create mode 100644 libjava/classpath/lib/java/awt/Paint.class create mode 100644 libjava/classpath/lib/java/awt/PaintContext.class create mode 100644 libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class create mode 100644 libjava/classpath/lib/java/awt/Panel.class create mode 100644 libjava/classpath/lib/java/awt/Point.class create mode 100644 libjava/classpath/lib/java/awt/PointerInfo.class create mode 100644 libjava/classpath/lib/java/awt/Polygon$1.class create mode 100644 libjava/classpath/lib/java/awt/Polygon.class create mode 100644 libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class create mode 100644 libjava/classpath/lib/java/awt/PopupMenu.class create mode 100644 libjava/classpath/lib/java/awt/PrintGraphics.class create mode 100644 libjava/classpath/lib/java/awt/PrintJob.class create mode 100644 libjava/classpath/lib/java/awt/Rectangle.class create mode 100644 libjava/classpath/lib/java/awt/RenderingHints$Key.class create mode 100644 libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class create mode 100644 libjava/classpath/lib/java/awt/RenderingHints.class create mode 100644 libjava/classpath/lib/java/awt/Robot$1.class create mode 100644 libjava/classpath/lib/java/awt/Robot.class create mode 100644 libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class create mode 100644 libjava/classpath/lib/java/awt/ScrollPane.class create mode 100644 libjava/classpath/lib/java/awt/ScrollPaneAdjustable.class create mode 100644 libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class create mode 100644 libjava/classpath/lib/java/awt/Scrollbar.class create mode 100644 libjava/classpath/lib/java/awt/Shape.class create mode 100644 libjava/classpath/lib/java/awt/Stroke.class create mode 100644 libjava/classpath/lib/java/awt/SystemColor.class create mode 100644 libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class create mode 100644 libjava/classpath/lib/java/awt/TextArea.class create mode 100644 libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class create mode 100644 libjava/classpath/lib/java/awt/TextComponent.class create mode 100644 libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class create mode 100644 libjava/classpath/lib/java/awt/TextField.class create mode 100644 libjava/classpath/lib/java/awt/TexturePaint.class create mode 100644 libjava/classpath/lib/java/awt/Toolkit$1.class create mode 100644 libjava/classpath/lib/java/awt/Toolkit$2.class create mode 100644 libjava/classpath/lib/java/awt/Toolkit.class create mode 100644 libjava/classpath/lib/java/awt/Transparency.class create mode 100644 libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class create mode 100644 libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/Window.class create mode 100644 libjava/classpath/lib/java/awt/color/CMMException.class create mode 100644 libjava/classpath/lib/java/awt/color/ColorSpace.class create mode 100644 libjava/classpath/lib/java/awt/color/ICC_ColorSpace.class create mode 100644 libjava/classpath/lib/java/awt/color/ICC_Profile.class create mode 100644 libjava/classpath/lib/java/awt/color/ICC_ProfileGray.class create mode 100644 libjava/classpath/lib/java/awt/color/ICC_ProfileRGB.class create mode 100644 libjava/classpath/lib/java/awt/color/ProfileDataException.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/Clipboard.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/ClipboardOwner.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/FlavorEvent.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/FlavorListener.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/FlavorMap.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/FlavorTable.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/MimeType.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/MimeTypeParseException.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/StringSelection.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/Transferable.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/UnsupportedFlavorException.class create mode 100644 libjava/classpath/lib/java/awt/dnd/Autoscroll.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DnDConstants.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DnDEventMulticaster.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragGestureEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragGestureListener.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragGestureRecognizer.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSource.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceAdapter.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceContext.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceDragEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceDropEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceListener.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DragSourceMotionListener.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTarget$DropTargetAutoScroller.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTarget.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetAdapter.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetContext$TransferableProxy.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetContext.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetDragEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetDropEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetEvent.class create mode 100644 libjava/classpath/lib/java/awt/dnd/DropTargetListener.class create mode 100644 libjava/classpath/lib/java/awt/dnd/InvalidDnDOperationException.class create mode 100644 libjava/classpath/lib/java/awt/dnd/MouseDragGestureRecognizer.class create mode 100644 libjava/classpath/lib/java/awt/dnd/peer/DragSourceContextPeer.class create mode 100644 libjava/classpath/lib/java/awt/dnd/peer/DropTargetContextPeer.class create mode 100644 libjava/classpath/lib/java/awt/dnd/peer/DropTargetPeer.class create mode 100644 libjava/classpath/lib/java/awt/event/AWTEventListener.class create mode 100644 libjava/classpath/lib/java/awt/event/AWTEventListenerProxy.class create mode 100644 libjava/classpath/lib/java/awt/event/ActionEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/ActionListener.class create mode 100644 libjava/classpath/lib/java/awt/event/AdjustmentEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/AdjustmentListener.class create mode 100644 libjava/classpath/lib/java/awt/event/ComponentAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/ComponentEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/ComponentListener.class create mode 100644 libjava/classpath/lib/java/awt/event/ContainerAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/ContainerEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/ContainerListener.class create mode 100644 libjava/classpath/lib/java/awt/event/FocusAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/FocusEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/FocusListener.class create mode 100644 libjava/classpath/lib/java/awt/event/HierarchyBoundsAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/HierarchyBoundsListener.class create mode 100644 libjava/classpath/lib/java/awt/event/HierarchyEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/HierarchyListener.class create mode 100644 libjava/classpath/lib/java/awt/event/InputEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/InputMethodEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/InputMethodListener.class create mode 100644 libjava/classpath/lib/java/awt/event/InvocationEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/ItemEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/ItemListener.class create mode 100644 libjava/classpath/lib/java/awt/event/KeyAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/KeyEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/KeyListener.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseListener.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseMotionAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseMotionListener.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseWheelEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/MouseWheelListener.class create mode 100644 libjava/classpath/lib/java/awt/event/PaintEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/TextEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/TextListener.class create mode 100644 libjava/classpath/lib/java/awt/event/WindowAdapter.class create mode 100644 libjava/classpath/lib/java/awt/event/WindowEvent.class create mode 100644 libjava/classpath/lib/java/awt/event/WindowFocusListener.class create mode 100644 libjava/classpath/lib/java/awt/event/WindowListener.class create mode 100644 libjava/classpath/lib/java/awt/event/WindowStateListener.class create mode 100644 libjava/classpath/lib/java/awt/font/FontRenderContext.class create mode 100644 libjava/classpath/lib/java/awt/font/GlyphJustificationInfo.class create mode 100644 libjava/classpath/lib/java/awt/font/GlyphMetrics.class create mode 100644 libjava/classpath/lib/java/awt/font/GlyphVector.class create mode 100644 libjava/classpath/lib/java/awt/font/GraphicAttribute.class create mode 100644 libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class create mode 100644 libjava/classpath/lib/java/awt/font/LineBreakMeasurer.class create mode 100644 libjava/classpath/lib/java/awt/font/LineMetrics.class create mode 100644 libjava/classpath/lib/java/awt/font/MultipleMaster.class create mode 100644 libjava/classpath/lib/java/awt/font/NumericShaper.class create mode 100644 libjava/classpath/lib/java/awt/font/OpenType.class create mode 100644 libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class create mode 100644 libjava/classpath/lib/java/awt/font/TextAttribute.class create mode 100644 libjava/classpath/lib/java/awt/font/TextHitInfo.class create mode 100644 libjava/classpath/lib/java/awt/font/TextLayout$CaretPolicy.class create mode 100644 libjava/classpath/lib/java/awt/font/TextLayout$Run.class create mode 100644 libjava/classpath/lib/java/awt/font/TextLayout.class create mode 100644 libjava/classpath/lib/java/awt/font/TextMeasurer.class create mode 100644 libjava/classpath/lib/java/awt/font/TransformAttribute.class create mode 100644 libjava/classpath/lib/java/awt/geom/AffineTransform.class create mode 100644 libjava/classpath/lib/java/awt/geom/Arc2D$ArcIterator.class create mode 100644 libjava/classpath/lib/java/awt/geom/Arc2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/Arc2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/Arc2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$Intersection.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$LineSegment.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area$Segment.class create mode 100644 libjava/classpath/lib/java/awt/geom/Area.class create mode 100644 libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class create mode 100644 libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/CubicCurve2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/Dimension2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/Ellipse2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/FlatteningPathIterator.class create mode 100644 libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class create mode 100644 libjava/classpath/lib/java/awt/geom/GeneralPath.class create mode 100644 libjava/classpath/lib/java/awt/geom/IllegalPathStateException.class create mode 100644 libjava/classpath/lib/java/awt/geom/Line2D$1.class create mode 100644 libjava/classpath/lib/java/awt/geom/Line2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/Line2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/Line2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/NoninvertibleTransformException.class create mode 100644 libjava/classpath/lib/java/awt/geom/PathIterator.class create mode 100644 libjava/classpath/lib/java/awt/geom/Point2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/Point2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/Point2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class create mode 100644 libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/QuadCurve2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class create mode 100644 libjava/classpath/lib/java/awt/geom/Rectangle2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/Rectangle2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/Rectangle2D.class create mode 100644 libjava/classpath/lib/java/awt/geom/RectangularShape.class create mode 100644 libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class create mode 100644 libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class create mode 100644 libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class create mode 100644 libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class create mode 100644 libjava/classpath/lib/java/awt/im/InputContext.class create mode 100644 libjava/classpath/lib/java/awt/im/InputMethodHighlight.class create mode 100644 libjava/classpath/lib/java/awt/im/InputMethodRequests.class create mode 100644 libjava/classpath/lib/java/awt/im/InputSubset.class create mode 100644 libjava/classpath/lib/java/awt/im/spi/InputMethod.class create mode 100644 libjava/classpath/lib/java/awt/im/spi/InputMethodContext.class create mode 100644 libjava/classpath/lib/java/awt/im/spi/InputMethodDescriptor.class create mode 100644 libjava/classpath/lib/java/awt/image/AffineTransformOp.class create mode 100644 libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class create mode 100644 libjava/classpath/lib/java/awt/image/BandCombineOp.class create mode 100644 libjava/classpath/lib/java/awt/image/BandedSampleModel.class create mode 100644 libjava/classpath/lib/java/awt/image/BufferStrategy.class create mode 100644 libjava/classpath/lib/java/awt/image/BufferedImage$1.class create mode 100644 libjava/classpath/lib/java/awt/image/BufferedImage.class create mode 100644 libjava/classpath/lib/java/awt/image/BufferedImageFilter.class create mode 100644 libjava/classpath/lib/java/awt/image/BufferedImageOp.class create mode 100644 libjava/classpath/lib/java/awt/image/ByteLookupTable.class create mode 100644 libjava/classpath/lib/java/awt/image/ColorConvertOp.class create mode 100644 libjava/classpath/lib/java/awt/image/ColorModel$SRGBColorModel.class create mode 100644 libjava/classpath/lib/java/awt/image/ColorModel.class create mode 100644 libjava/classpath/lib/java/awt/image/ComponentColorModel.class create mode 100644 libjava/classpath/lib/java/awt/image/ComponentSampleModel.class create mode 100644 libjava/classpath/lib/java/awt/image/ConvolveOp.class create mode 100644 libjava/classpath/lib/java/awt/image/CropImageFilter.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBuffer.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBufferByte.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBufferDouble.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBufferFloat.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBufferInt.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBufferShort.class create mode 100644 libjava/classpath/lib/java/awt/image/DataBufferUShort.class create mode 100644 libjava/classpath/lib/java/awt/image/DirectColorModel.class create mode 100644 libjava/classpath/lib/java/awt/image/FilteredImageSource.class create mode 100644 libjava/classpath/lib/java/awt/image/ImageConsumer.class create mode 100644 libjava/classpath/lib/java/awt/image/ImageFilter.class create mode 100644 libjava/classpath/lib/java/awt/image/ImageObserver.class create mode 100644 libjava/classpath/lib/java/awt/image/ImageProducer.class create mode 100644 libjava/classpath/lib/java/awt/image/ImagingOpException.class create mode 100644 libjava/classpath/lib/java/awt/image/IndexColorModel.class create mode 100644 libjava/classpath/lib/java/awt/image/Kernel.class create mode 100644 libjava/classpath/lib/java/awt/image/LookupOp.class create mode 100644 libjava/classpath/lib/java/awt/image/LookupTable.class create mode 100644 libjava/classpath/lib/java/awt/image/MemoryImageSource.class create mode 100644 libjava/classpath/lib/java/awt/image/MultiPixelPackedSampleModel.class create mode 100644 libjava/classpath/lib/java/awt/image/PackedColorModel.class create mode 100644 libjava/classpath/lib/java/awt/image/PixelGrabber$1.class create mode 100644 libjava/classpath/lib/java/awt/image/PixelGrabber.class create mode 100644 libjava/classpath/lib/java/awt/image/PixelInterleavedSampleModel.class create mode 100644 libjava/classpath/lib/java/awt/image/RGBImageFilter.class create mode 100644 libjava/classpath/lib/java/awt/image/Raster.class create mode 100644 libjava/classpath/lib/java/awt/image/RasterFormatException.class create mode 100644 libjava/classpath/lib/java/awt/image/RasterOp.class create mode 100644 libjava/classpath/lib/java/awt/image/RenderedImage.class create mode 100644 libjava/classpath/lib/java/awt/image/ReplicateScaleFilter.class create mode 100644 libjava/classpath/lib/java/awt/image/RescaleOp.class create mode 100644 libjava/classpath/lib/java/awt/image/SampleModel.class create mode 100644 libjava/classpath/lib/java/awt/image/ShortLookupTable.class create mode 100644 libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class create mode 100644 libjava/classpath/lib/java/awt/image/TileObserver.class create mode 100644 libjava/classpath/lib/java/awt/image/VolatileImage.class create mode 100644 libjava/classpath/lib/java/awt/image/WritableRaster.class create mode 100644 libjava/classpath/lib/java/awt/image/WritableRenderedImage.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/ContextualRenderedImageFactory.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/ParameterBlock.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/RenderContext.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/RenderableImage.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/RenderableImageOp.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/RenderableImageProducer.class create mode 100644 libjava/classpath/lib/java/awt/image/renderable/RenderedImageFactory.class create mode 100644 libjava/classpath/lib/java/awt/peer/ButtonPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/CanvasPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/CheckboxMenuItemPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/CheckboxPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/ChoicePeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/ComponentPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/ContainerPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/DialogPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/FileDialogPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/FontPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/FramePeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/LabelPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/LightweightPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/ListPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/MenuBarPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/MenuComponentPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/MenuItemPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/MenuPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/MouseInfoPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/PanelPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/PopupMenuPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/RobotPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/ScrollPanePeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/ScrollbarPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/TextAreaPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/TextComponentPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/TextFieldPeer.class create mode 100644 libjava/classpath/lib/java/awt/peer/WindowPeer.class create mode 100644 libjava/classpath/lib/java/awt/print/Book.class create mode 100644 libjava/classpath/lib/java/awt/print/NoPrinterJob.class create mode 100644 libjava/classpath/lib/java/awt/print/PageFormat.class create mode 100644 libjava/classpath/lib/java/awt/print/Pageable.class create mode 100644 libjava/classpath/lib/java/awt/print/Paper.class create mode 100644 libjava/classpath/lib/java/awt/print/Printable.class create mode 100644 libjava/classpath/lib/java/awt/print/PrinterAbortException.class create mode 100644 libjava/classpath/lib/java/awt/print/PrinterException.class create mode 100644 libjava/classpath/lib/java/awt/print/PrinterGraphics.class create mode 100644 libjava/classpath/lib/java/awt/print/PrinterIOException.class create mode 100644 libjava/classpath/lib/java/awt/print/PrinterJob.class create mode 100644 libjava/classpath/lib/java/beans/AppletInitializer.class create mode 100644 libjava/classpath/lib/java/beans/BeanDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/BeanInfo.class create mode 100644 libjava/classpath/lib/java/beans/Beans.class create mode 100644 libjava/classpath/lib/java/beans/Customizer.class create mode 100644 libjava/classpath/lib/java/beans/DefaultPersistenceDelegate.class create mode 100644 libjava/classpath/lib/java/beans/DesignMode.class create mode 100644 libjava/classpath/lib/java/beans/Encoder$1.class create mode 100644 libjava/classpath/lib/java/beans/Encoder.class create mode 100644 libjava/classpath/lib/java/beans/EventHandler.class create mode 100644 libjava/classpath/lib/java/beans/EventSetDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/ExceptionListener.class create mode 100644 libjava/classpath/lib/java/beans/ExplicitInfo.class create mode 100644 libjava/classpath/lib/java/beans/Expression.class create mode 100644 libjava/classpath/lib/java/beans/FeatureDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/IndexedPropertyChangeEvent.class create mode 100644 libjava/classpath/lib/java/beans/IndexedPropertyDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/IntrospectionException.class create mode 100644 libjava/classpath/lib/java/beans/Introspector.class create mode 100644 libjava/classpath/lib/java/beans/MethodDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/ParameterDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/PersistenceDelegate.class create mode 100644 libjava/classpath/lib/java/beans/PropertyChangeEvent.class create mode 100644 libjava/classpath/lib/java/beans/PropertyChangeListener.class create mode 100644 libjava/classpath/lib/java/beans/PropertyChangeListenerProxy.class create mode 100644 libjava/classpath/lib/java/beans/PropertyChangeSupport.class create mode 100644 libjava/classpath/lib/java/beans/PropertyDescriptor.class create mode 100644 libjava/classpath/lib/java/beans/PropertyEditor.class create mode 100644 libjava/classpath/lib/java/beans/PropertyEditorManager.class create mode 100644 libjava/classpath/lib/java/beans/PropertyEditorSupport.class create mode 100644 libjava/classpath/lib/java/beans/PropertyVetoException.class create mode 100644 libjava/classpath/lib/java/beans/SimpleBeanInfo.class create mode 100644 libjava/classpath/lib/java/beans/Statement.class create mode 100644 libjava/classpath/lib/java/beans/VetoableChangeListener.class create mode 100644 libjava/classpath/lib/java/beans/VetoableChangeListenerProxy.class create mode 100644 libjava/classpath/lib/java/beans/VetoableChangeSupport.class create mode 100644 libjava/classpath/lib/java/beans/Visibility.class create mode 100644 libjava/classpath/lib/java/beans/XMLDecoder.class create mode 100644 libjava/classpath/lib/java/beans/XMLEncoder.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContext.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextChild.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextChildComponentProxy.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextChildSupport.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextContainerProxy.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextEvent.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipListener.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextProxy.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServiceAvailableEvent.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProvider.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProviderBeanInfo.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedEvent.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedListener.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServices.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesListener.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$Request.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSChild.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSIterator.class create mode 100644 libjava/classpath/lib/java/beans/beancontext/BeanContextSupport.class create mode 100644 libjava/classpath/lib/java/io/BufferedInputStream.class create mode 100644 libjava/classpath/lib/java/io/BufferedOutputStream.class create mode 100644 libjava/classpath/lib/java/io/BufferedReader.class create mode 100644 libjava/classpath/lib/java/io/BufferedWriter.class create mode 100644 libjava/classpath/lib/java/io/ByteArrayInputStream.class create mode 100644 libjava/classpath/lib/java/io/ByteArrayOutputStream.class create mode 100644 libjava/classpath/lib/java/io/CharArrayReader.class create mode 100644 libjava/classpath/lib/java/io/CharArrayWriter.class create mode 100644 libjava/classpath/lib/java/io/CharConversionException.class create mode 100644 libjava/classpath/lib/java/io/Closeable.class create mode 100644 libjava/classpath/lib/java/io/DataInput.class create mode 100644 libjava/classpath/lib/java/io/DataInputStream.class create mode 100644 libjava/classpath/lib/java/io/DataOutput.class create mode 100644 libjava/classpath/lib/java/io/DataOutputStream.class create mode 100644 libjava/classpath/lib/java/io/DeleteFileHelper$1.class create mode 100644 libjava/classpath/lib/java/io/DeleteFileHelper.class create mode 100644 libjava/classpath/lib/java/io/EOFException.class create mode 100644 libjava/classpath/lib/java/io/Externalizable.class create mode 100644 libjava/classpath/lib/java/io/File.class create mode 100644 libjava/classpath/lib/java/io/FileDescriptor.class create mode 100644 libjava/classpath/lib/java/io/FileFilter.class create mode 100644 libjava/classpath/lib/java/io/FileInputStream.class create mode 100644 libjava/classpath/lib/java/io/FileNotFoundException.class create mode 100644 libjava/classpath/lib/java/io/FileOutputStream.class create mode 100644 libjava/classpath/lib/java/io/FilePermission.class create mode 100644 libjava/classpath/lib/java/io/FileReader.class create mode 100644 libjava/classpath/lib/java/io/FileWriter.class create mode 100644 libjava/classpath/lib/java/io/FilenameFilter.class create mode 100644 libjava/classpath/lib/java/io/FilterInputStream.class create mode 100644 libjava/classpath/lib/java/io/FilterOutputStream.class create mode 100644 libjava/classpath/lib/java/io/FilterReader.class create mode 100644 libjava/classpath/lib/java/io/FilterWriter.class create mode 100644 libjava/classpath/lib/java/io/Flushable.class create mode 100644 libjava/classpath/lib/java/io/IOException.class create mode 100644 libjava/classpath/lib/java/io/InputStream.class create mode 100644 libjava/classpath/lib/java/io/InputStreamReader.class create mode 100644 libjava/classpath/lib/java/io/InterruptedIOException.class create mode 100644 libjava/classpath/lib/java/io/InvalidClassException.class create mode 100644 libjava/classpath/lib/java/io/InvalidObjectException.class create mode 100644 libjava/classpath/lib/java/io/LineNumberInputStream.class create mode 100644 libjava/classpath/lib/java/io/LineNumberReader.class create mode 100644 libjava/classpath/lib/java/io/NotActiveException.class create mode 100644 libjava/classpath/lib/java/io/NotSerializableException.class create mode 100644 libjava/classpath/lib/java/io/ObjectInput.class create mode 100644 libjava/classpath/lib/java/io/ObjectInputStream$1.class create mode 100644 libjava/classpath/lib/java/io/ObjectInputStream$2.class create mode 100644 libjava/classpath/lib/java/io/ObjectInputStream$GetField.class create mode 100644 libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class create mode 100644 libjava/classpath/lib/java/io/ObjectInputStream.class create mode 100644 libjava/classpath/lib/java/io/ObjectInputValidation.class create mode 100644 libjava/classpath/lib/java/io/ObjectOutput.class create mode 100644 libjava/classpath/lib/java/io/ObjectOutputStream$1.class create mode 100644 libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class create mode 100644 libjava/classpath/lib/java/io/ObjectOutputStream.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamClass$1.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamClass$2.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamClass$InterfaceComparator.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamClass$MemberComparator.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamClass.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamConstants.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamException.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamField$1.class create mode 100644 libjava/classpath/lib/java/io/ObjectStreamField.class create mode 100644 libjava/classpath/lib/java/io/OptionalDataException.class create mode 100644 libjava/classpath/lib/java/io/OutputStream.class create mode 100644 libjava/classpath/lib/java/io/OutputStreamWriter.class create mode 100644 libjava/classpath/lib/java/io/PipedInputStream.class create mode 100644 libjava/classpath/lib/java/io/PipedOutputStream.class create mode 100644 libjava/classpath/lib/java/io/PipedReader.class create mode 100644 libjava/classpath/lib/java/io/PipedWriter.class create mode 100644 libjava/classpath/lib/java/io/PrintStream.class create mode 100644 libjava/classpath/lib/java/io/PrintWriter.class create mode 100644 libjava/classpath/lib/java/io/PushbackInputStream.class create mode 100644 libjava/classpath/lib/java/io/PushbackReader.class create mode 100644 libjava/classpath/lib/java/io/RandomAccessFile.class create mode 100644 libjava/classpath/lib/java/io/Reader.class create mode 100644 libjava/classpath/lib/java/io/SequenceInputStream.class create mode 100644 libjava/classpath/lib/java/io/Serializable.class create mode 100644 libjava/classpath/lib/java/io/SerializablePermission.class create mode 100644 libjava/classpath/lib/java/io/StreamCorruptedException.class create mode 100644 libjava/classpath/lib/java/io/StreamTokenizer.class create mode 100644 libjava/classpath/lib/java/io/StringBufferInputStream.class create mode 100644 libjava/classpath/lib/java/io/StringReader.class create mode 100644 libjava/classpath/lib/java/io/StringWriter.class create mode 100644 libjava/classpath/lib/java/io/SyncFailedException.class create mode 100644 libjava/classpath/lib/java/io/UTFDataFormatException.class create mode 100644 libjava/classpath/lib/java/io/UnsupportedEncodingException.class create mode 100644 libjava/classpath/lib/java/io/VMObjectInputStream.class create mode 100644 libjava/classpath/lib/java/io/VMObjectStreamClass.class create mode 100644 libjava/classpath/lib/java/io/WriteAbortedException.class create mode 100644 libjava/classpath/lib/java/io/Writer.class create mode 100644 libjava/classpath/lib/java/lang/AbstractMethodError.class create mode 100644 libjava/classpath/lib/java/lang/Appendable.class create mode 100644 libjava/classpath/lib/java/lang/ArithmeticException.class create mode 100644 libjava/classpath/lib/java/lang/ArrayIndexOutOfBoundsException.class create mode 100644 libjava/classpath/lib/java/lang/ArrayStoreException.class create mode 100644 libjava/classpath/lib/java/lang/AssertionError.class create mode 100644 libjava/classpath/lib/java/lang/Boolean.class create mode 100644 libjava/classpath/lib/java/lang/Byte.class create mode 100644 libjava/classpath/lib/java/lang/CharSequence.class create mode 100644 libjava/classpath/lib/java/lang/Character$Subset.class create mode 100644 libjava/classpath/lib/java/lang/Character$UnicodeBlock.class create mode 100644 libjava/classpath/lib/java/lang/Character.class create mode 100644 libjava/classpath/lib/java/lang/Class.class create mode 100644 libjava/classpath/lib/java/lang/ClassCastException.class create mode 100644 libjava/classpath/lib/java/lang/ClassCircularityError.class create mode 100644 libjava/classpath/lib/java/lang/ClassFormatError.class create mode 100644 libjava/classpath/lib/java/lang/ClassLoader$AnnotationsKey.class create mode 100644 libjava/classpath/lib/java/lang/ClassLoader.class create mode 100644 libjava/classpath/lib/java/lang/ClassNotFoundException.class create mode 100644 libjava/classpath/lib/java/lang/CloneNotSupportedException.class create mode 100644 libjava/classpath/lib/java/lang/Cloneable.class create mode 100644 libjava/classpath/lib/java/lang/Comparable.class create mode 100644 libjava/classpath/lib/java/lang/Compiler.class create mode 100644 libjava/classpath/lib/java/lang/Deprecated.class create mode 100644 libjava/classpath/lib/java/lang/Double.class create mode 100644 libjava/classpath/lib/java/lang/EcosProcess.class create mode 100644 libjava/classpath/lib/java/lang/Enum.class create mode 100644 libjava/classpath/lib/java/lang/EnumConstantNotPresentException.class create mode 100644 libjava/classpath/lib/java/lang/Error.class create mode 100644 libjava/classpath/lib/java/lang/Exception.class create mode 100644 libjava/classpath/lib/java/lang/ExceptionInInitializerError.class create mode 100644 libjava/classpath/lib/java/lang/Float.class create mode 100644 libjava/classpath/lib/java/lang/IllegalAccessError.class create mode 100644 libjava/classpath/lib/java/lang/IllegalAccessException.class create mode 100644 libjava/classpath/lib/java/lang/IllegalArgumentException.class create mode 100644 libjava/classpath/lib/java/lang/IllegalMonitorStateException.class create mode 100644 libjava/classpath/lib/java/lang/IllegalStateException.class create mode 100644 libjava/classpath/lib/java/lang/IllegalThreadStateException.class create mode 100644 libjava/classpath/lib/java/lang/IncompatibleClassChangeError.class create mode 100644 libjava/classpath/lib/java/lang/IndexOutOfBoundsException.class create mode 100644 libjava/classpath/lib/java/lang/InheritableThreadLocal.class create mode 100644 libjava/classpath/lib/java/lang/InstantiationError.class create mode 100644 libjava/classpath/lib/java/lang/InstantiationException.class create mode 100644 libjava/classpath/lib/java/lang/Integer.class create mode 100644 libjava/classpath/lib/java/lang/InternalError.class create mode 100644 libjava/classpath/lib/java/lang/InterruptedException.class create mode 100644 libjava/classpath/lib/java/lang/Iterable.class create mode 100644 libjava/classpath/lib/java/lang/LinkageError.class create mode 100644 libjava/classpath/lib/java/lang/Long.class create mode 100644 libjava/classpath/lib/java/lang/Math.class create mode 100644 libjava/classpath/lib/java/lang/NegativeArraySizeException.class create mode 100644 libjava/classpath/lib/java/lang/NoClassDefFoundError.class create mode 100644 libjava/classpath/lib/java/lang/NoSuchFieldError.class create mode 100644 libjava/classpath/lib/java/lang/NoSuchFieldException.class create mode 100644 libjava/classpath/lib/java/lang/NoSuchMethodError.class create mode 100644 libjava/classpath/lib/java/lang/NoSuchMethodException.class create mode 100644 libjava/classpath/lib/java/lang/NullPointerException.class create mode 100644 libjava/classpath/lib/java/lang/Number.class create mode 100644 libjava/classpath/lib/java/lang/NumberFormatException.class create mode 100644 libjava/classpath/lib/java/lang/Object.class create mode 100644 libjava/classpath/lib/java/lang/OutOfMemoryError.class create mode 100644 libjava/classpath/lib/java/lang/Override.class create mode 100644 libjava/classpath/lib/java/lang/Package.class create mode 100644 libjava/classpath/lib/java/lang/PosixProcess$EOFInputStream.class create mode 100644 libjava/classpath/lib/java/lang/PosixProcess$ProcessManager.class create mode 100644 libjava/classpath/lib/java/lang/PosixProcess.class create mode 100644 libjava/classpath/lib/java/lang/Process.class create mode 100644 libjava/classpath/lib/java/lang/ProcessBuilder.class create mode 100644 libjava/classpath/lib/java/lang/Readable.class create mode 100644 libjava/classpath/lib/java/lang/Runnable.class create mode 100644 libjava/classpath/lib/java/lang/Runtime.class create mode 100644 libjava/classpath/lib/java/lang/RuntimeException.class create mode 100644 libjava/classpath/lib/java/lang/RuntimePermission.class create mode 100644 libjava/classpath/lib/java/lang/SecurityException.class create mode 100644 libjava/classpath/lib/java/lang/SecurityManager$1.class create mode 100644 libjava/classpath/lib/java/lang/SecurityManager.class create mode 100644 libjava/classpath/lib/java/lang/Short.class create mode 100644 libjava/classpath/lib/java/lang/StackOverflowError.class create mode 100644 libjava/classpath/lib/java/lang/StackTraceElement.class create mode 100644 libjava/classpath/lib/java/lang/StrictMath.class create mode 100644 libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class create mode 100644 libjava/classpath/lib/java/lang/String.class create mode 100644 libjava/classpath/lib/java/lang/StringBuffer.class create mode 100644 libjava/classpath/lib/java/lang/StringBuilder.class create mode 100644 libjava/classpath/lib/java/lang/StringIndexOutOfBoundsException.class create mode 100644 libjava/classpath/lib/java/lang/SuppressWarnings.class create mode 100644 libjava/classpath/lib/java/lang/System$EnvironmentCollection.class create mode 100644 libjava/classpath/lib/java/lang/System$EnvironmentMap.class create mode 100644 libjava/classpath/lib/java/lang/System$EnvironmentSet.class create mode 100644 libjava/classpath/lib/java/lang/System.class create mode 100644 libjava/classpath/lib/java/lang/Thread$State.class create mode 100644 libjava/classpath/lib/java/lang/Thread$UncaughtExceptionHandler.class create mode 100644 libjava/classpath/lib/java/lang/Thread.class create mode 100644 libjava/classpath/lib/java/lang/ThreadDeath.class create mode 100644 libjava/classpath/lib/java/lang/ThreadGroup.class create mode 100644 libjava/classpath/lib/java/lang/ThreadLocal.class create mode 100644 libjava/classpath/lib/java/lang/Throwable$StaticData.class create mode 100644 libjava/classpath/lib/java/lang/Throwable.class create mode 100644 libjava/classpath/lib/java/lang/TypeNotPresentException.class create mode 100644 libjava/classpath/lib/java/lang/UnknownError.class create mode 100644 libjava/classpath/lib/java/lang/UnsatisfiedLinkError.class create mode 100644 libjava/classpath/lib/java/lang/UnsupportedClassVersionError.class create mode 100644 libjava/classpath/lib/java/lang/UnsupportedOperationException.class create mode 100644 libjava/classpath/lib/java/lang/VMClassLoader.class create mode 100644 libjava/classpath/lib/java/lang/VMCompiler.class create mode 100644 libjava/classpath/lib/java/lang/VMDouble.class create mode 100644 libjava/classpath/lib/java/lang/VMFloat.class create mode 100644 libjava/classpath/lib/java/lang/VMThrowable.class create mode 100644 libjava/classpath/lib/java/lang/VerifyError.class create mode 100644 libjava/classpath/lib/java/lang/VirtualMachineError.class create mode 100644 libjava/classpath/lib/java/lang/Void.class create mode 100644 libjava/classpath/lib/java/lang/Win32Process.class create mode 100644 libjava/classpath/lib/java/lang/annotation/Annotation.class create mode 100644 libjava/classpath/lib/java/lang/annotation/AnnotationFormatError.class create mode 100644 libjava/classpath/lib/java/lang/annotation/AnnotationTypeMismatchException.class create mode 100644 libjava/classpath/lib/java/lang/annotation/Documented.class create mode 100644 libjava/classpath/lib/java/lang/annotation/ElementType.class create mode 100644 libjava/classpath/lib/java/lang/annotation/IncompleteAnnotationException.class create mode 100644 libjava/classpath/lib/java/lang/annotation/Inherited.class create mode 100644 libjava/classpath/lib/java/lang/annotation/Retention.class create mode 100644 libjava/classpath/lib/java/lang/annotation/RetentionPolicy.class create mode 100644 libjava/classpath/lib/java/lang/annotation/Target.class create mode 100644 libjava/classpath/lib/java/lang/instrument/ClassDefinition.class create mode 100644 libjava/classpath/lib/java/lang/instrument/ClassFileTransformer.class create mode 100644 libjava/classpath/lib/java/lang/instrument/IllegalClassFormatException.class create mode 100644 libjava/classpath/lib/java/lang/instrument/Instrumentation.class create mode 100644 libjava/classpath/lib/java/lang/instrument/UnmodifiableClassException.class create mode 100644 libjava/classpath/lib/java/lang/management/ClassLoadingMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/CompilationMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/GarbageCollectorMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/ManagementFactory.class create mode 100644 libjava/classpath/lib/java/lang/management/ManagementPermission.class create mode 100644 libjava/classpath/lib/java/lang/management/MemoryMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/MemoryManagerMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/MemoryNotificationInfo.class create mode 100644 libjava/classpath/lib/java/lang/management/MemoryPoolMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/MemoryType.class create mode 100644 libjava/classpath/lib/java/lang/management/MemoryUsage.class create mode 100644 libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/RuntimeMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/ThreadInfo.class create mode 100644 libjava/classpath/lib/java/lang/management/ThreadMXBean.class create mode 100644 libjava/classpath/lib/java/lang/management/VMManagementFactory.class create mode 100644 libjava/classpath/lib/java/lang/ref/PhantomReference.class create mode 100644 libjava/classpath/lib/java/lang/ref/Reference.class create mode 100644 libjava/classpath/lib/java/lang/ref/ReferenceQueue.class create mode 100644 libjava/classpath/lib/java/lang/ref/SoftReference.class create mode 100644 libjava/classpath/lib/java/lang/ref/WeakReference.class create mode 100644 libjava/classpath/lib/java/lang/reflect/AccessibleObject.class create mode 100644 libjava/classpath/lib/java/lang/reflect/AnnotatedElement.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Array.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Constructor.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Field.class create mode 100644 libjava/classpath/lib/java/lang/reflect/GenericArrayType.class create mode 100644 libjava/classpath/lib/java/lang/reflect/GenericDeclaration.class create mode 100644 libjava/classpath/lib/java/lang/reflect/GenericSignatureFormatError.class create mode 100644 libjava/classpath/lib/java/lang/reflect/InvocationHandler.class create mode 100644 libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class create mode 100644 libjava/classpath/lib/java/lang/reflect/MalformedParameterizedTypeException.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Member.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Method.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Modifier.class create mode 100644 libjava/classpath/lib/java/lang/reflect/ParameterizedType.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Proxy$ProxyType.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Proxy.class create mode 100644 libjava/classpath/lib/java/lang/reflect/ReflectPermission.class create mode 100644 libjava/classpath/lib/java/lang/reflect/Type.class create mode 100644 libjava/classpath/lib/java/lang/reflect/TypeVariable.class create mode 100644 libjava/classpath/lib/java/lang/reflect/UndeclaredThrowableException.class create mode 100644 libjava/classpath/lib/java/lang/reflect/VMProxy.class create mode 100644 libjava/classpath/lib/java/lang/reflect/WildcardType.class create mode 100644 libjava/classpath/lib/java/math/BigDecimal.class create mode 100644 libjava/classpath/lib/java/math/BigInteger.class create mode 100644 libjava/classpath/lib/java/math/MathContext.class create mode 100644 libjava/classpath/lib/java/math/RoundingMode.class create mode 100644 libjava/classpath/lib/java/net/Authenticator.class create mode 100644 libjava/classpath/lib/java/net/BindException.class create mode 100644 libjava/classpath/lib/java/net/ConnectException.class create mode 100644 libjava/classpath/lib/java/net/ContentHandler.class create mode 100644 libjava/classpath/lib/java/net/ContentHandlerFactory.class create mode 100644 libjava/classpath/lib/java/net/DatagramPacket.class create mode 100644 libjava/classpath/lib/java/net/DatagramSocket.class create mode 100644 libjava/classpath/lib/java/net/DatagramSocketImpl.class create mode 100644 libjava/classpath/lib/java/net/DatagramSocketImplFactory.class create mode 100644 libjava/classpath/lib/java/net/FileNameMap.class create mode 100644 libjava/classpath/lib/java/net/HttpURLConnection.class create mode 100644 libjava/classpath/lib/java/net/Inet4Address.class create mode 100644 libjava/classpath/lib/java/net/Inet6Address.class create mode 100644 libjava/classpath/lib/java/net/InetAddress.class create mode 100644 libjava/classpath/lib/java/net/InetSocketAddress.class create mode 100644 libjava/classpath/lib/java/net/JarURLConnection.class create mode 100644 libjava/classpath/lib/java/net/MalformedURLException.class create mode 100644 libjava/classpath/lib/java/net/MimeTypeMapper.class create mode 100644 libjava/classpath/lib/java/net/MulticastSocket.class create mode 100644 libjava/classpath/lib/java/net/NetPermission.class create mode 100644 libjava/classpath/lib/java/net/NetworkInterface.class create mode 100644 libjava/classpath/lib/java/net/NoRouteToHostException.class create mode 100644 libjava/classpath/lib/java/net/PasswordAuthentication.class create mode 100644 libjava/classpath/lib/java/net/PortUnreachableException.class create mode 100644 libjava/classpath/lib/java/net/ProtocolException.class create mode 100644 libjava/classpath/lib/java/net/Proxy$Type.class create mode 100644 libjava/classpath/lib/java/net/Proxy.class create mode 100644 libjava/classpath/lib/java/net/ProxySelector.class create mode 100644 libjava/classpath/lib/java/net/ResolverCache$Entry.class create mode 100644 libjava/classpath/lib/java/net/ResolverCache.class create mode 100644 libjava/classpath/lib/java/net/ServerSocket.class create mode 100644 libjava/classpath/lib/java/net/Socket.class create mode 100644 libjava/classpath/lib/java/net/SocketAddress.class create mode 100644 libjava/classpath/lib/java/net/SocketException.class create mode 100644 libjava/classpath/lib/java/net/SocketImpl.class create mode 100644 libjava/classpath/lib/java/net/SocketImplFactory.class create mode 100644 libjava/classpath/lib/java/net/SocketOptions.class create mode 100644 libjava/classpath/lib/java/net/SocketPermission.class create mode 100644 libjava/classpath/lib/java/net/SocketTimeoutException.class create mode 100644 libjava/classpath/lib/java/net/URI.class create mode 100644 libjava/classpath/lib/java/net/URISyntaxException.class create mode 100644 libjava/classpath/lib/java/net/URL$1.class create mode 100644 libjava/classpath/lib/java/net/URL.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$1.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$2.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$CoreResource.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$CoreURLLoader.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$FileResource.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$FileURLLoader.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$JarURLLoader.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$JarURLResource.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$RemoteResource.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$RemoteURLLoader.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$Resource.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$SoResource.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$SoURLLoader.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader$URLLoader.class create mode 100644 libjava/classpath/lib/java/net/URLClassLoader.class create mode 100644 libjava/classpath/lib/java/net/URLConnection.class create mode 100644 libjava/classpath/lib/java/net/URLDecoder.class create mode 100644 libjava/classpath/lib/java/net/URLEncoder.class create mode 100644 libjava/classpath/lib/java/net/URLStreamHandler.class create mode 100644 libjava/classpath/lib/java/net/URLStreamHandlerFactory.class create mode 100644 libjava/classpath/lib/java/net/UnknownHostException.class create mode 100644 libjava/classpath/lib/java/net/UnknownServiceException.class create mode 100644 libjava/classpath/lib/java/net/VMInetAddress.class create mode 100644 libjava/classpath/lib/java/net/VMNetworkInterface.class create mode 100644 libjava/classpath/lib/java/net/VMURLConnection.class create mode 100644 libjava/classpath/lib/java/nio/Buffer.class create mode 100644 libjava/classpath/lib/java/nio/BufferOverflowException.class create mode 100644 libjava/classpath/lib/java/nio/BufferUnderflowException.class create mode 100644 libjava/classpath/lib/java/nio/ByteBuffer.class create mode 100644 libjava/classpath/lib/java/nio/ByteBufferHelper.class create mode 100644 libjava/classpath/lib/java/nio/ByteBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/ByteOrder.class create mode 100644 libjava/classpath/lib/java/nio/CharBuffer.class create mode 100644 libjava/classpath/lib/java/nio/CharBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/CharViewBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadOnly.class create mode 100644 libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadWrite.class create mode 100644 libjava/classpath/lib/java/nio/DirectByteBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/DoubleBuffer.class create mode 100644 libjava/classpath/lib/java/nio/DoubleBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/DoubleViewBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/FloatBuffer.class create mode 100644 libjava/classpath/lib/java/nio/FloatBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/FloatViewBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/IntBuffer.class create mode 100644 libjava/classpath/lib/java/nio/IntBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/IntViewBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/InvalidMarkException.class create mode 100644 libjava/classpath/lib/java/nio/LongBuffer.class create mode 100644 libjava/classpath/lib/java/nio/LongBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/LongViewBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/MappedByteBuffer.class create mode 100644 libjava/classpath/lib/java/nio/MappedByteBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/ReadOnlyBufferException.class create mode 100644 libjava/classpath/lib/java/nio/ShortBuffer.class create mode 100644 libjava/classpath/lib/java/nio/ShortBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/ShortViewBufferImpl.class create mode 100644 libjava/classpath/lib/java/nio/VMDirectByteBuffer.class create mode 100644 libjava/classpath/lib/java/nio/channels/AlreadyConnectedException.class create mode 100644 libjava/classpath/lib/java/nio/channels/AsynchronousCloseException.class create mode 100644 libjava/classpath/lib/java/nio/channels/ByteChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/CancelledKeyException.class create mode 100644 libjava/classpath/lib/java/nio/channels/Channel.class create mode 100644 libjava/classpath/lib/java/nio/channels/Channels.class create mode 100644 libjava/classpath/lib/java/nio/channels/ClosedByInterruptException.class create mode 100644 libjava/classpath/lib/java/nio/channels/ClosedChannelException.class create mode 100644 libjava/classpath/lib/java/nio/channels/ClosedSelectorException.class create mode 100644 libjava/classpath/lib/java/nio/channels/ConnectionPendingException.class create mode 100644 libjava/classpath/lib/java/nio/channels/DatagramChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/FileChannel$MapMode.class create mode 100644 libjava/classpath/lib/java/nio/channels/FileChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/FileLock.class create mode 100644 libjava/classpath/lib/java/nio/channels/FileLockInterruptionException.class create mode 100644 libjava/classpath/lib/java/nio/channels/GatheringByteChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/IllegalBlockingModeException.class create mode 100644 libjava/classpath/lib/java/nio/channels/IllegalSelectorException.class create mode 100644 libjava/classpath/lib/java/nio/channels/InterruptibleChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/NoConnectionPendingException.class create mode 100644 libjava/classpath/lib/java/nio/channels/NonReadableChannelException.class create mode 100644 libjava/classpath/lib/java/nio/channels/NonWritableChannelException.class create mode 100644 libjava/classpath/lib/java/nio/channels/NotYetBoundException.class create mode 100644 libjava/classpath/lib/java/nio/channels/NotYetConnectedException.class create mode 100644 libjava/classpath/lib/java/nio/channels/OverlappingFileLockException.class create mode 100644 libjava/classpath/lib/java/nio/channels/Pipe$SinkChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/Pipe$SourceChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/Pipe.class create mode 100644 libjava/classpath/lib/java/nio/channels/ReadableByteChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/ScatteringByteChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/SelectableChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/SelectionKey.class create mode 100644 libjava/classpath/lib/java/nio/channels/Selector.class create mode 100644 libjava/classpath/lib/java/nio/channels/ServerSocketChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/SocketChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/UnresolvedAddressException.class create mode 100644 libjava/classpath/lib/java/nio/channels/UnsupportedAddressTypeException.class create mode 100644 libjava/classpath/lib/java/nio/channels/VMChannels.class create mode 100644 libjava/classpath/lib/java/nio/channels/WritableByteChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/spi/AbstractInterruptibleChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/spi/AbstractSelectableChannel.class create mode 100644 libjava/classpath/lib/java/nio/channels/spi/AbstractSelectionKey.class create mode 100644 libjava/classpath/lib/java/nio/channels/spi/AbstractSelector.class create mode 100644 libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class create mode 100644 libjava/classpath/lib/java/nio/charset/CharacterCodingException.class create mode 100644 libjava/classpath/lib/java/nio/charset/Charset.class create mode 100644 libjava/classpath/lib/java/nio/charset/CharsetDecoder.class create mode 100644 libjava/classpath/lib/java/nio/charset/CharsetEncoder.class create mode 100644 libjava/classpath/lib/java/nio/charset/CoderMalfunctionError.class create mode 100644 libjava/classpath/lib/java/nio/charset/CoderResult$1.class create mode 100644 libjava/classpath/lib/java/nio/charset/CoderResult$2.class create mode 100644 libjava/classpath/lib/java/nio/charset/CoderResult$Cache.class create mode 100644 libjava/classpath/lib/java/nio/charset/CoderResult.class create mode 100644 libjava/classpath/lib/java/nio/charset/CodingErrorAction.class create mode 100644 libjava/classpath/lib/java/nio/charset/IllegalCharsetNameException.class create mode 100644 libjava/classpath/lib/java/nio/charset/MalformedInputException.class create mode 100644 libjava/classpath/lib/java/nio/charset/UnmappableCharacterException.class create mode 100644 libjava/classpath/lib/java/nio/charset/UnsupportedCharsetException.class create mode 100644 libjava/classpath/lib/java/nio/charset/spi/CharsetProvider.class create mode 100644 libjava/classpath/lib/java/rmi/AccessException.class create mode 100644 libjava/classpath/lib/java/rmi/AlreadyBoundException.class create mode 100644 libjava/classpath/lib/java/rmi/ConnectException.class create mode 100644 libjava/classpath/lib/java/rmi/ConnectIOException.class create mode 100644 libjava/classpath/lib/java/rmi/MarshalException.class create mode 100644 libjava/classpath/lib/java/rmi/MarshalledObject.class create mode 100644 libjava/classpath/lib/java/rmi/Naming.class create mode 100644 libjava/classpath/lib/java/rmi/NoSuchObjectException.class create mode 100644 libjava/classpath/lib/java/rmi/NotBoundException.class create mode 100644 libjava/classpath/lib/java/rmi/RMISecurityException.class create mode 100644 libjava/classpath/lib/java/rmi/RMISecurityManager.class create mode 100644 libjava/classpath/lib/java/rmi/Remote.class create mode 100644 libjava/classpath/lib/java/rmi/RemoteException.class create mode 100644 libjava/classpath/lib/java/rmi/ServerError.class create mode 100644 libjava/classpath/lib/java/rmi/ServerException.class create mode 100644 libjava/classpath/lib/java/rmi/ServerRuntimeException.class create mode 100644 libjava/classpath/lib/java/rmi/StubNotFoundException.class create mode 100644 libjava/classpath/lib/java/rmi/UnexpectedException.class create mode 100644 libjava/classpath/lib/java/rmi/UnknownHostException.class create mode 100644 libjava/classpath/lib/java/rmi/UnmarshalException.class create mode 100644 libjava/classpath/lib/java/rmi/activation/Activatable.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivateFailedException.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationDesc.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationException.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationGroup.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationGroupID.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationGroup_Stub.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationID.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationInstantiator.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationMonitor.class create mode 100644 libjava/classpath/lib/java/rmi/activation/ActivationSystem.class create mode 100644 libjava/classpath/lib/java/rmi/activation/Activator.class create mode 100644 libjava/classpath/lib/java/rmi/activation/UnknownGroupException.class create mode 100644 libjava/classpath/lib/java/rmi/activation/UnknownObjectException.class create mode 100644 libjava/classpath/lib/java/rmi/dgc/DGC.class create mode 100644 libjava/classpath/lib/java/rmi/dgc/Lease.class create mode 100644 libjava/classpath/lib/java/rmi/dgc/VMID.class create mode 100644 libjava/classpath/lib/java/rmi/registry/LocateRegistry.class create mode 100644 libjava/classpath/lib/java/rmi/registry/Registry.class create mode 100644 libjava/classpath/lib/java/rmi/registry/RegistryHandler.class create mode 100644 libjava/classpath/lib/java/rmi/server/ExportException.class create mode 100644 libjava/classpath/lib/java/rmi/server/LoaderHandler.class create mode 100644 libjava/classpath/lib/java/rmi/server/LogStream.class create mode 100644 libjava/classpath/lib/java/rmi/server/ObjID.class create mode 100644 libjava/classpath/lib/java/rmi/server/Operation.class create mode 100644 libjava/classpath/lib/java/rmi/server/RMIClassLoader.class create mode 100644 libjava/classpath/lib/java/rmi/server/RMIClassLoaderSpi.class create mode 100644 libjava/classpath/lib/java/rmi/server/RMIClientSocketFactory.class create mode 100644 libjava/classpath/lib/java/rmi/server/RMIFailureHandler.class create mode 100644 libjava/classpath/lib/java/rmi/server/RMIServerSocketFactory.class create mode 100644 libjava/classpath/lib/java/rmi/server/RMISocketFactory.class create mode 100644 libjava/classpath/lib/java/rmi/server/RemoteCall.class create mode 100644 libjava/classpath/lib/java/rmi/server/RemoteObject.class create mode 100644 libjava/classpath/lib/java/rmi/server/RemoteObjectInvocationHandler.class create mode 100644 libjava/classpath/lib/java/rmi/server/RemoteRef.class create mode 100644 libjava/classpath/lib/java/rmi/server/RemoteServer.class create mode 100644 libjava/classpath/lib/java/rmi/server/RemoteStub.class create mode 100644 libjava/classpath/lib/java/rmi/server/ServerCloneException.class create mode 100644 libjava/classpath/lib/java/rmi/server/ServerNotActiveException.class create mode 100644 libjava/classpath/lib/java/rmi/server/ServerRef.class create mode 100644 libjava/classpath/lib/java/rmi/server/Skeleton.class create mode 100644 libjava/classpath/lib/java/rmi/server/SkeletonMismatchException.class create mode 100644 libjava/classpath/lib/java/rmi/server/SkeletonNotFoundException.class create mode 100644 libjava/classpath/lib/java/rmi/server/SocketSecurityException.class create mode 100644 libjava/classpath/lib/java/rmi/server/UID.class create mode 100644 libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class create mode 100644 libjava/classpath/lib/java/rmi/server/Unreferenced.class create mode 100644 libjava/classpath/lib/java/security/AccessControlContext.class create mode 100644 libjava/classpath/lib/java/security/AccessControlException.class create mode 100644 libjava/classpath/lib/java/security/AccessController.class create mode 100644 libjava/classpath/lib/java/security/AlgorithmParameterGenerator.class create mode 100644 libjava/classpath/lib/java/security/AlgorithmParameterGeneratorSpi.class create mode 100644 libjava/classpath/lib/java/security/AlgorithmParameters.class create mode 100644 libjava/classpath/lib/java/security/AlgorithmParametersSpi.class create mode 100644 libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class create mode 100644 libjava/classpath/lib/java/security/AllPermission.class create mode 100644 libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class create mode 100644 libjava/classpath/lib/java/security/BasicPermission.class create mode 100644 libjava/classpath/lib/java/security/Certificate.class create mode 100644 libjava/classpath/lib/java/security/CodeSource.class create mode 100644 libjava/classpath/lib/java/security/DigestException.class create mode 100644 libjava/classpath/lib/java/security/DigestInputStream.class create mode 100644 libjava/classpath/lib/java/security/DigestOutputStream.class create mode 100644 libjava/classpath/lib/java/security/DomainCombiner.class create mode 100644 libjava/classpath/lib/java/security/DummyKeyPairGenerator.class create mode 100644 libjava/classpath/lib/java/security/DummyMessageDigest.class create mode 100644 libjava/classpath/lib/java/security/DummySignature.class create mode 100644 libjava/classpath/lib/java/security/GeneralSecurityException.class create mode 100644 libjava/classpath/lib/java/security/Guard.class create mode 100644 libjava/classpath/lib/java/security/GuardedObject.class create mode 100644 libjava/classpath/lib/java/security/Identity.class create mode 100644 libjava/classpath/lib/java/security/IdentityScope.class create mode 100644 libjava/classpath/lib/java/security/IntersectingDomainCombiner.class create mode 100644 libjava/classpath/lib/java/security/InvalidAlgorithmParameterException.class create mode 100644 libjava/classpath/lib/java/security/InvalidKeyException.class create mode 100644 libjava/classpath/lib/java/security/InvalidParameterException.class create mode 100644 libjava/classpath/lib/java/security/Key.class create mode 100644 libjava/classpath/lib/java/security/KeyException.class create mode 100644 libjava/classpath/lib/java/security/KeyFactory.class create mode 100644 libjava/classpath/lib/java/security/KeyFactorySpi.class create mode 100644 libjava/classpath/lib/java/security/KeyManagementException.class create mode 100644 libjava/classpath/lib/java/security/KeyPair.class create mode 100644 libjava/classpath/lib/java/security/KeyPairGenerator.class create mode 100644 libjava/classpath/lib/java/security/KeyPairGeneratorSpi.class create mode 100644 libjava/classpath/lib/java/security/KeyStore.class create mode 100644 libjava/classpath/lib/java/security/KeyStoreException.class create mode 100644 libjava/classpath/lib/java/security/KeyStoreSpi.class create mode 100644 libjava/classpath/lib/java/security/MessageDigest.class create mode 100644 libjava/classpath/lib/java/security/MessageDigestSpi.class create mode 100644 libjava/classpath/lib/java/security/NoSuchAlgorithmException.class create mode 100644 libjava/classpath/lib/java/security/NoSuchProviderException.class create mode 100644 libjava/classpath/lib/java/security/Permission.class create mode 100644 libjava/classpath/lib/java/security/PermissionCollection.class create mode 100644 libjava/classpath/lib/java/security/Permissions$1.class create mode 100644 libjava/classpath/lib/java/security/Permissions$PermissionsHash.class create mode 100644 libjava/classpath/lib/java/security/Permissions.class create mode 100644 libjava/classpath/lib/java/security/Policy.class create mode 100644 libjava/classpath/lib/java/security/Principal.class create mode 100644 libjava/classpath/lib/java/security/PrivateKey.class create mode 100644 libjava/classpath/lib/java/security/PrivilegedAction.class create mode 100644 libjava/classpath/lib/java/security/PrivilegedActionException.class create mode 100644 libjava/classpath/lib/java/security/PrivilegedExceptionAction.class create mode 100644 libjava/classpath/lib/java/security/ProtectionDomain.class create mode 100644 libjava/classpath/lib/java/security/Provider.class create mode 100644 libjava/classpath/lib/java/security/ProviderException.class create mode 100644 libjava/classpath/lib/java/security/PublicKey.class create mode 100644 libjava/classpath/lib/java/security/SecureClassLoader.class create mode 100644 libjava/classpath/lib/java/security/SecureRandom.class create mode 100644 libjava/classpath/lib/java/security/SecureRandomSpi.class create mode 100644 libjava/classpath/lib/java/security/Security.class create mode 100644 libjava/classpath/lib/java/security/SecurityPermission.class create mode 100644 libjava/classpath/lib/java/security/Signature.class create mode 100644 libjava/classpath/lib/java/security/SignatureException.class create mode 100644 libjava/classpath/lib/java/security/SignatureSpi.class create mode 100644 libjava/classpath/lib/java/security/SignedObject.class create mode 100644 libjava/classpath/lib/java/security/Signer.class create mode 100644 libjava/classpath/lib/java/security/UnrecoverableKeyException.class create mode 100644 libjava/classpath/lib/java/security/UnresolvedPermission.class create mode 100644 libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class create mode 100644 libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class create mode 100644 libjava/classpath/lib/java/security/VMAccessControlState.class create mode 100644 libjava/classpath/lib/java/security/VMAccessController.class create mode 100644 libjava/classpath/lib/java/security/VMSecureRandom$Spinner.class create mode 100644 libjava/classpath/lib/java/security/VMSecureRandom.class create mode 100644 libjava/classpath/lib/java/security/acl/Acl.class create mode 100644 libjava/classpath/lib/java/security/acl/AclEntry.class create mode 100644 libjava/classpath/lib/java/security/acl/AclNotFoundException.class create mode 100644 libjava/classpath/lib/java/security/acl/Group.class create mode 100644 libjava/classpath/lib/java/security/acl/LastOwnerException.class create mode 100644 libjava/classpath/lib/java/security/acl/NotOwnerException.class create mode 100644 libjava/classpath/lib/java/security/acl/Owner.class create mode 100644 libjava/classpath/lib/java/security/acl/Permission.class create mode 100644 libjava/classpath/lib/java/security/cert/CRL.class create mode 100644 libjava/classpath/lib/java/security/cert/CRLException.class create mode 100644 libjava/classpath/lib/java/security/cert/CRLSelector.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPath$CertPathRep.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPath.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathBuilder.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathBuilderException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathBuilderResult.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathBuilderSpi.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathParameters.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathValidator$1.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathValidator.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathValidatorException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathValidatorResult.class create mode 100644 libjava/classpath/lib/java/security/cert/CertPathValidatorSpi.class create mode 100644 libjava/classpath/lib/java/security/cert/CertSelector.class create mode 100644 libjava/classpath/lib/java/security/cert/CertStore$1.class create mode 100644 libjava/classpath/lib/java/security/cert/CertStore.class create mode 100644 libjava/classpath/lib/java/security/cert/CertStoreException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertStoreParameters.class create mode 100644 libjava/classpath/lib/java/security/cert/CertStoreSpi.class create mode 100644 libjava/classpath/lib/java/security/cert/Certificate$CertificateRep.class create mode 100644 libjava/classpath/lib/java/security/cert/Certificate.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateEncodingException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateExpiredException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateFactory.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateFactorySpi.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateNotYetValidException.class create mode 100644 libjava/classpath/lib/java/security/cert/CertificateParsingException.class create mode 100644 libjava/classpath/lib/java/security/cert/CollectionCertStoreParameters.class create mode 100644 libjava/classpath/lib/java/security/cert/LDAPCertStoreParameters.class create mode 100644 libjava/classpath/lib/java/security/cert/PKIXBuilderParameters.class create mode 100644 libjava/classpath/lib/java/security/cert/PKIXCertPathBuilderResult.class create mode 100644 libjava/classpath/lib/java/security/cert/PKIXCertPathChecker.class create mode 100644 libjava/classpath/lib/java/security/cert/PKIXCertPathValidatorResult.class create mode 100644 libjava/classpath/lib/java/security/cert/PKIXParameters.class create mode 100644 libjava/classpath/lib/java/security/cert/PolicyNode.class create mode 100644 libjava/classpath/lib/java/security/cert/PolicyQualifierInfo.class create mode 100644 libjava/classpath/lib/java/security/cert/TrustAnchor.class create mode 100644 libjava/classpath/lib/java/security/cert/X509CRL.class create mode 100644 libjava/classpath/lib/java/security/cert/X509CRLEntry.class create mode 100644 libjava/classpath/lib/java/security/cert/X509CRLSelector.class create mode 100644 libjava/classpath/lib/java/security/cert/X509CertSelector.class create mode 100644 libjava/classpath/lib/java/security/cert/X509Certificate.class create mode 100644 libjava/classpath/lib/java/security/cert/X509Extension.class create mode 100644 libjava/classpath/lib/java/security/interfaces/DSAKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/DSAKeyPairGenerator.class create mode 100644 libjava/classpath/lib/java/security/interfaces/DSAParams.class create mode 100644 libjava/classpath/lib/java/security/interfaces/DSAPrivateKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/DSAPublicKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/RSAKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/RSAMultiPrimePrivateCrtKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/RSAPrivateCrtKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/RSAPrivateKey.class create mode 100644 libjava/classpath/lib/java/security/interfaces/RSAPublicKey.class create mode 100644 libjava/classpath/lib/java/security/spec/AlgorithmParameterSpec.class create mode 100644 libjava/classpath/lib/java/security/spec/DSAParameterSpec.class create mode 100644 libjava/classpath/lib/java/security/spec/DSAPrivateKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/DSAPublicKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/EncodedKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/InvalidKeySpecException.class create mode 100644 libjava/classpath/lib/java/security/spec/InvalidParameterSpecException.class create mode 100644 libjava/classpath/lib/java/security/spec/KeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/PKCS8EncodedKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/PSSParameterSpec.class create mode 100644 libjava/classpath/lib/java/security/spec/RSAKeyGenParameterSpec.class create mode 100644 libjava/classpath/lib/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/RSAOtherPrimeInfo.class create mode 100644 libjava/classpath/lib/java/security/spec/RSAPrivateCrtKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/RSAPrivateKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/RSAPublicKeySpec.class create mode 100644 libjava/classpath/lib/java/security/spec/X509EncodedKeySpec.class create mode 100644 libjava/classpath/lib/java/sql/Array.class create mode 100644 libjava/classpath/lib/java/sql/BatchUpdateException.class create mode 100644 libjava/classpath/lib/java/sql/Blob.class create mode 100644 libjava/classpath/lib/java/sql/CallableStatement.class create mode 100644 libjava/classpath/lib/java/sql/Clob.class create mode 100644 libjava/classpath/lib/java/sql/Connection.class create mode 100644 libjava/classpath/lib/java/sql/DataTruncation.class create mode 100644 libjava/classpath/lib/java/sql/DatabaseMetaData.class create mode 100644 libjava/classpath/lib/java/sql/Date.class create mode 100644 libjava/classpath/lib/java/sql/Driver.class create mode 100644 libjava/classpath/lib/java/sql/DriverManager.class create mode 100644 libjava/classpath/lib/java/sql/DriverPropertyInfo.class create mode 100644 libjava/classpath/lib/java/sql/ParameterMetaData.class create mode 100644 libjava/classpath/lib/java/sql/PreparedStatement.class create mode 100644 libjava/classpath/lib/java/sql/Ref.class create mode 100644 libjava/classpath/lib/java/sql/ResultSet.class create mode 100644 libjava/classpath/lib/java/sql/ResultSetMetaData.class create mode 100644 libjava/classpath/lib/java/sql/SQLData.class create mode 100644 libjava/classpath/lib/java/sql/SQLException.class create mode 100644 libjava/classpath/lib/java/sql/SQLInput.class create mode 100644 libjava/classpath/lib/java/sql/SQLOutput.class create mode 100644 libjava/classpath/lib/java/sql/SQLPermission.class create mode 100644 libjava/classpath/lib/java/sql/SQLWarning.class create mode 100644 libjava/classpath/lib/java/sql/Savepoint.class create mode 100644 libjava/classpath/lib/java/sql/Statement.class create mode 100644 libjava/classpath/lib/java/sql/Struct.class create mode 100644 libjava/classpath/lib/java/sql/Time.class create mode 100644 libjava/classpath/lib/java/sql/Timestamp.class create mode 100644 libjava/classpath/lib/java/sql/Types.class create mode 100644 libjava/classpath/lib/java/text/Annotation.class create mode 100644 libjava/classpath/lib/java/text/AttributedCharacterIterator$Attribute.class create mode 100644 libjava/classpath/lib/java/text/AttributedCharacterIterator.class create mode 100644 libjava/classpath/lib/java/text/AttributedString$AttributeRange.class create mode 100644 libjava/classpath/lib/java/text/AttributedString.class create mode 100644 libjava/classpath/lib/java/text/AttributedStringIterator.class create mode 100644 libjava/classpath/lib/java/text/Bidi.class create mode 100644 libjava/classpath/lib/java/text/BreakIterator.class create mode 100644 libjava/classpath/lib/java/text/CharacterIterator.class create mode 100644 libjava/classpath/lib/java/text/ChoiceFormat.class create mode 100644 libjava/classpath/lib/java/text/CollationElementIterator.class create mode 100644 libjava/classpath/lib/java/text/CollationKey.class create mode 100644 libjava/classpath/lib/java/text/Collator.class create mode 100644 libjava/classpath/lib/java/text/DateFormat$Field.class create mode 100644 libjava/classpath/lib/java/text/DateFormat.class create mode 100644 libjava/classpath/lib/java/text/DateFormatSymbols.class create mode 100644 libjava/classpath/lib/java/text/DecimalFormat.class create mode 100644 libjava/classpath/lib/java/text/DecimalFormatSymbols.class create mode 100644 libjava/classpath/lib/java/text/FieldPosition.class create mode 100644 libjava/classpath/lib/java/text/Format$Field.class create mode 100644 libjava/classpath/lib/java/text/Format.class create mode 100644 libjava/classpath/lib/java/text/MessageFormat$Field.class create mode 100644 libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class create mode 100644 libjava/classpath/lib/java/text/MessageFormat.class create mode 100644 libjava/classpath/lib/java/text/NumberFormat$Field.class create mode 100644 libjava/classpath/lib/java/text/NumberFormat.class create mode 100644 libjava/classpath/lib/java/text/ParseException.class create mode 100644 libjava/classpath/lib/java/text/ParsePosition.class create mode 100644 libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class create mode 100644 libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class create mode 100644 libjava/classpath/lib/java/text/RuleBasedCollator.class create mode 100644 libjava/classpath/lib/java/text/SimpleDateFormat$CompiledField.class create mode 100644 libjava/classpath/lib/java/text/SimpleDateFormat.class create mode 100644 libjava/classpath/lib/java/text/StringCharacterIterator.class create mode 100644 libjava/classpath/lib/java/util/AbstractCollection.class create mode 100644 libjava/classpath/lib/java/util/AbstractList$1.class create mode 100644 libjava/classpath/lib/java/util/AbstractList$2.class create mode 100644 libjava/classpath/lib/java/util/AbstractList$3.class create mode 100644 libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class create mode 100644 libjava/classpath/lib/java/util/AbstractList$SubList.class create mode 100644 libjava/classpath/lib/java/util/AbstractList.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap$1.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap$2.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap$3.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap$4.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class create mode 100644 libjava/classpath/lib/java/util/AbstractMap.class create mode 100644 libjava/classpath/lib/java/util/AbstractQueue.class create mode 100644 libjava/classpath/lib/java/util/AbstractSequentialList.class create mode 100644 libjava/classpath/lib/java/util/AbstractSet.class create mode 100644 libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class create mode 100644 libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class create mode 100644 libjava/classpath/lib/java/util/ArrayDeque.class create mode 100644 libjava/classpath/lib/java/util/ArrayList.class create mode 100644 libjava/classpath/lib/java/util/Arrays$ArrayList.class create mode 100644 libjava/classpath/lib/java/util/Arrays.class create mode 100644 libjava/classpath/lib/java/util/BitSet.class create mode 100644 libjava/classpath/lib/java/util/Calendar.class create mode 100644 libjava/classpath/lib/java/util/Collection.class create mode 100644 libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class create mode 100644 libjava/classpath/lib/java/util/Collections$1.class create mode 100644 libjava/classpath/lib/java/util/Collections$2.class create mode 100644 libjava/classpath/lib/java/util/Collections$3.class create mode 100644 libjava/classpath/lib/java/util/Collections$4.class create mode 100644 libjava/classpath/lib/java/util/Collections$5.class create mode 100644 libjava/classpath/lib/java/util/Collections$6.class create mode 100644 libjava/classpath/lib/java/util/Collections$7.class create mode 100644 libjava/classpath/lib/java/util/Collections$8.class create mode 100644 libjava/classpath/lib/java/util/Collections$9.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedCollection.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedIterator.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedList.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedListIterator.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedSet.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class create mode 100644 libjava/classpath/lib/java/util/Collections$CopiesList.class create mode 100644 libjava/classpath/lib/java/util/Collections$EmptyList.class create mode 100644 libjava/classpath/lib/java/util/Collections$EmptyMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$EmptySet.class create mode 100644 libjava/classpath/lib/java/util/Collections$ReverseComparator.class create mode 100644 libjava/classpath/lib/java/util/Collections$SingletonList.class create mode 100644 libjava/classpath/lib/java/util/Collections$SingletonMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$SingletonSet.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedList.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedSet.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableList.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class create mode 100644 libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class create mode 100644 libjava/classpath/lib/java/util/Collections.class create mode 100644 libjava/classpath/lib/java/util/Comparator.class create mode 100644 libjava/classpath/lib/java/util/ConcurrentModificationException.class create mode 100644 libjava/classpath/lib/java/util/Currency.class create mode 100644 libjava/classpath/lib/java/util/Date.class create mode 100644 libjava/classpath/lib/java/util/Deque.class create mode 100644 libjava/classpath/lib/java/util/Dictionary.class create mode 100644 libjava/classpath/lib/java/util/DuplicateFormatFlagsException.class create mode 100644 libjava/classpath/lib/java/util/EmptyStackException.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$1.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$2.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$3.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$4.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$5.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$6.class create mode 100644 libjava/classpath/lib/java/util/EnumMap$7.class create mode 100644 libjava/classpath/lib/java/util/EnumMap.class create mode 100644 libjava/classpath/lib/java/util/EnumSet$1.class create mode 100644 libjava/classpath/lib/java/util/EnumSet.class create mode 100644 libjava/classpath/lib/java/util/Enumeration.class create mode 100644 libjava/classpath/lib/java/util/EventListener.class create mode 100644 libjava/classpath/lib/java/util/EventListenerProxy.class create mode 100644 libjava/classpath/lib/java/util/EventObject.class create mode 100644 libjava/classpath/lib/java/util/FormatFlagsConversionMismatchException.class create mode 100644 libjava/classpath/lib/java/util/Formattable.class create mode 100644 libjava/classpath/lib/java/util/FormattableFlags.class create mode 100644 libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class create mode 100644 libjava/classpath/lib/java/util/Formatter.class create mode 100644 libjava/classpath/lib/java/util/FormatterClosedException.class create mode 100644 libjava/classpath/lib/java/util/GregorianCalendar.class create mode 100644 libjava/classpath/lib/java/util/HashMap$1.class create mode 100644 libjava/classpath/lib/java/util/HashMap$2.class create mode 100644 libjava/classpath/lib/java/util/HashMap$3.class create mode 100644 libjava/classpath/lib/java/util/HashMap$HashEntry.class create mode 100644 libjava/classpath/lib/java/util/HashMap$HashIterator.class create mode 100644 libjava/classpath/lib/java/util/HashMap.class create mode 100644 libjava/classpath/lib/java/util/HashSet.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$1.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$2.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$3.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$EntryIterator.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$HashEntry.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$KeyIterator.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class create mode 100644 libjava/classpath/lib/java/util/Hashtable$ValueIterator.class create mode 100644 libjava/classpath/lib/java/util/Hashtable.class create mode 100644 libjava/classpath/lib/java/util/IdentityHashMap$1.class create mode 100644 libjava/classpath/lib/java/util/IdentityHashMap$2.class create mode 100644 libjava/classpath/lib/java/util/IdentityHashMap$3.class create mode 100644 libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class create mode 100644 libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class create mode 100644 libjava/classpath/lib/java/util/IdentityHashMap.class create mode 100644 libjava/classpath/lib/java/util/IllegalFormatCodePointException.class create mode 100644 libjava/classpath/lib/java/util/IllegalFormatConversionException.class create mode 100644 libjava/classpath/lib/java/util/IllegalFormatException.class create mode 100644 libjava/classpath/lib/java/util/IllegalFormatFlagsException.class create mode 100644 libjava/classpath/lib/java/util/IllegalFormatPrecisionException.class create mode 100644 libjava/classpath/lib/java/util/IllegalFormatWidthException.class create mode 100644 libjava/classpath/lib/java/util/InputMismatchException.class create mode 100644 libjava/classpath/lib/java/util/InvalidPropertiesFormatException.class create mode 100644 libjava/classpath/lib/java/util/Iterator.class create mode 100644 libjava/classpath/lib/java/util/LinkedHashMap$1.class create mode 100644 libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class create mode 100644 libjava/classpath/lib/java/util/LinkedHashMap.class create mode 100644 libjava/classpath/lib/java/util/LinkedHashSet.class create mode 100644 libjava/classpath/lib/java/util/LinkedList$Entry.class create mode 100644 libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class create mode 100644 libjava/classpath/lib/java/util/LinkedList.class create mode 100644 libjava/classpath/lib/java/util/List.class create mode 100644 libjava/classpath/lib/java/util/ListIterator.class create mode 100644 libjava/classpath/lib/java/util/ListResourceBundle.class create mode 100644 libjava/classpath/lib/java/util/Locale.class create mode 100644 libjava/classpath/lib/java/util/Map$Entry.class create mode 100644 libjava/classpath/lib/java/util/Map.class create mode 100644 libjava/classpath/lib/java/util/MissingFormatArgumentException.class create mode 100644 libjava/classpath/lib/java/util/MissingFormatWidthException.class create mode 100644 libjava/classpath/lib/java/util/MissingResourceException.class create mode 100644 libjava/classpath/lib/java/util/NavigableMap.class create mode 100644 libjava/classpath/lib/java/util/NavigableSet.class create mode 100644 libjava/classpath/lib/java/util/NoSuchElementException.class create mode 100644 libjava/classpath/lib/java/util/Observable.class create mode 100644 libjava/classpath/lib/java/util/Observer.class create mode 100644 libjava/classpath/lib/java/util/PriorityQueue$1.class create mode 100644 libjava/classpath/lib/java/util/PriorityQueue.class create mode 100644 libjava/classpath/lib/java/util/Properties.class create mode 100644 libjava/classpath/lib/java/util/PropertyPermission.class create mode 100644 libjava/classpath/lib/java/util/PropertyPermissionCollection.class create mode 100644 libjava/classpath/lib/java/util/PropertyResourceBundle.class create mode 100644 libjava/classpath/lib/java/util/Queue.class create mode 100644 libjava/classpath/lib/java/util/Random.class create mode 100644 libjava/classpath/lib/java/util/RandomAccess.class create mode 100644 libjava/classpath/lib/java/util/ResourceBundle$1.class create mode 100644 libjava/classpath/lib/java/util/ResourceBundle$BundleKey.class create mode 100644 libjava/classpath/lib/java/util/ResourceBundle.class create mode 100644 libjava/classpath/lib/java/util/Set.class create mode 100644 libjava/classpath/lib/java/util/SimpleTimeZone.class create mode 100644 libjava/classpath/lib/java/util/SortedMap.class create mode 100644 libjava/classpath/lib/java/util/SortedSet.class create mode 100644 libjava/classpath/lib/java/util/Stack.class create mode 100644 libjava/classpath/lib/java/util/StringTokenizer.class create mode 100644 libjava/classpath/lib/java/util/TimeZone$1.class create mode 100644 libjava/classpath/lib/java/util/TimeZone.class create mode 100644 libjava/classpath/lib/java/util/Timer$Scheduler.class create mode 100644 libjava/classpath/lib/java/util/Timer$TaskQueue.class create mode 100644 libjava/classpath/lib/java/util/Timer.class create mode 100644 libjava/classpath/lib/java/util/TimerTask.class create mode 100644 libjava/classpath/lib/java/util/TooManyListenersException.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$1.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$2.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$3.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$4.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$5.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$6.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$Node.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$TreeIterator.class create mode 100644 libjava/classpath/lib/java/util/TreeMap.class create mode 100644 libjava/classpath/lib/java/util/TreeSet.class create mode 100644 libjava/classpath/lib/java/util/UUID.class create mode 100644 libjava/classpath/lib/java/util/UnknownFormatConversionException.class create mode 100644 libjava/classpath/lib/java/util/UnknownFormatFlagsException.class create mode 100644 libjava/classpath/lib/java/util/VMTimeZone.class create mode 100644 libjava/classpath/lib/java/util/Vector$1.class create mode 100644 libjava/classpath/lib/java/util/Vector.class create mode 100644 libjava/classpath/lib/java/util/WeakHashMap$1.class create mode 100644 libjava/classpath/lib/java/util/WeakHashMap$2.class create mode 100644 libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class create mode 100644 libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class create mode 100644 libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class create mode 100644 libjava/classpath/lib/java/util/WeakHashMap.class create mode 100644 libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/BlockingDeque.class create mode 100644 libjava/classpath/lib/java/util/concurrent/BlockingQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/BrokenBarrierException.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Callable.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CancellationException.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CompletionService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentMap.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentNavigableMap.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CopyOnWriteArraySet.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CountDownLatch$Sync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CountDownLatch.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CyclicBarrier$Generation.class create mode 100644 libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class create mode 100644 libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/DelayQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Delayed.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Exchanger.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ExecutionException.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executor.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ExecutorService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$1.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$2.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$3.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$4.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$5.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$6.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$DefaultThreadFactory.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$DelegatedExecutorService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Executors.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Future.class create mode 100644 libjava/classpath/lib/java/util/concurrent/FutureTask$Sync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/FutureTask.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class create mode 100644 libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/RejectedExecutionException.class create mode 100644 libjava/classpath/lib/java/util/concurrent/RejectedExecutionHandler.class create mode 100644 libjava/classpath/lib/java/util/concurrent/RunnableFuture.class create mode 100644 libjava/classpath/lib/java/util/concurrent/RunnableScheduledFuture.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ScheduledExecutorService.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ScheduledFuture.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Semaphore$Sync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/Semaphore.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$Transferer.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue$WaitQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadFactory.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$Worker.class create mode 100644 libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeUnit.class create mode 100644 libjava/classpath/lib/java/util/concurrent/TimeoutException.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicBoolean.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicInteger.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerArray.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicLong.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongArray.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicReference.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceArray.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class create mode 100644 libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractOwnableSynchronizer.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/Condition.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/Lock.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/LockSupport.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReadWriteLock.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class create mode 100644 libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class create mode 100644 libjava/classpath/lib/java/util/jar/Attributes$Name.class create mode 100644 libjava/classpath/lib/java/util/jar/Attributes.class create mode 100644 libjava/classpath/lib/java/util/jar/JarEntry.class create mode 100644 libjava/classpath/lib/java/util/jar/JarException.class create mode 100644 libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class create mode 100644 libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class create mode 100644 libjava/classpath/lib/java/util/jar/JarFile.class create mode 100644 libjava/classpath/lib/java/util/jar/JarInputStream.class create mode 100644 libjava/classpath/lib/java/util/jar/JarOutputStream.class create mode 100644 libjava/classpath/lib/java/util/jar/Manifest.class create mode 100644 libjava/classpath/lib/java/util/logging/ConsoleHandler.class create mode 100644 libjava/classpath/lib/java/util/logging/ErrorManager.class create mode 100644 libjava/classpath/lib/java/util/logging/FileHandler$ostr.class create mode 100644 libjava/classpath/lib/java/util/logging/FileHandler.class create mode 100644 libjava/classpath/lib/java/util/logging/Filter.class create mode 100644 libjava/classpath/lib/java/util/logging/Formatter.class create mode 100644 libjava/classpath/lib/java/util/logging/Handler.class create mode 100644 libjava/classpath/lib/java/util/logging/Level.class create mode 100644 libjava/classpath/lib/java/util/logging/LogManager$1.class create mode 100644 libjava/classpath/lib/java/util/logging/LogManager.class create mode 100644 libjava/classpath/lib/java/util/logging/LogRecord.class create mode 100644 libjava/classpath/lib/java/util/logging/Logger$1.class create mode 100644 libjava/classpath/lib/java/util/logging/Logger.class create mode 100644 libjava/classpath/lib/java/util/logging/LoggingMXBean.class create mode 100644 libjava/classpath/lib/java/util/logging/LoggingPermission.class create mode 100644 libjava/classpath/lib/java/util/logging/MemoryHandler.class create mode 100644 libjava/classpath/lib/java/util/logging/SimpleFormatter.class create mode 100644 libjava/classpath/lib/java/util/logging/SocketHandler.class create mode 100644 libjava/classpath/lib/java/util/logging/StreamHandler.class create mode 100644 libjava/classpath/lib/java/util/logging/XMLFormatter.class create mode 100644 libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class create mode 100644 libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class create mode 100644 libjava/classpath/lib/java/util/prefs/AbstractPreferences.class create mode 100644 libjava/classpath/lib/java/util/prefs/BackingStoreException.class create mode 100644 libjava/classpath/lib/java/util/prefs/InvalidPreferencesFormatException.class create mode 100644 libjava/classpath/lib/java/util/prefs/NodeChangeEvent.class create mode 100644 libjava/classpath/lib/java/util/prefs/NodeChangeListener.class create mode 100644 libjava/classpath/lib/java/util/prefs/PreferenceChangeEvent.class create mode 100644 libjava/classpath/lib/java/util/prefs/PreferenceChangeListener.class create mode 100644 libjava/classpath/lib/java/util/prefs/Preferences$1.class create mode 100644 libjava/classpath/lib/java/util/prefs/Preferences.class create mode 100644 libjava/classpath/lib/java/util/prefs/PreferencesFactory.class create mode 100644 libjava/classpath/lib/java/util/regex/MatchResult.class create mode 100644 libjava/classpath/lib/java/util/regex/Matcher.class create mode 100644 libjava/classpath/lib/java/util/regex/Pattern.class create mode 100644 libjava/classpath/lib/java/util/regex/PatternSyntaxException.class create mode 100644 libjava/classpath/lib/java/util/zip/Adler32.class create mode 100644 libjava/classpath/lib/java/util/zip/CRC32.class create mode 100644 libjava/classpath/lib/java/util/zip/CheckedInputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/CheckedOutputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/Checksum.class create mode 100644 libjava/classpath/lib/java/util/zip/DataFormatException.class create mode 100644 libjava/classpath/lib/java/util/zip/Deflater.class create mode 100644 libjava/classpath/lib/java/util/zip/DeflaterOutputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/GZIPInputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/GZIPOutputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/Inflater.class create mode 100644 libjava/classpath/lib/java/util/zip/InflaterInputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipConstants.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipEntry.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipException.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipFile$1.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipFile$PartialInputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipFile.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipInputStream.class create mode 100644 libjava/classpath/lib/java/util/zip/ZipOutputStream.class create mode 100644 libjava/classpath/lib/javax/accessibility/Accessible.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleAction.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleAttributeSequence.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleBundle.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleComponent.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleContext.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleEditableText.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleExtendedComponent.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleExtendedTable.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleExtendedText.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleHyperlink.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleHypertext.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleIcon.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleKeyBinding.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleRelation.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleRelationSet.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleResourceBundle.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleRole.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleSelection.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleState.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleStateSet.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleStreamable.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleTable.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleTableModelChange.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleText.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleTextSequence.class create mode 100644 libjava/classpath/lib/javax/accessibility/AccessibleValue.class create mode 100644 libjava/classpath/lib/javax/crypto/BadPaddingException.class create mode 100644 libjava/classpath/lib/javax/crypto/Cipher.class create mode 100644 libjava/classpath/lib/javax/crypto/CipherInputStream.class create mode 100644 libjava/classpath/lib/javax/crypto/CipherOutputStream.class create mode 100644 libjava/classpath/lib/javax/crypto/CipherSpi.class create mode 100644 libjava/classpath/lib/javax/crypto/EncryptedPrivateKeyInfo.class create mode 100644 libjava/classpath/lib/javax/crypto/ExemptionMechanism.class create mode 100644 libjava/classpath/lib/javax/crypto/ExemptionMechanismException.class create mode 100644 libjava/classpath/lib/javax/crypto/ExemptionMechanismSpi.class create mode 100644 libjava/classpath/lib/javax/crypto/IllegalBlockSizeException.class create mode 100644 libjava/classpath/lib/javax/crypto/KeyAgreement.class create mode 100644 libjava/classpath/lib/javax/crypto/KeyAgreementSpi.class create mode 100644 libjava/classpath/lib/javax/crypto/KeyGenerator.class create mode 100644 libjava/classpath/lib/javax/crypto/KeyGeneratorSpi.class create mode 100644 libjava/classpath/lib/javax/crypto/Mac.class create mode 100644 libjava/classpath/lib/javax/crypto/MacSpi.class create mode 100644 libjava/classpath/lib/javax/crypto/NoSuchPaddingException.class create mode 100644 libjava/classpath/lib/javax/crypto/NullCipher.class create mode 100644 libjava/classpath/lib/javax/crypto/NullCipherImpl.class create mode 100644 libjava/classpath/lib/javax/crypto/SealedObject.class create mode 100644 libjava/classpath/lib/javax/crypto/SecretKey.class create mode 100644 libjava/classpath/lib/javax/crypto/SecretKeyFactory.class create mode 100644 libjava/classpath/lib/javax/crypto/SecretKeyFactorySpi.class create mode 100644 libjava/classpath/lib/javax/crypto/ShortBufferException.class create mode 100644 libjava/classpath/lib/javax/crypto/interfaces/DHKey.class create mode 100644 libjava/classpath/lib/javax/crypto/interfaces/DHPrivateKey.class create mode 100644 libjava/classpath/lib/javax/crypto/interfaces/DHPublicKey.class create mode 100644 libjava/classpath/lib/javax/crypto/interfaces/PBEKey.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/DESKeySpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/DESedeKeySpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/DHGenParameterSpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/DHParameterSpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/DHPrivateKeySpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/DHPublicKeySpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/IvParameterSpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/PBEKeySpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/PBEParameterSpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/RC2ParameterSpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/RC5ParameterSpec.class create mode 100644 libjava/classpath/lib/javax/crypto/spec/SecretKeySpec.class create mode 100644 libjava/classpath/lib/javax/imageio/IIOException.class create mode 100644 libjava/classpath/lib/javax/imageio/IIOImage.class create mode 100644 libjava/classpath/lib/javax/imageio/IIOParam.class create mode 100644 libjava/classpath/lib/javax/imageio/IIOParamController.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$1.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageIO.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageReadParam.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageReader.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageTranscoder.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageTypeSpecifier.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageWriteParam.class create mode 100644 libjava/classpath/lib/javax/imageio/ImageWriter.class create mode 100644 libjava/classpath/lib/javax/imageio/event/IIOReadProgressListener.class create mode 100644 libjava/classpath/lib/javax/imageio/event/IIOReadUpdateListener.class create mode 100644 libjava/classpath/lib/javax/imageio/event/IIOReadWarningListener.class create mode 100644 libjava/classpath/lib/javax/imageio/event/IIOWriteProgressListener.class create mode 100644 libjava/classpath/lib/javax/imageio/event/IIOWriteWarningListener.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOInvalidTreeException.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadata.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataController.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormat.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONodeList.class create mode 100644 libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class create mode 100644 libjava/classpath/lib/javax/imageio/plugins/bmp/BMPImageWriteParam.class create mode 100644 libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGHuffmanTable.class create mode 100644 libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageReadParam.class create mode 100644 libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageWriteParam.class create mode 100644 libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGQTable.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/IIORegistry.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/IIOServiceProvider.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ImageInputStreamSpi.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ImageOutputStreamSpi.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ImageReaderSpi.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ImageReaderWriterSpi.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ImageTranscoderSpi.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ImageWriterSpi.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/RegisterableService.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$Filter.class create mode 100644 libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/FileCacheImageInputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/FileImageInputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/FileImageOutputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/IIOByteBuffer.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/ImageInputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/ImageInputStreamImpl.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/ImageOutputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageInputStream.class create mode 100644 libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageOutputStream.class create mode 100644 libjava/classpath/lib/javax/management/Attribute.class create mode 100644 libjava/classpath/lib/javax/management/AttributeList.class create mode 100644 libjava/classpath/lib/javax/management/AttributeNotFoundException.class create mode 100644 libjava/classpath/lib/javax/management/BadAttributeValueExpException.class create mode 100644 libjava/classpath/lib/javax/management/BadBinaryOpValueExpException.class create mode 100644 libjava/classpath/lib/javax/management/BadStringOperationException.class create mode 100644 libjava/classpath/lib/javax/management/DynamicMBean.class create mode 100644 libjava/classpath/lib/javax/management/InstanceAlreadyExistsException.class create mode 100644 libjava/classpath/lib/javax/management/InstanceNotFoundException.class create mode 100644 libjava/classpath/lib/javax/management/IntrospectionException.class create mode 100644 libjava/classpath/lib/javax/management/InvalidApplicationException.class create mode 100644 libjava/classpath/lib/javax/management/InvalidAttributeValueException.class create mode 100644 libjava/classpath/lib/javax/management/JMException.class create mode 100644 libjava/classpath/lib/javax/management/JMRuntimeException.class create mode 100644 libjava/classpath/lib/javax/management/ListenerNotFoundException.class create mode 100644 libjava/classpath/lib/javax/management/MBeanAttributeInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanConstructorInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanException.class create mode 100644 libjava/classpath/lib/javax/management/MBeanFeatureInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanNotificationInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanOperationInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanParameterInfo.class create mode 100644 libjava/classpath/lib/javax/management/MBeanPermission$NameHolder.class create mode 100644 libjava/classpath/lib/javax/management/MBeanPermission.class create mode 100644 libjava/classpath/lib/javax/management/MBeanRegistration.class create mode 100644 libjava/classpath/lib/javax/management/MBeanRegistrationException.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServer.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerBuilder.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerConnection.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerDelegate.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerDelegateMBean.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerFactory.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerNotification.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerPermission.class create mode 100644 libjava/classpath/lib/javax/management/MBeanTrustPermission.class create mode 100644 libjava/classpath/lib/javax/management/MalformedObjectNameException.class create mode 100644 libjava/classpath/lib/javax/management/NotCompliantMBeanException.class create mode 100644 libjava/classpath/lib/javax/management/Notification.class create mode 100644 libjava/classpath/lib/javax/management/NotificationBroadcaster.class create mode 100644 libjava/classpath/lib/javax/management/NotificationEmitter.class create mode 100644 libjava/classpath/lib/javax/management/NotificationFilter.class create mode 100644 libjava/classpath/lib/javax/management/NotificationListener.class create mode 100644 libjava/classpath/lib/javax/management/ObjectInstance.class create mode 100644 libjava/classpath/lib/javax/management/ObjectName.class create mode 100644 libjava/classpath/lib/javax/management/OperationsException.class create mode 100644 libjava/classpath/lib/javax/management/QueryExp.class create mode 100644 libjava/classpath/lib/javax/management/ReflectionException.class create mode 100644 libjava/classpath/lib/javax/management/RuntimeErrorException.class create mode 100644 libjava/classpath/lib/javax/management/RuntimeMBeanException.class create mode 100644 libjava/classpath/lib/javax/management/RuntimeOperationsException.class create mode 100644 libjava/classpath/lib/javax/management/ServiceNotFoundException.class create mode 100644 libjava/classpath/lib/javax/management/StandardMBean.class create mode 100644 libjava/classpath/lib/javax/management/ValueExp.class create mode 100644 libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/ArrayType.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/CompositeData.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/CompositeType.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/InvalidKeyException.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/InvalidOpenTypeException.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/KeyAlreadyExistsException.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenDataException.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfo.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfo.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfo.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/OpenType.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/SimpleType.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/TabularData.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/TabularType.class create mode 100644 libjava/classpath/lib/javax/naming/AuthenticationException.class create mode 100644 libjava/classpath/lib/javax/naming/AuthenticationNotSupportedException.class create mode 100644 libjava/classpath/lib/javax/naming/BinaryRefAddr.class create mode 100644 libjava/classpath/lib/javax/naming/Binding.class create mode 100644 libjava/classpath/lib/javax/naming/CannotProceedException.class create mode 100644 libjava/classpath/lib/javax/naming/CommunicationException.class create mode 100644 libjava/classpath/lib/javax/naming/CompositeName.class create mode 100644 libjava/classpath/lib/javax/naming/CompoundName.class create mode 100644 libjava/classpath/lib/javax/naming/ConfigurationException.class create mode 100644 libjava/classpath/lib/javax/naming/Context.class create mode 100644 libjava/classpath/lib/javax/naming/ContextNotEmptyException.class create mode 100644 libjava/classpath/lib/javax/naming/InitialContext.class create mode 100644 libjava/classpath/lib/javax/naming/InsufficientResourcesException.class create mode 100644 libjava/classpath/lib/javax/naming/InterruptedNamingException.class create mode 100644 libjava/classpath/lib/javax/naming/InvalidNameException.class create mode 100644 libjava/classpath/lib/javax/naming/LimitExceededException.class create mode 100644 libjava/classpath/lib/javax/naming/LinkException.class create mode 100644 libjava/classpath/lib/javax/naming/LinkLoopException.class create mode 100644 libjava/classpath/lib/javax/naming/LinkRef.class create mode 100644 libjava/classpath/lib/javax/naming/MalformedLinkException.class create mode 100644 libjava/classpath/lib/javax/naming/Name.class create mode 100644 libjava/classpath/lib/javax/naming/NameAlreadyBoundException.class create mode 100644 libjava/classpath/lib/javax/naming/NameClassPair.class create mode 100644 libjava/classpath/lib/javax/naming/NameNotFoundException.class create mode 100644 libjava/classpath/lib/javax/naming/NameParser.class create mode 100644 libjava/classpath/lib/javax/naming/NamingEnumeration.class create mode 100644 libjava/classpath/lib/javax/naming/NamingException.class create mode 100644 libjava/classpath/lib/javax/naming/NamingSecurityException.class create mode 100644 libjava/classpath/lib/javax/naming/NoInitialContextException.class create mode 100644 libjava/classpath/lib/javax/naming/NoPermissionException.class create mode 100644 libjava/classpath/lib/javax/naming/NotContextException.class create mode 100644 libjava/classpath/lib/javax/naming/OperationNotSupportedException.class create mode 100644 libjava/classpath/lib/javax/naming/PartialResultException.class create mode 100644 libjava/classpath/lib/javax/naming/RefAddr.class create mode 100644 libjava/classpath/lib/javax/naming/Reference.class create mode 100644 libjava/classpath/lib/javax/naming/Referenceable.class create mode 100644 libjava/classpath/lib/javax/naming/ReferralException.class create mode 100644 libjava/classpath/lib/javax/naming/ServiceUnavailableException.class create mode 100644 libjava/classpath/lib/javax/naming/SizeLimitExceededException.class create mode 100644 libjava/classpath/lib/javax/naming/StringRefAddr.class create mode 100644 libjava/classpath/lib/javax/naming/TimeLimitExceededException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/Attribute.class create mode 100644 libjava/classpath/lib/javax/naming/directory/AttributeInUseException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/AttributeModificationException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/Attributes.class create mode 100644 libjava/classpath/lib/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.class create mode 100644 libjava/classpath/lib/javax/naming/directory/BasicAttribute.class create mode 100644 libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class create mode 100644 libjava/classpath/lib/javax/naming/directory/BasicAttributes.class create mode 100644 libjava/classpath/lib/javax/naming/directory/DirContext.class create mode 100644 libjava/classpath/lib/javax/naming/directory/InitialDirContext.class create mode 100644 libjava/classpath/lib/javax/naming/directory/InvalidAttributeIdentifierException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/InvalidAttributeValueException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/InvalidAttributesException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/InvalidSearchControlsException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/InvalidSearchFilterException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/ModificationItem.class create mode 100644 libjava/classpath/lib/javax/naming/directory/NoSuchAttributeException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/SchemaViolationException.class create mode 100644 libjava/classpath/lib/javax/naming/directory/SearchControls.class create mode 100644 libjava/classpath/lib/javax/naming/directory/SearchResult.class create mode 100644 libjava/classpath/lib/javax/naming/event/EventContext.class create mode 100644 libjava/classpath/lib/javax/naming/event/EventDirContext.class create mode 100644 libjava/classpath/lib/javax/naming/event/NamespaceChangeListener.class create mode 100644 libjava/classpath/lib/javax/naming/event/NamingEvent.class create mode 100644 libjava/classpath/lib/javax/naming/event/NamingExceptionEvent.class create mode 100644 libjava/classpath/lib/javax/naming/event/NamingListener.class create mode 100644 libjava/classpath/lib/javax/naming/event/ObjectChangeListener.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/Control.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/ControlFactory.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/ExtendedRequest.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/ExtendedResponse.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/HasControls.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/LdapContext.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/LdapReferralException.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/StartTlsRequest.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/StartTlsResponse.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotification.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationEvent.class create mode 100644 libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationListener.class create mode 100644 libjava/classpath/lib/javax/naming/spi/DirObjectFactory.class create mode 100644 libjava/classpath/lib/javax/naming/spi/DirStateFactory$Result.class create mode 100644 libjava/classpath/lib/javax/naming/spi/DirStateFactory.class create mode 100644 libjava/classpath/lib/javax/naming/spi/DirectoryManager.class create mode 100644 libjava/classpath/lib/javax/naming/spi/InitialContextFactory.class create mode 100644 libjava/classpath/lib/javax/naming/spi/InitialContextFactoryBuilder.class create mode 100644 libjava/classpath/lib/javax/naming/spi/NamingManager.class create mode 100644 libjava/classpath/lib/javax/naming/spi/ObjectFactory.class create mode 100644 libjava/classpath/lib/javax/naming/spi/ObjectFactoryBuilder.class create mode 100644 libjava/classpath/lib/javax/naming/spi/ResolveResult.class create mode 100644 libjava/classpath/lib/javax/naming/spi/Resolver.class create mode 100644 libjava/classpath/lib/javax/naming/spi/StateFactory.class create mode 100644 libjava/classpath/lib/javax/net/ServerSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/SocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/VanillaServerSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/VanillaSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/CertPathTrustManagerParameters.class create mode 100644 libjava/classpath/lib/javax/net/ssl/HandshakeCompletedEvent.class create mode 100644 libjava/classpath/lib/javax/net/ssl/HandshakeCompletedListener.class create mode 100644 libjava/classpath/lib/javax/net/ssl/HostnameVerifier.class create mode 100644 libjava/classpath/lib/javax/net/ssl/HttpsURLConnection.class create mode 100644 libjava/classpath/lib/javax/net/ssl/KeyManager.class create mode 100644 libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class create mode 100644 libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/KeyManagerFactorySpi.class create mode 100644 libjava/classpath/lib/javax/net/ssl/KeyStoreBuilderParameters.class create mode 100644 libjava/classpath/lib/javax/net/ssl/ManagerFactoryParameters.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLContext.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLContextSpi.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLEngine.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLException.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLHandshakeException.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLKeyException.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLPeerUnverifiedException.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLPermission.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLProtocolException.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLServerSocket.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSession.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSessionBindingEvent.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSessionBindingListener.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSessionContext.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSocket.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/TrivialHostnameVerifier.class create mode 100644 libjava/classpath/lib/javax/net/ssl/TrustManager.class create mode 100644 libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class create mode 100644 libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/TrustManagerFactorySpi.class create mode 100644 libjava/classpath/lib/javax/net/ssl/X509ExtendedKeyManager.class create mode 100644 libjava/classpath/lib/javax/net/ssl/X509KeyManager.class create mode 100644 libjava/classpath/lib/javax/net/ssl/X509TrustManager.class create mode 100644 libjava/classpath/lib/javax/print/AttributeException.class create mode 100644 libjava/classpath/lib/javax/print/CancelablePrintJob.class create mode 100644 libjava/classpath/lib/javax/print/Doc.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$BYTE_ARRAY.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$CHAR_ARRAY.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$INPUT_STREAM.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$READER.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$SERVICE_FORMATTED.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$STRING.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor$URL.class create mode 100644 libjava/classpath/lib/javax/print/DocFlavor.class create mode 100644 libjava/classpath/lib/javax/print/DocPrintJob.class create mode 100644 libjava/classpath/lib/javax/print/FlavorException.class create mode 100644 libjava/classpath/lib/javax/print/MultiDoc.class create mode 100644 libjava/classpath/lib/javax/print/MultiDocPrintJob.class create mode 100644 libjava/classpath/lib/javax/print/MultiDocPrintService.class create mode 100644 libjava/classpath/lib/javax/print/PrintException.class create mode 100644 libjava/classpath/lib/javax/print/PrintService.class create mode 100644 libjava/classpath/lib/javax/print/PrintServiceLookup.class create mode 100644 libjava/classpath/lib/javax/print/ServiceUI.class create mode 100644 libjava/classpath/lib/javax/print/ServiceUIFactory.class create mode 100644 libjava/classpath/lib/javax/print/SimpleDoc.class create mode 100644 libjava/classpath/lib/javax/print/StreamPrintService.class create mode 100644 libjava/classpath/lib/javax/print/StreamPrintServiceFactory.class create mode 100644 libjava/classpath/lib/javax/print/URIException.class create mode 100644 libjava/classpath/lib/javax/print/attribute/Attribute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class create mode 100644 libjava/classpath/lib/javax/print/attribute/DateTimeSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/DocAttribute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/DocAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/EnumSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/HashAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/HashDocAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/HashPrintJobAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/HashPrintRequestAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/HashPrintServiceAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/IntegerSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/PrintJobAttribute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/PrintJobAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/PrintRequestAttribute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/PrintRequestAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/PrintServiceAttribute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/PrintServiceAttributeSet.class create mode 100644 libjava/classpath/lib/javax/print/attribute/ResolutionSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class create mode 100644 libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/Size2DSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/SupportedValuesAttribute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/TextSyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/URISyntax.class create mode 100644 libjava/classpath/lib/javax/print/attribute/UnmodifiableSetException.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Chromaticity.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/ColorSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Compression.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Copies.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/CopiesSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCompleted.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCreation.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtProcessing.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Destination.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/DocumentName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Fidelity.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Finishings.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobHoldUntil.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobImpressions.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsCompleted.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobKOctets.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsProcessed.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheets.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsCompleted.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobMessageFromOperator.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobOriginatingUserName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobPriority.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobPrioritySupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobSheets.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobState.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobStateReason.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/JobStateReasons.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Media.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaPrintableArea.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Engineering.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSize$ISO.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSize$JIS.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSize$NA.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Other.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaSizeName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MediaTray.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/MultipleDocumentHandling.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/NumberOfDocuments.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/NumberOfInterveningJobs.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/NumberUp.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/NumberUpSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/OrientationRequested.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/OutputDeviceAssigned.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PDLOverrideSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PageRanges.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinute.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinuteColor.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PresentationDirection.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrintQuality.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterInfo.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterIsAcceptingJobs.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterLocation.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterMakeAndModel.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterMessageFromOperator.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfo.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfoManufacturer.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterResolution.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterState.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReason.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/PrinterURI.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/QueuedJobCount.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/ReferenceUriSchemesSupported.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/RequestingUserName.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Severity.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/SheetCollate.class create mode 100644 libjava/classpath/lib/javax/print/attribute/standard/Sides.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintEvent.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintJobAdapter.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintJobAttributeEvent.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintJobAttributeListener.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintJobEvent.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintJobListener.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintServiceAttributeEvent.class create mode 100644 libjava/classpath/lib/javax/print/event/PrintServiceAttributeListener.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/ClassDesc.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/PortableRemoteObjectDelegate.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/Stub.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/StubDelegate.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/Tie.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/Util.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/UtilDelegate.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/ValueHandler.class create mode 100644 libjava/classpath/lib/javax/rmi/CORBA/ValueHandlerMultiFormat.class create mode 100644 libjava/classpath/lib/javax/rmi/PortableRemoteObject.class create mode 100644 libjava/classpath/lib/javax/rmi/ssl/SslRMIClientSocketFactory.class create mode 100644 libjava/classpath/lib/javax/rmi/ssl/SslRMIServerSocketFactory.class create mode 100644 libjava/classpath/lib/javax/security/auth/AuthPermission.class create mode 100644 libjava/classpath/lib/javax/security/auth/DestroyFailedException.class create mode 100644 libjava/classpath/lib/javax/security/auth/Destroyable.class create mode 100644 libjava/classpath/lib/javax/security/auth/Policy.class create mode 100644 libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission$CredOwner.class create mode 100644 libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission.class create mode 100644 libjava/classpath/lib/javax/security/auth/RefreshFailedException.class create mode 100644 libjava/classpath/lib/javax/security/auth/Refreshable.class create mode 100644 libjava/classpath/lib/javax/security/auth/Subject$SecureSet.class create mode 100644 libjava/classpath/lib/javax/security/auth/Subject.class create mode 100644 libjava/classpath/lib/javax/security/auth/SubjectDomainCombiner.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/Callback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/CallbackHandler.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/ChoiceCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/ConfirmationCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/LanguageCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/NameCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/PasswordCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/TextInputCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/TextOutputCallback.class create mode 100644 libjava/classpath/lib/javax/security/auth/callback/UnsupportedCallbackException.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/KerberosKey.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/KerberosPrincipal.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class create mode 100644 libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/AccountException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/AccountExpiredException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/AccountLockedException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/AccountNotFoundException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/Configuration$1.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/Configuration.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/CredentialException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/CredentialExpiredException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/CredentialNotFoundException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/FailedLoginException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/LoginContext.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/LoginException.class create mode 100644 libjava/classpath/lib/javax/security/auth/login/NullConfiguration.class create mode 100644 libjava/classpath/lib/javax/security/auth/spi/LoginModule.class create mode 100644 libjava/classpath/lib/javax/security/auth/x500/X500Principal.class create mode 100644 libjava/classpath/lib/javax/security/auth/x500/X500PrivateCredential.class create mode 100644 libjava/classpath/lib/javax/security/cert/Certificate.class create mode 100644 libjava/classpath/lib/javax/security/cert/CertificateEncodingException.class create mode 100644 libjava/classpath/lib/javax/security/cert/CertificateException.class create mode 100644 libjava/classpath/lib/javax/security/cert/CertificateExpiredException.class create mode 100644 libjava/classpath/lib/javax/security/cert/CertificateNotYetValidException.class create mode 100644 libjava/classpath/lib/javax/security/cert/CertificateParsingException.class create mode 100644 libjava/classpath/lib/javax/security/cert/X509CertBridge.class create mode 100644 libjava/classpath/lib/javax/security/cert/X509Certificate.class create mode 100644 libjava/classpath/lib/javax/security/sasl/AuthenticationException.class create mode 100644 libjava/classpath/lib/javax/security/sasl/AuthorizeCallback.class create mode 100644 libjava/classpath/lib/javax/security/sasl/RealmCallback.class create mode 100644 libjava/classpath/lib/javax/security/sasl/RealmChoiceCallback.class create mode 100644 libjava/classpath/lib/javax/security/sasl/Sasl.class create mode 100644 libjava/classpath/lib/javax/security/sasl/SaslClient.class create mode 100644 libjava/classpath/lib/javax/security/sasl/SaslClientFactory.class create mode 100644 libjava/classpath/lib/javax/security/sasl/SaslException.class create mode 100644 libjava/classpath/lib/javax/security/sasl/SaslServer.class create mode 100644 libjava/classpath/lib/javax/security/sasl/SaslServerFactory.class create mode 100644 libjava/classpath/lib/javax/sound/midi/ControllerEventListener.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Instrument.class create mode 100644 libjava/classpath/lib/javax/sound/midi/InvalidMidiDataException.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MetaEventListener.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MetaMessage.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiChannel.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiDevice.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiEvent.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiFileFormat.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiMessage.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiSystem.class create mode 100644 libjava/classpath/lib/javax/sound/midi/MidiUnavailableException.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Patch.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Receiver.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Sequence.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Sequencer$SyncMode.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Sequencer.class create mode 100644 libjava/classpath/lib/javax/sound/midi/ShortMessage.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Soundbank.class create mode 100644 libjava/classpath/lib/javax/sound/midi/SoundbankResource.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Synthesizer.class create mode 100644 libjava/classpath/lib/javax/sound/midi/SysexMessage.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Track.class create mode 100644 libjava/classpath/lib/javax/sound/midi/Transmitter.class create mode 100644 libjava/classpath/lib/javax/sound/midi/VoiceStatus.class create mode 100644 libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class create mode 100644 libjava/classpath/lib/javax/sound/midi/spi/MidiFileReader.class create mode 100644 libjava/classpath/lib/javax/sound/midi/spi/MidiFileWriter.class create mode 100644 libjava/classpath/lib/javax/sound/midi/spi/SoundbankReader.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioFileFormat$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioFormat$Encoding.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioFormat.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioInputStream$TargetInputStream.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioInputStream.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioPermission.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/AudioSystem.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/BooleanControl.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Clip.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/CompoundControl.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Control$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Control.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/DataLine.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/EnumControl.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/FloatControl.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Line$Info.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Line.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/LineEvent$Type.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/LineEvent.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/LineListener.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/LineUnavailableException.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Mixer$Info.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Mixer.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Port$Info.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/Port.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/ReverbType.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/SourceDataLine.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/TargetDataLine.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/UnsupportedAudioFileException.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/spi/AudioFileReader.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class create mode 100644 libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class create mode 100644 libjava/classpath/lib/javax/sql/ConnectionEvent.class create mode 100644 libjava/classpath/lib/javax/sql/ConnectionEventListener.class create mode 100644 libjava/classpath/lib/javax/sql/ConnectionPoolDataSource.class create mode 100644 libjava/classpath/lib/javax/sql/DataSource.class create mode 100644 libjava/classpath/lib/javax/sql/PooledConnection.class create mode 100644 libjava/classpath/lib/javax/sql/RowSet.class create mode 100644 libjava/classpath/lib/javax/sql/RowSetEvent.class create mode 100644 libjava/classpath/lib/javax/sql/RowSetInternal.class create mode 100644 libjava/classpath/lib/javax/sql/RowSetListener.class create mode 100644 libjava/classpath/lib/javax/sql/RowSetMetaData.class create mode 100644 libjava/classpath/lib/javax/sql/RowSetReader.class create mode 100644 libjava/classpath/lib/javax/sql/RowSetWriter.class create mode 100644 libjava/classpath/lib/javax/sql/XAConnection.class create mode 100644 libjava/classpath/lib/javax/sql/XADataSource.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractAction.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractButton$1.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractButton$EventHandler.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractButton.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractCellEditor.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractListModel.class create mode 100644 libjava/classpath/lib/javax/swing/AbstractSpinnerModel.class create mode 100644 libjava/classpath/lib/javax/swing/Action.class create mode 100644 libjava/classpath/lib/javax/swing/ActionMap.class create mode 100644 libjava/classpath/lib/javax/swing/BorderFactory.class create mode 100644 libjava/classpath/lib/javax/swing/BoundedRangeModel.class create mode 100644 libjava/classpath/lib/javax/swing/Box$AccessibleBox.class create mode 100644 libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class create mode 100644 libjava/classpath/lib/javax/swing/Box$Filler.class create mode 100644 libjava/classpath/lib/javax/swing/Box.class create mode 100644 libjava/classpath/lib/javax/swing/BoxLayout.class create mode 100644 libjava/classpath/lib/javax/swing/ButtonGroup.class create mode 100644 libjava/classpath/lib/javax/swing/ButtonModel.class create mode 100644 libjava/classpath/lib/javax/swing/CellEditor.class create mode 100644 libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class create mode 100644 libjava/classpath/lib/javax/swing/CellRendererPane.class create mode 100644 libjava/classpath/lib/javax/swing/ComboBoxEditor.class create mode 100644 libjava/classpath/lib/javax/swing/ComboBoxModel.class create mode 100644 libjava/classpath/lib/javax/swing/CompatibilityFocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/javax/swing/ComponentInputMap.class create mode 100644 libjava/classpath/lib/javax/swing/DebugGraphics.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultBoundedRangeModel.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultButtonModel.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultCellEditor$EditorDelegate.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultCellEditor.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultDesktopManager.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultFocusManager.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultListCellRenderer$UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultListCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultListModel.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultListSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/DefaultSingleSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/DesktopManager.class create mode 100644 libjava/classpath/lib/javax/swing/FocusManager$WrappingFocusManager.class create mode 100644 libjava/classpath/lib/javax/swing/FocusManager.class create mode 100644 libjava/classpath/lib/javax/swing/GrayFilter.class create mode 100644 libjava/classpath/lib/javax/swing/Icon.class create mode 100644 libjava/classpath/lib/javax/swing/ImageIcon$1.class create mode 100644 libjava/classpath/lib/javax/swing/ImageIcon$AccessibleImageIcon.class create mode 100644 libjava/classpath/lib/javax/swing/ImageIcon.class create mode 100644 libjava/classpath/lib/javax/swing/InputMap.class create mode 100644 libjava/classpath/lib/javax/swing/InputVerifier.class create mode 100644 libjava/classpath/lib/javax/swing/InternalFrameFocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class create mode 100644 libjava/classpath/lib/javax/swing/JApplet.class create mode 100644 libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class create mode 100644 libjava/classpath/lib/javax/swing/JButton.class create mode 100644 libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class create mode 100644 libjava/classpath/lib/javax/swing/JCheckBox.class create mode 100644 libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class create mode 100644 libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class create mode 100644 libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class create mode 100644 libjava/classpath/lib/javax/swing/JColorChooser$DefaultOKCancelListener.class create mode 100644 libjava/classpath/lib/javax/swing/JColorChooser$DefaultResetListener.class create mode 100644 libjava/classpath/lib/javax/swing/JColorChooser.class create mode 100644 libjava/classpath/lib/javax/swing/JComboBox$1.class create mode 100644 libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class create mode 100644 libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class create mode 100644 libjava/classpath/lib/javax/swing/JComboBox$KeySelectionManager.class create mode 100644 libjava/classpath/lib/javax/swing/JComboBox.class create mode 100644 libjava/classpath/lib/javax/swing/JComponent$1.class create mode 100644 libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.class create mode 100644 libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class create mode 100644 libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class create mode 100644 libjava/classpath/lib/javax/swing/JComponent.class create mode 100644 libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class create mode 100644 libjava/classpath/lib/javax/swing/JDesktopPane.class create mode 100644 libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class create mode 100644 libjava/classpath/lib/javax/swing/JDialog.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$1.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$2.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$EditorKitMapping.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$PageStream.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class create mode 100644 libjava/classpath/lib/javax/swing/JEditorPane.class create mode 100644 libjava/classpath/lib/javax/swing/JFileChooser$1.class create mode 100644 libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class create mode 100644 libjava/classpath/lib/javax/swing/JFileChooser.class create mode 100644 libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class create mode 100644 libjava/classpath/lib/javax/swing/JFormattedTextField.class create mode 100644 libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class create mode 100644 libjava/classpath/lib/javax/swing/JFrame.class create mode 100644 libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class create mode 100644 libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class create mode 100644 libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon.class create mode 100644 libjava/classpath/lib/javax/swing/JInternalFrame.class create mode 100644 libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class create mode 100644 libjava/classpath/lib/javax/swing/JLabel.class create mode 100644 libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class create mode 100644 libjava/classpath/lib/javax/swing/JLayeredPane.class create mode 100644 libjava/classpath/lib/javax/swing/JList$1.class create mode 100644 libjava/classpath/lib/javax/swing/JList$2.class create mode 100644 libjava/classpath/lib/javax/swing/JList$3.class create mode 100644 libjava/classpath/lib/javax/swing/JList$AccessibleJList$AccessibleJListChild.class create mode 100644 libjava/classpath/lib/javax/swing/JList$AccessibleJList.class create mode 100644 libjava/classpath/lib/javax/swing/JList$ListListener.class create mode 100644 libjava/classpath/lib/javax/swing/JList.class create mode 100644 libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class create mode 100644 libjava/classpath/lib/javax/swing/JMenu$ActionChangedListener.class create mode 100644 libjava/classpath/lib/javax/swing/JMenu$MenuChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/JMenu$WinListener.class create mode 100644 libjava/classpath/lib/javax/swing/JMenu.class create mode 100644 libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class create mode 100644 libjava/classpath/lib/javax/swing/JMenuBar.class create mode 100644 libjava/classpath/lib/javax/swing/JMenuItem$1.class create mode 100644 libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class create mode 100644 libjava/classpath/lib/javax/swing/JMenuItem.class create mode 100644 libjava/classpath/lib/javax/swing/JOptionPane$1.class create mode 100644 libjava/classpath/lib/javax/swing/JOptionPane$2.class create mode 100644 libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class create mode 100644 libjava/classpath/lib/javax/swing/JOptionPane$ValuePropertyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/JOptionPane.class create mode 100644 libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class create mode 100644 libjava/classpath/lib/javax/swing/JPanel.class create mode 100644 libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class create mode 100644 libjava/classpath/lib/javax/swing/JPasswordField.class create mode 100644 libjava/classpath/lib/javax/swing/JPopupMenu$1.class create mode 100644 libjava/classpath/lib/javax/swing/JPopupMenu$2.class create mode 100644 libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class create mode 100644 libjava/classpath/lib/javax/swing/JPopupMenu$ActionChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/JPopupMenu$Separator.class create mode 100644 libjava/classpath/lib/javax/swing/JPopupMenu.class create mode 100644 libjava/classpath/lib/javax/swing/JProgressBar$1.class create mode 100644 libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class create mode 100644 libjava/classpath/lib/javax/swing/JProgressBar.class create mode 100644 libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class create mode 100644 libjava/classpath/lib/javax/swing/JRadioButton.class create mode 100644 libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class create mode 100644 libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class create mode 100644 libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class create mode 100644 libjava/classpath/lib/javax/swing/JRootPane$RootLayout.class create mode 100644 libjava/classpath/lib/javax/swing/JRootPane.class create mode 100644 libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class create mode 100644 libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/JScrollBar.class create mode 100644 libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class create mode 100644 libjava/classpath/lib/javax/swing/JScrollPane$ScrollBar.class create mode 100644 libjava/classpath/lib/javax/swing/JScrollPane.class create mode 100644 libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class create mode 100644 libjava/classpath/lib/javax/swing/JSeparator.class create mode 100644 libjava/classpath/lib/javax/swing/JSlider$1.class create mode 100644 libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class create mode 100644 libjava/classpath/lib/javax/swing/JSlider$LabelUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/JSlider.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$DateEditorFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$DefaultEditor.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$ModelListener.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner$NumberEditorFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/JSpinner.class create mode 100644 libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class create mode 100644 libjava/classpath/lib/javax/swing/JSplitPane.class create mode 100644 libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class create mode 100644 libjava/classpath/lib/javax/swing/JTabbedPane$ModelListener.class create mode 100644 libjava/classpath/lib/javax/swing/JTabbedPane$Page.class create mode 100644 libjava/classpath/lib/javax/swing/JTabbedPane.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$BooleanCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$DateCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$DoubleCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$FloatCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$IconCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$NumberCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$TableColumnPropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/JTable$TableTextField.class create mode 100644 libjava/classpath/lib/javax/swing/JTable.class create mode 100644 libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class create mode 100644 libjava/classpath/lib/javax/swing/JTextArea.class create mode 100644 libjava/classpath/lib/javax/swing/JTextField$1.class create mode 100644 libjava/classpath/lib/javax/swing/JTextField$2.class create mode 100644 libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class create mode 100644 libjava/classpath/lib/javax/swing/JTextField.class create mode 100644 libjava/classpath/lib/javax/swing/JTextPane.class create mode 100644 libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class create mode 100644 libjava/classpath/lib/javax/swing/JToggleButton$ToggleButtonModel.class create mode 100644 libjava/classpath/lib/javax/swing/JToggleButton.class create mode 100644 libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class create mode 100644 libjava/classpath/lib/javax/swing/JToolBar$DefaultToolBarLayout.class create mode 100644 libjava/classpath/lib/javax/swing/JToolBar$Separator.class create mode 100644 libjava/classpath/lib/javax/swing/JToolBar.class create mode 100644 libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class create mode 100644 libjava/classpath/lib/javax/swing/JToolTip.class create mode 100644 libjava/classpath/lib/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.class create mode 100644 libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class create mode 100644 libjava/classpath/lib/javax/swing/JTree$DynamicUtilTreeNode.class create mode 100644 libjava/classpath/lib/javax/swing/JTree$EmptySelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/JTree$TreeModelHandler.class create mode 100644 libjava/classpath/lib/javax/swing/JTree$TreeSelectionRedirector.class create mode 100644 libjava/classpath/lib/javax/swing/JTree.class create mode 100644 libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class create mode 100644 libjava/classpath/lib/javax/swing/JViewport$ViewListener.class create mode 100644 libjava/classpath/lib/javax/swing/JViewport.class create mode 100644 libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class create mode 100644 libjava/classpath/lib/javax/swing/JWindow.class create mode 100644 libjava/classpath/lib/javax/swing/KeyStroke.class create mode 100644 libjava/classpath/lib/javax/swing/KeyboardManager.class create mode 100644 libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.class create mode 100644 libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/javax/swing/ListCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/ListModel.class create mode 100644 libjava/classpath/lib/javax/swing/ListSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/LookAndFeel$1.class create mode 100644 libjava/classpath/lib/javax/swing/LookAndFeel.class create mode 100644 libjava/classpath/lib/javax/swing/MenuElement.class create mode 100644 libjava/classpath/lib/javax/swing/MenuSelectionManager.class create mode 100644 libjava/classpath/lib/javax/swing/MutableComboBoxModel.class create mode 100644 libjava/classpath/lib/javax/swing/OverlayLayout.class create mode 100644 libjava/classpath/lib/javax/swing/Popup$JWindowPopup.class create mode 100644 libjava/classpath/lib/javax/swing/Popup$LightweightPopup.class create mode 100644 libjava/classpath/lib/javax/swing/Popup.class create mode 100644 libjava/classpath/lib/javax/swing/PopupFactory.class create mode 100644 libjava/classpath/lib/javax/swing/ProgressMonitor$1.class create mode 100644 libjava/classpath/lib/javax/swing/ProgressMonitor$TimerListener.class create mode 100644 libjava/classpath/lib/javax/swing/ProgressMonitor.class create mode 100644 libjava/classpath/lib/javax/swing/ProgressMonitorInputStream.class create mode 100644 libjava/classpath/lib/javax/swing/Renderer.class create mode 100644 libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorker.class create mode 100644 libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorkerEvent.class create mode 100644 libjava/classpath/lib/javax/swing/RepaintManager.class create mode 100644 libjava/classpath/lib/javax/swing/RootPaneContainer.class create mode 100644 libjava/classpath/lib/javax/swing/ScrollPaneConstants.class create mode 100644 libjava/classpath/lib/javax/swing/ScrollPaneLayout$UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/ScrollPaneLayout.class create mode 100644 libjava/classpath/lib/javax/swing/Scrollable.class create mode 100644 libjava/classpath/lib/javax/swing/SingleSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/SizeRequirements.class create mode 100644 libjava/classpath/lib/javax/swing/SizeSequence.class create mode 100644 libjava/classpath/lib/javax/swing/SortingFocusTraversalPolicy.class create mode 100644 libjava/classpath/lib/javax/swing/SpinnerDateModel.class create mode 100644 libjava/classpath/lib/javax/swing/SpinnerListModel.class create mode 100644 libjava/classpath/lib/javax/swing/SpinnerModel.class create mode 100644 libjava/classpath/lib/javax/swing/SpinnerNumberModel.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$1.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$2.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$3.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$AddSpring.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$MaxSpring.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$MinusSpring.class create mode 100644 libjava/classpath/lib/javax/swing/Spring$SimpleSpring.class create mode 100644 libjava/classpath/lib/javax/swing/Spring.class create mode 100644 libjava/classpath/lib/javax/swing/SpringLayout$Constraints.class create mode 100644 libjava/classpath/lib/javax/swing/SpringLayout$DeferredDimension.class create mode 100644 libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class create mode 100644 libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class create mode 100644 libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class create mode 100644 libjava/classpath/lib/javax/swing/SpringLayout.class create mode 100644 libjava/classpath/lib/javax/swing/SwingConstants.class create mode 100644 libjava/classpath/lib/javax/swing/SwingUtilities$OwnerFrame.class create mode 100644 libjava/classpath/lib/javax/swing/SwingUtilities.class create mode 100644 libjava/classpath/lib/javax/swing/Timer$1.class create mode 100644 libjava/classpath/lib/javax/swing/Timer$Task.class create mode 100644 libjava/classpath/lib/javax/swing/Timer.class create mode 100644 libjava/classpath/lib/javax/swing/ToolTipManager$insideTimerAction.class create mode 100644 libjava/classpath/lib/javax/swing/ToolTipManager$outsideTimerAction.class create mode 100644 libjava/classpath/lib/javax/swing/ToolTipManager$stillInsideTimerAction.class create mode 100644 libjava/classpath/lib/javax/swing/ToolTipManager.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$1.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$2.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$3.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$4.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$ActiveValue.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$LazyValue.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class create mode 100644 libjava/classpath/lib/javax/swing/UIDefaults.class create mode 100644 libjava/classpath/lib/javax/swing/UIManager$LookAndFeelInfo.class create mode 100644 libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.class create mode 100644 libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults.class create mode 100644 libjava/classpath/lib/javax/swing/UIManager.class create mode 100644 libjava/classpath/lib/javax/swing/UnsupportedLookAndFeelException.class create mode 100644 libjava/classpath/lib/javax/swing/ViewportLayout.class create mode 100644 libjava/classpath/lib/javax/swing/WindowConstants.class create mode 100644 libjava/classpath/lib/javax/swing/border/AbstractBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/BevelBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/Border.class create mode 100644 libjava/classpath/lib/javax/swing/border/CompoundBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/EmptyBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/EtchedBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/LineBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/MatteBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/SoftBevelBorder.class create mode 100644 libjava/classpath/lib/javax/swing/border/TitledBorder.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/AbstractColorChooserPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/ColorChooserComponentFactory.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/ColorSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultColorSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.class create mode 100644 libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class create mode 100644 libjava/classpath/lib/javax/swing/event/AncestorEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/AncestorListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/CaretEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/CaretListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/CellEditorListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/ChangeEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/ChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/DocumentEvent$ElementChange.class create mode 100644 libjava/classpath/lib/javax/swing/event/DocumentEvent$EventType.class create mode 100644 libjava/classpath/lib/javax/swing/event/DocumentEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/DocumentListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/EventListenerList.class create mode 100644 libjava/classpath/lib/javax/swing/event/HyperlinkEvent$EventType.class create mode 100644 libjava/classpath/lib/javax/swing/event/HyperlinkEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/HyperlinkListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/InternalFrameAdapter.class create mode 100644 libjava/classpath/lib/javax/swing/event/InternalFrameEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/InternalFrameListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/ListDataEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/ListDataListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/ListSelectionEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/ListSelectionListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/MenuDragMouseEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/MenuDragMouseListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/MenuEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/MenuKeyEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/MenuKeyListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/MenuListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/MouseInputAdapter.class create mode 100644 libjava/classpath/lib/javax/swing/event/MouseInputListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/PopupMenuEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/PopupMenuListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/SwingPropertyChangeSupport.class create mode 100644 libjava/classpath/lib/javax/swing/event/TableColumnModelEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/TableColumnModelListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/TableModelEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/TableModelListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeExpansionEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeExpansionListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeModelEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeModelListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeSelectionEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeSelectionListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/TreeWillExpandListener.class create mode 100644 libjava/classpath/lib/javax/swing/event/UndoableEditEvent.class create mode 100644 libjava/classpath/lib/javax/swing/event/UndoableEditListener.class create mode 100644 libjava/classpath/lib/javax/swing/filechooser/FileFilter.class create mode 100644 libjava/classpath/lib/javax/swing/filechooser/FileSystemView.class create mode 100644 libjava/classpath/lib/javax/swing/filechooser/FileView.class create mode 100644 libjava/classpath/lib/javax/swing/filechooser/UnixFileSystemView.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ActionMapUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$LineBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/BorderUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ColorChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ColorUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ComboBoxUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ComponentInputMapUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ComponentUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/DesktopIconUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/DesktopPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/DimensionUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/FileChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/FontUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/IconUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/InputMapUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/InsetsUIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/InternalFrameUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/LabelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ListUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/MenuBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/MenuItemUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/OptionPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/PanelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/PopupMenuUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ProgressBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/RootPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ScrollBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ScrollPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/SeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/SliderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/SpinnerUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/SplitPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/TabbedPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/TableHeaderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/TableUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/TextUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ToolBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ToolTipUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/TreeUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/ViewportUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicArrowButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$FieldBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MarginBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicEditorPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicFormattedTextFieldUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListDataHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPanelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPasswordFieldUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$Animator.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$TrackListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$KeyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextAreaUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextFieldUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicCaret.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToggleButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarSeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/BasicViewportUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/ComboPopup.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/DefaultMenuLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/basic/SharedUIDefaults.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/DefaultMetalTheme.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PaletteBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalDesktopIconUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalLabelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalProgressBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRadioButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalSeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalTextFieldUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalTheme.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalToggleButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalToolTipUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiButtonUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiColorChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiComboBoxUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopIconUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiFileChooserUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiInternalFrameUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiLabelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiListUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiLookAndFeel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuItemUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiOptionPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiPanelUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiPopupMenuUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiProgressBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiRootPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiSeparatorUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiSliderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiSpinnerUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiSplitPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiTabbedPaneUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiTableHeaderUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiTableUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiToolBarUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiToolTipUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiTreeUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/multi/MultiViewportUI.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/ColorType.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/Region.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthConstants.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthContext.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthGraphicsUtils.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthLookAndFeel.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthPainter.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthStyle.class create mode 100644 libjava/classpath/lib/javax/swing/plaf/synth/SynthStyleFactory.class create mode 100644 libjava/classpath/lib/javax/swing/table/AbstractTableModel.class create mode 100644 libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer$UIResource.class create mode 100644 libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/table/DefaultTableColumnModel.class create mode 100644 libjava/classpath/lib/javax/swing/table/DefaultTableModel.class create mode 100644 libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.class create mode 100644 libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class create mode 100644 libjava/classpath/lib/javax/swing/table/JTableHeader.class create mode 100644 libjava/classpath/lib/javax/swing/table/TableCellEditor.class create mode 100644 libjava/classpath/lib/javax/swing/table/TableCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/table/TableColumn.class create mode 100644 libjava/classpath/lib/javax/swing/table/TableColumnModel.class create mode 100644 libjava/classpath/lib/javax/swing/table/TableModel.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$AttributeContext.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$Content.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractDocument.class create mode 100644 libjava/classpath/lib/javax/swing/text/AbstractWriter.class create mode 100644 libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class create mode 100644 libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class create mode 100644 libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class create mode 100644 libjava/classpath/lib/javax/swing/text/AsyncBoxView.class create mode 100644 libjava/classpath/lib/javax/swing/text/AttributeSet$CharacterAttribute.class create mode 100644 libjava/classpath/lib/javax/swing/text/AttributeSet$ColorAttribute.class create mode 100644 libjava/classpath/lib/javax/swing/text/AttributeSet$FontAttribute.class create mode 100644 libjava/classpath/lib/javax/swing/text/AttributeSet$ParagraphAttribute.class create mode 100644 libjava/classpath/lib/javax/swing/text/AttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/BadLocationException.class create mode 100644 libjava/classpath/lib/javax/swing/text/BoxView.class create mode 100644 libjava/classpath/lib/javax/swing/text/Caret.class create mode 100644 libjava/classpath/lib/javax/swing/text/ChangedCharSetException.class create mode 100644 libjava/classpath/lib/javax/swing/text/ComponentView$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/ComponentView$Interceptor.class create mode 100644 libjava/classpath/lib/javax/swing/text/ComponentView.class create mode 100644 libjava/classpath/lib/javax/swing/text/CompositeView.class create mode 100644 libjava/classpath/lib/javax/swing/text/DateFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultCaret$BlinkTimerListener.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultCaret$DocumentHandler.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultCaret$PropertyChangeHandler.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultCaret.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeepAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginLineAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CopyAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CutAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndLineAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertBreakAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertContentAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertTabAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$NextWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PasteAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PreviousWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectAllAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectLineAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementSpec.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class create mode 100644 libjava/classpath/lib/javax/swing/text/DefaultTextUI.class create mode 100644 libjava/classpath/lib/javax/swing/text/Document.class create mode 100644 libjava/classpath/lib/javax/swing/text/DocumentFilter$FilterBypass.class create mode 100644 libjava/classpath/lib/javax/swing/text/DocumentFilter.class create mode 100644 libjava/classpath/lib/javax/swing/text/EditorKit.class create mode 100644 libjava/classpath/lib/javax/swing/text/Element.class create mode 100644 libjava/classpath/lib/javax/swing/text/ElementIterator$ElementRef.class create mode 100644 libjava/classpath/lib/javax/swing/text/ElementIterator.class create mode 100644 libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/FieldView$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/FieldView.class create mode 100644 libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class create mode 100644 libjava/classpath/lib/javax/swing/text/FlowView$LogicalView.class create mode 100644 libjava/classpath/lib/javax/swing/text/FlowView.class create mode 100644 libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class create mode 100644 libjava/classpath/lib/javax/swing/text/GapContent$InsertUndo.class create mode 100644 libjava/classpath/lib/javax/swing/text/GapContent$Mark.class create mode 100644 libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class create mode 100644 libjava/classpath/lib/javax/swing/text/GapContent$UndoRemove.class create mode 100644 libjava/classpath/lib/javax/swing/text/GapContent.class create mode 100644 libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/GlyphView.class create mode 100644 libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class create mode 100644 libjava/classpath/lib/javax/swing/text/Highlighter$HighlightPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/Highlighter.class create mode 100644 libjava/classpath/lib/javax/swing/text/IconView.class create mode 100644 libjava/classpath/lib/javax/swing/text/InternationalFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultKeymap.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultTransferHandler.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent$KeyBinding.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapActionMap.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapWrapper.class create mode 100644 libjava/classpath/lib/javax/swing/text/JTextComponent.class create mode 100644 libjava/classpath/lib/javax/swing/text/Keymap.class create mode 100644 libjava/classpath/lib/javax/swing/text/LabelView.class create mode 100644 libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/LayeredHighlighter.class create mode 100644 libjava/classpath/lib/javax/swing/text/LayoutQueue.class create mode 100644 libjava/classpath/lib/javax/swing/text/MaskFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/text/MutableAttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class create mode 100644 libjava/classpath/lib/javax/swing/text/NavigationFilter.class create mode 100644 libjava/classpath/lib/javax/swing/text/NumberFormatter.class create mode 100644 libjava/classpath/lib/javax/swing/text/ParagraphView$Row.class create mode 100644 libjava/classpath/lib/javax/swing/text/ParagraphView.class create mode 100644 libjava/classpath/lib/javax/swing/text/PasswordView.class create mode 100644 libjava/classpath/lib/javax/swing/text/PlainDocument.class create mode 100644 libjava/classpath/lib/javax/swing/text/PlainView.class create mode 100644 libjava/classpath/lib/javax/swing/text/Position$Bias.class create mode 100644 libjava/classpath/lib/javax/swing/text/Position.class create mode 100644 libjava/classpath/lib/javax/swing/text/Segment.class create mode 100644 libjava/classpath/lib/javax/swing/text/SimpleAttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/StringContent$InsertUndo.class create mode 100644 libjava/classpath/lib/javax/swing/text/StringContent$Mark.class create mode 100644 libjava/classpath/lib/javax/swing/text/StringContent$RemoveUndo.class create mode 100644 libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class create mode 100644 libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class create mode 100644 libjava/classpath/lib/javax/swing/text/StringContent.class create mode 100644 libjava/classpath/lib/javax/swing/text/Style.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleConstants.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleContext$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleContext$NamedStyle.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleContext$SimpleFontSpec.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyleContext.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledDocument.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$CaretTracker.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledTextAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledViewFactory.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/StyledEditorKit.class create mode 100644 libjava/classpath/lib/javax/swing/text/TabExpander.class create mode 100644 libjava/classpath/lib/javax/swing/text/TabSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/TabStop.class create mode 100644 libjava/classpath/lib/javax/swing/text/TabableView.class create mode 100644 libjava/classpath/lib/javax/swing/text/TableView$TableCell.class create mode 100644 libjava/classpath/lib/javax/swing/text/TableView$TableRow.class create mode 100644 libjava/classpath/lib/javax/swing/text/TableView.class create mode 100644 libjava/classpath/lib/javax/swing/text/TextAction$HorizontalMovementAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/TextAction$VerticalMovementAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/TextAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/Utilities.class create mode 100644 libjava/classpath/lib/javax/swing/text/View.class create mode 100644 libjava/classpath/lib/javax/swing/text/ViewFactory.class create mode 100644 libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class create mode 100644 libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class create mode 100644 libjava/classpath/lib/javax/swing/text/WrappedPlainView.class create mode 100644 libjava/classpath/lib/javax/swing/text/ZoneView$Zone.class create mode 100644 libjava/classpath/lib/javax/swing/text/ZoneView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/BRView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/BlockView$PositionInfo.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/BlockView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/CSS$Attribute.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/CSS.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/CSSBorder.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/CSSParser$CSSParserCallback.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/CSSParser.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent$MethodType.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FormView$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FormView$MouseEventListener.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FormView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FrameSetView$FrameSetRow.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FrameSetView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/FrameView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HRuleView$Beginning.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HRuleView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTML$Attribute.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTML.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ImageView$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ImageView$Observer.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ImageView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/InlineView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ListView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/MultiStyle.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/NullView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ObjectView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/Option.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ParagraphView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ResetableModel.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ResetablePlainDocument.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/SelectComboBoxModel.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/SelectListModel.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyle.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/StyleSheet.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/TableView.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/ContentModel.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/DTD.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/DTDConstants.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/Element.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/Entity.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/Parser.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class create mode 100644 libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/ControlWordToken.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/RTFEditorKit.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/RTFParseException.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/RTFParser.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/RTFScanner.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/TextToken.class create mode 100644 libjava/classpath/lib/javax/swing/text/rtf/Token.class create mode 100644 libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache$NodeDimensions.class create mode 100644 libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeModel.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.class create mode 100644 libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/tree/ExpandVetoException.class create mode 100644 libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class create mode 100644 libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class create mode 100644 libjava/classpath/lib/javax/swing/tree/MutableTreeNode.class create mode 100644 libjava/classpath/lib/javax/swing/tree/RowMapper.class create mode 100644 libjava/classpath/lib/javax/swing/tree/TreeCellEditor.class create mode 100644 libjava/classpath/lib/javax/swing/tree/TreeCellRenderer.class create mode 100644 libjava/classpath/lib/javax/swing/tree/TreeModel.class create mode 100644 libjava/classpath/lib/javax/swing/tree/TreeNode.class create mode 100644 libjava/classpath/lib/javax/swing/tree/TreePath.class create mode 100644 libjava/classpath/lib/javax/swing/tree/TreeSelectionModel.class create mode 100644 libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.class create mode 100644 libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class create mode 100644 libjava/classpath/lib/javax/swing/undo/AbstractUndoableEdit.class create mode 100644 libjava/classpath/lib/javax/swing/undo/CannotRedoException.class create mode 100644 libjava/classpath/lib/javax/swing/undo/CannotUndoException.class create mode 100644 libjava/classpath/lib/javax/swing/undo/CompoundEdit.class create mode 100644 libjava/classpath/lib/javax/swing/undo/StateEdit.class create mode 100644 libjava/classpath/lib/javax/swing/undo/StateEditable.class create mode 100644 libjava/classpath/lib/javax/swing/undo/UndoManager.class create mode 100644 libjava/classpath/lib/javax/swing/undo/UndoableEdit.class create mode 100644 libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class create mode 100644 libjava/classpath/lib/javax/transaction/HeuristicCommitException.class create mode 100644 libjava/classpath/lib/javax/transaction/HeuristicMixedException.class create mode 100644 libjava/classpath/lib/javax/transaction/HeuristicRollbackException.class create mode 100644 libjava/classpath/lib/javax/transaction/InvalidTransactionException.class create mode 100644 libjava/classpath/lib/javax/transaction/NotSupportedException.class create mode 100644 libjava/classpath/lib/javax/transaction/RollbackException.class create mode 100644 libjava/classpath/lib/javax/transaction/Status.class create mode 100644 libjava/classpath/lib/javax/transaction/Synchronization.class create mode 100644 libjava/classpath/lib/javax/transaction/SystemException.class create mode 100644 libjava/classpath/lib/javax/transaction/Transaction.class create mode 100644 libjava/classpath/lib/javax/transaction/TransactionManager.class create mode 100644 libjava/classpath/lib/javax/transaction/TransactionRequiredException.class create mode 100644 libjava/classpath/lib/javax/transaction/TransactionRolledbackException.class create mode 100644 libjava/classpath/lib/javax/transaction/UserTransaction.class create mode 100644 libjava/classpath/lib/javax/transaction/xa/XAException.class create mode 100644 libjava/classpath/lib/javax/transaction/xa/XAResource.class create mode 100644 libjava/classpath/lib/javax/transaction/xa/Xid.class create mode 100644 libjava/classpath/lib/javax/xml/XMLConstants.class create mode 100644 libjava/classpath/lib/javax/xml/datatype/DatatypeConfigurationException.class create mode 100644 libjava/classpath/lib/javax/xml/datatype/DatatypeConstants$Field.class create mode 100644 libjava/classpath/lib/javax/xml/datatype/DatatypeConstants.class create mode 100644 libjava/classpath/lib/javax/xml/datatype/DatatypeFactory.class create mode 100644 libjava/classpath/lib/javax/xml/datatype/Duration.class create mode 100644 libjava/classpath/lib/javax/xml/datatype/XMLGregorianCalendar.class create mode 100644 libjava/classpath/lib/javax/xml/namespace/NamespaceContext.class create mode 100644 libjava/classpath/lib/javax/xml/namespace/QName.class create mode 100644 libjava/classpath/lib/javax/xml/parsers/DocumentBuilder.class create mode 100644 libjava/classpath/lib/javax/xml/parsers/DocumentBuilderFactory.class create mode 100644 libjava/classpath/lib/javax/xml/parsers/FactoryConfigurationError.class create mode 100644 libjava/classpath/lib/javax/xml/parsers/ParserConfigurationException.class create mode 100644 libjava/classpath/lib/javax/xml/parsers/SAXParser.class create mode 100644 libjava/classpath/lib/javax/xml/parsers/SAXParserFactory.class create mode 100644 libjava/classpath/lib/javax/xml/stream/EventFilter.class create mode 100644 libjava/classpath/lib/javax/xml/stream/FactoryConfigurationError.class create mode 100644 libjava/classpath/lib/javax/xml/stream/Location.class create mode 100644 libjava/classpath/lib/javax/xml/stream/StreamFilter.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLEventReader.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLEventWriter.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLReporter.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLResolver.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLStreamConstants.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLStreamException.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLStreamReader.class create mode 100644 libjava/classpath/lib/javax/xml/stream/XMLStreamWriter.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/Attribute.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/Characters.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/Comment.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/DTD.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/EndDocument.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/EndElement.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/EntityDeclaration.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/EntityReference.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/Namespace.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/NotationDeclaration.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/ProcessingInstruction.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/StartDocument.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/StartElement.class create mode 100644 libjava/classpath/lib/javax/xml/stream/events/XMLEvent.class create mode 100644 libjava/classpath/lib/javax/xml/stream/util/EventReaderDelegate.class create mode 100644 libjava/classpath/lib/javax/xml/stream/util/ReaderDelegate.class create mode 100644 libjava/classpath/lib/javax/xml/stream/util/XMLEventAllocator.class create mode 100644 libjava/classpath/lib/javax/xml/stream/util/XMLEventConsumer.class create mode 100644 libjava/classpath/lib/javax/xml/transform/ErrorListener.class create mode 100644 libjava/classpath/lib/javax/xml/transform/OutputKeys.class create mode 100644 libjava/classpath/lib/javax/xml/transform/Result.class create mode 100644 libjava/classpath/lib/javax/xml/transform/Source.class create mode 100644 libjava/classpath/lib/javax/xml/transform/SourceLocator.class create mode 100644 libjava/classpath/lib/javax/xml/transform/Templates.class create mode 100644 libjava/classpath/lib/javax/xml/transform/Transformer.class create mode 100644 libjava/classpath/lib/javax/xml/transform/TransformerConfigurationException.class create mode 100644 libjava/classpath/lib/javax/xml/transform/TransformerException.class create mode 100644 libjava/classpath/lib/javax/xml/transform/TransformerFactory.class create mode 100644 libjava/classpath/lib/javax/xml/transform/TransformerFactoryConfigurationError.class create mode 100644 libjava/classpath/lib/javax/xml/transform/URIResolver.class create mode 100644 libjava/classpath/lib/javax/xml/transform/dom/DOMLocator.class create mode 100644 libjava/classpath/lib/javax/xml/transform/dom/DOMResult.class create mode 100644 libjava/classpath/lib/javax/xml/transform/dom/DOMSource.class create mode 100644 libjava/classpath/lib/javax/xml/transform/sax/SAXResult.class create mode 100644 libjava/classpath/lib/javax/xml/transform/sax/SAXSource.class create mode 100644 libjava/classpath/lib/javax/xml/transform/sax/SAXTransformerFactory.class create mode 100644 libjava/classpath/lib/javax/xml/transform/sax/TemplatesHandler.class create mode 100644 libjava/classpath/lib/javax/xml/transform/sax/TransformerHandler.class create mode 100644 libjava/classpath/lib/javax/xml/transform/stream/StreamResult.class create mode 100644 libjava/classpath/lib/javax/xml/transform/stream/StreamSource.class create mode 100644 libjava/classpath/lib/javax/xml/validation/Schema.class create mode 100644 libjava/classpath/lib/javax/xml/validation/SchemaFactory.class create mode 100644 libjava/classpath/lib/javax/xml/validation/SchemaFactoryLoader.class create mode 100644 libjava/classpath/lib/javax/xml/validation/TypeInfoProvider.class create mode 100644 libjava/classpath/lib/javax/xml/validation/Validator.class create mode 100644 libjava/classpath/lib/javax/xml/validation/ValidatorHandler.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPath.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathConstants.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathException.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathExpression.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathExpressionException.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathFactory.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathFactoryConfigurationException.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathFunction.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathFunctionException.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathFunctionResolver.class create mode 100644 libjava/classpath/lib/javax/xml/xpath/XPathVariableResolver.class create mode 100644 libjava/classpath/lib/jazzlib/index.html create mode 100755 libjava/classpath/lib/jazzlib/makeJazzlibDist.sh create mode 100755 libjava/classpath/lib/mkdep.pl.in create mode 100644 libjava/classpath/lib/org/ietf/jgss/ChannelBinding.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/GSSContext.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/GSSCredential.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/GSSException.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/GSSManager.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/GSSName.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/MessageProp.class create mode 100644 libjava/classpath/lib/org/ietf/jgss/Oid.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ACTIVITY_COMPLETED.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ACTIVITY_REQUIRED.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ARG_IN.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ARG_INOUT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ARG_OUT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Any.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/AnyHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/AnySeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/AnySeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_CONTEXT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_INV_ORDER.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_OPERATION.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_PARAM.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_POLICY.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_TYPE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_VALUE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_QOS.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BAD_TYPECODE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BooleanHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BooleanSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/BooleanSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Bounds.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ByteHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CODESET_INCOMPATIBLE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/COMM_FAILURE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CTX_RESTRICT_SCOPE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CharHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CharSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CharSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CompletionStatus.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CompletionStatusHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Context.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ContextList.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Current.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CurrentHelper$_CurrentStub.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CurrentHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CurrentHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CurrentOperations.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CustomMarshal.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/CustomValue.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DATA_CONVERSION.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DataInputStream.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DataOutputStream.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DefinitionKind.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DefinitionKindHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DomainManager.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DomainManagerOperations.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DoubleHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DoubleSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DoubleSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynAny.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/Invalid.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidSeq.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidValue.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/TypeMismatch.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynArray.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynEnum.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynFixed.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynSequence.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynStruct.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynUnion.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynValue.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/DynamicImplementation.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Environment.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ExceptionList.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/FREE_MEM.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/FieldNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/FixedHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/FloatHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/FloatSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/FloatSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IDLType.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IDLTypeHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IDLTypeOperations.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IMP_LIMIT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INITIALIZE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INTERNAL.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INTF_REPOS.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INVALID_ACTIVITY.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INVALID_TRANSACTION.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INV_FLAG.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INV_IDENT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INV_OBJREF.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/INV_POLICY.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IRObject.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IRObjectOperations.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IdentifierHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/IntHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/LocalObject.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/LongHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/LongLongSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/LongLongSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/LongSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/LongSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/MARSHAL.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NO_IMPLEMENT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NO_MEMORY.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NO_PERMISSION.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NO_RESOURCES.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NO_RESPONSE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NVList.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NameValuePair.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NameValuePairHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/NamedValue.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/OBJECT_NOT_EXIST.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/OBJ_ADAPTER.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/OMGVMCID.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ORB.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ORBPackage/InconsistentTypeCode.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ORBPackage/InvalidName.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Object.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ObjectHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ObjectHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/OctetSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/OctetSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PERSIST_STORE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PRIVATE_MEMBER.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PUBLIC_MEMBER.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ParameterMode.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ParameterModeHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ParameterModeHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Policy.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyError.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyErrorCodeHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyErrorHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyErrorHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyListHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyListHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PolicyTypeHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Principal.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/PrincipalHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/REBIND.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/RepositoryIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/Request.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ServerRequest.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ServiceDetail.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ServiceDetailHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ServiceInformation.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ServiceInformationHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ServiceInformationHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/SetOverrideType.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/SetOverrideTypeHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ShortHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ShortSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ShortSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/StringHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/StringSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/StringSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/StringValueHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/StructMember.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/StructMemberHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/SystemException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TCKind.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TIMEOUT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TRANSACTION_MODE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TRANSACTION_REQUIRED.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TRANSACTION_ROLLEDBACK.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TRANSACTION_UNAVAILABLE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TRANSIENT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TypeCode.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TypeCodeHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/BadKind.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/Bounds.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ULongSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ULongSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UNKNOWN.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UShortSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UShortSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UnionMember.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UnionMemberHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UnknownUserException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/UserException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/VM_ABSTRACT.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/VM_CUSTOM.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/VM_NONE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/VM_TRUNCATABLE.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ValueBaseHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ValueBaseHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ValueMember.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/ValueMemberHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/VersionSpecHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/VisibilityHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WCharSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WCharSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WStringSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WStringSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WStringValueHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WrongTransaction.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WrongTransactionHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/WrongTransactionHolder.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/ApplicationException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/BoxedValueHelper.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/CustomValue.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/IDLEntity.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/IndirectionException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/InvokeHandler.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/OutputStream.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/RemarshalException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/ResponseHandler.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/ServantObject.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/Streamable.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/StreamableValue.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/UnknownException.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/ValueBase.class create mode 100644 libjava/classpath/lib/org/omg/CORBA/portable/ValueFactory.class create mode 100644 libjava/classpath/lib/org/omg/CORBA_2_3/ORB.class create mode 100644 libjava/classpath/lib/org/omg/CORBA_2_3/portable/Delegate.class create mode 100644 libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class create mode 100644 libjava/classpath/lib/org/omg/CORBA_2_3/portable/ObjectImpl.class create mode 100644 libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/Binding.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingIterator.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingIteratorOperations.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingIteratorPOA.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingListHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingListHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingType.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingTypeHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/BindingTypeHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/IstringHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NameComponent.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NameComponentHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NameComponentHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NameHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NameHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContext.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExt.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtOperations.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPOA.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextOperations.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPOA.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBound.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceed.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidName.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmpty.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFound.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReason.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorImplBase.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtImplBase.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/_NamingContextImplBase.class create mode 100644 libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class create mode 100644 libjava/classpath/lib/org/omg/Dynamic/Parameter.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/AnySeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAny.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactory.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValue.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynAnySeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynArray.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynArrayHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynArrayOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynEnum.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynEnumHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynEnumOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynFixed.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynFixedHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynFixedOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynSequence.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynSequenceHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynSequenceOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynStruct.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynStructHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynStructOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynUnion.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynUnionHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynUnionOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValue.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValueBox.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValueBoxOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValueCommon.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValueCommonOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValueHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/DynValueOperations.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/FieldNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPair.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/NameValuePair.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/NameValuePairHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/NameValuePairSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class create mode 100644 libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodeSets.class create mode 100644 libjava/classpath/lib/org/omg/IOP/Codec.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecFactory.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecFactoryHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecFactoryOperations.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecOperations.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatch.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatchHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatch.class create mode 100644 libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatchHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ComponentIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ENCODING_CDR_ENCAPS.class create mode 100644 libjava/classpath/lib/org/omg/IOP/Encoding.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ExceptionDetailMessage.class create mode 100644 libjava/classpath/lib/org/omg/IOP/IOR.class create mode 100644 libjava/classpath/lib/org/omg/IOP/IORHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/IORHolder.class create mode 100644 libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHolder.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ProfileIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/RMICustomMaxStreamFormat.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ServiceContext.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ServiceContextHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ServiceContextHolder.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ServiceContextListHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ServiceContextListHolder.class create mode 100644 libjava/classpath/lib/org/omg/IOP/ServiceIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_CODE_SETS.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_INTERNET_IOP.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_JAVA_CODEBASE.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_ORB_TYPE.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_POLICIES.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TaggedComponent.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TaggedComponentHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TaggedComponentHolder.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TaggedProfile.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TaggedProfileHelper.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TaggedProfileHolder.class create mode 100644 libjava/classpath/lib/org/omg/IOP/TransactionService.class create mode 100644 libjava/classpath/lib/org/omg/Messaging/SYNC_WITH_TRANSPORT.class create mode 100644 libjava/classpath/lib/org/omg/Messaging/SyncScopeHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ACTIVE.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/AdapterManagerIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/AdapterNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/AdapterStateHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfo.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfoOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptor.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/Current.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/CurrentHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/CurrentOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/DISCARDING.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequest.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequestHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/HOLDING.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/INACTIVE.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInfo.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInfoOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/Interceptor.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/InterceptorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlot.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlotHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/LOCATION_FORWARD.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/NON_EXISTENT.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfo.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializer.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializerOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactory.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplate.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactory.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactoryOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfo.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfoOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/SUCCESSFUL.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ServerIdHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfo.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfoOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptor.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/TRANSPORT_RETRY.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/USER_EXCEPTION.class create mode 100644 libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/AdapterActivator.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/AdapterActivatorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/Current.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/CurrentHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/CurrentOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContext.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContextHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/DynamicImplementation.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ForwardRequest.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ForwardRequestHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/LIFESPAN_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/LifespanPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POA.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAManager.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAManagerOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactive.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/State.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistent.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServant.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServantHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActive.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActive.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActive.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapter.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapterHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicyHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/Servant.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantActivator.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantActivatorHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantActivatorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA$delegator.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantLocator.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantLocatorHelper.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantLocatorOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA$delegator.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantManager.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantManagerOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/THREAD_POLICY_ID.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ThreadPolicy.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyOperations.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyValue.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class create mode 100644 libjava/classpath/lib/org/omg/PortableServer/portable/Delegate.class create mode 100644 libjava/classpath/lib/org/omg/SendingContext/RunTime.class create mode 100644 libjava/classpath/lib/org/omg/SendingContext/RunTimeOperations.class create mode 100644 libjava/classpath/lib/org/omg/stub/java/rmi/_Remote_Stub.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/Datatype.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/DatatypeBuilder.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/DatatypeException.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/DatatypeLibrary.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/DatatypeLibraryFactory.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/DatatypeStreamingValidator.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/ValidationContext.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.class create mode 100644 libjava/classpath/lib/org/relaxng/datatype/helpers/StreamingValidatorImpl.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Attr.class create mode 100644 libjava/classpath/lib/org/w3c/dom/CDATASection.class create mode 100644 libjava/classpath/lib/org/w3c/dom/CharacterData.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Comment.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMConfiguration.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMError.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMErrorHandler.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMException.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMImplementation.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMImplementationList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMImplementationSource.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMLocator.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DOMStringList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Document.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DocumentFragment.class create mode 100644 libjava/classpath/lib/org/w3c/dom/DocumentType.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Element.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Entity.class create mode 100644 libjava/classpath/lib/org/w3c/dom/EntityReference.class create mode 100644 libjava/classpath/lib/org/w3c/dom/NameList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/NamedNodeMap.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Node.class create mode 100644 libjava/classpath/lib/org/w3c/dom/NodeList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Notation.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ProcessingInstruction.class create mode 100644 libjava/classpath/lib/org/w3c/dom/Text.class create mode 100644 libjava/classpath/lib/org/w3c/dom/TypeInfo.class create mode 100644 libjava/classpath/lib/org/w3c/dom/UserDataHandler.class create mode 100644 libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class create mode 100644 libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class create mode 100644 libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class create mode 100644 libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class create mode 100644 libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSS2Properties.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSCharsetRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSFontFaceRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSImportRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSMediaRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSPageRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSPrimitiveValue.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSRuleList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSStyleDeclaration.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSStyleRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSStyleSheet.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSUnknownRule.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSValue.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/CSSValueList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/Counter.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/DOMImplementationCSS.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/DocumentCSS.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/ElementCSSInlineStyle.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/RGBColor.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/Rect.class create mode 100644 libjava/classpath/lib/org/w3c/dom/css/ViewCSS.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/DocumentEvent.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/Event.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/EventException.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/EventListener.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/EventTarget.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/MouseEvent.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/MutationEvent.class create mode 100644 libjava/classpath/lib/org/w3c/dom/events/UIEvent.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLAnchorElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLAppletElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLAreaElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLBRElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseFontElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLBodyElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLButtonElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLCollection.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLDListElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLDirectoryElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLDivElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLDocument.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLFieldSetElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLFontElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLFormElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameSetElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLHRElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadingElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLHtmlElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLIFrameElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLImageElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLInputElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLIsIndexElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLLIElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLLabelElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLLegendElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLLinkElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLMapElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLMenuElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLMetaElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLModElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLOListElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLObjectElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLOptGroupElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionsCollection.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLParagraphElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLParamElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLPreElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLQuoteElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLScriptElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLSelectElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLStyleElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCaptionElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCellElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTableColElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTableElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTableRowElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTableSectionElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTextAreaElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLTitleElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/html2/HTMLUListElement.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/DOMImplementationLS.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSException.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSInput.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSLoadEvent.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSOutput.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSParser.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSParserFilter.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSProgressEvent.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSResourceResolver.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSSerializer.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ls/LSSerializerFilter.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ranges/DocumentRange.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ranges/Range.class create mode 100644 libjava/classpath/lib/org/w3c/dom/ranges/RangeException.class create mode 100644 libjava/classpath/lib/org/w3c/dom/stylesheets/DocumentStyle.class create mode 100644 libjava/classpath/lib/org/w3c/dom/stylesheets/LinkStyle.class create mode 100644 libjava/classpath/lib/org/w3c/dom/stylesheets/MediaList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheet.class create mode 100644 libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheetList.class create mode 100644 libjava/classpath/lib/org/w3c/dom/traversal/DocumentTraversal.class create mode 100644 libjava/classpath/lib/org/w3c/dom/traversal/NodeFilter.class create mode 100644 libjava/classpath/lib/org/w3c/dom/traversal/NodeIterator.class create mode 100644 libjava/classpath/lib/org/w3c/dom/traversal/TreeWalker.class create mode 100644 libjava/classpath/lib/org/w3c/dom/views/AbstractView.class create mode 100644 libjava/classpath/lib/org/w3c/dom/views/DocumentView.class create mode 100644 libjava/classpath/lib/org/w3c/dom/xpath/XPathEvaluator.class create mode 100644 libjava/classpath/lib/org/w3c/dom/xpath/XPathException.class create mode 100644 libjava/classpath/lib/org/w3c/dom/xpath/XPathExpression.class create mode 100644 libjava/classpath/lib/org/w3c/dom/xpath/XPathNSResolver.class create mode 100644 libjava/classpath/lib/org/w3c/dom/xpath/XPathNamespace.class create mode 100644 libjava/classpath/lib/org/w3c/dom/xpath/XPathResult.class create mode 100644 libjava/classpath/lib/org/xml/sax/AttributeList.class create mode 100644 libjava/classpath/lib/org/xml/sax/Attributes.class create mode 100644 libjava/classpath/lib/org/xml/sax/ContentHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/DTDHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/DocumentHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/EntityResolver.class create mode 100644 libjava/classpath/lib/org/xml/sax/ErrorHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/HandlerBase.class create mode 100644 libjava/classpath/lib/org/xml/sax/InputSource.class create mode 100644 libjava/classpath/lib/org/xml/sax/Locator.class create mode 100644 libjava/classpath/lib/org/xml/sax/Parser.class create mode 100644 libjava/classpath/lib/org/xml/sax/SAXException.class create mode 100644 libjava/classpath/lib/org/xml/sax/SAXNotRecognizedException.class create mode 100644 libjava/classpath/lib/org/xml/sax/SAXNotSupportedException.class create mode 100644 libjava/classpath/lib/org/xml/sax/SAXParseException.class create mode 100644 libjava/classpath/lib/org/xml/sax/XMLFilter.class create mode 100644 libjava/classpath/lib/org/xml/sax/XMLReader.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/Attributes2.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/Attributes2Impl.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/DeclHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/DefaultHandler2.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/EntityResolver2.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/LexicalHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/Locator2.class create mode 100644 libjava/classpath/lib/org/xml/sax/ext/Locator2Impl.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/AttributeListImpl.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/AttributesImpl.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/DefaultHandler.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/LocatorImpl.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport$Context.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/NewInstance.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/ParserFactory.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/XMLFilterImpl.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter.class create mode 100644 libjava/classpath/lib/org/xml/sax/helpers/XMLReaderFactory.class delete mode 100644 libjava/classpath/lib/standard.omit create mode 100644 libjava/classpath/lib/sun/misc/Service.class create mode 100644 libjava/classpath/lib/sun/misc/ServiceConfigurationError.class create mode 100644 libjava/classpath/lib/sun/misc/Unsafe.class create mode 100644 libjava/classpath/lib/sun/reflect/Reflection.class create mode 100644 libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class create mode 100644 libjava/classpath/lib/sun/reflect/annotation/AnnotationParser.class create mode 100644 libjava/classpath/lib/sun/reflect/annotation/AnnotationType.class create mode 100644 libjava/classpath/lib/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.class create mode 100644 libjava/classpath/lib/sun/reflect/annotation/ExceptionProxy.class create mode 100644 libjava/classpath/lib/sun/reflect/misc/ReflectUtil$MustBeNull.class create mode 100644 libjava/classpath/lib/sun/reflect/misc/ReflectUtil.class create mode 100644 libjava/classpath/m4/gcc_attribute.m4 create mode 100644 libjava/classpath/native/.cvsignore create mode 100644 libjava/classpath/native/fdlibm/.cvsignore create mode 100644 libjava/classpath/native/jni/.cvsignore create mode 100644 libjava/classpath/native/jni/classpath/.cvsignore create mode 100644 libjava/classpath/native/jni/gconf-peer/.cvsignore create mode 100644 libjava/classpath/native/jni/java-io/.cvsignore create mode 100644 libjava/classpath/native/jni/java-lang/.cvsignore create mode 100644 libjava/classpath/native/jni/java-net/.cvsignore delete mode 100644 libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c create mode 100644 libjava/classpath/native/jni/java-nio/.cvsignore create mode 100644 libjava/classpath/native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c create mode 100644 libjava/classpath/native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c delete mode 100644 libjava/classpath/native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c create mode 100644 libjava/classpath/native/jni/java-nio/javanio.c create mode 100644 libjava/classpath/native/jni/java-nio/javanio.h create mode 100644 libjava/classpath/native/jni/java-util/.cvsignore create mode 100644 libjava/classpath/native/jni/midi-alsa/.cvsignore create mode 100644 libjava/classpath/native/jni/midi-dssi/.cvsignore create mode 100644 libjava/classpath/native/jni/native-lib/.cvsignore create mode 100644 libjava/classpath/native/jni/native-lib/Makefile.am create mode 100644 libjava/classpath/native/jni/native-lib/Makefile.in create mode 100644 libjava/classpath/native/jni/native-lib/cpio.c create mode 100644 libjava/classpath/native/jni/native-lib/cpio.h create mode 100644 libjava/classpath/native/jni/native-lib/cpnative.h create mode 100644 libjava/classpath/native/jni/native-lib/cpnet.c create mode 100644 libjava/classpath/native/jni/native-lib/cpnet.h create mode 100644 libjava/classpath/native/jni/native-lib/cpproc.c create mode 100644 libjava/classpath/native/jni/native-lib/cpproc.h create mode 100644 libjava/classpath/native/jni/xmlj/.cvsignore delete mode 100644 libjava/classpath/native/target/Linux/Makefile.am delete mode 100644 libjava/classpath/native/target/Linux/Makefile.in delete mode 100644 libjava/classpath/native/target/Linux/target_native.h delete mode 100644 libjava/classpath/native/target/Linux/target_native_file.h delete mode 100644 libjava/classpath/native/target/Linux/target_native_io.h delete mode 100644 libjava/classpath/native/target/Linux/target_native_math_float.h delete mode 100644 libjava/classpath/native/target/Linux/target_native_math_int.h delete mode 100644 libjava/classpath/native/target/Linux/target_native_misc.h delete mode 100644 libjava/classpath/native/target/Linux/target_native_network.h delete mode 100644 libjava/classpath/native/target/Makefile.am delete mode 100644 libjava/classpath/native/target/Makefile.in delete mode 100644 libjava/classpath/native/target/generic/Makefile.am delete mode 100644 libjava/classpath/native/target/generic/Makefile.in delete mode 100644 libjava/classpath/native/target/generic/target_generic.h delete mode 100644 libjava/classpath/native/target/generic/target_generic_file.h delete mode 100644 libjava/classpath/native/target/generic/target_generic_io.h delete mode 100644 libjava/classpath/native/target/generic/target_generic_math_float.h delete mode 100644 libjava/classpath/native/target/generic/target_generic_math_int.h delete mode 100644 libjava/classpath/native/target/generic/target_generic_misc.h delete mode 100644 libjava/classpath/native/target/generic/target_generic_network.h delete mode 100644 libjava/classpath/native/target/readme.txt create mode 100644 libjava/classpath/resource/.cvsignore create mode 100644 libjava/classpath/resource/META-INF/services/.cvsignore delete mode 100644 libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory delete mode 100644 libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties delete mode 100644 libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/appletviewer/messages.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/common/Messages.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/orbd/messages.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/rmic/messages.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/rmid/messages.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/rmiregistry/messages.properties create mode 100644 libjava/classpath/resource/gnu/classpath/tools/tnameserv/messages.properties create mode 100644 libjava/classpath/scripts/.cvsignore create mode 100644 libjava/classpath/scripts/build_mathnamespace create mode 100644 libjava/classpath/scripts/checkstyle-config.xml create mode 100644 libjava/classpath/scripts/checkstyle-header.regex create mode 100644 libjava/classpath/scripts/checkstyle-suppressions.xml create mode 100644 libjava/classpath/scripts/checkstyle.css create mode 100644 libjava/classpath/scripts/checkstyle2html.xsl create mode 100755 libjava/classpath/scripts/classpath-build create mode 100755 libjava/classpath/scripts/classpath-daily create mode 100644 libjava/classpath/scripts/eclipse-gnu.xml create mode 100644 libjava/classpath/scripts/jalopy-gnu.xml create mode 100755 libjava/classpath/scripts/japi create mode 100755 libjava/classpath/scripts/kissme-mauve create mode 100755 libjava/classpath/scripts/loc create mode 100644 libjava/classpath/scripts/math_symbols create mode 100755 libjava/classpath/scripts/patches.pl create mode 100755 libjava/classpath/scripts/sanitize-jsr166 create mode 100755 libjava/classpath/scripts/timezones.pl create mode 100644 libjava/classpath/scripts/tzabbrevs create mode 100755 libjava/classpath/scripts/unicode-blocks.pl create mode 100755 libjava/classpath/scripts/unicode-muncher.pl create mode 100644 libjava/classpath/sun/misc/Service.java create mode 100644 libjava/classpath/sun/misc/ServiceConfigurationError.java create mode 100644 libjava/classpath/sun/reflect/annotation/AnnotationParser.java create mode 100644 libjava/classpath/sun/reflect/annotation/AnnotationType.java create mode 100644 libjava/classpath/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java create mode 100644 libjava/classpath/sun/reflect/annotation/ExceptionProxy.java create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/AnnotationVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/AnnotationWriter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Attribute.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/ByteVector.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/ClassAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/ClassVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/ClassWriter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Edge.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/FieldVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/FieldWriter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Handler.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Item.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Label.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/MethodAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/MethodVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Opcodes.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/Type.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapAttribute.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapFrame.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapType.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/AdviceAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/EmptyVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/LocalVariablesSorter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/Method.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder$Item.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/StaticInitMerger.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/commons/TableSwitchGenerator.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Constant.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ConstantPool.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/JarOptimizer.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker$ConstantComparator.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureReader.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureWriter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/AbstractInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/AnnotationNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/IincInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/InnerClassNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/InsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/IntInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/JumpInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/LabelNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/LdcInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/LineNumberNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/LocalVariableNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/MemberNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/TryCatchBlockNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/TypeInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/VarInsnNode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Analyzer.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/AnalyzerException.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicValue.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowValue.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/IntMap.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Interpreter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SmallSet.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Subroutine.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Value.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierClassVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierFieldVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierMethodVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/AbstractVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/CheckAnnotationAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/CheckFieldAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAbstractVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAnnotationVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/TraceFieldVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/TraceMethodVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/TraceSignatureVisitor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMifiable.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/Traceable.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationDefaultRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueAnnotationRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueArrayRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueEnumRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ClassRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionsRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$FieldRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InnerClassRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfaceRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfacesRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LabelRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LineNumberRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LocalVarRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchLabelRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MaxRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MethodRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Opcode.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodeGroup.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OuterClassRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$RuleSet.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$SourceRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchLabelRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TryCatchRule.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ASMContentHandlerFactory.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ContentHandlerFactory.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$EntryElement.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$InputSlicingHandler.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$OutputSlicingHandler.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ProtectedInputStream.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriterFactory.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SingleDocElement.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SubdocumentHandlerFactory.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$TransformerHandlerFactory.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ZipEntryElement.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXClassAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXCodeAdapter.class create mode 100644 libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXFieldAdapter.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletClassLoader.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletSecurityManager.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletTag.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletContext.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletStub.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/ErrorApplet.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletContext.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletViewer.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletWindow.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletContext.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/TagParser.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/CallbackUtil.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent$ExitTask.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/common/SecurityProviderInfo.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/FileArgumentCallback.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Option.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionException.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionGroup.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Action.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Entry.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Extractor.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Indexer.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Lister.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$HandleFile.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$JarParser.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$ModeOption.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/Updater.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jar/WorkSet.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/HashUtils.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarSigner.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParser.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParserCallback.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniIncludePrinter.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/FieldHelper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniHelper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PackageWrapper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Printer.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/Text.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command$ShutdownHook.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$NoParseOption.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$ShutdownHook.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$HandleFile.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContext.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContextMap.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap$Entry.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/AbstractMethodGenerator.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmicBackend.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$AdaptedReader.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$WriteToDiskTask.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable$WriteToDiskTask.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/serialver/Messages.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main.class create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Messages.class create mode 100644 libjava/classpath/tools/external/README create mode 100644 libjava/classpath/tools/external/asm/LICENSE.txt create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationWriter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Attribute.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/ByteVector.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/ClassAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/ClassReader.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/ClassVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/ClassWriter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Edge.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/FieldVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/FieldWriter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Handler.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Item.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Label.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/MethodAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/MethodVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/MethodWriter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Opcodes.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/Type.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapAttribute.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapFrame.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapTableAttribute.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapType.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/AdviceAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/EmptyVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/GeneratorAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/LocalVariablesSorter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/Method.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/StaticInitMerger.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/TableSwitchGenerator.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassOptimizer.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Constant.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ConstantPool.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/JarOptimizer.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodOptimizer.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/NameMapping.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Shrinker.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureReader.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureWriter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AbstractInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AnnotationNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/ClassNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IincInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InnerClassNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IntInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/JumpInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LabelNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LdcInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LineNumberNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LocalVariableNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MemberNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TableSwitchInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TryCatchBlockNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TypeInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/VarInsnNode.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Analyzer.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/AnalyzerException.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicValue.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicVerifier.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowValue.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Frame.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/IntMap.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Interpreter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SmallSet.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Subroutine.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Value.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierClassVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierFieldVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierMethodVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/AbstractVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckAnnotationAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckClassAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckFieldAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckMethodAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAbstractVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAnnotationVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceClassVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceFieldVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceMethodVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceSignatureVisitor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMifiable.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/Traceable.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/Processor.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXClassAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXCodeAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXFieldAdapter.java create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd create mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html create mode 100644 libjava/classpath/tools/gjavah.in delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/AbstractMethodGenerator.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/HelpPrinter.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/appletviewer/AppletWarning.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/appletviewer/Messages.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/common/Messages.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/common/Persistent.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/getopt/ClasspathToolParser.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/getopt/package.html delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/NameService.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/NamingService.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/README delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/CompilationError.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/Generator.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopIo.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/HashFinder.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/ImplTie.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/CniIncludePrinter.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/FieldHelper.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/JniHelper.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/Main.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/PackageWrapper.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/Printer.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/javah/Text.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/orbd/Messages.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContext.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContextMap.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentMap.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/Persistent.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentHashTable.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.txt delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl.java delete mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/Messages.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/RMICException.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/RmicBackend.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/Variables.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/ImplTie.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethod.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethodVoid.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12Method.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12MethodVoid.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Tie.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethod.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethodVoid.jav create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmid/Main.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmid/Messages.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Main.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Messages.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/tnameserv/Main.java create mode 100644 libjava/classpath/tools/gnu/classpath/tools/tnameserv/Messages.java create mode 100644 libjava/classpath/tools/gorbd.in create mode 100644 libjava/classpath/tools/grmic.in create mode 100644 libjava/classpath/tools/grmid.in create mode 100644 libjava/classpath/tools/grmiregistry.in create mode 100644 libjava/classpath/tools/gtnameserv.in create mode 100644 libjava/classpath/vm/.cvsignore create mode 100644 libjava/classpath/vm/reference/.cvsignore create mode 100644 libjava/gnu/CORBA/Asynchron.h create mode 100644 libjava/gnu/CORBA/BigDecimalHelper.h create mode 100644 libjava/gnu/CORBA/ByteArrayComparator.h create mode 100644 libjava/gnu/CORBA/CDR/AbstractCdrInput.h create mode 100644 libjava/gnu/CORBA/CDR/AbstractCdrOutput.h create mode 100644 libjava/gnu/CORBA/CDR/AbstractDataInput.h create mode 100644 libjava/gnu/CORBA/CDR/AbstractDataOutput.h create mode 100644 libjava/gnu/CORBA/CDR/AligningInput.h create mode 100644 libjava/gnu/CORBA/CDR/AligningOutput.h create mode 100644 libjava/gnu/CORBA/CDR/ArrayValueHelper.h create mode 100644 libjava/gnu/CORBA/CDR/BigEndianInputStream.h create mode 100644 libjava/gnu/CORBA/CDR/BigEndianOutputStream.h create mode 100644 libjava/gnu/CORBA/CDR/BufferedCdrOutput.h create mode 100644 libjava/gnu/CORBA/CDR/BufferredCdrInput.h create mode 100644 libjava/gnu/CORBA/CDR/EncapsulationStream.h create mode 100644 libjava/gnu/CORBA/CDR/HeadlessInput.h create mode 100644 libjava/gnu/CORBA/CDR/IDLTypeHelper.h create mode 100644 libjava/gnu/CORBA/CDR/LittleEndianInputStream.h create mode 100644 libjava/gnu/CORBA/CDR/LittleEndianOutputStream.h create mode 100644 libjava/gnu/CORBA/CDR/UnknownExceptionCtxHandler.h create mode 100644 libjava/gnu/CORBA/CDR/VMVio.h create mode 100644 libjava/gnu/CORBA/CDR/Vio.h create mode 100644 libjava/gnu/CORBA/CDR/gnuRuntime$1.h create mode 100644 libjava/gnu/CORBA/CDR/gnuRuntime$Entry.h create mode 100644 libjava/gnu/CORBA/CDR/gnuRuntime$Redirection.h create mode 100644 libjava/gnu/CORBA/CDR/gnuRuntime.h create mode 100644 libjava/gnu/CORBA/CDR/gnuValueStream.h create mode 100644 libjava/gnu/CORBA/CdrEncapsCodecImpl.h create mode 100644 libjava/gnu/CORBA/CollocatedOrbs.h create mode 100644 libjava/gnu/CORBA/Connected_objects$cObject.h create mode 100644 libjava/gnu/CORBA/Connected_objects.h create mode 100644 libjava/gnu/CORBA/CorbaList.h create mode 100644 libjava/gnu/CORBA/DefaultSocketFactory.h create mode 100644 libjava/gnu/CORBA/DefinitionKindHolder.h create mode 100644 libjava/gnu/CORBA/DuplicateNameHolder.h create mode 100644 libjava/gnu/CORBA/DynAn/AbstractAny.h create mode 100644 libjava/gnu/CORBA/DynAn/DivideableAny.h create mode 100644 libjava/gnu/CORBA/DynAn/NameValuePairHolder.h create mode 100644 libjava/gnu/CORBA/DynAn/RecordAny.h delete mode 100644 libjava/gnu/CORBA/DynAn/RecordAny.java create mode 100644 libjava/gnu/CORBA/DynAn/UndivideableAny.h create mode 100644 libjava/gnu/CORBA/DynAn/ValueChangeListener.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynAny.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynAnyFactory.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynArray.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynEnum.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynFixed.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynSequence.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynStruct.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynUnion.h create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynValue.h delete mode 100644 libjava/gnu/CORBA/DynAn/gnuDynValue.java create mode 100644 libjava/gnu/CORBA/DynAn/gnuDynValueBox.h create mode 100644 libjava/gnu/CORBA/DynAnySeqHolder.h create mode 100644 libjava/gnu/CORBA/EmptyExceptionHolder.h create mode 100644 libjava/gnu/CORBA/ForwardRequestHelper.h create mode 100644 libjava/gnu/CORBA/GIOP/CancelHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/CharSets_OSF.h create mode 100644 libjava/gnu/CORBA/GIOP/CloseMessage.h create mode 100644 libjava/gnu/CORBA/GIOP/CodeSetServiceContext.h create mode 100644 libjava/gnu/CORBA/GIOP/ContextHandler.h create mode 100644 libjava/gnu/CORBA/GIOP/ErrorMessage.h create mode 100644 libjava/gnu/CORBA/GIOP/MessageHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/ReplyHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/RequestHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/ServiceContext.h create mode 100644 libjava/gnu/CORBA/GIOP/v1_0/CancelHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/v1_0/ReplyHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/v1_0/RequestHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/v1_2/ReplyHeader.h create mode 100644 libjava/gnu/CORBA/GIOP/v1_2/RequestHeader.h create mode 100644 libjava/gnu/CORBA/GeneralHolder.h create mode 100644 libjava/gnu/CORBA/HolderLocator.h create mode 100644 libjava/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.h create mode 100644 libjava/gnu/CORBA/IOR$CodeSets_profile.h create mode 100644 libjava/gnu/CORBA/IOR$Internet_profile.h create mode 100644 libjava/gnu/CORBA/IOR.h create mode 100644 libjava/gnu/CORBA/Interceptor/ClientRequestInterceptors.h create mode 100644 libjava/gnu/CORBA/Interceptor/ForwardRequestHolder.h create mode 100644 libjava/gnu/CORBA/Interceptor/IORInterceptors.h create mode 100644 libjava/gnu/CORBA/Interceptor/Registrator.h create mode 100644 libjava/gnu/CORBA/Interceptor/ServerRequestInterceptors.h create mode 100644 libjava/gnu/CORBA/Interceptor/gnuClientRequestInfo.h create mode 100644 libjava/gnu/CORBA/Interceptor/gnuIcCurrent.h create mode 100644 libjava/gnu/CORBA/Interceptor/gnuIorInfo.h create mode 100644 libjava/gnu/CORBA/Interceptor/gnuServerRequestInfo.h create mode 100644 libjava/gnu/CORBA/IorDelegate.h create mode 100644 libjava/gnu/CORBA/IorObject.h create mode 100644 libjava/gnu/CORBA/IorProvider.h create mode 100644 libjava/gnu/CORBA/Minor.h create mode 100644 libjava/gnu/CORBA/NameDynAnyPairHolder.h create mode 100644 libjava/gnu/CORBA/NameDynAnyPairSeqHolder.h create mode 100644 libjava/gnu/CORBA/NameValuePairHolder.h create mode 100644 libjava/gnu/CORBA/NameValuePairSeqHolder.h create mode 100644 libjava/gnu/CORBA/NamingService/Binding_iterator_impl.h create mode 100644 libjava/gnu/CORBA/NamingService/Ext.h create mode 100644 libjava/gnu/CORBA/NamingService/NameComponentComparator.h create mode 100644 libjava/gnu/CORBA/NamingService/NameParser.h create mode 100644 libjava/gnu/CORBA/NamingService/NameTransformer.h create mode 100644 libjava/gnu/CORBA/NamingService/NameValidator.h create mode 100644 libjava/gnu/CORBA/NamingService/NamingMap.h create mode 100644 libjava/gnu/CORBA/NamingService/NamingServiceTransient$1.h create mode 100644 libjava/gnu/CORBA/NamingService/NamingServiceTransient.h create mode 100644 libjava/gnu/CORBA/NamingService/TransientContext.h create mode 100644 libjava/gnu/CORBA/ObjectCreator.h delete mode 100644 libjava/gnu/CORBA/ObjectCreator.java create mode 100644 libjava/gnu/CORBA/OctetHolder.h create mode 100644 libjava/gnu/CORBA/OrbFocused.h create mode 100644 libjava/gnu/CORBA/OrbFunctional$1.h create mode 100644 libjava/gnu/CORBA/OrbFunctional$2.h create mode 100644 libjava/gnu/CORBA/OrbFunctional$portServer.h create mode 100644 libjava/gnu/CORBA/OrbFunctional$sharedPortServer.h create mode 100644 libjava/gnu/CORBA/OrbFunctional.h create mode 100644 libjava/gnu/CORBA/OrbRestricted.h create mode 100644 libjava/gnu/CORBA/Poa/AOM$Obj.h create mode 100644 libjava/gnu/CORBA/Poa/AOM.h create mode 100644 libjava/gnu/CORBA/Poa/AccessiblePolicy.h create mode 100644 libjava/gnu/CORBA/Poa/DynamicImpHandler.h create mode 100644 libjava/gnu/CORBA/Poa/ForwardRequestHolder.h create mode 100644 libjava/gnu/CORBA/Poa/ForwardedServant.h create mode 100644 libjava/gnu/CORBA/Poa/InvalidPolicyHolder.h create mode 100644 libjava/gnu/CORBA/Poa/LocalDelegate.h create mode 100644 libjava/gnu/CORBA/Poa/LocalRequest.h create mode 100644 libjava/gnu/CORBA/Poa/LocalServerRequest.h create mode 100644 libjava/gnu/CORBA/Poa/ORB_1_4.h create mode 100644 libjava/gnu/CORBA/Poa/ServantDelegateImpl.h create mode 100644 libjava/gnu/CORBA/Poa/StandardPolicies.h create mode 100644 libjava/gnu/CORBA/Poa/gnuAdapterActivator.h create mode 100644 libjava/gnu/CORBA/Poa/gnuForwardRequest.h create mode 100644 libjava/gnu/CORBA/Poa/gnuIdAssignmentPolicy.h create mode 100644 libjava/gnu/CORBA/Poa/gnuIdUniquenessPolicy.h create mode 100644 libjava/gnu/CORBA/Poa/gnuImplicitActivationPolicy.h create mode 100644 libjava/gnu/CORBA/Poa/gnuLifespanPolicy.h create mode 100644 libjava/gnu/CORBA/Poa/gnuPOA$RefTemplate.h create mode 100644 libjava/gnu/CORBA/Poa/gnuPOA.h create mode 100644 libjava/gnu/CORBA/Poa/gnuPOAManager.h create mode 100644 libjava/gnu/CORBA/Poa/gnuPoaCurrent.h create mode 100644 libjava/gnu/CORBA/Poa/gnuRequestProcessingPolicy.h create mode 100644 libjava/gnu/CORBA/Poa/gnuServantObject.h create mode 100644 libjava/gnu/CORBA/Poa/gnuServantRetentionPolicy.h create mode 100644 libjava/gnu/CORBA/Poa/gnuThreadPolicy.h create mode 100644 libjava/gnu/CORBA/RawReply.h create mode 100644 libjava/gnu/CORBA/ResponseHandlerImpl.h create mode 100644 libjava/gnu/CORBA/SafeForDirectCalls.h create mode 100644 libjava/gnu/CORBA/ServiceDetailHolder.h create mode 100644 libjava/gnu/CORBA/ServiceRequestAdapter.h create mode 100644 libjava/gnu/CORBA/SetOverrideTypeHolder.h create mode 100644 libjava/gnu/CORBA/SimpleDelegate.h create mode 100644 libjava/gnu/CORBA/SocketRepository.h create mode 100644 libjava/gnu/CORBA/StreamBasedRequest.h create mode 100644 libjava/gnu/CORBA/StreamHolder.h create mode 100644 libjava/gnu/CORBA/StubLocator.h create mode 100644 libjava/gnu/CORBA/TypeCodeHelper.h create mode 100644 libjava/gnu/CORBA/TypeKindNamer.h create mode 100644 libjava/gnu/CORBA/Unexpected.h create mode 100644 libjava/gnu/CORBA/Version.h create mode 100644 libjava/gnu/CORBA/WCharHolder.h create mode 100644 libjava/gnu/CORBA/WStringHolder.h create mode 100644 libjava/gnu/CORBA/_PolicyImplBase.h create mode 100644 libjava/gnu/CORBA/gnuAny.h create mode 100644 libjava/gnu/CORBA/gnuCodecFactory.h create mode 100644 libjava/gnu/CORBA/gnuContext.h create mode 100644 libjava/gnu/CORBA/gnuContextList.h create mode 100644 libjava/gnu/CORBA/gnuEnvironment.h create mode 100644 libjava/gnu/CORBA/gnuExceptionList.h create mode 100644 libjava/gnu/CORBA/gnuNVList.h create mode 100644 libjava/gnu/CORBA/gnuNamedValue.h create mode 100644 libjava/gnu/CORBA/gnuRequest$1.h create mode 100644 libjava/gnu/CORBA/gnuRequest$2.h create mode 100644 libjava/gnu/CORBA/gnuRequest.h create mode 100644 libjava/gnu/CORBA/gnuValueHolder.h create mode 100644 libjava/gnu/CORBA/interfaces/SocketFactory.h create mode 100644 libjava/gnu/CORBA/typecodes/AliasTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/ArrayTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/FixedTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/GeneralTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/PrimitiveTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/RecordTypeCode$Field.h create mode 100644 libjava/gnu/CORBA/typecodes/RecordTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/RecursiveTypeCode.h create mode 100644 libjava/gnu/CORBA/typecodes/StringTypeCode.h create mode 100644 libjava/gnu/awt/LightweightRedirector.h create mode 100644 libjava/gnu/awt/j2d/AbstractGraphicsState.h create mode 100644 libjava/gnu/awt/j2d/DirectRasterGraphics.h create mode 100644 libjava/gnu/awt/j2d/Graphics2DImpl.h create mode 100644 libjava/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.h create mode 100644 libjava/gnu/awt/j2d/IntegerGraphicsState.h create mode 100644 libjava/gnu/awt/j2d/MappedRaster.h create mode 100644 libjava/gnu/classpath/Configuration.h create mode 100644 libjava/gnu/classpath/Configuration.java create mode 100644 libjava/gnu/classpath/ListenerData.h create mode 100644 libjava/gnu/classpath/NotImplementedException.h create mode 100644 libjava/gnu/classpath/Pointer.h create mode 100644 libjava/gnu/classpath/Pointer32.h create mode 100644 libjava/gnu/classpath/Pointer64.h create mode 100644 libjava/gnu/classpath/ServiceFactory$ServiceIterator.h create mode 100644 libjava/gnu/classpath/ServiceFactory.h create mode 100644 libjava/gnu/classpath/ServiceProviderLoadingAction.h create mode 100644 libjava/gnu/classpath/SystemProperties.h create mode 100644 libjava/gnu/classpath/VMStackWalker.h create mode 100644 libjava/gnu/classpath/VMStackWalker.java create mode 100644 libjava/gnu/classpath/debug/Component.h create mode 100644 libjava/gnu/classpath/debug/PreciseFilter.h create mode 100644 libjava/gnu/classpath/debug/Simple1LineFormatter.h create mode 100644 libjava/gnu/classpath/debug/SystemLogger.h create mode 100644 libjava/gnu/classpath/debug/TeeInputStream.h create mode 100644 libjava/gnu/classpath/debug/TeeOutputStream.h create mode 100644 libjava/gnu/classpath/debug/TeeReader.h create mode 100644 libjava/gnu/classpath/debug/TeeWriter.h create mode 100644 libjava/gnu/classpath/jdwp/Jdwp$1.h create mode 100644 libjava/gnu/classpath/jdwp/Jdwp.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$ClassStatus.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$Error.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$EventKind.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$ModKind.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$StepDepth.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$StepSize.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$Tag.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$TypeTag.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants$Version.h create mode 100644 libjava/gnu/classpath/jdwp/JdwpConstants.h create mode 100644 libjava/gnu/classpath/jdwp/VMFrame.h create mode 100644 libjava/gnu/classpath/jdwp/VMIdManager$IdFactory.h create mode 100644 libjava/gnu/classpath/jdwp/VMIdManager$ReferenceKey.h create mode 100644 libjava/gnu/classpath/jdwp/VMIdManager.h create mode 100644 libjava/gnu/classpath/jdwp/VMMethod.h create mode 100644 libjava/gnu/classpath/jdwp/VMVirtualMachine.h create mode 100644 libjava/gnu/classpath/jdwp/event/BreakpointEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/ClassPrepareEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/ClassUnloadEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/Event.h create mode 100644 libjava/gnu/classpath/jdwp/event/EventManager.h create mode 100644 libjava/gnu/classpath/jdwp/event/EventRequest.h create mode 100644 libjava/gnu/classpath/jdwp/event/ExceptionEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/MethodEntryEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/MethodExitEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/SingleStepEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/ThreadEndEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/ThreadStartEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/VmDeathEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/VmInitEvent.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/ClassMatchFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/ConditionalFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/CountFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/IEventFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/StepFilter.h create mode 100644 libjava/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidClassException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidClassLoaderException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidCountException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidEventTypeException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidFieldException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidLocationException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidMethodException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidObjectException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidStringException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidThreadException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/InvalidThreadGroupException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/JdwpException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/JdwpInternalErrorException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/NativeMethodException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/NotImplementedException.h create mode 100644 libjava/gnu/classpath/jdwp/exception/VmDeadException.h create mode 100644 libjava/gnu/classpath/jdwp/id/ArrayId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ArrayReferenceTypeId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ClassLoaderId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ClassObjectId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ClassReferenceTypeId.h create mode 100644 libjava/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.h create mode 100644 libjava/gnu/classpath/jdwp/id/JdwpId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ObjectId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ReferenceTypeId.h create mode 100644 libjava/gnu/classpath/jdwp/id/StringId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ThreadGroupId.h create mode 100644 libjava/gnu/classpath/jdwp/id/ThreadId.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ClassTypeCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/CommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/EventRequestCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/FieldCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/MethodCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/PacketProcessor.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/StackFrameCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/StringReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.h create mode 100644 libjava/gnu/classpath/jdwp/transport/ITransport.h create mode 100644 libjava/gnu/classpath/jdwp/transport/JdwpCommandPacket.h create mode 100644 libjava/gnu/classpath/jdwp/transport/JdwpConnection.h create mode 100644 libjava/gnu/classpath/jdwp/transport/JdwpPacket.h create mode 100644 libjava/gnu/classpath/jdwp/transport/JdwpReplyPacket.h create mode 100644 libjava/gnu/classpath/jdwp/transport/SocketTransport.h create mode 100644 libjava/gnu/classpath/jdwp/transport/TransportException.h create mode 100644 libjava/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.h create mode 100644 libjava/gnu/classpath/jdwp/transport/TransportFactory.h create mode 100644 libjava/gnu/classpath/jdwp/util/JdwpString.h create mode 100644 libjava/gnu/classpath/jdwp/util/LineTable.h create mode 100644 libjava/gnu/classpath/jdwp/util/Location.h create mode 100644 libjava/gnu/classpath/jdwp/util/MethodResult.h create mode 100644 libjava/gnu/classpath/jdwp/util/Signature.h create mode 100644 libjava/gnu/classpath/jdwp/util/Value.h create mode 100644 libjava/gnu/classpath/jdwp/util/VariableTable.h create mode 100644 libjava/gnu/classpath/natConfiguration.cc create mode 100644 libjava/gnu/classpath/natVMStackWalker.cc create mode 100644 libjava/gnu/gcj/Core.h create mode 100644 libjava/gnu/gcj/RawData.h create mode 100644 libjava/gnu/gcj/RawDataManaged.h create mode 100644 libjava/gnu/gcj/convert/BytesToCharsetAdaptor.h create mode 100644 libjava/gnu/gcj/convert/BytesToUnicode.h create mode 100644 libjava/gnu/gcj/convert/CharsetToBytesAdaptor.h create mode 100644 libjava/gnu/gcj/convert/Convert.h create mode 100644 libjava/gnu/gcj/convert/IOConverter.h create mode 100644 libjava/gnu/gcj/convert/Input_8859_1.h create mode 100644 libjava/gnu/gcj/convert/Input_ASCII.h create mode 100644 libjava/gnu/gcj/convert/Input_EUCJIS.h create mode 100644 libjava/gnu/gcj/convert/Input_JavaSrc.h create mode 100644 libjava/gnu/gcj/convert/Input_SJIS.h create mode 100644 libjava/gnu/gcj/convert/Input_UTF8.h create mode 100644 libjava/gnu/gcj/convert/Input_UnicodeBig.h create mode 100644 libjava/gnu/gcj/convert/Input_UnicodeLittle.h create mode 100644 libjava/gnu/gcj/convert/Input_iconv.h create mode 100644 libjava/gnu/gcj/convert/Output_8859_1.h create mode 100644 libjava/gnu/gcj/convert/Output_ASCII.h create mode 100644 libjava/gnu/gcj/convert/Output_EUCJIS.h create mode 100644 libjava/gnu/gcj/convert/Output_JavaSrc.h create mode 100644 libjava/gnu/gcj/convert/Output_SJIS.h create mode 100644 libjava/gnu/gcj/convert/Output_UTF8.h create mode 100644 libjava/gnu/gcj/convert/Output_UnicodeLittleUnmarked.h create mode 100644 libjava/gnu/gcj/convert/Output_iconv.h create mode 100644 libjava/gnu/gcj/convert/UnicodeToBytes.h create mode 100644 libjava/gnu/gcj/io/DefaultMimeTypes.h create mode 100644 libjava/gnu/gcj/io/MimeTypes.h create mode 100644 libjava/gnu/gcj/io/SimpleSHSStream.h create mode 100644 libjava/gnu/gcj/jvmti/Breakpoint.h create mode 100644 libjava/gnu/gcj/jvmti/BreakpointManager.h create mode 100644 libjava/gnu/gcj/jvmti/Location.h create mode 100644 libjava/gnu/gcj/runtime/BootClassLoader.h create mode 100644 libjava/gnu/gcj/runtime/ExtensionClassLoader.h create mode 100644 libjava/gnu/gcj/runtime/FinalizerThread.h create mode 100644 libjava/gnu/gcj/runtime/HelperClassLoader$1.h create mode 100644 libjava/gnu/gcj/runtime/HelperClassLoader.h create mode 100644 libjava/gnu/gcj/runtime/JNIWeakRef.h create mode 100644 libjava/gnu/gcj/runtime/NameFinder$Addr2Line.h create mode 100644 libjava/gnu/gcj/runtime/NameFinder.h create mode 100644 libjava/gnu/gcj/runtime/PersistentByteMap$AccessMode.h create mode 100644 libjava/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.h create mode 100644 libjava/gnu/gcj/runtime/PersistentByteMap$HashIterator.h create mode 100644 libjava/gnu/gcj/runtime/PersistentByteMap$MapEntry.h create mode 100644 libjava/gnu/gcj/runtime/PersistentByteMap.h create mode 100644 libjava/gnu/gcj/runtime/SharedLibHelper.h create mode 100644 libjava/gnu/gcj/runtime/SharedLibLoader.h create mode 100644 libjava/gnu/gcj/runtime/StringBuffer.h create mode 100644 libjava/gnu/gcj/runtime/SystemClassLoader.h create mode 100644 libjava/gnu/gcj/tools/gcj_dbtool/Fileset.h create mode 100644 libjava/gnu/gcj/tools/gcj_dbtool/Main.h create mode 100644 libjava/gnu/gcj/tools/gcj_dbtool/Tokenizer.h create mode 100644 libjava/gnu/gcj/util/Debug.h create mode 100644 libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h create mode 100644 libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h create mode 100644 libjava/gnu/java/awt/AWTUtilities.h create mode 100644 libjava/gnu/java/awt/BitMaskExtent.h create mode 100644 libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h create mode 100644 libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h create mode 100644 libjava/gnu/java/awt/BitwiseXORComposite.h create mode 100644 libjava/gnu/java/awt/Buffers.h create mode 100644 libjava/gnu/java/awt/ClasspathToolkit.h create mode 100644 libjava/gnu/java/awt/ComponentDataBlitOp.h create mode 100644 libjava/gnu/java/awt/ComponentReshapeEvent.h create mode 100644 libjava/gnu/java/awt/EmbeddedWindow.h create mode 100644 libjava/gnu/java/awt/EventModifier.h create mode 100644 libjava/gnu/java/awt/GradientPaintContext.h create mode 100644 libjava/gnu/java/awt/LowPriorityEvent.h create mode 100644 libjava/gnu/java/awt/color/CieXyzConverter.h create mode 100644 libjava/gnu/java/awt/color/ClutProfileConverter.h create mode 100644 libjava/gnu/java/awt/color/ColorLookUpTable.h create mode 100644 libjava/gnu/java/awt/color/ColorSpaceConverter.h create mode 100644 libjava/gnu/java/awt/color/GrayProfileConverter.h create mode 100644 libjava/gnu/java/awt/color/GrayScaleConverter.h create mode 100644 libjava/gnu/java/awt/color/LinearRGBConverter.h create mode 100644 libjava/gnu/java/awt/color/ProfileHeader.h create mode 100644 libjava/gnu/java/awt/color/PyccConverter.h create mode 100644 libjava/gnu/java/awt/color/RgbProfileConverter.h create mode 100644 libjava/gnu/java/awt/color/SrgbConverter.h create mode 100644 libjava/gnu/java/awt/color/TagEntry.h create mode 100644 libjava/gnu/java/awt/color/ToneReproductionCurve.h create mode 100644 libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h create mode 100644 libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h create mode 100644 libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h create mode 100644 libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h create mode 100644 libjava/gnu/java/awt/font/FontDelegate.h create mode 100644 libjava/gnu/java/awt/font/FontFactory.h create mode 100644 libjava/gnu/java/awt/font/GNUGlyphVector.h create mode 100644 libjava/gnu/java/awt/font/autofit/AxisHints.h create mode 100644 libjava/gnu/java/awt/font/autofit/Constants.h create mode 100644 libjava/gnu/java/awt/font/autofit/GlyphHints.h create mode 100644 libjava/gnu/java/awt/font/autofit/Latin.h create mode 100644 libjava/gnu/java/awt/font/autofit/LatinAxis.h create mode 100644 libjava/gnu/java/awt/font/autofit/LatinMetrics.h create mode 100644 libjava/gnu/java/awt/font/autofit/Scaler.h create mode 100644 libjava/gnu/java/awt/font/autofit/Script.h create mode 100644 libjava/gnu/java/awt/font/autofit/ScriptMetrics.h create mode 100644 libjava/gnu/java/awt/font/autofit/Segment.h create mode 100644 libjava/gnu/java/awt/font/autofit/Width.h create mode 100644 libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h create mode 100644 libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h create mode 100644 libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h create mode 100644 libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h create mode 100644 libjava/gnu/java/awt/font/opentype/CharGlyphMap.h create mode 100644 libjava/gnu/java/awt/font/opentype/GlyphNamer.h create mode 100644 libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h create mode 100644 libjava/gnu/java/awt/font/opentype/MacResourceFork.h create mode 100644 libjava/gnu/java/awt/font/opentype/NameDecoder.h create mode 100644 libjava/gnu/java/awt/font/opentype/OpenTypeFont.h create mode 100644 libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h create mode 100644 libjava/gnu/java/awt/font/opentype/Scaler.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/Fixed.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/Zone.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h create mode 100644 libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h create mode 100644 libjava/gnu/java/awt/image/ImageDecoder.h create mode 100644 libjava/gnu/java/awt/image/XBMDecoder.h create mode 100644 libjava/gnu/java/awt/java2d/AbstractGraphics2D.h create mode 100644 libjava/gnu/java/awt/java2d/AlphaCompositeContext.h create mode 100644 libjava/gnu/java/awt/java2d/CubicSegment.h create mode 100644 libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h create mode 100644 libjava/gnu/java/awt/java2d/ImagePaint.h create mode 100644 libjava/gnu/java/awt/java2d/LineSegment.h create mode 100644 libjava/gnu/java/awt/java2d/PolyEdge.h create mode 100644 libjava/gnu/java/awt/java2d/PolyEdgeComparator.h create mode 100644 libjava/gnu/java/awt/java2d/QuadSegment.h create mode 100644 libjava/gnu/java/awt/java2d/RasterGraphics.h create mode 100644 libjava/gnu/java/awt/java2d/Segment.h create mode 100644 libjava/gnu/java/awt/java2d/ShapeCache.h create mode 100644 libjava/gnu/java/awt/java2d/TexturePaintContext.h create mode 100644 libjava/gnu/java/awt/peer/ClasspathFontPeer.h create mode 100644 libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h create mode 100644 libjava/gnu/java/awt/peer/GLightweightPeer.h create mode 100644 libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h create mode 100644 libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h create mode 100644 libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h create mode 100644 libjava/gnu/java/awt/peer/gtk/AsyncImage.h create mode 100644 libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h create mode 100644 libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h create mode 100644 libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/CairoSurface.h create mode 100644 libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h create mode 100644 libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h create mode 100644 libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h create mode 100644 libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GThreadMutex.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkClipboard.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkCursor.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkImage.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkListPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkMainThread.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkSelection.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkToolkit.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h create mode 100644 libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h create mode 100644 libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h create mode 100644 libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h create mode 100644 libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h create mode 100644 libjava/gnu/java/awt/peer/qt/MainQtThread.h create mode 100644 libjava/gnu/java/awt/peer/qt/NativeWrapper.h create mode 100644 libjava/gnu/java/awt/peer/qt/QMatrix.h create mode 100644 libjava/gnu/java/awt/peer/qt/QPainterPath.h create mode 100644 libjava/gnu/java/awt/peer/qt/QPen.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtAudioClip.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtButtonPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtChoicePeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtComponentPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtContainerPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtDialogPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtFontMetrics.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtFontPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtFramePeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtGraphics.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtImage.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtImageConsumer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtImageGraphics.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtLabelPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtListPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtMenuPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtPanelPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtRepaintThread.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtScreenDevice.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtToolkit.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtVolatileImage.h create mode 100644 libjava/gnu/java/awt/peer/qt/QtWindowPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingComponent.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingFramePeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingListPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingToolkit.h create mode 100644 libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h create mode 100644 libjava/gnu/java/awt/print/JavaPrinterGraphics.h create mode 100644 libjava/gnu/java/awt/print/JavaPrinterJob.h create mode 100644 libjava/gnu/java/awt/print/PostScriptGraphics2D.h create mode 100644 libjava/gnu/java/awt/print/SpooledDocument.h create mode 100644 libjava/gnu/java/beans/BeanInfoEmbryo.h create mode 100644 libjava/gnu/java/beans/DefaultExceptionListener.h create mode 100644 libjava/gnu/java/beans/DoubleKey.h create mode 100644 libjava/gnu/java/beans/DummyAppletContext.h create mode 100644 libjava/gnu/java/beans/DummyAppletStub.h create mode 100644 libjava/gnu/java/beans/ExplicitBeanInfo.h create mode 100644 libjava/gnu/java/beans/IntrospectionIncubator.h create mode 100644 libjava/gnu/java/beans/decoder/AbstractContext.h create mode 100644 libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h create mode 100644 libjava/gnu/java/beans/decoder/AbstractElementHandler.h create mode 100644 libjava/gnu/java/beans/decoder/AbstractObjectContext.h create mode 100644 libjava/gnu/java/beans/decoder/ArrayContext.h create mode 100644 libjava/gnu/java/beans/decoder/ArrayHandler.h create mode 100644 libjava/gnu/java/beans/decoder/AssemblyException.h create mode 100644 libjava/gnu/java/beans/decoder/BooleanHandler.h create mode 100644 libjava/gnu/java/beans/decoder/ByteHandler.h create mode 100644 libjava/gnu/java/beans/decoder/CharHandler.h create mode 100644 libjava/gnu/java/beans/decoder/ClassHandler.h create mode 100644 libjava/gnu/java/beans/decoder/ConstructorContext.h create mode 100644 libjava/gnu/java/beans/decoder/Context.h create mode 100644 libjava/gnu/java/beans/decoder/DecoderContext.h create mode 100644 libjava/gnu/java/beans/decoder/DoubleHandler.h create mode 100644 libjava/gnu/java/beans/decoder/DummyContext.h create mode 100644 libjava/gnu/java/beans/decoder/DummyHandler.h create mode 100644 libjava/gnu/java/beans/decoder/ElementHandler.h create mode 100644 libjava/gnu/java/beans/decoder/FloatHandler.h create mode 100644 libjava/gnu/java/beans/decoder/GrowableArrayContext.h create mode 100644 libjava/gnu/java/beans/decoder/IndexContext.h create mode 100644 libjava/gnu/java/beans/decoder/IntHandler.h create mode 100644 libjava/gnu/java/beans/decoder/JavaHandler.h create mode 100644 libjava/gnu/java/beans/decoder/LongHandler.h create mode 100644 libjava/gnu/java/beans/decoder/MethodContext.h create mode 100644 libjava/gnu/java/beans/decoder/MethodFinder.h create mode 100644 libjava/gnu/java/beans/decoder/NullHandler.h create mode 100644 libjava/gnu/java/beans/decoder/ObjectContext.h create mode 100644 libjava/gnu/java/beans/decoder/ObjectHandler.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h create mode 100644 libjava/gnu/java/beans/decoder/PersistenceParser.h create mode 100644 libjava/gnu/java/beans/decoder/PropertyContext.h create mode 100644 libjava/gnu/java/beans/decoder/ShortHandler.h create mode 100644 libjava/gnu/java/beans/decoder/SimpleHandler.h create mode 100644 libjava/gnu/java/beans/decoder/StaticMethodContext.h create mode 100644 libjava/gnu/java/beans/decoder/StringHandler.h create mode 100644 libjava/gnu/java/beans/decoder/VoidHandler.h create mode 100644 libjava/gnu/java/beans/editors/ColorEditor.h create mode 100644 libjava/gnu/java/beans/editors/FontEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeBooleanEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeByteEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeDoubleEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeFloatEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeIntEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeLongEditor.h create mode 100644 libjava/gnu/java/beans/editors/NativeShortEditor.h create mode 100644 libjava/gnu/java/beans/editors/StringEditor.h create mode 100644 libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h create mode 100644 libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h create mode 100644 libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h create mode 100644 libjava/gnu/java/beans/encoder/Context.h create mode 100644 libjava/gnu/java/beans/encoder/GenericScannerState.h create mode 100644 libjava/gnu/java/beans/encoder/IgnoringScannerState.h create mode 100644 libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h create mode 100644 libjava/gnu/java/beans/encoder/ObjectId.h create mode 100644 libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h create mode 100644 libjava/gnu/java/beans/encoder/ReportingScannerState.h create mode 100644 libjava/gnu/java/beans/encoder/Root$RootElement.h create mode 100644 libjava/gnu/java/beans/encoder/Root.h create mode 100644 libjava/gnu/java/beans/encoder/ScanEngine.h create mode 100644 libjava/gnu/java/beans/encoder/ScannerState.h create mode 100644 libjava/gnu/java/beans/encoder/StAXWriter.h create mode 100644 libjava/gnu/java/beans/encoder/Writer.h create mode 100644 libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h create mode 100644 libjava/gnu/java/beans/encoder/elements/Array_Get.h create mode 100644 libjava/gnu/java/beans/encoder/elements/Array_Set.h create mode 100644 libjava/gnu/java/beans/encoder/elements/ClassResolution.h create mode 100644 libjava/gnu/java/beans/encoder/elements/Element.h create mode 100644 libjava/gnu/java/beans/encoder/elements/List_Get.h create mode 100644 libjava/gnu/java/beans/encoder/elements/List_Set.h create mode 100644 libjava/gnu/java/beans/encoder/elements/MethodInvocation.h create mode 100644 libjava/gnu/java/beans/encoder/elements/NullObject.h create mode 100644 libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h create mode 100644 libjava/gnu/java/beans/encoder/elements/ObjectReference.h create mode 100644 libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h create mode 100644 libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h create mode 100644 libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h create mode 100644 libjava/gnu/java/beans/encoder/elements/StringReference.h create mode 100644 libjava/gnu/java/io/ASN1ParsingException.h create mode 100644 libjava/gnu/java/io/Base64InputStream.h create mode 100644 libjava/gnu/java/io/ClassLoaderObjectInputStream.h create mode 100644 libjava/gnu/java/io/NullOutputStream.h create mode 100644 libjava/gnu/java/io/ObjectIdentityMap2Int.h create mode 100644 libjava/gnu/java/io/ObjectIdentityWrapper.h create mode 100644 libjava/gnu/java/io/PlatformHelper.h create mode 100644 libjava/gnu/java/lang/ArrayHelper.h create mode 100644 libjava/gnu/java/lang/CharData.h create mode 100644 libjava/gnu/java/lang/ClassHelper.h create mode 100644 libjava/gnu/java/lang/InstrumentationImpl.h create mode 100644 libjava/gnu/java/lang/MainThread.h create mode 100644 libjava/gnu/java/lang/VMInstrumentationImpl.h create mode 100644 libjava/gnu/java/lang/management/BeanImpl.h create mode 100644 libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/CompilationMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h create mode 100644 libjava/gnu/java/lang/management/MemoryMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/ThreadMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc create mode 100644 libjava/gnu/java/lang/reflect/ClassSignatureParser.h create mode 100644 libjava/gnu/java/lang/reflect/FieldSignatureParser.h create mode 100644 libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h create mode 100644 libjava/gnu/java/lang/reflect/GenericSignatureParser.h create mode 100644 libjava/gnu/java/lang/reflect/MethodSignatureParser.h create mode 100644 libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h create mode 100644 libjava/gnu/java/lang/reflect/TypeImpl.h create mode 100644 libjava/gnu/java/lang/reflect/TypeSignature.h create mode 100644 libjava/gnu/java/lang/reflect/TypeVariableImpl.h create mode 100644 libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h create mode 100644 libjava/gnu/java/lang/reflect/WildcardTypeImpl.h create mode 100644 libjava/gnu/java/locale/Calendar.h create mode 100644 libjava/gnu/java/locale/Calendar_de.h create mode 100644 libjava/gnu/java/locale/Calendar_en.h create mode 100644 libjava/gnu/java/locale/Calendar_nl.h create mode 100644 libjava/gnu/java/locale/LocaleData.h create mode 100644 libjava/gnu/java/locale/LocaleHelper.h create mode 100644 libjava/gnu/java/locale/LocaleInformation.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_af_ZA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_AE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_BH.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_DZ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_EG.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_IQ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_JO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_KW.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_LB.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_LY.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_MA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_OM.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_QA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_SD.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_SY.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_TN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ar_YE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_be_BY.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_bn_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_br_FR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_bs_BA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ca_ES.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_cs_CZ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_cy_GB.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_da_DK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_de.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_de_AT.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_de_BE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_de_CH.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_de_DE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_de_LU.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_el_GR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_AU.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_BW.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_CA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_DK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_GB.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_HK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_IE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_NZ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_PH.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_SG.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_US.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_ZA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_en_ZW.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_AR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_BO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_CL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_CO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_CR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_DO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_EC.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_ES.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_GT.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_HN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_MX.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_NI.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_PA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_PE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_PR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_PY.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_SV.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_US.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_UY.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_es_VE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_et_EE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_eu_ES.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fa_IR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fi_FI.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fo_FO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fr_BE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fr_CA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fr_CH.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fr_FR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_fr_LU.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ga_IE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_gd_GB.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_gl_ES.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_gv_GB.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_he_IL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_hi_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_hr_HR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_hu_HU.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_id_ID.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_it_CH.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_it_IT.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_iw_IL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ja_JP.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ka_GE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_kl_GL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ko_KR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_kw_GB.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_lt_LT.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_lv_LV.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_mi_NZ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_mk_MK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_mr_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_mt_MT.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_nl.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_nl_BE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_nl_NL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_nn_NO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_no_NO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_oc_FR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_pl_PL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_pt_BR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_pt_PT.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ro_RO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ru_RU.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ru_UA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_se_NO.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_sk_SK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_sl_SI.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_sq_AL.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_sr_YU.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_sv_FI.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_sv_SE.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ta_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_te_IN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_tg_TJ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_tl_PH.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_tr_TR.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_uk_UA.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_ur_PK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_uz_UZ.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_vi_VN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_yi_US.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_zh_CN.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_zh_HK.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_zh_SG.h create mode 100644 libjava/gnu/java/locale/LocaleInformation_zh_TW.h create mode 100644 libjava/gnu/java/math/MPN.h create mode 100644 libjava/gnu/java/net/BASE64.h create mode 100644 libjava/gnu/java/net/CRLFInputStream.h create mode 100644 libjava/gnu/java/net/CRLFOutputStream.h create mode 100644 libjava/gnu/java/net/DefaultContentHandlerFactory.h create mode 100644 libjava/gnu/java/net/DefaultProxySelector.h create mode 100644 libjava/gnu/java/net/EmptyX509TrustManager.h create mode 100644 libjava/gnu/java/net/GetLocalHostAction.h create mode 100644 libjava/gnu/java/net/HeaderFieldHelper.h create mode 100644 libjava/gnu/java/net/ImageHandler.h create mode 100644 libjava/gnu/java/net/IndexListParser.h create mode 100644 libjava/gnu/java/net/LineInputStream.h create mode 100644 libjava/gnu/java/net/PlainDatagramSocketImpl.h create mode 100644 libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h create mode 100644 libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h create mode 100644 libjava/gnu/java/net/PlainSocketImpl.h create mode 100644 libjava/gnu/java/net/URLParseError.h create mode 100644 libjava/gnu/java/net/loader/FileResource.h create mode 100644 libjava/gnu/java/net/loader/FileURLLoader.h create mode 100644 libjava/gnu/java/net/loader/JarURLLoader.h create mode 100644 libjava/gnu/java/net/loader/JarURLResource.h create mode 100644 libjava/gnu/java/net/loader/RemoteResource.h create mode 100644 libjava/gnu/java/net/loader/RemoteURLLoader.h create mode 100644 libjava/gnu/java/net/loader/Resource.h create mode 100644 libjava/gnu/java/net/loader/URLLoader.h create mode 100644 libjava/gnu/java/net/loader/URLStreamHandlerCache.h create mode 100644 libjava/gnu/java/net/local/LocalServerSocket.h create mode 100644 libjava/gnu/java/net/local/LocalSocket.h create mode 100644 libjava/gnu/java/net/local/LocalSocketAddress.h create mode 100644 libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h create mode 100644 libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h create mode 100644 libjava/gnu/java/net/local/LocalSocketImpl.h create mode 100644 libjava/gnu/java/net/protocol/core/Connection.h create mode 100644 libjava/gnu/java/net/protocol/core/CoreInputStream.h create mode 100644 libjava/gnu/java/net/protocol/core/Handler.h create mode 100644 libjava/gnu/java/net/protocol/file/Connection$StaticData.h create mode 100644 libjava/gnu/java/net/protocol/file/Connection.h create mode 100644 libjava/gnu/java/net/protocol/file/Handler.h create mode 100644 libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h create mode 100644 libjava/gnu/java/net/protocol/ftp/BlockInputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/DTP.h create mode 100644 libjava/gnu/java/net/protocol/ftp/DTPInputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/FTPConnection.h create mode 100644 libjava/gnu/java/net/protocol/ftp/FTPException.h create mode 100644 libjava/gnu/java/net/protocol/ftp/FTPResponse.h create mode 100644 libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h create mode 100644 libjava/gnu/java/net/protocol/ftp/Handler.h create mode 100644 libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h create mode 100644 libjava/gnu/java/net/protocol/ftp/StreamInputStream.h create mode 100644 libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h create mode 100644 libjava/gnu/java/net/protocol/gcjlib/Connection.h create mode 100644 libjava/gnu/java/net/protocol/gcjlib/Handler.h create mode 100644 libjava/gnu/java/net/protocol/http/Authenticator.h create mode 100644 libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h create mode 100644 libjava/gnu/java/net/protocol/http/ChunkedInputStream.h create mode 100644 libjava/gnu/java/net/protocol/http/Cookie.h create mode 100644 libjava/gnu/java/net/protocol/http/CookieManager.h create mode 100644 libjava/gnu/java/net/protocol/http/Credentials.h create mode 100644 libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h create mode 100644 libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h create mode 100644 libjava/gnu/java/net/protocol/http/HTTPConnection.h create mode 100644 libjava/gnu/java/net/protocol/http/HTTPDateFormat.h create mode 100644 libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h create mode 100644 libjava/gnu/java/net/protocol/http/HTTPURLConnection.h create mode 100644 libjava/gnu/java/net/protocol/http/Handler.h create mode 100644 libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h create mode 100644 libjava/gnu/java/net/protocol/http/Headers.h create mode 100644 libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h create mode 100644 libjava/gnu/java/net/protocol/http/Request.h create mode 100644 libjava/gnu/java/net/protocol/http/RequestBodyWriter.h create mode 100644 libjava/gnu/java/net/protocol/http/Response.h create mode 100644 libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h create mode 100644 libjava/gnu/java/net/protocol/http/SimpleCookieManager.h create mode 100644 libjava/gnu/java/net/protocol/https/Handler.h create mode 100644 libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h create mode 100644 libjava/gnu/java/net/protocol/jar/Connection.h create mode 100644 libjava/gnu/java/net/protocol/jar/Handler.h create mode 100644 libjava/gnu/java/nio/ChannelInputStream.h create mode 100644 libjava/gnu/java/nio/ChannelOutputStream.h create mode 100644 libjava/gnu/java/nio/ChannelReader.h create mode 100644 libjava/gnu/java/nio/ChannelWriter.h create mode 100644 libjava/gnu/java/nio/DatagramChannelImpl.h create mode 100644 libjava/gnu/java/nio/DatagramChannelSelectionKey.h create mode 100644 libjava/gnu/java/nio/EpollSelectionKeyImpl.h create mode 100644 libjava/gnu/java/nio/FileLockImpl.h create mode 100644 libjava/gnu/java/nio/FileLockImpl.java create mode 100644 libjava/gnu/java/nio/InputStreamChannel.h create mode 100644 libjava/gnu/java/nio/KqueueSelectionKeyImpl.h create mode 100644 libjava/gnu/java/nio/NIOConstants.h create mode 100644 libjava/gnu/java/nio/NIODatagramSocket.h create mode 100644 libjava/gnu/java/nio/NIOServerSocket.h create mode 100644 libjava/gnu/java/nio/NIOSocket.h create mode 100644 libjava/gnu/java/nio/NIOSocket.java create mode 100644 libjava/gnu/java/nio/OutputStreamChannel.h create mode 100644 libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h create mode 100644 libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h create mode 100644 libjava/gnu/java/nio/PipeImpl.h create mode 100644 libjava/gnu/java/nio/PipeImpl.java create mode 100644 libjava/gnu/java/nio/SelectionKeyImpl.h create mode 100644 libjava/gnu/java/nio/SelectorImpl.h create mode 100644 libjava/gnu/java/nio/SelectorProviderImpl.h create mode 100644 libjava/gnu/java/nio/SelectorProviderImpl.java create mode 100644 libjava/gnu/java/nio/ServerSocketChannelImpl.h create mode 100644 libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h create mode 100644 libjava/gnu/java/nio/SocketChannelImpl.h create mode 100644 libjava/gnu/java/nio/SocketChannelSelectionKey.h create mode 100644 libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h create mode 100644 libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java create mode 100644 libjava/gnu/java/nio/VMChannel.h create mode 100644 libjava/gnu/java/nio/VMChannelOwner.h create mode 100644 libjava/gnu/java/nio/VMPipe.h create mode 100644 libjava/gnu/java/nio/VMSelector.h create mode 100644 libjava/gnu/java/nio/channels/FileChannelImpl.h create mode 100644 libjava/gnu/java/nio/charset/ByteCharset$Decoder.h create mode 100644 libjava/gnu/java/nio/charset/ByteCharset$Encoder.h create mode 100644 libjava/gnu/java/nio/charset/ByteCharset.h create mode 100644 libjava/gnu/java/nio/charset/Cp424.h create mode 100644 libjava/gnu/java/nio/charset/Cp437.h create mode 100644 libjava/gnu/java/nio/charset/Cp737.h create mode 100644 libjava/gnu/java/nio/charset/Cp775.h create mode 100644 libjava/gnu/java/nio/charset/Cp850.h create mode 100644 libjava/gnu/java/nio/charset/Cp852.h create mode 100644 libjava/gnu/java/nio/charset/Cp855.h create mode 100644 libjava/gnu/java/nio/charset/Cp857.h create mode 100644 libjava/gnu/java/nio/charset/Cp860.h create mode 100644 libjava/gnu/java/nio/charset/Cp861.h create mode 100644 libjava/gnu/java/nio/charset/Cp862.h create mode 100644 libjava/gnu/java/nio/charset/Cp863.h create mode 100644 libjava/gnu/java/nio/charset/Cp864.h create mode 100644 libjava/gnu/java/nio/charset/Cp865.h create mode 100644 libjava/gnu/java/nio/charset/Cp866.h create mode 100644 libjava/gnu/java/nio/charset/Cp869.h create mode 100644 libjava/gnu/java/nio/charset/Cp874.h create mode 100644 libjava/gnu/java/nio/charset/EncodingHelper.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_1.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_13.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_15.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_2.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_3.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_4.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_5.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_6.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_7.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_8.h create mode 100644 libjava/gnu/java/nio/charset/ISO_8859_9.h create mode 100644 libjava/gnu/java/nio/charset/KOI_8.h create mode 100644 libjava/gnu/java/nio/charset/MS874.h create mode 100644 libjava/gnu/java/nio/charset/MacCentralEurope.h create mode 100644 libjava/gnu/java/nio/charset/MacCroatian.h create mode 100644 libjava/gnu/java/nio/charset/MacCyrillic.h create mode 100644 libjava/gnu/java/nio/charset/MacDingbat.h create mode 100644 libjava/gnu/java/nio/charset/MacGreek.h create mode 100644 libjava/gnu/java/nio/charset/MacIceland.h create mode 100644 libjava/gnu/java/nio/charset/MacRoman.h create mode 100644 libjava/gnu/java/nio/charset/MacRomania.h create mode 100644 libjava/gnu/java/nio/charset/MacSymbol.h create mode 100644 libjava/gnu/java/nio/charset/MacThai.h create mode 100644 libjava/gnu/java/nio/charset/MacTurkish.h create mode 100644 libjava/gnu/java/nio/charset/Provider$1.h create mode 100644 libjava/gnu/java/nio/charset/Provider.h create mode 100644 libjava/gnu/java/nio/charset/US_ASCII$Decoder.h create mode 100644 libjava/gnu/java/nio/charset/US_ASCII$Encoder.h create mode 100644 libjava/gnu/java/nio/charset/US_ASCII.h create mode 100644 libjava/gnu/java/nio/charset/UTF_16.h create mode 100644 libjava/gnu/java/nio/charset/UTF_16BE.h create mode 100644 libjava/gnu/java/nio/charset/UTF_16Decoder.h create mode 100644 libjava/gnu/java/nio/charset/UTF_16Encoder.h create mode 100644 libjava/gnu/java/nio/charset/UTF_16LE.h create mode 100644 libjava/gnu/java/nio/charset/UTF_8$Decoder.h create mode 100644 libjava/gnu/java/nio/charset/UTF_8$Encoder.h create mode 100644 libjava/gnu/java/nio/charset/UTF_8.h create mode 100644 libjava/gnu/java/nio/charset/UnicodeLittle.h create mode 100644 libjava/gnu/java/nio/charset/Windows1250.h create mode 100644 libjava/gnu/java/nio/charset/Windows1251.h create mode 100644 libjava/gnu/java/nio/charset/Windows1252.h create mode 100644 libjava/gnu/java/nio/charset/Windows1253.h create mode 100644 libjava/gnu/java/nio/charset/Windows1254.h create mode 100644 libjava/gnu/java/nio/charset/Windows1255.h create mode 100644 libjava/gnu/java/nio/charset/Windows1256.h create mode 100644 libjava/gnu/java/nio/charset/Windows1257.h create mode 100644 libjava/gnu/java/nio/charset/Windows1258.h create mode 100644 libjava/gnu/java/nio/natVMChannel.cc create mode 100644 libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h create mode 100644 libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h create mode 100644 libjava/gnu/java/rmi/activation/ActivationSystemTransient.h create mode 100644 libjava/gnu/java/rmi/activation/BidiTable.h create mode 100644 libjava/gnu/java/rmi/activation/DefaultActivationGroup.h create mode 100644 libjava/gnu/java/rmi/activation/DefaultActivationSystem.h create mode 100644 libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h create mode 100644 libjava/gnu/java/rmi/dgc/DGCImpl.h create mode 100644 libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h create mode 100644 libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h create mode 100644 libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h create mode 100644 libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h create mode 100644 libjava/gnu/java/rmi/registry/RegistryImpl.h create mode 100644 libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h create mode 100644 libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h delete mode 100644 libjava/gnu/java/rmi/rmic/Compile_gcj.java delete mode 100644 libjava/gnu/java/rmi/rmic/Compile_jikes.java delete mode 100644 libjava/gnu/java/rmi/rmic/Compile_kjc.java delete mode 100644 libjava/gnu/java/rmi/rmic/Compiler.java delete mode 100644 libjava/gnu/java/rmi/rmic/CompilerProcess.java delete mode 100644 libjava/gnu/java/rmi/rmic/RMIC.java delete mode 100644 libjava/gnu/java/rmi/rmic/RMICException.java delete mode 100644 libjava/gnu/java/rmi/rmic/TabbedWriter.java create mode 100644 libjava/gnu/java/rmi/server/ActivatableRef.h create mode 100644 libjava/gnu/java/rmi/server/ActivatableServerRef.h create mode 100644 libjava/gnu/java/rmi/server/CombinedClassLoader.h create mode 100644 libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h create mode 100644 libjava/gnu/java/rmi/server/ConnectionRunnerPool.h create mode 100644 libjava/gnu/java/rmi/server/ProtocolConstants.h create mode 100644 libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h create mode 100644 libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h create mode 100644 libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h create mode 100644 libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h create mode 100644 libjava/gnu/java/rmi/server/RMIHashes.h create mode 100644 libjava/gnu/java/rmi/server/RMIIncomingThread.h create mode 100644 libjava/gnu/java/rmi/server/RMIObjectInputStream.h create mode 100644 libjava/gnu/java/rmi/server/RMIObjectOutputStream.h create mode 100644 libjava/gnu/java/rmi/server/RMIVoidValue.h create mode 100644 libjava/gnu/java/rmi/server/TripleKey.h create mode 100644 libjava/gnu/java/rmi/server/UnicastConnection.h create mode 100644 libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h create mode 100644 libjava/gnu/java/rmi/server/UnicastConnectionManager.h create mode 100644 libjava/gnu/java/rmi/server/UnicastRef.h create mode 100644 libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h create mode 100644 libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h create mode 100644 libjava/gnu/java/rmi/server/UnicastRemoteCall.h create mode 100644 libjava/gnu/java/rmi/server/UnicastRemoteStub.h create mode 100644 libjava/gnu/java/rmi/server/UnicastServer.h create mode 100644 libjava/gnu/java/rmi/server/UnicastServerRef.h create mode 100644 libjava/gnu/java/security/Configuration.h create mode 100644 libjava/gnu/java/security/Engine.h create mode 100644 libjava/gnu/java/security/OID.h create mode 100644 libjava/gnu/java/security/PolicyFile$1.h create mode 100644 libjava/gnu/java/security/PolicyFile.h create mode 100644 libjava/gnu/java/security/Properties$1.h create mode 100644 libjava/gnu/java/security/Properties.h create mode 100644 libjava/gnu/java/security/Registry.h create mode 100644 libjava/gnu/java/security/Requires.h create mode 100644 libjava/gnu/java/security/action/GetPropertyAction.h create mode 100644 libjava/gnu/java/security/action/GetSecurityPropertyAction.h create mode 100644 libjava/gnu/java/security/action/SetAccessibleAction.h create mode 100644 libjava/gnu/java/security/ber/BER.h create mode 100644 libjava/gnu/java/security/ber/BEREncodingException.h create mode 100644 libjava/gnu/java/security/ber/BERReader.h create mode 100644 libjava/gnu/java/security/ber/BERValue.h create mode 100644 libjava/gnu/java/security/der/BitString.h create mode 100644 libjava/gnu/java/security/der/DER.h create mode 100644 libjava/gnu/java/security/der/DEREncodingException.h create mode 100644 libjava/gnu/java/security/der/DERReader.h create mode 100644 libjava/gnu/java/security/der/DERValue.h create mode 100644 libjava/gnu/java/security/der/DERWriter.h create mode 100644 libjava/gnu/java/security/hash/BaseHash.h create mode 100644 libjava/gnu/java/security/hash/HashFactory.h create mode 100644 libjava/gnu/java/security/hash/Haval.h create mode 100644 libjava/gnu/java/security/hash/IMessageDigest.h create mode 100644 libjava/gnu/java/security/hash/MD2.h create mode 100644 libjava/gnu/java/security/hash/MD4.h create mode 100644 libjava/gnu/java/security/hash/MD5.h create mode 100644 libjava/gnu/java/security/hash/RipeMD128.h create mode 100644 libjava/gnu/java/security/hash/RipeMD160.h create mode 100644 libjava/gnu/java/security/hash/Sha160.h create mode 100644 libjava/gnu/java/security/hash/Sha256.h create mode 100644 libjava/gnu/java/security/hash/Sha384.h create mode 100644 libjava/gnu/java/security/hash/Sha512.h create mode 100644 libjava/gnu/java/security/hash/Tiger.h create mode 100644 libjava/gnu/java/security/hash/Whirlpool.h create mode 100644 libjava/gnu/java/security/jce/hash/HavalSpi.h create mode 100644 libjava/gnu/java/security/jce/hash/MD2Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/MD4Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/MD5Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h create mode 100644 libjava/gnu/java/security/jce/hash/RipeMD128Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/RipeMD160Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/Sha160Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/Sha256Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/Sha384Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/Sha512Spi.h create mode 100644 libjava/gnu/java/security/jce/hash/TigerSpi.h create mode 100644 libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/HavalRandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/MD2RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/MD4RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/MD5RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h create mode 100644 libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/TigerRandomSpi.h create mode 100644 libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h create mode 100644 libjava/gnu/java/security/jce/sig/DSSKeyFactory.h create mode 100644 libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h create mode 100644 libjava/gnu/java/security/jce/sig/DSSParameters.h create mode 100644 libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h create mode 100644 libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h create mode 100644 libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h create mode 100644 libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h create mode 100644 libjava/gnu/java/security/jce/sig/MD2withRSA.h create mode 100644 libjava/gnu/java/security/jce/sig/MD5withRSA.h create mode 100644 libjava/gnu/java/security/jce/sig/RSAKeyFactory.h create mode 100644 libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h create mode 100644 libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h create mode 100644 libjava/gnu/java/security/jce/sig/SHA160withDSS.h create mode 100644 libjava/gnu/java/security/jce/sig/SHA160withRSA.h create mode 100644 libjava/gnu/java/security/jce/sig/SHA256withRSA.h create mode 100644 libjava/gnu/java/security/jce/sig/SHA384withRSA.h create mode 100644 libjava/gnu/java/security/jce/sig/SHA512withRSA.h create mode 100644 libjava/gnu/java/security/jce/sig/SignatureAdapter.h create mode 100644 libjava/gnu/java/security/key/IKeyPairCodec.h create mode 100644 libjava/gnu/java/security/key/IKeyPairGenerator.h create mode 100644 libjava/gnu/java/security/key/KeyPairCodecFactory.h create mode 100644 libjava/gnu/java/security/key/KeyPairGeneratorFactory.h create mode 100644 libjava/gnu/java/security/key/dss/DSSKey.h create mode 100644 libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h create mode 100644 libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h create mode 100644 libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h create mode 100644 libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h create mode 100644 libjava/gnu/java/security/key/dss/DSSPrivateKey.h create mode 100644 libjava/gnu/java/security/key/dss/DSSPublicKey.h create mode 100644 libjava/gnu/java/security/key/dss/FIPS186.h create mode 100644 libjava/gnu/java/security/key/rsa/GnuRSAKey.h create mode 100644 libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h create mode 100644 libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h create mode 100644 libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h create mode 100644 libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h create mode 100644 libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h create mode 100644 libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h create mode 100644 libjava/gnu/java/security/pkcs/PKCS7Data.h create mode 100644 libjava/gnu/java/security/pkcs/PKCS7SignedData.h create mode 100644 libjava/gnu/java/security/pkcs/SignerInfo.h create mode 100644 libjava/gnu/java/security/prng/BasePRNG.h create mode 100644 libjava/gnu/java/security/prng/EntropySource.h create mode 100644 libjava/gnu/java/security/prng/IRandom.h create mode 100644 libjava/gnu/java/security/prng/LimitReachedException.h create mode 100644 libjava/gnu/java/security/prng/MDGenerator.h create mode 100644 libjava/gnu/java/security/prng/PRNGFactory.h create mode 100644 libjava/gnu/java/security/prng/RandomEvent.h create mode 100644 libjava/gnu/java/security/prng/RandomEventListener.h create mode 100644 libjava/gnu/java/security/provider/CollectionCertStoreImpl.h create mode 100644 libjava/gnu/java/security/provider/DefaultPolicy.h create mode 100644 libjava/gnu/java/security/provider/Gnu$1.h create mode 100644 libjava/gnu/java/security/provider/Gnu.h create mode 100644 libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h create mode 100644 libjava/gnu/java/security/provider/X509CertificateFactory.h create mode 100644 libjava/gnu/java/security/sig/BaseSignature.h create mode 100644 libjava/gnu/java/security/sig/ISignature.h create mode 100644 libjava/gnu/java/security/sig/ISignatureCodec.h create mode 100644 libjava/gnu/java/security/sig/SignatureCodecFactory.h create mode 100644 libjava/gnu/java/security/sig/SignatureFactory.h create mode 100644 libjava/gnu/java/security/sig/dss/DSSSignature.h create mode 100644 libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h create mode 100644 libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h create mode 100644 libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h create mode 100644 libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h create mode 100644 libjava/gnu/java/security/sig/rsa/EMSA_PSS.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSA.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h create mode 100644 libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h create mode 100644 libjava/gnu/java/security/util/Base64.h create mode 100644 libjava/gnu/java/security/util/ByteArray.h create mode 100644 libjava/gnu/java/security/util/ByteBufferOutputStream.h create mode 100644 libjava/gnu/java/security/util/DerUtil.h create mode 100644 libjava/gnu/java/security/util/ExpirableObject$Destroyer.h create mode 100644 libjava/gnu/java/security/util/ExpirableObject.h create mode 100644 libjava/gnu/java/security/util/FormatUtil.h create mode 100644 libjava/gnu/java/security/util/IntegerUtil$1.h create mode 100644 libjava/gnu/java/security/util/IntegerUtil.h create mode 100644 libjava/gnu/java/security/util/PRNG.h create mode 100644 libjava/gnu/java/security/util/Prime.h create mode 100644 libjava/gnu/java/security/util/Sequence.h create mode 100644 libjava/gnu/java/security/util/SimpleList.h create mode 100644 libjava/gnu/java/security/util/Util.h create mode 100644 libjava/gnu/java/security/x509/GnuPKIExtension.h create mode 100644 libjava/gnu/java/security/x509/PolicyNodeImpl.h create mode 100644 libjava/gnu/java/security/x509/Util.h create mode 100644 libjava/gnu/java/security/x509/X500DistinguishedName.h create mode 100644 libjava/gnu/java/security/x509/X509CRL.h create mode 100644 libjava/gnu/java/security/x509/X509CRLEntry.h create mode 100644 libjava/gnu/java/security/x509/X509CRLSelectorImpl.h create mode 100644 libjava/gnu/java/security/x509/X509CertPath.h create mode 100644 libjava/gnu/java/security/x509/X509CertSelectorImpl.h create mode 100644 libjava/gnu/java/security/x509/X509Certificate.h create mode 100644 libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h create mode 100644 libjava/gnu/java/security/x509/ext/BasicConstraints.h create mode 100644 libjava/gnu/java/security/x509/ext/CRLNumber.h create mode 100644 libjava/gnu/java/security/x509/ext/CertificatePolicies.h create mode 100644 libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h create mode 100644 libjava/gnu/java/security/x509/ext/Extension$Value.h create mode 100644 libjava/gnu/java/security/x509/ext/Extension.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralNames.h create mode 100644 libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h create mode 100644 libjava/gnu/java/security/x509/ext/KeyUsage.h create mode 100644 libjava/gnu/java/security/x509/ext/PolicyConstraint.h create mode 100644 libjava/gnu/java/security/x509/ext/PolicyMappings.h create mode 100644 libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h create mode 100644 libjava/gnu/java/security/x509/ext/ReasonCode.h create mode 100644 libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h create mode 100644 libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h create mode 100644 libjava/gnu/java/text/AttributedFormatBuffer.h create mode 100644 libjava/gnu/java/text/BaseBreakIterator.h create mode 100644 libjava/gnu/java/text/CharacterBreakIterator.h create mode 100644 libjava/gnu/java/text/FormatBuffer.h create mode 100644 libjava/gnu/java/text/FormatCharacterIterator.h create mode 100644 libjava/gnu/java/text/LineBreakIterator.h create mode 100644 libjava/gnu/java/text/SentenceBreakIterator.h create mode 100644 libjava/gnu/java/text/StringFormatBuffer.h create mode 100644 libjava/gnu/java/text/WordBreakIterator.h create mode 100644 libjava/gnu/java/util/DoubleEnumeration.h create mode 100644 libjava/gnu/java/util/EmptyEnumeration.h create mode 100644 libjava/gnu/java/util/WeakIdentityHashMap$1.h create mode 100644 libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h create mode 100644 libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h create mode 100644 libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h create mode 100644 libjava/gnu/java/util/WeakIdentityHashMap.h create mode 100644 libjava/gnu/java/util/jar/JarUtils.h create mode 100644 libjava/gnu/java/util/prefs/EventDispatcher.h create mode 100644 libjava/gnu/java/util/prefs/FileBasedFactory.h create mode 100644 libjava/gnu/java/util/prefs/FileBasedPreferences$1.h create mode 100644 libjava/gnu/java/util/prefs/FileBasedPreferences.h create mode 100644 libjava/gnu/java/util/prefs/GConfBasedFactory.h create mode 100644 libjava/gnu/java/util/prefs/GConfBasedPreferences.h create mode 100644 libjava/gnu/java/util/prefs/MemoryBasedFactory.h create mode 100644 libjava/gnu/java/util/prefs/MemoryBasedPreferences.h create mode 100644 libjava/gnu/java/util/prefs/NodeReader.h create mode 100644 libjava/gnu/java/util/prefs/NodeWriter.h create mode 100644 libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h create mode 100644 libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h create mode 100644 libjava/gnu/java/util/regex/BacktrackStack.h create mode 100644 libjava/gnu/java/util/regex/CharIndexed.h create mode 100644 libjava/gnu/java/util/regex/CharIndexedCharArray.h create mode 100644 libjava/gnu/java/util/regex/CharIndexedCharSequence.h create mode 100644 libjava/gnu/java/util/regex/CharIndexedInputStream.h create mode 100644 libjava/gnu/java/util/regex/CharIndexedString.h create mode 100644 libjava/gnu/java/util/regex/CharIndexedStringBuffer.h create mode 100644 libjava/gnu/java/util/regex/RE$CharExpression.h create mode 100644 libjava/gnu/java/util/regex/RE$CharUnit.h create mode 100644 libjava/gnu/java/util/regex/RE$IntPair.h create mode 100644 libjava/gnu/java/util/regex/RE$NamedProperty.h create mode 100644 libjava/gnu/java/util/regex/RE$ParseCharClassResult.h create mode 100644 libjava/gnu/java/util/regex/RE.h create mode 100644 libjava/gnu/java/util/regex/REException.h create mode 100644 libjava/gnu/java/util/regex/REFilterInputStream.h create mode 100644 libjava/gnu/java/util/regex/REMatch.h create mode 100644 libjava/gnu/java/util/regex/REMatchEnumeration.h create mode 100644 libjava/gnu/java/util/regex/RESyntax.h create mode 100644 libjava/gnu/java/util/regex/REToken.h create mode 100644 libjava/gnu/java/util/regex/RETokenAny.h create mode 100644 libjava/gnu/java/util/regex/RETokenBackRef.h create mode 100644 libjava/gnu/java/util/regex/RETokenChar.h create mode 100644 libjava/gnu/java/util/regex/RETokenEnd.h create mode 100644 libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h create mode 100644 libjava/gnu/java/util/regex/RETokenEndSub.h create mode 100644 libjava/gnu/java/util/regex/RETokenIndependent.h create mode 100644 libjava/gnu/java/util/regex/RETokenLookAhead.h create mode 100644 libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h create mode 100644 libjava/gnu/java/util/regex/RETokenLookBehind.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty$1.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h create mode 100644 libjava/gnu/java/util/regex/RETokenNamedProperty.h create mode 100644 libjava/gnu/java/util/regex/RETokenOneOf.h create mode 100644 libjava/gnu/java/util/regex/RETokenPOSIX.h create mode 100644 libjava/gnu/java/util/regex/RETokenRange.h create mode 100644 libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h create mode 100644 libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h create mode 100644 libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.h create mode 100644 libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h create mode 100644 libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h create mode 100644 libjava/gnu/java/util/regex/RETokenRepeated.h create mode 100644 libjava/gnu/java/util/regex/RETokenStart.h create mode 100644 libjava/gnu/java/util/regex/RETokenWordBoundary.h create mode 100644 libjava/gnu/java/util/regex/UncheckedRE.h create mode 100644 libjava/gnu/javax/crypto/RSACipherImpl.h create mode 100644 libjava/gnu/javax/crypto/assembly/Assembly.h create mode 100644 libjava/gnu/javax/crypto/assembly/Cascade.h create mode 100644 libjava/gnu/javax/crypto/assembly/CascadeStage.h create mode 100644 libjava/gnu/javax/crypto/assembly/CascadeTransformer.h create mode 100644 libjava/gnu/javax/crypto/assembly/DeflateTransformer.h create mode 100644 libjava/gnu/javax/crypto/assembly/Direction.h create mode 100644 libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h create mode 100644 libjava/gnu/javax/crypto/assembly/ModeStage.h create mode 100644 libjava/gnu/javax/crypto/assembly/Operation.h create mode 100644 libjava/gnu/javax/crypto/assembly/PaddingTransformer.h create mode 100644 libjava/gnu/javax/crypto/assembly/Stage.h create mode 100644 libjava/gnu/javax/crypto/assembly/Transformer.h create mode 100644 libjava/gnu/javax/crypto/assembly/TransformerException.h create mode 100644 libjava/gnu/javax/crypto/cipher/Anubis.h create mode 100644 libjava/gnu/javax/crypto/cipher/BaseCipher.h create mode 100644 libjava/gnu/javax/crypto/cipher/Blowfish$Block.h create mode 100644 libjava/gnu/javax/crypto/cipher/Blowfish$Context.h create mode 100644 libjava/gnu/javax/crypto/cipher/Blowfish.h create mode 100644 libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h create mode 100644 libjava/gnu/javax/crypto/cipher/Cast5.h create mode 100644 libjava/gnu/javax/crypto/cipher/CipherFactory.h create mode 100644 libjava/gnu/javax/crypto/cipher/DES$Context.h create mode 100644 libjava/gnu/javax/crypto/cipher/DES.h create mode 100644 libjava/gnu/javax/crypto/cipher/IBlockCipher.h create mode 100644 libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h create mode 100644 libjava/gnu/javax/crypto/cipher/Khazad.h create mode 100644 libjava/gnu/javax/crypto/cipher/NullCipher.h create mode 100644 libjava/gnu/javax/crypto/cipher/Rijndael.h create mode 100644 libjava/gnu/javax/crypto/cipher/Serpent$Key.h create mode 100644 libjava/gnu/javax/crypto/cipher/Serpent.h create mode 100644 libjava/gnu/javax/crypto/cipher/Square.h create mode 100644 libjava/gnu/javax/crypto/cipher/TripleDES$Context.h create mode 100644 libjava/gnu/javax/crypto/cipher/TripleDES.h create mode 100644 libjava/gnu/javax/crypto/cipher/Twofish.h create mode 100644 libjava/gnu/javax/crypto/cipher/WeakKeyException.h create mode 100644 libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/GnuCrypto$1.h create mode 100644 libjava/gnu/javax/crypto/jce/GnuCrypto.h create mode 100644 libjava/gnu/javax/crypto/jce/GnuSasl$1.h create mode 100644 libjava/gnu/javax/crypto/jce/GnuSasl.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AESSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/DESSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/MacAdapter.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h create mode 100644 libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h create mode 100644 libjava/gnu/javax/crypto/jce/params/DEREncodingException.h create mode 100644 libjava/gnu/javax/crypto/jce/params/DERReader.h create mode 100644 libjava/gnu/javax/crypto/jce/params/DERWriter.h create mode 100644 libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h create mode 100644 libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHParameters.h create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h create mode 100644 libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h create mode 100644 libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h create mode 100644 libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h create mode 100644 libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h create mode 100644 libjava/gnu/javax/crypto/key/GnuPBEKey.h create mode 100644 libjava/gnu/javax/crypto/key/GnuSecretKey.h create mode 100644 libjava/gnu/javax/crypto/key/IKeyAgreementParty.h create mode 100644 libjava/gnu/javax/crypto/key/IncomingMessage.h create mode 100644 libjava/gnu/javax/crypto/key/KeyAgreementException.h create mode 100644 libjava/gnu/javax/crypto/key/KeyAgreementFactory.h create mode 100644 libjava/gnu/javax/crypto/key/OutgoingMessage.h create mode 100644 libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h create mode 100644 libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h create mode 100644 libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h create mode 100644 libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h create mode 100644 libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h create mode 100644 libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h create mode 100644 libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h create mode 100644 libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h create mode 100644 libjava/gnu/javax/crypto/key/dh/ElGamalSender.h create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHKey.h create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h create mode 100644 libjava/gnu/javax/crypto/key/dh/RFC2631.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6Host.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6User.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPKey.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h create mode 100644 libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/BaseKeyring.h create mode 100644 libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/CertPathEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/CertificateEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/CompressedEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/EncryptedEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/Entry.h create mode 100644 libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h create mode 100644 libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h create mode 100644 libjava/gnu/javax/crypto/keyring/IKeyring.h create mode 100644 libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h create mode 100644 libjava/gnu/javax/crypto/keyring/IPublicKeyring.h create mode 100644 libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h create mode 100644 libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/MeteredInputStream.h create mode 100644 libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h create mode 100644 libjava/gnu/javax/crypto/keyring/Properties.h create mode 100644 libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h create mode 100644 libjava/gnu/javax/crypto/kwa/AESKeyWrap.h create mode 100644 libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h create mode 100644 libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h create mode 100644 libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h create mode 100644 libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h create mode 100644 libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h create mode 100644 libjava/gnu/javax/crypto/mac/BaseMac.h create mode 100644 libjava/gnu/javax/crypto/mac/HMac.h create mode 100644 libjava/gnu/javax/crypto/mac/HMacFactory.h create mode 100644 libjava/gnu/javax/crypto/mac/IMac.h create mode 100644 libjava/gnu/javax/crypto/mac/MacFactory.h create mode 100644 libjava/gnu/javax/crypto/mac/MacInputStream.h create mode 100644 libjava/gnu/javax/crypto/mac/MacOutputStream.h create mode 100644 libjava/gnu/javax/crypto/mac/OMAC.h create mode 100644 libjava/gnu/javax/crypto/mac/TMMH16.h create mode 100644 libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h create mode 100644 libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h create mode 100644 libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h create mode 100644 libjava/gnu/javax/crypto/mac/UHash32.h create mode 100644 libjava/gnu/javax/crypto/mac/UMac32.h create mode 100644 libjava/gnu/javax/crypto/mode/BaseMode.h create mode 100644 libjava/gnu/javax/crypto/mode/CBC.h create mode 100644 libjava/gnu/javax/crypto/mode/CFB.h create mode 100644 libjava/gnu/javax/crypto/mode/CTR.h create mode 100644 libjava/gnu/javax/crypto/mode/EAX.h create mode 100644 libjava/gnu/javax/crypto/mode/ECB.h create mode 100644 libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h create mode 100644 libjava/gnu/javax/crypto/mode/ICM.h create mode 100644 libjava/gnu/javax/crypto/mode/IMode.h create mode 100644 libjava/gnu/javax/crypto/mode/ModeFactory.h create mode 100644 libjava/gnu/javax/crypto/mode/OFB.h create mode 100644 libjava/gnu/javax/crypto/pad/BasePad.h create mode 100644 libjava/gnu/javax/crypto/pad/IPad.h create mode 100644 libjava/gnu/javax/crypto/pad/ISO10126.h create mode 100644 libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h create mode 100644 libjava/gnu/javax/crypto/pad/PKCS7.h create mode 100644 libjava/gnu/javax/crypto/pad/PadFactory.h create mode 100644 libjava/gnu/javax/crypto/pad/SSL3.h create mode 100644 libjava/gnu/javax/crypto/pad/TBC.h create mode 100644 libjava/gnu/javax/crypto/pad/TLS1.h create mode 100644 libjava/gnu/javax/crypto/pad/WrongPaddingException.h create mode 100644 libjava/gnu/javax/crypto/prng/ARCFour.h create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG$1.h create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG.h create mode 100644 libjava/gnu/javax/crypto/prng/Fortuna$Generator.h create mode 100644 libjava/gnu/javax/crypto/prng/Fortuna.h create mode 100644 libjava/gnu/javax/crypto/prng/ICMGenerator.h create mode 100644 libjava/gnu/javax/crypto/prng/IPBE.h create mode 100644 libjava/gnu/javax/crypto/prng/PBKDF2.h create mode 100644 libjava/gnu/javax/crypto/prng/PRNGFactory.h create mode 100644 libjava/gnu/javax/crypto/prng/UMacGenerator.h create mode 100644 libjava/gnu/javax/crypto/sasl/AuthInfo.h create mode 100644 libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h create mode 100644 libjava/gnu/javax/crypto/sasl/ClientFactory.h create mode 100644 libjava/gnu/javax/crypto/sasl/ClientMechanism.h create mode 100644 libjava/gnu/javax/crypto/sasl/ConfidentialityException.h create mode 100644 libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h create mode 100644 libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h create mode 100644 libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h create mode 100644 libjava/gnu/javax/crypto/sasl/InputBuffer.h create mode 100644 libjava/gnu/javax/crypto/sasl/IntegrityException.h create mode 100644 libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h create mode 100644 libjava/gnu/javax/crypto/sasl/NoSuchUserException.h create mode 100644 libjava/gnu/javax/crypto/sasl/OutputBuffer.h create mode 100644 libjava/gnu/javax/crypto/sasl/SaslEncodingException.h create mode 100644 libjava/gnu/javax/crypto/sasl/SaslInputStream.h create mode 100644 libjava/gnu/javax/crypto/sasl/SaslOutputStream.h create mode 100644 libjava/gnu/javax/crypto/sasl/SaslUtil.h create mode 100644 libjava/gnu/javax/crypto/sasl/ServerFactory.h create mode 100644 libjava/gnu/javax/crypto/sasl/ServerMechanism.h create mode 100644 libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h create mode 100644 libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h create mode 100644 libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h create mode 100644 libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainClient.h create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainServer.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/CALG.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/ClientStore.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/IALG.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/KDF.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRP.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPClient.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPServer.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/ServerStore.h create mode 100644 libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h create mode 100644 libjava/gnu/javax/imageio/IIOInputStream.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPDecoder.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPEncoder.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPException.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPFileHeader.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageReader.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageWriter.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h create mode 100644 libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeBF16.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeBF32.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB1.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB24.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB4.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB8.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRLE4.h create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRLE8.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB1.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB16.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB24.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB32.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB4.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB8.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRLE4.h create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRLE8.h create mode 100644 libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h create mode 100644 libjava/gnu/javax/imageio/gif/GIFFile.h create mode 100644 libjava/gnu/javax/imageio/gif/GIFImageReader.h create mode 100644 libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h create mode 100644 libjava/gnu/javax/imageio/jpeg/DCT.h create mode 100644 libjava/gnu/javax/imageio/jpeg/HuffmanTable.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGComponent.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGException.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGFrame.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGMarker.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGScan.h create mode 100644 libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h create mode 100644 libjava/gnu/javax/imageio/jpeg/ZigZag.h create mode 100644 libjava/gnu/javax/imageio/png/PNGChunk.h create mode 100644 libjava/gnu/javax/imageio/png/PNGData.h create mode 100644 libjava/gnu/javax/imageio/png/PNGDecoder.h create mode 100644 libjava/gnu/javax/imageio/png/PNGEncoder.h create mode 100644 libjava/gnu/javax/imageio/png/PNGException.h create mode 100644 libjava/gnu/javax/imageio/png/PNGFile.h create mode 100644 libjava/gnu/javax/imageio/png/PNGFilter.h create mode 100644 libjava/gnu/javax/imageio/png/PNGGamma.h create mode 100644 libjava/gnu/javax/imageio/png/PNGHeader.h create mode 100644 libjava/gnu/javax/imageio/png/PNGICCProfile.h create mode 100644 libjava/gnu/javax/imageio/png/PNGImageReader.h create mode 100644 libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h create mode 100644 libjava/gnu/javax/imageio/png/PNGPalette.h create mode 100644 libjava/gnu/javax/imageio/png/PNGPhys.h create mode 100644 libjava/gnu/javax/imageio/png/PNGTime.h create mode 100644 libjava/gnu/javax/management/Server$ServerInfo.h create mode 100644 libjava/gnu/javax/management/Server$ServerInputStream.h create mode 100644 libjava/gnu/javax/management/Server$ServerNotificationListener.h create mode 100644 libjava/gnu/javax/management/Server.h create mode 100644 libjava/gnu/javax/naming/giop/ContextContinuation.h create mode 100644 libjava/gnu/javax/naming/giop/CorbalocParser.h create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h create mode 100644 libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h create mode 100644 libjava/gnu/javax/naming/giop/ListEnumeration.h create mode 100644 libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h create mode 100644 libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h create mode 100644 libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h create mode 100644 libjava/gnu/javax/net/ssl/AbstractSessionContext.h create mode 100644 libjava/gnu/javax/net/ssl/Base64.h create mode 100644 libjava/gnu/javax/net/ssl/EntropySource.h create mode 100644 libjava/gnu/javax/net/ssl/NullManagerParameters.h create mode 100644 libjava/gnu/javax/net/ssl/PreSharedKeyManager.h create mode 100644 libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h create mode 100644 libjava/gnu/javax/net/ssl/PrivateCredentials.h create mode 100644 libjava/gnu/javax/net/ssl/SRPManagerParameters.h create mode 100644 libjava/gnu/javax/net/ssl/SRPTrustManager.h create mode 100644 libjava/gnu/javax/net/ssl/SSLCipherSuite.h create mode 100644 libjava/gnu/javax/net/ssl/SSLProtocolVersion.h create mode 100644 libjava/gnu/javax/net/ssl/SSLRecordHandler.h create mode 100644 libjava/gnu/javax/net/ssl/Session$ID.h create mode 100644 libjava/gnu/javax/net/ssl/Session.h create mode 100644 libjava/gnu/javax/net/ssl/SessionStoreException.h create mode 100644 libjava/gnu/javax/net/ssl/StaticTrustAnchors.h create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Alert$Description.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Alert$Level.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Alert.h create mode 100644 libjava/gnu/javax/net/ssl/provider/AlertException.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Builder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Certificate.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateVerify.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherSuite.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHello.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CompressionMethod.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Constructed.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ContentType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Context.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Debug.h create mode 100644 libjava/gnu/javax/net/ssl/provider/DelegatedTask.h create mode 100644 libjava/gnu/javax/net/ssl/provider/DiffieHellman.h create mode 100644 libjava/gnu/javax/net/ssl/provider/DigestInputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h create mode 100644 libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Enumerated.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Extension$Type.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Extension$Value.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Extension.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ExtensionList.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Extensions.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Finished.h create mode 100644 libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$Body.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$Type.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake.h create mode 100644 libjava/gnu/javax/net/ssl/provider/HelloRequest.h create mode 100644 libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Jessie$1.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Jessie.h create mode 100644 libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h create mode 100644 libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h create mode 100644 libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h create mode 100644 libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h create mode 100644 libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h create mode 100644 libjava/gnu/javax/net/ssl/provider/KeyPool.h create mode 100644 libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h create mode 100644 libjava/gnu/javax/net/ssl/provider/MacException.h create mode 100644 libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h create mode 100644 libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/OverflowException.h create mode 100644 libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h create mode 100644 libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Random.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Record.h create mode 100644 libjava/gnu/javax/net/ssl/provider/RecordInput.h create mode 100644 libjava/gnu/javax/net/ssl/provider/RecordInputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLHMac.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRandom.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocket.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SecurityParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerDHParams.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHello.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Session$ID.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Session.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SessionContext.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SessionImpl.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Signature.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h create mode 100644 libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TLSHMac.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TLSRandom.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h create mode 100644 libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Util$1.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Util$2.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h create mode 100644 libjava/gnu/javax/net/ssl/provider/Util.h create mode 100644 libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h create mode 100644 libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h create mode 100644 libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h create mode 100644 libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h create mode 100644 libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h create mode 100644 libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h create mode 100644 libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h create mode 100644 libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h create mode 100644 libjava/gnu/javax/print/CupsIppOperation.h create mode 100644 libjava/gnu/javax/print/CupsMediaMapping.h create mode 100644 libjava/gnu/javax/print/CupsPrintService.h create mode 100644 libjava/gnu/javax/print/CupsPrintServiceLookup.h create mode 100644 libjava/gnu/javax/print/CupsServer.h create mode 100644 libjava/gnu/javax/print/PrintAttributeException.h create mode 100644 libjava/gnu/javax/print/PrintFlavorException.h create mode 100644 libjava/gnu/javax/print/PrintUriException.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h create mode 100644 libjava/gnu/javax/print/PrinterDialog.h create mode 100644 libjava/gnu/javax/print/ipp/DocPrintJobImpl.h create mode 100644 libjava/gnu/javax/print/ipp/IppDelimiterTag.h create mode 100644 libjava/gnu/javax/print/ipp/IppException.h create mode 100644 libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h create mode 100644 libjava/gnu/javax/print/ipp/IppPrintService.h create mode 100644 libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h create mode 100644 libjava/gnu/javax/print/ipp/IppRequest.h create mode 100644 libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h create mode 100644 libjava/gnu/javax/print/ipp/IppResponse.h create mode 100644 libjava/gnu/javax/print/ipp/IppStatusCode.h create mode 100644 libjava/gnu/javax/print/ipp/IppUtilities.h create mode 100644 libjava/gnu/javax/print/ipp/IppValueTag.h create mode 100644 libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/StatusMessage.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobId.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobUri.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h create mode 100644 libjava/gnu/javax/rmi/CORBA/CorbaInput.h create mode 100644 libjava/gnu/javax/rmi/CORBA/CorbaOutput.h create mode 100644 libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h create mode 100644 libjava/gnu/javax/rmi/CORBA/DelegateFactory.h create mode 100644 libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h create mode 100644 libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h create mode 100644 libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h create mode 100644 libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h create mode 100644 libjava/gnu/javax/rmi/CORBA/RmiUtilities.h create mode 100644 libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h create mode 100644 libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h create mode 100644 libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h create mode 100644 libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h create mode 100644 libjava/gnu/javax/security/auth/Password.h create mode 100644 libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h create mode 100644 libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h create mode 100644 libjava/gnu/javax/security/auth/callback/CertificateCallback.h create mode 100644 libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h create mode 100644 libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h create mode 100644 libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h create mode 100644 libjava/gnu/javax/security/auth/callback/GnuCallbacks.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h create mode 100644 libjava/gnu/javax/security/auth/login/ConfigFileParser.h create mode 100644 libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h create mode 100644 libjava/gnu/javax/security/auth/login/GnuConfiguration.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h create mode 100644 libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h create mode 100644 libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h create mode 100644 libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h create mode 100644 libjava/gnu/javax/sound/midi/file/MidiFileReader.h create mode 100644 libjava/gnu/javax/sound/midi/file/MidiFileWriter.h create mode 100644 libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h create mode 100644 libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h create mode 100644 libjava/gnu/javax/sound/sampled/AU/AUReader.h create mode 100644 libjava/gnu/javax/sound/sampled/WAV/WAVReader.h create mode 100644 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h create mode 100644 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h create mode 100644 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h create mode 100644 libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h create mode 100644 libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h create mode 100644 libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h create mode 100644 libjava/gnu/javax/swing/text/html/CombinedAttributes.h create mode 100644 libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h create mode 100644 libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h create mode 100644 libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h create mode 100644 libjava/gnu/javax/swing/text/html/css/BorderStyle.h create mode 100644 libjava/gnu/javax/swing/text/html/css/BorderWidth.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSColor.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParser$1.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParser.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParserException.h create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSScanner.h create mode 100644 libjava/gnu/javax/swing/text/html/css/FontSize.h create mode 100644 libjava/gnu/javax/swing/text/html/css/FontStyle.h create mode 100644 libjava/gnu/javax/swing/text/html/css/FontWeight.h create mode 100644 libjava/gnu/javax/swing/text/html/css/Length.h create mode 100644 libjava/gnu/javax/swing/text/html/css/Selector.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/HTML_401F.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/gnuDTD.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlValidator.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/list.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/node.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/transformer.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/Parser.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Location.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Token.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/node.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h create mode 100644 libjava/gnu/javax/swing/tree/GnuPath.h create mode 100644 libjava/gnu/xml/aelfred2/JAXPFactory$JaxpParser.h create mode 100644 libjava/gnu/xml/aelfred2/JAXPFactory.h create mode 100644 libjava/gnu/xml/aelfred2/SAXDriver$Adapter.h create mode 100644 libjava/gnu/xml/aelfred2/SAXDriver$Attribute.h create mode 100644 libjava/gnu/xml/aelfred2/SAXDriver.h create mode 100644 libjava/gnu/xml/aelfred2/XmlParser$AttributeDecl.h create mode 100644 libjava/gnu/xml/aelfred2/XmlParser$ElementDecl.h create mode 100644 libjava/gnu/xml/aelfred2/XmlParser$EntityInfo.h create mode 100644 libjava/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.h create mode 100644 libjava/gnu/xml/aelfred2/XmlParser$Input.h create mode 100644 libjava/gnu/xml/aelfred2/XmlParser.h create mode 100644 libjava/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.h create mode 100644 libjava/gnu/xml/aelfred2/XmlReader.h create mode 100644 libjava/gnu/xml/dom/Consumer$Backdoor.h create mode 100644 libjava/gnu/xml/dom/Consumer.h create mode 100644 libjava/gnu/xml/dom/DTDAttributeTypeInfo.h create mode 100644 libjava/gnu/xml/dom/DTDElementTypeInfo.h create mode 100644 libjava/gnu/xml/dom/DomAttr.h create mode 100644 libjava/gnu/xml/dom/DomCDATASection.h create mode 100644 libjava/gnu/xml/dom/DomCharacterData$EmptyNodeList.h create mode 100644 libjava/gnu/xml/dom/DomCharacterData.h create mode 100644 libjava/gnu/xml/dom/DomComment.h create mode 100644 libjava/gnu/xml/dom/DomDOMException.h create mode 100644 libjava/gnu/xml/dom/DomDoctype.h create mode 100644 libjava/gnu/xml/dom/DomDocument.h create mode 100644 libjava/gnu/xml/dom/DomDocumentBuilder.h create mode 100644 libjava/gnu/xml/dom/DomDocumentBuilderFactory.h create mode 100644 libjava/gnu/xml/dom/DomDocumentConfiguration.h create mode 100644 libjava/gnu/xml/dom/DomDocumentFragment.h create mode 100644 libjava/gnu/xml/dom/DomElement.h create mode 100644 libjava/gnu/xml/dom/DomEntity.h create mode 100644 libjava/gnu/xml/dom/DomEntityReference.h create mode 100644 libjava/gnu/xml/dom/DomEvent$DomMutationEvent.h create mode 100644 libjava/gnu/xml/dom/DomEvent$DomUIEvent.h create mode 100644 libjava/gnu/xml/dom/DomEvent.h create mode 100644 libjava/gnu/xml/dom/DomExtern.h create mode 100644 libjava/gnu/xml/dom/DomImpl.h create mode 100644 libjava/gnu/xml/dom/DomIterator.h create mode 100644 libjava/gnu/xml/dom/DomNSResolverContext.h create mode 100644 libjava/gnu/xml/dom/DomNamedNodeMap.h create mode 100644 libjava/gnu/xml/dom/DomNode$DomEventException.h create mode 100644 libjava/gnu/xml/dom/DomNode$ListenerRecord.h create mode 100644 libjava/gnu/xml/dom/DomNode$LiveNodeList.h create mode 100644 libjava/gnu/xml/dom/DomNode$ShadowList.h create mode 100644 libjava/gnu/xml/dom/DomNode.h create mode 100644 libjava/gnu/xml/dom/DomNodeIterator.h create mode 100644 libjava/gnu/xml/dom/DomNotation.h create mode 100644 libjava/gnu/xml/dom/DomNsNode.h create mode 100644 libjava/gnu/xml/dom/DomProcessingInstruction.h create mode 100644 libjava/gnu/xml/dom/DomText.h create mode 100644 libjava/gnu/xml/dom/DomXPathExpression.h create mode 100644 libjava/gnu/xml/dom/DomXPathNSResolver.h create mode 100644 libjava/gnu/xml/dom/DomXPathResult.h create mode 100644 libjava/gnu/xml/dom/ImplementationList.h create mode 100644 libjava/gnu/xml/dom/ImplementationSource.h create mode 100644 libjava/gnu/xml/dom/JAXPFactory$JAXPBuilder.h create mode 100644 libjava/gnu/xml/dom/JAXPFactory.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLAnchorElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLAppletElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLAreaElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLBRElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLBaseElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLBaseFontElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLBodyElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLButtonElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLCollection.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLDListElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLDirectoryElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLDivElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLDocument.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLEmbedElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLFieldSetElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLFontElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLFormElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLFrameElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLFrameSetElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLHRElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLHeadElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLHeadingElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLHtmlElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLIFrameElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLImageElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLImpl.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLInputElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLIsIndexElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLLIElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLLabelElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLLegendElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLLinkElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLMapElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLMenuElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLMetaElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLModElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLOListElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLObjectElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLOptGroupElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLOptionElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLParagraphElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLParamElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLParser.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLPreElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLQuoteElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLScriptElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLSelectElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLStyleElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTableCaptionElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTableCellElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTableColElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTableElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTableRowElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTableSectionElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTextAreaElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLTitleElement.h create mode 100644 libjava/gnu/xml/dom/html2/DomHTMLUListElement.h create mode 100644 libjava/gnu/xml/dom/ls/DomLSException.h create mode 100644 libjava/gnu/xml/dom/ls/DomLSInput.h create mode 100644 libjava/gnu/xml/dom/ls/DomLSOutput.h create mode 100644 libjava/gnu/xml/dom/ls/DomLSParser.h create mode 100644 libjava/gnu/xml/dom/ls/DomLSSerializer.h create mode 100644 libjava/gnu/xml/dom/ls/FilteredSAXEventSink.h create mode 100644 libjava/gnu/xml/dom/ls/ReaderInputStream.h create mode 100644 libjava/gnu/xml/dom/ls/SAXEventSink.h create mode 100644 libjava/gnu/xml/dom/ls/WriterOutputStream.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeAttr.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeCDATASection.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeCharacterData.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeComment.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDOMException.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDOMStringList.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDocument.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDocumentFragment.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeDocumentType.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeElement.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeEntity.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeEntityReference.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeNode.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeNodeList.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeNotation.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeText.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeTypeInfo.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeXPathExpression.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeXPathNodeList.h create mode 100644 libjava/gnu/xml/libxmlj/dom/GnomeXPathResult.h create mode 100644 libjava/gnu/xml/libxmlj/sax/GnomeLocator.h create mode 100644 libjava/gnu/xml/libxmlj/sax/GnomeSAXParser.h create mode 100644 libjava/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.h create mode 100644 libjava/gnu/xml/libxmlj/sax/GnomeXMLReader.h create mode 100644 libjava/gnu/xml/libxmlj/sax/Namespaces.h create mode 100644 libjava/gnu/xml/libxmlj/sax/StringArrayAttributes.h create mode 100644 libjava/gnu/xml/libxmlj/sax/XMLName.h create mode 100644 libjava/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.h create mode 100644 libjava/gnu/xml/libxmlj/transform/GnomeTransformer.h create mode 100644 libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.h create mode 100644 libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory.h create mode 100644 libjava/gnu/xml/libxmlj/transform/URIResolverEntityResolver.h create mode 100644 libjava/gnu/xml/libxmlj/util/EmptyNodeList.h create mode 100644 libjava/gnu/xml/libxmlj/util/NamedInputStream.h create mode 100644 libjava/gnu/xml/libxmlj/util/StandaloneDocumentType.h create mode 100644 libjava/gnu/xml/libxmlj/util/StandaloneLocator.h create mode 100644 libjava/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.h create mode 100644 libjava/gnu/xml/libxmlj/util/XMLJ.h create mode 100644 libjava/gnu/xml/pipeline/CallFilter$Requestor.h create mode 100644 libjava/gnu/xml/pipeline/CallFilter.h create mode 100644 libjava/gnu/xml/pipeline/DomConsumer$Handler.h create mode 100644 libjava/gnu/xml/pipeline/DomConsumer.h create mode 100644 libjava/gnu/xml/pipeline/EventConsumer.h create mode 100644 libjava/gnu/xml/pipeline/EventFilter.h create mode 100644 libjava/gnu/xml/pipeline/LinkFilter.h create mode 100644 libjava/gnu/xml/pipeline/NSFilter.h create mode 100644 libjava/gnu/xml/pipeline/PipelineFactory$Pipeline.h create mode 100644 libjava/gnu/xml/pipeline/PipelineFactory$Stage.h create mode 100644 libjava/gnu/xml/pipeline/PipelineFactory.h create mode 100644 libjava/gnu/xml/pipeline/TeeConsumer.h create mode 100644 libjava/gnu/xml/pipeline/TextConsumer.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer$ElementInfo.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer$Recognizer.h create mode 100644 libjava/gnu/xml/pipeline/ValidationConsumer.h create mode 100644 libjava/gnu/xml/pipeline/WellFormednessFilter.h create mode 100644 libjava/gnu/xml/pipeline/XIncludeFilter$Scrubber.h create mode 100644 libjava/gnu/xml/pipeline/XIncludeFilter.h create mode 100644 libjava/gnu/xml/pipeline/XsltFilter.h create mode 100644 libjava/gnu/xml/stream/AttributeImpl.h create mode 100644 libjava/gnu/xml/stream/BufferedReader.h create mode 100644 libjava/gnu/xml/stream/CRLFReader.h create mode 100644 libjava/gnu/xml/stream/CharactersImpl.h create mode 100644 libjava/gnu/xml/stream/CommentImpl.h create mode 100644 libjava/gnu/xml/stream/DTDImpl.h create mode 100644 libjava/gnu/xml/stream/EndDocumentImpl.h create mode 100644 libjava/gnu/xml/stream/EndElementImpl.h create mode 100644 libjava/gnu/xml/stream/EntityDeclarationImpl.h create mode 100644 libjava/gnu/xml/stream/EntityReferenceImpl.h create mode 100644 libjava/gnu/xml/stream/FilteredEventReader.h create mode 100644 libjava/gnu/xml/stream/FilteredStreamReader.h create mode 100644 libjava/gnu/xml/stream/NamespaceImpl.h create mode 100644 libjava/gnu/xml/stream/NotationDeclarationImpl.h create mode 100644 libjava/gnu/xml/stream/ProcessingInstructionImpl.h create mode 100644 libjava/gnu/xml/stream/SAXParser.h create mode 100644 libjava/gnu/xml/stream/SAXParserFactory.h create mode 100644 libjava/gnu/xml/stream/StartDocumentImpl.h create mode 100644 libjava/gnu/xml/stream/StartElementImpl.h create mode 100644 libjava/gnu/xml/stream/UnicodeReader.h create mode 100644 libjava/gnu/xml/stream/XIncludeFilter.h create mode 100644 libjava/gnu/xml/stream/XMLEventAllocatorImpl.h create mode 100644 libjava/gnu/xml/stream/XMLEventFactoryImpl.h create mode 100644 libjava/gnu/xml/stream/XMLEventImpl.h create mode 100644 libjava/gnu/xml/stream/XMLEventReaderImpl.h create mode 100644 libjava/gnu/xml/stream/XMLEventWriterImpl.h create mode 100644 libjava/gnu/xml/stream/XMLInputFactoryImpl.h create mode 100644 libjava/gnu/xml/stream/XMLOutputFactoryImpl.h create mode 100644 libjava/gnu/xml/stream/XMLParser$AnyContentModel.h create mode 100644 libjava/gnu/xml/stream/XMLParser$Attribute.h create mode 100644 libjava/gnu/xml/stream/XMLParser$AttributeDecl.h create mode 100644 libjava/gnu/xml/stream/XMLParser$ContentModel.h create mode 100644 libjava/gnu/xml/stream/XMLParser$ContentParticle.h create mode 100644 libjava/gnu/xml/stream/XMLParser$Doctype.h create mode 100644 libjava/gnu/xml/stream/XMLParser$ElementContentModel.h create mode 100644 libjava/gnu/xml/stream/XMLParser$EmptyContentModel.h create mode 100644 libjava/gnu/xml/stream/XMLParser$ExternalIds.h create mode 100644 libjava/gnu/xml/stream/XMLParser$Input.h create mode 100644 libjava/gnu/xml/stream/XMLParser$MixedContentModel.h create mode 100644 libjava/gnu/xml/stream/XMLParser.h create mode 100644 libjava/gnu/xml/stream/XMLStreamWriterImpl.h create mode 100644 libjava/gnu/xml/transform/AbstractNumberNode.h create mode 100644 libjava/gnu/xml/transform/ApplyImportsNode.h create mode 100644 libjava/gnu/xml/transform/ApplyTemplatesNode.h create mode 100644 libjava/gnu/xml/transform/AttributeNode.h create mode 100644 libjava/gnu/xml/transform/AttributeSet.h create mode 100644 libjava/gnu/xml/transform/Bindings.h create mode 100644 libjava/gnu/xml/transform/CallTemplateNode.h create mode 100644 libjava/gnu/xml/transform/ChooseNode.h create mode 100644 libjava/gnu/xml/transform/CommentNode.h create mode 100644 libjava/gnu/xml/transform/CopyNode.h create mode 100644 libjava/gnu/xml/transform/CopyOfNode.h create mode 100644 libjava/gnu/xml/transform/CurrentFunction.h create mode 100644 libjava/gnu/xml/transform/DOMSourceLocator.h create mode 100644 libjava/gnu/xml/transform/DocumentFunction.h create mode 100644 libjava/gnu/xml/transform/ElementAvailableFunction.h create mode 100644 libjava/gnu/xml/transform/ElementNode.h create mode 100644 libjava/gnu/xml/transform/ErrorListenerErrorHandler.h create mode 100644 libjava/gnu/xml/transform/ForEachNode.h create mode 100644 libjava/gnu/xml/transform/FormatNumberFunction.h create mode 100644 libjava/gnu/xml/transform/FunctionAvailableFunction.h create mode 100644 libjava/gnu/xml/transform/GenerateIdFunction.h create mode 100644 libjava/gnu/xml/transform/IfNode.h create mode 100644 libjava/gnu/xml/transform/Key.h create mode 100644 libjava/gnu/xml/transform/KeyFunction.h create mode 100644 libjava/gnu/xml/transform/LiteralNode.h create mode 100644 libjava/gnu/xml/transform/MessageNode.h create mode 100644 libjava/gnu/xml/transform/NamespaceProxy.h create mode 100644 libjava/gnu/xml/transform/NodeNumberNode.h create mode 100644 libjava/gnu/xml/transform/NumberNode.h create mode 100644 libjava/gnu/xml/transform/OtherwiseNode.h create mode 100644 libjava/gnu/xml/transform/ParameterNode.h create mode 100644 libjava/gnu/xml/transform/ProcessingInstructionNode.h create mode 100644 libjava/gnu/xml/transform/SAXSerializer.h create mode 100644 libjava/gnu/xml/transform/SAXTemplatesHandler.h create mode 100644 libjava/gnu/xml/transform/SAXTransformerHandler.h create mode 100644 libjava/gnu/xml/transform/SortKey.h create mode 100644 libjava/gnu/xml/transform/StreamSerializer.h create mode 100644 libjava/gnu/xml/transform/StrippingInstruction.h create mode 100644 libjava/gnu/xml/transform/Stylesheet.h create mode 100644 libjava/gnu/xml/transform/SystemPropertyFunction.h create mode 100644 libjava/gnu/xml/transform/Template.h create mode 100644 libjava/gnu/xml/transform/TemplateNode.h create mode 100644 libjava/gnu/xml/transform/TemplatesImpl.h create mode 100644 libjava/gnu/xml/transform/TextNode.h create mode 100644 libjava/gnu/xml/transform/TransformerFactoryImpl.h create mode 100644 libjava/gnu/xml/transform/TransformerImpl.h create mode 100644 libjava/gnu/xml/transform/TransformerOutputProperties.h create mode 100644 libjava/gnu/xml/transform/URIResolverEntityResolver.h create mode 100644 libjava/gnu/xml/transform/UnparsedEntityUriFunction.h create mode 100644 libjava/gnu/xml/transform/ValueOfNode.h create mode 100644 libjava/gnu/xml/transform/WhenNode.h create mode 100644 libjava/gnu/xml/transform/WithParam.h create mode 100644 libjava/gnu/xml/transform/XSLComparator.h create mode 100644 libjava/gnu/xml/transform/XSLURIResolver.h create mode 100644 libjava/gnu/xml/util/DoParse$MyErrorHandler.h create mode 100644 libjava/gnu/xml/util/DoParse.h create mode 100644 libjava/gnu/xml/util/DomParser.h create mode 100644 libjava/gnu/xml/util/Resolver.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory$DomHandler.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory$NullHandler.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.h create mode 100644 libjava/gnu/xml/util/SAXNullTransformerFactory.h create mode 100644 libjava/gnu/xml/util/XCat$Catalog.h create mode 100644 libjava/gnu/xml/util/XCat$DoneDelegation.h create mode 100644 libjava/gnu/xml/util/XCat$Loader.h create mode 100644 libjava/gnu/xml/util/XCat.h create mode 100644 libjava/gnu/xml/util/XHTMLWriter.h create mode 100644 libjava/gnu/xml/util/XMLWriter.h create mode 100644 libjava/gnu/xml/validation/datatype/Annotation.h create mode 100644 libjava/gnu/xml/validation/datatype/AnySimpleType.h create mode 100644 libjava/gnu/xml/validation/datatype/AnyType.h create mode 100644 libjava/gnu/xml/validation/datatype/AnyURIType.h create mode 100644 libjava/gnu/xml/validation/datatype/AtomicSimpleType.h create mode 100644 libjava/gnu/xml/validation/datatype/Base64BinaryType.h create mode 100644 libjava/gnu/xml/validation/datatype/BooleanType.h create mode 100644 libjava/gnu/xml/validation/datatype/ByteType.h create mode 100644 libjava/gnu/xml/validation/datatype/DateTimeType.h create mode 100644 libjava/gnu/xml/validation/datatype/DateType.h create mode 100644 libjava/gnu/xml/validation/datatype/DecimalType.h create mode 100644 libjava/gnu/xml/validation/datatype/DoubleType.h create mode 100644 libjava/gnu/xml/validation/datatype/DurationType$Duration.h create mode 100644 libjava/gnu/xml/validation/datatype/DurationType.h create mode 100644 libjava/gnu/xml/validation/datatype/EntitiesType.h create mode 100644 libjava/gnu/xml/validation/datatype/EntityType.h create mode 100644 libjava/gnu/xml/validation/datatype/EnumerationFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/Facet.h create mode 100644 libjava/gnu/xml/validation/datatype/FloatType.h create mode 100644 libjava/gnu/xml/validation/datatype/FractionDigitsFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/GDayType$GDay.h create mode 100644 libjava/gnu/xml/validation/datatype/GDayType.h create mode 100644 libjava/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.h create mode 100644 libjava/gnu/xml/validation/datatype/GMonthDayType.h create mode 100644 libjava/gnu/xml/validation/datatype/GMonthType$GMonth.h create mode 100644 libjava/gnu/xml/validation/datatype/GMonthType.h create mode 100644 libjava/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.h create mode 100644 libjava/gnu/xml/validation/datatype/GYearMonthType.h create mode 100644 libjava/gnu/xml/validation/datatype/GYearType$GYear.h create mode 100644 libjava/gnu/xml/validation/datatype/GYearType.h create mode 100644 libjava/gnu/xml/validation/datatype/HexBinaryType.h create mode 100644 libjava/gnu/xml/validation/datatype/IDRefType.h create mode 100644 libjava/gnu/xml/validation/datatype/IDRefsType.h create mode 100644 libjava/gnu/xml/validation/datatype/IDType.h create mode 100644 libjava/gnu/xml/validation/datatype/IntType.h create mode 100644 libjava/gnu/xml/validation/datatype/IntegerType.h create mode 100644 libjava/gnu/xml/validation/datatype/LanguageType.h create mode 100644 libjava/gnu/xml/validation/datatype/LengthFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/ListSimpleType.h create mode 100644 libjava/gnu/xml/validation/datatype/LongType.h create mode 100644 libjava/gnu/xml/validation/datatype/MaxExclusiveFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/MaxInclusiveFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/MaxLengthFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/MinExclusiveFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/MinInclusiveFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/MinLengthFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/NCNameType.h create mode 100644 libjava/gnu/xml/validation/datatype/NMTokenType.h create mode 100644 libjava/gnu/xml/validation/datatype/NMTokensType.h create mode 100644 libjava/gnu/xml/validation/datatype/NameType.h create mode 100644 libjava/gnu/xml/validation/datatype/NegativeIntegerType.h create mode 100644 libjava/gnu/xml/validation/datatype/NonNegativeIntegerType.h create mode 100644 libjava/gnu/xml/validation/datatype/NonPositiveIntegerType.h create mode 100644 libjava/gnu/xml/validation/datatype/NormalizedStringType.h create mode 100644 libjava/gnu/xml/validation/datatype/NotationType.h create mode 100644 libjava/gnu/xml/validation/datatype/PatternFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/PositiveIntegerType.h create mode 100644 libjava/gnu/xml/validation/datatype/QNameType.h create mode 100644 libjava/gnu/xml/validation/datatype/ShortType.h create mode 100644 libjava/gnu/xml/validation/datatype/SimpleType.h create mode 100644 libjava/gnu/xml/validation/datatype/StringType.h create mode 100644 libjava/gnu/xml/validation/datatype/TimeType$Time.h create mode 100644 libjava/gnu/xml/validation/datatype/TimeType.h create mode 100644 libjava/gnu/xml/validation/datatype/TokenType.h create mode 100644 libjava/gnu/xml/validation/datatype/TotalDigitsFacet.h create mode 100644 libjava/gnu/xml/validation/datatype/Type.h create mode 100644 libjava/gnu/xml/validation/datatype/TypeBuilder.h create mode 100644 libjava/gnu/xml/validation/datatype/TypeLibrary.h create mode 100644 libjava/gnu/xml/validation/datatype/TypeLibraryFactory.h create mode 100644 libjava/gnu/xml/validation/datatype/UnionSimpleType.h create mode 100644 libjava/gnu/xml/validation/datatype/UnsignedByteType.h create mode 100644 libjava/gnu/xml/validation/datatype/UnsignedIntType.h create mode 100644 libjava/gnu/xml/validation/datatype/UnsignedLongType.h create mode 100644 libjava/gnu/xml/validation/datatype/UnsignedShortType.h create mode 100644 libjava/gnu/xml/validation/datatype/WhiteSpaceFacet.h create mode 100644 libjava/gnu/xml/validation/relaxng/AnyNameNameClass.h create mode 100644 libjava/gnu/xml/validation/relaxng/AttributePattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/ChoiceNameClass.h create mode 100644 libjava/gnu/xml/validation/relaxng/ChoicePattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/DataPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/Define.h create mode 100644 libjava/gnu/xml/validation/relaxng/ElementPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/EmptyPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/FullSyntaxBuilder.h create mode 100644 libjava/gnu/xml/validation/relaxng/Grammar.h create mode 100644 libjava/gnu/xml/validation/relaxng/GrammarException.h create mode 100644 libjava/gnu/xml/validation/relaxng/GrammarValidator.h create mode 100644 libjava/gnu/xml/validation/relaxng/GroupPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/InterleavePattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/ListPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/NSNameNameClass.h create mode 100644 libjava/gnu/xml/validation/relaxng/NameClass.h create mode 100644 libjava/gnu/xml/validation/relaxng/NameNameClass.h create mode 100644 libjava/gnu/xml/validation/relaxng/NotAllowedPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/OneOrMorePattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/Param.h create mode 100644 libjava/gnu/xml/validation/relaxng/Pattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.h create mode 100644 libjava/gnu/xml/validation/relaxng/RefPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/TextPattern.h create mode 100644 libjava/gnu/xml/validation/relaxng/ValuePattern.h create mode 100644 libjava/gnu/xml/validation/xmlschema/AnyAttribute.h create mode 100644 libjava/gnu/xml/validation/xmlschema/AttributeDeclaration.h create mode 100644 libjava/gnu/xml/validation/xmlschema/AttributeUse.h create mode 100644 libjava/gnu/xml/validation/xmlschema/ComplexType.h create mode 100644 libjava/gnu/xml/validation/xmlschema/ElementDeclaration.h create mode 100644 libjava/gnu/xml/validation/xmlschema/Particle.h create mode 100644 libjava/gnu/xml/validation/xmlschema/ValidationException.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchema.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaBuilder.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaValidator.h create mode 100644 libjava/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.h create mode 100644 libjava/gnu/xml/xpath/AndExpr.h create mode 100644 libjava/gnu/xml/xpath/ArithmeticExpr.h create mode 100644 libjava/gnu/xml/xpath/BooleanFunction.h create mode 100644 libjava/gnu/xml/xpath/CeilingFunction.h create mode 100644 libjava/gnu/xml/xpath/ConcatFunction.h create mode 100644 libjava/gnu/xml/xpath/Constant.h create mode 100644 libjava/gnu/xml/xpath/ContainsFunction.h create mode 100644 libjava/gnu/xml/xpath/CountFunction.h create mode 100644 libjava/gnu/xml/xpath/DocumentOrderComparator.h create mode 100644 libjava/gnu/xml/xpath/EqualityExpr.h create mode 100644 libjava/gnu/xml/xpath/Expr$ExprNodeSet.h create mode 100644 libjava/gnu/xml/xpath/Expr.h create mode 100644 libjava/gnu/xml/xpath/FalseFunction.h create mode 100644 libjava/gnu/xml/xpath/FloorFunction.h create mode 100644 libjava/gnu/xml/xpath/Function.h create mode 100644 libjava/gnu/xml/xpath/FunctionCall.h create mode 100644 libjava/gnu/xml/xpath/IdFunction.h create mode 100644 libjava/gnu/xml/xpath/LangFunction.h create mode 100644 libjava/gnu/xml/xpath/LastFunction.h create mode 100644 libjava/gnu/xml/xpath/LocalNameFunction.h create mode 100644 libjava/gnu/xml/xpath/NameFunction.h create mode 100644 libjava/gnu/xml/xpath/NameTest.h create mode 100644 libjava/gnu/xml/xpath/NamespaceTest.h create mode 100644 libjava/gnu/xml/xpath/NamespaceUriFunction.h create mode 100644 libjava/gnu/xml/xpath/NegativeExpr.h create mode 100644 libjava/gnu/xml/xpath/NodeTypeTest.h create mode 100644 libjava/gnu/xml/xpath/NormalizeSpaceFunction.h create mode 100644 libjava/gnu/xml/xpath/NotFunction.h create mode 100644 libjava/gnu/xml/xpath/NumberFunction.h create mode 100644 libjava/gnu/xml/xpath/OrExpr.h create mode 100644 libjava/gnu/xml/xpath/ParenthesizedExpr.h create mode 100644 libjava/gnu/xml/xpath/Path.h create mode 100644 libjava/gnu/xml/xpath/Pattern.h create mode 100644 libjava/gnu/xml/xpath/PositionFunction.h create mode 100644 libjava/gnu/xml/xpath/Predicate.h create mode 100644 libjava/gnu/xml/xpath/RelationalExpr.h create mode 100644 libjava/gnu/xml/xpath/Root.h create mode 100644 libjava/gnu/xml/xpath/RoundFunction.h create mode 100644 libjava/gnu/xml/xpath/Selector.h create mode 100644 libjava/gnu/xml/xpath/StartsWithFunction.h create mode 100644 libjava/gnu/xml/xpath/Steps.h create mode 100644 libjava/gnu/xml/xpath/StringFunction.h create mode 100644 libjava/gnu/xml/xpath/StringLengthFunction.h create mode 100644 libjava/gnu/xml/xpath/SubstringAfterFunction.h create mode 100644 libjava/gnu/xml/xpath/SubstringBeforeFunction.h create mode 100644 libjava/gnu/xml/xpath/SubstringFunction.h create mode 100644 libjava/gnu/xml/xpath/SumFunction.h create mode 100644 libjava/gnu/xml/xpath/Test.h create mode 100644 libjava/gnu/xml/xpath/TranslateFunction.h create mode 100644 libjava/gnu/xml/xpath/TrueFunction.h create mode 100644 libjava/gnu/xml/xpath/UnionExpr.h create mode 100644 libjava/gnu/xml/xpath/VariableReference.h create mode 100644 libjava/gnu/xml/xpath/XPathFactoryImpl.h create mode 100644 libjava/gnu/xml/xpath/XPathImpl.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyCheckClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyDefRedClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyDgotoClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyGindexClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyLenClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyLhsClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyNameClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyRindexClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YySindexClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$YyTableClass.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$yyException.h create mode 100644 libjava/gnu/xml/xpath/XPathParser$yyInput.h create mode 100644 libjava/gnu/xml/xpath/XPathParser.h create mode 100644 libjava/gnu/xml/xpath/XPathTokenizer$XPathToken.h create mode 100644 libjava/gnu/xml/xpath/XPathTokenizer.h create mode 100644 libjava/headers.txt create mode 100644 libjava/java/applet/Applet$AccessibleApplet.h create mode 100644 libjava/java/applet/Applet$URLAudioClip.h create mode 100644 libjava/java/applet/Applet.h create mode 100644 libjava/java/applet/AppletContext.h create mode 100644 libjava/java/applet/AppletStub.h create mode 100644 libjava/java/applet/AudioClip.h create mode 100644 libjava/java/awt/AWTError.h create mode 100644 libjava/java/awt/AWTEvent.h create mode 100644 libjava/java/awt/AWTEventMulticaster.h create mode 100644 libjava/java/awt/AWTException.h create mode 100644 libjava/java/awt/AWTKeyStroke$1.h create mode 100644 libjava/java/awt/AWTKeyStroke$2.h create mode 100644 libjava/java/awt/AWTKeyStroke$3.h create mode 100644 libjava/java/awt/AWTKeyStroke.h create mode 100644 libjava/java/awt/AWTPermission.h create mode 100644 libjava/java/awt/ActiveEvent.h create mode 100644 libjava/java/awt/Adjustable.h create mode 100644 libjava/java/awt/AlphaComposite$1.h create mode 100644 libjava/java/awt/AlphaComposite.h create mode 100644 libjava/java/awt/AttributeValue.h create mode 100644 libjava/java/awt/BasicStroke.h create mode 100644 libjava/java/awt/BorderLayout.h create mode 100644 libjava/java/awt/BufferCapabilities$FlipContents.h create mode 100644 libjava/java/awt/BufferCapabilities.h create mode 100644 libjava/java/awt/Button$AccessibleAWTButton.h create mode 100644 libjava/java/awt/Button.h create mode 100644 libjava/java/awt/Canvas$AccessibleAWTCanvas.h create mode 100644 libjava/java/awt/Canvas$CanvasBltBufferStrategy.h create mode 100644 libjava/java/awt/Canvas$CanvasFlipBufferStrategy.h create mode 100644 libjava/java/awt/Canvas.h create mode 100644 libjava/java/awt/CardLayout.h create mode 100644 libjava/java/awt/Checkbox$AccessibleAWTCheckbox.h create mode 100644 libjava/java/awt/Checkbox.h create mode 100644 libjava/java/awt/CheckboxGroup.h create mode 100644 libjava/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.h create mode 100644 libjava/java/awt/CheckboxMenuItem.h create mode 100644 libjava/java/awt/Choice$AccessibleAWTChoice.h create mode 100644 libjava/java/awt/Choice.h create mode 100644 libjava/java/awt/Color.h create mode 100644 libjava/java/awt/ColorPaintContext$ColorRaster.h create mode 100644 libjava/java/awt/ColorPaintContext.h create mode 100644 libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.h create mode 100644 libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.h create mode 100644 libjava/java/awt/Component$AccessibleAWTComponent.h create mode 100644 libjava/java/awt/Component$BltBufferStrategy.h create mode 100644 libjava/java/awt/Component$FlipBufferStrategy.h create mode 100644 libjava/java/awt/Component$HeavyweightInLightweightListener.h create mode 100644 libjava/java/awt/Component.h create mode 100644 libjava/java/awt/ComponentOrientation.h create mode 100644 libjava/java/awt/Composite.h create mode 100644 libjava/java/awt/CompositeContext.h create mode 100644 libjava/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.h create mode 100644 libjava/java/awt/Container$AccessibleAWTContainer.h create mode 100644 libjava/java/awt/Container$GfxPaintAllVisitor.h create mode 100644 libjava/java/awt/Container$GfxPaintVisitor.h create mode 100644 libjava/java/awt/Container$GfxPrintAllVisitor.h create mode 100644 libjava/java/awt/Container$GfxPrintVisitor.h create mode 100644 libjava/java/awt/Container$GfxVisitor.h create mode 100644 libjava/java/awt/Container.h create mode 100644 libjava/java/awt/ContainerOrderFocusTraversalPolicy.h create mode 100644 libjava/java/awt/Cursor.h create mode 100644 libjava/java/awt/DefaultFocusTraversalPolicy.h create mode 100644 libjava/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.h create mode 100644 libjava/java/awt/DefaultKeyboardFocusManager.h create mode 100644 libjava/java/awt/Dialog$AccessibleAWTDialog.h create mode 100644 libjava/java/awt/Dialog.h create mode 100644 libjava/java/awt/Dimension.h create mode 100644 libjava/java/awt/DisplayMode.h create mode 100644 libjava/java/awt/Event.h create mode 100644 libjava/java/awt/EventDispatchThread.h create mode 100644 libjava/java/awt/EventQueue$Queue.h create mode 100644 libjava/java/awt/EventQueue.h create mode 100644 libjava/java/awt/FileDialog.h create mode 100644 libjava/java/awt/FlowLayout.h create mode 100644 libjava/java/awt/FocusTraversalPolicy.h create mode 100644 libjava/java/awt/Font.h create mode 100644 libjava/java/awt/FontFormatException.h create mode 100644 libjava/java/awt/FontMetrics.h create mode 100644 libjava/java/awt/Frame$AccessibleAWTFrame.h create mode 100644 libjava/java/awt/Frame.h create mode 100644 libjava/java/awt/GradientPaint.h create mode 100644 libjava/java/awt/Graphics.h create mode 100644 libjava/java/awt/Graphics2D.h create mode 100644 libjava/java/awt/GraphicsConfigTemplate.h create mode 100644 libjava/java/awt/GraphicsConfiguration.h create mode 100644 libjava/java/awt/GraphicsDevice.h create mode 100644 libjava/java/awt/GraphicsEnvironment.h create mode 100644 libjava/java/awt/GridBagConstraints.h create mode 100644 libjava/java/awt/GridBagLayout.h create mode 100644 libjava/java/awt/GridBagLayoutInfo.h create mode 100644 libjava/java/awt/GridLayout.h create mode 100644 libjava/java/awt/HeadlessException.h create mode 100644 libjava/java/awt/IllegalComponentStateException.h create mode 100644 libjava/java/awt/Image.h create mode 100644 libjava/java/awt/ImageCapabilities.h create mode 100644 libjava/java/awt/Insets.h create mode 100644 libjava/java/awt/ItemSelectable.h create mode 100644 libjava/java/awt/JobAttributes$DefaultSelectionType.h create mode 100644 libjava/java/awt/JobAttributes$DestinationType.h create mode 100644 libjava/java/awt/JobAttributes$DialogType.h create mode 100644 libjava/java/awt/JobAttributes$MultipleDocumentHandlingType.h create mode 100644 libjava/java/awt/JobAttributes$SidesType.h create mode 100644 libjava/java/awt/JobAttributes.h create mode 100644 libjava/java/awt/KeyEventDispatcher.h create mode 100644 libjava/java/awt/KeyEventPostProcessor.h create mode 100644 libjava/java/awt/KeyboardFocusManager.h create mode 100644 libjava/java/awt/Label$AccessibleAWTLabel.h create mode 100644 libjava/java/awt/Label.h create mode 100644 libjava/java/awt/LayoutManager.h create mode 100644 libjava/java/awt/LayoutManager2.h create mode 100644 libjava/java/awt/LightweightDispatcher.h create mode 100644 libjava/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.h create mode 100644 libjava/java/awt/List$AccessibleAWTList.h create mode 100644 libjava/java/awt/List.h create mode 100644 libjava/java/awt/MediaTracker$MediaEntry.h create mode 100644 libjava/java/awt/MediaTracker.h create mode 100644 libjava/java/awt/Menu$AccessibleAWTMenu.h create mode 100644 libjava/java/awt/Menu.h create mode 100644 libjava/java/awt/MenuBar$AccessibleAWTMenuBar.h create mode 100644 libjava/java/awt/MenuBar.h create mode 100644 libjava/java/awt/MenuComponent$AccessibleAWTMenuComponent.h create mode 100644 libjava/java/awt/MenuComponent.h create mode 100644 libjava/java/awt/MenuContainer.h create mode 100644 libjava/java/awt/MenuItem$AccessibleAWTMenuItem.h create mode 100644 libjava/java/awt/MenuItem.h create mode 100644 libjava/java/awt/MenuShortcut.h create mode 100644 libjava/java/awt/MouseInfo.h create mode 100644 libjava/java/awt/PageAttributes$ColorType.h create mode 100644 libjava/java/awt/PageAttributes$MediaType.h create mode 100644 libjava/java/awt/PageAttributes$OrientationRequestedType.h create mode 100644 libjava/java/awt/PageAttributes$OriginType.h create mode 100644 libjava/java/awt/PageAttributes$PrintQualityType.h create mode 100644 libjava/java/awt/PageAttributes.h create mode 100644 libjava/java/awt/Paint.h create mode 100644 libjava/java/awt/PaintContext.h create mode 100644 libjava/java/awt/Panel$AccessibleAWTPanel.h create mode 100644 libjava/java/awt/Panel.h create mode 100644 libjava/java/awt/Point.h create mode 100644 libjava/java/awt/PointerInfo.h create mode 100644 libjava/java/awt/Polygon$1.h create mode 100644 libjava/java/awt/Polygon.h create mode 100644 libjava/java/awt/PopupMenu$AccessibleAWTPopupMenu.h create mode 100644 libjava/java/awt/PopupMenu.h create mode 100644 libjava/java/awt/PrintGraphics.h create mode 100644 libjava/java/awt/PrintJob.h create mode 100644 libjava/java/awt/Rectangle.h create mode 100644 libjava/java/awt/RenderingHints$Key.h create mode 100644 libjava/java/awt/RenderingHints$KeyImpl.h create mode 100644 libjava/java/awt/RenderingHints.h create mode 100644 libjava/java/awt/Robot$1.h create mode 100644 libjava/java/awt/Robot.h create mode 100644 libjava/java/awt/ScrollPane$AccessibleAWTScrollPane.h create mode 100644 libjava/java/awt/ScrollPane.h create mode 100644 libjava/java/awt/ScrollPaneAdjustable.h create mode 100644 libjava/java/awt/Scrollbar$AccessibleAWTScrollBar.h create mode 100644 libjava/java/awt/Scrollbar.h create mode 100644 libjava/java/awt/Shape.h create mode 100644 libjava/java/awt/Stroke.h create mode 100644 libjava/java/awt/SystemColor.h create mode 100644 libjava/java/awt/TextArea$AccessibleAWTTextArea.h create mode 100644 libjava/java/awt/TextArea.h create mode 100644 libjava/java/awt/TextComponent$AccessibleAWTTextComponent.h create mode 100644 libjava/java/awt/TextComponent.h create mode 100644 libjava/java/awt/TextField$AccessibleAWTTextField.h create mode 100644 libjava/java/awt/TextField.h create mode 100644 libjava/java/awt/TexturePaint.h create mode 100644 libjava/java/awt/Toolkit$1.h create mode 100644 libjava/java/awt/Toolkit$2.h create mode 100644 libjava/java/awt/Toolkit.h create mode 100644 libjava/java/awt/Transparency.h create mode 100644 libjava/java/awt/Window$AccessibleAWTWindow.h create mode 100644 libjava/java/awt/Window$WindowBltBufferStrategy.h create mode 100644 libjava/java/awt/Window$WindowFlipBufferStrategy.h create mode 100644 libjava/java/awt/Window.h create mode 100644 libjava/java/awt/color/CMMException.h create mode 100644 libjava/java/awt/color/ColorSpace.h create mode 100644 libjava/java/awt/color/ICC_ColorSpace.h create mode 100644 libjava/java/awt/color/ICC_Profile.h create mode 100644 libjava/java/awt/color/ICC_ProfileGray.h create mode 100644 libjava/java/awt/color/ICC_ProfileRGB.h create mode 100644 libjava/java/awt/color/ProfileDataException.h create mode 100644 libjava/java/awt/datatransfer/Clipboard.h create mode 100644 libjava/java/awt/datatransfer/ClipboardOwner.h create mode 100644 libjava/java/awt/datatransfer/DataFlavor.h create mode 100644 libjava/java/awt/datatransfer/FlavorEvent.h create mode 100644 libjava/java/awt/datatransfer/FlavorListener.h create mode 100644 libjava/java/awt/datatransfer/FlavorMap.h create mode 100644 libjava/java/awt/datatransfer/FlavorTable.h create mode 100644 libjava/java/awt/datatransfer/MimeType.h create mode 100644 libjava/java/awt/datatransfer/MimeTypeParseException.h create mode 100644 libjava/java/awt/datatransfer/StringSelection.h create mode 100644 libjava/java/awt/datatransfer/SystemFlavorMap.h create mode 100644 libjava/java/awt/datatransfer/Transferable.h create mode 100644 libjava/java/awt/datatransfer/UnsupportedFlavorException.h create mode 100644 libjava/java/awt/dnd/Autoscroll.h create mode 100644 libjava/java/awt/dnd/DnDConstants.h create mode 100644 libjava/java/awt/dnd/DnDEventMulticaster.h create mode 100644 libjava/java/awt/dnd/DragGestureEvent.h create mode 100644 libjava/java/awt/dnd/DragGestureListener.h create mode 100644 libjava/java/awt/dnd/DragGestureRecognizer.h create mode 100644 libjava/java/awt/dnd/DragSource.h create mode 100644 libjava/java/awt/dnd/DragSourceAdapter.h create mode 100644 libjava/java/awt/dnd/DragSourceContext.h create mode 100644 libjava/java/awt/dnd/DragSourceDragEvent.h create mode 100644 libjava/java/awt/dnd/DragSourceDropEvent.h create mode 100644 libjava/java/awt/dnd/DragSourceEvent.h create mode 100644 libjava/java/awt/dnd/DragSourceListener.h create mode 100644 libjava/java/awt/dnd/DragSourceMotionListener.h create mode 100644 libjava/java/awt/dnd/DropTarget$DropTargetAutoScroller.h create mode 100644 libjava/java/awt/dnd/DropTarget.h create mode 100644 libjava/java/awt/dnd/DropTargetAdapter.h create mode 100644 libjava/java/awt/dnd/DropTargetContext$TransferableProxy.h create mode 100644 libjava/java/awt/dnd/DropTargetContext.h create mode 100644 libjava/java/awt/dnd/DropTargetDragEvent.h create mode 100644 libjava/java/awt/dnd/DropTargetDropEvent.h create mode 100644 libjava/java/awt/dnd/DropTargetEvent.h create mode 100644 libjava/java/awt/dnd/DropTargetListener.h create mode 100644 libjava/java/awt/dnd/InvalidDnDOperationException.h create mode 100644 libjava/java/awt/dnd/MouseDragGestureRecognizer.h create mode 100644 libjava/java/awt/dnd/peer/DragSourceContextPeer.h create mode 100644 libjava/java/awt/dnd/peer/DropTargetContextPeer.h create mode 100644 libjava/java/awt/dnd/peer/DropTargetPeer.h create mode 100644 libjava/java/awt/event/AWTEventListener.h create mode 100644 libjava/java/awt/event/AWTEventListenerProxy.h create mode 100644 libjava/java/awt/event/ActionEvent.h create mode 100644 libjava/java/awt/event/ActionListener.h create mode 100644 libjava/java/awt/event/AdjustmentEvent.h create mode 100644 libjava/java/awt/event/AdjustmentListener.h create mode 100644 libjava/java/awt/event/ComponentAdapter.h create mode 100644 libjava/java/awt/event/ComponentEvent.h create mode 100644 libjava/java/awt/event/ComponentListener.h create mode 100644 libjava/java/awt/event/ContainerAdapter.h create mode 100644 libjava/java/awt/event/ContainerEvent.h create mode 100644 libjava/java/awt/event/ContainerListener.h create mode 100644 libjava/java/awt/event/FocusAdapter.h create mode 100644 libjava/java/awt/event/FocusEvent.h create mode 100644 libjava/java/awt/event/FocusListener.h create mode 100644 libjava/java/awt/event/HierarchyBoundsAdapter.h create mode 100644 libjava/java/awt/event/HierarchyBoundsListener.h create mode 100644 libjava/java/awt/event/HierarchyEvent.h create mode 100644 libjava/java/awt/event/HierarchyListener.h create mode 100644 libjava/java/awt/event/InputEvent.h create mode 100644 libjava/java/awt/event/InputMethodEvent.h create mode 100644 libjava/java/awt/event/InputMethodListener.h create mode 100644 libjava/java/awt/event/InvocationEvent.h create mode 100644 libjava/java/awt/event/ItemEvent.h create mode 100644 libjava/java/awt/event/ItemListener.h create mode 100644 libjava/java/awt/event/KeyAdapter.h create mode 100644 libjava/java/awt/event/KeyEvent.h create mode 100644 libjava/java/awt/event/KeyListener.h create mode 100644 libjava/java/awt/event/MouseAdapter.h create mode 100644 libjava/java/awt/event/MouseEvent.h create mode 100644 libjava/java/awt/event/MouseListener.h create mode 100644 libjava/java/awt/event/MouseMotionAdapter.h create mode 100644 libjava/java/awt/event/MouseMotionListener.h create mode 100644 libjava/java/awt/event/MouseWheelEvent.h create mode 100644 libjava/java/awt/event/MouseWheelListener.h create mode 100644 libjava/java/awt/event/PaintEvent.h create mode 100644 libjava/java/awt/event/TextEvent.h create mode 100644 libjava/java/awt/event/TextListener.h create mode 100644 libjava/java/awt/event/WindowAdapter.h create mode 100644 libjava/java/awt/event/WindowEvent.h create mode 100644 libjava/java/awt/event/WindowFocusListener.h create mode 100644 libjava/java/awt/event/WindowListener.h create mode 100644 libjava/java/awt/event/WindowStateListener.h create mode 100644 libjava/java/awt/font/FontRenderContext.h create mode 100644 libjava/java/awt/font/GlyphJustificationInfo.h create mode 100644 libjava/java/awt/font/GlyphMetrics.h create mode 100644 libjava/java/awt/font/GlyphVector.h create mode 100644 libjava/java/awt/font/GraphicAttribute.h create mode 100644 libjava/java/awt/font/ImageGraphicAttribute.h create mode 100644 libjava/java/awt/font/LineBreakMeasurer.h create mode 100644 libjava/java/awt/font/LineMetrics.h create mode 100644 libjava/java/awt/font/MultipleMaster.h create mode 100644 libjava/java/awt/font/NumericShaper.h create mode 100644 libjava/java/awt/font/OpenType.h create mode 100644 libjava/java/awt/font/ShapeGraphicAttribute.h create mode 100644 libjava/java/awt/font/TextAttribute.h create mode 100644 libjava/java/awt/font/TextHitInfo.h create mode 100644 libjava/java/awt/font/TextLayout$CaretPolicy.h create mode 100644 libjava/java/awt/font/TextLayout$Run.h create mode 100644 libjava/java/awt/font/TextLayout.h create mode 100644 libjava/java/awt/font/TextMeasurer.h create mode 100644 libjava/java/awt/font/TransformAttribute.h create mode 100644 libjava/java/awt/geom/AffineTransform.h create mode 100644 libjava/java/awt/geom/Arc2D$ArcIterator.h create mode 100644 libjava/java/awt/geom/Arc2D$Double.h create mode 100644 libjava/java/awt/geom/Arc2D$Float.h create mode 100644 libjava/java/awt/geom/Arc2D.h create mode 100644 libjava/java/awt/geom/Area$AreaIterator$IteratorSegment.h create mode 100644 libjava/java/awt/geom/Area$AreaIterator.h create mode 100644 libjava/java/awt/geom/Area$CubicSegment.h create mode 100644 libjava/java/awt/geom/Area$Intersection.h create mode 100644 libjava/java/awt/geom/Area$LineSegment.h create mode 100644 libjava/java/awt/geom/Area$QuadSegment.h create mode 100644 libjava/java/awt/geom/Area$Segment.h create mode 100644 libjava/java/awt/geom/Area.h create mode 100644 libjava/java/awt/geom/CubicCurve2D$1.h create mode 100644 libjava/java/awt/geom/CubicCurve2D$Double.h create mode 100644 libjava/java/awt/geom/CubicCurve2D$Float.h create mode 100644 libjava/java/awt/geom/CubicCurve2D.h create mode 100644 libjava/java/awt/geom/Dimension2D.h create mode 100644 libjava/java/awt/geom/Ellipse2D$Double.h create mode 100644 libjava/java/awt/geom/Ellipse2D$Float.h create mode 100644 libjava/java/awt/geom/Ellipse2D.h create mode 100644 libjava/java/awt/geom/FlatteningPathIterator.h create mode 100644 libjava/java/awt/geom/GeneralPath$GeneralPathIterator.h create mode 100644 libjava/java/awt/geom/GeneralPath.h create mode 100644 libjava/java/awt/geom/IllegalPathStateException.h create mode 100644 libjava/java/awt/geom/Line2D$1.h create mode 100644 libjava/java/awt/geom/Line2D$Double.h create mode 100644 libjava/java/awt/geom/Line2D$Float.h create mode 100644 libjava/java/awt/geom/Line2D.h create mode 100644 libjava/java/awt/geom/NoninvertibleTransformException.h create mode 100644 libjava/java/awt/geom/PathIterator.h create mode 100644 libjava/java/awt/geom/Point2D$Double.h create mode 100644 libjava/java/awt/geom/Point2D$Float.h create mode 100644 libjava/java/awt/geom/Point2D.h create mode 100644 libjava/java/awt/geom/QuadCurve2D$1.h create mode 100644 libjava/java/awt/geom/QuadCurve2D$Double.h create mode 100644 libjava/java/awt/geom/QuadCurve2D$Float.h create mode 100644 libjava/java/awt/geom/QuadCurve2D.h create mode 100644 libjava/java/awt/geom/Rectangle2D$1.h create mode 100644 libjava/java/awt/geom/Rectangle2D$Double.h create mode 100644 libjava/java/awt/geom/Rectangle2D$Float.h create mode 100644 libjava/java/awt/geom/Rectangle2D.h create mode 100644 libjava/java/awt/geom/RectangularShape.h create mode 100644 libjava/java/awt/geom/RoundRectangle2D$1.h create mode 100644 libjava/java/awt/geom/RoundRectangle2D$Double.h create mode 100644 libjava/java/awt/geom/RoundRectangle2D$Float.h create mode 100644 libjava/java/awt/geom/RoundRectangle2D.h create mode 100644 libjava/java/awt/im/InputContext.h create mode 100644 libjava/java/awt/im/InputMethodHighlight.h create mode 100644 libjava/java/awt/im/InputMethodRequests.h create mode 100644 libjava/java/awt/im/InputSubset.h create mode 100644 libjava/java/awt/im/spi/InputMethod.h create mode 100644 libjava/java/awt/im/spi/InputMethodContext.h create mode 100644 libjava/java/awt/im/spi/InputMethodDescriptor.h create mode 100644 libjava/java/awt/image/AffineTransformOp.h create mode 100644 libjava/java/awt/image/AreaAveragingScaleFilter.h create mode 100644 libjava/java/awt/image/BandCombineOp.h create mode 100644 libjava/java/awt/image/BandedSampleModel.h create mode 100644 libjava/java/awt/image/BufferStrategy.h create mode 100644 libjava/java/awt/image/BufferedImage$1.h create mode 100644 libjava/java/awt/image/BufferedImage.h create mode 100644 libjava/java/awt/image/BufferedImageFilter.h create mode 100644 libjava/java/awt/image/BufferedImageOp.h create mode 100644 libjava/java/awt/image/ByteLookupTable.h create mode 100644 libjava/java/awt/image/ColorConvertOp.h create mode 100644 libjava/java/awt/image/ColorModel$SRGBColorModel.h create mode 100644 libjava/java/awt/image/ColorModel.h create mode 100644 libjava/java/awt/image/ComponentColorModel.h create mode 100644 libjava/java/awt/image/ComponentSampleModel.h create mode 100644 libjava/java/awt/image/ConvolveOp.h create mode 100644 libjava/java/awt/image/CropImageFilter.h create mode 100644 libjava/java/awt/image/DataBuffer.h create mode 100644 libjava/java/awt/image/DataBufferByte.h create mode 100644 libjava/java/awt/image/DataBufferDouble.h create mode 100644 libjava/java/awt/image/DataBufferFloat.h create mode 100644 libjava/java/awt/image/DataBufferInt.h create mode 100644 libjava/java/awt/image/DataBufferShort.h create mode 100644 libjava/java/awt/image/DataBufferUShort.h create mode 100644 libjava/java/awt/image/DirectColorModel.h create mode 100644 libjava/java/awt/image/FilteredImageSource.h create mode 100644 libjava/java/awt/image/ImageConsumer.h create mode 100644 libjava/java/awt/image/ImageFilter.h create mode 100644 libjava/java/awt/image/ImageObserver.h create mode 100644 libjava/java/awt/image/ImageProducer.h create mode 100644 libjava/java/awt/image/ImagingOpException.h create mode 100644 libjava/java/awt/image/IndexColorModel.h create mode 100644 libjava/java/awt/image/Kernel.h create mode 100644 libjava/java/awt/image/LookupOp.h create mode 100644 libjava/java/awt/image/LookupTable.h create mode 100644 libjava/java/awt/image/MemoryImageSource.h create mode 100644 libjava/java/awt/image/MultiPixelPackedSampleModel.h create mode 100644 libjava/java/awt/image/PackedColorModel.h create mode 100644 libjava/java/awt/image/PixelGrabber$1.h create mode 100644 libjava/java/awt/image/PixelGrabber.h create mode 100644 libjava/java/awt/image/PixelInterleavedSampleModel.h create mode 100644 libjava/java/awt/image/RGBImageFilter.h create mode 100644 libjava/java/awt/image/Raster.h create mode 100644 libjava/java/awt/image/RasterFormatException.h create mode 100644 libjava/java/awt/image/RasterOp.h create mode 100644 libjava/java/awt/image/RenderedImage.h create mode 100644 libjava/java/awt/image/ReplicateScaleFilter.h create mode 100644 libjava/java/awt/image/RescaleOp.h create mode 100644 libjava/java/awt/image/SampleModel.h create mode 100644 libjava/java/awt/image/ShortLookupTable.h create mode 100644 libjava/java/awt/image/SinglePixelPackedSampleModel.h create mode 100644 libjava/java/awt/image/TileObserver.h create mode 100644 libjava/java/awt/image/VolatileImage.h create mode 100644 libjava/java/awt/image/WritableRaster.h create mode 100644 libjava/java/awt/image/WritableRenderedImage.h create mode 100644 libjava/java/awt/image/renderable/ContextualRenderedImageFactory.h create mode 100644 libjava/java/awt/image/renderable/ParameterBlock.h create mode 100644 libjava/java/awt/image/renderable/RenderContext.h create mode 100644 libjava/java/awt/image/renderable/RenderableImage.h create mode 100644 libjava/java/awt/image/renderable/RenderableImageOp.h create mode 100644 libjava/java/awt/image/renderable/RenderableImageProducer.h create mode 100644 libjava/java/awt/image/renderable/RenderedImageFactory.h create mode 100644 libjava/java/awt/peer/ButtonPeer.h create mode 100644 libjava/java/awt/peer/CanvasPeer.h create mode 100644 libjava/java/awt/peer/CheckboxMenuItemPeer.h create mode 100644 libjava/java/awt/peer/CheckboxPeer.h create mode 100644 libjava/java/awt/peer/ChoicePeer.h create mode 100644 libjava/java/awt/peer/ComponentPeer.h create mode 100644 libjava/java/awt/peer/ContainerPeer.h create mode 100644 libjava/java/awt/peer/DialogPeer.h create mode 100644 libjava/java/awt/peer/FileDialogPeer.h create mode 100644 libjava/java/awt/peer/FontPeer.h create mode 100644 libjava/java/awt/peer/FramePeer.h create mode 100644 libjava/java/awt/peer/LabelPeer.h create mode 100644 libjava/java/awt/peer/LightweightPeer.h create mode 100644 libjava/java/awt/peer/ListPeer.h create mode 100644 libjava/java/awt/peer/MenuBarPeer.h create mode 100644 libjava/java/awt/peer/MenuComponentPeer.h create mode 100644 libjava/java/awt/peer/MenuItemPeer.h create mode 100644 libjava/java/awt/peer/MenuPeer.h create mode 100644 libjava/java/awt/peer/MouseInfoPeer.h create mode 100644 libjava/java/awt/peer/PanelPeer.h create mode 100644 libjava/java/awt/peer/PopupMenuPeer.h create mode 100644 libjava/java/awt/peer/RobotPeer.h create mode 100644 libjava/java/awt/peer/ScrollPanePeer.h create mode 100644 libjava/java/awt/peer/ScrollbarPeer.h create mode 100644 libjava/java/awt/peer/TextAreaPeer.h create mode 100644 libjava/java/awt/peer/TextComponentPeer.h create mode 100644 libjava/java/awt/peer/TextFieldPeer.h create mode 100644 libjava/java/awt/peer/WindowPeer.h create mode 100644 libjava/java/awt/print/Book.h create mode 100644 libjava/java/awt/print/NoPrinterJob.h create mode 100644 libjava/java/awt/print/PageFormat.h create mode 100644 libjava/java/awt/print/Pageable.h create mode 100644 libjava/java/awt/print/Paper.h create mode 100644 libjava/java/awt/print/Printable.h create mode 100644 libjava/java/awt/print/PrinterAbortException.h create mode 100644 libjava/java/awt/print/PrinterException.h create mode 100644 libjava/java/awt/print/PrinterGraphics.h create mode 100644 libjava/java/awt/print/PrinterIOException.h create mode 100644 libjava/java/awt/print/PrinterJob.h create mode 100644 libjava/java/beans/AppletInitializer.h create mode 100644 libjava/java/beans/BeanDescriptor.h create mode 100644 libjava/java/beans/BeanInfo.h create mode 100644 libjava/java/beans/Beans.h create mode 100644 libjava/java/beans/Customizer.h create mode 100644 libjava/java/beans/DefaultPersistenceDelegate.h create mode 100644 libjava/java/beans/DesignMode.h create mode 100644 libjava/java/beans/Encoder$1.h create mode 100644 libjava/java/beans/Encoder.h create mode 100644 libjava/java/beans/EventHandler.h create mode 100644 libjava/java/beans/EventSetDescriptor.h create mode 100644 libjava/java/beans/ExceptionListener.h create mode 100644 libjava/java/beans/ExplicitInfo.h create mode 100644 libjava/java/beans/Expression.h create mode 100644 libjava/java/beans/FeatureDescriptor.h create mode 100644 libjava/java/beans/IndexedPropertyChangeEvent.h create mode 100644 libjava/java/beans/IndexedPropertyDescriptor.h create mode 100644 libjava/java/beans/IntrospectionException.h create mode 100644 libjava/java/beans/Introspector.h create mode 100644 libjava/java/beans/MethodDescriptor.h create mode 100644 libjava/java/beans/ParameterDescriptor.h create mode 100644 libjava/java/beans/PersistenceDelegate.h create mode 100644 libjava/java/beans/PropertyChangeEvent.h create mode 100644 libjava/java/beans/PropertyChangeListener.h create mode 100644 libjava/java/beans/PropertyChangeListenerProxy.h create mode 100644 libjava/java/beans/PropertyChangeSupport.h create mode 100644 libjava/java/beans/PropertyDescriptor.h create mode 100644 libjava/java/beans/PropertyEditor.h create mode 100644 libjava/java/beans/PropertyEditorManager.h create mode 100644 libjava/java/beans/PropertyEditorSupport.h create mode 100644 libjava/java/beans/PropertyVetoException.h create mode 100644 libjava/java/beans/SimpleBeanInfo.h create mode 100644 libjava/java/beans/Statement.h create mode 100644 libjava/java/beans/VetoableChangeListener.h create mode 100644 libjava/java/beans/VetoableChangeListenerProxy.h create mode 100644 libjava/java/beans/VetoableChangeSupport.h create mode 100644 libjava/java/beans/Visibility.h create mode 100644 libjava/java/beans/XMLDecoder.h create mode 100644 libjava/java/beans/XMLEncoder.h create mode 100644 libjava/java/beans/beancontext/BeanContext.h create mode 100644 libjava/java/beans/beancontext/BeanContextChild.h create mode 100644 libjava/java/beans/beancontext/BeanContextChildComponentProxy.h create mode 100644 libjava/java/beans/beancontext/BeanContextChildSupport.h create mode 100644 libjava/java/beans/beancontext/BeanContextContainerProxy.h create mode 100644 libjava/java/beans/beancontext/BeanContextEvent.h create mode 100644 libjava/java/beans/beancontext/BeanContextMembershipEvent.h create mode 100644 libjava/java/beans/beancontext/BeanContextMembershipListener.h create mode 100644 libjava/java/beans/beancontext/BeanContextProxy.h create mode 100644 libjava/java/beans/beancontext/BeanContextServiceAvailableEvent.h create mode 100644 libjava/java/beans/beancontext/BeanContextServiceProvider.h create mode 100644 libjava/java/beans/beancontext/BeanContextServiceProviderBeanInfo.h create mode 100644 libjava/java/beans/beancontext/BeanContextServiceRevokedEvent.h create mode 100644 libjava/java/beans/beancontext/BeanContextServiceRevokedListener.h create mode 100644 libjava/java/beans/beancontext/BeanContextServices.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesListener.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport$Request.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.h create mode 100644 libjava/java/beans/beancontext/BeanContextServicesSupport.h create mode 100644 libjava/java/beans/beancontext/BeanContextSupport$BCSChild.h create mode 100644 libjava/java/beans/beancontext/BeanContextSupport$BCSIterator.h create mode 100644 libjava/java/beans/beancontext/BeanContextSupport.h create mode 100644 libjava/java/io/BufferedInputStream.h create mode 100644 libjava/java/io/BufferedOutputStream.h create mode 100644 libjava/java/io/BufferedReader.h create mode 100644 libjava/java/io/BufferedWriter.h create mode 100644 libjava/java/io/ByteArrayInputStream.h create mode 100644 libjava/java/io/ByteArrayOutputStream.h create mode 100644 libjava/java/io/CharArrayReader.h create mode 100644 libjava/java/io/CharArrayWriter.h create mode 100644 libjava/java/io/CharConversionException.h create mode 100644 libjava/java/io/Closeable.h create mode 100644 libjava/java/io/DataInput.h create mode 100644 libjava/java/io/DataInputStream.h create mode 100644 libjava/java/io/DataOutput.h create mode 100644 libjava/java/io/DataOutputStream.h create mode 100644 libjava/java/io/DeleteFileHelper$1.h create mode 100644 libjava/java/io/DeleteFileHelper.h create mode 100644 libjava/java/io/EOFException.h create mode 100644 libjava/java/io/Externalizable.h create mode 100644 libjava/java/io/File.h create mode 100644 libjava/java/io/FileDescriptor.h create mode 100644 libjava/java/io/FileDescriptor.java create mode 100644 libjava/java/io/FileFilter.h create mode 100644 libjava/java/io/FileInputStream.h create mode 100644 libjava/java/io/FileInputStream.java create mode 100644 libjava/java/io/FileNotFoundException.h create mode 100644 libjava/java/io/FileOutputStream.h create mode 100644 libjava/java/io/FileOutputStream.java create mode 100644 libjava/java/io/FilePermission.h create mode 100644 libjava/java/io/FileReader.h create mode 100644 libjava/java/io/FileWriter.h create mode 100644 libjava/java/io/FilenameFilter.h create mode 100644 libjava/java/io/FilterInputStream.h create mode 100644 libjava/java/io/FilterOutputStream.h create mode 100644 libjava/java/io/FilterReader.h create mode 100644 libjava/java/io/FilterWriter.h create mode 100644 libjava/java/io/Flushable.h create mode 100644 libjava/java/io/IOException.h create mode 100644 libjava/java/io/InputStream.h create mode 100644 libjava/java/io/InputStreamReader.h create mode 100644 libjava/java/io/InterruptedIOException.h create mode 100644 libjava/java/io/InvalidClassException.h create mode 100644 libjava/java/io/InvalidObjectException.h create mode 100644 libjava/java/io/LineNumberInputStream.h create mode 100644 libjava/java/io/LineNumberReader.h create mode 100644 libjava/java/io/NotActiveException.h create mode 100644 libjava/java/io/NotSerializableException.h create mode 100644 libjava/java/io/ObjectInput.h create mode 100644 libjava/java/io/ObjectInputStream$1.h create mode 100644 libjava/java/io/ObjectInputStream$2.h create mode 100644 libjava/java/io/ObjectInputStream$GetField.h create mode 100644 libjava/java/io/ObjectInputStream$ValidatorAndPriority.h create mode 100644 libjava/java/io/ObjectInputStream.h delete mode 100644 libjava/java/io/ObjectInputStream.java create mode 100644 libjava/java/io/ObjectInputValidation.h create mode 100644 libjava/java/io/ObjectOutput.h create mode 100644 libjava/java/io/ObjectOutputStream$1.h create mode 100644 libjava/java/io/ObjectOutputStream$PutField.h create mode 100644 libjava/java/io/ObjectOutputStream.h create mode 100644 libjava/java/io/ObjectStreamClass$1.h create mode 100644 libjava/java/io/ObjectStreamClass$2.h create mode 100644 libjava/java/io/ObjectStreamClass$InterfaceComparator.h create mode 100644 libjava/java/io/ObjectStreamClass$MemberComparator.h create mode 100644 libjava/java/io/ObjectStreamClass.h create mode 100644 libjava/java/io/ObjectStreamConstants.h create mode 100644 libjava/java/io/ObjectStreamException.h create mode 100644 libjava/java/io/ObjectStreamField$1.h create mode 100644 libjava/java/io/ObjectStreamField.h create mode 100644 libjava/java/io/OptionalDataException.h create mode 100644 libjava/java/io/OutputStream.h create mode 100644 libjava/java/io/OutputStreamWriter.h create mode 100644 libjava/java/io/PipedInputStream.h create mode 100644 libjava/java/io/PipedOutputStream.h create mode 100644 libjava/java/io/PipedReader.h create mode 100644 libjava/java/io/PipedWriter.h create mode 100644 libjava/java/io/PrintStream.h create mode 100644 libjava/java/io/PrintWriter.h create mode 100644 libjava/java/io/PushbackInputStream.h create mode 100644 libjava/java/io/PushbackReader.h create mode 100644 libjava/java/io/RandomAccessFile.h create mode 100644 libjava/java/io/RandomAccessFile.java create mode 100644 libjava/java/io/Reader.h create mode 100644 libjava/java/io/SequenceInputStream.h create mode 100644 libjava/java/io/Serializable.h create mode 100644 libjava/java/io/SerializablePermission.h create mode 100644 libjava/java/io/StreamCorruptedException.h create mode 100644 libjava/java/io/StreamTokenizer.h create mode 100644 libjava/java/io/StringBufferInputStream.h create mode 100644 libjava/java/io/StringReader.h create mode 100644 libjava/java/io/StringWriter.h create mode 100644 libjava/java/io/SyncFailedException.h create mode 100644 libjava/java/io/UTFDataFormatException.h create mode 100644 libjava/java/io/UnsupportedEncodingException.h create mode 100644 libjava/java/io/VMObjectInputStream.h create mode 100644 libjava/java/io/VMObjectInputStream.java create mode 100644 libjava/java/io/VMObjectStreamClass.h create mode 100644 libjava/java/io/WriteAbortedException.h create mode 100644 libjava/java/io/Writer.h create mode 100644 libjava/java/lang/AbstractMethodError.h create mode 100644 libjava/java/lang/Appendable.h create mode 100644 libjava/java/lang/ArithmeticException.h create mode 100644 libjava/java/lang/ArrayIndexOutOfBoundsException.h create mode 100644 libjava/java/lang/ArrayStoreException.h create mode 100644 libjava/java/lang/AssertionError.h create mode 100644 libjava/java/lang/Boolean.h create mode 100644 libjava/java/lang/Byte.h create mode 100644 libjava/java/lang/CharSequence.h create mode 100644 libjava/java/lang/Character$Subset.h create mode 100644 libjava/java/lang/Character$UnicodeBlock.h create mode 100644 libjava/java/lang/Character.h create mode 100644 libjava/java/lang/ClassCastException.h create mode 100644 libjava/java/lang/ClassCircularityError.h create mode 100644 libjava/java/lang/ClassFormatError.h create mode 100644 libjava/java/lang/ClassLoader$AnnotationsKey.h create mode 100644 libjava/java/lang/ClassLoader.h create mode 100644 libjava/java/lang/ClassNotFoundException.h create mode 100644 libjava/java/lang/CloneNotSupportedException.h create mode 100644 libjava/java/lang/Cloneable.h create mode 100644 libjava/java/lang/Comparable.h create mode 100644 libjava/java/lang/Compiler.h create mode 100644 libjava/java/lang/Deprecated.h create mode 100644 libjava/java/lang/Double.h create mode 100644 libjava/java/lang/EcosProcess.h create mode 100644 libjava/java/lang/Enum.h create mode 100644 libjava/java/lang/EnumConstantNotPresentException.h create mode 100644 libjava/java/lang/Error.h create mode 100644 libjava/java/lang/Exception.h create mode 100644 libjava/java/lang/ExceptionInInitializerError.h create mode 100644 libjava/java/lang/Float.h create mode 100644 libjava/java/lang/IllegalAccessError.h create mode 100644 libjava/java/lang/IllegalAccessException.h create mode 100644 libjava/java/lang/IllegalArgumentException.h create mode 100644 libjava/java/lang/IllegalMonitorStateException.h create mode 100644 libjava/java/lang/IllegalStateException.h create mode 100644 libjava/java/lang/IllegalThreadStateException.h create mode 100644 libjava/java/lang/IncompatibleClassChangeError.h create mode 100644 libjava/java/lang/IndexOutOfBoundsException.h create mode 100644 libjava/java/lang/InheritableThreadLocal.h create mode 100644 libjava/java/lang/InstantiationError.h create mode 100644 libjava/java/lang/InstantiationException.h create mode 100644 libjava/java/lang/Integer.h create mode 100644 libjava/java/lang/InternalError.h create mode 100644 libjava/java/lang/InterruptedException.h create mode 100644 libjava/java/lang/Iterable.h create mode 100644 libjava/java/lang/LinkageError.h create mode 100644 libjava/java/lang/Long.h create mode 100644 libjava/java/lang/Math.h create mode 100644 libjava/java/lang/NegativeArraySizeException.h create mode 100644 libjava/java/lang/NoClassDefFoundError.h create mode 100644 libjava/java/lang/NoSuchFieldError.h create mode 100644 libjava/java/lang/NoSuchFieldException.h create mode 100644 libjava/java/lang/NoSuchMethodError.h create mode 100644 libjava/java/lang/NoSuchMethodException.h create mode 100644 libjava/java/lang/NullPointerException.h create mode 100644 libjava/java/lang/Number.h create mode 100644 libjava/java/lang/NumberFormatException.h create mode 100644 libjava/java/lang/OutOfMemoryError.h create mode 100644 libjava/java/lang/Override.h create mode 100644 libjava/java/lang/Package.h delete mode 100644 libjava/java/lang/Package.java create mode 100644 libjava/java/lang/PosixProcess$EOFInputStream.h create mode 100644 libjava/java/lang/PosixProcess$ProcessManager.h create mode 100644 libjava/java/lang/PosixProcess.h create mode 100644 libjava/java/lang/Process.h create mode 100644 libjava/java/lang/ProcessBuilder.h create mode 100644 libjava/java/lang/ProcessBuilder.java create mode 100644 libjava/java/lang/Readable.h create mode 100644 libjava/java/lang/Runnable.h create mode 100644 libjava/java/lang/Runtime.h create mode 100644 libjava/java/lang/RuntimeException.h create mode 100644 libjava/java/lang/RuntimePermission.h create mode 100644 libjava/java/lang/SecurityContext.h create mode 100644 libjava/java/lang/SecurityException.h create mode 100644 libjava/java/lang/SecurityManager$1.h create mode 100644 libjava/java/lang/SecurityManager.h delete mode 100644 libjava/java/lang/SecurityManager.java create mode 100644 libjava/java/lang/Short.h create mode 100644 libjava/java/lang/StackOverflowError.h create mode 100644 libjava/java/lang/StackTraceElement.h create mode 100644 libjava/java/lang/StrictMath.h create mode 100644 libjava/java/lang/String$CaseInsensitiveComparator.h create mode 100644 libjava/java/lang/String.h create mode 100644 libjava/java/lang/StringBuffer.h create mode 100644 libjava/java/lang/StringBuilder.h create mode 100644 libjava/java/lang/StringIndexOutOfBoundsException.h create mode 100644 libjava/java/lang/SuppressWarnings.h create mode 100644 libjava/java/lang/System$EnvironmentCollection.h create mode 100644 libjava/java/lang/System$EnvironmentMap.h create mode 100644 libjava/java/lang/System$EnvironmentSet.h create mode 100644 libjava/java/lang/System.h create mode 100644 libjava/java/lang/Thread$State.h create mode 100644 libjava/java/lang/Thread$UncaughtExceptionHandler.h create mode 100644 libjava/java/lang/Thread.h create mode 100644 libjava/java/lang/ThreadDeath.h create mode 100644 libjava/java/lang/ThreadGroup.h create mode 100644 libjava/java/lang/ThreadLocal.h create mode 100644 libjava/java/lang/ThreadLocal.java create mode 100644 libjava/java/lang/Throwable$StaticData.h create mode 100644 libjava/java/lang/Throwable.h create mode 100644 libjava/java/lang/TypeNotPresentException.h create mode 100644 libjava/java/lang/UnknownError.h create mode 100644 libjava/java/lang/UnsatisfiedLinkError.h create mode 100644 libjava/java/lang/UnsupportedClassVersionError.h create mode 100644 libjava/java/lang/UnsupportedOperationException.h create mode 100644 libjava/java/lang/VMClassLoader.h create mode 100644 libjava/java/lang/VMCompiler.h create mode 100644 libjava/java/lang/VMDouble.h create mode 100644 libjava/java/lang/VMFloat.h delete mode 100644 libjava/java/lang/VMSecurityManager.java create mode 100644 libjava/java/lang/VMThrowable.h create mode 100644 libjava/java/lang/VerifyError.h create mode 100644 libjava/java/lang/VirtualMachineError.h create mode 100644 libjava/java/lang/Void.h create mode 100644 libjava/java/lang/Win32Process.h create mode 100644 libjava/java/lang/annotation/Annotation.h create mode 100644 libjava/java/lang/annotation/AnnotationFormatError.h create mode 100644 libjava/java/lang/annotation/AnnotationTypeMismatchException.h create mode 100644 libjava/java/lang/annotation/Documented.h create mode 100644 libjava/java/lang/annotation/ElementType.h create mode 100644 libjava/java/lang/annotation/IncompleteAnnotationException.h create mode 100644 libjava/java/lang/annotation/Inherited.h create mode 100644 libjava/java/lang/annotation/Retention.h create mode 100644 libjava/java/lang/annotation/RetentionPolicy.h create mode 100644 libjava/java/lang/annotation/Target.h create mode 100644 libjava/java/lang/instrument/ClassDefinition.h create mode 100644 libjava/java/lang/instrument/ClassFileTransformer.h create mode 100644 libjava/java/lang/instrument/IllegalClassFormatException.h create mode 100644 libjava/java/lang/instrument/Instrumentation.h create mode 100644 libjava/java/lang/instrument/UnmodifiableClassException.h create mode 100644 libjava/java/lang/management/ClassLoadingMXBean.h create mode 100644 libjava/java/lang/management/CompilationMXBean.h create mode 100644 libjava/java/lang/management/GarbageCollectorMXBean.h create mode 100644 libjava/java/lang/management/ManagementFactory.h create mode 100644 libjava/java/lang/management/ManagementPermission.h create mode 100644 libjava/java/lang/management/MemoryMXBean.h create mode 100644 libjava/java/lang/management/MemoryManagerMXBean.h create mode 100644 libjava/java/lang/management/MemoryNotificationInfo.h create mode 100644 libjava/java/lang/management/MemoryPoolMXBean.h create mode 100644 libjava/java/lang/management/MemoryType.h create mode 100644 libjava/java/lang/management/MemoryUsage.h create mode 100644 libjava/java/lang/management/OperatingSystemMXBean.h create mode 100644 libjava/java/lang/management/RuntimeMXBean.h create mode 100644 libjava/java/lang/management/ThreadInfo.h create mode 100644 libjava/java/lang/management/ThreadMXBean.h create mode 100644 libjava/java/lang/management/VMManagementFactory.h create mode 100644 libjava/java/lang/management/natVMManagementFactory.cc create mode 100644 libjava/java/lang/natThreadLocal.cc delete mode 100644 libjava/java/lang/natVMSecurityManager.cc create mode 100644 libjava/java/lang/ref/PhantomReference.h create mode 100644 libjava/java/lang/ref/Reference.h create mode 100644 libjava/java/lang/ref/ReferenceQueue.h create mode 100644 libjava/java/lang/ref/SoftReference.h create mode 100644 libjava/java/lang/ref/WeakReference.h create mode 100644 libjava/java/lang/reflect/AccessibleObject.h create mode 100644 libjava/java/lang/reflect/AnnotatedElement.h create mode 100644 libjava/java/lang/reflect/Array.h create mode 100644 libjava/java/lang/reflect/Constructor.h create mode 100644 libjava/java/lang/reflect/Field.h create mode 100644 libjava/java/lang/reflect/GenericArrayType.h create mode 100644 libjava/java/lang/reflect/GenericDeclaration.h create mode 100644 libjava/java/lang/reflect/GenericSignatureFormatError.h create mode 100644 libjava/java/lang/reflect/InvocationHandler.h create mode 100644 libjava/java/lang/reflect/InvocationTargetException.h create mode 100644 libjava/java/lang/reflect/MalformedParameterizedTypeException.h create mode 100644 libjava/java/lang/reflect/Member.h create mode 100644 libjava/java/lang/reflect/Method.h create mode 100644 libjava/java/lang/reflect/Modifier.h create mode 100644 libjava/java/lang/reflect/ParameterizedType.h create mode 100644 libjava/java/lang/reflect/Proxy$ClassFactory.h create mode 100644 libjava/java/lang/reflect/Proxy$ProxyData.h create mode 100644 libjava/java/lang/reflect/Proxy$ProxySignature.h create mode 100644 libjava/java/lang/reflect/Proxy$ProxyType.h create mode 100644 libjava/java/lang/reflect/Proxy.h create mode 100644 libjava/java/lang/reflect/ReflectPermission.h create mode 100644 libjava/java/lang/reflect/Type.h create mode 100644 libjava/java/lang/reflect/TypeVariable.h create mode 100644 libjava/java/lang/reflect/UndeclaredThrowableException.h create mode 100644 libjava/java/lang/reflect/VMProxy.h create mode 100644 libjava/java/lang/reflect/WildcardType.h create mode 100644 libjava/java/lang/reflect/natVMProxy.cc create mode 100644 libjava/java/math/BigDecimal.h create mode 100644 libjava/java/math/BigInteger.h create mode 100644 libjava/java/math/MathContext.h create mode 100644 libjava/java/math/RoundingMode.h create mode 100644 libjava/java/net/Authenticator.h create mode 100644 libjava/java/net/BindException.h create mode 100644 libjava/java/net/ConnectException.h create mode 100644 libjava/java/net/ContentHandler.h create mode 100644 libjava/java/net/ContentHandlerFactory.h create mode 100644 libjava/java/net/DatagramPacket.h create mode 100644 libjava/java/net/DatagramSocket.h create mode 100644 libjava/java/net/DatagramSocket.java create mode 100644 libjava/java/net/DatagramSocketImpl.h create mode 100644 libjava/java/net/DatagramSocketImplFactory.h create mode 100644 libjava/java/net/FileNameMap.h create mode 100644 libjava/java/net/HttpURLConnection.h create mode 100644 libjava/java/net/Inet4Address.h create mode 100644 libjava/java/net/Inet6Address.h create mode 100644 libjava/java/net/InetAddress.h create mode 100644 libjava/java/net/InetSocketAddress.h create mode 100644 libjava/java/net/JarURLConnection.h create mode 100644 libjava/java/net/MalformedURLException.h create mode 100644 libjava/java/net/MimeTypeMapper.h create mode 100644 libjava/java/net/MulticastSocket.h create mode 100644 libjava/java/net/MulticastSocket.java create mode 100644 libjava/java/net/NetPermission.h create mode 100644 libjava/java/net/NetworkInterface.h create mode 100644 libjava/java/net/NetworkInterface.java create mode 100644 libjava/java/net/NoRouteToHostException.h create mode 100644 libjava/java/net/PasswordAuthentication.h create mode 100644 libjava/java/net/PortUnreachableException.h create mode 100644 libjava/java/net/ProtocolException.h create mode 100644 libjava/java/net/Proxy$Type.h create mode 100644 libjava/java/net/Proxy.h create mode 100644 libjava/java/net/ProxySelector.h create mode 100644 libjava/java/net/ResolverCache$Entry.h create mode 100644 libjava/java/net/ResolverCache.h create mode 100644 libjava/java/net/ServerSocket.h create mode 100644 libjava/java/net/Socket.h create mode 100644 libjava/java/net/Socket.java create mode 100644 libjava/java/net/SocketAddress.h create mode 100644 libjava/java/net/SocketException.h create mode 100644 libjava/java/net/SocketImpl.h create mode 100644 libjava/java/net/SocketImplFactory.h create mode 100644 libjava/java/net/SocketOptions.h create mode 100644 libjava/java/net/SocketPermission.h create mode 100644 libjava/java/net/SocketTimeoutException.h create mode 100644 libjava/java/net/URI.h create mode 100644 libjava/java/net/URISyntaxException.h create mode 100644 libjava/java/net/URL$1.h create mode 100644 libjava/java/net/URL.h create mode 100644 libjava/java/net/URLClassLoader$1.h create mode 100644 libjava/java/net/URLClassLoader$2.h create mode 100644 libjava/java/net/URLClassLoader$CoreResource.h create mode 100644 libjava/java/net/URLClassLoader$CoreURLLoader.h create mode 100644 libjava/java/net/URLClassLoader$FileResource.h create mode 100644 libjava/java/net/URLClassLoader$FileURLLoader.h create mode 100644 libjava/java/net/URLClassLoader$JarURLLoader.h create mode 100644 libjava/java/net/URLClassLoader$JarURLResource.h create mode 100644 libjava/java/net/URLClassLoader$RemoteResource.h create mode 100644 libjava/java/net/URLClassLoader$RemoteURLLoader.h create mode 100644 libjava/java/net/URLClassLoader$Resource.h create mode 100644 libjava/java/net/URLClassLoader$SoResource.h create mode 100644 libjava/java/net/URLClassLoader$SoURLLoader.h create mode 100644 libjava/java/net/URLClassLoader$URLLoader.h create mode 100644 libjava/java/net/URLClassLoader.h create mode 100644 libjava/java/net/URLConnection.h create mode 100644 libjava/java/net/URLDecoder.h create mode 100644 libjava/java/net/URLEncoder.h create mode 100644 libjava/java/net/URLStreamHandler.h create mode 100644 libjava/java/net/URLStreamHandlerFactory.h create mode 100644 libjava/java/net/UnknownHostException.h create mode 100644 libjava/java/net/UnknownServiceException.h create mode 100644 libjava/java/net/VMInetAddress.h create mode 100644 libjava/java/net/VMNetworkInterface.h create mode 100644 libjava/java/net/VMURLConnection.h delete mode 100644 libjava/java/net/natURLClassLoader.cc create mode 100644 libjava/java/net/natVMURLConnection.cc create mode 100644 libjava/java/nio/Buffer.h create mode 100644 libjava/java/nio/BufferOverflowException.h create mode 100644 libjava/java/nio/BufferUnderflowException.h create mode 100644 libjava/java/nio/ByteBuffer.h create mode 100644 libjava/java/nio/ByteBufferHelper.h create mode 100644 libjava/java/nio/ByteBufferImpl.h create mode 100644 libjava/java/nio/ByteOrder.h create mode 100644 libjava/java/nio/CharBuffer.h create mode 100644 libjava/java/nio/CharBufferImpl.h create mode 100644 libjava/java/nio/CharViewBufferImpl.h create mode 100644 libjava/java/nio/DirectByteBufferImpl$ReadOnly.h create mode 100644 libjava/java/nio/DirectByteBufferImpl$ReadWrite.h create mode 100644 libjava/java/nio/DirectByteBufferImpl.h create mode 100644 libjava/java/nio/DoubleBuffer.h create mode 100644 libjava/java/nio/DoubleBufferImpl.h create mode 100644 libjava/java/nio/DoubleViewBufferImpl.h create mode 100644 libjava/java/nio/FloatBuffer.h create mode 100644 libjava/java/nio/FloatBufferImpl.h create mode 100644 libjava/java/nio/FloatViewBufferImpl.h create mode 100644 libjava/java/nio/IntBuffer.h create mode 100644 libjava/java/nio/IntBufferImpl.h create mode 100644 libjava/java/nio/IntViewBufferImpl.h create mode 100644 libjava/java/nio/InvalidMarkException.h create mode 100644 libjava/java/nio/LongBuffer.h create mode 100644 libjava/java/nio/LongBufferImpl.h create mode 100644 libjava/java/nio/LongViewBufferImpl.h create mode 100644 libjava/java/nio/MappedByteBuffer.h create mode 100644 libjava/java/nio/MappedByteBufferImpl.h create mode 100644 libjava/java/nio/ReadOnlyBufferException.h create mode 100644 libjava/java/nio/ShortBuffer.h create mode 100644 libjava/java/nio/ShortBufferImpl.h create mode 100644 libjava/java/nio/ShortViewBufferImpl.h create mode 100644 libjava/java/nio/VMDirectByteBuffer.h create mode 100644 libjava/java/nio/channels/AlreadyConnectedException.h create mode 100644 libjava/java/nio/channels/AsynchronousCloseException.h create mode 100644 libjava/java/nio/channels/ByteChannel.h create mode 100644 libjava/java/nio/channels/CancelledKeyException.h create mode 100644 libjava/java/nio/channels/Channel.h create mode 100644 libjava/java/nio/channels/Channels.h create mode 100644 libjava/java/nio/channels/ClosedByInterruptException.h create mode 100644 libjava/java/nio/channels/ClosedChannelException.h create mode 100644 libjava/java/nio/channels/ClosedSelectorException.h create mode 100644 libjava/java/nio/channels/ConnectionPendingException.h create mode 100644 libjava/java/nio/channels/DatagramChannel.h create mode 100644 libjava/java/nio/channels/FileChannel$MapMode.h create mode 100644 libjava/java/nio/channels/FileChannel.h create mode 100644 libjava/java/nio/channels/FileLock.h create mode 100644 libjava/java/nio/channels/FileLockInterruptionException.h create mode 100644 libjava/java/nio/channels/GatheringByteChannel.h create mode 100644 libjava/java/nio/channels/IllegalBlockingModeException.h create mode 100644 libjava/java/nio/channels/IllegalSelectorException.h create mode 100644 libjava/java/nio/channels/InterruptibleChannel.h create mode 100644 libjava/java/nio/channels/NoConnectionPendingException.h create mode 100644 libjava/java/nio/channels/NonReadableChannelException.h create mode 100644 libjava/java/nio/channels/NonWritableChannelException.h create mode 100644 libjava/java/nio/channels/NotYetBoundException.h create mode 100644 libjava/java/nio/channels/NotYetConnectedException.h create mode 100644 libjava/java/nio/channels/OverlappingFileLockException.h create mode 100644 libjava/java/nio/channels/Pipe$SinkChannel.h create mode 100644 libjava/java/nio/channels/Pipe$SourceChannel.h create mode 100644 libjava/java/nio/channels/Pipe.h create mode 100644 libjava/java/nio/channels/ReadableByteChannel.h create mode 100644 libjava/java/nio/channels/ScatteringByteChannel.h create mode 100644 libjava/java/nio/channels/SelectableChannel.h create mode 100644 libjava/java/nio/channels/SelectionKey.h create mode 100644 libjava/java/nio/channels/Selector.h create mode 100644 libjava/java/nio/channels/ServerSocketChannel.h create mode 100644 libjava/java/nio/channels/SocketChannel.h create mode 100644 libjava/java/nio/channels/UnresolvedAddressException.h create mode 100644 libjava/java/nio/channels/UnsupportedAddressTypeException.h create mode 100644 libjava/java/nio/channels/VMChannels.h create mode 100644 libjava/java/nio/channels/WritableByteChannel.h create mode 100644 libjava/java/nio/channels/spi/AbstractInterruptibleChannel.h create mode 100644 libjava/java/nio/channels/spi/AbstractSelectableChannel.h create mode 100644 libjava/java/nio/channels/spi/AbstractSelectionKey.h create mode 100644 libjava/java/nio/channels/spi/AbstractSelector.h create mode 100644 libjava/java/nio/channels/spi/SelectorProvider.h create mode 100644 libjava/java/nio/charset/CharacterCodingException.h create mode 100644 libjava/java/nio/charset/Charset.h create mode 100644 libjava/java/nio/charset/CharsetDecoder.h create mode 100644 libjava/java/nio/charset/CharsetEncoder.h create mode 100644 libjava/java/nio/charset/CoderMalfunctionError.h create mode 100644 libjava/java/nio/charset/CoderResult$1.h create mode 100644 libjava/java/nio/charset/CoderResult$2.h create mode 100644 libjava/java/nio/charset/CoderResult$Cache.h create mode 100644 libjava/java/nio/charset/CoderResult.h create mode 100644 libjava/java/nio/charset/CodingErrorAction.h create mode 100644 libjava/java/nio/charset/IllegalCharsetNameException.h create mode 100644 libjava/java/nio/charset/MalformedInputException.h create mode 100644 libjava/java/nio/charset/UnmappableCharacterException.h create mode 100644 libjava/java/nio/charset/UnsupportedCharsetException.h create mode 100644 libjava/java/nio/charset/spi/CharsetProvider.h create mode 100644 libjava/java/rmi/AccessException.h create mode 100644 libjava/java/rmi/AlreadyBoundException.h create mode 100644 libjava/java/rmi/ConnectException.h create mode 100644 libjava/java/rmi/ConnectIOException.h create mode 100644 libjava/java/rmi/MarshalException.h create mode 100644 libjava/java/rmi/MarshalledObject.h create mode 100644 libjava/java/rmi/Naming.h create mode 100644 libjava/java/rmi/NoSuchObjectException.h create mode 100644 libjava/java/rmi/NotBoundException.h create mode 100644 libjava/java/rmi/RMISecurityException.h create mode 100644 libjava/java/rmi/RMISecurityManager.h create mode 100644 libjava/java/rmi/Remote.h create mode 100644 libjava/java/rmi/RemoteException.h create mode 100644 libjava/java/rmi/ServerError.h create mode 100644 libjava/java/rmi/ServerException.h create mode 100644 libjava/java/rmi/ServerRuntimeException.h create mode 100644 libjava/java/rmi/StubNotFoundException.h create mode 100644 libjava/java/rmi/UnexpectedException.h create mode 100644 libjava/java/rmi/UnknownHostException.h create mode 100644 libjava/java/rmi/UnmarshalException.h create mode 100644 libjava/java/rmi/activation/Activatable.h create mode 100644 libjava/java/rmi/activation/ActivateFailedException.h create mode 100644 libjava/java/rmi/activation/ActivationDesc.h create mode 100644 libjava/java/rmi/activation/ActivationException.h create mode 100644 libjava/java/rmi/activation/ActivationGroup.h create mode 100644 libjava/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.h create mode 100644 libjava/java/rmi/activation/ActivationGroupDesc.h create mode 100644 libjava/java/rmi/activation/ActivationGroupID.h create mode 100644 libjava/java/rmi/activation/ActivationGroup_Stub.h create mode 100644 libjava/java/rmi/activation/ActivationID.h create mode 100644 libjava/java/rmi/activation/ActivationInstantiator.h create mode 100644 libjava/java/rmi/activation/ActivationMonitor.h create mode 100644 libjava/java/rmi/activation/ActivationSystem.h create mode 100644 libjava/java/rmi/activation/Activator.h create mode 100644 libjava/java/rmi/activation/UnknownGroupException.h create mode 100644 libjava/java/rmi/activation/UnknownObjectException.h create mode 100644 libjava/java/rmi/dgc/DGC.h create mode 100644 libjava/java/rmi/dgc/Lease.h create mode 100644 libjava/java/rmi/dgc/VMID.h create mode 100644 libjava/java/rmi/registry/LocateRegistry.h create mode 100644 libjava/java/rmi/registry/Registry.h create mode 100644 libjava/java/rmi/registry/RegistryHandler.h create mode 100644 libjava/java/rmi/server/ExportException.h create mode 100644 libjava/java/rmi/server/LoaderHandler.h create mode 100644 libjava/java/rmi/server/LogStream.h create mode 100644 libjava/java/rmi/server/ObjID.h create mode 100644 libjava/java/rmi/server/Operation.h create mode 100644 libjava/java/rmi/server/RMIClassLoader.h create mode 100644 libjava/java/rmi/server/RMIClassLoaderSpi.h create mode 100644 libjava/java/rmi/server/RMIClientSocketFactory.h create mode 100644 libjava/java/rmi/server/RMIFailureHandler.h create mode 100644 libjava/java/rmi/server/RMIServerSocketFactory.h create mode 100644 libjava/java/rmi/server/RMISocketFactory.h create mode 100644 libjava/java/rmi/server/RemoteCall.h create mode 100644 libjava/java/rmi/server/RemoteObject.h create mode 100644 libjava/java/rmi/server/RemoteObjectInvocationHandler.h create mode 100644 libjava/java/rmi/server/RemoteRef.h create mode 100644 libjava/java/rmi/server/RemoteServer.h create mode 100644 libjava/java/rmi/server/RemoteStub.h create mode 100644 libjava/java/rmi/server/ServerCloneException.h create mode 100644 libjava/java/rmi/server/ServerNotActiveException.h create mode 100644 libjava/java/rmi/server/ServerRef.h create mode 100644 libjava/java/rmi/server/Skeleton.h create mode 100644 libjava/java/rmi/server/SkeletonMismatchException.h create mode 100644 libjava/java/rmi/server/SkeletonNotFoundException.h create mode 100644 libjava/java/rmi/server/SocketSecurityException.h create mode 100644 libjava/java/rmi/server/UID.h create mode 100644 libjava/java/rmi/server/UnicastRemoteObject.h create mode 100644 libjava/java/rmi/server/Unreferenced.h create mode 100644 libjava/java/security/AccessControlContext.h create mode 100644 libjava/java/security/AccessControlException.h create mode 100644 libjava/java/security/AccessController.h create mode 100644 libjava/java/security/AlgorithmParameterGenerator.h create mode 100644 libjava/java/security/AlgorithmParameterGeneratorSpi.h create mode 100644 libjava/java/security/AlgorithmParameters.h create mode 100644 libjava/java/security/AlgorithmParametersSpi.h create mode 100644 libjava/java/security/AllPermission$AllPermissionCollection.h create mode 100644 libjava/java/security/AllPermission.h create mode 100644 libjava/java/security/BasicPermission$BasicPermissionCollection.h create mode 100644 libjava/java/security/BasicPermission.h create mode 100644 libjava/java/security/Certificate.h create mode 100644 libjava/java/security/CodeSource.h create mode 100644 libjava/java/security/DigestException.h create mode 100644 libjava/java/security/DigestInputStream.h create mode 100644 libjava/java/security/DigestOutputStream.h create mode 100644 libjava/java/security/DomainCombiner.h create mode 100644 libjava/java/security/DummyKeyPairGenerator.h create mode 100644 libjava/java/security/DummyMessageDigest.h create mode 100644 libjava/java/security/DummySignature.h create mode 100644 libjava/java/security/GeneralSecurityException.h create mode 100644 libjava/java/security/Guard.h create mode 100644 libjava/java/security/GuardedObject.h create mode 100644 libjava/java/security/Identity.h create mode 100644 libjava/java/security/IdentityScope.h create mode 100644 libjava/java/security/IntersectingDomainCombiner.h create mode 100644 libjava/java/security/InvalidAlgorithmParameterException.h create mode 100644 libjava/java/security/InvalidKeyException.h create mode 100644 libjava/java/security/InvalidParameterException.h create mode 100644 libjava/java/security/Key.h create mode 100644 libjava/java/security/KeyException.h create mode 100644 libjava/java/security/KeyFactory.h create mode 100644 libjava/java/security/KeyFactorySpi.h create mode 100644 libjava/java/security/KeyManagementException.h create mode 100644 libjava/java/security/KeyPair.h create mode 100644 libjava/java/security/KeyPairGenerator.h create mode 100644 libjava/java/security/KeyPairGeneratorSpi.h create mode 100644 libjava/java/security/KeyStore.h create mode 100644 libjava/java/security/KeyStoreException.h create mode 100644 libjava/java/security/KeyStoreSpi.h create mode 100644 libjava/java/security/MessageDigest.h create mode 100644 libjava/java/security/MessageDigestSpi.h create mode 100644 libjava/java/security/NoSuchAlgorithmException.h create mode 100644 libjava/java/security/NoSuchProviderException.h create mode 100644 libjava/java/security/Permission.h create mode 100644 libjava/java/security/PermissionCollection.h create mode 100644 libjava/java/security/Permissions$1.h create mode 100644 libjava/java/security/Permissions$PermissionsHash.h create mode 100644 libjava/java/security/Permissions.h create mode 100644 libjava/java/security/Policy.h create mode 100644 libjava/java/security/Principal.h create mode 100644 libjava/java/security/PrivateKey.h create mode 100644 libjava/java/security/PrivilegedAction.h create mode 100644 libjava/java/security/PrivilegedActionException.h create mode 100644 libjava/java/security/PrivilegedExceptionAction.h create mode 100644 libjava/java/security/ProtectionDomain.h create mode 100644 libjava/java/security/Provider.h create mode 100644 libjava/java/security/ProviderException.h create mode 100644 libjava/java/security/PublicKey.h create mode 100644 libjava/java/security/SecureClassLoader.h create mode 100644 libjava/java/security/SecureRandom.h create mode 100644 libjava/java/security/SecureRandomSpi.h create mode 100644 libjava/java/security/Security.h delete mode 100644 libjava/java/security/Security.java create mode 100644 libjava/java/security/SecurityPermission.h create mode 100644 libjava/java/security/Signature.h create mode 100644 libjava/java/security/SignatureException.h create mode 100644 libjava/java/security/SignatureSpi.h create mode 100644 libjava/java/security/SignedObject.h create mode 100644 libjava/java/security/Signer.h create mode 100644 libjava/java/security/UnrecoverableKeyException.h create mode 100644 libjava/java/security/UnresolvedPermission.h create mode 100644 libjava/java/security/UnresolvedPermissionCollection$1.h create mode 100644 libjava/java/security/UnresolvedPermissionCollection.h create mode 100644 libjava/java/security/VMAccessControlState.h create mode 100644 libjava/java/security/VMAccessController.h create mode 100644 libjava/java/security/VMSecureRandom$Spinner.h create mode 100644 libjava/java/security/VMSecureRandom.h create mode 100644 libjava/java/security/acl/Acl.h create mode 100644 libjava/java/security/acl/AclEntry.h create mode 100644 libjava/java/security/acl/AclNotFoundException.h create mode 100644 libjava/java/security/acl/Group.h create mode 100644 libjava/java/security/acl/LastOwnerException.h create mode 100644 libjava/java/security/acl/NotOwnerException.h create mode 100644 libjava/java/security/acl/Owner.h create mode 100644 libjava/java/security/acl/Permission.h create mode 100644 libjava/java/security/cert/CRL.h create mode 100644 libjava/java/security/cert/CRLException.h create mode 100644 libjava/java/security/cert/CRLSelector.h create mode 100644 libjava/java/security/cert/CertPath$CertPathRep.h create mode 100644 libjava/java/security/cert/CertPath.h create mode 100644 libjava/java/security/cert/CertPathBuilder.h create mode 100644 libjava/java/security/cert/CertPathBuilderException.h create mode 100644 libjava/java/security/cert/CertPathBuilderResult.h create mode 100644 libjava/java/security/cert/CertPathBuilderSpi.h create mode 100644 libjava/java/security/cert/CertPathParameters.h create mode 100644 libjava/java/security/cert/CertPathValidator$1.h create mode 100644 libjava/java/security/cert/CertPathValidator.h create mode 100644 libjava/java/security/cert/CertPathValidatorException.h create mode 100644 libjava/java/security/cert/CertPathValidatorResult.h create mode 100644 libjava/java/security/cert/CertPathValidatorSpi.h create mode 100644 libjava/java/security/cert/CertSelector.h create mode 100644 libjava/java/security/cert/CertStore$1.h create mode 100644 libjava/java/security/cert/CertStore.h create mode 100644 libjava/java/security/cert/CertStoreException.h create mode 100644 libjava/java/security/cert/CertStoreParameters.h create mode 100644 libjava/java/security/cert/CertStoreSpi.h create mode 100644 libjava/java/security/cert/Certificate$CertificateRep.h create mode 100644 libjava/java/security/cert/Certificate.h create mode 100644 libjava/java/security/cert/CertificateEncodingException.h create mode 100644 libjava/java/security/cert/CertificateException.h create mode 100644 libjava/java/security/cert/CertificateExpiredException.h create mode 100644 libjava/java/security/cert/CertificateFactory.h create mode 100644 libjava/java/security/cert/CertificateFactorySpi.h create mode 100644 libjava/java/security/cert/CertificateNotYetValidException.h create mode 100644 libjava/java/security/cert/CertificateParsingException.h create mode 100644 libjava/java/security/cert/CollectionCertStoreParameters.h create mode 100644 libjava/java/security/cert/LDAPCertStoreParameters.h create mode 100644 libjava/java/security/cert/PKIXBuilderParameters.h create mode 100644 libjava/java/security/cert/PKIXCertPathBuilderResult.h create mode 100644 libjava/java/security/cert/PKIXCertPathChecker.h create mode 100644 libjava/java/security/cert/PKIXCertPathValidatorResult.h create mode 100644 libjava/java/security/cert/PKIXParameters.h create mode 100644 libjava/java/security/cert/PolicyNode.h create mode 100644 libjava/java/security/cert/PolicyQualifierInfo.h create mode 100644 libjava/java/security/cert/TrustAnchor.h create mode 100644 libjava/java/security/cert/X509CRL.h create mode 100644 libjava/java/security/cert/X509CRLEntry.h create mode 100644 libjava/java/security/cert/X509CRLSelector.h create mode 100644 libjava/java/security/cert/X509CertSelector.h create mode 100644 libjava/java/security/cert/X509Certificate.h create mode 100644 libjava/java/security/cert/X509Extension.h create mode 100644 libjava/java/security/interfaces/DSAKey.h create mode 100644 libjava/java/security/interfaces/DSAKeyPairGenerator.h create mode 100644 libjava/java/security/interfaces/DSAParams.h create mode 100644 libjava/java/security/interfaces/DSAPrivateKey.h create mode 100644 libjava/java/security/interfaces/DSAPublicKey.h create mode 100644 libjava/java/security/interfaces/RSAKey.h create mode 100644 libjava/java/security/interfaces/RSAMultiPrimePrivateCrtKey.h create mode 100644 libjava/java/security/interfaces/RSAPrivateCrtKey.h create mode 100644 libjava/java/security/interfaces/RSAPrivateKey.h create mode 100644 libjava/java/security/interfaces/RSAPublicKey.h create mode 100644 libjava/java/security/spec/AlgorithmParameterSpec.h create mode 100644 libjava/java/security/spec/DSAParameterSpec.h create mode 100644 libjava/java/security/spec/DSAPrivateKeySpec.h create mode 100644 libjava/java/security/spec/DSAPublicKeySpec.h create mode 100644 libjava/java/security/spec/EncodedKeySpec.h create mode 100644 libjava/java/security/spec/InvalidKeySpecException.h create mode 100644 libjava/java/security/spec/InvalidParameterSpecException.h create mode 100644 libjava/java/security/spec/KeySpec.h create mode 100644 libjava/java/security/spec/PKCS8EncodedKeySpec.h create mode 100644 libjava/java/security/spec/PSSParameterSpec.h create mode 100644 libjava/java/security/spec/RSAKeyGenParameterSpec.h create mode 100644 libjava/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.h create mode 100644 libjava/java/security/spec/RSAOtherPrimeInfo.h create mode 100644 libjava/java/security/spec/RSAPrivateCrtKeySpec.h create mode 100644 libjava/java/security/spec/RSAPrivateKeySpec.h create mode 100644 libjava/java/security/spec/RSAPublicKeySpec.h create mode 100644 libjava/java/security/spec/X509EncodedKeySpec.h create mode 100644 libjava/java/sql/Array.h create mode 100644 libjava/java/sql/BatchUpdateException.h create mode 100644 libjava/java/sql/Blob.h create mode 100644 libjava/java/sql/CallableStatement.h create mode 100644 libjava/java/sql/Clob.h create mode 100644 libjava/java/sql/Connection.h create mode 100644 libjava/java/sql/DataTruncation.h create mode 100644 libjava/java/sql/DatabaseMetaData.h create mode 100644 libjava/java/sql/Date.h create mode 100644 libjava/java/sql/Driver.h create mode 100644 libjava/java/sql/DriverManager.h create mode 100644 libjava/java/sql/DriverPropertyInfo.h create mode 100644 libjava/java/sql/ParameterMetaData.h create mode 100644 libjava/java/sql/PreparedStatement.h create mode 100644 libjava/java/sql/Ref.h create mode 100644 libjava/java/sql/ResultSet.h create mode 100644 libjava/java/sql/ResultSetMetaData.h create mode 100644 libjava/java/sql/SQLData.h create mode 100644 libjava/java/sql/SQLException.h create mode 100644 libjava/java/sql/SQLInput.h create mode 100644 libjava/java/sql/SQLOutput.h create mode 100644 libjava/java/sql/SQLPermission.h create mode 100644 libjava/java/sql/SQLWarning.h create mode 100644 libjava/java/sql/Savepoint.h create mode 100644 libjava/java/sql/Statement.h create mode 100644 libjava/java/sql/Struct.h create mode 100644 libjava/java/sql/Time.h create mode 100644 libjava/java/sql/Timestamp.h create mode 100644 libjava/java/sql/Types.h create mode 100644 libjava/java/text/Annotation.h create mode 100644 libjava/java/text/AttributedCharacterIterator$Attribute.h create mode 100644 libjava/java/text/AttributedCharacterIterator.h create mode 100644 libjava/java/text/AttributedString$AttributeRange.h create mode 100644 libjava/java/text/AttributedString.h create mode 100644 libjava/java/text/AttributedStringIterator.h create mode 100644 libjava/java/text/Bidi.h create mode 100644 libjava/java/text/BreakIterator.h create mode 100644 libjava/java/text/CharacterIterator.h create mode 100644 libjava/java/text/ChoiceFormat.h create mode 100644 libjava/java/text/CollationElementIterator.h create mode 100644 libjava/java/text/CollationKey.h create mode 100644 libjava/java/text/Collator.h create mode 100644 libjava/java/text/DateFormat$Field.h create mode 100644 libjava/java/text/DateFormat.h create mode 100644 libjava/java/text/DateFormatSymbols.h create mode 100644 libjava/java/text/DecimalFormat.h create mode 100644 libjava/java/text/DecimalFormatSymbols.h create mode 100644 libjava/java/text/FieldPosition.h create mode 100644 libjava/java/text/Format$Field.h create mode 100644 libjava/java/text/Format.h create mode 100644 libjava/java/text/MessageFormat$Field.h create mode 100644 libjava/java/text/MessageFormat$MessageFormatElement.h create mode 100644 libjava/java/text/MessageFormat.h create mode 100644 libjava/java/text/NumberFormat$Field.h create mode 100644 libjava/java/text/NumberFormat.h create mode 100644 libjava/java/text/ParseException.h create mode 100644 libjava/java/text/ParsePosition.h create mode 100644 libjava/java/text/RuleBasedCollator$CollationElement.h create mode 100644 libjava/java/text/RuleBasedCollator$CollationSorter.h create mode 100644 libjava/java/text/RuleBasedCollator.h create mode 100644 libjava/java/text/SimpleDateFormat$CompiledField.h create mode 100644 libjava/java/text/SimpleDateFormat.h create mode 100644 libjava/java/text/StringCharacterIterator.h create mode 100644 libjava/java/util/AbstractCollection.h create mode 100644 libjava/java/util/AbstractList$1.h create mode 100644 libjava/java/util/AbstractList$2.h create mode 100644 libjava/java/util/AbstractList$3.h create mode 100644 libjava/java/util/AbstractList$RandomAccessSubList.h create mode 100644 libjava/java/util/AbstractList$SubList.h create mode 100644 libjava/java/util/AbstractList.h create mode 100644 libjava/java/util/AbstractMap$1.h create mode 100644 libjava/java/util/AbstractMap$2.h create mode 100644 libjava/java/util/AbstractMap$3.h create mode 100644 libjava/java/util/AbstractMap$4.h create mode 100644 libjava/java/util/AbstractMap$SimpleEntry.h create mode 100644 libjava/java/util/AbstractMap$SimpleImmutableEntry.h create mode 100644 libjava/java/util/AbstractMap.h create mode 100644 libjava/java/util/AbstractQueue.h create mode 100644 libjava/java/util/AbstractSequentialList.h create mode 100644 libjava/java/util/AbstractSet.h create mode 100644 libjava/java/util/ArrayDeque$DeqIterator.h create mode 100644 libjava/java/util/ArrayDeque$DescendingIterator.h create mode 100644 libjava/java/util/ArrayDeque.h create mode 100644 libjava/java/util/ArrayList.h create mode 100644 libjava/java/util/Arrays$ArrayList.h create mode 100644 libjava/java/util/Arrays.h create mode 100644 libjava/java/util/BitSet.h create mode 100644 libjava/java/util/Calendar.h create mode 100644 libjava/java/util/Collection.h create mode 100644 libjava/java/util/Collections$1$SynchronizedMapEntry.h create mode 100644 libjava/java/util/Collections$1.h create mode 100644 libjava/java/util/Collections$2.h create mode 100644 libjava/java/util/Collections$3.h create mode 100644 libjava/java/util/Collections$4.h create mode 100644 libjava/java/util/Collections$5.h create mode 100644 libjava/java/util/Collections$6.h create mode 100644 libjava/java/util/Collections$7.h create mode 100644 libjava/java/util/Collections$8.h create mode 100644 libjava/java/util/Collections$9.h create mode 100644 libjava/java/util/Collections$CheckedCollection.h create mode 100644 libjava/java/util/Collections$CheckedIterator.h create mode 100644 libjava/java/util/Collections$CheckedList.h create mode 100644 libjava/java/util/Collections$CheckedListIterator.h create mode 100644 libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h create mode 100644 libjava/java/util/Collections$CheckedMap.h create mode 100644 libjava/java/util/Collections$CheckedRandomAccessList.h create mode 100644 libjava/java/util/Collections$CheckedSet.h create mode 100644 libjava/java/util/Collections$CheckedSortedMap.h create mode 100644 libjava/java/util/Collections$CheckedSortedSet.h create mode 100644 libjava/java/util/Collections$CopiesList.h create mode 100644 libjava/java/util/Collections$EmptyList.h create mode 100644 libjava/java/util/Collections$EmptyMap.h create mode 100644 libjava/java/util/Collections$EmptySet.h create mode 100644 libjava/java/util/Collections$ReverseComparator.h create mode 100644 libjava/java/util/Collections$SingletonList.h create mode 100644 libjava/java/util/Collections$SingletonMap.h create mode 100644 libjava/java/util/Collections$SingletonSet.h create mode 100644 libjava/java/util/Collections$SynchronizedCollection.h create mode 100644 libjava/java/util/Collections$SynchronizedIterator.h create mode 100644 libjava/java/util/Collections$SynchronizedList.h create mode 100644 libjava/java/util/Collections$SynchronizedListIterator.h create mode 100644 libjava/java/util/Collections$SynchronizedMap.h create mode 100644 libjava/java/util/Collections$SynchronizedRandomAccessList.h create mode 100644 libjava/java/util/Collections$SynchronizedSet.h create mode 100644 libjava/java/util/Collections$SynchronizedSortedMap.h create mode 100644 libjava/java/util/Collections$SynchronizedSortedSet.h create mode 100644 libjava/java/util/Collections$UnmodifiableCollection.h create mode 100644 libjava/java/util/Collections$UnmodifiableIterator.h create mode 100644 libjava/java/util/Collections$UnmodifiableList.h create mode 100644 libjava/java/util/Collections$UnmodifiableListIterator.h create mode 100644 libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h create mode 100644 libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h create mode 100644 libjava/java/util/Collections$UnmodifiableMap.h create mode 100644 libjava/java/util/Collections$UnmodifiableRandomAccessList.h create mode 100644 libjava/java/util/Collections$UnmodifiableSet.h create mode 100644 libjava/java/util/Collections$UnmodifiableSortedMap.h create mode 100644 libjava/java/util/Collections$UnmodifiableSortedSet.h create mode 100644 libjava/java/util/Collections.h create mode 100644 libjava/java/util/Comparator.h create mode 100644 libjava/java/util/ConcurrentModificationException.h create mode 100644 libjava/java/util/Currency.h create mode 100644 libjava/java/util/Date.h create mode 100644 libjava/java/util/Deque.h create mode 100644 libjava/java/util/Dictionary.h create mode 100644 libjava/java/util/DuplicateFormatFlagsException.h create mode 100644 libjava/java/util/EmptyStackException.h create mode 100644 libjava/java/util/EnumMap$1.h create mode 100644 libjava/java/util/EnumMap$2.h create mode 100644 libjava/java/util/EnumMap$3.h create mode 100644 libjava/java/util/EnumMap$4.h create mode 100644 libjava/java/util/EnumMap$5.h create mode 100644 libjava/java/util/EnumMap$6.h create mode 100644 libjava/java/util/EnumMap$7.h create mode 100644 libjava/java/util/EnumMap.h create mode 100644 libjava/java/util/EnumSet$1.h create mode 100644 libjava/java/util/EnumSet.h create mode 100644 libjava/java/util/Enumeration.h create mode 100644 libjava/java/util/EventListener.h create mode 100644 libjava/java/util/EventListenerProxy.h create mode 100644 libjava/java/util/EventObject.h create mode 100644 libjava/java/util/FormatFlagsConversionMismatchException.h create mode 100644 libjava/java/util/Formattable.h create mode 100644 libjava/java/util/FormattableFlags.h create mode 100644 libjava/java/util/Formatter$BigDecimalLayoutForm.h create mode 100644 libjava/java/util/Formatter.h create mode 100644 libjava/java/util/FormatterClosedException.h create mode 100644 libjava/java/util/GregorianCalendar.h create mode 100644 libjava/java/util/HashMap$1.h create mode 100644 libjava/java/util/HashMap$2.h create mode 100644 libjava/java/util/HashMap$3.h create mode 100644 libjava/java/util/HashMap$HashEntry.h create mode 100644 libjava/java/util/HashMap$HashIterator.h create mode 100644 libjava/java/util/HashMap.h create mode 100644 libjava/java/util/HashSet.h create mode 100644 libjava/java/util/Hashtable$1.h create mode 100644 libjava/java/util/Hashtable$2.h create mode 100644 libjava/java/util/Hashtable$3.h create mode 100644 libjava/java/util/Hashtable$EntryEnumerator.h create mode 100644 libjava/java/util/Hashtable$EntryIterator.h create mode 100644 libjava/java/util/Hashtable$HashEntry.h create mode 100644 libjava/java/util/Hashtable$KeyEnumerator.h create mode 100644 libjava/java/util/Hashtable$KeyIterator.h create mode 100644 libjava/java/util/Hashtable$ValueEnumerator.h create mode 100644 libjava/java/util/Hashtable$ValueIterator.h create mode 100644 libjava/java/util/Hashtable.h create mode 100644 libjava/java/util/IdentityHashMap$1.h create mode 100644 libjava/java/util/IdentityHashMap$2.h create mode 100644 libjava/java/util/IdentityHashMap$3.h create mode 100644 libjava/java/util/IdentityHashMap$IdentityEntry.h create mode 100644 libjava/java/util/IdentityHashMap$IdentityIterator.h create mode 100644 libjava/java/util/IdentityHashMap.h create mode 100644 libjava/java/util/IllegalFormatCodePointException.h create mode 100644 libjava/java/util/IllegalFormatConversionException.h create mode 100644 libjava/java/util/IllegalFormatException.h create mode 100644 libjava/java/util/IllegalFormatFlagsException.h create mode 100644 libjava/java/util/IllegalFormatPrecisionException.h create mode 100644 libjava/java/util/IllegalFormatWidthException.h create mode 100644 libjava/java/util/InputMismatchException.h create mode 100644 libjava/java/util/InvalidPropertiesFormatException.h create mode 100644 libjava/java/util/Iterator.h create mode 100644 libjava/java/util/LinkedHashMap$1.h create mode 100644 libjava/java/util/LinkedHashMap$LinkedHashEntry.h create mode 100644 libjava/java/util/LinkedHashMap.h create mode 100644 libjava/java/util/LinkedHashSet.h create mode 100644 libjava/java/util/LinkedList$Entry.h create mode 100644 libjava/java/util/LinkedList$LinkedListItr.h create mode 100644 libjava/java/util/LinkedList.h create mode 100644 libjava/java/util/List.h create mode 100644 libjava/java/util/ListIterator.h create mode 100644 libjava/java/util/ListResourceBundle.h create mode 100644 libjava/java/util/Locale.h create mode 100644 libjava/java/util/Map$Entry.h create mode 100644 libjava/java/util/Map.h create mode 100644 libjava/java/util/MissingFormatArgumentException.h create mode 100644 libjava/java/util/MissingFormatWidthException.h create mode 100644 libjava/java/util/MissingResourceException.h create mode 100644 libjava/java/util/NavigableMap.h create mode 100644 libjava/java/util/NavigableSet.h create mode 100644 libjava/java/util/NoSuchElementException.h create mode 100644 libjava/java/util/Observable.h create mode 100644 libjava/java/util/Observer.h create mode 100644 libjava/java/util/PriorityQueue$1.h create mode 100644 libjava/java/util/PriorityQueue.h create mode 100644 libjava/java/util/Properties.h create mode 100644 libjava/java/util/PropertyPermission.h create mode 100644 libjava/java/util/PropertyPermissionCollection.h create mode 100644 libjava/java/util/PropertyResourceBundle.h create mode 100644 libjava/java/util/Queue.h create mode 100644 libjava/java/util/Random.h create mode 100644 libjava/java/util/RandomAccess.h create mode 100644 libjava/java/util/ResourceBundle$1.h create mode 100644 libjava/java/util/ResourceBundle$BundleKey.h create mode 100644 libjava/java/util/ResourceBundle.h delete mode 100644 libjava/java/util/ResourceBundle.java create mode 100644 libjava/java/util/Set.h create mode 100644 libjava/java/util/SimpleTimeZone.h create mode 100644 libjava/java/util/SortedMap.h create mode 100644 libjava/java/util/SortedSet.h create mode 100644 libjava/java/util/Stack.h create mode 100644 libjava/java/util/StringTokenizer.h create mode 100644 libjava/java/util/TimeZone$1.h create mode 100644 libjava/java/util/TimeZone.h create mode 100644 libjava/java/util/Timer$Scheduler.h create mode 100644 libjava/java/util/Timer$TaskQueue.h create mode 100644 libjava/java/util/Timer.h create mode 100644 libjava/java/util/TimerTask.h create mode 100644 libjava/java/util/TooManyListenersException.h create mode 100644 libjava/java/util/TreeMap$1.h create mode 100644 libjava/java/util/TreeMap$2.h create mode 100644 libjava/java/util/TreeMap$3.h create mode 100644 libjava/java/util/TreeMap$4.h create mode 100644 libjava/java/util/TreeMap$5.h create mode 100644 libjava/java/util/TreeMap$6.h create mode 100644 libjava/java/util/TreeMap$Node.h create mode 100644 libjava/java/util/TreeMap$SubMap.h create mode 100644 libjava/java/util/TreeMap$TreeIterator.h create mode 100644 libjava/java/util/TreeMap.h create mode 100644 libjava/java/util/TreeSet.h create mode 100644 libjava/java/util/UUID.h create mode 100644 libjava/java/util/UnknownFormatConversionException.h create mode 100644 libjava/java/util/UnknownFormatFlagsException.h create mode 100644 libjava/java/util/VMTimeZone.h create mode 100644 libjava/java/util/Vector$1.h create mode 100644 libjava/java/util/Vector.h create mode 100644 libjava/java/util/WeakHashMap$1.h create mode 100644 libjava/java/util/WeakHashMap$2.h create mode 100644 libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h create mode 100644 libjava/java/util/WeakHashMap$WeakBucket.h create mode 100644 libjava/java/util/WeakHashMap$WeakEntrySet.h create mode 100644 libjava/java/util/WeakHashMap.h create mode 100644 libjava/java/util/concurrent/AbstractExecutorService.h create mode 100644 libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h create mode 100644 libjava/java/util/concurrent/ArrayBlockingQueue.h create mode 100644 libjava/java/util/concurrent/BlockingDeque.h create mode 100644 libjava/java/util/concurrent/BlockingQueue.h create mode 100644 libjava/java/util/concurrent/BrokenBarrierException.h create mode 100644 libjava/java/util/concurrent/Callable.h create mode 100644 libjava/java/util/concurrent/CancellationException.h create mode 100644 libjava/java/util/concurrent/CompletionService.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$Segment.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$Values.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h create mode 100644 libjava/java/util/concurrent/ConcurrentHashMap.h create mode 100644 libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h create mode 100644 libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h create mode 100644 libjava/java/util/concurrent/ConcurrentLinkedQueue.h create mode 100644 libjava/java/util/concurrent/ConcurrentMap.h create mode 100644 libjava/java/util/concurrent/ConcurrentNavigableMap.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListMap.h create mode 100644 libjava/java/util/concurrent/ConcurrentSkipListSet.h create mode 100644 libjava/java/util/concurrent/CopyOnWriteArrayList.h create mode 100644 libjava/java/util/concurrent/CopyOnWriteArraySet.h create mode 100644 libjava/java/util/concurrent/CountDownLatch$Sync.h create mode 100644 libjava/java/util/concurrent/CountDownLatch.h create mode 100644 libjava/java/util/concurrent/CyclicBarrier$Generation.h create mode 100644 libjava/java/util/concurrent/CyclicBarrier.h create mode 100644 libjava/java/util/concurrent/DelayQueue$Itr.h create mode 100644 libjava/java/util/concurrent/DelayQueue.h create mode 100644 libjava/java/util/concurrent/Delayed.h create mode 100644 libjava/java/util/concurrent/Exchanger$Node.h create mode 100644 libjava/java/util/concurrent/Exchanger$Slot.h create mode 100644 libjava/java/util/concurrent/Exchanger.h create mode 100644 libjava/java/util/concurrent/ExecutionException.h create mode 100644 libjava/java/util/concurrent/Executor.h create mode 100644 libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h create mode 100644 libjava/java/util/concurrent/ExecutorCompletionService.h create mode 100644 libjava/java/util/concurrent/ExecutorService.h create mode 100644 libjava/java/util/concurrent/Executors$1.h create mode 100644 libjava/java/util/concurrent/Executors$2.h create mode 100644 libjava/java/util/concurrent/Executors$3.h create mode 100644 libjava/java/util/concurrent/Executors$4.h create mode 100644 libjava/java/util/concurrent/Executors$5.h create mode 100644 libjava/java/util/concurrent/Executors$6.h create mode 100644 libjava/java/util/concurrent/Executors$DefaultThreadFactory.h create mode 100644 libjava/java/util/concurrent/Executors$DelegatedExecutorService.h create mode 100644 libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h create mode 100644 libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h create mode 100644 libjava/java/util/concurrent/Executors$PrivilegedCallable.h create mode 100644 libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h create mode 100644 libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h create mode 100644 libjava/java/util/concurrent/Executors$RunnableAdapter.h create mode 100644 libjava/java/util/concurrent/Executors.h create mode 100644 libjava/java/util/concurrent/Future.h create mode 100644 libjava/java/util/concurrent/FutureTask$Sync.h create mode 100644 libjava/java/util/concurrent/FutureTask.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingDeque$Node.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingDeque.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingQueue$Node.h create mode 100644 libjava/java/util/concurrent/LinkedBlockingQueue.h create mode 100644 libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h create mode 100644 libjava/java/util/concurrent/PriorityBlockingQueue.h create mode 100644 libjava/java/util/concurrent/RejectedExecutionException.h create mode 100644 libjava/java/util/concurrent/RejectedExecutionHandler.h create mode 100644 libjava/java/util/concurrent/RunnableFuture.h create mode 100644 libjava/java/util/concurrent/RunnableScheduledFuture.h create mode 100644 libjava/java/util/concurrent/ScheduledExecutorService.h create mode 100644 libjava/java/util/concurrent/ScheduledFuture.h create mode 100644 libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h create mode 100644 libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h create mode 100644 libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h create mode 100644 libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h create mode 100644 libjava/java/util/concurrent/Semaphore$FairSync.h create mode 100644 libjava/java/util/concurrent/Semaphore$NonfairSync.h create mode 100644 libjava/java/util/concurrent/Semaphore$Sync.h create mode 100644 libjava/java/util/concurrent/Semaphore.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$TransferStack.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$Transferer.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h create mode 100644 libjava/java/util/concurrent/SynchronousQueue.h create mode 100644 libjava/java/util/concurrent/ThreadFactory.h create mode 100644 libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h create mode 100644 libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h create mode 100644 libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h create mode 100644 libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h create mode 100644 libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h create mode 100644 libjava/java/util/concurrent/ThreadPoolExecutor.h create mode 100644 libjava/java/util/concurrent/TimeUnit$1.h create mode 100644 libjava/java/util/concurrent/TimeUnit$2.h create mode 100644 libjava/java/util/concurrent/TimeUnit$3.h create mode 100644 libjava/java/util/concurrent/TimeUnit$4.h create mode 100644 libjava/java/util/concurrent/TimeUnit$5.h create mode 100644 libjava/java/util/concurrent/TimeUnit$6.h create mode 100644 libjava/java/util/concurrent/TimeUnit$7.h create mode 100644 libjava/java/util/concurrent/TimeUnit.h create mode 100644 libjava/java/util/concurrent/TimeoutException.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicBoolean.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicInteger.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicIntegerArray.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicLong.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicLongArray.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicMarkableReference.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicReference.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicReferenceArray.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h create mode 100644 libjava/java/util/concurrent/atomic/AtomicStampedReference.h create mode 100644 libjava/java/util/concurrent/atomic/natAtomicLong.cc create mode 100644 libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h create mode 100644 libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h create mode 100644 libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h create mode 100644 libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h create mode 100644 libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h create mode 100644 libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h create mode 100644 libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h create mode 100644 libjava/java/util/concurrent/locks/Condition.h create mode 100644 libjava/java/util/concurrent/locks/Lock.h create mode 100644 libjava/java/util/concurrent/locks/LockSupport.h create mode 100644 libjava/java/util/concurrent/locks/ReadWriteLock.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantLock$Sync.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantLock.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h create mode 100644 libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h create mode 100644 libjava/java/util/jar/Attributes$Name.h create mode 100644 libjava/java/util/jar/Attributes.h create mode 100644 libjava/java/util/jar/JarEntry.h create mode 100644 libjava/java/util/jar/JarException.h create mode 100644 libjava/java/util/jar/JarFile$EntryInputStream.h create mode 100644 libjava/java/util/jar/JarFile$JarEnumeration.h create mode 100644 libjava/java/util/jar/JarFile.h create mode 100644 libjava/java/util/jar/JarInputStream.h create mode 100644 libjava/java/util/jar/JarOutputStream.h create mode 100644 libjava/java/util/jar/Manifest.h create mode 100644 libjava/java/util/logging/ConsoleHandler.h create mode 100644 libjava/java/util/logging/ErrorManager.h create mode 100644 libjava/java/util/logging/FileHandler$ostr.h create mode 100644 libjava/java/util/logging/FileHandler.h create mode 100644 libjava/java/util/logging/Filter.h create mode 100644 libjava/java/util/logging/Formatter.h create mode 100644 libjava/java/util/logging/Handler.h create mode 100644 libjava/java/util/logging/Level.h create mode 100644 libjava/java/util/logging/LogManager$1.h create mode 100644 libjava/java/util/logging/LogManager.h create mode 100644 libjava/java/util/logging/LogRecord.h create mode 100644 libjava/java/util/logging/Logger$1.h create mode 100644 libjava/java/util/logging/Logger.h create mode 100644 libjava/java/util/logging/LoggingMXBean.h create mode 100644 libjava/java/util/logging/LoggingPermission.h create mode 100644 libjava/java/util/logging/MemoryHandler.h create mode 100644 libjava/java/util/logging/SimpleFormatter.h create mode 100644 libjava/java/util/logging/SocketHandler.h create mode 100644 libjava/java/util/logging/StreamHandler.h create mode 100644 libjava/java/util/logging/XMLFormatter.h delete mode 100644 libjava/java/util/natResourceBundle.cc create mode 100644 libjava/java/util/prefs/AbstractPreferences$1.h create mode 100644 libjava/java/util/prefs/AbstractPreferences$2.h create mode 100644 libjava/java/util/prefs/AbstractPreferences.h create mode 100644 libjava/java/util/prefs/BackingStoreException.h create mode 100644 libjava/java/util/prefs/InvalidPreferencesFormatException.h create mode 100644 libjava/java/util/prefs/NodeChangeEvent.h create mode 100644 libjava/java/util/prefs/NodeChangeListener.h create mode 100644 libjava/java/util/prefs/PreferenceChangeEvent.h create mode 100644 libjava/java/util/prefs/PreferenceChangeListener.h create mode 100644 libjava/java/util/prefs/Preferences$1.h create mode 100644 libjava/java/util/prefs/Preferences.h create mode 100644 libjava/java/util/prefs/PreferencesFactory.h create mode 100644 libjava/java/util/regex/MatchResult.h create mode 100644 libjava/java/util/regex/Matcher.h create mode 100644 libjava/java/util/regex/Pattern.h create mode 100644 libjava/java/util/regex/PatternSyntaxException.h create mode 100644 libjava/java/util/zip/Adler32.h create mode 100644 libjava/java/util/zip/CRC32.h create mode 100644 libjava/java/util/zip/CheckedInputStream.h create mode 100644 libjava/java/util/zip/CheckedOutputStream.h create mode 100644 libjava/java/util/zip/Checksum.h create mode 100644 libjava/java/util/zip/DataFormatException.h create mode 100644 libjava/java/util/zip/Deflater.h create mode 100644 libjava/java/util/zip/DeflaterOutputStream.h create mode 100644 libjava/java/util/zip/GZIPInputStream.h create mode 100644 libjava/java/util/zip/GZIPOutputStream.h create mode 100644 libjava/java/util/zip/Inflater.h create mode 100644 libjava/java/util/zip/InflaterInputStream.h create mode 100644 libjava/java/util/zip/ZipConstants.h create mode 100644 libjava/java/util/zip/ZipEntry.h create mode 100644 libjava/java/util/zip/ZipException.h create mode 100644 libjava/java/util/zip/ZipFile$1.h create mode 100644 libjava/java/util/zip/ZipFile$PartialInputStream.h create mode 100644 libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h create mode 100644 libjava/java/util/zip/ZipFile.h create mode 100644 libjava/java/util/zip/ZipInputStream.h create mode 100644 libjava/java/util/zip/ZipOutputStream.h create mode 100644 libjava/javax/accessibility/Accessible.h create mode 100644 libjava/javax/accessibility/AccessibleAction.h create mode 100644 libjava/javax/accessibility/AccessibleAttributeSequence.h create mode 100644 libjava/javax/accessibility/AccessibleBundle.h create mode 100644 libjava/javax/accessibility/AccessibleComponent.h create mode 100644 libjava/javax/accessibility/AccessibleContext.h create mode 100644 libjava/javax/accessibility/AccessibleEditableText.h create mode 100644 libjava/javax/accessibility/AccessibleExtendedComponent.h create mode 100644 libjava/javax/accessibility/AccessibleExtendedTable.h create mode 100644 libjava/javax/accessibility/AccessibleExtendedText.h create mode 100644 libjava/javax/accessibility/AccessibleHyperlink.h create mode 100644 libjava/javax/accessibility/AccessibleHypertext.h create mode 100644 libjava/javax/accessibility/AccessibleIcon.h create mode 100644 libjava/javax/accessibility/AccessibleKeyBinding.h create mode 100644 libjava/javax/accessibility/AccessibleRelation.h create mode 100644 libjava/javax/accessibility/AccessibleRelationSet.h create mode 100644 libjava/javax/accessibility/AccessibleResourceBundle.h create mode 100644 libjava/javax/accessibility/AccessibleRole.h create mode 100644 libjava/javax/accessibility/AccessibleSelection.h create mode 100644 libjava/javax/accessibility/AccessibleState.h create mode 100644 libjava/javax/accessibility/AccessibleStateSet.h create mode 100644 libjava/javax/accessibility/AccessibleStreamable.h create mode 100644 libjava/javax/accessibility/AccessibleTable.h create mode 100644 libjava/javax/accessibility/AccessibleTableModelChange.h create mode 100644 libjava/javax/accessibility/AccessibleText.h create mode 100644 libjava/javax/accessibility/AccessibleTextSequence.h create mode 100644 libjava/javax/accessibility/AccessibleValue.h create mode 100644 libjava/javax/crypto/BadPaddingException.h create mode 100644 libjava/javax/crypto/Cipher.h create mode 100644 libjava/javax/crypto/CipherInputStream.h create mode 100644 libjava/javax/crypto/CipherOutputStream.h create mode 100644 libjava/javax/crypto/CipherSpi.h create mode 100644 libjava/javax/crypto/EncryptedPrivateKeyInfo.h create mode 100644 libjava/javax/crypto/ExemptionMechanism.h create mode 100644 libjava/javax/crypto/ExemptionMechanismException.h create mode 100644 libjava/javax/crypto/ExemptionMechanismSpi.h create mode 100644 libjava/javax/crypto/IllegalBlockSizeException.h create mode 100644 libjava/javax/crypto/KeyAgreement.h create mode 100644 libjava/javax/crypto/KeyAgreementSpi.h create mode 100644 libjava/javax/crypto/KeyGenerator.h create mode 100644 libjava/javax/crypto/KeyGeneratorSpi.h create mode 100644 libjava/javax/crypto/Mac.h create mode 100644 libjava/javax/crypto/MacSpi.h create mode 100644 libjava/javax/crypto/NoSuchPaddingException.h create mode 100644 libjava/javax/crypto/NullCipher.h create mode 100644 libjava/javax/crypto/NullCipherImpl.h create mode 100644 libjava/javax/crypto/SealedObject.h create mode 100644 libjava/javax/crypto/SecretKey.h create mode 100644 libjava/javax/crypto/SecretKeyFactory.h create mode 100644 libjava/javax/crypto/SecretKeyFactorySpi.h create mode 100644 libjava/javax/crypto/ShortBufferException.h create mode 100644 libjava/javax/crypto/interfaces/DHKey.h create mode 100644 libjava/javax/crypto/interfaces/DHPrivateKey.h create mode 100644 libjava/javax/crypto/interfaces/DHPublicKey.h create mode 100644 libjava/javax/crypto/interfaces/PBEKey.h create mode 100644 libjava/javax/crypto/spec/DESKeySpec.h create mode 100644 libjava/javax/crypto/spec/DESedeKeySpec.h create mode 100644 libjava/javax/crypto/spec/DHGenParameterSpec.h create mode 100644 libjava/javax/crypto/spec/DHParameterSpec.h create mode 100644 libjava/javax/crypto/spec/DHPrivateKeySpec.h create mode 100644 libjava/javax/crypto/spec/DHPublicKeySpec.h create mode 100644 libjava/javax/crypto/spec/IvParameterSpec.h create mode 100644 libjava/javax/crypto/spec/PBEKeySpec.h create mode 100644 libjava/javax/crypto/spec/PBEParameterSpec.h create mode 100644 libjava/javax/crypto/spec/RC2ParameterSpec.h create mode 100644 libjava/javax/crypto/spec/RC5ParameterSpec.h create mode 100644 libjava/javax/crypto/spec/SecretKeySpec.h create mode 100644 libjava/javax/imageio/IIOException.h create mode 100644 libjava/javax/imageio/IIOImage.h create mode 100644 libjava/javax/imageio/IIOParam.h create mode 100644 libjava/javax/imageio/IIOParamController.h create mode 100644 libjava/javax/imageio/ImageIO$1.h create mode 100644 libjava/javax/imageio/ImageIO$ImageReaderIterator.h create mode 100644 libjava/javax/imageio/ImageIO$ImageWriterIterator.h create mode 100644 libjava/javax/imageio/ImageIO$ReaderFormatFilter.h create mode 100644 libjava/javax/imageio/ImageIO$ReaderMIMETypeFilter.h create mode 100644 libjava/javax/imageio/ImageIO$ReaderObjectFilter.h create mode 100644 libjava/javax/imageio/ImageIO$ReaderSuffixFilter.h create mode 100644 libjava/javax/imageio/ImageIO$TranscoderFilter.h create mode 100644 libjava/javax/imageio/ImageIO$WriterFormatFilter.h create mode 100644 libjava/javax/imageio/ImageIO$WriterMIMETypeFilter.h create mode 100644 libjava/javax/imageio/ImageIO$WriterObjectFilter.h create mode 100644 libjava/javax/imageio/ImageIO$WriterSuffixFilter.h create mode 100644 libjava/javax/imageio/ImageIO.h create mode 100644 libjava/javax/imageio/ImageReadParam.h create mode 100644 libjava/javax/imageio/ImageReader.h create mode 100644 libjava/javax/imageio/ImageTranscoder.h create mode 100644 libjava/javax/imageio/ImageTypeSpecifier.h create mode 100644 libjava/javax/imageio/ImageWriteParam.h create mode 100644 libjava/javax/imageio/ImageWriter.h create mode 100644 libjava/javax/imageio/event/IIOReadProgressListener.h create mode 100644 libjava/javax/imageio/event/IIOReadUpdateListener.h create mode 100644 libjava/javax/imageio/event/IIOReadWarningListener.h create mode 100644 libjava/javax/imageio/event/IIOWriteProgressListener.h create mode 100644 libjava/javax/imageio/event/IIOWriteWarningListener.h create mode 100644 libjava/javax/imageio/metadata/IIOInvalidTreeException.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadata.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataController.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormat.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$1.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataFormatImpl.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataNode$IIONodeList.h create mode 100644 libjava/javax/imageio/metadata/IIOMetadataNode.h create mode 100644 libjava/javax/imageio/plugins/bmp/BMPImageWriteParam.h create mode 100644 libjava/javax/imageio/plugins/jpeg/JPEGHuffmanTable.h create mode 100644 libjava/javax/imageio/plugins/jpeg/JPEGImageReadParam.h create mode 100644 libjava/javax/imageio/plugins/jpeg/JPEGImageWriteParam.h create mode 100644 libjava/javax/imageio/plugins/jpeg/JPEGQTable.h create mode 100644 libjava/javax/imageio/spi/IIORegistry.h create mode 100644 libjava/javax/imageio/spi/IIOServiceProvider.h create mode 100644 libjava/javax/imageio/spi/ImageInputStreamSpi.h create mode 100644 libjava/javax/imageio/spi/ImageOutputStreamSpi.h create mode 100644 libjava/javax/imageio/spi/ImageReaderSpi.h create mode 100644 libjava/javax/imageio/spi/ImageReaderWriterSpi.h create mode 100644 libjava/javax/imageio/spi/ImageTranscoderSpi.h create mode 100644 libjava/javax/imageio/spi/ImageWriterSpi.h create mode 100644 libjava/javax/imageio/spi/RegisterableService.h create mode 100644 libjava/javax/imageio/spi/ServiceRegistry$1.h create mode 100644 libjava/javax/imageio/spi/ServiceRegistry$2.h create mode 100644 libjava/javax/imageio/spi/ServiceRegistry$Filter.h create mode 100644 libjava/javax/imageio/spi/ServiceRegistry.h create mode 100644 libjava/javax/imageio/stream/FileCacheImageInputStream.h create mode 100644 libjava/javax/imageio/stream/FileCacheImageOutputStream.h create mode 100644 libjava/javax/imageio/stream/FileImageInputStream.h create mode 100644 libjava/javax/imageio/stream/FileImageOutputStream.h create mode 100644 libjava/javax/imageio/stream/IIOByteBuffer.h create mode 100644 libjava/javax/imageio/stream/ImageInputStream.h create mode 100644 libjava/javax/imageio/stream/ImageInputStreamImpl.h create mode 100644 libjava/javax/imageio/stream/ImageOutputStream.h create mode 100644 libjava/javax/imageio/stream/ImageOutputStreamImpl.h create mode 100644 libjava/javax/imageio/stream/MemoryCacheImageInputStream.h create mode 100644 libjava/javax/imageio/stream/MemoryCacheImageOutputStream.h create mode 100644 libjava/javax/management/Attribute.h create mode 100644 libjava/javax/management/AttributeList.h create mode 100644 libjava/javax/management/AttributeNotFoundException.h create mode 100644 libjava/javax/management/BadAttributeValueExpException.h create mode 100644 libjava/javax/management/BadBinaryOpValueExpException.h create mode 100644 libjava/javax/management/BadStringOperationException.h create mode 100644 libjava/javax/management/DynamicMBean.h create mode 100644 libjava/javax/management/InstanceAlreadyExistsException.h create mode 100644 libjava/javax/management/InstanceNotFoundException.h create mode 100644 libjava/javax/management/IntrospectionException.h create mode 100644 libjava/javax/management/InvalidApplicationException.h create mode 100644 libjava/javax/management/InvalidAttributeValueException.h create mode 100644 libjava/javax/management/JMException.h create mode 100644 libjava/javax/management/JMRuntimeException.h create mode 100644 libjava/javax/management/ListenerNotFoundException.h create mode 100644 libjava/javax/management/MBeanAttributeInfo.h create mode 100644 libjava/javax/management/MBeanConstructorInfo.h create mode 100644 libjava/javax/management/MBeanException.h create mode 100644 libjava/javax/management/MBeanFeatureInfo.h create mode 100644 libjava/javax/management/MBeanInfo.h create mode 100644 libjava/javax/management/MBeanNotificationInfo.h create mode 100644 libjava/javax/management/MBeanOperationInfo.h create mode 100644 libjava/javax/management/MBeanParameterInfo.h create mode 100644 libjava/javax/management/MBeanPermission$NameHolder.h create mode 100644 libjava/javax/management/MBeanPermission.h create mode 100644 libjava/javax/management/MBeanRegistration.h create mode 100644 libjava/javax/management/MBeanRegistrationException.h create mode 100644 libjava/javax/management/MBeanServer.h create mode 100644 libjava/javax/management/MBeanServerBuilder.h create mode 100644 libjava/javax/management/MBeanServerConnection.h create mode 100644 libjava/javax/management/MBeanServerDelegate.h create mode 100644 libjava/javax/management/MBeanServerDelegateMBean.h create mode 100644 libjava/javax/management/MBeanServerFactory.h create mode 100644 libjava/javax/management/MBeanServerNotification.h create mode 100644 libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.h create mode 100644 libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.h create mode 100644 libjava/javax/management/MBeanServerPermission.h create mode 100644 libjava/javax/management/MBeanTrustPermission.h create mode 100644 libjava/javax/management/MalformedObjectNameException.h create mode 100644 libjava/javax/management/NotCompliantMBeanException.h create mode 100644 libjava/javax/management/Notification.h create mode 100644 libjava/javax/management/NotificationBroadcaster.h create mode 100644 libjava/javax/management/NotificationEmitter.h create mode 100644 libjava/javax/management/NotificationFilter.h create mode 100644 libjava/javax/management/NotificationListener.h create mode 100644 libjava/javax/management/ObjectInstance.h create mode 100644 libjava/javax/management/ObjectName.h create mode 100644 libjava/javax/management/OperationsException.h create mode 100644 libjava/javax/management/QueryExp.h create mode 100644 libjava/javax/management/ReflectionException.h create mode 100644 libjava/javax/management/RuntimeErrorException.h create mode 100644 libjava/javax/management/RuntimeMBeanException.h create mode 100644 libjava/javax/management/RuntimeOperationsException.h create mode 100644 libjava/javax/management/ServiceNotFoundException.h create mode 100644 libjava/javax/management/StandardMBean.h create mode 100644 libjava/javax/management/ValueExp.h create mode 100644 libjava/javax/management/loading/ClassLoaderRepository.h create mode 100644 libjava/javax/management/openmbean/ArrayType.h create mode 100644 libjava/javax/management/openmbean/CompositeData.h create mode 100644 libjava/javax/management/openmbean/CompositeDataSupport.h create mode 100644 libjava/javax/management/openmbean/CompositeType.h create mode 100644 libjava/javax/management/openmbean/InvalidKeyException.h create mode 100644 libjava/javax/management/openmbean/InvalidOpenTypeException.h create mode 100644 libjava/javax/management/openmbean/KeyAlreadyExistsException.h create mode 100644 libjava/javax/management/openmbean/OpenDataException.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanAttributeInfo.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanAttributeInfoSupport.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanConstructorInfo.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanConstructorInfoSupport.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanInfo.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanInfoSupport.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanOperationInfo.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanOperationInfoSupport.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanParameterInfo.h create mode 100644 libjava/javax/management/openmbean/OpenMBeanParameterInfoSupport.h create mode 100644 libjava/javax/management/openmbean/OpenType.h create mode 100644 libjava/javax/management/openmbean/SimpleType.h create mode 100644 libjava/javax/management/openmbean/TabularData.h create mode 100644 libjava/javax/management/openmbean/TabularDataSupport.h create mode 100644 libjava/javax/management/openmbean/TabularType.h create mode 100644 libjava/javax/naming/AuthenticationException.h create mode 100644 libjava/javax/naming/AuthenticationNotSupportedException.h create mode 100644 libjava/javax/naming/BinaryRefAddr.h create mode 100644 libjava/javax/naming/Binding.h create mode 100644 libjava/javax/naming/CannotProceedException.h create mode 100644 libjava/javax/naming/CommunicationException.h create mode 100644 libjava/javax/naming/CompositeName.h create mode 100644 libjava/javax/naming/CompoundName.h create mode 100644 libjava/javax/naming/ConfigurationException.h create mode 100644 libjava/javax/naming/Context.h create mode 100644 libjava/javax/naming/ContextNotEmptyException.h create mode 100644 libjava/javax/naming/InitialContext.h create mode 100644 libjava/javax/naming/InsufficientResourcesException.h create mode 100644 libjava/javax/naming/InterruptedNamingException.h create mode 100644 libjava/javax/naming/InvalidNameException.h create mode 100644 libjava/javax/naming/LimitExceededException.h create mode 100644 libjava/javax/naming/LinkException.h create mode 100644 libjava/javax/naming/LinkLoopException.h create mode 100644 libjava/javax/naming/LinkRef.h create mode 100644 libjava/javax/naming/MalformedLinkException.h create mode 100644 libjava/javax/naming/Name.h create mode 100644 libjava/javax/naming/NameAlreadyBoundException.h create mode 100644 libjava/javax/naming/NameClassPair.h create mode 100644 libjava/javax/naming/NameNotFoundException.h create mode 100644 libjava/javax/naming/NameParser.h create mode 100644 libjava/javax/naming/NamingEnumeration.h create mode 100644 libjava/javax/naming/NamingException.h create mode 100644 libjava/javax/naming/NamingSecurityException.h create mode 100644 libjava/javax/naming/NoInitialContextException.h create mode 100644 libjava/javax/naming/NoPermissionException.h create mode 100644 libjava/javax/naming/NotContextException.h create mode 100644 libjava/javax/naming/OperationNotSupportedException.h create mode 100644 libjava/javax/naming/PartialResultException.h create mode 100644 libjava/javax/naming/RefAddr.h create mode 100644 libjava/javax/naming/Reference.h create mode 100644 libjava/javax/naming/Referenceable.h create mode 100644 libjava/javax/naming/ReferralException.h create mode 100644 libjava/javax/naming/ServiceUnavailableException.h create mode 100644 libjava/javax/naming/SizeLimitExceededException.h create mode 100644 libjava/javax/naming/StringRefAddr.h create mode 100644 libjava/javax/naming/TimeLimitExceededException.h create mode 100644 libjava/javax/naming/directory/Attribute.h create mode 100644 libjava/javax/naming/directory/AttributeInUseException.h create mode 100644 libjava/javax/naming/directory/AttributeModificationException.h create mode 100644 libjava/javax/naming/directory/Attributes.h create mode 100644 libjava/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.h create mode 100644 libjava/javax/naming/directory/BasicAttribute.h create mode 100644 libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h create mode 100644 libjava/javax/naming/directory/BasicAttributes.h create mode 100644 libjava/javax/naming/directory/DirContext.h create mode 100644 libjava/javax/naming/directory/InitialDirContext.h create mode 100644 libjava/javax/naming/directory/InvalidAttributeIdentifierException.h create mode 100644 libjava/javax/naming/directory/InvalidAttributeValueException.h create mode 100644 libjava/javax/naming/directory/InvalidAttributesException.h create mode 100644 libjava/javax/naming/directory/InvalidSearchControlsException.h create mode 100644 libjava/javax/naming/directory/InvalidSearchFilterException.h create mode 100644 libjava/javax/naming/directory/ModificationItem.h create mode 100644 libjava/javax/naming/directory/NoSuchAttributeException.h create mode 100644 libjava/javax/naming/directory/SchemaViolationException.h create mode 100644 libjava/javax/naming/directory/SearchControls.h create mode 100644 libjava/javax/naming/directory/SearchResult.h create mode 100644 libjava/javax/naming/event/EventContext.h create mode 100644 libjava/javax/naming/event/EventDirContext.h create mode 100644 libjava/javax/naming/event/NamespaceChangeListener.h create mode 100644 libjava/javax/naming/event/NamingEvent.h create mode 100644 libjava/javax/naming/event/NamingExceptionEvent.h create mode 100644 libjava/javax/naming/event/NamingListener.h create mode 100644 libjava/javax/naming/event/ObjectChangeListener.h create mode 100644 libjava/javax/naming/ldap/Control.h create mode 100644 libjava/javax/naming/ldap/ControlFactory.h create mode 100644 libjava/javax/naming/ldap/ExtendedRequest.h create mode 100644 libjava/javax/naming/ldap/ExtendedResponse.h create mode 100644 libjava/javax/naming/ldap/HasControls.h create mode 100644 libjava/javax/naming/ldap/InitialLdapContext.h create mode 100644 libjava/javax/naming/ldap/LdapContext.h create mode 100644 libjava/javax/naming/ldap/LdapReferralException.h create mode 100644 libjava/javax/naming/ldap/StartTlsRequest.h create mode 100644 libjava/javax/naming/ldap/StartTlsResponse.h create mode 100644 libjava/javax/naming/ldap/UnsolicitedNotification.h create mode 100644 libjava/javax/naming/ldap/UnsolicitedNotificationEvent.h create mode 100644 libjava/javax/naming/ldap/UnsolicitedNotificationListener.h create mode 100644 libjava/javax/naming/spi/DirObjectFactory.h create mode 100644 libjava/javax/naming/spi/DirStateFactory$Result.h create mode 100644 libjava/javax/naming/spi/DirStateFactory.h create mode 100644 libjava/javax/naming/spi/DirectoryManager.h create mode 100644 libjava/javax/naming/spi/InitialContextFactory.h create mode 100644 libjava/javax/naming/spi/InitialContextFactoryBuilder.h create mode 100644 libjava/javax/naming/spi/NamingManager.h delete mode 100644 libjava/javax/naming/spi/NamingManager.java create mode 100644 libjava/javax/naming/spi/ObjectFactory.h create mode 100644 libjava/javax/naming/spi/ObjectFactoryBuilder.h create mode 100644 libjava/javax/naming/spi/ResolveResult.h create mode 100644 libjava/javax/naming/spi/Resolver.h create mode 100644 libjava/javax/naming/spi/StateFactory.h create mode 100644 libjava/javax/net/ServerSocketFactory.h create mode 100644 libjava/javax/net/SocketFactory.h create mode 100644 libjava/javax/net/VanillaServerSocketFactory.h create mode 100644 libjava/javax/net/VanillaSocketFactory.h create mode 100644 libjava/javax/net/ssl/CertPathTrustManagerParameters.h create mode 100644 libjava/javax/net/ssl/HandshakeCompletedEvent.h create mode 100644 libjava/javax/net/ssl/HandshakeCompletedListener.h create mode 100644 libjava/javax/net/ssl/HostnameVerifier.h create mode 100644 libjava/javax/net/ssl/HttpsURLConnection.h create mode 100644 libjava/javax/net/ssl/KeyManager.h create mode 100644 libjava/javax/net/ssl/KeyManagerFactory$1.h create mode 100644 libjava/javax/net/ssl/KeyManagerFactory.h create mode 100644 libjava/javax/net/ssl/KeyManagerFactorySpi.h create mode 100644 libjava/javax/net/ssl/KeyStoreBuilderParameters.h create mode 100644 libjava/javax/net/ssl/ManagerFactoryParameters.h create mode 100644 libjava/javax/net/ssl/SSLContext.h create mode 100644 libjava/javax/net/ssl/SSLContextSpi.h create mode 100644 libjava/javax/net/ssl/SSLEngine.h create mode 100644 libjava/javax/net/ssl/SSLEngineResult$HandshakeStatus.h create mode 100644 libjava/javax/net/ssl/SSLEngineResult$Status.h create mode 100644 libjava/javax/net/ssl/SSLEngineResult.h create mode 100644 libjava/javax/net/ssl/SSLException.h create mode 100644 libjava/javax/net/ssl/SSLHandshakeException.h create mode 100644 libjava/javax/net/ssl/SSLKeyException.h create mode 100644 libjava/javax/net/ssl/SSLPeerUnverifiedException.h create mode 100644 libjava/javax/net/ssl/SSLPermission.h create mode 100644 libjava/javax/net/ssl/SSLProtocolException.h create mode 100644 libjava/javax/net/ssl/SSLServerSocket.h create mode 100644 libjava/javax/net/ssl/SSLServerSocketFactory.h create mode 100644 libjava/javax/net/ssl/SSLSession.h create mode 100644 libjava/javax/net/ssl/SSLSessionBindingEvent.h create mode 100644 libjava/javax/net/ssl/SSLSessionBindingListener.h create mode 100644 libjava/javax/net/ssl/SSLSessionContext.h create mode 100644 libjava/javax/net/ssl/SSLSocket.h create mode 100644 libjava/javax/net/ssl/SSLSocketFactory.h create mode 100644 libjava/javax/net/ssl/TrivialHostnameVerifier.h create mode 100644 libjava/javax/net/ssl/TrustManager.h create mode 100644 libjava/javax/net/ssl/TrustManagerFactory$1.h create mode 100644 libjava/javax/net/ssl/TrustManagerFactory.h create mode 100644 libjava/javax/net/ssl/TrustManagerFactorySpi.h create mode 100644 libjava/javax/net/ssl/X509ExtendedKeyManager.h create mode 100644 libjava/javax/net/ssl/X509KeyManager.h create mode 100644 libjava/javax/net/ssl/X509TrustManager.h create mode 100644 libjava/javax/print/AttributeException.h create mode 100644 libjava/javax/print/CancelablePrintJob.h create mode 100644 libjava/javax/print/Doc.h create mode 100644 libjava/javax/print/DocFlavor$BYTE_ARRAY.h create mode 100644 libjava/javax/print/DocFlavor$CHAR_ARRAY.h create mode 100644 libjava/javax/print/DocFlavor$INPUT_STREAM.h create mode 100644 libjava/javax/print/DocFlavor$READER.h create mode 100644 libjava/javax/print/DocFlavor$SERVICE_FORMATTED.h create mode 100644 libjava/javax/print/DocFlavor$STRING.h create mode 100644 libjava/javax/print/DocFlavor$URL.h create mode 100644 libjava/javax/print/DocFlavor.h create mode 100644 libjava/javax/print/DocPrintJob.h create mode 100644 libjava/javax/print/FlavorException.h create mode 100644 libjava/javax/print/MultiDoc.h create mode 100644 libjava/javax/print/MultiDocPrintJob.h create mode 100644 libjava/javax/print/MultiDocPrintService.h create mode 100644 libjava/javax/print/PrintException.h create mode 100644 libjava/javax/print/PrintService.h create mode 100644 libjava/javax/print/PrintServiceLookup.h create mode 100644 libjava/javax/print/ServiceUI.h create mode 100644 libjava/javax/print/ServiceUIFactory.h create mode 100644 libjava/javax/print/SimpleDoc.h create mode 100644 libjava/javax/print/StreamPrintService.h create mode 100644 libjava/javax/print/StreamPrintServiceFactory.h create mode 100644 libjava/javax/print/URIException.h create mode 100644 libjava/javax/print/attribute/Attribute.h create mode 100644 libjava/javax/print/attribute/AttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.h create mode 100644 libjava/javax/print/attribute/AttributeSetUtilities.h create mode 100644 libjava/javax/print/attribute/DateTimeSyntax.h create mode 100644 libjava/javax/print/attribute/DocAttribute.h create mode 100644 libjava/javax/print/attribute/DocAttributeSet.h create mode 100644 libjava/javax/print/attribute/EnumSyntax.h create mode 100644 libjava/javax/print/attribute/HashAttributeSet.h create mode 100644 libjava/javax/print/attribute/HashDocAttributeSet.h create mode 100644 libjava/javax/print/attribute/HashPrintJobAttributeSet.h create mode 100644 libjava/javax/print/attribute/HashPrintRequestAttributeSet.h create mode 100644 libjava/javax/print/attribute/HashPrintServiceAttributeSet.h create mode 100644 libjava/javax/print/attribute/IntegerSyntax.h create mode 100644 libjava/javax/print/attribute/PrintJobAttribute.h create mode 100644 libjava/javax/print/attribute/PrintJobAttributeSet.h create mode 100644 libjava/javax/print/attribute/PrintRequestAttribute.h create mode 100644 libjava/javax/print/attribute/PrintRequestAttributeSet.h create mode 100644 libjava/javax/print/attribute/PrintServiceAttribute.h create mode 100644 libjava/javax/print/attribute/PrintServiceAttributeSet.h create mode 100644 libjava/javax/print/attribute/ResolutionSyntax.h create mode 100644 libjava/javax/print/attribute/SetOfIntegerSyntax$1.h create mode 100644 libjava/javax/print/attribute/SetOfIntegerSyntax.h create mode 100644 libjava/javax/print/attribute/Size2DSyntax.h create mode 100644 libjava/javax/print/attribute/SupportedValuesAttribute.h create mode 100644 libjava/javax/print/attribute/TextSyntax.h create mode 100644 libjava/javax/print/attribute/URISyntax.h create mode 100644 libjava/javax/print/attribute/UnmodifiableSetException.h create mode 100644 libjava/javax/print/attribute/standard/Chromaticity.h create mode 100644 libjava/javax/print/attribute/standard/ColorSupported.h create mode 100644 libjava/javax/print/attribute/standard/Compression.h create mode 100644 libjava/javax/print/attribute/standard/Copies.h create mode 100644 libjava/javax/print/attribute/standard/CopiesSupported.h create mode 100644 libjava/javax/print/attribute/standard/DateTimeAtCompleted.h create mode 100644 libjava/javax/print/attribute/standard/DateTimeAtCreation.h create mode 100644 libjava/javax/print/attribute/standard/DateTimeAtProcessing.h create mode 100644 libjava/javax/print/attribute/standard/Destination.h create mode 100644 libjava/javax/print/attribute/standard/DocumentName.h create mode 100644 libjava/javax/print/attribute/standard/Fidelity.h create mode 100644 libjava/javax/print/attribute/standard/Finishings.h create mode 100644 libjava/javax/print/attribute/standard/JobHoldUntil.h create mode 100644 libjava/javax/print/attribute/standard/JobImpressions.h create mode 100644 libjava/javax/print/attribute/standard/JobImpressionsCompleted.h create mode 100644 libjava/javax/print/attribute/standard/JobImpressionsSupported.h create mode 100644 libjava/javax/print/attribute/standard/JobKOctets.h create mode 100644 libjava/javax/print/attribute/standard/JobKOctetsProcessed.h create mode 100644 libjava/javax/print/attribute/standard/JobKOctetsSupported.h create mode 100644 libjava/javax/print/attribute/standard/JobMediaSheets.h create mode 100644 libjava/javax/print/attribute/standard/JobMediaSheetsCompleted.h create mode 100644 libjava/javax/print/attribute/standard/JobMediaSheetsSupported.h create mode 100644 libjava/javax/print/attribute/standard/JobMessageFromOperator.h create mode 100644 libjava/javax/print/attribute/standard/JobName.h create mode 100644 libjava/javax/print/attribute/standard/JobOriginatingUserName.h create mode 100644 libjava/javax/print/attribute/standard/JobPriority.h create mode 100644 libjava/javax/print/attribute/standard/JobPrioritySupported.h create mode 100644 libjava/javax/print/attribute/standard/JobSheets.h create mode 100644 libjava/javax/print/attribute/standard/JobState.h create mode 100644 libjava/javax/print/attribute/standard/JobStateReason.h create mode 100644 libjava/javax/print/attribute/standard/JobStateReasons.h create mode 100644 libjava/javax/print/attribute/standard/Media.h create mode 100644 libjava/javax/print/attribute/standard/MediaName.h create mode 100644 libjava/javax/print/attribute/standard/MediaPrintableArea.h create mode 100644 libjava/javax/print/attribute/standard/MediaSize$Engineering.h create mode 100644 libjava/javax/print/attribute/standard/MediaSize$ISO.h create mode 100644 libjava/javax/print/attribute/standard/MediaSize$JIS.h create mode 100644 libjava/javax/print/attribute/standard/MediaSize$NA.h create mode 100644 libjava/javax/print/attribute/standard/MediaSize$Other.h create mode 100644 libjava/javax/print/attribute/standard/MediaSize.h create mode 100644 libjava/javax/print/attribute/standard/MediaSizeName.h create mode 100644 libjava/javax/print/attribute/standard/MediaTray.h create mode 100644 libjava/javax/print/attribute/standard/MultipleDocumentHandling.h create mode 100644 libjava/javax/print/attribute/standard/NumberOfDocuments.h create mode 100644 libjava/javax/print/attribute/standard/NumberOfInterveningJobs.h create mode 100644 libjava/javax/print/attribute/standard/NumberUp.h create mode 100644 libjava/javax/print/attribute/standard/NumberUpSupported.h create mode 100644 libjava/javax/print/attribute/standard/OrientationRequested.h create mode 100644 libjava/javax/print/attribute/standard/OutputDeviceAssigned.h create mode 100644 libjava/javax/print/attribute/standard/PDLOverrideSupported.h create mode 100644 libjava/javax/print/attribute/standard/PageRanges.h create mode 100644 libjava/javax/print/attribute/standard/PagesPerMinute.h create mode 100644 libjava/javax/print/attribute/standard/PagesPerMinuteColor.h create mode 100644 libjava/javax/print/attribute/standard/PresentationDirection.h create mode 100644 libjava/javax/print/attribute/standard/PrintQuality.h create mode 100644 libjava/javax/print/attribute/standard/PrinterInfo.h create mode 100644 libjava/javax/print/attribute/standard/PrinterIsAcceptingJobs.h create mode 100644 libjava/javax/print/attribute/standard/PrinterLocation.h create mode 100644 libjava/javax/print/attribute/standard/PrinterMakeAndModel.h create mode 100644 libjava/javax/print/attribute/standard/PrinterMessageFromOperator.h create mode 100644 libjava/javax/print/attribute/standard/PrinterMoreInfo.h create mode 100644 libjava/javax/print/attribute/standard/PrinterMoreInfoManufacturer.h create mode 100644 libjava/javax/print/attribute/standard/PrinterName.h create mode 100644 libjava/javax/print/attribute/standard/PrinterResolution.h create mode 100644 libjava/javax/print/attribute/standard/PrinterState.h create mode 100644 libjava/javax/print/attribute/standard/PrinterStateReason.h create mode 100644 libjava/javax/print/attribute/standard/PrinterStateReasons.h create mode 100644 libjava/javax/print/attribute/standard/PrinterURI.h create mode 100644 libjava/javax/print/attribute/standard/QueuedJobCount.h create mode 100644 libjava/javax/print/attribute/standard/ReferenceUriSchemesSupported.h create mode 100644 libjava/javax/print/attribute/standard/RequestingUserName.h create mode 100644 libjava/javax/print/attribute/standard/Severity.h create mode 100644 libjava/javax/print/attribute/standard/SheetCollate.h create mode 100644 libjava/javax/print/attribute/standard/Sides.h create mode 100644 libjava/javax/print/event/PrintEvent.h create mode 100644 libjava/javax/print/event/PrintJobAdapter.h create mode 100644 libjava/javax/print/event/PrintJobAttributeEvent.h create mode 100644 libjava/javax/print/event/PrintJobAttributeListener.h create mode 100644 libjava/javax/print/event/PrintJobEvent.h create mode 100644 libjava/javax/print/event/PrintJobListener.h create mode 100644 libjava/javax/print/event/PrintServiceAttributeEvent.h create mode 100644 libjava/javax/print/event/PrintServiceAttributeListener.h create mode 100644 libjava/javax/rmi/CORBA/ClassDesc.h create mode 100644 libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.h create mode 100644 libjava/javax/rmi/CORBA/Stub.h create mode 100644 libjava/javax/rmi/CORBA/StubDelegate.h create mode 100644 libjava/javax/rmi/CORBA/Tie.h create mode 100644 libjava/javax/rmi/CORBA/Util.h create mode 100644 libjava/javax/rmi/CORBA/UtilDelegate.h create mode 100644 libjava/javax/rmi/CORBA/ValueHandler.h create mode 100644 libjava/javax/rmi/CORBA/ValueHandlerMultiFormat.h create mode 100644 libjava/javax/rmi/PortableRemoteObject.h create mode 100644 libjava/javax/rmi/ssl/SslRMIClientSocketFactory.h create mode 100644 libjava/javax/rmi/ssl/SslRMIServerSocketFactory.h create mode 100644 libjava/javax/security/auth/AuthPermission.h create mode 100644 libjava/javax/security/auth/DestroyFailedException.h create mode 100644 libjava/javax/security/auth/Destroyable.h create mode 100644 libjava/javax/security/auth/Policy.h create mode 100644 libjava/javax/security/auth/PrivateCredentialPermission$CredOwner.h create mode 100644 libjava/javax/security/auth/PrivateCredentialPermission.h create mode 100644 libjava/javax/security/auth/RefreshFailedException.h create mode 100644 libjava/javax/security/auth/Refreshable.h create mode 100644 libjava/javax/security/auth/Subject$SecureSet.h create mode 100644 libjava/javax/security/auth/Subject.h create mode 100644 libjava/javax/security/auth/SubjectDomainCombiner.h create mode 100644 libjava/javax/security/auth/callback/Callback.h create mode 100644 libjava/javax/security/auth/callback/CallbackHandler.h create mode 100644 libjava/javax/security/auth/callback/ChoiceCallback.h create mode 100644 libjava/javax/security/auth/callback/ConfirmationCallback.h create mode 100644 libjava/javax/security/auth/callback/LanguageCallback.h create mode 100644 libjava/javax/security/auth/callback/NameCallback.h create mode 100644 libjava/javax/security/auth/callback/PasswordCallback.h create mode 100644 libjava/javax/security/auth/callback/TextInputCallback.h create mode 100644 libjava/javax/security/auth/callback/TextOutputCallback.h create mode 100644 libjava/javax/security/auth/callback/UnsupportedCallbackException.h create mode 100644 libjava/javax/security/auth/kerberos/DelegationPermission$1.h create mode 100644 libjava/javax/security/auth/kerberos/DelegationPermission.h create mode 100644 libjava/javax/security/auth/kerberos/KerberosKey.h create mode 100644 libjava/javax/security/auth/kerberos/KerberosPrincipal.h create mode 100644 libjava/javax/security/auth/kerberos/KerberosTicket.h create mode 100644 libjava/javax/security/auth/kerberos/KeyImpl.h create mode 100644 libjava/javax/security/auth/kerberos/ServicePermission$1.h create mode 100644 libjava/javax/security/auth/kerberos/ServicePermission.h create mode 100644 libjava/javax/security/auth/login/AccountException.h create mode 100644 libjava/javax/security/auth/login/AccountExpiredException.h create mode 100644 libjava/javax/security/auth/login/AccountLockedException.h create mode 100644 libjava/javax/security/auth/login/AccountNotFoundException.h create mode 100644 libjava/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.h create mode 100644 libjava/javax/security/auth/login/AppConfigurationEntry.h create mode 100644 libjava/javax/security/auth/login/Configuration$1.h create mode 100644 libjava/javax/security/auth/login/Configuration.h create mode 100644 libjava/javax/security/auth/login/CredentialException.h create mode 100644 libjava/javax/security/auth/login/CredentialExpiredException.h create mode 100644 libjava/javax/security/auth/login/CredentialNotFoundException.h create mode 100644 libjava/javax/security/auth/login/FailedLoginException.h create mode 100644 libjava/javax/security/auth/login/LoginContext.h create mode 100644 libjava/javax/security/auth/login/LoginException.h create mode 100644 libjava/javax/security/auth/login/NullConfiguration.h create mode 100644 libjava/javax/security/auth/spi/LoginModule.h create mode 100644 libjava/javax/security/auth/x500/X500Principal.h create mode 100644 libjava/javax/security/auth/x500/X500PrivateCredential.h create mode 100644 libjava/javax/security/cert/Certificate.h create mode 100644 libjava/javax/security/cert/CertificateEncodingException.h create mode 100644 libjava/javax/security/cert/CertificateException.h create mode 100644 libjava/javax/security/cert/CertificateExpiredException.h create mode 100644 libjava/javax/security/cert/CertificateNotYetValidException.h create mode 100644 libjava/javax/security/cert/CertificateParsingException.h create mode 100644 libjava/javax/security/cert/X509CertBridge.h create mode 100644 libjava/javax/security/cert/X509Certificate.h create mode 100644 libjava/javax/security/sasl/AuthenticationException.h create mode 100644 libjava/javax/security/sasl/AuthorizeCallback.h create mode 100644 libjava/javax/security/sasl/RealmCallback.h create mode 100644 libjava/javax/security/sasl/RealmChoiceCallback.h create mode 100644 libjava/javax/security/sasl/Sasl.h create mode 100644 libjava/javax/security/sasl/SaslClient.h create mode 100644 libjava/javax/security/sasl/SaslClientFactory.h create mode 100644 libjava/javax/security/sasl/SaslException.h create mode 100644 libjava/javax/security/sasl/SaslServer.h create mode 100644 libjava/javax/security/sasl/SaslServerFactory.h create mode 100644 libjava/javax/sound/midi/ControllerEventListener.h create mode 100644 libjava/javax/sound/midi/Instrument.h create mode 100644 libjava/javax/sound/midi/InvalidMidiDataException.h create mode 100644 libjava/javax/sound/midi/MetaEventListener.h create mode 100644 libjava/javax/sound/midi/MetaMessage.h create mode 100644 libjava/javax/sound/midi/MidiChannel.h create mode 100644 libjava/javax/sound/midi/MidiDevice$Info.h create mode 100644 libjava/javax/sound/midi/MidiDevice.h create mode 100644 libjava/javax/sound/midi/MidiEvent.h create mode 100644 libjava/javax/sound/midi/MidiFileFormat.h create mode 100644 libjava/javax/sound/midi/MidiMessage.h create mode 100644 libjava/javax/sound/midi/MidiSystem.h create mode 100644 libjava/javax/sound/midi/MidiUnavailableException.h create mode 100644 libjava/javax/sound/midi/Patch.h create mode 100644 libjava/javax/sound/midi/Receiver.h create mode 100644 libjava/javax/sound/midi/Sequence.h create mode 100644 libjava/javax/sound/midi/Sequencer$SyncMode.h create mode 100644 libjava/javax/sound/midi/Sequencer.h create mode 100644 libjava/javax/sound/midi/ShortMessage.h create mode 100644 libjava/javax/sound/midi/Soundbank.h create mode 100644 libjava/javax/sound/midi/SoundbankResource.h create mode 100644 libjava/javax/sound/midi/Synthesizer.h create mode 100644 libjava/javax/sound/midi/SysexMessage.h create mode 100644 libjava/javax/sound/midi/Track.h create mode 100644 libjava/javax/sound/midi/Transmitter.h create mode 100644 libjava/javax/sound/midi/VoiceStatus.h create mode 100644 libjava/javax/sound/midi/spi/MidiDeviceProvider.h create mode 100644 libjava/javax/sound/midi/spi/MidiFileReader.h create mode 100644 libjava/javax/sound/midi/spi/MidiFileWriter.h create mode 100644 libjava/javax/sound/midi/spi/SoundbankReader.h create mode 100644 libjava/javax/sound/sampled/AudioFileFormat$Type.h create mode 100644 libjava/javax/sound/sampled/AudioFileFormat.h create mode 100644 libjava/javax/sound/sampled/AudioFormat$Encoding.h create mode 100644 libjava/javax/sound/sampled/AudioFormat.h create mode 100644 libjava/javax/sound/sampled/AudioInputStream$TargetInputStream.h create mode 100644 libjava/javax/sound/sampled/AudioInputStream.h create mode 100644 libjava/javax/sound/sampled/AudioPermission.h create mode 100644 libjava/javax/sound/sampled/AudioSystem.h create mode 100644 libjava/javax/sound/sampled/BooleanControl$Type.h create mode 100644 libjava/javax/sound/sampled/BooleanControl.h create mode 100644 libjava/javax/sound/sampled/Clip.h create mode 100644 libjava/javax/sound/sampled/CompoundControl$Type.h create mode 100644 libjava/javax/sound/sampled/CompoundControl.h create mode 100644 libjava/javax/sound/sampled/Control$Type.h create mode 100644 libjava/javax/sound/sampled/Control.h create mode 100644 libjava/javax/sound/sampled/DataLine$Info.h create mode 100644 libjava/javax/sound/sampled/DataLine.h create mode 100644 libjava/javax/sound/sampled/EnumControl$Type.h create mode 100644 libjava/javax/sound/sampled/EnumControl.h create mode 100644 libjava/javax/sound/sampled/FloatControl$Type.h create mode 100644 libjava/javax/sound/sampled/FloatControl.h create mode 100644 libjava/javax/sound/sampled/Line$Info.h create mode 100644 libjava/javax/sound/sampled/Line.h create mode 100644 libjava/javax/sound/sampled/LineEvent$Type.h create mode 100644 libjava/javax/sound/sampled/LineEvent.h create mode 100644 libjava/javax/sound/sampled/LineListener.h create mode 100644 libjava/javax/sound/sampled/LineUnavailableException.h create mode 100644 libjava/javax/sound/sampled/Mixer$Info.h create mode 100644 libjava/javax/sound/sampled/Mixer.h create mode 100644 libjava/javax/sound/sampled/Port$Info.h create mode 100644 libjava/javax/sound/sampled/Port.h create mode 100644 libjava/javax/sound/sampled/ReverbType.h create mode 100644 libjava/javax/sound/sampled/SourceDataLine.h create mode 100644 libjava/javax/sound/sampled/TargetDataLine.h create mode 100644 libjava/javax/sound/sampled/UnsupportedAudioFileException.h create mode 100644 libjava/javax/sound/sampled/spi/AudioFileReader.h create mode 100644 libjava/javax/sound/sampled/spi/AudioFileWriter.h create mode 100644 libjava/javax/sound/sampled/spi/FormatConversionProvider.h create mode 100644 libjava/javax/sound/sampled/spi/MixerProvider.h create mode 100644 libjava/javax/sql/ConnectionEvent.h create mode 100644 libjava/javax/sql/ConnectionEventListener.h create mode 100644 libjava/javax/sql/ConnectionPoolDataSource.h create mode 100644 libjava/javax/sql/DataSource.h create mode 100644 libjava/javax/sql/PooledConnection.h create mode 100644 libjava/javax/sql/RowSet.h create mode 100644 libjava/javax/sql/RowSetEvent.h create mode 100644 libjava/javax/sql/RowSetInternal.h create mode 100644 libjava/javax/sql/RowSetListener.h create mode 100644 libjava/javax/sql/RowSetMetaData.h create mode 100644 libjava/javax/sql/RowSetReader.h create mode 100644 libjava/javax/sql/RowSetWriter.h create mode 100644 libjava/javax/sql/XAConnection.h create mode 100644 libjava/javax/sql/XADataSource.h create mode 100644 libjava/javax/swing/AbstractAction.h create mode 100644 libjava/javax/swing/AbstractButton$1.h create mode 100644 libjava/javax/swing/AbstractButton$2.h create mode 100644 libjava/javax/swing/AbstractButton$3.h create mode 100644 libjava/javax/swing/AbstractButton$AccessibleAbstractButton.h create mode 100644 libjava/javax/swing/AbstractButton$ButtonChangeListener.h create mode 100644 libjava/javax/swing/AbstractButton$EventHandler.h create mode 100644 libjava/javax/swing/AbstractButton.h create mode 100644 libjava/javax/swing/AbstractCellEditor.h create mode 100644 libjava/javax/swing/AbstractListModel.h create mode 100644 libjava/javax/swing/AbstractSpinnerModel.h create mode 100644 libjava/javax/swing/Action.h create mode 100644 libjava/javax/swing/ActionMap.h create mode 100644 libjava/javax/swing/BorderFactory.h create mode 100644 libjava/javax/swing/BoundedRangeModel.h create mode 100644 libjava/javax/swing/Box$AccessibleBox.h create mode 100644 libjava/javax/swing/Box$Filler$AccessibleBoxFiller.h create mode 100644 libjava/javax/swing/Box$Filler.h create mode 100644 libjava/javax/swing/Box.h create mode 100644 libjava/javax/swing/BoxLayout.h create mode 100644 libjava/javax/swing/ButtonGroup.h create mode 100644 libjava/javax/swing/ButtonModel.h create mode 100644 libjava/javax/swing/CellEditor.h create mode 100644 libjava/javax/swing/CellRendererPane$AccessibleCellRendererPane.h create mode 100644 libjava/javax/swing/CellRendererPane.h create mode 100644 libjava/javax/swing/ComboBoxEditor.h create mode 100644 libjava/javax/swing/ComboBoxModel.h create mode 100644 libjava/javax/swing/CompatibilityFocusTraversalPolicy.h create mode 100644 libjava/javax/swing/ComponentInputMap.h create mode 100644 libjava/javax/swing/DebugGraphics.h create mode 100644 libjava/javax/swing/DefaultBoundedRangeModel.h create mode 100644 libjava/javax/swing/DefaultButtonModel.h create mode 100644 libjava/javax/swing/DefaultCellEditor$EditorDelegate.h create mode 100644 libjava/javax/swing/DefaultCellEditor$JCheckBoxDelegate.h create mode 100644 libjava/javax/swing/DefaultCellEditor$JComboBoxDelegate.h create mode 100644 libjava/javax/swing/DefaultCellEditor$JTextFieldDelegate.h create mode 100644 libjava/javax/swing/DefaultCellEditor.h create mode 100644 libjava/javax/swing/DefaultComboBoxModel.h create mode 100644 libjava/javax/swing/DefaultDesktopManager.h create mode 100644 libjava/javax/swing/DefaultFocusManager.h create mode 100644 libjava/javax/swing/DefaultListCellRenderer$UIResource.h create mode 100644 libjava/javax/swing/DefaultListCellRenderer.h create mode 100644 libjava/javax/swing/DefaultListModel.h create mode 100644 libjava/javax/swing/DefaultListSelectionModel.h create mode 100644 libjava/javax/swing/DefaultSingleSelectionModel.h create mode 100644 libjava/javax/swing/DesktopManager.h create mode 100644 libjava/javax/swing/FocusManager$WrappingFocusManager.h create mode 100644 libjava/javax/swing/FocusManager.h create mode 100644 libjava/javax/swing/GrayFilter.h create mode 100644 libjava/javax/swing/Icon.h create mode 100644 libjava/javax/swing/ImageIcon$1.h create mode 100644 libjava/javax/swing/ImageIcon$AccessibleImageIcon.h create mode 100644 libjava/javax/swing/ImageIcon.h create mode 100644 libjava/javax/swing/InputMap.h create mode 100644 libjava/javax/swing/InputVerifier.h create mode 100644 libjava/javax/swing/InternalFrameFocusTraversalPolicy.h create mode 100644 libjava/javax/swing/JApplet$AccessibleJApplet.h create mode 100644 libjava/javax/swing/JApplet.h create mode 100644 libjava/javax/swing/JButton$AccessibleJButton.h create mode 100644 libjava/javax/swing/JButton.h create mode 100644 libjava/javax/swing/JCheckBox$AccessibleJCheckBox.h create mode 100644 libjava/javax/swing/JCheckBox.h create mode 100644 libjava/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.h create mode 100644 libjava/javax/swing/JCheckBoxMenuItem.h create mode 100644 libjava/javax/swing/JColorChooser$AccessibleJColorChooser.h create mode 100644 libjava/javax/swing/JColorChooser$DefaultOKCancelListener.h create mode 100644 libjava/javax/swing/JColorChooser$DefaultResetListener.h create mode 100644 libjava/javax/swing/JColorChooser.h create mode 100644 libjava/javax/swing/JComboBox$1.h create mode 100644 libjava/javax/swing/JComboBox$AccessibleJComboBox.h create mode 100644 libjava/javax/swing/JComboBox$DefaultKeySelectionManager.h create mode 100644 libjava/javax/swing/JComboBox$KeySelectionManager.h create mode 100644 libjava/javax/swing/JComboBox.h create mode 100644 libjava/javax/swing/JComponent$1.h create mode 100644 libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.h create mode 100644 libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.h create mode 100644 libjava/javax/swing/JComponent$AccessibleJComponent.h create mode 100644 libjava/javax/swing/JComponent$ActionListenerProxy.h create mode 100644 libjava/javax/swing/JComponent.h create mode 100644 libjava/javax/swing/JDesktopPane$AccessibleJDesktopPane.h create mode 100644 libjava/javax/swing/JDesktopPane.h create mode 100644 libjava/javax/swing/JDialog$AccessibleJDialog.h create mode 100644 libjava/javax/swing/JDialog.h create mode 100644 libjava/javax/swing/JEditorPane$1.h create mode 100644 libjava/javax/swing/JEditorPane$2.h create mode 100644 libjava/javax/swing/JEditorPane$AccessibleJEditorPane.h create mode 100644 libjava/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.h create mode 100644 libjava/javax/swing/JEditorPane$EditorKitMapping.h create mode 100644 libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.h create mode 100644 libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.h create mode 100644 libjava/javax/swing/JEditorPane$PageLoader.h create mode 100644 libjava/javax/swing/JEditorPane$PageStream.h create mode 100644 libjava/javax/swing/JEditorPane$PlainEditorKit.h create mode 100644 libjava/javax/swing/JEditorPane.h create mode 100644 libjava/javax/swing/JFileChooser$1.h create mode 100644 libjava/javax/swing/JFileChooser$AccessibleJFileChooser.h create mode 100644 libjava/javax/swing/JFileChooser.h create mode 100644 libjava/javax/swing/JFormattedTextField$AbstractFormatter.h create mode 100644 libjava/javax/swing/JFormattedTextField$AbstractFormatterFactory.h create mode 100644 libjava/javax/swing/JFormattedTextField.h create mode 100644 libjava/javax/swing/JFrame$AccessibleJFrame.h create mode 100644 libjava/javax/swing/JFrame.h create mode 100644 libjava/javax/swing/JInternalFrame$AccessibleJInternalFrame.h create mode 100644 libjava/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.h create mode 100644 libjava/javax/swing/JInternalFrame$JDesktopIcon.h create mode 100644 libjava/javax/swing/JInternalFrame.h create mode 100644 libjava/javax/swing/JLabel$AccessibleJLabel.h create mode 100644 libjava/javax/swing/JLabel.h create mode 100644 libjava/javax/swing/JLayeredPane$AccessibleJLayeredPane.h create mode 100644 libjava/javax/swing/JLayeredPane.h create mode 100644 libjava/javax/swing/JList$1.h create mode 100644 libjava/javax/swing/JList$2.h create mode 100644 libjava/javax/swing/JList$3.h create mode 100644 libjava/javax/swing/JList$AccessibleJList$AccessibleJListChild.h create mode 100644 libjava/javax/swing/JList$AccessibleJList.h create mode 100644 libjava/javax/swing/JList$ListListener.h create mode 100644 libjava/javax/swing/JList.h create mode 100644 libjava/javax/swing/JMenu$AccessibleJMenu.h create mode 100644 libjava/javax/swing/JMenu$ActionChangedListener.h create mode 100644 libjava/javax/swing/JMenu$MenuChangeListener.h create mode 100644 libjava/javax/swing/JMenu$WinListener.h create mode 100644 libjava/javax/swing/JMenu.h create mode 100644 libjava/javax/swing/JMenuBar$AccessibleJMenuBar.h create mode 100644 libjava/javax/swing/JMenuBar.h create mode 100644 libjava/javax/swing/JMenuItem$1.h create mode 100644 libjava/javax/swing/JMenuItem$AccessibleJMenuItem.h create mode 100644 libjava/javax/swing/JMenuItem.h create mode 100644 libjava/javax/swing/JOptionPane$1.h create mode 100644 libjava/javax/swing/JOptionPane$2.h create mode 100644 libjava/javax/swing/JOptionPane$AccessibleJOptionPane.h create mode 100644 libjava/javax/swing/JOptionPane$ValuePropertyHandler.h create mode 100644 libjava/javax/swing/JOptionPane.h create mode 100644 libjava/javax/swing/JPanel$AccessibleJPanel.h create mode 100644 libjava/javax/swing/JPanel.h create mode 100644 libjava/javax/swing/JPasswordField$AccessibleJPasswordField.h create mode 100644 libjava/javax/swing/JPasswordField.h create mode 100644 libjava/javax/swing/JPopupMenu$1.h create mode 100644 libjava/javax/swing/JPopupMenu$2.h create mode 100644 libjava/javax/swing/JPopupMenu$AccessibleJPopupMenu.h create mode 100644 libjava/javax/swing/JPopupMenu$ActionChangeListener.h create mode 100644 libjava/javax/swing/JPopupMenu$Separator.h create mode 100644 libjava/javax/swing/JPopupMenu.h create mode 100644 libjava/javax/swing/JProgressBar$1.h create mode 100644 libjava/javax/swing/JProgressBar$AccessibleJProgressBar.h create mode 100644 libjava/javax/swing/JProgressBar.h create mode 100644 libjava/javax/swing/JRadioButton$AccessibleJRadioButton.h create mode 100644 libjava/javax/swing/JRadioButton.h create mode 100644 libjava/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.h create mode 100644 libjava/javax/swing/JRadioButtonMenuItem.h create mode 100644 libjava/javax/swing/JRootPane$AccessibleJRootPane.h create mode 100644 libjava/javax/swing/JRootPane$RootLayout.h create mode 100644 libjava/javax/swing/JRootPane.h create mode 100644 libjava/javax/swing/JScrollBar$AccessibleJScrollBar.h create mode 100644 libjava/javax/swing/JScrollBar$ScrollBarChangeListener.h create mode 100644 libjava/javax/swing/JScrollBar.h create mode 100644 libjava/javax/swing/JScrollPane$AccessibleJScrollPane.h create mode 100644 libjava/javax/swing/JScrollPane$ScrollBar.h create mode 100644 libjava/javax/swing/JScrollPane.h create mode 100644 libjava/javax/swing/JSeparator$AccessibleJSeparator.h create mode 100644 libjava/javax/swing/JSeparator.h create mode 100644 libjava/javax/swing/JSlider$1.h create mode 100644 libjava/javax/swing/JSlider$AccessibleJSlider.h create mode 100644 libjava/javax/swing/JSlider$LabelUIResource.h create mode 100644 libjava/javax/swing/JSlider.h create mode 100644 libjava/javax/swing/JSpinner$DateEditor.h create mode 100644 libjava/javax/swing/JSpinner$DateEditorFormatter.h create mode 100644 libjava/javax/swing/JSpinner$DefaultEditor.h create mode 100644 libjava/javax/swing/JSpinner$ListEditor.h create mode 100644 libjava/javax/swing/JSpinner$ModelListener.h create mode 100644 libjava/javax/swing/JSpinner$NumberEditor.h create mode 100644 libjava/javax/swing/JSpinner$NumberEditorFormatter.h create mode 100644 libjava/javax/swing/JSpinner.h create mode 100644 libjava/javax/swing/JSplitPane$AccessibleJSplitPane.h create mode 100644 libjava/javax/swing/JSplitPane.h create mode 100644 libjava/javax/swing/JTabbedPane$AccessibleJTabbedPane.h create mode 100644 libjava/javax/swing/JTabbedPane$ModelListener.h create mode 100644 libjava/javax/swing/JTabbedPane$Page.h create mode 100644 libjava/javax/swing/JTabbedPane.h create mode 100644 libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.h create mode 100644 libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.h create mode 100644 libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.h create mode 100644 libjava/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.h create mode 100644 libjava/javax/swing/JTable$AccessibleJTable.h create mode 100644 libjava/javax/swing/JTable$BooleanCellRenderer.h create mode 100644 libjava/javax/swing/JTable$DateCellRenderer.h create mode 100644 libjava/javax/swing/JTable$DoubleCellRenderer.h create mode 100644 libjava/javax/swing/JTable$FloatCellRenderer.h create mode 100644 libjava/javax/swing/JTable$IconCellRenderer.h create mode 100644 libjava/javax/swing/JTable$NumberCellRenderer.h create mode 100644 libjava/javax/swing/JTable$TableColumnPropertyChangeHandler.h create mode 100644 libjava/javax/swing/JTable$TableTextField.h create mode 100644 libjava/javax/swing/JTable.h create mode 100644 libjava/javax/swing/JTextArea$AccessibleJTextArea.h create mode 100644 libjava/javax/swing/JTextArea.h create mode 100644 libjava/javax/swing/JTextField$1.h create mode 100644 libjava/javax/swing/JTextField$2.h create mode 100644 libjava/javax/swing/JTextField$AccessibleJTextField.h create mode 100644 libjava/javax/swing/JTextField.h create mode 100644 libjava/javax/swing/JTextPane.h create mode 100644 libjava/javax/swing/JToggleButton$AccessibleJToggleButton.h create mode 100644 libjava/javax/swing/JToggleButton$ToggleButtonModel.h create mode 100644 libjava/javax/swing/JToggleButton.h create mode 100644 libjava/javax/swing/JToolBar$AccessibleJToolBar.h create mode 100644 libjava/javax/swing/JToolBar$DefaultToolBarLayout.h create mode 100644 libjava/javax/swing/JToolBar$Separator.h create mode 100644 libjava/javax/swing/JToolBar.h create mode 100644 libjava/javax/swing/JToolTip$AccessibleJToolTip.h create mode 100644 libjava/javax/swing/JToolTip.h create mode 100644 libjava/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.h create mode 100644 libjava/javax/swing/JTree$AccessibleJTree.h create mode 100644 libjava/javax/swing/JTree$DynamicUtilTreeNode.h create mode 100644 libjava/javax/swing/JTree$EmptySelectionModel.h create mode 100644 libjava/javax/swing/JTree$TreeModelHandler.h create mode 100644 libjava/javax/swing/JTree$TreeSelectionRedirector.h create mode 100644 libjava/javax/swing/JTree.h create mode 100644 libjava/javax/swing/JViewport$AccessibleJViewport.h create mode 100644 libjava/javax/swing/JViewport$ViewListener.h create mode 100644 libjava/javax/swing/JViewport.h create mode 100644 libjava/javax/swing/JWindow$AccessibleJWindow.h create mode 100644 libjava/javax/swing/JWindow.h create mode 100644 libjava/javax/swing/KeyStroke.h create mode 100644 libjava/javax/swing/KeyboardManager.h create mode 100644 libjava/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.h create mode 100644 libjava/javax/swing/LayoutFocusTraversalPolicy.h create mode 100644 libjava/javax/swing/ListCellRenderer.h create mode 100644 libjava/javax/swing/ListModel.h create mode 100644 libjava/javax/swing/ListSelectionModel.h create mode 100644 libjava/javax/swing/LookAndFeel$1.h create mode 100644 libjava/javax/swing/LookAndFeel.h create mode 100644 libjava/javax/swing/MenuElement.h create mode 100644 libjava/javax/swing/MenuSelectionManager.h create mode 100644 libjava/javax/swing/MutableComboBoxModel.h create mode 100644 libjava/javax/swing/OverlayLayout.h create mode 100644 libjava/javax/swing/Popup$JWindowPopup.h create mode 100644 libjava/javax/swing/Popup$LightweightPopup.h create mode 100644 libjava/javax/swing/Popup.h create mode 100644 libjava/javax/swing/PopupFactory.h create mode 100644 libjava/javax/swing/ProgressMonitor$1.h create mode 100644 libjava/javax/swing/ProgressMonitor$TimerListener.h create mode 100644 libjava/javax/swing/ProgressMonitor.h create mode 100644 libjava/javax/swing/ProgressMonitorInputStream.h create mode 100644 libjava/javax/swing/Renderer.h create mode 100644 libjava/javax/swing/RepaintManager$RepaintWorker.h create mode 100644 libjava/javax/swing/RepaintManager$RepaintWorkerEvent.h create mode 100644 libjava/javax/swing/RepaintManager.h create mode 100644 libjava/javax/swing/RootPaneContainer.h create mode 100644 libjava/javax/swing/ScrollPaneConstants.h create mode 100644 libjava/javax/swing/ScrollPaneLayout$UIResource.h create mode 100644 libjava/javax/swing/ScrollPaneLayout.h create mode 100644 libjava/javax/swing/Scrollable.h create mode 100644 libjava/javax/swing/SingleSelectionModel.h create mode 100644 libjava/javax/swing/SizeRequirements.h create mode 100644 libjava/javax/swing/SizeSequence.h create mode 100644 libjava/javax/swing/SortingFocusTraversalPolicy.h create mode 100644 libjava/javax/swing/SpinnerDateModel.h create mode 100644 libjava/javax/swing/SpinnerListModel.h create mode 100644 libjava/javax/swing/SpinnerModel.h create mode 100644 libjava/javax/swing/SpinnerNumberModel.h create mode 100644 libjava/javax/swing/Spring$1.h create mode 100644 libjava/javax/swing/Spring$2.h create mode 100644 libjava/javax/swing/Spring$3.h create mode 100644 libjava/javax/swing/Spring$AddSpring.h create mode 100644 libjava/javax/swing/Spring$MaxSpring.h create mode 100644 libjava/javax/swing/Spring$MinusSpring.h create mode 100644 libjava/javax/swing/Spring$SimpleSpring.h create mode 100644 libjava/javax/swing/Spring.h create mode 100644 libjava/javax/swing/SpringLayout$Constraints.h create mode 100644 libjava/javax/swing/SpringLayout$DeferredDimension.h create mode 100644 libjava/javax/swing/SpringLayout$DeferredHeight.h create mode 100644 libjava/javax/swing/SpringLayout$DeferredSpring.h create mode 100644 libjava/javax/swing/SpringLayout$DeferredWidth.h create mode 100644 libjava/javax/swing/SpringLayout.h create mode 100644 libjava/javax/swing/SwingConstants.h create mode 100644 libjava/javax/swing/SwingUtilities$OwnerFrame.h create mode 100644 libjava/javax/swing/SwingUtilities.h create mode 100644 libjava/javax/swing/Timer$1.h create mode 100644 libjava/javax/swing/Timer$Task.h create mode 100644 libjava/javax/swing/Timer.h create mode 100644 libjava/javax/swing/ToolTipManager$insideTimerAction.h create mode 100644 libjava/javax/swing/ToolTipManager$outsideTimerAction.h create mode 100644 libjava/javax/swing/ToolTipManager$stillInsideTimerAction.h create mode 100644 libjava/javax/swing/ToolTipManager.h create mode 100644 libjava/javax/swing/TransferHandler$PropertyTransferable.h create mode 100644 libjava/javax/swing/TransferHandler$TransferAction.h create mode 100644 libjava/javax/swing/TransferHandler.h create mode 100644 libjava/javax/swing/UIDefaults$1.h create mode 100644 libjava/javax/swing/UIDefaults$2.h create mode 100644 libjava/javax/swing/UIDefaults$3.h create mode 100644 libjava/javax/swing/UIDefaults$4.h create mode 100644 libjava/javax/swing/UIDefaults$ActiveValue.h create mode 100644 libjava/javax/swing/UIDefaults$LazyInputMap.h create mode 100644 libjava/javax/swing/UIDefaults$LazyValue.h create mode 100644 libjava/javax/swing/UIDefaults$ProxyLazyValue.h create mode 100644 libjava/javax/swing/UIDefaults.h create mode 100644 libjava/javax/swing/UIManager$LookAndFeelInfo.h create mode 100644 libjava/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.h create mode 100644 libjava/javax/swing/UIManager$MultiplexUIDefaults.h create mode 100644 libjava/javax/swing/UIManager.h create mode 100644 libjava/javax/swing/UnsupportedLookAndFeelException.h create mode 100644 libjava/javax/swing/ViewportLayout.h create mode 100644 libjava/javax/swing/WindowConstants.h create mode 100644 libjava/javax/swing/border/AbstractBorder.h create mode 100644 libjava/javax/swing/border/BevelBorder.h create mode 100644 libjava/javax/swing/border/Border.h create mode 100644 libjava/javax/swing/border/CompoundBorder.h create mode 100644 libjava/javax/swing/border/EmptyBorder.h create mode 100644 libjava/javax/swing/border/EtchedBorder.h create mode 100644 libjava/javax/swing/border/LineBorder.h create mode 100644 libjava/javax/swing/border/MatteBorder.h create mode 100644 libjava/javax/swing/border/SoftBevelBorder.h create mode 100644 libjava/javax/swing/border/TitledBorder.h create mode 100644 libjava/javax/swing/colorchooser/AbstractColorChooserPanel.h create mode 100644 libjava/javax/swing/colorchooser/ColorChooserComponentFactory.h create mode 100644 libjava/javax/swing/colorchooser/ColorSelectionModel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultColorSelectionModel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$1.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$2.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.h create mode 100644 libjava/javax/swing/colorchooser/DefaultHSBChooserPanel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.h create mode 100644 libjava/javax/swing/colorchooser/DefaultPreviewPanel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.h create mode 100644 libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.h create mode 100644 libjava/javax/swing/colorchooser/DefaultRGBChooserPanel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.h create mode 100644 libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel.h create mode 100644 libjava/javax/swing/event/AncestorEvent.h create mode 100644 libjava/javax/swing/event/AncestorListener.h create mode 100644 libjava/javax/swing/event/CaretEvent.h create mode 100644 libjava/javax/swing/event/CaretListener.h create mode 100644 libjava/javax/swing/event/CellEditorListener.h create mode 100644 libjava/javax/swing/event/ChangeEvent.h create mode 100644 libjava/javax/swing/event/ChangeListener.h create mode 100644 libjava/javax/swing/event/DocumentEvent$ElementChange.h create mode 100644 libjava/javax/swing/event/DocumentEvent$EventType.h create mode 100644 libjava/javax/swing/event/DocumentEvent.h create mode 100644 libjava/javax/swing/event/DocumentListener.h create mode 100644 libjava/javax/swing/event/EventListenerList.h create mode 100644 libjava/javax/swing/event/HyperlinkEvent$EventType.h create mode 100644 libjava/javax/swing/event/HyperlinkEvent.h create mode 100644 libjava/javax/swing/event/HyperlinkListener.h create mode 100644 libjava/javax/swing/event/InternalFrameAdapter.h create mode 100644 libjava/javax/swing/event/InternalFrameEvent.h create mode 100644 libjava/javax/swing/event/InternalFrameListener.h create mode 100644 libjava/javax/swing/event/ListDataEvent.h create mode 100644 libjava/javax/swing/event/ListDataListener.h create mode 100644 libjava/javax/swing/event/ListSelectionEvent.h create mode 100644 libjava/javax/swing/event/ListSelectionListener.h create mode 100644 libjava/javax/swing/event/MenuDragMouseEvent.h create mode 100644 libjava/javax/swing/event/MenuDragMouseListener.h create mode 100644 libjava/javax/swing/event/MenuEvent.h create mode 100644 libjava/javax/swing/event/MenuKeyEvent.h create mode 100644 libjava/javax/swing/event/MenuKeyListener.h create mode 100644 libjava/javax/swing/event/MenuListener.h create mode 100644 libjava/javax/swing/event/MouseInputAdapter.h create mode 100644 libjava/javax/swing/event/MouseInputListener.h create mode 100644 libjava/javax/swing/event/PopupMenuEvent.h create mode 100644 libjava/javax/swing/event/PopupMenuListener.h create mode 100644 libjava/javax/swing/event/SwingPropertyChangeSupport.h create mode 100644 libjava/javax/swing/event/TableColumnModelEvent.h create mode 100644 libjava/javax/swing/event/TableColumnModelListener.h create mode 100644 libjava/javax/swing/event/TableModelEvent.h create mode 100644 libjava/javax/swing/event/TableModelListener.h create mode 100644 libjava/javax/swing/event/TreeExpansionEvent.h create mode 100644 libjava/javax/swing/event/TreeExpansionListener.h create mode 100644 libjava/javax/swing/event/TreeModelEvent.h create mode 100644 libjava/javax/swing/event/TreeModelListener.h create mode 100644 libjava/javax/swing/event/TreeSelectionEvent.h create mode 100644 libjava/javax/swing/event/TreeSelectionListener.h create mode 100644 libjava/javax/swing/event/TreeWillExpandListener.h create mode 100644 libjava/javax/swing/event/UndoableEditEvent.h create mode 100644 libjava/javax/swing/event/UndoableEditListener.h create mode 100644 libjava/javax/swing/filechooser/FileFilter.h create mode 100644 libjava/javax/swing/filechooser/FileSystemView.h create mode 100644 libjava/javax/swing/filechooser/FileView.h create mode 100644 libjava/javax/swing/filechooser/UnixFileSystemView.h create mode 100644 libjava/javax/swing/plaf/ActionMapUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$LineBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.h create mode 100644 libjava/javax/swing/plaf/BorderUIResource.h create mode 100644 libjava/javax/swing/plaf/ButtonUI.h create mode 100644 libjava/javax/swing/plaf/ColorChooserUI.h create mode 100644 libjava/javax/swing/plaf/ColorUIResource.h create mode 100644 libjava/javax/swing/plaf/ComboBoxUI.h create mode 100644 libjava/javax/swing/plaf/ComponentInputMapUIResource.h create mode 100644 libjava/javax/swing/plaf/ComponentUI.h create mode 100644 libjava/javax/swing/plaf/DesktopIconUI.h create mode 100644 libjava/javax/swing/plaf/DesktopPaneUI.h create mode 100644 libjava/javax/swing/plaf/DimensionUIResource.h create mode 100644 libjava/javax/swing/plaf/FileChooserUI.h create mode 100644 libjava/javax/swing/plaf/FontUIResource.h create mode 100644 libjava/javax/swing/plaf/IconUIResource.h create mode 100644 libjava/javax/swing/plaf/InputMapUIResource.h create mode 100644 libjava/javax/swing/plaf/InsetsUIResource.h create mode 100644 libjava/javax/swing/plaf/InternalFrameUI.h create mode 100644 libjava/javax/swing/plaf/LabelUI.h create mode 100644 libjava/javax/swing/plaf/ListUI.h create mode 100644 libjava/javax/swing/plaf/MenuBarUI.h create mode 100644 libjava/javax/swing/plaf/MenuItemUI.h create mode 100644 libjava/javax/swing/plaf/OptionPaneUI.h create mode 100644 libjava/javax/swing/plaf/PanelUI.h create mode 100644 libjava/javax/swing/plaf/PopupMenuUI.h create mode 100644 libjava/javax/swing/plaf/ProgressBarUI.h create mode 100644 libjava/javax/swing/plaf/RootPaneUI.h create mode 100644 libjava/javax/swing/plaf/ScrollBarUI.h create mode 100644 libjava/javax/swing/plaf/ScrollPaneUI.h create mode 100644 libjava/javax/swing/plaf/SeparatorUI.h create mode 100644 libjava/javax/swing/plaf/SliderUI.h create mode 100644 libjava/javax/swing/plaf/SpinnerUI.h create mode 100644 libjava/javax/swing/plaf/SplitPaneUI.h create mode 100644 libjava/javax/swing/plaf/TabbedPaneUI.h create mode 100644 libjava/javax/swing/plaf/TableHeaderUI.h create mode 100644 libjava/javax/swing/plaf/TableUI.h create mode 100644 libjava/javax/swing/plaf/TextUI.h create mode 100644 libjava/javax/swing/plaf/ToolBarUI.h create mode 100644 libjava/javax/swing/plaf/ToolTipUI.h create mode 100644 libjava/javax/swing/plaf/TreeUI.h create mode 100644 libjava/javax/swing/plaf/UIResource.h create mode 100644 libjava/javax/swing/plaf/ViewportUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicArrowButton.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$ButtonBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$FieldBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$MarginBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicBorders.h create mode 100644 libjava/javax/swing/plaf/basic/BasicButtonListener$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicButtonListener$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicButtonListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicButtonUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicCheckBoxUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicColorChooserUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicColorChooserUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxEditor.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxRenderer.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboBoxUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicComboPopup.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopIconUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDesktopPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDirectoryModel$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.h create mode 100644 libjava/javax/swing/plaf/basic/BasicDirectoryModel.h create mode 100644 libjava/javax/swing/plaf/basic/BasicEditorPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFileChooserUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicFormattedTextFieldUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicGraphicsUtils.h create mode 100644 libjava/javax/swing/plaf/basic/BasicHTML$HTMLRootView.h create mode 100644 libjava/javax/swing/plaf/basic/BasicHTML.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.h create mode 100644 libjava/javax/swing/plaf/basic/BasicIconFactory.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicInternalFrameUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLabelUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLabelUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$ListAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$ListDataHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicListUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$5.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$6.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$7.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.h create mode 100644 libjava/javax/swing/plaf/basic/BasicLookAndFeel.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuBarUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuItemUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicMenuUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicOptionPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPanelUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPasswordFieldUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicPopupMenuUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicProgressBarUI$Animator.h create mode 100644 libjava/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicProgressBarUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicRootPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$5.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$6.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollBarUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$10.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$5.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$6.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$7.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$8.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$9.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicScrollPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSeparatorUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$5.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$6.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI$TrackListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSliderUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI$5.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSpinnerUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneDivider.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$3.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$4.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$5.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$6.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$7.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$8.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicSplitPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableHeaderUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableHeaderUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableUI$KeyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableUI$TableAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTableUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextAreaUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextFieldUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextPaneUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$BasicCaret.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$Handler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$RootView.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToggleButtonUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarSeparatorUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolBarUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicToolTipUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$1.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$2.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.h create mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI.h create mode 100644 libjava/javax/swing/plaf/basic/BasicViewportUI.h create mode 100644 libjava/javax/swing/plaf/basic/ComboPopup.h create mode 100644 libjava/javax/swing/plaf/basic/DefaultMenuLayout.h create mode 100644 libjava/javax/swing/plaf/basic/SharedUIDefaults.h create mode 100644 libjava/javax/swing/plaf/metal/DefaultMetalTheme.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$ButtonBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$PaletteBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalBorders.h create mode 100644 libjava/javax/swing/plaf/metal/MetalButtonListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalButtonUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalCheckBoxIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalCheckBoxUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxButton.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxEditor.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalComboBoxUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalDesktopIconUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalFileChooserUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$1.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$2.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$3.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.h create mode 100644 libjava/javax/swing/plaf/metal/MetalIconFactory.h create mode 100644 libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane.h create mode 100644 libjava/javax/swing/plaf/metal/MetalInternalFrameUI$1.h create mode 100644 libjava/javax/swing/plaf/metal/MetalInternalFrameUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalLabelUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalLookAndFeel$1.h create mode 100644 libjava/javax/swing/plaf/metal/MetalLookAndFeel.h create mode 100644 libjava/javax/swing/plaf/metal/MetalMenuBarUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalProgressBarUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRadioButtonUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.h create mode 100644 libjava/javax/swing/plaf/metal/MetalRootPaneUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.h create mode 100644 libjava/javax/swing/plaf/metal/MetalScrollBarUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalScrollButton.h create mode 100644 libjava/javax/swing/plaf/metal/MetalScrollPaneUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSeparatorUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSliderUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSplitPaneDivider.h create mode 100644 libjava/javax/swing/plaf/metal/MetalSplitPaneUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.h create mode 100644 libjava/javax/swing/plaf/metal/MetalTabbedPaneUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalTextFieldUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalTheme.h create mode 100644 libjava/javax/swing/plaf/metal/MetalToggleButtonUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalToolBarUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalToolTipUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.h create mode 100644 libjava/javax/swing/plaf/metal/MetalTreeUI.h create mode 100644 libjava/javax/swing/plaf/metal/MetalUtils.h create mode 100644 libjava/javax/swing/plaf/metal/OceanTheme.h create mode 100644 libjava/javax/swing/plaf/multi/MultiButtonUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiColorChooserUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiComboBoxUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiDesktopIconUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiDesktopPaneUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiFileChooserUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiInternalFrameUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiLabelUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiListUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiLookAndFeel.h create mode 100644 libjava/javax/swing/plaf/multi/MultiMenuBarUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiMenuItemUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiOptionPaneUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiPanelUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiPopupMenuUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiProgressBarUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiRootPaneUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiScrollBarUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiScrollPaneUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiSeparatorUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiSliderUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiSpinnerUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiSplitPaneUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiTabbedPaneUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiTableHeaderUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiTableUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiTextUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiToolBarUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiToolTipUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiTreeUI.h create mode 100644 libjava/javax/swing/plaf/multi/MultiViewportUI.h create mode 100644 libjava/javax/swing/plaf/synth/ColorType.h create mode 100644 libjava/javax/swing/plaf/synth/Region.h create mode 100644 libjava/javax/swing/plaf/synth/SynthConstants.h create mode 100644 libjava/javax/swing/plaf/synth/SynthContext.h create mode 100644 libjava/javax/swing/plaf/synth/SynthGraphicsUtils.h create mode 100644 libjava/javax/swing/plaf/synth/SynthLookAndFeel.h create mode 100644 libjava/javax/swing/plaf/synth/SynthPainter.h create mode 100644 libjava/javax/swing/plaf/synth/SynthStyle.h create mode 100644 libjava/javax/swing/plaf/synth/SynthStyleFactory.h create mode 100644 libjava/javax/swing/table/AbstractTableModel.h create mode 100644 libjava/javax/swing/table/DefaultTableCellRenderer$UIResource.h create mode 100644 libjava/javax/swing/table/DefaultTableCellRenderer.h create mode 100644 libjava/javax/swing/table/DefaultTableColumnModel.h create mode 100644 libjava/javax/swing/table/DefaultTableModel.h create mode 100644 libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.h create mode 100644 libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader.h create mode 100644 libjava/javax/swing/table/JTableHeader.h create mode 100644 libjava/javax/swing/table/TableCellEditor.h create mode 100644 libjava/javax/swing/table/TableCellRenderer.h create mode 100644 libjava/javax/swing/table/TableColumn.h create mode 100644 libjava/javax/swing/table/TableColumnModel.h create mode 100644 libjava/javax/swing/table/TableModel.h create mode 100644 libjava/javax/swing/text/AbstractDocument$1.h create mode 100644 libjava/javax/swing/text/AbstractDocument$2.h create mode 100644 libjava/javax/swing/text/AbstractDocument$AbstractElement.h create mode 100644 libjava/javax/swing/text/AbstractDocument$AttributeContext.h create mode 100644 libjava/javax/swing/text/AbstractDocument$BidiElement.h create mode 100644 libjava/javax/swing/text/AbstractDocument$BidiRootElement.h create mode 100644 libjava/javax/swing/text/AbstractDocument$BranchElement.h create mode 100644 libjava/javax/swing/text/AbstractDocument$Bypass.h create mode 100644 libjava/javax/swing/text/AbstractDocument$Content.h create mode 100644 libjava/javax/swing/text/AbstractDocument$DefaultDocumentEvent.h create mode 100644 libjava/javax/swing/text/AbstractDocument$ElementEdit.h create mode 100644 libjava/javax/swing/text/AbstractDocument$LeafElement.h create mode 100644 libjava/javax/swing/text/AbstractDocument.h create mode 100644 libjava/javax/swing/text/AbstractWriter.h create mode 100644 libjava/javax/swing/text/AsyncBoxView$ChildLocator.h create mode 100644 libjava/javax/swing/text/AsyncBoxView$ChildState.h create mode 100644 libjava/javax/swing/text/AsyncBoxView$FlushTask.h create mode 100644 libjava/javax/swing/text/AsyncBoxView.h create mode 100644 libjava/javax/swing/text/AttributeSet$CharacterAttribute.h create mode 100644 libjava/javax/swing/text/AttributeSet$ColorAttribute.h create mode 100644 libjava/javax/swing/text/AttributeSet$FontAttribute.h create mode 100644 libjava/javax/swing/text/AttributeSet$ParagraphAttribute.h create mode 100644 libjava/javax/swing/text/AttributeSet.h create mode 100644 libjava/javax/swing/text/BadLocationException.h create mode 100644 libjava/javax/swing/text/BoxView.h create mode 100644 libjava/javax/swing/text/Caret.h create mode 100644 libjava/javax/swing/text/ChangedCharSetException.h create mode 100644 libjava/javax/swing/text/ComponentView$1.h create mode 100644 libjava/javax/swing/text/ComponentView$Interceptor.h create mode 100644 libjava/javax/swing/text/ComponentView.h create mode 100644 libjava/javax/swing/text/CompositeView.h create mode 100644 libjava/javax/swing/text/DateFormatter.h create mode 100644 libjava/javax/swing/text/DefaultCaret$BlinkTimerListener.h create mode 100644 libjava/javax/swing/text/DefaultCaret$Bypass.h create mode 100644 libjava/javax/swing/text/DefaultCaret$DocumentHandler.h create mode 100644 libjava/javax/swing/text/DefaultCaret$PropertyChangeHandler.h create mode 100644 libjava/javax/swing/text/DefaultCaret.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$BackwardAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$BeepAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$BeginAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$BeginLineAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$BeginWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$CopyAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$CutAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$DownAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$EndAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$EndLineAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$EndWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$ForwardAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$InsertBreakAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$InsertContentAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$InsertTabAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$NextWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$PasteAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$PreviousWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectAllAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectLineAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionBeginAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionDownAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionEndAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionForwardAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$SelectionUpAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit$UpAction.h create mode 100644 libjava/javax/swing/text/DefaultEditorKit.h create mode 100644 libjava/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.h create mode 100644 libjava/javax/swing/text/DefaultFormatter.h create mode 100644 libjava/javax/swing/text/DefaultFormatterFactory.h create mode 100644 libjava/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.h create mode 100644 libjava/javax/swing/text/DefaultHighlighter$HighlightEntry.h create mode 100644 libjava/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.h create mode 100644 libjava/javax/swing/text/DefaultHighlighter.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$Edit.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$ElementSpec.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$SectionElement.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument$StyleChangeListener.h create mode 100644 libjava/javax/swing/text/DefaultStyledDocument.h create mode 100644 libjava/javax/swing/text/DefaultTextUI.h create mode 100644 libjava/javax/swing/text/Document.h create mode 100644 libjava/javax/swing/text/DocumentFilter$FilterBypass.h create mode 100644 libjava/javax/swing/text/DocumentFilter.h create mode 100644 libjava/javax/swing/text/EditorKit.h create mode 100644 libjava/javax/swing/text/Element.h create mode 100644 libjava/javax/swing/text/ElementIterator$ElementRef.h create mode 100644 libjava/javax/swing/text/ElementIterator.h create mode 100644 libjava/javax/swing/text/EmptyAttributeSet$1.h create mode 100644 libjava/javax/swing/text/EmptyAttributeSet.h create mode 100644 libjava/javax/swing/text/FieldView$1.h create mode 100644 libjava/javax/swing/text/FieldView.h create mode 100644 libjava/javax/swing/text/FlowView$FlowStrategy.h create mode 100644 libjava/javax/swing/text/FlowView$LogicalView.h create mode 100644 libjava/javax/swing/text/FlowView.h create mode 100644 libjava/javax/swing/text/GapContent$GapContentPosition.h create mode 100644 libjava/javax/swing/text/GapContent$InsertUndo.h create mode 100644 libjava/javax/swing/text/GapContent$Mark.h create mode 100644 libjava/javax/swing/text/GapContent$UndoPosRef.h create mode 100644 libjava/javax/swing/text/GapContent$UndoRemove.h create mode 100644 libjava/javax/swing/text/GapContent.h create mode 100644 libjava/javax/swing/text/GlyphView$DefaultGlyphPainter.h create mode 100644 libjava/javax/swing/text/GlyphView$GlyphPainter.h create mode 100644 libjava/javax/swing/text/GlyphView$J2DGlyphPainter.h create mode 100644 libjava/javax/swing/text/GlyphView.h create mode 100644 libjava/javax/swing/text/Highlighter$Highlight.h create mode 100644 libjava/javax/swing/text/Highlighter$HighlightPainter.h create mode 100644 libjava/javax/swing/text/Highlighter.h create mode 100644 libjava/javax/swing/text/IconView.h create mode 100644 libjava/javax/swing/text/InternationalFormatter.h create mode 100644 libjava/javax/swing/text/JTextComponent$AccessibleJTextComponent.h create mode 100644 libjava/javax/swing/text/JTextComponent$DefaultKeymap.h create mode 100644 libjava/javax/swing/text/JTextComponent$DefaultTransferHandler.h create mode 100644 libjava/javax/swing/text/JTextComponent$KeyBinding.h create mode 100644 libjava/javax/swing/text/JTextComponent$KeymapActionMap.h create mode 100644 libjava/javax/swing/text/JTextComponent$KeymapWrapper.h create mode 100644 libjava/javax/swing/text/JTextComponent.h create mode 100644 libjava/javax/swing/text/Keymap.h create mode 100644 libjava/javax/swing/text/LabelView.h create mode 100644 libjava/javax/swing/text/LayeredHighlighter$LayerPainter.h create mode 100644 libjava/javax/swing/text/LayeredHighlighter.h create mode 100644 libjava/javax/swing/text/LayoutQueue.h create mode 100644 libjava/javax/swing/text/MaskFormatter.h create mode 100644 libjava/javax/swing/text/MutableAttributeSet.h create mode 100644 libjava/javax/swing/text/NavigationFilter$FilterBypass.h create mode 100644 libjava/javax/swing/text/NavigationFilter.h create mode 100644 libjava/javax/swing/text/NumberFormatter.h create mode 100644 libjava/javax/swing/text/ParagraphView$Row.h create mode 100644 libjava/javax/swing/text/ParagraphView.h create mode 100644 libjava/javax/swing/text/PasswordView.h create mode 100644 libjava/javax/swing/text/PlainDocument.h create mode 100644 libjava/javax/swing/text/PlainView.h create mode 100644 libjava/javax/swing/text/Position$Bias.h create mode 100644 libjava/javax/swing/text/Position.h create mode 100644 libjava/javax/swing/text/Segment.h create mode 100644 libjava/javax/swing/text/SimpleAttributeSet.h create mode 100644 libjava/javax/swing/text/StringContent$InsertUndo.h create mode 100644 libjava/javax/swing/text/StringContent$Mark.h create mode 100644 libjava/javax/swing/text/StringContent$RemoveUndo.h create mode 100644 libjava/javax/swing/text/StringContent$StickyPosition.h create mode 100644 libjava/javax/swing/text/StringContent$UndoPosRef.h create mode 100644 libjava/javax/swing/text/StringContent.h create mode 100644 libjava/javax/swing/text/Style.h create mode 100644 libjava/javax/swing/text/StyleConstants$CharacterConstants.h create mode 100644 libjava/javax/swing/text/StyleConstants$ColorConstants.h create mode 100644 libjava/javax/swing/text/StyleConstants$FontConstants.h create mode 100644 libjava/javax/swing/text/StyleConstants$ParagraphConstants.h create mode 100644 libjava/javax/swing/text/StyleConstants.h create mode 100644 libjava/javax/swing/text/StyleContext$1.h create mode 100644 libjava/javax/swing/text/StyleContext$NamedStyle.h create mode 100644 libjava/javax/swing/text/StyleContext$SimpleFontSpec.h create mode 100644 libjava/javax/swing/text/StyleContext$SmallAttributeSet.h create mode 100644 libjava/javax/swing/text/StyleContext.h create mode 100644 libjava/javax/swing/text/StyledDocument.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$AlignmentAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$BoldAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$CaretTracker.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$FontFamilyAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$FontSizeAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$ForegroundAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$ItalicAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$StyledTextAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$StyledViewFactory.h create mode 100644 libjava/javax/swing/text/StyledEditorKit$UnderlineAction.h create mode 100644 libjava/javax/swing/text/StyledEditorKit.h create mode 100644 libjava/javax/swing/text/TabExpander.h create mode 100644 libjava/javax/swing/text/TabSet.h create mode 100644 libjava/javax/swing/text/TabStop.h create mode 100644 libjava/javax/swing/text/TabableView.h create mode 100644 libjava/javax/swing/text/TableView$TableCell.h create mode 100644 libjava/javax/swing/text/TableView$TableRow.h create mode 100644 libjava/javax/swing/text/TableView.h create mode 100644 libjava/javax/swing/text/TextAction$HorizontalMovementAction.h create mode 100644 libjava/javax/swing/text/TextAction$VerticalMovementAction.h create mode 100644 libjava/javax/swing/text/TextAction.h create mode 100644 libjava/javax/swing/text/Utilities.h create mode 100644 libjava/javax/swing/text/View.h create mode 100644 libjava/javax/swing/text/ViewFactory.h create mode 100644 libjava/javax/swing/text/WrappedPlainView$WrappedLine.h create mode 100644 libjava/javax/swing/text/WrappedPlainView$WrappedLineCreator.h create mode 100644 libjava/javax/swing/text/WrappedPlainView.h create mode 100644 libjava/javax/swing/text/ZoneView$Zone.h create mode 100644 libjava/javax/swing/text/ZoneView.h create mode 100644 libjava/javax/swing/text/html/BRView.h create mode 100644 libjava/javax/swing/text/html/BlockView$PositionInfo.h create mode 100644 libjava/javax/swing/text/html/BlockView.h create mode 100644 libjava/javax/swing/text/html/CSS$Attribute.h create mode 100644 libjava/javax/swing/text/html/CSS.h create mode 100644 libjava/javax/swing/text/html/CSSBorder.h create mode 100644 libjava/javax/swing/text/html/CSSParser$CSSParserCallback.h create mode 100644 libjava/javax/swing/text/html/CSSParser.h create mode 100644 libjava/javax/swing/text/html/FormSubmitEvent$MethodType.h create mode 100644 libjava/javax/swing/text/html/FormSubmitEvent.h create mode 100644 libjava/javax/swing/text/html/FormView$1.h create mode 100644 libjava/javax/swing/text/html/FormView$MouseEventListener.h create mode 100644 libjava/javax/swing/text/html/FormView$SubmitThread.h create mode 100644 libjava/javax/swing/text/html/FormView.h create mode 100644 libjava/javax/swing/text/html/FrameSetView$FrameSetRow.h create mode 100644 libjava/javax/swing/text/html/FrameSetView.h create mode 100644 libjava/javax/swing/text/html/FrameView.h create mode 100644 libjava/javax/swing/text/html/HRuleView$Beginning.h create mode 100644 libjava/javax/swing/text/html/HRuleView.h create mode 100644 libjava/javax/swing/text/html/HTML$Attribute.h create mode 100644 libjava/javax/swing/text/html/HTML$Tag.h create mode 100644 libjava/javax/swing/text/html/HTML$UnknownTag.h create mode 100644 libjava/javax/swing/text/html/HTML.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$1.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$BlockElement.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$HTMLReader.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$Iterator.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$LeafIterator.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument$RunElement.h create mode 100644 libjava/javax/swing/text/html/HTMLDocument.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit$HTMLFactory.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit$LinkController.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit$Parser.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit$ParserCallback.h create mode 100644 libjava/javax/swing/text/html/HTMLEditorKit.h create mode 100644 libjava/javax/swing/text/html/HTMLFrameHyperlinkEvent.h create mode 100644 libjava/javax/swing/text/html/HTMLWriter.h create mode 100644 libjava/javax/swing/text/html/ImageView$1.h create mode 100644 libjava/javax/swing/text/html/ImageView$Observer.h create mode 100644 libjava/javax/swing/text/html/ImageView.h create mode 100644 libjava/javax/swing/text/html/InlineView.h create mode 100644 libjava/javax/swing/text/html/ListView.h create mode 100644 libjava/javax/swing/text/html/MinimalHTMLWriter.h create mode 100644 libjava/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.h create mode 100644 libjava/javax/swing/text/html/MultiAttributeSet.h create mode 100644 libjava/javax/swing/text/html/MultiStyle.h create mode 100644 libjava/javax/swing/text/html/NullView.h create mode 100644 libjava/javax/swing/text/html/ObjectView.h create mode 100644 libjava/javax/swing/text/html/Option.h create mode 100644 libjava/javax/swing/text/html/ParagraphView.h create mode 100644 libjava/javax/swing/text/html/ResetableModel.h create mode 100644 libjava/javax/swing/text/html/ResetablePlainDocument.h create mode 100644 libjava/javax/swing/text/html/ResetableToggleButtonModel.h create mode 100644 libjava/javax/swing/text/html/SelectComboBoxModel.h create mode 100644 libjava/javax/swing/text/html/SelectListModel.h create mode 100644 libjava/javax/swing/text/html/StyleSheet$BoxPainter.h create mode 100644 libjava/javax/swing/text/html/StyleSheet$CSSStyle.h create mode 100644 libjava/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.h create mode 100644 libjava/javax/swing/text/html/StyleSheet$CssParser.h create mode 100644 libjava/javax/swing/text/html/StyleSheet$ListPainter.h create mode 100644 libjava/javax/swing/text/html/StyleSheet.h create mode 100644 libjava/javax/swing/text/html/TableView$CellView.h create mode 100644 libjava/javax/swing/text/html/TableView$RowView.h create mode 100644 libjava/javax/swing/text/html/TableView.h create mode 100644 libjava/javax/swing/text/html/ViewAttributeSet.h create mode 100644 libjava/javax/swing/text/html/parser/AttributeList$1.h create mode 100644 libjava/javax/swing/text/html/parser/AttributeList.h create mode 100644 libjava/javax/swing/text/html/parser/ContentModel.h create mode 100644 libjava/javax/swing/text/html/parser/DTD.h create mode 100644 libjava/javax/swing/text/html/parser/DTDConstants.h create mode 100644 libjava/javax/swing/text/html/parser/DocumentParser$gnuParser.h create mode 100644 libjava/javax/swing/text/html/parser/DocumentParser.h create mode 100644 libjava/javax/swing/text/html/parser/Element$1.h create mode 100644 libjava/javax/swing/text/html/parser/Element.h create mode 100644 libjava/javax/swing/text/html/parser/Entity$1.h create mode 100644 libjava/javax/swing/text/html/parser/Entity.h create mode 100644 libjava/javax/swing/text/html/parser/Parser$1.h create mode 100644 libjava/javax/swing/text/html/parser/Parser.h create mode 100644 libjava/javax/swing/text/html/parser/ParserDelegator$gnuParser.h create mode 100644 libjava/javax/swing/text/html/parser/ParserDelegator.h create mode 100644 libjava/javax/swing/text/html/parser/TagElement.h create mode 100644 libjava/javax/swing/text/rtf/ControlWordToken.h create mode 100644 libjava/javax/swing/text/rtf/RTFEditorKit.h create mode 100644 libjava/javax/swing/text/rtf/RTFParseException.h create mode 100644 libjava/javax/swing/text/rtf/RTFParser.h create mode 100644 libjava/javax/swing/text/rtf/RTFScanner.h create mode 100644 libjava/javax/swing/text/rtf/TextToken.h create mode 100644 libjava/javax/swing/text/rtf/Token.h create mode 100644 libjava/javax/swing/tree/AbstractLayoutCache$NodeDimensions.h create mode 100644 libjava/javax/swing/tree/AbstractLayoutCache.h create mode 100644 libjava/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.h create mode 100644 libjava/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.h create mode 100644 libjava/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.h create mode 100644 libjava/javax/swing/tree/DefaultMutableTreeNode.h create mode 100644 libjava/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.h create mode 100644 libjava/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.h create mode 100644 libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h create mode 100644 libjava/javax/swing/tree/DefaultTreeCellEditor.h create mode 100644 libjava/javax/swing/tree/DefaultTreeCellRenderer.h create mode 100644 libjava/javax/swing/tree/DefaultTreeModel.h create mode 100644 libjava/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.h create mode 100644 libjava/javax/swing/tree/DefaultTreeSelectionModel.h create mode 100644 libjava/javax/swing/tree/ExpandVetoException.h create mode 100644 libjava/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.h create mode 100644 libjava/javax/swing/tree/FixedHeightLayoutCache.h create mode 100644 libjava/javax/swing/tree/MutableTreeNode.h create mode 100644 libjava/javax/swing/tree/RowMapper.h create mode 100644 libjava/javax/swing/tree/TreeCellEditor.h create mode 100644 libjava/javax/swing/tree/TreeCellRenderer.h create mode 100644 libjava/javax/swing/tree/TreeModel.h create mode 100644 libjava/javax/swing/tree/TreeNode.h create mode 100644 libjava/javax/swing/tree/TreePath.h create mode 100644 libjava/javax/swing/tree/TreeSelectionModel.h create mode 100644 libjava/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.h create mode 100644 libjava/javax/swing/tree/VariableHeightLayoutCache.h create mode 100644 libjava/javax/swing/undo/AbstractUndoableEdit.h create mode 100644 libjava/javax/swing/undo/CannotRedoException.h create mode 100644 libjava/javax/swing/undo/CannotUndoException.h create mode 100644 libjava/javax/swing/undo/CompoundEdit.h create mode 100644 libjava/javax/swing/undo/StateEdit.h create mode 100644 libjava/javax/swing/undo/StateEditable.h create mode 100644 libjava/javax/swing/undo/UndoManager.h create mode 100644 libjava/javax/swing/undo/UndoableEdit.h create mode 100644 libjava/javax/swing/undo/UndoableEditSupport.h create mode 100644 libjava/javax/transaction/HeuristicCommitException.h create mode 100644 libjava/javax/transaction/HeuristicMixedException.h create mode 100644 libjava/javax/transaction/HeuristicRollbackException.h create mode 100644 libjava/javax/transaction/InvalidTransactionException.h create mode 100644 libjava/javax/transaction/NotSupportedException.h create mode 100644 libjava/javax/transaction/RollbackException.h create mode 100644 libjava/javax/transaction/Status.h create mode 100644 libjava/javax/transaction/Synchronization.h create mode 100644 libjava/javax/transaction/SystemException.h create mode 100644 libjava/javax/transaction/Transaction.h create mode 100644 libjava/javax/transaction/TransactionManager.h create mode 100644 libjava/javax/transaction/TransactionRequiredException.h create mode 100644 libjava/javax/transaction/TransactionRolledbackException.h create mode 100644 libjava/javax/transaction/UserTransaction.h create mode 100644 libjava/javax/transaction/xa/XAException.h create mode 100644 libjava/javax/transaction/xa/XAResource.h create mode 100644 libjava/javax/transaction/xa/Xid.h create mode 100644 libjava/javax/xml/XMLConstants.h create mode 100644 libjava/javax/xml/datatype/DatatypeConfigurationException.h create mode 100644 libjava/javax/xml/datatype/DatatypeConstants$Field.h create mode 100644 libjava/javax/xml/datatype/DatatypeConstants.h create mode 100644 libjava/javax/xml/datatype/DatatypeFactory.h create mode 100644 libjava/javax/xml/datatype/Duration.h create mode 100644 libjava/javax/xml/datatype/XMLGregorianCalendar.h create mode 100644 libjava/javax/xml/namespace/NamespaceContext.h create mode 100644 libjava/javax/xml/namespace/QName.h create mode 100644 libjava/javax/xml/parsers/DocumentBuilder.h create mode 100644 libjava/javax/xml/parsers/DocumentBuilderFactory.h create mode 100644 libjava/javax/xml/parsers/FactoryConfigurationError.h create mode 100644 libjava/javax/xml/parsers/ParserConfigurationException.h create mode 100644 libjava/javax/xml/parsers/SAXParser.h create mode 100644 libjava/javax/xml/parsers/SAXParserFactory.h create mode 100644 libjava/javax/xml/stream/EventFilter.h create mode 100644 libjava/javax/xml/stream/FactoryConfigurationError.h create mode 100644 libjava/javax/xml/stream/Location.h create mode 100644 libjava/javax/xml/stream/StreamFilter.h create mode 100644 libjava/javax/xml/stream/XMLEventFactory.h create mode 100644 libjava/javax/xml/stream/XMLEventReader.h create mode 100644 libjava/javax/xml/stream/XMLEventWriter.h create mode 100644 libjava/javax/xml/stream/XMLInputFactory.h create mode 100644 libjava/javax/xml/stream/XMLOutputFactory.h create mode 100644 libjava/javax/xml/stream/XMLReporter.h create mode 100644 libjava/javax/xml/stream/XMLResolver.h create mode 100644 libjava/javax/xml/stream/XMLStreamConstants.h create mode 100644 libjava/javax/xml/stream/XMLStreamException.h create mode 100644 libjava/javax/xml/stream/XMLStreamReader.h create mode 100644 libjava/javax/xml/stream/XMLStreamWriter.h create mode 100644 libjava/javax/xml/stream/events/Attribute.h create mode 100644 libjava/javax/xml/stream/events/Characters.h create mode 100644 libjava/javax/xml/stream/events/Comment.h create mode 100644 libjava/javax/xml/stream/events/DTD.h create mode 100644 libjava/javax/xml/stream/events/EndDocument.h create mode 100644 libjava/javax/xml/stream/events/EndElement.h create mode 100644 libjava/javax/xml/stream/events/EntityDeclaration.h create mode 100644 libjava/javax/xml/stream/events/EntityReference.h create mode 100644 libjava/javax/xml/stream/events/Namespace.h create mode 100644 libjava/javax/xml/stream/events/NotationDeclaration.h create mode 100644 libjava/javax/xml/stream/events/ProcessingInstruction.h create mode 100644 libjava/javax/xml/stream/events/StartDocument.h create mode 100644 libjava/javax/xml/stream/events/StartElement.h create mode 100644 libjava/javax/xml/stream/events/XMLEvent.h create mode 100644 libjava/javax/xml/stream/util/EventReaderDelegate.h create mode 100644 libjava/javax/xml/stream/util/ReaderDelegate.h create mode 100644 libjava/javax/xml/stream/util/XMLEventAllocator.h create mode 100644 libjava/javax/xml/stream/util/XMLEventConsumer.h create mode 100644 libjava/javax/xml/transform/ErrorListener.h create mode 100644 libjava/javax/xml/transform/OutputKeys.h create mode 100644 libjava/javax/xml/transform/Result.h create mode 100644 libjava/javax/xml/transform/Source.h create mode 100644 libjava/javax/xml/transform/SourceLocator.h create mode 100644 libjava/javax/xml/transform/Templates.h create mode 100644 libjava/javax/xml/transform/Transformer.h create mode 100644 libjava/javax/xml/transform/TransformerConfigurationException.h create mode 100644 libjava/javax/xml/transform/TransformerException.h create mode 100644 libjava/javax/xml/transform/TransformerFactory.h create mode 100644 libjava/javax/xml/transform/TransformerFactoryConfigurationError.h create mode 100644 libjava/javax/xml/transform/URIResolver.h create mode 100644 libjava/javax/xml/transform/dom/DOMLocator.h create mode 100644 libjava/javax/xml/transform/dom/DOMResult.h create mode 100644 libjava/javax/xml/transform/dom/DOMSource.h create mode 100644 libjava/javax/xml/transform/sax/SAXResult.h create mode 100644 libjava/javax/xml/transform/sax/SAXSource.h create mode 100644 libjava/javax/xml/transform/sax/SAXTransformerFactory.h create mode 100644 libjava/javax/xml/transform/sax/TemplatesHandler.h create mode 100644 libjava/javax/xml/transform/sax/TransformerHandler.h create mode 100644 libjava/javax/xml/transform/stream/StreamResult.h create mode 100644 libjava/javax/xml/transform/stream/StreamSource.h create mode 100644 libjava/javax/xml/validation/Schema.h create mode 100644 libjava/javax/xml/validation/SchemaFactory.h create mode 100644 libjava/javax/xml/validation/SchemaFactoryLoader.h create mode 100644 libjava/javax/xml/validation/TypeInfoProvider.h create mode 100644 libjava/javax/xml/validation/Validator.h create mode 100644 libjava/javax/xml/validation/ValidatorHandler.h create mode 100644 libjava/javax/xml/xpath/XPath.h create mode 100644 libjava/javax/xml/xpath/XPathConstants.h create mode 100644 libjava/javax/xml/xpath/XPathException.h create mode 100644 libjava/javax/xml/xpath/XPathExpression.h create mode 100644 libjava/javax/xml/xpath/XPathExpressionException.h create mode 100644 libjava/javax/xml/xpath/XPathFactory.h create mode 100644 libjava/javax/xml/xpath/XPathFactoryConfigurationException.h create mode 100644 libjava/javax/xml/xpath/XPathFunction.h create mode 100644 libjava/javax/xml/xpath/XPathFunctionException.h create mode 100644 libjava/javax/xml/xpath/XPathFunctionResolver.h create mode 100644 libjava/javax/xml/xpath/XPathVariableResolver.h create mode 100644 libjava/org/ietf/jgss/ChannelBinding.h create mode 100644 libjava/org/ietf/jgss/GSSContext.h create mode 100644 libjava/org/ietf/jgss/GSSCredential.h create mode 100644 libjava/org/ietf/jgss/GSSException.h create mode 100644 libjava/org/ietf/jgss/GSSManager.h create mode 100644 libjava/org/ietf/jgss/GSSName.h create mode 100644 libjava/org/ietf/jgss/MessageProp.h create mode 100644 libjava/org/ietf/jgss/Oid.h create mode 100644 libjava/org/omg/CORBA/ACTIVITY_COMPLETED.h create mode 100644 libjava/org/omg/CORBA/ACTIVITY_REQUIRED.h create mode 100644 libjava/org/omg/CORBA/ARG_IN.h create mode 100644 libjava/org/omg/CORBA/ARG_INOUT.h create mode 100644 libjava/org/omg/CORBA/ARG_OUT.h create mode 100644 libjava/org/omg/CORBA/Any.h create mode 100644 libjava/org/omg/CORBA/AnyHolder.h create mode 100644 libjava/org/omg/CORBA/AnySeqHelper.h create mode 100644 libjava/org/omg/CORBA/AnySeqHolder.h create mode 100644 libjava/org/omg/CORBA/BAD_CONTEXT.h create mode 100644 libjava/org/omg/CORBA/BAD_INV_ORDER.h create mode 100644 libjava/org/omg/CORBA/BAD_OPERATION.h create mode 100644 libjava/org/omg/CORBA/BAD_PARAM.h create mode 100644 libjava/org/omg/CORBA/BAD_POLICY.h create mode 100644 libjava/org/omg/CORBA/BAD_POLICY_TYPE.h create mode 100644 libjava/org/omg/CORBA/BAD_POLICY_VALUE.h create mode 100644 libjava/org/omg/CORBA/BAD_QOS.h create mode 100644 libjava/org/omg/CORBA/BAD_TYPECODE.h create mode 100644 libjava/org/omg/CORBA/BooleanHolder.h create mode 100644 libjava/org/omg/CORBA/BooleanSeqHelper.h create mode 100644 libjava/org/omg/CORBA/BooleanSeqHolder.h create mode 100644 libjava/org/omg/CORBA/Bounds.h create mode 100644 libjava/org/omg/CORBA/ByteHolder.h create mode 100644 libjava/org/omg/CORBA/CODESET_INCOMPATIBLE.h create mode 100644 libjava/org/omg/CORBA/COMM_FAILURE.h create mode 100644 libjava/org/omg/CORBA/CTX_RESTRICT_SCOPE.h create mode 100644 libjava/org/omg/CORBA/CharHolder.h create mode 100644 libjava/org/omg/CORBA/CharSeqHelper.h create mode 100644 libjava/org/omg/CORBA/CharSeqHolder.h create mode 100644 libjava/org/omg/CORBA/CompletionStatus.h create mode 100644 libjava/org/omg/CORBA/CompletionStatusHelper.h create mode 100644 libjava/org/omg/CORBA/Context.h create mode 100644 libjava/org/omg/CORBA/ContextList.h create mode 100644 libjava/org/omg/CORBA/Current.h create mode 100644 libjava/org/omg/CORBA/CurrentHelper$_CurrentStub.h create mode 100644 libjava/org/omg/CORBA/CurrentHelper.h create mode 100644 libjava/org/omg/CORBA/CurrentHolder.h create mode 100644 libjava/org/omg/CORBA/CurrentOperations.h create mode 100644 libjava/org/omg/CORBA/CustomMarshal.h create mode 100644 libjava/org/omg/CORBA/CustomValue.h create mode 100644 libjava/org/omg/CORBA/DATA_CONVERSION.h create mode 100644 libjava/org/omg/CORBA/DataInputStream.h create mode 100644 libjava/org/omg/CORBA/DataOutputStream.h create mode 100644 libjava/org/omg/CORBA/DefinitionKind.h create mode 100644 libjava/org/omg/CORBA/DefinitionKindHelper.h create mode 100644 libjava/org/omg/CORBA/DomainManager.h create mode 100644 libjava/org/omg/CORBA/DomainManagerOperations.h create mode 100644 libjava/org/omg/CORBA/DoubleHolder.h create mode 100644 libjava/org/omg/CORBA/DoubleSeqHelper.h create mode 100644 libjava/org/omg/CORBA/DoubleSeqHolder.h create mode 100644 libjava/org/omg/CORBA/DynAny.h create mode 100644 libjava/org/omg/CORBA/DynAnyPackage/Invalid.h create mode 100644 libjava/org/omg/CORBA/DynAnyPackage/InvalidSeq.h create mode 100644 libjava/org/omg/CORBA/DynAnyPackage/InvalidValue.h create mode 100644 libjava/org/omg/CORBA/DynAnyPackage/TypeMismatch.h create mode 100644 libjava/org/omg/CORBA/DynArray.h create mode 100644 libjava/org/omg/CORBA/DynEnum.h create mode 100644 libjava/org/omg/CORBA/DynFixed.h create mode 100644 libjava/org/omg/CORBA/DynSequence.h create mode 100644 libjava/org/omg/CORBA/DynStruct.h create mode 100644 libjava/org/omg/CORBA/DynUnion.h create mode 100644 libjava/org/omg/CORBA/DynValue.h create mode 100644 libjava/org/omg/CORBA/DynamicImplementation.h create mode 100644 libjava/org/omg/CORBA/Environment.h create mode 100644 libjava/org/omg/CORBA/ExceptionList.h create mode 100644 libjava/org/omg/CORBA/FREE_MEM.h create mode 100644 libjava/org/omg/CORBA/FieldNameHelper.h create mode 100644 libjava/org/omg/CORBA/FixedHolder.h create mode 100644 libjava/org/omg/CORBA/FloatHolder.h create mode 100644 libjava/org/omg/CORBA/FloatSeqHelper.h create mode 100644 libjava/org/omg/CORBA/FloatSeqHolder.h create mode 100644 libjava/org/omg/CORBA/IDLType.h create mode 100644 libjava/org/omg/CORBA/IDLTypeHelper.h create mode 100644 libjava/org/omg/CORBA/IDLTypeOperations.h create mode 100644 libjava/org/omg/CORBA/IMP_LIMIT.h create mode 100644 libjava/org/omg/CORBA/INITIALIZE.h create mode 100644 libjava/org/omg/CORBA/INTERNAL.h create mode 100644 libjava/org/omg/CORBA/INTF_REPOS.h create mode 100644 libjava/org/omg/CORBA/INVALID_ACTIVITY.h create mode 100644 libjava/org/omg/CORBA/INVALID_TRANSACTION.h create mode 100644 libjava/org/omg/CORBA/INV_FLAG.h create mode 100644 libjava/org/omg/CORBA/INV_IDENT.h create mode 100644 libjava/org/omg/CORBA/INV_OBJREF.h create mode 100644 libjava/org/omg/CORBA/INV_POLICY.h create mode 100644 libjava/org/omg/CORBA/IRObject.h create mode 100644 libjava/org/omg/CORBA/IRObjectOperations.h create mode 100644 libjava/org/omg/CORBA/IdentifierHelper.h create mode 100644 libjava/org/omg/CORBA/IntHolder.h create mode 100644 libjava/org/omg/CORBA/LocalObject.h create mode 100644 libjava/org/omg/CORBA/LongHolder.h create mode 100644 libjava/org/omg/CORBA/LongLongSeqHelper.h create mode 100644 libjava/org/omg/CORBA/LongLongSeqHolder.h create mode 100644 libjava/org/omg/CORBA/LongSeqHelper.h create mode 100644 libjava/org/omg/CORBA/LongSeqHolder.h create mode 100644 libjava/org/omg/CORBA/MARSHAL.h create mode 100644 libjava/org/omg/CORBA/NO_IMPLEMENT.h create mode 100644 libjava/org/omg/CORBA/NO_MEMORY.h create mode 100644 libjava/org/omg/CORBA/NO_PERMISSION.h create mode 100644 libjava/org/omg/CORBA/NO_RESOURCES.h create mode 100644 libjava/org/omg/CORBA/NO_RESPONSE.h create mode 100644 libjava/org/omg/CORBA/NVList.h create mode 100644 libjava/org/omg/CORBA/NameValuePair.h create mode 100644 libjava/org/omg/CORBA/NameValuePairHelper.h create mode 100644 libjava/org/omg/CORBA/NamedValue.h create mode 100644 libjava/org/omg/CORBA/OBJECT_NOT_EXIST.h create mode 100644 libjava/org/omg/CORBA/OBJ_ADAPTER.h create mode 100644 libjava/org/omg/CORBA/OMGVMCID.h create mode 100644 libjava/org/omg/CORBA/ORB.h create mode 100644 libjava/org/omg/CORBA/ORBPackage/InconsistentTypeCode.h create mode 100644 libjava/org/omg/CORBA/ORBPackage/InvalidName.h create mode 100644 libjava/org/omg/CORBA/Object.h create mode 100644 libjava/org/omg/CORBA/ObjectHelper.h create mode 100644 libjava/org/omg/CORBA/ObjectHolder.h create mode 100644 libjava/org/omg/CORBA/OctetSeqHelper.h create mode 100644 libjava/org/omg/CORBA/OctetSeqHolder.h create mode 100644 libjava/org/omg/CORBA/PERSIST_STORE.h create mode 100644 libjava/org/omg/CORBA/PRIVATE_MEMBER.h create mode 100644 libjava/org/omg/CORBA/PUBLIC_MEMBER.h create mode 100644 libjava/org/omg/CORBA/ParameterMode.h create mode 100644 libjava/org/omg/CORBA/ParameterModeHelper.h create mode 100644 libjava/org/omg/CORBA/ParameterModeHolder.h create mode 100644 libjava/org/omg/CORBA/Policy.h create mode 100644 libjava/org/omg/CORBA/PolicyError.h create mode 100644 libjava/org/omg/CORBA/PolicyErrorCodeHelper.h create mode 100644 libjava/org/omg/CORBA/PolicyErrorHelper.h create mode 100644 libjava/org/omg/CORBA/PolicyErrorHolder.h create mode 100644 libjava/org/omg/CORBA/PolicyHelper.h create mode 100644 libjava/org/omg/CORBA/PolicyHolder.h create mode 100644 libjava/org/omg/CORBA/PolicyListHelper.h create mode 100644 libjava/org/omg/CORBA/PolicyListHolder.h create mode 100644 libjava/org/omg/CORBA/PolicyOperations.h create mode 100644 libjava/org/omg/CORBA/PolicyTypeHelper.h create mode 100644 libjava/org/omg/CORBA/Principal.h create mode 100644 libjava/org/omg/CORBA/PrincipalHolder.h create mode 100644 libjava/org/omg/CORBA/REBIND.h create mode 100644 libjava/org/omg/CORBA/RepositoryIdHelper.h create mode 100644 libjava/org/omg/CORBA/Request.h create mode 100644 libjava/org/omg/CORBA/ServerRequest.h create mode 100644 libjava/org/omg/CORBA/ServiceDetail.h create mode 100644 libjava/org/omg/CORBA/ServiceDetailHelper.h create mode 100644 libjava/org/omg/CORBA/ServiceInformation.h create mode 100644 libjava/org/omg/CORBA/ServiceInformationHelper.h create mode 100644 libjava/org/omg/CORBA/ServiceInformationHolder.h create mode 100644 libjava/org/omg/CORBA/SetOverrideType.h create mode 100644 libjava/org/omg/CORBA/SetOverrideTypeHelper.h create mode 100644 libjava/org/omg/CORBA/ShortHolder.h create mode 100644 libjava/org/omg/CORBA/ShortSeqHelper.h create mode 100644 libjava/org/omg/CORBA/ShortSeqHolder.h create mode 100644 libjava/org/omg/CORBA/StringHolder.h create mode 100644 libjava/org/omg/CORBA/StringSeqHelper.h create mode 100644 libjava/org/omg/CORBA/StringSeqHolder.h create mode 100644 libjava/org/omg/CORBA/StringValueHelper.h create mode 100644 libjava/org/omg/CORBA/StructMember.h create mode 100644 libjava/org/omg/CORBA/StructMemberHelper.h create mode 100644 libjava/org/omg/CORBA/SystemException.h create mode 100644 libjava/org/omg/CORBA/TCKind.h create mode 100644 libjava/org/omg/CORBA/TIMEOUT.h create mode 100644 libjava/org/omg/CORBA/TRANSACTION_MODE.h create mode 100644 libjava/org/omg/CORBA/TRANSACTION_REQUIRED.h create mode 100644 libjava/org/omg/CORBA/TRANSACTION_ROLLEDBACK.h create mode 100644 libjava/org/omg/CORBA/TRANSACTION_UNAVAILABLE.h create mode 100644 libjava/org/omg/CORBA/TRANSIENT.h create mode 100644 libjava/org/omg/CORBA/TypeCode.h create mode 100644 libjava/org/omg/CORBA/TypeCodeHolder.h create mode 100644 libjava/org/omg/CORBA/TypeCodePackage/BadKind.h create mode 100644 libjava/org/omg/CORBA/TypeCodePackage/Bounds.h create mode 100644 libjava/org/omg/CORBA/ULongLongSeqHelper.h create mode 100644 libjava/org/omg/CORBA/ULongLongSeqHolder.h create mode 100644 libjava/org/omg/CORBA/ULongSeqHelper.h create mode 100644 libjava/org/omg/CORBA/ULongSeqHolder.h create mode 100644 libjava/org/omg/CORBA/UNKNOWN.h create mode 100644 libjava/org/omg/CORBA/UNSUPPORTED_POLICY.h create mode 100644 libjava/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.h create mode 100644 libjava/org/omg/CORBA/UShortSeqHelper.h create mode 100644 libjava/org/omg/CORBA/UShortSeqHolder.h create mode 100644 libjava/org/omg/CORBA/UnionMember.h create mode 100644 libjava/org/omg/CORBA/UnionMemberHelper.h create mode 100644 libjava/org/omg/CORBA/UnknownUserException.h create mode 100644 libjava/org/omg/CORBA/UnknownUserExceptionHelper.h create mode 100644 libjava/org/omg/CORBA/UnknownUserExceptionHolder.h create mode 100644 libjava/org/omg/CORBA/UserException.h create mode 100644 libjava/org/omg/CORBA/VM_ABSTRACT.h create mode 100644 libjava/org/omg/CORBA/VM_CUSTOM.h create mode 100644 libjava/org/omg/CORBA/VM_NONE.h create mode 100644 libjava/org/omg/CORBA/VM_TRUNCATABLE.h create mode 100644 libjava/org/omg/CORBA/ValueBaseHelper.h create mode 100644 libjava/org/omg/CORBA/ValueBaseHolder.h create mode 100644 libjava/org/omg/CORBA/ValueMember.h create mode 100644 libjava/org/omg/CORBA/ValueMemberHelper.h create mode 100644 libjava/org/omg/CORBA/VersionSpecHelper.h create mode 100644 libjava/org/omg/CORBA/VisibilityHelper.h create mode 100644 libjava/org/omg/CORBA/WCharSeqHelper.h create mode 100644 libjava/org/omg/CORBA/WCharSeqHolder.h create mode 100644 libjava/org/omg/CORBA/WStringSeqHelper.h create mode 100644 libjava/org/omg/CORBA/WStringSeqHolder.h create mode 100644 libjava/org/omg/CORBA/WStringValueHelper.h create mode 100644 libjava/org/omg/CORBA/WrongTransaction.h create mode 100644 libjava/org/omg/CORBA/WrongTransactionHelper.h create mode 100644 libjava/org/omg/CORBA/WrongTransactionHolder.h create mode 100644 libjava/org/omg/CORBA/_IDLTypeStub.h create mode 100644 libjava/org/omg/CORBA/_PolicyStub.h create mode 100644 libjava/org/omg/CORBA/portable/ApplicationException.h create mode 100644 libjava/org/omg/CORBA/portable/BoxedValueHelper.h create mode 100644 libjava/org/omg/CORBA/portable/CustomValue.h create mode 100644 libjava/org/omg/CORBA/portable/Delegate.h create mode 100644 libjava/org/omg/CORBA/portable/IDLEntity.h create mode 100644 libjava/org/omg/CORBA/portable/IndirectionException.h create mode 100644 libjava/org/omg/CORBA/portable/InputStream.h create mode 100644 libjava/org/omg/CORBA/portable/InvokeHandler.h create mode 100644 libjava/org/omg/CORBA/portable/ObjectImpl.h create mode 100644 libjava/org/omg/CORBA/portable/OutputStream.h create mode 100644 libjava/org/omg/CORBA/portable/RemarshalException.h create mode 100644 libjava/org/omg/CORBA/portable/ResponseHandler.h create mode 100644 libjava/org/omg/CORBA/portable/ServantObject.h create mode 100644 libjava/org/omg/CORBA/portable/Streamable.h create mode 100644 libjava/org/omg/CORBA/portable/StreamableValue.h create mode 100644 libjava/org/omg/CORBA/portable/UnknownException.h create mode 100644 libjava/org/omg/CORBA/portable/ValueBase.h create mode 100644 libjava/org/omg/CORBA/portable/ValueFactory.h create mode 100644 libjava/org/omg/CORBA_2_3/ORB.h create mode 100644 libjava/org/omg/CORBA_2_3/portable/Delegate.h create mode 100644 libjava/org/omg/CORBA_2_3/portable/InputStream.h create mode 100644 libjava/org/omg/CORBA_2_3/portable/ObjectImpl.h create mode 100644 libjava/org/omg/CORBA_2_3/portable/OutputStream.h create mode 100644 libjava/org/omg/CosNaming/Binding.h create mode 100644 libjava/org/omg/CosNaming/BindingHelper.h create mode 100644 libjava/org/omg/CosNaming/BindingHolder.h create mode 100644 libjava/org/omg/CosNaming/BindingIterator.h create mode 100644 libjava/org/omg/CosNaming/BindingIteratorHelper.h create mode 100644 libjava/org/omg/CosNaming/BindingIteratorHolder.h create mode 100644 libjava/org/omg/CosNaming/BindingIteratorOperations.h create mode 100644 libjava/org/omg/CosNaming/BindingIteratorPOA.h create mode 100644 libjava/org/omg/CosNaming/BindingListHelper.h create mode 100644 libjava/org/omg/CosNaming/BindingListHolder.h create mode 100644 libjava/org/omg/CosNaming/BindingType.h create mode 100644 libjava/org/omg/CosNaming/BindingTypeHelper.h create mode 100644 libjava/org/omg/CosNaming/BindingTypeHolder.h create mode 100644 libjava/org/omg/CosNaming/IstringHelper.h create mode 100644 libjava/org/omg/CosNaming/NameComponent.h create mode 100644 libjava/org/omg/CosNaming/NameComponentHelper.h create mode 100644 libjava/org/omg/CosNaming/NameComponentHolder.h create mode 100644 libjava/org/omg/CosNaming/NameHelper.h create mode 100644 libjava/org/omg/CosNaming/NameHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContext.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExt.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtOperations.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPOA.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextOperations.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPOA.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBound.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/CannotProceed.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/InvalidName.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotEmpty.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotFound.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReason.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.h create mode 100644 libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.h create mode 100644 libjava/org/omg/CosNaming/_BindingIteratorImplBase.h create mode 100644 libjava/org/omg/CosNaming/_BindingIteratorStub.h create mode 100644 libjava/org/omg/CosNaming/_NamingContextExtImplBase.h create mode 100644 libjava/org/omg/CosNaming/_NamingContextExtStub.h create mode 100644 libjava/org/omg/CosNaming/_NamingContextImplBase.h create mode 100644 libjava/org/omg/CosNaming/_NamingContextStub.h create mode 100644 libjava/org/omg/Dynamic/Parameter.h create mode 100644 libjava/org/omg/DynamicAny/AnySeqHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynAny.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyFactory.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyFactoryHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyFactoryOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValue.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.h create mode 100644 libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynAnySeqHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynArray.h create mode 100644 libjava/org/omg/DynamicAny/DynArrayHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynArrayOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynEnum.h create mode 100644 libjava/org/omg/DynamicAny/DynEnumHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynEnumOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynFixed.h create mode 100644 libjava/org/omg/DynamicAny/DynFixedHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynFixedOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynSequence.h create mode 100644 libjava/org/omg/DynamicAny/DynSequenceHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynSequenceOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynStruct.h create mode 100644 libjava/org/omg/DynamicAny/DynStructHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynStructOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynUnion.h create mode 100644 libjava/org/omg/DynamicAny/DynUnionHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynUnionOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynValue.h create mode 100644 libjava/org/omg/DynamicAny/DynValueBox.h create mode 100644 libjava/org/omg/DynamicAny/DynValueBoxOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynValueCommon.h create mode 100644 libjava/org/omg/DynamicAny/DynValueCommonOperations.h create mode 100644 libjava/org/omg/DynamicAny/DynValueHelper.h create mode 100644 libjava/org/omg/DynamicAny/DynValueOperations.h create mode 100644 libjava/org/omg/DynamicAny/FieldNameHelper.h create mode 100644 libjava/org/omg/DynamicAny/NameDynAnyPair.h create mode 100644 libjava/org/omg/DynamicAny/NameDynAnyPairHelper.h create mode 100644 libjava/org/omg/DynamicAny/NameDynAnyPairSeqHelper.h create mode 100644 libjava/org/omg/DynamicAny/NameValuePair.h create mode 100644 libjava/org/omg/DynamicAny/NameValuePairHelper.h create mode 100644 libjava/org/omg/DynamicAny/NameValuePairSeqHelper.h create mode 100644 libjava/org/omg/DynamicAny/_DynAnyFactoryStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynAnyStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynArrayStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynEnumStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynFixedStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynSequenceStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynStructStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynUnionStub.h create mode 100644 libjava/org/omg/DynamicAny/_DynValueStub.h create mode 100644 libjava/org/omg/IOP/CodeSets.h create mode 100644 libjava/org/omg/IOP/Codec.h create mode 100644 libjava/org/omg/IOP/CodecFactory.h create mode 100644 libjava/org/omg/IOP/CodecFactoryHelper.h create mode 100644 libjava/org/omg/IOP/CodecFactoryOperations.h create mode 100644 libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.h create mode 100644 libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.h create mode 100644 libjava/org/omg/IOP/CodecOperations.h create mode 100644 libjava/org/omg/IOP/CodecPackage/FormatMismatch.h create mode 100644 libjava/org/omg/IOP/CodecPackage/FormatMismatchHelper.h create mode 100644 libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.h create mode 100644 libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.h create mode 100644 libjava/org/omg/IOP/CodecPackage/TypeMismatch.h create mode 100644 libjava/org/omg/IOP/CodecPackage/TypeMismatchHelper.h create mode 100644 libjava/org/omg/IOP/ComponentIdHelper.h create mode 100644 libjava/org/omg/IOP/ENCODING_CDR_ENCAPS.h create mode 100644 libjava/org/omg/IOP/Encoding.h create mode 100644 libjava/org/omg/IOP/ExceptionDetailMessage.h create mode 100644 libjava/org/omg/IOP/IOR.h create mode 100644 libjava/org/omg/IOP/IORHelper.h create mode 100644 libjava/org/omg/IOP/IORHolder.h create mode 100644 libjava/org/omg/IOP/MultipleComponentProfileHelper.h create mode 100644 libjava/org/omg/IOP/MultipleComponentProfileHolder.h create mode 100644 libjava/org/omg/IOP/ProfileIdHelper.h create mode 100644 libjava/org/omg/IOP/RMICustomMaxStreamFormat.h create mode 100644 libjava/org/omg/IOP/ServiceContext.h create mode 100644 libjava/org/omg/IOP/ServiceContextHelper.h create mode 100644 libjava/org/omg/IOP/ServiceContextHolder.h create mode 100644 libjava/org/omg/IOP/ServiceContextListHelper.h create mode 100644 libjava/org/omg/IOP/ServiceContextListHolder.h create mode 100644 libjava/org/omg/IOP/ServiceIdHelper.h create mode 100644 libjava/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.h create mode 100644 libjava/org/omg/IOP/TAG_CODE_SETS.h create mode 100644 libjava/org/omg/IOP/TAG_INTERNET_IOP.h create mode 100644 libjava/org/omg/IOP/TAG_JAVA_CODEBASE.h create mode 100644 libjava/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.h create mode 100644 libjava/org/omg/IOP/TAG_ORB_TYPE.h create mode 100644 libjava/org/omg/IOP/TAG_POLICIES.h create mode 100644 libjava/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.h create mode 100644 libjava/org/omg/IOP/TaggedComponent.h create mode 100644 libjava/org/omg/IOP/TaggedComponentHelper.h create mode 100644 libjava/org/omg/IOP/TaggedComponentHolder.h create mode 100644 libjava/org/omg/IOP/TaggedProfile.h create mode 100644 libjava/org/omg/IOP/TaggedProfileHelper.h create mode 100644 libjava/org/omg/IOP/TaggedProfileHolder.h create mode 100644 libjava/org/omg/IOP/TransactionService.h create mode 100644 libjava/org/omg/Messaging/SYNC_WITH_TRANSPORT.h create mode 100644 libjava/org/omg/Messaging/SyncScopeHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ACTIVE.h create mode 100644 libjava/org/omg/PortableInterceptor/AdapterManagerIdHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/AdapterNameHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/AdapterStateHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ClientRequestInfo.h create mode 100644 libjava/org/omg/PortableInterceptor/ClientRequestInfoOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/ClientRequestInterceptor.h create mode 100644 libjava/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/Current.h create mode 100644 libjava/org/omg/PortableInterceptor/CurrentHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/CurrentOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/DISCARDING.h create mode 100644 libjava/org/omg/PortableInterceptor/ForwardRequest.h create mode 100644 libjava/org/omg/PortableInterceptor/ForwardRequestHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/HOLDING.h create mode 100644 libjava/org/omg/PortableInterceptor/INACTIVE.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInfo.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInfoOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInterceptor.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInterceptorOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInterceptor_3_0.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.h create mode 100644 libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.h create mode 100644 libjava/org/omg/PortableInterceptor/Interceptor.h create mode 100644 libjava/org/omg/PortableInterceptor/InterceptorOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/InvalidSlot.h create mode 100644 libjava/org/omg/PortableInterceptor/InvalidSlotHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/LOCATION_FORWARD.h create mode 100644 libjava/org/omg/PortableInterceptor/NON_EXISTENT.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBIdHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfo.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfoOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitializer.h create mode 100644 libjava/org/omg/PortableInterceptor/ORBInitializerOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectIdHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceFactory.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceTemplate.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.h create mode 100644 libjava/org/omg/PortableInterceptor/PolicyFactory.h create mode 100644 libjava/org/omg/PortableInterceptor/PolicyFactoryOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/RequestInfo.h create mode 100644 libjava/org/omg/PortableInterceptor/RequestInfoOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/SUCCESSFUL.h create mode 100644 libjava/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.h create mode 100644 libjava/org/omg/PortableInterceptor/ServerIdHelper.h create mode 100644 libjava/org/omg/PortableInterceptor/ServerRequestInfo.h create mode 100644 libjava/org/omg/PortableInterceptor/ServerRequestInfoOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/ServerRequestInterceptor.h create mode 100644 libjava/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.h create mode 100644 libjava/org/omg/PortableInterceptor/TRANSPORT_RETRY.h create mode 100644 libjava/org/omg/PortableInterceptor/USER_EXCEPTION.h create mode 100644 libjava/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.h create mode 100644 libjava/org/omg/PortableServer/AdapterActivator.h create mode 100644 libjava/org/omg/PortableServer/AdapterActivatorOperations.h create mode 100644 libjava/org/omg/PortableServer/Current.h create mode 100644 libjava/org/omg/PortableServer/CurrentHelper.h create mode 100644 libjava/org/omg/PortableServer/CurrentOperations.h create mode 100644 libjava/org/omg/PortableServer/CurrentPackage/NoContext.h create mode 100644 libjava/org/omg/PortableServer/CurrentPackage/NoContextHelper.h create mode 100644 libjava/org/omg/PortableServer/DynamicImplementation.h create mode 100644 libjava/org/omg/PortableServer/ForwardRequest.h create mode 100644 libjava/org/omg/PortableServer/ForwardRequestHelper.h create mode 100644 libjava/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/IdAssignmentPolicy.h create mode 100644 libjava/org/omg/PortableServer/IdAssignmentPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/IdAssignmentPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/IdUniquenessPolicy.h create mode 100644 libjava/org/omg/PortableServer/IdUniquenessPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/IdUniquenessPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/ImplicitActivationPolicy.h create mode 100644 libjava/org/omg/PortableServer/ImplicitActivationPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/ImplicitActivationPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/LIFESPAN_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/LifespanPolicy.h create mode 100644 libjava/org/omg/PortableServer/LifespanPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/LifespanPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/POA.h create mode 100644 libjava/org/omg/PortableServer/POAHelper.h create mode 100644 libjava/org/omg/PortableServer/POAManager.h create mode 100644 libjava/org/omg/PortableServer/POAManagerOperations.h create mode 100644 libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactive.h create mode 100644 libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.h create mode 100644 libjava/org/omg/PortableServer/POAManagerPackage/State.h create mode 100644 libjava/org/omg/PortableServer/POAOperations.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/AdapterNonExistent.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/InvalidPolicy.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/NoServant.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/NoServantHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ObjectNotActive.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActive.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ServantNotActive.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/WrongAdapter.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/WrongAdapterHelper.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/WrongPolicy.h create mode 100644 libjava/org/omg/PortableServer/POAPackage/WrongPolicyHelper.h create mode 100644 libjava/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/RequestProcessingPolicy.h create mode 100644 libjava/org/omg/PortableServer/RequestProcessingPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/RequestProcessingPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/Servant.h create mode 100644 libjava/org/omg/PortableServer/ServantActivator.h create mode 100644 libjava/org/omg/PortableServer/ServantActivatorHelper.h create mode 100644 libjava/org/omg/PortableServer/ServantActivatorOperations.h create mode 100644 libjava/org/omg/PortableServer/ServantActivatorPOA$delegator.h create mode 100644 libjava/org/omg/PortableServer/ServantActivatorPOA.h create mode 100644 libjava/org/omg/PortableServer/ServantLocator.h create mode 100644 libjava/org/omg/PortableServer/ServantLocatorHelper.h create mode 100644 libjava/org/omg/PortableServer/ServantLocatorOperations.h create mode 100644 libjava/org/omg/PortableServer/ServantLocatorPOA$delegator.h create mode 100644 libjava/org/omg/PortableServer/ServantLocatorPOA.h create mode 100644 libjava/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.h create mode 100644 libjava/org/omg/PortableServer/ServantManager.h create mode 100644 libjava/org/omg/PortableServer/ServantManagerOperations.h create mode 100644 libjava/org/omg/PortableServer/ServantRetentionPolicy.h create mode 100644 libjava/org/omg/PortableServer/ServantRetentionPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/ServantRetentionPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/THREAD_POLICY_ID.h create mode 100644 libjava/org/omg/PortableServer/ThreadPolicy.h create mode 100644 libjava/org/omg/PortableServer/ThreadPolicyOperations.h create mode 100644 libjava/org/omg/PortableServer/ThreadPolicyValue.h create mode 100644 libjava/org/omg/PortableServer/_ServantActivatorStub.h create mode 100644 libjava/org/omg/PortableServer/_ServantLocatorStub.h create mode 100644 libjava/org/omg/PortableServer/portable/Delegate.h create mode 100644 libjava/org/omg/SendingContext/RunTime.h create mode 100644 libjava/org/omg/SendingContext/RunTimeOperations.h create mode 100644 libjava/org/omg/stub/java/rmi/_Remote_Stub.h create mode 100644 libjava/org/relaxng/datatype/Datatype.h create mode 100644 libjava/org/relaxng/datatype/DatatypeBuilder.h create mode 100644 libjava/org/relaxng/datatype/DatatypeException.h create mode 100644 libjava/org/relaxng/datatype/DatatypeLibrary.h create mode 100644 libjava/org/relaxng/datatype/DatatypeLibraryFactory.h create mode 100644 libjava/org/relaxng/datatype/DatatypeStreamingValidator.h create mode 100644 libjava/org/relaxng/datatype/ValidationContext.h create mode 100644 libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.h create mode 100644 libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.h create mode 100644 libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.h create mode 100644 libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.h create mode 100644 libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.h create mode 100644 libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader.h create mode 100644 libjava/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.h create mode 100644 libjava/org/relaxng/datatype/helpers/StreamingValidatorImpl.h create mode 100644 libjava/org/w3c/dom/Attr.h create mode 100644 libjava/org/w3c/dom/CDATASection.h create mode 100644 libjava/org/w3c/dom/CharacterData.h create mode 100644 libjava/org/w3c/dom/Comment.h create mode 100644 libjava/org/w3c/dom/DOMConfiguration.h create mode 100644 libjava/org/w3c/dom/DOMError.h create mode 100644 libjava/org/w3c/dom/DOMErrorHandler.h create mode 100644 libjava/org/w3c/dom/DOMException.h create mode 100644 libjava/org/w3c/dom/DOMImplementation.h create mode 100644 libjava/org/w3c/dom/DOMImplementationList.h create mode 100644 libjava/org/w3c/dom/DOMImplementationSource.h create mode 100644 libjava/org/w3c/dom/DOMLocator.h create mode 100644 libjava/org/w3c/dom/DOMStringList.h create mode 100644 libjava/org/w3c/dom/Document.h create mode 100644 libjava/org/w3c/dom/DocumentFragment.h create mode 100644 libjava/org/w3c/dom/DocumentType.h create mode 100644 libjava/org/w3c/dom/Element.h create mode 100644 libjava/org/w3c/dom/Entity.h create mode 100644 libjava/org/w3c/dom/EntityReference.h create mode 100644 libjava/org/w3c/dom/NameList.h create mode 100644 libjava/org/w3c/dom/NamedNodeMap.h create mode 100644 libjava/org/w3c/dom/Node.h create mode 100644 libjava/org/w3c/dom/NodeList.h create mode 100644 libjava/org/w3c/dom/Notation.h create mode 100644 libjava/org/w3c/dom/ProcessingInstruction.h create mode 100644 libjava/org/w3c/dom/Text.h create mode 100644 libjava/org/w3c/dom/TypeInfo.h create mode 100644 libjava/org/w3c/dom/UserDataHandler.h create mode 100644 libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.h create mode 100644 libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.h create mode 100644 libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.h create mode 100644 libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.h create mode 100644 libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry.h create mode 100644 libjava/org/w3c/dom/css/CSS2Properties.h create mode 100644 libjava/org/w3c/dom/css/CSSCharsetRule.h create mode 100644 libjava/org/w3c/dom/css/CSSFontFaceRule.h create mode 100644 libjava/org/w3c/dom/css/CSSImportRule.h create mode 100644 libjava/org/w3c/dom/css/CSSMediaRule.h create mode 100644 libjava/org/w3c/dom/css/CSSPageRule.h create mode 100644 libjava/org/w3c/dom/css/CSSPrimitiveValue.h create mode 100644 libjava/org/w3c/dom/css/CSSRule.h create mode 100644 libjava/org/w3c/dom/css/CSSRuleList.h create mode 100644 libjava/org/w3c/dom/css/CSSStyleDeclaration.h create mode 100644 libjava/org/w3c/dom/css/CSSStyleRule.h create mode 100644 libjava/org/w3c/dom/css/CSSStyleSheet.h create mode 100644 libjava/org/w3c/dom/css/CSSUnknownRule.h create mode 100644 libjava/org/w3c/dom/css/CSSValue.h create mode 100644 libjava/org/w3c/dom/css/CSSValueList.h create mode 100644 libjava/org/w3c/dom/css/Counter.h create mode 100644 libjava/org/w3c/dom/css/DOMImplementationCSS.h create mode 100644 libjava/org/w3c/dom/css/DocumentCSS.h create mode 100644 libjava/org/w3c/dom/css/ElementCSSInlineStyle.h create mode 100644 libjava/org/w3c/dom/css/RGBColor.h create mode 100644 libjava/org/w3c/dom/css/Rect.h create mode 100644 libjava/org/w3c/dom/css/ViewCSS.h create mode 100644 libjava/org/w3c/dom/events/DocumentEvent.h create mode 100644 libjava/org/w3c/dom/events/Event.h create mode 100644 libjava/org/w3c/dom/events/EventException.h create mode 100644 libjava/org/w3c/dom/events/EventListener.h create mode 100644 libjava/org/w3c/dom/events/EventTarget.h create mode 100644 libjava/org/w3c/dom/events/MouseEvent.h create mode 100644 libjava/org/w3c/dom/events/MutationEvent.h create mode 100644 libjava/org/w3c/dom/events/UIEvent.h create mode 100644 libjava/org/w3c/dom/html2/HTMLAnchorElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLAppletElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLAreaElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLBRElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLBaseElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLBaseFontElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLBodyElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLButtonElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLCollection.h create mode 100644 libjava/org/w3c/dom/html2/HTMLDListElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLDirectoryElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLDivElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLDocument.h create mode 100644 libjava/org/w3c/dom/html2/HTMLElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLFieldSetElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLFontElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLFormElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLFrameElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLFrameSetElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLHRElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLHeadElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLHeadingElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLHtmlElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLIFrameElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLImageElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLInputElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLIsIndexElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLLIElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLLabelElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLLegendElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLLinkElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLMapElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLMenuElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLMetaElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLModElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLOListElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLObjectElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLOptGroupElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLOptionElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLOptionsCollection.h create mode 100644 libjava/org/w3c/dom/html2/HTMLParagraphElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLParamElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLPreElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLQuoteElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLScriptElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLSelectElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLStyleElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTableCaptionElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTableCellElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTableColElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTableElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTableRowElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTableSectionElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTextAreaElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLTitleElement.h create mode 100644 libjava/org/w3c/dom/html2/HTMLUListElement.h create mode 100644 libjava/org/w3c/dom/ls/DOMImplementationLS.h create mode 100644 libjava/org/w3c/dom/ls/LSException.h create mode 100644 libjava/org/w3c/dom/ls/LSInput.h create mode 100644 libjava/org/w3c/dom/ls/LSLoadEvent.h create mode 100644 libjava/org/w3c/dom/ls/LSOutput.h create mode 100644 libjava/org/w3c/dom/ls/LSParser.h create mode 100644 libjava/org/w3c/dom/ls/LSParserFilter.h create mode 100644 libjava/org/w3c/dom/ls/LSProgressEvent.h create mode 100644 libjava/org/w3c/dom/ls/LSResourceResolver.h create mode 100644 libjava/org/w3c/dom/ls/LSSerializer.h create mode 100644 libjava/org/w3c/dom/ls/LSSerializerFilter.h create mode 100644 libjava/org/w3c/dom/ranges/DocumentRange.h create mode 100644 libjava/org/w3c/dom/ranges/Range.h create mode 100644 libjava/org/w3c/dom/ranges/RangeException.h create mode 100644 libjava/org/w3c/dom/stylesheets/DocumentStyle.h create mode 100644 libjava/org/w3c/dom/stylesheets/LinkStyle.h create mode 100644 libjava/org/w3c/dom/stylesheets/MediaList.h create mode 100644 libjava/org/w3c/dom/stylesheets/StyleSheet.h create mode 100644 libjava/org/w3c/dom/stylesheets/StyleSheetList.h create mode 100644 libjava/org/w3c/dom/traversal/DocumentTraversal.h create mode 100644 libjava/org/w3c/dom/traversal/NodeFilter.h create mode 100644 libjava/org/w3c/dom/traversal/NodeIterator.h create mode 100644 libjava/org/w3c/dom/traversal/TreeWalker.h create mode 100644 libjava/org/w3c/dom/views/AbstractView.h create mode 100644 libjava/org/w3c/dom/views/DocumentView.h create mode 100644 libjava/org/w3c/dom/xpath/XPathEvaluator.h create mode 100644 libjava/org/w3c/dom/xpath/XPathException.h create mode 100644 libjava/org/w3c/dom/xpath/XPathExpression.h create mode 100644 libjava/org/w3c/dom/xpath/XPathNSResolver.h create mode 100644 libjava/org/w3c/dom/xpath/XPathNamespace.h create mode 100644 libjava/org/w3c/dom/xpath/XPathResult.h create mode 100644 libjava/org/xml/sax/AttributeList.h create mode 100644 libjava/org/xml/sax/Attributes.h create mode 100644 libjava/org/xml/sax/ContentHandler.h create mode 100644 libjava/org/xml/sax/DTDHandler.h create mode 100644 libjava/org/xml/sax/DocumentHandler.h create mode 100644 libjava/org/xml/sax/EntityResolver.h create mode 100644 libjava/org/xml/sax/ErrorHandler.h create mode 100644 libjava/org/xml/sax/HandlerBase.h create mode 100644 libjava/org/xml/sax/InputSource.h create mode 100644 libjava/org/xml/sax/Locator.h create mode 100644 libjava/org/xml/sax/Parser.h create mode 100644 libjava/org/xml/sax/SAXException.h create mode 100644 libjava/org/xml/sax/SAXNotRecognizedException.h create mode 100644 libjava/org/xml/sax/SAXNotSupportedException.h create mode 100644 libjava/org/xml/sax/SAXParseException.h create mode 100644 libjava/org/xml/sax/XMLFilter.h create mode 100644 libjava/org/xml/sax/XMLReader.h create mode 100644 libjava/org/xml/sax/ext/Attributes2.h create mode 100644 libjava/org/xml/sax/ext/Attributes2Impl.h create mode 100644 libjava/org/xml/sax/ext/DeclHandler.h create mode 100644 libjava/org/xml/sax/ext/DefaultHandler2.h create mode 100644 libjava/org/xml/sax/ext/EntityResolver2.h create mode 100644 libjava/org/xml/sax/ext/LexicalHandler.h create mode 100644 libjava/org/xml/sax/ext/Locator2.h create mode 100644 libjava/org/xml/sax/ext/Locator2Impl.h create mode 100644 libjava/org/xml/sax/helpers/AttributeListImpl.h create mode 100644 libjava/org/xml/sax/helpers/AttributesImpl.h create mode 100644 libjava/org/xml/sax/helpers/DefaultHandler.h create mode 100644 libjava/org/xml/sax/helpers/LocatorImpl.h create mode 100644 libjava/org/xml/sax/helpers/NamespaceSupport$Context.h create mode 100644 libjava/org/xml/sax/helpers/NamespaceSupport.h create mode 100644 libjava/org/xml/sax/helpers/NewInstance.h create mode 100644 libjava/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.h create mode 100644 libjava/org/xml/sax/helpers/ParserAdapter.h create mode 100644 libjava/org/xml/sax/helpers/ParserFactory.h create mode 100644 libjava/org/xml/sax/helpers/XMLFilterImpl.h create mode 100644 libjava/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.h create mode 100644 libjava/org/xml/sax/helpers/XMLReaderAdapter.h create mode 100644 libjava/org/xml/sax/helpers/XMLReaderFactory.h create mode 100644 libjava/sun/misc/Service.h create mode 100644 libjava/sun/misc/ServiceConfigurationError.h create mode 100644 libjava/sun/misc/Unsafe.h create mode 100644 libjava/sun/misc/Unsafe.java create mode 100644 libjava/sun/misc/natUnsafe.cc create mode 100644 libjava/sun/reflect/Reflection.h create mode 100644 libjava/sun/reflect/Reflection.java create mode 100644 libjava/sun/reflect/annotation/AnnotationInvocationHandler.h create mode 100644 libjava/sun/reflect/annotation/AnnotationParser.h create mode 100644 libjava/sun/reflect/annotation/AnnotationType.h create mode 100644 libjava/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.h create mode 100644 libjava/sun/reflect/annotation/ExceptionProxy.h create mode 100644 libjava/sun/reflect/misc/ReflectUtil$MustBeNull.h create mode 100644 libjava/sun/reflect/misc/ReflectUtil.h create mode 100644 libjava/sun/reflect/misc/ReflectUtil.java create mode 100644 libjava/testsuite/libjava.cni/PR9577.h create mode 100644 libjava/testsuite/libjava.cni/PR9577.jar create mode 100644 libjava/testsuite/libjava.cni/longfield.h create mode 100644 libjava/testsuite/libjava.cni/longfield.jar create mode 100644 libjava/testsuite/libjava.cni/shortfield.h create mode 100644 libjava/testsuite/libjava.cni/shortfield.jar create mode 100644 libjava/testsuite/libjava.cni/shortfieldbase.h delete mode 100644 libjava/testsuite/libjava.compile/ArrayClass.java delete mode 100644 libjava/testsuite/libjava.compile/AssertBug.java delete mode 100644 libjava/testsuite/libjava.compile/Case.java delete mode 100644 libjava/testsuite/libjava.compile/G19990210_1.java delete mode 100644 libjava/testsuite/libjava.compile/G19990210_2.java delete mode 100644 libjava/testsuite/libjava.compile/G19990210_3.java delete mode 100644 libjava/testsuite/libjava.compile/G19990217_01.java delete mode 100644 libjava/testsuite/libjava.compile/G19990217_02.java delete mode 100644 libjava/testsuite/libjava.compile/G19990217_02.no-link delete mode 100644 libjava/testsuite/libjava.compile/G19990225_01.java delete mode 100644 libjava/testsuite/libjava.compile/InnerExcept.java delete mode 100644 libjava/testsuite/libjava.compile/MethodFailure4.java delete mode 100644 libjava/testsuite/libjava.compile/MethodFailure4.xfail delete mode 100644 libjava/testsuite/libjava.compile/N19990310_01.java delete mode 100644 libjava/testsuite/libjava.compile/N19990317.java delete mode 100644 libjava/testsuite/libjava.compile/OperatorBenchmark.java delete mode 100644 libjava/testsuite/libjava.compile/PR11600.java delete mode 100644 libjava/testsuite/libjava.compile/PR11600.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR12374.java delete mode 100644 libjava/testsuite/libjava.compile/PR124.java delete mode 100644 libjava/testsuite/libjava.compile/PR124.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR127.java delete mode 100644 libjava/testsuite/libjava.compile/PR127.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR12857.java delete mode 100644 libjava/testsuite/libjava.compile/PR129_B.java delete mode 100644 libjava/testsuite/libjava.compile/PR129_B.no-link delete mode 100644 libjava/testsuite/libjava.compile/PR13024.java delete mode 100644 libjava/testsuite/libjava.compile/PR13237.java delete mode 100644 libjava/testsuite/libjava.compile/PR1343.java delete mode 100644 libjava/testsuite/libjava.compile/PR13733.java delete mode 100644 libjava/testsuite/libjava.compile/PR13733.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR140.java delete mode 100644 libjava/testsuite/libjava.compile/PR140.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR14853.java delete mode 100644 libjava/testsuite/libjava.compile/PR14853.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR15769.java delete mode 100644 libjava/testsuite/libjava.compile/PR16249.java delete mode 100644 libjava/testsuite/libjava.compile/PR163.java delete mode 100644 libjava/testsuite/libjava.compile/PR163.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR164.java delete mode 100644 libjava/testsuite/libjava.compile/PR164.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR16675.java delete mode 100644 libjava/testsuite/libjava.compile/PR16701.java delete mode 100644 libjava/testsuite/libjava.compile/PR19277.java delete mode 100644 libjava/testsuite/libjava.compile/PR19277.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR19295.java delete mode 100644 libjava/testsuite/libjava.compile/PR19674.java delete mode 100644 libjava/testsuite/libjava.compile/PR20312.java delete mode 100644 libjava/testsuite/libjava.compile/PR20312.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR20418.java delete mode 100644 libjava/testsuite/libjava.compile/PR20418.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR206.java delete mode 100644 libjava/testsuite/libjava.compile/PR20697.java delete mode 100644 libjava/testsuite/libjava.compile/PR207.java delete mode 100644 libjava/testsuite/libjava.compile/PR207.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR208.java delete mode 100644 libjava/testsuite/libjava.compile/PR208.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR209.java delete mode 100644 libjava/testsuite/libjava.compile/PR21045.java delete mode 100644 libjava/testsuite/libjava.compile/PR224.java delete mode 100644 libjava/testsuite/libjava.compile/PR224.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR232.java delete mode 100644 libjava/testsuite/libjava.compile/PR232B.java delete mode 100644 libjava/testsuite/libjava.compile/PR234.java delete mode 100644 libjava/testsuite/libjava.compile/PR23431_1.java delete mode 100644 libjava/testsuite/libjava.compile/PR23431_1.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR23431_2.java delete mode 100644 libjava/testsuite/libjava.compile/PR23431_2.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR235.java delete mode 100644 libjava/testsuite/libjava.compile/PR238.java delete mode 100644 libjava/testsuite/libjava.compile/PR238.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR295.java delete mode 100644 libjava/testsuite/libjava.compile/PR310.java delete mode 100644 libjava/testsuite/libjava.compile/PR310.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR3417.java delete mode 100644 libjava/testsuite/libjava.compile/PR3417.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR374.java delete mode 100644 libjava/testsuite/libjava.compile/PR375.java delete mode 100644 libjava/testsuite/libjava.compile/PR4766.java delete mode 100644 libjava/testsuite/libjava.compile/PR5641.java delete mode 100644 libjava/testsuite/libjava.compile/PR5641.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR5848.java delete mode 100644 libjava/testsuite/libjava.compile/PR5848.xfail delete mode 100644 libjava/testsuite/libjava.compile/PR5902.java delete mode 100644 libjava/testsuite/libjava.compile/PR5913.java delete mode 100644 libjava/testsuite/libjava.compile/PR6026.java delete mode 100644 libjava/testsuite/libjava.compile/PR6865.java delete mode 100644 libjava/testsuite/libjava.compile/PR6865.xfail delete mode 100644 libjava/testsuite/libjava.compile/Semi.java delete mode 100644 libjava/testsuite/libjava.compile/Statics.java delete mode 100644 libjava/testsuite/libjava.compile/SuperConstr.java delete mode 100644 libjava/testsuite/libjava.compile/T20020529.java delete mode 100644 libjava/testsuite/libjava.compile/T20020604.java delete mode 100644 libjava/testsuite/libjava.compile/Twice.java delete mode 100644 libjava/testsuite/libjava.compile/Where.java delete mode 100644 libjava/testsuite/libjava.compile/Where.xfail delete mode 100644 libjava/testsuite/libjava.compile/XercesBug.java delete mode 100644 libjava/testsuite/libjava.compile/abstr.java delete mode 100644 libjava/testsuite/libjava.compile/abstr.xfail delete mode 100644 libjava/testsuite/libjava.compile/assignment.java delete mode 100644 libjava/testsuite/libjava.compile/assignment_2.java delete mode 100644 libjava/testsuite/libjava.compile/block.java delete mode 100644 libjava/testsuite/libjava.compile/block.xfail delete mode 100644 libjava/testsuite/libjava.compile/comment.java delete mode 100644 libjava/testsuite/libjava.compile/compile.exp delete mode 100644 libjava/testsuite/libjava.compile/consthrow.java delete mode 100644 libjava/testsuite/libjava.compile/consthrow.xfail delete mode 100644 libjava/testsuite/libjava.compile/final_assignment_check.java delete mode 100644 libjava/testsuite/libjava.compile/final_assignment_check.xfail delete mode 100644 libjava/testsuite/libjava.compile/final_initialization_in_ctor.java delete mode 100644 libjava/testsuite/libjava.compile/final_local_switch.java delete mode 100644 libjava/testsuite/libjava.compile/iface.java delete mode 100644 libjava/testsuite/libjava.compile/inner_1.java delete mode 100644 libjava/testsuite/libjava.compile/inner_1.xfail delete mode 100644 libjava/testsuite/libjava.compile/inner_data.java delete mode 100644 libjava/testsuite/libjava.compile/inner_inherit.java delete mode 100644 libjava/testsuite/libjava.compile/inner_priv.java delete mode 100644 libjava/testsuite/libjava.compile/inner_pub.java delete mode 100644 libjava/testsuite/libjava.compile/invokeinterface/A.java delete mode 100644 libjava/testsuite/libjava.compile/invokeinterface/B.java delete mode 100644 libjava/testsuite/libjava.compile/invokeinterface/Test.java delete mode 100644 libjava/testsuite/libjava.compile/narrow_case.java delete mode 100644 libjava/testsuite/libjava.compile/not_a_redef.java delete mode 100644 libjava/testsuite/libjava.compile/not_a_redef.xfail delete mode 100644 libjava/testsuite/libjava.compile/perc.java delete mode 100644 libjava/testsuite/libjava.compile/plusplus.java delete mode 100644 libjava/testsuite/libjava.compile/pr10459.java delete mode 100644 libjava/testsuite/libjava.compile/pr13788.java delete mode 100644 libjava/testsuite/libjava.compile/pr15656.java delete mode 100644 libjava/testsuite/libjava.compile/pr15656.xfail delete mode 100644 libjava/testsuite/libjava.compile/pr172.java delete mode 100644 libjava/testsuite/libjava.compile/pr17329.java delete mode 100644 libjava/testsuite/libjava.compile/pr174.java delete mode 100644 libjava/testsuite/libjava.compile/pr17500.java delete mode 100644 libjava/testsuite/libjava.compile/pr176.java delete mode 100644 libjava/testsuite/libjava.compile/pr21519.java delete mode 100644 libjava/testsuite/libjava.compile/pr21519.no-link delete mode 100644 libjava/testsuite/libjava.compile/pr21540.java delete mode 100644 libjava/testsuite/libjava.compile/pr25429.java delete mode 100644 libjava/testsuite/libjava.compile/pr26042.java delete mode 100644 libjava/testsuite/libjava.compile/pr7912.java delete mode 100644 libjava/testsuite/libjava.compile/pr8712.java delete mode 100644 libjava/testsuite/libjava.compile/pr8955.java delete mode 100644 libjava/testsuite/libjava.compile/redef1.java delete mode 100644 libjava/testsuite/libjava.compile/redef1.xfail delete mode 100644 libjava/testsuite/libjava.compile/redef2.java delete mode 100644 libjava/testsuite/libjava.compile/redef2.xfail delete mode 100644 libjava/testsuite/libjava.compile/redef3.java delete mode 100644 libjava/testsuite/libjava.compile/redef3.xfail delete mode 100644 libjava/testsuite/libjava.compile/redef4.java delete mode 100644 libjava/testsuite/libjava.compile/redef4.xfail delete mode 100644 libjava/testsuite/libjava.compile/redef5.java delete mode 100644 libjava/testsuite/libjava.compile/redef5.xfail delete mode 100644 libjava/testsuite/libjava.compile/redef6.java delete mode 100644 libjava/testsuite/libjava.compile/redef6.xfail delete mode 100644 libjava/testsuite/libjava.compile/rh174912.java delete mode 100644 libjava/testsuite/libjava.compile/rh175833.java delete mode 100644 libjava/testsuite/libjava.compile/static_1.java delete mode 100644 libjava/testsuite/libjava.compile/static_1.xfail delete mode 100644 libjava/testsuite/libjava.compile/static_2.java delete mode 100644 libjava/testsuite/libjava.compile/static_2.xfail delete mode 100644 libjava/testsuite/libjava.compile/static_3.java delete mode 100644 libjava/testsuite/libjava.compile/static_3.xfail delete mode 100644 libjava/testsuite/libjava.compile/static_init.java delete mode 100644 libjava/testsuite/libjava.compile/static_init.xfail delete mode 100644 libjava/testsuite/libjava.compile/static_init2.java delete mode 100644 libjava/testsuite/libjava.compile/static_inner.java delete mode 100644 libjava/testsuite/libjava.compile/support/Case.java delete mode 100644 libjava/testsuite/libjava.compile/support/PR129_A.java delete mode 100644 libjava/testsuite/libjava.compile/support/PR206_A.java delete mode 100644 libjava/testsuite/libjava.compile/support/PR207_A.java delete mode 100644 libjava/testsuite/libjava.compile/support/Waldo.java delete mode 100644 libjava/testsuite/libjava.compile/uesc.java delete mode 100644 libjava/testsuite/libjava.compile/uesc.xfail delete mode 100644 libjava/testsuite/libjava.compile/weirddecl.java delete mode 100644 libjava/testsuite/libjava.compile/weirddecl.xfail delete mode 100644 libjava/testsuite/libjava.compile/zeroexp.java delete mode 100644 libjava/testsuite/libjava.jacks/jacks.exp delete mode 100644 libjava/testsuite/libjava.jacks/jacks.xfail create mode 100644 libjava/testsuite/libjava.jni/PR15133.h create mode 100644 libjava/testsuite/libjava.jni/PR15133.jar create mode 100644 libjava/testsuite/libjava.jni/PR18116.h create mode 100644 libjava/testsuite/libjava.jni/PR18116.jar create mode 100644 libjava/testsuite/libjava.jni/PR28178.h create mode 100644 libjava/testsuite/libjava.jni/PR28178.jar create mode 100644 libjava/testsuite/libjava.jni/bytebuffer.h create mode 100644 libjava/testsuite/libjava.jni/bytebuffer.jar create mode 100644 libjava/testsuite/libjava.jni/calls.h create mode 100644 libjava/testsuite/libjava.jni/calls.jar create mode 100644 libjava/testsuite/libjava.jni/cxxtest.h create mode 100644 libjava/testsuite/libjava.jni/cxxtest.jar create mode 100644 libjava/testsuite/libjava.jni/directbuffer.h create mode 100644 libjava/testsuite/libjava.jni/directbuffer.jar create mode 100644 libjava/testsuite/libjava.jni/field.h create mode 100644 libjava/testsuite/libjava.jni/field.jar create mode 100644 libjava/testsuite/libjava.jni/final_method.h create mode 100644 libjava/testsuite/libjava.jni/final_method.jar create mode 100644 libjava/testsuite/libjava.jni/findclass.h create mode 100644 libjava/testsuite/libjava.jni/findclass.jar create mode 100644 libjava/testsuite/libjava.jni/iface.h create mode 100644 libjava/testsuite/libjava.jni/iface.jar create mode 100644 libjava/testsuite/libjava.jni/invocation/PR16923.jar create mode 100644 libjava/testsuite/libjava.jni/invoke.h create mode 100644 libjava/testsuite/libjava.jni/invoke.jar create mode 100644 libjava/testsuite/libjava.jni/jniutf.h create mode 100644 libjava/testsuite/libjava.jni/jniutf.jar create mode 100644 libjava/testsuite/libjava.jni/martin.h create mode 100644 libjava/testsuite/libjava.jni/martin.jar create mode 100644 libjava/testsuite/libjava.jni/noclass.h create mode 100644 libjava/testsuite/libjava.jni/noclass.jar create mode 100644 libjava/testsuite/libjava.jni/overload.h create mode 100644 libjava/testsuite/libjava.jni/overload.jar create mode 100644 libjava/testsuite/libjava.jni/pr11951.h create mode 100644 libjava/testsuite/libjava.jni/pr11951.jar create mode 100644 libjava/testsuite/libjava.jni/pr18278.h create mode 100644 libjava/testsuite/libjava.jni/pr18278.jar create mode 100644 libjava/testsuite/libjava.jni/pr23739.h create mode 100644 libjava/testsuite/libjava.jni/pr23739.jar create mode 100644 libjava/testsuite/libjava.jni/register.h create mode 100644 libjava/testsuite/libjava.jni/register.jar create mode 100644 libjava/testsuite/libjava.jni/register2.jar create mode 100644 libjava/testsuite/libjava.jni/simple_int.h create mode 100644 libjava/testsuite/libjava.jni/simple_int.jar create mode 100644 libjava/testsuite/libjava.jni/throwit.h create mode 100644 libjava/testsuite/libjava.jni/throwit.jar create mode 100644 libjava/testsuite/libjava.jni/virtual.h create mode 100644 libjava/testsuite/libjava.jni/virtual.jar create mode 100644 libjava/testsuite/libjava.jvmti/events.h create mode 100644 libjava/testsuite/libjava.jvmti/events.jar create mode 100644 libjava/testsuite/libjava.jvmti/geterrorname.h create mode 100644 libjava/testsuite/libjava.jvmti/geterrorname.jar create mode 100644 libjava/testsuite/libjava.lang/ArrayStore.jar create mode 100644 libjava/testsuite/libjava.lang/ArrayStore2.jar delete mode 100644 libjava/testsuite/libjava.lang/ArrayStore2.xfail create mode 100644 libjava/testsuite/libjava.lang/Array_1.jar create mode 100644 libjava/testsuite/libjava.lang/Array_2.jar create mode 100644 libjava/testsuite/libjava.lang/Array_3.jar create mode 100644 libjava/testsuite/libjava.lang/Class_1.jar create mode 100644 libjava/testsuite/libjava.lang/CompareNaN.jar create mode 100644 libjava/testsuite/libjava.lang/Divide_1.jar create mode 100644 libjava/testsuite/libjava.lang/EvaluationOrder.jar create mode 100644 libjava/testsuite/libjava.lang/ExtraClassLoader.jar create mode 100644 libjava/testsuite/libjava.lang/FileHandleGcTest.jar create mode 100644 libjava/testsuite/libjava.lang/Final.jar create mode 100644 libjava/testsuite/libjava.lang/Float_1.jar create mode 100644 libjava/testsuite/libjava.lang/Float_2.jar create mode 100644 libjava/testsuite/libjava.lang/G19990301_01.jar create mode 100644 libjava/testsuite/libjava.lang/G19990302_02.jar create mode 100644 libjava/testsuite/libjava.lang/G19990303_01.jar create mode 100644 libjava/testsuite/libjava.lang/G19990303_02.jar create mode 100644 libjava/testsuite/libjava.lang/G19990304_01.jar create mode 100644 libjava/testsuite/libjava.lang/G19990310_01.jar create mode 100644 libjava/testsuite/libjava.lang/II.jar create mode 100644 libjava/testsuite/libjava.lang/InterfaceDispatch.jar create mode 100644 libjava/testsuite/libjava.lang/InvokeInterface.jar create mode 100644 libjava/testsuite/libjava.lang/InvokeReturn.jar create mode 100644 libjava/testsuite/libjava.lang/Invoke_1.jar create mode 100644 libjava/testsuite/libjava.lang/Invoke_2.jar create mode 100644 libjava/testsuite/libjava.lang/KeepInline.jar create mode 100644 libjava/testsuite/libjava.lang/LargeFile.jar create mode 100644 libjava/testsuite/libjava.lang/MathBuiltin.jar create mode 100644 libjava/testsuite/libjava.lang/Matrix4f.jar create mode 100644 libjava/testsuite/libjava.lang/N19990310_02.jar create mode 100644 libjava/testsuite/libjava.lang/N19990310_3.jar create mode 100644 libjava/testsuite/libjava.lang/N19990310_4.jar create mode 100644 libjava/testsuite/libjava.lang/N19990310_5.jar create mode 100644 libjava/testsuite/libjava.lang/Overflow.jar create mode 100644 libjava/testsuite/libjava.lang/PR12350.jar create mode 100644 libjava/testsuite/libjava.lang/PR12416.jar create mode 100644 libjava/testsuite/libjava.lang/PR12656.jar create mode 100644 libjava/testsuite/libjava.lang/PR12915.jar create mode 100644 libjava/testsuite/libjava.lang/PR141.jar create mode 100644 libjava/testsuite/libjava.lang/PR160.jar create mode 100644 libjava/testsuite/libjava.lang/PR162.jar create mode 100644 libjava/testsuite/libjava.lang/PR16867.jar create mode 100644 libjava/testsuite/libjava.lang/PR18699.jar create mode 100644 libjava/testsuite/libjava.lang/PR19870.jar create mode 100644 libjava/testsuite/libjava.lang/PR19870_2.jar create mode 100644 libjava/testsuite/libjava.lang/PR19921.jar create mode 100644 libjava/testsuite/libjava.lang/PR20056.jar create mode 100644 libjava/testsuite/libjava.lang/PR218.jar create mode 100644 libjava/testsuite/libjava.lang/PR242.jar create mode 100644 libjava/testsuite/libjava.lang/PR25535.jar create mode 100644 libjava/testsuite/libjava.lang/PR260.jar create mode 100644 libjava/testsuite/libjava.lang/PR26858.jar create mode 100644 libjava/testsuite/libjava.lang/PR27908.jar create mode 100644 libjava/testsuite/libjava.lang/PR29013.jar create mode 100644 libjava/testsuite/libjava.lang/PR29495.jar create mode 100644 libjava/testsuite/libjava.lang/PR29495.java create mode 100644 libjava/testsuite/libjava.lang/PR29495.out create mode 100644 libjava/testsuite/libjava.lang/PR3096.jar create mode 100644 libjava/testsuite/libjava.lang/PR3731.jar create mode 100644 libjava/testsuite/libjava.lang/PR5057.jar create mode 100644 libjava/testsuite/libjava.lang/PR5057_2.jar create mode 100644 libjava/testsuite/libjava.lang/PR55.jar create mode 100644 libjava/testsuite/libjava.lang/PR56.jar create mode 100644 libjava/testsuite/libjava.lang/PR6085.jar create mode 100644 libjava/testsuite/libjava.lang/PR6204.jar create mode 100644 libjava/testsuite/libjava.lang/PR6520.jar create mode 100644 libjava/testsuite/libjava.lang/PR6729.jar create mode 100644 libjava/testsuite/libjava.lang/PR6820.jar create mode 100644 libjava/testsuite/libjava.lang/PR7482.jar create mode 100644 libjava/testsuite/libjava.lang/PR8866.jar create mode 100644 libjava/testsuite/libjava.lang/Process_1.jar create mode 100644 libjava/testsuite/libjava.lang/Process_2.jar create mode 100644 libjava/testsuite/libjava.lang/Process_3.jar create mode 100644 libjava/testsuite/libjava.lang/Process_4.jar create mode 100644 libjava/testsuite/libjava.lang/Process_5.jar create mode 100644 libjava/testsuite/libjava.lang/Process_6.jar create mode 100644 libjava/testsuite/libjava.lang/RH194522.jar create mode 100644 libjava/testsuite/libjava.lang/Serialization.jar create mode 100644 libjava/testsuite/libjava.lang/Shazam.jar create mode 100644 libjava/testsuite/libjava.lang/StackTrace2.jar create mode 100644 libjava/testsuite/libjava.lang/StaticConstructor.jar create mode 100644 libjava/testsuite/libjava.lang/StringBuffer_1.jar create mode 100644 libjava/testsuite/libjava.lang/StringBuffer_overflow.jar create mode 100644 libjava/testsuite/libjava.lang/String_overflow.jar create mode 100644 libjava/testsuite/libjava.lang/SyncGlobal.jar create mode 100644 libjava/testsuite/libjava.lang/SyncTest.jar create mode 100644 libjava/testsuite/libjava.lang/Synch.jar create mode 100644 libjava/testsuite/libjava.lang/TLtest.jar create mode 100644 libjava/testsuite/libjava.lang/TestProxy.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Alive.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_HoldsLock.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Interrupt.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Join.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Monitor.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Sleep.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Sleep_2.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Wait.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Wait_2.jar create mode 100644 libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.jar create mode 100644 libjava/testsuite/libjava.lang/Throw_1.jar create mode 100644 libjava/testsuite/libjava.lang/Throw_2.jar create mode 100644 libjava/testsuite/libjava.lang/Throw_3.jar create mode 100644 libjava/testsuite/libjava.lang/anfi.jar create mode 100644 libjava/testsuite/libjava.lang/anon.jar create mode 100644 libjava/testsuite/libjava.lang/anon2.jar create mode 100644 libjava/testsuite/libjava.lang/anon3.jar create mode 100644 libjava/testsuite/libjava.lang/anon4.jar create mode 100644 libjava/testsuite/libjava.lang/anon_ctor_itf_arg.jar create mode 100644 libjava/testsuite/libjava.lang/anonarray.jar create mode 100644 libjava/testsuite/libjava.lang/anonarray2.jar create mode 100644 libjava/testsuite/libjava.lang/anonarray3.jar create mode 100644 libjava/testsuite/libjava.lang/assign.jar create mode 100644 libjava/testsuite/libjava.lang/assign2.jar create mode 100644 libjava/testsuite/libjava.lang/bclink.jar create mode 100644 libjava/testsuite/libjava.lang/bytearray.jar create mode 100644 libjava/testsuite/libjava.lang/direct_read.jar create mode 100644 libjava/testsuite/libjava.lang/direct_write.jar create mode 100644 libjava/testsuite/libjava.lang/emptystring.jar create mode 100644 libjava/testsuite/libjava.lang/err1.jar create mode 100644 libjava/testsuite/libjava.lang/err10.jar create mode 100644 libjava/testsuite/libjava.lang/err11.jar create mode 100644 libjava/testsuite/libjava.lang/err12.jar create mode 100644 libjava/testsuite/libjava.lang/err13.jar create mode 100644 libjava/testsuite/libjava.lang/err14.jar create mode 100644 libjava/testsuite/libjava.lang/err2.jar create mode 100644 libjava/testsuite/libjava.lang/err3.jar create mode 100644 libjava/testsuite/libjava.lang/err4.jar create mode 100644 libjava/testsuite/libjava.lang/err5.jar create mode 100644 libjava/testsuite/libjava.lang/err6.jar create mode 100644 libjava/testsuite/libjava.lang/err7.jar create mode 100644 libjava/testsuite/libjava.lang/err8.jar create mode 100644 libjava/testsuite/libjava.lang/err9.jar create mode 100644 libjava/testsuite/libjava.lang/final_inner.jar create mode 100644 libjava/testsuite/libjava.lang/final_int.jar create mode 100644 libjava/testsuite/libjava.lang/final_static_and_friend.jar create mode 100644 libjava/testsuite/libjava.lang/indirect.jar create mode 100644 libjava/testsuite/libjava.lang/indirect_read.jar create mode 100644 libjava/testsuite/libjava.lang/indirect_write.jar create mode 100644 libjava/testsuite/libjava.lang/initexc.jar create mode 100644 libjava/testsuite/libjava.lang/initfield.jar create mode 100644 libjava/testsuite/libjava.lang/inline.jar create mode 100644 libjava/testsuite/libjava.lang/inner1.jar create mode 100644 libjava/testsuite/libjava.lang/inner2.jar create mode 100644 libjava/testsuite/libjava.lang/inner3.jar create mode 100644 libjava/testsuite/libjava.lang/inner4.jar create mode 100644 libjava/testsuite/libjava.lang/inner_array.jar create mode 100644 libjava/testsuite/libjava.lang/inner_interface.jar create mode 100644 libjava/testsuite/libjava.lang/instance.jar create mode 100644 libjava/testsuite/libjava.lang/instinit.jar create mode 100644 libjava/testsuite/libjava.lang/instinit2.jar create mode 100644 libjava/testsuite/libjava.lang/invoke_from_inner.jar create mode 100644 libjava/testsuite/libjava.lang/invokethrow.jar create mode 100644 libjava/testsuite/libjava.lang/klass.jar create mode 100644 libjava/testsuite/libjava.lang/md5test.jar create mode 100644 libjava/testsuite/libjava.lang/multiple_finit.jar create mode 100644 libjava/testsuite/libjava.lang/negzero.jar create mode 100644 libjava/testsuite/libjava.lang/nested_with_ctor.jar create mode 100644 libjava/testsuite/libjava.lang/newarray_overflow.jar create mode 100644 libjava/testsuite/libjava.lang/override.jar create mode 100644 libjava/testsuite/libjava.lang/pr100.jar create mode 100644 libjava/testsuite/libjava.lang/pr109.jar create mode 100644 libjava/testsuite/libjava.lang/pr13107.jar create mode 100644 libjava/testsuite/libjava.lang/pr13107_2.jar create mode 100644 libjava/testsuite/libjava.lang/pr13107_3.jar create mode 100644 libjava/testsuite/libjava.lang/pr133.jar create mode 100644 libjava/testsuite/libjava.lang/pr16789.jar create mode 100644 libjava/testsuite/libjava.lang/pr17536.jar create mode 100644 libjava/testsuite/libjava.lang/pr179.jar create mode 100644 libjava/testsuite/libjava.lang/pr184.jar create mode 100644 libjava/testsuite/libjava.lang/pr21785.jar create mode 100644 libjava/testsuite/libjava.lang/pr21844.jar create mode 100644 libjava/testsuite/libjava.lang/pr22211.jar create mode 100644 libjava/testsuite/libjava.lang/pr24321.jar create mode 100644 libjava/testsuite/libjava.lang/pr25676.jar create mode 100644 libjava/testsuite/libjava.lang/pr26390.jar create mode 100644 libjava/testsuite/libjava.lang/pr26990.jar create mode 100644 libjava/testsuite/libjava.lang/pr27171.jar create mode 100644 libjava/testsuite/libjava.lang/pr6388.jar create mode 100644 libjava/testsuite/libjava.lang/pr83.jar create mode 100644 libjava/testsuite/libjava.lang/pr8415.jar create mode 100644 libjava/testsuite/libjava.lang/pr8676.jar create mode 100644 libjava/testsuite/libjava.lang/pr8823.jar create mode 100644 libjava/testsuite/libjava.lang/pr8945.jar create mode 100644 libjava/testsuite/libjava.lang/private_direct_read.jar create mode 100644 libjava/testsuite/libjava.lang/private_direct_write.jar create mode 100644 libjava/testsuite/libjava.lang/private_indirect_read.jar create mode 100644 libjava/testsuite/libjava.lang/private_indirect_write.jar create mode 100644 libjava/testsuite/libjava.lang/search_outer.jar create mode 100644 libjava/testsuite/libjava.lang/shatest.jar create mode 100644 libjava/testsuite/libjava.lang/stacktrace.jar create mode 100644 libjava/testsuite/libjava.lang/stringconst.jar delete mode 100644 libjava/testsuite/libjava.lang/stringconst.xfail create mode 100644 libjava/testsuite/libjava.lang/stringconst2.jar create mode 100644 libjava/testsuite/libjava.lang/stub.jar create mode 100644 libjava/testsuite/libjava.lang/test_long.jar create mode 100644 libjava/testsuite/libjava.lang/tmi.jar create mode 100644 libjava/testsuite/libjava.lang/tp.jar create mode 100644 libjava/testsuite/libjava.lang/update_outer.jar create mode 100644 libjava/testsuite/libjava.lang/utf8concat.jar create mode 100644 libjava/testsuite/libjava.lang/utilTest.jar create mode 100644 libjava/testsuite/libjava.lang/verify.jar create mode 100644 libjava/testsuite/libjava.loader/TestEarlyGC.jar create mode 100644 libjava/testsuite/libjava.loader/TestLeak.jar create mode 100644 libjava/testsuite/libjava.loader/TestMultiple.jar create mode 100644 libjava/testsuite/libjava.loader/TestParent.jar create mode 100644 libjava/testsuite/libjava.loader/dummy.class (limited to 'libjava') diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3653a8df5d7..2e972548e94 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,1234 @@ +2007-01-05 Tom Tromey + + * testsuite/libjava.loader/loader.exp (gcj_loader_run): Find + dummy.class in srcdir. + +2007-01-03 Tom Tromey + + * testsuite/libjava.cni/cni.exp (gcj_cni_compile_cxx_to_o): Add -I + for srcdir. + +2007-01-03 Tom Tromey + + * testsuite/*: Added many .jar and .h files. + * testsuite/libjava.special/special.exp + (gcj_special_try_compiler): New proc. + * testsuite/libjava.loader/loader.exp (gcj_loader_run): Don't + bytecompile source. Search for .jar files. + (gcj_loader_test_one): Don't look for MyLoader.java. + * testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_test_one): Don't + bytecompile sources or build headers. + (gcj_jvmti_run): Look for .jar files. + * testsuite/libjava.jni/jni.exp (gcj_jni_run): Compile .jar + files. + (gcj_jni_test_one): Don't bytecompile sources or build headers. + Set classpath when invoking gij. + (gcj_jni_invocation_test_one): Likewise. + * testsuite/libjava.cni/cni.exp (gcj_cni_test_one): Don't build + headers or bytecompile sources. + (gcj_cni_run): Use .jar files, not .java files. + * testsuite/libjava.lang/lang.exp: Compile .jar files. + +2007-01-02 Tom Tromey + + * configure: Rebuilt. + * configure.ac: Check for gjar. + +2007-01-02 Tom Tromey + + * testsuite/libjava.jacks/jacks.exp: Removed. + * testsuite/libjava.jacks/jacks.xfail: Removed. + +2006-12-22 Tom Tromey + + * sources.am, Makefile.in: Rebuilt. + * java/io/natObjectInputStream.cc (allocateObject): Now method on + VMObjectStream. + (currentLoader): Removed. + * java/io/ObjectInputStream.java: Removed. + * java/io/VMObjectInputStream.java: New file. + * scripts/classes.pl (scan): Ignore .svn directories. + * gcj/javaprims.h: Updated. + +2006-12-22 Tom Tromey + + * testsuite/libjava.jni/register2.c: Include jni.h, not + register2.h. + * testsuite/libjava.cni/cni.exp (gcj_cni_build_headers): + Special-case shortfield. + +2006-12-20 Andrew Haley + + * java/lang/natClass.cc (getDeclaredAnnotations): Call + ClassLoader.getDeclaredAnnotations and + ClassLoader.putDeclaredAnnotations. + * java/lang/ClassLoader.java (AnnotationsKey): New class. + (getDeclaredAnnotations, putDeclaredAnnotations): New. + +2006-12-19 Andrew Haley + + * java/lang/natClassLoader.cc (_Jv_CheckABIVersion): Move here + from include/jvm.h. + Add BC ABI Version 1. + Throw a ClassFormatError if we're not ABI-compatible. + (_Jv_RegisterClasses): Throw a ClassFormatError if we're not + ABI-compatible. + (_Jv_RegisterClasses_Counted): Likewise. + (_Jv_NewClassFromInitializer): Likewise. + Call Class::initializerSize to get size of initializer struct. + * include/jvm.h (_Jv_CheckABIVersion): Move to natClassLoader.cc. + * java/lang/Class.h (Class::initializerSize): New function. + +2006-12-18 Tom Tromey + + * testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_build_headers): + Don't use jv-scan. + +2006-12-18 Tom Tromey + + * HACKING: Updated. + * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.93. + +2006-12-15 Tom Tromey + + * configure, Makefile.in: Rebuilt. + * Makefile.am (gcjh.stamp): Use JAVA_MAINTAINER_MODE. + * configure.ac: Added --enable-java-maintainer-mode. + +2006-12-15 Tom Tromey + + * testsuite/libjava.compile: Removed. + +2006-12-15 Andrew Haley + + * Makefile.am (AM_MAKEFLAGS): Pass JAR to sub-make. + (libgcj_tools_la_GCJFLAGS): Pass -fsource-filename to gcj. + +2006-12-14 Gary Benson + + * include/java-stack.h (stackwalker_nnl_trace_fn, + GetStackWalkerFirstNonNullLoader): Declare. + * stacktrace.cc (stackwalker_nnl_trace_fn, + GetStackWalkerFirstNonNullLoader): New methods. + * gnu/classpath/natVMStackWalker.cc + (firstNonNullClassLoader): New method. + * gnu/classpath/VMStackWalker.java + (firstNonNullClassLoader): Replace with native method. + +2006-12-13 Gary Benson + + * stacktrace.cc (stackwalker_trace_fn, + GetStackWalkerCallingClass): Be less strict about caller. + * gnu/classpath/natVMStackWalker.cc + (getCallingClassLoader): New method. + * gnu/classpath/VMStackWalker.java + (getCallingClassLoader): Replace with native method. + +2006-12-12 Tom Tromey + + * sources.am, Makefile.in: Rebuilt. + * gnu/java/rmi/rmic/CompilerProcess.java: Removed. + * gnu/java/rmi/rmic/RMICException.java: Removed. + * gnu/java/rmi/rmic/Compiler.java: Removed. + * gnu/java/rmi/rmic/Compile_gcj.java: Removed. + * gnu/java/rmi/rmic/Compile_jikes.java: Removed. + * gnu/java/rmi/rmic/TabbedWriter.java: Removed. + * gnu/java/rmi/rmic/Compile_kjc.java: Removed. + * gnu/java/rmi/rmic/RMIC.java: Removed. + * Makefile.am (toolexeclib_LTLIBRARIES): Uncomment + libgcj-tools.la. + (jar_DATA): Uncomment libgcj-tools jar. + (libgcj_tools_la_SOURCES): Uncomment. + (libgcj_tools_la_GCJFLAGS): Likewise. + (libgcj_tools_la_LDFLAGS): Likewise. + (libgcj_tools_la_DEPENDENCIES): Likewise. + (libgcj_tools_la_LINK): Likewise. + (libgcj-tools-$(gcc_version).jar): Uncomment. + (bin_PROGRAMS): Add gappletviewer, gjarsigner, gkeytool, gjar, + gjavah, gnative2ascii, gorbd, grmid, gserialver, gtnameserv. + (gjar_SOURCES): New variable. + (gjar_LDFLAGS): Likewise. + (gjar_LINK): Likewise. + (gjar_LDADD): Likewise. + (gjar_DEPENDENCIES): Likewise. + (gjavah_SOURCES): Likewise. + (gjavah_LDFLAGS): Likewise. + (gjavah_LINK): Likewise. + (gjavah_LDADD): Likewise. + (gjavah_DEPENDENCIES): Likewise. + (gnative2ascii_SOURCES): Likewise. + (gnative2ascii_LDFLAGS): Likewise. + (gnative2ascii_LINK): Likewise. + (gnative2ascii_LDADD): Likewise. + (gnative2ascii_DEPENDENCIES): Likewise. + (gorbd_SOURCES): Likewise. + (gorbd_LDFLAGS): Likewise. + (gorbd_LINK): Likewise. + (gorbd_LDADD): Likewise. + (gorbd_DEPENDENCIES): Likewise. + (grmid_SOURCES): Likewise. + (grmid_LDFLAGS): Likewise. + (grmid_LINK): Likewise. + (grmid_LDADD): Likewise. + (grmid_DEPENDENCIES): Likewise. + (gserialver_SOURCES): Likewise. + (gserialver_LDFLAGS): Likewise. + (gserialver_LINK): Likewise. + (gserialver_LDADD): Likewise. + (gserialver_DEPENDENCIES): Likewise. + (gtnameserv_SOURCES): Likewise. + (gtnameserv_LDFLAGS): Likewise. + (gtnameserv_LINK): Likewise. + (gtnameserv_LDADD): Likewise. + (gtnameserv_DEPENDENCIES): Likewise. + (grmic_LDADD): Link against tools library. + (grmic_LDFLAGS): Changed --main. + (grmiregistry_LDADD): Link against tools library. + (grmiregistry_LDFLAGS): Changed --main. + (grmic_DEPENDENCIES): Updated. + (grmiregistry_DEPENDENCIES): Likewise. + +2006-12-12 Tom Tromey + + * sources.am, Makefile.in: Rebuilt. + * gnu/java/nio/FileLockImpl.java: New override. + * gnu/java/nio/SelectorProviderImpl.java: New override. + * gnu/java/nio/PipeImpl.java: New override. + * gnu/java/nio/SocketChannelSelectionKeyImpl.java: New override. + * gnu/java/nio/NIOSocket.java: New override. + * gnu/java/nio/SocketChannelSelectionKey.java: New override. + * java/io/FileDescriptor.java: New override. + * java/io/RandomAccessFile.java: New override. + * java/io/FileInputStream.java: New override. + * java/io/FileOutputStream.java: New override. + * configure.ac: Pass --disable-Werror, --disable-tool-wrappers to + Classpath configure. + * java/io/ObjectInputStream.java (readClassDescriptor): Don't pass + class loader to ObjectStreamField. + * java/net/DatagramSocket.java: New override. + * java/net/Socket.java: New override. + * java/net/MulticastSocket.java: New override. + * gnu/classpath/VMStackWalker.java (firstNonNullClassLoader): New + method from Classpath. + * java/lang/Class.java (newInstance): Fixed return type. + (forName): Likewise. + (getClasses): Likewise. + (getComponentType): Likewise. + (getConstructors): Likewise. + (getDeclaredClasses): Likewise. + (getDeclaredConstructors): Likewise. + (getDeclaringClass): Likewise. + (getInterfaces): Likewise. + (getSuperclass): Likewise. + (internalGetClasses): Genericized. + (getMethod): Likewise. + (isAssignableFrom): Likewise. + * java/util/zip/natDeflater.cc (getBytesWritten): Renamed. + (getBytesRead): Likewise. + * java/util/zip/Deflater.java (getBytesRead, getBytesWritten): New + methods. + (getTotalIn, getTotalOut): Rewrote. + * java/net/NetworkInterface.java: New override. + * java/lang/ClassLoader.java (defineClass): New overload from + Classpath. + +2006-12-11 Gary Benson + + * gcj/Makefile.in: Rebuilt. + +2006-12-11 Gary Benson + + * Makefile.in: Rebuilt. + * include/Makefile.in: Likewise. + * testsuite/Makefile.in: Likewise. + +2006-12-08 Mohan Embar + + * configure, Makefile.in: Rebuilt. + * configure.ac: (GCJ_FOR_ECJX) New substitution. + (host_exeext): Likewise. + (ENABLE_SHARED): New conditional, + * Makefile.am: Added GCJ_FOR_ECJX and GCJ_FOR_ECJX_LINK. + (install-exec-hook): Correctly rename ecjx to ecj1. + (ecjx_LINK, ecjx_LDFLAGS, ecjx_LDADD, ecjx_DEPENDENCIES): Define + as a function of whether we're doing a native and/or shared build. + +2006-12-08 Mohan Embar + + * posix-threads.cc (_Jv_ThreadUnpark): Removed. + (ParkHelper::unpark): Ported from _Jv_ThreadUnpark. + (ParkHelper::deactivate): Implemented. + (_Jv_ThreadPark): Removed. + (ParkHelper::park): Ported from _Jv_ThreadPark; moved + mutex locking and unlocking to inside if statement. + * win32-threads.cc (compare_and_exchange): New helper function. + (_Jv_ThreadUnpark, _Jv_ThreadPark): Removed. + (ParkHelper::init): Implemented. + (ParkHelper::init_event): Implemented. + (ParkHelper::deactivate): Implemented. + (ParkHelper::destroy): Implemented. + (ParkHelper::unpark): Implemented. + (ParkHelper::park): Implemented. + * java/lang/natThread.cc (initialize_native): Use ParkHelper + instead of POSIX synchronization constructs. + (finalize_native): Likewise. + (interrupt): Use ParkHelper method instead of _Jv_ThreadUnpark(). + (finish_): Use ParkHelper::deactivate(). + * include/jvm.h (struct natThread): Use ParkHelper instead of POSIX + synchronization constructs. + * include/posix-threads.h: Include sysdep/locks.h + (_Jv_ThreadUnpark, _Jv_ThreadPark): Removed. + (ParkHelper): New struct. + (ParkHelper::init): Implemented. + (ParkHelper::destroy): Implemented. + * include/win32-threads.h (ParkHelper): New struct. + (TEXT): undefined this macro. + * sun/misc/natUnsafe.cc (unpark): Use ParkHelper instead of + _Jv_ThreadUnpark. + (park): Use ParkHelper instead of _Jv_ThreadPark. + +2006-12-08 Ben Konrath + + PR libgcj/30110: + * Makefile.am: Add contents of classpath/external to src.zip. + * Makefile.in: Regenerate. + +2006-12-07 Tom Tromey + + PR libgcj/30076: + * defineclass.cc (read_fields): Sort fields here. + (handleFieldsEnd): Removed. + (handleField): Added field map argument. + (struct _Jv_ClassReader): Updated. + (handleParameterAnnotations): Use writeInt for the length. + +2006-12-07 Gary Benson + + * include/java-stack.h (stackwalker_trace_fn, + GetStackWalkerCallingClass): Declare. + * stacktrace.cc (stackwalker_trace_fn, + GetStackWalkerCallingClass): New methods. + * gnu/classpath/natVMStackWalker.cc + (getCallingClass): Use the above. + * gnu/classpath/VMStackWalker.java + (getCallingClass): Replace with native method. + +2006-12-06 Tom Tromey + + PR java/24938: + * sources.am, Makefile.in: Rebuilt. + * gnu/CORBA/DynAn/gnuDynValue.java: Removed. + * gnu/CORBA/DynAn/RecordAny.java: Removed. + * gnu/CORBA/DynAn/RecordAny.h: Rebuilt. + +2006-12-06 Andrew Haley + + * gcj/javaprims.h (_Jv_is_proxy): Declare. + * java/lang/reflect/natVMProxy.cc (_Jv_is_proxy): Define + (run_proxy): Register this proxy invocation with a _Jv_InterpFrame. + * include/java-stack.h (struct _Jv_StackFrame): Add proxyClass and + proxyMethod. + * stacktrace.cc (UnwindTraceFn): Add frame_proxy handling. + (getLineNumberForFrame): Likewise. + (FillInFrameInfo): Likewise. + +2006-12-05 Andrew Haley + + * Makefile.am: Add java/lang/reflect/natVMProxy.cc. + * java/lang/reflect/Method.java (exception_types, parameter_types, + return_type): Make package private. + * include/jvm.h (_Jv_makeUtf8Const(const char *s)): New function. + (_Jv_Linker::layout_vtable_methods): Given + public linkage. + (_Jv_Linker::search_method_in_class): Likewise. + * interpret.cc (_Jv_init_cif): Renamed from init_cif. Given + public linkage. + * include/java-interp.h (_Jv_init_cif): Likewise. + * java/lang/reflect/natVMProxy.cc: New file. + * java/lang/VMCompiler.java (precompiles): New method. + (compileClass): Use it. + * java/lang/reflect/VMProxy.java + (HAVE_NATIVE_GENERATE_PROXY_CLASS): true. + (generateProxyClass): Native. + +2006-12-05 Tom Tromey + + * Makefile.in: Rebuilt. + * Makefile.am (libexecsubdir): New variable. + (install-exec-hook): Install ecj1 in libexecsubdir. + (libexecsub_PROGRAMS): Renamed. + +2006-12-05 Tom Tromey + + PR java/29495: + * testsuite/libjava.lang/PR29495.out: New file. + * testsuite/libjava.lang/PR29495.java: New file. + +2006-12-05 Gary Benson + + * gnu/classpath/natVMStackWalker.cc: Comment fixes. + +2006-12-05 Gary Benson + + * gnu/classpath/natVMStackWalker.cc (getCallingClass): Unwind + the stack when the caller is a compiled frame and the caller + of the caller is an interpreted frame. + +2006-12-04 Adam Megacz + + * gnu/gcj/runtime/natSharedLibLoader.cc (init): add "::" to fix + syntax error + +2006-12-04 Adam Megacz + + * include/win32.h (_Jv_platform_process): change to Win32Process + +2006-12-04 Gary Benson + + * stacktrace.cc (GetClassContext): Remove. + * include/java-stack.h (GetClassContext): Likewise. + +2006-12-04 Gary Benson + + * java/lang/SecurityManager.java: Removed. + * java/lang/VMSecurityManager.java: Likewise. + * java/lang/natVMSecurityManager.cc: Likewise. + * javax/naming/spi/NamingManager.java: Likewise. + * gnu/CORBA/ObjectCreator.java: Likewise. + * sun/reflect/Reflection.java: Replaced with reference. + * sun/reflect/natReflection.cc: Removed. + * gcj/javaprims.h: Removed reference to VMSecurityManager. + * Makefile.am (nat_source_files): Removed natReflection.cc + and natVMSecurityManager.cc. + * sources.am, Makefile.in: Rebuilt. + +2006-12-01 Gary Benson + + * java/net/URLClassLoader.java + (findClass): Inhibit calling this.toString() further into VM + initialization. + (runtimeInitialized): Removed. + * java/net/natURLClassLoader.cc: Removed. + * Makefile.am: Reflect the above. + * Makefile.in: Rebuilt. + +2006-11-30 Tom Tromey + + * java/lang/Class.java (getAnnotations): Don't recurse. + +2006-11-30 Gary Benson + + * include/java-stack.h (GetStackWalkerStack): Declare. + * stacktrace.cc (GetStackWalkerStack): New method. + * gnu/classpath/natVMStackWalker.cc (getClassContext): Likewise. + * gnu/classpath/VMStackWalker.java + (getClassContext): Replace stub with native method declaration. + (getCallingClass): Remove "throws NotImplementedException". + (getCallingClassLoader): Likewise. + +2006-11-30 Gary Benson + + * java/lang/ClassLoader.java: Merged javadoc. + (getParent, getSystemClassLoader): Use VMStackWalker. + +2006-11-30 Gary Benson + + * java/lang/Thread.java: Merged javadoc. + (getContextClassLoader): Use VMStackWalker. + +2006-11-29 Gary Benson + + * java/lang/Package.java: Removed. + * java/security/Security.java: Likewise. + * java/util/ResourceBundle.java: Likewise. + * java/util/natResourceBundle.cc: Likewise. + * Makefile.am (nat_source_files): Removed natResourceBundle.cc. + * sources.am, Makefile.in: Rebuilt. + +2006-11-29 Gary Benson + + * gnu/classpath/VMStackWalker.java: Added javadoc. + +2006-11-27 Andrew Haley + + * sun/reflect/misc/ReflectUtil.java (checkPackageAccess): + Implement. + +2006-11-23 Andrew Haley + + * java/lang/natClassLoader.cc (_Jv_RegisterClasses): Abort if we + are ABI-incompatible. + +2006-11-23 Andrew Haley + + * Makefile.am (nat_source_files): Add gnu/classpath/natVMStackWalker.cc. + * sources.am: Rebuild. + * gnu/classpath/natVMStackWalker.cc: New file. + * gnu/classpath/VMStackWalker.java: New file. + * headers.txt: prepend + _Jv_Thread_t* _Jv_ThreadGetData(java::lang::Thread* thread) + * include/java-stack.h: Add VMStackWalker namespace. + Add friend class gnu::classpath::VMStackWalker. + +2006-11-23 Gary Benson + + * java/security/Security.java: Merge with classpath. + * java/lang/Package.java: Likewise. + +2006-11-21 Andrew Haley + + * java/lang/Class.h: (isEnum, isSynthetic, isAnnotation): Move + to native code. + * java/lang/Class.java (isEnum, isSynthetic, isAnnotation): + Likewise. + +2006-11-17 Andrew Haley + + * java/net/natVMURLConnection.cc: Check for HAVE_MAGIC_OPEN. + * configure.ac: Add HAVE_MAGIC_OPEN. + * include/config.h.in: Regenerated. + * configure: Regenerated. + +2006-11-07 Andrew Haley + + * java/lang/VMCompiler.java (compileClass): Revert mistaken + change. + + * java/lang/natVMClassLoader.cc (defineClass): Register the new + class with the initiating loader. + +2006-11-06 Andrew Haley + + * defineclass.cc (prepare_pool_entry): Be careful about which + constant pool entries have their '/' characters stripped. + (handleGenericSignature): Likewise. + (handleAnnotationElement): Likewise. + (handleAnnotation): Likewise. + (read_one_class_attribute): Likewise. + (handleMethod): Likewise. + + * include/java-cpool.h (JV_CONSTANT_LazyFlag): New. + * java/lang/natClass.cc (check_constant): Likewise. + * link.cc (resolve_pool_entry): Mask JV_CONSTANT_LazyFlag. + +2006-11-01 Andrew Haley + + * java/lang/natClass.cc (parseAnnotationElement): Set result from + anno_class. + +2006-10-21 Tom Tromey + + * testsuite/libjava.lang/PR260.out: Rewrote for 1.5. + * testsuite/libjava.lang/pr179.out: Rewrote for 1.5. + * testsuite/libjava.lang/pr179.java: Updated comments. + * testsuite/libjava.compile/inner_1.xfail: Removed. + +2006-10-20 Tom Tromey + + * testsuite/libjava.cni/cni.exp (gcj_cni_build_headers): Don't use + jv-scan. + * testsuite/lib/libjava.exp (test_libjava_from_javac): Removed. + (find_jvscan): Removed. + +2006-10-20 Tom Tromey + + * testsuite/libjava.jni/jni.exp (gcj_jni_build_header): Use + -force. + * testsuite/lib/libjava.exp (find_gcjh): Find 'gjavah' instead. + * testsuite/libjava.cni/cni.exp (gcj_cni_build_headers): Pass -cni + and -force to gcjh. + * Makefile.in: Rebuilt. + * Makefile.am (MYGCJH): Use gjavah. + +2006-10-18 Tom Tromey + + PR classpath/28203: + * java/lang/Class.java (getAnnotations): Rewrote. + * java/lang/reflect/Method.java (METHOD_MODIFIERS): Now + package-private. + * java/lang/reflect/Field.java (FIELD_MODIFIERS): Now + package-private. + * gcj/field.h (_Jv_FIELD_CONSTANT_VALUE): Removed. + * defineclass.cc (handleConstantValueAttribute): Added found_value + argument. Don't use _Jv_FIELD_CONSTANT_VALUE. + (read_one_field_attribute): Updated. + (read_fields): Likewise. + (handleField): Mask with FIELD_MODIFIERS, not ALL_FLAGS. + (handleMethod): Mask with METHOD_MODIFIERS, not ALL_FLAGS. + +2006-10-17 Tom Tromey + + * defineclass.cc (handleMemberAnnotations): Write member index + after 'kind'. + (handleAnnotation): Call prepare_pool_entry. + * java/lang/reflect/natMethod.cc (getDeclaredAnnotationsInternal): + Removed unused variable. + (getParameterAnnotationsInternal): Likewise. + * java/lang/reflect/natField.cc (getDeclaredAnnotationsInternal): + Removed unused variable. + * java/lang/reflect/natConstructor.cc + (getDeclaredAnnotationsInternal): Removed unused variable. + (getParameterAnnotationsInternal): Likewise. + * java/lang/natClass.cc (parseAnnotation): Create annotation. + (parseAnnotationElement): Handle 'c' and 'e' cases more + correctly. + (getMethodDefaultValue): Fixed variable names. + (parseAnnotationElement): Create String for 's' entry. + * java/lang/reflect/Constructor.java (getAnnotation): New method. + * java/lang/reflect/Field.java (getAnnotation): New method. + * java/lang/reflect/Method.java (getAnnotation): New method. + +2006-10-17 Tom Tromey + + * java/lang/natClass.cc (parseAnnotationElement): Expect a utf8 + constant in the "string" case. + * defineclass.cc (handleAnnotationElement): Expect a utf8 constant + in the "string" case. + +2006-10-17 Tom Tromey + + * configure, Makefile.in: Rebuilt. + * Makefile.am (install-exec-hook): Now unconditional. Rename ecjx + if needed. + (jar_DATA): Add ecj jar when needed. + (toolexec_PROGRAMS): New variable. + (ecjx_SOURCES, ecjx_LDFLAGS, ecjx_LDADD, ecjx_DEPENDENCIES): + Likewise. + * prims.cc (JvRunMainName): New function. + * include/jvm.h (JvRunMainName): Declare. + * configure.ac: Added --with-ecj-jar. + (ECJ_JAR): New subst. + (ECJ_BUILD_JAR): Likewise. + (INSTALL_ECJ_JAR): New conditional. + (BUILD_ECJ1): Likewise. + +2006-10-13 Tom Tromey + + * HACKING: Updated. + * sources.am, Makefile.in: Rebuilt. + * scripts/makemake.tcl (emit_bc_rule): Updated for class files in + srcdir. + (emit_package_rule): Likewise. + (emit_process_package_rule): Likewise. + * Makefile.am (gcjh.stamp): Conditional on MAINTAINER_MODE. Put + headers in srcdir. + (libgcj-$(gcc_version).jar): Updated to find classes in source + tree. + (BOOTCLASSPATH): Likewise. + (install-data-local): Likewise. + Added all the .class and CNI .h files. + +2006-10-12 Andrew Haley + + * java/lang/natThreadLocal.cc: New file. + * java/lang/ThreadLocal.java: Rewrite to use native TLS. + * Makefile.am: Add java/lang/natThreadLocal.cc. + * sources.am: Move classpath/java/lang/ThreadLocal.java to + java/lang/ThreadLocal.java. + +2006-10-11 Tom Tromey + + * sources.am, Makefile.in, include/config.h.in, configure: + Rebuilt. + * Makefile.am (nat_source_files): Added natConfiguration.cc. + * gnu/classpath/natConfiguration.cc: New file. + * configure.ac (AWT_TOOLKIT): New define. + (LIBGCJ_PREFIX): Likewise. + * gnu/classpath/Configuration.java: New file. + * sources.am: Rebuilt. + * scripts/makemake.tcl: Don't special case Configuration.java. + +2006-10-10 Tom Tromey + + * gcj/javaprims.h: Updated. + * sources.am, Makefile.in: Rebuilt. + * standard.omit.in: Removed process source files. + * scripts/makemake.tcl: Removed ConcreteProcess special case. + (emit_package_rule): Also special-case Process. + (emit_process_package_rule): New proc. + * Makefile.am (inner_nat_headers): Removed + PLATFORM_INNER_NAT_HDRS. + * configure: Rebuilt. + * configure.ac (PLATFORM_INNER_NAT_HDRS): Removed subst. + Don't create ConcreteProcess.java link. + (PLATFORM): New subst. + * java/lang/natWin32Process.cc: Updated. + * java/lang/natPosixProcess.cc: Updated. + * java/lang/natEcosProcess.cc: Updated. + * java/lang/Win32Process.java (Win32Process): Renamed from + ConcreteProcess. + * java/lang/EcosProcess.java (EcosProcess): Renamed from + ConcreteProcess. + * java/lang/PosixProcess.java (PosixProcess): Renamed from + ConcreteProcess. + * include/win32.h (_Jv_platform_process): New define. + * java/lang/natRuntime.cc (execInternal): Use + _Jv_platform_process. + * include/posix.h (_Jv_platform_process): New define. + +2006-10-09 Andrew Haley + + * win32-threads.cc (_Jv_ThreadUnpark, _Jv_ThreadPark): New + functions. + +2006-10-06 Tom Tromey + + PR libgcj/29278: + * Makefile.in: Rebuilt. + * Makefile.am ($(generic_header_files)): Depend on gcjh.stamp. + (gcjh.stamp): New target. + +2006-10-06 Andrew Haley + + * posix-threads.cc (_Jv_ThreadUnpark, _Jv_ThreadPark): Moved here + from sun/misc/natUnsafe.cc. + * sun/misc/natUnsafe.cc (class spinlock): New class. + (compareAndSwap): New methods. + (compareAndSwapInt, compareAndSwapLong, compareAndSwapObject) + (putOrderedLong, putLongVolatile, putObjectVolatile, putLong) + (getIntVolatile, getObjectVolatile, getLong, getLongVolatile): + Rewrite to use gcj's own atomic functions rather than gcc + builtins. + (unpark): Moved to posix-threads.cc + (park): Likewise. + * include/jvm.h (struct natThread::alive_flag): Moved here from + Thread.java. + (struct natThread): Likewise. + * include/posix-threads.h: (_Jv_ThreadUnpark, _Jv_ThreadPark): + moved here from sun/misc/natUnsafe.cc. + * java/lang/natThread.cc (initialize_native): Set alive_flag here. + (isAlive): Moved here from Thread.java. + (interrupt): alive_flag is now in the natThread structure. + (interrupt): Call _Jv_ThreadUnpark(). + (finish_): parkPermit and alive_flag are now in the natThread + structure. + (start): LIkewise. + (_Jv_AttachCurrentThread): Likewise. + * java/lang/Thread.java (alive_flag): Remove. + (parkPermit): Likewise. + (Thread): Don't set alive_flag. + (isAlive): Make native. + +2006-09-13 Andrew Haley + + * Makefile.am: Add sun/reflect/natReflection.cc. + * Makefile.in: Rebuild. + * sun/reflect/natReflection.cc: New file. + * sun/reflect/Reflection.java (getCallerClass): Now native. + * stacktrace.cc (GetClassContext): Don't check the class if + checkClass is NULL. + +2006-09-12 Andrew Haley + + * java/lang/Thread.java (alive_flag): Make it a byte. + (THREAD_DEAD, THREAD_ALIVE, THREAD_SIGNALED): new constants. + (parkPermit): New variable. + (data): Now package private. + (Thread): Set alive_flag to THREAD_DEAD, not false. + (isAlive): Test against THREAD_DEAD. + * java/lang/natThread.cc (initialize_native): Initialize + park_mutex and park_cond. + (finish_): Set parkPermit THREAD_PARK_DEAD. + (interrupt): Rewrite. Use an atomic update rather than a mutex to + access alive_flag. + If the thread is parked, unpark it. + (start): Set alive_flag to THREAD_ALIVE, not true. + (finalize_native): Destroy park_mutex and park_cond. + * sun/misc/natUnsafe.cc (unpark): New method. + (park): New method. + * include/jvm.h (struct natThread): Moved here. + +2006-06-07 Andrew Haley + + * include/jvm.h (_Jv_Linker::maybe_adjust_signature): New. + (_Jv_Linker::uaddr): New. + * link.cc (resolve_pool_entry): Call search_method_in_superclasses + instead of an open-coded loop around search_method_in_class. + (search_method_in_class): Add a new arg, check_perms. + (search_method_in_superclasses): New. + (link_symbol_table): Call maybe_adjust_signature() to extract the + least significnt bit of the signature pointer. Do this three + times, for instace method calls, static methods, and interfaces. + Call search_method_in_superclasses() instead of + _Jv_LookupDeclaredMethod. + (typedef uaddr): Delete. + +2006-09-11 Andrew Haley + + * gij.cc (main): Remove bogus code that sets LTDL_SHLIBPATH_VAR + and forks. + +2006-06-16 Andrew Haley + + * java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Don't + copy the whole Class instance from the initializer: instead, copy + everything but the first word (the vtable pointer). + Change prototype to (const char* class_initializer). + (_Jv_RegisterNewClasses): Change prototype to (const char**). + * java/lang/Class.h (_Jv_RegisterNewClasses): Change prototype to + (const char**). + +2006-08-31 Tom Tromey + + PR libgcj/28698: + * libgcj_bc.c (DECLARE_PRIM_TYPE): New macro. Declare primitive + classes. + +2006-08-21 Bryce McKinlay + + * java/lang/natThread.cc (_Jv_AttachCurrentThread): Attach thread + to GC. + (_Jv_DetachCurrentThread): Detach thread from GC. + * include/boehm-gc.h (_Jv_GCAttachThread, _Jv_GCDetachThread): + Declare. + * boehm.cc (_Jv_GCAttachThread): New function. + (_Jv_GCDetachThread): Likewise. + +2006-08-16 Jakub Jelinek + Bryce McKinlay + + * configure, Makefile.in: Rebuilt. + * Makefile.am (toolexeclib_LTLIBRARIES): Add libgcj_bc.la. + (libgcj_bc_la_SOURCES): New variable. + (libgcj_bc_la_LDFLAGS): Likewise. + (libgcj_bc_la_LIBADD): Likewise. + (libgcj_bc_la_DEPENDENCIES): Likewise. + (libgcj_bc_la_LINK): Likewise. + (libgcj_bc_dummy_LINK): Likewise. + (libgcj_bc.la): New target. + (install-exec-hook): Likewise. + * libgcj.spec.in (*lib): Use LIBGCJ_SPEC. + * libgcj_bc.c: New file. + * configure.ac (LIBGCJ_SPEC): New subst. + * configure.host (use_libgcj_bc): New variable. + +2006-08-26 Andrew John Hughes + + * link.cc: + Increment loaded classes when printing verbose output. + * gnu/java/lang/management/natVMMemoryMXBeanImpl.cc: + Added comments. + * gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc: + (getMemoryManagerNames(jstring)): Implemented. + (isValid(jstring)): Implemented. + * gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc: + (getLoadedClassCount()): Implemented. + (getUnloadedClassCount()): Likewise. + (isVerbose()): Likewise. + (setVerbose(jboolean)): Likewise. + * java/lang/management/natVMManagementFactory.cc: + (getMemoryPoolNames()): Implemented. + (getMemoryManagerNames()): Likewise. + (getGarbageCollectorNames()): Likewise. + * include/jvm.h: + Add loaded and unloaded class counts. + * defineclasses.c: + Increment loaded classes count. + * prims.cc: + Add loaded and unloaded class counts. + +2006-08-16 Tom Tromey + + * include/posix-threads.h (_Jv_MutexLock): No longer inline. + * posix-threads.cc (_Jv_CondWait): Set thread's state. + * include/jvm.h (class JvSetThreadState): New class. + (JvThreadState): New enum. + * java/lang/Thread.java (state): New field. + * java/lang/natThread.cc (_Jv_ThreadRun): Use + getUncaughtExceptionHandler. + (start): Set state. + (_Jv_AttachCurrentThread): Likewise. + (finish_): Likewise. + (getState): Wrote. + +2006-08-15 Tom Tromey + + * gnu/gcj/runtime/natSharedLibLoader.cc (init): Added missing + '::'. + * gnu/gcj/convert/natIconv.cc (init): Added missing '::'. + (read): Likewise. + * gnu/gcj/natCore.cc (create): Added missing '::'. + * gnu/classpath/natSystemProperties.cc (insertSystemProperties): + Added missing '::' + +2006-08-14 Tom Tromey + + * Makefile.in: Rebuilt. + * Makefile.am (libgcj_la_LIBADD): Add LIBMAGIC. + * java/net/natVMURLConnection.cc: Wrote, based on Classpath. + * configure, config.h.in: Rebuilt. + * configure.ac: Check for magic.h and -lmagic. + +2006-08-14 Tom Tromey + + * java/lang/natThread.cc (getId): Removed. + * java/lang/Thread.java (threadId): New field. + (totalThreadsCreated): Likewise. + (Thread): Set threadId. + (getId): No longer native. + +2006-08-14 Tom Tromey + + * sources.am, Makefile.in: Rebuilt. + * Makefile.am (nat_source_files): Added new .cc files. + (libgcj-$(gcc_version).jar): Include 'sun'. + (src.zip): Likewise. + * java/lang/natThread.cc (getId): New stub. + (getState): Likewise. + * scripts/makemake.tcl (emit_source_var): Use -decreasing when + sorting. + * gnu/java/lang/management/natVMMemoryMXBeanImpl.cc: New file. + * gnu/java/lang/management/natVMCompilationMXBeanImpl.cc: New file. + * gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc: New + file. + * gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc: New file. + * gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc: New file. + * gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc: New file. + * gnu/java/lang/management/natVMThreadMXBeanImpl.cc: New file. + * gnu/java/nio/natVMChannel.cc: New file. + * gcj/javaprims.h: Updated. + * sources.am: Likewise. + * java/lang/management/natVMManagementFactory.cc: New file. + * java/net/natVMURLConnection.cc: New file. + * java/util/concurrent/atomic/natAtomicLong.cc: New file. + * sun/misc/natUnsafe.cc: New file. + +2006-08-07 Andrew John Hughes + + * libjava/Makefile.in, + * libjava/sources.am: + Regenerated. + * libjava/scripts/makemake.tcl: + Added gconf and dnd peers as BC. + +2006-08-07 Andrew John Hughes + + * libjava/Makefile.in, + * libjava/sources.am: + Regenerated. + * libjava/scripts/makemake.tcl: + Added external/jsr166. + +2006-08-07 Andrew John Hughes + + * libjava/configure, + * libjava/Makefile.in: + Regenerated. + * libjava/scripts/makemake.tcl: + Handle the Escher peers as we handle Qt. + * libjava/gcj/Makefile.in: + Regenerated. + * libjava/configure.ac: + Handle Escher peers and disable plugin when Gtk+ is not used. + * libjava/sources.am: + Regenerated. + * libjava/classpath/gnu/java/awt/peer/x/fonts.properties: + Removed (as recently on generics branch of Classpath). + * libjava/include/Makefile.in, + * libjava/testsuite/Makefile.in: + Regenerated. + +2006-07-23 Andrew John Hughes + + * libjava/Makefile.in: + Regenerated. + * libjava/scripts/classes.pl: + Ignore .svn directories. + * libjava/scripts/makemake.tcl: + Include sun directory. + * libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, + * libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, + * libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java, + * libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java, + * libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java, + * libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java, + * libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java, + * libjava/gnu/java/nio/VMChannel.java: + Copied over from classpath/vm/reference. + * libjava/gnu/java/nio/channels/FileChannelImpl.java: + (getNativeFD()): Implemented. + * libjava/gcj/javaprims.h: + Updated for generics merge from 20060709. + * libjava/javax/naming/spi/NamingManager.java: + Copied over from classpath/vm/reference. + * libjava/sources.am: + Regenerated. + * libjava/java/lang/Thread.java: + (getId()): Implemented. + (getState()): Likewise. + (getAllStackTraces()): Likewise. + (getStackTrace()): Likewise. + * libjava/java/lang/management/VMManagementFactory.java, + * libjava/java/net/VMURLConnection.java: + Copied over from classpath/vm/reference. + * libjava/classpath/vm/reference/java/lang/management/VMThreadInfo.java: + Removed. + * libjava/classpath/native/fdlibm/namespace.h: + Changed back to GCJ LOCAL version. + * libjava/sun/reflect/Reflection.java, + * libjava/sun/reflect/misc/ReflectUtil.java, + * libjava/sun/misc/Unsafe.java: + Copied over from classpath/vm/reference. + +2006-07-07 Andrew John Hughes + + * sources.am, Makefile.in: Rebuilt. + * gnu/java/lang/management/VMRuntimeMXBeanImpl.java, + * gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc: + New files. + * include/jvm.h: + Add new variables used in prims.cc. + * Makefile.am: + Add natVMRuntimeMXBeanImpl.cc. + * prims.cc: + (_Jv_CreateJavaVM): Retain start time and input + arguments. + +2006-07-21 Tom Tromey + + PR libgcj/4105: + * java/lang/natClass.cc (findInnerClassAttribute): New method. + (findDeclaredClasses): Likewise. + (getDeclaredClasses): Implemented. + (getDeclaringClass): Likewise. + (isAnonymousClass): Likewise. + (isMemberClass): Likewise. + (check_constant): Pass message in exception. Allow resolved + constants. + (resolve_class_constant): New function. + * defineclass.cc (read_one_class_attribute): Handle InnerClasses. + * java/lang/Class.h (isAnonymousClass, isLocalClass, + isMemberClass): Declare. + * java/lang/Class.java (getSimpleName): Implemented. + (isAnonymousClass, isLocalClass, isMemberClass): New methods. + +2006-07-16 Tom Tromey + + * configure: Rebuilt. + * configure.ac (JV_API_VERSION, JV_VERSION): Claim 1.5. + +2006-07-12 Andrew Haley + + * Makefile.am (java/lang/Object.lo): Add -fsource-filename. + (java/lang/Class.lo): Likewise. + * Makefile.in: Regenerate. + +2006-07-07 Tom Tromey + + * defineclass.cc (input_data, input_offset): New fields. + (reflection_data, data_stream): Likewise. + (get_reflection_stream): New method. + (_Jv_ClassReader): Initialize new fields. + (parse): Call finish_reflection_data. + (finish_reflection_data): New method. + (handleEnclosingMethod): Likewise. + (handleGenericSignature): Likewise. + (handleAnnotationElement): Likewise. + (handleAnnotation): Likewise. + (handleAnnotations): Likewise. + (handleMemberAnnotations): Likewise. + (handleAnnotationDefault): Likewise. + (handleParameterAnnotations): Likewise. + (read_one_field_attribute): Handle new attributes. + (read_one_method_attribute): Likewise. + (read_one_class_attribute): Likewise. + * include/jvm.h (resolve_method_entry): New method. + * java/lang/Class.h (jv_attr_type, jv_attr_kind): New enums. + (Class): Updated for new methods. Field, Method, Constructor now + friends. + (reflection_data): New field. + * java/lang/Class.java (asSubclass, cast): New methods. + (getEnclosingClass, getEnclosingConstructor): Now native. + (getEnclosingMethod): Likewise. + (getClassSignature): New method. + (getGenericInterfaces, getGenericSuperclass, getTypeParameters): + Likewise. + (Class): Implements AnnotatedElement. + (getAnnotation, isAnnotationPresent, getAnnotations): New methods. + (getDeclaredAnnotations): New method. + (getDeclaredAnnotationsInternal): Likewise. + * java/lang/reflect/natConstructor.cc (anno_a_t, anno_aa_t): New + typedefs. + (getSignature): New method. + (getDeclaredAnnotationsInternal): Likewise. + (getParameterAnnotationsInternal): Likewise. + * java/lang/reflect/natField.cc (anno_a_t): New typedef. + (getSignature): New method. + (getDeclaredAnnotationsInternal): Likewise. + * java/lang/reflect/natMethod.cc (anno_a_t, anno_aa_t): New + typedefs. + (getSignature): New method. + (getDefaultValue): Likewise. + (getDeclaredAnnotationsInternal): Likewise. + (getParameterAnnotationsInternal): Likewise. + * java/lang/reflect/Constructor.java (addTypeParameters): + Genericized. + (getSignature): Now native. + (getDeclaredAnnotations, getDeclaredAnnotationsInternal, + getParameterAnnotations, getParameterAnnotationsInternal): New + methods. + * java/lang/reflect/Field.java (getDeclaringClass, getType): + Genericized. + (getSignature): Now native. + (getDeclaredAnnotations, getDeclaredAnnotationsInternal): New + methods. + * java/lang/reflect/Method.java (getReturnType): Genericized. + (getParameterTypes, getExceptionTypes, getTypeParameters): + Likewise. + (getSignature): Now native. + (getDefaultValue, getDeclaredAnnotations, + getParameterAnnotations, getDeclaredAnnotationsInternal, + getParameterAnnotationsInternal): New methods. + * java/lang/natClass.cc (read_u1): New functions. + (read_u2): Likewise. + (read_4): New function. + (getReflectionSignature): New methods. + (getClassSignature): New method. + (getEnclosingMethodData): Likewise. + (getEnclosingClass): Likewise. + (getEnclosingMethod): Likewise. + (getEnclosingConstructor): Likewise. + (check_constant): New function. + (parseAnnotationElement): Likewise. + (parseAnnotation): Likewise. + (parseAnnotations): Likewise. + (parseParameterAnnotations): Likewise. + (getMethodDefaultValue): New method. + (getDeclaredAnnotations): New methods. + (getDeclaredAnnotationsInternal): New method. + * boehm.cc (_Jv_MarkObj): Mark 'reflection_data' field. + * link.cc (resolve_method_entry): New method. + (resolve_pool_entry): Use it. + +2006-07-07 Andrew Haley + + * Makefile.am: Use -fsource-filename when compiling libgcj. + * Makefile.in: Regenerate. + +2006-06-23 Tom Tromey + + Merged in classpath-generics. + * sources.am, Makefile.in: Rebuilt. + * Makefile.am (generic_header_files): Don't filter out omitted + headers. + (generic_header_files): Rewrote. + (MYGCJH): New variable. + Removed all .h rules. + * headers.txt: New file. + * java/io/PrintStream.java (PrintStream): Implement Appendable. + * java/lang/Class.java: Genericized. + (getEnumConstants): New method. + (isEnum): Likewise. + (isSynthetic): Likewise. + (isAnnotation): Likewise. + * java/lang/reflect/Constructor.java (getDeclaringClass, + getTypeParameters, declaringClass): Genericized. + * java/lang/reflect/Method.java (invoke): Now varargs. + * java/lang/ref/Reference.java (Reference): Imported genericized + version from Classpath. + (get): Now native. + * java/lang/ref/natReference.cc (get): New method. + * java/lang/ProcessBuilder.java: New file. + * java/lang/System.java (environmentMap): New field. + (clearProperty): New method. + (getenv): Likewise. + (EnvironmentCollection): New class. + (EnvironmentMap): Likewise. + (EnvironmentSet): Likewise. + * java/lang/StringBuilder.java (StringBuilder): Implements + Appendable. + * gnu/classpath/SystemProperties.java (remove): New method. + +2006-06-23 Tom Tromey + + * testsuite/libjava.loader/TestLeak.java: Don't use wildcard + import for java.lang.reflect. + +2006-06-21 Tom Tromey + + * gnu/classpath/natSystemProperties.cc (insertSystemProperties): + Set java.class.version to 49. + +2006-06-21 Tom Tromey + + * link.cc (resolve_pool_entry): Initialize field's declaring + class, not its qualifying class. + +2006-06-21 Tom Tromey + + * testsuite/libjava.jacks/jacks.xfail: Updated for ecj. + +2006-06-20 Tom Tromey + + * testsuite/libjava.compile/Where.xfail: Now 'no-link'. + +2006-06-19 Tom Tromey + + * gnu/java/lang/natMainThread.cc (call_main): Link main class. + +2006-06-19 Tom Tromey + + * testsuite/lib/libjava.exp (test_libjava): Don't compile via + bytecode. Run BC compilations from source. + +2006-06-19 Tom Tromey + + * testsuite/libjava.lang/TestProxy.java: Don't use wildcard + imports for java.lang.reflect. + +2006-06-13 Tom Tromey + + * testsuite/libjava.lang/stringconst.xfail: Removed. + * testsuite/libjava.lang/ArrayStore2.xfail: Removed. + +2006-06-08 Tom Tromey + + * sources.am, Makefile.in: Rebuilt. + * Makefile.am (libgcj_la_LIBADD): Add Object.lo and Class.lo. + (java/lang/Object.lo): New target. + (java/lang/Class.lo): Likewise. + * scripts/makemake.tcl (emit_package_rule): Add special case for + Object and Class. + +2006-06-06 Tom Tromey + + * Makefile.in: Rebuilt. + * Makefile.am (gcj_dbtool_DEPENDENCIES): Add gcj_dbtool.lo. + +2006-06-06 Tom Tromey + + * Makefile.in: Rebuilt. + * Makefile.am (nat_headers): Don't list Main.h. + (generic_header_files): Likewise. + +2006-06-05 Tom Tromey + + * testsuite/libjava.loader/TestLeak.java (MyLoader): Now static. + * testsuite/libjava.jacks/jacks.exp (gcj_jacks_write): Use -w. + * testsuite/lib/libjava.exp (libjava_arguments): Add -w. + * testsuite/libjava.compile/G19990210_2.java: Removed. + * testsuite/libjava.compile/PR208.java: Removed. + * testsuite/libjava.compile/PR208.xfail: Removed. + * testsuite/libjava.compile/support/Case.java: Removed. + * testsuite/libjava.compile/Case.java: Removed. + +2006-06-04 Tom Tromey + + * sources.am, Makefile.in: Rebuilt. + * Makefile.am (gcj_dbtool_LDADD): Add + gnu-gcj-tools-gcj_dbtool.lo. + (gcj_dbtool_SOURCES): Updated. + (EXTRA_libgcj_la_SOURCES): New macro. + * scripts/makemake.tcl (emit_package_rule): Compile class files + from the package. + (gcj_dbtool/Main.java, Class.java, Object.java): Removed + package_map settings. + (emit_package_rule): Special case gnu.gcj.tools.gcj_dbtool. + +2006-06-04 Tom Tromey + + * java/lang/Class.java (getClassLoaderInternal): Now native. + 2006-12-20 Adam Megacz * configure.ac: add $built_gcc_dir to $GCJH and $GCJ when diff --git a/libjava/HACKING b/libjava/HACKING index 9c8f531ebb6..3c07e5ab4d9 100644 --- a/libjava/HACKING +++ b/libjava/HACKING @@ -62,9 +62,14 @@ To import a new release: scripts/makemake.tcl > sources.am automake - Build, fix, till everything works. + Be sure to update gnu/classpath/Configuration.java to reflect + the new version Possibly update the gcj/javaprims.h file with scripts/classes.pl (See below, it can only be done after the first source->bytecode pass has finished.) + You will need to configure with --enable-maintainer-mode and you + will need to update the .class files and generated CNI header files in + your working tree Over time we plan to remove as many of the remaining divergences as possible. diff --git a/libjava/Makefile.am b/libjava/Makefile.am index d2b5a49c65f..9f11234e04e 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -29,6 +29,8 @@ target_noncanonical = @target_noncanonical@ # This is required by TL_AC_GXX_INCLUDE_DIR. libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) +libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) + ## ## What gets installed, and where. ## @@ -50,6 +52,9 @@ pkgconfigdir = $(libdir)/pkgconfig jardir = $(datadir)/java jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar +if INSTALL_ECJ_JAR +jar_DATA += $(ECJ_BUILD_JAR) +endif if JAVA_HOME_SET JAVA_HOME_DIR = $(JAVA_HOME) @@ -67,7 +72,8 @@ db_pathtail = gcj-$(gcc_version)/$(db_name) ## For now, only on native systems. FIXME. if NATIVE bin_PROGRAMS = jv-convert gij grmic grmiregistry gcj-dbtool \ - gappletviewer gjarsigner gkeytool + gappletviewer gjarsigner gkeytool gjar gjavah gnative2ascii \ + gorbd grmid gserialver gtnameserv ## It is convenient to actually build and install the default database ## when gcj-dbtool is available. @@ -76,6 +82,13 @@ endif bin_SCRIPTS = addr2name.awk +if BUILD_ECJ1 +## We build ecjx and not ecj1 because in one mode, ecjx will not work +## until after 'make install', and we don't want it to be picked up in +## the build tree by gcj via a -B option. +libexecsub_PROGRAMS = ecjx +endif + ## ################################################################ ## @@ -94,6 +107,8 @@ extra_ldflags_libjava = @extra_ldflags_libjava@ GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \ $(LDFLAGS) -o $@ +GCJ_FOR_ECJX = @GCJ_FOR_ECJX@ +GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@ LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \ $(LDFLAGS) $(extra_ldflags_libjava) -o $@ @@ -154,7 +169,7 @@ AM_CPPFLAGS = -I$(top_srcdir) \ $(GCINCS) $(THREADINCS) $(INCLTDL) \ $(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS) -BOOTCLASSPATH = $(here)/classpath/lib +BOOTCLASSPATH = $(srcdir)/classpath/lib ## ################################################################ @@ -172,7 +187,6 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \ libgcj_la_SOURCES = prims.cc jni.cc jvmti.cc exception.cc stacktrace.cc \ link.cc defineclass.cc interpret.cc verify.cc \ - java/lang/Class.java java/lang/Object.java \ $(nat_source_files) if USING_BOEHMGC @@ -219,17 +233,28 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ + java/lang/Object.lo \ + java/lang/Class.lo \ + java/process-$(PLATFORM).lo \ $(all_packages_source_files:.list=.lo) \ $(bc_objects) \ $(propertyo_files) \ - $(LIBFFI) $(ZLIBS) $(GCLIBS) + $(LIBMAGIC) $(LIBFFI) $(ZLIBS) $(GCLIBS) libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \ + java/lang/Object.lo \ + java/lang/Class.lo \ + java/process-$(PLATFORM).lo \ $(all_packages_source_files:.list=.lo) \ $(LIBLTDL) $(libgcj_la_LIBADD) libgcj_la_LINK = $(LIBLINK) -libgcj_tools_la_SOURCES = classpath/tools/tools.jar -libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes +## A hack to make sure the various gcj-related macros, like +## LTGCJCOMPILE, are defined by automake. This is never actually +## compiled. +EXTRA_libgcj_la_SOURCES = java/lang/Object.java + +libgcj_tools_la_SOURCES = classpath/tools/tools.zip +libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec @@ -303,10 +328,12 @@ $(propertyo_files): %.lo: classpath/resource/% $(LTGCJCOMPILE) -o $@ -c $< -Wc,--resource,$(@:.lo=) libgcj-$(gcc_version).jar: classpath/lib/compile-classes - cd classpath/lib; $(JAR) -cfM \ - ../../libgcj-$(gcc_version).jar gnu java javax org +## Note that this now omits the property files. +## It doesn't matter since we don't use the jar at runtime. + here=`pwd`; cd $(srcdir)/classpath/lib; $(JAR) -cfM \ + $$here/libgcj-$(gcc_version).jar gnu java javax org sun -libgcj-tools-$(gcc_version).jar: classpath/tools/tools.jar +libgcj-tools-$(gcc_version).jar: classpath/tools/tools.zip cp $< $@ CLEANFILES = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar @@ -339,7 +366,13 @@ lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPEND ## Compiling a list of java sources to a single .o. %.lo: %.list - $(LTGCJCOMPILE) -c -o $@ -MT $@ -MD -MP -MF $(basename $@).deps @$< + $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$< + +java/lang/Object.lo: classpath/lib/java/lang/Object.class + $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $< + +java/lang/Class.lo: classpath/lib/java/lang/Class.class + $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $< ## ################################################################ @@ -358,13 +391,18 @@ omitted_headers = java/lang/ClassLoader.h java/lang/Thread.h \ java/lang/reflect/Field.h java/lang/reflect/Method.h \ java/lang/reflect/Proxy.h gnu/gcj/runtime/ExtensionClassLoader.h -generic_header_files = $(filter-out $(omitted_headers),$(ordinary_header_files) $(xlib_nat_headers)) \ - gnu/gcj/tools/gcj_dbtool/Main.h +generic_header_files = $(ordinary_header_files) $(xlib_nat_headers) + +MYGCJH = gjavah + +$(generic_header_files): gcjh.stamp -$(generic_header_files): %.h: classpath/lib/%.class - name=`echo $< | sed -e 's/\.class$$//' -e 's,classpath/lib/,,'`; \ - $(mkinstalldirs) `dirname $$name`; \ - $(GCJH) -d . -classpath '' -bootclasspath classpath/lib $$name +gcjh.stamp: classpath/lib/compile-classes +if JAVA_MAINTAINER_MODE + $(MYGCJH) --cni --all $(srcdir)/classpath/lib \ + --cmdfile=$(srcdir)/headers.txt -d $(srcdir) --force +endif + echo > gcjh.stamp inner_nat_headers = java/io/ObjectOutputStream$$PutField.h \ java/io/ObjectInputStream$$GetField.h \ @@ -376,170 +414,42 @@ inner_nat_headers = java/io/ObjectOutputStream$$PutField.h \ gnu/java/net/PlainSocketImpl$$SocketInputStream.h \ gnu/java/net/PlainSocketImpl$$SocketOutputStream.h \ gnu/java/nio/PipeImpl$$SinkChannelImpl.h \ - gnu/java/nio/PipeImpl$$SourceChannelImpl.h \ - $(PLATFORM_INNER_NAT_HDRS) + gnu/java/nio/PipeImpl$$SourceChannelImpl.h -nat_headers = $(ordinary_header_files) $(inner_nat_headers) \ - gnu/gcj/tools/gcj_dbtool/Main.h +nat_headers = $(ordinary_header_files) $(inner_nat_headers) nat_headers_install = $(ordinary_header_files) xlib_nat_headers = $(gnu_awt_xlib_header_files) $(gnu_gcj_xlib_header_files) -java/lang/ClassLoader.h: classpath/lib/java/lang/ClassLoader.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \ - -prepend 'void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar);' \ - -friend 'jclass (::_Jv_FindClass) (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \ - -friend 'void ::_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar);' \ - java/lang/ClassLoader - -java/lang/Thread.h: classpath/lib/java/lang/Thread.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'class _Jv_JNIEnv;' \ - -prepend 'class _Jv_Thread_t;' \ - -prepend '#define _JV_NOT_OWNER 1' \ - -prepend '#define _JV_INTERRUPTED 2' \ - -prepend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \ - -prepend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \ - -prepend 'void _Jv_ThreadRun (java::lang::Thread* thread);' \ - -prepend 'jint _Jv_AttachCurrentThread(java::lang::Thread* thread);' \ - -prepend 'java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);' \ - -prepend 'java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);' \ - -prepend 'jint _Jv_DetachCurrentThread ();' \ - -prepend '_Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread);' \ - -friend '_Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv ();' \ - -friend 'void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \ - -friend 'void ::_Jv_ThreadRun (java::lang::Thread* thread);' \ - -friend 'jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread);' \ - -friend 'java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);' \ - -friend 'java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);' \ - -friend 'jint (::_Jv_DetachCurrentThread) ();' \ - -friend '_Jv_Thread_t* ::_Jv_ThreadGetData (java::lang::Thread* thread);' \ - java/lang/Thread - -java/lang/String.h: classpath/lib/java/lang/String.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jchar* _Jv_GetStringChars (jstring str);' \ - -prepend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \ - -prepend 'jstring* _Jv_StringGetSlot (jstring);' \ - -prepend 'jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str);' \ - -prepend 'jstring _Jv_NewStringLatin1 (const char*, jsize);' \ - -prepend 'jstring _Jv_AllocString (jsize);' \ - -friend 'jchar* ::_Jv_GetStringChars (jstring str);' \ - -friend 'jstring* ::_Jv_StringFindSlot (jchar*, jint, jint);' \ - -friend 'jstring* ::_Jv_StringGetSlot (jstring);' \ - -friend 'jstring (::_Jv_NewStringUtf8Const) (_Jv_Utf8Const* str);' \ - -friend 'jstring (::_Jv_NewStringLatin1) (const char*, jsize);' \ - -friend 'jstring (::_Jv_AllocString) (jsize);' \ - java/lang/String - -java/lang/reflect/Constructor.h: classpath/lib/java/lang/reflect/Constructor.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *);' \ - -prepend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'jmethodID (::_Jv_FromReflectedConstructor) (java::lang::reflect::Constructor *);' \ - -friend 'jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'class java::lang::Class;' \ - java/lang/reflect/Constructor - -java/lang/reflect/Field.h: classpath/lib/java/lang/reflect/Field.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \ - -prepend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);' \ - -friend 'jfieldID (::_Jv_FromReflectedField) (java::lang::reflect::Field *);' \ - -friend 'jobject (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean);' \ - -friend 'class java::lang::Class;' \ - java/lang/reflect/Field - -java/lang/reflect/Method.h: classpath/lib/java/lang/reflect/Method.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \ - -prepend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'jmethodID (::_Jv_FromReflectedMethod) (java::lang::reflect::Method *);' \ - -friend 'jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'class java::lang::Class;' \ - -friend 'class java::io::ObjectInputStream;' \ - java/lang/reflect/Method - -java/lang/reflect/Proxy.h: classpath/lib/java/lang/reflect/Proxy.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - java/lang/reflect/Proxy - -java/lang/reflect/Proxy$$ProxyData.h: classpath/lib/java/lang/reflect/Proxy.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/lang/reflect/Proxy$$ProxyData' - -java/lang/reflect/Proxy$$ProxyType.h: classpath/lib/java/lang/reflect/Proxy.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/lang/reflect/Proxy$$ProxyType' - -gnu/gcj/runtime/ExtensionClassLoader.h: classpath/lib/gnu/gcj/runtime/ExtensionClassLoader.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -friend 'class ::java::lang::ClassLoader;' \ - gnu/gcj/runtime/ExtensionClassLoader - -java/io/ObjectInputStream$$GetField.h: classpath/lib/java/io/ObjectInputStream.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/io/ObjectInputStream$$GetField' - -java/io/ObjectOutputStream$$PutField.h: classpath/lib/java/io/ObjectOutputStream.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/io/ObjectOutputStream$$PutField' - -java/nio/DirectByteBufferImpl$$ReadWrite.h: classpath/lib/java/nio/DirectByteBufferImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/nio/DirectByteBufferImpl$$ReadWrite' - -java/nio/channels/Pipe$$SinkChannel.h: classpath/lib/java/nio/channels/Pipe.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/nio/channels/Pipe$$SinkChannel' - -java/nio/channels/Pipe$$SourceChannel.h: classpath/lib/java/nio/channels/Pipe.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/nio/channels/Pipe$$SourceChannel' - -gnu/java/net/PlainSocketImpl$$SocketInputStream.h: classpath/lib/gnu/java/net/PlainSocketImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/net/PlainSocketImpl$$SocketInputStream' - -gnu/java/net/PlainSocketImpl$$SocketOutputStream.h: classpath/lib/gnu/java/net/PlainSocketImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/net/PlainSocketImpl$$SocketOutputStream' - -gnu/java/nio/PipeImpl$$SinkChannelImpl.h: classpath/lib/gnu/java/nio/PipeImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/nio/PipeImpl$$SinkChannelImpl' - -gnu/java/nio/PipeImpl$$SourceChannelImpl.h: classpath/lib/gnu/java/nio/PipeImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/nio/PipeImpl$$SourceChannelImpl' - -## Only used by PosixProcess.java -java/lang/ConcreteProcess$$ProcessManager.h: classpath/lib/java/lang/ConcreteProcess.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/lang/ConcreteProcess$$ProcessManager' - ## Headers we maintain by hand and which we want to install. extra_headers = java/lang/Object.h java/lang/Class.h $(extra_headers) $(srcdir)/java/lang/Object.h $(srcdir)/java/lang/Class.h: @: +install-exec-hook: install-toolexeclibLTLIBRARIES install-libexecsubPROGRAMS ## Support for libgcj_bc: dummy shared library used only at link-time. if USE_LIBGCJ_BC ## Install libgcj_bc dummy lib in the target directory. We also need to delete ## libtool's .la file, this prevents libtool resetting the lib again ## later. -install-exec-hook: install-toolexeclibLTLIBRARIES @echo Installing dummy lib libgcj_bc.so.1.0.0; \ - rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ - mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ + rm $(toolexeclibdir)/libgcj_bc.so; \ + mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \ $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \ - -o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \ - rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \ - $(LN_S) libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \ - rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.la; + -o $(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \ + rm $(toolexeclibdir)/libgcj_bc.so.1; \ + $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \ + rm $(toolexeclibdir)/libgcj_bc.la; endif +if BUILD_ECJ1 +if NATIVE + mv $(DESTDIR)$(libexecsubdir)/ecjx$(EXEEXT) $(DESTDIR)$(libexecsubdir)/ecj1$(host_exeext) +else !NATIVE +## Undo the prepending of the target prefix + mv $(DESTDIR)$(libexecsubdir)/$(target_noncanonical)-ecjx$(EXEEXT) $(DESTDIR)$(libexecsubdir)/ecj1$(host_exeext) +endif !NATIVE +endif BUILD_ECJ1 ## Install the headers. It is fairly ugly that we have to do this by ## hand. @@ -564,16 +474,16 @@ install-data-local: done -@rm -f tmp-ilist ## Install inner class headers. - $(INSTALL_DATA) 'java/io/ObjectOutputStream$$PutField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ - $(INSTALL_DATA) 'java/io/ObjectInputStream$$GetField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ - $(INSTALL_DATA) 'java/nio/channels/Pipe$$SinkChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ - $(INSTALL_DATA) 'java/nio/channels/Pipe$$SourceChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ - $(INSTALL_DATA) 'java/lang/reflect/Proxy$$ProxyData.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ - $(INSTALL_DATA) 'java/lang/reflect/Proxy$$ProxyType.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ - $(INSTALL_DATA) 'gnu/java/net/PlainSocketImpl$$SocketInputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ - $(INSTALL_DATA) 'gnu/java/net/PlainSocketImpl$$SocketOutputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ - $(INSTALL_DATA) 'gnu/java/nio/PipeImpl$$SinkChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ - $(INSTALL_DATA) 'gnu/java/nio/PipeImpl$$SourceChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ + $(INSTALL_DATA) $(srcdir)/'java/io/ObjectOutputStream$$PutField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ + $(INSTALL_DATA) $(srcdir)/'java/io/ObjectInputStream$$GetField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ + $(INSTALL_DATA) $(srcdir)/'java/nio/channels/Pipe$$SinkChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ + $(INSTALL_DATA) $(srcdir)/'java/nio/channels/Pipe$$SourceChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ + $(INSTALL_DATA) $(srcdir)/'java/lang/reflect/Proxy$$ProxyData.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ + $(INSTALL_DATA) $(srcdir)/'java/lang/reflect/Proxy$$ProxyType.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/net/PlainSocketImpl$$SocketInputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/net/PlainSocketImpl$$SocketOutputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SinkChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SourceChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ ## Don't install java/nio/DirectByteBufferImpl$$ReadWrite.h here. It's for internal use only. @@ -709,7 +619,6 @@ jv_convert_LDADD = -L$(here)/.libs libgcj.la jv_convert_DEPENDENCIES = libgcj.la libgcj.spec gcj_dbtool_SOURCES = \ -gnu/gcj/tools/gcj_dbtool/Main.java \ gnu/gcj/tools/gcj_dbtool/natMain.cc ## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We @@ -725,10 +634,10 @@ gcj_dbtool_LINK = $(GCJLINK) ## searched before the build-tree ones, and we'd get errors because of ## different libraries with the same SONAME from picky linkers such as ## Solaris'. FIXME: should be _libs on some systems. -gcj_dbtool_LDADD = -L$(here)/.libs libgcj.la +gcj_dbtool_LDADD = gnu/gcj/tools/gcj_dbtool.lo -L$(here)/.libs libgcj.la ## Depend on the spec file to make sure it is up to date before ## linking this program. -gcj_dbtool_DEPENDENCIES = libgcj.la libgcj.spec +gcj_dbtool_DEPENDENCIES = gnu/gcj/tools/gcj_dbtool.lo libgcj.la libgcj.spec gij_SOURCES = ## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We @@ -743,27 +652,38 @@ gij_LDADD = -L$(here)/.libs libgij.la ## linking this program. gij_DEPENDENCIES = libgij.la -## This is a dummy definition. -grmic_SOURCES = -grmic_LDFLAGS = --main=gnu.java.rmi.rmic.RMIC \ - -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) -grmic_LINK = $(GCJLINK) -## See jv_convert_LDADD. -grmic_LDADD = -L$(here)/.libs libgcj.la -## Depend on the spec file to make sure it is up to date before -## linking this program. -grmic_DEPENDENCIES = libgcj.la libgcj.spec +## Build an ecjx from a .jar. +ecjx_SOURCES = +## We use the BC ABI here so that we don't need to compile ecj.jar. +## Hopefully the user has compiled it into his system .db. +## However, even if not it will run reasonably quickly. -## This is a dummy definition. -grmiregistry_SOURCES = -grmiregistry_LDFLAGS = --main=gnu.java.rmi.registry.RegistryImpl \ - -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) -grmiregistry_LINK = $(GCJLINK) -## See jv_convert_LDADD. -grmiregistry_LDADD = -L$(here)/.libs libgcj.la -## Depend on the spec file to make sure it is up to date before -## linking this program. -grmiregistry_DEPENDENCIES = libgcj.la libgcj.spec +ECJX_BASE_FLAGS = -findirect-dispatch \ + --main=org.eclipse.jdt.internal.compiler.batch.GCCMain + +if NATIVE + +ecjx_LINK = $(GCJLINK) + +if ENABLE_SHARED +## Use ecj.jar at runtime. +ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) +else !ENABLE_SHARED +## Use ecj.jar at compile time. +ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) +endif !ENABLE_SHARED + +ecjx_LDADD = -L$(here)/.libs libgcj.la +ecjx_DEPENDENCIES = libgcj.la libgcj.spec + +else !NATIVE + +ecjx_LINK = $(GCJ_FOR_ECJX_LINK) +ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) +ecjx_LDADD = +ecjx_DEPENDENCIES = + +endif !NATIVE ## This is a dummy definition. gappletviewer_SOURCES = @@ -772,8 +692,6 @@ gappletviewer_LDFLAGS = --main=gnu.classpath.tools.appletviewer.Main \ gappletviewer_LINK = $(GCJLINK) ## See jv_convert_LDADD. gappletviewer_LDADD = -L$(here)/.libs libgcj-tools.la -## Depend on the spec file to make sure it is up to date before -## linking this program. gappletviewer_DEPENDENCIES = libgcj-tools.la ## This is a dummy definition. @@ -783,8 +701,6 @@ gjarsigner_LDFLAGS = --main=gnu.classpath.tools.jarsigner.Main \ gjarsigner_LINK = $(GCJLINK) ## See jv_convert_LDADD. gjarsigner_LDADD = -L$(here)/.libs libgcj-tools.la -## Depend on the spec file to make sure it is up to date before -## linking this program. gjarsigner_DEPENDENCIES = libgcj-tools.la ## This is a dummy definition. @@ -794,18 +710,99 @@ gkeytool_LDFLAGS = --main=gnu.classpath.tools.keytool.Main \ gkeytool_LINK = $(GCJLINK) ## See jv_convert_LDADD. gkeytool_LDADD = -L$(here)/.libs libgcj-tools.la -## Depend on the spec file to make sure it is up to date before -## linking this program. gkeytool_DEPENDENCIES = libgcj-tools.la +## This is a dummy definition. +gjar_SOURCES = +gjar_LDFLAGS = --main=gnu.classpath.tools.jar.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +gjar_LINK = $(GCJLINK) +## See jv_convert_LDADD. +gjar_LDADD = -L$(here)/.libs libgcj-tools.la +gjar_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +gjavah_SOURCES = +gjavah_LDFLAGS = --main=gnu.classpath.tools.javah.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +gjavah_LINK = $(GCJLINK) +## See jv_convert_LDADD. +gjavah_LDADD = -L$(here)/.libs libgcj-tools.la +gjavah_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +gnative2ascii_SOURCES = +gnative2ascii_LDFLAGS = --main=gnu.classpath.tools.native2ascii.Native2ASCII \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +gnative2ascii_LINK = $(GCJLINK) +## See jv_convert_LDADD. +gnative2ascii_LDADD = -L$(here)/.libs libgcj-tools.la +gnative2ascii_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +gorbd_SOURCES = +gorbd_LDFLAGS = --main=gnu.classpath.tools.orbd.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +gorbd_LINK = $(GCJLINK) +## See jv_convert_LDADD. +gorbd_LDADD = -L$(here)/.libs libgcj-tools.la +gorbd_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +grmid_SOURCES = +grmid_LDFLAGS = --main=gnu.classpath.tools.rmid.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +grmid_LINK = $(GCJLINK) +## See jv_convert_LDADD. +grmid_LDADD = -L$(here)/.libs libgcj-tools.la +grmid_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +gserialver_SOURCES = +gserialver_LDFLAGS = --main=gnu.classpath.tools.serialver.SerialVer \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +gserialver_LINK = $(GCJLINK) +## See jv_convert_LDADD. +gserialver_LDADD = -L$(here)/.libs libgcj-tools.la +gserialver_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +gtnameserv_SOURCES = +gtnameserv_LDFLAGS = --main=gnu.classpath.tools.tnameserv.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +gtnameserv_LINK = $(GCJLINK) +## See jv_convert_LDADD. +gtnameserv_LDADD = -L$(here)/.libs libgcj-tools.la +gtnameserv_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +grmic_SOURCES = +grmic_LDFLAGS = --main=gnu.classpath.tools.rmic.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +grmic_LINK = $(GCJLINK) +## See jv_convert_LDADD. +grmic_LDADD = -L$(here)/.libs libgcj-tools.la +grmic_DEPENDENCIES = libgcj-tools.la + +## This is a dummy definition. +grmiregistry_SOURCES = +grmiregistry_LDFLAGS = --main=gnu.classpath.tools.rmiregistry.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) +grmiregistry_LINK = $(GCJLINK) +## See jv_convert_LDADD. +grmiregistry_LDADD = -L$(here)/.libs libgcj-tools.la +grmiregistry_DEPENDENCIES = libgcj-tools.la + ## ################################################################ ## This lists all the C++ source files in subdirectories. nat_source_files = \ -gnu/classpath/natSystemProperties.cc \ gnu/classpath/jdwp/natVMFrame.cc \ gnu/classpath/jdwp/natVMMethod.cc \ gnu/classpath/jdwp/natVMVirtualMachine.cc \ +gnu/classpath/natConfiguration.cc \ +gnu/classpath/natSystemProperties.cc \ +gnu/classpath/natVMStackWalker.cc \ gnu/gcj/natCore.cc \ gnu/gcj/convert/JIS0208_to_Unicode.cc \ gnu/gcj/convert/JIS0212_to_Unicode.cc \ @@ -824,16 +821,26 @@ gnu/gcj/runtime/natSystemClassLoader.cc \ gnu/gcj/runtime/natStringBuffer.cc \ gnu/gcj/util/natDebug.cc \ gnu/java/lang/natMainThread.cc \ +gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc \ +gnu/java/lang/management/natVMCompilationMXBeanImpl.cc \ +gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ +gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ +gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ +gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ +gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ +gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ gnu/java/net/natPlainSocketImpl.cc \ gnu/java/net/protocol/core/natCoreInputStream.cc \ gnu/java/nio/natPipeImpl.cc \ gnu/java/nio/natSelectorImpl.cc \ gnu/java/nio/natNIOServerSocket.cc \ +gnu/java/nio/natVMChannel.cc \ gnu/java/nio/channels/natFileChannelImpl.cc \ java/io/natFile.cc \ java/io/natObjectInputStream.cc \ java/io/natVMObjectStreamClass.cc \ +java/lang/management/natVMManagementFactory.cc \ java/lang/natCharacter.cc \ java/lang/natClass.cc \ java/lang/natClassLoader.cc \ @@ -848,27 +855,29 @@ java/lang/natStringBuffer.cc \ java/lang/natStringBuilder.cc \ java/lang/natSystem.cc \ java/lang/natThread.cc \ +java/lang/natThreadLocal.cc \ java/lang/natVMClassLoader.cc \ -java/lang/natVMSecurityManager.cc \ java/lang/natVMThrowable.cc \ java/lang/ref/natReference.cc \ java/lang/reflect/natArray.cc \ java/lang/reflect/natConstructor.cc \ java/lang/reflect/natField.cc \ java/lang/reflect/natMethod.cc \ -java/net/natVMNetworkInterface.cc \ +java/lang/reflect/natVMProxy.cc \ java/net/natVMInetAddress.cc \ -java/net/natURLClassLoader.cc \ +java/net/natVMNetworkInterface.cc \ +java/net/natVMURLConnection.cc \ java/nio/channels/natVMChannels.cc \ java/nio/natDirectByteBufferImpl.cc \ java/security/natVMAccessController.cc \ java/security/natVMAccessControlState.cc \ java/text/natCollator.cc \ -java/util/natResourceBundle.cc \ java/util/natVMTimeZone.cc \ +java/util/concurrent/atomic/natAtomicLong.cc \ java/util/logging/natLogger.cc \ java/util/zip/natDeflater.cc \ -java/util/zip/natInflater.cc +java/util/zip/natInflater.cc \ +sun/misc/natUnsafe.cc xlib_nat_source_files = \ gnu/gcj/xlib/natClip.cc \ @@ -905,7 +914,7 @@ src.zip: here=`pwd`; \ ( \ ( cd $(srcdir)/classpath; \ - find java gnu javax org -name '*.java' -print | \ + find java gnu javax org sun -name '*.java' -print | \ while read file; do \ ## Ugly code to avoid "echo -C". Must separate each entry by a newline ## Gross but easy. @@ -913,6 +922,27 @@ src.zip: echo $(srcdir)/classpath; \ echo $$file; \ done ); \ + ( cd $(srcdir)/classpath/external/sax; \ + find org -name '*.java' -print | \ + while read file; do \ + echo "x-C" | sed -e 's/^.//'; \ + echo $(srcdir)/classpath/external/sax; \ + echo $$file; \ + done ); \ + ( cd $(srcdir)/classpath/external/relaxngDatatype; \ + find org -name '*.java' -print | \ + while read file; do \ + echo "x-C" | sed -e 's/^.//'; \ + echo $(srcdir)/classpath/external/relaxngDatatype; \ + echo $$file; \ + done ); \ + ( cd $(srcdir)/classpath/external/w3c_dom; \ + find org -name '*.java' -print | \ + while read file; do \ + echo "x-C" | sed -e 's/^.//'; \ + echo $(srcdir)/classpath/external/w3c_dom; \ + echo $$file; \ + done ); \ ## Now the build tree. ( cd classpath; \ find gnu java -name '*.java' -print | \ @@ -1026,7 +1056,8 @@ AM_MAKEFLAGS = \ "NM=$(NM)" \ "PICFLAG=$(PICFLAG)" \ "RANLIB=$(RANLIB)" \ - "DESTDIR=$(DESTDIR)" + "DESTDIR=$(DESTDIR)" \ + "JAR=$(JAR)" # Subdir rules rely on $(FLAGS_TO_PASS) FLAGS_TO_PASS = $(AM_MAKEFLAGS) diff --git a/libjava/Makefile.in b/libjava/Makefile.in index aeec4397909..e79f3c2638f 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -43,20 +43,26 @@ target_triplet = @target@ @TESTSUBDIR_TRUE@am__append_1 = testsuite @USE_LIBGCJ_BC_TRUE@am__append_2 = libgcj_bc.la @XLIB_AWT_TRUE@am__append_3 = lib-gnu-awt-xlib.la +@INSTALL_ECJ_JAR_TRUE@am__append_4 = $(ECJ_BUILD_JAR) @NATIVE_TRUE@bin_PROGRAMS = jv-convert$(EXEEXT) gij$(EXEEXT) \ @NATIVE_TRUE@ grmic$(EXEEXT) grmiregistry$(EXEEXT) \ @NATIVE_TRUE@ gcj-dbtool$(EXEEXT) gappletviewer$(EXEEXT) \ -@NATIVE_TRUE@ gjarsigner$(EXEEXT) gkeytool$(EXEEXT) -@BASH_JAR_TRUE@am__append_4 = scripts/jar -@USING_GCC_TRUE@am__append_5 = $(WARNINGS) -@USING_BOEHMGC_TRUE@am__append_6 = boehm.cc -@USING_NOGC_TRUE@am__append_7 = nogc.cc -@USING_POSIX_PLATFORM_TRUE@am__append_8 = posix.cc -@USING_WIN32_PLATFORM_TRUE@am__append_9 = win32.cc -@USING_DARWIN_CRT_TRUE@am__append_10 = darwin.cc -@USING_POSIX_THREADS_TRUE@am__append_11 = posix-threads.cc -@USING_WIN32_THREADS_TRUE@am__append_12 = win32-threads.cc -@USING_NO_THREADS_TRUE@am__append_13 = no-threads.cc +@NATIVE_TRUE@ gjarsigner$(EXEEXT) gkeytool$(EXEEXT) \ +@NATIVE_TRUE@ gjar$(EXEEXT) gjavah$(EXEEXT) \ +@NATIVE_TRUE@ gnative2ascii$(EXEEXT) gorbd$(EXEEXT) \ +@NATIVE_TRUE@ grmid$(EXEEXT) gserialver$(EXEEXT) \ +@NATIVE_TRUE@ gtnameserv$(EXEEXT) +@BUILD_ECJ1_TRUE@libexecsub_PROGRAMS = ecjx$(EXEEXT) +@BASH_JAR_TRUE@am__append_5 = scripts/jar +@USING_GCC_TRUE@am__append_6 = $(WARNINGS) +@USING_BOEHMGC_TRUE@am__append_7 = boehm.cc +@USING_NOGC_TRUE@am__append_8 = nogc.cc +@USING_POSIX_PLATFORM_TRUE@am__append_9 = posix.cc +@USING_WIN32_PLATFORM_TRUE@am__append_10 = win32.cc +@USING_DARWIN_CRT_TRUE@am__append_11 = darwin.cc +@USING_POSIX_THREADS_TRUE@am__append_12 = posix-threads.cc +@USING_WIN32_THREADS_TRUE@am__append_13 = win32-threads.cc +@USING_NO_THREADS_TRUE@am__append_14 = no-threads.cc DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ $(srcdir)/../config.guess $(srcdir)/../config.sub \ $(srcdir)/../depcomp $(srcdir)/../install-sh \ @@ -68,7 +74,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ $(top_srcdir)/scripts/jar.in COPYING ChangeLog NEWS THANKS @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@noinst_PROGRAMS = \ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ gen-from-JIS$(EXEEXT) -@XLIB_AWT_TRUE@am__append_14 = $(xlib_nat_headers) +@XLIB_AWT_TRUE@am__append_15 = $(xlib_nat_headers) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ @@ -94,9 +100,8 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ CONFIG_HEADER = $(top_builddir)/include/config.h \ $(top_builddir)/gcj/libgcj-config.h CONFIG_CLEAN_FILES = libgcj.pc libgcj.spec libgcj-test.spec \ - scripts/jar java/io/natFile.cc java/lang/ConcreteProcess.java \ - java/lang/natConcreteProcess.cc java/net/natVMInetAddress.cc \ - java/net/natVMNetworkInterface.cc \ + scripts/jar java/io/natFile.cc java/lang/natConcreteProcess.cc \ + java/net/natVMInetAddress.cc java/net/natVMNetworkInterface.cc \ gnu/java/net/natPlainSocketImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ gnu/java/nio/natPipeImpl.cc gnu/java/nio/natSelectorImpl.cc \ @@ -110,8 +115,9 @@ am__vpath_adj = case $$p in \ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(dbexecdir)" \ "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbexecdir)" \ - "$(DESTDIR)$(jardir)" "$(DESTDIR)$(toolexecmainlibdir)" + "$(DESTDIR)$(libexecsubdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(jardir)" \ + "$(DESTDIR)$(toolexecmainlibdir)" dbexecLTLIBRARIES_INSTALL = $(INSTALL) toolexeclibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(dbexec_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) @@ -152,49 +158,52 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ gnu/gcj.lo gnu/gcj/convert.lo gnu/gcj/io.lo gnu/gcj/jvmti.lo \ gnu/gcj/runtime.lo gnu/gcj/util.lo gnu/java/awt.lo \ gnu/java/awt/color.lo gnu/java/awt/dnd.lo gnu/java/awt/font.lo \ - gnu/java/awt/font/opentype.lo \ + gnu/java/awt/font/autofit.lo gnu/java/awt/font/opentype.lo \ gnu/java/awt/font/opentype/truetype.lo gnu/java/awt/image.lo \ gnu/java/awt/java2d.lo gnu/java/awt/peer.lo \ - gnu/java/awt/print.lo gnu/java/io.lo gnu/java/lang.lo \ - gnu/java/lang/management.lo gnu/java/lang/reflect.lo \ - gnu/java/locale.lo gnu/java/math.lo gnu/java/net.lo \ - gnu/java/net/loader.lo gnu/java/net/local.lo \ + gnu/java/awt/peer/headless.lo gnu/java/awt/print.lo \ + gnu/java/io.lo gnu/java/lang.lo gnu/java/lang/management.lo \ + gnu/java/lang/reflect.lo gnu/java/locale.lo gnu/java/math.lo \ + gnu/java/net.lo gnu/java/net/loader.lo gnu/java/net/local.lo \ gnu/java/net/protocol/core.lo gnu/java/net/protocol/file.lo \ gnu/java/net/protocol/ftp.lo gnu/java/net/protocol/gcjlib.lo \ gnu/java/net/protocol/http.lo gnu/java/net/protocol/https.lo \ gnu/java/net/protocol/jar.lo gnu/java/nio.lo \ gnu/java/nio/channels.lo gnu/java/nio/charset.lo \ gnu/java/rmi.lo gnu/java/rmi/activation.lo gnu/java/rmi/dgc.lo \ - gnu/java/rmi/registry.lo gnu/java/rmi/rmic.lo \ - gnu/java/rmi/server.lo gnu/java/security.lo \ - gnu/java/security/action.lo gnu/java/security/ber.lo \ - gnu/java/security/der.lo gnu/java/security/hash.lo \ - gnu/java/security/jce/hash.lo gnu/java/security/jce/prng.lo \ - gnu/java/security/jce/sig.lo gnu/java/security/key.lo \ - gnu/java/security/key/dss.lo gnu/java/security/key/rsa.lo \ - gnu/java/security/pkcs.lo gnu/java/security/prng.lo \ - gnu/java/security/provider.lo gnu/java/security/sig.lo \ - gnu/java/security/sig/dss.lo gnu/java/security/sig/rsa.lo \ - gnu/java/security/util.lo gnu/java/security/x509.lo \ - gnu/java/security/x509/ext.lo gnu/java/text.lo \ - gnu/java/util.lo gnu/java/util/jar.lo gnu/java/util/prefs.lo \ - gnu/java/util/regex.lo gnu/javax/crypto.lo \ - gnu/javax/crypto/assembly.lo gnu/javax/crypto/cipher.lo \ - gnu/javax/crypto/jce.lo gnu/javax/crypto/jce/cipher.lo \ - gnu/javax/crypto/jce/key.lo gnu/javax/crypto/jce/keyring.lo \ - gnu/javax/crypto/jce/mac.lo gnu/javax/crypto/jce/params.lo \ - gnu/javax/crypto/jce/prng.lo gnu/javax/crypto/jce/sig.lo \ - gnu/javax/crypto/jce/spec.lo gnu/javax/crypto/key.lo \ - gnu/javax/crypto/key/dh.lo gnu/javax/crypto/key/srp6.lo \ - gnu/javax/crypto/keyring.lo gnu/javax/crypto/kwa.lo \ - gnu/javax/crypto/mac.lo gnu/javax/crypto/mode.lo \ - gnu/javax/crypto/pad.lo gnu/javax/crypto/prng.lo \ - gnu/javax/crypto/sasl.lo gnu/javax/crypto/sasl/anonymous.lo \ + gnu/java/rmi/registry.lo gnu/java/rmi/server.lo \ + gnu/java/security.lo gnu/java/security/action.lo \ + gnu/java/security/ber.lo gnu/java/security/der.lo \ + gnu/java/security/hash.lo gnu/java/security/jce/hash.lo \ + gnu/java/security/jce/prng.lo gnu/java/security/jce/sig.lo \ + gnu/java/security/key.lo gnu/java/security/key/dss.lo \ + gnu/java/security/key/rsa.lo gnu/java/security/pkcs.lo \ + gnu/java/security/prng.lo gnu/java/security/provider.lo \ + gnu/java/security/sig.lo gnu/java/security/sig/dss.lo \ + gnu/java/security/sig/rsa.lo gnu/java/security/util.lo \ + gnu/java/security/x509.lo gnu/java/security/x509/ext.lo \ + gnu/java/text.lo gnu/java/util.lo gnu/java/util/jar.lo \ + gnu/java/util/prefs.lo gnu/java/util/regex.lo \ + gnu/javax/crypto.lo gnu/javax/crypto/assembly.lo \ + gnu/javax/crypto/cipher.lo gnu/javax/crypto/jce.lo \ + gnu/javax/crypto/jce/cipher.lo gnu/javax/crypto/jce/key.lo \ + gnu/javax/crypto/jce/keyring.lo gnu/javax/crypto/jce/mac.lo \ + gnu/javax/crypto/jce/params.lo gnu/javax/crypto/jce/prng.lo \ + gnu/javax/crypto/jce/sig.lo gnu/javax/crypto/jce/spec.lo \ + gnu/javax/crypto/key.lo gnu/javax/crypto/key/dh.lo \ + gnu/javax/crypto/key/srp6.lo gnu/javax/crypto/keyring.lo \ + gnu/javax/crypto/kwa.lo gnu/javax/crypto/mac.lo \ + gnu/javax/crypto/mode.lo gnu/javax/crypto/pad.lo \ + gnu/javax/crypto/prng.lo gnu/javax/crypto/sasl.lo \ + gnu/javax/crypto/sasl/anonymous.lo \ gnu/javax/crypto/sasl/crammd5.lo \ gnu/javax/crypto/sasl/plain.lo gnu/javax/crypto/sasl/srp.lo \ gnu/javax/imageio.lo gnu/javax/imageio/bmp.lo \ gnu/javax/imageio/gif.lo gnu/javax/imageio/jpeg.lo \ - gnu/javax/imageio/png.lo gnu/javax/net/ssl.lo \ + gnu/javax/imageio/png.lo gnu/javax/management.lo \ + gnu/javax/naming/giop.lo gnu/javax/naming/ictxImpl/trans.lo \ + gnu/javax/naming/jndi/url/corbaname.lo \ + gnu/javax/naming/jndi/url/rmi.lo gnu/javax/net/ssl.lo \ gnu/javax/net/ssl/provider.lo gnu/javax/print.lo \ gnu/javax/print/ipp.lo gnu/javax/print/ipp/attribute.lo \ gnu/javax/print/ipp/attribute/defaults.lo \ @@ -205,6 +214,7 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ gnu/javax/security/auth/login.lo gnu/javax/sound/sampled/AU.lo \ gnu/javax/sound/sampled/WAV.lo gnu/javax/swing/plaf/gnu.lo \ gnu/javax/swing/plaf/metal.lo gnu/javax/swing/text/html.lo \ + gnu/javax/swing/text/html/css.lo \ gnu/javax/swing/text/html/parser.lo \ gnu/javax/swing/text/html/parser/models.lo \ gnu/javax/swing/text/html/parser/support.lo \ @@ -224,11 +234,13 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ java/rmi/dgc.lo java/rmi/registry.lo java/rmi/server.lo \ java/security.lo java/security/acl.lo java/security/cert.lo \ java/security/interfaces.lo java/security/spec.lo java/sql.lo \ - java/text.lo java/util.lo java/util/jar.lo \ - java/util/logging.lo java/util/prefs.lo java/util/regex.lo \ - java/util/zip.lo javax/accessibility.lo javax/crypto.lo \ - javax/crypto/interfaces.lo javax/crypto/spec.lo \ - javax/management.lo javax/management/openmbean.lo \ + java/text.lo java/util.lo java/util/concurrent.lo \ + java/util/concurrent/atomic.lo java/util/concurrent/locks.lo \ + java/util/jar.lo java/util/logging.lo java/util/prefs.lo \ + java/util/regex.lo java/util/zip.lo javax/accessibility.lo \ + javax/crypto.lo javax/crypto/interfaces.lo \ + javax/crypto/spec.lo javax/management.lo \ + javax/management/loading.lo javax/management/openmbean.lo \ javax/naming.lo javax/naming/directory.lo \ javax/naming/event.lo javax/naming/ldap.lo javax/naming/spi.lo \ javax/net.lo javax/net/ssl.lo javax/print.lo \ @@ -249,24 +261,25 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ javax/swing/text/html.lo javax/swing/text/html/parser.lo \ javax/swing/text/rtf.lo javax/swing/tree.lo \ javax/swing/undo.lo javax/transaction.lo \ - javax/transaction/xa.lo org/ietf/jgss.lo + javax/transaction/xa.lo org/ietf/jgss.lo sun/misc.lo \ + sun/reflect.lo sun/reflect/annotation.lo sun/reflect/misc.lo am__DEPENDENCIES_2 = gnu-CORBA.lo gnu-java-awt-dnd-peer-gtk.lo \ - gnu-java-awt-peer-gtk.lo gnu-java-awt-peer-qt.lo \ - gnu-java-awt-peer-swing.lo gnu-java-beans.lo \ - gnu-java-util-prefs-gconf.lo gnu-javax-rmi.lo \ - gnu-javax-sound-midi.lo gnu-xml.lo javax-imageio.lo \ - javax-rmi.lo javax-xml.lo org-omg.lo org-relaxng.lo org-w3c.lo \ - org-xml.lo + gnu-java-awt-peer-gtk.lo gnu-java-awt-peer-swing.lo \ + gnu-java-beans.lo gnu-java-util-prefs-gconf.lo \ + gnu-javax-rmi.lo gnu-javax-sound-midi.lo gnu-xml.lo \ + javax-imageio.lo javax-rmi.lo javax-xml.lo org-omg.lo \ + org-relaxng.lo org-w3c.lo org-xml.lo am__DEPENDENCIES_3 = $(patsubst classpath/resource/%,%,$(addsuffix \ .lo,$(property_files))) am__DEPENDENCIES_4 = am__libgcj_la_SOURCES_DIST = prims.cc jni.cc jvmti.cc exception.cc \ stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \ - java/lang/Class.java java/lang/Object.java \ - gnu/classpath/natSystemProperties.cc \ gnu/classpath/jdwp/natVMFrame.cc \ gnu/classpath/jdwp/natVMMethod.cc \ - gnu/classpath/jdwp/natVMVirtualMachine.cc gnu/gcj/natCore.cc \ + gnu/classpath/jdwp/natVMVirtualMachine.cc \ + gnu/classpath/natConfiguration.cc \ + gnu/classpath/natSystemProperties.cc \ + gnu/classpath/natVMStackWalker.cc gnu/gcj/natCore.cc \ gnu/gcj/convert/JIS0208_to_Unicode.cc \ gnu/gcj/convert/JIS0212_to_Unicode.cc \ gnu/gcj/convert/Unicode_to_JIS.cc gnu/gcj/convert/natIconv.cc \ @@ -281,40 +294,55 @@ am__libgcj_la_SOURCES_DIST = prims.cc jni.cc jvmti.cc exception.cc \ gnu/gcj/runtime/natSystemClassLoader.cc \ gnu/gcj/runtime/natStringBuffer.cc gnu/gcj/util/natDebug.cc \ gnu/java/lang/natMainThread.cc \ + gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc \ + gnu/java/lang/management/natVMCompilationMXBeanImpl.cc \ + gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ + gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ + gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ + gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ + gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ + gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ gnu/java/net/natPlainSocketImpl.cc \ gnu/java/net/protocol/core/natCoreInputStream.cc \ gnu/java/nio/natPipeImpl.cc gnu/java/nio/natSelectorImpl.cc \ gnu/java/nio/natNIOServerSocket.cc \ + gnu/java/nio/natVMChannel.cc \ gnu/java/nio/channels/natFileChannelImpl.cc java/io/natFile.cc \ java/io/natObjectInputStream.cc \ - java/io/natVMObjectStreamClass.cc java/lang/natCharacter.cc \ - java/lang/natClass.cc java/lang/natClassLoader.cc \ - java/lang/natConcreteProcess.cc java/lang/natDouble.cc \ - java/lang/natFloat.cc java/lang/natMath.cc \ - java/lang/natObject.cc java/lang/natRuntime.cc \ - java/lang/natString.cc java/lang/natStringBuffer.cc \ - java/lang/natStringBuilder.cc java/lang/natSystem.cc \ - java/lang/natThread.cc java/lang/natVMClassLoader.cc \ - java/lang/natVMSecurityManager.cc java/lang/natVMThrowable.cc \ - java/lang/ref/natReference.cc java/lang/reflect/natArray.cc \ + java/io/natVMObjectStreamClass.cc \ + java/lang/management/natVMManagementFactory.cc \ + java/lang/natCharacter.cc java/lang/natClass.cc \ + java/lang/natClassLoader.cc java/lang/natConcreteProcess.cc \ + java/lang/natDouble.cc java/lang/natFloat.cc \ + java/lang/natMath.cc java/lang/natObject.cc \ + java/lang/natRuntime.cc java/lang/natString.cc \ + java/lang/natStringBuffer.cc java/lang/natStringBuilder.cc \ + java/lang/natSystem.cc java/lang/natThread.cc \ + java/lang/natThreadLocal.cc java/lang/natVMClassLoader.cc \ + java/lang/natVMThrowable.cc java/lang/ref/natReference.cc \ + java/lang/reflect/natArray.cc \ java/lang/reflect/natConstructor.cc \ java/lang/reflect/natField.cc java/lang/reflect/natMethod.cc \ - java/net/natVMNetworkInterface.cc java/net/natVMInetAddress.cc \ - java/net/natURLClassLoader.cc \ + java/lang/reflect/natVMProxy.cc java/net/natVMInetAddress.cc \ + java/net/natVMNetworkInterface.cc \ + java/net/natVMURLConnection.cc \ java/nio/channels/natVMChannels.cc \ java/nio/natDirectByteBufferImpl.cc \ java/security/natVMAccessController.cc \ java/security/natVMAccessControlState.cc \ - java/text/natCollator.cc java/util/natResourceBundle.cc \ - java/util/natVMTimeZone.cc java/util/logging/natLogger.cc \ - java/util/zip/natDeflater.cc java/util/zip/natInflater.cc \ - boehm.cc nogc.cc posix.cc win32.cc darwin.cc posix-threads.cc \ + java/text/natCollator.cc java/util/natVMTimeZone.cc \ + java/util/concurrent/atomic/natAtomicLong.cc \ + java/util/logging/natLogger.cc java/util/zip/natDeflater.cc \ + java/util/zip/natInflater.cc sun/misc/natUnsafe.cc boehm.cc \ + nogc.cc posix.cc win32.cc darwin.cc posix-threads.cc \ win32-threads.cc no-threads.cc -am__objects_2 = gnu/classpath/natSystemProperties.lo \ - gnu/classpath/jdwp/natVMFrame.lo \ +am__objects_2 = gnu/classpath/jdwp/natVMFrame.lo \ gnu/classpath/jdwp/natVMMethod.lo \ - gnu/classpath/jdwp/natVMVirtualMachine.lo gnu/gcj/natCore.lo \ + gnu/classpath/jdwp/natVMVirtualMachine.lo \ + gnu/classpath/natConfiguration.lo \ + gnu/classpath/natSystemProperties.lo \ + gnu/classpath/natVMStackWalker.lo gnu/gcj/natCore.lo \ gnu/gcj/convert/JIS0208_to_Unicode.lo \ gnu/gcj/convert/JIS0212_to_Unicode.lo \ gnu/gcj/convert/Unicode_to_JIS.lo gnu/gcj/convert/natIconv.lo \ @@ -329,34 +357,47 @@ am__objects_2 = gnu/classpath/natSystemProperties.lo \ gnu/gcj/runtime/natSystemClassLoader.lo \ gnu/gcj/runtime/natStringBuffer.lo gnu/gcj/util/natDebug.lo \ gnu/java/lang/natMainThread.lo \ + gnu/java/lang/management/natVMClassLoadingMXBeanImpl.lo \ + gnu/java/lang/management/natVMCompilationMXBeanImpl.lo \ + gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.lo \ + gnu/java/lang/management/natVMMemoryMXBeanImpl.lo \ + gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo \ + gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo \ + gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo \ + gnu/java/lang/management/natVMThreadMXBeanImpl.lo \ gnu/java/net/natPlainDatagramSocketImpl.lo \ gnu/java/net/natPlainSocketImpl.lo \ gnu/java/net/protocol/core/natCoreInputStream.lo \ gnu/java/nio/natPipeImpl.lo gnu/java/nio/natSelectorImpl.lo \ gnu/java/nio/natNIOServerSocket.lo \ + gnu/java/nio/natVMChannel.lo \ gnu/java/nio/channels/natFileChannelImpl.lo java/io/natFile.lo \ java/io/natObjectInputStream.lo \ - java/io/natVMObjectStreamClass.lo java/lang/natCharacter.lo \ - java/lang/natClass.lo java/lang/natClassLoader.lo \ - java/lang/natConcreteProcess.lo java/lang/natDouble.lo \ - java/lang/natFloat.lo java/lang/natMath.lo \ - java/lang/natObject.lo java/lang/natRuntime.lo \ - java/lang/natString.lo java/lang/natStringBuffer.lo \ - java/lang/natStringBuilder.lo java/lang/natSystem.lo \ - java/lang/natThread.lo java/lang/natVMClassLoader.lo \ - java/lang/natVMSecurityManager.lo java/lang/natVMThrowable.lo \ - java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \ + java/io/natVMObjectStreamClass.lo \ + java/lang/management/natVMManagementFactory.lo \ + java/lang/natCharacter.lo java/lang/natClass.lo \ + java/lang/natClassLoader.lo java/lang/natConcreteProcess.lo \ + java/lang/natDouble.lo java/lang/natFloat.lo \ + java/lang/natMath.lo java/lang/natObject.lo \ + java/lang/natRuntime.lo java/lang/natString.lo \ + java/lang/natStringBuffer.lo java/lang/natStringBuilder.lo \ + java/lang/natSystem.lo java/lang/natThread.lo \ + java/lang/natThreadLocal.lo java/lang/natVMClassLoader.lo \ + java/lang/natVMThrowable.lo java/lang/ref/natReference.lo \ + java/lang/reflect/natArray.lo \ java/lang/reflect/natConstructor.lo \ java/lang/reflect/natField.lo java/lang/reflect/natMethod.lo \ - java/net/natVMNetworkInterface.lo java/net/natVMInetAddress.lo \ - java/net/natURLClassLoader.lo \ + java/lang/reflect/natVMProxy.lo java/net/natVMInetAddress.lo \ + java/net/natVMNetworkInterface.lo \ + java/net/natVMURLConnection.lo \ java/nio/channels/natVMChannels.lo \ java/nio/natDirectByteBufferImpl.lo \ java/security/natVMAccessController.lo \ java/security/natVMAccessControlState.lo \ - java/text/natCollator.lo java/util/natResourceBundle.lo \ - java/util/natVMTimeZone.lo java/util/logging/natLogger.lo \ - java/util/zip/natDeflater.lo java/util/zip/natInflater.lo + java/text/natCollator.lo java/util/natVMTimeZone.lo \ + java/util/concurrent/atomic/natAtomicLong.lo \ + java/util/logging/natLogger.lo java/util/zip/natDeflater.lo \ + java/util/zip/natInflater.lo sun/misc/natUnsafe.lo @USING_BOEHMGC_TRUE@am__objects_3 = boehm.lo @USING_NOGC_TRUE@am__objects_4 = nogc.lo @USING_POSIX_PLATFORM_TRUE@am__objects_5 = posix.lo @@ -367,10 +408,9 @@ am__objects_2 = gnu/classpath/natSystemProperties.lo \ @USING_NO_THREADS_TRUE@am__objects_10 = no-threads.lo am_libgcj_la_OBJECTS = prims.lo jni.lo jvmti.lo exception.lo \ stacktrace.lo link.lo defineclass.lo interpret.lo verify.lo \ - java/lang/Class.lo java/lang/Object.lo $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) $(am__objects_5) \ - $(am__objects_6) $(am__objects_7) $(am__objects_8) \ - $(am__objects_9) $(am__objects_10) + $(am__objects_2) $(am__objects_3) $(am__objects_4) \ + $(am__objects_5) $(am__objects_6) $(am__objects_7) \ + $(am__objects_8) $(am__objects_9) $(am__objects_10) libgcj_la_OBJECTS = $(am_libgcj_la_OBJECTS) am_libgcj_bc_la_OBJECTS = libgcj_bc.lo libgcj_bc_la_OBJECTS = $(am_libgcj_bc_la_OBJECTS) @@ -380,11 +420,13 @@ libgij_la_OBJECTS = $(am_libgij_la_OBJECTS) am_libjvm_la_OBJECTS = jni-libjvm.lo libjvm_la_OBJECTS = $(am_libjvm_la_OBJECTS) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +libexecsubPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) $(libexecsub_PROGRAMS) $(noinst_PROGRAMS) +am_ecjx_OBJECTS = +ecjx_OBJECTS = $(am_ecjx_OBJECTS) am_gappletviewer_OBJECTS = gappletviewer_OBJECTS = $(am_gappletviewer_OBJECTS) -am_gcj_dbtool_OBJECTS = gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT) \ - gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT) +am_gcj_dbtool_OBJECTS = gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT) gcj_dbtool_OBJECTS = $(am_gcj_dbtool_OBJECTS) am__gen_from_JIS_SOURCES_DIST = gnu/gcj/convert/gen-from-JIS.c \ gnu/gcj/convert/make-trie.c @@ -394,14 +436,28 @@ gen_from_JIS_OBJECTS = $(am_gen_from_JIS_OBJECTS) gen_from_JIS_LDADD = $(LDADD) am_gij_OBJECTS = gij_OBJECTS = $(am_gij_OBJECTS) +am_gjar_OBJECTS = +gjar_OBJECTS = $(am_gjar_OBJECTS) am_gjarsigner_OBJECTS = gjarsigner_OBJECTS = $(am_gjarsigner_OBJECTS) +am_gjavah_OBJECTS = +gjavah_OBJECTS = $(am_gjavah_OBJECTS) am_gkeytool_OBJECTS = gkeytool_OBJECTS = $(am_gkeytool_OBJECTS) +am_gnative2ascii_OBJECTS = +gnative2ascii_OBJECTS = $(am_gnative2ascii_OBJECTS) +am_gorbd_OBJECTS = +gorbd_OBJECTS = $(am_gorbd_OBJECTS) am_grmic_OBJECTS = grmic_OBJECTS = $(am_grmic_OBJECTS) +am_grmid_OBJECTS = +grmid_OBJECTS = $(am_grmid_OBJECTS) am_grmiregistry_OBJECTS = grmiregistry_OBJECTS = $(am_grmiregistry_OBJECTS) +am_gserialver_OBJECTS = +gserialver_OBJECTS = $(am_gserialver_OBJECTS) +am_gtnameserv_OBJECTS = +gtnameserv_OBJECTS = $(am_gtnameserv_OBJECTS) am_jv_convert_OBJECTS = jv_convert_OBJECTS = $(am_jv_convert_OBJECTS) binSCRIPT_INSTALL = $(INSTALL_SCRIPT) @@ -430,19 +486,26 @@ LTGCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) $(AM_GCJFLAGS) \ $(GCJFLAGS) GCJLD = $(GCJ) SOURCES = $(lib_gnu_awt_xlib_la_SOURCES) $(libgcj_tools_la_SOURCES) \ - $(libgcj_la_SOURCES) $(libgcj_bc_la_SOURCES) \ - $(libgij_la_SOURCES) $(libjvm_la_SOURCES) \ - $(gappletviewer_SOURCES) $(gcj_dbtool_SOURCES) \ - $(gen_from_JIS_SOURCES) $(gij_SOURCES) $(gjarsigner_SOURCES) \ - $(gkeytool_SOURCES) $(grmic_SOURCES) $(grmiregistry_SOURCES) \ + $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) \ + $(libgcj_bc_la_SOURCES) $(libgij_la_SOURCES) \ + $(libjvm_la_SOURCES) $(ecjx_SOURCES) $(gappletviewer_SOURCES) \ + $(gcj_dbtool_SOURCES) $(gen_from_JIS_SOURCES) $(gij_SOURCES) \ + $(gjar_SOURCES) $(gjarsigner_SOURCES) $(gjavah_SOURCES) \ + $(gkeytool_SOURCES) $(gnative2ascii_SOURCES) $(gorbd_SOURCES) \ + $(grmic_SOURCES) $(grmid_SOURCES) $(grmiregistry_SOURCES) \ + $(gserialver_SOURCES) $(gtnameserv_SOURCES) \ $(jv_convert_SOURCES) DIST_SOURCES = $(lib_gnu_awt_xlib_la_SOURCES) \ $(libgcj_tools_la_SOURCES) $(am__libgcj_la_SOURCES_DIST) \ - $(libgcj_bc_la_SOURCES) $(libgij_la_SOURCES) \ - $(libjvm_la_SOURCES) $(gappletviewer_SOURCES) \ - $(gcj_dbtool_SOURCES) $(am__gen_from_JIS_SOURCES_DIST) \ - $(gij_SOURCES) $(gjarsigner_SOURCES) $(gkeytool_SOURCES) \ - $(grmic_SOURCES) $(grmiregistry_SOURCES) $(jv_convert_SOURCES) + $(EXTRA_libgcj_la_SOURCES) $(libgcj_bc_la_SOURCES) \ + $(libgij_la_SOURCES) $(libjvm_la_SOURCES) $(ecjx_SOURCES) \ + $(gappletviewer_SOURCES) $(gcj_dbtool_SOURCES) \ + $(am__gen_from_JIS_SOURCES_DIST) $(gij_SOURCES) \ + $(gjar_SOURCES) $(gjarsigner_SOURCES) $(gjavah_SOURCES) \ + $(gkeytool_SOURCES) $(gnative2ascii_SOURCES) $(gorbd_SOURCES) \ + $(grmic_SOURCES) $(grmid_SOURCES) $(grmiregistry_SOURCES) \ + $(gserialver_SOURCES) $(gtnameserv_SOURCES) \ + $(jv_convert_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-exec-recursive install-info-recursive \ @@ -481,6 +544,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -500,7 +565,11 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ +ENABLE_SHARED_FALSE = @ENABLE_SHARED_FALSE@ +ENABLE_SHARED_TRUE = @ENABLE_SHARED_TRUE@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@ @@ -511,6 +580,7 @@ GCJDEPMODE = @GCJDEPMODE@ GCJFLAGS = @GCJFLAGS@ GCJH = @GCJH@ GCJVERSION = @GCJVERSION@ +GCJ_FOR_ECJX = @GCJ_FOR_ECJX@ GCLIBS = @GCLIBS@ GCSPEC = @GCSPEC@ GCTESTSPEC = @GCTESTSPEC@ @@ -522,6 +592,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -530,6 +602,8 @@ JAR = @JAR@ JAVA_HOME = @JAVA_HOME@ JAVA_HOME_SET_FALSE = @JAVA_HOME_SET_FALSE@ JAVA_HOME_SET_TRUE = @JAVA_HOME_SET_TRUE@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JC1GCSPEC = @JC1GCSPEC@ LD = @LD@ LDFLAGS = @LDFLAGS@ @@ -548,6 +622,7 @@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ +LIBMAGIC = @LIBMAGIC@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ @@ -572,7 +647,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ -PLATFORM_INNER_NAT_HDRS = @PLATFORM_INNER_NAT_HDRS@ +PLATFORM = @PLATFORM@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -614,6 +689,8 @@ USING_WIN32_THREADS_TRUE = @USING_WIN32_THREADS_TRUE@ VERSION = @VERSION@ XLIB_AWT_FALSE = @XLIB_AWT_FALSE@ XLIB_AWT_TRUE = @XLIB_AWT_TRUE@ +X_AWT_FALSE = @X_AWT_FALSE@ +X_AWT_TRUE = @X_AWT_TRUE@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ @@ -659,6 +736,7 @@ here = @here@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ +host_exeext = @host_exeext@ host_os = @host_os@ host_subdir = @host_subdir@ host_vendor = @host_vendor@ @@ -710,13 +788,15 @@ write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) $(foreach o # This is required by TL_AC_GXX_INCLUDE_DIR. libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version) +libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) toolexeclib_LTLIBRARIES = libgcj.la libgij.la libgcj-tools.la \ $(am__append_2) $(am__append_3) toolexecmainlib_DATA = libgcj.spec dbexec_LTLIBRARIES = libjvm.la pkgconfigdir = $(libdir)/pkgconfig jardir = $(datadir)/java -jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar +jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar \ + $(am__append_4) @JAVA_HOME_SET_FALSE@JAVA_HOME_DIR = $(prefix) @JAVA_HOME_SET_TRUE@JAVA_HOME_DIR = $(JAVA_HOME) @JAVA_HOME_SET_FALSE@BOOT_CLASS_PATH_DIR = $(jardir)/libgcj-$(gcc_version).jar @@ -724,11 +804,12 @@ jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar db_name = classmap.db db_pathtail = gcj-$(gcc_version)/$(db_name) @NATIVE_TRUE@dbexec_DATA = $(db_name) -bin_SCRIPTS = addr2name.awk $(am__append_4) +bin_SCRIPTS = addr2name.awk $(am__append_5) GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \ $(LDFLAGS) -o $@ +GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@ LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \ $(LDFLAGS) $(extra_ldflags_libjava) -o $@ @@ -760,7 +841,7 @@ AM_GCJFLAGS = \ --encoding=UTF-8 \ -Wno-deprecated -fbootstrap-classes -AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_5) +AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_6) PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long JCFLAGS = -g JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS) @@ -772,7 +853,7 @@ AM_CPPFLAGS = -I$(top_srcdir) \ $(GCINCS) $(THREADINCS) $(INCLTDL) \ $(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS) -BOOTCLASSPATH = $(here)/classpath/lib +BOOTCLASSPATH = $(srcdir)/classpath/lib libgij_la_SOURCES = gij.cc libgij_la_DEPENDENCIES = libgcj.la libgcj.spec libgij_la_LIBADD = -L$(here)/.libs libgcj.la @@ -781,10 +862,9 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \ libgcj_la_SOURCES = prims.cc jni.cc jvmti.cc exception.cc \ stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \ - java/lang/Class.java java/lang/Object.java $(nat_source_files) \ - $(am__append_6) $(am__append_7) $(am__append_8) \ + $(nat_source_files) $(am__append_7) $(am__append_8) \ $(am__append_9) $(am__append_10) $(am__append_11) \ - $(am__append_12) $(am__append_13) + $(am__append_12) $(am__append_13) $(am__append_14) nat_files = $(nat_source_files:.cc=.lo) xlib_nat_files = $(xlib_nat_source_files:.cc=.lo) @@ -796,18 +876,25 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ + java/lang/Object.lo \ + java/lang/Class.lo \ + java/process-$(PLATFORM).lo \ $(all_packages_source_files:.list=.lo) \ $(bc_objects) \ $(propertyo_files) \ - $(LIBFFI) $(ZLIBS) $(GCLIBS) + $(LIBMAGIC) $(LIBFFI) $(ZLIBS) $(GCLIBS) libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \ + java/lang/Object.lo \ + java/lang/Class.lo \ + java/process-$(PLATFORM).lo \ $(all_packages_source_files:.list=.lo) \ $(LIBLTDL) $(libgcj_la_LIBADD) libgcj_la_LINK = $(LIBLINK) -libgcj_tools_la_SOURCES = classpath/tools/tools.jar -libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes +EXTRA_libgcj_la_SOURCES = java/lang/Object.java +libgcj_tools_la_SOURCES = classpath/tools/tools.zip +libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` @@ -873,6 +960,7 @@ classpath/gnu/CORBA/CDR/Vio.java \ classpath/gnu/CORBA/CDR/gnuRuntime.java \ classpath/gnu/CORBA/CDR/gnuValueStream.java \ classpath/gnu/CORBA/CdrEncapsCodecImpl.java \ +classpath/gnu/CORBA/CollocatedOrbs.java \ classpath/gnu/CORBA/Connected_objects.java \ classpath/gnu/CORBA/CorbaList.java \ classpath/gnu/CORBA/DefaultSocketFactory.java \ @@ -881,7 +969,7 @@ classpath/gnu/CORBA/DuplicateNameHolder.java \ classpath/gnu/CORBA/DynAn/AbstractAny.java \ classpath/gnu/CORBA/DynAn/DivideableAny.java \ classpath/gnu/CORBA/DynAn/NameValuePairHolder.java \ -gnu/CORBA/DynAn/RecordAny.java \ +classpath/gnu/CORBA/DynAn/RecordAny.java \ classpath/gnu/CORBA/DynAn/UndivideableAny.java \ classpath/gnu/CORBA/DynAn/ValueChangeListener.java \ classpath/gnu/CORBA/DynAn/gnuDynAny.java \ @@ -892,7 +980,7 @@ classpath/gnu/CORBA/DynAn/gnuDynFixed.java \ classpath/gnu/CORBA/DynAn/gnuDynSequence.java \ classpath/gnu/CORBA/DynAn/gnuDynStruct.java \ classpath/gnu/CORBA/DynAn/gnuDynUnion.java \ -gnu/CORBA/DynAn/gnuDynValue.java \ +classpath/gnu/CORBA/DynAn/gnuDynValue.java \ classpath/gnu/CORBA/DynAn/gnuDynValueBox.java \ classpath/gnu/CORBA/DynAnySeqHolder.java \ classpath/gnu/CORBA/EmptyExceptionHolder.java \ @@ -941,7 +1029,7 @@ classpath/gnu/CORBA/NamingService/NameValidator.java \ classpath/gnu/CORBA/NamingService/NamingMap.java \ classpath/gnu/CORBA/NamingService/NamingServiceTransient.java \ classpath/gnu/CORBA/NamingService/TransientContext.java \ -gnu/CORBA/ObjectCreator.java \ +classpath/gnu/CORBA/ObjectCreator.java \ classpath/gnu/CORBA/OctetHolder.java \ classpath/gnu/CORBA/OrbFocused.java \ classpath/gnu/CORBA/OrbFunctional.java \ @@ -973,6 +1061,7 @@ classpath/gnu/CORBA/Poa/gnuServantRetentionPolicy.java \ classpath/gnu/CORBA/Poa/gnuThreadPolicy.java \ classpath/gnu/CORBA/RawReply.java \ classpath/gnu/CORBA/ResponseHandlerImpl.java \ +classpath/gnu/CORBA/SafeForDirectCalls.java \ classpath/gnu/CORBA/ServiceDetailHolder.java \ classpath/gnu/CORBA/ServiceRequestAdapter.java \ classpath/gnu/CORBA/SetOverrideTypeHolder.java \ @@ -1037,14 +1126,16 @@ gnu/awt/xlib/XToolkit.java gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files)) gnu_classpath_source_files = \ -classpath/gnu/classpath/Configuration.java \ +gnu/classpath/Configuration.java \ +classpath/gnu/classpath/ListenerData.java \ classpath/gnu/classpath/NotImplementedException.java \ classpath/gnu/classpath/Pointer.java \ classpath/gnu/classpath/Pointer32.java \ classpath/gnu/classpath/Pointer64.java \ classpath/gnu/classpath/ServiceFactory.java \ classpath/gnu/classpath/ServiceProviderLoadingAction.java \ -gnu/classpath/SystemProperties.java +gnu/classpath/SystemProperties.java \ +gnu/classpath/VMStackWalker.java gnu_classpath_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_source_files))) gnu_classpath_debug_source_files = \ @@ -1234,6 +1325,10 @@ gnu/gcj/runtime/StringBuffer.java \ gnu/gcj/runtime/SystemClassLoader.java gnu_gcj_runtime_header_files = $(patsubst %.java,%.h,$(gnu_gcj_runtime_source_files)) +gnu_gcj_tools_gcj_dbtool_source_files = \ +gnu/gcj/tools/gcj_dbtool/Main.java + +gnu_gcj_tools_gcj_dbtool_header_files = $(patsubst %.java,%.h,$(gnu_gcj_tools_gcj_dbtool_source_files)) gnu_gcj_util_source_files = \ gnu/gcj/util/Debug.java @@ -1271,9 +1366,11 @@ classpath/gnu/java/awt/BitwiseXORComposite.java \ classpath/gnu/java/awt/Buffers.java \ classpath/gnu/java/awt/ClasspathToolkit.java \ classpath/gnu/java/awt/ComponentDataBlitOp.java \ +classpath/gnu/java/awt/ComponentReshapeEvent.java \ classpath/gnu/java/awt/EmbeddedWindow.java \ classpath/gnu/java/awt/EventModifier.java \ -classpath/gnu/java/awt/GradientPaintContext.java +classpath/gnu/java/awt/GradientPaintContext.java \ +classpath/gnu/java/awt/LowPriorityEvent.java gnu_java_awt_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_source_files))) gnu_java_awt_color_source_files = \ @@ -1307,6 +1404,20 @@ classpath/gnu/java/awt/font/FontFactory.java \ classpath/gnu/java/awt/font/GNUGlyphVector.java gnu_java_awt_font_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_source_files))) +gnu_java_awt_font_autofit_source_files = \ +classpath/gnu/java/awt/font/autofit/AxisHints.java \ +classpath/gnu/java/awt/font/autofit/Constants.java \ +classpath/gnu/java/awt/font/autofit/GlyphHints.java \ +classpath/gnu/java/awt/font/autofit/Latin.java \ +classpath/gnu/java/awt/font/autofit/LatinAxis.java \ +classpath/gnu/java/awt/font/autofit/LatinMetrics.java \ +classpath/gnu/java/awt/font/autofit/Scaler.java \ +classpath/gnu/java/awt/font/autofit/Script.java \ +classpath/gnu/java/awt/font/autofit/ScriptMetrics.java \ +classpath/gnu/java/awt/font/autofit/Segment.java \ +classpath/gnu/java/awt/font/autofit/Width.java + +gnu_java_awt_font_autofit_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_autofit_source_files))) gnu_java_awt_font_opentype_source_files = \ classpath/gnu/java/awt/font/opentype/CharGlyphMap.java \ classpath/gnu/java/awt/font/opentype/GlyphNamer.java \ @@ -1344,16 +1455,19 @@ classpath/gnu/java/awt/java2d/PolyEdgeComparator.java \ classpath/gnu/java/awt/java2d/QuadSegment.java \ classpath/gnu/java/awt/java2d/RasterGraphics.java \ classpath/gnu/java/awt/java2d/Segment.java \ +classpath/gnu/java/awt/java2d/ShapeCache.java \ classpath/gnu/java/awt/java2d/TexturePaintContext.java gnu_java_awt_java2d_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_java2d_source_files))) gnu_java_awt_peer_source_files = \ classpath/gnu/java/awt/peer/ClasspathFontPeer.java \ classpath/gnu/java/awt/peer/EmbeddedWindowPeer.java \ -classpath/gnu/java/awt/peer/GLightweightPeer.java +classpath/gnu/java/awt/peer/GLightweightPeer.java \ +classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java gnu_java_awt_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_source_files))) gnu_java_awt_peer_gtk_source_files = \ +classpath/gnu/java/awt/peer/gtk/AsyncImage.java \ classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java \ classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java \ classpath/gnu/java/awt/peer/gtk/CairoSurface.java \ @@ -1363,7 +1477,6 @@ classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java \ classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java \ classpath/gnu/java/awt/peer/gtk/GThreadMutex.java \ classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java \ -classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java \ classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java \ @@ -1389,6 +1502,7 @@ classpath/gnu/java/awt/peer/gtk/GtkImage.java \ classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java \ classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java \ classpath/gnu/java/awt/peer/gtk/GtkListPeer.java \ +classpath/gnu/java/awt/peer/gtk/GtkMainThread.java \ classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java \ classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java \ classpath/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java \ @@ -1406,6 +1520,11 @@ classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java \ classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java \ classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java +gnu_java_awt_peer_headless_source_files = \ +classpath/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java \ +classpath/gnu/java/awt/peer/headless/HeadlessToolkit.java + +gnu_java_awt_peer_headless_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_headless_source_files))) gnu_java_awt_peer_qt_source_files = \ classpath/gnu/java/awt/peer/qt/MainQtThread.java \ classpath/gnu/java/awt/peer/qt/NativeWrapper.java \ @@ -1459,14 +1578,35 @@ classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java \ classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java \ classpath/gnu/java/awt/peer/swing/SwingFramePeer.java \ classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingListPeer.java \ classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java \ classpath/gnu/java/awt/peer/swing/SwingMenuItemPeer.java \ classpath/gnu/java/awt/peer/swing/SwingMenuPeer.java \ classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingTextAreaPeer.java \ classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java \ classpath/gnu/java/awt/peer/swing/SwingToolkit.java \ classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java +gnu_java_awt_peer_x_source_files = \ +classpath/gnu/java/awt/peer/x/GLGraphics.java \ +classpath/gnu/java/awt/peer/x/ImageConverter.java \ +classpath/gnu/java/awt/peer/x/KeyboardMapping.java \ +classpath/gnu/java/awt/peer/x/XDialogPeer.java \ +classpath/gnu/java/awt/peer/x/XEventPump.java \ +classpath/gnu/java/awt/peer/x/XFontPeer.java \ +classpath/gnu/java/awt/peer/x/XFontPeer2.java \ +classpath/gnu/java/awt/peer/x/XFramePeer.java \ +classpath/gnu/java/awt/peer/x/XGraphics.java \ +classpath/gnu/java/awt/peer/x/XGraphics2D.java \ +classpath/gnu/java/awt/peer/x/XGraphicsConfiguration.java \ +classpath/gnu/java/awt/peer/x/XGraphicsDevice.java \ +classpath/gnu/java/awt/peer/x/XGraphicsEnvironment.java \ +classpath/gnu/java/awt/peer/x/XImage.java \ +classpath/gnu/java/awt/peer/x/XLightweightPeer.java \ +classpath/gnu/java/awt/peer/x/XToolkit.java \ +classpath/gnu/java/awt/peer/x/XWindowPeer.java + gnu_java_awt_print_source_files = \ classpath/gnu/java/awt/print/JavaPrinterGraphics.java \ classpath/gnu/java/awt/print/JavaPrinterJob.java \ @@ -1563,6 +1703,7 @@ classpath/gnu/java/io/ASN1ParsingException.java \ classpath/gnu/java/io/Base64InputStream.java \ classpath/gnu/java/io/ClassLoaderObjectInputStream.java \ classpath/gnu/java/io/NullOutputStream.java \ +classpath/gnu/java/io/ObjectIdentityMap2Int.java \ classpath/gnu/java/io/ObjectIdentityWrapper.java \ classpath/gnu/java/io/PlatformHelper.java @@ -1759,6 +1900,7 @@ classpath/gnu/java/net/BASE64.java \ classpath/gnu/java/net/CRLFInputStream.java \ classpath/gnu/java/net/CRLFOutputStream.java \ classpath/gnu/java/net/DefaultContentHandlerFactory.java \ +classpath/gnu/java/net/DefaultProxySelector.java \ classpath/gnu/java/net/EmptyX509TrustManager.java \ classpath/gnu/java/net/GetLocalHostAction.java \ classpath/gnu/java/net/HeaderFieldHelper.java \ @@ -1859,23 +2001,24 @@ classpath/gnu/java/nio/ChannelReader.java \ classpath/gnu/java/nio/ChannelWriter.java \ gnu/java/nio/DatagramChannelImpl.java \ gnu/java/nio/DatagramChannelSelectionKey.java \ -classpath/gnu/java/nio/FileLockImpl.java \ +gnu/java/nio/FileLockImpl.java \ classpath/gnu/java/nio/InputStreamChannel.java \ classpath/gnu/java/nio/NIOConstants.java \ classpath/gnu/java/nio/NIODatagramSocket.java \ gnu/java/nio/NIOServerSocket.java \ -classpath/gnu/java/nio/NIOSocket.java \ +gnu/java/nio/NIOSocket.java \ classpath/gnu/java/nio/OutputStreamChannel.java \ -classpath/gnu/java/nio/PipeImpl.java \ +gnu/java/nio/PipeImpl.java \ classpath/gnu/java/nio/SelectionKeyImpl.java \ classpath/gnu/java/nio/SelectorImpl.java \ -classpath/gnu/java/nio/SelectorProviderImpl.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 \ -classpath/gnu/java/nio/SocketChannelSelectionKeyImpl.java \ +gnu/java/nio/SocketChannelSelectionKeyImpl.java \ gnu/java/nio/VMChannel.java \ +classpath/gnu/java/nio/VMChannelOwner.java \ gnu/java/nio/VMPipe.java \ gnu/java/nio/VMSelector.java @@ -1973,17 +2116,6 @@ classpath/gnu/java/rmi/registry/RegistryImpl_Skel.java \ classpath/gnu/java/rmi/registry/RegistryImpl_Stub.java gnu_java_rmi_registry_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_rmi_registry_source_files))) -gnu_java_rmi_rmic_source_files = \ -gnu/java/rmi/rmic/Compile_gcj.java \ -gnu/java/rmi/rmic/Compile_jikes.java \ -gnu/java/rmi/rmic/Compile_kjc.java \ -gnu/java/rmi/rmic/Compiler.java \ -gnu/java/rmi/rmic/CompilerProcess.java \ -gnu/java/rmi/rmic/RMIC.java \ -gnu/java/rmi/rmic/RMICException.java \ -gnu/java/rmi/rmic/TabbedWriter.java - -gnu_java_rmi_rmic_header_files = $(patsubst %.java,%.h,$(gnu_java_rmi_rmic_source_files)) gnu_java_rmi_server_source_files = \ classpath/gnu/java/rmi/server/ActivatableRef.java \ classpath/gnu/java/rmi/server/ActivatableServerRef.java \ @@ -2012,7 +2144,8 @@ classpath/gnu/java/security/Engine.java \ classpath/gnu/java/security/OID.java \ classpath/gnu/java/security/PolicyFile.java \ classpath/gnu/java/security/Properties.java \ -classpath/gnu/java/security/Registry.java +classpath/gnu/java/security/Registry.java \ +classpath/gnu/java/security/Requires.java gnu_java_security_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_security_source_files))) gnu_java_security_action_source_files = \ @@ -2191,6 +2324,7 @@ gnu_java_security_sig_rsa_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu_java_security_util_source_files = \ classpath/gnu/java/security/util/Base64.java \ classpath/gnu/java/security/util/ByteArray.java \ +classpath/gnu/java/security/util/ByteBufferOutputStream.java \ classpath/gnu/java/security/util/DerUtil.java \ classpath/gnu/java/security/util/ExpirableObject.java \ classpath/gnu/java/security/util/FormatUtil.java \ @@ -2463,6 +2597,7 @@ classpath/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java gnu_javax_crypto_jce_spec_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_crypto_jce_spec_source_files))) gnu_javax_crypto_key_source_files = \ classpath/gnu/javax/crypto/key/BaseKeyAgreementParty.java \ +classpath/gnu/javax/crypto/key/GnuPBEKey.java \ classpath/gnu/javax/crypto/key/GnuSecretKey.java \ classpath/gnu/javax/crypto/key/IKeyAgreementParty.java \ classpath/gnu/javax/crypto/key/IncomingMessage.java \ @@ -2727,78 +2862,148 @@ classpath/gnu/javax/imageio/png/PNGPhys.java \ classpath/gnu/javax/imageio/png/PNGTime.java gnu_javax_imageio_png_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_imageio_png_source_files))) +gnu_javax_management_source_files = \ +classpath/gnu/javax/management/Server.java + +gnu_javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_management_source_files))) +gnu_javax_naming_giop_source_files = \ +classpath/gnu/javax/naming/giop/ContextContinuation.java \ +classpath/gnu/javax/naming/giop/CorbalocParser.java \ +classpath/gnu/javax/naming/giop/GiopNamingEnumeration.java \ +classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java \ +classpath/gnu/javax/naming/giop/GiopNamingServiceURLContext.java \ +classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java \ +classpath/gnu/javax/naming/giop/ListEnumeration.java + +gnu_javax_naming_giop_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_giop_source_files))) +gnu_javax_naming_ictxImpl_trans_source_files = \ +classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java + +gnu_javax_naming_ictxImpl_trans_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_ictxImpl_trans_source_files))) +gnu_javax_naming_jndi_url_corbaname_source_files = \ +classpath/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java + +gnu_javax_naming_jndi_url_corbaname_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_jndi_url_corbaname_source_files))) +gnu_javax_naming_jndi_url_rmi_source_files = \ +classpath/gnu/javax/naming/jndi/url/rmi/ContextContinuation.java \ +classpath/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java \ +classpath/gnu/javax/naming/jndi/url/rmi/ListEnumeration.java \ +classpath/gnu/javax/naming/jndi/url/rmi/RmiContinuation.java \ +classpath/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java \ +classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContext.java \ +classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java + +gnu_javax_naming_jndi_url_rmi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_jndi_url_rmi_source_files))) gnu_javax_net_ssl_source_files = \ +classpath/gnu/javax/net/ssl/AbstractSessionContext.java \ classpath/gnu/javax/net/ssl/Base64.java \ classpath/gnu/javax/net/ssl/EntropySource.java \ classpath/gnu/javax/net/ssl/NullManagerParameters.java \ +classpath/gnu/javax/net/ssl/PreSharedKeyManager.java \ +classpath/gnu/javax/net/ssl/PreSharedKeyManagerParameters.java \ classpath/gnu/javax/net/ssl/PrivateCredentials.java \ classpath/gnu/javax/net/ssl/SRPManagerParameters.java \ classpath/gnu/javax/net/ssl/SRPTrustManager.java \ +classpath/gnu/javax/net/ssl/SSLCipherSuite.java \ +classpath/gnu/javax/net/ssl/SSLProtocolVersion.java \ +classpath/gnu/javax/net/ssl/SSLRecordHandler.java \ +classpath/gnu/javax/net/ssl/Session.java \ +classpath/gnu/javax/net/ssl/SessionStoreException.java \ classpath/gnu/javax/net/ssl/StaticTrustAnchors.java gnu_javax_net_ssl_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_net_ssl_source_files))) gnu_javax_net_ssl_provider_source_files = \ +classpath/gnu/javax/net/ssl/provider/AbstractHandshake.java \ classpath/gnu/javax/net/ssl/provider/Alert.java \ classpath/gnu/javax/net/ssl/provider/AlertException.java \ +classpath/gnu/javax/net/ssl/provider/Builder.java \ classpath/gnu/javax/net/ssl/provider/Certificate.java \ +classpath/gnu/javax/net/ssl/provider/CertificateBuilder.java \ classpath/gnu/javax/net/ssl/provider/CertificateRequest.java \ +classpath/gnu/javax/net/ssl/provider/CertificateRequestBuilder.java \ +classpath/gnu/javax/net/ssl/provider/CertificateStatusRequest.java \ +classpath/gnu/javax/net/ssl/provider/CertificateStatusType.java \ classpath/gnu/javax/net/ssl/provider/CertificateType.java \ +classpath/gnu/javax/net/ssl/provider/CertificateURL.java \ classpath/gnu/javax/net/ssl/provider/CertificateVerify.java \ +classpath/gnu/javax/net/ssl/provider/CipherAlgorithm.java \ classpath/gnu/javax/net/ssl/provider/CipherSuite.java \ +classpath/gnu/javax/net/ssl/provider/CipherSuiteList.java \ +classpath/gnu/javax/net/ssl/provider/ClientCertificateTypeList.java \ +classpath/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java \ +classpath/gnu/javax/net/ssl/provider/ClientHandshake.java \ classpath/gnu/javax/net/ssl/provider/ClientHello.java \ +classpath/gnu/javax/net/ssl/provider/ClientHelloBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ClientHelloV2.java \ classpath/gnu/javax/net/ssl/provider/ClientKeyExchange.java \ +classpath/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ClientPSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java \ classpath/gnu/javax/net/ssl/provider/CompressionMethod.java \ +classpath/gnu/javax/net/ssl/provider/CompressionMethodList.java \ classpath/gnu/javax/net/ssl/provider/Constructed.java \ classpath/gnu/javax/net/ssl/provider/ContentType.java \ -classpath/gnu/javax/net/ssl/provider/Context.java \ +classpath/gnu/javax/net/ssl/provider/Debug.java \ +classpath/gnu/javax/net/ssl/provider/DelegatedTask.java \ classpath/gnu/javax/net/ssl/provider/DiffieHellman.java \ -classpath/gnu/javax/net/ssl/provider/DigestInputStream.java \ -classpath/gnu/javax/net/ssl/provider/DigestOutputStream.java \ -classpath/gnu/javax/net/ssl/provider/Enumerated.java \ +classpath/gnu/javax/net/ssl/provider/EmptyExchangeKeys.java \ +classpath/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java \ +classpath/gnu/javax/net/ssl/provider/ExchangeKeys.java \ classpath/gnu/javax/net/ssl/provider/Extension.java \ -classpath/gnu/javax/net/ssl/provider/Extensions.java \ +classpath/gnu/javax/net/ssl/provider/ExtensionList.java \ classpath/gnu/javax/net/ssl/provider/Finished.java \ -classpath/gnu/javax/net/ssl/provider/GNUSecurityParameters.java \ classpath/gnu/javax/net/ssl/provider/Handshake.java \ -classpath/gnu/javax/net/ssl/provider/JCESecurityParameters.java \ -classpath/gnu/javax/net/ssl/provider/JDBCSessionContext.java \ +classpath/gnu/javax/net/ssl/provider/HelloRequest.java \ +classpath/gnu/javax/net/ssl/provider/InputSecurityParameters.java \ classpath/gnu/javax/net/ssl/provider/Jessie.java \ -classpath/gnu/javax/net/ssl/provider/JessieDHPrivateKey.java \ -classpath/gnu/javax/net/ssl/provider/JessieDHPublicKey.java \ -classpath/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java \ -classpath/gnu/javax/net/ssl/provider/JessieRSAPublicKey.java \ -classpath/gnu/javax/net/ssl/provider/KeyPool.java \ +classpath/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java \ +classpath/gnu/javax/net/ssl/provider/MacAlgorithm.java \ classpath/gnu/javax/net/ssl/provider/MacException.java \ -classpath/gnu/javax/net/ssl/provider/OverflowException.java \ +classpath/gnu/javax/net/ssl/provider/MaxFragmentLength.java \ +classpath/gnu/javax/net/ssl/provider/OutputSecurityParameters.java \ +classpath/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java \ classpath/gnu/javax/net/ssl/provider/ProtocolVersion.java \ classpath/gnu/javax/net/ssl/provider/Random.java \ -classpath/gnu/javax/net/ssl/provider/RecordInput.java \ -classpath/gnu/javax/net/ssl/provider/RecordInputStream.java \ -classpath/gnu/javax/net/ssl/provider/RecordOutputStream.java \ -classpath/gnu/javax/net/ssl/provider/RecordingInputStream.java \ +classpath/gnu/javax/net/ssl/provider/Record.java \ classpath/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.java \ +classpath/gnu/javax/net/ssl/provider/SSLContextImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java \ classpath/gnu/javax/net/ssl/provider/SSLHMac.java \ -classpath/gnu/javax/net/ssl/provider/SSLRSASignature.java \ +classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java \ classpath/gnu/javax/net/ssl/provider/SSLRandom.java \ -classpath/gnu/javax/net/ssl/provider/SSLServerSocket.java \ -classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactory.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocket.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocketFactory.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocketInputStream.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocketOutputStream.java \ -classpath/gnu/javax/net/ssl/provider/SecurityParameters.java \ +classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLServerSocketImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLSocketImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java \ +classpath/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java \ +classpath/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ServerDHParams.java \ +classpath/gnu/javax/net/ssl/provider/ServerHandshake.java \ classpath/gnu/javax/net/ssl/provider/ServerHello.java \ +classpath/gnu/javax/net/ssl/provider/ServerHelloBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ServerHelloDone.java \ classpath/gnu/javax/net/ssl/provider/ServerKeyExchange.java \ -classpath/gnu/javax/net/ssl/provider/Session.java \ -classpath/gnu/javax/net/ssl/provider/SessionContext.java \ +classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java \ +classpath/gnu/javax/net/ssl/provider/ServerNameList.java \ +classpath/gnu/javax/net/ssl/provider/ServerPSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ServerRSAParams.java \ +classpath/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/SessionImpl.java \ classpath/gnu/javax/net/ssl/provider/Signature.java \ -classpath/gnu/javax/net/ssl/provider/SynchronizedRandom.java \ +classpath/gnu/javax/net/ssl/provider/SignatureAlgorithm.java \ +classpath/gnu/javax/net/ssl/provider/SimpleSessionContext.java \ classpath/gnu/javax/net/ssl/provider/TLSHMac.java \ classpath/gnu/javax/net/ssl/provider/TLSRandom.java \ +classpath/gnu/javax/net/ssl/provider/TruncatedHMAC.java \ +classpath/gnu/javax/net/ssl/provider/TrustedAuthorities.java \ +classpath/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java \ classpath/gnu/javax/net/ssl/provider/Util.java \ +classpath/gnu/javax/net/ssl/provider/X500PrincipalList.java \ classpath/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java \ -classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java \ -classpath/gnu/javax/net/ssl/provider/XMLSessionContext.java +classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java gnu_javax_net_ssl_provider_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_net_ssl_provider_source_files))) gnu_javax_print_source_files = \ @@ -2920,6 +3125,7 @@ gnu_javax_security_auth_header_files = $(patsubst classpath/%,%,$(patsubst %.jav gnu_javax_security_auth_callback_source_files = \ classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java \ classpath/gnu/javax/security/auth/callback/AbstractCallbackHandler.java \ +classpath/gnu/javax/security/auth/callback/CertificateCallback.java \ classpath/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java \ classpath/gnu/javax/security/auth/callback/DefaultCallbackHandler.java \ classpath/gnu/javax/security/auth/callback/GnuCallbacks.java \ @@ -2968,10 +3174,25 @@ classpath/gnu/javax/swing/text/html/CombinedAttributes.java \ classpath/gnu/javax/swing/text/html/ImageViewIconFactory.java gnu_javax_swing_text_html_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_swing_text_html_source_files))) +gnu_javax_swing_text_html_css_source_files = \ +classpath/gnu/javax/swing/text/html/css/BorderStyle.java \ +classpath/gnu/javax/swing/text/html/css/BorderWidth.java \ +classpath/gnu/javax/swing/text/html/css/CSSColor.java \ +classpath/gnu/javax/swing/text/html/css/CSSLexicalException.java \ +classpath/gnu/javax/swing/text/html/css/CSSParser.java \ +classpath/gnu/javax/swing/text/html/css/CSSParserCallback.java \ +classpath/gnu/javax/swing/text/html/css/CSSParserException.java \ +classpath/gnu/javax/swing/text/html/css/CSSScanner.java \ +classpath/gnu/javax/swing/text/html/css/FontSize.java \ +classpath/gnu/javax/swing/text/html/css/FontStyle.java \ +classpath/gnu/javax/swing/text/html/css/FontWeight.java \ +classpath/gnu/javax/swing/text/html/css/Length.java \ +classpath/gnu/javax/swing/text/html/css/Selector.java + +gnu_javax_swing_text_html_css_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_swing_text_html_css_source_files))) gnu_javax_swing_text_html_parser_source_files = \ classpath/gnu/javax/swing/text/html/parser/GnuParserDelegator.java \ classpath/gnu/javax/swing/text/html/parser/HTML_401F.java \ -classpath/gnu/javax/swing/text/html/parser/HTML_401Swing.java \ classpath/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java \ classpath/gnu/javax/swing/text/html/parser/gnuDTD.java \ classpath/gnu/javax/swing/text/html/parser/htmlAttributeSet.java \ @@ -3234,6 +3455,8 @@ classpath/gnu/xml/transform/OtherwiseNode.java \ classpath/gnu/xml/transform/ParameterNode.java \ classpath/gnu/xml/transform/ProcessingInstructionNode.java \ classpath/gnu/xml/transform/SAXSerializer.java \ +classpath/gnu/xml/transform/SAXTemplatesHandler.java \ +classpath/gnu/xml/transform/SAXTransformerHandler.java \ classpath/gnu/xml/transform/SortKey.java \ classpath/gnu/xml/transform/StreamSerializer.java \ classpath/gnu/xml/transform/StrippingInstruction.java \ @@ -3558,6 +3781,7 @@ classpath/java/awt/datatransfer/FlavorEvent.java \ classpath/java/awt/datatransfer/FlavorListener.java \ classpath/java/awt/datatransfer/FlavorMap.java \ classpath/java/awt/datatransfer/FlavorTable.java \ +classpath/java/awt/datatransfer/MimeType.java \ classpath/java/awt/datatransfer/MimeTypeParseException.java \ classpath/java/awt/datatransfer/StringSelection.java \ classpath/java/awt/datatransfer/SystemFlavorMap.java \ @@ -3886,11 +4110,11 @@ classpath/java/io/DeleteFileHelper.java \ classpath/java/io/EOFException.java \ classpath/java/io/Externalizable.java \ java/io/File.java \ -classpath/java/io/FileDescriptor.java \ +java/io/FileDescriptor.java \ classpath/java/io/FileFilter.java \ -classpath/java/io/FileInputStream.java \ +java/io/FileInputStream.java \ classpath/java/io/FileNotFoundException.java \ -classpath/java/io/FileOutputStream.java \ +java/io/FileOutputStream.java \ classpath/java/io/FilePermission.java \ classpath/java/io/FileReader.java \ classpath/java/io/FileWriter.java \ @@ -3911,7 +4135,7 @@ classpath/java/io/LineNumberReader.java \ classpath/java/io/NotActiveException.java \ classpath/java/io/NotSerializableException.java \ classpath/java/io/ObjectInput.java \ -java/io/ObjectInputStream.java \ +classpath/java/io/ObjectInputStream.java \ classpath/java/io/ObjectInputValidation.java \ classpath/java/io/ObjectOutput.java \ classpath/java/io/ObjectOutputStream.java \ @@ -3930,7 +4154,7 @@ java/io/PrintStream.java \ classpath/java/io/PrintWriter.java \ classpath/java/io/PushbackInputStream.java \ classpath/java/io/PushbackReader.java \ -classpath/java/io/RandomAccessFile.java \ +java/io/RandomAccessFile.java \ classpath/java/io/Reader.java \ classpath/java/io/SequenceInputStream.java \ classpath/java/io/Serializable.java \ @@ -3943,6 +4167,7 @@ classpath/java/io/StringWriter.java \ classpath/java/io/SyncFailedException.java \ classpath/java/io/UTFDataFormatException.java \ classpath/java/io/UnsupportedEncodingException.java \ +java/io/VMObjectInputStream.java \ java/io/VMObjectStreamClass.java \ classpath/java/io/WriteAbortedException.java \ classpath/java/io/Writer.java @@ -3959,6 +4184,7 @@ classpath/java/lang/Boolean.java \ classpath/java/lang/Byte.java \ classpath/java/lang/CharSequence.java \ java/lang/Character.java \ +java/lang/Class.java \ classpath/java/lang/ClassCastException.java \ classpath/java/lang/ClassCircularityError.java \ classpath/java/lang/ClassFormatError.java \ @@ -3968,8 +4194,9 @@ classpath/java/lang/CloneNotSupportedException.java \ classpath/java/lang/Cloneable.java \ classpath/java/lang/Comparable.java \ classpath/java/lang/Compiler.java \ -java/lang/ConcreteProcess.java \ +classpath/java/lang/Deprecated.java \ classpath/java/lang/Double.java \ +java/lang/EcosProcess.java \ classpath/java/lang/Enum.java \ classpath/java/lang/EnumConstantNotPresentException.java \ classpath/java/lang/Error.java \ @@ -4003,16 +4230,20 @@ classpath/java/lang/NoSuchMethodException.java \ classpath/java/lang/NullPointerException.java \ classpath/java/lang/Number.java \ classpath/java/lang/NumberFormatException.java \ +java/lang/Object.java \ classpath/java/lang/OutOfMemoryError.java \ -java/lang/Package.java \ +classpath/java/lang/Override.java \ +classpath/java/lang/Package.java \ +java/lang/PosixProcess.java \ classpath/java/lang/Process.java \ +java/lang/ProcessBuilder.java \ classpath/java/lang/Readable.java \ classpath/java/lang/Runnable.java \ java/lang/Runtime.java \ classpath/java/lang/RuntimeException.java \ classpath/java/lang/RuntimePermission.java \ classpath/java/lang/SecurityException.java \ -java/lang/SecurityManager.java \ +classpath/java/lang/SecurityManager.java \ classpath/java/lang/Short.java \ classpath/java/lang/StackOverflowError.java \ classpath/java/lang/StackTraceElement.java \ @@ -4021,11 +4252,12 @@ java/lang/String.java \ java/lang/StringBuffer.java \ java/lang/StringBuilder.java \ classpath/java/lang/StringIndexOutOfBoundsException.java \ +classpath/java/lang/SuppressWarnings.java \ java/lang/System.java \ java/lang/Thread.java \ classpath/java/lang/ThreadDeath.java \ classpath/java/lang/ThreadGroup.java \ -classpath/java/lang/ThreadLocal.java \ +java/lang/ThreadLocal.java \ classpath/java/lang/Throwable.java \ classpath/java/lang/TypeNotPresentException.java \ classpath/java/lang/UnknownError.java \ @@ -4036,18 +4268,24 @@ java/lang/VMClassLoader.java \ java/lang/VMCompiler.java \ java/lang/VMDouble.java \ java/lang/VMFloat.java \ -java/lang/VMSecurityManager.java \ java/lang/VMThrowable.java \ classpath/java/lang/VerifyError.java \ classpath/java/lang/VirtualMachineError.java \ -classpath/java/lang/Void.java +classpath/java/lang/Void.java \ +java/lang/Win32Process.java java_lang_header_files = $(filter-out java/lang/Object.h java/lang/Class.h,$(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_lang_source_files)))) java_lang_annotation_source_files = \ classpath/java/lang/annotation/Annotation.java \ classpath/java/lang/annotation/AnnotationFormatError.java \ classpath/java/lang/annotation/AnnotationTypeMismatchException.java \ -classpath/java/lang/annotation/IncompleteAnnotationException.java +classpath/java/lang/annotation/Documented.java \ +classpath/java/lang/annotation/ElementType.java \ +classpath/java/lang/annotation/IncompleteAnnotationException.java \ +classpath/java/lang/annotation/Inherited.java \ +classpath/java/lang/annotation/Retention.java \ +classpath/java/lang/annotation/RetentionPolicy.java \ +classpath/java/lang/annotation/Target.java java_lang_annotation_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_lang_annotation_source_files))) java_lang_instrument_source_files = \ @@ -4068,6 +4306,7 @@ classpath/java/lang/management/MemoryMXBean.java \ classpath/java/lang/management/MemoryManagerMXBean.java \ classpath/java/lang/management/MemoryNotificationInfo.java \ classpath/java/lang/management/MemoryPoolMXBean.java \ +classpath/java/lang/management/MemoryType.java \ classpath/java/lang/management/MemoryUsage.java \ classpath/java/lang/management/OperatingSystemMXBean.java \ classpath/java/lang/management/RuntimeMXBean.java \ @@ -4112,7 +4351,8 @@ java_lang_reflect_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java_math_source_files = \ classpath/java/math/BigDecimal.java \ classpath/java/math/BigInteger.java \ -classpath/java/math/MathContext.java +classpath/java/math/MathContext.java \ +classpath/java/math/RoundingMode.java java_math_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_math_source_files))) java_net_source_files = \ @@ -4122,7 +4362,7 @@ classpath/java/net/ConnectException.java \ classpath/java/net/ContentHandler.java \ classpath/java/net/ContentHandlerFactory.java \ classpath/java/net/DatagramPacket.java \ -classpath/java/net/DatagramSocket.java \ +java/net/DatagramSocket.java \ classpath/java/net/DatagramSocketImpl.java \ classpath/java/net/DatagramSocketImplFactory.java \ classpath/java/net/FileNameMap.java \ @@ -4134,16 +4374,18 @@ classpath/java/net/InetSocketAddress.java \ classpath/java/net/JarURLConnection.java \ classpath/java/net/MalformedURLException.java \ classpath/java/net/MimeTypeMapper.java \ -classpath/java/net/MulticastSocket.java \ +java/net/MulticastSocket.java \ classpath/java/net/NetPermission.java \ -classpath/java/net/NetworkInterface.java \ +java/net/NetworkInterface.java \ classpath/java/net/NoRouteToHostException.java \ classpath/java/net/PasswordAuthentication.java \ classpath/java/net/PortUnreachableException.java \ classpath/java/net/ProtocolException.java \ +classpath/java/net/Proxy.java \ +classpath/java/net/ProxySelector.java \ classpath/java/net/ResolverCache.java \ classpath/java/net/ServerSocket.java \ -classpath/java/net/Socket.java \ +java/net/Socket.java \ classpath/java/net/SocketAddress.java \ classpath/java/net/SocketException.java \ classpath/java/net/SocketImpl.java \ @@ -4408,7 +4650,7 @@ classpath/java/security/PublicKey.java \ classpath/java/security/SecureClassLoader.java \ classpath/java/security/SecureRandom.java \ classpath/java/security/SecureRandomSpi.java \ -java/security/Security.java \ +classpath/java/security/Security.java \ classpath/java/security/SecurityPermission.java \ classpath/java/security/Signature.java \ classpath/java/security/SignatureException.java \ @@ -4574,8 +4816,10 @@ java_util_source_files = \ classpath/java/util/AbstractCollection.java \ classpath/java/util/AbstractList.java \ classpath/java/util/AbstractMap.java \ +classpath/external/jsr166/java/util/AbstractQueue.java \ classpath/java/util/AbstractSequentialList.java \ classpath/java/util/AbstractSet.java \ +classpath/external/jsr166/java/util/ArrayDeque.java \ classpath/java/util/ArrayList.java \ classpath/java/util/Arrays.java \ classpath/java/util/BitSet.java \ @@ -4586,9 +4830,12 @@ classpath/java/util/Comparator.java \ classpath/java/util/ConcurrentModificationException.java \ java/util/Currency.java \ classpath/java/util/Date.java \ +classpath/external/jsr166/java/util/Deque.java \ classpath/java/util/Dictionary.java \ classpath/java/util/DuplicateFormatFlagsException.java \ classpath/java/util/EmptyStackException.java \ +classpath/java/util/EnumMap.java \ +classpath/java/util/EnumSet.java \ classpath/java/util/Enumeration.java \ classpath/java/util/EventListener.java \ classpath/java/util/EventListenerProxy.java \ @@ -4623,16 +4870,20 @@ classpath/java/util/Map.java \ classpath/java/util/MissingFormatArgumentException.java \ classpath/java/util/MissingFormatWidthException.java \ classpath/java/util/MissingResourceException.java \ +classpath/external/jsr166/java/util/NavigableMap.java \ +classpath/external/jsr166/java/util/NavigableSet.java \ classpath/java/util/NoSuchElementException.java \ classpath/java/util/Observable.java \ classpath/java/util/Observer.java \ +classpath/java/util/PriorityQueue.java \ classpath/java/util/Properties.java \ classpath/java/util/PropertyPermission.java \ classpath/java/util/PropertyPermissionCollection.java \ classpath/java/util/PropertyResourceBundle.java \ +classpath/external/jsr166/java/util/Queue.java \ classpath/java/util/Random.java \ classpath/java/util/RandomAccess.java \ -java/util/ResourceBundle.java \ +classpath/java/util/ResourceBundle.java \ classpath/java/util/Set.java \ classpath/java/util/SimpleTimeZone.java \ classpath/java/util/SortedMap.java \ @@ -4652,7 +4903,81 @@ java/util/VMTimeZone.java \ classpath/java/util/Vector.java \ classpath/java/util/WeakHashMap.java -java_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_source_files))) +java_util_header_files = $(patsubst classpath/%,%,$(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_source_files)))) +java_util_concurrent_source_files = \ +classpath/external/jsr166/java/util/concurrent/AbstractExecutorService.java \ +classpath/external/jsr166/java/util/concurrent/ArrayBlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/BlockingDeque.java \ +classpath/external/jsr166/java/util/concurrent/BlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/BrokenBarrierException.java \ +classpath/external/jsr166/java/util/concurrent/Callable.java \ +classpath/external/jsr166/java/util/concurrent/CancellationException.java \ +classpath/external/jsr166/java/util/concurrent/CompletionService.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentHashMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentLinkedQueue.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentNavigableMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java \ +classpath/java/util/concurrent/CopyOnWriteArrayList.java \ +classpath/external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java \ +classpath/external/jsr166/java/util/concurrent/CountDownLatch.java \ +classpath/external/jsr166/java/util/concurrent/CyclicBarrier.java \ +classpath/external/jsr166/java/util/concurrent/DelayQueue.java \ +classpath/external/jsr166/java/util/concurrent/Delayed.java \ +classpath/external/jsr166/java/util/concurrent/Exchanger.java \ +classpath/external/jsr166/java/util/concurrent/ExecutionException.java \ +classpath/external/jsr166/java/util/concurrent/Executor.java \ +classpath/external/jsr166/java/util/concurrent/ExecutorCompletionService.java \ +classpath/external/jsr166/java/util/concurrent/ExecutorService.java \ +classpath/external/jsr166/java/util/concurrent/Executors.java \ +classpath/external/jsr166/java/util/concurrent/Future.java \ +classpath/external/jsr166/java/util/concurrent/FutureTask.java \ +classpath/external/jsr166/java/util/concurrent/LinkedBlockingDeque.java \ +classpath/external/jsr166/java/util/concurrent/LinkedBlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/PriorityBlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/RejectedExecutionException.java \ +classpath/external/jsr166/java/util/concurrent/RejectedExecutionHandler.java \ +classpath/external/jsr166/java/util/concurrent/RunnableFuture.java \ +classpath/external/jsr166/java/util/concurrent/RunnableScheduledFuture.java \ +classpath/external/jsr166/java/util/concurrent/ScheduledExecutorService.java \ +classpath/external/jsr166/java/util/concurrent/ScheduledFuture.java \ +classpath/external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java \ +classpath/external/jsr166/java/util/concurrent/Semaphore.java \ +classpath/external/jsr166/java/util/concurrent/SynchronousQueue.java \ +classpath/external/jsr166/java/util/concurrent/ThreadFactory.java \ +classpath/external/jsr166/java/util/concurrent/ThreadPoolExecutor.java \ +classpath/external/jsr166/java/util/concurrent/TimeUnit.java \ +classpath/external/jsr166/java/util/concurrent/TimeoutException.java + +java_util_concurrent_header_files = $(patsubst classpath/%,%,$(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_concurrent_source_files)))) +java_util_concurrent_atomic_source_files = \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicBoolean.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicInteger.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerArray.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicLong.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongArray.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicMarkableReference.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicReference.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceArray.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicStampedReference.java + +java_util_concurrent_atomic_header_files = $(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_concurrent_atomic_source_files))) +java_util_concurrent_locks_source_files = \ +classpath/external/jsr166/java/util/concurrent/locks/AbstractOwnableSynchronizer.java \ +classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java \ +classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java \ +classpath/external/jsr166/java/util/concurrent/locks/Condition.java \ +classpath/external/jsr166/java/util/concurrent/locks/Lock.java \ +classpath/external/jsr166/java/util/concurrent/locks/LockSupport.java \ +classpath/external/jsr166/java/util/concurrent/locks/ReadWriteLock.java \ +classpath/external/jsr166/java/util/concurrent/locks/ReentrantLock.java \ +classpath/external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java + +java_util_concurrent_locks_header_files = $(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_concurrent_locks_source_files))) java_util_jar_source_files = \ classpath/java/util/jar/Attributes.java \ classpath/java/util/jar/JarEntry.java \ @@ -4856,8 +5181,14 @@ javax_management_source_files = \ classpath/javax/management/Attribute.java \ classpath/javax/management/AttributeList.java \ classpath/javax/management/AttributeNotFoundException.java \ +classpath/javax/management/BadAttributeValueExpException.java \ +classpath/javax/management/BadBinaryOpValueExpException.java \ +classpath/javax/management/BadStringOperationException.java \ classpath/javax/management/DynamicMBean.java \ +classpath/javax/management/InstanceAlreadyExistsException.java \ +classpath/javax/management/InstanceNotFoundException.java \ classpath/javax/management/IntrospectionException.java \ +classpath/javax/management/InvalidApplicationException.java \ classpath/javax/management/InvalidAttributeValueException.java \ classpath/javax/management/JMException.java \ classpath/javax/management/JMRuntimeException.java \ @@ -4870,28 +5201,65 @@ classpath/javax/management/MBeanInfo.java \ classpath/javax/management/MBeanNotificationInfo.java \ classpath/javax/management/MBeanOperationInfo.java \ classpath/javax/management/MBeanParameterInfo.java \ +classpath/javax/management/MBeanPermission.java \ +classpath/javax/management/MBeanRegistration.java \ +classpath/javax/management/MBeanRegistrationException.java \ +classpath/javax/management/MBeanServer.java \ +classpath/javax/management/MBeanServerBuilder.java \ +classpath/javax/management/MBeanServerConnection.java \ +classpath/javax/management/MBeanServerDelegate.java \ +classpath/javax/management/MBeanServerDelegateMBean.java \ +classpath/javax/management/MBeanServerFactory.java \ +classpath/javax/management/MBeanServerNotification.java \ +classpath/javax/management/MBeanServerPermission.java \ +classpath/javax/management/MBeanTrustPermission.java \ +classpath/javax/management/MalformedObjectNameException.java \ classpath/javax/management/NotCompliantMBeanException.java \ classpath/javax/management/Notification.java \ classpath/javax/management/NotificationBroadcaster.java \ classpath/javax/management/NotificationEmitter.java \ classpath/javax/management/NotificationFilter.java \ classpath/javax/management/NotificationListener.java \ +classpath/javax/management/ObjectInstance.java \ +classpath/javax/management/ObjectName.java \ classpath/javax/management/OperationsException.java \ +classpath/javax/management/QueryExp.java \ classpath/javax/management/ReflectionException.java \ +classpath/javax/management/RuntimeErrorException.java \ +classpath/javax/management/RuntimeMBeanException.java \ classpath/javax/management/RuntimeOperationsException.java \ -classpath/javax/management/StandardMBean.java +classpath/javax/management/ServiceNotFoundException.java \ +classpath/javax/management/StandardMBean.java \ +classpath/javax/management/ValueExp.java javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_source_files))) +javax_management_loading_source_files = \ +classpath/javax/management/loading/ClassLoaderRepository.java + +javax_management_loading_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_loading_source_files))) javax_management_openmbean_source_files = \ classpath/javax/management/openmbean/ArrayType.java \ classpath/javax/management/openmbean/CompositeData.java \ classpath/javax/management/openmbean/CompositeDataSupport.java \ classpath/javax/management/openmbean/CompositeType.java \ classpath/javax/management/openmbean/InvalidKeyException.java \ +classpath/javax/management/openmbean/InvalidOpenTypeException.java \ +classpath/javax/management/openmbean/KeyAlreadyExistsException.java \ classpath/javax/management/openmbean/OpenDataException.java \ +classpath/javax/management/openmbean/OpenMBeanAttributeInfo.java \ +classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanConstructorInfo.java \ +classpath/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanInfo.java \ +classpath/javax/management/openmbean/OpenMBeanInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanOperationInfo.java \ +classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanParameterInfo.java \ +classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java \ classpath/javax/management/openmbean/OpenType.java \ classpath/javax/management/openmbean/SimpleType.java \ classpath/javax/management/openmbean/TabularData.java \ +classpath/javax/management/openmbean/TabularDataSupport.java \ classpath/javax/management/openmbean/TabularType.java javax_management_openmbean_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_openmbean_source_files))) @@ -4992,7 +5360,7 @@ classpath/javax/naming/spi/DirStateFactory.java \ classpath/javax/naming/spi/DirectoryManager.java \ classpath/javax/naming/spi/InitialContextFactory.java \ classpath/javax/naming/spi/InitialContextFactoryBuilder.java \ -javax/naming/spi/NamingManager.java \ +classpath/javax/naming/spi/NamingManager.java \ classpath/javax/naming/spi/ObjectFactory.java \ classpath/javax/naming/spi/ObjectFactoryBuilder.java \ classpath/javax/naming/spi/ResolveResult.java \ @@ -5008,6 +5376,7 @@ classpath/javax/net/VanillaSocketFactory.java javax_net_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_net_source_files))) javax_net_ssl_source_files = \ +classpath/javax/net/ssl/CertPathTrustManagerParameters.java \ classpath/javax/net/ssl/HandshakeCompletedEvent.java \ classpath/javax/net/ssl/HandshakeCompletedListener.java \ classpath/javax/net/ssl/HostnameVerifier.java \ @@ -5015,9 +5384,12 @@ classpath/javax/net/ssl/HttpsURLConnection.java \ classpath/javax/net/ssl/KeyManager.java \ classpath/javax/net/ssl/KeyManagerFactory.java \ classpath/javax/net/ssl/KeyManagerFactorySpi.java \ +classpath/javax/net/ssl/KeyStoreBuilderParameters.java \ classpath/javax/net/ssl/ManagerFactoryParameters.java \ classpath/javax/net/ssl/SSLContext.java \ classpath/javax/net/ssl/SSLContextSpi.java \ +classpath/javax/net/ssl/SSLEngine.java \ +classpath/javax/net/ssl/SSLEngineResult.java \ classpath/javax/net/ssl/SSLException.java \ classpath/javax/net/ssl/SSLHandshakeException.java \ classpath/javax/net/ssl/SSLKeyException.java \ @@ -5036,6 +5408,7 @@ classpath/javax/net/ssl/TrivialHostnameVerifier.java \ classpath/javax/net/ssl/TrustManager.java \ classpath/javax/net/ssl/TrustManagerFactory.java \ classpath/javax/net/ssl/TrustManagerFactorySpi.java \ +classpath/javax/net/ssl/X509ExtendedKeyManager.java \ classpath/javax/net/ssl/X509KeyManager.java \ classpath/javax/net/ssl/X509TrustManager.java @@ -5827,30 +6200,44 @@ classpath/javax/swing/text/TextAction.java \ classpath/javax/swing/text/Utilities.java \ classpath/javax/swing/text/View.java \ classpath/javax/swing/text/ViewFactory.java \ -classpath/javax/swing/text/WrappedPlainView.java +classpath/javax/swing/text/WrappedPlainView.java \ +classpath/javax/swing/text/ZoneView.java javax_swing_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_swing_text_source_files))) javax_swing_text_html_source_files = \ classpath/javax/swing/text/html/BRView.java \ classpath/javax/swing/text/html/BlockView.java \ classpath/javax/swing/text/html/CSS.java \ +classpath/javax/swing/text/html/CSSBorder.java \ classpath/javax/swing/text/html/CSSParser.java \ +classpath/javax/swing/text/html/FormSubmitEvent.java \ classpath/javax/swing/text/html/FormView.java \ +classpath/javax/swing/text/html/FrameSetView.java \ +classpath/javax/swing/text/html/FrameView.java \ classpath/javax/swing/text/html/HRuleView.java \ classpath/javax/swing/text/html/HTML.java \ classpath/javax/swing/text/html/HTMLDocument.java \ classpath/javax/swing/text/html/HTMLEditorKit.java \ classpath/javax/swing/text/html/HTMLFrameHyperlinkEvent.java \ +classpath/javax/swing/text/html/HTMLWriter.java \ classpath/javax/swing/text/html/ImageView.java \ classpath/javax/swing/text/html/InlineView.java \ classpath/javax/swing/text/html/ListView.java \ classpath/javax/swing/text/html/MinimalHTMLWriter.java \ +classpath/javax/swing/text/html/MultiAttributeSet.java \ +classpath/javax/swing/text/html/MultiStyle.java \ classpath/javax/swing/text/html/NullView.java \ classpath/javax/swing/text/html/ObjectView.java \ classpath/javax/swing/text/html/Option.java \ classpath/javax/swing/text/html/ParagraphView.java \ +classpath/javax/swing/text/html/ResetableModel.java \ +classpath/javax/swing/text/html/ResetablePlainDocument.java \ +classpath/javax/swing/text/html/ResetableToggleButtonModel.java \ +classpath/javax/swing/text/html/SelectComboBoxModel.java \ +classpath/javax/swing/text/html/SelectListModel.java \ classpath/javax/swing/text/html/StyleSheet.java \ -classpath/javax/swing/text/html/TableView.java +classpath/javax/swing/text/html/TableView.java \ +classpath/javax/swing/text/html/ViewAttributeSet.java javax_swing_text_html_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_swing_text_html_source_files))) javax_swing_text_html_parser_source_files = \ @@ -6763,6 +7150,28 @@ classpath/external/sax/org/xml/sax/helpers/XMLFilterImpl.java \ classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java \ classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java +sun_misc_source_files = \ +classpath/sun/misc/Service.java \ +classpath/sun/misc/ServiceConfigurationError.java \ +sun/misc/Unsafe.java + +sun_misc_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(sun_misc_source_files))) +sun_reflect_source_files = \ +sun/reflect/Reflection.java + +sun_reflect_header_files = $(patsubst %.java,%.h,$(sun_reflect_source_files)) +sun_reflect_annotation_source_files = \ +classpath/sun/reflect/annotation/AnnotationInvocationHandler.java \ +classpath/sun/reflect/annotation/AnnotationParser.java \ +classpath/sun/reflect/annotation/AnnotationType.java \ +classpath/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java \ +classpath/sun/reflect/annotation/ExceptionProxy.java + +sun_reflect_annotation_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(sun_reflect_annotation_source_files))) +sun_reflect_misc_source_files = \ +sun/reflect/misc/ReflectUtil.java + +sun_reflect_misc_header_files = $(patsubst %.java,%.h,$(sun_reflect_misc_source_files)) all_packages_source_files = \ gnu/awt.list \ gnu/awt/j2d.list \ @@ -6786,11 +7195,13 @@ all_packages_source_files = \ gnu/java/awt/color.list \ gnu/java/awt/dnd.list \ gnu/java/awt/font.list \ + gnu/java/awt/font/autofit.list \ gnu/java/awt/font/opentype.list \ gnu/java/awt/font/opentype/truetype.list \ gnu/java/awt/image.list \ gnu/java/awt/java2d.list \ gnu/java/awt/peer.list \ + gnu/java/awt/peer/headless.list \ gnu/java/awt/print.list \ gnu/java/io.list \ gnu/java/lang.list \ @@ -6815,7 +7226,6 @@ all_packages_source_files = \ gnu/java/rmi/activation.list \ gnu/java/rmi/dgc.list \ gnu/java/rmi/registry.list \ - gnu/java/rmi/rmic.list \ gnu/java/rmi/server.list \ gnu/java/security.list \ gnu/java/security/action.list \ @@ -6873,6 +7283,11 @@ all_packages_source_files = \ gnu/javax/imageio/gif.list \ gnu/javax/imageio/jpeg.list \ gnu/javax/imageio/png.list \ + gnu/javax/management.list \ + gnu/javax/naming/giop.list \ + gnu/javax/naming/ictxImpl/trans.list \ + gnu/javax/naming/jndi/url/corbaname.list \ + gnu/javax/naming/jndi/url/rmi.list \ gnu/javax/net/ssl.list \ gnu/javax/net/ssl/provider.list \ gnu/javax/print.list \ @@ -6890,6 +7305,7 @@ all_packages_source_files = \ gnu/javax/swing/plaf/gnu.list \ gnu/javax/swing/plaf/metal.list \ gnu/javax/swing/text/html.list \ + gnu/javax/swing/text/html/css.list \ gnu/javax/swing/text/html/parser.list \ gnu/javax/swing/text/html/parser/models.list \ gnu/javax/swing/text/html/parser/support.list \ @@ -6939,6 +7355,9 @@ all_packages_source_files = \ java/sql.list \ java/text.list \ java/util.list \ + java/util/concurrent.list \ + java/util/concurrent/atomic.list \ + java/util/concurrent/locks.list \ java/util/jar.list \ java/util/logging.list \ java/util/prefs.list \ @@ -6949,6 +7368,7 @@ all_packages_source_files = \ javax/crypto/interfaces.list \ javax/crypto/spec.list \ javax/management.list \ + javax/management/loading.list \ javax/management/openmbean.list \ javax/naming.list \ javax/naming/directory.list \ @@ -6993,7 +7413,11 @@ all_packages_source_files = \ javax/swing/undo.list \ javax/transaction.list \ javax/transaction/xa.list \ - org/ietf/jgss.list + org/ietf/jgss.list \ + sun/misc.list \ + sun/reflect.list \ + sun/reflect/annotation.list \ + sun/reflect/misc.list ordinary_header_files = \ $(gnu_awt_header_files) \ @@ -7013,16 +7437,19 @@ ordinary_header_files = \ $(gnu_gcj_io_header_files) \ $(gnu_gcj_jvmti_header_files) \ $(gnu_gcj_runtime_header_files) \ + $(gnu_gcj_tools_gcj_dbtool_header_files) \ $(gnu_gcj_util_header_files) \ $(gnu_java_awt_header_files) \ $(gnu_java_awt_color_header_files) \ $(gnu_java_awt_dnd_header_files) \ $(gnu_java_awt_font_header_files) \ + $(gnu_java_awt_font_autofit_header_files) \ $(gnu_java_awt_font_opentype_header_files) \ $(gnu_java_awt_font_opentype_truetype_header_files) \ $(gnu_java_awt_image_header_files) \ $(gnu_java_awt_java2d_header_files) \ $(gnu_java_awt_peer_header_files) \ + $(gnu_java_awt_peer_headless_header_files) \ $(gnu_java_awt_print_header_files) \ $(gnu_java_io_header_files) \ $(gnu_java_lang_header_files) \ @@ -7047,7 +7474,6 @@ ordinary_header_files = \ $(gnu_java_rmi_activation_header_files) \ $(gnu_java_rmi_dgc_header_files) \ $(gnu_java_rmi_registry_header_files) \ - $(gnu_java_rmi_rmic_header_files) \ $(gnu_java_rmi_server_header_files) \ $(gnu_java_security_header_files) \ $(gnu_java_security_action_header_files) \ @@ -7105,6 +7531,11 @@ ordinary_header_files = \ $(gnu_javax_imageio_gif_header_files) \ $(gnu_javax_imageio_jpeg_header_files) \ $(gnu_javax_imageio_png_header_files) \ + $(gnu_javax_management_header_files) \ + $(gnu_javax_naming_giop_header_files) \ + $(gnu_javax_naming_ictxImpl_trans_header_files) \ + $(gnu_javax_naming_jndi_url_corbaname_header_files) \ + $(gnu_javax_naming_jndi_url_rmi_header_files) \ $(gnu_javax_net_ssl_header_files) \ $(gnu_javax_net_ssl_provider_header_files) \ $(gnu_javax_print_header_files) \ @@ -7122,6 +7553,7 @@ ordinary_header_files = \ $(gnu_javax_swing_plaf_gnu_header_files) \ $(gnu_javax_swing_plaf_metal_header_files) \ $(gnu_javax_swing_text_html_header_files) \ + $(gnu_javax_swing_text_html_css_header_files) \ $(gnu_javax_swing_text_html_parser_header_files) \ $(gnu_javax_swing_text_html_parser_models_header_files) \ $(gnu_javax_swing_text_html_parser_support_header_files) \ @@ -7171,6 +7603,9 @@ ordinary_header_files = \ $(java_sql_header_files) \ $(java_text_header_files) \ $(java_util_header_files) \ + $(java_util_concurrent_header_files) \ + $(java_util_concurrent_atomic_header_files) \ + $(java_util_concurrent_locks_header_files) \ $(java_util_jar_header_files) \ $(java_util_logging_header_files) \ $(java_util_prefs_header_files) \ @@ -7181,6 +7616,7 @@ ordinary_header_files = \ $(javax_crypto_interfaces_header_files) \ $(javax_crypto_spec_header_files) \ $(javax_management_header_files) \ + $(javax_management_loading_header_files) \ $(javax_management_openmbean_header_files) \ $(javax_naming_header_files) \ $(javax_naming_directory_header_files) \ @@ -7225,13 +7661,16 @@ ordinary_header_files = \ $(javax_swing_undo_header_files) \ $(javax_transaction_header_files) \ $(javax_transaction_xa_header_files) \ - $(org_ietf_jgss_header_files) + $(org_ietf_jgss_header_files) \ + $(sun_misc_header_files) \ + $(sun_reflect_header_files) \ + $(sun_reflect_annotation_header_files) \ + $(sun_reflect_misc_header_files) bc_objects = \ gnu-CORBA.lo \ gnu-java-awt-dnd-peer-gtk.lo \ gnu-java-awt-peer-gtk.lo \ - gnu-java-awt-peer-qt.lo \ gnu-java-awt-peer-swing.lo \ gnu-java-beans.lo \ gnu-java-util-prefs-gconf.lo \ @@ -7247,14 +7686,21 @@ bc_objects = \ org-xml.lo property_files = \ - classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties \ - classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties \ + classpath/resource/gnu/classpath/tools/appletviewer/messages.properties \ + classpath/resource/gnu/classpath/tools/common/Messages.properties \ classpath/resource/gnu/classpath/tools/getopt/Messages.properties \ classpath/resource/gnu/classpath/tools/jar/messages.properties \ + classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties \ classpath/resource/gnu/classpath/tools/jarsigner/messages.properties \ + classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties \ classpath/resource/gnu/classpath/tools/keytool/messages.properties \ classpath/resource/gnu/classpath/tools/native2ascii/messages.properties \ + classpath/resource/gnu/classpath/tools/orbd/messages.properties \ + classpath/resource/gnu/classpath/tools/rmic/messages.properties \ + classpath/resource/gnu/classpath/tools/rmid/messages.properties \ + classpath/resource/gnu/classpath/tools/rmiregistry/messages.properties \ classpath/resource/gnu/classpath/tools/serialver/messages.properties \ + classpath/resource/gnu/classpath/tools/tnameserv/messages.properties \ classpath/resource/gnu/java/awt/peer/gtk/font.properties \ classpath/resource/gnu/java/awt/peer/x/fonts.properties \ classpath/resource/gnu/java/util/regex/MessagesBundle.properties \ @@ -7266,7 +7712,6 @@ property_files = \ classpath/resource/java/util/iso4217.properties \ classpath/resource/javax/imageio/plugins/jpeg/MessagesBundle.properties \ classpath/resource/org/ietf/jgss/MessagesBundle.properties \ - classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory \ classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \ @@ -7283,9 +7728,8 @@ omitted_headers = java/lang/ClassLoader.h java/lang/Thread.h \ java/lang/reflect/Field.h java/lang/reflect/Method.h \ java/lang/reflect/Proxy.h gnu/gcj/runtime/ExtensionClassLoader.h -generic_header_files = $(filter-out $(omitted_headers),$(ordinary_header_files) $(xlib_nat_headers)) \ - gnu/gcj/tools/gcj_dbtool/Main.h - +generic_header_files = $(ordinary_header_files) $(xlib_nat_headers) +MYGCJH = gjavah inner_nat_headers = java/io/ObjectOutputStream$$PutField.h \ java/io/ObjectInputStream$$GetField.h \ java/nio/DirectByteBufferImpl$$ReadWrite.h \ @@ -7296,12 +7740,9 @@ inner_nat_headers = java/io/ObjectOutputStream$$PutField.h \ gnu/java/net/PlainSocketImpl$$SocketInputStream.h \ gnu/java/net/PlainSocketImpl$$SocketOutputStream.h \ gnu/java/nio/PipeImpl$$SinkChannelImpl.h \ - gnu/java/nio/PipeImpl$$SourceChannelImpl.h \ - $(PLATFORM_INNER_NAT_HDRS) - -nat_headers = $(ordinary_header_files) $(inner_nat_headers) \ - gnu/gcj/tools/gcj_dbtool/Main.h + gnu/java/nio/PipeImpl$$SourceChannelImpl.h +nat_headers = $(ordinary_header_files) $(inner_nat_headers) nat_headers_install = $(ordinary_header_files) xlib_nat_headers = $(gnu_awt_xlib_header_files) $(gnu_gcj_xlib_header_files) extra_headers = java/lang/Object.h java/lang/Class.h @@ -7323,15 +7764,14 @@ jv_convert_LINK = $(GCJLINK) jv_convert_LDADD = -L$(here)/.libs libgcj.la jv_convert_DEPENDENCIES = libgcj.la libgcj.spec gcj_dbtool_SOURCES = \ -gnu/gcj/tools/gcj_dbtool/Main.java \ gnu/gcj/tools/gcj_dbtool/natMain.cc gcj_dbtool_LDFLAGS = --main=gnu.gcj.tools.gcj_dbtool.Main \ -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) gcj_dbtool_LINK = $(GCJLINK) -gcj_dbtool_LDADD = -L$(here)/.libs libgcj.la -gcj_dbtool_DEPENDENCIES = libgcj.la libgcj.spec +gcj_dbtool_LDADD = gnu/gcj/tools/gcj_dbtool.lo -L$(here)/.libs libgcj.la +gcj_dbtool_DEPENDENCIES = gnu/gcj/tools/gcj_dbtool.lo libgcj.la libgcj.spec gij_SOURCES = gij_LDFLAGS = -rpath $(libdir)/gcj-$(gcc_version) -rpath $(toolexeclibdir) \ -shared-libgcc $(THREADLDFLAGS) @@ -7339,20 +7779,19 @@ gij_LDFLAGS = -rpath $(libdir)/gcj-$(gcc_version) -rpath $(toolexeclibdir) \ gij_LINK = $(GCJLINK) gij_LDADD = -L$(here)/.libs libgij.la gij_DEPENDENCIES = libgij.la -grmic_SOURCES = -grmic_LDFLAGS = --main=gnu.java.rmi.rmic.RMIC \ - -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) - -grmic_LINK = $(GCJLINK) -grmic_LDADD = -L$(here)/.libs libgcj.la -grmic_DEPENDENCIES = libgcj.la libgcj.spec -grmiregistry_SOURCES = -grmiregistry_LDFLAGS = --main=gnu.java.rmi.registry.RegistryImpl \ - -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) - -grmiregistry_LINK = $(GCJLINK) -grmiregistry_LDADD = -L$(here)/.libs libgcj.la -grmiregistry_DEPENDENCIES = libgcj.la libgcj.spec +ecjx_SOURCES = +ECJX_BASE_FLAGS = -findirect-dispatch \ + --main=org.eclipse.jdt.internal.compiler.batch.GCCMain + +@NATIVE_FALSE@ecjx_LINK = $(GCJ_FOR_ECJX_LINK) +@NATIVE_TRUE@ecjx_LINK = $(GCJLINK) +@ENABLE_SHARED_FALSE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) +@ENABLE_SHARED_TRUE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) +@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) +@NATIVE_FALSE@ecjx_LDADD = +@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la +@NATIVE_FALSE@ecjx_DEPENDENCIES = +@NATIVE_TRUE@ecjx_DEPENDENCIES = libgcj.la libgcj.spec gappletviewer_SOURCES = gappletviewer_LDFLAGS = --main=gnu.classpath.tools.appletviewer.Main \ -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) @@ -7374,11 +7813,76 @@ gkeytool_LDFLAGS = --main=gnu.classpath.tools.keytool.Main \ gkeytool_LINK = $(GCJLINK) gkeytool_LDADD = -L$(here)/.libs libgcj-tools.la gkeytool_DEPENDENCIES = libgcj-tools.la +gjar_SOURCES = +gjar_LDFLAGS = --main=gnu.classpath.tools.jar.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +gjar_LINK = $(GCJLINK) +gjar_LDADD = -L$(here)/.libs libgcj-tools.la +gjar_DEPENDENCIES = libgcj-tools.la +gjavah_SOURCES = +gjavah_LDFLAGS = --main=gnu.classpath.tools.javah.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +gjavah_LINK = $(GCJLINK) +gjavah_LDADD = -L$(here)/.libs libgcj-tools.la +gjavah_DEPENDENCIES = libgcj-tools.la +gnative2ascii_SOURCES = +gnative2ascii_LDFLAGS = --main=gnu.classpath.tools.native2ascii.Native2ASCII \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +gnative2ascii_LINK = $(GCJLINK) +gnative2ascii_LDADD = -L$(here)/.libs libgcj-tools.la +gnative2ascii_DEPENDENCIES = libgcj-tools.la +gorbd_SOURCES = +gorbd_LDFLAGS = --main=gnu.classpath.tools.orbd.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +gorbd_LINK = $(GCJLINK) +gorbd_LDADD = -L$(here)/.libs libgcj-tools.la +gorbd_DEPENDENCIES = libgcj-tools.la +grmid_SOURCES = +grmid_LDFLAGS = --main=gnu.classpath.tools.rmid.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +grmid_LINK = $(GCJLINK) +grmid_LDADD = -L$(here)/.libs libgcj-tools.la +grmid_DEPENDENCIES = libgcj-tools.la +gserialver_SOURCES = +gserialver_LDFLAGS = --main=gnu.classpath.tools.serialver.SerialVer \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +gserialver_LINK = $(GCJLINK) +gserialver_LDADD = -L$(here)/.libs libgcj-tools.la +gserialver_DEPENDENCIES = libgcj-tools.la +gtnameserv_SOURCES = +gtnameserv_LDFLAGS = --main=gnu.classpath.tools.tnameserv.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +gtnameserv_LINK = $(GCJLINK) +gtnameserv_LDADD = -L$(here)/.libs libgcj-tools.la +gtnameserv_DEPENDENCIES = libgcj-tools.la +grmic_SOURCES = +grmic_LDFLAGS = --main=gnu.classpath.tools.rmic.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +grmic_LINK = $(GCJLINK) +grmic_LDADD = -L$(here)/.libs libgcj-tools.la +grmic_DEPENDENCIES = libgcj-tools.la +grmiregistry_SOURCES = +grmiregistry_LDFLAGS = --main=gnu.classpath.tools.rmiregistry.Main \ + -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) + +grmiregistry_LINK = $(GCJLINK) +grmiregistry_LDADD = -L$(here)/.libs libgcj-tools.la +grmiregistry_DEPENDENCIES = libgcj-tools.la nat_source_files = \ -gnu/classpath/natSystemProperties.cc \ gnu/classpath/jdwp/natVMFrame.cc \ gnu/classpath/jdwp/natVMMethod.cc \ gnu/classpath/jdwp/natVMVirtualMachine.cc \ +gnu/classpath/natConfiguration.cc \ +gnu/classpath/natSystemProperties.cc \ +gnu/classpath/natVMStackWalker.cc \ gnu/gcj/natCore.cc \ gnu/gcj/convert/JIS0208_to_Unicode.cc \ gnu/gcj/convert/JIS0212_to_Unicode.cc \ @@ -7397,16 +7901,26 @@ gnu/gcj/runtime/natSystemClassLoader.cc \ gnu/gcj/runtime/natStringBuffer.cc \ gnu/gcj/util/natDebug.cc \ gnu/java/lang/natMainThread.cc \ +gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc \ +gnu/java/lang/management/natVMCompilationMXBeanImpl.cc \ +gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ +gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ +gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ +gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ +gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ +gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ gnu/java/net/natPlainSocketImpl.cc \ gnu/java/net/protocol/core/natCoreInputStream.cc \ gnu/java/nio/natPipeImpl.cc \ gnu/java/nio/natSelectorImpl.cc \ gnu/java/nio/natNIOServerSocket.cc \ +gnu/java/nio/natVMChannel.cc \ gnu/java/nio/channels/natFileChannelImpl.cc \ java/io/natFile.cc \ java/io/natObjectInputStream.cc \ java/io/natVMObjectStreamClass.cc \ +java/lang/management/natVMManagementFactory.cc \ java/lang/natCharacter.cc \ java/lang/natClass.cc \ java/lang/natClassLoader.cc \ @@ -7421,27 +7935,29 @@ java/lang/natStringBuffer.cc \ java/lang/natStringBuilder.cc \ java/lang/natSystem.cc \ java/lang/natThread.cc \ +java/lang/natThreadLocal.cc \ java/lang/natVMClassLoader.cc \ -java/lang/natVMSecurityManager.cc \ java/lang/natVMThrowable.cc \ java/lang/ref/natReference.cc \ java/lang/reflect/natArray.cc \ java/lang/reflect/natConstructor.cc \ java/lang/reflect/natField.cc \ java/lang/reflect/natMethod.cc \ -java/net/natVMNetworkInterface.cc \ +java/lang/reflect/natVMProxy.cc \ java/net/natVMInetAddress.cc \ -java/net/natURLClassLoader.cc \ +java/net/natVMNetworkInterface.cc \ +java/net/natVMURLConnection.cc \ java/nio/channels/natVMChannels.cc \ java/nio/natDirectByteBufferImpl.cc \ java/security/natVMAccessController.cc \ java/security/natVMAccessControlState.cc \ java/text/natCollator.cc \ -java/util/natResourceBundle.cc \ java/util/natVMTimeZone.cc \ +java/util/concurrent/atomic/natAtomicLong.cc \ java/util/logging/natLogger.cc \ java/util/zip/natDeflater.cc \ -java/util/zip/natInflater.cc +java/util/zip/natInflater.cc \ +sun/misc/natUnsafe.cc xlib_nat_source_files = \ gnu/gcj/xlib/natClip.cc \ @@ -7466,7 +7982,7 @@ gnu/gcj/xlib/natXImage.cc \ gnu/gcj/xlib/natXUnmapEvent.cc sourcesdir = $(jardir) -headers_to_make = $(nat_headers) $(am__append_14) +headers_to_make = $(nat_headers) $(am__append_15) # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and @@ -7505,7 +8021,8 @@ AM_MAKEFLAGS = \ "NM=$(NM)" \ "PICFLAG=$(PICFLAG)" \ "RANLIB=$(RANLIB)" \ - "DESTDIR=$(DESTDIR)" + "DESTDIR=$(DESTDIR)" \ + "JAR=$(JAR)" # Subdir rules rely on $(FLAGS_TO_PASS) @@ -7523,7 +8040,7 @@ MULTICLEAN = true all: all-recursive .SUFFIXES: -.SUFFIXES: .class .java .h .properties .list .c .cc .jar .lo .o .obj +.SUFFIXES: .class .java .h .properties .list .c .cc .lo .o .obj .zip am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/sources.am $(am__configure_deps) @@ -7696,24 +8213,6 @@ classpath/tools/libgcj_tools_la-tools.lo: \ classpath/tools/$(DEPDIR)/$(am__dirstamp) libgcj-tools.la: $(libgcj_tools_la_OBJECTS) $(libgcj_tools_la_DEPENDENCIES) $(libgcj_tools_la_LINK) -rpath $(toolexeclibdir) $(libgcj_tools_la_LDFLAGS) $(libgcj_tools_la_OBJECTS) $(libgcj_tools_la_LIBADD) $(LIBS) -java/lang/$(am__dirstamp): - @$(mkdir_p) java/lang - @: > java/lang/$(am__dirstamp) -java/lang/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) java/lang/$(DEPDIR) - @: > java/lang/$(DEPDIR)/$(am__dirstamp) -java/lang/Class.lo: java/lang/$(am__dirstamp) \ - java/lang/$(DEPDIR)/$(am__dirstamp) -java/lang/Object.lo: java/lang/$(am__dirstamp) \ - java/lang/$(DEPDIR)/$(am__dirstamp) -gnu/classpath/$(am__dirstamp): - @$(mkdir_p) gnu/classpath - @: > gnu/classpath/$(am__dirstamp) -gnu/classpath/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/classpath/$(DEPDIR) - @: > gnu/classpath/$(DEPDIR)/$(am__dirstamp) -gnu/classpath/natSystemProperties.lo: gnu/classpath/$(am__dirstamp) \ - gnu/classpath/$(DEPDIR)/$(am__dirstamp) gnu/classpath/jdwp/$(am__dirstamp): @$(mkdir_p) gnu/classpath/jdwp @: > gnu/classpath/jdwp/$(am__dirstamp) @@ -7727,6 +8226,18 @@ gnu/classpath/jdwp/natVMMethod.lo: gnu/classpath/jdwp/$(am__dirstamp) \ gnu/classpath/jdwp/natVMVirtualMachine.lo: \ gnu/classpath/jdwp/$(am__dirstamp) \ gnu/classpath/jdwp/$(DEPDIR)/$(am__dirstamp) +gnu/classpath/$(am__dirstamp): + @$(mkdir_p) gnu/classpath + @: > gnu/classpath/$(am__dirstamp) +gnu/classpath/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) gnu/classpath/$(DEPDIR) + @: > gnu/classpath/$(DEPDIR)/$(am__dirstamp) +gnu/classpath/natConfiguration.lo: gnu/classpath/$(am__dirstamp) \ + gnu/classpath/$(DEPDIR)/$(am__dirstamp) +gnu/classpath/natSystemProperties.lo: gnu/classpath/$(am__dirstamp) \ + gnu/classpath/$(DEPDIR)/$(am__dirstamp) +gnu/classpath/natVMStackWalker.lo: gnu/classpath/$(am__dirstamp) \ + gnu/classpath/$(DEPDIR)/$(am__dirstamp) gnu/gcj/$(am__dirstamp): @$(mkdir_p) gnu/gcj @: > gnu/gcj/$(am__dirstamp) @@ -7810,6 +8321,36 @@ gnu/java/lang/$(DEPDIR)/$(am__dirstamp): @: > gnu/java/lang/$(DEPDIR)/$(am__dirstamp) gnu/java/lang/natMainThread.lo: gnu/java/lang/$(am__dirstamp) \ gnu/java/lang/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/$(am__dirstamp): + @$(mkdir_p) gnu/java/lang/management + @: > gnu/java/lang/management/$(am__dirstamp) +gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) gnu/java/lang/management/$(DEPDIR) + @: > gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMClassLoadingMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMCompilationMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMMemoryMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMThreadMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) gnu/java/net/$(am__dirstamp): @$(mkdir_p) gnu/java/net @: > gnu/java/net/$(am__dirstamp) @@ -7842,6 +8383,8 @@ gnu/java/nio/natSelectorImpl.lo: gnu/java/nio/$(am__dirstamp) \ gnu/java/nio/$(DEPDIR)/$(am__dirstamp) gnu/java/nio/natNIOServerSocket.lo: gnu/java/nio/$(am__dirstamp) \ gnu/java/nio/$(DEPDIR)/$(am__dirstamp) +gnu/java/nio/natVMChannel.lo: gnu/java/nio/$(am__dirstamp) \ + gnu/java/nio/$(DEPDIR)/$(am__dirstamp) gnu/java/nio/channels/$(am__dirstamp): @$(mkdir_p) gnu/java/nio/channels @: > gnu/java/nio/channels/$(am__dirstamp) @@ -7863,6 +8406,21 @@ java/io/natObjectInputStream.lo: java/io/$(am__dirstamp) \ java/io/$(DEPDIR)/$(am__dirstamp) java/io/natVMObjectStreamClass.lo: java/io/$(am__dirstamp) \ java/io/$(DEPDIR)/$(am__dirstamp) +java/lang/management/$(am__dirstamp): + @$(mkdir_p) java/lang/management + @: > java/lang/management/$(am__dirstamp) +java/lang/management/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) java/lang/management/$(DEPDIR) + @: > java/lang/management/$(DEPDIR)/$(am__dirstamp) +java/lang/management/natVMManagementFactory.lo: \ + java/lang/management/$(am__dirstamp) \ + java/lang/management/$(DEPDIR)/$(am__dirstamp) +java/lang/$(am__dirstamp): + @$(mkdir_p) java/lang + @: > java/lang/$(am__dirstamp) +java/lang/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) java/lang/$(DEPDIR) + @: > java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/natCharacter.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/natClass.lo: java/lang/$(am__dirstamp) \ @@ -7891,9 +8449,9 @@ java/lang/natSystem.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/natThread.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) -java/lang/natVMClassLoader.lo: java/lang/$(am__dirstamp) \ +java/lang/natThreadLocal.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) -java/lang/natVMSecurityManager.lo: java/lang/$(am__dirstamp) \ +java/lang/natVMClassLoader.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/natVMThrowable.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) @@ -7920,17 +8478,19 @@ java/lang/reflect/natField.lo: java/lang/reflect/$(am__dirstamp) \ java/lang/reflect/$(DEPDIR)/$(am__dirstamp) java/lang/reflect/natMethod.lo: java/lang/reflect/$(am__dirstamp) \ java/lang/reflect/$(DEPDIR)/$(am__dirstamp) +java/lang/reflect/natVMProxy.lo: java/lang/reflect/$(am__dirstamp) \ + java/lang/reflect/$(DEPDIR)/$(am__dirstamp) java/net/$(am__dirstamp): @$(mkdir_p) java/net @: > java/net/$(am__dirstamp) java/net/$(DEPDIR)/$(am__dirstamp): @$(mkdir_p) java/net/$(DEPDIR) @: > java/net/$(DEPDIR)/$(am__dirstamp) -java/net/natVMNetworkInterface.lo: java/net/$(am__dirstamp) \ - java/net/$(DEPDIR)/$(am__dirstamp) java/net/natVMInetAddress.lo: java/net/$(am__dirstamp) \ java/net/$(DEPDIR)/$(am__dirstamp) -java/net/natURLClassLoader.lo: java/net/$(am__dirstamp) \ +java/net/natVMNetworkInterface.lo: java/net/$(am__dirstamp) \ + java/net/$(DEPDIR)/$(am__dirstamp) +java/net/natVMURLConnection.lo: java/net/$(am__dirstamp) \ java/net/$(DEPDIR)/$(am__dirstamp) java/nio/channels/$(am__dirstamp): @$(mkdir_p) java/nio/channels @@ -7973,10 +8533,17 @@ java/util/$(am__dirstamp): java/util/$(DEPDIR)/$(am__dirstamp): @$(mkdir_p) java/util/$(DEPDIR) @: > java/util/$(DEPDIR)/$(am__dirstamp) -java/util/natResourceBundle.lo: java/util/$(am__dirstamp) \ - java/util/$(DEPDIR)/$(am__dirstamp) java/util/natVMTimeZone.lo: java/util/$(am__dirstamp) \ java/util/$(DEPDIR)/$(am__dirstamp) +java/util/concurrent/atomic/$(am__dirstamp): + @$(mkdir_p) java/util/concurrent/atomic + @: > java/util/concurrent/atomic/$(am__dirstamp) +java/util/concurrent/atomic/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) java/util/concurrent/atomic/$(DEPDIR) + @: > java/util/concurrent/atomic/$(DEPDIR)/$(am__dirstamp) +java/util/concurrent/atomic/natAtomicLong.lo: \ + java/util/concurrent/atomic/$(am__dirstamp) \ + java/util/concurrent/atomic/$(DEPDIR)/$(am__dirstamp) java/util/logging/$(am__dirstamp): @$(mkdir_p) java/util/logging @: > java/util/logging/$(am__dirstamp) @@ -7995,6 +8562,16 @@ java/util/zip/natDeflater.lo: java/util/zip/$(am__dirstamp) \ java/util/zip/$(DEPDIR)/$(am__dirstamp) java/util/zip/natInflater.lo: java/util/zip/$(am__dirstamp) \ java/util/zip/$(DEPDIR)/$(am__dirstamp) +sun/misc/$(am__dirstamp): + @$(mkdir_p) sun/misc + @: > sun/misc/$(am__dirstamp) +sun/misc/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) sun/misc/$(DEPDIR) + @: > sun/misc/$(DEPDIR)/$(am__dirstamp) +sun/misc/natUnsafe.lo: sun/misc/$(am__dirstamp) \ + sun/misc/$(DEPDIR)/$(am__dirstamp) +java/lang/Object.lo: java/lang/$(am__dirstamp) \ + java/lang/$(DEPDIR)/$(am__dirstamp) libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES) $(libgcj_la_LINK) -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(libgcj_la_OBJECTS) $(libgcj_la_LIBADD) $(LIBS) libgij.la: $(libgij_la_OBJECTS) $(libgij_la_DEPENDENCIES) @@ -8029,6 +8606,34 @@ clean-binPROGRAMS: echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done +install-libexecsubPROGRAMS: $(libexecsub_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(libexecsubdir)" || $(mkdir_p) "$(DESTDIR)$(libexecsubdir)" + @list='$(libexecsub_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecsubPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecsubdir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecsubPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecsubdir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-libexecsubPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(libexecsub_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(libexecsubdir)/$$f'"; \ + rm -f "$(DESTDIR)$(libexecsubdir)/$$f"; \ + done + +clean-libexecsubPROGRAMS: + @list='$(libexecsub_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ @@ -8036,6 +8641,9 @@ clean-noinstPROGRAMS: echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done +ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES) + @rm -f ecjx$(EXEEXT) + $(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS) gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES) @rm -f gappletviewer$(EXEEXT) $(gappletviewer_LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS) @@ -8045,9 +8653,6 @@ gnu/gcj/tools/gcj_dbtool/$(am__dirstamp): gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/$(am__dirstamp): @$(mkdir_p) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) @: > gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/$(am__dirstamp) -gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT): \ - gnu/gcj/tools/gcj_dbtool/$(am__dirstamp) \ - gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/$(am__dirstamp) gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT): \ gnu/gcj/tools/gcj_dbtool/$(am__dirstamp) \ gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/$(am__dirstamp) @@ -8065,18 +8670,39 @@ gen-from-JIS$(EXEEXT): $(gen_from_JIS_OBJECTS) $(gen_from_JIS_DEPENDENCIES) gij$(EXEEXT): $(gij_OBJECTS) $(gij_DEPENDENCIES) @rm -f gij$(EXEEXT) $(gij_LINK) $(gij_LDFLAGS) $(gij_OBJECTS) $(gij_LDADD) $(LIBS) +gjar$(EXEEXT): $(gjar_OBJECTS) $(gjar_DEPENDENCIES) + @rm -f gjar$(EXEEXT) + $(gjar_LINK) $(gjar_LDFLAGS) $(gjar_OBJECTS) $(gjar_LDADD) $(LIBS) gjarsigner$(EXEEXT): $(gjarsigner_OBJECTS) $(gjarsigner_DEPENDENCIES) @rm -f gjarsigner$(EXEEXT) $(gjarsigner_LINK) $(gjarsigner_LDFLAGS) $(gjarsigner_OBJECTS) $(gjarsigner_LDADD) $(LIBS) +gjavah$(EXEEXT): $(gjavah_OBJECTS) $(gjavah_DEPENDENCIES) + @rm -f gjavah$(EXEEXT) + $(gjavah_LINK) $(gjavah_LDFLAGS) $(gjavah_OBJECTS) $(gjavah_LDADD) $(LIBS) gkeytool$(EXEEXT): $(gkeytool_OBJECTS) $(gkeytool_DEPENDENCIES) @rm -f gkeytool$(EXEEXT) $(gkeytool_LINK) $(gkeytool_LDFLAGS) $(gkeytool_OBJECTS) $(gkeytool_LDADD) $(LIBS) +gnative2ascii$(EXEEXT): $(gnative2ascii_OBJECTS) $(gnative2ascii_DEPENDENCIES) + @rm -f gnative2ascii$(EXEEXT) + $(gnative2ascii_LINK) $(gnative2ascii_LDFLAGS) $(gnative2ascii_OBJECTS) $(gnative2ascii_LDADD) $(LIBS) +gorbd$(EXEEXT): $(gorbd_OBJECTS) $(gorbd_DEPENDENCIES) + @rm -f gorbd$(EXEEXT) + $(gorbd_LINK) $(gorbd_LDFLAGS) $(gorbd_OBJECTS) $(gorbd_LDADD) $(LIBS) grmic$(EXEEXT): $(grmic_OBJECTS) $(grmic_DEPENDENCIES) @rm -f grmic$(EXEEXT) $(grmic_LINK) $(grmic_LDFLAGS) $(grmic_OBJECTS) $(grmic_LDADD) $(LIBS) +grmid$(EXEEXT): $(grmid_OBJECTS) $(grmid_DEPENDENCIES) + @rm -f grmid$(EXEEXT) + $(grmid_LINK) $(grmid_LDFLAGS) $(grmid_OBJECTS) $(grmid_LDADD) $(LIBS) grmiregistry$(EXEEXT): $(grmiregistry_OBJECTS) $(grmiregistry_DEPENDENCIES) @rm -f grmiregistry$(EXEEXT) $(grmiregistry_LINK) $(grmiregistry_LDFLAGS) $(grmiregistry_OBJECTS) $(grmiregistry_LDADD) $(LIBS) +gserialver$(EXEEXT): $(gserialver_OBJECTS) $(gserialver_DEPENDENCIES) + @rm -f gserialver$(EXEEXT) + $(gserialver_LINK) $(gserialver_LDFLAGS) $(gserialver_OBJECTS) $(gserialver_LDADD) $(LIBS) +gtnameserv$(EXEEXT): $(gtnameserv_OBJECTS) $(gtnameserv_DEPENDENCIES) + @rm -f gtnameserv$(EXEEXT) + $(gtnameserv_LINK) $(gtnameserv_LDFLAGS) $(gtnameserv_OBJECTS) $(gtnameserv_LDADD) $(LIBS) jv-convert$(EXEEXT): $(jv_convert_OBJECTS) $(jv_convert_DEPENDENCIES) @rm -f jv-convert$(EXEEXT) $(jv_convert_LINK) $(jv_convert_LDFLAGS) $(jv_convert_OBJECTS) $(jv_convert_LDADD) $(LIBS) @@ -8110,8 +8736,12 @@ mostlyclean-compile: -rm -f gnu/classpath/jdwp/natVMMethod.lo -rm -f gnu/classpath/jdwp/natVMVirtualMachine.$(OBJEXT) -rm -f gnu/classpath/jdwp/natVMVirtualMachine.lo + -rm -f gnu/classpath/natConfiguration.$(OBJEXT) + -rm -f gnu/classpath/natConfiguration.lo -rm -f gnu/classpath/natSystemProperties.$(OBJEXT) -rm -f gnu/classpath/natSystemProperties.lo + -rm -f gnu/classpath/natVMStackWalker.$(OBJEXT) + -rm -f gnu/classpath/natVMStackWalker.lo -rm -f gnu/gcj/convert/JIS0208_to_Unicode.$(OBJEXT) -rm -f gnu/gcj/convert/JIS0208_to_Unicode.lo -rm -f gnu/gcj/convert/JIS0212_to_Unicode.$(OBJEXT) @@ -8146,7 +8776,6 @@ mostlyclean-compile: -rm -f gnu/gcj/runtime/natStringBuffer.lo -rm -f gnu/gcj/runtime/natSystemClassLoader.$(OBJEXT) -rm -f gnu/gcj/runtime/natSystemClassLoader.lo - -rm -f gnu/gcj/tools/gcj_dbtool/Main.$(OBJEXT) -rm -f gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT) -rm -f gnu/gcj/util/natDebug.$(OBJEXT) -rm -f gnu/gcj/util/natDebug.lo @@ -8190,6 +8819,22 @@ mostlyclean-compile: -rm -f gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXImage.lo -rm -f gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.$(OBJEXT) -rm -f gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.lo + -rm -f gnu/java/lang/management/natVMClassLoadingMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMClassLoadingMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMCompilationMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMCompilationMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMMemoryMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMMemoryMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMRuntimeMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMThreadMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMThreadMXBeanImpl.lo -rm -f gnu/java/lang/natMainThread.$(OBJEXT) -rm -f gnu/java/lang/natMainThread.lo -rm -f gnu/java/net/natPlainDatagramSocketImpl.$(OBJEXT) @@ -8206,16 +8851,18 @@ mostlyclean-compile: -rm -f gnu/java/nio/natPipeImpl.lo -rm -f gnu/java/nio/natSelectorImpl.$(OBJEXT) -rm -f gnu/java/nio/natSelectorImpl.lo + -rm -f gnu/java/nio/natVMChannel.$(OBJEXT) + -rm -f gnu/java/nio/natVMChannel.lo -rm -f java/io/natFile.$(OBJEXT) -rm -f java/io/natFile.lo -rm -f java/io/natObjectInputStream.$(OBJEXT) -rm -f java/io/natObjectInputStream.lo -rm -f java/io/natVMObjectStreamClass.$(OBJEXT) -rm -f java/io/natVMObjectStreamClass.lo - -rm -f java/lang/Class.$(OBJEXT) - -rm -f java/lang/Class.lo -rm -f java/lang/Object.$(OBJEXT) -rm -f java/lang/Object.lo + -rm -f java/lang/management/natVMManagementFactory.$(OBJEXT) + -rm -f java/lang/management/natVMManagementFactory.lo -rm -f java/lang/natCharacter.$(OBJEXT) -rm -f java/lang/natCharacter.lo -rm -f java/lang/natClass.$(OBJEXT) @@ -8244,10 +8891,10 @@ mostlyclean-compile: -rm -f java/lang/natSystem.lo -rm -f java/lang/natThread.$(OBJEXT) -rm -f java/lang/natThread.lo + -rm -f java/lang/natThreadLocal.$(OBJEXT) + -rm -f java/lang/natThreadLocal.lo -rm -f java/lang/natVMClassLoader.$(OBJEXT) -rm -f java/lang/natVMClassLoader.lo - -rm -f java/lang/natVMSecurityManager.$(OBJEXT) - -rm -f java/lang/natVMSecurityManager.lo -rm -f java/lang/natVMThrowable.$(OBJEXT) -rm -f java/lang/natVMThrowable.lo -rm -f java/lang/ref/natReference.$(OBJEXT) @@ -8260,12 +8907,14 @@ mostlyclean-compile: -rm -f java/lang/reflect/natField.lo -rm -f java/lang/reflect/natMethod.$(OBJEXT) -rm -f java/lang/reflect/natMethod.lo - -rm -f java/net/natURLClassLoader.$(OBJEXT) - -rm -f java/net/natURLClassLoader.lo + -rm -f java/lang/reflect/natVMProxy.$(OBJEXT) + -rm -f java/lang/reflect/natVMProxy.lo -rm -f java/net/natVMInetAddress.$(OBJEXT) -rm -f java/net/natVMInetAddress.lo -rm -f java/net/natVMNetworkInterface.$(OBJEXT) -rm -f java/net/natVMNetworkInterface.lo + -rm -f java/net/natVMURLConnection.$(OBJEXT) + -rm -f java/net/natVMURLConnection.lo -rm -f java/nio/channels/natVMChannels.$(OBJEXT) -rm -f java/nio/channels/natVMChannels.lo -rm -f java/nio/natDirectByteBufferImpl.$(OBJEXT) @@ -8276,16 +8925,18 @@ mostlyclean-compile: -rm -f java/security/natVMAccessController.lo -rm -f java/text/natCollator.$(OBJEXT) -rm -f java/text/natCollator.lo + -rm -f java/util/concurrent/atomic/natAtomicLong.$(OBJEXT) + -rm -f java/util/concurrent/atomic/natAtomicLong.lo -rm -f java/util/logging/natLogger.$(OBJEXT) -rm -f java/util/logging/natLogger.lo - -rm -f java/util/natResourceBundle.$(OBJEXT) - -rm -f java/util/natResourceBundle.lo -rm -f java/util/natVMTimeZone.$(OBJEXT) -rm -f java/util/natVMTimeZone.lo -rm -f java/util/zip/natDeflater.$(OBJEXT) -rm -f java/util/zip/natDeflater.lo -rm -f java/util/zip/natInflater.$(OBJEXT) -rm -f java/util/zip/natInflater.lo + -rm -f sun/misc/natUnsafe.$(OBJEXT) + -rm -f sun/misc/natUnsafe.lo distclean-compile: -rm -f *.tab.c @@ -8311,7 +8962,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32-threads.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@classpath/tools/$(DEPDIR)/libgcj_tools_la-tools.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/classpath/$(DEPDIR)/natConfiguration.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/classpath/$(DEPDIR)/natSystemProperties.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/classpath/$(DEPDIR)/natVMStackWalker.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/classpath/jdwp/$(DEPDIR)/natVMFrame.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/classpath/jdwp/$(DEPDIR)/natVMMethod.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/classpath/jdwp/$(DEPDIR)/natVMVirtualMachine.Plo@am__quote@ @@ -8333,7 +8986,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natSharedLibLoader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natStringBuffer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/natSystemClassLoader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/Main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/tools/gcj_dbtool/$(DEPDIR)/natMain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/util/$(DEPDIR)/natDebug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/xlib/$(DEPDIR)/lib_gnu_awt_xlib_la-natClip.Plo@am__quote@ @@ -8357,17 +9009,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/xlib/$(DEPDIR)/lib_gnu_awt_xlib_la-natXImage.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/xlib/$(DEPDIR)/lib_gnu_awt_xlib_la-natXUnmapEvent.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/$(DEPDIR)/natMainThread.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMClassLoadingMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMCompilationMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMGarbageCollectorMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryManagerMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryPoolMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMRuntimeMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMThreadMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/net/$(DEPDIR)/natPlainDatagramSocketImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/net/$(DEPDIR)/natPlainSocketImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/net/protocol/core/$(DEPDIR)/natCoreInputStream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/nio/$(DEPDIR)/natNIOServerSocket.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/nio/$(DEPDIR)/natPipeImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/nio/$(DEPDIR)/natSelectorImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/nio/$(DEPDIR)/natVMChannel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/nio/channels/$(DEPDIR)/natFileChannelImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/io/$(DEPDIR)/natFile.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/io/$(DEPDIR)/natObjectInputStream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/io/$(DEPDIR)/natVMObjectStreamClass.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/Class.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/Object.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natCharacter.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natClass.Plo@am__quote@ @@ -8383,27 +9043,30 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natStringBuilder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natSystem.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natThread.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natThreadLocal.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMClassLoader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMSecurityManager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMThrowable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@java/lang/management/$(DEPDIR)/natVMManagementFactory.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/ref/$(DEPDIR)/natReference.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natArray.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natConstructor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natField.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natMethod.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@java/net/$(DEPDIR)/natURLClassLoader.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@java/lang/reflect/$(DEPDIR)/natVMProxy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/net/$(DEPDIR)/natVMInetAddress.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/net/$(DEPDIR)/natVMNetworkInterface.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@java/net/$(DEPDIR)/natVMURLConnection.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/nio/$(DEPDIR)/natDirectByteBufferImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/nio/channels/$(DEPDIR)/natVMChannels.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/security/$(DEPDIR)/natVMAccessControlState.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/security/$(DEPDIR)/natVMAccessController.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/text/$(DEPDIR)/natCollator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@java/util/$(DEPDIR)/natResourceBundle.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/$(DEPDIR)/natVMTimeZone.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@java/util/concurrent/atomic/$(DEPDIR)/natAtomicLong.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/logging/$(DEPDIR)/natLogger.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/zip/$(DEPDIR)/natDeflater.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/zip/$(DEPDIR)/natInflater.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sun/misc/$(DEPDIR)/natUnsafe.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ @@ -8593,7 +9256,7 @@ gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.lo: gnu/gcj/xlib/natXUnmapEvent. @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_gnu_awt_xlib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.lo `test -f 'gnu/gcj/xlib/natXUnmapEvent.cc' || echo '$(srcdir)/'`gnu/gcj/xlib/natXUnmapEvent.cc -.jar.o: +.java.o: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -8601,7 +9264,7 @@ gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.lo: gnu/gcj/xlib/natXUnmapEvent. @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ $< -.jar.obj: +.java.obj: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -8609,7 +9272,7 @@ gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.lo: gnu/gcj/xlib/natXUnmapEvent. @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -.jar.lo: +.java.lo: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \ @am__fastdepGCJ_TRUE@ if $(LTGCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -8617,14 +9280,14 @@ gnu/gcj/xlib/lib_gnu_awt_xlib_la-natXUnmapEvent.lo: gnu/gcj/xlib/natXUnmapEvent. @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(LTGCJCOMPILE) -c -o $@ $< -classpath/tools/libgcj_tools_la-tools.lo: classpath/tools/tools.jar -@am__fastdepGCJ_TRUE@ if $(LIBTOOL) --mode=compile $(GCJ) $(libgcj_tools_la_GCJFLAGS) $(GCJFLAGS) -MT classpath/tools/libgcj_tools_la-tools.lo -MD -MP -MF "classpath/tools/$(DEPDIR)/libgcj_tools_la-tools.Tpo" -c -o classpath/tools/libgcj_tools_la-tools.lo `test -f 'classpath/tools/tools.jar' || echo '$(srcdir)/'`classpath/tools/tools.jar; \ +classpath/tools/libgcj_tools_la-tools.lo: classpath/tools/tools.zip +@am__fastdepGCJ_TRUE@ if $(LIBTOOL) --mode=compile $(GCJ) $(libgcj_tools_la_GCJFLAGS) $(GCJFLAGS) -MT classpath/tools/libgcj_tools_la-tools.lo -MD -MP -MF "classpath/tools/$(DEPDIR)/libgcj_tools_la-tools.Tpo" -c -o classpath/tools/libgcj_tools_la-tools.lo `test -f 'classpath/tools/tools.zip' || echo '$(srcdir)/'`classpath/tools/tools.zip; \ @am__fastdepGCJ_TRUE@ then mv -f "classpath/tools/$(DEPDIR)/libgcj_tools_la-tools.Tpo" "classpath/tools/$(DEPDIR)/libgcj_tools_la-tools.Plo"; else rm -f "classpath/tools/$(DEPDIR)/libgcj_tools_la-tools.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepGCJ_FALSE@ source='classpath/tools/tools.jar' object='classpath/tools/libgcj_tools_la-tools.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepGCJ_FALSE@ source='classpath/tools/tools.zip' object='classpath/tools/libgcj_tools_la-tools.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepGCJ_FALSE@ $(LIBTOOL) --mode=compile $(GCJ) $(libgcj_tools_la_GCJFLAGS) $(GCJFLAGS) -c -o classpath/tools/libgcj_tools_la-tools.lo `test -f 'classpath/tools/tools.jar' || echo '$(srcdir)/'`classpath/tools/tools.jar +@am__fastdepGCJ_FALSE@ $(LIBTOOL) --mode=compile $(GCJ) $(libgcj_tools_la_GCJFLAGS) $(GCJFLAGS) -c -o classpath/tools/libgcj_tools_la-tools.lo `test -f 'classpath/tools/tools.zip' || echo '$(srcdir)/'`classpath/tools/tools.zip -.java.o: +.zip.o: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -8632,7 +9295,7 @@ classpath/tools/libgcj_tools_la-tools.lo: classpath/tools/tools.jar @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ $< -.java.obj: +.zip.obj: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -8640,7 +9303,7 @@ classpath/tools/libgcj_tools_la-tools.lo: classpath/tools/tools.jar @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -.java.lo: +.zip.lo: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \ @am__fastdepGCJ_TRUE@ if $(LTGCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -8664,12 +9327,14 @@ clean-libtool: -rm -rf gnu/gcj/util/.libs gnu/gcj/util/_libs -rm -rf gnu/gcj/xlib/.libs gnu/gcj/xlib/_libs -rm -rf gnu/java/lang/.libs gnu/java/lang/_libs + -rm -rf gnu/java/lang/management/.libs gnu/java/lang/management/_libs -rm -rf gnu/java/net/.libs gnu/java/net/_libs -rm -rf gnu/java/net/protocol/core/.libs gnu/java/net/protocol/core/_libs -rm -rf gnu/java/nio/.libs gnu/java/nio/_libs -rm -rf gnu/java/nio/channels/.libs gnu/java/nio/channels/_libs -rm -rf java/io/.libs java/io/_libs -rm -rf java/lang/.libs java/lang/_libs + -rm -rf java/lang/management/.libs java/lang/management/_libs -rm -rf java/lang/ref/.libs java/lang/ref/_libs -rm -rf java/lang/reflect/.libs java/lang/reflect/_libs -rm -rf java/net/.libs java/net/_libs @@ -8678,8 +9343,10 @@ clean-libtool: -rm -rf java/security/.libs java/security/_libs -rm -rf java/text/.libs java/text/_libs -rm -rf java/util/.libs java/util/_libs + -rm -rf java/util/concurrent/atomic/.libs java/util/concurrent/atomic/_libs -rm -rf java/util/logging/.libs java/util/logging/_libs -rm -rf java/util/zip/.libs java/util/zip/_libs + -rm -rf sun/misc/.libs sun/misc/_libs distclean-libtool: -rm -f libtool @@ -9015,7 +9682,7 @@ check: check-recursive all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(jardir)" "$(DESTDIR)$(toolexecmainlibdir)"; do \ + for dir in "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecsubdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(jardir)" "$(DESTDIR)$(toolexecmainlibdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-recursive @@ -9063,6 +9730,8 @@ distclean-generic: -rm -f gnu/gcj/xlib/$(am__dirstamp) -rm -f gnu/java/lang/$(DEPDIR)/$(am__dirstamp) -rm -f gnu/java/lang/$(am__dirstamp) + -rm -f gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) + -rm -f gnu/java/lang/management/$(am__dirstamp) -rm -f gnu/java/net/$(DEPDIR)/$(am__dirstamp) -rm -f gnu/java/net/$(am__dirstamp) -rm -f gnu/java/net/protocol/core/$(DEPDIR)/$(am__dirstamp) @@ -9075,6 +9744,8 @@ distclean-generic: -rm -f java/io/$(am__dirstamp) -rm -f java/lang/$(DEPDIR)/$(am__dirstamp) -rm -f java/lang/$(am__dirstamp) + -rm -f java/lang/management/$(DEPDIR)/$(am__dirstamp) + -rm -f java/lang/management/$(am__dirstamp) -rm -f java/lang/ref/$(DEPDIR)/$(am__dirstamp) -rm -f java/lang/ref/$(am__dirstamp) -rm -f java/lang/reflect/$(DEPDIR)/$(am__dirstamp) @@ -9091,25 +9762,28 @@ distclean-generic: -rm -f java/text/$(am__dirstamp) -rm -f java/util/$(DEPDIR)/$(am__dirstamp) -rm -f java/util/$(am__dirstamp) + -rm -f java/util/concurrent/atomic/$(DEPDIR)/$(am__dirstamp) + -rm -f java/util/concurrent/atomic/$(am__dirstamp) -rm -f java/util/logging/$(DEPDIR)/$(am__dirstamp) -rm -f java/util/logging/$(am__dirstamp) -rm -f java/util/zip/$(DEPDIR)/$(am__dirstamp) -rm -f java/util/zip/$(am__dirstamp) + -rm -f sun/misc/$(DEPDIR)/$(am__dirstamp) + -rm -f sun/misc/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@USE_LIBGCJ_BC_FALSE@install-exec-hook: clean: clean-recursive clean-am: clean-binPROGRAMS clean-dbexecLTLIBRARIES clean-generic \ - clean-libtool clean-noinstPROGRAMS \ + clean-libexecsubPROGRAMS clean-libtool clean-noinstPROGRAMS \ clean-toolexeclibLTLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) + -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/management/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/management/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/concurrent/atomic/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) sun/misc/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-libtool distclean-local distclean-tags @@ -9128,7 +9802,8 @@ install-data-am: install-data-local install-jarDATA install-exec-am: install-binPROGRAMS install-binSCRIPTS \ install-dbexecDATA install-dbexecLTLIBRARIES \ - install-toolexeclibLTLIBRARIES install-toolexecmainlibDATA + install-libexecsubPROGRAMS install-toolexeclibLTLIBRARIES \ + install-toolexecmainlibDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook @@ -9141,7 +9816,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) + -rm -rf ./$(DEPDIR) classpath/tools/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/classpath/jdwp/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/jvmti/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/management/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/management/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/security/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/concurrent/atomic/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/zip/$(DEPDIR) sun/misc/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -9161,24 +9836,26 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-dbexecDATA uninstall-dbexecLTLIBRARIES \ uninstall-info-am uninstall-jarDATA \ - uninstall-toolexeclibLTLIBRARIES uninstall-toolexecmainlibDATA + uninstall-libexecsubPROGRAMS uninstall-toolexeclibLTLIBRARIES \ + uninstall-toolexecmainlibDATA uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ check-am clean clean-binPROGRAMS clean-dbexecLTLIBRARIES \ - clean-generic clean-libtool clean-noinstPROGRAMS \ - clean-recursive clean-toolexeclibLTLIBRARIES ctags \ - ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ - dist-tarZ dist-zip distcheck distclean distclean-compile \ - distclean-generic distclean-libtool distclean-local \ - distclean-recursive distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-binSCRIPTS \ - install-data install-data-am install-data-local \ - install-dbexecDATA install-dbexecLTLIBRARIES install-exec \ - install-exec-am install-exec-hook install-info install-info-am \ - install-jarDATA install-man install-strip \ + clean-generic clean-libexecsubPROGRAMS clean-libtool \ + clean-noinstPROGRAMS clean-recursive \ + clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \ + dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ + distcheck distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-binSCRIPTS install-data \ + install-data-am install-data-local install-dbexecDATA \ + install-dbexecLTLIBRARIES install-exec install-exec-am \ + install-exec-hook install-info install-info-am install-jarDATA \ + install-libexecsubPROGRAMS install-man install-strip \ install-toolexeclibLTLIBRARIES install-toolexecmainlibDATA \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic \ @@ -9188,8 +9865,8 @@ uninstall-info: uninstall-info-recursive uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-binSCRIPTS uninstall-dbexecDATA \ uninstall-dbexecLTLIBRARIES uninstall-info-am \ - uninstall-jarDATA uninstall-toolexeclibLTLIBRARIES \ - uninstall-toolexecmainlibDATA + uninstall-jarDATA uninstall-libexecsubPROGRAMS \ + uninstall-toolexeclibLTLIBRARIES uninstall-toolexecmainlibDATA $(db_name): gcj-dbtool$(EXEEXT) @@ -9211,10 +9888,10 @@ $(propertyo_files): %.lo: classpath/resource/% $(LTGCJCOMPILE) -o $@ -c $< -Wc,--resource,$(@:.lo=) libgcj-$(gcc_version).jar: classpath/lib/compile-classes - cd classpath/lib; $(JAR) -cfM \ - ../../libgcj-$(gcc_version).jar gnu java javax org + here=`pwd`; cd $(srcdir)/classpath/lib; $(JAR) -cfM \ + $$here/libgcj-$(gcc_version).jar gnu java javax org sun -libgcj-tools-$(gcc_version).jar: classpath/tools/tools.jar +libgcj-tools-$(gcc_version).jar: classpath/tools/tools.zip cp $< $@ mostlyclean-local: @@ -9234,2563 +9911,1631 @@ lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPEND -rpath $(toolexeclibdir) $(lib_gnu_awt_xlib_la_LDFLAGS) $(LIBS) %.lo: %.list - $(LTGCJCOMPILE) -c -o $@ -MT $@ -MD -MP -MF $(basename $@).deps @$< + $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$< + +java/lang/Object.lo: classpath/lib/java/lang/Object.class + $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $< + +java/lang/Class.lo: classpath/lib/java/lang/Class.class + $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $< gnu-CORBA.lo: $(gnu_CORBA_source_files) - @find classpath/lib/gnu/CORBA -name '*.class' > gnu-CORBA.list + @find $(srcdir)/classpath/lib/gnu/CORBA -name '*.class' > gnu-CORBA.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list @rm -f gnu-CORBA.list gnu/awt.list: $(gnu_awt_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_awt_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/awt.list + echo $(srcdir)/classpath/lib/gnu/awt/*.class > gnu/awt.list -include gnu/awt.deps gnu/awt/j2d.list: $(gnu_awt_j2d_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_awt_j2d_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/awt/j2d.list + echo $(srcdir)/classpath/lib/gnu/awt/j2d/*.class > gnu/awt/j2d.list -include gnu/awt/j2d.deps gnu/awt/xlib.list: $(gnu_awt_xlib_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_awt_xlib_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/awt/xlib.list + echo $(srcdir)/classpath/lib/gnu/awt/xlib/*.class > gnu/awt/xlib.list -include gnu/awt/xlib.deps gnu/classpath.list: $(gnu_classpath_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath.list + echo $(srcdir)/classpath/lib/gnu/classpath/*.class > gnu/classpath.list -include gnu/classpath.deps gnu/classpath/debug.list: $(gnu_classpath_debug_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_debug_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/debug.list + echo $(srcdir)/classpath/lib/gnu/classpath/debug/*.class > gnu/classpath/debug.list -include gnu/classpath/debug.deps gnu/classpath/jdwp.list: $(gnu_classpath_jdwp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/*.class > gnu/classpath/jdwp.list -include gnu/classpath/jdwp.deps gnu/classpath/jdwp/event.list: $(gnu_classpath_jdwp_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/event.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/event/*.class > gnu/classpath/jdwp/event.list -include gnu/classpath/jdwp/event.deps gnu/classpath/jdwp/event/filters.list: $(gnu_classpath_jdwp_event_filters_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_event_filters_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/event/filters.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/event/filters/*.class > gnu/classpath/jdwp/event/filters.list -include gnu/classpath/jdwp/event/filters.deps gnu/classpath/jdwp/exception.list: $(gnu_classpath_jdwp_exception_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_exception_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/exception.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/exception/*.class > gnu/classpath/jdwp/exception.list -include gnu/classpath/jdwp/exception.deps gnu/classpath/jdwp/id.list: $(gnu_classpath_jdwp_id_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_id_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/id.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/id/*.class > gnu/classpath/jdwp/id.list -include gnu/classpath/jdwp/id.deps gnu/classpath/jdwp/processor.list: $(gnu_classpath_jdwp_processor_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_processor_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/processor.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/processor/*.class > gnu/classpath/jdwp/processor.list -include gnu/classpath/jdwp/processor.deps gnu/classpath/jdwp/transport.list: $(gnu_classpath_jdwp_transport_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_transport_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/transport.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/transport/*.class > gnu/classpath/jdwp/transport.list -include gnu/classpath/jdwp/transport.deps gnu/classpath/jdwp/util.list: $(gnu_classpath_jdwp_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/util.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/util/*.class > gnu/classpath/jdwp/util.list -include gnu/classpath/jdwp/util.deps gnu/gcj.list: $(gnu_gcj_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj.list + echo $(srcdir)/classpath/lib/gnu/gcj/*.class > gnu/gcj.list -include gnu/gcj.deps gnu/gcj/convert.list: $(gnu_gcj_convert_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_convert_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/convert.list + echo $(srcdir)/classpath/lib/gnu/gcj/convert/*.class > gnu/gcj/convert.list -include gnu/gcj/convert.deps gnu/gcj/io.list: $(gnu_gcj_io_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_io_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/io.list + echo $(srcdir)/classpath/lib/gnu/gcj/io/*.class > gnu/gcj/io.list -include gnu/gcj/io.deps gnu/gcj/jvmti.list: $(gnu_gcj_jvmti_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_jvmti_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/jvmti.list + echo $(srcdir)/classpath/lib/gnu/gcj/jvmti/*.class > gnu/gcj/jvmti.list -include gnu/gcj/jvmti.deps gnu/gcj/runtime.list: $(gnu_gcj_runtime_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_runtime_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/runtime.list + echo $(srcdir)/classpath/lib/gnu/gcj/runtime/*.class > gnu/gcj/runtime.list -include gnu/gcj/runtime.deps +gnu/gcj/tools/gcj_dbtool.list: $(gnu_gcj_tools_gcj_dbtool_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/gcj/tools/gcj_dbtool/*.class > gnu/gcj/tools/gcj_dbtool.list + +-include gnu/gcj/tools/gcj_dbtool.deps + gnu/gcj/util.list: $(gnu_gcj_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/util.list + echo $(srcdir)/classpath/lib/gnu/gcj/util/*.class > gnu/gcj/util.list -include gnu/gcj/util.deps gnu/gcj/xlib.list: $(gnu_gcj_xlib_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_xlib_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/xlib.list + echo $(srcdir)/classpath/lib/gnu/gcj/xlib/*.class > gnu/gcj/xlib.list -include gnu/gcj/xlib.deps gnu/java/awt.list: $(gnu_java_awt_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt.list + echo $(srcdir)/classpath/lib/gnu/java/awt/*.class > gnu/java/awt.list -include gnu/java/awt.deps gnu/java/awt/color.list: $(gnu_java_awt_color_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_color_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/color.list + echo $(srcdir)/classpath/lib/gnu/java/awt/color/*.class > gnu/java/awt/color.list -include gnu/java/awt/color.deps gnu/java/awt/dnd.list: $(gnu_java_awt_dnd_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_dnd_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/dnd.list + echo $(srcdir)/classpath/lib/gnu/java/awt/dnd/*.class > gnu/java/awt/dnd.list -include gnu/java/awt/dnd.deps gnu-java-awt-dnd-peer-gtk.lo: $(gnu_java_awt_dnd_peer_gtk_source_files) - @find classpath/lib/gnu/java/awt/dnd/peer/gtk -name '*.class' > gnu-java-awt-dnd-peer-gtk.list + @find $(srcdir)/classpath/lib/gnu/java/awt/dnd/peer/gtk -name '*.class' > gnu-java-awt-dnd-peer-gtk.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-dnd-peer-gtk.lo @gnu-java-awt-dnd-peer-gtk.list @rm -f gnu-java-awt-dnd-peer-gtk.list gnu/java/awt/font.list: $(gnu_java_awt_font_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_font_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/font.list + echo $(srcdir)/classpath/lib/gnu/java/awt/font/*.class > gnu/java/awt/font.list -include gnu/java/awt/font.deps +gnu/java/awt/font/autofit.list: $(gnu_java_awt_font_autofit_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/java/awt/font/autofit/*.class > gnu/java/awt/font/autofit.list + +-include gnu/java/awt/font/autofit.deps + gnu/java/awt/font/opentype.list: $(gnu_java_awt_font_opentype_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_font_opentype_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/font/opentype.list + echo $(srcdir)/classpath/lib/gnu/java/awt/font/opentype/*.class > gnu/java/awt/font/opentype.list -include gnu/java/awt/font/opentype.deps gnu/java/awt/font/opentype/truetype.list: $(gnu_java_awt_font_opentype_truetype_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_font_opentype_truetype_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/font/opentype/truetype.list + echo $(srcdir)/classpath/lib/gnu/java/awt/font/opentype/truetype/*.class > gnu/java/awt/font/opentype/truetype.list -include gnu/java/awt/font/opentype/truetype.deps gnu/java/awt/image.list: $(gnu_java_awt_image_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_image_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/image.list + echo $(srcdir)/classpath/lib/gnu/java/awt/image/*.class > gnu/java/awt/image.list -include gnu/java/awt/image.deps gnu/java/awt/java2d.list: $(gnu_java_awt_java2d_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_java2d_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/java2d.list + echo $(srcdir)/classpath/lib/gnu/java/awt/java2d/*.class > gnu/java/awt/java2d.list -include gnu/java/awt/java2d.deps gnu/java/awt/peer.list: $(gnu_java_awt_peer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_peer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/peer.list + echo $(srcdir)/classpath/lib/gnu/java/awt/peer/*.class > gnu/java/awt/peer.list -include gnu/java/awt/peer.deps gnu-java-awt-peer-gtk.lo: $(gnu_java_awt_peer_gtk_source_files) - @find classpath/lib/gnu/java/awt/peer/gtk -name '*.class' > gnu-java-awt-peer-gtk.list + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/gtk -name '*.class' > gnu-java-awt-peer-gtk.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-gtk.lo @gnu-java-awt-peer-gtk.list @rm -f gnu-java-awt-peer-gtk.list +gnu/java/awt/peer/headless.list: $(gnu_java_awt_peer_headless_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/java/awt/peer/headless/*.class > gnu/java/awt/peer/headless.list + +-include gnu/java/awt/peer/headless.deps + gnu-java-awt-peer-qt.lo: $(gnu_java_awt_peer_qt_source_files) - @find classpath/lib/gnu/java/awt/peer/qt -name '*.class' > gnu-java-awt-peer-qt.list + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/qt -name '*.class' > gnu-java-awt-peer-qt.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list @rm -f gnu-java-awt-peer-qt.list gnu-java-awt-peer-swing.lo: $(gnu_java_awt_peer_swing_source_files) - @find classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list @rm -f gnu-java-awt-peer-swing.list +gnu-java-awt-peer-x.lo: $(gnu_java_awt_peer_x_source_files) + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/x -name '*.class' > gnu-java-awt-peer-x.list + $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-x.lo @gnu-java-awt-peer-x.list + @rm -f gnu-java-awt-peer-x.list + gnu/java/awt/print.list: $(gnu_java_awt_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/print.list + echo $(srcdir)/classpath/lib/gnu/java/awt/print/*.class > gnu/java/awt/print.list -include gnu/java/awt/print.deps gnu-java-beans.lo: $(gnu_java_beans_source_files) - @find classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list + @find $(srcdir)/classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-beans.lo @gnu-java-beans.list @rm -f gnu-java-beans.list gnu/java/io.list: $(gnu_java_io_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_io_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/io.list + echo $(srcdir)/classpath/lib/gnu/java/io/*.class > gnu/java/io.list -include gnu/java/io.deps gnu/java/lang.list: $(gnu_java_lang_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_lang_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/lang.list + echo $(srcdir)/classpath/lib/gnu/java/lang/*.class > gnu/java/lang.list -include gnu/java/lang.deps gnu/java/lang/management.list: $(gnu_java_lang_management_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_lang_management_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/lang/management.list + echo $(srcdir)/classpath/lib/gnu/java/lang/management/*.class > gnu/java/lang/management.list -include gnu/java/lang/management.deps gnu/java/lang/reflect.list: $(gnu_java_lang_reflect_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_lang_reflect_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/lang/reflect.list + echo $(srcdir)/classpath/lib/gnu/java/lang/reflect/*.class > gnu/java/lang/reflect.list -include gnu/java/lang/reflect.deps gnu/java/locale.list: $(gnu_java_locale_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_locale_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/locale.list + echo $(srcdir)/classpath/lib/gnu/java/locale/*.class > gnu/java/locale.list -include gnu/java/locale.deps gnu/java/math.list: $(gnu_java_math_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_math_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/math.list + echo $(srcdir)/classpath/lib/gnu/java/math/*.class > gnu/java/math.list -include gnu/java/math.deps gnu/java/net.list: $(gnu_java_net_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net.list + echo $(srcdir)/classpath/lib/gnu/java/net/*.class > gnu/java/net.list -include gnu/java/net.deps gnu/java/net/loader.list: $(gnu_java_net_loader_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_loader_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/loader.list + echo $(srcdir)/classpath/lib/gnu/java/net/loader/*.class > gnu/java/net/loader.list -include gnu/java/net/loader.deps gnu/java/net/local.list: $(gnu_java_net_local_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_local_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/local.list + echo $(srcdir)/classpath/lib/gnu/java/net/local/*.class > gnu/java/net/local.list -include gnu/java/net/local.deps gnu/java/net/protocol/core.list: $(gnu_java_net_protocol_core_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_core_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/core.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/core/*.class > gnu/java/net/protocol/core.list -include gnu/java/net/protocol/core.deps gnu/java/net/protocol/file.list: $(gnu_java_net_protocol_file_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_file_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/file.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/file/*.class > gnu/java/net/protocol/file.list -include gnu/java/net/protocol/file.deps gnu/java/net/protocol/ftp.list: $(gnu_java_net_protocol_ftp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_ftp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/ftp.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/ftp/*.class > gnu/java/net/protocol/ftp.list -include gnu/java/net/protocol/ftp.deps gnu/java/net/protocol/gcjlib.list: $(gnu_java_net_protocol_gcjlib_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_gcjlib_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/gcjlib.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/gcjlib/*.class > gnu/java/net/protocol/gcjlib.list -include gnu/java/net/protocol/gcjlib.deps gnu/java/net/protocol/http.list: $(gnu_java_net_protocol_http_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_http_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/http.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/http/*.class > gnu/java/net/protocol/http.list -include gnu/java/net/protocol/http.deps gnu/java/net/protocol/https.list: $(gnu_java_net_protocol_https_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_https_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/https.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/https/*.class > gnu/java/net/protocol/https.list -include gnu/java/net/protocol/https.deps gnu/java/net/protocol/jar.list: $(gnu_java_net_protocol_jar_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_jar_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/jar.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/jar/*.class > gnu/java/net/protocol/jar.list -include gnu/java/net/protocol/jar.deps gnu/java/nio.list: $(gnu_java_nio_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_nio_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/nio.list + echo $(srcdir)/classpath/lib/gnu/java/nio/*.class > gnu/java/nio.list -include gnu/java/nio.deps gnu/java/nio/channels.list: $(gnu_java_nio_channels_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_nio_channels_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/nio/channels.list + echo $(srcdir)/classpath/lib/gnu/java/nio/channels/*.class > gnu/java/nio/channels.list -include gnu/java/nio/channels.deps gnu/java/nio/charset.list: $(gnu_java_nio_charset_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_nio_charset_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/nio/charset.list + echo $(srcdir)/classpath/lib/gnu/java/nio/charset/*.class > gnu/java/nio/charset.list -include gnu/java/nio/charset.deps gnu/java/rmi.list: $(gnu_java_rmi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/*.class > gnu/java/rmi.list -include gnu/java/rmi.deps gnu/java/rmi/activation.list: $(gnu_java_rmi_activation_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_activation_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/activation.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/activation/*.class > gnu/java/rmi/activation.list -include gnu/java/rmi/activation.deps gnu/java/rmi/dgc.list: $(gnu_java_rmi_dgc_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_dgc_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/dgc.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/dgc/*.class > gnu/java/rmi/dgc.list -include gnu/java/rmi/dgc.deps gnu/java/rmi/registry.list: $(gnu_java_rmi_registry_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_registry_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/registry.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/registry/*.class > gnu/java/rmi/registry.list -include gnu/java/rmi/registry.deps -gnu/java/rmi/rmic.list: $(gnu_java_rmi_rmic_source_files) - @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_rmic_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/rmic.list - --include gnu/java/rmi/rmic.deps - gnu/java/rmi/server.list: $(gnu_java_rmi_server_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_server_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/server.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/server/*.class > gnu/java/rmi/server.list -include gnu/java/rmi/server.deps gnu/java/security.list: $(gnu_java_security_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security.list + echo $(srcdir)/classpath/lib/gnu/java/security/*.class > gnu/java/security.list -include gnu/java/security.deps gnu/java/security/action.list: $(gnu_java_security_action_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_action_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/action.list + echo $(srcdir)/classpath/lib/gnu/java/security/action/*.class > gnu/java/security/action.list -include gnu/java/security/action.deps gnu/java/security/ber.list: $(gnu_java_security_ber_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_ber_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/ber.list + echo $(srcdir)/classpath/lib/gnu/java/security/ber/*.class > gnu/java/security/ber.list -include gnu/java/security/ber.deps gnu/java/security/der.list: $(gnu_java_security_der_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_der_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/der.list + echo $(srcdir)/classpath/lib/gnu/java/security/der/*.class > gnu/java/security/der.list -include gnu/java/security/der.deps gnu/java/security/hash.list: $(gnu_java_security_hash_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_hash_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/hash.list + echo $(srcdir)/classpath/lib/gnu/java/security/hash/*.class > gnu/java/security/hash.list -include gnu/java/security/hash.deps gnu/java/security/jce/hash.list: $(gnu_java_security_jce_hash_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_jce_hash_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/jce/hash.list + echo $(srcdir)/classpath/lib/gnu/java/security/jce/hash/*.class > gnu/java/security/jce/hash.list -include gnu/java/security/jce/hash.deps gnu/java/security/jce/prng.list: $(gnu_java_security_jce_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_jce_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/jce/prng.list + echo $(srcdir)/classpath/lib/gnu/java/security/jce/prng/*.class > gnu/java/security/jce/prng.list -include gnu/java/security/jce/prng.deps gnu/java/security/jce/sig.list: $(gnu_java_security_jce_sig_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_jce_sig_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/jce/sig.list + echo $(srcdir)/classpath/lib/gnu/java/security/jce/sig/*.class > gnu/java/security/jce/sig.list -include gnu/java/security/jce/sig.deps gnu/java/security/key.list: $(gnu_java_security_key_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_key_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/key.list + echo $(srcdir)/classpath/lib/gnu/java/security/key/*.class > gnu/java/security/key.list -include gnu/java/security/key.deps gnu/java/security/key/dss.list: $(gnu_java_security_key_dss_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_key_dss_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/key/dss.list + echo $(srcdir)/classpath/lib/gnu/java/security/key/dss/*.class > gnu/java/security/key/dss.list -include gnu/java/security/key/dss.deps gnu/java/security/key/rsa.list: $(gnu_java_security_key_rsa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_key_rsa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/key/rsa.list + echo $(srcdir)/classpath/lib/gnu/java/security/key/rsa/*.class > gnu/java/security/key/rsa.list -include gnu/java/security/key/rsa.deps gnu/java/security/pkcs.list: $(gnu_java_security_pkcs_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_pkcs_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/pkcs.list + echo $(srcdir)/classpath/lib/gnu/java/security/pkcs/*.class > gnu/java/security/pkcs.list -include gnu/java/security/pkcs.deps gnu/java/security/prng.list: $(gnu_java_security_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/prng.list + echo $(srcdir)/classpath/lib/gnu/java/security/prng/*.class > gnu/java/security/prng.list -include gnu/java/security/prng.deps gnu/java/security/provider.list: $(gnu_java_security_provider_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_provider_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/provider.list + echo $(srcdir)/classpath/lib/gnu/java/security/provider/*.class > gnu/java/security/provider.list -include gnu/java/security/provider.deps gnu/java/security/sig.list: $(gnu_java_security_sig_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_sig_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/sig.list + echo $(srcdir)/classpath/lib/gnu/java/security/sig/*.class > gnu/java/security/sig.list -include gnu/java/security/sig.deps gnu/java/security/sig/dss.list: $(gnu_java_security_sig_dss_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_sig_dss_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/sig/dss.list + echo $(srcdir)/classpath/lib/gnu/java/security/sig/dss/*.class > gnu/java/security/sig/dss.list -include gnu/java/security/sig/dss.deps gnu/java/security/sig/rsa.list: $(gnu_java_security_sig_rsa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_sig_rsa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/sig/rsa.list + echo $(srcdir)/classpath/lib/gnu/java/security/sig/rsa/*.class > gnu/java/security/sig/rsa.list -include gnu/java/security/sig/rsa.deps gnu/java/security/util.list: $(gnu_java_security_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/util.list + echo $(srcdir)/classpath/lib/gnu/java/security/util/*.class > gnu/java/security/util.list -include gnu/java/security/util.deps gnu/java/security/x509.list: $(gnu_java_security_x509_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_x509_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/x509.list + echo $(srcdir)/classpath/lib/gnu/java/security/x509/*.class > gnu/java/security/x509.list -include gnu/java/security/x509.deps gnu/java/security/x509/ext.list: $(gnu_java_security_x509_ext_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_x509_ext_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/x509/ext.list + echo $(srcdir)/classpath/lib/gnu/java/security/x509/ext/*.class > gnu/java/security/x509/ext.list -include gnu/java/security/x509/ext.deps gnu/java/text.list: $(gnu_java_text_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_text_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/text.list + echo $(srcdir)/classpath/lib/gnu/java/text/*.class > gnu/java/text.list -include gnu/java/text.deps gnu/java/util.list: $(gnu_java_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util.list + echo $(srcdir)/classpath/lib/gnu/java/util/*.class > gnu/java/util.list -include gnu/java/util.deps gnu/java/util/jar.list: $(gnu_java_util_jar_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_jar_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util/jar.list + echo $(srcdir)/classpath/lib/gnu/java/util/jar/*.class > gnu/java/util/jar.list -include gnu/java/util/jar.deps gnu/java/util/prefs.list: $(gnu_java_util_prefs_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_prefs_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util/prefs.list + echo $(srcdir)/classpath/lib/gnu/java/util/prefs/*.class > gnu/java/util/prefs.list -include gnu/java/util/prefs.deps gnu-java-util-prefs-gconf.lo: $(gnu_java_util_prefs_gconf_source_files) - @find classpath/lib/gnu/java/util/prefs/gconf -name '*.class' > gnu-java-util-prefs-gconf.list + @find $(srcdir)/classpath/lib/gnu/java/util/prefs/gconf -name '*.class' > gnu-java-util-prefs-gconf.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-util-prefs-gconf.lo @gnu-java-util-prefs-gconf.list @rm -f gnu-java-util-prefs-gconf.list gnu/java/util/regex.list: $(gnu_java_util_regex_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_regex_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util/regex.list + echo $(srcdir)/classpath/lib/gnu/java/util/regex/*.class > gnu/java/util/regex.list -include gnu/java/util/regex.deps gnu/javax/crypto.list: $(gnu_javax_crypto_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/*.class > gnu/javax/crypto.list -include gnu/javax/crypto.deps gnu/javax/crypto/assembly.list: $(gnu_javax_crypto_assembly_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_assembly_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/assembly.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/assembly/*.class > gnu/javax/crypto/assembly.list -include gnu/javax/crypto/assembly.deps gnu/javax/crypto/cipher.list: $(gnu_javax_crypto_cipher_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_cipher_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/cipher.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/cipher/*.class > gnu/javax/crypto/cipher.list -include gnu/javax/crypto/cipher.deps gnu/javax/crypto/jce.list: $(gnu_javax_crypto_jce_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/*.class > gnu/javax/crypto/jce.list -include gnu/javax/crypto/jce.deps gnu/javax/crypto/jce/cipher.list: $(gnu_javax_crypto_jce_cipher_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_cipher_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/cipher.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/cipher/*.class > gnu/javax/crypto/jce/cipher.list -include gnu/javax/crypto/jce/cipher.deps gnu/javax/crypto/jce/key.list: $(gnu_javax_crypto_jce_key_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_key_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/key.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/key/*.class > gnu/javax/crypto/jce/key.list -include gnu/javax/crypto/jce/key.deps gnu/javax/crypto/jce/keyring.list: $(gnu_javax_crypto_jce_keyring_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_keyring_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/keyring.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/keyring/*.class > gnu/javax/crypto/jce/keyring.list -include gnu/javax/crypto/jce/keyring.deps gnu/javax/crypto/jce/mac.list: $(gnu_javax_crypto_jce_mac_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_mac_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/mac.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/mac/*.class > gnu/javax/crypto/jce/mac.list -include gnu/javax/crypto/jce/mac.deps gnu/javax/crypto/jce/params.list: $(gnu_javax_crypto_jce_params_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_params_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/params.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/params/*.class > gnu/javax/crypto/jce/params.list -include gnu/javax/crypto/jce/params.deps gnu/javax/crypto/jce/prng.list: $(gnu_javax_crypto_jce_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/prng.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/prng/*.class > gnu/javax/crypto/jce/prng.list -include gnu/javax/crypto/jce/prng.deps gnu/javax/crypto/jce/sig.list: $(gnu_javax_crypto_jce_sig_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_sig_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/sig.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/sig/*.class > gnu/javax/crypto/jce/sig.list -include gnu/javax/crypto/jce/sig.deps gnu/javax/crypto/jce/spec.list: $(gnu_javax_crypto_jce_spec_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_spec_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/spec.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/spec/*.class > gnu/javax/crypto/jce/spec.list -include gnu/javax/crypto/jce/spec.deps gnu/javax/crypto/key.list: $(gnu_javax_crypto_key_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_key_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/key.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/key/*.class > gnu/javax/crypto/key.list -include gnu/javax/crypto/key.deps gnu/javax/crypto/key/dh.list: $(gnu_javax_crypto_key_dh_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_key_dh_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/key/dh.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/key/dh/*.class > gnu/javax/crypto/key/dh.list -include gnu/javax/crypto/key/dh.deps gnu/javax/crypto/key/srp6.list: $(gnu_javax_crypto_key_srp6_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_key_srp6_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/key/srp6.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/key/srp6/*.class > gnu/javax/crypto/key/srp6.list -include gnu/javax/crypto/key/srp6.deps gnu/javax/crypto/keyring.list: $(gnu_javax_crypto_keyring_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_keyring_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/keyring.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/keyring/*.class > gnu/javax/crypto/keyring.list -include gnu/javax/crypto/keyring.deps gnu/javax/crypto/kwa.list: $(gnu_javax_crypto_kwa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_kwa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/kwa.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/kwa/*.class > gnu/javax/crypto/kwa.list -include gnu/javax/crypto/kwa.deps gnu/javax/crypto/mac.list: $(gnu_javax_crypto_mac_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_mac_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/mac.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/mac/*.class > gnu/javax/crypto/mac.list -include gnu/javax/crypto/mac.deps gnu/javax/crypto/mode.list: $(gnu_javax_crypto_mode_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_mode_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/mode.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/mode/*.class > gnu/javax/crypto/mode.list -include gnu/javax/crypto/mode.deps gnu/javax/crypto/pad.list: $(gnu_javax_crypto_pad_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_pad_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/pad.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/pad/*.class > gnu/javax/crypto/pad.list -include gnu/javax/crypto/pad.deps gnu/javax/crypto/prng.list: $(gnu_javax_crypto_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/prng.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/prng/*.class > gnu/javax/crypto/prng.list -include gnu/javax/crypto/prng.deps gnu/javax/crypto/sasl.list: $(gnu_javax_crypto_sasl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/*.class > gnu/javax/crypto/sasl.list -include gnu/javax/crypto/sasl.deps gnu/javax/crypto/sasl/anonymous.list: $(gnu_javax_crypto_sasl_anonymous_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_anonymous_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/anonymous.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/anonymous/*.class > gnu/javax/crypto/sasl/anonymous.list -include gnu/javax/crypto/sasl/anonymous.deps gnu/javax/crypto/sasl/crammd5.list: $(gnu_javax_crypto_sasl_crammd5_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_crammd5_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/crammd5.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/crammd5/*.class > gnu/javax/crypto/sasl/crammd5.list -include gnu/javax/crypto/sasl/crammd5.deps gnu/javax/crypto/sasl/plain.list: $(gnu_javax_crypto_sasl_plain_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_plain_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/plain.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/plain/*.class > gnu/javax/crypto/sasl/plain.list -include gnu/javax/crypto/sasl/plain.deps gnu/javax/crypto/sasl/srp.list: $(gnu_javax_crypto_sasl_srp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_srp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/srp.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/srp/*.class > gnu/javax/crypto/sasl/srp.list -include gnu/javax/crypto/sasl/srp.deps gnu/javax/imageio.list: $(gnu_javax_imageio_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/*.class > gnu/javax/imageio.list -include gnu/javax/imageio.deps gnu/javax/imageio/bmp.list: $(gnu_javax_imageio_bmp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_bmp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/bmp.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/bmp/*.class > gnu/javax/imageio/bmp.list -include gnu/javax/imageio/bmp.deps gnu/javax/imageio/gif.list: $(gnu_javax_imageio_gif_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_gif_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/gif.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/gif/*.class > gnu/javax/imageio/gif.list -include gnu/javax/imageio/gif.deps gnu/javax/imageio/jpeg.list: $(gnu_javax_imageio_jpeg_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_jpeg_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/jpeg.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/jpeg/*.class > gnu/javax/imageio/jpeg.list -include gnu/javax/imageio/jpeg.deps gnu/javax/imageio/png.list: $(gnu_javax_imageio_png_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_png_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/png.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/png/*.class > gnu/javax/imageio/png.list -include gnu/javax/imageio/png.deps +gnu/javax/management.list: $(gnu_javax_management_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/management/*.class > gnu/javax/management.list + +-include gnu/javax/management.deps + +gnu/javax/naming/giop.list: $(gnu_javax_naming_giop_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/giop/*.class > gnu/javax/naming/giop.list + +-include gnu/javax/naming/giop.deps + +gnu/javax/naming/ictxImpl/trans.list: $(gnu_javax_naming_ictxImpl_trans_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/ictxImpl/trans/*.class > gnu/javax/naming/ictxImpl/trans.list + +-include gnu/javax/naming/ictxImpl/trans.deps + +gnu/javax/naming/jndi/url/corbaname.list: $(gnu_javax_naming_jndi_url_corbaname_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/jndi/url/corbaname/*.class > gnu/javax/naming/jndi/url/corbaname.list + +-include gnu/javax/naming/jndi/url/corbaname.deps + +gnu/javax/naming/jndi/url/rmi.list: $(gnu_javax_naming_jndi_url_rmi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/jndi/url/rmi/*.class > gnu/javax/naming/jndi/url/rmi.list + +-include gnu/javax/naming/jndi/url/rmi.deps + gnu/javax/net/ssl.list: $(gnu_javax_net_ssl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_net_ssl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/net/ssl.list + echo $(srcdir)/classpath/lib/gnu/javax/net/ssl/*.class > gnu/javax/net/ssl.list -include gnu/javax/net/ssl.deps gnu/javax/net/ssl/provider.list: $(gnu_javax_net_ssl_provider_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_net_ssl_provider_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/net/ssl/provider.list + echo $(srcdir)/classpath/lib/gnu/javax/net/ssl/provider/*.class > gnu/javax/net/ssl/provider.list -include gnu/javax/net/ssl/provider.deps gnu/javax/print.list: $(gnu_javax_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print.list + echo $(srcdir)/classpath/lib/gnu/javax/print/*.class > gnu/javax/print.list -include gnu/javax/print.deps gnu/javax/print/ipp.list: $(gnu_javax_print_ipp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/*.class > gnu/javax/print/ipp.list -include gnu/javax/print/ipp.deps gnu/javax/print/ipp/attribute.list: $(gnu_javax_print_ipp_attribute_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/*.class > gnu/javax/print/ipp/attribute.list -include gnu/javax/print/ipp/attribute.deps gnu/javax/print/ipp/attribute/defaults.list: $(gnu_javax_print_ipp_attribute_defaults_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_defaults_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/defaults.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/defaults/*.class > gnu/javax/print/ipp/attribute/defaults.list -include gnu/javax/print/ipp/attribute/defaults.deps gnu/javax/print/ipp/attribute/job.list: $(gnu_javax_print_ipp_attribute_job_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_job_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/job.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/job/*.class > gnu/javax/print/ipp/attribute/job.list -include gnu/javax/print/ipp/attribute/job.deps gnu/javax/print/ipp/attribute/printer.list: $(gnu_javax_print_ipp_attribute_printer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_printer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/printer.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/printer/*.class > gnu/javax/print/ipp/attribute/printer.list -include gnu/javax/print/ipp/attribute/printer.deps gnu/javax/print/ipp/attribute/supported.list: $(gnu_javax_print_ipp_attribute_supported_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_supported_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/supported.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/supported/*.class > gnu/javax/print/ipp/attribute/supported.list -include gnu/javax/print/ipp/attribute/supported.deps gnu-javax-rmi.lo: $(gnu_javax_rmi_source_files) - @find classpath/lib/gnu/javax/rmi -name '*.class' > gnu-javax-rmi.list + @find $(srcdir)/classpath/lib/gnu/javax/rmi -name '*.class' > gnu-javax-rmi.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-rmi.lo @gnu-javax-rmi.list @rm -f gnu-javax-rmi.list gnu/javax/security/auth.list: $(gnu_javax_security_auth_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_security_auth_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/security/auth.list + echo $(srcdir)/classpath/lib/gnu/javax/security/auth/*.class > gnu/javax/security/auth.list -include gnu/javax/security/auth.deps gnu/javax/security/auth/callback.list: $(gnu_javax_security_auth_callback_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_security_auth_callback_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/security/auth/callback.list + echo $(srcdir)/classpath/lib/gnu/javax/security/auth/callback/*.class > gnu/javax/security/auth/callback.list -include gnu/javax/security/auth/callback.deps gnu/javax/security/auth/login.list: $(gnu_javax_security_auth_login_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_security_auth_login_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/security/auth/login.list + echo $(srcdir)/classpath/lib/gnu/javax/security/auth/login/*.class > gnu/javax/security/auth/login.list -include gnu/javax/security/auth/login.deps gnu-javax-sound-midi.lo: $(gnu_javax_sound_midi_source_files) - @find classpath/lib/gnu/javax/sound/midi -name '*.class' > gnu-javax-sound-midi.list + @find $(srcdir)/classpath/lib/gnu/javax/sound/midi -name '*.class' > gnu-javax-sound-midi.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-sound-midi.lo @gnu-javax-sound-midi.list @rm -f gnu-javax-sound-midi.list gnu/javax/sound/sampled/AU.list: $(gnu_javax_sound_sampled_AU_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_sound_sampled_AU_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/sound/sampled/AU.list + echo $(srcdir)/classpath/lib/gnu/javax/sound/sampled/AU/*.class > gnu/javax/sound/sampled/AU.list -include gnu/javax/sound/sampled/AU.deps gnu/javax/sound/sampled/WAV.list: $(gnu_javax_sound_sampled_WAV_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_sound_sampled_WAV_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/sound/sampled/WAV.list + echo $(srcdir)/classpath/lib/gnu/javax/sound/sampled/WAV/*.class > gnu/javax/sound/sampled/WAV.list -include gnu/javax/sound/sampled/WAV.deps gnu/javax/swing/plaf/gnu.list: $(gnu_javax_swing_plaf_gnu_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_plaf_gnu_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/plaf/gnu.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/plaf/gnu/*.class > gnu/javax/swing/plaf/gnu.list -include gnu/javax/swing/plaf/gnu.deps gnu/javax/swing/plaf/metal.list: $(gnu_javax_swing_plaf_metal_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_plaf_metal_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/plaf/metal.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/plaf/metal/*.class > gnu/javax/swing/plaf/metal.list -include gnu/javax/swing/plaf/metal.deps gnu/javax/swing/text/html.list: $(gnu_javax_swing_text_html_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/*.class > gnu/javax/swing/text/html.list -include gnu/javax/swing/text/html.deps +gnu/javax/swing/text/html/css.list: $(gnu_javax_swing_text_html_css_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/css/*.class > gnu/javax/swing/text/html/css.list + +-include gnu/javax/swing/text/html/css.deps + gnu/javax/swing/text/html/parser.list: $(gnu_javax_swing_text_html_parser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/*.class > gnu/javax/swing/text/html/parser.list -include gnu/javax/swing/text/html/parser.deps gnu/javax/swing/text/html/parser/models.list: $(gnu_javax_swing_text_html_parser_models_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_models_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser/models.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/models/*.class > gnu/javax/swing/text/html/parser/models.list -include gnu/javax/swing/text/html/parser/models.deps gnu/javax/swing/text/html/parser/support.list: $(gnu_javax_swing_text_html_parser_support_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_support_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser/support.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/support/*.class > gnu/javax/swing/text/html/parser/support.list -include gnu/javax/swing/text/html/parser/support.deps gnu/javax/swing/text/html/parser/support/low.list: $(gnu_javax_swing_text_html_parser_support_low_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_support_low_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser/support/low.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/support/low/*.class > gnu/javax/swing/text/html/parser/support/low.list -include gnu/javax/swing/text/html/parser/support/low.deps gnu/javax/swing/tree.list: $(gnu_javax_swing_tree_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_tree_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/tree.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/tree/*.class > gnu/javax/swing/tree.list -include gnu/javax/swing/tree.deps gnu-xml.lo: $(gnu_xml_source_files) - @find classpath/lib/gnu/xml -name '*.class' > gnu-xml.list + @find $(srcdir)/classpath/lib/gnu/xml -name '*.class' > gnu-xml.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-xml.lo @gnu-xml.list @rm -f gnu-xml.list java/applet.list: $(java_applet_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_applet_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/applet.list + echo $(srcdir)/classpath/lib/java/applet/*.class > java/applet.list -include java/applet.deps java/awt.list: $(java_awt_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt.list + echo $(srcdir)/classpath/lib/java/awt/*.class > java/awt.list -include java/awt.deps java/awt/color.list: $(java_awt_color_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_color_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/color.list + echo $(srcdir)/classpath/lib/java/awt/color/*.class > java/awt/color.list -include java/awt/color.deps java/awt/datatransfer.list: $(java_awt_datatransfer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_datatransfer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/datatransfer.list + echo $(srcdir)/classpath/lib/java/awt/datatransfer/*.class > java/awt/datatransfer.list -include java/awt/datatransfer.deps java/awt/dnd.list: $(java_awt_dnd_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_dnd_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/dnd.list + echo $(srcdir)/classpath/lib/java/awt/dnd/*.class > java/awt/dnd.list -include java/awt/dnd.deps java/awt/dnd/peer.list: $(java_awt_dnd_peer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_dnd_peer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/dnd/peer.list + echo $(srcdir)/classpath/lib/java/awt/dnd/peer/*.class > java/awt/dnd/peer.list -include java/awt/dnd/peer.deps java/awt/event.list: $(java_awt_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/event.list + echo $(srcdir)/classpath/lib/java/awt/event/*.class > java/awt/event.list -include java/awt/event.deps java/awt/font.list: $(java_awt_font_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_font_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/font.list + echo $(srcdir)/classpath/lib/java/awt/font/*.class > java/awt/font.list -include java/awt/font.deps java/awt/geom.list: $(java_awt_geom_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_geom_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/geom.list + echo $(srcdir)/classpath/lib/java/awt/geom/*.class > java/awt/geom.list -include java/awt/geom.deps java/awt/im.list: $(java_awt_im_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_im_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/im.list + echo $(srcdir)/classpath/lib/java/awt/im/*.class > java/awt/im.list -include java/awt/im.deps java/awt/im/spi.list: $(java_awt_im_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_im_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/im/spi.list + echo $(srcdir)/classpath/lib/java/awt/im/spi/*.class > java/awt/im/spi.list -include java/awt/im/spi.deps java/awt/image.list: $(java_awt_image_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_image_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/image.list + echo $(srcdir)/classpath/lib/java/awt/image/*.class > java/awt/image.list -include java/awt/image.deps java/awt/image/renderable.list: $(java_awt_image_renderable_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_image_renderable_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/image/renderable.list + echo $(srcdir)/classpath/lib/java/awt/image/renderable/*.class > java/awt/image/renderable.list -include java/awt/image/renderable.deps java/awt/peer.list: $(java_awt_peer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_peer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/peer.list + echo $(srcdir)/classpath/lib/java/awt/peer/*.class > java/awt/peer.list -include java/awt/peer.deps java/awt/print.list: $(java_awt_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/print.list + echo $(srcdir)/classpath/lib/java/awt/print/*.class > java/awt/print.list -include java/awt/print.deps java/beans.list: $(java_beans_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_beans_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/beans.list + echo $(srcdir)/classpath/lib/java/beans/*.class > java/beans.list -include java/beans.deps java/beans/beancontext.list: $(java_beans_beancontext_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_beans_beancontext_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/beans/beancontext.list + echo $(srcdir)/classpath/lib/java/beans/beancontext/*.class > java/beans/beancontext.list -include java/beans/beancontext.deps java/io.list: $(java_io_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_io_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/io.list + echo $(srcdir)/classpath/lib/java/io/*.class > java/io.list -include java/io.deps java/lang.list: $(java_lang_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang.list + echo $(srcdir)/classpath/lib/java/lang/*.class | tr ' ' '\n' | fgrep -v Object.class | fgrep -v Class.class | grep -v '[^/]Process' > java/lang.list -include java/lang.deps java/lang/annotation.list: $(java_lang_annotation_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_annotation_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/annotation.list + echo $(srcdir)/classpath/lib/java/lang/annotation/*.class > java/lang/annotation.list -include java/lang/annotation.deps java/lang/instrument.list: $(java_lang_instrument_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_instrument_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/instrument.list + echo $(srcdir)/classpath/lib/java/lang/instrument/*.class > java/lang/instrument.list -include java/lang/instrument.deps java/lang/management.list: $(java_lang_management_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_management_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/management.list + echo $(srcdir)/classpath/lib/java/lang/management/*.class > java/lang/management.list -include java/lang/management.deps java/lang/ref.list: $(java_lang_ref_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_ref_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/ref.list + echo $(srcdir)/classpath/lib/java/lang/ref/*.class > java/lang/ref.list -include java/lang/ref.deps java/lang/reflect.list: $(java_lang_reflect_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_reflect_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/reflect.list + echo $(srcdir)/classpath/lib/java/lang/reflect/*.class > java/lang/reflect.list -include java/lang/reflect.deps java/math.list: $(java_math_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_math_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/math.list + echo $(srcdir)/classpath/lib/java/math/*.class > java/math.list -include java/math.deps java/net.list: $(java_net_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_net_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/net.list + echo $(srcdir)/classpath/lib/java/net/*.class > java/net.list -include java/net.deps java/nio.list: $(java_nio_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio.list + echo $(srcdir)/classpath/lib/java/nio/*.class > java/nio.list -include java/nio.deps java/nio/channels.list: $(java_nio_channels_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_channels_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/channels.list + echo $(srcdir)/classpath/lib/java/nio/channels/*.class > java/nio/channels.list -include java/nio/channels.deps java/nio/channels/spi.list: $(java_nio_channels_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_channels_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/channels/spi.list + echo $(srcdir)/classpath/lib/java/nio/channels/spi/*.class > java/nio/channels/spi.list -include java/nio/channels/spi.deps java/nio/charset.list: $(java_nio_charset_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_charset_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/charset.list + echo $(srcdir)/classpath/lib/java/nio/charset/*.class > java/nio/charset.list -include java/nio/charset.deps java/nio/charset/spi.list: $(java_nio_charset_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_charset_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/charset/spi.list + echo $(srcdir)/classpath/lib/java/nio/charset/spi/*.class > java/nio/charset/spi.list -include java/nio/charset/spi.deps java/rmi.list: $(java_rmi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi.list + echo $(srcdir)/classpath/lib/java/rmi/*.class > java/rmi.list -include java/rmi.deps java/rmi/activation.list: $(java_rmi_activation_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_activation_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/activation.list + echo $(srcdir)/classpath/lib/java/rmi/activation/*.class > java/rmi/activation.list -include java/rmi/activation.deps java/rmi/dgc.list: $(java_rmi_dgc_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_dgc_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/dgc.list + echo $(srcdir)/classpath/lib/java/rmi/dgc/*.class > java/rmi/dgc.list -include java/rmi/dgc.deps java/rmi/registry.list: $(java_rmi_registry_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_registry_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/registry.list + echo $(srcdir)/classpath/lib/java/rmi/registry/*.class > java/rmi/registry.list -include java/rmi/registry.deps java/rmi/server.list: $(java_rmi_server_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_server_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/server.list + echo $(srcdir)/classpath/lib/java/rmi/server/*.class > java/rmi/server.list -include java/rmi/server.deps java/security.list: $(java_security_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security.list + echo $(srcdir)/classpath/lib/java/security/*.class > java/security.list -include java/security.deps java/security/acl.list: $(java_security_acl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_acl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/acl.list + echo $(srcdir)/classpath/lib/java/security/acl/*.class > java/security/acl.list -include java/security/acl.deps java/security/cert.list: $(java_security_cert_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_cert_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/cert.list + echo $(srcdir)/classpath/lib/java/security/cert/*.class > java/security/cert.list -include java/security/cert.deps java/security/interfaces.list: $(java_security_interfaces_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_interfaces_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/interfaces.list + echo $(srcdir)/classpath/lib/java/security/interfaces/*.class > java/security/interfaces.list -include java/security/interfaces.deps java/security/spec.list: $(java_security_spec_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_spec_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/spec.list + echo $(srcdir)/classpath/lib/java/security/spec/*.class > java/security/spec.list -include java/security/spec.deps java/sql.list: $(java_sql_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_sql_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/sql.list + echo $(srcdir)/classpath/lib/java/sql/*.class > java/sql.list -include java/sql.deps java/text.list: $(java_text_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_text_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/text.list + echo $(srcdir)/classpath/lib/java/text/*.class > java/text.list -include java/text.deps java/util.list: $(java_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util.list + echo $(srcdir)/classpath/lib/java/util/*.class > java/util.list -include java/util.deps +java/util/concurrent.list: $(java_util_concurrent_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/concurrent/*.class > java/util/concurrent.list + +-include java/util/concurrent.deps + +java/util/concurrent/atomic.list: $(java_util_concurrent_atomic_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/concurrent/atomic/*.class > java/util/concurrent/atomic.list + +-include java/util/concurrent/atomic.deps + +java/util/concurrent/locks.list: $(java_util_concurrent_locks_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/concurrent/locks/*.class > java/util/concurrent/locks.list + +-include java/util/concurrent/locks.deps + java/util/jar.list: $(java_util_jar_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_jar_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/jar.list + echo $(srcdir)/classpath/lib/java/util/jar/*.class > java/util/jar.list -include java/util/jar.deps java/util/logging.list: $(java_util_logging_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_logging_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/logging.list + echo $(srcdir)/classpath/lib/java/util/logging/*.class > java/util/logging.list -include java/util/logging.deps java/util/prefs.list: $(java_util_prefs_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_prefs_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/prefs.list + echo $(srcdir)/classpath/lib/java/util/prefs/*.class > java/util/prefs.list -include java/util/prefs.deps java/util/regex.list: $(java_util_regex_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_regex_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/regex.list + echo $(srcdir)/classpath/lib/java/util/regex/*.class > java/util/regex.list -include java/util/regex.deps java/util/zip.list: $(java_util_zip_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_zip_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/zip.list + echo $(srcdir)/classpath/lib/java/util/zip/*.class > java/util/zip.list -include java/util/zip.deps javax/accessibility.list: $(javax_accessibility_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_accessibility_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/accessibility.list + echo $(srcdir)/classpath/lib/javax/accessibility/*.class > javax/accessibility.list -include javax/accessibility.deps javax/crypto.list: $(javax_crypto_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_crypto_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/crypto.list + echo $(srcdir)/classpath/lib/javax/crypto/*.class > javax/crypto.list -include javax/crypto.deps javax/crypto/interfaces.list: $(javax_crypto_interfaces_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_crypto_interfaces_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/crypto/interfaces.list + echo $(srcdir)/classpath/lib/javax/crypto/interfaces/*.class > javax/crypto/interfaces.list -include javax/crypto/interfaces.deps javax/crypto/spec.list: $(javax_crypto_spec_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_crypto_spec_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/crypto/spec.list + echo $(srcdir)/classpath/lib/javax/crypto/spec/*.class > javax/crypto/spec.list -include javax/crypto/spec.deps javax-imageio.lo: $(javax_imageio_source_files) - @find classpath/lib/javax/imageio -name '*.class' > javax-imageio.list + @find $(srcdir)/classpath/lib/javax/imageio -name '*.class' > javax-imageio.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-imageio.lo @javax-imageio.list @rm -f javax-imageio.list javax/management.list: $(javax_management_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_management_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/management.list + echo $(srcdir)/classpath/lib/javax/management/*.class > javax/management.list -include javax/management.deps +javax/management/loading.list: $(javax_management_loading_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/javax/management/loading/*.class > javax/management/loading.list + +-include javax/management/loading.deps + javax/management/openmbean.list: $(javax_management_openmbean_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_management_openmbean_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/management/openmbean.list + echo $(srcdir)/classpath/lib/javax/management/openmbean/*.class > javax/management/openmbean.list -include javax/management/openmbean.deps javax/naming.list: $(javax_naming_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming.list + echo $(srcdir)/classpath/lib/javax/naming/*.class > javax/naming.list -include javax/naming.deps javax/naming/directory.list: $(javax_naming_directory_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_directory_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/directory.list + echo $(srcdir)/classpath/lib/javax/naming/directory/*.class > javax/naming/directory.list -include javax/naming/directory.deps javax/naming/event.list: $(javax_naming_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/event.list + echo $(srcdir)/classpath/lib/javax/naming/event/*.class > javax/naming/event.list -include javax/naming/event.deps javax/naming/ldap.list: $(javax_naming_ldap_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_ldap_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/ldap.list + echo $(srcdir)/classpath/lib/javax/naming/ldap/*.class > javax/naming/ldap.list -include javax/naming/ldap.deps javax/naming/spi.list: $(javax_naming_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/spi.list + echo $(srcdir)/classpath/lib/javax/naming/spi/*.class > javax/naming/spi.list -include javax/naming/spi.deps javax/net.list: $(javax_net_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_net_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/net.list + echo $(srcdir)/classpath/lib/javax/net/*.class > javax/net.list -include javax/net.deps javax/net/ssl.list: $(javax_net_ssl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_net_ssl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/net/ssl.list + echo $(srcdir)/classpath/lib/javax/net/ssl/*.class > javax/net/ssl.list -include javax/net/ssl.deps javax/print.list: $(javax_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print.list + echo $(srcdir)/classpath/lib/javax/print/*.class > javax/print.list -include javax/print.deps javax/print/attribute.list: $(javax_print_attribute_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_attribute_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print/attribute.list + echo $(srcdir)/classpath/lib/javax/print/attribute/*.class > javax/print/attribute.list -include javax/print/attribute.deps javax/print/attribute/standard.list: $(javax_print_attribute_standard_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_attribute_standard_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print/attribute/standard.list + echo $(srcdir)/classpath/lib/javax/print/attribute/standard/*.class > javax/print/attribute/standard.list -include javax/print/attribute/standard.deps javax/print/event.list: $(javax_print_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print/event.list + echo $(srcdir)/classpath/lib/javax/print/event/*.class > javax/print/event.list -include javax/print/event.deps javax-rmi.lo: $(javax_rmi_source_files) - @find classpath/lib/javax/rmi -name '*.class' > javax-rmi.list + @find $(srcdir)/classpath/lib/javax/rmi -name '*.class' > javax-rmi.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-rmi.lo @javax-rmi.list @rm -f javax-rmi.list javax/security/auth.list: $(javax_security_auth_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth.list + echo $(srcdir)/classpath/lib/javax/security/auth/*.class > javax/security/auth.list -include javax/security/auth.deps javax/security/auth/callback.list: $(javax_security_auth_callback_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_callback_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/callback.list + echo $(srcdir)/classpath/lib/javax/security/auth/callback/*.class > javax/security/auth/callback.list -include javax/security/auth/callback.deps javax/security/auth/kerberos.list: $(javax_security_auth_kerberos_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_kerberos_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/kerberos.list + echo $(srcdir)/classpath/lib/javax/security/auth/kerberos/*.class > javax/security/auth/kerberos.list -include javax/security/auth/kerberos.deps javax/security/auth/login.list: $(javax_security_auth_login_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_login_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/login.list + echo $(srcdir)/classpath/lib/javax/security/auth/login/*.class > javax/security/auth/login.list -include javax/security/auth/login.deps javax/security/auth/spi.list: $(javax_security_auth_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/spi.list + echo $(srcdir)/classpath/lib/javax/security/auth/spi/*.class > javax/security/auth/spi.list -include javax/security/auth/spi.deps javax/security/auth/x500.list: $(javax_security_auth_x500_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_x500_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/x500.list + echo $(srcdir)/classpath/lib/javax/security/auth/x500/*.class > javax/security/auth/x500.list -include javax/security/auth/x500.deps javax/security/cert.list: $(javax_security_cert_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_cert_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/cert.list + echo $(srcdir)/classpath/lib/javax/security/cert/*.class > javax/security/cert.list -include javax/security/cert.deps javax/security/sasl.list: $(javax_security_sasl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_sasl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/sasl.list + echo $(srcdir)/classpath/lib/javax/security/sasl/*.class > javax/security/sasl.list -include javax/security/sasl.deps javax/sound/midi.list: $(javax_sound_midi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_midi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/midi.list + echo $(srcdir)/classpath/lib/javax/sound/midi/*.class > javax/sound/midi.list -include javax/sound/midi.deps javax/sound/midi/spi.list: $(javax_sound_midi_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_midi_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/midi/spi.list + echo $(srcdir)/classpath/lib/javax/sound/midi/spi/*.class > javax/sound/midi/spi.list -include javax/sound/midi/spi.deps javax/sound/sampled.list: $(javax_sound_sampled_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_sampled_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/sampled.list + echo $(srcdir)/classpath/lib/javax/sound/sampled/*.class > javax/sound/sampled.list -include javax/sound/sampled.deps javax/sound/sampled/spi.list: $(javax_sound_sampled_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_sampled_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/sampled/spi.list + echo $(srcdir)/classpath/lib/javax/sound/sampled/spi/*.class > javax/sound/sampled/spi.list -include javax/sound/sampled/spi.deps javax/sql.list: $(javax_sql_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sql_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sql.list + echo $(srcdir)/classpath/lib/javax/sql/*.class > javax/sql.list -include javax/sql.deps javax/swing.list: $(javax_swing_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing.list + echo $(srcdir)/classpath/lib/javax/swing/*.class > javax/swing.list -include javax/swing.deps javax/swing/border.list: $(javax_swing_border_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_border_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/border.list + echo $(srcdir)/classpath/lib/javax/swing/border/*.class > javax/swing/border.list -include javax/swing/border.deps javax/swing/colorchooser.list: $(javax_swing_colorchooser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_colorchooser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/colorchooser.list + echo $(srcdir)/classpath/lib/javax/swing/colorchooser/*.class > javax/swing/colorchooser.list -include javax/swing/colorchooser.deps javax/swing/event.list: $(javax_swing_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/event.list + echo $(srcdir)/classpath/lib/javax/swing/event/*.class > javax/swing/event.list -include javax/swing/event.deps javax/swing/filechooser.list: $(javax_swing_filechooser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_filechooser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/filechooser.list + echo $(srcdir)/classpath/lib/javax/swing/filechooser/*.class > javax/swing/filechooser.list -include javax/swing/filechooser.deps javax/swing/plaf.list: $(javax_swing_plaf_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/*.class > javax/swing/plaf.list -include javax/swing/plaf.deps javax/swing/plaf/basic.list: $(javax_swing_plaf_basic_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_basic_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/basic.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/basic/*.class > javax/swing/plaf/basic.list -include javax/swing/plaf/basic.deps javax/swing/plaf/metal.list: $(javax_swing_plaf_metal_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_metal_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/metal.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/metal/*.class > javax/swing/plaf/metal.list -include javax/swing/plaf/metal.deps javax/swing/plaf/multi.list: $(javax_swing_plaf_multi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_multi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/multi.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/multi/*.class > javax/swing/plaf/multi.list -include javax/swing/plaf/multi.deps javax/swing/plaf/synth.list: $(javax_swing_plaf_synth_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_synth_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/synth.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/synth/*.class > javax/swing/plaf/synth.list -include javax/swing/plaf/synth.deps javax/swing/table.list: $(javax_swing_table_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_table_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/table.list + echo $(srcdir)/classpath/lib/javax/swing/table/*.class > javax/swing/table.list -include javax/swing/table.deps javax/swing/text.list: $(javax_swing_text_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text.list + echo $(srcdir)/classpath/lib/javax/swing/text/*.class > javax/swing/text.list -include javax/swing/text.deps javax/swing/text/html.list: $(javax_swing_text_html_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_html_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text/html.list + echo $(srcdir)/classpath/lib/javax/swing/text/html/*.class > javax/swing/text/html.list -include javax/swing/text/html.deps javax/swing/text/html/parser.list: $(javax_swing_text_html_parser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_html_parser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text/html/parser.list + echo $(srcdir)/classpath/lib/javax/swing/text/html/parser/*.class > javax/swing/text/html/parser.list -include javax/swing/text/html/parser.deps javax/swing/text/rtf.list: $(javax_swing_text_rtf_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_rtf_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text/rtf.list + echo $(srcdir)/classpath/lib/javax/swing/text/rtf/*.class > javax/swing/text/rtf.list -include javax/swing/text/rtf.deps javax/swing/tree.list: $(javax_swing_tree_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_tree_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/tree.list + echo $(srcdir)/classpath/lib/javax/swing/tree/*.class > javax/swing/tree.list -include javax/swing/tree.deps javax/swing/undo.list: $(javax_swing_undo_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_undo_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/undo.list + echo $(srcdir)/classpath/lib/javax/swing/undo/*.class > javax/swing/undo.list -include javax/swing/undo.deps javax/transaction.list: $(javax_transaction_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_transaction_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/transaction.list + echo $(srcdir)/classpath/lib/javax/transaction/*.class > javax/transaction.list -include javax/transaction.deps javax/transaction/xa.list: $(javax_transaction_xa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_transaction_xa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/transaction/xa.list + echo $(srcdir)/classpath/lib/javax/transaction/xa/*.class > javax/transaction/xa.list -include javax/transaction/xa.deps javax-xml.lo: $(javax_xml_source_files) - @find classpath/lib/javax/xml -name '*.class' > javax-xml.list + @find $(srcdir)/classpath/lib/javax/xml -name '*.class' > javax-xml.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-xml.lo @javax-xml.list @rm -f javax-xml.list org/ietf/jgss.list: $(org_ietf_jgss_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(org_ietf_jgss_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > org/ietf/jgss.list + echo $(srcdir)/classpath/lib/org/ietf/jgss/*.class > org/ietf/jgss.list -include org/ietf/jgss.deps org-omg.lo: $(org_omg_source_files) - @find classpath/lib/org/omg -name '*.class' > org-omg.list + @find $(srcdir)/classpath/lib/org/omg -name '*.class' > org-omg.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-omg.lo @org-omg.list @rm -f org-omg.list org-relaxng.lo: $(org_relaxng_source_files) - @find classpath/lib/org/relaxng -name '*.class' > org-relaxng.list + @find $(srcdir)/classpath/lib/org/relaxng -name '*.class' > org-relaxng.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-relaxng.lo @org-relaxng.list @rm -f org-relaxng.list org-w3c.lo: $(org_w3c_source_files) - @find classpath/lib/org/w3c -name '*.class' > org-w3c.list + @find $(srcdir)/classpath/lib/org/w3c -name '*.class' > org-w3c.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-w3c.lo @org-w3c.list @rm -f org-w3c.list org-xml.lo: $(org_xml_source_files) - @find classpath/lib/org/xml -name '*.class' > org-xml.list + @find $(srcdir)/classpath/lib/org/xml -name '*.class' > org-xml.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-xml.lo @org-xml.list @rm -f org-xml.list -$(generic_header_files): %.h: classpath/lib/%.class - name=`echo $< | sed -e 's/\.class$$//' -e 's,classpath/lib/,,'`; \ - $(mkinstalldirs) `dirname $$name`; \ - $(GCJH) -d . -classpath '' -bootclasspath classpath/lib $$name - -java/lang/ClassLoader.h: classpath/lib/java/lang/ClassLoader.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \ - -prepend 'void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar);' \ - -friend 'jclass (::_Jv_FindClass) (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \ - -friend 'void ::_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar);' \ - java/lang/ClassLoader - -java/lang/Thread.h: classpath/lib/java/lang/Thread.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'class _Jv_JNIEnv;' \ - -prepend 'class _Jv_Thread_t;' \ - -prepend '#define _JV_NOT_OWNER 1' \ - -prepend '#define _JV_INTERRUPTED 2' \ - -prepend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \ - -prepend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \ - -prepend 'void _Jv_ThreadRun (java::lang::Thread* thread);' \ - -prepend 'jint _Jv_AttachCurrentThread(java::lang::Thread* thread);' \ - -prepend 'java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);' \ - -prepend 'java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);' \ - -prepend 'jint _Jv_DetachCurrentThread ();' \ - -prepend '_Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread);' \ - -friend '_Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv ();' \ - -friend 'void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \ - -friend 'void ::_Jv_ThreadRun (java::lang::Thread* thread);' \ - -friend 'jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread);' \ - -friend 'java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group);' \ - -friend 'java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group);' \ - -friend 'jint (::_Jv_DetachCurrentThread) ();' \ - -friend '_Jv_Thread_t* ::_Jv_ThreadGetData (java::lang::Thread* thread);' \ - java/lang/Thread - -java/lang/String.h: classpath/lib/java/lang/String.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jchar* _Jv_GetStringChars (jstring str);' \ - -prepend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \ - -prepend 'jstring* _Jv_StringGetSlot (jstring);' \ - -prepend 'jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str);' \ - -prepend 'jstring _Jv_NewStringLatin1 (const char*, jsize);' \ - -prepend 'jstring _Jv_AllocString (jsize);' \ - -friend 'jchar* ::_Jv_GetStringChars (jstring str);' \ - -friend 'jstring* ::_Jv_StringFindSlot (jchar*, jint, jint);' \ - -friend 'jstring* ::_Jv_StringGetSlot (jstring);' \ - -friend 'jstring (::_Jv_NewStringUtf8Const) (_Jv_Utf8Const* str);' \ - -friend 'jstring (::_Jv_NewStringLatin1) (const char*, jsize);' \ - -friend 'jstring (::_Jv_AllocString) (jsize);' \ - java/lang/String - -java/lang/reflect/Constructor.h: classpath/lib/java/lang/reflect/Constructor.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *);' \ - -prepend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'jmethodID (::_Jv_FromReflectedConstructor) (java::lang::reflect::Constructor *);' \ - -friend 'jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'class java::lang::Class;' \ - java/lang/reflect/Constructor - -java/lang/reflect/Field.h: classpath/lib/java/lang/reflect/Field.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \ - -prepend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);' \ - -friend 'jfieldID (::_Jv_FromReflectedField) (java::lang::reflect::Field *);' \ - -friend 'jobject (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean);' \ - -friend 'class java::lang::Class;' \ - java/lang/reflect/Field - -java/lang/reflect/Method.h: classpath/lib/java/lang/reflect/Method.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -prepend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \ - -prepend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'jmethodID (::_Jv_FromReflectedMethod) (java::lang::reflect::Method *);' \ - -friend 'jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \ - -friend 'class java::lang::Class;' \ - -friend 'class java::io::ObjectInputStream;' \ - java/lang/reflect/Method - -java/lang/reflect/Proxy.h: classpath/lib/java/lang/reflect/Proxy.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - java/lang/reflect/Proxy - -java/lang/reflect/Proxy$$ProxyData.h: classpath/lib/java/lang/reflect/Proxy.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/lang/reflect/Proxy$$ProxyData' - -java/lang/reflect/Proxy$$ProxyType.h: classpath/lib/java/lang/reflect/Proxy.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/lang/reflect/Proxy$$ProxyType' - -gnu/gcj/runtime/ExtensionClassLoader.h: classpath/lib/gnu/gcj/runtime/ExtensionClassLoader.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - -friend 'class ::java::lang::ClassLoader;' \ - gnu/gcj/runtime/ExtensionClassLoader - -java/io/ObjectInputStream$$GetField.h: classpath/lib/java/io/ObjectInputStream.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/io/ObjectInputStream$$GetField' - -java/io/ObjectOutputStream$$PutField.h: classpath/lib/java/io/ObjectOutputStream.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/io/ObjectOutputStream$$PutField' - -java/nio/DirectByteBufferImpl$$ReadWrite.h: classpath/lib/java/nio/DirectByteBufferImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/nio/DirectByteBufferImpl$$ReadWrite' - -java/nio/channels/Pipe$$SinkChannel.h: classpath/lib/java/nio/channels/Pipe.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/nio/channels/Pipe$$SinkChannel' - -java/nio/channels/Pipe$$SourceChannel.h: classpath/lib/java/nio/channels/Pipe.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/nio/channels/Pipe$$SourceChannel' - -gnu/java/net/PlainSocketImpl$$SocketInputStream.h: classpath/lib/gnu/java/net/PlainSocketImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/net/PlainSocketImpl$$SocketInputStream' - -gnu/java/net/PlainSocketImpl$$SocketOutputStream.h: classpath/lib/gnu/java/net/PlainSocketImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/net/PlainSocketImpl$$SocketOutputStream' - -gnu/java/nio/PipeImpl$$SinkChannelImpl.h: classpath/lib/gnu/java/nio/PipeImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/nio/PipeImpl$$SinkChannelImpl' - -gnu/java/nio/PipeImpl$$SourceChannelImpl.h: classpath/lib/gnu/java/nio/PipeImpl.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'gnu/java/nio/PipeImpl$$SourceChannelImpl' - -java/lang/ConcreteProcess$$ProcessManager.h: classpath/lib/java/lang/ConcreteProcess.class - $(GCJH) -classpath '' -bootclasspath classpath/lib \ - 'java/lang/ConcreteProcess$$ProcessManager' +sun/misc.list: $(sun_misc_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/misc/*.class > sun/misc.list + +-include sun/misc.deps + +sun/reflect.list: $(sun_reflect_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/reflect/*.class > sun/reflect.list + +-include sun/reflect.deps + +sun/reflect/annotation.list: $(sun_reflect_annotation_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/reflect/annotation/*.class > sun/reflect/annotation.list + +-include sun/reflect/annotation.deps + +sun/reflect/misc.list: $(sun_reflect_misc_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/reflect/misc/*.class > sun/reflect/misc.list + +-include sun/reflect/misc.deps + +java/process-Ecos.list: java/lang/EcosProcess.java + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/lang/EcosProcess*.class > java/process-Ecos.list + +-include java/process-Ecos.deps + +java/process-Win32.list: java/lang/Win32Process.java + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/lang/Win32Process*.class > java/process-Win32.list + +-include java/process-Win32.deps + +java/process-Posix.list: java/lang/PosixProcess.java + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/lang/PosixProcess*.class > java/process-Posix.list + +-include java/process-Posix.deps + +$(generic_header_files): gcjh.stamp + +gcjh.stamp: classpath/lib/compile-classes +@JAVA_MAINTAINER_MODE_TRUE@ $(MYGCJH) --cni --all $(srcdir)/classpath/lib \ +@JAVA_MAINTAINER_MODE_TRUE@ --cmdfile=$(srcdir)/headers.txt -d $(srcdir) --force + echo > gcjh.stamp $(extra_headers) $(srcdir)/java/lang/Object.h $(srcdir)/java/lang/Class.h: @: -@USE_LIBGCJ_BC_TRUE@install-exec-hook: install-toolexeclibLTLIBRARIES +install-exec-hook: install-toolexeclibLTLIBRARIES install-libexecsubPROGRAMS @USE_LIBGCJ_BC_TRUE@ @echo Installing dummy lib libgcj_bc.so.1.0.0; \ -@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ -@USE_LIBGCJ_BC_TRUE@ mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \ +@USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.so; \ +@USE_LIBGCJ_BC_TRUE@ mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \ @USE_LIBGCJ_BC_TRUE@ $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \ -@USE_LIBGCJ_BC_TRUE@ -o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \ -@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \ -@USE_LIBGCJ_BC_TRUE@ $(LN_S) libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \ -@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.la; +@USE_LIBGCJ_BC_TRUE@ -o $(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \ +@USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.so.1; \ +@USE_LIBGCJ_BC_TRUE@ $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \ +@USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.la; +@BUILD_ECJ1_TRUE@@NATIVE_TRUE@ mv $(DESTDIR)$(libexecsubdir)/ecjx$(EXEEXT) $(DESTDIR)$(libexecsubdir)/ecj1$(host_exeext) +@BUILD_ECJ1_TRUE@@NATIVE_FALSE@ mv $(DESTDIR)$(libexecsubdir)/$(target_noncanonical)-ecjx$(EXEEXT) $(DESTDIR)$(libexecsubdir)/ecj1$(host_exeext) install-data-local: $(PRE_INSTALL) @@ -11809,16 +11554,16 @@ install-data-local: $(INSTALL_DATA) $$p $(DESTDIR)$(gxx_include_dir)/$$f; \ done -@rm -f tmp-ilist - $(INSTALL_DATA) 'java/io/ObjectOutputStream$$PutField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ - $(INSTALL_DATA) 'java/io/ObjectInputStream$$GetField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ - $(INSTALL_DATA) 'java/nio/channels/Pipe$$SinkChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ - $(INSTALL_DATA) 'java/nio/channels/Pipe$$SourceChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ - $(INSTALL_DATA) 'java/lang/reflect/Proxy$$ProxyData.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ - $(INSTALL_DATA) 'java/lang/reflect/Proxy$$ProxyType.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ - $(INSTALL_DATA) 'gnu/java/net/PlainSocketImpl$$SocketInputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ - $(INSTALL_DATA) 'gnu/java/net/PlainSocketImpl$$SocketOutputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ - $(INSTALL_DATA) 'gnu/java/nio/PipeImpl$$SinkChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ - $(INSTALL_DATA) 'gnu/java/nio/PipeImpl$$SourceChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ + $(INSTALL_DATA) $(srcdir)/'java/io/ObjectOutputStream$$PutField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ + $(INSTALL_DATA) $(srcdir)/'java/io/ObjectInputStream$$GetField.h' $(DESTDIR)$(gxx_include_dir)/java/io/ + $(INSTALL_DATA) $(srcdir)/'java/nio/channels/Pipe$$SinkChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ + $(INSTALL_DATA) $(srcdir)/'java/nio/channels/Pipe$$SourceChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/ + $(INSTALL_DATA) $(srcdir)/'java/lang/reflect/Proxy$$ProxyData.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ + $(INSTALL_DATA) $(srcdir)/'java/lang/reflect/Proxy$$ProxyType.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/net/PlainSocketImpl$$SocketInputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/net/PlainSocketImpl$$SocketOutputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SinkChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ + $(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SourceChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/ maintainer-check: libgcj.la $(NM) .libs/libgcj.a | grep ' T ' \ @@ -11892,12 +11637,33 @@ src.zip: here=`pwd`; \ ( \ ( cd $(srcdir)/classpath; \ - find java gnu javax org -name '*.java' -print | \ + find java gnu javax org sun -name '*.java' -print | \ while read file; do \ echo "x-C" | sed -e 's/^.//'; \ echo $(srcdir)/classpath; \ echo $$file; \ done ); \ + ( cd $(srcdir)/classpath/external/sax; \ + find org -name '*.java' -print | \ + while read file; do \ + echo "x-C" | sed -e 's/^.//'; \ + echo $(srcdir)/classpath/external/sax; \ + echo $$file; \ + done ); \ + ( cd $(srcdir)/classpath/external/relaxngDatatype; \ + find org -name '*.java' -print | \ + while read file; do \ + echo "x-C" | sed -e 's/^.//'; \ + echo $(srcdir)/classpath/external/relaxngDatatype; \ + echo $$file; \ + done ); \ + ( cd $(srcdir)/classpath/external/w3c_dom; \ + find org -name '*.java' -print | \ + while read file; do \ + echo "x-C" | sed -e 's/^.//'; \ + echo $(srcdir)/classpath/external/w3c_dom; \ + echo $$file; \ + done ); \ ( cd classpath; \ find gnu java -name '*.java' -print | \ while read file; do \ diff --git a/libjava/boehm.cc b/libjava/boehm.cc index 2e382959ee4..19d7e53133e 100644 --- a/libjava/boehm.cc +++ b/libjava/boehm.cc @@ -168,6 +168,9 @@ _Jv_MarkObj (void *addr, void *msp, void *msl, void *env) p = (GC_PTR) c->aux_info; MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c); + p = (GC_PTR) c->reflection_data; + MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c); + // The class chain must be marked for runtime-allocated Classes // loaded by the bootstrap ClassLoader. p = (GC_PTR) c->next_or_version; diff --git a/libjava/classpath/.cdtproject b/libjava/classpath/.cdtproject new file mode 100644 index 00000000000..2ec939f28d9 --- /dev/null +++ b/libjava/classpath/.cdtproject @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libjava/classpath/.classpath b/libjava/classpath/.classpath new file mode 100644 index 00000000000..ec7cfd1755f --- /dev/null +++ b/libjava/classpath/.classpath @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/libjava/classpath/.cvsignore b/libjava/classpath/.cvsignore new file mode 100644 index 00000000000..422f3b45527 --- /dev/null +++ b/libjava/classpath/.cvsignore @@ -0,0 +1,18 @@ +aclocal.m4 +compile +configure +config.guess +config.log +config.cache +config.status +config.sub +config.h.in +config.h +libtool +ltmain.sh +Makefile +Makefile.in +stamp-h +stamp-h.in +autom4te*.cache +install diff --git a/libjava/classpath/.externalToolBuilders/Autogen.launch b/libjava/classpath/.externalToolBuilders/Autogen.launch new file mode 100644 index 00000000000..a6051b111c3 --- /dev/null +++ b/libjava/classpath/.externalToolBuilders/Autogen.launch @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/libjava/classpath/.externalToolBuilders/ClasspathHeaders.launch b/libjava/classpath/.externalToolBuilders/ClasspathHeaders.launch new file mode 100644 index 00000000000..0c8481719eb --- /dev/null +++ b/libjava/classpath/.externalToolBuilders/ClasspathHeaders.launch @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/libjava/classpath/.externalToolBuilders/ClasspathJar.launch b/libjava/classpath/.externalToolBuilders/ClasspathJar.launch new file mode 100644 index 00000000000..269e62c0e63 --- /dev/null +++ b/libjava/classpath/.externalToolBuilders/ClasspathJar.launch @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/libjava/classpath/.externalToolBuilders/CompileNative.launch b/libjava/classpath/.externalToolBuilders/CompileNative.launch new file mode 100644 index 00000000000..c6a6b9f06a9 --- /dev/null +++ b/libjava/classpath/.externalToolBuilders/CompileNative.launch @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/libjava/classpath/.externalToolBuilders/Configure.launch b/libjava/classpath/.externalToolBuilders/Configure.launch new file mode 100644 index 00000000000..d2347ae8428 --- /dev/null +++ b/libjava/classpath/.externalToolBuilders/Configure.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/libjava/classpath/.externalToolBuilders/CreateLocaleData.launch b/libjava/classpath/.externalToolBuilders/CreateLocaleData.launch new file mode 100644 index 00000000000..0610d24a561 --- /dev/null +++ b/libjava/classpath/.externalToolBuilders/CreateLocaleData.launch @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/libjava/classpath/.project b/libjava/classpath/.project new file mode 100644 index 00000000000..ebc689daf2f --- /dev/null +++ b/libjava/classpath/.project @@ -0,0 +1,77 @@ + + + classpath + + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + auto,full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/Autogen.launch + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + auto,full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/Configure.launch + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/CreateLocaleData.launch + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + auto,full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/ClasspathHeaders.launch + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + auto,full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/CompileNative.launch + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + auto,full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/ClasspathJar.launch + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/libjava/classpath/.settings/org.eclipse.jdt.core.prefs b/libjava/classpath/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..812e62a8400 --- /dev/null +++ b/libjava/classpath/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,243 @@ +#Tue Feb 07 05:21:36 EST 2006 +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line_shifted +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=18 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0 +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18 +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=17 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=17 +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_shifted +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.lineSplit=80 +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=18 +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=18 +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.blank_lines_before_package=2 +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=82 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18 +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18 +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=18 +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=insert +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false diff --git a/libjava/classpath/.settings/org.eclipse.jdt.ui.prefs b/libjava/classpath/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..e03780f20c3 --- /dev/null +++ b/libjava/classpath/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,12 @@ +#Tue Jan 11 17:36:31 MST 2005 +comment_format_source_code=true +comment_new_line_for_parameter=true +comment_format_html=true +comment_line_length=80 +comment_format_header=false +eclipse.preferences.version=1 +comment_indent_parameter_description=true +comment_format_comments=true +comment_separate_root_tags=true +comment_clear_blank_lines=true +comment_indent_root_tags=true diff --git a/libjava/classpath/AUTHORS b/libjava/classpath/AUTHORS index 5dd3eab469b..4efc086df61 100644 --- a/libjava/classpath/AUTHORS +++ b/libjava/classpath/AUTHORS @@ -9,6 +9,7 @@ Anthony Balkissoon (abalkiss@redhat.com) Stuart Ballard (stuart.a.ballard@gmail.com) Mark Benvenuto (mcb54@columbia.edu) Gary Benson (gbenson@redhat.com) +Tania Bento (tbento@redhat.com) Geoff Berry (gcb@gnu.org) James E. Blair (corvus@gnu.org) Eric Blake (ebb9@email.byu.edu) @@ -17,16 +18,19 @@ Chris Burdess (dog@gnu.org) David Daney (ddaney@avtrex.com) Nic Ferrier (nferrier@tapsellferrier.co.uk) Paul Fisher (rao@gnu.org) +Thomas Fitzsimmons (fitzsim@redhat.com) +Jeroen Frijters (jeroen@frijters.net) David Gilbert (david.gilbert@object-refinery.com) Anthony Green (green@redhat.com) Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.de) -Kazumitsu Ito (kaz@maczuka.gcd.org) Andrew John Hughes (gnu_andrew@member.fsf.org) +Kazumitsu Ito (kaz@maczuka.gcd.org) Olivier Jolly (olivier.jolly@pcedev.com) Brian Jones (cbj@gnu.org) -Roman Kennke (roman@kennke.org) -Michael Koch (konqueror@gmx.de) John Keiser (jkeiser@iname.com) +Roman Kennke (roman@kennke.org) +Michael Koch (konqueror@gmx.de) +Francis Kung (fkung@redhat.com) John Leuner (jewel@debian.org) Warren Levy (warrenl@cygnus.com) Sven de Marothy (sven@physto.se) @@ -37,6 +41,9 @@ Raif S. Naffah (raif@swiftdsl.com.au) Aaron M. Renn (arenn@urbanophile.com) Andrew Selkirk (aselkirk@sympatico.ca) Christian Thalinger (twisti@complang.tuwien.ac.at) +Andreas Tobler (a.tobler@schweiz.org) +Mario Torre (neugens@limasoftware.net) +Dalibor Topic (robilad@kaffe.org) Tom Tromey (tromey@cygnus.com) Ronald Veldema (rveldema@cs.vu.nl) Mark Wielaard (mark@klomp.org) diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 13eda590a7f..83de49090b6 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,50 +1,9047 @@ -2006-08-02 Sven de Marothy +2006-12-14 Andrew Haley + + * tools/gnu/classpath/tools/jar/Creator.java: Close the + inputStream. + +2006-10-12 Andrew Haley + + * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. + * java/lang/ThreadLocal.java: Likewise. + +2006-09-13 Andrew Haley + + * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java: + Revert previous gcj-specific disabling of checks. + * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java: + Likewise. + * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java: + Likewise. + +2006-09-13 Andrew Haley + + * java/util/PriorityQueue.java: Throw IllegalArgumentException for + capacity < 1. + (Iterator.remove()): Decrement index after removing element. + +2006-12-11 Jeroen Frijters + + * javax/net/ssl/SSLSocketFactory.java (getDefault): + Chain exception cause. + +2006-12-11 Roman Kennke + + * .classpath: Include ASM in Eclipse classpath. + +2006-12-11 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Trim strings of whitespace. + * javax/management/MBeanAttributeInfo.java: + (MBeanAttributeInfo(String,String,Method,Method)): + Use Class.getName() for normal (non-parameterized) cases. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String, Constructor)): + Likewise. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String, Method)): + Likewise. + +2006-12-11 Andrew John Hughes + + * java/lang/Class.java: + (getClasses()): Return Class[]. + (internalGetClasses()): Likewise. + (getConstructor(Class...)): Add type parameter + to parameters. + (getDeclaredConstructor(Class...)): Likewise. + (getDeclaredClasses()): Return Class[]. + (getDeclaredClasses(boolean)): Likewise. + (getDeclaredConstructors()): Return Constructor[]. + (getDeclaredConstructors(boolean)): Likewise. + (getDeclaredMethod(String,Class...)): Add type + parameter to parameters. + (getInterfaces()): Return Class[]. + (getMethods(String,Class...)): Add type + parameter to parameters. + * java/text/CollationKey.java: + Make non-final. + * java/text/DecimalFormatSymbols.java: + Likewise. + +2006-12-11 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Handle Map and List as + Strings of the form "java.util.Map" and + "java.util.List" + * javax/management/MBeanAttributeInfo.java: + (MBeanAttributeInfo(String,String,Method,Method)): + Use generic parameter and return types. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String, Constructor)): + Use generic parameter types. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String, Method)): + Use generic parameter and return types. + +2006-12-10 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Comment out code for using type + variables for Map and List. + * java/lang/Thread.java: + (Thread(ThreadGroup,Runnable,String,long)): Fix + incrementation of totalThreadsCreated to be prior to use. + +2006-12-10 Andrew John Hughes + + * javax/management/MBeanServerFactory.java: + (createMBeanServer(String)): Added security check. + (findMBeanServer(String)): Likewise. + (newMBeanServer(String)): Likewise. + (releaseMBeanServer(String)): Likewise. + * javax/management/MBeanServerPermission.java: + New file. + +2006-12-08 David Daney + + * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): + Fix comment. + +2006-12-08 David Daney + + * NEWS: Mention URLConnection.[get|set]ReadTimeout. + +2006-12-08 David Daney + + * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add + SocketException. + (HTTPConnection): Handle NumberFormatException in properties parsing. + (Pool.get): Set timeout on reused sockets. + * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort): + Initialize. + (HTTPURLConnection): Cleanup properties handling. + (getConnection): Use both connection and read timeouts. + (setConnectTimeout): Removed. + (setReadTimeout): New method. + * java/net/URLConnection.java (timeout): Renamed to... + (connectTimeout): ... connectTimeout throughout. + (readTimeout): New field. + (getReadTimeout): New method. + (setReadTimeout): New method. + +2006-12-08 Tania Bento + + * java/awt/ScrollPane.java + (doLayout): Change the location of the scrollpane's child + to (0, 0). + +2006-12-08 David Daney + + * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): + New method. + (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw + SocketTimeoutException if a blocking socket timesout. + (Java_gnu_java_nio_VMChannel_readScattering): Same. + (Java_gnu_java_nio_VMChannel_read__I): Same. + (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set. + (Java_gnu_java_nio_VMChannel_connect6): Same. + +2006-12-08 Mark Wielaard + + * configure.ac (VERSION): Set to 0.93-generics. + * NEWS: Add release date. + +2006-12-08 Tania Bento + + * java/awt/ScrollPane.java + (getScrollPosition): Throw NullPointerException if scrollpane + does have a child. + (setScrollPosition(int, int)): Throw NullPointerException if + scrollpane does have a child. Check that both ints are within + the allowed bounds; If they are not, scroll to the closest allowed + bound. + +2006-12-07 Roman Kennke + + * javax/swing/JEditorPane.java + (EditorKitMapping): New inner helper class. + (editorKits): New static field for caching editor kit instances. + (static_initiazer): Initialize static mappings here. + (createEditorKitForContentType): Try to use cached instance. + Use correct classloader for loading. + (getEditorKitClassNameForContentType): Make use of EditorKitMapping + class. + (getEditorKitForContentType): Store the fetched editor kit. + Fallback to createDefaultEditorKit(). + (init): Don't clean the static registry here. + (registerEditorKitForContentType(String,String,ClassLoader)): + Implemented. + (registerEditorKitForContentType(String,String)): Delegate to + the other version of this method with the thread's context + classloader. + +2006-12-07 Mark Wielaard + + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (setPage): Don't convert URL to String for setPage(). + +2006-12-07 Mark Wielaard + + * tools/Makefile.am (clean-local): Remove iasm and asm.lst. + +2006-12-07 Mark Wielaard + + * tools/Makefile.am: Explicitly define and use bootclasspath as + GLIBJ_BOOTCLASSPATH + +2006-12-07 Mark Wielaard + + * javax/swing/JEditorPane.java (createEditorKitForContentType): + Always load from system class loader. + +2006-12-07 Mark Wielaard + + * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New + private constructor. + (URL(URL,String,URLStreamHandler)): Call new constructor. + (URL(URL,String)): Likewise. + (URL(String)): Likewise. + +2006-12-07 Tom Tromey + + * NEWS: Mention ASM. + * INSTALL: Don't mention --with-asm. + * tools/external/README: New file. + * tools/toolwrapper.c (main): Don't use ASM_JAR. + * tools/gjavah.in: Don't use PATH_TO_ASM. + * tools/grmic.in: Likewise. + * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added + 'asm'. + (javah, rmic): Removed variables. + (bin_PROGRAMS): Updated. + (gappletviewer_CFLAGS): Don't define ASM_JAR. + (gjarsigner_CFLAGS): Likewise. + (gkeytool_CFLAGS): Likewise. + (gjar_CFLAGS): Likewise. + (gnative2ascii_CFLAGS): Likewise. + (gserialver_CFLAGS): Likewise. + (grmiregistry_CFLAGS): Likewise. + (gtnameserv_CFLAGS): Likewise. + (gorbd_CFLAGS): Likewise. + (grmid_CFLAGS): Likewise. + (gjavah_CFLAGS): Likewise. + (grmic_CFLAGS): Likewise. + (bin_SCRIPTS): Updated. + (TOOLS_JAVA_FILES): Updated. + ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files. + * configure.ac: Removed --with-asm. Always build gjavah. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: + New class. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (LoadActionListener): Call setPage() helper method. + (createContent): Register tweaked editor kit. For FormSubmitEvents + call submitForm(), otherwise setPage(). + (postData): Helper method for posting form data. + (setPage): Helper method for navigating to a new URL. + (submitForm): Helper method for submitting a form. + * examples/gnu/classpath/examples/swing/forms.html: + Added text/password fields and select boxes. + * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/FormView.java + (SubmitThread.postData): Implemented. + (SubmitThread.run): Pass data to postData(). + (actionPerformed): Reset form when reset button is activated. + (createComponent): Add support for select lists and comboboxes. + Don't set value of text and password fields here, this is done + now in HTMLDocument for consistency. + (getElementFormData): Add support for fetching form data from + select lists and comboboxes as well as textareas. + (getSelectData): New helper method. Fetches form data from + select boxes. + (getTextAreaData): New helper method. Fetches form data from + textareas. + (resetForm): New helper method. Resets the entire form. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.setModel): Initialize text and password + values here. Also, use the resetable special models. + Group radio buttons into ButtonGroup for exclusive selection. + (HTMLReader.FormTagAction): New class. Handles FORM tags. + (HTMLReader.buttonGroups): New field. + (HTMLReader.numOptions): New field. + (HTMLReader.option): New field. + (HTMLReader.selectModel): New field. + (HTMLReader.textAreaDocument): Make ResetablePlainDocument. + (HTMLReader.handleText): Handle OPTION text. + (HTMLReader.initTags): Map FORM tags to FormTagAction. + (HTMLReader.textAreaContent): Set initial content. + * javax/swing/text/html/Option.java + (Option): Make copy of attribute set. Initialize selected state. + (getValue): Fetch value from attribute set. + * javax/swing/text/html/ResetableModel.java: New interface. + * javax/swing/text/html/ResetablePlainDocument.java: New class. + Supports resetting the state. + * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. + * javax/swing/text/html/SelectComboBoxModel.java: Likewise. + * javax/swing/text/html/SelectListModel.java: Likewise. + +2006-12-06 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (appear): Adjust visibility here. + (setDotImpl): Don't adjust visibility here. + (moveDotImpl): Don't adjust visibility here. + +2006-12-06 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (Loader.run): Synchronize on the AsyncImage to avoid threading + issues. + (addObservers): Check for obs==null outside and synchronize on + this inside to avoid locking issues. + (checkImage): New helper method. + (notifyObservers): Check that the correct lock is held and + remove actual locking. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (checkImage): Added special handling for AsyncImages. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (getIcon): Made package private. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (hyperlinkUpdate): Convert URL to string. + +2006-12-06 Mark Wielaard + + * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify + null Observer. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/icons/back.png, + * examples/gnu/classpath/examples/icons/reload.png: + New icons for the HTML browser. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (history): New field. Manages the browsing history. + (HtmlDemo): Initialize history. + (createContent): Set location and add history. Add toolbar. + (createToolBar): New helper method. + (main): Make default size bigger. + * examples/gnu/classpath/examples/swing/frame1.html, + * examples/gnu/classpath/examples/swing/frame2.html, + * examples/gnu/classpath/examples/swing/frame3.html, + * examples/gnu/classpath/examples/swing/frame4.html, + * examples/gnu/classpath/examples/swing/frames.html, + * examples/gnu/classpath/examples/swing/tables.html: + New example pages. + * examples/gnu/classpath/examples/swing/welcome.html + Add a couple of links and new test pages. + +2006-12-06 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Buffer the stream for efficiency. + (setPage): Don't scroll the view at this point. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call RootView's setSize to get synchronization. + (RootView.setSize): Synchronize to prevent race in layout code. + * javax/swing/text/AbstractDocument.java + (notifyListeners): New field. + (fireChangedUpdate): Track notifyListener field. + (fireRemoveUpdate): Track notifyListener field. + (fireIndertUpdate): Track notifyListener field. + (writeLock): Check notifyListener and throw IllegalStateException. + * javax/swing/text/View.java + (preferenceChanged): Create local var for better thread safety and + more efficiency. + +2006-12-06 Thomas Fitzsimmons + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Check column index for invalid value. + (updateGrid): Check column index for invalid value. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/BlockView.java + (getAlignment): Align blocks horizontally by the superclass. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Replace equals comparison by == for efficiency. + Add mapping for misplaced tr, td and th tags. Include object mapping. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid early. + (gridValid): Initialize with false. + (create): Only create RowView and CellView for correctly placed + tags. Avoid unnecessary casts. + (getAlignment): Removed. + (replace): Invalidate grid early. + +2006-12-06 Francis Kung + + * java/awt/geom/RectangularShape.java + (getBounds): Remove empty rectangle check. + +2006-12-06 Ben Konrath + + Fixes PR 29853. + * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and + newValue are the same. + * gnu/xml/dom/DomNode.java: Set parent if null during mutation. + +2006-12-06 Tania Bento + + * javax/swing/border/CompoundBorder.java: + (isBorderOpaque): If inside border is null, return true if outside + border is opaque, false otherwise; if outside border is null, return + true if inside border is opaque, false otherwise; if inside or + outside border are both not null, then return true only if both the + inside and outside border are opaque, false otherwise. + +2006-12-06 Tania Bento + + * javax/swing/border/CompoundBorder.java: + (isBorderOpaque): If inside and outside border both have a null + value, return true. + +2006-12-06 Chris Burdess + + Fixes PR 29272. + * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. + * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. + +2006-12-06 Chris Burdess + + Fixes PR 29264. + * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in + writeDTD method. + +2006-12-06 Chris Burdess + + Fixes PR 28816. + * javax/xml/validation/SchemaFactory.java: Use correct algorithm to + discover schema factory implementation class. + +2006-12-05 Francis Kung + + * java/awt/BasicStroke.java + (capEnd): Prevent division by zero. + * java/awt/geom/Arc2D.java + (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. + (ArcIterator.currentSegment): Handle a negative extent. + +2006-12-05 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Handle translated subimages properly, ie, if the image's + 0,0 position is not the data buffer's first element. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (Loader.run): Nullify observers after loading. + (observers): Made package private. + (addObserver): Check for null observers field. Create local + variable for thread safety. + (getHeight): Use addObserver() for checking state of field + and notifying observer when necessary. + (getWidth): Use addObserver() for checking state of field + and notifying observer when necessary. + (getProperty): Use addObserver() for checking state of field + and notifying observer when necessary. + (notifyObservers): Check for null observers field. Create local + variable for thread safety. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed debug output. + * javax/swing/text/html/InlineView.java + (getBreakWeight): Likewise. + * javax/swing/text/html/StyleSheet.java + (addRule): Likewise. + (ListPainter.paint): Removed debug output. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/BlockView.java + (painter): Made package visible. + * javax/swing/text/html/StyleSheet.java + (translateBorder): New helper method. + (translateHTMLToCSS): Add mappings for border attributes. + * javax/swing/text/html/TableView.java + Made class subclass of BlockView to get CSS goodness. + (CellView.rowSpan): New field. + (CellView.setPropertiesFromAttributes): Fetch rowspan. + (RowView.overlap): New field. + (RowView.rowIndex): New field. + (RowView.layoutMajorAxis): Skip overlapping cells. + (RowView.layoutMinorAxis): Layout cells that span more than 1 row. + (numColumns): New field. + (tmpRect): New field. + (TableView): Initialize tmpRect. + (calculateColumnRequirements): Adjusted and fixed for multirows. + (getAlignment): Overridden to center tables. + (paint): Overridden to fix clipping. + (getStyleSheet): Made protected. + (layoutMajorAxis): Invalidate rows. + (setPropertiesFromAttributes): Made protected and call super. + (updateGrid): Update the overlapping information for multirows. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (addObserver): Check for null and ignore null observers. + (getWidth): Check for null and ignore null observers. + (getHeight): Check for null and ignore null observers. + (getProperty): Check for null and ignore null observers. + +2006-12-05 Francis Kung + + * java/awt/BasicStroke.java + (capEnd): Prevent division by zero. + * java/awt/geom/Arc2D.java + (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. + (ArcIterator.currentSegment): Handle a negative extent. + +2006-12-05 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Handle translated subimages properly, ie, if the image's + 0,0 position is not the data buffer's first element. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/ImageView.java + (imageUpdate): Use spans field to determine if the CSS width/height + are set. Call safePreferenceChanged to protect view structure + from threading issues. + (spans): Made package private. + (ImageView): Initialize loadOnDemand with false. + (loadImage): Call Toolkit.prepareImage() to make sure we have + our Observer registered. + (safePreferenceChanged): New helper method. Calls preferenceChanged + in a thread safe environment. + +2006-12-05 Roman Kennke + + * NEWS: Add entry about improved HTML support. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/ImageView.java + (ImageView): Initialize spans array here. + (setPropertiesFromAttributes): Moved init of spans array to + constructor. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/BlockView.java + (painter): Made package visible. + * javax/swing/text/html/StyleSheet.java + (translateBorder): New helper method. + (translateHTMLToCSS): Add mappings for border attributes. + * javax/swing/text/html/TableView.java + Made class subclass of BlockView to get CSS goodness. + (CellView.rowSpan): New field. + (CellView.setPropertiesFromAttributes): Fetch rowspan. + (RowView.overlap): New field. + (RowView.rowIndex): New field. + (RowView.layoutMajorAxis): Skip overlapping cells. + (RowView.layoutMinorAxis): Layout cells that span more than 1 row. + (numColumns): New field. + (tmpRect): New field. + (TableView): Initialize tmpRect. + (calculateColumnRequirements): Adjusted and fixed for multirows. + (getAlignment): Overridden to center tables. + (paint): Overridden to fix clipping. + (getStyleSheet): Made protected. + (layoutMajorAxis): Invalidate rows. + (setPropertiesFromAttributes): Made protected and call super. + (updateGrid): Update the overlapping information for multirows. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed debug output. + * javax/swing/text/html/InlineView.java + (getBreakWeight): Likewise. + * javax/swing/text/html/StyleSheet.java + (addRule): Likewise. + (ListPainter.paint): Removed debug output. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/BlockView.java + (getAlignment): Align blocks horizontally by the superclass. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Replace equals comparison by == for efficiency. + Add mapping for misplaced tr, td and th tags. Include object mapping. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid early. + (gridValid): Initialize with false. + (create): Only create RowView and CellView for correctly placed + tags. Avoid unnecessary casts. + (getAlignment): Removed. + (replace): Invalidate grid early. + + +2006-12-06 Roman Kennke + + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Check column index for invalid value. + (updateGrid): Check column index for invalid value. + +2006-12-06 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Buffer the stream for efficiency. + (setPage): Don't scroll the view at this point. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call RootView's setSize to get synchronization. + (RootView.setSize): Synchronize to prevent race in layout code. + * javax/swing/text/AbstractDocument.java + (notifyListeners): New field. + (fireChangedUpdate): Track notifyListener field. + (fireRemoveUpdate): Track notifyListener field. + (fireIndertUpdate): Track notifyListener field. + (writeLock): Check notifyListener and throw IllegalStateException. + * javax/swing/text/View.java + (preferenceChanged): Create local var for better thread safety and + more efficiency. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/icons/back.png, + * examples/gnu/classpath/examples/icons/reload.png: + New icons for the HTML browser. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (history): New field. Manages the browsing history. + (HtmlDemo): Initialize history. + (createContent): Set location and add history. Add toolbar. + (createToolBar): New helper method. + (main): Make default size bigger. + * examples/gnu/classpath/examples/swing/frame1.html, + * examples/gnu/classpath/examples/swing/frame2.html, + * examples/gnu/classpath/examples/swing/frame3.html, + * examples/gnu/classpath/examples/swing/frame4.html, + * examples/gnu/classpath/examples/swing/frames.html, + * examples/gnu/classpath/examples/swing/tables.html: + New example pages. + * examples/gnu/classpath/examples/swing/welcome.html + Add a couple of links and new test pages. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (getIcon): Made package private. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (hyperlinkUpdate): Convert URL to string. + +2006-12-06 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (appear): Adjust visibility here. + (setDotImpl): Don't adjust visibility here. + (moveDotImpl): Don't adjust visibility here. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/FormView.java + (SubmitThread.postData): Implemented. + (SubmitThread.run): Pass data to postData(). + (actionPerformed): Reset form when reset button is activated. + (createComponent): Add support for select lists and comboboxes. + Don't set value of text and password fields here, this is done + now in HTMLDocument for consistency. + (getElementFormData): Add support for fetching form data from + select lists and comboboxes as well as textareas. + (getSelectData): New helper method. Fetches form data from + select boxes. + (getTextAreaData): New helper method. Fetches form data from + textareas. + (resetForm): New helper method. Resets the entire form. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.setModel): Initialize text and password + values here. Also, use the resetable special models. + Group radio buttons into ButtonGroup for exclusive selection. + (HTMLReader.FormTagAction): New class. Handles FORM tags. + (HTMLReader.buttonGroups): New field. + (HTMLReader.numOptions): New field. + (HTMLReader.option): New field. + (HTMLReader.selectModel): New field. + (HTMLReader.textAreaDocument): Make ResetablePlainDocument. + (HTMLReader.handleText): Handle OPTION text. + (HTMLReader.initTags): Map FORM tags to FormTagAction. + (HTMLReader.textAreaContent): Set initial content. + * javax/swing/text/html/Option.java + (Option): Make copy of attribute set. Initialize selected state. + (getValue): Fetch value from attribute set. + * javax/swing/text/html/ResetableModel.java: New interface. + * javax/swing/text/html/ResetablePlainDocument.java: New class. + Supports resetting the state. + * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. + * javax/swing/text/html/SelectComboBoxModel.java: Likewise. + * javax/swing/text/html/SelectListModel.java: Likewise. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: + New class. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (LoadActionListener): Call setPage() helper method. + (createContent): Register tweaked editor kit. For FormSubmitEvents + call submitForm(), otherwise setPage(). + (postData): Helper method for posting form data. + (setPage): Helper method for navigating to a new URL. + (submitForm): Helper method for submitting a form. + * examples/gnu/classpath/examples/swing/forms.html: + Added text/password fields and select boxes. + * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. + +2006-12-07 Mark Wielaard + + * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New + private constructor. + (URL(URL,String,URLStreamHandler)): Call new constructor. + (URL(URL,String)): Likewise. + (URL(String)): Likewise. + +2006-12-07 Mark Wielaard + + * javax/swing/JEditorPane.java (createEditorKitForContentType): + Always load from system class loader. + +2006-12-06 Ben Konrath + + Fixes PR 29853. + * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and + newValue are the same. + * gnu/xml/dom/DomNode.java: Set parent if null during mutation. + +2006-12-06 Chris Burdess + + Fixes PR 29272. + * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. + * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. + +2006-12-06 Chris Burdess + + Fixes PR 29264. + * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in + writeDTD method. + +2006-12-056 Chris Burdess + + Fixes PR 28816. + * javax/xml/validation/SchemaFactory.java: Use correct algorithm to + discover schema factory implementation class. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports + asynchronous loading of images. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Fetch real image from possibly AsyncImage. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Fetch real image from possibly AsyncImage. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage(URL)): Create async image. + (imageOrError): Made method static for easy access from AsyncImage. + (prepareImage): For async images, register the observer to the + image. + +2006-12-05 Roman Kennke + + (paintComponent): Include paint area from event. + (updateComponent): Include paint area from event. + +2006-12-06 Thomas Fitzsimmons + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-04 Thomas Fitzsimmons + + * java/awt/Component.java (getFontImpl): Return a default font if + topmost parent's font is null. + +2006-12-04 Mark Wielaard + + * javax/swing/text/html/CSS.java (parseMarginShorthand): + Remove debug output. + +2006-12-04 Roman Kennke + + * java/awt/font/TextLayout.java + (hitTestChar): Fixed conditions for inclusion of range. + Use layout information in the run for more efficiency. + +2006-12-04 Roman Kennke + + * javax/swing/text/GlyphView.java + (J2DGlyphPainter): New inner class. + (checkPainter): For Java2D capable environments create + a J2DGlyphPainter. + +2006-12-04 Roman Kennke + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreeTypeGlyphVector): Don't filter control chars here. + (getGlyphs): Filter control chars and replace them by + hair space char. + +2006-12-04 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR. + +2006-12-04 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Don't assume the list uses "E", + just use the first and only type variable. + * java/lang/management/ManagementFactory.java: + (getPlatformMBeanServer()): Register logging bean. + * javax/management/openmbean/OpenType.java: + (OpenType(String,String,String)): Actually use + the string created to handle arrays. + +2006-12-04 Mark Wielaard + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (JCL_thread_interrupted): Use CallStaticBooleanMethod. + +2006-12-04 Mark Wielaard + + * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted): + Make static. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (JCL_thread_interrupted): Only take JNIEnv. + (vm_channel_class): New static variable. + (initID): Set vm_channel_class. + Wrap all reads() and writes() in do-while blocks that check + interrupted status. + +2006-12-04 Andrew John Hughes + + * gnu/javax/management/Server.java: + Make map final and initialise it. + (unregisterMBean(ObjectName)): Match against + delegate's object name and not the instance. + * java/lang/management/ManagementFactory.java: + Added constant fields. + (getPlatformMBeanServer()): Implemented. + * javax/management/MBeanServerFactory.java: New file. + +2006-12-04 Roman Kennke + + * javax/swing/text/BoxView.java + (paint): Replaced painting algorithm with more simple and more + reliable painting of the box. + * javax/swing/text/html/BlockView.java + (PositionInfo): New inner class. Stores additional CSS + positioning information. + (positionInfo): New field. + (BlockView): Initialize positionInfo field. + (fetchLayoutInfo): New helper method. Fetches additional + CSS positioning information. + (layoutMajorAxis): Perform additional CSS layout. + (layoutMinorAxis): Perform additional CSS layout. + (positionView): New helper method. + (replace): Overridden to fetch additional layout information. + * javax/swing/text/html/CSS.java + (Attribute.POSITION): New field. + (Attribute.LEFT): New field. + (Attribute.RIGHT): New field. + (Attribute.TOP): New field. + (Attribute.BOTTOM): New field. + (getValue): Create Length for left, right, top and bottom + attributes. + +2006-12-04 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (Sgml): Consume any whitespace that immediately follows + and sgml insertion. + (parseDocument): Consume any initial whitespace. + +2006-12-03 Mark Wielaard + + * gnu/javax/management/Server.java (beans): Initialize. + (registerMBean): Don't initialize beans. + +2006-12-03 Mark Wielaard + + * java/util/logging/LogManager.java (getLevelProperty): Check + whether value is null before passing to Level.parse(). + +2006-12-04 Robert Lougher + + * java/lang/management/ThreadInfo.java (ThreadInfo): Check + whether given a null lock and lockOwner. + +2006-12-03 Mark Wielaard + + * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream. + (PageLoader.page): Made package local. + (PageLoader.run): Don't reset loader. + (PageLoader.cancel): New method. + (loading): Renamed to loader. + (getPage): Return loader.page. + (setPage): Always set loader. Never reset to null. + +2006-12-03 Mark Wielaard + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether + path[k] is null. + (isLastChild): Return false when path is null. + +2006-12-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed + to currentPaintArea. + (paintComponent): Work with local reference to currentPaintArea. + (updateComponent): Likewise. + (coalescePaintEvent): Set currentPaintArea. + +2006-12-02 Andrew John Hughes + + * javax/management/MBeanServerBuilder.java: New file. + +2006-12-01 Mark Wielaard + + * java/text/DecimalFormat.java (parse): Always increment parsing + index and adjust pos result. + +2006-12-01 Roman Kennke + + * javax/swing/text/html/HTML.java + (Attribute.DYNAMIC_CLASS): New field. + (Attribute.PSEUDO_CLASS): New field. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Initialize anchor with link + pseudo attribute. + (updateSpecialClass): New helper method. Updates the dynamic + or pseudo class for anchor tags. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.lastAnchorElement): New field. For tracking + enter/exit of anchors. + (LinkController.activateLink): Set pseudo class to 'visited'. + (LinkController.mouseMoved): Added support for tracking + the 'hover' dynamic class. + * javax/swing/text/html/InlineView.java + (changedUpdate): Fetch new properties. + * javax/swing/text/html/StyleSheet.java + (attributeSetToMap): New helper method. + (getRule): Also append dynamic and pseudo class to key. + (resolveStyle): Resolve style based generally on all attributes. + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Make sure the grid is valid. + (updateGrid): Made package private. + * gnu/javax/swing/text/html/css/Selector.java + (calculateSpecificity): Added support for dynamic and pseudo classes. + (matches): Changed to operate on general attributes. + Added support for dynamic and pseudo classes. + +2006-12-01 Mario Torre + + * java/text/DecimalFormat.java (formatInternal): move the formatting of + fractional portion in a separate method. + Also fixes the handling of decimal separator and its associated field. + (handleFractionalPart): new method, needed to relax a bit + formatInternal. + +2006-12-01 Andrew John Hughes + + * java/beans/beancontext/BeanContextServicesSupport.java: + (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices, + Class)): Implemented. + (BCSSProxyServiceProvider.getService(BeanContextServices, Object, + Class, Object)): Implemented. + (BCSSProxyServiceProvider.releaseService(BeanContextServices, + Object, Object)): Implemented. + (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)): + Implemented. + (initialiseBeanContextResources()): Implemented. + (releaseBeanContextResoures()): Implemented. + +2006-12-01 Mark Wielaard + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated. + +2006-12-01 Roman Kennke + + * gnu/javax/swing/text/html/css/BorderStyle.java: New class for + handling border styles. + * gnu/javax/swing/text/html/css/BorderWidth.java + (isValid): New method. + * gnu/javax/swing/text/html/css/Length.java + (isValid): New method. + * javax/swing/text/html/CSS.java + (addInternal): Added shorthand parsing for border, padding and + margin. + (parseBackgroundShorthand): Added API docs. + (parsePaddingShorthand): New method. Handles padding shorthand + values. + (parseMarginShorthand): New method. Handles margin shorthand + values. + (parseBorderShorthand): New method. Handles border shorthand + values. + * javax/swing/text/html/StyleSheet.java + (translateHTMLToCSS): Set specific padding attributes. + (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here. + These shorthands are now handled in CSS. + (BoxPainter.paint): Exclude the outer margin. + +2006-12-01 Roman Kennke + + * gnu/javax/swing/text/html/css/Length.java + (emBase): New field. + (exBase): New field. + (isFontEMRelative): New field. + (isFontEXRelative): New field. + (Length): Recognize and setup EM and EX relative values. + (getValue): Handle EM and EX relative values. + (isEMRelative): New method. + (isEXRelative): New method. + (setEMBase): New method. + (setEXBase): New method. + (setFontBases): New method. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEmptyTag): Use new isBlock() helper method. + (_handleEndTag_remaining): Use new isBlock() helper method. + (_handleStartTag): Consume whitespace after block start tag. + (Comment): Consume whitespace after a comment. + (isBlock): New helper method. + (readAttributes): Consider all characters in unquoted attribute + values. + * javax/swing/text/html/BlockView.java + (layoutMinorAxis): Use cached span value. + (paint): Added debug code (commented out). + (setPropertiesFromAttributes): Set the EM and EX base on lengths. + * javax/swing/text/html/CSSBorder.java + (CSSBorder): Take StyleSheet as argument. Call getBorderWidth() + with stylesheet. + (getBorderWidth): Set the EM and EX base on the length values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ParagraphAction.end): Do not set the inParagraph field. + (HTMLReader.ParagraphAction.start): Do not set the inParagraph field. + (HTMLReader.inImpliedParagraph): Removed. + (HTMLReader.inParagraph): Removed. + (HTMLReader.parseStack): New field. + (HTMLReader.addContent): Use new paragraph handling. + (HTMLReader.addSpecialElement): Use new paragraph handling. + (HTMLReader.blockClose): Use new paragraph handling. + (HTMLReader.blockOpen): Use new paragraph handling. + (HTMLReader.inImpliedParagraph): New helper method. + (HTMLReader.inParagraph): New helper method. + * javax/swing/text/html/ImageView.java + (attributes): New field. Caches view attributes. + (spans): New field. Caches CSS spans. + (getAttributes): Correctly setup CSS view attributes. + (getPreferredSpan): Use caches spans. + (getStyleSheet): Use the view's getDocument() method. + (setPropertiesFromAttributes): Cache spans and setup EM and EX. + (updateSize): Use cached spans. + * javax/swing/text/html/ParagraphView.java + (setPropertiesFromAttributes): Setup EM and EX. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.BoxPainter): Setup EM and EX correctly. + (getEMBase): New helper method. + (getEXBase): New helper method. + * javax/swing/text/html/TableView.java + (width): New field. Caches the table width. + (calculateMinorAxisRequirements): Use caches span. + (setPropertiesFromAttributes): Cache span and setup EM/EX. + (updateGrid): Correctly setup EM/EX. + +2006-11-30 Roman Kennke + + * javax/swing/text/html/FormSubmitEvent.java: New class. + * javax/swing/text/html/FormView.java + (SubmitThread): New class for submitting data in a separate thread. + (actionPerformed): Fetch the actual for data. + (addData): New helper method. + (getElementFormData): New helper method. + (getFormData): New helper method. + (getInputFormData): New helper method. + (submitData): Implemented. + * javax/swing/text/html/FrameView.java + (createComponent): Add this as hyperlink listener. + Set the target document as frame document. + (getTopEditorPane): New helper method. + (hyperlinkUpdate): Implementation of the HyperlinkListener interface. + (handleHyperlinkEvent): New helper method. + (handleFormSubmitEvent): New helper method. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.BaseAction.start): Track the base target. + (HTMLReader.BaseAction.end): Removed. + (baseTarget): New field. + (frameDocument): New field. + (getBaseTarget): New property accessor. + (isFrameDocument): New property accessor. + (processHTMLFrameHyperlinkEvent): Implemented. + (setFrameDocument): New property accessor. + (updateFrame): New helper method. + (updateFrameSet): New helper method. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.createHyperlinkEvent): Handle frame documents. + (autoFormSubmission): New field. + (HTMLEditorKit): Set autoFormSubmission to true. + (isAutoFormSubmission): New property accessor. + (setAutoFormSubmission): New property accessor. + +2006-11-30 Roman Kennke + + * javax/swing/text/ElementIterator.java + (ElementRef): New inner class. + (currentDepth): Removed. + (currentElement): Removed. + (previousItem): Removed. + (stack): New field. Holds the iteration stack. + (state): Removed. + (ElementIterator(Document)): Removed init of removed fields. + (ElementIterator(Element)): Removed init of removed fields. + (current): Changed to stack based algorithm. + (deepestLeaf): New helper method. + (depth): Changed to stack based algorithm. + (first): Changed to stack based algorithm. + (next): Changed to stack based algorithm. + (previous): Changed to stack based algorithm. + +2006-11-30 Francis Kung + + * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4. + * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses. + +2006-11-30 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (draw): Set transform in buffered composite. + (drawComposite): Do not transform bounds; round bounds. + (drawGlyphVector): Set transform in buffered composite. + (drawRenderedImage): Set transform in buffered composite. + (fill): Set transform in buffered composite. + (updateBufferedImage): Fix scanline & height calculations. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Simplify width & height calculation. + (drawImage): Also transform width & height. + +2006-11-30 Roman Kennke + + * javax/swing/text/html/FrameSetView.java: New class. Implements + HTML framesets. + * javax/swing/text/html/FrameView.java: New class. Implements + HTML frames. + * javax/swing/text/html/HTMLDocument.java: + (HTMLReader.addSpecialElement): Only add one artificial space. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Uncomment code for FrameSetView and FrameView. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEmptyTag): Also consume whitespace after frame tags. + +2006-11-30 Gary Benson + + * java/lang/Thread.java: Javadoc fixes. + +2006-11-29 Tom Tromey + + PR classpath/28203: + * java/lang/Class.java (getAnnotations): Rewrote. + +2006-11-29 Tania Bento + + * tools/gnu/classpath/tools/appletviewer/TagParser.java: + (parseParams): Unescape 'val' before putting it into the Map. + (unescapeString): New private method. + +2006-11-29 Tom Tromey + + * tools/gnu/classpath/tools/getopt/package.html: New file. + +2006-11-29 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint, + (VerticalSliderThumbIcon.paintIcon()): Likewise. + +2006-11-29 Mario Torre + + * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign + with the default international currency sign \u00A4. + * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol + table for string formatting. + (formatInternal): likewise. + (scanNegativePattern): likewise. + (applyPattern): likewise. + * java/text/DecimalFormatSymbols.java (clone): Revert to old version as + Locale is immutable and does not need clone. + +2006-11-29 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawLine): Remove hard-coded pixel shifting. + +2006-11-29 Roman Kennke + + * java/awt/Component.java + (isShowing): Simplified condition code and avoid unnecessary + if-codepaths. + (coalesceEvents): Always coalesce paint events and let the peer + figure out the expanding of the repaint area. + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (currentPaintEvents): Removed. Replaced by paintArea. + (paintArea): New field. Tracks the dirty area. + (SwingComponentPeer): Removed init of currentPaintEvents. + (coalescePaintEvent): Simplified to only union the dirty regions. + (handleEvent): Paint dirty region that was tracked in paintArea. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (paintArea): New field. Tracks the dirty region. + (coalescePaintEvent): Implemented to track the dirty region. + (paintComponent): Use the dirty region in paintArea. Protect + state by putting the paint and dispose code in a try-finally. + (updateComponent): Use the dirty region in paintArea. Protect + state by putting the paint and dispose code in a try-finally. + +2006-11-29 Roman Kennke + + * java/awt/font/TextLayout.java + (getVisualHighlightShape): Removed debug output. + +2006-11-28 Andrew Haley + + * vm/reference/sun/reflect/misc/ReflectUtil.java + (checkPackageAccess): Implement. + +2006-11-28 Dalibor Topic + + * native/jni/java-lang/java_lang_VMDouble.c: + (parseDoubleFromChars) New function. Factored out from ... + (Java_java_lang_VMDouble_parseDouble): Factored out the parsing. + (dtoa_toString): New function. Factored out from ... + (Java_java_lang_VMDouble_toString) : Factored out the conversion. + Changed conversion mode to 2, as modes 0 and 1 don't round + as the API spec demands. Invoke conversion function as often + as necessary with growing precision until a reversible + representation of the double in form of a string is reached. + +2006-11-28 Roman Kennke + + * javax/swing/JComponent.java + (putClientProperty): Do not fire event when both old and new + value are == null. + +2006-11-27 Andrew John Hughes + + * java/lang/Enum.java: + Make name and ordinal final. + +2006-11-27 Casey Marshall + + * java/util/jar/JarEntry.java (certs): removed. + (jarfile): new field. + (getCertificates): read the certificates from the containing JarFile. + * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't + fill in 'certs,' fill in 'jarfile' for the entry. + (getEntry): likewise. + +2006-11-27 Francis Kung + + * java/awt/image/WritableRaster.java + (createChild): Implemented. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (TextLayout(TextLayout,int,int)): Also layout the new runs. + (getVisualHighlightShape): Implemented. + (layoutRuns): Fixed boundary so that the last run is also laid out. + (left): New helper method. + (right): New helper method. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (getCaretShape(TextHitInfo,Rectangle2D)): Implemented. + (getCaretShape(TextHitInfo)): Use natural bounds. + (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method. + (getCaretShapes(int,Rectangle2D)): Delegate to new method + above with DEFAULT_CARET_POLICY. + (getCaretShapes(int)): Use natural bounds. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (Run.font): New field. + (Run.location): New field. + (Run.Run): Initialize font. + (font): Removed field. This is moved into Run as the actual font + is something run-specific. + (TextLayout(String,Font,FontRenderContext)): Set font on the + single runs. Layout the runs here. + (TextLayout(TextLayout,int,int)): Copy over the run fonts. + (findRunAtIndex): New helper method. + (getCaretInfo): Implemented. + (layoutRuns): New helper method. + (toString): Don't put font in output string. + +2006-11-27 Raif S. Naffah + + * AUTHORS: Added Jeroen Fritjers. + +2006-11-27 neugens + + * java/text/DecimalFormat.java (formatInternal): Add an explicit test + for FieldPosition to be null. + Check if the factional part is just 0 and can be omitted from the + result. + (scanNegativePattern): Fixed index out of bound exception when searching + for international currency symbol in negative pattern. + +2006-11-27 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (readObject(ObjectInputStream)): Implemented. + (writeObject(ObjectOutputStream)): Likewise. + (BCSChild.getTargetChild()): Added. + (bcsPreDeserializationHook()): Implemented. + (bcsPreSerializationHook()): Likewise. + (childDeserializedHook(Object,BCSChild)): Likewise. + (isSerializing()): Likewise. + (readChildren(ObjectInputStream)): Likewise. + (writeChildren(ObjectOutputStream)): Likewise. + +2006-11-26 Roger Sayle eyesopen.com> + Ian Lance Taylor airs.com> + Paolo Bonzini gnu.org> + + Fixes bug #25557. + + * lib/gen-classlist.sh.in: Avoid using test's -ef operator for + increased portability. Likewise, use -f instead of -e. + +2006-11-26 Mark Wielaard + + * lib/Makefile.am (propertydirs): Removed. + (resources): Explicitly create all dirs. + +2006-11-26 Mark Wielaard + + * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket. + +2006-11-26 Dalibor Topic + + * native/target/.cvsignore, + native/target/generic/.cvsignore, + native/target/Linux/.cvsignore: + Removed no longer used files. + + * native/target: Removed no longer used directory. + +2006-11-26 Dalibor Topic + + Fixes bug #29133. + + * libraries/clib/nio/gnu_java_nio_VMSelector.c + (Java_gnu_java_nio_VMSelector_select): + Use strerror if strerror_r is not available. + + Reported by: Michael Franz , + Riccardo Mottola + +2006-11-26 Dalibor Topic + + Fixes bug #26756. + + * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed + STRICT_WARNING_CFLAGS since it caused the build to fail + on GNU/Linux. + +2006-11-26 Ian Rogers + + * doc/vmintegration.texinfo: Update VM Threading Model section. + +2006-11-26 Tom Tromey + + * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally + include ifaddrs.h. + (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated + conditional. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: + Conditionally include ifaddrs.h. + (getif_address): Updated conditional. + (getif_index): Likewise. + * configure.ac: Check for ifaddrs.h. + +2006-11-25 Mark Wielaard + + * java/io/File.java (list): Return empty list for unreadable dirs. + +2006-11-25 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): + Synchronize on font peer. + (setFont): Likewise. + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark + synchronized. + (getTextMetrics): Likewise. + +2006-11-25 Roman Kennke + + * javax/swing/text/GapContent.java + (getPositionsInRange): Rewritten to use the more efficient + binary search searchFirst() and avoid an NPE that was caused + by GC'ed positions. + +2006-11-25 Mark Wielaard + + * javax/swing/text/CompositeView.java (modelToView): Never return + null. + +2006-11-25 Mark Wielaard + + * javax/swing/text/html/TableView.java (calculateColumnRequirements): + Check whether rowView instanceof RowView. + (updateGrid): Likewise. + +2006-11-25 Mario Torre + + PR28462 + * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5. + * java/text/NumberFormat.java (format): all format methods, fixed + FieldPosition argument should never be null. + (format(Object, StringBuffer, FieldPosition)): fixed signature, + method is not final. + * java/text/DecimalFormatSymbols.java (clone): fixed to also clone + locale. + * AUTHORS: added my name to the file. + +2006-11-25 Mark Wielaard + + * javax/swing/text/html/StyleSheet.java (paint): Guard against + getChildAllocation() returning null. + +2006-11-25 Mark Wielaard + + * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity): + Use clazzIndex for id substring. + +2006-11-25 Mark Wielaard + + * java/awt/EventQueue.java (pop): Only terminate dispatchThread when + it is still running. + +2006-11-25 Mark Wielaard + + Fixes bug #28822 + * doc/api/Makefile.am (create_html): Guard GJDOC invocation with + CREATE_API_DOCS + +2006-11-24 Tania Bento + + * java/awt/font/TextHitInfo.java + (equals(TextHitInfo)): If TextHitInfo parameter is null, return false. + (beforeOffset): Decreased first parameter by 1. + +2006-11-24 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Check sample model when setting fastCM flag. + (updateBufferedImage): Check scanline and sample model offsets before + copying data directly into the image data buffer. + +2006-11-24 Francis Kung + + * gnu/java/awt/java2d/QuadSegment.java + (offsetSubdivided): Handle special straight-line cases. + +2006-11-24 Roman Kennke + + * java/awt/dnd/DropTarget.java + (DropTargetAutoScroller.HYSTERESIS): New constant. + (DropTargetAutoScroller.DELAY): New constant. + (DropTargetAutoScroller.inner): New field. A cached + Rectangle instance. + (DropTargetAutoScroller.outer): New field. A cached + Rectangle instance. + (DropTargetAutoScroller.timer): New field. The actual timer. + (DropTargetAutoScroller.DropTargetAutoScroller): + Initialize timer. + (DropTargetAutoScroller.actionPerformed): Implemented. + (DropTargetAutoScroller.stop): Implemented. + (DropTargetAutoScroller.updateLocation): Implemented. + (clearAutoscroll): Stop the autoscroller before nullifying it. + (createDropTargetAutoScroller): Don't set the field here, + only return a new instance. + (dragEnter): Only do something when active. Initialize + auto scrolling. + (dragExit): Only do something when active. Stop auto scrolling. + (dragOver): Only do something when active. Update auto scrolling. + (drop): Only do something when active. Update auto scrolling. + (dropActionChanged): Only do something when active. Update + auto scrolling. + (initializeAutoScrolling): Check if component is an instance + of Autoscroll, otherwise do nothing. + (setActive): Disable autoscrolling when deactivating. + (setComponent): When component is set to null, disable autoscrolling. + +2006-11-24 David Gilbert + + * java/beans/beancontext/BeanContextServicesSupport.java + (getChildBeanContextServicesListener): Implemented. + +2006-11-23 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java + (createGraphics): Use constructor to create new instance of + BufferedImageGraphics. + * java/awt/Toolkit.java + (getDefaultToolkit): Really try to get a real toolkit. Only + use HeadlessToolkit if no other is available. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (checkHeadless): New helper method. Checks for headless environment + and throws HeadlessException if appropriate. + (createButton): Check for headless. + (createCanvas): Check for headless. + (createCheckbox): Check for headless. + (createCheckboxMenuItem): Check for headless. + (createChoice): Check for headless. + (createDialog): Check for headless. + (createDragGestureRecognizer): Check for headless. + (createDragSourceContextPeer): Check for headless. + (createEmbeddedWindow): Check for headless. + (createFileDialog): Check for headless. + (createFrame): Check for headless. + (createCheckbox): Check for headless. + (createLabel): Check for headless. + (createList): Check for headless. + (createMenu): Check for headless. + (createMenuBar): Check for headless. + (createMenuItem): Check for headless. + (createPanel): Check for headless. + (createPopupMenu): Check for headless. + (createScrollbar): Check for headless. + (createScrollPane): Check for headless. + (createTextArea): Check for headless. + (createTextField): Check for headless. + (createWindow): Check for headless. + +2006-11-23 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (deserialize): Implemented, + (serialize): Implemented. + +2006-11-23 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java + (createGraphics): Try to use Cairo graphics if available. + +2006-11-22 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (toArray): Added API docs, + (toArray(Object[])): Added API docs, removed NotImplementedException. + +2006-11-22 Tania Bento + + * javax/swing/JRootPane.java + (setLayeredPane): Added documentation; throw + IllegalComponentStateException if layered pane parameter is null. + +2006-11-22 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (avoidingGui): Removed NotImplementedException. + +2006-11-22 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawGlyphVector): Clip updated area to glyph bounds. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Eliminate distortion when pixel-shifting rectangles; separate + x-coordinate and y-coordinate pixel shifting. + (shifted): Removed method. + (shiftX): New method, recognising scaling transforms. + (shiftY): New method, recognising scaling transforms. + (walkPath): Separate x-coordinate and y-coordinate pixel shifting. + +2006-11-22 Roman Kennke + + * java/awt/font/TextLayout.java + (hash): New field. Caches the hash code. + (hashCode): Implemented. + +2006-11-22 Roman Kennke + + * java/awt/image/ImageFilter.java + Reformat whole class. + (getFilterInstance): Don't touch the consumer field. Don't check + consumer. + (imageComplete): Don't check consumer. + (setColorModel): Don't check consumer. + (setDimensions): Don't check consumer. + (setHints): Don't check consumer. + (setPixels): Don't check consumer. + (setProperties): Pass the original property too. + * java/awt/image/IndexColorModel.java + (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the + transparent pixel by calling the new helper method. + (IndexColorModel(int,int,byte[],int,boolean,int)): Set the + transparent pixel by calling the new helper method. + (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the + transparent pixel by calling the new helper method. + (coerceData): Removed. This is not needed. + (getAlpha): Simply return value from color map. The transparent + pixel has to be there. + (setTransparentPixel): New helper method. Inserts the transparent + pixel. + * java/awt/image/RGBImageFilter.java + Reformat whole class. + (convertColorModelToDefault): Removed. No longer needed. + (filterIndexColorModel): Don't handle transparent pixels + separately. + (filterRGBPixels): Set pixels on consumer already. + (makeColor): Removed. No longer needed. + * java/awt/image/ReplicateScaleFilter.java + (replicatePixels): Removed. + (setDimension): Correctly compute destination size, avoid double + calculations. + (setPixels): Avoid double calculations. Fixed some boundary cases. + (setupSources): New helper method. + * java/awt/image/SampleModel.java + (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT + and TYPE_DOUBLE. + * java/awt/image/SinglePixelPackedSampleModel.java + (setDataElements(int,int,int,int,Object,DataBuffer)): Removed. + This is not needed as the superclass already copies line + by line. + (setDataElements(int,int,Object,DataBuffer)): Simplified code, + removed some checks that the RI also doesn't perform. Call + DataBuffer.setElem(). + +2006-11-22 Roman Kennke + + * java/awt/text/TextLayout.java + (getLogicalRangesForVisualSelection): Implemented. + +2006-11-21 Andrew John Hughes + + * sun/reflect/annotation/AnnotationParser.java, + * sun/reflect/annotation/AnnotationType.java, + * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java, + * sun/reflect/annotation/ExceptionProxy.java: + Stubbed. + * sun/misc/ServiceConfigurationError.java, + * sun/misc/Service.java: + Implemented. + +2006-11-21 Roman Kennke + + * java/awt/text/TextLayout.java + (Run.isLeftToRight): New helper method. + (logicalToVisual): New field. Maps logical indices to visual + indices. + (visualToLogical): New field. Maps visual indices to logical + indices. + (TextLayout): Setup mappings. + (setupMappings): New method for setting up the mappings. + (getCharacterLevel): Reorganized code. + (getNextLeftHit(int)): Implemented. + (getNextLeftHit(int,CaretPolicy)): New method. + (getNextLeftHit(TextHitInfo)): Implemented. + (getNextRightHit(int)): Implemented. + (getNextRightHit(int,CaretPolicy)): New method. + (getNextRightHit(TextHitInfo)): New method. + (getVisualOtherHit): Implemented. + (checkHitInfo): New helper methods for checking parameters. + (hitToCaret): New helper method. Maps hit infos to caret locations. + (caretToHit): New helper method. Maps caret locations to hit infos. + (isCharacterLTR): New helper method. + (CaretPolicy.getStrongCaret): Implemented. + +2006-11-21 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (draw): Include stroke width when calculating bounds. + (updateBufferedImage): Round bounds more generously, handle negative + height/width values, and clip more intelligently. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Add shortcut optimization for lines. + (draw): Include stroke width when calculating bounds. + (drawLine): Delegate to main draw() method. + (drawRect): Likewise. + (fillRect): Delegate to main fill() method. + (findStrokedBounds): New method. + (setCustomPaint): Round bounds more generously. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawLine): Removed. + (drawRect): Removed. + (fillRect): Removed. + +2006-11-21 Francis Kung + + * gnu/java/awt/java2d/TexturePaintContext.java + (getRaster): Handle negative coordinate values. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Moved custom paint processing to a new method. + (setPaintPixels): Added x, y parameters. + (getRealBounds): Added documentation. + (copy): Copy clipping information. + (drawLine): Process custom paints. + (setCustomPaint): New method. + (fill): Process custom paints. + (drawGlyphVector): Process custom paints. + (drawRect): Process custom paints. + (draw): Process custom paints. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoCM_opaque): New constant. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (argb32): Removed constant. + (rgb32): Removed constant. + (BufferedImageGraphics(BufferedImage)): Updated constant names. + (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags. + (updateBufferedImage): Transform to device-space before updating. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y + parameters. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern + source at designated x, y origin. + +2006-11-21 Roman Kennke + + * java/awt/text/TextLayout.java + (Run): New inner helper class. + (length): New field. + (naturalBounds): New field. + (offset): New field. + (runIndices): Removed. This is now encapsulate in a Run object. + (runs): Changed to Run[]. + (string): Changed to char[]. + (totalAdvance): New field. Caches advance value. + (TextLayout(String,Font,FontRenderContext)): Change to store + string as char[] and run layout as Run[]. Clean out empty + run items. + (TextLayout(TextLayout,int,int)): Change to store + string as char[] and run layout as Run[]. + (clone): Call private constructor for maximum efficiency. + (determineWhitespace): Adapted to use char[] data. + (draw): Adapted to use Run objects. + (getAdvance): Cache computed total advance. + (getBlackBoxBounds): Adapted to use Run objects. + (getCaretInfo): Use natural layout bounds. + (getCharacterCount): Return length field. + (getLogicalHighlightShape): Adapted to use Run objects. + (getNaturalBounds): New helper method. Calculates and returns the + natural bounds of this text layout. + (getOutline): Adapted to use Run objects. + (getStringProperties): Adapted to use char[] data. + (getVisibleAdvance): Adapted to use char[] and Run data. + (handleJustify): Adapted to use char[] and Run data. + (hitTestChar(float,float,Rectangle2D)): Implemented. + (hitTestChar(float,float)): Use natural bounds. + (setCharIndices): Adapted to use char[] and Run data. + (toString): Adapted to use char[] and Run data. + * java/text/Bidi.java + (requiresBidi): Exclude paragraph separators from bidi-triggers. + +2006-11-21 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkFontMetrics.java: + Removed. This is now an inner class in GdkFontPeer. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawString(float,float)): Use text layout cache from + GdkFontPeer. + (getFontMetrics): Delegate to GdkFontPeer. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getGlyphCodes): Also check array size. + (getGlyphPositions): Also check array size. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (GdkFontLineMetrics.fm): Removed. + (GdkFontLineMetrics.strikeThroughOffset): Removed. + (GdkFontLineMetrics.strikeThroughThickness): Removed. + (GdkFontLineMetrics.underlineOffset): Removed. + (GdkFontLineMetrics.underlineThickness): Removed. + (GdkFontLineMetrics.GdkFontLineMetrics): Don't take + FontMetrics argument. Don't init removed fields. + (GdkFontLineMetrics.getAscent): Return font peer's field. + (GdkFontLineMetrics.getDescent): Return font peer's field. + (GdkFontLineMetrics.getHeight): Return font peer's field. + (GdkFontLineMetrics.getLeading): Return font peer's field. + (GdkFontLineMetrics.getNumChars): Reformat. + (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent. + (GdkFontLineMetrics.getStrikeThroughThickness): Return 1. + (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field. + (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field. + (GdkFontMetrics): Moved class in here as inner class. + Make it use the font peer's fields and for the char(s) width + and string width method, use TextLayout to measure the actual widths. + (ascent): New field. + (bundle): Removed. + (DEFAULT_CTX): New constant field. + (descent): New field. + (FONT_METRICS_ASCENT): New constant. + (FONT_METRICS_DESCENT): New constant. + (FONT_METRICS_HEIGHT): New constant. + (FONT_METRICS_MAX_ADVANCE): New constant. + (FONT_METRICS_MAX_ASCENT): New constant. + (FONT_METRICS_MAX_DESCENT): New constant. + (FONT_METRICS_UNDERLINE_OFFSET): New constant. + (FONT_METRICS_UNDERLINE_THICKNESS): New constant. + (height): New field. + (maxAdvance): New field. + (maxAscent): New field. + (maxDescent): New field. + (metrics): New field. Stores a FontMetrics for this font. + (textLayoutCache): New field. Caches TextLayout instances. + (underlineOffset): New field. + (underlineThickness): New field. + (cinit): Don't initialize resource bundle. + (GdkFontPeer): Setup the metrics. + (getFontMetrics): Return stored metrics if possible. + (getLineMetrics): Adapt to new constructor. + (initFont): New helper method. + (setupMetrics): New helper method. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (LRUCache): Made class a static class. + (getFontMetrics): Delegate to GdkFontPeer. + * native/jni/gtk-peer/gdkfont.h + Added new constant defines. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): Rewritten to fetch the font metrics from + FreeType. + +2006-11-20 Tania Bento + + * javax/swing/ButtonGroup.java: + (setSelected): Select the ButtonModel if all conditions + are met. + +2006-11-20 Tania Bento + + * javax/swing/JSlider.java: + (updateLabelUIs): Removed casting. + +2006-11-20 Mark Wielaard + + * gnu/java/util/regex/RE.java (messages): Don't initialize. + (bundle): New static final String field. + (getLocalizedMessage): Initialize messages when still null. + * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed. + (set): Use RE.getLocalizedMessage(). + (clear): Likewise. + (setLineSeparator): Likewise. + +2006-11-20 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (linked): New field. + (styleSheet): Replaced by linked. + (addStyleSheet): Use an arraylist for simplicity. + (getRule): Removed useless instantiation. + (getStyleSheets): Convert array list to array. + (removeStyleSheet): Use an arraylist for simplicity. + (resolveStyle): Include styles from linked lists. + +2006-11-20 Roman Kennke + + * javax/swing/text/BoxView.java + (BoxView): Initialize with invalid req's. + (forwardUpdate): Trigger repaint when children changed the + major axis. + (getResizeWeight): Return resizable when the pref differs from + the min or the pref differs from the max size. + (layoutMajorAxis): Actually sum up the preferred sizes. + (paint): Made binary search more robust. + (replace): Let arrays shrink when needed. + (replaceLayoutArray): Let arrays shrink when needed. + (setAxis): Trigger preferenceChanged. + * javax/swing/text/CompositeView.java + (getInsideAllocation): Call insets method to take account + of overriding subclasses. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.finishEdit): Clear the stack and edits buffer. + (ElementBuffer.insertUpdate): Only remove the found element, not + all. + * javax/swing/text/GlyphView.java + (insertUpdate): Pass null in preferenceChanged. + (removeUpdate): Pass null in preferenceChanged. + (changedUpdate): Pass null in preferenceChanged. + * javax/swing/text/Utilities.java + (drawTabbedText): Avoid single calls to charWidth() and instead + call charsWidth() on whole chunks. + * javax/swing/text/html/HTMLDocument.java + (BlockElement.getName): Fall back to super when necessary. + (RunElement.getName): Fall back to super when necessary. + (HTMLReader.MAX_THRESHOLD): New constant field. + (HTMLReader.GROW_THRESHOLD): New constant field. + (HTMLReader.theshold): New field. + (HTMLReader.HTMLReader): Fetch threshold from document. + (HTMLReader.addContent): Sucessivly grow the threshold. + (createLeafElement): Don't create two elemens and don't set + attribute. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid. + (gridValid): Made package private. + (layoutMinorAxis): Mark all rows as invalid. + (replace): Invalidate grid. + +2006-11-20 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (DefaultDocumentEvent.changes): Changed to be a HashMap. + (DefaultDocumentEvent.modified): Made private. + (DefaultDocumentEvent.THRESHOLD): New constant field. + (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize + changes table. + (DefaultDocumentEvent.addEdit): Switch to hashmap only when + exceeding threshold. + (DefaultDocumentEvent.getChange): Use iterative approach + when we have no hashmap yet. + (documentCV): Removed. + (numWriters): Renamed from numWritersWaiting. + (createPosition): Reformat. + (getCurrentWriter): Synchronized. + (readLock): Implement more straightforward. + (readUnlock): Implement more straightforward. + (writeLock): Implement more straightforward. + (writeUnlock): Implement more straightforward. + (remove): Write-lock here. + (removeImpl): Don't write-lock here. + +2006-11-20 Roman Kennke + + * javax/swing/JEditorPane.java + (setPage): Set priority on loading thread. + +2006-11-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Avoid allocation. + (cachedInsets): New field. Caches an Insets instance. + (getNextVisualPositionFrom): Read-lock the document to avoid + thread nastiness. Push allocation. + (getPreferredSize): Push fake allocation when not yet laid out. + (getVisibleEditorRect): Use cached insets. + (viewToModel): Read-lock the document to avoid + thread nastiness. Push allocation. + +2006-11-20 Roman Kennke + + * javax/swing/text/StyleContext.java + (attributeSetPool): Synchronize this map. + (addAttribute): Synchronize this method. + (addAttributes: Synchronize this method. + (readObject): Install synchronized map on target object. + (removeAttribute): Synchronize this method. + (removeAttributes): Synchronize this method. + (removeAttributes): Synchronize this method. + +2006-11-20 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.GapContentPosition): Removed constructor. + (Mark): Made subclass of WeakReference to refer directly to + the associated position. + (Mark.refCount): Removed. + (Mark.Mark(int,GapContentPosition,ReferenceQueue): + New constructor. Used to reference a position and register the + reference queue. + (Mark.Mark(index)): Call super and don't adjust mark offset. + (Mark.compareTo): Removed. + (Mark.equals): Removed. + (Mark.getOffset): Return at least null. Removed assert. + (Mark.getPosition): New helper method. + (garbageMarks): New field. + (positions): Removed. + (searchMark): New field. + (GapContent): Removed init of positions map. + (addImpl): New helper method. + (adjustPositionsInRange): Removed. + (compare): New helper method. + (createPosition): Rewritten for new datastructures. This now + performs a much more efficient binary search for finding + a position at the requested offste. + (garbageCollect): Rewritten to collect unused marks. + (getPositionsInRange): Adjusted for new data structures. + (removeImpl): New helper method. + (replace): Use new addImpl() and removeImpl() helper method for + correctly adjusting the positions and gap. + (search): Rewritten. Implements a more suitable binary search. + (searchFirst): New helper method. + (setPositionsInRange): Removed. + (shiftEnd): Update the marks here. + (shiftGap): Update the marks here. + (shiftGapEndUp): Update the marks here. + (shiftGapStartDown): Update the marks here. + +2006-11-20 Marco Trudel + + * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache + digest algorithm implementations. + (readSignatures): Parse the manifest once and reuse that data. + Add support for line breaks. + (verifyHashes): Use the parsed manifest entry. + (readManifestEntry): Removed. + +2006-11-20 Andrew John Hughes + + * java/beans/beancontext/BeanContextServicesSupport.java: + Added more documentation. + (addService(Class,BeanContextServiceProvider,boolean)): + Synchronized over global hierarchy lock. + (bcsPreDeserializationHook(ObjectInputStream)): Implemented. + (bcsPreSerializationHook(ObjectOutputStream)): Implemented. + (childJustRemovedHook(Object,BCSChild)): Implemented. + (createBCSSServiceProvider(Class,BeanContextServiceProvider)): + Implemented. + (fireServiceRevoked(BeanContextServiceRevokedEvent)): + Added revocation-only listeners. + (getBeanContextServicesPeer()): Implemented. + (getCurrentServiceClasses(Class)): Synchronized over global + hierarchy lock. + (getCurrentServiceSelectors(Class)): Synchronized over global + hierarchy lock, and fixed FIXME. + (getService(BeanContextChild,Object,Class,Object, + BeanContextServiceRevokedListener)): Implemented. + (hasService(Class)): Synchronized over global hierarchy lock. + (releaseService(BeanContextChild,Object,Object)): Implemented. + (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented. + * java/beans/beancontext/BeanContextSupport.java: + (remove(Object, boolean)): Documentation correction. + +2006-11-19 Roman Kennke + + * javax/swing/JEditorPane.java + (PageStream): New inner class. + (PageLoader): New inner class. + (loading): New field. + (setPage): Implemented asynchronous loading. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.create): New helper method. + (create): Use new ElementBuffer method instead of hack. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.flushImpl): New helper method. + (HTMLReader.addContent): Use flushImpl(). + (HTMLReader.blockClose): Added null check. + (HTMLReader.flush): Use flushImpl(). + * javax/swing/text/html/HTMLEditorKit.java + (createDefaultDocument): Set load priority to 4 and token threshold + to 100. + * javax/swing/text/html/TableView.java + (insertUpdate): Overridden to provide correct view factory. + (removeUpdate): Overridden to provide correct view factory. + (changedUpdate): Overridden to provide correct view factory. + +2006-11-19 Roman Kennke + + * javax/swing/text/BoxView.java + (clipRect): New field. + (tmpRect): New field. + (layout): Reorganized code. Now uses layoutAxis() helper method. + (layoutAxis): New helper method. + (paint): Optimized by using cached Rectangle objects and + a binary search for child views inside the clip. + * javax/swing/text/CompositeView.java + (insideAllocation): Made private and initialized in constructor. + (getInsideAllocation): Removed initialization block for + insideAllocation field. Avoid unnecessary allocations. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.paint): Only paint the actual glyphs here + The remaining stuff (background, underline and striking) is + done in the GlpyhView itself. Avoid unnecessary allocations. + (cached): A cached Segment instance. + (getText): Return cached segment. + (paint): Paint underline, strike and background here. Avoid + unecessary allocs. + +2006-11-19 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (getFontSize): Removed debug output. + (ListPainter.tmpRect): New field. + (ListPainter.paint): Align bullet vertically centered to + the first line of the paragraph. + +2006-11-17 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseDeclaration): Trim string before reporting. + * gnu/javax/swing/text/html/css/FontSize.java + (size): New field. + (isRelative): New field. + (sizeIndex): New field. + (FontSize): Initialize new fields. + (getValue): Changed to call getValue(int). + (getValue(int)): New method. Implements relative font sizes. + (isRelative): New method. + (mapAbsolute): Store index. + (mapEM): New helper method. + (mapLarger): New helper method. + (mapPercent): New helper method. + (mapRelative): New helper method. + (mapSmaller): New helper method. + (mapValue): New helper method. + * javax/swing/text/html/CSS.java + (parseBackgroundShorthand): Create CSSColor directly. + * javax/swing/text/html/StyleSheet.java + (addRule): Invalidate resolved styles. + (getFont): Call new getFontSize() method to resolve relative + font sizes. + (getFontSize): New helper method. Resolves relative font sizes. + (translateHTMLToCSS): Create CSS objects directly. + +2006-11-13 Andrew John Hughes + + * gnu/java/util/regex/RETokenNamedProperty.java: + (getHandler(String)): Add support for 'all'. + +2006-11-18 Andrew John Hughes + + * gnu/javax/management/Server.java: + Initial implementation of a GNU management server. + * javax/management/MBeanPermission.java, + * javax/management/MBeanRegistration.java, + * javax/management/MBeanTrustPermission.java: + Implemented. + +2006-11-17 Mark Wielaard + + * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement. + +2006-11-17 Gary Benson + + * java/net/DatagramSocket.java (getLocalAddress, connect, + receive): Perform security check on address not hostname. + +2006-11-16 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Fixed condition for consuming whitespace. + Removed validator check, this is superfluous now. + +2006-11-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseRuleset): Support 'combined' selectors. + (main): Adapt callback for combined selectors support. + * gnu/javax/swing/text/html/css/CSSParserCallback.java + (startStatement): Take selector array as argument, to + support combined selectors. + * javax/swing/text/html/BlockView.java + (calculateMinorAxisRequirements): Fetch and apply alignment. + * javax/swing/text/html/StyleSheet.java + (CSSStyle): Inverted the constants for correct precedence. + (CSSStyleSheetParserCallback.styles): New field. Stores the current + styles. + (CSSStyleSheetParserCallback.style): Removed. + (CSSStyleSheetParserCallback.declaration): Update multiple styles. + (CSSStyleSheetParserCallback.end): Push multiple styles. + (CSSStyleSheetParserCallback.start): Initialize multiple styles. + +2006-11-16 Roman Kennke + + * javax/swing/text/FlowView.java + (LogicalView.getPreferredSpan): Calculate maximum correctly. + * javax/swing/text/GlyphView.java + (tabExpander): New field. + (tabX): New field. + (breakView): Set tabX on broken view. + (getPartialSpan): Let the painter fetch the span. + (getTabbedSpan): Update the tab expander field. Maybe trigger + relayout. + (getTabExpander): Simply return the stored expander. + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Made algoritm a little smarter and more + efficient. + (getTabbedTextWidth): Don't add single char widths, instead add + chunks of characters. + * javax/swing/text/html/ParagraphView.java + (calculateMinorAxisRequirements): Adjust margin only when the + CSS span is not fixed. + +2006-11-16 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getChildBeanContextMembershipListener): Implemented, + (getChildPropertyChangeListener): Implemented, + (getChildSerializable): Implemented, + (getChildVetoableChangeListener): Implemented, + (getChildVisibility): Implemented, + (setDesignTime): Use same property name as Sun's implementation. + +2006-11-16 David Gilbert + + * java/beans/DesignMode.java: Reformatted and removed a FIXME, + * java/beans/Statement.java + (toString): Updated to match reference implementation. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (InsertHTMLTextAction.actionPerformed): Also try inserting + the alternate tag. Adjust the selection accordingly. + (InsertHTMLTextAction.adjustSelection): New helper method. + Adjusts the selection after an insertion. + (insertAtBoundary): Delegate to deprecated method. + (insertAtBoundry): Implemented missing method. + (tryInsert): New helper method. + (defaultActions): Implemented to fill the array with + a couple of InsertHTMLTextActions. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/ImageView.java + (Observer): New class. Observes image loading. + (haveHeight): New field. + (haveWidth): New field. + (height): New field. + (width): New field. + (image): New field. + (imageIcon): New field. + (loading): New field. + (observer): New field. + (reloadImage): New field. + (reloadProperties): New field. + (ImageView): Initialize observer and some flags. + (getImage): Update the image state and return the image. + (loadImage): New helper method. Actually starts loading. + (paint): Rewritten to paint the image directly, not via Icon. + (reloadImage): Rewritten. Loads the image and its properties. + (renderIcon): Removed. No more necessary. + (setPropertiesFromAttributes): Don't nullify image here. + Added comment about missing impl. + (setSize): Added comment about missing impl. + (updateSize): New helper method. Updates the size attributes. + (updateState): New helper method. Makes sure the image + and its properties are valid. + +2006-11-15 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEndTag_remaining): Consume whitespace after a closing + block like tag. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ParagraphAction.end): Call super instead of blockClose() + directly. + (HTMLReader.ParagraphAction.start): Call super instead of blockOpen() + directly. + (HTMLReader.parseStack): Removed. + (HTMLReader.blockClose): Simply call addContent() with ' ' + instead of doing more complicated stuff. Removed parseStack + handling. + (HTMLReader.blockOpen): Removed parseStack handling. + (getInsertingReader): Removed parseStack init. + * gnu/javax/swing/text/html/parser/htmlValidator.java + (closeTag): Return true only when the tag actually should be + closed. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEndTag): Only actually close the tag when the validator + allows it. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/CSS.java + (Attribute.BORDER_SPACING): New field for the CSS border-spacing + attribute. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.bottomPadding): New field. + (BoxPainter.leftPadding): New field. + (BoxPainter.rightPadding): New field. + (BoxPainter.topPadding): New field. + (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes + too. + (BoxPainter.getInset): Recognize and include the padding. + (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING. + javax/swing/text/html/TableView.java + (RowView.calculateMajorAxisRequirements): Adjust req's for + cellSpacing. + (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing. + (cellSpacing): New field. + (columnRequirements): Made package private to avoid accessor method. + (calculateMinorAxisRequirements): Include cellSpacing. + (calculateMajorAxisRequirements): Overridden to include cellSpacing. + (layoutMajorAxis): Likewise. + (layoutColumns): Respect cellSpacing. + (setParent): Overridden to fetch the CSS attributes when view gets + connected. + (setPropertiesFromAttributes): New method. Fetches the cell + spacing from the CSS attributes. + +2006-11-15 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Consume whitespace directly before a closing tag. + (restOfTag): Consume whitespace directly after opening. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Don't perform array boundary checking by + catch AIOOBE, instead check the boundary in loop condition. + * gnu/javax/swing/text/html/parser/support/low/Constants.java + (TAG_CLOSE): New constants. Describes the token pattern for + a closing tag. + +2006-11-14 Roman Kennke + + * javax/swing/text/html/ImageView.java + (getPreferredSpan): Use CSS length values. + * javax/swing/text/html/TableView.java + (CellView.calculateMajorAxisRequirements): Overridden to + set the maximum reqs to maximum. + (RowView.getMaximumSize): For the X_AXIS, set the maximum + span to maximum. + (RowView.getMinimumSpan): Overridden. For the X_AXIS, return + the total column reqs. + (RowView.getPreferredSpan): Overridden. For the X_AXIS, return + the total column reqs. + * gnu/javax/swing/text/html/css/CSSColor.java + (convertValue): Catch NumberFormatExceptions for more robustness. + * gnu/javax/swing/text/html/css/FontSize.java + (mapPixels): Actually map px values. Catch NFE for more robustness. + +2006-11-14 Roman Kennke + + * gnu/java/awt/font/autofit/AxisHints.java, + * gnu/java/awt/font/autofit/Constants.java, + * gnu/java/awt/font/autofit/GlyphHints.java, + * nu/java/awt/font/autofit/Latin.java, + * nu/java/awt/font/autofit/LatinAxis.java, + * gnu/java/awt/font/autofit/LatinMetrics.java, + * gnu/java/awt/font/autofit/Scaler.java, + * gnu/java/awt/font/autofit/Script.java, + * gnu/java/awt/font/autofit/ScriptMetrics.java, + * gnu/java/awt/font/autofit/Segment.java, + * gnu/java/awt/font/autofit/Width.java: + New classes. This is some skeleton stuff for the FreeType-alike + auto-gridfitter. + * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (unitsPerEm): Made field public. + (getRawGlyphOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/Scaler.java + (getRawGlyphOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java + (loadGlyph): New method. This is used to load raw outlines. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getRawOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/truetype/Zone.java: + Made class public. + +2006-11-14 Roman Kennke + + * javax/swing/RepaintManager.java + (RepaintManager): Fetch the default state for the double buffering + from a system property gnu.swing.doublebuffering. + +2006-11-14 Roman Kennke + + * javax/swing/plaf/basic/BasicLabelUI.java + (cachedInsets): New field. + (getFontMetrics): New helper method. Fetches the font metrics + from the component or the toolkit. + (getPreferredSize): Use getFontMetrics() helper method for + fetching the font metrics. + (paint): Use getFontMetrics() helper method for + fetching the font metrics. Only paint if icon or text + are != null. Use cached insets. + (paintDisabledText): Don't store/restore color object. The + JComponent painting mechanism takes care of this by calling + create(). + (paintEnabledText): Don't store/restore color object. The + JComponent painting mechanism takes care of this by calling + create(). + +2006-11-14 Roman Kennke + + * gnu/java/awt/peer/GLightweightPeer.java + (handleEvent): Try to do something reasonable and trigger painting + for the lightweight component. + (getFontMetrics): Fetch and return a font metrics object from + the Toolkit. + +2006-11-13 Andrew John Hughes + + * gnu/java/util/regex/RETokenNamedProperty.java: + (getHandler(String)): Add support for 'all'. + +2006-11-13 Andreas Tobler + + * AUTHORS: Add myself. + +2006-11-13 Thomas Fitzsimmons + + * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and + Dalibor Topic. Re-order 'K' section. Remove trailing space from + Roman Kennke's entry. + +2006-11-13 Roman Kennke + + * java/awt/image/IndexColorModel.java + (createCompatibleSampleModel): Implemented missing method. + +2006-11-11 Andreas Tobler + + * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data + from big endian systems correctly. + +2006-11-11 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSColor.java + (isValidColor): New helper method. Checks strings if they + form a valid color value. + * gnu/javax/swing/text/html/css/Length.java + (Length): Catch number format exceptions. + * javax/swing/text/html/CSS.java + (addInternal): New method. Checks for shorthand CSS attributes + and parses them. + (parseBackgroundShorthand): New method. Parses the background + shorthand attribute. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.LinkAction): Made class a subclass of HiddenAction. + (HTMLReader.LinkAction.start): Implemented to load the linked + stylesheet. + (HTMLReader.LinkAction.end): Removed. This is not needed. + * javax/swing/text/html/StyleSheet.java + (CSSStyleSheetParserCallback.declaration): Push declaration + through CSS.addInternal() to parse shorthand attributes. + (addCSSAttribute): Push declaration through CSS.addInternal() + to parse shorthand attributes. + (importStyleSheet): Implemented. This adds a stylesheet from + an URL. + * javax/swing/text/html/TableView.java + (calculateColumnRequirements): Increase column index for + non CellView children to avoid endless loop. + * javax/swing/text/CompositeView.java + (setParent): Comparen with numChildren not with real arraylength. + +2006-11-11 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getChildBeanContextChild): Implemented. + +2006-11-10 Roman Kennke + + * javax/swing/text/View.java + (updateLayout): Only repaint when needed. + +2006-11-10 David Gilbert + + * java/util/Collections.java + (sort(List)): Minor API doc addition, + (sort(List, Comparator)): Likewise. + +2006-11-10 David Fu + + * javax/swing/text/html/HTMLWriter.java + (traverse): Removed Classpath specific handling of implied + tags. + (traverseHtmlFragment): Removed Classpath specific handling of + implied tags. + +2006-11-10 Roman Kennke + + * javax/swing/text/ParagraphView.java + (Row.getMaximumSize): Removed. This method is not necessary. + * javax/swing/text/html/TableView.java + (CellView): Moved attribute init to setPropertiesFromAttributes(). + (setPropertiesFromAttributes): Fetch attributes here. + (RowView.RowView): Documented. + (RowView.getMaximumSpan): Overridden to restrict the max span + in the Y direction. + (RowView.layoutMajorAxis): Correctly layout the spans. + (columnWidths): New field. Stores the width attributes of + the columns. + (calculateColumnRequirements): Added support for relative + (== percent) width attributes. + (calculateMajorAxisRequirements): Removed. + (calculateMinorAxisRequirements): Removed unnecessary code. + (getMaximumSpan): Overridden to restrict the table's width. + (layoutColumns): Documented. Implement more clever table layout, + i.e. for relative columns etc. + (layoutMinorAxis): Don't mark rows invalid. + (updateGrid): Added docs. Initialize column widths. + +2006-11-09 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment, + * gnu/java/awt/peer/headless/HeadlessToolkit: New classes. + Implement basic headless toolkit. + * java/awt/Toolkit.java + (getDefaultToolkit): Check headless property and create + headless toolkit when true. + +2006-11-09 Ingo Proetel +2006-11-09 Roman Kennke + + * gnu/java/awt/peer/swing/SwingButtonPeer.java + (SwingButton.button): New field. + (SwingButton.SwingButton): Added constructor. + (SwingButton.isShowing): Access button field instead of + the surrounding class. + (SwingButton.getParent): Access button field instead of + the surrounding class. + (SwingButtonPeer): Call new SwingButton constructor. + * gnu/java/awt/peer/swing/SwingComponent.java: + Several documentation updates. + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (currentPaintEvents): New field. + (peerFont): New field. + (SwingComponentPeer): Initialize currentPaintEvents fields. + (coalescePaintEvents): Implemented. + (dispose): Unregister peer from heavyweight list of its container. + (getGraphics): Fetch graphics from parent component. + (handleEvent): Discard paint event if its coalesced. + (init): Register component with its container for proper painting. + (paint): Call peerPaint(). + (peerPaint): Added argument that indicates if we should update. + Call paint or update on the actual AWT component. + (peerPaintComponent): New method. Paints the peer (Swing) component. + (setFont): Set peerFont field. + * gnu/java/awt/peer/swing/SwingContainerPeer.java + (backbuffer): New field. + (focusOwner): New field. + (heavyweightDescendents): New field. + (SwingContainerPeer): Take Container as argument. Don't call init + yet. + (addHeavyweightDescendent): New method. + (getFocusOwner): New helper method. + (getInsets): Delegate to insets(). + (handleKeyEvent): Dispatch event to focus owner. + (handleMouseEvent): Dispatch to child component. + (isDoubleBuffering): New helper method. + (peerPaint): Overridden to implement container painting with + double buffering. + (peerPaintChildren): New method. Paints the descendents of this + container. + (removeHeavyweightDescendent): New helper method. + * gnu/java/awt/peer/swing/SwingFramePeer.java + (peerPaint): Removed. + (peerPaintComponent): Overridden to paint the menu bar. + * gnu/java/awt/peer/swing/SwingLabelPeer.java + (SwingLabel.label): New field. + (SwingLabel.SwingLabel): Added constructor with Label argument. + (SwingLabel.getGraphics): Implemented to fetch the graphics from + the actual AWT component. + (SwingLabel.getParent): Implemented to fetch the parent from + the AWT component. + (SwingLabel.isShowing): Access the label field. + (SwingLabelPeer): Set alignment from label. + * gnu/java/awt/peer/swing/SwingListPeer.java: New class. + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation + fixlet. + * gnu/java/awt/peer/swing/SwingPanelPeer.java: + Don't be a lighweight peer. + (SwingPanelPeer): Call init. + * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class. + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java + (SwingTextField.textField): New field. + (SwingTextField.SwingTextField): New constructor. + (SwingTextField.isShowing): Access field not enclosing class. + (SwingTextField.getGraphics): New method. + (SwingTextField.getParent): New method. + (SwingTextFieldPeer): Call new constructor. + (select): Renamed arguments. + * gnu/java/awt/peer/swing/SwingWindowPeer.java + (SwingWindowPeer): Call init. + +2006-11-09 Tania Bento + + * javax/swing/JLabel.java + (JLabel(Icon)): Changed documentation; Changed text to null. + (JLabel(Icon,int)): Likewise. + (JLabel(text)): Changed documenation. + (JLabel(text,int)): Likewise. + (JLabel(text,Icon,int)): Changed documentation; Throw + IllegalArgumentException if int is not one of LEFT, RIGHT, + CENTER, LEADING or TRAILING. + +2006-11-09 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (BeanContextSupport): Use correct dtime default, + (BeanContextSupport(BeanContext)): Likewise, + (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed + locale argument, + (BeanContextSupport(BeanContext, Locale, boolean)): Likewise, + (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise. + +2006-11-09 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getBeanContextPeer): Implemented. + +2006-11-09 Roman Kennke + + * javax/swing/text/html/BlockView.java + (cssHeight): Removed. + (cssWidth): Removed. + (cssSpans): New field. Replaces the two fields above. + (BlockView): Allocate cssSpans array. + (layoutMinorAxis): Fetch and use child span, not this view's span. + (setCSSSpan): Adjusted to use cssSpans array. + (setPropertiesFromAttributes): Adjusted to use cssSpans array. + +2006-11-09 Roman Kennke + + * javax/swing/text/html/InlineView.java + (nowrap): New field. + (getBreakWeight): Add support for nowrap. + (setPropertiesFromAttributes): Fetch the nowrap setting. + +2006-11-09 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseRuleset): Use new Selector class. + (parseValue): Parse multiple anys, not only one. + (main): Allow stylesheet be specified on the command line. + Use new Selector class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java + (startStatement): Use Selector class. + * gnu/javax/swing/text/html/css/CSSScanner.java + (readName): Actually read a character in the loop to avoid + endless loop. + * gnu/javax/swing/text/html/css/Length.java + (getValue): Only multiply when we have a percentage value. + * gnu/javax/swing/text/html/css/Selector.java: + New class. Provides handling of CSS selectors. + * javax/swing/text/html/StyleSheet.java + (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field. + (CSSStyle.PREC_AUTHOR_NORMAL): New constant field. + (CSSStyle.PREC_NORM): New constant field. + (CSSStyle.PREC_UA): New constant field. + (CSSStyle.PREC_USER_IMPORTANT): New constant field. + (CSSStyle.precedence): New field. + (CSSStyle.priority): Removed. + (CSSStyle.selector): New field. + (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector + and precendence. + (CSSStyle.compareTo): Adjusted to use the precedence and + specificity of the selector. + (CSSStyleSheetParserCallback.precedence): New field. + (CSSStyleSheetParserCallback.selector): Removed. + (CSSStyleSheetParserCallback.style): New field. + (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback): + Initialize with precedence. + (CSSStyleSheetParserCallback.declaration): Don't look up + existing rule, simply create new one. + (CSSStyleSheetParserCallback.endStatement): Append style + to stylesheet. + (CSSStyleSheetParserCallback.startStatement): Use new Selector + class. + (css): Changed to be ArrayList. + (addRule): Create parser with author-normal precendence. + (getRule): Fixed implementation. + (loadRules): Create parser with UA precendence. + (resolveStyle): Use Selector class for resolving and matching + stylesheet rules. + (translateHTMLToCSS): Added mappings for a couple of HTML + attributes. + +2006-11-09 David Gilbert + + Fixes bug #29770 + * java/beans/SimpleBeanInfo.java + (loadImage): Check for nulls. + +2006-11-09 Robert Schuster + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (getpeername): Added 16 byte offset to memcpy operation. + +2006-11-09 Robert Schuster + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (getsockname): Added 16 byte offset to memcpy operation. + +2006-11-08 Mark Wielaard + + Fixes bug #29754 + * java/io/OutputStreamWriter.java + (OutputStreamWriter(OutputStream,Charset)): Set encodingName. + (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. + +2006-11-08 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (getParser): Use plain HTML_401F DTD. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.print): Removed method and all calls to it. + (HTMLReader.printBuffer): Removed method and all calls to it. + (HTMLReader.inImpliedParagraph): New field. + (HTMLReader.inParagraph): New field. + (HTMLReader.addContent): Create implied p-tag if necessary. + (HTMLReader.addSpecialElement): Create implied p-tag if necessary. + (HTMLReader.blockClose): Close implied p-tag if necessary. + (HTMLReader.blockOpen): Close implied p-tag if necessary. + * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed. + +2006-11-08 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed mapping for TD tag. This + is done in TableView. + * javax/swing/text/html/TableView.java: + Implemented from scratch. + +2006-11-07 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Check if text content is actually allowed before + passing empty text fragments on to the parser callbacks. + +2006-11-07 Mark Wielaard + + * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar + path. + (flat): New method. + +2006-11-07 Tania Bento + + * java/awt/FlowLayout.java + (getSize): If parent does not have a component, then a + different formula is used to calcuate the width. + +2006-11-07 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Include ListView. + * javax/swing/text/html/ListView.java + (paint): Removed comment. + * javax/swing/text/html/StyleSheet.java + (CSSStyle.priority): New field. + (CSSStyle.CSSStyle(int)): New constructor with priority. + (CSSStyle.compareTo): New method. Used for sorting the styles. + (CSSStyleSheetParserCallback.declaration): Store the style + with the complete selector. + (ListPainter.attributes): Renamed as field. + (ListPainter.styleSheet): New field. + (ListPainter.type): New field. + (ListPainter.ListPainter): Pass StyleSheet to constructor. + (ListPainter.paint): Provide simplistic implementation. + (getListPainter): Pass StyleSheet to constructor. + (resolveStyle): Fixed CSS style resolving. + +2006-11-07 Roman Kennke + + * gnu/javax/swing/text/html/css/BorderWidth.java: + New class. Handles CSS border width values. + * gnu/javax/swing/text/html/css/Length.java + (floatValue): Made protected so that BorderWidth can access it. + * javax/swing/text/html/CSS.java + (Attribute.BORDER_BOTTOM_COLOR): New static field. + (Attribute.BORDER_BOTTOM_STYLE): New static field. + (Attribute.BORDER_LEFT_COLOR): New static field. + (Attribute.BORDER_LEFT_STYLE): New static field. + (Attribute.BORDER_RIGHT_COLOR): New static field. + (Attribute.BORDER_RIGHT_STYLE): New static field. + (Attribute.BORDER_TOP_COLOR): New static field. + (Attribute.BORDER_TOP_STYLE): New static field. + (getValue): Added some mappings for the border color and + border width values. + * javax/swing/text/html/CSSBorder.java: New class. Implements + CSS borders. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.background): New field. + (BoxPainter.border): New field. + (BoxPainter.bottomInset): Documented. + (BoxPainter.leftInset): Documented. + (BoxPainter.rightInset): Documented. + (BoxPainter.topInset): Documented. + (BoxPainter.BoxPainter): Added support for borders and background. + (BoxPainter.getInset): Add border insets. + (BoxPainter.paint): Implemented. Paints the background and the + CSS border. + (addRule): Be less picky about parse and IO exceptions. + (getBoxPainter): Adjust to new BoxPainter constructor. + +2006-11-07 Andreas + + * examples/Makefile.am: Add rule to install the *.html files we use + in the Swing Demo. + +2006-11-06 Francis Kung + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (fillRect): Handle custom composites. + (drawRenderedImage): Handle custom composites. + (drawImage): Handle custom composites. + (createBuffer): New method. + (drawLine): Handle custom composites. + (drawComposite): New method. + (fill): Handle custom composites. + (getNativeCM): New method. + (drawGlyphVector): Handle custom composites. + (drawRect): Handle custom composites. + (draw): Handle custom composites. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (drawComposite): Unset composite during draw call, to prevent parent + from handling composite again. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (getBufferCM): Added comments. + (getNativeCM): Made abstract. + (setComposite): Removed comments. + +2006-11-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Fixed initial window size and start document. + +2006-11-06 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement): Removed comment about + htmlAttributeSet. + (HTMLReader.handleComment): Create SimpleAttributeSet instead + of htmlAttributeSet. + * javax/swing/text/html/parser/DocumentParser.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * javax/swing/text/html/parser/ParserDelegator.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * gnu/javax/swing/text/html/parser/GnuParserDelegator.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * gnu/javax/swing/text/html/parser/support/Parser.java + (getAttributes): Return a SimpleAttributeSet. + (restOfTag): Don't set resolving parent here. + +2006-11-06 Tania Bento + + * java/awt/TextComponent.java + (setSelectionStart): Added check. + +2006-11-06 Tania Bento + + * java/awt/TextField.java + (minimumSize(int)): Check if minimum size has been previously + set and changed values of Dimension returned if peer == null. + (preferredSize(int)): Check if preferred size has been previously + set and changed values of Dimension returned if peer == null. + +2006-11-06 Roman Kennke + + * javax/swing/JTree.java + (TreeModelHandler.treeNodesRemoved): Implemented. + (TreeModelHandler.treeStructureChanged): Implemented. + (nodeStates): Made package private. + +2006-11-06 Francis Kung + + PR 29420 + * javax/swing/JTree.java + (clearSelectionPathStates): New private method to clean up nodeStates. + (removeSelectionPath): Call clearSelectionPathStates(). + (removeSelectionPaths): Call clearSelectionPathStates(). + (removeSelectionRow): Call clearSelectionPathStates(). + (setSelectionPath): Call clearSelectionPathStates(). + (setSelectionPaths): Call clearSelectionPathStates(). + (setSelectionRow): Call clearSelectionPathStates(). + +2006-11-06 Ito Kazumitsu + + Fixes bug #29703 + * java/util/regex/Matcher.java(reset): Reset inputCharIndexed. + +2006-11-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Changed to implement a minimalistic browser. + * examples/gnu/classpath/examples/swing/forms.html, + * examples/gnu/classpath/examples/swing/textstyles.html, + * examples/gnu/classpath/examples/swing/welcome.html: + Some example content. + +2006-11-06 Roman Kennke + + * javax/swing/text/ComponentView.java + (setParent): Lock the document and repaint the hosting + container. + * javax/swing/text/FlowView.java + (FlowStrategy.createView): Removed comment. + (FlowView): Initialize span with Short.MAX_VALUE. + (getFlowStart): Return 0 unconditionally. + (layout): Moved code around to make it more readable. + (loadChildren): Always set the parent. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.fontMetrics): New field. + (DefaultGlyphPainter.getAscent): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getBoundedPosition): Use new helper method + to synchronize the font metrics. + (DefaultGlyphPainter.getDescent): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getHeight): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getSpan): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.modelToView): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.updateFontMetrics): New helper method for + font metrics caching. + (DefaultGlyphPainter.viewToModel): Use new helper method to + synchronize the font metrics. Fixed view to model mapping. + * javax/swing/text/View.java + (removeAll): Pass null to replace(). + (setParent): Only reparent children that have this view as parent. + +2006-11-05 Mark Wielaard + + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. + * include/gnu_java_nio_channels_FileChannelImpl.h: Removed. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Removed. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + Removed. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): + Remove gnu_java_nio_channels_FileChannelImpl.c. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/BlockView.java + (attributes): New field. + (cssHeight): New field. + (cssWidth): New field. + (painter): New field. + (calculateMajorAxisRequirements): Overridden to account for + CSS settings. + (calculateMinorAxisRequirements): Overridden to account for + CSS settings. + (layoutMinorAxis): Overridden to account for CSS settings. + (changedUpdate): Formatting fixlet. + (constrainSize): New helper method. + (getAlignment): Fix alignment. + (getAttributes): Cache attributes for better performance. + (getStyleSheet): Fetch stylesheet from document rather than creating + a new one. + (paint): Remove comment. + (setCSSSpan): New helper method. + (setPropertiesFromAttributes): Implemented to fetch the + recognized properties. + * javax/swing/text/html/CSS.java + (getValue): Added mapping for width and height attributes. + * javax/swing/text/html/InlineView.java + (longestWord): New field. + (getLongestWord): New helper method. + (calculateLongestWord): New helper method. + (getMinimumSpan): Overridden to constrain the minimum span by the + longest word. + * javax/swing/text/html/ParagraphView.java + (cssHeight): New field. + (cssWidth): New field. + (calculateMinorAxisRequirements): Overridden to account for + CSS settings. + (setCSSSpan): New helper method. + (setPropertiesFromAttributes): Fetch CSS width and height. Added + null check. + * gnu/javax/swing/text/html/css/Length.java + (percentage): New field. + (Length): Determine percentage values. + (getValue(float)): New method for handling percentage values. + (isPercentage): New method. + +2006-11-03 Tania Bento + + * java/awt/TextArea.java + (getMinimumSize): Changed documentation. + (getPreferredSize): Changed documentation. + (getMinimumSize(int,int)): Changed documenation. + (getPreferredSize(int,int)): Changed documenation. + (minimumSize): Changed documentation. + (preferredSize): Changed documenation. + (minimumSize(int,int)): Changed documentation. Checked if + minimum size had been previously set and changed values of + Dimension returned if peer == null. + (preferredSize(int, int)): Checked if preferred size had been + previously set and changed values of Dimension returned if + peer = null. + +2006-11-03 Tania Bento + + * java/awt/event/ComponentEvent.java + (paramString): Changed format of string representation returned. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.start): Added support for textarea. + (HTMLReader.FormAction.end): Added support for textarea. + (HTMLReader.HeadAction.end): Call super to actually close the + block. + (HTMLReader.inTextArea): New field. + (HTMLReader.textAreaDocument): New field. + (HTMLReader.handleText): Call textAreaContent when inside + a textarea tag. + (HTMLReader.textAreaContent): Implemented to initialize + the text area's model. + * javax/swing/text/html/FormView.java + (createComponent): Added support for textarea tag. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.IsindexAction.start): Implemented. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (addRule): Implemented. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.inStyleTag): New field. + (HTMLReader.styles): New field. + (HTMLReader.HeadAction.end): Implemented to read all stylesheets, + if any. + (HTMLReader.StyleAction.start): Set inStyleTag flag. + (HTMLReader.StyleAction.end): Set inStyleTag flag. + (HTMLReader.handleText): When inside a style tag, add + content to the styles array. + +2006-11-02 Roman Kennke + + * javax/swing/text/html/FormView.java + (maxIsPreferred): New field. + (createComponent): Initialize components correctly. + (getMaximumSpan): Return the preferred span for components + that need this. The maxIsPreferred flag is set accordingly + in createComponent. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.start): Implemented to set the + correct model as attribute. + (HTMLReader.FormAction.setModel): New helper method. + (HTMLReader.FormAction.end): Call super to finish the element. + Added TODO about things left to do. + (HTMLReader.handleComment): Use SimpleAttributeSet rather + than htmlAttributeSet. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create BlockView for FORM tags. + Create FormView for INPUT, TEXTAREA and SELECT tags. + +2006-11-02 David Gilbert + + * java/awt/geom/GeneralPath.java: API doc fixes. + +2006-11-02 Roman Kennke + + * javax/swing/text/html/ImageView.java + (getImageURL): Fetch attribute from element. Consider the + base URL for relative image locations. + +2006-11-02 Roman Kennke + + * javax/swing/JEditorPane.java + (setContentType): Strip off attributes. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.activateLink(int,JEditorPane,int,int): New + method. Implements activation of a hyperlink. + (LinkController.activateLinke(int,JEditorPane)): Delegate + to the other activateLink() method. + (LinkController.createHyperlinkEvent): New helper method. + (LinkController.mouseClicked): Implemented to activate the link. + (LinkController.mouseDragged): Added comment that this + method does nothing. + (LinkController.mouseMoved): Update cursor for hyperlinks. + (mouseHandler): Renamed field to linkController. + (HTMLEditorKit): Create a link controller. + (clone): Give the clone a new link controller. + (deinstall): De-install link controller as mouseMotionListener too. + (install): Install link controller as mouseMotionListener too. + +2006-11-02 Roman Kennke + + PR 29644 + * javax/swing/text/FlowView.java + (FlowStrategy.changedUpdate): Reversed condition. This caused + wrong layout and bad performance. + (FlowStrategy.insertUpdate): Reversed condition. This caused + wrong layout and bad performance. + (FlowStrategy.removeUpdate): Reversed condition. This caused + wrong layout and bad performance. + (LogicalView): Changed to be a subclass of CompositeView. + (LogicalView()): Only take one Element argument. + (LogicalView.childAllocation): New method for implementing + the abstract CompositeView method. + (LogicalView.forwardUpdateToView): Overridden for correct + reparenting. + (getMinimumSpan): Overridden to handle line breaking correctly. + (getPreferredSpan): Implemented to handle line breaking correctly. + (getViewAtPoint): New method for implementing + the abstract CompositeView method. + (getViewIndexAtPosition): Overridden to handle leaf elements + correctly. + (isAfter): New method for implementing + the abstract CompositeView method. + (isBefore): New method for implementing + the abstract CompositeView method. + (loadChildren): Overridden to handle leaf elements + correctly. + (paint): New method for implementing + the abstract CompositeView method. + (calculateMinorAxisRequirements): Use preferredSpan in calculation. + (loadChildren): Initialize flow layout by sending a synthetic + insertUpdate() to the layout strategy. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's + font metrics if component is not available. Add initial offset + to result. + (breakView): Be more clever when breaking the view. + (getBreakLocation): New helper method to determine a good + break location. + (getBreakWeight): Be more clever when breaking the view. + (getTabbedSpan): Make sure we have a painter. Use view's + start and end offset rather than the element's. + * javax/swing/text/Utilities.java + (drawTabbedText): Avoid useless add and sub with the y offset. + +2006-11-02 Roman Kennke + + PR 29644 + * gnu/java/awt/peer/ClasspathFontPeer.java + (getStringBounds): Removed abstract method. This is replaced + in java.awt.Font to use a TextLayout. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (GtkWindowPeer): Set a font on the window object. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector(Font,String,FontRenderContext,int)): + Changed to take char,int,int instead of String. Filter + control characters. + (FreetypeGlyphVector(Font,String,FontRenderContext)): + Create char array out of string. + (getLogicalBounds): Don't translate bounds. They already are + translated. + * gnu/java/awt/peer/gtk/GdkFontMetrics.java + (stringWidth): Filter out control characters. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getStringBounds): Removed unneeded method. + (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector + constructor. + * gnu/java/awt/peer/qt/QtFontPeer.java + (getStringBounds): Removed unneeded method. + * gnu/java/awt/peer/x/XFontPeer.java + (getStringBounds): Removed unneeded method. + * gnu/java/awt/peer/x/XFontPeer2.java + (getStringBounds): Removed unneeded method. + * java/awt/Font.java + (getStringBounds(char[],int,int,FontRenderContext)): + Use TextLayout to determine the bounds. + (getStringBounds(CharacterIterator,int,int,FontRenderContext)): + Delegate to the char[] version of this method. + (getStringBounds(String,FontRenderContext)): + Delegate to the char[] version of this method. + (getStringBounds(String,int,int,FontRenderContext)): + Delegate to the String version of this method. + +2006-11-01 Tania Bento + + * java/awt/ScrollPaneAdjustable.java + (paramString): Changed format of string representation returned. + (paramStringHelper): New private method. + +2006-11-01 Tania Bento + + * java/awt/GridBagLayout.java + (toString): Implemented method. + +2006-10-30 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading + initialization to NP_Initialize. + (NP_Initialize): Initialize GLib threading. + +2006-10-31 Tania Bento + + * javax/swing/JTextField.java + (fireActionPerformed): When creating the new event, if + actionCommand == null, then getText() is used. + +2006-10-31 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (fillArc): Corrected arc type to Arc2D.PIE. + +2006-10-31 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.PreAction.end): Implemented. + (HTMLReader.PreAction.start): Implemented. + (HTMLReader.inPreTag): New field. + (HTMLReader.handleTag): When inside a pre tag, call preContent(). + (HTMLReader.preContent): Implemented. + +2006-10-31 Tania Bento + + * javax/swing/JTextField.java + (fireActionPerformed): When creating the new event, + actionCommand should be used as the command, not + getText(). + +2006-10-31 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (write): Use HTMLWriter or MinimalHTMLWriter for writing + HTML or Styled documents. + +2006-10-31 David Fu + + * javax/swing/text/html/HTMLWriter.java: New class. + +2006-10-30 Roman Kennke + + * java/awt/dnd/DragSourceContext.java + (dragExit): Use constant fields instead of 0. + (updateCurrentCursor): Completed implementation. + +2006-10-30 Roman Kennke + + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Added API docs. Do not replace the events object + but rather clear() it. Removed not implemented tag. + +2006-10-30 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (writeExternal): Remove not implemented tag. + +2006-10-30 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (javaFileListFlavor): Don't explicitly specify class. + (plainTextFlavor): Don't explicitly specify class. + (mimeType): Changed to type MimeType. Remove final. + (representationClass): Remove final. + (DataFlavor): Don't do anything here. + (DataFlavor(Class,String,String)): Removed. + (DataFlavor(Class,String)): Initialize here. + (DataFlavor(String,String,ClassLoader)): Initialize in init(). + (DataFlavor(String,String)): Initialize in init(). + (DataFlavor(String)): Initialize in init(). + (init): New initialization method. + (getMimeType): Delegate to MimeType.toString(). + (getParameter(String,String)): Removed. Is now done in MimeType. + (getParameter(String)): Delegate to MimeType. + (getPrimaryType): Delegate to MimeType. + (getRepresentationClassFromMime): Removed. + (getRepresentationClassFromMimeThrows): Removed. + (getSubType): Delegate to MimeType. + (hashCode): Take MimeType.toString() for the hashCode. + (isFlavorRemoveObjectType): Return true only when representation + class is remove and serializable and the mime type is remote. + (isFlavorSerializedObjectType): Return true only when representation + class is serializable and the mime type is serialized. + (isMimeTypeEqual): Rewritten to delegate to MimeType.matches(). + (isMimeTypeSerializedObject): Delegate to isMimeTypeEqual(). + (readExternal): Implemented stub method. + (writeExternal): Implemented stub method. + * java/awt/datatransfer/MimeType.java: New helper class. + +2006-10-28 Roman Kennke + + * javax/swing/TransferHandler.java + (importData): Implemented stub method. Added API docs. + +2006-10-26 Christian Elias Naur + + * native/jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_depth): New + function. + * native/jni/classpath/classpath_jawt.h: Likewise. + * native/jawt/jawt.c (_Jv_GetDrawingSurfaceInfo): Added + initializer for surface_info_x11->depth. + +2006-10-26 Tania Bento + + * java/awt/FileDialog.java: + (setFile): Changed if-clause condition. + +2006-10-25 Francis Kung + + * include/gnu_java_nio_VMChannel.h, + * include/java_net_VMNetworkInterface.h, + * include/gnu_java_nio_EpollSelectorImpl.h, + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_nio_FileChannelImpl.h, + * include/gnu_java_nio_KqueueSelectorImpl.h, + * include/gnu_java_nio_VMPipe.h, + * include/gnu_java_net_VMPlainSocketImpl.h: Regenerated. + +2006-10-25 Tania Bento + + * java/awt/Dialog.java: Created new private variable + next_dialog_number. + (Dialog(Frame, String, boolean, GraphicsConfiguration)): + Set cursor to default cursor. + (Dialog(Dialog, STring, boolean, GraphicsConfiguration)): + Same. + (generateName): New method. + (getUniqueLong): New private method. + * java/awt/FileDialog.java: Created new private variable + next_file_dialog_number. + (setFile): If file == "", set it to null. + (generateName): New method. + (getUniqueLong): New private method. + +2006-10-25 Robert Schuster + + * java/net/MulticastSocket.java: + (setNetworkInterface): Rewritten. + +2006-10-25 Robert Schuster + + * native/jni/java-net/javanet.h: Added declaration for + _javanet_create_inetaddress. + * native/jni/java-net/javanet.c: + (_javanet_create_inetaddress): Removed static keyword. + +2006-10-25 Robert Schuster + + * gnu/java/net/PlainDatagramSocketImpl.java: + (connect): Use VMChannel instance for connect call. + (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. + (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. + (setOption): Handle multicast options. + (getOption): Handle multicast options. + * gnu/java/net/PlainSocketImpl.java: + (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. + (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. + (setOption): Filter unappropriate options. + (getOption): Filter unappropriate options. + (connect): Use given SocketAddress. + (close): Reset address and port. + (getInetAddress): + * include/Makefile.am: Removed all occurences of + gnu_java_net_VMPlainDatagramSocketImpl.h. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. + * native/jni/java-net/Makefile.am: Removed + gnu_java_net_VMPlainDatagramSocketImpl.c from sources. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Removed. + as SocketException, declare to throw SocketException. + * native/jni/java-nio/gnu_java_nio_VMChannel.c: Added definitions + for SocketException and ConnectException. + (Java_gnu_java_nio_VMChannel_connect): Throw SocketException instead + of IOException. + (Java_gnu_java_nio_VMChannel_connect6): Throw SocketException instead + of IOException. + (Java_gnu_java_nio_VMChannel_accept): Rewritten. + (JCL_thread_interrupted): New function. + (initIDs): Added initialisation for isThreadInterrupted method id. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Added + CPNET_IP_TTL to java_sockopt enum. + (Java_gnu_java_net_VMPlainSocketImpl_setOption): Handle CPNET_IP_TTL + case, handle SO_LINGER case properly. + (Java_gnu_java_net_VMPlainSocketImpl_getOption): Handle CPNET_IP_TTL + case, handle SO_LINGER case properly. + (Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_leave6): Fixed constant to be + IPV6_LEAVE_GROUP. + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Removed. + * vm/reference/gnu/java/nio/VMChannel.java: + (connect(int, byte[], int, int)): Declare to throw SocketException. + (connect6): Declare to throw SocketException. + (connect(InetSocketAddress, int)): Catch IOException and rethrow + (isThreadInterrupted): New method. + * vm/reference/gnu/java/net/VMPlainSocketImpl.java: Added CP_IP_TTL + field. + (setTimeToLive): New method. + (getTimeToLive): New method. + (setMulticastInterface(int, InetAddress)): New method. + (setMulticastInterface(int, int, Inet4Address): New method. + (setMulticastInterface6(int, int, Inet6Address): New method. + (setOptions): Handle SO_LINGER case. + (getOptions): Add missing SO_REUSEADDR case. + * java/net/Socket.java: + (Socket(InetAddress, int, InetAddress, int, boolean)): Close socket + when exception was thrown out of connect(). + (setSoLinger): Replaced instantiations with valueOf calls, replaced + Boolean.FALSE with Integer.valueOf(-1). + * native/jni/native-lib/cpio.h: Added cpio_closeOnExec declaration. + * native/jni/native-lib/cpio.c: Added cpio_closeOnExec implementation. + * NEWS: Documented VM interface changes. + +2006-10-25 Robert Schuster + + * java/net/Inet6Address.java: + (isMulticastAddress): Fixed check. + +2006-10-25 Robert Schuster + + Fixes PR29576 + * java/net/MulticastSocket.java: + (getNetworkInterface): Return a special NetworkInterface instance + if the socket's multicast interface is set to any. + +2006-10-25 Robert Schuster + + Fixes PR29576 + * java/net/NetworkInterface.java: + (createAnyInterface): New method. + (equals): Added if-statement to handle case where netif.name is null. + * vm/reference/java/net/VMNetworkInterface.java: + (hashCode): Rewritten. + (VMNetworkInterface): New constructor. + +2006-10-24 Thomas Fitzsimmons + + * tools/Makefile.am: Add ASM_JAR define to each tool's CFLAGS. + * tools/toolwrapper.c (main): Set bootclasspath, not classpath. + Add ASM_JAR to bootclasspath. + +2006-10-24 Tania Bento + + * java/awt/Scrollbar.java: + (setLineIncrement): Removed unnecessary if-clause and if + lineIncrement == 0, then it should be set to 1, not 0. + (setPageIncrement): Removed unnecessary if-clause and if + pageIncrement == 0, then it should be set to 1, not 0. + (setValues): If visibleAmount <= 0, it should be set to 1, not 0. + If maximum <= minimum, maximum should be set to mininum + 1. The + actual value of maximum is maximum - visibleAmount, so I made + this change to the appropriate if-check. Remove the two unneccessary + if-clauses. + +2006-10-23 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoSetFont): New method. + (copy): Set font using setFont method. + (setFont): Call cairoSetFont. + (setup): Set font using setFont method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (install_font_peer): Removed. + (cairoDrawGlyphVector): Removed call to install_font_peer. + (cairoSetFont): New method. + +2006-10-23 Thomas Fitzsimmons + + * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file. + * gnu/java/awt/peer/gtk/GtkMainThread.java: Post + NativeEventLoopRunningEvent after GTK main loop start and stop. + * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning. + (getNextEvent): Set dispatchThread to null. + (postEventImpl): Set nativeLoopRunning. + (pop): Interrupt event dispatch thread. + * java/awt/Frame.java (noteFrame): Synchronize on weakFrames. + +2006-10-22 Christian Thalinger + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (config-int.h): + Added include. + * native/jni/java-nio/gnu_java_nio_VMChannel.c (config-int.h): + Likewise. + +2006-10-23 Marco Trudel + + * gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an unnecessary test. + * javax/crypto/CipherOutputStream.java: Re-implemented. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineUpdate(byte[], int, int)): Always keep data for unpadding in padded + decryption mode and check if it is a complete block. + (engineUpdate(byte[], int, int, byte[], int)): Likewise. + (engineDoFinal(byte[], int, int)): In padded decryption mode, take + partially processed data into account. + +2006-10-21 Tom Tromey + + PR classpath/29086: + * java/util/AbstractCollection.java (toArray): Removed cast. + +2006-10-20 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass): + Don't use mangled class name for .h file. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): + Don't use mangled class name for .c file. + * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass): + Handle classes from the default package. + +2006-10-20 Francis Kung + + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants. + +2006-10-19 Francis Kung + + PR 29510 + * java/awt/image/BufferedImage.java + (constructor): Updated some properties of default image types. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (argb32): Updated field to match default in BufferedImage. + +2006-10-18 Roman Kennke + + PR 29419 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Changed size comparison to return when size == 0 + too. + * javax/swing/JViewport.java + (paintBackingStore): Check width and height of blitted area + and only do blit if its > 0. + (paintBlit): Check width and height of blitted area + and only do blit if its > 0. + +2006-10-18 Roman Kennke + + PR 27091 + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (maximize): New native method. + (unmaximize): New native method. + (iconify): New native method. + (deiconify): New native method. + (getState): Implemented. + (setState): Implemented. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (oldState): Rename to windowState and made protected, so that + the FramePeer can access it. + (postWindowEvent): Handle state change events more gently and + correctly. + * java/awt/Frame.java + (getState): Fetch state from getExtendedState(). + (setExtendedState): Update the peer. Check if the state change + is actually supported. + (getExtendedState): Update the state from the peer. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c + (maximize): New method. + (unmaximize): New method. + (iconify): New method. + (deiconify): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (AWT_FRAME_NORMAL): New macro. + (AWT_FRAME_ICONIFIED): New macro. + (AWT_FRAME_MAXIMIZED_BOTH): New macro. + (window_window_state_cb): Rewritten to handle window state changes + more gently (mostly on the java side of the world). + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated. + +2006-10-18 Tania Bento + + * java/awt/CardLayout.java: + (maximumLayoutSize): Return a new Dimension with Integer.MAX_VALUE as + its height and width if Container passed as argument is null. + (gotoComponent): Consider the case where the component is not visible. + +2006-10-18 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Rename file... + * resource/gnu/classpath/tools/appletviewer/messages.properties: + New file. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + Remove file. + * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: + Remove file. + * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/Messages.java: New file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: + Retrieve user-visible strings through Messages.getString. + * tools/gnu/classpath/tools/appletviewer/Main.java: Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: + Likewise. + +2006-10-18 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (AWT_WINDOW_OPENED): Remove unnecessary macro. + (window_show_cb): Removed unnecessary function. + (connect_signals): Don't connect signal for show. * + gnu/java/awt/peer/gtk/GtkWindowPeer.java + (hasBeenShown): Removed. This is handled in java.awt.Window. + (postWindowEvent): Removed handling of WINDOW_OPENED. This is done + in java.awt.Window. * java/awt/Window.java + (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED. + +2006-10-18 Francis Kung + + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (drawRenderedImage): New method. + (drawImage): New method. + (CairoSurfaceGraphics): Set clip. + (createBuffer): New method. + (getBufferCM): New method. + (drawComposite): New method. + (fill): New method. + (getNativeCM): New method. + (drawGlyphVector): New method. + (draw): New method. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (getNativeCM): Reflect renamed field. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoCM_pre): Renamed from cairoColorModel. + (cairoColorModel): Set premultiplication to false. + +2006-10-18 Roman Kennke + + PR 28769 + * javax/swing/JScrollPane.java + (viewportBorder): Made field private. + (wheelScrollingEnabled): Made field private. + (JScrollPane): Enabled wheel scrolling by default. + * javax/swing/JTree.java + (TreeSelectionRedirector.valueChanged): Don't repaint anything + here. + (getScrollableUnitIncrement): Fixed thinko. + * javax/swing/plaf/basic/BasicScrollBarUI.java + (static scrollByBlock): New static method to avoid code duplication + for the BasicScrollPane wheel scrolling. + (static scrollByUnits): New static method to avoid code duplication + for the BasicScrollPane wheel scrolling. + (scrollByBlock): Delegate to static helper method. + (scrollByUnit): Delegate to static helper method. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Delegate to BasicScrollBarUI + static helper methods to avoid code duplication. + (MouseWheelHandler.bounds): Removed. + (MouseWheelHandler.getValue): Removed. + (MouseWheelHandler.scroll): Removed. + +2006-10-18 Roman Kennke + + PR 29502 + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (updateComponent): Don't override this here. + * java/awt/Window.java + (addWindowListener): Ignore null listener. Set newEventsOnly flag. + (addWindowFocusListener): Ignore null listener. Set newEventsOnly + flag. + (addWindowStateListener): Ignore null listener. Set newEventsOnly + flag. + +2006-10-18 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Try to detect and set the content type of the + connection stream. + +2006-10-18 Roman Kennke + + * javax/swing/RepaintManager.java + (RepaintWorkerEvent): Pass full set of params to super. + (RepaintWorker.dispatch): Overridden to allow apps to call this + via reflection. + (addDirtyRegion): Synchronize a little more to protect the + dirtyComponents field and avoid NPEs. + (invokeLater): Pass full set of params to RepaintWorkerEvent + constructor. + +2006-10-18 Roman Kennke + + * javax/swing/JEditorPane.java + (page): Removed field. The page is now stored in the correct + document property. + (getPage): Fetch page URL from document property. + (read): Set the document for this JEditorPane. Use a Reader + for reading in the document. + (setPage): Call getStream() to get the stream from which we read. + Fire property change. Store page in document property. + +2006-10-18 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (DataFlavor(String)): Removed check for space in mime string. + +2006-10-18 Roman Kennke + + * java/awt/Container.java + (validateTree): Call ContainerPeer.begin|endLayout() rather than + begin|endValidate(). + (validate): Call ContainerPeer.begin|endValidate() here. + Added some local vars to avoid NPEs. + +2006-10-18 Roman Kennke + + * native/target/.cvsignore + * native/target/Linux/.cvsignore + * native/target/generic/.cvsignore: + Added to let CVS ignore the generated Makefile and Makefile.in + files. + +2006-10-18 Roman Kennke + + PR 29448 + * java/awt/Window.java + (eventTypeEnabled): Overridden to handle WindowEvents. + (processEvent): Switch between processWindowEvent(), + processWindowFocusEvent() and processWindowStateEvent() here, + rather than simply calling processWindowEvent(). + (processWindowEvent): Only dispatch event to listener, do not + switch to processWindowFocusEvent() or processWindowStateEvent() + here. + * javax/swing/JFrame.java + (frameInit): Explicitly enable window and key events here. + (processWindowEvent): Throw out some unnecessary code. + * javax/swing/JWindow.java + (windowInit): Explicitly enable key events here. + * javax/swing/JDialog.java + (close_action): Renamed to closeAction. + (dialogInit): Explicitly enable window events here. + (getDefaultCloseOperation): Renamed close_action to closeAction. + (processWindowEvent): Throw out some unnecessary code. + Renamed close_action to closeAction. + (setDefaultCloseOperation): Renamed close_action to closeAction. + +2006-10-17 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag + to track native GTK event loop status. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and + clear running flag when native GTK event loop starts and stops. + +2006-10-17 Roman Kennke + + * javax/swing/TransferHandler.java + (exportToClipboard): Implemented. + +2006-10-17 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated + region to account for pixel-shifting. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made + proctected. + +2006-10-17 Francis Kung + + PR 29450 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getLogicalBounds): Translate individual glyphs before appending bounds. + (getOutline): Translate individual glyphs before appending outline. + +2006-10-17 Cameron McCormack + + PR 29014 + * java/awt/font/TextLayout.java + (bidi): New field. + (constructor): Store bidi in field. + (getCharacterLevel): Implemented. + +2006-10-17 Roman Kennke + + * javax/swing/TransferHandler.java + (PropertyTransferable): New inner class. Handles transfers + from component properties. + (createTransferable): Implemented. + +2006-10-17 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawComposite): Ensure composite does not extend beyond buffer + bounds. + * java/awt/image/Raster.java + (createChild): Ensure child does not extend beyond parent's + bounds. + * java/awt/image/WritableRaster.java + (createWritableChild): Ensure child does not extend beyond + parent's bounds. + +2006-10-17 Jeroen Frijters + + * native/jni/classpath/jcl.c + (JNI_OnLoad): Corrected calling convention. + +2006-10-16 Roman Kennke + + * javax/swing/TransferHandler.java + (propertyName): New field. + (TransferHandler(String)): Store property name in field. + (canImport): Implemented stub method. + (exportDone): This is a no-op. Removed not-implemented mark. + (getPropertyDataFlavor): New helper method. + (getPropertyDescriptor): New helper method. + +2006-10-16 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleJButton.getAfterIndex): Implemented. + (AccessibleJButton.getAtIndex): Implemented. + (AccessibleJButton.getBeforeIndex): Implemented. + (AccessibleJButton.getCharacterAttribute): Completed incomplete + method implementation. + +2006-10-16 Roman Kennke + + * javax/swing/JLabel.java + (AccessibleJLabel.getIndexAtPoint): Implemented. + (AccessibleJLabel.getCharacterBounds): Implemented. + (AccessibleJLabel.getTextRectangle): New helper method. + +2006-10-16 Roman Kennke + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Mark as implemented. + +2006-10-14 Roman Kennke + + PR 27957 + * javax/swing/JComponent.java + (toolTipText): Removed field. + (createToolTip): Don't set tooltip text here. This is done + in the ToolTipManager. + (setToolTipText): Set tooltip text as client property. + (getToolTipText): Get tooltip text from client property. + * javax/swing/ToolTipManager.java + (currentComponent): Made field non-static and of type JComponent. + (currentPoint): Made field non-static. + (currentTip): Made field non-static. + (popup): Made field non-static. + (toolTipText): New field. Stores the current tooltip text. + (checkTipUpdate): New helper method. Checks for updates of + the tooltip text and triggers the appropriate actions. + (getContentPaneDeepestComponent): Removed unneeded casts. + (mouseEntered): Removed unneeded cast. Initially fetch tooltip + text from component. + (mouseMoved): Check for tooltip text updates. + (showTip): Set tooltip text from current setting. + +2006-10-14 Roman Kennke + + PR 27956 + * javax/swing/JSlider.java + (setPaintLabels): Call setLabelTable() instead of setting + the field directly. This also updates the label's size. + +2006-10-13 Tom Tromey + + * tools/gnu/classpath/tools/javah/ClassWrapper.java (toString): New + method. + +2006-10-13 Tania Bento + + * java/awt/ScrollPane.java + (setLayout): Should throw AWTError whenever called. + +2006-10-13 Roman Kennke + + PR 29448 + * java/awt/Component.java + (dispatchEventImpl): Special handle ComponentReshapeEvents to + update the AWT's knowledge about a component's size. + * gnu/java/awt/ComponentReshapeEvent.java: New class. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (postConfigureEvent): Directly dispatch a ComponentReshapeEvent + to update the AWT's knowledge about the component bounds. + +2006-10-13 Tania Bento + + * java/awt/ScrollPaneAdjustable.java + (setMaximum): Should throw AWTError whenever called. + (setMinimum): Same. + (setVisibleAmount): Same. + +2006-10-13 Tania Bento + + * java/awt/ScrollPane.java + (addImpl): When calling super, index should be value passed, + not -1. + (getIsValidString): New helper method for paramString(). + (getScrollbarDisplayString): New helper method for paramString(). + (paramString): Changed format of outputted string. + +2006-10-13 David Gilbert + + * javax/swing/tree/DefaultTreeSelectionModel.java + (clone): Added cast to TreePath[]. + +2006-10-13 Roman Kennke + + PR 27780 + * javax/swing/JMenuItem.java + (isDragging): New field. Indicates if we are inside a mouse + drag. + (createMenuDragMouseEvent): Removed unneeded method. + (processMenuDragMouseEvent): Track if we are dragging. + (processMouseEvent): Simply forward to processMenuDragMouseEvent(). + * javax/swing/plaf/basic/BasicMenuItemUI.java + (MenuDragMouseHandler.menuDragMouseDragged): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseEntered): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseExited): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseReleased): Click on mouse + release inside menu item, otherwise clear selection. + (MenuInputHandler.mouseReleased): Avoid multiple calls to getX() + and getY(). Call doClick() rather than the doClick() of JMenuItem. + (doClick): Perform an immediate click. + +2006-10-13 Thomas Fitzsimmons + + * javax/swing/DefaultComboBoxModel.java (setSelectedItem): Simply + return if object is not in the list. + +2006-10-12 Andrew Haley + + * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. + * java/lang/ThreadLocal.java: Likewise. + +2006-10-12 Roman Kennke + + PR 27956 + * javax/swing/JSlider.java + (LabelUIResource): New inner class. A JLabel as UIResource. + (createStandardLabels): Don't set label bounds here. + Create LabelUIResource instances. + (setInverted): Repaint. + (setLabelTable): Update the label UIs. Revalidate and repaint. + (setMajorTickSpacing): Update the label table. Repaint if + necessary. + (setMinorTickSpacing): Repaint if necessary. + (setOrientation): Revalidate. + (setPaintLabels): Revalidate and repaint. + (setPaintTicks): Revalidate and repaint. + (setPaintTrack): Repaint. + (updateLabelUIs): Set the label sizes here. + (updateUI): Also update the label UIs. + * javax/swing/plaf/basic/BasicSliderUI.java + (ComponentHandler.componentResized): Don't revalidate. + (FocusHandler.focusGained): Don't set field. + (FocusHandler.focusLost): Don't set field. + (PropertyChangeHandler.propertyChange): Calculate geometry + and repaint for a couple more properties. + (TrackListener.mouseReleased): Repaint. + (hasFocus): Removed unneeded field. + (calculateContentRect): No need to check for content size < 0. + (calculateFocusRect): Use insets from insetCache. + (calculateLabelRect): Fixed calculation of label rectangle. + It is relative to the tick rectangle, rather than the content + rectangle. + (calculateTickRect): Small restructuring to avoid unnecessary + comparisons. + (calculateTrackRect): Fixed calculation of track rectangle. + (getMaximumSize): Fixed. Fetch preferred size and set + the height of width to Short.MAX_VALUE. + (getMinimumHorizontalSize): Fixed to return UIManager value. + (getMinimumVerticalSize): Fixed to return UIManager value. + (getPreferredHorizontalSize): Fixed to return UIManager value. + (getPreferredVerticalSize): Fixed to return UIManager value. + (getMinimumSize): Fixed to return the UIManager value plus + insets added. + (getPreferredSize): Fixed to return the UIManager value plus + insets added. + (getWidthOfWidestLabel): Restructured for more cleanness and + efficiency. + (hitClip): New helper method. + (paintHorizontalLabel): Replaced by more efficient and clean + implementation. + (paintVerticalLabel): Replaced by more efficient and clean + implementation. + (paintLabels): Replaced by more efficient and clean + implementation. + (paint): Check if rectangles intersect with clip for maximum + efficiency. + (recalculateIfInsetsChanged): Fixed. This method should + recalculate only when the insets changed. + (setThumbLocation): Repaint with a reasonable clip. + (xPositionForValue): Made more clean and efficient. + (yPositionForValue): Made more clean and efficient. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponenDefaults): Added Slider.horizontalSize, + Slider.verticalSize, Slider.minimumHorizontalSize and + Slider.minimumVerticalSize properties. + * javax/swing/plaf/metal/MetalSliderUI.java + (getTickLength): Add 1 for horizontal sliders and 3 for + vertical sliders. + (paintMajorTickForHorizSlider): Fix colors. Fix line locations. + (paintMinorTickForHorizSlider): Fix colors. Fix line locations. + (paintMajorTickForVertSlider): Fix colors. Fix line locations. + (paintMinorTickForVertSlider): Fix colors. Fix line locations. + +2006-10-12 Roman Kennke + + PR 28696 + * javax/swing/text/FlowView.java + (FlowStrategy.layout): Preserve logical views from getting lost. + (FlowStrategy.layoutRow): Fix line breaking. + (FlowStrategy.adjustRow): Fix line breaking. + (FlowStrategy.changedUpdate): Mark layout invalid, or repaint. + (FlowStrategy.insertUpdate): Mark layout invalid, or repaint. + (FlowStrategy.removeUpdate): Mark layout invalid, or repaint. + (createView): Don't check index. + (contains): New helper method. + (reparent): New helper method. + (layoutDirty): Removed unneeded field. + (FlowView): Removed layoutDirty field init. + (changedUpdate): Removed layoutDirty handling. + (insertUpdate): Removed layoutDirty handling. + (removeUpdate): Removed layoutDirty handling. + (layout): Use isLayoutValid() rather than the layoutDirty field. + * javax/swing/text/GlyphView.java + (startOffset): Removed. + (endOffset): Removed. + (offset): New field. + (length): New field. + (GlyphView): Initialize new fields. Removed old fields. + (createFragment): Create fragment with new relative offsets. + (getEndOffset): Work with new relative offsets. + (getStartOffset): Work with new relative offsets. + * javax/swing/text/ParagraphView.java + (Row.getStartOffset): Overidden to determine the minimum start + offset from the children. + (Row.getEndOffset): Overidden to determine the maximum end + offset from the children. + * javax/swing/text/html/BRView.java + Make subclass of InlineView. + (getBreakWeight): Fall back to super for Y_AXIS. + +2006-10-12 Roman Kennke + + PR 28733 + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabPaneLayout.normalizeTabRuns): Replaced algorithm with + one that avoids faulty state that could cause division by zero + error. + +2006-10-12 Roman Kennke + + PR 28057 + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Determine correct icon. Added support for HTML label. + Added small optimizations. + (getPreferredSize): Only consider the buttons iconTextGap, and + only when the text is not null. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Fetch border for RadioButton from + BasicButtons.getRadioButtonBorder(). + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (paintFocus): Paint focus rectangle one pixel smaller. + +2006-10-12 Roman Kennke + + PR 29418 + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions): Don't throw InternalError, but instead + return null. + (getRowsForPaths): Check for null here. + (isFixedRowHeight): Returns true when rowHeight > 0. + (setSelectionModel): Set this as the row mapper for the selection + model. + * javax/swing/tree/VariableHeightLayoutCache.java + (NodeRecord.NodeRecord): Initialize bounds field. + (getBounds): Simply return the bounds field. + (row2Node): Changed to be an ArrayList. + (RECT_CACHE): New field. Caches a Rectangle instance. + (countRows): Added y parameter and return value. The method + now takes the current y position as parameter, and returns + the updated y position. + (getBounds): Fixed to return the correct bounds. + (getPathForRow): Replaced by fixed implementation. + (getPreferredHeight): Replaced by more efficient implementation. + This simply fetches the last node record and returns its lower + bounds. + (getPreferredWidth): Added null check. + (getVisibleChildCount): Added null check. + (getVisiblePathsFrom): Added null check. + (setExpandedState): Also expand the ancestors of the node + to be expanded. + (setModel): Set dirty flag rather than updating for real. + (setNodeDimensions): Overridden to set the dirty flag. + (setRowHeight): Overridden to set the dirty flag. + (update): Don't special case the root here, this is done now + in countRows(). + +2006-10-12 Roman Kennke + + * javax/swing/JComponent.java + (paintImmediately2): Added support for components which need + to force themselves as paint root. + (isPaintRoot): New method. This should be overridden by components + which need to force themselves as paint root. + * javax/swing/JViewport.java + (isPaintRoot): Overridden to force the viewport as paint root + when running in backingstore mode. + +2006-10-12 Roman Kennke + + * javax/swing/tree/DefaultTreeSelectionModel.java + (PathPlaceHolder): New inner class. Wraps a path and its status + wrt to its newness. + (selectedPaths): New field. A supporting datastructure. + (tmpPaths): New field. A supporting datastructure. + (DefaultTreeSelectionModel): Initialize the list selection model, + the leadIndex and the supporting datastructures. + (addPropertyChangeListener): Create changeSupport object lazily. + (addSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (addSelectionPath): Delegate to addSelectionPaths(). + (arePathsContiguous): Replaced with more efficient implementation + using BitSet + (canPathBeAdded): Removed unneeded method. + (canPathsBeAdded): Replaced with more efficient implementation. + (clearSelection): Create correct event. Clear the fields correctly, + including the supporting datastructures. + (clone): Also clone the supporting datastructures and nullify + changeSupport field. + (getMaxSelectionRow): Delegate to list selection model. + (getMinSelectionRow): Delegate to list selection model. + (getPath): Removed unneeded method. + (getPropertyChangeListeners): Handle null changeSupport field + correctly. + (getRow): Handle null rowMapper field correctly. + (getSelectionRows): Handle invisible rows correctly. + (insureRowContinuity): Replaced by more efficient and correct + implementation. + (isRowSelected): Delegate to list selection model. + (notifyPathChange): Made more efficient by use of PathPlaceHolder + class. + (removePropertyChangeListener): Handle null changeSupport field. + (removeSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (removeSelectionPath): Delegate to removeSelectionPaths(). + (resetRowSelection): Handle list selection model. + (selectOne): Removed unneeded field. + (setRowMapper): Reset the row selection. + (setSelectionMode): Check for invalid mode and set to + DISCONTINUOUS_TREE_SELECTION in this case. Fire property change. + (setSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (setSelectionPath): Delegate to setSelectionPaths(). + (updateLeadIndex): Made more efficient. + +2006-10-11 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (buffer, locked): New fields. + (constructors): Initialize new variables. + (createBuffer): New method. + (draw): Implement custom composites. + (drawComposite): New method. + (drawGlyphVector): Implement custom composites. + (drawImage): Implement custom composites. + (drawRenderedImage): Implement custom composites. + (fill): Implement custom composites. + (getBufferCM): New method. + (getNativeCM): New method. + (updateBufferedImage): Fix premultiplication. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Copy composite. + (drawImage): Set background properly. + (getBufferCM): New method. + (setComposite): Reset alpha composite when using custom composite. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoColorModel): New field. + (nativeColorModel): Renamed. + (constructor): Use renamed createCairoSampleModel method. + (createCairoSampleModel): New method. + (createNativeSampleModel): Renamed. + (getBufferedImage): Use renamed cairoColorModel field. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + (gdkColorModel): New field. + (createGdkSampleModel): New method. + (getPixels): Added comments. + (getSnapshot): Use GDK colour and sample models. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (createBuffer): Use GDK colour and sample models. + (getNativeCM): Added comments. + * java/awt/image/BufferedImage.java + (constructor): Set premultiplied flag properly. + +2006-10-11 Edwin Steiner + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_lock): Special case Long.MAX_VALUE. + +2006-10-10 Francis Kung + + PR 29372 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Added isDraw parameter. + (draw): Updated createPath call. + (fill): Updated createPath call. + +2006-10-10 Tom Tromey + + PR classpath/29362: + * gnu/xml/transform/TransformerImpl.java (transform): Only strip if + there is a stylesheet. + +2006-10-10 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultTookit): Make method synchronized to avoid + accidentally creating more than one toolkits from different + threads. + +2006-10-10 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Redispatch MOUSE_WHEEL events too. + (redispatch): Transfer the button to the redispatched event. + +2006-10-10 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Implemented. + +2006-10-09 Christian Elias Naur + + * vm/reference/java/lang/VMClassLoader.java: + (defineClassWithTransformers): Use proper class name format. + +2006-10-09 Gary Benson + + * java/net/ServerSocket.java + (implAccept): Add security check. + (accept): Close socket if security check fails. + (setSocketFactory): Add security check and already-set check. + +2006-10-09 Roman Kennke + + PR 29325 + * javax/swing/JSplitPane.java + (dividerLocation): New field. Stores the divider location. + (JSplitPane): Initialize dividerLocation with -1. + (addImpl): Removed unneeded local variables. + (getDividerLocation): Manage dividerLocation in the JSplitPane + class, not in the UI. + (setDividerLocation): Manage dividerLocation in the JSplitPane + class, not in the UI. Only call the UI method for notification. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Fetch divider + location from the JSplitPane. Honour the minimumSize, but only + if the divider location hasn't been set explicitly. + (BasicHorizontalLayoutManager.minimumLayoutSize): Removed unneeded + statement. + (BasicHorizontalLayoutManager.preferredLayoutSize): Removed unneeded + statement. + (BasicHorizontalLayoutManager.resetToPreferredSizes): Don't touch + the divider location. + (dividerLocationSet): New field. + (dividerLocation): Removed field. + (createActionMap): Fetch and set divider location on the JSplitPane. + (getDividerLocation): Return the actual real divider location. + (getMaximumSize): Removed unneeded cast. + (getPreferredSize): Removed unneeded cast. + (getMinimumSize): Removed unneeded cast. + (installUI): Initialize dividerLocationSet with false. + (uninstallUI): Initialize dividerLocationSet with false. + (setDividerLocation): Set dividerLocationSet to true. + +2006-10-09 Robert Schuster + + * native/jni/java-net/gnu_java_net/VMPlainSocketImpl.c: + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): Properly + convert jstring into char *. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): Dito. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): Dito. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): Dito. + (getif_address): Added const modifier to second argument. + (getif_index): Dito. + +2006-10-09 Roman Kennke + + * javax/swing/JTree.java + (isSelected): Added API docs. + +2006-10-09 Roman Kennke + + * javax/swing/JTree.java + (isSelected): Delegate to the selection model directly. + +2006-10-09 Robert Schuster + + * gnu/java/nio/KqueueSelectorImpl.java: Renamed field + sizeof_struct_kevent to _sizeof_struct_kevent. + +2006-10-07 Audrius Meskauskas + + * tools/gnu/classpath/tools/rmic/RMICException.java: + javadoc corrections, reformatted. + +2006-10-07 Christian Elias Naur + + * gnu/java/lang/InstrumentationImpl.java: + Made constructor package visible. + +2006-10-05 Gary Benson + + * java/net/Socket.java + (Socket): Perform security check on address not hostname. + +2006-10-04 Roman Kennke + + * javax/swing/tree/VariableHeightLayoutCache.java + (getBounds): When rect is null, create a new Rectangle. + +2006-10-04 Christian Thalinger + + * native/jni/java-nio/javanio.c (cpnio_read, cpnio_readv) + (cpnio_write, cpnio_writev, cpnio_socket, cpnio_connect) + (cpnio_accept, cpnio_sendto, cpnio_recvfrom, cpnio_fcntl) + (cpnio_select): Use CPNIO_EXPORT. + * native/jni/java-nio/javanio.h (CPNIO_EXPORT): Define to static + inline instead of extern inline, as newer GCCs changed their + behavior. + +2006-10-04 Gary Benson + + * java/net/InetAddress.java: Updated javadoc. + (, getByLiteral): Throw InternalError on failures. + +2006-10-03 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (compCtx): New field for composite context. + (copy): Copy composite. + (dispose): Dispose of composite context. + (getNativeCM): New method. + (setComposite): Discard old composite context and set up new context. + (setRenderingHints): Update composite context. + * gnu/java/awt/peer/gtk/CairoSurface.java + (nativeColorModel): New field, renamed from nativeModel. + (nativeModel): Renamed field to nativeColorModel. + (CairoSurface(int, int)): Call new method to create sample model. + (createNativeSampleModel): New method. + (getBufferedImage): Updated variable name. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (buffer): New field. + (createBuffer): New method. + (draw): New method. + (drawComposite): New method. + (drawGlyphVector): New method. + (drawImage(Image, AffineTransform, Color, ImageObserver)): New method. + (drawImage(Image, int, int, ImageObserver)): Check composite. + (drawImage(Image, int, int, int, int, ImageObserver)): Check composite. + (fill): New method. + (getNativeCM): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels): Use + intermediary pixbuf to grab on-screen pixels. + +2006-10-03 Tom Tromey + + PR classpath/28987: + * java/util/IdentityHashMap.java (tombstone): Removed. + (emptyslot): Removed. + (nullslot): New field. + (IdentityHashMap): Don't fill array. + (clear): Fill with null. + (hash): Now final. Use linear probing. + (xform): New method. + (unxform): Likewise. + (removeAtIndex): Likewise. + (clone, containsKey, containsValue, entrySet, get, hashCode, + keySet, put, remove, values): Updated. + (IdentityIterator, IdentityEntry): Likewise. + (writeObject): Likewise. + +2006-10-03 Tom Tromey + + * java/util/Locale.java (hashcode): Updated javadoc. + (hashcodeCache): Removed. + (Locale): Updated. + (hashCode): Updated. + (writeObject): New method. + (readObject): Updated. + +2006-10-02 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Recognise that raw data is alpha-premultiplied. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clearRect): Paint background colour with AlphaComposite.SRC rule. + (drawImage(Image, AffineTransform, Color, ImageObserver)): Alpha + pre-multiply data before drawing. + (fillRect): Draw using regular fill() method. + (setComposite): Handle null case with AlphaComposite.SrcOver default. + * gnu/java/awt/peer/gtk/CairoSurface.java + (nativeModel): Use correct value for alpha premultiplication (true). + * java/awt/image/BufferedImage.java + (coerceData): Update isPremultiplied field. + +2006-10-02 Andrew John Hughes + + * gnu/classpath/ListenerData.java: + New class for holding listener data. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + ListenerData class moved to its own file. + * javax/management/MBeanServerDelegate.java, + * javax/management/MBeanServerDelegateMBean.java, + * javax/management/MBeanServerNotification.java: + Implemented. + +2006-10-02 Tania Bento + + * java/ast/Rectangle.java: + (Rectangle(Rectangle)): Do not throw NPE. + (Rectangle(Point, Dimension)): Same. + (Rectangle(Point)): Same. + (Rectangle(Dimension)): Same. + +2006-09-29 Casey Marshall + + PR 29190 + * gnu/java/nio/EpollSelectionKeyImpl.java: extend + `AbstractSelectionKey.' + (cancel, isValid): removed. + * gnu/java/nio/EpollSelectorImpl.java (cancelledKeys): removed. + (events): new field. + (INITIAL_CAPACITY, MAX_DOUBLING_CAPACITY, CAPACITY_INCREMENT): new + fields. + (): initialize those constants. + (): don't initialize `cancelledKeys;' initialize `events.' + (doSelect): deregister cancelled keys; remove keys attached to + closed channels; wrap `epoll_wait' in `begin' and `end' calls; use + `events' buffer; reallocate `events' buffer if needed. + (register): reallocate `events' buffer if needed. + (reallocateBuffer): new method. + (cancel): removed. + +2006-09-29 Roman Kennke + + PR 28929 + * javax/swing/JViewport.java + (cinit): Renamed system property to gnu.swing.scrollmode + to avoid bloat. Default to BACKINGSTORE, this is much + more reliable. + (repaint): Forward repaint() to parent as is specified. + +2006-09-29 Tania Bento + + * javax/swing/plaf/basic/BasicTableUI.java + (getPreferredSize): The number of iterations for the for-loop should be + the number of columns in the table's column model, not the number of + columns of the table. + * javax/swing/JTable.java + (JTable(TableModel, TableColumnModel, ListSelectionModel): Removed 4 + lines that are not needed. + (initializeLocalVars): dragEnabled should be set to false, not true. + (getCellRenderer): Added a check to prevent an + ArrayIndexOutOfBoundsException. + (doLayout): The number of iterations for the for-loops should be the + number of columns in the table's column model, not the number of columns + of the table. + +2006-09-29 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: Updated + API docs. + (isOptimized): Initialize with true. + (paintRaster): Removed unneeded field. + (shapeCache): New static field. Caches certain shapes for reuse. + (computeIntersection): Removed unneeded casts. + (drawArc): Use shape cache. + (drawImage): Removed unneeded statement. + (drawLine): Use shape cache. Pass untranslated coordinates + to rawDrawLine(). + (drawOval): Use shape cache. + (drawPolygon): Use shape cache. + (drawRect): Overridden to provide accelerated rectangle drawing + if possible and to use the shape cache. + (drawRoundRect): Use shape cache. + (fillArc): Use shape cache. + (fillOval): Use shape cache. + (fillPolygon): Use shape cache. + (fillRect): Pass untranslated coordinates to rawFillRect(). + Use shape cache. + (fillRoundRect): Use shape cache. + (fillScanlineAA): Removed unneeded statement. + (fillScanline): Updated API docs. + (fillShapeAntialias): Removed unnecessary cast. + (fillShapeImpl): Update API docs. Removed unnecessary cast. + (fillShape): Updated API docs. + (getShapeCache): New helper method. + * gnu/java/awt/java2d/ShapeCache.java: New class. Caches + certain shapes for reuse in AbstractGraphics2D. + +2006-09-28 Andrew John Hughes + + * javax/management/BadBinaryOpValueExpException.java: + (getExp()): Implemented. + * javax/management/MBeanConnection.java: + Renamed to MBeanServerConnection. + * javax/management/MBeanServer.java: + (setAttribute(Attribute)): Fixed... + (setAttribute(ObjectName,Attribute)): to this. + * javax/management/MBeanServerConnection.java: + Renamed from MBeanConnection. + * javax/management/QueryExp.java: + Extend Serializable. + * javax/management/ValueExp.java: + Likewise. + * javax/management/loading/ClassLoaderRepository.java: + (loadClass(String)): Throw ClassNotFoundException. + (loadClassBefore(ClassLoader,String)): Likewise. + (loadClassWithout(String, ClassLoader): Fixed... + (loadClassWithout(ClassLoader,String)): to this. + +2006-09-28 Roman Kennke + + * javax/swing/tree/DefaultTreeCellRenderer.java + (DefaultTreeCellRenderer): Fetch drawsFocusBorderAroundIcon + property from UIManager. + (paint): Rewritten to use super's implementation and only paint + background and focus indicator before. + (paintFocus): New helper method. + (getXOffset): New helper method. + +2006-09-28 Andrew John Hughes + + * javax/management/BadBinaryOpValueExpException.java, + * javax/management/MBeanConnection.java, + * javax/management/MBeanServer.java, + * javax/management/ObjectInstance.java: + Implemented. + * javax/management/ObjectName.java: + (setMBeanServer(MBeanServer)): Implemented. + * javax/management/QueryExp.java, + * javax/management/ValueExp.java, + * javax/management/loading/ClassLoaderRepository.java: + Implemented. + +2006-09-27 Robert Schuster + + * gnu/java/nio/VMChannelOwner.java: Removed unneeded imports. + +2006-09-27 Robert Schuster + + * vm/reference/gnu/java/nio/VMChannel.java: Removed unneeded imports. + * vm/reference/gnu/java/nio/VMPipe.java: Removed unneeded imports. + * gnu/java/nio/EpollSelectorImpl.java: + (doSelect): Use Integer.valueOf() instead of constructor call. + (register): Use Integer.valueOf() instead of constructor call. + +2006-09-27 Roman Kennke + + * java/awt/Container.java + (addContainerListener): Activate newEventsOnly for the component. + Ignore null listeners. + +2006-09-27 Roman Kennke + + * java/awt/EventQueue.java + (Queue): New inner class. Implements the actual queue. + (LOW_PRIORITY): New constant field. + (NORM_PRIORITY): New constant field. + (queueHead): Removed. Moved into Queue. + (queueTail): Removed. Moved into Queue. + (queues): New field. + (EventQueue): Initialize two internal queues, one for + normal events, one for low priority events. + (getNextEventImpl): New helper method, fetches the next event. + (getNextEvent): Use getNextEventImpl() for fetching the event. + (peekEvent): Use getNextEventImpl() for fetching the event. + (peekEvent(int)): Search for event in all queues. + (postEventImpl(AWTEvent)): Moved actual posting into + postEventImpl(AWTEvent,int). Prioritize events here. + (postEventImpl(AWTEvent,int)): Take priority parameter and insert + event into correct queue. Re-enable event coalescing. + * gnu/java/awt/LowPriorityEvent.java: New marker interface. + * javax/swing/RepaintManager.java + (RepaintWorkerEvent): New internal class. This is a low priority + event for the repaint worker. + (addDirtyRegion): Use new internal invokeLater() for sending + a low priority event. + (addInvalidComponent): Use new internal invokeLater() for sending + a low priority event. + (commitBuffer): Added some null checks. + (invokeLater): New helper method. Sends a low priority + repaint worker event on the event queue. + +2006-09-27 Roman Kennke + + PR 29036 + PR 29161 + * javax/swing/plaf/basic/BasicButtonUI.java + (cachedInsets): New field. + (installListeners): Fire synthetic property change to initialize + TEXT_LAYOUT_CACHE for the button because the font has been + installed before. + (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. + (paint): Use cached insets. + (paintText): Let new method forward to old one, not vice versa. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (defaultAcceleratorLabelGap): Removed unused field. + (MenuGap): Removed unused field. + (propertyChangeListener): Made private. + (getAcceleratorRect): Removed unused method. + (getAcceleratorText): Removed unused method. + (getPath): Removed unnecessary cast. + (installListeners): Fire synthetic property change to initialize + TEXT_LAYOUT_CACHE for the button because the font has been + installed before. + (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. + (layoutMenuItem): Removed unused statements. + +2006-09-27 Roman Kennke + + PR 29218 + * javax/swing/tree/DefaultTreeModel.java + (isLeaf): Check if the node allows children when + asksAllowsChildren is true, otherwise fall back + to return the node's leaf property. + +2006-09-27 Mario Torre + + * scripts/check_jni_methods.sh: removed methods from the + ignore list: + Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class + Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache + Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * native/jni/gconf-peer/GConfNativePeer.c: fixed coding style + to better follow the GNU style. + * include/gnu_java_util_prefs_gconf_GConfNativePeer.h. + regenerated header file for GConfNativePeer. + +2006-09-27 Robert Schuster + + * INSTALL: Added information about grmic being built when ASM + is available, added information about gconf dependency, indented + Qt4 dependency section. + * configure.ac: Added information about grmic being built when ASM + is available. + +2006-09-27 Ian Rogers + + * native/jni/classpath/jcl.c (JNI_OnLoad): Don't call + DeleteGlobalRef on a local ref. + +2006-09-24 Mario Torre + + * scripts/check_jni_methods.sh: added two new methods in the + ignore list: + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + and + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * native/jni/gconf-peer/GConfNativePeer.c: + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys): + refacored method name, renamed from + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys. + Added code to unescape escaped GConf key names. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes): + refacored method name, renamed from + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes. + Added code to unescape escaped GConf key names. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key): + new function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key): + new function. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: removed + version javadoc tag. + (escapeString): new method. + (unescapeString): likewise. + (gconf_escape_key): new native method. + (gconf_unescape_key): likewise. + (gconf_client_suggest_sync): update native method signature, now + explicity throws BackingStoreException. + (gconf_client_all_nodes): update native method signature, now + explicity throws BackingStoreException. Refactored method name, + renamed from gconf_client_gconf_client_all_nodes. + (gconf_client_all_keys): update native method signature, now + explicity throws BackingStoreException. Refactored method name, + renamed from gconf_client_gconf_client_all_keys. + (getKeys): refactored to use the new method name + gconf_client_all_keys. + (getChildrenNodes): refactored to use the new method name + gconf_client_all_nodes. + * gnu/java/util/prefs/GConfBasedPreferences.java: removed + version javadoc tag. + (GConfBasedPreferences): Added code to escape node names from + invalid characters so that GConf now accept invalid node names. + (GConfBasedPreferences): Moved code to register the current + node to the list of nodes watched by GConf outside the constructor. + (childSpi): Added code to register the current node to the + list of nodes watched by GConf. + (getGConfKey): Added code to escape key names from + invalid characters so that GConf now accept invalid key names. + +2006-09-26 Tom Tromey + + * tools/gnu/classpath/tools/javah/Printer.java (Printer): Don't + call mkdirs in output-directory case. + (getPrintStream): Create output directory. + * tools/gnu/classpath/tools/javah/Main.java (makeOutputDirectory): + Don't call mkdirs. + +2006-09-27 Raif S. Naffah + + * tools/gnu/classpath/tools/javah/CniIncludePrinter.java (CniIncludePrinter): + Accept three additional arguments. + (writePreambleImpl): New method. + (getPrintStreamImpl): Likewise. + (printClass): Adapted to use new methods in Printer superclass. + * tools/gnu/classpath/tools/javah/CniStubPrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/Main.java (outFileName): New field. + (force): Likewise. + (getParser): Add support for -o option. + Check that only one of -d or -o is defined. + Add support for -jni option. + Add support for -force option. + (makeOutputFile): New method. + (writeHeaders): Removed File argument from signature. + (run): Take into account newly added fields. + Invoke concrete PrintStream implementations with augmented constructors. + * tools/gnu/classpath/tools/javah/Printer.java (outputFileObject): New field. + (isDirectory): Likewise. + (force): Likewise. + (wrotePreamble): Likewise. + (Printer): Changed ctor to accept three additional arguments. + (printClass): Changed signature to accept one ClassWrapper argument. + (writePreambleImpl): New abstract method. + (getPrintStreamImpl): Likewise. + (getPrintStream): New method. + (writePreamble): Likewise. + +2006-09-26 Tania Bento + + * java/awt/GridLayout.java + (toString): There is no common before hgap. + * java/awt/Rectangle.java + (Rectangle(Rectangle)): Throw NPE if Rectangle is null. + (Rectangle(Point, Rectangle)): Throw NPE if either Point or + Rectangle is null. + (Rectangle(Point)): Throw NPE if Point is null. + (Rectangle(Dimension)): Throw NPE if Dimension is null. + +2006-09-26 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (FileIcon16.paintIcon): Apply vertical shift by the number of pixels + returned by getShift(), + (FileIcon16.getShift): Updated API docs, + (FolderIcon16.paintIcon): Apply vertical shift by the number of pixels + returned by getShift(), + (FolderIcon16.getShift): Updated API docs, + (TreeFolderIcon.getShift): Likewise, + (TreeLeafIcon.getShift): Likewise. + +2006-09-26 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (FileIcon16.paintIcon): Fetch colors from look and feel, + (FolderIcon16.paintIcon): Likewise. + +2006-09-25 Casey Marshall + + * gnu/java/nio/FileChannelImpl.java (read): revert back to using + `readScattering.' + (write): revert back to using `writeGathering.' + * vm/reference/gnu/java/nio/VMChannel.java (writeGathering): find + the first buffer that has data remaining, and start at that one. + +2006-09-25 Tom Tromey + + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): New + variable. + +2006-09-25 Tom Tromey + + * tools/.cvsignore: Updated. + +2006-09-25 Tom Tromey + + PR libgcj/29178: + * gnu/java/nio/charset/US_ASCII.java (Encoder.canEncode): New method. + (Encoder.canEncode): Likewise. + (Encoder.encodeLoop): Return unmappable for all non-ASCII characters. + * gnu/java/nio/charset/ByteCharset.java (Encoder.canEncode): New + method. + (Encoder.canEncode): Likewise. + * gnu/java/nio/charset/ISO_8859_1.java (Encoder.canEncode): New + method. + (Encoder.canEncode): Likewise. + +2006-09-25 Tom Tromey + + * native/fdlibm/mprec.c (mprec_calloc): Renamed. + (Balloc): Updated. + +2006-09-25 Francis Kung + + * java/awt/image/ColorModel.java + (coerceData): Made abstract. + (coerceDataWorker): New protected method. + * java/awt/image/ComponentColorModel.java + (coerceData): Return new instance of proper ColorModel. + * java/awt/image/DirectColorModel.java + (coerceData): Return new instance of proper ColorModel. + * java/awt/image/IndexColorModel.java + (coerceData): New method. + +2006-09-24 Casey Marshall + + * gnu/java/nio/FileChannelImpl.java + (read): call `read' in a loop, don't use `readScattering.' + (write): call `write' in a loop, don't use `writeGathering.' + +2006-09-24 Mark Wielaard + + * configure.ac: Move -pedantic from WARNING to STRICT flags. + +2006-09-24 Jeroen Frijters + + * java/nio/channels/spi/AbstractSelectableChannel.java + (register): Set interestOps and attachment when the key already + exists. + +2006-09-24 Jeroen Frijters + + * java/net/ServerSocket.java + (bind(SocketAddress,int)): Added support for null address. + Throw proper exception if already bound. + Handle unresolved addresses correctly. Ignore exceptions that + happen during close in error path (to prevent losing the original + exception.) + +2006-09-24 Mark Wielaard + + Suggested by Aaron M. Ucko + Fixes bug #29203 + * native/fdlibm/mprec.c (ulp): Define L as int32_t. + +2006-09-24 Jeroen Frijters + + * java/nio/channels/spi/AbstractSelectableChannel.java + (implCloseChannel): Cancel all keys after closing the channel. + +2006-09-22 Casey Marshall + + * gnu/java/nio/EpollSelectorImpl.java (doSelect): remove keys + after we delete them. + (selectedKeys): return an empty set if nothing's been selected. + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): don't + throw an exception on EBADF. + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait): don't + throw exception on EINTR, just return 0. + +2006-09-22 Casey Marshall + + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): + remove `const' from `filename.' + * native/jni/native-lib/cpio.c (cpio_readDir): remove `const' from + `filename.' + * native/jni/native-lib/cpio.h (cpio_readDir): likewise. + +2006-09-22 Casey Marshall + + * configure.ac (AC_CHECK_FUNCS): check for `readdir_r.' + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): + allocate `filename,' and handle changes to `cpio_readDir.' + * native/jni/native-lib/cpio.c (cpio_readDir): use `readdir_r' if + available; copy the filename into the destination buffer; return + an error code if readdir returns NULL, but errno is 0. + * native/jni/native-lib/cpio.h (cpio_readDir): change second + parameter to `const char *.' + +2006-09-23 Andrew John Hughes + + * javax/management/ObjectName.java: + Implemented. + +2006-09-22 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/orbd: New directory. + * resource/gnu/classpath/tools/rmic: Likewise. + * resource/gnu/classpath/tools/rmid: Likewise. + * resource/gnu/classpath/tools/rmiregistry: Likewise. + * resource/gnu/classpath/tools/tnameserv: Likewise. + * tools/gnu/classpath/tools/giop: Move contents to... + * tools/gnu/classpath/tools/orbd, + tools/gnu/classpath/tools/tnameserv: New directories. + * tools/gnu/classpath/tools/rmi/rmic: Move contents to... + * tools/gnu/classpath/tools/rmic: New directory. + * tools/gnu/classpath/tools/rmi/rmid: Move contents to... + * tools/gnu/classpath/tools/rmid: New directory. + * tools/gnu/classpath/tools/rmi/registry: Move contents to... + * tools/gnu/classpath/tools/rmiregistry: New directory. + * resource/gnu/classpath/tools/orbd/messages.properties: New file. + * resource/gnu/classpath/tools/rmic/messages.properties: Likewise. + * resource/gnu/classpath/tools/rmid/messages.properties: Likewise. + * resource/gnu/classpath/tools/rmiregistry/messages.properties: + Likewise. + * resource/gnu/classpath/tools/tnameserv/messages.properties: + Likewise. + * tools/gnu/classpath/tools/orbd/Main.java, + tools/gnu/classpath/tools/orbd/Messages.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/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/Messages.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/rmic/templates, + 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/Messages.java, + tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java, + tools/gnu/classpath/tools/rmiregistry/Main.java, + tools/gnu/classpath/tools/rmiregistry/Messages.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/tnameserv/Main.java, + tools/gnu/classpath/tools/tnameserv/Messages.java: New files. + * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java: Import + RMIC.java from cp-tools. + * configure.ac (AC_CONFIG_FILES): Add tools/grmiregistry, + tools/gtnameserv, tools/gorbd, tools/grmid and tools/grmic. + (AC_CONFIG_COMMANDS): Add grmiregistry, gtnameserv, gorbd, grmid + and grmic. + * examples/Makefile.am (GLIBJ_CLASSPATH): Add tools.zip. + * gnu/CORBA/NamingService/NamingServiceTransient.java (main): + Rename... + (start): New method. + * tools/Makefile.am: Add build support for new tool wrappers. + * tools/gorbd.in: New file. + * tools/grmic.in: Likewise. + * tools/grmid.in: Likewise. + * tools/grmiregistry.in: Likewise. + * tools/gtnameserv.in: Likewise. + * tools/gnu/classpath/tools/AbstractMethodGenerator.java: Move to... + * tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java: New + file. + * tools/gnu/classpath/tools/HelpPrinter.java: Remove file. + * tools/gnu/classpath/tools/rmi/Persistent.java: Move to... + * tools/gnu/classpath/tools/common/Persistent.java: New file. + +2006-09-22 Ito Kazumitsu + + Fixes bug #29047 + * gnu/java/util/regex/RETokenRepeated.java + (findMatch): Rewriten without using recursive calls, + (FindMatchControlStack): New class, + (FindMatchControl): New class, + (TryAnotherResult): New class, + (tryAnother): New method. + +2006-09-22 Gary Benson + + * java/net/SocketPermission.java + (processHostport): Cope with IPv6 addresses with a + one-digit first component. + +2006-09-22 Roman Kennke + + * java/awt/Component.java + (enableEvents): Set newEventsOnly flag. + * java/awt/Container.java + (dispatchEventImpl): Consume event if lightweight dispatcher + dispatched the event. Don't call processEvent() here, this + is already done in Component.dispatchEventImpl(). For + heavyweights or when the lightweight dispatcher could + not dispatch, fall back to calling super. + (dispatchNoLightweight): New helper method to avoid + recursivly calling the lightweight dispatcher. + * java/awt/LightweightDispatcher.java + (dragButton): Removed field. + (dragTarget): Removed field. + (mouseEventTarget): New field. + (convertPointToChild): Removed method. + (dispatchEvent): Don't depend on component beeing + a window. + (findTarget): Improved algorithm for finding a target. + Before we went down to the deepest component and went + up again to find a suitable target. Now we go + down only once, without going up. + (handleMouseEvent): Broke method down into some smaller + helper methods. + (isDragging): New helper method. + (isMouseListening): New helper method. + (redispatch): New helper method. + (trackEnterExit): New helper method. + +2006-09-22 David Gilbert + + * javax/swing/SizeSequence.java + (getSize): Return 0 if index is out of bounds. + +2006-09-21 Tom Tromey + + * tools/gnu/classpath/tools/javah/PathOptionGroup.java + (PathOptionGroup): Make -I a joined option. + * tools/gnu/classpath/tools/keytool/CACertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/MainCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Updated. + * tools/gnu/classpath/tools/appletviewer/Main.java: Updated. + * tools/gnu/classpath/tools/jar/Main.java: Updated. + * tools/gnu/classpath/tools/jarsigner/Main.java: Updated. + * tools/gnu/classpath/tools/javah/Main.java: Updated. + * tools/gnu/classpath/tools/native2ascii/Main.java: Updated. + * tools/gnu/classpath/tools/serialver/SerialVer.java: Updated. + * resource/gnu/classpath/tools/getopt/Messages.properties: Removed + unused entries. + * resource/gnu/classpath/tools/common/Messages.properties: New file. + * tools/gnu/classpath/tools/common/Messages.java: New file. + * tools/gnu/classpath/tools/getopt/Messages.java: Now package-private. + * tools/gnu/classpath/tools/common/ClasspathToolParser.java: Moved + from getopt. + (ClasspathToolParser): Add -J option here. + (ClasspathToolParser): Call other constructor in this class. + * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): + Handle joined options. + (handleShortOptions): Likewise. + (handleShortOption): Removed. + (finalGroup): New field. + (Parser): Initialize new field. Don't add -J option. + (addFinal): New method. + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Use + isJoined. + * tools/gnu/classpath/tools/getopt/Option.java (isJoined): New method. + (Option): Check short option for validity. + (Option): New constructors. + (joined): New field. + +2006-09-21 csm + + * gnu/java/net/PlainDatagramSocketImpl.java (send): ignore + `InterruptedIOException;' try again if it gets thrown. + (receive): likewise, but re-throw `SocketTimeoutException.' + * gnu/java/nio/EpollSelectorImpl.java (doSelect): just return 0 + if we have nothing to select. + +2006-09-21 Francis Kung + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (getLogicalBounds): Respect glyph transformations. + (getGlyphOutline): Added null pointer check. + (getGlyphTransform): Do not generate identity transform (API permits null). + (setGlyphPosition): Do not invalidate transform. + (setGlyphTransform): Do not modify glyph position. + +2006-09-21 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Set alpha premultiplied flag. + +2006-09-21 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Return proper colour model. + * java/awt/image/ComponentColorModel.java (coerceData): Likewise. + * java/awt/image/DirectColorModel.java (coerceData): Likewise. + +2006-09-21 Tania Bento + + * javax/swing/JTabbedPane.java: + (insertTab): Notify ChangeListeners if the tab inserted is selected. + (setModel): A ChangeListener should be created only if there does not + currently exist one. + +2006-09-21 David Gilbert + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (MaximizeAction.actionPerformed): Change icon on maxButton. + +2006-09-21 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (syncScrollPaneWithViewport): Fixed typo (hsb vs. vsb). + Use more efficient getViewPosition() and getViewSize() methods + to avoid creating a rectangle. + (HSBChangeListener.stateChanged): Update the view position + unconditionally. Let the Viewport figure out if something + changed. + (VSBChangeListener.stateChanged): Update the view position + unconditionally. Let the Viewport figure out if something + changed. + * javax/swing/JViewport.java + (ViewListener.componentResized): Fire state change, because + the extentSize changes. + (extentSize): Removed unneeded field. + (viewSize): Removed unneeded field. + (getExtentSize): Return the viewport's size here. + (getViewRect): Reformatted. + (getViewSize): Reordered for only one return statement. + (paintImmediately2): Fixed up javadoc. + (paint): Removed unneeded statement. + (setExtentSize): Set viewport size and check for actual change + of value. + (setViewPosition): Simplified condition. Set scrollUnderway + true and don't set isViewSizeSet. Avoid creating one Point + object. + (setViewSize): Fixed != comparison with equals(). Set scrollUnderway + to false. + * javax/swing/JScrollBar.java + (ScrollBarListener): New class. Forwards change events from + the model as adjustment events. + (sbChangeListener): New field. + (JScrollBar): Install listener on new model. + (fireAdjustmentValueChanged(int,int,int)): Delegate to new helper + method. + (fireAdjustmentValueChanged(int,int,int,boolean)): New helper + method to allow custom isAdjusting value. + (setMaximum): Only forward to model. + (setMinimum): Only forward to model. + (setValue): Only forward to model. + (setVisibleAmount): Only forward to model. + (setValues): Only forward to model. + (setModel): Update the change listener. + +2006-09-20 Christian Thalinger + + * java/util/Formatter.java (basicIntegralConversion): Removed + check for ZERO && !LEFT_JUSTIFY. + +2006-09-20 Roman Kennke + + PR 29036 + * javax/swing/plaf/metal/DefaultMetalTheme.java + (PLAIN_CONTROL_TEXT_FONT): New constant field. + (BOLD_CONTROL_TEXT_FONT): New constant field. + (PLAIN_MENU_TEXT_FONT): New constant field. + (BOLD_MENU_TEXT_FONT): New constant field. + (controlTextFont): Removed. + (menuTextFont): Removed. + (CONTROL_TEXT_FONT): New constant field. + (MENU_TEXT_FONT): New constant field. + (getControlTextFont): Use getFont() helper method for fetching + the correct font. + (getMenuTextFont): Use getFont() helper method for fetching + the correct font. + (getFont): New helper method. + (isBoldMetal): New helper method. + +2006-09-20 Casey Marshall + + * NEWS: mention epoll selector along with the kqueue one. + +2006-09-20 Casey Marshall + + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): ignore ENOENT. + +2006-09-20 Francis Kung + + PR 29011 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (getGlyphTransform): Use translation instead of scale. + (performDefaultLayout): Increment position values instead of resetting, and + pre-increment instead of post-increment. + (setGlyphTransform): Handle null case with identity transform. + +2006-09-20 Casey Marshall + + * configure.ac (AC_CHECK_HEADERS): check for `sys/epoll.h.' + (AC_CHECK_FUNCS): check for `epoll_create.' + * gnu/java/nio/EpollSelectionKeyImpl.java: new file. + * gnu/java/nio/EpollSelectorImpl.java: new file. + * gnu/java/nio/SelectorProviderImpl.java (epoll_failed): new class + field. + (openSelector): return epoll selector if requested and available. + * include/Makefile.am (H_FILES): add gnu_java_nio_EpollSelectorImpl.h. + (gnu_java_nio_EpollSelectorImpl.h): new target. + * include/gnu_java_nio_EpollSelectorImpl.h: new file. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): add + gnu_java_nio_EpollSelectorImpl.c. + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c: new file. + +2006-09-20 Casey Marshall + + * gnu/java/nio/SocketChannelImpl.java (finishConnect): don't + call `isConnected.' + (isConnected): return false if `connectionPending' is true. + +2006-09-20 Francis Kung + + PR 29011 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (constructor): Expanded glyphPositions array to accomodate Y-coordinates. + (getGlyphOutline): Call getGylphTransform to generate transform. + (getGylphPosition): Read position directly out of array. + (getGlyphPositions): Read positions directly out of array. + (getGlyphTransform): Generate transform based on gylphPositions array. + (performDefaultLayout): Populate glyphPositions array instead of transforms. + (setGlyphPosition): Set position directly into array. + (setGlyphTransform): Update positions array as well. + +2006-09-20 David Daney + + PR classpath/28661 + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Add + default content-type for POST method. + +2006-09-20 David Gilbert + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (BasicRadioButtonUI): Don't fetch icon here, + (installDefaults): Initialise icon here, + (getDefaultIcon): Just return icon. + +2006-09-20 Mark Wielaard + + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): + Add gnu_java_nio_channels_FileChannelImpl.c and javanio.h. + (EXTRA_DIST): Include javanio.c. + +2006-09-20 David Gilbert + + * java/awt/geom/RoundRectangle2D.java: + (getPathIterator): Reimplemented, + and updated various API doc comments. + +2006-09-20 Roman Kennke + + * java/awt/Container.java + (addImpl): Set the new component's parent after it has been + added to the array. Call addNotify() and invalidate() + after the component has been added, so that the peer + gets to know about the component structure when it is created. + * java/awt/Window.java + (dispatchEventImpl): Only revalidate when window is resized, + let the other stuff be processed by the superclass. + (dispose): Post WINDOW_CLOSED event only when some listener + is registered or event is explicitly enabled. + (show): Post WINDOW_OPENED event when appropriate. + +2006-09-20 Roman Kennke + + * java/awt/Component.java + (addNotify): Invalidate here. Fetch peer font. + (getFont): Delegate to helper method, to protect from + overriding client code. Lock the tree while fetching the font. + (getFontImpl): New helper method. Moved code from getFont() in + here. + (removeNotify): Nullify peerFont too. + (setFont): Synchronize on tree and component to avoid threading + issues. Update the peerFont correctly. + (validate): Update the peer font if necessary, before validating. + (getGraphics): Revert to recursive graphics fetching. + Set component font on the Graphics object. + (translateEvent): Removed unnecessary cast. + * java/awt/Container.java + (invalidateTree): Made final and private. Made implementation + slightly more efficient. + (setFont): Get old and new font via getFont() to account for + the real font, and only invalidate the tree when they are not + the same and not equal. + (visitChild): Set the font of the child on the component graphics. + * java/awt/Frame.java + (setMenuBar): Create local reference of peer for thread safety. + Only call simple invalidate, not invalidateTree(). + +2006-09-19 Cameron McCormack + + PR 29012 + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: + (constructor): Copy image field. + +2006-09-19 David Gilbert + + * javax/swing/JMenuBar.java + (getHelpMenu): Implemented to throw an Error, and added API docs, + (getMargin): Added API docs, + (setMargin): Likewise. + +2006-09-19 David Gilbert + + * javax/swing/AbstractButton.java + (AbstractButton): Don't call updateUI(), + * javax/swing/JButton.java + (JButton(String, Icon)): Call setModel() before init(), + * javax/swing/JMenuItem.java + (JMenuItem()): Delegate to another constructor, + (JMenuItem(Icon)): Likewise, + (JMenuItem(Action)): Set model, + (JMenuItem(String, Icon)): Likewise, + * javax/swing/JToggleButton.java + (init): Call setModel() before init(). + +2006-09-19 Mark Wielaard + + Fixes bug #29137 + * java/util/logging/LogManager.java (addLogger): Always check for + existing children of a new Logger. + +2006-09-19 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (HSBChangeListener.stateChanged): Moved handling of header to + syncScrollPaneWithViewport(). + (VSBChangeListener.stateChanged): Moved handling of header to + syncScrollPaneWithViewport(). + (ViewportChangedHandler.stateChanged): Removed unused statements. + (syncScrollPaneWithViewport): Added null checks. Use setValues + rather then the single setter methods to avoid multiple + adjustments and side effects. Also snyc the headers here. + (updateScrollBarDisplayPolicy): Revalidate and repaint here. + (uninstallUI): Removed unnecessary cast and this qualifier as well + as the call to super. + +2006-09-19 Gary Benson + + * java/net/ResolverCache.java: New class (a DNS cache). + * java/net/InetAddress.java + (internalGetCanonicalHostName, getAllByName): Use the above. + +2006-09-19 Jeroen Frijters + + * gnu/java/nio/SocketChannelImpl.java: Removed unused import. + * java/net/ServerSocket.java + (port): New field. + (bind): Set port field. + (close): Set impl to null. + (isClosed): Check impl and channel instead of using VMChannel. + (toString): Use port field and getLocalPort() method. + * java/net/Socket.java + (isClosed): Check impl and channel instead of using VMChannel. + +2006-09-18 Tom Tromey + + * java/util/concurrent/CopyOnWriteArrayList.java + (CopyOnWriteArrayList): New constructor. + +2006-09-18 Casey Marshall + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (Java_gnu_java_net_VMPlainSocketImpl_listen): remove debug printf. + +2006-09-18 Tom Tromey + + * gnu/javax/net/ssl/provider/SSLSocket.java (isBound, isClosed, + isConnected): Removed old comment. + (getRemoteSocketAddress): Uncommented. + (setOOBInline, getOOBInline, setKeepAlive, getKeepAlive, + setTrafficClass, getTrafficClass, setReuseAddress, + getReuseAddress, shutdownInput, shutdownOutput, isInputShutdown, + isOutputShutdown): Uncommented. + +2006-09-18 David Pirkle + + Fixes PR 28589 + * gnu/xml/transform/XSLURIResolver.java: Test SAXSource for specific + input stream during resolution. + +2006-09-18 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Correctly translate child coordinates. + Use Component.eventTypeEnabled() for checking if a component + has a certain event enabled. + (handleMouseEvent): Find the correct mouse event target. + Use Component.eventTypeEnabled() for checking if a component + has a certain event enabled. + +2006-09-18 Roman Kennke + + * java/awt/Component.java + (show): Test for the peer beeing lightweight directly. + (paintAll): Validate before painting. Don't paint when not + showing. Call peer.paint() when the component is heavyweight. + (repaint): Delegate to the parent when lightweight, rather + than skipping to the nearest heavyweight. + (createImage): Added null check to prevent NPE. + (dispatchEvent): Moved old event dispatching and toolkit + event dispatching to dispatchEventImpl. + (addComponentListener): Don't enable event. Only add listener + when not null. Switch to new event dispatching only. + (addFocusListener): Likewise. + (addHierarchyListener): Likewise. + (addHierarchyBoundsListener): Likewise. + (addKeyListener): Likewise. + (addMouseListener): Likewise. + (addMouseMotionListener): Likewise. + (addMouseWheelListener): Likewise. + (addInputMethodListener): Likewise. + (coalesceEvents): For mouse events coalesce them only when + their modifiers are equal. For paint events coalesce the events + when one contains the other, without going through complicated + heuristics. + (dispatchEventImpl): Moved old event dispatching and toolkit + event dispatching to dispatchEventImpl. + (coalescePaintEvents): Removed. + (HeavyweightInLightweightListener.componentHidden): + Fixed condition. + * java/awt/Container.java + (addImpl): Don't enable events on lightweights. + (remove): Reordered operations. Don't remove any listeners. + Throw ArrayIndexOutOfBoundsException when index >= ncomponents. + Only removeNotify() when peer is != null. Only invalidate if + not already invalid. Only fire ContainerEvent if there is + an interested listener or the event is enabled. Dispatch this + event directly without the event queue. + (removeAll): Likewise. + (paintComponents): Only paint when showing. Also paint heavyweights. + Don't paint the container itself. + (removeNotify): Create local variables for improved thread safety. + (addNotifyContainerChildren): Don't enable events for lightweights. + +2006-09-18 Roman Kennke + + * java/awt/EventQueue.java + (INITIAL_QUEUE_DEPTH): Removed obsolete field. + (next_in): Removed obsolete field. + (next_out): Removed obsolete field. + (queueHead): New field. Markes the head of the queue. + (queueTail): New field. Markes the tail of the queue. + (queue): Removed obsolete field. + (EventQueue): Documented empty block. + (getNextEvent): Changed array based implementation to single-linked + list based implementation. + (invokeAndWait): Use an Object as synchronization object rather + than the current thread. + (peekEvent(int)): Changed array based implementation to single-linked + list based implementation. + (peekEvent()): Changed array based implementation to single-linked + list based implementation. + (pop()): Changed array based implementation to single-linked + list based implementation. + (postEvent): Foward to postEventImpl. + (postEventImpl): Changed array based implementation to single-linked + list based implementation. + (push): Changed array based implementation to single-linked + list based implementation. + * java/awt/AWTEvent.java + (queueNext): New field. Implements a single-linked list for + the EventQueue. + +2006-09-17 Mark Wielaard + + * javax/swing/text/html/HTMLEditorKit (getStyleSheet): Load + resource from HTMLEditorKit.class. + +2006-09-17 Mark Wielaard + + * javax/swing/plaf/basic/BasicToolBarUI.java + (setBorderToNonRollover): Check whether border is null. + (setBorderToRollover): Likewise. + +2006-09-17 Mark Wielaard + + * javax/swing/JTree.java (setLeadSelectionPath): Handle null path. + +2006-09-17 Mark Wielaard + + * native/jni/java-nio/javanio.c (cpnio_fcntl): Last argument is long. + * native/jni/java-nio/javanio.h (cpnio_fcntl): Likewise. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_lock): Likewise. + (Java_gnu_java_nio_VMChannel_unlock): Likewise. + +2006-09-17 Casey Marshall + + * native/jni/classpath/jcl.c (JNI_OnLoad): mark `reserved' as + unused. + +2006-09-17 Chris Burdess + + Fixes PR 27610 27687. + * gnu/xml/dom/ls/SAXEventSink.java: Permit limited subclassing. + * gnu/xml/transform/SAXTemplatesHandler.java, + * gnu/xml/transform/SAXTransformerHandler.java: New files. + * gnu/xml/transform/TransformerFactoryImpl.java: Implement + SAXTransformerFactory. + +2006-09-16 Casey Marshall + + * NEWS: updated. + * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. + (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, + kqueue, and kevent. + (HAVE_INET6): define if IPv6 is supported. + * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. + (native_fd): removed. + (impl): new field. + (): throw IOException; initialize fields. + (finalize): removed. + (getNativeFD): removed. + (bind): use `PlainSocketImpl.bind.' + (create): use `PlainSocketImpl.initSocket.' + (disconnect): use `PlainSocketImpl.disconnect.' + (getLocalPort): new method. + (send): use `VMChannel.send.' + (receive): use `VMChannel.receive.' + (setOption): use `PlainSocketImpl.setOption.' + (getOption): use `PlainSocketImpl.getOption.' + (close): use `VMChannel.State.close.' + (join): use `PlainSocketImpl.join.' + (leave): use `PlainSocketImpl.leave.' + (joinGroup, leaveGroup): implemented. + * gnu/java/net/PlainSocketImpl.java: make non-final. + (native_fd): removed. + (impl): new field. + (channel): new field. + (): initialize `impl.' + (finalize, getNativeFD): removed. + (setOption): use `PlainSocketImpl.setOption.' + (getOption): use `PlainSocketImpl.getOption.' + (shutdownInput): use `PlainSocketImpl.shutdownInput.' + (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' + (create): create `channel,' initialize `impl's native state. + (connect): use `connect(SocketAddress, int).' + (connect): use `SocketChannelImpl.connect;' initialize `address' + and `port.' + (bind): use `VMPlainSocketImpl.bind.' + (listen): use `VMPlainSocketImpl.listen.' + (accept): use `SocketChannelImpl.accept.' + (available): use `VMChannel.available.' + (close): use `PlainSocketImpl.close.' + (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' + (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, + getPort): new methods. + (SocketInputStream.read): use `VMChannel.read.' + (SocketInputStream.read): use `SocketChannel.read.' + (SocketOutputStream.write): use `VMChannel.write.' + (SocketOutputStream.write): use `SocketChannel.write.' + * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. + (channel): new field. + (): initialize `channel.' + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (connect): use `VMChannel.connect.' + (disconnect): use `VMChannel.disconnect.' + (isConnected): use `VMChannel.getPeerAddress.' + (write): use `VMChannel.write.' + (write): use `VMChannel.writeGathering.' + (read): use `VMChannel.read.' + (read): use `VMChannel.readScattering.' + (receive): use `VMChannel.receive.' + (send): use `VMChannel.send.' + (getVMChannel): new method. + * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): + access native FD through VMChannel.State. + * gnu/java/nio/FileChannelImpl.java: moved from + gnu/java/nio/channels/FileChannelImpl.java. + * gnu/java/nio/FileLockImpl.java: fix imports. + * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. + * gnu/java/nio/KqueueSelectorImpl.java: new file. + * gnu/java/nio/NIOSocket.java (impl): removed. + (channel): new field. + (): init superclass with a `NIOSocketImpl;' init `channel.' + (getPlainSocketImpl, setChannel): removed. + (isConnected): new method. + * gnu/java/nio/NIOSocketImpl.java: new file. + * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement + `VMChannelOwner.' + (SourceChannelImpl.native_fd): removed. + (SourceChannelImpl.): init with a `VMChannel.' + (SourceChannelImpl.getNativeFD): removed. + (SourceChannelImpl.getVMChannel): new method. + (SourceChannelImpl.implCloseSelectableChannel): implement. + (SinkChannelImpl): implement `VMChannelOwner.' + (SinkChannelImpl.native_fd): removed. + (SinkChannelImpl.): init with a `VMChannel.' + (SinkChannelImpl.implCloseSelectableChannel): implement. + (SinkChannelImpl.getNativeFD): removed. + (SinkChannelImpl.getVMChannel): new method. + * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark + deprecated. + * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, + SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. + (openSelector): return kqueue selector if available. + * gnu/java/nio/ServerSocketChannelImpl.java: implement + `VMChannelOwner.' + (channel): new field. + (): init `channel.' + (finalizer): check if the `VMChannel.State' is valid. + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (accept): use `VMChannel.accept.' + (getVMChannel): new method. + * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): + access native FD through `VMChannel.State.' + * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' + (impl): removed. + (channel, connected, connectAddress): new field. + (): new constructors. + (getPlainSocketImpl): removed. + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (connect): use `connect(SocketAddress,int).' + (connect): use `VMChannel.connect.' + (finishConnect): don't use a selector. + (isConnected): use `VMChannel.getPeerAddress.' + (read): use `VMChannel.read.' + (read): use `VMChannel.readScattering.' + (write): use `VMChannel.write.' + (write): use `VMChannel.writeGathering.' + (getVMChannel): new method. + * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get + native FD from `VMChannel.State.' + * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): + get native FD from `VMChannel.State.' + * gnu/java/nio/VMChannelOwner.java: new file. + * gnu/java/nio/channels/FileChannelImpl.java: removed. + * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' + and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate + `gnu_java_nio_channels_FileChannelImpl.h.' + * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. + * include/gnu_java_nio_FileChannelImpl.h: new file. + * include/gnu_java_nio_KqueueSelectorImpl.h: new file. + * include/gnu_java_nio_VMChannel.h: regenerated. + * include/gnu_java_nio_VMPipe.h: regenerated. + * include/java_net_VMNetworkInterface.h: regenerated. + * java/io/FileDescriptor.java: fix imports. + * java/io/FileInputStream.java (): handle exceptions. + (read): wrap the destination arary. + * java/io/FileOutputStream.java (): handle exceptions. + (write): wrap the source array. + * java/io/RandomAccessFile.java (): handle exceptions. + * java/net/DatagramSocket.java (): handle exceptions. + (receive): handle length/port setting. + (connect): bind to any address/port if the argument is null. + * java/net/NetworkInterface.java (name, inetAddress): removed. + (netif): new field. + (): make private. + (getName): return `netif.name.' + (getInetAddresses): access `netif.addresses.' + (getDisplayName): return `netif.name.' + (getByName, getByAddress): handle changes to `VMNetworkInterface.' + (condense): removed. + (getNetworkInterfaces): handle changes to `VMNetworkInterface.' + (equals): compare `netif' fields. + (hashCode): get hash codes from `netif.' + (toString): use a StringBuffer. + * java/net/ServerSocket.java (close): don't set `impl' to null. + (isClosed): use `VMChannel.State.isClosed.' + * java/net/Socket.java (getLocalAddress): don't use `getOption' if + the `SocketImpl' is a `PlainSocketImpl.' + (close): just close the `impl.' + (toString): use `super.toString' in the value we return. + (isConnected): just access `impl,' not `getImpl.' + (isBound): use `PlainSocketImpl' methods if we can. + (isClosed): look at `VMChannel.State.' + * native/jni/classpath/jcl.c (JNI_OnLoad): new function. + (JCL_NewRawDataObject): don't initialize cached fields here; throw + an exception if they were not. + (JCL_GetRawData): throw an exception if cached fields weren't + created. + * native/jni/java-lang/java_lang_VMProcess.c: handle + FileChannelImpl move. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, + THROW_NO_NETWORK): new macros. + (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. + (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. + (java_sockopt): new enum. + (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): + reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): + reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new + function. + (Java_gnu_java_net_VMPlainSocketImpl_join): new function. + (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_read): removed. + (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. + (Java_gnu_java_net_VMPlainSocketImpl_write): removed. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. + (getif_address): new function. + (getif_index): new function. + * native/jni/java-net/java_net_VMNetworkInterface.c + (java_net_VMNetworkInterface_init, + java_net_VMNetworkInterface_addAddress): new file-scope globals. + (Java_java_net_VMNetworkInterface_initIds): new function. + (struct netif_entry): new struct. + (free_netif_list): new function. + (Java_java_net_VMNetworkInterface_getInterfaces): removed. + (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove + gnu_java_nio_channels_FileChannelImpl.c, add + gnu_java_nio_KqueueSelectorImpl.c. + * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, + ALIGN_DOWN): new macros. + (JCL_init_buffer): get the address through GetDirectBufferAddress + if possible. + (Java_gnu_java_nio_VMChannel_stdin_1fd, + Java_gnu_java_nio_VMChannel_stdout_1fd, + Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. + (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking + value. + (Java_gnu_java_nio_VMChannel_read): renamed... + (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to + this; handle interrupted IO; add HAVE_READ check. + (Java_gnu_java_nio_VMChannel_write): renamed... + (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to + this; handle zero-length write; add HAVE_WRITE check. + (Java_gnu_java_nio_VMChannel_receive): new function. + (Java_gnu_java_nio_VMChannel_send): new function. + (Java_gnu_java_nio_VMChannel_send6): new function. + (Java_gnu_java_nio_VMChannel_read__I): new function. + (Java_gnu_java_nio_VMChannel_write__II): new function. + (Java_gnu_java_nio_VMChannel_socket): new function. + (Java_gnu_java_nio_VMChannel_connect): new function. + (Java_gnu_java_nio_VMChannel_connect6): new function. + (Java_gnu_java_nio_VMChannel_getsockname): new function. + (Java_gnu_java_nio_VMChannel_getpeername): new function. + (Java_gnu_java_nio_VMChannel_accept): new function. + (Java_gnu_java_nio_VMChannel_disconnect): new function. + (Java_gnu_java_nio_VMChannel_close): new function. + (Java_gnu_java_nio_VMChannel_available): new function. + (FileChannel_mode): new enum. + (Java_gnu_java_nio_VMChannel_open): new function. + (Java_gnu_java_nio_VMChannel_position): new function. + (Java_gnu_java_nio_VMChannel_seek): new function. + (Java_gnu_java_nio_VMChannel_truncate): new funciton. + (Java_gnu_java_nio_VMChannel_lock): new function. + (Java_gnu_java_nio_VMChannel_unlock): new function. + (Java_gnu_java_nio_VMChannel_size): new function. + (Java_gnu_java_nio_VMChannel_map): new function. + (Java_gnu_java_nio_VMChannel_flush): new function. + * native/jni/java-nio/gnu_java_nio_VMPipe.c + (Java_gnu_java_nio_VMPipe_init): removed. + (Java_gnu_java_nio_VMPipe_pipe0): new function. + * native/jni/java-nio/javanio.c: new file. + * native/jni/java-nio/javanio.h: new file. + * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for + systems without `gethostbyname_r.' + * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new + field. + (, ): new constructors. + (setOption, getOption): make instance methods; defer to native + implementation. + (connect): removed. + (bind): make an instance method; defer to native methods. + (accept): removed. + (available): removed. + (listen): make an instance method; defer to native method. + (read): removed. + (join, leave): new methods. + (write): removed. + (joinGroup, leaveGroup): new methods. + (shutdownInput, shutdownOutput): make instance methods. + (sendUrgentData): removed. + (State): new class. + * vm/reference/gnu/java/nio/VMChannel.java: make final. + (fd): removed. + (nfd): new field. + (): new, public constructors. + (getVMChannel): methods removed. + (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, + stderr_fd): new methods. + (setBlocking): make an instance method. + (available): new method. + (read): get native fd from `nfd.' + (read): new single-byte read method. + (readScattering): get native fd from `nfd.' + (receive): new method. + (write, writeGathering): get native fd from `nfd.' + (send): new method. + (write): new single-byte write method. + (initSocket): new method. + (connect): new method. + (disconnect): new method. + (getLocalAddress): new method. + (getPeerAddress): new method. + (accept): new method. + (openFile): new method. + (position): new method. + (seek): new method. + (truncate): new method. + (lock): new method. + (unlock): new method. + (size): new method. + (map): new method. + (flush): new method. + (close): new method. + (State): new class. + (Kind): new class. + * vm/reference/gnu/java/nio/VMPipe.java (init): removed. + (pipe, pipe0): new method. + * vm/reference/java/net/VMNetworkInterface.java (name, addresses): + new fields. + (): call `initIds.' + (initIds): new method. + (getInterfaces): removed. + (getVMInterfaces): new method. + (addAddress): new method. + * vm/reference/java/nio/channels/VMChannels.java: fix imports. + +2006-09-16 Chris Burdess + + Fixes PR 28572. + * gnu/xml/transform/StreamSerializer.java: Don't escape XML entities + when in text output mode. + +2006-09-16 Chris Burdess + + Fixes PR 27293. + * gnu/xml/dom/DomNode.java: Increment length of node during insert. + +2006-09-14 Michael Koch + + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Recreated. + +2006-09-15 Chistian Elias Naur + + * java/io/ObjectStreamClass.java (setClass(Class, ObjectStreamClass)): + Added !cl.isArray() to serialVersionUID mismatch check. + +2006-09-14 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient): Updated constants to + be compatibe with Cairo 1.2.x. + +2006-09-14 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Added interpolation constants. + (cairoSurfaceSetFilter): Removed method. + (drawImage): Pass interpolation type as argument to drawing methods. + (drawPixels): Added interpolation parameter. + (drawRaster): Pass interpolation type as argument to drawing method. + (getInterpolation): New method. + (setRenderingHint): Store hints, but do not set interpolation in cairo. + (setRenderingHints): Store hints, but do not set interpolation in cairo. + * gnu/java/awt/peer/gtk/CairoSurface.java + (drawSurface): Added interpolation parameter. + (nativeDrawSurface): Added interpolation parameter. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation + parameter. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. + * native/jni/gtk-peer/cairographics2d.h + (java_awt_rendering_hints_filter): Added bicubic interpolation constant. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation + parameter. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): Added + interpolation parameter. + +2006-09-14 Gary Benson + + * java/net/InetAddress.java + (internalGetCanonicalHostName): New method. + (getCanonicalHostName): Use internalGetCanonicalHostName. + (getByLiteral): New method. + (getAllByName): Use getByLiteral. + * java/net/SocketPermission.java + (host): Replaced with... + (hostname, address): New fields. + (equals, hashcode): Reflect the above. + (setHostPort): Parse host into hostname or address. + (implies): Rewrite host checks. + +2006-09-14 David Gilbert + + Fixes PR28699 + * java/awt/Menu.java + (insert(MenuItem, int)): Fixed loop range, + (insert(String, int)): Updated API docs. + +2006-09-14 Christian Thalinger + + Fixes PR22800 + * native/fdlibm/mprec.h (Storeinc): Define correctly for LE + architectures (like Arm). + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits): + Reverted SWAP_DOUBLE patch. + (doubleToRawLongBits): Likewise. + (longBitsToDouble): Likewise. + +2006-09-14 David Gilbert + + * java/awt/Menu.java: Reformatted source file. + +2006-09-14 Jeroen Frijters + + * gnu/java/rmi/server/ActivatableRef.java + (readExternal, writeExternal): Partial fix for serialization format. + +2006-09-14 Jeroen Frijters + + PR classpath/28984 + * java/io/InputStreamReader.java + (read(char[],int,int)): Fixed bug. + +2006-09-13 Francis Kung + + * java/awt/image/BandCombineOp.java: Updated documentation. + (filter(Raster, WritableRaster)): Use int arrays, and added simple cache. + +2006-09-13 Tom Tromey + + PR classpath/29034: + * java/io/PipedReader.java (read): Return early if len==0. + * java/io/PipedInputStream.java (read): Return early if len==0. + +2006-09-13 Francis Kung + + * java/awt/image/ConvolveOp.java (filter(Raster, WritableRaster)): + Removed hard-coded max sample value. + * java/awt/image/RescaleOp.java (filter(Raster, WritableRaster)): + Fixed finding of max sample value. + +2006-09-12 David Gilbert + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Check null argument ('p'). + +2006-09-12 Francis Kung + + PR 27940 + * gnu/java/awt/java2d/TexturePaintContext.java + (constructor): Fixed typo, getMinY instead of getMaxX. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Implemented support for custom Paint classes. + (setPaintPixels): Renamed from setTexturePixels, added repeat parameter. + (setTexturePixels): Renamed to setPaintPixels, added repeat parameter. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Renamed setTexturePixels + to setPaintPixels, and added repeat parameter. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: + Renamed setTexturePixels to setPaintPixels, and added repeat parameter. + +2006-09-12 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): + Fix port used in security check. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/DefaultMetalTheme.java + (CONTROL_TEXT_FONT): Renamed 'controlTextFont', + (MENU_TEXT_FONT): Renamed 'menuTextFont', + (getControlTextFont): Check 'swing.boldMetal' setting before + initialising font, + (getMenuTextFont): Likewise. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Added 'List.focusCellHighlightBorder' entry. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (InternalFrameDefaultMenuIcon.paintIcon): Use theme colors. + +2006-09-12 David Gilbert + + * javax/swing/AbstractSpinnerModel.java: API doc updates. + +2006-09-12 David Gilbert + + * javax/swing/AbstractButton.java + (AbstractButton): Initialise textIconGap field. + +2006-09-11 Tom Tromey + + * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print + "volatile" when needed. + +2006-09-11 David Gilbert + + * java/text/AttributedCharacterIterator.java + (LANGUAGE): Initialise with lower case string, + (INPUT_METHOD_SEGMENT): Likewise, + (READING): Likewise, + * java/text/AttributedStringIterator.java + (getRunLimit): Check all attributes for changes. + +2006-09-11 David Gilbert + + * java/text/AttributedCharacterIterator.java: Added @since tag, + renamed some variables (no underscores) and removed some spaces to + match the common style, + * java/text/AttributedString.java: Likewise, + * java/text/AttributedStringIterator.java: Likewise. + +2006-09-11 Gary Benson + + * java/net/Inet4Address.java + (FAMILY): Renamed back to AF_INET. + (, writeReplace): Reflect the above. + * java/net/Inet6Address.java + (FAMILY): Renamed back to AF_INET6. + (): Reflect the above. + +2006-09-11 Cameron McCormack + + Fixes PR29010 + * java/text/AttributedString.java + (AttributedString(AttributedCharacterIterator, int, int, + AttributedCharacterIterator.Attribute[])): Fixed check for defined + attribute. + +2006-09-11 Gary Benson + + * java/net/Inet4Address.java + (AF_INET): Renamed to FAMILY. + (, writeReplace): Reflect the above. + * java/net/Inet6Address.java + (AF_INET6): Renamed to FAMILY. + (): Reflect the above. + +2006-09-10 Ito Kazumitsu + + Fixes bug #28867 + Originally in Kaffe: 2004-04-16 Helmer Kraemer + * java/net/ServerSocket.java(implAccept): Deleted socket.implCreated. + * java/net/Socket.java: Avoid creating a redundant file descriptor. + (implCreated): Deleted, (getImpl): Don't check impleCreated, + (bind): Call getImpl().create(true). + +2006-09-09 Chris Burdess + + * gnu/xml/xpath/Expr.java: Ensure that node-set evaluation returns + an instance of org.w3c.dom.NodeList. + +2006-09-08 Thomas Fitzsimmons + + * tools/gnu/classpath/tools/appletviewer/Main.java: Warn about + missing security manager when run in standalone mode. + +2006-09-08 Francis Kung + + * java/awt/image/AffineTransformOp.java: Updated documentation. + (createCompatibleDestRaster): Updated formatting. + (filter(BufferedImage, BufferedImage)): Updated formatting. + (filter(Raster, WritableRaster)): Delegated processing to native peers for + if colour model is compatible. + (filterBicubic): Get entire pixel at once, and use appropriate array type. + (filterBilinear): Get entire pixel at once, and use appropriate array type. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (family): Updated javadoc and made private. + (): Add an address family argument. + (readObject): Don't overwrite family. + * java/net/Inet4Address.java + (AF_INET): New constant. + (): Use AF_INET as the family. + (writeReplace): Likewise. + * java/net/Inet6Address.java + (AF_INET6): New constant. + (): Use AF_INET6 as the family. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (getHostName): Move lookup into getCanonicalHostName. + (getCanonicalHostName): Move lookup from getHostName, + Perform security check on canonical name (ie after lookup). + +2006-09-08 Gary Benson + + * java/net/Inet4Address.java (isMulticastAddress, + isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, + isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, + isMCSiteLocal, isMCOrgLocal, getHostAddress): Moved + implementations from InetAddress. + * java/net/InetAddress.java (isMulticastAddress, + isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, + isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, + isMCSiteLocal, isMCOrgLocal, getHostAddress): Replace + implementations with UnsupportedOperationExceptions. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (inaddr_any): Removed. + (ANY_IF, LOCALHOST): Create using getByAddress. + (): Updated javadoc. + (getHostName): Cache hostname even if the lookup failed. + (getByAddress): Create Inet4Address objects when passed + IPv4-mapped IPv6 addresses. + (aton): Removed. + (getAllByName): Create address objects using getByAddress. + Do not perform security checks unless actually required. + Do not strip whitespace from the hostname. + (getInaddrAny): Removed. + (getLocalHost): Return the loopback address if getByName + throws a SecurityException. + (readResolve): Updated javadoc. + * vm/reference/java/net/VMInetAddress.java (aton): Declared. + * include/java_net_VMInetAddress.h + (Java_java_net_VMInetAddress_aton): Likewise. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_aton): New method. + * native/jni/native-lib/cpnet.h (cpnet_aton): Declared. + * native/jni/native-lib/cpnet.c (cpnet_aton): New method. + * configure.ac (AC_CHECK_FUNCS): Checks for cpnet_aton. + * java/net/Inet4Address.java (writeReplace): Updated javadoc. + * NEWS: Added note about updated VM interface. + +2006-09-07 David Gilbert + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (setNorthPane): Assign component to titlePane. + +2006-09-07 Audrius Meskauskas + + * gnu/CORBA/NamingService/NameParser.java (corbaloc): + Remove unused variable alt_addr. + * gnu/CORBA/NamingService/NameTransformer.java (toName): + Remove unused variables. + +2006-09-07 David Gilbert + + * javax/swing/plaf/metal/MetalScrollBarUI.java + (installDefaults): Initialise scrollBarWidth from UI defaults here, + (createDecreaseButton): Don't fetch scrollBarWidth here, + (createIncreaseButton): Likewise. + +2006-09-07 David Gilbert + + * java/awt/image/MemoryImageSource.java: Added API docs. + +2006-09-06 David Gilbert + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (installDefaults): Call configureScrollBarColors(). + +2006-09-06 Francis Kung + + * java/awt/image/RescaleOp.java: Updated documentation and formatting. + (constructor): Make copy of arrays. + (createCompatibleDestImage): Changed treatment of null ColorModel. + (filter(BufferedImage, BufferedImage)): Re-implemented. + (filter(Raster, WritableRaster, boolean[])): New method. + (filter(Raster, WritableRaster)): Re-implemented. + (getOffsets): Prevent ArrayIndexOutOfBoundsException. + (getPoint2D): Cleaned up formatting. + (getScaleFactors): Prevent ArrayIndexOutOfBoundsException. + +2006-09-06 David Gilbert + + * javax/swing/UIManager.java + (getBoolean(Object)): Reimplemented, + (getBoolean(Object, Locale)): Likewise, + (getBorder(Object)): Likewise, + (getBorder(Object, Locale)): Likewise, + (getColor(Object)): Likewise, + (getColor(Object, Locale)): Likewise, + (getDimension(Object)): Likewise, + (getDimension(Object, Locale)): Likewise, + (getFont(Object)): Likewise, + (getFont(Object, Locale)): Likewise, + (getIcon(Object)): Likewise, + (getIcon(Object, Locale)): Likewise, + (getInsets(Object)): Updated API docs, + (getInsets(Object, Locale)): Likewise, + (getInt(Object)): Reimplemented, + (getInt(Object, Locale)): Likewise, + (getString(Object)): Likewise, + (getString(Object, Locale)): Likewise. + +2006-09-06 David Gilbert + + * javax/swing/UIManager.java + (MultiplexUIDefaults.MultiplexUIDefaults()): Don't allow null fallback, + (getDefaults): Initialise MultiplexUIDefaults with empty fallback. + +2006-09-06 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Corrected various font defaults. + +2006-09-05 David Gilbert + + * java/awt/List.java: Added @since to various methods. + +2006-09-05 Andrew John Hughes + + * native/jni/native-lib/cpprocess.c: + (forkAndExec(char*,char*,int,int,pid_t,char*)): + Add redirection of stdout to stderr. + * native/jni/native-lib/cpprocess.h: + Added redirect argument. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Readd redirect argument. + * vm/reference/java/lang/VMProcess.java: Likewise. + * include/java_lang_VMProcess.h: Regenerated. + +2006-09-05 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: Adjust + __attribute to __attribute__. + + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Remove duplicate + header include. + +2006-09-05 David Gilbert + + * java/awt/List.java: Source code reformatted. + +2006-09-05 Audrius Meskauskas + + * gnu/CORBA/CollocatedOrbs.java, + gnu/CORBA/SafeForDirectCalls.java: New files. + * gnu/CORBA/NamingService/Binding_iterator_impl.java: + Implement gnu.CORBA.SafeForDirectCalls. + * gnu/CORBA/NamingService/Ext.java: Likewise. + * gnu/CORBA/NamingService/TransientContext.java: Likewise. + * gnu/CORBA/OrbFunctional.java (createIor):Cache the address + of the local host. (ior_to_object): Return the local object + where possible. (run): Register/unregister this ORB. + * gnu/CORBA/Poa/LocalRequest.java (v_invoke): Call gnuPOA.checkDiscarding. + * gnu/CORBA/Poa/gnuPOA.java (checkDiscarding): Made package private. + * gnu/CORBA/Poa/gnuServantObject.java (noRetain): New field. + (constructors): Initialize noRetain. (_invoke): Drop servant + if noRetain is true. (getHandler): Always seach for the new servant + if noRetain is true. + * gnu/CORBA/SimpleDelegate.java (create_request): Implemented. + * NEWS: Added note about the new feature. + +2006-09-05 David Gilbert + + * java/awt/Choice.java + (addItem): Fixed API doc glitch. + +2006-09-05 Francis Kung + + * java/awt/image/LookupOp.java: Updated documentation & formatting. + (createCompatibleDestImage): Re-implemented. + (filter(BufferedImage, BufferedImage)): Added check for src/dest image + compatibility, and use ColorConvertOp for color conversion if needed. + (filter(Raster, WritableRaster)): Made exceptions more descriptive. + +2006-09-05 Audrius Meskauskas + + gnu/CORBA/CDR/Vio.java, + org/omg/CORBA_2_3/ORB.java, + org/omg/CORBA_2_3/portable/InputStream.java, + org/omg/CORBA_2_3/portable/OutputStream.java, + org/omg/CosNaming/BindingIteratorHelper.java, + org/omg/CosNaming/BindingTypeHelper.java, + org/omg/CosNaming/NameComponentHelper.java, + org/omg/CosNaming/NameHelper.java, + org/omg/CosNaming/NamingContextExtHelper.java, + org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java, + org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, + org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, + org/omg/CosNaming/NamingContextHelper.java, + org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, + org/omg/CosNaming/NamingContextPackage/InvalidName.java, + org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, + org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java, + org/omg/DynamicAny/AnySeqHelper.java, + org/omg/DynamicAny/DynAnyFactoryHelper.java, + org/omg/DynamicAny/DynAnyFactoryOperations.java, + org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, + org/omg/DynamicAny/DynAnyHelper.java, + org/omg/DynamicAny/DynAnyOperations.java, + org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.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/DynStructOperations.java, + org/omg/DynamicAny/DynUnionHelper.java, + org/omg/DynamicAny/DynValueHelper.java, + org/omg/DynamicAny/NameDynAnyPairHelper.java, + org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, + org/omg/IOP/CodecFactoryHelper.java, + org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, + org/omg/IOP/CodecOperations.java, + org/omg/IOP/CodecPackage/FormatMismatchHelper.java, + org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, + org/omg/IOP/CodecPackage/TypeMismatchHelper.java, + org/omg/IOP/ComponentIdHelper.java, + org/omg/IOP/ExceptionDetailMessage.java, + org/omg/IOP/MultipleComponentProfileHelper.java, + org/omg/IOP/ProfileIdHelper.java, + org/omg/IOP/ServiceContextListHelper.java, + org/omg/IOP/ServiceIdHelper.java, + org/omg/IOP/TAG_CODE_SETS.java, + org/omg/PortableInterceptor/ClientRequestInfoOperations.java, + org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java, + org/omg/PortableInterceptor/CurrentHelper.java, + org/omg/PortableInterceptor/IORInfo.java, + org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, + org/omg/PortableInterceptor/ORBIdHelper.java, + org/omg/PortableInterceptor/ORBInitInfoOperations.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, + org/omg/PortableInterceptor/ORBInitializerOperations.java, + org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, + org/omg/PortableInterceptor/RequestInfoOperations.java, + org/omg/PortableInterceptor/ServerIdHelper.java, + org/omg/PortableInterceptor/ServerRequestInfoOperations.java, + org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java, + org/omg/PortableServer/AdapterActivatorOperations.java, + org/omg/PortableServer/CurrentHelper.java, + org/omg/PortableServer/CurrentPackage/NoContextHelper.java, + org/omg/PortableServer/ForwardRequestHelper.java, + org/omg/PortableServer/IdAssignmentPolicyValue.java, + org/omg/PortableServer/IdUniquenessPolicyValue.java, + org/omg/PortableServer/ImplicitActivationPolicyValue.java, + org/omg/PortableServer/LifespanPolicyValue.java, + org/omg/PortableServer/POA.java, + org/omg/PortableServer/POAHelper.java, + org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, + org/omg/PortableServer/POAManagerPackage/State.java, + org/omg/PortableServer/POAOperations.java, + org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, + org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, + org/omg/PortableServer/POAPackage/InvalidPolicy.java, + org/omg/PortableServer/POAPackage/NoServantHelper.java, + org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, + org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, + org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, + org/omg/PortableServer/RequestProcessingPolicyValue.java, + org/omg/PortableServer/ServantActivatorHelper.java, + org/omg/PortableServer/ServantLocatorHelper.java, + org/omg/PortableServer/ServantLocatorOperations.java, + org/omg/PortableServer/ServantRetentionPolicyValue.java, + org/omg/PortableServer/ThreadPolicyValue.java, + org/omg/PortableServer/_ServantActivatorStub.java, + org/omg/PortableServer/_ServantLocatorStub.java, + org/omg/PortableServer/portable/Delegate.java: Documentation fixes. + +2006-09-05 Audrius Meskauskas + + * javax/rmi/CORBA/Tie.java, + org/omg/CORBA/AnyHolder.java, + org/omg/CORBA/AnySeqHelper.java, + org/omg/CORBA/AnySeqHolder.java, + org/omg/CORBA/BooleanHolder.java, + org/omg/CORBA/BooleanSeqHelper.java, + org/omg/CORBA/BooleanSeqHolder.java, + org/omg/CORBA/ByteHolder.java, + org/omg/CORBA/CharHolder.java, + org/omg/CORBA/CharSeqHelper.java, + org/omg/CORBA/CharSeqHolder.java, + org/omg/CORBA/Context.java, + org/omg/CORBA/CurrentHelper.java, + org/omg/CORBA/CustomValue.java, + org/omg/CORBA/DataOutputStream.java, + org/omg/CORBA/DefinitionKindHelper.java, + org/omg/CORBA/DomainManagerOperations.java, + org/omg/CORBA/DoubleHolder.java, + org/omg/CORBA/DoubleSeqHelper.java, + org/omg/CORBA/DoubleSeqHolder.java, + org/omg/CORBA/DynAny.java, + org/omg/CORBA/DynSequence.java, + org/omg/CORBA/DynValue.java, + org/omg/CORBA/DynamicImplementation.java, + org/omg/CORBA/FieldNameHelper.java, + org/omg/CORBA/FixedHolder.java, + org/omg/CORBA/FloatHolder.java, + org/omg/CORBA/FloatSeqHelper.java, + org/omg/CORBA/FloatSeqHolder.java, + org/omg/CORBA/IdentifierHelper.java, + org/omg/CORBA/IntHolder.java, + org/omg/CORBA/LocalObject.java, + org/omg/CORBA/LongHolder.java, + org/omg/CORBA/LongLongSeqHelper.java, + org/omg/CORBA/LongLongSeqHolder.java, + org/omg/CORBA/LongSeqHelper.java, + org/omg/CORBA/LongSeqHolder.java, + org/omg/CORBA/ORB.java, + org/omg/CORBA/ObjectHelper.java, + org/omg/CORBA/ObjectHolder.java, + org/omg/CORBA/OctetSeqHelper.java, + org/omg/CORBA/OctetSeqHolder.java, + org/omg/CORBA/PolicyErrorCodeHelper.java, + org/omg/CORBA/PolicyErrorHelper.java, + org/omg/CORBA/PolicyHelper.java, + org/omg/CORBA/PolicyListHelper.java, + org/omg/CORBA/PolicyTypeHelper.java, + org/omg/CORBA/PrincipalHolder.java, + org/omg/CORBA/RepositoryIdHelper.java, + org/omg/CORBA/Request.java, + org/omg/CORBA/ShortHolder.java, + org/omg/CORBA/ShortSeqHelper.java, + org/omg/CORBA/ShortSeqHolder.java, + org/omg/CORBA/StringSeqHelper.java, + org/omg/CORBA/StringSeqHolder.java, + org/omg/CORBA/ULongLongSeqHelper.java, + org/omg/CORBA/ULongLongSeqHolder.java, + org/omg/CORBA/ULongSeqHelper.java, + org/omg/CORBA/ULongSeqHolder.java, + org/omg/CORBA/UShortSeqHelper.java, + org/omg/CORBA/UShortSeqHolder.java, + org/omg/CORBA/ValueBaseHelper.java, + org/omg/CORBA/ValueBaseHolder.java, + org/omg/CORBA/VersionSpecHelper.java, + org/omg/CORBA/WCharSeqHelper.java, + org/omg/CORBA/WCharSeqHolder.java, + org/omg/CORBA/WStringSeqHelper.java, + org/omg/CORBA/WStringSeqHolder.java, + org/omg/CORBA/WrongTransactionHelper.java, + org/omg/CORBA/_IDLTypeStub.java, + org/omg/CORBA/_PolicyStub.java, + org/omg/CORBA/portable/BoxedValueHelper.java, + org/omg/CORBA/portable/Delegate.java, + org/omg/CORBA/portable/ObjectImpl.java, + org/omg/CORBA/portable/ServantObject.java, + org/omg/CORBA/portable/StreamableValue.java, + org/omg/CosNaming/BindingType.java, + org/omg/CosNaming/IstringHelper.java, + org/omg/DynamicAny/FieldNameHelper.java, + org/omg/PortableServer/Servant.java: Documentation fixes. + +2006-09-04 David Gilbert + + * java/awt/Rectangle.java + (setRect(double, double, double, double)): Modified rounding of input + values. + +2006-09-03 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements): + Disallow H1 - H6 in the paragraphs. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Leave at most one leading and/or trailing space. + * javax/swing/text/html/HTMLDocument.java (HTMLReader.handleText): + Do not add any text after closing the HTML tag. + +2006-09-02 Roman Kennke + + PR 28928 + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getPreferredSpan): Default to 10 when there is no + real view. + (RootView.getMinimumSpan): Forward to view and default to 10 + when there is no real view. + (RootView.getMaximumSpan): Return Integer.MAX_VALUE. + (getMaximumSize): Check for overflow. + * javax/swing/text/FieldView.java + (getResizeWeight): Removed unneeded assignment. + +2006-09-01 Francis Kung + * java/awt/image/ColorConvertOp.java + (copyImage): Updated javadoc and comments. + (copyRaster): Add javadoc. + (createCompatibleColorModel): Add javadocs and comments. + (createCompatibleDestImage): Use correct transfer type. + (createCompatibleDestRaster): Add new parameter for transfer type. + (filter): Use correct transfer type. + * java/awt/image/ConvolveOp.java: Updated javadocs. + (createCompatibleDestImage): Set new image properties correctly. + (filter(BufferedImage, BufferedImage): Correct handling of premultiplication. + (filter(WritableRaster, Raster): Clip sample values to [0-255]. + +2006-09-01 Robert Schuster + + * javax/swing/table/DefaultTableModel.java: + (checkSize): Added null check for dataVector. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicSplitPaneUI.java: + (BasicHorizontalLayout.getAlignmentX): Return fixed value. + (BasicHorizontalLayout.getAlignmentY): Return fixed value. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/metal/MetalCheckBoxIcon.java: + (paintIcon): Removed unused import statements, lowered cast requirement + from JCheckBox to AbstractButton. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicLookAndFeel.java: + (initComponentDefaults): Added, changed and removed some + tabbed pane properties. + +2006-09-01 Robert Schuster + + * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: + (createContent): Changed menu item name and tab naming. + +2006-09-01 Roman Kennke + + PR 28922 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.getAttributes): Overridden to return null. + (HTMLRootView.getElement): Overridden to return the view's + element. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (calculateTabAreaHeight): Use getTabRunOverlay method instead + of accessing variable directly. + (calculateTabAreaWidth): Dito. + +2006-08-31 Keith Seitz + + * include/jvmti.h: Include jvmti_md.h. + +2006-08-31 Keith Seitz + + From Martin Platter : + * Makefile.am (include_HEADERS): Include jvmti.h. + * include/jvmti.h (jvmtiEnv) [!__cplusplus]: Add missing '*'. + (jvmtiError): Remove superfluous comma after last entry. + (jvmtiEvent): It's "BREAKPOINT" not "BERAKPOINT". + (_Jv_jvmtiEnv.StopThread): Add missing exception parameter. + (_Jv_jvmtiEnv.RawMonitorWait): Add missing millis parameter. + (_Jv_jvmtiEnv.GetSourceFileName): source_name_ptr is pointer to + character pointer. + (_Jv_JVMTIEnv::StopThread): Add missing exception parameter. + (_Jv_JVMTIEnv::RawMonitorWait): Add missing millis parameter. + (_Jv_JVMTIEnv::GetSourceFileName): source_name_ptr is pointer to + character pointer. + +2006-08-31 Roman Kennke + + * javax/swing/text/BoxView.java + (getWidth): Return the width with insets added, not with one + added and one removed. + (getHeight): Return the height with insets added, not with one + added and one removed. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.viewToModel): Need to add the start offset. + * javax/swing/text/ParagraphView.java + (Row.getAlignment): Adjust alignment with respect to + the justification attribute. + (Row.getLeftInset): Overridden to adjust for firstLineIndent + attribute. + * javax/swing/text/html/CSS.java + (getValue): Convert length values. + * javax/swing/text/html/Paragraph.java + (painter): New field. + (paint): Implemented to delegate painting to the BoxPainter too. + (setPropertiesFromAttributes): Implemented to load attributes + from CSS. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.as): Removed field. + (BoxPainter.leftInset): New field. + (BoxPainter.bottomInset): New field. + (BoxPainter.rightInset): New field. + (BoxPainter.topInset): New field. + (BoxPainter.BoxPainter): Implemented to load the insets from + CSS. + (BoxPainter.getInset): Implemented. + * gnu/javax/swing/text/html/Length.java: New class. + Converts CSS length units to usable values. + +2006-08-31 Andreas Tobler + + * configure.ac: Add check for gethostbyname_r. + Add check for MSG_NOSIGNAL and SO_NOSIGPIPE. + * native/jni/native-lib/cpnet.c (SOCKET_NOSIGNAL): Define + SOCKET_NOSIGNAL according to the configure check. + (cpnet_send): Use SOCKET_NOSIGNAL. + (cpnet_sendTo): Likewise. + (cpnet_getHostByName): Use gethostbyname in case gethostbyname_r is not + defined. + * native/jni/native-lib/cpio.c: Define O_SYNC and O_DSYNC in case they + are not available. + + * lib/Makefile.am (cssfiles): Add new rule to install css files. + +2006-08-31 Roman Kennke + + * javax/swing/JEditorPane.java + (getPreferredSize): Replace preferred size with minimum + UI size only if the scrollable does _not_ track the viewport + size and only if the viewport's size is smaller than the + scrollable's size. + (getScrollableTracksViewportWidth): Avoid unnecessary multiple + method calls. + * javax/swing/plaf/basic/BasicTextUI.java + (getPreferredSize): Read-lock the document to avoid + concurrency problems. + (getMaximumSize): Return maximum size of the view. + Read-lock the document to avoid concurrency problems. + (getMinimumSize): Return minimum size of the view. + Read-lock the document to avoid concurrency problems. + +2006-08-31 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): Renamed to processHostport. + (processHostport): Also translate "" to "localhost". + (setHostPort): Remove special cases for empty hostport and for + extra colons in hostport (processHostport handles these now). + +2006-08-31 Mark Wielaard + + * javax/swing/text/ZoneView.java (Zone): Make static class. + Constructor takes axis parameter. + (createZone): Create Zone with getAxis() as major axis. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java + (loadChildren): Implemented. + (getViewIndexAtPosition): Implemented. + (checkZoneAt): New helper method. + (splitZone): New helper method. + (getPreferredZoneEnd): New helper method. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java: New class. + +2006-08-30 Roman Kennke + + * javax/swing/JMenu.java + (getMenu): Removed unneeded cast. + (getPopupMenuOrigin): Made positioning algorithm better respect + the screen bounds. + (setMenuLocation): Also set the location on the popup if it's + not null. + (setModel): Use menuChangeListener so that we don't override + the changeListener field from AbstractButton. + (setPopupMenuVisible): Use custom location if set, otherwise + fallback to getPopupMenuOrigin(). + +2006-08-29 Roman Kennke + + * javax/swing/text/InternationalFormatter.java + (stringToValue): Fixed bounds check. + * javax/swing/text/MaskFormatter.java + (MaskFormatter): Don't explicitly set allosInvalid property. + (convertStringToValue): New helper method. + (convertValueToString): New helper method. + (convertValue): Removed. Replaced by the 2 convert* methods + above. + (getPadCharAt): Removed. + (isCharValid): Removed. + (pad): Removed. + (stringToValue): Fixed stringToValue conversion. + (stripLiterals): Removed. + (valueToString): Fixed valueToString conversion. + * javax/swing/text/DefaultFormatter.java + (DefaultFormatter): Default to commitsOnValidEdit = false. + +2006-08-29 Roman Kennke + + * javax/swing/text/TextAction.java + (getTextComponent): Check event for null and return null in + this case. + (augmentList): Augment Actions based on their names. + * javax/swing/text/DefaultEditorKit.java + (BeginAction.actionPerformed): Check target for null. + (BeginLineAction.actionPerformed): Check target for null. + (CopyAction.actionPerformed): Check target for null. + (CutAction.actionPerformed): Check target for null. + (EndAction.actionPerformed): Check target for null. + (EndLineAction.actionPerformed): Check target for null. + (InsertBreakAction.actionPerformed): Check target for null. + (InsertTabAction.actionPerformed): Check target for null. + (PasteAction.actionPerformed): Check target for null. + (SelectAllAction.actionPerformed): Check target for null. + (SelectionBeginAction.actionPerformed): Check target for null. + (SelectionBeginLineAction.actionPerformed): Check target for null. + (SelectionEndAction.actionPerformed): Check target for null. + (SelectionEndLineAction.actionPerformed): Check target for null. + (SelectLineAction.actionPerformed): Check target for null. + (SelectWordAction.actionPerformed): Check target for null. + +2006-08-29 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (FocusHandler): New class. This is moved from the anonymous + inner focus listener class to a static member class, and + is now shared between components. + (DocumentHandler): This class is combined with the PropertyHandler + into the Handler class. + (PropertyChangeHandler): This class is combined with the + DocumentHandler into the Handler class. + (Handler): New class. This combines the Property and Document + handler into one class. + (RootView.changedUpdate): Only forward if real view != null. + (RootView.insertUpdate): Only forward if real view != null. + (RootView.removeUpdate): Only forward if real view != null. + (documentHandler): Removed field and replaced by handler. + (focuslistener): Made field static and renamed to focusListener. + (handler): New field. + (kit): Lazily initialize field. + (rootView): Lazily initialize field. + (updateHandler): Removed and replaced by handler. + (getEditorKit): Lazily instantiate field. + (installDefaults): Don't set margin twice. Install correct + property for disabledTextColor. Moved caret and highlighter + initialization to installFixedDefaults. + (installFixedDefaults): New method. Installs defaults that + can't be overridden by subclasses. + (installListeners): Only install focus handler when new + system property gnu.swing.text.no-xlike-clipboard is not set. + Lazily initialize focus handler. + (installUI): Lazily initialize rootView. Install handler + both for property and document changes. + (uninstallDefaults): Uninstall the UI defaults. + (uninstallFixedDefaults): New method. Uninstalls the fixed + defaults. + (installListeners): Only uninstall focus handler when not null. + (uninstallUI): Uninstall property and document listener here. + +2006-08-29 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): New method. + (): Pass the hostport argument through the above. + + * java/net/NetworkInterface.java (getInetAddresses): + Don't bracket IPv6 addresses. + +2006-08-28 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMinorAxisRequirements): Initialize max size + with Integer.MAX_VALUE. + * javax/swing/text/Utilities.java + (getBreakLocation): For simple chars, scan the text directly. + * javax/swing/text/WrappedPlainView.java + (tabBase): New field. + (tabSize): New field. + (calculateBreakPosition): Use Utilities. Fixed for correct + break calculation. + (changedUpdate): Update children directly. + (insertUpdate): Update children directly. Notify children. + (removeUpdate): Update children directly. Notify children. + (updateChildren): New helper method. + (nextTabStop): Fixed to return correct results. + (paint): Update tabBase. + (updateMetrics): Update tab size. + +2006-08-28 Roman Kennke + + * javax/swing/text/Position.java + (Bias.Forward): Initialize with 'Forward' rather then 'forward'. + (Bias.Backward): Initialize with 'Backward' rather then 'backward'. + +2006-08-28 Roman Kennke + + * javax/swing/text/View.java + (height): Removed unneeded field. + (width): Removed unneeded field. + (getBreakWeight): Return GoodBreakWeight when pos is after + the view's span. + (getToolTipText): Check view index more carefully. Avoid + Rectangle creation. + (insertUpdate): Only execute method body if view count > 0. + When updateChildren returns false, clear the ec variable. + (updateChildren): Added null checks. + (viewToModel): Initialize bias array correctly. + * javax/swing/text/CompositeView.java + (children): Made private. + (numChildren): New field. + (loadChildren): Check factory for null. Don't load children + when factory is null. + (replace): Removed null check. Nullify removed children. Made + growing the array more efficient. + (getViewCount): Return numChildren rather then the real array + size. + * javax/swing/text/BoxView.java + (getViewAtPoint): Fixed algorithm for finding the view. + (replace): Made array growing more efficient. + (replaceLayoutArray): New helper method for growing/patching + the layout arrays. + (viewToModel): Make sure we have a valid layout. + +2006-08-28 Tania Bento + + * java/awt/MenuShortcut.java + (MenuShortcut (int, boolean)): Set keyName. + (toString): Modified string output. + (setKeyName): New private method. + +2006-08-28 Roman Kennke + + * javax/swing/text/GapContent.java + (Mark.getOffset): Made assert less strict, include boundary. + (search): Made package private to avoid accessor method. + +2006-08-28 Roman Kennke + + * javax/swing/text/StringContent.java + (InsertUndo.positions): New field. + (InsertUndo.redo): Update the undo positions. + (InsertUndo.undo): Fetch the undo positions. + (Mark): New class. Layer of indirection to allow Positions + to be GC'ed while we still hold references to the Mark. + (RemoveUndo.len): New field. + (RemoveUndo.positions): New field. + (RemoveUndo.RemoveUndo): Fetch undo positions. + (RemoveUndo.redo): Re-fetch positions and string. + (RemoveUndo.undo): Update undo positions. + (StickyPosition.mark): New field. + (StickyPosition.offset): Removed field. + (StickyPosition.StickyPosition): Create new Mark. Register + Position in queueOfDeath. Update reference count on mark. + (StickyPosition.getOffset): Return offset stored in mark. + (StickyPosition.setOffset): Removed unneeded method. + (UndoPosRef): New class. Handles undo/redo on positions/marks. + (EMPTY): New field. + (marks): New field. Stores the marks. + (positions): Removed field. + (queueOfDeath): New field. Used for GCing the positions. + (StringContent): Initialize queueOfDeath. + (createPosition): Lazily create marks vector. + (garbageCollect): New helper method. Collects positions + to be GCed and updates their marks. + (getChars): Fixed bounds check. + (getPositionsInRange): When v == null, create new Vector, + otherwise use v. Store UndoPosRefs in vector. + (getString): Added comment about bug in RI. + (insertString): Use new helper method for replacing the array. + Correctly update positions. + (length): Removed this qualifier. + (remove): Use new helper method for replacing the array. + Correctly update positions. + (replace): New helper method for growing or patching the array. + (updateUndoPositions): Implemented. Updates the positions + for undo/redo operations. + +2006-08-27 Roman Kennke + + * javax/swing/text/StyleContext.java + (NamedStyle.attributes): Made field transient. + (NamedStyle.changeEvent): Made field transient. + (NamedStyle.name): Removed field. The name is stored as + attribute. + (NamedStyle.NamedStyle(String,Style)): Call setName() for + storing the name and check for null name and resolveParent. + Don't initialize changeEvent. + (NamedStyle.copyAttributes): Return a new NamedStyle, + rather than a plain copy of the attributes field. + (NamedStyle.fireStateChange): Lazily create changeEvent + field. + (NamedStyle.getName): Fetch name from attributes. + (NamedStyle.setName): Store name from attributes. + (NamedStyle.readObject): Implemented for correct + deserialization. + (NamedStyle.writeObject): Implemented for correct + serialization. + (NamedStyle.setResolveParent): When new parent is null, + remove resolveParent attribute. Use addAttribute() method + rather than StyleContext addAttribute(). + (NamedStyle.toString): Fixed to produce output equal to the + RI. + (SmallAttributeSet.resolveParent): New field. + (SmallAttributeSet.SmallAttributeSet(AttributeSet)): Update + the resolveParent field correctly. + (SmallAttributeSet.SmallAttributeSet(Object[])): Don't copy + array but store it directly. Update + the resolveParent field correctly. + (SmallAttributeSet.clone): Return this as the object is + immutable. + (SmallAttributeSet.containsAttributes): Make sure that keys + and values are the same. + (SmallAttributeSet.containsAttribute): Make sure that keys + and values are the same. + (SmallAttributeSet.copyAttributes): Return this as the object is + immutable. + (SmallAttributeSet.equals): Fixed comparison. Two AttributeSet + are equal if they have the same number of attributes and + one contains the other. + (SmallAttributeSet.getAttribute): Improved lookup of + resolveParent. + (SmallAttributeSet.getResolveParent): Improved lookup of + resolveParent. + (SmallAttributeSet.isEqual): When comparing object is a + SmallAttributeSet, consider them equal only if they are the + same object. + (SmallAttributeSet.toString): Fixed to produce output equal to the + RI. + (attributeSetPool): New field. + (defaultStyleContext): Initialize lazily. + (defaultStyle): Removed field. This is stored in the style context + as attribute. + (listenerList): Removed field. The NamedStyle stores the + listeners. + (readAttributeKeys): New static field. Used for looking up + the serialization mappings when reading. + (search): New field. Used as search key. + (staticAttributeKeys): Replaced by read/writeAttributeKeys. + (styles): New field. Stores the styles and listeners. + (styleTable): Removed field. Replaced by styles field. + (writeAttributeKeys): New static field. Used for looking up + the serialization mappings when writing. + (static_initializer): Register mappings for all keys in + StyleConstants. + (StyleContext): Initialize styles correctly. + (addAttributes): Fixed caching of immutable attributes. + (addAttribute): Fixed caching of immutable attributes. + (removeAttributes): Fixed caching of immutable attributes. + (removeAttribute): Fixed caching of immutable attributes. + (addChangeListener): Add listener to styles field. + (removeChangeListener): Remove listener from styles field. + (getChangeListeners): Fetch listeners from styles field. + (addStyle): Add style to styles field. + (cleanupPool): New method. + (getDefaultStyleContext): Lazily create context. + (getEmptySet): Simply return SimpleAttributeSet.EMPTY. + (getMutableAttributeSet): New helper method. Used for + caching. + (getStaticAttribute): Fetch key from readAttributeKeys. + (getStyleNames): Return names from styles field. + (getStyle): Lookup style in styles field. + (removeStyle): Remove style from styles field. + (readAttributeSet): Fixed deserialization. + (writeAttributeSet): Fixed serialization. + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + (reclaim): Simply cleanup the pool. + (registerStaticAttributeKey): Store mapping in both ways. + (searchImmutableSet): New helper method for caching. + (toString): Fixed for output like the RI. + * javax/swing/text/StyleConstants.java + (keys): New field. Stores all known keys. + (StyleConstants): Store created key in keys list. + * javax/swing/event/EventListenerList.java + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + +2006-08-25 Roman Kennke + + * javax/swing/text/CompositeView.java + (insets): Removed. Replaced by single short fields. + (top): New field. Replaces insets. + (bottom): New field. Replaces insets. + (left): New field. Replaces insets. + (right): New field. Replaces insets. + (CompositeView): Initialize insets fields. + (createDefaultLocation): Removed unneeded method. + (getBottomInset): Return field directly. + (getTopInset): Return field directly. + (getLeftInset): Return field directly. + (getRightInset): Return field directly. + (getInsideAllocation): Adjusted to work on new insets fields. + (getViewIndex): Fixed check. + (loadChildren): Don't replace the old children. + (replace): Make sure that there is an array to operate on. + Only set parent to null, when it is this View. + (setInsets): Adjusted to work with new insets fields. + (setParagraphInsets): Fixed to pull insets directly from + StyleConstants. + +2006-08-25 Roman Kennke + + * javax/swing/text/ComponentView.java + (Interceptor): New inner helper class. Used to propagate + invalidate requests and cache component layout sizes. + (interceptor): New field. + (getAlignment): Fetch alignment from interceptor container. + (getComponent): Don't create component here. This is done + in setParent(). + (getMaximumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getMinimumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getPreferredSpan): Fetch layout info from interceptor. Check + for illegal axis. + (modelToView): Fixed model to view mapping. + (viewToModel): Fixed view to model mapping. + (paint): Check for null. Set bounds on interceptor rather + then component. + (setParentImpl): Install interceptor between component + and hosting container. + (setParent): Call super.setParent() immediately. + +2006-08-25 Roman Kennke + + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Only set background when + the corresponding attribute is actually defined, otherwise + set to null, as the StyleConstants would return black. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.documentEvent): Removed obsolete field. + (ElementBuffer.change): Do prepareEdits() and finishEdits() + to correctly update the element structure. + (ElementBuffer.insertContentTag): Removed unused statement. + (ElementBuffer.recreateAfterFracture): Removed + unused obsolete method. + (setCharacterAttributes): Removed unused statement. + +2006-08-25 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (LaterMain.run): Removed unused local variable. + (Demo): Don't put desktop in scrollpane. + (addChildren): Removed unused method. + (mkButtonBar): Added HTML demo. + (mkMenuBar): Added HTML demo. + (mkPanel): Removed unused method. + (mkScrollPane): Removed unused method. + (mkTree): Removed unused method. + (valign2str): Removed unused method. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Initialize text field with some HTML that already works. + (DEBUG): New field. Set to true for debugging output. + (createContent): Dump element tree after parsing. + +2006-08-25 Roman Kennke + + * javax/swing/text/html/CSS.java + (getValue): Added color value conversion. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ConvertAction): New class, converts HTML style tags + to CSS attributes. + (HTMLReader.initTags): Register ConvertAction for tag. + * javax/swing/text/html/InlineView.java + (setPropertiesFromAttributes): Implemented to fetch + CSS character attributes. + * javax/swing/text/html/StyleSheet.java + (addCSSAttribute): Convert value. + (getBackground): Implemented to fetch CSS background color + attribute. + (getForeground): Implemented to fetch CSS color + attribute. + (getFont): Adjust font size for superscript and subscript. + (translateHTMLToCSS): Rudimentary implementation that + copies the original attributes, so that any CSS attributes in + there are preserved. + (stringToColor): Use CSSColor for conversion. + * gnu/javax/swing/text/html/css/CSSColor.java: + New class. Converts CSS color values to RGB color values. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: + Removed. This is more or less replaced by CSSColor and the + ConvertAction in HTMLReader. + +2006-08-25 Roman Kennke + + * javax/swing/text/BoxView.java + (childReqs): Removed obsolete field. + (baselineLayout): Reimplemented for correct baseline layout. + (baselineRequirements): Reimplemented for correct baseline + layout. + (updateChildRequirements): Removed obsolete method. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getSpan): Removed unused statement. + (DefaultGlyphPainter.paint): Dont paint subscript/superscript + specially. The subscript/superscript layout is performed + via the alignment, the font is supplied by the StyleContext. + (breakView): Removed unused statements. + (getAlignment): Adjust alignment according to the + superscript/subscript setting. + (getFont): Reimplemented to fetch the font from the style + context, or from the document if the stylecontext is not + available. + (getPreferredSpan): Adjust span for superscript. Use switch + instead of if-else. + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Fetch background and foreground + from document / style context. + (isSubscript): Resync properties if needed. + * javax/swing/text/ParagraphView.java + (Row.calculateMinorAxisRequirements): Overridden to perform + a baseline layout. + (Row.layoutMinorAxis): Overridden to perform a baseline layout. + +2006-08-24 Roman Kennke + + * javax/swing/text/Utilities.java + (BUF_LENGTH): Removed unused field. + (drawTabbedText): Removed unneeded cast. + (getBreakLocation): Removed unneeded cast. + Fixed offset to account for Segments not starting at 0. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.normalizeTabRuns): Removed unused statement. + (TabbedPaneScrollLayout.layoutContainer): Likewise. + (ScrollingPane.updateUI): Likewise. + (calculateTabWidth): Rewritten to correctly and efficiently + layout the tab width. + (layoutLabel): Call SwingUtilities method with the tabPane + as argument. + (paintContentBorderLeftEdge): Removed unused statement. + (paintContentBorderRightEdge): Removed unused statement. + (paintContentBorder): Removed unused statement. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getAttributes): Overridden to return null, + as the RootView has no parent. + +2006-08-24 Roman Kennke + + * javax/swing/text/html/CSSParser.java: Removed. + * javax/swing/text/html/CSS.java + (getValue): New helper method. Returns special converter + instances for certain kinds of property values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Don't translate tags + here. Instead, store the attributes directly with the tag + as key. + (content): Removed field. The Content object is handled + by AbstractDocument. + (styleSheet): Removed field. The styleSheet is the styleContext + of this document and handled by the DefaultStyledDocument already. + (HTMLDocument(Content,StyleSheet): Simply call super here. + The super classes already handle the content and styleContext. + (HTMLDocument()): Call this() with a default GapContent and + StyleSheet. + (getStyleSheet): Return the styleContext here. + (insertUpdate): New method. Overridden to add the + CONTENT dummy tag to the element's attributes. + (setBase): Set the base on the styleContext. + * javax/swing/text/html/HTMLEditorKit.java + (styleContext): Removed unneeded field. + (styleSheet): Made field private. + (HTMLEditorKit): Do nothing here. The StyleSheet is + created lazily in getStyleSheet(). A styleContext is not + needed here. + (getStyleSheet): Create StyleSheet correctly. + (insertHTML): Removed unneeded cast. + * javax/swing/text/html/InlineView.java + (attributes): New field. + (changedUpdate): Reload attributes. Trigger preferenceChanged. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/MultiAttributeSet.java: New class. + Multiplexes between several AttributeSets. + * javax/swing/text/html/MultiStyle.java: New class. + Multiplexes between several Styles. + * javax/swing/text/html/ParagraphView.java + (attributes): New field. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/StyleSheet.java + (CssParser): Removed inner class. + (CSSStyle): New inner class. Represents a style defined + by a CSS rule. + (CSSStyleSheetParserCallback): New class, for parsing + CSS stylesheets. + (css): New field. Stores the CSS rules. + (resolvedStyles): New field. Stores resolved styles. + (StyleSheet): Initialize resolvedStyles map. + (addRule): Removed bogus impl. + (getFont): Implemented to fetch font, based on CSS rules. + (getResolvedStyle): New helper method. Looks up resolved + styles, and resolves a style if necessary. + (resolveStyle): New pair of helper methods. Resolves + CSS style rules. + (getRule(String)): Provide rudimentary implementation. + (getRule(Tag,Element)): Implemented. + (getViewAttributes): Implemented. + (loadRules): Implemented. + (translateHTMLToCSS): Tagged as not implemented. + * javax/swing/text/html/ViewAttributeSet.java: New class. + +2006-08-24 Roman Kennke + + * javax/swing/text/FlowView.java: + (LogicalView.getAttributes): New method. Overrides super + impl to return the attributes of the FlowView instance. + * javax/swing/text/LabelView.java: + (setPropertiesFromAttributes): Fetch attributes from + View, rather then from the Element. (In the HTML + package the getAttributes() method is overridden to + return different attributes). Fetch font from the StyledDocument. + +2006-08-24 Roman Kennke + + * javax/swing/text/DefaultEditorKit.java: + (DefaultKeyTypedAction.actionPerform): Also filter + ALT and CTRL modifiers. + +2006-08-24 Roman Kennke + + * gnu/javax/swing/text/html/css/FontSize.java, + * gnu/javax/swing/text/html/css/FontStyle.java, + * gnu/javax/swing/text/html/css/FontWeight.java: + New classes. Used to convert CSS font attributes to AWT/Swing + Font constants. + +2006-08-24 Francis Kung + * gnu/java/awt/color/PyccConverter.java: Throw UnsupportedOperationExceptions. + * java/awt/image/ColorConvertOp.java: Updated javadocs. + (srccs, dstcs, rasterValid): Variables removed. + (ColorConvertOp(RenderingHints)): Initialize spaces to empty array. + (copyRaster): Check for null rendering hints + (createCompatibleColorModel): New private method. + (createCompatibleDestImage): Re-implemented. + (createCompatibleDestRaster(Raster, ColorSpace, boolean)): New private method. + (createCompatibleDestRaster(Raster)): Re-implemented. + (filter(BufferedImage, BufferedImage)): Add checks; fix temp image creation. + (filter(Raster, WritableRaster)): Add checks; fix temp raster creation. + (getPoint2D): Clean up formatting. + * java/awt/image/ComponentColorModel.java + (constructor): use findBits method instead of passing null. + (findBits): New method. + +2006-08-24 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 + addresses. + +2006-08-24 Jeroen Frijters + + * java/lang/ref/Reference.java + (queue, nextOnQueue): Made volatile. + (enqueue): Made thread safe. + * java/lang/ref/ReferenceQueue.java + (lock): New field. + (poll): Removed synchronized. + (enqueue): Changed to synchronize on lock object, to update Reference + state and return success status. + (dequeue, remove): Synchronize on lock object. + +2006-08-24 Jeroen Frijters + + * java/security/SecureClassLoader.java + (protectionDomainCache): Changed to HashMap. + (SecureClassLoader): Removed redundant security check. + (defineClass(String,byte[],int,int,CodeSource): Moved + protection domain lookup/construction to new method. + (defineClass(String,ByteBuffer,CodeSource): New method. + (getProtectionDomain): New method. + +2006-08-23 Roman Kennke + + * javax/swing/JComponent.java + (isRepainting): Made package private. + (paintChild): New field. + (findOpaqueParent): Removed method. This is now in + paintImmediately(). + (findOverlapFreeParent): Removed method. This is now + in paintImmediately2(). + (findPaintRoot): Removed method. This is now + in paintImmediately2(). + (isCompletelyObscured): Changed to take rectangle as single + ints as argument. + (isPaintingDoubleBuffered): Removed method. This is now + in paintImmediately2(). + (isPartiallyObscured): New helper method. + (onTop): New helper method for optimization. + (paintChildren): Paint only to specific child when + requested like this from paintImmediately2(). + (paintDoubleBuffered): Changed to take rectangle as single int + arguments. + (paintImmediately2): Changed to take rectangle as single int + arguments. Optimized determination of paint root. + (paintImmediately(Rectangle)): Change to delegate to + paintImmediately(int,int,int,int). + (paintImmediately(int,int,int,int)): Look for opaque ancestor + and start painting there. + (paint): Call paintDoubleBuffered() with int arguments. Only + paint component, when not completely occupied by opaque child. + (processKeyBinding): Removed unnecessary cast. + (isOccupiedByChild): New helper method. + * javax/swing/RepaintManager.java + (repaintUnderway): Removed obsolete field. + (commitRequests): Removed obsolete field. + (RepaintManager): Removed initialization of obsolete fields. + (addDirtyRegion): Removed unused statement. + (commitBuffer): Changed to take plain ints as argument. + (compileRepaintRoots): Optimized to avoid use of Rectangle. + Compute offsets in place, rather than using SwingUtilities. + (paintDirtyRegions): Removed unused field. + * javax/swing/JMenuItem.java + (onTop): Return true when not descendant of JInternalFrame. + * javax/swing/JPopupMenu.java + (onTop): Return true. + * javax/swing/JToolTip.java + (onTop): Return true. + * javax/swing/JViewport.java + (paintImmediately2): Change signature to match the + corresponding JComponent method. + +2006-08-23 Tania Bento + + * java/awt/Color.java + (brighter): Modified algorithm to correctly determine the + new brighter colour. + +2006-08-23 Roman Kennke + + * java/awt/Container.java + (maxSize): Removed field. This is already declared in Component. + (validateTree): Check for ContainerPeer. Don't addNotify here. + Only validate Component instances if they are invalid. + +2006-08-22 Roman Kennke + + * javax/swing/JComponent.java + (preferredSize): Removed field. + (maximumSize): Removed field. + (minimumSize): Removed field. + (getMaximumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getMinimumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getPreferredSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (isMaximumSizeSet): Removed. + (isMinimumSizeSet): Removed. + (isPreferredSizeSet): Removed. + (setMaximumSize): Removed. + (setMinimumSize): Removed + (setPreferredSize): Removed. + +2006-08-22 Roman Kennke + + * javax/swing/AbstractButton.java + (ButtonChangeListener.stateChanged): Delegate to combined + handler. + (EventHandler): New inner class. Handles all three types + of events on the model. + (eventHandler): New field. Stores the combined event + handler. + (AbstractButton): Moved listener initialization to + setModel(). + (createActionListener): Return combined handler. + (createChangeListener): Return combined handler. + (createItemListener): Return combined handler. + (getEventHandler): New helper method for creating the combined + handler. + (setModel): Initialize listeners here. + * javax/swing/plaf/basic/BasicButtonListener.java + (ButtonAction): New class. Implements the keyboard action + for buttons. + (checkOpacity): Implemented. + (createDefaultActionMap): New helper method. + (installKeyboardActions): Rewritten to install InputMap + and ActionMap according to 'new' keyboard input method. + (mouseClicked): Commented as no-op. + (mouseDragged): Commented as no-op. + (mouseMoved): Commented as no-op. + (propertyChange): Check for contentAreaFilled change and + update opacity. Pull handling of HTLM in font and text handler. + (stateChanged): Repaint button. + (uninstallKeyboardActions): Properly uninstall keyboard actions. + * javax/swing/plaf/basic/BasicButtonUI.java + (listener): Removed. + (sharedListener): New static field. Stores the shared listener. + (sharedUI): New static field. Stores the shared UI. + (createButtonListener): Return shared instance here. + (createUI): Return shared instance here. + (getButtonListener): New helper method. Looks for the + BasicButtonListener installed on a button and returns it. + (installDefaults): Correctly install rollover property here. + Fetch defaultTextShiftOffset. Initialize opaqueness correctly. + (installKeyboardActions): Fetch listener with new helper method. + (installListeners): Don't use removed field. Check for null. + (installUI): Added comment about order of method invocations. + (uninstallDefaults): Don't uninstall non-uninstallable properties. + (uninstallKeyboardActions): Fetch listener with new helper method. + (uninstallListeners): Fetch listener with new helper method. + (paintIcon): Paint icon offset when pressed and armed. + * javax/swing/plaf/metal/MetalButtonListener.java: Removed. + * javax/swing/plaf/metal/MetalButtonUI.java + (sharedUI): New field. Stores the shared UI. + (MetalButtonUI): Don't initialize fields here. + (createButtonListener): Removed method. Use super impl. + (createUI): Return shared instance. + (getDisabledTextColor): Update field here. + (getFocusColor): Update field here. + (getSelectColor): Update field here. + (installDefaults): Don't handle rollover property here. + (uninstallDefaults): Don't handle rollover property here. + (paintButtonPressed): Use accessor method to update the + field value. + +2006-08-21 Mark Wielaard + + Merge NATIVE_LAYER branch. + + 2006-08-20 Mark Wielaard + + * doc/tools.texinfo: Add file from trunk. + * native/jni/Makefile.am (DIST_SUBDIRS): Add native-lib. + * native/jni/java-io/java_io_VMFile.c: Include lstat and readlink + headers. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Remove redirect argument. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Remove unused variable. + * native/jni/native-lib/Makefile.am: Remove empty and nonexisting + files. + * native/jni/native-lib/cpio.c (cpio_setFileReadonly): Use correct + mask. + * native/jni/native-lib/cpnet.c (cpnet_connect): Removed unused + theaddr. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Moved from + cpnet.h. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Declare, + don't implement. + * vm/reference/java/lang/VMProcess.java: Removed unused redirect + argument. + * include/java_lang_VMProcess.h: Regenerated. + + 2006-07-09 Guilhem Lavaux + + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (nativeReceive): Fixed the type of the arrays (use java types). + (nativeSendTo): Force throwing an exception if port is 0. + + * native/jni/java-net/javanet.c: + (_javanet_accept): Throw SocketTimeoutException if ETIMEDOUT is + returned. + (_javanet_recvfrom): Likewise. + (_javanet_sendto): Throw a NullPointerException if the socket is + not connected and no address is given. + + * native/jni/java-net/javanet.h + (NULL_EXCEPTION): Defined. + + 2006-06-16 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Fix detection of + error. + + * native/jni/java-net/javanet.c + (_javanet_accept): Fixed bogus call to TARGET. + (_javanet_create_inetaddress): Fixed address generation. Fixed + bogus memory free. + (_javanet_bind): set "Reuse address" flag. + + * native/jni/native-lib/cpio.c + (cpio_getModificationTime): Fixed type. + (cpio_removeFile): Use rmdir too. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed error detection. + + * native/jni/native-lib/cpnet.h + (cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the + memory. + (cpnet_IPV4AddressToBytes): Fixed types. + + 2006-06-10 Guilhem Lavaux + + * native/jni/native-lib/cpio.c + (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. + + * native/jni/native-lib/cpnet.h: + (cpnet_bytesToIPV4Address): Fixed type casting to avoid being + messed by signs in jbyte. + + * native/jni/native-lib/cpproc.h + (CPIO_EXEC_NUM_PIPES): Compilation fix. + + 2006-05-09 Guilhem Lavaux + + * native/jni/native-lib/cpnet.c + (cpnet_getSocketTimeout, cpnet_setSocketTimeout): Reimplemented. + (waitForWritable, waitForReadable): New functions. + (socketTimeouts): New static global table to hold timeouts for all + socket fds. + (cpnet_accept,cpnet_bind,cpnet_sendTo,cpnet_recv,cpnet_recvFrom): + Added waitForXXXX safeguards to handle socket timeouts. + + * native/jni/java-net/javanet.c + (_javanet_accept): Check for the right error value when a timeout + occurs. + + 2006-03-25 Guilhem Lavaux + + * native/jni/java-io/Makefile.am, + native/jni/java-lang/Makefile.am, + native/jni/java-net/Makefile.am, + native/jni/java-nio/Makefile.am: Link to libclasspathnative.la now. + + * native/jni/native-lib/Makefile.am: Added cpproc.c + + * native/jni/native-lib/cpio.c: Implemented missing functions for + CPIO. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed address array initialization. + + * native/jni/native-lib/cpproc.c: Implemented. + + 2006-02-19 Guilhem Lavaux + + * configure.ac: Invoke GCC_ATTRIBUTE_UNUSED. + + * m4/gcc_attribute.m4: New file from ac_archive. + + * native/jni/java-net/javanet.c: Adapted to cpnet API + modification. + + * native/jni/native-lib/cpnet.c: Implemented. + + * native/jni/native-lib/cpnet.h + (cpnet_openSocketDatagram, + cpnet_openSocketStream): These calls need an address family now. + (cpnet_IPV4AddressToBytes, + cpnet_bytesToIPV4Address): Convert the address to network order. + + 2006-02-19 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c, + native/jni/midi-dssi/dssi_data.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Removed cpmath + dependency. Fixed coding style. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-lang/java_lang_VMProcess.c: Removed TARGET + dependency. Simplified the JNI code by moving some part into the + native layer. + + * native/jni/native-lib/cpproc.h: New interface to handle processes. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c: Fixed compilation + errors. Removed any remaining TARGET invocations. + + * native/jni/java-net/javanet.c + (_javanet_create_inetaddress): Removed spurious arr and + octets. Fixed compilation errors. + + * native/jni/native-lib/cpnet.h + (cpnet_getHostname, cpnet_getHostByName, cpnet_getHostByAddr, + cpnet_setIPV4Any, cpnet_freeAddresses, cpnet_isIPV6Address, + cpnet_isIPV4Address): New functions. + (cpnet_bytesToIPV4Address): Fixed interface to be consistent with + the rest. + + 2006-01-28 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c, + native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, + native/jni/java-net/javanet.c, + native/jni/java-net/javanet.h: Adapted the VM layer code + to the new native layer. + + * native/jni/native-lib/cpnet.h + (cpnet_addMembership, + cpnet_dropMembership, + cpnet_getAvailableBytes): Added the declarations of + some new functions. + (cpnet_newIPV6Address, + cpnet_IPV6AddressToBytes, + cpnet_bytesToIPV6Address): Implemented. + (cpnet_newIPV4Address): Initialize the sin_family field. + + 2006-01-28 Guilhem Lavaux + + * native/target: Removed. + + * configure.ac: Removed target from CLASSPATH_INCLUDES and + Makefile generation. + + * native/jni/native-lib/Makefile.am, + native/jni/native-lib/cpnet.h, + native/jni/native-lib/cpnet.c + native/jni/native-lib/cpio.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Imported new native compatibility + layer. + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java: + New class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java: + New interface. + * gnu/javax/swing/text/html/css/CSSParserException.java: + New exception. + * gnu/javax/swing/text/html/css/CSSScanner.java: + Adjusted API comments. Made all constants package private. + (EOF): New constant field. + (parseBuffer): Made package private. + (tokenEnd): Made package private. + (CSSScanner): Initialize lookahead buffer with -1. + (main): Print out to System.out rather then System.err. + (nextToken): Push back character after IDENT. + +2006-08-21 Jeroen Frijters + + * java/io/File.java (normalizePath): Fixed handling of "//" and "\\". + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java + (main): Use buffered input stream. + (nextToken): Removed 65536 workaround. Use int value directly + without cast to char. + (readComment): Use int value directly without cast to char. + Cast to char only when putting the character into the buffer. + (readEscape): Likewise. + (readIdent): Likewise. + (readName): Likewise. + (readNum): Likewise. + (readString): Likewise. + (readWhitespace): Likewise. + +2006-08-21 Ingo Proetel + + * java/io/InputStreamReader.java + (bytesCache): New field. + (cacheLock): New field. + (read(byte[],int,int): Avoid allocations of new byte + array on every call and reuse cached byte array if possible. + +2006-08-21 Roman Kennke + + * gnu/java/net/local/LocalSocketImpl.java + Only load native lib if this is supported by runtime. + * native/jni/java-net/local.c + Include config.h unconditionally. + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + Include config.h unconditionally. + +2006-08-21 Friedjof Siebert + + * java/io/ObjectInputStream.java + (objectLookupTable): Changed to be a Vector. + (ObjectInputStream): Initialize objectLookupTable as Vector. + (assignNewHandle): Store Object using handle index rather than + Hashtable, using the new rememberHandle() method. + (hierarchy): New method. This replaces inputGetObjectStreamClasses() + with a caching in ObjectStreamClass. + (inputGetObjectStreamClass): Replaced by hierarchy(). + (lookupHandle): New method. Looks up an object by it's handle + index. + (parseContent): Avoid creating of Integer objects. Use + hierarchy() method for looking up the class hierarchy. + (processResolution): Use rememberHandle() to store + handle per index, rather than Hashtabling the object. + (readFields): + (rememberHandle): New method. + * java/io/ObjectOutputStream.java + (OIDLookupTable): Use ObjectIdentityMap2Int instead of + Hashtable for improved lookup performance. + (ObjectOutputStream): Initialize OIDLookupTable as + ObjectIdentityMap2Int. + (assignNewHandle): Change to use ObjectIdentityMap2Int. + (findHandle): Change to use ObjectIdentityMap2Int. + (getBooleanField): Removed. + (getByteField): Removed. + (getCharField): Removed. + (getDoubleField): Removed. + (getField): Removed. + (getFloatField): Removed. + (getIntField): Removed. + (getLongField): Removed. + (getObjectField): Removed. + (writeFields(Object,ObjectStreamClass)): Use new helper method. + (writeFields(Object,ObjectStreamField)): New helper method. + Use switch rather then if-else cascade. + (writeObject): Use int handle, rather then Integer. + * java/io/ObjectStreamClass.java + (hierarchy): New field. Caches the class hierarchy. + (methodCache): New field. Caches methods. + (readObjectSignature): New field. Stores the read signature. + (uidCache): New field. Caches UIDs. + (writeObjectSignature): New field. Stores the write signature. + (cacheMethods): Cache methods in methodCache. + (calculateClassID): Outsourced from getClassUID() + for computing the UIDs. + (getClassUIDFromField): Outsourced from getClassUID() for + fetching the UID from the class field. + (getClassUID): Use cached uid if possible. Use new helper + methods for fetching the UID from the field or computing + from scratch. + (getObjectStreamClasses): Removed. Replaced by more + efficient hierarchy() method, that also caches the result. + (hierarchy): Replaces getObjectStreamClasses() for caching + the result. + (loadedByBootOrApplicationClassLoader): New helper method. + (setClass): Invalidate hierarchy cache. + (setSuperclass): Invalidate hierarchy cache. + * java/io/ObjectStreamField.java + (field): Made field package private for access from other + classes. + * gnu/java/io/ObjectIdentityWrapper.java: Removed. + * gnu/java/io/ObjectIdentityMap2Int.java: Efficient + hashtable for mapping objects to ints. + +2006-08-21 Roman Kennke + + * java/io/File.java + (getAbsolutePath): Fetch absolute path from + VMFile.getAbsolutePath(). Moved actual impl to there. + (isAbsolute): Let VMFile determine the absoluteness. + (toURL): Let VMFile convert the filename. + * vm/reference/java/io/VMFile.java + (getAbsolutePath): New method. + (isAbsolute): New method. + (toURL): New method. + +2006-08-21 Jeroen Frijters + + * NEWS: Added note about updated VM interface. + +2006-08-20 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + Updated documentation. + +2006-08-20 Ito Kazumitsu + + Fixes bug #28412 + * gnu/java/util/regex/CharIndexed.java(move1, setHitEnd, hitEnd): + New methods. + * gnu/java/util/regex/CharIndexedCharSequence.java, + gnu/java/util/regex/CharIndexedInputStream.java: Implemented the + new methods above. + * gnu/java/util/regex/RE.java(REG_FIX_STARTING_POSITION): New flag, + (match): call the new method setHitEnd of the input, + (getMatchImpl): Handle the new flag REG_FIX_STARTING_POSITION, + Some optimization commented out, Use CharIndexed#move1 instead of move. + * gnu/java/util/regex/REMatch.java: Made some debugging methods public. + * gnu/java/util/regex/REToken.java(match): The method body has been + moved to an internal private method, (matchFake): New method, + (setHitEnd): New method. + * gnu/java/util/regex/RETokenChar.java(matchThis): Call setHitEnd + if the match is not complete, (matchOneString): Count the number of + characters which matched the pattern. + * gnu/java/util/regex/RETokenEnd.java(fake): New field, + (setFake): New method, (match): Call super.match or super.matchFake. + * gnu/java/util/regex/RETokenEndSub.java(setHitEnd): New method. + * gnu/java/util/regex/RETokenOneOf.java(match): call the new method + setHitEnd of the input, + * gnu/java/util/regex/RETokenRepeated.java(match): Likewise. + * java/util/regex/Matcher.java(lookingAt, match): Use the new flag + RE.REG_FIX_STARTING_POSITION, (hitEnd, toString): New methods. + +2006-08-18 Tom Tromey + + * gnu/javax/swing/text/html/css/CSSScanner.java (readWhitespace): Push + the 'int', not the cast char. + +2006-08-18 Roger Sayle + + * scripts/check_jni_methods.sh: Don't use the "set -C" command + which isn't available in all shells. + +2006-08-18 Roger Sayle + + * lib/Makefile.am (resources): Fix some shell portability issues. + +2006-08-18 Thomas Fitzsimmons + + * configure.ac (tool-wrappers): Check for ltdl support when tool + wrapper binaries are enabled. + * tools/Makefile.am (LIBJVM): Remove variable. + (AM_CPPFLAGS): Add LIBJVM define. + (gappletviewer_LDFLAGS, gjarsigner_LDFLAGS, gkeytool_LDFLAGS, + gjar_LDFLAGS, gnative2ascii_LDFLAGS, gserialver_LDFLAGS, + gjavah_LDFLAGS): Remove variables. + * tools/toolwrapper.c (main): Use dlopen to load libjvm library. + +2006-08-18 Tom Tromey + + * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed + debugging prints. + * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging + print. + (readEntries): Likewise. + +2006-08-17 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutLabel): Reset the text and icon rectangles. + +2006-08-17 Thomas Fitzsimmons + + PR classpath/28537 + * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): + Transform gappletviewer name using program_transform_name. + +2006-08-17 Jeroen Frijters + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Always return UnixFileSystemView, since + that's the only one we got. Marked with NotImplementedException. + * javax/swing/plaf/basic/BasicFileChooserUI.java + (mouseClicked, installUI): Don't parse path by hand. + +2006-08-17 Roman Kennke + + * javax/swing/JComponent.java + (scrollRectToVisible): Handle intermediate non-JComponents + more gracefully. + +2006-08-17 Roman Kennke + + * javax/swing/RepaintManager.java + (blitBuffer): Removed. This is now done in commitBuffer(). + (commitBuffer): Always paint on the root window or applet. + No need to look for intermediate heavyweights. Optimized + rectangle translation. + (commitRemainingBuffers): Removed. Not needed anymore. + (getHeavyweightParent): Removed. Not needed anymore. + (getOffscreenBuffer): Fetch offscreen image from the + actual root component. + (paintDirtyRegions): Don't call commitRemainingBuffers(). + +2006-08-17 Roman Kennke + + * javax/swing/SwingUtilities.java + (clipString): New helper method for trimming strings. + (layoutCompoundLabelImpl): Fixed algorithm to conform + testsuites. Trim text if it's too long. Avoid creating + new Rectangles. Optimized for performance. + (layoutCompoundLabel): Use switch rather then if-else-chain. + * javax/swing/plaf/basic/BasicButtonUI.java + (viewR): New field. + (iconR): New field. + (textR): New field. + (paint): Reset and use cached rectangles. Only call paintIcon() + if icon is not null. Don't call paintButtonPressed() when + button is selected, only when it is both armed and pressed. + * javax/swing/plaf/basic/BasicGraphicsUtils.java + (getPreferredButtonSize): Reused cached rectangles rather + then creating new ones. Don't create new Rectangle via + Rectangle.union(). + * javax/swing/plaf/basic/BasicLabelUI.java + (getPreferredSize): Correctly reset cached rectangles. Especially + the view rect must have a big size to give it room for layouting. + Short cut layout when text == null. + (paint): Correctly reset cached rectangles. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (resetRectangles): New helper method. + (getPreferredMenuItemSize): Correctly reset the cached rectangles. + (paintMenuItem): Correctly reset the cached rectangles. + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (getPreferredSize): Use cached Rectangle objects and initialize + them correctly. + (paint): Use cached Rectangle objects and initialize + them correctly. + +2006-08-17 David Gilbert + + * java/util/Calendar.java: API doc additions. + +2006-08-17 Robert Schuster + + * javax/swing/DefaultButtonModel.java: + (setRollover): Simplified statement. + +2006-08-17 Jeroen Frijters + + * gnu/java/rmi/server/RMIClassLoaderImpl.java + (loadClass): Rewritten to use getClassLoader. + (loadProxyClass): Implemented. + (getClassLoader): Fixed support for null or empty codebase. + * gnu/java/rmi/server/RMIObjectInputStream.java + (resolveClass): Use user class loader as default class loader. + (resolveProxyClass): Delegate to RMIClassLoader.loadProxyClass. + * gnu/javax/rmi/CORBA/UtilDelegateImpl.java + (loadClass): Simplified and use user class loader instead of + context class loader as default. + * java/io/ObjectInputStream.java + (currentLoader): Use VMStackWalker.firstNonNullClassLoader(). + * vm/reference/gnu/classpath/VMStackWalker.java + (firstNonNullClassLoader): New method. + * vm/reference/java/io/VMObjectInputStream.java + (loaderAction, currentClassLoader): Removed. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (getTabBounds(JTabbedPane, int)): Added code to shift rectangle + by current scroll offset, added method documention. + (getTabBounds(int, Rectangle)): Added method documentation. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: + (paintContentBorderLeftEdge): Changed y to 1. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mouseReleased): Implemented. + (MouseHandler.mousePressed): Added delegation to tabbed pane. + (MouseHandler.mouseEntered): Dito. + (MouseHandler.mouseExited): Dito. + (MouseHandler.mouseMoved): Dito. + (MouseHandler.redispatchEvent): New method. + (PropertyChangeHandler.propertyChange): Added extra block level, + added code to handle tab placement changes, added comment. + (updateViewPosition): Set unneeded coordinate to 0, added comment. + +2006-08-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java: New file. + * gnu/javax/swing/text/html/css/CSSLexicalException.java: + New file. + +2006-08-16 Mark Wielaard + + * java/awt/Component.java (orientation): Renamed to + componentOrientation. + (setComponentOrientation): Use new field name. + (getComponentOrientation): Likewise. + +2006-08-16 Roman Kennke + + PR 28750 + * javax/swing/plaf/basic/BasicTreeUI.java + (CellEditorHandler.editingCancelled): Call completeEditing + directly. + (CellEditorHandler.editingStopped): Call completeEditing + directly. + (NodeDimensionHandler.getNodeDimensions): Rewritten + to use the preferred sizes of the renderer and editor. + (TreeExpansionHandler.treeCollapsed): Complete editing + here. + (TreeSelectionHandler.valueChanged): Complete editing + here. + (cancelEditing): Call completeEditing with false, false and + false. Don't call finish (removed method). + (completeEditing(boolean,boolean,boolean): Only do something when + stopEditingInCompleteEditing is true. Nullify editingComponent + and editingPath. Remove editingComponent from tree. Update + the layout when necessary and repaint. + (completeEditing): Stop editing when necessary. + (editorRequestFocus): New helper method. Request focus + on the actual editor. + (finish) Removed. This is now done in completeEditing(). + (prepareForUIInstall): Set stopEditingInCompleteEditing to true. + (setLargeModel): Complete editing here. + (setRootVisible): Complete editing here. + (setRowHeight): Complete editing here. + (setSelectionModel): Complete editing here. + (startEditing): Correctly initialize and start editing. + (updateExpandedDescendants): Complete editing here. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTextField): Fetch size from super and use renderer's height + if appropriate. + (EditorContainer.EditorContainer): Set layout to null, just + to make sure. + (EditorContainer.doLayout): Layout so that the editor + is offset to the right of the icon. + (EditorContainer.getPreferredSize): Implemented to + provide a reasonable preferred size. + (EditorContainer.paint): Position icon in the middle. + Also paint border if appropriate. + (EditorContainer.setBounds): Removed. + (RealEditorListener): Removed. + (DefaultTreeCellEditor): Set correct border. + (cancelCellEditing): Message real editor. Call finish(). + (createCellEditor): Don't add listener. + (determineOffset): Correctly determine offset, and update + the icon. + (finish): New helper method. + (getTreeCellEditorComponent): Set correct font. Call + prepareForEditing() and determineOffset() to correctly initialize + the state. + (stopCellEditing): Messsage realEditor to stop editing. Call + finish to clean up. + (stopEditingTimer): Removed. + (valueChanged): Correctly reset lastPath. + * javax/swing/tree/DefaultTreeCellRenderer.java + (getPreferredSize): Return super plus some extra space for + better readability. + +2006-08-16 Roman Kennke + + * javax/swing/plaf/metal/MetalTreeUI.java + (LineStyleListener): New property listener, that updates + the line style setting if the corresponding property + changes. + (lineStyleListener): New field. + (lineStyle): New field. + (LINE_STYLE_ANGLED): New constant field. + (LINE_STYLE_HORIZONTAL): New constant field. + (LINE_STYLE_NONE): New constant field. + (LINE_STYLE_VALUE_ANGLED): New constant field. + (LINE_STYLE_VALUE_HORIZONTAL): New constant field. + (LINE_STYLE_VALUE_NONE): New constant field. + (LINE_STYLE_PROPERTY): New constant field. + (decodeLineStyle): Implemented. + (installUI): Install line style listener. Set initial + lineStyle. + (uninstallUI): Uninstall line style listener. + (paintHorizontalPartOfLeg): Only call super for angled + lineStyle. + (paintVerticalPartOfLeg): Only call super for angled + lineStyle. + (paintHorizontalSeparators): Implemented. + (paint): If lineStyle==HORIZONTAL, call + paintHorizontalSeparators(). + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Add panel for selecting line styles. + +2006-08-16 Robert Schuster + + * examples/gnu/classpath/demo/swing/TabbedPaneDemo.java: + (createContent): Rewritten. + (createPlacementChangingMenuItem): New method. + (createLayoutPolicyChangingMenuItem): New method. + (createTabbedPane): New method. + (createTabContent): New method. + +2006-08-16 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mousePressed): Fixed indentation, intercept clicks on + disabled tabs, do proper revalidation in WRAP_TAB_LAYOUT mode. + +2006-08-16 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.modelToView): Provide variable pos as argument and not a fixed value. + (calculateBreakPosition): Add p0 to return value. + +2006-08-15 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (MouseHandler.selectedOnPress): New field. + (MouseHandler.handleEvent): New helper method for handling + selection and start/stop editing for mouse events. + (MouseHandler.mouseDragged): Commented as no-op method. + (MouseHandler.mouseMoved): Commented as no-op method. + (MouseHandler.mousePressed): Use handleEvent() to handle + selection and editing handling. + (MouseHandler.mouseReleased): Use handleEvent() to handle + selection and editing handling. + (MouseInputHandler.MouseInputHandler): Register itself + as mouse listener on source. Redispatch event to + destination. + (MouseInputHandler.dispatch): New helper method. + (MouseInputHandler.mouseClicked): Dispatch event. + (MouseInputHandler.mouseDragged): Dispatch event. + (MouseInputHandler.mouseEntered): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseExited): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseMoved): Stop dispatching. + (MouseInputHandler.mousePressed): Marked as no-op. + (MouseInputHandler.mouseReleased): Dispatch and stop + dispatching afterwards. + (MouseInputHandler.removeFromSource): Implemented. + (PropertyChangeHandler.propertyChange): Also handle + editable property changes by calling setEditable(). + (SelectionModelPropertyChangeHandler.propertyChange): + Reset row selection. + (startEditTimer): Removed. + (setCellEditor): Call updateEditor(). + (setEditable): Call updateEditor(). + (startEditingAtPath): Make path fully visible before starting + editing. + (startEditing): Maybe cancel previous edit session. Add + editing component itself, not its parent container. + Register MouseInputHandler for correctly redispatching + initial events. + (stopEditing): Message cellEditor and only completeEditing() + when approved by cell editor. + (updateCellEditor): Complete editing before updating + the cell editor. Get cell editor from JTree if possible, + otherwise create default editor. Update the listeners + on the editor. + * javax/swing/tree/DefaultTreeCellEditor.java + (CLICK_COUNT_TO_START): Removed. + (DefaultTreeCellEditor): Install correct border. Let setTree() + update the listeners. Don't initialize lastPath and font yet. + (actionPerformed): Implemented to start editing. + (createTreeCellEditor): Set click count to start to 1, rather than + 3. + (isCellEditable): Prepare editor here. Determine if we can + start immediately, or if we trigger a timer to do so. + (prepareForEditing): Don't removeAll() (not necessary), + check editingComponent to be non-null. + (setTree): Update listeners. + (shouldStartEditingTimer): Check for left mouse button. + (startEditingTimer): Lazily create timer. + +2006-08-15 Lillian Angel + + * java/awt/dnd/DropTargetDragEvent.java + (getTransferable): Implemented. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Added comment about NPE. + (retainAll): Added comment about NPE. + +2006-08-15 Roman Kennke + + * java/util/zip/ZipFile.java + (UTF8DECODER): Removed. + (UTF8CHARSET): New constant field. Stores the UTF8 charset. + (utf8Decoder): New instance field. + (decodeChars): Lazily create UTF8 decoder. Use instance + field rather than a static field to avoid corruption. + +2006-08-15 Roman Kennke + + * java/io/PrintStream.java + (line_separator): Provide default for system property. + * java/io/FileDescriptor.java + (valid): Create local copy of channel field for better + threading safetly. + +2006-08-15 Ingo Proetel + + * java/util/zip/ZipFile.java + (PartialInputStream.UTF8DECODER): New constant field, used + for decoding UTF8 strings. + (readLeShort): Access buffer directly if it has enough bytes + available. + (readLeInt): Access buffer directly if it has enough bytes + available. + (decodeChars): New helper method for decoding UTF8 strings. + (readString): Avoid NIO charset decoder if possible. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + (retainAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + +2006-08-14 Casey Marshall + + Merge in ssl-nio-branch work. See `ChangeLog-ssl-nio' for a record + of changes made on this branch. + Files modified: + * gnu/classpath/debug/Component.java + * gnu/classpath/debug/SystemLogger.java + * gnu/java/security/action/GetPropertyAction.java + * gnu/java/security/action/GetSecurityPropertyAction.java + * gnu/javax/crypto/RSACipherImpl.java + * gnu/javax/net/ssl/PrivateCredentials.java + * gnu/javax/net/ssl/provider/Alert.java + * gnu/javax/net/ssl/provider/AlertException.java + * gnu/javax/net/ssl/provider/Certificate.java + * gnu/javax/net/ssl/provider/CertificateRequest.java + * gnu/javax/net/ssl/provider/CertificateType.java + * gnu/javax/net/ssl/provider/CertificateVerify.java + * gnu/javax/net/ssl/provider/CipherSuite.java + * gnu/javax/net/ssl/provider/ClientHello.java + * gnu/javax/net/ssl/provider/ClientKeyExchange.java + * gnu/javax/net/ssl/provider/CompressionMethod.java + * gnu/javax/net/ssl/provider/Constructed.java + * gnu/javax/net/ssl/provider/ContentType.java + * gnu/javax/net/ssl/provider/DiffieHellman.java + * gnu/javax/net/ssl/provider/Extension.java + * gnu/javax/net/ssl/provider/Finished.java + * gnu/javax/net/ssl/provider/Handshake.java + * gnu/javax/net/ssl/provider/Jessie.java + * gnu/javax/net/ssl/provider/ProtocolVersion.java + * gnu/javax/net/ssl/provider/Random.java + * gnu/javax/net/ssl/provider/ServerHello.java + * gnu/javax/net/ssl/provider/ServerKeyExchange.java + * gnu/javax/net/ssl/provider/Signature.java + * gnu/javax/net/ssl/provider/Util.java + * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java + * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java + * java/security/MessageDigest.java + * java/security/MessageDigestSpi.java + * java/security/Signature.java + * java/security/SignatureSpi.java + * javax/crypto/Mac.java + * javax/crypto/MacSpi.java + * javax/net/ssl/HandshakeCompletedEvent.java + * javax/net/ssl/HttpsURLConnection.java + * javax/net/ssl/SSLContext.java + * javax/net/ssl/SSLContextSpi.java + * javax/net/ssl/SSLSession.java + Files added: + * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java + * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java + * gnu/javax/net/ssl/provider/SimpleSessionContext.java + * gnu/javax/net/ssl/provider/ServerRSAParams.java + * gnu/javax/net/ssl/provider/SSLContextImpl.java + * gnu/javax/net/ssl/provider/ServerDHParams.java + * gnu/javax/net/ssl/provider/ClientHelloBuilder.java + * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java + * gnu/javax/net/ssl/provider/SignatureAlgorithm.java + * gnu/javax/net/ssl/provider/CipherSuiteList.java + * gnu/javax/net/ssl/provider/ServerNameList.java + * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java + * gnu/javax/net/ssl/provider/CompressionMethodList.java + * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java + * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java + * gnu/javax/net/ssl/provider/TrustedAuthorities.java + * gnu/javax/net/ssl/provider/CertificateStatusRequest.java + * gnu/javax/net/ssl/provider/ServerHelloDone.java + * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java + * gnu/javax/net/ssl/provider/SSLSocketImpl.java + * gnu/javax/net/ssl/provider/ServerHelloBuilder.java + * gnu/javax/net/ssl/provider/Record.java + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java + * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java + * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java + * gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java + * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java + * gnu/javax/net/ssl/provider/CertificateBuilder.java + * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java + * gnu/javax/net/ssl/provider/CertificateStatusType.java + * gnu/javax/net/ssl/provider/ExtensionList.java + * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java + * gnu/javax/net/ssl/provider/ClientPSKParameters.java + * gnu/javax/net/ssl/provider/X500PrincipalList.java + * gnu/javax/net/ssl/provider/ServerHandshake.java + * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java + * gnu/javax/net/ssl/provider/SessionImpl.java + * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java + * gnu/javax/net/ssl/provider/ServerPSKParameters.java + * gnu/javax/net/ssl/provider/TruncatedHMAC.java + * gnu/javax/net/ssl/provider/MaxFragmentLength.java + * gnu/javax/net/ssl/provider/HelloRequest.java + * gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java + * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java + * gnu/javax/net/ssl/provider/CipherAlgorithm.java + * gnu/javax/net/ssl/provider/ClientHandshake.java + * gnu/javax/net/ssl/provider/ExchangeKeys.java + * gnu/javax/net/ssl/provider/CertificateURL.java + * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java + * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java + * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java + * gnu/javax/net/ssl/provider/Builder.java + * gnu/javax/net/ssl/provider/Debug.java + * gnu/javax/net/ssl/provider/SSLEngineImpl.java + * gnu/javax/net/ssl/provider/MacAlgorithm.java + * gnu/javax/net/ssl/provider/DelegatedTask.java + * gnu/javax/net/ssl/provider/InputSecurityParameters.java + * gnu/javax/net/ssl/provider/ClientHelloV2.java + * gnu/javax/net/ssl/provider/OutputSecurityParameters.java + * gnu/javax/net/ssl/provider/AbstractHandshake.java + * javax/net/ssl/SSLEngine.java + * javax/net/ssl/CertPathTrustManagerParameters.java + * javax/net/ssl/KeyStoreBuilderParameters.java + * javax/net/ssl/X509ExtendedKeyManager.java + * javax/net/ssl/SSLEngineResult.java + * gnu/javax/net/ssl/PreSharedKeyManager.java + * gnu/javax/net/ssl/Session.java + * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java + * gnu/javax/net/ssl/SSLCipherSuite.java + * gnu/javax/net/ssl/AbstractSessionContext.java + * gnu/javax/net/ssl/SessionStoreException.java + * gnu/javax/net/ssl/SSLRecordHandler.java + * gnu/javax/net/ssl/SSLProtocolVersion.java + * gnu/javax/crypto/key/GnuPBEKey.java + * gnu/java/security/util/ByteBufferOutputStream.java + * gnu/java/security/Requires.java + * gnu/javax/security/auth/callback/CertificateCallback.java + Files removed: + * gnu/javax/net/ssl/provider/Context.java + * gnu/javax/net/ssl/provider/DigestInputStream.java + * gnu/javax/net/ssl/provider/DigestOutputStream.java + * gnu/javax/net/ssl/provider/Enumerated.java + * gnu/javax/net/ssl/provider/Extensions.java + * gnu/javax/net/ssl/provider/GNUSecurityParameters.java + * gnu/javax/net/ssl/provider/JCESecurityParameters.java + * gnu/javax/net/ssl/provider/JDBCSessionContext.java + * gnu/javax/net/ssl/provider/JessieDHPrivateKey.java + * gnu/javax/net/ssl/provider/JessieDHPublicKey.java + * gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java + * gnu/javax/net/ssl/provider/JessieRSAPublicKey.java + * gnu/javax/net/ssl/provider/KeyPool.java + * gnu/javax/net/ssl/provider/OverflowException.java + * gnu/javax/net/ssl/provider/RecordInput.java + * gnu/javax/net/ssl/provider/RecordInputStream.java + * gnu/javax/net/ssl/provider/RecordOutputStream.java + * gnu/javax/net/ssl/provider/RecordingInputStream.java + * gnu/javax/net/ssl/provider/SSLRSASignature.java + * gnu/javax/net/ssl/provider/SSLServerSocket.java + * gnu/javax/net/ssl/provider/SSLServerSocketFactory.java + * gnu/javax/net/ssl/provider/SSLSocket.java + * gnu/javax/net/ssl/provider/SSLSocketFactory.java + * gnu/javax/net/ssl/provider/SSLSocketInputStream.java + * gnu/javax/net/ssl/provider/SSLSocketOutputStream.java + * gnu/javax/net/ssl/provider/SecurityParameters.java + * gnu/javax/net/ssl/provider/Session.java + * gnu/javax/net/ssl/provider/SessionContext.java + * gnu/javax/net/ssl/provider/SynchronizedRandom.java + * gnu/javax/net/ssl/provider/XMLSessionContext.java + +2006-08-14 Roman Kennke + + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (DividerLayout.layoutContainer): Removed debug output. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.axis): New field. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager(int)): + New constructor. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager()): + Call new axis constructor. + (BasicHorizontalLayoutManager.getAvailableSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getInitialLocation): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getPreferredSizeOfComponent): + Refactored to handle direction. + (BasicHorizontalLayoutManager.getSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumLayoutSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.preferredLayoutSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.setComponentToSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.updateComponents): Don't reset + divider size. + (BasicVerticalLayoutManager.BasicVerticalLayoutManager): + New explicit constructor. Calls super with vertical axis. + (BasicVerticalLayoutManager.getAvailableSize): Functionality moved + to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getInitialLocation): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getPreferredSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getSizeOfComponent): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.preferredLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.setComponentToSize): Functionality + moved to BasicHorizontalLayoutManager. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (BUTTON_SPRITE): Renamed to BUTTON_SPRITE_L. + (BUTTON_SPRITE_R): New constant field. + (MetalOneTouchButton.paint): Paint R sprite for right buttons, + L sprite for left buttons. + +2006-08-14 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (query_formats): g_free 'name' after usage. + g_strfreev 'ch', the gdk_pixbuf_format_get_extensions instance. + g_strfreev 'ch', the gdk_pixbuf_format_get_mime_types instance. + +2006-08-14 Thomas Fitzsimmons + + PR classpath/27723 + * configure.ac (MOZILLA_FOUND): Add pkg-config check for + seamonkey-plugin. + +2006-08-14 Francis Kung + + PR 28694 + * java/awt/image/ColorModel.java + (coerceData): Added check for non-transparent images. + +2006-08-14 Francis Kung + + * java/awt/image/BandCombineOp.java + (BandCombineOp): Perform checks on validity of matrix. + (createCompatibleDestRaster): Add checks and choose raster type dynamically. + (filter): Updated to work with new matrix storage. + (getMatrix): Updated javadoc. + (getPoint2D): Formatting change. + +2006-08-14 Francis Kung + + * java/awt/image/AffineTransformOp.java + (AffineTransformOp): Updated javadoc. + (createCompatibleDestImage): Match behaviour of reference implementation. + (createCompatibleDestRaster): Formatting changes. + (filter(BufferedImage, BufferedImage)): Create compatible destination image. + (filter(Raster, WritableRaster)): Re-implemented. + (filterBicubic): New private method. + (filterBilinear): New private method. + (filterNearest): New private method. + (getBounds2D): No longer fixed around one point for rotations. + (getInterpolationType): Add support for bicubic interpolation. + +2006-08-14 Roman Kennke + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (MetalLookAndFeel): Moved theme initialization to + getDefaults(). + (createDefaultTheme): Forward to getCurrentTheme(). + (getDefaults): Initialize theme before doing anything else. + (getCurrentTheme): Recognize swing.metalTheme property. + +2006-08-14 Roman Kennke + + * javax/swing/JTable + (getScrollableUnitIncrement): Expose partially exposed + row in scrolling direction. - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - (remove): Force event on removing item 0 when it's selected. - (handleEvent): Always call Choice.selected(). - * java/awt/Choice.java: - (remove): Simplify and correct. +2006-08-14 Audrius Meskauskas -2006-07-30 Sven de Marothy + * javax/swing/JTable (getScrollableUnitIncrement): + Removing my name as the whole method body have been + recently completely replaced. - * java/awt/Choice.java: - (accessibleAction): Call select() directly. - (add, insert, remove): Reimplement. - (dispatchEventImpl): Always call super. - (processItemEvent): Does not set the index. - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c - (append): removed. - (nativeAdd): Name changed to add. - (selection_changed_cb): Simplify callback. - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - (selected): New field. - (add): Replaced with native impl. - (handleEvent): New method. +2006-08-14 Roman Kennke + + PR 28028 + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Don't add p0 here. + +2006-08-14 Roman Kennke + + PR 28719 + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Scroll negative delta + when wheel is going up. + +2006-08-14 Roman Kennke + + PR 28693 + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (BasicOneTouchButton): New inner class. + (DividerLayout.changeButtonOrientation): Removed. + (DividerLayout.positionButtons): Moved into layoutContainer. + (DividerLayout.layoutContainer): Reworked for correct layout. + (OneTouchAction): New inner class. + (centerOneTouchButtons): New field. + (BasicSplitPaneDivider): Initialize centerOneTouchButton from + UIManager. + (createLeftOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (createRightOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (getPreferredSize): Reimplemented to return fixed preferredSize. + (oneTouchExpandableChanged): Add OneTouchAction action to + buttons. Don't install mouse listeners. + (MouseHandler.mousePressed): Removed handling of one touch buttons. + (paint): Don't trigger extra paint for buttons. + (propertyChange): Revalidate splitPane when orientation is changed. + (setBasicSplitPaneUI): Call oneTouchExpandableChanged only when + oneTouchExpandable is true. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (installDefaults): Install dividerSize on the divider too. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (MetalDividerLayout): Removed. Functionality is already + in BasicSplitPaneDivider.DividerLayout. + (MetalOneTouchButton): New inner class. + (BUTTON_SPRITE): New constant field. + (MetalSplitPaneDivider): Don't change layout. + (createLeftOneTouchButton): Overridden to return custom button + for Metal. + (createRightOneTouchButton): Overridden to return custom button + for Metal. + (paint): Don't trigger button painting. Call super instead. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (installKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + (uninstallKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + +2006-08-13 Roman Kennke + + PR 28135 + * javax/swing/ScrollPaneLayout.java + (layoutContainer): Consider the viewportBorder of the + JScrollPane. + (minimumLayoutSize): Consider the viewportBorder of the + JScrollPane. + (preferredLayoutSize): Consider the viewportBorder of the + JScrollPane. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (installDefaults): Also install viewportBorder if specified. + (paint): Paint viewportBorder if present. + (uninstallDefaults): Uninstall viewportBorder if appropriate. + Don't nullify foreground, background and font. Uninstall + border via LookAndFeel helper method to avoid uninstall + user set border. + +2006-08-13 Roman Kennke + + PR 28696 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.HTMLRootView): Trigger initial layout. + (HTMLRootView.setSize): Overridden to forward to real view. + * javax/swing/plaf/basic/BasicToolTipUI.java + (PropertyChangeHandler): New inner class. Updates the HTML + renderer. + (propertyChangeHandler): New field. + (getMaximumSize): Add HTML width delta. + (getMinimumSize): Add HTML width delta. + (getPreferredSize): Reimplemented to use HTML view for size + calculation if appropriate, otherwise use simple stringWidth() + measurement. + (installListeners): Install propertyChangeHandler. + (uninstallListeners): Uninstall propertyChangeHandler. + (installUI): Update HTML renderer. + (uninstallUI): Update HTML renderer. + (paint): Reimplemented to use HTML view for rendering if + appropriate, simple drawString otherwise. + * javax/swing/plaf/metal/MetalToolTipUI.java + (getPreferredSize): Call super and add accelerator delta. + (paint): Simply call super. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (changeListener): Renamed to menuChangeListener to avoid + shadowing changeListener field from AbstractButton. + +2006-08-13 Roman Kennke + + * javax/swing/JTree.java + (getScrollableUnitIncrement): Fixed direction. + (getScrollableBlockIncrement): Implemented to scroll one + page. + * javax/swing/tree/VariableHeightLayoutCache.java + (distance): Consider y + height already outside the node. + +2006-08-13 Roman Kennke + + * javax/swing/JTable.java + (getScrollableUnitIncrement): Fixed direction. Make it behave + like the RI. + (getScrollableBlockIncrement): Fixed direction. Make it behave + like the RI. + +2006-08-13 Roman Kennke + + * javax/swing/JList.java + (getScrollableUnitIncrement): Fixed direction. Implemented + horizontal scrolling. Improved usability. + (getScrollableBlockIncrement): Fixed direction. Improved usability. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (scrollByUnit): Scroll by -unit when direction is not positive + and +unit otherwise. + (scrollByBlock): Scroll by -unit when direction is not positive + and +unit otherwise. + +2006-08-13 Roman Kennke + + PR 28028 + * javax/swing/text/PlainView.java + (paint): Limit painted area to the lines inside the clip + and allocation. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (uninstallListeners): Unregister document listener. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcodeCache): New field. + (hashCode): use the above field instead of the serialized one + (writeObject): Removed method. + (readObject): Intern strings. + (equals): Revert to previous method. + +2006-08-13 Roman Kennke + + * javax/swing/JTabbedPane.java + (JTabbedPane): Call setModel() here and let this install the + change listener correctly. + (setModel): Correctly uninstall and reinstall ChangeListener when + model changes. + +2006-08-13 Raif S. Naffah + + PR Classpath/23952 + * java/util/ResourceBundle.java (CACHE_SIZE): New constant. + (bundleCache): Replaced with an LRU of CACHE_SIZE elements. + (lastDefaultLocale): Removed. + (emptyLocale): Likewise. + (BundleKey.defaultLocale): New field. + (BundleKey.BundleKey): Add a Locale (as a 1st positional) argument. + (BundleKey.set): Likewise. + (BundleKey.equals): Take defaultLocal field into consideration. + (getBundle(String, Locale, ClassLoader)): Use updated BundleKey and LRU. + +2006-08-13 Roman Kennke -2006-07-06 Paul Eggert + * javax/swing/JMenu.java + (MenuChangeListener): New inner class, helps firing menu events. + (changeListener): New field. + (add(text)): Create new JMenuItem here and call add(JMenuItem). + (add(Action)): Create Action using createActionComponent() + and add via add(Component). + (setModel): Install and uninstall MenuChangeListener here. + +2006-08-13 Raif S. Naffah + + PR Classpath/27372 + * java/math/BigInteger.java: Updated copyright year. + (init): Consume as little bytes as possible. + (BigInteger(int, int, Random)): Ensure bitLength bits are used. + (valueOf(String, int)): Throw NumberFormatException for malformed strings + as per RI's documentation. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcode): Is a serialized field, not transient. + (equals): Should NOT compare strings by reference. + (readObject/writeObject): Use the default methods and handle the hash + seperately. + +2006-08-13 Raif S. Naffah + + PR Classpath/28678 + * gnu/java/security/Engine.java (getInstance(String, String, Provider)): + Updated documentation. + Formatting. + (getInstance(String, String, Provider, Object[])): Likewise. + Separate checks for null and empty string arguments. + Include as much information as possible in the exception's message. + Do not swallow original exception; instead use it as the cause of the + resulting exception. + * gnu/javax/security/auth/callback/AbstractCallbackHandler.java + (getInstance(String)): Updated documentation. + Formatting. + Store last exception caught when iterating through all providers. + If no implementation found, raise last exception if one was caught. + (getInstance(String, String)): Updated documentation. + Formatting. + Check for null or empty provider as per RI-5's documentation. + (getInstance(String, Provider)): Updated documentation. + Formatting. + Use as much information as possible in the exception message. + Do not swallow original exception; instead use it as the cause for the + ultimate raised exception(s). + * java/security/cert/CertificateFactory.java: Likewise. + * java/security/cert/CertPathBuilder.java: Likewise. + * java/security/cert/CertPathValidator.java: Likewise. + * java/security/cert/CertStore.java: Likewise. + * java/security/AlgorithmParameterGenerator.java: Likewise. + * java/security/AlgorithmParameters.java: Likewise. + * java/security/KeyFactory.java: Likewise. + * java/security/KeyPairGenerator.java: Likewise. + * java/security/KeyStore.java: Likewise. + * java/security/MessageDigest.java: Likewise. + * java/security/SecureRandom.java: Likewise. + * java/security/Signature.java: Likewise. + * javax/crypto/Cipher.java: Likewise. + * javax/crypto/ExemptionMechanism.java: Likewise. + * javax/crypto/KeyAgreement.java: Likewise. + * javax/crypto/KeyGenerator.java: Likewise. + * javax/crypto/Mac.java: Likewise. + * javax/crypto/SecretKeyFactory.java: Likewise. + * javax/net/ssl/KeyManagerFactory.java: Likewise. + * javax/net/ssl/SSLContext.java: Likewise. + * javax/net/ssl/TrustManagerFactory.java: Likewise. + +2006-08-13 Roman Kennke + + * javax/swing/JEditorPane.java + (getScrollableTracksViewportHeight): Also check maximum size. + * javax/swing/JTextPane.java + (insertIcon): Use input attributes for adding the icon + attribute. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.setSize): Overridden to forward to real view. + (getPreferredSize): Trigger setSize() on the view. + (viewToModel(JTextComponent,Point)): Pass Position.Bias array + to viewToModel() call, rather then null. + * javax/swing/text/ParagraphView.java + (changedUpdate): Invalide layout. Call super. + * javax/swing/text/SimpleAttributeSet.java + (clone): Use super's clone method to create clone. + * javax/swing/text/StyleConstants.java + (setIcon): Also set element name attribute. + * javax/swing/text/StyledEditorKit.java + (BoldAction.actionPerformed): Actually set the bold attribute, + not italic. + (setCharacterAttributes): Replaced with more straightforward + impl. + * javax/swing/text/TextAction.java + (getFocusedComponent): Implemented. + * javax/swing/text/Utilities.java + (getNextVisualPositionFrom): Pass Position.Bias arrays instead + of null. + * javax/swing/text/View.java + (changedUpdate): Nullify element change when updateChildren + says so. + +2006-08-11 Andrew John Hughes + + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + Fix documentation typos. + +2006-08-11 David Daney + + PR classpath/28580 + * gnu/java/net/protocol/http/Request.java (readResponse): Call + createResponseBodyStream in more cases and with new parameter. + (createResponseBodyStream): Added new parameter mayHaveBody. Handle + HEAD and !mayHaveBody responses specially. + +2006-08-11 Roman Kennke + + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.modelToView): Fixed model->view mapping. + * javax/swing/text/LabelView.java + (valid): New flag indicating if the text attributes are valid. + (LabelView): Initialize valid field with false. + (setPropertiesFromAttributes): Call setter methods instead + of setting properties directly. Set valid to true. + (changedUpdate): Invalidate attributes. Call super. + (getBackground): Sync attributes if necessary. + (getForeground): Sync attributes if necessary. + (getFont): Sync attributes if necessary. + (isUnderline): Sync attributes if necessary. + (isSuperscript): Sync attributes if necessary. + (isStrikeThrough): Sync attributes if necessary. + (getFontMetrics): Sync attributes if necessary. Fetch font metrics + from toolkit if Container is not available yet. + +2006-08-11 Roman Kennke + + * javax/swing/text/PlainView.java + (tabBase): New field. + (tabSize): New field. + (updateMetrics): Update tabSize. + (lineToRect): Only allocate when really necessary. + (modelToView): Use tabBase for offset calculations. + (paint): Only allocate when really necessary. Update tabBase. + (nextTabStop): Fixed tab calculation. + (viewToModel): Correctly handle multiline text and locations + outside the view's bounds. Set bias. + (getLineLength): Use tabBase. + * javax/swing/text/Utilities.java + (drawTabbedText): Don't special case newlines. The views + must take care of this. - Port to hosts whose 'sort' and 'tail' implementations - treat operands with leading '+' as file names, as POSIX - has required since 2001. However, make sure the code still - works on pre-POSIX hosts. - * libjava/classpath/ltmain.sh: Don't assume "sort +2" is - equivalent to "sort -k 3", since POSIX 1003.1-2001 no longer - requires this. - This uses the same fix that is already in - libjava/libltdl/ltmain.sh. +2006-08-11 Roman Kennke -2006-07-04 Peter O'Gorman + * javax/swing/text/GapContent.java + (UndoPosRef): New inner class. Used for resetting positions + after undo/redo operations. + (InsertUndo.positions): New field. + (InsertUndo.undo): Store positions in removed range. + (InsertUndo.redo): Restore positions in re-inserted range. + (UndoRemove.positions): New field. + (UndoRemove.UndoRemove): Store positions in removed range. + (UndoRemove.undo): Restore positions in re-inserted range. + (UndoRemove.redo): Store positions in removed range. + (insertString): Create InsertUndo instance before actually + inserting the string. + (remove): Create UndoRemove instance before actually + removing. + (getPositionsInRange): Don't clear the Vector. Return Vector + of UndoPosRefs. + (updateUndoPositions): Implemented to reset all UndoPosRefs + in the vector. + +2006-08-11 Jeroen Frijters + + * java/io/ObjectInputStream.java (readClassDescriptor): + Use class's class loader to resolve field types. + * java/io/ObjectStreamField.java + (ObjectStreamField(String,String,ClassLoader)): Removed. + (ObjectStreamField(String,String)): Don't try to resolve typename. + (resolveType): New method. + +2006-08-10 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMajorAxisRequirements): Sum up the preferred and + maximum sizes. + (isAfter): Also add in the rectangle's with/height. + (childAllocation): Don't trigger layout here. + (layoutMinorAxis): Removed debug output. + (getWidth): Consider the insets. + (getHeight): Consider the insets. + (setSize): Consider the insets. + (updateRequirements): Check axis and throw + IllegalArgumentException. + +2006-08-10 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BidiRootName): New constant field, denotes the element name + for bidi root elements. + (AsyncLoadPriority): New constant field, denotes the property + to store the asynchronousLoadPriority. + (I18N): New constant field, denotes the property for + I18N support. + (bidiRoot): Made field type BidiRootElement. + (AbstractDocument): Build initial element structure for + bidi. + (getAsynchronousLoadPriority): Implemented. Returns the + value stored in the document properties. + (setAsynchronousLoadPriority): Implemented. Sets the + value stored in the document properties. + (getEndPosition): Implemented to use a Position from the + content. + (getStartPosition): Implemented to use a Position from the + content. + (insertStringImpl): Update the I18N setting if necessary. + (insertUpdate): Update the bidi structure if necessary. + (postRemoveUpdate): Update the bidi structure if necessary. + (putProperty): Update the I18N setting and bidi structure + if necessary. + (updateBidi): New helper method for updating the bidi + structure. + (getBidis): New helper method. Fetches the Bidi analysers + for the paragraphs of the range to check. + (dump): Also dump the bidi structure. + (AbstractElement.dump): Indent the '>' correctly. + (AbstractElement.children): Check numChildren rather then + children.length. + (BidiRootElement): New inner class. + (BidiElement): New inner class. + +2006-08-10 Roman Kennke + + * javax/swing/text/GapContent.java + (getChars): Optimized to only copy array when really necessary. + Respect the partialReturn property. + +2006-08-10 Lillian Angel + + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (getComponentPeer): Added check to prevent NPE. - * ltconfig: chmod 644 before ranlib during install. +2006-08-10 Gary Benson + + * java/security/AccessControlContext.java (): + Avoid a duplicated AccessController.getContext() call. + +2006-08-09 Mark Wielaard + + * doc/www.gnu.org/newsitems.txt: Add 0.92. + * doc/www.gnu.org/downloads/downloads.wml: Likewise. + * doc/www.gnu.org/announce/20060809.wml: New file. 2006-08-09 Mark Wielaard - * configure.ac (VERSION): Set to 0.92. + * configure.ac (VERSION): Set to 0.92-generics. * NEWS: Add updates for 0.92 release. -2006-08-08 Roman Kennke +2006-08-09 Tom Tromey + + PR classpath/28658: + * java/text/SimpleDateFormat.java (parse): Let an unquoted space in + the pattern match any number of spaces in the text. + +2006-08-09 Sven de Marothy + + * java/awt/image/BufferedImage.java + (BufferedImage): Reimplement predefined-type constructor. + (observers/tileObservers): Field renamed to tileObservers. + (createDefaultIndexedColorModel): New method. + +2006-08-09 Tom Tromey + + PR classpath/28666: + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c + (Java_gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice_nativeGetDisplayModes): + Create a 'short' array. + +2006-08-09 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniHelper.java (getName): Properly + handle arrays. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (writeFields): Print "L" after int constant. Don't mangle the field + name. Only print int/long fields. + +2006-08-09 Tom Tromey + + * tools/gnu/classpath/tools/javah/Main.java (getParser): Name program + "javah". + +2006-08-09 Sven de Marothy + + * javax/swing/JTree.java + (JTree): Default SelectionModel should be DefaultTreeSelectionModel. + (setSelectionModel): Null parameter should create an EmptySelectionM. + +2006-08-09 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (insertString): Perform modifications inside a write lock. + (insertStringImpl): Don't lock here. This is already done + in insertString(). + (replace): Perform modifications inside a write lock. + (AbstractElement.AbstractElement): Call addAttributes() to + add the attributes. + (AbstractElement.getName): Fetch name from the ElementNameAttibute. + (BranchElement.lastIndex): New field. Optimizes getElementIndex(). + (BranchElement.BranchElement): Set lastIndex to -1. + (BranchElement.getElementIndex): Implemented more efficient + search. + +2006-08-09 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (Edit): Moved this inner class into ElementBuffer where it + is actually needed. + (edits): Moved this field into ElementBuffer. + (getEditForParagraphAndIndex): Removed obsolete method. + (insertUpdate): Added some optimizations and fixes. Split + out handling insertion after newlines. + (insertAfterNewline): New helper method. Handles insertions + after a newline. + (ElementBuffer.Edit): New inner class. Moved here from + DefaultStyledDocument. + (ElementBuffer.createdFracture): New field. + (ElementBuffer.documentEvent): Made private. + (ElementBuffer.edits): New field. Moved here from + DefaultStyledDocument. + (ElementBuffer.fracNotCreated): Replaced by createdFracture. + (ElementBuffer.fracturedChild): New field. + (ElementBuffer.fracturedParent): New field. + (ElementBuffer.insertPath): New field. + (ElementBuffer.lastFractured): Removed. Replaced by fracturedChild and + fracturedParent. + (ElementBuffer.offsetLastIndex): New field. + (ElementBuffer.offsetLastIndexReplace): New field. + (ElementBuffer.recreateLeafs): New field. + (ElementBuffer.ElementBuffer): Don't initialize stack here. + (ElementBuffer.canJoin): New helper method. + (ElementBuffer.changeUpdate): Changed to use elementStack with + Edits rather than Elements. Let the split method do the work. + (ElementBuffer.cloneAsNecessary): New helper method. + (ElementBuffer.createFracture): Changed to fracture the bottommost + child in the stack. + (ElementBuffer.finishEdit): New helper method. Moved out + from insertUpdate to perform the actual changes and update + the event. + (fracture): New helper method. + (insertContentTag): Fixed some bugs and changed to use Edit + instances in the stack, rather then Elements. + (insertElement): New helper method. Moved out from insertUpdate() + to process the ElementSpecs. + (insertFirstContentTag): Fixed some problems and changed to use Edit + instances in the stack, rather then Elements. + (insertFracture): Removed. Basically moved into createFracture() + and fracture(). + (insertParagraph): Removed. + (insertUpdate): Split out the ElementSpec processing into + insertElement(). Use Edit instances in the stack. Fixed some + problems. + (insert): Split out the preparation and finishing code into + prepareEdit() and finishEdit(). + (join): New helper method. + (pop): New helper method. + (prepareEdit): New helper method. + (recreateFracturedElement): New helper method. + (recreateLeaves): Removed. + (recreate): New helper method. + (removeElements): New helper method. Split out from removeUpdate(). + (removeUpdate): Split out the actual removal. Use the + Edit stack to perform removal and perform the remove actions + and event updates afterwards, just like in insertImpl(). + (remove): Use prepareEdit() and finishEdit(). + (split): Replaced with more flexible impl. + +2006-08-09 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + Change class to extend WritableRaster and not DataBuffer. + (CairoDataBuffer): New inner class. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + Accomodate the above change. + +2006-08-09 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkMainThread.java + New file. + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + Replace GtkToolkit.mainThread with GtkMainThread.mainThread. + * gnu/java/awt/peer/gtk/GtkToolkit.java + Minor style fixes; removed unused fields, + set fields to private where possible. + (createDialog, createFrame, createWindow, createEmbeddedWindow): + Call GtkMainThread.createWindow(). + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (dispose): New method. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (gtkQuit): New native method. + +2006-08-08 Lillian Angel + + * java/awt/Component.java + (setDropTarget): Added check. + +2006-08-08 Lillian Angel + + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (GtkDragSourceContextPeer): Added FIXME. Changed call + to setTarget. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java + (GtkDropTargetContextPeer): Removed target initialization. + * java/awt/Component.java + (setTarget): Removed commented out code. + +2006-08-08 Mark Wielaard + + * javax/swing/text/DefaultHighlighter.java: Qualify + Highlighter.HighlightPainter class name for gcj. + +2006-08-05 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-05 Roman Kennke PR 28650 * javax/swing/plaf/basic/BasicMenuBarUI.java @@ -208,7 +9205,7 @@ (getMinimumSize): Added specnote about this method never beeing called in the RI. -2006-08-06 Sven de Marothy +2006-08-03 Sven de Marothy * gnu/java/awt/peer/gtk/ComponentGraphics.java (grab, nativeGrab): New methods. @@ -218,7 +9215,7 @@ * gnu/java/awt/peer/gtk/GtkComponentPeer.java (print): Implement. * java/awt/Component.java - (printAll): Should call peer print method. + (printAll): Should call peer print method. 2006-08-06 Thomas Minor <1nocentrabidlamb@sexMagnet.com> @@ -236,10 +9233,10 @@ 2006-08-06 Roman Kennke * NEWS: Added note about the X peers. - * INSTALL: Added install notes about the X peers. + * INSTALL: Added install notes about the X peers. 2006-08-06 Raif S. Naffah - Paul Jenner + Paul Jenner * README: Update bug, patches and cvs instructions plus new URLs of various external projects. @@ -256,13 +9253,347 @@ g_type_init earlier in function to correctly initialize the type system used by the backend. -2006-08-05 Robert Schuster +2006-08-05 Roman Kennke + + * javax/swing/text/DefaultHighlight.java + (DefaultHighlightPainter.paintHighlight): Removed method. + (DefaultHighlightPainter.paintLayer): Implemented. + (DefaultHighlightPainter.paint): Implemented more efficient + painting for multiline-highlights. + (HighlightEntry.p0): Changed to be a Position. + (HighlightEntry.p1): Changed to be a Position. + (HighlightEntry.HighlightEntry): Changed to take Position + arfuments. + (HighlightEntry.getStartOffset): Changed to return p0.getOffset(); + (HighlightEntry.getEndOffset): Changed to return p1.getOffset(); + (LayerHighlightEntry): New inner class. Extends HighlightEntry + and tracks the painted rectangle for efficient repainting. + (addHighlight): Handle layered highlight. + (changeHighlight): Handle layered highlight. + (paintLayeredHighlights): Implemented. + (paint): Paint only non-layered highlights here. + (removeAllHighlights): Trigger correct repaint. + (removeHighlight): Handle layered highlight here for + more efficient repainting. + * javax/swing/text/GlyphView.java + (paint): Handle layered highlights. + * javax/swing/text/PlainView.java + (paint): Handle layered highlights. + * javax/swing/text/WrappedPlainView.java + (WrappedLine.paint): Handle layered highlights. + +2006-08-07 Audrius Meskauskas + + PR 26972 + * NEWS: As suggested by Paul Jennier, added note about the fix of + the InitialContext. + +2006-08-07 Audrius Meskauskas + + * NEWS: Added entry about the context factories for JNDI. + +2006-08-07 Audrius Meskauskas + + PR 27383 + * gnu/CORBA/Connected_objects.java (size): New method. + * gnu/CORBA/OrbFunctional.java (countConnectedObjects): + New method. + * javax/naming/spi/NamingManager.java (getURLContext): + Also search for the URL context factories in + gnu/javax/naming/jndi/url. + * 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/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: New files. + +2006-08-06 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Synchronize against font object when drawing. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (nativeDrawGlyphVector): Use pango locking when drawing. + (install_font_peer): Use pango locking when creating the cairo face. + +2006-08-06 C. Scott Marshall + + Fixes PR 28608. + * java/nio/DirectByteBufferImpl.java (duplicate): only reset if + the mark has been set. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (Java_java_nio_VMDirectByteBuffer_allocate): zero out the + allocated data. + +2006-08-06 Mark Wielaard + + PR 28555 + Suggested by Matthew Burgess + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + withParams is null. + * gnu/xml/transform/ForEachNode.java (clone): Check whether + sortKeys is null. + +2006-08-06 Raif S. Naffah + Paul Jenner + + * README: Update bug, patches and cvs instructions plus new URLs of + various external projects. + +2006-08-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (cacheMBeanInfo(MBeanInfo)): Override given MBeanInfo + with open variant. + (getCachedMBeanInfo()): Return open variant. + (getMBeanInfo()): Likewise. + (getTypeFromClass(Class)): Implemented. + (translateSignature(MBeanParameterInfo)): Likewise. + (translate(String)): Likewise. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Return attribute names with capital letters, + as in docs for java.lang.management.ManagementFactory, and + ensure descriptions are not "". + * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java, + * javax/management/openmbean/OpenMBeanInfoSupport.java, + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + (toString()): Use Arrays.toString(). + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + (OpenMBeanParameterInfoSupport(String, String, OpenType)): + Set open type here rather than in other constructors. + +2006-08-05 Andrew John Hughes + + * javax/management/MBeanFeatureInfo.java: + Make string variable package-private. + * javax/management/StandardMBean.java: + (getMBeanInterface()): Made final. + * javax/management/openmbean/SimpleType.java: + Made final. + +2006-08-05 Jeroen Frijters + + * java/awt/Component.java (setDropTarget): Commented out GTK specific + code. + +2006-08-05 Andrew John Hughes + + * examples/gnu/classpath/examples/swing/FillRect.java, + * gnu/CORBA/Focused_ORB.java, + * gnu/CORBA/interfaces/gnuSocketFactory.java, + * gnu/classpath/ByteArray.java, + * gnu/classpath/ObjectPool.java, + * gnu/java/awt/peer/ClasspathTextLayoutPeer.java, + * gnu/java/awt/peer/x/fonts.properties, + * gnu/java/security/util/Prime2.java, + * gnu/javax/imageio/gif/GIFStream.java, + * javax/swing/text/html/HTMLTableView.java, + * native/cni/Makefile.am, + * org/omg/CORBA/SendingContext/RunTimeOperations.java, + * org/omg/CORBA/SendingContext/Runtime.java, + * resource/gnu/regexp/MessagesBundle.properties, + * resource/gnu/regexp/MessagesBundle_fr.properties, + * resource/gnu/regexp/MessagesBundle_it.properties, + * tools/appletviewer.in, + * tools/jarsigner.in, + * tools/keytool.in, + * vm/reference/java/lang/management/VMThreadInfo.java: + Removed. + * examples/gnu/classpath/examples/awt/aicas.png, + * examples/gnu/classpath/examples/awt/palme.gif, + * examples/gnu/classpath/examples/java2d/aicas.png, + * examples/gnu/classpath/examples/java2d/palme.gif, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png, + * java/awt/doc-files/capjoin.png, + * java/awt/geom/doc-files/Area-1.png, + * java/awt/geom/doc-files/Ellipse-1.png, + * java/awt/geom/doc-files/GeneralPath-1.png: + Added. + +2006-08-05 Andrew John Hughes + + * configdiag.jnlp: + Removed. + +2006-08-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (getAttribute(String)): Implemented. + +2006-08-05 Roman Kennke + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent.dot): Renamed field into caretDot. + (AccessibleJTextComponent.textComp): Removed field + and replace with JTextComponent.this construct. + (AccessibleJTextComponent.AccessibleJTextComponent): + Fetch caret position. + (caretUpdate): Implemented. Fires property change events and + updates the caretDot field. + (changedUpdate): Implemented. Fires property change events. + (insertUpdate): Implemented. Fires property change events. + (removeUpdate): Implemented. Fires property change events. + (cut): Replaced textComp with JTextComponent.this construct. + (paste): Replaced textComp with JTextComponent.this construct. + (replaceText): Replaced textComp with JTextComponent.this construct. + (selectText): Replaced textComp with JTextComponent.this construct. + (getCaretPosition): Replaced textComp with JTextComponent.this + construct. + (getCharCount): Replaced textComp with JTextComponent.this construct. + (getSelectedText): Replaced textComp with JTextComponent.this + construct. + (getSelectionEnd): Replaced textComp with JTextComponent.this + construct. + (getSelectionStart): Replaced textComp with JTextComponent.this + construct. + (getTextRange): Replaced textComp with JTextComponent.this + construct. + (doAccessibleAction): Implemented. + (getAccessibleActionCount): Implemented. + (getAccessibleActionDescription): Implemented. + (getAccessibleStateSet): Implemented. + (getAfterIndex): Implemented. + (getBeforeIndex): Implemented. + (getAtIndex): Implemented. + (getAtIndexImpl): New helper method. + (getCharacterAttribute): Implemented. + (getCharacterBounds): Implemented. + (getIndexAtPoint): Implemented. + (insertTextAtIndex): Implemented. + (setAttributes): Implemented. + (setTextContents): Implemented. + +2006-08-05 Raif S. Naffah + + * configure.ac: Better handling of default-preferences-peer option. + +2006-08-04 Andreas Tobler + + * java/awt/BasicStroke.java (dashedStroke): Cast coords.clone to + double[]. + +2006-08-04 Andrew John Hughes + + * javax/management/openmbean/TabularData.java: + Documentation corrections. + * javax/management/openmbean/TabularDataSupport.java: + New file. + +2006-08-04 Francis Kung + + * java/awt/BasicStroke.java + (dashedStroke): Implemented. + +2006-08-04 Andrew John Hughes + + * javax/management/BadAttributeValueExpException.java, + * javax/management/BadStringOperationException.java, + * javax/management/InstanceAlreadyExistsException.java, + * javax/management/InstanceNotFoundException.java, + * javax/management/InvalidApplicationException.java, + * javax/management/MBeanRegistrationException.java, + * javax/management/MalformedObjectNameException.java, + * javax/management/RuntimeErrorException.java, + * javax/management/RuntimeMBeanException.java, + * javax/management/ServiceNotFoundException.java: + New files. + +2006-08-04 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel(JComponent,FontMetrics,String,Icon,int,int,int, + int,Rectangle,Rectangle,Rectangle,int)): Delegate to new + layoutCompoundLabelImpl(). + (layoutCompoundLabel(FontMetrics,String,Icon,int,int,int,int, + Rectangle,Rectangle,Rectangle,int)): Delegate to new + layoutCompoundLabelImpl(). + (layoutCompoundLabelImpl): New helper method. Moved impl from + layoutCompoundLabel() to here and added handling of HTML. + * javax/swing/plaf/basic/BasicButtonUI.java + (installUI): Update HTML view if appropriate. + (uninstallUI): New method. Do the usual uninstallUI things + and uninstall HTML view. + (getMinimumSize): New method. Adjusts the minimum size + by the HTML view minimum size. + (getMaximumSize): New method. Adjusts the maximum size + by the HTML view maximum size. + (getPreferredSize): Pass the button's iconTextGap to the + BasicGraphicsUtils method. + (paint): Let HTML view paint the text, if present. + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Update the HTML view when the button's + text is changed. + +2006-08-04 Mario Torre + + Reported by Raif S. Naffah + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + g_type_init earlier in function to correctly initialize the + type system used by the backend. + +2006-08-04 Audrius Meskauskas + + PR 26972 + * javax/naming/Name.java (addAll, getPrefix, getSuffix): + Documented. + * gnu/javax/naming/ictxImpl/trans/GnuName.java: New file. + +2006-08-04 Robert Schuster Reported by Henrik Gulbrandsen - Fixes PR27864. - * gnu/xml/dom/DomIterator.java: - (successor): Added if-statement. + Fixes PR27864. + * gnu/xml/dom/DomIterator.java: + (successor): Added if-statement. + +2006-08-04 Mark Wielaard + + * scripts/Makefile.am (EXTRA_DIST): Add import-cacerts.sh. + +2006-08-04 Robert Schuster + + * javax/swing/plaf/metal/MetalMenuBarUI.java: + (update): Check size and paint smaller gradient. + * javax/swing/plaf/metal/MetalBorders.java: + (MenuBarBorder): Removed borderColor field. + (MenuBarBorder.paintBorder): Added note, fetch color from UIManager or + MetalLookAndFeel. + +2006-08-03 Roman Kennke + PR 27637 + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (ComponentHandler.componentResized): Reimplemented to handle + arbitrary parents. + (InternalFramePropertyChangeHandler.propertyChange): (Un)install + component listener on changed ancestor. + (installListeners): Install componentListener. + (uninstallListeners): Uninstall componentListener. + +2006-08-03 Carsten Neumann + + * StrictMath.java (cbrt): Return argument if it is a NaN. + (cosh): Likewise. + (expm1): Likewise. + (sinh): Likewise. + +2006-08-03 Carsten Neumann + + * java/lang/StrictMath.java (tanh): New method. + +2006-08-03 Raif S. Naffah + + * scripts/import-cacerts.sh: Batch CA certificates import script. + 2006-08-03 Roman Kennke PR 27606 @@ -277,7 +9608,63 @@ Handle indentation. (IndentIcon): New class. Wraps and indents another icon. -2006-08-03 Roman Kennke +2006-08-02 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String,String,MBeanParameterInfo[]): + Copy array rather than directly assigning. + * javax/management/MBeanInfo.java: + (MBeanInfo(String,String,MBeanAttributeInfo[], + MBeanConstructorInfo[], MBeanOperationInfo[], + MBeanNotificationInfo[])): Likewise. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String,String,MBeanParameterInfo[],String,int)): + Likewise. + * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java, + * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java: + New files. + * javax/management/openmbean/OpenMBeanInfo.java: + Corrected documentation. + * javax/management/openmbean/OpenMBeanInfoSupport.java: + New file. + * javax/management/openmbean/OpenMBeanOperationInfo.java: + Corrected documentation. + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + New file. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + (MBeanParameterInfo(String,String,OpenType,Object,Object[])): + Call other constructor rather than reimplementing. + +2006-08-02 Lillian Angel + + * java/awt/dnd/DragSource.java + (isDragImageSupported): Implemented. + (getDragThreshold): Changed default value. + * java/awt/dnd/DropTarget.java + (DropTarget): Default action is changed to ACTION_COPY_OR_MOVE. + (DropTarget): Likewise. + (DropTarget): If FlavorMap passed in is null, we should use the system default. + (addDropTargetListener): Added check to determine if new DropTargetListener + is this class. If so, an IllegalArgumentException is thrown. If the + new listener is null, nothing happens. + +2006-08-02 Thomas Fitzsimmons + + * configure.ac (MOZILLA_FOUND): Fall back to + mozilla-firefox-plugin. + +2006-08-02 Sven de Marothy + + * java/awt/geom/AffineTransform.java + (hashCode): Tweak impl. + * java/awt/font/FontRenderContext.java + (hashCode): Implement. + +2006-08-02 Carsten Neumann + + * java/lang/StrictMath.java (sinh): New method. + +2006-08-02 Roman Kennke PR 27605 * javax/swing/JComboBox.java @@ -303,7 +9690,70 @@ (createPropertyChangeListener): Return null just like the RI. -2006-08-03 Roman Kennke +2006-08-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + (remove): Force event on removing item 0 when it's selected. + (handleEvent): Always call Choice.selected(). + * java/awt/Choice.java: + (remove): Simplify and correct. + +2006-08-02 Mark Wielaard + + PR 28535 + * configure.ac (gconf-peer): Check for gdk-2.0. + * native/jni/gconf-peer/Makefile.am + (AM_LDFLAGS): Use GDK_LIBS. + (AM_CFLAGS): Use GDK_CFLAGS. + +2006-08-02 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + + * java/net/URL.java (getContent(Class[])): Implement. + +2006-08-02 Roman Kennke + + PR 27624 + * javax/swing/JMenu.java + (JMenu()): Removed setting of delay. + (JMenu(String)): Removed setting of delay. + (JMenu(Action)): Removed setting of delay. + (JMenu(String,boolean)): Removed setting of delay. + (setSelectedHelper): Removed unneeded method. + (setSelected): Simply set the model state. + (setPopupMenuVisible): Recognize the popup location + determined by getPopupMenuOrigin(). + (getPopupMenuOrigin): Recognize the UI properties for + X and Y offset. + (menuSelectionChanged): Call setSelected() directly. + * javax/swing/JPopupMenu.java + (menuSelectionChanged): If invoker is a JMenu, then delegate + to that to get the position right. + * javax/swing/Popup.java + (LightweightPopup.show): Insert the popup as first component + in the layer, so that it overlaps it's caller. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (getPath): Don't include the popup. + * javax/swing/plaf/basic/BasicMenuUI.java + (SelectMenuAction): New class. This invokes the popup when + a menu is selected. + (installDefaults): Install delay of 200 ms. + (setupPostTimer): Implemented. + (MouseInputHandler.mouseClicked): Do nothing here. + (MouseInputHandler.mouseEntered): Use MenuSelectionManager + magic to handle the selection. Open the menu via a timer. + (MouseInputHandler.mousePressed): Use MenuSelectionManager + magic to handle the selection. Open the menu via a timer. + (MenuDragMouseHandler.menuMouseDragged): Probably use + timer. + (menuDragMouseEntered): Do nothing here. + +2006-08-02 Andrew John Hughes + + * javax/management/openmbean/InvalidOpenTypeException.java, + * javax/management/openmbean/KeyAlreadyExistsException.java: + New files. + +2006-08-02 Roman Kennke PR 27604 * javax/swing/plaf/basic/BasicChooserUI.java @@ -321,12 +9771,16 @@ (getSystemDisplayName): Implemented to return the real name of a file, special handling files like '.' or '..'. +2006-08-03 Mark Wielaard + + * examples/gnu/classpath/examples/icons/badge.png: Add file. + 2006-08-03 Roman Kennke PR 28562 * javax/swing/plaf/basic/BasicOptionPaneUI.java (PropertyChangeHandler.propertyChange): Cleanly reinstall - components when visual property chanegs. + components when visual property chanegs. 2006-08-03 Roman Kennke @@ -348,72 +9802,102 @@ Set renderer to a default handler when the current renderer in the JTree is null. -2006-08-03 Mark Wielaard - - * scripts/Makefile.am (EXTRA_DIST): Add import-cacerts.sh. - -2006-08-03 Raif S. Naffah +2006-08-02 Raif S. Naffah - * scripts/import-cacerts.sh: Batch CA certificates import script. + PR Classpath/23899 + * java/security/SecureRandom.java (next): Call nextBytes as per specs. -2006-08-03 Raif S. Naffah +2006-08-02 Raif S. Naffah PR Classpath/28556 - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java - (encodePrivateKey): Updated documentation to clarify that RFC-2459 - states that the parameters field of the AlgorithmIdentifier element - MUST be NULL if present. Amended the code to reflect the specs. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (encodePrivateKey): + Updated documentation to clarify that RFC-2459 states that the parameters + field of the AlgorithmIdentifier element MUST be NULL if present. + Amended the code to reflect the specs. (decodePrivateKey): Handle case of NULL AlgorithmIdentifier.parameters. -2006-08-03 Raif S. Naffah +2006-08-01 Andrew John Hughes - PR Classpath/23899 - * java/security/SecureRandom.java (next): Call nextBytes as per specs. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + Call parameter 'defaultValue' not 'defValue'. -2006-08-03 Thomas Fitzsimmons +2006-08-01 Andrew John Hughes - * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add - -avoid-version. - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): - Likewise. - * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): - Likewise. - * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): - Likewise. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + New file. -2006-08-03 Thomas Fitzsimmons +2006-08-01 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Cleanly reinstall + components when visual property chanegs. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanAttributeInfo.java: + (toString()): Corrected documentation. + * javax/management/openmbean/OpenMBeanConstructorInfo.java, + * javax/management/openmbean/OpenMBeanInfo.java, + * javax/management/openmbean/OpenMBeanOperationInfo.java: + New files. + * javax/management/openmbean/OpenMBeanParameterInfo.java: + (toString()): Corrected documentation. + +2006-08-01 Tania Bento - * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Add - -avoid-version. + * java/awt/Choice.java + (remove(int)): Added documentation. -2006-08-03 Andrew John Hughes +2006-08-01 Tania Bento + + * java/awt/Choice.java + (remove(int)): An IllegalArgumentException should not be thrown + if int is invalid. Update selectedIndex and peer selection. - * examples/gnu/classpath/examples/management/TestBeans.java: - New file. - * javax/management/MBeanAttributeInfo.java: - (toString()): Implemented. - * javax/management/MBeanConstructorInfo.java: - (toString()): Implemented. - * javax/management/MBeanFeatureInfo.java: - (toString()): Implemented. - * javax/management/MBeanInfo.java: - (toString()): Implemented. - * javax/management/MBeanNotificationInfo.java: - (toString()): Implemented. - * javax/management/MBeanOperationInfo.java: - (toString()): Implemented. - * javax/management/MBeanParameterInfo.java: - (toString()): Implemented. - * javax/management/StandardMBean.java: - (getMBeanInfo()): Fix attribute naming. +2006-08-01 Tania Bento -2006-08-02 Mark Wielaard + * java/awt/CardLayout.java + (toString): Changed format of string outputted. + (goToComponent): Changed the order of the if-clause. - PR 28535 - * configure.ac (gconf-peer): Check for gdk-2.0. - * native/jni/gconf-peer/Makefile.am - (AM_LDFLAGS): Use GDK_LIBS. - (AM_CFLAGS): Use GDK_CFLAGS. +2006-07-31 Tom Tromey + + * INSTALL: Updated for ASM. + +2006-07-31 Tom Tromey + + PR libgcj/23682: + * java/nio/channels/SelectionKey.java (attach): Now synchronized. + (attachment): Likewise. + * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now + synchronized. + (isValid): Likewise. + * gnu/java/nio/SelectionKeyImpl.java (impl): Now final + (ch): Likewise. + (interestOps): Synchronize. + (readyOps): Likewise. + * gnu/java/nio/SelectorImpl.java (register): Synchronize around + interestOps call. + +2006-07-31 Roman Kennke + + * NEWS: Added note about the X peers. + * INSTALL: Added install notes about the X peers. + +2006-07-31 Carsten Neumann + + * StrictMath.java (getLowDWord): Return long instead of int. + (getHighDWord): Likewise. + (buildDouble): Take two long arguments. + (cbrt): Adapted to int -> long change. + (expm1): Likewise. + (cosh): Likewise. + +2006-07-31 Thomas Fitzsimmons + + * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Add + -avoid-version. 2006-07-31 Raif S. Naffah @@ -436,6 +9920,11 @@ * gnu/java/security/Engine.java (getInstance): Ignore self referencing aliases. +2006-07-30 Mark Wielaard + + * javax/swing/JComponent.java (getListeners): Revert + un-genericization. + 2006-07-30 Mark Wielaard * resource/java/security/classpath.security: Add /dev/urandom as @@ -447,12 +9936,66 @@ 6 weeks. (nonLeniencyCheck): weeks is either 5 or 6. +2006-07-30 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanAttributeInfo.java, + * javax/management/openmbean/OpenMBeanParameterInfo.java: + New files. + +2006-07-30 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Ignore self referencing aliases. + +2006-07-30 Sven de Marothy + + * java/awt/Choice.java: + (accessibleAction): Call select() directly. + (add, insert, remove): Reimplement. + (dispatchEventImpl): Always call super. + (processItemEvent): Does not set the index. + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c + (append): removed. + (nativeAdd): Name changed to add. + (selection_changed_cb): Simplify callback. + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + (selected): New field. + (add): Replaced with native impl. + (handleEvent): New method. + +2006-07-30 Sven de Marothy + + * java/awt/Choice.java: + Reformat, fix copyright year. + 2006-07-29 Mark Wielaard * javax/swing/JComponent.java (paintingDoubleBuffered): Renamed static field isPaintingDoubleBuffered to not have the same name as a method. +2006-07-29 Andrew John Hughes + + * examples/gnu/classpath/examples/management/TestBeans.java: + New file. + * javax/management/MBeanAttributeInfo.java: + (toString()): Implemented. + * javax/management/MBeanConstructorInfo.java: + (toString()): Implemented. + * javax/management/MBeanFeatureInfo.java: + (toString()): Implemented. + * javax/management/MBeanInfo.java: + (toString()): Implemented. + * javax/management/MBeanNotificationInfo.java: + (toString()): Implemented. + * javax/management/MBeanOperationInfo.java: + (toString()): Implemented. + * javax/management/MBeanParameterInfo.java: + (toString()): Implemented. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Fix attribute naming. + 2006-07-29 Andrew John Hughes * gnu/java/lang/management/BeanImpl.java: @@ -479,7 +10022,7 @@ (getMemoryManagerMXBeans()): Likewise. (getGarbageCollectorMXBeans()): Likewise. * javax/management/MBeanFeatureInfo.java: - (hashCode()): Fixed to check for null values. + hashCode()): Fixed to check for null values. 2006-07-29 Matt Wringe @@ -492,6 +10035,16 @@ (get): Method removed, no longer needs to overwrite parent implementation +2006-07-29 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Removed. + * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: + Removed. + 2006-07-29 Sven de Marothy * java/math/BigDecimal.java @@ -542,6 +10095,51 @@ (joinSegments): Refactored some code into joinOuterSegments. (solidStroke): Connect segments together properly. +2006-07-28 Thomas Fitzsimmons + + * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add + -avoid-version. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): + Likewise. + * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): + Likewise. + * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): + Likewise. + +2006-07-28 Tom Tromey + + * configure.ac: Enable -Werror by default on Linux-with-gcc. + +2006-07-28 Lillian Angel + + * native/jni/gtk-peer/GtkDragSourceContextPeer.c: + Removed function declarations. + (connect_signals_for_widget): Removed implementation because + stub functions have been removed. + (drag_begin_cb): Removed function. + (drag_motion_cb): Likewise. + (drag_data_get_cb): Likewise. + (drag_data_delete_cb): Likewise. + (drag_drop_cb): Likewise. + (drag_end_cb): Likewise. + (drag_data_received_cb): Likewise. + +2006-07-28 Mark Wielaard + + * configure.ac: Set version to 0.93-pre. + +2006-07-29 Raif S. Naffah + + * tools/Makefile.am: Added source 1.4 compliance option when ECJ is used. + +2006-07-29 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java: Removed unused import. + (getCallbackHandler): Fully qualify linked class in javadoc. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (cmdOptionsParser): Removed. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (imported): Likewise. + * tools/gnu/classpath/tools/keytool/Main.java (printHelp): Likewise. + 2006-07-27 Tom Tromey PR classpath/28486: @@ -1295,6 +10893,14 @@ (GtkMouseDragGestureRecognizer): fixed potential threading issue: removed call to registerListeners from the constructor. +2006-07-23 Andrew John Hughes + + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * java/lang/management/MemoryPoolMXBean.java: + (getType()): Changed return type to MemoryType. + * java/lang/management/MemoryType.java: + New file. + 2006-07-23 Mark Wielaard * configure.ac: Check for moc and moc-qt4. @@ -1386,6 +10992,13 @@ * gnu/java/awt/peer/gtk/CairoSurface.java (CairoSurface): Rearrange code for the pixel swap routine to be more efficient. +2006-07-21 Carsten Neumann + + * java/util/CopyOnWriteArrayList.java (indexOf(E, int)): New method. + (lastIndexOf(E, int)): Likewise. + (add(E)): Increase the size of newData array by one. + (add(int, E)): Likewise. + 2006-07-20 Lillian Angel * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: @@ -2610,12 +12223,26 @@ TYPE_BYTE_GRAY and TYPE_USHORT_GRAY, and throw an IllegalArgumentException for an unrecognised type. +2006-07-10 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + (getMemoryPoolMXBeans): Genericized fully. + (getMemoryManagerMXBeans): Likewise. + (getGarbageCollectorMXBeans): Likewise. + +2006-07-10 Tom Tromey + + * java/lang/management/ManagementFactory.java (getMemoryPoolMXBeans): + Genericized. + (getMemoryManagerMXBeans): Likewise. + (getGarbageCollectorMXBeans): Likewise. + 2006-07-10 Mario Torre - * java/awt/BasicStroke.java: Removed unused import. - * gnu/java/awt/java2d/CubicSegment.java (clone): Fixed. - * gnu/java/awt/java2d/LineSegment.java (clone): Fixed. - * gnu/java/awt/java2d/QuadSegment.java (clone): Fixed. + * java/awt/BasicStroke.java: Removed unused import. + * gnu/java/awt/java2d/CubicSegment.java (clone): Fixed. + * gnu/java/awt/java2d/LineSegment.java (clone): Fixed. + * gnu/java/awt/java2d/QuadSegment.java (clone): Fixed. 2006-07-10 Matt Wringe @@ -2736,6 +12363,10 @@ org/omg/PortableServer/ServantLocatorHelper.java: Remove the typecode caching and always use OrbRestricted.Singleton. +2006-07-09 Tom Tromey + + * java/util/logging/LoggingMXBean.java (getLoggerNames): Genericized. + 2006-07-09 Mark Wielaard * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasXRenderExtension): @@ -3065,6 +12696,12 @@ * javax/swing/text/html/BRView.java, javax/swing/text/html/HRuleView.java: New files. +2006-07-05 Andrew John Hughes + + * java/lang/Thread.java: + (getAllStackTraces(Map)): + Added generic type signature. + 2006-07-05 Andrew John Hughes * NEWS: Updated. @@ -4647,6 +14284,10 @@ (setDisplayedMnemonicIndex): Removed unnecessary validation, (getDisplayedMnemonicIndex): Updated API docs. +2006-06-21 Jeroen Frijters + + * java/util/Collections (entrySet): Fixed compile error. + 2006-06-21 David Gilbert * javax/swing/DefaultListSelectionModel.java @@ -5196,6 +14837,11 @@ * java/text/AttributedString.java (AttributedString): Fix constructor to stop at end point. +2006-06-17 Tom Tromey + + * lib/gen-classlist.sh.in: Search all top-level directories, not + just 'org', in external. + 2006-06-12 Mario torre * gnu/java/util/prefs/GConfBasedPreferences.java: new class. @@ -5288,11 +14934,6 @@ * tools/.cvsignore: Added new tool names. -2006-06-16 Tom Tromey - - * vm/reference/sun/reflect/misc/ReflectUtil.java: Moved... - * vm/reference/sun/misc/ReflectUtil.java: ...from here. - 2006-06-16 Keith Seitz * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo @@ -5317,11 +14958,15 @@ 2006-06-16 Tom Tromey - * NEWS: Updated for JSR 166. - * vm/reference/sun/reflect/Reflection.java (verifyMemberAccess): - Removed. - (getCallerClass): Now static. - * vm/reference/sun/reflect/misc/ReflectUtil.java: New file. + * NEWS: Updated for JSR 166. + +2006-06-16 Tom Tromey + + * lib/Makefile.am (compile_classpath): Added jsr166. + * configure.ac: Added external/jsr166/Makefile. + * external/Makefile.am (SUBDIRS): Added jsr166. + * external/jsr166/Makefile.am: New file. + * lib/gen-classlist.sh.in: Look in external/jsr166. 2006-06-16 Kyle Galloway @@ -5336,7 +14981,22 @@ 2006-06-16 Tom Tromey - * external/jsr166: Removed files from cvs trunk. + Imported JSR 166 reference implementation: + * .classpath: Added external/jsr166. + * java/util/concurrent/CopyOnWriteArrayList.java: New file. + * java/util/AbstractQueue.java: Removed. + * java/util/Queue.java: Removed. + * external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java + (runPeriodic): Added explicit cast. + * external/jsr166/java/util/ArrayDeque.java (clone): Use + elements.clone. + +2006-06-16 Tom Tromey + + * vm/reference/sun/reflect/Reflection.java (verifyMemberAccess): + Removed. + (getCallerClass): Now static. + * vm/reference/sun/reflect/misc/ReflectUtil.java: New file. 2006-06-16 Lillian Angel @@ -5424,6 +15084,14 @@ (drawImage): Don't use setClip() but instead clipRect() to intersect the current clip with a new one. +2006-06-15 Tom Tromey + + * scripts/sanitize-jsr166: New file. + * external/jsr166/IMPORTING: New file. + * vm/reference/sun/reflect/Reflection.java: New file. + * vm/reference/gnu/classpath/Unsafe.java: Moved... + * vm/reference/sun/misc/Unsafe.java: ...here. + 2006-06-15 Thomas Fitzsimmons * configure.ac: Rename appletviewer to gappletviewer, jarsigner to @@ -5555,6 +15223,14 @@ (writeShape): Likewise, * java/awt/Shape.java: Small updates to API docs. +2006-06-14 Andrew John Hughes + + * javax/naming/InitialContext.java: + (list(javax.naming.Name)): Fixed generic type. + (list(String)): Likewise. + (listBindings(javax.naming.Name)): Likewise. + (listBindings(String)): Likewise. + 2006-06-14 Roman Kennke * javax/swing/plaf/basic/BasicComboBoxUI.java @@ -6592,10 +16268,6 @@ * java/util/InputMismatchException.java: Documented. - -2005-04-20 Tom Tromey - - * java/util/InputMismatchException.java: New file. 2006-06-07 Andreas Tobler @@ -6703,13 +16375,6 @@ (clip(Shape)): Implemented correctly, so that the current shape gets intersected by the parameter shape. -2006-06-07 Andrew John Hughes - - * java/math/BigDecimal.java: - (compareTo(Object)): Make this call the other - one. - (compareTo(BigDecimal)): Recreated. - 2006-06-07 Lillian Angel * javax/swing/plaf/basic/BasicTabbedPaneUI.java @@ -7177,44 +16842,13 @@ * java/util/Formatter.java: Documented. -2006-03-20 Andrew John Hughes - - * java/util/Formatter.java: - Make the class final. - -2005-09-26 Tom Tromey - - * java/util/Formatter.java (format): Set fmtLocale. - (applyLocalization): New method. - (basicIntegralConversion): Likewise. - (hexOrOctalConversion): Use it. - (decimalConversion): New method. - (format): Use decimalConversion, dateTimeConversion. - (genericFormat): Upper-case earlier. Justify correctly. - (singleDateTimeConversion): New method. - (dateTimeConversion): Likewise. - -2005-09-25 Tom Tromey - - * java/util/Formatter.java (lineSeparator): Use SystemProperties. +2006-06-04 Tom Tromey -2005-09-24 Tom Tromey - - * java/util/FormattableFlags.java (PLUS, SPACE, ZERO, COMMA, - PAREN): New constants. - * java/util/Formattable.java: New file. - * java/util/Formatter.java: New file. - -2005-08-13 Tom Tromey - - * java/util/FormattableFlags.java: New file. - -2006-06-04 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (createVolatileImage): Pass peer to VolatileImage constructor. - * java/awt/Component.java - (createVolatileImage): Call peer method directly. + * javax/naming/Context.java (list): Genericized. + (listBindings): Likewise. + * javax/naming/Reference.java (addrs): Genericized. + * javax/naming/InitialContext.java (myProps): Fixed type. + (init): Genericized. 2006-06-04 Andrew John Hughes @@ -7233,59 +16867,19 @@ * java/util/UnknownFormatFlagsException.java: Documented. -2005-08-13 Tom Tromey - - * java/util/UnknownFormatConversionException.java - (serialVersionUID): New field. - (s): Renamed from 'conv' for serialization. - * java/util/MissingFormatWidthException.java (serialVersionUID): - New field. - (s): Renamed from 'width' for serialization. - * java/util/MissingFormatArgumentException.java - (serialVersionUID): New field. - (s): Renamed from 'spec' for serialization. - * java/util/IllegalFormatWidthException.java (serialVersionUID): - New field. - (w): Renamed from 'width' for serialization. - * java/util/IllegalFormatPrecisionException.java - (serialVersionUID): New field. - (p): Renamed from 'precision' for serialization. - * java/util/IllegalFormatFlagsException.java (serialVersionUID): - New field. - * java/util/IllegalFormatConversionException.java - (serialVersionUID): New field. - (c): Renamed from 'conv' for serialization. - (arg): Renamed from 'argClass' for serialization. - * java/util/IllegalFormatCodePointException.java - (serialVersionUID): New field. - (c): Renamed from 'codepoint' for serialization. - * java/util/FormatFlagsConversionMismatchException.java - (serialVersionUID): New field. - (f): Renamed from 'flags' for serialization. - (c): Renamed from 'conversion' for serialization. - * java/util/DuplicateFormatFlagsException.java (serialVersionUID): - New field. - * java/util/IllegalFormatException.java (serialVersionUID): New - field. - * java/util/FormatterClosedException.java (serialVersionUID): New - field. +2006-06-04 Andrew John Hughes -2005-04-20 Tom Tromey - - * java/util/DuplicateFormatFlagsException.java: New file. - * java/util/FormatFlagsConversionMismatchException.java: New file. - * java/util/FormatterClosedException.java: New file. - * java/util/IllegalFormatCodePointException.java: New file. - * java/util/IllegalFormatConversionException.java: New file. - * java/util/UnknownFormatFlagsException.java: New file. - * java/util/UnknownFormatConversionException.java: New file. - * java/util/MissingFormatWidthException.java: New file. - * java/util/MissingFormatArgumentException.java: New file. - * java/util/IllegalFormatWidthException.java: New file. - * java/util/IllegalFormatPrecisionException.java: New file. - * java/util/IllegalFormatFlagsException.java: New file. - * java/util/IllegalFormatException.java: New file. + * java/lang/System.java: + (getenv()): Handle cases where split only + returns an array of size 1. + +2006-06-04 Sven de Marothy + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (createVolatileImage): Pass peer to VolatileImage constructor. + * java/awt/Component.java + (createVolatileImage): Call peer method directly. + 2006-06-04 Sven de Marothy * gnu/java/awt/peer/gtk/CairoSurface.java @@ -7299,130 +16893,6 @@ (getFlippedBuffer): New method * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c Avoid window casts. - -2006-03-20 Andrew John Hughes - - * java/lang/System.java: - (nanoTime()): Documented. - -2006-03-20 Tom Tromey - - * java/lang/System.java: - (nanoTime()): Implemented. - -2006-03-01 Anthony Balkissoon - - * java/math/BigDecimal.java: - (precision): Fixed overflow problem with large numbers. - (longValueExact): New method. - (intValueExact): Likewise. - (byteValueExact): Likewise. - (shortValueExact): Likewise. - -2006-03-01 Anthony Balkissoon - - * java/math/BigDecimal.java: - (remainder(BigDecimal)): New method. - (divideAndRemainder(BigDecimal)): Likewise. - (divideToIntegralValue(BigDecimal)): Likewise. - (floor): New implementation method. - -2006-02-28 Anthony Balkissoon - - * java/math/BigDecimal.java: - (divide(BigDecimal, int, RoundingMode)): New method. - (divide(BigDecimal, RoundingMode)): Likewise. - (divide(BigDecimal, int, int)): Removed incorrect throwing of exception - when the new scale is < 0. - (setScale(int, RoundingMode)): New method. - (ulp): Likewise. - -2006-02-27 Anthony Balkissoon - - * java/math/BigDecimal.java: Replaced occurences of BigInteger.valueOf - with BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN where appropriate. - (add(BigDecimal, MathContext)): New method. - (subtract(BigDecimal, MathContext)): Likewise. - (precision): Fixed to correctly handle BigIntegers with more than 19 - digits. - (pow(int, MathContext)): New method. - -2006-02-27 Anthony Balkissoon - - * java/math/BigDecimal.java: Added @throws clause to constructors. - (mathContext): Removed this unneeded field. - (BigDecimal(int, MathContext)): New constructor. - (BigDecimal(BigInteger, int, MathContext)): Likewise. - (multiply(BigDecimal, MathContext)): New method. - (negate(MathContext)): Likewise. - (plus(MathContext)): Likewise. - (numDigitsInLong): Fixed to properly handle negatives. - -2006-02-24 Anthony Balkissoon - - * java/math/BigDecimal.java: - (BigDecimal(long, MathContext)): New constructor. - (BigDecimal(BigInteger, MathContext)): Likewise. - (BigDecimal(String, MathContext)): Likewise. - (BigDecimal(double, MathContext)): Likewise. - (round): Fixed a typo where the precision field was used instead of a - call to the precision method, and also store the new precision in the - returned BigDecimal. - (abs(MathContext)): New method. - -2006-02-24 Anthony Balkissoon - - * java/math/BigDecimal.java - (toBigInteger): Fixed problem where this method couldn't handle - negative values for scale. - (toBigIntegerExact): New method. - (stripTrailingZeros): Likewise. - -2006-02-23 Anthony Balkissoon - - * java/math/BigDecimal.java: - (toString): Fixed a problem where the negative sign was being displayed - twice in the exponent. - (toEngineeringString): New method. - (toPlainString): Likewise. - (pow): Likewise. - -2006-02-23 Anthony Balkissoon - - * java/math/BigDecimal.java: - (toString): Rewrote this method to behave as specified. Added API - comments to explain behaviour. - (scaleByPowerOfTen): New method. - -2006-02-22 Anthony Balkissoon - - * java/math/BigDecimal.java: - (BigDecimal(char[], int, int, MathContext)): New constructor. - (BigDecimal(char[], MathContext)): Likewise. - (BigDecimal(char[])): Likewise. - (BigDecimal(char[], int, int)): Likewise. - (BigDecimal(String)): Fixed handling of exponent and scale. - -2006-02-21 Anthony Balkissoon - - * java/math/BigDecimal.java: - (mathContext): New field. - (precision): Likewise. - (BigDecimal(int)): New constructor. - (BigDecimal(long)): Likewise. - (BigDecimal(BigInteger)): Added API docs. - (BigDecimal(BigInteger, int)): Removed incorrect NumberFormatException - and added API docs. - (plus): New method. - (round): Likewise. - (precision): Likewise. - (valueOf): Likewise. - (numDigitsInLong): New implementation method. - -2006-02-21 Anthony Balkissoon - - * java/math/MathContext.java: New class. - 2006-06-04 Andrew John Hughes * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: @@ -7495,11 +16965,17 @@ * java/lang/annotation/IncompleteAnnotationException.java: Documented. -2004-08-07 Tom Tromey - - * java/lang/annotation/IncompleteAnnotationException.java: New - file. +2006-06-03 Andrew John Hughes + * java/lang/ProcessBuilder.java: + Documented. + (environment): Create as a copy. + * java/lang/System.java: + (EnvironmentMap.EnvironmentMap(Map)): + New constructor. + (EnvironmentMap.put(String,String)): Override superclass + method with checks for nulls and non-Strings. + 2006-06-02 Sven de Marothy * gnu/java/awt/peer/gtk/CairoGraphics2D.java @@ -8187,11 +17663,6 @@ * native/jni/gtk-peer/gtkpeer.h Remove graphics2d structure. -2006-05-29 Mark Wielaard - - * java/io/ObjectStreamConstants.java: Removed double declaration - of SC_ENUM. - 2006-05-29 Audrius Meskauskas * gnu/java/awt/peer/gtk/GdkGraphics2D.java (copying constructor): @@ -9530,6 +19001,14 @@ (AccessibleJMenu.selectAllAccessibleSelection): Implemented. (createPath): New helper method. +2006-05-15 Tom Tromey + + * java/text/MessageFormat.java (format): Now varargs. + +2006-05-15 Tom Tromey + + * java/lang/Thread.java (State): Fixed typo. + 2006-05-15 Tom Tromey * java/net/URLClassLoader.java: Moved inner classes to @@ -9572,6 +19051,19 @@ Announce inclusion of appletviewer. * INSTALL: Note gcjwebplugin dependencies. +2006-05-15 Mark Wielaard + + * configure.ac (VERSION): Set to 0.91-generics. + +2006-05-15 Mark Wielaard + + * NEWS: Add release date and VMClassLoader.getBootPackages() + changes. + +2006-05-15 Christian Thalinger + + * README: Added CACAO to list of VMs. + 2006-05-15 Audrius Meskauskas * javax/swing/RepaintManager.java (paintDirtyRegions): @@ -9714,11 +19206,6 @@ * java/awt/Graphics2D.java: Added some API doc comments. -2006-05-15 Mark Wielaard - - * NEWS: Add release date and VMClassLoader.getBootPackages() - changes. - 2006-05-15 David Gilbert * javax/swing/JTabbedPane.java @@ -9764,10 +19251,6 @@ (getPageAttributes): New method. (setPageable,cancel,isCancelled): Implement. -2006-05-15 Christian Thalinger - - * README: Added CACAO to list of VMs. - 2006-05-14 David Gilbert * javax/swing/JCheckBoxMenuItem.java @@ -9827,12 +19310,46 @@ * native/jni/java-net/javanet.c (_javanet_accept): Don't use C++ comments. +2006-05-14 Chris Burdess + + * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype + nodes to be preserved during cloneNode. + 2006-05-14 Mark Wielaard PR 27459 * native/jni/java-net/javanet.c (_javanet_accept): Reset the inherited timeout on socket. +2006-05-14 Lillian Angel + + * java/util/SimpleTimeZone.java: Reverted patch. + (SimpleTimeZone): Throw exception if startMonth == + endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more + efficently). + This code is now more stable, at least less buggy than before. + Fixed API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-14 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): + Initialise to -1. + +2006-05-14 Robert Schuster + + PR classpath/27595 + * javax/swing/text/AbstractDocument.java: + (insertString): Flipped if-expression and its blocks. + (remove): Dito. + (replace): Flipped if-expression and its blocks, added note, invoke + insertString and remove instead of insertStringImpl and removeImpl. + 2006-05-14 Raif S. Naffah * tools/gnu/classpath/tools/jarsigner/Main.java (main): Formatting. @@ -10040,13 +19557,13 @@ Set correct socket parameters SO_SNDTIMEO and SO_RCVTIMEO. 2006-05-12 Sven de Marothy - + * gnu/javax/print/CupsServer.java (CupsServer): Make the Cups host configurable. * java/lang/System.java: Document the system property. 2006-05-12 Roman Kennke - + * javax/swing/border/TitledBorder.java (paintBorder): Rewritten for simplicity and correctness. (layoutBorderWithTitle): New helper method. @@ -10056,9 +19573,9 @@ (getRealJustification): Removed. (getMeasurements): Removed. (Measurements): Removed. - + 2006-05-12 David Gilbert - + * javax/swing/plaf/basic/BasicPanelUI.java (sharedUI): New field, (createUI): Return a shared instance rather than a new instance, @@ -10143,14 +19660,14 @@ * gnu/java/awt/font/GNUGlyphVector.java (GNUGlyphVector): Don't apply the font renderer context's transform. - + 2006-05-11 Mark Wielaard * java/util/logging/Logger.java (global): Initialize inside static PrivilegedAction. 2006-05-11 David Gilbert - + * javax/swing/JFrame.java (EXIT_ON_CLOSE): Added note to API docs, (close_action): Renamed closeAction, @@ -10160,31 +19677,31 @@ (getDefaultCloseOperation): Updated for renamed field, added API docs, (processWindowEvent): Updated for renamed field, (setDefaultCloseOperation): Likewise, and updated API docs. - + 2006-05-11 David Gilbert - + * javax/swing/JFrame.java (paramString): Reimplemented, * javax/swing/SwingUtilities.java (convertWindowConstantToString): New method. - + 2006-05-11 David Gilbert - + * javax/swing/WindowConstants.java: Updated API docs. - + 2006-05-11 David Gilbert - + * javax/swing/plaf/basic/BasicToggleButtonUI.java: Updated API docs, (createUI): Removed 'final' qualifier for parameter, (paint): Reformatted. - + 2006-05-11 David Gilbert - + * javax/swing/plaf/basic/BasicCheckBoxUI.java: Added API docs plus, (createUI): Removed 'final' qualifier on method argument. - + 2006-05-11 David Gilbert - + * javax/swing/plaf/basic/BasicCheckBoxUI.java (getDefaultIcon): Removed this redundant method. @@ -10197,12 +19714,12 @@ * java/awt/Component.java: (dispatchEventImpl): Added comment. - -2006-05-11 Mark Wielaard - + + 2006-05-11 Mark Wielaard + * tools/gnu/classpath/tools/appletviewer/Main.java (main): Cast Option constructor null argument to String. - + 2006-05-11 Mark Wielaard * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO): @@ -10224,21 +19741,22 @@ 2006-05-10 Roman Kennke - PR 27481 + PR classpath/27481 * javax/swing/plaf/basic/BasicInternalFrameUI.java (installDefaults): Set background of content pane to null, if no custom color has been installed by the application yet. -2006-05-10 Sven de Marothy - - * java/awt/print/PrinterJob.java: - (lookupPrintServices): Un-comment-out. - 2006-05-10 Roman Kennke + PR classpath/27481 * javax/swing/JRootPane.java (createContentPane): Don't set background to null. +2006-05-10 Sven de Marothy + + * java/awt/print/PrinterJob.java: + (lookupPrintServices): Un-comment-out. + 2006-05-11 Raif S. Naffah * tools/gnu/classpath/tools/getopt/OptionGroup.java @@ -10373,7 +19891,7 @@ 2006-05-09 Robert Schuster - Fixed PR24216. + PR classpath/24216 * javax/swing/text/AbstractDocument.java: (insertString): Added more documentation, added argument check. (remove): Added more documentation. @@ -11714,6 +21232,14 @@ * javax/swing/tree/DefaultTreeModel.java (reload): Implemented. (reload(TreeNode)): Implemented. +2006-04-25 Tom Tromey + + * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. + * javax/swing/tree/VariableHeightLayoutCache.java + (getVisiblePathsFrom): Genericized. + * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): + Genericized. + 2006-04-25 Audrius Meskauskas * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): @@ -11881,40 +21407,16 @@ (updateClip): New method. (clipShape): New method. -2006-04-23 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java: - (createContent): Added check box to swith between single and - multiple selection. - * javax/swing/JTree.java (leadSelectionPath): Removed. - (addSelectionInterval): Explained. (getLeadSelectionPath): - Request the path from model. (getPathsBetweenRows): Explained. - (setLeadSelectionPath): Set the path in model. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeIncrementAction.actionPerformed, isMultiSelectionEvent, - isToggleSelectionEvent, selectPath, selectPathForEvent): Rewritten. - (MouseHandler.mousePressed): Call selectPathForEvent. - -2006-04-23 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: New file. - 2006-04-23 Jeroen Frijters - * NEWS: Added entry about new Package constructor. * java/lang/Package.java: Added compatibility constructor to ease VM interface migration. 2006-04-23 Jeroen Frijters - * NEWS: Added information about annotation support. - * java/lang/Class.java: Implement AnnotatedElement. - (equals): Reformatted to match generics branch. - (getEnumConstants): Implemented. - (getAnnotation, getAnnotations, getDeclaredAnnotations, - isAnnotationPresent): Merged from generics branch. - * vm/reference/java/lang/VMClass.java (getDeclaredAnnotations): - New method. + * java/lang/Class.java (getEnumConstants): Implemented without + delegating to VMClass. + * vm/reference/java/lang/VMClass.java (getEnumConstants): Removed. 2006-04-23 Jeroen Frijters @@ -11922,17 +21424,28 @@ Package constructor. * java/lang/Package.java (Package): Added ClassLoader argument. (loader): New field. - (getAnnotation, getAnnotations, getDeclaredAnnotations, - isAnnotationPresent): Merged from generics branch. + (getDeclaredAnnotations): Implemented without help from VMPackage. * vm/reference/java/lang/VMClassLoader.java (static): Added argument to Package constructor. + * vm/reference/java/lang/VMPackage.java: Removed. + +2006-04-23 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java: + (createContent): Added check box to swith between single and + multiple selection. + * javax/swing/JTree.java (leadSelectionPath): Removed. + (addSelectionInterval): Explained. (getLeadSelectionPath): + Request the path from model. (getPathsBetweenRows): Explained. + (setLeadSelectionPath): Set the path in model. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeIncrementAction.actionPerformed, isMultiSelectionEvent, + isToggleSelectionEvent, selectPath, selectPathForEvent): Rewritten. + (MouseHandler.mousePressed): Call selectPathForEvent. -2005-12-14 Nicolas Geoffray +2006-04-23 Roman Kennke - * java/lang/ClassLoader - (defineClass(String,byte[],int,int,ProtectionDomain)): - Calls VMClassLoader.defineClassWithTransformers instead - of VMClassLoader.defineClass. + * gnu/java/awt/java2d/AbstractGraphics2D.java: New file. 2006-04-22 Andrew John Hughes @@ -11940,18 +21453,6 @@ Mention changes to VMProcess and VMSystem. * doc/vmintegration.texinfo: Change documentation on VMProcess and VMSystem. - * java/lang/reflect/Modifier.java: - (toString(int,StringBuilder)): Merged from generics - branch. - * vm/reference/java/lang/reflect/Constructor.java - (toString()): Use StringBuilder. - (toGenericString()): Likewise. - * vm/reference/java/lang/reflect/Field.java: - (toString()): Use StringBuilder. - (toGenericString()): Likewise. - * vm/reference/java/lang/reflect/Method.java - (toString()): Use StringBuilder. - (toGenericString()): Likewise. * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, * include/gnu_java_awt_peer_gtk_GdkGraphics.h, @@ -12053,40 +21554,6 @@ * include/java_lang_VMSystem.h: Regenerated with GCJ 4.1. -2005-12-05 Casey Marshall - - * native/jni/classpath/jcl.h (environ): define, or declare - 'extern.' - * native/jni/java-lang/java_lang_VMProcess.c: include . - Remove 'extern' define. - * native/jni/java-lang/java_lang_VMSystem.c - (Java_java_lang_VMSystem_environ): don't declare 'environ.' - -2005-09-25 Jeroen Frijters - - * java/lang/System.java, - vm/reference/java/lang/VMSystem.java: Removed generic type - from VMSystem.environ() signature. - -2005-05-04 Tom Tromey - - * native/jni/java-lang/java_lang_VMProcess.c - (Java_java_lang_VMProcess_nativeSpawn): Added 'redirect' - argument. Use defines instead of contents. - * vm/reference/java/lang/VMProcess.java (redirect): New field. - (spawn): Updated. - (setProcessInfo): Updated. - (VMProcess): Added 'redirect' argument. - (nativeSpawn): Likewise. - (exec): New overload. - -2005-01-20 Andrew John Hughes - - * include/java_lang_VMSystem.h: - (Java_java_lang_VMSystem_environ): added - * vm/reference/java/lang/VMSystem.java: - (environ()): new native method - 2006-04-22 Casey Marshall Fixes PR classpath/27228. @@ -12156,6 +21623,13 @@ * java/sql/Time.java: Likewise. * java/sql/Timestamp.java: Likewise. +2006-04-21 Jeroen Frijters + + * java/lang/reflect/AccessibleObject.java: + Implemented AnnotatedElement. + (getAnnotation, getAnnotations, getDeclaredAnnotations, + isAnnotationPresent): New methods. + 2006-04-21 Tom Tromey PR classpath/27163: @@ -12184,13 +21658,6 @@ (SpinnerDateModel(Date, Comparable, Comparable, int)): Fix argument checking to call compareTo() on start and end. -2006-04-21 Jeroen Frijters - - * java/lang/reflect/AccessibleObject.java: - Implemented AnnotatedElement. - (getAnnotation, getAnnotations, getDeclaredAnnotations, - isAnnotationPresent): New methods. - 2006-04-21 David Gilbert * javax/swing/border/AbstractBorder.java: API doc updates, @@ -12639,25 +22106,10 @@ (createActionMap): Modified actions to fetch slider/ui from the event source. -2006-04-17 David Gilbert - - * javax/swing/JToolBar.java - (AccessibleJToolBar.AccessibleJToolBar()): Updated API docs, - (AccessibleJToolBar.getAccessibleStateSet): Implemented, - (AccessibleJToolBar.getAccessibleRole): Updated API docs, - (getAccessibleContext): Likewise. - 2006-04-17 Andrew John Hughes * java/lang/Enum.java: Documented. -2006-04-17 Andrew John Hughes - - * NEWS: - Mention merge of instrumentation classes. - * doc/vmintegration.texinfo: - Move instrumentation to correct section. - 2006-04-17 Andrew John Hughes * gnu/java/lang/InstrumentationImpl.java: @@ -12670,43 +22122,19 @@ Corrected reference to InstrumentationImpl. * vm/reference/java/lang/VMInstrumentationImpl.java: Removed. - -2005-12-14 Nicolas Geoffray - - * vm/reference/java/lang/VMClassLoader - (defineClassWithTransformers): New method. - (instrumenter): New Field. - -2005-12-04 Nicolas Geoffray - - * vm/reference/java/lang/VMInstrumentationImpl.java - (redefineClasses): Added an extra parameter of type - java.lang.instrument.Instrument. - * java/lang/InstrumentationImpl.java - (redefineClasses): Added the Instrumentation object - to the arguments of VMInstrumentationImpl.redefineClasses - call. - -2005-12-03 Nicolas Geoffray - * java/lang/InstrumentationImpl.java: - New file. - * vm/reference/java/lang/VMInstrumentationImpl.java: - New file. - -2006-04-17 Jeroen Frijters - - * java/util/Collection.java: Implemented java.lang.Iterable. +2006-04-17 Andrew John Hughes -2006-04-17 Jeroen Frijters + * java/lang/annotation/Annotation.java: + Documented. + +2006-04-17 David Gilbert - * java/lang/Boolean.java: Implemented Comparable. - * java/lang/ClassLoader.java - (getResources): Not final anymore in 1.5. - * java/lang/Enum.java, java/lang/Iterable.java: - Copied from generics branch. - * java/lang/Thread.java (destroy): Marked deprecated. - * java/lang/ThreadLocal.java (remove): New method. + * javax/swing/JToolBar.java + (AccessibleJToolBar.AccessibleJToolBar()): Updated API docs, + (AccessibleJToolBar.getAccessibleStateSet): Implemented, + (AccessibleJToolBar.getAccessibleRole): Updated API docs, + (getAccessibleContext): Likewise. 2006-04-17 Dalibor Topic @@ -12783,59 +22211,6 @@ (getActionMap): New method, (createActionMap): New method. -2006-04-17 Andrew John Hughes - - * java/lang/annotation/Annotation.java: - Documented. - -2005-06-09 Andrew John Hughes - - * java/lang/reflect/AnnotatedElement.java: Documented. - -2005-01-07 Andrew John Hughes - - * java/lang/reflect/AnnotatedElement.java: - Added import of java.lang.annotation.Annotation - -2004-08-26 Tom Tromey - - * java/lang/reflect/AnnotatedElement.java: New file. - -2004-08-07 Tom Tromey - - * java/lang/annotation/Annotation.java: New file. - -2005-12-13 Tom Tromey - - * java/lang/instrument/ClassDefinition.java: Reformatted. - * java/lang/instrument/UnmodifiableClassException.java: Reformatted. - * java/lang/instrument/IllegalClassFormatException.java: Reformatted. - -2005-12-13 Tom Tromey - - * java/lang/instrument/ClassDefinition.java (ClassDefinition): Now - public. - -2005-12-05 Tom Tromey - - * java/lang/instrument/Instrumentation.java (redefineClasses): Javadoc - fix. - * java/lang/instrument/ClassFileTransformer.java (transform): Javadoc - fix. - -2005-12-03 Nicolas Geoffray - - * java/lang/instrument: New directory. - * java/lang/instrument/ClassDefinition.java: - New file. - * java/lang/instrument/ClassFileTransformer.java: - New file. - * java/lang/instrument/IllegalClassFormatException.java: - New file. - * java/lang/instrument/Instrumentation.java: - New file. - * java/lang/instrument/UnmodifiableClassException.java: - New file. 2006-04-16 Andrew John Hughes @@ -12890,13 +22265,13 @@ (INDETERMINATE): Added field. (MANAGES_DESCENDANTS): Likewise. (TRUNCATED): Likewise. - * vm/reference/java/lang/reflect/Constructor.java: - Fixed copyright header to match generics branch. - * vm/reference/java/lang/reflect/Field.java: - Fixed copyright header to match generics branch. - (toGenericString()): Ported from generics branch. - (getGenericType()): Likewise. - (getSignature()): Likewise. + +2006-04-14 Tom Tromey + + * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners): + Genericized. + * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): + Genericized. 2006-04-14 Robert Schuster @@ -12983,6 +22358,11 @@ (AccessibleJSplitPane.getMinimumAccessibleValue): Implemented, (AccessibleJSplitPane.getMaximumAccessibleValue): Implemented. +2006-04-10 Tom Tromey + + * javax/imageio/metadata/IIOMetadataFormatImpl.java (addObjectValue): + Fixed parameter bounds. + 2006-04-13 Andrew John Hughes * gnu/javax/crypto/assembly/Assembly.java, @@ -14152,125 +23532,6 @@ (getInputStream): Override available function for InflaterInputStream instance. -2006-04-03 Andrew John Hughes - - * gnu/java/lang/reflect/ClassSignatureParser.java, - * gnu/java/lang/reflect/FieldSignatureParser.java, - * gnu/java/lang/reflect/GenericSignatureParser.java, - * gnu/java/lang/reflect/MethodSignatureParser.java, - * gnu/java/lang/reflect/TypeImpl.java, - * java/lang/Class.java, - * java/lang/reflect/GenericDeclaration.java, - * java/lang/reflect/MalformedParameterizedTypeException.java, - * java/lang/reflect/TypeVariable.java, - * java/util/Arrays.java, - * vm/reference/java/lang/VMClass.java, - * vm/reference/java/lang/reflect/Constructor.java, - * vm/reference/java/lang/reflect/Method.java: - Incorporate changes from the generics branch. - -2005-10-01 Jeroen Frijters - - * vm/reference/java/lang/reflect/Constructor.java - (getSignature): New method. - (getGenericExceptionTypes): New method. - (getGenericParameterTypes): New method. - * vm/reference/java/lang/reflect/Method.java - (getSignature): New method. - (getGenericExceptionTypes): New method. - (getGenericParameterTypes): New method. - (getGenericReturnType): New method. - -2005-09-30 Jeroen Frijters - - * gnu/java/lang/reflect/FieldSignatureParser.java: New file. - * gnu/java/lang/reflect/ClassSignatureParser.java, - gnu/java/lang/reflect/GenericSignatureParser.java, - gnu/java/lang/reflect/MethodSignatureParser.java: - Finished implementation. - -2005-09-25 Jeroen Frijters - - * gnu/java/lang/reflect/ClassSignatureParser.java, - gnu/java/lang/reflect/GenericSignatureParser.java, - gnu/java/lang/reflect/MethodSignatureParser.java: New files. - * java/lang/Class.java - (getGenericInterfaces, getGenericSuperclass, getTypeParameters): - Implemented. - * vm/reference/java/lang/VMClass.java - (getSimpleName, getDeclaredAnnotations, getCanonicalName, - getEnclosingClass, getEnclosingConstructor, getEnclosingMethod, - isAnonymousClass, isLocalClass, isMemberClass): - Removed generic types from signatures. - (getGenericInterfaces, getGenericSuperclass, getTypeParameters): - Removed. - (getClassSignature): New method. - * vm/reference/java/lang/reflect/Constructor.java - (getTypeParameters): Implemented. - * vm/reference/java/lang/reflect/Method.java - (getTypeParameters, getSignature): New methods. - -2005-06-09 Andrew John Hughes - - * java/lang/Class.java: - (asSubclass(Class)): Documented. - (getCanonicalName()): Implemented. - (getEnclosingClass()): Implemented. - (getEnclosingConstructor()): Implemented. - (getEnclosingMethod()): Implemented. - (getGenericInterfaces()): Implemented. - (getGenericSuperclass()): Implemented. - (getTypeParameters()): Implemented. - (isAnonymousClass()): Implemented. - (isLocalClass()): Implemented. - (isMemberClass()): Implemented. - * vm/reference/java/lang/VMClass.java: - (getSuperClass(Class)): Updated return type. - (getSimpleName(Class)): Use VM methods directly. - (getCanonicalName(Class)): Implemented. - (getEnclosingClass(Class)): New native method. - (getEnclosingConstructor(Class)): New native method. - (getEnclosingMethod(Class)): New native method. - (getGenericInterfaces(Class)): New native method. - (getGenericSuperclass(Class)): New native method. - (getTypeParameters(Class)): New native method. - (isAnonymousClass(Class)): New native method. - (isLocalClass(Class)): New native method. - (isMemberClass(Class)): New native method. - * vm/reference/java/lang/reflect/Constructor.java: - (getTypeParameters()): Changed to native method. - -2005-05-05 Andrew John Hughes - - * java/lang/Class.java: - (getSimpleName()): Implemented. - * vm/reference/java/lang/VMClass.java: - (getSimpleName()): Reference implementation. - -2005-04-20 Tom Tromey - - * java/util/Arrays.java (hashCode): New methods. - (deepHashCode): New method. - (deepEquals): Likewise. - (toString): New methods. - (deepToString): New method. - -2005-04-04 Andrew John Hughes - - * java/lang/Class.java: - (isEnum()): New method implemented. - (isSynthetic()): New method implemented. - (isAnnotation()): New method implemented. - * vm/reference/java/lang/VMClass.java: - (isEnum()): New native method. - (isSynthetic()): New native method. - (isAnnotation()): New native method. - -2005-03-21 Andrew John Hughes - - * java/lang/Class.java: - Implements java.lang.reflect.Type - 2006-04-03 Thomas Fitzsimmons * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: New file. @@ -14379,6 +23640,29 @@ (Logger): Set parent to root. (setParent): Directly check root field. +2006-04-02 Andrew John Hughes + + * java/util/Collections.java: + (binarySearch(List, T)): Fixed signature. + (unmodifiableList(List)): Likewise. + (UnmodifiableList(List)): Fixed constructor. + (UnmodifiableRandomAccessList(List)): Likewise. + (unmodifiableMap(Map)): Fixed signature. + (UnmodifiableMap(Map)): Fixed constructor. + (unmodifiableSortedMap(Map)): Fixed signature. + (UnmodifiableSortedMap(Map)): Fixed constructor. + +2006-04-02 Andrew John Hughes + + * java/io/ObjectOutputStream.java: + (writeObject(Object)): Added enum support. + (writeClassDescriptor(ObjectStreamClass)): Likewise. + * java/io/ObjectStreamClass.java: + (isEnum()): New package-private method. + (setFlags(Class)): Added enum support. + * java/io/ObjectStreamConstants.java: + (SC_ENUM): Added. + 2006-04-02 Robert Schuster * javax/swing/text/Segment.java: @@ -14737,6 +24021,14 @@ component after the removal. (removeAll): Set selection to -1 before removing the tabs. +2006-03-29 Andrew John Hughes + + * java/io/ObjectInputStream.java: + (parseContent(byte)): Added enum support. + * java/io/ObjectStreamConstants.java: + (TC_ENUM): Added. + (TC_MAX): Changed to new maximum, TC_ENUM. + 2006-03-29 Lillian Angel Partial fix for bug #26929 @@ -14951,10 +24243,50 @@ (paintRightTabBorder): Likewise. (installDefaults): Fetch tabsOpaque property from the UIDefaults. +2006-03-27 Tom Tromey + + PR classpath/25189: + * java/lang/Enum.java (valueOf): Ensure that the named field + is an enum constant. + (compareTo): Check class of enum. + +2006-03-27 Tom Tromey + + * java/lang/reflect/ParameterizedType.java: Javadoc fix. + +2006-03-27 Tom Tromey + + * vm/reference/java/lang/reflect/Method.java (METHOD_MODIFIERS): + New constant. + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method. + (isBridge): Likewise. + (isSynthetic): Likewise. + (isVarArgs): Likewise. + * vm/reference/java/lang/reflect/Field.java (FIELD_MODIFIERS): + New constant. + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method. + (isSynthetic): Likewise. + (isEnumConstant): Likewise. + * vm/reference/java/lang/reflect/Constructor.java + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method + (CONSTRUCTOR_MODIFIERS): New constant. + (isSynthetic): New method. + (isVarArgs): Likewise. + * java/lang/reflect/Member.java (isSynthetic): New method. + +2006-03-28 Tom Tromey + + * java/net/Proxy.java (TYPE): Added missing ";". + 2006-03-27 Andrew John Hughes - * java/rmi/activation/ActivationGroup_Stub.java: - Made final. + * java/math/RoundingMode.java: + Fixed serialization UID. + * java/net/Proxy.java: + (Type): Likewise. 2006-03-27 Andrew John Hughes @@ -14962,7 +24294,19 @@ (append(char)): Documented. (append(CharSequence)): Likewise. (append(CharSequence,int,int)): Likewise. + +2006-03-27 Jeroen Frijters + + * vm/reference/java/lang/reflect/Constructor.java + (getTypeParameters): Check return value of getSignature for null. + * vm/reference/java/lang/reflect/Method.java + (getTypeParameters): Check return value of getSignature for null. +2006-03-27 Andrew John Hughes + + * java/rmi/activation/ActivationGroup_Stub.java: + Made final. + 2006-03-27 Tom Tromey * java/io/CharArrayWriter.java (append): New overloads. @@ -15038,29 +24382,19 @@ NotImplementedException, (AccessibleJSlider.getAccessibleValue): Updated API docs. -2006-03-26 Tom Tromey +2006-03-26 Andrew John Hughes + + * java/lang/ProcessBuilder.java: + Made final. + +2006-03-26 Andrew John Hughes - * NEWS: Updated. - * vm/reference/java/lang/reflect/Method.java (METHOD_MODIFIERS): - New constant. - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method. - (isBridge): Likewise. - (isSynthetic): Likewise. - (isVarArgs): Likewise. - * vm/reference/java/lang/reflect/Field.java (FIELD_MODIFIERS): - New constant. - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method. - (isSynthetic): Likewise. - (isEnumConstant): Likewise. - * vm/reference/java/lang/reflect/Constructor.java - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method - (CONSTRUCTOR_MODIFIERS): New constant. - (isSynthetic): New method. - (isVarArgs): Likewise. - * java/lang/reflect/Member.java (isSynthetic): New method. + * gnu/java/net/protocol/http/Headers.java: + Match layout of file on HEAD. + * gnu/javax/swing/text/html/parser/htmlValidator.java: + Likewise. + * java/awt/datatransfer/DataFlavor.java + Likewise. 2006-03-26 Andrew John Hughes @@ -15999,6 +25333,48 @@ (setComponent): Fire PropertyChangeEvent, (setTipText): Likewise. +2006-03-20 Andrew John Hughes + + * java/util/Formatter.java: + Make the class final. + +2006-03-20 Andrew John Hughes + + * java/lang/System.java: + (nanoTime()): Documented. + * java/lang/Thread.java: + (setUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getUncaughtExceptionHandler()): Documented. + (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getDefaultUncaughtExceptionHandler()): Documented. + (getId()): Documented. + (Thread.State): Documented. + * vm/reference/gnu/classpath/Unsafe.java: + Documented. + (getUnsafe()): Updated to handle security. + +2006-03-20 Tom Tromey + + * java/lang/System.java: + (nanoTime()): Implemented. + * java/lang/Thread.java: + (getId()): Implemented. + * java/util/AbstractMap.java: + (SimpleImmutableEntry): New 1.6 class. + (BasicMapEntry): Modified to be SimpleEntry. + * java/util/Collections.java: + Modified to use SimpleEntry. + * java/util/EnumMap.java: Likewise. + * java/util/HashMap.java: Likewise. + * java/util/Hashtable.java: Likewise. + * java/util/TreeMap.java: Likewise. + * vm/reference/gnu/classpath/Unsafe.java: + New class to handle low-level facilities for concurrency. + * vm/reference/java/lang/VMSystem.java: + (nanoTime()): Implemented. + 2006-03-20 Tom Tromey * java/security/cert/PKIXCertPathChecker.java: Javadoc fix. @@ -17641,6 +27017,13 @@ * javax/swing/tree/TreeNode.java: Fixed bad API doc tags, * javax/swing/tree/TreePath.java: Likewise. +2006-03-13 Tom Tromey + + * javax/swing/text/html/StyleSheet.java (removeAttributes): + Genericized. + * javax/swing/plaf/synth/SynthLookAndFeel.java (load): Genericized. + * java/rmi/server/RMIClassLoader.java (loadProxyClass): Genericized. + 2006-03-13 Keith Seitz * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java @@ -18374,6 +27757,12 @@ * .classpath: added exclude pattern on source folders (Makefiles, README and .cvsignore) +2006-03-08 Michael Koch + + * java/net/Proxy.java (NO_PROXY): Made final. + (equals): Likewise. + (hashCode): Likewise. + 2006-03-08 Keith Seitz * vm/reference/gnu/classpath/jdwp/VMMethod.java: New file. @@ -18422,21 +27811,17 @@ (InetSocketAddress(String,int)): Use new private constructor. (createUnresolved): New method. +2006-03-07 Michael Koch + + * gnu/java/net/DefaultProxySelector.java, + java/net/Proxy.java, java/net/ProxySelector.java: + New files. + 2006-03-07 Audrius Meskauskas * java/rmi/server/UID.java (constructor): Assign last and time fields after pause. -2006-03-07 Tom Tromey - - * java/lang/System.java (clearProperty): New method, merged from - generics branch. - (getProperty): Removed 'else'. - (getProperty): Check for empty key. - (setProperty): Likewise. - * gnu/classpath/SystemProperties.java (remove): New method, merged - from generics branch. - 2006-03-07 Audrius Meskauskas * java/rmi/server/UID.java: New file (replacing). @@ -18511,57 +27896,62 @@ 2006-03-07 Audrius Meskauskas * gnu/java/rmi/server/UnicastRef.java, - gnu/java/rmi/server/UnicastServer.java: Formatted. - + * gnu/java/rmi/server/UnicastServer.java: Formatted. + 2006-03-07 Audrius Meskauskas - * gnu/java/rmi/server/CombinedClassLoader.java (findClass, - findLibrary, findResouce, findResources): check all loaders in - array. - + * gnu/java/rmi/server/CombinedClassLoader.java + (findClass, findLibrary, findResouce, findResources): check + all loaders in array. + 2006-03-07 Audrius Meskauskas - PR 25526 - * gnu/java/rmi/dgc/DGCImpl.java (LeaseRecord, leaseCache): Removed. - (RefProtector): new inner class. (dirty): Rewritten. + PR 25526 + * gnu/java/rmi/dgc/DGCImpl.java (LeaseRecord, leaseCache): Removed. + (RefProtector): new inner class. (dirty): Rewritten. * gnu/java/rmi/server/UnicastRef.java (dgcId, dgcInterfaceHash, dgcSequence, DIRTY, this_id): New fields. (equals, hashCode, notifyDGC): new methods. (readExternal): Create LeaseRenewingTask if non local. - * gnu/java/rmi/server/UnicastServer.java (objects): - Use WeakHashMap. (refcache): Use WeakIdentityHashMap. + * gnu/java/rmi/server/UnicastServer.java (objects): + Use WeakHashMap. (refcache): Use WeakIdentityHashMap. (getExported): New method. * gnu/java/rmi/dgc/LeaseRenewingTask.java: New file. - + 2006-03-06 Mark Wielaard * doc/www.gnu.org/announce/20060306.wml: New file. * doc/www.gnu.org/newsitems.txt: Add 0.90 release announcement. * doc/www.gnu.org/downloads/downloads.wml: Add 0.90. - -2006-03-06 Mark Wielaard - - * NEWS: Fix typo. - + 2006-03-06 David Gilbert * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Use Boolean.TRUE for - 'CheckBoxMenuItem.borderPainted'. + (initComponentDefaults): Use Boolean.TRUE for + 'CheckBoxMenuItem.borderPainted'. + +2006-03-06 Wolfgang Baer -2006-03-06 Lillian Angel + * gnu/java/net/protocol/http/Headers.java: Added documentation all over. + (dateFormat): Made private. + (put): Replace only the last occurance and the value. + (putAll): Reimplemented with the put method. - PR classpath/26569 +2006-03-06 Lillian Angel + + PR classpath/26569 * java/awt/List.java - (preferredSize): Return the size of the list if the peer is null. + (preferredSize): Return the size of the list if the peer is + null. * gnu/java/awt/peer/gtk/GtkListPeer.java - (preferredSize): Code was returning the minimum size of the list. - Added adjustment to the width of the list so it is a proper size. - + (preferredSize): Code was returning the minimum size of the + list. Added adjustment to the width of the list so it is a + proper size. + 2006-03-06 Wolfgang Baer * gnu/java/net/protocol/http/HTTPURLConnection.java: Organized imports. (getRequestProperty): Remove duplicated null check. - * java/net/URLConnection.java: + * java/net/URLConnection.java: (URLConnection): Javadoc fix. (addRequestProperty): Likewise. (getDefaultRequestProperty): Likewise. @@ -18573,85 +27963,94 @@ (getRequestProperty): Likewise. (setDefaultRequestProperty): Likewise. (setRequestProperty): Likewise. - + +2006-03-06 Robert Schuster + + * examples/gnu/classpath/examples/swing/TextArea.java: New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkButtonBar): Changed layout manager to GridLayout, added entry for + textarea example. + (mkMenuBar): Added entry for text area example. + 2006-03-06 Tom Tromey * javax/swing/plaf/synth/Region.java (FILE_CHOOSER): Renamed. (FORMATTED_TEXT_FIELD): Likewise. - + 2006-03-06 Tom Tromey * javax/swing/plaf/synth/SynthPainter.java: Finished. - -2006-03-06 Mark Wielaard - - Fixes bug #26568 reported by Paul Jenner - * native/fdlibm/fdlibm.h (__ieee754_rem_pio2): Return an int32_t. - (isnan): Define explicitly isnan if it is not a macro. - -2006-03-06 Anthony Balkissoon - - * NEWS: Fixed typo. - + 2006-03-06 Robert Schuster * examples/gnu/classpath/examples/swing/Demo.java: (mkMenuBar): Added menu entry that will display the VM's name, version and distributor. - + 2006-03-06 Tom Tromey - + * javax/swing/plaf/synth/SynthLookAndFeel.java (getDescription): Javadoc fix. (getName): Likewise. + +2006-03-06 Raif S. Naffah -2006-03-06 Mark Wielaard - - * configure.ac (VERSION): Set to 0.91-pre. - * NEWS: Add updates for 0.90 release. - -2006-03-06 Robert Schuster - - * javax/swing/text/PlainDocument.java: Fix copyright header, - added author tags. - (insertUpdate): Do not copy the whole document any more, added some - more variables to prevent needless method calls. - -2006-03-06 Christian Thalinger - - * configure.ac: Check for FREETYPE2. This is a reverted patch and - is required on Darwin. - * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Added FREETYPE2. - (AM_CFLAGS): Likewise. - + * java/util/jar/Manifest.java: Removed unused imports. + (CRLF): New constant. + (read): Added method documentation. + Use UTF-8 encoding instead of 8859_1. + (write): Added method documentation. + Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. + (write_main_section): Replace PrintWriter arg with OutputStream. + Replace JarException with IOException. + (write_version_info): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (write_header): Replace PrintWriter arg with OutputStream. + Re-implemented. + 2006-03-06 David Gilbert + * javax/swing/tree/FixedHeightLayoutCache.java: Reformatted and fixed - API doc tag warnings, + API doc tag warnings, * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. 2006-03-06 Dalibor Topic * gnu/java/net/protocol/file/Connection.java (unquote): - Update position in buffer after decoding a unicode character - outside of the basic plane. + Update position in buffer after decoding a unicode character + outside of the basic plane. + +2006-03-06 Dalibor Topic + * java/net/URI.java + (quote): Pass Unicode characters outside the basic plane through. + 2006-03-06 Robert Schuster - + * javax/swing/plaf/basic/BasicTextUI.java: (damageRange): Rewritten if-expressions to correctly identify the - break condition. + break condition. -2006-03-06 Robert Schuster +2006-03-06 Mark Wielaard - * javax/swing/text/DefaultCaret.java: - (mouseDragged): Do selection when shift is pressed. - (mouseClicked): Implemented. + * configure.ac: Set version to 0.90-generics. + * NEWS: Fix typos. -2006-03-06 Dalibor Topic +2006-03-06 Mark Wielaard + + Fixes bug #26568 reported by Paul Jenner + * native/fdlibm/fdlibm.h (__ieee754_rem_pio2): Return an int32_t. + (isnan): Define explicitly isnan if it is not a macro. + +2006-03-06 Robert Schuster - * libraries/javalib/external/classpath/java/net/URI.java (quote): - Pass Unicode characters outside the basic plane through. + * javax/swing/text/GapContent.java: + (insertString): Throw exception when argument is below + zero. 2006-03-06 Robert Schuster @@ -18660,6 +28059,30 @@ code to generate another Element when newly inserted characters and old ones will be on the same line. +2006-03-06 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseDragged): Do selection when shift is pressed. + (mouseClicked): Implemented. + +2006-03-06 Robert Schuster + + * javax/swing/text/PlainDocument.java: Fix copyright header, + added author tags. + (insertUpdate): Do not copy the whole document any more, added some + more variables to prevent needless method calls. + +2006-03-06 Christian Thalinger + + * configure.ac: Check for FREETYPE2. This is a reverted patch and + is required on Darwin. + * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Added FREETYPE2. + (AM_CFLAGS): Likewise. + +2006-03-06 Mark Wielaard + + * NEWS: Add updates for 0.90 release. + 2006-03-05 Robert Schuster * javax/swing/text/GapContent.java: @@ -18668,16 +28091,22 @@ 2006-03-05 David Gilbert - * javax/swing/plaf/metal/MetalComboBoxButton.java - (MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, - JList)): Fixed API doc tag, - * javax/swing/plaf/metal/MetalInternalFrameTitlePane - (createLayout): Fixed API doc warning. + + * javax/swing/filechooser/FileFilter.java: + (accept): Fixed API doc tag, + (getDescription): Likewise, + * javax/swing/filechooser/FileView.java: + (isTraversable): Fixed API doc tag. 2006-03-05 David Gilbert - * javax/swing/DefaultFocusManager.java: Fixed bad API doc tags, - * javax/swing/FocusManager.java: Likewise. + * javax/swing/colorchooser/ColorSelectionModel.java: Reformatted and + added API docs all over. + +2006-03-05 David Gilbert + + * javax/swing/plaf/ComboBoxUI.java: Fixed typo in class description, + and corrected a bad API doc tag. 2006-03-05 David Gilbert @@ -18693,26 +28122,23 @@ 2006-03-05 David Gilbert - * javax/swing/plaf/ComboBoxUI.java: Fixed typo in class description, - and corrected a bad API doc tag. - -2006-03-05 David Gilbert + * javax/swing/DefaultFocusManager.java: Fixed bad API doc tags, + * javax/swing/FocusManager.java: Likewise. - * javax/swing/colorchooser/ColorSelectionModel.java: Reformatted and - added API docs all over. 2006-03-05 David Gilbert - * javax/swing/filechooser/FileFilter.java: - (accept): Fixed API doc tag, - (getDescription): Likewise, - * javax/swing/filechooser/FileView.java: - (isTraversable): Fixed API doc tag. - + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, + JList)): Fixed API doc tag, + * javax/swing/plaf/metal/MetalInternalFrameTitlePane + (createLayout): Fixed API doc warning. + 2006-03-05 Tom Tromey * vm/reference/java/lang/reflect/Constructor.java (toString): Use - ClassHelper.getUserName. + ClassHelper.getUserName. * vm/reference/java/lang/reflect/Method.java (toString): Use ClassHelper.getUserName. (getUserTypeName): Removed. @@ -18723,12 +28149,13 @@ 2006-03-05 Olivier Jolly Fixes PR 22813 - * java/net/URLClassLoader.java (FileURLLoader.getResource): + * java/net/URLClassLoader.java (FileURLLoader.getResource): Allows directories as valid resources. -2006-03-04 Mark Wielaard +2006-03-05 Mark Wielaard - * configure.ac (VERSION): Set to 0.90-pre. + * configure.ac (VERSION): Set to 0.90-pre-generics. + * Merge with CVS trunk from classpath-0_90-branch-point. 2006-03-04 Tom Tromey @@ -19826,12 +29253,73 @@ (decodePublicKey): Added logging. Handle optional NULL element. -2006-02-26 Raif S. Naffah +2006-02-26 Raif S. Naffah + + * java/util/logging/FileHandler.java: Fixed a javadoc reference. + +2006-03-03 Tom Tromey + + * java/awt/MenuBar.java (shortcuts): Genericized. + +2006-03-03 Tom Tromey + + * java/beans/EventSetDescriptor.java (EventSetDescriptor): + Genericized. + (getListenerType): Likewise. + * java/beans/Introspector.java (getBeanInfo): Genericized. + * java/beans/DefaultPersistenceDelegate.java (initialize): + Genericized. + +2006-03-01 Anthony Balkissoon + + * java/math/BigDecimal.java: + (precision): Fixed overflow problem with large numbers. + (longValueExact): New method. + (intValueExact): Likewise. + (byteValueExact): Likewise. + (shortValueExact): Likewise. + +2006-03-01 Anthony Balkissoon + + * java/math/BigDecimal.java: + (remainder(BigDecimal)): New method. + (divideAndRemainder(BigDecimal)): Likewise. + (divideToIntegralValue(BigDecimal)): Likewise. + (floor): New implementation method. + +2006-02-28 Anthony Balkissoon + + * java/math/BigDecimal.java: + (divide(BigDecimal, int, RoundingMode)): New method. + (divide(BigDecimal, RoundingMode)): Likewise. + (divide(BigDecimal, int, int)): Removed incorrect throwing of exception + when the new scale is < 0. + (setScale(int, RoundingMode)): New method. + (ulp): Likewise. + +2006-02-27 Anthony Balkissoon - * java/util/logging/FileHandler.java: Fixed a javadoc reference. + * java/math/BigDecimal.java: Replaced occurences of BigInteger.valueOf + with BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN where appropriate. + (add(BigDecimal, MathContext)): New method. + (subtract(BigDecimal, MathContext)): Likewise. + (precision): Fixed to correctly handle BigIntegers with more than 19 + digits. + (pow(int, MathContext)): New method. -2006-02-25 Chris Burdess +2006-02-27 Anthony Balkissoon + * java/math/BigDecimal.java: Added @throws clause to constructors. + (mathContext): Removed this unneeded field. + (BigDecimal(int, MathContext)): New constructor. + (BigDecimal(BigInteger, int, MathContext)): Likewise. + (multiply(BigDecimal, MathContext)): New method. + (negate(MathContext)): Likewise. + (plus(MathContext)): Likewise. + (numDigitsInLong): Fixed to properly handle negatives. + +2006-02-25 Chris Burdess + * gnu/java/net/CRLFInputStream.java, gnu/java/net/LineInputStream.java: Streams that use mark capabilities on the underlying stream do not expose mark @@ -19855,6 +29343,26 @@ manipulating an array of icharacter positions which _match has already visited. +2006-02-24 Anthony Balkissoon + + * java/math/BigDecimal.java: + (BigDecimal(long, MathContext)): New constructor. + (BigDecimal(BigInteger, MathContext)): Likewise. + (BigDecimal(String, MathContext)): Likewise. + (BigDecimal(double, MathContext)): Likewise. + (round): Fixed a typo where the precision field was used instead of a + call to the precision method, and also store the new precision in the + returned BigDecimal. + (abs(MathContext)): New method. + +2006-02-24 Anthony Balkissoon + + * java/math/BigDecimal.java + (toBigInteger): Fixed problem where this method couldn't handle + negative values for scale. + (toBigIntegerExact): New method. + (stripTrailingZeros): Likewise. + 2006-02-24 David Daney PR classpath/26082 @@ -19869,9 +29377,9 @@ (maxConnections) : Removed. (GetHTTPPropertiesAction.run): Don't initialize maxConnections. (getConnection): Moved pool management logic to HTTPConnection.Pool. - + 2006-02-24 Lillian Angel - + * java/awt/Container.java: Added new field. True if Container has been cleared and heavyweights need to be repainted. @@ -19879,28 +29387,28 @@ reset backCleared. (update): Set backCleared to true after the background of the container has been cleared. - + 2006-02-24 Lillian Angel - + * java/awt/TextField.java (addNotify): Added call to super. - + 2006-02-24 Lillian Angel - - * java/awt/Component.java + + * java/awt/Component.java (reshape): Reverted last patch. Should have check here. (addNotify): Added check. If parent is lightweight, then initialize listener on the parent. (HeavyweightInLightweightListener): New class. - + 2006-02-24 Roman Kennke - + * javax/swing/plaf/basic/BasicComboPopup.java (show): Register the popup with the autocloser after it has been opened completely, by putting the registration on the eventqueue. - + 2006-02-24 Andrew John Hughes - + * gnu/java/security/prng/BasePRNG.java: (clone()): Added cast of buffer to byte[]. * gnu/javax/crypto/mac/TMMH16.java: @@ -19909,9 +29417,9 @@ Added missing defines from old fdlibm.h needed by Darwin. (GET_FLOAT_WORD(i,d)): Re-added. (SET_FLOAT_WORD(d,i)): Re-added. - + 2006-02-24 Roman Kennke - + * java/awt/Container.java: (dispatcher): Removed field. (dispatchEventImpl): Removed lightweight dispatching. @@ -19922,21 +29430,21 @@ * java/awt/Toolkit.java (Toolkit): Install LightweightDispatcher in global listener array. - + 2006-02-24 Chris Burdess - + Fixes PR 26324 * gnu/java/net/CRLFInputStream.java: Fix incorrect end condition when off > 0. - + 2006-02-24 Andrew John Hughes - + * NEWS: Mentions the VMMath runtime changes. * doc/vmintegration.texinfo: Updated to include VMMath. - + 2006-02-24 Roman Kennke - + * javax/swing/plaf/basic/BasicLookAndFeel.java (PopupHelper.autoClosePopups): New field. (PopupHelper.mousePressed): Also autoclose any registered popups. @@ -19946,15 +29454,15 @@ (registerForAutoClose): New method. * javax/swing/plaf/basic/BasicComboPopup.java (show): Register this popup for autoclosing. - + 2006-02-24 Raif S. Naffah - + * gnu/javax/crypto/mac/TMMH16.java (clone): New method. * gnu/java/security/prng/MDGenerator.java (clone): New method. * gnu/java/security/prng/BasePRNG.java (clone): Clone buffer. - + 2006-02-24 Roman Kennke - + Reported by Ingo Proetel * java/util/logging/LogManager.java (addLogger): Search the parent loggers for log level @@ -19962,14 +29470,30 @@ (readConfiguration): Provide minimal default configuration if no configuration can be found otherwise. -2006-02-23 Roman Kennke +2006-02-23 Anthony Balkissoon + + * java/math/BigDecimal.java: + (toString): Fixed a problem where the negative sign was being displayed + twice in the exponent. + (toEngineeringString): New method. + (toPlainString): Likewise. + (pow): Likewise. + +2006-02-23 Anthony Balkissoon + + * java/math/BigDecimal.java: + (toString): Rewrote this method to behave as specified. Added API + comments to explain behaviour. + (scaleByPowerOfTen): New method. +2006-02-23 Roman Kennke + * javax/swing/JRootPane.java (isOptimizedDrawingEnabled): Implemented to return true when the glassPane is not visible. - + 2006-02-23 Roman Kennke - + * javax/swing/plaf/basic/BasicLookAndFeel.java (PopupHelper): New inner class. (popupHelper): New field. @@ -20028,9 +29552,9 @@ * java/awt/Graphics.java (hitClip): Scott's proposed fix. Added check to handle a null clip. - + 2006-02-23 Wolfgang Baer - + * javax/print/attribute/standard/MediaSize.java: (media): Field renamed to mediaName for serialization. (MediaSize): Adapted to new fieldname. @@ -20080,9 +29604,9 @@ (hashCode): Likewise. (getHeight): Likewise. (getWidth): Likewise. - + 2006-02-23 Andrew John Hughes - + * include/java_lang_VMMath.h: (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Added. (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Added. @@ -20203,14 +29727,14 @@ (toString): Reimplemented. (readObject): New method for serialization. (writeObject): Likewise. - + 2006-02-23 Roman Kennke - + * javax/swing/RepaintManager.java (commitBuffer): Clip the repaint area with the current clip. - + 2006-02-23 Raif S. Naffah - + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java (DEFAULT_PRIME_SIZE): Made public. (DEFAULT_EXPONENT_SIZE): Likewise. @@ -20272,6 +29796,15 @@ (engineGeneratePublic): Likewise. * gnu/javax/crypto/DiffieHellmanImpl: Removed. +2006-02-22 Anthony Balkissoon + + * java/math/BigDecimal.java: + (BigDecimal(char[], int, int, MathContext)): New constructor. + (BigDecimal(char[], MathContext)): Likewise. + (BigDecimal(char[])): Likewise. + (BigDecimal(char[], int, int)): Likewise. + (BigDecimal(String)): Fixed handling of exponent and scale. + 2006-02-22 Mark Wielaard * java/awt/Checkbox.java (setState): Check that state actually changed @@ -20286,14 +29819,14 @@ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c (postItemEventID): Method now takes boolean. (item_toggled_cb): Likewise. - + 2006-02-22 Robert Schuster - + * javax/swing/text/DefaultHighlighter.java: (changeHighlight): Added code to minimize the damaged area. - + 2006-02-22 Robert Schuster - + * javax/swing/text/PlainView.java: (getPreferredSpan): Added missing 'break'. statement which corrects an unwanted fall through. @@ -20301,44 +29834,65 @@ removed, call preferenceChanged accordingly. (viewToModel): Restrict line number to be within 0 and the number of elements-1. - + 2006-02-22 Robert Schuster - + * javax/swing/text/Utilities.java: (getPositionAbove): Prefer first value by changing comparison from < to <=. (getPositionBelow): Dito. - + 2006-02-22 Robert Schuster - + * javax/swing/text/DefaultEditorKit.java: Added checks and fallback behavior when magic caret position is null. - + 2006-02-22 Roman Kennke - + * javax/swing/JTextField.java (isValidateRoot): New method. - + 2006-02-22 Roman Kennke - + * javax/swing/JEditorPane.java (getPreferredSize): Rewritten to behave like the reference impl. (getScrollableTracksViewportWidth): Likewise. (getScrollableTracksViewportHeight): Likewise. - + 2006-02-22 Roman Kennke - + * javax/swing/RepaintManager.java (addInvalidComponent): Also consider the component itself. - + 2006-02-22 Mark Wielaard - + * javax/swing/text/html/HTMLDocument.java (createDefaultRoot): Fully qualify AbstractDocument.AttributeContext. (blockOpen): Likewise. + +2006-02-21 Anthony Balkissoon -2006-02-21 Mark Wielaard + * java/math/BigDecimal.java: + (mathContext): New field. + (precision): Likewise. + (BigDecimal(int)): New constructor. + (BigDecimal(long)): Likewise. + (BigDecimal(BigInteger)): Added API docs. + (BigDecimal(BigInteger, int)): Removed incorrect NumberFormatException + and added API docs. + (plus): New method. + (round): Likewise. + (precision): Likewise. + (valueOf): Likewise. + (numDigitsInLong): New implementation method. + +2006-02-21 Anthony Balkissoon + + * java/math/MathContext.java: New class. + * java/math/RoundingMode: New Enum. +2006-02-21 Mark Wielaard + * java/awt/Component.java (translateEvent): Translate AdjustmentEvents to 1.0 Events. * java/awt/Scrollbar.java (dispatchEventImpl): Set valueIsAdjusting. @@ -20352,25 +29906,25 @@ (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Renamed to Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setBarValue * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: Regenerated. - + 2006-02-21 Roman Kennke - + * javax/swing/text/View.java (setParent): Set child parent to null when disconnecting the view from the View hierarchy. - + 2006-02-21 Wolfgang Baer - + * javax/print/StreamPrintService.java: Added and enhanced documentation. - + 2006-02-21 Roman Kennke - + * javax/swing/text/WrappedPlainView.java (calculateBreakPosition): Changed to use the view's allocation instead of the container's preferredSize. - + 2006-02-21 Wolfgang Baer - + * java/awt/CardLayout.java: (first): Updated api documentation. (last): Likewise. @@ -20380,21 +29934,21 @@ IllegalArgumentException if layout of container is not this. (gotoComponent): Updated api documentation. Throw IllegalArgumentException if layout of container is not this. - + 2006-02-21 Roman Kennke - + * javax/swing/text/NavigationFilter.java (getNextVisualPositionFrom): New method. - + 2006-02-21 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (RootView.setView): Call setParent() on the view with this as argument instead of null. (setView): Don't set root view's parent here. - + 2006-02-21 Roman Kennke - + * javax/swing/text/AbstractDocument.java (AbstractElement.getAttribute): Use getResolveParent() to fetch the resolving parent. @@ -20466,9 +30020,9 @@ * javax/swing/text/html/InlineView.java (setPropertiesFromAttributes): Call super. * javax/swing/text/html/NullView.java: New class. - + 2006-02-21 Roman Kennke - + PR classpath/26368 * javax/swing/text/GapContent.java (GapContentPosition): Made class private. @@ -20486,9 +30040,9 @@ positions. (dumpPositions): Handle WeakReference positions. (clearPositionReferences): New method. - + 2006-02-21 Robert Schuster - + * javax/swing/plaf/basic/BasicTextUI.java: (paint): Remove unneccessary part of the if-expression. (damageRange): Added case where the range spans multiple lines. @@ -20518,71 +30072,71 @@ (ENDSIG): Likewise. * java/util/zip/ZipOutputStream.java (writeLeInt(long)): New method. - + 2006-02-21 Michael Koch - + * gnu/javax/net/ssl/provider/PRNG.java: Removed. - + 2006-02-20 Mark Wielaard - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c (begin_drawing_operation): Output stacktrace and return on bad cairo status. (end_drawing_operation): Likewise. And reset cairo_t. - + 2006-02-20 Robert Schuster - + * javax/swing/text/DefaultEditorKit.java: Fixed comparison in backward selection action. - + 2006-02-20 Olivier Jolly - + * java/lang/reflect/Proxy.java: (ProxyData.getProxyData): Skipped overriding of core methods. (ProxyData.isCoreObjectMethod): New method. - + 2006-02-20 Mark Wielaard - + * gnu/java/nio/charset/Provider.java (Provider): Package private. - + 2006-02-20 Roman Kennke - + * javax/swing/text/html/Option.java: New class. - + 2006-02-20 Lillian Angel - + * java/swt/Window.java (show): Calling show() on the owned windows caused problems. Changed back to get the peer and call setVisible. - + 2006-02-20 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (damageRange): Implemented this method. - + 2006-02-20 Robert Schuster - + * javax/swing/text/GapContent.java: (shiftGapEndUp): Corrected new mark value. * javax/swing/text/AbstractDocument.java: (remove): Changed order of operations. - + 2006-02-20 Robert Schuster - + * javax/swing/text/GapContent.java: (shiftGapEndUp): Reverted. * javax/swing/text/AbstractDocument.java: (remove): Reverted. - + 2006-02-20 Robert Schuster - + * javax/swing/text/GapContent.java: (shiftGapEndUp): Corrected new mark value. * javax/swing/text/AbstractDocument.java: (remove): Changed order of operations. - + 2006-02-20 Mark Wielaard - + * java/awt/Menu.java (add(MenuItem)): Use item.getParent() to get parent field. (insert): Likewise. @@ -20626,9 +30180,9 @@ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu): Removed. - + 2006-02-20 Audrius Meskauskas - + * gnu/java/rmi/server/RMIObjectInputStream.java (resolveProxyClass): Expect that proxy interfaces may have different class loaders. * gnu/java/rmi/server/UnicastServerRef.java: Rewritten. @@ -20644,16 +30198,16 @@ * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): Set Parent and Bounds of our children if either or parent is showing, or we are a Window and are showing ourselves now. - + 2006-02-19 Audrius Meskauskas - + * gnu/classpath/tools/rmi/rmic/RmicCompiler.java (convertStubName): New method. * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: Another stub name fix. - + 2006-02-19 Audrius Meskauskas - + * gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): Call convertStubName. (convertStubName): New method. * gnu/classpath/tools/rmi/RMIC.java (main): Stub name fix. @@ -20780,9 +30334,9 @@ * java/awt/datatransfer/DataFlavor.java (tryToLoadClass): Rewritten. (getRepresentationClassFromMime): Add exception cause to IllegalArgumentException. - + 2006-02-17 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Removed unneeded import. * gnu/java/awt/peer/gtk/GtkFramePeer.java: @@ -20791,9 +30345,9 @@ Fixed comment, this is not yet handled in the JDK 1.5. * java/awt/Container.java: Removed unneeded import. - + 2006-02-17 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (setBounds): Removed check. Coordinates should always be changed to incorporate the parent's coordinates. @@ -20832,17 +30386,17 @@ attribute values. Fixed number of characters read following a reset when detecting end of character data with characters after a Unicode surrogate pair. - + 2006-02-17 Roman Kennke - + * javax/swing/text/html/HTMLEditorKit.java (HTMLFactory.create): Create InlineView for content tags. * javax/swing/text/html/HTMLDocument.java (HTMLReader.flush): Call create() on first flush and insert on subsequent flushes. - + 2006-02-17 Roman Kennke - + * javax/swing/text/AbstractDocument.java (BranchElement.getStartOffset): Implemented workaround for wrong NPE. @@ -20857,9 +30411,9 @@ (createDefaultRoot): Use createBranchElement() and createLeafElement instead of the constructors. (create): Rewritten. - + 2006-02-17 Keith Seitz - + * gnu/classpath/jdwp/id/JdwpId.java (size): Remove. (SIZE): New constant. * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java @@ -20876,9 +30430,9 @@ Use model index for data model and column index for column model. (getColumnClass): Convert to model index before requesting class from model. - + 2006-02-17 Roman Kennke - + * javax/swing/text/html/HTMLDocument.java (createDefaultRoot): Implemented. (createLeafElement): Implemented. @@ -20889,15 +30443,15 @@ (HTMLReader.ParagraphAction.end): Call blockClose at the very least. (HTMLReader.blockOpen): Add name attribute with the current tag. (HTMLReader.addContent): Add name attribute with HTML.Tag.CONTENT. - + 2006-02-17 Audrius Meskauskas - + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): Rewritten. * javax/swing/table/JTableHeader.java: Documenting related methods. - + 2006-02-17 Jeroen Frijters - + Fixes PR 25752 * gnu/java/net/protocol/ftp/FTPURLConnection.java (connect): Changed to use SystemProperties. @@ -20905,34 +30459,34 @@ url is a directory, if not use retrieve. (getOutputStream): Don't worry about directories, simply always try to do a store. - + 2006-02-17 Jeroen Frijters - + * gnu/java/net/protocol/ftp/ActiveModeDTP.java (ActiveModeDTP): Mark accept thread as daemon. - + 2006-02-17 Michael Koch - + * tools/.cvsignore: Ignore tools.zip. - + 2006-02-16 Keith Seitz - + * vm/reference/gnu/classpath/jdwp/VMIdManager.java (newReferenceTypeId): Set the ID's reference. (): Remove comments for field, method, and frame ID types, which will not be handled by VMIdManager. - + 2006-02-17 Audrius Meskauskas - + * javax/swing/JTable.java (getCellEditor, getCellRenderer): Use model index, not the column number. * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): Rewritten. (draggingHeaderRect): New field. (paint): Animate column movement by painting draggingHeaderRect. * NEWS: Added entry about JTable columns. - + 2006-02-16 Keith Seitz - + * gnu/classpath/jdwp/id/JdwpId.java (size): Make static. Return default size of eight bytes. * gnu/classpath/jdwp/id/ObjectId.java (size): Remove. @@ -20943,25 +30497,25 @@ method. 2006-02-16 David Daney - + PR classpath/26312 * gnu/java/net/protocol/http/ChunkedInputStream.java (read): Mask return value with 0xff. - + 2006-02-16 Keith Seitz - + * gnu/classpath/jdwp/event/EventRequest.java (getFilters): New method. (matches): Use Iterator instead of ListIterator. - + 2006-02-16 Keith Seitz - + * gnu/classpath/jdwp/Jdwp.java (_doInitialization): Name the packet processor thread for easier debugging. (_enforceSuspendPolicy): Suspend the current thread, not the JDWP main thread. - + 2006-02-16 Audrius Meskauskas - + * javax/swing/JTable.java (TableColumnPropertyChangeHandler.propertyChange): Return without action if table header resizing column in not null. (doLayout): @@ -20969,13 +30523,13 @@ * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler.mouseExited, MouseInputHandler.mouseReleased): Rewritten. (MouseInputHandler.endResizing): New method. - + 2006-02-16 Roman Kennke - + * javax/swing/text/html/InlineView.java: New file. - + 2006-02-16 Roman Kennke - + * javax/swing/JTabbedPane.java (AccessibleJTable.getAccessibleChild): Implemented to return the Page instance for the specified index. @@ -20988,19 +30542,19 @@ (Page.getAccessibleChildrenCount): New method. (Page.getAccessibleChild): New methdod. (Page.getLocale): New method. - + 2006-02-16 Roman Kennke - + * javax/swing/plaf/basic/BasicTabbedPaneUI.java (TabbedPaneLayout.calculateTabRects): Expand tabRuns array when tabCount gets greater than tabRuns.length. (TabbedPaneScrollLayout.calculateTabRects): Expand tabRuns array when tabCount gets greater than tabRuns.length. (paintTabArea): Don't set tabCount == runCount. - + 2006-02-16 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java + + * javax/swing/plaf/basic/BasicTextUI.java (installUI): Moved installation of PropertyChangeListener to installListeners(). Call modelChanged() after everything is is installed. @@ -21016,19 +30570,19 @@ on exit. javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler.mouseDragged): Do not repaint the header. - + 2006-02-16 Roman Kennke - + * javax/swing/JViewport.java (static_initializer): Set default scrollMode to backingstore. - + 2006-02-16 Audrius Meskauskas - + * javax/swing/JTable.java (moveToCellBeingEdited): Clone the value, returned by getCellRect. To not translate the component. - + 2006-02-16 Roman Kennke - + * javax/swing/JComponent.java (rectCache): Made field non-static to avoid nasty interferences. (computeVisibleRect): Avoid creation of new Rectangles and double @@ -21036,13 +30590,13 @@ of Rectangle2D.intersect(). (repaint): Interect the dirty region with the visible rectangle of this component to avoid unnecessary painting. - + 2006-02-16 Gary Benson - + * java/lang/Thread.java (stop): Add a missing access check. - + 2006-02-16 Robert Schuster - + * javax/swing/text/JTextComponent.java: (replaceSelection): Added code to update the magic caret position. * javax/swing/text/DefaultEditorKit.java: Added code to update @@ -21136,29 +30690,29 @@ * javax/swing/JTable.java, javax/swing/plaf/basic/BasicTableHeaderUI.java, javax/swing/table/DefaultTableModel.java: Documented. - + 2006-02-15 Lillian Angel - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: Removed duplicate methods. - + 2006-02-15 Audrius Meskauskas - + * javax/swing/JTable.java (distributeSpillResizing): New method. (doLayout): Use distributeSpillResizing when resizing. * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): Rewritten. (installListeners): Add mouse motion listener. (uninstallListeners): Remove mouse motion listener. - + 2006-02-15 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkDialogPeer.java (setVisible): Removed method. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (setLocation): New method. (setLocationUnlocked): New method. (show): Changed to use setLocation instead of setBounds. - * java/awt/Component.java + * java/awt/Component.java (show): Should call peer.show(), not peer.setVisible(), so the location of the component is correctly set. (preferredSize): Added curly braces so else statements are @@ -21173,46 +30727,46 @@ GtkWindowPeer_nativeSetLocation and Java_gnu_java_awt_peer_gtk_GtkWindowPeer _nativeSetLocationUnlocked. - + 2006-02-15 Mark Wielaard - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): Downcast gtk_plug_new result when used. - + 2006-02-15 Olivier Jolly - + * java/io/ObjectOutputStream.java (writeClassDescriptor): Call assignNewHandle() after writing Proxy class. - + 2006-02-15 Olivier jolly - + Fixes bug #14144 * java/io/ObjectInputStream.java (readClassDescriptor): Class doesn't have to be abstract for first_nonserial. - + 2006-02-15 Roman Kennke - + * javax/swing/JInternalFrame.java (setClosed): Call dispose to actually make the frame invisible and unselected. - + 2006-02-15 Roman Kennke - + * javax/swing/JInternalFrame.java (dispose): Call setVisible(false) instead of hide. (doDefaultCloseOperation): Likewise. - + 2006-02-15 Roman Kennke - + * javax/swing/JComponent.java (paintChildren): Also check for the visibility of a child component to avoid artifacts. (repaint): Simply add this component to the RepaintManager rather than trying to do useless optimization here. - + 2006-02-15 David Gilbert - + * javax/swing/JSpinner.java (DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a PropertyChangeListener, @@ -21318,15 +30872,15 @@ * javax/swing/SpinnerNumberModel.java (getNextValue): Check for null maximum, (getPreviousValue): Check for null minimum. - + 2006-02-15 Roman Kennke - + * javax/swing/plaf/basic/BasicTableUI.java (paint): Paint vertical and horizontal lines one pixel shifted left/top. - + 2006-02-15 Jeroen Frijters - + * java/util/zip/ZipFile.java (checkZipFile): Inlined readLeInt and rewritten for robustness. (readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[], @@ -21344,9 +30898,9 @@ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (window_get_frame_extents): Return early of the window has no decorations. - + 2006-02-15 Audrius Meskauskas - + * examples/gnu/classpath/examples/swing/TableDemo.java (TModel, createContent): Explain which value appears in the header. * javax/swing/JTable.java (setColumnModel): Only set the @@ -21388,27 +30942,27 @@ * javax/swing/ToolTipManager.java: Removed unneeded imports. * javax/swing/Timer.java: Some small reindention. (task): Made package private to avoid synthetic accessor method. - + 2006-02-14 Roman Kennke - - * javax/swing/SwingUtilities.java + + * javax/swing/SwingUtilities.java (layoutCompoundLabel): Dont set textIconGap to 0 when there is no icon. - + 2006-02-14 Audrius Meskauskas - + * examples/gnu/classpath/examples/swing/TableDemo.java: Making the columns variable width. * javax/swing/JTable.java (distributeSpill, doLayout): Call getPreferredSize and not getSize(). - + 2006-02-14 Roman Kennke - + * javax/swing/DefaultCellEditor.java (DefaultCellEditor): API doc fixlet. - + 2006-02-14 Roman Kennke - + * javax/swing/JViewport.java (isPaintRoot): New field. (repaint): Only call super here. Also added a comment regarding @@ -21416,27 +30970,27 @@ (paintBlit): Implemented real blitting. (paintImmediately2): New method. Overrides the same package private method in JComponent. - + 2006-02-14 Roman Kennke - + * javax/swing/plaf/basic/BasicTableUI.java (paint): Check for boundary cases when determining the painting area. - + 2006-02-14 Mark Wielaard - + * java/awt/Menu.java (add): Always set parent of item to this. Call addNotify() on item when we have a MenuPeer already. (insert): Always adjust parent for item. Call addNotify() on item if we already have a peer. (remove(int)): Always clear item parent. Call removeNotify() on item if we had a peer. - + 2006-02-14 Audrius Meskauskas - + * javax/swing/JTable.java (rowAtPoint): Return -1 if the computed row == getRowCount(). - + 2006-02-14 Lillian Angel * gnu/java/awt/peer/gtk/GtkDialogPeer.java @@ -21472,45 +31026,45 @@ tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java, tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java: New files. - + 2006-02-14 David Gilbert - + * javax/swing/JComponent.java (getListeners): Check for PropertyChangeListener.class and delegate to getPropertyChangeListeners() for that case. - + 2006-02-13 Roman Kennke - + * javax/swing/plaf/basic/BasicTableUI.java (paint): Determine the cells that need painting based on the current clip. Use getCellRect() for calculating the cell bounds. - + 2006-02-13 Roman Kennke - + * javax/swing/JTable.java (rectCache): New field. (getCellRect): Returns cached Rectangle instance. - + 2006-02-13 Roman Kennke - + * javax/swing/JLayeredPane.java (removeAll): New method. Avoid potential memory leak. (isOptimizedDrawingEnabled): Replaced heuristic with accurate calculation. - + 2006-02-14 Stuart Ballard - + * javax/swing/undo/StateEdit.java (RCSID): Match Sun's value. * javax/swing/undo/StateEditable.java (RCSID): Likewise. - + 2006-02-13 Tom Tromey - + * vm/reference/java/lang/reflect/Method.java: Javadoc fix. * vm/reference/java/lang/reflect/Constructor.java: Javadoc fix. - + 2006-02-13 Roman Kennke - + * javax/swing/RepaintManager.java (offscreenBuffers): New field. (doubleBuffer): Removed field. @@ -21528,18 +31082,18 @@ (paintImmediately2): Don't paint on screen here. (paintDoubleBuffered): Rewritten for real double buffering. (paintSimple): Draw to screen in this method. - + 2006-02-13 Roman Kennke - + * javax/swing/JRootPane.java (JRootPane): Set opaque property to true. - + 2006-02-13 Tom Tromey - + * .classpath: Updated for external/relaxngDatatype. - + 2006-02-13 Chris Burdess - + * gnu/xml/stream/UnicodeReader.java, gnu/xml/validation/datatype/Annotation.java, gnu/xml/validation/datatype/AnySimpleType.java, @@ -21636,9 +31190,9 @@ lib/Makefile.am, lib/gen-classlist.sh.in: Added external RELAX NG pluggable datatypes library API. - + 2006-02-13 Mark Wielaard - + * gnu/java/awt/peer/gtk/GtkGenericPeer.java (awtWidget): Made field final. (gtkWidgetModifyFont(Font)): New protected helper method. @@ -21669,51 +31223,51 @@ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c (Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetModifyFont): Removed. - + 2006-02-13 Mark Wielaard - + * java/lang/Math.java (static): Explicitly call System.loadLibrary("javalang"). - + 2006-02-13 Wolfgang Baer - + * javax/print/StreamPrintServiceFactory.java: New file. - + 2006-02-13 Tom Tromey - + * tools/.cvsignore: Added Makefile. - + 2006-02-13 Wolfgang Baer - + * java/awt/print/PrinterGraphics.java: Reformatted. * java/awt/print/Paper.java: Likewise. * java/awt/print/PageFormat.java: Likewise. * java/awt/print/Pageable.java: Likewise. - + 2006-02-13 Lillian Angel - + * java/awt/BorderLayout.java (layoutContainer): Rewrote part of this function to properly set the bounds of the components. (setBounds): Removed method, not needed. - + 2006-02-13 Roman Kennke - + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.clone): Fixed replace call. (clone): Removed method. - + 2006-02-13 Roman Kennke - + * java/rmi/server/UnicastRemoteObject.java: Reformatted. - + 2006-02-13 Roman Kennke - + * java/rmi/server/UnicastRemoteObject.java (exportObject(Remote)): Forward method call to export(Remote,int). - + 2006-02-13 Andrew John Hughes - + * include/Makefile.am: Swapped Math.h for VMMath.h * include/java_lang_Math.h: @@ -21761,14 +31315,14 @@ (rint(double)): New native method. 2006-02-13 Lillian Angel - + * java/awt/Component.java (repaint): No need to call isShowing, it is done in the other repaint call. (repaint): Likewise. (repaint): Likewise. - + 2006-02-13 Lillian Angel - + * java/awt/Component.java (repaint): Reverted last change. (repaint): Likewise. @@ -21785,21 +31339,21 @@ (repaint): No need to call isShowing, it is done in the other repaint call. (repaint): Likewise. (repaint): Likewise. - + 2006-02-13 Roman Kennke - + * javax/swing/text/AbstractDocument.java (setParent): Added API docs. Call setParent(null) on children before disconnecting this view from the View hierarchy. - + 2006-02-13 Roman Kennke - + * javax/swing/text/AbstractDocument.java (readUnlock): Don't attempt to unlock when the current threads also holds a write lock. - + 2006-02-13 David Gilbert - + * javax/swing/plaf/metal/MetalBorders.java (ButtonBorder.getBorderInsets(Component)): Return insets directly, (ButtonBorder.getBorderInsets(Component, Insets)): Don't check for null @@ -21841,34 +31395,34 @@ stands for only one character. (match): Added the processing of the Vector addition. (matchN), (matchP): Do not check next token if addition is used. - + 2006-02-12 Olivier Jolly - + * AUTHORS: add self. - + 2006-02-12 Tom Tromey - + * gnu/classpath/ServiceProviderLoadingAction.java: Javadoc fix. * gnu/classpath/ServiceFactory.java (ServiceIterator): Javadoc fix. (securityContext): Likewise. (log): Likewise. - + 2006-02-12 Dalibor Topic - + Fixes PR 26218. - + * gnu/java/net/protocol/file/Connection.java (unquote): Convert Unicode characters outside basic plane to UTF-8, rather than throwing an exception. - + 2006-02-12 Tom Tromey - + * javax/sound/sampled/LineEvent.java (readObject): New method. (writeObject): Likewise. (serialVersionUID): New field. - + 2006-02-12 Mark Wielaard - + * java/beans/PropertyChangeSupport.java (addPropertyChangeListener): Silently ignores null listener. (addPropertyChangeListener(String, PropertyChangeListener): Likewise. @@ -21907,9 +31461,9 @@ * java/io/InputStream.java (read(byte[],int,int)): Changed argument validation to prevent integer overflow. Remove redundant check. - + 2006-02-12 Jeroen Frijters - + Fixes PR 26220 * java/io/InputStreamReader.java (InputStreamReader(InputStream)): Use SystemProperties. @@ -21986,9 +31540,9 @@ tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: Rewritten. * tools/gnu/classpath/tools/giop/grmic/HashFinder.java: New file. - + 2006-02-11 Raif S. Naffah - + * gnu/java/security/jce/sig/EncodedKeyFactory.java (engineGeneratePublic): Added support for raw key-specifications. (engineGeneratePrivate): Likewise. @@ -22012,19 +31566,19 @@ (encodePublicKey): Likewise. (encodePrivateKey): Likewise. (decodePublicKey): Likewise. - + 2006-02-10 Roman Kennke - + * javax/swing/text/StyleContext.java (registerStaticAttributeKey): New static method. - + 2006-02-10 Roman Kennke - + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.clone): New method. - + 2006-02-10 Roman Kennke - + * javax/swing/text/ParagraphView.java (findOffsetToCharactersInString): New method. (getClosestPositionTo): New method. @@ -22033,16 +31587,16 @@ (adjustRow): New method. (breakView): New method. (getBreakWeight): New method. - + 2006-02-10 Roman Kennke - + * javax/swing/text/GapContent.java (updateUndoPositions): New method. * javax/swing/text/StringContent.java (updateUndoPositions): New method. - + 2006-02-10 Raif S. Naffah - + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(9)): Made it public. * gnu/java/security/jce/sig/RSAKeyFactory.java: New file. @@ -22051,16 +31605,16 @@ (engineGeneratePrivate): Likewise. (engineGetKeySpec): Likewise. (engineTranslateKey): Corrected order of MPIs and use ctors with 5 args. - + 2006-02-10 Robert Schuster - + * javax/swing/text/Utilities.java: (getTabbedTextOffset): Fixed usage of variable p0. (getPositionAbove): Rewritten. (getPositionBelow): Rewritten. - + 2006-02-09 Roman Kennke - + * javax/swing/text/BoxView.java (getAxis): Added @since tag. (setAxis): Added @since tag. @@ -22087,28 +31641,28 @@ (modelToView): Don't throw BadLocationException. This should really only be thrown if the position is outside the document model, not if it's outside the view's boundary. - + 2006-02-09 Audrius Meskauskas - + * tools/Makefile.am: Handle rmi and giop folders separately. - + 2006-02-09 David Gilbert - + * javax/swing/SpinnerDateModel.java: Updated API docs all over, * javax/swing/SpinnerNumberModel.java: Likewise. - + 2006-02-09 David Gilbert - + * javax/swing/SpinnerDateModel.java: Removed tabs, * javax/swing/SpinnerNumberModel.java: Likewise. - + 2006-02-09 Anthony Balkissoon - + * doc/unicode/SpecialCasing-4.0.0.txt: New file. * doc/unicode/UnicodeData-4.0.0.txt: New file. - + 2006-02-09 Wolfgang Baer - + Fixes bug #26081 * gnu/java/net/protocol/http/HTTPURLConnection.java: (isRedirect): Removed, moved to Response.java. @@ -22117,9 +31671,9 @@ codes 404 and 410 throw a FileNotFoundException. * gnu/java/net/protocol/http/Response.java (isError): New method. (isRedirect): New method, moved from HTTPURLConnection.java. - + 2006-02-09 Audrius Meskauskas - + * tools/Makefile.am: Add tools/gnu/classpath/tools/rmi folder. * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain it called from RMIC. * tools/gnu/classpath/tools/giop/grmic/Generator.java (getResource): @@ -22139,23 +31693,23 @@ tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: New files. * NEWS: Corrected entry about the tools. - + 2006-02-09 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (handleEvent): Added more to check to prevent assertion errors. * gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Likewise. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (handleEvent): Likewise. - + 2006-02-09 Mark Wielaard - + * javax/swing/JTable.java (tableChanged): Interpret null event as "everything changed". - + 2006-02-09 Roman Kennke - + * javax/swing/text/DefaultCaret.java (DocumentHandler.removeUpdate): When update policy is 'on eventqueue', and the update doesn't come from the @@ -22163,31 +31717,31 @@ valid. (moveDot): Make sure the new dot location is valid. (setDot): Set the mark the same as the dot. - + 2006-02-09 Roman Kennke - + * javax/swing/text/AbstractDocument.java (remove): Perform all operations within a write lock and in the correct order. - + 2006-02-09 Mark Wielaard - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Make sure max is creater than min, adjusting page_size if necessary. (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Likewise. - + 2006-02-09 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Added code to handle PaintEvent.UPDATE. Sun does not call update(Graphics g) on Panels. * gnu/java/awt/peer/gtk/GtkWindowPeer.java (handleEvent): New method. Added code to handle PaintEvent.UPDATE. Sun does not call update(Graphics g) on Panels. - + 2006-02-09 Roman Kennke - + * javax/swing/text/BoxView.java (myAxis): Made field private. (xLayoutValid): Replaced by layoutValid array. @@ -22257,14 +31811,14 @@ (replace): Added API docs. (forwardUpdate): Rewritten to only notify child views that need to be notified. - + 2006-02-09 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (RootView.paint): Call setSize() before painting the view. - + 2006-02-09 Ito Kazumitsu - + Fixes bug #26112 * gnu/regexp/RE.java(REG_REPLACE_USE_BACKSLASHESCAPE): New execution flag which enables backslash escape in a replacement. @@ -22320,9 +31874,9 @@ (getRequestProperties): Throw IllegalStateException if connected. (setRequestProperty): Call super method for exception tests. (addRequestProperty): Likewise. - + 2006-02-09 Wolfgang Baer - + * gnu/java/net/protocol/http/Request.java: (Request): Remove initialization of removed field. (requestBodyNegotiationThreshold): Removed now unused field. @@ -22341,18 +31895,18 @@ (setMinimum): Fixed test for updating value, (setMaximum): Likewise, (setStepSize): Likewise. - + 2006-02-08 Tom Tromey - + * tools/.cvsignore: Added Makefile.in. - + 2006-02-08 Audrius Meskauskas - + * java/rmi/server/RemoteRef.java, java/rmi/server/RemoteStub.java: Commented. - + 2006-02-08 David Gilbert - + * javax/swing/SpinnerDateModel.java (SpinnerDateModel(Date, Comparable, Comparable, int)): Added argument checks, @@ -22366,25 +31920,25 @@ (select): Fixed up code, added some checks to prevent errors. (dispatchEventImpl): Removed. This function is not needed. It causes several assertion errors. - + 2006-02-08 Roman Kennke - + * javax/swing/text/PlainView.java (drawLine): Call drawUnselectedText() with end offset - 1 to avoid drawing unnecessary characters. - + 2006-02-08 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (handleEvent): Fixed check to determine if height or width is less than 1. - + 2006-02-08 Audrius Meskauskas - + *tools/Makefile.am (ALL_TOOLS_FILES): Add $(TOOLS_HELPS). - + 2006-02-08 Audrius Meskauskas - + * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java, examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java: Documenting the code generator. @@ -22422,26 +31976,26 @@ tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: New files. - + 2006-02-07 David Gilbert - + * java/awt/BasicStroke.java: Updated API docs all over, * java/awt/doc-files/capjoin.png: New file. - + 2006-02-07 Lillian Angel - + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (handleEvent): Added check. Should not paint or update the component if it's width and height are both 0. - + 2006-02-07 Roman Kennke - + * javax/swing/text/AbstractDocument.java (insertString): Enclose locking/unlocking in try-finally block and also keep locked while notifying the listeners. - + 2006-02-07 Roman Kennke - + * javax/swing/text/GlyphView.java (GlyphView): Initialize startOffset and endOffset with -1 (indicating element boundary). @@ -22449,15 +32003,15 @@ (getEndOffset): Return element boundary if endOffset < 0. (createFragment): Set startOffset and endOffset fields of fragment if one of p0 or p1 is not at the element boundary. - + 2006-02-07 Roman Kennke - + * javax/swing/CellRendererPane.java (paintComponent): Enclosed painting in try finally to properly clean up even when throwing an exception. - + 2006-02-07 Roman Kennke - + * javax/swing/UIManager.java (listeners): Made this an instance of java.beans.PropertyChangeSupport instead of the obsoleted @@ -22469,9 +32023,9 @@ of actions "delete-next" and "delete-previous", added new TextAction implementations for "selection-begin", "selection-begin-line", "selection-end" and "selection-end-line". - + 2006-02-07 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (paint): Acquire read lock on the document before calling paintSafely. @@ -22479,24 +32033,24 @@ (paintBackground): Implemented to actually paint the background. (update): Overridden to _not_ paint the background. This is done in paintBackground in this UI. - + 2006-02-07 Roman Kennke - + * javax/swing/text/View.java (forwardUpdate): Don't notify newly added child views as specified. - + 2006-02-07 Robert Schuster - + * gnu/java/beans/decoder/DefaultExceptionListener.java: Removed. - + 2006-02-07 Roman Kennke - + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.insert): Only register change when the element actually changed. - + 2006-02-07 Raif S. Naffah - + * gnu/java/security/key/KeyPairCodecFactory.java (getEncodingName): New method. (getEncodingShortName): Likewise. @@ -22535,9 +32089,9 @@ * gnu/java/security/der/DERWriter.java (writeBitString): Use writeLength() instead of write(). return buf.length + 1 instead of buf.length. - + 2006-02-07 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (RootView.preferenceChange): Changed view parameter to view so that it doesn't hide a field of that class. @@ -22547,21 +32101,21 @@ (updateHandler): Made field private. (getVisibleEditorRect): Removed unneeded local variable that shadowed a field with the same name and purpose. - + 2006-02-07 Robert Schuster - + * javax/swing/text/JTextComponent.java: (getSelectedText): Calculate offset and use that as second argument. - + 2006-02-07 Roman Kennke - + * javax/swing/JTextPane.java (setCharacterAttributes): Replace input attributes when replace==true. - + 2006-02-07 Roman Kennke - + * java/awt/Component.java (firePropertyChange(String,byte,byte)): Made method public. (firePropertyChange(String,char,char)): Made method public. @@ -22569,28 +32123,28 @@ (firePropertyChange(String,long,long)): Made method public. (firePropertyChange(String,float,float)): Made method public. (firePropertyChange(String,double,double)): Made method public. - + 2006-02-06 Tom Tromey - + * gnu/CORBA/NamingService/NamingServiceTransient.java (main): Use 2006. * gnu/java/rmi/registry/RegistryImpl.java (version): Use 2006. - + 2006-02-06 Anthony Green - + * gnu/xml/aelfred2/XmlParser.java: Add missing break;. - + 2006-02-07 Raif S. Naffah - + * .settings/org.eclipse.jdt.core.prefs: Force a line split on extends and implements. Force a white-space after unary operators. Don't force a new-line after @params. Add new-line at end-of-file. * scripts/eclipse-gnu.xml: Export version of the above named GNU. - + 2006-02-07 Raif S. Naffah - + * gnu/java/security/provider/GnuDSAPublicKey.java (getEncoded): Use Registry constant. * gnu/java/security/provider/GnuDSAPrivateKey.java (getEncoded): @@ -22629,18 +32183,18 @@ (setPropertiesFromAttributes): Use null for background when no background is set. StyleConstants.getBackground() doesn't work for this, because it returns Color.BLACK in that case. - + 2006-02-06 Roman Kennke - + * java/awt/Container.java (changeSupport): Removed duplicate (from Component) field. (addPropertyChangeListener): Call super. - + 2006-02-06 Ito Kazumitsu - + * java/util/regex/Matcher.java(matches): set RE.REG_TRY_ENTIRE_MATCH as an execution flag of getMatch. - + 2006-02-06 Ito Kazumitsu Fixes bug #25812 @@ -22669,9 +32223,9 @@ * gnu/regexp/RETokenWordBoundary.java: Likewise. * gnu/regexp/RETokenIndependent.java: New file. * gnu/regexp/RETokenLookBehind.java: New file. - + 2006-02-06 Roman Kennke - + * java/awt/Component.java (firePropertyChange(String,byte,byte)): New method. (firePropertyChange(String,char,char)): New method. @@ -22704,9 +32258,9 @@ (firePropertyChange(String,float,float)): Removed. (firePropertyChange(String,long,long)): Removed. (firePropertyChange(String,short,short)): Removed. - + 2006-02-06 Roman Kennke - + * javax/swing/event/SwingPropertyChangeSupport.java (listeners): Removed field. (propertyListeners): Removed field. @@ -22718,19 +32272,19 @@ (getPropertyChangeListeners): Removed methods. (firePropertyChange): Removed methods. (hasListeners): Removed methods. - + 2006-02-06 Jeroen Frijters - + Fixes PR 25313 * java/net/InetAddress.java (readResolve): Implemented. - + 2006-02-06 Jeroen Frijters - + Fixes PR 26121 * java/io/ObjectInputStream.java (readNextBlock()): Handle TC_RESET. - + 2006-02-06 Wolfgang Baer * javax/print/attribute/standard/Compression.java, @@ -22762,22 +32316,22 @@ Throw ConnectException instead of IOException if connection failed. * native/jni/java-net/javanet.h: Add a define for java.net.ConnectException - + 2006-02-05 Mark Wielaard - + Fixes bug #26101 reported by Egon Willighagen * javax/swing/DefaultListCellRenderer.java (getListCellRendererComponent): Turn null value into empty string. - + 2006-02-04 Ito Kazumitsu - + * gnu/regexp/RETokenNamedProperty.java(getHandler): Check for a Unicode block if the name starts with "In". (UnicodeBlockHandler): New inner class. - + 2006-02-04 Roman Kennke - + * java/awt/Container.java (getComponentZOrder): New method. (setComponentZOrder): New method. @@ -22833,12 +32387,12 @@ (USE_DEFAULTS): more documentation to clarify behavior. (setup): amended to handle new attribute. * gnu/java/security/util/PRNG.java: New file. - + 2006-02-03 Lillian Angel - + * javax/swing/plaf/basic/BasicColorChooserUI.java: chooser field should be protected, not package-private. - + 2006-02-03 Lillian Angel * javax/swing/text/DefaultStyledDocument.java @@ -22854,20 +32408,20 @@ when fracturing. (getEditForParagraphAndIndex): No need to check index. We should use the same edit for each paragraph. - + 2006-02-03 Mark Wielaard - + * javax/swing/event/SwingPropertyChangeSupport.java (propertyListeners): Change type to HashMap. (SwingPropertyChangeSupport): Allocate HashMap. - + 2006-02-03 Raif S. Naffah - + * java/security/KeyPairGenerator.java (getInstance): Test for instanceof KeyPairGenerator before KeyPairGeneratorSpi. - + 2006-02-02 Roman Kennke - + * javax/swing/RepaintManager.java Made fields private. (RepaintWorker.run): Enclosed work stuff in try finally block in @@ -22895,15 +32449,15 @@ (paintDirtyRegions): Compute repaint order here, based on size of damaged regions. Fine tuned synchronization. Avoid use of working copies of dirtyComponent. - + 2006-02-02 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertUpdate): JoinNextDirection should push the 'next' paragraph on the stack. - + 2006-02-02 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertUpdate): Rewrote code for Originate. This prevents leaves being created multiple times. If it is on the last @@ -22912,44 +32466,44 @@ (insertContentTag): Rewrote to add new leaf directly if this is a branch with no children. Otherwise, it recreates the remainder of the tree as before. - + 2006-02-02 Ito Kazumitsu - + * gnu/regexp/REMatch.java(REMatchList): New inner utility class for making a list of REMatch instances. * gnu/regexp/RETokenOneOf.java(match): Rewritten using REMatchList. * gnu/regexp/RETokenRepeated.java(findDoables): New method. (match): Rewritten using REMatchList. (matchRest): Rewritten using REMatchList. - + 2006-02-02 Audrius Meskauskas - + * examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java (friendsMove): Call repaint() only after endOfGame is assigned. - + 2006-02-02 Mark Wielaard - + Fixes bug #25769 reported by Artemus Harper * java/util/AbstractCollection.java (toString): Only use Iterator, check whether collection contains itself. - + 2006-02-01 Casey Marshall - + Partial fix for PR classpath/25143. * javax/crypto/EncryptedPrivateKeyInfo.java (algName): new field. (): fill in `algName,' derive `algOid' from `algName.' (getOid): new method. (encode): embed NULL value for parameters if `params' is `null.' - + 2006-02-01 Casey Marshall - + Tag check and OTHER_NAME fixes suggested by Rafael Teixeira . * gnu/java/security/x509/ext/GeneralNames.java (): fix tag check; fix OTHER_NAME parsing; fix DIRECTORY_NAME parsing. - + 2006-02-01 Casey Marshall - + toString fix suggested by Rafael Teixeira . * gnu/java/security/der/DERValue.java (getLength, getEncoded, getEncodedLength): throw an exception, @@ -22962,28 +32516,28 @@ directly. 2006-02-01 Tom Tromey - + * java/security/Security.java (loadProviders): Use system class loader. - + 2006-02-01 Mark Wielaard - + * gnu/regexp/RE.java (getRETokenNamedProperty): Chain exception. * gnu/regexp/RETokenNamedProperty.java (LETTER, MARK, SEPARATOR, SYMBOL, NUMBER, PUNCTUATION, OTHER): New final byte[] fields. (getHandler): Check for grouped properties L, M, Z, S, N, P or C. (UnicodeCategoriesHandler): New private static class. - + 2006-02-01 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java: Removed unneeded fields. (insertUpdate): Removed field initialization. (insertContentTag): Rewrote part of function. Still not complete. - + 2006-02-01 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertParagraph): Cleaned up code. (insertFirstContentTag): Fixed call to recreateLeaves. @@ -23002,49 +32556,49 @@ scripts/unicode-blocks.pl and doc/unicode/Blocks-4.0.0.txt. * scripts/unicode-blocks.pl: Copied this over from the generics branch but replaced some 1.5-only features (such as enum). - + 2006-01-31 Roman Kennke - + * javax/swing/text/PasswordView.java (drawSelectedText): Use drawEchoCharacter() method to draw echo character. (drawUnselectedText): Use drawEchoCharacter() method to draw echo character. - + 2006-01-31 Roman Kennke - + * javax/swing/JTextField.java (getPreferredSize): Also include textfield's insets in width calculation. - + 2006-01-31 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (getPreferredSize): Include the textcomponent's insets in preferredSize. - + 2006-01-31 Roman Kennke - + * javax/swing/table/DefaultTableCellRenderer.java (getTableCellRendererComponent): Moved setting of the value into setValue(). Removed (bogus) special handling of JTextField values. (setValue): Made ?: statement more clear by rewriting it with if .. else. - + 2006-01-31 Roman Kennke - + * javax/swing/JLayeredPane.java (insertIndexForLayer): Fixed algorithm to correctly determine inser index for positions >= 0. (addImpl): Fixed API docs for the index parameter. - + 2006-01-31 Mark Wielaard - + * java/net/URI.java (getURIGroup): Check for null to see whether group actually exists. - + 2006-01-31 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (changeUpdate): Fixed calls to split to incorporate new parameter. @@ -23053,22 +32607,22 @@ (insertContentTag): Fixed check to use recreateLeaves. Added a FIXME comment. (split): Added a new parameter for edits. - + 2006-01-31 Roman Kennke - + * javax/swing/plaf/basic/BasicRootPaneUI.java (installDefaults): Don't install a background color here. - + 2006-01-31 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insert): Removed comment. (insertUpdate): Added comment. (recreateLeaves): Removed call to push newBranch onto the stack. This does not need to be done here. - + 2006-01-31 Chris Burdess - + * gnu/xml/stream/SAXParser.java, gnu/xml/stream/UnicodeReader.java, gnu/xml/stream/XIncludeFilter.java, @@ -23105,15 +32659,15 @@ * javax/swing/plaf/text/Utilites.java (drawTabbedText): The coordinates denote the baseline of the text not the upper left corner. - + 2006-01-31 Roman Kennke - + * javax/swing/plaf/basic/BasicTextUI.java (createKeymap): Don't store KeyBindings[] as focusInputMap in UIManager. Added FIXME regarding the implementation of this method. - + 2006-01-30 David Gilbert - + * examples/gnu/classpath/examples/swing/ButtonDemo.java (ButtonDemo): Move content initialisation to new method, (initFrameContent): New method, @@ -23123,15 +32677,15 @@ * examples/gnu/classpath/examples/swing/ScrollBarDemo.java: Likewise, * examples/gnu/classpath/examples/swing/SliderDemo.java: Likewise, * examples/gnu/classpath/examples/swing/TextFieldDemo.java: Likewise. - + 2006-01-30 David Gilbert - + * examples/gnu/classpath/examples/swing/Demo.java (Demo): Set frame size, (mkButtonBar): Removed stacked sub-panels. - + 2006-01-30 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java: Added new fields. (insert): Initialized fields. Removed call to addEdit, @@ -23149,16 +32703,16 @@ (recreateLeaves): Fixed code and cleaned it up a bit. (insertFracture): Set fracNotCreated field. (addEdit): Removed, this method is not needed. - + 2006-01-30 Roman Kennke - + * javax/swing/JRootPane.java (RootLayout.prefSize): Removed caching for preferredSize. (RootLayout.invalidateLayout): Likewise. (RootLayout.preferredLayoutSize): Likewise. - + 2006-01-30 Roman Kennke - + PR classpath/26035 * javax/swing/JFrame.java (frameInit): Handle the defaultLookAndFeelDecorated flag. @@ -23185,23 +32739,23 @@ IllegalArgumentException when orientation is illegal. (JProgressBar(int, int, int)): Likewise and throw exception. (setOrientation): Likewise. - + 2006-01-30 Roman Kennke - + * javax/swing/ViewportLayout.java (minimumLayoutSize): Rewritten to unconditionally return (4,4). - + 2006-01-30 Mark Wielaard - + * javax/swing/JProgressBar.java (orientation): Always set by constructor. (JProgressBar(int)): Document default on 'illegal' value. (JProgressBar(int, int, int)): Likewise and set orientation to HORIZONTAL when 'illegal'. (setOrientation): Likewise. - + 2006-01-30 Roman Kennke - + * javax/swing/plaf/basic/BasicListUI.java (ListDataHandler.contentsChanged): Update the updateLayoutStateNeeded flag. @@ -23213,30 +32767,30 @@ listeners on new list model. (maybeUpdateLayoutState): Don't consider the validation state of the list. - + 2006-01-30 Mark Wielaard - + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether sortKeys is null. - + 2006-01-30 Roman Kennke - + * javax/swing/JLayeredPane.java (insertIndexForLayer): Fixed algorithm to correctly insert components within different layers and -1 position. - + 2006-01-30 Mark Wielaard - + * doc/api/Makefile.am (create_html): Add -validhtml. - + 2006-01-30 Roman Kennke - + * javax/swing/JLayeredPane.java (insertIndexForLayer): Fixed algorithm to correctly insert components within same layer and -1 position. - + 2006-01-30 Ito Kazumitsu - + Fixes bug #24876 * gnu/regexp/gnu/regexp/RE.java(REG_TRY_ENTIRE_MATCH): New execution flag. @@ -23260,7 +32814,7 @@ * gnu/javax/crypto/mac/HMac.java (clone): Clone ipadHash, opadHash, and the ipad buffer. * gnu/javax/crypto/mac/BaseMac.java (clone): Clone underlyingHash. - + 2006-01-30 Audrius Meskauskas PR 26027 @@ -23277,19 +32831,19 @@ * java/beans/Encoder.java: (setExceptionListener): Use shared DefaultExceptionListener instance. - + 2006-01-29 Roman Kennke - + * javax/swing/ScrollPaneLayout.java (minimumLayoutSize): Rewritten to match JDKs behaviour. - + 2006-01-29 Mark Wielaard - + * java/net/SocketPermission.java (setActions): Trim and lower case action. - + 2006-01-29 Raif S. Naffah - + * gnu/java/security/util/Prime2.java (passEulerCriterion): Was incorrectly failing primality test for some known primes. Fixed. (passFermatLittleTheorem): Removed. @@ -23297,55 +32851,55 @@ (isProbablePrime): Cache primes that pass the primality tests. Use BigInteger.isProbablePrime(int) for primality tests. (debugBI): New static debugging method. - + 2006-01-28 Roman Kennke - + * javax/swing/plaf/basic/BasicListUI.java (updateLayoutState): Removed unneeded special case for VERTICAL. - + 2006-01-28 Roman Kennke - + * javax/swing/plaf/basic/BasicListUI.java (getCellBounds): Determine correct list width when having a layoutOrientation of VERTICAL. (maybeUpdateLayoutState): Don't consider the validation state of the list. - + 2006-01-28 Mark Wielaard - + Reported by Dimitri Fontaine * java/awt/print/NoPrinterJob.java: New (fake) class. * java/awt/print/PrinterJob.java (getPrinterJob): Return NoPrinterJob. - + 2006-01-28 Mark Wielaard - + * gnu/javax/crypto/mac/HMac.java (clone): Cast cloned ipad to byte[]. - + 2006-01-28 Audrius Meskauskas - + * gnu/classpath/examples/swing/Demo.java (mkTree): Make a larger tree. (addChildren): New method. - + 2006-01-28 Raif S. Naffah - + * gnu/javax/crypto/jce/mac/MacAdapter.java (MacAdapter(IMac, Map)): New constructor for cloning purposes. (clone): New implementation that ensures cloning. * gnu/javax/crypto/mac/HMac.java (clone): Implement Cloneable. * gnu/java/security/Registry.java: Changed value of GNU_SECURITY to "GNU". - + 2006-01-27 Audrius Meskauskas - + * javax/swing/plaf/basic/BasicTreeUI.java (updateCachedPreferredSize): Call updateCurrentVisiblePath. - + 2006-01-27 Roman Kennke - + * examples/gnu/classpath/examples/swing/MiniDemo.java: New file. - + 2006-01-27 Roman Kennke - + * examples/gnu/classpath/examples/swing/ButtonDemo.java (createContent): Only create new content if we don't have one already. @@ -23367,9 +32921,9 @@ * examples/gnu/classpath/examples/swing/TextFieldDemo.java (createContent): Only create new content if we don't have one already. - + 2006-01-27 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertFirstContentTag): Removed check, not needed. This still needs to be fixed for some cases. Added call to @@ -23379,19 +32933,19 @@ leaves after the initial insertion. This still needs more work. (handleInsertAfterNewline): Removed else, not needed. - + 2006-01-27 Roman Kennke - + * javax/swing/JLayeredPane.java (inserIndexForLayer): Fixed direction of search. - + 2006-01-27 Audrius Meskauskas - + * javax/swing/JTree.java (constructor): Put EXPANDED for the root node into nodeStates. - + 2006-01-27 Roman Kennke - + * javax/swing/JLayeredPane.java (FRAME_CONTENT_LAYER): Made field final. (componentToLayer): Made field private. @@ -23427,9 +32981,9 @@ statement. * java/lang/String.java: (String(int[], int, int)): New API constructor. - + 2006-01-27 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insert): Moved this loop to insertUpdate. (insertUpdate): Likewise. Fixed variable @@ -23457,21 +33011,21 @@ * vm/reference/java/io/VMObjectInputStream.java (loaderAction.run): If no user class loaders found on the stack, return the thread context class loader. (currentClassLoader): Explained. - + 2006-01-27 Roman Kennke - + * java/awt/Container.java (swapComponents): Removed unspecified method. * javax/swing/JLayeredPane.java (setPosition): Reimplemented correctly. (swapComponents): New helper method. - + 2006-01-27 Mark Wielaard - + * configure.ac: Set version to 0.21-pre. - + 2006-01-27 Roman Kennke - + PR classpath/25968 * javax/swing/JComponent.java (findOverlapFreeParent): Improved the algorithm to make better use @@ -23482,14 +33036,14 @@ (computeBlit): Fixed check to decide if blitting is possible or not, so that it doesn't blit if nothing was scrolled (in order to update the buffer when the view updates itself). - + 2006-01-27 Roman Kennke - + * javax/swing/plaf/metal/MetalFileChooserUI.java (createList): Don't set scrollbar policy. - + 2006-01-27 Roman Kennke - + * javax/swing/plaf/basic/BasicPopupMenuUI.java (PopupMenuHandler.popupMenuWillBecomeInvisible): Fixed to also handle non-Swing toplevel containers. @@ -23498,9 +33052,9 @@ * javax/swing/Popup.java (JWindowPopup.JWindowPopup()): Correctly set parent window on popup. - + 2006-01-27 Roman Kennke - + * javax/swing/plaf/basic/BasicInternalFrameUI.java (InternalFramePropertyChangeListener): Don't implement VetoableChangeListener. @@ -23509,9 +33063,9 @@ (installListeners): Don't install vetoableChangeListener. * javax/swing/event/DocumentEvent.java (EventType): Made class final. - + 2006-01-27 Roman Kennke - + * javax/swing/SwingUtilities.java (calculateInsetArea): Removed unneeded method. The method calculateInnerArea has the same purpose and is actually specified. @@ -23519,9 +33073,9 @@ * javax/swing/plaf/basic/BasicMenuItemUI.java (paintMenuItem): Use SwingUtilities.calculateInnerArea() instead of SwingUtilities.calculateInsetArea(). - + 2006-01-27 Roman Kennke - + * javax/swing/plaf/basic/BasicTreeUI.java (installDefaults): Removed requestFocusInWindow() call. * javax/swing/JComponent.java @@ -23530,9 +33084,9 @@ (printChildren): Made method protected. (printComponent): Made method protected. (printBorder): Made method protected. - + 2006-01-27 Roman Kennke - + * javax/swing/AbstractButton.java (ButtonChangeListener.ButtonChangeListener()): Made constructor package private. @@ -23572,26 +33126,26 @@ (AccessibleJWindow.AccessibleJWindow): Made constructor protected. * javax/swing/RepaintManager.java (RepaintWorker): Made class private. - + 2006-01-27 Roman Kennke - + * gnu/java/awt/peer/swing/SwingComponentPeer.java (handleEvent): Removed debug statement. - + 2006-01-27 Roman Kennke - + * java/awt/Component.java (coalescePaintEvents): Don't try to optimize coalescing. This hurts more than it helps. - + 2006-01-26 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (createFracture): Commented out a known problem, added FIXME tag. - + 2006-01-26 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer): Added fields. (remove): Initialized pos. @@ -24084,9 +33638,9 @@ * java/lang/Character.java: (codePointCount(char[], int, int)): New API method. (codePointCount(CharSequence, int, int)): Likewise. - + 2006-01-25 Audrius Meskauskas - + PR 25205 * javax/swing/DefaultCellEditor.java (getTreeCellEditorComponent): Rewritten. @@ -24121,13 +33675,13 @@ (stopCellEditing): Rewritten. (stopEditingTimer): New method. (valueChanged): Do not configure editing component here. - + 2006-01-25 Roman Kennke - + * javax/swing/text/html/FormView.java: New file. - + 2006-01-25 Roman Kennke - + * javax/swing/JSplitPane.java (addImpl): Call resetToPreferredSizes() when no dividerLocation has been set in order to set an initial layout. @@ -24146,17 +33700,17 @@ * javax/swing/plaf/basic/BasicLookAndFeel.java (initComponentDefaults): Added SplitPaneDivider.draggingColor default value. - + 2006-01-25 Roman Kennke - + * javax/swing/JSplitPane.java (addImpl): Removed invalidate() and layout() call. * javax/swing/plaf/basic/BasicSplitPaneUI.java (PropertyHandler.propertyChange): Remove layoutContainer() and repaint() call. - + 2006-01-25 Roman Kennke - + * configure.ac * native/Makefile.am * native/jni/classpath/Makefile.am @@ -24259,9 +33813,9 @@ * native/target/posix/target_posix_network.c * native/target/posix/target_posix_network.h: Removed. - + 2006-01-24 Wolfgang Baer - + * javax/print/PrintService.java, * javax/print/DocPrintJob.java, * javax/print/CancelablePrintJob.java: @@ -24293,32 +33847,32 @@ * java/beans/DefaultPersistenceDelegate: (initialize): Added call to superclass' implementation, added early return. - + 2006-01-24 Tom Tromey - + * java/util/regex/PatternSyntaxException.java: Added @since. * java/util/regex/Matcher.java (Matcher): Implements MatchResult. * java/util/regex/MatchResult.java: New file. - + 2006-01-24 David Gilbert - + * javax/swing/text/StringContent.java: Added API docs all over, plus minor reformatting. - + 2006-01-24 Gary Benson - + * java/net/SocketPermission.java: Implemented serialization. - + 2006-01-24 David Gilbert - + * javax/swing/text/StringContent.java (remove): Modified argument check to prevent removal of last character, (getChars): Removed null argument check to allow NullPointerException, added API docs, (checkLocation): Added API docs and white space. - + 2006-01-23 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertUpdate): Should only call createFracture with StartTagType. Added check. @@ -24354,20 +33908,20 @@ * javax/swing/plaf/synth/package.html: New files. Added the public API and framework classes for the Synth look and feel. - + 2006-01-23 David Gilbert - + * javax/swing/text/Segment.java: API docs all over. - + 2006-01-23 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (split): Should not use createLeafElement and createBranchElement here. We should just instaniate the LeafElements and BranchElements instead to avoid the case where create*Element is overridden. - + 2006-01-23 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertFirstContentTag): Moved check outside of if-statement. This should be checked before creating the new leaf element. @@ -24377,18 +33931,18 @@ greater than the offset, then we need to create a temp leaf as a place holder. Otherwise, the leaf elements should be created normally. - + 2006-01-23 Gary Benson - + * java/net/SocketPermission.java: Almost completely rewritten. - + 2006-01-23 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insertFracture): Set temp leaf's attributes to prevent an NPE. - + 2006-01-23 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java: Formatted ElementBuffer and added new fields. (remove): Added check to determine if length is 0. @@ -24461,14 +34015,14 @@ an empty string matched. Added special handling of {0}. * gnu/regexp/RETokenBackRef.java(match): Sets empty flag when an empty string matched. Fixed the case insensitive matching. - + 2006-01-21 Roman Kennke - + * javax/swing/plaf/metal/MetalSplitPaneDivider.java (paint): Added painting of border if one is installed. - + 2006-01-21 Roman Kennke - + PR classpath/25843: * javax/swing/plaf/basic/BasicBorders.java (getSplitPaneDividerBorder): Use new border constructor @@ -24506,52 +34060,52 @@ (getMinimumDividerLocation): Fixed calculation of minimum location. 2006-01-21 Guilhem Lavaux - + * m4/acinclude.m4 (CLASSPATH_WITH_GLIBJ): Add support for fastjar. - + * lib/Makefile.am: Likewise. - + 2006-01-21 Roman Kennke - + * javax/swing/PopupFactory.java (getPopup): If there is no Swing root found in any way, use a heavyweight popup. This is useful for mixed Swing/AWT GUIs, or for the Swing AWT peers. - + 2006-01-20 Tom Tromey - + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Read response body for redirect. - + 2006-01-20 Chris Burdess - + * gnu/java/net/protocol/http/HTTPURLConnection.java: Don't follow redirects on 304. - + 2006-01-20 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (pad): Removed, not needed. (printElements): Likewise. (printEdit): Likewise. - + 2006-01-20 Roman Kennke - + * javax/swing/text/DefaultFormatter.java (DefaultFormatter): Don't set a value class. - + 2006-01-19 Audrius Meskauskas - + * javax/swing/DefaultCellEditor.java: Commented. - + 2006-01-19 Roman Kennke - + * javax/swing/JOptionPane.java Added cast to Frame for JDialog constructor. - + 2006-01-19 Roman Kennke - + * javax/swing/JWindow.java (JWindow(Window)): Fixed to accept null owner argument. (JWindow(Window,GraphicsConfiguration)): Fixed to accept null @@ -24565,22 +34119,22 @@ is called. * javax/swing/JFileChooser.java (createDialog): Added cast to Frame for JDialog constructor. - + 2006-01-19 Audrius Meskauskas - + * javax/swing/JTable.java (rowAtPoint): Rewritten. - + 2006-01-19 Roman Kennke - + * javax/swing/JWindow.java: Added API docs to the constructors. - + 2006-01-19 Audrius Meskauskas - + * javax/swing/JTable.java: Commenting method headers. (EditorUpdateTimer): Removed. - + 2006-01-19 Roman Kennke - + * javax/swing/JDialog.java (JDialog()): Call SwingUtilities.getOwnerFrame() with null. (JDialog(Frame,String,boolean,GraphicsConfiguration)): Call @@ -24600,9 +34154,9 @@ * javax/swing/SwingUtilities.java (getOwnerFrame): Changed to take a owner parameter that is returned as owner frame when not null. - + 2006-01-19 Roman Kennke - + * gnu/java/awt/peer/swing/SwingFramePeer.java (handleMouseEvent): Fixed handling of mouse events. (handleMouseMotionEvent): Fixed handling of mouse events. @@ -24693,27 +34247,27 @@ * java/security/SignatureSpi.java: Likewise. * java/security/SignedObject.java: Likewise. * java/security/Signer.java: Likewise. - + 2006-01-18 Roman Kennke - + * configure.ac: Added --enable-posix-layer option to enable build of the posix target layer. - + 2006-01-18 Roman Kennke - + * native/jni/java-net/java_net_VMInetAddress.c (Java_java_net_VMInetAddress_lookupInaddrAny): Use target native macro for INADDR_ANY. - + 2006-01-18 Roman Kennke - + * native/jni/java-util/java_util_VMTimeZone.c: (Java_java_util_VMTimeZone_getSystemTimeZoneId): Rewritten to use target native layer. (jint_to_charbuf): Removed unneeded helper function. - + 2006-01-18 Roman Kennke - + * native/jni/java-nio/gnu_java_nio_VMPipe.c: Removed unnecessary include. * native/jni/java-nio/gnu_java_nio_VMSelector.c: @@ -24781,14 +34335,14 @@ * native/jni/java-net/javanet.h: Defined SOCKET_TIMEOUT_EXCEPTION, PORT_UNREACHABLE_EXCEPTION and SOCKOPT_SO_BROADCAST. - + 2006-01-17 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (insert): Cleaned up loop. No need to make so many calls to getAddedElements and getRemovedElements. (insertFracture): Removed unneeded array. - + 2006-01-17 Lillian Angel * javax/swing/text/JTextComponent.java @@ -24806,9 +34360,9 @@ (paste): Implemented. (replaceText): Implemented. (selectText): Implemented. - + 2006-01-17 Anthony Balkissoon - + * javax/swing/text/DefaultStyledDocument.java: (pad): New debugging method. (printElements): Likewise. @@ -24856,9 +34410,9 @@ * javax/swing/text/StyleContent.java: (SmallAttributeSet.toString): Fixed an off-by-one error in the loop that was causing an ArrayOutOfBoundsException. - + 2006-01-17 Roman Kennke - + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: (Java_gnu_java_nio_channels_FileChannelImpl_init): Improved exception messages a little. @@ -24897,9 +34451,9 @@ to use the corresponding target native macro. (Java_gnu_java_nio_channels_FileChannelImpl_unlock): Reimplemented to use the corresponding target native macro. - + 2006-01-17 Lillian Angel - + * javax/swing/text/DefaultTextUI.java: Added deprecated tag. * javax/swing/text/JTextComponent.java @@ -24938,29 +34492,29 @@ (selectText): Likewise. (setAttributes): Likewise. (getAccessibleContext): Implemented. - + 2006-01-17 Ito Kazumitsu - + Fixes bug #25817 * gnu/regexp/RETokenRange.java(constructor): Keep lo and hi as they are. (match): Changed the case insensitive comparison. - + 2006-01-17 Ito Kazumitsu - + * gnu/regexp/RETokenChar.java(chain): Do not concatenate tokens whose insens flags are diffent. - + 2006-01-17 Roman Kennke - + * native/target/generic/target_generic_network.c: (targetGenericNetwork_receive): Fixed signature to match the corresponding .h file. (targetGenericNetwork_receiveWithAddressPort): Fixed signature to match the corresponding .h file. - + 2006-01-17 Roman Kennke - + * native/jni/classpath/jcl.c: (JCL_malloc): Replaced calls to malloc with the corresponding target layer macro. @@ -25022,9 +34576,9 @@ (targetGenericNetwork_receive): Fixed signature to use signed chars for buffer parameter to avoid warning when passing a jbyte to the function. - + 2006-01-17 David Gilbert - + * javax/swing/text/StyleConstants.java (getAlignment): Removed isDefined() check, so that resolving parent is used for lookup, @@ -25060,9 +34614,9 @@ * gnu/java/net/protocol/http/Request.java (createResponseBodyStream): Remove Content-Encoding for compressed streams. - + 2006-01-16 Chris Burdess - + * gnu/xml/stream/XMLParser.java, gnu/xml/stream/XMLStreamWriterImpl.java: Thoroughly check XMLStreamWriter arguments for conformance to the XML specifications. @@ -25116,25 +34670,25 @@ * native/target/generic/Makefile.am: Include new memory and math layer. * native/target/posix/Makefile.am: New file. Includes posix in dist. - + 2006-01-16 Ito Kazumitsu - + Fixes bug #22884 * gnu/regexp/RE.java(initialize): Parse embedded flags. * gnu/regexp/RESyntax.java(RE_EMBEDDED_FLAGS): New syntax bit. - + 2006-01-16 Roman Kennke - + * native/target/generic/target_generic_network.c: Fixed typo. * native/target/generic/target_generic_network.h: Fixed typo. - + 2006-01-16 Nicolas Geoffray - + * doc/vmintegration.texinfo: Updated subsection of the java.lang.InstrumentationImpl documentation. - + 2006-01-16 Roman Kennke - + * native/target/RTEMS/target_native.h, * native/target/RTEMS/target_native_file.h, * native/target/RTEMS/target_native_io.h, @@ -25143,9 +34697,9 @@ * native/target/RTEMS/target_native_misc.h, * native/target/RTEMS/target_native_network.h: New files. Implement the target native layer for the RTEMS platform. - + 2006-01-16 Roman Kennke - + * native/target/SunOS/target_native.h, * native/target/SunOS/target_native_file.h, * native/target/SunOS/target_native_io.h, @@ -25154,9 +34708,9 @@ * native/target/SunOS/target_native_misc.h, * native/target/SunOS/target_native_network.h: New files. Implement the target native layer for the SunOS platform. - + 2006-01-16 Roman Kennke - + * native/target/MinGW/target_native.h, * native/target/MinGW/target_native_file.h, * native/target/MinGW/target_native_io.h, @@ -25166,9 +34720,9 @@ * native/target/MinGW/target_native_network.h: New files. Implement the target native layer for the MinGW platform. - + 2006-01-16 Audrius Meskauskas - + PR 25770 * javax/swing/DefaultCellEditor.java (delegate): Assign new instance immediately. @@ -25258,13 +34812,13 @@ * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: Likewise. * native/target/generic/target_generic_file.h: Likewise. - + 2006-01-16 David Gilbert - + * javax/swing/text/MutableAttributeSet.java: Updated API docs all over. - + 2006-01-16 David Gilbert - + * javax/swing/text/SimpleAttributeSet.java (SimpleAttributeSet()): Initialise storage directly, (SimpleAttributeSet(AttributeSet)): Removed null check and documented @@ -25272,27 +34826,27 @@ (containsAttribute): If key is found locally, don't check resolving parent if the value doesn't match, (getAttribute): Removed redundant instanceof and cast. - + 2006-01-16 Gary Benson - + * java/lang/System.java (setSecurityManager): Ensure policy files are loaded before a security manager is put in place. - + 2006-01-16 David Gilbert - + * javax/swing/text/SimpleAttributeSet.java: Updated API docs all over. - + 2006-01-16 Wolfgang Baer - + * javax/print/attribute/standard/MediaSize.java: (static_initializer): Added comment. (MediaSize): Added javadoc to mention cache registration. (MediaSize): Likewise. (MediaSize): Likewise. (MediaSize): Likewise. - + 2006-01-16 Raif S. Naffah - + PR classpath/25202 * gnu/javax/security/auth/login/ConfigFileTokenizer.java: New class. * gnu/javax/security/auth/login/ConfigFileParser.java: New class. @@ -25305,6 +34859,19 @@ (getConfig(): replaced calls to NullConfiguration with GnuConfiguration. +2006-01-15 Tom Tromey + + * javax/swing/text/html/HTMLDocument.java (parseBuffer): Genericized. + * javax/swing/text/StyleContext.java (removeAttributes): Genericized. + * java/beans/PersistenceDelegate.java (initialize): Genericized. + * java/beans/Encoder.java (getPersistenceDelegate): Genericized. + (setPersistenceDelegate): Likewise. + +2006-01-15 Wolfgang Baer + + * javax/print/attribute/standard/PrinterStateReasons.java: + (printerStateReasonSet): Genericize the return type. + 2006-01-15 Audrius Meskauskas * javax/swing/table/DefaultTableCellRenderer.java @@ -25321,19 +34888,19 @@ Fixes bug #25387 * javax/print/Doc.java: Added and enhanced documentation. * javax/print/SimpleDoc.java: New file. - + 2006-01-14 Wolfgang Baer - + * javax/print/attribute/standard/MediaSize.java: (Other.TABLOID): New MediaSize added in 1.5 - + 2006-01-14 Chris Burdess - + * gnu/xml/stream/SAXParser.java: Ensure that parser is reset correctly when I/O and runtime exceptions occur during parsing. - + 2006-01-13 Roman Kennke - + * gnu/java/awt/peer/swing/SwingButtonPeer.java, * gnu/java/awt/peer/swing/SwingCanvasPeer.java, * gnu/java/awt/peer/swing/SwingComponent.java, @@ -25350,37 +34917,37 @@ * gnu/java/awt/peer/swing/SwingWindowPeer.java, * gnu/java/awt/peer/swing/package.html: New files. Implemented some basic AWT peers based on Swing. - + 2006-01-13 Roman Kennke - + * java/awt/peer/ComponentPeer.java: Added API docs all over. - + 2006-01-13 Roman Kennke - + * java/awt/MenuComponent.java: Reformatted to better match our coding style. - + 2006-01-13 Roman Kennke - + * java/awt/Frame.java: Reformatted to better match our coding style. - + 2006-01-13 Roman Kennke - + * java/awt/MenuBar.java (accessibleContext): Removed unnecessary field. This is already defined in MenuComponent. (setHelpMenu): Renamed the peer variable to myPeer because it was hiding a field of MenuComponent. (addNotify): Removed unnecessary cast. - + 2006-01-13 Roman Kennke - + * java/awt/MenuBar.java: Reformatted to better match our coding style. - + 2006-01-13 Roman Kennke - + * java/awt/MenuBar.java (frame): New field. (removeNotify): Clear frame field when beeing removed from the @@ -25394,9 +34961,9 @@ dispatchEventImpl() to here. (dispatchEventImpl): Moved handling of old style events to dispatchEvent(). - + 2006-01-13 Roman Kennke - + * java/awt/Component.java (dispatchEvent): Moved handling of old style events from dispatchEventImpl() to this method. @@ -25405,14 +34972,14 @@ dispatchEvent(). 2006-01-13 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (createDefaultRoot): Removed FIXME. (setLogicalStyle): Added fireUndoableEditUpdate call and removed FIXME. - + 2006-01-13 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java (Edit): New inner class. (changeUpdate): Changed addEdit call to add a new @@ -25424,9 +34991,9 @@ (insertContentTag): Likewise. (insert): Added loop to go through edits Vector and perform addEdit on each object. - + 2006-01-13 Chris Burdess - + * gnu/xml/transform/AbstractNumberNode.java, gnu/xml/transform/ApplyImportsNode.java, gnu/xml/transform/ApplyTemplatesNode.java, @@ -25464,9 +35031,9 @@ * doc/www.gnu.org/announce/20060113.wml: New file. * doc/www.gnu.org/newsitems.txt: Add 0.20 release announcement. * doc/www.gnu.org/downloads/downloads.wml: Add 0.20. - + 2006-01-13 Lillian Angel - + * javax/swing/text/DefaultStyledDocument.java: Removed unused fields. (insert): Removed unused fields. @@ -25476,17 +35043,22 @@ (insertContentTag): Removed call to prepareContentInsertion. (printElements): Removed, not needed. (attributeSetsAreSame): Removed, not needed. + +2005-01-13 Mark Wielaard -2006-01-13 Mark Wielaard + * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): + Duplicate of toString(int, StringBuilder). + +2005-01-13 Mark Wielaard * configure.ac: Set version to 0.20. * NEWS: Add entries for all the new work done. -2006-01-13 Mark Wielaard +2005-01-13 Mark Wielaard * javax/swing/text/DefaultCaret.java: Chain all AssertionErrors. -2006-01-13 Mark Wielaard +2005-01-13 Mark Wielaard * java/util/regex/Pattern.java (Pattern): Chain REException. @@ -25494,19 +35066,19 @@ * gnu/xml/xpath/NameTest.java: Removed debugging output. -2006-01-13 Jeroen Frijters +2005-01-13 Jeroen Frijters * java/security/Security.java (getProperty): Added hack to skip security check when trusted code is direct caller. -2006-01-13 Jeroen Frijters +2005-01-13 Jeroen Frijters * java/io/PrintStream.java (line_separator, PrintStream(OutputStream,boolean)): Use SystemProperties. -2006-01-13 Jeroen Frijters +2005-01-13 Jeroen Frijters * gnu/java/nio/charset/Provider.java: Added comment about its special relation with CharsetProvider. @@ -25518,12 +35090,12 @@ (CharsetProvider): Add special case to skip security check for built in providers. -2006-01-13 Mark Wielaard +2005-01-13 Mark Wielaard * javax/swing/JMenuItem.java (JMenuItem(Action)): Check whether name, accel, mnemonic and command are defined before setting. -2006-01-12 Mark Wielaard +2005-01-12 Mark Wielaard * javax/swing/plaf/metal/MetalFileChooserUI.java (FileRenderer.getListCellRendererComponent): Set empty name and null @@ -26610,3 +36182,4 @@ * java/net/InetAddress.java (getAllByName): use LOCALHOST if localhost is null or is an empty string. Trim hostname before lookup. + diff --git a/libjava/classpath/ChangeLog-2004 b/libjava/classpath/ChangeLog-2004 index 2f2a97129e4..58e8d1e0459 100644 --- a/libjava/classpath/ChangeLog-2004 +++ b/libjava/classpath/ChangeLog-2004 @@ -1598,6 +1598,14 @@ * javax/swing/plaf/basic/BasicComboBoxUI.java: (paintCurrentValue): renders "" if no item is selected +2004-12-18 Tom Tromey + + * java/lang/String.java (String(StringBuilder)): Rewrote. + * java/lang/StringBuilder.java (shared): Removed. + (ensureCapacity): Updated. + (substrinng): Likewise. + (toString): Likewise. + 2004-12-17 Michael Koch * gnu/java/locale/LocaleInformation_de.java, @@ -2608,47 +2616,47 @@ change event. 2004-11-28 Michael Koch - + * gnu/java/awt/peer/gtk/GdkGraphics2D.java: Fix typo. - + 2004-11-27 Sven de Marothy - + * gnu/java/awt/peer/gtk/GdkGraphics2D.java - Reformatted. - (drawRaster): Added FIXME. - (drawRaster): Changed to work with packed-sample models. - + Reformatted. + (drawRaster): Added FIXME. + (drawRaster): Changed to work with packed-sample models. + 2004-11-26 Michael Koch - + * javax/swing/JList.java, javax/swing/JTree.java: Added much new methods and fixed much methods setting bound properties. - + 2004-11-26 Sven de Marothy - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java - (drawRaster): Set alpha component to opaque if image has no alpha + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java + (drawRaster): Set alpha component to opaque if image has no alpha 2004-11-26 Jeroen Frijters - + * java/io/File.java (canWrite): Moved directory write test to VMFile. * vm/reference/java/io/VMFile.java (canWriteDirectory): New method. - + 2004-11-25 Sven de Marothy - + * java/awt/image/MultiPixelPackedSampleModel.java (MultiPixelPackedSampleModel): Corrected parameters, order of bit shifts and masks, stride length off by one. - + 2004-11-25 Sven de Marothy - + * java/awt/image/IndexColorModel.java (IndexColorModel): Add FIXME with respect to alpha handling. (getAlpha): Default to returning opaque pixels. - + 2004-11-25 Mark Wielaard - + * doc/vmintegration.texinfo: Fix link to Japhar. * doc/www.gnu.org/stories.wml: Likewise. * doc/www.gnu.org/announce/19990206.wml: Likewise. @@ -2668,91 +2676,91 @@ getAccessibleContext): Implement. (TextComponent): Extends Accessible. (getIndexAtPoint, getCharacterBounds): New methods. - + 2004-11-23 Jerry Quinn - + * java/awt/Button.java (AccessibleAWTButton.getAccessibleActionDescription): Explain the source of 'click'. - + 2004-11-23 Jerry Quinn - + * java/awt/Checkbox.java: Remove stub comments. - + 2004-11-23 Jerry Quinn - + * java/awt/Button.java (AccessibleAWTButton.getAccessibleActionDescription): Return 'click'. - + 2004-11-23 Jerry Quinn - + * java/awt/Checkbox.java (AccessibleAWTCheckBox): Remove todo comments. - + 2004-11-23 Jerry Quinn - + * java/awt/Checkbox.java (itemStateChanged): Implement function. (getAccessibleContext): Add AccessibleAWTCheckBox to item listeners. 2004-11-23 Jerry Quinn - + * java/awt/TextArea.java (AccessibleAWTTextArea, getAccessibleContext): Implement. * java/awt/TextField.java (AccessibleAWTTextField, getAccessibleContext): Implement. - + 2004-11-23 Jerry Quinn - + * java/awt/Checkbox.java (AccessibleAWTCheckBox): Implement. (getAccessibleContext): Implement. 2004-11-23 Jerry Quinn - + * java/awt/MenuItem.java (AccessibleAWTMenuItem): Implement. - + 2004-11-23 Jerry Quinn - + * java/awt/Choice.java (AccessibleAWTChoice): Implement. - + 2004-11-23 Jerry Quinn - + * java/awt/MenuItem.java (AccessibleAWTMenuItem): Implement. - + 2004-11-23 Michael Koch - + * javax/swing/DefaultSingleSelectionModel.java, javax/swing/JPasswordField.java, javax/swing/tree/AbstractLayoutCache.java: Reformatted and javadocs cleaned up. - + 2004-11-23 Michael Koch - + * java/nio/channels/spi/AbstractSelectableChannel.java (register): Only reuse valid selection keys. - + 2004-11-23 Michael Koch - + * gnu/java/nio/NIOServerSocket.java (getPlainSocketImpl): Removed debug code. - + 2004-11-23 Michael Koch - + * java/awt/Component.java: Fixed argument names to match javadocs. (setFont): Rewritten set property first and then fire event. (setLocale): Likewise. * javax/swing/text/JTextComponent.java (setEditable): Likewise. - + 2004-11-23 Michael Koch - + * java/util/zip/InflaterInputStream.java (onebytebuffer): Little reformatting to match libgcj's version. (read): Likewise. - + 2004-11-23 Michael Koch - + * gnu/java/nio/NIOServerSocket.java (getPlainSocketImpl): Implemented in java with reflection. * include/gnu_java_nio_NIOServerSocket.h, @@ -2761,20 +2769,20 @@ Don't generate include/gnu_java_nio_NIOServerSocket.h. * native/jni/java-nio/Makefile.am: Don't build native/jni/java-nio/gnu_java_nio_NIOServerSocket.c. - + 2004-11-22 Michael Koch - + * gnu/java/nio/SocketChannelImpl.java (read): Made check for blocking un-ambiguous. Removed wrong check for data array length. - + 2004-11-22 Patrik Reali - + * doc/www.gnu.org/newsitems.txt doc/www.gnu.org/announce/20041115.wml doc/www.gnu.org/downloads/downloads.wml: classpath 0.12 announcement - + 2004-11-21 Michael Koch - + * gnu/java/nio/SocketChannelImpl.java (read): Only return 0 when no bytes for reading available in non-blocking mode. @@ -2787,9 +2795,9 @@ (propertyChangeSupportSerializedDataVersion): Made static. * java/beans/VetoableChangeSupport.java (propertyChangeSupportSerializedDataVersion): Likewise. - + 2004-11-21 Michael Koch - + * java/awt/CardLayout.java: Made some constants static. (serialVersionUID): Made private. @@ -2798,20 +2806,20 @@ (getModifiersEx): Added missing @param tag. * java/awt/image/RGBImageFilter.java (filterRGBPixels): Reformatted, removed wrong @param tag. - + 2004-11-21 Michael Koch - + * java/net/URLConnection.java (getContent): Added missing @return tag. - + 2004-11-21 Michael Koch - + * javax/swing/text/FieldView.java, javax/swing/text/JTextComponent.java: Removed debug code. - + 2004-11-21 Jeroen Frijters - + * java/nio/DirectByteBufferImpl.java (ReadOnly): New inner subclass. (ReadWrite): New inner subclass. @@ -2828,17 +2836,17 @@ * java/nio/MappedByteBufferImpl.java (slice, duplicate): Modified to instantiate appropriate DirectByteBufferImpl subclass. - + 2004-11-21 Michael Koch - + * javax/swing/BorderFactory.java (BorderFactory): Added private constructor. * javax/swing/SwingUtilities.java (SwingUtilities): Likewise. (computeStringWidth): New method. - + 2004-11-21 Michael Koch - + * java/awt/color/ICC_Profile.java (icSigNamedColorTag): Removed. * java/awt/datatransfer/DataFlavor.java @@ -2846,9 +2854,9 @@ * java/awt/image/AffineTransformOp.java: Reworked javadocs. (TYPE_BICUBIC): Added @since tag. - + 2004-11-21 Michael Koch - + * gnu/classpath/RawData.java: Made abstract. * gnu/classpath/RawData32.java, gnu/classpath/RawData64.java: New files. @@ -2869,14 +2877,14 @@ * native/jni/java-nio/java_nio_VMDirectByteBuffer.c, * vm/reference/java/nio/VMDirectByteBuffer.java: New files. - + 2004-11-20 Tom Tromey - + * java/util/ResourceBundle.java (tryBundle): Use Class.isAssignableFrom rather than catching ClassCastException. - + 2004-11-20 Bryce McKinlay - + * java/util/ResourceBundle.java (bundleCache): Renamed from resourceBundleCache. Update comments. (getObject): Don't catch MissingResourceException. @@ -2892,9 +2900,9 @@ name using given classloader. (tryBundle(String, Locale, ClassLoader, boolean): New. Qualify baseName for given Locale and attempt to load bundle. - + 2004-11-18 Jeroen Frijters - + * gnu/java/io/decode/DecoderUTF8.java (charsInByteArray, convertToChars, read): Added surrogate pair support. @@ -2935,96 +2943,96 @@ (OutputStreamWriter): Removed call to Encoder.setBadCharValue(). * java/lang/String.java: Removed try/catch block around Encoder/Decoder calls that no longer throw CharConversionException. - + 2004-11-17 Michael Koch - + * java/awt/print/PrinterJob.java: Reformatted. - + 2004-11-17 Jerry Quinn - + * java/awt/print/PrinterJob.java (lookupPrintServices, getPrintService, setPrintService): Implement. (lookupStreamPrintServices): Add commented out implementation. (printer): New field. - + 2004-11-17 Michael Koch - + * java/net/Socket.java (getPort): Return 0 in error case. - + 2004-11-17 Michael Koch - + * java/nio/DirectByteBufferImpl.java (owner): Updated comment. (allocate): New method. - + 2004-11-17 Michael Koch - + * java/net/URL.java (URL): Handle case when argument is null. - + 2004-11-17 Michael Koch - + * java/beans/Beans.java, java/beans/PropertyChangeEvent.java, java/beans/PropertyEditorSupport.java: Fixed javadocs. - + 2004-11-17 Michael Koch - + * java/util/Timer.java (DEFAULT_SIZE): Made static. - + 2004-11-17 Michael Koch - + * java/awt/image/AffineTransformOp.java, java/awt/image/ColorConvertOp.java, java/awt/image/LookupOp.java, java/awt/image/RescaleOp.java: Added final keywords where they belong. - + 2004-11-17 Michael Koch - + * java/awt/CardLayout.java, java/awt/Component.java, java/awt/Font.java, java/awt/image/SinglePixelPackedSampleModel.java: Fixed javadocs and argument names all over. - + 2004-11-17 Michael Koch - + * java/awt/image/DataBufferShort.java: Fixed file header. * java/awt/image/DataBufferUShort.java: Likewise. (DataBufferUShort): Throw NullPointerException if dataArray is null. - + 2004-11-17 Michael Koch - + * java/net/InetAddress.java (getCanonicalHostName): Support IPv6 addresses. - + 2004-11-17 Sven de Marothy - + * java/awt/geom/Arc2D.java, (setAngleStart): Corrected (wrong sign on atan2 y parameter) (setAngles): Likewise (containsAngle): Return false on zero extent, don't include final angle (contains): Treat OPEN-type arcs like CHORD ones, not as PIE ones. - + 2004-11-16 Sven de Marothy - + * java/awt/geom/AffineTransform.java, (inverseTransform): Fixed bug and simplified code. (createTransformedShape): Return null on null parameter. - + 2004-11-16 Michael Koch - + * java/util/Collections.java (synchronizedSortedMap): Removed some cruft in javadoc. - + 2004-11-16 Michael Koch - + * gnu/java/locale/LocaleInformation_de.java: Added some new locale informations to the contents object. - + 2004-11-16 Michael Koch - + * java/io/BufferedReader.java, java/io/FileInputStream.java, java/io/FileOutputStream.java, @@ -3045,9 +3053,9 @@ java/nio/ByteOrder.java, java/nio/channels/Channel.java: Fixed javadocs all over. - + 2004-11-16 Michael Koch - + * java/awt/color/ICC_ColorSpace.java, java/awt/color/ICC_Profile.java, java/awt/color/ICC_ProfileGray.java, @@ -3059,22 +3067,22 @@ (EPSILON): Made static. (RS_EPSILON): Likewise. (PE_EPSILON): Likewide. - + 2004-11-16 Michael Koch - + * gnu/java/locale/LocaleInformation_de.java: Fix compile error. - + 2004-11-16 Sven de Marothy - + * javax/swing/SwingUtilities.java: (computeDifference): Implemented (computeIntersection): Likewise (computeUnion): Likewise (isRectangleContainingRectangle): Likewise - + 2004-11-16 Michael Koch - + * java/awt/BasicStroke.java, java/awt/Button.java, java/awt/Canvas.java, @@ -3108,50 +3116,50 @@ java/awt/image/ShortLookupTable.java, java/awt/print/Book.java: Fixed javadocs and method argument names all over. - + 2004-11-16 Michael Koch - + * gnu/java/locale/LocaleInformation_de.java: Reordered entries in contents array, added support for ap/pm and territorial names. - + 2004-11-16 Michael Koch - + * gnu/java/locale/LocaleInformation_de.java: Reformatted. Replaced some definitions with their generated counterparts. - + 2004-11-16 Michael Koch - + * gnu/java/locale/LocaleInformation_de.java: Removed some comments to make it easier to merge this with the new generated classes. - + 2004-11-16 Michael Koch - + * configure.ac: Added scripts/Makefile to output files. * Makefile.am (SUBDIRS): Add scripts * scripts/Makefile.am: New file. - + 2004-11-16 Michael Koch - + * gnu/java/awt/peer/gtk/GdkFontPeer.java (buildString): Optimise String building. - + 2004-11-15 Michael Koch - + * native/jni/Makefile.am: Add checking of JNI methods. * scripts/check_jni_methods.sh: New file. - + 2004-11-15 Michael Koch - + * acinclude.m4 (CLASSPATH_WITH_GLIBJ): Added support to not build the class files/glibj.zip. Handle --disable-examples argument. * Makefile.am: Build examples subdir conditionally. - + 2004-11-15 Craig Black - + * gnu/java/beans/BeanInfoEmbryo.java: Use TreeMap for proper sorting. - + 2004-11-15 Jeroen Frijters - + * java/lang/StackTraceElement.java: Made final. * java/nio/channels/Channels.java: Added private constructor. * java/rmi/Naming.java: Added private constructor. @@ -3195,42 +3203,42 @@ (SynchronizedPrintRequestAttributeSet): Made private. (SynchronizedPrintServiceAttributeSet): Made private. * javax/security/auth/PrivateCredentialPermission.java: Made final. - + 2004-11-14 Mark Wielaard - + * configure.ac: Set version to 0.12+cvs. - + 2004-11-14 Mark Wielaard - + * configure.ac: Set version to 0.12. * NEWS: Add new items for this release. - + 2004-11-14 Mattias Rehnberg - + * java/net/Inet6Address.java (getHostAddress): Fix textual representation of IPv6 address with embedded zeroes to conform to RFC 2373. - + 2004-11-14 Mark Wielaard - + * configure.ac (--disable-Werror): Make no the default. - + 2004-11-14 Mark Wielaard - + * javax/swing/ToolTipManager.java (mouseMoved): Set currentComponent when not yet set. - + 2004-11-13 Robert Schuster - + Complete 1.4 support * java/beans/PropertyDescriptor.java: (setReadMethod): New method (setWriteMethod): New method (equals): Implemented (1.4) (checkMethods): operates on arguments now (private) - + 2004-11-12 Steven Augart - + * gnu/classpath/Configuration.java.in: Added JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION. * configure.ac: Added @@ -3239,29 +3247,29 @@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION. 2004-11-12 Sven de Marothy - + * java/awt/Polygon.java (contains): Reimplemented. - + 2004-11-11 Mark Wielaard - + * gnu/java/awt/peer/gtk/GdkGraphics2D.java: Indentation fixups. * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. - + 2004-11-11 Paul Jenner - + * java/awt/image/Raster.java (createPackedRaster): Implemented. - + 2004-11-11 Mark Wielaard - + * javax/swing/plaf/basic/BasicTableHeaderUI.java: Indentation fixups. * javax/swing/plaf/basic/BasicViewportUI.java: Likewise. * javax/swing/text/PlainDocument.java: Likewise. * javax/swing/text/SimpleAttributeSet.java: Likewise. * javax/swing/text/Utilities.java: Likewise. - + 2004-11-11 Graydon Hoare - + * javax/swing/plaf/basic/BasicTextUI.java: Listen to focus events, indicate focus via caret. * javax/swing/text/GapContent.java (getString): Return substring. @@ -3271,14 +3279,14 @@ (removeUpdate): Likewise. * javax/swing/text/Utilities.java (drawTabbedText): Always advance on tab and newline, even if no painting happens. - + 2004-11-11 Thomas Fitzsimmons - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c (setFont): Set pango context's description and language. - + 2004-11-11 Mark Wielaard - + * include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: Regenerated. * include/gnu_java_awt_peer_gtk_GdkGraphics.h: Likewise. * include/gnu_java_awt_peer_gtk_GtkClipboard.h: Likewise. @@ -3288,9 +3296,9 @@ * include/java_lang_Math.h: Likewise. * include/java_lang_VMProcess.h: Likewise. * include/java_net_InetAddress.h: Likewise. - + 2004-11-11 Graydon Hoare - + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (GdkGraphics2D): Set clip after transform. (drawImage): Protect against null image. @@ -3406,14 +3414,14 @@ (capitalize): added documentation (DoubleKey): [class] added documentation (isReachable): new method, refactoring of a large expression - + 2004-11-08 Jeroen Frijters - + * java/net/URLStreamHandler.java (parseURL): Fixed file path canonicalisation. - + 2004-11-08 Jeroen Frijters - + * java/io/File.java: (createTempFile): Use VMFile.IS_DOS_8_3 instead of separatorChar to determine file system naming restrictions. @@ -3512,9 +3520,9 @@ * gnu/java/security/pkcs/PKCS7SignedData.java, * gnu/java/security/pkcs/SignerInfo.java: new files. - + 2004-11-07 Casey Marshall - + * gnu/java/security/provider/Gnu.java (): add entries in a priviliged action. Add new algorithms. @@ -3567,29 +3575,29 @@ * gnu/java/security/x509/ext/SubjectAlternativeNames.java, * gnu/java/security/x509/ext/SubjectKeyIdentifier.java: new files. - + 2004-11-07 Sven de Marothy - + * java/awt/geom/GeneralPath.java (evaluateCrossings): Fixed epsilon value, should always be nonzero. - + 2004-11-07 Jerry Quinn - + * java/awt/image/BandedSampleModel.java (scanlineStride): Remove field hiding ComponentSampleModel.scanlineStride. - + 2004-11-06 Thomas Fitzsimmons - + * java/awt/DefaultKeyboardFocusManager.java (dispatchEvent): Track Window focus owner on FOCUS_GAINED events. - + 2004-11-06 Tom Tromey - + * doc/hacking.texinfo (Source Code Style Guide): Fixed grammatical error. - + 2004-11-06 Tom Tromey - + * gnu/java/rmi/server/UnicastConnectionManager.java (clients): Now package-private. (connections): Likewise. @@ -3601,16 +3609,16 @@ (ptr): Likewise. * gnu/java/security/PolicyFile.java (debug): Now package-private. * gnu/classpath/ServiceFactory.java (log): Now package-private. - + 2004-11-06 Tom Tromey - + * javax/naming/directory/BasicAttributes.java (attributes): Now package-private. * javax/imageio/spi/ServiceRegistry.java (categories): Now package-private. - + 2004-11-06 Tom Tromey - + * java/net/URLClassLoader.java (URLClassLoader): Now package-private. * java/nio/charset/CoderResult.java (CoderResult): Now @@ -3620,27 +3628,27 @@ * java/rmi/server/RMIClassLoader.java (MyClassLoader): Now package-private. * java/util/TimeZone.java (timezones): Now package-private. - + 2004-11-06 Tom Tromey - + * java/security/Permissions.java (perms): Now package-private. * java/security/UnresolvedPermission.java (permissions): Now package-private. - + 2004-11-06 Tom Tromey - + * java/io/FilePermission.java: Reindented. - + 2004-11-06 Tom Tromey - + * java/io/ObjectOutputStream.java (currentObjectStreamClass): Now package-private. (setBlockDataMode): Likewise. * java/io/DeleteFileHelper.java (DeleteFileHelper): Now package-private. - + 2004-11-06 Tom Tromey - + * gnu/java/nio/charset/ISO_8859_1.java (Decoder): Now package-private. (Encoder): Likewise. @@ -3649,9 +3657,9 @@ * gnu/java/nio/charset/US_ASCII.java (Decoder): Now package-private. (Encoder): Likewise. - + 2004-11-06 Robert Schuster - + Fixes bug #10908 * gnu/java/beans/IntrospectionIncubator.java: (addMethod): static methods are discarded now, too. @@ -3678,126 +3686,176 @@ * java/awt/image/BandCombineOp.java, java/awt/image/LookupOp.java, java/awt/image/ConvolveOp.java: New classes. - + 2004-11-06 Andrew Haley - + * java/io/ObjectInputStream.java (readObject): ENDBLOCKDATA is generated if the class has a write method, not if it has a read method. - + 2004-11-06 Mark Wielaard - + * java/util/Vector.java (readObject): Removed. - + 2004-11-06 Tom Tromey - + * gnu/java/net/protocol/http/Connection.java (sendRequest): Fix typo. - + 2004-11-06 Michael Koch - + PR libjava/14009 * gnu/java/net/protocol/http/Connection.java (sendRequest): Handle case when url.getFile() returns an empty string. - + 2004-11-06 Patrik Reali - + * doc/www.gnu.org/newsitems.txt: JDK 1.0 compatibility news + +2004-11-06 Tom Tromey -2004-11-05 Noa Resare + * java/lang/Void.java (TYPE): Added cast to initializer. + * java/lang/Short.java (TYPE): Added cast to initializer. + * java/lang/Long.java (TYPE): Added cast to initializer. + * java/lang/Integer.java (TYPE): Added cast to initializer. + * java/lang/Float.java (TYPE): Added cast to initializer. + * java/lang/Double.java (TYPE): Added cast to initializer. + * java/lang/Character.java (TYPE): Added cast to initializer. + * java/lang/Byte.java (TYPE): Added cast to initializer. + * java/lang/Boolean.java (TYPE): Added cast to initializer. + * java/util/Hashtable.java (elements): Fixed return type. +2004-11-05 Noa Resare + * java/net/Socket.java(getPort): Return 0 instead of -1 on unconnected sockets. - + 2004-11-05 Sven de Marothy * gnu/java/awt/peer/gtk/GtkComponentPeer.java (createImage): Created bitmap should be filled with bg color - + 2004-11-04 Torsten Rupp - + * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c: Replaced 'this' arguments by 'obj' to make source compatible with C++ compilers. - + 2004-11-04 Torsten Rupp - + * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c: Add dummy return values for WITHOUT_NETWORK code path. (Java_gnu_java_net_PlainDatagramSocketImpl_receive0): Check fid not NULL for maxlen field id. - + 2004-11-04 Torsten Rupp - + * native/jni/java-net/gnu_java_net_PlainSocketImpl.c: Added missing return values for WITHOUT_NETWORK code path. - + 2004-11-03 Tom Tromey - + * Makefile.am (EXTRA_DIST): Added ChangeLog-2003. - + 2004-11-03 Tom Tromey - + * include/jni.h (struct JNINativeInterface) : Now returns jobjectArray. (_Jv_JNIEnv::NewObjectArray): Likewise. + +2004-11-03 Tom Tromey + + * java/util/Collection.java (iterator): Fixed return type. + + * java/util/AbstractSet.java (removeAll): Fixed iterator + declaration. + * java/util/AbstractList.java (RandomAccessSubList): RandomAccess + is not generic. 2004-11-02 Mattias Rehnberg * java/io/Vector.java (readObject, writeObject): New function to match Sun's serialized output for Vector. - - * java/io/ObjectOutputStream.java + + * java/io/ObjectOutputStream.java (writeObject): Move the assignment of the class handle to after the assignment of class descriptor handle. - + 2004-11-02 Thomas Fitzsimmons - + * java/awt/Font.java (name): New field. (size): Likewise. (style): Likewise. - + 2004-11-01 Andrew John Hughes - + * java/util/GregorianCalendar.java: Added/amended documentation. 2004-11-01 Jeroen Frijters - + * java/lang/ClassLoader.java: (addFileURL): New method. (getSystemClassLoaderUrls): Fixed to treat lone separators as current directory. + +2004-11-01 Tom Tromey -2004-10-31 Robert Schuster + * java/util/AbstractMap.java: Removed old FIXME comment. + * java/lang/Long.java (rotateRight): Fixed return type. + * java/lang/Integer.java (reverse): Use correct name for + variable. + * java/lang/Character.java (valueOf): Use MIN_VALUE, not + MIN_CACHE. + * java/lang/Byte.java (valueOf): Use MIN_VALUE, not MIN_CACHE. + + * gnu/java/util/DoubleEnumeration.java: Genericized. + + * java/lang/Appendable.java (append): Throws IOException. + + * java/util/Hashtable.java: Genericized. + + * java/util/HashMap.java (putAll): Use correct type for iterator. + (putAllInternal): Likewise. + * java/lang/Class.java (cast): Call VMClass.cast. + * java/util/Collections.java (UnmodifiableMap.remove): Corrected + return type. + (entrySet): Likewise. + (entries): Corrected type. + + * vm/reference/java/lang/reflect/Constructor.java + (getTypeParameters): Stubbed. + +2004-10-31 Robert Schuster + Fixes documentation and indentation * java/beans/PropertyEditorSupport.java: reworked initial API doc (value): changed name from val - + 2004-10-31 Robert Schuster - + Updates to 1.5 * java/beans/PropertyEditorSupport.java (PropertyEditorSupport()): Changed modifier to public (PropertyEditorSupport(Object): Changed modifier to public (setSource): New method (getSource): New method - + 2004-10-31 Robert Schuster - + Fixes bug #10799 * java/beans/PropertyEditorSupport.java (setValue): Fire property change event - + 2004-10-31 Noa Resare - + * java/util/Calendar.java (explicitDSTOffset): New instance field. (set(int,int)): Set and use new field. (set(int,int,int)): Check new field. - + 2004-10-29 Jerry Quinn * java/awt/image/ColorConvertOp.java: New class. @@ -3956,36 +4014,36 @@ 2004-10-26 Andreas Tobler - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c - (Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Use the - GTK_TEXT_VIEW macro. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c - (connect_awt_hook_cb): Mark unused variable unused. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c + (Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Use the + GTK_TEXT_VIEW macro. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c + (connect_awt_hook_cb): Mark unused variable unused. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c (selection_get): Do the cast right. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c - (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create): According to - the gtk API gtk_combo_box_new_text actually returns a GtkWidget. - Remove unused var menu. - (selection_changed): Remove unused value. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c - (Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds): Fix pointer - warning with using an intermediate variable. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (area_updated): Fix unused var warning for BE archs. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics_connectSignals): Remove unused - var. - (realize_cb): Mark unused variable unused. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c - (seek_glyphstring_idx): Fix a C90 warning. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c + (Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create): According to + the gtk API gtk_combo_box_new_text actually returns a GtkWidget. + Remove unused var menu. + (selection_changed): Remove unused value. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds): Fix pointer + warning with using an intermediate variable. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (area_updated): Fix unused var warning for BE archs. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics_connectSignals): Remove unused + var. + (realize_cb): Mark unused variable unused. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c + (seek_glyphstring_idx): Fix a C90 warning. 2004-10-26 Andreas Tobler @@ -4749,7 +4807,7 @@ 2004-10-20 Andrew John Hughes - * java/util/Currency.java: + * java/util/Currency.java Documented variables and methods more fully. Caches the currency instances, so that a request for a locale, l, only ever returns the same @@ -4758,11 +4816,11 @@ 2004-10-20 Andrew John Hughes - * java/util/Collections.java: + * java/util/Collections.java Added documentation. - * java/util/SortedMap.java: + * java/util/SortedMap.java Clarified some method examples. - * java/util/SortedSet.java: + * java/util/SortedSet.java Clarified some method examples. 2004-10-20 Michael Koch @@ -5167,6 +5225,13 @@ * autogen.sh: Replaced with a GNOME-like script that aborts when the versions of autoconf, automake or libtool are not sufficient. + +2004-10-14 Tom Tromey + + * java/lang/StringBuilder.java (append): Typo fix; indentation + fix. + * java/beans/BeanDescriptor.java (BeanDescriptor): Typo fix. + 2004-10-13 Michael Koch * java/awt/image/ByteLookupTable.java @@ -5378,10 +5443,10 @@ 2004-10-10 Sven de Marothy - * native/jni/java-lang/java_lang_Double.c - (parseDouble): Add handling of NaN/Infinity (bug #10491) - * java/nio/ByteBufferHelper.java - (putDouble): Use Double.toRawLongBits instead (bug #9106) + * native/jni/java-lang/java_lang_Double.c + (parseDouble): Add handling of NaN/Infinity (bug #10491) + * java/nio/ByteBufferHelper.java + (putDouble): Use Double.toRawLongBits instead (bug #9106) 2004-10-10 Andreas Tobler @@ -5434,6 +5499,107 @@ * javax/swing/JList.java (init): Revert accidental commit. +2004-10-09 Tom Tromey + + * java/beans/EventHandler.java (create): Now generic methods. + * java/beans/Beans.java (getInstanceOf): Updated argument type. + (isInstanceOf): Likewise. + * java/beans/BeanDescriptor.java (beanClass, customizerClass): + Updated type. + (BeanDescriptor): Updated argument types. + (getBeanClass, getCustomizerClass): Updated return types. + + * java/lang/reflect/Proxy.java (getProxyClass): Updated argument + and return types. + (isProxyClass): Likewise. + (newProxyInstance): Likewise. + + * java/applet/AppletContext.java (getApplets): Updated return + type. + (getStreamKeys): Likewise. + + * java/lang/String.java: Implement Comparable. + + * java/util/Properties.java: Extend Hashtable. + (save): Mark as @Deprecated. + * java/lang/System.java (clearProperty): New method. + (setProperty): Check for empty key. + (getProperty): Likewise. + + * java/lang/SecurityManager.java (currentLoadedClass): Updated + return type. + + * java/lang/Float.java: Updated status. + * java/lang/Void.java: Updated status. + * java/lang/Double.java: Updated status. + * java/lang/Long.java: Updated status. + * java/lang/Character.java: Updated status. + * java/lang/Integer.java: Updated status. + * java/lang/Short.java: Updated status. + * java/lang/Byte.java: Updated status. + * java/lang/Boolean.java: Updated status. + + * java/lang/ClassLoader.java (defineClass): New method. + (findClass): Updated return type. + (findLoadedClass): Likewise. + (findSystemClass): Likewise. + (findResources): Likewise. + (getSystemResources): Likewise. + (loadClass): Likewise. + (resolveClass): Updated argument type. + (setSigners): Likewise. + (loadedClasses, definedPackages): Updated types. + (packageAssertionStatus): Likewise. + (systemClassAssertionStatus): Likewise. + (classAssertionStatus): Likewise. + (defineClass): Updated return type. + (getResource): Likewise. + (clearAssertionStatus): Clear packageAssertionStatus and + classAssertionStatus. + + * java/lang/Void.java (TYPE): Changed type. + * java/lang/Character.java: Implement Comparable. + (TYPE): Changed type. + (SIZE): New field. + (MAX_CACHE, charCache): New fields. + (valueOf): New method. + (reverseBytes): Likewise. + * java/lang/Double.java: Implement Comparable. + (TYPE): Changed type. + (SIZE): New field. + (valueOf): New method. + * java/lang/Float.java: Implement Comparable + (TYPE): Changed type. + (SIZE): New field. + (valueOf): New method. + * java/lang/Short.java: Implement Comparable. + (TYPE): Changed type. + (MIN_CACHE, MAX_CACHE, shortCache): New fields. + (valueOf): New method. + (reverseBytes): Likewise. + * java/lang/Byte.java: Implement Comparable. + (TYPE): Changed type. + (SIZE): New field. + (byteCache): Likewise. + (valueOf): New method. + * java/lang/Boolean.java (TYPE): Changed type. + * java/lang/Long.java (TYPE): Changed type. + (SIZE): New field. + (valueOf): New method. + (bitCount, rotateLeft, rotateRight, highestOneBit, + numberOfLeadingZeros, lowestOneBit, numberOfTrailingZeros, + signum, reverseBytes, reverse): New methods. + Implement Comparable. + * java/lang/Integer.java: Implement Comparable. + (SIZE): New field. + (intCache): Likewise. + (MIN_CACHE, MAX_CACHE): Likewise. + (valueOf): New method. + (bitCount, rotateLeft, rotateRight, highestOneBit, + numberOfLeadingZeros, lowestOneBit, numberOfTrailingZeros, + signum, reverseBytes, reverse): New methods. + (TYPE): Changed type. + 2004-10-08 Bryce McKinlay * java/util/Calendar.java (set): Invalidate DST_OFFSET @@ -6001,22 +6167,22 @@ java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java, java/awt/GridLayout.java, - java/awt/Image.java, + java/awt/Image.java, java/awt/KeyboardFocusManager.java, - java/awt/Label.java, - java/awt/List.java, + java/awt/Label.java, + java/awt/List.java, java/awt/MediaTracker.java, - java/awt/Menu.java, - java/awt/MenuBar.java, - java/awt/MenuComponent.java, - java/awt/Panel.java, - java/awt/PopupMenu.java, + java/awt/Menu.java, + java/awt/MenuBar.java, + java/awt/MenuComponent.java, + java/awt/Panel.java, + java/awt/PopupMenu.java, java/awt/ScrollPane.java, - java/awt/Scrollbar.java, - java/awt/SystemColor.java, - java/awt/TextArea.java, - java/awt/TextField.java, - java/awt/Toolkit.java, + java/awt/Scrollbar.java, + java/awt/SystemColor.java, + java/awt/TextArea.java, + java/awt/TextField.java, + java/awt/Toolkit.java, java/awt/Window.java, java/awt/color/ICC_Profile.java, java/awt/datatransfer/DataFlavor.java, @@ -6027,7 +6193,7 @@ java/awt/dnd/DropTargetContext.java, java/awt/dnd/DropTargetDragEvent.java, java/awt/dnd/peer/DropTargetContextPeer.java, - java/awt/event/AdjustmentEvent.java, + java/awt/event/AdjustmentEvent.java, java/awt/event/InputEvent.java, java/awt/event/InvocationEvent.java, java/awt/event/KeyEvent.java, @@ -6068,7 +6234,7 @@ efficient. 2004-09-27 Bryce McKinlay - + * java.util.Calendar.java (cache): New private static field. Cached mappings of locales->calendar classes. (ctorArgTypes): New private static field. Singleton argument for @@ -6119,7 +6285,7 @@ (getLineOfOffset): Likewise. (getRowHeight): Likewise. (replaceRange): Likewise. - (insert): Reformatted. + (insert): Reformatted. 2004-09-27 Michael Koch @@ -6132,6 +6298,10 @@ (getModel): Likewise. (setModel): Likewise. +2004-09-27 Tom Tromey + + * java/lang/Deprecated.java: Fixed retention. + 2004-09-26 Michael Koch * javax/swing/JTextField.java @@ -6335,6 +6505,23 @@ * javax/swing/UIDefaults.java (removePropertyChangeListener): Made public. +2004-09-26 Andrew John Hughes + + * java/lang/Appendable.java + Documented this class. + (append(CharSequence, int, int)): added. + +2004-09-26 Andrew John Hughes + + * java/lang/Comparable.java + Updated status to be 1.5. + * java/lang/Iterable.java + Added missing documentation. + * java/lang/Readable.java + Added documentation. + * java/lang/Thread.java + (UncaughtExceptionHandler): documented. + 2004-09-25 Michael Koch * javax/swing/JApplet.java: @@ -6352,7 +6539,7 @@ (setUI): New method. 2004-09-25 Shashank Bapat - Mark Wielaard + Mark Wielaard * gnu/regexp/RE.java (initialize): Add RETokenLookAhead support. * gnu/regexp/RETokenLookAhead.java: New file. @@ -6941,6 +7128,12 @@ * configure.ac: Set version to 0.11+cvs. +2004-09-18 Tom Tromey + + * java/lang/annotation/Retention.java: Documented. + * java/lang/annotation/RetentionPolicy.java: Documented. + * java/lang/StringBuilder.java: Updated documentation. + 2004-09-17 Tom Tromey * vm/reference/java/lang/VMProcess.java (ProcessThread): Added @@ -7167,6 +7360,17 @@ (getDefaultTimeZone): Fixed test to distinguish between hours and minutes in specified timezone. +2004-09-07 Tom Tromey + + * java/lang/SuppressWarnings.java: Document. + + * java/lang/StringBuilder.java: New file. + * java/lang/String.java (String(StringBuilder)): New constructor. + * java/lang/StringBuffer.java: Added comment. + + * java/lang/Override.java: Documented. + * java/lang/Deprecated.java: Documented. + 2004-09-06 Andrew John Hughes * java/awt/Canvas.java @@ -7247,7 +7451,7 @@ 2004-09-05 Mark Wielaard - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c (setChars): Only call pango_itemize() when vec->glyphitems != NULL. Only call pango_shape() when gi->glyphs->num_glyphs > 0. @@ -7567,7 +7771,7 @@ (modelToView): New method. * javax/swing/text/PlainView.java (modelToView): Made public. - + 2004-09-04 Michael Koch * javax/swing/text/AbstractDocument.java @@ -7790,6 +7994,13 @@ * examples/gnu/classpath/examples/swing/Demo.java: Added demo for JTextField. + +2004-09-04 Tom Tromey + + * java/lang/SuppressWarnings.java: Added imports. + * java/lang/Override.java: Added imports. + * java/lang/Deprecated.java: Added imports. + 2004-09-03 Mark Wielaard * Makefile.am (SUBDIRS): Remove external. @@ -7800,6 +8011,12 @@ * external/*: Removed. * NEWS: Mention GNU JAXP. +2004-09-03 Tom Tromey + + * java/util/EnumMap.java: New file. + * java/util/EnumSet.java: New file. + * java/util/BitSet.java (containsAll): New method. + 2004-08-31 Mark Wielaard * NEWS: Add new news. @@ -7835,6 +8052,7 @@ * vm/reference/java/io/VMFile.java: Reindented. + 2004-08-29 Mark Wielaard * resource/org/.cvsignore: New file. @@ -7901,9 +8119,41 @@ 2004-08-27 Sven de Marothy - * java/awt/geom/Area.java + * java/awt/geom/Area.java Implemented. +2004-08-26 Tom Tromey + + * java/lang/reflect/AnnotatedElement.java: New file. + * vm/reference/java/lang/reflect/Constructor.java (Constructor): + Now generic. Implements GenericDeclaration. + (clazz): Now generic. + (getDeclaringClass): Likewise. + (getExceptionTypes): Likewise. + (getParameterTypes): Likewise. + (newInstance): Likewise. + (constructNative): Likewise. + * java/lang/reflect/GenericDeclaration.java: New file. + * java/lang/reflect/GenericSignatureFormatError.java: New file. + * java/lang/reflect/WildcardType.java: New file. + * java/lang/reflect/TypeVariable.java: New file. + * java/lang/reflect/ParameterizedType.java: New file. + * java/lang/MalformedParameterizedTypeException.java: New file. + * java/lang/TypeNotPresentException.java: New file. + * java/lang/reflect/GenericArrayType.java: New file. + * java/lang/reflect/Type.java: New file. + + * java/io/Writer.java (Writer): Implements Closeable, Flushable, + Appendable. + (append): New methods. + * java/io/OutputStream.java (OutputStream): Implements Closeable, + Flushable. + * java/io/Reader.java (Reader): Implements Closeable. + * java/io/InputStream.java (InputStream): Implements Closeable. + * java/nio/channels/Channel.java (Channel): Extends Closeable. + * java/io/Flushable.java: New file. + * java/io/Closeable.java: New file. + 2004-08-25 Mark Wielaard * java/awt/geom/Arc2D.java (ArcIterator): Make package private. @@ -7912,7 +8162,7 @@ * java/awt/geom/Arc2D.java Reformatted. - setArc(): Correct documentation to say 'upper left corner'. + (setArc()): Correct documentation to say 'upper left corner'. (setArcByTangent,contains,intersects): Implemented. (containsAngle): Corrected to handle negative extents. ArcIterator: Set to private. @@ -7933,7 +8183,7 @@ * java/awt/KeyboardFocusManager.java Added missing documentation. - + 2004-08-22 Patrik Reali * doc/www.gnu.org/newsitems.txt: news on JSpinner and java crypto @@ -7963,7 +8213,7 @@ (getContext): set `inGetContext' as early as possible. Include the call just prior to `doPrivileged' too. Handle new form of `contexts' stack. - + 2004-08-20 Casey Marshall * java/security/cert/X509CRLSelector.java: new file. @@ -7978,16 +8228,16 @@ * javax/swing/JTextArea.java Implemented insert() method and added additional documentation. - + 2004-08-18 Andrew John Hughes - + * javax/swing/SpinnerListModel.java, javax/swing/SpinnerModel.java Implemented SpinnerListModel. Added documentation to SpinnerModel. - + 2004-08-18 Bryce McKinlay - - PR libgcj/17081 + + PR libgcj/17081 * java/net/URI.java (string): New field. Make all other fields transient. (readObject): Implemented. @@ -8013,24 +8263,24 @@ * java/util/AbstractCollection.java, java/util/AbstractList.java, java/util/AbstractMap.java, java/util/AbstractSequentialList.java, java/util/ArrayList.java, java/util/Arrays.java, - java/util/BitSet.java, java/util/Calendar.java, - java/util/Collection.java, java/util/ListIterator.java, - java/util/Map.java, java/util/SortedSet.java: - Added additional exceptions to documentation, along - with some additions and corrections. - + java/util/BitSet.java, java/util/Calendar.java, + java/util/Collection.java, java/util/ListIterator.java, + java/util/Map.java, java/util/SortedSet.java: + Added additional exceptions to documentation, along + with some additions and corrections. + 2004-08-16 Tom Tromey * .classpath: Updated. 2004-08-16 Tom Tromey - Bug 9596. + Bug 9596. * java/lang/Class.java (getName): Fixed javadoc. - + 2004-08-16 Tom Tromey - Bug 9949. + Bug 9949. * java/text/AttributedString.java (AttributedString): Use ArrayList to build array of attribute ranges. Don't use `attribs' before it is set. @@ -8065,6 +8315,12 @@ * java/io/File.java File(String,String): Fixed handling of empty path. +2004-08-16 Tom Tromey + + * java/util/AbstractQueue.java (addAll): Return a result. + (element): Fixed typo. + * java/util/PriorityQueue.java: New file. + 2004-08-15 Casey Marshall * java/security/DummyKeyPairGenerator.java (clone): removed @@ -8079,40 +8335,82 @@ * java/security/SignatureSpi.java (clone): likewise. * javax/crypto/MacSpi.java (clone): likewise. +2004-08-15 Matthias Pfisterer + Tom Tromey + + * java/util/HashMap.java (HashMap): Fixed parameterization in + `new'. + (putAll): Fixed parameterization. + (containsValue): Likewise. + (clone): Likewise. + (getEntry): Likewise. + * java/util/Dictionary.java (remove): Fixed parameterization. + * java/util/Collections.java (shuffle): Fixed indentation and + type of iterator. + (copy): Fixed argument types. + (SingletonSet.containsAll): Fixed type parameterizations. + (SingletonList.containsAll): Likewise. + (EmptyMap.get): Likewise. + (isSequential): Likewise. + (EmptySet): Genericized. + (EmptyList): Likewise. + (EmptyMap): Likewise. + (compare): Likewise. + (SynchronizedCollection.containsAll): Fixed type + parameterization. + (SynchronizedCollection.iterator): Likewise. + (SynchronizedList.listIterator): Likewise. + (SynchronizedList.subList): Likewise. + (SynchronizedMap.keySet): Likewise. + (SynchronizedMap.values): Likewise. + (synchronizedSortedSet): Likewise. + (UnmodifiableCollection.containsAll): Likewise. + (UnmodifiableList.listIterator): Likewise. + * java/util/Calendar.java: Implement Comparable. + (compareTo): New method. + * java/util/Arrays.java (sort): Declare type variable. + (asList): Corrected argument type. + (ArrayList): Genericized. + * java/util/ArrayList.java: Genericized. + * java/util/AbstractSet.java (removeAll): Fix type errors in + iterator declarations. + * java/util/AbstractSequentialList.java (addAll): Genericize + iterator `i'. + 2004-08-14 Ka-Hing Cheung * javax/swing/AbstractSpinnerModel.java, - javax/swing/JSpinner.java, + javax/swing/JSpinner.java, javax/swing/SpinnerNumberModel.java, - javax/swing/plaf/basic/BasicSpinnerUI.java: - New files. + javax/swing/plaf/basic/BasicSpinnerUI.java: + New files. * javax/swing/plaf/basic/BasicLookAndFeel.java - (initClassDefaults): Added defaults for BasicSpinnerUI. - + (initClassDefaults): Added defaults for BasicSpinnerUI. + 2004-08-14 Mark Wielaard - + * examples/gnu/classpath/examples/swing/Demo.java (mkSpinner): - New method. - (mkButtonBar): Add Spinner. + New method. + (mkButtonBar): Add Spinner. 2004-08-14 Casey Marshall - + The Big Crypto Merge of 2004. - + * configure.ac: generate jgss resource Makefiles. * lib/Makefile.am: updated for jgss resources. - + * lib/gen-classlist.sh.in: updated for classes in org/. * javax/security/auth/x500/X500Principal.java: replaced with GNU - Crypto's version. - + Crypto's version. + * resource/org/Makefile.am, * resource/org/ietf/Makefile.am, * resource/org/ietf/jgss/Makefile.am: new files. - + Files imported from GNU Crypto. * javax/crypto/BadPaddingException.java * javax/crypto/Cipher.java @@ -8266,7 +8564,7 @@ (toIso88591, toUtf16Be, toUtf8): new methods. * gnu/java/security/der/DERValue.java: formatting changes only. * gnu/java/security/der/DER.java: likewise. - + 2004-08-14 Mark Wielaard * configure.ac: Add --enable-gtk-cairo checking (cairo, pangoft2). @@ -8297,7 +8595,7 @@ * java/lang/Rectangle.java (intersects): Check r.width and r.height first. - + 2004-08-13 Tom Tromey * java/nio/CharBuffer.java (put): Fix typo. @@ -8307,13 +8605,9 @@ * java/nio/LongBuffer.java (put): Fix typo. * java/nio/ShortBuffer.java (put): Fix typo. -2004-08-09 Florian Weimer - - * java/nio/ByteBuffer.java (put): Fix typo. - 2004-08-12 Guilhem Lavaux - * java/net/URL.java (URL): Delete whitespaces in the protocol string. + * java/net/URL.java (URL): Delete whitespaces in the protocol string. 2004-08-12 Tom Tromey @@ -8324,15 +8618,19 @@ * doc/www.gnu.org/newsitems.txt: added newitem about generics branch +2004-08-09 Florian Weimer + + * java/nio/ByteBuffer.java (put): Fix typo. + 2004-08-09 Thomas Fitzsimmons - PR AWT/16121 +PR AWT/16121 * native/jni/gtk-peer/gthread-jni.c: Include stdio.h. Eliminate type-punning compiler warnings using unions. (throw): Replace bzero with memset. - + 2004-08-09 Andreas Tobler - Thomas Fitzsimmons + Thomas Fitzsimmons * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: Move NSA_PB macros to gtkpeer.h. Include gtkpeer.h. @@ -8414,12 +8712,12 @@ (nativeSetIconImage): Rename to nativeSetIconImageFromDecoder. (free_pixbuf_data): New helper function. (nativeSetIconImageFromData): New function. - + 2004-08-08 Kim Ho * java/awt/Component.java: (processMouseEvent): Consume event after - listene rs process it. + listeners process it. (processMouseMotionEvent): ditto. (processMouseWheelEvent): ditto. * java/awt/Container.java: @@ -8442,12 +8740,113 @@ (createRigidArea): Likewise. (createVerticalBox): Likewise. +2004-08-08 Tom Tromey + + * java/lang/Enum.java: Added package declaration. + + * java/util/Collections.java (reverseOrder): Syntax fix. + + * external/jaxp/source/gnu/xml/aelfred2/XmlParser.java: Don't use + `enum' keyword. + + * java/lang/Class.java, java/lang/Enum.java, + java/lang/InheritableThreadLocal.java, + java/util/AbstractCollection.java, java/util/Arrays.java, + java/util/Collections.java, java/util/LinkedList.java, + java/util/TreeSet.java, java/util/Vector.java: Fixed minor syntax + errors. + +2004-08-07 Tom Tromey + + * java/util/AbstractQueue.java: New file. + * java/util/LinkedList.java (element): New method. + (offer): Likewise. + (peek): Likewise. + (poll): Likewise. + (remove): Likewise. + (LinkedList): Implement Queue. + * java/util/Queue.java: New file. + + * java/lang/Enum.java: New file. + * java/lang/Object.java (getClass): Now generic. + + * java/lang/StringBuffer.java (StringBuffer(CharSequence)): New + constructor. + (append(CharSequence)): New method + (append(CharSequence,int,int)): Likewise. + (StringBuffer): Implements Appendable. + + * java/lang/ref/WeakReference.java: Now generic. + * java/lang/ref/SoftReference.java: Now generic. + * java/lang/ref/ReferenceQueue.java: Now generic. + * java/lang/ref/Reference.java: Now generic. + * java/lang/ref/PhantomReference.java: Now generic. + + * java/lang/annotation/AnnotationFormatError.java: New file. + * java/lang/annotation/IncompleteAnnotationException.java: New + file. + * java/lang/annotation/AnnotationTypeMismatchException.java: New + file. + * java/lang/annotation/RetentionPolicy.java: New file. + * java/lang/annotation/ElementType.java: New file. + * java/lang/annotation/Target.java: New file. + * java/lang/annotation/Retention.java: New file. + * java/lang/annotation/Inherited.java: New file. + * java/lang/annotation/Documented.java: New file. + * java/lang/annotation/Annotation.java: New file. + * java/lang/Override.java: Fixed formatting. + * java/lang/Deprecated.java: Now Documented. + 2004-08-06 Tom Tromey * java/net/DatagramSocket.java: Fixed typo. * java/awt/image/Kernel.java (clone): Use super.clone(). +2004-08-06 Tom Tromey + + * java/lang/Class.java (asSubClass): Cast `this', not argument. + + * vm/reference/java/lang/VMClass.java (cast): Declare. + * java/io/SequenceInputStream.java (SequenceInputStream): + Constructor now generic. + (e): Updated. + (getNextStream): Likewise. + * java/lang/Thread.java (UncaughtExceptionHandler): New + interface. + (State): New enum. + * java/lang/Readable.java: New file. + * java/lang/Appendable.java: New file. + * java/lang/Iterable.java: Documented. + * java/lang/Class.java (asSubClass): New method. + (Class): Now generic. + * java/lang/Boolean.java (parseBoolean): New methods. + (compareTo): Likewise. + (Boolean): Now implements Comparable. + * java/lang/ThreadLocal.java: Now generic. + * java/lang/InheritableThreadLocal.java: Now generic. + * java/lang/Deprecated.java: New file. + * java/lang/Override.java: New file. + * java/lang/SuppressWarnings.java: New file. + +2004-08-05 Tom Tromey + + * java/lang/Iterable.java: New file. + * java/lang/Comparable.java, java/util/AbstractCollection.java, + java/util/AbstractList.java, java/util/AbstractMap.java, + java/util/AbstractSequentialList.java, java/util/AbstractSet.java, + java/util/Arrays.java, java/util/Collection.java, + java/util/Collections.java, java/util/Comparator.java, + java/util/Dictionary.java, java/util/Enumeration.java, + java/util/HashMap.java, java/util/HashSet.java, + java/util/Iterator.java, java/util/LinkedHashSet.java, + java/util/LinkedList.java, java/util/List.java, + java/util/ListIterator.java, java/util/Map.java, + java/util/Set.java, java/util/SortedMap.java, + java/util/SortedSet.java, java/util/Stack.java, + java/util/TreeSet.java, java/util/Vector.java: Updated to use + generics. + 2004-08-04 Patrik Reali * doc/www.gnu.org/newsitems.txt: latest AWT+SWING screenshots @@ -8476,6 +8875,17 @@ float[] coords. * java/awt/geom/RoundRectangle2D.java: Several bugfixes (Bug #6007). +2004-08-01 Sven de Marothy + + * java/awt/geom/CubicCurve2.java: Reindent. + (contains): Implemented. + (intersects): Implemented. + * java/awt/geom/QuadCurve2D.java: Likewise. + * java/awt/geom/GeneralPath.java: Reindent and document. + Fully (re)implemented using separate xpoints and ypoints + float[] coords. + * java/awt/geom/RoundRectangle2D.java: Several bugfixes (Bug #6007). + 2004-08-01 Mark Wielaard * NEWS: Mention new examples. diff --git a/libjava/classpath/ChangeLog-2005 b/libjava/classpath/ChangeLog-2005 index 45ad84db66f..ed9dca268d3 100644 --- a/libjava/classpath/ChangeLog-2005 +++ b/libjava/classpath/ChangeLog-2005 @@ -1028,6 +1028,16 @@ handle XML namespace; handle xml:base; normalize CR/LF pairs created as a result of mixed text and character entity references. +2005-12-14 Nicolas Geoffray + + * java/lang/ClassLoader + (defineClass(String,byte[],int,int,ProtectionDomain)): + Calls VMClassLoader.defineClassWithTransformers instead + of VMClassLoader.defineClass. + * vm/reference/java/lang/VMClassLoader + (defineClassWithTransformers): New method. + (instrumenter): New Field. + 2005-12-14 Roman Kennke * gnu/java/awt/peer/gtk/GdkGraphics.java @@ -1111,6 +1121,17 @@ * java/io/File.java (File): Throw IllegalArgumentException if URI is non-hierarchical. +2005-12-13 Tom Tromey + + * java/lang/instrument/ClassDefinition.java: Reformatted. + * java/lang/instrument/UnmodifiableClassException.java: Reformatted. + * java/lang/instrument/IllegalClassFormatException.java: Reformatted. + +2005-12-13 Tom Tromey + + * java/lang/instrument/ClassDefinition.java (ClassDefinition): Now + public. + 2005-12-13 Lillian Angel * javax/swing/text/html/HTMLEditorKit.java @@ -1311,168 +1332,144 @@ * lib/copy-vmresources.sh.in: Added some '.' after find. -2005-12-09 Lillian Angel - - * javax/swing/text/html/CSS.java: - Fixed class signature. - * javax/swing/text/html/HTMLEditorKit.java: - Fixed class signature. - (LinkController): New class added with only stubs. Functions - are not implmented yet. - (InsertHTMLTextAction): New class. Constructors implemented. - (insertHTML): Implemented. - (insertAtBoundary): Added, not yet implemented. - (insertAtBoundry): Implemented. - (actionPerformed): Added, not yet implemented. - (HTMLTextAction): New class. - (getHTMLDocument): Implemented. - (getHTMLEditorKit): Implemented. - (getElementsAt): Implemented. - (elementCountToTag): Added, not yet implemented. - (findElementMatchingTag): Likewise. - (getViewFactory): Implemented. - (HTMLFactory): Moved to beginning of class, with other inner classes. - (ParserCallBack): Added constructor, not yet implemented. - (clone): Added, not yet implemented. Calls super. - (createInputAttributes): Likewise. - (install): Likewise. - (deinstall): Likewise. - (getActions): Likewise. - (getInputAttributes): Likewise. - (getDefaultCursor): Implemented. - (getLinkCursor): Implemented. - (SetLinkCursor): Implemented. - (setDefaultLinkCursor): Implemented. - (AccessibleContext): Can't implement until AccessibleHTML is - implemented. Currently, returns null because accessibility is not supported. - -2005-12-09 Anthony Balkissoon - - * javax/swing/JEditorPane.java: - (setText): Allow the EditorKit to read the text into the Document, - allowing for other than plain text. - -2005-12-09 Lillian Angel - - * javax/swing/text/html/HTMLDocument.java - (getReader): Added function. Not implemented. It was - added so a certain mauve test committed compiles with - classpath fine. - -2005-12-09 Lillian Angel - - * javax/swing/text/html/HTMLEditorKit.java - (getViewFactory): Fixed class name of ViewFactory returned. - (HTMLFactory): Fixed class name to match API. - -2005-12-08 Lillian Angel - - * javax/swing/text/html/HTMLEditorKit.java - (insertHTML): Added method, not implemented yet. - (read): Likewise. - (write): Likewise. - (getContentType): Implemented. - (getViewFactory): Implemented. - (HTMLViewFactory): New package-private inner class, implemented. - -2005-12-08 Lillian Angel - - * javax/swing/text/StyledEditorKit.java - (create): Reverted to use BoxView. I need to write - a mauve test to be sure about this. - -2005-12-08 Lillian Angel - - * javax/swing/text/StyledEditorKit.java - (create): Changed to use BlockView here instead of BoxView. - -2005-12-08 Anthony Balkissoon +2005-12-09 Tom Tromey - * javax/swing/JEditorPane.java: - (init): Changed to no-argument instead of taking in an EditorKit and - passing it to setEditorKit. Callers will have to call setEditorKit - themselves. - (JEditorPane()): Changed call to init to have no arguments, call - setEditorKit after init. - (JEditorPane(String, String)): Likewise. - (JEditorPane(URL)): Don't call default constructor, call init and then - setEditorKit using the appropriate EditorKit for text/html. - -2005-12-08 Anthony Balkissoon - - * javax/swing/JEditorPane.java: - (registerMap): New field. - (editorMap): New field. - (JEditorPane()): Call init instead of setEditorKit. - (JEditorPane(String, String)): Likewise. - (init): New method. - (createEditorKitForContentType): Implemented and documented. - (getEditorKitClassNameForContentType): Likewise. - (getEditorKitForContentType): Likewise. - (registerEditorKitForContentType): Likewise. - (replaceSelection): Call super (this is temporary until the real - implementation happens. There is already a TODO noting that this needs - to be implemented. - (setEditorKitForContentType): Implemented and documented. - -2005-12-08 Lillian Angel - - * javax/swing/text/html/BlockView.java: - New class added. - (BlockView): Implemented. - (setParent): Implemented. - (calculateMajorAxisRequirements): Added, not fully implemented. - (calculateMinorAxisRequirements): Likewise. - (layoutMinorAxis): Likewise. - (paint): Implemented, but some code is commented out since - StyleSheet is not yet implemented. - (getAttributes): Likewise. - (getResizeWeight): Implemented. - (getAlignment): Implemented. - (changedUpdate): Implemented. - (getPreferredSpan): Implemented. - (getMinimumSpan): Implemented. - (getMaximumSpan): Implemented. - (setPropertiesFromAttributes): Added, not implemented yet. Need - to wait for StyleSheet to be implemented. - -2005-12-08 Tom Tromey - - * javax/security/auth/login/LoginContext.java (LoginContext): New - constructor. - * javax/security/auth/login/CredentialNotFoundException.java: New - file. - * javax/security/auth/login/CredentialExpiredException.java: Extends - CredentialException. - * javax/security/auth/login/CredentialException.java: New file. - * javax/security/auth/login/AccountNotFoundException.java: New file. - * javax/security/auth/login/AccountLockedException.java: New file. - * javax/security/auth/login/AccountExpiredException.java: Extends - AccountException. - * javax/security/auth/login/AccountException.java: New file. - -2005-12-08 Roman Kennke - - * javax/swing/JComponent.java - (JComponent): Don't set a layout here. The default setting should be - null. - -2005-12-07 Tom Tromey - - * java/lang/Float.java (toHexString): New method. - * java/lang/Double.java (toHexString): New method. - -2005-12-07 Gary Benson - - * java/io/RandomAccessFile.java (RandomAccessFile): Don't create - DataOutputStream for read-only files to avoid unnecessary security - manager check. - -2005-12-07 Ito Kazumitsu - - Fixes bug #25273 - * java/text/DecimalFormat.java(scanFormat): Don't set - minimumIntegerDigits to 0. + * javax/print/attribute/standard/Chromaticity.java + (getCategory): Genericized. + * javax/print/attribute/standard/ColorSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/Compression.java + (getCategory): Genericized. + * javax/print/attribute/standard/Copies.java + (getCategory): Genericized. + * javax/print/attribute/standard/CopiesSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/DateTimeAtCompleted.java + (getCategory): Genericized. + * javax/print/attribute/standard/DateTimeAtCreation.java + (getCategory): Genericized. + * javax/print/attribute/standard/DateTimeAtProcessing.java + (getCategory): Genericized. + * javax/print/attribute/standard/Destination.java + (getCategory): Genericized. + * javax/print/attribute/standard/DocumentName.java + (getCategory): Genericized. + * javax/print/attribute/standard/Fidelity.java + (getCategory): Genericized. + * javax/print/attribute/standard/Finishings.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobHoldUntil.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobImpressions.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobImpressionsCompleted.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobImpressionsSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobKOctets.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobKOctetsProcessed.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobKOctetsSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobMediaSheets.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobMediaSheetsCompleted.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobMediaSheetsSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobMessageFromOperator.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobName.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobOriginatingUserName.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobPriority.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobPrioritySupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobSheets.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobState.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobStateReason.java + (getCategory): Genericized. + * javax/print/attribute/standard/JobStateReasons.java + (getCategory): Genericized. + * javax/print/attribute/standard/Media.java + (getCategory): Genericized. + * javax/print/attribute/standard/MediaPrintableArea.java + (getCategory): Genericized. + * javax/print/attribute/standard/MediaSize.java + (getCategory): Genericized. + * javax/print/attribute/standard/MultipleDocumentHandling.java + (getCategory): Genericized. + * javax/print/attribute/standard/NumberOfDocuments.java + (getCategory): Genericized. + * javax/print/attribute/standard/NumberOfInterveningJobs.java + (getCategory): Genericized. + * javax/print/attribute/standard/NumberUp.java + (getCategory): Genericized. + * javax/print/attribute/standard/NumberUpSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/OrientationRequested.java + (getCategory): Genericized. + * javax/print/attribute/standard/OutputDeviceAssigned.java + (getCategory): Genericized. + * javax/print/attribute/standard/PDLOverrideSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/PageRanges.java + (getCategory): Genericized. + * javax/print/attribute/standard/PagesPerMinute.java + (getCategory): Genericized. + * javax/print/attribute/standard/PagesPerMinuteColor.java + (getCategory): Genericized. + * javax/print/attribute/standard/PresentationDirection.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrintQuality.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterInfo.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterIsAcceptingJobs.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterLocation.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterMakeAndModel.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterMessageFromOperator.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterMoreInfo.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterMoreInfoManufacturer.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterName.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterResolution.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterState.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterStateReason.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterStateReasons.java + (getCategory): Genericized. + * javax/print/attribute/standard/PrinterURI.java + (getCategory): Genericized. + * javax/print/attribute/standard/QueuedJobCount.java + (getCategory): Genericized. + * javax/print/attribute/standard/ReferenceUriSchemesSupported.java + (getCategory): Genericized. + * javax/print/attribute/standard/RequestingUserName.java + (getCategory): Genericized. + * javax/print/attribute/standard/Severity.java + (getCategory): Genericized. + * javax/print/attribute/standard/SheetCollate.java + (getCategory): Genericized. + * javax/print/attribute/standard/Sides.java + (getCategory): Genericized. + * javax/print/attribute/HashAttributeSet.java (get): Genericized. + (remove): Likewise. + * javax/print/attribute/Attribute.java (getCategory): Fixed return + type. 2005-12-06 Anthony Balkissoon @@ -1538,6 +1535,73 @@ preferred size. Also, I added a comment explaining a possible bug in this method. +2005-12-06 Tom Tromey + + * javax/security/auth/Subject.java (Subject): Genericized. + (getPrincipals): Likewise. + (getPrivateCredentials): Likewise. + (getPublicCredentials): Likewise. + (getPublicCredentials): Likewise. + +2005-12-06 Tom Tromey + + * javax/imageio/ImageIO.java (ImageReaderIterator): Genericized. + Added new constructor. + (ImageWriterIterator): Likewise. + (getReadersByFilter): Genericized. + (getWritersByFilter): Likewise. + (getImageReadersBySuffix): Likewise. + (getImageWriters): Likewise. + (hasNext): Likewise. + * javax/print/attribute/AttributeSetUtilities.java + (verifyAttributeCategory): Genericized. + (verifyAttributeValue): Likewise. + (verifyCategoryForValue): Likewise. + * javax/print/attribute/AttributeSet.java (containsKey): Genericized. + (get): Likewise. + (remove): Likewise. + * javax/print/attribute/Attribute.java (getCategory): Genericized. + * javax/print/attribute/HashAttributeSet.java (HashAttributeSet): + Genericized. + (containsKey): Likewise. + * javax/imageio/spi/ServiceRegistry.java (deregisterAll): + Genericized. + * javax/imageio/spi/IIOServiceProvider.java (onDeregistration): + Genericized. + (onRegistration): Likewise. + * javax/imageio/metadata/IIOMetadataFormatImpl.java (getObjectClass): + Genericized. + (getObjectMaxValue): Likewise. + (getObjectMinValue): Likewise. + * javax/imageio/ImageIO.java (getImageReadersBySuffix): Genericized. + (getImageWriters): Likewise. + +2005-12-05 Casey Marshall + + * native/jni/classpath/jcl.h (environ): define, or declare + 'extern.' + * native/jni/java-lang/java_lang_VMProcess.c: include . + Remove 'extern' define. + * native/jni/java-lang/java_lang_VMSystem.c + (Java_java_lang_VMSystem_environ): don't declare 'environ.' + +2005-12-05 Tom Tromey + + * java/lang/instrument/Instrumentation.java (redefineClasses): Javadoc + fix. + * java/lang/instrument/ClassFileTransformer.java (transform): Javadoc + fix. + +2005-12-04 Nicolas Geoffray + + * vm/reference/java/lang/VMInstrumentationImpl.java + (redefineClasses): Added an extra parameter of type + java.lang.instrument.Instrument. + * java/lang/InstrumentationImpl.java + (redefineClasses): Added the Instrumentation object + to the arguments of VMInstrumentationImpl.redefineClasses + call. + 2005-12-05 Mark Wielaard Fixes bug classpath/25257 @@ -1562,12 +1626,55 @@ (getClipboard): Return null when access denied. (clipboard): Removed static field. +2005-12-03 Nicolas Geoffray + + * java/lang/instrument: New directory. + * java/lang/instrument/ClassDefinition.java: + New file. + * java/lang/instrument/ClassFileTransformer.java: + New file. + * java/lang/instrument/IllegalClassFormatException.java: + New file. + * java/lang/instrument/Instrumentation.java: + New file. + * java/lang/instrument/UnmodifiableClassException.java: + New file. + * java/lang/InstrumentationImpl.java: + New file. + * vm/reference/java/lang/VMInstrumentationImpl.java: + New file. + 2005-12-03 Mark Wielaard * configure.ac (AC_CONFIG_FILES): Removed native/jni/sampled-jack/Makefile. (AC_ARG_ENABLE [jack]): Removed. +2005-12-02 Tom Tromey + + * javax/sound/sampled/Port.java (Info): Genericized. + * javax/sound/sampled/Line.java (Info): Genericized. + (getLineClass): Likewise. + * javax/sound/sampled/DataLine.java (Info): Genericized. + * javax/sound/sampled/AudioFormat.java (AudioFormat): Genericized. + (properties): Likewise. + * javax/sound/sampled/AudioFileFormat.java (AudioFileFormat): + Genericized. + (properties): Likewise. + +2005-12-02 Tom Tromey + + * javax/naming/directory/InitialDirContext.java (search): Genericized. + * javax/naming/directory/BasicAttributes.java (getAll): Genericized. + (getIDs): Likewise. + * javax/naming/directory/BasicAttribute.java (getAll): Fixed return + type. + * javax/naming/InitialContext.java: Genericized. + (list): Likewise. + (listBindings): Likewise. + * javax/naming/CompoundName.java (getAll): Genericized. + * javax/naming/CompositeName.java (getAll): Genericized. + 2005-12-02 Anthony Balkissoon * javax/swing/text/InternationalFormatter.java: @@ -1608,6 +1715,65 @@ should return a factory, not just a formatter. (createFormatterFactory): New method adapted from createFormatter. +2005-12-01 Tom Tromey + + * javax/imageio/spi/RegisterableService.java (onRegistration): + Genericized. + (onDeregistration): Likewise. + * javax/imageio/spi/ServiceRegistry.java (ServiceRegistry): + Genericized. + (deregisterServiceProvider): Likewise. + (getCategories): Likewise. + (getServiceProviderByClass): Likewise. + (getServiceProviders): Likewise. + (lookupProviders): Likewise. + (registerServiceProvider): Likewise. + (registerServiceProviders): Likewise. + (setOrdering): Likewise. + (unsetOrdering): Likewise. + * javax/imageio/spi/ImageOutputStreamSpi.java (outputClass): + Genericized. + (ImageOutputStreamSpi): Likewise. + (getOutputClass): Likewise. + * javax/imageio/spi/ImageInputStreamSpi.java (inputClass): + Genericized. + (ImageInputStreamSpi): Likewise. + (getInputClass): Likewise. + * javax/imageio/metadata/IIOMetadataFormatImpl.java (addAttribute): + Genericized. + (addObjectValue): Likewise. + * javax/imageio/metadata/IIOMetadataFormat.java (getObjectClass): + Genericized. + (getObjectMaxValue): Likewise. + (getObjectMinValue): Likewise. + * javax/imageio/ImageIO.java (getImageReaders): Genericized. + (getImageReadersByFormatName): Likewise. + (getImageReadersByMIMEType): Likewise. + (getImageTranscoders): Likewise. + (getImageWritersByFormatName): Likewise. + (getImageWritersByMIMEType): Likewise. + (getImageWritersBySuffix): Likewise. + (getImageReader): Use getOriginatingProvider. + (getImageWriter): Likewise. + * javax/imageio/ImageWriter.java (progressListeners): Genericized. + (warningListeners): Likewise. + (warningLocales): Likewise. + (prepareInsertEmpty): Likewise. + (prepareWriteEmpty): Likewise. + * javax/imageio/ImageReader.java (progressListeners): Genericized. + (updateListeners): Likewise. + (warningListeners): Likewise. + (warningLocales): Likewise. + (getDestination): Likewise. + (getImageMetadata): Likewise. + (getImageTypes): Likewise. + (getStreamMetadata): Likewise. + (readAll): Likewise. + * javax/imageio/IIOImage.java (IIOImage): Genericized. + (thumbnails): Likewise. + (getThumbnails): Likewise. + (setThumbnails): Likewise. + 2005-12-01 Anthony Green PR bootstrap/25207 @@ -1741,6 +1907,48 @@ (nativeToFlavorMap): removed generalization. (flavorToNativeMap): likewise. +2005-11-29 Tom Tromey + + * javax/swing/text/StyleContext.java (removeAttributes): Genericized. + (getAttributeNames): Likewise. + * javax/swing/text/SimpleAttributeSet.java (getAttributeNames): + Genericized. + (removeAttributes): Likewise. + * javax/swing/text/DefaultStyledDocument.java (getStyleNames): + Genericized. + * javax/swing/text/AbstractDocument.java (getAttributeNames): + Genericized. + (removeAttributes): Likewise. + * javax/swing/table/TableColumnModel.java (getColumns): Genericized. + * javax/swing/table/AbstractTableModel.java (getColumnClass): + Genericized. + * javax/swing/tree/VariableHeightLayoutCache.java + (getVisiblePathsFrom): Genericized. + * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): + Genericized. + * javax/swing/undo/StateEdit.java (postState): Genericized. + (preState): Likewise. + * javax/security/sasl/SaslServerFactory.java (createSaslServer): + Genericized. + * javax/security/sasl/SaslClientFactory.java (createSaslClient): + Genericized. + (getMechanismNames): Likewise. + * javax/security/sasl/Sasl.java (createSaslClient): Genericized. + (createSaslServer): Likewise. + (getSaslClientFactories): Likewise. + (getSaslServerFactories): Likewise. + * javax/security/auth/spi/LoginModule.java (initialize): Genericized. + * javax/security/auth/login/AppConfigurationEntry.java + (AppConfigurationEntry): Genericized. + (getOptions): Likewise. + * javax/sql/RowSet.java (getTypeMap): Genericized. + (setTypeMap): Likewise. + * java/sql/Array.java (getResultSet): Genericized. + * java/security/cert/X509CertSelector.java (getExtendedKeyUsage): + Genericized. + * java/security/Permissions.java (elements): Genericized. + * java/rmi/server/RMIClassLoader.java (loadClass): Genericized. + 2005-11-29 Lillian Angel * javax/swing/plaf/metal/MetalFileChooserUI.java @@ -1872,6 +2080,91 @@ * java/util/logging/XMLFormatter.java (format): Don't call getMillis() twice. +2005-11-27 Tom Tromey + + * javax/print/attribute/standard/PrinterStateReasons.java: + Genericized. + * javax/print/attribute/standard/JobStateReasons.java: Genericized. + * javax/print/PrintService.java (getAttribute): Genericized. + (getDefaultAttributeValue): Likewise. + (getSupportedAttributeCategories): Likewise. + (getSupportedAttributeValues): Likewise. + (isAttributeValueSupported): Likewise. + +2005-11-27 Tom Tromey + + * javax/naming/spi/StateFactory.java (getStateToBind): Genericized. + * javax/naming/spi/Resolver.java (resolveToClass): Genericized. + * javax/naming/spi/ObjectFactoryBuilder.java (createObjectFactory): + Genericized. + * javax/naming/spi/NamingManager.java (getInitialContext): + Genericized. + (getURLContext): Likewise. + (getObjectInstance): Likewise. + (getStateToBind): Likewise. + * javax/naming/spi/InitialContextFactoryBuilder.java + (createInitialContextFactory): Genericized. + * javax/naming/spi/InitialContextFactory.java (getInitialContext): + Genericized. + * javax/naming/spi/DirectoryManager.java (getObjectInstance): + Genericized. + (getStateToBind): Likewise. + * javax/naming/spi/DirStateFactory.java (getStateToBind): + Genericized. + * javax/naming/spi/ObjectFactory.java (getObjectInstance): + Genericized. + * javax/naming/spi/DirObjectFactory.java (getObjectInstance): + Genericized. + * javax/naming/ldap/LdapReferralException.java (getReferralContext): + Genericized. + * javax/naming/ldap/ControlFactory.java (getControlInstance): + Genericized. + * javax/naming/ldap/InitialLdapContext.java (InitialLdapContext): + Genericized. + * javax/naming/directory/DirContext.java (search): Genericized. + * javax/naming/directory/Attributes.java (getAll): Genericized. + (getIDs): Likewise. + * javax/naming/directory/Attribute.java (getAll): Genericized. + * javax/naming/directory/BasicAttribute.java (values): Genericized. + (getAll): Likewise. + * javax/naming/directory/InitialDirContext.java (InitialDirContext): + Genericized. + * javax/naming/ReferralException.java (getReferralContext): + Genericized. + * javax/naming/Name.java (getAll): Genericized. + * javax/naming/Context.java (getEnvironment): Genericized. + (list): Likewise. + (listBindings): Likewise. + * javax/naming/NamingEnumeration.java: Genericized. + (next): Likewise. + * javax/naming/Reference.java (addrs): Genericized. + (getAll): Likewise. + * javax/naming/CannotProceedException.java (environment): Genericized. + (getEnvironment): Likewise. + (setEnvironment): Likewise. + * javax/naming/InitialContext.java (myProps): Genericized. + (InitialContext): Likewise. + (init): Likewise. + * javax/naming/CompoundName.java (CompoundName): Genericized. + * javax/naming/CompositeName.java (CompositeName): Genericized. + +2005-11-27 Tom Tromey + + * java/sql/Struct.java (getAttributes): Genericized. + * java/sql/ResultSet.java (getObject): Genericized. + * java/sql/Ref.java (getObject): Genericized. + * java/sql/DriverManager.java (getDrivers): Genericized. + * java/sql/Connection.java (getTypeMap): Genericized. + (setTypeMap): Likewise. + * java/sql/CallableStatement.java (getObject): Genericized. + (getObject): Likewise. + * java/sql/Array.java (getBaseTypeName): Fixed javadoc. + (getArray): Likewise. + (getResultSet): Likewise. + (getResultSet): Likewise. + (getArray): Genericized. + (getResultSet): Likewise. + 2005-11-27 Tom Tromey * java/beans/PropertyChangeSupport.java (fireIndexedPropertyChange): @@ -1883,6 +2176,181 @@ * java/lang/StackTraceElement.java (StackTraceElement): New constructor. +2005-11-25 Tom Tromey + + * javax/swing/text/StyleContext.java (getStyleNames): Genericized. + * javax/swing/text/MutableAttributeSet.java (removeAttributes): + Genericized. + * javax/swing/text/DefaultFormatter.java (getValueClass): Genericized. + (setValueClass): Likewise. + * javax/swing/text/AttributeSet.java (getAttributeNames): Genericized. + * javax/swing/text/AbstractDocument.java (getDocumentProperties): + Genericized. + (setDocumentProperties): Likewise. + (removeAttributes): Likewise. + * javax/swing/SwingUtilities.java (getAncestorOfClass): Genericized. + * javax/swing/LookAndFeel.java (makeIcon): Genericized. + * javax/swing/JTable.java (getColumnClass): Genericized. + (getDefaultRenderer): Likewise. + (setDefaultRenderer): Likewise. + (getDefaultEditor): Likewise. + (setDefaultEditor): Likewise. + * javax/swing/JLayeredPane.java (getComponentToLayer): Genericized. + * javax/swing/DefaultListModel.java (elements): Genericized. + * javax/swing/ButtonGroup.java (buttons): Genericized. + (getElements): Likewise. + * javax/swing/SpinnerListModel.java (SpinnerListModel): Genericized. + (getList): Likewise. + (setList): Likewise. + * javax/swing/SortingFocusTraversalPolicy.java + (SortingFocusTraversalPolicy): Genericized. + (getComparator): Likewise. + (setComparator): Likewise. + * javax/swing/JTree.java (JTree): Genericized. + (getDescendantToggledPaths): Likewise. + (getExpandedDescendants): Likewise. + (removeDescendantToggledPaths): Likewise. + * javax/swing/JList.java (JList): Genericized. + Likewise. + * javax/swing/JComboBox.java (JComboBox): Genericized. + * javax/swing/DefaultComboBoxModel.java (DefaultComboBoxModel): + Genericized. + * javax/swing/UIDefaults.java: Genericized superclass. + (getUIClass): Likewise. + * javax/swing/event/EventListenerList.java (getListenerCount): + Genericized. + * javax/swing/plaf/basic/BasicDirectoryModel.java (getDirectories): + Genericized. + (getFiles): Likewise. + (sort): Likewise. + * javax/swing/plaf/basic/BasicTreeUI.java (drawingCache): Genericized. + * javax/swing/plaf/basic/BasicFileChooserUI.java (iconCache): + Genericized. + * javax/swing/table/TableModel.java (getColumnClass): Genericized. + * javax/swing/table/DefaultTableColumnModel.java (tableColumns): + Genericized. + (getColumns): Likewise. + (moveColumn): Updated. + * javax/swing/text/html/parser/ContentModel.java (getElements): + Genericized. + * javax/swing/text/html/parser/DTD.java (entityHash): Fixed type. + * javax/swing/text/html/parser/AttributeList.java (AttributeList): + Genericized. + (values): Likewise. + (getValues): Likewise. + * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): + Genericized. + * javax/swing/tree/DefaultMutableTreeNode.java (EMPTY_ENUMERATION): + Genericized. + * javax/swing/undo/StateEditable.java (restoreState): Genericized. + (storeState): Likewise. + +2005-11-25 Tom Tromey + + * java/rmi/server/RMIClassLoaderSpi.java (loadClass): Genericized. + (loadProxyClass): Likewise. + (getClassAnnotation): Likewise. + * java/rmi/server/RMIClassLoader.java (loadClass): Genericized. + (getClassAnnotation): Likewise. + * java/rmi/server/LoaderHandler.java (loadClass): Genericized. + +2005-11-25 Tom Tromey + + * java/awt/Font.java (Font): Genericized. + (deriveFont): Likewise. + (getAttributes): Likewise. + (getFont): Likewise. + +2005-11-25 Tom Tromey + + * java/text/NumberFormat.java (format): No longer final. + * java/text/AttributedCharacterIterator.java (getAllAttributeKeys): + Genericized. + (getAttributes): Likewise. + (getRunLimit): Likewise. + (getRunStart): Likewise. + * java/text/AttributedString.java (AttributedString): Genericized. + (addAttributes): Likewise. + * java/text/Collator.java: Implement Comparator. + +2005-11-25 Tom Tromey + + * java/security/cert/X509Extension.java (getCriticalExtensionOIDs): + Genericized. + (getNonCriticalExtensionOIDs): Likewise. + * java/security/cert/X509Certificate.java (getExtendedKeyUsage): + Genericized. + (getIssuerAlternativeNames): Likewise. + (getSubjectAlternativeNames): Likewise. + * java/security/cert/X509CertSelector.java (setExtendedKeyUsage): + Genericized. + (setSubjectAlternativeNames): Likewise. + * java/security/cert/X509CRLSelector.java (getIssuerNames): + Genericized. + (setIssuerNames): Likewise. + * java/security/cert/X509CRL.java (getRevokedCertificates): + Genericized. + * java/security/cert/PolicyNode.java (getChildren): Genericized. + (getExpectedPolicies): Likewise. + (getPolicyQualifiers): Likewise. + * java/security/cert/PKIXCertPathChecker.java (check): Genericized. + (getSupportedExtensions): Likewise. + * java/security/cert/CertificateFactorySpi.java + (engineGenerateCertPath): Genericized. + (engineGenerateCertificates): Likewise. + (engineGenerateCRLs): Likewise. + (engineGetCertPathEncodings): Likewise. + * java/security/cert/CertificateFactory.java (generateCertificates): + Genericized. + (generateCertPath): Likewise. + (generateCRLs): Likewise. + (getCertPathEncodings): Likewise. + * java/security/cert/CertStoreSpi.java (engineGetCertificates): + Genericized. + (engineGetCRLs): Likewise. + * java/security/cert/CertStore.java (getCertificates): Genericized. + (getCRLs): Likewise. + * java/security/cert/CertPath.java (getCertificates): Genericized. + (getEncodings): Likewise. + * java/security/cert/PKIXParameters.java (PKIXParameters): + Genericized. + (getCertStores): Likewise. + (getCertPathCheckers): Likewise. + (getInitialPolicies): Likewise. + (getTrustAnchors): Likewise. + (setCertPathCheckers): Likewise. + (setCertStores): Likewise. + (setInitialPolicies): Likewise. + (setTrustAnchors): Likewise. + * java/security/cert/PKIXBuilderParameters.java + (PKIXBuilderParameters): Genericized. + * java/security/cert/CollectionCertStoreParameters.java + (CollectionCertStoreParameters): Genericized. + (getCollection): Likewise. + * java/security/cert/PolicyQualifierInfo.java: No longer final. + +2005-11-25 Tom Tromey + + * java/security/Security.java (getAlgorithms): Genericized. + (getProviders): Likewise. + * java/security/SecureClassLoader.java (defineClass): Genericized. + (protectionDomainCache): Likewise. + * java/security/PermissionCollection.java (elements): Genericized. + (toString): Updated. + * java/security/KeyStoreSpi.java (engineAliases): Genericized. + * java/security/KeyStore.java (aliases): Genericized. + * java/security/KeyFactorySpi.java (engineGetKeySpec): Genericized. + (engineTranslateKey): Fixed javadoc. + * java/security/KeyFactory.java (getKeySpec): Genericized. + * java/security/IdentityScope.java (identities): Genericized. + * java/security/AlgorithmParametersSpi.java (engineGetParameterSpec): + Genericized. + * java/security/AlgorithmParameters.java (getParameterSpec): + Genericized. + * java/security/AccessController.java (doPrivileged): Genericized. + * java/security/PrivilegedExceptionAction.java: Genericized. + * java/security/PrivilegedAction.java: Genericized. + 2005-11-25 Guilhem Lavaux * native/jni/java-io/javaio.c, native/jni/java-io/javaio.h: @@ -4851,8 +5319,18 @@ 2005-11-02 Andrew John Hughes - * AUTHORS: Added myself. + * examples/Makefile.am: + Comment out JIKES and GCJ conditionals. + * lib/Makefile.am: + Comment out JIKES, KJC and GCJ conditionals. + * m4/acinclude.m4: + Comment out selection of GCJ, Jikes and KJC as compilers for + the branch. +2005-11-02 Andrew John Hughes + + * AUTHORS: Added myself. + 2005-11-02 Mark Wielaard * javax/swing/Timer.java (Waker.run): Only break out when !running. @@ -4870,6 +5348,24 @@ * lib/copy-vmresources.sh.in: Added definition for top_srcdir. +2005-11-02 Mark Wielaard + + * configure.ac (AC_INIT): Set version to 0.19-generics. + * lib/Makefile.am: Add typeHiding, unchecked, unused and varargsCast + to ECJ compile warning rule. + +2005-11-02 Tom Tromey + + * javax/sound/midi/Instrument.java (Instrument): Genericized argument + type. + * javax/sound/midi/SoundbankResource.java (SoundbankResource): + Genericized argument type. + (getDataClass): Genericized return type. + * javax/sound/midi/Sequence.java (tracks): Changed type. + (init): Updated. + (getTracks): Updated. + (getTickLength): Updated. + 2005-11-02 Andreas Tobler * NEWS: Mention Qt4 configury for OS-X. @@ -5953,6 +6449,44 @@ Call gdk_window_get_root_origin instead of gdk_window_get_origin so that the window decorations are correctly respected. +2005-10-24 Tom Tromey + + * javax/accessibility/AccessibleStateSet.java (states): + Changed type. + * javax/accessibility/AccessibleRelationSet.java (relations): + Changed type. + +2005-10-24 Tom Tromey + + * java/security/acl/Group.java (isMember): Javadoc fix. + (members): Changed return type. + * java/security/acl/AclEntry.java (addPermission): Fixed javadoc. + (checkPermission): Likewise. + (permissions): Changed return type. + * java/security/acl/Acl.java (entries): Changed return type. + (getPermissions): Likewise. + +2005-10-24 Tom Tromey + + * gnu/java/nio/SelectorImpl.java (keys): Changed type. + (selected): Likewise. + (SelectorImpl): Updated. + (keys): Changed return type. + (getFDsAsArray): Updated. + (select): Likewise. + (selectedKeys): Changed return type. + (deregisterCancelledKeys): Updated. + * java/nio/channels/Selector.java (selectedKeys): Changed return + type. + (keys): Likewise. + +2005-10-24 Tom Tromey + + * java/awt/image/ReplicateScaleFilter.java (setProperties): Changed + argument type. + * java/awt/image/CropImageFilter.java (setProperties): Changed + argument type. + 2005-10-24 Tom Tromey * java/io/ObjectOutputStream.java (useProtocolVersion): Fixed typo @@ -7075,6 +7609,82 @@ org/omg/CORBA/ORB.java: Adapted to support the gnu.CORBA.ListenerPort property. +2005-10-16 Andrew John Hughes + + * java/awt/image/BufferedImage.java: + (getSources()): Genericized. + * java/awt/image/ImageFilter.java: + (setProperties(Hashtable)): Likewise. + * java/awt/image/MemoryImageSource.java: + (MemoryImageSource(int,int,int[],int,int,Hashtable)): Likewise. + * java/awt/image/PixelGrabber.java: + (setProperties(Hashtable)): Likewise. + * java/awt/image/renderable/RenderableImageOp.java: + (getSources()): Likewise. + * java/beans/Beans.java: + (getInstanceOf(Object,Class)): Likewise. + (isInstanceOf(Object,Class)): Likewise. + * java/beans/EventSetDescriptor.java: + (EventSetDescriptor(Class,String,Class,String)): Likewise. + (EventSetDescriptor(Class,String,Class,String[],String,String)): + Likewise. + (EventSetDescriptor(Class,Method[],Method,Method)): Likewise. + (EventSetDescriptor(String,Class,MethodDescriptor,Method,Method)): + Likewise. + (getListenerType()): Likewise. + * java/beans/FeatureDescriptor.java: + (FeatureDescriptor()): Likewise. + (attributeNames()): Likewise. + * java/beans/IndexedPropertyDescriptor.java: + (IndexedPropertyDescriptor(String,Class)): Likewise. + (IndexedPropertyDescriptor(String,Class,String,String,String,String)): + Likewise. + (getIndexedPropertyType()): Likewise. + * java/beans/Introspector.java: + (getBeanInfo(Class)): Likewise. + (flushFromCaches(Class)): Likewise. + (getBeanInfo(Class,Class)): Likewise. + * java/beans/PropertyDescriptor.java: + (PropertyDescriptor(String,Class)): Likewise. + (getPropertyType()): Likewise. + (getPropertyEditorClass()): Likewise. + (setPropertyEditorClass(Class)): Likewise. + (checkMethods(Method,Method)): Likewise. + * java/beans/PropertyEditorManager.java: + (registerEditor(Class,Class)): Likewise. + (getEditor(Class)): Likewise. + * java/io/ObjectInputStream.java: + (resolveClass(ObjectStreamClass)): Likewise. + * java/io/ObjectOutputStream.java: + (annotateClass(Class)): Likewise. + (annotateProxyClass(Class)): Likewise. + * java/io/ObjectStreamClass.java: + (lookup(Class)): Likewise. + (forClass()): Likewise. + * java/io/ObjectStreamField.java: + (ObjectStreamField(String,Class)): Likewise. + (ObjectStreamField(String,Class,boolean)): Likewise. + * java/net/NetworkInterface.java: + (getInetAddresses()): Likewise. + (getNetworkInterfaces()): Likewise. + * java/net/URLClassLoader.java: + (findClass(String)): Likewise. + (findResources(String)): Likewise. + * java/net/URLConnection.java: + (getHeaderFields()): Likewise. + (getRequestProperties()): Likewise. + * javax/swing/text/TextAction.java: + (augmentList(Action[],Action[])): Likewise. + * javax/swing/text/html/HTML.java: + (attrMap): Likewise. + (tagMap): Likewise. + * javax/swing/text/html/parser/DTD.java: + (dtdHash): Likewise. + (elementHash): Likewise. + (entityHash): Likewise. + (defineAttributes(String,AttributeList)): Likewise. + (newElement(String)): Likewise. + 2005-10-15 Audrius Meskauskas * org/omg/CORBA/DynamicImplementation.java: Made concrete. @@ -7436,6 +8046,77 @@ (initComponentDefaults): added default value for 'List.focusCellHighlightBorder'. +2005-10-12 Andrew John Hughes + + * java/awt/datatransfer/DataFlavor.java: + (DataFlavor(Class,String,String): Genericized. + * java/awt/dnd/DragGestureEvent.java: + (DragGestureEvent(DragGestureRecognizer,int,Point, + List)): Likewise. + (iterator()): Likewise. + * java/awt/dnd/DragSource.java: + (createDragGestureRecognizer(Class,Component,int, + DragGestureListener)): Likewise. + * java/awt/dnd/DropTargetContext.java: + (getCurrentDataFlavorsAsList()): Likewise. + * java/awt/dnd/DropTargetDragEvent.java: + (getCurrentDataFlavorsAsList()): Likewise. + * java/awt/dnd/DropTargetDropEvent.java: + (getCurrentDataFlavorsAsList()): Likewise. + * java/awt/font/TextLayout.java: + (TextLayout(String,Map, FontRenderContext)): Likewise. + * java/awt/image/BufferedImage.java: + (BufferedImage(ColorModel,WritableRaster,boolean,Hashtable)): + Likewise. + * java/awt/image/ImageConsumer.java: + (setProperties(Hashtable)): Likewise. + * java/awt/image/MemoryImageSource.java: + (MemoryImageSource(int,int,ColorModel,byte[],int,int,Hashtable)): + Likewise. + (MemoryImageSource(int,int,ColorModel,int[],int,int,Hashtable)): + Likewise. + * java/awt/image/RenderedImage.java: + (getSources()): Likewise. + * java/awt/image/renderable/ParameterBlock.java: + (sources): Likewise. + (parameters): Likewise. + (ParameterBlock()): Likewise. + (ParameterBlock(Vector)): Likewise. + (ParameterBlock(Vector,Vector)): Likewise. + (clone()): Added casts to handle new Vector type. + (getSources()): Genericized. + (setSources(Vector)): Likewise. + (getParameters()): Likewise. + (setParameters(Vector)): Likewise. + * java/awt/image/renderable/RenderableImage.java: + (getSources()): Likewise. + * javax/swing/tree/DefaultMutableTreeNode.java: + (children): Likewise. + (getSharedAncestor(DefaultMutableTreeNode)): Likewise. + (getDepth()): Likewise. + (pathFromAncestorEnumeration(TreeNode)): Likewise. + (PostOrderEnumeration)): Likewise. + * javax/swing/undo/CompoundEdit.java: + (edits): Likewise. + (CompoundEdit()): Likewise. + (undo()): Likewise. + (redo()): Likewise. + (lastEdit()): Likewise. + (die()): Likewise. + (isSignificant()): Likewise. + * javax/swing/undo/UndoableEditSupport.java: + (listeners): Likewise. + (getUndoableEditListeners()): Likewise. + * lib/Makefile.am: + Turn off listing unused imports (at least for now). + * org/omg/CosNaming/_NamingContextExtImplBase.java: + (_methods): Likewise. + * org/omg/CosNaming/_NamingContextImplBase.java: + (methods): Likewise. + * vm/reference/java/lang/reflect/Method.java: + (getTypeParameters()): Corrected return type. + 2005-10-12 Lillian Angel * javax/swing/UIDefaults.java @@ -8129,6 +8810,27 @@ (createLineBorder(Color)): Forward call to createLineBorder(Color, int) with thickness of 1. +2005-10-06 Tom Tromey + + * java/util/ListResourceBundle.java (getKeys): Fixed return type. + * java/util/ResourceBundle.java (getKeys): Fixed return type. + * java/util/AbstractMap.java (entrySet): Fixed return type. + (clone): Updated. + (equals): Likewise. + (iterator): Likewise. + * java/util/Collections.java (fill): Fixed argument type. + (reverse): Likewise. + (unmodifiableCollection): Likewise. + (UnmodifiableCollection): Likewise. + (UnmodifiableIterator): Likewise. + (unmodifiableSet): Likewise. + (UnmodifiableSet): Likewise. + (unmodifiableList): Likewise. + * java/util/TreeSet.java (TreeSet(SortedSet)): Fixed argument + type. + (headSet): Fixed return type. + * java/util/StringTokenizer.java: Implements Enumeration. + 2005-10-06 Anthony Green * native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c @@ -8278,6 +8980,93 @@ * configure.ac: Add Qt4 configury bits for OS-X. +2005-10-05 Tom Tromey + + * java/util/jar/Attributes.java: Implements Map. + (map): Changed type. + (entrySet): Changed return type. + (keySet): Likewise. + (putAll): Changed argument type. + (values): Changed return type. + * java/util/jar/Manifest.java (getEntries): Genericized. + (Manifest): Updated. + (entries): Changed type. + (read_individual_sections): Updated. + (read_section_name): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + * java/util/jar/JarFile.java (entries): Genericized. + (JarEnumeration): Implements Enumeration. + (JarEnumeration.nextElement): Changed return type. + (JarEnumeration.entries): Changed type. + +2005-10-05 Tom Tromey + + * java/awt/datatransfer/SystemFlavorMap.java (getNativesForFlavors): + Genericized. + (getFlavorsForNatives): Likewise. + (getFlavorsForNative): Likewise. + (getNativesForFlavor): Likewise. + * java/awt/datatransfer/DataFlavor.java (DataFlavor): Genericized. + (getDefaultRepresentationClass): Likewise. + (getRepresentationClass): Likewise. + (tryToLoadClass): Likewise. + (representationClass): Likewise. + * java/awt/datatransfer/FlavorTable.java (getNativesForFlavor): + Genericized. + (getFlavorsForNative): Likewise. + * java/awt/datatransfer/FlavorMap.java (getFlavorsForNatives): + Genericized. + (getNativesForFlavors): Likewise. + +2005-10-05 Tom Tromey + + * java/util/zip/ZipFile.java (entries): Fixed return type. + +2005-10-05 Tom Tromey + + * java/util/prefs/Preferences.java (systemNodeForPackage): Genericized. + (userNodeForPackage): Likewise. + +2005-10-05 Tom Tromey + + * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners): + Genericized. + * javax/swing/tree/DefaultTreeModel.java (getListeners): Genericized. + * javax/swing/Timer.java (getListeners): Genericized. + * javax/swing/text/StyleContext.java (getListeners): Genericized. + * javax/swing/text/DefaultCaret.java (getListeners): Genericized. + * javax/swing/text/AbstractDocument.java (getListeners): + Genericized. + * javax/swing/table/DefaultTableColumnModel.java (getListeners): + Genericized. + * javax/swing/table/AbstractTableModel.java (getListeners): + Genericized. + * javax/swing/JComponent.java (getListeners): Genericized. + * javax/swing/DefaultSingleSelectionModel.java (getListeners): + Genericized. + * javax/swing/DefaultListSelectionModel.java (getListeners): + Genericized. + * javax/swing/DefaultButtonModel.java (getListeners): Genericized. + * javax/swing/DefaultBoundedRangeModel.java (getListeners): + Genericized. + * javax/swing/AbstractSpinnerModel.java (getListeners): Genericized. + * javax/swing/event/EventListenerList.java (add): Genericized. + (getListeners): Likewise. + (remove): Likewise. + * java/awt/dnd/DragSource.java (getListeners): Genericized. + * java/awt/TextField.java (getListeners): Genericized. + * java/awt/Window.java (getListeners): Genericized. + * java/awt/Scrollbar.java (getListeners): Genericized. + * java/awt/List.java (getListeners): Genericized. + * java/awt/Choice.java (getListeners): Genericized. + * java/awt/TextComponent.java (getListeners): Genericized. + * java/awt/CheckboxMenuItem.java (getListeners): Genericized. + * java/awt/Button.java (getListeners): Genericized. + * java/awt/Container.java (getListeners): Genericized. + 2005-10-05 Lillian Angel * javax/swing/plaf/basic/BasicTreeUI.java @@ -8512,6 +9301,16 @@ (resizeAndRepaint): New method. (initializeLocalVars): New method. +2005-10-04 Tom Tromey + + * java/awt/Dialog.java (show): Now deprecated. + (hide): Likewise. + +2005-10-04 Tom Tromey + + * java/lang/ref/Reference.java (nextOnQueue): Changed type. + * java/lang/ref/ReferenceQueue.java (first): Changed type. + 2005-10-04 David Gilbert * javax/swing/plaf/basic/BasicFileChooserUI.java: Added API docs all @@ -9045,6 +9844,21 @@ * javax/imageio/ImageWriter.java: Complete and document. * javax/imageio/package.html: Write. +2005-10-01 Jeroen Frijters + + * vm/reference/java/lang/reflect/Constructor.java + (getSignature): New method. + (getGenericExceptionTypes): New method. + (getGenericParameterTypes): New method. + * vm/reference/java/lang/reflect/Field.java + (getGenericType): New method. + (getSignature): New method. + * vm/reference/java/lang/reflect/Method.java + (getSignature): New method. + (getGenericExceptionTypes): New method. + (getGenericParameterTypes): New method. + (getGenericReturnType): New method. + 2005-10-01 Tom Tromey PR classpath/23890: @@ -9090,6 +9904,14 @@ Call cairo_pattern_set_extend after gr->pattern has been set and checked versus NULL. +2005-09-30 Jeroen Frijters + + * gnu/java/lang/reflect/FieldSignatureParser.java: New file. + * gnu/java/lang/reflect/ClassSignatureParser.java, + gnu/java/lang/reflect/GenericSignatureParser.java, + gnu/java/lang/reflect/MethodSignatureParser.java: + Finished implementation. + 2005-09-30 Roman Kennke * javax/swing/JTextPane.java @@ -9444,6 +10266,65 @@ * javax/swing/plaf/basic/BasicMenuItemUI.java (paintMenuItem): adjusted arrow icon position. +2005-09-28 Andrew John Hughes + + * gnu/java/awt/peer/qt/QtGraphics.java: + (getRenderingHints()): Create a clone as no such + constructor exists with generic typing. + (setRenderingHints(Map)): Added parametric typing + and fixed use of RenderingHints constructor. + * java/awt/AWTEventMulticaster.java: + (getListeners(EventListener,Class)): Added generic + typing. + * java/awt/Component.java: + (getListeners(Class)): Likewise. + (getFocusTraversalKeys(int)): Likewise. + * java/awt/Font.java: + (Font(Map)): Likewise. + (deriveFont(Map)): Likewise. + (getAttributes()): Likewise. + (getAvailableAttributes()): Simplified naming with static import. + (getFont(Map)): Added generic typing. + * java/awt/Graphics2D.java: + (setRenderingHints(Map)): Likewise. + (addRenderingHints(Map)): Likewise. + * java/awt/KeyboardFocusManager.java: + (setDefaultFocusTraversalKeys(int,Set)): + Likewise. + (getKeyEventDispatchers()): Likewise. + (getKeyEventPostProcessors()): Likewise. + * java/awt/MenuItem.java: + (getListeners(Class)): Likewise. + * java/awt/RenderingHints.java: + (RenderingHints(Map)): Likewise. + (putAll(Map)): Likewise. + (keySet()): Likewise. + (values()): Likewise. + (entrySet()): Likewise. + * java/awt/Toolkit.java: + (desktopProperties): Likewise. + (createDragGestureRecognizer(Class,DragSource,Component,int, + DragGestureListener)): Likewise. + (mapInputMethodHighlight(InputMethodHighlight)): Likewise. + * java/lang/Class.java: + (getDeclaringClass()): Likewise. + * java/lang/Enum.java: + (valueOf(Class,String)): Fixed return type. + * java/lang/SecurityManager.java: + (checkMemberAccess(Class,int)): Likewise. + * java/lang/reflect/Array.java: + (newInstance(Class,int)): Likewise. + (newInstance(Class,int[])): Likewise. + * vm/reference/java/lang/reflect/Constructor.java: + (getTypeParameters()): Type parameter changed from ? to Constructor. + * vm/reference/java/lang/reflect/Field.java: + (getDeclaringClass()): Added generic typing. + (getType()): Likewise. + * vm/reference/java/lang/reflect/Method.java: + (getDeclaringClass()): Likewise. + (getExceptionTypes()): Likewise. + (getParameterTypes()): Likewise. + 2005-09-28 Anthony Balkissoon * javax/swing/text/AbstractDocument.java: @@ -9689,6 +10570,79 @@ * javax/swing/plaf/metal/MetalBorders.java (ToolBarBorder): now implements SwingConstants. +2005-09-27 Tom Tromey + + * java/sql/Timestamp.java (compareTo(Date)): Changed argument type + from Object. + * javax/naming/Name.java (Name): Implements Comparable. + * java/util/Date.java (Date): Implements Comparable. + (compareTo(Object)): Removed. + * java/text/CollationKey.java (CollationKey): Implements + Comparable. + (compareTo(Object)): Removed. + * java/net/URI.java (URI): Implements Comparable. + (compareTo): Updated argument type. + * java/math/BigDecimal.java (BigInteger): Implements + Comparable. + (compareTo(Object)): Removed. + * java/math/BigInteger.java (BigInteger): Implements + Comparable. + (compareTo(Object)): Removed. + * java/io/File.java (File): Implements Comparable. + (compareTo(Object)): Removed. + +2005-09-27 Tom Tromey + + * java/nio/charset/spi/CharsetProvider.java (charsets): Changed + return type. + * java/nio/charset/Charset.java (aliases): Changed return type. + (availableCharsets): Likewise. + * java/nio/channels/spi/AbstractSelector.java (cancelledKeys): + Changed type. + (AbstractSelector): Updated. + (cancelledKeys): Updated. + +2005-09-27 Tom Tromey + + * java/util/logging/LogManager.java (loggers): Genericized type. + (LogManager): Updated. + (addLogger): Likewise. + (findAncestor): Likewise. + (getLogger): Likewise. + (getLoggerNames): Fixed return type. + (reset): Updated. + +2005-09-27 Tom Tromey + + * java/util/zip/ZipFile.java (entries): Updated return type. + (ZipEntryEnumeration): Updated 'implements' type. + (entries): Updated type. + (ZipEntryEnumeration.elements): Likewise. + (readEntries): Updated. + (getEntries): Likewise. + (getEntry): Likewise. + (getInputStream): Likewise. + +2005-09-27 Tom Tromey + + * java/lang/Compiler.java (compileClass): Updated argument type. + +2005-09-27 Tom Tromey + + * java/awt/im/InputMethodHighlight.java (InputMethodHighlight): + Updated argument types. + (getStyle): Updated return type. + * java/awt/MenuBar.java (shortcuts): Updated return type. + * java/awt/Window.java (hide): Now deprecated. + (show): Likewise. + +2005-09-27 Tom Tromey + + * java/lang/String.java (CASE_INSENSITIVE_ORDER): Now a + Comparator. + (CaseInsensitiveComparator): Updated. + (CaseInsensitiveComparator.compare): Changed argument types. + 2005-09-27 Anthony Green * javax/sound/midi/MidiSystem.java (getSequence): Add @@ -9830,6 +10784,18 @@ * javax/sound/midi/MidiFileFormat.java (bytes, microseconds): Rename to byteLength and microsecondLength respectively. +2005-09-26 Tom Tromey + + * java/util/Formatter.java (format): Set fmtLocale. + (applyLocalization): New method. + (basicIntegralConversion): Likewise. + (hexOrOctalConversion): Use it. + (decimalConversion): New method. + (format): Use decimalConversion, dateTimeConversion. + (genericFormat): Upper-case earlier. Justify correctly. + (singleDateTimeConversion): New method. + (dateTimeConversion): Likewise. + 2005-09-26 Lillian Angel * javax/swing/ToolTipManager.java @@ -9956,6 +10922,43 @@ (adjustGreater): New helper function. (adjustSmaller): New helper function. +2005-09-25 Jeroen Frijters + + * gnu/java/lang/reflect/ClassSignatureParser.java, + gnu/java/lang/reflect/GenericSignatureParser.java, + gnu/java/lang/reflect/MethodSignatureParser.java: New files. + * java/lang/Class.java + (constructor): Changed type to generic type. + (cast, getEnumConstants): Added cast. + (getGenericInterfaces, getGenericSuperclass, getTypeParameters): + Implemented. + * vm/reference/java/lang/VMClass.java + (getSimpleName, getDeclaredAnnotations, getCanonicalName, + getEnclosingClass, getEnclosingConstructor, getEnclosingMethod, + isAnonymousClass, isLocalClass, isMemberClass): + Removed generic types from signatures. + (getGenericInterfaces, getGenericSuperclass, getTypeParameters): + Removed. + (getClassSignature): New method. + * vm/reference/java/lang/reflect/Constructor.java + (getTypeParameters): Implemented. + * vm/reference/java/lang/reflect/Method.java + (getTypeParameters, getSignature): New methods. + +2005-09-25 Jeroen Frijters + + * java/lang/System.java, + vm/reference/java/lang/VMSystem.java: Removed generic type + from VMSystem.environ() signature. + +2005-09-25 Jeroen Frijters + + * java/lang/MalformedParameterizedTypeException.java: Removed. + +2005-09-25 Tom Tromey + + * java/util/Formatter.java (lineSeparator): Use SystemProperties. + 2005-09-25 Casey Marshall Fixes PR classpath/23916. Fix suggested by Santiago Gala @@ -9997,6 +11000,26 @@ * gnu/java/security/provider/DiffieHellmanKeyPairGeneratorImpl.java: new files. +2005-09-24 Tom Tromey + + * java/util/FormattableFlags.java (PLUS, SPACE, ZERO, COMMA, + PAREN): New constants. + * java/util/UnknownFormatConversionException.java + (UnknownFormatConversionException): Set exception text. + * java/util/IllegalFormatException.java (IllegalFormatException): + New constructor. + * java/util/FormatFlagsConversionMismatchException.java + (FormatFlagsConversionMismatchException): Set exception text. + * java/lang/String.java (format): New methods. + * java/io/PrintStream.java (printf): New methods. + (format): Likewise. + * java/io/PrintWriter.java (printf): New methods. + (format): Likewise. + * java/util/Formattable.java: New file. + * java/util/FormatterClosedException.java (serialVersionUID): + Fixed. + * java/util/Formatter.java: New file. + 2005-09-24 Roman Kennke * javax/swing/SizeRequirements.java @@ -10555,11 +11578,57 @@ * javax/swing/filechooser/FileFilter.java: reformatted and added API docs. -2004-10-09 Tom Tromey - - * java/lang/ClassLoader.java - (defineClass(String,ByteBuffer,ProtectionDomain)): New method. +2005-09-21 Andrew John Hughes + * gnu/classpath/ByteArray.java, + * gnu/classpath/ObjectPool.java, + * gnu/javax/crypto/DiffieHellmanImpl.java, + * gnu/javax/crypto/GnuDHPrivateKey.java, + * gnu/javax/crypto/RSACipherImpl.java, + * java/lang/Deprecated.java, + * java/lang/Enum.java, + * java/lang/Iterable.java, + * java/lang/MalformedParameterizedTypeException.java, + * java/lang/Override.java, + * java/lang/ProcessBuilder.java, + * java/lang/SuppressWarnings.java, + * java/lang/annotation/Annotation.java, + * java/lang/annotation/Documented.java, + * java/lang/annotation/ElementType.java, + * java/lang/annotation/IncompleteAnnotationException.java, + * java/lang/annotation/Inherited.java, + * java/lang/annotation/Retention.java, + * java/lang/annotation/RetentionPolicy.java, + * java/lang/annotation/Target.java, + * java/lang/reflect/AnnotatedElement.java, + * java/lang/reflect/GenericDeclaration.java, + * java/lang/reflect/MalformedParameterizedTypeException.java, + * java/lang/reflect/TypeVariable.java, + * java/util/AbstractQueue.java, + * java/util/DuplicateFormatFlagsException.java, + * java/util/EnumMap.java, + * java/util/EnumSet.java, + * java/util/FormatFlagsConversionMismatchException.java, + * java/util/FormatterClosedException.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/InvalidPropertiesFormatException.java, + * java/util/MissingFormatArgumentException.java, + * java/util/MissingFormatWidthException.java, + * java/util/PriorityQueue.java, + * java/util/Queue.java, + * java/util/UnknownFormatConversionException.java, + * java/util/UnknownFormatFlagsException.java, + * org/omg/CORBA/SendingContext/RunTimeOperations.java, + * org/omg/CORBA/SendingContext/Runtime.java, + * vm/reference/java/lang/VMPackage.java: + Fixed address within GPL. + 2005-09-21 Lillian Angel * javax/swing/ToolTipManager.java @@ -10797,6 +11866,36 @@ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c (isRealized): Leave GDK critical region when exiting early. +2005-09-19 Andrew John Hughes + + * java/util/Collections.java: + Fixes Bug #PR22921. + (emptySet()): Implemented. + (emptyList()): Implemented. + (emptyMap()): Implemented. + (rotate(List,int)): Fixed signature. + (shuffle(List)): Fixed signature. + (shuffle(List,Random)): Fixed signature. + (frequency(Collection,Object)): Documented. + (addAll(Collection, T... a)): Implemented. + (disjoint(Collection,Collection)): Implemented. + (swap(List,int,int)): Fixed signature. + (checkedCollection(Collection,Class)): Implemented. + (Collections.CheckedCollection): New inner class. + (Collections.CheckedIterator): New inner class. + (checkedList(List, Class)): Implemented. + (Collections.CheckedList): New inner class. + (Collections.CheckedRandomAccessList): New inner class. + (Collections.CheckedListIterator): New inner class. + (checkedMap(Map,Class,Class)): Implemented. + (Collections.CheckedMap): New inner class. + (checkedSet(Set,Class)): Implemented. + (Collections.CheckedSet): New inner class. + (checkedSortedMap(SortedMap,Class,Class)): Implemented. + (Collections.CheckedSortedMap): New inner class. + (checkedSortedSet(SortedSet,Class)): Implemented. + (Collections.CheckedSortedSet): New inner class. + 2005-09-19 Tom Tromey * java/awt/PopupMenu.java (AccessibleAWTPopupMenu.serialVersionUID): @@ -11414,6 +12513,10 @@ (ButtonBorder.paintBorder): draw a different border for a disabled button. +2005-09-15 Tom Tromey + + * java/lang/EnumConstantNotPresentException.java: New file. + 2005-09-15 Anthony Green * java/awt/Color.java (RGBtoHSB): Don't use integer division when @@ -15789,10 +16892,81 @@ 2005-08-14 Sven de Marothy - * java/awt/Container.java - (addImpl): Call addNotify() only if the container has a peer. + * gnu/java/awt/ClasspathToolkit.java + (getScreenSize, getColorModel, getFontMetrics, getImage, createImage, + createImageProducer, registerImageIOSpis): + Remove redundant (overloaded) methods. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (registerImageIOSpis): Move registration to static initializer. + * javax/imageio/spi/IIORegistry.java: + Remove call to Toolkit registration method. + +2005-08-13 Mark Wielaard -2005-08-13 Jeroen Frijters + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (repaintTimer): Make + field final. + +2005-08-14 Sven de Marothy + + * java/awt/Container.java + (addImpl): Call addNotify() only if the container has a peer. + +2005-08-13 Tom Tromey + + * java/util/Collections.java (reverseOrder): New method. + (frequency): Likewise. + (ReverseComparator): No longer final. + +2005-08-13 Tom Tromey + + * java/util/Timer.java (Timer(String)): New constructor. + (Timer(String,boolean)): Likewise. + (purge): New method. + (TaskQueue.purge): Likewise. + +2005-08-13 Tom Tromey + + * java/util/FormattableFlags.java: New file. + +2005-08-13 Tom Tromey + + * java/util/UnknownFormatConversionException.java + (serialVersionUID): New field. + (s): Renamed from 'conv' for serialization. + * java/util/MissingFormatWidthException.java (serialVersionUID): + New field. + (s): Renamed from 'width' for serialization. + * java/util/MissingFormatArgumentException.java + (serialVersionUID): New field. + (s): Renamed from 'spec' for serialization. + * java/util/IllegalFormatWidthException.java (serialVersionUID): + New field. + (w): Renamed from 'width' for serialization. + * java/util/IllegalFormatPrecisionException.java + (serialVersionUID): New field. + (p): Renamed from 'precision' for serialization. + * java/util/IllegalFormatFlagsException.java (serialVersionUID): + New field. + * java/util/IllegalFormatConversionException.java + (serialVersionUID): New field. + (c): Renamed from 'conv' for serialization. + (arg): Renamed from 'argClass' for serialization. + * java/util/IllegalFormatCodePointException.java + (serialVersionUID): New field. + (c): Renamed from 'codepoint' for serialization. + * java/util/FormatFlagsConversionMismatchException.java + (serialVersionUID): New field. + (f): Renamed from 'flags' for serialization. + (c): Renamed from 'conversion' for serialization. + * java/util/DuplicateFormatFlagsException.java (serialVersionUID): + New field. + * java/util/IllegalFormatException.java (serialVersionUID): New + field. + * java/util/FormatterClosedException.java (serialVersionUID): New + field. + * java/util/InvalidPropertiesFormatException.java: New file. + +2005-08-13 Jeroen Frijters * java/io/ObjectInputStream.java (readClassDescriptor): Don't cache caller's class loader. @@ -16761,6 +17935,11 @@ (installUI): set the items visible. Fixes exceptions that are thrown because item is not explicitly set visible. +2005-08-03 Ewout Prangsma + + * java/lang/Enum.java: + (valueOf(Class,String)): Implemented. + 2005-08-03 Roman Kennke * javax/swing/plaf/basic/BasicViewportUI.java @@ -17116,7 +18295,7 @@ * scripts/eclipse-gnu.xml: Drop extends, implements, throws into new line. -2005-07-31 Jan Roehrich +2005-07-31 Jan Roehrich * javax.swing.plaf.basic.BasicTreeUI: fixed indentation. @@ -21087,6 +22266,12 @@ * org/omg/IOP/TransactionService.java, org/omg/IOP/CodeSets.java: New files. +2005-06-17 Jeroen Frijters + + * java/lang/ThreadLocal.java, + java/util/TreeMap.java: Fixes to make compiling with Eclipse Java + Compiler SVN HEAD possible. + 2005-06-17 Audrius Meskauskas * org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java, @@ -21414,6 +22599,21 @@ * java/util/regex/Pattern.java (constructor): Switch syntax from PERL5 to JAVA_1_4. +2005-06-11 Andrew John Hughes + + * doc/unicode/Blocks-4.0.0.txt: + New block listings for Unicode 4.0.0. + * java/lang/Character.java: + Added new fields for 1.5, both in Character and UnicodeBlock. + (UnicodeBlock.of(int)): Implemented. + (UnicodeBlock.forName(String)): Implemented. + * java/lang/annotation/ElementType.java: + Corrected serial UID. + * java/lang/annotation/RetentionPolicy.java: + Likewise. + * scripts/unicode-blocks.pl + Updated to handle Unicode 4.0.0. + 2005-06-11 Audrius Meskauskas * org/omg/CORBA/ORB.java, @@ -21488,6 +22688,72 @@ (gdkDrawDrawable): Check if cairo pattern is non-null before setting its matrix. +2005-06-09 Andrew John Hughes + + * java/lang/Class.java: + (internalGetClasses()): Use collections with type parameters. + (internalGetFields()): Likewise. + (internalGetMethods()): Likewise. + (getSuperclass()): Changed to new return type. + (asSubclass(Class)): Documented. + (getEnumConstants()): Calls VMClass. + (getAnnotation(Class)): Implemented. + (getAnnotations()): Implemented. + (getCanonicalName()): Implemented. + (getDeclaredAnnotations()): Implemented. + (getEnclosingClass()): Implemented. + (getEnclosingConstructor()): Implemented. + (getEnclosingMethod()): Implemented. + (getGenericInterfaces()): Implemented. + (getGenericSuperclass()): Implemented. + (getTypeParameters()): Implemented. + (isAnnotationPresent(Class)): Implemented. + (isAnonymousClass()): Implemented. + (isLocalClass()): Implemented. + (isMemberClass()): Implemented. + * java/lang/Package.java: + (getAnnotation(Class)): Implemented. + (getAnnotations()): Implemented. + (getDeclaredAnnotations()): Implemented. + (isAnnotationPresent(Class)): Implemented. + * java/lang/annotation/AnnotationTypeMismatchException.java: + Added serial version UID. + * java/lang/annotation/ElementType.java: Likewise. + * java/lang/annotation/RetentionPolicy.java: Likewise. + * java/lang/reflect/AnnotatedElement.java: Documented. + * java/lang/reflect/Modifier.java: + (toString(int)): Switched to using StringBuilder. + (toString(int,StringBuilder)): Likewise. + * vm/reference/java/lang/VMClass.java: + (getSuperClass(Class)): Updated return type. + (getSimpleName(Class)): Use VM methods directly. + (getEnumConstants(Class)): Implementation moved from Class. + (getDeclaredAnnotations(Class)): New native method. + (getCanonicalName(Class)): Implemented. + (getEnclosingClass(Class)): New native method. + (getEnclosingConstructor(Class)): New native method. + (getEnclosingMethod(Class)): New native method. + (getGenericInterfaces(Class)): New native method. + (getGenericSuperclass(Class)): New native method. + (getTypeParameters(Class)): New native method. + (isAnonymousClass(Class)): New native method. + (isLocalClass(Class)): New native method. + (isMemberClass(Class)): New native method. + * vm/reference/java/lang/VMPackage.java: + New VM class corresponding to java.lang.Package. + (getDeclaredAnnotations(Class)): New native method. + * vm/reference/java/lang/VMSystem.java: + Removed unnecessary imports. + * vm/reference/java/lang/reflect/Constructor.java: + (toString()): Changed StringBuffer to StringBuilder. + (getTypeParameters()): Changed to native method. + * vm/reference/java/lang/reflect/Field.java: + (toString()): Changed StringBuffer to StringBuilder. + * vm/reference/java/lang/reflect/Method.java: + (getReturnType()): Updated return type. + (toString()): Changed StringBuffer to StringBuilder. + (invoke(Object,...)): Updated arguments. + 2005-06-09 Thomas Fitzsimmons * gnu/java/awt/peer/gtk/GtkPanelPeer.java, @@ -22201,8 +23467,8 @@ 2005-05-29 Audrius Meskauskas - * org/omg/CORBA/Functional_ORB.java (serve, useProperties, init): Implementing - the property-configurable time-outs. + * org/omg/CORBA/Functional_ORB.java (serve, useProperties, init): + Implementing the property-configurable time-outs. 2005-05-29 Audrius Meskauskas @@ -24037,11 +25303,38 @@ (getPreferredSpan): Corrected the calculation of the span of the view. +2005-05-05 Andrew John Hughes + + * java/lang/Class.java: + (getSimpleName()): Implemented. + * vm/reference/java/lang/VMClass.java: + (getSimpleName()): Reference implementation. + +2005-05-05 Andrew John Hughes + + * include/java_lang_VMProcess.h: + Regenerated. + * native/jni/java-lang/java_lang_VMProcess.c: + Added missing #include statement. + 2005-05-05 Chris Burdess * gnu/xml/transform/StreamSerializer.java: Produce compact, human-readable XML for non-UTF/ASCII encodings using NIO. +2005-05-04 Tom Tromey + + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Added 'redirect' + argument. Use defines instead of contents. + * vm/reference/java/lang/VMProcess.java (redirect): New field. + (spawn): Updated. + (setProcessInfo): Updated. + (VMProcess): Added 'redirect' argument. + (nativeSpawn): Likewise. + (exec): New overload. + * java/lang/ProcessBuilder.java: New file. + 2005-05-04 Mark Wielaard * java/awt/BufferCapabilities.java (BufferCapabilities): Make @@ -24277,7 +25570,7 @@ 2005-04-28 Robert Schuster - * java/beans/Introspector.java: Fixed bug #12624, BeanDescriptors + * java/beans/Introspector: Fixed bug #12624, BeanDescriptors will now be set correctly. (flushCaches): Now flushes all cached intermediate data. @@ -24710,6 +26003,118 @@ include/gnu_java_nio_charset_iconv_IconvEncoder.h: Regenerated with gcjh from gcc 4.0 branch. +2005-04-20 Tom Tromey + + * .classpath: Updated. + +2005-04-20 Tom Tromey + + * vm/reference/java/lang/VMThread.java (run): Use thread's + uncaught handler. + * java/lang/Thread.java (defaultHandler): New field. + (setDefaultUncaughtExceptionHandler, + getDefaultUncaughtExceptionHandler, setUncaughtExceptionHandler, + getUncaughtExceptionHandler): New methods. + * java/lang/ThreadGroup.java (ThreadGroup): Implements + UncaughtExceptionHandler. + (uncaughtException): Use getDefaultUncaughtExceptionHandler. + +2005-04-20 Tom Tromey + + * java/lang/reflect/MalformedParameterizedTypeException.java: New + file. + +2005-04-20 Tom Tromey + + * java/util/PriorityQueue.java (PriorityQueue): Implements + Serializable. + (serialVersionUID): New field. + * java/util/EnumMap.java (serialVersionUID): New field. + * java/util/EnumSet.java (serialVersionUID): New field. + +2005-04-20 Tom Tromey + + * java/util/Arrays.java (hashCode): New methods. + (deepHashCode): New method. + (deepEquals): Likewise. + (toString): New methods. + (deepToString): New method. + +2005-04-20 Tom Tromey + + * java/util/zip/Inflater.java (getTotalIn): Deprecated. + (getBytesRead): New method + (getTotalOut): Deprecated. + (getBytesWritten): New method. + (totalIn, totalOut): Now 'long'. + * java/util/zip/DeflaterEngine.java (totalIn): Now 'long'. + (getTotalIn): Return 'long'. + * java/util/zip/Deflater.java (totalOut): Now 'long'. + (getTotalOut): Deprecated. + (getBytesWritten): New method. + (getTotalIn): Deprecated. + (getBytesRead): New method. + +2005-04-20 Tom Tromey + + * java/nio/charset/Charset.java (compareTo): Changed argument + type. + * java/nio/ShortBuffer.java (compareTo): Changed argument type. + * java/nio/LongBuffer.java (compareTo): Changed argument type. + * java/nio/IntBuffer.java (compareTo): Changed argument type. + * java/nio/FloatBuffer.java (compareTo): Changed argument type. + * java/nio/DoubleBuffer.java (compareTo): Changed argument type. + * java/nio/ByteBuffer.java (compareTo): Changed argument type. + * java/nio/CharBuffer.java (CharBuffer): Implements Readable, + Appendable. + (append): New methods. + (compareTo): Changed argument type. + (read): New method. + +2005-04-20 Tom Tromey + + * java/io/PrintStream.java (append): Don't throw IOException. + * java/io/StringWriter.java (append): New overloads. + * java/io/PrintWriter.java (append): New overloads. + (PrintWriter): New constructors. + * java/io/CharArrayWriter.java (append): New overloads. + * java/io/RandomAccessFile.java (RandomAccessFile): Implements + Closeable. + * java/io/Reader.java (Reader): Implements Readable. + (read): New method. + +2005-04-20 Tom Tromey + + * java/math/BigInteger.java (TEN): New constant. + * java/math/BigDecimal.java (ZERO, ONE): Now public. + (TEN): New constant. + +2005-04-20 Tom Tromey + + * java/lang/Short.java (reverseBytes): Argument is 'short'. + +2005-04-20 Tom Tromey + + * java/lang/ThreadLocal.java (remove): New method. + +2005-04-20 Tom Tromey + + * java/util/DuplicateFormatFlagsException.java: New file. + * java/util/FormatFlagsConversionMismatchException.java: New + file. + * java/util/FormatterClosedException.java: New file. + * java/util/IllegalFormatCodePointException.java: New file. + * java/util/IllegalFormatConversionException.java: New file. + * java/util/UnknownFormatFlagsException.java: New file. + * java/util/UnknownFormatConversionException.java: New file. + * java/util/MissingFormatWidthException.java: New file. + * java/util/MissingFormatArgumentException.java: New file. + * java/util/InputMismatchException.java: New file. + * java/util/IllegalFormatWidthException.java: New file. + * java/util/IllegalFormatPrecisionException.java: New file. + * java/util/IllegalFormatFlagsException.java: New file. + * java/util/IllegalFormatException.java: New file. + 2005-04-20 Roman Kennke * javax/swing/plaf/basic/BasicLookAndFeel.java @@ -24829,6 +26234,12 @@ * gnu/java/io/encode/package.html: Removed +2005-04-19 Sven de Marothy + + * java/util/Calendar.java: + (compareTo(java.util.Calendar)): Handle instability + in obtaining the milliseconds value. + 2005-04-19 Michael Koch * java/awt/geom/QuadCurve2D.java: @@ -25038,12 +26449,45 @@ Make the UIManager respect the swing.defaultlaf system property. +2005-04-17 Roman Kennke + + * javax/swing/text/SimpleAttributeSet.java + (addAttribute): Removed null pointer check. + * javax/swing/text/StyleContext.java + (NamedStyle.setResolveParent): Added null pointer check. + +2005-04-17 Roman Kennke + + * examples/gnu/classpath/exammples/swing/Demo.java: + Print a short summary for available values for the property + swing.defaultlaf. + Set MetalLookAndFeel as default. + Pulled out GNULookAndFeel so that it is accessible. + * examples/gnu/classpath/exammples/swing/GNULookAndFeel.java: + Pulled out this class from Demo.java. + +2005-04-17 Roman Kennke + + * javax/swing/UIManager.java: + Make the UIManager respect the swing.defaultlaf system + property. + 2005-04-17 Roman Kennke * javax/swing/text/SimpleAttributeSet.java (addAttribute): Check for null and remove key in that case. This fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21064 . +2005-04-16 Ewout Prangsma + + * java/util/PriorityQueue.java: + (PriorityQueue(Collection)): Added explicit cast + for comparators. + (PriorityQueue(PriorityQueue)): Likewise. + (PriorityQueue(SortedSet)): Likewise. + * java/util/TreeSet.java: + (TreeSet(SortedSet)): Likewise. + 2005-04-16 Roman Kennke * java/awt/BorderLayout.java @@ -25674,6 +27118,36 @@ the whole screen. This is not a fully accelerated fullscreen exclusive mode. +2005-04-04 Andrew John Hughes + + * java/lang/Class.java: + (newInstance): Returns an instance of T instead of Object. + (isEnum()): Now calls VMClass for a proper implementation. + (isSynthetic()): New method implemented. + (isAnnotation()): New method implemented. + * vm/reference/java/lang/VMClass.java: + (isEnum()): New native method. + (isSynthetic()): New native method. + (isAnnotation()): New native method. + * vm/reference/java/lang/reflect/Constructor.java: + (newInstance(Object...)): Changed input parameter to a vararg. + +2005-04-03 Andrew John Hughes + + * java/lang/System.java: + (getenv()): Use Collections.unmodifiableMap to wrap an + EnvironmentMap. + (EnvironmentCollection): Reduced to just String check changes. + (EnvironmentSet): Likewise. + (EnvironmentMap): Likewise. + (EnvironmentIterator): Removed. + +2005-04-02 Andrew John Hughes + + * java/lang/StringBuilder.java: + Change references to System.arraycopy to + VMSystem.arraycopy. + 2005-04-03 Guilhem Lavaux Rei Odaira @@ -25841,7 +27315,7 @@ * gnu/xml/dom/html2/DomHTMLParser.java: Changed 'enum' references to become 'enumeration'. - + 2005-03-22 Archie Cobbs * configure.ac: Generate scripts/classpath.spec. @@ -25863,7 +27337,19 @@ * doc/www.gnu.org/events/escape_fosdem05.wml: Add link to kaffe presentation. -2005-03-17 Archie Cobbs +2005-03-21 Andrew John Hughes + + * java/lang/Class.java: + Implements java.lang.reflect.Type + * java/lang/ClassLoader.java: + (getResources(String)): No longer final. + * java/lang/Enum.java: + Added serialization UID. + * java/lang/Thread.java: + (destroy()): Deprecated. + (Thread.State): Added serialization UID. + +2005-03-19 Archie Cobbs * vm/reference/java/lang/VMClassLoader.java: handle ZIP files on the boot loader class path in getResources() @@ -25875,6 +27361,22 @@ org/omg/CORBA/CompletionStatusHelper.java: New files. +2005-03-19 Andrew John Hughes + + * java/lang/IllegalArgumentException: + (IllegalArgumentException(String, Throwable)): + Implemented. + (IllegalArgumentException(Throwable)): Likewise. + (IllegalStateException(String, Throwable)): + Implemented. + (IllegalStateException(Throwable)): Likewise. + (SecurityException(String, Throwable)): + Implemented. + (SecurityException(Throwable)): Likewise. + (UnsupportedOperationException(String, Throwable)): + Implemented. + (UnsupportedOperationException(Throwable)): Likewise. + 2005-03-18 Mark Wielaard * doc/www/downloads/downloads.wml: Add 0.14. @@ -25885,17 +27387,6 @@ * java/util/zip/GZIPInputStream.java: (GZIPInputStream): Read header in constructor. -2005-03-18 Andrew John Hughes - - * gnu/javax/swing/text/html/parser/htmlAttributeSet.java: - (getAttributeNames()): Replaced 'enum' with 'enumeration'. - * gnu/javax/swing/text/html/parser/htmlValidator.java: - (validateParameters(TagElement,htmlAttributeSet)): - Replaced 'enum' with 'enumeration'. - (validateAttribute(TagElement,htmlAttributeSet, - Enumeration,Enumeration)): - Likewise. - 2005-03-18 Audrius Meskauskas * ChangeLog.usermap: New file (replacing). @@ -26065,6 +27556,17 @@ * gnu/xml/aelfred2/XmlParser.java: Fixed typo. +2005-03-13 Andrew John Hughes + + * gnu/javax/swing/text/html/parser/htmlAttributeSet.java: + (getAttributeNames()): Replaced 'enum' with 'enumeration'. + * gnu/javax/swing/text/html/parser/htmlValidator.java: + (validateParameters(TagElement,htmlAttributeSet)): + Replaced 'enum' with 'enumeration'. + (validateAttribute(TagElement,htmlAttributeSet, + Enumeration,Enumeration)): + Likewise. + 2005-03-12 Audrius Meskauskas * org/omg/CORBA/StringSeqHelper.java, @@ -26787,14 +28289,14 @@ org/omg/CORBA/CompletionStatus.java: Documenting that serialVersionUID is from v1.4. -2005-04-06 Audrius Meskauskas +2005-03-06 Audrius Meskauskas * org/omg/CORBA/Context.java, org/omg/CORBA/ContextList.java: New files. -2005-04-06 Audrius Meskauskas +2005-03-06 Audrius Meskauskas * org/omg/CORBA/TCKind.java: Making fields final. -2005-04-06 Audrius Meskauskas +2005-03-06 Audrius Meskauskas * org/omg/CORBA/Any.java, org/omg/CORBA/Principal.java, @@ -27404,16 +28906,6 @@ 2005-02-20 Andrew John Hughes - Merge of interfaces and exceptions to HEAD from - the generics branch. - - * java/lang/StringBuilder.java: Serial version updated. - * java/lang/annotation/AnnotationTypeMismatchException.java: Likewise. - - Changes from generics branch: - - 2005-02-20 Andrew John Hughes - * java/io/Closeable.java: Documented. * java/io/Flushable.java: Documented. * java/lang/Appendable.java: Corrected line overrun. @@ -27426,32 +28918,98 @@ * java/lang/reflect/ParameterizedType.java: Likewise. * java/lang/reflect/Type.java: Likewise. * java/lang/reflect/WildcardType.java: Likewise. - - 2005-01-07 Andrew John Hughes - * java/lang/annotation/AnnotationTypeMismatchException.java: - Added import of java.lang.reflect.Method +2005-02-20 Mark Wielaard - 2004-08-26 Tom Tromey + * java/util/SimpleTimeZone.java (getOffset): Calculate beforeEnd by + taking dstSavings into account. - * java/lang/reflect/GenericSignatureFormatError.java: New file. - * java/lang/reflect/WildcardType.java: New file. - * java/lang/reflect/ParameterizedType.java: New file. - * java/lang/reflect/GenericArrayType.java: New file. - * java/lang/reflect/Type.java: New file. - * java/io/Flushable.java: New file. - * java/io/Closeable.java: New file. +2005-02-20 Sven de Marothy - 2004-08-07 Tom Tromey - - * java/lang/annotation/AnnotationFormatError.java: New file. - * java/lang/annotation/AnnotationTypeMismatchException.java: New - file. + * java/text/SimpleDateFormat.java, + (parse): Set DST_OFFSET to the correct value. - 2004-08-06 Tom Tromey +2005-02-20 Rutger Ovidius - * java/lang/Readable.java: New file. + * gnu/java/security/provider/Gnu.java (Gnu): Add SHA-160 alias. +2005-02-20 Mark Wielaard + + * java/text/SimpleDateFormat.java + (SimpleDateFormat(String, DateFormatSymbols)): Throw + NullPointerException when formatData is null. + +2005-02-19 Michael Koch + + * gnu/java/locale/LocaleInformation_af.java, + gnu/java/locale/LocaleInformation_am.java, + gnu/java/locale/LocaleInformation_ca.java, + gnu/java/locale/LocaleInformation_cs.java, + gnu/java/locale/LocaleInformation_cy.java, + gnu/java/locale/LocaleInformation_da.java, + gnu/java/locale/LocaleInformation_de.java, + gnu/java/locale/LocaleInformation_el.java, + gnu/java/locale/LocaleInformation_en.java, + gnu/java/locale/LocaleInformation_eo.java, + gnu/java/locale/LocaleInformation_es.java, + gnu/java/locale/LocaleInformation_et.java, + gnu/java/locale/LocaleInformation_eu.java, + gnu/java/locale/LocaleInformation_fa.java, + gnu/java/locale/LocaleInformation_fi.java, + gnu/java/locale/LocaleInformation_fr.java, + gnu/java/locale/LocaleInformation_ga.java, + gnu/java/locale/LocaleInformation_hr.java, + gnu/java/locale/LocaleInformation_hu.java, + gnu/java/locale/LocaleInformation_hy.java, + gnu/java/locale/LocaleInformation_id.java, + gnu/java/locale/LocaleInformation_is.java, + gnu/java/locale/LocaleInformation_it.java, + gnu/java/locale/LocaleInformation_ja.java, + gnu/java/locale/LocaleInformation_ka.java, + gnu/java/locale/LocaleInformation_ko.java, + gnu/java/locale/LocaleInformation_lo.java, + gnu/java/locale/LocaleInformation_lt.java, + gnu/java/locale/LocaleInformation_lv.java, + gnu/java/locale/LocaleInformation_mk.java, + gnu/java/locale/LocaleInformation_mn.java, + gnu/java/locale/LocaleInformation_ms.java, + gnu/java/locale/LocaleInformation_mt.java, + gnu/java/locale/LocaleInformation_nb.java, + gnu/java/locale/LocaleInformation_nl.java, + gnu/java/locale/LocaleInformation_nn.java, + gnu/java/locale/LocaleInformation_pl.java, + gnu/java/locale/LocaleInformation_pt.java, + gnu/java/locale/LocaleInformation_ro.java, + gnu/java/locale/LocaleInformation_ru.java, + gnu/java/locale/LocaleInformation_sk.java, + gnu/java/locale/LocaleInformation_sl.java, + gnu/java/locale/LocaleInformation_sq.java, + gnu/java/locale/LocaleInformation_sv.java, + gnu/java/locale/LocaleInformation_th.java, + gnu/java/locale/LocaleInformation_tr.java, + gnu/java/locale/LocaleInformation_vi.java, + gnu/java/locale/LocaleInformation_zh.java, + gnu/java/locale/LocaleInformation_zh_Hant.java: Updated. + * gnu/java/locale/LocaleInformation_az_Cyrl.java: New file. + +2005-02-19 Archie Cobbs + + * java/lang/Throwable.java: simplify initializing cause in constructor + +2005-02-19 Michael Koch + + * javax/swing/JToggleButton.java: Removed empty line. + +2005-02-18 Bryce McKinlay + + * java/util/LinkedHashMap (addEntry): Call remove() with key argument, + not the HashEntry. Reported by Jean-Marie White. + +2005-02-18 Mark Wielaard + + * doc/www.gnu.org/events/escape_fosdem05.wml: New event. + * doc/www.gnu.org/newsitems.txt: Add Escape the Java Trap. + * doc/www.gnu.org/events/events.wml: Likewise. 2005-02-20 Mark Wielaard * java/util/SimpleTimeZone.java (getOffset): Calculate beforeEnd by @@ -28383,11 +29941,12 @@ 2005-02-14 Sven de Marothy - * java/util/Calendar.java - (clear): Dates should clear to local time. - * java/util/GregorianCalendar.java - (computeTime): Fix priority problem with DAY_OF_WEEK, - Handle non-sunday-startig weeks and minimumDaysInFirstWeek. + * java/util/Calendar.java + (clear): Dates should clear to local time. + + * java/util/GregorianCalendar.java + (computeTime): Fix priority problem with DAY_OF_WEEK, + Handle non-sunday-startig weeks and minimumDaysInFirstWeek. 2005-02-13 Mark Wielaard @@ -28793,8 +30352,7 @@ 2005-02-05 C. Brian Jones - * gnu/java/rmi/registry/: Added back to classpath again, used by core - library. + * gnu/java/rmi/registry/: added back to classpath again, used by core library * gnu/java/rmi/registry/RegistryImpl.java: ditto * gnu/java/rmi/registry/RegistryImpl_Skel.java: ditto * gnu/java/rmi/registry/RegistryImpl_Stub.java: ditto @@ -28961,6 +30519,27 @@ javax/security/auth/callback/TextOutputCallback.java, javax/security/auth/callback/UnsupportedCallbackException.java: Removed CVS version tags. + +2005-02-01 Andrew John Hughes + + * java/lang/Appendable.java: + Changed formatting to match HEAD. + * java/text/MessageFormat.java: + Likewise. + * javax/swing/AbstractSet.java, + javax/swing/DefaultCellRenderer.java: + Finally removed. + +2005-01-31 Andrew John Hughes + + * acinclude.m4: + (CLASSPATH_FIND_JAVAC): Add ECJ option. + (CLASSPATH_WITH_ECJ): New function. + (CLASSPATH_CHECK_ECJ): New function. + * examples/Makefile.am: + Allow examples to be built with ecj. + * lib/Makefile.am: + Allow Classpath to be built with ecj. 2005-01-31 Andrew John Hughes @@ -29683,7 +31262,7 @@ (formatWithAttribute(java.util.Date, gnu.java.text.FormatBuffer, java.text.FieldPosition)): Changed to use CompiledField. New handler for RFC 822 timezones added. - + 2005-01-22 Andrew John Hughes * java/awt/Checkbox.java: @@ -29762,6 +31341,25 @@ javax/print/attribute/standard/MediaSize.java: New files. +2005-01-20 Andrew John Hughes + + * include/java_lang_VMSystem.h: + (Java_java_lang_VMSystem_environ): added + * java/lang/System.java: + Added cached environmentMap. + (getenv()): documented and implemented + (EnvironmentCollection): new class for use + by getenv() + (EnvironmentSet): likewise + (EnvironmentIterator): clone of + UnmodifiableIterator from java.util + * native/jni/java-lang/java_lang_VMSystem.c: + (environ(JNIEnv, jclass)): implemented + * vm/reference/java/lang/VMSystem.java: + (getenv()): removed + (environ()): new native method + (getenv(String)): made native like HEAD + 2005-01-20 Andrew John Hughes * java/util/Currency.java: @@ -29855,26 +31453,6 @@ (AccessibleAWTCheckbox.getAccessibleStateSet()): implemented and documented (getAccessibleContext()): name of accessible class corrected - -2005-01-19 Andrew John Hughes - - Merge of java.lang.Appendable to HEAD from - the generics branch. - - 2004-08-06 Tom Tromey - - * java/lang/Appendable.java: New file. - - 2004-09-26 Andrew John Hughes - - * java/lang/Appendable.java - Documented this class. - (append(CharSequence, int, int)): added. - - 2004-10-31 Robert Schuster - - * java/lang/Appendable.java (append): - Throws IOException. 2005-01-19 Michael Koch @@ -30009,6 +31587,35 @@ javax/imageio/metadata/IIONamedNodeMap.java, javax/imageio/metadata/IIONodeList.java: New files + +2005-01-17 Andrew John Hughes + + * java/util/IdentityHashMap.java: + added parameteric typing + (entries): generically typed + (IdentityHashMap(Map)): + likewise + (entrySet()): likewise + (entrySet().iterator()): likewise + (get(Object)): likewise + (keySet()): likewise + (keySet().iterator()): likewise + (put(K,V)): likewise + (putAll(Map)): likewise + (remove(Object)): likewise + (values()): likewise + (values().iterator()): likewise + (IdentityIterator): likewise + (IdentityIterator.next()): likewise + (IdentityEntry): likewise + (IdentityEntry.getKey()): likewise + (IdentityEntry.getValue()): likewise + (IdentityEntry.putValue(V)): likewise + (readObject()): appropriate casting + +2005-01-16 Tom Tromey + + * .classpath: Updated. 2005-01-17 Andrew John Hughes @@ -30022,65 +31629,119 @@ * java/lang/ClassLoader.java (getExtClassLoaderUrls): Add check for null returned from getFiles(). -2005-01-15 Andrew John Hughes +2005-01-16 Andrew John Hughes + + Final merge of HEAD patches to generics branch + All changes are listed in merged Changelog. + In addition, + * java/lang/System.java: + (getenv()): changed Runtime.securityManager to + SecurityManager.current + (getenv(String)): likewise + (remove(String)): pointed to SystemProperties + * gnu/classpath/SystemProperties.java: + (remove(String)): implemented and documented +2005-01-15 Tom Tromey + + * javax/imageo/metadata: Merged from trunk. + +2005-01-15 Andrew John Hughes + * java/text/SimpleDateFormat.java: (getDateFormatSymbols()): return a copy (setDateFormatSymbols(java.text.DateFormatSymbols)): throw exception on null input (clone()): implemented to clone internal fields - + 2005-01-15 Mark Wielaard - + Reported by Martin Platter * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c (Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFile): Correct method signature of gtkSetFilename. 2005-01-14 Sven de Marothy - + * java/util/GregorianCalendar.java (GregorianCalendar): Update fields in the constructor - + 2005-01-14 Arnaud Vandyck - + * javax/swing/text/StringContent.java: New file. - + 2005-01-13 Andrew John Hughes - + * java/text/SimpleDateFormat.java: (parse): extend try{} block so all illegal arguments are caught and returned as null - + 2005-01-13 Sven de Marothy - + * java/text/SimpleDateFormat.java (parse): comparison should be case-insensitive, ignore null strings. - + 2005-01-13 Jeroen Frijters - + * vm/reference/java/nio/channels/VMChannels.java: Class shouldn't be public. (newInputStream,newOutputStream): No need to be public. - + 2005-01-13 Michael Koch - + * scripts/check_jni_methods.sh: Don't use GNU sed specific features. + +2005-01-13 Andrew John Hughes -2005-01-12 Andrew John Hughes + * java/util/Arrays.java: + (sort(T[],int,int,Comparator)): Typed + Object[] to T[] + * java/util/Collections.java; + (compare(T,T,)): typed generically + (binarySearch(List,T,Comparator)): + re-typed and added casts to List + (rotate(List, int)): added (incorrect?) + super type to compile + (shuffle(List): likewise + (shuffle(List,int,int)): added (incorrect?) + super type to compile + (entrySet()): unmodifiable version removed invalid + static typing of K and V + * java/util/HashMap.java: + (entries): re-typed to Set> + (putAll(Map)): cast and foreach + statement added + (putAllInternal(Map)): likewise + * java/util/Hashtable.java: + same as for HashMap + * java/util/LinkedHashEntry.java: + (pred,succ): generically typed + (LinkedHashEntry(K,V)): likewise + (cleanup()): likewise + (get(Object)): likewise + (addEntry(K,V,int,boolean)): likewise + * java/util/LinkedList.java: + changed incorrect cast + (LinkedListItr): re-typed to unique I from T + * java/util/TreeSet.java: + cast set to SortedSet before using +2005-01-12 Andrew John Hughes + * java/text/DecimalFormatSymbols.java (DecimalFormatSymbols(java.util.Locale)): defaults changed to "?" and "XXX" to match a nuance of Sun's impl. along with documentation - + 2005-01-12 Michael Koch - + * gnu/java/security/x509/X509Certificate.java (parse): Handle val == null case. - + 2005-01-12 Michael Koch - + * java/nio/channels/Channels.java (newInputStream(ReadableByteChannel)): Call VMChannels.newInputStream(ReadableByteChannel). @@ -30089,14 +31750,14 @@ (newInputStream(FileChannelImpl)): Removed. (newOutputStream(FileChannelImpl)): Likewise. * vm/reference/java/nio/channels/VMChannels.java: Nw file. - * native/jni/java-nio/Makefile.am: + * native/jni/java-nio/Makefile.am: * native/jni/java-nio/java_nio_channels_Channels.c, include/java_nio_channels_Channels.h: Removed. * include/Makefile.am: Don't generate java_nio_channels_Channels.h. Removed java_nio_channels_Channels.c. - + 2005-01-12 Michael Koch - + * gnu/java/net/PlainSocketImpl.java (shutdownInput): Made native. Throws IOException. Added Javadoc. (shutdownOutput): Likewise. @@ -30110,48 +31771,93 @@ * native/jni/java-net/javanet.h (_javanet_shutdownInput): Likewise. (_javanet_shutdownOutput): Likewise. - + 2005-01-12 Michael Koch - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetVisible): Removed setting of gdk_env. + +2005-01-12 Andrew John Hughes -2005-01-11 Mark Wielaard + * java/util/Collections.java + all occurences of + (toArray(E[] a)): fixed parameteric type to be different + from collection type + (entrySet()): immutable version retyped to return Map.Entry + * java/util/TreeMap.java + Completion of generic typing for all methods and variables + (entries, comparator): generically typed + (TreeMap(Comparator): likewise + (TreeMap(Map ): likewise + (TreeMap(SortedMap sm): likewise + (comparator()): likewise + (containsKey(Object)): cast to K for getKey() + (entrySet()): generically typed + (get(Object)): cast to K for getKey() + (keySet()): generically typed + (put(K,V)): likewise + (putAll(Map)): likewise + (remove(Object)): removed invalid generic typing + (values()): generically typed + (deleteFixup(Node, Node)): likewise + (highestLessThan(K)): likewise + (insertFixup(Node)): likewise + (lastNode()): likewise + (lowestGreatThan(K, boolean): likewise + (predecessor(Node)): likewise + (putKeysLinear(Iterator, int)): likewise and doc + correction + (removeNode(Node)): generically typed + (rotateLeft(Node)): likewise + (rotateRight(Node)): likewise + (sucessor(Node)): likewise + (SubMap): generically typed with SK and SV + +2005-01-12 Andrew John Hughes - * acinclude.m4 (CLASSPATH_WITH_GJDOC): Test for gjdoc, not jay. + * java/util/EnumMap.java + Corrected comment for accuracy. + * java/util/EnumSet.java + Corrected indenting. + * java/util/Hashtable.java + Corrected bracketing of author. +2005-01-11 Mark Wielaard + + * acinclude.m4 (CLASSPATH_WITH_GJDOC): Test for gjdoc, not jay. + 2005-01-12 Thomas Fitzsimmons - + * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c (mouseWheel): Call XFlush. (keyPress): Likewise. (keyRelease): Likewise. - + 2005-01-11 Michael Koch - + * javax/swing/UIDefaults.java (UIDefaults): Fixed typo in javadoc (Thanks to Thomas Zander for reporting) Fixed HTML entity and removed a redundant comma. - + 2005-01-11 Michael Koch - + * configure.ac: Check for gdk-pixbuf-2.0. - + 2005-01-11 Graydon Hoare - + * gnu/java/awt/ClasspathToolkit.java (registerImageIOSpis): New method. * gnu/java/awt/image/ImageDecoder.java (imageDecoder): New constructor using InputStream (startProduction): Handle existing InputStream. - * gnu/java/awt/peer/gtk/GdkGraphics2D.java + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (findSimpleIntegerArray): Make public and static. (updateBufferedImage): Set each pixel, in a loop. * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Implement ImageIO SPI classes. (createBufferedImage): Rewrite in terms of SPI classes. - * gnu/java/awt/peer/gtk/GtkToolkit.java + * gnu/java/awt/peer/gtk/GtkToolkit.java (registerImageIOSpis): New method. * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Borrow a patch from aph, applied to trunk, @@ -30213,9 +31919,9 @@ (Currency(java.util.Locale)): throw IllegalArgumentException for empty country string and NullPointerException for null locale or country - + 2005-01-11 Graydon Hoare - + * gnu/java/awt/ClasspathToolkit.java (nativeQueueEmpty) (wakeNativeQueue) @@ -30267,59 +31973,124 @@ * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise. * gnu/java/awt/peer/gtk/GtkGenericPeer.java: Likewise. (q): New method. - + 2005-01-11 Michael Koch - + * native/jni/gtk-peer/Makefile.am: Removed gnu_java_awt_peer_gtk_GtkMainThread.c. * include/Makefile.am: Don't generate gnu_java_awt_peer_gtk_GtkMainThread.h * include/gnu_java_awt_peer_gtk_GtkMainThread.h: Removed. - + 2005-01-11 Michael Koch - + * javax/swing/text/DefaultEditorKit.java (deinstall): Removed. (install): Likewise. - + 2005-01-11 Michael Koch - + * javax/swing/UIDefaults.java (put): Handle value of null. - + 2005-01-11 Chris Burdess - + * gnu/java/net/protocol/http/HTTPConnection.java: Use correct form of Host header when using a non-default port number. - + 2005-01-11 Chris Burdess - + * javax/net/ssl/HttpsURLConnection.java: Do not request SSLv3 provider during class initialization. - + 2005-01-11 Michael Koch - + * java/awt/Robot.java, java/awt/Scrollbar.java, java/awt/print/PrinterJob.java, javax/swing/JTable.java, javax/swing/text/AbstractDocument.java: Reworked import statements. - + 2005-01-11 Michael Koch - + * java/beans/XMLDecoder.java: Reworked imports, fixed class javadoc. * java/io/File.java, java/lang/System.java, java/net/Inet4Address.java, java/util/Currency.java, java/util/ResourceBundle.java: Reworked imports. + +2005-01-11 Tom Tromey + + * java/util/AbstractList.java (set, add): Fixed argument types. + * java/util/ArrayList.java: Properly handle generic arrays. + * java/util/Arrays.java (sort): Fixed type of temporary 'elem'. + * java/util/BitSet.java (containsAll): Use correct variable name. + * java/util/Collections.java (copy): Use correct + parameterizations. + (min): Likewise. + (putAll): Likewise. + (compare): Fixed argument types. + (sort): Properly handle generic arrays. + * java/util/EnumSet.java (clone): Ignore + CloneNotSupportedException. + (addAll, contains, containsAll, remove, removeAll, retainAll, + copyOf, complementOf): Don't use generic instanceof. + (copyOf): Cast result of 'clone'. + * java/util/HashMap.java (HashMap): Properly handle generic + arrays. + (clone): Likewise. + (rehash): Likewise. + (readObject): Likewise. + (putAll): Don't use generic instanceof. + (getEntry): Likewise. + (putAllInternal): Use correct parameterizations. + (next): Fixed return type. + * java/util/Hashtable.java (Hashtable): Properly handle generic + arrays. + (clone): Likewise. + (rehash): Likewise. + (readObject): Likewise. + (hash): Fixed argument type. + (getEntry): Don't use generic instanceof. + (next): Cast return values. + (nextElement): Fixed return type. + * java/util/LinkedList.java (toArray): Added cast. + (LinkedListItr): Now generic. + * java/util/TreeMap.java (TreeMap): Now generic. + (Node): Likewise. + (left, right, parent): Updated types. + (firstKey, get, headMap, lastKey, remove, subMap, tailMap, + firstNode, getNode): Updated types. + * java/util/TreeSet.java (TreeSet): Fixed cast. + (clone): Likewise. + (readObject): Likewise. + * java/util/Vector.java (Vector): Properly handle generic arrays. + (trimToSize): Likewise. + (ensureCapacity): Likewise. + (toArray): Likewise. + (addAll): Fixed parameterization. + * java/util/WeakHashMap.java (WeakBucket): Now generic. + (value, next): Updated types. + (WeakEntry): Parameterized superinterface. + (key, getKey, getValue, setValue): Updated types. + (getEntry): Fixed type of local 'key'. + (get): Updated. + (put): Fixed return type. + (remove): Updated. + +2005-01-11 Tom Tromey + + * .classpath: Updated for Eclipse 3.1. + * .settings/org.eclipse.jdt.core.prefs: New file. + * .settings/org.eclipse.jdt.ui.prefs: New file. 2005-01-10 Tom Tromey - + * java/io/BufferedInputStream.java: Fixed indentation. - + 2005-01-10 Michael Koch - + * javax/swing/JEditorPane.java (read): Implemented. (write): Likewise. @@ -30336,19 +32107,127 @@ (setEditorKit): Likewise. (setEditorKitForContentType): Removed wrong implementation. (setPage): Implemented. - + 2005-01-10 Michael Koch - + * scripts/check_jni_methods.sh: Dont ignore Java_gnu_java_awt_peer_gtk_GtkFramePeer_nativeSetIconImageFromData. - + 2005-01-10 Thomas Fitzsimmons - + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c (nativeSetIconImageFromData): Re-add native implementation. - + +2005-01-10 Andrew John Hughes + + * java/util/AbstractMap.java: + (putAll(Map)): added cast to + Map + * java/util/EnumMap.java: + Corrected instanceof tests, generic array creation, + use of Enum.getDeclaringClass() and wrong typing + of iterator methods + (clone()): re-written to use the EnumMap(EnumMap) + constructor + +2005-01-10 Andrew John Hughes + + * java/awt/AWTKeyStroke.java: + Typed static cache and vktable generically + (removeEldestEntry(Map.Entry)): + typed generically + (registerSubclass(Class)): typed generically + (readResolve()): removed unnecessary cast + (setFocusTraversalKeys(int, Set)): + typed generically + * java/awt/Container.java: + (setFocusTraversalKeys(int, Set)): + typed generically + (getFocusTraversalKeys(int)): typed generically + * java/awt/GridBagLayout.java: + comptable, internalcomptable now generically typed + (GridBagLayout()): generic typing + (sortBySpan(Component,int,ArrayList,boolean)): + typed generically + * java/awt/KeyboardFocusManager.java: + (getDefaultFocusTraversalKeys(int)): typed generically + * java/awt/dnd/DragGestureRecognizer.java: + typed events generically + * java/awt/dnd/DropTargetContext.java: + removed unnecessary import and added serialization UID + * java/awt/im/InputContext.java: + typed descriptors and recent generically + * java/awt/im/spi/InputMethodContext.java: + removed unnecessary import + * java/io/DeleteFileHelper.java: + filesToDelete typed generically + (add(java.io.File)): typed generically + (deleteFiles()): iteration changed to foreach + * java/io/ObjectInputStream.java: + typed objectLookupTable, validators, classLookupTable, oscs + generically + (resolveProxyClass(String[]): typed generically + * java/io/ObjectOutputStream.java: + removed unnecessary import + typed OIDLookupTable generically + * java/io/ObjectStreamClass.java: + typed oscs and classLookupTable generically + * java/io/ObjectStreamField.java: + type typed generically + (getType()): typed generically + (checkFieldType()): typed generically + * java/lang/Byte.java: + (compareTo(Object)): removed as unneeded + * java/lang/Character.java: + (compareTo(Object)): removed as unneeded + * java/lang/Class.java: + Typing changed from K to T in accordance with docs + and semantics (is a type, not a key) + (getEnumConstants()): implemented using reflection + (isEnum()): implemented using reflection + * java/lang/Double.java: + (compareTo(Object)): removed as unneeded + * java/lang/Float.java: + (compareTo(Object)): removed as unneeded + * java/lang/InheritableThreadLocal.java: + removed invalid static generic typing + * java/lang/Integer.java: + (compareTo(Object)): removed as unneeded + * java/lang/Long.java: + (compareTo(Object)): removed as unneeded + * java/lang/Short.java: + (compareTo(Object)): removed as unneeded + * java/util/AbstractQueue.java: + Typing changed from T to E in accordance with docs + and semantics (is primarily a element) + * java/util/Collection.java: + (containsAll(Collection c)): typed generically + * java/util/EnumMap.java: + (EnumMap(Class)): removed invalid array creation + * java/util/LinkedHashMap.java: + Added generic typing + (LinkedHashMap(Map)): added + generics + (get(Object)): returns V instead of Object + (removeEldestEntry(Map.Entry)): typed generically + * java/util/PriorityQueue.java: + removed invalid generic instanceof and generic array + creation + (iterator().remove()): added reference to outer class + * java/util/WeakHashMap.java + Added generic typing + (WeakHashMap(Map)): added + generics + (get(Object)): returns V instead of Object + (put(K,V)): generically typed + (remove(Object)): returns V instead of Object + (entrySet()): returns generic set + (keySet()): returns generic set + (putAll(Map)): generically typed + (values()): returns generic collection + 2005-01-09 Mark Wielaard - + * java/security/AlgorithmParameterGenerator.java (getInstance): Mention provider when throwing NoSuchProviderException. * java/security/AlgorithmParameters.java (getInstance): Likewise. @@ -30356,9 +32235,9 @@ * java/security/KeyStore.java (getInstance): Likewise. * java/security/SecureRandom.java (getInstance): Likewise. * java/security/cert/CertificateFactory.java (getInstance): Likewise. - + 2005-01-09 Mark Wielaard - + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_create): Call JCL_free_cstring() when done with string. @@ -30369,13 +32248,13 @@ (Java_java_lang_VMSystem_getenv): Likewise. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c (Java_gnu_java_nio_channels_FileChannelImpl_open): Likewise. - + 2005-01-09 Mark Wielaard - + * configure.ac: Update version to 0.13+cvs. - + 2005-01-09 Mark Wielaard - + * acinclude.m4 (CLASSPATH_WITH_GJDOC): Renamed from CLASSPATH_ENABLE_GJDOC. Can now take argument to use as gjdoc program. Doesn't depend on xml tools. @@ -30391,36 +32270,36 @@ (clean): Also remove create_html file. (create_html): Rewritten. * doc/api/classpath-copyright.xml: Removed. - + 2005-01-09 Patrik Reali - + * doc/www.gnu.org/newsitems.txt doc/www.gnu.org/announce/20050107.wml doc/www.gnu.org/downloads/downloads.wml: classpath 0.13 release news - + 2005-01-08 Ito Kazumitsu - + * java/nio/charset/Charset.java (providers): New method to make an array of CharsetProviders defined in META-INF/services/java.nio.charset.spi.CharsetProvider. (charsetForName, availableCharsets): Use the new method providers(). - + 2005-01-08 Michael Koch - + * java/util/SimpleTimeZone.java (checkRule): Throw IllegalArgumentException on invalid month values. - + 2005-01-08 Michael Koch - + * gnu/java/net/protocol/http/HTTPConnection.java (newRequest): Use "/" as path if no path given in URL. - + 2005-01-08 Michael Koch - + * resource/Makefile.am: Install classpath.security file. - + 2005-01-08 Michael Koch - + * resource/java/util/iso639_fr.properties, resource/java/util/iso3166.properties, resource/java/util/iso3166_de.properties, @@ -30430,15 +32309,15 @@ resource/java/util/iso639-a2-old.properties, resource/java/util/iso3166-a3.properties, resource/java/util/iso639_ga.properties: Removed. - + 2005-01-07 Tom Tromey - + * java/lang/Package.java (getPackages): Use VMClassLoader when appropriate. (getPackage): Likewise. - + 2005-01-07 Michael Koch - + * java/nio/Buffer.java (address): New field. * java/nio/DirectByteBufferImpl.java (address): Removed. * java/nio/MappedByteBufferImpl.java (address): Likewise.. @@ -30449,9 +32328,9 @@ * java/nio/IntViewBufferImpl.java (IntViewBufferImpl): Likewise. * java/nio/LongViewBufferImpl.java (LongViewBufferImpl): Likewise. * java/nio/ShortViewBufferImpl.java (ShortViewBufferImpl): Likewise. - + 2005-01-07 Olga Rodimina - + * javax/swing/JTable.java (columnAtPoint): New Method. Implemented. (rowAtPoint): Likewise. @@ -30537,6 +32416,39 @@ * java/util/SimpleTimeZone.java: (getOffset): offset end date with daylight savings +2005-01-07 Andrew John Hughes + + * java/io/PrintStream.java: + (PrintStream(String, String)): added UnsupportedEncodingException + (PrintStream(File, String)): added UnsupportedEncodingException + * java/lang/Deprecated.java: + Changed import to java.lang.annotation.RetentionPolicy.RUNTIME + * java/lang/InheritableThreadLocal.java: + Corrected typo `Locals' to `Local' + * java/lang/String.java: + (compareTo(Object)): removed + * java/lang/annotation/AnnotationTypeMismatchException.java: + Added import of java.lang.reflect.Method + * java/lang/annotation/Documentation.java: + Added import of java.lang.annotation.RetentionPolicy.RUNTIME + * java/lang/annotation/Inherited.java: + Added import of java.lang.annotation.RetentionPolicy.RUNTIME + Added import of java.lang.annotation.ElementType.ANNOTATION_TYPE + * java/lang/annotation/Retention.java: ditto + * java/lang/annotation/Target.java: ditto + * java/lang/reflect/AnnotatedElement.java: + Added import of java.lang.annotation.Annotation + * java/util/AbstractCollection.java: + (toArray(T[])): converted returned type to T[] from Object[] + * java/util/EnumMap.java: + Added import of java.io.Serializable + * java/util/EnumSet.java: ditto + * java/util/TreeSet.java: + (TreeSet(SortedMap backingMap)): type of input parameter + corrected. + * vm/reference/java/lang/VMClass.java: + (cast(Object, Class)): typed method parameterically + 2005-01-06 Tom Tromey * java/lang/ClassLoader.java (findClass): Fixed documentation. @@ -30546,41 +32458,41 @@ * configure.ac: Update version to 0.13. * NEWS: Add news about 0.13. * INSTALL: Mention new dependencies and configure flags. - + 2005-01-06 Mark Wielaard - + * configure.ac: Add explicit X and libXtst tests when gtk+ peers are enabled. - + 2005-01-06 Michael Koch - + * java/util/TimeZone.java (setID): Throw NullPointerException if needed. - + 2005-01-05 Mark Wielaard - + * lib/gen-classlist.sh.in: Don't split locales in classes.locale1 and classes.locale2. * lib/Makefile.am (JAVAC): Compile only classes.locale. (CLEANFILES): Remove classes.locale1 and classes.locale2, add classes.locale. - + 2005-01-05 Tom Tromey - + * java/util/zip/ZipEntry.java (setCompressedSize): Allow any argument. (compressedSize): Now 'long'. Default to -1. (getCompressedSize): Rewrote. - + 2005-01-05 Ranjit Mathew - + * java/util/IdentityHashMap.java (put): Replace mistaken use of "<<" by "*". - + 2005-01-05 Michael Koch - + * gnu/java/locale/LocaleInformation_mn_MN.java: - New file. + New file. * gnu/java/locale/LocaleInformation_aa.java, gnu/java/locale/LocaleInformation_aa_DJ.java, gnu/java/locale/LocaleInformation_aa_ER.java, @@ -30829,9 +32741,9 @@ gnu/java/locale/LocaleInformation_zh_SG_Hans.java, gnu/java/locale/LocaleInformation_zh_TW_Hant.java: Regenerated. - + 2005-01-04 Tom Tromey - + * vm/reference/java/lang/VMProcess.java (VMProcess): Constructor now package-private. (processThread, workList, reapedPid, reapedExitValue, state, cmd, @@ -30842,32 +32754,32 @@ modifiers. * vm/reference/java/security/VMAccessController.java (DEFAULT_CONTEXT): Reordered modifiers. - + * gnu/java/nio/SelectorImpl.java: Removed unused import. * gnu/java/security/der/DERWriter.java: Removed unused import. * gnu/java/net/protocol/http/Connection.java: Removed unused import. * gnu/java/nio/PipeImpl.java (read): Reordered modifiers. Fixed indentation. - (write): Likewise. + (write): Likewise. * gnu/java/rmi/server/ConnectionRunnerPool.java (getConnectionRunner): Reordered modifiers. * gnu/java/text/FormatCharacterIterator.java (debug): Removed useless `final'. (dumpTable): Likewise. * gnu/java/net/PlainDatagramSocketImpl.java (bind): Reordered - modifiers. + modifiers. (create, setOption, getOption, close, join, leave): Likewise. * gnu/java/net/PlainSocketImpl.java (create): Reordered modifiers. (bind, listen, accept): Likewise. - + 2005-01-04 Tom Tromey - + * Makefile.am (EXTRA_DIST): Added ChangeLog-2004. - + 2005-01-04 Robert Schuster - + * gnu/java/beans/DummyAppletStub.java: Add dummy implementation of AppletStub for java.beans.Beans.instantiate. * gnu/java/beans/DummyAppletContext.java: Add dummy implementation @@ -30877,9 +32789,9 @@ (instantiate): Added two more overloaded variants, reworked user documentation, fixed exception behavior, fixed behavior when deserializing null. - + 2005-01-03 Michael Koch - + * javax/swing/plaf/metal/MetalLookAndFeel.java (getControlTextFont): New method. (getMenuTextFont): Likewise. @@ -30887,22 +32799,22 @@ (getSystemTextFont): Likewise. (getUserTextFont): Likewise. (getWindowTitleFont): Likewise. - + 2005-01-03 Michael Koch - + * javax/swing/text/AbstractDocument.java (documentFilter): New field. (getDocumentFilter): New method. (setDocumentFilter): Likewise. - (dump): Likewise. - + (dump): Likewise. + 2005-01-03 Michael Koch - - * javax/swing/JTree.java + + * javax/swing/JTree.java (DynamicUtilTreeNode.hasChildren): Clarify javadoc. - + 2005-01-03 Thomas Fitzsimmons - + * gnu/java/awt/ClasspathToolkit.java (createRobot): New method. * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java (getDefaultScreenDevice): Implement. @@ -31034,10 +32946,10 @@ * native/jni/xmlj/xmlj_sax.c: Likewise. * native/jni/xmlj/xmlj_transform.c: Likewise. * native/jni/xmlj/xmlj_xpath.c: Likewise. - + 2005-01-02 Michael Koch - - * javax/swing/text/AbstractDocument.java + + * javax/swing/text/AbstractDocument.java (AbstractElement.getLength): Fixed off-by-one error. (AbstractElement.children): Made abstract. (AbstractElement.getAllowsChildren): Likewise. @@ -31051,19 +32963,29 @@ (LeafElement.toString): Likewise. * javax/swing/text/GapContent.java (GapContent): Put default content into buffer. - * javax/swing/text/PlainDocument.java + * javax/swing/text/PlainDocument.java (reindex): Use empty attribute sets instead of null. (createDefaultRoot): Reimplemented. (insertUpdate): Call super method. (removeUpdate): Likewise. (getParagraphElement): Implemented. + +2005-01-02 Tom Tromey -2005-01-01 Michael Koch + * java/io/PrintStream.java: Implement Appendable. + (PrintStream(String)): New constructor. + (PrintStream(String,String)): Likewise. + (PrintStream(File)): New constructor. + (PrintStream(File,String)): Likewise. + (append): New methods. + + * java/lang/System.java (getenv): Added @since. + * java/lang/System.java (getenv(String)): Rewrote. + (getenv): New method. + * vm/reference/java/lang/VMSystem.java (getenv): New methods. + +2005-01-01 Michael Koch + * javax/swing/DefaultBoundedRangeModel.java (fireValueChanged): Fixed off-by-one error. - - -Local Variables: -coding: iso-latin-1-unix -End: diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj index 4eeed878155..c6b5d5432ca 100644 --- a/libjava/classpath/ChangeLog.gcj +++ b/libjava/classpath/ChangeLog.gcj @@ -1,182 +1,80 @@ -2006-11-03 Gary Benson +2006-12-23 Andreas Tobler - * java/net/Inet4Address.java - (FAMILY): Renamed to AF_INET. - (, writeReplace): Reflect the above. - * java/net/Inet6Address.java - (FAMILY): Renamed to AF_INET6. - (): Reflect the above. + * classpath/tools/Makefile.am: Replace cp -a with a more portable + cp -pR. + * classpath/tools/Makefile.in: Regenerate. -2006-10-10 Tom Tromey +2006-12-18 Tom Tromey - PR classpath/29362: - * gnu/xml/transform/TransformerImpl.java (transform): Only strip if - there is a stylesheet. + * tools/Makefile.in: Rebuilt. + * tools/Makefile.am (GLIBJ_CLASSPATH): Look in srcdir. -2006-10-05 Gary Benson +2006-12-18 Tom Tromey - * java/net/SocketPermission.java - (processHostport): Cope with IPv6 addresses with a - one-digit first component. + * tools/Makefile.in: Rebuilt. + * tools/Makefile.am ($(TOOLS_ZIP)): Put classes in srcdir. + * tools/asm, tools/classes: Check in .class files. -2006-09-25 Tom Tromey +2006-12-18 Gary Benson - * native/jni/gconf-peer/Makefile.in: Rebuilt. - * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): New - variable. + * tools/Makefile.am: Fix typo. + * tools/Makefile.in: Rebuilt. -2006-09-25 Tom Tromey +2006-12-15 Andrew Haley - PR libgcj/29178: - * gnu/java/nio/charset/US_ASCII.java (Encoder.canEncode): New method. - (Encoder.canEncode): Likewise. - (Encoder.encodeLoop): Return unmappable for all non-ASCII characters. - * gnu/java/nio/charset/ByteCharset.java (Encoder.canEncode): New - method. - (Encoder.canEncode): Likewise. - * gnu/java/nio/charset/ISO_8859_1.java (Encoder.canEncode): New - method. - (Encoder.canEncode): Likewise. + * tools/Makefile.am (TOOLS_ZIP): Pass -g -w to javac. + Create all-classes.lst that contains all source filenames. + Delete asm.lst. -2006-09-25 Tom Tromey +2006-12-15 Tom Tromey - * native/fdlibm/mprec.c (mprec_calloc): Renamed. - (Balloc): Updated. + * configure, lib/Makefile.in: Rebuilt. + * lib/Makefile.am (compile-classes): Use JAVA_MAINTAINER_MODE. + * configure.ac: Added --enable-java-maintainer-mode. -2006-09-25 Mark Wielaard +2006-12-12 Tom Tromey - Suggested by Aaron M. Ucko - Fixes bug #29203 - * native/fdlibm/mprec.c (ulp): Define L as int32_t. - -2006-09-22 David Daney - - PR classpath/28661 - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Add - default content-type for POST method. - -2006-09-20 Gary Benson - - * java/net/InetAddress.java: Updated to latest. - * java/net/Inet4Address.java: Likewise. - * java/net/Inet6Address.java: Likewise. - * java/net/ResolverCache.java: Likewise. - * java/net/SocketPermission.java: Likewise. - - * java/net/Inet4Address.java - (AF_INET): Renamed to FAMILY. - (, writeReplace): Reflect the above. - * java/net/Inet6Address.java - (AF_INET6): Renamed to FAMILY. - (): Reflect the above. - -2006-09-18 Tom Tromey - - * gnu/javax/net/ssl/provider/SSLSocket.java (isBound, isClosed, - isConnected): Removed old comment. - (getRemoteSocketAddress): Uncommented. - (setOOBInline, getOOBInline, setKeepAlive, getKeepAlive, - setTrafficClass, getTrafficClass, setReuseAddress, - getReuseAddress, shutdownInput, shutdownOutput, isInputShutdown, - isOutputShutdown): Uncommented. - -2006-09-11 David Daney - - PR classpath/28580 - * gnu/java/net/protocol/http/Request.java (readResponse): Call - createResponseBodyStream in more cases and with new parameter. - (createResponseBodyStream): Added new parameter mayHaveBody. Handle - HEAD and !mayHaveBody responses specially. - -2006-09-05 Gary Benson - - * java/net/SocketPermission.java - (maybeBracketIPv6Address): Renamed to processHostport. - (processHostport): Also translate "" to "localhost". - (setHostPort): Remove special cases for empty hostport and for - extra colons in hostport (processHostport handles these now). - -2006-08-31 Keith Seitz - - * include/jvmti.h: Update from Classpath to get latest fixes and - improvements. - -2006-08-29 Gary Benson - - * java/net/SocketPermission.java - (maybeBracketIPv6Address): New method. - (): Pass the hostport argument through the above. - - * java/net/NetworkInterface.java (getInetAddresses): - Revert the previous change. - -2006-08-24 Gary Benson - - * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 - addresses. - -2006-08-18 Roger Sayle - - * scripts/check_jni_methods.sh: Don't use the "set -C" command - which isn't available in all shells. + * Makefile.in, tools/Makefile.in: Rebuilt. + * Makefile.am (SUBDIRS): Removed gcj-local change. + (DIST_SUBDIRS): Likewise. + * tools/Makefile.am (JCOMPILER): Use gcj, not gcjx. + (GLIBJ_BOOTCLASSPATH): Find core classes in srcdir. -2006-08-18 Tom Tromey +2006-12-11 Tom Tromey - * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed - debugging prints. - * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging - print. - (readEntries): Likewise. + * Merged in Classpath from libgcj-import-20061211. -2006-08-09 Tom Tromey +2006-10-17 Tom Tromey - PR classpath/28666: - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c - (Java_gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice_nativeGetDisplayModes): - Create a 'short' array. + * sun/reflect/annotation/AnnotationInvocationHandler.java + (invoke): Clone array values before return. + (create): New method. + (arrayClone): Likewise. -2006-08-07 Tom Tromey +2006-10-12 Tom Tromey - PR libgcj/28609: - * ltconfig: Copied from gcc. + * lib/Makefile.in: Rebuilt. + * lib/Makefile.am (JAVAC): Put classes in srcdir. + (compile-classes): Conditional on MAINTAINER_MODE. -2006-07-20 Keith Seitz +2006-07-18 Tom Tromey - * include/jvmti.h: Include copy from upstream before next merge. + * lib/Makefile.in: Rebuilt. + * lib/Makefile.am (JAVAC): Add -w, -g, and --encoding. -2006-07-12 Tom Tromey +2006-07-06 Tom Tromey - PR libgcj/27271: - * java/util/zip/ZipFile.java (getInputStream): Call addDummyByte - on PartialInputStream. - (PartialInputStream.dummyByteCount): New field. - (PartialInputStream.fillBuffer): Handle dummy byte. - (PartialInputStream.read): Likewise. - (PartialInputStream.addDummyByte): New method. + * lib/Makefile.in: Rebuilt. + * lib/Makefile.am (JAVAC): Define when FOUND_GCJ is true. + (compile-classes): Remove special case for gcj. -2006-06-14 Tom Tromey +2006-06-23 Tom Tromey - PR java/28024: - * aclocal.m4, configure: Rebuilt. - * m4/acinclude.m4 (REGEN_WITH_JAY): Use backquote, not $(...). - * configure.ac (QT_INCLUDE_DIR): Use backquote, not $(...). + * Imported Classpath generics 0.91, presesrving local changes. 2006-06-09 Tom Tromey - PR classpath/23863: - * native/fdlibm/dtoa.c (_dtoa): Free contents of _Jv_reent when - finished. - * native/fdlibm/mprec.c: New version from newlib. Commented out - some includes. Added . - (_reent, _Bigint): New defines. - (_REENT_CHECK_MP, _REENT_MP_FREELIST, _REENT_MP_P5S): Likewise. - (__ULong, __Long): New types. - (_calloc_r): New function. - (Balloc): Dynamically add new _freelist entries as needed. - * native/fdlibm/mprec.h (struct _Jv_Bigint): Don't use - MAX_BIGNUMS to size _x[]. - (struct _Jv_reent): _freelist now a _Jv_Bigint**. Removed - _allocation_map, num. Added _max_k. + * lib/Makefile.gcj (GCJF): Added -g and -ftarget=1.5. 2006-05-30 Thomas Fitzsimmons diff --git a/libjava/classpath/ChangeLog.usermap b/libjava/classpath/ChangeLog.usermap new file mode 100644 index 00000000000..c0d43db6e04 --- /dev/null +++ b/libjava/classpath/ChangeLog.usermap @@ -0,0 +1,60 @@ +abies:'Artur Biesiadowski ' +alexl:'Alex Lancaster ' +anwalt:'Andy Walter ' +aph:'Andrew Haley ' +archie172:'Archie Cobbs ' +arenn:'Aaron M. Renn ' +aselkirk:'Andrew Selkirk ' +audriusa:'Audrius Meskauskas ' +avdyk:'Arnaud Vandyck ' +brawer:'Sascha Brawer ' +bryce:'Bryce McKinlay ' +cbj:'Brian Jones ' +corvus:'James E. Blair ' +craig:'Craig Black ' +daryllee:'Daryl Lee ' +djee:'David Jee ' +dog:'Chris Burdess ' +egagnon:'Etienne M. Gagnon ' +ericb:'Eric Blake ' +fitzsim:'Thomas Fitzsimmons ' +fnasser:'Fernando Nasser ' +gadek:'Grzegorz B. Prokopski ' +gcb:'Geoff Berry ' +glavaux:'Guilhem Lavaux ' +gnu_andrew:'Andrew John Hughes ' +graydon:'graydon hoare ' +green:'Anthony Green ' +iproetel:'Ingo Proetel ' +jaz:'Jon A. Zeppieri ' +jewel:'John Leuner ' +jfrijters:'Jeroen Frijters ' +jgeorgal:'Giannis Georgalis ' +jochen:'Jochen Hoenicke ' +joey:'Joseph C. Lesh ' +jsturm:'Jeff Sturm ' +julian:'Julian Scheid ' +kho:'Kim Ho ' +mark:'Mark Wielaard ' +mcb:'Mark Benvenuto ' +mkoch:'Michael Koch ' +nferrier:'Nic Ferrier ' +noa:'Noa Resare ' +overholt:'Andrew Overholt ' +patrik_reali:'Patrik Reali ' +rabbit78:'Roman Kennke ' +raif:'Raif S. Naffah ' +rao:'Paul Fisher ' +robilad:'Dalibor Topic ' +rodimina:'Olga Rodimina ' +rschuster:'Robert Schuster ' +rsdio:'Casey Marshall ' +rupp:'Torsten Rupp ' +rveldema:'Ronald Veldema ' +saugart:'Steven Augart ' +shalom:'John Keiser ' +siebert:'Fridtjof Siebert ' +smarothy:'Sven de Marothy ' +stuart:'Stuart Ballard ' +tromey:'Tom Tromey ' +warrenl:'Warren Levy ' diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL index dae909effde..27bb7c0d225 100644 --- a/libjava/classpath/INSTALL +++ b/libjava/classpath/INSTALL @@ -1,4 +1,4 @@ -Installing GNU Classpath - Last updated: September 7, 2005 +Installing GNU Classpath - Last updated: June 19, 2006 First, this is a development release only! Unless you are interested in active development and debugging, or just like running random alpha code, @@ -54,6 +54,11 @@ Suggested Software For building gcjwebplugin you'll need the Mozilla plugin support headers and libraries. + The GConf-based backend for java.util.prefs needs the following + library headers: + + - gconf 2.11.2 (or higher) + For building the Qt AWT peer JNI native libraries you have to specify --enable-qt-peer and need the following library: @@ -65,10 +70,10 @@ Suggested Software http://escher.sourceforge.net Please note that at the moment most operating systems do not - ship Qt4 by default. We recommend using GNU Classpath' Qt4 - support only for its developers and bug reporters. See - http://developer.classpath.org/mediation/ClasspathShowcase - for details on how to get it to work. + ship Qt4 by default. We recommend using GNU Classpath' Qt4 + support only for its developers and bug reporters. See + http://developer.classpath.org/mediation/ClasspathShowcase + for details on how to get it to work. For building the xmlj JAXP implementation (disabled by default, use configure --enable-xmlj) you need the following installed: diff --git a/libjava/classpath/LICENSE b/libjava/classpath/LICENSE index ae2588d4476..44620dcef0c 100644 --- a/libjava/classpath/LICENSE +++ b/libjava/classpath/LICENSE @@ -299,6 +299,19 @@ terms: above copyright notice and this permission notice are included in all copies or substantial portions of the software. +The files in java/util/concurrent and subdirectories (with the +exception of CopyOnWriteArrayList.java), along with +java.util.NavigableMap, java.util.NavigableSet, java.util.Deque and +java.util.ArrayDeque, are taken from JSR166 concurrency materials +maintained by Doug Lea and distributed under the following terms: + + Written by Doug Lea with assistance from members of JCP JSR-166 + Expert Group and released to the public domain, as explained at + http://creativecommons.org/licenses/publicdomain + +CopyOnWriteArrayList.java has been reimplemented for GNU Classpath, +and is distributed under the same terms as other GNU Classpath files, +as specified at the top of this file. Directory external/relaxngDatatype RELAX NG Pluggable Datatype Libraries. All files are distributed under @@ -345,4 +358,3 @@ the following notice: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in index 9ed7b6deca2..649ffa5729a 100644 --- a/libjava/classpath/Makefile.in +++ b/libjava/classpath/Makefile.in @@ -48,12 +48,14 @@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -186,6 +188,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -307,7 +311,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ # lib first, to compile .class files before native code, last examples diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS index a787833e587..0ebecf396a0 100644 --- a/libjava/classpath/NEWS +++ b/libjava/classpath/NEWS @@ -1,5 +1,59 @@ +New in release 0.94 (UNRELEASED) + +* The ASM library is now included. A separate copy is no longer needed. + +* The setReadTimeout and getReadTimeout methods have been added to + java.net.URLConnection. They are now fully implemented for http URLs. + +New in release 0.93 (Dec 8, 2006) + +* CORBA objects that exist on the same virtual machine and only are connected + to another ORB are now accessed directly and no longer via network. It is + the same feature that RMI implementation provides. These faster calls should + be completely transparent, as the parameters are cloned, where required. + Currently the direct calls are only possible for the non-deprecated objects + that are connected to the ORB via POA. +* The 'javah' tool has been added. It requires the ASM library + (see asm.objectweb.org); it can be enabled with the --with-asm + option to configure +* Added the rmi and corbaname URL context factories for JNDI. +* Fixes in the JNDI InitialContext now allows to plug-in user implementation. +* Removed currentClassLoader method from + vm/reference/java/io/ObjectInputStream.java. +* Added firstNonNullClassLoader method to + vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to + provide a more efficient implementation. +* Added aton method to vm/reference/java/net/VMInetAddress.java. +* NetworkInterface has been implemented for systems that provide the + `getifaddrs' function. +* java.nio.channels.Selector implementations have been added that use + the kqueue notification mechanism on Mac OS X and *BSD, and that use + the epoll notification mechanism on Linux 2.6. +* java.nio has been refactored to support more non-blocking operations + natively. Blocking IO classes have been refactored to call + non-blocking classes. Non-blocking accepts, connects, and + scatter-gather IO should now be better supported. +* HTML support for Swing has been greatly enhanced. + +Runtime interface changes: + +* java.net.VMNetworkInterface and java.net.NetworkInterface have been + updated to keep native-modified state in the former, and to simplify + the native code in our reference implementation. +* gnu.java.nio.VMChannel has been expanded to better support native + non-blocking IO. Most native state data (such as file descriptor + integers) has been abstracted away into private state in the runtime + interface. +* gnu.java.nio.VMPipe has been similarly changed. +* gnu.java.net.VMPlainSocketImpl has been changed to remove some + functionality now provided by VMChannel; datagram socket-specific + methods have also been moved here, deprecating VMPlainDatagramSocketImpl. +* gnu.java.net.VMPlainDatagramSocketImpl removed. + New in release 0.92 (Aug 9, 2006) +* GConf is used as a backend for java.util.prefs. GNU Classpath + thanks to Mario Torre for this contribution! * libjawtgnu.so has been renamed libjawt.so for binary compatibility. libjawt.so should be installed in a VM-specific directory rather than directly in /usr/lib. Proprietary VMs put their libjawt.so @@ -29,6 +83,7 @@ New in release 0.92 (Aug 9, 2006) * jarsigner A new configure option --enable-tool-wrappers causes wrapper binaries to be built for VMs that support the JNI Invocation API. +* We've imported the JSR 166 (concurrency) reference implementation. * javax.sound.midi providers have been added to read and write standard MIDI files. * A javax.sound.sampled .au and .wav file readers have been added. diff --git a/libjava/classpath/aclocal.m4 b/libjava/classpath/aclocal.m4 index c6085b3d893..70d0475ff96 100644 --- a/libjava/classpath/aclocal.m4 +++ b/libjava/classpath/aclocal.m4 @@ -875,11 +875,13 @@ AC_SUBST([am__untar]) m4_include([../../config/depstand.m4]) m4_include([../../config/lead-dot.m4]) +m4_include([../../config/no-executables.m4]) m4_include([../../libtool.m4]) m4_include([m4/acattribute.m4]) m4_include([m4/accross.m4]) m4_include([m4/acinclude.m4]) m4_include([m4/ax_create_stdint_h.m4]) +m4_include([m4/gcc_attribute.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) diff --git a/libjava/classpath/compile b/libjava/classpath/compile new file mode 100755 index 00000000000..1b1d2321695 --- /dev/null +++ b/libjava/classpath/compile @@ -0,0 +1,142 @@ +#! /bin/sh +# Wrapper for compilers which do not understand `-c -o'. + +scriptversion=2005-05-14.22 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program 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. +# +# 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. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand `-c -o'. +Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file `INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; +esac + +ofile= +cfile= +eat= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we strip `-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libjava/classpath/config.guess b/libjava/classpath/config.guess index c085f4f51a2..2fc3acce2ea 100755 --- a/libjava/classpath/config.guess +++ b/libjava/classpath/config.guess @@ -1,10 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2006-05-13' +timestamp='2003-06-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -18,15 +17,13 @@ timestamp='2006-05-13' # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. - # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. @@ -56,7 +53,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -69,11 +66,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; + echo "$timestamp" ; exit 0 ;; --version | -v ) - echo "$version" ; exit ;; + echo "$version" ; exit 0 ;; --help | --h* | -h ) - echo "$usage"; exit ;; + echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -107,7 +104,7 @@ set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; @@ -126,7 +123,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -139,6 +136,13 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +## for Red Hat Linux +if test -f /etc/redhat-release ; then + VENDOR=redhat ; +else + VENDOR= ; +fi + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -199,32 +203,50 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit ;; + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) + if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac + fi # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU @@ -262,49 +284,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac - # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha*:OpenVMS:*:*) + echo alpha-hp-vms + exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit ;; + exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit ;; + exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit ;; + exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; + exit 0 ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit ;; + exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit ;; + exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -312,32 +327,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in else echo pyramid-pyramid-bsd fi - exit ;; + exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit ;; + exit 0 ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; + sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -346,10 +361,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; + exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; + exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 @@ -361,10 +376,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit ;; + exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; + exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -375,40 +390,37 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; + exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; + exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit ;; + exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; + exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; + exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; + exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -432,33 +444,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 echo mips-mips-riscos${UNAME_RELEASE} - exit ;; + exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit ;; + exit 0 ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit ;; + exit 0 ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit ;; + exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit ;; + exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit ;; + exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit ;; + exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit ;; + exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` @@ -474,29 +485,29 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit ;; + exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit ;; + exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit ;; + exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit ;; + exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; + exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit ;; + exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -504,7 +515,7 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; + exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -519,18 +530,14 @@ EOF exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit ;; + exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then @@ -544,28 +551,28 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; + exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix - exit ;; + exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit ;; + exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit ;; + exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit ;; + exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit ;; + exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit ;; + exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -627,19 +634,9 @@ EOF esac if [ ${HP_ARCH} = "hppa2.0w" ] then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else @@ -647,11 +644,11 @@ EOF fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; + exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit ;; + exit 0 ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -679,176 +676,150 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 - exit ;; + exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit ;; + exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit ;; + exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit ;; + exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit ;; + exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit ;; + exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit ;; + exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit ;; + exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit ;; + exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + exit 0 ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; + exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; + exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; + exit 0 ;; + *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit ;; + exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; + exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[345]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[345]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks - exit ;; + exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix - exit ;; + exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; + exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit ;; + exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + exit 0 ;; *:GNU:*:*) - # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; + exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit ;; + exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; + exit 0 ;; cris:Linux:*:*) echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; + exit 0 ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; + echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu + exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; + exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -865,12 +836,8 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; mips64:Linux:*:*) eval $set_cc_for_build @@ -888,22 +855,15 @@ EOF #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; + echo powerpc-${VENDOR:-unknown}-linux-gnu + exit 0 ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; + echo powerpc64-${VENDOR:-unknown}-linux-gnu + exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -917,7 +877,7 @@ EOF objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; + exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -925,28 +885,25 @@ EOF PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit ;; + exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu - exit ;; + exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; + echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu + exit 0 ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; + exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; + exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; + exit 0 ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; + echo x86_64-${VENDOR:-unknown}-linux-gnu + exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -964,15 +921,15 @@ EOF ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; + exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; + exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; + exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -989,33 +946,23 @@ EOF LIBC=gnulibc1 # endif #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit ;; + exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... @@ -1023,27 +970,24 @@ EOF # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; + exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; + exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop - exit ;; + exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; + exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; + exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; + exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -1051,16 +995,15 @@ EOF else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. + exit 0 ;; + i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; + exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit ;; + exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit ;; + exit 0 ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit ;; + exit 0 ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + exit 0 ;; + M68*:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; + exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit ;; + exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; + exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; + exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; + exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit ;; + exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit ;; + exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit ;; + exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1152,72 +1095,68 @@ EOF else echo ns32k-sni-sysv fi - exit ;; + exit 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 - exit ;; + exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit ;; + exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; + exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit ;; + exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit ;; + exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit ;; + exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit ;; + exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit ;; + exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit ;; + exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit ;; + exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit ;; + exit 0 ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit ;; + exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; + exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; + exit 0 ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; + case `uname -p` in + *86) UNAME_PROCESSOR=i686 ;; + powerpc) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; + exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1225,25 +1164,22 @@ EOF UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; + exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) + exit 0 ;; + NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; + exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit ;; + exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit ;; + exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; + exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1254,47 +1190,28 @@ EOF UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; + exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit ;; + exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit ;; + exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit ;; + exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit ;; + exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit ;; + exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its - exit ;; + exit 0 ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; + exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1326,7 +1243,7 @@ main () #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); + printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1415,12 +1332,11 @@ main () } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) @@ -1429,22 +1345,22 @@ then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit ;; + exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit 0 ;; c34*) echo c34-convex-bsd - exit ;; + exit 0 ;; c38*) echo c38-convex-bsd - exit ;; + exit 0 ;; c4*) echo c4-convex-bsd - exit ;; + exit 0 ;; esac fi @@ -1455,9 +1371,7 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess -and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + ftp://ftp.gnu.org/pub/gnu/config/ If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/libjava/classpath/config.sub b/libjava/classpath/config.sub index 4d936e23942..6b2ff9f6a7a 100755 --- a/libjava/classpath/config.sub +++ b/libjava/classpath/config.sub @@ -1,10 +1,9 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2006-05-13' +timestamp='2003-06-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -22,15 +21,14 @@ timestamp='2006-05-13' # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. - # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # @@ -72,7 +70,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -85,11 +83,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; + echo "$timestamp" ; exit 0 ;; --version | -v ) - echo "$version" ; exit ;; + echo "$version" ; exit 0 ;; --help | --h* | -h ) - echo "$usage"; exit ;; + echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -101,7 +99,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. echo $1 - exit ;; + exit 0;; * ) break ;; @@ -120,9 +118,7 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -148,7 +144,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis) os= basic_machine=$1 ;; @@ -173,10 +169,6 @@ case $os in -hiux*) os=-hiuxwe2 ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -193,10 +185,6 @@ case $os in # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -240,17 +228,14 @@ case $basic_machine in | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore \ + | ip2k \ + | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -259,32 +244,28 @@ case $basic_machine in | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ - | mt \ | msp430 \ - | nios | nios2 \ | ns16k | ns32k \ - | or32 \ + | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | s390 | s390x \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ + | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -295,9 +276,6 @@ case $basic_machine in ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; - ms1) - basic_machine=mt-unknown - ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -318,19 +296,19 @@ case $basic_machine in | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ - | bfin-* | bs2000-* \ + | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ + | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ + | ip2k-* \ + | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -339,36 +317,31 @@ case $basic_machine in | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ + | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | s390-* | s390x-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -388,9 +361,6 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) - basic_machine=abacus-unknown - ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -408,9 +378,6 @@ case $basic_machine in amd64) basic_machine=x86_64-pc ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -470,27 +437,12 @@ case $basic_machine in basic_machine=j90-cray os=-unicos ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; crds | unos) basic_machine=m68k-crds ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -513,10 +465,6 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -695,6 +643,10 @@ case $basic_machine in mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; + mmix*) + basic_machine=mmix-knuth + os=-mmixware + ;; monitor) basic_machine=m68k-rom68k os=-coff @@ -707,9 +659,6 @@ case $basic_machine in basic_machine=i386-pc os=-msdos ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; mvs) basic_machine=i370-ibm os=-mvs @@ -778,6 +727,10 @@ case $basic_machine in np1) basic_machine=np1-gould ;; + nv1) + basic_machine=nv1-cray + os=-unicosmp + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -785,12 +738,9 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; - openrisc | openrisc-*) + or32 | or32-*) basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 + os=-coff ;; OSE68000 | ose68000) basic_machine=m68000-ericsson @@ -817,12 +767,6 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; @@ -879,10 +823,6 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -893,12 +833,6 @@ case $basic_machine in rtpc | rtpc-*) basic_machine=romp-ibm ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; sa29200) basic_machine=a29k-amd os=-udi @@ -1022,10 +956,6 @@ case $basic_machine in tower | tower-32) basic_machine=m68k-ncr ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; udi29k) basic_machine=a29k-amd os=-udi @@ -1069,10 +999,6 @@ case $basic_machine in basic_machine=hppa1.1-winbond os=-proelf ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; xps | xps100) basic_machine=xps100-honeywell ;; @@ -1103,9 +1029,6 @@ case $basic_machine in romp) basic_machine=romp-ibm ;; - mmix) - basic_machine=mmix-knuth - ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1122,10 +1045,13 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) @@ -1198,23 +1124,19 @@ case $os in | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1232,15 +1154,12 @@ case $os in os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1253,9 +1172,6 @@ case $os in -opened*) os=-openedition ;; - -os400*) - os=-os400 - ;; -wince*) os=-wince ;; @@ -1277,9 +1193,6 @@ case $os in -atheos*) os=-atheos ;; - -syllable*) - os=-syllable - ;; -386bsd) os=-bsd ;; @@ -1302,9 +1215,6 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) - os=-tpf - ;; -triton*) os=-sysv3 ;; @@ -1341,9 +1251,6 @@ case $os in -kaos*) os=-kaos ;; - -zvmoe) - os=-zvmoe - ;; -none) ;; *) @@ -1366,9 +1273,6 @@ else # system, and we'll never get to this point. case $basic_machine in - spu-*) - os=-elf - ;; *-acorn) os=-riscix1.2 ;; @@ -1378,8 +1282,8 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1424,15 +1328,9 @@ case $basic_machine in *-be) os=-beos ;; - *-haiku) - os=-haiku - ;; *-ibm) os=-aix ;; - *-knuth) - os=-mmixware - ;; *-wec) os=-proelf ;; @@ -1565,15 +1463,9 @@ case $basic_machine in -mvs* | -opened*) vendor=ibm ;; - -os400*) - vendor=ibm - ;; -ptx*) vendor=sequent ;; - -tpf*) - vendor=ibm - ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; @@ -1598,7 +1490,7 @@ case $basic_machine in esac echo $basic_machine$os -exit +exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/libjava/classpath/configure b/libjava/classpath/configure index cbfa0d88f17..7ef4d4d214e 100755 --- a/libjava/classpath/configure +++ b/libjava/classpath/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for GNU Classpath 0.92. +# Generated by GNU Autoconf 2.59 for GNU Classpath 0.94-pre. # # Report bugs to . # @@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GNU Classpath' PACKAGE_TARNAME='classpath' -PACKAGE_VERSION='0.92' -PACKAGE_STRING='GNU Classpath 0.92' +PACKAGE_VERSION='0.94-pre' +PACKAGE_STRING='GNU Classpath 0.94-pre' PACKAGE_BUGREPORT='classpath@gnu.org' ac_unique_file="java/lang/System.java" @@ -312,7 +312,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB LIBTOOL CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC GCJX ECJ FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE FOUND_GCJX_TRUE FOUND_GCJX_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S RANLIB ac_ct_RANLIB LIBTOOL CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC GCJX ECJ FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE FOUND_GCJX_TRUE FOUND_GCJX_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -793,7 +793,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Classpath 0.92 to adapt to many kinds of systems. +\`configure' configures GNU Classpath 0.94-pre to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -864,19 +864,23 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Classpath 0.92:";; + short | recursive ) echo "Configuration of GNU Classpath 0.94-pre:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-java-maintainer-mode + allow rebuilding of .class and .h files --enable-collections create collections.jar default=no --enable-jni compile JNI source default=yes --enable-core-jni compile JNI sources for core default=yes - --enable-default-preferences-peer - fully qualified class name of default Preferences - API Backend + --enable-default-preferences-peer[=peer type or class name] + specify one of: "gconf" [default] for a GConf based + backend, "file" for a file based one, "memory" for a + transient one, or a fully qualified class name + implementing java.util.prefs.PreferencesFactory --disable-gconf-peer compile GConf native peers (disabled by --disable-jni) default=yes @@ -1062,7 +1066,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -GNU Classpath configure 0.92 +GNU Classpath configure 0.94-pre generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1076,7 +1080,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Classpath $as_me 0.92, which was +It was created by GNU Classpath $as_me 0.94-pre, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1522,6 +1526,22 @@ test -n "$target_alias" && NONENONEs,x,x, && program_prefix=${target_alias}- +# Check whether --enable-java-maintainer-mode or --disable-java-maintainer-mode was given. +if test "${enable_java_maintainer_mode+set}" = set; then + enableval="$enable_java_maintainer_mode" + +fi; + + +if test "$enable_java_maintainer_mode" = yes; then + JAVA_MAINTAINER_MODE_TRUE= + JAVA_MAINTAINER_MODE_FALSE='#' +else + JAVA_MAINTAINER_MODE_TRUE='#' + JAVA_MAINTAINER_MODE_FALSE= +fi + + if expr ${target_cpu} : '.*86' > /dev/null; then target_cpu=x86; fi LIBVERSION="0:0:0" @@ -1824,7 +1844,7 @@ fi # Define the identity of the package. PACKAGE='classpath' - VERSION='0.92' + VERSION='0.94-pre' cat >>confdefs.h <<_ACEOF @@ -2039,6 +2059,8 @@ echo "${ECHO_T}$am_cv_prog_tar_ustar" >&6 + + # Check whether --enable-collections or --disable-collections was given. if test "${enable_collections+set}" = set; then enableval="$enable_collections" @@ -2109,12 +2131,18 @@ fi # Check whether --enable-default-preferences-peer or --disable-default-preferences-peer was given. if test "${enable_default_preferences_peer+set}" = set; then enableval="$enable_default_preferences_peer" - + case "${enableval}" in + file) DEFAULT_PREFS_PEER=gnu.java.util.prefs.FileBasedFactory ;; + gconf|yes|true) DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory ;; + memory) DEFAULT_PREFS_PEER=gnu.java.util.prefs.MemoryBasedFactory ;; + no|false) { { echo "$as_me:$LINENO: error: bad value '${enableval}' for --enable-default-preferences-peer" >&5 +echo "$as_me: error: bad value '${enableval}' for --enable-default-preferences-peer" >&2;} + { (exit 1); exit 1; }; } ;; + *) DEFAULT_PREFS_PEER=${enableval} ;; + esac +else + DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory fi; -DEFAULT_PREFS_PEER=$enable_default_preferences_peer -if test "$DEFAULT_PREFS_PEER" = ""; then - DEFAULT_PREFS_PEER=gnu.java.util.prefs.FileBasedFactory -fi # Check whether --enable-gconf-peer or --disable-gconf-peer was given. if test "${enable_gconf_peer+set}" = set; then @@ -2152,10 +2180,10 @@ if test "${enable_Werror+set}" = set; then case "${enableval}" in yes) ENABLE_WERROR=yes ;; no) ENABLE_WERROR=no ;; - *) ENABLE_WERROR=no ;; + *) ENABLE_WERROR=default ;; esac else - ENABLE_WERROR=no + ENABLE_WERROR=default fi; # Check whether --enable-default-toolkit or --disable-default-toolkit was given. @@ -2598,6 +2626,39 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +int +main () +{ + + ; + return 0; +} +_ACEOF +# FIXME: Cleanup? +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + gcc_no_link=no +else + gcc_no_link=yes +fi + +if test x$gcc_no_link = xyes; then + # Setting cross_compile will disable run tests; it will + # also disable AC_CHECK_FILE but that's generally + # correct if we can't link. + cross_compiling=yes + EXEEXT= +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () { @@ -2742,6 +2803,7 @@ echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT +fi echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then @@ -3945,6 +4007,11 @@ if test "${ac_cv_lib_asound_snd_seq_open+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lasound $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4274,15 +4341,6 @@ fi - multi_os_directory=`$CC -print-multi-os-directory` - case $multi_os_directory in - .) toolexeclibdir=${libdir} ;; # Avoid trailing /. - *) toolexeclibdir=${libdir}/${multi_os_directory} ;; - esac - - - - # Check whether --with-native-libdir or --without-native-libdir was given. if test "${with_native_libdir+set}" = set; then withval="$with_native_libdir" @@ -4291,7 +4349,7 @@ if test "${with_native_libdir+set}" = set; then else - nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER` + nativeexeclibdir='${libdir}/${PACKAGE}' fi; @@ -4363,1180 +4421,1564 @@ fi if test "${enable_tool_wrappers+set}" = set; then enableval="$enable_tool_wrappers" case x"${enableval}" in - xyes) COMPILE_WRAPPERS=yes ;; - xno) COMPILE_WRAPPERS=no ;; - x) COMPILE_WRAPPERS=yes ;; - *) COMPILE_WRAPPERS=yes ;; - esac + xyes) + COMPILE_WRAPPERS=yes; + +for ac_header in ltdl.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else - COMPILE_WRAPPERS=no -fi; + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 -if test "x${COMPILE_WRAPPERS}" = xyes; then - CREATE_WRAPPERS_TRUE= - CREATE_WRAPPERS_FALSE='#' +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - CREATE_WRAPPERS_TRUE='#' - CREATE_WRAPPERS_FALSE= + ac_cpp_err=yes fi - - -echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## -------------------------------- ## +## Report this to classpath@gnu.org ## +## -------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 ;; esac -done - +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { { echo "$as_me:$LINENO: error: cannot find ltdl.h" >&5 +echo "$as_me: error: cannot find ltdl.h" >&2;} + { (exit 1); exit 1; }; } fi - test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then +echo "$as_me:$LINENO: checking for lt_dlopen in -lltdl" >&5 +echo $ECHO_N "checking for lt_dlopen in -lltdl... $ECHO_C" >&6 +if test "${ac_cv_lib_ltdl_lt_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_check_lib_save_LIBS=$LIBS +LIBS="-lltdl $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char lt_dlopen (); int main () { -#ifndef __GNUC__ - choke me -#endif - +lt_dlopen (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_compiler_gnu=yes + ac_cv_lib_ltdl_lt_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_compiler_gnu=no +ac_cv_lib_ltdl_lt_dlopen=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +echo "$as_me:$LINENO: result: $ac_cv_lib_ltdl_lt_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_ltdl_lt_dlopen" >&6 +if test $ac_cv_lib_ltdl_lt_dlopen = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBLTDL 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ + LIBS="-lltdl $LIBS" - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + { { echo "$as_me:$LINENO: error: cannot find libltdl" >&5 +echo "$as_me: error: cannot find libltdl" >&2;} + { (exit 1); exit 1; }; } fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi + + ;; + xno) COMPILE_WRAPPERS=no ;; + x) COMPILE_WRAPPERS=yes ;; + *) COMPILE_WRAPPERS=yes ;; + esac else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi + COMPILE_WRAPPERS=no +fi; + + +if test "x${COMPILE_WRAPPERS}" = xyes; then + CREATE_WRAPPERS_TRUE= + CREATE_WRAPPERS_FALSE='#' +else + CREATE_WRAPPERS_TRUE='#' + CREATE_WRAPPERS_FALSE= fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -continue + +echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -depcc="$CXX" am_compiler_list= +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break + +# Check whether --enable-static or --disable-static was given. +if test "${enable_static+set}" = set; then + enableval="$enable_static" + p=${PACKAGE-default} +case $enableval in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) + enable_static=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_static=no +fi; +# Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then + enableval="$enable_shared" + p=${PACKAGE-default} +case $enableval in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_shared=yes +fi; +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval="$enable_fast_install" + p=${PACKAGE-default} +case $enableval in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_fast_install=yes +fi; + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break fi fi done + IFS="$ac_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + lt_cv_prog_gnu_ld=yes +else + lt_cv_prog_gnu_ld=no +fi +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + +echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 +reload_flag=$lt_cv_ld_reload_flag +test -n "$reload_flag" && reload_flag=" $reload_flag" + +echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/${ac_tool_prefix}nm + if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then + lt_cv_path_NM="$tmp_nm -B" + break + elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + lt_cv_path_NM="$tmp_nm -p" + break + else + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$ac_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi + +NM="$lt_cv_path_NM" +echo "$as_me:$LINENO: result: $NM" >&5 +echo "${ECHO_T}$NM" >&6 + +echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5 +echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6 +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [regex]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* |pw32*) + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + # this will be overwritten by pass_all, but leave it in just in case + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.012) + lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System' + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | kfreebsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20*|hpux11*) + case $host_cpu in + hppa*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + esac + ;; + +irix5* | irix6*) + case $host_os in + irix5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux-gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' + fi + ;; + +newsos6) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv5uw[78]* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + esac + ;; +esac - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none fi +echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method -fi -echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi + i=0 + teststring="ABCD" + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; -# Check whether --enable-static or --disable-static was given. -if test "${enable_static+set}" = set; then - enableval="$enable_static" - p=${PACKAGE-default} -case $enableval in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for *BSD fi - done - IFS="$ac_save_ifs" - ;; -esac + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len" ; then + echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 else - enable_static=no -fi; -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - p=${PACKAGE-default} -case $enableval in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 +fi + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - enable_shared=yes -fi; -# Check whether --enable-fast-install or --disable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval="$enable_fast_install" - p=${PACKAGE-default} -case $enableval in -yes) enable_fast_install=yes ;; -no) enable_fast_install=no ;; -*) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_fast_install=yes + case $MAGIC_CMD in + /*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; + ?:/*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. + ;; + *) + ac_save_MAGIC_CMD="$MAGIC_CMD" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="/usr/bin:$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break fi done IFS="$ac_save_ifs" + MAGIC_CMD="$ac_save_MAGIC_CMD" ;; esac -else - enable_fast_install=yes -fi; +fi -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi; -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -if test "${lt_cv_path_LD+set}" = set; then + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do + case $MAGIC_CMD in + /*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; + ?:/*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. + ;; + *) + ac_save_MAGIC_CMD="$MAGIC_CMD" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="/usr/bin:$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac fi + break fi done IFS="$ac_save_ifs" + MAGIC_CMD="$ac_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 else - lt_cv_path_LD="$LD" # Let the user override the test with a path. + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + + else + MAGIC_CMD=: + fi fi -LD="$lt_cv_path_LD" -if test -n "$LD"; then - echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 + fi + ;; +esac + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${lt_cv_prog_gnu_ld+set}" = set; then + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - lt_cv_prog_gnu_ld=yes + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else - lt_cv_prog_gnu_ld=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 -with_gnu_ld=$lt_cv_prog_gnu_ld +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 -if test "${lt_cv_ld_reload_flag+set}" = set; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - lt_cv_ld_reload_flag='-r' + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 -reload_flag=$lt_cv_ld_reload_flag -test -n "$reload_flag" && reload_flag=" $reload_flag" -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 -if test "${lt_cv_path_NM+set}" = set; then +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/${ac_tool_prefix}nm - if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then - lt_cv_path_NM="$tmp_nm -B" - break - elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - lt_cv_path_NM="$tmp_nm -p" - break - else - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - fi - fi - done - IFS="$ac_save_ifs" - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" fi -NM="$lt_cv_path_NM" -echo "$as_me:$LINENO: result: $NM" >&5 -echo "${ECHO_T}$NM" >&6 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6 -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [regex]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given egrep regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. +# Check for any special flags to pass to ltconfig. +libtool_flags="--cache-file=$cache_file" +test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" +test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" +test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc" +test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" -case $host_os in -aix*) - lt_cv_deplibs_check_method=pass_all - ;; -beos*) - lt_cv_deplibs_check_method=pass_all - ;; +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" -bsdi4*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; +fi; +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" -cygwin* | mingw* |pw32*) - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' + +# Check whether --with-pic or --without-pic was given. +if test "${with_pic+set}" = set; then + withval="$with_pic" + pic_mode="$withval" +else + pic_mode=default +fi; +test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" +test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5558 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* ;; -darwin* | rhapsody*) - # this will be overwritten by pass_all, but leave it in just in case - lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.012) - lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System' - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' - ;; - esac - lt_cv_deplibs_check_method=pass_all +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case "`/usr/bin/file conftest.o`" in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* ;; -freebsd* | kfreebsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac ;; esac - else - lt_cv_deplibs_check_method=pass_all + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +lt_cv_cc_needs_belf=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" fi ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; -hpux10.20*|hpux11*) - case $host_cpu in - hppa*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - esac - ;; +esac -irix5* | irix6*) - case $host_os in - irix5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" - ;; - *) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" - ;; - esac - lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` - lt_cv_deplibs_check_method=pass_all - ;; -# This must be Linux ELF. -linux-gnu*) - lt_cv_deplibs_check_method=pass_all - ;; +# Save cache, so that ltconfig can load it +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. -netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file else - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' + echo "not updating unwritable cache $cache_file" fi - ;; +fi +rm -f confcache -newsos6) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; +# Actually configure libtool. ac_aux_dir is where install-sh is found. +AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ +AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ +objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ +deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ +$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ +|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5 +echo "$as_me: error: libtool configure failed" >&2;} + { (exit 1); exit 1; }; } -osf3* | osf4* | osf5*) - # this will be overridden with pass_all, but let us keep it just in case - lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' - lt_cv_file_magic_test_file=/shlib/libc.so - lt_cv_deplibs_check_method=pass_all - ;; +# Reload cache, that may have been modified by ltconfig +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; -solaris*) - lt_cv_deplibs_check_method=pass_all - lt_cv_file_magic_test_file=/lib/libc.so - ;; +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh" -sysv5uw[78]* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - case $host_vendor in - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - esac - ;; -esac +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log -fi -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -# find the maximum length of command line arguments -echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 -if test "${lt_cv_sys_max_cmd_len+set}" = set; then +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for *BSD - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - esac + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done fi - -if test -n "$lt_cv_sys_max_cmd_len" ; then - echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="/usr/bin:$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -if test -z "$lt_cv_path_MAGIC_CMD"; then + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $MAGIC_CMD in - /*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; - ?:/*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. - ;; - *) - ac_save_MAGIC_CMD="$MAGIC_CMD" - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="/usr/bin:$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - egrep "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done -EOF - fi ;; - esac - fi - break - fi - done - IFS="$ac_save_ifs" - MAGIC_CMD="$ac_save_MAGIC_CMD" - ;; -esac fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6 +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - else - MAGIC_CMD=: - fi fi - - fi - ;; -esac - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -5545,7 +5987,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -5554,28 +5996,33 @@ done fi fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else + ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do @@ -5583,40 +6030,54 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi fi fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -5625,7 +6086,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -5634,27 +6095,31 @@ done fi fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi + test -n "$CC" && break + done fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -5663,183 +6128,127 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" + ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - - -# Check for any special flags to pass to ltconfig. -libtool_flags="--cache-file=$cache_file" -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" -test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc" -test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" - + test -n "$ac_ct_CC" && break +done -# Check whether --enable-libtool-lock or --disable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval="$enable_libtool_lock" + CC=$ac_ct_CC +fi -fi; -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" +fi -# Check whether --with-pic or --without-pic was given. -if test "${with_pic+set}" = set; then - withval="$with_pic" - pic_mode="$withval" -else - pic_mode=default -fi; -test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" -test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 5724 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case "`/usr/bin/file conftest.o`" in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case "`/usr/bin/file conftest.o`" in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; + (exit $ac_status); } -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 -if test "${lt_cv_cc_needs_belf+set}" = set; then +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5854,9 +6263,9 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -5870,261 +6279,431 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - lt_cv_cc_needs_belf=yes + ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -lt_cv_cc_needs_belf=no +ac_cv_prog_cc_g=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" fi - ;; - - -esac - - -# Save cache, so that ltconfig can load it -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file +else + if test "$GCC" = yes; then + CFLAGS="-O2" else - echo "not updating unwritable cache $cache_file" + CFLAGS= fi fi -rm -f confcache +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} -# Actually configure libtool. ac_aux_dir is where install-sh is found. -AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ -deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ -$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ -|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5 -echo "$as_me: error: libtool configure failed" >&2;} - { (exit 1); exit 1; }; } +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -# Reload cache, that may have been modified by ltconfig -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh" +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' +fi -# Redirect the config.log output again, so that the ltconfig log is not -# clobbered by the next message. -exec 5>>./config.log +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir else - ac_cpp_err=yes + am_cv_CC_dependencies_compiler_type=none fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break fi -rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= fi - done - ac_cv_prog_CXXCPP=$CXXCPP +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= fi - CXXCPP=$ac_cv_prog_CXXCPP +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_prog_CXXCPP=$CXXCPP -fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. @@ -6154,345 +6733,208 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh" -lt_save_CC="$CC" -lt_save_CFLAGS="$CFLAGS" -AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \ -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ -deplibs_check_method="$deplibs_check_method" \ -file_magic_cmd="$file_magic_cmd" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ ---build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \ -|| { { echo "$as_me:$LINENO: error: libtool tag configuration failed" >&5 -echo "$as_me: error: libtool tag configuration failed" >&2;} - { (exit 1); exit 1; }; } -CC="$lt_save_CC" -CFLAGS="$lt_save_CFLAGS" - -# Redirect the config.log output again, so that the ltconfig log is not -# clobbered by the next message. -exec 5>>./config.log - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + ac_cpp_err=yes fi - - CC=$ac_ct_CC +if test -z "$ac_cpp_err"; then + : else - CC="$ac_cv_prog_CC" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue fi +rm -f conftest.err conftest.$ac_ext -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. +ac_preproc_ok=: +break fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi + + done + ac_cv_prog_CPP=$CPP fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + CPP=$ac_cv_prog_CPP else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + ac_cpp_err=yes fi - - CC=$ac_ct_CC +if test -z "$ac_cpp_err"; then + : else - CC="$ac_cv_prog_CC" -fi + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. +continue fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done +rm -f conftest.err conftest.$ac_ext -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= fi +else + ac_cpp_err=yes fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6501,7 +6943,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -6510,31 +6952,31 @@ done fi fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - test -n "$CC" && break + test -n "$CXX" && break done fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6543,7 +6985,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" + ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -6552,250 +6994,67 @@ done fi fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - test -n "$ac_ct_CC" && break + test -n "$ac_ct_CXX" && break done +test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CC=$ac_ct_CC -fi - + CXX=$ac_ct_CXX fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - # Provide some information about the compiler. echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 + "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cc_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; int main () { -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; +#ifndef __GNUC__ + choke me +#endif + ; return 0; } _ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext +rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? @@ -6804,7 +7063,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -6817,38 +7076,42 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break + ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 +ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi +echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac +int +main () +{ -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -6859,7 +7122,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -6872,7 +7135,33 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - for ac_declaration in \ + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cxx_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ @@ -6905,7 +7194,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -6950,7 +7239,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -6978,23 +7267,17 @@ if test -n "$ac_declaration"; then echo '#endif' >>confdefs.h fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -depcc="$CC" am_compiler_list= +depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then @@ -7016,7 +7299,7 @@ else # directory. mkdir sub - am_cv_CC_dependencies_compiler_type=none + am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi @@ -7069,7 +7352,7 @@ else # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode + am_cv_CXX_dependencies_compiler_type=$depmode break fi fi @@ -7078,47 +7361,42 @@ else cd .. rm -rf conftest.dir else - am_cv_CC_dependencies_compiler_type=none + am_cv_CXX_dependencies_compiler_type=none fi fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type +echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes +for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. @@ -7148,8 +7426,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -7186,8 +7464,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -7215,17 +7493,17 @@ if $ac_preproc_ok; then fi done - ac_cv_prog_CPP=$CPP + ac_cv_prog_CXXCPP=$CXXCPP fi - CPP=$ac_cv_prog_CPP + CXXCPP=$ac_cv_prog_CXXCPP else - ac_cv_prog_CPP=$CPP + ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes +for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. @@ -7255,8 +7533,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -7293,8 +7571,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -7320,19 +7598,56 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh" +lt_save_CC="$CC" +lt_save_CFLAGS="$CFLAGS" +AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \ +MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ +AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ +objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ +deplibs_check_method="$deplibs_check_method" \ +file_magic_cmd="$file_magic_cmd" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ +--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \ +|| { { echo "$as_me:$LINENO: error: libtool tag configuration failed" >&5 +echo "$as_me: error: libtool tag configuration failed" >&2;} + { (exit 1); exit 1; }; } +CC="$lt_save_CC" +CFLAGS="$lt_save_CFLAGS" + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log + + + +# Handle -Werror default case. +if test "$ENABLE_WERROR" = default; then + case "$host_os" in + *linux*) + if test "$GCC" = yes; then + ENABLE_WERROR=yes + fi + ;; + esac +fi if test "x${COMPILE_COLLECTIONS}" = xyes; then # Extract the first word of "perl", so it can be a program name with args. @@ -7383,6 +7698,165 @@ fi fi if test "x${COMPILE_JNI}" = xyes; then + + + + echo "$as_me:$LINENO: checking __attribute__((,,))" >&5 +echo $ECHO_N "checking __attribute__((,,))... $ECHO_C" >&6 + if test "${cv_c_gcc_attribute_supported+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int testfunction(int x) __attribute__((,,)) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cv_c_gcc_attribute_supported=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cv_c_gcc_attribute_supported=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + + if test "x$cv_c_gcc_attribute_supported" = xyes; then + true + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GNUC25_ATTRIB +_ACEOF + + + else + true + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + fi + + + + + + + + + + + echo "$as_me:$LINENO: checking __attribute__((unused))" >&5 +echo $ECHO_N "checking __attribute__((unused))... $ECHO_C" >&6 + if test "${cv_c_gcc_attribute_unused+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int testfunction(int x) __attribute__((unused)) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cv_c_gcc_attribute_unused=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +cv_c_gcc_attribute_unused=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + + if test "x$cv_c_gcc_attribute_unused" = xyes; then + true + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GNUC25_UNUSED +_ACEOF + + + else + true + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + fi + + + + + + echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then @@ -7848,6 +8322,9 @@ fi + + + for ac_header in unistd.h sys/types.h sys/config.h sys/ioctl.h \ asm/ioctls.h \ @@ -7857,7 +8334,9 @@ for ac_header in unistd.h sys/types.h sys/config.h sys/ioctl.h \ crt_externs.h \ fcntl.h \ sys/mman.h \ - magic.h + magic.h \ + sys/event.h sys/epoll.h \ + ifaddrs.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -8106,6 +8585,17 @@ rm -f conftest* + + + + + + + + + + + @@ -8129,15 +8619,17 @@ rm -f conftest* for ac_func in ftruncate fsync select \ gethostname socket strerror fork pipe execve open close \ - lseek fstat read write htonl memset htons connect \ + lseek fstat read readv write writev htonl memset htons connect \ getsockname getpeername bind listen accept \ recvfrom send sendto setsockopt getsockopt time mktime \ - localtime_r \ + gethostbyname_r localtime_r \ strerror_r \ fcntl \ mmap munmap mincore msync madvise getpagesize sysconf \ lstat readlink \ - + inet_aton inet_addr inet_pton \ + getifaddrs kqueue kevent epoll_create \ + readdir_r do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -8145,7 +8637,12 @@ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -8247,6 +8744,11 @@ if test "${ac_cv_lib_magic_magic_open+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lmagic $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -8310,6 +8812,61 @@ fi + echo "$as_me:$LINENO: checking whether struct sockaddr_in6 is in netinet/in.h" >&5 +echo $ECHO_N "checking whether struct sockaddr_in6 is in netinet/in.h... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +struct sockaddr_in6 addr6; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INET6 1 +_ACEOF + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then @@ -8566,7 +9123,12 @@ echo $ECHO_N "checking for tzname... $ECHO_C" >&6 if test "${ac_cv_var_tzname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -9542,7 +10104,12 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -9593,7 +10160,12 @@ rm -f conftest.err conftest.$ac_objext \ if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -9750,10 +10322,10 @@ _ACEOF if test "x${GCC}" = xyes; then - WARNING_CFLAGS='-pedantic -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long' + WARNING_CFLAGS='-W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long' - STRICT_WARNING_CFLAGS=-Wstrict-prototypes + STRICT_WARNING_CFLAGS='-Wstrict-prototypes -pedantic' ERROR_CFLAGS= @@ -10112,7 +10684,12 @@ if test "$ac_x_libraries" = no; then # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lXt $LIBS" - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -10224,7 +10801,12 @@ else echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -10276,7 +10858,12 @@ echo "${ECHO_T}no" >&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -10346,7 +10933,12 @@ echo "${ECHO_T}neither works" >&6 # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -10402,6 +10994,11 @@ if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -10471,6 +11068,11 @@ if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -10551,7 +11153,12 @@ echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -10645,6 +11252,11 @@ if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -10714,6 +11326,11 @@ if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -10790,7 +11407,12 @@ echo $ECHO_N "checking for connect... $ECHO_C" >&6 if test "${ac_cv_func_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -10884,6 +11506,11 @@ if test "${ac_cv_lib_socket_connect+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -10953,7 +11580,12 @@ echo $ECHO_N "checking for remove... $ECHO_C" >&6 if test "${ac_cv_func_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -11047,6 +11679,11 @@ if test "${ac_cv_lib_posix_remove+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11116,7 +11753,12 @@ echo $ECHO_N "checking for shmat... $ECHO_C" >&6 if test "${ac_cv_func_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -11210,6 +11852,11 @@ if test "${ac_cv_lib_ipc_shmat+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11290,6 +11937,11 @@ if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11367,6 +12019,11 @@ if test "${ac_cv_lib_Xtst_XTestQueryExtension+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lXtst ${X_LIBS} $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11734,6 +12391,11 @@ if test "${ac_cv_lib_Xrender_XRenderQueryExtension+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrender ${X_LIBS} $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11809,6 +12471,11 @@ if test "${ac_cv_lib_Xrandr_XRRQueryExtension+set}" = set; then else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrandr ${X_LIBS} $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12391,6 +13058,116 @@ echo "$as_me: Set QT_CFLAGS... $QT_CFLAGS" >&6;} fi + echo "$as_me:$LINENO: checking for MSG_NOSIGNAL" >&5 +echo $ECHO_N "checking for MSG_NOSIGNAL... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + int f = MSG_NOSIGNAL; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MSG_NOSIGNAL 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + echo "$as_me:$LINENO: checking for SO_NOSIGPIPE " >&5 +echo $ECHO_N "checking for SO_NOSIGPIPE ... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + int f = SO_NOSIGPIPE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SO_NOSIGPIPE 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${COMPILE_PLUGIN}" = xyes; then @@ -12770,6 +13547,104 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + MOZILLA_FOUND=yes + else + MOZILLA_FOUND=no + fi + + fi + if test "x${MOZILLA_FOUND}" = xno; then + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for seamonkey-plugin" >&5 +echo $ECHO_N "checking for seamonkey-plugin... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "seamonkey-plugin" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 +echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "seamonkey-plugin"` + echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 +echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 +echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 + MOZILLA_LIBS=`$PKG_CONFIG --libs "seamonkey-plugin"` + echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 +echo "${ECHO_T}$MOZILLA_LIBS" >&6 + else + MOZILLA_CFLAGS="" + MOZILLA_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "seamonkey-plugin"` + + fi + + + else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" @@ -13210,7 +14085,7 @@ fi -CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/target/Linux -I\$(top_srcdir)/native/target/generic" +CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/jni/native-lib" if test "x${COMPILE_JNI}" = xyes; then @@ -18536,15 +19411,15 @@ case "$with_escher" in use_escher=false ;; "yes") - { { echo "$as_me:$LINENO: error: Please suply an absolute path to Escher library" >&5 -echo "$as_me: error: Please suply an absolute path to Escher library" >&2;} + { { echo "$as_me:$LINENO: error: Please supply an absolute path to Escher library" >&5 +echo "$as_me: error: Please supply an absolute path to Escher library" >&2;} { (exit 1); exit 1; }; } ;; *) use_escher=true PATH_TO_ESCHER=$with_escher ;; -esac; +esac @@ -18725,7 +19600,12 @@ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -18841,12 +19721,12 @@ fi - ac_config_files="$ac_config_files Makefile doc/Makefile doc/api/Makefile external/Makefile external/sax/Makefile external/w3c_dom/Makefile external/relaxngDatatype/Makefile gnu/classpath/Configuration.java gnu/java/security/Configuration.java include/Makefile native/Makefile native/fdlibm/Makefile native/jawt/Makefile native/jni/Makefile native/jni/classpath/Makefile native/jni/java-io/Makefile native/jni/java-lang/Makefile native/jni/java-net/Makefile native/jni/java-nio/Makefile native/jni/java-util/Makefile native/jni/gtk-peer/Makefile native/jni/gconf-peer/Makefile native/jni/qt-peer/Makefile native/jni/xmlj/Makefile native/jni/midi-alsa/Makefile native/jni/midi-dssi/Makefile native/plugin/Makefile native/target/Makefile native/target/Linux/Makefile native/target/generic/Makefile resource/Makefile resource/META-INF/services/java.util.prefs.PreferencesFactory scripts/Makefile scripts/classpath.spec lib/Makefile lib/gen-classlist.sh lib/copy-vmresources.sh tools/Makefile examples/Makefile examples/Makefile.jawt examples/Makefile.java2d" + ac_config_files="$ac_config_files Makefile doc/Makefile doc/api/Makefile external/Makefile external/sax/Makefile external/w3c_dom/Makefile external/relaxngDatatype/Makefile external/jsr166/Makefile gnu/classpath/Configuration.java gnu/java/security/Configuration.java include/Makefile native/Makefile native/fdlibm/Makefile native/jawt/Makefile native/jni/Makefile native/jni/classpath/Makefile native/jni/java-io/Makefile native/jni/java-lang/Makefile native/jni/java-net/Makefile native/jni/java-nio/Makefile native/jni/java-util/Makefile native/jni/gtk-peer/Makefile native/jni/gconf-peer/Makefile native/jni/qt-peer/Makefile native/jni/xmlj/Makefile native/jni/midi-alsa/Makefile native/jni/midi-dssi/Makefile native/jni/native-lib/Makefile native/plugin/Makefile resource/Makefile resource/META-INF/services/java.util.prefs.PreferencesFactory scripts/Makefile scripts/classpath.spec lib/Makefile lib/gen-classlist.sh lib/copy-vmresources.sh tools/Makefile examples/Makefile examples/Makefile.jawt examples/Makefile.java2d" if test "x${COMPILE_WRAPPERS}" = xno then - ac_config_files="$ac_config_files tools/gappletviewer tools/gjarsigner tools/gkeytool tools/gjar tools/gnative2ascii tools/gserialver" + ac_config_files="$ac_config_files tools/gappletviewer tools/gjarsigner tools/gkeytool tools/gjar tools/gnative2ascii tools/gserialver tools/grmiregistry tools/gtnameserv tools/gorbd tools/grmid tools/grmic tools/gjavah" ac_config_commands="$ac_config_commands gappletviewer" @@ -18860,18 +19740,17 @@ then ac_config_commands="$ac_config_commands gserialver" -fi + ac_config_commands="$ac_config_commands grmiregistry" + ac_config_commands="$ac_config_commands gtnameserv" -if test "x${COMPILE_WRAPPERS}" = xno -then - ac_config_files="$ac_config_files tools/appletviewer tools/jarsigner tools/keytool" + ac_config_commands="$ac_config_commands gorbd" - ac_config_commands="$ac_config_commands appletviewer" + ac_config_commands="$ac_config_commands grmid" - ac_config_commands="$ac_config_commands jarsigner" + ac_config_commands="$ac_config_commands grmic" - ac_config_commands="$ac_config_commands keytool" + ac_config_commands="$ac_config_commands gjavah" fi @@ -18970,6 +19849,13 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +if test -z "${JAVA_MAINTAINER_MODE_TRUE}" && test -z "${JAVA_MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"JAVA_MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"JAVA_MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${CREATE_COLLECTIONS_TRUE}" && test -z "${CREATE_COLLECTIONS_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"CREATE_COLLECTIONS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -19075,17 +19961,17 @@ echo "$as_me: error: conditional \"CREATE_WRAPPERS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi @@ -19493,7 +20379,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by GNU Classpath $as_me 0.92, which was +This file was extended by GNU Classpath $as_me 0.94-pre, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19559,7 +20445,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -GNU Classpath config.status 0.92 +GNU Classpath config.status 0.94-pre configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -19695,6 +20581,7 @@ do "external/sax/Makefile" ) CONFIG_FILES="$CONFIG_FILES external/sax/Makefile" ;; "external/w3c_dom/Makefile" ) CONFIG_FILES="$CONFIG_FILES external/w3c_dom/Makefile" ;; "external/relaxngDatatype/Makefile" ) CONFIG_FILES="$CONFIG_FILES external/relaxngDatatype/Makefile" ;; + "external/jsr166/Makefile" ) CONFIG_FILES="$CONFIG_FILES external/jsr166/Makefile" ;; "gnu/classpath/Configuration.java" ) CONFIG_FILES="$CONFIG_FILES gnu/classpath/Configuration.java" ;; "gnu/java/security/Configuration.java" ) CONFIG_FILES="$CONFIG_FILES gnu/java/security/Configuration.java" ;; "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; @@ -19714,10 +20601,8 @@ do "native/jni/xmlj/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/jni/xmlj/Makefile" ;; "native/jni/midi-alsa/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/jni/midi-alsa/Makefile" ;; "native/jni/midi-dssi/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/jni/midi-dssi/Makefile" ;; + "native/jni/native-lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/jni/native-lib/Makefile" ;; "native/plugin/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/plugin/Makefile" ;; - "native/target/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/target/Makefile" ;; - "native/target/Linux/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/target/Linux/Makefile" ;; - "native/target/generic/Makefile" ) CONFIG_FILES="$CONFIG_FILES native/target/generic/Makefile" ;; "resource/Makefile" ) CONFIG_FILES="$CONFIG_FILES resource/Makefile" ;; "resource/META-INF/services/java.util.prefs.PreferencesFactory" ) CONFIG_FILES="$CONFIG_FILES resource/META-INF/services/java.util.prefs.PreferencesFactory" ;; "scripts/Makefile" ) CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; @@ -19735,9 +20620,12 @@ do "tools/gjar" ) CONFIG_FILES="$CONFIG_FILES tools/gjar" ;; "tools/gnative2ascii" ) CONFIG_FILES="$CONFIG_FILES tools/gnative2ascii" ;; "tools/gserialver" ) CONFIG_FILES="$CONFIG_FILES tools/gserialver" ;; - "tools/appletviewer" ) CONFIG_FILES="$CONFIG_FILES tools/appletviewer" ;; - "tools/jarsigner" ) CONFIG_FILES="$CONFIG_FILES tools/jarsigner" ;; - "tools/keytool" ) CONFIG_FILES="$CONFIG_FILES tools/keytool" ;; + "tools/grmiregistry" ) CONFIG_FILES="$CONFIG_FILES tools/grmiregistry" ;; + "tools/gtnameserv" ) CONFIG_FILES="$CONFIG_FILES tools/gtnameserv" ;; + "tools/gorbd" ) CONFIG_FILES="$CONFIG_FILES tools/gorbd" ;; + "tools/grmid" ) CONFIG_FILES="$CONFIG_FILES tools/grmid" ;; + "tools/grmic" ) CONFIG_FILES="$CONFIG_FILES tools/grmic" ;; + "tools/gjavah" ) CONFIG_FILES="$CONFIG_FILES tools/gjavah" ;; "$ac_config_links_1" ) CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "mkcollections.pl" ) CONFIG_COMMANDS="$CONFIG_COMMANDS mkcollections.pl" ;; @@ -19748,9 +20636,12 @@ do "gjar" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gjar" ;; "gnative2ascii" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gnative2ascii" ;; "gserialver" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gserialver" ;; - "appletviewer" ) CONFIG_COMMANDS="$CONFIG_COMMANDS appletviewer" ;; - "jarsigner" ) CONFIG_COMMANDS="$CONFIG_COMMANDS jarsigner" ;; - "keytool" ) CONFIG_COMMANDS="$CONFIG_COMMANDS keytool" ;; + "grmiregistry" ) CONFIG_COMMANDS="$CONFIG_COMMANDS grmiregistry" ;; + "gtnameserv" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gtnameserv" ;; + "gorbd" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gorbd" ;; + "grmid" ) CONFIG_COMMANDS="$CONFIG_COMMANDS grmid" ;; + "grmic" ) CONFIG_COMMANDS="$CONFIG_COMMANDS grmic" ;; + "gjavah" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gjavah" ;; "gen-classlist" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gen-classlist" ;; "copy-vmresources" ) CONFIG_COMMANDS="$CONFIG_COMMANDS copy-vmresources" ;; "include/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/config.h" ;; @@ -19852,6 +20743,8 @@ s,@target@,$target,;t t s,@target_cpu@,$target_cpu,;t t s,@target_vendor@,$target_vendor,;t t s,@target_os@,$target_os,;t t +s,@JAVA_MAINTAINER_MODE_TRUE@,$JAVA_MAINTAINER_MODE_TRUE,;t t +s,@JAVA_MAINTAINER_MODE_FALSE@,$JAVA_MAINTAINER_MODE_FALSE,;t t s,@LIBVERSION@,$LIBVERSION,;t t s,@CLASSPATH_MODULE@,$CLASSPATH_MODULE,;t t s,@CLASSPATH_CONVENIENCE@,$CLASSPATH_CONVENIENCE,;t t @@ -19916,7 +20809,6 @@ s,@CREATE_QT_PEER_LIBRARIES_TRUE@,$CREATE_QT_PEER_LIBRARIES_TRUE,;t t s,@CREATE_QT_PEER_LIBRARIES_FALSE@,$CREATE_QT_PEER_LIBRARIES_FALSE,;t t s,@CREATE_PLUGIN_TRUE@,$CREATE_PLUGIN_TRUE,;t t s,@CREATE_PLUGIN_FALSE@,$CREATE_PLUGIN_FALSE,;t t -s,@toolexeclibdir@,$toolexeclibdir,;t t s,@nativeexeclibdir@,$nativeexeclibdir,;t t s,@glibjdir@,$glibjdir,;t t s,@VM_BINARY@,$VM_BINARY,;t t @@ -19927,15 +20819,15 @@ s,@CREATE_JNI_HEADERS_FALSE@,$CREATE_JNI_HEADERS_FALSE,;t t s,@CREATE_WRAPPERS_TRUE@,$CREATE_WRAPPERS_TRUE,;t t s,@CREATE_WRAPPERS_FALSE@,$CREATE_WRAPPERS_FALSE,;t t s,@LN_S@,$LN_S,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@LIBTOOL@,$LIBTOOL,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@CXXDEPMODE@,$CXXDEPMODE,;t t s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@LIBTOOL@,$LIBTOOL,;t t s,@CXXCPP@,$CXXCPP,;t t s,@PERL@,$PERL,;t t s,@COLLECTIONS_PREFIX@,$COLLECTIONS_PREFIX,;t t @@ -21340,9 +22232,12 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} gjar ) chmod 755 tools/gjar ;; gnative2ascii ) chmod 755 tools/gnative2ascii ;; gserialver ) chmod 755 tools/gserialver ;; - appletviewer ) chmod 755 tools/appletviewer ;; - jarsigner ) chmod 755 tools/jarsigner ;; - keytool ) chmod 755 tools/keytool ;; + grmiregistry ) chmod 755 tools/grmiregistry ;; + gtnameserv ) chmod 755 tools/gtnameserv ;; + gorbd ) chmod 755 tools/gorbd ;; + grmid ) chmod 755 tools/grmid ;; + grmic ) chmod 755 tools/grmic ;; + gjavah ) chmod 755 tools/gjavah ;; gen-classlist ) chmod 755 lib/gen-classlist.sh ;; copy-vmresources ) chmod 755 lib/copy-vmresources.sh ;; esac @@ -21384,4 +22279,3 @@ cat ${srcdir}/lib/standard.omit.in > lib/standard.omit if test x$use_escher != xtrue; then echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit fi - diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac index 193b1d5f988..83bab19d0a6 100644 --- a/libjava/classpath/configure.ac +++ b/libjava/classpath/configure.ac @@ -6,11 +6,18 @@ dnl ----------------------------------------------------------- dnl define([AC_CACHE_LOAD], )dnl dnl define([AC_CACHE_SAVE], )dnl -AC_INIT([GNU Classpath],[0.92],[classpath@gnu.org],[classpath]) +AC_INIT([GNU Classpath],[0.94-pre],[classpath@gnu.org],[classpath]) AC_CONFIG_SRCDIR(java/lang/System.java) AC_CANONICAL_TARGET +dnl GCJ LOCAL +AC_ARG_ENABLE(java-maintainer-mode, + AS_HELP_STRING([--enable-java-maintainer-mode], + [allow rebuilding of .class and .h files])) +AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes) +dnl END GCJ LOCAL + dnl ----------------------------------------------------------- dnl Fold all IA-32 CPU architectures into "x86" dnl ----------------------------------------------------------- @@ -41,6 +48,9 @@ AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar]) AC_CONFIG_HEADERS([include/config.h]) AC_PREFIX_DEFAULT(/usr/local/classpath) +dnl GCC LOCAL +GCC_NO_EXECUTABLES + dnl ----------------------------------------------------------- dnl Enable collections.jar (disabled by default) dnl ----------------------------------------------------------- @@ -85,13 +95,17 @@ AM_CONDITIONAL(CREATE_CORE_JNI_LIBRARIES, test "x${COMPILE_CORE_JNI}" = xyes) dnl ----------------------------------------------------------- dnl Default Preference Backend dnl ----------------------------------------------------------- -AC_ARG_ENABLE(default-preferences-peer, - AS_HELP_STRING([--enable-default-preferences-peer], - [fully qualified class name of default Preferences API Backend])) -DEFAULT_PREFS_PEER=$enable_default_preferences_peer -if test "$DEFAULT_PREFS_PEER" = ""; then - DEFAULT_PREFS_PEER=gnu.java.util.prefs.FileBasedFactory -fi +AC_ARG_ENABLE([default-preferences-peer], + [AS_HELP_STRING([--enable-default-preferences-peer@<:@=peer type or class name@:>@], + [specify one of: "gconf" [default] for a GConf based backend, "file" for a file based one, "memory" for a transient one, or a fully qualified class name implementing java.util.prefs.PreferencesFactory])], + [case "${enableval}" in + file) DEFAULT_PREFS_PEER=gnu.java.util.prefs.FileBasedFactory ;; + gconf|yes|true) DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory ;; + memory) DEFAULT_PREFS_PEER=gnu.java.util.prefs.MemoryBasedFactory ;; + no|false) AC_MSG_ERROR(bad value '${enableval}' for --enable-default-preferences-peer) ;; + *) DEFAULT_PREFS_PEER=${enableval} ;; + esac], + [DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory]) dnl AC_SUBST(DEFAULT_PREFS_PEER) dnl ----------------------------------------------------------- @@ -120,9 +134,9 @@ AC_ARG_ENABLE([Werror], [case "${enableval}" in yes) ENABLE_WERROR=yes ;; no) ENABLE_WERROR=no ;; - *) ENABLE_WERROR=no ;; + *) ENABLE_WERROR=default ;; esac], - [ENABLE_WERROR=no]) + [ENABLE_WERROR=default]) dnl ----------------------------------------------------------- dnl Default AWT toolkit @@ -221,25 +235,16 @@ AC_ARG_ENABLE([plugin], [COMPILE_PLUGIN=yes]) AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes) -dnl ----------------------------------------------------------- -dnl GCJ LOCAL: Calculates and substitutes toolexeclibdir. $libdir is -dnl defined to the same value for all multilibs. We define toolexeclibdir -dnl so that we can refer to the multilib installation directories from -dnl classpath's build files. -dnl ----------------------------------------------------------- -CLASSPATH_TOOLEXECLIBDIR - dnl ----------------------------------------------------------- dnl Sets the native libraries installation dir dnl ----------------------------------------------------------- -dnl GCJ LOCAL: default to ${toolexeclibdir}/gcj-${gcc_version} AC_ARG_WITH([native-libdir], [AS_HELP_STRING(--with-native-libdir,sets the installation directory for native libraries [default='${libdir}/${PACKAGE}'])], [ nativeexeclibdir=${withval} ], [ - nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER` + nativeexeclibdir='${libdir}/${PACKAGE}' ]) AC_SUBST(nativeexeclibdir) @@ -292,7 +297,11 @@ dnl ----------------------------------------------------------- AC_ARG_ENABLE([tool-wrappers], [AS_HELP_STRING(--enable-tool-wrappers,create tool wrapper binaries [default=no])], [case x"${enableval}" in - xyes) COMPILE_WRAPPERS=yes ;; + xyes) + COMPILE_WRAPPERS=yes; + AC_CHECK_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)]) + AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)]) + ;; xno) COMPILE_WRAPPERS=no ;; x) COMPILE_WRAPPERS=yes ;; *) COMPILE_WRAPPERS=yes ;; @@ -306,13 +315,25 @@ AC_PROG_INSTALL dnl ----------------------------------------------------------- dnl Checks for programs. dnl ----------------------------------------------------------- -AC_PROG_CXX + dnl Initialize libtool AC_DISABLE_STATIC AC_PROG_LIBTOOL dnl AC_PROG_AWK AC_PROG_CC AC_PROG_CPP +AC_PROG_CXX + +# Handle -Werror default case. +if test "$ENABLE_WERROR" = default; then + case "$host_os" in + *linux*) + if test "$GCC" = yes; then + ENABLE_WERROR=yes + fi + ;; + esac +fi if test "x${COMPILE_COLLECTIONS}" = xyes; then AC_PATH_PROG(PERL, [perl]) @@ -323,6 +344,8 @@ if test "x${COMPILE_COLLECTIONS}" = xyes; then fi if test "x${COMPILE_JNI}" = xyes; then + GCC_ATTRIBUTE_UNUSED + AC_HEADER_STDC dnl Checking sizeof void * is needed for fdlibm to work properly on ppc64, @@ -344,7 +367,9 @@ if test "x${COMPILE_JNI}" = xyes; then crt_externs.h \ fcntl.h \ sys/mman.h \ - magic.h]) + magic.h \ + sys/event.h sys/epoll.h \ + ifaddrs.h]) AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t])) AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t])) @@ -353,20 +378,29 @@ if test "x${COMPILE_JNI}" = xyes; then AC_CHECK_FUNCS([ftruncate fsync select \ gethostname socket strerror fork pipe execve open close \ - lseek fstat read write htonl memset htons connect \ + lseek fstat read readv write writev htonl memset htons connect \ getsockname getpeername bind listen accept \ recvfrom send sendto setsockopt getsockopt time mktime \ - localtime_r \ + gethostbyname_r localtime_r \ strerror_r \ fcntl \ mmap munmap mincore msync madvise getpagesize sysconf \ lstat readlink \ - ]) + inet_aton inet_addr inet_pton \ + getifaddrs kqueue kevent epoll_create \ + readdir_r ]) LIBMAGIC= AC_CHECK_LIB(magic, magic_open, LIBMAGIC=-lmagic) AC_SUBST(LIBMAGIC) + AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct sockaddr_in6 addr6;]])], + [AC_DEFINE(HAVE_INET6, 1, + [Define if inet6 structures are defined in netinet/in.h.]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + AC_HEADER_TIME AC_STRUCT_TM AC_STRUCT_TIMEZONE @@ -401,17 +435,17 @@ if test "x${COMPILE_JNI}" = xyes; then dnl When using gcc we want warnings, lots of warnings :-) if test "x${GCC}" = xyes; then - dnl We want ISO C90 pedantic ansi, but with longlong (jlong) support + dnl We want ISO C90 ansi, but with longlong (jlong) support dnl and modern POSIX and BSD C library functions/prototypes. dnl Warning flags for (almost) everybody. dnl Should probably be configurable - WARNING_CFLAGS='-pedantic -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long' + WARNING_CFLAGS='-W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long' AC_SUBST(WARNING_CFLAGS) dnl Strict warning flags which not every module uses. dnl Should probably be configurable. - STRICT_WARNING_CFLAGS=-Wstrict-prototypes + STRICT_WARNING_CFLAGS='-Wstrict-prototypes -pedantic' AC_SUBST(STRICT_WARNING_CFLAGS) dnl Whether or not to add -Werror, also not used by all modueles. @@ -538,6 +572,28 @@ if test "x${COMPILE_JNI}" = xyes; then AC_SUBST(QT_CFLAGS) AC_SUBST(QT_LIBS) fi + dnl ********************************************************************** + dnl Check for MSG_NOSIGNAL + dnl ********************************************************************** + AC_MSG_CHECKING(for MSG_NOSIGNAL) + AC_TRY_COMPILE([#include ], + [ int f = MSG_NOSIGNAL; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MSG_NOSIGNAL, 1, + [Define this symbol if you have MSG_NOSIGNAL]) ], + [ AC_MSG_RESULT(no)] + ) + dnl ********************************************************************** + dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL) + dnl ********************************************************************** + AC_MSG_CHECKING(for SO_NOSIGPIPE ) + AC_TRY_COMPILE([#include ], + [ int f = SO_NOSIGPIPE; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SO_NOSIGPIPE, 1, + [Define this symbol if you have SO_NOSIGPIPE]) ], + [ AC_MSG_RESULT(no)] + ) dnl Check for plugin support headers and libraries. if test "x${COMPILE_PLUGIN}" = xyes; then @@ -551,6 +607,9 @@ if test "x${COMPILE_JNI}" = xyes; then if test "x${MOZILLA_FOUND}" = xno; then PKG_CHECK_MODULES(MOZILLA, mozilla-firefox-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) fi + if test "x${MOZILLA_FOUND}" = xno; then + PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) + fi PKG_CHECK_MODULES(GLIB, glib-2.0) AC_SUBST(MOZILLA_CFLAGS) @@ -568,7 +627,7 @@ dnl ----------------------------------------------------------- dnl Add the include files for the native abstraction layer. dnl Used by AM_CPPFLAGS in the different modules. dnl ----------------------------------------------------------- -CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/target/Linux -I\$(top_srcdir)/native/target/generic" +CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/jni/native-lib" AC_SUBST(CLASSPATH_INCLUDES) dnl ----------------------------------------------------------- @@ -746,13 +805,13 @@ case "$with_escher" in use_escher=false ;; "yes") - AC_MSG_ERROR([Please suply an absolute path to Escher library]) + AC_MSG_ERROR([Please supply an absolute path to Escher library]) ;; *) use_escher=true PATH_TO_ESCHER=$with_escher ;; -esac; +esac AM_CONDITIONAL(USE_ESCHER, test x$use_escher = xtrue) AC_SUBST(PATH_TO_ESCHER) @@ -795,6 +854,7 @@ external/Makefile external/sax/Makefile external/w3c_dom/Makefile external/relaxngDatatype/Makefile +external/jsr166/Makefile gnu/classpath/Configuration.java gnu/java/security/Configuration.java include/Makefile @@ -814,10 +874,8 @@ native/jni/qt-peer/Makefile native/jni/xmlj/Makefile native/jni/midi-alsa/Makefile native/jni/midi-dssi/Makefile +native/jni/native-lib/Makefile native/plugin/Makefile -native/target/Makefile -native/target/Linux/Makefile -native/target/generic/Makefile resource/Makefile resource/META-INF/services/java.util.prefs.PreferencesFactory scripts/Makefile @@ -837,24 +895,25 @@ tools/gjarsigner tools/gkeytool tools/gjar tools/gnative2ascii -tools/gserialver]) +tools/gserialver +tools/grmiregistry +tools/gtnameserv +tools/gorbd +tools/grmid +tools/grmic +tools/gjavah]) AC_CONFIG_COMMANDS([gappletviewer],[chmod 755 tools/gappletviewer]) AC_CONFIG_COMMANDS([gjarsigner],[chmod 755 tools/gjarsigner]) AC_CONFIG_COMMANDS([gkeytool],[chmod 755 tools/gkeytool]) AC_CONFIG_COMMANDS([gjar],[chmod 755 tools/gjar]) AC_CONFIG_COMMANDS([gnative2ascii],[chmod 755 tools/gnative2ascii]) AC_CONFIG_COMMANDS([gserialver],[chmod 755 tools/gserialver]) -fi - - -if test "x${COMPILE_WRAPPERS}" = xno -then -AC_CONFIG_FILES([tools/appletviewer -tools/jarsigner -tools/keytool]) -AC_CONFIG_COMMANDS([appletviewer],[chmod 755 tools/appletviewer]) -AC_CONFIG_COMMANDS([jarsigner],[chmod 755 tools/jarsigner]) -AC_CONFIG_COMMANDS([keytool],[chmod 755 tools/keytool]) +AC_CONFIG_COMMANDS([grmiregistry],[chmod 755 tools/grmiregistry]) +AC_CONFIG_COMMANDS([gtnameserv],[chmod 755 tools/gtnameserv]) +AC_CONFIG_COMMANDS([gorbd],[chmod 755 tools/gorbd]) +AC_CONFIG_COMMANDS([grmid],[chmod 755 tools/grmid]) +AC_CONFIG_COMMANDS([grmic],[chmod 755 tools/grmic]) +AC_CONFIG_COMMANDS([gjavah], [chmod 755 tools/gjavah]) fi AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh]) @@ -866,4 +925,3 @@ cat ${srcdir}/lib/standard.omit.in > lib/standard.omit if test x$use_escher != xtrue; then echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit fi - diff --git a/libjava/classpath/doc/.cvsignore b/libjava/classpath/doc/.cvsignore new file mode 100644 index 00000000000..1c4ea81e2c8 --- /dev/null +++ b/libjava/classpath/doc/.cvsignore @@ -0,0 +1,13 @@ +Makefile +Makefile.in +*.info +*.aux +*.cp +*.dvi +*.fn +*.ky +*.log +*.pg +*.toc +*.tp +*.vr diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in index 20a87292fea..56bd79eaf56 100644 --- a/libjava/classpath/doc/Makefile.in +++ b/libjava/classpath/doc/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -166,6 +168,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -287,7 +291,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ SUBDIRS = api EXTRA_DIST = README.jaxp diff --git a/libjava/classpath/doc/api/.cvsignore b/libjava/classpath/doc/api/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/doc/api/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/doc/api/Makefile.am b/libjava/classpath/doc/api/Makefile.am index 96c586e07f3..b63b31f3444 100644 --- a/libjava/classpath/doc/api/Makefile.am +++ b/libjava/classpath/doc/api/Makefile.am @@ -36,6 +36,7 @@ clean-local: create_html: -$(MKDIR) html > /dev/null 2>&1 +if CREATE_API_DOCS $(GJDOC) \ -use \ -sourcepath "$(sourcepath)" \ @@ -51,3 +52,4 @@ create_html: -header $(classpathbox) -footer $(classpathbox) \ -subpackages java:javax:org touch create_html +endif diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in index 4ed24cefeb6..231a47a31f9 100644 --- a/libjava/classpath/doc/api/Makefile.in +++ b/libjava/classpath/doc/api/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -159,6 +161,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -280,7 +284,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ @CREATE_API_DOCS_TRUE@noinst_DATA = html sourcepath = $(top_builddir):$(top_srcdir):$(top_srcdir)/vm/reference:$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax @@ -475,21 +478,21 @@ clean-local: create_html: -$(MKDIR) html > /dev/null 2>&1 - $(GJDOC) \ - -use \ - -sourcepath "$(sourcepath)" \ - -encoding UTF-8 \ - -breakiterator \ - -licensetext \ - -linksource \ - -splitindex \ - -validhtml \ - -d html \ - -doctitle "GNU Classpath $(VERSION)" \ - -windowtitle "GNU Classpath $(VERSION) Documentation" \ - -header $(classpathbox) -footer $(classpathbox) \ - -subpackages java:javax:org - touch create_html +@CREATE_API_DOCS_TRUE@ $(GJDOC) \ +@CREATE_API_DOCS_TRUE@ -use \ +@CREATE_API_DOCS_TRUE@ -sourcepath "$(sourcepath)" \ +@CREATE_API_DOCS_TRUE@ -encoding UTF-8 \ +@CREATE_API_DOCS_TRUE@ -breakiterator \ +@CREATE_API_DOCS_TRUE@ -licensetext \ +@CREATE_API_DOCS_TRUE@ -linksource \ +@CREATE_API_DOCS_TRUE@ -splitindex \ +@CREATE_API_DOCS_TRUE@ -validhtml \ +@CREATE_API_DOCS_TRUE@ -d html \ +@CREATE_API_DOCS_TRUE@ -doctitle "GNU Classpath $(VERSION)" \ +@CREATE_API_DOCS_TRUE@ -windowtitle "GNU Classpath $(VERSION) Documentation" \ +@CREATE_API_DOCS_TRUE@ -header $(classpathbox) -footer $(classpathbox) \ +@CREATE_API_DOCS_TRUE@ -subpackages java:javax:org +@CREATE_API_DOCS_TRUE@ touch create_html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/libjava/classpath/doc/vmintegration.texinfo b/libjava/classpath/doc/vmintegration.texinfo index e7f85d088b5..6d59b5d8fb4 100644 --- a/libjava/classpath/doc/vmintegration.texinfo +++ b/libjava/classpath/doc/vmintegration.texinfo @@ -144,7 +144,7 @@ A simple, small bytecode interpreter that works out-of-the-box with pure GNU Classpath; it is emerging as the preferred platform for quickly testing a new build of GNU Classpath. Licensed under the GPL. -@item @uref{http://oss.software.ibm.com/jikesrvm,Jikes RVM} +@item @uref{http://jikesrvm.sourceforge.net/,Jikes RVM} A free runtime environment for Java, written in Java. Works out-of-the-box with pure GNU Classpath. Features an optimizing JIT. Runs on the x86 and PowerPC architectures, on the AIX, Linux, and Mac @@ -1859,8 +1859,7 @@ Classpath places a few requirements on the VM that uses it. Classpath currently uses only JNI 1.1, except for one JNI 1.2 function in the JNI Invocation API: GetEnv(). And GetEnv() is only used in the -``portable native sync'' code, so it's only actually used by Jikes RVM -and Kaffe. +now deprecated ``portable native sync'' code. A future direction will probably be to require that all VMs provide JNI 1.2. If this poses problems, please raise them on the classpath @@ -1870,42 +1869,95 @@ mailing list. @comment node-name, next, previous, up @section VM Threading Model -Classpath's AWT peers use GTK+. GTK+ uses GLIB. Normally, Classpath -will initialize GLIB's @dfn{gthreads} to use -the platform's native threading model@footnote{The native threading -model is pthreads on Linux and AIX, the two platforms Classpath -currently runs on.} - -If the Java runtime doesn't use the native threading model, then you -will want Classpath to tell GLIB to use the Java threading primitives -instead. Otherwise, GLIB would use the native threading model to -perform operations such as creating thread-local data, and that just -doesn't work on systems (such as Kaffe in some configurations, and -such as Jikes RVM) that use @i{m}:@i{n} threading. - -Historically, enabling the Java threading primitives had been done at -build time, by configuring classpath with the -@option{--portable-native-sync} option. This had bad consequences, -though -- it meant that the prebuild GNU Classpath package distributed -with Debian GNU/Linux would not be usable with VMs that could -otherwise have used it. Instead, we encourage -the use of the Java system property -@code{gnu.classpath.awt.gtk.portable.native.sync}. A VM that wants -GLIB to use the Java threading primitives should modify -@code{VMRuntime.insertSystemProperties()} to include code like the -following: - -@example -static void insertSystemProperties(Properties @var{p}) -@end example -... -@example -@var{p}.put("gnu.classpath.awt.gtk.portable.native.sync", "true"); -@end example - -So, the configure option -@option{--portable-native-sync} is deprecated, and should go away in a -subsequent release of GNU Classpath. +VM authors can implement a number of different threading models. When +native code is also threaded there is the potential for one threading +model to deadlock the other. The +@uref{http://java.sun.com/docs/books/jni/html/other.html#29406,Java +Native Interface Programmer's Guide and Specification} suggests +consulting VM documentation in such situations. Classpath uses +existing libraries, for example the AWT peers can use the GTK+ +graphics library. As these libraries assume a different threading +model, there is the potential for the native code to deadlock a VM. + +The different threading models available to a VM author are: +@enumerate +@item +@i{Native threads}: Map a Java thread to an underlying operating system +thread (normally a POSIX compatible pthread). This approach reduces +the potential for deadlock as there is only one thread scheduling +mechanism. +@item +@i{Green threads 1}: Green threads are threads scheduled by the VM, +typically by switching swapping registers. In early VMs green threads +were seen as advantageous as they didn't require the operating system +to resechedule, save and swap all of a threads registers. The green +thread 1 model switches thread on an externally created event, such as +a timer interrupt. An example of a VM using this approach is Kaffe +configured with its jthreads model. +@item +@i{Green threads 2}: The essential difference with this model is to +not switch threads on an event, but at fixed points in the code being +executed by the VM. Points chosen could be backward branches (loops) +or method calls. This approach can be advantageous to nonconservative +garbage collectors, as non-running threads would be at known points +and can have fixed register maps. It can also reduce the number of +registers it is necessary to swap when switching threads. +@item +@i{M:N threading}: a flaw to green threading is that it is unable to +use multiple processors. @i{M}:@i{N} threading fixes this problem by +running groups of green threads on multiple underlying native +threads. An example of a VM using this approach is the Jikes RVM, +which uses @i{M}:@i{N} threading combined with the green thread 2 +model. +@end enumerate + +An example of the problem of mixing threading models is: +@itemize @bullet +@item +A Java thread calls a native method. The native method aquires a lock. +@item +The native method calls back into the VM. +@item +An event triggers the VM to reschedule the currently running thread. +@item +A new VM thread, executing on the same underlying native thread, calls +a native method. +@item +The native method tries to aquire the lock already aquired earlier. As +the lock is busy the thread waits and allows the operating system to +reschedule native threads. +@item +The operating system reschedules the VM thread again, but the lock is +still busy and in some threading models will remain busy forever +(the VM is deadlocked). +@end itemize + +VMs that don't use the underlying operating system thread scheduling +mechanism need to avoid deadlock. One now deprecated approach was to +build Classpath and VMs on top of a wrapper thread library (aka +portable native sync). The wrapper thread library used was GLIB's +@dfn{gthreads}. This approach has been deprecated because: +@enumerate +@item +The wrapper library is only in use by some native libraries. For +example, GTK+ uses the gthread library but QT does not. +@item +The wrapper library can't be in use prior to the VM starting as the VM +must replace the wrapper libraries functions with its own. This +prevents the VM from running as a plugin in an application that +already uses the wrapper library. +@end enumerate + +An alternative approach is for the VM to detect deadlocked native code +and swap Java threads off of that native thread. The VM can't, +however, swap two blocked native threads that are potentially +deadlocking each other on a lock. The lock will be associated with the +native thread. To prevent this from happening the VM must hijack +functions that operate on locks. This is done by redifining the lock +functions inside the VM and configuring the linker so that it uses the +VMs symbol in preference to that of the external thread support +library. The VM's lock function can then reschedule Java threads if it +must wait for the lock. @node Boot Library Path Property, , VM Threading Model, Miscellaneous VM Requirements @comment node-name, next, previous, up diff --git a/libjava/classpath/examples/.cvsignore b/libjava/classpath/examples/.cvsignore new file mode 100644 index 00000000000..d79d635e81a --- /dev/null +++ b/libjava/classpath/examples/.cvsignore @@ -0,0 +1,6 @@ +Makefile +Makefile.in +examples.zip +Makefile.jawt +Makefile.java2d + diff --git a/libjava/classpath/examples/Makefile.am b/libjava/classpath/examples/Makefile.am index 84e3ebe0fc9..6940bdf2599 100644 --- a/libjava/classpath/examples/Makefile.am +++ b/libjava/classpath/examples/Makefile.am @@ -1,23 +1,23 @@ ## Input file for automake to generate the Makefile.in used by configure -GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip' +GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_builddir)/tools/tools.zip' # Setup the compiler to use the GNU Classpath library we just build -if FOUND_GCJ -JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath $(GLIBJ_CLASSPATH) --classpath . -C -else -if FOUND_JIKES -JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(GLIBJ_CLASSPATH):. -else +#if FOUND_GCJ +#JCOMPILER = $(GCJ) --bootclasspath '$(top_builddir)/lib' --classpath . -C +#else +#if FOUND_JIKES +#JCOMPILER = $(JIKES) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_builddir)/lib:. +#else if FOUND_GCJX JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. else if FOUND_ECJ -JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . else error dunno how to setup the JCOMPILER and compile endif -endif -endif +#endif +#endif endif # All our example java source files @@ -36,11 +36,14 @@ BUILT_SOURCES = $(EXAMPLE_ZIP) # the png icons we use in some of the examples. EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png +# the html pages we use in the swing demo example. +EXAMPLE_HTML = $(srcdir)/gnu/classpath/examples/swing/*.html + # The example specific README files. READMES = $(srcdir)/gnu/classpath/examples/CORBA/swing/README.html # All the files we find "interesting" -ALL_EXAMPLE_FILES = $(EXAMPLE_JAVA_FILES) $(EXAMPLE_C_FILES) $(EXAMPLE_CH_FILES) $(EXAMPLE_ICONS) $(READMES) +ALL_EXAMPLE_FILES = $(EXAMPLE_JAVA_FILES) $(EXAMPLE_C_FILES) $(EXAMPLE_CH_FILES) $(EXAMPLE_ICONS) $(EXAMPLE_HTML) $(READMES) # Some architecture independent data to be installed. example_DATA = $(EXAMPLE_ZIP) README @@ -100,6 +103,8 @@ dist-hook: $(EXAMPLE_ZIP): $(EXAMPLE_JAVA_FILES) mkdir -p classes/gnu/classpath/examples/icons cp $(EXAMPLE_ICONS) classes/gnu/classpath/examples/icons + mkdir -p classes/gnu/classpath/examples/swing + cp $(EXAMPLE_HTML) classes/gnu/classpath/examples/swing $(JCOMPILER) -d classes $(EXAMPLE_JAVA_FILES) (cd classes; \ if test "$(ZIP)" != ""; then $(ZIP) -r ../$(EXAMPLE_ZIP) .; fi; \ diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in index d40f2018d24..6e929df647e 100644 --- a/libjava/classpath/examples/Makefile.in +++ b/libjava/classpath/examples/Makefile.in @@ -43,12 +43,14 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -168,6 +170,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -289,15 +293,20 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip' -@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . -@FOUND_GCJX_TRUE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. -@FOUND_GCJ_FALSE@@FOUND_JIKES_TRUE@JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(GLIBJ_CLASSPATH):. +GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_builddir)/tools/tools.zip' +@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . # Setup the compiler to use the GNU Classpath library we just build -@FOUND_GCJ_TRUE@JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath $(GLIBJ_CLASSPATH) --classpath . -C +#if FOUND_GCJ +#JCOMPILER = $(GCJ) --bootclasspath '$(top_builddir)/lib' --classpath . -C +#else +#if FOUND_JIKES +#JCOMPILER = $(JIKES) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_builddir)/lib:. +#else +@FOUND_GCJX_TRUE@JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. +#endif +#endif # All our example java source files EXAMPLE_JAVA_FILES = $(srcdir)/gnu/classpath/examples/*/*.java $(srcdir)/gnu/classpath/examples/*/*/*.java $(srcdir)/gnu/classpath/examples/*/*/*/*.java @@ -315,11 +324,14 @@ BUILT_SOURCES = $(EXAMPLE_ZIP) # the png icons we use in some of the examples. EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png +# the html pages we use in the swing demo example. +EXAMPLE_HTML = $(srcdir)/gnu/classpath/examples/swing/*.html + # The example specific README files. READMES = $(srcdir)/gnu/classpath/examples/CORBA/swing/README.html # All the files we find "interesting" -ALL_EXAMPLE_FILES = $(EXAMPLE_JAVA_FILES) $(EXAMPLE_C_FILES) $(EXAMPLE_CH_FILES) $(EXAMPLE_ICONS) $(READMES) +ALL_EXAMPLE_FILES = $(EXAMPLE_JAVA_FILES) $(EXAMPLE_C_FILES) $(EXAMPLE_CH_FILES) $(EXAMPLE_ICONS) $(EXAMPLE_HTML) $(READMES) # Some architecture independent data to be installed. example_DATA = $(EXAMPLE_ZIP) README @@ -522,7 +534,7 @@ uninstall-am: uninstall-exampleDATA uninstall-info-am uninstall-local uninstall uninstall-am uninstall-exampleDATA uninstall-info-am \ uninstall-local -@FOUND_ECJ_FALSE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@error dunno how to setup the JCOMPILER and compile +@FOUND_ECJ_FALSE@@FOUND_GCJX_FALSE@error dunno how to setup the JCOMPILER and compile # Make sure all sources and icons are also installed so users can use them. # (Be careful to strip off the srcdir part of the path when installing.) @@ -573,6 +585,8 @@ dist-hook: $(EXAMPLE_ZIP): $(EXAMPLE_JAVA_FILES) mkdir -p classes/gnu/classpath/examples/icons cp $(EXAMPLE_ICONS) classes/gnu/classpath/examples/icons + mkdir -p classes/gnu/classpath/examples/swing + cp $(EXAMPLE_HTML) classes/gnu/classpath/examples/swing $(JCOMPILER) -d classes $(EXAMPLE_JAVA_FILES) (cd classes; \ if test "$(ZIP)" != ""; then $(ZIP) -r ../$(EXAMPLE_ZIP) .; fi; \ diff --git a/libjava/classpath/examples/gnu/classpath/examples/CORBA/NamingService/Demo.java b/libjava/classpath/examples/gnu/classpath/examples/CORBA/NamingService/Demo.java index fb5ebdbb5dc..38c4ecb987a 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/CORBA/NamingService/Demo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/CORBA/NamingService/Demo.java @@ -39,7 +39,6 @@ exception statement from your version. */ package gnu.classpath.examples.CORBA.NamingService; import gnu.CORBA.IOR; -import gnu.CORBA.NamingService.NamingServiceTransient; import org.omg.CORBA.ORB; import org.omg.CORBA.Object; @@ -97,7 +96,7 @@ public class Demo { public void run() { - NamingServiceTransient.main(args); + gnu.classpath.tools.tnameserv.Main.main(args); } }.start(); diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png new file mode 100644 index 00000000000..dcf39654b9f Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif b/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif new file mode 100644 index 00000000000..69479465594 Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/icons/back.png b/libjava/classpath/examples/gnu/classpath/examples/icons/back.png new file mode 100644 index 00000000000..d320f26c65f Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/icons/back.png differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/icons/reload.png b/libjava/classpath/examples/gnu/classpath/examples/icons/reload.png new file mode 100644 index 00000000000..04c57500211 Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/icons/reload.png differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png new file mode 100644 index 00000000000..dcf39654b9f Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif b/libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif new file mode 100644 index 00000000000..69479465594 Binary files /dev/null and b/libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif differ diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/BrowserEditorKit.java b/libjava/classpath/examples/gnu/classpath/examples/swing/BrowserEditorKit.java new file mode 100644 index 00000000000..f61275e5766 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/BrowserEditorKit.java @@ -0,0 +1,57 @@ +/* BrowserEditorKit.java -- A tweaked editor kit for the browser + Copyright (C) 2006 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. */ + + +package gnu.classpath.examples.swing; + +import javax.swing.text.html.HTMLEditorKit; + +/** + * A tweaked editor kit for out browser. + */ +public class BrowserEditorKit + extends HTMLEditorKit +{ + public BrowserEditorKit() + { + super(); + // Turn off automatic form submission so that we can receive notification + // instead and can update out location field. + setAutoFormSubmission(false); + } +} + diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch b/libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch new file mode 100644 index 00000000000..7d041a0b0e7 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/Demo.java b/libjava/classpath/examples/gnu/classpath/examples/swing/Demo.java index 19bc27c1de8..3c7f0b887ef 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/Demo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/Demo.java @@ -28,7 +28,6 @@ import java.awt.*; import java.awt.event.*; import javax.swing.*; -import javax.swing.tree.*; import javax.swing.plaf.basic.BasicLookAndFeel; import javax.swing.plaf.metal.DefaultMetalTheme; @@ -67,7 +66,7 @@ public class Demo return getIcon("/gnu/classpath/examples/icons/big-" + s + ".png", s); } - private static Icon getIcon(String location, String name) + static Icon getIcon(String location, String name) { URL url = Demo.class.getResource(location); if (url == null) System.err.println("WARNING " + location + " not found."); @@ -161,6 +160,8 @@ public class Demo NavigationFilterDemo.createDemoFactory()))); examples.add(new JMenuItem(new PopupAction("JNI Overhead", JNIOverhead.createDemoFactory()))); + examples.add(new JMenuItem(new PopupAction("HTML Demo", + HtmlDemo.createDemoFactory()))); final JMenuItem vmMenu; @@ -294,21 +295,6 @@ public class Demo return bar; } - private static String valign2str(int a) - { - switch (a) - { - case SwingConstants.CENTER: - return "Center"; - case SwingConstants.TOP: - return "Top"; - case SwingConstants.BOTTOM: - return "Bottom"; - default: - return "Unknown"; - } - } - static String halign2str(int a) { switch (a) @@ -354,17 +340,6 @@ public class Demo return mkButton(null, i, -1, -1, -1, -1); } - - private static JScrollPane mkScrollPane(JComponent inner) - { - JScrollPane jsp; - jsp = new JScrollPane(inner, - JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - - return jsp; - } - public Demo() { frame = new JFrame("Swing Activity Board"); @@ -376,10 +351,7 @@ public class Demo JPanel main = new JPanel(); main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); desktop = createDesktop(); - - // Put the desktop in a scrollpane. The scrollbars may show then - // up when the them or LaF is changed. - main.add(new JScrollPane(desktop)); + main.add(desktop); main.add(mkButtonBar()); component.add(main, BorderLayout.CENTER); frame.pack(); @@ -391,7 +363,7 @@ public class Demo { public void run() { - Demo demo = new Demo(); + new Demo(); } } @@ -407,16 +379,6 @@ public class Demo return b; } - private static JPanel mkPanel(JComponent[] inners) - { - JPanel p = new JPanel(); - for (int i = 0; i < inners.length; ++i) - { - p.add(inners[i]); - } - return p; - } - static JButton mkDisposerButton(final JFrame c) { JButton close = mkBigButton("Close"); @@ -479,52 +441,6 @@ public class Demo } } - /** - * Create the tree. - * - * @return thr scroll pane, containing the tree. - */ - private static JComponent mkTree() - { - DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root node"); - - addChildren("Node", root, 12); - - JTree tree = new JTree(root); - tree.setLargeModel(true); - DefaultTreeSelectionModel dtsm = new DefaultTreeSelectionModel(); - dtsm.setSelectionMode(DefaultTreeSelectionModel.SINGLE_TREE_SELECTION); - tree.setSelectionModel(dtsm); - - // Make it editable. - tree.setEditable(true); - - JComponent t = mkScrollPane(tree); - t.setPreferredSize(new Dimension(200,200)); - return t; - } - - /** - * Add the specified number of children to this parent node. For each - * child, the method is called recursively adding the nChildren-3 number of - * grandchildren. - * - * @param parent the parent node - * @param nChildren the number of children - */ - private static void addChildren(String name, DefaultMutableTreeNode parent, - int nChildren) - { - for (int i = 0; i < nChildren; i++) - { - String child_name = parent+"."+i; - DefaultMutableTreeNode child = new DefaultMutableTreeNode - (child_name); - parent.add(child); - addChildren(child_name, child, nChildren-3); - } - } - private JPanel mkButtonBar() { JPanel panel = new JPanel(new GridLayout(3, 1, 5, 5)); @@ -558,6 +474,8 @@ public class Demo MetalThemeEditor.createDemoFactory()))); panel.add(new JButton(new PopupAction("JNI Overhead", JNIOverhead.createDemoFactory()))); + panel.add(new JButton(new PopupAction("HTML", + HtmlDemo.createDemoFactory()))); JButton exitDisposer = mkDisposerButton(frame); panel.add(exitDisposer); diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/HtmlDemo.java b/libjava/classpath/examples/gnu/classpath/examples/swing/HtmlDemo.java index 223ee07cd4a..1a24ae2760e 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/HtmlDemo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/HtmlDemo.java @@ -40,20 +40,31 @@ package gnu.classpath.examples.swing; import java.awt.BorderLayout; import java.awt.Dimension; -import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.util.LinkedList; +import javax.swing.BoxLayout; +import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JComponent; +import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; -import javax.swing.JTextArea; +import javax.swing.JTextField; import javax.swing.JTextPane; +import javax.swing.JToolBar; import javax.swing.SwingUtilities; -import javax.swing.text.Element; -import javax.swing.text.html.HTMLDocument; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import javax.swing.text.html.FormSubmitEvent; /** * Parses and displays HTML content. @@ -62,28 +73,54 @@ import javax.swing.text.html.HTMLDocument; */ public class HtmlDemo extends JPanel { - - JTextPane html = new JTextPane(); - JTextArea text = new JTextArea("" + - "123456789HR!
987654321"+ - "123456789BR!
987654321"+ - "

Insertion target

"+ - "ma"+ - "supnormalsubnormal

Table:"+ - "ax
bc
yz
"); - - JPanel buttons; + private class LoadActionListener + implements ActionListener + { + + public void actionPerformed(ActionEvent event) + { + String urlStr = url.getText(); + try + { + setPage(new URL(url.getText())); + } + catch (MalformedURLException ex) + { + // Do something more useful here. + ex.printStackTrace(); + } + } + } + + /** + * Setting this to true causes the parsed element structure to be dumped. + */ + private static final boolean DEBUG = true; + + /** + * The URL entry field. + */ + JTextField url = new JTextField(); + + JTextPane html = new JTextPane(); int n; + /** + * The browsing history. + * + * Package private to avoid accessor method. + */ + LinkedList history; + public HtmlDemo() { super(); - html.setContentType("text/html"); // not now. + history = new LinkedList(); createContent(); } - + /** * Returns a panel with the demo content. The panel uses a BorderLayout(), and * the BorderLayout.SOUTH area is empty, to allow callers to add controls to @@ -93,158 +130,128 @@ public class HtmlDemo extends JPanel private void createContent() { setLayout(new BorderLayout()); - - JPanel center = new JPanel(); - GridLayout layout = new GridLayout(); - layout.setRows(2); - center.setLayout(layout); - center.add(new JScrollPane(text)); - center.add(new JScrollPane(html)); - - buttons = new JPanel(); - - JButton parse = new JButton("parse"); - parse.addActionListener(new ActionListener() + + JEditorPane.registerEditorKitForContentType("text/html", + BrowserEditorKit.class.getName()); + html.setEditable(false); + html.addHyperlinkListener(new HyperlinkListener() + { + + public void hyperlinkUpdate(HyperlinkEvent event) { - public void actionPerformed(ActionEvent event) + if (event instanceof FormSubmitEvent) { - String t = text.getText(); - System.out.println("HtmlDemo.java.createContent:Parsing started"); - html.setText(t); - System.out.println("HtmlDemo.java.createContent:Parsing completed"); + submitForm((FormSubmitEvent) event); } - }); - - buttons.add(parse); - - JButton insertBeforeEnd = new JButton("before end"); - insertBeforeEnd.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent event) + else { - HTMLDocument doc = (HTMLDocument) html.getDocument(); - Element el = doc.getElement("insertHere"); - System.out.println("Element found:"+el); - try - { - doc.insertBeforeEnd(el,"before end "+(n++)); - } - catch (Exception e) + URL u = event.getURL(); + if (u != null) { - e.printStackTrace(); + setPage(u); } } - }); - - JButton insertBeforeStart = new JButton("before start"); - insertBeforeStart.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent event) - { - HTMLDocument doc = (HTMLDocument) html.getDocument(); - Element el = doc.getElement("insertHere"); - System.out.println("Element found:"+el); - try - { - doc.insertBeforeStart(el,"before start "+(n++)); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - }); - - JButton insertAfterEnd = new JButton("after end"); - insertAfterEnd.addActionListener(new ActionListener() + } + + }); + + JScrollPane scroller = new JScrollPane(html); + JPanel urlPanel = new JPanel(); + urlPanel.setLayout(new BoxLayout(urlPanel, BoxLayout.X_AXIS)); + url.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); + LoadActionListener action = new LoadActionListener(); + url.addActionListener(action); + urlPanel.add(url); + JButton loadButton = new JButton("go"); + urlPanel.add(loadButton); + loadButton.addActionListener(action); + + // Setup control panel. + JToolBar controlPanel = createToolBar(); + JPanel browserPanel = new JPanel(); + browserPanel.setLayout(new BorderLayout()); + browserPanel.add(urlPanel, BorderLayout.NORTH); + browserPanel.add(scroller, BorderLayout.CENTER); + add(controlPanel, BorderLayout.NORTH); + add(browserPanel, BorderLayout.CENTER); + + // Load start page. + try { - public void actionPerformed(ActionEvent event) - { - HTMLDocument doc = (HTMLDocument) html.getDocument(); - Element el = doc.getElement("insertHere"); - System.out.println("Element found:"+el); - try - { - doc.insertAfterEnd(el,"after end "+(n++)); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - }); - - JButton insertAfterStart = new JButton("after start"); - insertAfterStart.addActionListener(new ActionListener() + URL startpage = getClass().getResource("welcome.html"); + html.setPage(startpage); + url.setText(startpage.toString()); + history.addLast(startpage); + } + catch (Exception ex) { - public void actionPerformed(ActionEvent event) - { - HTMLDocument doc = (HTMLDocument) html.getDocument(); - Element el = doc.getElement("insertHere"); - System.out.println("Element found:"+el); - try - { - doc.insertAfterStart(el,"after start "+(n++)); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - }); - + System.err.println("couldn't load page: "/* + startpage*/); + ex.printStackTrace(); + } + setPreferredSize(new Dimension(800, 600)); + } + - JButton setInner = new JButton("inner"); - setInner.addActionListener(new ActionListener() + /** + * Creates the toolbar with the control buttons. + * + * @return the toolbar with the control buttons + */ + JToolBar createToolBar() + { + JToolBar tb = new JToolBar(); + Icon backIcon = Demo.getIcon("/gnu/classpath/examples/icons/back.png", + "back"); + JButton back = new JButton(backIcon); + back.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent ev) { - public void actionPerformed(ActionEvent event) + if (history.size() > 1) { - HTMLDocument doc = (HTMLDocument) html.getDocument(); - Element el = doc.getElement("insertHere"); - System.out.println("Element found:"+el); + URL last = (URL) history.removeLast(); + last = (URL) history.getLast(); + url.setText(last.toString()); try { - doc.setInnerHTML(el,"inner "+(n++)); + html.setPage(last); } - catch (Exception e) + catch (IOException ex) { - e.printStackTrace(); + // Do something more useful. + ex.printStackTrace(); } } - }); - - JButton setOuter = new JButton("outer"); - setOuter.addActionListener(new ActionListener() + } + }); + tb.add(back); + Icon reloadIcon = Demo.getIcon("/gnu/classpath/examples/icons/reload.png", + "reload"); + JButton reload = new JButton(reloadIcon); + reload.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent ev) { - public void actionPerformed(ActionEvent event) + if (history.size() > 0) { - HTMLDocument doc = (HTMLDocument) html.getDocument(); - Element el = doc.getElement("insertHere"); - System.out.println("Element found:"+el); + URL last = (URL) history.getLast(); + url.setText(last.toString()); try { - doc.setOuterHTML(el,"outer "+(n++)); + html.setPage(last); } - catch (Exception e) + catch (IOException ex) { - e.printStackTrace(); + // Do something more useful. + ex.printStackTrace(); } } - }); - - - buttons.add(insertBeforeStart); - buttons.add(insertAfterStart); - buttons.add(insertBeforeEnd); - buttons.add(insertAfterEnd); - - buttons.add(setInner); - buttons.add(setOuter); - - add(center, BorderLayout.CENTER); - add(buttons, BorderLayout.SOUTH); + } + }); + tb.add(reload); + return tb; } - + /** * The executable method to display the editable table. * @@ -259,26 +266,101 @@ public class HtmlDemo extends JPanel public void run() { HtmlDemo demo = new HtmlDemo(); - - JButton exit = new JButton("exit"); - exit.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent event) - { - System.exit(0); - } - }); - - demo.buttons.add(exit); - JFrame frame = new JFrame(); frame.getContentPane().add(demo); - frame.setSize(new Dimension(700, 480)); + frame.setSize(new Dimension(750, 480)); frame.setVisible(true); } }); } + /** + * Helper method to navigate to a new URL. + * + * @param u the new URL to navigate to + */ + void setPage(URL u) + { + try + { + url.setText(u.toString()); + html.setPage(u); + history.addLast(u); + } + catch (IOException ex) + { + // Do something more useful here. + ex.printStackTrace(); + } + } + + /** + * Submits a form when a FormSubmitEvent is received. The HTML API + * provides automatic form submit but when this is enabled we don't + * receive any notification and can't update our location field. + * + * @param ev the form submit event + */ + void submitForm(FormSubmitEvent ev) + { + URL url = ev.getURL(); + String data = ev.getData(); + FormSubmitEvent.MethodType method = ev.getMethod(); + if (method == FormSubmitEvent.MethodType.POST) + { + try + { + URLConnection conn = url.openConnection(); + postData(conn, data); + } + catch (IOException ex) + { + // Deal with this. + ex.printStackTrace(); + } + } + else + { + try + { + url = new URL(url.toString() + "?" + data); + } + catch (MalformedURLException ex) + { + ex.printStackTrace(); + } + } + setPage(url); + } + + /** + * Posts the form data for forms with HTTP POST method. + * + * @param conn the connection + * @param data the form data + */ + private void postData(URLConnection conn, String data) + { + conn.setDoOutput(true); + PrintWriter out = null; + try + { + out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream())); + out.print(data); + out.flush(); + } + catch (IOException ex) + { + // Deal with this! + ex.printStackTrace(); + } + finally + { + if (out != null) + out.close(); + } + } + /** * Returns a DemoFactory that creates a HtmlDemo. * diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/TabbedPaneDemo.java b/libjava/classpath/examples/gnu/classpath/examples/swing/TabbedPaneDemo.java index 527fe455e4b..bd0e6bf15b6 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/TabbedPaneDemo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/TabbedPaneDemo.java @@ -39,15 +39,24 @@ exception statement from your version. */ package gnu.classpath.examples.swing; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuItem; import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JScrollPane; import javax.swing.JTabbedPane; +import javax.swing.JTextArea; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; @@ -55,6 +64,10 @@ public class TabbedPaneDemo extends JPanel implements ActionListener { + static Color[] colors = { Color.BLUE, Color.CYAN, Color.GRAY, Color.GREEN, + Color.MAGENTA, Color.ORANGE, Color.PINK, + Color.ORANGE, Color.RED, Color.BLUE, Color.YELLOW + }; TabbedPaneDemo() { super(); @@ -64,25 +77,123 @@ public class TabbedPaneDemo private void createContent() { JPanel p = new JPanel(); - p.setLayout(new GridLayout(2, 2)); - JTabbedPane tabs1 = new JTabbedPane(SwingConstants.TOP); - tabs1.add("Top Item 1", new JButton("Content: Top Item 1")); - tabs1.add("Top Item 2", new JButton("Content: Top Item 2")); - JTabbedPane tabs2 = new JTabbedPane(SwingConstants.LEFT); - tabs2.add("Left Item 1", new JButton("Content: Left Item 1")); - tabs2.add("Left Item 2", new JButton("Content: Left Item 2")); - JTabbedPane tabs3 = new JTabbedPane(SwingConstants.BOTTOM); - tabs3.add("Bottom Item 1", new JButton("Content: Bottom Item 1")); - tabs3.add("Bottom Item 2", new JButton("Content: Bottom Item 2")); - JTabbedPane tabs4 = new JTabbedPane(SwingConstants.RIGHT); - tabs4.add("Right Item 1", new JButton("Content: Right Item 1")); - tabs4.add("Right Item 2", new JButton("Content: Right Item 2")); - p.add(tabs1); - p.add(tabs2); - p.add(tabs3); - p.add(tabs4); + p.setLayout(new GridLayout(1, 1)); + + int COUNT = 25; + JTabbedPane tp = createTabbedPane(SwingConstants.TOP, "tab", COUNT); + p.add(tp); + + final JPopupMenu popup = new JPopupMenu(); + + JMenu menu = new JMenu("tab placement"); + menu.add(createPlacementChangingMenuItem("top", + SwingConstants.TOP, + tp)); + + menu.add(createPlacementChangingMenuItem("bottom", + SwingConstants.BOTTOM, + tp)); + + menu.add(createPlacementChangingMenuItem("left", + SwingConstants.LEFT, + tp)); + + menu.add(createPlacementChangingMenuItem("right", + SwingConstants.RIGHT, + tp)); + popup.add(menu); + + menu = new JMenu("tab layout"); + menu.add(createLayoutPolicyChangingMenuItem("wrapping tabs", + JTabbedPane.WRAP_TAB_LAYOUT, + tp)); + + menu.add(createLayoutPolicyChangingMenuItem("scrolling tabs", + JTabbedPane.SCROLL_TAB_LAYOUT, + tp)); + popup.add(menu); + + tp.addMouseListener(new MouseAdapter() + { + public void mousePressed(MouseEvent e) { + showPopup(e); + } + + public void mouseReleased(MouseEvent e) { + showPopup(e); + } + + void showPopup(MouseEvent e) { + if (e.isPopupTrigger()) { + popup.show(e.getComponent(), e.getX(), e.getY()); + } + } + }); + setLayout(new BorderLayout()); add(p, BorderLayout.CENTER); + + } + + private JMenuItem createPlacementChangingMenuItem(String t, + final int v, + final JTabbedPane dst) + { + JMenuItem item = new JMenuItem(t); + + item.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent ae) + { + dst.setTabPlacement(v); + } + }); + + return item; + } + + private JMenuItem createLayoutPolicyChangingMenuItem(String t, + final int v, + final JTabbedPane dst) + { + JMenuItem item = new JMenuItem(t); + + item.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent ae) + { + dst.setTabLayoutPolicy(v); + } + }); + + return item; + } + + private JTabbedPane createTabbedPane(int direction, String name, int count) + { + JTabbedPane pane = new JTabbedPane(direction); + + for(int i = 0; i< count; i++) + { + pane.addTab(name + " " + i, createTabContent(name + " " + i)); + if (Math.random() >= 0.75) + pane.setEnabledAt(i, false); + } + + return pane; + } + + private JPanel createTabContent(String name) + { + JTextArea ta; + JPanel panel = new JPanel(); + panel.add(new JLabel(name)); + panel.add(new JButton(name)); + panel.add(new JScrollPane(ta = new JTextArea(5, 5))); + + ta.setBackground(colors[(int) (Math.random() * colors.length)]); + + return panel; } public void actionPerformed(ActionEvent e) diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/TreeDemo.java b/libjava/classpath/examples/gnu/classpath/examples/swing/TreeDemo.java index 32f765f73bb..8da37507152 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/TreeDemo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/TreeDemo.java @@ -39,17 +39,17 @@ exception statement from your version. */ package gnu.classpath.examples.swing; import java.awt.BorderLayout; -import java.awt.JobAttributes.DefaultSelectionType; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import javax.swing.DebugGraphics; +import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.SwingUtilities; @@ -59,7 +59,6 @@ import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreePath; -import javax.swing.tree.TreeSelectionModel; public class TreeDemo extends JPanel @@ -222,11 +221,39 @@ public class TreeDemo p2.add(add); p2.add(cbSingle); p2.add(cbRoot); - + tree.getSelectionModel(). setSelectionMode(DefaultTreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION); + // Panel for selecting line style. + ActionListener l = new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + JRadioButton b = (JRadioButton) e.getSource(); + tree.putClientProperty("JTree.lineStyle", b.getText()); + tree.repaint(); + } + }; + JPanel lineStylePanel = new JPanel(); + ButtonGroup buttons = new ButtonGroup(); + lineStylePanel.add(new JLabel("Line style: ")); + JRadioButton none = new JRadioButton("None"); + lineStylePanel.add(none); + buttons.add(none); + none.addActionListener(l); + JRadioButton angled = new JRadioButton("Angled"); + lineStylePanel.add(angled); + buttons.add(angled); + angled.addActionListener(l); + JRadioButton horizontal = new JRadioButton("Horizontal"); + lineStylePanel.add(horizontal); + buttons.add(horizontal); + horizontal.addActionListener(l); + p2.add(lineStylePanel); + add(p2, BorderLayout.NORTH); + add(new JScrollPane(tree), BorderLayout.CENTER); add(choice, BorderLayout.SOUTH); } diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/forms.html b/libjava/classpath/examples/gnu/classpath/examples/swing/forms.html new file mode 100644 index 00000000000..010a94c9360 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/forms.html @@ -0,0 +1,98 @@ + + + + + + HTML text styles + + +

+ Back to start page +

Some form elements

+

Textarea

+ + +

Input fields

+

+ + +

+ +

Buttons

+

+ + + +

+ +

Checkboxes and Radiobuttons

+

+ Check this! + Or this +

+

+ A radio button + Another radio +

+

Select lists and combo boxes

+

+ +

+

+ +

+
+ + \ No newline at end of file diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/frame1.html b/libjava/classpath/examples/gnu/classpath/examples/swing/frame1.html new file mode 100644 index 00000000000..b9150592fa7 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/frame1.html @@ -0,0 +1,41 @@ + + + +

Top Left Frame

+ + diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/frame2.html b/libjava/classpath/examples/gnu/classpath/examples/swing/frame2.html new file mode 100644 index 00000000000..9dbf33c5a0b --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/frame2.html @@ -0,0 +1,42 @@ + + + +

Top Right + Frame

+ + diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/frame3.html b/libjava/classpath/examples/gnu/classpath/examples/swing/frame3.html new file mode 100644 index 00000000000..e677bd6a100 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/frame3.html @@ -0,0 +1,42 @@ + + + +

Bottom Left Frame

+ + + diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/frame4.html b/libjava/classpath/examples/gnu/classpath/examples/swing/frame4.html new file mode 100644 index 00000000000..1da53b1017b --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/frame4.html @@ -0,0 +1,41 @@ + + + +

Bottom Left Frame

+ + diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/frames.html b/libjava/classpath/examples/gnu/classpath/examples/swing/frames.html new file mode 100644 index 00000000000..e7e2bf87c95 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/frames.html @@ -0,0 +1,44 @@ + + + + + + + + + \ No newline at end of file diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/tables.html b/libjava/classpath/examples/gnu/classpath/examples/swing/tables.html new file mode 100644 index 00000000000..af908e1ab23 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/tables.html @@ -0,0 +1,66 @@ + + + + + + HTML text styles + + +

Table examples

+

Table with grid and mixed rowspan/colspan

+ + + + + + + + + + + + + + + + + + + +
Spans two columnsSpans three rows
Spans two rowsThis is the center
This should be in the middle of row number 3
A small one cell boxSpans two x two cells
Another small one cell box
+ diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/textstyles.html b/libjava/classpath/examples/gnu/classpath/examples/swing/textstyles.html new file mode 100644 index 00000000000..786e18b77b8 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/textstyles.html @@ -0,0 +1,78 @@ + + + + + + HTML text styles + + + Back to start page +

Colors

+

The following are the 16 named colors in HTML. Of course you can also + use all RGB colors by specifying a value in the #RRGGBB + notation.

+

+ Black, Gray, + Maroon, Red, + Green, Lime, + Olive, Yellow, + Navy, Blue, + Purple, Fuchsia, + Teal, Aqua, + Silver, White

+

Font styles

+

The following lists the logical and physical font styles that can be set + by certain HTML tags

+

+ +

Address
, Bold, Big, + Citation, Code, Deleted, + Emphasized, Italic, Inserted, Quote, + Stroke-Through, Example, Small, + Strike, Strong, Subscript, + Superscript, Underlined, Variable +

+

Header Level 1

+

Header Level 2

+

Header Level 3

+

Header Level 4

+
Header Level 5
+
Header Level 6
+
Some centered Text
+ + \ No newline at end of file diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/welcome.html b/libjava/classpath/examples/gnu/classpath/examples/swing/welcome.html new file mode 100644 index 00000000000..8bc987494c1 --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/welcome.html @@ -0,0 +1,63 @@ + + + + + GNU Classpath HTML Browser + + + +

Welcome to GNU Classpath

+

A couple of websites that you might want to try out

+ + +

Testpages

+

These few pages are here to demonstrate and test the HTML rendering + capabilities of GNU Classpath's Swing.

+ + + \ No newline at end of file diff --git a/libjava/classpath/external/.cvsignore b/libjava/classpath/external/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/external/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/external/Makefile.am b/libjava/classpath/external/Makefile.am index 7f62733739e..2eeef805ad3 100644 --- a/libjava/classpath/external/Makefile.am +++ b/libjava/classpath/external/Makefile.am @@ -1,5 +1,5 @@ ## Input file for automake to generate the Makefile.in used by configure -SUBDIRS = sax w3c_dom relaxngDatatype +SUBDIRS = sax w3c_dom relaxngDatatype jsr166 EXTRA_DIST = README diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in index ffc37bb6f1f..4cf0f43bc8f 100644 --- a/libjava/classpath/external/Makefile.in +++ b/libjava/classpath/external/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -166,6 +168,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -287,9 +291,8 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -SUBDIRS = sax w3c_dom relaxngDatatype +SUBDIRS = sax w3c_dom relaxngDatatype jsr166 EXTRA_DIST = README all: all-recursive diff --git a/libjava/classpath/external/jsr166/.cvsignore b/libjava/classpath/external/jsr166/.cvsignore new file mode 100644 index 00000000000..70845e08eb0 --- /dev/null +++ b/libjava/classpath/external/jsr166/.cvsignore @@ -0,0 +1 @@ +Makefile.in diff --git a/libjava/classpath/external/jsr166/IMPORTING b/libjava/classpath/external/jsr166/IMPORTING new file mode 100644 index 00000000000..30bf3f47450 --- /dev/null +++ b/libjava/classpath/external/jsr166/IMPORTING @@ -0,0 +1,31 @@ +The code in this directory comes from the JSR 166 +reference implementation. The RI consists of a public +domain part and a part that is copyright Sun. We remove +the copyrighted code prior to import so as not to taint +our source repository. + +To do a new import: + +* Download the RI from the source repository. + http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java + I clicked on the "download tarball" link. + +* Unpack the tarball in a fresh directory. + mkdir tmp; cd tmp; tar zxvvf .../java.tar.gz + +* Clean up the results. + .../classpath/scripts/sanitize-jsr166 + +* Import these using 'cvs import' into the appropriate subdirectory. + The vendor branch name is 'JSR166'. + +* Merge the vendor branch onto the branch you're using (currently + the generics branch, but eventually it will be the trunk). + +* Build the result. + +* When it works, check it in. + +In general we try to avoid divergence from upstream as much +as possible. You may need to write new classes or methods in +order for the build to succeed. diff --git a/libjava/classpath/external/jsr166/Makefile.am b/libjava/classpath/external/jsr166/Makefile.am new file mode 100644 index 00000000000..fa2db2ebfd3 --- /dev/null +++ b/libjava/classpath/external/jsr166/Makefile.am @@ -0,0 +1,74 @@ +## Input file for automake to generate the Makefile.in used by configure + +EXTRA_DIST = IMPORTING \ +readme \ +java/util/AbstractQueue.java \ +java/util/concurrent/ScheduledThreadPoolExecutor.java \ +java/util/concurrent/ExecutorCompletionService.java \ +java/util/concurrent/LinkedBlockingQueue.java \ +java/util/concurrent/BlockingDeque.java \ +java/util/concurrent/Delayed.java \ +java/util/concurrent/ThreadFactory.java \ +java/util/concurrent/ArrayBlockingQueue.java \ +java/util/concurrent/RunnableFuture.java \ +java/util/concurrent/LinkedBlockingDeque.java \ +java/util/concurrent/CopyOnWriteArraySet.java \ +java/util/concurrent/DelayQueue.java \ +java/util/concurrent/SynchronousQueue.java \ +java/util/concurrent/Executor.java \ +java/util/concurrent/ExecutionException.java \ +java/util/concurrent/Semaphore.java \ +java/util/concurrent/BrokenBarrierException.java \ +java/util/concurrent/CompletionService.java \ +java/util/concurrent/CyclicBarrier.java \ +java/util/concurrent/AbstractExecutorService.java \ +java/util/concurrent/TimeoutException.java \ +java/util/concurrent/ConcurrentMap.java \ +java/util/concurrent/PriorityBlockingQueue.java \ +java/util/concurrent/CancellationException.java \ +java/util/concurrent/ConcurrentSkipListSet.java \ +java/util/concurrent/ConcurrentLinkedQueue.java \ +java/util/concurrent/RejectedExecutionHandler.java \ +java/util/concurrent/TimeUnit.java \ +java/util/concurrent/RejectedExecutionException.java \ +java/util/concurrent/ExecutorService.java \ +java/util/concurrent/ConcurrentHashMap.java \ +java/util/concurrent/ScheduledExecutorService.java \ +java/util/concurrent/ThreadPoolExecutor.java \ +java/util/concurrent/BlockingQueue.java \ +java/util/concurrent/ConcurrentSkipListMap.java \ +java/util/concurrent/ConcurrentNavigableMap.java \ +java/util/concurrent/Future.java \ +java/util/concurrent/FutureTask.java \ +java/util/concurrent/CountDownLatch.java \ +java/util/concurrent/RunnableScheduledFuture.java \ +java/util/concurrent/Callable.java \ +java/util/concurrent/locks/ReentrantLock.java \ +java/util/concurrent/locks/Lock.java \ +java/util/concurrent/locks/Condition.java \ +java/util/concurrent/locks/AbstractQueuedSynchronizer.java \ +java/util/concurrent/locks/AbstractOwnableSynchronizer.java \ +java/util/concurrent/locks/LockSupport.java \ +java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java \ +java/util/concurrent/locks/ReadWriteLock.java \ +java/util/concurrent/locks/ReentrantReadWriteLock.java \ +java/util/concurrent/Executors.java \ +java/util/concurrent/atomic/AtomicLongFieldUpdater.java \ +java/util/concurrent/atomic/AtomicLongArray.java \ +java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java \ +java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java \ +java/util/concurrent/atomic/AtomicBoolean.java \ +java/util/concurrent/atomic/AtomicReferenceArray.java \ +java/util/concurrent/atomic/AtomicStampedReference.java \ +java/util/concurrent/atomic/AtomicIntegerArray.java \ +java/util/concurrent/atomic/AtomicMarkableReference.java \ +java/util/concurrent/atomic/AtomicReference.java \ +java/util/concurrent/atomic/AtomicInteger.java \ +java/util/concurrent/atomic/AtomicLong.java \ +java/util/concurrent/ScheduledFuture.java \ +java/util/concurrent/Exchanger.java \ +java/util/Deque.java \ +java/util/NavigableMap.java \ +java/util/Queue.java \ +java/util/NavigableSet.java \ +java/util/ArrayDeque.java diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in new file mode 100644 index 00000000000..ccfca8788e5 --- /dev/null +++ b/libjava/classpath/external/jsr166/Makefile.in @@ -0,0 +1,522 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +subdir = external/jsr166 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ + $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ + $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ +BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@ +CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@ +CLASSPATH_MODULE = @CLASSPATH_MODULE@ +COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@ +CP = @CP@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@ +CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@ +CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@ +CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@ +CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@ +CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@ +CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@ +CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@ +CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@ +CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@ +CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@ +CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@ +CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@ +CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@ +CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@ +CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@ +CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@ +CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@ +CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@ +CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@ +CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@ +CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@ +CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@ +CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@ +CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@ +CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ +DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECJ = @ECJ@ +EGREP = @EGREP@ +ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ +ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@ +ERROR_CFLAGS = @ERROR_CFLAGS@ +EXAMPLESDIR = @EXAMPLESDIR@ +EXEEXT = @EXEEXT@ +FASTJAR = @FASTJAR@ +FIND = @FIND@ +FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ +FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ +FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ +FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ +FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ +FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ +FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ +FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ +FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ +FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ +FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ +FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ +FREETYPE2_LIBS = @FREETYPE2_LIBS@ +GCJ = @GCJ@ +GCJX = @GCJX@ +GCONF_CFLAGS = @GCONF_CFLAGS@ +GCONF_LIBS = @GCONF_LIBS@ +GDK_CFLAGS = @GDK_CFLAGS@ +GDK_LIBS = @GDK_LIBS@ +GJDOC = @GJDOC@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_LIBS = @GLIB_LIBS@ +GTK_CFLAGS = @GTK_CFLAGS@ +GTK_LIBS = @GTK_LIBS@ +INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ +INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@ +INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@ +INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ +JAY = @JAY@ +JAY_SKELETON = @JAY_SKELETON@ +JIKES = @JIKES@ +JIKESENCODING = @JIKESENCODING@ +JIKESWARNINGS = @JIKESWARNINGS@ +KJC = @KJC@ +LDFLAGS = @LDFLAGS@ +LIBDEBUG = @LIBDEBUG@ +LIBICONV = @LIBICONV@ +LIBMAGIC = @LIBMAGIC@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBVERSION = @LIBVERSION@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKDIR = @MKDIR@ +MOC = @MOC@ +MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ +MOZILLA_LIBS = @MOZILLA_LIBS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PATH_TO_ESCHER = @PATH_TO_ESCHER@ +PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PLUGIN_DIR = @PLUGIN_DIR@ +QT_CFLAGS = @QT_CFLAGS@ +QT_LIBS = @QT_LIBS@ +RANLIB = @RANLIB@ +REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ +REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ +REMOVE = @REMOVE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ +STRIP = @STRIP@ +USER_CLASSLIB = @USER_CLASSLIB@ +USER_JAVAH = @USER_JAVAH@ +USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ +USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ +USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@ +USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@ +USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ +USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ +USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ +USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@ +VERSION = @VERSION@ +VM_BINARY = @VM_BINARY@ +WARNING_CFLAGS = @WARNING_CFLAGS@ +XML_CFLAGS = @XML_CFLAGS@ +XML_LIBS = @XML_LIBS@ +XSLT_CFLAGS = @XSLT_CFLAGS@ +XSLT_LIBS = @XSLT_LIBS@ +XTEST_LIBS = @XTEST_LIBS@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +ZIP = @ZIP@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +default_toolkit = @default_toolkit@ +exec_prefix = @exec_prefix@ +glibjdir = @glibjdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +nativeexeclibdir = @nativeexeclibdir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +vm_classes = @vm_classes@ +EXTRA_DIST = IMPORTING \ +readme \ +java/util/AbstractQueue.java \ +java/util/concurrent/ScheduledThreadPoolExecutor.java \ +java/util/concurrent/ExecutorCompletionService.java \ +java/util/concurrent/LinkedBlockingQueue.java \ +java/util/concurrent/BlockingDeque.java \ +java/util/concurrent/Delayed.java \ +java/util/concurrent/ThreadFactory.java \ +java/util/concurrent/ArrayBlockingQueue.java \ +java/util/concurrent/RunnableFuture.java \ +java/util/concurrent/LinkedBlockingDeque.java \ +java/util/concurrent/CopyOnWriteArraySet.java \ +java/util/concurrent/DelayQueue.java \ +java/util/concurrent/SynchronousQueue.java \ +java/util/concurrent/Executor.java \ +java/util/concurrent/ExecutionException.java \ +java/util/concurrent/Semaphore.java \ +java/util/concurrent/BrokenBarrierException.java \ +java/util/concurrent/CompletionService.java \ +java/util/concurrent/CyclicBarrier.java \ +java/util/concurrent/AbstractExecutorService.java \ +java/util/concurrent/TimeoutException.java \ +java/util/concurrent/ConcurrentMap.java \ +java/util/concurrent/PriorityBlockingQueue.java \ +java/util/concurrent/CancellationException.java \ +java/util/concurrent/ConcurrentSkipListSet.java \ +java/util/concurrent/ConcurrentLinkedQueue.java \ +java/util/concurrent/RejectedExecutionHandler.java \ +java/util/concurrent/TimeUnit.java \ +java/util/concurrent/RejectedExecutionException.java \ +java/util/concurrent/ExecutorService.java \ +java/util/concurrent/ConcurrentHashMap.java \ +java/util/concurrent/ScheduledExecutorService.java \ +java/util/concurrent/ThreadPoolExecutor.java \ +java/util/concurrent/BlockingQueue.java \ +java/util/concurrent/ConcurrentSkipListMap.java \ +java/util/concurrent/ConcurrentNavigableMap.java \ +java/util/concurrent/Future.java \ +java/util/concurrent/FutureTask.java \ +java/util/concurrent/CountDownLatch.java \ +java/util/concurrent/RunnableScheduledFuture.java \ +java/util/concurrent/Callable.java \ +java/util/concurrent/locks/ReentrantLock.java \ +java/util/concurrent/locks/Lock.java \ +java/util/concurrent/locks/Condition.java \ +java/util/concurrent/locks/AbstractQueuedSynchronizer.java \ +java/util/concurrent/locks/AbstractOwnableSynchronizer.java \ +java/util/concurrent/locks/LockSupport.java \ +java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java \ +java/util/concurrent/locks/ReadWriteLock.java \ +java/util/concurrent/locks/ReentrantReadWriteLock.java \ +java/util/concurrent/Executors.java \ +java/util/concurrent/atomic/AtomicLongFieldUpdater.java \ +java/util/concurrent/atomic/AtomicLongArray.java \ +java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java \ +java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java \ +java/util/concurrent/atomic/AtomicBoolean.java \ +java/util/concurrent/atomic/AtomicReferenceArray.java \ +java/util/concurrent/atomic/AtomicStampedReference.java \ +java/util/concurrent/atomic/AtomicIntegerArray.java \ +java/util/concurrent/atomic/AtomicMarkableReference.java \ +java/util/concurrent/atomic/AtomicReference.java \ +java/util/concurrent/atomic/AtomicInteger.java \ +java/util/concurrent/atomic/AtomicLong.java \ +java/util/concurrent/ScheduledFuture.java \ +java/util/concurrent/Exchanger.java \ +java/util/Deque.java \ +java/util/NavigableMap.java \ +java/util/Queue.java \ +java/util/NavigableSet.java \ +java/util/ArrayDeque.java + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu external/jsr166/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu external/jsr166/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/java/util $(distdir)/java/util/concurrent $(distdir)/java/util/concurrent/atomic $(distdir)/java/util/concurrent/locks + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libjava/classpath/external/jsr166/java/util/AbstractQueue.java b/libjava/classpath/external/jsr166/java/util/AbstractQueue.java new file mode 100644 index 00000000000..644df6c491d --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/AbstractQueue.java @@ -0,0 +1,166 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util; + +/** + * This class provides skeletal implementations of some {@link Queue} + * operations. The implementations in this class are appropriate when + * the base implementation does not allow null + * elements. Methods {@link #add add}, {@link #remove remove}, and + * {@link #element element} are based on {@link #offer offer}, {@link + * #poll poll}, and {@link #peek peek}, respectively but throw + * exceptions instead of indicating failure via false or + * null returns. + * + *

A Queue implementation that extends this class must + * minimally define a method {@link Queue#offer} which does not permit + * insertion of null elements, along with methods {@link + * Queue#peek}, {@link Queue#poll}, {@link Collection#size}, and a + * {@link Collection#iterator} supporting {@link + * Iterator#remove}. Typically, additional methods will be overridden + * as well. If these requirements cannot be met, consider instead + * subclassing {@link AbstractCollection}. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public abstract class AbstractQueue + extends AbstractCollection + implements Queue { + + /** + * Constructor for use by subclasses. + */ + protected AbstractQueue() { + } + + /** + * Inserts the specified element into this queue if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and throwing an IllegalStateException + * if no space is currently available. + * + *

This implementation returns true if offer succeeds, + * else throws an IllegalStateException. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null and + * this queue does not permit null elements + * @throws IllegalArgumentException if some property of this element + * prevents it from being added to this queue + */ + public boolean add(E e) { + if (offer(e)) + return true; + else + throw new IllegalStateException("Queue full"); + } + + /** + * Retrieves and removes the head of this queue. This method differs + * from {@link #poll poll} only in that it throws an exception if this + * queue is empty. + * + *

This implementation returns the result of poll + * unless the queue is empty. + * + * @return the head of this queue + * @throws NoSuchElementException if this queue is empty + */ + public E remove() { + E x = poll(); + if (x != null) + return x; + else + throw new NoSuchElementException(); + } + + /** + * Retrieves, but does not remove, the head of this queue. This method + * differs from {@link #peek peek} only in that it throws an exception if + * this queue is empty. + * + *

This implementation returns the result of peek + * unless the queue is empty. + * + * @return the head of this queue + * @throws NoSuchElementException if this queue is empty + */ + public E element() { + E x = peek(); + if (x != null) + return x; + else + throw new NoSuchElementException(); + } + + /** + * Removes all of the elements from this queue. + * The queue will be empty after this call returns. + * + *

This implementation repeatedly invokes {@link #poll poll} until it + * returns null. + */ + public void clear() { + while (poll() != null) + ; + } + + /** + * Adds all of the elements in the specified collection to this + * queue. Attempts to addAll of a queue to itself result in + * IllegalArgumentException. Further, the behavior of + * this operation is undefined if the specified collection is + * modified while the operation is in progress. + * + *

This implementation iterates over the specified collection, + * and adds each element returned by the iterator to this + * queue, in turn. A runtime exception encountered while + * trying to add an element (including, in particular, a + * null element) may result in only some of the elements + * having been successfully added when the associated exception is + * thrown. + * + * @param c collection containing elements to be added to this queue + * @return true if this queue changed as a result of the call + * @throws ClassCastException if the class of an element of the specified + * collection prevents it from being added to this queue + * @throws NullPointerException if the specified collection contains a + * null element and this queue does not permit null elements, + * or if the specified collection is null + * @throws IllegalArgumentException if some property of an element of the + * specified collection prevents it from being added to this + * queue, or if the specified collection is this queue + * @throws IllegalStateException if not all the elements can be added at + * this time due to insertion restrictions + * @see #add(Object) + */ + public boolean addAll(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + boolean modified = false; + Iterator e = c.iterator(); + while (e.hasNext()) { + if (add(e.next())) + modified = true; + } + return modified; + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/ArrayDeque.java b/libjava/classpath/external/jsr166/java/util/ArrayDeque.java new file mode 100644 index 00000000000..c0ee16ea7b3 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/ArrayDeque.java @@ -0,0 +1,839 @@ +/* + * Written by Josh Bloch of Google Inc. and released to the public domain, + * as explained at http://creativecommons.org/licenses/publicdomain. + */ + +package java.util; +import java.io.*; + +/** + * Resizable-array implementation of the {@link Deque} interface. Array + * deques have no capacity restrictions; they grow as necessary to support + * usage. They are not thread-safe; in the absence of external + * synchronization, they do not support concurrent access by multiple threads. + * Null elements are prohibited. This class is likely to be faster than + * {@link Stack} when used as a stack, and faster than {@link LinkedList} + * when used as a queue. + * + *

Most ArrayDeque operations run in amortized constant time. + * Exceptions include {@link #remove(Object) remove}, {@link + * #removeFirstOccurrence removeFirstOccurrence}, {@link #removeLastOccurrence + * removeLastOccurrence}, {@link #contains contains}, {@link #iterator + * iterator.remove()}, and the bulk operations, all of which run in linear + * time. + * + *

The iterators returned by this class's iterator method are + * fail-fast: If the deque is modified at any time after the iterator + * is created, in any way except through the iterator's own remove + * method, the iterator will generally throw a {@link + * ConcurrentModificationException}. Thus, in the face of concurrent + * modification, the iterator fails quickly and cleanly, rather than risking + * arbitrary, non-deterministic behavior at an undetermined time in the + * future. + * + *

Note that the fail-fast behavior of an iterator cannot be guaranteed + * as it is, generally speaking, impossible to make any hard guarantees in the + * presence of unsynchronized concurrent modification. Fail-fast iterators + * throw ConcurrentModificationException on a best-effort basis. + * Therefore, it would be wrong to write a program that depended on this + * exception for its correctness: the fail-fast behavior of iterators + * should be used only to detect bugs. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @author Josh Bloch and Doug Lea + * @since 1.6 + * @param the type of elements held in this collection + */ +public class ArrayDeque extends AbstractCollection + implements Deque, Cloneable, Serializable +{ + /** + * The array in which the elements of the deque are stored. + * The capacity of the deque is the length of this array, which is + * always a power of two. The array is never allowed to become + * full, except transiently within an addX method where it is + * resized (see doubleCapacity) immediately upon becoming full, + * thus avoiding head and tail wrapping around to equal each + * other. We also guarantee that all array cells not holding + * deque elements are always null. + */ + private transient E[] elements; + + /** + * The index of the element at the head of the deque (which is the + * element that would be removed by remove() or pop()); or an + * arbitrary number equal to tail if the deque is empty. + */ + private transient int head; + + /** + * The index at which the next element would be added to the tail + * of the deque (via addLast(E), add(E), or push(E)). + */ + private transient int tail; + + /** + * The minimum capacity that we'll use for a newly created deque. + * Must be a power of 2. + */ + private static final int MIN_INITIAL_CAPACITY = 8; + + // ****** Array allocation and resizing utilities ****** + + /** + * Allocate empty array to hold the given number of elements. + * + * @param numElements the number of elements to hold + */ + private void allocateElements(int numElements) { + int initialCapacity = MIN_INITIAL_CAPACITY; + // Find the best power of two to hold elements. + // Tests "<=" because arrays aren't kept full. + if (numElements >= initialCapacity) { + initialCapacity = numElements; + initialCapacity |= (initialCapacity >>> 1); + initialCapacity |= (initialCapacity >>> 2); + initialCapacity |= (initialCapacity >>> 4); + initialCapacity |= (initialCapacity >>> 8); + initialCapacity |= (initialCapacity >>> 16); + initialCapacity++; + + if (initialCapacity < 0) // Too many elements, must back off + initialCapacity >>>= 1;// Good luck allocating 2 ^ 30 elements + } + elements = (E[]) new Object[initialCapacity]; + } + + /** + * Double the capacity of this deque. Call only when full, i.e., + * when head and tail have wrapped around to become equal. + */ + private void doubleCapacity() { + assert head == tail; + int p = head; + int n = elements.length; + int r = n - p; // number of elements to the right of p + int newCapacity = n << 1; + if (newCapacity < 0) + throw new IllegalStateException("Sorry, deque too big"); + Object[] a = new Object[newCapacity]; + System.arraycopy(elements, p, a, 0, r); + System.arraycopy(elements, 0, a, r, p); + elements = (E[])a; + head = 0; + tail = n; + } + + /** + * Copies the elements from our element array into the specified array, + * in order (from first to last element in the deque). It is assumed + * that the array is large enough to hold all elements in the deque. + * + * @return its argument + */ + private T[] copyElements(T[] a) { + if (head < tail) { + System.arraycopy(elements, head, a, 0, size()); + } else if (head > tail) { + int headPortionLen = elements.length - head; + System.arraycopy(elements, head, a, 0, headPortionLen); + System.arraycopy(elements, 0, a, headPortionLen, tail); + } + return a; + } + + /** + * Constructs an empty array deque with an initial capacity + * sufficient to hold 16 elements. + */ + public ArrayDeque() { + elements = (E[]) new Object[16]; + } + + /** + * Constructs an empty array deque with an initial capacity + * sufficient to hold the specified number of elements. + * + * @param numElements lower bound on initial capacity of the deque + */ + public ArrayDeque(int numElements) { + allocateElements(numElements); + } + + /** + * Constructs a deque containing the elements of the specified + * collection, in the order they are returned by the collection's + * iterator. (The first element returned by the collection's + * iterator becomes the first element, or front of the + * deque.) + * + * @param c the collection whose elements are to be placed into the deque + * @throws NullPointerException if the specified collection is null + */ + public ArrayDeque(Collection c) { + allocateElements(c.size()); + addAll(c); + } + + // The main insertion and extraction methods are addFirst, + // addLast, pollFirst, pollLast. The other methods are defined in + // terms of these. + + /** + * Inserts the specified element at the front of this deque. + * + * @param e the element to add + * @throws NullPointerException if the specified element is null + */ + public void addFirst(E e) { + if (e == null) + throw new NullPointerException(); + elements[head = (head - 1) & (elements.length - 1)] = e; + if (head == tail) + doubleCapacity(); + } + + /** + * Inserts the specified element at the end of this deque. + * + *

This method is equivalent to {@link #add}. + * + * @param e the element to add + * @throws NullPointerException if the specified element is null + */ + public void addLast(E e) { + if (e == null) + throw new NullPointerException(); + elements[tail] = e; + if ( (tail = (tail + 1) & (elements.length - 1)) == head) + doubleCapacity(); + } + + /** + * Inserts the specified element at the front of this deque. + * + * @param e the element to add + * @return true (as specified by {@link Deque#offerFirst}) + * @throws NullPointerException if the specified element is null + */ + public boolean offerFirst(E e) { + addFirst(e); + return true; + } + + /** + * Inserts the specified element at the end of this deque. + * + * @param e the element to add + * @return true (as specified by {@link Deque#offerLast}) + * @throws NullPointerException if the specified element is null + */ + public boolean offerLast(E e) { + addLast(e); + return true; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E removeFirst() { + E x = pollFirst(); + if (x == null) + throw new NoSuchElementException(); + return x; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E removeLast() { + E x = pollLast(); + if (x == null) + throw new NoSuchElementException(); + return x; + } + + public E pollFirst() { + int h = head; + E result = elements[h]; // Element is null if deque empty + if (result == null) + return null; + elements[h] = null; // Must null out slot + head = (h + 1) & (elements.length - 1); + return result; + } + + public E pollLast() { + int t = (tail - 1) & (elements.length - 1); + E result = elements[t]; + if (result == null) + return null; + elements[t] = null; + tail = t; + return result; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E getFirst() { + E x = elements[head]; + if (x == null) + throw new NoSuchElementException(); + return x; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E getLast() { + E x = elements[(tail - 1) & (elements.length - 1)]; + if (x == null) + throw new NoSuchElementException(); + return x; + } + + public E peekFirst() { + return elements[head]; // elements[head] is null if deque empty + } + + public E peekLast() { + return elements[(tail - 1) & (elements.length - 1)]; + } + + /** + * Removes the first occurrence of the specified element in this + * deque (when traversing the deque from head to tail). + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + * @param o element to be removed from this deque, if present + * @return true if the deque contained the specified element + */ + public boolean removeFirstOccurrence(Object o) { + if (o == null) + return false; + int mask = elements.length - 1; + int i = head; + E x; + while ( (x = elements[i]) != null) { + if (o.equals(x)) { + delete(i); + return true; + } + i = (i + 1) & mask; + } + return false; + } + + /** + * Removes the last occurrence of the specified element in this + * deque (when traversing the deque from head to tail). + * If the deque does not contain the element, it is unchanged. + * More formally, removes the last element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + * @param o element to be removed from this deque, if present + * @return true if the deque contained the specified element + */ + public boolean removeLastOccurrence(Object o) { + if (o == null) + return false; + int mask = elements.length - 1; + int i = (tail - 1) & mask; + E x; + while ( (x = elements[i]) != null) { + if (o.equals(x)) { + delete(i); + return true; + } + i = (i - 1) & mask; + } + return false; + } + + // *** Queue methods *** + + /** + * Inserts the specified element at the end of this deque. + * + *

This method is equivalent to {@link #addLast}. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + addLast(e); + return true; + } + + /** + * Inserts the specified element at the end of this deque. + * + *

This method is equivalent to {@link #offerLast}. + * + * @param e the element to add + * @return true (as specified by {@link Queue#offer}) + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + return offerLast(e); + } + + /** + * Retrieves and removes the head of the queue represented by this deque. + * + * This method differs from {@link #poll poll} only in that it throws an + * exception if this deque is empty. + * + *

This method is equivalent to {@link #removeFirst}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException {@inheritDoc} + */ + public E remove() { + return removeFirst(); + } + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque), or returns + * null if this deque is empty. + * + *

This method is equivalent to {@link #pollFirst}. + * + * @return the head of the queue represented by this deque, or + * null if this deque is empty + */ + public E poll() { + return pollFirst(); + } + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque. This method differs from {@link #peek peek} only in + * that it throws an exception if this deque is empty. + * + *

This method is equivalent to {@link #getFirst}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException {@inheritDoc} + */ + public E element() { + return getFirst(); + } + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque, or returns null if this deque is empty. + * + *

This method is equivalent to {@link #peekFirst}. + * + * @return the head of the queue represented by this deque, or + * null if this deque is empty + */ + public E peek() { + return peekFirst(); + } + + // *** Stack methods *** + + /** + * Pushes an element onto the stack represented by this deque. In other + * words, inserts the element at the front of this deque. + * + *

This method is equivalent to {@link #addFirst}. + * + * @param e the element to push + * @throws NullPointerException if the specified element is null + */ + public void push(E e) { + addFirst(e); + } + + /** + * Pops an element from the stack represented by this deque. In other + * words, removes and returns the first element of this deque. + * + *

This method is equivalent to {@link #removeFirst()}. + * + * @return the element at the front of this deque (which is the top + * of the stack represented by this deque) + * @throws NoSuchElementException {@inheritDoc} + */ + public E pop() { + return removeFirst(); + } + + private void checkInvariants() { + assert elements[tail] == null; + assert head == tail ? elements[head] == null : + (elements[head] != null && + elements[(tail - 1) & (elements.length - 1)] != null); + assert elements[(head - 1) & (elements.length - 1)] == null; + } + + /** + * Removes the element at the specified position in the elements array, + * adjusting head and tail as necessary. This can result in motion of + * elements backwards or forwards in the array. + * + *

This method is called delete rather than remove to emphasize + * that its semantics differ from those of {@link List#remove(int)}. + * + * @return true if elements moved backwards + */ + private boolean delete(int i) { + checkInvariants(); + final E[] elements = this.elements; + final int mask = elements.length - 1; + final int h = head; + final int t = tail; + final int front = (i - h) & mask; + final int back = (t - i) & mask; + + // Invariant: head <= i < tail mod circularity + if (front >= ((t - h) & mask)) + throw new ConcurrentModificationException(); + + // Optimize for least element motion + if (front < back) { + if (h <= i) { + System.arraycopy(elements, h, elements, h + 1, front); + } else { // Wrap around + System.arraycopy(elements, 0, elements, 1, i); + elements[0] = elements[mask]; + System.arraycopy(elements, h, elements, h + 1, mask - h); + } + elements[h] = null; + head = (h + 1) & mask; + return false; + } else { + if (i < t) { // Copy the null tail as well + System.arraycopy(elements, i + 1, elements, i, back); + tail = t - 1; + } else { // Wrap around + System.arraycopy(elements, i + 1, elements, i, mask - i); + elements[mask] = elements[0]; + System.arraycopy(elements, 1, elements, 0, t); + tail = (t - 1) & mask; + } + return true; + } + } + + // *** Collection Methods *** + + /** + * Returns the number of elements in this deque. + * + * @return the number of elements in this deque + */ + public int size() { + return (tail - head) & (elements.length - 1); + } + + /** + * Returns true if this deque contains no elements. + * + * @return true if this deque contains no elements + */ + public boolean isEmpty() { + return head == tail; + } + + /** + * Returns an iterator over the elements in this deque. The elements + * will be ordered from first (head) to last (tail). This is the same + * order that elements would be dequeued (via successive calls to + * {@link #remove} or popped (via successive calls to {@link #pop}). + * + * @return an iterator over the elements in this deque + */ + public Iterator iterator() { + return new DeqIterator(); + } + + public Iterator descendingIterator() { + return new DescendingIterator(); + } + + private class DeqIterator implements Iterator { + /** + * Index of element to be returned by subsequent call to next. + */ + private int cursor = head; + + /** + * Tail recorded at construction (also in remove), to stop + * iterator and also to check for comodification. + */ + private int fence = tail; + + /** + * Index of element returned by most recent call to next. + * Reset to -1 if element is deleted by a call to remove. + */ + private int lastRet = -1; + + public boolean hasNext() { + return cursor != fence; + } + + public E next() { + if (cursor == fence) + throw new NoSuchElementException(); + E result = elements[cursor]; + // This check doesn't catch all possible comodifications, + // but does catch the ones that corrupt traversal + if (tail != fence || result == null) + throw new ConcurrentModificationException(); + lastRet = cursor; + cursor = (cursor + 1) & (elements.length - 1); + return result; + } + + public void remove() { + if (lastRet < 0) + throw new IllegalStateException(); + if (delete(lastRet)) { // if left-shifted, undo increment in next() + cursor = (cursor - 1) & (elements.length - 1); + fence = tail; + } + lastRet = -1; + } + } + + private class DescendingIterator implements Iterator { + /* + * This class is nearly a mirror-image of DeqIterator, using + * tail instead of head for initial cursor, and head instead of + * tail for fence. + */ + private int cursor = tail; + private int fence = head; + private int lastRet = -1; + + public boolean hasNext() { + return cursor != fence; + } + + public E next() { + if (cursor == fence) + throw new NoSuchElementException(); + cursor = (cursor - 1) & (elements.length - 1); + E result = elements[cursor]; + if (head != fence || result == null) + throw new ConcurrentModificationException(); + lastRet = cursor; + return result; + } + + public void remove() { + if (lastRet < 0) + throw new IllegalStateException(); + if (!delete(lastRet)) { + cursor = (cursor + 1) & (elements.length - 1); + fence = head; + } + lastRet = -1; + } + } + + /** + * Returns true if this deque contains the specified element. + * More formally, returns true if and only if this deque contains + * at least one element e such that o.equals(e). + * + * @param o object to be checked for containment in this deque + * @return true if this deque contains the specified element + */ + public boolean contains(Object o) { + if (o == null) + return false; + int mask = elements.length - 1; + int i = head; + E x; + while ( (x = elements[i]) != null) { + if (o.equals(x)) + return true; + i = (i + 1) & mask; + } + return false; + } + + /** + * Removes a single instance of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + *

This method is equivalent to {@link #removeFirstOccurrence}. + * + * @param o element to be removed from this deque, if present + * @return true if this deque contained the specified element + */ + public boolean remove(Object o) { + return removeFirstOccurrence(o); + } + + /** + * Removes all of the elements from this deque. + * The deque will be empty after this call returns. + */ + public void clear() { + int h = head; + int t = tail; + if (h != t) { // clear all cells + head = tail = 0; + int i = h; + int mask = elements.length - 1; + do { + elements[i] = null; + i = (i + 1) & mask; + } while (i != t); + } + } + + /** + * Returns an array containing all of the elements in this deque + * in proper sequence (from first to last element). + * + *

The returned array will be "safe" in that no references to it are + * maintained by this deque. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this deque + */ + public Object[] toArray() { + return copyElements(new Object[size()]); + } + + /** + * Returns an array containing all of the elements in this deque in + * proper sequence (from first to last element); the runtime type of the + * returned array is that of the specified array. If the deque fits in + * the specified array, it is returned therein. Otherwise, a new array + * is allocated with the runtime type of the specified array and the + * size of this deque. + * + *

If this deque fits in the specified array with room to spare + * (i.e., the array has more elements than this deque), the element in + * the array immediately following the end of the deque is set to + * null. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

Suppose x is a deque known to contain only strings. + * The following code can be used to dump the deque into a newly + * allocated array of String: + * + *

+     *     String[] y = x.toArray(new String[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of the deque are to + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose + * @return an array containing all of the elements in this deque + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this deque + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + int size = size(); + if (a.length < size) + a = (T[])java.lang.reflect.Array.newInstance( + a.getClass().getComponentType(), size); + copyElements(a); + if (a.length > size) + a[size] = null; + return a; + } + + // *** Object methods *** + + /** + * Returns a copy of this deque. + * + * @return a copy of this deque + */ + public ArrayDeque clone() { + try { + ArrayDeque result = (ArrayDeque) super.clone(); + // Classpath local: we don't have Arrays.copyOf yet. + // result.elements = Arrays.copyOf(elements, elements.length); + result.elements = (E[]) elements.clone(); + return result; + + } catch (CloneNotSupportedException e) { + throw new AssertionError(); + } + } + + /** + * Appease the serialization gods. + */ + private static final long serialVersionUID = 2340985798034038923L; + + /** + * Serialize this deque. + * + * @serialData The current size (int) of the deque, + * followed by all of its elements (each an object reference) in + * first-to-last order. + */ + private void writeObject(ObjectOutputStream s) throws IOException { + s.defaultWriteObject(); + + // Write out size + s.writeInt(size()); + + // Write out elements in order. + int mask = elements.length - 1; + for (int i = head; i != tail; i = (i + 1) & mask) + s.writeObject(elements[i]); + } + + /** + * Deserialize this deque. + */ + private void readObject(ObjectInputStream s) + throws IOException, ClassNotFoundException { + s.defaultReadObject(); + + // Read in size and allocate array + int size = s.readInt(); + allocateElements(size); + head = 0; + tail = size; + + // Read in all elements in the proper order. + for (int i = 0; i < size; i++) + elements[i] = (E)s.readObject(); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/Deque.java b/libjava/classpath/external/jsr166/java/util/Deque.java new file mode 100644 index 00000000000..a769561dc0a --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/Deque.java @@ -0,0 +1,547 @@ +/* + * Written by Doug Lea and Josh Bloch with assistance from members of + * JCP JSR-166 Expert Group and released to the public domain, as explained + * at http://creativecommons.org/licenses/publicdomain + */ + +package java.util; + +/** + * A linear collection that supports element insertion and removal at + * both ends. The name deque is short for "double ended queue" + * and is usually pronounced "deck". Most Deque + * implementations place no fixed limits on the number of elements + * they may contain, but this interface supports capacity-restricted + * deques as well as those with no fixed size limit. + * + *

This interface defines methods to access the elements at both + * ends of the deque. Methods are provided to insert, remove, and + * examine the element. Each of these methods exists in two forms: + * one throws an exception if the operation fails, the other returns a + * special value (either null or false, depending on + * the operation). The latter form of the insert operation is + * designed specifically for use with capacity-restricted + * Deque implementations; in most implementations, insert + * operations cannot fail. + * + *

The twelve methods described above are summarized in the + * following table: + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
First Element (Head) Last Element (Tail)
Throws exceptionSpecial valueThrows exceptionSpecial value
Insert{@link #addFirst addFirst(e)}{@link #offerFirst offerFirst(e)}{@link #addLast addLast(e)}{@link #offerLast offerLast(e)}
Remove{@link #removeFirst removeFirst()}{@link #pollFirst pollFirst()}{@link #removeLast removeLast()}{@link #pollLast pollLast()}
Examine{@link #getFirst getFirst()}{@link #peekFirst peekFirst()}{@link #getLast getLast()}{@link #peekLast peekLast()}
+ * + *

This interface extends the {@link Queue} interface. When a deque is + * used as a queue, FIFO (First-In-First-Out) behavior results. Elements are + * added at the end of the deque and removed from the beginning. The methods + * inherited from the Queue interface are precisely equivalent to + * Deque methods as indicated in the following table: + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Queue Method Equivalent Deque Method
{@link java.util.Queue#add add(e)}{@link #addLast addLast(e)}
{@link java.util.Queue#offer offer(e)}{@link #offerLast offerLast(e)}
{@link java.util.Queue#remove remove()}{@link #removeFirst removeFirst()}
{@link java.util.Queue#poll poll()}{@link #pollFirst pollFirst()}
{@link java.util.Queue#element element()}{@link #getFirst getFirst()}
{@link java.util.Queue#peek peek()}{@link #peek peekFirst()}
+ * + *

Deques can also be used as LIFO (Last-In-First-Out) stacks. This + * interface should be used in preference to the legacy {@link Stack} class. + * When a deque is used as a stack, elements are pushed and popped from the + * beginning of the deque. Stack methods are precisely equivalent to + * Deque methods as indicated in the table below: + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Stack Method Equivalent Deque Method
{@link #push push(e)}{@link #addFirst addFirst(e)}
{@link #pop pop()}{@link #removeFirst removeFirst()}
{@link #peek peek()}{@link #peekFirst peekFirst()}
+ * + *

Note that the {@link #peek peek} method works equally well when + * a deque is used as a queue or a stack; in either case, elements are + * drawn from the beginning of the deque. + * + *

This interface provides two methods to remove interior + * elements, {@link #removeFirstOccurrence removeFirstOccurrence} and + * {@link #removeLastOccurrence removeLastOccurrence}. + * + *

Unlike the {@link List} interface, this interface does not + * provide support for indexed access to elements. + * + *

While Deque implementations are not strictly required + * to prohibit the insertion of null elements, they are strongly + * encouraged to do so. Users of any Deque implementations + * that do allow null elements are strongly encouraged not to + * take advantage of the ability to insert nulls. This is so because + * null is used as a special return value by various methods + * to indicated that the deque is empty. + * + *

Deque implementations generally do not define + * element-based versions of the equals and hashCode + * methods, but instead inherit the identity-based versions from class + * Object. + * + *

This interface is a member of the Java Collections + * Framework. + * + * @author Doug Lea + * @author Josh Bloch + * @since 1.6 + * @param the type of elements held in this collection + */ + +public interface Deque extends Queue { + /** + * Inserts the specified element at the front of this deque if it is + * possible to do so immediately without violating capacity restrictions. + * When using a capacity-restricted deque, it is generally preferable to + * use method {@link #offerFirst}. + * + * @param e the element to add + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + void addFirst(E e); + + /** + * Inserts the specified element at the end of this deque if it is + * possible to do so immediately without violating capacity restrictions. + * When using a capacity-restricted deque, it is generally preferable to + * use method {@link #offerLast}. + * + *

This method is equivalent to {@link #add}. + * + * @param e the element to add + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + void addLast(E e); + + /** + * Inserts the specified element at the front of this deque unless it would + * violate capacity restrictions. When using a capacity-restricted deque, + * this method is generally preferable to the {@link #addFirst} method, + * which can fail to insert an element only by throwing an exception. + * + * @param e the element to add + * @return true if the element was added to this deque, else + * false + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offerFirst(E e); + + /** + * Inserts the specified element at the end of this deque unless it would + * violate capacity restrictions. When using a capacity-restricted deque, + * this method is generally preferable to the {@link #addLast} method, + * which can fail to insert an element only by throwing an exception. + * + * @param e the element to add + * @return true if the element was added to this deque, else + * false + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offerLast(E e); + + /** + * Retrieves and removes the first element of this deque. This method + * differs from {@link #pollFirst pollFirst} only in that it throws an + * exception if this deque is empty. + * + * @return the head of this deque + * @throws NoSuchElementException if this deque is empty + */ + E removeFirst(); + + /** + * Retrieves and removes the last element of this deque. This method + * differs from {@link #pollLast pollLast} only in that it throws an + * exception if this deque is empty. + * + * @return the tail of this deque + * @throws NoSuchElementException if this deque is empty + */ + E removeLast(); + + /** + * Retrieves and removes the first element of this deque, + * or returns null if this deque is empty. + * + * @return the head of this deque, or null if this deque is empty + */ + E pollFirst(); + + /** + * Retrieves and removes the last element of this deque, + * or returns null if this deque is empty. + * + * @return the tail of this deque, or null if this deque is empty + */ + E pollLast(); + + /** + * Retrieves, but does not remove, the first element of this deque. + * + * This method differs from {@link #peekFirst peekFirst} only in that it + * throws an exception if this deque is empty. + * + * @return the head of this deque + * @throws NoSuchElementException if this deque is empty + */ + E getFirst(); + + /** + * Retrieves, but does not remove, the last element of this deque. + * This method differs from {@link #peekLast peekLast} only in that it + * throws an exception if this deque is empty. + * + * @return the tail of this deque + * @throws NoSuchElementException if this deque is empty + */ + E getLast(); + + /** + * Retrieves, but does not remove, the first element of this deque, + * or returns null if this deque is empty. + * + * @return the head of this deque, or null if this deque is empty + */ + E peekFirst(); + + /** + * Retrieves, but does not remove, the last element of this deque, + * or returns null if this deque is empty. + * + * @return the tail of this deque, or null if this deque is empty + */ + E peekLast(); + + /** + * Removes the first occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * (o==null ? e==null : o.equals(e)) + * (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + * @param o element to be removed from this deque, if present + * @return true if an element was removed as a result of this call + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements (optional) + */ + boolean removeFirstOccurrence(Object o); + + /** + * Removes the last occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the last element e such that + * (o==null ? e==null : o.equals(e)) + * (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + * @param o element to be removed from this deque, if present + * @return true if an element was removed as a result of this call + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements (optional) + */ + boolean removeLastOccurrence(Object o); + + // *** Queue methods *** + + /** + * Inserts the specified element into the queue represented by this deque + * (in other words, at the tail of this deque) if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and throwing an + * IllegalStateException if no space is currently available. + * When using a capacity-restricted deque, it is generally preferable to + * use {@link #offer(Object) offer}. + * + *

This method is equivalent to {@link #addLast}. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean add(E e); + + /** + * Inserts the specified element into the queue represented by this deque + * (in other words, at the tail of this deque) if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and false if no space is currently + * available. When using a capacity-restricted deque, this method is + * generally preferable to the {@link #add} method, which can fail to + * insert an element only by throwing an exception. + * + *

This method is equivalent to {@link #offerLast}. + * + * @param e the element to add + * @return true if the element was added to this deque, else + * false + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offer(E e); + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque). + * This method differs from {@link #poll poll} only in that it throws an + * exception if this deque is empty. + * + *

This method is equivalent to {@link #removeFirst()}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException if this deque is empty + */ + E remove(); + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque), or returns + * null if this deque is empty. + * + *

This method is equivalent to {@link #pollFirst()}. + * + * @return the first element of this deque, or null if + * this deque is empty + */ + E poll(); + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque (in other words, the first element of this deque). + * This method differs from {@link #peek peek} only in that it throws an + * exception if this deque is empty. + * + *

This method is equivalent to {@link #getFirst()}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException if this deque is empty + */ + E element(); + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque (in other words, the first element of this deque), or + * returns null if this deque is empty. + * + *

This method is equivalent to {@link #peekFirst()}. + * + * @return the head of the queue represented by this deque, or + * null if this deque is empty + */ + E peek(); + + + // *** Stack methods *** + + /** + * Pushes an element onto the stack represented by this deque (in other + * words, at the head of this deque) if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and throwing an + * IllegalStateException if no space is currently available. + * + *

This method is equivalent to {@link #addFirst}. + * + * @param e the element to push + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + void push(E e); + + /** + * Pops an element from the stack represented by this deque. In other + * words, removes and returns the first element of this deque. + * + *

This method is equivalent to {@link #removeFirst()}. + * + * @return the element at the front of this deque (which is the top + * of the stack represented by this deque) + * @throws NoSuchElementException if this deque is empty + */ + E pop(); + + + // *** Collection methods *** + + /** + * Removes the first occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * (o==null ? e==null : o.equals(e)) + * (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + *

This method is equivalent to {@link #removeFirstOccurrence}. + * + * @param o element to be removed from this deque, if present + * @return true if an element was removed as a result of this call + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements (optional) + */ + boolean remove(Object o); + + /** + * Returns true if this deque contains the specified element. + * More formally, returns true if and only if this deque contains + * at least one element e such that + * (o==null ? e==null : o.equals(e)). + * + * @param o element whose presence in this deque is to be tested + * @return true if this deque contains the specified element + * @throws ClassCastException if the type of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null and this + * deque does not permit null elements (optional) + */ + boolean contains(Object o); + + /** + * Returns the number of elements in this deque. + * + * @return the number of elements in this deque + */ + public int size(); + + /** + * Returns an iterator over the elements in this deque in proper sequence. + * The elements will be returned in order from first (head) to last (tail). + * + * @return an iterator over the elements in this deque in proper sequence + */ + Iterator iterator(); + + /** + * Returns an iterator over the elements in this deque in reverse + * sequential order. The elements will be returned in order from + * last (tail) to first (head). + * + * @return an iterator over the elements in this deque in reverse + * sequence + */ + Iterator descendingIterator(); + +} diff --git a/libjava/classpath/external/jsr166/java/util/NavigableMap.java b/libjava/classpath/external/jsr166/java/util/NavigableMap.java new file mode 100644 index 00000000000..a55f84bddd8 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/NavigableMap.java @@ -0,0 +1,395 @@ +/* + * Written by Doug Lea and Josh Bloch with assistance from members of JCP + * JSR-166 Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util; + +/** + * A {@link SortedMap} extended with navigation methods returning the + * closest matches for given search targets. Methods + * {@code lowerEntry}, {@code floorEntry}, {@code ceilingEntry}, + * and {@code higherEntry} return {@code Map.Entry} objects + * associated with keys respectively less than, less than or equal, + * greater than or equal, and greater than a given key, returning + * {@code null} if there is no such key. Similarly, methods + * {@code lowerKey}, {@code floorKey}, {@code ceilingKey}, and + * {@code higherKey} return only the associated keys. All of these + * methods are designed for locating, not traversing entries. + * + *

A {@code NavigableMap} may be accessed and traversed in either + * ascending or descending key order. The {@code descendingMap} + * method returns a view of the map with the senses of all relational + * and directional methods inverted. The performance of ascending + * operations and views is likely to be faster than that of descending + * ones. Methods {@code subMap}, {@code headMap}, + * and {@code tailMap} differ from the like-named {@code + * SortedMap} methods in accepting additional arguments describing + * whether lower and upper bounds are inclusive versus exclusive. + * Submaps of any {@code NavigableMap} must implement the {@code + * NavigableMap} interface. + * + *

This interface additionally defines methods {@code firstEntry}, + * {@code pollFirstEntry}, {@code lastEntry}, and + * {@code pollLastEntry} that return and/or remove the least and + * greatest mappings, if any exist, else returning {@code null}. + * + *

Implementations of entry-returning methods are expected to + * return {@code Map.Entry} pairs representing snapshots of mappings + * at the time they were produced, and thus generally do not + * support the optional {@code Entry.setValue} method. Note however + * that it is possible to change mappings in the associated map using + * method {@code put}. + * + *

Methods + * {@link #subMap(Object, Object) subMap(K, K)}, + * {@link #headMap(Object) headMap(K)}, and + * {@link #tailMap(Object) tailMap(K)} + * are specified to return {@code SortedMap} to allow existing + * implementations of {@code SortedMap} to be compatibly retrofitted to + * implement {@code NavigableMap}, but extensions and implementations + * of this interface are encouraged to override these methods to return + * {@code NavigableMap}. Similarly, + * {@link #keySet()} can be overriden to return {@code NavigableSet}. + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @author Doug Lea + * @author Josh Bloch + * @param the type of keys maintained by this map + * @param the type of mapped values + * @since 1.6 + */ +public interface NavigableMap extends SortedMap { + /** + * Returns a key-value mapping associated with the greatest key + * strictly less than the given key, or {@code null} if there is + * no such key. + * + * @param key the key + * @return an entry with the greatest key less than {@code key}, + * or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + Map.Entry lowerEntry(K key); + + /** + * Returns the greatest key strictly less than the given key, or + * {@code null} if there is no such key. + * + * @param key the key + * @return the greatest key less than {@code key}, + * or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + K lowerKey(K key); + + /** + * Returns a key-value mapping associated with the greatest key + * less than or equal to the given key, or {@code null} if there + * is no such key. + * + * @param key the key + * @return an entry with the greatest key less than or equal to + * {@code key}, or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + Map.Entry floorEntry(K key); + + /** + * Returns the greatest key less than or equal to the given key, + * or {@code null} if there is no such key. + * + * @param key the key + * @return the greatest key less than or equal to {@code key}, + * or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + K floorKey(K key); + + /** + * Returns a key-value mapping associated with the least key + * greater than or equal to the given key, or {@code null} if + * there is no such key. + * + * @param key the key + * @return an entry with the least key greater than or equal to + * {@code key}, or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + Map.Entry ceilingEntry(K key); + + /** + * Returns the least key greater than or equal to the given key, + * or {@code null} if there is no such key. + * + * @param key the key + * @return the least key greater than or equal to {@code key}, + * or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + K ceilingKey(K key); + + /** + * Returns a key-value mapping associated with the least key + * strictly greater than the given key, or {@code null} if there + * is no such key. + * + * @param key the key + * @return an entry with the least key greater than {@code key}, + * or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + Map.Entry higherEntry(K key); + + /** + * Returns the least key strictly greater than the given key, or + * {@code null} if there is no such key. + * + * @param key the key + * @return the least key greater than {@code key}, + * or {@code null} if there is no such key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + * and this map does not permit null keys + */ + K higherKey(K key); + + /** + * Returns a key-value mapping associated with the least + * key in this map, or {@code null} if the map is empty. + * + * @return an entry with the least key, + * or {@code null} if this map is empty + */ + Map.Entry firstEntry(); + + /** + * Returns a key-value mapping associated with the greatest + * key in this map, or {@code null} if the map is empty. + * + * @return an entry with the greatest key, + * or {@code null} if this map is empty + */ + Map.Entry lastEntry(); + + /** + * Removes and returns a key-value mapping associated with + * the least key in this map, or {@code null} if the map is empty. + * + * @return the removed first entry of this map, + * or {@code null} if this map is empty + */ + Map.Entry pollFirstEntry(); + + /** + * Removes and returns a key-value mapping associated with + * the greatest key in this map, or {@code null} if the map is empty. + * + * @return the removed last entry of this map, + * or {@code null} if this map is empty + */ + Map.Entry pollLastEntry(); + + /** + * Returns a reverse order view of the mappings contained in this map. + * The descending map is backed by this map, so changes to the map are + * reflected in the descending map, and vice-versa. If either map is + * modified while an iteration over a collection view of either map + * is in progress (except through the iterator's own {@code remove} + * operation), the results of the iteration are undefined. + * + *

The returned map has an ordering equivalent to + * {@link Collections#reverseOrder(Comparator) Collections.reverseOrder}(comparator()). + * The expression {@code m.descendingMap().descendingMap()} returns a + * view of {@code m} essentially equivalent to {@code m}. + * + * @return a reverse order view of this map + */ + NavigableMap descendingMap(); + + /** + * Returns a {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in ascending order. + * The set is backed by the map, so changes to the map are reflected in + * the set, and vice-versa. If the map is modified while an iteration + * over the set is in progress (except through the iterator's own {@code + * remove} operation), the results of the iteration are undefined. The + * set supports element removal, which removes the corresponding mapping + * from the map, via the {@code Iterator.remove}, {@code Set.remove}, + * {@code removeAll}, {@code retainAll}, and {@code clear} operations. + * It does not support the {@code add} or {@code addAll} operations. + * + * @return a navigable set view of the keys in this map + */ + NavigableSet navigableKeySet(); + + /** + * Returns a reverse order {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in descending order. + * The set is backed by the map, so changes to the map are reflected in + * the set, and vice-versa. If the map is modified while an iteration + * over the set is in progress (except through the iterator's own {@code + * remove} operation), the results of the iteration are undefined. The + * set supports element removal, which removes the corresponding mapping + * from the map, via the {@code Iterator.remove}, {@code Set.remove}, + * {@code removeAll}, {@code retainAll}, and {@code clear} operations. + * It does not support the {@code add} or {@code addAll} operations. + * + * @return a reverse order navigable set view of the keys in this map + */ + NavigableSet descendingKeySet(); + + /** + * Returns a view of the portion of this map whose keys range from + * {@code fromKey} to {@code toKey}. If {@code fromKey} and + * {@code toKey} are equal, the returned map is empty unless + * {@code fromExclusive} and {@code toExclusive} are both true. The + * returned map is backed by this map, so changes in the returned map are + * reflected in this map, and vice-versa. The returned map supports all + * optional map operations that this map supports. + * + *

The returned map will throw an {@code IllegalArgumentException} + * on an attempt to insert a key outside of its range, or to construct a + * submap either of whose endpoints lie outside its range. + * + * @param fromKey low endpoint of the keys in the returned map + * @param fromInclusive {@code true} if the low endpoint + * is to be included in the returned view + * @param toKey high endpoint of the keys in the returned map + * @param toInclusive {@code true} if the high endpoint + * is to be included in the returned view + * @return a view of the portion of this map whose keys range from + * {@code fromKey} to {@code toKey} + * @throws ClassCastException if {@code fromKey} and {@code toKey} + * cannot be compared to one another using this map's comparator + * (or, if the map has no comparator, using natural ordering). + * Implementations may, but are not required to, throw this + * exception if {@code fromKey} or {@code toKey} + * cannot be compared to keys currently in the map. + * @throws NullPointerException if {@code fromKey} or {@code toKey} + * is null and this map does not permit null keys + * @throws IllegalArgumentException if {@code fromKey} is greater than + * {@code toKey}; or if this map itself has a restricted + * range, and {@code fromKey} or {@code toKey} lies + * outside the bounds of the range + */ + NavigableMap subMap(K fromKey, boolean fromInclusive, + K toKey, boolean toInclusive); + + /** + * Returns a view of the portion of this map whose keys are less than (or + * equal to, if {@code inclusive} is true) {@code toKey}. The returned + * map is backed by this map, so changes in the returned map are reflected + * in this map, and vice-versa. The returned map supports all optional + * map operations that this map supports. + * + *

The returned map will throw an {@code IllegalArgumentException} + * on an attempt to insert a key outside its range. + * + * @param toKey high endpoint of the keys in the returned map + * @param inclusive {@code true} if the high endpoint + * is to be included in the returned view + * @return a view of the portion of this map whose keys are less than + * (or equal to, if {@code inclusive} is true) {@code toKey} + * @throws ClassCastException if {@code toKey} is not compatible + * with this map's comparator (or, if the map has no comparator, + * if {@code toKey} does not implement {@link Comparable}). + * Implementations may, but are not required to, throw this + * exception if {@code toKey} cannot be compared to keys + * currently in the map. + * @throws NullPointerException if {@code toKey} is null + * and this map does not permit null keys + * @throws IllegalArgumentException if this map itself has a + * restricted range, and {@code toKey} lies outside the + * bounds of the range + */ + NavigableMap headMap(K toKey, boolean inclusive); + + /** + * Returns a view of the portion of this map whose keys are greater than (or + * equal to, if {@code inclusive} is true) {@code fromKey}. The returned + * map is backed by this map, so changes in the returned map are reflected + * in this map, and vice-versa. The returned map supports all optional + * map operations that this map supports. + * + *

The returned map will throw an {@code IllegalArgumentException} + * on an attempt to insert a key outside its range. + * + * @param fromKey low endpoint of the keys in the returned map + * @param inclusive {@code true} if the low endpoint + * is to be included in the returned view + * @return a view of the portion of this map whose keys are greater than + * (or equal to, if {@code inclusive} is true) {@code fromKey} + * @throws ClassCastException if {@code fromKey} is not compatible + * with this map's comparator (or, if the map has no comparator, + * if {@code fromKey} does not implement {@link Comparable}). + * Implementations may, but are not required to, throw this + * exception if {@code fromKey} cannot be compared to keys + * currently in the map. + * @throws NullPointerException if {@code fromKey} is null + * and this map does not permit null keys + * @throws IllegalArgumentException if this map itself has a + * restricted range, and {@code fromKey} lies outside the + * bounds of the range + */ + NavigableMap tailMap(K fromKey, boolean inclusive); + + /** + * {@inheritDoc} + * + *

Equivalent to {@code subMap(fromKey, true, toKey, false)}. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + SortedMap subMap(K fromKey, K toKey); + + /** + * {@inheritDoc} + * + *

Equivalent to {@code headMap(toKey, false)}. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + SortedMap headMap(K toKey); + + /** + * {@inheritDoc} + * + *

Equivalent to {@code tailMap(fromKey, true)}. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + SortedMap tailMap(K fromKey); +} diff --git a/libjava/classpath/external/jsr166/java/util/NavigableSet.java b/libjava/classpath/external/jsr166/java/util/NavigableSet.java new file mode 100644 index 00000000000..e14fe347d71 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/NavigableSet.java @@ -0,0 +1,290 @@ +/* + * Written by Doug Lea and Josh Bloch with assistance from members of JCP + * JSR-166 Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util; + +/** + * A {@link SortedSet} extended with navigation methods reporting + * closest matches for given search targets. Methods {@code lower}, + * {@code floor}, {@code ceiling}, and {@code higher} return elements + * respectively less than, less than or equal, greater than or equal, + * and greater than a given element, returning {@code null} if there + * is no such element. A {@code NavigableSet} may be accessed and + * traversed in either ascending or descending order. The {@code + * descendingSet} method returns a view of the set with the senses of + * all relational and directional methods inverted. The performance of + * ascending operations and views is likely to be faster than that of + * descending ones. This interface additionally defines methods + * {@code pollFirst} and {@code pollLast} that return and remove the + * lowest and highest element, if one exists, else returning {@code + * null}. Methods {@code subSet}, {@code headSet}, + * and {@code tailSet} differ from the like-named {@code + * SortedSet} methods in accepting additional arguments describing + * whether lower and upper bounds are inclusive versus exclusive. + * Subsets of any {@code NavigableSet} must implement the {@code + * NavigableSet} interface. + * + *

The return values of navigation methods may be ambiguous in + * implementations that permit {@code null} elements. However, even + * in this case the result can be disambiguated by checking + * {@code contains(null)}. To avoid such issues, implementations of + * this interface are encouraged to not permit insertion of + * {@code null} elements. (Note that sorted sets of {@link + * Comparable} elements intrinsically do not permit {@code null}.) + * + *

Methods + * {@link #subSet(Object, Object) subSet(E, E)}, + * {@link #headSet(Object) headSet(E)}, and + * {@link #tailSet(Object) tailSet(E)} + * are specified to return {@code SortedSet} to allow existing + * implementations of {@code SortedSet} to be compatibly retrofitted to + * implement {@code NavigableSet}, but extensions and implementations + * of this interface are encouraged to override these methods to return + * {@code NavigableSet}. + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @author Doug Lea + * @author Josh Bloch + * @param the type of elements maintained by this set + * @since 1.6 + */ +public interface NavigableSet extends SortedSet { + /** + * Returns the greatest element in this set strictly less than the + * given element, or {@code null} if there is no such element. + * + * @param e the value to match + * @return the greatest element less than {@code e}, + * or {@code null} if there is no such element + * @throws ClassCastException if the specified element cannot be + * compared with the elements currently in the set + * @throws NullPointerException if the specified element is null + * and this set does not permit null elements + */ + E lower(E e); + + /** + * Returns the greatest element in this set less than or equal to + * the given element, or {@code null} if there is no such element. + * + * @param e the value to match + * @return the greatest element less than or equal to {@code e}, + * or {@code null} if there is no such element + * @throws ClassCastException if the specified element cannot be + * compared with the elements currently in the set + * @throws NullPointerException if the specified element is null + * and this set does not permit null elements + */ + E floor(E e); + + /** + * Returns the least element in this set greater than or equal to + * the given element, or {@code null} if there is no such element. + * + * @param e the value to match + * @return the least element greater than or equal to {@code e}, + * or {@code null} if there is no such element + * @throws ClassCastException if the specified element cannot be + * compared with the elements currently in the set + * @throws NullPointerException if the specified element is null + * and this set does not permit null elements + */ + E ceiling(E e); + + /** + * Returns the least element in this set strictly greater than the + * given element, or {@code null} if there is no such element. + * + * @param e the value to match + * @return the least element greater than {@code e}, + * or {@code null} if there is no such element + * @throws ClassCastException if the specified element cannot be + * compared with the elements currently in the set + * @throws NullPointerException if the specified element is null + * and this set does not permit null elements + */ + E higher(E e); + + /** + * Retrieves and removes the first (lowest) element, + * or returns {@code null} if this set is empty. + * + * @return the first element, or {@code null} if this set is empty + */ + E pollFirst(); + + /** + * Retrieves and removes the last (highest) element, + * or returns {@code null} if this set is empty. + * + * @return the last element, or {@code null} if this set is empty + */ + E pollLast(); + + /** + * Returns an iterator over the elements in this set, in ascending order. + * + * @return an iterator over the elements in this set, in ascending order + */ + Iterator iterator(); + + /** + * Returns a reverse order view of the elements contained in this set. + * The descending set is backed by this set, so changes to the set are + * reflected in the descending set, and vice-versa. If either set is + * modified while an iteration over either set is in progress (except + * through the iterator's own {@code remove} operation), the results of + * the iteration are undefined. + * + *

The returned set has an ordering equivalent to + * {@link Collections#reverseOrder(Comparator) Collections.reverseOrder}(comparator()). + * The expression {@code s.descendingSet().descendingSet()} returns a + * view of {@code s} essentially equivalent to {@code s}. + * + * @return a reverse order view of this set + */ + NavigableSet descendingSet(); + + /** + * Returns an iterator over the elements in this set, in descending order. + * Equivalent in effect to {@code descendingSet().iterator()}. + * + * @return an iterator over the elements in this set, in descending order + */ + Iterator descendingIterator(); + + /** + * Returns a view of the portion of this set whose elements range from + * {@code fromElement} to {@code toElement}. If {@code fromElement} and + * {@code toElement} are equal, the returned set is empty unless {@code + * fromExclusive} and {@code toExclusive} are both true. The returned set + * is backed by this set, so changes in the returned set are reflected in + * this set, and vice-versa. The returned set supports all optional set + * operations that this set supports. + * + *

The returned set will throw an {@code IllegalArgumentException} + * on an attempt to insert an element outside its range. + * + * @param fromElement low endpoint of the returned set + * @param fromInclusive {@code true} if the low endpoint + * is to be included in the returned view + * @param toElement high endpoint of the returned set + * @param toInclusive {@code true} if the high endpoint + * is to be included in the returned view + * @return a view of the portion of this set whose elements range from + * {@code fromElement}, inclusive, to {@code toElement}, exclusive + * @throws ClassCastException if {@code fromElement} and + * {@code toElement} cannot be compared to one another using this + * set's comparator (or, if the set has no comparator, using + * natural ordering). Implementations may, but are not required + * to, throw this exception if {@code fromElement} or + * {@code toElement} cannot be compared to elements currently in + * the set. + * @throws NullPointerException if {@code fromElement} or + * {@code toElement} is null and this set does + * not permit null elements + * @throws IllegalArgumentException if {@code fromElement} is + * greater than {@code toElement}; or if this set itself + * has a restricted range, and {@code fromElement} or + * {@code toElement} lies outside the bounds of the range. + */ + NavigableSet subSet(E fromElement, boolean fromInclusive, + E toElement, boolean toInclusive); + + /** + * Returns a view of the portion of this set whose elements are less than + * (or equal to, if {@code inclusive} is true) {@code toElement}. The + * returned set is backed by this set, so changes in the returned set are + * reflected in this set, and vice-versa. The returned set supports all + * optional set operations that this set supports. + * + *

The returned set will throw an {@code IllegalArgumentException} + * on an attempt to insert an element outside its range. + * + * @param toElement high endpoint of the returned set + * @param inclusive {@code true} if the high endpoint + * is to be included in the returned view + * @return a view of the portion of this set whose elements are less than + * (or equal to, if {@code inclusive} is true) {@code toElement} + * @throws ClassCastException if {@code toElement} is not compatible + * with this set's comparator (or, if the set has no comparator, + * if {@code toElement} does not implement {@link Comparable}). + * Implementations may, but are not required to, throw this + * exception if {@code toElement} cannot be compared to elements + * currently in the set. + * @throws NullPointerException if {@code toElement} is null and + * this set does not permit null elements + * @throws IllegalArgumentException if this set itself has a + * restricted range, and {@code toElement} lies outside the + * bounds of the range + */ + NavigableSet headSet(E toElement, boolean inclusive); + + /** + * Returns a view of the portion of this set whose elements are greater + * than (or equal to, if {@code inclusive} is true) {@code fromElement}. + * The returned set is backed by this set, so changes in the returned set + * are reflected in this set, and vice-versa. The returned set supports + * all optional set operations that this set supports. + * + *

The returned set will throw an {@code IllegalArgumentException} + * on an attempt to insert an element outside its range. + * + * @param fromElement low endpoint of the returned set + * @param inclusive {@code true} if the low endpoint + * is to be included in the returned view + * @return a view of the portion of this set whose elements are greater + * than or equal to {@code fromElement} + * @throws ClassCastException if {@code fromElement} is not compatible + * with this set's comparator (or, if the set has no comparator, + * if {@code fromElement} does not implement {@link Comparable}). + * Implementations may, but are not required to, throw this + * exception if {@code fromElement} cannot be compared to elements + * currently in the set. + * @throws NullPointerException if {@code fromElement} is null + * and this set does not permit null elements + * @throws IllegalArgumentException if this set itself has a + * restricted range, and {@code fromElement} lies outside the + * bounds of the range + */ + NavigableSet tailSet(E fromElement, boolean inclusive); + + /** + * {@inheritDoc} + * + *

Equivalent to {@code subSet(fromElement, true, toElement, false)}. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + SortedSet subSet(E fromElement, E toElement); + + /** + * {@inheritDoc} + * + *

Equivalent to {@code headSet(toElement, false)}. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} +na */ + SortedSet headSet(E toElement); + + /** + * {@inheritDoc} + * + *

Equivalent to {@code tailSet(fromElement, true)}. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + SortedSet tailSet(E fromElement); +} diff --git a/libjava/classpath/external/jsr166/java/util/Queue.java b/libjava/classpath/external/jsr166/java/util/Queue.java new file mode 100644 index 00000000000..5711545b07b --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/Queue.java @@ -0,0 +1,189 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util; + +/** + * A collection designed for holding elements prior to processing. + * Besides basic {@link java.util.Collection Collection} operations, + * queues provide additional insertion, extraction, and inspection + * operations. Each of these methods exists in two forms: one throws + * an exception if the operation fails, the other returns a special + * value (either null or false, depending on the + * operation). The latter form of the insert operation is designed + * specifically for use with capacity-restricted Queue + * implementations; in most implementations, insert operations cannot + * fail. + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Throws exceptionReturns special value
Insert{@link #add add(e)}{@link #offer offer(e)}
Remove{@link #remove remove()}{@link #poll poll()}
Examine{@link #element element()}{@link #peek peek()}
+ * + *

Queues typically, but do not necessarily, order elements in a + * FIFO (first-in-first-out) manner. Among the exceptions are + * priority queues, which order elements according to a supplied + * comparator, or the elements' natural ordering, and LIFO queues (or + * stacks) which order the elements LIFO (last-in-first-out). + * Whatever the ordering used, the head of the queue is that + * element which would be removed by a call to {@link #remove() } or + * {@link #poll()}. In a FIFO queue, all new elements are inserted at + * the tail of the queue. Other kinds of queues may use + * different placement rules. Every Queue implementation + * must specify its ordering properties. + * + *

The {@link #offer offer} method inserts an element if possible, + * otherwise returning false. This differs from the {@link + * java.util.Collection#add Collection.add} method, which can fail to + * add an element only by throwing an unchecked exception. The + * offer method is designed for use when failure is a normal, + * rather than exceptional occurrence, for example, in fixed-capacity + * (or "bounded") queues. + * + *

The {@link #remove()} and {@link #poll()} methods remove and + * return the head of the queue. + * Exactly which element is removed from the queue is a + * function of the queue's ordering policy, which differs from + * implementation to implementation. The remove() and + * poll() methods differ only in their behavior when the + * queue is empty: the remove() method throws an exception, + * while the poll() method returns null. + * + *

The {@link #element()} and {@link #peek()} methods return, but do + * not remove, the head of the queue. + * + *

The Queue interface does not define the blocking queue + * methods, which are common in concurrent programming. These methods, + * which wait for elements to appear or for space to become available, are + * defined in the {@link java.util.concurrent.BlockingQueue} interface, which + * extends this interface. + * + *

Queue implementations generally do not allow insertion + * of null elements, although some implementations, such as + * {@link LinkedList}, do not prohibit insertion of null. + * Even in the implementations that permit it, null should + * not be inserted into a Queue, as null is also + * used as a special return value by the poll method to + * indicate that the queue contains no elements. + * + *

Queue implementations generally do not define + * element-based versions of methods equals and + * hashCode but instead inherit the identity based versions + * from class Object, because element-based equality is not + * always well-defined for queues with the same elements but different + * ordering properties. + * + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @see java.util.Collection + * @see LinkedList + * @see PriorityQueue + * @see java.util.concurrent.LinkedBlockingQueue + * @see java.util.concurrent.BlockingQueue + * @see java.util.concurrent.ArrayBlockingQueue + * @see java.util.concurrent.LinkedBlockingQueue + * @see java.util.concurrent.PriorityBlockingQueue + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public interface Queue extends Collection { + /** + * Inserts the specified element into this queue if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and throwing an IllegalStateException + * if no space is currently available. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null and + * this queue does not permit null elements + * @throws IllegalArgumentException if some property of this element + * prevents it from being added to this queue + */ + boolean add(E e); + + /** + * Inserts the specified element into this queue if it is possible to do + * so immediately without violating capacity restrictions. + * When using a capacity-restricted queue, this method is generally + * preferable to {@link #add}, which can fail to insert an element only + * by throwing an exception. + * + * @param e the element to add + * @return true if the element was added to this queue, else + * false + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null and + * this queue does not permit null elements + * @throws IllegalArgumentException if some property of this element + * prevents it from being added to this queue + */ + boolean offer(E e); + + /** + * Retrieves and removes the head of this queue. This method differs + * from {@link #poll poll} only in that it throws an exception if this + * queue is empty. + * + * @return the head of this queue + * @throws NoSuchElementException if this queue is empty + */ + E remove(); + + /** + * Retrieves and removes the head of this queue, + * or returns null if this queue is empty. + * + * @return the head of this queue, or null if this queue is empty + */ + E poll(); + + /** + * Retrieves, but does not remove, the head of this queue. This method + * differs from {@link #peek peek} only in that it throws an exception + * if this queue is empty. + * + * @return the head of this queue + * @throws NoSuchElementException if this queue is empty + */ + E element(); + + /** + * Retrieves, but does not remove, the head of this queue, + * or returns null if this queue is empty. + * + * @return the head of this queue, or null if this queue is empty + */ + E peek(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/AbstractExecutorService.java b/libjava/classpath/external/jsr166/java/util/concurrent/AbstractExecutorService.java new file mode 100644 index 00000000000..ac15c501083 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/AbstractExecutorService.java @@ -0,0 +1,270 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; + +/** + * Provides default implementations of {@link ExecutorService} + * execution methods. This class implements the submit, + * invokeAny and invokeAll methods using a + * {@link RunnableFuture} returned by newTaskFor, which defaults + * to the {@link FutureTask} class provided in this package. For example, + * the implementation of submit(Runnable) creates an + * associated RunnableFuture that is executed and + * returned. Subclasses may override the newTaskFor methods + * to return RunnableFuture implementations other than + * FutureTask. + * + *

Extension example. Here is a sketch of a class + * that customizes {@link ThreadPoolExecutor} to use + * a CustomTask class instead of the default FutureTask: + *

+ * public class CustomThreadPoolExecutor extends ThreadPoolExecutor {
+ *
+ *   static class CustomTask<V> implements RunnableFuture<V> {...}
+ *
+ *   protected <V> RunnableFuture<V> newTaskFor(Callable<V> c) {
+ *       return new CustomTask<V>(c);
+ *   }
+ *   protected <V> RunnableFuture<V> newTaskFor(Runnable r, V v) {
+ *       return new CustomTask<V>(r, v);
+ *   }
+ *   // ... add constructors, etc.
+ * }
+ * 
+ * @since 1.5 + * @author Doug Lea + */ +public abstract class AbstractExecutorService implements ExecutorService { + + /** + * Returns a RunnableFuture for the given runnable and default + * value. + * + * @param runnable the runnable task being wrapped + * @param value the default value for the returned future + * @return a RunnableFuture which when run will run the + * underlying runnable and which, as a Future, will yield + * the given value as its result and provide for cancellation of + * the underlying task. + * @since 1.6 + */ + protected RunnableFuture newTaskFor(Runnable runnable, T value) { + return new FutureTask(runnable, value); + } + + /** + * Returns a RunnableFuture for the given callable task. + * + * @param callable the callable task being wrapped + * @return a RunnableFuture which when run will call the + * underlying callable and which, as a Future, will yield + * the callable's result as its result and provide for + * cancellation of the underlying task. + * @since 1.6 + */ + protected RunnableFuture newTaskFor(Callable callable) { + return new FutureTask(callable); + } + + public Future submit(Runnable task) { + if (task == null) throw new NullPointerException(); + RunnableFuture ftask = newTaskFor(task, null); + execute(ftask); + return ftask; + } + + public Future submit(Runnable task, T result) { + if (task == null) throw new NullPointerException(); + RunnableFuture ftask = newTaskFor(task, result); + execute(ftask); + return ftask; + } + + public Future submit(Callable task) { + if (task == null) throw new NullPointerException(); + RunnableFuture ftask = newTaskFor(task); + execute(ftask); + return ftask; + } + + /** + * the main mechanics of invokeAny. + */ + private T doInvokeAny(Collection> tasks, + boolean timed, long nanos) + throws InterruptedException, ExecutionException, TimeoutException { + if (tasks == null) + throw new NullPointerException(); + int ntasks = tasks.size(); + if (ntasks == 0) + throw new IllegalArgumentException(); + List> futures= new ArrayList>(ntasks); + ExecutorCompletionService ecs = + new ExecutorCompletionService(this); + + // For efficiency, especially in executors with limited + // parallelism, check to see if previously submitted tasks are + // done before submitting more of them. This interleaving + // plus the exception mechanics account for messiness of main + // loop. + + try { + // Record exceptions so that if we fail to obtain any + // result, we can throw the last exception we got. + ExecutionException ee = null; + long lastTime = (timed)? System.nanoTime() : 0; + Iterator> it = tasks.iterator(); + + // Start one task for sure; the rest incrementally + futures.add(ecs.submit(it.next())); + --ntasks; + int active = 1; + + for (;;) { + Future f = ecs.poll(); + if (f == null) { + if (ntasks > 0) { + --ntasks; + futures.add(ecs.submit(it.next())); + ++active; + } + else if (active == 0) + break; + else if (timed) { + f = ecs.poll(nanos, TimeUnit.NANOSECONDS); + if (f == null) + throw new TimeoutException(); + long now = System.nanoTime(); + nanos -= now - lastTime; + lastTime = now; + } + else + f = ecs.take(); + } + if (f != null) { + --active; + try { + return f.get(); + } catch (InterruptedException ie) { + throw ie; + } catch (ExecutionException eex) { + ee = eex; + } catch (RuntimeException rex) { + ee = new ExecutionException(rex); + } + } + } + + if (ee == null) + ee = new ExecutionException(); + throw ee; + + } finally { + for (Future f : futures) + f.cancel(true); + } + } + + public T invokeAny(Collection> tasks) + throws InterruptedException, ExecutionException { + try { + return doInvokeAny(tasks, false, 0); + } catch (TimeoutException cannotHappen) { + assert false; + return null; + } + } + + public T invokeAny(Collection> tasks, + long timeout, TimeUnit unit) + throws InterruptedException, ExecutionException, TimeoutException { + return doInvokeAny(tasks, true, unit.toNanos(timeout)); + } + + public List> invokeAll(Collection> tasks) + throws InterruptedException { + if (tasks == null) + throw new NullPointerException(); + List> futures = new ArrayList>(tasks.size()); + boolean done = false; + try { + for (Callable t : tasks) { + RunnableFuture f = newTaskFor(t); + futures.add(f); + execute(f); + } + for (Future f : futures) { + if (!f.isDone()) { + try { + f.get(); + } catch (CancellationException ignore) { + } catch (ExecutionException ignore) { + } + } + } + done = true; + return futures; + } finally { + if (!done) + for (Future f : futures) + f.cancel(true); + } + } + + public List> invokeAll(Collection> tasks, + long timeout, TimeUnit unit) + throws InterruptedException { + if (tasks == null || unit == null) + throw new NullPointerException(); + long nanos = unit.toNanos(timeout); + List> futures = new ArrayList>(tasks.size()); + boolean done = false; + try { + for (Callable t : tasks) + futures.add(newTaskFor(t)); + + long lastTime = System.nanoTime(); + + // Interleave time checks and calls to execute in case + // executor doesn't have any/much parallelism. + Iterator> it = futures.iterator(); + while (it.hasNext()) { + execute((Runnable)(it.next())); + long now = System.nanoTime(); + nanos -= now - lastTime; + lastTime = now; + if (nanos <= 0) + return futures; + } + + for (Future f : futures) { + if (!f.isDone()) { + if (nanos <= 0) + return futures; + try { + f.get(nanos, TimeUnit.NANOSECONDS); + } catch (CancellationException ignore) { + } catch (ExecutionException ignore) { + } catch (TimeoutException toe) { + return futures; + } + long now = System.nanoTime(); + nanos -= now - lastTime; + lastTime = now; + } + } + done = true; + return futures; + } finally { + if (!done) + for (Future f : futures) + f.cancel(true); + } + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ArrayBlockingQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/ArrayBlockingQueue.java new file mode 100644 index 00000000000..bdf34d28a20 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ArrayBlockingQueue.java @@ -0,0 +1,778 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; +import java.util.*; + +/** + * A bounded {@linkplain BlockingQueue blocking queue} backed by an + * array. This queue orders elements FIFO (first-in-first-out). The + * head of the queue is that element that has been on the + * queue the longest time. The tail of the queue is that + * element that has been on the queue the shortest time. New elements + * are inserted at the tail of the queue, and the queue retrieval + * operations obtain elements at the head of the queue. + * + *

This is a classic "bounded buffer", in which a + * fixed-sized array holds elements inserted by producers and + * extracted by consumers. Once created, the capacity cannot be + * increased. Attempts to put an element into a full queue + * will result in the operation blocking; attempts to take an + * element from an empty queue will similarly block. + * + *

This class supports an optional fairness policy for ordering + * waiting producer and consumer threads. By default, this ordering + * is not guaranteed. However, a queue constructed with fairness set + * to true grants threads access in FIFO order. Fairness + * generally decreases throughput but reduces variability and avoids + * starvation. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public class ArrayBlockingQueue extends AbstractQueue + implements BlockingQueue, java.io.Serializable { + + /** + * Serialization ID. This class relies on default serialization + * even for the items array, which is default-serialized, even if + * it is empty. Otherwise it could not be declared final, which is + * necessary here. + */ + private static final long serialVersionUID = -817911632652898426L; + + /** The queued items */ + private final E[] items; + /** items index for next take, poll or remove */ + private int takeIndex; + /** items index for next put, offer, or add. */ + private int putIndex; + /** Number of items in the queue */ + private int count; + + /* + * Concurrency control uses the classic two-condition algorithm + * found in any textbook. + */ + + /** Main lock guarding all access */ + private final ReentrantLock lock; + /** Condition for waiting takes */ + private final Condition notEmpty; + /** Condition for waiting puts */ + private final Condition notFull; + + // Internal helper methods + + /** + * Circularly increment i. + */ + final int inc(int i) { + return (++i == items.length)? 0 : i; + } + + /** + * Inserts element at current put position, advances, and signals. + * Call only when holding lock. + */ + private void insert(E x) { + items[putIndex] = x; + putIndex = inc(putIndex); + ++count; + notEmpty.signal(); + } + + /** + * Extracts element at current take position, advances, and signals. + * Call only when holding lock. + */ + private E extract() { + final E[] items = this.items; + E x = items[takeIndex]; + items[takeIndex] = null; + takeIndex = inc(takeIndex); + --count; + notFull.signal(); + return x; + } + + /** + * Utility for remove and iterator.remove: Delete item at position i. + * Call only when holding lock. + */ + void removeAt(int i) { + final E[] items = this.items; + // if removing front item, just advance + if (i == takeIndex) { + items[takeIndex] = null; + takeIndex = inc(takeIndex); + } else { + // slide over all others up through putIndex. + for (;;) { + int nexti = inc(i); + if (nexti != putIndex) { + items[i] = items[nexti]; + i = nexti; + } else { + items[i] = null; + putIndex = i; + break; + } + } + } + --count; + notFull.signal(); + } + + /** + * Creates an ArrayBlockingQueue with the given (fixed) + * capacity and default access policy. + * + * @param capacity the capacity of this queue + * @throws IllegalArgumentException if capacity is less than 1 + */ + public ArrayBlockingQueue(int capacity) { + this(capacity, false); + } + + /** + * Creates an ArrayBlockingQueue with the given (fixed) + * capacity and the specified access policy. + * + * @param capacity the capacity of this queue + * @param fair if true then queue accesses for threads blocked + * on insertion or removal, are processed in FIFO order; + * if false the access order is unspecified. + * @throws IllegalArgumentException if capacity is less than 1 + */ + public ArrayBlockingQueue(int capacity, boolean fair) { + if (capacity <= 0) + throw new IllegalArgumentException(); + this.items = (E[]) new Object[capacity]; + lock = new ReentrantLock(fair); + notEmpty = lock.newCondition(); + notFull = lock.newCondition(); + } + + /** + * Creates an ArrayBlockingQueue with the given (fixed) + * capacity, the specified access policy and initially containing the + * elements of the given collection, + * added in traversal order of the collection's iterator. + * + * @param capacity the capacity of this queue + * @param fair if true then queue accesses for threads blocked + * on insertion or removal, are processed in FIFO order; + * if false the access order is unspecified. + * @param c the collection of elements to initially contain + * @throws IllegalArgumentException if capacity is less than + * c.size(), or less than 1. + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public ArrayBlockingQueue(int capacity, boolean fair, + Collection c) { + this(capacity, fair); + if (capacity < c.size()) + throw new IllegalArgumentException(); + + for (Iterator it = c.iterator(); it.hasNext();) + add(it.next()); + } + + /** + * Inserts the specified element at the tail of this queue if it is + * possible to do so immediately without exceeding the queue's capacity, + * returning true upon success and throwing an + * IllegalStateException if this queue is full. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws IllegalStateException if this queue is full + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + return super.add(e); + } + + /** + * Inserts the specified element at the tail of this queue if it is + * possible to do so immediately without exceeding the queue's capacity, + * returning true upon success and false if this queue + * is full. This method is generally preferable to method {@link #add}, + * which can fail to insert an element only by throwing an exception. + * + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + if (e == null) throw new NullPointerException(); + final ReentrantLock lock = this.lock; + lock.lock(); + try { + if (count == items.length) + return false; + else { + insert(e); + return true; + } + } finally { + lock.unlock(); + } + } + + /** + * Inserts the specified element at the tail of this queue, waiting + * for space to become available if the queue is full. + * + * @throws InterruptedException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public void put(E e) throws InterruptedException { + if (e == null) throw new NullPointerException(); + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + try { + while (count == items.length) + notFull.await(); + } catch (InterruptedException ie) { + notFull.signal(); // propagate to non-interrupted thread + throw ie; + } + insert(e); + } finally { + lock.unlock(); + } + } + + /** + * Inserts the specified element at the tail of this queue, waiting + * up to the specified wait time for space to become available if + * the queue is full. + * + * @throws InterruptedException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public boolean offer(E e, long timeout, TimeUnit unit) + throws InterruptedException { + + if (e == null) throw new NullPointerException(); + long nanos = unit.toNanos(timeout); + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + for (;;) { + if (count != items.length) { + insert(e); + return true; + } + if (nanos <= 0) + return false; + try { + nanos = notFull.awaitNanos(nanos); + } catch (InterruptedException ie) { + notFull.signal(); // propagate to non-interrupted thread + throw ie; + } + } + } finally { + lock.unlock(); + } + } + + public E poll() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + if (count == 0) + return null; + E x = extract(); + return x; + } finally { + lock.unlock(); + } + } + + public E take() throws InterruptedException { + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + try { + while (count == 0) + notEmpty.await(); + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to non-interrupted thread + throw ie; + } + E x = extract(); + return x; + } finally { + lock.unlock(); + } + } + + public E poll(long timeout, TimeUnit unit) throws InterruptedException { + long nanos = unit.toNanos(timeout); + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + for (;;) { + if (count != 0) { + E x = extract(); + return x; + } + if (nanos <= 0) + return null; + try { + nanos = notEmpty.awaitNanos(nanos); + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to non-interrupted thread + throw ie; + } + + } + } finally { + lock.unlock(); + } + } + + public E peek() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return (count == 0) ? null : items[takeIndex]; + } finally { + lock.unlock(); + } + } + + // this doc comment is overridden to remove the reference to collections + // greater in size than Integer.MAX_VALUE + /** + * Returns the number of elements in this queue. + * + * @return the number of elements in this queue + */ + public int size() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return count; + } finally { + lock.unlock(); + } + } + + // this doc comment is a modified copy of the inherited doc comment, + // without the reference to unlimited queues. + /** + * Returns the number of additional elements that this queue can ideally + * (in the absence of memory or resource constraints) accept without + * blocking. This is always equal to the initial capacity of this queue + * less the current size of this queue. + * + *

Note that you cannot always tell if an attempt to insert + * an element will succeed by inspecting remainingCapacity + * because it may be the case that another thread is about to + * insert or remove an element. + */ + public int remainingCapacity() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return items.length - count; + } finally { + lock.unlock(); + } + } + + /** + * Removes a single instance of the specified element from this queue, + * if it is present. More formally, removes an element e such + * that o.equals(e), if this queue contains one or more such + * elements. + * Returns true if this queue contained the specified element + * (or equivalently, if this queue changed as a result of the call). + * + * @param o element to be removed from this queue, if present + * @return true if this queue changed as a result of the call + */ + public boolean remove(Object o) { + if (o == null) return false; + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int i = takeIndex; + int k = 0; + for (;;) { + if (k++ >= count) + return false; + if (o.equals(items[i])) { + removeAt(i); + return true; + } + i = inc(i); + } + + } finally { + lock.unlock(); + } + } + + /** + * Returns true if this queue contains the specified element. + * More formally, returns true if and only if this queue contains + * at least one element e such that o.equals(e). + * + * @param o object to be checked for containment in this queue + * @return true if this queue contains the specified element + */ + public boolean contains(Object o) { + if (o == null) return false; + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int i = takeIndex; + int k = 0; + while (k++ < count) { + if (o.equals(items[i])) + return true; + i = inc(i); + } + return false; + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this queue, in + * proper sequence. + * + *

The returned array will be "safe" in that no references to it are + * maintained by this queue. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this queue + */ + public Object[] toArray() { + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + Object[] a = new Object[count]; + int k = 0; + int i = takeIndex; + while (k < count) { + a[k++] = items[i]; + i = inc(i); + } + return a; + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this queue, in + * proper sequence; the runtime type of the returned array is that of + * the specified array. If the queue fits in the specified array, it + * is returned therein. Otherwise, a new array is allocated with the + * runtime type of the specified array and the size of this queue. + * + *

If this queue fits in the specified array with room to spare + * (i.e., the array has more elements than this queue), the element in + * the array immediately following the end of the queue is set to + * null. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

Suppose x is a queue known to contain only strings. + * The following code can be used to dump the queue into a newly + * allocated array of String: + * + *

+     *     String[] y = x.toArray(new String[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of the queue are to + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose + * @return an array containing all of the elements in this queue + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this queue + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + if (a.length < count) + a = (T[])java.lang.reflect.Array.newInstance( + a.getClass().getComponentType(), + count + ); + + int k = 0; + int i = takeIndex; + while (k < count) { + a[k++] = (T)items[i]; + i = inc(i); + } + if (a.length > count) + a[count] = null; + return a; + } finally { + lock.unlock(); + } + } + + public String toString() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return super.toString(); + } finally { + lock.unlock(); + } + } + + /** + * Atomically removes all of the elements from this queue. + * The queue will be empty after this call returns. + */ + public void clear() { + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int i = takeIndex; + int k = count; + while (k-- > 0) { + items[i] = null; + i = inc(i); + } + count = 0; + putIndex = 0; + takeIndex = 0; + notFull.signalAll(); + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int i = takeIndex; + int n = 0; + int max = count; + while (n < max) { + c.add(items[i]); + items[i] = null; + i = inc(i); + ++n; + } + if (n > 0) { + count = 0; + putIndex = 0; + takeIndex = 0; + notFull.signalAll(); + } + return n; + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c, int maxElements) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + if (maxElements <= 0) + return 0; + final E[] items = this.items; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int i = takeIndex; + int n = 0; + int sz = count; + int max = (maxElements < count)? maxElements : count; + while (n < max) { + c.add(items[i]); + items[i] = null; + i = inc(i); + ++n; + } + if (n > 0) { + count -= n; + takeIndex = i; + notFull.signalAll(); + } + return n; + } finally { + lock.unlock(); + } + } + + + /** + * Returns an iterator over the elements in this queue in proper sequence. + * The returned Iterator is a "weakly consistent" iterator that + * will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + * @return an iterator over the elements in this queue in proper sequence + */ + public Iterator iterator() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return new Itr(); + } finally { + lock.unlock(); + } + } + + /** + * Iterator for ArrayBlockingQueue + */ + private class Itr implements Iterator { + /** + * Index of element to be returned by next, + * or a negative number if no such. + */ + private int nextIndex; + + /** + * nextItem holds on to item fields because once we claim + * that an element exists in hasNext(), we must return it in + * the following next() call even if it was in the process of + * being removed when hasNext() was called. + */ + private E nextItem; + + /** + * Index of element returned by most recent call to next. + * Reset to -1 if this element is deleted by a call to remove. + */ + private int lastRet; + + Itr() { + lastRet = -1; + if (count == 0) + nextIndex = -1; + else { + nextIndex = takeIndex; + nextItem = items[takeIndex]; + } + } + + public boolean hasNext() { + /* + * No sync. We can return true by mistake here + * only if this iterator passed across threads, + * which we don't support anyway. + */ + return nextIndex >= 0; + } + + /** + * Checks whether nextIndex is valid; if so setting nextItem. + * Stops iterator when either hits putIndex or sees null item. + */ + private void checkNext() { + if (nextIndex == putIndex) { + nextIndex = -1; + nextItem = null; + } else { + nextItem = items[nextIndex]; + if (nextItem == null) + nextIndex = -1; + } + } + + public E next() { + final ReentrantLock lock = ArrayBlockingQueue.this.lock; + lock.lock(); + try { + if (nextIndex < 0) + throw new NoSuchElementException(); + lastRet = nextIndex; + E x = nextItem; + nextIndex = inc(nextIndex); + checkNext(); + return x; + } finally { + lock.unlock(); + } + } + + public void remove() { + final ReentrantLock lock = ArrayBlockingQueue.this.lock; + lock.lock(); + try { + int i = lastRet; + if (i == -1) + throw new IllegalStateException(); + lastRet = -1; + + int ti = takeIndex; + removeAt(i); + // back up cursor (reset to front if was first element) + nextIndex = (i == ti) ? takeIndex : i; + checkNext(); + } finally { + lock.unlock(); + } + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/BlockingDeque.java b/libjava/classpath/external/jsr166/java/util/concurrent/BlockingDeque.java new file mode 100644 index 00000000000..d77a96555ad --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/BlockingDeque.java @@ -0,0 +1,613 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; + +/** + * A {@link Deque} that additionally supports blocking operations that wait + * for the deque to become non-empty when retrieving an element, and wait for + * space to become available in the deque when storing an element. + * + *

BlockingDeque methods come in four forms, with different ways + * of handling operations that cannot be satisfied immediately, but may be + * satisfied at some point in the future: + * one throws an exception, the second returns a special value (either + * null or false, depending on the operation), the third + * blocks the current thread indefinitely until the operation can succeed, + * and the fourth blocks for only a given maximum time limit before giving + * up. These methods are summarized in the following table: + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
First Element (Head)
Throws exceptionSpecial valueBlocksTimes out
Insert{@link #addFirst addFirst(e)}{@link #offerFirst(Object) offerFirst(e)}{@link #putFirst putFirst(e)}{@link #offerFirst(Object, long, TimeUnit) offerFirst(e, time, unit)}
Remove{@link #removeFirst removeFirst()}{@link #pollFirst pollFirst()}{@link #takeFirst takeFirst()}{@link #pollFirst(long, TimeUnit) pollFirst(time, unit)}
Examine{@link #getFirst getFirst()}{@link #peekFirst peekFirst()}not applicablenot applicable
Last Element (Tail)
Throws exceptionSpecial valueBlocksTimes out
Insert{@link #addLast addLast(e)}{@link #offerLast(Object) offerLast(e)}{@link #putLast putLast(e)}{@link #offerLast(Object, long, TimeUnit) offerLast(e, time, unit)}
Remove{@link #removeLast() removeLast()}{@link #pollLast() pollLast()}{@link #takeLast takeLast()}{@link #pollLast(long, TimeUnit) pollLast(time, unit)}
Examine{@link #getLast getLast()}{@link #peekLast peekLast()}not applicablenot applicable
+ * + *

Like any {@link BlockingQueue}, a BlockingDeque is thread safe, + * does not permit null elements, and may (or may not) be + * capacity-constrained. + * + *

A BlockingDeque implementation may be used directly as a FIFO + * BlockingQueue. The methods inherited from the + * BlockingQueue interface are precisely equivalent to + * BlockingDeque methods as indicated in the following table: + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
BlockingQueue Method Equivalent BlockingDeque Method
Insert
{@link #add(Object) add(e)}{@link #addLast(Object) addLast(e)}
{@link #offer(Object) offer(e)}{@link #offerLast(Object) offerLast(e)}
{@link #put(Object) put(e)}{@link #putLast(Object) putLast(e)}
{@link #offer(Object, long, TimeUnit) offer(e, time, unit)}{@link #offerLast(Object, long, TimeUnit) offerLast(e, time, unit)}
Remove
{@link #remove() remove()}{@link #removeFirst() removeFirst()}
{@link #poll() poll()}{@link #pollFirst() pollFirst()}
{@link #take() take()}{@link #takeFirst() takeFirst()}
{@link #poll(long, TimeUnit) poll(time, unit)}{@link #pollFirst(long, TimeUnit) pollFirst(time, unit)}
Examine
{@link #element() element()}{@link #getFirst() getFirst()}
{@link #peek() peek()}{@link #peekFirst() peekFirst()}
+ * + *

Memory consistency effects: As with other concurrent + * collections, actions in a thread prior to placing an object into a + * {@code BlockingDeque} + * happen-before + * actions subsequent to the access or removal of that element from + * the {@code BlockingDeque} in another thread. + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @since 1.6 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public interface BlockingDeque extends BlockingQueue, Deque { + /* + * We have "diamond" multiple interface inheritance here, and that + * introduces ambiguities. Methods might end up with different + * specs depending on the branch chosen by javadoc. Thus a lot of + * methods specs here are copied from superinterfaces. + */ + + /** + * Inserts the specified element at the front of this deque if it is + * possible to do so immediately without violating capacity restrictions, + * throwing an IllegalStateException if no space is currently + * available. When using a capacity-restricted deque, it is generally + * preferable to use {@link #offerFirst(Object) offerFirst}. + * + * @param e the element to add + * @throws IllegalStateException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException {@inheritDoc} + */ + void addFirst(E e); + + /** + * Inserts the specified element at the end of this deque if it is + * possible to do so immediately without violating capacity restrictions, + * throwing an IllegalStateException if no space is currently + * available. When using a capacity-restricted deque, it is generally + * preferable to use {@link #offerLast(Object) offerLast}. + * + * @param e the element to add + * @throws IllegalStateException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException {@inheritDoc} + */ + void addLast(E e); + + /** + * Inserts the specified element at the front of this deque if it is + * possible to do so immediately without violating capacity restrictions, + * returning true upon success and false if no space is + * currently available. + * When using a capacity-restricted deque, this method is generally + * preferable to the {@link #addFirst(Object) addFirst} method, which can + * fail to insert an element only by throwing an exception. + * + * @param e the element to add + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException {@inheritDoc} + */ + boolean offerFirst(E e); + + /** + * Inserts the specified element at the end of this deque if it is + * possible to do so immediately without violating capacity restrictions, + * returning true upon success and false if no space is + * currently available. + * When using a capacity-restricted deque, this method is generally + * preferable to the {@link #addLast(Object) addLast} method, which can + * fail to insert an element only by throwing an exception. + * + * @param e the element to add + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException {@inheritDoc} + */ + boolean offerLast(E e); + + /** + * Inserts the specified element at the front of this deque, + * waiting if necessary for space to become available. + * + * @param e the element to add + * @throws InterruptedException if interrupted while waiting + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + void putFirst(E e) throws InterruptedException; + + /** + * Inserts the specified element at the end of this deque, + * waiting if necessary for space to become available. + * + * @param e the element to add + * @throws InterruptedException if interrupted while waiting + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + void putLast(E e) throws InterruptedException; + + /** + * Inserts the specified element at the front of this deque, + * waiting up to the specified wait time if necessary for space to + * become available. + * + * @param e the element to add + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return true if successful, or false if + * the specified waiting time elapses before space is available + * @throws InterruptedException if interrupted while waiting + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offerFirst(E e, long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Inserts the specified element at the end of this deque, + * waiting up to the specified wait time if necessary for space to + * become available. + * + * @param e the element to add + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return true if successful, or false if + * the specified waiting time elapses before space is available + * @throws InterruptedException if interrupted while waiting + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offerLast(E e, long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Retrieves and removes the first element of this deque, waiting + * if necessary until an element becomes available. + * + * @return the head of this deque + * @throws InterruptedException if interrupted while waiting + */ + E takeFirst() throws InterruptedException; + + /** + * Retrieves and removes the last element of this deque, waiting + * if necessary until an element becomes available. + * + * @return the tail of this deque + * @throws InterruptedException if interrupted while waiting + */ + E takeLast() throws InterruptedException; + + /** + * Retrieves and removes the first element of this deque, waiting + * up to the specified wait time if necessary for an element to + * become available. + * + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return the head of this deque, or null if the specified + * waiting time elapses before an element is available + * @throws InterruptedException if interrupted while waiting + */ + E pollFirst(long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Retrieves and removes the last element of this deque, waiting + * up to the specified wait time if necessary for an element to + * become available. + * + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return the tail of this deque, or null if the specified + * waiting time elapses before an element is available + * @throws InterruptedException if interrupted while waiting + */ + E pollLast(long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Removes the first occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + * @param o element to be removed from this deque, if present + * @return true if an element was removed as a result of this call + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null (optional) + */ + boolean removeFirstOccurrence(Object o); + + /** + * Removes the last occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the last element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + * @param o element to be removed from this deque, if present + * @return true if an element was removed as a result of this call + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null (optional) + */ + boolean removeLastOccurrence(Object o); + + // *** BlockingQueue methods *** + + /** + * Inserts the specified element into the queue represented by this deque + * (in other words, at the tail of this deque) if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and throwing an + * IllegalStateException if no space is currently available. + * When using a capacity-restricted deque, it is generally preferable to + * use {@link #offer(Object) offer}. + * + *

This method is equivalent to {@link #addLast(Object) addLast}. + * + * @param e the element to add + * @throws IllegalStateException {@inheritDoc} + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean add(E e); + + /** + * Inserts the specified element into the queue represented by this deque + * (in other words, at the tail of this deque) if it is possible to do so + * immediately without violating capacity restrictions, returning + * true upon success and false if no space is currently + * available. When using a capacity-restricted deque, this method is + * generally preferable to the {@link #add} method, which can fail to + * insert an element only by throwing an exception. + * + *

This method is equivalent to {@link #offerLast(Object) offerLast}. + * + * @param e the element to add + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offer(E e); + + /** + * Inserts the specified element into the queue represented by this deque + * (in other words, at the tail of this deque), waiting if necessary for + * space to become available. + * + *

This method is equivalent to {@link #putLast(Object) putLast}. + * + * @param e the element to add + * @throws InterruptedException {@inheritDoc} + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + void put(E e) throws InterruptedException; + + /** + * Inserts the specified element into the queue represented by this deque + * (in other words, at the tail of this deque), waiting up to the + * specified wait time if necessary for space to become available. + * + *

This method is equivalent to + * {@link #offerLast(Object,long,TimeUnit) offerLast}. + * + * @param e the element to add + * @return true if the element was added to this deque, else + * false + * @throws InterruptedException {@inheritDoc} + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this deque + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this deque + */ + boolean offer(E e, long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque). + * This method differs from {@link #poll poll} only in that it + * throws an exception if this deque is empty. + * + *

This method is equivalent to {@link #removeFirst() removeFirst}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException if this deque is empty + */ + E remove(); + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque), or returns + * null if this deque is empty. + * + *

This method is equivalent to {@link #pollFirst()}. + * + * @return the head of this deque, or null if this deque is empty + */ + E poll(); + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque), waiting if + * necessary until an element becomes available. + * + *

This method is equivalent to {@link #takeFirst() takeFirst}. + * + * @return the head of this deque + * @throws InterruptedException if interrupted while waiting + */ + E take() throws InterruptedException; + + /** + * Retrieves and removes the head of the queue represented by this deque + * (in other words, the first element of this deque), waiting up to the + * specified wait time if necessary for an element to become available. + * + *

This method is equivalent to + * {@link #pollFirst(long,TimeUnit) pollFirst}. + * + * @return the head of this deque, or null if the + * specified waiting time elapses before an element is available + * @throws InterruptedException if interrupted while waiting + */ + E poll(long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque (in other words, the first element of this deque). + * This method differs from {@link #peek peek} only in that it throws an + * exception if this deque is empty. + * + *

This method is equivalent to {@link #getFirst() getFirst}. + * + * @return the head of this deque + * @throws NoSuchElementException if this deque is empty + */ + E element(); + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque (in other words, the first element of this deque), or + * returns null if this deque is empty. + * + *

This method is equivalent to {@link #peekFirst() peekFirst}. + * + * @return the head of this deque, or null if this deque is empty + */ + E peek(); + + /** + * Removes the first occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + *

This method is equivalent to + * {@link #removeFirstOccurrence(Object) removeFirstOccurrence}. + * + * @param o element to be removed from this deque, if present + * @return true if this deque changed as a result of the call + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null (optional) + */ + boolean remove(Object o); + + /** + * Returns true if this deque contains the specified element. + * More formally, returns true if and only if this deque contains + * at least one element e such that o.equals(e). + * + * @param o object to be checked for containment in this deque + * @return true if this deque contains the specified element + * @throws ClassCastException if the class of the specified element + * is incompatible with this deque (optional) + * @throws NullPointerException if the specified element is null (optional) + */ + public boolean contains(Object o); + + /** + * Returns the number of elements in this deque. + * + * @return the number of elements in this deque + */ + public int size(); + + /** + * Returns an iterator over the elements in this deque in proper sequence. + * The elements will be returned in order from first (head) to last (tail). + * + * @return an iterator over the elements in this deque in proper sequence + */ + Iterator iterator(); + + // *** Stack methods *** + + /** + * Pushes an element onto the stack represented by this deque. In other + * words, inserts the element at the front of this deque unless it would + * violate capacity restrictions. + * + *

This method is equivalent to {@link #addFirst(Object) addFirst}. + * + * @throws IllegalStateException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException {@inheritDoc} + */ + void push(E e); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/BlockingQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/BlockingQueue.java new file mode 100644 index 00000000000..b47cc984273 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/BlockingQueue.java @@ -0,0 +1,344 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +import java.util.Collection; +import java.util.Queue; + +/** + * A {@link java.util.Queue} that additionally supports operations + * that wait for the queue to become non-empty when retrieving an + * element, and wait for space to become available in the queue when + * storing an element. + * + *

BlockingQueue methods come in four forms, with different ways + * of handling operations that cannot be satisfied immediately, but may be + * satisfied at some point in the future: + * one throws an exception, the second returns a special value (either + * null or false, depending on the operation), the third + * blocks the current thread indefinitely until the operation can succeed, + * and the fourth blocks for only a given maximum time limit before giving + * up. These methods are summarized in the following table: + * + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Throws exceptionSpecial valueBlocksTimes out
Insert{@link #add add(e)}{@link #offer offer(e)}{@link #put put(e)}{@link #offer(Object, long, TimeUnit) offer(e, time, unit)}
Remove{@link #remove remove()}{@link #poll poll()}{@link #take take()}{@link #poll(long, TimeUnit) poll(time, unit)}
Examine{@link #element element()}{@link #peek peek()}not applicablenot applicable
+ * + *

A BlockingQueue does not accept null elements. + * Implementations throw NullPointerException on attempts + * to add, put or offer a null. A + * null is used as a sentinel value to indicate failure of + * poll operations. + * + *

A BlockingQueue may be capacity bounded. At any given + * time it may have a remainingCapacity beyond which no + * additional elements can be put without blocking. + * A BlockingQueue without any intrinsic capacity constraints always + * reports a remaining capacity of Integer.MAX_VALUE. + * + *

BlockingQueue implementations are designed to be used + * primarily for producer-consumer queues, but additionally support + * the {@link java.util.Collection} interface. So, for example, it is + * possible to remove an arbitrary element from a queue using + * remove(x). However, such operations are in general + * not performed very efficiently, and are intended for only + * occasional use, such as when a queued message is cancelled. + * + *

BlockingQueue implementations are thread-safe. All + * queuing methods achieve their effects atomically using internal + * locks or other forms of concurrency control. However, the + * bulk Collection operations addAll, + * containsAll, retainAll and removeAll are + * not necessarily performed atomically unless specified + * otherwise in an implementation. So it is possible, for example, for + * addAll(c) to fail (throwing an exception) after adding + * only some of the elements in c. + * + *

A BlockingQueue does not intrinsically support + * any kind of "close" or "shutdown" operation to + * indicate that no more items will be added. The needs and usage of + * such features tend to be implementation-dependent. For example, a + * common tactic is for producers to insert special + * end-of-stream or poison objects, that are + * interpreted accordingly when taken by consumers. + * + *

+ * Usage example, based on a typical producer-consumer scenario. + * Note that a BlockingQueue can safely be used with multiple + * producers and multiple consumers. + *

+ * class Producer implements Runnable {
+ *   private final BlockingQueue queue;
+ *   Producer(BlockingQueue q) { queue = q; }
+ *   public void run() {
+ *     try {
+ *       while (true) { queue.put(produce()); }
+ *     } catch (InterruptedException ex) { ... handle ...}
+ *   }
+ *   Object produce() { ... }
+ * }
+ *
+ * class Consumer implements Runnable {
+ *   private final BlockingQueue queue;
+ *   Consumer(BlockingQueue q) { queue = q; }
+ *   public void run() {
+ *     try {
+ *       while (true) { consume(queue.take()); }
+ *     } catch (InterruptedException ex) { ... handle ...}
+ *   }
+ *   void consume(Object x) { ... }
+ * }
+ *
+ * class Setup {
+ *   void main() {
+ *     BlockingQueue q = new SomeQueueImplementation();
+ *     Producer p = new Producer(q);
+ *     Consumer c1 = new Consumer(q);
+ *     Consumer c2 = new Consumer(q);
+ *     new Thread(p).start();
+ *     new Thread(c1).start();
+ *     new Thread(c2).start();
+ *   }
+ * }
+ * 
+ * + *

Memory consistency effects: As with other concurrent + * collections, actions in a thread prior to placing an object into a + * {@code BlockingQueue} + * happen-before + * actions subsequent to the access or removal of that element from + * the {@code BlockingQueue} in another thread. + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public interface BlockingQueue extends Queue { + /** + * Inserts the specified element into this queue if it is possible to do + * so immediately without violating capacity restrictions, returning + * true upon success and throwing an + * IllegalStateException if no space is currently available. + * When using a capacity-restricted queue, it is generally preferable to + * use {@link #offer(Object) offer}. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this queue + */ + boolean add(E e); + + /** + * Inserts the specified element into this queue if it is possible to do + * so immediately without violating capacity restrictions, returning + * true upon success and false if no space is currently + * available. When using a capacity-restricted queue, this method is + * generally preferable to {@link #add}, which can fail to insert an + * element only by throwing an exception. + * + * @param e the element to add + * @return true if the element was added to this queue, else + * false + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this queue + */ + boolean offer(E e); + + /** + * Inserts the specified element into this queue, waiting if necessary + * for space to become available. + * + * @param e the element to add + * @throws InterruptedException if interrupted while waiting + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this queue + */ + void put(E e) throws InterruptedException; + + /** + * Inserts the specified element into this queue, waiting up to the + * specified wait time if necessary for space to become available. + * + * @param e the element to add + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return true if successful, or false if + * the specified waiting time elapses before space is available + * @throws InterruptedException if interrupted while waiting + * @throws ClassCastException if the class of the specified element + * prevents it from being added to this queue + * @throws NullPointerException if the specified element is null + * @throws IllegalArgumentException if some property of the specified + * element prevents it from being added to this queue + */ + boolean offer(E e, long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Retrieves and removes the head of this queue, waiting if necessary + * until an element becomes available. + * + * @return the head of this queue + * @throws InterruptedException if interrupted while waiting + */ + E take() throws InterruptedException; + + /** + * Retrieves and removes the head of this queue, waiting up to the + * specified wait time if necessary for an element to become available. + * + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return the head of this queue, or null if the + * specified waiting time elapses before an element is available + * @throws InterruptedException if interrupted while waiting + */ + E poll(long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Returns the number of additional elements that this queue can ideally + * (in the absence of memory or resource constraints) accept without + * blocking, or Integer.MAX_VALUE if there is no intrinsic + * limit. + * + *

Note that you cannot always tell if an attempt to insert + * an element will succeed by inspecting remainingCapacity + * because it may be the case that another thread is about to + * insert or remove an element. + * + * @return the remaining capacity + */ + int remainingCapacity(); + + /** + * Removes a single instance of the specified element from this queue, + * if it is present. More formally, removes an element e such + * that o.equals(e), if this queue contains one or more such + * elements. + * Returns true if this queue contained the specified element + * (or equivalently, if this queue changed as a result of the call). + * + * @param o element to be removed from this queue, if present + * @return true if this queue changed as a result of the call + * @throws ClassCastException if the class of the specified element + * is incompatible with this queue (optional) + * @throws NullPointerException if the specified element is null (optional) + */ + boolean remove(Object o); + + /** + * Returns true if this queue contains the specified element. + * More formally, returns true if and only if this queue contains + * at least one element e such that o.equals(e). + * + * @param o object to be checked for containment in this queue + * @return true if this queue contains the specified element + * @throws ClassCastException if the class of the specified element + * is incompatible with this queue (optional) + * @throws NullPointerException if the specified element is null (optional) + */ + public boolean contains(Object o); + + /** + * Removes all available elements from this queue and adds them + * to the given collection. This operation may be more + * efficient than repeatedly polling this queue. A failure + * encountered while attempting to add elements to + * collection c may result in elements being in neither, + * either or both collections when the associated exception is + * thrown. Attempts to drain a queue to itself result in + * IllegalArgumentException. Further, the behavior of + * this operation is undefined if the specified collection is + * modified while the operation is in progress. + * + * @param c the collection to transfer elements into + * @return the number of elements transferred + * @throws UnsupportedOperationException if addition of elements + * is not supported by the specified collection + * @throws ClassCastException if the class of an element of this queue + * prevents it from being added to the specified collection + * @throws NullPointerException if the specified collection is null + * @throws IllegalArgumentException if the specified collection is this + * queue, or some property of an element of this queue prevents + * it from being added to the specified collection + */ + int drainTo(Collection c); + + /** + * Removes at most the given number of available elements from + * this queue and adds them to the given collection. A failure + * encountered while attempting to add elements to + * collection c may result in elements being in neither, + * either or both collections when the associated exception is + * thrown. Attempts to drain a queue to itself result in + * IllegalArgumentException. Further, the behavior of + * this operation is undefined if the specified collection is + * modified while the operation is in progress. + * + * @param c the collection to transfer elements into + * @param maxElements the maximum number of elements to transfer + * @return the number of elements transferred + * @throws UnsupportedOperationException if addition of elements + * is not supported by the specified collection + * @throws ClassCastException if the class of an element of this queue + * prevents it from being added to the specified collection + * @throws NullPointerException if the specified collection is null + * @throws IllegalArgumentException if the specified collection is this + * queue, or some property of an element of this queue prevents + * it from being added to the specified collection + */ + int drainTo(Collection c, int maxElements); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/BrokenBarrierException.java b/libjava/classpath/external/jsr166/java/util/concurrent/BrokenBarrierException.java new file mode 100644 index 00000000000..3f93fbb9dc4 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/BrokenBarrierException.java @@ -0,0 +1,38 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * Exception thrown when a thread tries to wait upon a barrier that is + * in a broken state, or which enters the broken state while the thread + * is waiting. + * + * @see CyclicBarrier + * + * @since 1.5 + * @author Doug Lea + * + */ +public class BrokenBarrierException extends Exception { + private static final long serialVersionUID = 7117394618823254244L; + + /** + * Constructs a BrokenBarrierException with no specified detail + * message. + */ + public BrokenBarrierException() {} + + /** + * Constructs a BrokenBarrierException with the specified + * detail message. + * + * @param message the detail message + */ + public BrokenBarrierException(String message) { + super(message); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Callable.java b/libjava/classpath/external/jsr166/java/util/concurrent/Callable.java new file mode 100644 index 00000000000..abc4d04075a --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Callable.java @@ -0,0 +1,36 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A task that returns a result and may throw an exception. + * Implementors define a single method with no arguments called + * call. + * + *

The Callable interface is similar to {@link + * java.lang.Runnable}, in that both are designed for classes whose + * instances are potentially executed by another thread. A + * Runnable, however, does not return a result and cannot + * throw a checked exception. + * + *

The {@link Executors} class contains utility methods to + * convert from other common forms to Callable classes. + * + * @see Executor + * @since 1.5 + * @author Doug Lea + * @param the result type of method call + */ +public interface Callable { + /** + * Computes a result, or throws an exception if unable to do so. + * + * @return computed result + * @throws Exception if unable to compute a result + */ + V call() throws Exception; +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/CancellationException.java b/libjava/classpath/external/jsr166/java/util/concurrent/CancellationException.java new file mode 100644 index 00000000000..2c29544a0ea --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/CancellationException.java @@ -0,0 +1,34 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * Exception indicating that the result of a value-producing task, + * such as a {@link FutureTask}, cannot be retrieved because the task + * was cancelled. + * + * @since 1.5 + * @author Doug Lea + */ +public class CancellationException extends IllegalStateException { + private static final long serialVersionUID = -9202173006928992231L; + + /** + * Constructs a CancellationException with no detail message. + */ + public CancellationException() {} + + /** + * Constructs a CancellationException with the specified detail + * message. + * + * @param message the detail message + */ + public CancellationException(String message) { + super(message); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/CompletionService.java b/libjava/classpath/external/jsr166/java/util/concurrent/CompletionService.java new file mode 100644 index 00000000000..df9f719c49d --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/CompletionService.java @@ -0,0 +1,97 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A service that decouples the production of new asynchronous tasks + * from the consumption of the results of completed tasks. Producers + * submit tasks for execution. Consumers take + * completed tasks and process their results in the order they + * complete. A CompletionService can for example be used to + * manage asynchronous IO, in which tasks that perform reads are + * submitted in one part of a program or system, and then acted upon + * in a different part of the program when the reads complete, + * possibly in a different order than they were requested. + * + *

Typically, a CompletionService relies on a separate + * {@link Executor} to actually execute the tasks, in which case the + * CompletionService only manages an internal completion + * queue. The {@link ExecutorCompletionService} class provides an + * implementation of this approach. + * + *

Memory consistency effects: Actions in a thread prior to + * submitting a task to a {@code CompletionService} + * happen-before + * actions taken by that task, which in turn happen-before + * actions following a successful return from the corresponding {@code take()}. + * + */ +public interface CompletionService { + /** + * Submits a value-returning task for execution and returns a Future + * representing the pending results of the task. Upon completion, + * this task may be taken or polled. + * + * @param task the task to submit + * @return a Future representing pending completion of the task + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if the task is null + */ + Future submit(Callable task); + + /** + * Submits a Runnable task for execution and returns a Future + * representing that task. Upon completion, this task may be + * taken or polled. + * + * @param task the task to submit + * @param result the result to return upon successful completion + * @return a Future representing pending completion of the task, + * and whose get() method will return the given + * result value upon completion + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if the task is null + */ + Future submit(Runnable task, V result); + + /** + * Retrieves and removes the Future representing the next + * completed task, waiting if none are yet present. + * + * @return the Future representing the next completed task + * @throws InterruptedException if interrupted while waiting + */ + Future take() throws InterruptedException; + + + /** + * Retrieves and removes the Future representing the next + * completed task or null if none are present. + * + * @return the Future representing the next completed task, or + * null if none are present + */ + Future poll(); + + /** + * Retrieves and removes the Future representing the next + * completed task, waiting if necessary up to the specified wait + * time if none are yet present. + * + * @param timeout how long to wait before giving up, in units of + * unit + * @param unit a TimeUnit determining how to interpret the + * timeout parameter + * @return the Future representing the next completed task or + * null if the specified waiting time elapses + * before one is present + * @throws InterruptedException if interrupted while waiting + */ + Future poll(long timeout, TimeUnit unit) throws InterruptedException; +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentHashMap.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentHashMap.java new file mode 100644 index 00000000000..7f6d4493c06 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentHashMap.java @@ -0,0 +1,1277 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; +import java.util.*; +import java.io.Serializable; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; + +/** + * A hash table supporting full concurrency of retrievals and + * adjustable expected concurrency for updates. This class obeys the + * same functional specification as {@link java.util.Hashtable}, and + * includes versions of methods corresponding to each method of + * Hashtable. However, even though all operations are + * thread-safe, retrieval operations do not entail locking, + * and there is not any support for locking the entire table + * in a way that prevents all access. This class is fully + * interoperable with Hashtable in programs that rely on its + * thread safety but not on its synchronization details. + * + *

Retrieval operations (including get) generally do not + * block, so may overlap with update operations (including + * put and remove). Retrievals reflect the results + * of the most recently completed update operations holding + * upon their onset. For aggregate operations such as putAll + * and clear, concurrent retrievals may reflect insertion or + * removal of only some entries. Similarly, Iterators and + * Enumerations return elements reflecting the state of the hash table + * at some point at or since the creation of the iterator/enumeration. + * They do not throw {@link ConcurrentModificationException}. + * However, iterators are designed to be used by only one thread at a time. + * + *

The allowed concurrency among update operations is guided by + * the optional concurrencyLevel constructor argument + * (default 16), which is used as a hint for internal sizing. The + * table is internally partitioned to try to permit the indicated + * number of concurrent updates without contention. Because placement + * in hash tables is essentially random, the actual concurrency will + * vary. Ideally, you should choose a value to accommodate as many + * threads as will ever concurrently modify the table. Using a + * significantly higher value than you need can waste space and time, + * and a significantly lower value can lead to thread contention. But + * overestimates and underestimates within an order of magnitude do + * not usually have much noticeable impact. A value of one is + * appropriate when it is known that only one thread will modify and + * all others will only read. Also, resizing this or any other kind of + * hash table is a relatively slow operation, so, when possible, it is + * a good idea to provide estimates of expected table sizes in + * constructors. + * + *

This class and its views and iterators implement all of the + * optional methods of the {@link Map} and {@link Iterator} + * interfaces. + * + *

Like {@link Hashtable} but unlike {@link HashMap}, this class + * does not allow null to be used as a key or value. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of keys maintained by this map + * @param the type of mapped values + */ +public class ConcurrentHashMap extends AbstractMap + implements ConcurrentMap, Serializable { + private static final long serialVersionUID = 7249069246763182397L; + + /* + * The basic strategy is to subdivide the table among Segments, + * each of which itself is a concurrently readable hash table. + */ + + /* ---------------- Constants -------------- */ + + /** + * The default initial capacity for this table, + * used when not otherwise specified in a constructor. + */ + static final int DEFAULT_INITIAL_CAPACITY = 16; + + /** + * The default load factor for this table, used when not + * otherwise specified in a constructor. + */ + static final float DEFAULT_LOAD_FACTOR = 0.75f; + + /** + * The default concurrency level for this table, used when not + * otherwise specified in a constructor. + */ + static final int DEFAULT_CONCURRENCY_LEVEL = 16; + + /** + * The maximum capacity, used if a higher value is implicitly + * specified by either of the constructors with arguments. MUST + * be a power of two <= 1<<30 to ensure that entries are indexable + * using ints. + */ + static final int MAXIMUM_CAPACITY = 1 << 30; + + /** + * The maximum number of segments to allow; used to bound + * constructor arguments. + */ + static final int MAX_SEGMENTS = 1 << 16; // slightly conservative + + /** + * Number of unsynchronized retries in size and containsValue + * methods before resorting to locking. This is used to avoid + * unbounded retries if tables undergo continuous modification + * which would make it impossible to obtain an accurate result. + */ + static final int RETRIES_BEFORE_LOCK = 2; + + /* ---------------- Fields -------------- */ + + /** + * Mask value for indexing into segments. The upper bits of a + * key's hash code are used to choose the segment. + */ + final int segmentMask; + + /** + * Shift value for indexing within segments. + */ + final int segmentShift; + + /** + * The segments, each of which is a specialized hash table + */ + final Segment[] segments; + + transient Set keySet; + transient Set> entrySet; + transient Collection values; + + /* ---------------- Small Utilities -------------- */ + + /** + * Applies a supplemental hash function to a given hashCode, which + * defends against poor quality hash functions. This is critical + * because ConcurrentHashMap uses power-of-two length hash tables, + * that otherwise encounter collisions for hashCodes that do not + * differ in lower bits. + */ + private static int hash(int h) { + // This function ensures that hashCodes that differ only by + // constant multiples at each bit position have a bounded + // number of collisions (approximately 8 at default load factor). + h ^= (h >>> 20) ^ (h >>> 12); + return h ^ (h >>> 7) ^ (h >>> 4); + } + + /** + * Returns the segment that should be used for key with given hash + * @param hash the hash code for the key + * @return the segment + */ + final Segment segmentFor(int hash) { + return segments[(hash >>> segmentShift) & segmentMask]; + } + + /* ---------------- Inner Classes -------------- */ + + /** + * ConcurrentHashMap list entry. Note that this is never exported + * out as a user-visible Map.Entry. + * + * Because the value field is volatile, not final, it is legal wrt + * the Java Memory Model for an unsynchronized reader to see null + * instead of initial value when read via a data race. Although a + * reordering leading to this is not likely to ever actually + * occur, the Segment.readValueUnderLock method is used as a + * backup in case a null (pre-initialized) value is ever seen in + * an unsynchronized access method. + */ + static final class HashEntry { + final K key; + final int hash; + volatile V value; + final HashEntry next; + + HashEntry(K key, int hash, HashEntry next, V value) { + this.key = key; + this.hash = hash; + this.next = next; + this.value = value; + } + + @SuppressWarnings("unchecked") + static final HashEntry[] newArray(int i) { + return new HashEntry[i]; + } + } + + /** + * Segments are specialized versions of hash tables. This + * subclasses from ReentrantLock opportunistically, just to + * simplify some locking and avoid separate construction. + */ + static final class Segment extends ReentrantLock implements Serializable { + /* + * Segments maintain a table of entry lists that are ALWAYS + * kept in a consistent state, so can be read without locking. + * Next fields of nodes are immutable (final). All list + * additions are performed at the front of each bin. This + * makes it easy to check changes, and also fast to traverse. + * When nodes would otherwise be changed, new nodes are + * created to replace them. This works well for hash tables + * since the bin lists tend to be short. (The average length + * is less than two for the default load factor threshold.) + * + * Read operations can thus proceed without locking, but rely + * on selected uses of volatiles to ensure that completed + * write operations performed by other threads are + * noticed. For most purposes, the "count" field, tracking the + * number of elements, serves as that volatile variable + * ensuring visibility. This is convenient because this field + * needs to be read in many read operations anyway: + * + * - All (unsynchronized) read operations must first read the + * "count" field, and should not look at table entries if + * it is 0. + * + * - All (synchronized) write operations should write to + * the "count" field after structurally changing any bin. + * The operations must not take any action that could even + * momentarily cause a concurrent read operation to see + * inconsistent data. This is made easier by the nature of + * the read operations in Map. For example, no operation + * can reveal that the table has grown but the threshold + * has not yet been updated, so there are no atomicity + * requirements for this with respect to reads. + * + * As a guide, all critical volatile reads and writes to the + * count field are marked in code comments. + */ + + private static final long serialVersionUID = 2249069246763182397L; + + /** + * The number of elements in this segment's region. + */ + transient volatile int count; + + /** + * Number of updates that alter the size of the table. This is + * used during bulk-read methods to make sure they see a + * consistent snapshot: If modCounts change during a traversal + * of segments computing size or checking containsValue, then + * we might have an inconsistent view of state so (usually) + * must retry. + */ + transient int modCount; + + /** + * The table is rehashed when its size exceeds this threshold. + * (The value of this field is always (int)(capacity * + * loadFactor).) + */ + transient int threshold; + + /** + * The per-segment table. + */ + transient volatile HashEntry[] table; + + /** + * The load factor for the hash table. Even though this value + * is same for all segments, it is replicated to avoid needing + * links to outer object. + * @serial + */ + final float loadFactor; + + Segment(int initialCapacity, float lf) { + loadFactor = lf; + setTable(HashEntry.newArray(initialCapacity)); + } + + @SuppressWarnings("unchecked") + static final Segment[] newArray(int i) { + return new Segment[i]; + } + + /** + * Sets table to new HashEntry array. + * Call only while holding lock or in constructor. + */ + void setTable(HashEntry[] newTable) { + threshold = (int)(newTable.length * loadFactor); + table = newTable; + } + + /** + * Returns properly casted first entry of bin for given hash. + */ + HashEntry getFirst(int hash) { + HashEntry[] tab = table; + return tab[hash & (tab.length - 1)]; + } + + /** + * Reads value field of an entry under lock. Called if value + * field ever appears to be null. This is possible only if a + * compiler happens to reorder a HashEntry initialization with + * its table assignment, which is legal under memory model + * but is not known to ever occur. + */ + V readValueUnderLock(HashEntry e) { + lock(); + try { + return e.value; + } finally { + unlock(); + } + } + + /* Specialized implementations of map methods */ + + V get(Object key, int hash) { + if (count != 0) { // read-volatile + HashEntry e = getFirst(hash); + while (e != null) { + if (e.hash == hash && key.equals(e.key)) { + V v = e.value; + if (v != null) + return v; + return readValueUnderLock(e); // recheck + } + e = e.next; + } + } + return null; + } + + boolean containsKey(Object key, int hash) { + if (count != 0) { // read-volatile + HashEntry e = getFirst(hash); + while (e != null) { + if (e.hash == hash && key.equals(e.key)) + return true; + e = e.next; + } + } + return false; + } + + boolean containsValue(Object value) { + if (count != 0) { // read-volatile + HashEntry[] tab = table; + int len = tab.length; + for (int i = 0 ; i < len; i++) { + for (HashEntry e = tab[i]; e != null; e = e.next) { + V v = e.value; + if (v == null) // recheck + v = readValueUnderLock(e); + if (value.equals(v)) + return true; + } + } + } + return false; + } + + boolean replace(K key, int hash, V oldValue, V newValue) { + lock(); + try { + HashEntry e = getFirst(hash); + while (e != null && (e.hash != hash || !key.equals(e.key))) + e = e.next; + + boolean replaced = false; + if (e != null && oldValue.equals(e.value)) { + replaced = true; + e.value = newValue; + } + return replaced; + } finally { + unlock(); + } + } + + V replace(K key, int hash, V newValue) { + lock(); + try { + HashEntry e = getFirst(hash); + while (e != null && (e.hash != hash || !key.equals(e.key))) + e = e.next; + + V oldValue = null; + if (e != null) { + oldValue = e.value; + e.value = newValue; + } + return oldValue; + } finally { + unlock(); + } + } + + + V put(K key, int hash, V value, boolean onlyIfAbsent) { + lock(); + try { + int c = count; + if (c++ > threshold) // ensure capacity + rehash(); + HashEntry[] tab = table; + int index = hash & (tab.length - 1); + HashEntry first = tab[index]; + HashEntry e = first; + while (e != null && (e.hash != hash || !key.equals(e.key))) + e = e.next; + + V oldValue; + if (e != null) { + oldValue = e.value; + if (!onlyIfAbsent) + e.value = value; + } + else { + oldValue = null; + ++modCount; + tab[index] = new HashEntry(key, hash, first, value); + count = c; // write-volatile + } + return oldValue; + } finally { + unlock(); + } + } + + void rehash() { + HashEntry[] oldTable = table; + int oldCapacity = oldTable.length; + if (oldCapacity >= MAXIMUM_CAPACITY) + return; + + /* + * Reclassify nodes in each list to new Map. Because we are + * using power-of-two expansion, the elements from each bin + * must either stay at same index, or move with a power of two + * offset. We eliminate unnecessary node creation by catching + * cases where old nodes can be reused because their next + * fields won't change. Statistically, at the default + * threshold, only about one-sixth of them need cloning when + * a table doubles. The nodes they replace will be garbage + * collectable as soon as they are no longer referenced by any + * reader thread that may be in the midst of traversing table + * right now. + */ + + HashEntry[] newTable = HashEntry.newArray(oldCapacity<<1); + threshold = (int)(newTable.length * loadFactor); + int sizeMask = newTable.length - 1; + for (int i = 0; i < oldCapacity ; i++) { + // We need to guarantee that any existing reads of old Map can + // proceed. So we cannot yet null out each bin. + HashEntry e = oldTable[i]; + + if (e != null) { + HashEntry next = e.next; + int idx = e.hash & sizeMask; + + // Single node on list + if (next == null) + newTable[idx] = e; + + else { + // Reuse trailing consecutive sequence at same slot + HashEntry lastRun = e; + int lastIdx = idx; + for (HashEntry last = next; + last != null; + last = last.next) { + int k = last.hash & sizeMask; + if (k != lastIdx) { + lastIdx = k; + lastRun = last; + } + } + newTable[lastIdx] = lastRun; + + // Clone all remaining nodes + for (HashEntry p = e; p != lastRun; p = p.next) { + int k = p.hash & sizeMask; + HashEntry n = newTable[k]; + newTable[k] = new HashEntry(p.key, p.hash, + n, p.value); + } + } + } + } + table = newTable; + } + + /** + * Remove; match on key only if value null, else match both. + */ + V remove(Object key, int hash, Object value) { + lock(); + try { + int c = count - 1; + HashEntry[] tab = table; + int index = hash & (tab.length - 1); + HashEntry first = tab[index]; + HashEntry e = first; + while (e != null && (e.hash != hash || !key.equals(e.key))) + e = e.next; + + V oldValue = null; + if (e != null) { + V v = e.value; + if (value == null || value.equals(v)) { + oldValue = v; + // All entries following removed node can stay + // in list, but all preceding ones need to be + // cloned. + ++modCount; + HashEntry newFirst = e.next; + for (HashEntry p = first; p != e; p = p.next) + newFirst = new HashEntry(p.key, p.hash, + newFirst, p.value); + tab[index] = newFirst; + count = c; // write-volatile + } + } + return oldValue; + } finally { + unlock(); + } + } + + void clear() { + if (count != 0) { + lock(); + try { + HashEntry[] tab = table; + for (int i = 0; i < tab.length ; i++) + tab[i] = null; + ++modCount; + count = 0; // write-volatile + } finally { + unlock(); + } + } + } + } + + + + /* ---------------- Public operations -------------- */ + + /** + * Creates a new, empty map with the specified initial + * capacity, load factor and concurrency level. + * + * @param initialCapacity the initial capacity. The implementation + * performs internal sizing to accommodate this many elements. + * @param loadFactor the load factor threshold, used to control resizing. + * Resizing may be performed when the average number of elements per + * bin exceeds this threshold. + * @param concurrencyLevel the estimated number of concurrently + * updating threads. The implementation performs internal sizing + * to try to accommodate this many threads. + * @throws IllegalArgumentException if the initial capacity is + * negative or the load factor or concurrencyLevel are + * nonpositive. + */ + public ConcurrentHashMap(int initialCapacity, + float loadFactor, int concurrencyLevel) { + if (!(loadFactor > 0) || initialCapacity < 0 || concurrencyLevel <= 0) + throw new IllegalArgumentException(); + + if (concurrencyLevel > MAX_SEGMENTS) + concurrencyLevel = MAX_SEGMENTS; + + // Find power-of-two sizes best matching arguments + int sshift = 0; + int ssize = 1; + while (ssize < concurrencyLevel) { + ++sshift; + ssize <<= 1; + } + segmentShift = 32 - sshift; + segmentMask = ssize - 1; + this.segments = Segment.newArray(ssize); + + if (initialCapacity > MAXIMUM_CAPACITY) + initialCapacity = MAXIMUM_CAPACITY; + int c = initialCapacity / ssize; + if (c * ssize < initialCapacity) + ++c; + int cap = 1; + while (cap < c) + cap <<= 1; + + for (int i = 0; i < this.segments.length; ++i) + this.segments[i] = new Segment(cap, loadFactor); + } + + /** + * Creates a new, empty map with the specified initial capacity + * and load factor and with the default concurrencyLevel (16). + * + * @param initialCapacity The implementation performs internal + * sizing to accommodate this many elements. + * @param loadFactor the load factor threshold, used to control resizing. + * Resizing may be performed when the average number of elements per + * bin exceeds this threshold. + * @throws IllegalArgumentException if the initial capacity of + * elements is negative or the load factor is nonpositive + * + * @since 1.6 + */ + public ConcurrentHashMap(int initialCapacity, float loadFactor) { + this(initialCapacity, loadFactor, DEFAULT_CONCURRENCY_LEVEL); + } + + /** + * Creates a new, empty map with the specified initial capacity, + * and with default load factor (0.75) and concurrencyLevel (16). + * + * @param initialCapacity the initial capacity. The implementation + * performs internal sizing to accommodate this many elements. + * @throws IllegalArgumentException if the initial capacity of + * elements is negative. + */ + public ConcurrentHashMap(int initialCapacity) { + this(initialCapacity, DEFAULT_LOAD_FACTOR, DEFAULT_CONCURRENCY_LEVEL); + } + + /** + * Creates a new, empty map with a default initial capacity (16), + * load factor (0.75) and concurrencyLevel (16). + */ + public ConcurrentHashMap() { + this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR, DEFAULT_CONCURRENCY_LEVEL); + } + + /** + * Creates a new map with the same mappings as the given map. + * The map is created with a capacity of 1.5 times the number + * of mappings in the given map or 16 (whichever is greater), + * and a default load factor (0.75) and concurrencyLevel (16). + * + * @param m the map + */ + public ConcurrentHashMap(Map m) { + this(Math.max((int) (m.size() / DEFAULT_LOAD_FACTOR) + 1, + DEFAULT_INITIAL_CAPACITY), + DEFAULT_LOAD_FACTOR, DEFAULT_CONCURRENCY_LEVEL); + putAll(m); + } + + /** + * Returns true if this map contains no key-value mappings. + * + * @return true if this map contains no key-value mappings + */ + public boolean isEmpty() { + final Segment[] segments = this.segments; + /* + * We keep track of per-segment modCounts to avoid ABA + * problems in which an element in one segment was added and + * in another removed during traversal, in which case the + * table was never actually empty at any point. Note the + * similar use of modCounts in the size() and containsValue() + * methods, which are the only other methods also susceptible + * to ABA problems. + */ + int[] mc = new int[segments.length]; + int mcsum = 0; + for (int i = 0; i < segments.length; ++i) { + if (segments[i].count != 0) + return false; + else + mcsum += mc[i] = segments[i].modCount; + } + // If mcsum happens to be zero, then we know we got a snapshot + // before any modifications at all were made. This is + // probably common enough to bother tracking. + if (mcsum != 0) { + for (int i = 0; i < segments.length; ++i) { + if (segments[i].count != 0 || + mc[i] != segments[i].modCount) + return false; + } + } + return true; + } + + /** + * Returns the number of key-value mappings in this map. If the + * map contains more than Integer.MAX_VALUE elements, returns + * Integer.MAX_VALUE. + * + * @return the number of key-value mappings in this map + */ + public int size() { + final Segment[] segments = this.segments; + long sum = 0; + long check = 0; + int[] mc = new int[segments.length]; + // Try a few times to get accurate count. On failure due to + // continuous async changes in table, resort to locking. + for (int k = 0; k < RETRIES_BEFORE_LOCK; ++k) { + check = 0; + sum = 0; + int mcsum = 0; + for (int i = 0; i < segments.length; ++i) { + sum += segments[i].count; + mcsum += mc[i] = segments[i].modCount; + } + if (mcsum != 0) { + for (int i = 0; i < segments.length; ++i) { + check += segments[i].count; + if (mc[i] != segments[i].modCount) { + check = -1; // force retry + break; + } + } + } + if (check == sum) + break; + } + if (check != sum) { // Resort to locking all segments + sum = 0; + for (int i = 0; i < segments.length; ++i) + segments[i].lock(); + for (int i = 0; i < segments.length; ++i) + sum += segments[i].count; + for (int i = 0; i < segments.length; ++i) + segments[i].unlock(); + } + if (sum > Integer.MAX_VALUE) + return Integer.MAX_VALUE; + else + return (int)sum; + } + + /** + * Returns the value to which the specified key is mapped, + * or {@code null} if this map contains no mapping for the key. + * + *

More formally, if this map contains a mapping from a key + * {@code k} to a value {@code v} such that {@code key.equals(k)}, + * then this method returns {@code v}; otherwise it returns + * {@code null}. (There can be at most one such mapping.) + * + * @throws NullPointerException if the specified key is null + */ + public V get(Object key) { + int hash = hash(key.hashCode()); + return segmentFor(hash).get(key, hash); + } + + /** + * Tests if the specified object is a key in this table. + * + * @param key possible key + * @return true if and only if the specified object + * is a key in this table, as determined by the + * equals method; false otherwise. + * @throws NullPointerException if the specified key is null + */ + public boolean containsKey(Object key) { + int hash = hash(key.hashCode()); + return segmentFor(hash).containsKey(key, hash); + } + + /** + * Returns true if this map maps one or more keys to the + * specified value. Note: This method requires a full internal + * traversal of the hash table, and so is much slower than + * method containsKey. + * + * @param value value whose presence in this map is to be tested + * @return true if this map maps one or more keys to the + * specified value + * @throws NullPointerException if the specified value is null + */ + public boolean containsValue(Object value) { + if (value == null) + throw new NullPointerException(); + + // See explanation of modCount use above + + final Segment[] segments = this.segments; + int[] mc = new int[segments.length]; + + // Try a few times without locking + for (int k = 0; k < RETRIES_BEFORE_LOCK; ++k) { + int sum = 0; + int mcsum = 0; + for (int i = 0; i < segments.length; ++i) { + int c = segments[i].count; + mcsum += mc[i] = segments[i].modCount; + if (segments[i].containsValue(value)) + return true; + } + boolean cleanSweep = true; + if (mcsum != 0) { + for (int i = 0; i < segments.length; ++i) { + int c = segments[i].count; + if (mc[i] != segments[i].modCount) { + cleanSweep = false; + break; + } + } + } + if (cleanSweep) + return false; + } + // Resort to locking all segments + for (int i = 0; i < segments.length; ++i) + segments[i].lock(); + boolean found = false; + try { + for (int i = 0; i < segments.length; ++i) { + if (segments[i].containsValue(value)) { + found = true; + break; + } + } + } finally { + for (int i = 0; i < segments.length; ++i) + segments[i].unlock(); + } + return found; + } + + /** + * Legacy method testing if some key maps into the specified value + * in this table. This method is identical in functionality to + * {@link #containsValue}, and exists solely to ensure + * full compatibility with class {@link java.util.Hashtable}, + * which supported this method prior to introduction of the + * Java Collections framework. + + * @param value a value to search for + * @return true if and only if some key maps to the + * value argument in this table as + * determined by the equals method; + * false otherwise + * @throws NullPointerException if the specified value is null + */ + public boolean contains(Object value) { + return containsValue(value); + } + + /** + * Maps the specified key to the specified value in this table. + * Neither the key nor the value can be null. + * + *

The value can be retrieved by calling the get method + * with a key that is equal to the original key. + * + * @param key key with which the specified value is to be associated + * @param value value to be associated with the specified key + * @return the previous value associated with key, or + * null if there was no mapping for key + * @throws NullPointerException if the specified key or value is null + */ + public V put(K key, V value) { + if (value == null) + throw new NullPointerException(); + int hash = hash(key.hashCode()); + return segmentFor(hash).put(key, hash, value, false); + } + + /** + * {@inheritDoc} + * + * @return the previous value associated with the specified key, + * or null if there was no mapping for the key + * @throws NullPointerException if the specified key or value is null + */ + public V putIfAbsent(K key, V value) { + if (value == null) + throw new NullPointerException(); + int hash = hash(key.hashCode()); + return segmentFor(hash).put(key, hash, value, true); + } + + /** + * Copies all of the mappings from the specified map to this one. + * These mappings replace any mappings that this map had for any of the + * keys currently in the specified map. + * + * @param m mappings to be stored in this map + */ + public void putAll(Map m) { + for (Map.Entry e : m.entrySet()) + put(e.getKey(), e.getValue()); + } + + /** + * Removes the key (and its corresponding value) from this map. + * This method does nothing if the key is not in the map. + * + * @param key the key that needs to be removed + * @return the previous value associated with key, or + * null if there was no mapping for key + * @throws NullPointerException if the specified key is null + */ + public V remove(Object key) { + int hash = hash(key.hashCode()); + return segmentFor(hash).remove(key, hash, null); + } + + /** + * {@inheritDoc} + * + * @throws NullPointerException if the specified key is null + */ + public boolean remove(Object key, Object value) { + int hash = hash(key.hashCode()); + if (value == null) + return false; + return segmentFor(hash).remove(key, hash, value) != null; + } + + /** + * {@inheritDoc} + * + * @throws NullPointerException if any of the arguments are null + */ + public boolean replace(K key, V oldValue, V newValue) { + if (oldValue == null || newValue == null) + throw new NullPointerException(); + int hash = hash(key.hashCode()); + return segmentFor(hash).replace(key, hash, oldValue, newValue); + } + + /** + * {@inheritDoc} + * + * @return the previous value associated with the specified key, + * or null if there was no mapping for the key + * @throws NullPointerException if the specified key or value is null + */ + public V replace(K key, V value) { + if (value == null) + throw new NullPointerException(); + int hash = hash(key.hashCode()); + return segmentFor(hash).replace(key, hash, value); + } + + /** + * Removes all of the mappings from this map. + */ + public void clear() { + for (int i = 0; i < segments.length; ++i) + segments[i].clear(); + } + + /** + * Returns a {@link Set} view of the keys contained in this map. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from this map, + * via the Iterator.remove, Set.remove, + * removeAll, retainAll, and clear + * operations. It does not support the add or + * addAll operations. + * + *

The view's iterator is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + */ + public Set keySet() { + Set ks = keySet; + return (ks != null) ? ks : (keySet = new KeySet()); + } + + /** + * Returns a {@link Collection} view of the values contained in this map. + * The collection is backed by the map, so changes to the map are + * reflected in the collection, and vice-versa. The collection + * supports element removal, which removes the corresponding + * mapping from this map, via the Iterator.remove, + * Collection.remove, removeAll, + * retainAll, and clear operations. It does not + * support the add or addAll operations. + * + *

The view's iterator is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + */ + public Collection values() { + Collection vs = values; + return (vs != null) ? vs : (values = new Values()); + } + + /** + * Returns a {@link Set} view of the mappings contained in this map. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from the map, + * via the Iterator.remove, Set.remove, + * removeAll, retainAll, and clear + * operations. It does not support the add or + * addAll operations. + * + *

The view's iterator is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + */ + public Set> entrySet() { + Set> es = entrySet; + return (es != null) ? es : (entrySet = new EntrySet()); + } + + /** + * Returns an enumeration of the keys in this table. + * + * @return an enumeration of the keys in this table + * @see #keySet + */ + public Enumeration keys() { + return new KeyIterator(); + } + + /** + * Returns an enumeration of the values in this table. + * + * @return an enumeration of the values in this table + * @see #values + */ + public Enumeration elements() { + return new ValueIterator(); + } + + /* ---------------- Iterator Support -------------- */ + + abstract class HashIterator { + int nextSegmentIndex; + int nextTableIndex; + HashEntry[] currentTable; + HashEntry nextEntry; + HashEntry lastReturned; + + HashIterator() { + nextSegmentIndex = segments.length - 1; + nextTableIndex = -1; + advance(); + } + + public boolean hasMoreElements() { return hasNext(); } + + final void advance() { + if (nextEntry != null && (nextEntry = nextEntry.next) != null) + return; + + while (nextTableIndex >= 0) { + if ( (nextEntry = currentTable[nextTableIndex--]) != null) + return; + } + + while (nextSegmentIndex >= 0) { + Segment seg = segments[nextSegmentIndex--]; + if (seg.count != 0) { + currentTable = seg.table; + for (int j = currentTable.length - 1; j >= 0; --j) { + if ( (nextEntry = currentTable[j]) != null) { + nextTableIndex = j - 1; + return; + } + } + } + } + } + + public boolean hasNext() { return nextEntry != null; } + + HashEntry nextEntry() { + if (nextEntry == null) + throw new NoSuchElementException(); + lastReturned = nextEntry; + advance(); + return lastReturned; + } + + public void remove() { + if (lastReturned == null) + throw new IllegalStateException(); + ConcurrentHashMap.this.remove(lastReturned.key); + lastReturned = null; + } + } + + final class KeyIterator + extends HashIterator + implements Iterator, Enumeration + { + public K next() { return super.nextEntry().key; } + public K nextElement() { return super.nextEntry().key; } + } + + final class ValueIterator + extends HashIterator + implements Iterator, Enumeration + { + public V next() { return super.nextEntry().value; } + public V nextElement() { return super.nextEntry().value; } + } + + /** + * Custom Entry class used by EntryIterator.next(), that relays + * setValue changes to the underlying map. + */ + final class WriteThroughEntry + extends AbstractMap.SimpleEntry + { + WriteThroughEntry(K k, V v) { + super(k,v); + } + + /** + * Set our entry's value and write through to the map. The + * value to return is somewhat arbitrary here. Since a + * WriteThroughEntry does not necessarily track asynchronous + * changes, the most recent "previous" value could be + * different from what we return (or could even have been + * removed in which case the put will re-establish). We do not + * and cannot guarantee more. + */ + public V setValue(V value) { + if (value == null) throw new NullPointerException(); + V v = super.setValue(value); + ConcurrentHashMap.this.put(getKey(), value); + return v; + } + } + + final class EntryIterator + extends HashIterator + implements Iterator> + { + public Map.Entry next() { + HashEntry e = super.nextEntry(); + return new WriteThroughEntry(e.key, e.value); + } + } + + final class KeySet extends AbstractSet { + public Iterator iterator() { + return new KeyIterator(); + } + public int size() { + return ConcurrentHashMap.this.size(); + } + public boolean contains(Object o) { + return ConcurrentHashMap.this.containsKey(o); + } + public boolean remove(Object o) { + return ConcurrentHashMap.this.remove(o) != null; + } + public void clear() { + ConcurrentHashMap.this.clear(); + } + } + + final class Values extends AbstractCollection { + public Iterator iterator() { + return new ValueIterator(); + } + public int size() { + return ConcurrentHashMap.this.size(); + } + public boolean contains(Object o) { + return ConcurrentHashMap.this.containsValue(o); + } + public void clear() { + ConcurrentHashMap.this.clear(); + } + } + + final class EntrySet extends AbstractSet> { + public Iterator> iterator() { + return new EntryIterator(); + } + public boolean contains(Object o) { + if (!(o instanceof Map.Entry)) + return false; + Map.Entry e = (Map.Entry)o; + V v = ConcurrentHashMap.this.get(e.getKey()); + return v != null && v.equals(e.getValue()); + } + public boolean remove(Object o) { + if (!(o instanceof Map.Entry)) + return false; + Map.Entry e = (Map.Entry)o; + return ConcurrentHashMap.this.remove(e.getKey(), e.getValue()); + } + public int size() { + return ConcurrentHashMap.this.size(); + } + public void clear() { + ConcurrentHashMap.this.clear(); + } + } + + /* ---------------- Serialization Support -------------- */ + + /** + * Save the state of the ConcurrentHashMap instance to a + * stream (i.e., serialize it). + * @param s the stream + * @serialData + * the key (Object) and value (Object) + * for each key-value mapping, followed by a null pair. + * The key-value mappings are emitted in no particular order. + */ + private void writeObject(java.io.ObjectOutputStream s) throws IOException { + s.defaultWriteObject(); + + for (int k = 0; k < segments.length; ++k) { + Segment seg = segments[k]; + seg.lock(); + try { + HashEntry[] tab = seg.table; + for (int i = 0; i < tab.length; ++i) { + for (HashEntry e = tab[i]; e != null; e = e.next) { + s.writeObject(e.key); + s.writeObject(e.value); + } + } + } finally { + seg.unlock(); + } + } + s.writeObject(null); + s.writeObject(null); + } + + /** + * Reconstitute the ConcurrentHashMap instance from a + * stream (i.e., deserialize it). + * @param s the stream + */ + private void readObject(java.io.ObjectInputStream s) + throws IOException, ClassNotFoundException { + s.defaultReadObject(); + + // Initialize each segment to be minimally sized, and let grow. + for (int i = 0; i < segments.length; ++i) { + segments[i].setTable(new HashEntry[1]); + } + + // Read the keys and values, and put the mappings in the table + for (;;) { + K key = (K) s.readObject(); + V value = (V) s.readObject(); + if (key == null) + break; + put(key, value); + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentLinkedQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentLinkedQueue.java new file mode 100644 index 00000000000..000f4a4c93a --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentLinkedQueue.java @@ -0,0 +1,480 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; +import java.util.concurrent.atomic.*; + + +/** + * An unbounded thread-safe {@linkplain Queue queue} based on linked nodes. + * This queue orders elements FIFO (first-in-first-out). + * The head of the queue is that element that has been on the + * queue the longest time. + * The tail of the queue is that element that has been on the + * queue the shortest time. New elements + * are inserted at the tail of the queue, and the queue retrieval + * operations obtain elements at the head of the queue. + * A ConcurrentLinkedQueue is an appropriate choice when + * many threads will share access to a common collection. + * This queue does not permit null elements. + * + *

This implementation employs an efficient "wait-free" + * algorithm based on one described in Simple, + * Fast, and Practical Non-Blocking and Blocking Concurrent Queue + * Algorithms by Maged M. Michael and Michael L. Scott. + * + *

Beware that, unlike in most collections, the size method + * is NOT a constant-time operation. Because of the + * asynchronous nature of these queues, determining the current number + * of elements requires a traversal of the elements. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

Memory consistency effects: As with other concurrent + * collections, actions in a thread prior to placing an object into a + * {@code ConcurrentLinkedQueue} + * happen-before + * actions subsequent to the access or removal of that element from + * the {@code ConcurrentLinkedQueue} in another thread. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + * + */ +public class ConcurrentLinkedQueue extends AbstractQueue + implements Queue, java.io.Serializable { + private static final long serialVersionUID = 196745693267521676L; + + /* + * This is a straight adaptation of Michael & Scott algorithm. + * For explanation, read the paper. The only (minor) algorithmic + * difference is that this version supports lazy deletion of + * internal nodes (method remove(Object)) -- remove CAS'es item + * fields to null. The normal queue operations unlink but then + * pass over nodes with null item fields. Similarly, iteration + * methods ignore those with nulls. + * + * Also note that like most non-blocking algorithms in this + * package, this implementation relies on the fact that in garbage + * collected systems, there is no possibility of ABA problems due + * to recycled nodes, so there is no need to use "counted + * pointers" or related techniques seen in versions used in + * non-GC'ed settings. + */ + + private static class Node { + private volatile E item; + private volatile Node next; + + private static final + AtomicReferenceFieldUpdater + nextUpdater = + AtomicReferenceFieldUpdater.newUpdater + (Node.class, Node.class, "next"); + private static final + AtomicReferenceFieldUpdater + itemUpdater = + AtomicReferenceFieldUpdater.newUpdater + (Node.class, Object.class, "item"); + + Node(E x) { item = x; } + + Node(E x, Node n) { item = x; next = n; } + + E getItem() { + return item; + } + + boolean casItem(E cmp, E val) { + return itemUpdater.compareAndSet(this, cmp, val); + } + + void setItem(E val) { + itemUpdater.set(this, val); + } + + Node getNext() { + return next; + } + + boolean casNext(Node cmp, Node val) { + return nextUpdater.compareAndSet(this, cmp, val); + } + + void setNext(Node val) { + nextUpdater.set(this, val); + } + + } + + private static final + AtomicReferenceFieldUpdater + tailUpdater = + AtomicReferenceFieldUpdater.newUpdater + (ConcurrentLinkedQueue.class, Node.class, "tail"); + private static final + AtomicReferenceFieldUpdater + headUpdater = + AtomicReferenceFieldUpdater.newUpdater + (ConcurrentLinkedQueue.class, Node.class, "head"); + + private boolean casTail(Node cmp, Node val) { + return tailUpdater.compareAndSet(this, cmp, val); + } + + private boolean casHead(Node cmp, Node val) { + return headUpdater.compareAndSet(this, cmp, val); + } + + + /** + * Pointer to header node, initialized to a dummy node. The first + * actual node is at head.getNext(). + */ + private transient volatile Node head = new Node(null, null); + + /** Pointer to last node on list **/ + private transient volatile Node tail = head; + + + /** + * Creates a ConcurrentLinkedQueue that is initially empty. + */ + public ConcurrentLinkedQueue() {} + + /** + * Creates a ConcurrentLinkedQueue + * initially containing the elements of the given collection, + * added in traversal order of the collection's iterator. + * @param c the collection of elements to initially contain + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public ConcurrentLinkedQueue(Collection c) { + for (Iterator it = c.iterator(); it.hasNext();) + add(it.next()); + } + + // Have to override just to update the javadoc + + /** + * Inserts the specified element at the tail of this queue. + * + * @return true (as specified by {@link Collection#add}) + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + return offer(e); + } + + /** + * Inserts the specified element at the tail of this queue. + * + * @return true (as specified by {@link Queue#offer}) + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + if (e == null) throw new NullPointerException(); + Node n = new Node(e, null); + for (;;) { + Node t = tail; + Node s = t.getNext(); + if (t == tail) { + if (s == null) { + if (t.casNext(s, n)) { + casTail(t, n); + return true; + } + } else { + casTail(t, s); + } + } + } + } + + public E poll() { + for (;;) { + Node h = head; + Node t = tail; + Node first = h.getNext(); + if (h == head) { + if (h == t) { + if (first == null) + return null; + else + casTail(t, first); + } else if (casHead(h, first)) { + E item = first.getItem(); + if (item != null) { + first.setItem(null); + return item; + } + // else skip over deleted item, continue loop, + } + } + } + } + + public E peek() { // same as poll except don't remove item + for (;;) { + Node h = head; + Node t = tail; + Node first = h.getNext(); + if (h == head) { + if (h == t) { + if (first == null) + return null; + else + casTail(t, first); + } else { + E item = first.getItem(); + if (item != null) + return item; + else // remove deleted node and continue + casHead(h, first); + } + } + } + } + + /** + * Returns the first actual (non-header) node on list. This is yet + * another variant of poll/peek; here returning out the first + * node, not element (so we cannot collapse with peek() without + * introducing race.) + */ + Node first() { + for (;;) { + Node h = head; + Node t = tail; + Node first = h.getNext(); + if (h == head) { + if (h == t) { + if (first == null) + return null; + else + casTail(t, first); + } else { + if (first.getItem() != null) + return first; + else // remove deleted node and continue + casHead(h, first); + } + } + } + } + + + /** + * Returns true if this queue contains no elements. + * + * @return true if this queue contains no elements + */ + public boolean isEmpty() { + return first() == null; + } + + /** + * Returns the number of elements in this queue. If this queue + * contains more than Integer.MAX_VALUE elements, returns + * Integer.MAX_VALUE. + * + *

Beware that, unlike in most collections, this method is + * NOT a constant-time operation. Because of the + * asynchronous nature of these queues, determining the current + * number of elements requires an O(n) traversal. + * + * @return the number of elements in this queue + */ + public int size() { + int count = 0; + for (Node p = first(); p != null; p = p.getNext()) { + if (p.getItem() != null) { + // Collections.size() spec says to max out + if (++count == Integer.MAX_VALUE) + break; + } + } + return count; + } + + /** + * Returns true if this queue contains the specified element. + * More formally, returns true if and only if this queue contains + * at least one element e such that o.equals(e). + * + * @param o object to be checked for containment in this queue + * @return true if this queue contains the specified element + */ + public boolean contains(Object o) { + if (o == null) return false; + for (Node p = first(); p != null; p = p.getNext()) { + E item = p.getItem(); + if (item != null && + o.equals(item)) + return true; + } + return false; + } + + /** + * Removes a single instance of the specified element from this queue, + * if it is present. More formally, removes an element e such + * that o.equals(e), if this queue contains one or more such + * elements. + * Returns true if this queue contained the specified element + * (or equivalently, if this queue changed as a result of the call). + * + * @param o element to be removed from this queue, if present + * @return true if this queue changed as a result of the call + */ + public boolean remove(Object o) { + if (o == null) return false; + for (Node p = first(); p != null; p = p.getNext()) { + E item = p.getItem(); + if (item != null && + o.equals(item) && + p.casItem(item, null)) + return true; + } + return false; + } + + /** + * Returns an iterator over the elements in this queue in proper sequence. + * The returned iterator is a "weakly consistent" iterator that + * will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + * @return an iterator over the elements in this queue in proper sequence + */ + public Iterator iterator() { + return new Itr(); + } + + private class Itr implements Iterator { + /** + * Next node to return item for. + */ + private Node nextNode; + + /** + * nextItem holds on to item fields because once we claim + * that an element exists in hasNext(), we must return it in + * the following next() call even if it was in the process of + * being removed when hasNext() was called. + */ + private E nextItem; + + /** + * Node of the last returned item, to support remove. + */ + private Node lastRet; + + Itr() { + advance(); + } + + /** + * Moves to next valid node and returns item to return for + * next(), or null if no such. + */ + private E advance() { + lastRet = nextNode; + E x = nextItem; + + Node p = (nextNode == null)? first() : nextNode.getNext(); + for (;;) { + if (p == null) { + nextNode = null; + nextItem = null; + return x; + } + E item = p.getItem(); + if (item != null) { + nextNode = p; + nextItem = item; + return x; + } else // skip over nulls + p = p.getNext(); + } + } + + public boolean hasNext() { + return nextNode != null; + } + + public E next() { + if (nextNode == null) throw new NoSuchElementException(); + return advance(); + } + + public void remove() { + Node l = lastRet; + if (l == null) throw new IllegalStateException(); + // rely on a future traversal to relink. + l.setItem(null); + lastRet = null; + } + } + + /** + * Save the state to a stream (that is, serialize it). + * + * @serialData All of the elements (each an E) in + * the proper order, followed by a null + * @param s the stream + */ + private void writeObject(java.io.ObjectOutputStream s) + throws java.io.IOException { + + // Write out any hidden stuff + s.defaultWriteObject(); + + // Write out all elements in the proper order. + for (Node p = first(); p != null; p = p.getNext()) { + Object item = p.getItem(); + if (item != null) + s.writeObject(item); + } + + // Use trailing null as sentinel + s.writeObject(null); + } + + /** + * Reconstitute the Queue instance from a stream (that is, + * deserialize it). + * @param s the stream + */ + private void readObject(java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + // Read in capacity, and any hidden stuff + s.defaultReadObject(); + head = new Node(null, null); + tail = head; + // Read in all elements and place in queue + for (;;) { + E item = (E)s.readObject(); + if (item == null) + break; + else + offer(item); + } + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentMap.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentMap.java new file mode 100644 index 00000000000..6e5bd073880 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentMap.java @@ -0,0 +1,134 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.Map; + +/** + * A {@link java.util.Map} providing additional atomic + * putIfAbsent, remove, and replace methods. + * + *

Memory consistency effects: As with other concurrent + * collections, actions in a thread prior to placing an object into a + * {@code ConcurrentMap} as a key or value + * happen-before + * actions subsequent to the access or removal of that object from + * the {@code ConcurrentMap} in another thread. + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of keys maintained by this map + * @param the type of mapped values + */ +public interface ConcurrentMap extends Map { + /** + * If the specified key is not already associated + * with a value, associate it with the given value. + * This is equivalent to + *

+     *   if (!map.containsKey(key))
+     *       return map.put(key, value);
+     *   else
+     *       return map.get(key);
+ * except that the action is performed atomically. + * + * @param key key with which the specified value is to be associated + * @param value value to be associated with the specified key + * @return the previous value associated with the specified key, or + * null if there was no mapping for the key. + * (A null return can also indicate that the map + * previously associated null with the key, + * if the implementation supports null values.) + * @throws UnsupportedOperationException if the put operation + * is not supported by this map + * @throws ClassCastException if the class of the specified key or value + * prevents it from being stored in this map + * @throws NullPointerException if the specified key or value is null, + * and this map does not permit null keys or values + * @throws IllegalArgumentException if some property of the specified key + * or value prevents it from being stored in this map + * + */ + V putIfAbsent(K key, V value); + + /** + * Removes the entry for a key only if currently mapped to a given value. + * This is equivalent to + *
+     *   if (map.containsKey(key) && map.get(key).equals(value)) {
+     *       map.remove(key);
+     *       return true;
+     *   } else return false;
+ * except that the action is performed atomically. + * + * @param key key with which the specified value is associated + * @param value value expected to be associated with the specified key + * @return true if the value was removed + * @throws UnsupportedOperationException if the remove operation + * is not supported by this map + * @throws ClassCastException if the key or value is of an inappropriate + * type for this map (optional) + * @throws NullPointerException if the specified key or value is null, + * and this map does not permit null keys or values (optional) + */ + boolean remove(Object key, Object value); + + /** + * Replaces the entry for a key only if currently mapped to a given value. + * This is equivalent to + *
+     *   if (map.containsKey(key) && map.get(key).equals(oldValue)) {
+     *       map.put(key, newValue);
+     *       return true;
+     *   } else return false;
+ * except that the action is performed atomically. + * + * @param key key with which the specified value is associated + * @param oldValue value expected to be associated with the specified key + * @param newValue value to be associated with the specified key + * @return true if the value was replaced + * @throws UnsupportedOperationException if the put operation + * is not supported by this map + * @throws ClassCastException if the class of a specified key or value + * prevents it from being stored in this map + * @throws NullPointerException if a specified key or value is null, + * and this map does not permit null keys or values + * @throws IllegalArgumentException if some property of a specified key + * or value prevents it from being stored in this map + */ + boolean replace(K key, V oldValue, V newValue); + + /** + * Replaces the entry for a key only if currently mapped to some value. + * This is equivalent to + *
+     *   if (map.containsKey(key)) {
+     *       return map.put(key, value);
+     *   } else return null;
+ * except that the action is performed atomically. + * + * @param key key with which the specified value is associated + * @param value value to be associated with the specified key + * @return the previous value associated with the specified key, or + * null if there was no mapping for the key. + * (A null return can also indicate that the map + * previously associated null with the key, + * if the implementation supports null values.) + * @throws UnsupportedOperationException if the put operation + * is not supported by this map + * @throws ClassCastException if the class of the specified key or value + * prevents it from being stored in this map + * @throws NullPointerException if the specified key or value is null, + * and this map does not permit null keys or values + * @throws IllegalArgumentException if some property of the specified key + * or value prevents it from being stored in this map + */ + V replace(K key, V value); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentNavigableMap.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentNavigableMap.java new file mode 100644 index 00000000000..7d86afb7034 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentNavigableMap.java @@ -0,0 +1,148 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; + +/** + * A {@link ConcurrentMap} supporting {@link NavigableMap} operations, + * and recursively so for its navigable sub-maps. + * + *

This interface is a member of the + * + * Java Collections Framework. + * + * @author Doug Lea + * @param the type of keys maintained by this map + * @param the type of mapped values + * @since 1.6 + */ +public interface ConcurrentNavigableMap + extends ConcurrentMap, NavigableMap +{ + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + ConcurrentNavigableMap subMap(K fromKey, boolean fromInclusive, + K toKey, boolean toInclusive); + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + ConcurrentNavigableMap headMap(K toKey, boolean inclusive); + + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + ConcurrentNavigableMap tailMap(K fromKey, boolean inclusive); + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + ConcurrentNavigableMap subMap(K fromKey, K toKey); + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + ConcurrentNavigableMap headMap(K toKey); + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + ConcurrentNavigableMap tailMap(K fromKey); + + /** + * Returns a reverse order view of the mappings contained in this map. + * The descending map is backed by this map, so changes to the map are + * reflected in the descending map, and vice-versa. + * + *

The returned map has an ordering equivalent to + * {@link Collections#reverseOrder(Comparator) Collections.reverseOrder}(comparator()). + * The expression {@code m.descendingMap().descendingMap()} returns a + * view of {@code m} essentially equivalent to {@code m}. + * + * @return a reverse order view of this map + */ + ConcurrentNavigableMap descendingMap(); + + /** + * Returns a {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in ascending order. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from the map, + * via the {@code Iterator.remove}, {@code Set.remove}, + * {@code removeAll}, {@code retainAll}, and {@code clear} + * operations. It does not support the {@code add} or {@code addAll} + * operations. + * + *

The view's {@code iterator} is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + * @return a navigable set view of the keys in this map + */ + public NavigableSet navigableKeySet(); + + /** + * Returns a {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in ascending order. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from the map, + * via the {@code Iterator.remove}, {@code Set.remove}, + * {@code removeAll}, {@code retainAll}, and {@code clear} + * operations. It does not support the {@code add} or {@code addAll} + * operations. + * + *

The view's {@code iterator} is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + *

This method is equivalent to method {@code navigableKeySet}. + * + * @return a navigable set view of the keys in this map + */ + NavigableSet keySet(); + + /** + * Returns a reverse order {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in descending order. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from the map, + * via the {@code Iterator.remove}, {@code Set.remove}, + * {@code removeAll}, {@code retainAll}, and {@code clear} + * operations. It does not support the {@code add} or {@code addAll} + * operations. + * + *

The view's {@code iterator} is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + * @return a reverse order navigable set view of the keys in this map + */ + public NavigableSet descendingKeySet(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java new file mode 100644 index 00000000000..52cd17a52d3 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java @@ -0,0 +1,3114 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; +import java.util.concurrent.atomic.*; + +/** + * A scalable concurrent {@link ConcurrentNavigableMap} implementation. + * The map is sorted according to the {@linkplain Comparable natural + * ordering} of its keys, or by a {@link Comparator} provided at map + * creation time, depending on which constructor is used. + * + *

This class implements a concurrent variant of SkipLists providing + * expected average log(n) time cost for the + * containsKey, get, put and + * remove operations and their variants. Insertion, removal, + * update, and access operations safely execute concurrently by + * multiple threads. Iterators are weakly consistent, returning + * elements reflecting the state of the map at some point at or since + * the creation of the iterator. They do not throw {@link + * ConcurrentModificationException}, and may proceed concurrently with + * other operations. Ascending key ordered views and their iterators + * are faster than descending ones. + * + *

All Map.Entry pairs returned by methods in this class + * and its views represent snapshots of mappings at the time they were + * produced. They do not support the Entry.setValue + * method. (Note however that it is possible to change mappings in the + * associated map using put, putIfAbsent, or + * replace, depending on exactly which effect you need.) + * + *

Beware that, unlike in most collections, the size + * method is not a constant-time operation. Because of the + * asynchronous nature of these maps, determining the current number + * of elements requires a traversal of the elements. Additionally, + * the bulk operations putAll, equals, and + * clear are not guaranteed to be performed + * atomically. For example, an iterator operating concurrently with a + * putAll operation might view only some of the added + * elements. + * + *

This class and its views and iterators implement all of the + * optional methods of the {@link Map} and {@link Iterator} + * interfaces. Like most other concurrent collections, this class does + * not permit the use of null keys or values because some + * null return values cannot be reliably distinguished from the absence of + * elements. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @author Doug Lea + * @param the type of keys maintained by this map + * @param the type of mapped values + * @since 1.6 + */ +public class ConcurrentSkipListMap extends AbstractMap + implements ConcurrentNavigableMap, + Cloneable, + java.io.Serializable { + /* + * This class implements a tree-like two-dimensionally linked skip + * list in which the index levels are represented in separate + * nodes from the base nodes holding data. There are two reasons + * for taking this approach instead of the usual array-based + * structure: 1) Array based implementations seem to encounter + * more complexity and overhead 2) We can use cheaper algorithms + * for the heavily-traversed index lists than can be used for the + * base lists. Here's a picture of some of the basics for a + * possible list with 2 levels of index: + * + * Head nodes Index nodes + * +-+ right +-+ +-+ + * |2|---------------->| |--------------------->| |->null + * +-+ +-+ +-+ + * | down | | + * v v v + * +-+ +-+ +-+ +-+ +-+ +-+ + * |1|----------->| |->| |------>| |----------->| |------>| |->null + * +-+ +-+ +-+ +-+ +-+ +-+ + * v | | | | | + * Nodes next v v v v v + * +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ + * | |->|A|->|B|->|C|->|D|->|E|->|F|->|G|->|H|->|I|->|J|->|K|->null + * +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ +-+ + * + * The base lists use a variant of the HM linked ordered set + * algorithm. See Tim Harris, "A pragmatic implementation of + * non-blocking linked lists" + * http://www.cl.cam.ac.uk/~tlh20/publications.html and Maged + * Michael "High Performance Dynamic Lock-Free Hash Tables and + * List-Based Sets" + * http://www.research.ibm.com/people/m/michael/pubs.htm. The + * basic idea in these lists is to mark the "next" pointers of + * deleted nodes when deleting to avoid conflicts with concurrent + * insertions, and when traversing to keep track of triples + * (predecessor, node, successor) in order to detect when and how + * to unlink these deleted nodes. + * + * Rather than using mark-bits to mark list deletions (which can + * be slow and space-intensive using AtomicMarkedReference), nodes + * use direct CAS'able next pointers. On deletion, instead of + * marking a pointer, they splice in another node that can be + * thought of as standing for a marked pointer (indicating this by + * using otherwise impossible field values). Using plain nodes + * acts roughly like "boxed" implementations of marked pointers, + * but uses new nodes only when nodes are deleted, not for every + * link. This requires less space and supports faster + * traversal. Even if marked references were better supported by + * JVMs, traversal using this technique might still be faster + * because any search need only read ahead one more node than + * otherwise required (to check for trailing marker) rather than + * unmasking mark bits or whatever on each read. + * + * This approach maintains the essential property needed in the HM + * algorithm of changing the next-pointer of a deleted node so + * that any other CAS of it will fail, but implements the idea by + * changing the pointer to point to a different node, not by + * marking it. While it would be possible to further squeeze + * space by defining marker nodes not to have key/value fields, it + * isn't worth the extra type-testing overhead. The deletion + * markers are rarely encountered during traversal and are + * normally quickly garbage collected. (Note that this technique + * would not work well in systems without garbage collection.) + * + * In addition to using deletion markers, the lists also use + * nullness of value fields to indicate deletion, in a style + * similar to typical lazy-deletion schemes. If a node's value is + * null, then it is considered logically deleted and ignored even + * though it is still reachable. This maintains proper control of + * concurrent replace vs delete operations -- an attempted replace + * must fail if a delete beat it by nulling field, and a delete + * must return the last non-null value held in the field. (Note: + * Null, rather than some special marker, is used for value fields + * here because it just so happens to mesh with the Map API + * requirement that method get returns null if there is no + * mapping, which allows nodes to remain concurrently readable + * even when deleted. Using any other marker value here would be + * messy at best.) + * + * Here's the sequence of events for a deletion of node n with + * predecessor b and successor f, initially: + * + * +------+ +------+ +------+ + * ... | b |------>| n |----->| f | ... + * +------+ +------+ +------+ + * + * 1. CAS n's value field from non-null to null. + * From this point on, no public operations encountering + * the node consider this mapping to exist. However, other + * ongoing insertions and deletions might still modify + * n's next pointer. + * + * 2. CAS n's next pointer to point to a new marker node. + * From this point on, no other nodes can be appended to n. + * which avoids deletion errors in CAS-based linked lists. + * + * +------+ +------+ +------+ +------+ + * ... | b |------>| n |----->|marker|------>| f | ... + * +------+ +------+ +------+ +------+ + * + * 3. CAS b's next pointer over both n and its marker. + * From this point on, no new traversals will encounter n, + * and it can eventually be GCed. + * +------+ +------+ + * ... | b |----------------------------------->| f | ... + * +------+ +------+ + * + * A failure at step 1 leads to simple retry due to a lost race + * with another operation. Steps 2-3 can fail because some other + * thread noticed during a traversal a node with null value and + * helped out by marking and/or unlinking. This helping-out + * ensures that no thread can become stuck waiting for progress of + * the deleting thread. The use of marker nodes slightly + * complicates helping-out code because traversals must track + * consistent reads of up to four nodes (b, n, marker, f), not + * just (b, n, f), although the next field of a marker is + * immutable, and once a next field is CAS'ed to point to a + * marker, it never again changes, so this requires less care. + * + * Skip lists add indexing to this scheme, so that the base-level + * traversals start close to the locations being found, inserted + * or deleted -- usually base level traversals only traverse a few + * nodes. This doesn't change the basic algorithm except for the + * need to make sure base traversals start at predecessors (here, + * b) that are not (structurally) deleted, otherwise retrying + * after processing the deletion. + * + * Index levels are maintained as lists with volatile next fields, + * using CAS to link and unlink. Races are allowed in index-list + * operations that can (rarely) fail to link in a new index node + * or delete one. (We can't do this of course for data nodes.) + * However, even when this happens, the index lists remain sorted, + * so correctly serve as indices. This can impact performance, + * but since skip lists are probabilistic anyway, the net result + * is that under contention, the effective "p" value may be lower + * than its nominal value. And race windows are kept small enough + * that in practice these failures are rare, even under a lot of + * contention. + * + * The fact that retries (for both base and index lists) are + * relatively cheap due to indexing allows some minor + * simplifications of retry logic. Traversal restarts are + * performed after most "helping-out" CASes. This isn't always + * strictly necessary, but the implicit backoffs tend to help + * reduce other downstream failed CAS's enough to outweigh restart + * cost. This worsens the worst case, but seems to improve even + * highly contended cases. + * + * Unlike most skip-list implementations, index insertion and + * deletion here require a separate traversal pass occuring after + * the base-level action, to add or remove index nodes. This adds + * to single-threaded overhead, but improves contended + * multithreaded performance by narrowing interference windows, + * and allows deletion to ensure that all index nodes will be made + * unreachable upon return from a public remove operation, thus + * avoiding unwanted garbage retention. This is more important + * here than in some other data structures because we cannot null + * out node fields referencing user keys since they might still be + * read by other ongoing traversals. + * + * Indexing uses skip list parameters that maintain good search + * performance while using sparser-than-usual indices: The + * hardwired parameters k=1, p=0.5 (see method randomLevel) mean + * that about one-quarter of the nodes have indices. Of those that + * do, half have one level, a quarter have two, and so on (see + * Pugh's Skip List Cookbook, sec 3.4). The expected total space + * requirement for a map is slightly less than for the current + * implementation of java.util.TreeMap. + * + * Changing the level of the index (i.e, the height of the + * tree-like structure) also uses CAS. The head index has initial + * level/height of one. Creation of an index with height greater + * than the current level adds a level to the head index by + * CAS'ing on a new top-most head. To maintain good performance + * after a lot of removals, deletion methods heuristically try to + * reduce the height if the topmost levels appear to be empty. + * This may encounter races in which it possible (but rare) to + * reduce and "lose" a level just as it is about to contain an + * index (that will then never be encountered). This does no + * structural harm, and in practice appears to be a better option + * than allowing unrestrained growth of levels. + * + * The code for all this is more verbose than you'd like. Most + * operations entail locating an element (or position to insert an + * element). The code to do this can't be nicely factored out + * because subsequent uses require a snapshot of predecessor + * and/or successor and/or value fields which can't be returned + * all at once, at least not without creating yet another object + * to hold them -- creating such little objects is an especially + * bad idea for basic internal search operations because it adds + * to GC overhead. (This is one of the few times I've wished Java + * had macros.) Instead, some traversal code is interleaved within + * insertion and removal operations. The control logic to handle + * all the retry conditions is sometimes twisty. Most search is + * broken into 2 parts. findPredecessor() searches index nodes + * only, returning a base-level predecessor of the key. findNode() + * finishes out the base-level search. Even with this factoring, + * there is a fair amount of near-duplication of code to handle + * variants. + * + * For explanation of algorithms sharing at least a couple of + * features with this one, see Mikhail Fomitchev's thesis + * (http://www.cs.yorku.ca/~mikhail/), Keir Fraser's thesis + * (http://www.cl.cam.ac.uk/users/kaf24/), and Hakan Sundell's + * thesis (http://www.cs.chalmers.se/~phs/). + * + * Given the use of tree-like index nodes, you might wonder why + * this doesn't use some kind of search tree instead, which would + * support somewhat faster search operations. The reason is that + * there are no known efficient lock-free insertion and deletion + * algorithms for search trees. The immutability of the "down" + * links of index nodes (as opposed to mutable "left" fields in + * true trees) makes this tractable using only CAS operations. + * + * Notation guide for local variables + * Node: b, n, f for predecessor, node, successor + * Index: q, r, d for index node, right, down. + * t for another index node + * Head: h + * Levels: j + * Keys: k, key + * Values: v, value + * Comparisons: c + */ + + private static final long serialVersionUID = -8627078645895051609L; + + /** + * Generates the initial random seed for the cheaper per-instance + * random number generators used in randomLevel. + */ + private static final Random seedGenerator = new Random(); + + /** + * Special value used to identify base-level header + */ + private static final Object BASE_HEADER = new Object(); + + /** + * The topmost head index of the skiplist. + */ + private transient volatile HeadIndex head; + + /** + * The comparator used to maintain order in this map, or null + * if using natural ordering. + * @serial + */ + private final Comparator comparator; + + /** + * Seed for simple random number generator. Not volatile since it + * doesn't matter too much if different threads don't see updates. + */ + private transient int randomSeed; + + /** Lazily initialized key set */ + private transient KeySet keySet; + /** Lazily initialized entry set */ + private transient EntrySet entrySet; + /** Lazily initialized values collection */ + private transient Values values; + /** Lazily initialized descending key set */ + private transient ConcurrentNavigableMap descendingMap; + + /** + * Initializes or resets state. Needed by constructors, clone, + * clear, readObject. and ConcurrentSkipListSet.clone. + * (Note that comparator must be separately initialized.) + */ + final void initialize() { + keySet = null; + entrySet = null; + values = null; + descendingMap = null; + randomSeed = seedGenerator.nextInt() | 0x0100; // ensure nonzero + head = new HeadIndex(new Node(null, BASE_HEADER, null), + null, null, 1); + } + + /** Updater for casHead */ + private static final + AtomicReferenceFieldUpdater + headUpdater = AtomicReferenceFieldUpdater.newUpdater + (ConcurrentSkipListMap.class, HeadIndex.class, "head"); + + /** + * compareAndSet head node + */ + private boolean casHead(HeadIndex cmp, HeadIndex val) { + return headUpdater.compareAndSet(this, cmp, val); + } + + /* ---------------- Nodes -------------- */ + + /** + * Nodes hold keys and values, and are singly linked in sorted + * order, possibly with some intervening marker nodes. The list is + * headed by a dummy node accessible as head.node. The value field + * is declared only as Object because it takes special non-V + * values for marker and header nodes. + */ + static final class Node { + final K key; + volatile Object value; + volatile Node next; + + /** + * Creates a new regular node. + */ + Node(K key, Object value, Node next) { + this.key = key; + this.value = value; + this.next = next; + } + + /** + * Creates a new marker node. A marker is distinguished by + * having its value field point to itself. Marker nodes also + * have null keys, a fact that is exploited in a few places, + * but this doesn't distinguish markers from the base-level + * header node (head.node), which also has a null key. + */ + Node(Node next) { + this.key = null; + this.value = this; + this.next = next; + } + + /** Updater for casNext */ + static final AtomicReferenceFieldUpdater + nextUpdater = AtomicReferenceFieldUpdater.newUpdater + (Node.class, Node.class, "next"); + + /** Updater for casValue */ + static final AtomicReferenceFieldUpdater + valueUpdater = AtomicReferenceFieldUpdater.newUpdater + (Node.class, Object.class, "value"); + + /** + * compareAndSet value field + */ + boolean casValue(Object cmp, Object val) { + return valueUpdater.compareAndSet(this, cmp, val); + } + + /** + * compareAndSet next field + */ + boolean casNext(Node cmp, Node val) { + return nextUpdater.compareAndSet(this, cmp, val); + } + + /** + * Returns true if this node is a marker. This method isn't + * actually called in any current code checking for markers + * because callers will have already read value field and need + * to use that read (not another done here) and so directly + * test if value points to node. + * @param n a possibly null reference to a node + * @return true if this node is a marker node + */ + boolean isMarker() { + return value == this; + } + + /** + * Returns true if this node is the header of base-level list. + * @return true if this node is header node + */ + boolean isBaseHeader() { + return value == BASE_HEADER; + } + + /** + * Tries to append a deletion marker to this node. + * @param f the assumed current successor of this node + * @return true if successful + */ + boolean appendMarker(Node f) { + return casNext(f, new Node(f)); + } + + /** + * Helps out a deletion by appending marker or unlinking from + * predecessor. This is called during traversals when value + * field seen to be null. + * @param b predecessor + * @param f successor + */ + void helpDelete(Node b, Node f) { + /* + * Rechecking links and then doing only one of the + * help-out stages per call tends to minimize CAS + * interference among helping threads. + */ + if (f == next && this == b.next) { + if (f == null || f.value != f) // not already marked + appendMarker(f); + else + b.casNext(this, f.next); + } + } + + /** + * Returns value if this node contains a valid key-value pair, + * else null. + * @return this node's value if it isn't a marker or header or + * is deleted, else null. + */ + V getValidValue() { + Object v = value; + if (v == this || v == BASE_HEADER) + return null; + return (V)v; + } + + /** + * Creates and returns a new SimpleImmutableEntry holding current + * mapping if this node holds a valid value, else null. + * @return new entry or null + */ + AbstractMap.SimpleImmutableEntry createSnapshot() { + V v = getValidValue(); + if (v == null) + return null; + return new AbstractMap.SimpleImmutableEntry(key, v); + } + } + + /* ---------------- Indexing -------------- */ + + /** + * Index nodes represent the levels of the skip list. Note that + * even though both Nodes and Indexes have forward-pointing + * fields, they have different types and are handled in different + * ways, that can't nicely be captured by placing field in a + * shared abstract class. + */ + static class Index { + final Node node; + final Index down; + volatile Index right; + + /** + * Creates index node with given values. + */ + Index(Node node, Index down, Index right) { + this.node = node; + this.down = down; + this.right = right; + } + + /** Updater for casRight */ + static final AtomicReferenceFieldUpdater + rightUpdater = AtomicReferenceFieldUpdater.newUpdater + (Index.class, Index.class, "right"); + + /** + * compareAndSet right field + */ + final boolean casRight(Index cmp, Index val) { + return rightUpdater.compareAndSet(this, cmp, val); + } + + /** + * Returns true if the node this indexes has been deleted. + * @return true if indexed node is known to be deleted + */ + final boolean indexesDeletedNode() { + return node.value == null; + } + + /** + * Tries to CAS newSucc as successor. To minimize races with + * unlink that may lose this index node, if the node being + * indexed is known to be deleted, it doesn't try to link in. + * @param succ the expected current successor + * @param newSucc the new successor + * @return true if successful + */ + final boolean link(Index succ, Index newSucc) { + Node n = node; + newSucc.right = succ; + return n.value != null && casRight(succ, newSucc); + } + + /** + * Tries to CAS right field to skip over apparent successor + * succ. Fails (forcing a retraversal by caller) if this node + * is known to be deleted. + * @param succ the expected current successor + * @return true if successful + */ + final boolean unlink(Index succ) { + return !indexesDeletedNode() && casRight(succ, succ.right); + } + } + + /* ---------------- Head nodes -------------- */ + + /** + * Nodes heading each level keep track of their level. + */ + static final class HeadIndex extends Index { + final int level; + HeadIndex(Node node, Index down, Index right, int level) { + super(node, down, right); + this.level = level; + } + } + + /* ---------------- Comparison utilities -------------- */ + + /** + * Represents a key with a comparator as a Comparable. + * + * Because most sorted collections seem to use natural ordering on + * Comparables (Strings, Integers, etc), most internal methods are + * geared to use them. This is generally faster than checking + * per-comparison whether to use comparator or comparable because + * it doesn't require a (Comparable) cast for each comparison. + * (Optimizers can only sometimes remove such redundant checks + * themselves.) When Comparators are used, + * ComparableUsingComparators are created so that they act in the + * same way as natural orderings. This penalizes use of + * Comparators vs Comparables, which seems like the right + * tradeoff. + */ + static final class ComparableUsingComparator implements Comparable { + final K actualKey; + final Comparator cmp; + ComparableUsingComparator(K key, Comparator cmp) { + this.actualKey = key; + this.cmp = cmp; + } + public int compareTo(K k2) { + return cmp.compare(actualKey, k2); + } + } + + /** + * If using comparator, return a ComparableUsingComparator, else + * cast key as Comparable, which may cause ClassCastException, + * which is propagated back to caller. + */ + private Comparable comparable(Object key) throws ClassCastException { + if (key == null) + throw new NullPointerException(); + if (comparator != null) + return new ComparableUsingComparator((K)key, comparator); + else + return (Comparable)key; + } + + /** + * Compares using comparator or natural ordering. Used when the + * ComparableUsingComparator approach doesn't apply. + */ + int compare(K k1, K k2) throws ClassCastException { + Comparator cmp = comparator; + if (cmp != null) + return cmp.compare(k1, k2); + else + return ((Comparable)k1).compareTo(k2); + } + + /** + * Returns true if given key greater than or equal to least and + * strictly less than fence, bypassing either test if least or + * fence are null. Needed mainly in submap operations. + */ + boolean inHalfOpenRange(K key, K least, K fence) { + if (key == null) + throw new NullPointerException(); + return ((least == null || compare(key, least) >= 0) && + (fence == null || compare(key, fence) < 0)); + } + + /** + * Returns true if given key greater than or equal to least and less + * or equal to fence. Needed mainly in submap operations. + */ + boolean inOpenRange(K key, K least, K fence) { + if (key == null) + throw new NullPointerException(); + return ((least == null || compare(key, least) >= 0) && + (fence == null || compare(key, fence) <= 0)); + } + + /* ---------------- Traversal -------------- */ + + /** + * Returns a base-level node with key strictly less than given key, + * or the base-level header if there is no such node. Also + * unlinks indexes to deleted nodes found along the way. Callers + * rely on this side-effect of clearing indices to deleted nodes. + * @param key the key + * @return a predecessor of key + */ + private Node findPredecessor(Comparable key) { + if (key == null) + throw new NullPointerException(); // don't postpone errors + for (;;) { + Index q = head; + Index r = q.right; + for (;;) { + if (r != null) { + Node n = r.node; + K k = n.key; + if (n.value == null) { + if (!q.unlink(r)) + break; // restart + r = q.right; // reread r + continue; + } + if (key.compareTo(k) > 0) { + q = r; + r = r.right; + continue; + } + } + Index d = q.down; + if (d != null) { + q = d; + r = d.right; + } else + return q.node; + } + } + } + + /** + * Returns node holding key or null if no such, clearing out any + * deleted nodes seen along the way. Repeatedly traverses at + * base-level looking for key starting at predecessor returned + * from findPredecessor, processing base-level deletions as + * encountered. Some callers rely on this side-effect of clearing + * deleted nodes. + * + * Restarts occur, at traversal step centered on node n, if: + * + * (1) After reading n's next field, n is no longer assumed + * predecessor b's current successor, which means that + * we don't have a consistent 3-node snapshot and so cannot + * unlink any subsequent deleted nodes encountered. + * + * (2) n's value field is null, indicating n is deleted, in + * which case we help out an ongoing structural deletion + * before retrying. Even though there are cases where such + * unlinking doesn't require restart, they aren't sorted out + * here because doing so would not usually outweigh cost of + * restarting. + * + * (3) n is a marker or n's predecessor's value field is null, + * indicating (among other possibilities) that + * findPredecessor returned a deleted node. We can't unlink + * the node because we don't know its predecessor, so rely + * on another call to findPredecessor to notice and return + * some earlier predecessor, which it will do. This check is + * only strictly needed at beginning of loop, (and the + * b.value check isn't strictly needed at all) but is done + * each iteration to help avoid contention with other + * threads by callers that will fail to be able to change + * links, and so will retry anyway. + * + * The traversal loops in doPut, doRemove, and findNear all + * include the same three kinds of checks. And specialized + * versions appear in findFirst, and findLast and their + * variants. They can't easily share code because each uses the + * reads of fields held in locals occurring in the orders they + * were performed. + * + * @param key the key + * @return node holding key, or null if no such + */ + private Node findNode(Comparable key) { + for (;;) { + Node b = findPredecessor(key); + Node n = b.next; + for (;;) { + if (n == null) + return null; + Node f = n.next; + if (n != b.next) // inconsistent read + break; + Object v = n.value; + if (v == null) { // n is deleted + n.helpDelete(b, f); + break; + } + if (v == n || b.value == null) // b is deleted + break; + int c = key.compareTo(n.key); + if (c == 0) + return n; + if (c < 0) + return null; + b = n; + n = f; + } + } + } + + /** + * Specialized variant of findNode to perform Map.get. Does a weak + * traversal, not bothering to fix any deleted index nodes, + * returning early if it happens to see key in index, and passing + * over any deleted base nodes, falling back to getUsingFindNode + * only if it would otherwise return value from an ongoing + * deletion. Also uses "bound" to eliminate need for some + * comparisons (see Pugh Cookbook). Also folds uses of null checks + * and node-skipping because markers have null keys. + * @param okey the key + * @return the value, or null if absent + */ + private V doGet(Object okey) { + Comparable key = comparable(okey); + Node bound = null; + Index q = head; + Index r = q.right; + Node n; + K k; + int c; + for (;;) { + Index d; + // Traverse rights + if (r != null && (n = r.node) != bound && (k = n.key) != null) { + if ((c = key.compareTo(k)) > 0) { + q = r; + r = r.right; + continue; + } else if (c == 0) { + Object v = n.value; + return (v != null)? (V)v : getUsingFindNode(key); + } else + bound = n; + } + + // Traverse down + if ((d = q.down) != null) { + q = d; + r = d.right; + } else + break; + } + + // Traverse nexts + for (n = q.node.next; n != null; n = n.next) { + if ((k = n.key) != null) { + if ((c = key.compareTo(k)) == 0) { + Object v = n.value; + return (v != null)? (V)v : getUsingFindNode(key); + } else if (c < 0) + break; + } + } + return null; + } + + /** + * Performs map.get via findNode. Used as a backup if doGet + * encounters an in-progress deletion. + * @param key the key + * @return the value, or null if absent + */ + private V getUsingFindNode(Comparable key) { + /* + * Loop needed here and elsewhere in case value field goes + * null just as it is about to be returned, in which case we + * lost a race with a deletion, so must retry. + */ + for (;;) { + Node n = findNode(key); + if (n == null) + return null; + Object v = n.value; + if (v != null) + return (V)v; + } + } + + /* ---------------- Insertion -------------- */ + + /** + * Main insertion method. Adds element if not present, or + * replaces value if present and onlyIfAbsent is false. + * @param kkey the key + * @param value the value that must be associated with key + * @param onlyIfAbsent if should not insert if already present + * @return the old value, or null if newly inserted + */ + private V doPut(K kkey, V value, boolean onlyIfAbsent) { + Comparable key = comparable(kkey); + for (;;) { + Node b = findPredecessor(key); + Node n = b.next; + for (;;) { + if (n != null) { + Node f = n.next; + if (n != b.next) // inconsistent read + break;; + Object v = n.value; + if (v == null) { // n is deleted + n.helpDelete(b, f); + break; + } + if (v == n || b.value == null) // b is deleted + break; + int c = key.compareTo(n.key); + if (c > 0) { + b = n; + n = f; + continue; + } + if (c == 0) { + if (onlyIfAbsent || n.casValue(v, value)) + return (V)v; + else + break; // restart if lost race to replace value + } + // else c < 0; fall through + } + + Node z = new Node(kkey, value, n); + if (!b.casNext(n, z)) + break; // restart if lost race to append to b + int level = randomLevel(); + if (level > 0) + insertIndex(z, level); + return null; + } + } + } + + /** + * Returns a random level for inserting a new node. + * Hardwired to k=1, p=0.5, max 31 (see above and + * Pugh's "Skip List Cookbook", sec 3.4). + * + * This uses the simplest of the generators described in George + * Marsaglia's "Xorshift RNGs" paper. This is not a high-quality + * generator but is acceptable here. + */ + private int randomLevel() { + int x = randomSeed; + x ^= x << 13; + x ^= x >>> 17; + randomSeed = x ^= x << 5; + if ((x & 0x8001) != 0) // test highest and lowest bits + return 0; + int level = 1; + while (((x >>>= 1) & 1) != 0) ++level; + return level; + } + + /** + * Creates and adds index nodes for the given node. + * @param z the node + * @param level the level of the index + */ + private void insertIndex(Node z, int level) { + HeadIndex h = head; + int max = h.level; + + if (level <= max) { + Index idx = null; + for (int i = 1; i <= level; ++i) + idx = new Index(z, idx, null); + addIndex(idx, h, level); + + } else { // Add a new level + /* + * To reduce interference by other threads checking for + * empty levels in tryReduceLevel, new levels are added + * with initialized right pointers. Which in turn requires + * keeping levels in an array to access them while + * creating new head index nodes from the opposite + * direction. + */ + level = max + 1; + Index[] idxs = (Index[])new Index[level+1]; + Index idx = null; + for (int i = 1; i <= level; ++i) + idxs[i] = idx = new Index(z, idx, null); + + HeadIndex oldh; + int k; + for (;;) { + oldh = head; + int oldLevel = oldh.level; + if (level <= oldLevel) { // lost race to add level + k = level; + break; + } + HeadIndex newh = oldh; + Node oldbase = oldh.node; + for (int j = oldLevel+1; j <= level; ++j) + newh = new HeadIndex(oldbase, newh, idxs[j], j); + if (casHead(oldh, newh)) { + k = oldLevel; + break; + } + } + addIndex(idxs[k], oldh, k); + } + } + + /** + * Adds given index nodes from given level down to 1. + * @param idx the topmost index node being inserted + * @param h the value of head to use to insert. This must be + * snapshotted by callers to provide correct insertion level + * @param indexLevel the level of the index + */ + private void addIndex(Index idx, HeadIndex h, int indexLevel) { + // Track next level to insert in case of retries + int insertionLevel = indexLevel; + Comparable key = comparable(idx.node.key); + if (key == null) throw new NullPointerException(); + + // Similar to findPredecessor, but adding index nodes along + // path to key. + for (;;) { + int j = h.level; + Index q = h; + Index r = q.right; + Index t = idx; + for (;;) { + if (r != null) { + Node n = r.node; + // compare before deletion check avoids needing recheck + int c = key.compareTo(n.key); + if (n.value == null) { + if (!q.unlink(r)) + break; + r = q.right; + continue; + } + if (c > 0) { + q = r; + r = r.right; + continue; + } + } + + if (j == insertionLevel) { + // Don't insert index if node already deleted + if (t.indexesDeletedNode()) { + findNode(key); // cleans up + return; + } + if (!q.link(r, t)) + break; // restart + if (--insertionLevel == 0) { + // need final deletion check before return + if (t.indexesDeletedNode()) + findNode(key); + return; + } + } + + if (--j >= insertionLevel && j < indexLevel) + t = t.down; + q = q.down; + r = q.right; + } + } + } + + /* ---------------- Deletion -------------- */ + + /** + * Main deletion method. Locates node, nulls value, appends a + * deletion marker, unlinks predecessor, removes associated index + * nodes, and possibly reduces head index level. + * + * Index nodes are cleared out simply by calling findPredecessor. + * which unlinks indexes to deleted nodes found along path to key, + * which will include the indexes to this node. This is done + * unconditionally. We can't check beforehand whether there are + * index nodes because it might be the case that some or all + * indexes hadn't been inserted yet for this node during initial + * search for it, and we'd like to ensure lack of garbage + * retention, so must call to be sure. + * + * @param okey the key + * @param value if non-null, the value that must be + * associated with key + * @return the node, or null if not found + */ + final V doRemove(Object okey, Object value) { + Comparable key = comparable(okey); + for (;;) { + Node b = findPredecessor(key); + Node n = b.next; + for (;;) { + if (n == null) + return null; + Node f = n.next; + if (n != b.next) // inconsistent read + break; + Object v = n.value; + if (v == null) { // n is deleted + n.helpDelete(b, f); + break; + } + if (v == n || b.value == null) // b is deleted + break; + int c = key.compareTo(n.key); + if (c < 0) + return null; + if (c > 0) { + b = n; + n = f; + continue; + } + if (value != null && !value.equals(v)) + return null; + if (!n.casValue(v, null)) + break; + if (!n.appendMarker(f) || !b.casNext(n, f)) + findNode(key); // Retry via findNode + else { + findPredecessor(key); // Clean index + if (head.right == null) + tryReduceLevel(); + } + return (V)v; + } + } + } + + /** + * Possibly reduce head level if it has no nodes. This method can + * (rarely) make mistakes, in which case levels can disappear even + * though they are about to contain index nodes. This impacts + * performance, not correctness. To minimize mistakes as well as + * to reduce hysteresis, the level is reduced by one only if the + * topmost three levels look empty. Also, if the removed level + * looks non-empty after CAS, we try to change it back quick + * before anyone notices our mistake! (This trick works pretty + * well because this method will practically never make mistakes + * unless current thread stalls immediately before first CAS, in + * which case it is very unlikely to stall again immediately + * afterwards, so will recover.) + * + * We put up with all this rather than just let levels grow + * because otherwise, even a small map that has undergone a large + * number of insertions and removals will have a lot of levels, + * slowing down access more than would an occasional unwanted + * reduction. + */ + private void tryReduceLevel() { + HeadIndex h = head; + HeadIndex d; + HeadIndex e; + if (h.level > 3 && + (d = (HeadIndex)h.down) != null && + (e = (HeadIndex)d.down) != null && + e.right == null && + d.right == null && + h.right == null && + casHead(h, d) && // try to set + h.right != null) // recheck + casHead(d, h); // try to backout + } + + /* ---------------- Finding and removing first element -------------- */ + + /** + * Specialized variant of findNode to get first valid node. + * @return first node or null if empty + */ + Node findFirst() { + for (;;) { + Node b = head.node; + Node n = b.next; + if (n == null) + return null; + if (n.value != null) + return n; + n.helpDelete(b, n.next); + } + } + + /** + * Removes first entry; returns its snapshot. + * @return null if empty, else snapshot of first entry + */ + Map.Entry doRemoveFirstEntry() { + for (;;) { + Node b = head.node; + Node n = b.next; + if (n == null) + return null; + Node f = n.next; + if (n != b.next) + continue; + Object v = n.value; + if (v == null) { + n.helpDelete(b, f); + continue; + } + if (!n.casValue(v, null)) + continue; + if (!n.appendMarker(f) || !b.casNext(n, f)) + findFirst(); // retry + clearIndexToFirst(); + return new AbstractMap.SimpleImmutableEntry(n.key, (V)v); + } + } + + /** + * Clears out index nodes associated with deleted first entry. + */ + private void clearIndexToFirst() { + for (;;) { + Index q = head; + for (;;) { + Index r = q.right; + if (r != null && r.indexesDeletedNode() && !q.unlink(r)) + break; + if ((q = q.down) == null) { + if (head.right == null) + tryReduceLevel(); + return; + } + } + } + } + + + /* ---------------- Finding and removing last element -------------- */ + + /** + * Specialized version of find to get last valid node. + * @return last node or null if empty + */ + Node findLast() { + /* + * findPredecessor can't be used to traverse index level + * because this doesn't use comparisons. So traversals of + * both levels are folded together. + */ + Index q = head; + for (;;) { + Index d, r; + if ((r = q.right) != null) { + if (r.indexesDeletedNode()) { + q.unlink(r); + q = head; // restart + } + else + q = r; + } else if ((d = q.down) != null) { + q = d; + } else { + Node b = q.node; + Node n = b.next; + for (;;) { + if (n == null) + return (b.isBaseHeader())? null : b; + Node f = n.next; // inconsistent read + if (n != b.next) + break; + Object v = n.value; + if (v == null) { // n is deleted + n.helpDelete(b, f); + break; + } + if (v == n || b.value == null) // b is deleted + break; + b = n; + n = f; + } + q = head; // restart + } + } + } + + /** + * Specialized variant of findPredecessor to get predecessor of last + * valid node. Needed when removing the last entry. It is possible + * that all successors of returned node will have been deleted upon + * return, in which case this method can be retried. + * @return likely predecessor of last node + */ + private Node findPredecessorOfLast() { + for (;;) { + Index q = head; + for (;;) { + Index d, r; + if ((r = q.right) != null) { + if (r.indexesDeletedNode()) { + q.unlink(r); + break; // must restart + } + // proceed as far across as possible without overshooting + if (r.node.next != null) { + q = r; + continue; + } + } + if ((d = q.down) != null) + q = d; + else + return q.node; + } + } + } + + /** + * Removes last entry; returns its snapshot. + * Specialized variant of doRemove. + * @return null if empty, else snapshot of last entry + */ + Map.Entry doRemoveLastEntry() { + for (;;) { + Node b = findPredecessorOfLast(); + Node n = b.next; + if (n == null) { + if (b.isBaseHeader()) // empty + return null; + else + continue; // all b's successors are deleted; retry + } + for (;;) { + Node f = n.next; + if (n != b.next) // inconsistent read + break; + Object v = n.value; + if (v == null) { // n is deleted + n.helpDelete(b, f); + break; + } + if (v == n || b.value == null) // b is deleted + break; + if (f != null) { + b = n; + n = f; + continue; + } + if (!n.casValue(v, null)) + break; + K key = n.key; + Comparable ck = comparable(key); + if (!n.appendMarker(f) || !b.casNext(n, f)) + findNode(ck); // Retry via findNode + else { + findPredecessor(ck); // Clean index + if (head.right == null) + tryReduceLevel(); + } + return new AbstractMap.SimpleImmutableEntry(key, (V)v); + } + } + } + + /* ---------------- Relational operations -------------- */ + + // Control values OR'ed as arguments to findNear + + private static final int EQ = 1; + private static final int LT = 2; + private static final int GT = 0; // Actually checked as !LT + + /** + * Utility for ceiling, floor, lower, higher methods. + * @param kkey the key + * @param rel the relation -- OR'ed combination of EQ, LT, GT + * @return nearest node fitting relation, or null if no such + */ + Node findNear(K kkey, int rel) { + Comparable key = comparable(kkey); + for (;;) { + Node b = findPredecessor(key); + Node n = b.next; + for (;;) { + if (n == null) + return ((rel & LT) == 0 || b.isBaseHeader())? null : b; + Node f = n.next; + if (n != b.next) // inconsistent read + break; + Object v = n.value; + if (v == null) { // n is deleted + n.helpDelete(b, f); + break; + } + if (v == n || b.value == null) // b is deleted + break; + int c = key.compareTo(n.key); + if ((c == 0 && (rel & EQ) != 0) || + (c < 0 && (rel & LT) == 0)) + return n; + if ( c <= 0 && (rel & LT) != 0) + return (b.isBaseHeader())? null : b; + b = n; + n = f; + } + } + } + + /** + * Returns SimpleImmutableEntry for results of findNear. + * @param key the key + * @param rel the relation -- OR'ed combination of EQ, LT, GT + * @return Entry fitting relation, or null if no such + */ + AbstractMap.SimpleImmutableEntry getNear(K key, int rel) { + for (;;) { + Node n = findNear(key, rel); + if (n == null) + return null; + AbstractMap.SimpleImmutableEntry e = n.createSnapshot(); + if (e != null) + return e; + } + } + + + /* ---------------- Constructors -------------- */ + + /** + * Constructs a new, empty map, sorted according to the + * {@linkplain Comparable natural ordering} of the keys. + */ + public ConcurrentSkipListMap() { + this.comparator = null; + initialize(); + } + + /** + * Constructs a new, empty map, sorted according to the specified + * comparator. + * + * @param comparator the comparator that will be used to order this map. + * If null, the {@linkplain Comparable natural + * ordering} of the keys will be used. + */ + public ConcurrentSkipListMap(Comparator comparator) { + this.comparator = comparator; + initialize(); + } + + /** + * Constructs a new map containing the same mappings as the given map, + * sorted according to the {@linkplain Comparable natural ordering} of + * the keys. + * + * @param m the map whose mappings are to be placed in this map + * @throws ClassCastException if the keys in m are not + * {@link Comparable}, or are not mutually comparable + * @throws NullPointerException if the specified map or any of its keys + * or values are null + */ + public ConcurrentSkipListMap(Map m) { + this.comparator = null; + initialize(); + putAll(m); + } + + /** + * Constructs a new map containing the same mappings and using the + * same ordering as the specified sorted map. + * + * @param m the sorted map whose mappings are to be placed in this + * map, and whose comparator is to be used to sort this map + * @throws NullPointerException if the specified sorted map or any of + * its keys or values are null + */ + public ConcurrentSkipListMap(SortedMap m) { + this.comparator = m.comparator(); + initialize(); + buildFromSorted(m); + } + + /** + * Returns a shallow copy of this ConcurrentSkipListMap + * instance. (The keys and values themselves are not cloned.) + * + * @return a shallow copy of this map + */ + public ConcurrentSkipListMap clone() { + ConcurrentSkipListMap clone = null; + try { + clone = (ConcurrentSkipListMap) super.clone(); + } catch (CloneNotSupportedException e) { + throw new InternalError(); + } + + clone.initialize(); + clone.buildFromSorted(this); + return clone; + } + + /** + * Streamlined bulk insertion to initialize from elements of + * given sorted map. Call only from constructor or clone + * method. + */ + private void buildFromSorted(SortedMap map) { + if (map == null) + throw new NullPointerException(); + + HeadIndex h = head; + Node basepred = h.node; + + // Track the current rightmost node at each level. Uses an + // ArrayList to avoid committing to initial or maximum level. + ArrayList> preds = new ArrayList>(); + + // initialize + for (int i = 0; i <= h.level; ++i) + preds.add(null); + Index q = h; + for (int i = h.level; i > 0; --i) { + preds.set(i, q); + q = q.down; + } + + Iterator> it = + map.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry e = it.next(); + int j = randomLevel(); + if (j > h.level) j = h.level + 1; + K k = e.getKey(); + V v = e.getValue(); + if (k == null || v == null) + throw new NullPointerException(); + Node z = new Node(k, v, null); + basepred.next = z; + basepred = z; + if (j > 0) { + Index idx = null; + for (int i = 1; i <= j; ++i) { + idx = new Index(z, idx, null); + if (i > h.level) + h = new HeadIndex(h.node, h, idx, i); + + if (i < preds.size()) { + preds.get(i).right = idx; + preds.set(i, idx); + } else + preds.add(idx); + } + } + } + head = h; + } + + /* ---------------- Serialization -------------- */ + + /** + * Save the state of this map to a stream. + * + * @serialData The key (Object) and value (Object) for each + * key-value mapping represented by the map, followed by + * null. The key-value mappings are emitted in key-order + * (as determined by the Comparator, or by the keys' natural + * ordering if no Comparator). + */ + private void writeObject(java.io.ObjectOutputStream s) + throws java.io.IOException { + // Write out the Comparator and any hidden stuff + s.defaultWriteObject(); + + // Write out keys and values (alternating) + for (Node n = findFirst(); n != null; n = n.next) { + V v = n.getValidValue(); + if (v != null) { + s.writeObject(n.key); + s.writeObject(v); + } + } + s.writeObject(null); + } + + /** + * Reconstitute the map from a stream. + */ + private void readObject(final java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + // Read in the Comparator and any hidden stuff + s.defaultReadObject(); + // Reset transients + initialize(); + + /* + * This is nearly identical to buildFromSorted, but is + * distinct because readObject calls can't be nicely adapted + * as the kind of iterator needed by buildFromSorted. (They + * can be, but doing so requires type cheats and/or creation + * of adaptor classes.) It is simpler to just adapt the code. + */ + + HeadIndex h = head; + Node basepred = h.node; + ArrayList> preds = new ArrayList>(); + for (int i = 0; i <= h.level; ++i) + preds.add(null); + Index q = h; + for (int i = h.level; i > 0; --i) { + preds.set(i, q); + q = q.down; + } + + for (;;) { + Object k = s.readObject(); + if (k == null) + break; + Object v = s.readObject(); + if (v == null) + throw new NullPointerException(); + K key = (K) k; + V val = (V) v; + int j = randomLevel(); + if (j > h.level) j = h.level + 1; + Node z = new Node(key, val, null); + basepred.next = z; + basepred = z; + if (j > 0) { + Index idx = null; + for (int i = 1; i <= j; ++i) { + idx = new Index(z, idx, null); + if (i > h.level) + h = new HeadIndex(h.node, h, idx, i); + + if (i < preds.size()) { + preds.get(i).right = idx; + preds.set(i, idx); + } else + preds.add(idx); + } + } + } + head = h; + } + + /* ------ Map API methods ------ */ + + /** + * Returns true if this map contains a mapping for the specified + * key. + * + * @param key key whose presence in this map is to be tested + * @return true if this map contains a mapping for the specified key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + */ + public boolean containsKey(Object key) { + return doGet(key) != null; + } + + /** + * Returns the value to which the specified key is mapped, + * or {@code null} if this map contains no mapping for the key. + * + *

More formally, if this map contains a mapping from a key + * {@code k} to a value {@code v} such that {@code key} compares + * equal to {@code k} according to the map's ordering, then this + * method returns {@code v}; otherwise it returns {@code null}. + * (There can be at most one such mapping.) + * + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + */ + public V get(Object key) { + return doGet(key); + } + + /** + * Associates the specified value with the specified key in this map. + * If the map previously contained a mapping for the key, the old + * value is replaced. + * + * @param key key with which the specified value is to be associated + * @param value value to be associated with the specified key + * @return the previous value associated with the specified key, or + * null if there was no mapping for the key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key or value is null + */ + public V put(K key, V value) { + if (value == null) + throw new NullPointerException(); + return doPut(key, value, false); + } + + /** + * Removes the mapping for the specified key from this map if present. + * + * @param key key for which mapping should be removed + * @return the previous value associated with the specified key, or + * null if there was no mapping for the key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + */ + public V remove(Object key) { + return doRemove(key, null); + } + + /** + * Returns true if this map maps one or more keys to the + * specified value. This operation requires time linear in the + * map size. + * + * @param value value whose presence in this map is to be tested + * @return true if a mapping to value exists; + * false otherwise + * @throws NullPointerException if the specified value is null + */ + public boolean containsValue(Object value) { + if (value == null) + throw new NullPointerException(); + for (Node n = findFirst(); n != null; n = n.next) { + V v = n.getValidValue(); + if (v != null && value.equals(v)) + return true; + } + return false; + } + + /** + * Returns the number of key-value mappings in this map. If this map + * contains more than Integer.MAX_VALUE elements, it + * returns Integer.MAX_VALUE. + * + *

Beware that, unlike in most collections, this method is + * NOT a constant-time operation. Because of the + * asynchronous nature of these maps, determining the current + * number of elements requires traversing them all to count them. + * Additionally, it is possible for the size to change during + * execution of this method, in which case the returned result + * will be inaccurate. Thus, this method is typically not very + * useful in concurrent applications. + * + * @return the number of elements in this map + */ + public int size() { + long count = 0; + for (Node n = findFirst(); n != null; n = n.next) { + if (n.getValidValue() != null) + ++count; + } + return (count >= Integer.MAX_VALUE)? Integer.MAX_VALUE : (int)count; + } + + /** + * Returns true if this map contains no key-value mappings. + * @return true if this map contains no key-value mappings + */ + public boolean isEmpty() { + return findFirst() == null; + } + + /** + * Removes all of the mappings from this map. + */ + public void clear() { + initialize(); + } + + /* ---------------- View methods -------------- */ + + /* + * Note: Lazy initialization works for views because view classes + * are stateless/immutable so it doesn't matter wrt correctness if + * more than one is created (which will only rarely happen). Even + * so, the following idiom conservatively ensures that the method + * returns the one it created if it does so, not one created by + * another racing thread. + */ + + /** + * Returns a {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in ascending order. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from the map, + * via the {@code Iterator.remove}, {@code Set.remove}, + * {@code removeAll}, {@code retainAll}, and {@code clear} + * operations. It does not support the {@code add} or {@code addAll} + * operations. + * + *

The view's {@code iterator} is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + *

This method is equivalent to method {@code navigableKeySet}. + * + * @return a navigable set view of the keys in this map + */ + public NavigableSet keySet() { + KeySet ks = keySet; + return (ks != null) ? ks : (keySet = new KeySet(this)); + } + + public NavigableSet navigableKeySet() { + KeySet ks = keySet; + return (ks != null) ? ks : (keySet = new KeySet(this)); + } + + /** + * Returns a {@link Collection} view of the values contained in this map. + * The collection's iterator returns the values in ascending order + * of the corresponding keys. + * The collection is backed by the map, so changes to the map are + * reflected in the collection, and vice-versa. The collection + * supports element removal, which removes the corresponding + * mapping from the map, via the Iterator.remove, + * Collection.remove, removeAll, + * retainAll and clear operations. It does not + * support the add or addAll operations. + * + *

The view's iterator is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + */ + public Collection values() { + Values vs = values; + return (vs != null) ? vs : (values = new Values(this)); + } + + /** + * Returns a {@link Set} view of the mappings contained in this map. + * The set's iterator returns the entries in ascending key order. + * The set is backed by the map, so changes to the map are + * reflected in the set, and vice-versa. The set supports element + * removal, which removes the corresponding mapping from the map, + * via the Iterator.remove, Set.remove, + * removeAll, retainAll and clear + * operations. It does not support the add or + * addAll operations. + * + *

The view's iterator is a "weakly consistent" iterator + * that will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + *

The Map.Entry elements returned by + * iterator.next() do not support the + * setValue operation. + * + * @return a set view of the mappings contained in this map, + * sorted in ascending key order + */ + public Set> entrySet() { + EntrySet es = entrySet; + return (es != null) ? es : (entrySet = new EntrySet(this)); + } + + public ConcurrentNavigableMap descendingMap() { + ConcurrentNavigableMap dm = descendingMap; + return (dm != null) ? dm : (descendingMap = new SubMap + (this, null, false, null, false, true)); + } + + public NavigableSet descendingKeySet() { + return descendingMap().navigableKeySet(); + } + + /* ---------------- AbstractMap Overrides -------------- */ + + /** + * Compares the specified object with this map for equality. + * Returns true if the given object is also a map and the + * two maps represent the same mappings. More formally, two maps + * m1 and m2 represent the same mappings if + * m1.entrySet().equals(m2.entrySet()). This + * operation may return misleading results if either map is + * concurrently modified during execution of this method. + * + * @param o object to be compared for equality with this map + * @return true if the specified object is equal to this map + */ + public boolean equals(Object o) { + if (o == this) + return true; + if (!(o instanceof Map)) + return false; + Map m = (Map) o; + try { + for (Map.Entry e : this.entrySet()) + if (! e.getValue().equals(m.get(e.getKey()))) + return false; + for (Map.Entry e : m.entrySet()) { + Object k = e.getKey(); + Object v = e.getValue(); + if (k == null || v == null || !v.equals(get(k))) + return false; + } + return true; + } catch (ClassCastException unused) { + return false; + } catch (NullPointerException unused) { + return false; + } + } + + /* ------ ConcurrentMap API methods ------ */ + + /** + * {@inheritDoc} + * + * @return the previous value associated with the specified key, + * or null if there was no mapping for the key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key or value is null + */ + public V putIfAbsent(K key, V value) { + if (value == null) + throw new NullPointerException(); + return doPut(key, value, true); + } + + /** + * {@inheritDoc} + * + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key is null + */ + public boolean remove(Object key, Object value) { + if (key == null) + throw new NullPointerException(); + if (value == null) + return false; + return doRemove(key, value) != null; + } + + /** + * {@inheritDoc} + * + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if any of the arguments are null + */ + public boolean replace(K key, V oldValue, V newValue) { + if (oldValue == null || newValue == null) + throw new NullPointerException(); + Comparable k = comparable(key); + for (;;) { + Node n = findNode(k); + if (n == null) + return false; + Object v = n.value; + if (v != null) { + if (!oldValue.equals(v)) + return false; + if (n.casValue(v, newValue)) + return true; + } + } + } + + /** + * {@inheritDoc} + * + * @return the previous value associated with the specified key, + * or null if there was no mapping for the key + * @throws ClassCastException if the specified key cannot be compared + * with the keys currently in the map + * @throws NullPointerException if the specified key or value is null + */ + public V replace(K key, V value) { + if (value == null) + throw new NullPointerException(); + Comparable k = comparable(key); + for (;;) { + Node n = findNode(k); + if (n == null) + return null; + Object v = n.value; + if (v != null && n.casValue(v, value)) + return (V)v; + } + } + + /* ------ SortedMap API methods ------ */ + + public Comparator comparator() { + return comparator; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public K firstKey() { + Node n = findFirst(); + if (n == null) + throw new NoSuchElementException(); + return n.key; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public K lastKey() { + Node n = findLast(); + if (n == null) + throw new NoSuchElementException(); + return n.key; + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromKey} or {@code toKey} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public ConcurrentNavigableMap subMap(K fromKey, + boolean fromInclusive, + K toKey, + boolean toInclusive) { + if (fromKey == null || toKey == null) + throw new NullPointerException(); + return new SubMap + (this, fromKey, fromInclusive, toKey, toInclusive, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code toKey} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public ConcurrentNavigableMap headMap(K toKey, + boolean inclusive) { + if (toKey == null) + throw new NullPointerException(); + return new SubMap + (this, null, false, toKey, inclusive, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromKey} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public ConcurrentNavigableMap tailMap(K fromKey, + boolean inclusive) { + if (fromKey == null) + throw new NullPointerException(); + return new SubMap + (this, fromKey, inclusive, null, false, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromKey} or {@code toKey} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public ConcurrentNavigableMap subMap(K fromKey, K toKey) { + return subMap(fromKey, true, toKey, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code toKey} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public ConcurrentNavigableMap headMap(K toKey) { + return headMap(toKey, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromKey} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public ConcurrentNavigableMap tailMap(K fromKey) { + return tailMap(fromKey, true); + } + + /* ---------------- Relational operations -------------- */ + + /** + * Returns a key-value mapping associated with the greatest key + * strictly less than the given key, or null if there is + * no such key. The returned entry does not support the + * Entry.setValue method. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public Map.Entry lowerEntry(K key) { + return getNear(key, LT); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public K lowerKey(K key) { + Node n = findNear(key, LT); + return (n == null)? null : n.key; + } + + /** + * Returns a key-value mapping associated with the greatest key + * less than or equal to the given key, or null if there + * is no such key. The returned entry does not support + * the Entry.setValue method. + * + * @param key the key + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public Map.Entry floorEntry(K key) { + return getNear(key, LT|EQ); + } + + /** + * @param key the key + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public K floorKey(K key) { + Node n = findNear(key, LT|EQ); + return (n == null)? null : n.key; + } + + /** + * Returns a key-value mapping associated with the least key + * greater than or equal to the given key, or null if + * there is no such entry. The returned entry does not + * support the Entry.setValue method. + * + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public Map.Entry ceilingEntry(K key) { + return getNear(key, GT|EQ); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public K ceilingKey(K key) { + Node n = findNear(key, GT|EQ); + return (n == null)? null : n.key; + } + + /** + * Returns a key-value mapping associated with the least key + * strictly greater than the given key, or null if there + * is no such key. The returned entry does not support + * the Entry.setValue method. + * + * @param key the key + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public Map.Entry higherEntry(K key) { + return getNear(key, GT); + } + + /** + * @param key the key + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified key is null + */ + public K higherKey(K key) { + Node n = findNear(key, GT); + return (n == null)? null : n.key; + } + + /** + * Returns a key-value mapping associated with the least + * key in this map, or null if the map is empty. + * The returned entry does not support + * the Entry.setValue method. + */ + public Map.Entry firstEntry() { + for (;;) { + Node n = findFirst(); + if (n == null) + return null; + AbstractMap.SimpleImmutableEntry e = n.createSnapshot(); + if (e != null) + return e; + } + } + + /** + * Returns a key-value mapping associated with the greatest + * key in this map, or null if the map is empty. + * The returned entry does not support + * the Entry.setValue method. + */ + public Map.Entry lastEntry() { + for (;;) { + Node n = findLast(); + if (n == null) + return null; + AbstractMap.SimpleImmutableEntry e = n.createSnapshot(); + if (e != null) + return e; + } + } + + /** + * Removes and returns a key-value mapping associated with + * the least key in this map, or null if the map is empty. + * The returned entry does not support + * the Entry.setValue method. + */ + public Map.Entry pollFirstEntry() { + return doRemoveFirstEntry(); + } + + /** + * Removes and returns a key-value mapping associated with + * the greatest key in this map, or null if the map is empty. + * The returned entry does not support + * the Entry.setValue method. + */ + public Map.Entry pollLastEntry() { + return doRemoveLastEntry(); + } + + + /* ---------------- Iterators -------------- */ + + /** + * Base of iterator classes: + */ + abstract class Iter implements Iterator { + /** the last node returned by next() */ + Node lastReturned; + /** the next node to return from next(); */ + Node next; + /** Cache of next value field to maintain weak consistency */ + V nextValue; + + /** Initializes ascending iterator for entire range. */ + Iter() { + for (;;) { + next = findFirst(); + if (next == null) + break; + Object x = next.value; + if (x != null && x != next) { + nextValue = (V) x; + break; + } + } + } + + public final boolean hasNext() { + return next != null; + } + + /** Advances next to higher entry. */ + final void advance() { + if ((lastReturned = next) == null) + throw new NoSuchElementException(); + for (;;) { + next = next.next; + if (next == null) + break; + Object x = next.value; + if (x != null && x != next) { + nextValue = (V) x; + break; + } + } + } + + public void remove() { + Node l = lastReturned; + if (l == null) + throw new IllegalStateException(); + // It would not be worth all of the overhead to directly + // unlink from here. Using remove is fast enough. + ConcurrentSkipListMap.this.remove(l.key); + lastReturned = null; + } + + } + + final class ValueIterator extends Iter { + public V next() { + V v = nextValue; + advance(); + return v; + } + } + + final class KeyIterator extends Iter { + public K next() { + Node n = next; + advance(); + return n.key; + } + } + + final class EntryIterator extends Iter> { + public Map.Entry next() { + Node n = next; + V v = nextValue; + advance(); + return new AbstractMap.SimpleImmutableEntry(n.key, v); + } + } + + // Factory methods for iterators needed by ConcurrentSkipListSet etc + + Iterator keyIterator() { + return new KeyIterator(); + } + + Iterator valueIterator() { + return new ValueIterator(); + } + + Iterator> entryIterator() { + return new EntryIterator(); + } + + /* ---------------- View Classes -------------- */ + + /* + * View classes are static, delegating to a ConcurrentNavigableMap + * to allow use by SubMaps, which outweighs the ugliness of + * needing type-tests for Iterator methods. + */ + + static final List toList(Collection c) { + // Using size() here would be a pessimization. + List list = new ArrayList(); + for (E e : c) + list.add(e); + return list; + } + + static final class KeySet extends AbstractSet implements NavigableSet { + private final ConcurrentNavigableMap m; + KeySet(ConcurrentNavigableMap map) { m = map; } + public int size() { return m.size(); } + public boolean isEmpty() { return m.isEmpty(); } + public boolean contains(Object o) { return m.containsKey(o); } + public boolean remove(Object o) { return m.remove(o) != null; } + public void clear() { m.clear(); } + public E lower(E e) { return m.lowerKey(e); } + public E floor(E e) { return m.floorKey(e); } + public E ceiling(E e) { return m.ceilingKey(e); } + public E higher(E e) { return m.higherKey(e); } + public Comparator comparator() { return m.comparator(); } + public E first() { return m.firstKey(); } + public E last() { return m.lastKey(); } + public E pollFirst() { + Map.Entry e = m.pollFirstEntry(); + return e == null? null : e.getKey(); + } + public E pollLast() { + Map.Entry e = m.pollLastEntry(); + return e == null? null : e.getKey(); + } + public Iterator iterator() { + if (m instanceof ConcurrentSkipListMap) + return ((ConcurrentSkipListMap)m).keyIterator(); + else + return ((ConcurrentSkipListMap.SubMap)m).keyIterator(); + } + public boolean equals(Object o) { + if (o == this) + return true; + if (!(o instanceof Set)) + return false; + Collection c = (Collection) o; + try { + return containsAll(c) && c.containsAll(this); + } catch (ClassCastException unused) { + return false; + } catch (NullPointerException unused) { + return false; + } + } + public Object[] toArray() { return toList(this).toArray(); } + public T[] toArray(T[] a) { return toList(this).toArray(a); } + public Iterator descendingIterator() { + return descendingSet().iterator(); + } + public NavigableSet subSet(E fromElement, + boolean fromInclusive, + E toElement, + boolean toInclusive) { + return new ConcurrentSkipListSet + (m.subMap(fromElement, fromInclusive, + toElement, toInclusive)); + } + public NavigableSet headSet(E toElement, boolean inclusive) { + return new ConcurrentSkipListSet(m.headMap(toElement, inclusive)); + } + public NavigableSet tailSet(E fromElement, boolean inclusive) { + return new ConcurrentSkipListSet(m.tailMap(fromElement, inclusive)); + } + public NavigableSet subSet(E fromElement, E toElement) { + return subSet(fromElement, true, toElement, false); + } + public NavigableSet headSet(E toElement) { + return headSet(toElement, false); + } + public NavigableSet tailSet(E fromElement) { + return tailSet(fromElement, true); + } + public NavigableSet descendingSet() { + return new ConcurrentSkipListSet(m.descendingMap()); + } + } + + static final class Values extends AbstractCollection { + private final ConcurrentNavigableMap m; + Values(ConcurrentNavigableMap map) { + m = map; + } + public Iterator iterator() { + if (m instanceof ConcurrentSkipListMap) + return ((ConcurrentSkipListMap)m).valueIterator(); + else + return ((SubMap)m).valueIterator(); + } + public boolean isEmpty() { + return m.isEmpty(); + } + public int size() { + return m.size(); + } + public boolean contains(Object o) { + return m.containsValue(o); + } + public void clear() { + m.clear(); + } + public Object[] toArray() { return toList(this).toArray(); } + public T[] toArray(T[] a) { return toList(this).toArray(a); } + } + + static final class EntrySet extends AbstractSet> { + private final ConcurrentNavigableMap m; + EntrySet(ConcurrentNavigableMap map) { + m = map; + } + + public Iterator> iterator() { + if (m instanceof ConcurrentSkipListMap) + return ((ConcurrentSkipListMap)m).entryIterator(); + else + return ((SubMap)m).entryIterator(); + } + + public boolean contains(Object o) { + if (!(o instanceof Map.Entry)) + return false; + Map.Entry e = (Map.Entry)o; + V1 v = m.get(e.getKey()); + return v != null && v.equals(e.getValue()); + } + public boolean remove(Object o) { + if (!(o instanceof Map.Entry)) + return false; + Map.Entry e = (Map.Entry)o; + return m.remove(e.getKey(), + e.getValue()); + } + public boolean isEmpty() { + return m.isEmpty(); + } + public int size() { + return m.size(); + } + public void clear() { + m.clear(); + } + public boolean equals(Object o) { + if (o == this) + return true; + if (!(o instanceof Set)) + return false; + Collection c = (Collection) o; + try { + return containsAll(c) && c.containsAll(this); + } catch (ClassCastException unused) { + return false; + } catch (NullPointerException unused) { + return false; + } + } + public Object[] toArray() { return toList(this).toArray(); } + public T[] toArray(T[] a) { return toList(this).toArray(a); } + } + + /** + * Submaps returned by {@link ConcurrentSkipListMap} submap operations + * represent a subrange of mappings of their underlying + * maps. Instances of this class support all methods of their + * underlying maps, differing in that mappings outside their range are + * ignored, and attempts to add mappings outside their ranges result + * in {@link IllegalArgumentException}. Instances of this class are + * constructed only using the subMap, headMap, and + * tailMap methods of their underlying maps. + * + * @serial include + */ + static final class SubMap extends AbstractMap + implements ConcurrentNavigableMap, Cloneable, + java.io.Serializable { + private static final long serialVersionUID = -7647078645895051609L; + + /** Underlying map */ + private final ConcurrentSkipListMap m; + /** lower bound key, or null if from start */ + private final K lo; + /** upper bound key, or null if to end */ + private final K hi; + /** inclusion flag for lo */ + private final boolean loInclusive; + /** inclusion flag for hi */ + private final boolean hiInclusive; + /** direction */ + private final boolean isDescending; + + // Lazily initialized view holders + private transient KeySet keySetView; + private transient Set> entrySetView; + private transient Collection valuesView; + + /** + * Creates a new submap, initializing all fields + */ + SubMap(ConcurrentSkipListMap map, + K fromKey, boolean fromInclusive, + K toKey, boolean toInclusive, + boolean isDescending) { + if (fromKey != null && toKey != null && + map.compare(fromKey, toKey) > 0) + throw new IllegalArgumentException("inconsistent range"); + this.m = map; + this.lo = fromKey; + this.hi = toKey; + this.loInclusive = fromInclusive; + this.hiInclusive = toInclusive; + this.isDescending = isDescending; + } + + /* ---------------- Utilities -------------- */ + + private boolean tooLow(K key) { + if (lo != null) { + int c = m.compare(key, lo); + if (c < 0 || (c == 0 && !loInclusive)) + return true; + } + return false; + } + + private boolean tooHigh(K key) { + if (hi != null) { + int c = m.compare(key, hi); + if (c > 0 || (c == 0 && !hiInclusive)) + return true; + } + return false; + } + + private boolean inBounds(K key) { + return !tooLow(key) && !tooHigh(key); + } + + private void checkKeyBounds(K key) throws IllegalArgumentException { + if (key == null) + throw new NullPointerException(); + if (!inBounds(key)) + throw new IllegalArgumentException("key out of range"); + } + + /** + * Returns true if node key is less than upper bound of range + */ + private boolean isBeforeEnd(ConcurrentSkipListMap.Node n) { + if (n == null) + return false; + if (hi == null) + return true; + K k = n.key; + if (k == null) // pass by markers and headers + return true; + int c = m.compare(k, hi); + if (c > 0 || (c == 0 && !hiInclusive)) + return false; + return true; + } + + /** + * Returns lowest node. This node might not be in range, so + * most usages need to check bounds + */ + private ConcurrentSkipListMap.Node loNode() { + if (lo == null) + return m.findFirst(); + else if (loInclusive) + return m.findNear(lo, m.GT|m.EQ); + else + return m.findNear(lo, m.GT); + } + + /** + * Returns highest node. This node might not be in range, so + * most usages need to check bounds + */ + private ConcurrentSkipListMap.Node hiNode() { + if (hi == null) + return m.findLast(); + else if (hiInclusive) + return m.findNear(hi, m.LT|m.EQ); + else + return m.findNear(hi, m.LT); + } + + /** + * Returns lowest absolute key (ignoring directonality) + */ + private K lowestKey() { + ConcurrentSkipListMap.Node n = loNode(); + if (isBeforeEnd(n)) + return n.key; + else + throw new NoSuchElementException(); + } + + /** + * Returns highest absolute key (ignoring directonality) + */ + private K highestKey() { + ConcurrentSkipListMap.Node n = hiNode(); + if (n != null) { + K last = n.key; + if (inBounds(last)) + return last; + } + throw new NoSuchElementException(); + } + + private Map.Entry lowestEntry() { + for (;;) { + ConcurrentSkipListMap.Node n = loNode(); + if (!isBeforeEnd(n)) + return null; + Map.Entry e = n.createSnapshot(); + if (e != null) + return e; + } + } + + private Map.Entry highestEntry() { + for (;;) { + ConcurrentSkipListMap.Node n = hiNode(); + if (n == null || !inBounds(n.key)) + return null; + Map.Entry e = n.createSnapshot(); + if (e != null) + return e; + } + } + + private Map.Entry removeLowest() { + for (;;) { + Node n = loNode(); + if (n == null) + return null; + K k = n.key; + if (!inBounds(k)) + return null; + V v = m.doRemove(k, null); + if (v != null) + return new AbstractMap.SimpleImmutableEntry(k, v); + } + } + + private Map.Entry removeHighest() { + for (;;) { + Node n = hiNode(); + if (n == null) + return null; + K k = n.key; + if (!inBounds(k)) + return null; + V v = m.doRemove(k, null); + if (v != null) + return new AbstractMap.SimpleImmutableEntry(k, v); + } + } + + /** + * Submap version of ConcurrentSkipListMap.getNearEntry + */ + private Map.Entry getNearEntry(K key, int rel) { + if (isDescending) { // adjust relation for direction + if ((rel & m.LT) == 0) + rel |= m.LT; + else + rel &= ~m.LT; + } + if (tooLow(key)) + return ((rel & m.LT) != 0)? null : lowestEntry(); + if (tooHigh(key)) + return ((rel & m.LT) != 0)? highestEntry() : null; + for (;;) { + Node n = m.findNear(key, rel); + if (n == null || !inBounds(n.key)) + return null; + K k = n.key; + V v = n.getValidValue(); + if (v != null) + return new AbstractMap.SimpleImmutableEntry(k, v); + } + } + + // Almost the same as getNearEntry, except for keys + private K getNearKey(K key, int rel) { + if (isDescending) { // adjust relation for direction + if ((rel & m.LT) == 0) + rel |= m.LT; + else + rel &= ~m.LT; + } + if (tooLow(key)) { + if ((rel & m.LT) == 0) { + ConcurrentSkipListMap.Node n = loNode(); + if (isBeforeEnd(n)) + return n.key; + } + return null; + } + if (tooHigh(key)) { + if ((rel & m.LT) != 0) { + ConcurrentSkipListMap.Node n = hiNode(); + if (n != null) { + K last = n.key; + if (inBounds(last)) + return last; + } + } + return null; + } + for (;;) { + Node n = m.findNear(key, rel); + if (n == null || !inBounds(n.key)) + return null; + K k = n.key; + V v = n.getValidValue(); + if (v != null) + return k; + } + } + + /* ---------------- Map API methods -------------- */ + + public boolean containsKey(Object key) { + if (key == null) throw new NullPointerException(); + K k = (K)key; + return inBounds(k) && m.containsKey(k); + } + + public V get(Object key) { + if (key == null) throw new NullPointerException(); + K k = (K)key; + return ((!inBounds(k)) ? null : m.get(k)); + } + + public V put(K key, V value) { + checkKeyBounds(key); + return m.put(key, value); + } + + public V remove(Object key) { + K k = (K)key; + return (!inBounds(k))? null : m.remove(k); + } + + public int size() { + long count = 0; + for (ConcurrentSkipListMap.Node n = loNode(); + isBeforeEnd(n); + n = n.next) { + if (n.getValidValue() != null) + ++count; + } + return count >= Integer.MAX_VALUE? Integer.MAX_VALUE : (int)count; + } + + public boolean isEmpty() { + return !isBeforeEnd(loNode()); + } + + public boolean containsValue(Object value) { + if (value == null) + throw new NullPointerException(); + for (ConcurrentSkipListMap.Node n = loNode(); + isBeforeEnd(n); + n = n.next) { + V v = n.getValidValue(); + if (v != null && value.equals(v)) + return true; + } + return false; + } + + public void clear() { + for (ConcurrentSkipListMap.Node n = loNode(); + isBeforeEnd(n); + n = n.next) { + if (n.getValidValue() != null) + m.remove(n.key); + } + } + + /* ---------------- ConcurrentMap API methods -------------- */ + + public V putIfAbsent(K key, V value) { + checkKeyBounds(key); + return m.putIfAbsent(key, value); + } + + public boolean remove(Object key, Object value) { + K k = (K)key; + return inBounds(k) && m.remove(k, value); + } + + public boolean replace(K key, V oldValue, V newValue) { + checkKeyBounds(key); + return m.replace(key, oldValue, newValue); + } + + public V replace(K key, V value) { + checkKeyBounds(key); + return m.replace(key, value); + } + + /* ---------------- SortedMap API methods -------------- */ + + public Comparator comparator() { + Comparator cmp = m.comparator(); + if (isDescending) + return Collections.reverseOrder(cmp); + else + return cmp; + } + + /** + * Utility to create submaps, where given bounds override + * unbounded(null) ones and/or are checked against bounded ones. + */ + private SubMap newSubMap(K fromKey, + boolean fromInclusive, + K toKey, + boolean toInclusive) { + if (isDescending) { // flip senses + K tk = fromKey; + fromKey = toKey; + toKey = tk; + boolean ti = fromInclusive; + fromInclusive = toInclusive; + toInclusive = ti; + } + if (lo != null) { + if (fromKey == null) { + fromKey = lo; + fromInclusive = loInclusive; + } + else { + int c = m.compare(fromKey, lo); + if (c < 0 || (c == 0 && !loInclusive && fromInclusive)) + throw new IllegalArgumentException("key out of range"); + } + } + if (hi != null) { + if (toKey == null) { + toKey = hi; + toInclusive = hiInclusive; + } + else { + int c = m.compare(toKey, hi); + if (c > 0 || (c == 0 && !hiInclusive && toInclusive)) + throw new IllegalArgumentException("key out of range"); + } + } + return new SubMap(m, fromKey, fromInclusive, + toKey, toInclusive, isDescending); + } + + public SubMap subMap(K fromKey, + boolean fromInclusive, + K toKey, + boolean toInclusive) { + if (fromKey == null || toKey == null) + throw new NullPointerException(); + return newSubMap(fromKey, fromInclusive, toKey, toInclusive); + } + + public SubMap headMap(K toKey, + boolean inclusive) { + if (toKey == null) + throw new NullPointerException(); + return newSubMap(null, false, toKey, inclusive); + } + + public SubMap tailMap(K fromKey, + boolean inclusive) { + if (fromKey == null) + throw new NullPointerException(); + return newSubMap(fromKey, inclusive, null, false); + } + + public SubMap subMap(K fromKey, K toKey) { + return subMap(fromKey, true, toKey, false); + } + + public SubMap headMap(K toKey) { + return headMap(toKey, false); + } + + public SubMap tailMap(K fromKey) { + return tailMap(fromKey, true); + } + + public SubMap descendingMap() { + return new SubMap(m, lo, loInclusive, + hi, hiInclusive, !isDescending); + } + + /* ---------------- Relational methods -------------- */ + + public Map.Entry ceilingEntry(K key) { + return getNearEntry(key, (m.GT|m.EQ)); + } + + public K ceilingKey(K key) { + return getNearKey(key, (m.GT|m.EQ)); + } + + public Map.Entry lowerEntry(K key) { + return getNearEntry(key, (m.LT)); + } + + public K lowerKey(K key) { + return getNearKey(key, (m.LT)); + } + + public Map.Entry floorEntry(K key) { + return getNearEntry(key, (m.LT|m.EQ)); + } + + public K floorKey(K key) { + return getNearKey(key, (m.LT|m.EQ)); + } + + public Map.Entry higherEntry(K key) { + return getNearEntry(key, (m.GT)); + } + + public K higherKey(K key) { + return getNearKey(key, (m.GT)); + } + + public K firstKey() { + return isDescending? highestKey() : lowestKey(); + } + + public K lastKey() { + return isDescending? lowestKey() : highestKey(); + } + + public Map.Entry firstEntry() { + return isDescending? highestEntry() : lowestEntry(); + } + + public Map.Entry lastEntry() { + return isDescending? lowestEntry() : highestEntry(); + } + + public Map.Entry pollFirstEntry() { + return isDescending? removeHighest() : removeLowest(); + } + + public Map.Entry pollLastEntry() { + return isDescending? removeLowest() : removeHighest(); + } + + /* ---------------- Submap Views -------------- */ + + public NavigableSet keySet() { + KeySet ks = keySetView; + return (ks != null) ? ks : (keySetView = new KeySet(this)); + } + + public NavigableSet navigableKeySet() { + KeySet ks = keySetView; + return (ks != null) ? ks : (keySetView = new KeySet(this)); + } + + public Collection values() { + Collection vs = valuesView; + return (vs != null) ? vs : (valuesView = new Values(this)); + } + + public Set> entrySet() { + Set> es = entrySetView; + return (es != null) ? es : (entrySetView = new EntrySet(this)); + } + + public NavigableSet descendingKeySet() { + return descendingMap().navigableKeySet(); + } + + Iterator keyIterator() { + return new SubMapKeyIterator(); + } + + Iterator valueIterator() { + return new SubMapValueIterator(); + } + + Iterator> entryIterator() { + return new SubMapEntryIterator(); + } + + /** + * Variant of main Iter class to traverse through submaps. + */ + abstract class SubMapIter implements Iterator { + /** the last node returned by next() */ + Node lastReturned; + /** the next node to return from next(); */ + Node next; + /** Cache of next value field to maintain weak consistency */ + V nextValue; + + SubMapIter() { + for (;;) { + next = isDescending ? hiNode() : loNode(); + if (next == null) + break; + Object x = next.value; + if (x != null && x != next) { + if (! inBounds(next.key)) + next = null; + else + nextValue = (V) x; + break; + } + } + } + + public final boolean hasNext() { + return next != null; + } + + final void advance() { + if ((lastReturned = next) == null) + throw new NoSuchElementException(); + if (isDescending) + descend(); + else + ascend(); + } + + private void ascend() { + for (;;) { + next = next.next; + if (next == null) + break; + Object x = next.value; + if (x != null && x != next) { + if (tooHigh(next.key)) + next = null; + else + nextValue = (V) x; + break; + } + } + } + + private void descend() { + for (;;) { + next = m.findNear(lastReturned.key, LT); + if (next == null) + break; + Object x = next.value; + if (x != null && x != next) { + if (tooLow(next.key)) + next = null; + else + nextValue = (V) x; + break; + } + } + } + + public void remove() { + Node l = lastReturned; + if (l == null) + throw new IllegalStateException(); + m.remove(l.key); + lastReturned = null; + } + + } + + final class SubMapValueIterator extends SubMapIter { + public V next() { + V v = nextValue; + advance(); + return v; + } + } + + final class SubMapKeyIterator extends SubMapIter { + public K next() { + Node n = next; + advance(); + return n.key; + } + } + + final class SubMapEntryIterator extends SubMapIter> { + public Map.Entry next() { + Node n = next; + V v = nextValue; + advance(); + return new AbstractMap.SimpleImmutableEntry(n.key, v); + } + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java new file mode 100644 index 00000000000..7da50d593ae --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java @@ -0,0 +1,456 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; +import sun.misc.Unsafe; + +/** + * A scalable concurrent {@link NavigableSet} implementation based on + * a {@link ConcurrentSkipListMap}. The elements of the set are kept + * sorted according to their {@linkplain Comparable natural ordering}, + * or by a {@link Comparator} provided at set creation time, depending + * on which constructor is used. + * + *

This implementation provides expected average log(n) time + * cost for the contains, add, and remove + * operations and their variants. Insertion, removal, and access + * operations safely execute concurrently by multiple threads. + * Iterators are weakly consistent, returning elements + * reflecting the state of the set at some point at or since the + * creation of the iterator. They do not throw {@link + * ConcurrentModificationException}, and may proceed concurrently with + * other operations. Ascending ordered views and their iterators are + * faster than descending ones. + * + *

Beware that, unlike in most collections, the size + * method is not a constant-time operation. Because of the + * asynchronous nature of these sets, determining the current number + * of elements requires a traversal of the elements. Additionally, the + * bulk operations addAll, removeAll, + * retainAll, and containsAll are not + * guaranteed to be performed atomically. For example, an iterator + * operating concurrently with an addAll operation might view + * only some of the added elements. + * + *

This class and its iterators implement all of the + * optional methods of the {@link Set} and {@link Iterator} + * interfaces. Like most other concurrent collection implementations, + * this class does not permit the use of null elements, + * because null arguments and return values cannot be reliably + * distinguished from the absence of elements. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @author Doug Lea + * @param the type of elements maintained by this set + * @since 1.6 + */ +public class ConcurrentSkipListSet + extends AbstractSet + implements NavigableSet, Cloneable, java.io.Serializable { + + private static final long serialVersionUID = -2479143111061671589L; + + /** + * The underlying map. Uses Boolean.TRUE as value for each + * element. This field is declared final for the sake of thread + * safety, which entails some ugliness in clone() + */ + private final ConcurrentNavigableMap m; + + /** + * Constructs a new, empty set that orders its elements according to + * their {@linkplain Comparable natural ordering}. + */ + public ConcurrentSkipListSet() { + m = new ConcurrentSkipListMap(); + } + + /** + * Constructs a new, empty set that orders its elements according to + * the specified comparator. + * + * @param comparator the comparator that will be used to order this set. + * If null, the {@linkplain Comparable natural + * ordering} of the elements will be used. + */ + public ConcurrentSkipListSet(Comparator comparator) { + m = new ConcurrentSkipListMap(comparator); + } + + /** + * Constructs a new set containing the elements in the specified + * collection, that orders its elements according to their + * {@linkplain Comparable natural ordering}. + * + * @param c The elements that will comprise the new set + * @throws ClassCastException if the elements in c are + * not {@link Comparable}, or are not mutually comparable + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public ConcurrentSkipListSet(Collection c) { + m = new ConcurrentSkipListMap(); + addAll(c); + } + + /** + * Constructs a new set containing the same elements and using the + * same ordering as the specified sorted set. + * + * @param s sorted set whose elements will comprise the new set + * @throws NullPointerException if the specified sorted set or any + * of its elements are null + */ + public ConcurrentSkipListSet(SortedSet s) { + m = new ConcurrentSkipListMap(s.comparator()); + addAll(s); + } + + /** + * For use by submaps + */ + ConcurrentSkipListSet(ConcurrentNavigableMap m) { + this.m = m; + } + + /** + * Returns a shallow copy of this ConcurrentSkipListSet + * instance. (The elements themselves are not cloned.) + * + * @return a shallow copy of this set + */ + public ConcurrentSkipListSet clone() { + ConcurrentSkipListSet clone = null; + try { + clone = (ConcurrentSkipListSet) super.clone(); + clone.setMap(new ConcurrentSkipListMap(m)); + } catch (CloneNotSupportedException e) { + throw new InternalError(); + } + + return clone; + } + + /* ---------------- Set operations -------------- */ + + /** + * Returns the number of elements in this set. If this set + * contains more than Integer.MAX_VALUE elements, it + * returns Integer.MAX_VALUE. + * + *

Beware that, unlike in most collections, this method is + * NOT a constant-time operation. Because of the + * asynchronous nature of these sets, determining the current + * number of elements requires traversing them all to count them. + * Additionally, it is possible for the size to change during + * execution of this method, in which case the returned result + * will be inaccurate. Thus, this method is typically not very + * useful in concurrent applications. + * + * @return the number of elements in this set + */ + public int size() { + return m.size(); + } + + /** + * Returns true if this set contains no elements. + * @return true if this set contains no elements + */ + public boolean isEmpty() { + return m.isEmpty(); + } + + /** + * Returns true if this set contains the specified element. + * More formally, returns true if and only if this set + * contains an element e such that o.equals(e). + * + * @param o object to be checked for containment in this set + * @return true if this set contains the specified element + * @throws ClassCastException if the specified element cannot be + * compared with the elements currently in this set + * @throws NullPointerException if the specified element is null + */ + public boolean contains(Object o) { + return m.containsKey(o); + } + + /** + * Adds the specified element to this set if it is not already present. + * More formally, adds the specified element e to this set if + * the set contains no element e2 such that e.equals(e2). + * If this set already contains the element, the call leaves the set + * unchanged and returns false. + * + * @param e element to be added to this set + * @return true if this set did not already contain the + * specified element + * @throws ClassCastException if e cannot be compared + * with the elements currently in this set + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + return m.putIfAbsent(e, Boolean.TRUE) == null; + } + + /** + * Removes the specified element from this set if it is present. + * More formally, removes an element e such that + * o.equals(e), if this set contains such an element. + * Returns true if this set contained the element (or + * equivalently, if this set changed as a result of the call). + * (This set will not contain the element once the call returns.) + * + * @param o object to be removed from this set, if present + * @return true if this set contained the specified element + * @throws ClassCastException if o cannot be compared + * with the elements currently in this set + * @throws NullPointerException if the specified element is null + */ + public boolean remove(Object o) { + return m.remove(o, Boolean.TRUE); + } + + /** + * Removes all of the elements from this set. + */ + public void clear() { + m.clear(); + } + + /** + * Returns an iterator over the elements in this set in ascending order. + * + * @return an iterator over the elements in this set in ascending order + */ + public Iterator iterator() { + return m.navigableKeySet().iterator(); + } + + /** + * Returns an iterator over the elements in this set in descending order. + * + * @return an iterator over the elements in this set in descending order + */ + public Iterator descendingIterator() { + return m.descendingKeySet().iterator(); + } + + + /* ---------------- AbstractSet Overrides -------------- */ + + /** + * Compares the specified object with this set for equality. Returns + * true if the specified object is also a set, the two sets + * have the same size, and every member of the specified set is + * contained in this set (or equivalently, every member of this set is + * contained in the specified set). This definition ensures that the + * equals method works properly across different implementations of the + * set interface. + * + * @param o the object to be compared for equality with this set + * @return true if the specified object is equal to this set + */ + public boolean equals(Object o) { + // Override AbstractSet version to avoid calling size() + if (o == this) + return true; + if (!(o instanceof Set)) + return false; + Collection c = (Collection) o; + try { + return containsAll(c) && c.containsAll(this); + } catch (ClassCastException unused) { + return false; + } catch (NullPointerException unused) { + return false; + } + } + + /** + * Removes from this set all of its elements that are contained in + * the specified collection. If the specified collection is also + * a set, this operation effectively modifies this set so that its + * value is the asymmetric set difference of the two sets. + * + * @param c collection containing elements to be removed from this set + * @return true if this set changed as a result of the call + * @throws ClassCastException if the types of one or more elements in this + * set are incompatible with the specified collection + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public boolean removeAll(Collection c) { + // Override AbstractSet version to avoid unnecessary call to size() + boolean modified = false; + for (Iterator i = c.iterator(); i.hasNext(); ) + if (remove(i.next())) + modified = true; + return modified; + } + + /* ---------------- Relational operations -------------- */ + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + */ + public E lower(E e) { + return m.lowerKey(e); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + */ + public E floor(E e) { + return m.floorKey(e); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + */ + public E ceiling(E e) { + return m.ceilingKey(e); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if the specified element is null + */ + public E higher(E e) { + return m.higherKey(e); + } + + public E pollFirst() { + Map.Entry e = m.pollFirstEntry(); + return e == null? null : e.getKey(); + } + + public E pollLast() { + Map.Entry e = m.pollLastEntry(); + return e == null? null : e.getKey(); + } + + + /* ---------------- SortedSet operations -------------- */ + + + public Comparator comparator() { + return m.comparator(); + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E first() { + return m.firstKey(); + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E last() { + return m.lastKey(); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromElement} or + * {@code toElement} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public NavigableSet subSet(E fromElement, + boolean fromInclusive, + E toElement, + boolean toInclusive) { + return new ConcurrentSkipListSet + (m.subMap(fromElement, fromInclusive, + toElement, toInclusive)); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code toElement} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public NavigableSet headSet(E toElement, boolean inclusive) { + return new ConcurrentSkipListSet(m.headMap(toElement, inclusive)); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromElement} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public NavigableSet tailSet(E fromElement, boolean inclusive) { + return new ConcurrentSkipListSet(m.tailMap(fromElement, inclusive)); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromElement} or + * {@code toElement} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public NavigableSet subSet(E fromElement, E toElement) { + return subSet(fromElement, true, toElement, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code toElement} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public NavigableSet headSet(E toElement) { + return headSet(toElement, false); + } + + /** + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException if {@code fromElement} is null + * @throws IllegalArgumentException {@inheritDoc} + */ + public NavigableSet tailSet(E fromElement) { + return tailSet(fromElement, true); + } + + /** + * Returns a reverse order view of the elements contained in this set. + * The descending set is backed by this set, so changes to the set are + * reflected in the descending set, and vice-versa. + * + *

The returned set has an ordering equivalent to + * {@link Collections#reverseOrder(Comparator) Collections.reverseOrder}(comparator()). + * The expression {@code s.descendingSet().descendingSet()} returns a + * view of {@code s} essentially equivalent to {@code s}. + * + * @return a reverse order view of this set + */ + public NavigableSet descendingSet() { + return new ConcurrentSkipListSet(m.descendingMap()); + } + + // Support for resetting map in clone + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long mapOffset; + static { + try { + mapOffset = unsafe.objectFieldOffset + (ConcurrentSkipListSet.class.getDeclaredField("m")); + } catch (Exception ex) { throw new Error(ex); } + } + private void setMap(ConcurrentNavigableMap map) { + unsafe.putObjectVolatile(this, mapOffset, map); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java b/libjava/classpath/external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java new file mode 100644 index 00000000000..39c0e5868de --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java @@ -0,0 +1,364 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain. Use, modify, and + * redistribute this code in any way without acknowledgement. + */ + +package java.util.concurrent; +import java.util.*; + +/** + * A {@link java.util.Set} that uses an internal {@link CopyOnWriteArrayList} + * for all of its operations. Thus, it shares the same basic properties: + *

    + *
  • It is best suited for applications in which set sizes generally + * stay small, read-only operations + * vastly outnumber mutative operations, and you need + * to prevent interference among threads during traversal. + *
  • It is thread-safe. + *
  • Mutative operations (add, set, remove, etc.) + * are expensive since they usually entail copying the entire underlying + * array. + *
  • Iterators do not support the mutative remove operation. + *
  • Traversal via iterators is fast and cannot encounter + * interference from other threads. Iterators rely on + * unchanging snapshots of the array at the time the iterators were + * constructed. + *
+ * + *

Sample Usage. The following code sketch uses a + * copy-on-write set to maintain a set of Handler objects that + * perform some action upon state updates. + * + *

+ * class Handler { void handle(); ... }
+ *
+ * class X {
+ *    private final CopyOnWriteArraySet<Handler> handlers
+ *       = new CopyOnWriteArraySet<Handler>();
+ *    public void addHandler(Handler h) { handlers.add(h); }
+ *
+ *    private long internalState;
+ *    private synchronized void changeState() { internalState = ...; }
+ *
+ *    public void update() {
+ *       changeState();
+ *       for (Handler handler : handlers)
+ *          handler.handle();
+ *    }
+ * }
+ * 
+ * + *

This class is a member of the + * + * Java Collections Framework. + * + * @see CopyOnWriteArrayList + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public class CopyOnWriteArraySet extends AbstractSet + implements java.io.Serializable { + private static final long serialVersionUID = 5457747651344034263L; + + private final CopyOnWriteArrayList al; + + /** + * Creates an empty set. + */ + public CopyOnWriteArraySet() { + al = new CopyOnWriteArrayList(); + } + + /** + * Creates a set containing all of the elements of the specified + * collection. + * + * @param c the collection of elements to initially contain + * @throws NullPointerException if the specified collection is null + */ + public CopyOnWriteArraySet(Collection c) { + al = new CopyOnWriteArrayList(); + al.addAllAbsent(c); + } + + /** + * Returns the number of elements in this set. + * + * @return the number of elements in this set + */ + public int size() { + return al.size(); + } + + /** + * Returns true if this set contains no elements. + * + * @return true if this set contains no elements + */ + public boolean isEmpty() { + return al.isEmpty(); + } + + /** + * Returns true if this set contains the specified element. + * More formally, returns true if and only if this set + * contains an element e such that + * (o==null ? e==null : o.equals(e)). + * + * @param o element whose presence in this set is to be tested + * @return true if this set contains the specified element + */ + public boolean contains(Object o) { + return al.contains(o); + } + + /** + * Returns an array containing all of the elements in this set. + * If this set makes any guarantees as to what order its elements + * are returned by its iterator, this method must return the + * elements in the same order. + * + *

The returned array will be "safe" in that no references to it + * are maintained by this set. (In other words, this method must + * allocate a new array even if this set is backed by an array). + * The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all the elements in this set + */ + public Object[] toArray() { + return al.toArray(); + } + + /** + * Returns an array containing all of the elements in this set; the + * runtime type of the returned array is that of the specified array. + * If the set fits in the specified array, it is returned therein. + * Otherwise, a new array is allocated with the runtime type of the + * specified array and the size of this set. + * + *

If this set fits in the specified array with room to spare + * (i.e., the array has more elements than this set), the element in + * the array immediately following the end of the set is set to + * null. (This is useful in determining the length of this + * set only if the caller knows that this set does not contain + * any null elements.) + * + *

If this set makes any guarantees as to what order its elements + * are returned by its iterator, this method must return the elements + * in the same order. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

Suppose x is a set known to contain only strings. + * The following code can be used to dump the set into a newly allocated + * array of String: + * + *

+     *     String[] y = x.toArray(new String[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of this set are to be + * stored, if it is big enough; otherwise, a new array of the same + * runtime type is allocated for this purpose. + * @return an array containing all the elements in this set + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in this + * set + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + return al.toArray(a); + } + + /** + * Removes all of the elements from this set. + * The set will be empty after this call returns. + */ + public void clear() { + al.clear(); + } + + /** + * Removes the specified element from this set if it is present. + * More formally, removes an element e such that + * (o==null ? e==null : o.equals(e)), + * if this set contains such an element. Returns true if + * this set contained the element (or equivalently, if this set + * changed as a result of the call). (This set will not contain the + * element once the call returns.) + * + * @param o object to be removed from this set, if present + * @return true if this set contained the specified element + */ + public boolean remove(Object o) { + return al.remove(o); + } + + /** + * Adds the specified element to this set if it is not already present. + * More formally, adds the specified element e to this set if + * the set contains no element e2 such that + * (e==null ? e2==null : e.equals(e2)). + * If this set already contains the element, the call leaves the set + * unchanged and returns false. + * + * @param e element to be added to this set + * @return true if this set did not already contain the specified + * element + */ + public boolean add(E e) { + return al.addIfAbsent(e); + } + + /** + * Returns true if this set contains all of the elements of the + * specified collection. If the specified collection is also a set, this + * method returns true if it is a subset of this set. + * + * @param c collection to be checked for containment in this set + * @return true if this set contains all of the elements of the + * specified collection + * @throws NullPointerException if the specified collection is null + * @see #contains(Object) + */ + public boolean containsAll(Collection c) { + return al.containsAll(c); + } + + /** + * Adds all of the elements in the specified collection to this set if + * they're not already present. If the specified collection is also a + * set, the addAll operation effectively modifies this set so + * that its value is the union of the two sets. The behavior of + * this operation is undefined if the specified collection is modified + * while the operation is in progress. + * + * @param c collection containing elements to be added to this set + * @return true if this set changed as a result of the call + * @throws NullPointerException if the specified collection is null + * @see #add(Object) + */ + public boolean addAll(Collection c) { + return al.addAllAbsent(c) > 0; + } + + /** + * Removes from this set all of its elements that are contained in the + * specified collection. If the specified collection is also a set, + * this operation effectively modifies this set so that its value is the + * asymmetric set difference of the two sets. + * + * @param c collection containing elements to be removed from this set + * @return true if this set changed as a result of the call + * @throws ClassCastException if the class of an element of this set + * is incompatible with the specified collection (optional) + * @throws NullPointerException if this set contains a null element and the + * specified collection does not permit null elements (optional), + * or if the specified collection is null + * @see #remove(Object) + */ + public boolean removeAll(Collection c) { + return al.removeAll(c); + } + + /** + * Retains only the elements in this set that are contained in the + * specified collection. In other words, removes from this set all of + * its elements that are not contained in the specified collection. If + * the specified collection is also a set, this operation effectively + * modifies this set so that its value is the intersection of the + * two sets. + * + * @param c collection containing elements to be retained in this set + * @return true if this set changed as a result of the call + * @throws ClassCastException if the class of an element of this set + * is incompatible with the specified collection (optional) + * @throws NullPointerException if this set contains a null element and the + * specified collection does not permit null elements (optional), + * or if the specified collection is null + * @see #remove(Object) + */ + public boolean retainAll(Collection c) { + return al.retainAll(c); + } + + /** + * Returns an iterator over the elements contained in this set + * in the order in which these elements were added. + * + *

The returned iterator provides a snapshot of the state of the set + * when the iterator was constructed. No synchronization is needed while + * traversing the iterator. The iterator does NOT support the + * remove method. + * + * @return an iterator over the elements in this set + */ + public Iterator iterator() { + return al.iterator(); + } + + /** + * Compares the specified object with this set for equality. + * Returns {@code true} if the specified object is the same object + * as this object, or if it is also a {@link Set} and the elements + * returned by an {@linkplain List#iterator() iterator} over the + * specified set are the same as the elements returned by an + * iterator over this set. More formally, the two iterators are + * considered to return the same elements if they return the same + * number of elements and for every element {@code e1} returned by + * the iterator over the specified set, there is an element + * {@code e2} returned by the iterator over this set such that + * {@code (e1==null ? e2==null : e1.equals(e2))}. + * + * @param o object to be compared for equality with this set + * @return {@code true} if the specified object is equal to this set + */ + public boolean equals(Object o) { + if (o == this) + return true; + if (!(o instanceof Set)) + return false; + Set set = (Set)(o); + Iterator it = set.iterator(); + + // Uses O(n^2) algorithm that is only appropriate + // for small sets, which CopyOnWriteArraySets should be. + + // Use a single snapshot of underlying array + Object[] elements = al.getArray(); + int len = elements.length; + // Mark matched elements to avoid re-checking + boolean[] matched = new boolean[len]; + int k = 0; + outer: while (it.hasNext()) { + if (++k > len) + return false; + Object x = it.next(); + for (int i = 0; i < len; ++i) { + if (!matched[i] && eq(x, elements[i])) { + matched[i] = true; + continue outer; + } + } + return false; + } + return k == len; + } + + /** + * Test for equality, coping with nulls. + */ + private static boolean eq(Object o1, Object o2) { + return (o1 == null ? o2 == null : o1.equals(o2)); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/CountDownLatch.java b/libjava/classpath/external/jsr166/java/util/concurrent/CountDownLatch.java new file mode 100644 index 00000000000..016c1a7a55c --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/CountDownLatch.java @@ -0,0 +1,290 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; +import java.util.concurrent.atomic.*; + +/** + * A synchronization aid that allows one or more threads to wait until + * a set of operations being performed in other threads completes. + * + *

A {@code CountDownLatch} is initialized with a given count. + * The {@link #await await} methods block until the current count reaches + * zero due to invocations of the {@link #countDown} method, after which + * all waiting threads are released and any subsequent invocations of + * {@link #await await} return immediately. This is a one-shot phenomenon + * -- the count cannot be reset. If you need a version that resets the + * count, consider using a {@link CyclicBarrier}. + * + *

A {@code CountDownLatch} is a versatile synchronization tool + * and can be used for a number of purposes. A + * {@code CountDownLatch} initialized with a count of one serves as a + * simple on/off latch, or gate: all threads invoking {@link #await await} + * wait at the gate until it is opened by a thread invoking {@link + * #countDown}. A {@code CountDownLatch} initialized to N + * can be used to make one thread wait until N threads have + * completed some action, or some action has been completed N times. + * + *

A useful property of a {@code CountDownLatch} is that it + * doesn't require that threads calling {@code countDown} wait for + * the count to reach zero before proceeding, it simply prevents any + * thread from proceeding past an {@link #await await} until all + * threads could pass. + * + *

Sample usage: Here is a pair of classes in which a group + * of worker threads use two countdown latches: + *

    + *
  • The first is a start signal that prevents any worker from proceeding + * until the driver is ready for them to proceed; + *
  • The second is a completion signal that allows the driver to wait + * until all workers have completed. + *
+ * + *
+ * class Driver { // ...
+ *   void main() throws InterruptedException {
+ *     CountDownLatch startSignal = new CountDownLatch(1);
+ *     CountDownLatch doneSignal = new CountDownLatch(N);
+ *
+ *     for (int i = 0; i < N; ++i) // create and start threads
+ *       new Thread(new Worker(startSignal, doneSignal)).start();
+ *
+ *     doSomethingElse();            // don't let run yet
+ *     startSignal.countDown();      // let all threads proceed
+ *     doSomethingElse();
+ *     doneSignal.await();           // wait for all to finish
+ *   }
+ * }
+ *
+ * class Worker implements Runnable {
+ *   private final CountDownLatch startSignal;
+ *   private final CountDownLatch doneSignal;
+ *   Worker(CountDownLatch startSignal, CountDownLatch doneSignal) {
+ *      this.startSignal = startSignal;
+ *      this.doneSignal = doneSignal;
+ *   }
+ *   public void run() {
+ *      try {
+ *        startSignal.await();
+ *        doWork();
+ *        doneSignal.countDown();
+ *      } catch (InterruptedException ex) {} // return;
+ *   }
+ *
+ *   void doWork() { ... }
+ * }
+ *
+ * 
+ * + *

Another typical usage would be to divide a problem into N parts, + * describe each part with a Runnable that executes that portion and + * counts down on the latch, and queue all the Runnables to an + * Executor. When all sub-parts are complete, the coordinating thread + * will be able to pass through await. (When threads must repeatedly + * count down in this way, instead use a {@link CyclicBarrier}.) + * + *

+ * class Driver2 { // ...
+ *   void main() throws InterruptedException {
+ *     CountDownLatch doneSignal = new CountDownLatch(N);
+ *     Executor e = ...
+ *
+ *     for (int i = 0; i < N; ++i) // create and start threads
+ *       e.execute(new WorkerRunnable(doneSignal, i));
+ *
+ *     doneSignal.await();           // wait for all to finish
+ *   }
+ * }
+ *
+ * class WorkerRunnable implements Runnable {
+ *   private final CountDownLatch doneSignal;
+ *   private final int i;
+ *   WorkerRunnable(CountDownLatch doneSignal, int i) {
+ *      this.doneSignal = doneSignal;
+ *      this.i = i;
+ *   }
+ *   public void run() {
+ *      try {
+ *        doWork(i);
+ *        doneSignal.countDown();
+ *      } catch (InterruptedException ex) {} // return;
+ *   }
+ *
+ *   void doWork() { ... }
+ * }
+ *
+ * 
+ * + *

Memory consistency effects: Actions in a thread prior to calling + * {@code countDown()} + * happen-before + * actions following a successful return from a corresponding + * {@code await()} in another thread. + * + * @since 1.5 + * @author Doug Lea + */ +public class CountDownLatch { + /** + * Synchronization control For CountDownLatch. + * Uses AQS state to represent count. + */ + private static final class Sync extends AbstractQueuedSynchronizer { + private static final long serialVersionUID = 4982264981922014374L; + + Sync(int count) { + setState(count); + } + + int getCount() { + return getState(); + } + + public int tryAcquireShared(int acquires) { + return getState() == 0? 1 : -1; + } + + public boolean tryReleaseShared(int releases) { + // Decrement count; signal when transition to zero + for (;;) { + int c = getState(); + if (c == 0) + return false; + int nextc = c-1; + if (compareAndSetState(c, nextc)) + return nextc == 0; + } + } + } + + private final Sync sync; + + /** + * Constructs a {@code CountDownLatch} initialized with the given count. + * + * @param count the number of times {@link #countDown} must be invoked + * before threads can pass through {@link #await} + * @throws IllegalArgumentException if {@code count} is negative + */ + public CountDownLatch(int count) { + if (count < 0) throw new IllegalArgumentException("count < 0"); + this.sync = new Sync(count); + } + + /** + * Causes the current thread to wait until the latch has counted down to + * zero, unless the thread is {@linkplain Thread#interrupt interrupted}. + * + *

If the current count is zero then this method returns immediately. + * + *

If the current count is greater than zero then the current + * thread becomes disabled for thread scheduling purposes and lies + * dormant until one of two things happen: + *

    + *
  • The count reaches zero due to invocations of the + * {@link #countDown} method; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread. + *
+ * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + * @throws InterruptedException if the current thread is interrupted + * while waiting + */ + public void await() throws InterruptedException { + sync.acquireSharedInterruptibly(1); + } + + /** + * Causes the current thread to wait until the latch has counted down to + * zero, unless the thread is {@linkplain Thread#interrupt interrupted}, + * or the specified waiting time elapses. + * + *

If the current count is zero then this method returns immediately + * with the value {@code true}. + * + *

If the current count is greater than zero then the current + * thread becomes disabled for thread scheduling purposes and lies + * dormant until one of three things happen: + *

    + *
  • The count reaches zero due to invocations of the + * {@link #countDown} method; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + *
  • The specified waiting time elapses. + *
+ * + *

If the count reaches zero then the method returns with the + * value {@code true}. + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the specified waiting time elapses then the value {@code false} + * is returned. If the time is less than or equal to zero, the method + * will not wait at all. + * + * @param timeout the maximum time to wait + * @param unit the time unit of the {@code timeout} argument + * @return {@code true} if the count reached zero and {@code false} + * if the waiting time elapsed before the count reached zero + * @throws InterruptedException if the current thread is interrupted + * while waiting + */ + public boolean await(long timeout, TimeUnit unit) + throws InterruptedException { + return sync.tryAcquireSharedNanos(1, unit.toNanos(timeout)); + } + + /** + * Decrements the count of the latch, releasing all waiting threads if + * the count reaches zero. + * + *

If the current count is greater than zero then it is decremented. + * If the new count is zero then all waiting threads are re-enabled for + * thread scheduling purposes. + * + *

If the current count equals zero then nothing happens. + */ + public void countDown() { + sync.releaseShared(1); + } + + /** + * Returns the current count. + * + *

This method is typically used for debugging and testing purposes. + * + * @return the current count + */ + public long getCount() { + return sync.getCount(); + } + + /** + * Returns a string identifying this latch, as well as its state. + * The state, in brackets, includes the String {@code "Count ="} + * followed by the current count. + * + * @return a string identifying this latch, as well as its state + */ + public String toString() { + return super.toString() + "[Count = " + sync.getCount() + "]"; + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/CyclicBarrier.java b/libjava/classpath/external/jsr166/java/util/concurrent/CyclicBarrier.java new file mode 100644 index 00000000000..e72577537d4 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/CyclicBarrier.java @@ -0,0 +1,454 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; + +/** + * A synchronization aid that allows a set of threads to all wait for + * each other to reach a common barrier point. CyclicBarriers are + * useful in programs involving a fixed sized party of threads that + * must occasionally wait for each other. The barrier is called + * cyclic because it can be re-used after the waiting threads + * are released. + * + *

A CyclicBarrier supports an optional {@link Runnable} command + * that is run once per barrier point, after the last thread in the party + * arrives, but before any threads are released. + * This barrier action is useful + * for updating shared-state before any of the parties continue. + * + *

Sample usage: Here is an example of + * using a barrier in a parallel decomposition design: + *

+ * class Solver {
+ *   final int N;
+ *   final float[][] data;
+ *   final CyclicBarrier barrier;
+ *
+ *   class Worker implements Runnable {
+ *     int myRow;
+ *     Worker(int row) { myRow = row; }
+ *     public void run() {
+ *       while (!done()) {
+ *         processRow(myRow);
+ *
+ *         try {
+ *           barrier.await();
+ *         } catch (InterruptedException ex) {
+ *           return;
+ *         } catch (BrokenBarrierException ex) {
+ *           return;
+ *         }
+ *       }
+ *     }
+ *   }
+ *
+ *   public Solver(float[][] matrix) {
+ *     data = matrix;
+ *     N = matrix.length;
+ *     barrier = new CyclicBarrier(N,
+ *                                 new Runnable() {
+ *                                   public void run() {
+ *                                     mergeRows(...);
+ *                                   }
+ *                                 });
+ *     for (int i = 0; i < N; ++i)
+ *       new Thread(new Worker(i)).start();
+ *
+ *     waitUntilDone();
+ *   }
+ * }
+ * 
+ * Here, each worker thread processes a row of the matrix then waits at the + * barrier until all rows have been processed. When all rows are processed + * the supplied {@link Runnable} barrier action is executed and merges the + * rows. If the merger + * determines that a solution has been found then done() will return + * true and each worker will terminate. + * + *

If the barrier action does not rely on the parties being suspended when + * it is executed, then any of the threads in the party could execute that + * action when it is released. To facilitate this, each invocation of + * {@link #await} returns the arrival index of that thread at the barrier. + * You can then choose which thread should execute the barrier action, for + * example: + *

  if (barrier.await() == 0) {
+ *     // log the completion of this iteration
+ *   }
+ * + *

The CyclicBarrier uses an all-or-none breakage model + * for failed synchronization attempts: If a thread leaves a barrier + * point prematurely because of interruption, failure, or timeout, all + * other threads waiting at that barrier point will also leave + * abnormally via {@link BrokenBarrierException} (or + * {@link InterruptedException} if they too were interrupted at about + * the same time). + * + *

Memory consistency effects: Actions in a thread prior to calling + * {@code await()} + * happen-before + * actions that are part of the barrier action, which in turn + * happen-before actions following a successful return from the + * corresponding {@code await()} in other threads. + * + * @since 1.5 + * @see CountDownLatch + * + * @author Doug Lea + */ +public class CyclicBarrier { + /** + * Each use of the barrier is represented as a generation instance. + * The generation changes whenever the barrier is tripped, or + * is reset. There can be many generations associated with threads + * using the barrier - due to the non-deterministic way the lock + * may be allocated to waiting threads - but only one of these + * can be active at a time (the one to which count applies) + * and all the rest are either broken or tripped. + * There need not be an active generation if there has been a break + * but no subsequent reset. + */ + private static class Generation { + boolean broken = false; + } + + /** The lock for guarding barrier entry */ + private final ReentrantLock lock = new ReentrantLock(); + /** Condition to wait on until tripped */ + private final Condition trip = lock.newCondition(); + /** The number of parties */ + private final int parties; + /* The command to run when tripped */ + private final Runnable barrierCommand; + /** The current generation */ + private Generation generation = new Generation(); + + /** + * Number of parties still waiting. Counts down from parties to 0 + * on each generation. It is reset to parties on each new + * generation or when broken. + */ + private int count; + + /** + * Updates state on barrier trip and wakes up everyone. + * Called only while holding lock. + */ + private void nextGeneration() { + // signal completion of last generation + trip.signalAll(); + // set up next generation + count = parties; + generation = new Generation(); + } + + /** + * Sets current barrier generation as broken and wakes up everyone. + * Called only while holding lock. + */ + private void breakBarrier() { + generation.broken = true; + count = parties; + trip.signalAll(); + } + + /** + * Main barrier code, covering the various policies. + */ + private int dowait(boolean timed, long nanos) + throws InterruptedException, BrokenBarrierException, + TimeoutException { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + final Generation g = generation; + + if (g.broken) + throw new BrokenBarrierException(); + + if (Thread.interrupted()) { + breakBarrier(); + throw new InterruptedException(); + } + + int index = --count; + if (index == 0) { // tripped + boolean ranAction = false; + try { + final Runnable command = barrierCommand; + if (command != null) + command.run(); + ranAction = true; + nextGeneration(); + return 0; + } finally { + if (!ranAction) + breakBarrier(); + } + } + + // loop until tripped, broken, interrupted, or timed out + for (;;) { + try { + if (!timed) + trip.await(); + else if (nanos > 0L) + nanos = trip.awaitNanos(nanos); + } catch (InterruptedException ie) { + if (g == generation && ! g.broken) { + breakBarrier(); + throw ie; + } else { + // We're about to finish waiting even if we had not + // been interrupted, so this interrupt is deemed to + // "belong" to subsequent execution. + Thread.currentThread().interrupt(); + } + } + + if (g.broken) + throw new BrokenBarrierException(); + + if (g != generation) + return index; + + if (timed && nanos <= 0L) { + breakBarrier(); + throw new TimeoutException(); + } + } + } finally { + lock.unlock(); + } + } + + /** + * Creates a new CyclicBarrier that will trip when the + * given number of parties (threads) are waiting upon it, and which + * will execute the given barrier action when the barrier is tripped, + * performed by the last thread entering the barrier. + * + * @param parties the number of threads that must invoke {@link #await} + * before the barrier is tripped + * @param barrierAction the command to execute when the barrier is + * tripped, or {@code null} if there is no action + * @throws IllegalArgumentException if {@code parties} is less than 1 + */ + public CyclicBarrier(int parties, Runnable barrierAction) { + if (parties <= 0) throw new IllegalArgumentException(); + this.parties = parties; + this.count = parties; + this.barrierCommand = barrierAction; + } + + /** + * Creates a new CyclicBarrier that will trip when the + * given number of parties (threads) are waiting upon it, and + * does not perform a predefined action when the barrier is tripped. + * + * @param parties the number of threads that must invoke {@link #await} + * before the barrier is tripped + * @throws IllegalArgumentException if {@code parties} is less than 1 + */ + public CyclicBarrier(int parties) { + this(parties, null); + } + + /** + * Returns the number of parties required to trip this barrier. + * + * @return the number of parties required to trip this barrier + */ + public int getParties() { + return parties; + } + + /** + * Waits until all {@linkplain #getParties parties} have invoked + * await on this barrier. + * + *

If the current thread is not the last to arrive then it is + * disabled for thread scheduling purposes and lies dormant until + * one of the following things happens: + *

    + *
  • The last thread arrives; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * one of the other waiting threads; or + *
  • Some other thread times out while waiting for barrier; or + *
  • Some other thread invokes {@link #reset} on this barrier. + *
+ * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the barrier is {@link #reset} while any thread is waiting, + * or if the barrier {@linkplain #isBroken is broken} when + * await is invoked, or while any thread is waiting, then + * {@link BrokenBarrierException} is thrown. + * + *

If any thread is {@linkplain Thread#interrupt interrupted} while waiting, + * then all other waiting threads will throw + * {@link BrokenBarrierException} and the barrier is placed in the broken + * state. + * + *

If the current thread is the last thread to arrive, and a + * non-null barrier action was supplied in the constructor, then the + * current thread runs the action before allowing the other threads to + * continue. + * If an exception occurs during the barrier action then that exception + * will be propagated in the current thread and the barrier is placed in + * the broken state. + * + * @return the arrival index of the current thread, where index + * {@link #getParties()} - 1 indicates the first + * to arrive and zero indicates the last to arrive + * @throws InterruptedException if the current thread was interrupted + * while waiting + * @throws BrokenBarrierException if another thread was + * interrupted or timed out while the current thread was + * waiting, or the barrier was reset, or the barrier was + * broken when {@code await} was called, or the barrier + * action (if present) failed due an exception. + */ + public int await() throws InterruptedException, BrokenBarrierException { + try { + return dowait(false, 0L); + } catch (TimeoutException toe) { + throw new Error(toe); // cannot happen; + } + } + + /** + * Waits until all {@linkplain #getParties parties} have invoked + * await on this barrier, or the specified waiting time elapses. + * + *

If the current thread is not the last to arrive then it is + * disabled for thread scheduling purposes and lies dormant until + * one of the following things happens: + *

    + *
  • The last thread arrives; or + *
  • The specified timeout elapses; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * one of the other waiting threads; or + *
  • Some other thread times out while waiting for barrier; or + *
  • Some other thread invokes {@link #reset} on this barrier. + *
+ * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the specified waiting time elapses then {@link TimeoutException} + * is thrown. If the time is less than or equal to zero, the + * method will not wait at all. + * + *

If the barrier is {@link #reset} while any thread is waiting, + * or if the barrier {@linkplain #isBroken is broken} when + * await is invoked, or while any thread is waiting, then + * {@link BrokenBarrierException} is thrown. + * + *

If any thread is {@linkplain Thread#interrupt interrupted} while + * waiting, then all other waiting threads will throw {@link + * BrokenBarrierException} and the barrier is placed in the broken + * state. + * + *

If the current thread is the last thread to arrive, and a + * non-null barrier action was supplied in the constructor, then the + * current thread runs the action before allowing the other threads to + * continue. + * If an exception occurs during the barrier action then that exception + * will be propagated in the current thread and the barrier is placed in + * the broken state. + * + * @param timeout the time to wait for the barrier + * @param unit the time unit of the timeout parameter + * @return the arrival index of the current thread, where index + * {@link #getParties()} - 1 indicates the first + * to arrive and zero indicates the last to arrive + * @throws InterruptedException if the current thread was interrupted + * while waiting + * @throws TimeoutException if the specified timeout elapses + * @throws BrokenBarrierException if another thread was + * interrupted or timed out while the current thread was + * waiting, or the barrier was reset, or the barrier was broken + * when {@code await} was called, or the barrier action (if + * present) failed due an exception + */ + public int await(long timeout, TimeUnit unit) + throws InterruptedException, + BrokenBarrierException, + TimeoutException { + return dowait(true, unit.toNanos(timeout)); + } + + /** + * Queries if this barrier is in a broken state. + * + * @return {@code true} if one or more parties broke out of this + * barrier due to interruption or timeout since + * construction or the last reset, or a barrier action + * failed due to an exception; {@code false} otherwise. + */ + public boolean isBroken() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return generation.broken; + } finally { + lock.unlock(); + } + } + + /** + * Resets the barrier to its initial state. If any parties are + * currently waiting at the barrier, they will return with a + * {@link BrokenBarrierException}. Note that resets after + * a breakage has occurred for other reasons can be complicated to + * carry out; threads need to re-synchronize in some other way, + * and choose one to perform the reset. It may be preferable to + * instead create a new barrier for subsequent use. + */ + public void reset() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + breakBarrier(); // break the current generation + nextGeneration(); // start a new generation + } finally { + lock.unlock(); + } + } + + /** + * Returns the number of parties currently waiting at the barrier. + * This method is primarily useful for debugging and assertions. + * + * @return the number of parties currently blocked in {@link #await} + */ + public int getNumberWaiting() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return parties - count; + } finally { + lock.unlock(); + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/DelayQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/DelayQueue.java new file mode 100644 index 00000000000..8b839878c3a --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/DelayQueue.java @@ -0,0 +1,487 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + + +package java.util.concurrent; +import java.util.concurrent.locks.*; +import java.util.*; + +/** + * An unbounded {@linkplain BlockingQueue blocking queue} of + * Delayed elements, in which an element can only be taken + * when its delay has expired. The head of the queue is that + * Delayed element whose delay expired furthest in the + * past. If no delay has expired there is no head and poll + * will return null. Expiration occurs when an element's + * getDelay(TimeUnit.NANOSECONDS) method returns a value less + * than or equal to zero. Even though unexpired elements cannot be + * removed using take or poll, they are otherwise + * treated as normal elements. For example, the size method + * returns the count of both expired and unexpired elements. + * This queue does not permit null elements. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ + +public class DelayQueue extends AbstractQueue + implements BlockingQueue { + + private transient final ReentrantLock lock = new ReentrantLock(); + private transient final Condition available = lock.newCondition(); + private final PriorityQueue q = new PriorityQueue(); + + /** + * Creates a new DelayQueue that is initially empty. + */ + public DelayQueue() {} + + /** + * Creates a DelayQueue initially containing the elements of the + * given collection of {@link Delayed} instances. + * + * @param c the collection of elements to initially contain + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public DelayQueue(Collection c) { + this.addAll(c); + } + + /** + * Inserts the specified element into this delay queue. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + return offer(e); + } + + /** + * Inserts the specified element into this delay queue. + * + * @param e the element to add + * @return true + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + E first = q.peek(); + q.offer(e); + if (first == null || e.compareTo(first) < 0) + available.signalAll(); + return true; + } finally { + lock.unlock(); + } + } + + /** + * Inserts the specified element into this delay queue. As the queue is + * unbounded this method will never block. + * + * @param e the element to add + * @throws NullPointerException {@inheritDoc} + */ + public void put(E e) { + offer(e); + } + + /** + * Inserts the specified element into this delay queue. As the queue is + * unbounded this method will never block. + * + * @param e the element to add + * @param timeout This parameter is ignored as the method never blocks + * @param unit This parameter is ignored as the method never blocks + * @return true + * @throws NullPointerException {@inheritDoc} + */ + public boolean offer(E e, long timeout, TimeUnit unit) { + return offer(e); + } + + /** + * Retrieves and removes the head of this queue, or returns null + * if this queue has no elements with an expired delay. + * + * @return the head of this queue, or null if this + * queue has no elements with an expired delay + */ + public E poll() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + E first = q.peek(); + if (first == null || first.getDelay(TimeUnit.NANOSECONDS) > 0) + return null; + else { + E x = q.poll(); + assert x != null; + if (q.size() != 0) + available.signalAll(); + return x; + } + } finally { + lock.unlock(); + } + } + + /** + * Retrieves and removes the head of this queue, waiting if necessary + * until an element with an expired delay is available on this queue. + * + * @return the head of this queue + * @throws InterruptedException {@inheritDoc} + */ + public E take() throws InterruptedException { + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + for (;;) { + E first = q.peek(); + if (first == null) { + available.await(); + } else { + long delay = first.getDelay(TimeUnit.NANOSECONDS); + if (delay > 0) { + long tl = available.awaitNanos(delay); + } else { + E x = q.poll(); + assert x != null; + if (q.size() != 0) + available.signalAll(); // wake up other takers + return x; + + } + } + } + } finally { + lock.unlock(); + } + } + + /** + * Retrieves and removes the head of this queue, waiting if necessary + * until an element with an expired delay is available on this queue, + * or the specified wait time expires. + * + * @return the head of this queue, or null if the + * specified waiting time elapses before an element with + * an expired delay becomes available + * @throws InterruptedException {@inheritDoc} + */ + public E poll(long timeout, TimeUnit unit) throws InterruptedException { + long nanos = unit.toNanos(timeout); + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + for (;;) { + E first = q.peek(); + if (first == null) { + if (nanos <= 0) + return null; + else + nanos = available.awaitNanos(nanos); + } else { + long delay = first.getDelay(TimeUnit.NANOSECONDS); + if (delay > 0) { + if (nanos <= 0) + return null; + if (delay > nanos) + delay = nanos; + long timeLeft = available.awaitNanos(delay); + nanos -= delay - timeLeft; + } else { + E x = q.poll(); + assert x != null; + if (q.size() != 0) + available.signalAll(); + return x; + } + } + } + } finally { + lock.unlock(); + } + } + + /** + * Retrieves, but does not remove, the head of this queue, or + * returns null if this queue is empty. Unlike + * poll, if no expired elements are available in the queue, + * this method returns the element that will expire next, + * if one exists. + * + * @return the head of this queue, or null if this + * queue is empty. + */ + public E peek() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.peek(); + } finally { + lock.unlock(); + } + } + + public int size() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.size(); + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int n = 0; + for (;;) { + E first = q.peek(); + if (first == null || first.getDelay(TimeUnit.NANOSECONDS) > 0) + break; + c.add(q.poll()); + ++n; + } + if (n > 0) + available.signalAll(); + return n; + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c, int maxElements) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + if (maxElements <= 0) + return 0; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int n = 0; + while (n < maxElements) { + E first = q.peek(); + if (first == null || first.getDelay(TimeUnit.NANOSECONDS) > 0) + break; + c.add(q.poll()); + ++n; + } + if (n > 0) + available.signalAll(); + return n; + } finally { + lock.unlock(); + } + } + + /** + * Atomically removes all of the elements from this delay queue. + * The queue will be empty after this call returns. + * Elements with an unexpired delay are not waited for; they are + * simply discarded from the queue. + */ + public void clear() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + q.clear(); + } finally { + lock.unlock(); + } + } + + /** + * Always returns Integer.MAX_VALUE because + * a DelayQueue is not capacity constrained. + * + * @return Integer.MAX_VALUE + */ + public int remainingCapacity() { + return Integer.MAX_VALUE; + } + + /** + * Returns an array containing all of the elements in this queue. + * The returned array elements are in no particular order. + * + *

The returned array will be "safe" in that no references to it are + * maintained by this queue. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this queue + */ + public Object[] toArray() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.toArray(); + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this queue; the + * runtime type of the returned array is that of the specified array. + * The returned array elements are in no particular order. + * If the queue fits in the specified array, it is returned therein. + * Otherwise, a new array is allocated with the runtime type of the + * specified array and the size of this queue. + * + *

If this queue fits in the specified array with room to spare + * (i.e., the array has more elements than this queue), the element in + * the array immediately following the end of the queue is set to + * null. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

The following code can be used to dump a delay queue into a newly + * allocated array of Delayed: + * + *

+     *     Delayed[] a = q.toArray(new Delayed[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of the queue are to + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose + * @return an array containing all of the elements in this queue + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this queue + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.toArray(a); + } finally { + lock.unlock(); + } + } + + /** + * Removes a single instance of the specified element from this + * queue, if it is present, whether or not it has expired. + */ + public boolean remove(Object o) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.remove(o); + } finally { + lock.unlock(); + } + } + + /** + * Returns an iterator over all the elements (both expired and + * unexpired) in this queue. The iterator does not return the + * elements in any particular order. The returned + * Iterator is a "weakly consistent" iterator that will + * never throw {@link ConcurrentModificationException}, and + * guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed + * to) reflect any modifications subsequent to construction. + * + * @return an iterator over the elements in this queue + */ + public Iterator iterator() { + return new Itr(toArray()); + } + + /** + * Snapshot iterator that works off copy of underlying q array. + */ + private class Itr implements Iterator { + final Object[] array; // Array of all elements + int cursor; // index of next element to return; + int lastRet; // index of last element, or -1 if no such + + Itr(Object[] array) { + lastRet = -1; + this.array = array; + } + + public boolean hasNext() { + return cursor < array.length; + } + + public E next() { + if (cursor >= array.length) + throw new NoSuchElementException(); + lastRet = cursor; + return (E)array[cursor++]; + } + + public void remove() { + if (lastRet < 0) + throw new IllegalStateException(); + Object x = array[lastRet]; + lastRet = -1; + // Traverse underlying queue to find == element, + // not just a .equals element. + lock.lock(); + try { + for (Iterator it = q.iterator(); it.hasNext(); ) { + if (it.next() == x) { + it.remove(); + return; + } + } + } finally { + lock.unlock(); + } + } + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Delayed.java b/libjava/classpath/external/jsr166/java/util/concurrent/Delayed.java new file mode 100644 index 00000000000..b1ff4eee555 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Delayed.java @@ -0,0 +1,33 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +import java.util.*; + +/** + * A mix-in style interface for marking objects that should be + * acted upon after a given delay. + * + *

An implementation of this interface must define a + * compareTo method that provides an ordering consistent with + * its getDelay method. + * + * @since 1.5 + * @author Doug Lea + */ +public interface Delayed extends Comparable { + + /** + * Returns the remaining delay associated with this object, in the + * given time unit. + * + * @param unit the time unit + * @return the remaining delay; zero or negative values indicate + * that the delay has already elapsed + */ + long getDelay(TimeUnit unit); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Exchanger.java b/libjava/classpath/external/jsr166/java/util/concurrent/Exchanger.java new file mode 100644 index 00000000000..fb917f4321e --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Exchanger.java @@ -0,0 +1,656 @@ +/* + * Written by Doug Lea, Bill Scherer, and Michael Scott with + * assistance from members of JCP JSR-166 Expert Group and released to + * the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.atomic.*; +import java.util.concurrent.locks.LockSupport; + +/** + * A synchronization point at which threads can pair and swap elements + * within pairs. Each thread presents some object on entry to the + * {@link #exchange exchange} method, matches with a partner thread, + * and receives its partner's object on return. An Exchanger may be + * viewed as a bidirectional form of a {@link SynchronousQueue}. + * Exchangers may be useful in applications such as genetic algorithms + * and pipeline designs. + * + *

Sample Usage: + * Here are the highlights of a class that uses an {@code Exchanger} + * to swap buffers between threads so that the thread filling the + * buffer gets a freshly emptied one when it needs it, handing off the + * filled one to the thread emptying the buffer. + *

{@code
+ * class FillAndEmpty {
+ *   Exchanger exchanger = new Exchanger();
+ *   DataBuffer initialEmptyBuffer = ... a made-up type
+ *   DataBuffer initialFullBuffer = ...
+ *
+ *   class FillingLoop implements Runnable {
+ *     public void run() {
+ *       DataBuffer currentBuffer = initialEmptyBuffer;
+ *       try {
+ *         while (currentBuffer != null) {
+ *           addToBuffer(currentBuffer);
+ *           if (currentBuffer.isFull())
+ *             currentBuffer = exchanger.exchange(currentBuffer);
+ *         }
+ *       } catch (InterruptedException ex) { ... handle ... }
+ *     }
+ *   }
+ *
+ *   class EmptyingLoop implements Runnable {
+ *     public void run() {
+ *       DataBuffer currentBuffer = initialFullBuffer;
+ *       try {
+ *         while (currentBuffer != null) {
+ *           takeFromBuffer(currentBuffer);
+ *           if (currentBuffer.isEmpty())
+ *             currentBuffer = exchanger.exchange(currentBuffer);
+ *         }
+ *       } catch (InterruptedException ex) { ... handle ...}
+ *     }
+ *   }
+ *
+ *   void start() {
+ *     new Thread(new FillingLoop()).start();
+ *     new Thread(new EmptyingLoop()).start();
+ *   }
+ * }
+ * }
+ * + *

Memory consistency effects: For each pair of threads that + * successfully exchange objects via an {@code Exchanger}, actions + * prior to the {@code exchange()} in each thread + * happen-before + * those subsequent to a return from the corresponding {@code exchange()} + * in the other thread. + * + * @since 1.5 + * @author Doug Lea and Bill Scherer and Michael Scott + * @param The type of objects that may be exchanged + */ +public class Exchanger { + /* + * Algorithm Description: + * + * The basic idea is to maintain a "slot", which is a reference to + * a Node containing both an Item to offer and a "hole" waiting to + * get filled in. If an incoming "occupying" thread sees that the + * slot is null, it CAS'es (compareAndSets) a Node there and waits + * for another to invoke exchange. That second "fulfilling" thread + * sees that the slot is non-null, and so CASes it back to null, + * also exchanging items by CASing the hole, plus waking up the + * occupying thread if it is blocked. In each case CAS'es may + * fail because a slot at first appears non-null but is null upon + * CAS, or vice-versa. So threads may need to retry these + * actions. + * + * This simple approach works great when there are only a few + * threads using an Exchanger, but performance rapidly + * deteriorates due to CAS contention on the single slot when + * there are lots of threads using an exchanger. So instead we use + * an "arena"; basically a kind of hash table with a dynamically + * varying number of slots, any one of which can be used by + * threads performing an exchange. Incoming threads pick slots + * based on a hash of their Thread ids. If an incoming thread + * fails to CAS in its chosen slot, it picks an alternative slot + * instead. And similarly from there. If a thread successfully + * CASes into a slot but no other thread arrives, it tries + * another, heading toward the zero slot, which always exists even + * if the table shrinks. The particular mechanics controlling this + * are as follows: + * + * Waiting: Slot zero is special in that it is the only slot that + * exists when there is no contention. A thread occupying slot + * zero will block if no thread fulfills it after a short spin. + * In other cases, occupying threads eventually give up and try + * another slot. Waiting threads spin for a while (a period that + * should be a little less than a typical context-switch time) + * before either blocking (if slot zero) or giving up (if other + * slots) and restarting. There is no reason for threads to block + * unless there are unlikely to be any other threads present. + * Occupants are mainly avoiding memory contention so sit there + * quietly polling for a shorter period than it would take to + * block and then unblock them. Non-slot-zero waits that elapse + * because of lack of other threads waste around one extra + * context-switch time per try, which is still on average much + * faster than alternative approaches. + * + * Sizing: Usually, using only a few slots suffices to reduce + * contention. Especially with small numbers of threads, using + * too many slots can lead to just as poor performance as using + * too few of them, and there's not much room for error. The + * variable "max" maintains the number of slots actually in + * use. It is increased when a thread sees too many CAS + * failures. (This is analogous to resizing a regular hash table + * based on a target load factor, except here, growth steps are + * just one-by-one rather than proportional.) Growth requires + * contention failures in each of three tried slots. Requiring + * multiple failures for expansion copes with the fact that some + * failed CASes are not due to contention but instead to simple + * races between two threads or thread pre-emptions occurring + * between reading and CASing. Also, very transient peak + * contention can be much higher than the average sustainable + * levels. The max limit is decreased on average 50% of the times + * that a non-slot-zero wait elapses without being fulfilled. + * Threads experiencing elapsed waits move closer to zero, so + * eventually find existing (or future) threads even if the table + * has been shrunk due to inactivity. The chosen mechanics and + * thresholds for growing and shrinking are intrinsically + * entangled with indexing and hashing inside the exchange code, + * and can't be nicely abstracted out. + * + * Hashing: Each thread picks its initial slot to use in accord + * with a simple hashcode. The sequence is the same on each + * encounter by any given thread, but effectively random across + * threads. Using arenas encounters the classic cost vs quality + * tradeoffs of all hash tables. Here, we use a one-step FNV-1a + * hash code based on the current thread's Thread.getId(), along + * with a cheap approximation to a mod operation to select an + * index. The downside of optimizing index selection in this way + * is that the code is hardwired to use a maximum table size of + * 32. But this value more than suffices for known platforms and + * applications. + * + * Probing: On sensed contention of a selected slot, we probe + * sequentially through the table, analogously to linear probing + * after collision in a hash table. (We move circularly, in + * reverse order, to mesh best with table growth and shrinkage + * rules.) Except that to minimize the effects of false-alarms + * and cache thrashing, we try the first selected slot twice + * before moving. + * + * Padding: Even with contention management, slots are heavily + * contended, so use cache-padding to avoid poor memory + * performance. Because of this, slots are lazily constructed + * only when used, to avoid wasting this space unnecessarily. + * While isolation of locations is not much of an issue at first + * in an application, as time goes on and garbage-collectors + * perform compaction, slots are very likely to be moved adjacent + * to each other, which can cause much thrashing of cache lines on + * MPs unless padding is employed. + * + * This is an improvement of the algorithm described in the paper + * "A Scalable Elimination-based Exchange Channel" by William + * Scherer, Doug Lea, and Michael Scott in Proceedings of SCOOL05 + * workshop. Available at: http://hdl.handle.net/1802/2104 + */ + + /** The number of CPUs, for sizing and spin control */ + private static final int NCPU = Runtime.getRuntime().availableProcessors(); + + /** + * The capacity of the arena. Set to a value that provides more + * than enough space to handle contention. On small machines + * most slots won't be used, but it is still not wasted because + * the extra space provides some machine-level address padding + * to minimize interference with heavily CAS'ed Slot locations. + * And on very large machines, performance eventually becomes + * bounded by memory bandwidth, not numbers of threads/CPUs. + * This constant cannot be changed without also modifying + * indexing and hashing algorithms. + */ + private static final int CAPACITY = 32; + + /** + * The value of "max" that will hold all threads without + * contention. When this value is less than CAPACITY, some + * otherwise wasted expansion can be avoided. + */ + private static final int FULL = + Math.max(0, Math.min(CAPACITY, NCPU / 2) - 1); + + /** + * The number of times to spin (doing nothing except polling a + * memory location) before blocking or giving up while waiting to + * be fulfilled. Should be zero on uniprocessors. On + * multiprocessors, this value should be large enough so that two + * threads exchanging items as fast as possible block only when + * one of them is stalled (due to GC or preemption), but not much + * longer, to avoid wasting CPU resources. Seen differently, this + * value is a little over half the number of cycles of an average + * context switch time on most systems. The value here is + * approximately the average of those across a range of tested + * systems. + */ + private static final int SPINS = (NCPU == 1) ? 0 : 2000; + + /** + * The number of times to spin before blocking in timed waits. + * Timed waits spin more slowly because checking the time takes + * time. The best value relies mainly on the relative rate of + * System.nanoTime vs memory accesses. The value is empirically + * derived to work well across a variety of systems. + */ + private static final int TIMED_SPINS = SPINS / 20; + + /** + * Sentinel item representing cancellation of a wait due to + * interruption, timeout, or elapsed spin-waits. This value is + * placed in holes on cancellation, and used as a return value + * from waiting methods to indicate failure to set or get hole. + */ + private static final Object CANCEL = new Object(); + + /** + * Value representing null arguments/returns from public + * methods. This disambiguates from internal requirement that + * holes start out as null to mean they are not yet set. + */ + private static final Object NULL_ITEM = new Object(); + + /** + * Nodes hold partially exchanged data. This class + * opportunistically subclasses AtomicReference to represent the + * hole. So get() returns hole, and compareAndSet CAS'es value + * into hole. This class cannot be parameterized as "V" because + * of the use of non-V CANCEL sentinels. + */ + private static final class Node extends AtomicReference { + /** The element offered by the Thread creating this node. */ + public final Object item; + + /** The Thread waiting to be signalled; null until waiting. */ + public volatile Thread waiter; + + /** + * Creates node with given item and empty hole. + * @param item the item + */ + public Node(Object item) { + this.item = item; + } + } + + /** + * A Slot is an AtomicReference with heuristic padding to lessen + * cache effects of this heavily CAS'ed location. While the + * padding adds noticeable space, all slots are created only on + * demand, and there will be more than one of them only when it + * would improve throughput more than enough to outweigh using + * extra space. + */ + private static final class Slot extends AtomicReference { + // Improve likelihood of isolation on <= 64 byte cache lines + long q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, qa, qb, qc, qd, qe; + } + + /** + * Slot array. Elements are lazily initialized when needed. + * Declared volatile to enable double-checked lazy construction. + */ + private volatile Slot[] arena = new Slot[CAPACITY]; + + /** + * The maximum slot index being used. The value sometimes + * increases when a thread experiences too many CAS contentions, + * and sometimes decreases when a spin-wait elapses. Changes + * are performed only via compareAndSet, to avoid stale values + * when a thread happens to stall right before setting. + */ + private final AtomicInteger max = new AtomicInteger(); + + /** + * Main exchange function, handling the different policy variants. + * Uses Object, not "V" as argument and return value to simplify + * handling of sentinel values. Callers from public methods decode + * and cast accordingly. + * + * @param item the (non-null) item to exchange + * @param timed true if the wait is timed + * @param nanos if timed, the maximum wait time + * @return the other thread's item, or CANCEL if interrupted or timed out + */ + private Object doExchange(Object item, boolean timed, long nanos) { + Node me = new Node(item); // Create in case occupying + int index = hashIndex(); // Index of current slot + int fails = 0; // Number of CAS failures + + for (;;) { + Object y; // Contents of current slot + Slot slot = arena[index]; + if (slot == null) // Lazily initialize slots + createSlot(index); // Continue loop to reread + else if ((y = slot.get()) != null && // Try to fulfill + slot.compareAndSet(y, null)) { + Node you = (Node)y; // Transfer item + if (you.compareAndSet(null, item)) { + LockSupport.unpark(you.waiter); + return you.item; + } // Else cancelled; continue + } + else if (y == null && // Try to occupy + slot.compareAndSet(null, me)) { + if (index == 0) // Blocking wait for slot 0 + return timed? awaitNanos(me, slot, nanos): await(me, slot); + Object v = spinWait(me, slot); // Spin wait for non-0 + if (v != CANCEL) + return v; + me = new Node(item); // Throw away cancelled node + int m = max.get(); + if (m > (index >>>= 1)) // Decrease index + max.compareAndSet(m, m - 1); // Maybe shrink table + } + else if (++fails > 1) { // Allow 2 fails on 1st slot + int m = max.get(); + if (fails > 3 && m < FULL && max.compareAndSet(m, m + 1)) + index = m + 1; // Grow on 3rd failed slot + else if (--index < 0) + index = m; // Circularly traverse + } + } + } + + /** + * Returns a hash index for the current thread. Uses a one-step + * FNV-1a hash code (http://www.isthe.com/chongo/tech/comp/fnv/) + * based on the current thread's Thread.getId(). These hash codes + * have more uniform distribution properties with respect to small + * moduli (here 1-31) than do other simple hashing functions. + * + *

To return an index between 0 and max, we use a cheap + * approximation to a mod operation, that also corrects for bias + * due to non-power-of-2 remaindering (see {@link + * java.util.Random#nextInt}). Bits of the hashcode are masked + * with "nbits", the ceiling power of two of table size (looked up + * in a table packed into three ints). If too large, this is + * retried after rotating the hash by nbits bits, while forcing new + * top bit to 0, which guarantees eventual termination (although + * with a non-random-bias). This requires an average of less than + * 2 tries for all table sizes, and has a maximum 2% difference + * from perfectly uniform slot probabilities when applied to all + * possible hash codes for sizes less than 32. + * + * @return a per-thread-random index, 0 <= index < max + */ + private final int hashIndex() { + long id = Thread.currentThread().getId(); + int hash = (((int)(id ^ (id >>> 32))) ^ 0x811c9dc5) * 0x01000193; + + int m = max.get(); + int nbits = (((0xfffffc00 >> m) & 4) | // Compute ceil(log2(m+1)) + ((0x000001f8 >>> m) & 2) | // The constants hold + ((0xffff00f2 >>> m) & 1)); // a lookup table + int index; + while ((index = hash & ((1 << nbits) - 1)) > m) // May retry on + hash = (hash >>> nbits) | (hash << (33 - nbits)); // non-power-2 m + return index; + } + + /** + * Creates a new slot at given index. Called only when the slot + * appears to be null. Relies on double-check using builtin + * locks, since they rarely contend. This in turn relies on the + * arena array being declared volatile. + * + * @param index the index to add slot at + */ + private void createSlot(int index) { + // Create slot outside of lock to narrow sync region + Slot newSlot = new Slot(); + Slot[] a = arena; + synchronized (a) { + if (a[index] == null) + a[index] = newSlot; + } + } + + /** + * Tries to cancel a wait for the given node waiting in the given + * slot, if so, helping clear the node from its slot to avoid + * garbage retention. + * + * @param node the waiting node + * @param the slot it is waiting in + * @return true if successfully cancelled + */ + private static boolean tryCancel(Node node, Slot slot) { + if (!node.compareAndSet(null, CANCEL)) + return false; + if (slot.get() == node) // pre-check to minimize contention + slot.compareAndSet(node, null); + return true; + } + + // Three forms of waiting. Each just different enough not to merge + // code with others. + + /** + * Spin-waits for hole for a non-0 slot. Fails if spin elapses + * before hole filled. Does not check interrupt, relying on check + * in public exchange method to abort if interrupted on entry. + * + * @param node the waiting node + * @return on success, the hole; on failure, CANCEL + */ + private static Object spinWait(Node node, Slot slot) { + int spins = SPINS; + for (;;) { + Object v = node.get(); + if (v != null) + return v; + else if (spins > 0) + --spins; + else + tryCancel(node, slot); + } + } + + /** + * Waits for (by spinning and/or blocking) and gets the hole + * filled in by another thread. Fails if interrupted before + * hole filled. + * + * When a node/thread is about to block, it sets its waiter field + * and then rechecks state at least one more time before actually + * parking, thus covering race vs fulfiller noticing that waiter + * is non-null so should be woken. + * + * Thread interruption status is checked only surrounding calls to + * park. The caller is assumed to have checked interrupt status + * on entry. + * + * @param node the waiting node + * @return on success, the hole; on failure, CANCEL + */ + private static Object await(Node node, Slot slot) { + Thread w = Thread.currentThread(); + int spins = SPINS; + for (;;) { + Object v = node.get(); + if (v != null) + return v; + else if (spins > 0) // Spin-wait phase + --spins; + else if (node.waiter == null) // Set up to block next + node.waiter = w; + else if (w.isInterrupted()) // Abort on interrupt + tryCancel(node, slot); + else // Block + LockSupport.park(node); + } + } + + /** + * Waits for (at index 0) and gets the hole filled in by another + * thread. Fails if timed out or interrupted before hole filled. + * Same basic logic as untimed version, but a bit messier. + * + * @param node the waiting node + * @param nanos the wait time + * @return on success, the hole; on failure, CANCEL + */ + private Object awaitNanos(Node node, Slot slot, long nanos) { + int spins = TIMED_SPINS; + long lastTime = 0; + Thread w = null; + for (;;) { + Object v = node.get(); + if (v != null) + return v; + long now = System.nanoTime(); + if (w == null) + w = Thread.currentThread(); + else + nanos -= now - lastTime; + lastTime = now; + if (nanos > 0) { + if (spins > 0) + --spins; + else if (node.waiter == null) + node.waiter = w; + else if (w.isInterrupted()) + tryCancel(node, slot); + else + LockSupport.parkNanos(node, nanos); + } + else if (tryCancel(node, slot) && !w.isInterrupted()) + return scanOnTimeout(node); + } + } + + /** + * Sweeps through arena checking for any waiting threads. Called + * only upon return from timeout while waiting in slot 0. When a + * thread gives up on a timed wait, it is possible that a + * previously-entered thread is still waiting in some other + * slot. So we scan to check for any. This is almost always + * overkill, but decreases the likelihood of timeouts when there + * are other threads present to far less than that in lock-based + * exchangers in which earlier-arriving threads may still be + * waiting on entry locks. + * + * @param node the waiting node + * @return another thread's item, or CANCEL + */ + private Object scanOnTimeout(Node node) { + Object y; + for (int j = arena.length - 1; j >= 0; --j) { + Slot slot = arena[j]; + if (slot != null) { + while ((y = slot.get()) != null) { + if (slot.compareAndSet(y, null)) { + Node you = (Node)y; + if (you.compareAndSet(null, node.item)) { + LockSupport.unpark(you.waiter); + return you.item; + } + } + } + } + } + return CANCEL; + } + + /** + * Creates a new Exchanger. + */ + public Exchanger() { + } + + /** + * Waits for another thread to arrive at this exchange point (unless + * the current thread is {@linkplain Thread#interrupt interrupted}), + * and then transfers the given object to it, receiving its object + * in return. + * + *

If another thread is already waiting at the exchange point then + * it is resumed for thread scheduling purposes and receives the object + * passed in by the current thread. The current thread returns immediately, + * receiving the object passed to the exchange by that other thread. + * + *

If no other thread is already waiting at the exchange then the + * current thread is disabled for thread scheduling purposes and lies + * dormant until one of two things happens: + *

    + *
  • Some other thread enters the exchange; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the current + * thread. + *
+ *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * for the exchange, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + * @param x the object to exchange + * @return the object provided by the other thread + * @throws InterruptedException if the current thread was + * interrupted while waiting + */ + public V exchange(V x) throws InterruptedException { + if (!Thread.interrupted()) { + Object v = doExchange(x == null? NULL_ITEM : x, false, 0); + if (v == NULL_ITEM) + return null; + if (v != CANCEL) + return (V)v; + Thread.interrupted(); // Clear interrupt status on IE throw + } + throw new InterruptedException(); + } + + /** + * Waits for another thread to arrive at this exchange point (unless + * the current thread is {@linkplain Thread#interrupt interrupted} or + * the specified waiting time elapses), and then transfers the given + * object to it, receiving its object in return. + * + *

If another thread is already waiting at the exchange point then + * it is resumed for thread scheduling purposes and receives the object + * passed in by the current thread. The current thread returns immediately, + * receiving the object passed to the exchange by that other thread. + * + *

If no other thread is already waiting at the exchange then the + * current thread is disabled for thread scheduling purposes and lies + * dormant until one of three things happens: + *

    + *
  • Some other thread enters the exchange; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + *
  • The specified waiting time elapses. + *
+ *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * for the exchange, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the specified waiting time elapses then {@link + * TimeoutException} is thrown. If the time is less than or equal + * to zero, the method will not wait at all. + * + * @param x the object to exchange + * @param timeout the maximum time to wait + * @param unit the time unit of the timeout argument + * @return the object provided by the other thread + * @throws InterruptedException if the current thread was + * interrupted while waiting + * @throws TimeoutException if the specified waiting time elapses + * before another thread enters the exchange + */ + public V exchange(V x, long timeout, TimeUnit unit) + throws InterruptedException, TimeoutException { + if (!Thread.interrupted()) { + Object v = doExchange(x == null? NULL_ITEM : x, + true, unit.toNanos(timeout)); + if (v == NULL_ITEM) + return null; + if (v != CANCEL) + return (V)v; + if (!Thread.interrupted()) + throw new TimeoutException(); + } + throw new InterruptedException(); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ExecutionException.java b/libjava/classpath/external/jsr166/java/util/concurrent/ExecutionException.java new file mode 100644 index 00000000000..bc561e58ebb --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ExecutionException.java @@ -0,0 +1,65 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * Exception thrown when attempting to retrieve the result of a task + * that aborted by throwing an exception. This exception can be + * inspected using the {@link #getCause()} method. + * + * @see Future + * @since 1.5 + * @author Doug Lea + */ +public class ExecutionException extends Exception { + private static final long serialVersionUID = 7830266012832686185L; + + /** + * Constructs an ExecutionException with no detail message. + * The cause is not initialized, and may subsequently be + * initialized by a call to {@link #initCause(Throwable) initCause}. + */ + protected ExecutionException() { } + + /** + * Constructs an ExecutionException with the specified detail + * message. The cause is not initialized, and may subsequently be + * initialized by a call to {@link #initCause(Throwable) initCause}. + * + * @param message the detail message + */ + protected ExecutionException(String message) { + super(message); + } + + /** + * Constructs an ExecutionException with the specified detail + * message and cause. + * + * @param message the detail message + * @param cause the cause (which is saved for later retrieval by the + * {@link #getCause()} method) + */ + public ExecutionException(String message, Throwable cause) { + super(message, cause); + } + + /** + * Constructs an ExecutionException with the specified cause. + * The detail message is set to: + *

+     *  (cause == null ? null : cause.toString())
+ * (which typically contains the class and detail message of + * cause). + * + * @param cause the cause (which is saved for later retrieval by the + * {@link #getCause()} method) + */ + public ExecutionException(Throwable cause) { + super(cause); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Executor.java b/libjava/classpath/external/jsr166/java/util/concurrent/Executor.java new file mode 100644 index 00000000000..a61e9215291 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Executor.java @@ -0,0 +1,112 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * An object that executes submitted {@link Runnable} tasks. This + * interface provides a way of decoupling task submission from the + * mechanics of how each task will be run, including details of thread + * use, scheduling, etc. An Executor is normally used + * instead of explicitly creating threads. For example, rather than + * invoking new Thread(new(RunnableTask())).start() for each + * of a set of tasks, you might use: + * + *
+ * Executor executor = anExecutor;
+ * executor.execute(new RunnableTask1());
+ * executor.execute(new RunnableTask2());
+ * ...
+ * 
+ * + * However, the Executor interface does not strictly + * require that execution be asynchronous. In the simplest case, an + * executor can run the submitted task immediately in the caller's + * thread: + * + *
+ * class DirectExecutor implements Executor {
+ *     public void execute(Runnable r) {
+ *         r.run();
+ *     }
+ * }
+ * + * More typically, tasks are executed in some thread other + * than the caller's thread. The executor below spawns a new thread + * for each task. + * + *
+ * class ThreadPerTaskExecutor implements Executor {
+ *     public void execute(Runnable r) {
+ *         new Thread(r).start();
+ *     }
+ * }
+ * + * Many Executor implementations impose some sort of + * limitation on how and when tasks are scheduled. The executor below + * serializes the submission of tasks to a second executor, + * illustrating a composite executor. + * + *
+ * class SerialExecutor implements Executor {
+ *     final Queue<Runnable> tasks = new ArrayDeque<Runnable>();
+ *     final Executor executor;
+ *     Runnable active;
+ *
+ *     SerialExecutor(Executor executor) {
+ *         this.executor = executor;
+ *     }
+ *
+ *     public synchronized void execute(final Runnable r) {
+ *         tasks.offer(new Runnable() {
+ *             public void run() {
+ *                 try {
+ *                     r.run();
+ *                 } finally {
+ *                     scheduleNext();
+ *                 }
+ *             }
+ *         });
+ *         if (active == null) {
+ *             scheduleNext();
+ *         }
+ *     }
+ *
+ *     protected synchronized void scheduleNext() {
+ *         if ((active = tasks.poll()) != null) {
+ *             executor.execute(active);
+ *         }
+ *     }
+ * }
+ * + * The Executor implementations provided in this package + * implement {@link ExecutorService}, which is a more extensive + * interface. The {@link ThreadPoolExecutor} class provides an + * extensible thread pool implementation. The {@link Executors} class + * provides convenient factory methods for these Executors. + * + *

Memory consistency effects: Actions in a thread prior to + * submitting a {@code Runnable} object to an {@code Executor} + * happen-before + * its execution begins, perhaps in another thread. + * + * @since 1.5 + * @author Doug Lea + */ +public interface Executor { + + /** + * Executes the given command at some time in the future. The command + * may execute in a new thread, in a pooled thread, or in the calling + * thread, at the discretion of the Executor implementation. + * + * @param command the runnable task + * @throws RejectedExecutionException if this task cannot be + * accepted for execution. + * @throws NullPointerException if command is null + */ + void execute(Runnable command); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ExecutorCompletionService.java b/libjava/classpath/external/jsr166/java/util/concurrent/ExecutorCompletionService.java new file mode 100644 index 00000000000..9b7a0e027a0 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ExecutorCompletionService.java @@ -0,0 +1,174 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A {@link CompletionService} that uses a supplied {@link Executor} + * to execute tasks. This class arranges that submitted tasks are, + * upon completion, placed on a queue accessible using take. + * The class is lightweight enough to be suitable for transient use + * when processing groups of tasks. + * + *

+ * + * Usage Examples. + * + * Suppose you have a set of solvers for a certain problem, each + * returning a value of some type Result, and would like to + * run them concurrently, processing the results of each of them that + * return a non-null value, in some method use(Result r). You + * could write this as: + * + *

+ *   void solve(Executor e,
+ *              Collection<Callable<Result>> solvers)
+ *     throws InterruptedException, ExecutionException {
+ *       CompletionService<Result> ecs
+ *           = new ExecutorCompletionService<Result>(e);
+ *       for (Callable<Result> s : solvers)
+ *           ecs.submit(s);
+ *       int n = solvers.size();
+ *       for (int i = 0; i < n; ++i) {
+ *           Result r = ecs.take().get();
+ *           if (r != null)
+ *               use(r);
+ *       }
+ *   }
+ * 
+ * + * Suppose instead that you would like to use the first non-null result + * of the set of tasks, ignoring any that encounter exceptions, + * and cancelling all other tasks when the first one is ready: + * + *
+ *   void solve(Executor e,
+ *              Collection<Callable<Result>> solvers)
+ *     throws InterruptedException {
+ *       CompletionService<Result> ecs
+ *           = new ExecutorCompletionService<Result>(e);
+ *       int n = solvers.size();
+ *       List<Future<Result>> futures
+ *           = new ArrayList<Future<Result>>(n);
+ *       Result result = null;
+ *       try {
+ *           for (Callable<Result> s : solvers)
+ *               futures.add(ecs.submit(s));
+ *           for (int i = 0; i < n; ++i) {
+ *               try {
+ *                   Result r = ecs.take().get();
+ *                   if (r != null) {
+ *                       result = r;
+ *                       break;
+ *                   }
+ *               } catch (ExecutionException ignore) {}
+ *           }
+ *       }
+ *       finally {
+ *           for (Future<Result> f : futures)
+ *               f.cancel(true);
+ *       }
+ *
+ *       if (result != null)
+ *           use(result);
+ *   }
+ * 
+ */ +public class ExecutorCompletionService implements CompletionService { + private final Executor executor; + private final AbstractExecutorService aes; + private final BlockingQueue> completionQueue; + + /** + * FutureTask extension to enqueue upon completion + */ + private class QueueingFuture extends FutureTask { + QueueingFuture(RunnableFuture task) { + super(task, null); + this.task = task; + } + protected void done() { completionQueue.add(task); } + private final Future task; + } + + private RunnableFuture newTaskFor(Callable task) { + if (aes == null) + return new FutureTask(task); + else + return aes.newTaskFor(task); + } + + private RunnableFuture newTaskFor(Runnable task, V result) { + if (aes == null) + return new FutureTask(task, result); + else + return aes.newTaskFor(task, result); + } + + /** + * Creates an ExecutorCompletionService using the supplied + * executor for base task execution and a + * {@link LinkedBlockingQueue} as a completion queue. + * + * @param executor the executor to use + * @throws NullPointerException if executor is null + */ + public ExecutorCompletionService(Executor executor) { + if (executor == null) + throw new NullPointerException(); + this.executor = executor; + this.aes = (executor instanceof AbstractExecutorService) ? + (AbstractExecutorService) executor : null; + this.completionQueue = new LinkedBlockingQueue>(); + } + + /** + * Creates an ExecutorCompletionService using the supplied + * executor for base task execution and the supplied queue as its + * completion queue. + * + * @param executor the executor to use + * @param completionQueue the queue to use as the completion queue + * normally one dedicated for use by this service + * @throws NullPointerException if executor or completionQueue are null + */ + public ExecutorCompletionService(Executor executor, + BlockingQueue> completionQueue) { + if (executor == null || completionQueue == null) + throw new NullPointerException(); + this.executor = executor; + this.aes = (executor instanceof AbstractExecutorService) ? + (AbstractExecutorService) executor : null; + this.completionQueue = completionQueue; + } + + public Future submit(Callable task) { + if (task == null) throw new NullPointerException(); + RunnableFuture f = newTaskFor(task); + executor.execute(new QueueingFuture(f)); + return f; + } + + public Future submit(Runnable task, V result) { + if (task == null) throw new NullPointerException(); + RunnableFuture f = newTaskFor(task, result); + executor.execute(new QueueingFuture(f)); + return f; + } + + public Future take() throws InterruptedException { + return completionQueue.take(); + } + + public Future poll() { + return completionQueue.poll(); + } + + public Future poll(long timeout, TimeUnit unit) throws InterruptedException { + return completionQueue.poll(timeout, unit); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ExecutorService.java b/libjava/classpath/external/jsr166/java/util/concurrent/ExecutorService.java new file mode 100644 index 00000000000..77731926562 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ExecutorService.java @@ -0,0 +1,306 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.List; +import java.util.Collection; +import java.security.PrivilegedAction; +import java.security.PrivilegedExceptionAction; + +/** + * An {@link Executor} that provides methods to manage termination and + * methods that can produce a {@link Future} for tracking progress of + * one or more asynchronous tasks. + * + *

+ * An ExecutorService can be shut down, which will cause it + * to stop accepting new tasks. After being shut down, the executor + * will eventually terminate, at which point no tasks are actively + * executing, no tasks are awaiting execution, and no new tasks can be + * submitted. An unused ExecutorService should be shut down + * to allow reclamation of its resources. + * + *

Method submit extends base method {@link + * Executor#execute} by creating and returning a {@link Future} that + * can be used to cancel execution and/or wait for completion. + * Methods invokeAny and invokeAll perform the most + * commonly useful forms of bulk execution, executing a collection of + * tasks and then waiting for at least one, or all, to + * complete. (Class {@link ExecutorCompletionService} can be used to + * write customized variants of these methods.) + * + *

The {@link Executors} class provides factory methods for the + * executor services provided in this package. + * + *

Usage Example

+ * + * Here is a sketch of a network service in which threads in a thread + * pool service incoming requests. It uses the preconfigured {@link + * Executors#newFixedThreadPool} factory method: + * + *
+ * class NetworkService {
+ *   private final ServerSocket serverSocket;
+ *   private final ExecutorService pool;
+ *
+ *   public NetworkService(int port, int poolSize)
+ *       throws IOException {
+ *     serverSocket = new ServerSocket(port);
+ *     pool = Executors.newFixedThreadPool(poolSize);
+ *   }
+ *
+ *   public void serve() {
+ *     try {
+ *       for (;;) {
+ *         pool.execute(new Handler(serverSocket.accept()));
+ *       }
+ *     } catch (IOException ex) {
+ *       pool.shutdown();
+ *     }
+ *   }
+ * }
+ *
+ * class Handler implements Runnable {
+ *   private final Socket socket;
+ *   Handler(Socket socket) { this.socket = socket; }
+ *   public void run() {
+ *     // read and service request
+ *   }
+ * }
+ * 
+ * + *

Memory consistency effects: Actions in a thread prior to the + * submission of a {@code Runnable} or {@code Callable} task to an + * {@code ExecutorService} + * happen-before + * any actions taken by that task, which in turn happen-before the + * result is retrieved via {@code Future.get()}. + * + * @since 1.5 + * @author Doug Lea + */ +public interface ExecutorService extends Executor { + + /** + * Initiates an orderly shutdown in which previously submitted + * tasks are executed, but no new tasks will be accepted. + * Invocation has no additional effect if already shut down. + * + * @throws SecurityException if a security manager exists and + * shutting down this ExecutorService may manipulate + * threads that the caller is not permitted to modify + * because it does not hold {@link + * java.lang.RuntimePermission}("modifyThread"), + * or the security manager's checkAccess method + * denies access. + */ + void shutdown(); + + /** + * Attempts to stop all actively executing tasks, halts the + * processing of waiting tasks, and returns a list of the tasks that were + * awaiting execution. + * + *

There are no guarantees beyond best-effort attempts to stop + * processing actively executing tasks. For example, typical + * implementations will cancel via {@link Thread#interrupt}, so any + * task that fails to respond to interrupts may never terminate. + * + * @return list of tasks that never commenced execution + * @throws SecurityException if a security manager exists and + * shutting down this ExecutorService may manipulate + * threads that the caller is not permitted to modify + * because it does not hold {@link + * java.lang.RuntimePermission}("modifyThread"), + * or the security manager's checkAccess method + * denies access. + */ + List shutdownNow(); + + /** + * Returns true if this executor has been shut down. + * + * @return true if this executor has been shut down + */ + boolean isShutdown(); + + /** + * Returns true if all tasks have completed following shut down. + * Note that isTerminated is never true unless + * either shutdown or shutdownNow was called first. + * + * @return true if all tasks have completed following shut down + */ + boolean isTerminated(); + + /** + * Blocks until all tasks have completed execution after a shutdown + * request, or the timeout occurs, or the current thread is + * interrupted, whichever happens first. + * + * @param timeout the maximum time to wait + * @param unit the time unit of the timeout argument + * @return true if this executor terminated and + * false if the timeout elapsed before termination + * @throws InterruptedException if interrupted while waiting + */ + boolean awaitTermination(long timeout, TimeUnit unit) + throws InterruptedException; + + + /** + * Submits a value-returning task for execution and returns a + * Future representing the pending results of the task. The + * Future's get method will return the task's result upon + * successful completion. + * + *

+ * If you would like to immediately block waiting + * for a task, you can use constructions of the form + * result = exec.submit(aCallable).get(); + * + *

Note: The {@link Executors} class includes a set of methods + * that can convert some other common closure-like objects, + * for example, {@link java.security.PrivilegedAction} to + * {@link Callable} form so they can be submitted. + * + * @param task the task to submit + * @return a Future representing pending completion of the task + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if the task is null + */ + Future submit(Callable task); + + /** + * Submits a Runnable task for execution and returns a Future + * representing that task. The Future's get method will + * return the given result upon successful completion. + * + * @param task the task to submit + * @param result the result to return + * @return a Future representing pending completion of the task + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if the task is null + */ + Future submit(Runnable task, T result); + + /** + * Submits a Runnable task for execution and returns a Future + * representing that task. The Future's get method will + * return null upon successful completion. + * + * @param task the task to submit + * @return a Future representing pending completion of the task + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if the task is null + */ + Future submit(Runnable task); + + /** + * Executes the given tasks, returning a list of Futures holding + * their status and results when all complete. + * {@link Future#isDone} is true for each + * element of the returned list. + * Note that a completed task could have + * terminated either normally or by throwing an exception. + * The results of this method are undefined if the given + * collection is modified while this operation is in progress. + * + * @param tasks the collection of tasks + * @return A list of Futures representing the tasks, in the same + * sequential order as produced by the iterator for the + * given task list, each of which has completed. + * @throws InterruptedException if interrupted while waiting, in + * which case unfinished tasks are cancelled. + * @throws NullPointerException if tasks or any of its elements are null + * @throws RejectedExecutionException if any task cannot be + * scheduled for execution + */ + + List> invokeAll(Collection> tasks) + throws InterruptedException; + + /** + * Executes the given tasks, returning a list of Futures holding + * their status and results + * when all complete or the timeout expires, whichever happens first. + * {@link Future#isDone} is true for each + * element of the returned list. + * Upon return, tasks that have not completed are cancelled. + * Note that a completed task could have + * terminated either normally or by throwing an exception. + * The results of this method are undefined if the given + * collection is modified while this operation is in progress. + * + * @param tasks the collection of tasks + * @param timeout the maximum time to wait + * @param unit the time unit of the timeout argument + * @return a list of Futures representing the tasks, in the same + * sequential order as produced by the iterator for the + * given task list. If the operation did not time out, + * each task will have completed. If it did time out, some + * of these tasks will not have completed. + * @throws InterruptedException if interrupted while waiting, in + * which case unfinished tasks are cancelled + * @throws NullPointerException if tasks, any of its elements, or + * unit are null + * @throws RejectedExecutionException if any task cannot be scheduled + * for execution + */ + List> invokeAll(Collection> tasks, + long timeout, TimeUnit unit) + throws InterruptedException; + + /** + * Executes the given tasks, returning the result + * of one that has completed successfully (i.e., without throwing + * an exception), if any do. Upon normal or exceptional return, + * tasks that have not completed are cancelled. + * The results of this method are undefined if the given + * collection is modified while this operation is in progress. + * + * @param tasks the collection of tasks + * @return the result returned by one of the tasks + * @throws InterruptedException if interrupted while waiting + * @throws NullPointerException if tasks or any of its elements + * are null + * @throws IllegalArgumentException if tasks is empty + * @throws ExecutionException if no task successfully completes + * @throws RejectedExecutionException if tasks cannot be scheduled + * for execution + */ + T invokeAny(Collection> tasks) + throws InterruptedException, ExecutionException; + + /** + * Executes the given tasks, returning the result + * of one that has completed successfully (i.e., without throwing + * an exception), if any do before the given timeout elapses. + * Upon normal or exceptional return, tasks that have not + * completed are cancelled. + * The results of this method are undefined if the given + * collection is modified while this operation is in progress. + * + * @param tasks the collection of tasks + * @param timeout the maximum time to wait + * @param unit the time unit of the timeout argument + * @return the result returned by one of the tasks. + * @throws InterruptedException if interrupted while waiting + * @throws NullPointerException if tasks, any of its elements, or + * unit are null + * @throws TimeoutException if the given timeout elapses before + * any task successfully completes + * @throws ExecutionException if no task successfully completes + * @throws RejectedExecutionException if tasks cannot be scheduled + * for execution + */ + T invokeAny(Collection> tasks, + long timeout, TimeUnit unit) + throws InterruptedException, ExecutionException, TimeoutException; +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Executors.java b/libjava/classpath/external/jsr166/java/util/concurrent/Executors.java new file mode 100644 index 00000000000..f44e66160f7 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Executors.java @@ -0,0 +1,666 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.security.AccessControlContext; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.security.PrivilegedExceptionAction; +import java.security.AccessControlException; + +/** + * Factory and utility methods for {@link Executor}, {@link + * ExecutorService}, {@link ScheduledExecutorService}, {@link + * ThreadFactory}, and {@link Callable} classes defined in this + * package. This class supports the following kinds of methods: + * + *

    + *
  • Methods that create and return an {@link ExecutorService} + * set up with commonly useful configuration settings. + *
  • Methods that create and return a {@link ScheduledExecutorService} + * set up with commonly useful configuration settings. + *
  • Methods that create and return a "wrapped" ExecutorService, that + * disables reconfiguration by making implementation-specific methods + * inaccessible. + *
  • Methods that create and return a {@link ThreadFactory} + * that sets newly created threads to a known state. + *
  • Methods that create and return a {@link Callable} + * out of other closure-like forms, so they can be used + * in execution methods requiring Callable. + *
+ * + * @since 1.5 + * @author Doug Lea + */ +public class Executors { + + /** + * Creates a thread pool that reuses a fixed number of threads + * operating off a shared unbounded queue. At any point, at most + * nThreads threads will be active processing tasks. + * If additional tasks are submitted when all threads are active, + * they will wait in the queue until a thread is available. + * If any thread terminates due to a failure during execution + * prior to shutdown, a new one will take its place if needed to + * execute subsequent tasks. The threads in the pool will exist + * until it is explicitly {@link ExecutorService#shutdown shutdown}. + * + * @param nThreads the number of threads in the pool + * @return the newly created thread pool + * @throws IllegalArgumentException if nThreads <= 0 + */ + public static ExecutorService newFixedThreadPool(int nThreads) { + return new ThreadPoolExecutor(nThreads, nThreads, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue()); + } + + /** + * Creates a thread pool that reuses a fixed number of threads + * operating off a shared unbounded queue, using the provided + * ThreadFactory to create new threads when needed. At any point, + * at most nThreads threads will be active processing + * tasks. If additional tasks are submitted when all threads are + * active, they will wait in the queue until a thread is + * available. If any thread terminates due to a failure during + * execution prior to shutdown, a new one will take its place if + * needed to execute subsequent tasks. The threads in the pool will + * exist until it is explicitly {@link ExecutorService#shutdown + * shutdown}. + * + * @param nThreads the number of threads in the pool + * @param threadFactory the factory to use when creating new threads + * @return the newly created thread pool + * @throws NullPointerException if threadFactory is null + * @throws IllegalArgumentException if nThreads <= 0 + */ + public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory) { + return new ThreadPoolExecutor(nThreads, nThreads, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(), + threadFactory); + } + + /** + * Creates an Executor that uses a single worker thread operating + * off an unbounded queue. (Note however that if this single + * thread terminates due to a failure during execution prior to + * shutdown, a new one will take its place if needed to execute + * subsequent tasks.) Tasks are guaranteed to execute + * sequentially, and no more than one task will be active at any + * given time. Unlike the otherwise equivalent + * newFixedThreadPool(1) the returned executor is + * guaranteed not to be reconfigurable to use additional threads. + * + * @return the newly created single-threaded Executor + */ + public static ExecutorService newSingleThreadExecutor() { + return new FinalizableDelegatedExecutorService + (new ThreadPoolExecutor(1, 1, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue())); + } + + /** + * Creates an Executor that uses a single worker thread operating + * off an unbounded queue, and uses the provided ThreadFactory to + * create a new thread when needed. Unlike the otherwise + * equivalent newFixedThreadPool(1, threadFactory) the + * returned executor is guaranteed not to be reconfigurable to use + * additional threads. + * + * @param threadFactory the factory to use when creating new + * threads + * + * @return the newly created single-threaded Executor + * @throws NullPointerException if threadFactory is null + */ + public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory) { + return new FinalizableDelegatedExecutorService + (new ThreadPoolExecutor(1, 1, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(), + threadFactory)); + } + + /** + * Creates a thread pool that creates new threads as needed, but + * will reuse previously constructed threads when they are + * available. These pools will typically improve the performance + * of programs that execute many short-lived asynchronous tasks. + * Calls to execute will reuse previously constructed + * threads if available. If no existing thread is available, a new + * thread will be created and added to the pool. Threads that have + * not been used for sixty seconds are terminated and removed from + * the cache. Thus, a pool that remains idle for long enough will + * not consume any resources. Note that pools with similar + * properties but different details (for example, timeout parameters) + * may be created using {@link ThreadPoolExecutor} constructors. + * + * @return the newly created thread pool + */ + public static ExecutorService newCachedThreadPool() { + return new ThreadPoolExecutor(0, Integer.MAX_VALUE, + 60L, TimeUnit.SECONDS, + new SynchronousQueue()); + } + + /** + * Creates a thread pool that creates new threads as needed, but + * will reuse previously constructed threads when they are + * available, and uses the provided + * ThreadFactory to create new threads when needed. + * @param threadFactory the factory to use when creating new threads + * @return the newly created thread pool + * @throws NullPointerException if threadFactory is null + */ + public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory) { + return new ThreadPoolExecutor(0, Integer.MAX_VALUE, + 60L, TimeUnit.SECONDS, + new SynchronousQueue(), + threadFactory); + } + + /** + * Creates a single-threaded executor that can schedule commands + * to run after a given delay, or to execute periodically. + * (Note however that if this single + * thread terminates due to a failure during execution prior to + * shutdown, a new one will take its place if needed to execute + * subsequent tasks.) Tasks are guaranteed to execute + * sequentially, and no more than one task will be active at any + * given time. Unlike the otherwise equivalent + * newScheduledThreadPool(1) the returned executor is + * guaranteed not to be reconfigurable to use additional threads. + * @return the newly created scheduled executor + */ + public static ScheduledExecutorService newSingleThreadScheduledExecutor() { + return new DelegatedScheduledExecutorService + (new ScheduledThreadPoolExecutor(1)); + } + + /** + * Creates a single-threaded executor that can schedule commands + * to run after a given delay, or to execute periodically. (Note + * however that if this single thread terminates due to a failure + * during execution prior to shutdown, a new one will take its + * place if needed to execute subsequent tasks.) Tasks are + * guaranteed to execute sequentially, and no more than one task + * will be active at any given time. Unlike the otherwise + * equivalent newScheduledThreadPool(1, threadFactory) + * the returned executor is guaranteed not to be reconfigurable to + * use additional threads. + * @param threadFactory the factory to use when creating new + * threads + * @return a newly created scheduled executor + * @throws NullPointerException if threadFactory is null + */ + public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory) { + return new DelegatedScheduledExecutorService + (new ScheduledThreadPoolExecutor(1, threadFactory)); + } + + /** + * Creates a thread pool that can schedule commands to run after a + * given delay, or to execute periodically. + * @param corePoolSize the number of threads to keep in the pool, + * even if they are idle. + * @return a newly created scheduled thread pool + * @throws IllegalArgumentException if corePoolSize < 0 + */ + public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) { + return new ScheduledThreadPoolExecutor(corePoolSize); + } + + /** + * Creates a thread pool that can schedule commands to run after a + * given delay, or to execute periodically. + * @param corePoolSize the number of threads to keep in the pool, + * even if they are idle. + * @param threadFactory the factory to use when the executor + * creates a new thread. + * @return a newly created scheduled thread pool + * @throws IllegalArgumentException if corePoolSize < 0 + * @throws NullPointerException if threadFactory is null + */ + public static ScheduledExecutorService newScheduledThreadPool( + int corePoolSize, ThreadFactory threadFactory) { + return new ScheduledThreadPoolExecutor(corePoolSize, threadFactory); + } + + + /** + * Returns an object that delegates all defined {@link + * ExecutorService} methods to the given executor, but not any + * other methods that might otherwise be accessible using + * casts. This provides a way to safely "freeze" configuration and + * disallow tuning of a given concrete implementation. + * @param executor the underlying implementation + * @return an ExecutorService instance + * @throws NullPointerException if executor null + */ + public static ExecutorService unconfigurableExecutorService(ExecutorService executor) { + if (executor == null) + throw new NullPointerException(); + return new DelegatedExecutorService(executor); + } + + /** + * Returns an object that delegates all defined {@link + * ScheduledExecutorService} methods to the given executor, but + * not any other methods that might otherwise be accessible using + * casts. This provides a way to safely "freeze" configuration and + * disallow tuning of a given concrete implementation. + * @param executor the underlying implementation + * @return a ScheduledExecutorService instance + * @throws NullPointerException if executor null + */ + public static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor) { + if (executor == null) + throw new NullPointerException(); + return new DelegatedScheduledExecutorService(executor); + } + + /** + * Returns a default thread factory used to create new threads. + * This factory creates all new threads used by an Executor in the + * same {@link ThreadGroup}. If there is a {@link + * java.lang.SecurityManager}, it uses the group of {@link + * System#getSecurityManager}, else the group of the thread + * invoking this defaultThreadFactory method. Each new + * thread is created as a non-daemon thread with priority set to + * the smaller of Thread.NORM_PRIORITY and the maximum + * priority permitted in the thread group. New threads have names + * accessible via {@link Thread#getName} of + * pool-N-thread-M, where N is the sequence + * number of this factory, and M is the sequence number + * of the thread created by this factory. + * @return a thread factory + */ + public static ThreadFactory defaultThreadFactory() { + return new DefaultThreadFactory(); + } + + /** + * Returns a thread factory used to create new threads that + * have the same permissions as the current thread. + * This factory creates threads with the same settings as {@link + * Executors#defaultThreadFactory}, additionally setting the + * AccessControlContext and contextClassLoader of new threads to + * be the same as the thread invoking this + * privilegedThreadFactory method. A new + * privilegedThreadFactory can be created within an + * {@link AccessController#doPrivileged} action setting the + * current thread's access control context to create threads with + * the selected permission settings holding within that action. + * + *

Note that while tasks running within such threads will have + * the same access control and class loader settings as the + * current thread, they need not have the same {@link + * java.lang.ThreadLocal} or {@link + * java.lang.InheritableThreadLocal} values. If necessary, + * particular values of thread locals can be set or reset before + * any task runs in {@link ThreadPoolExecutor} subclasses using + * {@link ThreadPoolExecutor#beforeExecute}. Also, if it is + * necessary to initialize worker threads to have the same + * InheritableThreadLocal settings as some other designated + * thread, you can create a custom ThreadFactory in which that + * thread waits for and services requests to create others that + * will inherit its values. + * + * @return a thread factory + * @throws AccessControlException if the current access control + * context does not have permission to both get and set context + * class loader. + */ + public static ThreadFactory privilegedThreadFactory() { + return new PrivilegedThreadFactory(); + } + + /** + * Returns a {@link Callable} object that, when + * called, runs the given task and returns the given result. This + * can be useful when applying methods requiring a + * Callable to an otherwise resultless action. + * @param task the task to run + * @param result the result to return + * @return a callable object + * @throws NullPointerException if task null + */ + public static Callable callable(Runnable task, T result) { + if (task == null) + throw new NullPointerException(); + return new RunnableAdapter(task, result); + } + + /** + * Returns a {@link Callable} object that, when + * called, runs the given task and returns null. + * @param task the task to run + * @return a callable object + * @throws NullPointerException if task null + */ + public static Callable callable(Runnable task) { + if (task == null) + throw new NullPointerException(); + return new RunnableAdapter(task, null); + } + + /** + * Returns a {@link Callable} object that, when + * called, runs the given privileged action and returns its result. + * @param action the privileged action to run + * @return a callable object + * @throws NullPointerException if action null + */ + public static Callable callable(final PrivilegedAction action) { + if (action == null) + throw new NullPointerException(); + return new Callable() { + public Object call() { return action.run(); }}; + } + + /** + * Returns a {@link Callable} object that, when + * called, runs the given privileged exception action and returns + * its result. + * @param action the privileged exception action to run + * @return a callable object + * @throws NullPointerException if action null + */ + public static Callable callable(final PrivilegedExceptionAction action) { + if (action == null) + throw new NullPointerException(); + return new Callable() { + public Object call() throws Exception { return action.run(); }}; + } + + /** + * Returns a {@link Callable} object that will, when + * called, execute the given callable under the current + * access control context. This method should normally be + * invoked within an {@link AccessController#doPrivileged} action + * to create callables that will, if possible, execute under the + * selected permission settings holding within that action; or if + * not possible, throw an associated {@link + * AccessControlException}. + * @param callable the underlying task + * @return a callable object + * @throws NullPointerException if callable null + * + */ + public static Callable privilegedCallable(Callable callable) { + if (callable == null) + throw new NullPointerException(); + return new PrivilegedCallable(callable); + } + + /** + * Returns a {@link Callable} object that will, when + * called, execute the given callable under the current + * access control context, with the current context class loader + * as the context class loader. This method should normally be + * invoked within an {@link AccessController#doPrivileged} action + * to create callables that will, if possible, execute under the + * selected permission settings holding within that action; or if + * not possible, throw an associated {@link + * AccessControlException}. + * @param callable the underlying task + * + * @return a callable object + * @throws NullPointerException if callable null + * @throws AccessControlException if the current access control + * context does not have permission to both set and get context + * class loader. + */ + public static Callable privilegedCallableUsingCurrentClassLoader(Callable callable) { + if (callable == null) + throw new NullPointerException(); + return new PrivilegedCallableUsingCurrentClassLoader(callable); + } + + // Non-public classes supporting the public methods + + /** + * A callable that runs given task and returns given result + */ + static final class RunnableAdapter implements Callable { + final Runnable task; + final T result; + RunnableAdapter(Runnable task, T result) { + this.task = task; + this.result = result; + } + public T call() { + task.run(); + return result; + } + } + + /** + * A callable that runs under established access control settings + */ + static final class PrivilegedCallable implements Callable { + private final AccessControlContext acc; + private final Callable task; + private T result; + private Exception exception; + PrivilegedCallable(Callable task) { + this.task = task; + this.acc = AccessController.getContext(); + } + + public T call() throws Exception { + AccessController.doPrivileged(new PrivilegedAction() { + public T run() { + try { + result = task.call(); + } catch (Exception ex) { + exception = ex; + } + return null; + } + }, acc); + if (exception != null) + throw exception; + else + return result; + } + } + + /** + * A callable that runs under established access control settings and + * current ClassLoader + */ + static final class PrivilegedCallableUsingCurrentClassLoader implements Callable { + private final ClassLoader ccl; + private final AccessControlContext acc; + private final Callable task; + private T result; + private Exception exception; + PrivilegedCallableUsingCurrentClassLoader(Callable task) { + this.task = task; + this.ccl = Thread.currentThread().getContextClassLoader(); + this.acc = AccessController.getContext(); + acc.checkPermission(new RuntimePermission("getContextClassLoader")); + acc.checkPermission(new RuntimePermission("setContextClassLoader")); + } + + public T call() throws Exception { + AccessController.doPrivileged(new PrivilegedAction() { + public T run() { + ClassLoader savedcl = null; + Thread t = Thread.currentThread(); + try { + ClassLoader cl = t.getContextClassLoader(); + if (ccl != cl) { + t.setContextClassLoader(ccl); + savedcl = cl; + } + result = task.call(); + } catch (Exception ex) { + exception = ex; + } finally { + if (savedcl != null) + t.setContextClassLoader(savedcl); + } + return null; + } + }, acc); + if (exception != null) + throw exception; + else + return result; + } + } + + /** + * The default thread factory + */ + static class DefaultThreadFactory implements ThreadFactory { + static final AtomicInteger poolNumber = new AtomicInteger(1); + final ThreadGroup group; + final AtomicInteger threadNumber = new AtomicInteger(1); + final String namePrefix; + + DefaultThreadFactory() { + SecurityManager s = System.getSecurityManager(); + group = (s != null)? s.getThreadGroup() : + Thread.currentThread().getThreadGroup(); + namePrefix = "pool-" + + poolNumber.getAndIncrement() + + "-thread-"; + } + + public Thread newThread(Runnable r) { + Thread t = new Thread(group, r, + namePrefix + threadNumber.getAndIncrement(), + 0); + if (t.isDaemon()) + t.setDaemon(false); + if (t.getPriority() != Thread.NORM_PRIORITY) + t.setPriority(Thread.NORM_PRIORITY); + return t; + } + } + + /** + * Thread factory capturing access control and class loader + */ + static class PrivilegedThreadFactory extends DefaultThreadFactory { + private final ClassLoader ccl; + private final AccessControlContext acc; + + PrivilegedThreadFactory() { + super(); + this.ccl = Thread.currentThread().getContextClassLoader(); + this.acc = AccessController.getContext(); + acc.checkPermission(new RuntimePermission("setContextClassLoader")); + } + + public Thread newThread(final Runnable r) { + return super.newThread(new Runnable() { + public void run() { + AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + Thread.currentThread().setContextClassLoader(ccl); + r.run(); + return null; + } + }, acc); + } + }); + } + + } + + /** + * A wrapper class that exposes only the ExecutorService methods + * of an ExecutorService implementation. + */ + static class DelegatedExecutorService extends AbstractExecutorService { + private final ExecutorService e; + DelegatedExecutorService(ExecutorService executor) { e = executor; } + public void execute(Runnable command) { e.execute(command); } + public void shutdown() { e.shutdown(); } + public List shutdownNow() { return e.shutdownNow(); } + public boolean isShutdown() { return e.isShutdown(); } + public boolean isTerminated() { return e.isTerminated(); } + public boolean awaitTermination(long timeout, TimeUnit unit) + throws InterruptedException { + return e.awaitTermination(timeout, unit); + } + public Future submit(Runnable task) { + return e.submit(task); + } + public Future submit(Callable task) { + return e.submit(task); + } + public Future submit(Runnable task, T result) { + return e.submit(task, result); + } + public List> invokeAll(Collection> tasks) + throws InterruptedException { + return e.invokeAll(tasks); + } + public List> invokeAll(Collection> tasks, + long timeout, TimeUnit unit) + throws InterruptedException { + return e.invokeAll(tasks, timeout, unit); + } + public T invokeAny(Collection> tasks) + throws InterruptedException, ExecutionException { + return e.invokeAny(tasks); + } + public T invokeAny(Collection> tasks, + long timeout, TimeUnit unit) + throws InterruptedException, ExecutionException, TimeoutException { + return e.invokeAny(tasks, timeout, unit); + } + } + + static class FinalizableDelegatedExecutorService + extends DelegatedExecutorService { + FinalizableDelegatedExecutorService(ExecutorService executor) { + super(executor); + } + protected void finalize() { + super.shutdown(); + } + } + + /** + * A wrapper class that exposes only the ScheduledExecutorService + * methods of a ScheduledExecutorService implementation. + */ + static class DelegatedScheduledExecutorService + extends DelegatedExecutorService + implements ScheduledExecutorService { + private final ScheduledExecutorService e; + DelegatedScheduledExecutorService(ScheduledExecutorService executor) { + super(executor); + e = executor; + } + public ScheduledFuture schedule(Runnable command, long delay, TimeUnit unit) { + return e.schedule(command, delay, unit); + } + public ScheduledFuture schedule(Callable callable, long delay, TimeUnit unit) { + return e.schedule(callable, delay, unit); + } + public ScheduledFuture scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) { + return e.scheduleAtFixedRate(command, initialDelay, period, unit); + } + public ScheduledFuture scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) { + return e.scheduleWithFixedDelay(command, initialDelay, delay, unit); + } + } + + + /** Cannot instantiate. */ + private Executors() {} +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Future.java b/libjava/classpath/external/jsr166/java/util/concurrent/Future.java new file mode 100644 index 00000000000..0459ee453f0 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Future.java @@ -0,0 +1,142 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A Future represents the result of an asynchronous + * computation. Methods are provided to check if the computation is + * complete, to wait for its completion, and to retrieve the result of + * the computation. The result can only be retrieved using method + * get when the computation has completed, blocking if + * necessary until it is ready. Cancellation is performed by the + * cancel method. Additional methods are provided to + * determine if the task completed normally or was cancelled. Once a + * computation has completed, the computation cannot be cancelled. + * If you would like to use a Future for the sake + * of cancellability but not provide a usable result, you can + * declare types of the form Future<?> and + * return null as a result of the underlying task. + * + *

+ * Sample Usage (Note that the following classes are all + * made-up.)

+ *

+ * interface ArchiveSearcher { String search(String target); }
+ * class App {
+ *   ExecutorService executor = ...
+ *   ArchiveSearcher searcher = ...
+ *   void showSearch(final String target)
+ *       throws InterruptedException {
+ *     Future<String> future
+ *       = executor.submit(new Callable<String>() {
+ *         public String call() {
+ *             return searcher.search(target);
+ *         }});
+ *     displayOtherThings(); // do other things while searching
+ *     try {
+ *       displayText(future.get()); // use future
+ *     } catch (ExecutionException ex) { cleanup(); return; }
+ *   }
+ * }
+ * 
+ * + * The {@link FutureTask} class is an implementation of Future that + * implements Runnable, and so may be executed by an Executor. + * For example, the above construction with submit could be replaced by: + *
+ *     FutureTask<String> future =
+ *       new FutureTask<String>(new Callable<String>() {
+ *         public String call() {
+ *           return searcher.search(target);
+ *       }});
+ *     executor.execute(future);
+ * 
+ * + *

Memory consistency effects: Actions taken by the asynchronous computation + * happen-before + * actions following the corresponding {@code Future.get()} in another thread. + * + * @see FutureTask + * @see Executor + * @since 1.5 + * @author Doug Lea + * @param The result type returned by this Future's get method + */ +public interface Future { + + /** + * Attempts to cancel execution of this task. This attempt will + * fail if the task has already completed, has already been cancelled, + * or could not be cancelled for some other reason. If successful, + * and this task has not started when cancel is called, + * this task should never run. If the task has already started, + * then the mayInterruptIfRunning parameter determines + * whether the thread executing this task should be interrupted in + * an attempt to stop the task. + * + *

After this method returns, subsequent calls to {@link #isDone} will + * always return true. Subsequent calls to {@link #isCancelled} + * will always return true if this method returned true. + * + * @param mayInterruptIfRunning true if the thread executing this + * task should be interrupted; otherwise, in-progress tasks are allowed + * to complete + * @return false if the task could not be cancelled, + * typically because it has already completed normally; + * true otherwise + */ + boolean cancel(boolean mayInterruptIfRunning); + + /** + * Returns true if this task was cancelled before it completed + * normally. + * + * @return true if this task was cancelled before it completed + */ + boolean isCancelled(); + + /** + * Returns true if this task completed. + * + * Completion may be due to normal termination, an exception, or + * cancellation -- in all of these cases, this method will return + * true. + * + * @return true if this task completed + */ + boolean isDone(); + + /** + * Waits if necessary for the computation to complete, and then + * retrieves its result. + * + * @return the computed result + * @throws CancellationException if the computation was cancelled + * @throws ExecutionException if the computation threw an + * exception + * @throws InterruptedException if the current thread was interrupted + * while waiting + */ + V get() throws InterruptedException, ExecutionException; + + /** + * Waits if necessary for at most the given time for the computation + * to complete, and then retrieves its result, if available. + * + * @param timeout the maximum time to wait + * @param unit the time unit of the timeout argument + * @return the computed result + * @throws CancellationException if the computation was cancelled + * @throws ExecutionException if the computation threw an + * exception + * @throws InterruptedException if the current thread was interrupted + * while waiting + * @throws TimeoutException if the wait timed out + */ + V get(long timeout, TimeUnit unit) + throws InterruptedException, ExecutionException, TimeoutException; +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/FutureTask.java b/libjava/classpath/external/jsr166/java/util/concurrent/FutureTask.java new file mode 100644 index 00000000000..bbe49d7aed0 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/FutureTask.java @@ -0,0 +1,325 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; + +/** + * A cancellable asynchronous computation. This class provides a base + * implementation of {@link Future}, with methods to start and cancel + * a computation, query to see if the computation is complete, and + * retrieve the result of the computation. The result can only be + * retrieved when the computation has completed; the get + * method will block if the computation has not yet completed. Once + * the computation has completed, the computation cannot be restarted + * or cancelled. + * + *

A FutureTask can be used to wrap a {@link Callable} or + * {@link java.lang.Runnable} object. Because FutureTask + * implements Runnable, a FutureTask can be + * submitted to an {@link Executor} for execution. + * + *

In addition to serving as a standalone class, this class provides + * protected functionality that may be useful when creating + * customized task classes. + * + * @since 1.5 + * @author Doug Lea + * @param The result type returned by this FutureTask's get method + */ +public class FutureTask implements RunnableFuture { + /** Synchronization control for FutureTask */ + private final Sync sync; + + /** + * Creates a FutureTask that will upon running, execute the + * given Callable. + * + * @param callable the callable task + * @throws NullPointerException if callable is null + */ + public FutureTask(Callable callable) { + if (callable == null) + throw new NullPointerException(); + sync = new Sync(callable); + } + + /** + * Creates a FutureTask that will upon running, execute the + * given Runnable, and arrange that get will return the + * given result on successful completion. + * + * @param runnable the runnable task + * @param result the result to return on successful completion. If + * you don't need a particular result, consider using + * constructions of the form: + * Future<?> f = new FutureTask<Object>(runnable, null) + * @throws NullPointerException if runnable is null + */ + public FutureTask(Runnable runnable, V result) { + sync = new Sync(Executors.callable(runnable, result)); + } + + public boolean isCancelled() { + return sync.innerIsCancelled(); + } + + public boolean isDone() { + return sync.innerIsDone(); + } + + public boolean cancel(boolean mayInterruptIfRunning) { + return sync.innerCancel(mayInterruptIfRunning); + } + + /** + * @throws CancellationException {@inheritDoc} + */ + public V get() throws InterruptedException, ExecutionException { + return sync.innerGet(); + } + + /** + * @throws CancellationException {@inheritDoc} + */ + public V get(long timeout, TimeUnit unit) + throws InterruptedException, ExecutionException, TimeoutException { + return sync.innerGet(unit.toNanos(timeout)); + } + + /** + * Protected method invoked when this task transitions to state + * isDone (whether normally or via cancellation). The + * default implementation does nothing. Subclasses may override + * this method to invoke completion callbacks or perform + * bookkeeping. Note that you can query status inside the + * implementation of this method to determine whether this task + * has been cancelled. + */ + protected void done() { } + + /** + * Sets the result of this Future to the given value unless + * this future has already been set or has been cancelled. + * This method is invoked internally by the run method + * upon successful completion of the computation. + * @param v the value + */ + protected void set(V v) { + sync.innerSet(v); + } + + /** + * Causes this future to report an ExecutionException + * with the given throwable as its cause, unless this Future has + * already been set or has been cancelled. + * This method is invoked internally by the run method + * upon failure of the computation. + * @param t the cause of failure + */ + protected void setException(Throwable t) { + sync.innerSetException(t); + } + + // The following (duplicated) doc comment can be removed once + // + // 6270645: Javadoc comments should be inherited from most derived + // superinterface or superclass + // is fixed. + /** + * Sets this Future to the result of its computation + * unless it has been cancelled. + */ + public void run() { + sync.innerRun(); + } + + /** + * Executes the computation without setting its result, and then + * resets this Future to initial state, failing to do so if the + * computation encounters an exception or is cancelled. This is + * designed for use with tasks that intrinsically execute more + * than once. + * @return true if successfully run and reset + */ + protected boolean runAndReset() { + return sync.innerRunAndReset(); + } + + /** + * Synchronization control for FutureTask. Note that this must be + * a non-static inner class in order to invoke the protected + * done method. For clarity, all inner class support + * methods are same as outer, prefixed with "inner". + * + * Uses AQS sync state to represent run status + */ + private final class Sync extends AbstractQueuedSynchronizer { + private static final long serialVersionUID = -7828117401763700385L; + + /** State value representing that task is running */ + private static final int RUNNING = 1; + /** State value representing that task ran */ + private static final int RAN = 2; + /** State value representing that task was cancelled */ + private static final int CANCELLED = 4; + + /** The underlying callable */ + private final Callable callable; + /** The result to return from get() */ + private V result; + /** The exception to throw from get() */ + private Throwable exception; + + /** + * The thread running task. When nulled after set/cancel, this + * indicates that the results are accessible. Must be + * volatile, to ensure visibility upon completion. + */ + private volatile Thread runner; + + Sync(Callable callable) { + this.callable = callable; + } + + private boolean ranOrCancelled(int state) { + return (state & (RAN | CANCELLED)) != 0; + } + + /** + * Implements AQS base acquire to succeed if ran or cancelled + */ + protected int tryAcquireShared(int ignore) { + return innerIsDone()? 1 : -1; + } + + /** + * Implements AQS base release to always signal after setting + * final done status by nulling runner thread. + */ + protected boolean tryReleaseShared(int ignore) { + runner = null; + return true; + } + + boolean innerIsCancelled() { + return getState() == CANCELLED; + } + + boolean innerIsDone() { + return ranOrCancelled(getState()) && runner == null; + } + + V innerGet() throws InterruptedException, ExecutionException { + acquireSharedInterruptibly(0); + if (getState() == CANCELLED) + throw new CancellationException(); + if (exception != null) + throw new ExecutionException(exception); + return result; + } + + V innerGet(long nanosTimeout) throws InterruptedException, ExecutionException, TimeoutException { + if (!tryAcquireSharedNanos(0, nanosTimeout)) + throw new TimeoutException(); + if (getState() == CANCELLED) + throw new CancellationException(); + if (exception != null) + throw new ExecutionException(exception); + return result; + } + + void innerSet(V v) { + for (;;) { + int s = getState(); + if (s == RAN) + return; + if (s == CANCELLED) { + // aggressively release to set runner to null, + // in case we are racing with a cancel request + // that will try to interrupt runner + releaseShared(0); + return; + } + if (compareAndSetState(s, RAN)) { + result = v; + releaseShared(0); + done(); + return; + } + } + } + + void innerSetException(Throwable t) { + for (;;) { + int s = getState(); + if (s == RAN) + return; + if (s == CANCELLED) { + // aggressively release to set runner to null, + // in case we are racing with a cancel request + // that will try to interrupt runner + releaseShared(0); + return; + } + if (compareAndSetState(s, RAN)) { + exception = t; + result = null; + releaseShared(0); + done(); + return; + } + } + } + + boolean innerCancel(boolean mayInterruptIfRunning) { + for (;;) { + int s = getState(); + if (ranOrCancelled(s)) + return false; + if (compareAndSetState(s, CANCELLED)) + break; + } + if (mayInterruptIfRunning) { + Thread r = runner; + if (r != null) + r.interrupt(); + } + releaseShared(0); + done(); + return true; + } + + void innerRun() { + if (!compareAndSetState(0, RUNNING)) + return; + try { + runner = Thread.currentThread(); + if (getState() == RUNNING) // recheck after setting thread + innerSet(callable.call()); + else + releaseShared(0); // cancel + } catch (Throwable ex) { + innerSetException(ex); + } + } + + boolean innerRunAndReset() { + if (!compareAndSetState(0, RUNNING)) + return false; + try { + runner = Thread.currentThread(); + if (getState() == RUNNING) + callable.call(); // don't set result + runner = null; + return compareAndSetState(RUNNING, 0); + } catch (Throwable ex) { + innerSetException(ex); + return false; + } + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingDeque.java b/libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingDeque.java new file mode 100644 index 00000000000..91acccfbe8c --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingDeque.java @@ -0,0 +1,1021 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; +import java.util.concurrent.locks.*; + +/** + * An optionally-bounded {@linkplain BlockingDeque blocking deque} based on + * linked nodes. + * + *

The optional capacity bound constructor argument serves as a + * way to prevent excessive expansion. The capacity, if unspecified, + * is equal to {@link Integer#MAX_VALUE}. Linked nodes are + * dynamically created upon each insertion unless this would bring the + * deque above capacity. + * + *

Most operations run in constant time (ignoring time spent + * blocking). Exceptions include {@link #remove(Object) remove}, + * {@link #removeFirstOccurrence removeFirstOccurrence}, {@link + * #removeLastOccurrence removeLastOccurrence}, {@link #contains + * contains}, {@link #iterator iterator.remove()}, and the bulk + * operations, all of which run in linear time. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.6 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public class LinkedBlockingDeque + extends AbstractQueue + implements BlockingDeque, java.io.Serializable { + + /* + * Implemented as a simple doubly-linked list protected by a + * single lock and using conditions to manage blocking. + */ + + /* + * We have "diamond" multiple interface/abstract class inheritance + * here, and that introduces ambiguities. Often we want the + * BlockingDeque javadoc combined with the AbstractQueue + * implementation, so a lot of method specs are duplicated here. + */ + + private static final long serialVersionUID = -387911632671998426L; + + /** Doubly-linked list node class */ + static final class Node { + E item; + Node prev; + Node next; + Node(E x, Node p, Node n) { + item = x; + prev = p; + next = n; + } + } + + /** Pointer to first node */ + private transient Node first; + /** Pointer to last node */ + private transient Node last; + /** Number of items in the deque */ + private transient int count; + /** Maximum number of items in the deque */ + private final int capacity; + /** Main lock guarding all access */ + private final ReentrantLock lock = new ReentrantLock(); + /** Condition for waiting takes */ + private final Condition notEmpty = lock.newCondition(); + /** Condition for waiting puts */ + private final Condition notFull = lock.newCondition(); + + /** + * Creates a LinkedBlockingDeque with a capacity of + * {@link Integer#MAX_VALUE}. + */ + public LinkedBlockingDeque() { + this(Integer.MAX_VALUE); + } + + /** + * Creates a LinkedBlockingDeque with the given (fixed) capacity. + * + * @param capacity the capacity of this deque + * @throws IllegalArgumentException if capacity is less than 1 + */ + public LinkedBlockingDeque(int capacity) { + if (capacity <= 0) throw new IllegalArgumentException(); + this.capacity = capacity; + } + + /** + * Creates a LinkedBlockingDeque with a capacity of + * {@link Integer#MAX_VALUE}, initially containing the elements of + * the given collection, added in traversal order of the + * collection's iterator. + * + * @param c the collection of elements to initially contain + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public LinkedBlockingDeque(Collection c) { + this(Integer.MAX_VALUE); + for (E e : c) + add(e); + } + + + // Basic linking and unlinking operations, called only while holding lock + + /** + * Links e as first element, or returns false if full. + */ + private boolean linkFirst(E e) { + if (count >= capacity) + return false; + ++count; + Node f = first; + Node x = new Node(e, null, f); + first = x; + if (last == null) + last = x; + else + f.prev = x; + notEmpty.signal(); + return true; + } + + /** + * Links e as last element, or returns false if full. + */ + private boolean linkLast(E e) { + if (count >= capacity) + return false; + ++count; + Node l = last; + Node x = new Node(e, l, null); + last = x; + if (first == null) + first = x; + else + l.next = x; + notEmpty.signal(); + return true; + } + + /** + * Removes and returns first element, or null if empty. + */ + private E unlinkFirst() { + Node f = first; + if (f == null) + return null; + Node n = f.next; + first = n; + if (n == null) + last = null; + else + n.prev = null; + --count; + notFull.signal(); + return f.item; + } + + /** + * Removes and returns last element, or null if empty. + */ + private E unlinkLast() { + Node l = last; + if (l == null) + return null; + Node p = l.prev; + last = p; + if (p == null) + first = null; + else + p.next = null; + --count; + notFull.signal(); + return l.item; + } + + /** + * Unlink e + */ + private void unlink(Node x) { + Node p = x.prev; + Node n = x.next; + if (p == null) { + if (n == null) + first = last = null; + else { + n.prev = null; + first = n; + } + } else if (n == null) { + p.next = null; + last = p; + } else { + p.next = n; + n.prev = p; + } + --count; + notFull.signalAll(); + } + + // BlockingDeque methods + + /** + * @throws IllegalStateException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public void addFirst(E e) { + if (!offerFirst(e)) + throw new IllegalStateException("Deque full"); + } + + /** + * @throws IllegalStateException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public void addLast(E e) { + if (!offerLast(e)) + throw new IllegalStateException("Deque full"); + } + + /** + * @throws NullPointerException {@inheritDoc} + */ + public boolean offerFirst(E e) { + if (e == null) throw new NullPointerException(); + lock.lock(); + try { + return linkFirst(e); + } finally { + lock.unlock(); + } + } + + /** + * @throws NullPointerException {@inheritDoc} + */ + public boolean offerLast(E e) { + if (e == null) throw new NullPointerException(); + lock.lock(); + try { + return linkLast(e); + } finally { + lock.unlock(); + } + } + + /** + * @throws NullPointerException {@inheritDoc} + * @throws InterruptedException {@inheritDoc} + */ + public void putFirst(E e) throws InterruptedException { + if (e == null) throw new NullPointerException(); + lock.lock(); + try { + while (!linkFirst(e)) + notFull.await(); + } finally { + lock.unlock(); + } + } + + /** + * @throws NullPointerException {@inheritDoc} + * @throws InterruptedException {@inheritDoc} + */ + public void putLast(E e) throws InterruptedException { + if (e == null) throw new NullPointerException(); + lock.lock(); + try { + while (!linkLast(e)) + notFull.await(); + } finally { + lock.unlock(); + } + } + + /** + * @throws NullPointerException {@inheritDoc} + * @throws InterruptedException {@inheritDoc} + */ + public boolean offerFirst(E e, long timeout, TimeUnit unit) + throws InterruptedException { + if (e == null) throw new NullPointerException(); + long nanos = unit.toNanos(timeout); + lock.lockInterruptibly(); + try { + for (;;) { + if (linkFirst(e)) + return true; + if (nanos <= 0) + return false; + nanos = notFull.awaitNanos(nanos); + } + } finally { + lock.unlock(); + } + } + + /** + * @throws NullPointerException {@inheritDoc} + * @throws InterruptedException {@inheritDoc} + */ + public boolean offerLast(E e, long timeout, TimeUnit unit) + throws InterruptedException { + if (e == null) throw new NullPointerException(); + long nanos = unit.toNanos(timeout); + lock.lockInterruptibly(); + try { + for (;;) { + if (linkLast(e)) + return true; + if (nanos <= 0) + return false; + nanos = notFull.awaitNanos(nanos); + } + } finally { + lock.unlock(); + } + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E removeFirst() { + E x = pollFirst(); + if (x == null) throw new NoSuchElementException(); + return x; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E removeLast() { + E x = pollLast(); + if (x == null) throw new NoSuchElementException(); + return x; + } + + public E pollFirst() { + lock.lock(); + try { + return unlinkFirst(); + } finally { + lock.unlock(); + } + } + + public E pollLast() { + lock.lock(); + try { + return unlinkLast(); + } finally { + lock.unlock(); + } + } + + public E takeFirst() throws InterruptedException { + lock.lock(); + try { + E x; + while ( (x = unlinkFirst()) == null) + notEmpty.await(); + return x; + } finally { + lock.unlock(); + } + } + + public E takeLast() throws InterruptedException { + lock.lock(); + try { + E x; + while ( (x = unlinkLast()) == null) + notEmpty.await(); + return x; + } finally { + lock.unlock(); + } + } + + public E pollFirst(long timeout, TimeUnit unit) + throws InterruptedException { + long nanos = unit.toNanos(timeout); + lock.lockInterruptibly(); + try { + for (;;) { + E x = unlinkFirst(); + if (x != null) + return x; + if (nanos <= 0) + return null; + nanos = notEmpty.awaitNanos(nanos); + } + } finally { + lock.unlock(); + } + } + + public E pollLast(long timeout, TimeUnit unit) + throws InterruptedException { + long nanos = unit.toNanos(timeout); + lock.lockInterruptibly(); + try { + for (;;) { + E x = unlinkLast(); + if (x != null) + return x; + if (nanos <= 0) + return null; + nanos = notEmpty.awaitNanos(nanos); + } + } finally { + lock.unlock(); + } + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E getFirst() { + E x = peekFirst(); + if (x == null) throw new NoSuchElementException(); + return x; + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E getLast() { + E x = peekLast(); + if (x == null) throw new NoSuchElementException(); + return x; + } + + public E peekFirst() { + lock.lock(); + try { + return (first == null) ? null : first.item; + } finally { + lock.unlock(); + } + } + + public E peekLast() { + lock.lock(); + try { + return (last == null) ? null : last.item; + } finally { + lock.unlock(); + } + } + + public boolean removeFirstOccurrence(Object o) { + if (o == null) return false; + lock.lock(); + try { + for (Node p = first; p != null; p = p.next) { + if (o.equals(p.item)) { + unlink(p); + return true; + } + } + return false; + } finally { + lock.unlock(); + } + } + + public boolean removeLastOccurrence(Object o) { + if (o == null) return false; + lock.lock(); + try { + for (Node p = last; p != null; p = p.prev) { + if (o.equals(p.item)) { + unlink(p); + return true; + } + } + return false; + } finally { + lock.unlock(); + } + } + + // BlockingQueue methods + + /** + * Inserts the specified element at the end of this deque unless it would + * violate capacity restrictions. When using a capacity-restricted deque, + * it is generally preferable to use method {@link #offer(Object) offer}. + * + *

This method is equivalent to {@link #addLast}. + * + * @throws IllegalStateException if the element cannot be added at this + * time due to capacity restrictions + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + addLast(e); + return true; + } + + /** + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + return offerLast(e); + } + + /** + * @throws NullPointerException {@inheritDoc} + * @throws InterruptedException {@inheritDoc} + */ + public void put(E e) throws InterruptedException { + putLast(e); + } + + /** + * @throws NullPointerException {@inheritDoc} + * @throws InterruptedException {@inheritDoc} + */ + public boolean offer(E e, long timeout, TimeUnit unit) + throws InterruptedException { + return offerLast(e, timeout, unit); + } + + /** + * Retrieves and removes the head of the queue represented by this deque. + * This method differs from {@link #poll poll} only in that it throws an + * exception if this deque is empty. + * + *

This method is equivalent to {@link #removeFirst() removeFirst}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException if this deque is empty + */ + public E remove() { + return removeFirst(); + } + + public E poll() { + return pollFirst(); + } + + public E take() throws InterruptedException { + return takeFirst(); + } + + public E poll(long timeout, TimeUnit unit) throws InterruptedException { + return pollFirst(timeout, unit); + } + + /** + * Retrieves, but does not remove, the head of the queue represented by + * this deque. This method differs from {@link #peek peek} only in that + * it throws an exception if this deque is empty. + * + *

This method is equivalent to {@link #getFirst() getFirst}. + * + * @return the head of the queue represented by this deque + * @throws NoSuchElementException if this deque is empty + */ + public E element() { + return getFirst(); + } + + public E peek() { + return peekFirst(); + } + + /** + * Returns the number of additional elements that this deque can ideally + * (in the absence of memory or resource constraints) accept without + * blocking. This is always equal to the initial capacity of this deque + * less the current size of this deque. + * + *

Note that you cannot always tell if an attempt to insert + * an element will succeed by inspecting remainingCapacity + * because it may be the case that another thread is about to + * insert or remove an element. + */ + public int remainingCapacity() { + lock.lock(); + try { + return capacity - count; + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + lock.lock(); + try { + for (Node p = first; p != null; p = p.next) + c.add(p.item); + int n = count; + count = 0; + first = last = null; + notFull.signalAll(); + return n; + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c, int maxElements) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + lock.lock(); + try { + int n = 0; + while (n < maxElements && first != null) { + c.add(first.item); + first.prev = null; + first = first.next; + --count; + ++n; + } + if (first == null) + last = null; + notFull.signalAll(); + return n; + } finally { + lock.unlock(); + } + } + + // Stack methods + + /** + * @throws IllegalStateException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public void push(E e) { + addFirst(e); + } + + /** + * @throws NoSuchElementException {@inheritDoc} + */ + public E pop() { + return removeFirst(); + } + + // Collection methods + + /** + * Removes the first occurrence of the specified element from this deque. + * If the deque does not contain the element, it is unchanged. + * More formally, removes the first element e such that + * o.equals(e) (if such an element exists). + * Returns true if this deque contained the specified element + * (or equivalently, if this deque changed as a result of the call). + * + *

This method is equivalent to + * {@link #removeFirstOccurrence(Object) removeFirstOccurrence}. + * + * @param o element to be removed from this deque, if present + * @return true if this deque changed as a result of the call + */ + public boolean remove(Object o) { + return removeFirstOccurrence(o); + } + + /** + * Returns the number of elements in this deque. + * + * @return the number of elements in this deque + */ + public int size() { + lock.lock(); + try { + return count; + } finally { + lock.unlock(); + } + } + + /** + * Returns true if this deque contains the specified element. + * More formally, returns true if and only if this deque contains + * at least one element e such that o.equals(e). + * + * @param o object to be checked for containment in this deque + * @return true if this deque contains the specified element + */ + public boolean contains(Object o) { + if (o == null) return false; + lock.lock(); + try { + for (Node p = first; p != null; p = p.next) + if (o.equals(p.item)) + return true; + return false; + } finally { + lock.unlock(); + } + } + + /** + * Variant of removeFirstOccurrence needed by iterator.remove. + * Searches for the node, not its contents. + */ + boolean removeNode(Node e) { + lock.lock(); + try { + for (Node p = first; p != null; p = p.next) { + if (p == e) { + unlink(p); + return true; + } + } + return false; + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this deque, in + * proper sequence (from first to last element). + * + *

The returned array will be "safe" in that no references to it are + * maintained by this deque. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this deque + */ + public Object[] toArray() { + lock.lock(); + try { + Object[] a = new Object[count]; + int k = 0; + for (Node p = first; p != null; p = p.next) + a[k++] = p.item; + return a; + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this deque, in + * proper sequence; the runtime type of the returned array is that of + * the specified array. If the deque fits in the specified array, it + * is returned therein. Otherwise, a new array is allocated with the + * runtime type of the specified array and the size of this deque. + * + *

If this deque fits in the specified array with room to spare + * (i.e., the array has more elements than this deque), the element in + * the array immediately following the end of the deque is set to + * null. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

Suppose x is a deque known to contain only strings. + * The following code can be used to dump the deque into a newly + * allocated array of String: + * + *

+     *     String[] y = x.toArray(new String[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of the deque are to + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose + * @return an array containing all of the elements in this deque + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this deque + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + lock.lock(); + try { + if (a.length < count) + a = (T[])java.lang.reflect.Array.newInstance( + a.getClass().getComponentType(), + count + ); + + int k = 0; + for (Node p = first; p != null; p = p.next) + a[k++] = (T)p.item; + if (a.length > k) + a[k] = null; + return a; + } finally { + lock.unlock(); + } + } + + public String toString() { + lock.lock(); + try { + return super.toString(); + } finally { + lock.unlock(); + } + } + + /** + * Atomically removes all of the elements from this deque. + * The deque will be empty after this call returns. + */ + public void clear() { + lock.lock(); + try { + first = last = null; + count = 0; + notFull.signalAll(); + } finally { + lock.unlock(); + } + } + + /** + * Returns an iterator over the elements in this deque in proper sequence. + * The elements will be returned in order from first (head) to last (tail). + * The returned Iterator is a "weakly consistent" iterator that + * will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + * @return an iterator over the elements in this deque in proper sequence + */ + public Iterator iterator() { + return new Itr(); + } + + /** + * Returns an iterator over the elements in this deque in reverse + * sequential order. The elements will be returned in order from + * last (tail) to first (head). + * The returned Iterator is a "weakly consistent" iterator that + * will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + */ + public Iterator descendingIterator() { + return new DescendingItr(); + } + + /** + * Base class for Iterators for LinkedBlockingDeque + */ + private abstract class AbstractItr implements Iterator { + /** + * The next node to return in next + */ + Node next; + + /** + * nextItem holds on to item fields because once we claim that + * an element exists in hasNext(), we must return item read + * under lock (in advance()) even if it was in the process of + * being removed when hasNext() was called. + */ + E nextItem; + + /** + * Node returned by most recent call to next. Needed by remove. + * Reset to null if this element is deleted by a call to remove. + */ + private Node lastRet; + + AbstractItr() { + advance(); // set to initial position + } + + /** + * Advances next, or if not yet initialized, sets to first node. + * Implemented to move forward vs backward in the two subclasses. + */ + abstract void advance(); + + public boolean hasNext() { + return next != null; + } + + public E next() { + if (next == null) + throw new NoSuchElementException(); + lastRet = next; + E x = nextItem; + advance(); + return x; + } + + public void remove() { + Node n = lastRet; + if (n == null) + throw new IllegalStateException(); + lastRet = null; + // Note: removeNode rescans looking for this node to make + // sure it was not already removed. Otherwise, trying to + // re-remove could corrupt list. + removeNode(n); + } + } + + /** Forward iterator */ + private class Itr extends AbstractItr { + void advance() { + final ReentrantLock lock = LinkedBlockingDeque.this.lock; + lock.lock(); + try { + next = (next == null)? first : next.next; + nextItem = (next == null)? null : next.item; + } finally { + lock.unlock(); + } + } + } + + /** + * Descending iterator for LinkedBlockingDeque + */ + private class DescendingItr extends AbstractItr { + void advance() { + final ReentrantLock lock = LinkedBlockingDeque.this.lock; + lock.lock(); + try { + next = (next == null)? last : next.prev; + nextItem = (next == null)? null : next.item; + } finally { + lock.unlock(); + } + } + } + + /** + * Save the state of this deque to a stream (that is, serialize it). + * + * @serialData The capacity (int), followed by elements (each an + * Object) in the proper order, followed by a null + * @param s the stream + */ + private void writeObject(java.io.ObjectOutputStream s) + throws java.io.IOException { + lock.lock(); + try { + // Write out capacity and any hidden stuff + s.defaultWriteObject(); + // Write out all elements in the proper order. + for (Node p = first; p != null; p = p.next) + s.writeObject(p.item); + // Use trailing null as sentinel + s.writeObject(null); + } finally { + lock.unlock(); + } + } + + /** + * Reconstitute this deque from a stream (that is, + * deserialize it). + * @param s the stream + */ + private void readObject(java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + s.defaultReadObject(); + count = 0; + first = null; + last = null; + // Read in all elements and place in queue + for (;;) { + E item = (E)s.readObject(); + if (item == null) + break; + add(item); + } + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingQueue.java new file mode 100644 index 00000000000..3dedee56da0 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/LinkedBlockingQueue.java @@ -0,0 +1,807 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.atomic.*; +import java.util.concurrent.locks.*; +import java.util.*; + +/** + * An optionally-bounded {@linkplain BlockingQueue blocking queue} based on + * linked nodes. + * This queue orders elements FIFO (first-in-first-out). + * The head of the queue is that element that has been on the + * queue the longest time. + * The tail of the queue is that element that has been on the + * queue the shortest time. New elements + * are inserted at the tail of the queue, and the queue retrieval + * operations obtain elements at the head of the queue. + * Linked queues typically have higher throughput than array-based queues but + * less predictable performance in most concurrent applications. + * + *

The optional capacity bound constructor argument serves as a + * way to prevent excessive queue expansion. The capacity, if unspecified, + * is equal to {@link Integer#MAX_VALUE}. Linked nodes are + * dynamically created upon each insertion unless this would bring the + * queue above capacity. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + * + */ +public class LinkedBlockingQueue extends AbstractQueue + implements BlockingQueue, java.io.Serializable { + private static final long serialVersionUID = -6903933977591709194L; + + /* + * A variant of the "two lock queue" algorithm. The putLock gates + * entry to put (and offer), and has an associated condition for + * waiting puts. Similarly for the takeLock. The "count" field + * that they both rely on is maintained as an atomic to avoid + * needing to get both locks in most cases. Also, to minimize need + * for puts to get takeLock and vice-versa, cascading notifies are + * used. When a put notices that it has enabled at least one take, + * it signals taker. That taker in turn signals others if more + * items have been entered since the signal. And symmetrically for + * takes signalling puts. Operations such as remove(Object) and + * iterators acquire both locks. + */ + + /** + * Linked list node class + */ + static class Node { + /** The item, volatile to ensure barrier separating write and read */ + volatile E item; + Node next; + Node(E x) { item = x; } + } + + /** The capacity bound, or Integer.MAX_VALUE if none */ + private final int capacity; + + /** Current number of elements */ + private final AtomicInteger count = new AtomicInteger(0); + + /** Head of linked list */ + private transient Node head; + + /** Tail of linked list */ + private transient Node last; + + /** Lock held by take, poll, etc */ + private final ReentrantLock takeLock = new ReentrantLock(); + + /** Wait queue for waiting takes */ + private final Condition notEmpty = takeLock.newCondition(); + + /** Lock held by put, offer, etc */ + private final ReentrantLock putLock = new ReentrantLock(); + + /** Wait queue for waiting puts */ + private final Condition notFull = putLock.newCondition(); + + /** + * Signals a waiting take. Called only from put/offer (which do not + * otherwise ordinarily lock takeLock.) + */ + private void signalNotEmpty() { + final ReentrantLock takeLock = this.takeLock; + takeLock.lock(); + try { + notEmpty.signal(); + } finally { + takeLock.unlock(); + } + } + + /** + * Signals a waiting put. Called only from take/poll. + */ + private void signalNotFull() { + final ReentrantLock putLock = this.putLock; + putLock.lock(); + try { + notFull.signal(); + } finally { + putLock.unlock(); + } + } + + /** + * Creates a node and links it at end of queue. + * @param x the item + */ + private void insert(E x) { + last = last.next = new Node(x); + } + + /** + * Removes a node from head of queue, + * @return the node + */ + private E extract() { + Node first = head.next; + head = first; + E x = first.item; + first.item = null; + return x; + } + + /** + * Lock to prevent both puts and takes. + */ + private void fullyLock() { + putLock.lock(); + takeLock.lock(); + } + + /** + * Unlock to allow both puts and takes. + */ + private void fullyUnlock() { + takeLock.unlock(); + putLock.unlock(); + } + + + /** + * Creates a LinkedBlockingQueue with a capacity of + * {@link Integer#MAX_VALUE}. + */ + public LinkedBlockingQueue() { + this(Integer.MAX_VALUE); + } + + /** + * Creates a LinkedBlockingQueue with the given (fixed) capacity. + * + * @param capacity the capacity of this queue + * @throws IllegalArgumentException if capacity is not greater + * than zero + */ + public LinkedBlockingQueue(int capacity) { + if (capacity <= 0) throw new IllegalArgumentException(); + this.capacity = capacity; + last = head = new Node(null); + } + + /** + * Creates a LinkedBlockingQueue with a capacity of + * {@link Integer#MAX_VALUE}, initially containing the elements of the + * given collection, + * added in traversal order of the collection's iterator. + * + * @param c the collection of elements to initially contain + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public LinkedBlockingQueue(Collection c) { + this(Integer.MAX_VALUE); + for (E e : c) + add(e); + } + + + // this doc comment is overridden to remove the reference to collections + // greater in size than Integer.MAX_VALUE + /** + * Returns the number of elements in this queue. + * + * @return the number of elements in this queue + */ + public int size() { + return count.get(); + } + + // this doc comment is a modified copy of the inherited doc comment, + // without the reference to unlimited queues. + /** + * Returns the number of additional elements that this queue can ideally + * (in the absence of memory or resource constraints) accept without + * blocking. This is always equal to the initial capacity of this queue + * less the current size of this queue. + * + *

Note that you cannot always tell if an attempt to insert + * an element will succeed by inspecting remainingCapacity + * because it may be the case that another thread is about to + * insert or remove an element. + */ + public int remainingCapacity() { + return capacity - count.get(); + } + + /** + * Inserts the specified element at the tail of this queue, waiting if + * necessary for space to become available. + * + * @throws InterruptedException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public void put(E e) throws InterruptedException { + if (e == null) throw new NullPointerException(); + // Note: convention in all put/take/etc is to preset + // local var holding count negative to indicate failure unless set. + int c = -1; + final ReentrantLock putLock = this.putLock; + final AtomicInteger count = this.count; + putLock.lockInterruptibly(); + try { + /* + * Note that count is used in wait guard even though it is + * not protected by lock. This works because count can + * only decrease at this point (all other puts are shut + * out by lock), and we (or some other waiting put) are + * signalled if it ever changes from + * capacity. Similarly for all other uses of count in + * other wait guards. + */ + try { + while (count.get() == capacity) + notFull.await(); + } catch (InterruptedException ie) { + notFull.signal(); // propagate to a non-interrupted thread + throw ie; + } + insert(e); + c = count.getAndIncrement(); + if (c + 1 < capacity) + notFull.signal(); + } finally { + putLock.unlock(); + } + if (c == 0) + signalNotEmpty(); + } + + /** + * Inserts the specified element at the tail of this queue, waiting if + * necessary up to the specified wait time for space to become available. + * + * @return true if successful, or false if + * the specified waiting time elapses before space is available. + * @throws InterruptedException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public boolean offer(E e, long timeout, TimeUnit unit) + throws InterruptedException { + + if (e == null) throw new NullPointerException(); + long nanos = unit.toNanos(timeout); + int c = -1; + final ReentrantLock putLock = this.putLock; + final AtomicInteger count = this.count; + putLock.lockInterruptibly(); + try { + for (;;) { + if (count.get() < capacity) { + insert(e); + c = count.getAndIncrement(); + if (c + 1 < capacity) + notFull.signal(); + break; + } + if (nanos <= 0) + return false; + try { + nanos = notFull.awaitNanos(nanos); + } catch (InterruptedException ie) { + notFull.signal(); // propagate to a non-interrupted thread + throw ie; + } + } + } finally { + putLock.unlock(); + } + if (c == 0) + signalNotEmpty(); + return true; + } + + /** + * Inserts the specified element at the tail of this queue if it is + * possible to do so immediately without exceeding the queue's capacity, + * returning true upon success and false if this queue + * is full. + * When using a capacity-restricted queue, this method is generally + * preferable to method {@link BlockingQueue#add add}, which can fail to + * insert an element only by throwing an exception. + * + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + if (e == null) throw new NullPointerException(); + final AtomicInteger count = this.count; + if (count.get() == capacity) + return false; + int c = -1; + final ReentrantLock putLock = this.putLock; + putLock.lock(); + try { + if (count.get() < capacity) { + insert(e); + c = count.getAndIncrement(); + if (c + 1 < capacity) + notFull.signal(); + } + } finally { + putLock.unlock(); + } + if (c == 0) + signalNotEmpty(); + return c >= 0; + } + + + public E take() throws InterruptedException { + E x; + int c = -1; + final AtomicInteger count = this.count; + final ReentrantLock takeLock = this.takeLock; + takeLock.lockInterruptibly(); + try { + try { + while (count.get() == 0) + notEmpty.await(); + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to a non-interrupted thread + throw ie; + } + + x = extract(); + c = count.getAndDecrement(); + if (c > 1) + notEmpty.signal(); + } finally { + takeLock.unlock(); + } + if (c == capacity) + signalNotFull(); + return x; + } + + public E poll(long timeout, TimeUnit unit) throws InterruptedException { + E x = null; + int c = -1; + long nanos = unit.toNanos(timeout); + final AtomicInteger count = this.count; + final ReentrantLock takeLock = this.takeLock; + takeLock.lockInterruptibly(); + try { + for (;;) { + if (count.get() > 0) { + x = extract(); + c = count.getAndDecrement(); + if (c > 1) + notEmpty.signal(); + break; + } + if (nanos <= 0) + return null; + try { + nanos = notEmpty.awaitNanos(nanos); + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to a non-interrupted thread + throw ie; + } + } + } finally { + takeLock.unlock(); + } + if (c == capacity) + signalNotFull(); + return x; + } + + public E poll() { + final AtomicInteger count = this.count; + if (count.get() == 0) + return null; + E x = null; + int c = -1; + final ReentrantLock takeLock = this.takeLock; + takeLock.lock(); + try { + if (count.get() > 0) { + x = extract(); + c = count.getAndDecrement(); + if (c > 1) + notEmpty.signal(); + } + } finally { + takeLock.unlock(); + } + if (c == capacity) + signalNotFull(); + return x; + } + + + public E peek() { + if (count.get() == 0) + return null; + final ReentrantLock takeLock = this.takeLock; + takeLock.lock(); + try { + Node first = head.next; + if (first == null) + return null; + else + return first.item; + } finally { + takeLock.unlock(); + } + } + + /** + * Removes a single instance of the specified element from this queue, + * if it is present. More formally, removes an element e such + * that o.equals(e), if this queue contains one or more such + * elements. + * Returns true if this queue contained the specified element + * (or equivalently, if this queue changed as a result of the call). + * + * @param o element to be removed from this queue, if present + * @return true if this queue changed as a result of the call + */ + public boolean remove(Object o) { + if (o == null) return false; + boolean removed = false; + fullyLock(); + try { + Node trail = head; + Node p = head.next; + while (p != null) { + if (o.equals(p.item)) { + removed = true; + break; + } + trail = p; + p = p.next; + } + if (removed) { + p.item = null; + trail.next = p.next; + if (last == p) + last = trail; + if (count.getAndDecrement() == capacity) + notFull.signalAll(); + } + } finally { + fullyUnlock(); + } + return removed; + } + + /** + * Returns an array containing all of the elements in this queue, in + * proper sequence. + * + *

The returned array will be "safe" in that no references to it are + * maintained by this queue. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this queue + */ + public Object[] toArray() { + fullyLock(); + try { + int size = count.get(); + Object[] a = new Object[size]; + int k = 0; + for (Node p = head.next; p != null; p = p.next) + a[k++] = p.item; + return a; + } finally { + fullyUnlock(); + } + } + + /** + * Returns an array containing all of the elements in this queue, in + * proper sequence; the runtime type of the returned array is that of + * the specified array. If the queue fits in the specified array, it + * is returned therein. Otherwise, a new array is allocated with the + * runtime type of the specified array and the size of this queue. + * + *

If this queue fits in the specified array with room to spare + * (i.e., the array has more elements than this queue), the element in + * the array immediately following the end of the queue is set to + * null. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

Suppose x is a queue known to contain only strings. + * The following code can be used to dump the queue into a newly + * allocated array of String: + * + *

+     *     String[] y = x.toArray(new String[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of the queue are to + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose + * @return an array containing all of the elements in this queue + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this queue + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + fullyLock(); + try { + int size = count.get(); + if (a.length < size) + a = (T[])java.lang.reflect.Array.newInstance + (a.getClass().getComponentType(), size); + + int k = 0; + for (Node p = head.next; p != null; p = p.next) + a[k++] = (T)p.item; + if (a.length > k) + a[k] = null; + return a; + } finally { + fullyUnlock(); + } + } + + public String toString() { + fullyLock(); + try { + return super.toString(); + } finally { + fullyUnlock(); + } + } + + /** + * Atomically removes all of the elements from this queue. + * The queue will be empty after this call returns. + */ + public void clear() { + fullyLock(); + try { + head.next = null; + assert head.item == null; + last = head; + if (count.getAndSet(0) == capacity) + notFull.signalAll(); + } finally { + fullyUnlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + Node first; + fullyLock(); + try { + first = head.next; + head.next = null; + assert head.item == null; + last = head; + if (count.getAndSet(0) == capacity) + notFull.signalAll(); + } finally { + fullyUnlock(); + } + // Transfer the elements outside of locks + int n = 0; + for (Node p = first; p != null; p = p.next) { + c.add(p.item); + p.item = null; + ++n; + } + return n; + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c, int maxElements) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + fullyLock(); + try { + int n = 0; + Node p = head.next; + while (p != null && n < maxElements) { + c.add(p.item); + p.item = null; + p = p.next; + ++n; + } + if (n != 0) { + head.next = p; + assert head.item == null; + if (p == null) + last = head; + if (count.getAndAdd(-n) == capacity) + notFull.signalAll(); + } + return n; + } finally { + fullyUnlock(); + } + } + + /** + * Returns an iterator over the elements in this queue in proper sequence. + * The returned Iterator is a "weakly consistent" iterator that + * will never throw {@link ConcurrentModificationException}, + * and guarantees to traverse elements as they existed upon + * construction of the iterator, and may (but is not guaranteed to) + * reflect any modifications subsequent to construction. + * + * @return an iterator over the elements in this queue in proper sequence + */ + public Iterator iterator() { + return new Itr(); + } + + private class Itr implements Iterator { + /* + * Basic weak-consistent iterator. At all times hold the next + * item to hand out so that if hasNext() reports true, we will + * still have it to return even if lost race with a take etc. + */ + private Node current; + private Node lastRet; + private E currentElement; + + Itr() { + final ReentrantLock putLock = LinkedBlockingQueue.this.putLock; + final ReentrantLock takeLock = LinkedBlockingQueue.this.takeLock; + putLock.lock(); + takeLock.lock(); + try { + current = head.next; + if (current != null) + currentElement = current.item; + } finally { + takeLock.unlock(); + putLock.unlock(); + } + } + + public boolean hasNext() { + return current != null; + } + + public E next() { + final ReentrantLock putLock = LinkedBlockingQueue.this.putLock; + final ReentrantLock takeLock = LinkedBlockingQueue.this.takeLock; + putLock.lock(); + takeLock.lock(); + try { + if (current == null) + throw new NoSuchElementException(); + E x = currentElement; + lastRet = current; + current = current.next; + if (current != null) + currentElement = current.item; + return x; + } finally { + takeLock.unlock(); + putLock.unlock(); + } + } + + public void remove() { + if (lastRet == null) + throw new IllegalStateException(); + final ReentrantLock putLock = LinkedBlockingQueue.this.putLock; + final ReentrantLock takeLock = LinkedBlockingQueue.this.takeLock; + putLock.lock(); + takeLock.lock(); + try { + Node node = lastRet; + lastRet = null; + Node trail = head; + Node p = head.next; + while (p != null && p != node) { + trail = p; + p = p.next; + } + if (p == node) { + p.item = null; + trail.next = p.next; + if (last == p) + last = trail; + int c = count.getAndDecrement(); + if (c == capacity) + notFull.signalAll(); + } + } finally { + takeLock.unlock(); + putLock.unlock(); + } + } + } + + /** + * Save the state to a stream (that is, serialize it). + * + * @serialData The capacity is emitted (int), followed by all of + * its elements (each an Object) in the proper order, + * followed by a null + * @param s the stream + */ + private void writeObject(java.io.ObjectOutputStream s) + throws java.io.IOException { + + fullyLock(); + try { + // Write out any hidden stuff, plus capacity + s.defaultWriteObject(); + + // Write out all elements in the proper order. + for (Node p = head.next; p != null; p = p.next) + s.writeObject(p.item); + + // Use trailing null as sentinel + s.writeObject(null); + } finally { + fullyUnlock(); + } + } + + /** + * Reconstitute this queue instance from a stream (that is, + * deserialize it). + * @param s the stream + */ + private void readObject(java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + // Read in capacity, and any hidden stuff + s.defaultReadObject(); + + count.set(0); + last = head = new Node(null); + + // Read in all elements and place in queue + for (;;) { + E item = (E)s.readObject(); + if (item == null) + break; + add(item); + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/PriorityBlockingQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/PriorityBlockingQueue.java new file mode 100644 index 00000000000..91ae61b631f --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/PriorityBlockingQueue.java @@ -0,0 +1,563 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +import java.util.concurrent.locks.*; +import java.util.*; + +/** + * An unbounded {@linkplain BlockingQueue blocking queue} that uses + * the same ordering rules as class {@link PriorityQueue} and supplies + * blocking retrieval operations. While this queue is logically + * unbounded, attempted additions may fail due to resource exhaustion + * (causing OutOfMemoryError). This class does not permit + * null elements. A priority queue relying on {@linkplain + * Comparable natural ordering} also does not permit insertion of + * non-comparable objects (doing so results in + * ClassCastException). + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. The Iterator provided in method {@link + * #iterator()} is not guaranteed to traverse the elements of + * the PriorityBlockingQueue in any particular order. If you need + * ordered traversal, consider using + * Arrays.sort(pq.toArray()). Also, method drainTo + * can be used to remove some or all elements in priority + * order and place them in another collection. + * + *

Operations on this class make no guarantees about the ordering + * of elements with equal priority. If you need to enforce an + * ordering, you can define custom classes or comparators that use a + * secondary key to break ties in primary priority values. For + * example, here is a class that applies first-in-first-out + * tie-breaking to comparable elements. To use it, you would insert a + * new FIFOEntry(anEntry) instead of a plain entry object. + * + *

+ * class FIFOEntry<E extends Comparable<? super E>>
+ *     implements Comparable<FIFOEntry<E>> {
+ *   final static AtomicLong seq = new AtomicLong();
+ *   final long seqNum;
+ *   final E entry;
+ *   public FIFOEntry(E entry) {
+ *     seqNum = seq.getAndIncrement();
+ *     this.entry = entry;
+ *   }
+ *   public E getEntry() { return entry; }
+ *   public int compareTo(FIFOEntry<E> other) {
+ *     int res = entry.compareTo(other.entry);
+ *     if (res == 0 && other.entry != this.entry)
+ *       res = (seqNum < other.seqNum ? -1 : 1);
+ *     return res;
+ *   }
+ * }
+ * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea + * @param the type of elements held in this collection + */ +public class PriorityBlockingQueue extends AbstractQueue + implements BlockingQueue, java.io.Serializable { + private static final long serialVersionUID = 5595510919245408276L; + + private final PriorityQueue q; + private final ReentrantLock lock = new ReentrantLock(true); + private final Condition notEmpty = lock.newCondition(); + + /** + * Creates a PriorityBlockingQueue with the default + * initial capacity (11) that orders its elements according to + * their {@linkplain Comparable natural ordering}. + */ + public PriorityBlockingQueue() { + q = new PriorityQueue(); + } + + /** + * Creates a PriorityBlockingQueue with the specified + * initial capacity that orders its elements according to their + * {@linkplain Comparable natural ordering}. + * + * @param initialCapacity the initial capacity for this priority queue + * @throws IllegalArgumentException if initialCapacity is less + * than 1 + */ + public PriorityBlockingQueue(int initialCapacity) { + q = new PriorityQueue(initialCapacity, null); + } + + /** + * Creates a PriorityBlockingQueue with the specified initial + * capacity that orders its elements according to the specified + * comparator. + * + * @param initialCapacity the initial capacity for this priority queue + * @param comparator the comparator that will be used to order this + * priority queue. If {@code null}, the {@linkplain Comparable + * natural ordering} of the elements will be used. + * @throws IllegalArgumentException if initialCapacity is less + * than 1 + */ + public PriorityBlockingQueue(int initialCapacity, + Comparator comparator) { + q = new PriorityQueue(initialCapacity, comparator); + } + + /** + * Creates a PriorityBlockingQueue containing the elements + * in the specified collection. If the specified collection is a + * {@link SortedSet} or a {@link PriorityQueue}, this + * priority queue will be ordered according to the same ordering. + * Otherwise, this priority queue will be ordered according to the + * {@linkplain Comparable natural ordering} of its elements. + * + * @param c the collection whose elements are to be placed + * into this priority queue + * @throws ClassCastException if elements of the specified collection + * cannot be compared to one another according to the priority + * queue's ordering + * @throws NullPointerException if the specified collection or any + * of its elements are null + */ + public PriorityBlockingQueue(Collection c) { + q = new PriorityQueue(c); + } + + /** + * Inserts the specified element into this priority queue. + * + * @param e the element to add + * @return true (as specified by {@link Collection#add}) + * @throws ClassCastException if the specified element cannot be compared + * with elements currently in the priority queue according to the + * priority queue's ordering + * @throws NullPointerException if the specified element is null + */ + public boolean add(E e) { + return offer(e); + } + + /** + * Inserts the specified element into this priority queue. + * + * @param e the element to add + * @return true (as specified by {@link Queue#offer}) + * @throws ClassCastException if the specified element cannot be compared + * with elements currently in the priority queue according to the + * priority queue's ordering + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + boolean ok = q.offer(e); + assert ok; + notEmpty.signal(); + return true; + } finally { + lock.unlock(); + } + } + + /** + * Inserts the specified element into this priority queue. As the queue is + * unbounded this method will never block. + * + * @param e the element to add + * @throws ClassCastException if the specified element cannot be compared + * with elements currently in the priority queue according to the + * priority queue's ordering + * @throws NullPointerException if the specified element is null + */ + public void put(E e) { + offer(e); // never need to block + } + + /** + * Inserts the specified element into this priority queue. As the queue is + * unbounded this method will never block. + * + * @param e the element to add + * @param timeout This parameter is ignored as the method never blocks + * @param unit This parameter is ignored as the method never blocks + * @return true + * @throws ClassCastException if the specified element cannot be compared + * with elements currently in the priority queue according to the + * priority queue's ordering + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e, long timeout, TimeUnit unit) { + return offer(e); // never need to block + } + + public E poll() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.poll(); + } finally { + lock.unlock(); + } + } + + public E take() throws InterruptedException { + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + try { + while (q.size() == 0) + notEmpty.await(); + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to non-interrupted thread + throw ie; + } + E x = q.poll(); + assert x != null; + return x; + } finally { + lock.unlock(); + } + } + + public E poll(long timeout, TimeUnit unit) throws InterruptedException { + long nanos = unit.toNanos(timeout); + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + for (;;) { + E x = q.poll(); + if (x != null) + return x; + if (nanos <= 0) + return null; + try { + nanos = notEmpty.awaitNanos(nanos); + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to non-interrupted thread + throw ie; + } + } + } finally { + lock.unlock(); + } + } + + public E peek() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.peek(); + } finally { + lock.unlock(); + } + } + + /** + * Returns the comparator used to order the elements in this queue, + * or null if this queue uses the {@linkplain Comparable + * natural ordering} of its elements. + * + * @return the comparator used to order the elements in this queue, + * or null if this queue uses the natural + * ordering of its elements + */ + public Comparator comparator() { + return q.comparator(); + } + + public int size() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.size(); + } finally { + lock.unlock(); + } + } + + /** + * Always returns Integer.MAX_VALUE because + * a PriorityBlockingQueue is not capacity constrained. + * @return Integer.MAX_VALUE + */ + public int remainingCapacity() { + return Integer.MAX_VALUE; + } + + /** + * Removes a single instance of the specified element from this queue, + * if it is present. More formally, removes an element {@code e} such + * that {@code o.equals(e)}, if this queue contains one or more such + * elements. Returns {@code true} if and only if this queue contained + * the specified element (or equivalently, if this queue changed as a + * result of the call). + * + * @param o element to be removed from this queue, if present + * @return true if this queue changed as a result of the call + */ + public boolean remove(Object o) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.remove(o); + } finally { + lock.unlock(); + } + } + + /** + * Returns {@code true} if this queue contains the specified element. + * More formally, returns {@code true} if and only if this queue contains + * at least one element {@code e} such that {@code o.equals(e)}. + * + * @param o object to be checked for containment in this queue + * @return true if this queue contains the specified element + */ + public boolean contains(Object o) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.contains(o); + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this queue. + * The returned array elements are in no particular order. + * + *

The returned array will be "safe" in that no references to it are + * maintained by this queue. (In other words, this method must allocate + * a new array). The caller is thus free to modify the returned array. + * + *

This method acts as bridge between array-based and collection-based + * APIs. + * + * @return an array containing all of the elements in this queue + */ + public Object[] toArray() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.toArray(); + } finally { + lock.unlock(); + } + } + + + public String toString() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.toString(); + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int n = 0; + E e; + while ( (e = q.poll()) != null) { + c.add(e); + ++n; + } + return n; + } finally { + lock.unlock(); + } + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c, int maxElements) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + if (maxElements <= 0) + return 0; + final ReentrantLock lock = this.lock; + lock.lock(); + try { + int n = 0; + E e; + while (n < maxElements && (e = q.poll()) != null) { + c.add(e); + ++n; + } + return n; + } finally { + lock.unlock(); + } + } + + /** + * Atomically removes all of the elements from this queue. + * The queue will be empty after this call returns. + */ + public void clear() { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + q.clear(); + } finally { + lock.unlock(); + } + } + + /** + * Returns an array containing all of the elements in this queue; the + * runtime type of the returned array is that of the specified array. + * The returned array elements are in no particular order. + * If the queue fits in the specified array, it is returned therein. + * Otherwise, a new array is allocated with the runtime type of the + * specified array and the size of this queue. + * + *

If this queue fits in the specified array with room to spare + * (i.e., the array has more elements than this queue), the element in + * the array immediately following the end of the queue is set to + * null. + * + *

Like the {@link #toArray()} method, this method acts as bridge between + * array-based and collection-based APIs. Further, this method allows + * precise control over the runtime type of the output array, and may, + * under certain circumstances, be used to save allocation costs. + * + *

Suppose x is a queue known to contain only strings. + * The following code can be used to dump the queue into a newly + * allocated array of String: + * + *

+     *     String[] y = x.toArray(new String[0]);
+ * + * Note that toArray(new Object[0]) is identical in function to + * toArray(). + * + * @param a the array into which the elements of the queue are to + * be stored, if it is big enough; otherwise, a new array of the + * same runtime type is allocated for this purpose + * @return an array containing all of the elements in this queue + * @throws ArrayStoreException if the runtime type of the specified array + * is not a supertype of the runtime type of every element in + * this queue + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + final ReentrantLock lock = this.lock; + lock.lock(); + try { + return q.toArray(a); + } finally { + lock.unlock(); + } + } + + /** + * Returns an iterator over the elements in this queue. The + * iterator does not return the elements in any particular order. + * The returned Iterator is a "weakly consistent" + * iterator that will never throw {@link + * ConcurrentModificationException}, and guarantees to traverse + * elements as they existed upon construction of the iterator, and + * may (but is not guaranteed to) reflect any modifications + * subsequent to construction. + * + * @return an iterator over the elements in this queue + */ + public Iterator iterator() { + return new Itr(toArray()); + } + + /** + * Snapshot iterator that works off copy of underlying q array. + */ + private class Itr implements Iterator { + final Object[] array; // Array of all elements + int cursor; // index of next element to return; + int lastRet; // index of last element, or -1 if no such + + Itr(Object[] array) { + lastRet = -1; + this.array = array; + } + + public boolean hasNext() { + return cursor < array.length; + } + + public E next() { + if (cursor >= array.length) + throw new NoSuchElementException(); + lastRet = cursor; + return (E)array[cursor++]; + } + + public void remove() { + if (lastRet < 0) + throw new IllegalStateException(); + Object x = array[lastRet]; + lastRet = -1; + // Traverse underlying queue to find == element, + // not just a .equals element. + lock.lock(); + try { + for (Iterator it = q.iterator(); it.hasNext(); ) { + if (it.next() == x) { + it.remove(); + return; + } + } + } finally { + lock.unlock(); + } + } + } + + /** + * Saves the state to a stream (that is, serializes it). This + * merely wraps default serialization within lock. The + * serialization strategy for items is left to underlying + * Queue. Note that locking is not needed on deserialization, so + * readObject is not defined, just relying on default. + */ + private void writeObject(java.io.ObjectOutputStream s) + throws java.io.IOException { + lock.lock(); + try { + s.defaultWriteObject(); + } finally { + lock.unlock(); + } + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionException.java b/libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionException.java new file mode 100644 index 00000000000..30b043d6627 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionException.java @@ -0,0 +1,62 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * Exception thrown by an {@link Executor} when a task cannot be + * accepted for execution. + * + * @since 1.5 + * @author Doug Lea + */ +public class RejectedExecutionException extends RuntimeException { + private static final long serialVersionUID = -375805702767069545L; + + /** + * Constructs a RejectedExecutionException with no detail message. + * The cause is not initialized, and may subsequently be + * initialized by a call to {@link #initCause(Throwable) initCause}. + */ + public RejectedExecutionException() { } + + /** + * Constructs a RejectedExecutionException with the + * specified detail message. The cause is not initialized, and may + * subsequently be initialized by a call to {@link + * #initCause(Throwable) initCause}. + * + * @param message the detail message + */ + public RejectedExecutionException(String message) { + super(message); + } + + /** + * Constructs a RejectedExecutionException with the + * specified detail message and cause. + * + * @param message the detail message + * @param cause the cause (which is saved for later retrieval by the + * {@link #getCause()} method) + */ + public RejectedExecutionException(String message, Throwable cause) { + super(message, cause); + } + + /** + * Constructs a RejectedExecutionException with the + * specified cause. The detail message is set to:
 (cause ==
+     * null ? null : cause.toString())
(which typically contains + * the class and detail message of cause). + * + * @param cause the cause (which is saved for later retrieval by the + * {@link #getCause()} method) + */ + public RejectedExecutionException(Throwable cause) { + super(cause); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionHandler.java b/libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionHandler.java new file mode 100644 index 00000000000..4b4bbeab1bb --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/RejectedExecutionHandler.java @@ -0,0 +1,33 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A handler for tasks that cannot be executed by a {@link + * ThreadPoolExecutor}. + * + * @since 1.5 + * @author Doug Lea + */ +public interface RejectedExecutionHandler { + + /** + * Method that may be invoked by a {@link ThreadPoolExecutor} when + * execute cannot accept a task. This may occur when no + * more threads or queue slots are available because their bounds + * would be exceeded, or upon shutdown of the Executor. + * + * In the absence other alternatives, the method may throw an + * unchecked {@link RejectedExecutionException}, which will be + * propagated to the caller of execute. + * + * @param r the runnable task requested to be executed + * @param executor the executor attempting to execute this task + * @throws RejectedExecutionException if there is no remedy + */ + void rejectedExecution(Runnable r, ThreadPoolExecutor executor); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/RunnableFuture.java b/libjava/classpath/external/jsr166/java/util/concurrent/RunnableFuture.java new file mode 100644 index 00000000000..d74211d130b --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/RunnableFuture.java @@ -0,0 +1,25 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A {@link Future} that is {@link Runnable}. Successful execution of + * the run method causes completion of the Future + * and allows access to its results. + * @see FutureTask + * @see Executor + * @since 1.6 + * @author Doug Lea + * @param The result type returned by this Future's get method + */ +public interface RunnableFuture extends Runnable, Future { + /** + * Sets this Future to the result of its computation + * unless it has been cancelled. + */ + void run(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/RunnableScheduledFuture.java b/libjava/classpath/external/jsr166/java/util/concurrent/RunnableScheduledFuture.java new file mode 100644 index 00000000000..0e8cc328c1e --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/RunnableScheduledFuture.java @@ -0,0 +1,29 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A {@link ScheduledFuture} that is {@link Runnable}. Successful + * execution of the run method causes completion of the + * Future and allows access to its results. + * @see FutureTask + * @see Executor + * @since 1.6 + * @author Doug Lea + * @param The result type returned by this Future's get method + */ +public interface RunnableScheduledFuture extends RunnableFuture, ScheduledFuture { + + /** + * Returns true if this is a periodic task. A periodic task may + * re-run according to some schedule. A non-periodic task can be + * run only once. + * + * @return true if this task is periodic + */ + boolean isPeriodic(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledExecutorService.java b/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledExecutorService.java new file mode 100644 index 00000000000..976537ef5d6 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledExecutorService.java @@ -0,0 +1,159 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.atomic.*; +import java.util.*; + +/** + * An {@link ExecutorService} that can schedule commands to run after a given + * delay, or to execute periodically. + * + *

The schedule methods create tasks with various delays + * and return a task object that can be used to cancel or check + * execution. The scheduleAtFixedRate and + * scheduleWithFixedDelay methods create and execute tasks + * that run periodically until cancelled. + * + *

Commands submitted using the {@link Executor#execute} and + * {@link ExecutorService} submit methods are scheduled with + * a requested delay of zero. Zero and negative delays (but not + * periods) are also allowed in schedule methods, and are + * treated as requests for immediate execution. + * + *

All schedule methods accept relative delays and + * periods as arguments, not absolute times or dates. It is a simple + * matter to transform an absolute time represented as a {@link + * java.util.Date} to the required form. For example, to schedule at + * a certain future date, you can use: schedule(task, + * date.getTime() - System.currentTimeMillis(), + * TimeUnit.MILLISECONDS). Beware however that expiration of a + * relative delay need not coincide with the current Date at + * which the task is enabled due to network time synchronization + * protocols, clock drift, or other factors. + * + * The {@link Executors} class provides convenient factory methods for + * the ScheduledExecutorService implementations provided in this package. + * + *

Usage Example

+ * + * Here is a class with a method that sets up a ScheduledExecutorService + * to beep every ten seconds for an hour: + * + *
+ * import static java.util.concurrent.TimeUnit.*;
+ * class BeeperControl {
+ *    private final ScheduledExecutorService scheduler =
+ *       Executors.newScheduledThreadPool(1);
+ *
+ *    public void beepForAnHour() {
+ *        final Runnable beeper = new Runnable() {
+ *                public void run() { System.out.println("beep"); }
+ *            };
+ *        final ScheduledFuture<?> beeperHandle =
+ *            scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
+ *        scheduler.schedule(new Runnable() {
+ *                public void run() { beeperHandle.cancel(true); }
+ *            }, 60 * 60, SECONDS);
+ *    }
+ * }
+ * 
+ * + * @since 1.5 + * @author Doug Lea + */ +public interface ScheduledExecutorService extends ExecutorService { + + /** + * Creates and executes a one-shot action that becomes enabled + * after the given delay. + * + * @param command the task to execute + * @param delay the time from now to delay execution + * @param unit the time unit of the delay parameter + * @return a ScheduledFuture representing pending completion of + * the task and whose get() method will return + * null upon completion + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if command is null + */ + public ScheduledFuture schedule(Runnable command, + long delay, TimeUnit unit); + + /** + * Creates and executes a ScheduledFuture that becomes enabled after the + * given delay. + * + * @param callable the function to execute + * @param delay the time from now to delay execution + * @param unit the time unit of the delay parameter + * @return a ScheduledFuture that can be used to extract result or cancel + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if callable is null + */ + public ScheduledFuture schedule(Callable callable, + long delay, TimeUnit unit); + + /** + * Creates and executes a periodic action that becomes enabled first + * after the given initial delay, and subsequently with the given + * period; that is executions will commence after + * initialDelay then initialDelay+period, then + * initialDelay + 2 * period, and so on. + * If any execution of the task + * encounters an exception, subsequent executions are suppressed. + * Otherwise, the task will only terminate via cancellation or + * termination of the executor. If any execution of this task + * takes longer than its period, then subsequent executions + * may start late, but will not concurrently execute. + * + * @param command the task to execute + * @param initialDelay the time to delay first execution + * @param period the period between successive executions + * @param unit the time unit of the initialDelay and period parameters + * @return a ScheduledFuture representing pending completion of + * the task, and whose get() method will throw an + * exception upon cancellation + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if command is null + * @throws IllegalArgumentException if period less than or equal to zero + */ + public ScheduledFuture scheduleAtFixedRate(Runnable command, + long initialDelay, + long period, + TimeUnit unit); + + /** + * Creates and executes a periodic action that becomes enabled first + * after the given initial delay, and subsequently with the + * given delay between the termination of one execution and the + * commencement of the next. If any execution of the task + * encounters an exception, subsequent executions are suppressed. + * Otherwise, the task will only terminate via cancellation or + * termination of the executor. + * + * @param command the task to execute + * @param initialDelay the time to delay first execution + * @param delay the delay between the termination of one + * execution and the commencement of the next + * @param unit the time unit of the initialDelay and delay parameters + * @return a ScheduledFuture representing pending completion of + * the task, and whose get() method will throw an + * exception upon cancellation + * @throws RejectedExecutionException if the task cannot be + * scheduled for execution + * @throws NullPointerException if command is null + * @throws IllegalArgumentException if delay less than or equal to zero + */ + public ScheduledFuture scheduleWithFixedDelay(Runnable command, + long initialDelay, + long delay, + TimeUnit unit); + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledFuture.java b/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledFuture.java new file mode 100644 index 00000000000..239d681f6d9 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledFuture.java @@ -0,0 +1,19 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A delayed result-bearing action that can be cancelled. + * Usually a scheduled future is the result of scheduling + * a task with a {@link ScheduledExecutorService}. + * + * @since 1.5 + * @author Doug Lea + * @param The result type returned by this Future + */ +public interface ScheduledFuture extends Delayed, Future { +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java b/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java new file mode 100644 index 00000000000..d4da334c6e0 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java @@ -0,0 +1,626 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.atomic.*; +import java.util.*; + +/** + * A {@link ThreadPoolExecutor} that can additionally schedule + * commands to run after a given delay, or to execute + * periodically. This class is preferable to {@link java.util.Timer} + * when multiple worker threads are needed, or when the additional + * flexibility or capabilities of {@link ThreadPoolExecutor} (which + * this class extends) are required. + * + *

Delayed tasks execute no sooner than they are enabled, but + * without any real-time guarantees about when, after they are + * enabled, they will commence. Tasks scheduled for exactly the same + * execution time are enabled in first-in-first-out (FIFO) order of + * submission. + * + *

While this class inherits from {@link ThreadPoolExecutor}, a few + * of the inherited tuning methods are not useful for it. In + * particular, because it acts as a fixed-sized pool using + * corePoolSize threads and an unbounded queue, adjustments + * to maximumPoolSize have no useful effect. + * + *

Extension notes: This class overrides {@link + * AbstractExecutorService} submit methods to generate + * internal objects to control per-task delays and scheduling. To + * preserve functionality, any further overrides of these methods in + * subclasses must invoke superclass versions, which effectively + * disables additional task customization. However, this class + * provides alternative protected extension method + * decorateTask (one version each for Runnable and + * Callable) that can be used to customize the concrete task + * types used to execute commands entered via execute, + * submit, schedule, scheduleAtFixedRate, + * and scheduleWithFixedDelay. By default, a + * ScheduledThreadPoolExecutor uses a task type extending + * {@link FutureTask}. However, this may be modified or replaced using + * subclasses of the form: + * + *

+ * public class CustomScheduledExecutor extends ScheduledThreadPoolExecutor {
+ *
+ *   static class CustomTask<V> implements RunnableScheduledFuture<V> { ... }
+ *
+ *   protected <V> RunnableScheduledFuture<V> decorateTask(
+ *                Runnable r, RunnableScheduledFuture<V> task) {
+ *       return new CustomTask<V>(r, task);
+ *   }
+ *
+ *   protected <V> RunnableScheduledFuture<V> decorateTask(
+ *                Callable<V> c, RunnableScheduledFuture<V> task) {
+ *       return new CustomTask<V>(c, task);
+ *   }
+ *   // ... add constructors, etc.
+ * }
+ * 
+ * @since 1.5 + * @author Doug Lea + */ +public class ScheduledThreadPoolExecutor + extends ThreadPoolExecutor + implements ScheduledExecutorService { + + /** + * False if should cancel/suppress periodic tasks on shutdown. + */ + private volatile boolean continueExistingPeriodicTasksAfterShutdown; + + /** + * False if should cancel non-periodic tasks on shutdown. + */ + private volatile boolean executeExistingDelayedTasksAfterShutdown = true; + + /** + * Sequence number to break scheduling ties, and in turn to + * guarantee FIFO order among tied entries. + */ + private static final AtomicLong sequencer = new AtomicLong(0); + + /** Base of nanosecond timings, to avoid wrapping */ + private static final long NANO_ORIGIN = System.nanoTime(); + + /** + * Returns nanosecond time offset by origin + */ + final long now() { + return System.nanoTime() - NANO_ORIGIN; + } + + private class ScheduledFutureTask + extends FutureTask implements RunnableScheduledFuture { + + /** Sequence number to break ties FIFO */ + private final long sequenceNumber; + /** The time the task is enabled to execute in nanoTime units */ + private long time; + /** + * Period in nanoseconds for repeating tasks. A positive + * value indicates fixed-rate execution. A negative value + * indicates fixed-delay execution. A value of 0 indicates a + * non-repeating task. + */ + private final long period; + + /** + * Creates a one-shot action with given nanoTime-based trigger time. + */ + ScheduledFutureTask(Runnable r, V result, long ns) { + super(r, result); + this.time = ns; + this.period = 0; + this.sequenceNumber = sequencer.getAndIncrement(); + } + + /** + * Creates a periodic action with given nano time and period. + */ + ScheduledFutureTask(Runnable r, V result, long ns, long period) { + super(r, result); + this.time = ns; + this.period = period; + this.sequenceNumber = sequencer.getAndIncrement(); + } + + /** + * Creates a one-shot action with given nanoTime-based trigger. + */ + ScheduledFutureTask(Callable callable, long ns) { + super(callable); + this.time = ns; + this.period = 0; + this.sequenceNumber = sequencer.getAndIncrement(); + } + + public long getDelay(TimeUnit unit) { + long d = unit.convert(time - now(), TimeUnit.NANOSECONDS); + return d; + } + + public int compareTo(Delayed other) { + if (other == this) // compare zero ONLY if same object + return 0; + if (other instanceof ScheduledFutureTask) { + ScheduledFutureTask x = (ScheduledFutureTask)other; + long diff = time - x.time; + if (diff < 0) + return -1; + else if (diff > 0) + return 1; + else if (sequenceNumber < x.sequenceNumber) + return -1; + else + return 1; + } + long d = (getDelay(TimeUnit.NANOSECONDS) - + other.getDelay(TimeUnit.NANOSECONDS)); + return (d == 0)? 0 : ((d < 0)? -1 : 1); + } + + /** + * Returns true if this is a periodic (not a one-shot) action. + * + * @return true if periodic + */ + public boolean isPeriodic() { + return period != 0; + } + + /** + * Runs a periodic task. + */ + private void runPeriodic() { + boolean ok = ScheduledFutureTask.super.runAndReset(); + boolean down = isShutdown(); + // Reschedule if not cancelled and not shutdown or policy allows + if (ok && (!down || + (getContinueExistingPeriodicTasksAfterShutdownPolicy() && + !isTerminating()))) { + long p = period; + if (p > 0) + time += p; + else + time = now() - p; + // Classpath local: ecj from eclipse 3.1 does not + // compile this. + // ScheduledThreadPoolExecutor.super.getQueue().add(this); + ScheduledThreadPoolExecutor.super.getQueue().add((Runnable) this); + } + // This might have been the final executed delayed + // task. Wake up threads to check. + else if (down) + interruptIdleWorkers(); + } + + /** + * Overrides FutureTask version so as to reset/requeue if periodic. + */ + public void run() { + if (isPeriodic()) + runPeriodic(); + else + ScheduledFutureTask.super.run(); + } + } + + /** + * Specialized variant of ThreadPoolExecutor.execute for delayed tasks. + */ + private void delayedExecute(Runnable command) { + if (isShutdown()) { + reject(command); + return; + } + // Prestart a thread if necessary. We cannot prestart it + // running the task because the task (probably) shouldn't be + // run yet, so thread will just idle until delay elapses. + if (getPoolSize() < getCorePoolSize()) + prestartCoreThread(); + + super.getQueue().add(command); + } + + /** + * Cancels and clears the queue of all tasks that should not be run + * due to shutdown policy. + */ + private void cancelUnwantedTasks() { + boolean keepDelayed = getExecuteExistingDelayedTasksAfterShutdownPolicy(); + boolean keepPeriodic = getContinueExistingPeriodicTasksAfterShutdownPolicy(); + if (!keepDelayed && !keepPeriodic) + super.getQueue().clear(); + else if (keepDelayed || keepPeriodic) { + Object[] entries = super.getQueue().toArray(); + for (int i = 0; i < entries.length; ++i) { + Object e = entries[i]; + if (e instanceof RunnableScheduledFuture) { + RunnableScheduledFuture t = (RunnableScheduledFuture)e; + if (t.isPeriodic()? !keepPeriodic : !keepDelayed) + t.cancel(false); + } + } + entries = null; + purge(); + } + } + + public boolean remove(Runnable task) { + if (!(task instanceof RunnableScheduledFuture)) + return false; + return getQueue().remove(task); + } + + /** + * Modifies or replaces the task used to execute a runnable. + * This method can be used to override the concrete + * class used for managing internal tasks. + * The default implementation simply returns the given task. + * + * @param runnable the submitted Runnable + * @param task the task created to execute the runnable + * @return a task that can execute the runnable + * @since 1.6 + */ + protected RunnableScheduledFuture decorateTask( + Runnable runnable, RunnableScheduledFuture task) { + return task; + } + + /** + * Modifies or replaces the task used to execute a callable. + * This method can be used to override the concrete + * class used for managing internal tasks. + * The default implementation simply returns the given task. + * + * @param callable the submitted Callable + * @param task the task created to execute the callable + * @return a task that can execute the callable + * @since 1.6 + */ + protected RunnableScheduledFuture decorateTask( + Callable callable, RunnableScheduledFuture task) { + return task; + } + + /** + * Creates a new ScheduledThreadPoolExecutor with the given core + * pool size. + * + * @param corePoolSize the number of threads to keep in the pool, + * even if they are idle + * @throws IllegalArgumentException if corePoolSize < 0 + */ + public ScheduledThreadPoolExecutor(int corePoolSize) { + super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS, + new DelayedWorkQueue()); + } + + /** + * Creates a new ScheduledThreadPoolExecutor with the given + * initial parameters. + * + * @param corePoolSize the number of threads to keep in the pool, + * even if they are idle + * @param threadFactory the factory to use when the executor + * creates a new thread + * @throws IllegalArgumentException if corePoolSize < 0 + * @throws NullPointerException if threadFactory is null + */ + public ScheduledThreadPoolExecutor(int corePoolSize, + ThreadFactory threadFactory) { + super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS, + new DelayedWorkQueue(), threadFactory); + } + + /** + * Creates a new ScheduledThreadPoolExecutor with the given + * initial parameters. + * + * @param corePoolSize the number of threads to keep in the pool, + * even if they are idle + * @param handler the handler to use when execution is blocked + * because the thread bounds and queue capacities are reached + * @throws IllegalArgumentException if corePoolSize < 0 + * @throws NullPointerException if handler is null + */ + public ScheduledThreadPoolExecutor(int corePoolSize, + RejectedExecutionHandler handler) { + super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS, + new DelayedWorkQueue(), handler); + } + + /** + * Creates a new ScheduledThreadPoolExecutor with the given + * initial parameters. + * + * @param corePoolSize the number of threads to keep in the pool, + * even if they are idle + * @param threadFactory the factory to use when the executor + * creates a new thread + * @param handler the handler to use when execution is blocked + * because the thread bounds and queue capacities are reached. + * @throws IllegalArgumentException if corePoolSize < 0 + * @throws NullPointerException if threadFactory or handler is null + */ + public ScheduledThreadPoolExecutor(int corePoolSize, + ThreadFactory threadFactory, + RejectedExecutionHandler handler) { + super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS, + new DelayedWorkQueue(), threadFactory, handler); + } + + public ScheduledFuture schedule(Runnable command, + long delay, + TimeUnit unit) { + if (command == null || unit == null) + throw new NullPointerException(); + long triggerTime = now() + unit.toNanos(delay); + RunnableScheduledFuture t = decorateTask(command, + new ScheduledFutureTask(command, null, triggerTime)); + delayedExecute(t); + return t; + } + + public ScheduledFuture schedule(Callable callable, + long delay, + TimeUnit unit) { + if (callable == null || unit == null) + throw new NullPointerException(); + if (delay < 0) delay = 0; + long triggerTime = now() + unit.toNanos(delay); + RunnableScheduledFuture t = decorateTask(callable, + new ScheduledFutureTask(callable, triggerTime)); + delayedExecute(t); + return t; + } + + public ScheduledFuture scheduleAtFixedRate(Runnable command, + long initialDelay, + long period, + TimeUnit unit) { + if (command == null || unit == null) + throw new NullPointerException(); + if (period <= 0) + throw new IllegalArgumentException(); + if (initialDelay < 0) initialDelay = 0; + long triggerTime = now() + unit.toNanos(initialDelay); + RunnableScheduledFuture t = decorateTask(command, + new ScheduledFutureTask(command, + null, + triggerTime, + unit.toNanos(period))); + delayedExecute(t); + return t; + } + + public ScheduledFuture scheduleWithFixedDelay(Runnable command, + long initialDelay, + long delay, + TimeUnit unit) { + if (command == null || unit == null) + throw new NullPointerException(); + if (delay <= 0) + throw new IllegalArgumentException(); + if (initialDelay < 0) initialDelay = 0; + long triggerTime = now() + unit.toNanos(initialDelay); + RunnableScheduledFuture t = decorateTask(command, + new ScheduledFutureTask(command, + null, + triggerTime, + unit.toNanos(-delay))); + delayedExecute(t); + return t; + } + + + /** + * Executes command with zero required delay. This has effect + * equivalent to schedule(command, 0, anyUnit). Note + * that inspections of the queue and of the list returned by + * shutdownNow will access the zero-delayed + * {@link ScheduledFuture}, not the command itself. + * + * @param command the task to execute + * @throws RejectedExecutionException at discretion of + * RejectedExecutionHandler, if task cannot be accepted + * for execution because the executor has been shut down. + * @throws NullPointerException if command is null + */ + public void execute(Runnable command) { + if (command == null) + throw new NullPointerException(); + schedule(command, 0, TimeUnit.NANOSECONDS); + } + + // Override AbstractExecutorService methods + + public Future submit(Runnable task) { + return schedule(task, 0, TimeUnit.NANOSECONDS); + } + + public Future submit(Runnable task, T result) { + return schedule(Executors.callable(task, result), + 0, TimeUnit.NANOSECONDS); + } + + public Future submit(Callable task) { + return schedule(task, 0, TimeUnit.NANOSECONDS); + } + + /** + * Sets the policy on whether to continue executing existing periodic + * tasks even when this executor has been shutdown. In + * this case, these tasks will only terminate upon + * shutdownNow, or after setting the policy to + * false when already shutdown. This value is by default + * false. + * + * @param value if true, continue after shutdown, else don't. + * @see #getContinueExistingPeriodicTasksAfterShutdownPolicy + */ + public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value) { + continueExistingPeriodicTasksAfterShutdown = value; + if (!value && isShutdown()) + cancelUnwantedTasks(); + } + + /** + * Gets the policy on whether to continue executing existing + * periodic tasks even when this executor has been + * shutdown. In this case, these tasks will only + * terminate upon shutdownNow or after setting the policy + * to false when already shutdown. This value is by + * default false. + * + * @return true if will continue after shutdown + * @see #setContinueExistingPeriodicTasksAfterShutdownPolicy + */ + public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy() { + return continueExistingPeriodicTasksAfterShutdown; + } + + /** + * Sets the policy on whether to execute existing delayed + * tasks even when this executor has been shutdown. In + * this case, these tasks will only terminate upon + * shutdownNow, or after setting the policy to + * false when already shutdown. This value is by default + * true. + * + * @param value if true, execute after shutdown, else don't. + * @see #getExecuteExistingDelayedTasksAfterShutdownPolicy + */ + public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value) { + executeExistingDelayedTasksAfterShutdown = value; + if (!value && isShutdown()) + cancelUnwantedTasks(); + } + + /** + * Gets the policy on whether to execute existing delayed + * tasks even when this executor has been shutdown. In + * this case, these tasks will only terminate upon + * shutdownNow, or after setting the policy to + * false when already shutdown. This value is by default + * true. + * + * @return true if will execute after shutdown + * @see #setExecuteExistingDelayedTasksAfterShutdownPolicy + */ + public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy() { + return executeExistingDelayedTasksAfterShutdown; + } + + + /** + * Initiates an orderly shutdown in which previously submitted + * tasks are executed, but no new tasks will be accepted. If the + * ExecuteExistingDelayedTasksAfterShutdownPolicy has + * been set false, existing delayed tasks whose delays + * have not yet elapsed are cancelled. And unless the + * ContinueExistingPeriodicTasksAfterShutdownPolicy has + * been set true, future executions of existing periodic + * tasks will be cancelled. + */ + public void shutdown() { + cancelUnwantedTasks(); + super.shutdown(); + } + + /** + * Attempts to stop all actively executing tasks, halts the + * processing of waiting tasks, and returns a list of the tasks + * that were awaiting execution. + * + *

There are no guarantees beyond best-effort attempts to stop + * processing actively executing tasks. This implementation + * cancels tasks via {@link Thread#interrupt}, so any task that + * fails to respond to interrupts may never terminate. + * + * @return list of tasks that never commenced execution. Each + * element of this list is a {@link ScheduledFuture}, + * including those tasks submitted using execute, which + * are for scheduling purposes used as the basis of a zero-delay + * ScheduledFuture. + * @throws SecurityException {@inheritDoc} + */ + public List shutdownNow() { + return super.shutdownNow(); + } + + /** + * Returns the task queue used by this executor. Each element of + * this queue is a {@link ScheduledFuture}, including those + * tasks submitted using execute which are for scheduling + * purposes used as the basis of a zero-delay + * ScheduledFuture. Iteration over this queue is + * not guaranteed to traverse tasks in the order in + * which they will execute. + * + * @return the task queue + */ + public BlockingQueue getQueue() { + return super.getQueue(); + } + + /** + * An annoying wrapper class to convince javac to use a + * DelayQueue as a BlockingQueue + */ + private static class DelayedWorkQueue + extends AbstractCollection + implements BlockingQueue { + + private final DelayQueue dq = new DelayQueue(); + public Runnable poll() { return dq.poll(); } + public Runnable peek() { return dq.peek(); } + public Runnable take() throws InterruptedException { return dq.take(); } + public Runnable poll(long timeout, TimeUnit unit) throws InterruptedException { + return dq.poll(timeout, unit); + } + + public boolean add(Runnable x) { + return dq.add((RunnableScheduledFuture)x); + } + public boolean offer(Runnable x) { + return dq.offer((RunnableScheduledFuture)x); + } + public void put(Runnable x) { + dq.put((RunnableScheduledFuture)x); + } + public boolean offer(Runnable x, long timeout, TimeUnit unit) { + return dq.offer((RunnableScheduledFuture)x, timeout, unit); + } + + public Runnable remove() { return dq.remove(); } + public Runnable element() { return dq.element(); } + public void clear() { dq.clear(); } + public int drainTo(Collection c) { return dq.drainTo(c); } + public int drainTo(Collection c, int maxElements) { + return dq.drainTo(c, maxElements); + } + + public int remainingCapacity() { return dq.remainingCapacity(); } + public boolean remove(Object x) { return dq.remove(x); } + public boolean contains(Object x) { return dq.contains(x); } + public int size() { return dq.size(); } + public boolean isEmpty() { return dq.isEmpty(); } + public Object[] toArray() { return dq.toArray(); } + public T[] toArray(T[] array) { return dq.toArray(array); } + public Iterator iterator() { + return new Iterator() { + private Iterator it = dq.iterator(); + public boolean hasNext() { return it.hasNext(); } + public Runnable next() { return it.next(); } + public void remove() { it.remove(); } + }; + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/Semaphore.java b/libjava/classpath/external/jsr166/java/util/concurrent/Semaphore.java new file mode 100644 index 00000000000..94e9746ae85 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/Semaphore.java @@ -0,0 +1,681 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.*; +import java.util.concurrent.locks.*; +import java.util.concurrent.atomic.*; + +/** + * A counting semaphore. Conceptually, a semaphore maintains a set of + * permits. Each {@link #acquire} blocks if necessary until a permit is + * available, and then takes it. Each {@link #release} adds a permit, + * potentially releasing a blocking acquirer. + * However, no actual permit objects are used; the {@code Semaphore} just + * keeps a count of the number available and acts accordingly. + * + *

Semaphores are often used to restrict the number of threads than can + * access some (physical or logical) resource. For example, here is + * a class that uses a semaphore to control access to a pool of items: + *

+ * class Pool {
+ *   private static final int MAX_AVAILABLE = 100;
+ *   private final Semaphore available = new Semaphore(MAX_AVAILABLE, true);
+ *
+ *   public Object getItem() throws InterruptedException {
+ *     available.acquire();
+ *     return getNextAvailableItem();
+ *   }
+ *
+ *   public void putItem(Object x) {
+ *     if (markAsUnused(x))
+ *       available.release();
+ *   }
+ *
+ *   // Not a particularly efficient data structure; just for demo
+ *
+ *   protected Object[] items = ... whatever kinds of items being managed
+ *   protected boolean[] used = new boolean[MAX_AVAILABLE];
+ *
+ *   protected synchronized Object getNextAvailableItem() {
+ *     for (int i = 0; i < MAX_AVAILABLE; ++i) {
+ *       if (!used[i]) {
+ *          used[i] = true;
+ *          return items[i];
+ *       }
+ *     }
+ *     return null; // not reached
+ *   }
+ *
+ *   protected synchronized boolean markAsUnused(Object item) {
+ *     for (int i = 0; i < MAX_AVAILABLE; ++i) {
+ *       if (item == items[i]) {
+ *          if (used[i]) {
+ *            used[i] = false;
+ *            return true;
+ *          } else
+ *            return false;
+ *       }
+ *     }
+ *     return false;
+ *   }
+ *
+ * }
+ * 
+ * + *

Before obtaining an item each thread must acquire a permit from + * the semaphore, guaranteeing that an item is available for use. When + * the thread has finished with the item it is returned back to the + * pool and a permit is returned to the semaphore, allowing another + * thread to acquire that item. Note that no synchronization lock is + * held when {@link #acquire} is called as that would prevent an item + * from being returned to the pool. The semaphore encapsulates the + * synchronization needed to restrict access to the pool, separately + * from any synchronization needed to maintain the consistency of the + * pool itself. + * + *

A semaphore initialized to one, and which is used such that it + * only has at most one permit available, can serve as a mutual + * exclusion lock. This is more commonly known as a binary + * semaphore, because it only has two states: one permit + * available, or zero permits available. When used in this way, the + * binary semaphore has the property (unlike many {@link Lock} + * implementations), that the "lock" can be released by a + * thread other than the owner (as semaphores have no notion of + * ownership). This can be useful in some specialized contexts, such + * as deadlock recovery. + * + *

The constructor for this class optionally accepts a + * fairness parameter. When set false, this class makes no + * guarantees about the order in which threads acquire permits. In + * particular, barging is permitted, that is, a thread + * invoking {@link #acquire} can be allocated a permit ahead of a + * thread that has been waiting - logically the new thread places itself at + * the head of the queue of waiting threads. When fairness is set true, the + * semaphore guarantees that threads invoking any of the {@link + * #acquire() acquire} methods are selected to obtain permits in the order in + * which their invocation of those methods was processed + * (first-in-first-out; FIFO). Note that FIFO ordering necessarily + * applies to specific internal points of execution within these + * methods. So, it is possible for one thread to invoke + * {@code acquire} before another, but reach the ordering point after + * the other, and similarly upon return from the method. + * Also note that the untimed {@link #tryAcquire() tryAcquire} methods do not + * honor the fairness setting, but will take any permits that are + * available. + * + *

Generally, semaphores used to control resource access should be + * initialized as fair, to ensure that no thread is starved out from + * accessing a resource. When using semaphores for other kinds of + * synchronization control, the throughput advantages of non-fair + * ordering often outweigh fairness considerations. + * + *

This class also provides convenience methods to {@link + * #acquire(int) acquire} and {@link #release(int) release} multiple + * permits at a time. Beware of the increased risk of indefinite + * postponement when these methods are used without fairness set true. + * + *

Memory consistency effects: Actions in a thread prior to calling + * a "release" method such as {@code release()} + * happen-before + * actions following a successful "acquire" method such as {@code acquire()} + * in another thread. + * + * @since 1.5 + * @author Doug Lea + * + */ + +public class Semaphore implements java.io.Serializable { + private static final long serialVersionUID = -3222578661600680210L; + /** All mechanics via AbstractQueuedSynchronizer subclass */ + private final Sync sync; + + /** + * Synchronization implementation for semaphore. Uses AQS state + * to represent permits. Subclassed into fair and nonfair + * versions. + */ + abstract static class Sync extends AbstractQueuedSynchronizer { + private static final long serialVersionUID = 1192457210091910933L; + + Sync(int permits) { + setState(permits); + } + + final int getPermits() { + return getState(); + } + + final int nonfairTryAcquireShared(int acquires) { + for (;;) { + int available = getState(); + int remaining = available - acquires; + if (remaining < 0 || + compareAndSetState(available, remaining)) + return remaining; + } + } + + protected final boolean tryReleaseShared(int releases) { + for (;;) { + int p = getState(); + if (compareAndSetState(p, p + releases)) + return true; + } + } + + final void reducePermits(int reductions) { + for (;;) { + int current = getState(); + int next = current - reductions; + if (compareAndSetState(current, next)) + return; + } + } + + final int drainPermits() { + for (;;) { + int current = getState(); + if (current == 0 || compareAndSetState(current, 0)) + return current; + } + } + } + + /** + * NonFair version + */ + final static class NonfairSync extends Sync { + private static final long serialVersionUID = -2694183684443567898L; + + NonfairSync(int permits) { + super(permits); + } + + protected int tryAcquireShared(int acquires) { + return nonfairTryAcquireShared(acquires); + } + } + + /** + * Fair version + */ + final static class FairSync extends Sync { + private static final long serialVersionUID = 2014338818796000944L; + + FairSync(int permits) { + super(permits); + } + + protected int tryAcquireShared(int acquires) { + Thread current = Thread.currentThread(); + for (;;) { + Thread first = getFirstQueuedThread(); + if (first != null && first != current) + return -1; + int available = getState(); + int remaining = available - acquires; + if (remaining < 0 || + compareAndSetState(available, remaining)) + return remaining; + } + } + } + + /** + * Creates a {@code Semaphore} with the given number of + * permits and nonfair fairness setting. + * + * @param permits the initial number of permits available. + * This value may be negative, in which case releases + * must occur before any acquires will be granted. + */ + public Semaphore(int permits) { + sync = new NonfairSync(permits); + } + + /** + * Creates a {@code Semaphore} with the given number of + * permits and the given fairness setting. + * + * @param permits the initial number of permits available. + * This value may be negative, in which case releases + * must occur before any acquires will be granted. + * @param fair {@code true} if this semaphore will guarantee + * first-in first-out granting of permits under contention, + * else {@code false} + */ + public Semaphore(int permits, boolean fair) { + sync = (fair)? new FairSync(permits) : new NonfairSync(permits); + } + + /** + * Acquires a permit from this semaphore, blocking until one is + * available, or the thread is {@linkplain Thread#interrupt interrupted}. + * + *

Acquires a permit, if one is available and returns immediately, + * reducing the number of available permits by one. + * + *

If no permit is available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until + * one of two things happens: + *

    + *
  • Some other thread invokes the {@link #release} method for this + * semaphore and the current thread is next to be assigned a permit; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread. + *
+ * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * for a permit, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + * @throws InterruptedException if the current thread is interrupted + */ + public void acquire() throws InterruptedException { + sync.acquireSharedInterruptibly(1); + } + + /** + * Acquires a permit from this semaphore, blocking until one is + * available. + * + *

Acquires a permit, if one is available and returns immediately, + * reducing the number of available permits by one. + * + *

If no permit is available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until + * some other thread invokes the {@link #release} method for this + * semaphore and the current thread is next to be assigned a permit. + * + *

If the current thread is {@linkplain Thread#interrupt interrupted} + * while waiting for a permit then it will continue to wait, but the + * time at which the thread is assigned a permit may change compared to + * the time it would have received the permit had no interruption + * occurred. When the thread does return from this method its interrupt + * status will be set. + */ + public void acquireUninterruptibly() { + sync.acquireShared(1); + } + + /** + * Acquires a permit from this semaphore, only if one is available at the + * time of invocation. + * + *

Acquires a permit, if one is available and returns immediately, + * with the value {@code true}, + * reducing the number of available permits by one. + * + *

If no permit is available then this method will return + * immediately with the value {@code false}. + * + *

Even when this semaphore has been set to use a + * fair ordering policy, a call to {@code tryAcquire()} will + * immediately acquire a permit if one is available, whether or not + * other threads are currently waiting. + * This "barging" behavior can be useful in certain + * circumstances, even though it breaks fairness. If you want to honor + * the fairness setting, then use + * {@link #tryAcquire(long, TimeUnit) tryAcquire(0, TimeUnit.SECONDS) } + * which is almost equivalent (it also detects interruption). + * + * @return {@code true} if a permit was acquired and {@code false} + * otherwise + */ + public boolean tryAcquire() { + return sync.nonfairTryAcquireShared(1) >= 0; + } + + /** + * Acquires a permit from this semaphore, if one becomes available + * within the given waiting time and the current thread has not + * been {@linkplain Thread#interrupt interrupted}. + * + *

Acquires a permit, if one is available and returns immediately, + * with the value {@code true}, + * reducing the number of available permits by one. + * + *

If no permit is available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until + * one of three things happens: + *

    + *
  • Some other thread invokes the {@link #release} method for this + * semaphore and the current thread is next to be assigned a permit; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + *
  • The specified waiting time elapses. + *
+ * + *

If a permit is acquired then the value {@code true} is returned. + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * to acquire a permit, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the specified waiting time elapses then the value {@code false} + * is returned. If the time is less than or equal to zero, the method + * will not wait at all. + * + * @param timeout the maximum time to wait for a permit + * @param unit the time unit of the {@code timeout} argument + * @return {@code true} if a permit was acquired and {@code false} + * if the waiting time elapsed before a permit was acquired + * @throws InterruptedException if the current thread is interrupted + */ + public boolean tryAcquire(long timeout, TimeUnit unit) + throws InterruptedException { + return sync.tryAcquireSharedNanos(1, unit.toNanos(timeout)); + } + + /** + * Releases a permit, returning it to the semaphore. + * + *

Releases a permit, increasing the number of available permits by + * one. If any threads are trying to acquire a permit, then one is + * selected and given the permit that was just released. That thread + * is (re)enabled for thread scheduling purposes. + * + *

There is no requirement that a thread that releases a permit must + * have acquired that permit by calling {@link #acquire}. + * Correct usage of a semaphore is established by programming convention + * in the application. + */ + public void release() { + sync.releaseShared(1); + } + + /** + * Acquires the given number of permits from this semaphore, + * blocking until all are available, + * or the thread is {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the given number of permits, if they are available, + * and returns immediately, reducing the number of available permits + * by the given amount. + * + *

If insufficient permits are available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until + * one of two things happens: + *

    + *
  • Some other thread invokes one of the {@link #release() release} + * methods for this semaphore, the current thread is next to be assigned + * permits and the number of available permits satisfies this request; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread. + *
+ * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * for a permit, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * Any permits that were to be assigned to this thread are instead + * assigned to other threads trying to acquire permits, as if + * permits had been made available by a call to {@link #release()}. + * + * @param permits the number of permits to acquire + * @throws InterruptedException if the current thread is interrupted + * @throws IllegalArgumentException if {@code permits} is negative + */ + public void acquire(int permits) throws InterruptedException { + if (permits < 0) throw new IllegalArgumentException(); + sync.acquireSharedInterruptibly(permits); + } + + /** + * Acquires the given number of permits from this semaphore, + * blocking until all are available. + * + *

Acquires the given number of permits, if they are available, + * and returns immediately, reducing the number of available permits + * by the given amount. + * + *

If insufficient permits are available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until + * some other thread invokes one of the {@link #release() release} + * methods for this semaphore, the current thread is next to be assigned + * permits and the number of available permits satisfies this request. + * + *

If the current thread is {@linkplain Thread#interrupt interrupted} + * while waiting for permits then it will continue to wait and its + * position in the queue is not affected. When the thread does return + * from this method its interrupt status will be set. + * + * @param permits the number of permits to acquire + * @throws IllegalArgumentException if {@code permits} is negative + * + */ + public void acquireUninterruptibly(int permits) { + if (permits < 0) throw new IllegalArgumentException(); + sync.acquireShared(permits); + } + + /** + * Acquires the given number of permits from this semaphore, only + * if all are available at the time of invocation. + * + *

Acquires the given number of permits, if they are available, and + * returns immediately, with the value {@code true}, + * reducing the number of available permits by the given amount. + * + *

If insufficient permits are available then this method will return + * immediately with the value {@code false} and the number of available + * permits is unchanged. + * + *

Even when this semaphore has been set to use a fair ordering + * policy, a call to {@code tryAcquire} will + * immediately acquire a permit if one is available, whether or + * not other threads are currently waiting. This + * "barging" behavior can be useful in certain + * circumstances, even though it breaks fairness. If you want to + * honor the fairness setting, then use {@link #tryAcquire(int, + * long, TimeUnit) tryAcquire(permits, 0, TimeUnit.SECONDS) } + * which is almost equivalent (it also detects interruption). + * + * @param permits the number of permits to acquire + * @return {@code true} if the permits were acquired and + * {@code false} otherwise + * @throws IllegalArgumentException if {@code permits} is negative + */ + public boolean tryAcquire(int permits) { + if (permits < 0) throw new IllegalArgumentException(); + return sync.nonfairTryAcquireShared(permits) >= 0; + } + + /** + * Acquires the given number of permits from this semaphore, if all + * become available within the given waiting time and the current + * thread has not been {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the given number of permits, if they are available and + * returns immediately, with the value {@code true}, + * reducing the number of available permits by the given amount. + * + *

If insufficient permits are available then + * the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of three things happens: + *

    + *
  • Some other thread invokes one of the {@link #release() release} + * methods for this semaphore, the current thread is next to be assigned + * permits and the number of available permits satisfies this request; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + *
  • The specified waiting time elapses. + *
+ * + *

If the permits are acquired then the value {@code true} is returned. + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * to acquire the permits, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * Any permits that were to be assigned to this thread, are instead + * assigned to other threads trying to acquire permits, as if + * the permits had been made available by a call to {@link #release()}. + * + *

If the specified waiting time elapses then the value {@code false} + * is returned. If the time is less than or equal to zero, the method + * will not wait at all. Any permits that were to be assigned to this + * thread, are instead assigned to other threads trying to acquire + * permits, as if the permits had been made available by a call to + * {@link #release()}. + * + * @param permits the number of permits to acquire + * @param timeout the maximum time to wait for the permits + * @param unit the time unit of the {@code timeout} argument + * @return {@code true} if all permits were acquired and {@code false} + * if the waiting time elapsed before all permits were acquired + * @throws InterruptedException if the current thread is interrupted + * @throws IllegalArgumentException if {@code permits} is negative + */ + public boolean tryAcquire(int permits, long timeout, TimeUnit unit) + throws InterruptedException { + if (permits < 0) throw new IllegalArgumentException(); + return sync.tryAcquireSharedNanos(permits, unit.toNanos(timeout)); + } + + /** + * Releases the given number of permits, returning them to the semaphore. + * + *

Releases the given number of permits, increasing the number of + * available permits by that amount. + * If any threads are trying to acquire permits, then one + * is selected and given the permits that were just released. + * If the number of available permits satisfies that thread's request + * then that thread is (re)enabled for thread scheduling purposes; + * otherwise the thread will wait until sufficient permits are available. + * If there are still permits available + * after this thread's request has been satisfied, then those permits + * are assigned in turn to other threads trying to acquire permits. + * + *

There is no requirement that a thread that releases a permit must + * have acquired that permit by calling {@link Semaphore#acquire acquire}. + * Correct usage of a semaphore is established by programming convention + * in the application. + * + * @param permits the number of permits to release + * @throws IllegalArgumentException if {@code permits} is negative + */ + public void release(int permits) { + if (permits < 0) throw new IllegalArgumentException(); + sync.releaseShared(permits); + } + + /** + * Returns the current number of permits available in this semaphore. + * + *

This method is typically used for debugging and testing purposes. + * + * @return the number of permits available in this semaphore + */ + public int availablePermits() { + return sync.getPermits(); + } + + /** + * Acquires and returns all permits that are immediately available. + * + * @return the number of permits acquired + */ + public int drainPermits() { + return sync.drainPermits(); + } + + /** + * Shrinks the number of available permits by the indicated + * reduction. This method can be useful in subclasses that use + * semaphores to track resources that become unavailable. This + * method differs from {@code acquire} in that it does not block + * waiting for permits to become available. + * + * @param reduction the number of permits to remove + * @throws IllegalArgumentException if {@code reduction} is negative + */ + protected void reducePermits(int reduction) { + if (reduction < 0) throw new IllegalArgumentException(); + sync.reducePermits(reduction); + } + + /** + * Returns {@code true} if this semaphore has fairness set true. + * + * @return {@code true} if this semaphore has fairness set true + */ + public boolean isFair() { + return sync instanceof FairSync; + } + + /** + * Queries whether any threads are waiting to acquire. Note that + * because cancellations may occur at any time, a {@code true} + * return does not guarantee that any other thread will ever + * acquire. This method is designed primarily for use in + * monitoring of the system state. + * + * @return {@code true} if there may be other threads waiting to + * acquire the lock + */ + public final boolean hasQueuedThreads() { + return sync.hasQueuedThreads(); + } + + /** + * Returns an estimate of the number of threads waiting to acquire. + * The value is only an estimate because the number of threads may + * change dynamically while this method traverses internal data + * structures. This method is designed for use in monitoring of the + * system state, not for synchronization control. + * + * @return the estimated number of threads waiting for this lock + */ + public final int getQueueLength() { + return sync.getQueueLength(); + } + + /** + * Returns a collection containing threads that may be waiting to acquire. + * Because the actual set of threads may change dynamically while + * constructing this result, the returned collection is only a best-effort + * estimate. The elements of the returned collection are in no particular + * order. This method is designed to facilitate construction of + * subclasses that provide more extensive monitoring facilities. + * + * @return the collection of threads + */ + protected Collection getQueuedThreads() { + return sync.getQueuedThreads(); + } + + /** + * Returns a string identifying this semaphore, as well as its state. + * The state, in brackets, includes the String {@code "Permits ="} + * followed by the number of permits. + * + * @return a string identifying this semaphore, as well as its state + */ + public String toString() { + return super.toString() + "[Permits = " + sync.getPermits() + "]"; + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/SynchronousQueue.java b/libjava/classpath/external/jsr166/java/util/concurrent/SynchronousQueue.java new file mode 100644 index 00000000000..e47e0401cfe --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/SynchronousQueue.java @@ -0,0 +1,1127 @@ +/* + * Written by Doug Lea, Bill Scherer, and Michael Scott with + * assistance from members of JCP JSR-166 Expert Group and released to + * the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; +import java.util.concurrent.atomic.*; +import java.util.*; + +/** + * A {@linkplain BlockingQueue blocking queue} in which each insert + * operation must wait for a corresponding remove operation by another + * thread, and vice versa. A synchronous queue does not have any + * internal capacity, not even a capacity of one. You cannot + * peek at a synchronous queue because an element is only + * present when you try to remove it; you cannot insert an element + * (using any method) unless another thread is trying to remove it; + * you cannot iterate as there is nothing to iterate. The + * head of the queue is the element that the first queued + * inserting thread is trying to add to the queue; if there is no such + * queued thread then no element is available for removal and + * poll() will return null. For purposes of other + * Collection methods (for example contains), a + * SynchronousQueue acts as an empty collection. This queue + * does not permit null elements. + * + *

Synchronous queues are similar to rendezvous channels used in + * CSP and Ada. They are well suited for handoff designs, in which an + * object running in one thread must sync up with an object running + * in another thread in order to hand it some information, event, or + * task. + * + *

This class supports an optional fairness policy for ordering + * waiting producer and consumer threads. By default, this ordering + * is not guaranteed. However, a queue constructed with fairness set + * to true grants threads access in FIFO order. + * + *

This class and its iterator implement all of the + * optional methods of the {@link Collection} and {@link + * Iterator} interfaces. + * + *

This class is a member of the + * + * Java Collections Framework. + * + * @since 1.5 + * @author Doug Lea and Bill Scherer and Michael Scott + * @param the type of elements held in this collection + */ +public class SynchronousQueue extends AbstractQueue + implements BlockingQueue, java.io.Serializable { + private static final long serialVersionUID = -3223113410248163686L; + + /* + * This class implements extensions of the dual stack and dual + * queue algorithms described in "Nonblocking Concurrent Objects + * with Condition Synchronization", by W. N. Scherer III and + * M. L. Scott. 18th Annual Conf. on Distributed Computing, + * Oct. 2004 (see also + * http://www.cs.rochester.edu/u/scott/synchronization/pseudocode/duals.html). + * The (Lifo) stack is used for non-fair mode, and the (Fifo) + * queue for fair mode. The performance of the two is generally + * similar. Fifo usually supports higher throughput under + * contention but Lifo maintains higher thread locality in common + * applications. + * + * A dual queue (and similarly stack) is one that at any given + * time either holds "data" -- items provided by put operations, + * or "requests" -- slots representing take operations, or is + * empty. A call to "fulfill" (i.e., a call requesting an item + * from a queue holding data or vice versa) dequeues a + * complementary node. The most interesting feature of these + * queues is that any operation can figure out which mode the + * queue is in, and act accordingly without needing locks. + * + * Both the queue and stack extend abstract class Transferer + * defining the single method transfer that does a put or a + * take. These are unified into a single method because in dual + * data structures, the put and take operations are symmetrical, + * so nearly all code can be combined. The resulting transfer + * methods are on the long side, but are easier to follow than + * they would be if broken up into nearly-duplicated parts. + * + * The queue and stack data structures share many conceptual + * similarities but very few concrete details. For simplicity, + * they are kept distinct so that they can later evolve + * separately. + * + * The algorithms here differ from the versions in the above paper + * in extending them for use in synchronous queues, as well as + * dealing with cancellation. The main differences include: + * + * 1. The original algorithms used bit-marked pointers, but + * the ones here use mode bits in nodes, leading to a number + * of further adaptations. + * 2. SynchronousQueues must block threads waiting to become + * fulfilled. + * 3. Support for cancellation via timeout and interrupts, + * including cleaning out cancelled nodes/threads + * from lists to avoid garbage retention and memory depletion. + * + * Blocking is mainly accomplished using LockSupport park/unpark, + * except that nodes that appear to be the next ones to become + * fulfilled first spin a bit (on multiprocessors only). On very + * busy synchronous queues, spinning can dramatically improve + * throughput. And on less busy ones, the amount of spinning is + * small enough not to be noticeable. + * + * Cleaning is done in different ways in queues vs stacks. For + * queues, we can almost always remove a node immediately in O(1) + * time (modulo retries for consistency checks) when it is + * cancelled. But if it may be pinned as the current tail, it must + * wait until some subsequent cancellation. For stacks, we need a + * potentially O(n) traversal to be sure that we can remove the + * node, but this can run concurrently with other threads + * accessing the stack. + * + * While garbage collection takes care of most node reclamation + * issues that otherwise complicate nonblocking algorithms, care + * is taken to "forget" references to data, other nodes, and + * threads that might be held on to long-term by blocked + * threads. In cases where setting to null would otherwise + * conflict with main algorithms, this is done by changing a + * node's link to now point to the node itself. This doesn't arise + * much for Stack nodes (because blocked threads do not hang on to + * old head pointers), but references in Queue nodes must be + * aggressively forgotten to avoid reachability of everything any + * node has ever referred to since arrival. + */ + + /** + * Shared internal API for dual stacks and queues. + */ + static abstract class Transferer { + /** + * Performs a put or take. + * + * @param e if non-null, the item to be handed to a consumer; + * if null, requests that transfer return an item + * offered by producer. + * @param timed if this operation should timeout + * @param nanos the timeout, in nanoseconds + * @return if non-null, the item provided or received; if null, + * the operation failed due to timeout or interrupt -- + * the caller can distinguish which of these occurred + * by checking Thread.interrupted. + */ + abstract Object transfer(Object e, boolean timed, long nanos); + } + + /** The number of CPUs, for spin control */ + static final int NCPUS = Runtime.getRuntime().availableProcessors(); + + /** + * The number of times to spin before blocking in timed waits. + * The value is empirically derived -- it works well across a + * variety of processors and OSes. Empirically, the best value + * seems not to vary with number of CPUs (beyond 2) so is just + * a constant. + */ + static final int maxTimedSpins = (NCPUS < 2)? 0 : 32; + + /** + * The number of times to spin before blocking in untimed waits. + * This is greater than timed value because untimed waits spin + * faster since they don't need to check times on each spin. + */ + static final int maxUntimedSpins = maxTimedSpins * 16; + + /** + * The number of nanoseconds for which it is faster to spin + * rather than to use timed park. A rough estimate suffices. + */ + static final long spinForTimeoutThreshold = 1000L; + + /** Dual stack */ + static final class TransferStack extends Transferer { + /* + * This extends Scherer-Scott dual stack algorithm, differing, + * among other ways, by using "covering" nodes rather than + * bit-marked pointers: Fulfilling operations push on marker + * nodes (with FULFILLING bit set in mode) to reserve a spot + * to match a waiting node. + */ + + /* Modes for SNodes, ORed together in node fields */ + /** Node represents an unfulfilled consumer */ + static final int REQUEST = 0; + /** Node represents an unfulfilled producer */ + static final int DATA = 1; + /** Node is fulfilling another unfulfilled DATA or REQUEST */ + static final int FULFILLING = 2; + + /** Return true if m has fulfilling bit set */ + static boolean isFulfilling(int m) { return (m & FULFILLING) != 0; } + + /** Node class for TransferStacks. */ + static final class SNode { + volatile SNode next; // next node in stack + volatile SNode match; // the node matched to this + volatile Thread waiter; // to control park/unpark + Object item; // data; or null for REQUESTs + int mode; + // Note: item and mode fields don't need to be volatile + // since they are always written before, and read after, + // other volatile/atomic operations. + + SNode(Object item) { + this.item = item; + } + + static final AtomicReferenceFieldUpdater + nextUpdater = AtomicReferenceFieldUpdater.newUpdater + (SNode.class, SNode.class, "next"); + + boolean casNext(SNode cmp, SNode val) { + return (cmp == next && + nextUpdater.compareAndSet(this, cmp, val)); + } + + static final AtomicReferenceFieldUpdater + matchUpdater = AtomicReferenceFieldUpdater.newUpdater + (SNode.class, SNode.class, "match"); + + /** + * Tries to match node s to this node, if so, waking up thread. + * Fulfillers call tryMatch to identify their waiters. + * Waiters block until they have been matched. + * + * @param s the node to match + * @return true if successfully matched to s + */ + boolean tryMatch(SNode s) { + if (match == null && + matchUpdater.compareAndSet(this, null, s)) { + Thread w = waiter; + if (w != null) { // waiters need at most one unpark + waiter = null; + LockSupport.unpark(w); + } + return true; + } + return match == s; + } + + /** + * Tries to cancel a wait by matching node to itself. + */ + void tryCancel() { + matchUpdater.compareAndSet(this, null, this); + } + + boolean isCancelled() { + return match == this; + } + } + + /** The head (top) of the stack */ + volatile SNode head; + + static final AtomicReferenceFieldUpdater + headUpdater = AtomicReferenceFieldUpdater.newUpdater + (TransferStack.class, SNode.class, "head"); + + boolean casHead(SNode h, SNode nh) { + return h == head && headUpdater.compareAndSet(this, h, nh); + } + + /** + * Creates or resets fields of a node. Called only from transfer + * where the node to push on stack is lazily created and + * reused when possible to help reduce intervals between reads + * and CASes of head and to avoid surges of garbage when CASes + * to push nodes fail due to contention. + */ + static SNode snode(SNode s, Object e, SNode next, int mode) { + if (s == null) s = new SNode(e); + s.mode = mode; + s.next = next; + return s; + } + + /** + * Puts or takes an item. + */ + Object transfer(Object e, boolean timed, long nanos) { + /* + * Basic algorithm is to loop trying one of three actions: + * + * 1. If apparently empty or already containing nodes of same + * mode, try to push node on stack and wait for a match, + * returning it, or null if cancelled. + * + * 2. If apparently containing node of complementary mode, + * try to push a fulfilling node on to stack, match + * with corresponding waiting node, pop both from + * stack, and return matched item. The matching or + * unlinking might not actually be necessary because of + * other threads performing action 3: + * + * 3. If top of stack already holds another fulfilling node, + * help it out by doing its match and/or pop + * operations, and then continue. The code for helping + * is essentially the same as for fulfilling, except + * that it doesn't return the item. + */ + + SNode s = null; // constructed/reused as needed + int mode = (e == null)? REQUEST : DATA; + + for (;;) { + SNode h = head; + if (h == null || h.mode == mode) { // empty or same-mode + if (timed && nanos <= 0) { // can't wait + if (h != null && h.isCancelled()) + casHead(h, h.next); // pop cancelled node + else + return null; + } else if (casHead(h, s = snode(s, e, h, mode))) { + SNode m = awaitFulfill(s, timed, nanos); + if (m == s) { // wait was cancelled + clean(s); + return null; + } + if ((h = head) != null && h.next == s) + casHead(h, s.next); // help s's fulfiller + return mode == REQUEST? m.item : s.item; + } + } else if (!isFulfilling(h.mode)) { // try to fulfill + if (h.isCancelled()) // already cancelled + casHead(h, h.next); // pop and retry + else if (casHead(h, s=snode(s, e, h, FULFILLING|mode))) { + for (;;) { // loop until matched or waiters disappear + SNode m = s.next; // m is s's match + if (m == null) { // all waiters are gone + casHead(s, null); // pop fulfill node + s = null; // use new node next time + break; // restart main loop + } + SNode mn = m.next; + if (m.tryMatch(s)) { + casHead(s, mn); // pop both s and m + return (mode == REQUEST)? m.item : s.item; + } else // lost match + s.casNext(m, mn); // help unlink + } + } + } else { // help a fulfiller + SNode m = h.next; // m is h's match + if (m == null) // waiter is gone + casHead(h, null); // pop fulfilling node + else { + SNode mn = m.next; + if (m.tryMatch(h)) // help match + casHead(h, mn); // pop both h and m + else // lost match + h.casNext(m, mn); // help unlink + } + } + } + } + + /** + * Spins/blocks until node s is matched by a fulfill operation. + * + * @param s the waiting node + * @param timed true if timed wait + * @param nanos timeout value + * @return matched node, or s if cancelled + */ + SNode awaitFulfill(SNode s, boolean timed, long nanos) { + /* + * When a node/thread is about to block, it sets its waiter + * field and then rechecks state at least one more time + * before actually parking, thus covering race vs + * fulfiller noticing that waiter is non-null so should be + * woken. + * + * When invoked by nodes that appear at the point of call + * to be at the head of the stack, calls to park are + * preceded by spins to avoid blocking when producers and + * consumers are arriving very close in time. This can + * happen enough to bother only on multiprocessors. + * + * The order of checks for returning out of main loop + * reflects fact that interrupts have precedence over + * normal returns, which have precedence over + * timeouts. (So, on timeout, one last check for match is + * done before giving up.) Except that calls from untimed + * SynchronousQueue.{poll/offer} don't check interrupts + * and don't wait at all, so are trapped in transfer + * method rather than calling awaitFulfill. + */ + long lastTime = (timed)? System.nanoTime() : 0; + Thread w = Thread.currentThread(); + SNode h = head; + int spins = (shouldSpin(s)? + (timed? maxTimedSpins : maxUntimedSpins) : 0); + for (;;) { + if (w.isInterrupted()) + s.tryCancel(); + SNode m = s.match; + if (m != null) + return m; + if (timed) { + long now = System.nanoTime(); + nanos -= now - lastTime; + lastTime = now; + if (nanos <= 0) { + s.tryCancel(); + continue; + } + } + if (spins > 0) + spins = shouldSpin(s)? (spins-1) : 0; + else if (s.waiter == null) + s.waiter = w; // establish waiter so can park next iter + else if (!timed) + LockSupport.park(this); + else if (nanos > spinForTimeoutThreshold) + LockSupport.parkNanos(this, nanos); + } + } + + /** + * Returns true if node s is at head or there is an active + * fulfiller. + */ + boolean shouldSpin(SNode s) { + SNode h = head; + return (h == s || h == null || isFulfilling(h.mode)); + } + + /** + * Unlinks s from the stack. + */ + void clean(SNode s) { + s.item = null; // forget item + s.waiter = null; // forget thread + + /* + * At worst we may need to traverse entire stack to unlink + * s. If there are multiple concurrent calls to clean, we + * might not see s if another thread has already removed + * it. But we can stop when we see any node known to + * follow s. We use s.next unless it too is cancelled, in + * which case we try the node one past. We don't check any + * further because we don't want to doubly traverse just to + * find sentinel. + */ + + SNode past = s.next; + if (past != null && past.isCancelled()) + past = past.next; + + // Absorb cancelled nodes at head + SNode p; + while ((p = head) != null && p != past && p.isCancelled()) + casHead(p, p.next); + + // Unsplice embedded nodes + while (p != null && p != past) { + SNode n = p.next; + if (n != null && n.isCancelled()) + p.casNext(n, n.next); + else + p = n; + } + } + } + + /** Dual Queue */ + static final class TransferQueue extends Transferer { + /* + * This extends Scherer-Scott dual queue algorithm, differing, + * among other ways, by using modes within nodes rather than + * marked pointers. The algorithm is a little simpler than + * that for stacks because fulfillers do not need explicit + * nodes, and matching is done by CAS'ing QNode.item field + * from non-null to null (for put) or vice versa (for take). + */ + + /** Node class for TransferQueue. */ + static final class QNode { + volatile QNode next; // next node in queue + volatile Object item; // CAS'ed to or from null + volatile Thread waiter; // to control park/unpark + final boolean isData; + + QNode(Object item, boolean isData) { + this.item = item; + this.isData = isData; + } + + static final AtomicReferenceFieldUpdater + nextUpdater = AtomicReferenceFieldUpdater.newUpdater + (QNode.class, QNode.class, "next"); + + boolean casNext(QNode cmp, QNode val) { + return (next == cmp && + nextUpdater.compareAndSet(this, cmp, val)); + } + + static final AtomicReferenceFieldUpdater + itemUpdater = AtomicReferenceFieldUpdater.newUpdater + (QNode.class, Object.class, "item"); + + boolean casItem(Object cmp, Object val) { + return (item == cmp && + itemUpdater.compareAndSet(this, cmp, val)); + } + + /** + * Tries to cancel by CAS'ing ref to this as item. + */ + void tryCancel(Object cmp) { + itemUpdater.compareAndSet(this, cmp, this); + } + + boolean isCancelled() { + return item == this; + } + + /** + * Returns true if this node is known to be off the queue + * because its next pointer has been forgotten due to + * an advanceHead operation. + */ + boolean isOffList() { + return next == this; + } + } + + /** Head of queue */ + transient volatile QNode head; + /** Tail of queue */ + transient volatile QNode tail; + /** + * Reference to a cancelled node that might not yet have been + * unlinked from queue because it was the last inserted node + * when it cancelled. + */ + transient volatile QNode cleanMe; + + TransferQueue() { + QNode h = new QNode(null, false); // initialize to dummy node. + head = h; + tail = h; + } + + static final AtomicReferenceFieldUpdater + headUpdater = AtomicReferenceFieldUpdater.newUpdater + (TransferQueue.class, QNode.class, "head"); + + /** + * Tries to cas nh as new head; if successful, unlink + * old head's next node to avoid garbage retention. + */ + void advanceHead(QNode h, QNode nh) { + if (h == head && headUpdater.compareAndSet(this, h, nh)) + h.next = h; // forget old next + } + + static final AtomicReferenceFieldUpdater + tailUpdater = AtomicReferenceFieldUpdater.newUpdater + (TransferQueue.class, QNode.class, "tail"); + + /** + * Tries to cas nt as new tail. + */ + void advanceTail(QNode t, QNode nt) { + if (tail == t) + tailUpdater.compareAndSet(this, t, nt); + } + + static final AtomicReferenceFieldUpdater + cleanMeUpdater = AtomicReferenceFieldUpdater.newUpdater + (TransferQueue.class, QNode.class, "cleanMe"); + + /** + * Tries to CAS cleanMe slot. + */ + boolean casCleanMe(QNode cmp, QNode val) { + return (cleanMe == cmp && + cleanMeUpdater.compareAndSet(this, cmp, val)); + } + + /** + * Puts or takes an item. + */ + Object transfer(Object e, boolean timed, long nanos) { + /* Basic algorithm is to loop trying to take either of + * two actions: + * + * 1. If queue apparently empty or holding same-mode nodes, + * try to add node to queue of waiters, wait to be + * fulfilled (or cancelled) and return matching item. + * + * 2. If queue apparently contains waiting items, and this + * call is of complementary mode, try to fulfill by CAS'ing + * item field of waiting node and dequeuing it, and then + * returning matching item. + * + * In each case, along the way, check for and try to help + * advance head and tail on behalf of other stalled/slow + * threads. + * + * The loop starts off with a null check guarding against + * seeing uninitialized head or tail values. This never + * happens in current SynchronousQueue, but could if + * callers held non-volatile/final ref to the + * transferer. The check is here anyway because it places + * null checks at top of loop, which is usually faster + * than having them implicitly interspersed. + */ + + QNode s = null; // constructed/reused as needed + boolean isData = (e != null); + + for (;;) { + QNode t = tail; + QNode h = head; + if (t == null || h == null) // saw uninitialized value + continue; // spin + + if (h == t || t.isData == isData) { // empty or same-mode + QNode tn = t.next; + if (t != tail) // inconsistent read + continue; + if (tn != null) { // lagging tail + advanceTail(t, tn); + continue; + } + if (timed && nanos <= 0) // can't wait + return null; + if (s == null) + s = new QNode(e, isData); + if (!t.casNext(null, s)) // failed to link in + continue; + + advanceTail(t, s); // swing tail and wait + Object x = awaitFulfill(s, e, timed, nanos); + if (x == s) { // wait was cancelled + clean(t, s); + return null; + } + + if (!s.isOffList()) { // not already unlinked + advanceHead(t, s); // unlink if head + if (x != null) // and forget fields + s.item = s; + s.waiter = null; + } + return (x != null)? x : e; + + } else { // complementary-mode + QNode m = h.next; // node to fulfill + if (t != tail || m == null || h != head) + continue; // inconsistent read + + Object x = m.item; + if (isData == (x != null) || // m already fulfilled + x == m || // m cancelled + !m.casItem(x, e)) { // lost CAS + advanceHead(h, m); // dequeue and retry + continue; + } + + advanceHead(h, m); // successfully fulfilled + LockSupport.unpark(m.waiter); + return (x != null)? x : e; + } + } + } + + /** + * Spins/blocks until node s is fulfilled. + * + * @param s the waiting node + * @param e the comparison value for checking match + * @param timed true if timed wait + * @param nanos timeout value + * @return matched item, or s if cancelled + */ + Object awaitFulfill(QNode s, Object e, boolean timed, long nanos) { + /* Same idea as TransferStack.awaitFulfill */ + long lastTime = (timed)? System.nanoTime() : 0; + Thread w = Thread.currentThread(); + int spins = ((head.next == s) ? + (timed? maxTimedSpins : maxUntimedSpins) : 0); + for (;;) { + if (w.isInterrupted()) + s.tryCancel(e); + Object x = s.item; + if (x != e) + return x; + if (timed) { + long now = System.nanoTime(); + nanos -= now - lastTime; + lastTime = now; + if (nanos <= 0) { + s.tryCancel(e); + continue; + } + } + if (spins > 0) + --spins; + else if (s.waiter == null) + s.waiter = w; + else if (!timed) + LockSupport.park(this); + else if (nanos > spinForTimeoutThreshold) + LockSupport.parkNanos(this, nanos); + } + } + + /** + * Gets rid of cancelled node s with original predecessor pred. + */ + void clean(QNode pred, QNode s) { + s.waiter = null; // forget thread + /* + * At any given time, exactly one node on list cannot be + * deleted -- the last inserted node. To accommodate this, + * if we cannot delete s, we save its predecessor as + * "cleanMe", deleting the previously saved version + * first. At least one of node s or the node previously + * saved can always be deleted, so this always terminates. + */ + while (pred.next == s) { // Return early if already unlinked + QNode h = head; + QNode hn = h.next; // Absorb cancelled first node as head + if (hn != null && hn.isCancelled()) { + advanceHead(h, hn); + continue; + } + QNode t = tail; // Ensure consistent read for tail + if (t == h) + return; + QNode tn = t.next; + if (t != tail) + continue; + if (tn != null) { + advanceTail(t, tn); + continue; + } + if (s != t) { // If not tail, try to unsplice + QNode sn = s.next; + if (sn == s || pred.casNext(s, sn)) + return; + } + QNode dp = cleanMe; + if (dp != null) { // Try unlinking previous cancelled node + QNode d = dp.next; + QNode dn; + if (d == null || // d is gone or + d == dp || // d is off list or + !d.isCancelled() || // d not cancelled or + (d != t && // d not tail and + (dn = d.next) != null && // has successor + dn != d && // that is on list + dp.casNext(d, dn))) // d unspliced + casCleanMe(dp, null); + if (dp == pred) + return; // s is already saved node + } else if (casCleanMe(null, pred)) + return; // Postpone cleaning s + } + } + } + + /** + * The transferer. Set only in constructor, but cannot be declared + * as final without further complicating serialization. Since + * this is accessed only at most once per public method, there + * isn't a noticeable performance penalty for using volatile + * instead of final here. + */ + private transient volatile Transferer transferer; + + /** + * Creates a SynchronousQueue with nonfair access policy. + */ + public SynchronousQueue() { + this(false); + } + + /** + * Creates a SynchronousQueue with the specified fairness policy. + * + * @param fair if true, waiting threads contend in FIFO order for + * access; otherwise the order is unspecified. + */ + public SynchronousQueue(boolean fair) { + transferer = (fair)? new TransferQueue() : new TransferStack(); + } + + /** + * Adds the specified element to this queue, waiting if necessary for + * another thread to receive it. + * + * @throws InterruptedException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public void put(E o) throws InterruptedException { + if (o == null) throw new NullPointerException(); + if (transferer.transfer(o, false, 0) == null) { + Thread.interrupted(); + throw new InterruptedException(); + } + } + + /** + * Inserts the specified element into this queue, waiting if necessary + * up to the specified wait time for another thread to receive it. + * + * @return true if successful, or false if the + * specified waiting time elapses before a consumer appears. + * @throws InterruptedException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + */ + public boolean offer(E o, long timeout, TimeUnit unit) + throws InterruptedException { + if (o == null) throw new NullPointerException(); + if (transferer.transfer(o, true, unit.toNanos(timeout)) != null) + return true; + if (!Thread.interrupted()) + return false; + throw new InterruptedException(); + } + + /** + * Inserts the specified element into this queue, if another thread is + * waiting to receive it. + * + * @param e the element to add + * @return true if the element was added to this queue, else + * false + * @throws NullPointerException if the specified element is null + */ + public boolean offer(E e) { + if (e == null) throw new NullPointerException(); + return transferer.transfer(e, true, 0) != null; + } + + /** + * Retrieves and removes the head of this queue, waiting if necessary + * for another thread to insert it. + * + * @return the head of this queue + * @throws InterruptedException {@inheritDoc} + */ + public E take() throws InterruptedException { + Object e = transferer.transfer(null, false, 0); + if (e != null) + return (E)e; + Thread.interrupted(); + throw new InterruptedException(); + } + + /** + * Retrieves and removes the head of this queue, waiting + * if necessary up to the specified wait time, for another thread + * to insert it. + * + * @return the head of this queue, or null if the + * specified waiting time elapses before an element is present. + * @throws InterruptedException {@inheritDoc} + */ + public E poll(long timeout, TimeUnit unit) throws InterruptedException { + Object e = transferer.transfer(null, true, unit.toNanos(timeout)); + if (e != null || !Thread.interrupted()) + return (E)e; + throw new InterruptedException(); + } + + /** + * Retrieves and removes the head of this queue, if another thread + * is currently making an element available. + * + * @return the head of this queue, or null if no + * element is available. + */ + public E poll() { + return (E)transferer.transfer(null, true, 0); + } + + /** + * Always returns true. + * A SynchronousQueue has no internal capacity. + * + * @return true + */ + public boolean isEmpty() { + return true; + } + + /** + * Always returns zero. + * A SynchronousQueue has no internal capacity. + * + * @return zero. + */ + public int size() { + return 0; + } + + /** + * Always returns zero. + * A SynchronousQueue has no internal capacity. + * + * @return zero. + */ + public int remainingCapacity() { + return 0; + } + + /** + * Does nothing. + * A SynchronousQueue has no internal capacity. + */ + public void clear() { + } + + /** + * Always returns false. + * A SynchronousQueue has no internal capacity. + * + * @param o the element + * @return false + */ + public boolean contains(Object o) { + return false; + } + + /** + * Always returns false. + * A SynchronousQueue has no internal capacity. + * + * @param o the element to remove + * @return false + */ + public boolean remove(Object o) { + return false; + } + + /** + * Returns false unless the given collection is empty. + * A SynchronousQueue has no internal capacity. + * + * @param c the collection + * @return false unless given collection is empty + */ + public boolean containsAll(Collection c) { + return c.isEmpty(); + } + + /** + * Always returns false. + * A SynchronousQueue has no internal capacity. + * + * @param c the collection + * @return false + */ + public boolean removeAll(Collection c) { + return false; + } + + /** + * Always returns false. + * A SynchronousQueue has no internal capacity. + * + * @param c the collection + * @return false + */ + public boolean retainAll(Collection c) { + return false; + } + + /** + * Always returns null. + * A SynchronousQueue does not return elements + * unless actively waited on. + * + * @return null + */ + public E peek() { + return null; + } + + static class EmptyIterator implements Iterator { + public boolean hasNext() { + return false; + } + public E next() { + throw new NoSuchElementException(); + } + public void remove() { + throw new IllegalStateException(); + } + } + + /** + * Returns an empty iterator in which hasNext always returns + * false. + * + * @return an empty iterator + */ + public Iterator iterator() { + return new EmptyIterator(); + } + + /** + * Returns a zero-length array. + * @return a zero-length array + */ + public Object[] toArray() { + return new Object[0]; + } + + /** + * Sets the zeroeth element of the specified array to null + * (if the array has non-zero length) and returns it. + * + * @param a the array + * @return the specified array + * @throws NullPointerException if the specified array is null + */ + public T[] toArray(T[] a) { + if (a.length > 0) + a[0] = null; + return a; + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + int n = 0; + E e; + while ( (e = poll()) != null) { + c.add(e); + ++n; + } + return n; + } + + /** + * @throws UnsupportedOperationException {@inheritDoc} + * @throws ClassCastException {@inheritDoc} + * @throws NullPointerException {@inheritDoc} + * @throws IllegalArgumentException {@inheritDoc} + */ + public int drainTo(Collection c, int maxElements) { + if (c == null) + throw new NullPointerException(); + if (c == this) + throw new IllegalArgumentException(); + int n = 0; + E e; + while (n < maxElements && (e = poll()) != null) { + c.add(e); + ++n; + } + return n; + } + + /* + * To cope with serialization strategy in the 1.5 version of + * SynchronousQueue, we declare some unused classes and fields + * that exist solely to enable serializability across versions. + * These fields are never used, so are initialized only if this + * object is ever serialized or deserialized. + */ + + static class WaitQueue implements java.io.Serializable { } + static class LifoWaitQueue extends WaitQueue { + private static final long serialVersionUID = -3633113410248163686L; + } + static class FifoWaitQueue extends WaitQueue { + private static final long serialVersionUID = -3623113410248163686L; + } + private ReentrantLock qlock; + private WaitQueue waitingProducers; + private WaitQueue waitingConsumers; + + /** + * Save the state to a stream (that is, serialize it). + * + * @param s the stream + */ + private void writeObject(java.io.ObjectOutputStream s) + throws java.io.IOException { + boolean fair = transferer instanceof TransferQueue; + if (fair) { + qlock = new ReentrantLock(true); + waitingProducers = new FifoWaitQueue(); + waitingConsumers = new FifoWaitQueue(); + } + else { + qlock = new ReentrantLock(); + waitingProducers = new LifoWaitQueue(); + waitingConsumers = new LifoWaitQueue(); + } + s.defaultWriteObject(); + } + + private void readObject(final java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + s.defaultReadObject(); + if (waitingProducers instanceof FifoWaitQueue) + transferer = new TransferQueue(); + else + transferer = new TransferStack(); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ThreadFactory.java b/libjava/classpath/external/jsr166/java/util/concurrent/ThreadFactory.java new file mode 100644 index 00000000000..eca8dceb0e9 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ThreadFactory.java @@ -0,0 +1,40 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * An object that creates new threads on demand. Using thread factories + * removes hardwiring of calls to {@link Thread#Thread(Runnable) new Thread}, + * enabling applications to use special thread subclasses, priorities, etc. + * + *

+ * The simplest implementation of this interface is just: + *

+ * class SimpleThreadFactory implements ThreadFactory {
+ *   public Thread newThread(Runnable r) {
+ *     return new Thread(r);
+ *   }
+ * }
+ * 
+ * + * The {@link Executors#defaultThreadFactory} method provides a more + * useful simple implementation, that sets the created thread context + * to known values before returning it. + * @since 1.5 + * @author Doug Lea + */ +public interface ThreadFactory { + + /** + * Constructs a new Thread. Implementations may also initialize + * priority, name, daemon status, ThreadGroup, etc. + * + * @param r a runnable to be executed by new thread instance + * @return constructed thread + */ + Thread newThread(Runnable r); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ThreadPoolExecutor.java b/libjava/classpath/external/jsr166/java/util/concurrent/ThreadPoolExecutor.java new file mode 100644 index 00000000000..ea89a2c082f --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ThreadPoolExecutor.java @@ -0,0 +1,1605 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; +import java.util.concurrent.locks.*; +import java.util.*; + +/** + * An {@link ExecutorService} that executes each submitted task using + * one of possibly several pooled threads, normally configured + * using {@link Executors} factory methods. + * + *

Thread pools address two different problems: they usually + * provide improved performance when executing large numbers of + * asynchronous tasks, due to reduced per-task invocation overhead, + * and they provide a means of bounding and managing the resources, + * including threads, consumed when executing a collection of tasks. + * Each ThreadPoolExecutor also maintains some basic + * statistics, such as the number of completed tasks. + * + *

To be useful across a wide range of contexts, this class + * provides many adjustable parameters and extensibility + * hooks. However, programmers are urged to use the more convenient + * {@link Executors} factory methods {@link + * Executors#newCachedThreadPool} (unbounded thread pool, with + * automatic thread reclamation), {@link Executors#newFixedThreadPool} + * (fixed size thread pool) and {@link + * Executors#newSingleThreadExecutor} (single background thread), that + * preconfigure settings for the most common usage + * scenarios. Otherwise, use the following guide when manually + * configuring and tuning this class: + * + *

+ * + *
Core and maximum pool sizes
+ * + *
A ThreadPoolExecutor will automatically adjust the + * pool size + * (see {@link ThreadPoolExecutor#getPoolSize}) + * according to the bounds set by corePoolSize + * (see {@link ThreadPoolExecutor#getCorePoolSize}) + * and + * maximumPoolSize + * (see {@link ThreadPoolExecutor#getMaximumPoolSize}). + * When a new task is submitted in method {@link + * ThreadPoolExecutor#execute}, and fewer than corePoolSize threads + * are running, a new thread is created to handle the request, even if + * other worker threads are idle. If there are more than + * corePoolSize but less than maximumPoolSize threads running, a new + * thread will be created only if the queue is full. By setting + * corePoolSize and maximumPoolSize the same, you create a fixed-size + * thread pool. By setting maximumPoolSize to an essentially unbounded + * value such as Integer.MAX_VALUE, you allow the pool to + * accommodate an arbitrary number of concurrent tasks. Most typically, + * core and maximum pool sizes are set only upon construction, but they + * may also be changed dynamically using {@link + * ThreadPoolExecutor#setCorePoolSize} and {@link + * ThreadPoolExecutor#setMaximumPoolSize}.
+ * + *
On-demand construction + * + *
By default, even core threads are initially created and + * started only when new tasks arrive, but this can be overridden + * dynamically using method {@link + * ThreadPoolExecutor#prestartCoreThread} or + * {@link ThreadPoolExecutor#prestartAllCoreThreads}. + * You probably want to prestart threads if you construct the + * pool with a non-empty queue.
+ * + *
Creating new threads
+ * + *
New threads are created using a {@link + * java.util.concurrent.ThreadFactory}. If not otherwise specified, a + * {@link Executors#defaultThreadFactory} is used, that creates threads to all + * be in the same {@link ThreadGroup} and with the same + * NORM_PRIORITY priority and non-daemon status. By supplying + * a different ThreadFactory, you can alter the thread's name, thread + * group, priority, daemon status, etc. If a ThreadFactory fails to create + * a thread when asked by returning null from newThread, + * the executor will continue, but might + * not be able to execute any tasks.
+ * + *
Keep-alive times
+ * + *
If the pool currently has more than corePoolSize threads, + * excess threads will be terminated if they have been idle for more + * than the keepAliveTime (see {@link + * ThreadPoolExecutor#getKeepAliveTime}). This provides a means of + * reducing resource consumption when the pool is not being actively + * used. If the pool becomes more active later, new threads will be + * constructed. This parameter can also be changed dynamically using + * method {@link ThreadPoolExecutor#setKeepAliveTime}. Using a value + * of Long.MAX_VALUE {@link TimeUnit#NANOSECONDS} effectively + * disables idle threads from ever terminating prior to shut down. By + * default, the keep-alive policy applies only when there are more + * than corePoolSizeThreads. But method {@link + * ThreadPoolExecutor#allowCoreThreadTimeOut} can be used to apply + * this time-out policy to core threads as well, so long as + * the keepAliveTime value is non-zero.
+ * + *
Queuing
+ * + *
Any {@link BlockingQueue} may be used to transfer and hold + * submitted tasks. The use of this queue interacts with pool sizing: + * + *
    + * + *
  • If fewer than corePoolSize threads are running, the Executor + * always prefers adding a new thread + * rather than queuing.
  • + * + *
  • If corePoolSize or more threads are running, the Executor + * always prefers queuing a request rather than adding a new + * thread.
  • + * + *
  • If a request cannot be queued, a new thread is created unless + * this would exceed maximumPoolSize, in which case, the task will be + * rejected.
  • + * + *
+ * + * There are three general strategies for queuing: + *
    + * + *
  1. Direct handoffs. A good default choice for a work + * queue is a {@link SynchronousQueue} that hands off tasks to threads + * without otherwise holding them. Here, an attempt to queue a task + * will fail if no threads are immediately available to run it, so a + * new thread will be constructed. This policy avoids lockups when + * handling sets of requests that might have internal dependencies. + * Direct handoffs generally require unbounded maximumPoolSizes to + * avoid rejection of new submitted tasks. This in turn admits the + * possibility of unbounded thread growth when commands continue to + * arrive on average faster than they can be processed.
  2. + * + *
  3. Unbounded queues. Using an unbounded queue (for + * example a {@link LinkedBlockingQueue} without a predefined + * capacity) will cause new tasks to wait in the queue when all + * corePoolSize threads are busy. Thus, no more than corePoolSize + * threads will ever be created. (And the value of the maximumPoolSize + * therefore doesn't have any effect.) This may be appropriate when + * each task is completely independent of others, so tasks cannot + * affect each others execution; for example, in a web page server. + * While this style of queuing can be useful in smoothing out + * transient bursts of requests, it admits the possibility of + * unbounded work queue growth when commands continue to arrive on + * average faster than they can be processed.
  4. + * + *
  5. Bounded queues. A bounded queue (for example, an + * {@link ArrayBlockingQueue}) helps prevent resource exhaustion when + * used with finite maximumPoolSizes, but can be more difficult to + * tune and control. Queue sizes and maximum pool sizes may be traded + * off for each other: Using large queues and small pools minimizes + * CPU usage, OS resources, and context-switching overhead, but can + * lead to artificially low throughput. If tasks frequently block (for + * example if they are I/O bound), a system may be able to schedule + * time for more threads than you otherwise allow. Use of small queues + * generally requires larger pool sizes, which keeps CPUs busier but + * may encounter unacceptable scheduling overhead, which also + * decreases throughput.
  6. + * + *
+ * + *
+ * + *
Rejected tasks
+ * + *
New tasks submitted in method {@link + * ThreadPoolExecutor#execute} will be rejected when the + * Executor has been shut down, and also when the Executor uses finite + * bounds for both maximum threads and work queue capacity, and is + * saturated. In either case, the execute method invokes the + * {@link RejectedExecutionHandler#rejectedExecution} method of its + * {@link RejectedExecutionHandler}. Four predefined handler policies + * are provided: + * + *
    + * + *
  1. In the + * default {@link ThreadPoolExecutor.AbortPolicy}, the handler throws a + * runtime {@link RejectedExecutionException} upon rejection.
  2. + * + *
  3. In {@link + * ThreadPoolExecutor.CallerRunsPolicy}, the thread that invokes + * execute itself runs the task. This provides a simple + * feedback control mechanism that will slow down the rate that new + * tasks are submitted.
  4. + * + *
  5. In {@link ThreadPoolExecutor.DiscardPolicy}, + * a task that cannot be executed is simply dropped.
  6. + * + *
  7. In {@link + * ThreadPoolExecutor.DiscardOldestPolicy}, if the executor is not + * shut down, the task at the head of the work queue is dropped, and + * then execution is retried (which can fail again, causing this to be + * repeated.)
  8. + * + *
+ * + * It is possible to define and use other kinds of {@link + * RejectedExecutionHandler} classes. Doing so requires some care + * especially when policies are designed to work only under particular + * capacity or queuing policies.
+ * + *
Hook methods
+ * + *
This class provides protected overridable {@link + * ThreadPoolExecutor#beforeExecute} and {@link + * ThreadPoolExecutor#afterExecute} methods that are called before and + * after execution of each task. These can be used to manipulate the + * execution environment; for example, reinitializing ThreadLocals, + * gathering statistics, or adding log entries. Additionally, method + * {@link ThreadPoolExecutor#terminated} can be overridden to perform + * any special processing that needs to be done once the Executor has + * fully terminated. + * + *

If hook or callback methods throw + * exceptions, internal worker threads may in turn fail and + * abruptly terminate.

+ * + *
Queue maintenance
+ * + *
Method {@link ThreadPoolExecutor#getQueue} allows access to + * the work queue for purposes of monitoring and debugging. Use of + * this method for any other purpose is strongly discouraged. Two + * supplied methods, {@link ThreadPoolExecutor#remove} and {@link + * ThreadPoolExecutor#purge} are available to assist in storage + * reclamation when large numbers of queued tasks become + * cancelled.
+ * + *
Finalization
+ * + *
A pool that is no longer referenced in a program AND + * has no remaining threads will be shutdown + * automatically. If you would like to ensure that unreferenced pools + * are reclaimed even if users forget to call {@link + * ThreadPoolExecutor#shutdown}, then you must arrange that unused + * threads eventually die, by setting appropriate keep-alive times, + * using a lower bound of zero core threads and/or setting {@link + * ThreadPoolExecutor#allowCoreThreadTimeOut}.
+ * + *

Extension example. Most extensions of this class + * override one or more of the protected hook methods. For example, + * here is a subclass that adds a simple pause/resume feature: + * + *

+ * class PausableThreadPoolExecutor extends ThreadPoolExecutor {
+ *   private boolean isPaused;
+ *   private ReentrantLock pauseLock = new ReentrantLock();
+ *   private Condition unpaused = pauseLock.newCondition();
+ *
+ *   public PausableThreadPoolExecutor(...) { super(...); }
+ *
+ *   protected void beforeExecute(Thread t, Runnable r) {
+ *     super.beforeExecute(t, r);
+ *     pauseLock.lock();
+ *     try {
+ *       while (isPaused) unpaused.await();
+ *     } catch (InterruptedException ie) {
+ *       t.interrupt();
+ *     } finally {
+ *       pauseLock.unlock();
+ *     }
+ *   }
+ *
+ *   public void pause() {
+ *     pauseLock.lock();
+ *     try {
+ *       isPaused = true;
+ *     } finally {
+ *       pauseLock.unlock();
+ *     }
+ *   }
+ *
+ *   public void resume() {
+ *     pauseLock.lock();
+ *     try {
+ *       isPaused = false;
+ *       unpaused.signalAll();
+ *     } finally {
+ *       pauseLock.unlock();
+ *     }
+ *   }
+ * }
+ * 
+ * @since 1.5 + * @author Doug Lea + */ +public class ThreadPoolExecutor extends AbstractExecutorService { + /** + * Only used to force toArray() to produce a Runnable[]. + */ + private static final Runnable[] EMPTY_RUNNABLE_ARRAY = new Runnable[0]; + + /** + * Permission for checking shutdown + */ + private static final RuntimePermission shutdownPerm = + new RuntimePermission("modifyThread"); + + /** + * Queue used for holding tasks and handing off to worker threads. + */ + private final BlockingQueue workQueue; + + /** + * Lock held on updates to poolSize, corePoolSize, maximumPoolSize, and + * workers set. + */ + private final ReentrantLock mainLock = new ReentrantLock(); + + /** + * Wait condition to support awaitTermination + */ + private final Condition termination = mainLock.newCondition(); + + /** + * Set containing all worker threads in pool. + */ + private final HashSet workers = new HashSet(); + + /** + * Timeout in nanoseconds for idle threads waiting for work. + * Threads use this timeout only when there are more than + * corePoolSize present. Otherwise they wait forever for new work. + */ + private volatile long keepAliveTime; + + /** + * If false (default) core threads stay alive even when idle. + * If true, core threads use keepAliveTime to time out waiting for work. + */ + private volatile boolean allowCoreThreadTimeOut; + + /** + * Core pool size, updated only while holding mainLock, + * but volatile to allow concurrent readability even + * during updates. + */ + private volatile int corePoolSize; + + /** + * Maximum pool size, updated only while holding mainLock + * but volatile to allow concurrent readability even + * during updates. + */ + private volatile int maximumPoolSize; + + /** + * Current pool size, updated only while holding mainLock + * but volatile to allow concurrent readability even + * during updates. + */ + private volatile int poolSize; + + /** + * Lifecycle state + */ + volatile int runState; + + // Special values for runState + /** Normal, not-shutdown mode */ + static final int RUNNING = 0; + /** Controlled shutdown mode */ + static final int SHUTDOWN = 1; + /** Immediate shutdown mode */ + static final int STOP = 2; + /** Final state */ + static final int TERMINATED = 3; + + /** + * Handler called when saturated or shutdown in execute. + */ + private volatile RejectedExecutionHandler handler; + + /** + * Factory for new threads. + */ + private volatile ThreadFactory threadFactory; + + /** + * Tracks largest attained pool size. + */ + private int largestPoolSize; + + /** + * Counter for completed tasks. Updated only on termination of + * worker threads. + */ + private long completedTaskCount; + + /** + * The default rejected execution handler + */ + private static final RejectedExecutionHandler defaultHandler = + new AbortPolicy(); + + /** + * Invokes the rejected execution handler for the given command. + */ + void reject(Runnable command) { + handler.rejectedExecution(command, this); + } + + /** + * Creates and returns a new thread running firstTask as its first + * task. Call only while holding mainLock. + * @param firstTask the task the new thread should run first (or + * null if none) + * @return the new thread, or null if threadFactory fails to create thread + */ + private Thread addThread(Runnable firstTask) { + if (runState == TERMINATED) // Don't create thread if terminated + return null; + Worker w = new Worker(firstTask); + Thread t = threadFactory.newThread(w); + if (t != null) { + w.thread = t; + workers.add(w); + int nt = ++poolSize; + if (nt > largestPoolSize) + largestPoolSize = nt; + } + return t; + } + + /** + * Creates and starts a new thread running firstTask as its first + * task, only if fewer than corePoolSize threads are running. + * @param firstTask the task the new thread should run first (or + * null if none) + * @return true if successful. + */ + private boolean addIfUnderCorePoolSize(Runnable firstTask) { + Thread t = null; + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + if (poolSize < corePoolSize) + t = addThread(firstTask); + } finally { + mainLock.unlock(); + } + if (t == null) + return false; + t.start(); + return true; + } + + /** + * Creates and starts a new thread only if fewer than maximumPoolSize + * threads are running. The new thread runs as its first task the + * next task in queue, or if there is none, the given task. + * @param firstTask the task the new thread should run first (or + * null if none) + * @return 0 if a new thread cannot be created, a positive number + * if firstTask will be run in a new thread, or a negative number + * if a new thread was created but is running some other task, in + * which case the caller must try some other way to run firstTask + * (perhaps by calling this method again). + */ + private int addIfUnderMaximumPoolSize(Runnable firstTask) { + Thread t = null; + int status = 0; + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + if (poolSize < maximumPoolSize) { + Runnable next = workQueue.poll(); + if (next == null) { + next = firstTask; + status = 1; + } else + status = -1; + t = addThread(next); + } + } finally { + mainLock.unlock(); + } + if (t == null) + return 0; + t.start(); + return status; + } + + + /** + * Gets the next task for a worker thread to run. + * @return the task + */ + Runnable getTask() { + for (;;) { + try { + switch (runState) { + case RUNNING: { + // untimed wait if core and not allowing core timeout + if (poolSize <= corePoolSize && !allowCoreThreadTimeOut) + return workQueue.take(); + + long timeout = keepAliveTime; + if (timeout <= 0) // die immediately for 0 timeout + return null; + Runnable r = workQueue.poll(timeout, TimeUnit.NANOSECONDS); + if (r != null) + return r; + if (poolSize > corePoolSize || allowCoreThreadTimeOut) + return null; // timed out + // Else, after timeout, the pool shrank. Retry + break; + } + + case SHUTDOWN: { + // Help drain queue + Runnable r = workQueue.poll(); + if (r != null) + return r; + + // Check if can terminate + if (workQueue.isEmpty()) { + interruptIdleWorkers(); + return null; + } + + // Else there could still be delayed tasks in queue. + return workQueue.take(); + } + + case STOP: + return null; + default: + assert false; + } + } catch (InterruptedException ie) { + // On interruption, re-check runstate + } + } + } + + /** + * Wakes up all threads that might be waiting for tasks. + */ + void interruptIdleWorkers() { + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + for (Worker w : workers) + w.interruptIfIdle(); + } finally { + mainLock.unlock(); + } + } + + /** + * Performs bookkeeping for a terminated worker thread. + * @param w the worker + */ + void workerDone(Worker w) { + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + completedTaskCount += w.completedTasks; + workers.remove(w); + if (--poolSize > 0) + return; + + // Else, this is the last thread. Deal with potential shutdown. + + int state = runState; + assert state != TERMINATED; + + if (state != STOP) { + // If there are queued tasks but no threads, create + // replacement thread. We must create it initially + // idle to avoid orphaned tasks in case addThread + // fails. This also handles case of delayed tasks + // that will sometime later become runnable. + if (!workQueue.isEmpty()) { + Thread t = addThread(null); + if (t != null) + t.start(); + return; + } + + // Otherwise, we can exit without replacement + if (state == RUNNING) + return; + } + + // Either state is STOP, or state is SHUTDOWN and there is + // no work to do. So we can terminate. + termination.signalAll(); + runState = TERMINATED; + // fall through to call terminate() outside of lock. + } finally { + mainLock.unlock(); + } + + assert runState == TERMINATED; + terminated(); + } + + /** + * Worker threads + */ + private class Worker implements Runnable { + + /** + * The runLock is acquired and released surrounding each task + * execution. It mainly protects against interrupts that are + * intended to cancel the worker thread from instead + * interrupting the task being run. + */ + private final ReentrantLock runLock = new ReentrantLock(); + + /** + * Initial task to run before entering run loop + */ + private Runnable firstTask; + + /** + * Per thread completed task counter; accumulated + * into completedTaskCount upon termination. + */ + volatile long completedTasks; + + /** + * Thread this worker is running in. Acts as a final field, + * but cannot be set until thread is created. + */ + Thread thread; + + Worker(Runnable firstTask) { + this.firstTask = firstTask; + } + + boolean isActive() { + return runLock.isLocked(); + } + + /** + * Interrupts thread if not running a task. + */ + void interruptIfIdle() { + final ReentrantLock runLock = this.runLock; + if (runLock.tryLock()) { + try { + thread.interrupt(); + } finally { + runLock.unlock(); + } + } + } + + /** + * Interrupts thread even if running a task. + */ + void interruptNow() { + thread.interrupt(); + } + + /** + * Runs a single task between before/after methods. + */ + private void runTask(Runnable task) { + final ReentrantLock runLock = this.runLock; + runLock.lock(); + try { + // If not shutting down then clear an outstanding interrupt. + if (runState != STOP && + Thread.interrupted() && + runState == STOP) // Re-interrupt if stopped after clearing + thread.interrupt(); + boolean ran = false; + beforeExecute(thread, task); + try { + task.run(); + ran = true; + afterExecute(task, null); + ++completedTasks; + } catch (RuntimeException ex) { + if (!ran) + afterExecute(task, ex); + // Else the exception occurred within + // afterExecute itself in which case we don't + // want to call it again. + throw ex; + } + } finally { + runLock.unlock(); + } + } + + /** + * Main run loop + */ + public void run() { + try { + Runnable task = firstTask; + firstTask = null; + while (task != null || (task = getTask()) != null) { + runTask(task); + task = null; // unnecessary but can help GC + } + } finally { + workerDone(this); + } + } + } + + // Public methods + + /** + * Creates a new ThreadPoolExecutor with the given initial + * parameters and default thread factory and rejected execution handler. + * It may be more convenient to use one of the {@link Executors} factory + * methods instead of this general purpose constructor. + * + * @param corePoolSize the number of threads to keep in the + * pool, even if they are idle. + * @param maximumPoolSize the maximum number of threads to allow in the + * pool. + * @param keepAliveTime when the number of threads is greater than + * the core, this is the maximum time that excess idle threads + * will wait for new tasks before terminating. + * @param unit the time unit for the keepAliveTime + * argument. + * @param workQueue the queue to use for holding tasks before they + * are executed. This queue will hold only the Runnable + * tasks submitted by the execute method. + * @throws IllegalArgumentException if corePoolSize, or + * keepAliveTime less than zero, or if maximumPoolSize less than or + * equal to zero, or if corePoolSize greater than maximumPoolSize. + * @throws NullPointerException if workQueue is null + */ + public ThreadPoolExecutor(int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + TimeUnit unit, + BlockingQueue workQueue) { + this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, + Executors.defaultThreadFactory(), defaultHandler); + } + + /** + * Creates a new ThreadPoolExecutor with the given initial + * parameters and default rejected execution handler. + * + * @param corePoolSize the number of threads to keep in the + * pool, even if they are idle. + * @param maximumPoolSize the maximum number of threads to allow in the + * pool. + * @param keepAliveTime when the number of threads is greater than + * the core, this is the maximum time that excess idle threads + * will wait for new tasks before terminating. + * @param unit the time unit for the keepAliveTime + * argument. + * @param workQueue the queue to use for holding tasks before they + * are executed. This queue will hold only the Runnable + * tasks submitted by the execute method. + * @param threadFactory the factory to use when the executor + * creates a new thread. + * @throws IllegalArgumentException if corePoolSize, or + * keepAliveTime less than zero, or if maximumPoolSize less than or + * equal to zero, or if corePoolSize greater than maximumPoolSize. + * @throws NullPointerException if workQueue + * or threadFactory are null. + */ + public ThreadPoolExecutor(int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + TimeUnit unit, + BlockingQueue workQueue, + ThreadFactory threadFactory) { + this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, + threadFactory, defaultHandler); + } + + /** + * Creates a new ThreadPoolExecutor with the given initial + * parameters and default thread factory. + * + * @param corePoolSize the number of threads to keep in the + * pool, even if they are idle. + * @param maximumPoolSize the maximum number of threads to allow in the + * pool. + * @param keepAliveTime when the number of threads is greater than + * the core, this is the maximum time that excess idle threads + * will wait for new tasks before terminating. + * @param unit the time unit for the keepAliveTime + * argument. + * @param workQueue the queue to use for holding tasks before they + * are executed. This queue will hold only the Runnable + * tasks submitted by the execute method. + * @param handler the handler to use when execution is blocked + * because the thread bounds and queue capacities are reached. + * @throws IllegalArgumentException if corePoolSize, or + * keepAliveTime less than zero, or if maximumPoolSize less than or + * equal to zero, or if corePoolSize greater than maximumPoolSize. + * @throws NullPointerException if workQueue + * or handler are null. + */ + public ThreadPoolExecutor(int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + TimeUnit unit, + BlockingQueue workQueue, + RejectedExecutionHandler handler) { + this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, + Executors.defaultThreadFactory(), handler); + } + + /** + * Creates a new ThreadPoolExecutor with the given initial + * parameters. + * + * @param corePoolSize the number of threads to keep in the + * pool, even if they are idle. + * @param maximumPoolSize the maximum number of threads to allow in the + * pool. + * @param keepAliveTime when the number of threads is greater than + * the core, this is the maximum time that excess idle threads + * will wait for new tasks before terminating. + * @param unit the time unit for the keepAliveTime + * argument. + * @param workQueue the queue to use for holding tasks before they + * are executed. This queue will hold only the Runnable + * tasks submitted by the execute method. + * @param threadFactory the factory to use when the executor + * creates a new thread. + * @param handler the handler to use when execution is blocked + * because the thread bounds and queue capacities are reached. + * @throws IllegalArgumentException if corePoolSize, or + * keepAliveTime less than zero, or if maximumPoolSize less than or + * equal to zero, or if corePoolSize greater than maximumPoolSize. + * @throws NullPointerException if workQueue + * or threadFactory or handler are null. + */ + public ThreadPoolExecutor(int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + TimeUnit unit, + BlockingQueue workQueue, + ThreadFactory threadFactory, + RejectedExecutionHandler handler) { + if (corePoolSize < 0 || + maximumPoolSize <= 0 || + maximumPoolSize < corePoolSize || + keepAliveTime < 0) + throw new IllegalArgumentException(); + if (workQueue == null || threadFactory == null || handler == null) + throw new NullPointerException(); + this.corePoolSize = corePoolSize; + this.maximumPoolSize = maximumPoolSize; + this.workQueue = workQueue; + this.keepAliveTime = unit.toNanos(keepAliveTime); + this.threadFactory = threadFactory; + this.handler = handler; + } + + + /** + * Executes the given task sometime in the future. The task + * may execute in a new thread or in an existing pooled thread. + * + * If the task cannot be submitted for execution, either because this + * executor has been shutdown or because its capacity has been reached, + * the task is handled by the current RejectedExecutionHandler. + * + * @param command the task to execute + * @throws RejectedExecutionException at discretion of + * RejectedExecutionHandler, if task cannot be accepted + * for execution + * @throws NullPointerException if command is null + */ + public void execute(Runnable command) { + if (command == null) + throw new NullPointerException(); + for (;;) { + if (runState != RUNNING) { + reject(command); + return; + } + if (poolSize < corePoolSize && addIfUnderCorePoolSize(command)) + return; + if (workQueue.offer(command)) + return; + int status = addIfUnderMaximumPoolSize(command); + if (status > 0) // created new thread + return; + if (status == 0) { // failed to create thread + reject(command); + return; + } + // Retry if created a new thread but it is busy with another task + } + } + + /** + * Initiates an orderly shutdown in which previously submitted + * tasks are executed, but no new tasks will be + * accepted. Invocation has no additional effect if already shut + * down. + * @throws SecurityException if a security manager exists and + * shutting down this ExecutorService may manipulate threads that + * the caller is not permitted to modify because it does not hold + * {@link java.lang.RuntimePermission}("modifyThread"), + * or the security manager's checkAccess method denies access. + */ + public void shutdown() { + // Fail if caller doesn't have modifyThread permission. + SecurityManager security = System.getSecurityManager(); + if (security != null) + security.checkPermission(shutdownPerm); + + boolean fullyTerminated = false; + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + if (workers.size() > 0) { + // Check if caller can modify worker threads. This + // might not be true even if passed above check, if + // the SecurityManager treats some threads specially. + if (security != null) { + for (Worker w: workers) + security.checkAccess(w.thread); + } + + int state = runState; + if (state == RUNNING) // don't override shutdownNow + runState = SHUTDOWN; + + try { + for (Worker w: workers) + w.interruptIfIdle(); + } catch (SecurityException se) { + // If SecurityManager allows above checks, but + // then unexpectedly throws exception when + // interrupting threads (which it ought not do), + // back out as cleanly as we can. Some threads may + // have been killed but we remain in non-shutdown + // state. + runState = state; + throw se; + } + } + else { // If no workers, trigger full termination now + fullyTerminated = true; + runState = TERMINATED; + termination.signalAll(); + } + } finally { + mainLock.unlock(); + } + if (fullyTerminated) + terminated(); + } + + + /** + * Attempts to stop all actively executing tasks, halts the + * processing of waiting tasks, and returns a list of the tasks + * that were awaiting execution. + * + *

There are no guarantees beyond best-effort attempts to stop + * processing actively executing tasks. This implementation + * cancels tasks via {@link Thread#interrupt}, so any task that + * fails to respond to interrupts may never terminate. + * + * @return list of tasks that never commenced execution + * @throws SecurityException if a security manager exists and + * shutting down this ExecutorService may manipulate threads that + * the caller is not permitted to modify because it does not hold + * {@link java.lang.RuntimePermission}("modifyThread"), + * or the security manager's checkAccess method denies access. + */ + public List shutdownNow() { + // Almost the same code as shutdown() + SecurityManager security = System.getSecurityManager(); + if (security != null) + security.checkPermission(shutdownPerm); + + boolean fullyTerminated = false; + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + if (workers.size() > 0) { + if (security != null) { + for (Worker w: workers) + security.checkAccess(w.thread); + } + + int state = runState; + if (state != TERMINATED) + runState = STOP; + try { + for (Worker w : workers) + w.interruptNow(); + } catch (SecurityException se) { + runState = state; // back out; + throw se; + } + } + else { // If no workers, trigger full termination now + fullyTerminated = true; + runState = TERMINATED; + termination.signalAll(); + } + } finally { + mainLock.unlock(); + } + if (fullyTerminated) + terminated(); + return Arrays.asList(workQueue.toArray(EMPTY_RUNNABLE_ARRAY)); + } + + public boolean isShutdown() { + return runState != RUNNING; + } + + /** + * Returns true if this executor is in the process of terminating + * after shutdown or shutdownNow but has not + * completely terminated. This method may be useful for + * debugging. A return of true reported a sufficient + * period after shutdown may indicate that submitted tasks have + * ignored or suppressed interruption, causing this executor not + * to properly terminate. + * @return true if terminating but not yet terminated. + */ + public boolean isTerminating() { + return runState == STOP; + } + + public boolean isTerminated() { + return runState == TERMINATED; + } + + public boolean awaitTermination(long timeout, TimeUnit unit) + throws InterruptedException { + long nanos = unit.toNanos(timeout); + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + for (;;) { + if (runState == TERMINATED) + return true; + if (nanos <= 0) + return false; + nanos = termination.awaitNanos(nanos); + } + } finally { + mainLock.unlock(); + } + } + + /** + * Invokes shutdown when this executor is no longer + * referenced. + */ + protected void finalize() { + shutdown(); + } + + /** + * Sets the thread factory used to create new threads. + * + * @param threadFactory the new thread factory + * @throws NullPointerException if threadFactory is null + * @see #getThreadFactory + */ + public void setThreadFactory(ThreadFactory threadFactory) { + if (threadFactory == null) + throw new NullPointerException(); + this.threadFactory = threadFactory; + } + + /** + * Returns the thread factory used to create new threads. + * + * @return the current thread factory + * @see #setThreadFactory + */ + public ThreadFactory getThreadFactory() { + return threadFactory; + } + + /** + * Sets a new handler for unexecutable tasks. + * + * @param handler the new handler + * @throws NullPointerException if handler is null + * @see #getRejectedExecutionHandler + */ + public void setRejectedExecutionHandler(RejectedExecutionHandler handler) { + if (handler == null) + throw new NullPointerException(); + this.handler = handler; + } + + /** + * Returns the current handler for unexecutable tasks. + * + * @return the current handler + * @see #setRejectedExecutionHandler + */ + public RejectedExecutionHandler getRejectedExecutionHandler() { + return handler; + } + + /** + * Returns the task queue used by this executor. Access to the + * task queue is intended primarily for debugging and monitoring. + * This queue may be in active use. Retrieving the task queue + * does not prevent queued tasks from executing. + * + * @return the task queue + */ + public BlockingQueue getQueue() { + return workQueue; + } + + /** + * Removes this task from the executor's internal queue if it is + * present, thus causing it not to be run if it has not already + * started. + * + *

This method may be useful as one part of a cancellation + * scheme. It may fail to remove tasks that have been converted + * into other forms before being placed on the internal queue. For + * example, a task entered using submit might be + * converted into a form that maintains Future status. + * However, in such cases, method {@link ThreadPoolExecutor#purge} + * may be used to remove those Futures that have been cancelled. + * + * @param task the task to remove + * @return true if the task was removed + */ + public boolean remove(Runnable task) { + return getQueue().remove(task); + } + + + /** + * Tries to remove from the work queue all {@link Future} + * tasks that have been cancelled. This method can be useful as a + * storage reclamation operation, that has no other impact on + * functionality. Cancelled tasks are never executed, but may + * accumulate in work queues until worker threads can actively + * remove them. Invoking this method instead tries to remove them now. + * However, this method may fail to remove tasks in + * the presence of interference by other threads. + */ + public void purge() { + // Fail if we encounter interference during traversal + try { + Iterator it = getQueue().iterator(); + while (it.hasNext()) { + Runnable r = it.next(); + if (r instanceof Future) { + Future c = (Future)r; + if (c.isCancelled()) + it.remove(); + } + } + } + catch (ConcurrentModificationException ex) { + return; + } + } + + /** + * Sets the core number of threads. This overrides any value set + * in the constructor. If the new value is smaller than the + * current value, excess existing threads will be terminated when + * they next become idle. If larger, new threads will, if needed, + * be started to execute any queued tasks. + * + * @param corePoolSize the new core size + * @throws IllegalArgumentException if corePoolSize + * less than zero + * @see #getCorePoolSize + */ + public void setCorePoolSize(int corePoolSize) { + if (corePoolSize < 0) + throw new IllegalArgumentException(); + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + int extra = this.corePoolSize - corePoolSize; + this.corePoolSize = corePoolSize; + if (extra < 0) { + int n = workQueue.size(); + // We have to create initially-idle threads here + // because we otherwise have no recourse about + // what to do with a dequeued task if addThread fails. + while (extra++ < 0 && n-- > 0 && poolSize < corePoolSize ) { + Thread t = addThread(null); + if (t != null) + t.start(); + else + break; + } + } + else if (extra > 0 && poolSize > corePoolSize) { + Iterator it = workers.iterator(); + while (it.hasNext() && + extra-- > 0 && + poolSize > corePoolSize && + workQueue.remainingCapacity() == 0) + it.next().interruptIfIdle(); + } + } finally { + mainLock.unlock(); + } + } + + /** + * Returns the core number of threads. + * + * @return the core number of threads + * @see #setCorePoolSize + */ + public int getCorePoolSize() { + return corePoolSize; + } + + /** + * Starts a core thread, causing it to idly wait for work. This + * overrides the default policy of starting core threads only when + * new tasks are executed. This method will return false + * if all core threads have already been started. + * @return true if a thread was started + */ + public boolean prestartCoreThread() { + return addIfUnderCorePoolSize(null); + } + + /** + * Starts all core threads, causing them to idly wait for work. This + * overrides the default policy of starting core threads only when + * new tasks are executed. + * @return the number of threads started. + */ + public int prestartAllCoreThreads() { + int n = 0; + while (addIfUnderCorePoolSize(null)) + ++n; + return n; + } + + /** + * Returns true if this pool allows core threads to time out and + * terminate if no tasks arrive within the keepAlive time, being + * replaced if needed when new tasks arrive. When true, the same + * keep-alive policy applying to non-core threads applies also to + * core threads. When false (the default), core threads are never + * terminated due to lack of incoming tasks. + * @return true if core threads are allowed to time out, + * else false + * + * @since 1.6 + */ + public boolean allowsCoreThreadTimeOut() { + return allowCoreThreadTimeOut; + } + + /** + * Sets the policy governing whether core threads may time out and + * terminate if no tasks arrive within the keep-alive time, being + * replaced if needed when new tasks arrive. When false, core + * threads are never terminated due to lack of incoming + * tasks. When true, the same keep-alive policy applying to + * non-core threads applies also to core threads. To avoid + * continual thread replacement, the keep-alive time must be + * greater than zero when setting true. This method + * should in general be called before the pool is actively used. + * @param value true if should time out, else false + * @throws IllegalArgumentException if value is true + * and the current keep-alive time is not greater than zero. + * + * @since 1.6 + */ + public void allowCoreThreadTimeOut(boolean value) { + if (value && keepAliveTime <= 0) + throw new IllegalArgumentException("Core threads must have nonzero keep alive times"); + + allowCoreThreadTimeOut = value; + } + + /** + * Sets the maximum allowed number of threads. This overrides any + * value set in the constructor. If the new value is smaller than + * the current value, excess existing threads will be + * terminated when they next become idle. + * + * @param maximumPoolSize the new maximum + * @throws IllegalArgumentException if the new maximum is + * less than or equal to zero, or + * less than the {@linkplain #getCorePoolSize core pool size} + * @see #getMaximumPoolSize + */ + public void setMaximumPoolSize(int maximumPoolSize) { + if (maximumPoolSize <= 0 || maximumPoolSize < corePoolSize) + throw new IllegalArgumentException(); + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + int extra = this.maximumPoolSize - maximumPoolSize; + this.maximumPoolSize = maximumPoolSize; + if (extra > 0 && poolSize > maximumPoolSize) { + Iterator it = workers.iterator(); + while (it.hasNext() && + extra > 0 && + poolSize > maximumPoolSize) { + it.next().interruptIfIdle(); + --extra; + } + } + } finally { + mainLock.unlock(); + } + } + + /** + * Returns the maximum allowed number of threads. + * + * @return the maximum allowed number of threads + * @see #setMaximumPoolSize + */ + public int getMaximumPoolSize() { + return maximumPoolSize; + } + + /** + * Sets the time limit for which threads may remain idle before + * being terminated. If there are more than the core number of + * threads currently in the pool, after waiting this amount of + * time without processing a task, excess threads will be + * terminated. This overrides any value set in the constructor. + * @param time the time to wait. A time value of zero will cause + * excess threads to terminate immediately after executing tasks. + * @param unit the time unit of the time argument + * @throws IllegalArgumentException if time less than zero or + * if time is zero and allowsCoreThreadTimeOut + * @see #getKeepAliveTime + */ + public void setKeepAliveTime(long time, TimeUnit unit) { + if (time < 0) + throw new IllegalArgumentException(); + if (time == 0 && allowsCoreThreadTimeOut()) + throw new IllegalArgumentException("Core threads must have nonzero keep alive times"); + this.keepAliveTime = unit.toNanos(time); + } + + /** + * Returns the thread keep-alive time, which is the amount of time + * which threads in excess of the core pool size may remain + * idle before being terminated. + * + * @param unit the desired time unit of the result + * @return the time limit + * @see #setKeepAliveTime + */ + public long getKeepAliveTime(TimeUnit unit) { + return unit.convert(keepAliveTime, TimeUnit.NANOSECONDS); + } + + /* Statistics */ + + /** + * Returns the current number of threads in the pool. + * + * @return the number of threads + */ + public int getPoolSize() { + return poolSize; + } + + /** + * Returns the approximate number of threads that are actively + * executing tasks. + * + * @return the number of threads + */ + public int getActiveCount() { + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + int n = 0; + for (Worker w : workers) { + if (w.isActive()) + ++n; + } + return n; + } finally { + mainLock.unlock(); + } + } + + /** + * Returns the largest number of threads that have ever + * simultaneously been in the pool. + * + * @return the number of threads + */ + public int getLargestPoolSize() { + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + return largestPoolSize; + } finally { + mainLock.unlock(); + } + } + + /** + * Returns the approximate total number of tasks that have been + * scheduled for execution. Because the states of tasks and + * threads may change dynamically during computation, the returned + * value is only an approximation, but one that does not ever + * decrease across successive calls. + * + * @return the number of tasks + */ + public long getTaskCount() { + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + long n = completedTaskCount; + for (Worker w : workers) { + n += w.completedTasks; + if (w.isActive()) + ++n; + } + return n + workQueue.size(); + } finally { + mainLock.unlock(); + } + } + + /** + * Returns the approximate total number of tasks that have + * completed execution. Because the states of tasks and threads + * may change dynamically during computation, the returned value + * is only an approximation, but one that does not ever decrease + * across successive calls. + * + * @return the number of tasks + */ + public long getCompletedTaskCount() { + final ReentrantLock mainLock = this.mainLock; + mainLock.lock(); + try { + long n = completedTaskCount; + for (Worker w : workers) + n += w.completedTasks; + return n; + } finally { + mainLock.unlock(); + } + } + + /** + * Method invoked prior to executing the given Runnable in the + * given thread. This method is invoked by thread t that + * will execute task r, and may be used to re-initialize + * ThreadLocals, or to perform logging. + * + *

This implementation does nothing, but may be customized in + * subclasses. Note: To properly nest multiple overridings, subclasses + * should generally invoke super.beforeExecute at the end of + * this method. + * + * @param t the thread that will run task r. + * @param r the task that will be executed. + */ + protected void beforeExecute(Thread t, Runnable r) { } + + /** + * Method invoked upon completion of execution of the given Runnable. + * This method is invoked by the thread that executed the task. If + * non-null, the Throwable is the uncaught RuntimeException + * or Error that caused execution to terminate abruptly. + * + *

Note: When actions are enclosed in tasks (such as + * {@link FutureTask}) either explicitly or via methods such as + * submit, these task objects catch and maintain + * computational exceptions, and so they do not cause abrupt + * termination, and the internal exceptions are not + * passed to this method. + * + *

This implementation does nothing, but may be customized in + * subclasses. Note: To properly nest multiple overridings, subclasses + * should generally invoke super.afterExecute at the + * beginning of this method. + * + * @param r the runnable that has completed. + * @param t the exception that caused termination, or null if + * execution completed normally. + */ + protected void afterExecute(Runnable r, Throwable t) { } + + /** + * Method invoked when the Executor has terminated. Default + * implementation does nothing. Note: To properly nest multiple + * overridings, subclasses should generally invoke + * super.terminated within this method. + */ + protected void terminated() { } + + /** + * A handler for rejected tasks that runs the rejected task + * directly in the calling thread of the execute method, + * unless the executor has been shut down, in which case the task + * is discarded. + */ + public static class CallerRunsPolicy implements RejectedExecutionHandler { + /** + * Creates a CallerRunsPolicy. + */ + public CallerRunsPolicy() { } + + /** + * Executes task r in the caller's thread, unless the executor + * has been shut down, in which case the task is discarded. + * @param r the runnable task requested to be executed + * @param e the executor attempting to execute this task + */ + public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { + if (!e.isShutdown()) { + r.run(); + } + } + } + + /** + * A handler for rejected tasks that throws a + * RejectedExecutionException. + */ + public static class AbortPolicy implements RejectedExecutionHandler { + /** + * Creates an AbortPolicy. + */ + public AbortPolicy() { } + + /** + * Always throws RejectedExecutionException. + * @param r the runnable task requested to be executed + * @param e the executor attempting to execute this task + * @throws RejectedExecutionException always. + */ + public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { + throw new RejectedExecutionException(); + } + } + + /** + * A handler for rejected tasks that silently discards the + * rejected task. + */ + public static class DiscardPolicy implements RejectedExecutionHandler { + /** + * Creates a DiscardPolicy. + */ + public DiscardPolicy() { } + + /** + * Does nothing, which has the effect of discarding task r. + * @param r the runnable task requested to be executed + * @param e the executor attempting to execute this task + */ + public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { + } + } + + /** + * A handler for rejected tasks that discards the oldest unhandled + * request and then retries execute, unless the executor + * is shut down, in which case the task is discarded. + */ + public static class DiscardOldestPolicy implements RejectedExecutionHandler { + /** + * Creates a DiscardOldestPolicy for the given executor. + */ + public DiscardOldestPolicy() { } + + /** + * Obtains and ignores the next task that the executor + * would otherwise execute, if one is immediately available, + * and then retries execution of task r, unless the executor + * is shut down, in which case task r is instead discarded. + * @param r the runnable task requested to be executed + * @param e the executor attempting to execute this task + */ + public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { + if (!e.isShutdown()) { + e.getQueue().poll(); + e.execute(r); + } + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/TimeUnit.java b/libjava/classpath/external/jsr166/java/util/concurrent/TimeUnit.java new file mode 100644 index 00000000000..2cd3d06aba1 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/TimeUnit.java @@ -0,0 +1,331 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * A TimeUnit represents time durations at a given unit of + * granularity and provides utility methods to convert across units, + * and to perform timing and delay operations in these units. A + * TimeUnit does not maintain time information, but only + * helps organize and use time representations that may be maintained + * separately across various contexts. A nanosecond is defined as one + * thousandth of a microsecond, a microsecond as one thousandth of a + * millisecond, a millisecond as one thousandth of a second, a minute + * as sixty seconds, an hour as sixty minutes, and a day as twenty four + * hours. + * + *

A TimeUnit is mainly used to inform time-based methods + * how a given timing parameter should be interpreted. For example, + * the following code will timeout in 50 milliseconds if the {@link + * java.util.concurrent.locks.Lock lock} is not available: + * + *

  Lock lock = ...;
+ *  if ( lock.tryLock(50L, TimeUnit.MILLISECONDS) ) ...
+ * 
+ * while this code will timeout in 50 seconds: + *
+ *  Lock lock = ...;
+ *  if ( lock.tryLock(50L, TimeUnit.SECONDS) ) ...
+ * 
+ * + * Note however, that there is no guarantee that a particular timeout + * implementation will be able to notice the passage of time at the + * same granularity as the given TimeUnit. + * + * @since 1.5 + * @author Doug Lea + */ +public enum TimeUnit { + NANOSECONDS { + public long toNanos(long d) { return d; } + public long toMicros(long d) { return d/(C1/C0); } + public long toMillis(long d) { return d/(C2/C0); } + public long toSeconds(long d) { return d/(C3/C0); } + public long toMinutes(long d) { return d/(C4/C0); } + public long toHours(long d) { return d/(C5/C0); } + public long toDays(long d) { return d/(C6/C0); } + public long convert(long d, TimeUnit u) { return u.toNanos(d); } + int excessNanos(long d, long m) { return (int)(d - (m*C2)); } + }, + MICROSECONDS { + public long toNanos(long d) { return x(d, C1/C0, MAX/(C1/C0)); } + public long toMicros(long d) { return d; } + public long toMillis(long d) { return d/(C2/C1); } + public long toSeconds(long d) { return d/(C3/C1); } + public long toMinutes(long d) { return d/(C4/C1); } + public long toHours(long d) { return d/(C5/C1); } + public long toDays(long d) { return d/(C6/C1); } + public long convert(long d, TimeUnit u) { return u.toMicros(d); } + int excessNanos(long d, long m) { return (int)((d*C1) - (m*C2)); } + }, + MILLISECONDS { + public long toNanos(long d) { return x(d, C2/C0, MAX/(C2/C0)); } + public long toMicros(long d) { return x(d, C2/C1, MAX/(C2/C1)); } + public long toMillis(long d) { return d; } + public long toSeconds(long d) { return d/(C3/C2); } + public long toMinutes(long d) { return d/(C4/C2); } + public long toHours(long d) { return d/(C5/C2); } + public long toDays(long d) { return d/(C6/C2); } + public long convert(long d, TimeUnit u) { return u.toMillis(d); } + int excessNanos(long d, long m) { return 0; } + }, + SECONDS { + public long toNanos(long d) { return x(d, C3/C0, MAX/(C3/C0)); } + public long toMicros(long d) { return x(d, C3/C1, MAX/(C3/C1)); } + public long toMillis(long d) { return x(d, C3/C2, MAX/(C3/C2)); } + public long toSeconds(long d) { return d; } + public long toMinutes(long d) { return d/(C4/C3); } + public long toHours(long d) { return d/(C5/C3); } + public long toDays(long d) { return d/(C6/C3); } + public long convert(long d, TimeUnit u) { return u.toSeconds(d); } + int excessNanos(long d, long m) { return 0; } + }, + MINUTES { + public long toNanos(long d) { return x(d, C4/C0, MAX/(C4/C0)); } + public long toMicros(long d) { return x(d, C4/C1, MAX/(C4/C1)); } + public long toMillis(long d) { return x(d, C4/C2, MAX/(C4/C2)); } + public long toSeconds(long d) { return x(d, C4/C3, MAX/(C4/C3)); } + public long toMinutes(long d) { return d; } + public long toHours(long d) { return d/(C5/C4); } + public long toDays(long d) { return d/(C6/C4); } + public long convert(long d, TimeUnit u) { return u.toMinutes(d); } + int excessNanos(long d, long m) { return 0; } + }, + HOURS { + public long toNanos(long d) { return x(d, C5/C0, MAX/(C5/C0)); } + public long toMicros(long d) { return x(d, C5/C1, MAX/(C5/C1)); } + public long toMillis(long d) { return x(d, C5/C2, MAX/(C5/C2)); } + public long toSeconds(long d) { return x(d, C5/C3, MAX/(C5/C3)); } + public long toMinutes(long d) { return x(d, C5/C4, MAX/(C5/C4)); } + public long toHours(long d) { return d; } + public long toDays(long d) { return d/(C6/C5); } + public long convert(long d, TimeUnit u) { return u.toHours(d); } + int excessNanos(long d, long m) { return 0; } + }, + DAYS { + public long toNanos(long d) { return x(d, C6/C0, MAX/(C6/C0)); } + public long toMicros(long d) { return x(d, C6/C1, MAX/(C6/C1)); } + public long toMillis(long d) { return x(d, C6/C2, MAX/(C6/C2)); } + public long toSeconds(long d) { return x(d, C6/C3, MAX/(C6/C3)); } + public long toMinutes(long d) { return x(d, C6/C4, MAX/(C6/C4)); } + public long toHours(long d) { return x(d, C6/C5, MAX/(C6/C5)); } + public long toDays(long d) { return d; } + public long convert(long d, TimeUnit u) { return u.toDays(d); } + int excessNanos(long d, long m) { return 0; } + }; + + // Handy constants for conversion methods + static final long C0 = 1L; + static final long C1 = C0 * 1000L; + static final long C2 = C1 * 1000L; + static final long C3 = C2 * 1000L; + static final long C4 = C3 * 60L; + static final long C5 = C4 * 60L; + static final long C6 = C5 * 24L; + + static final long MAX = Long.MAX_VALUE; + + /** + * Scale d by m, checking for overflow. + * This has a short name to make above code more readable. + */ + static long x(long d, long m, long over) { + if (d > over) return Long.MAX_VALUE; + if (d < -over) return Long.MIN_VALUE; + return d * m; + } + + // To maintain full signature compatibility with 1.5, and to improve the + // clarity of the generated javadoc (see 6287639: Abstract methods in + // enum classes should not be listed as abstract), method convert + // etc. are not declared abstract but otherwise act as abstract methods. + + /** + * Convert the given time duration in the given unit to this + * unit. Conversions from finer to coarser granularities + * truncate, so lose precision. For example converting + * 999 milliseconds to seconds results in + * 0. Conversions from coarser to finer granularities + * with arguments that would numerically overflow saturate to + * Long.MIN_VALUE if negative or Long.MAX_VALUE + * if positive. + * + *

For example, to convert 10 minutes to milliseconds, use: + * TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES) + * + * @param sourceDuration the time duration in the given sourceUnit + * @param sourceUnit the unit of the sourceDuration argument + * @return the converted duration in this unit, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + */ + public long convert(long sourceDuration, TimeUnit sourceUnit) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to NANOSECONDS.convert(duration, this). + * @param duration the duration + * @return the converted duration, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + * @see #convert + */ + public long toNanos(long duration) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to MICROSECONDS.convert(duration, this). + * @param duration the duration + * @return the converted duration, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + * @see #convert + */ + public long toMicros(long duration) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to MILLISECONDS.convert(duration, this). + * @param duration the duration + * @return the converted duration, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + * @see #convert + */ + public long toMillis(long duration) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to SECONDS.convert(duration, this). + * @param duration the duration + * @return the converted duration, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + * @see #convert + */ + public long toSeconds(long duration) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to MINUTES.convert(duration, this). + * @param duration the duration + * @return the converted duration, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + * @see #convert + * @since 1.6 + */ + public long toMinutes(long duration) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to HOURS.convert(duration, this). + * @param duration the duration + * @return the converted duration, + * or Long.MIN_VALUE if conversion would negatively + * overflow, or Long.MAX_VALUE if it would positively overflow. + * @see #convert + * @since 1.6 + */ + public long toHours(long duration) { + throw new AbstractMethodError(); + } + + /** + * Equivalent to DAYS.convert(duration, this). + * @param duration the duration + * @return the converted duration + * @see #convert + * @since 1.6 + */ + public long toDays(long duration) { + throw new AbstractMethodError(); + } + + /** + * Utility to compute the excess-nanosecond argument to wait, + * sleep, join. + * @param d the duration + * @param m the number of milliseconds + * @return the number of nanoseconds + */ + abstract int excessNanos(long d, long m); + + /** + * Performs a timed Object.wait using this time unit. + * This is a convenience method that converts timeout arguments + * into the form required by the Object.wait method. + * + *

For example, you could implement a blocking poll + * method (see {@link BlockingQueue#poll BlockingQueue.poll}) + * using: + * + *

  public synchronized Object poll(long timeout, TimeUnit unit) throws InterruptedException {
+     *    while (empty) {
+     *      unit.timedWait(this, timeout);
+     *      ...
+     *    }
+     *  }
+ * + * @param obj the object to wait on + * @param timeout the maximum time to wait. If less than + * or equal to zero, do not wait at all. + * @throws InterruptedException if interrupted while waiting. + * @see Object#wait(long, int) + */ + public void timedWait(Object obj, long timeout) + throws InterruptedException { + if (timeout > 0) { + long ms = toMillis(timeout); + int ns = excessNanos(timeout, ms); + obj.wait(ms, ns); + } + } + + /** + * Performs a timed Thread.join using this time unit. + * This is a convenience method that converts time arguments into the + * form required by the Thread.join method. + * @param thread the thread to wait for + * @param timeout the maximum time to wait. If less than + * or equal to zero, do not wait at all. + * @throws InterruptedException if interrupted while waiting. + * @see Thread#join(long, int) + */ + public void timedJoin(Thread thread, long timeout) + throws InterruptedException { + if (timeout > 0) { + long ms = toMillis(timeout); + int ns = excessNanos(timeout, ms); + thread.join(ms, ns); + } + } + + /** + * Performs a Thread.sleep using this unit. + * This is a convenience method that converts time arguments into the + * form required by the Thread.sleep method. + * @param timeout the minimum time to sleep. If less than + * or equal to zero, do not sleep at all. + * @throws InterruptedException if interrupted while sleeping. + * @see Thread#sleep + */ + public void sleep(long timeout) throws InterruptedException { + if (timeout > 0) { + long ms = toMillis(timeout); + int ns = excessNanos(timeout, ms); + Thread.sleep(ms, ns); + } + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/TimeoutException.java b/libjava/classpath/external/jsr166/java/util/concurrent/TimeoutException.java new file mode 100644 index 00000000000..8b84f28e55d --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/TimeoutException.java @@ -0,0 +1,38 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent; + +/** + * Exception thrown when a blocking operation times out. Blocking + * operations for which a timeout is specified need a means to + * indicate that the timeout has occurred. For many such operations it + * is possible to return a value that indicates timeout; when that is + * not possible or desirable then TimeoutException should be + * declared and thrown. + * + * @since 1.5 + * @author Doug Lea + */ +public class TimeoutException extends Exception { + private static final long serialVersionUID = 1900926677490660714L; + + /** + * Constructs a TimeoutException with no specified detail + * message. + */ + public TimeoutException() {} + + /** + * Constructs a TimeoutException with the specified detail + * message. + * + * @param message the detail message + */ + public TimeoutException(String message) { + super(message); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicBoolean.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicBoolean.java new file mode 100644 index 00000000000..bd823bd2c23 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicBoolean.java @@ -0,0 +1,133 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; + +/** + * A boolean value that may be updated atomically. See the + * {@link java.util.concurrent.atomic} package specification for + * description of the properties of atomic variables. An + * AtomicBoolean is used in applications such as atomically + * updated flags, and cannot be used as a replacement for a + * {@link java.lang.Boolean}. + * + * @since 1.5 + * @author Doug Lea + */ +public class AtomicBoolean implements java.io.Serializable { + private static final long serialVersionUID = 4654671469794556979L; + // setup to use Unsafe.compareAndSwapInt for updates + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long valueOffset; + + static { + try { + valueOffset = unsafe.objectFieldOffset + (AtomicBoolean.class.getDeclaredField("value")); + } catch (Exception ex) { throw new Error(ex); } + } + + private volatile int value; + + /** + * Creates a new AtomicBoolean with the given initial value. + * + * @param initialValue the initial value + */ + public AtomicBoolean(boolean initialValue) { + value = initialValue ? 1 : 0; + } + + /** + * Creates a new AtomicBoolean with initial value false. + */ + public AtomicBoolean() { + } + + /** + * Returns the current value. + * + * @return the current value + */ + public final boolean get() { + return value != 0; + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(boolean expect, boolean update) { + int e = expect ? 1 : 0; + int u = update ? 1 : 0; + return unsafe.compareAndSwapInt(this, valueOffset, e, u); + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public boolean weakCompareAndSet(boolean expect, boolean update) { + int e = expect ? 1 : 0; + int u = update ? 1 : 0; + return unsafe.compareAndSwapInt(this, valueOffset, e, u); + } + + /** + * Unconditionally sets to the given value. + * + * @param newValue the new value + */ + public final void set(boolean newValue) { + value = newValue ? 1 : 0; + } + + /** + * Eventually sets to the given value. + * + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(boolean newValue) { + int v = newValue ? 1 : 0; + unsafe.putOrderedInt(this, valueOffset, v); + } + + /** + * Atomically sets to the given value and returns the previous value. + * + * @param newValue the new value + * @return the previous value + */ + public final boolean getAndSet(boolean newValue) { + for (;;) { + boolean current = get(); + if (compareAndSet(current, newValue)) + return current; + } + } + + /** + * Returns the String representation of the current value. + * @return the String representation of the current value. + */ + public String toString() { + return Boolean.toString(get()); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicInteger.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicInteger.java new file mode 100644 index 00000000000..dc4d470c32a --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicInteger.java @@ -0,0 +1,234 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; + +/** + * An int value that may be updated atomically. See the + * {@link java.util.concurrent.atomic} package specification for + * description of the properties of atomic variables. An + * AtomicInteger is used in applications such as atomically + * incremented counters, and cannot be used as a replacement for an + * {@link java.lang.Integer}. However, this class does extend + * Number to allow uniform access by tools and utilities that + * deal with numerically-based classes. + * + * @since 1.5 + * @author Doug Lea +*/ +public class AtomicInteger extends Number implements java.io.Serializable { + private static final long serialVersionUID = 6214790243416807050L; + + // setup to use Unsafe.compareAndSwapInt for updates + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long valueOffset; + + static { + try { + valueOffset = unsafe.objectFieldOffset + (AtomicInteger.class.getDeclaredField("value")); + } catch (Exception ex) { throw new Error(ex); } + } + + private volatile int value; + + /** + * Creates a new AtomicInteger with the given initial value. + * + * @param initialValue the initial value + */ + public AtomicInteger(int initialValue) { + value = initialValue; + } + + /** + * Creates a new AtomicInteger with initial value 0. + */ + public AtomicInteger() { + } + + /** + * Gets the current value. + * + * @return the current value + */ + public final int get() { + return value; + } + + /** + * Sets to the given value. + * + * @param newValue the new value + */ + public final void set(int newValue) { + value = newValue; + } + + /** + * Eventually sets to the given value. + * + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(int newValue) { + unsafe.putOrderedInt(this, valueOffset, newValue); + } + + /** + * Atomically sets to the given value and returns the old value. + * + * @param newValue the new value + * @return the previous value + */ + public final int getAndSet(int newValue) { + for (;;) { + int current = get(); + if (compareAndSet(current, newValue)) + return current; + } + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(int expect, int update) { + return unsafe.compareAndSwapInt(this, valueOffset, expect, update); + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public final boolean weakCompareAndSet(int expect, int update) { + return unsafe.compareAndSwapInt(this, valueOffset, expect, update); + } + + /** + * Atomically increments by one the current value. + * + * @return the previous value + */ + public final int getAndIncrement() { + for (;;) { + int current = get(); + int next = current + 1; + if (compareAndSet(current, next)) + return current; + } + } + + /** + * Atomically decrements by one the current value. + * + * @return the previous value + */ + public final int getAndDecrement() { + for (;;) { + int current = get(); + int next = current - 1; + if (compareAndSet(current, next)) + return current; + } + } + + /** + * Atomically adds the given value to the current value. + * + * @param delta the value to add + * @return the previous value + */ + public final int getAndAdd(int delta) { + for (;;) { + int current = get(); + int next = current + delta; + if (compareAndSet(current, next)) + return current; + } + } + + /** + * Atomically increments by one the current value. + * + * @return the updated value + */ + public final int incrementAndGet() { + for (;;) { + int current = get(); + int next = current + 1; + if (compareAndSet(current, next)) + return next; + } + } + + /** + * Atomically decrements by one the current value. + * + * @return the updated value + */ + public final int decrementAndGet() { + for (;;) { + int current = get(); + int next = current - 1; + if (compareAndSet(current, next)) + return next; + } + } + + /** + * Atomically adds the given value to the current value. + * + * @param delta the value to add + * @return the updated value + */ + public final int addAndGet(int delta) { + for (;;) { + int current = get(); + int next = current + delta; + if (compareAndSet(current, next)) + return next; + } + } + + /** + * Returns the String representation of the current value. + * @return the String representation of the current value. + */ + public String toString() { + return Integer.toString(get()); + } + + + public int intValue() { + return get(); + } + + public long longValue() { + return (long)get(); + } + + public float floatValue() { + return (float)get(); + } + + public double doubleValue() { + return (double)get(); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerArray.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerArray.java new file mode 100644 index 00000000000..2ad754fda2b --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerArray.java @@ -0,0 +1,255 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; +import java.util.*; + +/** + * An int array in which elements may be updated atomically. + * See the {@link java.util.concurrent.atomic} package + * specification for description of the properties of atomic + * variables. + * @since 1.5 + * @author Doug Lea + */ +public class AtomicIntegerArray implements java.io.Serializable { + private static final long serialVersionUID = 2862133569453604235L; + + // setup to use Unsafe.compareAndSwapInt for updates + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final int base = unsafe.arrayBaseOffset(int[].class); + private static final int scale = unsafe.arrayIndexScale(int[].class); + private final int[] array; + + private long rawIndex(int i) { + if (i < 0 || i >= array.length) + throw new IndexOutOfBoundsException("index " + i); + return base + i * scale; + } + + /** + * Creates a new AtomicIntegerArray of given length. + * + * @param length the length of the array + */ + public AtomicIntegerArray(int length) { + array = new int[length]; + // must perform at least one volatile write to conform to JMM + if (length > 0) + unsafe.putIntVolatile(array, rawIndex(0), 0); + } + + /** + * Creates a new AtomicIntegerArray with the same length as, and + * all elements copied from, the given array. + * + * @param array the array to copy elements from + * @throws NullPointerException if array is null + */ + public AtomicIntegerArray(int[] array) { + if (array == null) + throw new NullPointerException(); + int length = array.length; + this.array = new int[length]; + if (length > 0) { + int last = length-1; + for (int i = 0; i < last; ++i) + this.array[i] = array[i]; + // Do the last write as volatile + unsafe.putIntVolatile(this.array, rawIndex(last), array[last]); + } + } + + /** + * Returns the length of the array. + * + * @return the length of the array + */ + public final int length() { + return array.length; + } + + /** + * Gets the current value at position i. + * + * @param i the index + * @return the current value + */ + public final int get(int i) { + return unsafe.getIntVolatile(array, rawIndex(i)); + } + + /** + * Sets the element at position i to the given value. + * + * @param i the index + * @param newValue the new value + */ + public final void set(int i, int newValue) { + unsafe.putIntVolatile(array, rawIndex(i), newValue); + } + + /** + * Eventually sets the element at position i to the given value. + * + * @param i the index + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(int i, int newValue) { + unsafe.putOrderedInt(array, rawIndex(i), newValue); + } + + /** + * Atomically sets the element at position i to the given + * value and returns the old value. + * + * @param i the index + * @param newValue the new value + * @return the previous value + */ + public final int getAndSet(int i, int newValue) { + while (true) { + int current = get(i); + if (compareAndSet(i, current, newValue)) + return current; + } + } + + /** + * Atomically sets the element at position i to the given + * updated value if the current value == the expected value. + * + * @param i the index + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(int i, int expect, int update) { + return unsafe.compareAndSwapInt(array, rawIndex(i), + expect, update); + } + + /** + * Atomically sets the element at position i to the given + * updated value if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param i the index + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public final boolean weakCompareAndSet(int i, int expect, int update) { + return compareAndSet(i, expect, update); + } + + /** + * Atomically increments by one the element at index i. + * + * @param i the index + * @return the previous value + */ + public final int getAndIncrement(int i) { + while (true) { + int current = get(i); + int next = current + 1; + if (compareAndSet(i, current, next)) + return current; + } + } + + /** + * Atomically decrements by one the element at index i. + * + * @param i the index + * @return the previous value + */ + public final int getAndDecrement(int i) { + while (true) { + int current = get(i); + int next = current - 1; + if (compareAndSet(i, current, next)) + return current; + } + } + + /** + * Atomically adds the given value to the element at index i. + * + * @param i the index + * @param delta the value to add + * @return the previous value + */ + public final int getAndAdd(int i, int delta) { + while (true) { + int current = get(i); + int next = current + delta; + if (compareAndSet(i, current, next)) + return current; + } + } + + /** + * Atomically increments by one the element at index i. + * + * @param i the index + * @return the updated value + */ + public final int incrementAndGet(int i) { + while (true) { + int current = get(i); + int next = current + 1; + if (compareAndSet(i, current, next)) + return next; + } + } + + /** + * Atomically decrements by one the element at index i. + * + * @param i the index + * @return the updated value + */ + public final int decrementAndGet(int i) { + while (true) { + int current = get(i); + int next = current - 1; + if (compareAndSet(i, current, next)) + return next; + } + } + + /** + * Atomically adds the given value to the element at index i. + * + * @param i the index + * @param delta the value to add + * @return the updated value + */ + public final int addAndGet(int i, int delta) { + while (true) { + int current = get(i); + int next = current + delta; + if (compareAndSet(i, current, next)) + return next; + } + } + + /** + * Returns the String representation of the current values of array. + * @return the String representation of the current values of array. + */ + public String toString() { + if (array.length > 0) // force volatile read + get(0); + return Arrays.toString(array); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java new file mode 100644 index 00000000000..102c2a7c9bd --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java @@ -0,0 +1,316 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; +import java.lang.reflect.*; + +/** + * A reflection-based utility that enables atomic updates to + * designated volatile int fields of designated classes. + * This class is designed for use in atomic data structures in which + * several fields of the same node are independently subject to atomic + * updates. + * + *

Note that the guarantees of the {@code compareAndSet} + * method in this class are weaker than in other atomic classes. + * Because this class cannot ensure that all uses of the field + * are appropriate for purposes of atomic access, it can + * guarantee atomicity only with respect to other invocations of + * {@code compareAndSet} and {@code set} on the same updater. + * + * @since 1.5 + * @author Doug Lea + * @param The type of the object holding the updatable field + */ +public abstract class AtomicIntegerFieldUpdater { + /** + * Creates and returns an updater for objects with the given field. + * The Class argument is needed to check that reflective types and + * generic types match. + * + * @param tclass the class of the objects holding the field + * @param fieldName the name of the field to be updated + * @return the updater + * @throws IllegalArgumentException if the field is not a + * volatile integer type + * @throws RuntimeException with a nested reflection-based + * exception if the class does not hold field or is the wrong type + */ + public static AtomicIntegerFieldUpdater newUpdater(Class tclass, String fieldName) { + return new AtomicIntegerFieldUpdaterImpl(tclass, fieldName); + } + + /** + * Protected do-nothing constructor for use by subclasses. + */ + protected AtomicIntegerFieldUpdater() { + } + + /** + * Atomically sets the field of the given object managed by this updater + * to the given updated value if the current value == the + * expected value. This method is guaranteed to be atomic with respect to + * other calls to compareAndSet and set, but not + * necessarily with respect to other changes in the field. + * + * @param obj An object whose field to conditionally set + * @param expect the expected value + * @param update the new value + * @return true if successful + * @throws ClassCastException if obj is not an instance + * of the class possessing the field established in the constructor + */ + public abstract boolean compareAndSet(T obj, int expect, int update); + + /** + * Atomically sets the field of the given object managed by this updater + * to the given updated value if the current value == the + * expected value. This method is guaranteed to be atomic with respect to + * other calls to compareAndSet and set, but not + * necessarily with respect to other changes in the field. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param obj An object whose field to conditionally set + * @param expect the expected value + * @param update the new value + * @return true if successful + * @throws ClassCastException if obj is not an instance + * of the class possessing the field established in the constructor + */ + public abstract boolean weakCompareAndSet(T obj, int expect, int update); + + /** + * Sets the field of the given object managed by this updater to the + * given updated value. This operation is guaranteed to act as a volatile + * store with respect to subsequent invocations of + * compareAndSet. + * + * @param obj An object whose field to set + * @param newValue the new value + */ + public abstract void set(T obj, int newValue); + + /** + * Eventually sets the field of the given object managed by this + * updater to the given updated value. + * + * @param obj An object whose field to set + * @param newValue the new value + * @since 1.6 + */ + public abstract void lazySet(T obj, int newValue); + + + /** + * Gets the current value held in the field of the given object managed + * by this updater. + * + * @param obj An object whose field to get + * @return the current value + */ + public abstract int get(T obj); + + /** + * Atomically sets the field of the given object managed by this updater + * to the given value and returns the old value. + * + * @param obj An object whose field to get and set + * @param newValue the new value + * @return the previous value + */ + public int getAndSet(T obj, int newValue) { + for (;;) { + int current = get(obj); + if (compareAndSet(obj, current, newValue)) + return current; + } + } + + /** + * Atomically increments by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the previous value + */ + public int getAndIncrement(T obj) { + for (;;) { + int current = get(obj); + int next = current + 1; + if (compareAndSet(obj, current, next)) + return current; + } + } + + /** + * Atomically decrements by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the previous value + */ + public int getAndDecrement(T obj) { + for (;;) { + int current = get(obj); + int next = current - 1; + if (compareAndSet(obj, current, next)) + return current; + } + } + + /** + * Atomically adds the given value to the current value of the field of + * the given object managed by this updater. + * + * @param obj An object whose field to get and set + * @param delta the value to add + * @return the previous value + */ + public int getAndAdd(T obj, int delta) { + for (;;) { + int current = get(obj); + int next = current + delta; + if (compareAndSet(obj, current, next)) + return current; + } + } + + /** + * Atomically increments by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the updated value + */ + public int incrementAndGet(T obj) { + for (;;) { + int current = get(obj); + int next = current + 1; + if (compareAndSet(obj, current, next)) + return next; + } + } + + /** + * Atomically decrements by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the updated value + */ + public int decrementAndGet(T obj) { + for (;;) { + int current = get(obj); + int next = current - 1; + if (compareAndSet(obj, current, next)) + return next; + } + } + + /** + * Atomically adds the given value to the current value of the field of + * the given object managed by this updater. + * + * @param obj An object whose field to get and set + * @param delta the value to add + * @return the updated value + */ + public int addAndGet(T obj, int delta) { + for (;;) { + int current = get(obj); + int next = current + delta; + if (compareAndSet(obj, current, next)) + return next; + } + } + + /** + * Standard hotspot implementation using intrinsics + */ + private static class AtomicIntegerFieldUpdaterImpl extends AtomicIntegerFieldUpdater { + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private final long offset; + private final Class tclass; + private final Class cclass; + + AtomicIntegerFieldUpdaterImpl(Class tclass, String fieldName) { + Field field = null; + Class caller = null; + int modifiers = 0; + try { + field = tclass.getDeclaredField(fieldName); + caller = sun.reflect.Reflection.getCallerClass(3); + modifiers = field.getModifiers(); + sun.reflect.misc.ReflectUtil.ensureMemberAccess( + caller, tclass, null, modifiers); + sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass); + } catch(Exception ex) { + throw new RuntimeException(ex); + } + + Class fieldt = field.getType(); + if (fieldt != int.class) + throw new IllegalArgumentException("Must be integer type"); + + if (!Modifier.isVolatile(modifiers)) + throw new IllegalArgumentException("Must be volatile type"); + + this.cclass = (Modifier.isProtected(modifiers) && + caller != tclass) ? caller : null; + this.tclass = tclass; + offset = unsafe.objectFieldOffset(field); + } + + private void fullCheck(T obj) { + if (!tclass.isInstance(obj)) + throw new ClassCastException(); + if (cclass != null) + ensureProtectedAccess(obj); + } + + public boolean compareAndSet(T obj, int expect, int update) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + return unsafe.compareAndSwapInt(obj, offset, expect, update); + } + + public boolean weakCompareAndSet(T obj, int expect, int update) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + return unsafe.compareAndSwapInt(obj, offset, expect, update); + } + + public void set(T obj, int newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + unsafe.putIntVolatile(obj, offset, newValue); + } + + public void lazySet(T obj, int newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + unsafe.putOrderedInt(obj, offset, newValue); + } + + public final int get(T obj) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + return unsafe.getIntVolatile(obj, offset); + } + + private void ensureProtectedAccess(T obj) { + if (cclass.isInstance(obj)) { + return; + } + throw new RuntimeException( + new IllegalAccessException("Class " + + cclass.getName() + + " can not access a protected member of class " + + tclass.getName() + + " using an instance of " + + obj.getClass().getName() + ) + ); + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLong.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLong.java new file mode 100644 index 00000000000..136dc60fb7d --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLong.java @@ -0,0 +1,248 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; + +/** + * A long value that may be updated atomically. See the + * {@link java.util.concurrent.atomic} package specification for + * description of the properties of atomic variables. An + * AtomicLong is used in applications such as atomically + * incremented sequence numbers, and cannot be used as a replacement + * for a {@link java.lang.Long}. However, this class does extend + * Number to allow uniform access by tools and utilities that + * deal with numerically-based classes. + * + * @since 1.5 + * @author Doug Lea + */ +public class AtomicLong extends Number implements java.io.Serializable { + private static final long serialVersionUID = 1927816293512124184L; + + // setup to use Unsafe.compareAndSwapLong for updates + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long valueOffset; + + /** + * Records whether the underlying JVM supports lockless + * CompareAndSet for longs. While the unsafe.CompareAndSetLong + * method works in either case, some constructions should be + * handled at Java level to avoid locking user-visible locks. + */ + static final boolean VM_SUPPORTS_LONG_CAS = VMSupportsCS8(); + + /** + * Returns whether underlying JVM supports lockless CompareAndSet + * for longs. Called only once and cached in VM_SUPPORTS_LONG_CAS. + */ + private static native boolean VMSupportsCS8(); + + static { + try { + valueOffset = unsafe.objectFieldOffset + (AtomicLong.class.getDeclaredField("value")); + } catch (Exception ex) { throw new Error(ex); } + } + + private volatile long value; + + /** + * Creates a new AtomicLong with the given initial value. + * + * @param initialValue the initial value + */ + public AtomicLong(long initialValue) { + value = initialValue; + } + + /** + * Creates a new AtomicLong with initial value 0. + */ + public AtomicLong() { + } + + /** + * Gets the current value. + * + * @return the current value + */ + public final long get() { + return value; + } + + /** + * Sets to the given value. + * + * @param newValue the new value + */ + public final void set(long newValue) { + value = newValue; + } + + /** + * Eventually sets to the given value. + * + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(long newValue) { + unsafe.putOrderedLong(this, valueOffset, newValue); + } + + /** + * Atomically sets to the given value and returns the old value. + * + * @param newValue the new value + * @return the previous value + */ + public final long getAndSet(long newValue) { + while (true) { + long current = get(); + if (compareAndSet(current, newValue)) + return current; + } + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(long expect, long update) { + return unsafe.compareAndSwapLong(this, valueOffset, expect, update); + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public final boolean weakCompareAndSet(long expect, long update) { + return unsafe.compareAndSwapLong(this, valueOffset, expect, update); + } + + /** + * Atomically increments by one the current value. + * + * @return the previous value + */ + public final long getAndIncrement() { + while (true) { + long current = get(); + long next = current + 1; + if (compareAndSet(current, next)) + return current; + } + } + + /** + * Atomically decrements by one the current value. + * + * @return the previous value + */ + public final long getAndDecrement() { + while (true) { + long current = get(); + long next = current - 1; + if (compareAndSet(current, next)) + return current; + } + } + + /** + * Atomically adds the given value to the current value. + * + * @param delta the value to add + * @return the previous value + */ + public final long getAndAdd(long delta) { + while (true) { + long current = get(); + long next = current + delta; + if (compareAndSet(current, next)) + return current; + } + } + + /** + * Atomically increments by one the current value. + * + * @return the updated value + */ + public final long incrementAndGet() { + for (;;) { + long current = get(); + long next = current + 1; + if (compareAndSet(current, next)) + return next; + } + } + + /** + * Atomically decrements by one the current value. + * + * @return the updated value + */ + public final long decrementAndGet() { + for (;;) { + long current = get(); + long next = current - 1; + if (compareAndSet(current, next)) + return next; + } + } + + /** + * Atomically adds the given value to the current value. + * + * @param delta the value to add + * @return the updated value + */ + public final long addAndGet(long delta) { + for (;;) { + long current = get(); + long next = current + delta; + if (compareAndSet(current, next)) + return next; + } + } + + /** + * Returns the String representation of the current value. + * @return the String representation of the current value. + */ + public String toString() { + return Long.toString(get()); + } + + + public int intValue() { + return (int)get(); + } + + public long longValue() { + return (long)get(); + } + + public float floatValue() { + return (float)get(); + } + + public double doubleValue() { + return (double)get(); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongArray.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongArray.java new file mode 100644 index 00000000000..c582cba547a --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongArray.java @@ -0,0 +1,255 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; +import java.util.*; + +/** + * A long array in which elements may be updated atomically. + * See the {@link java.util.concurrent.atomic} package specification + * for description of the properties of atomic variables. + * @since 1.5 + * @author Doug Lea + */ +public class AtomicLongArray implements java.io.Serializable { + private static final long serialVersionUID = -2308431214976778248L; + + // setup to use Unsafe.compareAndSwapInt for updates + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final int base = unsafe.arrayBaseOffset(long[].class); + private static final int scale = unsafe.arrayIndexScale(long[].class); + private final long[] array; + + private long rawIndex(int i) { + if (i < 0 || i >= array.length) + throw new IndexOutOfBoundsException("index " + i); + return base + i * scale; + } + + /** + * Creates a new AtomicLongArray of given length. + * + * @param length the length of the array + */ + public AtomicLongArray(int length) { + array = new long[length]; + // must perform at least one volatile write to conform to JMM + if (length > 0) + unsafe.putLongVolatile(array, rawIndex(0), 0); + } + + /** + * Creates a new AtomicLongArray with the same length as, and + * all elements copied from, the given array. + * + * @param array the array to copy elements from + * @throws NullPointerException if array is null + */ + public AtomicLongArray(long[] array) { + if (array == null) + throw new NullPointerException(); + int length = array.length; + this.array = new long[length]; + if (length > 0) { + int last = length-1; + for (int i = 0; i < last; ++i) + this.array[i] = array[i]; + // Do the last write as volatile + unsafe.putLongVolatile(this.array, rawIndex(last), array[last]); + } + } + + /** + * Returns the length of the array. + * + * @return the length of the array + */ + public final int length() { + return array.length; + } + + /** + * Gets the current value at position i. + * + * @param i the index + * @return the current value + */ + public final long get(int i) { + return unsafe.getLongVolatile(array, rawIndex(i)); + } + + /** + * Sets the element at position i to the given value. + * + * @param i the index + * @param newValue the new value + */ + public final void set(int i, long newValue) { + unsafe.putLongVolatile(array, rawIndex(i), newValue); + } + + /** + * Eventually sets the element at position i to the given value. + * + * @param i the index + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(int i, long newValue) { + unsafe.putOrderedLong(array, rawIndex(i), newValue); + } + + + /** + * Atomically sets the element at position i to the given value + * and returns the old value. + * + * @param i the index + * @param newValue the new value + * @return the previous value + */ + public final long getAndSet(int i, long newValue) { + while (true) { + long current = get(i); + if (compareAndSet(i, current, newValue)) + return current; + } + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * + * @param i the index + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(int i, long expect, long update) { + return unsafe.compareAndSwapLong(array, rawIndex(i), + expect, update); + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param i the index + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public final boolean weakCompareAndSet(int i, long expect, long update) { + return compareAndSet(i, expect, update); + } + + /** + * Atomically increments by one the element at index i. + * + * @param i the index + * @return the previous value + */ + public final long getAndIncrement(int i) { + while (true) { + long current = get(i); + long next = current + 1; + if (compareAndSet(i, current, next)) + return current; + } + } + + /** + * Atomically decrements by one the element at index i. + * + * @param i the index + * @return the previous value + */ + public final long getAndDecrement(int i) { + while (true) { + long current = get(i); + long next = current - 1; + if (compareAndSet(i, current, next)) + return current; + } + } + + /** + * Atomically adds the given value to the element at index i. + * + * @param i the index + * @param delta the value to add + * @return the previous value + */ + public final long getAndAdd(int i, long delta) { + while (true) { + long current = get(i); + long next = current + delta; + if (compareAndSet(i, current, next)) + return current; + } + } + + /** + * Atomically increments by one the element at index i. + * + * @param i the index + * @return the updated value + */ + public final long incrementAndGet(int i) { + while (true) { + long current = get(i); + long next = current + 1; + if (compareAndSet(i, current, next)) + return next; + } + } + + /** + * Atomically decrements by one the element at index i. + * + * @param i the index + * @return the updated value + */ + public final long decrementAndGet(int i) { + while (true) { + long current = get(i); + long next = current - 1; + if (compareAndSet(i, current, next)) + return next; + } + } + + /** + * Atomically adds the given value to the element at index i. + * + * @param i the index + * @param delta the value to add + * @return the updated value + */ + public long addAndGet(int i, long delta) { + while (true) { + long current = get(i); + long next = current + delta; + if (compareAndSet(i, current, next)) + return next; + } + } + + /** + * Returns the String representation of the current values of array. + * @return the String representation of the current values of array. + */ + public String toString() { + if (array.length > 0) // force volatile read + get(0); + return Arrays.toString(array); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java new file mode 100644 index 00000000000..dafd089236e --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java @@ -0,0 +1,406 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; +import java.lang.reflect.*; + +/** + * A reflection-based utility that enables atomic updates to + * designated volatile long fields of designated classes. + * This class is designed for use in atomic data structures in which + * several fields of the same node are independently subject to atomic + * updates. + * + *

Note that the guarantees of the {@code compareAndSet} + * method in this class are weaker than in other atomic classes. + * Because this class cannot ensure that all uses of the field + * are appropriate for purposes of atomic access, it can + * guarantee atomicity only with respect to other invocations of + * {@code compareAndSet} and {@code set} on the same updater. + * + * @since 1.5 + * @author Doug Lea + * @param The type of the object holding the updatable field + */ +public abstract class AtomicLongFieldUpdater { + /** + * Creates and returns an updater for objects with the given field. + * The Class argument is needed to check that reflective types and + * generic types match. + * + * @param tclass the class of the objects holding the field + * @param fieldName the name of the field to be updated. + * @return the updater + * @throws IllegalArgumentException if the field is not a + * volatile long type. + * @throws RuntimeException with a nested reflection-based + * exception if the class does not hold field or is the wrong type. + */ + public static AtomicLongFieldUpdater newUpdater(Class tclass, String fieldName) { + if (AtomicLong.VM_SUPPORTS_LONG_CAS) + return new CASUpdater(tclass, fieldName); + else + return new LockedUpdater(tclass, fieldName); + } + + /** + * Protected do-nothing constructor for use by subclasses. + */ + protected AtomicLongFieldUpdater() { + } + + /** + * Atomically sets the field of the given object managed by this updater + * to the given updated value if the current value == the + * expected value. This method is guaranteed to be atomic with respect to + * other calls to compareAndSet and set, but not + * necessarily with respect to other changes in the field. + * + * @param obj An object whose field to conditionally set + * @param expect the expected value + * @param update the new value + * @return true if successful. + * @throws ClassCastException if obj is not an instance + * of the class possessing the field established in the constructor. + */ + public abstract boolean compareAndSet(T obj, long expect, long update); + + /** + * Atomically sets the field of the given object managed by this updater + * to the given updated value if the current value == the + * expected value. This method is guaranteed to be atomic with respect to + * other calls to compareAndSet and set, but not + * necessarily with respect to other changes in the field. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param obj An object whose field to conditionally set + * @param expect the expected value + * @param update the new value + * @return true if successful. + * @throws ClassCastException if obj is not an instance + * of the class possessing the field established in the constructor. + */ + public abstract boolean weakCompareAndSet(T obj, long expect, long update); + + /** + * Sets the field of the given object managed by this updater to the + * given updated value. This operation is guaranteed to act as a volatile + * store with respect to subsequent invocations of + * compareAndSet. + * + * @param obj An object whose field to set + * @param newValue the new value + */ + public abstract void set(T obj, long newValue); + + /** + * Eventually sets the field of the given object managed by this + * updater to the given updated value. + * + * @param obj An object whose field to set + * @param newValue the new value + * @since 1.6 + */ + public abstract void lazySet(T obj, long newValue); + + /** + * Gets the current value held in the field of the given object managed + * by this updater. + * + * @param obj An object whose field to get + * @return the current value + */ + public abstract long get(T obj); + + /** + * Atomically sets the field of the given object managed by this updater + * to the given value and returns the old value. + * + * @param obj An object whose field to get and set + * @param newValue the new value + * @return the previous value + */ + public long getAndSet(T obj, long newValue) { + for (;;) { + long current = get(obj); + if (compareAndSet(obj, current, newValue)) + return current; + } + } + + /** + * Atomically increments by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the previous value + */ + public long getAndIncrement(T obj) { + for (;;) { + long current = get(obj); + long next = current + 1; + if (compareAndSet(obj, current, next)) + return current; + } + } + + /** + * Atomically decrements by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the previous value + */ + public long getAndDecrement(T obj) { + for (;;) { + long current = get(obj); + long next = current - 1; + if (compareAndSet(obj, current, next)) + return current; + } + } + + /** + * Atomically adds the given value to the current value of the field of + * the given object managed by this updater. + * + * @param obj An object whose field to get and set + * @param delta the value to add + * @return the previous value + */ + public long getAndAdd(T obj, long delta) { + for (;;) { + long current = get(obj); + long next = current + delta; + if (compareAndSet(obj, current, next)) + return current; + } + } + + /** + * Atomically increments by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the updated value + */ + public long incrementAndGet(T obj) { + for (;;) { + long current = get(obj); + long next = current + 1; + if (compareAndSet(obj, current, next)) + return next; + } + } + + /** + * Atomically decrements by one the current value of the field of the + * given object managed by this updater. + * + * @param obj An object whose field to get and set + * @return the updated value + */ + public long decrementAndGet(T obj) { + for (;;) { + long current = get(obj); + long next = current - 1; + if (compareAndSet(obj, current, next)) + return next; + } + } + + /** + * Atomically adds the given value to the current value of the field of + * the given object managed by this updater. + * + * @param obj An object whose field to get and set + * @param delta the value to add + * @return the updated value + */ + public long addAndGet(T obj, long delta) { + for (;;) { + long current = get(obj); + long next = current + delta; + if (compareAndSet(obj, current, next)) + return next; + } + } + + private static class CASUpdater extends AtomicLongFieldUpdater { + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private final long offset; + private final Class tclass; + private final Class cclass; + + CASUpdater(Class tclass, String fieldName) { + Field field = null; + Class caller = null; + int modifiers = 0; + try { + field = tclass.getDeclaredField(fieldName); + caller = sun.reflect.Reflection.getCallerClass(3); + modifiers = field.getModifiers(); + sun.reflect.misc.ReflectUtil.ensureMemberAccess( + caller, tclass, null, modifiers); + sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass); + } catch(Exception ex) { + throw new RuntimeException(ex); + } + + Class fieldt = field.getType(); + if (fieldt != long.class) + throw new IllegalArgumentException("Must be long type"); + + if (!Modifier.isVolatile(modifiers)) + throw new IllegalArgumentException("Must be volatile type"); + + this.cclass = (Modifier.isProtected(modifiers) && + caller != tclass) ? caller : null; + this.tclass = tclass; + offset = unsafe.objectFieldOffset(field); + } + + private void fullCheck(T obj) { + if (!tclass.isInstance(obj)) + throw new ClassCastException(); + if (cclass != null) + ensureProtectedAccess(obj); + } + + public boolean compareAndSet(T obj, long expect, long update) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + return unsafe.compareAndSwapLong(obj, offset, expect, update); + } + + public boolean weakCompareAndSet(T obj, long expect, long update) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + return unsafe.compareAndSwapLong(obj, offset, expect, update); + } + + public void set(T obj, long newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + unsafe.putLongVolatile(obj, offset, newValue); + } + + public void lazySet(T obj, long newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + unsafe.putOrderedLong(obj, offset, newValue); + } + + public long get(T obj) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + return unsafe.getLongVolatile(obj, offset); + } + + private void ensureProtectedAccess(T obj) { + if (cclass.isInstance(obj)) { + return; + } + throw new RuntimeException ( + new IllegalAccessException("Class " + + cclass.getName() + + " can not access a protected member of class " + + tclass.getName() + + " using an instance of " + + obj.getClass().getName() + ) + ); + } + } + + + private static class LockedUpdater extends AtomicLongFieldUpdater { + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private final long offset; + private final Class tclass; + private final Class cclass; + + LockedUpdater(Class tclass, String fieldName) { + Field field = null; + Class caller = null; + int modifiers = 0; + try { + field = tclass.getDeclaredField(fieldName); + caller = sun.reflect.Reflection.getCallerClass(3); + modifiers = field.getModifiers(); + sun.reflect.misc.ReflectUtil.ensureMemberAccess( + caller, tclass, null, modifiers); + sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass); + } catch(Exception ex) { + throw new RuntimeException(ex); + } + + Class fieldt = field.getType(); + if (fieldt != long.class) + throw new IllegalArgumentException("Must be long type"); + + if (!Modifier.isVolatile(modifiers)) + throw new IllegalArgumentException("Must be volatile type"); + + this.cclass = (Modifier.isProtected(modifiers) && + caller != tclass) ? caller : null; + this.tclass = tclass; + offset = unsafe.objectFieldOffset(field); + } + + private void fullCheck(T obj) { + if (!tclass.isInstance(obj)) + throw new ClassCastException(); + if (cclass != null) + ensureProtectedAccess(obj); + } + + public boolean compareAndSet(T obj, long expect, long update) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + synchronized(this) { + long v = unsafe.getLong(obj, offset); + if (v != expect) + return false; + unsafe.putLong(obj, offset, update); + return true; + } + } + + public boolean weakCompareAndSet(T obj, long expect, long update) { + return compareAndSet(obj, expect, update); + } + + public void set(T obj, long newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + synchronized(this) { + unsafe.putLong(obj, offset, newValue); + } + } + + public void lazySet(T obj, long newValue) { + set(obj, newValue); + } + + public long get(T obj) { + if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj); + synchronized(this) { + return unsafe.getLong(obj, offset); + } + } + + private void ensureProtectedAccess(T obj) { + if (cclass.isInstance(obj)) { + return; + } + throw new RuntimeException ( + new IllegalAccessException("Class " + + cclass.getName() + + " can not access a protected member of class " + + tclass.getName() + + " using an instance of " + + obj.getClass().getName() + ) + ); + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicMarkableReference.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicMarkableReference.java new file mode 100644 index 00000000000..85335b737e5 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicMarkableReference.java @@ -0,0 +1,161 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; + +/** + * An AtomicMarkableReference maintains an object reference + * along with a mark bit, that can be updated atomically. + *

+ *

Implementation note. This implementation maintains markable + * references by creating internal objects representing "boxed" + * [reference, boolean] pairs. + * + * @since 1.5 + * @author Doug Lea + * @param The type of object referred to by this reference + */ +public class AtomicMarkableReference { + + private static class ReferenceBooleanPair { + private final T reference; + private final boolean bit; + ReferenceBooleanPair(T r, boolean i) { + reference = r; bit = i; + } + } + + private final AtomicReference> atomicRef; + + /** + * Creates a new AtomicMarkableReference with the given + * initial values. + * + * @param initialRef the initial reference + * @param initialMark the initial mark + */ + public AtomicMarkableReference(V initialRef, boolean initialMark) { + atomicRef = new AtomicReference> (new ReferenceBooleanPair(initialRef, initialMark)); + } + + /** + * Returns the current value of the reference. + * + * @return the current value of the reference + */ + public V getReference() { + return atomicRef.get().reference; + } + + /** + * Returns the current value of the mark. + * + * @return the current value of the mark + */ + public boolean isMarked() { + return atomicRef.get().bit; + } + + /** + * Returns the current values of both the reference and the mark. + * Typical usage is boolean[1] holder; ref = v.get(holder); . + * + * @param markHolder an array of size of at least one. On return, + * markholder[0] will hold the value of the mark. + * @return the current value of the reference + */ + public V get(boolean[] markHolder) { + ReferenceBooleanPair p = atomicRef.get(); + markHolder[0] = p.bit; + return p.reference; + } + + /** + * Atomically sets the value of both the reference and mark + * to the given update values if the + * current reference is == to the expected reference + * and the current mark is equal to the expected mark. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param expectedReference the expected value of the reference + * @param newReference the new value for the reference + * @param expectedMark the expected value of the mark + * @param newMark the new value for the mark + * @return true if successful + */ + public boolean weakCompareAndSet(V expectedReference, + V newReference, + boolean expectedMark, + boolean newMark) { + ReferenceBooleanPair current = atomicRef.get(); + return expectedReference == current.reference && + expectedMark == current.bit && + ((newReference == current.reference && newMark == current.bit) || + atomicRef.weakCompareAndSet(current, + new ReferenceBooleanPair(newReference, + newMark))); + } + + /** + * Atomically sets the value of both the reference and mark + * to the given update values if the + * current reference is == to the expected reference + * and the current mark is equal to the expected mark. + * + * @param expectedReference the expected value of the reference + * @param newReference the new value for the reference + * @param expectedMark the expected value of the mark + * @param newMark the new value for the mark + * @return true if successful + */ + public boolean compareAndSet(V expectedReference, + V newReference, + boolean expectedMark, + boolean newMark) { + ReferenceBooleanPair current = atomicRef.get(); + return expectedReference == current.reference && + expectedMark == current.bit && + ((newReference == current.reference && newMark == current.bit) || + atomicRef.compareAndSet(current, + new ReferenceBooleanPair(newReference, + newMark))); + } + + /** + * Unconditionally sets the value of both the reference and mark. + * + * @param newReference the new value for the reference + * @param newMark the new value for the mark + */ + public void set(V newReference, boolean newMark) { + ReferenceBooleanPair current = atomicRef.get(); + if (newReference != current.reference || newMark != current.bit) + atomicRef.set(new ReferenceBooleanPair(newReference, newMark)); + } + + /** + * Atomically sets the value of the mark to the given update value + * if the current reference is == to the expected + * reference. Any given invocation of this operation may fail + * (return false) spuriously, but repeated invocation + * when the current value holds the expected value and no other + * thread is also attempting to set the value will eventually + * succeed. + * + * @param expectedReference the expected value of the reference + * @param newMark the new value for the mark + * @return true if successful + */ + public boolean attemptMark(V expectedReference, boolean newMark) { + ReferenceBooleanPair current = atomicRef.get(); + return expectedReference == current.reference && + (newMark == current.bit || + atomicRef.compareAndSet + (current, new ReferenceBooleanPair(expectedReference, + newMark))); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReference.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReference.java new file mode 100644 index 00000000000..e7c989c2b7e --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReference.java @@ -0,0 +1,124 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; + +/** + * An object reference that may be updated atomically. See the {@link + * java.util.concurrent.atomic} package specification for description + * of the properties of atomic variables. + * @since 1.5 + * @author Doug Lea + * @param The type of object referred to by this reference + */ +public class AtomicReference implements java.io.Serializable { + private static final long serialVersionUID = -1848883965231344442L; + + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long valueOffset; + + static { + try { + valueOffset = unsafe.objectFieldOffset + (AtomicReference.class.getDeclaredField("value")); + } catch (Exception ex) { throw new Error(ex); } + } + + private volatile V value; + + /** + * Creates a new AtomicReference with the given initial value. + * + * @param initialValue the initial value + */ + public AtomicReference(V initialValue) { + value = initialValue; + } + + /** + * Creates a new AtomicReference with null initial value. + */ + public AtomicReference() { + } + + /** + * Gets the current value. + * + * @return the current value + */ + public final V get() { + return value; + } + + /** + * Sets to the given value. + * + * @param newValue the new value + */ + public final void set(V newValue) { + value = newValue; + } + + /** + * Eventually sets to the given value. + * + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(V newValue) { + unsafe.putOrderedObject(this, valueOffset, newValue); + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(V expect, V update) { + return unsafe.compareAndSwapObject(this, valueOffset, expect, update); + } + + /** + * Atomically sets the value to the given updated value + * if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public final boolean weakCompareAndSet(V expect, V update) { + return unsafe.compareAndSwapObject(this, valueOffset, expect, update); + } + + /** + * Atomically sets to the given value and returns the old value. + * + * @param newValue the new value + * @return the previous value + */ + public final V getAndSet(V newValue) { + while (true) { + V x = get(); + if (compareAndSet(x, newValue)) + return x; + } + } + + /** + * Returns the String representation of the current value. + * @return the String representation of the current value. + */ + public String toString() { + return String.valueOf(get()); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceArray.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceArray.java new file mode 100644 index 00000000000..91b601ed96e --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceArray.java @@ -0,0 +1,163 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; +import java.util.*; + +/** + * An array of object references in which elements may be updated + * atomically. See the {@link java.util.concurrent.atomic} package + * specification for description of the properties of atomic + * variables. + * @since 1.5 + * @author Doug Lea + * @param The base class of elements held in this array + */ +public class AtomicReferenceArray implements java.io.Serializable { + private static final long serialVersionUID = -6209656149925076980L; + + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final int base = unsafe.arrayBaseOffset(Object[].class); + private static final int scale = unsafe.arrayIndexScale(Object[].class); + private final Object[] array; + + private long rawIndex(int i) { + if (i < 0 || i >= array.length) + throw new IndexOutOfBoundsException("index " + i); + return base + i * scale; + } + + /** + * Creates a new AtomicReferenceArray of given length. + * @param length the length of the array + */ + public AtomicReferenceArray(int length) { + array = new Object[length]; + // must perform at least one volatile write to conform to JMM + if (length > 0) + unsafe.putObjectVolatile(array, rawIndex(0), null); + } + + /** + * Creates a new AtomicReferenceArray with the same length as, and + * all elements copied from, the given array. + * + * @param array the array to copy elements from + * @throws NullPointerException if array is null + */ + public AtomicReferenceArray(E[] array) { + if (array == null) + throw new NullPointerException(); + int length = array.length; + this.array = new Object[length]; + if (length > 0) { + int last = length-1; + for (int i = 0; i < last; ++i) + this.array[i] = array[i]; + // Do the last write as volatile + E e = array[last]; + unsafe.putObjectVolatile(this.array, rawIndex(last), e); + } + } + + /** + * Returns the length of the array. + * + * @return the length of the array + */ + public final int length() { + return array.length; + } + + /** + * Gets the current value at position i. + * + * @param i the index + * @return the current value + */ + public final E get(int i) { + return (E) unsafe.getObjectVolatile(array, rawIndex(i)); + } + + /** + * Sets the element at position i to the given value. + * + * @param i the index + * @param newValue the new value + */ + public final void set(int i, E newValue) { + unsafe.putObjectVolatile(array, rawIndex(i), newValue); + } + + /** + * Eventually sets the element at position i to the given value. + * + * @param i the index + * @param newValue the new value + * @since 1.6 + */ + public final void lazySet(int i, E newValue) { + unsafe.putOrderedObject(array, rawIndex(i), newValue); + } + + + /** + * Atomically sets the element at position i to the given + * value and returns the old value. + * + * @param i the index + * @param newValue the new value + * @return the previous value + */ + public final E getAndSet(int i, E newValue) { + while (true) { + E current = get(i); + if (compareAndSet(i, current, newValue)) + return current; + } + } + + /** + * Atomically sets the element at position i to the given + * updated value if the current value == the expected value. + * @param i the index + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that + * the actual value was not equal to the expected value. + */ + public final boolean compareAndSet(int i, E expect, E update) { + return unsafe.compareAndSwapObject(array, rawIndex(i), + expect, update); + } + + /** + * Atomically sets the element at position i to the given + * updated value if the current value == the expected value. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param i the index + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public final boolean weakCompareAndSet(int i, E expect, E update) { + return compareAndSet(i, expect, update); + } + + /** + * Returns the String representation of the current values of array. + * @return the String representation of the current values of array. + */ + public String toString() { + if (array.length > 0) // force volatile read + get(0); + return Arrays.toString(array); + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java new file mode 100644 index 00000000000..5c18eca33cf --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java @@ -0,0 +1,275 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; +import sun.misc.Unsafe; +import java.lang.reflect.*; + +/** + * A reflection-based utility that enables atomic updates to + * designated volatile reference fields of designated + * classes. This class is designed for use in atomic data structures + * in which several reference fields of the same node are + * independently subject to atomic updates. For example, a tree node + * might be declared as + * + *

+ * class Node {
+ *   private volatile Node left, right;
+ *
+ *   private static final AtomicReferenceFieldUpdater<Node, Node> leftUpdater =
+ *     AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "left");
+ *   private static AtomicReferenceFieldUpdater<Node, Node> rightUpdater =
+ *     AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "right");
+ *
+ *   Node getLeft() { return left;  }
+ *   boolean compareAndSetLeft(Node expect, Node update) {
+ *     return leftUpdater.compareAndSet(this, expect, update);
+ *   }
+ *   // ... and so on
+ * }
+ * 
+ * + *

Note that the guarantees of the {@code compareAndSet} + * method in this class are weaker than in other atomic classes. + * Because this class cannot ensure that all uses of the field + * are appropriate for purposes of atomic access, it can + * guarantee atomicity only with respect to other invocations of + * {@code compareAndSet} and {@code set} on the same updater. + * + * @since 1.5 + * @author Doug Lea + * @param The type of the object holding the updatable field + * @param The type of the field + */ +public abstract class AtomicReferenceFieldUpdater { + + /** + * Creates and returns an updater for objects with the given field. + * The Class arguments are needed to check that reflective types and + * generic types match. + * + * @param tclass the class of the objects holding the field. + * @param vclass the class of the field + * @param fieldName the name of the field to be updated. + * @return the updater + * @throws IllegalArgumentException if the field is not a volatile reference type. + * @throws RuntimeException with a nested reflection-based + * exception if the class does not hold field or is the wrong type. + */ + public static AtomicReferenceFieldUpdater newUpdater(Class tclass, Class vclass, String fieldName) { + return new AtomicReferenceFieldUpdaterImpl(tclass, + vclass, + fieldName); + } + + /** + * Protected do-nothing constructor for use by subclasses. + */ + protected AtomicReferenceFieldUpdater() { + } + + /** + * Atomically sets the field of the given object managed by this updater + * to the given updated value if the current value == the + * expected value. This method is guaranteed to be atomic with respect to + * other calls to compareAndSet and set, but not + * necessarily with respect to other changes in the field. + * + * @param obj An object whose field to conditionally set + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public abstract boolean compareAndSet(T obj, V expect, V update); + + /** + * Atomically sets the field of the given object managed by this updater + * to the given updated value if the current value == the + * expected value. This method is guaranteed to be atomic with respect to + * other calls to compareAndSet and set, but not + * necessarily with respect to other changes in the field. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param obj An object whose field to conditionally set + * @param expect the expected value + * @param update the new value + * @return true if successful. + */ + public abstract boolean weakCompareAndSet(T obj, V expect, V update); + + /** + * Sets the field of the given object managed by this updater to the + * given updated value. This operation is guaranteed to act as a volatile + * store with respect to subsequent invocations of + * compareAndSet. + * + * @param obj An object whose field to set + * @param newValue the new value + */ + public abstract void set(T obj, V newValue); + + /** + * Eventually sets the field of the given object managed by this + * updater to the given updated value. + * + * @param obj An object whose field to set + * @param newValue the new value + * @since 1.6 + */ + public abstract void lazySet(T obj, V newValue); + + /** + * Gets the current value held in the field of the given object managed + * by this updater. + * + * @param obj An object whose field to get + * @return the current value + */ + public abstract V get(T obj); + + /** + * Atomically sets the field of the given object managed by this updater + * to the given value and returns the old value. + * + * @param obj An object whose field to get and set + * @param newValue the new value + * @return the previous value + */ + public V getAndSet(T obj, V newValue) { + for (;;) { + V current = get(obj); + if (compareAndSet(obj, current, newValue)) + return current; + } + } + + private static final class AtomicReferenceFieldUpdaterImpl + extends AtomicReferenceFieldUpdater { + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private final long offset; + private final Class tclass; + private final Class vclass; + private final Class cclass; + + /* + * Internal type checks within all update methods contain + * internal inlined optimizations checking for the common + * cases where the class is final (in which case a simple + * getClass comparison suffices) or is of type Object (in + * which case no check is needed because all objects are + * instances of Object). The Object case is handled simply by + * setting vclass to null in constructor. The targetCheck and + * updateCheck methods are invoked when these faster + * screenings fail. + */ + + AtomicReferenceFieldUpdaterImpl(Class tclass, + Class vclass, + String fieldName) { + Field field = null; + Class fieldClass = null; + Class caller = null; + int modifiers = 0; + try { + field = tclass.getDeclaredField(fieldName); + caller = sun.reflect.Reflection.getCallerClass(3); + modifiers = field.getModifiers(); + sun.reflect.misc.ReflectUtil.ensureMemberAccess( + caller, tclass, null, modifiers); + sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass); + fieldClass = field.getType(); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + + if (vclass != fieldClass) + throw new ClassCastException(); + + if (!Modifier.isVolatile(modifiers)) + throw new IllegalArgumentException("Must be volatile type"); + + this.cclass = (Modifier.isProtected(modifiers) && + caller != tclass) ? caller : null; + this.tclass = tclass; + if (vclass == Object.class) + this.vclass = null; + else + this.vclass = vclass; + offset = unsafe.objectFieldOffset(field); + } + + void targetCheck(T obj) { + if (!tclass.isInstance(obj)) + throw new ClassCastException(); + if (cclass != null) + ensureProtectedAccess(obj); + } + + void updateCheck(T obj, V update) { + if (!tclass.isInstance(obj) || + (update != null && vclass != null && !vclass.isInstance(update))) + throw new ClassCastException(); + if (cclass != null) + ensureProtectedAccess(obj); + } + + public boolean compareAndSet(T obj, V expect, V update) { + if (obj == null || obj.getClass() != tclass || cclass != null || + (update != null && vclass != null && + vclass != update.getClass())) + updateCheck(obj, update); + return unsafe.compareAndSwapObject(obj, offset, expect, update); + } + + public boolean weakCompareAndSet(T obj, V expect, V update) { + // same implementation as strong form for now + if (obj == null || obj.getClass() != tclass || cclass != null || + (update != null && vclass != null && + vclass != update.getClass())) + updateCheck(obj, update); + return unsafe.compareAndSwapObject(obj, offset, expect, update); + } + + public void set(T obj, V newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null || + (newValue != null && vclass != null && + vclass != newValue.getClass())) + updateCheck(obj, newValue); + unsafe.putObjectVolatile(obj, offset, newValue); + } + + public void lazySet(T obj, V newValue) { + if (obj == null || obj.getClass() != tclass || cclass != null || + (newValue != null && vclass != null && + vclass != newValue.getClass())) + updateCheck(obj, newValue); + unsafe.putOrderedObject(obj, offset, newValue); + } + + public V get(T obj) { + if (obj == null || obj.getClass() != tclass || cclass != null) + targetCheck(obj); + return (V)unsafe.getObjectVolatile(obj, offset); + } + + private void ensureProtectedAccess(T obj) { + if (cclass.isInstance(obj)) { + return; + } + throw new RuntimeException ( + new IllegalAccessException("Class " + + cclass.getName() + + " can not access a protected member of class " + + tclass.getName() + + " using an instance of " + + obj.getClass().getName() + ) + ); + } + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicStampedReference.java b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicStampedReference.java new file mode 100644 index 00000000000..558808216ab --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/AtomicStampedReference.java @@ -0,0 +1,165 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.atomic; + +/** + * An AtomicStampedReference maintains an object reference + * along with an integer "stamp", that can be updated atomically. + * + *

Implementation note. This implementation maintains stamped + * references by creating internal objects representing "boxed" + * [reference, integer] pairs. + * + * @since 1.5 + * @author Doug Lea + * @param The type of object referred to by this reference + */ +public class AtomicStampedReference { + + private static class ReferenceIntegerPair { + private final T reference; + private final int integer; + ReferenceIntegerPair(T r, int i) { + reference = r; integer = i; + } + } + + private final AtomicReference> atomicRef; + + /** + * Creates a new AtomicStampedReference with the given + * initial values. + * + * @param initialRef the initial reference + * @param initialStamp the initial stamp + */ + public AtomicStampedReference(V initialRef, int initialStamp) { + atomicRef = new AtomicReference> + (new ReferenceIntegerPair(initialRef, initialStamp)); + } + + /** + * Returns the current value of the reference. + * + * @return the current value of the reference + */ + public V getReference() { + return atomicRef.get().reference; + } + + /** + * Returns the current value of the stamp. + * + * @return the current value of the stamp + */ + public int getStamp() { + return atomicRef.get().integer; + } + + /** + * Returns the current values of both the reference and the stamp. + * Typical usage is int[1] holder; ref = v.get(holder); . + * + * @param stampHolder an array of size of at least one. On return, + * stampholder[0] will hold the value of the stamp. + * @return the current value of the reference + */ + public V get(int[] stampHolder) { + ReferenceIntegerPair p = atomicRef.get(); + stampHolder[0] = p.integer; + return p.reference; + } + + /** + * Atomically sets the value of both the reference and stamp + * to the given update values if the + * current reference is == to the expected reference + * and the current stamp is equal to the expected stamp. + * May fail spuriously and does not provide ordering guarantees, + * so is only rarely an appropriate alternative to compareAndSet. + * + * @param expectedReference the expected value of the reference + * @param newReference the new value for the reference + * @param expectedStamp the expected value of the stamp + * @param newStamp the new value for the stamp + * @return true if successful + */ + public boolean weakCompareAndSet(V expectedReference, + V newReference, + int expectedStamp, + int newStamp) { + ReferenceIntegerPair current = atomicRef.get(); + return expectedReference == current.reference && + expectedStamp == current.integer && + ((newReference == current.reference && + newStamp == current.integer) || + atomicRef.weakCompareAndSet(current, + new ReferenceIntegerPair(newReference, + newStamp))); + } + + /** + * Atomically sets the value of both the reference and stamp + * to the given update values if the + * current reference is == to the expected reference + * and the current stamp is equal to the expected stamp. + * + * @param expectedReference the expected value of the reference + * @param newReference the new value for the reference + * @param expectedStamp the expected value of the stamp + * @param newStamp the new value for the stamp + * @return true if successful + */ + public boolean compareAndSet(V expectedReference, + V newReference, + int expectedStamp, + int newStamp) { + ReferenceIntegerPair current = atomicRef.get(); + return expectedReference == current.reference && + expectedStamp == current.integer && + ((newReference == current.reference && + newStamp == current.integer) || + atomicRef.compareAndSet(current, + new ReferenceIntegerPair(newReference, + newStamp))); + } + + + /** + * Unconditionally sets the value of both the reference and stamp. + * + * @param newReference the new value for the reference + * @param newStamp the new value for the stamp + */ + public void set(V newReference, int newStamp) { + ReferenceIntegerPair current = atomicRef.get(); + if (newReference != current.reference || newStamp != current.integer) + atomicRef.set(new ReferenceIntegerPair(newReference, newStamp)); + } + + /** + * Atomically sets the value of the stamp to the given update value + * if the current reference is == to the expected + * reference. Any given invocation of this operation may fail + * (return false) spuriously, but repeated invocation + * when the current value holds the expected value and no other + * thread is also attempting to set the value will eventually + * succeed. + * + * @param expectedReference the expected value of the reference + * @param newStamp the new value for the stamp + * @return true if successful + */ + public boolean attemptStamp(V expectedReference, int newStamp) { + ReferenceIntegerPair current = atomicRef.get(); + return expectedReference == current.reference && + (newStamp == current.integer || + atomicRef.compareAndSet(current, + new ReferenceIntegerPair(expectedReference, + newStamp))); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html new file mode 100644 index 00000000000..6bc191ddf01 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html @@ -0,0 +1,158 @@ + + +Atomics + + + + +A small toolkit of classes that support lock-free thread-safe +programming on single variables. In essence, the classes in this +package extend the notion of volatile values, fields, and +array elements to those that also provide an atomic conditional update +operation of the form: + +

+  boolean compareAndSet(expectedValue, updateValue);
+
+ +

This method (which varies in argument types across different +classes) atomically sets a variable to the updateValue if it +currently holds the expectedValue, reporting true on +success. The classes in this package also contain methods to get and +unconditionally set values, as well as a weaker conditional atomic +update operation weakCompareAndSet desribed below. + +

The specifications of these methods enable implementations to +employ efficient machine-level atomic instructions that are available +on contemporary processors. However on some platforms, support may +entail some form of internal locking. Thus the methods are not +strictly guaranteed to be non-blocking -- +a thread may block transiently before performing the operation. + +

Instances of classes {@link +java.util.concurrent.atomic.AtomicBoolean}, {@link +java.util.concurrent.atomic.AtomicInteger}, {@link +java.util.concurrent.atomic.AtomicLong}, and {@link +java.util.concurrent.atomic.AtomicReference} each provide access and +updates to a single variable of the corresponding type. Each class +also provides appropriate utility methods for that type. For example, +classes AtomicLong and AtomicInteger provide atomic +increment methods. One application is to generate sequence numbers, +as in: + +

+class Sequencer {
+  private AtomicLong sequenceNumber = new AtomicLong(0);
+  public long next() { return sequenceNumber.getAndIncrement(); }
+}
+
+ +

The memory effects for accesses and updates of atomics generally +follow the rules for volatiles, as stated in The Java Language +Specification, Third Edition (17.4 Memory Model): + +

    + +
  • get has the memory effects of reading a +volatile variable. + +
  • set has the memory effects of writing (assigning) a +volatile variable. + +
  • lazySet has the memory effects of writing (assigning) + a volatile variable except that it permits reorderings with + subsequent (but not previous) memory actions that do not themselves + impose reordering constraints with ordinary non-volatile + writes. Among other usage contexts, lazySet may apply when + nulling out, for the sake of garbage collection, a reference that is + never accessed again. + +
  • weakCompareAndSet atomically reads and conditionally + writes a variable but does not + create any happens-before orderings, so provides no guarantees + with respect to previous or subsequent reads and writes of any + variables other than the target of the weakCompareAndSet. + +
  • compareAndSet + and all other read-and-update operations such as getAndIncrement + have the memory effects of both reading and + writing volatile variables. +
+ +

In addition to classes representing single values, this package +contains Updater classes that can be used to obtain +compareAndSet operations on any selected volatile +field of any selected class. {@link +java.util.concurrent.atomic.AtomicReferenceFieldUpdater}, {@link +java.util.concurrent.atomic.AtomicIntegerFieldUpdater}, and {@link +java.util.concurrent.atomic.AtomicLongFieldUpdater} are +reflection-based utilities that provide access to the associated field +types. These are mainly of use in atomic data structures in which +several volatile fields of the same node (for example, the +links of a tree node) are independently subject to atomic +updates. These classes enable greater flexibility in how and when to +use atomic updates, at the expense of more awkward reflection-based +setup, less convenient usage, and weaker guarantees. + +

The {@link java.util.concurrent.atomic.AtomicIntegerArray}, {@link +java.util.concurrent.atomic.AtomicLongArray}, and {@link +java.util.concurrent.atomic.AtomicReferenceArray} classes further +extend atomic operation support to arrays of these types. These +classes are also notable in providing volatile access +semantics for their array elements, which is not supported for +ordinary arrays. + +

The atomic classes also support method weakCompareAndSet, +which has limited applicability. On some platforms, the weak version +may be more efficient than compareAndSet in the normal case, +but differs in that any given invocation of weakCompareAndSet +method may return false spuriously (that is, for no apparent +reason). A false return means only that the operation may be +retried if desired, relying on the guarantee that repeated invocation +when the variable holds expectedValue and no other thread is +also attempting to set the variable will eventually succeed. (Such +spurious failures may for example be due to memory contention effects +that are unrelated to whether the expected and current values are +equal.) Additionally weakCompareAndSet does not provide +ordering guarantees that are usually needed for synchronization +control. However, the method may be useful for updating counters and +statistics when such updates are unrelated to the other happens-before +orderings of a program. When a thread sees an update to an atomic +variable caused by a weakCompareAndSet, it does not +necessarily see updates to any other variables that occurred +before the weakCompareAndSet. This may be acceptable when +for example updating performance statistics, but rarely otherwise. + +

The {@link java.util.concurrent.atomic.AtomicMarkableReference} +class associates a single boolean with a reference. For example, this +bit might be used inside a data structure to mean that the object +being referenced has logically been deleted. The {@link +java.util.concurrent.atomic.AtomicStampedReference} class associates +an integer value with a reference. This may be used for example, to +represent version numbers corresponding to series of updates. + +

Atomic classes are designed primarily as building blocks for +implementing non-blocking data structures and related infrastructure +classes. The compareAndSet method is not a general +replacement for locking. It applies only when critical updates for an +object are confined to a single variable. + +

Atomic classes are not general purpose replacements for +java.lang.Integer and related classes. They do not +define methods such as hashCode and +compareTo. (Because atomic variables are expected to be +mutated, they are poor choices for hash table keys.) Additionally, +classes are provided only for those types that are commonly useful in +intended applications. For example, there is no atomic class for +representing byte. In those infrequent cases where you would +like to do so, you can use an AtomicInteger to hold +byte values, and cast appropriately. You can also hold floats +using Float.floatToIntBits and Float.intBitstoFloat +conversions, and doubles using Double.doubleToLongBits and +Double.longBitsToDouble conversions. + + +@since 1.5 + + diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractOwnableSynchronizer.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractOwnableSynchronizer.java new file mode 100644 index 00000000000..f3780e5a692 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractOwnableSynchronizer.java @@ -0,0 +1,57 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; + +/** + * A synchronizer that may be exclusively owned by a thread. This + * class provides a basis for creating locks and related synchronizers + * that may entail a notion of ownership. The + * AbstractOwnableSynchronizer class itself does not manage or + * use this information. However, subclasses and tools may use + * appropriately maintained values to help control and monitor access + * and provide diagnostics. + * + * @since 1.6 + * @author Doug Lea + */ +public abstract class AbstractOwnableSynchronizer + implements java.io.Serializable { + + /** Use serial ID even though all fields transient. */ + private static final long serialVersionUID = 3737899427754241961L; + + /** + * Empty constructor for use by subclasses. + */ + protected AbstractOwnableSynchronizer() { } + + /** + * The current owner of exclusive mode synchronization. + */ + private transient Thread exclusiveOwnerThread; + + /** + * Sets the thread that currently owns exclusive access. A + * null argument indicates that no thread owns access. + * This method does not otherwise impose any synchronization or + * volatile field accesses. + */ + protected final void setExclusiveOwnerThread(Thread t) { + exclusiveOwnerThread = t; + } + + /** + * Returns the thread last set by + * setExclusiveOwnerThread, or null if never + * set. This method does not otherwise impose any synchronization + * or volatile field accesses. + * @return the owner thread + */ + protected final Thread getExclusiveOwnerThread() { + return exclusiveOwnerThread; + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java new file mode 100644 index 00000000000..88a4354bc71 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java @@ -0,0 +1,1934 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.*; +import java.util.concurrent.*; +import java.util.concurrent.atomic.*; +import sun.misc.Unsafe; + +/** + * A version of {@link AbstractQueuedSynchronizer} in + * which synchronization state is maintained as a long. + * This class has exactly the same structure, properties, and methods + * as AbstractQueuedSynchronizer with the exception + * that all state-related parameters and results are defined + * as long rather than int. This class + * may be useful when creating synchronizers such as + * multilevel locks and barriers that require + * 64 bits of state. + * + *

See {@link AbstractQueuedSynchronizer} for usage + * notes and examples. + * + * @since 1.6 + * @author Doug Lea + */ +public abstract class AbstractQueuedLongSynchronizer + extends AbstractOwnableSynchronizer + implements java.io.Serializable { + + private static final long serialVersionUID = 7373984972572414692L; + + /* + To keep sources in sync, the remainder of this source file is + exactly cloned from AbstractQueuedSynchronizer, replacing class + name and changing ints related with sync state to longs. Please + keep it that way. + */ + + /** + * Creates a new AbstractQueuedLongSynchronizer instance + * with initial synchronization state of zero. + */ + protected AbstractQueuedLongSynchronizer() { } + + /** + * Wait queue node class. + * + *

The wait queue is a variant of a "CLH" (Craig, Landin, and + * Hagersten) lock queue. CLH locks are normally used for + * spinlocks. We instead use them for blocking synchronizers, but + * use the same basic tactic of holding some of the control + * information about a thread in the predecessor of its node. A + * "status" field in each node keeps track of whether a thread + * should block. A node is signalled when its predecessor + * releases. Each node of the queue otherwise serves as a + * specific-notification-style monitor holding a single waiting + * thread. The status field does NOT control whether threads are + * granted locks etc though. A thread may try to acquire if it is + * first in the queue. But being first does not guarantee success; + * it only gives the right to contend. So the currently released + * contender thread may need to rewait. + * + *

To enqueue into a CLH lock, you atomically splice it in as new + * tail. To dequeue, you just set the head field. + *

+     *      +------+  prev +-----+       +-----+
+     * head |      | <---- |     | <---- |     |  tail
+     *      +------+       +-----+       +-----+
+     * 
+ * + *

Insertion into a CLH queue requires only a single atomic + * operation on "tail", so there is a simple atomic point of + * demarcation from unqueued to queued. Similarly, dequeing + * involves only updating the "head". However, it takes a bit + * more work for nodes to determine who their successors are, + * in part to deal with possible cancellation due to timeouts + * and interrupts. + * + *

The "prev" links (not used in original CLH locks), are mainly + * needed to handle cancellation. If a node is cancelled, its + * successor is (normally) relinked to a non-cancelled + * predecessor. For explanation of similar mechanics in the case + * of spin locks, see the papers by Scott and Scherer at + * http://www.cs.rochester.edu/u/scott/synchronization/ + * + *

We also use "next" links to implement blocking mechanics. + * The thread id for each node is kept in its own node, so a + * predecessor signals the next node to wake up by traversing + * next link to determine which thread it is. Determination of + * successor must avoid races with newly queued nodes to set + * the "next" fields of their predecessors. This is solved + * when necessary by checking backwards from the atomically + * updated "tail" when a node's successor appears to be null. + * (Or, said differently, the next-links are an optimization + * so that we don't usually need a backward scan.) + * + *

Cancellation introduces some conservatism to the basic + * algorithms. Since we must poll for cancellation of other + * nodes, we can miss noticing whether a cancelled node is + * ahead or behind us. This is dealt with by always unparking + * successors upon cancellation, allowing them to stabilize on + * a new predecessor. + * + *

CLH queues need a dummy header node to get started. But + * we don't create them on construction, because it would be wasted + * effort if there is never contention. Instead, the node + * is constructed and head and tail pointers are set upon first + * contention. + * + *

Threads waiting on Conditions use the same nodes, but + * use an additional link. Conditions only need to link nodes + * in simple (non-concurrent) linked queues because they are + * only accessed when exclusively held. Upon await, a node is + * inserted into a condition queue. Upon signal, the node is + * transferred to the main queue. A special value of status + * field is used to mark which queue a node is on. + * + *

Thanks go to Dave Dice, Mark Moir, Victor Luchangco, Bill + * Scherer and Michael Scott, along with members of JSR-166 + * expert group, for helpful ideas, discussions, and critiques + * on the design of this class. + */ + static final class Node { + /** waitStatus value to indicate thread has cancelled */ + static final int CANCELLED = 1; + /** waitStatus value to indicate successor's thread needs unparking */ + static final int SIGNAL = -1; + /** waitStatus value to indicate thread is waiting on condition */ + static final int CONDITION = -2; + /** Marker to indicate a node is waiting in shared mode */ + static final Node SHARED = new Node(); + /** Marker to indicate a node is waiting in exclusive mode */ + static final Node EXCLUSIVE = null; + + /** + * Status field, taking on only the values: + * SIGNAL: The successor of this node is (or will soon be) + * blocked (via park), so the current node must + * unpark its successor when it releases or + * cancels. To avoid races, acquire methods must + * first indicate they need a signal, + * then retry the atomic acquire, and then, + * on failure, block. + * CANCELLED: This node is cancelled due to timeout or interrupt. + * Nodes never leave this state. In particular, + * a thread with cancelled node never again blocks. + * CONDITION: This node is currently on a condition queue. + * It will not be used as a sync queue node until + * transferred. (Use of this value here + * has nothing to do with the other uses + * of the field, but simplifies mechanics.) + * 0: None of the above + * + * The values are arranged numerically to simplify use. + * Non-negative values mean that a node doesn't need to + * signal. So, most code doesn't need to check for particular + * values, just for sign. + * + * The field is initialized to 0 for normal sync nodes, and + * CONDITION for condition nodes. It is modified only using + * CAS. + */ + volatile int waitStatus; + + /** + * Link to predecessor node that current node/thread relies on + * for checking waitStatus. Assigned during enqueing, and nulled + * out (for sake of GC) only upon dequeuing. Also, upon + * cancellation of a predecessor, we short-circuit while + * finding a non-cancelled one, which will always exist + * because the head node is never cancelled: A node becomes + * head only as a result of successful acquire. A + * cancelled thread never succeeds in acquiring, and a thread only + * cancels itself, not any other node. + */ + volatile Node prev; + + /** + * Link to the successor node that the current node/thread + * unparks upon release. Assigned once during enqueuing, and + * nulled out (for sake of GC) when no longer needed. Upon + * cancellation, we cannot adjust this field, but can notice + * status and bypass the node if cancelled. The enq operation + * does not assign next field of a predecessor until after + * attachment, so seeing a null next field does not + * necessarily mean that node is at end of queue. However, if + * a next field appears to be null, we can scan prev's from + * the tail to double-check. + */ + volatile Node next; + + /** + * The thread that enqueued this node. Initialized on + * construction and nulled out after use. + */ + volatile Thread thread; + + /** + * Link to next node waiting on condition, or the special + * value SHARED. Because condition queues are accessed only + * when holding in exclusive mode, we just need a simple + * linked queue to hold nodes while they are waiting on + * conditions. They are then transferred to the queue to + * re-acquire. And because conditions can only be exclusive, + * we save a field by using special value to indicate shared + * mode. + */ + Node nextWaiter; + + /** + * Returns true if node is waiting in shared mode + */ + final boolean isShared() { + return nextWaiter == SHARED; + } + + /** + * Returns previous node, or throws NullPointerException if + * null. Use when predecessor cannot be null. + * @return the predecessor of this node + */ + final Node predecessor() throws NullPointerException { + Node p = prev; + if (p == null) + throw new NullPointerException(); + else + return p; + } + + Node() { // Used to establish initial head or SHARED marker + } + + Node(Thread thread, Node mode) { // Used by addWaiter + this.nextWaiter = mode; + this.thread = thread; + } + + Node(Thread thread, int waitStatus) { // Used by Condition + this.waitStatus = waitStatus; + this.thread = thread; + } + } + + /** + * Head of the wait queue, lazily initialized. Except for + * initialization, it is modified only via method setHead. Note: + * If head exists, its waitStatus is guaranteed not to be + * CANCELLED. + */ + private transient volatile Node head; + + /** + * Tail of the wait queue, lazily initialized. Modified only via + * method enq to add new wait node. + */ + private transient volatile Node tail; + + /** + * The synchronization state. + */ + private volatile long state; + + /** + * Returns the current value of synchronization state. + * This operation has memory semantics of a volatile read. + * @return current state value + */ + protected final long getState() { + return state; + } + + /** + * Sets the value of synchronization state. + * This operation has memory semantics of a volatile write. + * @param newState the new state value + */ + protected final void setState(long newState) { + state = newState; + } + + /** + * Atomically sets synchronization state to the given updated + * value if the current state value equals the expected value. + * This operation has memory semantics of a volatile read + * and write. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that the actual + * value was not equal to the expected value. + */ + protected final boolean compareAndSetState(long expect, long update) { + // See below for intrinsics setup to support this + return unsafe.compareAndSwapLong(this, stateOffset, expect, update); + } + + // Queuing utilities + + /** + * The number of nanoseconds for which it is faster to spin + * rather than to use timed park. A rough estimate suffices + * to improve responsiveness with very short timeouts. + */ + static final long spinForTimeoutThreshold = 1000L; + + /** + * Inserts node into queue, initializing if necessary. See picture above. + * @param node the node to insert + * @return node's predecessor + */ + private Node enq(final Node node) { + for (;;) { + Node t = tail; + if (t == null) { // Must initialize + Node h = new Node(); // Dummy header + h.next = node; + node.prev = h; + if (compareAndSetHead(h)) { + tail = node; + return h; + } + } + else { + node.prev = t; + if (compareAndSetTail(t, node)) { + t.next = node; + return t; + } + } + } + } + + /** + * Creates and enqueues node for given thread and mode. + * + * @param current the thread + * @param mode Node.EXCLUSIVE for exclusive, Node.SHARED for shared + * @return the new node + */ + private Node addWaiter(Node mode) { + Node node = new Node(Thread.currentThread(), mode); + // Try the fast path of enq; backup to full enq on failure + Node pred = tail; + if (pred != null) { + node.prev = pred; + if (compareAndSetTail(pred, node)) { + pred.next = node; + return node; + } + } + enq(node); + return node; + } + + /** + * Sets head of queue to be node, thus dequeuing. Called only by + * acquire methods. Also nulls out unused fields for sake of GC + * and to suppress unnecessary signals and traversals. + * + * @param node the node + */ + private void setHead(Node node) { + head = node; + node.thread = null; + node.prev = null; + } + + /** + * Wakes up node's successor, if one exists. + * + * @param node the node + */ + private void unparkSuccessor(Node node) { + /* + * Try to clear status in anticipation of signalling. It is + * OK if this fails or if status is changed by waiting thread. + */ + compareAndSetWaitStatus(node, Node.SIGNAL, 0); + + /* + * Thread to unpark is held in successor, which is normally + * just the next node. But if cancelled or apparently null, + * traverse backwards from tail to find the actual + * non-cancelled successor. + */ + Node s = node.next; + if (s == null || s.waitStatus > 0) { + s = null; + for (Node t = tail; t != null && t != node; t = t.prev) + if (t.waitStatus <= 0) + s = t; + } + if (s != null) + LockSupport.unpark(s.thread); + } + + /** + * Sets head of queue, and checks if successor may be waiting + * in shared mode, if so propagating if propagate > 0. + * + * @param pred the node holding waitStatus for node + * @param node the node + * @param propagate the return value from a tryAcquireShared + */ + private void setHeadAndPropagate(Node node, long propagate) { + setHead(node); + if (propagate > 0 && node.waitStatus != 0) { + /* + * Don't bother fully figuring out successor. If it + * looks null, call unparkSuccessor anyway to be safe. + */ + Node s = node.next; + if (s == null || s.isShared()) + unparkSuccessor(node); + } + } + + // Utilities for various versions of acquire + + /** + * Cancels an ongoing attempt to acquire. + * + * @param node the node + */ + private void cancelAcquire(Node node) { + if (node != null) { // Ignore if node doesn't exist + node.thread = null; + // Can use unconditional write instead of CAS here + node.waitStatus = Node.CANCELLED; + unparkSuccessor(node); + } + } + + /** + * Checks and updates status for a node that failed to acquire. + * Returns true if thread should block. This is the main signal + * control in all acquire loops. Requires that pred == node.prev + * + * @param pred node's predecessor holding status + * @param node the node + * @return {@code true} if thread should block + */ + private static boolean shouldParkAfterFailedAcquire(Node pred, Node node) { + int s = pred.waitStatus; + if (s < 0) + /* + * This node has already set status asking a release + * to signal it, so it can safely park + */ + return true; + if (s > 0) + /* + * Predecessor was cancelled. Move up to its predecessor + * and indicate retry. + */ + node.prev = pred.prev; + else + /* + * Indicate that we need a signal, but don't park yet. Caller + * will need to retry to make sure it cannot acquire before + * parking. + */ + compareAndSetWaitStatus(pred, 0, Node.SIGNAL); + return false; + } + + /** + * Convenience method to interrupt current thread. + */ + private static void selfInterrupt() { + Thread.currentThread().interrupt(); + } + + /** + * Convenience method to park and then check if interrupted + * + * @return {@code true} if interrupted + */ + private final boolean parkAndCheckInterrupt() { + LockSupport.park(this); + return Thread.interrupted(); + } + + /* + * Various flavors of acquire, varying in exclusive/shared and + * control modes. Each is mostly the same, but annoyingly + * different. Only a little bit of factoring is possible due to + * interactions of exception mechanics (including ensuring that we + * cancel if tryAcquire throws exception) and other control, at + * least not without hurting performance too much. + */ + + /** + * Acquires in exclusive uninterruptible mode for thread already in + * queue. Used by condition wait methods as well as acquire. + * + * @param node the node + * @param arg the acquire argument + * @return {@code true} if interrupted while waiting + */ + final boolean acquireQueued(final Node node, long arg) { + try { + boolean interrupted = false; + for (;;) { + final Node p = node.predecessor(); + if (p == head && tryAcquire(arg)) { + setHead(node); + p.next = null; // help GC + return interrupted; + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + interrupted = true; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + } + + /** + * Acquires in exclusive interruptible mode. + * @param arg the acquire argument + */ + private void doAcquireInterruptibly(long arg) + throws InterruptedException { + final Node node = addWaiter(Node.EXCLUSIVE); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head && tryAcquire(arg)) { + setHead(node); + p.next = null; // help GC + return; + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + /** + * Acquires in exclusive timed mode. + * + * @param arg the acquire argument + * @param nanosTimeout max wait time + * @return {@code true} if acquired + */ + private boolean doAcquireNanos(long arg, long nanosTimeout) + throws InterruptedException { + long lastTime = System.nanoTime(); + final Node node = addWaiter(Node.EXCLUSIVE); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head && tryAcquire(arg)) { + setHead(node); + p.next = null; // help GC + return true; + } + if (nanosTimeout <= 0) { + cancelAcquire(node); + return false; + } + if (nanosTimeout > spinForTimeoutThreshold && + shouldParkAfterFailedAcquire(p, node)) + LockSupport.parkNanos(this, nanosTimeout); + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + if (Thread.interrupted()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + /** + * Acquires in shared uninterruptible mode. + * @param arg the acquire argument + */ + private void doAcquireShared(long arg) { + final Node node = addWaiter(Node.SHARED); + try { + boolean interrupted = false; + for (;;) { + final Node p = node.predecessor(); + if (p == head) { + long r = tryAcquireShared(arg); + if (r >= 0) { + setHeadAndPropagate(node, r); + p.next = null; // help GC + if (interrupted) + selfInterrupt(); + return; + } + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + interrupted = true; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + } + + /** + * Acquires in shared interruptible mode. + * @param arg the acquire argument + */ + private void doAcquireSharedInterruptibly(long arg) + throws InterruptedException { + final Node node = addWaiter(Node.SHARED); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head) { + long r = tryAcquireShared(arg); + if (r >= 0) { + setHeadAndPropagate(node, r); + p.next = null; // help GC + return; + } + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + /** + * Acquires in shared timed mode. + * + * @param arg the acquire argument + * @param nanosTimeout max wait time + * @return {@code true} if acquired + */ + private boolean doAcquireSharedNanos(long arg, long nanosTimeout) + throws InterruptedException { + + long lastTime = System.nanoTime(); + final Node node = addWaiter(Node.SHARED); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head) { + long r = tryAcquireShared(arg); + if (r >= 0) { + setHeadAndPropagate(node, r); + p.next = null; // help GC + return true; + } + } + if (nanosTimeout <= 0) { + cancelAcquire(node); + return false; + } + if (nanosTimeout > spinForTimeoutThreshold && + shouldParkAfterFailedAcquire(p, node)) + LockSupport.parkNanos(this, nanosTimeout); + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + if (Thread.interrupted()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + // Main exported methods + + /** + * Attempts to acquire in exclusive mode. This method should query + * if the state of the object permits it to be acquired in the + * exclusive mode, and if so to acquire it. + * + *

This method is always invoked by the thread performing + * acquire. If this method reports failure, the acquire method + * may queue the thread, if it is not already queued, until it is + * signalled by a release from some other thread. This can be used + * to implement method {@link Lock#tryLock()}. + * + *

The default + * implementation throws {@link UnsupportedOperationException}. + * + * @param arg the acquire argument. This value is always the one + * passed to an acquire method, or is the value saved on entry + * to a condition wait. The value is otherwise uninterpreted + * and can represent anything you like. + * @return {@code true} if successful. Upon success, this object has + * been acquired. + * @throws IllegalMonitorStateException if acquiring would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if exclusive mode is not supported + */ + protected boolean tryAcquire(long arg) { + throw new UnsupportedOperationException(); + } + + /** + * Attempts to set the state to reflect a release in exclusive + * mode. + * + *

This method is always invoked by the thread performing release. + * + *

The default implementation throws + * {@link UnsupportedOperationException}. + * + * @param arg the release argument. This value is always the one + * passed to a release method, or the current state value upon + * entry to a condition wait. The value is otherwise + * uninterpreted and can represent anything you like. + * @return {@code true} if this object is now in a fully released + * state, so that any waiting threads may attempt to acquire; + * and {@code false} otherwise. + * @throws IllegalMonitorStateException if releasing would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if exclusive mode is not supported + */ + protected boolean tryRelease(long arg) { + throw new UnsupportedOperationException(); + } + + /** + * Attempts to acquire in shared mode. This method should query if + * the state of the object permits it to be acquired in the shared + * mode, and if so to acquire it. + * + *

This method is always invoked by the thread performing + * acquire. If this method reports failure, the acquire method + * may queue the thread, if it is not already queued, until it is + * signalled by a release from some other thread. + * + *

The default implementation throws {@link + * UnsupportedOperationException}. + * + * @param arg the acquire argument. This value is always the one + * passed to an acquire method, or is the value saved on entry + * to a condition wait. The value is otherwise uninterpreted + * and can represent anything you like. + * @return a negative value on failure; zero if acquisition in shared + * mode succeeded but no subsequent shared-mode acquire can + * succeed; and a positive value if acquisition in shared + * mode succeeded and subsequent shared-mode acquires might + * also succeed, in which case a subsequent waiting thread + * must check availability. (Support for three different + * return values enables this method to be used in contexts + * where acquires only sometimes act exclusively.) Upon + * success, this object has been acquired. + * @throws IllegalMonitorStateException if acquiring would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if shared mode is not supported + */ + protected long tryAcquireShared(long arg) { + throw new UnsupportedOperationException(); + } + + /** + * Attempts to set the state to reflect a release in shared mode. + * + *

This method is always invoked by the thread performing release. + * + *

The default implementation throws + * {@link UnsupportedOperationException}. + * + * @param arg the release argument. This value is always the one + * passed to a release method, or the current state value upon + * entry to a condition wait. The value is otherwise + * uninterpreted and can represent anything you like. + * @return {@code true} if this release of shared mode may permit a + * waiting acquire (shared or exclusive) to succeed; and + * {@code false} otherwise + * @throws IllegalMonitorStateException if releasing would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if shared mode is not supported + */ + protected boolean tryReleaseShared(long arg) { + throw new UnsupportedOperationException(); + } + + /** + * Returns {@code true} if synchronization is held exclusively with + * respect to the current (calling) thread. This method is invoked + * upon each call to a non-waiting {@link ConditionObject} method. + * (Waiting methods instead invoke {@link #release}.) + * + *

The default implementation throws {@link + * UnsupportedOperationException}. This method is invoked + * internally only within {@link ConditionObject} methods, so need + * not be defined if conditions are not used. + * + * @return {@code true} if synchronization is held exclusively; + * {@code false} otherwise + * @throws UnsupportedOperationException if conditions are not supported + */ + protected boolean isHeldExclusively() { + throw new UnsupportedOperationException(); + } + + /** + * Acquires in exclusive mode, ignoring interrupts. Implemented + * by invoking at least once {@link #tryAcquire}, + * returning on success. Otherwise the thread is queued, possibly + * repeatedly blocking and unblocking, invoking {@link + * #tryAcquire} until success. This method can be used + * to implement method {@link Lock#lock}. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquire} but is otherwise uninterpreted and + * can represent anything you like. + */ + public final void acquire(long arg) { + if (!tryAcquire(arg) && + acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) + selfInterrupt(); + } + + /** + * Acquires in exclusive mode, aborting if interrupted. + * Implemented by first checking interrupt status, then invoking + * at least once {@link #tryAcquire}, returning on + * success. Otherwise the thread is queued, possibly repeatedly + * blocking and unblocking, invoking {@link #tryAcquire} + * until success or the thread is interrupted. This method can be + * used to implement method {@link Lock#lockInterruptibly}. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquire} but is otherwise uninterpreted and + * can represent anything you like. + * @throws InterruptedException if the current thread is interrupted + */ + public final void acquireInterruptibly(long arg) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + if (!tryAcquire(arg)) + doAcquireInterruptibly(arg); + } + + /** + * Attempts to acquire in exclusive mode, aborting if interrupted, + * and failing if the given timeout elapses. Implemented by first + * checking interrupt status, then invoking at least once {@link + * #tryAcquire}, returning on success. Otherwise, the thread is + * queued, possibly repeatedly blocking and unblocking, invoking + * {@link #tryAcquire} until success or the thread is interrupted + * or the timeout elapses. This method can be used to implement + * method {@link Lock#tryLock(long, TimeUnit)}. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquire} but is otherwise uninterpreted and + * can represent anything you like. + * @param nanosTimeout the maximum number of nanoseconds to wait + * @return {@code true} if acquired; {@code false} if timed out + * @throws InterruptedException if the current thread is interrupted + */ + public final boolean tryAcquireNanos(long arg, long nanosTimeout) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + return tryAcquire(arg) || + doAcquireNanos(arg, nanosTimeout); + } + + /** + * Releases in exclusive mode. Implemented by unblocking one or + * more threads if {@link #tryRelease} returns true. + * This method can be used to implement method {@link Lock#unlock}. + * + * @param arg the release argument. This value is conveyed to + * {@link #tryRelease} but is otherwise uninterpreted and + * can represent anything you like. + * @return the value returned from {@link #tryRelease} + */ + public final boolean release(long arg) { + if (tryRelease(arg)) { + Node h = head; + if (h != null && h.waitStatus != 0) + unparkSuccessor(h); + return true; + } + return false; + } + + /** + * Acquires in shared mode, ignoring interrupts. Implemented by + * first invoking at least once {@link #tryAcquireShared}, + * returning on success. Otherwise the thread is queued, possibly + * repeatedly blocking and unblocking, invoking {@link + * #tryAcquireShared} until success. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquireShared} but is otherwise uninterpreted + * and can represent anything you like. + */ + public final void acquireShared(long arg) { + if (tryAcquireShared(arg) < 0) + doAcquireShared(arg); + } + + /** + * Acquires in shared mode, aborting if interrupted. Implemented + * by first checking interrupt status, then invoking at least once + * {@link #tryAcquireShared}, returning on success. Otherwise the + * thread is queued, possibly repeatedly blocking and unblocking, + * invoking {@link #tryAcquireShared} until success or the thread + * is interrupted. + * @param arg the acquire argument. + * This value is conveyed to {@link #tryAcquireShared} but is + * otherwise uninterpreted and can represent anything + * you like. + * @throws InterruptedException if the current thread is interrupted + */ + public final void acquireSharedInterruptibly(long arg) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + if (tryAcquireShared(arg) < 0) + doAcquireSharedInterruptibly(arg); + } + + /** + * Attempts to acquire in shared mode, aborting if interrupted, and + * failing if the given timeout elapses. Implemented by first + * checking interrupt status, then invoking at least once {@link + * #tryAcquireShared}, returning on success. Otherwise, the + * thread is queued, possibly repeatedly blocking and unblocking, + * invoking {@link #tryAcquireShared} until success or the thread + * is interrupted or the timeout elapses. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquireShared} but is otherwise uninterpreted + * and can represent anything you like. + * @param nanosTimeout the maximum number of nanoseconds to wait + * @return {@code true} if acquired; {@code false} if timed out + * @throws InterruptedException if the current thread is interrupted + */ + public final boolean tryAcquireSharedNanos(long arg, long nanosTimeout) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + return tryAcquireShared(arg) >= 0 || + doAcquireSharedNanos(arg, nanosTimeout); + } + + /** + * Releases in shared mode. Implemented by unblocking one or more + * threads if {@link #tryReleaseShared} returns true. + * + * @param arg the release argument. This value is conveyed to + * {@link #tryReleaseShared} but is otherwise uninterpreted + * and can represent anything you like. + * @return the value returned from {@link #tryReleaseShared} + */ + public final boolean releaseShared(long arg) { + if (tryReleaseShared(arg)) { + Node h = head; + if (h != null && h.waitStatus != 0) + unparkSuccessor(h); + return true; + } + return false; + } + + // Queue inspection methods + + /** + * Queries whether any threads are waiting to acquire. Note that + * because cancellations due to interrupts and timeouts may occur + * at any time, a {@code true} return does not guarantee that any + * other thread will ever acquire. + * + *

In this implementation, this operation returns in + * constant time. + * + * @return {@code true} if there may be other threads waiting to acquire + */ + public final boolean hasQueuedThreads() { + return head != tail; + } + + /** + * Queries whether any threads have ever contended to acquire this + * synchronizer; that is if an acquire method has ever blocked. + * + *

In this implementation, this operation returns in + * constant time. + * + * @return {@code true} if there has ever been contention + */ + public final boolean hasContended() { + return head != null; + } + + /** + * Returns the first (longest-waiting) thread in the queue, or + * {@code null} if no threads are currently queued. + * + *

In this implementation, this operation normally returns in + * constant time, but may iterate upon contention if other threads are + * concurrently modifying the queue. + * + * @return the first (longest-waiting) thread in the queue, or + * {@code null} if no threads are currently queued + */ + public final Thread getFirstQueuedThread() { + // handle only fast path, else relay + return (head == tail)? null : fullGetFirstQueuedThread(); + } + + /** + * Version of getFirstQueuedThread called when fastpath fails + */ + private Thread fullGetFirstQueuedThread() { + /* + * The first node is normally h.next. Try to get its + * thread field, ensuring consistent reads: If thread + * field is nulled out or s.prev is no longer head, then + * some other thread(s) concurrently performed setHead in + * between some of our reads. We try this twice before + * resorting to traversal. + */ + Node h, s; + Thread st; + if (((h = head) != null && (s = h.next) != null && + s.prev == head && (st = s.thread) != null) || + ((h = head) != null && (s = h.next) != null && + s.prev == head && (st = s.thread) != null)) + return st; + + /* + * Head's next field might not have been set yet, or may have + * been unset after setHead. So we must check to see if tail + * is actually first node. If not, we continue on, safely + * traversing from tail back to head to find first, + * guaranteeing termination. + */ + + Node t = tail; + Thread firstThread = null; + while (t != null && t != head) { + Thread tt = t.thread; + if (tt != null) + firstThread = tt; + t = t.prev; + } + return firstThread; + } + + /** + * Returns true if the given thread is currently queued. + * + *

This implementation traverses the queue to determine + * presence of the given thread. + * + * @param thread the thread + * @return {@code true} if the given thread is on the queue + * @throws NullPointerException if the thread is null + */ + public final boolean isQueued(Thread thread) { + if (thread == null) + throw new NullPointerException(); + for (Node p = tail; p != null; p = p.prev) + if (p.thread == thread) + return true; + return false; + } + + /** + * Return {@code true} if the apparent first queued thread, if one + * exists, is not waiting in exclusive mode. Used only as a heuristic + * in ReentrantReadWriteLock. + */ + final boolean apparentlyFirstQueuedIsExclusive() { + Node h, s; + return ((h = head) != null && (s = h.next) != null && + s.nextWaiter != Node.SHARED); + } + + /** + * Return {@code true} if the queue is empty or if the given thread + * is at the head of the queue. This is reliable only if + * current is actually Thread.currentThread() of caller. + */ + final boolean isFirst(Thread current) { + Node h, s; + return ((h = head) == null || + ((s = h.next) != null && s.thread == current) || + fullIsFirst(current)); + } + + final boolean fullIsFirst(Thread current) { + // same idea as fullGetFirstQueuedThread + Node h, s; + Thread firstThread = null; + if (((h = head) != null && (s = h.next) != null && + s.prev == head && (firstThread = s.thread) != null)) + return firstThread == current; + Node t = tail; + while (t != null && t != head) { + Thread tt = t.thread; + if (tt != null) + firstThread = tt; + t = t.prev; + } + return firstThread == current || firstThread == null; + } + + + // Instrumentation and monitoring methods + + /** + * Returns an estimate of the number of threads waiting to + * acquire. The value is only an estimate because the number of + * threads may change dynamically while this method traverses + * internal data structures. This method is designed for use in + * monitoring system state, not for synchronization + * control. + * + * @return the estimated number of threads waiting to acquire + */ + public final int getQueueLength() { + int n = 0; + for (Node p = tail; p != null; p = p.prev) { + if (p.thread != null) + ++n; + } + return n; + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire. Because the actual set of threads may change + * dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. This method is + * designed to facilitate construction of subclasses that provide + * more extensive monitoring facilities. + * + * @return the collection of threads + */ + public final Collection getQueuedThreads() { + ArrayList list = new ArrayList(); + for (Node p = tail; p != null; p = p.prev) { + Thread t = p.thread; + if (t != null) + list.add(t); + } + return list; + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire in exclusive mode. This has the same properties + * as {@link #getQueuedThreads} except that it only returns + * those threads waiting due to an exclusive acquire. + * + * @return the collection of threads + */ + public final Collection getExclusiveQueuedThreads() { + ArrayList list = new ArrayList(); + for (Node p = tail; p != null; p = p.prev) { + if (!p.isShared()) { + Thread t = p.thread; + if (t != null) + list.add(t); + } + } + return list; + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire in shared mode. This has the same properties + * as {@link #getQueuedThreads} except that it only returns + * those threads waiting due to a shared acquire. + * + * @return the collection of threads + */ + public final Collection getSharedQueuedThreads() { + ArrayList list = new ArrayList(); + for (Node p = tail; p != null; p = p.prev) { + if (p.isShared()) { + Thread t = p.thread; + if (t != null) + list.add(t); + } + } + return list; + } + + /** + * Returns a string identifying this synchronizer, as well as its state. + * The state, in brackets, includes the String {@code "State ="} + * followed by the current value of {@link #getState}, and either + * {@code "nonempty"} or {@code "empty"} depending on whether the + * queue is empty. + * + * @return a string identifying this synchronizer, as well as its state + */ + public String toString() { + long s = getState(); + String q = hasQueuedThreads()? "non" : ""; + return super.toString() + + "[State = " + s + ", " + q + "empty queue]"; + } + + + // Internal support methods for Conditions + + /** + * Returns true if a node, always one that was initially placed on + * a condition queue, is now waiting to reacquire on sync queue. + * @param node the node + * @return true if is reacquiring + */ + final boolean isOnSyncQueue(Node node) { + if (node.waitStatus == Node.CONDITION || node.prev == null) + return false; + if (node.next != null) // If has successor, it must be on queue + return true; + /* + * node.prev can be non-null, but not yet on queue because + * the CAS to place it on queue can fail. So we have to + * traverse from tail to make sure it actually made it. It + * will always be near the tail in calls to this method, and + * unless the CAS failed (which is unlikely), it will be + * there, so we hardly ever traverse much. + */ + return findNodeFromTail(node); + } + + /** + * Returns true if node is on sync queue by searching backwards from tail. + * Called only when needed by isOnSyncQueue. + * @return true if present + */ + private boolean findNodeFromTail(Node node) { + Node t = tail; + for (;;) { + if (t == node) + return true; + if (t == null) + return false; + t = t.prev; + } + } + + /** + * Transfers a node from a condition queue onto sync queue. + * Returns true if successful. + * @param node the node + * @return true if successfully transferred (else the node was + * cancelled before signal). + */ + final boolean transferForSignal(Node node) { + /* + * If cannot change waitStatus, the node has been cancelled. + */ + if (!compareAndSetWaitStatus(node, Node.CONDITION, 0)) + return false; + + /* + * Splice onto queue and try to set waitStatus of predecessor to + * indicate that thread is (probably) waiting. If cancelled or + * attempt to set waitStatus fails, wake up to resync (in which + * case the waitStatus can be transiently and harmlessly wrong). + */ + Node p = enq(node); + int c = p.waitStatus; + if (c > 0 || !compareAndSetWaitStatus(p, c, Node.SIGNAL)) + LockSupport.unpark(node.thread); + return true; + } + + /** + * Transfers node, if necessary, to sync queue after a cancelled + * wait. Returns true if thread was cancelled before being + * signalled. + * @param current the waiting thread + * @param node its node + * @return true if cancelled before the node was signalled. + */ + final boolean transferAfterCancelledWait(Node node) { + if (compareAndSetWaitStatus(node, Node.CONDITION, 0)) { + enq(node); + return true; + } + /* + * If we lost out to a signal(), then we can't proceed + * until it finishes its enq(). Cancelling during an + * incomplete transfer is both rare and transient, so just + * spin. + */ + while (!isOnSyncQueue(node)) + Thread.yield(); + return false; + } + + /** + * Invokes release with current state value; returns saved state. + * Cancels node and throws exception on failure. + * @param node the condition node for this wait + * @return previous sync state + */ + final long fullyRelease(Node node) { + try { + long savedState = getState(); + if (release(savedState)) + return savedState; + } catch (RuntimeException ex) { + node.waitStatus = Node.CANCELLED; + throw ex; + } + // reach here if release fails + node.waitStatus = Node.CANCELLED; + throw new IllegalMonitorStateException(); + } + + // Instrumentation methods for conditions + + /** + * Queries whether the given ConditionObject + * uses this synchronizer as its lock. + * + * @param condition the condition + * @return true if owned + * @throws NullPointerException if the condition is null + */ + public final boolean owns(ConditionObject condition) { + if (condition == null) + throw new NullPointerException(); + return condition.isOwnedBy(this); + } + + /** + * Queries whether any threads are waiting on the given condition + * associated with this synchronizer. Note that because timeouts + * and interrupts may occur at any time, a true return + * does not guarantee that a future signal will awaken + * any threads. This method is designed primarily for use in + * monitoring of the system state. + * + * @param condition the condition + * @return true if there are any waiting threads + * @throws IllegalMonitorStateException if exclusive synchronization + * is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this synchronizer + * @throws NullPointerException if the condition is null + */ + public final boolean hasWaiters(ConditionObject condition) { + if (!owns(condition)) + throw new IllegalArgumentException("Not owner"); + return condition.hasWaiters(); + } + + /** + * Returns an estimate of the number of threads waiting on the + * given condition associated with this synchronizer. Note that + * because timeouts and interrupts may occur at any time, the + * estimate serves only as an upper bound on the actual number of + * waiters. This method is designed for use in monitoring of the + * system state, not for synchronization control. + * + * @param condition the condition + * @return the estimated number of waiting threads + * @throws IllegalMonitorStateException if exclusive synchronization + * is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this synchronizer + * @throws NullPointerException if the condition is null + */ + public final int getWaitQueueLength(ConditionObject condition) { + if (!owns(condition)) + throw new IllegalArgumentException("Not owner"); + return condition.getWaitQueueLength(); + } + + /** + * Returns a collection containing those threads that may be + * waiting on the given condition associated with this + * synchronizer. Because the actual set of threads may change + * dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. + * + * @param condition the condition + * @return the collection of threads + * @throws IllegalMonitorStateException if exclusive synchronization + * is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this synchronizer + * @throws NullPointerException if the condition is null + */ + public final Collection getWaitingThreads(ConditionObject condition) { + if (!owns(condition)) + throw new IllegalArgumentException("Not owner"); + return condition.getWaitingThreads(); + } + + /** + * Condition implementation for a {@link + * AbstractQueuedLongSynchronizer} serving as the basis of a {@link + * Lock} implementation. + * + *

Method documentation for this class describes mechanics, + * not behavioral specifications from the point of view of Lock + * and Condition users. Exported versions of this class will in + * general need to be accompanied by documentation describing + * condition semantics that rely on those of the associated + * AbstractQueuedLongSynchronizer. + * + *

This class is Serializable, but all fields are transient, + * so deserialized conditions have no waiters. + * + * @since 1.6 + */ + public class ConditionObject implements Condition, java.io.Serializable { + private static final long serialVersionUID = 1173984872572414699L; + /** First node of condition queue. */ + private transient Node firstWaiter; + /** Last node of condition queue. */ + private transient Node lastWaiter; + + /** + * Creates a new ConditionObject instance. + */ + public ConditionObject() { } + + // Internal methods + + /** + * Adds a new waiter to wait queue. + * @return its new wait node + */ + private Node addConditionWaiter() { + Node node = new Node(Thread.currentThread(), Node.CONDITION); + Node t = lastWaiter; + if (t == null) + firstWaiter = node; + else + t.nextWaiter = node; + lastWaiter = node; + return node; + } + + /** + * Removes and transfers nodes until hit non-cancelled one or + * null. Split out from signal in part to encourage compilers + * to inline the case of no waiters. + * @param first (non-null) the first node on condition queue + */ + private void doSignal(Node first) { + do { + if ( (firstWaiter = first.nextWaiter) == null) + lastWaiter = null; + first.nextWaiter = null; + } while (!transferForSignal(first) && + (first = firstWaiter) != null); + } + + /** + * Removes and transfers all nodes. + * @param first (non-null) the first node on condition queue + */ + private void doSignalAll(Node first) { + lastWaiter = firstWaiter = null; + do { + Node next = first.nextWaiter; + first.nextWaiter = null; + transferForSignal(first); + first = next; + } while (first != null); + } + + /** + * Returns true if given node is on this condition queue. + * Call only when holding lock. + */ + private boolean isOnConditionQueue(Node node) { + return node.next != null || node == lastWaiter; + } + + /** + * Unlinks a cancelled waiter node from condition queue. This + * is called when cancellation occurred during condition wait, + * not lock wait, and is called only after lock has been + * re-acquired by a cancelled waiter and the node is not known + * to already have been dequeued. It is needed to avoid + * garbage retention in the absence of signals. So even though + * it may require a full traversal, it comes into play only + * when timeouts or cancellations occur in the absence of + * signals. + */ + private void unlinkCancelledWaiter(Node node) { + Node t = firstWaiter; + Node trail = null; + while (t != null) { + if (t == node) { + Node next = t.nextWaiter; + if (trail == null) + firstWaiter = next; + else + trail.nextWaiter = next; + if (lastWaiter == node) + lastWaiter = trail; + break; + } + trail = t; + t = t.nextWaiter; + } + } + + // public methods + + /** + * Moves the longest-waiting thread, if one exists, from the + * wait queue for this condition to the wait queue for the + * owning lock. + * + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + public final void signal() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + Node first = firstWaiter; + if (first != null) + doSignal(first); + } + + /** + * Moves all threads from the wait queue for this condition to + * the wait queue for the owning lock. + * + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + public final void signalAll() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + Node first = firstWaiter; + if (first != null) + doSignalAll(first); + } + + /** + * Implements uninterruptible condition wait. + *

    + *
  1. Save lock state returned by {@link #getState} + *
  2. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  3. Block until signalled + *
  4. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
+ */ + public final void awaitUninterruptibly() { + Node node = addConditionWaiter(); + long savedState = fullyRelease(node); + boolean interrupted = false; + while (!isOnSyncQueue(node)) { + LockSupport.park(this); + if (Thread.interrupted()) + interrupted = true; + } + if (acquireQueued(node, savedState) || interrupted) + selfInterrupt(); + } + + /* + * For interruptible waits, we need to track whether to throw + * InterruptedException, if interrupted while blocked on + * condition, versus reinterrupt current thread, if + * interrupted while blocked waiting to re-acquire. + */ + + /** Mode meaning to reinterrupt on exit from wait */ + private static final int REINTERRUPT = 1; + /** Mode meaning to throw InterruptedException on exit from wait */ + private static final int THROW_IE = -1; + + /** + * Checks for interrupt, returning THROW_IE if interrupted + * before signalled, REINTERRUPT if after signalled, or + * 0 if not interrupted. + */ + private int checkInterruptWhileWaiting(Node node) { + return (Thread.interrupted()) ? + ((transferAfterCancelledWait(node))? THROW_IE : REINTERRUPT) : + 0; + } + + /** + * Throws InterruptedException, reinterrupts current thread, or + * does nothing, depending on mode. + */ + private void reportInterruptAfterWait(int interruptMode) + throws InterruptedException { + if (interruptMode == THROW_IE) + throw new InterruptedException(); + else if (interruptMode == REINTERRUPT) + selfInterrupt(); + } + + /** + * Implements interruptible condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled or interrupted + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw exception + *
+ */ + public final void await() throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + long savedState = fullyRelease(node); + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + LockSupport.park(this); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + } + + /** + * Implements timed condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled, interrupted, or timed out + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw InterruptedException + *
+ */ + public final long awaitNanos(long nanosTimeout) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + long savedState = fullyRelease(node); + long lastTime = System.nanoTime(); + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + if (nanosTimeout <= 0L) { + transferAfterCancelledWait(node); + break; + } + LockSupport.parkNanos(this, nanosTimeout); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + return nanosTimeout - (System.nanoTime() - lastTime); + } + + /** + * Implements absolute timed condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled, interrupted, or timed out + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw InterruptedException + *
  7. If timed out while blocked in step 4, return false, else true + *
+ */ + public final boolean awaitUntil(Date deadline) throws InterruptedException { + if (deadline == null) + throw new NullPointerException(); + long abstime = deadline.getTime(); + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + long savedState = fullyRelease(node); + boolean timedout = false; + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + if (System.currentTimeMillis() > abstime) { + timedout = transferAfterCancelledWait(node); + break; + } + LockSupport.parkUntil(this, abstime); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + return !timedout; + } + + /** + * Implements timed condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled, interrupted, or timed out + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw InterruptedException + *
  7. If timed out while blocked in step 4, return false, else true + *
+ */ + public final boolean await(long time, TimeUnit unit) throws InterruptedException { + if (unit == null) + throw new NullPointerException(); + long nanosTimeout = unit.toNanos(time); + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + long savedState = fullyRelease(node); + long lastTime = System.nanoTime(); + boolean timedout = false; + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + if (nanosTimeout <= 0L) { + timedout = transferAfterCancelledWait(node); + break; + } + LockSupport.parkNanos(this, nanosTimeout); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + return !timedout; + } + + // support for instrumentation + + /** + * Returns true if this condition was created by the given + * synchronization object. + * + * @return {@code true} if owned + */ + final boolean isOwnedBy(AbstractQueuedLongSynchronizer sync) { + return sync == AbstractQueuedLongSynchronizer.this; + } + + /** + * Queries whether any threads are waiting on this condition. + * Implements {@link AbstractQueuedLongSynchronizer#hasWaiters}. + * + * @return {@code true} if there are any waiting threads + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + protected final boolean hasWaiters() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + for (Node w = firstWaiter; w != null; w = w.nextWaiter) { + if (w.waitStatus == Node.CONDITION) + return true; + } + return false; + } + + /** + * Returns an estimate of the number of threads waiting on + * this condition. + * Implements {@link AbstractQueuedLongSynchronizer#getWaitQueueLength}. + * + * @return the estimated number of waiting threads + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + protected final int getWaitQueueLength() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + int n = 0; + for (Node w = firstWaiter; w != null; w = w.nextWaiter) { + if (w.waitStatus == Node.CONDITION) + ++n; + } + return n; + } + + /** + * Returns a collection containing those threads that may be + * waiting on this Condition. + * Implements {@link AbstractQueuedLongSynchronizer#getWaitingThreads}. + * + * @return the collection of threads + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + protected final Collection getWaitingThreads() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + ArrayList list = new ArrayList(); + for (Node w = firstWaiter; w != null; w = w.nextWaiter) { + if (w.waitStatus == Node.CONDITION) { + Thread t = w.thread; + if (t != null) + list.add(t); + } + } + return list; + } + } + + /** + * Setup to support compareAndSet. We need to natively implement + * this here: For the sake of permitting future enhancements, we + * cannot explicitly subclass AtomicLong, which would be + * efficient and useful otherwise. So, as the lesser of evils, we + * natively implement using hotspot intrinsics API. And while we + * are at it, we do the same for other CASable fields (which could + * otherwise be done with atomic field updaters). + */ + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long stateOffset; + private static final long headOffset; + private static final long tailOffset; + private static final long waitStatusOffset; + + static { + try { + stateOffset = unsafe.objectFieldOffset + (AbstractQueuedLongSynchronizer.class.getDeclaredField("state")); + headOffset = unsafe.objectFieldOffset + (AbstractQueuedLongSynchronizer.class.getDeclaredField("head")); + tailOffset = unsafe.objectFieldOffset + (AbstractQueuedLongSynchronizer.class.getDeclaredField("tail")); + waitStatusOffset = unsafe.objectFieldOffset + (Node.class.getDeclaredField("waitStatus")); + + } catch (Exception ex) { throw new Error(ex); } + } + + /** + * CAS head field. Used only by enq + */ + private final boolean compareAndSetHead(Node update) { + return unsafe.compareAndSwapObject(this, headOffset, null, update); + } + + /** + * CAS tail field. Used only by enq + */ + private final boolean compareAndSetTail(Node expect, Node update) { + return unsafe.compareAndSwapObject(this, tailOffset, expect, update); + } + + /** + * CAS waitStatus field of a node. + */ + private final static boolean compareAndSetWaitStatus(Node node, + int expect, + int update) { + return unsafe.compareAndSwapInt(node, waitStatusOffset, + expect, update); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java new file mode 100644 index 00000000000..a3abb2cf553 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java @@ -0,0 +1,2159 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.*; +import java.util.concurrent.*; +import java.util.concurrent.atomic.*; +import sun.misc.Unsafe; + +/** + * Provides a framework for implementing blocking locks and related + * synchronizers (semaphores, events, etc) that rely on + * first-in-first-out (FIFO) wait queues. This class is designed to + * be a useful basis for most kinds of synchronizers that rely on a + * single atomic int value to represent state. Subclasses + * must define the protected methods that change this state, and which + * define what that state means in terms of this object being acquired + * or released. Given these, the other methods in this class carry + * out all queuing and blocking mechanics. Subclasses can maintain + * other state fields, but only the atomically updated int + * value manipulated using methods {@link #getState}, {@link + * #setState} and {@link #compareAndSetState} is tracked with respect + * to synchronization. + * + *

Subclasses should be defined as non-public internal helper + * classes that are used to implement the synchronization properties + * of their enclosing class. Class + * AbstractQueuedSynchronizer does not implement any + * synchronization interface. Instead it defines methods such as + * {@link #acquireInterruptibly} that can be invoked as + * appropriate by concrete locks and related synchronizers to + * implement their public methods. + * + *

This class supports either or both a default exclusive + * mode and a shared mode. When acquired in exclusive mode, + * attempted acquires by other threads cannot succeed. Shared mode + * acquires by multiple threads may (but need not) succeed. This class + * does not "understand" these differences except in the + * mechanical sense that when a shared mode acquire succeeds, the next + * waiting thread (if one exists) must also determine whether it can + * acquire as well. Threads waiting in the different modes share the + * same FIFO queue. Usually, implementation subclasses support only + * one of these modes, but both can come into play for example in a + * {@link ReadWriteLock}. Subclasses that support only exclusive or + * only shared modes need not define the methods supporting the unused mode. + * + *

This class defines a nested {@link ConditionObject} class that + * can be used as a {@link Condition} implementation by subclasses + * supporting exclusive mode for which method {@link + * #isHeldExclusively} reports whether synchronization is exclusively + * held with respect to the current thread, method {@link #release} + * invoked with the current {@link #getState} value fully releases + * this object, and {@link #acquire}, given this saved state value, + * eventually restores this object to its previous acquired state. No + * AbstractQueuedSynchronizer method otherwise creates such a + * condition, so if this constraint cannot be met, do not use it. The + * behavior of {@link ConditionObject} depends of course on the + * semantics of its synchronizer implementation. + * + *

This class provides inspection, instrumentation, and monitoring + * methods for the internal queue, as well as similar methods for + * condition objects. These can be exported as desired into classes + * using an AbstractQueuedSynchronizer for their + * synchronization mechanics. + * + *

Serialization of this class stores only the underlying atomic + * integer maintaining state, so deserialized objects have empty + * thread queues. Typical subclasses requiring serializability will + * define a readObject method that restores this to a known + * initial state upon deserialization. + * + *

Usage

+ * + *

To use this class as the basis of a synchronizer, redefine the + * following methods, as applicable, by inspecting and/or modifying + * the synchronization state using {@link #getState}, {@link + * #setState} and/or {@link #compareAndSetState}: + * + *

    + *
  • {@link #tryAcquire} + *
  • {@link #tryRelease} + *
  • {@link #tryAcquireShared} + *
  • {@link #tryReleaseShared} + *
  • {@link #isHeldExclusively} + *
+ * + * Each of these methods by default throws {@link + * UnsupportedOperationException}. Implementations of these methods + * must be internally thread-safe, and should in general be short and + * not block. Defining these methods is the only supported + * means of using this class. All other methods are declared + * final because they cannot be independently varied. + * + *

You may also find the inherited methods from {@link + * AbstractOwnableSynchronizer} useful to keep track of the thread + * owning an exclusive synchronizer. You are encouraged to use them + * -- this enables monitoring and diagnostic tools to assist users in + * determining which threads hold locks. + * + *

Even though this class is based on an internal FIFO queue, it + * does not automatically enforce FIFO acquisition policies. The core + * of exclusive synchronization takes the form: + * + *

+ * Acquire:
+ *     while (!tryAcquire(arg)) {
+ *        enqueue thread if it is not already queued;
+ *        possibly block current thread;
+ *     }
+ *
+ * Release:
+ *     if (tryRelease(arg))
+ *        unblock the first queued thread;
+ * 
+ * + * (Shared mode is similar but may involve cascading signals.) + * + *

Because checks in acquire are invoked before enqueuing, a newly + * acquiring thread may barge ahead of others that are + * blocked and queued. However, you can, if desired, define + * tryAcquire and/or tryAcquireShared to disable + * barging by internally invoking one or more of the inspection + * methods. In particular, a strict FIFO lock can define + * tryAcquire to immediately return false if {@link + * #getFirstQueuedThread} does not return the current thread. A + * normally preferable non-strict fair version can immediately return + * false only if {@link #hasQueuedThreads} returns + * true and getFirstQueuedThread is not the current + * thread; or equivalently, that getFirstQueuedThread is both + * non-null and not the current thread. Further variations are + * possible. + * + *

Throughput and scalability are generally highest for the + * default barging (also known as greedy, + * renouncement, and convoy-avoidance) strategy. + * While this is not guaranteed to be fair or starvation-free, earlier + * queued threads are allowed to recontend before later queued + * threads, and each recontention has an unbiased chance to succeed + * against incoming threads. Also, while acquires do not + * "spin" in the usual sense, they may perform multiple + * invocations of tryAcquire interspersed with other + * computations before blocking. This gives most of the benefits of + * spins when exclusive synchronization is only briefly held, without + * most of the liabilities when it isn't. If so desired, you can + * augment this by preceding calls to acquire methods with + * "fast-path" checks, possibly prechecking {@link #hasContended} + * and/or {@link #hasQueuedThreads} to only do so if the synchronizer + * is likely not to be contended. + * + *

This class provides an efficient and scalable basis for + * synchronization in part by specializing its range of use to + * synchronizers that can rely on int state, acquire, and + * release parameters, and an internal FIFO wait queue. When this does + * not suffice, you can build synchronizers from a lower level using + * {@link java.util.concurrent.atomic atomic} classes, your own custom + * {@link java.util.Queue} classes, and {@link LockSupport} blocking + * support. + * + *

Usage Examples

+ * + *

Here is a non-reentrant mutual exclusion lock class that uses + * the value zero to represent the unlocked state, and one to + * represent the locked state. While a non-reentrant lock + * does not strictly require recording of the current owner + * thread, this class does so anyway to make usage easier to monitor. + * It also supports conditions and exposes + * one of the instrumentation methods: + * + *

+ * class Mutex implements Lock, java.io.Serializable {
+ *
+ *   // Our internal helper class
+ *   private static class Sync extends AbstractQueuedSynchronizer {
+ *     // Report whether in locked state
+ *     protected boolean isHeldExclusively() {
+ *       return getState() == 1;
+ *     }
+ *
+ *     // Acquire the lock if state is zero
+ *     public boolean tryAcquire(int acquires) {
+ *       assert acquires == 1; // Otherwise unused
+ *       if (compareAndSetState(0, 1)) {
+ *         setExclusiveOwnerThread(Thread.currentThread());
+ *         return true;
+ *       }
+ *       return false;
+ *     }
+ *
+ *     // Release the lock by setting state to zero
+ *     protected boolean tryRelease(int releases) {
+ *       assert releases == 1; // Otherwise unused
+ *       if (getState() == 0) throw new IllegalMonitorStateException();
+ *       setExclusiveOwnerThread(null);
+ *       setState(0);
+ *       return true;
+ *     }
+ *
+ *     // Provide a Condition
+ *     Condition newCondition() { return new ConditionObject(); }
+ *
+ *     // Deserialize properly
+ *     private void readObject(ObjectInputStream s)
+ *         throws IOException, ClassNotFoundException {
+ *       s.defaultReadObject();
+ *       setState(0); // reset to unlocked state
+ *     }
+ *   }
+ *
+ *   // The sync object does all the hard work. We just forward to it.
+ *   private final Sync sync = new Sync();
+ *
+ *   public void lock()                { sync.acquire(1); }
+ *   public boolean tryLock()          { return sync.tryAcquire(1); }
+ *   public void unlock()              { sync.release(1); }
+ *   public Condition newCondition()   { return sync.newCondition(); }
+ *   public boolean isLocked()         { return sync.isHeldExclusively(); }
+ *   public boolean hasQueuedThreads() { return sync.hasQueuedThreads(); }
+ *   public void lockInterruptibly() throws InterruptedException {
+ *     sync.acquireInterruptibly(1);
+ *   }
+ *   public boolean tryLock(long timeout, TimeUnit unit)
+ *       throws InterruptedException {
+ *     return sync.tryAcquireNanos(1, unit.toNanos(timeout));
+ *   }
+ * }
+ * 
+ * + *

Here is a latch class that is like a {@link CountDownLatch} + * except that it only requires a single signal to + * fire. Because a latch is non-exclusive, it uses the shared + * acquire and release methods. + * + *

+ * class BooleanLatch {
+ *
+ *   private static class Sync extends AbstractQueuedSynchronizer {
+ *     boolean isSignalled() { return getState() != 0; }
+ *
+ *     protected int tryAcquireShared(int ignore) {
+ *       return isSignalled()? 1 : -1;
+ *     }
+ *
+ *     protected boolean tryReleaseShared(int ignore) {
+ *       setState(1);
+ *       return true;
+ *     }
+ *   }
+ *
+ *   private final Sync sync = new Sync();
+ *   public boolean isSignalled() { return sync.isSignalled(); }
+ *   public void signal()         { sync.releaseShared(1); }
+ *   public void await() throws InterruptedException {
+ *     sync.acquireSharedInterruptibly(1);
+ *   }
+ * }
+ * 
+ * + * @since 1.5 + * @author Doug Lea + */ +public abstract class AbstractQueuedSynchronizer + extends AbstractOwnableSynchronizer + implements java.io.Serializable { + + private static final long serialVersionUID = 7373984972572414691L; + + /** + * Creates a new AbstractQueuedSynchronizer instance + * with initial synchronization state of zero. + */ + protected AbstractQueuedSynchronizer() { } + + /** + * Wait queue node class. + * + *

The wait queue is a variant of a "CLH" (Craig, Landin, and + * Hagersten) lock queue. CLH locks are normally used for + * spinlocks. We instead use them for blocking synchronizers, but + * use the same basic tactic of holding some of the control + * information about a thread in the predecessor of its node. A + * "status" field in each node keeps track of whether a thread + * should block. A node is signalled when its predecessor + * releases. Each node of the queue otherwise serves as a + * specific-notification-style monitor holding a single waiting + * thread. The status field does NOT control whether threads are + * granted locks etc though. A thread may try to acquire if it is + * first in the queue. But being first does not guarantee success; + * it only gives the right to contend. So the currently released + * contender thread may need to rewait. + * + *

To enqueue into a CLH lock, you atomically splice it in as new + * tail. To dequeue, you just set the head field. + *

+     *      +------+  prev +-----+       +-----+
+     * head |      | <---- |     | <---- |     |  tail
+     *      +------+       +-----+       +-----+
+     * 
+ * + *

Insertion into a CLH queue requires only a single atomic + * operation on "tail", so there is a simple atomic point of + * demarcation from unqueued to queued. Similarly, dequeing + * involves only updating the "head". However, it takes a bit + * more work for nodes to determine who their successors are, + * in part to deal with possible cancellation due to timeouts + * and interrupts. + * + *

The "prev" links (not used in original CLH locks), are mainly + * needed to handle cancellation. If a node is cancelled, its + * successor is (normally) relinked to a non-cancelled + * predecessor. For explanation of similar mechanics in the case + * of spin locks, see the papers by Scott and Scherer at + * http://www.cs.rochester.edu/u/scott/synchronization/ + * + *

We also use "next" links to implement blocking mechanics. + * The thread id for each node is kept in its own node, so a + * predecessor signals the next node to wake up by traversing + * next link to determine which thread it is. Determination of + * successor must avoid races with newly queued nodes to set + * the "next" fields of their predecessors. This is solved + * when necessary by checking backwards from the atomically + * updated "tail" when a node's successor appears to be null. + * (Or, said differently, the next-links are an optimization + * so that we don't usually need a backward scan.) + * + *

Cancellation introduces some conservatism to the basic + * algorithms. Since we must poll for cancellation of other + * nodes, we can miss noticing whether a cancelled node is + * ahead or behind us. This is dealt with by always unparking + * successors upon cancellation, allowing them to stabilize on + * a new predecessor. + * + *

CLH queues need a dummy header node to get started. But + * we don't create them on construction, because it would be wasted + * effort if there is never contention. Instead, the node + * is constructed and head and tail pointers are set upon first + * contention. + * + *

Threads waiting on Conditions use the same nodes, but + * use an additional link. Conditions only need to link nodes + * in simple (non-concurrent) linked queues because they are + * only accessed when exclusively held. Upon await, a node is + * inserted into a condition queue. Upon signal, the node is + * transferred to the main queue. A special value of status + * field is used to mark which queue a node is on. + * + *

Thanks go to Dave Dice, Mark Moir, Victor Luchangco, Bill + * Scherer and Michael Scott, along with members of JSR-166 + * expert group, for helpful ideas, discussions, and critiques + * on the design of this class. + */ + static final class Node { + /** waitStatus value to indicate thread has cancelled */ + static final int CANCELLED = 1; + /** waitStatus value to indicate successor's thread needs unparking */ + static final int SIGNAL = -1; + /** waitStatus value to indicate thread is waiting on condition */ + static final int CONDITION = -2; + /** Marker to indicate a node is waiting in shared mode */ + static final Node SHARED = new Node(); + /** Marker to indicate a node is waiting in exclusive mode */ + static final Node EXCLUSIVE = null; + + /** + * Status field, taking on only the values: + * SIGNAL: The successor of this node is (or will soon be) + * blocked (via park), so the current node must + * unpark its successor when it releases or + * cancels. To avoid races, acquire methods must + * first indicate they need a signal, + * then retry the atomic acquire, and then, + * on failure, block. + * CANCELLED: This node is cancelled due to timeout or interrupt. + * Nodes never leave this state. In particular, + * a thread with cancelled node never again blocks. + * CONDITION: This node is currently on a condition queue. + * It will not be used as a sync queue node until + * transferred. (Use of this value here + * has nothing to do with the other uses + * of the field, but simplifies mechanics.) + * 0: None of the above + * + * The values are arranged numerically to simplify use. + * Non-negative values mean that a node doesn't need to + * signal. So, most code doesn't need to check for particular + * values, just for sign. + * + * The field is initialized to 0 for normal sync nodes, and + * CONDITION for condition nodes. It is modified only using + * CAS. + */ + volatile int waitStatus; + + /** + * Link to predecessor node that current node/thread relies on + * for checking waitStatus. Assigned during enqueing, and nulled + * out (for sake of GC) only upon dequeuing. Also, upon + * cancellation of a predecessor, we short-circuit while + * finding a non-cancelled one, which will always exist + * because the head node is never cancelled: A node becomes + * head only as a result of successful acquire. A + * cancelled thread never succeeds in acquiring, and a thread only + * cancels itself, not any other node. + */ + volatile Node prev; + + /** + * Link to the successor node that the current node/thread + * unparks upon release. Assigned once during enqueuing, and + * nulled out (for sake of GC) when no longer needed. Upon + * cancellation, we cannot adjust this field, but can notice + * status and bypass the node if cancelled. The enq operation + * does not assign next field of a predecessor until after + * attachment, so seeing a null next field does not + * necessarily mean that node is at end of queue. However, if + * a next field appears to be null, we can scan prev's from + * the tail to double-check. + */ + volatile Node next; + + /** + * The thread that enqueued this node. Initialized on + * construction and nulled out after use. + */ + volatile Thread thread; + + /** + * Link to next node waiting on condition, or the special + * value SHARED. Because condition queues are accessed only + * when holding in exclusive mode, we just need a simple + * linked queue to hold nodes while they are waiting on + * conditions. They are then transferred to the queue to + * re-acquire. And because conditions can only be exclusive, + * we save a field by using special value to indicate shared + * mode. + */ + Node nextWaiter; + + /** + * Returns true if node is waiting in shared mode + */ + final boolean isShared() { + return nextWaiter == SHARED; + } + + /** + * Returns previous node, or throws NullPointerException if + * null. Use when predecessor cannot be null. + * @return the predecessor of this node + */ + final Node predecessor() throws NullPointerException { + Node p = prev; + if (p == null) + throw new NullPointerException(); + else + return p; + } + + Node() { // Used to establish initial head or SHARED marker + } + + Node(Thread thread, Node mode) { // Used by addWaiter + this.nextWaiter = mode; + this.thread = thread; + } + + Node(Thread thread, int waitStatus) { // Used by Condition + this.waitStatus = waitStatus; + this.thread = thread; + } + } + + /** + * Head of the wait queue, lazily initialized. Except for + * initialization, it is modified only via method setHead. Note: + * If head exists, its waitStatus is guaranteed not to be + * CANCELLED. + */ + private transient volatile Node head; + + /** + * Tail of the wait queue, lazily initialized. Modified only via + * method enq to add new wait node. + */ + private transient volatile Node tail; + + /** + * The synchronization state. + */ + private volatile int state; + + /** + * Returns the current value of synchronization state. + * This operation has memory semantics of a volatile read. + * @return current state value + */ + protected final int getState() { + return state; + } + + /** + * Sets the value of synchronization state. + * This operation has memory semantics of a volatile write. + * @param newState the new state value + */ + protected final void setState(int newState) { + state = newState; + } + + /** + * Atomically sets synchronization state to the given updated + * value if the current state value equals the expected value. + * This operation has memory semantics of a volatile read + * and write. + * + * @param expect the expected value + * @param update the new value + * @return true if successful. False return indicates that the actual + * value was not equal to the expected value. + */ + protected final boolean compareAndSetState(int expect, int update) { + // See below for intrinsics setup to support this + return unsafe.compareAndSwapInt(this, stateOffset, expect, update); + } + + // Queuing utilities + + /** + * The number of nanoseconds for which it is faster to spin + * rather than to use timed park. A rough estimate suffices + * to improve responsiveness with very short timeouts. + */ + static final long spinForTimeoutThreshold = 1000L; + + /** + * Inserts node into queue, initializing if necessary. See picture above. + * @param node the node to insert + * @return node's predecessor + */ + private Node enq(final Node node) { + for (;;) { + Node t = tail; + if (t == null) { // Must initialize + Node h = new Node(); // Dummy header + h.next = node; + node.prev = h; + if (compareAndSetHead(h)) { + tail = node; + return h; + } + } + else { + node.prev = t; + if (compareAndSetTail(t, node)) { + t.next = node; + return t; + } + } + } + } + + /** + * Creates and enqueues node for given thread and mode. + * + * @param current the thread + * @param mode Node.EXCLUSIVE for exclusive, Node.SHARED for shared + * @return the new node + */ + private Node addWaiter(Node mode) { + Node node = new Node(Thread.currentThread(), mode); + // Try the fast path of enq; backup to full enq on failure + Node pred = tail; + if (pred != null) { + node.prev = pred; + if (compareAndSetTail(pred, node)) { + pred.next = node; + return node; + } + } + enq(node); + return node; + } + + /** + * Sets head of queue to be node, thus dequeuing. Called only by + * acquire methods. Also nulls out unused fields for sake of GC + * and to suppress unnecessary signals and traversals. + * + * @param node the node + */ + private void setHead(Node node) { + head = node; + node.thread = null; + node.prev = null; + } + + /** + * Wakes up node's successor, if one exists. + * + * @param node the node + */ + private void unparkSuccessor(Node node) { + /* + * Try to clear status in anticipation of signalling. It is + * OK if this fails or if status is changed by waiting thread. + */ + compareAndSetWaitStatus(node, Node.SIGNAL, 0); + + /* + * Thread to unpark is held in successor, which is normally + * just the next node. But if cancelled or apparently null, + * traverse backwards from tail to find the actual + * non-cancelled successor. + */ + Node s = node.next; + if (s == null || s.waitStatus > 0) { + s = null; + for (Node t = tail; t != null && t != node; t = t.prev) + if (t.waitStatus <= 0) + s = t; + } + if (s != null) + LockSupport.unpark(s.thread); + } + + /** + * Sets head of queue, and checks if successor may be waiting + * in shared mode, if so propagating if propagate > 0. + * + * @param pred the node holding waitStatus for node + * @param node the node + * @param propagate the return value from a tryAcquireShared + */ + private void setHeadAndPropagate(Node node, int propagate) { + setHead(node); + if (propagate > 0 && node.waitStatus != 0) { + /* + * Don't bother fully figuring out successor. If it + * looks null, call unparkSuccessor anyway to be safe. + */ + Node s = node.next; + if (s == null || s.isShared()) + unparkSuccessor(node); + } + } + + // Utilities for various versions of acquire + + /** + * Cancels an ongoing attempt to acquire. + * + * @param node the node + */ + private void cancelAcquire(Node node) { + if (node != null) { // Ignore if node doesn't exist + node.thread = null; + // Can use unconditional write instead of CAS here + node.waitStatus = Node.CANCELLED; + unparkSuccessor(node); + } + } + + /** + * Checks and updates status for a node that failed to acquire. + * Returns true if thread should block. This is the main signal + * control in all acquire loops. Requires that pred == node.prev + * + * @param pred node's predecessor holding status + * @param node the node + * @return {@code true} if thread should block + */ + private static boolean shouldParkAfterFailedAcquire(Node pred, Node node) { + int s = pred.waitStatus; + if (s < 0) + /* + * This node has already set status asking a release + * to signal it, so it can safely park + */ + return true; + if (s > 0) + /* + * Predecessor was cancelled. Move up to its predecessor + * and indicate retry. + */ + node.prev = pred.prev; + else + /* + * Indicate that we need a signal, but don't park yet. Caller + * will need to retry to make sure it cannot acquire before + * parking. + */ + compareAndSetWaitStatus(pred, 0, Node.SIGNAL); + return false; + } + + /** + * Convenience method to interrupt current thread. + */ + private static void selfInterrupt() { + Thread.currentThread().interrupt(); + } + + /** + * Convenience method to park and then check if interrupted + * + * @return {@code true} if interrupted + */ + private final boolean parkAndCheckInterrupt() { + LockSupport.park(this); + return Thread.interrupted(); + } + + /* + * Various flavors of acquire, varying in exclusive/shared and + * control modes. Each is mostly the same, but annoyingly + * different. Only a little bit of factoring is possible due to + * interactions of exception mechanics (including ensuring that we + * cancel if tryAcquire throws exception) and other control, at + * least not without hurting performance too much. + */ + + /** + * Acquires in exclusive uninterruptible mode for thread already in + * queue. Used by condition wait methods as well as acquire. + * + * @param node the node + * @param arg the acquire argument + * @return {@code true} if interrupted while waiting + */ + final boolean acquireQueued(final Node node, int arg) { + try { + boolean interrupted = false; + for (;;) { + final Node p = node.predecessor(); + if (p == head && tryAcquire(arg)) { + setHead(node); + p.next = null; // help GC + return interrupted; + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + interrupted = true; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + } + + /** + * Acquires in exclusive interruptible mode. + * @param arg the acquire argument + */ + private void doAcquireInterruptibly(int arg) + throws InterruptedException { + final Node node = addWaiter(Node.EXCLUSIVE); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head && tryAcquire(arg)) { + setHead(node); + p.next = null; // help GC + return; + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + /** + * Acquires in exclusive timed mode. + * + * @param arg the acquire argument + * @param nanosTimeout max wait time + * @return {@code true} if acquired + */ + private boolean doAcquireNanos(int arg, long nanosTimeout) + throws InterruptedException { + long lastTime = System.nanoTime(); + final Node node = addWaiter(Node.EXCLUSIVE); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head && tryAcquire(arg)) { + setHead(node); + p.next = null; // help GC + return true; + } + if (nanosTimeout <= 0) { + cancelAcquire(node); + return false; + } + if (nanosTimeout > spinForTimeoutThreshold && + shouldParkAfterFailedAcquire(p, node)) + LockSupport.parkNanos(this, nanosTimeout); + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + if (Thread.interrupted()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + /** + * Acquires in shared uninterruptible mode. + * @param arg the acquire argument + */ + private void doAcquireShared(int arg) { + final Node node = addWaiter(Node.SHARED); + try { + boolean interrupted = false; + for (;;) { + final Node p = node.predecessor(); + if (p == head) { + int r = tryAcquireShared(arg); + if (r >= 0) { + setHeadAndPropagate(node, r); + p.next = null; // help GC + if (interrupted) + selfInterrupt(); + return; + } + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + interrupted = true; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + } + + /** + * Acquires in shared interruptible mode. + * @param arg the acquire argument + */ + private void doAcquireSharedInterruptibly(int arg) + throws InterruptedException { + final Node node = addWaiter(Node.SHARED); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head) { + int r = tryAcquireShared(arg); + if (r >= 0) { + setHeadAndPropagate(node, r); + p.next = null; // help GC + return; + } + } + if (shouldParkAfterFailedAcquire(p, node) && + parkAndCheckInterrupt()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + /** + * Acquires in shared timed mode. + * + * @param arg the acquire argument + * @param nanosTimeout max wait time + * @return {@code true} if acquired + */ + private boolean doAcquireSharedNanos(int arg, long nanosTimeout) + throws InterruptedException { + + long lastTime = System.nanoTime(); + final Node node = addWaiter(Node.SHARED); + try { + for (;;) { + final Node p = node.predecessor(); + if (p == head) { + int r = tryAcquireShared(arg); + if (r >= 0) { + setHeadAndPropagate(node, r); + p.next = null; // help GC + return true; + } + } + if (nanosTimeout <= 0) { + cancelAcquire(node); + return false; + } + if (nanosTimeout > spinForTimeoutThreshold && + shouldParkAfterFailedAcquire(p, node)) + LockSupport.parkNanos(this, nanosTimeout); + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + if (Thread.interrupted()) + break; + } + } catch (RuntimeException ex) { + cancelAcquire(node); + throw ex; + } + // Arrive here only if interrupted + cancelAcquire(node); + throw new InterruptedException(); + } + + // Main exported methods + + /** + * Attempts to acquire in exclusive mode. This method should query + * if the state of the object permits it to be acquired in the + * exclusive mode, and if so to acquire it. + * + *

This method is always invoked by the thread performing + * acquire. If this method reports failure, the acquire method + * may queue the thread, if it is not already queued, until it is + * signalled by a release from some other thread. This can be used + * to implement method {@link Lock#tryLock()}. + * + *

The default + * implementation throws {@link UnsupportedOperationException}. + * + * @param arg the acquire argument. This value is always the one + * passed to an acquire method, or is the value saved on entry + * to a condition wait. The value is otherwise uninterpreted + * and can represent anything you like. + * @return {@code true} if successful. Upon success, this object has + * been acquired. + * @throws IllegalMonitorStateException if acquiring would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if exclusive mode is not supported + */ + protected boolean tryAcquire(int arg) { + throw new UnsupportedOperationException(); + } + + /** + * Attempts to set the state to reflect a release in exclusive + * mode. + * + *

This method is always invoked by the thread performing release. + * + *

The default implementation throws + * {@link UnsupportedOperationException}. + * + * @param arg the release argument. This value is always the one + * passed to a release method, or the current state value upon + * entry to a condition wait. The value is otherwise + * uninterpreted and can represent anything you like. + * @return {@code true} if this object is now in a fully released + * state, so that any waiting threads may attempt to acquire; + * and {@code false} otherwise. + * @throws IllegalMonitorStateException if releasing would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if exclusive mode is not supported + */ + protected boolean tryRelease(int arg) { + throw new UnsupportedOperationException(); + } + + /** + * Attempts to acquire in shared mode. This method should query if + * the state of the object permits it to be acquired in the shared + * mode, and if so to acquire it. + * + *

This method is always invoked by the thread performing + * acquire. If this method reports failure, the acquire method + * may queue the thread, if it is not already queued, until it is + * signalled by a release from some other thread. + * + *

The default implementation throws {@link + * UnsupportedOperationException}. + * + * @param arg the acquire argument. This value is always the one + * passed to an acquire method, or is the value saved on entry + * to a condition wait. The value is otherwise uninterpreted + * and can represent anything you like. + * @return a negative value on failure; zero if acquisition in shared + * mode succeeded but no subsequent shared-mode acquire can + * succeed; and a positive value if acquisition in shared + * mode succeeded and subsequent shared-mode acquires might + * also succeed, in which case a subsequent waiting thread + * must check availability. (Support for three different + * return values enables this method to be used in contexts + * where acquires only sometimes act exclusively.) Upon + * success, this object has been acquired. + * @throws IllegalMonitorStateException if acquiring would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if shared mode is not supported + */ + protected int tryAcquireShared(int arg) { + throw new UnsupportedOperationException(); + } + + /** + * Attempts to set the state to reflect a release in shared mode. + * + *

This method is always invoked by the thread performing release. + * + *

The default implementation throws + * {@link UnsupportedOperationException}. + * + * @param arg the release argument. This value is always the one + * passed to a release method, or the current state value upon + * entry to a condition wait. The value is otherwise + * uninterpreted and can represent anything you like. + * @return {@code true} if this release of shared mode may permit a + * waiting acquire (shared or exclusive) to succeed; and + * {@code false} otherwise + * @throws IllegalMonitorStateException if releasing would place this + * synchronizer in an illegal state. This exception must be + * thrown in a consistent fashion for synchronization to work + * correctly. + * @throws UnsupportedOperationException if shared mode is not supported + */ + protected boolean tryReleaseShared(int arg) { + throw new UnsupportedOperationException(); + } + + /** + * Returns {@code true} if synchronization is held exclusively with + * respect to the current (calling) thread. This method is invoked + * upon each call to a non-waiting {@link ConditionObject} method. + * (Waiting methods instead invoke {@link #release}.) + * + *

The default implementation throws {@link + * UnsupportedOperationException}. This method is invoked + * internally only within {@link ConditionObject} methods, so need + * not be defined if conditions are not used. + * + * @return {@code true} if synchronization is held exclusively; + * {@code false} otherwise + * @throws UnsupportedOperationException if conditions are not supported + */ + protected boolean isHeldExclusively() { + throw new UnsupportedOperationException(); + } + + /** + * Acquires in exclusive mode, ignoring interrupts. Implemented + * by invoking at least once {@link #tryAcquire}, + * returning on success. Otherwise the thread is queued, possibly + * repeatedly blocking and unblocking, invoking {@link + * #tryAcquire} until success. This method can be used + * to implement method {@link Lock#lock}. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquire} but is otherwise uninterpreted and + * can represent anything you like. + */ + public final void acquire(int arg) { + if (!tryAcquire(arg) && + acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) + selfInterrupt(); + } + + /** + * Acquires in exclusive mode, aborting if interrupted. + * Implemented by first checking interrupt status, then invoking + * at least once {@link #tryAcquire}, returning on + * success. Otherwise the thread is queued, possibly repeatedly + * blocking and unblocking, invoking {@link #tryAcquire} + * until success or the thread is interrupted. This method can be + * used to implement method {@link Lock#lockInterruptibly}. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquire} but is otherwise uninterpreted and + * can represent anything you like. + * @throws InterruptedException if the current thread is interrupted + */ + public final void acquireInterruptibly(int arg) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + if (!tryAcquire(arg)) + doAcquireInterruptibly(arg); + } + + /** + * Attempts to acquire in exclusive mode, aborting if interrupted, + * and failing if the given timeout elapses. Implemented by first + * checking interrupt status, then invoking at least once {@link + * #tryAcquire}, returning on success. Otherwise, the thread is + * queued, possibly repeatedly blocking and unblocking, invoking + * {@link #tryAcquire} until success or the thread is interrupted + * or the timeout elapses. This method can be used to implement + * method {@link Lock#tryLock(long, TimeUnit)}. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquire} but is otherwise uninterpreted and + * can represent anything you like. + * @param nanosTimeout the maximum number of nanoseconds to wait + * @return {@code true} if acquired; {@code false} if timed out + * @throws InterruptedException if the current thread is interrupted + */ + public final boolean tryAcquireNanos(int arg, long nanosTimeout) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + return tryAcquire(arg) || + doAcquireNanos(arg, nanosTimeout); + } + + /** + * Releases in exclusive mode. Implemented by unblocking one or + * more threads if {@link #tryRelease} returns true. + * This method can be used to implement method {@link Lock#unlock}. + * + * @param arg the release argument. This value is conveyed to + * {@link #tryRelease} but is otherwise uninterpreted and + * can represent anything you like. + * @return the value returned from {@link #tryRelease} + */ + public final boolean release(int arg) { + if (tryRelease(arg)) { + Node h = head; + if (h != null && h.waitStatus != 0) + unparkSuccessor(h); + return true; + } + return false; + } + + /** + * Acquires in shared mode, ignoring interrupts. Implemented by + * first invoking at least once {@link #tryAcquireShared}, + * returning on success. Otherwise the thread is queued, possibly + * repeatedly blocking and unblocking, invoking {@link + * #tryAcquireShared} until success. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquireShared} but is otherwise uninterpreted + * and can represent anything you like. + */ + public final void acquireShared(int arg) { + if (tryAcquireShared(arg) < 0) + doAcquireShared(arg); + } + + /** + * Acquires in shared mode, aborting if interrupted. Implemented + * by first checking interrupt status, then invoking at least once + * {@link #tryAcquireShared}, returning on success. Otherwise the + * thread is queued, possibly repeatedly blocking and unblocking, + * invoking {@link #tryAcquireShared} until success or the thread + * is interrupted. + * @param arg the acquire argument. + * This value is conveyed to {@link #tryAcquireShared} but is + * otherwise uninterpreted and can represent anything + * you like. + * @throws InterruptedException if the current thread is interrupted + */ + public final void acquireSharedInterruptibly(int arg) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + if (tryAcquireShared(arg) < 0) + doAcquireSharedInterruptibly(arg); + } + + /** + * Attempts to acquire in shared mode, aborting if interrupted, and + * failing if the given timeout elapses. Implemented by first + * checking interrupt status, then invoking at least once {@link + * #tryAcquireShared}, returning on success. Otherwise, the + * thread is queued, possibly repeatedly blocking and unblocking, + * invoking {@link #tryAcquireShared} until success or the thread + * is interrupted or the timeout elapses. + * + * @param arg the acquire argument. This value is conveyed to + * {@link #tryAcquireShared} but is otherwise uninterpreted + * and can represent anything you like. + * @param nanosTimeout the maximum number of nanoseconds to wait + * @return {@code true} if acquired; {@code false} if timed out + * @throws InterruptedException if the current thread is interrupted + */ + public final boolean tryAcquireSharedNanos(int arg, long nanosTimeout) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + return tryAcquireShared(arg) >= 0 || + doAcquireSharedNanos(arg, nanosTimeout); + } + + /** + * Releases in shared mode. Implemented by unblocking one or more + * threads if {@link #tryReleaseShared} returns true. + * + * @param arg the release argument. This value is conveyed to + * {@link #tryReleaseShared} but is otherwise uninterpreted + * and can represent anything you like. + * @return the value returned from {@link #tryReleaseShared} + */ + public final boolean releaseShared(int arg) { + if (tryReleaseShared(arg)) { + Node h = head; + if (h != null && h.waitStatus != 0) + unparkSuccessor(h); + return true; + } + return false; + } + + // Queue inspection methods + + /** + * Queries whether any threads are waiting to acquire. Note that + * because cancellations due to interrupts and timeouts may occur + * at any time, a {@code true} return does not guarantee that any + * other thread will ever acquire. + * + *

In this implementation, this operation returns in + * constant time. + * + * @return {@code true} if there may be other threads waiting to acquire + */ + public final boolean hasQueuedThreads() { + return head != tail; + } + + /** + * Queries whether any threads have ever contended to acquire this + * synchronizer; that is if an acquire method has ever blocked. + * + *

In this implementation, this operation returns in + * constant time. + * + * @return {@code true} if there has ever been contention + */ + public final boolean hasContended() { + return head != null; + } + + /** + * Returns the first (longest-waiting) thread in the queue, or + * {@code null} if no threads are currently queued. + * + *

In this implementation, this operation normally returns in + * constant time, but may iterate upon contention if other threads are + * concurrently modifying the queue. + * + * @return the first (longest-waiting) thread in the queue, or + * {@code null} if no threads are currently queued + */ + public final Thread getFirstQueuedThread() { + // handle only fast path, else relay + return (head == tail)? null : fullGetFirstQueuedThread(); + } + + /** + * Version of getFirstQueuedThread called when fastpath fails + */ + private Thread fullGetFirstQueuedThread() { + /* + * The first node is normally h.next. Try to get its + * thread field, ensuring consistent reads: If thread + * field is nulled out or s.prev is no longer head, then + * some other thread(s) concurrently performed setHead in + * between some of our reads. We try this twice before + * resorting to traversal. + */ + Node h, s; + Thread st; + if (((h = head) != null && (s = h.next) != null && + s.prev == head && (st = s.thread) != null) || + ((h = head) != null && (s = h.next) != null && + s.prev == head && (st = s.thread) != null)) + return st; + + /* + * Head's next field might not have been set yet, or may have + * been unset after setHead. So we must check to see if tail + * is actually first node. If not, we continue on, safely + * traversing from tail back to head to find first, + * guaranteeing termination. + */ + + Node t = tail; + Thread firstThread = null; + while (t != null && t != head) { + Thread tt = t.thread; + if (tt != null) + firstThread = tt; + t = t.prev; + } + return firstThread; + } + + /** + * Returns true if the given thread is currently queued. + * + *

This implementation traverses the queue to determine + * presence of the given thread. + * + * @param thread the thread + * @return {@code true} if the given thread is on the queue + * @throws NullPointerException if the thread is null + */ + public final boolean isQueued(Thread thread) { + if (thread == null) + throw new NullPointerException(); + for (Node p = tail; p != null; p = p.prev) + if (p.thread == thread) + return true; + return false; + } + + /** + * Return {@code true} if the apparent first queued thread, if one + * exists, is not waiting in exclusive mode. Used only as a heuristic + * in ReentrantReadWriteLock. + */ + final boolean apparentlyFirstQueuedIsExclusive() { + Node h, s; + return ((h = head) != null && (s = h.next) != null && + s.nextWaiter != Node.SHARED); + } + + /** + * Return {@code true} if the queue is empty or if the given thread + * is at the head of the queue. This is reliable only if + * current is actually Thread.currentThread() of caller. + */ + final boolean isFirst(Thread current) { + Node h, s; + return ((h = head) == null || + ((s = h.next) != null && s.thread == current) || + fullIsFirst(current)); + } + + final boolean fullIsFirst(Thread current) { + // same idea as fullGetFirstQueuedThread + Node h, s; + Thread firstThread = null; + if (((h = head) != null && (s = h.next) != null && + s.prev == head && (firstThread = s.thread) != null)) + return firstThread == current; + Node t = tail; + while (t != null && t != head) { + Thread tt = t.thread; + if (tt != null) + firstThread = tt; + t = t.prev; + } + return firstThread == current || firstThread == null; + } + + + // Instrumentation and monitoring methods + + /** + * Returns an estimate of the number of threads waiting to + * acquire. The value is only an estimate because the number of + * threads may change dynamically while this method traverses + * internal data structures. This method is designed for use in + * monitoring system state, not for synchronization + * control. + * + * @return the estimated number of threads waiting to acquire + */ + public final int getQueueLength() { + int n = 0; + for (Node p = tail; p != null; p = p.prev) { + if (p.thread != null) + ++n; + } + return n; + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire. Because the actual set of threads may change + * dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. This method is + * designed to facilitate construction of subclasses that provide + * more extensive monitoring facilities. + * + * @return the collection of threads + */ + public final Collection getQueuedThreads() { + ArrayList list = new ArrayList(); + for (Node p = tail; p != null; p = p.prev) { + Thread t = p.thread; + if (t != null) + list.add(t); + } + return list; + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire in exclusive mode. This has the same properties + * as {@link #getQueuedThreads} except that it only returns + * those threads waiting due to an exclusive acquire. + * + * @return the collection of threads + */ + public final Collection getExclusiveQueuedThreads() { + ArrayList list = new ArrayList(); + for (Node p = tail; p != null; p = p.prev) { + if (!p.isShared()) { + Thread t = p.thread; + if (t != null) + list.add(t); + } + } + return list; + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire in shared mode. This has the same properties + * as {@link #getQueuedThreads} except that it only returns + * those threads waiting due to a shared acquire. + * + * @return the collection of threads + */ + public final Collection getSharedQueuedThreads() { + ArrayList list = new ArrayList(); + for (Node p = tail; p != null; p = p.prev) { + if (p.isShared()) { + Thread t = p.thread; + if (t != null) + list.add(t); + } + } + return list; + } + + /** + * Returns a string identifying this synchronizer, as well as its state. + * The state, in brackets, includes the String {@code "State ="} + * followed by the current value of {@link #getState}, and either + * {@code "nonempty"} or {@code "empty"} depending on whether the + * queue is empty. + * + * @return a string identifying this synchronizer, as well as its state + */ + public String toString() { + int s = getState(); + String q = hasQueuedThreads()? "non" : ""; + return super.toString() + + "[State = " + s + ", " + q + "empty queue]"; + } + + + // Internal support methods for Conditions + + /** + * Returns true if a node, always one that was initially placed on + * a condition queue, is now waiting to reacquire on sync queue. + * @param node the node + * @return true if is reacquiring + */ + final boolean isOnSyncQueue(Node node) { + if (node.waitStatus == Node.CONDITION || node.prev == null) + return false; + if (node.next != null) // If has successor, it must be on queue + return true; + /* + * node.prev can be non-null, but not yet on queue because + * the CAS to place it on queue can fail. So we have to + * traverse from tail to make sure it actually made it. It + * will always be near the tail in calls to this method, and + * unless the CAS failed (which is unlikely), it will be + * there, so we hardly ever traverse much. + */ + return findNodeFromTail(node); + } + + /** + * Returns true if node is on sync queue by searching backwards from tail. + * Called only when needed by isOnSyncQueue. + * @return true if present + */ + private boolean findNodeFromTail(Node node) { + Node t = tail; + for (;;) { + if (t == node) + return true; + if (t == null) + return false; + t = t.prev; + } + } + + /** + * Transfers a node from a condition queue onto sync queue. + * Returns true if successful. + * @param node the node + * @return true if successfully transferred (else the node was + * cancelled before signal). + */ + final boolean transferForSignal(Node node) { + /* + * If cannot change waitStatus, the node has been cancelled. + */ + if (!compareAndSetWaitStatus(node, Node.CONDITION, 0)) + return false; + + /* + * Splice onto queue and try to set waitStatus of predecessor to + * indicate that thread is (probably) waiting. If cancelled or + * attempt to set waitStatus fails, wake up to resync (in which + * case the waitStatus can be transiently and harmlessly wrong). + */ + Node p = enq(node); + int c = p.waitStatus; + if (c > 0 || !compareAndSetWaitStatus(p, c, Node.SIGNAL)) + LockSupport.unpark(node.thread); + return true; + } + + /** + * Transfers node, if necessary, to sync queue after a cancelled + * wait. Returns true if thread was cancelled before being + * signalled. + * @param current the waiting thread + * @param node its node + * @return true if cancelled before the node was signalled. + */ + final boolean transferAfterCancelledWait(Node node) { + if (compareAndSetWaitStatus(node, Node.CONDITION, 0)) { + enq(node); + return true; + } + /* + * If we lost out to a signal(), then we can't proceed + * until it finishes its enq(). Cancelling during an + * incomplete transfer is both rare and transient, so just + * spin. + */ + while (!isOnSyncQueue(node)) + Thread.yield(); + return false; + } + + /** + * Invokes release with current state value; returns saved state. + * Cancels node and throws exception on failure. + * @param node the condition node for this wait + * @return previous sync state + */ + final int fullyRelease(Node node) { + try { + int savedState = getState(); + if (release(savedState)) + return savedState; + } catch (RuntimeException ex) { + node.waitStatus = Node.CANCELLED; + throw ex; + } + // reach here if release fails + node.waitStatus = Node.CANCELLED; + throw new IllegalMonitorStateException(); + } + + // Instrumentation methods for conditions + + /** + * Queries whether the given ConditionObject + * uses this synchronizer as its lock. + * + * @param condition the condition + * @return true if owned + * @throws NullPointerException if the condition is null + */ + public final boolean owns(ConditionObject condition) { + if (condition == null) + throw new NullPointerException(); + return condition.isOwnedBy(this); + } + + /** + * Queries whether any threads are waiting on the given condition + * associated with this synchronizer. Note that because timeouts + * and interrupts may occur at any time, a true return + * does not guarantee that a future signal will awaken + * any threads. This method is designed primarily for use in + * monitoring of the system state. + * + * @param condition the condition + * @return true if there are any waiting threads + * @throws IllegalMonitorStateException if exclusive synchronization + * is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this synchronizer + * @throws NullPointerException if the condition is null + */ + public final boolean hasWaiters(ConditionObject condition) { + if (!owns(condition)) + throw new IllegalArgumentException("Not owner"); + return condition.hasWaiters(); + } + + /** + * Returns an estimate of the number of threads waiting on the + * given condition associated with this synchronizer. Note that + * because timeouts and interrupts may occur at any time, the + * estimate serves only as an upper bound on the actual number of + * waiters. This method is designed for use in monitoring of the + * system state, not for synchronization control. + * + * @param condition the condition + * @return the estimated number of waiting threads + * @throws IllegalMonitorStateException if exclusive synchronization + * is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this synchronizer + * @throws NullPointerException if the condition is null + */ + public final int getWaitQueueLength(ConditionObject condition) { + if (!owns(condition)) + throw new IllegalArgumentException("Not owner"); + return condition.getWaitQueueLength(); + } + + /** + * Returns a collection containing those threads that may be + * waiting on the given condition associated with this + * synchronizer. Because the actual set of threads may change + * dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. + * + * @param condition the condition + * @return the collection of threads + * @throws IllegalMonitorStateException if exclusive synchronization + * is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this synchronizer + * @throws NullPointerException if the condition is null + */ + public final Collection getWaitingThreads(ConditionObject condition) { + if (!owns(condition)) + throw new IllegalArgumentException("Not owner"); + return condition.getWaitingThreads(); + } + + /** + * Condition implementation for a {@link + * AbstractQueuedSynchronizer} serving as the basis of a {@link + * Lock} implementation. + * + *

Method documentation for this class describes mechanics, + * not behavioral specifications from the point of view of Lock + * and Condition users. Exported versions of this class will in + * general need to be accompanied by documentation describing + * condition semantics that rely on those of the associated + * AbstractQueuedSynchronizer. + * + *

This class is Serializable, but all fields are transient, + * so deserialized conditions have no waiters. + */ + public class ConditionObject implements Condition, java.io.Serializable { + private static final long serialVersionUID = 1173984872572414699L; + /** First node of condition queue. */ + private transient Node firstWaiter; + /** Last node of condition queue. */ + private transient Node lastWaiter; + + /** + * Creates a new ConditionObject instance. + */ + public ConditionObject() { } + + // Internal methods + + /** + * Adds a new waiter to wait queue. + * @return its new wait node + */ + private Node addConditionWaiter() { + Node node = new Node(Thread.currentThread(), Node.CONDITION); + Node t = lastWaiter; + if (t == null) + firstWaiter = node; + else + t.nextWaiter = node; + lastWaiter = node; + return node; + } + + /** + * Removes and transfers nodes until hit non-cancelled one or + * null. Split out from signal in part to encourage compilers + * to inline the case of no waiters. + * @param first (non-null) the first node on condition queue + */ + private void doSignal(Node first) { + do { + if ( (firstWaiter = first.nextWaiter) == null) + lastWaiter = null; + first.nextWaiter = null; + } while (!transferForSignal(first) && + (first = firstWaiter) != null); + } + + /** + * Removes and transfers all nodes. + * @param first (non-null) the first node on condition queue + */ + private void doSignalAll(Node first) { + lastWaiter = firstWaiter = null; + do { + Node next = first.nextWaiter; + first.nextWaiter = null; + transferForSignal(first); + first = next; + } while (first != null); + } + + /** + * Returns true if given node is on this condition queue. + * Call only when holding lock. + */ + private boolean isOnConditionQueue(Node node) { + return node.next != null || node == lastWaiter; + } + + /** + * Unlinks a cancelled waiter node from condition queue. This + * is called when cancellation occurred during condition wait, + * not lock wait, and is called only after lock has been + * re-acquired by a cancelled waiter and the node is not known + * to already have been dequeued. It is needed to avoid + * garbage retention in the absence of signals. So even though + * it may require a full traversal, it comes into play only + * when timeouts or cancellations occur in the absence of + * signals. + */ + private void unlinkCancelledWaiter(Node node) { + Node t = firstWaiter; + Node trail = null; + while (t != null) { + if (t == node) { + Node next = t.nextWaiter; + if (trail == null) + firstWaiter = next; + else + trail.nextWaiter = next; + if (lastWaiter == node) + lastWaiter = trail; + break; + } + trail = t; + t = t.nextWaiter; + } + } + + // public methods + + /** + * Moves the longest-waiting thread, if one exists, from the + * wait queue for this condition to the wait queue for the + * owning lock. + * + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + public final void signal() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + Node first = firstWaiter; + if (first != null) + doSignal(first); + } + + /** + * Moves all threads from the wait queue for this condition to + * the wait queue for the owning lock. + * + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + public final void signalAll() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + Node first = firstWaiter; + if (first != null) + doSignalAll(first); + } + + /** + * Implements uninterruptible condition wait. + *

    + *
  1. Save lock state returned by {@link #getState} + *
  2. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  3. Block until signalled + *
  4. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
+ */ + public final void awaitUninterruptibly() { + Node node = addConditionWaiter(); + int savedState = fullyRelease(node); + boolean interrupted = false; + while (!isOnSyncQueue(node)) { + LockSupport.park(this); + if (Thread.interrupted()) + interrupted = true; + } + if (acquireQueued(node, savedState) || interrupted) + selfInterrupt(); + } + + /* + * For interruptible waits, we need to track whether to throw + * InterruptedException, if interrupted while blocked on + * condition, versus reinterrupt current thread, if + * interrupted while blocked waiting to re-acquire. + */ + + /** Mode meaning to reinterrupt on exit from wait */ + private static final int REINTERRUPT = 1; + /** Mode meaning to throw InterruptedException on exit from wait */ + private static final int THROW_IE = -1; + + /** + * Checks for interrupt, returning THROW_IE if interrupted + * before signalled, REINTERRUPT if after signalled, or + * 0 if not interrupted. + */ + private int checkInterruptWhileWaiting(Node node) { + return (Thread.interrupted()) ? + ((transferAfterCancelledWait(node))? THROW_IE : REINTERRUPT) : + 0; + } + + /** + * Throws InterruptedException, reinterrupts current thread, or + * does nothing, depending on mode. + */ + private void reportInterruptAfterWait(int interruptMode) + throws InterruptedException { + if (interruptMode == THROW_IE) + throw new InterruptedException(); + else if (interruptMode == REINTERRUPT) + selfInterrupt(); + } + + /** + * Implements interruptible condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled or interrupted + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw exception + *
+ */ + public final void await() throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + int savedState = fullyRelease(node); + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + LockSupport.park(this); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + } + + /** + * Implements timed condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled, interrupted, or timed out + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw InterruptedException + *
+ */ + public final long awaitNanos(long nanosTimeout) throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + int savedState = fullyRelease(node); + long lastTime = System.nanoTime(); + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + if (nanosTimeout <= 0L) { + transferAfterCancelledWait(node); + break; + } + LockSupport.parkNanos(this, nanosTimeout); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + return nanosTimeout - (System.nanoTime() - lastTime); + } + + /** + * Implements absolute timed condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled, interrupted, or timed out + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw InterruptedException + *
  7. If timed out while blocked in step 4, return false, else true + *
+ */ + public final boolean awaitUntil(Date deadline) throws InterruptedException { + if (deadline == null) + throw new NullPointerException(); + long abstime = deadline.getTime(); + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + int savedState = fullyRelease(node); + boolean timedout = false; + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + if (System.currentTimeMillis() > abstime) { + timedout = transferAfterCancelledWait(node); + break; + } + LockSupport.parkUntil(this, abstime); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + return !timedout; + } + + /** + * Implements timed condition wait. + *
    + *
  1. If current thread is interrupted, throw InterruptedException + *
  2. Save lock state returned by {@link #getState} + *
  3. Invoke {@link #release} with + * saved state as argument, throwing + * IllegalMonitorStateException if it fails. + *
  4. Block until signalled, interrupted, or timed out + *
  5. Reacquire by invoking specialized version of + * {@link #acquire} with saved state as argument. + *
  6. If interrupted while blocked in step 4, throw InterruptedException + *
  7. If timed out while blocked in step 4, return false, else true + *
+ */ + public final boolean await(long time, TimeUnit unit) throws InterruptedException { + if (unit == null) + throw new NullPointerException(); + long nanosTimeout = unit.toNanos(time); + if (Thread.interrupted()) + throw new InterruptedException(); + Node node = addConditionWaiter(); + int savedState = fullyRelease(node); + long lastTime = System.nanoTime(); + boolean timedout = false; + int interruptMode = 0; + while (!isOnSyncQueue(node)) { + if (nanosTimeout <= 0L) { + timedout = transferAfterCancelledWait(node); + break; + } + LockSupport.parkNanos(this, nanosTimeout); + if ((interruptMode = checkInterruptWhileWaiting(node)) != 0) + break; + long now = System.nanoTime(); + nanosTimeout -= now - lastTime; + lastTime = now; + } + if (acquireQueued(node, savedState) && interruptMode != THROW_IE) + interruptMode = REINTERRUPT; + if (isOnConditionQueue(node)) + unlinkCancelledWaiter(node); + if (interruptMode != 0) + reportInterruptAfterWait(interruptMode); + return !timedout; + } + + // support for instrumentation + + /** + * Returns true if this condition was created by the given + * synchronization object. + * + * @return {@code true} if owned + */ + final boolean isOwnedBy(AbstractQueuedSynchronizer sync) { + return sync == AbstractQueuedSynchronizer.this; + } + + /** + * Queries whether any threads are waiting on this condition. + * Implements {@link AbstractQueuedSynchronizer#hasWaiters}. + * + * @return {@code true} if there are any waiting threads + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + protected final boolean hasWaiters() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + for (Node w = firstWaiter; w != null; w = w.nextWaiter) { + if (w.waitStatus == Node.CONDITION) + return true; + } + return false; + } + + /** + * Returns an estimate of the number of threads waiting on + * this condition. + * Implements {@link AbstractQueuedSynchronizer#getWaitQueueLength}. + * + * @return the estimated number of waiting threads + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + protected final int getWaitQueueLength() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + int n = 0; + for (Node w = firstWaiter; w != null; w = w.nextWaiter) { + if (w.waitStatus == Node.CONDITION) + ++n; + } + return n; + } + + /** + * Returns a collection containing those threads that may be + * waiting on this Condition. + * Implements {@link AbstractQueuedSynchronizer#getWaitingThreads}. + * + * @return the collection of threads + * @throws IllegalMonitorStateException if {@link #isHeldExclusively} + * returns {@code false} + */ + protected final Collection getWaitingThreads() { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + ArrayList list = new ArrayList(); + for (Node w = firstWaiter; w != null; w = w.nextWaiter) { + if (w.waitStatus == Node.CONDITION) { + Thread t = w.thread; + if (t != null) + list.add(t); + } + } + return list; + } + } + + /** + * Setup to support compareAndSet. We need to natively implement + * this here: For the sake of permitting future enhancements, we + * cannot explicitly subclass AtomicInteger, which would be + * efficient and useful otherwise. So, as the lesser of evils, we + * natively implement using hotspot intrinsics API. And while we + * are at it, we do the same for other CASable fields (which could + * otherwise be done with atomic field updaters). + */ + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long stateOffset; + private static final long headOffset; + private static final long tailOffset; + private static final long waitStatusOffset; + + static { + try { + stateOffset = unsafe.objectFieldOffset + (AbstractQueuedSynchronizer.class.getDeclaredField("state")); + headOffset = unsafe.objectFieldOffset + (AbstractQueuedSynchronizer.class.getDeclaredField("head")); + tailOffset = unsafe.objectFieldOffset + (AbstractQueuedSynchronizer.class.getDeclaredField("tail")); + waitStatusOffset = unsafe.objectFieldOffset + (Node.class.getDeclaredField("waitStatus")); + + } catch (Exception ex) { throw new Error(ex); } + } + + /** + * CAS head field. Used only by enq + */ + private final boolean compareAndSetHead(Node update) { + return unsafe.compareAndSwapObject(this, headOffset, null, update); + } + + /** + * CAS tail field. Used only by enq + */ + private final boolean compareAndSetTail(Node expect, Node update) { + return unsafe.compareAndSwapObject(this, tailOffset, expect, update); + } + + /** + * CAS waitStatus field of a node. + */ + private final static boolean compareAndSetWaitStatus(Node node, + int expect, + int update) { + return unsafe.compareAndSwapInt(node, waitStatusOffset, + expect, update); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/Condition.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/Condition.java new file mode 100644 index 00000000000..5d24128e172 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/Condition.java @@ -0,0 +1,435 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.concurrent.*; +import java.util.Date; + +/** + * {@code Condition} factors out the {@code Object} monitor + * methods ({@link Object#wait() wait}, {@link Object#notify notify} + * and {@link Object#notifyAll notifyAll}) into distinct objects to + * give the effect of having multiple wait-sets per object, by + * combining them with the use of arbitrary {@link Lock} implementations. + * Where a {@code Lock} replaces the use of {@code synchronized} methods + * and statements, a {@code Condition} replaces the use of the Object + * monitor methods. + * + *

Conditions (also known as condition queues or + * condition variables) provide a means for one thread to + * suspend execution (to "wait") until notified by another + * thread that some state condition may now be true. Because access + * to this shared state information occurs in different threads, it + * must be protected, so a lock of some form is associated with the + * condition. The key property that waiting for a condition provides + * is that it atomically releases the associated lock and + * suspends the current thread, just like {@code Object.wait}. + * + *

A {@code Condition} instance is intrinsically bound to a lock. + * To obtain a {@code Condition} instance for a particular {@link Lock} + * instance use its {@link Lock#newCondition newCondition()} method. + * + *

As an example, suppose we have a bounded buffer which supports + * {@code put} and {@code take} methods. If a + * {@code take} is attempted on an empty buffer, then the thread will block + * until an item becomes available; if a {@code put} is attempted on a + * full buffer, then the thread will block until a space becomes available. + * We would like to keep waiting {@code put} threads and {@code take} + * threads in separate wait-sets so that we can use the optimization of + * only notifying a single thread at a time when items or spaces become + * available in the buffer. This can be achieved using two + * {@link Condition} instances. + *

+ * class BoundedBuffer {
+ *   final Lock lock = new ReentrantLock();
+ *   final Condition notFull  = lock.newCondition(); 
+ *   final Condition notEmpty = lock.newCondition(); 
+ *
+ *   final Object[] items = new Object[100];
+ *   int putptr, takeptr, count;
+ *
+ *   public void put(Object x) throws InterruptedException {
+ *     lock.lock();
+ *     try {
+ *       while (count == items.length)
+ *         notFull.await();
+ *       items[putptr] = x;
+ *       if (++putptr == items.length) putptr = 0;
+ *       ++count;
+ *       notEmpty.signal();
+ *     } finally {
+ *       lock.unlock();
+ *     }
+ *   }
+ *
+ *   public Object take() throws InterruptedException {
+ *     lock.lock();
+ *     try {
+ *       while (count == 0)
+ *         notEmpty.await();
+ *       Object x = items[takeptr];
+ *       if (++takeptr == items.length) takeptr = 0;
+ *       --count;
+ *       notFull.signal();
+ *       return x;
+ *     } finally {
+ *       lock.unlock();
+ *     }
+ *   }
+ * }
+ * 
+ * + * (The {@link java.util.concurrent.ArrayBlockingQueue} class provides + * this functionality, so there is no reason to implement this + * sample usage class.) + * + *

A {@code Condition} implementation can provide behavior and semantics + * that is + * different from that of the {@code Object} monitor methods, such as + * guaranteed ordering for notifications, or not requiring a lock to be held + * when performing notifications. + * If an implementation provides such specialized semantics then the + * implementation must document those semantics. + * + *

Note that {@code Condition} instances are just normal objects and can + * themselves be used as the target in a {@code synchronized} statement, + * and can have their own monitor {@link Object#wait wait} and + * {@link Object#notify notification} methods invoked. + * Acquiring the monitor lock of a {@code Condition} instance, or using its + * monitor methods, has no specified relationship with acquiring the + * {@link Lock} associated with that {@code Condition} or the use of its + * {@linkplain #await waiting} and {@linkplain #signal signalling} methods. + * It is recommended that to avoid confusion you never use {@code Condition} + * instances in this way, except perhaps within their own implementation. + * + *

Except where noted, passing a {@code null} value for any parameter + * will result in a {@link NullPointerException} being thrown. + * + *

Implementation Considerations

+ * + *

When waiting upon a {@code Condition}, a "spurious + * wakeup" is permitted to occur, in + * general, as a concession to the underlying platform semantics. + * This has little practical impact on most application programs as a + * {@code Condition} should always be waited upon in a loop, testing + * the state predicate that is being waited for. An implementation is + * free to remove the possibility of spurious wakeups but it is + * recommended that applications programmers always assume that they can + * occur and so always wait in a loop. + * + *

The three forms of condition waiting + * (interruptible, non-interruptible, and timed) may differ in their ease of + * implementation on some platforms and in their performance characteristics. + * In particular, it may be difficult to provide these features and maintain + * specific semantics such as ordering guarantees. + * Further, the ability to interrupt the actual suspension of the thread may + * not always be feasible to implement on all platforms. + * + *

Consequently, an implementation is not required to define exactly the + * same guarantees or semantics for all three forms of waiting, nor is it + * required to support interruption of the actual suspension of the thread. + * + *

An implementation is required to + * clearly document the semantics and guarantees provided by each of the + * waiting methods, and when an implementation does support interruption of + * thread suspension then it must obey the interruption semantics as defined + * in this interface. + * + *

As interruption generally implies cancellation, and checks for + * interruption are often infrequent, an implementation can favor responding + * to an interrupt over normal method return. This is true even if it can be + * shown that the interrupt occurred after another action may have unblocked + * the thread. An implementation should document this behavior. + * + * @since 1.5 + * @author Doug Lea + */ +public interface Condition { + + /** + * Causes the current thread to wait until it is signalled or + * {@linkplain Thread#interrupt interrupted}. + * + *

The lock associated with this {@code Condition} is atomically + * released and the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of four things happens: + *

    + *
  • Some other thread invokes the {@link #signal} method for this + * {@code Condition} and the current thread happens to be chosen as the + * thread to be awakened; or + *
  • Some other thread invokes the {@link #signalAll} method for this + * {@code Condition}; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread, and interruption of thread suspension is supported; or + *
  • A "spurious wakeup" occurs. + *
+ * + *

In all cases, before this method can return the current thread must + * re-acquire the lock associated with this condition. When the + * thread returns it is guaranteed to hold this lock. + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * and interruption of thread suspension is supported, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. It is not specified, in the first + * case, whether or not the test for interruption occurs before the lock + * is released. + * + *

Implementation Considerations + * + *

The current thread is assumed to hold the lock associated with this + * {@code Condition} when this method is called. + * It is up to the implementation to determine if this is + * the case and if not, how to respond. Typically, an exception will be + * thrown (such as {@link IllegalMonitorStateException}) and the + * implementation must document that fact. + * + *

An implementation can favor responding to an interrupt over normal + * method return in response to a signal. In that case the implementation + * must ensure that the signal is redirected to another waiting thread, if + * there is one. + * + * @throws InterruptedException if the current thread is interrupted + * (and interruption of thread suspension is supported) + */ + void await() throws InterruptedException; + + /** + * Causes the current thread to wait until it is signalled. + * + *

The lock associated with this condition is atomically + * released and the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of three things happens: + *

    + *
  • Some other thread invokes the {@link #signal} method for this + * {@code Condition} and the current thread happens to be chosen as the + * thread to be awakened; or + *
  • Some other thread invokes the {@link #signalAll} method for this + * {@code Condition}; or + *
  • A "spurious wakeup" occurs. + *
+ * + *

In all cases, before this method can return the current thread must + * re-acquire the lock associated with this condition. When the + * thread returns it is guaranteed to hold this lock. + * + *

If the current thread's interrupted status is set when it enters + * this method, or it is {@linkplain Thread#interrupt interrupted} + * while waiting, it will continue to wait until signalled. When it finally + * returns from this method its interrupted status will still + * be set. + * + *

Implementation Considerations + * + *

The current thread is assumed to hold the lock associated with this + * {@code Condition} when this method is called. + * It is up to the implementation to determine if this is + * the case and if not, how to respond. Typically, an exception will be + * thrown (such as {@link IllegalMonitorStateException}) and the + * implementation must document that fact. + */ + void awaitUninterruptibly(); + + /** + * Causes the current thread to wait until it is signalled or interrupted, + * or the specified waiting time elapses. + * + *

The lock associated with this condition is atomically + * released and the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of five things happens: + *

    + *
  • Some other thread invokes the {@link #signal} method for this + * {@code Condition} and the current thread happens to be chosen as the + * thread to be awakened; or + *
  • Some other thread invokes the {@link #signalAll} method for this + * {@code Condition}; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread, and interruption of thread suspension is supported; or + *
  • The specified waiting time elapses; or + *
  • A "spurious wakeup" occurs. + *
+ * + *

In all cases, before this method can return the current thread must + * re-acquire the lock associated with this condition. When the + * thread returns it is guaranteed to hold this lock. + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * and interruption of thread suspension is supported, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. It is not specified, in the first + * case, whether or not the test for interruption occurs before the lock + * is released. + * + *

The method returns an estimate of the number of nanoseconds + * remaining to wait given the supplied {@code nanosTimeout} + * value upon return, or a value less than or equal to zero if it + * timed out. This value can be used to determine whether and how + * long to re-wait in cases where the wait returns but an awaited + * condition still does not hold. Typical uses of this method take + * the following form: + * + *

+     * synchronized boolean aMethod(long timeout, TimeUnit unit) {
+     *   long nanosTimeout = unit.toNanos(timeout);
+     *   while (!conditionBeingWaitedFor) {
+     *     if (nanosTimeout > 0)
+     *         nanosTimeout = theCondition.awaitNanos(nanosTimeout);
+     *      else
+     *        return false;
+     *   }
+     *   // ...
+     * }
+     * 
+ * + *

Design note: This method requires a nanosecond argument so + * as to avoid truncation errors in reporting remaining times. + * Such precision loss would make it difficult for programmers to + * ensure that total waiting times are not systematically shorter + * than specified when re-waits occur. + * + *

Implementation Considerations + * + *

The current thread is assumed to hold the lock associated with this + * {@code Condition} when this method is called. + * It is up to the implementation to determine if this is + * the case and if not, how to respond. Typically, an exception will be + * thrown (such as {@link IllegalMonitorStateException}) and the + * implementation must document that fact. + * + *

An implementation can favor responding to an interrupt over normal + * method return in response to a signal, or over indicating the elapse + * of the specified waiting time. In either case the implementation + * must ensure that the signal is redirected to another waiting thread, if + * there is one. + * + * @param nanosTimeout the maximum time to wait, in nanoseconds + * @return an estimate of the {@code nanosTimeout} value minus + * the time spent waiting upon return from this method. + * A positive value may be used as the argument to a + * subsequent call to this method to finish waiting out + * the desired time. A value less than or equal to zero + * indicates that no time remains. + * @throws InterruptedException if the current thread is interrupted + * (and interruption of thread suspension is supported) + */ + long awaitNanos(long nanosTimeout) throws InterruptedException; + + /** + * Causes the current thread to wait until it is signalled or interrupted, + * or the specified waiting time elapses. This method is behaviorally + * equivalent to:
+ *

+     *   awaitNanos(unit.toNanos(time)) > 0
+     * 
+ * @param time the maximum time to wait + * @param unit the time unit of the {@code time} argument + * @return {@code false} if the waiting time detectably elapsed + * before return from the method, else {@code true} + * @throws InterruptedException if the current thread is interrupted + * (and interruption of thread suspension is supported) + */ + boolean await(long time, TimeUnit unit) throws InterruptedException; + + /** + * Causes the current thread to wait until it is signalled or interrupted, + * or the specified deadline elapses. + * + *

The lock associated with this condition is atomically + * released and the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of five things happens: + *

    + *
  • Some other thread invokes the {@link #signal} method for this + * {@code Condition} and the current thread happens to be chosen as the + * thread to be awakened; or + *
  • Some other thread invokes the {@link #signalAll} method for this + * {@code Condition}; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread, and interruption of thread suspension is supported; or + *
  • The specified deadline elapses; or + *
  • A "spurious wakeup" occurs. + *
+ * + *

In all cases, before this method can return the current thread must + * re-acquire the lock associated with this condition. When the + * thread returns it is guaranteed to hold this lock. + * + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while waiting + * and interruption of thread suspension is supported, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. It is not specified, in the first + * case, whether or not the test for interruption occurs before the lock + * is released. + * + * + *

The return value indicates whether the deadline has elapsed, + * which can be used as follows: + *

+     * synchronized boolean aMethod(Date deadline) {
+     *   boolean stillWaiting = true;
+     *   while (!conditionBeingWaitedFor) {
+     *     if (stillWaiting)
+     *         stillWaiting = theCondition.awaitUntil(deadline);
+     *      else
+     *        return false;
+     *   }
+     *   // ...
+     * }
+     * 
+ * + *

Implementation Considerations + * + *

The current thread is assumed to hold the lock associated with this + * {@code Condition} when this method is called. + * It is up to the implementation to determine if this is + * the case and if not, how to respond. Typically, an exception will be + * thrown (such as {@link IllegalMonitorStateException}) and the + * implementation must document that fact. + * + *

An implementation can favor responding to an interrupt over normal + * method return in response to a signal, or over indicating the passing + * of the specified deadline. In either case the implementation + * must ensure that the signal is redirected to another waiting thread, if + * there is one. + * + * @param deadline the absolute time to wait until + * @return {@code false} if the deadline has elapsed upon return, else + * {@code true} + * @throws InterruptedException if the current thread is interrupted + * (and interruption of thread suspension is supported) + */ + boolean awaitUntil(Date deadline) throws InterruptedException; + + /** + * Wakes up one waiting thread. + * + *

If any threads are waiting on this condition then one + * is selected for waking up. That thread must then re-acquire the + * lock before returning from {@code await}. + */ + void signal(); + + /** + * Wakes up all waiting threads. + * + *

If any threads are waiting on this condition then they are + * all woken up. Each thread must re-acquire the lock before it can + * return from {@code await}. + */ + void signalAll(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/Lock.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/Lock.java new file mode 100644 index 00000000000..4b9abd66543 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/Lock.java @@ -0,0 +1,327 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.concurrent.TimeUnit; + +/** + * {@code Lock} implementations provide more extensive locking + * operations than can be obtained using {@code synchronized} methods + * and statements. They allow more flexible structuring, may have + * quite different properties, and may support multiple associated + * {@link Condition} objects. + * + *

A lock is a tool for controlling access to a shared resource by + * multiple threads. Commonly, a lock provides exclusive access to a + * shared resource: only one thread at a time can acquire the lock and + * all access to the shared resource requires that the lock be + * acquired first. However, some locks may allow concurrent access to + * a shared resource, such as the read lock of a {@link ReadWriteLock}. + * + *

The use of {@code synchronized} methods or statements provides + * access to the implicit monitor lock associated with every object, but + * forces all lock acquisition and release to occur in a block-structured way: + * when multiple locks are acquired they must be released in the opposite + * order, and all locks must be released in the same lexical scope in which + * they were acquired. + * + *

While the scoping mechanism for {@code synchronized} methods + * and statements makes it much easier to program with monitor locks, + * and helps avoid many common programming errors involving locks, + * there are occasions where you need to work with locks in a more + * flexible way. For example, some algorithms for traversing + * concurrently accessed data structures require the use of + * "hand-over-hand" or "chain locking": you + * acquire the lock of node A, then node B, then release A and acquire + * C, then release B and acquire D and so on. Implementations of the + * {@code Lock} interface enable the use of such techniques by + * allowing a lock to be acquired and released in different scopes, + * and allowing multiple locks to be acquired and released in any + * order. + * + *

With this increased flexibility comes additional + * responsibility. The absence of block-structured locking removes the + * automatic release of locks that occurs with {@code synchronized} + * methods and statements. In most cases, the following idiom + * should be used: + * + *

     Lock l = ...;
+ *     l.lock();
+ *     try {
+ *         // access the resource protected by this lock
+ *     } finally {
+ *         l.unlock();
+ *     }
+ * 
+ * + * When locking and unlocking occur in different scopes, care must be + * taken to ensure that all code that is executed while the lock is + * held is protected by try-finally or try-catch to ensure that the + * lock is released when necessary. + * + *

{@code Lock} implementations provide additional functionality + * over the use of {@code synchronized} methods and statements by + * providing a non-blocking attempt to acquire a lock ({@link + * #tryLock()}), an attempt to acquire the lock that can be + * interrupted ({@link #lockInterruptibly}, and an attempt to acquire + * the lock that can timeout ({@link #tryLock(long, TimeUnit)}). + * + *

A {@code Lock} class can also provide behavior and semantics + * that is quite different from that of the implicit monitor lock, + * such as guaranteed ordering, non-reentrant usage, or deadlock + * detection. If an implementation provides such specialized semantics + * then the implementation must document those semantics. + * + *

Note that {@code Lock} instances are just normal objects and can + * themselves be used as the target in a {@code synchronized} statement. + * Acquiring the + * monitor lock of a {@code Lock} instance has no specified relationship + * with invoking any of the {@link #lock} methods of that instance. + * It is recommended that to avoid confusion you never use {@code Lock} + * instances in this way, except within their own implementation. + * + *

Except where noted, passing a {@code null} value for any + * parameter will result in a {@link NullPointerException} being + * thrown. + * + *

Memory Synchronization

+ * + *

All {@code Lock} implementations must enforce the same + * memory synchronization semantics as provided by the built-in monitor + * lock, as described in + * The Java Language Specification, Third Edition (17.4 Memory Model): + *

    + *
  • A successful {@code lock} operation has the same memory + * synchronization effects as a successful Lock action. + *
  • A successful {@code unlock} operation has the same + * memory synchronization effects as a successful Unlock action. + *
+ * + * Unsuccessful locking and unlocking operations, and reentrant + * locking/unlocking operations, do not require any memory + * synchronization effects. + * + *

Implementation Considerations

+ * + *

The three forms of lock acquisition (interruptible, + * non-interruptible, and timed) may differ in their performance + * characteristics, ordering guarantees, or other implementation + * qualities. Further, the ability to interrupt the ongoing + * acquisition of a lock may not be available in a given {@code Lock} + * class. Consequently, an implementation is not required to define + * exactly the same guarantees or semantics for all three forms of + * lock acquisition, nor is it required to support interruption of an + * ongoing lock acquisition. An implementation is required to clearly + * document the semantics and guarantees provided by each of the + * locking methods. It must also obey the interruption semantics as + * defined in this interface, to the extent that interruption of lock + * acquisition is supported: which is either totally, or only on + * method entry. + * + *

As interruption generally implies cancellation, and checks for + * interruption are often infrequent, an implementation can favor responding + * to an interrupt over normal method return. This is true even if it can be + * shown that the interrupt occurred after another action may have unblocked + * the thread. An implementation should document this behavior. + * + * @see ReentrantLock + * @see Condition + * @see ReadWriteLock + * + * @since 1.5 + * @author Doug Lea + */ +public interface Lock { + + /** + * Acquires the lock. + * + *

If the lock is not available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until the + * lock has been acquired. + * + *

Implementation Considerations + * + *

A {@code Lock} implementation may be able to detect erroneous use + * of the lock, such as an invocation that would cause deadlock, and + * may throw an (unchecked) exception in such circumstances. The + * circumstances and the exception type must be documented by that + * {@code Lock} implementation. + */ + void lock(); + + /** + * Acquires the lock unless the current thread is + * {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the lock if it is available and returns immediately. + * + *

If the lock is not available then the current thread becomes + * disabled for thread scheduling purposes and lies dormant until + * one of two things happens: + * + *

    + *
  • The lock is acquired by the current thread; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread, and interruption of lock acquisition is supported. + *
+ * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while acquiring the + * lock, and interruption of lock acquisition is supported, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

Implementation Considerations + * + *

The ability to interrupt a lock acquisition in some + * implementations may not be possible, and if possible may be an + * expensive operation. The programmer should be aware that this + * may be the case. An implementation should document when this is + * the case. + * + *

An implementation can favor responding to an interrupt over + * normal method return. + * + *

A {@code Lock} implementation may be able to detect + * erroneous use of the lock, such as an invocation that would + * cause deadlock, and may throw an (unchecked) exception in such + * circumstances. The circumstances and the exception type must + * be documented by that {@code Lock} implementation. + * + * @throws InterruptedException if the current thread is + * interrupted while acquiring the lock (and interruption + * of lock acquisition is supported). + */ + void lockInterruptibly() throws InterruptedException; + + /** + * Acquires the lock only if it is free at the time of invocation. + * + *

Acquires the lock if it is available and returns immediately + * with the value {@code true}. + * If the lock is not available then this method will return + * immediately with the value {@code false}. + * + *

A typical usage idiom for this method would be: + *

+     *      Lock lock = ...;
+     *      if (lock.tryLock()) {
+     *          try {
+     *              // manipulate protected state
+     *          } finally {
+     *              lock.unlock();
+     *          }
+     *      } else {
+     *          // perform alternative actions
+     *      }
+     * 
+ * This usage ensures that the lock is unlocked if it was acquired, and + * doesn't try to unlock if the lock was not acquired. + * + * @return {@code true} if the lock was acquired and + * {@code false} otherwise + */ + boolean tryLock(); + + /** + * Acquires the lock if it is free within the given waiting time and the + * current thread has not been {@linkplain Thread#interrupt interrupted}. + * + *

If the lock is available this method returns immediately + * with the value {@code true}. + * If the lock is not available then + * the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of three things happens: + *

    + *
  • The lock is acquired by the current thread; or + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread, and interruption of lock acquisition is supported; or + *
  • The specified waiting time elapses + *
+ * + *

If the lock is acquired then the value {@code true} is returned. + * + *

If the current thread: + *

    + *
  • has its interrupted status set on entry to this method; or + *
  • is {@linkplain Thread#interrupt interrupted} while acquiring + * the lock, and interruption of lock acquisition is supported, + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the specified waiting time elapses then the value {@code false} + * is returned. + * If the time is + * less than or equal to zero, the method will not wait at all. + * + *

Implementation Considerations + * + *

The ability to interrupt a lock acquisition in some implementations + * may not be possible, and if possible may + * be an expensive operation. + * The programmer should be aware that this may be the case. An + * implementation should document when this is the case. + * + *

An implementation can favor responding to an interrupt over normal + * method return, or reporting a timeout. + * + *

A {@code Lock} implementation may be able to detect + * erroneous use of the lock, such as an invocation that would cause + * deadlock, and may throw an (unchecked) exception in such circumstances. + * The circumstances and the exception type must be documented by that + * {@code Lock} implementation. + * + * @param time the maximum time to wait for the lock + * @param unit the time unit of the {@code time} argument + * @return {@code true} if the lock was acquired and {@code false} + * if the waiting time elapsed before the lock was acquired + * + * @throws InterruptedException if the current thread is interrupted + * while acquiring the lock (and interruption of lock + * acquisition is supported) + */ + boolean tryLock(long time, TimeUnit unit) throws InterruptedException; + + /** + * Releases the lock. + * + *

Implementation Considerations + * + *

A {@code Lock} implementation will usually impose + * restrictions on which thread can release a lock (typically only the + * holder of the lock can release it) and may throw + * an (unchecked) exception if the restriction is violated. + * Any restrictions and the exception + * type must be documented by that {@code Lock} implementation. + */ + void unlock(); + + /** + * Returns a new {@link Condition} instance that is bound to this + * {@code Lock} instance. + * + *

Before waiting on the condition the lock must be held by the + * current thread. + * A call to {@link Condition#await()} will atomically release the lock + * before waiting and re-acquire the lock before the wait returns. + * + *

Implementation Considerations + * + *

The exact operation of the {@link Condition} instance depends on + * the {@code Lock} implementation and must be documented by that + * implementation. + * + * @return A new {@link Condition} instance for this {@code Lock} instance + * @throws UnsupportedOperationException if this {@code Lock} + * implementation does not support conditions + */ + Condition newCondition(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/LockSupport.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/LockSupport.java new file mode 100644 index 00000000000..28728ae2bba --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/LockSupport.java @@ -0,0 +1,352 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.concurrent.*; +import sun.misc.Unsafe; + + +/** + * Basic thread blocking primitives for creating locks and other + * synchronization classes. + * + *

This class associates, with each thread that uses it, a permit + * (in the sense of the {@link java.util.concurrent.Semaphore + * Semaphore} class). A call to {@code park} will return immediately + * if the permit is available, consuming it in the process; otherwise + * it may block. A call to {@code unpark} makes the permit + * available, if it was not already available. (Unlike with Semaphores + * though, permits do not accumulate. There is at most one.) + * + *

Methods {@code park} and {@code unpark} provide efficient + * means of blocking and unblocking threads that do not encounter the + * problems that cause the deprecated methods {@code Thread.suspend} + * and {@code Thread.resume} to be unusable for such purposes: Races + * between one thread invoking {@code park} and another thread trying + * to {@code unpark} it will preserve liveness, due to the + * permit. Additionally, {@code park} will return if the caller's + * thread was interrupted, and timeout versions are supported. The + * {@code park} method may also return at any other time, for "no + * reason", so in general must be invoked within a loop that rechecks + * conditions upon return. In this sense {@code park} serves as an + * optimization of a "busy wait" that does not waste as much time + * spinning, but must be paired with an {@code unpark} to be + * effective. + * + *

The three forms of {@code park} each also support a + * {@code blocker} object parameter. This object is recorded while + * the thread is blocked to permit monitoring and diagnostic tools to + * identify the reasons that threads are blocked. (Such tools may + * access blockers using method {@link #getBlocker}.) The use of these + * forms rather than the original forms without this parameter is + * strongly encouraged. The normal argument to supply as a + * {@code blocker} within a lock implementation is {@code this}. + * + *

These methods are designed to be used as tools for creating + * higher-level synchronization utilities, and are not in themselves + * useful for most concurrency control applications. The {@code park} + * method is designed for use only in constructions of the form: + *

while (!canProceed()) { ... LockSupport.park(this); }
+ * where neither {@code canProceed} nor any other actions prior to the + * call to {@code park} entail locking or blocking. Because only one + * permit is associated with each thread, any intermediary uses of + * {@code park} could interfere with its intended effects. + * + *

Sample Usage. Here is a sketch of a first-in-first-out + * non-reentrant lock class: + *

{@code
+ * class FIFOMutex {
+ *   private final AtomicBoolean locked = new AtomicBoolean(false);
+ *   private final Queue waiters
+ *     = new ConcurrentLinkedQueue();
+ *
+ *   public void lock() {
+ *     boolean wasInterrupted = false;
+ *     Thread current = Thread.currentThread();
+ *     waiters.add(current);
+ *
+ *     // Block while not first in queue or cannot acquire lock
+ *     while (waiters.peek() != current ||
+ *            !locked.compareAndSet(false, true)) {
+ *        LockSupport.park(this);
+ *        if (Thread.interrupted()) // ignore interrupts while waiting
+ *          wasInterrupted = true;
+ *     }
+ *
+ *     waiters.remove();
+ *     if (wasInterrupted)          // reassert interrupt status on exit
+ *        current.interrupt();
+ *   }
+ *
+ *   public void unlock() {
+ *     locked.set(false);
+ *     LockSupport.unpark(waiters.peek());
+ *   }
+ * }}
+ */ + +public class LockSupport { + private LockSupport() {} // Cannot be instantiated. + + // Hotspot implementation via intrinsics API + private static final Unsafe unsafe = Unsafe.getUnsafe(); + private static final long parkBlockerOffset; + + static { + try { + parkBlockerOffset = unsafe.objectFieldOffset + (java.lang.Thread.class.getDeclaredField("parkBlocker")); + } catch (Exception ex) { throw new Error(ex); } + } + + private static void setBlocker(Thread t, Object arg) { + // Even though volatile, hotspot doesn't need a write barrier here. + unsafe.putObject(t, parkBlockerOffset, arg); + } + + /** + * Makes available the permit for the given thread, if it + * was not already available. If the thread was blocked on + * {@code park} then it will unblock. Otherwise, its next call + * to {@code park} is guaranteed not to block. This operation + * is not guaranteed to have any effect at all if the given + * thread has not been started. + * + * @param thread the thread to unpark, or {@code null}, in which case + * this operation has no effect + */ + public static void unpark(Thread thread) { + if (thread != null) + unsafe.unpark(thread); + } + + /** + * Disables the current thread for thread scheduling purposes unless the + * permit is available. + * + *

If the permit is available then it is consumed and the call returns + * immediately; otherwise + * the current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of three things happens: + * + *

    + *
  • Some other thread invokes {@link #unpark unpark} with the + * current thread as the target; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The call spuriously (that is, for no reason) returns. + *
+ * + *

This method does not report which of these caused the + * method to return. Callers should re-check the conditions which caused + * the thread to park in the first place. Callers may also determine, + * for example, the interrupt status of the thread upon return. + * + * @param blocker the synchronization object responsible for this + * thread parking + * @since 1.6 + */ + public static void park(Object blocker) { + Thread t = Thread.currentThread(); + setBlocker(t, blocker); + unsafe.park(false, 0L); + setBlocker(t, null); + } + + /** + * Disables the current thread for thread scheduling purposes, for up to + * the specified waiting time, unless the permit is available. + * + *

If the permit is available then it is consumed and the call + * returns immediately; otherwise the current thread becomes disabled + * for thread scheduling purposes and lies dormant until one of four + * things happens: + * + *

    + *
  • Some other thread invokes {@link #unpark unpark} with the + * current thread as the target; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the current + * thread; or + * + *
  • The specified waiting time elapses; or + * + *
  • The call spuriously (that is, for no reason) returns. + *
+ * + *

This method does not report which of these caused the + * method to return. Callers should re-check the conditions which caused + * the thread to park in the first place. Callers may also determine, + * for example, the interrupt status of the thread, or the elapsed time + * upon return. + * + * @param blocker the synchronization object responsible for this + * thread parking + * @param nanos the maximum number of nanoseconds to wait + * @since 1.6 + */ + public static void parkNanos(Object blocker, long nanos) { + if (nanos > 0) { + Thread t = Thread.currentThread(); + setBlocker(t, blocker); + unsafe.park(false, nanos); + setBlocker(t, null); + } + } + + /** + * Disables the current thread for thread scheduling purposes, until + * the specified deadline, unless the permit is available. + * + *

If the permit is available then it is consumed and the call + * returns immediately; otherwise the current thread becomes disabled + * for thread scheduling purposes and lies dormant until one of four + * things happens: + * + *

    + *
  • Some other thread invokes {@link #unpark unpark} with the + * current thread as the target; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread; or + * + *
  • The specified deadline passes; or + * + *
  • The call spuriously (that is, for no reason) returns. + *
+ * + *

This method does not report which of these caused the + * method to return. Callers should re-check the conditions which caused + * the thread to park in the first place. Callers may also determine, + * for example, the interrupt status of the thread, or the current time + * upon return. + * + * @param blocker the synchronization object responsible for this + * thread parking + * @param deadline the absolute time, in milliseconds from the Epoch, + * to wait until + * @since 1.6 + */ + public static void parkUntil(Object blocker, long deadline) { + Thread t = Thread.currentThread(); + setBlocker(t, blocker); + unsafe.park(true, deadline); + setBlocker(t, null); + } + + /** + * Returns the blocker object supplied to the most recent + * invocation of a park method that has not yet unblocked, or null + * if not blocked. The value returned is just a momentary + * snapshot -- the thread may have since unblocked or blocked on a + * different blocker object. + * + * @return the blocker + * @since 1.6 + */ + public static Object getBlocker(Thread t) { + return unsafe.getObjectVolatile(t, parkBlockerOffset); + } + + /** + * Disables the current thread for thread scheduling purposes unless the + * permit is available. + * + *

If the permit is available then it is consumed and the call + * returns immediately; otherwise the current thread becomes disabled + * for thread scheduling purposes and lies dormant until one of three + * things happens: + * + *

    + * + *
  • Some other thread invokes {@link #unpark unpark} with the + * current thread as the target; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The call spuriously (that is, for no reason) returns. + *
+ * + *

This method does not report which of these caused the + * method to return. Callers should re-check the conditions which caused + * the thread to park in the first place. Callers may also determine, + * for example, the interrupt status of the thread upon return. + */ + public static void park() { + unsafe.park(false, 0L); + } + + /** + * Disables the current thread for thread scheduling purposes, for up to + * the specified waiting time, unless the permit is available. + * + *

If the permit is available then it is consumed and the call + * returns immediately; otherwise the current thread becomes disabled + * for thread scheduling purposes and lies dormant until one of four + * things happens: + * + *

    + *
  • Some other thread invokes {@link #unpark unpark} with the + * current thread as the target; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The specified waiting time elapses; or + * + *
  • The call spuriously (that is, for no reason) returns. + *
+ * + *

This method does not report which of these caused the + * method to return. Callers should re-check the conditions which caused + * the thread to park in the first place. Callers may also determine, + * for example, the interrupt status of the thread, or the elapsed time + * upon return. + * + * @param nanos the maximum number of nanoseconds to wait + */ + public static void parkNanos(long nanos) { + if (nanos > 0) + unsafe.park(false, nanos); + } + + /** + * Disables the current thread for thread scheduling purposes, until + * the specified deadline, unless the permit is available. + * + *

If the permit is available then it is consumed and the call + * returns immediately; otherwise the current thread becomes disabled + * for thread scheduling purposes and lies dormant until one of four + * things happens: + * + *

    + *
  • Some other thread invokes {@link #unpark unpark} with the + * current thread as the target; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The specified deadline passes; or + * + *
  • The call spuriously (that is, for no reason) returns. + *
+ * + *

This method does not report which of these caused the + * method to return. Callers should re-check the conditions which caused + * the thread to park in the first place. Callers may also determine, + * for example, the interrupt status of the thread, or the current time + * upon return. + * + * @param deadline the absolute time, in milliseconds from the Epoch, + * to wait until + */ + public static void parkUntil(long deadline) { + unsafe.park(true, deadline); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReadWriteLock.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReadWriteLock.java new file mode 100644 index 00000000000..484f68d1502 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReadWriteLock.java @@ -0,0 +1,104 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; + +/** + * A ReadWriteLock maintains a pair of associated {@link + * Lock locks}, one for read-only operations and one for writing. + * The {@link #readLock read lock} may be held simultaneously by + * multiple reader threads, so long as there are no writers. The + * {@link #writeLock write lock} is exclusive. + * + *

All ReadWriteLock implementations must guarantee that + * the memory synchronization effects of writeLock operations + * (as specified in the {@link Lock} interface) also hold with respect + * to the associated readLock. That is, a thread successfully + * acquiring the read lock will see all updates made upon previous + * release of the write lock. + * + *

A read-write lock allows for a greater level of concurrency in + * accessing shared data than that permitted by a mutual exclusion lock. + * It exploits the fact that while only a single thread at a time (a + * writer thread) can modify the shared data, in many cases any + * number of threads can concurrently read the data (hence reader + * threads). + * In theory, the increase in concurrency permitted by the use of a read-write + * lock will lead to performance improvements over the use of a mutual + * exclusion lock. In practice this increase in concurrency will only be fully + * realized on a multi-processor, and then only if the access patterns for + * the shared data are suitable. + * + *

Whether or not a read-write lock will improve performance over the use + * of a mutual exclusion lock depends on the frequency that the data is + * read compared to being modified, the duration of the read and write + * operations, and the contention for the data - that is, the number of + * threads that will try to read or write the data at the same time. + * For example, a collection that is initially populated with data and + * thereafter infrequently modified, while being frequently searched + * (such as a directory of some kind) is an ideal candidate for the use of + * a read-write lock. However, if updates become frequent then the data + * spends most of its time being exclusively locked and there is little, if any + * increase in concurrency. Further, if the read operations are too short + * the overhead of the read-write lock implementation (which is inherently + * more complex than a mutual exclusion lock) can dominate the execution + * cost, particularly as many read-write lock implementations still serialize + * all threads through a small section of code. Ultimately, only profiling + * and measurement will establish whether the use of a read-write lock is + * suitable for your application. + * + * + *

Although the basic operation of a read-write lock is straight-forward, + * there are many policy decisions that an implementation must make, which + * may affect the effectiveness of the read-write lock in a given application. + * Examples of these policies include: + *

    + *
  • Determining whether to grant the read lock or the write lock, when + * both readers and writers are waiting, at the time that a writer releases + * the write lock. Writer preference is common, as writes are expected to be + * short and infrequent. Reader preference is less common as it can lead to + * lengthy delays for a write if the readers are frequent and long-lived as + * expected. Fair, or "in-order" implementations are also possible. + * + *
  • Determining whether readers that request the read lock while a + * reader is active and a writer is waiting, are granted the read lock. + * Preference to the reader can delay the writer indefinitely, while + * preference to the writer can reduce the potential for concurrency. + * + *
  • Determining whether the locks are reentrant: can a thread with the + * write lock reacquire it? Can it acquire a read lock while holding the + * write lock? Is the read lock itself reentrant? + * + *
  • Can the write lock be downgraded to a read lock without allowing + * an intervening writer? Can a read lock be upgraded to a write lock, + * in preference to other waiting readers or writers? + * + *
+ * You should consider all of these things when evaluating the suitability + * of a given implementation for your application. + * + * @see ReentrantReadWriteLock + * @see Lock + * @see ReentrantLock + * + * @since 1.5 + * @author Doug Lea + */ +public interface ReadWriteLock { + /** + * Returns the lock used for reading. + * + * @return the lock used for reading. + */ + Lock readLock(); + + /** + * Returns the lock used for writing. + * + * @return the lock used for writing. + */ + Lock writeLock(); +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantLock.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantLock.java new file mode 100644 index 00000000000..4a2fc175c17 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantLock.java @@ -0,0 +1,740 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.*; +import java.util.concurrent.*; +import java.util.concurrent.atomic.*; + +/** + * A reentrant mutual exclusion {@link Lock} with the same basic + * behavior and semantics as the implicit monitor lock accessed using + * {@code synchronized} methods and statements, but with extended + * capabilities. + * + *

A {@code ReentrantLock} is owned by the thread last + * successfully locking, but not yet unlocking it. A thread invoking + * {@code lock} will return, successfully acquiring the lock, when + * the lock is not owned by another thread. The method will return + * immediately if the current thread already owns the lock. This can + * be checked using methods {@link #isHeldByCurrentThread}, and {@link + * #getHoldCount}. + * + *

The constructor for this class accepts an optional + * fairness parameter. When set {@code true}, under + * contention, locks favor granting access to the longest-waiting + * thread. Otherwise this lock does not guarantee any particular + * access order. Programs using fair locks accessed by many threads + * may display lower overall throughput (i.e., are slower; often much + * slower) than those using the default setting, but have smaller + * variances in times to obtain locks and guarantee lack of + * starvation. Note however, that fairness of locks does not guarantee + * fairness of thread scheduling. Thus, one of many threads using a + * fair lock may obtain it multiple times in succession while other + * active threads are not progressing and not currently holding the + * lock. + * Also note that the untimed {@link #tryLock() tryLock} method does not + * honor the fairness setting. It will succeed if the lock + * is available even if other threads are waiting. + * + *

It is recommended practice to always immediately + * follow a call to {@code lock} with a {@code try} block, most + * typically in a before/after construction such as: + * + *

+ * class X {
+ *   private final ReentrantLock lock = new ReentrantLock();
+ *   // ...
+ *
+ *   public void m() {
+ *     lock.lock();  // block until condition holds
+ *     try {
+ *       // ... method body
+ *     } finally {
+ *       lock.unlock()
+ *     }
+ *   }
+ * }
+ * 
+ * + *

In addition to implementing the {@link Lock} interface, this + * class defines methods {@code isLocked} and + * {@code getLockQueueLength}, as well as some associated + * {@code protected} access methods that may be useful for + * instrumentation and monitoring. + * + *

Serialization of this class behaves in the same way as built-in + * locks: a deserialized lock is in the unlocked state, regardless of + * its state when serialized. + * + *

This lock supports a maximum of 2147483647 recursive locks by + * the same thread. Attempts to exceed this limit result in + * {@link Error} throws from locking methods. + * + * @since 1.5 + * @author Doug Lea + */ +public class ReentrantLock implements Lock, java.io.Serializable { + private static final long serialVersionUID = 7373984872572414699L; + /** Synchronizer providing all implementation mechanics */ + private final Sync sync; + + /** + * Base of synchronization control for this lock. Subclassed + * into fair and nonfair versions below. Uses AQS state to + * represent the number of holds on the lock. + */ + static abstract class Sync extends AbstractQueuedSynchronizer { + private static final long serialVersionUID = -5179523762034025860L; + + /** + * Performs {@link Lock#lock}. The main reason for subclassing + * is to allow fast path for nonfair version. + */ + abstract void lock(); + + /** + * Performs non-fair tryLock. tryAcquire is + * implemented in subclasses, but both need nonfair + * try for trylock method. + */ + final boolean nonfairTryAcquire(int acquires) { + final Thread current = Thread.currentThread(); + int c = getState(); + if (c == 0) { + if (compareAndSetState(0, acquires)) { + setExclusiveOwnerThread(current); + return true; + } + } + else if (current == getExclusiveOwnerThread()) { + int nextc = c + acquires; + if (nextc < 0) // overflow + throw new Error("Maximum lock count exceeded"); + setState(nextc); + return true; + } + return false; + } + + protected final boolean tryRelease(int releases) { + int c = getState() - releases; + if (Thread.currentThread() != getExclusiveOwnerThread()) + throw new IllegalMonitorStateException(); + boolean free = false; + if (c == 0) { + free = true; + setExclusiveOwnerThread(null); + } + setState(c); + return free; + } + + protected final boolean isHeldExclusively() { + // While we must in general read state before owner, + // we don't need to do so to check if current thread is owner + return getExclusiveOwnerThread() == Thread.currentThread(); + } + + final ConditionObject newCondition() { + return new ConditionObject(); + } + + // Methods relayed from outer class + + final Thread getOwner() { + return getState() == 0 ? null : getExclusiveOwnerThread(); + } + + final int getHoldCount() { + return isHeldExclusively() ? getState() : 0; + } + + final boolean isLocked() { + return getState() != 0; + } + + /** + * Reconstitutes this lock instance from a stream. + * @param s the stream + */ + private void readObject(java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + s.defaultReadObject(); + setState(0); // reset to unlocked state + } + } + + /** + * Sync object for non-fair locks + */ + final static class NonfairSync extends Sync { + private static final long serialVersionUID = 7316153563782823691L; + + /** + * Performs lock. Try immediate barge, backing up to normal + * acquire on failure. + */ + final void lock() { + if (compareAndSetState(0, 1)) + setExclusiveOwnerThread(Thread.currentThread()); + else + acquire(1); + } + + protected final boolean tryAcquire(int acquires) { + return nonfairTryAcquire(acquires); + } + } + + /** + * Sync object for fair locks + */ + final static class FairSync extends Sync { + private static final long serialVersionUID = -3000897897090466540L; + + final void lock() { + acquire(1); + } + + /** + * Fair version of tryAcquire. Don't grant access unless + * recursive call or no waiters or is first. + */ + protected final boolean tryAcquire(int acquires) { + final Thread current = Thread.currentThread(); + int c = getState(); + if (c == 0) { + if (isFirst(current) && + compareAndSetState(0, acquires)) { + setExclusiveOwnerThread(current); + return true; + } + } + else if (current == getExclusiveOwnerThread()) { + int nextc = c + acquires; + if (nextc < 0) + throw new Error("Maximum lock count exceeded"); + setState(nextc); + return true; + } + return false; + } + } + + /** + * Creates an instance of {@code ReentrantLock}. + * This is equivalent to using {@code ReentrantLock(false)}. + */ + public ReentrantLock() { + sync = new NonfairSync(); + } + + /** + * Creates an instance of {@code ReentrantLock} with the + * given fairness policy. + * + * @param fair {@code true} if this lock should use a fair ordering policy + */ + public ReentrantLock(boolean fair) { + sync = (fair)? new FairSync() : new NonfairSync(); + } + + /** + * Acquires the lock. + * + *

Acquires the lock if it is not held by another thread and returns + * immediately, setting the lock hold count to one. + * + *

If the current thread already holds the lock then the hold + * count is incremented by one and the method returns immediately. + * + *

If the lock is held by another thread then the + * current thread becomes disabled for thread scheduling + * purposes and lies dormant until the lock has been acquired, + * at which time the lock hold count is set to one. + */ + public void lock() { + sync.lock(); + } + + /** + * Acquires the lock unless the current thread is + * {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the lock if it is not held by another thread and returns + * immediately, setting the lock hold count to one. + * + *

If the current thread already holds this lock then the hold count + * is incremented by one and the method returns immediately. + * + *

If the lock is held by another thread then the + * current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of two things happens: + * + *

    + * + *
  • The lock is acquired by the current thread; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} the + * current thread. + * + *
+ * + *

If the lock is acquired by the current thread then the lock hold + * count is set to one. + * + *

If the current thread: + * + *

    + * + *
  • has its interrupted status set on entry to this method; or + * + *
  • is {@linkplain Thread#interrupt interrupted} while acquiring + * the lock, + * + *
+ * + * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

In this implementation, as this method is an explicit + * interruption point, preference is given to responding to the + * interrupt over normal or reentrant acquisition of the lock. + * + * @throws InterruptedException if the current thread is interrupted + */ + public void lockInterruptibly() throws InterruptedException { + sync.acquireInterruptibly(1); + } + + /** + * Acquires the lock only if it is not held by another thread at the time + * of invocation. + * + *

Acquires the lock if it is not held by another thread and + * returns immediately with the value {@code true}, setting the + * lock hold count to one. Even when this lock has been set to use a + * fair ordering policy, a call to {@code tryLock()} will + * immediately acquire the lock if it is available, whether or not + * other threads are currently waiting for the lock. + * This "barging" behavior can be useful in certain + * circumstances, even though it breaks fairness. If you want to honor + * the fairness setting for this lock, then use + * {@link #tryLock(long, TimeUnit) tryLock(0, TimeUnit.SECONDS) } + * which is almost equivalent (it also detects interruption). + * + *

If the current thread already holds this lock then the hold + * count is incremented by one and the method returns {@code true}. + * + *

If the lock is held by another thread then this method will return + * immediately with the value {@code false}. + * + * @return {@code true} if the lock was free and was acquired by the + * current thread, or the lock was already held by the current + * thread; and {@code false} otherwise + */ + public boolean tryLock() { + return sync.nonfairTryAcquire(1); + } + + /** + * Acquires the lock if it is not held by another thread within the given + * waiting time and the current thread has not been + * {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the lock if it is not held by another thread and returns + * immediately with the value {@code true}, setting the lock hold count + * to one. If this lock has been set to use a fair ordering policy then + * an available lock will not be acquired if any other threads + * are waiting for the lock. This is in contrast to the {@link #tryLock()} + * method. If you want a timed {@code tryLock} that does permit barging on + * a fair lock then combine the timed and un-timed forms together: + * + *

if (lock.tryLock() || lock.tryLock(timeout, unit) ) { ... }
+     * 
+ * + *

If the current thread + * already holds this lock then the hold count is incremented by one and + * the method returns {@code true}. + * + *

If the lock is held by another thread then the + * current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of three things happens: + * + *

    + * + *
  • The lock is acquired by the current thread; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The specified waiting time elapses + * + *
+ * + *

If the lock is acquired then the value {@code true} is returned and + * the lock hold count is set to one. + * + *

If the current thread: + * + *

    + * + *
  • has its interrupted status set on entry to this method; or + * + *
  • is {@linkplain Thread#interrupt interrupted} while + * acquiring the lock, + * + *
+ * then {@link InterruptedException} is thrown and the current thread's + * interrupted status is cleared. + * + *

If the specified waiting time elapses then the value {@code false} + * is returned. If the time is less than or equal to zero, the method + * will not wait at all. + * + *

In this implementation, as this method is an explicit + * interruption point, preference is given to responding to the + * interrupt over normal or reentrant acquisition of the lock, and + * over reporting the elapse of the waiting time. + * + * @param timeout the time to wait for the lock + * @param unit the time unit of the timeout argument + * @return {@code true} if the lock was free and was acquired by the + * current thread, or the lock was already held by the current + * thread; and {@code false} if the waiting time elapsed before + * the lock could be acquired + * @throws InterruptedException if the current thread is interrupted + * @throws NullPointerException if the time unit is null + * + */ + public boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException { + return sync.tryAcquireNanos(1, unit.toNanos(timeout)); + } + + /** + * Attempts to release this lock. + * + *

If the current thread is the holder of this lock then the hold + * count is decremented. If the hold count is now zero then the lock + * is released. If the current thread is not the holder of this + * lock then {@link IllegalMonitorStateException} is thrown. + * + * @throws IllegalMonitorStateException if the current thread does not + * hold this lock + */ + public void unlock() { + sync.release(1); + } + + /** + * Returns a {@link Condition} instance for use with this + * {@link Lock} instance. + * + *

The returned {@link Condition} instance supports the same + * usages as do the {@link Object} monitor methods ({@link + * Object#wait() wait}, {@link Object#notify notify}, and {@link + * Object#notifyAll notifyAll}) when used with the built-in + * monitor lock. + * + *

    + * + *
  • If this lock is not held when any of the {@link Condition} + * {@linkplain Condition#await() waiting} or {@linkplain + * Condition#signal signalling} methods are called, then an {@link + * IllegalMonitorStateException} is thrown. + * + *
  • When the condition {@linkplain Condition#await() waiting} + * methods are called the lock is released and, before they + * return, the lock is reacquired and the lock hold count restored + * to what it was when the method was called. + * + *
  • If a thread is {@linkplain Thread#interrupt interrupted} + * while waiting then the wait will terminate, an {@link + * InterruptedException} will be thrown, and the thread's + * interrupted status will be cleared. + * + *
  • Waiting threads are signalled in FIFO order. + * + *
  • The ordering of lock reacquisition for threads returning + * from waiting methods is the same as for threads initially + * acquiring the lock, which is in the default case not specified, + * but for fair locks favors those threads that have been + * waiting the longest. + * + *
+ * + * @return the Condition object + */ + public Condition newCondition() { + return sync.newCondition(); + } + + /** + * Queries the number of holds on this lock by the current thread. + * + *

A thread has a hold on a lock for each lock action that is not + * matched by an unlock action. + * + *

The hold count information is typically only used for testing and + * debugging purposes. For example, if a certain section of code should + * not be entered with the lock already held then we can assert that + * fact: + * + *

+     * class X {
+     *   ReentrantLock lock = new ReentrantLock();
+     *   // ...
+     *   public void m() {
+     *     assert lock.getHoldCount() == 0;
+     *     lock.lock();
+     *     try {
+     *       // ... method body
+     *     } finally {
+     *       lock.unlock();
+     *     }
+     *   }
+     * }
+     * 
+ * + * @return the number of holds on this lock by the current thread, + * or zero if this lock is not held by the current thread + */ + public int getHoldCount() { + return sync.getHoldCount(); + } + + /** + * Queries if this lock is held by the current thread. + * + *

Analogous to the {@link Thread#holdsLock} method for built-in + * monitor locks, this method is typically used for debugging and + * testing. For example, a method that should only be called while + * a lock is held can assert that this is the case: + * + *

+     * class X {
+     *   ReentrantLock lock = new ReentrantLock();
+     *   // ...
+     *
+     *   public void m() {
+     *       assert lock.isHeldByCurrentThread();
+     *       // ... method body
+     *   }
+     * }
+     * 
+ * + *

It can also be used to ensure that a reentrant lock is used + * in a non-reentrant manner, for example: + * + *

+     * class X {
+     *   ReentrantLock lock = new ReentrantLock();
+     *   // ...
+     *
+     *   public void m() {
+     *       assert !lock.isHeldByCurrentThread();
+     *       lock.lock();
+     *       try {
+     *           // ... method body
+     *       } finally {
+     *           lock.unlock();
+     *       }
+     *   }
+     * }
+     * 
+ * + * @return {@code true} if current thread holds this lock and + * {@code false} otherwise + */ + public boolean isHeldByCurrentThread() { + return sync.isHeldExclusively(); + } + + /** + * Queries if this lock is held by any thread. This method is + * designed for use in monitoring of the system state, + * not for synchronization control. + * + * @return {@code true} if any thread holds this lock and + * {@code false} otherwise + */ + public boolean isLocked() { + return sync.isLocked(); + } + + /** + * Returns {@code true} if this lock has fairness set true. + * + * @return {@code true} if this lock has fairness set true + */ + public final boolean isFair() { + return sync instanceof FairSync; + } + + /** + * Returns the thread that currently owns this lock, or + * {@code null} if not owned. When this method is called by a + * thread that is not the owner, the return value reflects a + * best-effort approximation of current lock status. For example, + * the owner may be momentarily {@code null} even if there are + * threads trying to acquire the lock but have not yet done so. + * This method is designed to facilitate construction of + * subclasses that provide more extensive lock monitoring + * facilities. + * + * @return the owner, or {@code null} if not owned + */ + protected Thread getOwner() { + return sync.getOwner(); + } + + /** + * Queries whether any threads are waiting to acquire this lock. Note that + * because cancellations may occur at any time, a {@code true} + * return does not guarantee that any other thread will ever + * acquire this lock. This method is designed primarily for use in + * monitoring of the system state. + * + * @return {@code true} if there may be other threads waiting to + * acquire the lock + */ + public final boolean hasQueuedThreads() { + return sync.hasQueuedThreads(); + } + + + /** + * Queries whether the given thread is waiting to acquire this + * lock. Note that because cancellations may occur at any time, a + * {@code true} return does not guarantee that this thread + * will ever acquire this lock. This method is designed primarily for use + * in monitoring of the system state. + * + * @param thread the thread + * @return {@code true} if the given thread is queued waiting for this lock + * @throws NullPointerException if the thread is null + */ + public final boolean hasQueuedThread(Thread thread) { + return sync.isQueued(thread); + } + + + /** + * Returns an estimate of the number of threads waiting to + * acquire this lock. The value is only an estimate because the number of + * threads may change dynamically while this method traverses + * internal data structures. This method is designed for use in + * monitoring of the system state, not for synchronization + * control. + * + * @return the estimated number of threads waiting for this lock + */ + public final int getQueueLength() { + return sync.getQueueLength(); + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire this lock. Because the actual set of threads may change + * dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. This method is + * designed to facilitate construction of subclasses that provide + * more extensive monitoring facilities. + * + * @return the collection of threads + */ + protected Collection getQueuedThreads() { + return sync.getQueuedThreads(); + } + + /** + * Queries whether any threads are waiting on the given condition + * associated with this lock. Note that because timeouts and + * interrupts may occur at any time, a {@code true} return does + * not guarantee that a future {@code signal} will awaken any + * threads. This method is designed primarily for use in + * monitoring of the system state. + * + * @param condition the condition + * @return {@code true} if there are any waiting threads + * @throws IllegalMonitorStateException if this lock is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this lock + * @throws NullPointerException if the condition is null + */ + public boolean hasWaiters(Condition condition) { + if (condition == null) + throw new NullPointerException(); + if (!(condition instanceof AbstractQueuedSynchronizer.ConditionObject)) + throw new IllegalArgumentException("not owner"); + return sync.hasWaiters((AbstractQueuedSynchronizer.ConditionObject)condition); + } + + /** + * Returns an estimate of the number of threads waiting on the + * given condition associated with this lock. Note that because + * timeouts and interrupts may occur at any time, the estimate + * serves only as an upper bound on the actual number of waiters. + * This method is designed for use in monitoring of the system + * state, not for synchronization control. + * + * @param condition the condition + * @return the estimated number of waiting threads + * @throws IllegalMonitorStateException if this lock is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this lock + * @throws NullPointerException if the condition is null + */ + public int getWaitQueueLength(Condition condition) { + if (condition == null) + throw new NullPointerException(); + if (!(condition instanceof AbstractQueuedSynchronizer.ConditionObject)) + throw new IllegalArgumentException("not owner"); + return sync.getWaitQueueLength((AbstractQueuedSynchronizer.ConditionObject)condition); + } + + /** + * Returns a collection containing those threads that may be + * waiting on the given condition associated with this lock. + * Because the actual set of threads may change dynamically while + * constructing this result, the returned collection is only a + * best-effort estimate. The elements of the returned collection + * are in no particular order. This method is designed to + * facilitate construction of subclasses that provide more + * extensive condition monitoring facilities. + * + * @param condition the condition + * @return the collection of threads + * @throws IllegalMonitorStateException if this lock is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this lock + * @throws NullPointerException if the condition is null + */ + protected Collection getWaitingThreads(Condition condition) { + if (condition == null) + throw new NullPointerException(); + if (!(condition instanceof AbstractQueuedSynchronizer.ConditionObject)) + throw new IllegalArgumentException("not owner"); + return sync.getWaitingThreads((AbstractQueuedSynchronizer.ConditionObject)condition); + } + + /** + * Returns a string identifying this lock, as well as its lock state. + * The state, in brackets, includes either the String {@code "Unlocked"} + * or the String {@code "Locked by"} followed by the + * {@linkplain Thread#getName name} of the owning thread. + * + * @return a string identifying this lock, as well as its lock state + */ + public String toString() { + Thread o = sync.getOwner(); + return super.toString() + ((o == null) ? + "[Unlocked]" : + "[Locked by thread " + o.getName() + "]"); + } +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java b/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java new file mode 100644 index 00000000000..df18a7c0884 --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java @@ -0,0 +1,1346 @@ +/* + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/licenses/publicdomain + */ + +package java.util.concurrent.locks; +import java.util.concurrent.*; +import java.util.concurrent.atomic.*; +import java.util.*; + +/** + * An implementation of {@link ReadWriteLock} supporting similar + * semantics to {@link ReentrantLock}. + *

This class has the following properties: + * + *

    + *
  • Acquisition order + * + *

    This class does not impose a reader or writer preference + * ordering for lock access. However, it does support an optional + * fairness policy. + * + *

    + *
    Non-fair mode (default) + *
    When constructed as non-fair (the default), the order of entry + * to the read and write lock is unspecified, subject to reentrancy + * constraints. A nonfair lock that is continously contended may + * indefinitely postpone one or more reader or writer threads, but + * will normally have higher throughput than a fair lock. + *

    + * + *

    Fair mode + *
    When constructed as fair, threads contend for entry using an + * approximately arrival-order policy. When the currently held lock + * is released either the longest-waiting single writer thread will + * be assigned the write lock, or if there is a group of reader threads + * waiting longer than all waiting writer threads, that group will be + * assigned the read lock. + * + *

    A thread that tries to acquire a fair read lock (non-reentrantly) + * will block if either the write lock is held, or there is a waiting + * writer thread. The thread will not acquire the read lock until + * after the oldest currently waiting writer thread has acquired and + * released the write lock. Of course, if a waiting writer abandons + * its wait, leaving one or more reader threads as the longest waiters + * in the queue with the write lock free, then those readers will be + * assigned the read lock. + * + *

    A thread that tries to acquire a fair write lock (non-reentrantly) + * will block unless both the read lock and write lock are free (which + * implies there are no waiting threads). (Note that the non-blocking + * {@link ReadLock#tryLock()} and {@link WriteLock#tryLock()} methods + * do not honor this fair setting and will acquire the lock if it is + * possible, regardless of waiting threads.) + *

    + *

    + * + *
  • Reentrancy + * + *

    This lock allows both readers and writers to reacquire read or + * write locks in the style of a {@link ReentrantLock}. Non-reentrant + * readers are not allowed until all write locks held by the writing + * thread have been released. + * + *

    Additionally, a writer can acquire the read lock, but not + * vice-versa. Among other applications, reentrancy can be useful + * when write locks are held during calls or callbacks to methods that + * perform reads under read locks. If a reader tries to acquire the + * write lock it will never succeed. + * + *

  • Lock downgrading + *

    Reentrancy also allows downgrading from the write lock to a read lock, + * by acquiring the write lock, then the read lock and then releasing the + * write lock. However, upgrading from a read lock to the write lock is + * not possible. + * + *

  • Interruption of lock acquisition + *

    The read lock and write lock both support interruption during lock + * acquisition. + * + *

  • {@link Condition} support + *

    The write lock provides a {@link Condition} implementation that + * behaves in the same way, with respect to the write lock, as the + * {@link Condition} implementation provided by + * {@link ReentrantLock#newCondition} does for {@link ReentrantLock}. + * This {@link Condition} can, of course, only be used with the write lock. + * + *

    The read lock does not support a {@link Condition} and + * {@code readLock().newCondition()} throws + * {@code UnsupportedOperationException}. + * + *

  • Instrumentation + *

    This class supports methods to determine whether locks + * are held or contended. These methods are designed for monitoring + * system state, not for synchronization control. + *

+ * + *

Serialization of this class behaves in the same way as built-in + * locks: a deserialized lock is in the unlocked state, regardless of + * its state when serialized. + * + *

Sample usages. Here is a code sketch showing how to exploit + * reentrancy to perform lock downgrading after updating a cache (exception + * handling is elided for simplicity): + *

+ * class CachedData {
+ *   Object data;
+ *   volatile boolean cacheValid;
+ *   ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
+ *
+ *   void processCachedData() {
+ *     rwl.readLock().lock();
+ *     if (!cacheValid) {
+ *        // Must release read lock before acquiring write lock
+ *        rwl.readLock().unlock();
+ *        rwl.writeLock().lock();
+ *        // Recheck state because another thread might have acquired
+ *        //   write lock and changed state before we did.
+ *        if (!cacheValid) {
+ *          data = ...
+ *          cacheValid = true;
+ *        }
+ *        // Downgrade by acquiring read lock before releasing write lock
+ *        rwl.readLock().lock();
+ *        rwl.writeLock().unlock(); // Unlock write, still hold read
+ *     }
+ *
+ *     use(data);
+ *     rwl.readLock().unlock();
+ *   }
+ * }
+ * 
+ * + * ReentrantReadWriteLocks can be used to improve concurrency in some + * uses of some kinds of Collections. This is typically worthwhile + * only when the collections are expected to be large, accessed by + * more reader threads than writer threads, and entail operations with + * overhead that outweighs synchronization overhead. For example, here + * is a class using a TreeMap that is expected to be large and + * concurrently accessed. + * + *
{@code
+ * class RWDictionary {
+ *    private final Map m = new TreeMap();
+ *    private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
+ *    private final Lock r = rwl.readLock();
+ *    private final Lock w = rwl.writeLock();
+ *
+ *    public Data get(String key) {
+ *        r.lock();
+ *        try { return m.get(key); }
+ *        finally { r.unlock(); }
+ *    }
+ *    public String[] allKeys() {
+ *        r.lock();
+ *        try { return m.keySet().toArray(); }
+ *        finally { r.unlock(); }
+ *    }
+ *    public Data put(String key, Data value) {
+ *        w.lock();
+ *        try { return m.put(key, value); }
+ *        finally { w.unlock(); }
+ *    }
+ *    public void clear() {
+ *        w.lock();
+ *        try { m.clear(); }
+ *        finally { w.unlock(); }
+ *    }
+ * }}
+ * + *

Implementation Notes

+ * + *

This lock supports a maximum of 65535 recursive write locks + * and 65535 read locks. Attempts to exceed these limits result in + * {@link Error} throws from locking methods. + * + * @since 1.5 + * @author Doug Lea + * + */ +public class ReentrantReadWriteLock implements ReadWriteLock, java.io.Serializable { + private static final long serialVersionUID = -6992448646407690164L; + /** Inner class providing readlock */ + private final ReentrantReadWriteLock.ReadLock readerLock; + /** Inner class providing writelock */ + private final ReentrantReadWriteLock.WriteLock writerLock; + /** Performs all synchronization mechanics */ + private final Sync sync; + + /** + * Creates a new {@code ReentrantReadWriteLock} with + * default (nonfair) ordering properties. + */ + public ReentrantReadWriteLock() { + this(false); + } + + /** + * Creates a new {@code ReentrantReadWriteLock} with + * the given fairness policy. + * + * @param fair {@code true} if this lock should use a fair ordering policy + */ + public ReentrantReadWriteLock(boolean fair) { + sync = (fair)? new FairSync() : new NonfairSync(); + readerLock = new ReadLock(this); + writerLock = new WriteLock(this); + } + + public ReentrantReadWriteLock.WriteLock writeLock() { return writerLock; } + public ReentrantReadWriteLock.ReadLock readLock() { return readerLock; } + + /** + * Synchronization implementation for ReentrantReadWriteLock. + * Subclassed into fair and nonfair versions. + */ + static abstract class Sync extends AbstractQueuedSynchronizer { + private static final long serialVersionUID = 6317671515068378041L; + + /* + * Read vs write count extraction constants and functions. + * Lock state is logically divided into two shorts: The lower + * one representing the exclusive (writer) lock hold count, + * and the upper the shared (reader) hold count. + */ + + static final int SHARED_SHIFT = 16; + static final int SHARED_UNIT = (1 << SHARED_SHIFT); + static final int MAX_COUNT = (1 << SHARED_SHIFT) - 1; + static final int EXCLUSIVE_MASK = (1 << SHARED_SHIFT) - 1; + + /** Returns the number of shared holds represented in count */ + static int sharedCount(int c) { return c >>> SHARED_SHIFT; } + /** Returns the number of exclusive holds represented in count */ + static int exclusiveCount(int c) { return c & EXCLUSIVE_MASK; } + + /** + * A counter for per-thread read hold counts. + * Maintained as a ThreadLocal; cached in cachedHoldCounter + */ + static final class HoldCounter { + int count; + // Use id, not reference, to avoid garbage retention + final long tid = Thread.currentThread().getId(); + /** Decrement if positive; return previous value */ + int tryDecrement() { + int c = count; + if (c > 0) + count = c - 1; + return c; + } + } + + /** + * ThreadLocal subclass. Easiest to explicitly define for sake + * of deserialization mechanics. + */ + static final class ThreadLocalHoldCounter + extends ThreadLocal { + public HoldCounter initialValue() { + return new HoldCounter(); + } + } + + /** + * The number of read locks held by current thread. + * Initialized only in constructor and readObject. + */ + transient ThreadLocalHoldCounter readHolds; + + /** + * The hold count of the last thread to successfully acquire + * readLock. This saves ThreadLocal lookup in the common case + * where the next thread to release is the last one to + * acquire. This is non-volatile since it is just used + * as a heuristic, and would be great for threads to cache. + */ + transient HoldCounter cachedHoldCounter; + + Sync() { + readHolds = new ThreadLocalHoldCounter(); + setState(getState()); // ensures visibility of readHolds + } + + /* + * Acquires and releases use the same code for fair and + * nonfair locks, but differ in whether/how they allow barging + * when queues are non-empty. + */ + + /** + * Return true if a reader thread that is otherwise + * eligible for lock should block because of policy + * for overtaking other waiting threads. + */ + abstract boolean readerShouldBlock(Thread current); + + /** + * Return true if a writer thread that is otherwise + * eligible for lock should block because of policy + * for overtaking other waiting threads. + */ + abstract boolean writerShouldBlock(Thread current); + + /* + * Note that tryRelease and tryAcquire can be called by + * Conditions. So it is possible that their arguments contain + * both read and write holds that are all released during a + * condition wait and re-established in tryAcquire. + */ + + protected final boolean tryRelease(int releases) { + int nextc = getState() - releases; + if (Thread.currentThread() != getExclusiveOwnerThread()) + throw new IllegalMonitorStateException(); + if (exclusiveCount(nextc) == 0) { + setExclusiveOwnerThread(null); + setState(nextc); + return true; + } else { + setState(nextc); + return false; + } + } + + protected final boolean tryAcquire(int acquires) { + /* + * Walkthrough: + * 1. if read count nonzero or write count nonzero + * and owner is a different thread, fail. + * 2. If count would saturate, fail. (This can only + * happen if count is already nonzero.) + * 3. Otherwise, this thread is eligible for lock if + * it is either a reentrant acquire or + * queue policy allows it. If so, update state + * and set owner. + */ + Thread current = Thread.currentThread(); + int c = getState(); + int w = exclusiveCount(c); + if (c != 0) { + // (Note: if c != 0 and w == 0 then shared count != 0) + if (w == 0 || current != getExclusiveOwnerThread()) + return false; + if (w + exclusiveCount(acquires) > MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + } + if ((w == 0 && writerShouldBlock(current)) || + !compareAndSetState(c, c + acquires)) + return false; + setExclusiveOwnerThread(current); + return true; + } + + protected final boolean tryReleaseShared(int unused) { + HoldCounter rh = cachedHoldCounter; + Thread current = Thread.currentThread(); + if (rh == null || rh.tid != current.getId()) + rh = readHolds.get(); + if (rh.tryDecrement() <= 0) + throw new IllegalMonitorStateException(); + for (;;) { + int c = getState(); + int nextc = c - SHARED_UNIT; + if (compareAndSetState(c, nextc)) + return nextc == 0; + } + } + + protected final int tryAcquireShared(int unused) { + /* + * Walkthrough: + * 1. If write lock held by another thread, fail + * 2. If count saturated, throw error + * 3. Otherwise, this thread is eligible for + * lock wrt state, so ask if it should block + * because of queue policy. If not, try + * to grant by CASing state and updating count. + * Note that step does not check for reentrant + * acquires, which is postponed to full version + * to avoid having to check hold count in + * the more typical non-reentrant case. + * 4. If step 3 fails either because thread + * apparently not eligible or CAS fails, + * chain to version with full retry loop. + */ + Thread current = Thread.currentThread(); + int c = getState(); + if (exclusiveCount(c) != 0 && + getExclusiveOwnerThread() != current) + return -1; + if (sharedCount(c) == MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + if (!readerShouldBlock(current) && + compareAndSetState(c, c + SHARED_UNIT)) { + HoldCounter rh = cachedHoldCounter; + if (rh == null || rh.tid != current.getId()) + cachedHoldCounter = rh = readHolds.get(); + rh.count++; + return 1; + } + return fullTryAcquireShared(current); + } + + /** + * Full version of acquire for reads, that handles CAS misses + * and reentrant reads not dealt with in tryAcquireShared. + */ + final int fullTryAcquireShared(Thread current) { + /* + * This code is in part redundant with that in + * tryAcquireShared but is simpler overall by not + * complicating tryAcquireShared with interactions between + * retries and lazily reading hold counts. + */ + HoldCounter rh = cachedHoldCounter; + if (rh == null || rh.tid != current.getId()) + rh = readHolds.get(); + for (;;) { + int c = getState(); + int w = exclusiveCount(c); + if ((w != 0 && getExclusiveOwnerThread() != current) || + ((rh.count | w) == 0 && readerShouldBlock(current))) + return -1; + if (sharedCount(c) == MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + if (compareAndSetState(c, c + SHARED_UNIT)) { + cachedHoldCounter = rh; // cache for release + rh.count++; + return 1; + } + } + } + + /** + * Performs tryLock for write, enabling barging in both modes. + * This is identical in effect to tryAcquire except for lack + * of calls to writerShouldBlock + */ + final boolean tryWriteLock() { + Thread current = Thread.currentThread(); + int c = getState(); + if (c != 0) { + int w = exclusiveCount(c); + if (w == 0 ||current != getExclusiveOwnerThread()) + return false; + if (w == MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + } + if (!compareAndSetState(c, c + 1)) + return false; + setExclusiveOwnerThread(current); + return true; + } + + /** + * Performs tryLock for read, enabling barging in both modes. + * This is identical in effect to tryAcquireShared except for + * lack of calls to readerShouldBlock + */ + final boolean tryReadLock() { + Thread current = Thread.currentThread(); + for (;;) { + int c = getState(); + if (exclusiveCount(c) != 0 && + getExclusiveOwnerThread() != current) + return false; + if (sharedCount(c) == MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + if (compareAndSetState(c, c + SHARED_UNIT)) { + HoldCounter rh = cachedHoldCounter; + if (rh == null || rh.tid != current.getId()) + cachedHoldCounter = rh = readHolds.get(); + rh.count++; + return true; + } + } + } + + protected final boolean isHeldExclusively() { + // While we must in general read state before owner, + // we don't need to do so to check if current thread is owner + return getExclusiveOwnerThread() == Thread.currentThread(); + } + + // Methods relayed to outer class + + final ConditionObject newCondition() { + return new ConditionObject(); + } + + final Thread getOwner() { + // Must read state before owner to ensure memory consistency + return ((exclusiveCount(getState()) == 0)? + null : + getExclusiveOwnerThread()); + } + + final int getReadLockCount() { + return sharedCount(getState()); + } + + final boolean isWriteLocked() { + return exclusiveCount(getState()) != 0; + } + + final int getWriteHoldCount() { + return isHeldExclusively() ? exclusiveCount(getState()) : 0; + } + + final int getReadHoldCount() { + return getReadLockCount() == 0? 0 : readHolds.get().count; + } + + /** + * Reconstitute this lock instance from a stream + * @param s the stream + */ + private void readObject(java.io.ObjectInputStream s) + throws java.io.IOException, ClassNotFoundException { + s.defaultReadObject(); + readHolds = new ThreadLocalHoldCounter(); + setState(0); // reset to unlocked state + } + + final int getCount() { return getState(); } + } + + /** + * Nonfair version of Sync + */ + final static class NonfairSync extends Sync { + private static final long serialVersionUID = -8159625535654395037L; + final boolean writerShouldBlock(Thread current) { + return false; // writers can always barge + } + final boolean readerShouldBlock(Thread current) { + /* As a heuristic to avoid indefinite writer starvation, + * block if the thread that momentarily appears to be head + * of queue, if one exists, is a waiting writer. This is + * only a probablistic effect since a new reader will not + * block if there is a waiting writer behind other enabled + * readers that have not yet drained from the queue. + */ + return apparentlyFirstQueuedIsExclusive(); + } + } + + /** + * Fair version of Sync + */ + final static class FairSync extends Sync { + private static final long serialVersionUID = -2274990926593161451L; + final boolean writerShouldBlock(Thread current) { + // only proceed if queue is empty or current thread at head + return !isFirst(current); + } + final boolean readerShouldBlock(Thread current) { + // only proceed if queue is empty or current thread at head + return !isFirst(current); + } + } + + /** + * The lock returned by method {@link ReentrantReadWriteLock#readLock}. + */ + public static class ReadLock implements Lock, java.io.Serializable { + private static final long serialVersionUID = -5992448646407690164L; + private final Sync sync; + + /** + * Constructor for use by subclasses + * + * @param lock the outer lock object + * @throws NullPointerException if the lock is null + */ + protected ReadLock(ReentrantReadWriteLock lock) { + sync = lock.sync; + } + + /** + * Acquires the read lock. + * + *

Acquires the read lock if the write lock is not held by + * another thread and returns immediately. + * + *

If the write lock is held by another thread then + * the current thread becomes disabled for thread scheduling + * purposes and lies dormant until the read lock has been acquired. + */ + public void lock() { + sync.acquireShared(1); + } + + /** + * Acquires the read lock unless the current thread is + * {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the read lock if the write lock is not held + * by another thread and returns immediately. + * + *

If the write lock is held by another thread then the + * current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of two things happens: + * + *

    + * + *
  • The read lock is acquired by the current thread; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread. + * + *
+ * + *

If the current thread: + * + *

    + * + *
  • has its interrupted status set on entry to this method; or + * + *
  • is {@linkplain Thread#interrupt interrupted} while + * acquiring the read lock, + * + *
+ * + * then {@link InterruptedException} is thrown and the current + * thread's interrupted status is cleared. + * + *

In this implementation, as this method is an explicit + * interruption point, preference is given to responding to + * the interrupt over normal or reentrant acquisition of the + * lock. + * + * @throws InterruptedException if the current thread is interrupted + */ + public void lockInterruptibly() throws InterruptedException { + sync.acquireSharedInterruptibly(1); + } + + /** + * Acquires the read lock only if the write lock is not held by + * another thread at the time of invocation. + * + *

Acquires the read lock if the write lock is not held by + * another thread and returns immediately with the value + * {@code true}. Even when this lock has been set to use a + * fair ordering policy, a call to {@code tryLock()} + * will immediately acquire the read lock if it is + * available, whether or not other threads are currently + * waiting for the read lock. This "barging" behavior + * can be useful in certain circumstances, even though it + * breaks fairness. If you want to honor the fairness setting + * for this lock, then use {@link #tryLock(long, TimeUnit) + * tryLock(0, TimeUnit.SECONDS) } which is almost equivalent + * (it also detects interruption). + * + *

If the write lock is held by another thread then + * this method will return immediately with the value + * {@code false}. + * + * @return {@code true} if the read lock was acquired + */ + public boolean tryLock() { + return sync.tryReadLock(); + } + + /** + * Acquires the read lock if the write lock is not held by + * another thread within the given waiting time and the + * current thread has not been {@linkplain Thread#interrupt + * interrupted}. + * + *

Acquires the read lock if the write lock is not held by + * another thread and returns immediately with the value + * {@code true}. If this lock has been set to use a fair + * ordering policy then an available lock will not be + * acquired if any other threads are waiting for the + * lock. This is in contrast to the {@link #tryLock()} + * method. If you want a timed {@code tryLock} that does + * permit barging on a fair lock then combine the timed and + * un-timed forms together: + * + *

if (lock.tryLock() || lock.tryLock(timeout, unit) ) { ... }
+         * 
+ * + *

If the write lock is held by another thread then the + * current thread becomes disabled for thread scheduling + * purposes and lies dormant until one of three things happens: + * + *

    + * + *
  • The read lock is acquired by the current thread; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The specified waiting time elapses. + * + *
+ * + *

If the read lock is acquired then the value {@code true} is + * returned. + * + *

If the current thread: + * + *

    + * + *
  • has its interrupted status set on entry to this method; or + * + *
  • is {@linkplain Thread#interrupt interrupted} while + * acquiring the read lock, + * + *
then {@link InterruptedException} is thrown and the + * current thread's interrupted status is cleared. + * + *

If the specified waiting time elapses then the value + * {@code false} is returned. If the time is less than or + * equal to zero, the method will not wait at all. + * + *

In this implementation, as this method is an explicit + * interruption point, preference is given to responding to + * the interrupt over normal or reentrant acquisition of the + * lock, and over reporting the elapse of the waiting time. + * + * @param timeout the time to wait for the read lock + * @param unit the time unit of the timeout argument + * @return {@code true} if the read lock was acquired + * @throws InterruptedException if the current thread is interrupted + * @throws NullPointerException if the time unit is null + * + */ + public boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException { + return sync.tryAcquireSharedNanos(1, unit.toNanos(timeout)); + } + + /** + * Attempts to release this lock. + * + *

If the number of readers is now zero then the lock + * is made available for write lock attempts. + */ + public void unlock() { + sync.releaseShared(1); + } + + /** + * Throws {@code UnsupportedOperationException} because + * {@code ReadLocks} do not support conditions. + * + * @throws UnsupportedOperationException always + */ + public Condition newCondition() { + throw new UnsupportedOperationException(); + } + + /** + * Returns a string identifying this lock, as well as its lock state. + * The state, in brackets, includes the String {@code "Read locks ="} + * followed by the number of held read locks. + * + * @return a string identifying this lock, as well as its lock state + */ + public String toString() { + int r = sync.getReadLockCount(); + return super.toString() + + "[Read locks = " + r + "]"; + } + } + + /** + * The lock returned by method {@link ReentrantReadWriteLock#writeLock}. + */ + public static class WriteLock implements Lock, java.io.Serializable { + private static final long serialVersionUID = -4992448646407690164L; + private final Sync sync; + + /** + * Constructor for use by subclasses + * + * @param lock the outer lock object + * @throws NullPointerException if the lock is null + */ + protected WriteLock(ReentrantReadWriteLock lock) { + sync = lock.sync; + } + + /** + * Acquires the write lock. + * + *

Acquires the write lock if neither the read nor write lock + * are held by another thread + * and returns immediately, setting the write lock hold count to + * one. + * + *

If the current thread already holds the write lock then the + * hold count is incremented by one and the method returns + * immediately. + * + *

If the lock is held by another thread then the current + * thread becomes disabled for thread scheduling purposes and + * lies dormant until the write lock has been acquired, at which + * time the write lock hold count is set to one. + */ + public void lock() { + sync.acquire(1); + } + + /** + * Acquires the write lock unless the current thread is + * {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the write lock if neither the read nor write lock + * are held by another thread + * and returns immediately, setting the write lock hold count to + * one. + * + *

If the current thread already holds this lock then the + * hold count is incremented by one and the method returns + * immediately. + * + *

If the lock is held by another thread then the current + * thread becomes disabled for thread scheduling purposes and + * lies dormant until one of two things happens: + * + *

    + * + *
  • The write lock is acquired by the current thread; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread. + * + *
+ * + *

If the write lock is acquired by the current thread then the + * lock hold count is set to one. + * + *

If the current thread: + * + *

    + * + *
  • has its interrupted status set on entry to this method; + * or + * + *
  • is {@linkplain Thread#interrupt interrupted} while + * acquiring the write lock, + * + *
+ * + * then {@link InterruptedException} is thrown and the current + * thread's interrupted status is cleared. + * + *

In this implementation, as this method is an explicit + * interruption point, preference is given to responding to + * the interrupt over normal or reentrant acquisition of the + * lock. + * + * @throws InterruptedException if the current thread is interrupted + */ + public void lockInterruptibly() throws InterruptedException { + sync.acquireInterruptibly(1); + } + + /** + * Acquires the write lock only if it is not held by another thread + * at the time of invocation. + * + *

Acquires the write lock if neither the read nor write lock + * are held by another thread + * and returns immediately with the value {@code true}, + * setting the write lock hold count to one. Even when this lock has + * been set to use a fair ordering policy, a call to + * {@code tryLock()} will immediately acquire the + * lock if it is available, whether or not other threads are + * currently waiting for the write lock. This "barging" + * behavior can be useful in certain circumstances, even + * though it breaks fairness. If you want to honor the + * fairness setting for this lock, then use {@link + * #tryLock(long, TimeUnit) tryLock(0, TimeUnit.SECONDS) } + * which is almost equivalent (it also detects interruption). + * + *

If the current thread already holds this lock then the + * hold count is incremented by one and the method returns + * {@code true}. + * + *

If the lock is held by another thread then this method + * will return immediately with the value {@code false}. + * + * @return {@code true} if the lock was free and was acquired + * by the current thread, or the write lock was already held + * by the current thread; and {@code false} otherwise. + */ + public boolean tryLock( ) { + return sync.tryWriteLock(); + } + + /** + * Acquires the write lock if it is not held by another thread + * within the given waiting time and the current thread has + * not been {@linkplain Thread#interrupt interrupted}. + * + *

Acquires the write lock if neither the read nor write lock + * are held by another thread + * and returns immediately with the value {@code true}, + * setting the write lock hold count to one. If this lock has been + * set to use a fair ordering policy then an available lock + * will not be acquired if any other threads are + * waiting for the write lock. This is in contrast to the {@link + * #tryLock()} method. If you want a timed {@code tryLock} + * that does permit barging on a fair lock then combine the + * timed and un-timed forms together: + * + *

if (lock.tryLock() || lock.tryLock(timeout, unit) ) { ... }
+         * 
+ * + *

If the current thread already holds this lock then the + * hold count is incremented by one and the method returns + * {@code true}. + * + *

If the lock is held by another thread then the current + * thread becomes disabled for thread scheduling purposes and + * lies dormant until one of three things happens: + * + *

    + * + *
  • The write lock is acquired by the current thread; or + * + *
  • Some other thread {@linkplain Thread#interrupt interrupts} + * the current thread; or + * + *
  • The specified waiting time elapses + * + *
+ * + *

If the write lock is acquired then the value {@code true} is + * returned and the write lock hold count is set to one. + * + *

If the current thread: + * + *

    + * + *
  • has its interrupted status set on entry to this method; + * or + * + *
  • is {@linkplain Thread#interrupt interrupted} while + * acquiring the write lock, + * + *
+ * + * then {@link InterruptedException} is thrown and the current + * thread's interrupted status is cleared. + * + *

If the specified waiting time elapses then the value + * {@code false} is returned. If the time is less than or + * equal to zero, the method will not wait at all. + * + *

In this implementation, as this method is an explicit + * interruption point, preference is given to responding to + * the interrupt over normal or reentrant acquisition of the + * lock, and over reporting the elapse of the waiting time. + * + * @param timeout the time to wait for the write lock + * @param unit the time unit of the timeout argument + * + * @return {@code true} if the lock was free and was acquired + * by the current thread, or the write lock was already held by the + * current thread; and {@code false} if the waiting time + * elapsed before the lock could be acquired. + * + * @throws InterruptedException if the current thread is interrupted + * @throws NullPointerException if the time unit is null + * + */ + public boolean tryLock(long timeout, TimeUnit unit) throws InterruptedException { + return sync.tryAcquireNanos(1, unit.toNanos(timeout)); + } + + /** + * Attempts to release this lock. + * + *

If the current thread is the holder of this lock then + * the hold count is decremented. If the hold count is now + * zero then the lock is released. If the current thread is + * not the holder of this lock then {@link + * IllegalMonitorStateException} is thrown. + * + * @throws IllegalMonitorStateException if the current thread does not + * hold this lock. + */ + public void unlock() { + sync.release(1); + } + + /** + * Returns a {@link Condition} instance for use with this + * {@link Lock} instance. + *

The returned {@link Condition} instance supports the same + * usages as do the {@link Object} monitor methods ({@link + * Object#wait() wait}, {@link Object#notify notify}, and {@link + * Object#notifyAll notifyAll}) when used with the built-in + * monitor lock. + * + *

    + * + *
  • If this write lock is not held when any {@link + * Condition} method is called then an {@link + * IllegalMonitorStateException} is thrown. (Read locks are + * held independently of write locks, so are not checked or + * affected. However it is essentially always an error to + * invoke a condition waiting method when the current thread + * has also acquired read locks, since other threads that + * could unblock it will not be able to acquire the write + * lock.) + * + *
  • When the condition {@linkplain Condition#await() waiting} + * methods are called the write lock is released and, before + * they return, the write lock is reacquired and the lock hold + * count restored to what it was when the method was called. + * + *
  • If a thread is {@linkplain Thread#interrupt interrupted} while + * waiting then the wait will terminate, an {@link + * InterruptedException} will be thrown, and the thread's + * interrupted status will be cleared. + * + *
  • Waiting threads are signalled in FIFO order. + * + *
  • The ordering of lock reacquisition for threads returning + * from waiting methods is the same as for threads initially + * acquiring the lock, which is in the default case not specified, + * but for fair locks favors those threads that have been + * waiting the longest. + * + *
+ * + * @return the Condition object + */ + public Condition newCondition() { + return sync.newCondition(); + } + + /** + * Returns a string identifying this lock, as well as its lock + * state. The state, in brackets includes either the String + * {@code "Unlocked"} or the String {@code "Locked by"} + * followed by the {@linkplain Thread#getName name} of the owning thread. + * + * @return a string identifying this lock, as well as its lock state + */ + public String toString() { + Thread o = sync.getOwner(); + return super.toString() + ((o == null) ? + "[Unlocked]" : + "[Locked by thread " + o.getName() + "]"); + } + + /** + * Queries if this write lock is held by the current thread. + * Identical in effect to {@link + * ReentrantReadWriteLock#isWriteLockedByCurrentThread}. + * + * @return {@code true} if the current thread holds this lock and + * {@code false} otherwise + * @since 1.6 + */ + public boolean isHeldByCurrentThread() { + return sync.isHeldExclusively(); + } + + /** + * Queries the number of holds on this write lock by the current + * thread. A thread has a hold on a lock for each lock action + * that is not matched by an unlock action. Identical in effect + * to {@link ReentrantReadWriteLock#getWriteHoldCount}. + * + * @return the number of holds on this lock by the current thread, + * or zero if this lock is not held by the current thread + * @since 1.6 + */ + public int getHoldCount() { + return sync.getWriteHoldCount(); + } + } + + // Instrumentation and status + + /** + * Returns {@code true} if this lock has fairness set true. + * + * @return {@code true} if this lock has fairness set true + */ + public final boolean isFair() { + return sync instanceof FairSync; + } + + /** + * Returns the thread that currently owns the write lock, or + * {@code null} if not owned. When this method is called by a + * thread that is not the owner, the return value reflects a + * best-effort approximation of current lock status. For example, + * the owner may be momentarily {@code null} even if there are + * threads trying to acquire the lock but have not yet done so. + * This method is designed to facilitate construction of + * subclasses that provide more extensive lock monitoring + * facilities. + * + * @return the owner, or {@code null} if not owned + */ + protected Thread getOwner() { + return sync.getOwner(); + } + + /** + * Queries the number of read locks held for this lock. This + * method is designed for use in monitoring system state, not for + * synchronization control. + * @return the number of read locks held. + */ + public int getReadLockCount() { + return sync.getReadLockCount(); + } + + /** + * Queries if the write lock is held by any thread. This method is + * designed for use in monitoring system state, not for + * synchronization control. + * + * @return {@code true} if any thread holds the write lock and + * {@code false} otherwise + */ + public boolean isWriteLocked() { + return sync.isWriteLocked(); + } + + /** + * Queries if the write lock is held by the current thread. + * + * @return {@code true} if the current thread holds the write lock and + * {@code false} otherwise + */ + public boolean isWriteLockedByCurrentThread() { + return sync.isHeldExclusively(); + } + + /** + * Queries the number of reentrant write holds on this lock by the + * current thread. A writer thread has a hold on a lock for + * each lock action that is not matched by an unlock action. + * + * @return the number of holds on the write lock by the current thread, + * or zero if the write lock is not held by the current thread + */ + public int getWriteHoldCount() { + return sync.getWriteHoldCount(); + } + + /** + * Queries the number of reentrant read holds on this lock by the + * current thread. A reader thread has a hold on a lock for + * each lock action that is not matched by an unlock action. + * + * @return the number of holds on the read lock by the current thread, + * or zero if the read lock is not held by the current thread + * @since 1.6 + */ + public int getReadHoldCount() { + return sync.getReadHoldCount(); + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire the write lock. Because the actual set of threads may + * change dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. This method is + * designed to facilitate construction of subclasses that provide + * more extensive lock monitoring facilities. + * + * @return the collection of threads + */ + protected Collection getQueuedWriterThreads() { + return sync.getExclusiveQueuedThreads(); + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire the read lock. Because the actual set of threads may + * change dynamically while constructing this result, the returned + * collection is only a best-effort estimate. The elements of the + * returned collection are in no particular order. This method is + * designed to facilitate construction of subclasses that provide + * more extensive lock monitoring facilities. + * + * @return the collection of threads + */ + protected Collection getQueuedReaderThreads() { + return sync.getSharedQueuedThreads(); + } + + /** + * Queries whether any threads are waiting to acquire the read or + * write lock. Note that because cancellations may occur at any + * time, a {@code true} return does not guarantee that any other + * thread will ever acquire a lock. This method is designed + * primarily for use in monitoring of the system state. + * + * @return {@code true} if there may be other threads waiting to + * acquire the lock + */ + public final boolean hasQueuedThreads() { + return sync.hasQueuedThreads(); + } + + /** + * Queries whether the given thread is waiting to acquire either + * the read or write lock. Note that because cancellations may + * occur at any time, a {@code true} return does not guarantee + * that this thread will ever acquire a lock. This method is + * designed primarily for use in monitoring of the system state. + * + * @param thread the thread + * @return {@code true} if the given thread is queued waiting for this lock + * @throws NullPointerException if the thread is null + */ + public final boolean hasQueuedThread(Thread thread) { + return sync.isQueued(thread); + } + + /** + * Returns an estimate of the number of threads waiting to acquire + * either the read or write lock. The value is only an estimate + * because the number of threads may change dynamically while this + * method traverses internal data structures. This method is + * designed for use in monitoring of the system state, not for + * synchronization control. + * + * @return the estimated number of threads waiting for this lock + */ + public final int getQueueLength() { + return sync.getQueueLength(); + } + + /** + * Returns a collection containing threads that may be waiting to + * acquire either the read or write lock. Because the actual set + * of threads may change dynamically while constructing this + * result, the returned collection is only a best-effort estimate. + * The elements of the returned collection are in no particular + * order. This method is designed to facilitate construction of + * subclasses that provide more extensive monitoring facilities. + * + * @return the collection of threads + */ + protected Collection getQueuedThreads() { + return sync.getQueuedThreads(); + } + + /** + * Queries whether any threads are waiting on the given condition + * associated with the write lock. Note that because timeouts and + * interrupts may occur at any time, a {@code true} return does + * not guarantee that a future {@code signal} will awaken any + * threads. This method is designed primarily for use in + * monitoring of the system state. + * + * @param condition the condition + * @return {@code true} if there are any waiting threads + * @throws IllegalMonitorStateException if this lock is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this lock + * @throws NullPointerException if the condition is null + */ + public boolean hasWaiters(Condition condition) { + if (condition == null) + throw new NullPointerException(); + if (!(condition instanceof AbstractQueuedSynchronizer.ConditionObject)) + throw new IllegalArgumentException("not owner"); + return sync.hasWaiters((AbstractQueuedSynchronizer.ConditionObject)condition); + } + + /** + * Returns an estimate of the number of threads waiting on the + * given condition associated with the write lock. Note that because + * timeouts and interrupts may occur at any time, the estimate + * serves only as an upper bound on the actual number of waiters. + * This method is designed for use in monitoring of the system + * state, not for synchronization control. + * + * @param condition the condition + * @return the estimated number of waiting threads + * @throws IllegalMonitorStateException if this lock is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this lock + * @throws NullPointerException if the condition is null + */ + public int getWaitQueueLength(Condition condition) { + if (condition == null) + throw new NullPointerException(); + if (!(condition instanceof AbstractQueuedSynchronizer.ConditionObject)) + throw new IllegalArgumentException("not owner"); + return sync.getWaitQueueLength((AbstractQueuedSynchronizer.ConditionObject)condition); + } + + /** + * Returns a collection containing those threads that may be + * waiting on the given condition associated with the write lock. + * Because the actual set of threads may change dynamically while + * constructing this result, the returned collection is only a + * best-effort estimate. The elements of the returned collection + * are in no particular order. This method is designed to + * facilitate construction of subclasses that provide more + * extensive condition monitoring facilities. + * + * @param condition the condition + * @return the collection of threads + * @throws IllegalMonitorStateException if this lock is not held + * @throws IllegalArgumentException if the given condition is + * not associated with this lock + * @throws NullPointerException if the condition is null + */ + protected Collection getWaitingThreads(Condition condition) { + if (condition == null) + throw new NullPointerException(); + if (!(condition instanceof AbstractQueuedSynchronizer.ConditionObject)) + throw new IllegalArgumentException("not owner"); + return sync.getWaitingThreads((AbstractQueuedSynchronizer.ConditionObject)condition); + } + + /** + * Returns a string identifying this lock, as well as its lock state. + * The state, in brackets, includes the String {@code "Write locks ="} + * followed by the number of reentrantly held write locks, and the + * String {@code "Read locks ="} followed by the number of held + * read locks. + * + * @return a string identifying this lock, as well as its lock state + */ + public String toString() { + int c = sync.getCount(); + int w = Sync.exclusiveCount(c); + int r = Sync.sharedCount(c); + + return super.toString() + + "[Write locks = " + w + ", Read locks = " + r + "]"; + } + +} diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html new file mode 100644 index 00000000000..4b945258b8d --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html @@ -0,0 +1,50 @@ + + +Locks + + + + +Interfaces and classes providing a framework for locking and waiting +for conditions that is distinct from built-in synchronization and +monitors. The framework permits much greater flexibility in the use of +locks and conditions, at the expense of more awkward syntax. + +

The {@link java.util.concurrent.locks.Lock} interface supports +locking disciplines that differ in semantics (reentrant, fair, etc), +and that can be used in non-block-structured contexts including +hand-over-hand and lock reordering algorithms. The main implementation +is {@link java.util.concurrent.locks.ReentrantLock}. + +

The {@link java.util.concurrent.locks.ReadWriteLock} interface +similarly defines locks that may be shared among readers but are +exclusive to writers. Only a single implementation, {@link +java.util.concurrent.locks.ReentrantReadWriteLock}, is provided, since +it covers most standard usage contexts. But programmers may create +their own implementations to cover nonstandard requirements. + +

The {@link java.util.concurrent.locks.Condition} interface +describes condition variables that may be associated with Locks. +These are similar in usage to the implicit monitors accessed using +Object.wait, but offer extended capabilities. In particular, +multiple Condition objects may be associated with a single +Lock. To avoid compatibility issues, the names of +Condition methods are different than the corresponding +Object versions. + +

The {@link java.util.concurrent.locks.AbstractQueuedSynchronizer} +class serves as a useful superclass for defining locks and other +synchronizers that rely on queuing blocked threads. The {@link +java.util.concurrent.locks.AbstractQueuedLongSynchronizer} class +provides the same functionality but extends support to 64 bits of +synchronization state. Both extend class {@link +java.util.concurrent.locks.AbstractOwnableSynchronizer}, a simple +class that helps record the thread currently holding exclusive +synchronization. The {@link java.util.concurrent.locks.LockSupport} +class provides lower-level blocking and unblocking support that is +useful for those developers implementing their own customized lock +classes. + +@since 1.5 + + diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/package.html new file mode 100644 index 00000000000..20227e1fece --- /dev/null +++ b/libjava/classpath/external/jsr166/java/util/concurrent/package.html @@ -0,0 +1,222 @@ + + +Concurrency Utilities + + + + +

Utility classes commonly useful in concurrent programming. This +package includes a few small standardized extensible frameworks, as +well as some classes that provide useful functionality and are +otherwise tedious or difficult to implement. Here are brief +descriptions of the main components. See also the locks and +atomic packages. + +

Executors

+ +Interfaces. {@link java.util.concurrent.Executor} is a simple +standardized interface for defining custom thread-like subsystems, +including thread pools, asynchronous IO, and lightweight task +frameworks. Depending on which concrete Executor class is being used, +tasks may execute in a newly created thread, an existing +task-execution thread, or the thread calling execute(), and +may execute sequentially or concurrently. {@link +java.util.concurrent.ExecutorService} provides a more complete +asynchronous task execution framework. An ExecutorService manages +queuing and scheduling of tasks, and allows controlled shutdown. The +{@link java.util.concurrent.ScheduledExecutorService} subinterface +and associated interfaces add support for delayed and periodic task execution. +ExecutorServices provide methods arranging asynchronous execution of +any function expressed as {@link java.util.concurrent.Callable}, the +result-bearing analog of {@link java.lang.Runnable}. A {@link +java.util.concurrent.Future} returns the results of a function, allows +determination of whether execution has completed, and provides a means to +cancel execution. A {@link java.util.concurrent.RunnableFuture} is +a Future that possesses a run method that upon execution, +sets its results. + +

+ +Implementations. Classes {@link +java.util.concurrent.ThreadPoolExecutor} and {@link +java.util.concurrent.ScheduledThreadPoolExecutor} provide tunable, +flexible thread pools. The {@link java.util.concurrent.Executors} +class provides factory methods for the most common kinds and +configurations of Executors, as well as a few utility methods for +using them. Other utilities based on Executors include the concrete +class {@link java.util.concurrent.FutureTask} providing a common +extensible implementation of Futures, and {@link +java.util.concurrent.ExecutorCompletionService}, that assists in +coordinating the processing of groups of asynchronous tasks. + +

Queues

+ +The java.util.concurrent {@link +java.util.concurrent.ConcurrentLinkedQueue} class supplies an +efficient scalable thread-safe non-blocking FIFO queue. Five +implementations in java.util.concurrent support the extended {@link +java.util.concurrent.BlockingQueue} interface, that defines blocking +versions of put and take: {@link +java.util.concurrent.LinkedBlockingQueue}, {@link +java.util.concurrent.ArrayBlockingQueue}, {@link +java.util.concurrent.SynchronousQueue}, {@link +java.util.concurrent.PriorityBlockingQueue}, and {@link +java.util.concurrent.DelayQueue}. The different classes cover the most +common usage contexts for producer-consumer, messaging, parallel +tasking, and related concurrent designs. The {@link +java.util.concurrent.BlockingDeque} interface extends +BlockingQueue to support both FIFO and LIFO (stack-based) +operations. Class {@link java.util.concurrent.LinkedBlockingDeque} +provides an implementation. + + +

Timing

+ +The {@link java.util.concurrent.TimeUnit} class provides multiple +granularities (including nanoseconds) for specifying and controlling +time-out based operations. Most classes in the package contain +operations based on time-outs in addition to indefinite waits. In all +cases that time-outs are used, the time-out specifies the minimum time +that the method should wait before indicating that it +timed-out. Implementations make a "best effort" to detect +time-outs as soon as possible after they occur. However, an indefinite +amount of time may elapse between a time-out being detected and a +thread actually executing again after that time-out. All methods +that accept timeout parameters treat values less than or equal to +zero to mean not to wait at all. To wait "forever", you can use +a value of Long.MAX_VALUE. + +

Synchronizers

+ +Four classes aid common special-purpose synchronization idioms. +{@link java.util.concurrent.Semaphore} is a classic concurrency tool. +{@link java.util.concurrent.CountDownLatch} is a very simple yet very +common utility for blocking until a given number of signals, events, +or conditions hold. A {@link java.util.concurrent.CyclicBarrier} is a +resettable multiway synchronization point useful in some styles of +parallel programming. An {@link java.util.concurrent.Exchanger} allows +two threads to exchange objects at a rendezvous point, and is useful +in several pipeline designs. + +

Concurrent Collections

+ +Besides Queues, this package supplies Collection implementations +designed for use in multithreaded contexts: +{@link java.util.concurrent.ConcurrentHashMap}, +{@link java.util.concurrent.ConcurrentSkipListMap}, +{@link java.util.concurrent.ConcurrentSkipListSet}, +{@link java.util.concurrent.CopyOnWriteArrayList}, and +{@link java.util.concurrent.CopyOnWriteArraySet}. +When many threads are expected to access a given collection, +a ConcurrentHashMap is normally preferable to +a synchronized HashMap, and a +ConcurrentSkipListMap is normally preferable +to a synchronized TreeMap. A +CopyOnWriteArrayList is preferable to +a synchronized ArrayList when the expected number of reads +and traversals greatly outnumber the number of updates to a list. + +

The "Concurrent" prefix used with some classes in this package is a +shorthand indicating several differences from similar "synchronized" +classes. For example java.util.Hashtable and +Collections.synchronizedMap(new HashMap()) are +synchronized. But {@link java.util.concurrent.ConcurrentHashMap} is +"concurrent". A concurrent collection is thread-safe, but not +governed by a single exclusion lock. In the particular case of +ConcurrentHashMap, it safely permits any number of concurrent reads as +well as a tunable number of concurrent writes. "Synchronized" classes +can be useful when you need to prevent all access to a collection via +a single lock, at the expense of poorer scalability. In other cases in +which multiple threads are expected to access a common collection, +"concurrent" versions are normally preferable. And unsynchronized +collections are preferable when either collections are unshared, or +are accessible only when holding other locks. + +

Most concurrent Collection implementations (including most Queues) +also differ from the usual java.util conventions in that their Iterators +provide weakly consistent rather than fast-fail traversal. A +weakly consistent iterator is thread-safe, but does not necessarily +freeze the collection while iterating, so it may (or may not) reflect +any updates since the iterator was created. + + +

Memory Consistency Properties

+ + +Chapter 17 of the Java Language Specification defines the +happens-before relation on memory operations such as reads and +writes of shared variables. The results of a write by one thread are +guaranteed to be visible to a read by another thread only if the write +operation happens-before the read operation. The +{@code synchronized} and {@code volatile} constructs, as well as the +{@code Thread.start()} and {@code Thread.join()} methods, can form +happens-before relationships. In particular: + +
    +
  • Each action in a thread happens-before every action in that + thread that comes later in the program's order. + +
  • An unlock ({@code synchronized} block or method exit) of a + monitor happens-before every subsequent lock ({@code synchronized} + block or method entry) of that same monitor. And because + the happens-before relation is transitive, all actions + of a thread prior to unlocking happen-before all actions + subsequent to any thread locking that monitor. + +
  • A write to a {@code volatile} field happens-before every + subsequent read of that same field. Writes and reads of + {@code volatile} fields have similar memory consistency effects + as entering and exiting monitors, but do not entail + mutual exclusion locking. + +
  • A call to {@code start} on a thread happens-before any action in the + started thread. + +
  • All actions in a thread happen-before any other thread + successfully returns from a {@code join} on that thread. + +
+ + +The methods of all classes in {@code java.util.concurrent} and its +subpackages extend these guarantees to higher-level +synchronization. In particular: + +
    + +
  • Actions in a thread prior to placing an object into any concurrent + collection happen-before actions subsequent to the access or + removal of that element from the collection in another thread. + +
  • Actions in a thread prior to the submission of a {@code Runnable} + to an {@code Executor} happen-before its execution begins. + Similarly for {@code Callables} submitted to an {@code ExecutorService}. + +
  • Actions taken by the asynchronous computation represented by a + {@code Future} happen-before actions subsequent to the + retrieval of the result via {@code Future.get()} in another thread. + +
  • Actions prior to "releasing" synchronizer methods such as + {@code Lock.unlock}, {@code Semaphore.release}, and + {@code CountDownLatch.countDown} happen-before actions + subsequent to a successful "acquiring" method such as + {@code Lock.lock}, {@code Semaphore.acquire}, + {@code Condition.await}, and {@code CountDownLatch.await} on the + same synchronizer object in another thread. + +
  • For each pair of threads that successfully exchange objects via + an {@code Exchanger}, actions prior to the {@code exchange()} + in each thread happen-before those subsequent to the + corresponding {@code exchange()} in another thread. + +
  • Actions prior to calling {@code CyclicBarrier.await} + happen-before actions performed by the barrier action, and + actions performed by the barrier action happen-before actions + subsequent to a successful return from the corresponding {@code await} + in other threads. + +
+ +@since 1.5 + + diff --git a/libjava/classpath/external/jsr166/readme b/libjava/classpath/external/jsr166/readme new file mode 100644 index 00000000000..eef3c916996 --- /dev/null +++ b/libjava/classpath/external/jsr166/readme @@ -0,0 +1,45 @@ +The software comprising JSR166 was written by Doug Lea with assistance +from members of JCP JSR-166 Expert roup and released to the public +domain, as explained at: +http://creativecommons.org/licenses/publicdomain, excepting portions +of the class java.util.concurrent.CopyOnWriteArrayList, which were +adapted from class java.util.ArrayList, written by Sun Microsystems, +Inc, which are used with kind permission, and subject to the +following: + +Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is +subject to the following license terms. + + "Sun hereby grants you a non-exclusive, worldwide, non-transferrable + license to use and distribute the Java Software technologies as part + of a larger work in source and binary forms, with or without + modification, provided that the following conditions are met: + + -Neither the name of or trademarks of Sun may be used to endorse or + promote products derived from the Java Software technology without + specific prior written permission. + + -Redistributions of source or binary code must be accompanied by the + following notice and disclaimers: + + Portions copyright Sun Microsystems, Inc. Used with kind permission. + + This software is provided AS IS, without a warranty of any kind. ALL + EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND + WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR + NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN + MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE + FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF + USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS + DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR + ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR + DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL + OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF + THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR + INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + You acknowledge that Software is not designed, licensed or intended for + use in the design, construction, operation or maintenance of any nuclear + facility." diff --git a/libjava/classpath/external/relaxngDatatype/.cvsignore b/libjava/classpath/external/relaxngDatatype/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/external/relaxngDatatype/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in index a70d0b24dff..0d40cf484b3 100644 --- a/libjava/classpath/external/relaxngDatatype/Makefile.in +++ b/libjava/classpath/external/relaxngDatatype/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -157,6 +159,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -278,7 +282,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ EXTRA_DIST = README.txt \ copying.txt \ diff --git a/libjava/classpath/external/sax/.cvsignore b/libjava/classpath/external/sax/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/external/sax/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in index 47f284c1c0a..0f0077129b1 100644 --- a/libjava/classpath/external/sax/Makefile.in +++ b/libjava/classpath/external/sax/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -157,6 +159,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -278,7 +282,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ EXTRA_DIST = README \ org/xml/sax/ext/Attributes2.java \ diff --git a/libjava/classpath/external/sax/org/xml/sax/AttributeList.java b/libjava/classpath/external/sax/org/xml/sax/AttributeList.java index 74b74b275e9..7d8e9beec37 100644 --- a/libjava/classpath/external/sax/org/xml/sax/AttributeList.java +++ b/libjava/classpath/external/sax/org/xml/sax/AttributeList.java @@ -1,7 +1,7 @@ // SAX Attribute List Interface. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: AttributeList.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: AttributeList.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/Attributes.java b/libjava/classpath/external/sax/org/xml/sax/Attributes.java index 6d3708eef01..51735908936 100644 --- a/libjava/classpath/external/sax/org/xml/sax/Attributes.java +++ b/libjava/classpath/external/sax/org/xml/sax/Attributes.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: Attributes.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: Attributes.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/ContentHandler.java b/libjava/classpath/external/sax/org/xml/sax/ContentHandler.java index 21f84ff7ace..c0df614108d 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ContentHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/ContentHandler.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: ContentHandler.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: ContentHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/DTDHandler.java b/libjava/classpath/external/sax/org/xml/sax/DTDHandler.java index ef08d450b7e..f894298cded 100644 --- a/libjava/classpath/external/sax/org/xml/sax/DTDHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/DTDHandler.java @@ -1,7 +1,7 @@ // SAX DTD handler. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: DTDHandler.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: DTDHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/DocumentHandler.java b/libjava/classpath/external/sax/org/xml/sax/DocumentHandler.java index 8b0a07f57ce..08429b6bcf4 100644 --- a/libjava/classpath/external/sax/org/xml/sax/DocumentHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/DocumentHandler.java @@ -1,7 +1,7 @@ // SAX document handler. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: DocumentHandler.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: DocumentHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/EntityResolver.java b/libjava/classpath/external/sax/org/xml/sax/EntityResolver.java index a5c6aa82c3c..e240ba14b48 100644 --- a/libjava/classpath/external/sax/org/xml/sax/EntityResolver.java +++ b/libjava/classpath/external/sax/org/xml/sax/EntityResolver.java @@ -1,7 +1,7 @@ // SAX entity resolver. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: EntityResolver.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: EntityResolver.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/ErrorHandler.java b/libjava/classpath/external/sax/org/xml/sax/ErrorHandler.java index 940a824cced..5ebe3926321 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ErrorHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/ErrorHandler.java @@ -1,7 +1,7 @@ // SAX error handler. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: ErrorHandler.java,v 1.10 2004/12/11 15:41:09 dog Exp $ +// $Id: ErrorHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/HandlerBase.java b/libjava/classpath/external/sax/org/xml/sax/HandlerBase.java index 8988a73023a..7d6ce73616a 100644 --- a/libjava/classpath/external/sax/org/xml/sax/HandlerBase.java +++ b/libjava/classpath/external/sax/org/xml/sax/HandlerBase.java @@ -1,7 +1,7 @@ // SAX default handler base class. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: HandlerBase.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: HandlerBase.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/InputSource.java b/libjava/classpath/external/sax/org/xml/sax/InputSource.java index 15b0ff00eda..3737b63712d 100644 --- a/libjava/classpath/external/sax/org/xml/sax/InputSource.java +++ b/libjava/classpath/external/sax/org/xml/sax/InputSource.java @@ -1,7 +1,7 @@ // SAX input source. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: InputSource.java,v 1.12 2004/12/11 15:41:10 dog Exp $ +// $Id: InputSource.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/Locator.java b/libjava/classpath/external/sax/org/xml/sax/Locator.java index 73ad7dac739..63947df7ac7 100644 --- a/libjava/classpath/external/sax/org/xml/sax/Locator.java +++ b/libjava/classpath/external/sax/org/xml/sax/Locator.java @@ -1,7 +1,7 @@ // SAX locator interface for document events. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: Locator.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: Locator.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/Parser.java b/libjava/classpath/external/sax/org/xml/sax/Parser.java index 73e4584539f..5866eb09ce1 100644 --- a/libjava/classpath/external/sax/org/xml/sax/Parser.java +++ b/libjava/classpath/external/sax/org/xml/sax/Parser.java @@ -1,7 +1,7 @@ // SAX parser interface. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: Parser.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: Parser.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/SAXException.java b/libjava/classpath/external/sax/org/xml/sax/SAXException.java index c6f1c58ffed..b3c23e9aedb 100644 --- a/libjava/classpath/external/sax/org/xml/sax/SAXException.java +++ b/libjava/classpath/external/sax/org/xml/sax/SAXException.java @@ -1,7 +1,7 @@ // SAX exception class. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: SAXException.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: SAXException.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/SAXNotRecognizedException.java b/libjava/classpath/external/sax/org/xml/sax/SAXNotRecognizedException.java index e8802ce82cc..dc411b105ce 100644 --- a/libjava/classpath/external/sax/org/xml/sax/SAXNotRecognizedException.java +++ b/libjava/classpath/external/sax/org/xml/sax/SAXNotRecognizedException.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. -// $Id: SAXNotRecognizedException.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: SAXNotRecognizedException.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/SAXNotSupportedException.java b/libjava/classpath/external/sax/org/xml/sax/SAXNotSupportedException.java index 56a7b44951c..232ce8026de 100644 --- a/libjava/classpath/external/sax/org/xml/sax/SAXNotSupportedException.java +++ b/libjava/classpath/external/sax/org/xml/sax/SAXNotSupportedException.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. -// $Id: SAXNotSupportedException.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: SAXNotSupportedException.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/SAXParseException.java b/libjava/classpath/external/sax/org/xml/sax/SAXParseException.java index ace289112e0..c49ff095be3 100644 --- a/libjava/classpath/external/sax/org/xml/sax/SAXParseException.java +++ b/libjava/classpath/external/sax/org/xml/sax/SAXParseException.java @@ -1,7 +1,7 @@ // SAX exception class. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: SAXParseException.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: SAXParseException.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/XMLFilter.java b/libjava/classpath/external/sax/org/xml/sax/XMLFilter.java index 98aaba10808..363328e2d55 100644 --- a/libjava/classpath/external/sax/org/xml/sax/XMLFilter.java +++ b/libjava/classpath/external/sax/org/xml/sax/XMLFilter.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. -// $Id: XMLFilter.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: XMLFilter.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/XMLReader.java b/libjava/classpath/external/sax/org/xml/sax/XMLReader.java index 3888353e5d4..92d0a94e3d1 100644 --- a/libjava/classpath/external/sax/org/xml/sax/XMLReader.java +++ b/libjava/classpath/external/sax/org/xml/sax/XMLReader.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. -// $Id: XMLReader.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: XMLReader.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2.java b/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2.java index 56d7cdbfefe..5c839bd1acf 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2.java @@ -1,7 +1,7 @@ // Attributes2.java - extended Attributes // http://www.saxproject.org // Public Domain: no warranty. -// $Id: Attributes2.java,v 1.8 2004/12/11 15:41:10 dog Exp $ +// $Id: Attributes2.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2Impl.java b/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2Impl.java index ebc9c07d9ae..485a5d6ac44 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2Impl.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/Attributes2Impl.java @@ -1,7 +1,7 @@ // Attributes2Impl.java - extended AttributesImpl // http://www.saxproject.org // Public Domain: no warranty. -// $Id: Attributes2Impl.java,v 1.8 2004/12/11 15:41:10 dog Exp $ +// $Id: Attributes2Impl.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/DeclHandler.java b/libjava/classpath/external/sax/org/xml/sax/ext/DeclHandler.java index 2e8486bc8a6..1bb4dea4a41 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/DeclHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/DeclHandler.java @@ -1,7 +1,7 @@ // DeclHandler.java - Optional handler for DTD declaration events. // http://www.saxproject.org // Public Domain: no warranty. -// $Id: DeclHandler.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: DeclHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/DefaultHandler2.java b/libjava/classpath/external/sax/org/xml/sax/ext/DefaultHandler2.java index affe7c01b5f..2b792e9df24 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/DefaultHandler2.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/DefaultHandler2.java @@ -1,7 +1,7 @@ // DefaultHandler2.java - extended DefaultHandler // http://www.saxproject.org // Public Domain: no warranty. -// $Id: DefaultHandler2.java,v 1.8 2004/12/11 15:41:10 dog Exp $ +// $Id: DefaultHandler2.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java b/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java index 57b0d83e852..1936f7e0421 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java @@ -1,7 +1,7 @@ // EntityResolver2.java - Extended SAX entity resolver. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: EntityResolver2.java,v 1.1 2004/12/23 22:38:42 mark Exp $ +// $Id: EntityResolver2.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/LexicalHandler.java b/libjava/classpath/external/sax/org/xml/sax/ext/LexicalHandler.java index db020d24c78..076bdf857c2 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/LexicalHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/LexicalHandler.java @@ -1,7 +1,7 @@ // LexicalHandler.java - optional handler for lexical parse events. // http://www.saxproject.org // Public Domain: no warranty. -// $Id: LexicalHandler.java,v 1.10 2004/12/11 15:41:10 dog Exp $ +// $Id: LexicalHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2.java b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2.java index 2fd9fc25afa..5fe3ba7706a 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2.java @@ -1,7 +1,7 @@ // Locator2.java - extended Locator // http://www.saxproject.org // Public Domain: no warranty. -// $Id: Locator2.java,v 1.8 2004/12/11 15:41:10 dog Exp $ +// $Id: Locator2.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java index 52f6331b5ab..f0b35459dba 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java +++ b/libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java @@ -1,7 +1,7 @@ // Locator2Impl.java - extended LocatorImpl // http://www.saxproject.org // Public Domain: no warranty. -// $Id: Locator2Impl.java,v 1.1 2004/12/23 22:38:42 mark Exp $ +// $Id: Locator2Impl.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $ package org.xml.sax.ext; diff --git a/libjava/classpath/external/sax/org/xml/sax/ext/package.html b/libjava/classpath/external/sax/org/xml/sax/ext/package.html index 12866eb38b7..0b744800108 100644 --- a/libjava/classpath/external/sax/org/xml/sax/ext/package.html +++ b/libjava/classpath/external/sax/org/xml/sax/ext/package.html @@ -1,5 +1,5 @@ - +

diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/AttributeListImpl.java b/libjava/classpath/external/sax/org/xml/sax/helpers/AttributeListImpl.java index d691fcc7d00..ca859fb1450 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/AttributeListImpl.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/AttributeListImpl.java @@ -1,7 +1,7 @@ // SAX default implementation for AttributeList. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: AttributeListImpl.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: AttributeListImpl.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/AttributesImpl.java b/libjava/classpath/external/sax/org/xml/sax/helpers/AttributesImpl.java index 02139d9fa7a..8753968ba0a 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/AttributesImpl.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/AttributesImpl.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: AttributesImpl.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: AttributesImpl.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/DefaultHandler.java b/libjava/classpath/external/sax/org/xml/sax/helpers/DefaultHandler.java index 9fc9895bdb0..e01c3be403d 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/DefaultHandler.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/DefaultHandler.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: DefaultHandler.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: DefaultHandler.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/LocatorImpl.java b/libjava/classpath/external/sax/org/xml/sax/helpers/LocatorImpl.java index a37467b5a23..6fa4857277c 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/LocatorImpl.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/LocatorImpl.java @@ -1,7 +1,7 @@ // SAX default implementation for Locator. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: LocatorImpl.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: LocatorImpl.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/NamespaceSupport.java b/libjava/classpath/external/sax/org/xml/sax/helpers/NamespaceSupport.java index b4edc707f2b..01e11faf83e 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/NamespaceSupport.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/NamespaceSupport.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // This class is in the Public Domain. NO WARRANTY! -// $Id: NamespaceSupport.java,v 1.14 2004/12/11 15:41:10 dog Exp $ +// $Id: NamespaceSupport.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/NewInstance.java b/libjava/classpath/external/sax/org/xml/sax/helpers/NewInstance.java index 10ef1276fdf..70c043eb42f 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/NewInstance.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/NewInstance.java @@ -3,7 +3,7 @@ // Written by Edwin Goei, edwingo@apache.org // and by David Brownell, dbrownell@users.sourceforge.net // NO WARRANTY! This class is in the Public Domain. -// $Id: NewInstance.java,v 1.9 2004/12/11 15:41:10 dog Exp $ +// $Id: NewInstance.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/ParserAdapter.java b/libjava/classpath/external/sax/org/xml/sax/helpers/ParserAdapter.java index 84e18f06782..748ad1c8499 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/ParserAdapter.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/ParserAdapter.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: ParserAdapter.java,v 1.12 2004/12/11 15:41:10 dog Exp $ +// $Id: ParserAdapter.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/ParserFactory.java b/libjava/classpath/external/sax/org/xml/sax/helpers/ParserFactory.java index d70b853c9ea..23139981088 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/ParserFactory.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/ParserFactory.java @@ -1,7 +1,7 @@ // SAX parser factory. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. -// $Id: ParserFactory.java,v 1.11 2004/12/11 15:41:10 dog Exp $ +// $Id: ParserFactory.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLFilterImpl.java b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLFilterImpl.java index bdde150bb48..64ff0a4cf88 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLFilterImpl.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLFilterImpl.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. -// $Id: XMLFilterImpl.java,v 1.12 2004/12/11 15:41:10 dog Exp $ +// $Id: XMLFilterImpl.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java index 566e69b8d7b..d2214747d74 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. -// $Id: XMLReaderAdapter.java,v 1.1 2004/12/23 22:38:42 mark Exp $ +// $Id: XMLReaderAdapter.java,v 1.2 2006/12/10 20:25:41 gnu_andrew Exp $ package org.xml.sax.helpers; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java index f2f51b52b3d..0516ff24e71 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java @@ -3,7 +3,7 @@ // Written by David Megginson // and by David Brownell // NO WARRANTY! This class is in the Public Domain. -// $Id: XMLReaderFactory.java,v 1.14 2004/12/11 15:41:10 dog Exp $ +// $Id: XMLReaderFactory.java,v 1.1 2004/12/23 22:38:42 mark Exp $ package org.xml.sax.helpers; import java.io.BufferedReader; diff --git a/libjava/classpath/external/sax/org/xml/sax/helpers/package.html b/libjava/classpath/external/sax/org/xml/sax/helpers/package.html index f3c7c9629cb..06d4a30a63c 100644 --- a/libjava/classpath/external/sax/org/xml/sax/helpers/package.html +++ b/libjava/classpath/external/sax/org/xml/sax/helpers/package.html @@ -1,5 +1,5 @@ - +

This package contains "helper" classes, including diff --git a/libjava/classpath/external/sax/org/xml/sax/package.html b/libjava/classpath/external/sax/org/xml/sax/package.html index 4596a71f0ff..b71f67fdda7 100644 --- a/libjava/classpath/external/sax/org/xml/sax/package.html +++ b/libjava/classpath/external/sax/org/xml/sax/package.html @@ -1,5 +1,5 @@ - +

This package provides the core SAX APIs. diff --git a/libjava/classpath/external/w3c_dom/.cvsignore b/libjava/classpath/external/w3c_dom/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/external/w3c_dom/COPYRIGHT.html b/libjava/classpath/external/w3c_dom/COPYRIGHT.html new file mode 100644 index 00000000000..c7e0e497a5f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/COPYRIGHT.html @@ -0,0 +1,106 @@ + + + + + W3C IPR SOFTWARE NOTICE + + + +

+ W3C IPR SOFTWARE NOTICE +

+

+ Copyright © 2002 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ The DOM bindings are published under the W3C Software Copyright Notice + and License. The software license requires "Notice of any changes or + modifications to the W3C files, including the date changes were made." + Consequently, modified versions of the DOM bindings must document that + they do not conform to the W3C standard; in the case of the IDL + definitions, the pragma prefix can no longer be 'w3c.org'; in the case of + the Java language binding, the package names can no longer be in the + 'org.w3c' package. +

+

+ Note: The original version of the W3C Software Copyright Notice + and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+

+ Copyright © 1994-2002 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification,  for any purpose and without fee or + royalty is hereby granted, provided that you include the following on ALL + copies of the software and documentation or portions thereof, including + modifications, that you make: +

+
    +
  1. + The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. +
  2. +
  3. + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, a short notice of the following form + (hypertext is preferred, text is permitted) should be used within the + body of any redistributed or derivative code: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" +
  4. +
  5. + Notice of any changes or modifications to the W3C files, including the + date changes were made. (We recommend you provide URIs to the location + from which the code is derived.) +
  6. +
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. +

+ + diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in index 104bcc31a1f..6bf5ded7628 100644 --- a/libjava/classpath/external/w3c_dom/Makefile.in +++ b/libjava/classpath/external/w3c_dom/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -157,6 +159,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -278,7 +282,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ EXTRA_DIST = README \ org/w3c/dom/Attr.java \ diff --git a/libjava/classpath/gnu/CORBA/CDR/Vio.java b/libjava/classpath/gnu/CORBA/CDR/Vio.java index fd878cb3555..28f1c5672f6 100644 --- a/libjava/classpath/gnu/CORBA/CDR/Vio.java +++ b/libjava/classpath/gnu/CORBA/CDR/Vio.java @@ -155,7 +155,6 @@ public abstract class Vio * read(InputStream, Class) or read(InputStream, Serializable). * * @param input a stream to read from. - * @param repository_id a repository id of the object being read, may be null. * * @return the loaded value. * @@ -173,7 +172,7 @@ public abstract class Vio * is known. Hence it may be faster to use the alternative methods, * read(InputStream, Class) or read(InputStream, Serializable). * - * @param an_input a stream to read from. + * @param input a stream to read from. * @param repository_id a repository id of the object being read, may be null. * * @return the loaded value. @@ -904,7 +903,7 @@ public abstract class Vio * * @param output an output stream to write into. * @param value a value to write. - * @param id a value repository id (can be either single string or string + * @param ids a value repository id (can be either single string or string * array). * @param helper a helper, writing object - specifical part. Can be null if * the value should be written using other methods. diff --git a/libjava/classpath/gnu/CORBA/CollocatedOrbs.java b/libjava/classpath/gnu/CORBA/CollocatedOrbs.java new file mode 100644 index 00000000000..fc1e513efec --- /dev/null +++ b/libjava/classpath/gnu/CORBA/CollocatedOrbs.java @@ -0,0 +1,164 @@ +/* CollocatedOrbs.java -- Handles collocations + Copyright (C) 2006 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. */ + + +package gnu.CORBA; + +import gnu.CORBA.Poa.gnuServantObject; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.ArrayList; + +import org.omg.CORBA.LocalObject; +import org.omg.CORBA.portable.Delegate; +import org.omg.CORBA.portable.ObjectImpl; + +/** + * This class provides support for the direct method invocations without + * involving the network in the case when both ORBs run on the same java + * virtual machine. Special attention is only needed when call is made + * between two independent ORBs, instantiated via ORB.init. The call to the + * object, obtained via IOR reference from the ORB where it was locally + * connected is always local anyway. + * + * For security reasons it may be sensible to keep this class and all support + * package private. + * + * @author Audrius Meskauskas + */ +class CollocatedOrbs +{ + /** + * This field is used in automated Classpath specific testing to disable + * the direct calls. + */ + static boolean DIRECT_CALLS_ALLOWED = true; + + /** + * Containts the references of the all running GNU Classpath ORBs in the + * local virtual machine. GNU Classpath ORBs register themselves here when + * created and unregister when either ORB.destroy is called or in the + * finalizer. + */ + private static ArrayList orbs = new ArrayList(); + + /** + * The address of the local host. + */ + static String localHost; + + static + { + try + { + localHost = InetAddress.getLocalHost().getHostAddress(); + } + catch (UnknownHostException ex) + { + throw new InternalError("Local host is not accessible:" + ex); + } + } + + /** + * Register the new ORB + * + * @param orb the orb to register + */ + static void registerOrb(OrbFunctional orb) + { + if (DIRECT_CALLS_ALLOWED) + synchronized (orbs) + { + assert ! orbs.contains(orb); + orbs.add(orb); + } + } + + /** + * Unregister the ORB. The ORB will no longer be reacheable locally but may + * be reacheable via network as if it would be remote. + * + * @param orb the orb to unregister + */ + static void unregisterOrb(OrbFunctional orb) + { + if (DIRECT_CALLS_ALLOWED) + synchronized (orbs) + { + assert orbs.contains(orb); + orbs.remove(orb); + } + } + + /** + * Search the possibly local object. If the IOR is not local or none of the + * found ORBs of this virtual machine knows about it, null is returned. + * + * @param ior the IOR to search + * @return the found local CORBA object or null in not found. + */ + static org.omg.CORBA.Object searchLocalObject(IOR ior) + { + if (! DIRECT_CALLS_ALLOWED && ! ior.Internet.host.equals(localHost)) + return null; + + synchronized (orbs) + { + OrbFunctional orb; + org.omg.CORBA.Object object; + for (int i = 0; i < orbs.size(); i++) + { + orb = (OrbFunctional) orbs.get(i); + object = orb.find_connected_object(ior.key, ior.Internet.port); + if (object != null) + { + if (object instanceof SafeForDirectCalls) + { + return object; + } + else if (object instanceof gnuServantObject) + { + return object; + } + } + } + } + return null; + } + +} diff --git a/libjava/classpath/gnu/CORBA/Connected_objects.java b/libjava/classpath/gnu/CORBA/Connected_objects.java index ce5761007c0..53ef2dd17d9 100644 --- a/libjava/classpath/gnu/CORBA/Connected_objects.java +++ b/libjava/classpath/gnu/CORBA/Connected_objects.java @@ -242,4 +242,14 @@ public class Connected_objects free_object_number++; return instance_number; } + + /** + * Get the number of the connected objects. + * + * @return the size of the internal map. + */ + public int size() + { + return objects.size(); + } } \ No newline at end of file diff --git a/libjava/classpath/gnu/CORBA/NamingService/Binding_iterator_impl.java b/libjava/classpath/gnu/CORBA/NamingService/Binding_iterator_impl.java index 79d787083ca..108ca270d21 100644 --- a/libjava/classpath/gnu/CORBA/NamingService/Binding_iterator_impl.java +++ b/libjava/classpath/gnu/CORBA/NamingService/Binding_iterator_impl.java @@ -1,5 +1,5 @@ /* Binding_iterator.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.CORBA.NamingService; +import gnu.CORBA.SafeForDirectCalls; + import org.omg.CosNaming.Binding; import org.omg.CosNaming.BindingHolder; import org.omg.CosNaming.BindingListHolder; @@ -51,7 +53,7 @@ import org.omg.CosNaming._BindingIteratorImplBase; * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class Binding_iterator_impl - extends _BindingIteratorImplBase + extends _BindingIteratorImplBase implements SafeForDirectCalls { /** * The value, returned by the {@link #next_one} when there diff --git a/libjava/classpath/gnu/CORBA/NamingService/Ext.java b/libjava/classpath/gnu/CORBA/NamingService/Ext.java index ee27e68cd79..d339cb194e6 100644 --- a/libjava/classpath/gnu/CORBA/NamingService/Ext.java +++ b/libjava/classpath/gnu/CORBA/NamingService/Ext.java @@ -1,5 +1,5 @@ /* TransientContextExt.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.CORBA.NamingService; +import gnu.CORBA.SafeForDirectCalls; + import org.omg.CORBA.NO_IMPLEMENT; import org.omg.CORBA.Object; import org.omg.CORBA.portable.Delegate; @@ -61,7 +63,7 @@ import org.omg.CosNaming._NamingContextExtImplBase; * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class Ext - extends _NamingContextExtImplBase + extends _NamingContextExtImplBase implements SafeForDirectCalls { /** * The older version of the naming context, where all relevant calls diff --git a/libjava/classpath/gnu/CORBA/NamingService/NameParser.java b/libjava/classpath/gnu/CORBA/NamingService/NameParser.java index c750b2eb4c0..aa922b96a54 100644 --- a/libjava/classpath/gnu/CORBA/NamingService/NameParser.java +++ b/libjava/classpath/gnu/CORBA/NamingService/NameParser.java @@ -193,9 +193,6 @@ public class NameParser boolean corbaname; - // The alternative addresses, if given. - ArrayList alt_addr = new ArrayList(); - // The version numbers with default values. int major = 1; int minor = 0; diff --git a/libjava/classpath/gnu/CORBA/NamingService/NameTransformer.java b/libjava/classpath/gnu/CORBA/NamingService/NameTransformer.java index 0e0782a5756..d717b9d4011 100644 --- a/libjava/classpath/gnu/CORBA/NamingService/NameTransformer.java +++ b/libjava/classpath/gnu/CORBA/NamingService/NameTransformer.java @@ -1,5 +1,5 @@ /* NameTransformer.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -75,10 +75,6 @@ public class NameTransformer ArrayList components = new ArrayList(); StringTokenizer st = new StringTokenizer(a_name, "./\\", true); - String id; - String kind; - String next; - // Create the buffer array, reserving the last element for null. String[] n = new String[ st.countTokens() + 1 ]; diff --git a/libjava/classpath/gnu/CORBA/NamingService/NamingServiceTransient.java b/libjava/classpath/gnu/CORBA/NamingService/NamingServiceTransient.java index 3669879f22a..a8cd0b313b3 100644 --- a/libjava/classpath/gnu/CORBA/NamingService/NamingServiceTransient.java +++ b/libjava/classpath/gnu/CORBA/NamingService/NamingServiceTransient.java @@ -85,35 +85,26 @@ public class NamingServiceTransient } /** - * Start the naming service on the current host at the given port. The - * parameter -org.omg.CORBA.ORBInitialPort NNN or -ORBInitialPort NNN, if - * present, specifies the port, on that the service must be started. If this - * key is not specified, the service starts at the port 900. + * Start the naming service on the current host at the given port. * - * The parameter -ior FILE_NAME, if present, forces to store the ior string of - * this naming service to the specified file. - * - * @param args the parameter string. + * @param portArgument the port on which the service will be + * started, or -1 to use the default port, 900 + * @param fileArgument if non-null, store the IOR string of this + * naming service in a file by this name */ - public static void main(String[] args) + public static void start(int portArgument, String fileArgument) { int port = PORT; - String iorf = null; + + if (portArgument > -1) + port = portArgument; + + String iorf = fileArgument; try { // Create and initialize the ORB final OrbFunctional orb = new OrbFunctional(); - if (args.length > 1) - for (int i = 0; i < args.length - 1; i++) - { - if (args[i].endsWith("ORBInitialPort")) - port = Integer.parseInt(args[i + 1]); - - if (args[i].equals("-ior")) - iorf = args[i + 1]; - } - OrbFunctional.setPort(port); // Create the servant and register it with the ORB @@ -133,15 +124,6 @@ public class NamingServiceTransient p.close(); } - System.out.println("GNU Classpath transient naming service " - + "started at " + iorr.Internet.host + ":" + iorr.Internet.port - + " key 'NameService'.\n\n" - + "Copyright (C) 2006 Free Software Foundation\n" - + "This tool comes with ABSOLUTELY NO WARRANTY. " - + "This is free software, and you are\nwelcome to " - + "redistribute it under conditions, defined in " - + "GNU Classpath license.\n\n" + ior); - new Thread() { public void run() @@ -154,7 +136,7 @@ public class NamingServiceTransient catch (Exception e) { System.err.println("ERROR: " + e); - e.printStackTrace(System.out); + e.printStackTrace(System.err); } // Restore the default value for allocating ports for the subsequent diff --git a/libjava/classpath/gnu/CORBA/NamingService/TransientContext.java b/libjava/classpath/gnu/CORBA/NamingService/TransientContext.java index c2d8275e001..cec87931e28 100644 --- a/libjava/classpath/gnu/CORBA/NamingService/TransientContext.java +++ b/libjava/classpath/gnu/CORBA/NamingService/TransientContext.java @@ -54,6 +54,8 @@ import org.omg.CosNaming.NamingContextPackage.NotFound; import org.omg.CosNaming.NamingContextPackage.NotFoundReason; import org.omg.CosNaming._NamingContextImplBase; +import gnu.CORBA.SafeForDirectCalls; + import java.util.Iterator; import java.util.Map; @@ -69,7 +71,7 @@ import java.util.Map; */ public class TransientContext extends _NamingContextImplBase - implements NamingContext, NamingContextOperations + implements NamingContext, NamingContextOperations, SafeForDirectCalls { /** * Use serial version UID for interoperability. diff --git a/libjava/classpath/gnu/CORBA/OrbFunctional.java b/libjava/classpath/gnu/CORBA/OrbFunctional.java index 7b9c34ada12..bfb5e3d86c1 100644 --- a/libjava/classpath/gnu/CORBA/OrbFunctional.java +++ b/libjava/classpath/gnu/CORBA/OrbFunctional.java @@ -938,48 +938,55 @@ public class OrbFunctional extends OrbRestricted /** * Start the ORBs main working cycle (receive invocation - invoke on the local - * object - send response - wait for another invocation). - * - * The method only returns after calling {@link #shutdown(boolean)}. + * object - send response - wait for another invocation). The method only + * returns after calling {@link #shutdown(boolean)}. */ public void run() { - running = true; - - // Instantiate the port server for each socket. - Iterator iter = connected_objects.entrySet().iterator(); - Map.Entry m; - Connected_objects.cObject obj; - - while (iter.hasNext()) + CollocatedOrbs.registerOrb(this); + try { - m = (Map.Entry) iter.next(); - obj = (Connected_objects.cObject) m.getValue(); + running = true; - portServer subserver; + // Instantiate the port server for each socket. + Iterator iter = connected_objects.entrySet().iterator(); + Map.Entry m; + Connected_objects.cObject obj; - if (obj.identity == null) - { - subserver = new portServer(obj.port); - portServers.add(subserver); - } - else - subserver = (portServer) identities.get(obj.identity); - - if (!subserver.isAlive()) + while (iter.hasNext()) { - // Reuse the current thread for the last portServer. - if (!iter.hasNext()) + m = (Map.Entry) iter.next(); + obj = (Connected_objects.cObject) m.getValue(); + + portServer subserver; + + if (obj.identity == null) { - // Discard the iterator, eliminating lock checks. - iter = null; - subserver.run(); - return; + subserver = new portServer(obj.port); + portServers.add(subserver); } else - subserver.start(); + subserver = (portServer) identities.get(obj.identity); + + if (! subserver.isAlive()) + { + // Reuse the current thread for the last portServer. + if (! iter.hasNext()) + { + // Discard the iterator, eliminating lock checks. + iter = null; + subserver.run(); + return; + } + else + subserver.start(); + } } } + finally + { + CollocatedOrbs.unregisterOrb(this); + } } /** @@ -1051,22 +1058,26 @@ public class OrbFunctional extends OrbRestricted org.omg.CORBA.Object object = find_local_object(ior); if (object == null) { - ObjectImpl impl = StubLocator.search(this, ior); - try - { - if (impl._get_delegate() == null) - impl._set_delegate(new IorDelegate(this, ior)); - } - catch (BAD_OPERATION ex) + // Check maybe the local object on another ORB, but same VM. + object = CollocatedOrbs.searchLocalObject(ior); + if (object == null) { - // Some colaborants may throw this exception - // in response to the attempt to get the unset delegate. - impl._set_delegate(new IorDelegate(this, ior)); - } + // Surely remote object. + ObjectImpl impl = StubLocator.search(this, ior); + try + { + if (impl._get_delegate() == null) + impl._set_delegate(new IorDelegate(this, ior)); + } + catch (BAD_OPERATION ex) + { + // Some colaborants may throw this exception + // in response to the attempt to get the unset delegate. + impl._set_delegate(new IorDelegate(this, ior)); + } - object = impl; - // TODO remove commented out code below. - // connected_objects.add(ior.key, impl, ior.Internet.port, null); + object = impl; + } } return object; } @@ -1239,15 +1250,10 @@ public class OrbFunctional extends OrbRestricted } if (ior.Id == null) ior.Id = ref.object.getClass().getName(); - try - { - ior.Internet.host = InetAddress.getLocalHost().getHostAddress(); - ior.Internet.port = ref.port; - } - catch (UnknownHostException ex) - { - throw new BAD_OPERATION("Cannot resolve the local host address"); - } + + ior.Internet.host = CollocatedOrbs.localHost; + ior.Internet.port = ref.port; + return ior; } @@ -1775,4 +1781,14 @@ public class OrbFunctional extends OrbRestricted running = false; super.finalize(); } + + /** + * Get the number of objects that are connected to this ORB. + * + * @return the number of objects, connected to this ORB. + */ + public int countConnectedObjects() + { + return connected_objects.size(); + } } \ No newline at end of file diff --git a/libjava/classpath/gnu/CORBA/Poa/LocalRequest.java b/libjava/classpath/gnu/CORBA/Poa/LocalRequest.java index a2c0bb106c3..4a9ef8d9044 100644 --- a/libjava/classpath/gnu/CORBA/Poa/LocalRequest.java +++ b/libjava/classpath/gnu/CORBA/Poa/LocalRequest.java @@ -193,11 +193,14 @@ public class LocalRequest extends gnuRequest implements ResponseHandler, /** * Make an invocation and return a stream from where the results can be read. * - * @param the invoke handler (can be null, then it is obtained self + * @param handler the invoke handler (can be null, then it is obtained self * dependently). */ public org.omg.CORBA.portable.InputStream v_invoke(InvokeHandler handler) { + // Check maybe POA is in the discarding mode (will throw TRANSIENT if it is). + poa.checkDiscarding(); + // Local request must be intercepted both by server and request // interceptors. boolean s_intercept = false; @@ -246,7 +249,7 @@ public class LocalRequest extends gnuRequest implements ResponseHandler, s_interceptor.receive_request_service_contexts(s_info); } - + if (handler == null) { handler = object.getHandler(operation(), cookie, false); diff --git a/libjava/classpath/gnu/CORBA/Poa/ORB_1_4.java b/libjava/classpath/gnu/CORBA/Poa/ORB_1_4.java index bb00aab70eb..4fc51ff154b 100644 --- a/libjava/classpath/gnu/CORBA/Poa/ORB_1_4.java +++ b/libjava/classpath/gnu/CORBA/Poa/ORB_1_4.java @@ -290,4 +290,4 @@ public class ORB_1_4 } } -} \ No newline at end of file +} diff --git a/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java b/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java index 460a0a6029a..8ceec23d781 100644 --- a/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java +++ b/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java @@ -1582,7 +1582,7 @@ public class gnuPOA * * @throws TRANSIENT if the POA is in discarding mode. */ - private void checkDiscarding() + void checkDiscarding() throws TRANSIENT { if (m_manager.get_state() == State.DISCARDING) @@ -1813,4 +1813,4 @@ public class gnuPOA { return ref_template_ids; } -} \ No newline at end of file +} diff --git a/libjava/classpath/gnu/CORBA/Poa/gnuServantObject.java b/libjava/classpath/gnu/CORBA/Poa/gnuServantObject.java index 020897a45b4..77b0ff46792 100644 --- a/libjava/classpath/gnu/CORBA/Poa/gnuServantObject.java +++ b/libjava/classpath/gnu/CORBA/Poa/gnuServantObject.java @@ -129,6 +129,12 @@ public class gnuServantObject extends ObjectImpl * ids are requested from the servant. */ public final String[] repository_ids; + + /** + * True indicates that the NO_RETAIN policy applies for the servant. + * The servant must be discarded after the each call. + */ + boolean noRetain; /** * Create an object with no connected servant. The servant must be set later. @@ -147,6 +153,8 @@ public class gnuServantObject extends ObjectImpl manager = a_poa.the_POAManager(); poa = a_poa; orb = an_orb; + + noRetain = poa.applies(ServantRetentionPolicyValue.NON_RETAIN); } /** @@ -182,6 +190,8 @@ public class gnuServantObject extends ObjectImpl } repository_ids = null; orb = an_orb; + + noRetain = poa != null && poa.applies(ServantRetentionPolicyValue.NON_RETAIN); } /** @@ -222,7 +232,7 @@ public class gnuServantObject extends ObjectImpl boolean forwarding_allowed ) throws gnuForwardRequest { - if (servant != null) + if (servant != null && !noRetain) { return servantToHandler(servant); } @@ -641,13 +651,14 @@ public class gnuServantObject extends ObjectImpl poa.servant_locator.postinvoke(Id, poa, method, cookie.value, servant ); - servant = null; } } } finally { orb.currents.remove(Thread.currentThread()); + if (noRetain) + servant = null; } } catch (ForwardRequest fex) diff --git a/libjava/classpath/gnu/CORBA/SafeForDirectCalls.java b/libjava/classpath/gnu/CORBA/SafeForDirectCalls.java new file mode 100644 index 00000000000..f3efb6677f0 --- /dev/null +++ b/libjava/classpath/gnu/CORBA/SafeForDirectCalls.java @@ -0,0 +1,50 @@ +/* SafeForDirectCalls.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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. */ + + +package gnu.CORBA; + +/** + * This interface marks that the object does not modify the passed read only + * parameters and hence, if it is local, it is safe to call the methods + * directly, without cloning such parameters. Otherwise such parameters should + * be cloned. + */ +public interface SafeForDirectCalls +{ + +} diff --git a/libjava/classpath/gnu/CORBA/SimpleDelegate.java b/libjava/classpath/gnu/CORBA/SimpleDelegate.java index c6e20e17374..cb0a7d6034d 100644 --- a/libjava/classpath/gnu/CORBA/SimpleDelegate.java +++ b/libjava/classpath/gnu/CORBA/SimpleDelegate.java @@ -98,22 +98,31 @@ public class SimpleDelegate } /** - * Not implemented. - * - * @throws NO_IMPLEMENT, always. + * Create the request for the local call */ public Request create_request(org.omg.CORBA.Object target, Context context, String operation, NVList parameters, NamedValue returns ) { - throw new NO_IMPLEMENT(); + if (orb instanceof OrbFunctional) + { + ((OrbFunctional) orb).ensureRunning(); + } + gnuRequest g = new gnuRequest(); + g.setORB(orb); + g.setOperation(operation); + g.setIor(ior); + g.m_target = target; + g.ctx(context); + g.set_args(parameters); + if (returns != null) + g.set_result(returns); + return g; } /** - * Not implemented. - * - * @throws NO_IMPLEMENT, always. + * Create the request for the local call. */ public Request create_request(org.omg.CORBA.Object target, Context context, String operation, NVList parameters, @@ -121,7 +130,22 @@ public class SimpleDelegate ContextList ctx_list ) { - throw new NO_IMPLEMENT(); + if (orb instanceof OrbFunctional) + { + ((OrbFunctional) orb).ensureRunning(); + } + gnuRequest g = new gnuRequest(); + g.setORB(orb); + g.setOperation(operation); + g.setIor(ior); + g.m_target = target; + g.ctx(context); + g.set_args(parameters); + g.set_exceptions(exceptions); + g.set_context_list(ctx_list); + if (returns != null) + g.set_result(returns); + return g; } /** diff --git a/libjava/classpath/gnu/classpath/.cvsignore b/libjava/classpath/gnu/classpath/.cvsignore new file mode 100644 index 00000000000..11f6639ebbd --- /dev/null +++ b/libjava/classpath/gnu/classpath/.cvsignore @@ -0,0 +1 @@ +Configuration.java diff --git a/libjava/classpath/gnu/classpath/ListenerData.java b/libjava/classpath/gnu/classpath/ListenerData.java new file mode 100644 index 00000000000..284fa02f192 --- /dev/null +++ b/libjava/classpath/gnu/classpath/ListenerData.java @@ -0,0 +1,136 @@ +/* ListenerData.java - Class to contain data about management bean listeners + Copyright (C) 2006 Free Software Foundation + +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. */ + +package gnu.classpath; + +import javax.management.NotificationFilter; +import javax.management.NotificationListener; + +/** + * Container for data on management listeners. Wraps + * a {@link javax.management.NotificationListener}, + * {@link javax.management.NotificationFilter} and + * passback object in one class. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class ListenerData +{ + /** + * The listener itself. + */ + private NotificationListener listener; + + /** + * A filter to apply to incoming events. + */ + private NotificationFilter filter; + + /** + * An object to pass back to the listener on an + * event occurring. + */ + private Object passback; + + /** + * Constructs a new {@link ListenerData} with the specified + * listener, filter and passback object. + * + * @param listener the listener itself. + * @param filter the filter for incoming events. + * @param passback the object to passback on an incoming event. + */ + public ListenerData(NotificationListener listener, + NotificationFilter filter, Object passback) + { + this.listener = listener; + this.filter = filter; + this.passback = passback; + } + + /** + * Returns the listener. + * + * @return the listener. + */ + public NotificationListener getListener() + { + return listener; + } + + /** + * Returns the filter. + * + * @return the filter. + */ + public NotificationFilter getFilter() + { + return filter; + } + + /** + * Returns the passback object. + * + * @return the passback object. + */ + public Object getPassback() + { + return passback; + } + + /** + * Returns true if the supplied object is an instance of + * {@link ListenerData} and has the same listener, filter + * and passback object. + * + * @param obj the object to check. + * @return true if obj is equal to this. + */ + public boolean equals(Object obj) + { + if (obj instanceof ListenerData) + { + ListenerData data = (ListenerData) obj; + return (data.getListener() == listener && + data.getFilter() == filter && + data.getPassback() == passback); + } + return false; + } + +} diff --git a/libjava/classpath/gnu/classpath/SystemProperties.java b/libjava/classpath/gnu/classpath/SystemProperties.java index 991279eabb6..d091f1ed0c0 100644 --- a/libjava/classpath/gnu/classpath/SystemProperties.java +++ b/libjava/classpath/gnu/classpath/SystemProperties.java @@ -169,4 +169,5 @@ public class SystemProperties { return (String) properties.remove(name); } + } diff --git a/libjava/classpath/gnu/classpath/debug/Component.java b/libjava/classpath/gnu/classpath/debug/Component.java index 0cc38d7096a..dce257502a7 100644 --- a/libjava/classpath/gnu/classpath/debug/Component.java +++ b/libjava/classpath/gnu/classpath/debug/Component.java @@ -97,8 +97,13 @@ public final class Component extends Level * Trace details about the SSL key exchange. */ public static final Component SSL_KEY_EXCHANGE = new Component ("SSL KEY EXCHANGE", 2); + + /** + * Trace running of delegated tasks. + */ + public static final Component SSL_DELEGATED_TASK = new Component ("SSL DELEGATED TASK", 3); - /* Indices 3 and 4 reserved for future use by SSL components. */ + /* Index 4 reserved for future use by SSL components. */ /** * Trace the operation of cryptographic primitives. diff --git a/libjava/classpath/gnu/classpath/debug/SystemLogger.java b/libjava/classpath/gnu/classpath/debug/SystemLogger.java index 502b488702b..8919e80c785 100644 --- a/libjava/classpath/gnu/classpath/debug/SystemLogger.java +++ b/libjava/classpath/gnu/classpath/debug/SystemLogger.java @@ -42,11 +42,12 @@ import gnu.java.security.action.GetPropertyAction; import java.security.AccessController; import java.util.StringTokenizer; +import java.util.logging.Level; import java.util.logging.Logger; -public final class SystemLogger +public final class SystemLogger extends Logger { - public static final Logger SYSTEM = Logger.getLogger ("gnu.classpath"); + public static final SystemLogger SYSTEM = new SystemLogger(); static { @@ -62,12 +63,40 @@ public final class SystemLogger Component c = Component.forName (tok.nextToken ()); if (c != null) PreciseFilter.GLOBAL.enable (c); - SYSTEM.log (java.util.logging.Level.INFO, "enabled: {0}", c); + SYSTEM.log (Level.INFO, "enabled: {0}", c); } } + } - java.util.logging.Handler[] h = SYSTEM.getHandlers (); - for (int i = 0; i < h.length; i++) - System.out.println (h[i]); + /** + * Fetch the system logger instance. The logger returned is meant for debug + * and diagnostic logging for Classpath internals. + * + * @return The system logger. + */ + public static SystemLogger getSystemLogger() + { + // XXX Check some permission here? + return SYSTEM; + } + + /** + * Keep only one instance of the system logger. + */ + private SystemLogger() + { + super("gnu.classpath", null); + } + + /** + * Variable-arguments log method. + * + * @param level The level to log to. + * @param format The format string. + * @param args The arguments. + */ + public void logv(Level level, String format, Object... args) + { + log(level, format, args); } } diff --git a/libjava/classpath/gnu/java/awt/ComponentReshapeEvent.java b/libjava/classpath/gnu/java/awt/ComponentReshapeEvent.java new file mode 100644 index 00000000000..8f15c851933 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/ComponentReshapeEvent.java @@ -0,0 +1,85 @@ +/* WindowResizeEvent.java -- Used to synchronize the AWT and peer sizes + Copyright (C) 2006 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. */ + + +package gnu.java.awt; + +import java.awt.AWTEvent; +import java.awt.Component; + +/** + * This is used to update the AWT's knowledge about a Window's size when + * the user changes the window bounds. + * + * This event is _not_ posted to the eventqueue, but rather dispatched directly + * via Window.dispatchEvent(). It is the cleanest way we could find to update + * the AWT's knowledge of the window size. Small testprograms showed the + * following: + * - Component.reshape() and its derivatives are _not_ called. This makes sense + * as it could end up in loops,because this calls back into the peers. + * - Intercepting event dispatching for any events in + * EventQueue.dispatchEvent() showed that the size is still updated. So it + * is not done via an event dispatched over the eventqueue. + * + * Possible other candidates for implementation would have been: + * - Call a (private) callback method in Window/Component from the native + * side. + * - Call a (private) callback method in Window/Component via reflection. + * + * Both is uglier than sending this event directly. Note however that this + * is impossible to test, as Component.dispatchEvent() is final and can't be + * intercepted from outside code. But this impossibility to test the issue from + * outside code also means that this shouldn't raise any compatibility issues. + */ +public class ComponentReshapeEvent + extends AWTEvent +{ + + public int x; + public int y; + public int width; + public int height; + + public ComponentReshapeEvent(Component c, int x, int y, int width, int height) + { + super(c, 1999); + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } +} diff --git a/libjava/classpath/gnu/java/awt/LowPriorityEvent.java b/libjava/classpath/gnu/java/awt/LowPriorityEvent.java new file mode 100644 index 00000000000..c1558f6ff58 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/LowPriorityEvent.java @@ -0,0 +1,48 @@ +/* LowPriorityEvent.java -- Marks events with low priority + Copyright (C) 2006 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. */ + + +package gnu.java.awt; + +/** + * A marker interface that marks events with low priority. LowPriority events + * are dispatched _after_ other (normal priority) events by the EventQueue. + */ +public interface LowPriorityEvent +{ + // Empty marker interface. +} diff --git a/libjava/classpath/gnu/java/awt/color/PyccConverter.java b/libjava/classpath/gnu/java/awt/color/PyccConverter.java index cd50d8776cd..77ea28a3e92 100644 --- a/libjava/classpath/gnu/java/awt/color/PyccConverter.java +++ b/libjava/classpath/gnu/java/awt/color/PyccConverter.java @@ -37,7 +37,6 @@ exception statement from your version. */ package gnu.java.awt.color; - /** * PyccConverter - conversion routines for the PhotoYCC colorspace * @@ -52,21 +51,21 @@ public class PyccConverter implements ColorSpaceConverter { public float[] toRGB(float[] in) { - return null; + throw new UnsupportedOperationException(); } public float[] fromRGB(float[] in) { - return null; + throw new UnsupportedOperationException(); } public float[] toCIEXYZ(float[] in) { - return null; + throw new UnsupportedOperationException(); } public float[] fromCIEXYZ(float[] in) { - return null; + throw new UnsupportedOperationException(); } } diff --git a/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java b/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java index 4f922982273..b68fa105803 100644 --- a/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java +++ b/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java @@ -61,11 +61,13 @@ public class GtkDragSourceContextPeer private ComponentPeer peer; private Cursor cursor; private DragSourceContext context; + public static Component target; native void nativeStartDrag(Image i, int x, int y, int action, String target); native void connectSignals(ComponentPeer comp); native void create(ComponentPeer comp); native void nativeSetCursor(int cursor); + native void setTarget(GtkDropTargetContextPeer target); public GtkDragSourceContextPeer(DragGestureEvent e) { @@ -76,10 +78,18 @@ public class GtkDragSourceContextPeer create(peer); connectSignals(peer); cursor = comp.getCursor(); + + // FIXME: Where do we set the target? + + if ((target != null)) + setTarget(new GtkDropTargetContextPeer(target)); } ComponentPeer getComponentPeer(Component c) { + if (c == null) + return null; + Component curr = c; while (curr.getPeer() instanceof LightweightPeer) curr = curr.getParent(); @@ -93,7 +103,7 @@ public class GtkDragSourceContextPeer throws InvalidDnDOperationException { this.context = context; - + if (p == null) p = new Point(); diff --git a/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java b/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java index 50cd95d41ad..f24b3f39bcb 100644 --- a/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java +++ b/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java @@ -50,10 +50,10 @@ public class GtkDropTargetContextPeer extends GtkGenericPeer implements DropTargetContextPeer { - - public GtkDropTargetContextPeer() + + public GtkDropTargetContextPeer(Object obj) { - super(null); + super(obj); } public void setTargetActions(int actions) diff --git a/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java b/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java new file mode 100644 index 00000000000..b2c9912342b --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java @@ -0,0 +1,45 @@ +/* AxisHints.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +class AxisHints +{ + + Segment[] segments; +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Constants.java b/libjava/classpath/gnu/java/awt/font/autofit/Constants.java new file mode 100644 index 00000000000..cb3992825ab --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Constants.java @@ -0,0 +1,61 @@ +/* Constants.java -- Some constants used in the autofitter + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +/** + * Some constants used in the autofitter. + */ +interface Constants +{ + + /** + * The horizontal dimension. + */ + static final int DIMENSION_HORZ = 0; + + /** + * The vertical dimension. + */ + static final int DIMENSION_VERT = 1; + + /** + * The number of dimensions. + */ + static final int DIMENSION_MAX = 2; +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java b/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java new file mode 100644 index 00000000000..ad73a04a69b --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java @@ -0,0 +1,75 @@ +/* GlyphHints.java -- Data and methods for actual hinting + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.truetype.Zone; + +/** + * The data and methods used for the actual hinting process. + */ +class GlyphHints +{ + + int xScale; + int xDelta; + int yScale; + int yDelta; + + AxisHints[] axis; + + void rescale(ScriptMetrics metrics) + { + // TODO: Implement. + } + + void reload(Zone outline) + { + // TODO: Implement. + } + + void computeSegments(int dim) + { + // TODO: Implement. + } + + void linkSegments(int dim) + { + // TODO: Implement. + } +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Latin.java b/libjava/classpath/gnu/java/awt/font/autofit/Latin.java new file mode 100644 index 00000000000..0352b41a45a --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Latin.java @@ -0,0 +1,177 @@ +/* Latin.java -- Latin specific glyph handling + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +import java.awt.geom.AffineTransform; + +import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Zone; + +/** + * Implements Latin specific glyph handling. + */ +class Latin + implements Script, Constants +{ + + private static final int MAX_WIDTHS = 16; + + public void applyHints(GlyphHints hints, ScriptMetrics metrics) + { + // TODO Auto-generated method stub + + } + + public void doneMetrics(ScriptMetrics metrics) + { + // TODO Auto-generated method stub + + } + + /** + * Initializes the hints object. + * + * @param hints the hints to initialize + * @param metrics the metrics to use + */ + public void initHints(GlyphHints hints, ScriptMetrics metrics) + { + hints.rescale(metrics); + LatinMetrics lm = (LatinMetrics) metrics; + hints.xScale = lm.axis[DIMENSION_HORZ].scale; + hints.xDelta = lm.axis[DIMENSION_HORZ].delta; + hints.yScale = lm.axis[DIMENSION_VERT].scale; + hints.yDelta = lm.axis[DIMENSION_VERT].delta; + // TODO: Set the scaler and other flags. + } + + /** + * Initializes the script metrics. + * + * @param metrics the script metrics to initialize + * @param face the font + */ + public void initMetrics(ScriptMetrics metrics, OpenTypeFont face) + { + assert metrics instanceof LatinMetrics; + LatinMetrics lm = (LatinMetrics) metrics; + lm.unitsPerEm = face.unitsPerEm; + + // TODO: Check for latin charmap. + + initWidths(lm, face, 'o'); + initBlues(lm, face); + } + + public void scaleMetrics(ScriptMetrics metrics) + { + // TODO Auto-generated method stub + + } + + /** + * Determines the standard stem widths. + * + * @param metrics the metrics to use + * @param face the font face + * @param ch the character that is used for getting the widths + */ + private void initWidths(LatinMetrics metrics, OpenTypeFont face, char ch) + { + GlyphHints hints = new GlyphHints(); + metrics.axis[DIMENSION_HORZ].widthCount = 0; + metrics.axis[DIMENSION_VERT].widthCount = 0; + int glyphIndex = face.getGlyph(ch); + // TODO: Avoid that AffineTransform constructor and change + // getRawGlyphOutline() to accept null or remove that parameter altogether. + // Consider this when the thing is done and we know what we need that for. + Zone outline = face.getRawGlyphOutline(glyphIndex, new AffineTransform()); + LatinMetrics dummy = new LatinMetrics(); + Scaler scaler = dummy.scaler; + dummy.unitsPerEm = metrics.unitsPerEm; + scaler.xScale = scaler.yScale = 10000; + scaler.xDelta = scaler.yDelta = 0; + scaler.face = face; + hints.rescale(dummy); + hints.reload(outline); + for (int dim = 0; dim < DIMENSION_MAX; dim++) + { + LatinAxis axis = metrics.axis[dim]; + AxisHints axHints = hints.axis[dim]; + int numWidths = 0; + hints.computeSegments(dim); + hints.linkSegments(dim); + Segment[] segs = axHints.segments; + for (int i = 0; i < segs.length; i++) + { + Segment seg = segs[i]; + Segment link = seg.link; + if (link != null && link.link == seg && link.index > i) + { + int dist = Math.abs(seg.pos - link.pos); + if (numWidths < MAX_WIDTHS) + axis.widths[numWidths++].org = dist; + } + } + } + for (int dim = 0; dim < DIMENSION_MAX; dim++) + { + LatinAxis axis = metrics.axis[dim]; + int stdw = axis.widthCount > 0 ? axis.widths[0].org + : constant(metrics, 50); + axis.edgeDistanceTreshold= stdw / 5; + } + } + + /** + * Initializes the blue zones of the font. + * + * @param metrics the metrics to use + * @param face the font face to analyze + */ + private void initBlues(LatinMetrics metrics, OpenTypeFont face) + { + // TODO: Implement. + } + + private int constant(LatinMetrics metrics, int c) + { + return c * (metrics.unitsPerEm / 2048); + } +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java new file mode 100644 index 00000000000..8ca1e6d9ed2 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java @@ -0,0 +1,53 @@ +/* LatinAxis.java -- Axis specific data + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +/** + * Some axis specific data. + */ +class LatinAxis +{ + + int scale; + int delta; + + int widthCount; + Width[] widths; + float edgeDistanceTreshold; +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java new file mode 100644 index 00000000000..cd955348b37 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java @@ -0,0 +1,51 @@ +/* LatinMetrics.java -- Latin specific metrics data + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +/** + * Latin specific metrics data. + */ +class LatinMetrics + extends ScriptMetrics +{ + + LatinAxis[] axis; + + int unitsPerEm; +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java b/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java new file mode 100644 index 00000000000..10518512578 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java @@ -0,0 +1,52 @@ +/* Scaler.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.OpenTypeFont; + +class Scaler +{ + + int xScale; + int xDelta; + int yScale; + int yDelta; + OpenTypeFont face; + +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Script.java b/libjava/classpath/gnu/java/awt/font/autofit/Script.java new file mode 100644 index 00000000000..3b353010f2d --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Script.java @@ -0,0 +1,62 @@ +/* Script.java -- Defines script specific interface to the autofitter + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.OpenTypeFont; + +/** + * Defines script specific methods for the auto fitter. + */ +interface Script +{ + + /** + * Initializes the metrics. + */ + void initMetrics(ScriptMetrics metrics, OpenTypeFont face); + + void scaleMetrics(ScriptMetrics metrics/* , scaler, map this */); + + void doneMetrics(ScriptMetrics metrics); + + void initHints(GlyphHints hints, ScriptMetrics metrics); + + void applyHints(GlyphHints hints, /* some outline object, */ + ScriptMetrics metrics); +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java b/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java new file mode 100644 index 00000000000..77c815ae59d --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java @@ -0,0 +1,49 @@ +/* ScriptMetrics.java -- Script specific metrics data + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +/** + * Script specific metrics data. + */ +class ScriptMetrics +{ + + Script script; + Scaler scaler; +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Segment.java b/libjava/classpath/gnu/java/awt/font/autofit/Segment.java new file mode 100644 index 00000000000..32032a48fcc --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Segment.java @@ -0,0 +1,47 @@ +/* Segment.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +class Segment +{ + + Segment link; + int index; + int pos; +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Width.java b/libjava/classpath/gnu/java/awt/font/autofit/Width.java new file mode 100644 index 00000000000..d4d540069ee --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Width.java @@ -0,0 +1,46 @@ +/* Width.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 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. */ + + +package gnu.java.awt.font.autofit; + +public class Width +{ + int org; + int cur; + int fit; +} diff --git a/libjava/classpath/gnu/java/awt/font/opentype/CharGlyphMap.java b/libjava/classpath/gnu/java/awt/font/opentype/CharGlyphMap.java index 6ada3b147c6..184075094b6 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/CharGlyphMap.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/CharGlyphMap.java @@ -61,7 +61,7 @@ import java.nio.IntBuffer; * * @author Sascha Brawer (brawer@dandelis.ch) */ -abstract class CharGlyphMap +public abstract class CharGlyphMap { private static final int PLATFORM_UNICODE = 0; private static final int PLATFORM_MACINTOSH = 1; diff --git a/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java b/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java index 9ee28d76bb4..efc30811f7b 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java @@ -52,6 +52,7 @@ import java.util.Locale; import gnu.java.awt.font.FontDelegate; import gnu.java.awt.font.GNUGlyphVector; import gnu.java.awt.font.opentype.truetype.TrueTypeScaler; +import gnu.java.awt.font.opentype.truetype.Zone; /** @@ -117,7 +118,7 @@ public final class OpenTypeFont * OpenType fonts with PostScript outlines, other values are * acceptable (such as 1000). */ - private int unitsPerEm; + public int unitsPerEm; /** @@ -697,6 +698,20 @@ public final class OpenTypeFont antialias, fractionalMetrics); } + /** + * Fetches the raw glyph outline for the specified glyph index. This is used + * for the autofitter only ATM and is otherwise not usable for outside code. + * + * @param glyph the glyph index to fetch + * @param transform the transform to apply + * + * @return the raw outline of that glyph + */ + public synchronized Zone getRawGlyphOutline(int glyph, + AffineTransform transform) + { + return scaler.getRawOutline(glyph, transform); + } /** * Returns a name for the specified glyph. This is useful for diff --git a/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java b/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java index 499c3ea526c..83a31c576c7 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.awt.font.opentype; +import gnu.java.awt.font.opentype.truetype.Zone; + import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.awt.geom.Point2D; @@ -189,4 +191,14 @@ public abstract class Scaler boolean antialiased, boolean fractionalMetrics, boolean horizontal); + + /** + * Returns the raw outline data. This is used for the autofitter atm. + * + * @param glyph the glyph index + * @param transform the transform to apply + * + * @return the raw glyph outline + */ + public abstract Zone getRawOutline(int glyph, AffineTransform transform); } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java index b12d7782b23..3733afe92d8 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java @@ -119,6 +119,11 @@ final class GlyphLoader 0, 0); } + public void loadGlyph(int glyphIndex, AffineTransform transform, + Zone glyphZone) + { + loadGlyph(glyphIndex, unitsPerEm, transform, false, glyphZone); + } private void loadSubGlyph(int glyphIndex, double pointSize, diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java index e4d7309cb55..8dfdeff0790 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java @@ -198,6 +198,12 @@ public final class TrueTypeScaler return glyphZone.getPath(); } + public Zone getRawOutline(int glyphIndex, AffineTransform transform) + { + Zone zone = new Zone(glyphZone.getCapacity()); + glyphLoader.loadGlyph(glyphIndex, transform, zone); + return zone; + } /** * Determines the advance width and height for a glyph. diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java index c0a3947f684..ff5bb631619 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java @@ -45,7 +45,7 @@ import java.awt.geom.PathIterator; /** * A collection of points with some additional information. */ -final class Zone +public final class Zone { private final int[] pos; private final int[] origPos; diff --git a/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java b/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java index 9d017240d60..da21253980f 100644 --- a/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java @@ -100,6 +100,20 @@ import java.util.Map; * {@link #updateRaster(Raster, int, int, int, int)} method, which always gets * called after a chunk of data got painted into the raster. *

+ *

Alternativly the backend can provide a method for filling Shapes by + * overriding the protected method fillShape(). This can be accomplished + * by a polygon filling function of the backend. Keep in mind though that + * Shapes can be quite complex (i.e. non-convex and containing holes, etc) + * which is not supported by all polygon fillers. Also it must be noted + * that fillShape() is expected to handle painting and compositing as well as + * clipping and transformation. If your backend can't support this natively, + * then you can fallback to the implementation in this class. You'll need + * to provide a writable Raster then, see above.

+ *

Another alternative is to implement fillScanline() which only requires + * the backend to be able to draw horizontal lines in device space, + * which is usually very cheap. + * The implementation should still handle painting and compositing, + * but no more clipping and transformation is required by the backend.

*

The backend is free to provide implementations for the various raw* * methods for optimized AWT 1.1 style painting of some primitives. This should * accelerate painting of Swing greatly. When doing so, the backend must also @@ -126,6 +140,9 @@ import java.util.Map; * in plain Java because they involve lots of shuffling around with large * arrays. In fact, you really would want to let the graphics card to the * work, they are made for this. + *

  • Provide an accelerated implementation for fillShape(). For instance, + * OpenGL can fill shapes very efficiently. There are some considerations + * to be made though, see above for details.
  • * *

    * @@ -143,6 +160,12 @@ public abstract class AbstractGraphics2D */ private static final int AA_SAMPLING = 8; + /** + * Caches certain shapes to avoid massive creation of such Shapes in + * the various draw* and fill* methods. + */ + private static final ThreadLocal shapeCache = new ThreadLocal(); + /** * The transformation for this Graphics2D instance */ @@ -183,11 +206,6 @@ public abstract class AbstractGraphics2D */ private RenderingHints renderingHints; - /** - * The paint raster. - */ - private Raster paintRaster; - /** * The raster of the destination surface. This is where the painting is * performed. @@ -219,7 +237,7 @@ public abstract class AbstractGraphics2D * AbstractGraphics2D object and will be the most commonly used setting * in Swing rendering and should therefore be optimized as much as possible. */ - private boolean isOptimized; + private boolean isOptimized = true; /** * Creates a new AbstractGraphics2D instance. @@ -270,7 +288,6 @@ public abstract class AbstractGraphics2D public boolean drawImage(Image image, AffineTransform xform, ImageObserver obs) { - boolean ret = false; Rectangle areaOfInterest = new Rectangle(0, 0, image.getWidth(obs), image.getHeight(obs)); return drawImageImpl(image, xform, obs, areaOfInterest); @@ -982,7 +999,8 @@ public abstract class AbstractGraphics2D else copy.clip = new GeneralPath(clip); - copy.renderingHints = new RenderingHints(renderingHints); + copy.renderingHints = new RenderingHints(null); + copy.renderingHints.putAll(renderingHints); copy.transform = new AffineTransform(transform); // The remaining state is inmmutable and doesn't need to be copied. return copy; @@ -1143,14 +1161,31 @@ public abstract class AbstractGraphics2D { if (isOptimized) { - int tx = (int) transform.getTranslateX(); - int ty = (int) transform.getTranslateY(); - rawDrawLine(x1 + tx, y1 + ty, x2 + tx, y2 + ty); + rawDrawLine(x1, y1, x2, y2); } else { - Line2D line = new Line2D.Double(x1, y1, x2, y2); - draw(line); + ShapeCache sc = getShapeCache(); + if (sc.line == null) + sc.line = new Line2D.Float(); + sc.line.setLine(x1, y1, x2, y2); + draw(sc.line); + } + } + + public void drawRect(int x, int y, int w, int h) + { + if (isOptimized) + { + rawDrawRect(x, y, w, h); + } + else + { + ShapeCache sc = getShapeCache(); + if (sc.rect == null) + sc.rect = new Rectangle(); + sc.rect.setBounds(x, y, w, h); + draw(sc.rect); } } @@ -1166,13 +1201,15 @@ public abstract class AbstractGraphics2D { if (isOptimized) { - int tx = (int) transform.getTranslateX(); - int ty = (int) transform.getTranslateY(); - rawFillRect(x + tx, y + ty, width, height); + rawFillRect(x, y, width, height); } else { - fill(new Rectangle(x, y, width, height)); + ShapeCache sc = getShapeCache(); + if (sc.rect == null) + sc.rect = new Rectangle(); + sc.rect.setBounds(x, y, width, height); + fill(sc.rect); } } @@ -1213,8 +1250,11 @@ public abstract class AbstractGraphics2D public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) { - draw(new RoundRectangle2D.Double(x, y, width, height, arcWidth, - arcHeight)); + ShapeCache sc = getShapeCache(); + if (sc.roundRect == null) + sc.roundRect = new RoundRectangle2D.Float(); + sc.roundRect.setRoundRect(x, y, width, height, arcWidth, arcHeight); + draw(sc.roundRect); } /** @@ -1230,8 +1270,11 @@ public abstract class AbstractGraphics2D public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) { - fill(new RoundRectangle2D.Double(x, y, width, height, arcWidth, - arcHeight)); + ShapeCache sc = getShapeCache(); + if (sc.roundRect == null) + sc.roundRect = new RoundRectangle2D.Float(); + sc.roundRect.setRoundRect(x, y, width, height, arcWidth, arcHeight); + fill(sc.roundRect); } /** @@ -1244,7 +1287,11 @@ public abstract class AbstractGraphics2D */ public void drawOval(int x, int y, int width, int height) { - draw(new Ellipse2D.Double(x, y, width, height)); + ShapeCache sc = getShapeCache(); + if (sc.ellipse == null) + sc.ellipse = new Ellipse2D.Float(); + sc.ellipse.setFrame(x, y, width, height); + draw(sc.ellipse); } /** @@ -1257,7 +1304,11 @@ public abstract class AbstractGraphics2D */ public void fillOval(int x, int y, int width, int height) { - fill(new Ellipse2D.Double(x, y, width, height)); + ShapeCache sc = getShapeCache(); + if (sc.ellipse == null) + sc.ellipse = new Ellipse2D.Float(); + sc.ellipse.setFrame(x, y, width, height); + fill(sc.ellipse); } /** @@ -1266,8 +1317,11 @@ public abstract class AbstractGraphics2D public void drawArc(int x, int y, int width, int height, int arcStart, int arcAngle) { - draw(new Arc2D.Double(x, y, width, height, arcStart, arcAngle, - Arc2D.OPEN)); + ShapeCache sc = getShapeCache(); + if (sc.arc == null) + sc.arc = new Arc2D.Float(); + sc.arc.setArc(x, y, width, height, arcStart, arcAngle, Arc2D.OPEN); + draw(sc.arc); } /** @@ -1276,8 +1330,11 @@ public abstract class AbstractGraphics2D public void fillArc(int x, int y, int width, int height, int arcStart, int arcAngle) { - fill(new Arc2D.Double(x, y, width, height, arcStart, arcAngle, - Arc2D.OPEN)); + ShapeCache sc = getShapeCache(); + if (sc.arc == null) + sc.arc = new Arc2D.Float(); + sc.arc.setArc(x, y, width, height, arcStart, arcAngle, Arc2D.PIE); + draw(sc.arc); } public void drawPolyline(int[] xPoints, int[] yPoints, int npoints) @@ -1291,7 +1348,13 @@ public abstract class AbstractGraphics2D */ public void drawPolygon(int[] xPoints, int[] yPoints, int npoints) { - draw(new Polygon(xPoints, yPoints, npoints)); + ShapeCache sc = getShapeCache(); + if (sc.polygon == null) + sc.polygon = new Polygon(); + sc.polygon.xpoints = xPoints; + sc.polygon.ypoints = yPoints; + sc.polygon.npoints = npoints; + draw(sc.polygon); } /** @@ -1299,7 +1362,13 @@ public abstract class AbstractGraphics2D */ public void fillPolygon(int[] xPoints, int[] yPoints, int npoints) { - fill(new Polygon(xPoints, yPoints, npoints)); + ShapeCache sc = getShapeCache(); + if (sc.polygon == null) + sc.polygon = new Polygon(); + sc.polygon.xpoints = xPoints; + sc.polygon.ypoints = yPoints; + sc.polygon.npoints = npoints; + fill(sc.polygon); } /** @@ -1460,8 +1529,12 @@ public abstract class AbstractGraphics2D } /** - * Fills the specified shape. The shape has already been clipped against the - * current clip. + * Fills the specified shape. Override this if your backend can efficiently + * fill shapes. This is possible on many systems via a polygon fill + * method or something similar. But keep in mind that Shapes can be quite + * complex (non-convex, with holes etc), which is not necessarily supported + * by all polygon fillers. Also note that you must perform clipping + * before filling the shape. * * @param s the shape to fill * @param isFont true if the shape is a font outline @@ -1533,6 +1606,11 @@ public abstract class AbstractGraphics2D draw(new Line2D.Float(x0, y0, x1, y1)); } + protected void rawDrawRect(int x, int y, int w, int h) + { + draw(new Rectangle(x, y, w, h)); + } + /** * Draws a string in optimization mode. The implementation should respect the * clip and translation. It can assume that the clip is a rectangle and that @@ -1627,11 +1705,7 @@ public abstract class AbstractGraphics2D } /** - * Fills the specified polygon. This should be overridden by backends - * that support accelerated (native) polygon filling, which is the - * case for most toolkit window and offscreen image implementations. - * - * The polygon is already clipped when this method is called. + * Fills the specified polygon without anti-aliasing. */ private void fillShapeImpl(ArrayList segs, Rectangle2D deviceBounds2D, Rectangle2D userBounds, @@ -1662,7 +1736,7 @@ public abstract class AbstractGraphics2D for (Iterator i = segs.iterator(); i.hasNext();) { PolyEdge edge = (PolyEdge) i.next(); - int yindex = (int) ((int) Math.ceil(edge.y0) - (int) Math.ceil(icMinY)); + int yindex = (int) Math.ceil(edge.y0) - (int) Math.ceil(icMinY); if (edgeTable[yindex] == null) // Create bucket when needed. edgeTable[yindex] = new ArrayList(); edgeTable[yindex].add(edge); // Add edge to the bucket of its line. @@ -1766,7 +1840,8 @@ public abstract class AbstractGraphics2D } /** - * Paints a scanline between x0 and x1. + * Paints a scanline between x0 and x1. Override this when your backend + * can efficiently draw/fill horizontal lines. * * @param x0 the left offset * @param x1 the right offset @@ -1972,8 +2047,7 @@ public abstract class AbstractGraphics2D // Render full scanline. //System.err.println("scanline: " + y); if (! emptyScanline) - fillScanlineAA(alpha, leftX, (int) y, rightX - leftX, pCtx, - (int) minX); + fillScanlineAA(alpha, leftX, y, rightX - leftX, pCtx, (int) minX); } pCtx.dispose(); @@ -1986,7 +2060,7 @@ public abstract class AbstractGraphics2D * * @param alpha the alpha values in the scanline * @param x0 the beginning of the scanline - * @param y the y coordinate of the line + * @param yy the y coordinate of the line */ private void fillScanlineAA(int[] alpha, int x0, int yy, int numPixels, PaintContext pCtx, int offs) @@ -1997,7 +2071,6 @@ public abstract class AbstractGraphics2D Raster paintRaster = pCtx.getRaster(x0, yy, numPixels, 1); //System.err.println("paintColorModel: " + pCtx.getColorModel()); WritableRaster aaRaster = paintRaster.createCompatibleWritableRaster(); - int numBands = paintRaster.getNumBands(); ColorModel cm = pCtx.getColorModel(); double lastAlpha = 0.; int lastAlphaInt = 0; @@ -2156,10 +2229,10 @@ public abstract class AbstractGraphics2D private static Rectangle computeIntersection(int x, int y, int w, int h, Rectangle rect) { - int x2 = (int) rect.x; - int y2 = (int) rect.y; - int w2 = (int) rect.width; - int h2 = (int) rect.height; + int x2 = rect.x; + int y2 = rect.y; + int w2 = rect.width; + int h2 = rect.height; int dx = (x > x2) ? x : x2; int dy = (y > y2) ? y : y2; @@ -2266,4 +2339,20 @@ public abstract class AbstractGraphics2D deviceBounds.setRect(minX, minY, maxX - minX, maxY - minY); return segs; } + + /** + * Returns the ShapeCache for the calling thread. + * + * @return the ShapeCache for the calling thread + */ + private ShapeCache getShapeCache() + { + ShapeCache sc = (ShapeCache) shapeCache.get(); + if (sc == null) + { + sc = new ShapeCache(); + shapeCache.set(sc); + } + return sc; + } } diff --git a/libjava/classpath/gnu/java/awt/java2d/QuadSegment.java b/libjava/classpath/gnu/java/awt/java2d/QuadSegment.java index 5e15fe881d8..97a5372f6bd 100644 --- a/libjava/classpath/gnu/java/awt/java2d/QuadSegment.java +++ b/libjava/classpath/gnu/java/awt/java2d/QuadSegment.java @@ -145,7 +145,52 @@ public class QuadSegment extends Segment Point2D cp; QuadSegment s; - if( plus ) + if(!plus) + { + n1[0] = -n1[0]; + n1[1] = -n1[1]; + n2[0] = -n2[0]; + n2[1] = -n2[1]; + } + + // Handle special cases where the control point is equal to an end point + // or end points are equal (ie, straight lines) + if (curve.getP1().equals(curve.getCtrlPt())) + { + cp = curve.getCtrlPt(); + cp.setLocation(cp.getX() + n2[0], cp.getY() + n2[1]); + n1[0] = n2[0]; + n1[1] = n2[1]; + } + else if (curve.getP2().equals(curve.getCtrlPt())) + { + cp = curve.getCtrlPt(); + cp.setLocation(cp.getX() + n1[0], cp.getY() + n1[1]); + n2[0] = n1[0]; + n2[1] = n1[1]; + } + else if (curve.getP1().equals(curve.getP2())) + { + cp = curve.getCtrlPt(); + + double deltaX = curve.getX1() - curve.getCtrlX(); + double deltaY = curve.getY1() - curve.getCtrlY(); + double length = Math.sqrt((deltaX * deltaX) + (deltaY * deltaY)); + double ratio = radius / length; + deltaX *= ratio; + deltaY *= ratio; + + if (plus) + cp.setLocation(cp.getX() + deltaX, cp.getY() + deltaY); + else + cp.setLocation(cp.getX() - deltaX, cp.getY() - deltaY); + } + else if (n1[0] == n2[0] && n1[1] == n2[1]) + { + cp = curve.getCtrlPt(); + cp.setLocation(cp.getX() + n1[0], cp.getY() + n1[1]); + } + else { cp = lineIntersection(curve.getX1() + n1[0], curve.getY1() + n1[1], @@ -155,25 +200,11 @@ public class QuadSegment extends Segment curve.getCtrlY() + n2[1], curve.getX2() + n2[0], curve.getY2() + n2[1], true); - s = new QuadSegment(curve.getX1() + n1[0], curve.getY1() + n1[1], - cp.getX(), cp.getY(), - curve.getX2() + n2[0], curve.getY2() + n2[1]); - } - else - { - cp = lineIntersection(curve.getX1() - n1[0], - curve.getY1() - n1[1], - curve.getCtrlX() - n1[0], - curve.getCtrlY() - n1[1], - curve.getCtrlX() - n2[0], - curve.getCtrlY() - n2[1], - curve.getX2() - n2[0], - curve.getY2() - n2[1], true); - - s = new QuadSegment(curve.getX1() - n1[0], curve.getY1() - n1[1], - cp.getX(), cp.getY(), - curve.getX2() - n2[0], curve.getY2() - n2[1]); } + + s = new QuadSegment(curve.getX1() + n1[0], curve.getY1() + n1[1], + cp.getX(), cp.getY(), + curve.getX2() + n2[0], curve.getY2() + n2[1]); return s; } diff --git a/libjava/classpath/gnu/java/awt/java2d/ShapeCache.java b/libjava/classpath/gnu/java/awt/java2d/ShapeCache.java new file mode 100644 index 00000000000..034b53cadd3 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/ShapeCache.java @@ -0,0 +1,85 @@ +/* ShapeCache.java -- Caches certain Shapes for reuse in AbstractGraphics2D + Copyright (C) 2006 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. */ + + +package gnu.java.awt.java2d; + +import java.awt.Polygon; +import java.awt.Rectangle; +import java.awt.geom.Arc2D; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Line2D; +import java.awt.geom.RoundRectangle2D; + +/** + * Caches certain Shape objects for reuse in AbstractGraphics2D. This avoids + * massive creation of such objects. + */ +public class ShapeCache +{ + + /** + * A cached Line2D. + */ + public Line2D line; + + /** + * A cached Rectangle. + */ + public Rectangle rect; + + /** + * A cached RoundRectangle2D. + */ + public RoundRectangle2D roundRect; + + /** + * A cached Ellipse2D. + */ + public Ellipse2D ellipse; + + /** + * A cached Arc2D. + */ + public Arc2D arc; + + /** + * A cached Polygon. + */ + public Polygon polygon; + +} diff --git a/libjava/classpath/gnu/java/awt/java2d/TexturePaintContext.java b/libjava/classpath/gnu/java/awt/java2d/TexturePaintContext.java index 1a782ce07e3..db0a2e65804 100644 --- a/libjava/classpath/gnu/java/awt/java2d/TexturePaintContext.java +++ b/libjava/classpath/gnu/java/awt/java2d/TexturePaintContext.java @@ -104,7 +104,7 @@ public class TexturePaintContext double scaleY = anchor.getHeight() / image.getHeight(); transform = (AffineTransform) xform.clone(); transform.scale(scaleX, scaleY); - transform.translate(-anchor.getMinX(), -anchor.getMaxX()); + transform.translate(-anchor.getMinX(), -anchor.getMinY()); transform = transform.createInverse(); } catch (NoninvertibleTransformException ex) @@ -177,6 +177,12 @@ public class TexturePaintContext // The modulo operation gives us the replication effect. dx = ((dx - minX) % width) + minX; dy = ((dy - minY) % height) + minY; + + // Handle possible negative values (replicating above the top-left) + if (dx < 0) + dx += width; + if (dy < 0) + dy += height; // Copy the pixel. pixel = source.getDataElements(dx, dy, pixel); diff --git a/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java b/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java index dad7bb0b08f..2176f34a5f1 100644 --- a/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java @@ -832,18 +832,4 @@ public abstract class ClasspathFontPeer public abstract Rectangle2D getMaxCharBounds (Font font, FontRenderContext rc); - /** - * Implementation of {@link Font#getStringBounds(CharacterIterator, int, - * int, FontRenderContext)} - * - * @param font the font this peer is being called from. This may be - * useful if you are sharing peers between Font objects. Otherwise it may - * be ignored. - */ - - public abstract Rectangle2D getStringBounds (Font font, - CharacterIterator ci, - int begin, int limit, - FontRenderContext frc); - } diff --git a/libjava/classpath/gnu/java/awt/peer/GLightweightPeer.java b/libjava/classpath/gnu/java/awt/peer/GLightweightPeer.java index 88733b92f8c..f9a7bac8ee6 100644 --- a/libjava/classpath/gnu/java/awt/peer/GLightweightPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/GLightweightPeer.java @@ -54,25 +54,14 @@ import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import java.awt.event.PaintEvent; import java.awt.image.ColorModel; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; import java.awt.image.VolatileImage; -import java.awt.peer.ComponentPeer; import java.awt.peer.ContainerPeer; import java.awt.peer.LightweightPeer; -/* - * Another possible implementation strategy for lightweight peers is - * to make GLightweightPeer a placeholder class that implements - * LightweightPeer. Then the Component and Container classes could - * identify a peer as lightweight and handle it specially. The - * current approach is probably more clear but less efficient. - */ - /** * A stub class that implements the ComponentPeer and ContainerPeer * interfaces using callbacks into the Component and Container @@ -85,47 +74,48 @@ import java.awt.peer.LightweightPeer; public class GLightweightPeer implements LightweightPeer, ContainerPeer { - private Component comp; - - private Insets containerInsets; - - public GLightweightPeer(Component comp) + public GLightweightPeer() { - this.comp = comp; + // Nothing to do here. } // -------- java.awt.peer.ContainerPeer implementation: public Insets insets() { - return getInsets (); + // Nothing to do here for lightweights. + return null; } public Insets getInsets() { - if (containerInsets == null) - containerInsets = new Insets (0,0,0,0); - return containerInsets; + // Nothing to do here for lightweights. + return null; } public void beginValidate() { + // Nothing to do here for lightweights. } public void endValidate() { + // Nothing to do here for lightweights. } public void beginLayout() { + // Nothing to do here for lightweights. } public void endLayout() { + // Nothing to do here for lightweights. } public boolean isPaintPending() { + // Nothing to do here for lightweights. return false; } @@ -133,122 +123,188 @@ public class GLightweightPeer public int checkImage(Image img, int width, int height, ImageObserver o) { - return comp.getToolkit().checkImage(img, width, height, o); + // Nothing to do here for lightweights. + return -1; } public Image createImage(ImageProducer prod) { - return comp.getToolkit().createImage(prod); + // Nothing to do here for lightweights. + return null; } /* This method is not called. */ public Image createImage(int width, int height) { + // Nothing to do here for lightweights. return null; } - public void disable() {} + public void disable() + { + // Nothing to do here for lightweights. + } - public void dispose() {} + public void dispose() + { + // Nothing to do here for lightweights. + } - public void enable() {} + public void enable() + { + // Nothing to do here for lightweights. + } public GraphicsConfiguration getGraphicsConfiguration() { + // Nothing to do here for lightweights. return null; } public FontMetrics getFontMetrics(Font f) { - return comp.getToolkit().getFontMetrics(f); + // We shouldn't end up here, but if we do we can still try do something + // reasonable. + Toolkit tk = Toolkit.getDefaultToolkit(); + return tk.getFontMetrics(f); } /* Returning null here tells the Component object that called us to * use its parent's Graphics. */ public Graphics getGraphics() { + // Nothing to do here for lightweights. return null; } public Point getLocationOnScreen() { - Point parentLocation = comp.getParent().getLocationOnScreen(); - return new Point (parentLocation.x + comp.getX(), - parentLocation.y + comp.getY()); + // Nothing to do here for lightweights. + return null; } public Dimension getMinimumSize() { - return new Dimension(comp.getWidth(), comp.getHeight()); + return minimumSize(); } - /* A lightweight component's preferred size is equivalent to its - * Component width and height values. */ public Dimension getPreferredSize() { - return new Dimension(comp.getWidth(), comp.getHeight()); + return preferredSize(); } /* Returning null here tells the Component object that called us to * use its parent's Toolkit. */ public Toolkit getToolkit() { + // Nothing to do here for lightweights. return null; } - public void handleEvent(AWTEvent e) {} + public void handleEvent(AWTEvent e) + { + // This can only happen when an application posts a PaintEvent for + // a lightweight component directly. We still support painting for + // this case. + if (e instanceof PaintEvent) + { + PaintEvent pe = (PaintEvent) e; + Component target = (Component) e.getSource(); + if (target != null && target.isShowing()) + { + Graphics g = target.getGraphics(); + if (g != null) + { + try + { + Rectangle clip = pe.getUpdateRect(); + g.setClip(clip); + target.paint(g); + } + finally + { + g.dispose(); + } + } + } + } + } - public void hide() {} + public void hide() + { + // Nothing to do here for lightweights. + } public boolean isFocusable() { + // Nothing to do here for lightweights. return false; } public boolean isFocusTraversable() { + // Nothing to do here for lightweights. return false; } public Dimension minimumSize() { - return getMinimumSize(); + return new Dimension(0, 0); } public Dimension preferredSize() { - return getPreferredSize(); + return new Dimension(0, 0); } - public void paint(Graphics graphics) {} + public void paint(Graphics graphics) + { + // Nothing to do here for lightweights. + } public boolean prepareImage(Image img, int width, int height, ImageObserver o) { - return comp.getToolkit().prepareImage(img, width, height, o); + // Nothing to do here for lightweights. + return false; } - public void print(Graphics graphics) {} + public void print(Graphics graphics) + { + // Nothing to do here for lightweights. + } public void repaint(long tm, int x, int y, int width, int height) { - Component p = comp.getParent(); - if (p != null) - p.repaint(tm, x + comp.getX(), y + comp.getY(), width, height); + // Nothing to do here for lightweights. } - public void requestFocus() {} + public void requestFocus() + { + // Nothing to do here for lightweights. + } - public boolean requestFocus(Component source, boolean bool1, boolean bool2, long x) + public boolean requestFocus(Component source, boolean bool1, boolean bool2, + long x) { + // Nothing to do here for lightweights. return false; } - public void reshape(int x, int y, int width, int height) {} + public void reshape(int x, int y, int width, int height) + { + // Nothing to do here for lightweights. + } - public void setBackground(Color color) {} + public void setBackground(Color color) + { + // Nothing to do here for lightweights. + } - public void setBounds(int x, int y, int width, int height) {} + public void setBounds(int x, int y, int width, int height) + { + // Nothing to do here for lightweights. + } /** * Sets the cursor on the heavy-weight parent peer. @@ -256,110 +312,141 @@ public class GLightweightPeer */ public void setCursor(Cursor cursor) { - Component p = comp.getParent(); - while (p != null && p.isLightweight()) - p = p.getParent(); - - if (p != null) - { - // Don't actually change the cursor of the component - // otherwise other childs inherit this cursor. - ComponentPeer peer = p.getPeer(); - if (peer != null) - peer.setCursor(cursor); - } + // Nothing to do here for lightweights. } - public void setEnabled(boolean enabled) {} + public void setEnabled(boolean enabled) + { + // Nothing to do here for lightweights. + } - public void setEventMask(long eventMask) {} + public void setEventMask(long eventMask) + { + // Nothing to do here for lightweights. + } - public void setFont(Font font) {} + public void setFont(Font font) + { + // Nothing to do here for lightweights. + } - public void setForeground(Color color) {} + public void setForeground(Color color) + { + // Nothing to do here for lightweights. + } - public void setVisible(boolean visible) {} + public void setVisible(boolean visible) + { + // Nothing to do here for lightweights. + } - public void show() {} + public void show() + { + // Nothing to do here for lightweights. + } - public ColorModel getColorModel () + public ColorModel getColorModel() { - return comp.getColorModel (); + // Nothing to do here for lightweights. + return null; } public boolean isObscured() { + // Nothing to do here for lightweights. return false; } public boolean canDetermineObscurity() { + // Nothing to do here for lightweights. return false; } - public void coalescePaintEvent(PaintEvent e) { } + public void coalescePaintEvent(PaintEvent e) + { + // Nothing to do here for lightweights. + } - public void updateCursorImmediately() { } + public void updateCursorImmediately() + { + // Nothing to do here for lightweights. + } public VolatileImage createVolatileImage(int width, int height) { + // Nothing to do here for lightweights. return null; } public boolean handlesWheelScrolling() { + // Nothing to do here for lightweights. return false; } public void createBuffers(int x, BufferCapabilities capabilities) - throws AWTException { } + throws AWTException + { + // Nothing to do here for lightweights. + } public Image getBackBuffer() { + // Nothing to do here for lightweights. return null; } - public void flip(BufferCapabilities.FlipContents contents) { } + public void flip(BufferCapabilities.FlipContents contents) + { + // Nothing to do here for lightweights. + } - public void destroyBuffers() { } + public void destroyBuffers() + { + // Nothing to do here for lightweights. + } public boolean isRestackSupported() { + // Nothing to do here for lightweights. return false; } public void cancelPendingPaint(int x, int y, int width, int height) { - + // Nothing to do here for lightweights. } public void restack() { - + // Nothing to do here for lightweights. } public Rectangle getBounds() { + // Nothing to do here for lightweights. return null; } public void reparent(ContainerPeer parent) { - + // Nothing to do here for lightweights. } public void setBounds(int x, int y, int z, int width, int height) { - + // Nothing to do here for lightweights. } public boolean isReparentSupported() { - return false; + // Nothing to do here for lightweights. + return true; } public void layout() { - + // Nothing to do here for lightweights. } } diff --git a/libjava/classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java b/libjava/classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java new file mode 100644 index 00000000000..962ecd9904e --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java @@ -0,0 +1,58 @@ +/* NativeEventLoopRunningEvent.java -- communicates to EventQueue the + state of the native event loop + Copyright (C) 2006 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. */ + +package gnu.java.awt.peer; + +import java.awt.AWTEvent; + +public class NativeEventLoopRunningEvent + extends AWTEvent +{ + private boolean running; + + public NativeEventLoopRunningEvent(Object source) + { + super(source, 2999); + running = ((Boolean) source).booleanValue(); + } + + public boolean isRunning() + { + return running; + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java b/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java new file mode 100644 index 00000000000..5238bfe7410 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java @@ -0,0 +1,283 @@ +/* AsyncImage.java -- Loads images asynchronously + Copyright (C) 2006 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. */ + + +package gnu.java.awt.peer.gtk; + +import java.awt.Graphics; +import java.awt.Image; +import java.awt.image.ImageConsumer; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; + +/** + * Supports asynchronous loading of images. + */ +public class AsyncImage + extends Image +{ + + /** + * Returned as source as long as the image is not complete. + */ + private class NullImageSource + implements ImageProducer + { + private ArrayList consumers; + + NullImageSource() + { + consumers = new ArrayList(); + } + + public void addConsumer(ImageConsumer ic) + { + consumers.add(ic); + } + + public boolean isConsumer(ImageConsumer ic) + { + return consumers.contains(ic); + } + + public void removeConsumer(ImageConsumer ic) + { + consumers.remove(ic); + } + + public void requestTopDownLeftRightResend(ImageConsumer ic) + { + startProduction(ic); + } + + public void startProduction(ImageConsumer ic) + { + consumers.add(ic); + for (int i = consumers.size() - 1; i >= 0; i--) + { + ImageConsumer c = (ImageConsumer) consumers.get(i); + c.setDimensions(1, 1); + ic.imageComplete(ImageConsumer.SINGLEFRAMEDONE); + } + } + + } + + /** + * Loads the image asynchronously. + */ + private class Loader + implements Runnable + { + private URL url; + Loader(URL u) + { + url = u; + } + + public void run() + { + Image image; + try + { + GtkImage gtkImage = new GtkImage(url); + image = CairoSurface.getBufferedImage(gtkImage); + } + catch (IllegalArgumentException iae) + { + image = null; + } + realImage = GtkToolkit.imageOrError(image); + synchronized (AsyncImage.this) + { + notifyObservers(ImageObserver.ALLBITS | ImageObserver.HEIGHT + | ImageObserver.WIDTH | ImageObserver.PROPERTIES); + observers = null; // Not needed anymore. + } + } + } + + /** + * The real image. This is null as long as the image is not complete. + */ + Image realImage; + + /** + * The image observers. + * + * This is package private to avoid accessor methods. + */ + HashSet observers; + + /** + * Creates a new AsyncImage that loads from the specified URL. + */ + AsyncImage(URL url) + { + observers = new HashSet(); + Loader l = new Loader(url); + Thread t = new Thread(l); + t.start(); + } + + public void flush() + { + // Nothing to do here. + } + + public Graphics getGraphics() + { + Image r = realImage; + Graphics g = null; + if (r != null) + g = r.getGraphics(); // Should we return some dummy graphics instead? + return g; + } + + public int getHeight(ImageObserver observer) + { + addObserver(observer); + int height = 0; + Image r = realImage; + if (r != null) + height = r.getHeight(observer); + return height; + } + + public Object getProperty(String name, ImageObserver observer) + { + addObserver(observer); + Image r = realImage; + Object prop = null; + if (r != null) + prop = r.getProperty(name, observer); + return prop; + } + + public ImageProducer getSource() + { + Image r = realImage; + ImageProducer source; + if (r == null) + source = new NullImageSource(); + else + source = r.getSource(); + return source; + } + + public int getWidth(ImageObserver observer) + { + addObserver(observer); + int width = 0; + Image r = realImage; + if (r != null) + width = r.getWidth(observer); + return width; + } + + void addObserver(ImageObserver obs) + { + if (obs != null) + { + synchronized (this) + { + // This field gets null when image loading is complete and we don't + // need to store any more observers. + HashSet observs = observers; + if (observs != null) + { + observs.add(obs); + } + else + { + // When the image is complete, notify the observer. Dunno if + // that's really needed, but to be sure. + obs.imageUpdate(this, ImageObserver.WIDTH + | ImageObserver.HEIGHT + |ImageObserver.ALLBITS + | ImageObserver.PROPERTIES, 0, 0, + realImage.getWidth(null), + realImage.getHeight(null)); + } + } + } + } + + static Image realImage(Image img, ImageObserver obs) + { + if (img instanceof AsyncImage) + { + ((AsyncImage) img).addObserver(obs); + Image r = ((AsyncImage) img).realImage; + if (r != null) + img = r; + } + return img; + } + + void notifyObservers(int status) + { + assert Thread.holdsLock(this); + // This field gets null when image loading is complete. + HashSet observs = observers; + if (observs != null) + { + Image r = realImage; + Iterator i = observs.iterator(); + while (i.hasNext()) + { + ImageObserver obs = (ImageObserver) i.next(); + obs.imageUpdate(this, status, 0, 0, r.getWidth(null), + r.getHeight(null)); + } + } + } + + int checkImage(ImageObserver obs) + { + addObserver(obs); + int flags = 0; + if (realImage != null) + flags = ImageObserver.ALLBITS | ImageObserver.WIDTH + | ImageObserver.HEIGHT | ImageObserver.PROPERTIES; + return flags; + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java index 6a74eabc5d6..c792645d3e8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java @@ -38,22 +38,27 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Image; import java.awt.Rectangle; import java.awt.Shape; +import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; -import java.awt.image.DataBuffer; -import java.awt.image.DataBufferInt; import java.awt.image.ColorModel; -import java.awt.image.DirectColorModel; -import java.awt.image.RenderedImage; +import java.awt.image.DataBufferInt; import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.awt.image.Raster; +import java.awt.image.RenderedImage; +import java.awt.image.SinglePixelPackedSampleModel; import java.util.WeakHashMap; /** @@ -67,7 +72,13 @@ public class BufferedImageGraphics extends CairoGraphics2D /** * the buffered Image. */ - private BufferedImage image; + private BufferedImage image, buffer; + + /** + * Allows us to lock the image from updates (if we want to perform a few + * intermediary operations on the cairo surface, then update it all at once) + */ + private boolean locked; /** * Image size. @@ -89,12 +100,6 @@ public class BufferedImageGraphics extends CairoGraphics2D */ private long cairo_t; - /** - * Colormodels we recognize for fast copying. - */ - static ColorModel rgb32 = new DirectColorModel(32, 0xFF0000, 0xFF00, 0xFF); - static ColorModel argb32 = new DirectColorModel(32, 0xFF0000, 0xFF00, 0xFF, - 0xFF000000); private boolean hasFastCM; private boolean hasAlpha; @@ -104,15 +109,19 @@ public class BufferedImageGraphics extends CairoGraphics2D this.image = bi; imageWidth = bi.getWidth(); imageHeight = bi.getHeight(); - if(bi.getColorModel().equals(rgb32)) + locked = false; + + if (!(image.getSampleModel() instanceof SinglePixelPackedSampleModel)) + hasFastCM = false; + else if(bi.getColorModel().equals(CairoSurface.cairoCM_opaque)) { hasFastCM = true; hasAlpha = false; } - else if(bi.getColorModel().equals(argb32)) + else if(bi.getColorModel().equals(CairoSurface.cairoColorModel)) { hasFastCM = true; - hasAlpha = false; + hasAlpha = true; } else hasFastCM = false; @@ -128,27 +137,45 @@ public class BufferedImageGraphics extends CairoGraphics2D cairo_t = surface.newCairoContext(); - DataBuffer db = bi.getRaster().getDataBuffer(); + // Get pixels out of buffered image and set in cairo surface + Raster raster = bi.getRaster(); int[] pixels; - // get pixels - if(db instanceof CairoSurface) - pixels = ((CairoSurface)db).getPixels(imageWidth * imageHeight); + if (hasFastCM) + { + SinglePixelPackedSampleModel sm = (SinglePixelPackedSampleModel)image.getSampleModel(); + int minX = image.getRaster().getSampleModelTranslateX(); + int minY = image.getRaster().getSampleModelTranslateY(); + + // Pull pixels directly out of data buffer + if(raster instanceof CairoSurface) + pixels = ((CairoSurface)raster).getPixels(raster.getWidth() * raster.getHeight()); + else + pixels = ((DataBufferInt)raster.getDataBuffer()).getData(); + + // Discard pixels that fall outside of the image's bounds + // (ie, this image is actually a subimage of a different image) + if (!(sm.getScanlineStride() == imageWidth && minX == 0 && minY == 0)) + { + int[] pixels2 = new int[imageWidth * imageHeight]; + int scanline = sm.getScanlineStride(); + + for (int i = 0; i < imageHeight; i++) + System.arraycopy(pixels, (i - minY) * scanline - minX, pixels2, i * imageWidth, imageWidth); + + pixels = pixels2; + } + + // Fill the alpha channel as opaque if image does not have alpha + if( !hasAlpha ) + for(int i = 0; i < pixels.length; i++) + pixels[i] &= 0xFFFFFFFF; + } else { - if( hasFastCM ) - { - pixels = ((DataBufferInt)db).getData(); - if( !hasAlpha ) - for(int i = 0; i < pixels.length; i++) - pixels[i] &= 0xFFFFFFFF; - } - else - { - pixels = CairoGraphics2D.findSimpleIntegerArray - (image.getColorModel(),image.getData()); - } + pixels = CairoGraphics2D.findSimpleIntegerArray(image.getColorModel(),image.getData()); } + surface.setPixels( pixels ); setup( cairo_t ); @@ -157,12 +184,17 @@ public class BufferedImageGraphics extends CairoGraphics2D BufferedImageGraphics(BufferedImageGraphics copyFrom) { + image = copyFrom.image; surface = copyFrom.surface; cairo_t = surface.newCairoContext(); imageWidth = copyFrom.imageWidth; imageHeight = copyFrom.imageHeight; + locked = false; + + hasFastCM = copyFrom.hasFastCM; + hasAlpha = copyFrom.hasAlpha; + copy( copyFrom, cairo_t ); - setClip(0, 0, surface.width, surface.height); } /** @@ -170,25 +202,82 @@ public class BufferedImageGraphics extends CairoGraphics2D */ private void updateBufferedImage(int x, int y, int width, int height) { + if (locked) + return; + + double[] points = new double[]{x, y, width+x, height+y}; + transform.transform(points, 0, points, 0, 2); + x = (int)points[0]; + y = (int)points[1]; + width = (int)Math.ceil(points[2] - points[0]); + height = (int)Math.ceil(points[3] - points[1]); + int[] pixels = surface.getPixels(imageWidth * imageHeight); if( x > imageWidth || y > imageHeight ) return; + + // Deal with negative width/height. + if (height < 0) + { + y += height; + height = -height; + } + if (width < 0) + { + x += width; + width = -width; + } + // Clip edges. - if( x < 0 ){ width = width + x; x = 0; } - if( y < 0 ){ height = height + y; y = 0; } + if( x < 0 ) + x = 0; + if( y < 0 ) + y = 0; + if( x + width > imageWidth ) width = imageWidth - x; if( y + height > imageHeight ) height = imageHeight - y; - - if( !hasFastCM ) - image.setRGB(x, y, width, height, pixels, - x + y * imageWidth, imageWidth); + + if(!hasFastCM) + { + image.setRGB(x, y, width, height, pixels, + x + y * imageWidth, imageWidth); + // The setRGB method assumes (or should assume) that pixels are NOT + // alpha-premultiplied, but Cairo stores data with premultiplication + // (thus the pixels returned in getPixels are premultiplied). + // This is ignored for consistency, however, since in + // CairoGrahpics2D.drawImage we also use non-premultiplied data + + } else - System.arraycopy(pixels, y * imageWidth, - ((DataBufferInt)image.getRaster().getDataBuffer()). - getData(), y * imageWidth, height * imageWidth); + { + int[] db = ((DataBufferInt)image.getRaster().getDataBuffer()). + getData(); + + // This should not fail, as we check the image sample model when we + // set the hasFastCM flag + SinglePixelPackedSampleModel sm = (SinglePixelPackedSampleModel)image.getSampleModel() ; + + int minX = image.getRaster().getSampleModelTranslateX(); + int minY = image.getRaster().getSampleModelTranslateY(); + + if (sm.getScanlineStride() == imageWidth && minX == 0) + { + System.arraycopy(pixels, y * imageWidth, + db, (y - minY) * imageWidth, + height * imageWidth); + } + else + { + int scanline = sm.getScanlineStride(); + for (int i = y; i < (height + y); i++) + System.arraycopy(pixels, i * imageWidth + x, db, + (i - minY) * scanline + x - minX, width); + + } + } } /** @@ -221,36 +310,246 @@ public class BufferedImageGraphics extends CairoGraphics2D */ public void draw(Shape s) { - super.draw(s); - Rectangle r = s.getBounds(); - updateBufferedImage(r.x, r.y, r.width, r.height); + // Find total bounds of shape + Rectangle r = findStrokedBounds(s); + if (shiftDrawCalls) + { + r.width++; + r.height++; + } + + // Do the drawing + if (comp == null || comp instanceof AlphaComposite) + { + super.draw(s); + updateBufferedImage(r.x, r.y, r.width, r.height); + } + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setStroke(this.getStroke()); + g2d.setColor(this.getColor()); + g2d.setTransform(transform); + g2d.draw(s); + + drawComposite(r.getBounds2D(), null); + } } public void fill(Shape s) { - super.fill(s); - Rectangle r = s.getBounds(); - updateBufferedImage(r.x, r.y, r.width, r.height); + if (comp == null || comp instanceof AlphaComposite) + { + super.fill(s); + Rectangle r = s.getBounds(); + updateBufferedImage(r.x, r.y, r.width, r.height); + } + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setColor(this.getColor()); + g2d.setTransform(transform); + g2d.fill(s); + + drawComposite(s.getBounds2D(), null); + } } public void drawRenderedImage(RenderedImage image, AffineTransform xform) { - super.drawRenderedImage(image, xform); - updateBufferedImage(0, 0, imageWidth, imageHeight); + if (comp == null || comp instanceof AlphaComposite) + { + super.drawRenderedImage(image, xform); + updateBufferedImage(0, 0, imageWidth, imageHeight); + } + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.setTransform(transform); + g2d.drawRenderedImage(image, xform); + + drawComposite(buffer.getRaster().getBounds(), null); + } + } protected boolean drawImage(Image img, AffineTransform xform, Color bgcolor, ImageObserver obs) { - boolean rv = super.drawImage(img, xform, bgcolor, obs); - updateBufferedImage(0, 0, imageWidth, imageHeight); - return rv; + if (comp == null || comp instanceof AlphaComposite) + { + boolean rv = super.drawImage(img, xform, bgcolor, obs); + updateBufferedImage(0, 0, imageWidth, imageHeight); + return rv; + } + else + { + // Get buffered image of source + if( !(img instanceof BufferedImage) ) + { + ImageProducer source = img.getSource(); + if (source == null) + return false; + img = Toolkit.getDefaultToolkit().createImage(source); + } + BufferedImage bImg = (BufferedImage) img; + + // Find translated bounds + Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); + Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), + bImg.getHeight() + bImg.getMinY()); + if (xform != null) + { + origin = xform.transform(origin, origin); + pt = xform.transform(pt, pt); + } + + // Create buffer and draw image + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.drawImage(img, xform, obs); + + // Perform compositing + return drawComposite(new Rectangle2D.Double(origin.getX(), + origin.getY(), + pt.getX(), pt.getY()), + obs); + } } public void drawGlyphVector(GlyphVector gv, float x, float y) { - super.drawGlyphVector(gv, x, y); - updateBufferedImage(0, 0, imageWidth, imageHeight); + // Find absolute bounds, in user-space, of this glyph vector + Rectangle2D bounds = gv.getLogicalBounds(); + bounds = new Rectangle2D.Double(x + bounds.getX(), y + bounds.getY(), + bounds.getWidth(), bounds.getHeight()); + + // Perform draw operation + if (comp == null || comp instanceof AlphaComposite) + { + super.drawGlyphVector(gv, x, y); + updateBufferedImage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), (int)bounds.getHeight()); + } + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setStroke(this.getStroke()); + g2d.setTransform(transform); + g2d.drawGlyphVector(gv, x, y); + + drawComposite(bounds, null); + } + } + + /** + * Perform composite drawing from the buffer onto the main image. + * + * The image to be composited should already be drawn into the buffer, in the + * proper place, after all necessary transforms have been applied. + * + * @param bounds The bounds to draw, in user-space. + * @param observer The image observer, if any (may be null). + * @return True on success, false on failure. + */ + private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) + { + // Find bounds in device space + double[] points = new double[] {bounds.getX(), bounds.getY(), + bounds.getMaxX(), bounds.getMaxY()}; + transform.transform(points, 0, points, 0, 2); + bounds = new Rectangle2D.Double(points[0], points[1], + (points[2] - points[0]), + (points[3] - points[1])); + + // Clip bounds by the stored clip, and by the internal buffer + Rectangle2D devClip = this.getClipInDevSpace(); + Rectangle2D.intersect(bounds, devClip, bounds); + devClip = new Rectangle(buffer.getMinX(), buffer.getMinY(), + buffer.getWidth(), buffer.getHeight()); + Rectangle2D.intersect(bounds, devClip, bounds); + + // Round bounds as needed, but be conservative in our rounding + // (otherwise it may leave unpainted stripes) + double x = bounds.getX(); + double y = bounds.getY(); + double w = bounds.getWidth(); + double h = bounds.getHeight(); + if (Math.floor(x) != x) + w--; + if (Math.floor(y) != y) + h--; + bounds.setRect(Math.ceil(x), Math.ceil(y), Math.floor(w), Math.floor(h)); + + // Find subimage of internal buffer for updating + BufferedImage buffer2 = buffer; + if (!bounds.equals(buffer2.getRaster().getBounds())) + buffer2 = buffer2.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); + + // Find subimage of main image for updating + BufferedImage current = image; + current = current.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); + + // Perform actual composite operation + compCtx.compose(buffer2.getRaster(), current.getRaster(), + current.getRaster()); + + // Prevent the clearRect in CairoGraphics2D.drawImage from clearing + // our composited image + locked = true; + + // This MUST call directly into the "action" method in CairoGraphics2D, + // not one of the wrappers, to ensure that the composite isn't processed + // more than once! + boolean rv = super.drawImage(current, + AffineTransform.getTranslateInstance(bounds.getX(), + bounds.getY()), + new Color(0,0,0,0), null); + locked = false; + return rv; + } + + private void createBuffer() + { + if (buffer == null) + { + buffer = new BufferedImage(image.getWidth(), image.getHeight(), + BufferedImage.TYPE_INT_ARGB); + } + else + { + Graphics2D g2d = ((Graphics2D)buffer.getGraphics()); + + g2d.setBackground(new Color(0,0,0,0)); + g2d.clearRect(0, 0, buffer.getWidth(), buffer.getHeight()); + } + } + + protected ColorModel getNativeCM() + { + return image.getColorModel(); + } + + protected ColorModel getBufferCM() + { + return ColorModel.getRGBdefault(); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java index b665f562e25..348801800d2 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java @@ -45,6 +45,7 @@ import java.awt.AlphaComposite; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Composite; +import java.awt.CompositeContext; import java.awt.Font; import java.awt.FontMetrics; import java.awt.GradientPaint; @@ -53,6 +54,8 @@ import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Image; import java.awt.Paint; +import java.awt.PaintContext; +import java.awt.Point; import java.awt.Polygon; import java.awt.Rectangle; import java.awt.RenderingHints; @@ -68,6 +71,7 @@ import java.awt.geom.Arc2D; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; +import java.awt.geom.Line2D; import java.awt.geom.NoninvertibleTransformException; import java.awt.geom.PathIterator; import java.awt.geom.Point2D; @@ -131,6 +135,7 @@ public abstract class CairoGraphics2D extends Graphics2D * The current paint */ Paint paint; + boolean customPaint; /** * The current stroke @@ -161,6 +166,7 @@ public abstract class CairoGraphics2D extends Graphics2D * The current compositing context, if any. */ Composite comp; + CompositeContext compCtx; /** * Rendering hint map. @@ -172,7 +178,7 @@ public abstract class CairoGraphics2D extends Graphics2D * coords be shifted to land on 0.5-pixel boundaries, in order to land on * "middle of pixel" coordinates and light up complete pixels. */ - private boolean shiftDrawCalls = false; + protected boolean shiftDrawCalls = false; /** * Keep track if the first clip to be set, which is restored on setClip(null); @@ -189,6 +195,18 @@ public abstract class CairoGraphics2D extends Graphics2D static ColorModel argb32 = new DirectColorModel(32, 0xFF0000, 0xFF00, 0xFF, 0xFF000000); + /** + * Native constants for interpolation methods. + * Note, this corresponds to an enum in native/jni/gtk-peer/cairographics2d.h + */ + public static final int INTERPOLATION_NEAREST = 0, + INTERPOLATION_BILINEAR = 1, + INTERPOLATION_BICUBIC = 5, + ALPHA_INTERPOLATION_SPEED = 2, + ALPHA_INTERPOLATION_QUALITY = 3, + ALPHA_INTERPOLATION_DEFAULT = 4; + // TODO: Does ALPHA_INTERPOLATION really correspond to CAIRO_FILTER_FAST/BEST/GOOD? + /** * Constructor does nothing. */ @@ -204,7 +222,7 @@ public abstract class CairoGraphics2D extends Graphics2D { nativePointer = init(cairo_t_pointer); setRenderingHints(new RenderingHints(getDefaultHints())); - font = new Font("SansSerif", Font.PLAIN, 12); + setFont(new Font("SansSerif", Font.PLAIN, 12)); setColor(Color.black); setBackground(Color.white); setPaint(Color.black); @@ -239,6 +257,8 @@ public abstract class CairoGraphics2D extends Graphics2D bg = new Color(g.bg.getRGB()); } + firstClip = g.firstClip; + originalClip = g.originalClip; clip = g.getClip(); if (g.transform == null) @@ -246,14 +266,14 @@ public abstract class CairoGraphics2D extends Graphics2D else transform = new AffineTransform(g.transform); - font = g.font; - + setFont(g.font); setColor(foreground); setBackground(bg); setPaint(paint); setStroke(stroke); setTransformImpl(transform); setClip(clip); + setComposite(comp); } /** @@ -274,6 +294,8 @@ public abstract class CairoGraphics2D extends Graphics2D { disposeNative(nativePointer); nativePointer = 0; + if (compCtx != null) + compCtx.dispose(); } /** @@ -293,6 +315,11 @@ public abstract class CairoGraphics2D extends Graphics2D int width, int height, int dx, int dy); + /** + * Find the bounds of this graphics context, in device space. + * + * @return the bounds in device-space + */ protected abstract Rectangle2D getRealBounds(); ////// Native Methods //////////////////////////////////////////////////// @@ -309,15 +336,17 @@ public abstract class CairoGraphics2D extends Graphics2D * @param i2u - affine transform array */ private native void drawPixels(long pointer, int[] pixels, int w, int h, - int stride, double[] i2u, double alpha); + int stride, double[] i2u, double alpha, + int interpolation); private native void setGradient(long pointer, double x1, double y1, double x2, double y2, int r1, int g1, int b1, int a1, int r2, int g2, int b2, int a2, boolean cyclic); - private native void setTexturePixels(long pointer, int[] pixels, int w, - int h, int stride); + private native void setPaintPixels(long pointer, int[] pixels, int w, + int h, int stride, boolean repeat, + int x, int y); /** * Set the current transform matrix @@ -365,6 +394,10 @@ public abstract class CairoGraphics2D extends Graphics2D float x, float y, int n, int[] codes, float[] positions); + /** + * Set the font in cairo. + */ + private native void cairoSetFont(long pointer, GdkFontPeer font); private native void cairoRelCurveTo(long pointer, double dx1, double dy1, double dx2, double dy2, double dx3, @@ -440,11 +473,6 @@ public abstract class CairoGraphics2D extends Graphics2D */ private native void cairoResetClip(long pointer); - /** - * Set interpolation types - */ - private native void cairoSurfaceSetFilter(long pointer, int filter); - /** * Draws a line from (x1,y1) to (x2,y2). * @@ -666,13 +694,14 @@ public abstract class CairoGraphics2D extends Graphics2D public void setPaint(Paint p) { - if (paint == null) + if (p == null) return; paint = p; if (paint instanceof Color) { setColor((Color) paint); + customPaint = false; } else if (paint instanceof TexturePaint) { @@ -690,7 +719,8 @@ public abstract class CairoGraphics2D extends Graphics2D AffineTransformOp op = new AffineTransformOp(at, getRenderingHints()); BufferedImage texture = op.filter(img, null); int[] pixels = texture.getRGB(0, 0, width, height, null, 0, width); - setTexturePixels(nativePointer, pixels, width, height, width); + setPaintPixels(nativePointer, pixels, width, height, width, true, 0, 0); + customPaint = false; } else if (paint instanceof GradientPaint) { @@ -703,9 +733,108 @@ public abstract class CairoGraphics2D extends Graphics2D c1.getRed(), c1.getGreen(), c1.getBlue(), c1.getAlpha(), c2.getRed(), c2.getGreen(), c2.getBlue(), c2.getAlpha(), gp.isCyclic()); + customPaint = false; } else - throw new java.lang.UnsupportedOperationException(); + { + customPaint = true; + } + } + + /** + * Sets a custom paint + * + * @param bounds the bounding box, in user space + */ + protected void setCustomPaint(Rectangle bounds) + { + if (paint instanceof Color || paint instanceof TexturePaint + || paint instanceof GradientPaint) + return; + + int userX = bounds.x; + int userY = bounds.y; + int userWidth = bounds.width; + int userHeight = bounds.height; + + // Find bounds in device space + Point2D origin = transform.transform(new Point2D.Double(userX, userY), + null); + Point2D extreme = transform.transform(new Point2D.Double(userWidth + userX, + userHeight + userY), + null); + int deviceX = (int)origin.getX(); + int deviceY = (int)origin.getY(); + int deviceWidth = (int)Math.ceil(extreme.getX() - origin.getX()); + int deviceHeight = (int)Math.ceil(extreme.getY() - origin.getY()); + + // Get raster of the paint background + PaintContext pc = paint.createContext(CairoSurface.cairoColorModel, + new Rectangle(deviceX, deviceY, + deviceWidth, + deviceHeight), + bounds, + transform, hints); + + Raster raster = pc.getRaster(deviceX, deviceY, deviceWidth, + deviceHeight); + + // Clear the transform matrix in Cairo, since the raster returned by the + // PaintContext is already in device-space + AffineTransform oldTx = new AffineTransform(transform); + setTransformImpl(new AffineTransform()); + + // Set pixels in cairo, aligning the top-left of the background image + // to the top-left corner in device space + if (pc.getColorModel().equals(CairoSurface.cairoColorModel) + && raster.getSampleModel().getTransferType() == DataBuffer.TYPE_INT) + { + // Use a fast copy if the paint context can uses a Cairo-compatible + // color model + setPaintPixels(nativePointer, + (int[])raster.getDataElements(0, 0, deviceWidth, + deviceHeight, null), + deviceWidth, deviceHeight, deviceWidth, false, + deviceX, deviceY); + } + + else if (pc.getColorModel().equals(CairoSurface.cairoCM_opaque) + && raster.getSampleModel().getTransferType() == DataBuffer.TYPE_INT) + { + // We can also optimize if the context uses a similar color model + // but without an alpha channel; we just add the alpha + int[] pixels = (int[])raster.getDataElements(0, 0, deviceWidth, + deviceHeight, null); + + for (int i = 0; i < pixels.length; i++) + pixels[i] = 0xff000000 | (pixels[i] & 0x00ffffff); + + setPaintPixels(nativePointer, pixels, deviceWidth, deviceHeight, + deviceWidth, false, deviceX, deviceY); + } + + else + { + // Fall back on wrapping the raster in a BufferedImage, and + // use BufferedImage.getRGB() to do color-model conversion + WritableRaster wr = Raster.createWritableRaster(raster.getSampleModel(), + new Point(raster.getMinX(), + raster.getMinY())); + wr.setRect(raster); + + BufferedImage img2 = new BufferedImage(pc.getColorModel(), wr, + pc.getColorModel().isAlphaPremultiplied(), + null); + + setPaintPixels(nativePointer, + img2.getRGB(0, 0, deviceWidth, deviceHeight, null, 0, + deviceWidth), + deviceWidth, deviceHeight, deviceWidth, false, + deviceX, deviceY); + } + + // Restore transform + setTransformImpl(oldTx); } public Stroke getStroke() @@ -736,6 +865,33 @@ public abstract class CairoGraphics2D extends Graphics2D } } + /** + * Utility method to find the bounds of a shape, including the stroke width. + * + * @param s the shape + * @return the bounds of the shape, including stroke width + */ + protected Rectangle findStrokedBounds(Shape s) + { + Rectangle r = s.getBounds(); + + if (stroke instanceof BasicStroke) + { + int strokeWidth = (int)Math.ceil(((BasicStroke)stroke).getLineWidth()); + r.x -= strokeWidth / 2; + r.y -= strokeWidth / 2; + r.height += strokeWidth; + r.width += strokeWidth; + } + else + { + Shape s2 = stroke.createStrokedShape(s); + r = s2.getBounds(); + } + + return r; + } + public void setPaintMode() { setComposite(AlphaComposite.SrcOver); @@ -896,25 +1052,56 @@ public abstract class CairoGraphics2D extends Graphics2D */ public void setComposite(Composite comp) { + if (this.comp == comp) + return; + this.comp = comp; + if (compCtx != null) + compCtx.dispose(); + compCtx = null; if (comp instanceof AlphaComposite) { AlphaComposite a = (AlphaComposite) comp; - cairoSetOperator(nativePointer, a.getRule()); + cairoSetOperator(nativePointer, a.getRule()); } + else { - // FIXME: this check is only required "if this Graphics2D - // context is drawing to a Component on the display screen". - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkPermission(new AWTPermission("readDisplayPixels")); - - // FIXME: implement general Composite support - throw new java.lang.UnsupportedOperationException(); + cairoSetOperator(nativePointer, AlphaComposite.SRC_OVER); + + if (comp != null) + { + // FIXME: this check is only required "if this Graphics2D + // context is drawing to a Component on the display screen". + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new AWTPermission("readDisplayPixels")); + + compCtx = comp.createContext(getBufferCM(), getNativeCM(), hints); + } } } + + /** + * Returns the Colour Model describing the native, raw image data for this + * specific peer. + * + * @return ColorModel the ColorModel of native data in this peer + */ + protected abstract ColorModel getNativeCM(); + + /** + * Returns the Color Model describing the buffer that this peer uses + * for custom composites. + * + * @return ColorModel the ColorModel of the composite buffer in this peer. + */ + protected ColorModel getBufferCM() + { + // This may be overridden by some subclasses + return getNativeCM(); + } ///////////////////////// DRAWING PRIMITIVES /////////////////////////////////// @@ -929,21 +1116,30 @@ public abstract class CairoGraphics2D extends Graphics2D return; } - createPath(s); + if (customPaint) + { + Rectangle r = findStrokedBounds(s); + setCustomPaint(r); + } + + createPath(s, true); cairoStroke(nativePointer); } public void fill(Shape s) { - createPath(s); + createPath(s, false); + if (customPaint) + setCustomPaint(s.getBounds()); + double alpha = 1.0; if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); cairoFill(nativePointer, alpha); } - private void createPath(Shape s) + private void createPath(Shape s, boolean isDraw) { cairoNewPath(nativePointer); @@ -951,9 +1147,25 @@ public abstract class CairoGraphics2D extends Graphics2D if (s instanceof Rectangle2D) { Rectangle2D r = (Rectangle2D) s; - cairoRectangle(nativePointer, shifted(r.getX(), shiftDrawCalls), - shifted(r.getY(), shiftDrawCalls), r.getWidth(), - r.getHeight()); + + // Pixels need to be shifted in draw operations to ensure that they + // light up entire pixels, but we also need to make sure the rectangle + // does not get distorted by this shifting operation + double x = shiftX(r.getX(),shiftDrawCalls && isDraw); + double y = shiftY(r.getY(), shiftDrawCalls && isDraw); + double w = Math.round(r.getWidth()); + double h = Math.round(r.getHeight()); + cairoRectangle(nativePointer, x, y, w, h); + } + + // Lines are easy too + else if (s instanceof Line2D) + { + Line2D l = (Line2D) s; + cairoMoveTo(nativePointer, shiftX(l.getX1(), shiftDrawCalls && isDraw), + shiftY(l.getY1(), shiftDrawCalls && isDraw)); + cairoLineTo(nativePointer, shiftX(l.getX2(), shiftDrawCalls && isDraw), + shiftY(l.getY2(), shiftDrawCalls && isDraw)); } // We can optimize ellipses too; however we don't bother optimizing arcs: @@ -982,9 +1194,9 @@ public abstract class CairoGraphics2D extends Graphics2D } cairoArc(nativePointer, - shifted(e.getCenterX() / xscale, shiftDrawCalls), - shifted(e.getCenterY() / yscale, shiftDrawCalls), radius, 0, - Math.PI * 2); + shiftX(e.getCenterX() / xscale, shiftDrawCalls && isDraw), + shiftY(e.getCenterY() / yscale, shiftDrawCalls && isDraw), + radius, 0, Math.PI * 2); if (xscale != 1 || yscale != 1) cairoRestore(nativePointer); @@ -993,7 +1205,7 @@ public abstract class CairoGraphics2D extends Graphics2D // All other shapes are broken down and drawn in steps using the // PathIterator else - walkPath(s.getPathIterator(null), shiftDrawCalls); + walkPath(s.getPathIterator(null), shiftDrawCalls && isDraw); } /** @@ -1006,8 +1218,14 @@ public abstract class CairoGraphics2D extends Graphics2D { if (bg != null) cairoSetRGBAColor(nativePointer, bg.getRed() / 255.0, - bg.getGreen() / 255.0, bg.getBlue() / 255.0, 1.0); + bg.getGreen() / 255.0, bg.getBlue() / 255.0, + bg.getAlpha() / 255.0); + + Composite oldcomp = comp; + setComposite(AlphaComposite.Src); fillRect(x, y, width, height); + + setComposite(oldcomp); updateColor(); } @@ -1033,15 +1251,14 @@ public abstract class CairoGraphics2D extends Graphics2D // to draw a single pixel. This is emulated by drawing // a one pixel sized rectangle. if (x1 == x2 && y1 == y2) - cairoFillRect(nativePointer, x1, y1, 1, 1); + fill(new Rectangle(x1, y1, 1, 1)); else - cairoDrawLine(nativePointer, x1 + 0.5, y1 + 0.5, x2 + 0.5, y2 + 0.5); + draw(new Line2D.Double(x1, y1, x2, y2)); } public void drawRect(int x, int y, int width, int height) { - cairoDrawRect(nativePointer, shifted(x, shiftDrawCalls), - shifted(y, shiftDrawCalls), width, height); + draw(new Rectangle(x, y, width, height)); } public void fillArc(int x, int y, int width, int height, int startAngle, @@ -1049,12 +1266,12 @@ public abstract class CairoGraphics2D extends Graphics2D { fill(new Arc2D.Double((double) x, (double) y, (double) width, (double) height, (double) startAngle, - (double) arcAngle, Arc2D.OPEN)); + (double) arcAngle, Arc2D.PIE)); } public void fillRect(int x, int y, int width, int height) { - cairoFillRect(nativePointer, x, y, width, height); + fill (new Rectangle(x, y, width, height)); } public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) @@ -1117,7 +1334,7 @@ public abstract class CairoGraphics2D extends Graphics2D Rectangle2D r = getRealBounds(); - if( width < 0 || height < 0 ) + if( width <= 0 || height <= 0 ) return; // Return if outside the surface if( x + dx > r.getWidth() || y + dy > r.getHeight() ) @@ -1150,32 +1367,10 @@ public abstract class CairoGraphics2D extends Graphics2D ///////////////////////// RENDERING HINTS /////////////////////////////////// - /** - * FIXME- support better - */ public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue) { hints.put(hintKey, hintValue); - if (hintKey.equals(RenderingHints.KEY_INTERPOLATION) - || hintKey.equals(RenderingHints.KEY_ALPHA_INTERPOLATION)) - { - if (hintValue.equals(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)) - cairoSurfaceSetFilter(nativePointer, 0); - - else if (hintValue.equals(RenderingHints.VALUE_INTERPOLATION_BILINEAR)) - cairoSurfaceSetFilter(nativePointer, 1); - - else if (hintValue.equals(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)) - cairoSurfaceSetFilter(nativePointer, 2); - - else if (hintValue.equals(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)) - cairoSurfaceSetFilter(nativePointer, 3); - - else if (hintValue.equals(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)) - cairoSurfaceSetFilter(nativePointer, 4); - } - shiftDrawCalls = hints.containsValue(RenderingHints.VALUE_STROKE_NORMALIZE) || hints.containsValue(RenderingHints.VALUE_STROKE_DEFAULT); } @@ -1189,30 +1384,15 @@ public abstract class CairoGraphics2D extends Graphics2D { this.hints = new RenderingHints(getDefaultHints()); this.hints.add(new RenderingHints(hints)); - - if (hints.containsKey(RenderingHints.KEY_INTERPOLATION)) - { - if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)) - cairoSurfaceSetFilter(nativePointer, 0); - - else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)) - cairoSurfaceSetFilter(nativePointer, 1); - } - - if (hints.containsKey(RenderingHints.KEY_ALPHA_INTERPOLATION)) - { - if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)) - cairoSurfaceSetFilter(nativePointer, 2); - - else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)) - cairoSurfaceSetFilter(nativePointer, 3); - - else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)) - cairoSurfaceSetFilter(nativePointer, 4); - } - + shiftDrawCalls = hints.containsValue(RenderingHints.VALUE_STROKE_NORMALIZE) || hints.containsValue(RenderingHints.VALUE_STROKE_DEFAULT); + + if (compCtx != null) + { + compCtx.dispose(); + compCtx = comp.createContext(getNativeCM(), getNativeCM(), this.hints); + } } public void addRenderingHints(Map hints) @@ -1224,6 +1404,30 @@ public abstract class CairoGraphics2D extends Graphics2D { return hints; } + + private int getInterpolation() + { + if (this.hints.containsValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)) + return INTERPOLATION_NEAREST; + + else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)) + return INTERPOLATION_BILINEAR; + + else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)) + return INTERPOLATION_BICUBIC; + + else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)) + return ALPHA_INTERPOLATION_SPEED; + + else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)) + return ALPHA_INTERPOLATION_QUALITY; + + else if (hints.containsValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)) + return ALPHA_INTERPOLATION_DEFAULT; + + // Do bilinear interpolation as default + return INTERPOLATION_BILINEAR; + } ///////////////////////// IMAGE. METHODS /////////////////////////////////// @@ -1259,7 +1463,7 @@ public abstract class CairoGraphics2D extends Graphics2D // Note - this can get us in trouble when the gdk lock is re-acquired. // for example by VolatileImage. See ComponentGraphics for how we work // around this. - + img = AsyncImage.realImage(img, obs); if( !(img instanceof BufferedImage) ) { ImageProducer source = img.getSource(); @@ -1269,18 +1473,18 @@ public abstract class CairoGraphics2D extends Graphics2D } BufferedImage b = (BufferedImage) img; - DataBuffer db; + Raster raster; double[] i2u = new double[6]; int width = b.getWidth(); int height = b.getHeight(); - + // If this BufferedImage has a BufferedImageGraphics object, // use the cached CairoSurface that BIG is drawing onto if( BufferedImageGraphics.bufferedImages.get( b ) != null ) - db = (DataBuffer)BufferedImageGraphics.bufferedImages.get( b ); + raster = (Raster)BufferedImageGraphics.bufferedImages.get( b ); else - db = b.getRaster().getDataBuffer(); + raster = b.getRaster(); invertedXform.getMatrix(i2u); @@ -1288,29 +1492,37 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); - if(db instanceof CairoSurface) + if(raster instanceof CairoSurface) { - ((CairoSurface)db).drawSurface(nativePointer, i2u, alpha); + ((CairoSurface)raster).drawSurface(nativePointer, i2u, alpha, + getInterpolation()); updateColor(); return true; } if( bgcolor != null ) { - // Fill a rectangle with the background color - // to composite the image onto. - Paint oldPaint = paint; - AffineTransform oldTransform = transform; - setPaint( bgcolor ); - setTransform( invertedXform ); - fillRect(0, 0, width, height); - setTransform( oldTransform ); - setPaint( oldPaint ); + Color oldColor = bg; + setBackground(bgcolor); + + double[] origin = new double[] {0,0}; + double[] dimensions = new double[] {width, height}; + xform.transform(origin, 0, origin, 0, 1); + xform.deltaTransform(dimensions, 0, dimensions, 0, 1); + clearRect((int)origin[0], (int)origin[1], + (int)dimensions[0], (int)dimensions[1]); + + setBackground(oldColor); } int[] pixels = b.getRGB(0, 0, width, height, null, 0, width); + + // FIXME: The above method returns data in the standard ARGB colorspace, + // meaning data should NOT be alpha pre-multiplied; however Cairo expects + // data to be premultiplied. - drawPixels(nativePointer, pixels, width, height, width, i2u, alpha); + drawPixels(nativePointer, pixels, width, height, width, i2u, alpha, + getInterpolation()); // Cairo seems to lose the current color which must be restored. updateColor(); @@ -1428,8 +1640,14 @@ public abstract class CairoGraphics2D extends Graphics2D { if (str == null || str.length() == 0) return; - (new TextLayout( str, getFont(), getFontRenderContext() )). - draw(this, x, y); + GdkFontPeer fontPeer = (GdkFontPeer) font.getPeer(); + TextLayout tl = (TextLayout) fontPeer.textLayoutCache.get(str); + if (tl == null) + { + tl = new TextLayout( str, getFont(), getFontRenderContext() ); + fontPeer.textLayoutCache.put(str, tl); + } + tl.draw(this, x, y); } public void drawString(String str, int x, int y) @@ -1449,6 +1667,9 @@ public abstract class CairoGraphics2D extends Graphics2D if( gv.getNumGlyphs() <= 0 ) return; + if (customPaint) + setCustomPaint(gv.getOutline().getBounds()); + if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); if (gv instanceof FreetypeGlyphVector && alpha == 1.0) @@ -1458,9 +1679,10 @@ public abstract class CairoGraphics2D extends Graphics2D float[] positions = gv.getGlyphPositions (0, n, null); setFont (gv.getFont ()); - synchronized( this.font ) + GdkFontPeer fontPeer = (GdkFontPeer) font.getPeer(); + synchronized (fontPeer) { - cairoDrawGlyphVector(nativePointer, (GdkFontPeer)getFont().getPeer(), + cairoDrawGlyphVector(nativePointer, fontPeer, x, y, n, codes, positions); } } @@ -1498,9 +1720,7 @@ public abstract class CairoGraphics2D extends Graphics2D public FontMetrics getFontMetrics(Font f) { - // the reason we go via the toolkit here is to try to get - // a cached object. the toolkit keeps such a cache. - return Toolkit.getDefaultToolkit().getFontMetrics(f); + return ((GdkFontPeer) f.getPeer()).getFontMetrics(f); } public void setFont(Font f) @@ -1516,6 +1736,12 @@ public abstract class CairoGraphics2D extends Graphics2D font = ((ClasspathToolkit)(Toolkit.getDefaultToolkit())) .getFont(f.getName(), f.getAttributes()); + + GdkFontPeer fontpeer = (GdkFontPeer) getFont().getPeer(); + synchronized (fontpeer) + { + cairoSetFont(nativePointer, fontpeer); + } } public Font getFont() @@ -1626,7 +1852,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); drawPixels(nativePointer, pixels, r.getWidth(), r.getHeight(), - r.getWidth(), i2u, alpha); + r.getWidth(), i2u, alpha, getInterpolation()); // Cairo seems to lose the current color which must be restored. updateColor(); @@ -1635,12 +1861,33 @@ public abstract class CairoGraphics2D extends Graphics2D } /** - * Shifts coordinates by 0.5. + * Shifts an x-coordinate by 0.5 in device space. + */ + private double shiftX(double coord, boolean doShift) + { + if (doShift) + { + double shift = 0.5; + if (!transform.isIdentity()) + shift /= transform.getScaleX(); + return Math.round(coord) + shift; + } + else + return coord; + } + + /** + * Shifts a y-coordinate by 0.5 in device space. */ - private double shifted(double coord, boolean doShift) + private double shiftY(double coord, boolean doShift) { if (doShift) - return Math.floor(coord) + 0.5; + { + double shift = 0.5; + if (!transform.isIdentity()) + shift /= transform.getScaleY(); + return Math.round(coord) + shift; + } else return coord; } @@ -1661,35 +1908,35 @@ public abstract class CairoGraphics2D extends Graphics2D switch (seg) { case PathIterator.SEG_MOVETO: - x = shifted(coords[0], doShift); - y = shifted(coords[1], doShift); + x = shiftX(coords[0], doShift); + y = shiftY(coords[1], doShift); cairoMoveTo(nativePointer, x, y); break; case PathIterator.SEG_LINETO: - x = shifted(coords[0], doShift); - y = shifted(coords[1], doShift); + x = shiftX(coords[0], doShift); + y = shiftY(coords[1], doShift); cairoLineTo(nativePointer, x, y); break; case PathIterator.SEG_QUADTO: // splitting a quadratic bezier into a cubic: // see: http://pfaedit.sourceforge.net/bezier.html - double x1 = x + (2.0 / 3.0) * (shifted(coords[0], doShift) - x); - double y1 = y + (2.0 / 3.0) * (shifted(coords[1], doShift) - y); + double x1 = x + (2.0 / 3.0) * (shiftX(coords[0], doShift) - x); + double y1 = y + (2.0 / 3.0) * (shiftY(coords[1], doShift) - y); - double x2 = x1 + (1.0 / 3.0) * (shifted(coords[2], doShift) - x); - double y2 = y1 + (1.0 / 3.0) * (shifted(coords[3], doShift) - y); + double x2 = x1 + (1.0 / 3.0) * (shiftX(coords[2], doShift) - x); + double y2 = y1 + (1.0 / 3.0) * (shiftY(coords[3], doShift) - y); - x = shifted(coords[2], doShift); - y = shifted(coords[3], doShift); + x = shiftX(coords[2], doShift); + y = shiftY(coords[3], doShift); cairoCurveTo(nativePointer, x1, y1, x2, y2, x, y); break; case PathIterator.SEG_CUBICTO: - x = shifted(coords[4], doShift); - y = shifted(coords[5], doShift); - cairoCurveTo(nativePointer, shifted(coords[0], doShift), - shifted(coords[1], doShift), - shifted(coords[2], doShift), - shifted(coords[3], doShift), x, y); + x = shiftX(coords[4], doShift); + y = shiftY(coords[5], doShift); + cairoCurveTo(nativePointer, shiftX(coords[0], doShift), + shiftY(coords[1], doShift), + shiftX(coords[2], doShift), + shiftY(coords[3], doShift), x, y); break; case PathIterator.SEG_CLOSE: cairoClosePath(nativePointer); @@ -1807,4 +2054,4 @@ public abstract class CairoGraphics2D extends Graphics2D return rect; } -} +} \ No newline at end of file diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java index 78bc1e02db0..5b63e62e7ed 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java @@ -38,14 +38,18 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; -import java.awt.Point; +import gnu.java.awt.Buffers; + import java.awt.Graphics2D; -import java.awt.image.DataBuffer; -import java.awt.image.Raster; -import java.awt.image.WritableRaster; +import java.awt.Point; +import java.awt.color.ColorSpace; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; +import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; +import java.awt.image.SampleModel; +import java.awt.image.SinglePixelPackedSampleModel; +import java.awt.image.WritableRaster; import java.nio.ByteOrder; import java.util.Hashtable; @@ -54,7 +58,7 @@ import java.util.Hashtable; * * @author Sven de Marothy */ -public class CairoSurface extends DataBuffer +public class CairoSurface extends WritableRaster { int width = -1, height = -1; @@ -68,13 +72,27 @@ public class CairoSurface extends DataBuffer */ long bufferPointer; - - static ColorModel nativeModel = new DirectColorModel(32, - 0x00FF0000, - 0x0000FF00, - 0x000000FF, - 0xFF000000); - + // FIXME: use only the cairoCM_pre colormodel + // since that's what Cairo really uses (is there a way to do this cheaply? + // we use a non-multiplied model most of the time to avoid costly coercion + // operations...) + static ColorModel cairoColorModel = new DirectColorModel(32, 0x00FF0000, + 0x0000FF00, + 0x000000FF, + 0xFF000000); + + static ColorModel cairoCM_pre = new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), + 32, 0x00FF0000, + 0x0000FF00, + 0x000000FF, + 0xFF000000, + true, + Buffers.smallestAppropriateTransferType(32)); + + // This CM corresponds to the CAIRO_FORMAT_RGB24 type in Cairo + static ColorModel cairoCM_opaque = new DirectColorModel(24, 0x00FF0000, + 0x0000FF00, + 0x000000FF); /** * Allocates and clears the buffer and creates the cairo surface. * @param width, height - the image size @@ -102,11 +120,13 @@ public class CairoSurface extends DataBuffer * with an affine transform given by i2u. */ public native void nativeDrawSurface(long surfacePointer, long contextPointer, - double[] i2u, double alpha); + double[] i2u, double alpha, + int interpolation); - public void drawSurface(long contextPointer, double[] i2u, double alpha) + public void drawSurface(long contextPointer, double[] i2u, double alpha, + int interpolation) { - nativeDrawSurface(surfacePointer, contextPointer, i2u, alpha); + nativeDrawSurface(surfacePointer, contextPointer, i2u, alpha, interpolation); } /** @@ -138,18 +158,20 @@ public class CairoSurface extends DataBuffer */ public CairoSurface(int width, int height) { - super(DataBuffer.TYPE_INT, width * height); + super(createCairoSampleModel(width, height), + null, new Point(0, 0)); if(width <= 0 || height <= 0) throw new IllegalArgumentException("Image must be at least 1x1 pixels."); - + this.width = width; this.height = height; - create(width, height, width); if(surfacePointer == 0 || bufferPointer == 0) throw new Error("Could not allocate bitmap."); + + dataBuffer = new CairoDataBuffer(); } /** @@ -158,18 +180,7 @@ public class CairoSurface extends DataBuffer */ CairoSurface(GtkImage image) { - super(DataBuffer.TYPE_INT, image.width * image.height); - - if(image.width <= 0 || image.height <= 0) - throw new IllegalArgumentException("Image must be at least 1x1 pixels."); - - width = image.width; - height = image.height; - - create(width, height, width); - - if(surfacePointer == 0 || bufferPointer == 0) - throw new Error("Could not allocate bitmap."); + this(image.width, image.height); // Copy the pixel data from the GtkImage. int[] data = image.getPixels(); @@ -260,32 +271,37 @@ public class CairoSurface extends DataBuffer */ public static BufferedImage getBufferedImage(CairoSurface surface) { - WritableRaster raster = Raster.createPackedRaster - (surface, surface.width, surface.height, surface.width, - new int[]{ 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }, - new Point(0,0)); - - return new BufferedImage(nativeModel, raster, true, new Hashtable()); + return new BufferedImage(cairoColorModel, surface, + cairoColorModel.isAlphaPremultiplied(), + new Hashtable()); } - /** - * DataBank.getElem implementation - */ - public int getElem(int bank, int i) + private class CairoDataBuffer extends DataBuffer { - if(bank != 0 || i < 0 || i >= width*height) - throw new IndexOutOfBoundsException(i+" size: "+width*height); - return nativeGetElem(bufferPointer, i); - } + public CairoDataBuffer() + { + super(DataBuffer.TYPE_INT, width * height); + } + + /** + * DataBuffer.getElem implementation + */ + public int getElem(int bank, int i) + { + if(bank != 0 || i < 0 || i >= width * height) + throw new IndexOutOfBoundsException(i+" size: "+width * height); + return nativeGetElem(bufferPointer, i); + } - /** - * DataBank.setElem implementation - */ - public void setElem(int bank, int i, int val) - { - if(bank != 0 || i < 0 || i >= width*height) - throw new IndexOutOfBoundsException(i+" size: "+width*height); - nativeSetElem(bufferPointer, i, val); + /** + * DataBuffer.setElem implementation + */ + public void setElem(int bank, int i, int val) + { + if(bank != 0 || i < 0 || i >= width*height) + throw new IndexOutOfBoundsException(i+" size: "+width * height); + nativeSetElem(bufferPointer, i, val); + } } /** @@ -319,4 +335,14 @@ public class CairoSurface extends DataBuffer { copyAreaNative2(bufferPointer, x, y, width, height, dx, dy, stride); } + + /** + * Creates a SampleModel that matches Cairo's native format + */ + protected static SampleModel createCairoSampleModel(int w, int h) + { + return new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, w, h, + new int[]{0x00FF0000, 0x0000FF00, + 0x000000FF, 0xFF000000}); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java index 7bd136c3845..36743b9c2da 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java @@ -38,10 +38,26 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import java.awt.AlphaComposite; +import java.awt.Color; import java.awt.Graphics; -import java.awt.GraphicsEnvironment; +import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; +import java.awt.GraphicsEnvironment; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.Shape; +import java.awt.Toolkit; +import java.awt.font.GlyphVector; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.awt.image.RenderedImage; +import java.util.Hashtable; /** * Implementation of Graphics2D on a Cairo surface. @@ -49,6 +65,7 @@ import java.awt.geom.Rectangle2D; public class CairoSurfaceGraphics extends CairoGraphics2D { protected CairoSurface surface; + private BufferedImage buffer; private long cairo_t; /** @@ -59,6 +76,7 @@ public class CairoSurfaceGraphics extends CairoGraphics2D this.surface = surface; cairo_t = surface.newCairoContext(); setup( cairo_t ); + setClip(0, 0, surface.width, surface.height); } /** @@ -91,4 +109,200 @@ public class CairoSurfaceGraphics extends CairoGraphics2D { surface.copyAreaNative(x, y, width, height, dx, dy, surface.width); } + + /** + * Overloaded methods that do actual drawing need to account for custom + * composites + */ + public void draw(Shape s) + { + if (comp == null || comp instanceof AlphaComposite) + super.draw(s); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setStroke(this.getStroke()); + g2d.setColor(this.getColor()); + g2d.draw(s); + + drawComposite(s.getBounds2D(), null); + } + } + + public void fill(Shape s) + { + if (comp == null || comp instanceof AlphaComposite) + super.fill(s); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setColor(this.getColor()); + g2d.fill(s); + + drawComposite(s.getBounds2D(), null); + } + } + + public void drawRenderedImage(RenderedImage image, AffineTransform xform) + { + if (comp == null || comp instanceof AlphaComposite) + super.drawRenderedImage(image, xform); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.drawRenderedImage(image, xform); + + drawComposite(buffer.getRaster().getBounds(), null); + } + + } + + protected boolean drawImage(Image img, AffineTransform xform, + Color bgcolor, ImageObserver obs) + { + if (comp == null || comp instanceof AlphaComposite) + return super.drawImage(img, xform, bgcolor, obs); + + else + { + // Get buffered image of source + if( !(img instanceof BufferedImage) ) + { + ImageProducer source = img.getSource(); + if (source == null) + return false; + img = Toolkit.getDefaultToolkit().createImage(source); + } + BufferedImage bImg = (BufferedImage) img; + + // Find translated bounds + Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); + Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), + bImg.getHeight() + bImg.getMinY()); + if (xform != null) + { + origin = xform.transform(origin, origin); + pt = xform.transform(pt, pt); + } + + // Create buffer and draw image + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.drawImage(img, xform, obs); + + // Perform compositing + return drawComposite(new Rectangle2D.Double(origin.getX(), + origin.getY(), + pt.getX(), pt.getY()), + obs); + } + } + + public void drawGlyphVector(GlyphVector gv, float x, float y) + { + if (comp == null || comp instanceof AlphaComposite) + super.drawGlyphVector(gv, x, y); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setStroke(this.getStroke()); + g2d.drawGlyphVector(gv, x, y); + + Rectangle2D bounds = gv.getLogicalBounds(); + bounds = new Rectangle2D.Double(x + bounds.getX(), y + bounds.getY(), + bounds.getWidth(), bounds.getHeight()); + drawComposite(bounds, null); + } + } + + private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) + { + // Clip source to visible areas that need updating + Rectangle2D clip = this.getClipBounds(); + Rectangle2D.intersect(bounds, clip, bounds); + clip = new Rectangle(buffer.getMinX(), buffer.getMinY(), + buffer.getWidth(), buffer.getHeight()); + Rectangle2D.intersect(bounds, clip, bounds); + + BufferedImage buffer2 = buffer; + if (!bounds.equals(buffer2.getRaster().getBounds())) + buffer2 = buffer2.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); + + // Get destination clip to bounds + double[] points = new double[] {bounds.getX(), bounds.getY(), + bounds.getMaxX(), bounds.getMaxY()}; + transform.transform(points, 0, points, 0, 2); + + Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], + points[2] - points[0], + points[3] - points[1]); + + Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); + + BufferedImage current = CairoSurface.getBufferedImage(surface); + current = current.getSubimage((int)deviceBounds.getX(), + (int)deviceBounds.getY(), + (int)deviceBounds.getWidth(), + (int)deviceBounds.getHeight()); + + // Perform actual composite operation + compCtx.compose(buffer2.getRaster(), current.getRaster(), + buffer2.getRaster()); + + // This MUST call directly into the "action" method in CairoGraphics2D, + // not one of the wrappers, to ensure that the composite isn't processed + // more than once! + boolean rv = super.drawImage(buffer2, + AffineTransform.getTranslateInstance(bounds.getX(), + bounds.getY()), + new Color(0,0,0,0), null); + return rv; + } + + private void createBuffer() + { + if (buffer == null) + { + buffer = new BufferedImage(getBufferCM(), + surface.createCompatibleWritableRaster(), + getBufferCM().isAlphaPremultiplied(), + new Hashtable()); + } + else + { + Graphics2D g2d = ((Graphics2D)buffer.getGraphics()); + + g2d.setBackground(new Color(0,0,0,0)); + g2d.clearRect(0, 0, buffer.getWidth(), buffer.getHeight()); + } + } + + protected ColorModel getNativeCM() + { + return CairoSurface.cairoCM_pre; + } + + protected ColorModel getBufferCM() + { + return CairoSurface.cairoColorModel; + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java index ffa78e9c904..763ad7dfddd 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java @@ -38,22 +38,31 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.classpath.Pointer; + +import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Image; +import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; +import java.awt.geom.Line2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; +import java.awt.image.Raster; import java.awt.image.RenderedImage; -import gnu.classpath.Pointer; +import java.awt.image.WritableRaster; +import java.util.Hashtable; /** * ComponentGraphics - context for drawing directly to a component, @@ -67,36 +76,11 @@ public class ComponentGraphics extends CairoGraphics2D private GtkComponentPeer component; protected long cairo_t; + private BufferedImage buffer, componentBuffer; private static ThreadLocal hasLock = new ThreadLocal(); private static Integer ONE = Integer.valueOf(1); - private void lock() - { - Integer i = (Integer) hasLock.get(); - if (i == null) - { - start_gdk_drawing(); - hasLock.set(ONE); - } - else - hasLock.set(Integer.valueOf(i.intValue() + 1)); - } - - private void unlock() - { - Integer i = (Integer) hasLock.get(); - if (i == null) - throw new IllegalStateException(); - if (i == ONE) - { - hasLock.set(null); - end_gdk_drawing(); - } - else - hasLock.set(Integer.valueOf(i.intValue() - 1)); - } - ComponentGraphics() { } @@ -128,6 +112,32 @@ public class ComponentGraphics extends CairoGraphics2D */ private native long initState(GtkComponentPeer component); + private void lock() + { + Integer i = (Integer) hasLock.get(); + if (i == null) + { + start_gdk_drawing(); + hasLock.set(ONE); + } + else + hasLock.set(Integer.valueOf(i.intValue() + 1)); + } + + private void unlock() + { + Integer i = (Integer) hasLock.get(); + if (i == null) + throw new IllegalStateException(); + if (i == ONE) + { + hasLock.set(null); + end_gdk_drawing(); + } + else + hasLock.set(Integer.valueOf(i.intValue() - 1)); + } + /** * Destroys the component surface and calls dispose on the cairo * graphics2d to destroy any super class resources. @@ -227,7 +237,20 @@ public class ComponentGraphics extends CairoGraphics2D lock(); try { - super.draw(s); + if (comp == null || comp instanceof AlphaComposite) + super.draw(s); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setStroke(this.getStroke()); + g2d.setColor(this.getColor()); + g2d.draw(s); + + drawComposite(s.getBounds2D(), null); + } } finally { @@ -240,7 +263,20 @@ public class ComponentGraphics extends CairoGraphics2D lock(); try { - super.fill(s); + if (comp == null || comp instanceof AlphaComposite) + super.fill(s); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setColor(this.getColor()); + g2d.fill(s); + + drawComposite(s.getBounds2D(), null); + } } finally { @@ -253,7 +289,19 @@ public class ComponentGraphics extends CairoGraphics2D lock(); try { - super.drawRenderedImage(image, xform); + if (comp == null || comp instanceof AlphaComposite) + super.drawRenderedImage(image, xform); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.drawRenderedImage(image, xform); + + drawComposite(buffer.getRaster().getBounds(), null); + } } finally { @@ -268,7 +316,44 @@ public class ComponentGraphics extends CairoGraphics2D lock(); try { - rv = super.drawImage(img, xform, bgcolor, obs); + if (comp == null || comp instanceof AlphaComposite) + rv = super.drawImage(img, xform, bgcolor, obs); + + else + { + // Get buffered image of source + if( !(img instanceof BufferedImage) ) + { + ImageProducer source = img.getSource(); + if (source == null) + return false; + img = Toolkit.getDefaultToolkit().createImage(source); + } + BufferedImage bImg = (BufferedImage) img; + + // Find translated bounds + Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); + Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), + bImg.getHeight() + bImg.getMinY()); + if (xform != null) + { + origin = xform.transform(origin, origin); + pt = xform.transform(pt, pt); + } + + // Create buffer and draw image + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.drawImage(img, xform, obs); + + // Perform compositing + rv = drawComposite(new Rectangle2D.Double(origin.getX(), + origin.getY(), + pt.getX(), pt.getY()), + obs); + } } finally { @@ -282,7 +367,23 @@ public class ComponentGraphics extends CairoGraphics2D lock(); try { - super.drawGlyphVector(gv, x, y); + if (comp == null || comp instanceof AlphaComposite) + super.drawGlyphVector(gv, x, y); + + else + { + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setStroke(this.getStroke()); + g2d.drawGlyphVector(gv, x, y); + + Rectangle2D bounds = gv.getLogicalBounds(); + bounds = new Rectangle2D.Double(x + bounds.getX(), y + bounds.getY(), + bounds.getWidth(), bounds.getHeight()); + drawComposite(bounds, null); + } } finally { @@ -367,6 +468,7 @@ public class ComponentGraphics extends CairoGraphics2D } BufferedImage bimg; + img = AsyncImage.realImage(img, observer); if (img instanceof BufferedImage) bimg = (BufferedImage) img; else @@ -379,57 +481,112 @@ public class ComponentGraphics extends CairoGraphics2D return super.drawImage(bimg, x, y, width, height, observer); } - public void drawLine(int x1, int y1, int x2, int y2) + public void setClip(Shape s) { lock(); try { - super.drawLine(x1, y1, x2, y2); + super.setClip(s); } finally { - unlock(); + unlock(); } } - public void drawRect(int x, int y, int width, int height) + + private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) { + // Clip source to visible areas that need updating + Rectangle2D clip = this.getClipBounds(); + Rectangle2D.intersect(bounds, clip, bounds); + clip = new Rectangle(buffer.getMinX(), buffer.getMinY(), + buffer.getWidth(), buffer.getHeight()); + Rectangle2D.intersect(bounds, clip, bounds); + + BufferedImage buffer2 = buffer; + if (!bounds.equals(buffer2.getRaster().getBounds())) + buffer2 = buffer2.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); + + // Get destination clip to bounds + double[] points = new double[] {bounds.getX(), bounds.getY(), + bounds.getMaxX(), bounds.getMaxY()}; + transform.transform(points, 0, points, 0, 2); + + Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], + points[2] - points[0], + points[3] - points[1]); + + Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); + + // Get current image on the component + unlock(); + GtkImage img = grab(component); + Graphics gr = componentBuffer.createGraphics(); + gr.drawImage(img, 0, 0, null); + gr.dispose(); lock(); - try - { - super.drawRect(x, y, width, height); - } - finally - { - unlock(); - } + + BufferedImage cBuffer = componentBuffer; + if (!deviceBounds.equals(cBuffer.getRaster().getBounds())) + cBuffer = cBuffer.getSubimage((int)deviceBounds.getX(), + (int)deviceBounds.getY(), + (int)deviceBounds.getWidth(), + (int)deviceBounds.getHeight()); + + // Perform actual composite operation + compCtx.compose(buffer2.getRaster(), cBuffer.getRaster(), + cBuffer.getRaster()); + + // This MUST call directly into the "action" method in CairoGraphics2D, + // not one of the wrappers, to ensure that the composite isn't processed + // more than once! + boolean rv = super.drawImage(cBuffer, + AffineTransform.getTranslateInstance(bounds.getX(), + bounds.getY()), + null, null); + return rv; } - - public void fillRect(int x, int y, int width, int height) + + private void createBuffer() { - lock(); - try - { - super.fillRect(x, y, width, height); - } - finally + if (buffer == null) { - unlock(); + WritableRaster rst; + rst = Raster.createWritableRaster(GtkVolatileImage.createGdkSampleModel(component.awtComponent.getWidth(), + component.awtComponent.getHeight()), + new Point(0,0)); + + buffer = new BufferedImage(GtkVolatileImage.gdkColorModel, rst, + GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), + new Hashtable()); } - } - - public void setClip(Shape s) - { - lock(); - try + else { - super.setClip(s); + Graphics2D g2d = ((Graphics2D)buffer.getGraphics()); + + g2d.setBackground(new Color(0,0,0,0)); + g2d.clearRect(0, 0, buffer.getWidth(), buffer.getHeight()); } - finally + + if (componentBuffer == null) { - unlock(); + WritableRaster rst; + rst = Raster.createWritableRaster(GtkVolatileImage.createGdkSampleModel(component.awtComponent.getWidth(), + component.awtComponent.getHeight()), + new Point(0,0)); + + componentBuffer = new BufferedImage(GtkVolatileImage.gdkColorModel, rst, + GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), + new Hashtable()); } } - + + protected ColorModel getNativeCM() + { + return GtkVolatileImage.gdkColorModel; + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java index 2c9d917934f..131a964488f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java @@ -39,14 +39,15 @@ package gnu.java.awt.peer.gtk; import java.awt.Font; import java.awt.Shape; -import java.awt.geom.AffineTransform; -import java.awt.geom.Point2D; -import java.awt.geom.Rectangle2D; -import java.awt.geom.GeneralPath; +import java.awt.font.FontRenderContext; import java.awt.font.GlyphJustificationInfo; import java.awt.font.GlyphMetrics; import java.awt.font.GlyphVector; -import java.awt.font.FontRenderContext; +import java.awt.geom.AffineTransform; +import java.awt.geom.GeneralPath; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.util.Arrays; public class FreetypeGlyphVector extends GlyphVector { @@ -91,16 +92,17 @@ public class FreetypeGlyphVector extends GlyphVector */ public FreetypeGlyphVector(Font f, String s, FontRenderContext frc) { - this(f, s, frc, Font.LAYOUT_LEFT_TO_RIGHT); + this(f, s.toCharArray(), 0, s.length(), frc, Font.LAYOUT_LEFT_TO_RIGHT); } /** * Create a glyphvector from a given (Freetype) font and a String. */ - public FreetypeGlyphVector(Font f, String s, FontRenderContext frc, - int flags) + public FreetypeGlyphVector(Font f, char[] chars, int start, int len, + FontRenderContext frc, int flags) { - this.s = s; + this.s = new String(chars, start, len); + this.font = f; this.frc = frc; if( !(font.getPeer() instanceof GdkFontPeer ) ) @@ -155,14 +157,15 @@ public class FreetypeGlyphVector extends GlyphVector } glyphCodes = new int[ nGlyphs ]; - glyphPositions = new float[ nGlyphs ]; + glyphPositions = new float[(nGlyphs + 1) * 2]; glyphTransforms = new AffineTransform[ nGlyphs ]; for(int i = 0; i < nGlyphs; i++ ) { - glyphTransforms[ i ] = new AffineTransform( gv.glyphTransforms[ i ] ); - glyphCodes[i] = gv.glyphCodes[ i ]; - glyphPositions[i] = gv.glyphPositions[ i ]; + glyphTransforms[ i ] = new AffineTransform( gv.glyphTransforms[ i ] ); + glyphCodes[i] = gv.glyphCodes[ i ]; } + System.arraycopy(gv.glyphPositions, 0, glyphPositions, 0, + glyphPositions.length); } /** @@ -178,10 +181,17 @@ public class FreetypeGlyphVector extends GlyphVector for(int i = 0; i < nGlyphs; i++) { codePoints[i] = s.codePointAt( stringIndex ); - // UTF32 surrogate handling + // UTF32 surrogate handling if( codePoints[i] != (int)s.charAt( stringIndex ) ) stringIndex ++; stringIndex ++; + + if (Character.isISOControl(codePoints[i])) + { + // Replace with 'hair space'. Should better be 'zero-width space' + // but that doesn't seem to be supported by default font. + codePoints[i] = 8202; + } } glyphCodes = getGlyphs( codePoints ); @@ -242,22 +252,31 @@ public class FreetypeGlyphVector extends GlyphVector public void performDefaultLayout() { logicalBounds = null; // invalidate caches. - glyphPositions = null; - - glyphTransforms = new AffineTransform[ nGlyphs ]; - double x = 0; + glyphTransforms = new AffineTransform[nGlyphs]; + Arrays.fill(glyphTransforms, null); + glyphPositions = new float[(nGlyphs + 1) * 2]; + GlyphMetrics gm = null; + float x = 0; + float y = 0; for(int i = 0; i < nGlyphs; i++) { - GlyphMetrics gm = getGlyphMetrics( i ); - glyphTransforms[ i ] = AffineTransform.getTranslateInstance(x, 0); - x += gm.getAdvanceX(); - if( i > 0 ) - { - Point2D p = getKerning( glyphCodes[ i - 1 ], glyphCodes[ i ] ); - x += p.getX(); - } + gm = getGlyphMetrics( i ); + glyphPositions[i*2] = x; + glyphPositions[i*2 + 1] = y; + + x += gm.getAdvanceX(); + y += gm.getAdvanceY(); + + if (i != nGlyphs-1) + { + Point2D p = getKerning(glyphCodes[i], glyphCodes[i + 1]); + x += p.getX(); + y += p.getY(); + } } + glyphPositions[nGlyphs * 2] = x; + glyphPositions[nGlyphs * 2 + 1] = y; } /** @@ -276,7 +295,7 @@ public class FreetypeGlyphVector extends GlyphVector { int[] rval; - if( codeReturn == null ) + if( codeReturn == null || codeReturn.length < numEntries) rval = new int[ numEntries ]; else rval = codeReturn; @@ -286,9 +305,6 @@ public class FreetypeGlyphVector extends GlyphVector return rval; } - /** - * FIXME: Implement me. - */ public Shape getGlyphLogicalBounds(int glyphIndex) { GlyphMetrics gm = getGlyphMetrics( glyphIndex ); @@ -296,10 +312,17 @@ public class FreetypeGlyphVector extends GlyphVector return null; Rectangle2D r = gm.getBounds2D(); Point2D p = getGlyphPosition( glyphIndex ); - return new Rectangle2D.Double( p.getX() + r.getX() - gm.getLSB(), - p.getY() + r.getY(), - gm.getAdvanceX(), - r.getHeight() ); + + double[] bounds = new double[] {p.getX() + r.getX() - gm.getLSB(), + p.getY() + r.getY(), + p.getX() + r.getX() - gm.getLSB() + gm.getAdvanceX(), + p.getY() + r.getY() + r.getHeight()}; + + if (glyphTransforms[glyphIndex] != null) + glyphTransforms[glyphIndex].transform(bounds, 0, bounds, 0, 4); + + return new Rectangle2D.Double(bounds[0], bounds[1], bounds[2] - bounds[0], + bounds[3] - bounds[1]); } /* @@ -352,7 +375,9 @@ public class FreetypeGlyphVector extends GlyphVector public Shape getGlyphOutline(int glyphIndex) { GeneralPath gp = getGlyphOutlineNative( glyphCodes[ glyphIndex ] ); - gp.transform( glyphTransforms[ glyphIndex ] ); + if (glyphTransforms[glyphIndex] != null) + gp.transform( glyphTransforms[glyphIndex]); + return gp; } @@ -361,8 +386,8 @@ public class FreetypeGlyphVector extends GlyphVector */ public Point2D getGlyphPosition(int glyphIndex) { - return glyphTransforms[ glyphIndex ].transform( new Point2D.Double(0, 0), - null ); + return new Point2D.Float(glyphPositions[glyphIndex*2], + glyphPositions[glyphIndex*2 + 1]); } /** @@ -371,25 +396,12 @@ public class FreetypeGlyphVector extends GlyphVector public float[] getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn) { - if( glyphPositions != null ) - return glyphPositions; - - float[] rval; - - if( positionReturn == null ) - rval = new float[2 * numEntries]; - else - rval = positionReturn; - - for( int i = beginGlyphIndex; i < numEntries; i++ ) - { - Point2D p = getGlyphPosition( i ); - rval[i * 2] = (float)p.getX(); - rval[i * 2 + 1] = (float)p.getY(); - } - - glyphPositions = rval; - return rval; + if (positionReturn == null || positionReturn.length < (numEntries * 2)) + positionReturn = new float[numEntries*2]; + + System.arraycopy(glyphPositions, beginGlyphIndex*2, positionReturn, 0, + numEntries*2); + return positionReturn; } /** @@ -397,7 +409,7 @@ public class FreetypeGlyphVector extends GlyphVector */ public AffineTransform getGlyphTransform(int glyphIndex) { - return new AffineTransform( glyphTransforms[ glyphIndex ] ); + return glyphTransforms[glyphIndex]; } /** @@ -420,10 +432,12 @@ public class FreetypeGlyphVector extends GlyphVector return logicalBounds; Rectangle2D rect = (Rectangle2D)getGlyphLogicalBounds( 0 ); + AffineTransform tx = new AffineTransform(); for( int i = 1; i < nGlyphs; i++ ) { - Rectangle2D r2 = (Rectangle2D)getGlyphLogicalBounds( i ); - rect = rect.createUnion( r2 ); + Rectangle2D r2 = (Rectangle2D)getGlyphLogicalBounds( i ); + + rect = rect.createUnion( r2 ); } logicalBounds = rect; @@ -444,8 +458,14 @@ public class FreetypeGlyphVector extends GlyphVector public Shape getOutline() { GeneralPath path = new GeneralPath(); + AffineTransform tx = new AffineTransform(); for( int i = 0; i < getNumGlyphs(); i++ ) - path.append( getGlyphOutline( i ), false ); + { + Shape outline = getGlyphOutline(i); + tx.setToTranslation(glyphPositions[i*2], glyphPositions[i*2 +1]); + outline = tx.createTransformedShape(outline); + path.append(outline, false); + } return path; } @@ -485,11 +505,9 @@ public class FreetypeGlyphVector extends GlyphVector */ public void setGlyphPosition(int glyphIndex, Point2D newPos) { - // FIXME: Scaling, etc.? - glyphTransforms[ glyphIndex ].setToTranslation( newPos.getX(), - newPos.getY() ); + glyphPositions[glyphIndex*2] = (float)(newPos.getX()); + glyphPositions[glyphIndex*2 + 1] = (float)(newPos.getY()); logicalBounds = null; - glyphPositions = null; } /** @@ -497,8 +515,7 @@ public class FreetypeGlyphVector extends GlyphVector */ public void setGlyphTransform(int glyphIndex, AffineTransform newTX) { - glyphTransforms[ glyphIndex ].setTransform( newTX ); logicalBounds = null; - glyphPositions = null; + glyphTransforms[glyphIndex] = newTX; } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java deleted file mode 100644 index b2ffed10ea6..00000000000 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java +++ /dev/null @@ -1,143 +0,0 @@ -/* GdkFontMetrics.java - Copyright (C) 1999, 2002, 2004, 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. */ - - -package gnu.java.awt.peer.gtk; - -import gnu.java.awt.ClasspathToolkit; - -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Toolkit; - -public class GdkFontMetrics extends FontMetrics -{ - - private int[] font_metrics; - GdkFontPeer peer; - - static final int FONT_METRICS_ASCENT = 0; - static final int FONT_METRICS_MAX_ASCENT = 1; - static final int FONT_METRICS_DESCENT = 2; - static final int FONT_METRICS_MAX_DESCENT = 3; - static final int FONT_METRICS_MAX_ADVANCE = 4; - - static final int TEXT_METRICS_X_BEARING = 0; - static final int TEXT_METRICS_Y_BEARING = 1; - static final int TEXT_METRICS_WIDTH = 2; - static final int TEXT_METRICS_HEIGHT = 3; - static final int TEXT_METRICS_X_ADVANCE = 4; - static final int TEXT_METRICS_Y_ADVANCE = 5; - - /** - * Makes sure to return a Font based on the given Font that has as - * peer a GdkFontPeer. Used in the initializer. - */ - private static Font initFont(Font font) - { - if (font == null) - return new Font("Dialog", Font.PLAIN, 12); - else if (font.getPeer() instanceof GdkFontPeer) - return font; - else - { - ClasspathToolkit toolkit; - toolkit = (ClasspathToolkit) Toolkit.getDefaultToolkit(); - return toolkit.getFont(font.getName(), font.getAttributes()); - } - } - - public GdkFontMetrics (Font font) - { - super(initFont(font)); - peer = (GdkFontPeer) this.font.getPeer(); - - font_metrics = new int[5]; - double [] hires = new double[5]; - peer.getFontMetrics (hires); - for (int i = 0; i < 5; ++i) - font_metrics[i] = (int) hires[i]; - } - - public int stringWidth (String str) - { - double [] hires = new double[6]; - peer.getTextMetrics(str, hires); - return (int) hires [TEXT_METRICS_WIDTH]; - } - - public int charWidth (char ch) - { - return stringWidth (new String (new char[] { ch })); - } - - public int charsWidth (char data[], int off, int len) - { - return stringWidth (new String (data, off, len)); - } - - public int getLeading () - { - // Sun always returns 0. - return 0; - } - - public int getAscent () - { - return font_metrics[FONT_METRICS_ASCENT]; - } - - public int getMaxAscent () - { - return font_metrics[FONT_METRICS_MAX_ASCENT]; - } - - public int getDescent () - { - return font_metrics[FONT_METRICS_DESCENT]; - } - - public int getMaxDescent () - { - return font_metrics[FONT_METRICS_MAX_DESCENT]; - } - - public int getMaxAdvance () - { - return font_metrics[FONT_METRICS_MAX_ADVANCE]; - } -} diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java index 11635c3544e..5f5126ac590 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.java.awt.ClasspathToolkit; import gnu.java.awt.peer.ClasspathFontPeer; import gnu.java.awt.font.opentype.NameDecoder; @@ -48,39 +49,125 @@ import java.awt.font.FontRenderContext; import java.awt.font.GlyphVector; import java.awt.font.GlyphMetrics; import java.awt.font.LineMetrics; +import java.awt.font.TextLayout; import java.awt.geom.Rectangle2D; import java.text.CharacterIterator; import java.util.Locale; import java.util.Map; -import java.util.ResourceBundle; import java.nio.ByteBuffer; import java.util.HashMap; public class GdkFontPeer extends ClasspathFontPeer { + static final FontRenderContext DEFAULT_CTX = + new FontRenderContext(null, false, false); + + /** + * Caches TextLayout instances for use in charsWidth() and drawString(). + * The size of the cache has been chosen so that relativly large GUIs with + * text documents are still efficient. + */ + HashMap textLayoutCache = new GtkToolkit.LRUCache(500); + + private class GdkFontMetrics extends FontMetrics + { + + public GdkFontMetrics (Font font) + { + super(initFont(font)); + } + + public int stringWidth (String str) + { + TextLayout tl = (TextLayout) textLayoutCache.get(str); + if (tl == null) + { + tl = new TextLayout(str, font, DEFAULT_CTX); + textLayoutCache.put(str, tl); + } + return (int) tl.getAdvance(); + } + + public int charWidth (char ch) + { + return stringWidth (new String (new char[] { ch })); + } + + public int charsWidth (char data[], int off, int len) + { + return stringWidth (new String (data, off, len)); + } + + public int getHeight() + { + return (int) height; + } + + public int getLeading () + { + return (int) (height - (ascent + descent)); + } + + public int getAscent () + { + return (int) ascent; + } + + public int getMaxAscent () + { + return (int) ascent; + } + + public int getDescent () + { + return (int) descent; + } + + public int getMaxDescent () + { + return (int) maxDescent; + } + + public int getMaxAdvance () + { + return (int) maxAdvance; + } + } + static native void initStaticState(); private final int native_state = GtkGenericPeer.getUniqueInteger (); - private static ResourceBundle bundle; /** * Cache GlyphMetrics objects. */ private HashMap metricsCache; - + + private static final int FONT_METRICS_ASCENT = 0; + private static final int FONT_METRICS_MAX_ASCENT = 1; + private static final int FONT_METRICS_DESCENT = 2; + private static final int FONT_METRICS_MAX_DESCENT = 3; + private static final int FONT_METRICS_MAX_ADVANCE = 4; + private static final int FONT_METRICS_HEIGHT = 5; + private static final int FONT_METRICS_UNDERLINE_OFFSET = 6; + private static final int FONT_METRICS_UNDERLINE_THICKNESS = 7; + + float ascent; + float descent; + float maxAscent; + float maxDescent; + float maxAdvance; + float height; + float underlineOffset; + float underlineThickness; + + GdkFontMetrics metrics; + static { System.loadLibrary("gtkpeer"); initStaticState (); - try - { - bundle = ResourceBundle.getBundle ("gnu.java.awt.peer.gtk.font"); - } - catch (Throwable ignored) - { - bundle = null; - } } private ByteBuffer nameTable = null; @@ -89,8 +176,8 @@ public class GdkFontPeer extends ClasspathFontPeer private native void dispose (); private native void setFont (String family, int style, int size); - native void getFontMetrics(double [] metrics); - native void getTextMetrics(String str, double [] metrics); + native synchronized void getFontMetrics(double [] metrics); + native synchronized void getTextMetrics(String str, double [] metrics); native void releasePeerGraphicsResource(); @@ -149,6 +236,7 @@ public class GdkFontPeer extends ClasspathFontPeer initState (); setFont (this.familyName, this.style, (int)this.size); metricsCache = new HashMap(); + setupMetrics(); } public GdkFontPeer (String name, Map attributes) @@ -157,6 +245,40 @@ public class GdkFontPeer extends ClasspathFontPeer initState (); setFont (this.familyName, this.style, (int)this.size); metricsCache = new HashMap(); + setupMetrics(); + } + + + /** + * Makes sure to return a Font based on the given Font that has as + * peer a GdkFontPeer. Used in the initializer. + */ + static Font initFont(Font font) + { + if (font == null) + return new Font("Dialog", Font.PLAIN, 12); + else if (font.getPeer() instanceof GdkFontPeer) + return font; + else + { + ClasspathToolkit toolkit; + toolkit = (ClasspathToolkit) Toolkit.getDefaultToolkit(); + return toolkit.getFont(font.getName(), font.getAttributes()); + } + } + + private void setupMetrics() + { + double [] hires = new double[8]; + getFontMetrics(hires); + ascent = (float) hires[FONT_METRICS_ASCENT]; + maxAscent = (float) hires[FONT_METRICS_MAX_ASCENT]; + descent = (float) hires[FONT_METRICS_DESCENT]; + maxDescent = (float) hires[FONT_METRICS_MAX_DESCENT]; + maxAdvance = (float) hires[FONT_METRICS_MAX_ADVANCE]; + height = (float) hires[FONT_METRICS_HEIGHT]; + underlineOffset = (float) hires[FONT_METRICS_UNDERLINE_OFFSET]; + underlineThickness = (float) hires[FONT_METRICS_UNDERLINE_THICKNESS]; } /** @@ -261,26 +383,17 @@ public class GdkFontPeer extends ClasspathFontPeer return Font.ROMAN_BASELINE; } - private static class GdkFontLineMetrics extends LineMetrics + private class GdkFontLineMetrics extends LineMetrics { - private FontMetrics fm; - private int nchars; - private float strikethroughOffset, strikethroughThickness, - underlineOffset, underlineThickness; - - public GdkFontLineMetrics (GdkFontPeer fp, FontMetrics m, int n) + private int nchars; + public GdkFontLineMetrics (GdkFontPeer fp, int n) { - fm = m; nchars = n; - strikethroughOffset = 0f; - underlineOffset = 0f; - strikethroughThickness = ((float)fp.getSize(null)) / 12f; - underlineThickness = strikethroughThickness; } public float getAscent() { - return (float) fm.getAscent (); + return ascent; } public int getBaselineIndex() @@ -296,27 +409,52 @@ public class GdkFontPeer extends ClasspathFontPeer public float getDescent() { - return (float) fm.getDescent (); + return descent; } public float getHeight() { - return (float) fm.getHeight (); + return height; } - public float getLeading() { return 0.f; } - public int getNumChars() { return nchars; } - public float getStrikethroughOffset() { return 0.f; } - public float getStrikethroughThickness() { return 0.f; } - public float getUnderlineOffset() { return 0.f; } - public float getUnderlineThickness() { return 0.f; } + public float getLeading() + { + return height - (ascent + descent); + } + + public int getNumChars() + { + return nchars; + } + + public float getStrikethroughOffset() + { + // FreeType doesn't seem to provide a value here. + return ascent / 2; + } + + public float getStrikethroughThickness() + { + // FreeType doesn't seem to provide a value here. + return 1.f; + } + + public float getUnderlineOffset() + { + return underlineOffset; + } + + public float getUnderlineThickness() + { + return underlineThickness; + } } public LineMetrics getLineMetrics (Font font, CharacterIterator ci, int begin, int limit, FontRenderContext rc) { - return new GdkFontLineMetrics (this, getFontMetrics (font), limit - begin); + return new GdkFontLineMetrics (this, limit - begin); } public Rectangle2D getMaxCharBounds (Font font, FontRenderContext rc) @@ -345,15 +483,6 @@ public class GdkFontPeer extends ClasspathFontPeer return buf.getShort(4); } - public Rectangle2D getStringBounds (Font font, CharacterIterator ci, - int begin, int limit, FontRenderContext frc) - { - GlyphVector gv = new FreetypeGlyphVector( font, - buildString(ci, begin, limit), - frc); - return gv.getVisualBounds(); - } - public boolean hasUniformLineMetrics (Font font) { return true; @@ -363,22 +492,21 @@ public class GdkFontPeer extends ClasspathFontPeer char[] chars, int start, int limit, int flags) { - return new FreetypeGlyphVector( font, new String( chars, start, - limit - start), + return new FreetypeGlyphVector( font, chars, start, limit - start, frc, flags); } public LineMetrics getLineMetrics (Font font, String str, FontRenderContext frc) { - return new GdkFontLineMetrics (this, getFontMetrics (font), str.length ()); + return new GdkFontLineMetrics (this, str.length ()); } public FontMetrics getFontMetrics (Font font) { - // Get the font metrics through GtkToolkit to take advantage of - // the metrics cache. - return Toolkit.getDefaultToolkit().getFontMetrics (font); + if (metrics == null) + metrics = new GdkFontMetrics(font); + return metrics; } /** @@ -397,4 +525,5 @@ public class GdkFontPeer extends ClasspathFontPeer { metricsCache.put( new Integer( glyphCode ), metrics ); } + } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java index e095c7dad4b..db725b697df 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java @@ -44,7 +44,7 @@ import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.HeadlessException; import java.awt.image.BufferedImage; -import java.awt.image.DataBuffer; +import java.awt.image.Raster; import java.util.Locale; public class GdkGraphicsEnvironment extends GraphicsEnvironment @@ -103,9 +103,9 @@ public class GdkGraphicsEnvironment extends GraphicsEnvironment public Graphics2D createGraphics (BufferedImage image) { - DataBuffer db = image.getRaster().getDataBuffer(); - if(db instanceof CairoSurface) - return ((CairoSurface)db).getGraphics(); + Raster raster = image.getRaster(); + if(raster instanceof CairoSurface) + return ((CairoSurface)raster).getGraphics(); return new BufferedImageGraphics( image ); } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java index f00461f3fc8..d866cefd33c 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java @@ -84,7 +84,7 @@ public class GtkChoicePeer extends GtkComponentPeer public void select (int position) { - if (Thread.currentThread() == GtkToolkit.mainThread) + if (Thread.currentThread() == GtkMainThread.mainThread) selectNativeUnlocked (position); else selectNative (position); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java index c11c45e2070..b1ef09d6e1b 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java @@ -90,6 +90,11 @@ public class GtkComponentPeer extends GtkGenericPeer Insets insets; + /** + * The current repaint area. Use should be guarded by synchronizing on this. + */ + private Rectangle currentPaintArea; + /* this isEnabled differs from Component.isEnabled, in that it knows if a parent is disabled. In that case Component.isEnabled may return true, but our isEnabled will always return false */ @@ -308,13 +313,30 @@ public class GtkComponentPeer extends GtkGenericPeer // seems expensive. However, the graphics state does not carry // over between calls to paint, and resetting the graphics object // may even be more costly than simply creating a new one. - Graphics g = getGraphics(); - g.setClip(event.getUpdateRect()); - - awtComponent.paint(g); + // Make sure that the paintArea includes the area from the event + // in the case when an application sends PaintEvents directly. + coalescePaintEvent(event); + Rectangle paintArea; + synchronized (this) + { + paintArea = currentPaintArea; + currentPaintArea = null; + } - g.dispose(); + if (paintArea != null) + { + Graphics g = getGraphics(); + try + { + g.setClip(paintArea); + awtComponent.paint(g); + } + finally + { + g.dispose(); + } + } } // This method and its overrides are the only methods in the peers @@ -327,13 +349,29 @@ public class GtkComponentPeer extends GtkGenericPeer || (awtComponent.getWidth() < 1 || awtComponent.getHeight() < 1)) return; - Graphics g = getGraphics(); - - g.setClip(event.getUpdateRect()); - - awtComponent.update(g); + // Make sure that the paintArea includes the area from the event + // in the case when an application sends PaintEvents directly. + coalescePaintEvent(event); + Rectangle paintArea; + synchronized (this) + { + paintArea = currentPaintArea; + currentPaintArea = null; + } - g.dispose(); + if (paintArea != null) + { + Graphics g = getGraphics(); + try + { + g.setClip(paintArea); + awtComponent.update(g); + } + finally + { + g.dispose(); + } + } } public boolean isFocusTraversable () @@ -514,7 +552,7 @@ public class GtkComponentPeer extends GtkGenericPeer y = 0; } - if (Thread.currentThread() == GtkToolkit.mainThread) + if (Thread.currentThread() == GtkMainThread.mainThread) gtkWidgetSetCursorUnlocked(cursor.getType(), image, x, y); else gtkWidgetSetCursor(cursor.getType(), image, x, y); @@ -562,7 +600,7 @@ public class GtkComponentPeer extends GtkGenericPeer b = (bounds.width > 0) && (bounds.height > 0); } - if (Thread.currentThread() == GtkToolkit.mainThread) + if (Thread.currentThread() == GtkMainThread.mainThread) setVisibleNativeUnlocked (b); else setVisibleNative (b); @@ -754,7 +792,14 @@ public class GtkComponentPeer extends GtkGenericPeer public void coalescePaintEvent (PaintEvent e) { - + synchronized (this) + { + Rectangle newRect = e.getUpdateRect(); + if (currentPaintArea == null) + currentPaintArea = newRect; + else + Rectangle.union(currentPaintArea, newRect, currentPaintArea); + } } public void updateCursorImmediately () diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java index bb6f8b3bb3b..d113e92f5b4 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java @@ -57,6 +57,11 @@ public class GtkFramePeer extends GtkWindowPeer native void removeMenuBarPeer (); native void gtkFixedSetVisible (boolean visible); + private native void maximize(); + private native void unmaximize(); + private native void iconify(); + private native void deiconify(); + int getMenuBarHeight () { return menuBar == null ? 0 : getMenuBarHeight (menuBar); @@ -199,12 +204,25 @@ public class GtkFramePeer extends GtkWindowPeer public int getState () { - return 0; + return windowState; } public void setState (int state) { - + switch (state) + { + case Frame.NORMAL: + if ((windowState & Frame.ICONIFIED) != 0) + deiconify(); + if ((windowState & Frame.MAXIMIZED_BOTH) != 0) + unmaximize(); + break; + case Frame.ICONIFIED: + iconify(); + break; + case Frame.MAXIMIZED_BOTH: + maximize(); + } } public void setMaximizedBounds (Rectangle r) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java index f1a74b8cc99..53e97bb1a8a 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java @@ -42,6 +42,7 @@ import java.awt.image.ColorModel; import java.awt.image.ImageConsumer; import java.awt.image.ImageProducer; import java.awt.image.MemoryImageSource; +import java.nio.ByteOrder; import java.util.Hashtable; /** @@ -103,7 +104,7 @@ public class GtkImageConsumer implements ImageConsumer scansize); } - public synchronized void setPixels (int x, int y, int width, int height, + public synchronized void setPixels (int x, int y, int width, int height, ColorModel cm, int[] pixels, int offset, int scansize) { @@ -117,18 +118,34 @@ public class GtkImageConsumer implements ImageConsumer width); else { - for (int i = 0; i < height; i++) - for (int j = 0; j < width; j++) - { - // get in AARRGGBB and convert to AABBGGRR - int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); - byte b = (byte)(pix & 0xFF); - byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF); - pix &= 0xFF00FF00; - pix |= ((b & 0xFF) << 16); - pix |= (r & 0xFF); - pixelCache[(y + i) * this.width + x + j] = pix; - } + if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) + { + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) + { + // get in RRGGBBAA and convert to AARRGGBB + int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); + int a = ((pix & 0xFF000000) >> 24) & 0xFF; + int rgb = (pix & 0x00FFFFFF) << 8; + pix = rgb | a; + pixelCache[(y + i) * this.width + x + j] = pix; + } + } + else + { + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) + { + // get in AARRGGBB and convert to AABBGGRR + int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); + byte b = (byte)(pix & 0xFF); + byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF); + pix &= 0xFF00FF00; + pix |= ((b & 0xFF) << 16); + pix |= (r & 0xFF); + pixelCache[(y + i) * this.width + x + j] = pix; + } + } } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java new file mode 100644 index 00000000000..a4e280fe45f --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java @@ -0,0 +1,190 @@ +/* GtkMainThread.java -- Wrapper for the GTK main thread, and some utilities. + Copyright (C) 2006 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. */ + + +package gnu.java.awt.peer.gtk; + +import gnu.java.awt.peer.NativeEventLoopRunningEvent; + +import java.awt.AWTEvent; + +/** + * The Java thread representing the native GTK main loop, that is, + * GtkMainThread.mainThread, terminates when GtkToolkit.gtkMain() + * returns. That happens in response to the last window peer being + * disposed (see GtkWindowPeer.dispose). + * + * When GtkMainThread.destroyWindow is called for the last window, it + * in turn calls GtkMainThread.endMainThread, which calls gtk_quit. + * gtk_quit signals gtk_main to return, which causes GtkMainThread.run + * to return. + * + * There should only be one native GTK main loop running at any given + * time. In order to safely start and stop the GTK main loop, we use + * a running flag and corresponding runningLock. startMainThread will + * not return until the native GTK main loop has started, as confirmed + * by the native set_running_flag callback setting the running flag to + * true. Without this protection, gtk_quit could be called before the + * main loop has actually started, which causes GTK assertion + * failures. Likewise endMainThread will not return until the native + * GTK main loop has ended. + * + * post_running_flag_callback is called during gtk_main initialization + * and no window can be created before startMainThread returns. This + * ensures that calling post_running_flag_callback is the first action + * taken by the native GTK main loop. + * + * GtkMainThread.mainThread is started when the window count goes from + * zero to one. + * + * GtkMainThread keeps the AWT event queue informed of its status by + * posting NativeEventLoopRunningEvents. The AWT event queue uses + * this status to determine whether or not the AWT exit conditions + * have been met (see EventQueue.isShutdown). + */ +public class GtkMainThread extends Thread +{ + /** Count of the number of open windows */ + private static int numberOfWindows = 0; + + /** Lock for the above */ + private static Object nWindowsLock = new Object(); + + /** Indicates whether or not the GTK main loop is running. */ + private static boolean running = false; + + /** Lock for the above. */ + private static Object runningLock = new Object(); + + /** The main thread instance (singleton) */ + public static GtkMainThread mainThread; + + /** Constructs a main thread */ + private GtkMainThread() + { + super("GTK main thread"); + } + + public void run () + { + GtkToolkit.gtkMain (); + } + + private static void setRunning(boolean running) + { + synchronized (runningLock) + { + GtkMainThread.running = running; + runningLock.notifyAll(); + } + } + + private static void startMainThread() + { + synchronized (runningLock) + { + if (!running) + { + mainThread = new GtkMainThread(); + mainThread.start(); + + while (!running) + { + try + { + runningLock.wait(); + } + catch (InterruptedException e) + { + System.err.println ("GtkMainThread.startMainThread:" + + " interrupted while waiting " + + " for GTK main loop to start"); + } + } + GtkGenericPeer.q() + .postEvent(new NativeEventLoopRunningEvent(new Boolean(true))); + } + } + } + + private static void endMainThread() + { + synchronized (runningLock) + { + if (running) + { + GtkToolkit.gtkQuit(); + + while (running) + { + try + { + runningLock.wait(); + } + catch (InterruptedException e) + { + System.err.println ("GtkMainThread.endMainThread:" + + " interrupted while waiting " + + " for GTK main loop to stop"); + } + } + GtkGenericPeer.q() + .postEvent(new NativeEventLoopRunningEvent(new Boolean(false))); + } + } + } + + public static void createWindow() + { + synchronized (nWindowsLock) + { + if (numberOfWindows == 0) + startMainThread(); + numberOfWindows++; + } + } + + public static void destroyWindow() + { + synchronized (nWindowsLock) + { + numberOfWindows--; + if (numberOfWindows == 0) + endMainThread(); + } + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java index 6aa87fc2ecf..f746a47479f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java @@ -62,6 +62,7 @@ import java.awt.FontMetrics; import java.awt.Frame; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; +import java.awt.HeadlessException; import java.awt.Image; import java.awt.Label; import java.awt.List; @@ -83,6 +84,7 @@ import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; +import java.awt.dnd.InvalidDnDOperationException; import java.awt.dnd.peer.DragSourceContextPeer; import java.awt.im.InputMethodHighlight; import java.awt.image.ColorModel; @@ -115,7 +117,6 @@ import java.awt.peer.WindowPeer; import java.io.InputStream; import java.net.URL; import java.util.HashMap; -import java.util.Hashtable; import java.util.LinkedHashMap; import java.util.Map; import java.util.Properties; @@ -131,37 +132,30 @@ import javax.imageio.spi.IIORegistry; public class GtkToolkit extends gnu.java.awt.ClasspathToolkit { - Hashtable containers = new Hashtable(); - static EventQueue q; - static Thread mainThread; + private static EventQueue q; static native void gtkInit(int portableNativeSync); + static native void gtkMain(); + + static native void gtkQuit(); + static { System.loadLibrary("gtkpeer"); - + int portableNativeSync; String portNatSyncProp = System.getProperty("gnu.classpath.awt.gtk.portable.native.sync"); - + if (portNatSyncProp == null) portableNativeSync = -1; // unset else if (Boolean.valueOf(portNatSyncProp).booleanValue()) portableNativeSync = 1; // true else portableNativeSync = 0; // false - + gtkInit(portableNativeSync); - - mainThread = new Thread ("GTK main thread") - { - public void run () - { - gtkMain (); - } - }; - mainThread.start (); } public GtkToolkit () @@ -169,6 +163,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit } public native void beep(); + private native void getScreenSizeDimensions(int[] xy); public int checkImage (Image image, int width, int height, @@ -181,6 +176,9 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit if (image instanceof GtkImage) return ((GtkImage) image).checkImage (observer); + if (image instanceof AsyncImage) + return ((AsyncImage) image).checkImage(observer); + if (observer != null) observer.imageUpdate (image, status, -1, -1, @@ -194,7 +192,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit * Helper to return either a Image -- the argument -- or a * GtkImage with the errorLoading flag set if the argument is null. */ - private Image imageOrError(Image b) + static Image imageOrError(Image b) { if (b == null) return GtkImage.getErrorImage(); @@ -221,16 +219,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit public Image createImage (URL url) { - Image image; - try - { - image = CairoSurface.getBufferedImage( new GtkImage( url ) ); - } - catch (IllegalArgumentException iae) - { - image = null; - } - return imageOrError(image); + return new AsyncImage(url); } public Image createImage (ImageProducer producer) @@ -301,7 +290,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit "SansSerif" }); } - private class LRUCache extends LinkedHashMap + static class LRUCache extends LinkedHashMap { int max_entries; public LRUCache(int max) @@ -316,23 +305,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit } private LRUCache fontCache = new LRUCache(50); - private LRUCache metricsCache = new LRUCache(50); private LRUCache imageCache = new LRUCache(50); public FontMetrics getFontMetrics (Font font) { - synchronized (metricsCache) - { - if (metricsCache.containsKey(font)) - return (FontMetrics) metricsCache.get(font); - } - - FontMetrics m = new GdkFontMetrics (font); - synchronized (metricsCache) - { - metricsCache.put(font, m); - } - return m; + return ((GdkFontPeer) font.getPeer()).getFontMetrics(font); } public Image getImage (String filename) @@ -408,6 +385,13 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit return ((((GtkImage)image).checkImage (observer) & ImageObserver.ALLBITS) != 0); + if (image instanceof AsyncImage) + { + AsyncImage aImg = (AsyncImage) image; + aImg.addObserver(observer); + return aImg.realImage != null; + } + /* Assume anything else is too */ return true; } @@ -437,106 +421,131 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit protected ButtonPeer createButton (Button b) { + checkHeadless(); return new GtkButtonPeer (b); } protected CanvasPeer createCanvas (Canvas c) { + checkHeadless(); return new GtkCanvasPeer (c); } protected CheckboxPeer createCheckbox (Checkbox cb) { + checkHeadless(); return new GtkCheckboxPeer (cb); } protected CheckboxMenuItemPeer createCheckboxMenuItem (CheckboxMenuItem cmi) { + checkHeadless(); return new GtkCheckboxMenuItemPeer (cmi); } protected ChoicePeer createChoice (Choice c) { + checkHeadless(); return new GtkChoicePeer (c); } protected DialogPeer createDialog (Dialog d) { + checkHeadless(); + GtkMainThread.createWindow(); return new GtkDialogPeer (d); } protected FileDialogPeer createFileDialog (FileDialog fd) { + checkHeadless(); return new GtkFileDialogPeer (fd); } protected FramePeer createFrame (Frame f) { + checkHeadless(); + GtkMainThread.createWindow(); return new GtkFramePeer (f); } protected LabelPeer createLabel (Label label) { + checkHeadless(); return new GtkLabelPeer (label); } protected ListPeer createList (List list) { + checkHeadless(); return new GtkListPeer (list); } protected MenuPeer createMenu (Menu m) { + checkHeadless(); return new GtkMenuPeer (m); } protected MenuBarPeer createMenuBar (MenuBar mb) { + checkHeadless(); return new GtkMenuBarPeer (mb); } protected MenuItemPeer createMenuItem (MenuItem mi) { + checkHeadless(); return new GtkMenuItemPeer (mi); } protected PanelPeer createPanel (Panel p) { + checkHeadless(); return new GtkPanelPeer (p); } protected PopupMenuPeer createPopupMenu (PopupMenu target) { + checkHeadless(); return new GtkPopupMenuPeer (target); } protected ScrollPanePeer createScrollPane (ScrollPane sp) { + checkHeadless(); return new GtkScrollPanePeer (sp); } protected ScrollbarPeer createScrollbar (Scrollbar sb) { + checkHeadless(); return new GtkScrollbarPeer (sb); } protected TextAreaPeer createTextArea (TextArea ta) { + checkHeadless(); return new GtkTextAreaPeer (ta); } protected TextFieldPeer createTextField (TextField tf) { + checkHeadless(); return new GtkTextFieldPeer (tf); } protected WindowPeer createWindow (Window w) { + checkHeadless(); + GtkMainThread.createWindow(); return new GtkWindowPeer (w); } public EmbeddedWindowPeer createEmbeddedWindow (EmbeddedWindow w) { + checkHeadless(); + GtkMainThread.createWindow(); return new GtkEmbeddedWindowPeer (w); } @@ -605,6 +614,8 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent e) { + if (GraphicsEnvironment.isHeadless()) + throw new InvalidDnDOperationException(); return new GtkDragSourceContextPeer(e); } @@ -614,7 +625,8 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit int actions, DragGestureListener l) { - if (recognizer.getName().equals("java.awt.dnd.MouseDragGestureRecognizer")) + if (recognizer.getName().equals("java.awt.dnd.MouseDragGestureRecognizer") + && ! GraphicsEnvironment.isHeadless()) { GtkMouseDragGestureRecognizer gestureRecognizer = new GtkMouseDragGestureRecognizer(ds, comp, actions, l); @@ -661,13 +673,25 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit GdkPixbufDecoder.registerSpis(reg); } - public static native void gtkMain(); - protected MouseInfoPeer getMouseInfoPeer() { return new GtkMouseInfoPeer(); } + public boolean isFrameStateSupported(int state) + { + // GTK supports ICONFIED, NORMAL and MAXIMIZE_BOTH, but + // not (yet?) MAXIMIZE_VERT and MAXIMIZE_HORIZ. + return state == Frame.NORMAL || state == Frame.ICONIFIED + || state == Frame.MAXIMIZED_BOTH; + } + + private void checkHeadless() + { + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + } + public native int getMouseNumberOfButtons(); } // class GtkToolkit diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java index 44e7b027b0b..8660ced8ec1 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java @@ -37,13 +37,21 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; -import java.awt.ImageCapabilities; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; +import java.awt.ImageCapabilities; +import java.awt.Point; import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; +import java.awt.image.DataBuffer; +import java.awt.image.DirectColorModel; import java.awt.image.ImageObserver; +import java.awt.image.Raster; +import java.awt.image.SampleModel; +import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.VolatileImage; +import java.awt.image.WritableRaster; public class GtkVolatileImage extends VolatileImage { @@ -52,6 +60,12 @@ public class GtkVolatileImage extends VolatileImage final GtkComponentPeer component; + static ColorModel gdkColorModel = new DirectColorModel(32, + 0x000000FF, + 0x0000FF00, + 0x00FF0000, + 0xFF000000); + /** * Don't touch, accessed from native code. */ @@ -62,6 +76,17 @@ public class GtkVolatileImage extends VolatileImage native void destroy(long pointer); native int[] nativeGetPixels(long pointer); + + /** + * Gets the pixels in the current image from GDK. + * + * Note that pixels are in 32-bit RGBA, non-premultiplied, which is different + * from Cairo's premultiplied ARGB, which is different from Java's standard + * non-premultiplied ARGB. Caution is advised when using this method, to + * ensure that the data format remains consistent with what you expect. + * + * @return the current pixels, as reported by GDK. + */ public int[] getPixels() { return nativeGetPixels(nativePointer); @@ -113,9 +138,11 @@ public class GtkVolatileImage extends VolatileImage public BufferedImage getSnapshot() { - CairoSurface cs = new CairoSurface( width, height ); - cs.setPixels( getPixels() ); - return CairoSurface.getBufferedImage( cs ); + WritableRaster raster = Raster.createWritableRaster(createGdkSampleModel(width, height), + new Point(0, 0)); + raster.setDataElements(0, 0, getPixels()); + return new BufferedImage(gdkColorModel, raster, + gdkColorModel.isAlphaPremultiplied(), null); } public Graphics getGraphics() @@ -167,4 +194,14 @@ public class GtkVolatileImage extends VolatileImage { return null; } + + /** + * Creates a SampleModel that matches GDK's native format + */ + protected static SampleModel createGdkSampleModel(int w, int h) + { + return new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, w, h, + new int[]{0x000000FF, 0x0000FF00, + 0x00FF0000, 0xFF000000}); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java index 866d9c8816a..8d49719b1d3 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java @@ -38,7 +38,10 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.java.awt.ComponentReshapeEvent; + import java.awt.Component; +import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import java.awt.KeyboardFocusManager; @@ -62,8 +65,7 @@ public class GtkWindowPeer extends GtkContainerPeer protected static final int GDK_WINDOW_TYPE_HINT_DOCK = 6; protected static final int GDK_WINDOW_TYPE_HINT_DESKTOP = 7; - private boolean hasBeenShown = false; - private int oldState = Frame.NORMAL; + protected int windowState = Frame.NORMAL; // Cached awt window component location, width and height. private int x, y, width, height; @@ -75,6 +77,12 @@ public class GtkWindowPeer extends GtkContainerPeer native boolean gtkWindowHasFocus(); native void realize (); + public void dispose() + { + super.dispose(); + GtkMainThread.destroyWindow(); + } + /** Returns the cached width of the AWT window component. */ int getX () { @@ -144,6 +152,8 @@ public class GtkWindowPeer extends GtkContainerPeer public GtkWindowPeer (Window window) { super (window); + // Set reasonable font for the window. + window.setFont(new Font("Dialog", Font.PLAIN, 12)); } public native void toBack(); @@ -218,9 +228,31 @@ public class GtkWindowPeer extends GtkContainerPeer // only called from GTK thread protected void postConfigureEvent (int x, int y, int width, int height) { + int frame_x = x - insets.left; + int frame_y = y - insets.top; int frame_width = width + insets.left + insets.right; int frame_height = height + insets.top + insets.bottom; + // Update the component's knowledge about the size. + // Important: Please look at the big comment in ComponentReshapeEvent + // to learn why we did it this way. If you change this code, make + // sure that the peer->AWT bounds update still works. + // (for instance: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29448 ) + + // We do this befor we post the ComponentEvent, because (in Window) + // we invalidate() / revalidate() when a ComponentEvent is seen, + // and the AWT must already know about the new size then. + if (frame_x != this.x || frame_y != this.y || frame_width != this.width + || frame_height != this.height) + { + ComponentReshapeEvent ev = new ComponentReshapeEvent(awtComponent, + frame_x, + frame_y, + frame_width, + frame_height); + awtComponent.dispatchEvent(ev); + } + if (frame_width != getWidth() || frame_height != getHeight()) { @@ -230,9 +262,6 @@ public class GtkWindowPeer extends GtkContainerPeer ComponentEvent.COMPONENT_RESIZED)); } - int frame_x = x - insets.left; - int frame_y = y - insets.top; - if (frame_x != getX() || frame_y != getY()) { @@ -241,6 +270,7 @@ public class GtkWindowPeer extends GtkContainerPeer q().postEvent(new ComponentEvent(awtComponent, ComponentEvent.COMPONENT_MOVED)); } + } public void show () @@ -255,23 +285,26 @@ public class GtkWindowPeer extends GtkContainerPeer void postWindowEvent (int id, Window opposite, int newState) { - if (id == WindowEvent.WINDOW_OPENED) + if (id == WindowEvent.WINDOW_STATE_CHANGED) { - // Post a WINDOW_OPENED event the first time this window is shown. - if (!hasBeenShown) + if (windowState != newState) { + // Post old styleWindowEvent with WINDOW_ICONIFIED or + // WINDOW_DEICONIFIED if appropriate. + if ((windowState & Frame.ICONIFIED) != 0 + && (newState & Frame.ICONIFIED) == 0) + q().postEvent(new WindowEvent((Window) awtComponent, + WindowEvent.WINDOW_DEICONIFIED, + opposite, 0, 0)); + else if ((windowState & Frame.ICONIFIED) == 0 + && (newState & Frame.ICONIFIED) != 0) + q().postEvent(new WindowEvent((Window) awtComponent, + WindowEvent.WINDOW_ICONIFIED, + opposite, 0, 0)); + // Post new-style WindowStateEvent. q().postEvent (new WindowEvent ((Window) awtComponent, id, - opposite)); - hasBeenShown = true; - } - } - else if (id == WindowEvent.WINDOW_STATE_CHANGED) - { - if (oldState != newState) - { - q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite, - oldState, newState)); - oldState = newState; + opposite, windowState, newState)); + windowState = newState; } } else @@ -350,13 +383,6 @@ public class GtkWindowPeer extends GtkContainerPeer return g; } - protected void updateComponent (PaintEvent event) - { - // Do not clear anything before painting. Sun never calls - // Window.update, only Window.paint. - paintComponent(event); - } - protected void postMouseEvent(int id, long when, int mods, int x, int y, int clickCount, boolean popupTrigger) { diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java index 58496559320..62dbb45d81a 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java @@ -38,15 +38,32 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Image; +import java.awt.Point; +import java.awt.Shape; +import java.awt.Toolkit; +import java.awt.font.GlyphVector; +import java.awt.geom.AffineTransform; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.awt.image.Raster; +import java.awt.image.WritableRaster; +import java.util.Hashtable; public class VolatileImageGraphics extends ComponentGraphics { private GtkVolatileImage owner; + private BufferedImage buffer; public VolatileImageGraphics(GtkVolatileImage img) { @@ -77,10 +94,118 @@ public class VolatileImageGraphics extends ComponentGraphics return new VolatileImageGraphics( this ); } + public void draw(Shape s) + { + if (comp == null || comp instanceof AlphaComposite) + super.draw(s); + + // Custom composite + else + { + // Draw operation to temporary buffer + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setColor(this.getColor()); + g2d.setStroke(this.getStroke()); + g2d.draw(s); + + drawComposite(s.getBounds2D(), null); + } + } + + public void fill(Shape s) + { + if (comp == null || comp instanceof AlphaComposite) + super.fill(s); + + // Custom composite + else + { + // Draw operation to temporary buffer + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setPaint(this.getPaint()); + g2d.setColor(this.getColor()); + g2d.fill(s); + + drawComposite(s.getBounds2D(), null); + } + } + + public void drawGlyphVector(GlyphVector gv, float x, float y) + { + if (comp == null || comp instanceof AlphaComposite) + super.drawGlyphVector(gv, x, y); + + // Custom composite + else + { + // Draw operation to temporary buffer + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + + g2d.setPaint(this.getPaint()); + g2d.setColor(this.getColor()); + g2d.drawGlyphVector(gv, x, y); + + Rectangle2D bounds = gv.getLogicalBounds(); + bounds = new Rectangle2D.Double(x + bounds.getX(), y + bounds.getY(), + bounds.getWidth(), bounds.getHeight()); + drawComposite(bounds, null); + } + } + + protected boolean drawImage(Image img, AffineTransform xform, + Color bgcolor, ImageObserver obs) + { + if (comp == null || comp instanceof AlphaComposite) + return super.drawImage(img, xform, bgcolor, obs); + + // Custom composite + else + { + // Get buffered image of source + if( !(img instanceof BufferedImage) ) + { + ImageProducer source = img.getSource(); + if (source == null) + return false; + img = Toolkit.getDefaultToolkit().createImage(source); + } + BufferedImage bImg = (BufferedImage) img; + + // Find dimensions of translation + Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); + Point2D pt = new Point2D.Double(bImg.getWidth(), bImg.getHeight()); + if (xform != null) + { + origin = xform.transform(origin, origin); + pt = xform.transform(pt, pt); + } + + // Create buffer and draw image + createBuffer(); + + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); + g2d.setRenderingHints(this.getRenderingHints()); + g2d.drawImage(img, xform, obs); + // Perform compositing from buffer to screen + return drawComposite(new Rectangle2D.Double((int)origin.getX(), + (int)origin.getY(), + (int)pt.getX(), + (int)pt.getY()), + obs); + } + } + public boolean drawImage(Image img, int x, int y, ImageObserver observer) { - if( img instanceof GtkVolatileImage ) + if (img instanceof GtkVolatileImage + && (comp == null || comp instanceof AlphaComposite)) { owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, x, y, @@ -94,7 +219,8 @@ public class VolatileImageGraphics extends ComponentGraphics public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) { - if( img instanceof GtkVolatileImage ) + if ((img instanceof GtkVolatileImage) + && (comp == null || comp instanceof AlphaComposite)) { owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, x, y, width, height ); @@ -107,5 +233,84 @@ public class VolatileImageGraphics extends ComponentGraphics { return new Rectangle2D.Double(0, 0, owner.width, owner.height); } + + private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) + { + // Clip source to visible areas that need updating + Rectangle2D clip = this.getClipBounds(); + Rectangle2D.intersect(bounds, clip, bounds); + + BufferedImage buffer2 = buffer; + if (!bounds.equals(buffer2.getRaster().getBounds())) + buffer2 = buffer2.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); + + // Get current on-screen pixels (destination) and clip to bounds + BufferedImage current = owner.getSnapshot(); + + double[] points = new double[] {bounds.getX(), bounds.getY(), + bounds.getMaxX(), bounds.getMaxY()}; + transform.transform(points, 0, points, 0, 2); + + Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], + points[2] - points[0], + points[3] - points[1]); + Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); + + current = current.getSubimage((int)deviceBounds.getX(), + (int)deviceBounds.getY(), + (int)deviceBounds.getWidth(), + (int)deviceBounds.getHeight()); + + // Perform actual composite operation + compCtx.compose(buffer2.getRaster(), current.getRaster(), + buffer2.getRaster()); + + // This MUST call directly into the "action" method in CairoGraphics2D, + // not one of the wrappers, to ensure that the composite isn't processed + // more than once! + Composite oldComp = comp; // so that ComponentGraphics doesn't + comp = null; // process the composite again + boolean rv = super.drawImage(buffer2, + AffineTransform.getTranslateInstance(bounds.getX(), + bounds.getY()), + null, null); + comp = oldComp; + + return rv; + } + + private void createBuffer() + { + if (buffer == null) + { + WritableRaster rst; + rst = Raster.createWritableRaster(GtkVolatileImage.createGdkSampleModel(owner.width, + owner.height), + new Point(0,0)); + + buffer = new BufferedImage(GtkVolatileImage.gdkColorModel, rst, + GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), + new Hashtable()); + } + else + { + Graphics2D g2d = ((Graphics2D)buffer.getGraphics()); + + g2d.setBackground(new Color(0,0,0,0)); + g2d.clearRect(0, 0, buffer.getWidth(), buffer.getHeight()); + } + } + + protected ColorModel getNativeCM() + { + // We should really return GtkVolatileImage.gdkColorModel , + // but CairoGraphics2D doesn't handle alpha premultiplication properly (see + // the fixme in drawImage) so we use the naive Cairo model instead to trick + // the compositing context. + // Because getNativeCM() == getBufferCM() for this peer, it doesn't break. + return CairoSurface.cairoCM_pre; + } } diff --git a/libjava/classpath/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java b/libjava/classpath/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java new file mode 100644 index 00000000000..b3eeb1baa84 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java @@ -0,0 +1,118 @@ +/* HeadlessGraphicsEnvironment.java -- A graphics environment for headless mode + Copyright (C) 2006 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. */ + + +package gnu.java.awt.peer.headless; + +import gnu.java.awt.java2d.RasterGraphics; + +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.HeadlessException; +import java.awt.image.BufferedImage; +import java.awt.image.Raster; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.Locale; + +public class HeadlessGraphicsEnvironment + extends GraphicsEnvironment +{ + + public Graphics2D createGraphics(BufferedImage image) + { + Graphics2D g2d; + try + { + // Try to get a CairoGraphics (accellerated) when available. Do this + // via reflection to avoid having a hard compile time dependency. + Class cairoSurfaceCl = + Class.forName("gnu.java.awt.peer.gtk.CairoSurface"); + Raster raster = image.getRaster(); + if (cairoSurfaceCl.isInstance(raster)) + { + Method getGraphicsM = cairoSurfaceCl.getMethod("getGraphics", + new Class[0]); + g2d = (Graphics2D) getGraphicsM.invoke(raster, new Object[0]); + } + else + { + Class bigCl = + Class.forName("gnu.java.awt.peer.gtk.BufferedImageGraphics"); + Constructor bigC = + bigCl.getConstructor(new Class[]{BufferedImage.class }); + g2d = (Graphics2D) bigC.newInstance(new Object[]{ image}); + } + } + catch (Exception ex) + { + g2d = new RasterGraphics(image.getRaster(), image.getColorModel()); + } + return g2d; + } + + public Font[] getAllFonts() + { + // FIXME: Implement. + return null; + } + + public String[] getAvailableFontFamilyNames() + { + // FIXME: Implement. + return null; + } + + public String[] getAvailableFontFamilyNames(Locale l) + { + // FIXME: Implement. + return null; + } + + public GraphicsDevice getDefaultScreenDevice() + { + throw new HeadlessException(); + } + + public GraphicsDevice[] getScreenDevices() + { + throw new HeadlessException(); + } + +} diff --git a/libjava/classpath/gnu/java/awt/peer/headless/HeadlessToolkit.java b/libjava/classpath/gnu/java/awt/peer/headless/HeadlessToolkit.java new file mode 100644 index 00000000000..96798c9e9d8 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/headless/HeadlessToolkit.java @@ -0,0 +1,371 @@ +/* HeadlessToolkit.java -- A toolkit for headless mode + Copyright (C) 2006 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. */ + + +package gnu.java.awt.peer.headless; + +import gnu.java.awt.ClasspathToolkit; +import gnu.java.awt.EmbeddedWindow; +import gnu.java.awt.peer.ClasspathFontPeer; +import gnu.java.awt.peer.EmbeddedWindowPeer; + +import java.awt.AWTException; +import java.awt.Button; +import java.awt.Canvas; +import java.awt.Checkbox; +import java.awt.CheckboxMenuItem; +import java.awt.Choice; +import java.awt.Dialog; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.FileDialog; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Frame; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.HeadlessException; +import java.awt.Image; +import java.awt.Label; +import java.awt.List; +import java.awt.Menu; +import java.awt.MenuBar; +import java.awt.MenuItem; +import java.awt.Panel; +import java.awt.PopupMenu; +import java.awt.PrintJob; +import java.awt.ScrollPane; +import java.awt.Scrollbar; +import java.awt.TextArea; +import java.awt.TextField; +import java.awt.Window; +import java.awt.datatransfer.Clipboard; +import java.awt.dnd.DragGestureEvent; +import java.awt.dnd.peer.DragSourceContextPeer; +import java.awt.im.InputMethodHighlight; +import java.awt.image.ColorModel; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.awt.peer.ButtonPeer; +import java.awt.peer.CanvasPeer; +import java.awt.peer.CheckboxMenuItemPeer; +import java.awt.peer.CheckboxPeer; +import java.awt.peer.ChoicePeer; +import java.awt.peer.DialogPeer; +import java.awt.peer.FileDialogPeer; +import java.awt.peer.FontPeer; +import java.awt.peer.FramePeer; +import java.awt.peer.LabelPeer; +import java.awt.peer.ListPeer; +import java.awt.peer.MenuBarPeer; +import java.awt.peer.MenuItemPeer; +import java.awt.peer.MenuPeer; +import java.awt.peer.PanelPeer; +import java.awt.peer.PopupMenuPeer; +import java.awt.peer.RobotPeer; +import java.awt.peer.ScrollPanePeer; +import java.awt.peer.ScrollbarPeer; +import java.awt.peer.TextAreaPeer; +import java.awt.peer.TextFieldPeer; +import java.awt.peer.WindowPeer; +import java.io.InputStream; +import java.net.URL; +import java.util.Map; +import java.util.Properties; + +public class HeadlessToolkit + extends ClasspathToolkit +{ + + /** + * The graphics environment for headless graphics. + */ + private HeadlessGraphicsEnvironment graphicsEnv; + + public void beep() + { + // TODO Auto-generated method stub + + } + + public int checkImage(Image image, int width, int height, + ImageObserver observer) + { + // TODO Auto-generated method stub + return 0; + } + + protected ButtonPeer createButton(Button target) + { + throw new HeadlessException(); + } + + protected CanvasPeer createCanvas(Canvas target) + { + throw new HeadlessException(); + } + + protected CheckboxPeer createCheckbox(Checkbox target) + { + throw new HeadlessException(); + } + + protected CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem target) + { + throw new HeadlessException(); + } + + protected ChoicePeer createChoice(Choice target) + { + throw new HeadlessException(); + } + + protected DialogPeer createDialog(Dialog target) + { + throw new HeadlessException(); + } + + public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent e) + { + throw new HeadlessException(); + } + + protected FileDialogPeer createFileDialog(FileDialog target) + { + throw new HeadlessException(); + } + + protected FramePeer createFrame(Frame target) + { + throw new HeadlessException(); + } + + public Image createImage(String filename) + { + // FIXME: Implement. + return null; + } + + public Image createImage(URL url) + { + // FIXME: Implement. + return null; + } + + public Image createImage(ImageProducer producer) + { + // FIXME: Implement. + return null; + } + + public Image createImage(byte[] data, int offset, int len) + { + // TODO Auto-generated method stub + return null; + } + + protected LabelPeer createLabel(Label target) + { + throw new HeadlessException(); + } + + protected ListPeer createList(List target) + { + throw new HeadlessException(); + } + + protected MenuPeer createMenu(Menu target) + { + throw new HeadlessException(); + } + + protected MenuBarPeer createMenuBar(MenuBar target) + { + throw new HeadlessException(); + } + + protected MenuItemPeer createMenuItem(MenuItem target) + { + throw new HeadlessException(); + } + + protected PanelPeer createPanel(Panel target) + { + throw new HeadlessException(); + } + + protected PopupMenuPeer createPopupMenu(PopupMenu target) + { + throw new HeadlessException(); + } + + protected ScrollPanePeer createScrollPane(ScrollPane target) + { + throw new HeadlessException(); + } + + protected ScrollbarPeer createScrollbar(Scrollbar target) + { + throw new HeadlessException(); + } + + protected TextAreaPeer createTextArea(TextArea target) + { + throw new HeadlessException(); + } + + protected TextFieldPeer createTextField(TextField target) + { + throw new HeadlessException(); + } + + protected WindowPeer createWindow(Window target) + { + throw new HeadlessException(); + } + + public ColorModel getColorModel() + { + // TODO Auto-generated method stub + return null; + } + + public String[] getFontList() + { + // TODO Auto-generated method stub + return null; + } + + public FontMetrics getFontMetrics(Font name) + { + // TODO Auto-generated method stub + return null; + } + + protected FontPeer getFontPeer(String name, int style) + { + // TODO Auto-generated method stub + return null; + } + + public Image getImage(String name) + { + // TODO Auto-generated method stub + return null; + } + + public Image getImage(URL url) + { + // TODO Auto-generated method stub + return null; + } + + public PrintJob getPrintJob(Frame frame, String title, Properties props) + { + // TODO Auto-generated method stub + return null; + } + + public int getScreenResolution() + { + throw new HeadlessException(); + } + + public Dimension getScreenSize() + { + throw new HeadlessException(); + } + + public Clipboard getSystemClipboard() + { + throw new HeadlessException(); + } + + protected EventQueue getSystemEventQueueImpl() + { + throw new HeadlessException(); + } + + public Map mapInputMethodHighlight(InputMethodHighlight highlight) + { + // TODO Auto-generated method stub + return null; + } + + public boolean prepareImage(Image image, int width, int height, + ImageObserver observer) + { + // TODO Auto-generated method stub + return false; + } + + public void sync() + { + // TODO Auto-generated method stub + + } + + public EmbeddedWindowPeer createEmbeddedWindow(EmbeddedWindow w) + { + throw new HeadlessException(); + } + + public Font createFont(int format, InputStream stream) + { + // TODO Auto-generated method stub + return null; + } + + public RobotPeer createRobot(GraphicsDevice screen) throws AWTException + { + throw new HeadlessException(); + } + + public ClasspathFontPeer getClasspathFontPeer(String name, Map attrs) + { + // TODO Auto-generated method stub + return null; + } + + public GraphicsEnvironment getLocalGraphicsEnvironment() + { + if (graphicsEnv == null) + graphicsEnv = new HeadlessGraphicsEnvironment(); + return graphicsEnv; + } + +} diff --git a/libjava/classpath/gnu/java/awt/peer/qt/QtFontPeer.java b/libjava/classpath/gnu/java/awt/peer/qt/QtFontPeer.java index d847a805396..6ffe3f69176 100644 --- a/libjava/classpath/gnu/java/awt/peer/qt/QtFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/qt/QtFontPeer.java @@ -194,15 +194,4 @@ public class QtFontPeer extends ClasspathFontPeer throw new UnsupportedOperationException(); } - public Rectangle2D getStringBounds (Font font, - CharacterIterator ci, - int begin, int limit, - FontRenderContext frc) - { - int index = begin; - String s = "" + ci.setIndex( index ); - while( index++ <= limit ) - s = s + ci.next(); - return metrics.getStringBounds(s); - } } diff --git a/libjava/classpath/gnu/java/awt/peer/qt/QtGraphics.java b/libjava/classpath/gnu/java/awt/peer/qt/QtGraphics.java index 842cbbbf8ba..5694e8d2076 100644 --- a/libjava/classpath/gnu/java/awt/peer/qt/QtGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/qt/QtGraphics.java @@ -669,12 +669,13 @@ public abstract class QtGraphics extends Graphics2D public RenderingHints getRenderingHints() { - return new RenderingHints( renderingHints ); + return (RenderingHints) renderingHints.clone(); } - public void setRenderingHints(Map hints) + public void setRenderingHints(Map hints) { - renderingHints = new RenderingHints( hints ); + renderingHints = new RenderingHints( null ); + renderingHints.putAll(hints); updateRenderingHints(); } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java index 2357fcbfb0d..531d6f2db3b 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.awt.peer.swing; import java.awt.Button; +import java.awt.Container; import java.awt.Graphics; import java.awt.Image; import java.awt.Point; @@ -69,6 +70,13 @@ public class SwingButtonPeer extends JButton implements SwingComponent { + Button button; + + SwingButton(Button button) + { + this.button = button; + } + /** * Overridden so that this method returns the correct value even without a * peer. @@ -90,8 +98,8 @@ public class SwingButtonPeer public boolean isShowing() { boolean retVal = false; - if (SwingButtonPeer.this.awtComponent != null) - retVal = SwingButtonPeer.this.awtComponent.isShowing(); + if (button != null) + retVal = button.isShowing(); return retVal; } @@ -168,6 +176,14 @@ public class SwingButtonPeer ev.setSource(this); processKeyEvent(ev); } + + public Container getParent() + { + Container par = null; + if (button != null) + par = button.getParent(); + return par; + } } /** @@ -205,7 +221,7 @@ public class SwingButtonPeer */ public SwingButtonPeer(Button theButton) { - SwingButton button = new SwingButton(); + SwingButton button = new SwingButton(theButton); button.setText(theButton.getLabel()); button.addActionListener(new SwingButtonListener()); init(theButton, button); diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingComponent.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingComponent.java index a51b758adf0..04ca7294f78 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingComponent.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingComponent.java @@ -62,7 +62,7 @@ public interface SwingComponent /** * Handles a mouse event. This is usually forwarded to - * {@link java.awt.Component#processMouseMotionEvent(MouseEvent)} of the swing + * {@link Component#processMouseMotionEvent(MouseEvent)} of the swing * component. * * @param ev the mouse event @@ -71,7 +71,7 @@ public interface SwingComponent /** * Handles a mouse motion event. This is usually forwarded to - * {@link java.awt.Component#processMouseEvent(MouseEvent)} of the swing + * {@link Component#processMouseEvent(MouseEvent)} of the swing * component. * * @param ev the mouse motion event @@ -80,7 +80,7 @@ public interface SwingComponent /** * Handles a key event. This is usually forwarded to - * {@link java.awt.Component#processKeyEvent(KeyEvent)} of the swing + * {@link Component#processKeyEvent(KeyEvent)} of the swing * component. * * @param ev the key event diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java index 96ccc00b8f0..bfa14dddee3 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java @@ -42,6 +42,7 @@ import java.awt.AWTException; import java.awt.BufferCapabilities; import java.awt.Color; import java.awt.Component; +import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; @@ -62,6 +63,10 @@ import java.awt.image.ImageProducer; import java.awt.image.VolatileImage; import java.awt.peer.ComponentPeer; import java.awt.peer.ContainerPeer; +import java.awt.peer.LightweightPeer; + +import javax.swing.JComponent; +import javax.swing.RepaintManager; /** * The base class for Swing based component peers. This provides the basic @@ -97,9 +102,18 @@ public class SwingComponentPeer protected SwingComponent swingComponent; /** + * The font that is set for this peer. + */ + protected Font peerFont; + + /** + * The current repaint area. + */ + protected Rectangle paintArea; + + /** * Creates a SwingComponentPeer instance. Subclasses are expected to call - * this constructor and thereafter call - * {@link #init(Component,SwingComponent)} + * this constructor and thereafter call {@link #init(Component, JComponent)} * in order to setup the AWT and Swing components properly. */ protected SwingComponentPeer() @@ -118,6 +132,38 @@ public class SwingComponentPeer { awtComponent = awtComp; swingComponent = swingComp; + if (swingComponent != null) + { + JComponent c = swingComponent.getJComponent(); + if (c != null) + { + c.addNotify(); + RepaintManager.currentManager(c).setDoubleBufferingEnabled(false); + System.setProperty("gnu.awt.swing.doublebuffering", "true"); + } + } + + // Register this heavyweight component with the nearest heavyweight + // container, so we get peerPaint() triggered by that container. + if (! (this instanceof LightweightPeer)) + { + Component comp = awtComponent; + Container parent = comp.getParent(); + while (parent != null && + ! (parent.getPeer() instanceof SwingContainerPeer)) + { + comp = parent; + parent = comp.getParent(); + } + + // At this point we have the ancestor with a SwingContainerPeer + // (or null peer). + if (parent != null && parent.getPeer() instanceof SwingContainerPeer) + { + SwingContainerPeer p = (SwingContainerPeer) parent.getPeer(); + p.addHeavyweightDescendent(awtComponent); + } + } } /** @@ -185,6 +231,28 @@ public class SwingComponentPeer */ public void dispose() { + // Unregister this heavyweight component from the nearest heavyweight + // container. + if (! (this instanceof LightweightPeer)) + { + Component comp = awtComponent; + Container parent = comp.getParent(); + while (parent != null && + ! (parent.getPeer() instanceof SwingContainerPeer)) + { + comp = parent; + parent = comp.getParent(); + } + + // At this point we have the ancestor with a SwingContainerPeer + // (or null peer). + if (parent != null && parent.getPeer() instanceof SwingContainerPeer) + { + SwingContainerPeer p = (SwingContainerPeer) parent.getPeer(); + p.removeHeavyweightDescendent(awtComponent); + } + } + awtComponent = null; swingComponent = null; } @@ -244,8 +312,7 @@ public class SwingComponentPeer public Graphics getGraphics() { Component parent = awtComponent.getParent(); - ComponentPeer parentPeer = parent.getPeer(); - Graphics g = parentPeer.getGraphics(); + Graphics g = parent.getGraphics(); g.translate(awtComponent.getX(), awtComponent.getY()); g.setClip(0, 0, awtComponent.getWidth(), awtComponent.getHeight()); return g; @@ -331,23 +398,28 @@ public class SwingComponentPeer { case PaintEvent.UPDATE: case PaintEvent.PAINT: - // This only will work when the component is showing. - if (awtComponent.isShowing()) + // Need to synchronize to avoid threading problems on the + // paint event list. + // We must synchronize on the tree lock first to avoid deadlock, + // because Container.paint() will grab it anyway. + synchronized (this) { - Graphics g = getGraphics(); - Rectangle clip = ((PaintEvent)e).getUpdateRect(); - g.clipRect(clip.x, clip.y, clip.width, clip.height); - //if (this instanceof LightweightPeer) - // { - if (e.getID() == PaintEvent.UPDATE) - awtComponent.update(g); - else - awtComponent.paint(g); - // } - // We paint the 'heavyweights' at last, so that they appear on top of - // everything else. - peerPaint(g); - g.dispose(); + assert paintArea != null; + if (awtComponent.isShowing()) + { + Graphics g = awtComponent.getGraphics(); + try + { + Rectangle clip = paintArea; + g.clipRect(clip.x, clip.y, clip.width, clip.height); + peerPaint(g, e.getID() == PaintEvent.UPDATE); + } + finally + { + g.dispose(); + paintArea = null; + } + } } break; case MouseEvent.MOUSE_PRESSED: @@ -451,9 +523,15 @@ public class SwingComponentPeer return retVal; } + /** + * Paints the component. This is triggered by + * {@link Component#paintAll(Graphics)}. + * + * @param graphics the graphics to paint with + */ public void paint(Graphics graphics) { - // FIXME: I don't know what this method is supposed to do. + peerPaint(graphics, false); } /** @@ -634,6 +712,7 @@ public class SwingComponentPeer */ public void setFont(Font font) { + peerFont = font; if (swingComponent != null) swingComponent.getJComponent().setFont(font); } @@ -741,7 +820,14 @@ public class SwingComponentPeer */ public void coalescePaintEvent(PaintEvent e) { - // Nothing to do here yet. + synchronized (this) + { + Rectangle newRect = e.getUpdateRect(); + if (paintArea == null) + paintArea = newRect; + else + Rectangle.union(paintArea, newRect, paintArea); + } } /** @@ -947,9 +1033,33 @@ public class SwingComponentPeer * paint() on the Swing component. * * @param g the graphics context to use for painting + * @param update wether we need to call update or paint on the AWT component + */ + protected void peerPaint(Graphics g, boolean update) + { + peerPaintComponent(g); + + Graphics userGraphics = g.create(); + try{ + if (update) + awtComponent.update(userGraphics); + else + awtComponent.paint(userGraphics); + } finally { + userGraphics.dispose(); + } + + } + + /** + * Paints the actual 'heavyweight' swing component, if there is one + * associated to this peer. + * + * @param g the graphics to paint the component with */ - protected void peerPaint(Graphics g) + protected void peerPaintComponent(Graphics g) { + // Paint the actual Swing component if this peer has one. if (swingComponent != null) swingComponent.getJComponent().paint(g); } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java index f433e1b5c2d..c78b644a765 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java @@ -37,14 +37,20 @@ exception statement from your version. */ package gnu.java.awt.peer.swing; +import gnu.classpath.SystemProperties; + import java.awt.Component; import java.awt.Container; import java.awt.Graphics; +import java.awt.Image; import java.awt.Insets; -import java.awt.Shape; +import java.awt.Rectangle; +import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.peer.ComponentPeer; import java.awt.peer.ContainerPeer; +import java.util.Iterator; +import java.util.LinkedList; /** * A peer for Container to be used with the Swing based AWT peers. @@ -56,14 +62,54 @@ public class SwingContainerPeer implements ContainerPeer { + /** + * Stores all heavyweight descendents of the container. This is used + * in {@link #peerPaintChildren(Graphics)}. + */ + private LinkedList heavyweightDescendents; + + /** + * The backbuffer used for painting UPDATE events. + */ + private Image backbuffer; + /** * Creates a new SwingContainerPeer. * * @param awtCont */ - public SwingContainerPeer(Component awtCont) + public SwingContainerPeer(Container awtCont) + { + heavyweightDescendents = new LinkedList(); + } + + /** + * Registers a heavyweight descendent. This is then painted by + * {@link #peerPaintChildren(Graphics)}. + * + * @param comp the descendent to register + * + * @see #peerPaintChildren(Graphics) + * @see #removeHeavyweightDescendent(Component) + */ + synchronized void addHeavyweightDescendent(Component comp) + { + heavyweightDescendents.add(comp); + focusOwner = null; + } + + /** + * Unregisters a heavyweight descendent. + * + * @param comp the descendent to unregister + * + * @see #peerPaintChildren(Graphics) + * @see #addHeavyweightDescendent(Component) + */ + synchronized void removeHeavyweightDescendent(Component comp) { - init(awtCont, null); + heavyweightDescendents.remove(comp); + focusOwner = null; } /** @@ -92,12 +138,7 @@ public class SwingContainerPeer */ public Insets getInsets() { - Insets retVal; - if (swingComponent != null) - retVal = swingComponent.getJComponent().getInsets(); - else - retVal = new Insets(0, 0, 0, 0); - return retVal; + return insets(); } /** @@ -171,38 +212,83 @@ public class SwingContainerPeer } /** - * Triggers painting of a component. This calls peerPaint on all the child - * components of this container. - * - * @param g the graphics context to paint to + * Performs the super behaviour (call peerPaintComponent() and + * awtComponent.paint()), and forwards the paint request to the heavyweight + * descendents of the container. */ - protected void peerPaint(Graphics g) + protected void peerPaint(Graphics g, boolean update) { - Container c = (Container) awtComponent; - Component[] children = c.getComponents(); - for (int i = children.length - 1; i >= 0; --i) + if (isDoubleBuffering()) { - Component child = children[i]; - ComponentPeer peer = child.getPeer(); - boolean translated = false; - boolean clipped = false; - Shape oldClip = g.getClip(); + int width = awtComponent.getWidth(); + int height = awtComponent.getHeight(); + if (backbuffer == null + || backbuffer.getWidth(awtComponent) < width + || backbuffer.getHeight(awtComponent) < height) + backbuffer = awtComponent.createImage(width, height); + Graphics g2 = backbuffer.getGraphics(); + Rectangle clip = g.getClipRect(); try - { - g.translate(child.getX(), child.getY()); - translated = true; - g.setClip(0, 0, child.getWidth(), child.getHeight()); - clipped = true; - if (peer instanceof SwingComponentPeer) - ((SwingComponentPeer) peer).peerPaint(g); - } + { + g2.setClip(clip); + super.peerPaint(g2, update); + peerPaintChildren(g2); + } finally - { - if (translated) - g.translate(- child.getX(), - child.getY()); - if (clipped) - g.setClip(oldClip); - } + { + g2.dispose(); + } + g.drawImage(backbuffer, 0, 0, awtComponent); + } + else + { + super.peerPaint(g, update); + peerPaintChildren(g); + } + } + + /** + * Determines if we should do double buffering or not. + * + * @return if we should do double buffering or not + */ + private boolean isDoubleBuffering() + { + Object prop = + SystemProperties.getProperty("gnu.awt.swing.doublebuffering", "false"); + return prop.equals("true"); + } + + /** + * Paints any heavyweight child components. + * + * @param g the graphics to use for painting + */ + protected synchronized void peerPaintChildren(Graphics g) + { + // TODO: Is this the right painting order? + for (Iterator i = heavyweightDescendents.iterator(); i.hasNext();) + { + Component child = (Component) i.next(); + ComponentPeer peer = child.getPeer(); + + if (peer instanceof SwingComponentPeer && child.isVisible()) + { + // TODO: The translation here doesn't work for deeper + // nested children. Fix this! + Graphics g2 = g.create(child.getX(), child.getY(), + child.getWidth(), child.getHeight()); + try + { + // update() is only called for the topmost component if + // necessary, all other components only get paint() called. + ((SwingComponentPeer) peer).peerPaint(g2, false); + } + finally + { + g2.dispose(); + } + } } } @@ -214,17 +300,13 @@ public class SwingContainerPeer protected void handleMouseEvent(MouseEvent ev) { Component comp = awtComponent.getComponentAt(ev.getPoint()); - if(comp == null) - comp = awtComponent; - if (comp != null) + if(comp == null) comp = awtComponent; + ComponentPeer peer = comp.getPeer(); + if (awtComponent != comp && !comp.isLightweight() && peer instanceof SwingComponentPeer) { - ComponentPeer peer = comp.getPeer(); - if (awtComponent != comp && !comp.isLightweight() && peer instanceof SwingComponentPeer) - { - ev.translatePoint(comp.getX(), comp.getY()); - ev.setSource(comp); - ((SwingComponentPeer) peer).handleMouseEvent(ev); - } + ev.translatePoint(comp.getX(), comp.getY()); + ev.setSource(comp); + ((SwingComponentPeer) peer).handleMouseEvent(ev); } } @@ -246,4 +328,39 @@ public class SwingContainerPeer } } } + + /** + * Handles key events on the component. This is usually forwarded to the + * SwingComponent's processKeyEvent() method. + * + * @param e the key event + */ + protected void handleKeyEvent(KeyEvent e) + { + Component owner = getFocusOwner(); + if(owner != null) + owner.dispatchEvent(e); + else + super.handleKeyEvent(e); + } + + private Component focusOwner = null; + + private Component getFocusOwner() + { + if(focusOwner == null) + { + for(Iterator iter=heavyweightDescendents.iterator(); iter.hasNext();) + { + Component child = (Component) iter.next(); + if(child.isFocusable()) + { + focusOwner = child; + break; + } + } + } + return focusOwner; + } + } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingFramePeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingFramePeer.java index 0d5a02d78f6..56c7417cdcf 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingFramePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingFramePeer.java @@ -43,6 +43,7 @@ import java.awt.Insets; import java.awt.MenuBar; import java.awt.Point; import java.awt.event.MouseEvent; +import java.awt.peer.ComponentPeer; import java.awt.peer.FramePeer; /** @@ -53,9 +54,9 @@ import java.awt.peer.FramePeer; * As a minimum, a subclass must implement all the remaining abstract methods * as well as the following methods: *
      - *
    • {@link java.awt.peer.ComponentPeer#getLocationOnScreen()}
    • - *
    • {@link java.awt.peer.ComponentPeer#getGraphics()}
    • - *
    • {@link java.awt.peer.ComponentPeer#createImage(int, int)}
    • + *
    • {@link ComponentPeer#getLocationOnScreen()}
    • + *
    • {@link ComponentPeer#getGraphics()}
    • + *
    • {@link ComponentPeer#createImage(int, int)}
    • *
    * * @author Roman Kennke (kennke@aicas.com) @@ -97,9 +98,9 @@ public abstract class SwingFramePeer * * @param g the graphics context to use for painting */ - protected void peerPaint(Graphics g) + protected void peerPaintComponent(Graphics g) { - super.peerPaint(g); + super.peerPaintComponent(g); if (menuBar != null) menuBar.peerPaint(g); } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java index dd86fff2d10..349c5a0abe2 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.awt.peer.swing; +import java.awt.Container; +import java.awt.Graphics; import java.awt.Image; import java.awt.Label; import java.awt.Point; @@ -67,7 +69,14 @@ public class SwingLabelPeer extends JLabel implements SwingComponent { - + Label label; + + + SwingLabel(Label label) + { + this.label = label; + } + /** * Returns this label. * @@ -131,8 +140,8 @@ public class SwingLabelPeer public boolean isShowing() { boolean retVal = false; - if (SwingLabelPeer.this.awtComponent != null) - retVal = SwingLabelPeer.this.awtComponent.isShowing(); + if (label != null) + retVal = label.isShowing(); return retVal; } @@ -149,7 +158,19 @@ public class SwingLabelPeer { return SwingLabelPeer.this.createImage(w, h); } - + + public Graphics getGraphics() + { + return SwingLabelPeer.this.getGraphics(); + } + + public Container getParent() + { + Container par = null; + if (label != null) + par = label.getParent(); + return par; + } } /** @@ -160,11 +181,11 @@ public class SwingLabelPeer public SwingLabelPeer(Label label) { super(); - SwingLabel swingLabel = new SwingLabel(); + SwingLabel swingLabel = new SwingLabel(label); swingLabel.setText(label.getText()); - swingLabel.setHorizontalAlignment(label.getAlignment()); swingLabel.setOpaque(true); init(label, swingLabel); + setAlignment(label.getAlignment()); } /** @@ -190,7 +211,20 @@ public class SwingLabelPeer */ public void setAlignment(int alignment) { - ((JLabel) swingComponent.getJComponent()).setHorizontalAlignment(alignment); + JLabel swingLabel = (JLabel) swingComponent.getJComponent(); + switch (alignment) + { + case Label.RIGHT: + swingLabel.setHorizontalAlignment(JLabel.RIGHT); + break; + case Label.CENTER: + swingLabel.setHorizontalAlignment(JLabel.CENTER); + break; + case Label.LEFT: + default: + swingLabel.setHorizontalAlignment(JLabel.LEFT); + break; + } } } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingListPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingListPeer.java new file mode 100644 index 00000000000..aca2070486d --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingListPeer.java @@ -0,0 +1,352 @@ +/* SwingListPeer.java -- A Swing based peer for AWT lists + Copyright (C) 2006 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. */ + +package gnu.java.awt.peer.swing; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.List; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.awt.peer.ListPeer; + +import javax.swing.DefaultListModel; +import javax.swing.JComponent; +import javax.swing.JList; +import javax.swing.JScrollPane; +import javax.swing.ListSelectionModel; + +public class SwingListPeer + extends SwingComponentPeer + implements ListPeer +{ + + /** + * A spezialized Swing scroller used to hold the list. + * + * @author Roman Kennke (kennke@aicas.com) + */ + private class SwingList + extends JScrollPane + implements SwingComponent + { + + SwingList(Component comp) + { + super(comp, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + } + + /** + * Returns this label. + * + * @return this + */ + public JComponent getJComponent() + { + return this; + } + + /** + * Handles mouse events by forwarding it to + * processMouseEvent(). + * + * @param ev the mouse event + */ + public void handleMouseEvent(MouseEvent ev) + { + ev.setSource(this); + dispatchEvent(ev); + } + + /** + * Force lightweight mouse dispatching. + */ + public boolean isLightweight() + { + return false; + } + + /** + * Handles mouse motion events by forwarding it to + * processMouseMotionEvent(). + * + * @param ev the mouse motion event + */ + public void handleMouseMotionEvent(MouseEvent ev) + { + processMouseMotionEvent(ev); + } + + /** + * Handles key events by forwarding it to processKeyEvent(). + * + * @param ev the mouse event + */ + public void handleKeyEvent(KeyEvent ev) + { + processKeyEvent(ev); + } + + /** + * Overridden so that this method returns the correct value even without a + * peer. + * + * @return the screen location of the button + */ + public Point getLocationOnScreen() + { + return SwingListPeer.this.getLocationOnScreen(); + } + + /** + * Overridden so that the isShowing method returns the correct value for the + * swing button, even if it has no peer on its own. + * + * @return true if the button is currently showing, + * false otherwise + */ + public boolean isShowing() + { + boolean retVal = false; + if (SwingListPeer.this.awtComponent != null) + retVal = SwingListPeer.this.awtComponent.isShowing(); + return retVal; + } + + /** + * Overridden, so that the Swing button can create an Image without its + * own peer. + * + * @param w the width of the image + * @param h the height of the image + * + * @return an image + */ + public Image createImage(int w, int h) + { + return SwingListPeer.this.createImage(w, h); + } + + public Graphics getGraphics() + { + return SwingListPeer.this.getGraphics(); + } + + public Container getParent() + { + Container par = null; + if (SwingListPeer.this.awtComponent != null) + par = SwingListPeer.this.awtComponent.getParent(); + return par; + } + } + + /** + * The actual Swing JList. + */ + private JList jList; + + private DefaultListModel listModel; + + public SwingListPeer(List list) + { + super(); + listModel = new DefaultListModel(); + jList = new JList(listModel); + SwingList swingList = new SwingList(jList); + init(list, swingList); + + // Pull over the items from the list. + String[] items = list.getItems(); + for (int i = 0 ; i < items.length; i++) + addItem(items[i], i); + } + + public void add(String item, int index) + { + if (listModel != null) + listModel.add(index, item); + } + + public void addItem(String item, int index) + { + if (listModel != null) + listModel.add(index, item); + } + + public void clear() + { + if (listModel != null) + listModel.clear(); + } + + public void delItems(int startIndex, int endIndex) + { + if (listModel != null) + listModel.removeRange(startIndex, endIndex); + } + + public void deselect(int index) + { + if (jList != null) + { + jList.getSelectionModel().removeSelectionInterval(index, index); + } + } + + public Dimension getMinimumSize(int s) + { + Dimension d = null; + if (jList != null) + { + d = jList.getComponent(s).getMinimumSize(); + } + return d; + } + + public Dimension getPreferredSize(int s) + { + Dimension d = null; + if (jList != null) + { + d = jList.getComponent(s).getPreferredSize(); + } + return d; + } + + public int[] getSelectedIndexes() + { + int[] sel = null; + if (jList != null) + { + sel = jList.getSelectedIndices(); + } + return sel; + } + + public void makeVisible(int index) + { + if (jList != null) + { + Component comp = jList.getComponent(index); + jList.scrollRectToVisible(comp.getBounds()); + } + } + + public Dimension minimumSize(int s) + { + Dimension d = null; + if (jList != null) + { + d = jList.getComponent(s).getMinimumSize(); + } + return d; + } + + public Dimension preferredSize(int s) + { + Dimension d = null; + if (jList != null) + { + d = jList.getComponent(s).getPreferredSize(); + } + return d; + } + + public void removeAll() + { + if (jList != null) + { + jList.removeAll(); + } + } + + public void select(int index) + { + if (jList != null) + { + jList.setSelectedIndex(index); + } + } + + public void setMultipleMode(boolean multi) + { + if (jList != null) + { + jList.setSelectionMode(multi + ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION + : ListSelectionModel.SINGLE_SELECTION); + } + } + + public void setMultipleSelections(boolean multi) + { + if (jList != null) + { + jList.setSelectionMode(multi + ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION + : ListSelectionModel.SINGLE_SELECTION); + } + } + + public void reshape(int x, int y, int width, int height) + { + if (swingComponent != null) + { + swingComponent.getJComponent().setBounds(x, y, width, height); + swingComponent.getJComponent().validate(); + } + } + + protected void peerPaint(Graphics g, boolean update) + { + super.peerPaint(g, update); + jList.doLayout(); + jList.list(); + + Rectangle r = getBounds(); + g.setColor(Color.RED); + g.drawRect(r.x, r.y, r.width, r.height); + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java index 0033efb025f..bd9dcd77aaa 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java @@ -174,7 +174,7 @@ public class SwingMenuBarPeer /** * Adds a help menu to the menu bar. * - * @param menu the menu to add + * @param m the menu to add */ public void addHelpMenu(Menu menu) { diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java index 0a0f20fe826..3cea62ac4d1 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java @@ -39,7 +39,6 @@ exception statement from your version. */ package gnu.java.awt.peer.swing; import java.awt.Panel; -import java.awt.peer.LightweightPeer; import java.awt.peer.PanelPeer; /** @@ -51,7 +50,7 @@ import java.awt.peer.PanelPeer; // necessary, but might be good for more consistend Look. public class SwingPanelPeer extends SwingContainerPeer - implements PanelPeer, LightweightPeer + implements PanelPeer { /** @@ -63,5 +62,6 @@ public class SwingPanelPeer public SwingPanelPeer(Panel panel) { super(panel); + init(panel, null); } } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingTextAreaPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingTextAreaPeer.java new file mode 100644 index 00000000000..04ac011419f --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingTextAreaPeer.java @@ -0,0 +1,317 @@ +/* SwingTextAreaPeer.java -- A Swing based peer for AWT textareas + Copyright (C) 2006 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. */ + +package gnu.java.awt.peer.swing; + +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.TextArea; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.awt.im.InputMethodRequests; +import java.awt.peer.TextAreaPeer; + +import javax.swing.JComponent; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.text.BadLocationException; + +public class SwingTextAreaPeer + extends SwingComponentPeer + implements TextAreaPeer +{ + + /** + * A spezialized Swing scroller used to hold the textarea. + * + * @author Roman Kennke (kennke@aicas.com) + */ + private class SwingTextArea + extends JScrollPane + implements SwingComponent + { + + SwingTextArea(Component comp) + { + super(comp, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + } + + /** + * Returns this label. + * + * @return this + */ + public JComponent getJComponent() + { + return this; + } + + /** + * Handles mouse events by forwarding it to + * processMouseEvent(). + * + * @param ev the mouse event + */ + public void handleMouseEvent(MouseEvent ev) + { + ev.setSource(this); + dispatchEvent(ev); + } + + /** + * Force lightweight mouse dispatching. + */ + public boolean isLightweight() + { + return false; + } + + /** + * Handles mouse motion events by forwarding it to + * processMouseMotionEvent(). + * + * @param ev the mouse motion event + */ + public void handleMouseMotionEvent(MouseEvent ev) + { + processMouseMotionEvent(ev); + } + + /** + * Handles key events by forwarding it to processKeyEvent(). + * + * @param ev the mouse event + */ + public void handleKeyEvent(KeyEvent ev) + { + processKeyEvent(ev); + } + + /** + * Overridden so that this method returns the correct value even without a + * peer. + * + * @return the screen location of the button + */ + public Point getLocationOnScreen() + { + return SwingTextAreaPeer.this.getLocationOnScreen(); + } + + /** + * Overridden so that the isShowing method returns the correct value for the + * swing button, even if it has no peer on its own. + * + * @return true if the button is currently showing, + * false otherwise + */ + public boolean isShowing() + { + boolean retVal = false; + if (SwingTextAreaPeer.this.awtComponent != null) + retVal = SwingTextAreaPeer.this.awtComponent.isShowing(); + return retVal; + } + + /** + * Overridden, so that the Swing button can create an Image without its + * own peer. + * + * @param w the width of the image + * @param h the height of the image + * + * @return an image + */ + public Image createImage(int w, int h) + { + return SwingTextAreaPeer.this.createImage(w, h); + } + + public Graphics getGraphics() + { + return SwingTextAreaPeer.this.getGraphics(); + } + + public Container getParent() + { + Container par = null; + if (SwingTextAreaPeer.this.awtComponent != null) + par = SwingTextAreaPeer.this.awtComponent.getParent(); + return par; + } + } + + /** + * The actual JTextArea. + */ + private JTextArea jTextArea; + + public SwingTextAreaPeer(TextArea textArea) + { + super(); + System.err.println("new SwingTextAreaPeer"); + jTextArea = new JTextArea(); + SwingTextArea swingArea = new SwingTextArea(jTextArea); + init(textArea, swingArea); + + // Pull over the text from the text area. + setText(textArea.getText()); + } + + public Dimension getMinimumSize(int rows, int cols) + { + // TODO Auto-generated method stub + return null; + } + + public Dimension getPreferredSize(int rows, int cols) + { + // TODO Auto-generated method stub + return null; + } + + public void insert(String text, int pos) + { + jTextArea.insert(text, pos); + } + + public void insertText(String text, int pos) + { + jTextArea.insert(text, pos); + } + + public Dimension minimumSize(int rows, int cols) + { + // TODO Auto-generated method stub + return null; + } + + public Dimension preferredSize(int rows, int cols) + { + // TODO Auto-generated method stub + return null; + } + + public void replaceRange(String text, int start, int end) + { + jTextArea.replaceRange(text, start, end); + } + + public void replaceText(String text, int start, int end) + { + jTextArea.replaceRange(text, start, end); + } + + public long filterEvents(long filter) + { + // TODO Auto-generated method stub + return 0; + } + + public int getCaretPosition() + { + return jTextArea.getCaretPosition(); + } + + public Rectangle getCharacterBounds(int pos) + { + Rectangle r; + try + { + return jTextArea.modelToView(pos); + } + catch (BadLocationException ex) + { + r = null; + } + return r; + } + + public int getIndexAtPoint(int x, int y) + { + return jTextArea.viewToModel(new Point(x, y)); + } + + public InputMethodRequests getInputMethodRequests() + { + // TODO Auto-generated method stub + return null; + } + + public int getSelectionEnd() + { + return jTextArea.getSelectionEnd(); + } + + public int getSelectionStart() + { + return jTextArea.getSelectionStart(); + } + + public String getText() + { + return jTextArea.getText(); + } + + public void select(int start, int end) + { + jTextArea.select(start, end); + } + + public void setCaretPosition(int pos) + { + jTextArea.setCaretPosition(pos); + } + + public void setEditable(boolean editable) + { + jTextArea.setEditable(editable); + } + + public void setText(String text) + { + System.err.println("setText: " + text); + jTextArea.setText(text); + } + +} diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java index 0c3b4e72603..d7d574a0bb9 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java @@ -36,7 +36,10 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.java.awt.peer.swing; +import java.awt.Component; +import java.awt.Container; import java.awt.Dimension; +import java.awt.Graphics; import java.awt.Image; import java.awt.Point; import java.awt.Rectangle; @@ -69,6 +72,13 @@ public class SwingTextFieldPeer implements SwingComponent { + TextField textField; + + SwingTextField(TextField textField) + { + this.textField = textField; + } + /** * Overridden to provide normal behaviour even without a real peer * attached. @@ -90,8 +100,8 @@ public class SwingTextFieldPeer public boolean isShowing() { boolean retVal = false; - if (SwingTextFieldPeer.this.awtComponent != null) - retVal = SwingTextFieldPeer.this.awtComponent.isShowing(); + if (textField != null) + retVal = textField.isShowing(); return retVal; } @@ -151,7 +161,19 @@ public class SwingTextFieldPeer ev.setSource(this); processKeyEvent(ev); } - + + public Container getParent() + { + Container par = null; + if (textField != null) + par = textField.getParent(); + return par; + } + + public Graphics getGraphics() + { + return SwingTextFieldPeer.this.getGraphics(); + } } /** @@ -162,7 +184,7 @@ public class SwingTextFieldPeer */ public SwingTextFieldPeer(TextField textField) { - SwingTextField swingTextField = new SwingTextField(); + SwingTextField swingTextField = new SwingTextField(textField); swingTextField.setText(textField.getText()); init(textField, swingTextField); } @@ -283,7 +305,7 @@ public class SwingTextFieldPeer * @param startPos the start index of the selection * @param endPos the start index of the selection */ - public void select(int startPos, int endPos) + public void select(int start_pos, int endPos) { // TODO: Must be implemented. } diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java index 43a509b957d..531552d902c 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.awt.peer.swing; import java.awt.Window; +import java.awt.peer.ComponentPeer; import java.awt.peer.WindowPeer; /** @@ -48,9 +49,9 @@ import java.awt.peer.WindowPeer; * As a minimum, a subclass must implement all the remaining abstract methods * as well as the following methods: *
      - *
    • {@link java.awt.peer.ComponentPeer#getLocationOnScreen()}
    • - *
    • {@link java.awt.peer.ComponentPeer#getGraphics()}
    • - *
    • {@link java.awt.peer.ComponentPeer#createImage(int, int)}
    • + *
    • {@link ComponentPeer#getLocationOnScreen()}
    • + *
    • {@link ComponentPeer#getGraphics()}
    • + *
    • {@link ComponentPeer#createImage(int, int)}
    • *
    * * @author Roman Kennke (kennke@aicas.com) @@ -68,5 +69,6 @@ public abstract class SwingWindowPeer public SwingWindowPeer(Window window) { super(window); + init(window, null); } } diff --git a/libjava/classpath/gnu/java/awt/peer/x/XFontPeer.java b/libjava/classpath/gnu/java/awt/peer/x/XFontPeer.java index fd293d8dd43..8183fed0cd2 100644 --- a/libjava/classpath/gnu/java/awt/peer/x/XFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/x/XFontPeer.java @@ -608,13 +608,6 @@ public class XFontPeer throw new UnsupportedOperationException("Not yet implemented."); } - public Rectangle2D getStringBounds(Font font, CharacterIterator ci, - int begin, int limit, FontRenderContext frc) - { - // TODO: Implement this. - throw new UnsupportedOperationException("Not yet implemented."); - } - /** * Encodes a font name + style + size specification into a X logical font * description (XLFD) as described here: diff --git a/libjava/classpath/gnu/java/awt/peer/x/XFontPeer2.java b/libjava/classpath/gnu/java/awt/peer/x/XFontPeer2.java index 25371de1a41..ef9507f3050 100644 --- a/libjava/classpath/gnu/java/awt/peer/x/XFontPeer2.java +++ b/libjava/classpath/gnu/java/awt/peer/x/XFontPeer2.java @@ -326,10 +326,4 @@ public class XFontPeer2 throw new UnsupportedOperationException("Not yet implemented"); } - public Rectangle2D getStringBounds(Font font, CharacterIterator ci, int begin, int limit, FontRenderContext frc) - { - // FIXME: Implement this. - throw new UnsupportedOperationException("Not yet implemented"); - } - } diff --git a/libjava/classpath/gnu/java/io/ObjectIdentityMap2Int.java b/libjava/classpath/gnu/java/io/ObjectIdentityMap2Int.java new file mode 100644 index 00000000000..08f089d7921 --- /dev/null +++ b/libjava/classpath/gnu/java/io/ObjectIdentityMap2Int.java @@ -0,0 +1,292 @@ +/* ObjectIdentityMapToInt.java -- Helper class for faster serialization + Copyright (C) 2006 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. */ + + +package gnu.java.io; + +/** + * This class provides a map from Object to non-negative int values. + * Objects are considered equal only if their references are equal. + * + * This can be used to equip objects with an integer id. This class + * is implemented to use as little memory as possible, particularly + * not to create hashtable buckets and Integer instances for each + * mapping. + * + * @author Fridtjof Siebert (siebert@aicas.com) + */ +public class ObjectIdentityMap2Int +{ + + + /** + * Prime numbers used as size of array. We need the size to be a + * prime number since the delta used for conflict resulution must + * not have any common divisors with the length. + */ + private static final int[] PRIMES = { + 0x1f, + 0x3d, + 0x7f, + 0xfb, + 0x1fd, + 0x3fd, + 0x7f7, + 0xffd, + 0x1fff, + 0x3ffd, + 0x7fed, + 0xfff1, + 0x1ffff, + 0x3fffb, + 0x7ffff, + 0xffffd, + 0x1ffff7, + 0x3ffffd, + 0x7ffff1, + 0xfffffd, + 0x1ffffd9, + 0x3fffffb, + 0x7ffffd9, + 0xfffffc7, + 0x1ffffffd, + 0x3fffffdd, + 0x7fffffff}; + + + /** + * Object to be used instead of "null" + */ + private static final Object NIL = new Object(); + + + /** + * The objects in this map: + * + * invariant + * objectTable.size == PRIMES[cap] + */ + private Object[] objectTable; + + + /** + * The corresponding integer ids. + * + * invariant + * intTable.size == PRIMES[cap] + */ + private int[] intTable; + + + /** + * The number of entries in this map. + * + * invariant + * size < limit + */ + private int size = 0; + + + /** + * The index in primes of the size of the tables. + */ + private int cap = 0; + + + /** + * The limit for size at which the table size is increased. + * + * invariant + * limit = PRIMES[cap] / 4 * 3; + */ + private int limit = 0; + + + /** + * Constructs an empty ObjectIdentityMap2Int. + */ + public ObjectIdentityMap2Int() + { + alloc(0); + } + + + /** + * Helper function to alloc the object and int array for the given + * capacity. Set limit, reset size to 0. + * + * No elements will be stored in the newly allocated arrays. + * + * @param c the capacity: this is an index in PRIMES, PRIMES[c] + * gives the size of the arrays. + * + * @throws InternalError if c >= PRIMES.length (in this case, a + * normal Hashtable would throw an OutOfMemoryError or a + * NegativeArraySizeException since the array size exceeds the range + * of positive integers). + */ + private void alloc(int c) + { + if (c >= PRIMES.length) + throw new InternalError("Hash table size overflow"); + + cap = c; + int len = PRIMES[c]; + objectTable = new Object[len]; + intTable = new int[len]; + limit = len / 4 * 3; + + size = 0; + } + + + /** + * Add a mapping to this Map. + * + * ensures + * (get(o) == i); + * + * @param o object reference or null that is to be mapped. + * + * @param i the integer id to be associated with o + * + * @throws IllegalArgumentException if i<0 + * + * @throws InternalError if hash tables has grown to more then + * 0x7fffffff entries (ie., size >= 0x7fffffff*3/4). + */ + public void put(Object o, int i) + { + if (i < 0) + throw new IllegalArgumentException("int argument must be postive: "+i); + + o = (o == null) ? NIL : o; + int s = slot(o); + Object[] ot = objectTable; + intTable[s] = i; + if (objectTable[s] == null) + { + objectTable[s] = o; + size++; + if (size >= limit) + { + rehash(); + } + } + } + + + /** + * Helper function to find the index of a free or existing slot for + * object o + * + * ensure + * ((objectTable[result] != null) IMPLIES (objectTable[result] == o)); + * + * @param o an object, must not be null. + * + * @return an index of o + */ + private int slot(Object o) + { + Object[] ot = objectTable; + int hc = System.identityHashCode(o); + int len = ot.length; + int result = hc % len; + result = result < 0 ? -result : result; + int delta = 16 - (hc & 15); + Object existing = ot[result]; + while ((existing != null) && (existing != o)) + { + result += delta; + if (result >= len) + result -= len; + existing = ot[result]; + } + return result; + } + + + /** + * Helper function for put() to increaes the capacity of this table + * to the next size (approx. double the size). Keep the mapping and + * the size unchanged. + * + * ensure + * (cap == \old cap+1); + */ + private void rehash() + { + Object[] ot = objectTable; + int [] it = intTable; + alloc(cap + 1); + + for (int i = 0; i < ot.length; i++) + put(ot[i], it[i]); + } + + + /** + * Obtain an element from this map + * + * @param o an object or null + * + * @return the corresponding integer id for o or -1 if o has not + * been put into this map. + */ + public int get(Object o) + { + o = (o == null) ? NIL : o; + int s = slot(o); + return objectTable[s] == null ? -1 : intTable[s]; + } + + /** + * Clear this map + * + * ensures + * ((size == 0) && \forall Object o: get(o) == -1) + */ + public void clear() + { + Object[] ot = objectTable; + size = 0; + for (int i = 0; i < ot.length; i++) + ot[i] = null; + } + +} diff --git a/libjava/classpath/gnu/java/io/class-dependencies.conf b/libjava/classpath/gnu/java/io/class-dependencies.conf new file mode 100644 index 00000000000..2500f6b14b5 --- /dev/null +++ b/libjava/classpath/gnu/java/io/class-dependencies.conf @@ -0,0 +1,75 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + + +# All encodings supported are loaded via gnu/java/io/EncodingManager.findEncoderConstructor +# or gnu/java/io/EncodingManager.findDecoderConstructor from class +# gnu/java/io/decode/Decoder. +# +# This introduces a dependency for all encodings. To allow an easy selection +# and addition of encodings, the library variable {encodings} can be set to +# the set of supported encodings. +# +{encodings}: 8859_1 8859_2 8859_3 8859_4 8859_5 UTF8 + +gnu/java/io/EncodingManager.findEncoderConstructor(Ljava/lang/String;Z)Ljava/lang/reflect/Constructor;: \ + gnu/java/io/decode/Decoder{encodings}.* + +gnu/java/io/EncodingManager.findDecoderConstructor(Ljava/lang/String;Z)Ljava/lang/reflect/Constructor;: \ + gnu/java/io/encode/Encoder{encodings}.* \ + +# end of file diff --git a/libjava/classpath/gnu/java/lang/InstrumentationImpl.java b/libjava/classpath/gnu/java/lang/InstrumentationImpl.java index 7bfed458245..2425b35c8a9 100644 --- a/libjava/classpath/gnu/java/lang/InstrumentationImpl.java +++ b/libjava/classpath/gnu/java/lang/InstrumentationImpl.java @@ -1,6 +1,6 @@ /* InstrumentationImpl.java -- GNU implementation of java.lang.instrument.Instrumentation - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,11 +63,11 @@ public final class InstrumentationImpl implements Instrumentation { /* List of transformers */ - /* FIXME[GENERICS]: Should be ClassFileTransformer list */ - private ArrayList transformers = new ArrayList(); + private ArrayList transformers = + new ArrayList(); - private InstrumentationImpl() + InstrumentationImpl() { } @@ -210,9 +210,8 @@ public final class InstrumentationImpl implements Instrumentation * * @return the new class file */ - /* FIXME[GENERICS]: Should be Class */ public byte[] callTransformers(ClassLoader loader, String className, - Class classBeingRedefined, ProtectionDomain protectionDomain, + Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) { byte[] newBuffer = null; @@ -220,11 +219,10 @@ public final class InstrumentationImpl implements Instrumentation ClassFileTransformer current; synchronized (transformers) { - Iterator i = transformers.iterator(); + Iterator i = transformers.iterator(); while (i.hasNext()) { - /* FIXME[GENERICS]: Remove cast */ - current = (ClassFileTransformer) i.next(); + current = i.next(); try { newBuffer = current.transform(loader, className, diff --git a/libjava/classpath/gnu/java/lang/management/BeanImpl.java b/libjava/classpath/gnu/java/lang/management/BeanImpl.java index 24572a25d5d..e5b47181273 100644 --- a/libjava/classpath/gnu/java/lang/management/BeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/BeanImpl.java @@ -39,9 +39,50 @@ package gnu.java.lang.management; import java.lang.management.ManagementPermission; +import java.lang.reflect.Array; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.TypeVariable; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; +import javax.management.MBeanInfo; import javax.management.NotCompliantMBeanException; +import javax.management.ReflectionException; import javax.management.StandardMBean; +import javax.management.openmbean.ArrayType; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.CompositeDataSupport; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.OpenDataException; +import javax.management.openmbean.OpenMBeanAttributeInfo; +import javax.management.openmbean.OpenMBeanAttributeInfoSupport; +import javax.management.openmbean.OpenMBeanConstructorInfo; +import javax.management.openmbean.OpenMBeanConstructorInfoSupport; +import javax.management.openmbean.OpenMBeanInfo; +import javax.management.openmbean.OpenMBeanInfoSupport; +import javax.management.openmbean.OpenMBeanOperationInfo; +import javax.management.openmbean.OpenMBeanOperationInfoSupport; +import javax.management.openmbean.OpenMBeanParameterInfo; +import javax.management.openmbean.OpenMBeanParameterInfoSupport; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.SimpleType; +import javax.management.openmbean.TabularData; +import javax.management.openmbean.TabularDataSupport; +import javax.management.openmbean.TabularType; + /** * A common superclass for bean implementations. * @@ -51,7 +92,12 @@ import javax.management.StandardMBean; public class BeanImpl extends StandardMBean { - + + /** + * Cached open bean information. + */ + private OpenMBeanInfo openInfo; + /** * Constructs a new BeanImpl. * @@ -67,6 +113,71 @@ public class BeanImpl super(iface); } + protected void cacheMBeanInfo(MBeanInfo info) + { + if (info == null) + return; + try + { + MBeanAttributeInfo[] oldA = info.getAttributes(); + OpenMBeanAttributeInfo[] attribs = + new OpenMBeanAttributeInfoSupport[oldA.length]; + for (int a = 0; a < oldA.length; ++a) + { + OpenMBeanParameterInfo param = translate(oldA[a].getType()); + if (param.getMinValue() == null) + { + Object[] lv; + if (param.getLegalValues() == null) + lv = null; + else + lv = param.getLegalValues().toArray(); + attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(), + oldA[a].getDescription(), + param.getOpenType(), + oldA[a].isReadable(), + oldA[a].isWritable(), + oldA[a].isIs(), + param.getDefaultValue(), + lv); + } + else + attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(), + oldA[a].getDescription(), + param.getOpenType(), + oldA[a].isReadable(), + oldA[a].isWritable(), + oldA[a].isIs(), + param.getDefaultValue(), + param.getMinValue(), + param.getMaxValue()); + } + MBeanConstructorInfo[] oldC = info.getConstructors(); + OpenMBeanConstructorInfo[] cons = new OpenMBeanConstructorInfoSupport[oldC.length]; + for (int a = 0; a < oldC.length; ++a) + cons[a] = + new OpenMBeanConstructorInfoSupport(oldC[a].getName(), + oldC[a].getDescription(), + translateSignature(oldC[a].getSignature())); + MBeanOperationInfo[] oldO = info.getOperations(); + OpenMBeanOperationInfo[] ops = new OpenMBeanOperationInfoSupport[oldO.length]; + for (int a = 0; a < oldO.length; ++a) + ops[a] = + new OpenMBeanOperationInfoSupport(oldO[a].getName(), + oldO[a].getDescription(), + translateSignature(oldO[a].getSignature()), + translate(oldO[a].getReturnType()).getOpenType(), + oldO[a].getImpact()); + openInfo = new OpenMBeanInfoSupport(info.getClassName(), info.getDescription(), + attribs, cons, ops, info.getNotifications()); + } + catch (OpenDataException e) + { + throw (InternalError) (new InternalError("A problem occurred creating the open type " + + "descriptors.").initCause(e)); + } + } + protected void checkMonitorPermissions() { SecurityManager sm = System.getSecurityManager(); @@ -81,4 +192,328 @@ public class BeanImpl sm.checkPermission(new ManagementPermission("control")); } + public Object getAttribute(String attribute) + throws AttributeNotFoundException, MBeanException, + ReflectionException + { + Object value = super.getAttribute(attribute); + if (value instanceof Enum) + return ((Enum) value).name(); + Class vClass = value.getClass(); + if (vClass.isArray()) + return value; + String cName = vClass.getName(); + String[] allowedTypes = OpenType.ALLOWED_CLASSNAMES; + for (int a = 0; a < allowedTypes.length; ++a) + if (cName.equals(allowedTypes[a])) + return value; + if (value instanceof List) + { + List l = (List) value; + Class e = null; + TypeVariable[] vars = vClass.getTypeParameters(); + for (int a = 0; a < vars.length; ++a) + if (vars[a].getName().equals("E")) + e = (Class) vars[a].getGenericDeclaration(); + if (e == null) + e = Object.class; + Object[] array = (Object[]) Array.newInstance(e, l.size()); + return l.toArray(array); + } + OpenMBeanInfo info = (OpenMBeanInfo) getMBeanInfo(); + OpenMBeanAttributeInfo[] attribs = + (OpenMBeanAttributeInfo[]) info.getAttributes(); + OpenType type = null; + for (int a = 0; a < attribs.length; ++a) + if (attribs[a].getName().equals("attribute")) + type = attribs[a].getOpenType(); + if (value instanceof Map) + { + TabularType ttype = (TabularType) type; + TabularData data = new TabularDataSupport(ttype); + Iterator it = ((Map) value).entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry entry = (Map.Entry) it.next(); + try + { + data.put(new CompositeDataSupport(ttype.getRowType(), + new String[] { + "key", + "value" + }, + new Object[] { + entry.getKey(), + entry.getValue() + })); + } + catch (OpenDataException e) + { + throw (InternalError) (new InternalError("A problem occurred " + + "converting the map " + + "to a composite data " + + "structure.").initCause(e)); + } + } + return data; + } + CompositeType cType = (CompositeType) type; + Set names = cType.keySet(); + Iterator it = names.iterator(); + List values = new ArrayList(names.size()); + while (it.hasNext()) + { + String field = (String) it.next(); + Method getter = null; + try + { + getter = vClass.getMethod("get" + field, null); + } + catch (NoSuchMethodException e) + { + /* Ignored; the type tells us it's there. */ + } + try + { + values.add(getter.invoke(value, null)); + } + catch (IllegalAccessException e) + { + throw new ReflectionException(e, "Failed to retrieve " + field); + } + catch (IllegalArgumentException e) + { + throw new ReflectionException(e, "Failed to retrieve " + field); + } + catch (InvocationTargetException e) + { + throw new MBeanException((Exception) e.getCause(), + "The getter of " + field + + " threw an exception"); + } + } + try + { + return new CompositeDataSupport(cType, + (String[]) + names.toArray(new String[names.size()]), + values.toArray()); + } + catch (OpenDataException e) + { + throw (InternalError) (new InternalError("A problem occurred " + + "converting the value " + + "to a composite data " + + "structure.").initCause(e)); + } + } + + protected MBeanInfo getCachedMBeanInfo() + { + return (MBeanInfo) openInfo; + } + + public MBeanInfo getMBeanInfo() + { + super.getMBeanInfo(); + return getCachedMBeanInfo(); + } + + private OpenType getTypeFromClass(Class c) + throws OpenDataException + { + return translate(c.getName()).getOpenType(); + } + + private OpenMBeanParameterInfo[] translateSignature(MBeanParameterInfo[] oldS) + throws OpenDataException + { + OpenMBeanParameterInfo[] sig = new OpenMBeanParameterInfoSupport[oldS.length]; + for (int a = 0; a < oldS.length; ++a) + { + OpenMBeanParameterInfo param = translate(oldS[a].getType()); + if (param.getMinValue() == null) + { + Object[] lv; + if (param.getLegalValues() == null) + lv = null; + else + lv = param.getLegalValues().toArray(); + sig[a] = new OpenMBeanParameterInfoSupport(oldS[a].getName(), + oldS[a].getDescription(), + param.getOpenType(), + param.getDefaultValue(), + lv); + } + else + sig[a] = new OpenMBeanParameterInfoSupport(oldS[a].getName(), + oldS[a].getDescription(), + param.getOpenType(), + param.getDefaultValue(), + param.getMinValue(), + param.getMaxValue()); + } + return sig; + } + + private OpenMBeanParameterInfo translate(String type) + throws OpenDataException + { + if (type.equals("boolean") || type.equals(Boolean.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.BOOLEAN, + null, + new Object[] { + Boolean.TRUE, + Boolean.FALSE + }); + if (type.equals("byte") || type.equals(Byte.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.BYTE, + null, + Byte.valueOf(Byte.MIN_VALUE), + Byte.valueOf(Byte.MAX_VALUE)); + if (type.equals("char") || type.equals(Character.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.CHARACTER, + null, + Character.valueOf(Character.MIN_VALUE), + Character.valueOf(Character.MAX_VALUE)); + if (type.equals("double") || type.equals(Double.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.DOUBLE, + null, + Double.valueOf(Double.MIN_VALUE), + Double.valueOf(Double.MAX_VALUE)); + if (type.equals("float") || type.equals(Float.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.FLOAT, + null, + Float.valueOf(Float.MIN_VALUE), + Float.valueOf(Float.MAX_VALUE)); + if (type.equals("int") || type.equals(Integer.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.INTEGER, + null, + Integer.valueOf(Integer.MIN_VALUE), + Integer.valueOf(Integer.MAX_VALUE)); + if (type.equals("long") || type.equals(Long.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.LONG, + null, + Long.valueOf(Long.MIN_VALUE), + Long.valueOf(Long.MAX_VALUE)); + if (type.equals("short") || type.equals(Short.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.SHORT, + null, + Short.valueOf(Short.MIN_VALUE), + Short.valueOf(Short.MAX_VALUE)); + if (type.equals(String.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.STRING); + if (type.equals("void")) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.VOID); + if (type.startsWith("java.util.Map")) + { + int lparam = type.indexOf("<"); + int comma = type.indexOf(",", lparam); + int rparam = type.indexOf(">", comma); + String key = type.substring(lparam + 1, comma).trim(); + OpenType k = translate(key).getOpenType(); + OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); + CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(), + new String[] { "key", "value" }, + new String[] { "Map key", "Map value"}, + new OpenType[] { k, v}); + TabularType ttype = new TabularType(key, key, ctype, + new String[] { "key" }); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + ttype); + } + if (type.startsWith("java.util.List")) + { + int lparam = type.indexOf("<"); + int rparam = type.indexOf(">"); + OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + new ArrayType(1, e) + ); + } + Class c; + try + { + c = Class.forName(type); + } + catch (ClassNotFoundException e) + { + throw (InternalError) + (new InternalError("The class for a type used in a management bean " + + "could not be loaded.").initCause(e)); + } + if (c.isEnum()) + { + Object[] values = c.getEnumConstants(); + String[] names = new String[values.length]; + for (int a = 0; a < values.length; ++a) + names[a] = values[a].toString(); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.STRING, + null, + (Object[]) names); + } + try + { + c.getMethod("from", new Class[] { CompositeData.class }); + Method[] methods = c.getMethods(); + List names = new ArrayList(); + List types = new ArrayList(); + for (int a = 0; a < methods.length; ++a) + { + String name = methods[a].getName(); + if (name.startsWith("get")) + { + names.add(name.substring(3)); + types.add(getTypeFromClass(methods[a].getReturnType())); + } + } + String[] fields = (String[]) names.toArray(); + CompositeType ctype = new CompositeType(c.getName(), c.getName(), + fields, fields, + (OpenType[]) types.toArray()); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + ctype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this isn't a from(CompositeData) class */ + } + if (c.isArray()) + { + int depth; + for (depth = 0; c.getName().charAt(depth) == '['; ++depth); + OpenType ot = getTypeFromClass(c.getComponentType()); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + new ArrayType(depth, ot) + ); + } + throw new InternalError("The type used does not have an open type translation."); + } + } diff --git a/libjava/classpath/gnu/java/lang/management/MemoryMXBeanImpl.java b/libjava/classpath/gnu/java/lang/management/MemoryMXBeanImpl.java index 064e19a1970..8cb10420213 100644 --- a/libjava/classpath/gnu/java/lang/management/MemoryMXBeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/MemoryMXBeanImpl.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.lang.management; +import gnu.classpath.ListenerData; + import java.lang.management.MemoryMXBean; import java.lang.management.MemoryNotificationInfo; import java.lang.management.MemoryUsage; @@ -168,49 +170,6 @@ public final class MemoryMXBeanImpl VMMemoryMXBeanImpl.setVerbose(verbose); } - private class ListenerData - { - private NotificationListener listener; - private NotificationFilter filter; - private Object passback; - - public ListenerData(NotificationListener listener, - NotificationFilter filter, Object passback) - { - this.listener = listener; - this.filter = filter; - this.passback = passback; - } - - public NotificationListener getListener() - { - return listener; - } - - public NotificationFilter getFilter() - { - return filter; - } - - public Object getPassback() - { - return passback; - } - - public boolean equals(Object obj) - { - if (obj instanceof ListenerData) - { - ListenerData data = (ListenerData) obj; - return (data.getListener() == listener && - data.getFilter() == filter && - data.getPassback() == passback); - } - return false; - } - - } - public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object passback) diff --git a/libjava/classpath/gnu/java/lang/management/MemoryPoolMXBeanImpl.java b/libjava/classpath/gnu/java/lang/management/MemoryPoolMXBeanImpl.java index ed4dccd769e..e314ca1648a 100644 --- a/libjava/classpath/gnu/java/lang/management/MemoryPoolMXBeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/MemoryPoolMXBeanImpl.java @@ -40,6 +40,7 @@ package gnu.java.lang.management; import gnu.classpath.SystemProperties; import java.lang.management.MemoryPoolMXBean; +import java.lang.management.MemoryType; import java.lang.management.MemoryUsage; import javax.management.NotCompliantMBeanException; @@ -133,9 +134,10 @@ public final class MemoryPoolMXBeanImpl return null; } - public String getType() + public MemoryType getType() { - return VMMemoryPoolMXBeanImpl.getType(name); + return + MemoryType.valueOf(VMMemoryPoolMXBeanImpl.getType(name)); } public MemoryUsage getUsage() diff --git a/libjava/classpath/gnu/java/lang/reflect/ClassSignatureParser.java b/libjava/classpath/gnu/java/lang/reflect/ClassSignatureParser.java index 0c9b962921e..31f28385f44 100644 --- a/libjava/classpath/gnu/java/lang/reflect/ClassSignatureParser.java +++ b/libjava/classpath/gnu/java/lang/reflect/ClassSignatureParser.java @@ -61,7 +61,7 @@ public class ClassSignatureParser extends GenericSignatureParser } // SuperclassSignature superclassType = readClassTypeSignature(); - ArrayList interfaces = new ArrayList(); + ArrayList interfaces = new ArrayList(); while (peekChar() == 'L') { // SuperinterfaceSignature diff --git a/libjava/classpath/gnu/java/lang/reflect/GenericSignatureParser.java b/libjava/classpath/gnu/java/lang/reflect/GenericSignatureParser.java index 399f1bdc46f..06bc9e4ab06 100644 --- a/libjava/classpath/gnu/java/lang/reflect/GenericSignatureParser.java +++ b/libjava/classpath/gnu/java/lang/reflect/GenericSignatureParser.java @@ -60,7 +60,6 @@ final class TypeVariableImpl extends TypeImpl implements TypeVariable return this; } - /* FIXME[GENERICS]: Remove cast */ public Type[] getBounds() { resolve(bounds); @@ -141,10 +140,9 @@ final class ParameterizedTypeImpl extends TypeImpl implements ParameterizedType return this; } - /* FIXME[GENERICS]: Remove cast */ public Type[] getActualTypeArguments() { - return (Type[]) typeArgs.clone(); + return (Type[]) typeArgs.clone(); } public Type getRawType() @@ -276,12 +274,11 @@ final class UnresolvedTypeVariable extends TypeImpl implements Type GenericDeclaration d = decl; while (d != null) { - TypeVariable[] vars = d.getTypeParameters(); - for (int a = 0; a < vars.length ; ++a) + for (TypeVariable t : d.getTypeParameters()) { - if (vars[a].getName().equals(name)) + if (t.getName().equals(name)) { - return vars[a]; + return t; } } d = getParent(d); @@ -414,7 +411,7 @@ class GenericSignatureParser TypeVariable[] readFormalTypeParameters() { consume('<'); - ArrayList params = new ArrayList(); + ArrayList params = new ArrayList(); do { // TODO should we handle name clashes? @@ -430,7 +427,7 @@ class GenericSignatureParser { String identifier = readIdentifier(); consume(':'); - ArrayList bounds = new ArrayList(); + ArrayList bounds = new ArrayList(); if (peekChar() != ':') { bounds.add(readFieldTypeSignature()); @@ -501,7 +498,7 @@ class GenericSignatureParser private Type[] readTypeArguments() { consume('<'); - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); do { list.add(readTypeArgument()); diff --git a/libjava/classpath/gnu/java/lang/reflect/MethodSignatureParser.java b/libjava/classpath/gnu/java/lang/reflect/MethodSignatureParser.java index 16b1af99b73..50f98e29965 100644 --- a/libjava/classpath/gnu/java/lang/reflect/MethodSignatureParser.java +++ b/libjava/classpath/gnu/java/lang/reflect/MethodSignatureParser.java @@ -72,7 +72,7 @@ public class MethodSignatureParser extends GenericSignatureParser typeParameters = new TypeVariable[0]; } consume('('); - ArrayList args = new ArrayList(); + ArrayList args = new ArrayList(); while (peekChar() != ')') { args.add(readTypeSignature()); @@ -81,7 +81,7 @@ public class MethodSignatureParser extends GenericSignatureParser args.toArray(argTypes); consume(')'); retType = readTypeSignature(); - ArrayList throwsSigs = new ArrayList(); + ArrayList throwsSigs = new ArrayList(); while (peekChar() == '^') { consume('^'); diff --git a/libjava/classpath/gnu/java/locale/.cvsignore b/libjava/classpath/gnu/java/locale/.cvsignore new file mode 100644 index 00000000000..d41ae8d8147 --- /dev/null +++ b/libjava/classpath/gnu/java/locale/.cvsignore @@ -0,0 +1 @@ +LocaleData.java diff --git a/libjava/classpath/gnu/java/net/DefaultProxySelector.java b/libjava/classpath/gnu/java/net/DefaultProxySelector.java new file mode 100644 index 00000000000..31f861e8710 --- /dev/null +++ b/libjava/classpath/gnu/java/net/DefaultProxySelector.java @@ -0,0 +1,80 @@ +/* DefaultProxySelector.java -- + Copyright (C) 2006 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. */ + + +package gnu.java.net; + +import java.io.IOException; +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.SocketAddress; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +public final class DefaultProxySelector + extends ProxySelector +{ + private static final List proxies = new ArrayList(); + + static + { + // The default proxy selector supports only direct connections. + proxies.add(Proxy.NO_PROXY); + } + + public DefaultProxySelector() + { + // Do nothing by default. + } + + public void connectFailed(URI uri, SocketAddress sa, IOException ioe) + { + if (uri == null || sa == null || ioe == null) + throw new IllegalArgumentException(); + + // Do nothing by default. + } + + public List select(URI uri) + { + if (uri == null) + throw new IllegalArgumentException(); + + return proxies; + } +} diff --git a/libjava/classpath/gnu/java/net/PlainDatagramSocketImpl.java b/libjava/classpath/gnu/java/net/PlainDatagramSocketImpl.java index 0fcd780dfb9..a84525e18b8 100644 --- a/libjava/classpath/gnu/java/net/PlainDatagramSocketImpl.java +++ b/libjava/classpath/gnu/java/net/PlainDatagramSocketImpl.java @@ -1,5 +1,5 @@ /* PlainDatagramSocketImpl.java -- Default DatagramSocket implementation - Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,13 +38,19 @@ exception statement from your version. */ package gnu.java.net; +import gnu.java.nio.VMChannel; + import java.io.IOException; +import java.io.InterruptedIOException; import java.net.DatagramPacket; import java.net.DatagramSocketImpl; import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.NetworkInterface; import java.net.SocketAddress; import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.nio.ByteBuffer; /** * Written using on-line Java Platform 1.2 API Specification, as well @@ -62,11 +68,12 @@ import java.net.SocketException; */ public final class PlainDatagramSocketImpl extends DatagramSocketImpl { - + private final VMChannel channel; + /** - * This is the actual underlying file descriptor + * The platform-specific socket implementation. */ - int native_fd = -1; + private final VMPlainSocketImpl impl; /** * Lock object to serialize threads wanting to receive @@ -81,25 +88,26 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl /** * Default do nothing constructor */ - public PlainDatagramSocketImpl() + public PlainDatagramSocketImpl() throws IOException { - // Nothing to do here. + channel = new VMChannel(); + impl = new VMPlainSocketImpl(channel); } - protected void finalize() throws Throwable + /*protected void finalize() throws Throwable { synchronized (this) { - if (native_fd != -1) + if (channel.getState().isValid()) close(); } super.finalize(); - } + }*/ - public int getNativeFD() + /*public int getNativeFD() { return native_fd; - } + }*/ /** * Binds this socket to a particular port and interface @@ -109,20 +117,46 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl * * @exception SocketException If an error occurs */ - protected synchronized void bind(int port, InetAddress addr) + protected synchronized void bind(int port, InetAddress addr) throws SocketException - { - VMPlainDatagramSocketImpl.bind(this, port, addr); - } + { + try + { + impl.bind(new InetSocketAddress(addr, port)); + } + catch (SocketException se) + { + throw se; + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } /** * Creates a new datagram socket * * @exception SocketException If an error occurs */ - protected synchronized void create() throws SocketException + protected synchronized void create() throws SocketException { - VMPlainDatagramSocketImpl.create(this); + try + { + channel.initSocket(false); + } + catch (SocketException se) + { + throw se; + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } } /** @@ -135,7 +169,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl */ protected void connect(InetAddress addr, int port) throws SocketException { - VMPlainDatagramSocketImpl.connect(this, addr, port); + channel.connect(new InetSocketAddress(addr, port), 0); } /** @@ -147,8 +181,14 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl { synchronized (this) { - if (native_fd != -1) - close(); + try + { + if (channel.getState().isValid()) + channel.disconnect(); + } + catch (IOException ioe) + { + } } } @@ -161,7 +201,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl */ protected synchronized void setTimeToLive(int ttl) throws IOException { - setOption(VMPlainDatagramSocketImpl.IP_TTL, new Integer(ttl)); + impl.setTimeToLive(ttl); } /** @@ -173,15 +213,27 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl */ protected synchronized int getTimeToLive() throws IOException { - Object obj = getOption(VMPlainDatagramSocketImpl.IP_TTL); + return impl.getTimeToLive(); + } - if (! (obj instanceof Integer)) - throw new IOException("Internal Error"); + protected int getLocalPort() + { + if (channel == null) + return -1; - return ((Integer) obj).intValue(); + try + { + InetSocketAddress local = channel.getLocalAddress(); + if (local == null) + return -1; + return local.getPort(); + } + catch (IOException ioe) + { + return -1; + } } - /** * Sends a packet of data to a remote host * @@ -191,13 +243,30 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl */ protected void send(DatagramPacket packet) throws IOException { - if (native_fd != -1) + synchronized (SEND_LOCK) { - synchronized(SEND_LOCK) + ByteBuffer buf = ByteBuffer.wrap(packet.getData(), + packet.getOffset(), + packet.getLength()); + InetAddress remote = packet.getAddress(); + int port = packet.getPort(); + if (remote == null) + throw new NullPointerException(); + if (port <= 0) + throw new SocketException("invalid port " + port); + while (true) { - VMPlainDatagramSocketImpl.send(this, packet); + try + { + channel.send(buf, new InetSocketAddress(remote, port)); + break; + } + catch (InterruptedIOException ioe) + { + // Ignore; interrupted system call. + } } - } + } } /** @@ -210,48 +279,123 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl protected void receive(DatagramPacket packet) throws IOException { - synchronized(RECEIVE_LOCK) - { - VMPlainDatagramSocketImpl.receive(this, packet); - } + synchronized(RECEIVE_LOCK) + { + ByteBuffer buf = ByteBuffer.wrap(packet.getData(), + packet.getOffset(), + packet.getLength()); + SocketAddress addr = null; + while (true) + { + try + { + addr = channel.receive(buf); + break; + } + catch (SocketTimeoutException ste) + { + throw ste; + } + catch (InterruptedIOException iioe) + { + // Ignore. Loop. + } + } + if (addr != null) + packet.setSocketAddress(addr); + packet.setLength(buf.position() - packet.getOffset()); + } } /** * Sets the value of an option on the socket * - * @param option_id The identifier of the option to set - * @param val The value of the option to set + * @param optionId The identifier of the option to set + * @param value The value of the option to set * * @exception SocketException If an error occurs */ - public synchronized void setOption(int option_id, Object val) + public synchronized void setOption(int optionId, Object value) throws SocketException - { - VMPlainDatagramSocketImpl.setOption(this, option_id, val); - } + { + switch (optionId) + { + case IP_MULTICAST_IF: + case IP_MULTICAST_IF2: + impl.setMulticastInterface(optionId, (InetAddress) value); + break; + + case IP_MULTICAST_LOOP: + case SO_BROADCAST: + case SO_KEEPALIVE: + case SO_OOBINLINE: + case TCP_NODELAY: + case IP_TOS: + case SO_LINGER: + case SO_RCVBUF: + case SO_SNDBUF: + case SO_TIMEOUT: + case SO_REUSEADDR: + impl.setOption(optionId, value); + return; + + default: + throw new SocketException("cannot set option " + optionId); + } + } /** * Retrieves the value of an option on the socket * - * @param option_id The identifier of the option to retrieve + * @param optionId The identifier of the option to retrieve * * @return The value of the option * * @exception SocketException If an error occurs */ - public synchronized Object getOption(int option_id) + public synchronized Object getOption(int optionId) throws SocketException - { - return VMPlainDatagramSocketImpl.getOption(this, option_id); - } + { + if (optionId == SO_BINDADDR) + { + try + { + InetSocketAddress local = channel.getLocalAddress(); + if (local == null) + return null; + return local.getAddress(); + } + catch (SocketException se) + { + throw se; + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } + if (optionId == IP_MULTICAST_IF || optionId == IP_MULTICAST_IF2) + return impl.getMulticastInterface(optionId); + + return impl.getOption(optionId); + } /** * Closes the socket */ protected synchronized void close() { - VMPlainDatagramSocketImpl.close(this); + try + { + if (channel.getState().isValid()) + channel.close(); + } + catch (IOException ioe) + { + } } /** @@ -291,7 +435,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl */ protected synchronized void join(InetAddress addr) throws IOException { - VMPlainDatagramSocketImpl.join(this,addr); + impl.join(addr); } /** @@ -303,7 +447,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl */ protected synchronized void leave(InetAddress addr) throws IOException { - VMPlainDatagramSocketImpl.leave(this, addr); + impl.leave(addr); } /** @@ -323,12 +467,20 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl public void joinGroup(SocketAddress address, NetworkInterface netIf) throws IOException { - VMPlainDatagramSocketImpl.joinGroup(this, address, netIf); + if (address == null) + throw new NullPointerException(); + if (!(address instanceof InetSocketAddress)) + throw new SocketException("unknown address type"); + impl.joinGroup((InetSocketAddress) address, netIf); } public void leaveGroup(SocketAddress address, NetworkInterface netIf) throws IOException { - VMPlainDatagramSocketImpl.leaveGroup(this, address, netIf); + if (address == null) + throw new NullPointerException(); + if (!(address instanceof InetSocketAddress)) + throw new SocketException("unknown address type"); + impl.leaveGroup((InetSocketAddress) address, netIf); } } diff --git a/libjava/classpath/gnu/java/net/PlainSocketImpl.java b/libjava/classpath/gnu/java/net/PlainSocketImpl.java index 47d05aa410d..5bda0a5e9bf 100644 --- a/libjava/classpath/gnu/java/net/PlainSocketImpl.java +++ b/libjava/classpath/gnu/java/net/PlainSocketImpl.java @@ -39,13 +39,20 @@ exception statement from your version. */ package gnu.java.net; +import gnu.java.nio.SocketChannelImpl; +import gnu.java.nio.VMChannel; + import java.io.InputStream; import java.io.IOException; +import java.io.InterruptedIOException; import java.io.OutputStream; import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketException; import java.net.SocketImpl; +import java.net.SocketTimeoutException; +import java.nio.ByteBuffer; /** * Written using on-line Java Platform 1.2 API Specification, as well @@ -63,17 +70,13 @@ import java.net.SocketImpl; * @author Nic Ferrier (nferrier@tapsellferrier.co.uk) * @author Aaron M. Renn (arenn@urbanophile.com) */ -public final class PlainSocketImpl extends SocketImpl +public class PlainSocketImpl extends SocketImpl { /** - * The OS file handle representing the socket. - * This is used for reads and writes to/from the socket and - * to close it. - * - * When the socket is closed this is reset to -1. + * The underlying plain socket VM implementation. */ - int native_fd = -1; + protected VMPlainSocketImpl impl; /** * A cached copy of the in stream for reading from the socket. @@ -90,7 +93,13 @@ public final class PlainSocketImpl extends SocketImpl * is being invoked on this socket. */ private boolean inChannelOperation; - + + /** + * The socket channel we use for IO operation. Package-private for + * use by inner classes. + */ + SocketChannelImpl channel; + /** * Indicates whether we should ignore whether any associated * channel is set to non-blocking mode. Certain operations @@ -117,29 +126,7 @@ public final class PlainSocketImpl extends SocketImpl */ public PlainSocketImpl() { - // Nothing to do here. - } - - protected void finalize() throws Throwable - { - synchronized (this) - { - if (native_fd != -1) - try - { - close(); - } - catch (IOException ex) - { - // Nothing we can do about it. - } - } - super.finalize(); - } - - public int getNativeFD() - { - return native_fd; + this.impl = new VMPlainSocketImpl(); } /** @@ -155,7 +142,24 @@ public final class PlainSocketImpl extends SocketImpl */ public void setOption(int optionId, Object value) throws SocketException { - VMPlainSocketImpl.setOption(this, optionId, value); + switch (optionId) + { + case SO_LINGER: + case IP_MULTICAST_LOOP: + case SO_BROADCAST: + case SO_KEEPALIVE: + case SO_OOBINLINE: + case TCP_NODELAY: + case IP_TOS: + case SO_RCVBUF: + case SO_SNDBUF: + case SO_TIMEOUT: + case SO_REUSEADDR: + impl.setOption(optionId, value); + return; + default: + throw new SocketException("Unrecognized TCP option: " + optionId); + } } /** @@ -171,17 +175,49 @@ public final class PlainSocketImpl extends SocketImpl */ public Object getOption(int optionId) throws SocketException { - return VMPlainSocketImpl.getOption(this, optionId); + if (optionId == SO_BINDADDR) + { + try + { + return channel.getVMChannel().getLocalAddress().getAddress(); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } + + // This filters options which are invalid for TCP. + switch (optionId) + { + case SO_LINGER: + case IP_MULTICAST_LOOP: + case SO_BROADCAST: + case SO_KEEPALIVE: + case SO_OOBINLINE: + case TCP_NODELAY: + case IP_TOS: + case SO_RCVBUF: + case SO_SNDBUF: + case SO_TIMEOUT: + case SO_REUSEADDR: + return impl.getOption(optionId); + default: + throw new SocketException("Unrecognized TCP option: " + optionId); + } + } public void shutdownInput() throws IOException { - VMPlainSocketImpl.shutdownInput(this); + impl.shutdownInput(); } public void shutdownOutput() throws IOException { - VMPlainSocketImpl.shutdownOutput(this); + impl.shutdownOutput(); } /** @@ -195,7 +231,11 @@ public final class PlainSocketImpl extends SocketImpl */ protected synchronized void create(boolean stream) throws IOException { - VMPlainSocketImpl.create(this); + channel = new SocketChannelImpl(false); + VMChannel vmchannel = channel.getVMChannel(); + vmchannel.initSocket(stream); + channel.configureBlocking(true); + impl.getState().setChannelFD(vmchannel.getState()); } /** @@ -222,7 +262,7 @@ public final class PlainSocketImpl extends SocketImpl */ protected void connect(InetAddress addr, int port) throws IOException { - VMPlainSocketImpl.connect(this, addr, port); + connect(new InetSocketAddress(addr, port), 0); } /** @@ -236,7 +276,17 @@ public final class PlainSocketImpl extends SocketImpl protected synchronized void connect(SocketAddress address, int timeout) throws IOException { - VMPlainSocketImpl.connect(this, address, timeout); + if (channel == null) + create(true); + boolean connected = channel.connect(address, timeout); + if (!connected) + throw new SocketTimeoutException("connect timed out"); + + // Using the given SocketAddress is important to preserve + // hostnames given by the caller. + InetSocketAddress addr = (InetSocketAddress) address; + this.address = addr.getAddress(); + this.port = addr.getPort(); } /** @@ -251,7 +301,10 @@ public final class PlainSocketImpl extends SocketImpl protected synchronized void bind(InetAddress addr, int port) throws IOException { - VMPlainSocketImpl.bind(this, addr, port); + if (channel == null) + create(true); + impl.bind(new InetSocketAddress(addr, port)); + localport = channel.getVMChannel().getLocalAddress().getPort(); } /** @@ -267,7 +320,7 @@ public final class PlainSocketImpl extends SocketImpl protected synchronized void listen(int queuelen) throws IOException { - VMPlainSocketImpl.listen(this, queuelen); + impl.listen(queuelen); } /** @@ -279,7 +332,19 @@ public final class PlainSocketImpl extends SocketImpl protected synchronized void accept(SocketImpl impl) throws IOException { - VMPlainSocketImpl.accept(this, impl); + if (channel == null) + create(true); + if (!(impl instanceof PlainSocketImpl)) + throw new IOException("incompatible SocketImpl: " + + impl.getClass().getName()); + PlainSocketImpl that = (PlainSocketImpl) impl; + VMChannel c = channel.getVMChannel().accept(); + that.impl.getState().setChannelFD(c.getState()); + that.channel = new SocketChannelImpl(c); + that.setOption(SO_REUSEADDR, Boolean.TRUE); + // Reset the inherited timeout. + that.setOption(SO_TIMEOUT, Integer.valueOf(0)); + } /** @@ -292,7 +357,9 @@ public final class PlainSocketImpl extends SocketImpl */ protected int available() throws IOException { - return VMPlainSocketImpl.available(this); + if (channel == null) + throw new SocketException("not connected"); + return channel.getVMChannel().available(); } /** @@ -308,65 +375,16 @@ public final class PlainSocketImpl extends SocketImpl */ protected void close() throws IOException { - VMPlainSocketImpl.close(this); - } - - public void sendUrgentData(int data) - { - VMPlainSocketImpl.sendUrgendData(this, data); - } - - /** - * Internal method used by SocketInputStream for reading data from - * the connection. Reads up to len bytes of data into the buffer - * buf starting at offset bytes into the buffer. - * - * @return the actual number of bytes read or -1 if end of stream. - * - * @throws IOException if an error occurs - */ - protected int read(byte[] buf, int offset, int len) - throws IOException - { - return VMPlainSocketImpl.read(this, buf, offset, len); - } - - /** - * Internal method used by SocketInputStream for reading data from - * the connection. Reads and returns one byte of data. - * - * @return the read byte - * - * @throws IOException if an error occurs - */ - protected int read() - throws IOException - { - return VMPlainSocketImpl.read(this); - } - - /** - * Internal method used by SocketOuputStream for writing data to - * the connection. Writes up to len bytes of data from the buffer - * buf starting at offset bytes into the buffer. - * - * @throws IOException If an error occurs - */ - protected void write(byte[] buf, int offset, int len) - throws IOException - { - VMPlainSocketImpl.write(this, buf, offset, len); + if (impl.getState().isValid()) + impl.close(); + + address = null; + port = -1; } - /** - * Internal method used by SocketOuputStream for writing data to - * the connection. Writes up one byte to the socket. - * - * @throws IOException If an error occurs - */ - protected void write(int data) throws IOException + public void sendUrgentData(int data) throws IOException { - VMPlainSocketImpl.write(this, data); + impl.sendUrgentData(data); } /** @@ -400,6 +418,95 @@ public final class PlainSocketImpl extends SocketImpl return out; } + + public VMChannel getVMChannel() + { + if (channel == null) + return null; + return channel.getVMChannel(); + } + + /* (non-Javadoc) + * @see java.net.SocketImpl#getInetAddress() + */ + protected InetAddress getInetAddress() + { + if (channel == null) + return null; + + try + { + InetSocketAddress remote = channel.getVMChannel().getPeerAddress(); + if (remote == null) + return null; + // To mimic behavior of the RI the InetAddress instance which was + // used to establish the connection is returned instead of one that + // was created by the native layer (this preserves exact hostnames). + if (address != null) + return address; + + return remote.getAddress(); + } + catch (IOException ioe) + { + return null; + } + } + + /* (non-Javadoc) + * @see java.net.SocketImpl#getLocalPort() + */ + protected int getLocalPort() + { + if (channel == null) + return -1; + try + { + InetSocketAddress local = channel.getVMChannel().getLocalAddress(); + if (local == null) + return -1; + return local.getPort(); + } + catch (IOException ioe) + { + return -1; + } + } + + public InetSocketAddress getLocalAddress() + { + if (channel == null) + return null; + try + { + return channel.getVMChannel().getLocalAddress(); + } + catch (IOException ioe) + { + return null; + } + } + + /* (non-Javadoc) + * @see java.net.SocketImpl#getPort() + */ + protected int getPort() + { + if (channel == null) + return -1; + + try + { + InetSocketAddress remote = channel.getVMChannel().getPeerAddress(); + if (remote == null) + return -1; + return remote.getPort(); + } + catch (IOException ioe) + { + return -1; + } + } /** * This class contains an implementation of InputStream for @@ -437,7 +544,23 @@ public final class PlainSocketImpl extends SocketImpl */ public int read() throws IOException { - return PlainSocketImpl.this.read(); + if (channel == null) + throw new SocketException("not connected"); + while (true) + { + try + { + return channel.getVMChannel().read(); + } + catch (SocketTimeoutException ste) + { + throw ste; + } + catch (InterruptedIOException iioe) + { + // Ignore; NIO may throw this; net io shouldn't + } + } } /** @@ -454,12 +577,24 @@ public final class PlainSocketImpl extends SocketImpl */ public int read (byte[] buf, int offset, int len) throws IOException { - int bytes_read = PlainSocketImpl.this.read (buf, offset, len); - - if (bytes_read == 0) - return -1; - - return bytes_read; + if (channel == null) + throw new SocketException("not connected"); + ByteBuffer b = ByteBuffer.wrap(buf, offset, len); + while (true) + { + try + { + return channel.read(b); + } + catch (SocketTimeoutException ste) + { + throw ste; + } + catch (InterruptedIOException iioe) + { + // Ignored; NIO may throw this; net IO not. + } + } } } @@ -495,7 +630,20 @@ public final class PlainSocketImpl extends SocketImpl */ public void write(int b) throws IOException { - PlainSocketImpl.this.write(b); + if (channel == null) + throw new SocketException("not connected"); + while (true) + { + try + { + channel.getVMChannel().write(b); + return; + } + catch (InterruptedIOException iioe) + { + // Ignored. + } + } } /** @@ -510,7 +658,21 @@ public final class PlainSocketImpl extends SocketImpl */ public void write (byte[] buf, int offset, int len) throws IOException { - PlainSocketImpl.this.write (buf, offset, len); + if (channel == null) + throw new SocketException("not connected"); + ByteBuffer b = ByteBuffer.wrap(buf, offset, len); + while (b.hasRemaining()) + { + try + { + if (channel.write(b) == -1) + throw new IOException("channel has been closed"); + } + catch (InterruptedIOException iioe) + { + // Ignored. + } + } } } } diff --git a/libjava/classpath/gnu/java/net/local/LocalSocketImpl.java b/libjava/classpath/gnu/java/net/local/LocalSocketImpl.java index f43305a8027..f49b79947b7 100644 --- a/libjava/classpath/gnu/java/net/local/LocalSocketImpl.java +++ b/libjava/classpath/gnu/java/net/local/LocalSocketImpl.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.java.net.local; +import gnu.classpath.Configuration; + import java.io.FileDescriptor; import java.io.InputStream; import java.io.IOException; @@ -66,7 +68,10 @@ final class LocalSocketImpl extends SocketImpl { try { - System.loadLibrary ("javanet"); + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary ("javanet"); + } } catch (Exception x) { diff --git a/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java b/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java index f5e831c6a01..3956d2aba3a 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java @@ -48,6 +48,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.Socket; +import java.net.SocketException; import java.security.GeneralSecurityException; import java.util.ArrayList; import java.util.HashMap; @@ -227,10 +228,16 @@ public class HTTPConnection * @param secure whether to use a secure connection * @param connectionTimeout the connection timeout * @param timeout the socket read timeout + * + * @throws IllegalArgumentException if either connectionTimeout or + * timeout less than zero. */ public HTTPConnection(String hostname, int port, boolean secure, int connectionTimeout, int timeout) { + if (connectionTimeout < 0 || timeout < 0) + throw new IllegalArgumentException(); + this.hostname = hostname; this.port = port; this.secure = secure; @@ -471,14 +478,32 @@ public class HTTPConnection { String ttl = SystemProperties.getProperty("classpath.net.http.keepAliveTTL"); - connectionTTL = (ttl != null && ttl.length() > 0) ? - 1000 * Math.max(1, Integer.parseInt(ttl)) : 10000; + connectionTTL = 10000; + if (ttl != null && ttl.length() > 0) + try + { + int v = 1000 * Integer.parseInt(ttl); + if (v >= 0) + connectionTTL = v; + } + catch (NumberFormatException _) + { + // Ignore. + } String mc = SystemProperties.getProperty("http.maxConnections"); - maxConnections = (mc != null && mc.length() > 0) ? - Math.max(Integer.parseInt(mc), 1) : 5; - if (maxConnections < 1) - maxConnections = 1; + maxConnections = 5; + if (mc != null && mc.length() > 0) + try + { + int v = Integer.parseInt(mc); + if (v > 0) + maxConnections = v; + } + catch (NumberFormatException _) + { + // Ignore. + } HTTPConnection c = null; @@ -490,12 +515,23 @@ public class HTTPConnection { c = cc; it.remove(); + // Update the timeout. + if (c.socket != null) + try + { + c.socket.setSoTimeout(timeout); + } + catch (SocketException _) + { + // Ignore. + } break; } } if (c == null) { - c = new HTTPConnection(host, port, secure, connectionTimeout, timeout); + c = new HTTPConnection(host, port, secure, + connectionTimeout, timeout); c.setPool(this); } return c; diff --git a/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java b/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java index cc68a3bac30..6c926b72fb4 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java @@ -75,7 +75,7 @@ public class HTTPURLConnection // These are package private for use in anonymous inner classes. String proxyHostname; - int proxyPort; + int proxyPort = -1; String agent; boolean keepAlive; @@ -99,18 +99,21 @@ public class HTTPURLConnection { super(url); requestHeaders = new Headers(); - proxyHostname = SystemProperties.getProperty("http.proxyHost"); - if (proxyHostname != null && proxyHostname.length() > 0) + String proxy = SystemProperties.getProperty("http.proxyHost"); + if (proxy != null && proxy.length() > 0) { String port = SystemProperties.getProperty("http.proxyPort"); if (port != null && port.length() > 0) { - proxyPort = Integer.parseInt(port); - } - else - { - proxyHostname = null; - proxyPort = -1; + try + { + proxyPort = Integer.parseInt(port); + proxyHostname = proxy; + } + catch (NumberFormatException _) + { + // Ignore. + } } } agent = SystemProperties.getProperty("http.agent"); @@ -354,11 +357,14 @@ public class HTTPURLConnection HTTPConnection connection; if (keepAlive) { - connection = HTTPConnection.Pool.instance.get(host, port, secure, getConnectTimeout(), 0); + connection = HTTPConnection.Pool.instance.get(host, port, secure, + getConnectTimeout(), + getReadTimeout()); } else { - connection = new HTTPConnection(host, port, secure, 0, getConnectTimeout()); + connection = new HTTPConnection(host, port, secure, + getConnectTimeout(), getReadTimeout()); } return connection; } @@ -662,23 +668,23 @@ public class HTTPURLConnection } /** - * Set the connection timeout speed, in milliseconds, or zero if the timeout + * Set the read timeout, in milliseconds, or zero if the timeout * is to be considered infinite. * * Overloaded. * */ - public void setConnectTimeout(int timeout) + public void setReadTimeout(int timeout) throws IllegalArgumentException { - super.setConnectTimeout( timeout ); - if( connection == null ) + super.setReadTimeout(timeout); + if (connection == null) return; try { - connection.getSocket().setSoTimeout( timeout ); + connection.getSocket().setSoTimeout(timeout); } - catch(IOException se) + catch (IOException se) { // Ignore socket exceptions. } diff --git a/libjava/classpath/gnu/java/net/protocol/jar/Handler.java b/libjava/classpath/gnu/java/net/protocol/jar/Handler.java index 316d8cb02be..7c09766a557 100644 --- a/libjava/classpath/gnu/java/net/protocol/jar/Handler.java +++ b/libjava/classpath/gnu/java/net/protocol/jar/Handler.java @@ -1,5 +1,5 @@ /* gnu.java.net.protocol.jar.Handler - jar protocol handler for java.net - Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,6 +45,9 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.StringTokenizer; /** * @author Kresten Krab Thorup (krab@gnu.org) @@ -114,7 +117,7 @@ public class Handler extends URLStreamHandler file = file.substring(0, idx + 1) + url_string; } - setURL (url, "jar", url.getHost(), url.getPort(), file, null); + setURL (url, "jar", url.getHost(), url.getPort(), flat(file), null); return; } @@ -148,6 +151,45 @@ public class Handler extends URLStreamHandler setURL (url, "jar", url.getHost(), url.getPort(), url_string, null); } + /** + * Makes the given jar url string 'flat' by removing any . and .. from + * jar file path because ZipFile entries can only handle flat paths. + * Inside jar files '/' is always the path separator. + */ + private static String flat(String url_string) + { + int jar_stop = url_string.indexOf("!/"); + String jar_path = url_string.substring(jar_stop + 1, url_string.length()); + + if (jar_path.indexOf("/.") < 0) + return url_string; + + ArrayList tokens = new ArrayList(); + StringTokenizer st = new StringTokenizer(jar_path, "/"); + while (st.hasMoreTokens()) + { + String token = st.nextToken(); + if (token.equals(".")) + continue; + else if (token.equals("..")) + { + if (! tokens.isEmpty()) + tokens.remove(tokens.size() - 1); + } + else + tokens.add(token); + } + + StringBuffer path = new StringBuffer(url_string.length()); + path.append(url_string.substring(0, jar_stop + 1)); + + Iterator it = tokens.iterator(); + while (it.hasNext()) + path.append('/').append(it.next()); + + return path.toString(); + } + /** * This method converts a Jar URL object into a String. * diff --git a/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java b/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java index 4687bf3f59e..268ee0a8aa7 100644 --- a/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java +++ b/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java @@ -55,8 +55,10 @@ import java.nio.channels.spi.SelectorProvider; * @author Michael Koch */ public final class DatagramChannelImpl extends DatagramChannel + implements VMChannelOwner { private NIODatagramSocket socket; + private VMChannel channel; /** * Indicates whether this channel initiated whatever operation @@ -64,6 +66,16 @@ public final class DatagramChannelImpl extends DatagramChannel */ private boolean inChannelOperation; + protected DatagramChannelImpl (SelectorProvider provider) + throws IOException + { + super (provider); + socket = new NIODatagramSocket (new PlainDatagramSocketImpl(), this); + channel = new VMChannel(); + channel.initSocket(false); + configureBlocking(true); + } + /** * Indicates whether our datagram socket should ignore whether * we are set to non-blocking mode. Certain operations on our @@ -85,14 +97,6 @@ public final class DatagramChannelImpl extends DatagramChannel inChannelOperation = b; } - protected DatagramChannelImpl (SelectorProvider provider) - throws IOException - { - super (provider); - socket = new NIODatagramSocket (new PlainDatagramSocketImpl(), this); - configureBlocking(true); - } - public DatagramSocket socket () { return socket; @@ -101,13 +105,13 @@ public final class DatagramChannelImpl extends DatagramChannel protected void implCloseSelectableChannel () throws IOException { - socket.close (); + channel.close(); } protected void implConfigureBlocking (boolean blocking) throws IOException { - socket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT); + channel.setBlocking(blocking); } public DatagramChannel connect (SocketAddress remote) @@ -116,20 +120,34 @@ public final class DatagramChannelImpl extends DatagramChannel if (!isOpen()) throw new ClosedChannelException(); - socket.connect (remote); + try + { + channel.connect((InetSocketAddress) remote, 0); + } + catch (ClassCastException cce) + { + throw new IOException("unsupported socked address type"); + } return this; } public DatagramChannel disconnect () throws IOException { - socket.disconnect (); + channel.disconnect(); return this; } - public boolean isConnected () + public boolean isConnected() { - return socket.isConnected (); + try + { + return channel.getPeerAddress() != null; + } + catch (IOException ioe) + { + return false; + } } public int write (ByteBuffer src) @@ -138,7 +156,7 @@ public final class DatagramChannelImpl extends DatagramChannel if (!isConnected ()) throw new NotYetConnectedException (); - return send (src, socket.getRemoteSocketAddress()); + return channel.write(src); } public long write (ByteBuffer[] srcs, int offset, int length) @@ -152,13 +170,11 @@ public final class DatagramChannelImpl extends DatagramChannel || (length < 0) || (length > (srcs.length - offset))) throw new IndexOutOfBoundsException(); - - long result = 0; - - for (int index = offset; index < offset + length; index++) - result += write (srcs [index]); - return result; + /* We are connected, meaning we will write these bytes to + * the host we connected to, so we don't need to explicitly + * give the host. */ + return channel.writeGathering(srcs, offset, length); } public int read (ByteBuffer dst) @@ -167,9 +183,7 @@ public final class DatagramChannelImpl extends DatagramChannel if (!isConnected ()) throw new NotYetConnectedException (); - int remaining = dst.remaining(); - receive (dst); - return remaining - dst.remaining(); + return channel.read(dst); } public long read (ByteBuffer[] dsts, int offset, int length) @@ -184,12 +198,8 @@ public final class DatagramChannelImpl extends DatagramChannel || (length > (dsts.length - offset))) throw new IndexOutOfBoundsException(); - long result = 0; - - for (int index = offset; index < offset + length; index++) - result += read (dsts [index]); - - return result; + /* Likewise, see the comment int write above. */ + return channel.readScattering(dsts, offset, length); } public SocketAddress receive (ByteBuffer dst) @@ -200,49 +210,12 @@ public final class DatagramChannelImpl extends DatagramChannel try { - DatagramPacket packet; - int len = dst.remaining(); - - if (dst.hasArray()) - { - packet = new DatagramPacket (dst.array(), - dst.arrayOffset() + dst.position(), - len); - } - else - { - packet = new DatagramPacket (new byte [len], len); - } - - boolean completed = false; - - try - { - begin(); - setInChannelOperation(true); - socket.receive (packet); - completed = true; - } - finally - { - end (completed); - setInChannelOperation(false); - } - - if (!dst.hasArray()) - { - dst.put (packet.getData(), packet.getOffset(), packet.getLength()); - } - else - { - dst.position (dst.position() + packet.getLength()); - } - - return packet.getSocketAddress(); + begin(); + return channel.receive(dst); } - catch (SocketTimeoutException e) + finally { - return null; + end(true); } } @@ -252,46 +225,18 @@ public final class DatagramChannelImpl extends DatagramChannel if (!isOpen()) throw new ClosedChannelException(); - if (target instanceof InetSocketAddress - && ((InetSocketAddress) target).isUnresolved()) - throw new IOException("Target address not resolved"); - - byte[] buffer; - int offset = 0; - int len = src.remaining(); + if (!(target instanceof InetSocketAddress)) + throw new IOException("can only send to inet socket addresses"); - if (src.hasArray()) - { - buffer = src.array(); - offset = src.arrayOffset() + src.position(); - } - else - { - buffer = new byte [len]; - src.get (buffer); - } - - DatagramPacket packet = new DatagramPacket (buffer, offset, len, target); - - boolean completed = false; - try - { - begin(); - setInChannelOperation(true); - socket.send(packet); - completed = true; - } - finally - { - end (completed); - setInChannelOperation(false); - } - - if (src.hasArray()) - { - src.position (src.position() + len); - } + InetSocketAddress dst = (InetSocketAddress) target; + if (dst.isUnresolved()) + throw new IOException("Target address not resolved"); - return len; + return channel.send(src, dst); + } + + public VMChannel getVMChannel() + { + return channel; } } diff --git a/libjava/classpath/gnu/java/nio/DatagramChannelSelectionKey.java b/libjava/classpath/gnu/java/nio/DatagramChannelSelectionKey.java index 698e07e348f..f192e5002d4 100644 --- a/libjava/classpath/gnu/java/nio/DatagramChannelSelectionKey.java +++ b/libjava/classpath/gnu/java/nio/DatagramChannelSelectionKey.java @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.nio; +import java.io.IOException; import java.nio.channels.spi.AbstractSelectableChannel; /** @@ -52,10 +53,16 @@ public final class DatagramChannelSelectionKey super (channel, selector); } + // FIXME don't use file descriptor integers public int getNativeFD() { - NIODatagramSocket socket = - (NIODatagramSocket) ((DatagramChannelImpl) ch).socket(); - return socket.getPlainDatagramSocketImpl().getNativeFD(); + try + { + return ((DatagramChannelImpl) ch).getVMChannel().getState().getNativeFD(); + } + catch (IOException ioe) + { + throw new IllegalStateException(ioe); + } } } diff --git a/libjava/classpath/gnu/java/nio/EpollSelectionKeyImpl.java b/libjava/classpath/gnu/java/nio/EpollSelectionKeyImpl.java new file mode 100644 index 00000000000..11113f3975c --- /dev/null +++ b/libjava/classpath/gnu/java/nio/EpollSelectionKeyImpl.java @@ -0,0 +1,122 @@ +/* EpollSelectionKeyImpl.java -- selection key for the epoll selector. + Copyright (C) 2006 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. */ + + +package gnu.java.nio; + +import java.io.IOException; +import java.nio.channels.CancelledKeyException; +import java.nio.channels.SelectableChannel; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.spi.AbstractSelectionKey; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class EpollSelectionKeyImpl extends AbstractSelectionKey +{ + final int fd; + private final EpollSelectorImpl selector; + private final SelectableChannel channel; + int interestOps; + int selectedOps; + int key; + boolean valid; + boolean cancelled; + + EpollSelectionKeyImpl(EpollSelectorImpl selector, + SelectableChannel channel, int fd) + { + this.selector = selector; + this.channel = channel; + this.fd = fd; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#channel() + */ + public SelectableChannel channel() + { + return channel; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#interestOps() + */ + public int interestOps() + { + return interestOps; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#interestOps(int) + */ + public SelectionKey interestOps(int ops) + { + if (cancelled) + throw new CancelledKeyException(); + if ((ops & ~(channel.validOps())) != 0) + throw new IllegalArgumentException("unsupported channel ops"); + try + { + selector.epoll_modify(this, ops); + interestOps = ops; + } + catch (IOException ioe) + { + throw new IllegalArgumentException(ioe); + } + return this; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#readyOps() + */ + public int readyOps() + { + return selectedOps; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#selector() + */ + public Selector selector() + { + return selector; + } +} diff --git a/libjava/classpath/gnu/java/nio/EpollSelectorImpl.java b/libjava/classpath/gnu/java/nio/EpollSelectorImpl.java new file mode 100644 index 00000000000..2b3c9bbb1b6 --- /dev/null +++ b/libjava/classpath/gnu/java/nio/EpollSelectorImpl.java @@ -0,0 +1,399 @@ +/* EpollSelectorImpl.java -- selector implementation using epoll + Copyright (C) 2006 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. */ + + +package gnu.java.nio; + +import gnu.classpath.Configuration; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.SelectableChannel; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.spi.AbstractSelectableChannel; +import java.nio.channels.spi.AbstractSelector; +import java.nio.channels.spi.SelectorProvider; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +/** + * An implementation of {@link Selector} that uses the epoll event + * notification mechanism on GNU/Linux. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class EpollSelectorImpl extends AbstractSelector +{ + // XXX is this reasonable? Does it matter? + private static final int DEFAULT_EPOLL_SIZE = 128; + private static final int sizeof_struct_epoll_event; + + private static final int OP_ACCEPT = SelectionKey.OP_ACCEPT; + private static final int OP_CONNECT = SelectionKey.OP_CONNECT; + private static final int OP_READ = SelectionKey.OP_READ; + private static final int OP_WRITE = SelectionKey.OP_WRITE; + + /** our epoll file descriptor. */ + private int epoll_fd; + + private final HashMap keys; + private Set selectedKeys; + private Thread waitingThread; + private ByteBuffer events; + + private static final int INITIAL_CAPACITY; + private static final int MAX_DOUBLING_CAPACITY; + private static final int CAPACITY_INCREMENT; + + static + { + if (Configuration.INIT_LOAD_LIBRARY) + System.loadLibrary("javanio"); + + if (epoll_supported()) + sizeof_struct_epoll_event = sizeof_struct(); + else + sizeof_struct_epoll_event = -1; + + INITIAL_CAPACITY = 64 * sizeof_struct_epoll_event; + MAX_DOUBLING_CAPACITY = 1024 * sizeof_struct_epoll_event; + CAPACITY_INCREMENT = 128 * sizeof_struct_epoll_event; + } + + public EpollSelectorImpl(SelectorProvider provider) + throws IOException + { + super(provider); + epoll_fd = epoll_create(DEFAULT_EPOLL_SIZE); + keys = new HashMap(); + selectedKeys = null; + events = ByteBuffer.allocateDirect(INITIAL_CAPACITY); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#keys() + */ + public Set keys() + { + return new HashSet(keys.values()); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#select() + */ + public int select() throws IOException + { + return doSelect(-1); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#select(long) + */ + public int select(long timeout) throws IOException + { + if (timeout > Integer.MAX_VALUE) + throw new IllegalArgumentException("timeout is too large"); + if (timeout < 0) + throw new IllegalArgumentException("invalid timeout"); + return doSelect((int) timeout); + } + + private int doSelect(int timeout) throws IOException + { + synchronized (keys) + { + Set cancelledKeys = cancelledKeys(); + synchronized (cancelledKeys) + { + for (Iterator it = cancelledKeys.iterator(); it.hasNext(); ) + { + EpollSelectionKeyImpl key = (EpollSelectionKeyImpl) it.next(); + epoll_delete(epoll_fd, key.fd); + key.valid = false; + keys.remove(Integer.valueOf(key.fd)); + it.remove(); + deregister(key); + } + + // Clear out closed channels. The fds are removed from the epoll + // fd when closed, so there is no need to remove them manually. + for (Iterator it = keys.values().iterator(); it.hasNext(); ) + { + EpollSelectionKeyImpl key = (EpollSelectionKeyImpl) it.next(); + SelectableChannel ch = key.channel(); + if (ch instanceof VMChannelOwner) + { + if (!((VMChannelOwner) ch).getVMChannel().getState().isValid()) + it.remove(); + } + } + + // Don't bother if we have nothing to select. + if (keys.isEmpty()) + return 0; + + int ret; + try + { + begin(); + waitingThread = Thread.currentThread(); + ret = epoll_wait(epoll_fd, events, keys.size(), timeout); + } + finally + { + Thread.interrupted(); + waitingThread = null; + end(); + } + + HashSet s = new HashSet(ret); + for (int i = 0; i < ret; i++) + { + events.position(i * sizeof_struct_epoll_event); + ByteBuffer b = events.slice(); + int fd = selected_fd(b); + EpollSelectionKeyImpl key + = (EpollSelectionKeyImpl) keys.get(Integer.valueOf(fd)); + if (key == null) + throw new IOException("fd was selected, but no key found"); + key.selectedOps = selected_ops(b) & key.interestOps; + s.add(key); + } + + reallocateBuffer(); + + selectedKeys = s; + return ret; + } + } + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#selectedKeys() + */ + public Set selectedKeys() + { + if (selectedKeys == null) + return Collections.EMPTY_SET; + return selectedKeys; + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#selectNow() + */ + public int selectNow() throws IOException + { + return doSelect(0); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#wakeup() + */ + public Selector wakeup() + { + try + { + waitingThread.interrupt(); + } + catch (NullPointerException npe) + { + // Ignored, thrown if we are not in a blocking op. + } + return this; + } + + /* (non-Javadoc) + * @see java.nio.channels.spi.AbstractSelector#implCloseSelector() + */ + protected void implCloseSelector() throws IOException + { + VMChannel.close(epoll_fd); + } + + /* (non-Javadoc) + * @see java.nio.channels.spi.AbstractSelector#register(java.nio.channels.spi.AbstractSelectableChannel, int, java.lang.Object) + */ + protected SelectionKey register(AbstractSelectableChannel ch, int ops, Object att) + { + if (!(ch instanceof VMChannelOwner)) + throw new IllegalArgumentException("unsupported channel type"); + + VMChannel channel = ((VMChannelOwner) ch).getVMChannel(); + try + { + int native_fd = channel.getState().getNativeFD(); + synchronized (keys) + { + if (keys.containsKey(Integer.valueOf(native_fd))) + throw new IllegalArgumentException("channel already registered"); + EpollSelectionKeyImpl result = + new EpollSelectionKeyImpl(this, ch, native_fd); + if ((ops & ~(ch.validOps())) != 0) + throw new IllegalArgumentException("invalid ops for channel"); + result.interestOps = ops; + result.selectedOps = 0; + result.valid = true; + result.attach(att); + result.key = System.identityHashCode(result); + epoll_add(epoll_fd, result.fd, ops); + keys.put(Integer.valueOf(native_fd), result); + reallocateBuffer(); + return result; + } + } + catch (IOException ioe) + { + throw new IllegalArgumentException(ioe); + } + } + + private void reallocateBuffer() + { + // Ensure we have enough space for all potential events that may be + // returned. + if (events.capacity() < keys.size() * sizeof_struct_epoll_event) + { + int cap = events.capacity(); + if (cap < MAX_DOUBLING_CAPACITY) + cap <<= 1; + else + cap += CAPACITY_INCREMENT; + events = ByteBuffer.allocateDirect(cap); + } + // Ensure that the events buffer is not too large, given the number of + // events registered. + else if (events.capacity() > keys.size() * sizeof_struct_epoll_event * 2 + 1 + && events.capacity() > INITIAL_CAPACITY) + { + int cap = events.capacity() >>> 1; + events = ByteBuffer.allocateDirect(cap); + } + } + + void epoll_modify(EpollSelectionKeyImpl key, int ops) throws IOException + { + epoll_modify(epoll_fd, key.fd, ops); + } + + /** + * Tell if epoll is supported by this system, and support was compiled in. + * + * @return True if this system supports event notification with epoll. + */ + public static native boolean epoll_supported(); + + + /** + * Returns the size of `struct epoll_event'. + * + * @return The size of `struct epoll_event'. + */ + private static native int sizeof_struct(); + + + /** + * Open a new epoll file descriptor. + * + * @param size The size hint for the new epoll descriptor. + * @return The new file descriptor integer. + * @throws IOException If allocating a new epoll descriptor fails. + */ + private static native int epoll_create(int size) throws IOException; + + /** + * Add a file descriptor to this selector. + * + * @param efd The epoll file descriptor. + * @param fd The file descriptor to add (or modify). + * @param ops The interest opts. + */ + private static native void epoll_add(int efd, int fd, int ops) + throws IOException; + + /** + * Modify the interest ops of the key selecting for the given FD. + * + * @param efd The epoll file descriptor. + * @param fd The file descriptor to modify. + * @param ops The ops. + * @throws IOException + */ + private static native void epoll_modify(int efd, int fd, int ops) + throws IOException; + + /** + * Remove a file descriptor from this selector. + * + * @param efd The epoll file descriptor. + * @param fd The file descriptor. + * @throws IOException + */ + private static native void epoll_delete(int efd, int fd) throws IOException; + + /** + * Select events. + * + * @param efd The epoll file descriptor. + * @param state The buffer to hold selected events. + * @param n The number of events that may be put in `state'. + * @param timeout The timeout. + * @return The number of events selected. + * @throws IOException + */ + private static native int epoll_wait(int efd, ByteBuffer state, int n, int timeout) + throws IOException; + + /** + * Fetch the fd value from a selected struct epoll_event. + * + * @param struct The direct buffer holding the struct. + * @return The fd value. + */ + private static native int selected_fd(ByteBuffer struct); + + /** + * Fetch the enabled operations from a selected struct epoll_event. + * + * @param struct The direct buffer holding the struct. + * @return The selected operations. + */ + private static native int selected_ops(ByteBuffer struct); +} diff --git a/libjava/classpath/gnu/java/nio/FileChannelImpl.java b/libjava/classpath/gnu/java/nio/FileChannelImpl.java new file mode 100644 index 00000000000..41912405078 --- /dev/null +++ b/libjava/classpath/gnu/java/nio/FileChannelImpl.java @@ -0,0 +1,572 @@ +/* FileChannelImpl.java -- + Copyright (C) 2002, 2004, 2005, 2006 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. */ + + +package gnu.java.nio; + +import gnu.classpath.Configuration; +import gnu.java.nio.FileLockImpl; +import gnu.java.nio.VMChannel; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.MappedByteBuffer; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.FileChannel; +import java.nio.channels.FileLock; +import java.nio.channels.NonReadableChannelException; +import java.nio.channels.NonWritableChannelException; +import java.nio.channels.ReadableByteChannel; +import java.nio.channels.WritableByteChannel; + +/** + * This file is not user visible ! + * But alas, Java does not have a concept of friendly packages + * so this class is public. + * Instances of this class are created by invoking getChannel + * Upon a Input/Output/RandomAccessFile object. + */ +public final class FileChannelImpl extends FileChannel +{ + // These are mode values for open(). + public static final int READ = 1; + public static final int WRITE = 2; + public static final int APPEND = 4; + + // EXCL is used only when making a temp file. + public static final int EXCL = 8; + public static final int SYNC = 16; + public static final int DSYNC = 32; + + public static final FileChannelImpl in; + public static final FileChannelImpl out; + public static final FileChannelImpl err; + + //private static native void init(); + + static + { + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary("javanio"); + } + + //init(); + + FileChannelImpl ch = null; + try + { + ch = new FileChannelImpl(VMChannel.getStdin(), READ); + } + catch (IOException ioe) + { + throw new Error(ioe); + } + in = ch; + + ch = null; + try + { + ch = new FileChannelImpl(VMChannel.getStdout(), WRITE); + } + catch (IOException ioe) + { + throw new Error(ioe); + } + out = ch; + + ch = null; + try + { + ch = new FileChannelImpl(VMChannel.getStderr(), WRITE); + } + catch (IOException ioe) + { + throw new Error(ioe); + } + err = ch; + } + + /** + * This is the actual native file descriptor value + */ + private VMChannel ch; + + private int mode; + + final String description; + + /* Open a file. MODE is a combination of the above mode flags. */ + /* This is a static factory method, so that VM implementors can decide + * substitute subclasses of FileChannelImpl. */ + public static FileChannelImpl create(File file, int mode) + throws IOException + { + return new FileChannelImpl(file, mode); + } + + private FileChannelImpl(File file, int mode) + throws IOException + { + String path = file.getPath(); + description = path; + this.mode = mode; + this.ch = new VMChannel(); + ch.openFile(path, mode); + + // First open the file and then check if it is a a directory + // to avoid race condition. + if (file.isDirectory()) + { + try + { + close(); + } + catch (IOException e) + { + /* ignore it */ + } + + throw new FileNotFoundException(description + " is a directory"); + } + } + + /** + * Constructor for default channels in, out and err. + * + * Used by init() (native code). + * + * @param fd the file descriptor (0, 1, 2 for stdin, stdout, stderr). + * + * @param mode READ or WRITE + */ + FileChannelImpl (VMChannel ch, int mode) + { + this.mode = mode; + this.description = "descriptor(" + ch.getState() + ")"; + this.ch = ch; + } + + public int available() throws IOException + { + return ch.available(); + } + + private long implPosition() throws IOException + { + return ch.position(); + } + + private void seek(long newPosition) throws IOException + { + ch.seek(newPosition); + } + + private void implTruncate(long size) throws IOException + { + ch.truncate(size); + } + + public void unlock(long pos, long len) throws IOException + { + ch.unlock(pos, len); + } + + public long size () throws IOException + { + return ch.size(); + } + + protected void implCloseChannel() throws IOException + { + ch.close(); + } + + /** + * Makes sure the Channel is properly closed. + */ + protected void finalize() throws IOException + { + if (ch.getState().isValid()) + close(); + } + + public int read (ByteBuffer dst) throws IOException + { + return ch.read(dst); + } + + public int read (ByteBuffer dst, long position) + throws IOException + { + if (position < 0) + throw new IllegalArgumentException ("position: " + position); + long oldPosition = implPosition (); + position (position); + int result = read(dst); + position (oldPosition); + + return result; + } + + public int read() throws IOException + { + return ch.read(); + } + + public long read (ByteBuffer[] dsts, int offset, int length) + throws IOException + { + return ch.readScattering(dsts, offset, length); + } + + public int write (ByteBuffer src) throws IOException + { + return ch.write(src); + } + + public int write (ByteBuffer src, long position) + throws IOException + { + if (position < 0) + throw new IllegalArgumentException ("position: " + position); + + if (!isOpen ()) + throw new ClosedChannelException (); + + if ((mode & WRITE) == 0) + throw new NonWritableChannelException (); + + int result; + long oldPosition; + + oldPosition = implPosition (); + seek (position); + result = write(src); + seek (oldPosition); + + return result; + } + + public void write (int b) throws IOException + { + ch.write(b); + } + + public long write(ByteBuffer[] srcs, int offset, int length) + throws IOException + { + return ch.writeGathering(srcs, offset, length); + } + + public MappedByteBuffer map (FileChannel.MapMode mode, + long position, long size) + throws IOException + { + char nmode = 0; + if (mode == MapMode.READ_ONLY) + { + nmode = 'r'; + if ((this.mode & READ) == 0) + throw new NonReadableChannelException(); + } + else if (mode == MapMode.READ_WRITE || mode == MapMode.PRIVATE) + { + nmode = mode == MapMode.READ_WRITE ? '+' : 'c'; + if ((this.mode & WRITE) != WRITE) + throw new NonWritableChannelException(); + if ((this.mode & READ) != READ) + throw new NonReadableChannelException(); + } + else + throw new IllegalArgumentException ("mode: " + mode); + + if (position < 0 || size < 0 || size > Integer.MAX_VALUE) + throw new IllegalArgumentException ("position: " + position + + ", size: " + size); + return ch.map(nmode, position, (int) size); + } + + /** + * msync with the disk + */ + public void force (boolean metaData) throws IOException + { + if (!isOpen ()) + throw new ClosedChannelException (); + + ch.flush(metaData); + } + + // like transferTo, but with a count of less than 2Gbytes + private int smallTransferTo (long position, int count, + WritableByteChannel target) + throws IOException + { + ByteBuffer buffer; + try + { + // Try to use a mapped buffer if we can. If this fails for + // any reason we'll fall back to using a ByteBuffer. + buffer = map (MapMode.READ_ONLY, position, count); + } + catch (IOException e) + { + buffer = ByteBuffer.allocate (count); + read (buffer, position); + buffer.flip(); + } + + return target.write (buffer); + } + + public long transferTo (long position, long count, + WritableByteChannel target) + throws IOException + { + if (position < 0 + || count < 0) + throw new IllegalArgumentException ("position: " + position + + ", count: " + count); + + if (!isOpen ()) + throw new ClosedChannelException (); + + if ((mode & READ) == 0) + throw new NonReadableChannelException (); + + final int pageSize = 65536; + long total = 0; + + while (count > 0) + { + int transferred + = smallTransferTo (position, (int)Math.min (count, pageSize), + target); + if (transferred < 0) + break; + total += transferred; + position += transferred; + count -= transferred; + } + + return total; + } + + // like transferFrom, but with a count of less than 2Gbytes + private int smallTransferFrom (ReadableByteChannel src, long position, + int count) + throws IOException + { + ByteBuffer buffer = null; + + if (src instanceof FileChannel) + { + try + { + // Try to use a mapped buffer if we can. If this fails + // for any reason we'll fall back to using a ByteBuffer. + buffer = ((FileChannel)src).map (MapMode.READ_ONLY, position, + count); + } + catch (IOException e) + { + } + } + + if (buffer == null) + { + buffer = ByteBuffer.allocate ((int) count); + src.read (buffer); + buffer.flip(); + } + + return write (buffer, position); + } + + public long transferFrom (ReadableByteChannel src, long position, + long count) + throws IOException + { + if (position < 0 + || count < 0) + throw new IllegalArgumentException ("position: " + position + + ", count: " + count); + + if (!isOpen ()) + throw new ClosedChannelException (); + + if ((mode & WRITE) == 0) + throw new NonWritableChannelException (); + + final int pageSize = 65536; + long total = 0; + + while (count > 0) + { + int transferred = smallTransferFrom (src, position, + (int)Math.min (count, pageSize)); + if (transferred < 0) + break; + total += transferred; + position += transferred; + count -= transferred; + } + + return total; + } + + // Shared sanity checks between lock and tryLock methods. + private void lockCheck(long position, long size, boolean shared) + throws IOException + { + if (position < 0 + || size < 0) + throw new IllegalArgumentException ("position: " + position + + ", size: " + size); + + if (!isOpen ()) + throw new ClosedChannelException(); + + if (shared && ((mode & READ) == 0)) + throw new NonReadableChannelException(); + + if (!shared && ((mode & WRITE) == 0)) + throw new NonWritableChannelException(); + } + + public FileLock tryLock (long position, long size, boolean shared) + throws IOException + { + lockCheck(position, size, shared); + + boolean completed = false; + try + { + begin(); + boolean lockable = ch.lock(position, size, shared, false); + completed = true; + return (lockable + ? new FileLockImpl(this, position, size, shared) + : null); + } + finally + { + end(completed); + } + } + + public FileLock lock (long position, long size, boolean shared) + throws IOException + { + lockCheck(position, size, shared); + + boolean completed = false; + try + { + boolean lockable = ch.lock(position, size, shared, true); + completed = true; + return (lockable + ? new FileLockImpl(this, position, size, shared) + : null); + } + finally + { + end(completed); + } + } + + public long position () + throws IOException + { + if (!isOpen ()) + throw new ClosedChannelException (); + + return implPosition (); + } + + public FileChannel position (long newPosition) + throws IOException + { + if (newPosition < 0) + throw new IllegalArgumentException ("newPosition: " + newPosition); + + if (!isOpen ()) + throw new ClosedChannelException (); + + // FIXME note semantics if seeking beyond eof. + // We should seek lazily - only on a write. + seek (newPosition); + return this; + } + + public FileChannel truncate (long size) + throws IOException + { + if (size < 0) + throw new IllegalArgumentException ("size: " + size); + + if (!isOpen ()) + throw new ClosedChannelException (); + + if ((mode & WRITE) == 0) + throw new NonWritableChannelException (); + + if (size < size ()) + implTruncate (size); + + return this; + } + + public String toString() + { + return (super.toString() + + "[ fd: " + ch.getState() + + "; mode: " + Integer.toOctalString(mode) + + "; " + description + " ]"); + } + + /** + * @return The native file descriptor. + * / + public int getNativeFD() + { + return fd; + }*/ +} diff --git a/libjava/classpath/gnu/java/nio/FileLockImpl.java b/libjava/classpath/gnu/java/nio/FileLockImpl.java index 673ca2522df..768906ce973 100644 --- a/libjava/classpath/gnu/java/nio/FileLockImpl.java +++ b/libjava/classpath/gnu/java/nio/FileLockImpl.java @@ -38,8 +38,6 @@ exception statement from your version. */ package gnu.java.nio; -import gnu.java.nio.channels.FileChannelImpl; - import java.io.IOException; import java.nio.channels.FileLock; diff --git a/libjava/classpath/gnu/java/nio/KqueueSelectionKeyImpl.java b/libjava/classpath/gnu/java/nio/KqueueSelectionKeyImpl.java new file mode 100644 index 00000000000..2f93c50cc19 --- /dev/null +++ b/libjava/classpath/gnu/java/nio/KqueueSelectionKeyImpl.java @@ -0,0 +1,189 @@ +/* KqueueSelectionKeyImpl.java -- selection key for kqueue/kevent. + Copyright (C) 2006 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. */ + + +package gnu.java.nio; + + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.SelectableChannel; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.spi.AbstractSelectionKey; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class KqueueSelectionKeyImpl extends AbstractSelectionKey +{ + int interestOps; + int readyOps; + int activeOps = 0; + int key; + int fd; + + /** The selector we were created for. */ + private final KqueueSelectorImpl selector; + + /** The channel we are attached to. */ + private final SelectableChannel channel; + + private final VMChannelOwner natChannel; + + public KqueueSelectionKeyImpl(KqueueSelectorImpl selector, + SelectableChannel channel) + { + this.selector = selector; + this.channel = channel; + natChannel = (VMChannelOwner) channel; + interestOps = 0; + readyOps = 0; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#channel() + */ + //@Override + public SelectableChannel channel() + { + return channel; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#interestOps() + */ + //@Override + public int interestOps() + { + return interestOps; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#interestOps(int) + */ + //@Override + public SelectionKey interestOps(int ops) + { + if (!isValid()) + throw new IllegalStateException("key is invalid"); + if ((ops & ~channel.validOps()) != 0) + throw new IllegalArgumentException("channel does not support all operations"); + + selector.setInterestOps(this, ops); + return this; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#readyOps() + */ + //@Override + public int readyOps() + { + return readyOps; + } + + /* (non-Javadoc) + * @see java.nio.channels.SelectionKey#selector() + */ + //@Override + public Selector selector() + { + return selector; + } + + public String toString() + { + if (!isValid()) + return super.toString() + " [ fd: " + fd + " <> ]"; + return super.toString() + " [ fd: " + fd + " interest ops: {" + + ((interestOps & OP_ACCEPT) != 0 ? " OP_ACCEPT" : "") + + ((interestOps & OP_CONNECT) != 0 ? " OP_CONNECT" : "") + + ((interestOps & OP_READ) != 0 ? " OP_READ" : "") + + ((interestOps & OP_WRITE) != 0 ? " OP_WRITE" : "") + + " }; ready ops: {" + + ((readyOps & OP_ACCEPT) != 0 ? " OP_ACCEPT" : "") + + ((readyOps & OP_CONNECT) != 0 ? " OP_CONNECT" : "") + + ((readyOps & OP_READ) != 0 ? " OP_READ" : "") + + ((readyOps & OP_WRITE) != 0 ? " OP_WRITE" : "") + + " } ]"; + } + + public int hashCode() + { + return fd; + } + + public boolean equals(Object o) + { + if (!(o instanceof KqueueSelectionKeyImpl)) + return false; + KqueueSelectionKeyImpl that = (KqueueSelectionKeyImpl) o; + return that.fd == this.fd && that.channel.equals(this.channel); + } + + + boolean isReadActive() + { + return (activeOps & (OP_READ | OP_ACCEPT)) != 0; + } + + boolean isReadInterested() + { + return (interestOps & (OP_READ | OP_ACCEPT)) != 0; + } + + boolean isWriteActive() + { + return (activeOps & (OP_WRITE | OP_CONNECT)) != 0; + } + + boolean isWriteInterested() + { + return (interestOps & (OP_WRITE | OP_CONNECT)) != 0; + } + + boolean needCommitRead() + { + return isReadActive() == (!isReadInterested()); + } + + boolean needCommitWrite() + { + return isWriteActive() == (!isWriteInterested()); + } +} diff --git a/libjava/classpath/gnu/java/nio/KqueueSelectorImpl.java b/libjava/classpath/gnu/java/nio/KqueueSelectorImpl.java new file mode 100644 index 00000000000..34ca1dc596d --- /dev/null +++ b/libjava/classpath/gnu/java/nio/KqueueSelectorImpl.java @@ -0,0 +1,527 @@ +/* KqueueSelectorImpl.java -- Selector for systems with kqueue event notification. + Copyright (C) 2006 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. */ + + +package gnu.java.nio; + + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.channels.ClosedSelectorException; +import java.nio.channels.SelectableChannel; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.spi.AbstractSelectableChannel; +import java.nio.channels.spi.AbstractSelector; +import java.nio.channels.spi.SelectorProvider; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +/** + * A {@link Selector} implementation that uses the kqueue + * event notification facility. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class KqueueSelectorImpl extends AbstractSelector +{ + // Prepended underscore to field name to make it distinct + // from the method with the similar name. + private static final int _sizeof_struct_kevent; + + private static final int MAX_DOUBLING_CAPACITY = 16384; + private static final int CAP_INCREMENT = 1024; + private static final int INITIAL_CAPACITY; + + static + { + try + { + System.loadLibrary("javanio"); + } + catch (Exception x) + { + x.printStackTrace(); + } + + if (kqueue_supported ()) + _sizeof_struct_kevent = sizeof_struct_kevent(); + else + _sizeof_struct_kevent = -1; + INITIAL_CAPACITY = 16 * _sizeof_struct_kevent; + } + + /** + * Tell if kqueue-based selectors are supported on this system. + * + * @return True if this system has kqueue support, and support for it was + * compiled in to Classpath. + */ + public static native boolean kqueue_supported(); + + /* Our native file descriptor. */ + private int kq; + + private HashMap/**/ keys; + private HashSet/**/ selected; + private Thread blockedThread; + private ByteBuffer events; + + private static final int OP_ACCEPT = SelectionKey.OP_ACCEPT; + private static final int OP_CONNECT = SelectionKey.OP_CONNECT; + private static final int OP_READ = SelectionKey.OP_READ; + private static final int OP_WRITE = SelectionKey.OP_WRITE; + + public KqueueSelectorImpl(SelectorProvider provider) throws IOException + { + super(provider); + kq = implOpen(); + keys = new HashMap/**/(); + events = ByteBuffer.allocateDirect(INITIAL_CAPACITY); + } + + protected void implCloseSelector() throws IOException + { + implClose(kq); + kq = -1; + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#keys() + */ + public Set keys() + { + if (!isOpen()) + throw new ClosedSelectorException(); + + return new HashSet(keys.values()); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#select() + */ + public int select() throws IOException + { + return doSelect(-1); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#select(long) + */ + public int select(long timeout) throws IOException + { + if (timeout == 0) + timeout = -1; + return doSelect(timeout); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#selectedKeys() + */ + public Set selectedKeys() + { + if (!isOpen()) + throw new ClosedSelectorException(); + + return selected; + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#selectNow() + */ + public int selectNow() throws IOException + { + return doSelect(0); + } + + /* (non-Javadoc) + * @see java.nio.channels.Selector#wakeup() + */ + public Selector wakeup() + { + if (blockedThread != null) + blockedThread.interrupt(); + return this; + } + + public String toString() + { + return super.toString() + " [ fd: " + kq + " ]"; + } + + public boolean equals(Object o) + { + if (!(o instanceof KqueueSelectorImpl)) + return false; + + return ((KqueueSelectorImpl) o).kq == kq; + } + + int doSelect(long timeout) throws IOException + { + Set cancelled = cancelledKeys(); + synchronized (cancelled) + { + synchronized (keys) + { + for (Iterator it = cancelled.iterator(); it.hasNext(); ) + { + KqueueSelectionKeyImpl key = (KqueueSelectionKeyImpl) it.next(); + key.interestOps = 0; + } + + int events_size = (2 * _sizeof_struct_kevent) * keys.size(); + int num_events = 0; + + for (Iterator it = keys.entrySet().iterator(); it.hasNext(); ) + { + Map.Entry e = (Map.Entry) it.next(); + KqueueSelectionKeyImpl key = (KqueueSelectionKeyImpl) e.getValue(); + + SelectableChannel ch = key.channel(); + if (ch instanceof VMChannelOwner) + { + if (!((VMChannelOwner) ch).getVMChannel().getState().isValid()) + { + // closed channel; removed from kqueue automatically. + it.remove(); + continue; + } + } + + // If this key is registering a read filter, add it to the buffer. + if (key.needCommitRead()) + { + kevent_set(events, num_events, key.fd, + key.interestOps & (OP_READ | OP_ACCEPT), + key.activeOps & (OP_READ | OP_ACCEPT), key.key); + num_events++; + } + + // If this key is registering a write filter, add it to the buffer. + if (key.needCommitWrite()) + { + kevent_set(events, num_events, key.fd, + key.interestOps & (OP_WRITE | OP_CONNECT), + key.activeOps & (OP_WRITE | OP_CONNECT), key.key); + num_events++; + } + } + events.rewind().limit(events.capacity()); + + //System.out.println("dump of keys to select:"); + //dump_selection_keys(events.duplicate()); + + int n = 0; + try + { + //System.out.println("[" + kq + "] kevent enter selecting from " + keys.size()); + begin(); + blockedThread = Thread.currentThread(); + if (blockedThread.isInterrupted()) + timeout = 0; + n = kevent(kq, events, num_events, + events.capacity() / _sizeof_struct_kevent, timeout); + } + finally + { + end(); + blockedThread = null; + Thread.interrupted(); + //System.out.println("[" + kq + "kevent exit selected " + n); + } + + //System.out.println("dump of keys selected:"); + //dump_selection_keys((ByteBuffer) events.duplicate().limit(n * _sizeof_struct_kevent)); + + // Commit the operations we've just added in the call to kevent. + for (Iterator it = keys.values().iterator(); it.hasNext(); ) + { + KqueueSelectionKeyImpl key = (KqueueSelectionKeyImpl) it.next(); + key.activeOps = key.interestOps; + } + + selected = new HashSet/**/(n); + int x = 0; + for (int i = 0; i < n; i++) + { + events.position(x).limit(x + _sizeof_struct_kevent); + x += _sizeof_struct_kevent; + int y = fetch_key(events.slice()); + KqueueSelectionKeyImpl key = + (KqueueSelectionKeyImpl) keys.get(new Integer(y)); + + if (key == null) + { + System.out.println("WARNING! no key found for selected key " + y); + continue; + } + // Keys that have been cancelled may be returned here; don't + // add them to the selected set. + if (!key.isValid()) + continue; + key.readyOps = ready_ops(events.slice(), key.interestOps); + selected.add(key); + } + + // Finally, remove the cancelled keys. + for (Iterator it = cancelled.iterator(); it.hasNext(); ) + { + KqueueSelectionKeyImpl key = (KqueueSelectionKeyImpl) it.next(); + keys.remove(new Integer(key.key)); + deregister(key); + it.remove(); + } + + reallocateBuffer(); + + return selected.size(); + } + } + } + + protected SelectionKey register(AbstractSelectableChannel channel, + int interestOps, + Object attachment) + { + int native_fd = -1; + try + { + if (channel instanceof VMChannelOwner) + native_fd = ((VMChannelOwner) channel).getVMChannel() + .getState().getNativeFD(); + else + throw new IllegalArgumentException("cannot handle channel type " + + channel.getClass().getName()); + } + catch (IOException ioe) + { + throw new IllegalArgumentException("channel is closed or invalid"); + } + + KqueueSelectionKeyImpl result = new KqueueSelectionKeyImpl(this, channel); + result.interestOps = interestOps; + result.attach(attachment); + result.fd = native_fd; + result.key = System.identityHashCode(result); + synchronized (keys) + { + while (keys.containsKey(new Integer(result.key))) + result.key++; + keys.put(new Integer(result.key), result); + reallocateBuffer(); + } + return result; + } + + void setInterestOps(KqueueSelectionKeyImpl key, int ops) + { + synchronized (keys) + { + key.interestOps = ops; + } + } + + /** + * Reallocate the events buffer. This is the destination buffer for + * events returned by kevent. This method will: + * + * * Grow the buffer if there is insufficent space for all registered + * events. + * * Shrink the buffer if it is more than twice the size needed. + * + */ + private void reallocateBuffer() + { + synchronized (keys) + { + if (events.capacity() < (2 * _sizeof_struct_kevent) * keys.size()) + { + int cap = events.capacity(); + if (cap >= MAX_DOUBLING_CAPACITY) + cap += CAP_INCREMENT; + else + cap = cap << 1; + + events = ByteBuffer.allocateDirect(cap); + } + else if (events.capacity() > 4 * (_sizeof_struct_kevent) * keys.size() + 1 + && events.capacity() > INITIAL_CAPACITY) + { + int cap = events.capacity(); + cap = cap >>> 1; + events = ByteBuffer.allocateDirect(cap); + } + } + } + + //synchronized void updateOps(KqueueSelectionKeyImpl key, int interestOps) + //{ + // updateOps(key, interestOps, 0, false); + //} + + /*void updateOps(KqueueSelectionKeyImpl key, int interestOps, + int activeOps, int fd) + { + //System.out.println(">> updating kqueue selection key:"); + //dump_selection_keys(key.nstate.duplicate()); + //System.out.println("<<"); + synchronized (keys) + { + kevent_set(key.nstate, fd, interestOps, activeOps, key.key); + } + //System.out.println(">> updated kqueue selection key:"); + //dump_selection_keys(key.nstate.duplicate()); + //System.out.println("<<"); + }*/ + + private void dump_selection_keys(ByteBuffer keys) + { + // WARNING! This method is not guaranteed to be portable! This works + // on darwin/x86, but the sizeof and offsetof these fields may be + // different on other platforms! + int i = 0; + keys.order(ByteOrder.nativeOrder()); + while (keys.hasRemaining()) + { + System.out.println("struct kevent { ident: " + + Integer.toString(keys.getInt()) + + " filter: " + + Integer.toHexString(keys.getShort() & 0xFFFF) + + " flags: " + + Integer.toHexString(keys.getShort() & 0xFFFF) + + " fflags: " + + Integer.toHexString(keys.getInt()) + + " data: " + + Integer.toHexString(keys.getInt()) + + " udata: " + + Integer.toHexString(keys.getInt()) + + " }"); + } + } + + /** + * Return the size of a struct kevent on this system. + * + * @return The size of struct kevent. + */ + private static native int sizeof_struct_kevent(); + + /** + * Opens a kqueue descriptor. + * + * @return The new kqueue descriptor. + * @throws IOException If opening fails. + */ + private static native int implOpen() throws IOException; + + /** + * Closes the kqueue file descriptor. + * + * @param kq The kqueue file descriptor. + * @throws IOException + */ + private static native void implClose(int kq) throws IOException; + + /** + * Initialize the specified native state for the given interest ops. + * + * @param nstate The native state structures; in this buffer should be + * the struct kevents created for a key. + * @param fd The file descriptor. If 0, the native FD is unmodified. + * @param interestOps The operations to enable. + * @param key A unique key that will reference the associated key later. + * @param delete Set to true if this event should be deleted from the + * kqueue (if false, this event is added/updated). + */ + private static native void kevent_set(ByteBuffer nstate, int i, int fd, + int interestOps, int activeOps, int key); + + /** + * Poll for events. The source events are stored in events, + * which is also where polled events will be placed. + * + * @param events The events to poll. This buffer is also the destination + * for events read from the queue. + * @param nevents The number of events to poll (that is, the number of + * events in the events buffer). + * @param nout The maximum number of events that may be returned. + * @param timeout The timeout. A timeout of -1 returns immediately; a timeout + * of 0 waits indefinitely. + * @return The number of events read. + */ + private static native int kevent(int kq, ByteBuffer events, int nevents, + int nout, long timeout); + + /** + * Fetch a polled key from a native state buffer. For each kevent key we + * create, we put the native state info (one or more struct + * kevents) in that key's {@link KqueueSelectionKeyImpl#nstate} + * buffer, and place the pointer of the key in the udata field + * of that structure. This method fetches that pointer from the given + * buffer (assumed to be a struct kqueue) and returns it. + * + * @param nstate The buffer containing the struct kqueue to read. + * @return The key object. + */ + private static native int fetch_key(ByteBuffer nstate); + + /** + * Fetch the ready ops of the associated native state. That is, this + * inspects the first argument as a struct kevent, looking + * at its operation (the input is assumed to have been returned via a + * previous call to kevent), and translating that to the + * appropriate Java bit set, based on the second argument. + * + * @param nstate The native state. + * @param interestOps The enabled operations for the key. + * @return The bit set representing the ready operations. + */ + private static native int ready_ops(ByteBuffer nstate, int interestOps); + + /** + * Check if kevent returned EV_EOF for a selection key. + * + * @param nstate The native state. + * @return True if the kevent call returned EOF. + */ + private static native boolean check_eof(ByteBuffer nstate); +} diff --git a/libjava/classpath/gnu/java/nio/NIOSocket.java b/libjava/classpath/gnu/java/nio/NIOSocket.java index 4d812bf44ba..060a3a89c1c 100644 --- a/libjava/classpath/gnu/java/nio/NIOSocket.java +++ b/libjava/classpath/gnu/java/nio/NIOSocket.java @@ -48,30 +48,33 @@ import java.nio.channels.SocketChannel; */ public final class NIOSocket extends Socket { - private PlainSocketImpl impl; private SocketChannelImpl channel; - protected NIOSocket (PlainSocketImpl impl, SocketChannelImpl channel) + protected NIOSocket (SocketChannelImpl channel) throws IOException { - super (impl); - this.impl = impl; + super (new NIOSocketImpl(channel)); this.channel = channel; } - public final PlainSocketImpl getPlainSocketImpl() - { - return impl; - } + //public final PlainSocketImpl getPlainSocketImpl() + //{ + // return impl; + //} - final void setChannel (SocketChannelImpl channel) - { - this.impl = channel.getPlainSocketImpl(); - this.channel = channel; - } + //final void setChannel (SocketChannelImpl channel) + //{ + // this.impl = channel.getPlainSocketImpl(); + // this.channel = channel; + //} public final SocketChannel getChannel() { return channel; } + + public boolean isConnected() + { + return channel.isConnected(); + } } diff --git a/libjava/classpath/gnu/java/nio/NIOSocketImpl.java b/libjava/classpath/gnu/java/nio/NIOSocketImpl.java new file mode 100644 index 00000000000..4b26561a212 --- /dev/null +++ b/libjava/classpath/gnu/java/nio/NIOSocketImpl.java @@ -0,0 +1,110 @@ +/* NIOSocketImpl.java -- subclass of PlainSocketImpl for NIO. + Copyright (C) 2006 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. */ + + +package gnu.java.nio; + +import gnu.java.net.PlainSocketImpl; + +import java.io.IOException; +import java.net.InetAddress; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class NIOSocketImpl extends PlainSocketImpl +{ + + private final SocketChannelImpl channel; + + NIOSocketImpl(SocketChannelImpl channel) throws IOException + { + this.channel = channel; + impl.getState().setChannelFD(channel.getVMChannel().getState()); + } + + /* (non-Javadoc) + * @see java.net.SocketImpl#getInetAddress() + */ + //@Override + protected InetAddress getInetAddress() + { + try + { + return channel.getVMChannel().getPeerAddress().getAddress(); + } + catch (IOException ioe) + { + return null; + } + catch (NullPointerException npe) + { + // Socket is not connected yet. + return null; + } + } + + /* (non-Javadoc) + * @see java.net.SocketImpl#getPort() + */ + //@Override + protected int getPort() + { + try + { + return channel.getVMChannel().getPeerAddress().getPort(); + } + catch (IOException ioe) + { + return -1; + } + catch (NullPointerException npe) + { + // Socket is not connected yet. + return -1; + } + } + + /* (non-Javadoc) + * @see gnu.java.net.PlainSocketImpl#create(boolean) + */ + //@Override + protected synchronized void create(boolean stream) + { + // Ignored; the socket has already been created. + } +} diff --git a/libjava/classpath/gnu/java/nio/PipeImpl.java b/libjava/classpath/gnu/java/nio/PipeImpl.java index cccaa39885f..8a95b9622ae 100644 --- a/libjava/classpath/gnu/java/nio/PipeImpl.java +++ b/libjava/classpath/gnu/java/nio/PipeImpl.java @@ -46,22 +46,21 @@ import java.nio.channels.spi.SelectorProvider; class PipeImpl extends Pipe { public static final class SourceChannelImpl extends Pipe.SourceChannel + implements VMChannelOwner { - private int native_fd; private VMChannel vmch; public SourceChannelImpl (SelectorProvider selectorProvider, - int native_fd) + VMChannel channel) { super (selectorProvider); - this.native_fd = native_fd; - vmch = VMChannel.getVMChannel(this); + vmch = channel; } protected final void implCloseSelectableChannel() throws IOException { - throw new Error ("Not implemented"); + vmch.close(); } protected void implConfigureBlocking (boolean blocking) @@ -94,30 +93,29 @@ class PipeImpl extends Pipe return vmch.readScattering(srcs, offset, len); } - - public final int getNativeFD() + + public VMChannel getVMChannel() { - return native_fd; + return vmch; } } public static final class SinkChannelImpl extends Pipe.SinkChannel + implements VMChannelOwner { - private int native_fd; private VMChannel vmch; public SinkChannelImpl (SelectorProvider selectorProvider, - int native_fd) + VMChannel channel) { super (selectorProvider); - this.native_fd = native_fd; - vmch = VMChannel.getVMChannel(this); + vmch = channel; } protected final void implCloseSelectableChannel() throws IOException { - throw new Error ("Not implemented"); + vmch.close(); } protected final void implConfigureBlocking (boolean blocking) @@ -149,10 +147,10 @@ class PipeImpl extends Pipe return vmch.writeGathering(srcs, offset, len); } - - public final int getNativeFD() + + public VMChannel getVMChannel() { - return native_fd; + return vmch; } } @@ -163,7 +161,9 @@ class PipeImpl extends Pipe throws IOException { super(); - VMPipe.init (this, provider); + VMChannel[] pipe = VMPipe.pipe(); + sink = new SinkChannelImpl(provider, pipe[0]); + source = new SourceChannelImpl(provider, pipe[1]); } public Pipe.SinkChannel sink() diff --git a/libjava/classpath/gnu/java/nio/SelectionKeyImpl.java b/libjava/classpath/gnu/java/nio/SelectionKeyImpl.java index 8745377c58f..c927f319644 100644 --- a/libjava/classpath/gnu/java/nio/SelectionKeyImpl.java +++ b/libjava/classpath/gnu/java/nio/SelectionKeyImpl.java @@ -106,5 +106,6 @@ public abstract class SelectionKeyImpl extends AbstractSelectionKey return impl; } + /* @deprecated */ public abstract int getNativeFD(); } diff --git a/libjava/classpath/gnu/java/nio/SelectorImpl.java b/libjava/classpath/gnu/java/nio/SelectorImpl.java index d0ec4871367..c08478c9968 100644 --- a/libjava/classpath/gnu/java/nio/SelectorImpl.java +++ b/libjava/classpath/gnu/java/nio/SelectorImpl.java @@ -54,8 +54,8 @@ import java.util.Set; public class SelectorImpl extends AbstractSelector { - private Set keys; - private Set selected; + private Set keys; + private Set selected; /** * A dummy object whose monitor regulates access to both our @@ -83,8 +83,8 @@ public class SelectorImpl extends AbstractSelector { super (provider); - keys = new HashSet (); - selected = new HashSet (); + keys = new HashSet (); + selected = new HashSet (); } protected void finalize() throws Throwable @@ -110,7 +110,7 @@ public class SelectorImpl extends AbstractSelector } } - public final Set keys() + public final Set keys() { if (!isOpen()) throw new ClosedSelectorException(); @@ -136,7 +136,7 @@ public class SelectorImpl extends AbstractSelector { int[] result; int counter = 0; - Iterator it = keys.iterator (); + Iterator it = keys.iterator (); // Count the number of file descriptors needed while (it.hasNext ()) @@ -253,7 +253,7 @@ public class SelectorImpl extends AbstractSelector selectThread = null; } - Iterator it = keys.iterator (); + Iterator it = keys.iterator (); while (it.hasNext ()) { @@ -317,7 +317,7 @@ public class SelectorImpl extends AbstractSelector } } - public final Set selectedKeys() + public final Set selectedKeys() { if (!isOpen()) throw new ClosedSelectorException(); @@ -350,10 +350,10 @@ public class SelectorImpl extends AbstractSelector private final void deregisterCancelledKeys() { - Set ckeys = cancelledKeys (); + Set ckeys = cancelledKeys (); synchronized (ckeys) { - Iterator it = ckeys.iterator(); + Iterator it = ckeys.iterator(); while (it.hasNext ()) { diff --git a/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java b/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java index 47521107e90..56167b69ea8 100644 --- a/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java +++ b/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java @@ -37,6 +37,9 @@ exception statement from your version. */ package gnu.java.nio; + +import gnu.classpath.SystemProperties; + import java.io.IOException; import java.nio.channels.DatagramChannel; import java.nio.channels.Pipe; @@ -47,6 +50,11 @@ import java.nio.channels.spi.SelectorProvider; public class SelectorProviderImpl extends SelectorProvider { + private static final String SELECTOR_IMPL_KQUEUE = "kqueue"; + private static final String SELECTOR_IMPL_EPOLL = "epoll"; + private static final String SELECTOR_IMPL = "gnu.java.nio.selectorImpl"; + private static boolean epoll_failed = false; + public SelectorProviderImpl () { } @@ -66,6 +74,35 @@ public class SelectorProviderImpl extends SelectorProvider public AbstractSelector openSelector () throws IOException { + String selectorImpl = "default"; + if (KqueueSelectorImpl.kqueue_supported()) + selectorImpl = SELECTOR_IMPL_KQUEUE; + if (EpollSelectorImpl.epoll_supported() && !epoll_failed) + selectorImpl = SELECTOR_IMPL_EPOLL; + selectorImpl = SystemProperties.getProperty(SELECTOR_IMPL, selectorImpl); + + if (selectorImpl.equals(SELECTOR_IMPL_KQUEUE)) + return new KqueueSelectorImpl(this); + + if (selectorImpl.equals(SELECTOR_IMPL_EPOLL)) + { + // We jump through these hoops because even though epoll may look + // like it's available (sys/epoll.h exists, and you can link against + // all the epoll functions) it may not be available in the kernel + // (especially 2.4 kernels), meaning you will get ENOSYS at run time. + // + // Madness! + try + { + return new EpollSelectorImpl(this); + } + catch (InternalError e) + { + // epoll_create throws this on ENOSYS. + epoll_failed = true; + } + } + return new SelectorImpl (this); } diff --git a/libjava/classpath/gnu/java/nio/ServerSocketChannelImpl.java b/libjava/classpath/gnu/java/nio/ServerSocketChannelImpl.java index c538ea802e1..1e8e0901d7c 100644 --- a/libjava/classpath/gnu/java/nio/ServerSocketChannelImpl.java +++ b/libjava/classpath/gnu/java/nio/ServerSocketChannelImpl.java @@ -48,7 +48,9 @@ import java.nio.channels.SocketChannel; import java.nio.channels.spi.SelectorProvider; public final class ServerSocketChannelImpl extends ServerSocketChannel + implements VMChannelOwner { + private VMChannel channel; private NIOServerSocket serverSocket; private boolean connected; @@ -56,13 +58,15 @@ public final class ServerSocketChannelImpl extends ServerSocketChannel throws IOException { super (provider); - serverSocket = new NIOServerSocket (this); + serverSocket = new NIOServerSocket(this); + channel = serverSocket.getPlainSocketImpl().getVMChannel(); configureBlocking(true); } + // XXX do we need this? public void finalizer() { - if (connected) + if (channel.getState().isValid()) { try { @@ -77,12 +81,12 @@ public final class ServerSocketChannelImpl extends ServerSocketChannel protected void implCloseSelectableChannel () throws IOException { connected = false; - serverSocket.close(); + channel.close(); } protected void implConfigureBlocking (boolean blocking) throws IOException { - serverSocket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT); + channel.setBlocking(blocking); } public SocketChannel accept () throws IOException @@ -98,27 +102,28 @@ public final class ServerSocketChannelImpl extends ServerSocketChannel try { begin(); - serverSocket.getPlainSocketImpl().setInChannelOperation(true); - // indicate that a channel is initiating the accept operation - // so that the socket ignores the fact that we might be in - // non-blocking mode. - NIOSocket socket = (NIOSocket) serverSocket.accept(); - completed = true; - return socket.getChannel(); - } - catch (SocketTimeoutException e) - { - return null; + VMChannel client = channel.accept(); + if (client == null) + return null; + else + { + completed = true; + return new SocketChannelImpl(provider(), client, false); + } } finally { - serverSocket.getPlainSocketImpl().setInChannelOperation(false); end (completed); } } - public ServerSocket socket () + public ServerSocket socket() { return serverSocket; } + + public VMChannel getVMChannel() + { + return channel; + } } diff --git a/libjava/classpath/gnu/java/nio/ServerSocketChannelSelectionKey.java b/libjava/classpath/gnu/java/nio/ServerSocketChannelSelectionKey.java index d00c2b7482a..5b510cb6f4d 100644 --- a/libjava/classpath/gnu/java/nio/ServerSocketChannelSelectionKey.java +++ b/libjava/classpath/gnu/java/nio/ServerSocketChannelSelectionKey.java @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.nio; +import java.io.IOException; import java.nio.channels.spi.AbstractSelectableChannel; public final class ServerSocketChannelSelectionKey @@ -49,10 +50,16 @@ public final class ServerSocketChannelSelectionKey super (channel, selector); } + // FIXME don't use file descriptor integers public int getNativeFD() { - NIOServerSocket socket = - (NIOServerSocket) ((ServerSocketChannelImpl) ch).socket(); - return socket.getPlainSocketImpl().getNativeFD(); + try + { + return ((ServerSocketChannelImpl) ch).getVMChannel().getState().getNativeFD(); + } + catch (IOException ioe) + { + throw new IllegalStateException(ioe); + } } } diff --git a/libjava/classpath/gnu/java/nio/SocketChannelImpl.java b/libjava/classpath/gnu/java/nio/SocketChannelImpl.java index 680eba2f92b..1c563ac097c 100644 --- a/libjava/classpath/gnu/java/nio/SocketChannelImpl.java +++ b/libjava/classpath/gnu/java/nio/SocketChannelImpl.java @@ -39,15 +39,20 @@ exception statement from your version. */ package gnu.java.nio; import gnu.java.net.PlainSocketImpl; +import gnu.java.net.VMPlainSocketImpl; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; +import java.net.SocketException; import java.net.SocketTimeoutException; import java.nio.ByteBuffer; +import java.nio.ReadOnlyBufferException; import java.nio.channels.AlreadyConnectedException; import java.nio.channels.ClosedChannelException; import java.nio.channels.ConnectionPendingException; @@ -61,28 +66,57 @@ import java.nio.channels.UnsupportedAddressTypeException; import java.nio.channels.spi.SelectorProvider; public final class SocketChannelImpl extends SocketChannel + implements VMChannelOwner { - private PlainSocketImpl impl; + private VMChannel channel; + //private PlainSocketImpl impl; private NIOSocket socket; private boolean connectionPending; + private boolean connected; + private InetSocketAddress connectAddress; + + public SocketChannelImpl(boolean create) throws IOException + { + // XXX consider adding security check; this is used by + // PlainSocketImpl. + this(new SelectorProviderImpl(), create); + } + + public SocketChannelImpl(VMChannel channel) throws IOException + { + this(new SelectorProviderImpl(), channel, false); + } + + SocketChannelImpl(SelectorProvider provider) throws IOException + { + this(provider, true); + } - SocketChannelImpl (SelectorProvider provider) + SocketChannelImpl(SelectorProvider provider, boolean create) + throws IOException + { + this(provider, new VMChannel(), create); + } + + SocketChannelImpl(SelectorProvider provider, VMChannel channel, boolean create) throws IOException { super (provider); - impl = new PlainSocketImpl(); - socket = new NIOSocket (impl, this); + this.channel = channel; + if (create) + channel.initSocket(true); + socket = new NIOSocket(this); configureBlocking(true); } - SocketChannelImpl (SelectorProvider provider, + /*SocketChannelImpl (SelectorProvider provider, NIOSocket socket) throws IOException { super (provider); this.impl = socket.getPlainSocketImpl(); this.socket = socket; - } + }*/ public void finalizer() { @@ -98,22 +132,27 @@ public final class SocketChannelImpl extends SocketChannel } } - PlainSocketImpl getPlainSocketImpl() - { - return impl; - } + //PlainSocketImpl getPlainSocketImpl() + //{ + // return null; // XXX + //} - protected void implCloseSelectableChannel () throws IOException + protected void implCloseSelectableChannel() throws IOException { - socket.close(); + channel.close(); } protected void implConfigureBlocking (boolean blocking) throws IOException { - socket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT); + channel.setBlocking(blocking); } public boolean connect (SocketAddress remote) throws IOException + { + return connect(remote, 0); + } + + public boolean connect (SocketAddress remote, int timeout) throws IOException { if (!isOpen()) throw new ClosedChannelException(); @@ -126,79 +165,52 @@ public final class SocketChannelImpl extends SocketChannel if (!(remote instanceof InetSocketAddress)) throw new UnsupportedAddressTypeException(); + + connectAddress = (InetSocketAddress) remote; - if (((InetSocketAddress) remote).isUnresolved()) + if (connectAddress.isUnresolved()) throw new UnresolvedAddressException(); - try - { - socket.getPlainSocketImpl().setInChannelOperation(true); - // indicate that a channel is initiating the accept operation - // so that the socket ignores the fact that we might be in - // non-blocking mode. - - if (isBlocking()) - { - // Do blocking connect. - socket.connect (remote); - return true; - } - - // Do non-blocking connect. - try - { - socket.connect (remote, NIOConstants.DEFAULT_TIMEOUT); - return true; - } - catch (SocketTimeoutException e) - { - connectionPending = true; - return false; - } - } - finally - { - socket.getPlainSocketImpl().setInChannelOperation(false); - } + connected = channel.connect(connectAddress, timeout); + connectionPending = !connected; + return connected; } - - public boolean finishConnect () + + public boolean finishConnect() throws IOException { if (!isOpen()) throw new ClosedChannelException(); - - if (!isConnected() && !connectionPending) - throw new NoConnectionPendingException(); - - if (isConnected()) - return true; - // FIXME: Handle blocking/non-blocking mode. - - Selector selector = provider().openSelector(); - register(selector, SelectionKey.OP_CONNECT); - - if (isBlocking()) + InetSocketAddress remote = channel.getPeerAddress(); + if (remote != null) { - selector.select(); // blocking until channel is connected. connectionPending = false; return true; } - - int ready = selector.selectNow(); // non-blocking - if (ready == 1) - { - connectionPending = false; - return true; - } - + + if (!connectionPending) + throw new NoConnectionPendingException(); + return false; } - public boolean isConnected () + public boolean isConnected() { - return socket.isConnected(); + // Wait until finishConnect is called before transitioning to + // connected. + if (connectionPending) + return false; + try + { + InetSocketAddress remote = channel.getPeerAddress(); + return remote != null; + } + catch (IOException ioe) + { + ioe.printStackTrace(System.out); + return false; + } } public boolean isConnectionPending () @@ -216,52 +228,7 @@ public final class SocketChannelImpl extends SocketChannel if (!isConnected()) throw new NotYetConnectedException(); - byte[] data; - int offset = 0; - InputStream input = socket.getInputStream(); - int available = input.available(); - int len = dst.remaining(); - - if ((! isBlocking()) && available == 0) - return 0; - - if (dst.hasArray()) - { - offset = dst.arrayOffset() + dst.position(); - data = dst.array(); - } - else - { - data = new byte [len]; - } - - int readBytes = 0; - boolean completed = false; - - try - { - begin(); - socket.getPlainSocketImpl().setInChannelOperation(true); - readBytes = input.read (data, offset, len); - completed = true; - } - finally - { - end (completed); - socket.getPlainSocketImpl().setInChannelOperation(false); - } - - if (readBytes > 0) - if (dst.hasArray()) - { - dst.position (dst.position() + readBytes); - } - else - { - dst.put (data, offset, readBytes); - } - - return readBytes; + return channel.read(dst); } public long read (ByteBuffer[] dsts, int offset, int length) @@ -275,61 +242,19 @@ public final class SocketChannelImpl extends SocketChannel || (length < 0) || (length > (dsts.length - offset))) throw new IndexOutOfBoundsException(); - - long readBytes = 0; - - for (int index = offset; index < length; index++) - readBytes += read (dsts [index]); - - return readBytes; + + return channel.readScattering(dsts, offset, length); } - public int write (ByteBuffer src) - throws IOException + public int write(ByteBuffer src) throws IOException { if (!isConnected()) throw new NotYetConnectedException(); - - byte[] data; - int offset = 0; - int len = src.remaining(); - - if (!src.hasArray()) - { - data = new byte [len]; - src.get (data, 0, len); - } - else - { - offset = src.arrayOffset() + src.position(); - data = src.array(); - } - OutputStream output = socket.getOutputStream(); - boolean completed = false; - - try - { - begin(); - socket.getPlainSocketImpl().setInChannelOperation(true); - output.write (data, offset, len); - completed = true; - } - finally - { - end (completed); - socket.getPlainSocketImpl().setInChannelOperation(false); - } - - if (src.hasArray()) - { - src.position (src.position() + len); - } - - return len; + return channel.write(src); } - public long write (ByteBuffer[] srcs, int offset, int length) + public long write(ByteBuffer[] srcs, int offset, int length) throws IOException { if (!isConnected()) @@ -340,12 +265,13 @@ public final class SocketChannelImpl extends SocketChannel || (length < 0) || (length > (srcs.length - offset))) throw new IndexOutOfBoundsException(); - - long writtenBytes = 0; - - for (int index = offset; index < length; index++) - writtenBytes += write (srcs [index]); - return writtenBytes; + return channel.writeGathering(srcs, offset, length); + } + + public VMChannel getVMChannel() + { + // XXX security check? + return channel; } } diff --git a/libjava/classpath/gnu/java/nio/SocketChannelSelectionKey.java b/libjava/classpath/gnu/java/nio/SocketChannelSelectionKey.java index 75b4dfd87e5..9ceebdec90f 100644 --- a/libjava/classpath/gnu/java/nio/SocketChannelSelectionKey.java +++ b/libjava/classpath/gnu/java/nio/SocketChannelSelectionKey.java @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.nio; +import java.io.IOException; import java.nio.channels.spi.AbstractSelectableChannel; public final class SocketChannelSelectionKey @@ -49,10 +50,16 @@ public final class SocketChannelSelectionKey super (channel, selector); } + // FIXME don't use file descriptor integers public int getNativeFD() { - NIOSocket socket = - (NIOSocket) ((SocketChannelImpl) ch).socket(); - return socket.getPlainSocketImpl().getNativeFD(); + try + { + return ((SocketChannelImpl) ch).getVMChannel().getState().getNativeFD(); + } + catch (IOException ioe) + { + throw new IllegalStateException(ioe); + } } } diff --git a/libjava/classpath/gnu/java/nio/SocketChannelSelectionKeyImpl.java b/libjava/classpath/gnu/java/nio/SocketChannelSelectionKeyImpl.java index 30fb2dfba44..31a96ed7d88 100644 --- a/libjava/classpath/gnu/java/nio/SocketChannelSelectionKeyImpl.java +++ b/libjava/classpath/gnu/java/nio/SocketChannelSelectionKeyImpl.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.java.nio; +import java.io.IOException; + /** * @author Michael Barker @@ -63,7 +65,14 @@ public class SocketChannelSelectionKeyImpl extends SelectionKeyImpl */ public int getNativeFD() { - return ch.getPlainSocketImpl().getNativeFD(); + try + { + return ch.getVMChannel().getState().getNativeFD(); + } + catch (IOException ioe) + { + return 0; // FIXME + } } } diff --git a/libjava/classpath/gnu/java/nio/VMChannelOwner.java b/libjava/classpath/gnu/java/nio/VMChannelOwner.java new file mode 100644 index 00000000000..363dea2b214 --- /dev/null +++ b/libjava/classpath/gnu/java/nio/VMChannelOwner.java @@ -0,0 +1,57 @@ +/* NativeFD.java -- interface for Channels that have an underlying file descriptor. + Copyright (C) 2006 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. */ + + +package gnu.java.nio; + +/** + * This interface is meant to be implemented by any {@link Channel} + * implementation we support that uses a platform-specific {@link VMChannel} + * at their core. This is primarily used by {@link Selector} implementations, + * for easier access to the native state. + * + * @author Casey Marshall (csm@gnu.org) + */ +interface VMChannelOwner +{ + /** + * Return the underlying platform-specific Channel instance. + * + * @return The platform channel object. + */ + VMChannel getVMChannel(); +} diff --git a/libjava/classpath/gnu/java/nio/channels/FileChannelImpl.java b/libjava/classpath/gnu/java/nio/channels/FileChannelImpl.java deleted file mode 100644 index ed439e141ef..00000000000 --- a/libjava/classpath/gnu/java/nio/channels/FileChannelImpl.java +++ /dev/null @@ -1,553 +0,0 @@ -/* FileChannelImpl.java -- - Copyright (C) 2002, 2004, 2005, 2006 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. */ - - -package gnu.java.nio.channels; - -import gnu.classpath.Configuration; -import gnu.java.nio.FileLockImpl; -import gnu.java.nio.VMChannel; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.MappedByteBuffer; -import java.nio.channels.ClosedChannelException; -import java.nio.channels.FileChannel; -import java.nio.channels.FileLock; -import java.nio.channels.NonReadableChannelException; -import java.nio.channels.NonWritableChannelException; -import java.nio.channels.ReadableByteChannel; -import java.nio.channels.WritableByteChannel; - -/** - * This file is not user visible ! - * But alas, Java does not have a concept of friendly packages - * so this class is public. - * Instances of this class are created by invoking getChannel - * Upon a Input/Output/RandomAccessFile object. - */ -public final class FileChannelImpl extends FileChannel -{ - // These are mode values for open(). - public static final int READ = 1; - public static final int WRITE = 2; - public static final int APPEND = 4; - - // EXCL is used only when making a temp file. - public static final int EXCL = 8; - public static final int SYNC = 16; - public static final int DSYNC = 32; - - public static FileChannelImpl in; - public static FileChannelImpl out; - public static FileChannelImpl err; - - private static native void init(); - - static - { - if (Configuration.INIT_LOAD_LIBRARY) - { - System.loadLibrary("javanio"); - } - - init(); - - in = new FileChannelImpl(0, READ); - out = new FileChannelImpl(1, WRITE); - err = new FileChannelImpl(2, WRITE); - } - - /** - * This is the actual native file descriptor value - */ - // System's notion of file descriptor. It might seem redundant to - // initialize this given that it is reassigned in the constructors. - // However, this is necessary because if open() throws an exception - // we want to make sure this has the value -1. This is the most - // efficient way to accomplish that. - private int fd = -1; - private VMChannel ch; - - private int mode; - - final String description; - - /* Open a file. MODE is a combination of the above mode flags. */ - /* This is a static factory method, so that VM implementors can decide - * substitute subclasses of FileChannelImpl. */ - public static FileChannelImpl create(File file, int mode) - throws FileNotFoundException - { - return new FileChannelImpl(file, mode); - } - - private FileChannelImpl(File file, int mode) - throws FileNotFoundException - { - String path = file.getPath(); - description = path; - fd = open (path, mode); - this.mode = mode; - this.ch = VMChannel.getVMChannel(this); - - // First open the file and then check if it is a a directory - // to avoid race condition. - if (file.isDirectory()) - { - try - { - close(); - } - catch (IOException e) - { - /* ignore it */ - } - - throw new FileNotFoundException(description + " is a directory"); - } - } - - /** - * Constructor for default channels in, out and err. - * - * Used by init() (native code). - * - * @param fd the file descriptor (0, 1, 2 for stdin, stdout, stderr). - * - * @param mode READ or WRITE - */ - FileChannelImpl (int fd, int mode) - { - this.fd = fd; - this.mode = mode; - this.description = "descriptor(" + fd + ")"; - this.ch = VMChannel.getVMChannel(this); - } - - private native int open (String path, int mode) throws FileNotFoundException; - - public native int available () throws IOException; - private native long implPosition () throws IOException; - private native void seek (long newPosition) throws IOException; - private native void implTruncate (long size) throws IOException; - - public native void unlock (long pos, long len) throws IOException; - - public native long size () throws IOException; - - protected native void implCloseChannel() throws IOException; - - /** - * Makes sure the Channel is properly closed. - */ - protected void finalize() throws IOException - { - if (fd != -1) - close(); - } - - public int read (ByteBuffer dst) throws IOException - { - /* - int result; - byte[] buffer = new byte [dst.remaining ()]; - - result = read (buffer, 0, buffer.length); - - if (result > 0) - dst.put (buffer, 0, result); - - return result; - */ - return ch.read(dst); - } - - public int read (ByteBuffer dst, long position) - throws IOException - { - if (position < 0) - throw new IllegalArgumentException ("position: " + position); - long oldPosition = implPosition (); - position (position); - int result = read(dst); - position (oldPosition); - - return result; - } - - public native int read () - throws IOException; - - public native int read (byte[] buffer, int offset, int length) - throws IOException; - - public long read (ByteBuffer[] dsts, int offset, int length) - throws IOException - { - return ch.readScattering(dsts, offset, length); - } - - public int write (ByteBuffer src) throws IOException - { - return ch.write(src); - } - - public int write (ByteBuffer src, long position) - throws IOException - { - if (position < 0) - throw new IllegalArgumentException ("position: " + position); - - if (!isOpen ()) - throw new ClosedChannelException (); - - if ((mode & WRITE) == 0) - throw new NonWritableChannelException (); - - int result; - long oldPosition; - - oldPosition = implPosition (); - seek (position); - result = write(src); - seek (oldPosition); - - return result; - } - - public native void write (byte[] buffer, int offset, int length) - throws IOException; - - public native void write (int b) throws IOException; - - public long write(ByteBuffer[] srcs, int offset, int length) - throws IOException - { - return ch.writeGathering(srcs, offset, length); - } - - public native MappedByteBuffer mapImpl (char mode, long position, int size) - throws IOException; - - public MappedByteBuffer map (FileChannel.MapMode mode, - long position, long size) - throws IOException - { - char nmode = 0; - if (mode == MapMode.READ_ONLY) - { - nmode = 'r'; - if ((this.mode & READ) == 0) - throw new NonReadableChannelException(); - } - else if (mode == MapMode.READ_WRITE || mode == MapMode.PRIVATE) - { - nmode = mode == MapMode.READ_WRITE ? '+' : 'c'; - if ((this.mode & WRITE) != WRITE) - throw new NonWritableChannelException(); - if ((this.mode & READ) != READ) - throw new NonReadableChannelException(); - } - else - throw new IllegalArgumentException ("mode: " + mode); - - if (position < 0 || size < 0 || size > Integer.MAX_VALUE) - throw new IllegalArgumentException ("position: " + position - + ", size: " + size); - return mapImpl(nmode, position, (int) size); - } - - /** - * msync with the disk - */ - public void force (boolean metaData) throws IOException - { - if (!isOpen ()) - throw new ClosedChannelException (); - - force (); - } - - private native void force (); - - // like transferTo, but with a count of less than 2Gbytes - private int smallTransferTo (long position, int count, - WritableByteChannel target) - throws IOException - { - ByteBuffer buffer; - try - { - // Try to use a mapped buffer if we can. If this fails for - // any reason we'll fall back to using a ByteBuffer. - buffer = map (MapMode.READ_ONLY, position, count); - } - catch (IOException e) - { - buffer = ByteBuffer.allocate (count); - read (buffer, position); - buffer.flip(); - } - - return target.write (buffer); - } - - public long transferTo (long position, long count, - WritableByteChannel target) - throws IOException - { - if (position < 0 - || count < 0) - throw new IllegalArgumentException ("position: " + position - + ", count: " + count); - - if (!isOpen ()) - throw new ClosedChannelException (); - - if ((mode & READ) == 0) - throw new NonReadableChannelException (); - - final int pageSize = 65536; - long total = 0; - - while (count > 0) - { - int transferred - = smallTransferTo (position, (int)Math.min (count, pageSize), - target); - if (transferred < 0) - break; - total += transferred; - position += transferred; - count -= transferred; - } - - return total; - } - - // like transferFrom, but with a count of less than 2Gbytes - private int smallTransferFrom (ReadableByteChannel src, long position, - int count) - throws IOException - { - ByteBuffer buffer = null; - - if (src instanceof FileChannel) - { - try - { - // Try to use a mapped buffer if we can. If this fails - // for any reason we'll fall back to using a ByteBuffer. - buffer = ((FileChannel)src).map (MapMode.READ_ONLY, position, - count); - } - catch (IOException e) - { - } - } - - if (buffer == null) - { - buffer = ByteBuffer.allocate ((int) count); - src.read (buffer); - buffer.flip(); - } - - return write (buffer, position); - } - - public long transferFrom (ReadableByteChannel src, long position, - long count) - throws IOException - { - if (position < 0 - || count < 0) - throw new IllegalArgumentException ("position: " + position - + ", count: " + count); - - if (!isOpen ()) - throw new ClosedChannelException (); - - if ((mode & WRITE) == 0) - throw new NonWritableChannelException (); - - final int pageSize = 65536; - long total = 0; - - while (count > 0) - { - int transferred = smallTransferFrom (src, position, - (int)Math.min (count, pageSize)); - if (transferred < 0) - break; - total += transferred; - position += transferred; - count -= transferred; - } - - return total; - } - - // Shared sanity checks between lock and tryLock methods. - private void lockCheck(long position, long size, boolean shared) - throws IOException - { - if (position < 0 - || size < 0) - throw new IllegalArgumentException ("position: " + position - + ", size: " + size); - - if (!isOpen ()) - throw new ClosedChannelException(); - - if (shared && ((mode & READ) == 0)) - throw new NonReadableChannelException(); - - if (!shared && ((mode & WRITE) == 0)) - throw new NonWritableChannelException(); - } - - public FileLock tryLock (long position, long size, boolean shared) - throws IOException - { - lockCheck(position, size, shared); - - boolean completed = false; - try - { - begin(); - boolean lockable = lock(position, size, shared, false); - completed = true; - return (lockable - ? new FileLockImpl(this, position, size, shared) - : null); - } - finally - { - end(completed); - } - } - - /** Try to acquire a lock at the given position and size. - * On success return true. - * If wait as specified, block until we can get it. - * Otherwise return false. - */ - private native boolean lock(long position, long size, - boolean shared, boolean wait) throws IOException; - - public FileLock lock (long position, long size, boolean shared) - throws IOException - { - lockCheck(position, size, shared); - - boolean completed = false; - try - { - boolean lockable = lock(position, size, shared, true); - completed = true; - return (lockable - ? new FileLockImpl(this, position, size, shared) - : null); - } - finally - { - end(completed); - } - } - - public long position () - throws IOException - { - if (!isOpen ()) - throw new ClosedChannelException (); - - return implPosition (); - } - - public FileChannel position (long newPosition) - throws IOException - { - if (newPosition < 0) - throw new IllegalArgumentException ("newPosition: " + newPosition); - - if (!isOpen ()) - throw new ClosedChannelException (); - - // FIXME note semantics if seeking beyond eof. - // We should seek lazily - only on a write. - seek (newPosition); - return this; - } - - public FileChannel truncate (long size) - throws IOException - { - if (size < 0) - throw new IllegalArgumentException ("size: " + size); - - if (!isOpen ()) - throw new ClosedChannelException (); - - if ((mode & WRITE) == 0) - throw new NonWritableChannelException (); - - if (size < size ()) - implTruncate (size); - - return this; - } - - public String toString() - { - return (this.getClass() - + "[fd=" + fd - + ",mode=" + mode + "," - + description + "]"); - } - - /** - * @return The native file descriptor. - */ - public int getNativeFD() - { - return fd; - } -} diff --git a/libjava/classpath/gnu/java/rmi/server/ActivatableRef.java b/libjava/classpath/gnu/java/rmi/server/ActivatableRef.java index d191c0c1717..e7580bcd79d 100644 --- a/libjava/classpath/gnu/java/rmi/server/ActivatableRef.java +++ b/libjava/classpath/gnu/java/rmi/server/ActivatableRef.java @@ -112,8 +112,10 @@ public class ActivatableRef extends UnicastRef public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternal(in); actId = (ActivationID) in.readObject(); + String type = in.readUTF(); + // XXX handle type.equals("") (null reference) + super.readExternal(in); } /** @@ -121,8 +123,10 @@ public class ActivatableRef extends UnicastRef */ public void writeExternal(ObjectOutput out) throws IOException { - super.writeExternal(out); out.writeObject(actId); + // XXX write a "" if the "nested" reference is a null reference + out.writeUTF("UnicastRef2"); + super.writeExternal(out); } /** diff --git a/libjava/classpath/gnu/java/rmi/server/RMIClassLoaderImpl.java b/libjava/classpath/gnu/java/rmi/server/RMIClassLoaderImpl.java index 2e1e7805531..82f0ff69e4e 100644 --- a/libjava/classpath/gnu/java/rmi/server/RMIClassLoaderImpl.java +++ b/libjava/classpath/gnu/java/rmi/server/RMIClassLoaderImpl.java @@ -1,5 +1,5 @@ /* RMIClassLoaderImpl.java -- FIXME: briefly describe file purpose - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,7 @@ exception statement from your version. */ package gnu.java.rmi.server; +import java.lang.reflect.Proxy; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -186,6 +187,7 @@ public class RMIClassLoaderImpl extends RMIClassLoaderSpi { defaultClassLoader = new MyClassLoader (new URL[] { defaultCodebase }, null, defaultAnnotation); + // XXX using getContextClassLoader here *cannot* be right cacheLoaders.put (new CacheKey (defaultAnnotation, Thread.currentThread().getContextClassLoader()), defaultClassLoader); @@ -216,47 +218,53 @@ public class RMIClassLoaderImpl extends RMIClassLoaderSpi ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException { - ClassLoader loader; - if (defaultLoader == null) - loader = Thread.currentThread().getContextClassLoader(); - else - loader = defaultLoader; - - //try context class loader first try { - return Class.forName(name, false, loader); + if (defaultLoader != null) + return Class.forName(name, false, defaultLoader); } catch (ClassNotFoundException e) { - // class not found in the local classpath + } + + return Class.forName(name, false, getClassLoader(codeBase)); + } + + public Class loadProxyClass(String codeBase, String[] interfaces, + ClassLoader defaultLoader) + throws MalformedURLException, ClassNotFoundException + { + Class clss[] = new Class[interfaces.length]; + + for (int i = 0; i < interfaces.length; i++) + { + clss[i] = loadClass(codeBase, interfaces[i], defaultLoader); } - if (codeBase.length() == 0) //=="" + // Chain all class loaders (they may differ). + ArrayList loaders = new ArrayList(clss.length); + ClassLoader loader = null; + for (int i = 0; i < clss.length; i++) { - loader = defaultClassLoader; + loader = clss[i].getClassLoader(); + if (! loaders.contains(loader)) + { + loaders.add(0, loader); + } } - else + if (loaders.size() > 1) { - loader = getClassLoader(codeBase); + loader = new CombinedClassLoader(loaders); } - if (loader == null) + try { - //do not throw NullPointerException - throw new ClassNotFoundException ("Could not find class (" + name + - ") at codebase (" + codeBase + ")"); + return Proxy.getProxyClass(loader, clss); + } + catch (IllegalArgumentException e) + { + throw new ClassNotFoundException(null, e); } - - return Class.forName(name, false, loader); - } - - public Class loadProxyClass(String codeBase, String[] interfaces, - ClassLoader defaultLoader) - throws MalformedURLException, ClassNotFoundException - { - // FIXME: Implement this. - return null; } /** @@ -272,6 +280,9 @@ public class RMIClassLoaderImpl extends RMIClassLoaderSpi public ClassLoader getClassLoader(String codebase) throws MalformedURLException { + if (codebase == null || codebase.length() == 0) + return Thread.currentThread().getContextClassLoader(); + ClassLoader loader; CacheKey loaderKey = new CacheKey (codebase, Thread.currentThread().getContextClassLoader()); diff --git a/libjava/classpath/gnu/java/rmi/server/RMIObjectInputStream.java b/libjava/classpath/gnu/java/rmi/server/RMIObjectInputStream.java index e76535447be..75f4f120236 100644 --- a/libjava/classpath/gnu/java/rmi/server/RMIObjectInputStream.java +++ b/libjava/classpath/gnu/java/rmi/server/RMIObjectInputStream.java @@ -1,5 +1,5 @@ /* RMIObjectInputStream.java -- - Copyright (c) 1996, 1997, 1998, 1999, 2002, 2004 + Copyright (c) 1996, 1997, 1998, 1999, 2002, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,11 +39,11 @@ exception statement from your version. */ package gnu.java.rmi.server; +import gnu.classpath.VMStackWalker; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectStreamClass; -import java.lang.reflect.Proxy; import java.net.MalformedURLException; import java.rmi.server.RMIClassLoader; import java.util.ArrayList; @@ -57,16 +57,14 @@ public RMIObjectInputStream(InputStream strm) throws IOException { } protected Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException { - String annotation = (String)getAnnotation(); - try { - if(annotation == null) - return (RMIClassLoader.loadClass(desc.getName())); - else - return (RMIClassLoader.loadClass(annotation, desc.getName())); + return RMIClassLoader.loadClass( + (String)getAnnotation(), + desc.getName(), + VMStackWalker.firstNonNullClassLoader()); } - catch (MalformedURLException _) { - throw new ClassNotFoundException(desc.getName()); + catch (MalformedURLException x) { + throw new ClassNotFoundException(desc.getName(), x); } } @@ -81,45 +79,16 @@ protected Object getAnnotation() protected Class resolveProxyClass(String intfs[]) throws IOException, ClassNotFoundException { - String annotation = (String) getAnnotation(); - - Class clss[] = new Class[intfs.length]; - - for (int i = 0; i < intfs.length; i++) - { - if (annotation == null) - clss[i] = RMIClassLoader.loadClass(intfs[i]); - else - clss[i] = RMIClassLoader.loadClass(annotation, intfs[i]); - } - - ClassLoader loader; - - if (clss.length > 0) - { - // Chain all class loaders (they may differ). - ArrayList loaders = new ArrayList(intfs.length); - ClassLoader cx; - for (int i = 0; i < clss.length; i++) - { - cx = clss[i].getClassLoader(); - if (!loaders.contains(cx)) - { - loaders.add(0, cx); - } - } - loader = new CombinedClassLoader(loaders); - } - else - loader = ClassLoader.getSystemClassLoader(); - - try + try { - return Proxy.getProxyClass(loader, clss); + return RMIClassLoader.loadProxyClass( + (String)getAnnotation(), + intfs, + VMStackWalker.firstNonNullClassLoader()); } - catch (IllegalArgumentException e) + catch (MalformedURLException x) { - throw new ClassNotFoundException(null, e); + throw new ClassNotFoundException(null, x); } } diff --git a/libjava/classpath/gnu/java/security/.cvsignore b/libjava/classpath/gnu/java/security/.cvsignore new file mode 100644 index 00000000000..11f6639ebbd --- /dev/null +++ b/libjava/classpath/gnu/java/security/.cvsignore @@ -0,0 +1 @@ +Configuration.java diff --git a/libjava/classpath/gnu/java/security/Engine.java b/libjava/classpath/gnu/java/security/Engine.java index c6271e3f219..44318af8ec7 100644 --- a/libjava/classpath/gnu/java/security/Engine.java +++ b/libjava/classpath/gnu/java/security/Engine.java @@ -79,158 +79,170 @@ public final class Engine /** This class cannot be instantiated. */ private Engine() { } - // Class method. - // ------------------------------------------------------------------------ - /** - * Get the implementation for algorithm for service - * service from provider. The service is e.g. - * "Signature", and the algorithm "DSA". - * - * @param service The service name. + * Return the implementation for algorithm for service service + * from provider. The service is e.g. "Signature", and the algorithm + * "DSA". + * + * @param service The service name. * @param algorithm The name of the algorithm to get. - * @param provider The provider to get the implementation from. - * @return The engine class for the specified algorithm; the object - * returned is typically a subclass of the SPI class for that - * service, but callers should check that this is so. - * @throws NoSuchAlgorithmException If the implementation cannot be - * found or cannot be instantiated. - * @throws InvocationTargetException If the SPI class's constructor - * throws an exception. - * @throws IllegalArgumentException If any of the three arguments are null. + * @param provider The provider to get the implementation from. + * @return The engine class for the specified algorithm; the object returned + * is typically a subclass of the SPI class for that service, but + * callers should check that this is so. + * @throws NoSuchAlgorithmException If the implementation cannot be found or + * cannot be instantiated. + * @throws InvocationTargetException If the SPI class's constructor throws an + * exception. + * @throws IllegalArgumentException If any of the three arguments is null. */ public static Object getInstance(String service, String algorithm, Provider provider) - throws InvocationTargetException, NoSuchAlgorithmException + throws InvocationTargetException, NoSuchAlgorithmException { return getInstance(service, algorithm, provider, NO_ARGS); } /** - * Get the implementation for algorithm for service - * service from provider, passing initArgs to the - * SPI class's constructor (which cannot be null; pass a zero-length - * array if the SPI takes no arguments). The service is e.g. - * "Signature", and the algorithm "DSA". - * - * @param service The service name. + * Return the implementation for algorithm for service service + * from provider, passing initArgs to the SPI class's + * constructor (which cannot be null; pass a zero-length array if the SPI + * takes no arguments). The service is e.g. "Signature", and the algorithm + * "DSA". + * + * @param service The service name. * @param algorithm The name of the algorithm to get. - * @param provider The provider to get the implementation from. - * @param initArgs The arguments to pass to the SPI class's - * constructor (cannot be null). - * @return The engine class for the specified algorithm; the object - * returned is typically a subclass of the SPI class for that - * service, but callers should check that this is so. - * @throws NoSuchAlgorithmException If the implementation cannot be - * found or cannot be instantiated. - * @throws InvocationTargetException If the SPI class's constructor - * throws an exception. - * @throws IllegalArgumentException If any of the four arguments are null. + * @param provider The provider to get the implementation from. + * @param initArgs The arguments to pass to the SPI class's constructor + * (cannot be null). + * @return The engine class for the specified algorithm; the object returned + * is typically a subclass of the SPI class for that service, but + * callers should check that this is so. + * @throws NoSuchAlgorithmException If the implementation cannot be found or + * cannot be instantiated. + * @throws InvocationTargetException If the SPI class's constructor throws an + * exception. + * @throws IllegalArgumentException If any of the four arguments is + * null or if either service, or + * algorithm is an empty string. */ public static Object getInstance(String service, String algorithm, Provider provider, Object[] initArgs) - throws InvocationTargetException, NoSuchAlgorithmException + throws InvocationTargetException, NoSuchAlgorithmException { - if (service != null) - service = service.trim(); + if (service == null) + throw new IllegalArgumentException("service MUST NOT be null"); + service = service.trim(); + if (service.length() == 0) + throw new IllegalArgumentException("service MUST NOT be empty"); + if (algorithm == null) + throw new IllegalArgumentException("algorithm MUST NOT be null"); + algorithm = algorithm.trim(); + if (algorithm.length() == 0) + throw new IllegalArgumentException("algorithm MUST NOT be empty"); + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + if (initArgs == null) + throw new IllegalArgumentException("Constructor's parameters MUST NOT be null"); - if (algorithm != null) - algorithm = algorithm.trim(); - - if (service == null || service.length() == 0 - || algorithm == null || algorithm.length() == 0 - || provider == null || initArgs == null) - throw new IllegalArgumentException(); - - Enumeration enumer = provider.propertyNames(); String key; String alias; int count = 0; boolean algorithmFound = false; - + StringBuilder sb = new StringBuilder(); while (enumer.hasMoreElements()) { key = (String) enumer.nextElement(); - if (key.equalsIgnoreCase(service + "." + algorithm)) { // remove the service portion from the key algorithm = key.substring(service.length() + 1); - algorithmFound = true; break; - } else if (key.equalsIgnoreCase(ALG_ALIAS + service + "." + algorithm)) { - alias = (String) provider.getProperty(key); - if (! algorithm.equalsIgnoreCase(alias)) // does not refer to itself { algorithm = alias; if (count++ > MAX_ALIASES) - throw new NoSuchAlgorithmException("too many aliases"); - + { + sb.append("Algorithm [").append(algorithm) + .append("] of type [").append(service) + .append("] from provider [").append(provider) + .append("] has too many aliases"); + throw new NoSuchAlgorithmException(sb.toString()); + } // need to reset enumeration to now look for the alias enumer = provider.propertyNames(); } } } - + if (! algorithmFound) { - throw new NoSuchAlgorithmException(algorithm); + sb.append("Algorithm [").append(algorithm).append("] of type [") + .append(service).append("] from provider [") + .append(provider).append("] is not found"); + throw new NoSuchAlgorithmException(sb.toString()); } - - - // Find and instantiate the implementation. + + // Find and instantiate the implementation Class clazz = null; ClassLoader loader = provider.getClass().getClassLoader(); Constructor constructor = null; - String error = algorithm; - + String className = provider.getProperty(service + "." + algorithm); + sb.append("Class [").append(className).append("] for algorithm [") + .append(algorithm).append("] of type [").append(service) + .append("] from provider [").append(provider).append("] "); + Throwable cause = null; try { if (loader != null) - clazz = loader.loadClass(provider.getProperty(service+"."+algorithm)); + clazz = loader.loadClass(className); else - clazz = Class.forName(provider.getProperty(service+"."+algorithm)); + clazz = Class.forName(className); constructor = getCompatibleConstructor(clazz, initArgs); return constructor.newInstance(initArgs); } - catch (ClassNotFoundException cnfe) + catch (ClassNotFoundException x) { - error = "class not found: " + algorithm; + sb.append("cannot not be found"); + cause = x; } - catch (IllegalAccessException iae) + catch (IllegalAccessException x) { - error = "illegal access: " + iae.getMessage(); + sb.append("cannot be accessed"); + cause = x; } - catch (InstantiationException ie) + catch (InstantiationException x) { - error = "instantiation exception: " + ie.getMessage(); + sb.append("cannot be instantiated"); + cause = x; } - catch (ExceptionInInitializerError eiie) + catch (ExceptionInInitializerError x) { - error = "exception in initializer: " + eiie.getMessage(); + sb.append("cannot be initialized"); + cause = x; } - catch (SecurityException se) + catch (SecurityException x) { - error = "security exception: " + se.getMessage(); + sb.append("caused a security violation"); + cause = x; } - catch (NoSuchMethodException nsme) + catch (NoSuchMethodException x) { - error = "no appropriate constructor found"; + sb.append("does not have/expose an appropriate constructor"); + cause = x; } - throw new NoSuchAlgorithmException(error); + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Own methods. - // ------------------------------------------------------------------------ - /** * Find a constructor in the given class that can take the specified * argument list, allowing any of which to be null. diff --git a/libjava/classpath/gnu/java/security/Requires.java b/libjava/classpath/gnu/java/security/Requires.java new file mode 100644 index 00000000000..c820336c01e --- /dev/null +++ b/libjava/classpath/gnu/java/security/Requires.java @@ -0,0 +1,59 @@ +/* Requires.java -- mark methods as requiring permission. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.java.security; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.CLASS; +import java.security.Permission; + +/** + * + * + * @author Casey Marshall (csm@gnu.org) + */ +@Documented @Retention(CLASS) @Target(METHOD) +public @interface Requires +{ + Class permissionClass(); + String target(); + String action(); +} diff --git a/libjava/classpath/gnu/java/security/action/GetPropertyAction.java b/libjava/classpath/gnu/java/security/action/GetPropertyAction.java index 2886deb3474..0c8141a4d9b 100644 --- a/libjava/classpath/gnu/java/security/action/GetPropertyAction.java +++ b/libjava/classpath/gnu/java/security/action/GetPropertyAction.java @@ -49,7 +49,7 @@ import java.security.PrivilegedAction; * String port = AccessController.doPrivileged(action); * */ -public class GetPropertyAction implements PrivilegedAction +public class GetPropertyAction implements PrivilegedAction { String name; String value = null; @@ -68,7 +68,7 @@ public class GetPropertyAction implements PrivilegedAction setParameters(propName, defaultValue); } - public Object run() + public String run() { return System.getProperty(name, value); } diff --git a/libjava/classpath/gnu/java/security/action/GetSecurityPropertyAction.java b/libjava/classpath/gnu/java/security/action/GetSecurityPropertyAction.java index 97fa15d03e5..ac928ca336f 100644 --- a/libjava/classpath/gnu/java/security/action/GetSecurityPropertyAction.java +++ b/libjava/classpath/gnu/java/security/action/GetSecurityPropertyAction.java @@ -50,7 +50,7 @@ import java.security.Security; * String passwd = AccessController.doPrivileged(action); * */ -public class GetSecurityPropertyAction implements PrivilegedAction +public class GetSecurityPropertyAction implements PrivilegedAction { private String name; private String value; @@ -83,7 +83,7 @@ public class GetSecurityPropertyAction implements PrivilegedAction return this; } - public Object run() + public String run() { String val = Security.getProperty(name); if (val == null) diff --git a/libjava/classpath/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java b/libjava/classpath/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java index c2650e6a49c..95220236617 100644 --- a/libjava/classpath/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java +++ b/libjava/classpath/gnu/java/security/key/rsa/RSAKeyPairRawCodec.java @@ -81,11 +81,11 @@ public class RSAKeyPairRawCodec * the toByteArray() method on the RSA parameter e. * * - * + * * @param key the key to encode. * @return the Raw format encoding of the designated key. * @exception IllegalArgumentException if the designated key is not an RSA - * one. + * one. */ public byte[] encodePublicKey(PublicKey key) { diff --git a/libjava/classpath/gnu/java/security/util/ByteBufferOutputStream.java b/libjava/classpath/gnu/java/security/util/ByteBufferOutputStream.java new file mode 100644 index 00000000000..be4d0a98d67 --- /dev/null +++ b/libjava/classpath/gnu/java/security/util/ByteBufferOutputStream.java @@ -0,0 +1,118 @@ +/* ByteBufferOutputStream.java -- output stream with a growable underlying + byte buffer. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.java.security.util; + +import java.io.IOException; +import java.io.OutputStream; + +import java.nio.ByteBuffer; + +/** + * An output stream that writes bytes to a ByteBuffer, which will be resized + * if more space is needed. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ByteBufferOutputStream extends OutputStream +{ + private ByteBuffer buffer; + + public ByteBufferOutputStream() + { + this(256); + } + + public ByteBufferOutputStream(int initialCapacity) + { + buffer = ByteBuffer.allocate(initialCapacity); + } + + /* (non-Javadoc) + * @see java.io.OutputStream#write(int) + */ + public @Override synchronized void write(int b) throws IOException + { + if (!buffer.hasRemaining()) + growBuffer(); + buffer.put((byte) b); + } + + public @Override synchronized void write(byte[] b, int offset, int length) + { + if (buffer.remaining() < length) + growBuffer(); + buffer.put(b, offset, length); + } + + public @Override void write(byte[] b) + { + write(b, 0, b.length); + } + + /** + * Get the current state of the buffer. The returned buffer will have + * its position set to zero, its capacity set to the current limit, + * and its limit set to its capacity. + * + * @return The buffer. + */ + public ByteBuffer buffer() + { + return ((ByteBuffer) buffer.duplicate().flip()).slice(); + } + + public String toString() + { + return super.toString() + " [ buffer: " + buffer + " ]"; + } + + private void growBuffer() + { + int newCapacity = buffer.capacity(); + if (newCapacity < 16384) // If the buffer isn't huge yet, double its size + newCapacity = newCapacity << 1; + else // Otherwize, increment by a bit. + newCapacity += 4096; + ByteBuffer newBuffer = ByteBuffer.allocate(newCapacity); + buffer.flip(); + newBuffer.put(buffer); + buffer = newBuffer; + } +} diff --git a/libjava/classpath/gnu/java/util/DoubleEnumeration.java b/libjava/classpath/gnu/java/util/DoubleEnumeration.java index 1fc37f8e0f8..94efb923d2a 100644 --- a/libjava/classpath/gnu/java/util/DoubleEnumeration.java +++ b/libjava/classpath/gnu/java/util/DoubleEnumeration.java @@ -1,5 +1,5 @@ /* gnu.java.util.DoubleEnumeration - Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,7 +63,7 @@ import java.util.NoSuchElementException; * @author Jochen Hoenicke * @author Mark Wielaard (mark@klomp.org) */ -public class DoubleEnumeration implements Enumeration +public class DoubleEnumeration implements Enumeration { /** * This is true as long as one of the enumerations has more @@ -82,17 +82,17 @@ public class DoubleEnumeration implements Enumeration /** * The first enumeration. */ - private Enumeration e1; + private Enumeration e1; /** * The second enumeration. */ - private Enumeration e2; + private Enumeration e2; /** * Creates a new Enumeration combining the given two enumerations. * The enumerations mustn't be accessed by other classes. */ - public DoubleEnumeration(Enumeration e1, Enumeration e2) + public DoubleEnumeration(Enumeration e1, Enumeration e2) { this.e1 = e1; this.e2 = e2; @@ -126,7 +126,7 @@ public class DoubleEnumeration implements Enumeration * element of the second enumeration. If both enumeration don't have * any elements it throws a NoSuchElementException. */ - public Object nextElement() + public T nextElement() { if (!hasMoreElements()) throw new NoSuchElementException(); diff --git a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java index 5702751cf5c..a7e2322b524 100644 --- a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java +++ b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java @@ -72,7 +72,6 @@ import java.util.prefs.BackingStoreException; *
    * * @author Mario Torre - * @version 1.0.1 */ public class GConfBasedPreferences extends AbstractPreferences @@ -136,12 +135,20 @@ public class GConfBasedPreferences absolutePath = absolutePath.substring(0, absolutePath.length() - 1); } + // strip invalid characters + // please, note that all names are unescaped into the native peer + int index = absolutePath.lastIndexOf('/'); + if (index > -1) + { + absolutePath = absolutePath.substring(0, index + 1); + absolutePath = absolutePath + GConfNativePeer.escapeString(name); + } + this.node = this.getRealRoot(isUser) + absolutePath; boolean nodeExist = backend.nodeExist(this.node); this.newNode = !nodeExist; - backend.startWatchingNode(this.node); } /** @@ -156,7 +163,15 @@ public class GConfBasedPreferences // we don't check anything here, if the node is a new node this will be // detected in the constructor, so we simply return a new reference to // the requested node. - return new GConfBasedPreferences(this, name, this.isUser); + + GConfBasedPreferences preferenceNode + = new GConfBasedPreferences(this, name, this.isUser); + + // register the node for to GConf so that it can listen + // events outside the scope of the application + backend.startWatchingNode(this.node); + + return preferenceNode; } /** @@ -365,6 +380,10 @@ public class GConfBasedPreferences { String nodeName = ""; + // strip key + // please, note that all names are unescaped into the native peer + key = GConfNativePeer.escapeString(key); + if (this.node.endsWith("/")) { nodeName = this.node + key; @@ -373,7 +392,7 @@ public class GConfBasedPreferences { nodeName = this.node + "/" + key; } - + return nodeName; } diff --git a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java index f1cb6278767..6049863e916 100644 --- a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java +++ b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java @@ -45,7 +45,6 @@ import java.util.prefs.BackingStoreException; * Native peer for GConf based preference backend. * * @author Mario Torre - * @version 1.0.1 */ public final class GConfNativePeer { @@ -150,7 +149,7 @@ public final class GConfNativePeer */ public List getKeys(String node) throws BackingStoreException { - return gconf_client_gconf_client_all_keys(node); + return gconf_client_all_keys(node); } /** @@ -162,9 +161,25 @@ public final class GConfNativePeer */ public List getChildrenNodes(String node) throws BackingStoreException { - return gconf_client_gconf_client_all_nodes(node); + return gconf_client_all_nodes(node); } + /** + * Escape the given string so the it is a valid GConf name. + */ + public static String escapeString(String plain) + { + return gconf_escape_key(plain); + } + + /** + * Unescape a string escaped with {@link #escapeString}. + */ + public static String unescapeString(String escaped) + { + return gconf_unescape_key(escaped); + } + /** * Suggest to the backend GConf daemon to synch with the database. */ @@ -270,8 +285,9 @@ public final class GConfNativePeer * Suggest to the GConf native peer a sync with the database. * */ - native static final protected void gconf_client_suggest_sync(); - + native static final protected void gconf_client_suggest_sync() + throws BackingStoreException; + /** * Returns a list of all nodes under the given node. * @@ -279,8 +295,9 @@ public final class GConfNativePeer * @return A list of nodes under the given source node. */ native - static final protected List gconf_client_gconf_client_all_nodes(String node); - + static final protected List gconf_client_all_nodes(String node) + throws BackingStoreException; + /** * Returns a list of all keys stored in the given node. * @@ -288,8 +305,28 @@ public final class GConfNativePeer * @return A list of all keys stored in the given node. */ native - static final protected List gconf_client_gconf_client_all_keys(String node); + static final protected List gconf_client_all_keys(String node) + throws BackingStoreException; + /** + * Escape the input String so that it's a valid element for GConf. + * + * @param plain the String to escape. + * @return An escaped String for use with GConf. + */ + native + static final protected String gconf_escape_key(String plain); + + /** + * Converts a string escaped with gconf_escape_key back into its + * original form. + * + * @param escaped key as returned by gconf_escape_key + * @return An unescaped key. + */ + native + static final protected String gconf_unescape_key(String escaped); + static { System.loadLibrary("gconfpeer"); diff --git a/libjava/classpath/gnu/java/util/regex/CharIndexed.java b/libjava/classpath/gnu/java/util/regex/CharIndexed.java index 6cd857e3bc0..27e07b2f8ff 100644 --- a/libjava/classpath/gnu/java/util/regex/CharIndexed.java +++ b/libjava/classpath/gnu/java/util/regex/CharIndexed.java @@ -76,6 +76,13 @@ public interface CharIndexed { */ boolean move(int index); + /** + * Shifts the input buffer by a given number of positions. Returns + * true if the new cursor position is valid or cursor position is at + * the end of input. + */ + boolean move1(int index); // I cannot think of a better name for this. + /** * Returns true if the most recent move() operation placed the cursor * position at a valid position in the input. @@ -104,6 +111,16 @@ public interface CharIndexed { */ REMatch getLastMatch(); + /** + * Sets the information used for hitEnd(). + */ + void setHitEnd(REMatch match); + + /** + * Returns whether the matcher has hit the end of input. + */ + boolean hitEnd(); + /** * Returns the anchor. */ diff --git a/libjava/classpath/gnu/java/util/regex/CharIndexedCharSequence.java b/libjava/classpath/gnu/java/util/regex/CharIndexedCharSequence.java index 2eb753b0f5c..8a0578eb80f 100644 --- a/libjava/classpath/gnu/java/util/regex/CharIndexedCharSequence.java +++ b/libjava/classpath/gnu/java/util/regex/CharIndexedCharSequence.java @@ -62,6 +62,10 @@ class CharIndexedCharSequence implements CharIndexed, Serializable { return ((anchor += index) < len); } + public boolean move1(int index) { + return ((anchor += index) <= len); + } + public CharIndexed lookBehind(int index, int length) { if (length > (anchor + index)) length = anchor + index; return new CharIndexedCharSequence(s, anchor + index - length); @@ -77,6 +81,15 @@ class CharIndexedCharSequence implements CharIndexed, Serializable { lastMatch.anchor = anchor; } public REMatch getLastMatch() { return lastMatch; } + + private int rightmostTriedPosition = 0; + public void setHitEnd(REMatch match) { + int pos = anchor + match.index; + if (pos > rightmostTriedPosition) rightmostTriedPosition = pos; + } + public boolean hitEnd() { return rightmostTriedPosition >= len; } + public int getAnchor() { return anchor; } public void setAnchor(int anchor) { this.anchor = anchor; } + } diff --git a/libjava/classpath/gnu/java/util/regex/CharIndexedInputStream.java b/libjava/classpath/gnu/java/util/regex/CharIndexedInputStream.java index 77cd1abd5cc..844fada51fc 100644 --- a/libjava/classpath/gnu/java/util/regex/CharIndexedInputStream.java +++ b/libjava/classpath/gnu/java/util/regex/CharIndexedInputStream.java @@ -166,6 +166,16 @@ class CharIndexedInputStream implements CharIndexed { "difficult to support getLastMatch for an input stream"); } + public void setHitEnd(REMatch match) { + throw new UnsupportedOperationException( + "difficult to support setHitEnd for an input stream"); + } + + public boolean hitEnd() { + throw new UnsupportedOperationException( + "difficult to support hitEnd for an input stream"); + } + public int getAnchor() { throw new UnsupportedOperationException( "difficult to support getAnchor for an input stream"); @@ -176,6 +186,10 @@ class CharIndexedInputStream implements CharIndexed { "difficult to support setAnchor for an input stream"); } + public boolean move1(int index) { + throw new UnsupportedOperationException( + "difficult to support move1 for an input stream"); + } } diff --git a/libjava/classpath/gnu/java/util/regex/RE.java b/libjava/classpath/gnu/java/util/regex/RE.java index 1aab3b781a2..09ff74b908f 100644 --- a/libjava/classpath/gnu/java/util/regex/RE.java +++ b/libjava/classpath/gnu/java/util/regex/RE.java @@ -130,7 +130,11 @@ public class RE extends REToken { private static final String VERSION = "1.1.5-dev"; // The localized strings are kept in a separate file - private static ResourceBundle messages = PropertyResourceBundle.getBundle("gnu/java/util/regex/MessagesBundle", Locale.getDefault()); + // Used by getLocalizedMessage(). + private static ResourceBundle messages; + + // Name of the bundle that contains the localized messages. + private static final String bundle = "gnu/java/util/regex/MessagesBundle"; // These are, respectively, the first and last tokens in our linked list // If there is only one token, firstToken == lastToken @@ -252,6 +256,13 @@ public class RE extends REToken { */ public static final int REG_ICASE_USASCII = 0x0800; + /** + * Execution flag. + * Do not move the position at which the search begins. If not set, + * the starting position will be moved until a match is found. + */ + public static final int REG_FIX_STARTING_POSITION = 0x1000; + /** Returns a string representing the version of the gnu.regexp package. */ public static final String version() { return VERSION; @@ -259,6 +270,8 @@ public class RE extends REToken { // Retrieves a message from the ResourceBundle static final String getLocalizedMessage(String key) { + if (messages == null) + messages = PropertyResourceBundle.getBundle(bundle, Locale.getDefault()); return messages.getString(key); } @@ -1643,6 +1656,7 @@ public class RE extends REToken { /* Implements abstract method REToken.match() */ boolean match(CharIndexed input, REMatch mymatch) { + input.setHitEnd(mymatch); if (firstToken == null) { return next(input, mymatch); } @@ -1720,15 +1734,23 @@ public class RE extends REToken { REMatch getMatchImpl(CharIndexed input, int anchor, int eflags, StringBuffer buffer) { boolean tryEntireMatch = ((eflags & REG_TRY_ENTIRE_MATCH) != 0); + boolean doMove = ((eflags & REG_FIX_STARTING_POSITION) == 0); RE re = (tryEntireMatch ? (RE) this.clone() : this); if (tryEntireMatch) { - re.chain(new RETokenEnd(0, null)); + RETokenEnd reEnd = new RETokenEnd(0, null); + reEnd.setFake(true); + re.chain(reEnd); } // Create a new REMatch to hold results REMatch mymatch = new REMatch(numSubs, anchor, eflags); do { + /* The following potimization is commented out because + the matching should be tried even if the length of + input is obviously too short in order that + java.util.regex.Matcher#hitEnd() may work correctly. // Optimization: check if anchor + minimumLength > length if (minimumLength == 0 || input.charAt(minimumLength-1) != CharIndexed.OUT_OF_BOUNDS) { + */ if (re.match(input, mymatch)) { REMatch best = mymatch; // We assume that the match that coms first is the best. @@ -1749,13 +1771,17 @@ public class RE extends REToken { input.setLastMatch(best); return best; } - } + /* End of the optimization commented out + } + */ mymatch.clear(++anchor); // Append character to buffer if needed if (buffer != null && input.charAt(0) != CharIndexed.OUT_OF_BOUNDS) { buffer.append(input.charAt(0)); } - } while (input.move(1)); + // java.util.regex.Matcher#hitEnd() requires that the search should + // be tried at the end of input, so we use move1(1) instead of move(1) + } while (doMove && input.move1(1)); // Special handling at end of input for e.g. "$" if (minimumLength == 0) { diff --git a/libjava/classpath/gnu/java/util/regex/REMatch.java b/libjava/classpath/gnu/java/util/regex/REMatch.java index 3ff5ad794b8..d8994829323 100644 --- a/libjava/classpath/gnu/java/util/regex/REMatch.java +++ b/libjava/classpath/gnu/java/util/regex/REMatch.java @@ -307,12 +307,12 @@ public final class REMatch implements Serializable, Cloneable { } /* The following are used for debugging purpose - static String d(REMatch m) { + public static String d(REMatch m) { if (m == null) return "null"; else return "[" + m.index + "]"; } - String substringUptoIndex(CharIndexed input) { + public String substringUptoIndex(CharIndexed input) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < index; i++) { sb.append(input.charAt(i)); diff --git a/libjava/classpath/gnu/java/util/regex/RESyntax.java b/libjava/classpath/gnu/java/util/regex/RESyntax.java index b66b32f5878..db11e2db450 100644 --- a/libjava/classpath/gnu/java/util/regex/RESyntax.java +++ b/libjava/classpath/gnu/java/util/regex/RESyntax.java @@ -54,8 +54,6 @@ import java.util.BitSet; public final class RESyntax implements Serializable { static final String DEFAULT_LINE_SEPARATOR = System.getProperty("line.separator"); - private static final String SYNTAX_IS_FINAL = RE.getLocalizedMessage("syntax.final"); - private BitSet bits; // true for the constant defined syntaxes @@ -513,7 +511,8 @@ public final class RESyntax implements Serializable { * @return a reference to this object for easy chaining. */ public RESyntax set(int index) { - if (isFinal) throw new IllegalAccessError(SYNTAX_IS_FINAL); + if (isFinal) + throw new IllegalAccessError(RE.getLocalizedMessage("syntax.final")); bits.set(index); return this; } @@ -525,7 +524,8 @@ public final class RESyntax implements Serializable { * @return a reference to this object for easy chaining. */ public RESyntax clear(int index) { - if (isFinal) throw new IllegalAccessError(SYNTAX_IS_FINAL); + if (isFinal) + throw new IllegalAccessError(RE.getLocalizedMessage("syntax.final")); bits.clear(index); return this; } @@ -548,7 +548,8 @@ public final class RESyntax implements Serializable { * @return this object for convenient chaining */ public RESyntax setLineSeparator(String aSeparator) { - if (isFinal) throw new IllegalAccessError(SYNTAX_IS_FINAL); + if (isFinal) + throw new IllegalAccessError(RE.getLocalizedMessage("syntax.final")); lineSeparator = aSeparator; return this; } diff --git a/libjava/classpath/gnu/java/util/regex/REToken.java b/libjava/classpath/gnu/java/util/regex/REToken.java index 155c01878e8..9affd4ee3c9 100644 --- a/libjava/classpath/gnu/java/util/regex/REToken.java +++ b/libjava/classpath/gnu/java/util/regex/REToken.java @@ -72,6 +72,16 @@ abstract class REToken implements Serializable, Cloneable { /** Returns true if the match succeeded, false if it failed. */ boolean match(CharIndexed input, REMatch mymatch) { + return match(input, mymatch, false); + } + boolean matchFake(CharIndexed input, REMatch mymatch) { + return match(input, mymatch, true); + } + + private boolean match(CharIndexed input, REMatch mymatch, boolean fake) { + if (!fake) { + setHitEnd(input, mymatch); + } REMatch m = matchThis(input, mymatch); if (m == null) return false; if (next(input, m)) { @@ -81,6 +91,11 @@ abstract class REToken implements Serializable, Cloneable { return false; } + /** Sets whether the matching occurs at the end of input */ + void setHitEnd(CharIndexed input, REMatch mymatch) { + input.setHitEnd(mymatch); + } + /** Returns true if the match succeeded, false if it failed. * The matching is done against this REToken only. Chained * tokens are not checked. diff --git a/libjava/classpath/gnu/java/util/regex/RETokenChar.java b/libjava/classpath/gnu/java/util/regex/RETokenChar.java index 92d3efcf85b..b70e6b1d843 100644 --- a/libjava/classpath/gnu/java/util/regex/RETokenChar.java +++ b/libjava/classpath/gnu/java/util/regex/RETokenChar.java @@ -58,15 +58,20 @@ final class RETokenChar extends REToken { } REMatch matchThis(CharIndexed input, REMatch mymatch) { - int z = ch.length; if (matchOneString(input, mymatch.index)) { - mymatch.index += z; + mymatch.index += matchedLength; return mymatch; } + // java.util.regex.Matcher#hitEnd() requires that the length of + // partial match be counted. + mymatch.index += matchedLength; + input.setHitEnd(mymatch); return null; } - boolean matchOneString(CharIndexed input, int index) { + private int matchedLength; + private boolean matchOneString(CharIndexed input, int index) { + matchedLength = 0; int z = ch.length; char c; for (int i=0; i out.length - outOff) throw new ShortBufferException(); @@ -447,16 +465,21 @@ class CipherAdapter break; case IMode.DECRYPTION: int padLen; + byte[] buf3 = new byte[buf.length + partLen]; try { - padLen = pad.unpad(buf, 0, buf.length); + if (partLen != mode.currentBlockSize()) + throw new WrongPaddingException(); + System.arraycopy(buf, 0, buf3, 0, buf.length); + mode.update(partBlock, 0, buf3, buf.length); + padLen = pad.unpad(buf3, 0, buf3.length); } catch (WrongPaddingException wpe) { throw new BadPaddingException(wpe.getMessage()); } - result = new byte[buf.length - padLen]; - System.arraycopy(buf, 0, result, 0, result.length); + result = new byte[buf3.length - padLen]; + System.arraycopy(buf3, 0, result, 0, result.length); break; default: throw new IllegalStateException(); diff --git a/libjava/classpath/gnu/javax/crypto/key/GnuPBEKey.java b/libjava/classpath/gnu/javax/crypto/key/GnuPBEKey.java new file mode 100644 index 00000000000..6f4bcb1b37e --- /dev/null +++ b/libjava/classpath/gnu/javax/crypto/key/GnuPBEKey.java @@ -0,0 +1,95 @@ +/* GnuPBEKey.java -- A password-based encryption key. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.crypto.key; + +import javax.crypto.interfaces.PBEKey; +import javax.crypto.spec.PBEKeySpec; + +/** + * An implementation of a password-based encryption key. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class GnuPBEKey + implements PBEKey +{ + private final PBEKeySpec spec; + + public GnuPBEKey (final PBEKeySpec spec) + { + if (spec == null) + throw new NullPointerException (); + this.spec = spec; + } + + public GnuPBEKey (char[] password, byte[] salt, int iterationCount) + { + this (new PBEKeySpec (password, salt, iterationCount)); + } + + public int getIterationCount () + { + return spec.getIterationCount (); + } + + public char[] getPassword () + { + return spec.getPassword (); + } + + public byte[] getSalt () + { + return spec.getSalt (); + } + + public String getAlgorithm () + { + return "PBE"; + } + + public String getFormat () + { + return "NONE"; // FIXME? + } + + public byte[] getEncoded () + { + return null; // FIXME? + } +} diff --git a/libjava/classpath/gnu/javax/crypto/pad/PKCS7.java b/libjava/classpath/gnu/javax/crypto/pad/PKCS7.java index bef1784eeb3..8fce5b8b0c6 100644 --- a/libjava/classpath/gnu/javax/crypto/pad/PKCS7.java +++ b/libjava/classpath/gnu/javax/crypto/pad/PKCS7.java @@ -100,8 +100,8 @@ public final class PKCS7 throws WrongPaddingException { int limit = offset + length; - int result = in[limit - 1] & 0xFF; - for (int i = 0; i < result; i++) + int result = in[--limit] & 0xFF; + for (int i = 0; i < result - 1; i++) if (result != (in[--limit] & 0xFF)) throw new WrongPaddingException(); if (Configuration.DEBUG) diff --git a/libjava/classpath/gnu/javax/management/Server.java b/libjava/classpath/gnu/javax/management/Server.java new file mode 100644 index 00000000000..5501b4af7c0 --- /dev/null +++ b/libjava/classpath/gnu/javax/management/Server.java @@ -0,0 +1,2200 @@ +/* Server.java -- A GNU Classpath management server. + Copyright (C) 2006 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. */ + +package gnu.javax.management; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectStreamClass; +import java.io.StreamCorruptedException; + +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import javax.management.Attribute; +import javax.management.AttributeList; +import javax.management.AttributeNotFoundException; +import javax.management.BadAttributeValueExpException; +import javax.management.BadBinaryOpValueExpException; +import javax.management.BadStringOperationException; +import javax.management.DynamicMBean; +import javax.management.InstanceAlreadyExistsException; +import javax.management.InstanceNotFoundException; +import javax.management.IntrospectionException; +import javax.management.InvalidApplicationException; +import javax.management.InvalidAttributeValueException; +import javax.management.ListenerNotFoundException; +import javax.management.MalformedObjectNameException; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanPermission; +import javax.management.MBeanRegistration; +import javax.management.MBeanRegistrationException; +import javax.management.MBeanServer; +import javax.management.MBeanServerDelegate; +import javax.management.MBeanTrustPermission; +import javax.management.NotCompliantMBeanException; +import javax.management.Notification; +import javax.management.NotificationBroadcaster; +import javax.management.NotificationEmitter; +import javax.management.NotificationFilter; +import javax.management.NotificationListener; +import javax.management.ObjectInstance; +import javax.management.ObjectName; +import javax.management.OperationsException; +import javax.management.QueryExp; +import javax.management.ReflectionException; +import javax.management.RuntimeOperationsException; +import javax.management.StandardMBean; + +import javax.management.loading.ClassLoaderRepository; + +/** + * This class provides an {@link javax.management.MBeanServer} + * implementation for GNU Classpath. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class Server + implements MBeanServer +{ + + /** + * The name of the delegate bean. + */ + private static final ObjectName DELEGATE_NAME; + + /** + * The registered beans, represented as a map of + * {@link javax.management.ObjectName}s to + * {@link java.lang.Object}s. + */ + private final Map beans = new HashMap(); + + /** + * The default domain. + */ + private String defaultDomain; + + /** + * The outer server. + */ + private MBeanServer outer; + + /** + * The class loader repository. + */ + private ClassLoaderRepository repository; + + /** + * The map of listener delegates to the true + * listener. + */ + private Map listeners; + + /** + * Initialise the delegate name. + */ + static + { + try + { + DELEGATE_NAME = + new ObjectName("JMImplementation:type=MBeanServerDelegate"); + } + catch (MalformedObjectNameException e) + { + throw (Error) + (new InternalError("Failed to construct " + + "the delegate's object name.").initCause(e)); + } + } + + /** + * Constructs a new management server using the specified + * default domain, delegate bean and outer server. + * + * @param domain the default domain to use for beans constructed + * with no specified domain. + * @param outer an {@link javax.management.MBeanServer} to pass + * to beans implementing the {@link MBeanRegistration} + * interface, or null if this + * should be passed. + * @param delegate the delegate bean for this server. + */ + public Server(String defaultDomain, MBeanServer outer, + MBeanServerDelegate delegate) + { + this.defaultDomain = defaultDomain; + this.outer = outer; + try + { + registerMBean(delegate, DELEGATE_NAME); + } + catch (InstanceAlreadyExistsException e) + { + throw (Error) + (new InternalError("The delegate bean is " + + "already registered.").initCause(e)); + } + catch (MBeanRegistrationException e) + { + throw (Error) + (new InternalError("The delegate bean's preRegister " + + "methods threw an exception.").initCause(e)); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("The delegate bean is " + + "not compliant.").initCause(e)); + } + } + + /** + * Checks for the necessary security privileges to perform an + * operation. + * + * @param name the name of the bean being accessed. + * @param member the name of the operation or attribute being + * accessed, or null if one is not + * involved. + * @param action the action being performed. + * @throws SecurityException if the action is denied. + */ + private void checkSecurity(ObjectName name, String member, + String action) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + try + { + MBeanInfo info = null; + if (name != null) + { + Object bean = getBean(name); + Method method = bean.getClass().getMethod("getMBeanInfo", null); + info = (MBeanInfo) method.invoke(bean, null); + } + sm.checkPermission(new MBeanPermission((info == null) ? + null : info.getClassName(), + member, name, action)); + } + catch (InstanceNotFoundException e) + { + throw (Error) + (new InternalError("Failed to get bean.").initCause(e)); + } + catch (NoSuchMethodException e) + { + throw (Error) + (new InternalError("Failed to get bean info.").initCause(e)); + } + catch (IllegalAccessException e) + { + throw (Error) + (new InternalError("Failed to get bean info.").initCause(e)); + } + catch (IllegalArgumentException e) + { + throw (Error) + (new InternalError("Failed to get bean info.").initCause(e)); + } + catch (InvocationTargetException e) + { + throw (Error) + (new InternalError("Failed to get bean info.").initCause(e)); + } + } + + /** + * Retrieves the specified bean. + * + * @param name the name of the bean. + * @return the bean. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + */ + private Object getBean(ObjectName name) + throws InstanceNotFoundException + { + ServerInfo bean = (ServerInfo) beans.get(name); + if (bean == null) + throw new InstanceNotFoundException("The bean, " + name + + ", was not found."); + return bean.getObject(); + } + + /** + * Registers the supplied listener with the specified management + * bean. Notifications emitted by the management bean are forwarded + * to the listener via the server, which will convert an MBean + * references in the source to a portable {@link ObjectName} + * instance. The notification is otherwise unchanged. + * + * @param name the name of the management bean with which the listener + * should be registered. + * @param listener the listener which will handle notifications from + * the bean. + * @param filter the filter to apply to incoming notifications, or + * null if no filtering should be applied. + * @param passback an object to be passed to the listener when a + * notification is emitted. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "addNotificationListener")}. + * @see #removeNotificationListener(ObjectName, NotificationListener) + * @see #removeNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationBroadcaster#addNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + public void addNotificationListener(ObjectName name, NotificationListener listener, + NotificationFilter filter, Object passback) + throws InstanceNotFoundException + { + Object bean = getBean(name); + checkSecurity(name, null, "addNotificationListener"); + if (bean instanceof NotificationBroadcaster) + { + NotificationBroadcaster bbean = (NotificationBroadcaster) bean; + if (listeners == null) + listeners = new HashMap(); + NotificationListener indirection = new ServerNotificationListener(bean, name, + listener); + bbean.addNotificationListener(indirection, filter, passback); + listeners.put(listener, indirection); + } + } + + /** + *

    + * Registers the supplied listener with the specified management + * bean. Notifications emitted by the management bean are forwarded + * to the listener via the server, which will convert any MBean + * references in the source to portable {@link ObjectName} + * instances. The notification is otherwise unchanged. + *

    + *

    + * The listener that receives notifications will be the one that is + * registered with the given name at the time this method is called. + * Even if it later unregisters and ceases to use that name, it will + * still receive notifications. + *

    + * + * @param name the name of the management bean with which the listener + * should be registered. + * @param listener the name of the listener which will handle + * notifications from the bean. + * @param filter the filter to apply to incoming notifications, or + * null if no filtering should be applied. + * @param passback an object to be passed to the listener when a + * notification is emitted. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + * @throws RuntimeOperationsException if the bean associated with the given + * object name is not a + * {@link NotificationListener}. This + * exception wraps an + * {@link IllegalArgumentException}. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "addNotificationListener")}. + * @see #removeNotificationListener(ObjectName, NotificationListener) + * @see #removeNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationBroadcaster#addNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + public void addNotificationListener(ObjectName name, ObjectName listener, + NotificationFilter filter, Object passback) + throws InstanceNotFoundException + { + Object lbean = getBean(listener); + if (!(lbean instanceof NotificationListener)) + { + RuntimeException e = + new IllegalArgumentException("The supplied listener name does not " + + "correspond to a notification listener."); + throw new RuntimeOperationsException(e); + } + addNotificationListener(name, ((NotificationListener) lbean), filter, passback); + } + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the default constructor and registers it with the server + * under the supplied name. The class is loaded using the + * {@link javax.management.loading.ClassLoaderRepository default + * loader repository} of the server. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + *

    + * This method is equivalent to calling {@link + * #createMBean(String, ObjectName, Object[], String[]) + * createMBean(className, name, (Object[]) null, + * (String[]) null)} with null parameters + * and signature. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + * @see #createMBean(String, ObjectName, Object[], String[]) + */ + public ObjectInstance createMBean(String className, ObjectName name) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException + { + return createMBean(className, name, (Object[]) null, (String[]) null); + } + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the given constructor and registers it with the server + * under the supplied name. The class is loaded using the + * {@link javax.management.loading.ClassLoaderRepository default + * loader repository} of the server. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param params the parameters for the bean's constructor. + * @param sig the signature of the constructor to use. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + */ + public ObjectInstance createMBean(String className, ObjectName name, + Object[] params, String[] sig) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException + { + return registerMBean(instantiate(className, params, sig), name); + } + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the default constructor and registers it with the server + * under the supplied name. The class is loaded using the + * given class loader. If this argument is null, + * then the same class loader as was used to load the server + * is used. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + *

    + * This method is equivalent to calling {@link + * #createMBean(String, ObjectName, ObjectName, Object[], String) + * createMBean(className, name, loaderName, (Object[]) null, + * (String) null)} with null parameters + * and signature. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param loaderName the name of the class loader. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + * @see #createMBean(String, ObjectName, ObjectName, Object[], String[]) + */ + public ObjectInstance createMBean(String className, ObjectName name, + ObjectName loaderName) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, InstanceNotFoundException + { + return createMBean(className, name, loaderName, (Object[]) null, + (String[]) null); + } + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the given constructor and registers it with the server + * under the supplied name. The class is loaded using the + * given class loader. If this argument is null, + * then the same class loader as was used to load the server + * is used. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param loaderName the name of the class loader. + * @param params the parameters for the bean's constructor. + * @param sig the signature of the constructor to use. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + */ + public ObjectInstance createMBean(String className, ObjectName name, + ObjectName loaderName, Object[] params, + String[] sig) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, InstanceNotFoundException + { + return registerMBean(instantiate(className, loaderName, params, sig), + name); + } + + /** + * Deserializes a byte array using the class loader of the specified + * management bean as its context. + * + * @param name the name of the bean whose class loader should be used. + * @param data the byte array to be deserialized. + * @return the deserialized object stream. + * @deprecated {@link #getClassLoaderFor(ObjectName)} should be used + * to obtain the class loader of the bean, which can then + * be used to perform deserialization in the user's code. + * @throws InstanceNotFoundException if the specified bean is not + * registered with the server. + * @throws OperationsException if any I/O error is thrown by the + * deserialization process. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getClassLoaderFor") + */ + public ObjectInputStream deserialize(ObjectName name, byte[] data) + throws InstanceNotFoundException, OperationsException + { + try + { + return new ServerInputStream(new ByteArrayInputStream(data), + getClassLoaderFor(name)); + } + catch (IOException e) + { + throw new OperationsException("An I/O error occurred: " + e); + } + } + + /** + * Deserializes a byte array using the same class loader for its context + * as was used to load the given class. This class loader is obtained by + * loading the specified class using the {@link + * javax.management.loading.ClassLoaderRepository Class Loader Repository} + * and then using the class loader of the resulting {@link Class} instance. + * + * @param name the name of the class which should be loaded to obtain the + * class loader. + * @param data the byte array to be deserialized. + * @return the deserialized object stream. + * @deprecated {@link #getClassLoaderRepository} should be used + * to obtain the class loading repository, which can then + * be used to obtain the {@link Class} instance and deserialize + * the array using its class loader. + * @throws OperationsException if any I/O error is thrown by the + * deserialization process. + * @throws ReflectionException if an error occurs in obtaining the + * {@link Class} instance. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, null, + * "getClassLoaderRepository") + */ + public ObjectInputStream deserialize(String name, byte[] data) + throws OperationsException, ReflectionException + { + try + { + Class c = getClassLoaderRepository().loadClass(name); + return new ServerInputStream(new ByteArrayInputStream(data), + c.getClassLoader()); + } + catch (IOException e) + { + throw new OperationsException("An I/O error occurred: " + e); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class could not be found."); + } + } + + /** + * Deserializes a byte array using the same class loader for its context + * as was used to load the given class. The name of the class loader to + * be used is supplied, and may be null if the server's + * class loader should be used instead. + * + * @param name the name of the class which should be loaded to obtain the + * class loader. + * @param loader the name of the class loader to use, or null + * if the class loader of the server should be used. + * @param data the byte array to be deserialized. + * @return the deserialized object stream. + * @deprecated {@link #getClassLoader(ObjectName} can be used to obtain + * the named class loader and deserialize the array. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws OperationsException if any I/O error is thrown by the + * deserialization process. + * @throws ReflectionException if an error occurs in obtaining the + * {@link Class} instance. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, loader, + * "getClassLoader") + */ + public ObjectInputStream deserialize(String name, ObjectName loader, byte[] data) + throws InstanceNotFoundException, ReflectionException, + OperationsException + { + try + { + Class c = getClassLoader(loader).loadClass(name); + return new ServerInputStream(new ByteArrayInputStream(data), + c.getClassLoader()); + } + catch (IOException e) + { + throw new OperationsException("An I/O error occurred: " + e); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class could not be found."); + } + } + + /** + * Returns the value of the supplied attribute from the specified + * management bean. + * + * @param bean the bean to retrieve the value from. + * @param name the name of the attribute to retrieve. + * @return the value of the attribute. + * @throws AttributeNotFoundException if the attribute could not be + * accessed from the bean. + * @throws MBeanException if the management bean's accessor throws + * an exception. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception was thrown in trying + * to invoke the bean's accessor. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, name, bean, + * "getAttribute")}. + * @see DynamicMBean#getAttribute(String) + */ + public Object getAttribute(ObjectName bean, String name) + throws MBeanException, AttributeNotFoundException, + InstanceNotFoundException, ReflectionException + { + if (bean == null || name == null) + { + RuntimeException e = + new IllegalArgumentException("One of the supplied arguments was null."); + throw new RuntimeOperationsException(e); + } + Object abean = getBean(bean); + checkSecurity(bean, name, "getAttribute"); + if (abean instanceof DynamicMBean) + return ((DynamicMBean) abean).getAttribute(name); + else + try + { + return new StandardMBean(abean, null).getAttribute(name); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("Failed to create dynamic bean.").initCause(e)); + } + } + + + /** + * Returns the values of the named attributes from the specified + * management bean. + * + * @param bean the bean to retrieve the value from. + * @param names the names of the attributes to retrieve. + * @return the values of the attributes. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception was thrown in trying + * to invoke the bean's accessor. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, bean, + * "getAttribute")}. Additionally, + * for an attribute name, n, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, n, bean, + * "getAttribute")} or that attribute will + * not be included. + * + * @see DynamicMBean#getAttributes(String[]) + */ + public AttributeList getAttributes(ObjectName bean, String[] names) + throws InstanceNotFoundException, ReflectionException + { + if (bean == null || names == null) + { + RuntimeException e = + new IllegalArgumentException("One of the supplied arguments was null."); + throw new RuntimeOperationsException(e); + } + Object abean = getBean(bean); + checkSecurity(bean, null, "getAttribute"); + AttributeList list = new AttributeList(names.length); + for (int a = 0; a < names.length; ++a) + { + if (names[a] == null) + { + RuntimeException e = + new IllegalArgumentException("Argument " + a + " was null."); + throw new RuntimeOperationsException(e); + } + checkSecurity(bean, names[a], "getAttribute"); + try + { + Object value; + if (abean instanceof DynamicMBean) + value = ((DynamicMBean) abean).getAttribute(names[a]); + else + try + { + value = new StandardMBean(abean, null).getAttribute(names[a]); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("Failed to create dynamic bean.").initCause(e)); + } + list.add(new Attribute(names[a], value)); + } + catch (AttributeNotFoundException e) + { + /* Ignored */ + } + catch (MBeanException e) + { + /* Ignored */ + } + } + return list; + } + + + /** + * Returns the specified class loader. If the specified value is + * null, then the class loader of the server will be + * returned. If l is the requested class loader, + * and r is the actual class loader returned, then + * either l and r will be identical, + * or they will at least return the same class from + * {@link ClassLoader#loadClass(String)} for any given string. + * They may not be identical due to one or the other + * being wrapped in another class loader (e.g. for security). + * + * @param name the name of the class loader to return. + * @return the class loader. + * @throws InstanceNotFoundException if the class loader can not + * be found. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getClassLoader") + */ + public ClassLoader getClassLoader(ObjectName name) + throws InstanceNotFoundException + { + if (name == null) + { + checkSecurity(null, null, "getClassLoader"); + return getClass().getClassLoader(); + } + Object bean = getBean(name); + checkSecurity(name, null, "getClassLoader"); + return (ClassLoader) bean; + } + + /** + * Returns the class loader of the specified management bean. If + * l is the requested class loader, and r + * is the actual class loader returned, then either l + * and r will be identical, or they will at least + * return the same class from {@link ClassLoader#loadClass(String)} + * for any given string. They may not be identical due to one or + * the other being wrapped in another class loader (e.g. for + * security). + * + * @param name the name of the bean whose class loader should be + * returned. + * @return the class loader. + * @throws InstanceNotFoundException if the bean is not registered + * with the server. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getClassLoaderFor") + */ + public ClassLoader getClassLoaderFor(ObjectName name) + throws InstanceNotFoundException + { + Object bean = getBean(name); + checkSecurity(name, null, "getClassLoaderFor"); + return bean.getClass().getClassLoader(); + } + + /** + * Returns the class loader repository used by this server. + * + * @return the class loader repository. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, null, + * "getClassLoaderRepository") + */ + public ClassLoaderRepository getClassLoaderRepository() + { + return repository; + } + + /** + * Returns the default domain this server applies to beans that have + * no specified domain. + * + * @return the default domain. + */ + public String getDefaultDomain() + { + return defaultDomain; + } + + + /** + * Returns an array containing all the domains used by beans registered + * with this server. The ordering of the array is undefined. + * + * @return the list of domains. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, name, + * "getDomains")}. Additionally, + * for an domain, d, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, + * new ObjectName("d:x=x"), "getDomains")} + * or that domain will not be included. Note + * that "x=x" is an arbitrary key-value pair + * provided to satisfy the constructor. + * @see ObjectName#getDomain() + */ + public String[] getDomains() + { + checkSecurity(null, null, "getDomains"); + Set domains = new HashSet(); + Iterator iterator = beans.keySet().iterator(); + while (iterator.hasNext()) + { + String d = ((ObjectName) iterator.next()).getDomain(); + try + { + checkSecurity(new ObjectName(d + ":x=x"), null, "getDomains"); + domains.add(d); + } + catch (MalformedObjectNameException e) + { + /* Ignored */ + } + } + return (String[]) domains.toArray(new String[domains.size()]); + } + + /** + * Returns the number of management beans registered with this server. + * This may be less than the real number if the caller's access is + * restricted. + * + * @return the number of registered beans. + */ + public Integer getMBeanCount() + { + return Integer.valueOf(beans.size()); + } + + /** + * Returns information on the given management bean. + * + * @param name the name of the management bean. + * @return an instance of {@link MBeanInfo} for the bean. + * @throws IntrospectionException if an exception occurs in examining + * the bean. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception occurs when trying + * to invoke {@link DynamicMBean#getMBeanInfo()} + * on the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getMBeanInfo")}. + * @see DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo(ObjectName name) + throws InstanceNotFoundException, IntrospectionException, + ReflectionException + { + Object bean = getBean(name); + checkSecurity(name, null, "getMBeanInfo"); + try + { + Method method = bean.getClass().getMethod("getMBeanInfo", null); + return (MBeanInfo) method.invoke(bean, null); + } + catch (NoSuchMethodException e) + { + throw new IntrospectionException("The getMBeanInfo method " + + "could not be found."); + } + catch (IllegalAccessException e) + { + throw new ReflectionException(e, "Failed to call getMBeanInfo"); + } + catch (IllegalArgumentException e) + { + throw new ReflectionException(e, "Failed to call getMBeanInfo"); + } + catch (InvocationTargetException e) + { + throw new ReflectionException(e, "The method threw an exception"); + } + } + + /** + * Returns the {@link ObjectInstance} created for the specified + * management bean on registration. + * + * @param name the name of the bean. + * @return the corresponding {@link ObjectInstance} instance. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getObjectInstance") + * @see #createMBean(String, ObjectName) + */ + public ObjectInstance getObjectInstance(ObjectName name) + throws InstanceNotFoundException + { + ServerInfo bean = (ServerInfo) beans.get(name); + if (bean == null) + throw new InstanceNotFoundException("The bean, " + name + + ", was not found."); + return bean.getInstance(); + } + + /** + *

    + * Creates an instance of the specified class using the list of + * class loaders from the {@link + * javax.management.loading.ClassLoaderRepository Class Loader + * Repository}. The class should have a public constructor + * with no arguments. A reference to the new instance is returned, + * but the instance is not yet registered with the server. + *

    + *

    + * This method is equivalent to calling {@link + * #instantiate(String, Object[], String[]) + * instantiate(name, (Object[]) null, (String[]) null)} + * with null parameters and signature. + *

    + * + * @param name the name of the class of bean to be instantiated. + * @return an instance of the given class. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + * @see #instantiate(String, Object[], String[]) + */ + public Object instantiate(String name) + throws ReflectionException, MBeanException + { + return instantiate(name, (Object[]) null, (String[]) null); + } + + /** + * Creates an instance of the specified class using the list of + * class loaders from the {@link + * javax.management.loading.ClassLoaderRepository Class Loader + * Repository}. The class should have a public constructor + * matching the supplied signature. A reference to the new + * instance is returned, but the instance is not yet + * registered with the server. + * + * @param name the name of the class of bean to be instantiated. + * @param params the parameters for the constructor. + * @param sig the signature of the constructor. + * @return an instance of the given class. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + */ + public Object instantiate(String name, Object[] params, String[] sig) + throws ReflectionException, MBeanException + { + checkSecurity(null, null, "instantiate"); + if (name == null) + { + RuntimeException e = + new IllegalArgumentException("The name was null."); + throw new RuntimeOperationsException(e); + } + Class[] sigTypes = new Class[sig.length]; + for (int a = 0; a < sigTypes.length; ++a) + { + try + { + sigTypes[a] = repository.loadClass(sig[a]); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class, " + sigTypes[a] + + ", in the method signature " + + "could not be loaded."); + } + } + try + { + Constructor cons = + repository.loadClass(name).getConstructor(sigTypes); + return cons.newInstance(params); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class, " + name + + ", of the constructor " + + "could not be loaded."); + } + catch (NoSuchMethodException e) + { + throw new ReflectionException(e, "The method, " + name + + ", could not be found."); + } + catch (IllegalAccessException e) + { + throw new ReflectionException(e, "Failed to instantiate the object"); + } + catch (InstantiationException e) + { + throw new ReflectionException(e, "Failed to instantiate the object"); + } + catch (InvocationTargetException e) + { + throw new MBeanException((Exception) e.getCause(), "The constructor " + + name + " threw an exception"); + } + } + + /** + *

    + * Creates an instance of the specified class using the supplied + * class loader. If the class loader given is null, + * then the class loader of the server will be used. The class + * should have a public constructor with no arguments. A reference + * to the new instance is returned, but the instance is not yet + * registered with the server. + *

    + *

    + * This method is equivalent to calling {@link + * #instantiate(String, ObjectName, Object[], String[]) + * instantiate(name, loaderName, (Object[]) null, + * (String[]) null)} with null parameters + * and signature. + *

    + * + * @param name the name of the class of bean to be instantiated. + * @param loaderName the name of the class loader to use. + * @return an instance of the given class. + * @throws InstanceNotFoundException if the class loader is not + * registered with the server. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + * @see #instantiate(String, Object[], String[]) + */ + public Object instantiate(String name, ObjectName loaderName) + throws InstanceNotFoundException, ReflectionException, + MBeanException + { + return instantiate(name, loaderName); + } + + /** + * Creates an instance of the specified class using the supplied + * class loader. If the class loader given is null, + * then the class loader of the server will be used. The class + * should have a public constructor matching the supplied + * signature. A reference to the new instance is returned, + * but the instance is not yet registered with the server. + * + * @param name the name of the class of bean to be instantiated. + * @param loaderName the name of the class loader to use. + * @param params the parameters for the constructor. + * @param sig the signature of the constructor. + * @return an instance of the given class. + * @throws InstanceNotFoundException if the class loader is not + * registered with the server. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + */ + public Object instantiate(String name, ObjectName loaderName, + Object[] params, String[] sig) + throws InstanceNotFoundException, ReflectionException, + MBeanException + { + checkSecurity(null, null, "instantiate"); + if (name == null) + { + RuntimeException e = + new IllegalArgumentException("The name was null."); + throw new RuntimeOperationsException(e); + } + ClassLoader loader = getClassLoader(loaderName); + Class[] sigTypes = new Class[sig.length]; + for (int a = 0; a < sig.length; ++a) + { + try + { + sigTypes[a] = Class.forName(sig[a], true, loader); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class, " + sig[a] + + ", in the method signature " + + "could not be loaded."); + } + } + try + { + Constructor cons = + Class.forName(name, true, loader).getConstructor(sigTypes); + return cons.newInstance(params); + } + catch (ClassNotFoundException e) + { + throw new ReflectionException(e, "The class, " + name + + ", of the constructor " + + "could not be loaded."); + } + catch (NoSuchMethodException e) + { + throw new ReflectionException(e, "The method, " + name + + ", could not be found."); + } + catch (IllegalAccessException e) + { + throw new ReflectionException(e, "Failed to instantiate the object"); + } + catch (InstantiationException e) + { + throw new ReflectionException(e, "Failed to instantiate the object"); + } + catch (InvocationTargetException e) + { + throw new MBeanException((Exception) e.getCause(), "The constructor " + + name + " threw an exception"); + } + } + + /** + * Invokes the supplied operation on the specified management + * bean. The class objects specified in the signature are loaded + * using the same class loader as was used for the management bean. + * + * @param bean the management bean whose operation should be invoked. + * @param name the name of the operation to invoke. + * @param params the parameters of the operation. + * @param sig the signature of the operation. + * @return the return value of the method. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws MBeanException if the method invoked throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws ReflectionException if an exception is thrown in invoking the + * method. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, name, bean, + * "invoke")}. + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + public Object invoke(ObjectName bean, String name, Object[] params, String[] sig) + throws InstanceNotFoundException, MBeanException, + ReflectionException + { + if (bean == null) + { + RuntimeException e = + new IllegalArgumentException("The bean was null."); + throw new RuntimeOperationsException(e); + } + Object abean = getBean(bean); + checkSecurity(bean, name, "invoke"); + if (abean instanceof DynamicMBean) + return ((DynamicMBean) abean).invoke(name, params, sig); + else + try + { + return new StandardMBean(abean, null).invoke(name, params, sig); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("Failed to create dynamic bean.").initCause(e)); + } + } + + /** + *

    + * Returns true if the specified management bean is an instance + * of the supplied class. + *

    + *

    + * A bean, B, is an instance of a class, C, if either of the following + * conditions holds: + *

    + *
      + *
    • The class name in B's {@link MBeanInfo} is equal to the supplied + * name.
    • + *
    • Both the class of B and C were loaded by the same class loader, + * and B is assignable to C.
    • + *
    + * + * @param name the name of the management bean. + * @param className the name of the class to test if name is + * an instance of. + * @return true if either B is directly an instance of the named class, + * or B is assignable to the class, given that both it and B's + * current class were loaded using the same class loader. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "isInstanceOf") + */ + public boolean isInstanceOf(ObjectName name, String className) + throws InstanceNotFoundException + { + Object bean = getBean(name); + checkSecurity(name, null, "isInstanceOf"); + MBeanInfo info; + if (bean instanceof DynamicMBean) + info = ((DynamicMBean) bean).getMBeanInfo(); + else + try + { + info = new StandardMBean(bean, null).getMBeanInfo(); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("Failed to create dynamic bean.").initCause(e)); + } + if (info.getClassName().equals(className)) + return true; + Class bclass = bean.getClass(); + try + { + Class oclass = Class.forName(className); + return (bclass.getClassLoader().equals(oclass.getClassLoader()) && + oclass.isAssignableFrom(bclass)); + } + catch (ClassNotFoundException e) + { + return false; + } + } + + /** + * Returns true if the specified management bean is registered with + * the server. + * + * @param name the name of the management bean. + * @return true if the bean is registered. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean name. + */ + public boolean isRegistered(ObjectName name) + { + if (name == null) + { + RuntimeException e = + new IllegalArgumentException("The name was null."); + throw new RuntimeOperationsException(e); + } + return beans.containsKey(name); + } + + /** + *

    + * Returns a set of {@link ObjectInstance}s matching the specified + * criteria. The full set of beans registered with the server + * are passed through two filters: + *

    + *
      + *
    1. Pattern matching is performed using the supplied + * {@link ObjectName}.
    2. + *
    3. The supplied query expression is applied.
    4. + *
    + *

    + * If both the object name and the query expression are null, + * or the object name has no domain and no key properties, + * no filtering will be performed and all beans are returned. + *

    + * + * @param name an {@link ObjectName} to use as a filter. + * @param query a query expression to apply to each of the beans that match + * the given object name. + * @return a set of {@link ObjectInstance}s matching the filtered beans. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, name, + * "queryMBeans")}. Additionally, + * for an bean, b, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, b, name, + * "queryMBeans")} or that bean will + * not be included. Such an exception may also + * arise from the execution of the query, in which + * case that particular bean will again be excluded. + */ + public Set queryMBeans(ObjectName name, QueryExp query) + { + checkSecurity(name, null, "queryMBeans"); + Set results = new HashSet(); + Iterator iterator = beans.entrySet().iterator(); + while (iterator.hasNext()) + { + Map.Entry entry = (Map.Entry) iterator.next(); + ObjectName nextName = (ObjectName) entry.getKey(); + checkSecurity(name, nextName.toString(), "queryMBeans"); + try + { + if ((name == null || name.apply(nextName)) && + (query == null || query.apply(nextName))) + results.add(((ServerInfo) entry.getValue()).getInstance()); + } + catch (BadStringOperationException e) + { + /* Ignored -- assume false result */ + } + catch (BadBinaryOpValueExpException e) + { + /* Ignored -- assume false result */ + } + catch (BadAttributeValueExpException e) + { + /* Ignored -- assume false result */ + } + catch (InvalidApplicationException e) + { + /* Ignored -- assume false result */ + } + } + return results; + } + + /** + *

    + * Returns a set of {@link ObjectName}s matching the specified + * criteria. The full set of beans registered with the server + * are passed through two filters: + *

    + *
      + *
    1. Pattern matching is performed using the supplied + * {@link ObjectName}.
    2. + *
    3. The supplied query expression is applied.
    4. + *
    + *

    + * If both the object name and the query expression are null, + * or the object name has no domain and no key properties, + * no filtering will be performed and all beans are returned. + *

    + * + * @param name an {@link ObjectName} to use as a filter. + * @param query a query expression to apply to each of the beans that match + * the given object name. + * @return a set of {@link ObjectName}s matching the filtered beans. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, name, + * "queryNames")}. Additionally, + * for an name, n, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, n, name, + * "queryNames")} or that name will + * not be included. Such an exception may also + * arise from the execution of the query, in which + * case that particular bean will again be excluded. + * Note that these permissions are implied if the + * queryMBeans permissions are available. + */ + public Set queryNames(ObjectName name, QueryExp query) + { + checkSecurity(name, null, "queryNames"); + Set results = new HashSet(); + Iterator iterator = beans.entrySet().iterator(); + while (iterator.hasNext()) + { + Map.Entry entry = (Map.Entry) iterator.next(); + ObjectName nextName = (ObjectName) entry.getKey(); + checkSecurity(name, nextName.toString(), "queryNames"); + try + { + if ((name == null || name.apply(nextName)) && + (query == null || query.apply(nextName))) + results.add(nextName); + } + catch (BadStringOperationException e) + { + /* Ignored -- assume false result */ + } + catch (BadBinaryOpValueExpException e) + { + /* Ignored -- assume false result */ + } + catch (BadAttributeValueExpException e) + { + /* Ignored -- assume false result */ + } + catch (InvalidApplicationException e) + { + /* Ignored -- assume false result */ + } + } + return results; + } + + /** + * Registers the supplied instance with the server, using the specified + * {@link ObjectName}. If the name given is null, then + * the bean supplied is expected to implement the {@link MBeanRegistration} + * interface and provide the name via the + * {@link MBeanRegistration#preRegister preRegister} method + * of this interface. + * + * @param obj the object to register with the server. + * @param name the name under which to register the object, + * or null if the {@link MBeanRegistration} + * interface should be used. + * @return an {@link ObjectInstance} containing the supplied + * {@link ObjectName} along with the name of the bean's class. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null object. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "registerMBean")}. className + * here corresponds to the result of + * {@link MBeanInfo#getClassName()} for objects of + * this class. If this check succeeds, a check + * is also made on its + * {@link java.security.ProtectionDomain} to ensure + * it implies {@link MBeanTrustPermission(String) + * MBeanTrustPermission("register")}. + * The use of the {@link MBeanRegistration} interface + * results in another {@link MBeanPermission} check + * being made on the returned {@link ObjectName}. + */ + public ObjectInstance registerMBean(Object obj, ObjectName name) + throws InstanceAlreadyExistsException, MBeanRegistrationException, + NotCompliantMBeanException + { + SecurityManager sm = System.getSecurityManager(); + Class cl = obj.getClass(); + String className = cl.getName(); + if (sm != null) + { + sm.checkPermission(new MBeanPermission(className, null, name, + "registerMBean")); + if (!(cl.getProtectionDomain().implies(new MBeanTrustPermission("register")))) + throw new SecurityException("The protection domain of the object's class" + + "does not imply the trust permission," + + "register"); + } + if (obj == null) + { + RuntimeException e = + new IllegalArgumentException("The object was null."); + throw new RuntimeOperationsException(e); + } + MBeanRegistration register = null; + if (obj instanceof MBeanRegistration) + register = (MBeanRegistration) obj; + if (name == null) + { + if (register == null) + { + RuntimeException e = + new IllegalArgumentException("The name was null and " + + "the bean does not implement " + + "MBeanRegistration."); + throw new RuntimeOperationsException(e); + } + try + { + name = register.preRegister(this, null); + if (sm != null) + sm.checkPermission(new MBeanPermission(className, null, name, + "registerMBean")); + } + catch (SecurityException e) + { + register.postRegister(Boolean.FALSE); + throw e; + } + catch (Exception e) + { + register.postRegister(Boolean.FALSE); + throw new MBeanRegistrationException(e, "Pre-registration failed."); + } + } + if (beans.containsKey(name)) + { + if (register != null) + register.postRegister(Boolean.FALSE); + throw new InstanceAlreadyExistsException(name + "is already registered."); + } + ObjectInstance obji = new ObjectInstance(name, className); + beans.put(name, new ServerInfo(obji, obj)); + if (register != null) + register.postRegister(Boolean.TRUE); + return obji; + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. This includes all + * combinations of filters and passback objects registered for + * this listener. For more specific removal of listeners, see + * {@link #removeNotificationListener(ObjectName, + * NotificationListener,NotificationFilter,Object)} + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the listener to remove. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see NotificationBroadcaster#removeNotificationListener(NotificationListener) + */ + public void removeNotificationListener(ObjectName name, + NotificationListener listener) + throws InstanceNotFoundException, ListenerNotFoundException + { + Object bean = getBean(name); + checkSecurity(name, null, "removeNotificationListener"); + if (bean instanceof NotificationBroadcaster) + { + NotificationBroadcaster bbean = (NotificationBroadcaster) bean; + NotificationListener indirection = (NotificationListener) + listeners.get(listener); + if (indirection == null) + bbean.removeNotificationListener(listener); + else + { + bbean.removeNotificationListener(indirection); + listeners.remove(listener); + } + } + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(ObjectName, NotificationListener)}. + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationEmitter#removeNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + public void removeNotificationListener(ObjectName name, + NotificationListener listener, + NotificationFilter filter, + Object passback) + throws InstanceNotFoundException, ListenerNotFoundException + { + Object bean = getBean(name); + checkSecurity(name, null, "removeNotificationListener"); + if (bean instanceof NotificationEmitter) + { + NotificationEmitter bbean = (NotificationEmitter) bean; + NotificationListener indirection = (NotificationListener) + listeners.get(listener); + if (indirection == null) + bbean.removeNotificationListener(listener, filter, passback); + else + { + bbean.removeNotificationListener(indirection, filter, passback); + listeners.remove(listener); + } + } + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. This includes all + * combinations of filters and passback objects registered for + * this listener. For more specific removal of listeners, see + * {@link #removeNotificationListener(ObjectName, + * ObjectName,NotificationFilter,Object)} + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the name of the listener to remove. + * @throws InstanceNotFoundException if a name doesn't match a registered + * bean. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see NotificationBroadcaster#removeNotificationListener(NotificationListener) + */ + public void removeNotificationListener(ObjectName name, ObjectName listener) + throws InstanceNotFoundException, ListenerNotFoundException + { + Object lbean = getBean(listener); + if (!(lbean instanceof NotificationListener)) + { + RuntimeException e = + new IllegalArgumentException("The supplied listener name does not " + + "correspond to a notification listener."); + throw new RuntimeOperationsException(e); + } + removeNotificationListener(name, ((NotificationListener) lbean)); + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(ObjectName, ObjectName)}. + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the name of the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws InstanceNotFoundException if a name doesn't match a registered + * bean. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationEmitter#removeNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + public void removeNotificationListener(ObjectName name, + ObjectName listener, + NotificationFilter filter, + Object passback) + throws InstanceNotFoundException, ListenerNotFoundException + { + Object lbean = getBean(listener); + if (!(lbean instanceof NotificationListener)) + { + RuntimeException e = + new IllegalArgumentException("The supplied listener name does not " + + "correspond to a notification listener."); + throw new RuntimeOperationsException(e); + } + removeNotificationListener(name, ((NotificationListener) lbean), filter, + passback); + } + + /** + * Sets the value of the specified attribute of the supplied + * management bean. + * + * @param name the name of the management bean. + * @param attribute the attribute to set. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws AttributeNotFoundException if the attribute does not + * correspond to an attribute + * of the bean. + * @throws InvalidAttributeValueException if the value is invalid + * for this particular + * attribute of the bean. + * @throws MBeanException if setting the attribute causes + * the bean to throw an exception (which + * becomes the cause of this exception). + * @throws ReflectionException if an exception occurred in trying + * to use the reflection interface + * to lookup the attribute. The + * thrown exception is the cause of + * this exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, name, bean, + * "setAttribute")}. + * @see #getAttribute(ObjectName, String) + * @see DynamicMBean#setAttribute(Attribute) + */ + public void setAttribute(ObjectName name, Attribute attribute) + throws InstanceNotFoundException, AttributeNotFoundException, + InvalidAttributeValueException, MBeanException, + ReflectionException + { + if (attribute == null || name == null) + { + RuntimeException e = + new IllegalArgumentException("One of the supplied arguments was null."); + throw new RuntimeOperationsException(e); + } + Object bean = getBean(name); + checkSecurity(name, attribute.getName(), "setAttribute"); + if (bean instanceof DynamicMBean) + ((DynamicMBean) bean).setAttribute(attribute); + else + try + { + new StandardMBean(bean, null).setAttribute(attribute); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("Failed to create dynamic bean.").initCause(e)); + } + } + + /** + * Sets the value of each of the specified attributes + * of the supplied management bean to that specified by + * the {@link Attribute} object. The returned list contains + * the attributes that were set and their new values. + * + * @param name the name of the management bean. + * @param attributes the attributes to set. + * @return a list of the changed attributes. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception occurred in trying + * to use the reflection interface + * to lookup the attribute. The + * thrown exception is the cause of + * this exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * list. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, bean, + * "setAttribute")}. Additionally, + * for an attribute name, n, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, n, bean, + * "setAttribute")} or that attribute will + * not be included. + * @see #getAttributes(ObjectName, String[]) + * @see DynamicMBean#setAttributes(AttributeList) + */ + public AttributeList setAttributes(ObjectName name, AttributeList attributes) + throws InstanceNotFoundException, ReflectionException + { + if (name == null || attributes == null) + { + RuntimeException e = + new IllegalArgumentException("One of the supplied arguments was null."); + throw new RuntimeOperationsException(e); + } + Object abean = getBean(name); + checkSecurity(name, null, "setAttribute"); + AttributeList list = new AttributeList(attributes.size()); + Iterator it = attributes.iterator(); + while (it.hasNext()) + { + try + { + Attribute attrib = (Attribute) it.next(); + if (attrib == null) + { + RuntimeException e = + new IllegalArgumentException("An attribute was null."); + throw new RuntimeOperationsException(e); + } + checkSecurity(name, attrib.getName(), "setAttribute"); + if (abean instanceof DynamicMBean) + ((DynamicMBean) abean).setAttribute(attrib); + else + try + { + new StandardMBean(abean, null).setAttribute(attrib); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("Failed to create dynamic bean.").initCause(e)); + } + list.add(attrib); + } + catch (AttributeNotFoundException e) + { + /* Ignored */ + } + catch (InvalidAttributeValueException e) + { + /* Ignored */ + } + catch (MBeanException e) + { + /* Ignored */ + } + } + return list; + } + + /** + * Unregisters the specified management bean. Following this operation, + * the bean instance is no longer accessible from the server via this + * name. Prior to unregistering the bean, the + * {@link MBeanRegistration#preDeregister()} method will be called if + * the bean implements the {@link MBeanRegistration} interface. + * + * @param name the name of the management bean. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preDeregister + * method. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean name or a + * request being made to unregister the + * {@link MBeanServerDelegate} bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "unregisterMBean")}. + */ + public void unregisterMBean(ObjectName name) + throws InstanceNotFoundException, MBeanRegistrationException + { + if (name == null) + { + RuntimeException e = + new IllegalArgumentException("The name was null."); + throw new RuntimeOperationsException(e); + } + if (name.equals(DELEGATE_NAME)) + { + RuntimeException e = + new IllegalArgumentException("The delegate can not be unregistered."); + throw new RuntimeOperationsException(e); + } + Object bean = getBean(name); + checkSecurity(name, null, "unregisterMBean"); + MBeanRegistration register = null; + if (bean instanceof MBeanRegistration) + { + register = (MBeanRegistration) bean; + try + { + register.preDeregister(); + } + catch (Exception e) + { + throw new MBeanRegistrationException(e, "Pre-deregistration failed."); + } + } + beans.remove(name); + if (register != null) + register.postDeregister(); + } + + /** + * Input stream which deserializes using the given classloader. + */ + private class ServerInputStream + extends ObjectInputStream + { + + private ClassLoader cl; + + public ServerInputStream(InputStream is, ClassLoader cl) + throws IOException, StreamCorruptedException + { + super(is); + this.cl = cl; + } + + protected Class resolveClass(ObjectStreamClass osc) + throws ClassNotFoundException, IOException + { + try + { + return Class.forName(osc.getName(), true, cl); + } + catch (ClassNotFoundException e) + { + return super.resolveClass(osc); + } + } + + } + + /** + * Holder for information on registered beans. + */ + private class ServerInfo + { + private ObjectInstance instance; + + private Object object; + + public ServerInfo(ObjectInstance instance, Object object) + { + this.instance = instance; + this.object = object; + } + + public Object getObject() + { + return object; + } + + public ObjectInstance getInstance() + { + return instance; + } + } + + /** + * Notification listener which removes direct references + * to beans. + */ + private class ServerNotificationListener + implements NotificationListener + { + + /** + * The bean from which notifications are emitted. + */ + Object bean; + + /** + * The {@link ObjectName} of the emitting bean. + */ + ObjectName name; + + /** + * The real {@link NotificationListener}. + */ + NotificationListener listener; + + /** + * Constructs a new {@link ServerNotificationListener} replacing + * occurrences of bean with its name. + * + * @param bean the bean emitting notifications. + * @param name the object name of the emitting bean. + * @param listener the listener events eventually reach. + */ + public ServerNotificationListener(Object bean, ObjectName name, + NotificationListener listener) + { + this.bean = bean; + this.name = name; + this.listener = listener; + } + + /** + * Replace a direct reference to bean with its + * object reference, if necessary, before calling the listener. + * + * @param notif the notification being emitted. + * @param handback an object that will be returned to the notification + * listener when an event occurs. + */ + public void handleNotification(Notification notif, Object handback) + { + if (notif.getSource() == bean) + notif.setSource(name); + listener.handleNotification(notif, handback); + } + + } + +} diff --git a/libjava/classpath/gnu/javax/naming/giop/ContextContinuation.java b/libjava/classpath/gnu/javax/naming/giop/ContextContinuation.java new file mode 100644 index 00000000000..7d7a785fd2f --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/ContextContinuation.java @@ -0,0 +1,956 @@ +/* ContextContinuation.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + +package gnu.javax.naming.giop; + +import gnu.CORBA.NamingService.Ext; +import gnu.CORBA.NamingService.NameTransformer; + +import java.util.Hashtable; + +import javax.naming.Binding; +import javax.naming.Context; +import javax.naming.ContextNotEmptyException; +import javax.naming.InvalidNameException; +import javax.naming.Name; +import javax.naming.NameAlreadyBoundException; +import javax.naming.NameClassPair; +import javax.naming.NameNotFoundException; +import javax.naming.NameParser; +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; +import javax.naming.OperationNotSupportedException; +import javax.naming.directory.InvalidAttributesException; + +import org.omg.CORBA.ORB; +import org.omg.CORBA.portable.Delegate; +import org.omg.CORBA.portable.ObjectImpl; +import org.omg.CosNaming.BindingIteratorHolder; +import org.omg.CosNaming.BindingListHolder; +import org.omg.CosNaming.NameComponent; +import org.omg.CosNaming.NamingContext; +import org.omg.CosNaming.NamingContextExt; +import org.omg.CosNaming.NamingContextExtHelper; +import org.omg.CosNaming.NamingContextHelper; +import org.omg.CosNaming._NamingContextExtStub; +import org.omg.CosNaming._NamingContextStub; +import org.omg.CosNaming.NamingContextPackage.AlreadyBound; +import org.omg.CosNaming.NamingContextPackage.CannotProceed; +import org.omg.CosNaming.NamingContextPackage.InvalidName; +import org.omg.CosNaming.NamingContextPackage.NotFound; + +/** + * The context to represent the corba naming service. Being the naming service, + * the returned context supports creating the subcontexts, forwarding this task + * to the existing naming service. When listing bindings, it uses the + * {@link Context#BATCHSIZE} property to determine, how many bindings should + * be returned at once (the process is transparend) + * + * @author Audrius Meskauskas (audriusa@Bioinformatics.org) + */ +public class ContextContinuation implements Context +{ + /** + * This number of bindings will be requested from the naming server at once, + * while the subsequent bindings will be requested via binding iterator one by + * one. Use {@link Context#BATCHSIZE} to override the value of this constant. + */ + public int DEFAULT_BATCH_SIZE = 20; + + /** + * The actual CORBA naming service. + */ + NamingContextExt service; + + /** + * The object request broker, used to access the naming service. This field + * is only initialised when the context is constructed from the URL. + */ + ORB orb; + + /** + * The properties. + */ + Hashtable properties; + + /** + * The parent factory. + */ + GiopNamingServiceFactory factory; + + /** + * The name transformer to obtain the name from its string representation. The + * to_name method of the naming service is avoided as it may be remote and + * hence expensive. The conversion rules are standard and cannot be service + * specific. + */ + static NameTransformer transformer = new NameTransformer(); + + /** + * The batch size for list operations - how many to return at once. + */ + public final int howMany; + + /** + * Creates a new naming context that uses naming service, represented by the + * given CORBA object. + * + * @param namingService + * the naming service object. It must be possible to narrow it into + * the NamingContextExt. + * @param props + * the environment table. + * @param orb + * the associated ORB. This reference is used during cleanup. + * @param the + * parent factory. This reference is used during cleanup. + */ + public ContextContinuation(org.omg.CORBA.Object nsObject, + Hashtable props, ORB anOrb, + GiopNamingServiceFactory aFactory) + { + factory = aFactory; + orb = anOrb; + + Delegate delegate = ((ObjectImpl) nsObject)._get_delegate(); + + // If the IOR provides the IDL ID, we can check if our name + // service is old NamingContext or new NamingContextExt. + // Not all forms of the URL always provide the IDL id. + if (!nsObject._is_a(NamingContextExtHelper.id()) + && nsObject._is_a(NamingContextHelper.id())) + { + // We are surely working with the old version. + _NamingContextStub stub = new _NamingContextStub(); + stub._set_delegate(delegate); + // The Ext object will add the necessary extensions. + service = new Ext(stub); + } + else + { + // We expecte the service to be the NamingContextExt (this is true + // for both Sun's and our implementations). There is no easy way + // to check the version. + _NamingContextExtStub stub = new _NamingContextExtStub(); + stub._set_delegate(delegate); + service = stub; + } + properties = props; + howMany = getBatchSize(); + } + + /** + * Give the specified name for the specified object. The passed name must not + * be already bound to some other object. The components of the name are + * mapped into the components of the CORBA name. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws NameAlreadyBoundException + * if this name is already used to name some object. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void bind(Name name, Object obj) throws NamingException + { + try + { + org.omg.CORBA.Object object = (org.omg.CORBA.Object) obj; + service.bind(toGiop(name), object); + } + catch (ClassCastException e) + { + throw new NamingException(org.omg.CORBA.Object.class + " required "); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (AlreadyBound e) + { + throw new NameAlreadyBoundException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Give the specified name for the specified object. The passed name must not + * be already bound to some other object. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws NameAlreadyBoundException + * if this name is already used to name some object. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void bind(String name, Object obj) throws NamingException + { + try + { + org.omg.CORBA.Object object = (org.omg.CORBA.Object) obj; + service.bind(transformer.toName(name), object); + } + catch (ClassCastException e) + { + throw new NamingException(org.omg.CORBA.Object.class + " required "); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (AlreadyBound e) + { + throw new NameAlreadyBoundException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Releases all resources, associated with this context. The close() method + * can be called several times, but after it has been once invoked, it is not + * allowed to call any other method of this context. This method destroys + * the ORB, if we have one. + * + * @throws NamingException + */ + public void close() throws NamingException + { + if (orb != null && factory !=null) + { + factory.checkIfReferenced(orb); + } + } + + /** + * Not supported. + */ + public Name composeName(Name name, Name prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported + */ + public String composeName(String name1, String name2) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Creates the new naming subcontext and binds it to the current (this) + * context. The returned object will wrap around the newly created CORBA + * subcontext + * + * @param name + * the name of the new context being created + * @return the newly created context, bound to the instance of the context on + * that the method has been called + * @throws NameAlreadyBoundException + * if this name is already bound + * @throws InvalidAttributesException + * if the creation of the new context requires the missing mandatory + * attributes + * @throws NamingException + */ + public Context createSubcontext(Name subContext) throws NamingException + { + try + { + org.omg.CORBA.Object subcontext = service.bind_new_context( + toGiop(subContext)); + Hashtable clonedProps = new Hashtable(); + clonedProps.putAll(properties); + + // Nulls are passed both for orb and factory, as the child contexts + // need not to do any cleanup. + return new ContextContinuation(subcontext, clonedProps, null, null); + } + catch (AlreadyBound e) + { + throw new NameAlreadyBoundException(); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception ex) + { + throw new NamingException(ex.toString()); + } + } + + /** + * Creates the new naming subcontext and binds it to the current (this) + * context. The returned object will wrap around the newly created CORBA + * subcontext + * + * @param name + * the name of the new context being created + * @return the newly created context, bound to the instance of the context on + * that the method has been called + * @throws NameAlreadyBoundException + * if this name is already bound + * @throws InvalidAttributesException + * if the creation of the new context requires the missing mandatory + * attributes + * @throws NamingException + */ + public Context createSubcontext(String subContext) throws NamingException + { + try + { + org.omg.CORBA.Object subcontext = + service.bind_new_context(transformer.toName(subContext)); + Hashtable clonedProps = new Hashtable(); + clonedProps.putAll(properties); + + // Nulls are passed both for orb and factory, as the child contexts + // need not to do any cleanup. + return new ContextContinuation(subcontext, clonedProps, null, + null); + } + catch (AlreadyBound e) + { + throw new NameAlreadyBoundException(subContext); + } + catch (InvalidName e) + { + throw new InvalidNameException(subContext); + } + catch (Exception ex) + { + throw new NamingException(ex.toString()); + } + } + + /** + * Removes the naming subcontext from this naming context. Returns without + * action if such subcontext does not exist. The context being destroyed must + * be empty. + * + * @param name + * the name of the subcontext beig removed. + * @throws ContextNotEmptyException + * if the named context is not empty. + * @throws NamingException + */ + public void destroySubcontext(Name subContext) throws NamingException + { + unbind(subContext); + } + + /** + * Removes the naming subcontext from this naming context. Returns without + * action if such subcontext does not exist. The context being destroyed must + * be empty. + * + * @param name + * the name of the subcontext beig removed. + * @throws ContextNotEmptyException + * if the named context is not empty. + * @throws NamingException + */ + public void destroySubcontext(String subContext) throws NamingException + { + unbind(subContext); + } + + /** + * Returs the full name of this naming context. The returned string is not a + * JNDI composite name and should not be passed directly to the methods of the + * naming context. This implementation returns the IOR. + * + * @return the full name of this naming context, in its own namespace. + * @throws OperationNotSupportedException + * if the naming system, represented by this context, does not + * support the notation of the full name. + * @throws NamingException + */ + public String getNameInNamespace() throws NamingException + { + if (orb != null) + return orb.object_to_string(service); + else + { + try + { + ObjectImpl impl = (ObjectImpl) service; + return impl._orb().object_to_string(impl); + } + catch (ClassCastException e) + { + throw new UnsupportedOperationException(); + } + } + } + + /** + * Not supported. + */ + public NameParser getNameParser(Name name) throws NamingException + { + throw new UnsupportedOperationException(); + } + + /** + * Not supported. + */ + public NameParser getNameParser(String name) throws NamingException + { + throw new UnsupportedOperationException(); + } + + /** + * Creates and returns the enumeration over the name bindings that are present + * the given subcontext. The enumeration elements have the type of + * {@link NameClassPair}, providing also information about the class of the + * bound object. The behaviour in the case if the bindings are added or + * removed later is not defined. The contents of the subcontexts are not + * included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration list(Name name) throws NamingException + { + BindingIteratorHolder bi = new BindingIteratorHolder(); + BindingListHolder bl = new BindingListHolder(); + + NamingContext subcontext; + + if (name.size() == 0) + subcontext = service; + else + { + try + { + subcontext = (NamingContextHelper.narrow(service.resolve(toGiop(name)))); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + + } + + subcontext.list(howMany, bl, bi); + + return new ListEnumeration(bl, bi, howMany); + } + + /** + * Creates and returns the enumeration over the name bindings that are present + * the given subcontext. The enumeration elements have the type of + * {@link NameClassPair}, providing also information about the class of the + * bound object. The behaviour in the case if the bindings are added or + * removed later is not defined. The contents of the subcontexts are not + * included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration list(String name) throws NamingException + { + BindingIteratorHolder bi = new BindingIteratorHolder(); + BindingListHolder bl = new BindingListHolder(); + + NamingContext subcontext; + + if (name.length() == 0) + subcontext = service; + else + { + try + { + subcontext = (NamingContextHelper.narrow(service.resolve_str(name))); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + + } + + subcontext.list(howMany, bl, bi); + + return new ListEnumeration(bl, bi, howMany); + } + + /** + * Creates and returns the enumeration over the name - object bindings that + * are present the given subcontext. The enumeration elements have the type of + * {@link Binding}, providing also information about the class of the bound + * object. The behaviour in the case if the bindings are added or removed + * later is not defined. The contents of the subcontexts are not included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration listBindings(Name name) throws NamingException + { + BindingIteratorHolder bi = new BindingIteratorHolder(); + BindingListHolder bl = new BindingListHolder(); + + NamingContext subcontext; + + if (name.size() == 0) + subcontext = service; + else + { + try + { + subcontext = (NamingContextHelper.narrow(service.resolve(toGiop(name)))); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + subcontext.list(howMany, bl, bi); + + return new ListBindingsEnumeration(bl, bi, howMany, subcontext); + } + + /** + * Creates and returns the enumeration over the name - object bindings that + * are present the given subcontext. The enumeration elements have the type of + * {@link Binding}, providing also information about the class of the bound + * object. The behaviour in the case if the bindings are added or removed + * later is not defined. The contents of the subcontexts are not included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration listBindings(String name) throws NamingException + { + BindingIteratorHolder bi = new BindingIteratorHolder(); + BindingListHolder bl = new BindingListHolder(); + + NamingContext subcontext; + + if (name.length() == 0) + subcontext = service; + else + { + try + { + subcontext = (NamingContextHelper.narrow(service.resolve_str(name))); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + + } + + subcontext.list(howMany, bl, bi); + + return new ListBindingsEnumeration(bl, bi, howMany, subcontext); + } + + /** + * Gets the previously named object by name. If the passed name is empty, the + * method should return a cloned instance of this naming context. + * + * @param name + * the name of the object being searched in this context + * @return the named object + * @throws NameNotFountException + * if the name is not found + */ + public Object lookup(Name name) throws NamingException + { + try + { + return service.resolve(toGiop(name)); + } + catch (NotFound e) + { + throw new NameNotFoundException(); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Gets the previously named object by name. If the passed name is empty, the + * method should return a cloned instance of this naming context. + * + * @param name + * the name of the object being searched in this context + * @return the named object + * @throws NamingException + * if the naming fails. + */ + public Object lookup(String name) throws NamingException + { + try + { + return service.resolve_str(name); + } + catch (NotFound e) + { + throw new NameNotFoundException(); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Not supported. + */ + public Object lookupLink(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public Object lookupLink(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Give the specified name for the specified object. Unlike bind, this method + * silently replaces the existing binding for this name, if one exists. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rebind(Name name, Object obj) throws NamingException + { + try + { + org.omg.CORBA.Object object = (org.omg.CORBA.Object) obj; + service.rebind(toGiop(name), object); + } + catch (ClassCastException e) + { + throw new NamingException(org.omg.CORBA.Object.class + " required "); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Give the specified name for the specified object. Unlike bind, this method + * silently replaces the existing binding for this name, if one exists. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rebind(String name, Object obj) throws NamingException + { + try + { + org.omg.CORBA.Object object = (org.omg.CORBA.Object) obj; + service.rebind(transformer.toName(name), object); + } + catch (ClassCastException e) + { + throw new NamingException(org.omg.CORBA.Object.class + " required "); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Renames the existing binding, removing the existing and giving the new name + * for the same object. + * + * @param oldName + * the existing name of the known object + * @param newName + * the new name of the same object + * @throws NameNotFoundException + * if the oldName is unknown for this context + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rename(Name oldName, Name newName) throws NamingException + { + Object object = lookup(oldName); + unbind(oldName); + bind(newName, object); + } + + /** + * Renames the existing binding, removing the existing and giving the new name + * for the same object. + * + * @param oldName + * the existing name of the known object + * @param newName + * the new name of the same object + * @throws NameNotFoundException + * if the oldName is unknown for this context + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rename(String oldName, String newName) throws NamingException + { + Object object = lookup(oldName); + unbind(oldName); + bind(newName, object); + } + + /** + * Removes the name - object mapping from the current context. This method + * returns without action if the name is not bound to an object in the + * terminal context, but throws {@link NameNotFoundException} if one of the + * intermadiate contexts does not exist. + * + * @param name + * the name to be removed + * @throws NameNotFoundException + * if one of the intermediate naming contexts does not exist. Will + * not be thrown if just the terminal binding is missing. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void unbind(Name name) throws NamingException + { + try + { + service.unbind(toGiop(name)); + } + catch (NotFound e) + { + throw new NameNotFoundException(); + } + catch (CannotProceed e) + { + throw new ContextNotEmptyException(); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + } + + /** + * Removes the name - object mapping from the current context. This method + * returns without action if the name is not bound to an object in the + * terminal context, but throws {@link NameNotFoundException} if one of the + * intermadiate contexts does not exist. + * + * @param name + * the name to be removed + * @throws NameNotFoundException + * if one of the intermediate naming contexts does not exist. Will + * not be thrown if just the terminal binding is missing. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void unbind(String name) throws NamingException + { + try + { + service.unbind(transformer.toName(name)); + } + catch (NotFound e) + { + throw new NameNotFoundException(name); + } + catch (CannotProceed e) + { + throw new ContextNotEmptyException(name); + } + catch (InvalidName e) + { + throw new InvalidNameException(name); + } + } + + /** + * Add new environment property to the environment of this context. Both name + * and value of the new property must not be null. If the property is already + * defined, is current value is replaced by the propVal. + * + * @param propName + * the name of the new property + * @param propVal + * the value of the new property + * @return the previous value of this property or null if the property has not + * been previously defined + * @throws NamingException + */ + public Object addToEnvironment(String key, Object value) + throws NamingException + { + if (key == null || value == null) + throw new NullPointerException(); + return properties.put(key, value); + } + + /** + * Returns the environment, associated with this naming context. The returned + * table should never be modified by the caller. Use {@link #addToEnvironment} + * and {@link #removeFromEnvironment} to modify the environement, if needed. + * + * @return the table, representing the environment of this context + * @throws NamingException + */ + public Hashtable getEnvironment() throws NamingException + { + return properties; + } + + /** + * Removes the property with the given name from the environment. Returns + * without action if this property is not defined. + * + * @param propName + * the name of the property being removed. + * @return the value of the property that has been removed or null if the + * property was not defined. + * @throws NamingException + */ + public Object removeFromEnvironment(String propName) throws NamingException + { + return properties.remove(propName); + } + + /** + * Convert the {@link Name} into array of the name components, required to the + * CORBA naming service. First the string representation is obtained, then + * it is converted using parsing rules of the CORBA name. + * + * @param name + * then name to convert + * @return the converted array of components. + */ + public NameComponent[] toGiop(Name name) throws InvalidName + { + return transformer.toName(name.toString()); + } + + /** + * Get the batch size from the environment properties. The batch size is used + * for listing operations. + * + * @return the batch size, or some default value if not specified. + */ + public int getBatchSize() + { + int batchSize = DEFAULT_BATCH_SIZE; + Object bs = properties.get(Context.BATCHSIZE); + if (bs != null) + { + try + { + int b = Integer.parseInt(bs.toString()); + if (b >= 0) + batchSize = b; + } + catch (NumberFormatException e) + { + // OK, use default value. + } + } + return batchSize; + } + + +} diff --git a/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java b/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java new file mode 100644 index 00000000000..397b1c7d9e4 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/CorbalocParser.java @@ -0,0 +1,439 @@ +/* CorbalocParser.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + +package gnu.javax.naming.giop; + +import gnu.CORBA.IOR; +import gnu.CORBA.Minor; +import gnu.CORBA.Unexpected; +import gnu.CORBA.Version; +import gnu.CORBA.NamingService.NameTransformer; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLDecoder; +import java.util.StringTokenizer; + +import javax.naming.InvalidNameException; + +import org.omg.CORBA.BAD_PARAM; +import org.omg.CORBA.DATA_CONVERSION; +import org.omg.CORBA.ORB; +import org.omg.CORBA.Object; +import org.omg.CORBA.ORBPackage.InvalidName; + +/** + * Parses the alternative IOR representations into our IOR structure. + * + * TODO This parser currently supports only one address per target string. A + * string with the multiple addresses will be accepted, but only the last + * address will be taken into consideration. The fault tolerance is not yet + * implemented. + * + * The key string is filtered using {@link java.net.URLDecoder} that replaces + * the agreed escape sequences by the corresponding non alphanumeric characters. + * + * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) + */ +public class CorbalocParser + extends NameTransformer +{ + /** + * The corbaloc prefix. + */ + public static final String pxCORBALOC = "corbaloc"; + + /** + * The corbaname prefix. + */ + public static final String pxCORBANAME = "corbaname"; + + /** + * The IOR prefix. + */ + public static final String pxIOR = "ior"; + + /** + * The file:// prefix. + */ + public static final String pxFILE = "file://"; + + /** + * The ftp:// prefix. + */ + public static final String pxFTP = "ftp://"; + + /** + * The http:// prefix. + */ + public static final String pxHTTP = "http://"; + + /** + * Marks iiop protocol. + */ + public static final String IIOP = "iiop"; + + /** + * Marks rir protocol. + */ + public static final String RIR = "rir"; + + /** + * The default port value, as specified in OMG documentation. + */ + public static final int DEFAULT_PORT = 2809; + + /** + * The default name. + */ + public static final String DEFAULT_NAME = "NameService"; + + /** + * The string to name converter, initialized on demand. + */ + static NameTransformer converter; + + /** + * The current position. + */ + int p; + + /** + * The address being parsed, splitted into tokens. + */ + String[] t; + + /** + * Parse CORBALOC. + * + * The expected format is:
    + * 1. corbaloc:[iiop][version.subversion@]:host[:port]/key
    + * 2. corbaloc:rir:[/key]
    + * 3. corbaname:[iiop][version.subversion@]:host[:port]/key
    + * 4. corbaname:rir:[/key]
    + * 5. file://[file name]
    + * 6. http://[url]
    + * 7. ftp://[url]
    + * + * Protocol defaults to IOP, the object key defaults to the NameService. + * + * @param corbaloc the string to parse. + * @param orb the ORB, needed to create IORs and resolve rir references. + * + * @return the arrey of strings, first member being the IOR of the + * naming service, second member the name in the naming service. + */ + public synchronized String[] corbaloc(String corbaloc, + ORB orb) + throws InvalidNameException + { + return corbaloc(corbaloc, orb, 0); + } + + /** + * Parse controlling against the infinite recursion loop. + */ + private String[] corbaloc(String corbaloc, + ORB orb, int recursion) throws InvalidNameException + { + // The used CORBA specification does not state how many times we should to + //redirect, but the infinite loop may be used to knock out the system. + // by malicious attempt. + if (recursion > 10) + throw new DATA_CONVERSION("More than 10 redirections"); + + if (corbaloc.startsWith(pxFILE)) + return corbaloc(readFile(corbaloc.substring(pxFILE.length())), orb, recursion+1); + else if (corbaloc.startsWith(pxHTTP)) + return corbaloc(readUrl(corbaloc), orb, recursion+1); + else if (corbaloc.startsWith(pxFTP)) + return corbaloc(readUrl(corbaloc), orb, recursion+1); + + // The version numbers with default values. + int major = 1; + int minor = 0; + + // The host address. + String host; + + // The port. + int port = DEFAULT_PORT; + + // The object key as string. + String key; + + StringTokenizer st = new StringTokenizer(corbaloc, ":@/.,#", true); + + t = new String[st.countTokens()]; + + for (int i = 0; i < t.length; i++) + { + t[i] = st.nextToken(); + } + + p = 0; + + if (!t[p].startsWith(pxCORBANAME)) + throw new InvalidNameException(corbaloc+" must start with "+pxCORBANAME); + + p++; + + if (!t[p++].equals(":")) + throw new BAD_PARAM("Syntax (':' expected after name prefix)"); + + // Check for rir: + if (t[p].equals(RIR)) + { + p++; + if (!t[p++].equals(":")) + throw new BAD_PARAM("':' expected after 'rir'"); + + key = readKey("/"); + + Object object; + try + { + object = orb.resolve_initial_references(key); + return resolve(orb.object_to_string(object)); + } + catch (InvalidName e) + { + throw new BAD_PARAM("Unknown initial reference '" + key + "'"); + } + } + else + // Check for iiop. + if (t[p].equals(IIOP) || t[p].equals(":")) + { + IOR ior = new IOR(); + + Addresses: do + { // Read addresses. + if (t[p].equals(":")) + { + p++; + } + else + { + p++; + if (!t[p++].equals(":")) + throw new BAD_PARAM("':' expected after 'iiop'"); + // Check if version is present. + if (t[p + 1].equals(".")) + if (t[p + 3].equals("@")) + { + // Version info present. + try + { + major = Integer.parseInt(t[p++]); + } + catch (NumberFormatException e) + { + throw new BAD_PARAM("Major version number '" + + t[p - 1] + "'"); + } + p++; // '.' at this point. + try + { + minor = Integer.parseInt(t[p++]); + } + catch (NumberFormatException e) + { + throw new BAD_PARAM("Major version number '" + + t[p - 1] + "'"); + } + p++; // '@' at this point. + } + } + + ior.Internet.version = new Version(major, minor); + + // Then host data goes till '/' or ':'. + StringBuffer bhost = new StringBuffer(corbaloc.length()); + while (!t[p].equals(":") && !t[p].equals("/") && !t[p].equals(",")) + bhost.append(t[p++]); + + host = bhost.toString(); + + ior.Internet.host = host; + + if (t[p].equals(":")) + { + // Port specified. + p++; + try + { + port = Integer.parseInt(t[p++]); + } + catch (NumberFormatException e) + { + throw new BAD_PARAM("Invalid port '" + t[p - 1] + "'"); + } + } + + ior.Internet.port = port; + + // Id is not listed. + ior.Id = ""; + + if (t[p].equals(",")) + p++; + else + break Addresses; + } + while (true); + + key = readKey("/"); + ior.key = key.getBytes(); + + return resolve(ior.toStringifiedReference()); + } + + else + throw new InvalidNameException("Unsupported protocol '" + t[p] + + "' (iiop expected)"); + } + + /** + * Read IOR from the file in the local file system. + */ + String readFile(String file) + { + File f = new File(file); + if (!f.exists()) + { + DATA_CONVERSION err = new DATA_CONVERSION(f.getAbsolutePath() + + " does not exist."); + err.minor = Minor.Missing_IOR; + } + try + { + char[] c = new char[(int) f.length()]; + FileReader fr = new FileReader(f); + fr.read(c); + fr.close(); + return new String(c).trim(); + } + catch (IOException ex) + { + DATA_CONVERSION d = new DATA_CONVERSION(); + d.initCause(ex); + d.minor = Minor.Missing_IOR; + throw (d); + } + } + + /** + * Read IOR from the remote URL. + */ + String readUrl(String url) + { + URL u; + try + { + u = new URL(url); + } + catch (MalformedURLException mex) + { + throw new BAD_PARAM("Malformed URL: '" + url + "'"); + } + + try + { + InputStreamReader r = new InputStreamReader(u.openStream()); + + StringBuffer b = new StringBuffer(); + int c; + + while ((c = r.read()) > 0) + b.append((char) c); + + return b.toString().trim(); + } + catch (Exception exc) + { + DATA_CONVERSION d = new DATA_CONVERSION("Reading " + url + " failed."); + d.minor = Minor.Missing_IOR; + throw d; + } + } + + private String[] resolve(String nsIor) + { + String [] n = new String[2]; + n[0] = nsIor; + n[1] = readKey("#"); + return n; + } + + private String readKey(String delimiter) + throws BAD_PARAM + { + if (p < t.length) + if (!t[p].equals(delimiter)) + { + if (t[p].equals("#")) + return DEFAULT_NAME; + else + throw new BAD_PARAM("'" + delimiter + "String' expected '" + t[p] + + "' found"); + } + + StringBuffer bKey = new StringBuffer(); + p++; + + while (p < t.length && !t[p].equals("#")) + bKey.append(t[p++]); + + if (bKey.length() == 0) + return DEFAULT_NAME; + + try + { + return URLDecoder.decode(bKey.toString(), "UTF-8"); + } + catch (UnsupportedEncodingException e) + { + throw new Unexpected("URLDecoder does not support UTF-8", e); + } + } +} diff --git a/libjava/classpath/gnu/javax/naming/giop/GiopNamingEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/GiopNamingEnumeration.java new file mode 100644 index 00000000000..9b93f8bb6a8 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/GiopNamingEnumeration.java @@ -0,0 +1,187 @@ +/* GiopNamingEnumeration.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.giop; + +import java.util.NoSuchElementException; + +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; + +import org.omg.CosNaming.Binding; +import org.omg.CosNaming.BindingIterator; +import org.omg.CosNaming.BindingIteratorHolder; +import org.omg.CosNaming.BindingListHolder; + +/** + * Iterates over name class pairs, obtaining values first from the binding list + * and then from the binding iterator. + * + * @author Audrius Meskauskas + */ +public abstract class GiopNamingEnumeration implements NamingEnumeration +{ + /** + * The array of bindings, returned at once. + */ + Binding[] list; + + /** + * The binding iterator to obtain the subsequent bindings. May be null, + * if all values are stored in the list. + */ + BindingIterator iterator; + + /** + * The batch size. + */ + int batch; + + /** + * The position of the element in the binding list, that must be returned + * during the subsequent call of the next(). If this field is grater or equal + * to the lenght of the list, the subsequent values must be requested from the + * iterator. + */ + int p; + + GiopNamingEnumeration(BindingListHolder bh, BindingIteratorHolder bih, int batchSize) + { + list = bh.value; + iterator = bih.value; + batch = batchSize; + } + + /** + * Convert from the CORBA binding into that this enumeration should return. + * + * @param binding + * the binding to convert + * @return the value, that must be returned by the {@link #next()}. + */ + public abstract Object convert(Binding binding); + + public void close() throws NamingException + { + if (iterator != null) + { + iterator.destroy(); + iterator = null; + } + } + + /** + * Checks if there are more elements to return. + * + * @throws NamingException + * never + */ + public boolean hasMore() throws NamingException + { + return hasMoreElements(); + } + + /** + * Returns the next element. + * + * @throws NamingException + * never + */ + public Object next() throws NamingException + { + return nextElement(); + } + + /** + * Checks if there are more elements to return. + */ + public boolean hasMoreElements() + { + if (p < 0) + return false; + else if (p < list.length) + return true; + else + return getMore(); + } + + /** + * Returns the next element. + */ + public Object nextElement() + { + if (p < 0) + throw new NoSuchElementException(); + else if (p < list.length) + return convert(list[p++]); + else if (getMore()) + // getMore updates p + return convert(list[p++]); + else + throw new NoSuchElementException(); + } + + /** + * Tries to obtain more elements, return true on success. Updates the fields + * accordingly. + */ + boolean getMore() + { + if (iterator != null) + { + BindingListHolder holder = new BindingListHolder(); + boolean rt = iterator.next_n(batch, holder); + if (rt) + { + // The new pack of the bindings arrived. + p = 0; + list = holder.value; + return true; + } + else + { + iterator.destroy(); + iterator = null; + p = -1; + return false; + } + } + else + return false; + } +} diff --git a/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java new file mode 100644 index 00000000000..84aa3241365 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java @@ -0,0 +1,177 @@ +/* GiopNamingServiceFactory.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.giop; + +import gnu.CORBA.OrbFunctional; + +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import java.util.TreeMap; + +import javax.naming.Context; +import javax.naming.Name; + +import org.omg.CORBA.ORB; + +/** + * The context factory to represent the corbaname: style urls. Such URL states + * that the CORBA naming service exists on the given host. This service can + * return the required object, finding it by the given name. The names are + * parsed using the specification of the corbaname urls. Being the naming + * service, the returned context supports creating the subcontexts, forwarding + * this task to the existing naming service. + * + * @author Audrius Meskauskas (audriusa@Bioinformatics.org) + */ +public class GiopNamingServiceFactory +{ + /** + * The default naming service provider. It is assumed, that the naming service + * is running on the port 900 of the local host, using the GIOP version 1.2 + */ + public static final String DEFAULT_PROVIDER = + "corbaloc:iiop:1.2@127.0.0.1:900/NameService"; + + /** + * The table of all instantiated ORB's that are found by they ORB + * properties signatures. If all ORB related properties are the same, + * the ORB's are shared. + */ + public static Hashtable orbs = new Hashtable(); + + + /** + * Create a new instance of the corbaname URL context. + */ + public Object getObjectInstance(Object refObj, Name name, Context nameCtx, + Hashtable environment) + { + String provider = (String) environment.get(Context.PROVIDER_URL); + if (provider == null) + provider = DEFAULT_PROVIDER; + + String orbSignature = getOrbSignature(environment); + + ORB orb; + synchronized (orbs) + { + orb = (ORB) orbs.get(orbSignature); + if (orb == null) + { + Properties props = new Properties(); + props.putAll(environment); + orb = ORB.init(new String[0], props); + orbs.put(orbSignature, orb); + final ORB runIt = orb; + new Thread() + { + public void run() + { + runIt.run(); + } + }.start(); + } + } + + return new GiopNamingServiceURLContext(environment, this, orb); + } + + /** + * Check if this ORB is still in use (maybe it is time to shutdown it). This + * method only works when the Classpath CORBA implementation is used + * (otherwise it return without action). The method is called from the close() + * method of the created context. + * + * @param orb + * the ORB that maybe is no longer referenced. + */ + public void checkIfReferenced(ORB orb) + { + synchronized (orbs) + { + // We can only do this with the Classpath implementation. + if (orb instanceof OrbFunctional) + { + OrbFunctional cOrb = (OrbFunctional) orb; + // If there are no connected objects, we can destroy the orb. + if (cOrb.countConnectedObjects() == 0) + { + cOrb.shutdown(false); + cOrb.destroy(); + + Enumeration keys = orbs.keys(); + Object key; + Remove: while (keys.hasMoreElements()) + { + key = keys.nextElement(); + if (orbs.get(key) == orb) + { + orbs.remove(key); + break Remove; + } + } + } + } + } + } + + /** + * Get all properties. + */ + public String getOrbSignature(Map props) + { + TreeMap map = new TreeMap(); + map.putAll(props); + StringBuffer b = new StringBuffer(50*props.size()); + + Iterator iter = map.entrySet().iterator(); + Map.Entry m; + while (iter.hasNext()) + { + m = (Map.Entry) iter.next(); + b.append(m.getKey()); + b.append('='); + b.append(m.getValue()); + } + return b.toString(); + } +} diff --git a/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceURLContext.java b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceURLContext.java new file mode 100644 index 00000000000..50446ac7edd --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/GiopNamingServiceURLContext.java @@ -0,0 +1,840 @@ +/* GiopNamingServiceURLContext.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.giop; + +import gnu.CORBA.NamingService.Ext; +import gnu.CORBA.NamingService.NameTransformer; + +import java.util.Hashtable; + +import javax.naming.Binding; +import javax.naming.Context; +import javax.naming.ContextNotEmptyException; +import javax.naming.InvalidNameException; +import javax.naming.Name; +import javax.naming.NameAlreadyBoundException; +import javax.naming.NameClassPair; +import javax.naming.NameNotFoundException; +import javax.naming.NameParser; +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; +import javax.naming.OperationNotSupportedException; +import javax.naming.directory.InvalidAttributesException; + +import org.omg.CORBA.ORB; +import org.omg.CORBA.portable.Delegate; +import org.omg.CORBA.portable.ObjectImpl; +import org.omg.CosNaming.BindingIteratorHolder; +import org.omg.CosNaming.BindingListHolder; +import org.omg.CosNaming.NameComponent; +import org.omg.CosNaming.NamingContext; +import org.omg.CosNaming.NamingContextExt; +import org.omg.CosNaming.NamingContextExtHelper; +import org.omg.CosNaming.NamingContextHelper; +import org.omg.CosNaming._NamingContextExtStub; +import org.omg.CosNaming._NamingContextStub; +import org.omg.CosNaming.NamingContextPackage.AlreadyBound; +import org.omg.CosNaming.NamingContextPackage.CannotProceed; +import org.omg.CosNaming.NamingContextPackage.InvalidName; +import org.omg.CosNaming.NamingContextPackage.NotFound; + +/** + * The context to represent the corba naming service. Being the naming service, + * the returned context supports creating the subcontexts, forwarding this task + * to the existing naming service. When listing bindings, it uses the + * {@link Context#BATCHSIZE} property to determine, how many bindings should + * be returned at once (the process is transparend) + * + * @author Audrius Meskauskas (audriusa@Bioinformatics.org) + */ +public class GiopNamingServiceURLContext extends CorbalocParser implements + Context +{ + /** + * This number of bindings will be requested from the naming server at once, + * while the subsequent bindings will be requested via binding iterator one by + * one. Use {@link Context#BATCHSIZE} to override the value of this constant. + */ + public int DEFAULT_BATCH_SIZE = 20; + + /** + * The object request broker, used to access the naming service. This field + * is only initialised when the context is constructed from the URL. + */ + ORB orb; + + /** + * The properties. + */ + Hashtable properties; + + /** + * The parent factory. + */ + GiopNamingServiceFactory factory; + + /** + * The name transformer to obtain the name from its string representation. The + * to_name method of the naming service is avoided as it may be remote and + * hence expensive. The conversion rules are standard and cannot be service + * specific. + */ + static NameTransformer transformer = new NameTransformer(); + + /** + * The batch size for list operations - how many to return at once. + */ + public final int howMany; + + /** + * Creates a new naming context that uses naming service, represented by the + * given CORBA object. + * + * @param props + * the environment table. + * @param aFactory + * parent factory. This reference is used during cleanup. + * @param anOrb + * the associated ORB. This reference is used during cleanup. + */ + public GiopNamingServiceURLContext(Hashtable props, + GiopNamingServiceFactory aFactory, + ORB anOrb) + { + factory = aFactory; + orb = anOrb; + + properties = props; + howMany = getBatchSize(); + } + + public NamingContextExt getService(String address) + { + org.omg.CORBA.Object nsObject = orb.string_to_object(address); + Delegate delegate = ((ObjectImpl) nsObject)._get_delegate(); + + // If the IOR provides the IDL ID, we can check if our name + // service is old NamingContext or new NamingContextExt. + // Not all forms of the URL always provide the IDL id. + if (!nsObject._is_a(NamingContextExtHelper.id()) + && nsObject._is_a(NamingContextHelper.id())) + { + // We are surely working with the old version. + _NamingContextStub stub = new _NamingContextStub(); + stub._set_delegate(delegate); + // The Ext object will add the necessary extensions. + return new Ext(stub); + } + else + { + // We expecte the service to be the NamingContextExt (this is true + // for both Sun's and our implementations). There is no easy way + // to check the version. + _NamingContextExtStub stub = new _NamingContextExtStub(); + stub._set_delegate(delegate); + return stub; + } + } + + /** + * Split the corbaname name into the address of the naming service (first + * part) and the name of the object in the naming service (second part) + */ + public String[] split(String corbaloc) throws InvalidNameException + { + if (corbaloc.endsWith("#")) + corbaloc = corbaloc.substring(0, corbaloc.length() - 1); + + // No name part - parse as corbaname. + if (corbaloc.indexOf('#') < 0) + { + if (!corbaloc.regionMatches(true, 0, pxCORBANAME, 0, + pxCORBANAME.length())) + throw new InvalidNameException(corbaloc + " must start with " + + pxCORBANAME); + corbaloc = pxCORBALOC + corbaloc.substring(pxCORBANAME.length()); + return new String[] { corbaloc, "" }; + } + + return corbaloc(corbaloc, orb); + } + + /** + * Give the specified name for the specified object. The passed name must not + * be already bound to some other object. The components of the name are + * mapped into the components of the CORBA name. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws NameAlreadyBoundException + * if this name is already used to name some object. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void bind(Name name, Object obj) throws NamingException + { + bind(name.toString(), obj); + } + + /** + * Give the specified name for the specified object. The passed name must not + * be already bound to some other object. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws NameAlreadyBoundException + * if this name is already used to name some object. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void bind(String name, Object obj) throws NamingException + { + try + { + String[] n = split(name); + org.omg.CORBA.Object object = (org.omg.CORBA.Object) obj; + getService(n[0]).bind(transformer.toName(n[1]), object); + } + catch (ClassCastException e) + { + throw new NamingException(org.omg.CORBA.Object.class + " required "); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (AlreadyBound e) + { + throw new NameAlreadyBoundException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Releases all resources, associated with this context. The close() method + * can be called several times, but after it has been once invoked, it is not + * allowed to call any other method of this context. This method destroys + * the ORB, if we have one. + * + * @throws NamingException + */ + public void close() throws NamingException + { + if (orb != null && factory != null) + { + factory.checkIfReferenced(orb); + } + } + + /** + * Not supported. + */ + public Name composeName(Name name, Name prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported + */ + public String composeName(String name1, String name2) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Creates the new naming subcontext and binds it to the current (this) + * context. The returned object will wrap around the newly created CORBA + * subcontext + * + * @param subContext + * the name of the new context being created + * @return the newly created context, bound to the instance of the context on + * that the method has been called + * @throws NameAlreadyBoundException + * if this name is already bound + * @throws InvalidAttributesException + * if the creation of the new context requires the missing mandatory + * attributes + * @throws NamingException + */ + public Context createSubcontext(Name subContext) throws NamingException + { + return createSubcontext(subContext.toString()); + } + + /** + * Creates the new naming subcontext and binds it to the current (this) + * context. The returned object will wrap around the newly created CORBA + * subcontext + * + * @param subContext + * the name of the new context being created + * @return the newly created context, bound to the instance of the context on + * that the method has been called + * @throws NameAlreadyBoundException + * if this name is already bound + * @throws InvalidAttributesException + * if the creation of the new context requires the missing mandatory + * attributes + * @throws NamingException + */ + public Context createSubcontext(String subContext) throws NamingException + { + try + { + String[] n = split(subContext); + org.omg.CORBA.Object subcontext = getService(n[0]).bind_new_context( + transformer.toName(n[1])); + Hashtable clonedProps = new Hashtable(); + clonedProps.putAll(properties); + + // Nulls are passed both for orb and factory, as the child contexts + // need not to do any cleanup. + return new ContextContinuation(subcontext, clonedProps, null, null); + } + catch (AlreadyBound e) + { + throw new NameAlreadyBoundException(subContext); + } + catch (InvalidName e) + { + throw new InvalidNameException(subContext); + } + catch (Exception ex) + { + throw new NamingException(ex.toString()); + } + } + + /** + * Removes the naming subcontext from this naming context. Returns without + * action if such subcontext does not exist. The context being destroyed must + * be empty. + * + * @param subContext + * the name of the subcontext beig removed. + * @throws ContextNotEmptyException + * if the named context is not empty. + * @throws NamingException + */ + public void destroySubcontext(Name subContext) throws NamingException + { + unbind(subContext); + } + + /** + * Removes the naming subcontext from this naming context. Returns without + * action if such subcontext does not exist. The context being destroyed must + * be empty. + * + * @param subContext + * the name of the subcontext beig removed. + * @throws ContextNotEmptyException + * if the named context is not empty. + * @throws NamingException + */ + public void destroySubcontext(String subContext) throws NamingException + { + unbind(subContext); + } + + /** + * Returs the empty string. + */ + public String getNameInNamespace() throws NamingException + { + return ""; + } + + /** + * Not supported. + */ + public NameParser getNameParser(Name name) throws NamingException + { + throw new UnsupportedOperationException(); + } + + /** + * Not supported. + */ + public NameParser getNameParser(String name) throws NamingException + { + throw new UnsupportedOperationException(); + } + + /** + * Creates and returns the enumeration over the name bindings that are present + * the given subcontext. The enumeration elements have the type of + * {@link NameClassPair}, providing also information about the class of the + * bound object. The behaviour in the case if the bindings are added or + * removed later is not defined. The contents of the subcontexts are not + * included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration list(Name name) throws NamingException + { + return list(name.toString()); + } + + /** + * Creates and returns the enumeration over the name bindings that are present + * the given subcontext. The enumeration elements have the type of + * {@link NameClassPair}, providing also information about the class of the + * bound object. The behaviour in the case if the bindings are added or + * removed later is not defined. The contents of the subcontexts are not + * included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration list(String name) throws NamingException + { + BindingIteratorHolder bi = new BindingIteratorHolder(); + BindingListHolder bl = new BindingListHolder(); + + NamingContext subcontext; + + String [] n = split(name); + NamingContextExt service = getService(n[0]); + + if (n[1].length() == 0) + subcontext = service; + else + { + try + { + subcontext = (NamingContextHelper.narrow(service.resolve_str(n[1]))); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + + } + + subcontext.list(howMany, bl, bi); + + return new ListEnumeration(bl, bi, howMany); + } + + /** + * Creates and returns the enumeration over the name - object bindings that + * are present the given subcontext. The enumeration elements have the type of + * {@link Binding}, providing also information about the class of the bound + * object. The behaviour in the case if the bindings are added or removed + * later is not defined. The contents of the subcontexts are not included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration listBindings(Name name) throws NamingException + { + return listBindings(name.toString()); + } + + /** + * Creates and returns the enumeration over the name - object bindings that + * are present the given subcontext. The enumeration elements have the type of + * {@link Binding}, providing also information about the class of the bound + * object. The behaviour in the case if the bindings are added or removed + * later is not defined. The contents of the subcontexts are not included. + * + * @param name + * the name of the subcontext + * @return the enumeration over the names, known for the given subcontext. + * @throws NamingException + */ + public NamingEnumeration listBindings(String name) throws NamingException + { + BindingIteratorHolder bi = new BindingIteratorHolder(); + BindingListHolder bl = new BindingListHolder(); + + NamingContext subcontext; + + String [] n = split(name); + NamingContextExt service = getService(n[0]); + + if (n[1].length() == 0) + subcontext = service; + else + { + try + { + subcontext = (NamingContextHelper.narrow(service.resolve_str(n[1]))); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + + } + + subcontext.list(howMany, bl, bi); + + return new ListBindingsEnumeration(bl, bi, howMany, subcontext); + } + + /** + * Gets the previously named object by name. If the passed name is empty, the + * method should return a cloned instance of this naming context. + * + * @param name + * the name of the object being searched in this context + * @return the named object + * @throws NameNotFoundException + * if the name is not found + */ + public Object lookup(Name name) throws NamingException + { + return lookup(name.toString()); + } + + /** + * Gets the previously named object by name. If the passed name is empty, the + * method should return a cloned instance of this naming context. + * + * @param name + * the name of the object being searched in this context + * @return the named object + * @throws NamingException + * if the naming fails. + */ + public Object lookup(String name) throws NamingException + { + try + { + String [] n = split(name); + NamingContextExt service = getService(n[0]); + return service.resolve_str(n[1]); + } + catch (NotFound e) + { + throw new NameNotFoundException(); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Not supported. + */ + public Object lookupLink(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public Object lookupLink(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Give the specified name for the specified object. Unlike bind, this method + * silently replaces the existing binding for this name, if one exists. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rebind(Name name, Object obj) throws NamingException + { + rebind(name.toString(), obj); + } + + /** + * Give the specified name for the specified object. Unlike bind, this method + * silently replaces the existing binding for this name, if one exists. + * + * @param name + * the name that will be given to the object (in the scope of this + * context). + * @param obj + * the object being named. + * @throws InvalidAttributesException + * if the object does not supply all required attributes. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rebind(String name, Object obj) throws NamingException + { + try + { + String[] n = split(name); + NamingContextExt service = getService(n[0]); + + org.omg.CORBA.Object object = (org.omg.CORBA.Object) obj; + service.rebind(transformer.toName(n[1]), object); + } + catch (ClassCastException e) + { + throw new NamingException(org.omg.CORBA.Object.class + " required "); + } + catch (InvalidName e) + { + throw new InvalidNameException(); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Renames the existing binding, removing the existing and giving the new name + * for the same object. + * + * @param oldName + * the existing name of the known object + * @param newName + * the new name of the same object + * @throws NameNotFoundException + * if the oldName is unknown for this context + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rename(Name oldName, Name newName) throws NamingException + { + Object object = lookup(oldName); + unbind(oldName); + bind(newName, object); + } + + /** + * Renames the existing binding, removing the existing and giving the new name + * for the same object. + * + * @param oldName + * the existing name of the known object + * @param newName + * the new name of the same object + * @throws NameNotFoundException + * if the oldName is unknown for this context + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void rename(String oldName, String newName) throws NamingException + { + Object object = lookup(oldName); + unbind(oldName); + bind(newName, object); + } + + /** + * Removes the name - object mapping from the current context. This method + * returns without action if the name is not bound to an object in the + * terminal context, but throws {@link NameNotFoundException} if one of the + * intermadiate contexts does not exist. + * + * @param name + * the name to be removed + * @throws NameNotFoundException + * if one of the intermediate naming contexts does not exist. Will + * not be thrown if just the terminal binding is missing. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void unbind(Name name) throws NamingException + { + unbind(name.toString()); + } + + /** + * Removes the name - object mapping from the current context. This method + * returns without action if the name is not bound to an object in the + * terminal context, but throws {@link NameNotFoundException} if one of the + * intermadiate contexts does not exist. + * + * @param name + * the name to be removed + * @throws NameNotFoundException + * if one of the intermediate naming contexts does not exist. Will + * not be thrown if just the terminal binding is missing. + * @throws NamingException + * if the naming operation has failed due other reasons. + */ + public void unbind(String name) throws NamingException + { + try + { + String[] n = split(name); + NamingContextExt service = getService(n[0]); + + service.unbind(transformer.toName(n[1])); + } + catch (NotFound e) + { + throw new NameNotFoundException(name); + } + catch (CannotProceed e) + { + throw new ContextNotEmptyException(name); + } + catch (InvalidName e) + { + throw new InvalidNameException(name); + } + } + + /** + * Add new environment property to the environment of this context. Both name + * and value of the new property must not be null. If the property is already + * defined, is current value is replaced by the propVal. + * + * @param key + * the name of the new property + * @param value + * the value of the new property + * @return the previous value of this property or null if the property has not + * been previously defined + * @throws NamingException + */ + public Object addToEnvironment(String key, Object value) + throws NamingException + { + if (key == null || value == null) + throw new NullPointerException(); + return properties.put(key, value); + } + + /** + * Returns the environment, associated with this naming context. The returned + * table should never be modified by the caller. Use {@link #addToEnvironment} + * and {@link #removeFromEnvironment} to modify the environement, if needed. + * + * @return the table, representing the environment of this context + * @throws NamingException + */ + public Hashtable getEnvironment() throws NamingException + { + return properties; + } + + /** + * Removes the property with the given name from the environment. Returns + * without action if this property is not defined. + * + * @param propName + * the name of the property being removed. + * @return the value of the property that has been removed or null if the + * property was not defined. + * @throws NamingException + */ + public Object removeFromEnvironment(String propName) throws NamingException + { + return properties.remove(propName); + } + + /** + * Convert the {@link Name} into array of the name components, required to the + * CORBA naming service. First the string representation is obtained, then + * it is converted using parsing rules of the CORBA name. + * + * @param name + * then name to convert + * @return the converted array of components. + */ + public NameComponent[] toGiop(Name name) throws InvalidName + { + return transformer.toName(name.toString()); + } + + /** + * Get the batch size from the environment properties. The batch size is used + * for listing operations. + * + * @return the batch size, or some default value if not specified. + */ + public int getBatchSize() + { + int batchSize = DEFAULT_BATCH_SIZE; + Object bs = properties.get(Context.BATCHSIZE); + if (bs != null) + { + try + { + int b = Integer.parseInt(bs.toString()); + if (b >= 0) + batchSize = b; + } + catch (NumberFormatException e) + { + // OK, use default value. + } + } + return batchSize; + } + +} diff --git a/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java new file mode 100644 index 00000000000..00f4a0779c7 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java @@ -0,0 +1,116 @@ +/* ListBindingsEnumeration.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.giop; + +import javax.naming.NamingEnumeration; + +import org.omg.CosNaming.Binding; +import org.omg.CosNaming.BindingIteratorHolder; +import org.omg.CosNaming.BindingListHolder; +import org.omg.CosNaming.NamingContext; + +/** + * Iterates over bindings, obtaining values first from the binding list and then + * from the binding iterator. + * + * @author Audrius Meskauskas + */ +public class ListBindingsEnumeration extends GiopNamingEnumeration implements + NamingEnumeration +{ + /** + * The naming service, to resolve the objects. + */ + NamingContext service; + + /** + * Create the new enumeration + * + * @param bh + * holder, containing the first portion of the bindings + * @param bih + * the iterator, containing the remaining bindings + * @param batchSize + * the number of bindings the the iterator will be requested to + * return as a single pack + * @param aService + * the naming service, used to obtain the objects, bound to the + * names. + */ + public ListBindingsEnumeration(BindingListHolder bh, + BindingIteratorHolder bih, int batchSize, + NamingContext aService) + { + super(bh, bih, batchSize); + service = aService; + } + + /** + * Convert from the CORBA binding into the javax.naming binding. As the CORBA + * naming service binding does not contain the object itself, this method + * makes the additional calls to the naming service. + * + * @param binding + * the binding to convert + * @return the value, that must be returned by the {@link #next()}. + */ + public Object convert(Binding binding) + { + StringBuffer name = new StringBuffer(); + + for (int i = 0; i < binding.binding_name.length; i++) + { + name.append(binding.binding_name[i]); + if (i < binding.binding_name.length - 1) + name.append('/'); + } + + try + { + Object object = service.resolve(binding.binding_name); + return new javax.naming.Binding(name.toString(), object); + } + catch (Exception e) + { + // Probably was removed by the concurent thread. + return null; + } + } + +} diff --git a/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java b/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java new file mode 100644 index 00000000000..2e64e67d393 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/giop/ListEnumeration.java @@ -0,0 +1,116 @@ +/* ListEnumeration.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.giop; + +import javax.naming.NameClassPair; +import javax.naming.NamingEnumeration; + +import org.omg.CosNaming.Binding; +import org.omg.CosNaming.BindingIteratorHolder; +import org.omg.CosNaming.BindingListHolder; +import org.omg.CosNaming.BindingType; +import org.omg.CosNaming.NamingContext; + +/** + * Iterates over name class pairs, obtaining values first from the binding list + * and then from the binding iterator. + * + * @author Audrius Meskauskas + */ +public class ListEnumeration extends GiopNamingEnumeration implements + NamingEnumeration +{ + /** + * Create the new enumeration + * + * @param bh + * holder, containing the first portion of the bindings + * @param bih + * the iterator, containing the remaining bindings + * @param batchSize + * the number of bindings the the iterator will be requested to + * return as a single pack + */ + public ListEnumeration(BindingListHolder bh, + BindingIteratorHolder bih, int batchSize) + { + super(bh, bih, batchSize); + } + + /** + * Convert from the CORBA binding into the {@link NameClassPair} that this + * enumeration should return. This method converts into NameClassPair, + * connecting the name components with slashes and setting the class name + * to either NamingContext or GIOP Object. + * + * @param binding + * the binding to convert + * @return the value, that must be returned by the {@link #next()}. + */ + public Object convert(Binding binding) + { + StringBuffer name = new StringBuffer(); + + for (int i = 0; i < binding.binding_name.length; i++) + { + name.append(binding.binding_name[i]); + if (i < binding.binding_name.length - 1) + name.append('/'); + } + + String className; + + switch (binding.binding_type.value()) + { + case BindingType._ncontext: + className = NamingContext.class.getName(); + break; + case BindingType._nobject: + className = org.omg.CORBA.Object.class.getName(); + break; + default: + className = Object.class.getName(); + break; + } + + NameClassPair pair = new NameClassPair(name.toString(), className); + return pair; + } + +} diff --git a/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java b/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java new file mode 100644 index 00000000000..b20bfa4ea8b --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java @@ -0,0 +1,467 @@ +/* GnuName.java -- implementation of the javax.naming.Name + Copyright (C) 2006 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. */ + +package gnu.javax.naming.ictxImpl.trans; + +import java.util.Enumeration; +import java.util.NoSuchElementException; + +import javax.naming.InvalidNameException; +import javax.naming.Name; + +/** + * The implementation of the {@link Name}. + * + * @author Audrius Meskauskas + */ +public class GnuName + implements Name +{ + /** + * The enumeration to traverse over name components. + */ + class GnuNameEnum + implements Enumeration + { + /** + * Get the new enumeration that enumerates from the given position forward + * + * @param position the position of the first name component to enumerate (0 + * means first element) + */ + GnuNameEnum(int position) + { + nxt = from + position; + } + + /** + * The position of the next enumeration component to be returned or -1 if + * the end has been reached. + */ + int nxt; + + /** + * Check if there are more elements in this enumeration. + */ + public boolean hasMoreElements() + { + return nxt >= 0; + } + + /** + * Return the next element or throw a NoSuchElementException if there is no + * any. + */ + public Object nextElement() + { + if (nxt < 0) + throw new NoSuchElementException(); + Object r = content[nxt++]; + + if (nxt - from == length) + nxt = - 1; + + return r; + } + } + + private static final long serialVersionUID = - 3617482732056931635L; + + /** + * The hashcode + */ + int hash; + + /** + * The content buffer of the name. This buffer may be shared, so the array + * member content should never be modified. + */ + String[] content; + + /** + * The place, inclusive, where the name content starts in the content buffer. + */ + int from; + + /** + * The length of the name. + */ + int length; + + /** + * Creates the unitialised name. + */ + protected GnuName() + { + + } + + /** + * Creates the name, containing from the given chain of the atomic components. + * + * @param name the array, containing the name components. + */ + public GnuName(String[] name) + { + this(name, 0, name.length); + } + + /** + * Creates the name that uses the given portion of the array for its + * components. + */ + public GnuName(String[] buffer, int useFrom, int useLength) + { + content = buffer; + from = useFrom; + length = useLength; + } + + /** + * Inserts the given String component to this Name + * at the given index. The method modifies the current Name and + * then returns it. + * + * @exception ArrayIndexOutOfBoundsException if the given index is smaller + * then zero or greater then or equal to size(). + * @exception InvalidNameException if the given String is not a + * valid component for this Name. + */ + public Name add(int posn, String comp) throws InvalidNameException + { + String[] nc = new String[content.length + 1]; + System.arraycopy(content, from, nc, 0, posn); + nc[posn] = comp; + System.arraycopy(content, from + posn, nc, posn + 1, length - posn); + + content = nc; + from = 0; + length = content.length; + hash = 0; + return this; + } + + /** + * Adds the given String component to the end of this + * Name. The method modifies the current Name + * and then returns it. + * + * @exception InvalidNameException if the given String is not a + * valid component for this Name. + */ + public Name add(String comp) throws InvalidNameException + { + String[] nc = new String[content.length + 1]; + System.arraycopy(content, from, nc, 0, length); + nc[nc.length - 1] = comp; + + content = nc; + from = 0; + length = content.length; + hash = 0; + return this; + } + + /** + * Inserts all the components of the given Name to this + * Name at the given index. Components after this index (if + * any) are shifted up. The method modifies the current Name + * and then returns it. + * + * @exception ArrayIndexOutOfBoundsException if the given index is smaller + * then zero or greater then or equal to size(). + * @exception InvalidNameException if any of the given components is not a + * valid component for this Name. + */ + public Name addAll(int posn, Name n) throws InvalidNameException + { + String[] nc = new String[length + n.size()]; + System.arraycopy(content, from, nc, 0, posn); + + int i = posn; + for (int p = 0; p < n.size(); i++, p++) + nc[i] = n.get(p); + + System.arraycopy(content, from + posn, nc, i, length - posn); + + length = length + n.size(); + hash = 0; + content = nc; + return this; + } + + /** + * Adds all the components of the given Name to the end of this + * Name. The method modifies the current Name + * and then returns it. + * + * @exception InvalidNameException if any of the given components is not a + * valid component for this Name. + */ + public Name addAll(Name suffix) throws InvalidNameException + { + String[] nc = new String[length + suffix.size()]; + System.arraycopy(content, from, nc, 0, length); + + for (int i = length, p = 0; i < nc.length; i++, p++) + nc[i] = suffix.get(p); + + length = length + suffix.size(); + hash = 0; + content = nc; + return this; + } + + /** + * Compares the given object to this Name. Returns a negative + * value if the given Object is smaller then this + * Name, a positive value if the Object is + * bigger, and zero if the are equal. If the Object is not of a + * class that can be compared to the class of this Name then a + * ClassCastException is thrown. Note that it is not guaranteed + * that Names implemented in different classes can be + * compared. The definition of smaller, bigger and equal is up to the actual + * implementing class. + */ + public int compareTo(Object obj) + { + Name n = (Name) obj; + + int l = Math.min(length, n.size()); + int c; + + for (int i = 0; i < l; i++) + { + c = content[from + i].compareTo(n.get(i)); + if (c != 0) + return c; + } + return length - n.size(); + } + + /** + * Returns true if this Name ends with the + * components of the given Name, false + * otherwise. + */ + public boolean endsWith(Name n) + { + if (n.size() > length) + return false; + + int ofs = length - n.size() + from; + + for (int i = 0; i < n.size(); i++, ofs++) + if (! content[ofs].equals(n.get(i))) + return false; + + return true; + } + + /** + * Gets the component at the given index. + * + * @exception ArrayIndexOutOfBoundsException if the given index is smaller + * then zero or greater then or equal to size(). + */ + public String get(int posn) + { + return content[from + posn]; + } + + /** + * Returns a non-null (but possibly empty) Enumeration of the + * components of the Name as Strings. + */ + public Enumeration getAll() + { + return new GnuNameEnum(0); + } + + /** + * Returns the components till the given index as a Name. The + * returned Name can be modified without changing the original. + * + * @param posn the ending position, exclusive + * @exception ArrayIndexOutOfBoundsException if the given index is smaller + * then zero or greater then or equal to size(). + */ + public Name getPrefix(int posn) + { + return new GnuName(content, from, posn); + } + + /** + * Returns the components from the given index till the end as a + * Name. The returned Name can be modified + * without changing the original. + * + * @param posn the starting position, inclusive. If it is equal to the size of + * the name, the empty name is returned. + * @exception ArrayIndexOutOfBoundsException if the given index is smaller + * then zero or greater then or equal to size(). + */ + public Name getSuffix(int posn) + { + return new GnuName(content, from + posn, length - posn); + } + + /** + * Returns true if the number of components of this + * Name is zero, false otherwise. + */ + public boolean isEmpty() + { + return length == 0; + } + + /** + * Removes the component at the given index from this Name. + * The method modifies the current Name and then returns it. + * + * @exception InvalidNameException if the name size reduces below zero. + */ + public Object remove(int posn) throws InvalidNameException + { + if (length == 0) + throw new InvalidNameException("negative size"); + else + { + length--; + if (posn == 0) + from++; + else if (posn < length) + { + String[] nc = new String[length]; + System.arraycopy(content, from, nc, 0, posn); + System.arraycopy(content, from + posn + 1, nc, posn, length - posn); + content = nc; + from = 0; + } + } + hash = 0; + return this; + } + + /** + * Returns the number of components of this Name. The returned + * number can be zero. + */ + public int size() + { + return length; + } + + /** + * Returns true if this Name starts with the + * components of the given Name, false + * otherwise. + */ + public boolean startsWith(Name n) + { + if (n.size() > length) + return false; + + for (int i = 0; i < n.size(); i++) + if (! content[from + i].equals(n.get(i))) + return false; + + return true; + } + + /** + * Returns a clone of this Name. It will be a deep copy of all + * the components of the Name so that changes to components of + * the components does not change the component in this Name. + */ + public Object clone() + { + return new GnuName(content, from, length); + } + + /** + * The name is equal to other name if they contents are equal. + */ + public boolean equals(Object arg0) + { + if (this == arg0) + return true; + else if (arg0 instanceof Name) + { + Name n = (Name) arg0; + if (length != n.size()) + return false; + + for (int i = 0; i < length; i++) + if (! content[from + i].equals(n.get(i))) + return false; + return true; + } + else + return false; + } + + /** + * Overridden to make consistent with equals. + */ + public int hashCode() + { + if (hash == 0 && length > 0) + { + int s = 0; + for (int i = from; i < from + length; i++) + s ^= content[i].hashCode(); + hash = s; + } + return hash; + } + + /** + * Get the string representation, separating the name components by slashes + */ + public String toString() + { + StringBuffer b = new StringBuffer(); + for (int i = 0; i < length; i++) + { + b.append(get(i)); + if (i < length - 1) + b.append('/'); + } + return b.toString(); + } +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java b/libjava/classpath/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java new file mode 100644 index 00000000000..7fe2e5c8cad --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java @@ -0,0 +1,53 @@ +/* corbanameURLContextFactory.java -- handles corbaname: urls + Copyright (C) 2006 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. */ + +package gnu.javax.naming.jndi.url.corbaname; + +import gnu.javax.naming.giop.GiopNamingServiceFactory; + +import javax.naming.spi.ObjectFactory; + +/** + * The GIOP URL context factory. + * + * @author Audrius Meskauskas (audriusa@Bioinformatics.org) + */ +public class corbanameURLContextFactory extends GiopNamingServiceFactory + implements ObjectFactory +{ + // Nothing to override here. +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ContextContinuation.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ContextContinuation.java new file mode 100644 index 00000000000..de79b93c3dc --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ContextContinuation.java @@ -0,0 +1,597 @@ +/* ContextContinuation.java -- RMI naming context + Copyright (C) 2006 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. */ + +package gnu.javax.naming.jndi.url.rmi; + +import java.rmi.AccessException; +import java.rmi.AlreadyBoundException; +import java.rmi.NotBoundException; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.util.Hashtable; +import java.util.Map; +import java.util.Properties; + +import javax.naming.CommunicationException; +import javax.naming.Context; +import javax.naming.InvalidNameException; +import javax.naming.Name; +import javax.naming.NameAlreadyBoundException; +import javax.naming.NameNotFoundException; +import javax.naming.NameParser; +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; +import javax.naming.OperationNotSupportedException; + +/** + * The implementation of the RMI URL context. This context connects + * + * @author Audrius Meskauskas + */ +public class ContextContinuation implements Context +{ + /** + * The default registry location. + */ + public static final String DEFAULT_REGISTRY_LOCATION = "rmi://localhost:1099"; + + /** + * The local or remote RMI registry, performing the actual work for this + * context. + */ + Registry registry; + + /** + * The properties. + */ + Properties properties; + + /** + * The flag, indicating, that the lookup methods were called before. + * If the lookup methods were called before, the existing ORB cannot be + * destroyed, as references to the existing objects will become + * unfunctional. + */ + boolean lookupCalled; + + /** + * Add new environment property to the environment of this context. Both name + * and value of the new property must not be null. If the property is already + * defined, is current value is replaced by the propVal. This method replaces + * the registry. The new registry will be lazily instantiated on the first + * call. + * + * @param propName + * the name of the new property + * @param propVal + * the value of the new property + * @return the previous value of this property or null if the property has not + * been previously defined + */ + public Object addToEnvironment(String key, Object value) + { + removeRegistry(); + if (key == null || value == null) + throw new NullPointerException(); + return properties.put(key, value); + } + + /** + * Returns the environment, associated with this naming context. The returned + * table should never be modified by the caller (the registry would not be updated + * in such case). Use {@link #addToEnvironment} and + * {@link #removeFromEnvironment} to modify the environement, if needed. + * + * @return the table, representing the environment of this context + * @throws NamingException + */ + public Hashtable getEnvironment() throws NamingException + { + return properties; + } + + /** + * Removes the property with the given name from the environment. Returns + * without action if this property is not defined. Replaces the ORB, + * constructing the new ORB with the changes set of properties (you can + * replace the CORBA implementation provider, for instance). The new ORB will + * be lazily instantiated on the first call. + * + * @param propName + * the name of the property being removed. + * @return the value of the property that has been removed or null if the + * property was not defined. + * @throws NamingException + */ + public Object removeFromEnvironment(String propName) throws NamingException + { + removeRegistry(); + return properties.remove(propName); + } + + /** + * Remove the current registry reference. + */ + public void removeRegistry() + { + registry = null; + } + + /** + * Get the cached or new registry reference. + * + * @return the registry reference, either cached or new. + */ + public Registry getRegistry() throws NamingException + { + if (registry == null) + { + String address = properties.getProperty(Context.PROVIDER_URL, + DEFAULT_REGISTRY_LOCATION); + + // The format like rmi://localhost:1099 is expected. Parse. + if (!address.startsWith("rmi://")) + throw new InvalidNameException(address); + + String a = address.substring("rmi://".length()); + + // The colon, if present, indicates the start of the port number. + int colon = a.lastIndexOf(':'); + int port; + + try + { + if (colon >=0) + { + port = Integer.parseInt(a.substring(colon+1)); + a = a.substring(0, colon); + } + else + port = Registry.REGISTRY_PORT; + } + catch (NumberFormatException e1) + { + throw new InvalidNameException(address); + } + + try + { + registry = LocateRegistry.getRegistry(a, port); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + } + return registry; + } + + /** + * Create the rmi url context that works, talking with the given RMI registry. + * + * @param props + * the properties for this context + * @param initialRegistry + * the initial value of the registry + */ + public ContextContinuation(Map props, Registry initialRegistry) + { + properties = new Properties(); + if (props != null) + properties.putAll(props); + registry = initialRegistry; + } + + /** + * Bind the given name into this context. The .toString() is called to + * convert into the string representation, required by RMI registry. + * + * @throws NamingException if the object is not an instance of Remote + */ + public void bind(Name name, Object obj) throws NamingException + { + bind(name.toString(), obj); + } + + /** + * Bind the given name into this context. + */ + public void bind(String name, Object obj) throws NamingException + { + try + { + getRegistry().bind(name, (Remote) obj); + } + catch (AccessException e) + { + throw new NamingException("access:"+e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (AlreadyBoundException e) + { + throw new NameAlreadyBoundException(name); + } + catch (ClassCastException c) + { + throw new NamingException("Only Remote can be bound:" + + obj.getClass().getName()); + } + } + + /** + * Not supported. + */ + public Name composeName(Name name, Name prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public String composeName(String name, String prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. The only supported case is an + * empty name (returns the cloned instance of self). + */ + public Context createSubcontext(Name name) throws NamingException + { + if (name.size() == 0) + return new rmiURLContext(properties); + else + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. The only supported case is an + * empty name (returns the cloned instance of self). + */ + public Context createSubcontext(String name) throws NamingException + { + if (name.length() == 0) + return new rmiURLContext(properties); + else + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. + */ + public void destroySubcontext(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. + */ + public void destroySubcontext(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Returns the naming service URL, same that was passed vie + * {@link Context#PROVIDER_URL}. + */ + public String getNameInNamespace() throws NamingException + { + return properties.getProperty(Context.PROVIDER_URL, + DEFAULT_REGISTRY_LOCATION); + } + + /** + * Not supported, this context never parses any names. + */ + public NameParser getNameParser(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported, this context never parses any names. + */ + public NameParser getNameParser(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). The class name of the returned name class + * pairs is "Remote", as this "quick preview" method should probably not call + * the naming service again. Use listBindings if more details are required. + */ + public NamingEnumeration list(Name name) throws NamingException + { + if (name.size() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + return list(""); + } + + /** + * List existing bindings of this context (the parameter must be empty string, + * indicating the root context). The class name of the returned name class + * pairs is "Remote", as this "quick preview" method should probably not call + * the naming service again. Use listBindings if more details are required. + */ + public NamingEnumeration list(String name) throws NamingException + { + if (name.length() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + + try + { + return new ListEnumeration(getRegistry().list()); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). + */ + public NamingEnumeration listBindings(Name name) throws NamingException + { + if (name.size() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + return listBindings(""); + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). + */ + public NamingEnumeration listBindings(String name) throws NamingException + { + if (name.length() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + + try + { + Registry r = getRegistry(); + return new ListBindingsEnumeration(r.list(), r); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Not supported. + */ + public Object lookupLink(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public Object lookupLink(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Rebinds this object. + * + * @param name + * the object name (.toString()) is used to convert into string + * representation. + * @param the + * object (must be an instance of Remote). + */ + public void rebind(Name name, Object obj) throws NamingException + { + rebind(name.toString(), obj); + } + + /** + * Rebinds this object. + * + * @param name + * the object name. + * @param the + * object (must be an instance of Remote). + */ + public void rebind(String name, Object obj) throws NamingException + { + try + { + getRegistry().rebind(name, (Remote) obj); + } + catch (AccessException e) + { + throw new NamingException("access:"+e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (ClassCastException c) + { + throw new NamingException("Only Remote can be bound:" + + obj.getClass().getName()); + } + } + + /** + * Renames the object. If the new name is already bound in the given context, + * the {@link AlreadyBoundException} is thrown and the oldName binding is + * preserved. + */ + public void rename(Name oldName, Name newName) throws NamingException + { + rename(oldName.toString(), newName.toString()); + } + + /** + * Renames the object. If the new name is already bound in the given context, + * the {@link AlreadyBoundException} is thrown and the oldName binding is + * preserved. + */ + public synchronized void rename(String oldName, String newName) + throws NamingException + { + try + { + Registry r = getRegistry(); + Remote object = r.lookup(oldName); + r.unbind(oldName); + try + { + r.bind(newName, object); + } + catch (AlreadyBoundException e) + { + // Bind it back. + try + { + r.bind(oldName, object); + } + catch (AlreadyBoundException e1) + { + // We have just removed this name. + throw new InternalError(); + } + throw new NameAlreadyBoundException(newName); + } + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new CommunicationException(e.toString()); + } + } + + /** + * Unbind the object. + */ + public void unbind(Name name) throws NamingException + { + unbind(name.toString()); + } + + /** + * Unbind the object. + */ + public void unbind(String name) throws NamingException + { + try + { + getRegistry().unbind(name); + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new CommunicationException(e.toString()); + } + } + + /** + * Release the associated resources. + */ + public void close() throws NamingException + { + removeRegistry(); + } + + /** + * Resolve the object by name. + * + * @param name + * the object name, .toString() is used to get the string + * representation. + */ + public Object lookup(Name name) throws NamingException + { + return lookup(name.toString()); + } + + /** + * Resolve the object by name + * + * @param name the object name. + */ + public Object lookup(String name) throws NamingException + { + try + { + return getRegistry().lookup(name); + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new NameNotFoundException(name); + } + } +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java new file mode 100644 index 00000000000..757e8bf59c1 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java @@ -0,0 +1,97 @@ +/* ListBindingsEnumeration.java -- handles rmi: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.jndi.url.rmi; + +import java.rmi.registry.Registry; + +import javax.naming.NamingEnumeration; + +/** + * Iterates over bindings, obtaining values first from the binding list and then + * from the binding iterator. + * + * @author Audrius Meskauskas + */ +public class ListBindingsEnumeration extends RmiNamingEnumeration implements + NamingEnumeration +{ + /** + * The naming service, to resolve the objects. + */ + Registry service; + + /** + * Create the new enumeration + * + * @param bindings + * the list of the bound names + * @param aService + * the RMI naming service, used to get the bound values. + */ + public ListBindingsEnumeration(String [] bindings, + Registry aService) + { + super(bindings); + service = aService; + } + + /** + * Convert from the CORBA binding into the javax.naming binding. As the CORBA + * naming service binding does not contain the object itself, this method + * makes the additional calls to the naming service. + * + * @param binding + * the binding to convert + * @return the value, that must be returned by the {@link #next()}. + */ + public Object convert(String binding) + { + try + { + Object object = service.lookup(binding); + return new javax.naming.Binding(binding, object); + } + catch (Exception e) + { + // Probably was removed by the concurent thread. + return null; + } + } + +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListEnumeration.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListEnumeration.java new file mode 100644 index 00000000000..b4142c5e37d --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/ListEnumeration.java @@ -0,0 +1,80 @@ +/* ListEnumeration.java -- handles rmi: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.jndi.url.rmi; + +import java.rmi.Remote; + +import javax.naming.NameClassPair; +import javax.naming.NamingEnumeration; + +/** + * Iterates over name class pairs, obtaining values first from the binding list + * and then from the binding iterator. + * + * @author Audrius Meskauskas + */ +public class ListEnumeration extends RmiNamingEnumeration implements + NamingEnumeration +{ + /** + * Create the new enumeration + * + * @param bindings + * the array of the binding names, returned by the RMI registry. + */ + public ListEnumeration(String [] bindings) + { + super(bindings); + } + + /** + * Convert from the binding name into the {@link NameClassPair} that this + * enumeration should return. + * + * @param binding + * the binding to convert + * @return the value, that must be returned by the {@link #next()}. + */ + public Object convert(String binding) + { + NameClassPair pair = new NameClassPair(binding, Remote.class.getName()); + return pair; + } + +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiContinuation.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiContinuation.java new file mode 100644 index 00000000000..29eb61b4be5 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiContinuation.java @@ -0,0 +1,594 @@ +/* RmiContinuation.java -- RMI naming context + Copyright (C) 2006 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. */ + +package gnu.javax.naming.jndi.url.rmi; + +import java.rmi.AccessException; +import java.rmi.AlreadyBoundException; +import java.rmi.NotBoundException; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.util.Hashtable; +import java.util.Map; +import java.util.Properties; + +import javax.naming.CommunicationException; +import javax.naming.Context; +import javax.naming.InvalidNameException; +import javax.naming.Name; +import javax.naming.NameAlreadyBoundException; +import javax.naming.NameNotFoundException; +import javax.naming.NameParser; +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; +import javax.naming.OperationNotSupportedException; + +/** + * The implementation of the RMI URL context. This context connects + * + * @author Audrius Meskauskas + */ +public class RmiContinuation implements Context +{ + /** + * The default registry location. + */ + public static final String DEFAULT_REGISTRY_LOCATION = "rmi://localhost:1099"; + + /** + * The local or remote RMI registry, performing the actual work for this + * context. + */ + Registry registry; + + /** + * The properties. + */ + Properties properties; + + /** + * The flag, indicating, that the lookup methods were called before. + * If the lookup methods were called before, the existing ORB cannot be + * destroyed, as references to the existing objects will become + * unfunctional. + */ + boolean lookupCalled; + + /** + * Add new environment property to the environment of this context. Both name + * and value of the new property must not be null. If the property is already + * defined, is current value is replaced by the propVal. This method replaces + * the registry. The new registry will be lazily instantiated on the first + * call. + * + * @param key + * the name of the new property + * @param value + * the value of the new property + * @return the previous value of this property or null if the property has not + * been previously defined + */ + public Object addToEnvironment(String key, Object value) + { + removeRegistry(); + if (key == null || value == null) + throw new NullPointerException(); + return properties.put(key, value); + } + + /** + * Returns the environment, associated with this naming context. The returned + * table should never be modified by the caller (the registry would not be updated + * in such case). Use {@link #addToEnvironment} and + * {@link #removeFromEnvironment} to modify the environement, if needed. + * + * @return the table, representing the environment of this context + * @throws NamingException + */ + public Hashtable getEnvironment() throws NamingException + { + return properties; + } + + /** + * Removes the property with the given name from the environment. Returns + * without action if this property is not defined. Replaces the ORB, + * constructing the new ORB with the changes set of properties (you can + * replace the CORBA implementation provider, for instance). The new ORB will + * be lazily instantiated on the first call. + * + * @param propName + * the name of the property being removed. + * @return the value of the property that has been removed or null if the + * property was not defined. + * @throws NamingException + */ + public Object removeFromEnvironment(String propName) throws NamingException + { + removeRegistry(); + return properties.remove(propName); + } + + /** + * Remove the current registry reference. + */ + public void removeRegistry() + { + registry = null; + } + + /** + * Get the cached or new registry reference. + * + * @return the registry reference, either cached or new. + */ + public Registry getRegistry() throws NamingException + { + if (registry == null) + { + String address = properties.getProperty(Context.PROVIDER_URL, + DEFAULT_REGISTRY_LOCATION); + + // The format like rmi://localhost:1099 is expected. Parse. + if (!address.startsWith("rmi://")) + throw new InvalidNameException(address); + + String a = address.substring("rmi://".length()); + + // The colon, if present, indicates the start of the port number. + int colon = a.lastIndexOf(':'); + int port; + + try + { + if (colon >=0) + { + port = Integer.parseInt(a.substring(colon+1)); + a = a.substring(0, colon); + } + else + port = Registry.REGISTRY_PORT; + } + catch (NumberFormatException e1) + { + throw new InvalidNameException(address); + } + + try + { + registry = LocateRegistry.getRegistry(a, port); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + } + return registry; + } + + /** + * Create the rmi url context that works, talking with the given RMI registry. + * + * @param props + * the properties for this context + */ + public RmiContinuation(Map props) + { + properties = new Properties(); + if (props != null) + properties.putAll(props); + } + + /** + * Bind the given name into this context. The .toString() is called to + * convert into the string representation, required by RMI registry. + * + * @throws NamingException if the object is not an instance of Remote + */ + public void bind(Name name, Object obj) throws NamingException + { + bind(name.toString(), obj); + } + + /** + * Bind the given name into this context. + */ + public void bind(String name, Object obj) throws NamingException + { + try + { + getRegistry().bind(name, (Remote) obj); + } + catch (AccessException e) + { + throw new NamingException("access:"+e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (AlreadyBoundException e) + { + throw new NameAlreadyBoundException(name); + } + catch (ClassCastException c) + { + throw new NamingException("Only Remote can be bound:" + + obj.getClass().getName()); + } + } + + /** + * Not supported. + */ + public Name composeName(Name name, Name prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public String composeName(String name, String prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. The only supported case is an + * empty name (returns the cloned instance of self). + */ + public Context createSubcontext(Name name) throws NamingException + { + if (name.size() == 0) + return new RmiContinuation(properties); + else + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. The only supported case is an + * empty name (returns the cloned instance of self). + */ + public Context createSubcontext(String name) throws NamingException + { + if (name.length() == 0) + return new RmiContinuation(properties); + else + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. + */ + public void destroySubcontext(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. + */ + public void destroySubcontext(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Returns the naming service URL, same that was passed vie + * {@link Context#PROVIDER_URL}. + */ + public String getNameInNamespace() throws NamingException + { + return properties.getProperty(Context.PROVIDER_URL, + DEFAULT_REGISTRY_LOCATION); + } + + /** + * Not supported, this context never parses any names. + */ + public NameParser getNameParser(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported, this context never parses any names. + */ + public NameParser getNameParser(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). The class name of the returned name class + * pairs is "Remote", as this "quick preview" method should probably not call + * the naming service again. Use listBindings if more details are required. + */ + public NamingEnumeration list(Name name) throws NamingException + { + if (name.size() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + return list(""); + } + + /** + * List existing bindings of this context (the parameter must be empty string, + * indicating the root context). The class name of the returned name class + * pairs is "Remote", as this "quick preview" method should probably not call + * the naming service again. Use listBindings if more details are required. + */ + public NamingEnumeration list(String name) throws NamingException + { + if (name.length() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + + try + { + return new ListEnumeration(getRegistry().list()); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). + */ + public NamingEnumeration listBindings(Name name) throws NamingException + { + if (name.size() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + return listBindings(""); + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). + */ + public NamingEnumeration listBindings(String name) throws NamingException + { + if (name.length() > 0) + throw new OperationNotSupportedException("Only empty name is accepted"); + + try + { + Registry r = getRegistry(); + return new ListBindingsEnumeration(r.list(), r); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Not supported. + */ + public Object lookupLink(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public Object lookupLink(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Rebinds this object. + * + * @param name + * the object name (.toString()) is used to convert into string + * representation. + * @param obj + * object (must be an instance of Remote). + */ + public void rebind(Name name, Object obj) throws NamingException + { + rebind(name.toString(), obj); + } + + /** + * Rebinds this object. + * + * @param name + * the object name. + * @param obj + * object (must be an instance of Remote). + */ + public void rebind(String name, Object obj) throws NamingException + { + try + { + getRegistry().rebind(name, (Remote) obj); + } + catch (AccessException e) + { + throw new NamingException("access:"+e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (ClassCastException c) + { + throw new NamingException("Only Remote can be bound:" + + obj.getClass().getName()); + } + } + + /** + * Renames the object. If the new name is already bound in the given context, + * the {@link AlreadyBoundException} is thrown and the oldName binding is + * preserved. + */ + public void rename(Name oldName, Name newName) throws NamingException + { + rename(oldName.toString(), newName.toString()); + } + + /** + * Renames the object. If the new name is already bound in the given context, + * the {@link AlreadyBoundException} is thrown and the oldName binding is + * preserved. + */ + public synchronized void rename(String oldName, String newName) + throws NamingException + { + try + { + Registry r = getRegistry(); + Remote object = r.lookup(oldName); + r.unbind(oldName); + try + { + r.bind(newName, object); + } + catch (AlreadyBoundException e) + { + // Bind it back. + try + { + r.bind(oldName, object); + } + catch (AlreadyBoundException e1) + { + // We have just removed this name. + throw new InternalError(); + } + throw new NameAlreadyBoundException(newName); + } + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new CommunicationException(e.toString()); + } + } + + /** + * Unbind the object. + */ + public void unbind(Name name) throws NamingException + { + unbind(name.toString()); + } + + /** + * Unbind the object. + */ + public void unbind(String name) throws NamingException + { + try + { + getRegistry().unbind(name); + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new CommunicationException(e.toString()); + } + } + + /** + * Release the associated resources. + */ + public void close() throws NamingException + { + removeRegistry(); + } + + /** + * Resolve the object by name. + * + * @param name + * the object name, .toString() is used to get the string + * representation. + */ + public Object lookup(Name name) throws NamingException + { + return lookup(name.toString()); + } + + /** + * Resolve the object by name + * + * @param name the object name. + */ + public Object lookup(String name) throws NamingException + { + try + { + return getRegistry().lookup(name); + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new NameNotFoundException(name); + } + } +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java new file mode 100644 index 00000000000..6d88cccefe3 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java @@ -0,0 +1,130 @@ +/* RmiNamingEnumeration.java -- handles rmi: urls + Copyright (C) 2006 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. */ + + +package gnu.javax.naming.jndi.url.rmi; + +import java.util.NoSuchElementException; + +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; + +/** + * Iterates over name class pairs, obtaining values first from the binding list + * and then from the binding iterator. + * + * @author Audrius Meskauskas + */ +public abstract class RmiNamingEnumeration implements NamingEnumeration +{ + /** + * The array of bindings, returned at once. + */ + String[] list; + + /** + * The position of the element in the binding list, that must be returned + * during the subsequent call of the next(). If this field is grater or equal + * to the lenght of the list, the subsequent values must be requested from the + * iterator. + */ + int p; + + RmiNamingEnumeration(String[] bindingList) + { + list = bindingList; + } + + /** + * Convert from the CORBA binding into that this enumeration should return. + * + * @param binding + * the binding to convert + * @return the value, that must be returned by the {@link #next()}. + */ + public abstract Object convert(String binding); + + /** + * Checks if there are more elements to return. + * + * @throws NamingException + * never + */ + public boolean hasMore() throws NamingException + { + return hasMoreElements(); + } + + /** + * Returns the next element. + * + * @throws NamingException + * never + */ + public Object next() throws NamingException + { + return nextElement(); + } + + /** + * Checks if there are more elements to return. + */ + public boolean hasMoreElements() + { + return p < list.length; + } + + /** + * Returns the next element. + */ + public Object nextElement() + { + if (p < list.length) + return convert(list[p++]); + else + throw new NoSuchElementException(); + } + + /** + * Nothing to do in this method. + */ + public void close() + { + // Nothing to do here. + } + +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContext.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContext.java new file mode 100644 index 00000000000..a17ce026b16 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContext.java @@ -0,0 +1,637 @@ +/* rmiURLContext.java -- RMI naming context + Copyright (C) 2006 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. */ + +package gnu.javax.naming.jndi.url.rmi; + +import java.rmi.AccessException; +import java.rmi.AlreadyBoundException; +import java.rmi.NotBoundException; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.util.Hashtable; +import java.util.Map; +import java.util.Properties; +import java.util.WeakHashMap; + +import javax.naming.CommunicationException; +import javax.naming.Context; +import javax.naming.InvalidNameException; +import javax.naming.Name; +import javax.naming.NameAlreadyBoundException; +import javax.naming.NameNotFoundException; +import javax.naming.NameParser; +import javax.naming.NamingEnumeration; +import javax.naming.NamingException; +import javax.naming.OperationNotSupportedException; + +/** + * The implementation of the RMI URL context. This context connects + * + * @author Audrius Meskauskas + */ +public class rmiURLContext implements Context +{ + /** + * The default registry location. + */ + public static final String DEFAULT_REGISTRY_LOCATION = "rmi://localhost:1099"; + + /** + * The registry cache, maps the registry URL's to they instances. The + * obtained registries are reused, as newly obtaining them may cause the + * resource leak. + */ + static WeakHashMap registryCache = new WeakHashMap(); + + /** + * The properties. + */ + Properties properties; + + /** + * The flag, indicating, that the lookup methods were called before. + * If the lookup methods were called before, the existing ORB cannot be + * destroyed, as references to the existing objects will become + * unfunctional. + */ + boolean lookupCalled; + + /** + * Add new environment property to the environment of this context. Both name + * and value of the new property must not be null. If the property is already + * defined, is current value is replaced by the propVal. This method replaces + * the registry. The new registry will be lazily instantiated on the first + * call. + * + * @param key + * the name of the new property + * @param value + * the value of the new property + * @return the previous value of this property or null if the property has not + * been previously defined + */ + public Object addToEnvironment(String key, Object value) + { + if (key == null || value == null) + throw new NullPointerException(); + return properties.put(key, value); + } + + /** + * Returns the environment, associated with this naming context. The returned + * table should never be modified by the caller (the registry would not be updated + * in such case). Use {@link #addToEnvironment} and + * {@link #removeFromEnvironment} to modify the environement, if needed. + * + * @return the table, representing the environment of this context + * @throws NamingException + */ + public Hashtable getEnvironment() throws NamingException + { + return properties; + } + + /** + * Removes the property with the given name from the environment. Returns + * without action if this property is not defined. Replaces the ORB, + * constructing the new ORB with the changes set of properties (you can + * replace the CORBA implementation provider, for instance). The new ORB will + * be lazily instantiated on the first call. + * + * @param propName + * the name of the property being removed. + * @return the value of the property that has been removed or null if the + * property was not defined. + * @throws NamingException + */ + public Object removeFromEnvironment(String propName) throws NamingException + { + return properties.remove(propName); + } + + /** + * Get the cached or new registry reference. + * + * @return the registry reference, either cached or new. + */ + public Registry getRegistry(String netAddress) throws NamingException + { + Registry registry; + + synchronized (registryCache) + { + registry = (Registry) registryCache.get(netAddress); + } + + if (registry == null) + { + // The colon, if present, indicates the start of the port number. + int colon = netAddress.lastIndexOf(':'); + int port; + + try + { + if (colon >= 0) + { + port = Integer.parseInt(netAddress.substring(colon + 1)); + netAddress = netAddress.substring(0, colon); + } + else + port = Registry.REGISTRY_PORT; + } + catch (NumberFormatException e1) + { + throw new InvalidNameException(netAddress); + } + + try + { + registry = LocateRegistry.getRegistry(netAddress, port); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + + synchronized (registryCache) + { + registryCache.put(netAddress, registry); + } + } + return registry; + } + + /** + * Create the rmi url context that works, talking with the given RMI registry. + * + * @param props + * the properties for this context + */ + public rmiURLContext(Map props) + { + properties = new Properties(); + if (props != null) + properties.putAll(props); + } + + /** + * Bind the given name into this context. The .toString() is called to + * convert into the string representation, required by RMI registry. + * + * @throws NamingException if the object is not an instance of Remote + */ + public void bind(Name name, Object obj) throws NamingException + { + bind(name.toString(), obj); + } + + /** + * Bind the given name into this context. + */ + public void bind(String name, Object obj) throws NamingException + { + try + { + String [] n = split(name); + getRegistry(n[0]).bind(n[1], (Remote) obj); + } + catch (AccessException e) + { + throw new NamingException("access:"+e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (AlreadyBoundException e) + { + throw new NameAlreadyBoundException(name); + } + catch (ClassCastException c) + { + throw new NamingException("Only Remote can be bound:" + + obj.getClass().getName()); + } + } + + /** + * Not supported. + */ + public Name composeName(Name name, Name prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported. + */ + public String composeName(String name, String prefix) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. The only supported case is an + * empty name (returns the cloned instance of self). + */ + public Context createSubcontext(Name name) throws NamingException + { + if (name.size() == 0) + return new rmiURLContext(properties); + else + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. The only supported case is an + * empty name (returns the cloned instance of self). + */ + public Context createSubcontext(String name) throws NamingException + { + if (name.length() == 0) + return new rmiURLContext(properties); + else + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. + */ + public void destroySubcontext(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Subcontexts are not supporte by RMI registry. + */ + public void destroySubcontext(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Returns the naming service URL, same that was passed vie + * {@link Context#PROVIDER_URL}. + */ + public String getNameInNamespace() throws NamingException + { + return properties.getProperty(Context.PROVIDER_URL, + DEFAULT_REGISTRY_LOCATION); + } + + /** + * Not supported, this context never parses any names. + */ + public NameParser getNameParser(Name name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * Not supported, this context never parses any names. + */ + public NameParser getNameParser(String name) throws NamingException + { + throw new OperationNotSupportedException(); + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). The class name of the returned name class + * pairs is "Remote", as this "quick preview" method should probably not call + * the naming service again. Use listBindings if more details are required. + */ + public NamingEnumeration list(Name name) throws NamingException + { + return list(name); + } + + /** + * List existing bindings of thie given registry.The class name of the + * returned name class pairs is "Remote", as this "quick preview" method + * should probably not call the naming service again. Use listBindings if more + * details are required. + */ + public NamingEnumeration list(String name) throws NamingException + { + try + { + String [] n = split(name); + if (n[1].length() > 0) + throw new InvalidNameException(name+", the name part must be empty"); + return new ListEnumeration(getRegistry(n[0]).list()); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * List existing bindings of this context (the parameter must be empty name, + * indicating the root context). + */ + public NamingEnumeration listBindings(Name name) throws NamingException + { + return listBindings(name.toString()); + } + + /** + * List existing bindings of this context. + */ + public NamingEnumeration listBindings(String name) throws NamingException + { + try + { + String [] n = split(name); + if (n[1].length() > 0) + throw new InvalidNameException(name+", the name part must be empty"); + + Registry r = getRegistry(n[0]); + return new ListBindingsEnumeration(r.list(), r); + } + catch (Exception e) + { + throw new NamingException(e.toString()); + } + } + + /** + * Returns the naming service context under the given address, wrapped as + * Context. + */ + public Object lookupLink(Name name) throws NamingException + { + return lookupLink(name.toString()); + } + + /** + * Returns the naming service context under the given address, + * wrapped as Context. + */ + public Object lookupLink(String name) throws NamingException + { + return new ContextContinuation(properties, getRegistry(name)); + } + + /** + * Rebinds this object. + * + * @param name + * the object name (.toString()) is used to convert into string + * representation. + * @param obj + * object (must be an instance of Remote). + */ + public void rebind(Name name, Object obj) throws NamingException + { + rebind(name.toString(), obj); + } + + /** + * Rebinds this object. + * + * @param name + * the object name. + * @param obj + * object (must be an instance of Remote). + */ + public void rebind(String name, Object obj) throws NamingException + { + try + { + String [] n = split(name); + getRegistry(n[0]).rebind(n[1], (Remote) obj); + } + catch (AccessException e) + { + throw new NamingException("access:"+e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (ClassCastException c) + { + throw new NamingException("Only Remote can be bound:" + + obj.getClass().getName()); + } + } + + /** + * Renames the object. If the new name is already bound in the given context, + * the {@link AlreadyBoundException} is thrown and the oldName binding is + * preserved. + */ + public void rename(Name oldName, Name newName) throws NamingException + { + rename(oldName.toString(), newName.toString()); + } + + /** + * Renames the object. If the new name is already bound in the given context, + * the {@link AlreadyBoundException} is thrown and the oldName binding is + * preserved. + */ + public synchronized void rename(String oldName, String newName) + throws NamingException + { + try + { + String [] n = split(oldName); + Registry r = getRegistry(n[0]); + Remote object = r.lookup(n[1]); + r.unbind(oldName); + try + { + String [] n2 = split(newName); + Registry r2 = getRegistry(n2[0]); + r2.bind(n2[1], object); + } + catch (AlreadyBoundException e) + { + // Bind it back. + try + { + r.bind(oldName, object); + } + catch (AlreadyBoundException e1) + { + // We have just removed this name. + throw new InternalError(); + } + throw new NameAlreadyBoundException(newName); + } + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new CommunicationException(e.toString()); + } + } + + /** + * Unbind the object. + */ + public void unbind(Name name) throws NamingException + { + unbind(name.toString()); + } + + /** + * Unbind the object. + */ + public void unbind(String name) throws NamingException + { + try + { + String [] n = split(name); + getRegistry(n[0]).unbind(n[1]); + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new CommunicationException(e.toString()); + } + } + + /** + * Release the associated resources. + */ + public void close() throws NamingException + { + } + + /** + * Resolve the object by name. + * + * @param name + * the object name, .toString() is used to get the string + * representation. + */ + public Object lookup(Name name) throws NamingException + { + return lookup(name.toString()); + } + + /** + * Resolve the object by name + * + * @param name the object name. + */ + public Object lookup(String name) throws NamingException + { + try + { + String [] n = split(name); + return getRegistry(n[0]).lookup(n[1]); + } + catch (AccessException e) + { + throw new NamingException(e.toString()); + } + catch (RemoteException e) + { + throw new CommunicationException(e.toString()); + } + catch (NotBoundException e) + { + throw new NameNotFoundException(name); + } + } + + /** + * Split the given rmi address into the network address and naming service + * name. + * + * @param address + * the address to split + * @return the two member array, lower being the network address of the naming + * service and upper being the naming service name + * @throws NamingException + * if the name is invalid + */ + public String[] split(String address) throws NamingException + { + // The format like rmi://localhost:1099/name is expected. Parse. + if (!address.startsWith("rmi://")) + throw new InvalidNameException( + address + + " should be like 'rmi://localhost:1099/name'"); + + String a = address.substring("rmi://".length()); + + // The suffix starts after the first slash from the rmi:// + int sfx = a.indexOf('/'); + + // Handle the possible escape + while (sfx > 0 && a.charAt(sfx - 1) == '\\') + sfx = a.indexOf('/', sfx + 1); + + String net; + String name; + if (sfx >= 0) + { + net = a.substring(0, sfx); + name = a.substring(sfx + 1); + } + else + { + net = a; + name = ""; + } + + return new String[] { net, name }; + } +} diff --git a/libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java new file mode 100644 index 00000000000..59384532736 --- /dev/null +++ b/libjava/classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java @@ -0,0 +1,66 @@ +/* rmiURLContextFactory.java -- handles RMI naming context + Copyright (C) 2006 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. */ + +package gnu.javax.naming.jndi.url.rmi; + +import java.util.Hashtable; + +import javax.naming.Context; +import javax.naming.Name; +import javax.naming.spi.ObjectFactory; + +/** + * Find the RMI URL context. This factory checks the Context.PROVIDER_URL + * property for the address of the RMI naming service and creates the + * context that operates talking with this naming service. If such property + * is missing, "rmi://localhost:1099" is assumed. + * + * @author Audrius Meskauskas (audriusa@Bioinformatics.org) + */ +public class rmiURLContextFactory implements ObjectFactory +{ + + /** + * Create a new instance of the context. + */ + public Object getObjectInstance(Object refObj, Name name, Context nameCtx, + Hashtable environment) + { + return new rmiURLContext(environment); + } + +} diff --git a/libjava/classpath/gnu/javax/net/ssl/AbstractSessionContext.java b/libjava/classpath/gnu/javax/net/ssl/AbstractSessionContext.java new file mode 100644 index 00000000000..bdd7f274e06 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/AbstractSessionContext.java @@ -0,0 +1,288 @@ +/* AbstractSessionContext -- stores SSL sessions, possibly persistently. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import gnu.java.security.Requires; + +import gnu.javax.net.ssl.provider.SimpleSessionContext; + +import java.util.Enumeration; + +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLPermission; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSessionContext; + +/** + * A skeletal implementation of {@link SSLSessionContext}. This class may + * be subclassed to add extended functionality to session contexts, such + * as by storing sessions in files on disk, or by sharing contexts + * across different JVM instances. + * + *

    In order to securely store sessions, along with private key data, + * the abstract methods {@lnk {@link #load(char[])} and {@link #store(char[])} + * come into play. When storing sessions, a session context implementation + * must pass this password to the {@link Session#prepare(char[])} method, + * before either writing the {@link java.io.Serializable} session to the + * underlying store, or getting the opaque {@link Session#privateData()} + * class from the session, and storing that. + * + *

    As a simple example, that writes sessions to some object output + * stream: + * + *

    +  char[] password = ...;
    +  ObjectOutputStream out = ...;
    +  ...
    +  for (Session s : this)
    +    {
    +      s.prepare(password);
    +      out.writeObject(s);
    +    }
    + * + *

    The reverse must be done when deserializing sessions, by using the + * {@link Session#repair(char[])} method, possibly by first calling + * {@link Session#setPrivateData(java.io.Serializable)} with the read, + * opaque private data type. Thus an example of reading may be: + * + *

    +  char[] password = ...;
    +  ObjectInputStream in = ...;
    +  ...
    +  while (hasMoreSessions(in))
    +    {
    +      Session s = (Session) in.readObject();
    +      s.repair(password);
    +      addToThisStore(s);
    +    }
    + * + * @author Casey Marshall (csm@gnu.org) + */ +public abstract class AbstractSessionContext implements SSLSessionContext +{ + protected long timeout; + private static Class + implClass = SimpleSessionContext.class; + + /** + * Create a new instance of a session context, according to the configured + * implementation class. + * + * @return The new session context. + * @throws SSLException If an error occurs in creating the instance. + */ + public static AbstractSessionContext newInstance () throws SSLException + { + try + { + return implClass.newInstance(); + } + catch (IllegalAccessException iae) + { + throw new SSLException(iae); + } + catch (InstantiationException ie) + { + throw new SSLException(ie); + } + } + + /** + * Reconfigure this instance to use a different session context + * implementation. + * + *

    Note: this method requires that the caller have + * {@link SSLPermission} with target + * gnu.javax.net.ssl.AbstractSessionContext and action + * setImplClass. + * + * @param clazz The new implementation class. + * @throws SecurityException If the caller does not have permission to + * change the session context. + */ + @Requires(permissionClass = SSLPermission.class, + target = "gnu.javax.net.ssl.AbstractSessionContext", + action = "setImplClass") + public static synchronized void setImplClass + (Class clazz) + throws SecurityException + { + SecurityManager sm = System.getSecurityManager (); + if (sm != null) + sm.checkPermission(new SSLPermission("gnu.javax.net.ssl.AbstractSessionContext", + "setImplClass")); + implClass = clazz; + } + + /** + * @param timeout The initial session timeout. + */ + protected AbstractSessionContext (final int timeout) + { + setSessionTimeout(timeout); + } + + /** + * Fetch a saved session by its ID. This method will (possibly) + * deserialize and return the SSL session with that ID, or null if + * the requested session does not exist, or has expired. + * + *

    Subclasses implementing this class must not + * perform any blocking operations in this method. If any blocking + * behavior is required, it must be done in the {@link load(char[])} + * method. + * + * @param sessionId The ID of the session to get. + * @return The found session, or null if no such session was found, + * or if that session has expired. + */ + public final SSLSession getSession (byte[] sessionId) + { + Session s = implGet (sessionId); + if (s != null + && System.currentTimeMillis () - s.getLastAccessedTime () > timeout) + { + remove (sessionId); + return null; + } + return s; + } + + public final SSLSession getSession(String host, int port) + { + for (Enumeration e = getIds(); e.hasMoreElements(); ) + { + byte[] id = (byte[]) e.nextElement(); + SSLSession s = getSession(id); + if (s == null) // session expired. + continue; + String host2 = s.getPeerHost(); + if (host == null) + { + if (host2 != null) + continue; + } + else if (!host.equals(host2)) + continue; + int port2 = s.getPeerPort(); + if (port != port2) + continue; + + // Else, a match. + return s; + } + + return null; + } + + /** + * To be implemented by subclasses. Subclasses do not need to check + * timeouts in this method. + * + * @param sessionId The session ID. + * @return The session, or null if the requested session + * was not found. + */ + protected abstract Session implGet (byte[] sessionId); + + public int getSessionTimeout() + { + return (int) (timeout / 1000); + } + + /** + * Load this session store from the underlying media, if supported + * by the implementation. + * + * @param password The password that protects the sensitive data in + * this store. + * @throws SessionStoreException If reading this store fails, such + * as when an I/O exception occurs, or if the password is incorrect. + */ + public abstract void load (char[] password) throws SessionStoreException; + + /** + * Add a new session to the store. The underlying implementation + * will add the session to its store, possibly overwriting any + * existing session with the same ID. + * + *

    Subclasses implementing this class must not + * perform any blocking operations in this method. If any blocking + * behavior is required, it must be done in the {@link + * #store(char[])} method. + * + * @param session The session to add. + * @throws NullPointerException If the argument is null. + */ + public abstract void put (Session session); + + /** + * Remove a session from this store. + * + *

    Subclasses implementing this class must not + * perform any blocking operations in this method. If any blocking + * behavior is required, it must be done in the {@link + * #store(char[])} method. + * + * @param sessionId The ID of the session to remove. + */ + public abstract void remove (byte[] sessionId); + + /** + * + */ + public final void setSessionTimeout(int seconds) + { + if (timeout < 0) + throw new IllegalArgumentException("timeout may not be negative"); + this.timeout = (long) seconds * 1000; + } + + /** + * Commit this session store to the underlying media. For session + * store implementations that support saving sessions across + * invocations of the JVM, this method will save any sessions that + * have not expired to some persistent media, so they may be loaded + * and used again later. + * + * @param password The password that will protect the sensitive data + * in this store. + */ + public abstract void store (char[] password) throws SessionStoreException; +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManager.java b/libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManager.java new file mode 100644 index 00000000000..ba6500a27d4 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManager.java @@ -0,0 +1,54 @@ +/* PreSharedKeyManager.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import java.security.KeyManagementException; + +import javax.crypto.SecretKey; +import javax.net.ssl.KeyManager; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public interface PreSharedKeyManager extends KeyManager +{ + SecretKey getKey(String name) throws KeyManagementException; + + String chooseIdentityHint(); +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManagerParameters.java b/libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManagerParameters.java new file mode 100644 index 00000000000..1b1d492b1ae --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/PreSharedKeyManagerParameters.java @@ -0,0 +1,83 @@ +/* PreSharedKeyManagerParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import java.util.Iterator; +import java.util.LinkedHashMap; + +import javax.crypto.SecretKey; +import javax.net.ssl.ManagerFactoryParameters; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class PreSharedKeyManagerParameters + implements ManagerFactoryParameters +{ + private final LinkedHashMap keys; + + public PreSharedKeyManagerParameters() + { + keys = new LinkedHashMap(); + } + + public SecretKey getKey(String name) + { + name.getClass(); + return keys.get(name); + } + + public void putKey(String name, SecretKey key) + { + name.getClass(); + key.getClass(); + keys.put(name, key); + } + + public boolean removeKey(String name) + { + name.getClass(); + return keys.remove(name) != null; + } + + public Iterator identities() + { + return keys.keySet().iterator(); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java index f602f98ae22..442629309e7 100644 --- a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java +++ b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java @@ -51,6 +51,7 @@ import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.Security; +import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; @@ -95,16 +96,16 @@ public class PrivateCredentials implements ManagerFactoryParameters public static final String BEGIN_RSA = "-----BEGIN RSA PRIVATE KEY"; public static final String END_RSA = "-----END RSA PRIVATE KEY"; - private List privateKeys; - private List certChains; + private List privateKeys; + private List certChains; // Constructor. // ------------------------------------------------------------------------- public PrivateCredentials() { - privateKeys = new LinkedList(); - certChains = new LinkedList(); + privateKeys = new LinkedList(); + certChains = new LinkedList(); } // Instance methods. @@ -115,7 +116,7 @@ public class PrivateCredentials implements ManagerFactoryParameters IOException, NoSuchAlgorithmException, WrongPaddingException { CertificateFactory cf = CertificateFactory.getInstance("X.509"); - Collection certs = cf.generateCertificates(certChain); + Collection certs = cf.generateCertificates(certChain); X509Certificate[] chain = (X509Certificate[]) certs.toArray(new X509Certificate[0]); String alg = null; @@ -199,11 +200,12 @@ public class PrivateCredentials implements ManagerFactoryParameters (BigInteger) der.read().getValue(), // d mod (q-1) (BigInteger) der.read().getValue()); // coefficient } + privateKeys.add(kf.generatePrivate(spec)); certChains.add(chain); } - public List getPrivateKeys() + public List getPrivateKeys() { if (isDestroyed()) { @@ -212,7 +214,7 @@ public class PrivateCredentials implements ManagerFactoryParameters return privateKeys; } - public List getCertChains() + public List getCertChains() { return certChains; } diff --git a/libjava/classpath/gnu/javax/net/ssl/SSLCipherSuite.java b/libjava/classpath/gnu/javax/net/ssl/SSLCipherSuite.java new file mode 100644 index 00000000000..a3ab8771389 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/SSLCipherSuite.java @@ -0,0 +1,142 @@ +/* SSLCipherSuite.java -- an SSL cipher suite. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import gnu.java.security.Engine; + +import java.lang.reflect.InvocationTargetException; +import java.nio.ByteBuffer; +import java.security.NoSuchAlgorithmException; +import java.security.Provider; +import java.security.Security; + +/** + * An SSL cipher suite. + */ +public abstract class SSLCipherSuite +{ + private static final String SERVICE = "SSLCipherSuite"; + private final String algorithm; + private final byte[] id; + private final SSLProtocolVersion version; + private Provider provider; + + protected SSLCipherSuite (final String algorithm, final byte[] id, + final SSLProtocolVersion version) + { + this.algorithm = algorithm; + if (id.length != 2) + throw new IllegalArgumentException ("cipher suite ID must be two bytes"); + this.id = (byte[]) id.clone (); + this.version = version; + } + + public static final SSLCipherSuite getInstance (SSLProtocolVersion version, byte[] id) + throws NoSuchAlgorithmException + { + return getInstance (version + "-" + ((id[0] & 0xFF) + "/" + (id[1] & 0xFF))); + } + + public static final SSLCipherSuite getInstance (SSLProtocolVersion version, + byte[] id, Provider provider) + throws NoSuchAlgorithmException + { + return getInstance (version + "-" + (id[0] & 0xFF) + "/" + (id[1] & 0xFF), provider); + } + + public static final SSLCipherSuite getInstance (String name) + throws NoSuchAlgorithmException + { + Provider[] providers = Security.getProviders (); + for (int i = 0; i < providers.length; i++) + { + try + { + return getInstance (name, providers[i]); + } + catch (NoSuchAlgorithmException nsae) + { + // Ignore. + } + } + + throw new NoSuchAlgorithmException (SERVICE + ": " + name); + } + + public static final SSLCipherSuite getInstance (String name, Provider provider) + throws NoSuchAlgorithmException + { + SSLCipherSuite suite = null; + try + { + suite = (SSLCipherSuite) Engine.getInstance (SERVICE, name, provider); + suite.provider = provider; + } + catch (InvocationTargetException ite) + { + // XXX + NoSuchAlgorithmException nsae = new NoSuchAlgorithmException (name); + nsae.initCause (ite); + throw nsae; + } + return suite; + } + + public final String getAlgorithm () + { + return algorithm; + } + + public final byte[] getId () + { + return (byte[]) id.clone (); + } + + public final Provider getProvider () + { + return provider; + } + + public final SSLProtocolVersion getProtocolVersion () + { + return version; + } + + public abstract void encipher (ByteBuffer in, ByteBuffer out); +} diff --git a/libjava/classpath/gnu/javax/net/ssl/SSLProtocolVersion.java b/libjava/classpath/gnu/javax/net/ssl/SSLProtocolVersion.java new file mode 100644 index 00000000000..3998f936abe --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/SSLProtocolVersion.java @@ -0,0 +1,54 @@ +/* SSLProtocolVersion.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +public enum SSLProtocolVersion +{ + SSLv3 (3, 0), + TLSv1 (3, 1); + + public final int major; + public final int minor; + + private SSLProtocolVersion (int major, int minor) + { + this.major = major; + this.minor = minor; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/SSLRecordHandler.java b/libjava/classpath/gnu/javax/net/ssl/SSLRecordHandler.java new file mode 100644 index 00000000000..3147415fe36 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/SSLRecordHandler.java @@ -0,0 +1,101 @@ +/* SSLRecordHandler.java -- a class that handles SSL record layer messages. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import java.nio.ByteBuffer; +import javax.net.ssl.SSLEngineResult; +import javax.net.ssl.SSLException; + +public abstract class SSLRecordHandler +{ + private final byte contentType; + + /** + * Create a new record handler for the given content type. + */ + protected SSLRecordHandler (final byte contentType) + { + this.contentType = contentType; + } + + /** + * Handle an SSL record layer message, encapsulated in the supplied + * input buffer, and writing any output bytes to the output + * buffer. The input buffer is always only limited to the bytes that + * encapsulate the fragment of the record layer message + * — that is, the content-type, version, and length fields are + * not present in the input buffer, and the limit of the input + * buffer is always only as large as the fragment. If the message + * being read is not contained entirely within the given buffer, + * then the implementation should cache the bytes read as input, and + * wait until subsequent calls finish the object being read. + * + *

    Technically, we expect only APPLICATION messages to ever + * produce output, but do suppose that extensions to the SSL + * protocol could allow other channels that produce output. + * + * @param input The input buffer. + * @param output The output buffer. + */ + public abstract void handle (final ByteBuffer input, + final ByteBuffer output) + throws SSLException; + + /** + * Returns the record layer content type that this handler is for. + * + * @return The content type value. + */ + public final byte contentType () + { + return contentType; + } + + public boolean equals (final Object o) + { + if (!(o instanceof SSLRecordHandler)) + return false; + return ((SSLRecordHandler) o).contentType == contentType; + } + + public int hashCode () + { + return contentType & 0xFF; + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/Session.java b/libjava/classpath/gnu/javax/net/ssl/Session.java new file mode 100644 index 00000000000..e2b21aa1e81 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/Session.java @@ -0,0 +1,364 @@ +/* SessionImpl.java -- concrete definition of SSLSession. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import java.io.Serializable; + +import java.security.Principal; +import java.security.SecureRandom; +import java.security.cert.Certificate; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Set; + +import javax.crypto.SealedObject; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSessionBindingEvent; +import javax.net.ssl.SSLSessionBindingListener; +import javax.net.ssl.SSLSessionContext; +import javax.security.cert.X509Certificate; + +/** + * A concrete implementation of the {@link SSLSession} interface. This + * class is provided to allow pluggable {@link AbstractSessionContext} + * implementations. + */ +public abstract class Session implements SSLSession, Serializable +{ + protected final long creationTime; + protected long lastAccessedTime; + protected int applicationBufferSize; + + protected ID sessionId; + protected Certificate[] localCerts; + protected Certificate[] peerCerts; + protected X509Certificate[] peerCertChain; + protected String peerHost; + protected int peerPort; + protected boolean peerVerified; + protected HashMap values; + protected boolean valid; + protected boolean truncatedMac = false; + transient protected SecureRandom random; + transient protected SSLSessionContext context; + + protected Session() + { + creationTime = System.currentTimeMillis(); + values = new HashMap(); + applicationBufferSize = (1 << 14); + } + + public void access() + { + lastAccessedTime = System.currentTimeMillis (); + } + + public int getApplicationBufferSize() + { + return applicationBufferSize; + } + + public String getCipherSuite() + { + return null; + } + + public long getCreationTime() + { + return creationTime; + } + + public byte[] getId() + { + return sessionId.id(); + } + + public ID id() + { + return sessionId; + } + + public long getLastAccessedTime() + { + return lastAccessedTime; + } + + public Certificate[] getLocalCertificates() + { + if (localCerts == null) + return null; + return (Certificate[]) localCerts.clone(); + } + + public Principal getLocalPrincipal() + { + if (localCerts != null) + { + if (localCerts[0] instanceof java.security.cert.X509Certificate) + return ((java.security.cert.X509Certificate) localCerts[0]).getSubjectDN(); + } + return null; + } + + public int getPacketBufferSize() + { + return applicationBufferSize + 2048; + } + + public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException + { + if (!peerVerified) + throw new SSLPeerUnverifiedException("peer not verified"); + if (peerCerts == null) + return null; + return (Certificate[]) peerCerts.clone(); + } + + public X509Certificate[] getPeerCertificateChain() + throws SSLPeerUnverifiedException + { + if (!peerVerified) + throw new SSLPeerUnverifiedException("peer not verified"); + if (peerCertChain == null) + return null; + return (X509Certificate[]) peerCertChain.clone(); + } + + public String getPeerHost() + { + return peerHost; + } + + public int getPeerPort() + { + return peerPort; + } + + public Principal getPeerPrincipal() throws SSLPeerUnverifiedException + { + if (!peerVerified) + throw new SSLPeerUnverifiedException("peer not verified"); + if (peerCertChain == null) + return null; + return peerCertChain[0].getSubjectDN(); + } + + public SSLSessionContext getSessionContext() + { + return context; + } + + public String[] getValueNames() + { + Set keys = this.values.keySet(); + return keys.toArray(new String[keys.size()]); + } + + public Object getValue(String name) + { + return values.get(name); + } + + public void invalidate() + { + valid = false; + } + + public boolean isValid() + { + return valid; + } + + public void putValue(String name, Object value) + { + values.put(name, value); + try + { + if (value instanceof SSLSessionBindingListener) + ((SSLSessionBindingListener) value).valueBound + (new SSLSessionBindingEvent(this, name)); + } + catch (Exception x) + { + } + } + + public void removeValue(String name) + { + Object value = values.remove(name); + try + { + if (value instanceof SSLSessionBindingListener) + ((SSLSessionBindingListener) value).valueUnbound + (new SSLSessionBindingEvent(this, name)); + } + catch (Exception x) + { + } + } + + public final boolean isTruncatedMac() + { + return truncatedMac; + } + + /** + * Prepare this session for serialization. Private data will be encrypted + * with the given password, and this object will then be ready to be + * serialized. + * + * @param password The password to protect this session with. + * @throws SSLException If encrypting this session's private data fails. + */ + public abstract void prepare (char[] password) throws SSLException; + + /** + * Repair this session's private data after deserialization. This method + * will decrypt this session's private data, and prepare the session for + * use in new SSL connections. + * + * @param password The password to decrypt the private data with. + * @throws SSLException + */ + public abstract void repair(char[] password) throws SSLException; + + /** + * Get the private data of this session. This method may only be called + * after first calling {@link #prepare(char[])}. + * + * @return The sealed private data. + * @throws SSLException If the private data have not been sealed. + */ + public abstract SealedObject privateData() throws SSLException; + + /** + * Set the private data of this session. + * @param data + * @throws SSLException + */ + public abstract void setPrivateData(SealedObject data) throws SSLException; + + // Inner classes. + // ------------------------------------------------------------------------- + + /** + * An SSL or TLS session ID. + */ + public static final class ID implements Comparable, Serializable + { + + // Fields. + // ----------------------------------------------------------------------- + + static final long serialVersionUID = 7887036954666565936L; + /** The ID itself. */ + private final byte[] id; + + // Constructor. + // ----------------------------------------------------------------------- + + /** + * Creates a new ID. + * + * @param id The ID. The array is cloned. + */ + public ID (final byte[] id) + { + if (id.length > 32) + throw new IllegalArgumentException ("session ID's are limited to 32 bytes"); + this.id = (byte[]) id.clone(); + } + + // Instance methods. + // ----------------------------------------------------------------------- + + public byte[] id() + { + return (byte[]) id.clone(); + } + + public boolean equals(Object other) + { + if (!(other instanceof ID)) + return false; + return Arrays.equals(id, ((ID) other).id); + } + + public int hashCode() + { + int code = 0; + for (int i = 0; i < id.length; i++) + code |= (id[i] & 0xFF) << ((i & 3) << 3); + return code; + } + + public int compareTo(Object other) + { + byte[] id2 = ((ID) other).id; + if (id.length != id2.length) + return (id.length < id2.length) ? -1 : 1; + for (int i = 0; i < id.length; i++) + { + if ((id[i] & 0xFF) < (id2[i] & 0xFF)) + return -1; + if ((id[i] & 0xFF) > (id2[i] & 0xFF)) + return 1; + } + return 0; + } + + public String toString() + { + StringBuffer str = new StringBuffer (3 * id.length + 1); + for (int i = 0; i < id.length; i++) + { + int x = id[i] & 0xFF; + str.append (Character.forDigit ((x >>> 4) & 0xF, 16)); + str.append (Character.forDigit (x & 0xF, 16)); + if (i != id.length - 1) + str.append (':'); + } + return str.toString (); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/SessionStoreException.java b/libjava/classpath/gnu/javax/net/ssl/SessionStoreException.java new file mode 100644 index 00000000000..5dcf3d02887 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/SessionStoreException.java @@ -0,0 +1,59 @@ +/* SessionStoreException.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl; + +import javax.net.ssl.SSLException; + +public class SessionStoreException extends SSLException +{ + public SessionStoreException (final String message) + { + super (message); + } + + public SessionStoreException (final String message, final Throwable cause) + { + super (message, cause); + } + + public SessionStoreException (final Throwable cause) + { + super (cause); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/AbstractHandshake.java b/libjava/classpath/gnu/javax/net/ssl/provider/AbstractHandshake.java new file mode 100644 index 00000000000..d80a5bb789b --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/AbstractHandshake.java @@ -0,0 +1,1205 @@ +/* AbstractHandshake.java -- abstract handshake handler. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; +import gnu.java.security.action.GetSecurityPropertyAction; +import gnu.java.security.prng.IRandom; +import gnu.java.security.prng.LimitReachedException; +import gnu.java.security.util.ByteArray; +import gnu.javax.security.auth.callback.CertificateCallback; +import gnu.javax.security.auth.callback.DefaultCallbackHandler; + +import java.nio.ByteBuffer; +import java.security.AccessController; +import java.security.DigestException; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.KeyManagementException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.PrivilegedExceptionAction; +import java.security.SecureRandom; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.zip.Deflater; +import java.util.zip.Inflater; + +import javax.crypto.Cipher; +import javax.crypto.KeyAgreement; +import javax.crypto.Mac; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; +import javax.crypto.interfaces.DHPrivateKey; +import javax.crypto.interfaces.DHPublicKey; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import javax.net.ssl.SSLEngineResult; +import javax.net.ssl.SSLException; +import javax.net.ssl.X509TrustManager; +import javax.net.ssl.SSLEngineResult.HandshakeStatus; +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.ConfirmationCallback; + +/** + * The base interface for handshake implementations. Concrete + * subclasses of this class (one for the server, one for the client) + * handle the HANDSHAKE content-type in communications. + */ +public abstract class AbstractHandshake +{ + protected static final SystemLogger logger = SystemLogger.SYSTEM; + + /** + * "server finished" -- TLS 1.0 and later + */ + protected static final byte[] SERVER_FINISHED + = new byte[] { + 115, 101, 114, 118, 101, 114, 32, 102, 105, 110, 105, 115, + 104, 101, 100 + }; + + /** + * "client finished" -- TLS 1.0 and later + */ + protected static final byte[] CLIENT_FINISHED + = new byte[] { + 99, 108, 105, 101, 110, 116, 32, 102, 105, 110, 105, 115, + 104, 101, 100 + }; + + /** + * "key expansion" -- TLS 1.0 and later + */ + private static final byte[] KEY_EXPANSION = + new byte[] { 107, 101, 121, 32, 101, 120, 112, + 97, 110, 115, 105, 111, 110 }; + + /** + * "master secret" -- TLS 1.0 and later + */ + private static final byte[] MASTER_SECRET + = new byte[] { + 109, 97, 115, 116, 101, 114, 32, 115, 101, 99, 114, 101, 116 + }; + + /** + * "client write key" -- TLS 1.0 exportable whitener. + */ + private static final byte[] CLIENT_WRITE_KEY + = new byte[] { + 99, 108, 105, 101, 110, 116, 32, 119, 114, 105, 116, 101, 32, 107, + 101, 121 + }; + + /** + * "server write key" -- TLS 1.0 exportable whitener. + */ + private static final byte[] SERVER_WRITE_KEY + = new byte[] { + 115, 101, 114, 118, 101, 114, 32, 119, 114, 105, 116, 101, 32, 107, + 101, 121 + }; + + private static final byte[] IV_BLOCK + = new byte[] { + 73, 86, 32, 98, 108, 111, 99, 107 + }; + + /** + * SSL 3.0; the string "CLNT" + */ + private static final byte[] SENDER_CLIENT + = new byte[] { 0x43, 0x4C, 0x4E, 0x54 }; + + /** + * SSL 3.0; the string "SRVR" + */ + private static final byte[] SENDER_SERVER + = new byte[] { 0x53, 0x52, 0x56, 0x52 }; + + /** + * SSL 3.0; the value 0x36 40 (for SHA-1 hashes) or 48 (for MD5 hashes) + * times. + */ + protected static final byte[] PAD1 = new byte[48]; + + /** + * SSL 3.0; the value 0x5c 40 (for SHA-1 hashes) or 48 (for MD5 hashes) + * times. + */ + protected static final byte[] PAD2 = new byte[48]; + + static + { + Arrays.fill(PAD1, SSLHMac.PAD1); + Arrays.fill(PAD2, SSLHMac.PAD2); + } + + /** + * The currently-read handshake messages. There may be zero, or + * multiple, handshake messages in this buffer. + */ + protected ByteBuffer handshakeBuffer; + + /** + * The offset into `handshakeBuffer' where the first unread + * handshake message resides. + */ + protected int handshakeOffset; + + protected MessageDigest sha; + protected MessageDigest md5; + + protected final SSLEngineImpl engine; + protected KeyAgreement keyAgreement; + protected byte[] preMasterSecret; + protected InputSecurityParameters inParams; + protected OutputSecurityParameters outParams; + protected LinkedList tasks; + protected Random serverRandom; + protected Random clientRandom; + protected CompressionMethod compression; + + protected AbstractHandshake(SSLEngineImpl engine) + throws NoSuchAlgorithmException + { + this.engine = engine; + sha = MessageDigest.getInstance("SHA-1"); + md5 = MessageDigest.getInstance("MD5"); + tasks = new LinkedList(); + } + + /** + * Handles the next input message in the handshake. This is called + * in response to a call to {@link javax.net.ssl.SSLEngine#unwrap} + * for a message with content-type HANDSHAKE. + * + * @param record The input record. The callee should not assume that + * the record's buffer is writable, and should not try to use it for + * output or temporary storage. + * @return An {@link SSLEngineResult} describing the result. + */ + public final HandshakeStatus handleInput (ByteBuffer fragment) + throws SSLException + { + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + + HandshakeStatus status = status(); + if (status != HandshakeStatus.NEED_UNWRAP) + return status; + + // Try to read another... + if (!pollHandshake(fragment)) + return HandshakeStatus.NEED_UNWRAP; + + while (hasMessage() && status != HandshakeStatus.NEED_WRAP) + { + int pos = handshakeOffset; + status = implHandleInput(); + int len = handshakeOffset - pos; + if (len == 0) + { + // Don't bother; the impl is just telling us to go around + // again. + continue; + } + if (doHash()) + { + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "hashing output\n{0}", + Util.hexDump((ByteBuffer) handshakeBuffer + .duplicate().position(pos) + .limit(pos+len), " >> ")); + sha.update((ByteBuffer) handshakeBuffer.duplicate() + .position(pos).limit(pos+len)); + md5.update((ByteBuffer) handshakeBuffer.duplicate() + .position(pos).limit(pos+len)); + } + } + return status; + } + + /** + * Called to process more handshake data. This method will be called + * repeatedly while there is remaining handshake data, and while the + * status is + * @return + * @throws SSLException + */ + protected abstract HandshakeStatus implHandleInput() + throws SSLException; + + /** + * Produce more handshake output. This is called in response to a + * call to {@link javax.net.ssl.SSLEngine#wrap}, when the handshake + * is still in progress. + * + * @param record The output record; the callee should put its output + * handshake message (or a part of it) in the argument's + * fragment, and should set the record length + * appropriately. + * @return An {@link SSLEngineResult} describing the result. + */ + public final HandshakeStatus handleOutput (ByteBuffer fragment) + throws SSLException + { + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + + int orig = fragment.position(); + SSLEngineResult.HandshakeStatus status = implHandleOutput(fragment); + if (doHash()) + { + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "hashing output:\n{0}", + Util.hexDump((ByteBuffer) fragment.duplicate().flip().position(orig), " >> ")); + sha.update((ByteBuffer) fragment.duplicate().flip().position(orig)); + md5.update((ByteBuffer) fragment.duplicate().flip().position(orig)); + } + return status; + } + + /** + * Called to implement the underlying output handling. The callee should + * attempt to fill the given buffer as much as it can; this can include + * multiple, and even partial, handshake messages. + * + * @param fragment The buffer the callee should write handshake messages to. + * @return The new status of the handshake. + * @throws SSLException If an error occurs processing the output message. + */ + protected abstract SSLEngineResult.HandshakeStatus implHandleOutput (ByteBuffer fragment) + throws SSLException; + + /** + * Return a new instance of input security parameters, initialized with + * the session key. It is, of course, only valid to invoke this method + * once the handshake is complete, and the session keys established. + * + *

    In the presence of a well-behaving peer, this should be called once + * the ChangeCipherSpec message is recieved. + * + * @return The input parameters for the newly established session. + * @throws SSLException If the handshake is not complete. + */ + final InputSecurityParameters getInputParams() throws SSLException + { + checkKeyExchange(); + return inParams; + } + + /** + * Return a new instance of output security parameters, initialized with + * the session key. This should be called after the + * ChangeCipherSpec message is sent to the peer. + * + * @return The output parameters for the newly established session. + * @throws SSLException If the handshake is not complete. + */ + final OutputSecurityParameters getOutputParams() throws SSLException + { + checkKeyExchange(); + return outParams; + } + + /** + * Fetch a delegated task waiting to run, if any. + * + * @return The task. + */ + final Runnable getTask() + { + if (tasks.isEmpty()) + return null; + return tasks.removeFirst(); + } + + /** + * Used by the skeletal code to query the current status of the handshake. + * This should be the same value as returned by the previous call + * to {@link #implHandleOutput(ByteBuffer)} or {@link + * #implHandleInput(ByteBuffer)}. + * + * @return The current handshake status. + */ + abstract HandshakeStatus status(); + + /** + * Check if the key exchange completed successfully, throwing an exception + * if not. + * + *

    Note that we assume that the caller of our SSLEngine is correct, and + * that they did run the delegated tasks that encapsulate the key exchange. + * What we are primarily checking, therefore, is that no error occurred in the + * key exchange operation itself. + * + * @throws SSLException If the key exchange did not complete successfully. + */ + abstract void checkKeyExchange() throws SSLException; + + /** + * Handle an SSLv2 client hello. This is only used by SSL servers. + * + * @param hello The hello message. + */ + abstract void handleV2Hello(ByteBuffer hello) throws SSLException; + + /** + * Attempt to read the next handshake message from the given + * record. If only a partial handshake message is available, then + * this method saves the incoming bytes and returns false. If a + * complete handshake is read, or if there was one buffered in the + * handshake buffer, this method returns true, and `handshakeBuffer' + * can be used to read the handshake. + * + * @param record The input record. + * @return True if a complete handshake is present in the buffer; + * false if only a partial one. + */ + protected boolean pollHandshake (final ByteBuffer fragment) + { + // Allocate space for the new fragment. + if (handshakeBuffer == null + || handshakeBuffer.remaining() < fragment.remaining()) + { + // We need space for anything still unread in the handshake + // buffer... + int len = ((handshakeBuffer == null) ? 0 + : handshakeBuffer.position() - handshakeOffset); + + // Plus room for the incoming record. + len += fragment.remaining(); + reallocateBuffer(len); + } + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "inserting {0} into {1}", + fragment, handshakeBuffer); + + // Put the fragment into the buffer. + handshakeBuffer.put(fragment); + + return hasMessage(); + } + + protected boolean doHash() + { + return true; + } + + /** + * Tell if the handshake buffer currently has a full handshake + * message. + */ + protected boolean hasMessage() + { + if (handshakeBuffer == null) + return false; + ByteBuffer tmp = handshakeBuffer.duplicate(); + tmp.flip(); + tmp.position(handshakeOffset); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "current buffer: {0}; test buffer {1}", + handshakeBuffer, tmp); + if (tmp.remaining() < 4) + return false; + Handshake handshake = new Handshake(tmp.slice()); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "handshake len:{0} remaining:{1}", + handshake.length(), tmp.remaining()); + return (handshake.length() <= tmp.remaining() - 4); + } + + /** + * Reallocate the handshake buffer so it can hold `totalLen' + * bytes. The smallest buffer allocated is 1024 bytes, and the size + * doubles from there until the buffer is sufficiently large. + */ + private void reallocateBuffer (final int totalLen) + { + int len = handshakeBuffer == null ? -1 + : handshakeBuffer.capacity() - (handshakeBuffer.limit() - handshakeOffset); + if (len >= totalLen) + { + // Big enough; no need to reallocate; but maybe shift the contents + // down. + if (handshakeOffset > 0) + { + handshakeBuffer.flip().position(handshakeOffset); + handshakeBuffer.compact(); + handshakeOffset = 0; + } + return; + } + + // Start at 1K (probably the system's page size). Double the size + // from there. + len = 1024; + while (len < totalLen) + len = len << 1; + ByteBuffer newBuf = ByteBuffer.allocate (len); + + // Copy the unread bytes from the old buffer. + if (handshakeBuffer != null) + { + handshakeBuffer.flip (); + handshakeBuffer.position(handshakeOffset); + newBuf.put(handshakeBuffer); + } + handshakeBuffer = newBuf; + + // We just put only unread handshake messages in the new buffer; + // the offset of the next one is now zero. + handshakeOffset = 0; + } + + /** + * Generate a certificate verify message for SSLv3. In SSLv3, a different + * algorithm was used to generate this value was subtly different than + * that used in TLSv1.0 and later. In TLSv1.0 and later, this value is + * just the digest over the handshake messages. + * + *

    SSLv3 uses the algorithm: + * + *

    +CertificateVerify.signature.md5_hash
    +  MD5(master_secret + pad_2 +
    +      MD5(handshake_messages + master_secret + pad_1));
    +Certificate.signature.sha_hash
    +  SHA(master_secret + pad_2 +
    +      SHA(handshake_messages + master_secret + pad_1));
    + * + * @param md5 The running MD5 hash of the handshake. + * @param sha The running SHA-1 hash of the handshake. + * @param session The current session being negotiated. + * @return The computed to-be-signed value. + */ + protected byte[] genV3CertificateVerify(MessageDigest md5, + MessageDigest sha, + SessionImpl session) + { + byte[] md5value = null; + if (session.suite.signatureAlgorithm() == SignatureAlgorithm.RSA) + { + md5.update(session.privateData.masterSecret); + md5.update(PAD1, 0, 48); + byte[] tmp = md5.digest(); + md5.reset(); + md5.update(session.privateData.masterSecret); + md5.update(PAD2, 0, 48); + md5.update(tmp); + md5value = md5.digest(); + } + + sha.update(session.privateData.masterSecret); + sha.update(PAD1, 0, 40); + byte[] tmp = sha.digest(); + sha.reset(); + sha.update(session.privateData.masterSecret); + sha.update(PAD2, 0, 40); + sha.update(tmp); + byte[] shavalue = sha.digest(); + + if (md5value != null) + return Util.concat(md5value, shavalue); + + return shavalue; + } + + /** + * Generate the session keys from the computed master secret. + * + * @param clientRandom The client's nonce. + * @param serverRandom The server's nonce. + * @param session The session being established. + * @return The derived keys. + */ + protected byte[][] generateKeys(Random clientRandom, Random serverRandom, + SessionImpl session) + { + int maclen = 20; // SHA-1. + if (session.suite.macAlgorithm() == MacAlgorithm.MD5) + maclen = 16; + int ivlen = 0; + if (session.suite.cipherAlgorithm() == CipherAlgorithm.DES + || session.suite.cipherAlgorithm() == CipherAlgorithm.DESede) + ivlen = 8; + if (session.suite.cipherAlgorithm() == CipherAlgorithm.AES) + ivlen = 16; + int keylen = session.suite.keyLength(); + + byte[][] keys = new byte[6][]; + keys[0] = new byte[maclen]; // client_write_MAC_secret + keys[1] = new byte[maclen]; // server_write_MAC_secret + keys[2] = new byte[keylen]; // client_write_key + keys[3] = new byte[keylen]; // server_write_key + keys[4] = new byte[ivlen]; // client_write_iv + keys[5] = new byte[ivlen]; // server_write_iv + + IRandom prf = null; + if (session.version == ProtocolVersion.SSL_3) + { + byte[] seed = new byte[clientRandom.length() + + serverRandom.length()]; + serverRandom.buffer().get(seed, 0, serverRandom.length()); + clientRandom.buffer().get(seed, serverRandom.length(), + clientRandom.length()); + prf = new SSLRandom(); + HashMap attr = new HashMap(2); + attr.put(SSLRandom.SECRET, session.privateData.masterSecret); + attr.put(SSLRandom.SEED, seed); + prf.init(attr); + } + else + { + byte[] seed = new byte[KEY_EXPANSION.length + + clientRandom.length() + + serverRandom.length()]; + System.arraycopy(KEY_EXPANSION, 0, seed, 0, KEY_EXPANSION.length); + serverRandom.buffer().get(seed, KEY_EXPANSION.length, + serverRandom.length()); + clientRandom.buffer().get(seed, (KEY_EXPANSION.length + + serverRandom.length()), + clientRandom.length()); + + prf = new TLSRandom(); + HashMap attr = new HashMap(2); + attr.put(TLSRandom.SECRET, session.privateData.masterSecret); + attr.put(TLSRandom.SEED, seed); + prf.init(attr); + } + + try + { + prf.nextBytes(keys[0], 0, keys[0].length); + prf.nextBytes(keys[1], 0, keys[1].length); + prf.nextBytes(keys[2], 0, keys[2].length); + prf.nextBytes(keys[3], 0, keys[3].length); + + if (session.suite.isExportable()) + { + if (session.version == ProtocolVersion.SSL_3) + { + MessageDigest md5 = MessageDigest.getInstance("MD5"); + md5.update(clientRandom.buffer()); + md5.update(serverRandom.buffer()); + byte[] d = md5.digest(); + System.arraycopy(d, 0, keys[4], 0, keys[4].length); + + md5.reset(); + md5.update(serverRandom.buffer()); + md5.update(clientRandom.buffer()); + d = md5.digest(); + System.arraycopy(d, 0, keys[5], 0, keys[5].length); + + md5.reset(); + md5.update(keys[2]); + md5.update(clientRandom.buffer()); + md5.update(serverRandom.buffer()); + keys[2] = Util.trim(md5.digest(), 8); + + md5.reset(); + md5.update(keys[3]); + md5.update(serverRandom.buffer()); + md5.update(clientRandom.buffer()); + keys[3] = Util.trim(md5.digest(), 8); + } + else + { + TLSRandom prf2 = new TLSRandom(); + HashMap attr = new HashMap(2); + attr.put(TLSRandom.SECRET, keys[2]); + byte[] seed = new byte[CLIENT_WRITE_KEY.length + + clientRandom.length() + + serverRandom.length()]; + System.arraycopy(CLIENT_WRITE_KEY, 0, seed, 0, + CLIENT_WRITE_KEY.length); + clientRandom.buffer().get(seed, CLIENT_WRITE_KEY.length, + clientRandom.length()); + serverRandom.buffer().get(seed, CLIENT_WRITE_KEY.length + + clientRandom.length(), + serverRandom.length()); + attr.put(TLSRandom.SEED, seed); + prf2.init(attr); + keys[2] = new byte[8]; + prf2.nextBytes(keys[2], 0, keys[2].length); + + attr.put(TLSRandom.SECRET, keys[3]); + seed = new byte[SERVER_WRITE_KEY.length + + serverRandom.length() + + clientRandom.length()]; + System.arraycopy(SERVER_WRITE_KEY, 0, seed, 0, + SERVER_WRITE_KEY.length); + serverRandom.buffer().get(seed, SERVER_WRITE_KEY.length, + serverRandom.length()); + clientRandom.buffer().get(seed, SERVER_WRITE_KEY.length + + serverRandom.length(), + + clientRandom.length()); + attr.put(TLSRandom.SEED, seed); + prf2.init(attr); + keys[3] = new byte[8]; + prf2.nextBytes(keys[3], 0, keys[3].length); + + attr.put(TLSRandom.SECRET, new byte[0]); + seed = new byte[IV_BLOCK.length + + clientRandom.length() + + serverRandom.length()]; + System.arraycopy(IV_BLOCK, 0, seed, 0, IV_BLOCK.length); + clientRandom.buffer().get(seed, IV_BLOCK.length, + clientRandom.length()); + serverRandom.buffer().get(seed, IV_BLOCK.length + + clientRandom.length(), + serverRandom.length()); + attr.put(TLSRandom.SEED, seed); + prf2.init(attr); + prf2.nextBytes(keys[4], 0, keys[4].length); + prf2.nextBytes(keys[5], 0, keys[5].length); + } + } + else + { + prf.nextBytes(keys[4], 0, keys[4].length); + prf.nextBytes(keys[5], 0, keys[5].length); + } + } + catch (LimitReachedException lre) + { + // Won't happen with our implementation. + throw new Error(lre); + } + catch (NoSuchAlgorithmException nsae) + { + throw new Error(nsae); + } + + if (Debug.DEBUG_KEY_EXCHANGE) + logger.logv(Component.SSL_KEY_EXCHANGE, + "keys generated;\n [0]: {0}\n [1]: {1}\n [2]: {2}\n" + + " [3]: {3}\n [4]: {4}\n [5]: {5}", + Util.toHexString(keys[0], ':'), + Util.toHexString(keys[1], ':'), + Util.toHexString(keys[2], ':'), + Util.toHexString(keys[3], ':'), + Util.toHexString(keys[4], ':'), + Util.toHexString(keys[5], ':')); + return keys; + } + + /** + * Generate a "finished" message. The hashes passed in are modified + * by this function, so they should be clone copies of the digest if + * the hash function needs to be used more. + * + * @param md5 The MD5 computation. + * @param sha The SHA-1 computation. + * @param isClient Whether or not the client-side finished message is + * being computed. + * @param session The current session. + * @return A byte buffer containing the computed finished message. + */ + protected ByteBuffer generateFinished(MessageDigest md5, + MessageDigest sha, + boolean isClient, + SessionImpl session) + { + ByteBuffer finishedBuffer = null; + if (session.version.compareTo(ProtocolVersion.TLS_1) >= 0) + { + finishedBuffer = ByteBuffer.allocate(12); + TLSRandom prf = new TLSRandom(); + byte[] md5val = md5.digest(); + byte[] shaval = sha.digest(); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "finished md5:{0} sha:{1}", + Util.toHexString(md5val, ':'), + Util.toHexString(shaval, ':')); + byte[] seed = new byte[CLIENT_FINISHED.length + + md5val.length + + shaval.length]; + if (isClient) + System.arraycopy(CLIENT_FINISHED, 0, seed, 0, CLIENT_FINISHED.length); + else + System.arraycopy(SERVER_FINISHED, 0, seed, 0, SERVER_FINISHED.length); + System.arraycopy(md5val, 0, + seed, CLIENT_FINISHED.length, + md5val.length); + System.arraycopy(shaval, 0, + seed, CLIENT_FINISHED.length + md5val.length, + shaval.length); + HashMap params = new HashMap(2); + params.put(TLSRandom.SECRET, session.privateData.masterSecret); + params.put(TLSRandom.SEED, seed); + prf.init(params); + byte[] buf = new byte[12]; + prf.nextBytes(buf, 0, buf.length); + finishedBuffer.put(buf).position(0); + } + else + { + // The SSLv3 algorithm is: + // + // enum { client(0x434C4E54), server(0x53525652) } Sender; + // + // struct { + // opaque md5_hash[16]; + // opaque sha_hash[20]; + // } Finished; + // + // md5_hash MD5(master_secret + pad2 + + // MD5(handshake_messages + Sender + + // master_secret + pad1)); + // sha_hash SHA(master_secret + pad2 + + // SHA(handshake_messages + Sender + + // master_secret + pad1)); + // + + finishedBuffer = ByteBuffer.allocate(36); + + md5.update(isClient ? SENDER_CLIENT : SENDER_SERVER); + md5.update(session.privateData.masterSecret); + md5.update(PAD1); + + byte[] tmp = md5.digest(); + md5.reset(); + md5.update(session.privateData.masterSecret); + md5.update(PAD2); + md5.update(tmp); + finishedBuffer.put(md5.digest()); + + sha.update(isClient ? SENDER_CLIENT : SENDER_SERVER); + sha.update(session.privateData.masterSecret); + sha.update(PAD1, 0, 40); + + tmp = sha.digest(); + sha.reset(); + sha.update(session.privateData.masterSecret); + sha.update(PAD2, 0, 40); + sha.update(tmp); + finishedBuffer.put(sha.digest()).position(0); + } + return finishedBuffer; + } + + protected void initDiffieHellman(DHPrivateKey dhKey, SecureRandom random) + throws SSLException + { + try + { + keyAgreement = KeyAgreement.getInstance("DH"); + keyAgreement.init(dhKey, random); + } + catch (InvalidKeyException ike) + { + throw new SSLException(ike); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + } + + protected void generateMasterSecret(Random clientRandom, + Random serverRandom, + SessionImpl session) + throws SSLException + { + assert(clientRandom != null); + assert(serverRandom != null); + assert(session != null); + + if (Debug.DEBUG_KEY_EXCHANGE) + logger.logv(Component.SSL_KEY_EXCHANGE, "preMasterSecret:\n{0}", + new ByteArray(preMasterSecret)); + + if (session.version == ProtocolVersion.SSL_3) + { + try + { + MessageDigest _md5 = MessageDigest.getInstance("MD5"); + MessageDigest _sha = MessageDigest.getInstance("SHA"); + session.privateData.masterSecret = new byte[48]; + + _sha.update((byte) 'A'); + _sha.update(preMasterSecret); + _sha.update(clientRandom.buffer()); + _sha.update(serverRandom.buffer()); + _md5.update(preMasterSecret); + _md5.update(_sha.digest()); + _md5.digest(session.privateData.masterSecret, 0, 16); + + _sha.update((byte) 'B'); + _sha.update((byte) 'B'); + _sha.update(preMasterSecret); + _sha.update(clientRandom.buffer()); + _sha.update(serverRandom.buffer()); + _md5.update(preMasterSecret); + _md5.update(_sha.digest()); + _md5.digest(session.privateData.masterSecret, 16, 16); + + _sha.update((byte) 'C'); + _sha.update((byte) 'C'); + _sha.update((byte) 'C'); + _sha.update(preMasterSecret); + _sha.update(clientRandom.buffer()); + _sha.update(serverRandom.buffer()); + _md5.update(preMasterSecret); + _md5.update(_sha.digest()); + _md5.digest(session.privateData.masterSecret, 32, 16); + } + catch (DigestException de) + { + throw new SSLException(de); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + } + else // TLSv1.0 and later + { + byte[] seed = new byte[clientRandom.length() + + serverRandom.length() + + MASTER_SECRET.length]; + System.arraycopy(MASTER_SECRET, 0, seed, 0, MASTER_SECRET.length); + clientRandom.buffer().get(seed, MASTER_SECRET.length, + clientRandom.length()); + serverRandom.buffer().get(seed, + MASTER_SECRET.length + clientRandom.length(), + serverRandom.length()); + TLSRandom prf = new TLSRandom(); + HashMap attr = new HashMap(2); + attr.put(TLSRandom.SECRET, preMasterSecret); + attr.put(TLSRandom.SEED, seed); + prf.init(attr); + + session.privateData.masterSecret = new byte[48]; + prf.nextBytes(session.privateData.masterSecret, 0, 48); + } + + if (Debug.DEBUG_KEY_EXCHANGE) + logger.log(Component.SSL_KEY_EXCHANGE, "master_secret: {0}", + new ByteArray(session.privateData.masterSecret)); + + // Wipe out the preMasterSecret. + for (int i = 0; i < preMasterSecret.length; i++) + preMasterSecret[i] = 0; + } + + protected void setupSecurityParameters(byte[][] keys, boolean isClient, + SSLEngineImpl engine, + CompressionMethod compression) + throws SSLException + { + assert(keys.length == 6); + assert(engine != null); + assert(compression != null); + + try + { + CipherSuite s = engine.session().suite; + Cipher inCipher = s.cipher(); + Mac inMac = s.mac(engine.session().version); + Inflater inflater = (compression == CompressionMethod.ZLIB + ? new Inflater() : null); + inCipher.init(Cipher.DECRYPT_MODE, + new SecretKeySpec(keys[isClient ? 3 : 2], + s.cipherAlgorithm().toString()), + new IvParameterSpec(keys[isClient ? 5 : 4])); + inMac.init(new SecretKeySpec(keys[isClient ? 1 : 0], + inMac.getAlgorithm())); + inParams = new InputSecurityParameters(inCipher, inMac, + inflater, + engine.session(), s); + + Cipher outCipher = s.cipher(); + Mac outMac = s.mac(engine.session().version); + Deflater deflater = (compression == CompressionMethod.ZLIB + ? new Deflater() : null); + outCipher.init(Cipher.ENCRYPT_MODE, + new SecretKeySpec(keys[isClient ? 2 : 3], + s.cipherAlgorithm().toString()), + new IvParameterSpec(keys[isClient ? 4 : 5])); + outMac.init(new SecretKeySpec(keys[isClient ? 0 : 1], + outMac.getAlgorithm())); + outParams = new OutputSecurityParameters(outCipher, outMac, + deflater, + engine.session(), s); + } + catch (InvalidAlgorithmParameterException iape) + { + throw new SSLException(iape); + } + catch (InvalidKeyException ike) + { + throw new SSLException(ike); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + catch (NoSuchPaddingException nspe) + { + throw new SSLException(nspe); + } + } + + protected void generatePSKSecret(String identity, byte[] otherkey, + boolean isClient) + throws SSLException + { + SecretKey key = null; + try + { + key = engine.contextImpl.pskManager.getKey(identity); + } + catch (KeyManagementException kme) + { + } + if (key != null) + { + byte[] keyb = key.getEncoded(); + if (otherkey == null) + { + otherkey = new byte[keyb.length]; + } + preMasterSecret = new byte[otherkey.length + keyb.length + 4]; + preMasterSecret[0] = (byte) (otherkey.length >>> 8); + preMasterSecret[1] = (byte) otherkey.length; + System.arraycopy(otherkey, 0, preMasterSecret, 2, otherkey.length); + preMasterSecret[otherkey.length + 2] + = (byte) (keyb.length >>> 8); + preMasterSecret[otherkey.length + 3] + = (byte) keyb.length; + System.arraycopy(keyb, 0, preMasterSecret, + otherkey.length + 4, keyb.length); + } + else + { + // Generate a random, fake secret. + preMasterSecret = new byte[8]; + preMasterSecret[1] = 2; + preMasterSecret[5] = 2; + preMasterSecret[6] = (byte) engine.session().random().nextInt(); + preMasterSecret[7] = (byte) engine.session().random().nextInt(); + } + + if (Debug.DEBUG_KEY_EXCHANGE) + logger.logv(Component.SSL_KEY_EXCHANGE, "PSK identity {0} key {1}", + identity, key); + + generateMasterSecret(clientRandom, serverRandom, + engine.session()); + byte[][] keys = generateKeys(clientRandom, serverRandom, + engine.session()); + setupSecurityParameters(keys, isClient, engine, compression); + } + + protected class DHPhase extends DelegatedTask + { + private final DHPublicKey key; + private final boolean full; + + protected DHPhase(DHPublicKey key) + { + this(key, true); + } + + protected DHPhase(DHPublicKey key, boolean full) + { + this.key = key; + this.full = full; + } + + protected void implRun() throws InvalidKeyException, SSLException + { + keyAgreement.doPhase(key, true); + preMasterSecret = keyAgreement.generateSecret(); + if (full) + { + generateMasterSecret(clientRandom, serverRandom, engine.session()); + byte[][] keys = generateKeys(clientRandom, serverRandom, engine.session()); + setupSecurityParameters(keys, engine.getUseClientMode(), engine, compression); + } + } + } + + protected class CertVerifier extends DelegatedTask + { + private final boolean clientSide; + private final X509Certificate[] chain; + private boolean verified; + + protected CertVerifier(boolean clientSide, X509Certificate[] chain) + { + this.clientSide = clientSide; + this.chain = chain; + } + + boolean verified() + { + return verified; + } + + protected void implRun() + { + X509TrustManager tm = engine.contextImpl.trustManager; + if (clientSide) + { + try + { + tm.checkServerTrusted(chain, null); + verified = true; + } + catch (CertificateException ce) + { + if (Debug.DEBUG) + logger.log(Component.SSL_DELEGATED_TASK, "cert verify", ce); + // For client connections, ask the user if the certificate is OK. + CallbackHandler verify = new DefaultCallbackHandler(); + GetSecurityPropertyAction gspa + = new GetSecurityPropertyAction("jessie.certificate.handler"); + String clazz = AccessController.doPrivileged(gspa); + try + { + ClassLoader cl = + AccessController.doPrivileged(new PrivilegedExceptionAction() + { + public ClassLoader run() throws Exception + { + return ClassLoader.getSystemClassLoader(); + } + }); + verify = (CallbackHandler) cl.loadClass(clazz).newInstance(); + } + catch (Exception x) + { + // Ignore. + if (Debug.DEBUG) + logger.log(Component.SSL_DELEGATED_TASK, + "callback handler loading", x); + } + // XXX Internationalize + CertificateCallback confirm = + new CertificateCallback(chain[0], + "The server's certificate could not be verified. There is no proof " + + "that this server is who it claims to be, or that their certificate " + + "is valid. Do you wish to continue connecting? "); + + try + { + verify.handle(new Callback[] { confirm }); + verified = confirm.getSelectedIndex() == ConfirmationCallback.YES; + } + catch (Exception x) + { + if (Debug.DEBUG) + logger.log(Component.SSL_DELEGATED_TASK, + "callback handler exception", x); + verified = false; + } + } + } + else + { + try + { + tm.checkClientTrusted(chain, null); + } + catch (CertificateException ce) + { + verified = false; + } + } + + if (verified) + engine.session().setPeerVerified(true); + } + } + + protected class DHE_PSKGen extends DelegatedTask + { + private final DHPublicKey dhKey; + private final SecretKey psKey; + private final boolean isClient; + + protected DHE_PSKGen(DHPublicKey dhKey, SecretKey psKey, boolean isClient) + { + this.dhKey = dhKey; + this.psKey = psKey; + this.isClient = isClient; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.DelegatedTask#implRun() + */ + @Override protected void implRun() throws Throwable + { + keyAgreement.doPhase(dhKey, true); + byte[] dhSecret = keyAgreement.generateSecret(); + byte[] psSecret = null; + if (psKey != null) + psSecret = psKey.getEncoded(); + else + { + psSecret = new byte[8]; + engine.session().random().nextBytes(psSecret); + } + + preMasterSecret = new byte[dhSecret.length + psSecret.length + 4]; + preMasterSecret[0] = (byte) (dhSecret.length >>> 8); + preMasterSecret[1] = (byte) dhSecret.length; + System.arraycopy(dhSecret, 0, preMasterSecret, 2, dhSecret.length); + preMasterSecret[dhSecret.length + 2] = (byte) (psSecret.length >>> 8); + preMasterSecret[dhSecret.length + 3] = (byte) psSecret.length; + System.arraycopy(psSecret, 0, preMasterSecret, dhSecret.length + 4, + psSecret.length); + + generateMasterSecret(clientRandom, serverRandom, engine.session()); + byte[][] keys = generateKeys(clientRandom, serverRandom, engine.session()); + setupSecurityParameters(keys, isClient, engine, compression); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Alert.java b/libjava/classpath/gnu/javax/net/ssl/provider/Alert.java index c31e1bef5ca..12c86b0a402 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Alert.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Alert.java @@ -38,10 +38,10 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.EOFException; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; /** * An alert message in the SSL protocol. Alerts are sent both as warnings @@ -52,211 +52,112 @@ import java.io.OutputStream; * *
      * struct {
    - *   AlertLevel level;
    + *   AlertLevel       level;
      *   AlertDescription description;
      * }
      * 
    */ -final class Alert implements Constructed +public final class Alert implements Constructed { // Fields. // ------------------------------------------------------------------------- - /** The alert level enumerated. */ - private final Level level; - - /** The alert description enumerated. */ - private final Description description; + /** The underlying byte buffer. */ + private final ByteBuffer buffer; // Constructor. // ------------------------------------------------------------------------- - Alert(Level level, Description description) + public Alert (final ByteBuffer buffer) + { + this.buffer = buffer; + } + + public Alert (final Level level, final Description description) { - this.level = level; - this.description = description; + level.getClass (); + description.getClass (); + ByteBuffer b = ByteBuffer.allocate (2); + b.put (0, (byte) level.getValue ()); + b.put (1, (byte) description.getValue ()); + this.buffer = b.asReadOnlyBuffer (); } - // Class method. + // Instance methods. // ------------------------------------------------------------------------- - static Alert read(InputStream in) throws IOException + public int length () { - Level level = Level.read(in); - Description desc = Description.read(in); - return new Alert(level, desc); + return 2; } - static Alert forName(String name) + byte[] getEncoded() { - if (name == null) - { - return new Alert(Level.FATAL, Description.INTERNAL_ERROR); - } - Description desc = Description.INTERNAL_ERROR; - if (name.equals("close_notify")) - { - desc = Description.CLOSE_NOTIFY; - } - else if (name.equals("unexpected_message")) - { - desc = Description.UNEXPECTED_MESSAGE; - } - else if (name.equals("bad_record_mac")) - { - desc = Description.BAD_RECORD_MAC; - } - else if (name.equals("DECRYPTION_FAILED")) - { - desc = Description.DECRYPTION_FAILED; - } - else if (name.equals("record_overflow")) - { - desc = Description.RECORD_OVERFLOW; - } - else if (name.equals("decompression_failure")) - { - desc = Description.DECOMPRESSION_FAILURE; - } - else if (name.equals("handshake_failure")) - { - desc = Description.HANDSHAKE_FAILURE; - } - else if (name.equals("no_certificate")) - { - desc = Description.NO_CERTIFICATE; - } - else if (name.equals("bad_certificate")) - { - desc = Description.BAD_CERTIFICATE; - } - else if (name.equals("unsupported_certificate")) - { - desc = Description.UNSUPPORTED_CERTIFICATE; - } - else if (name.equals("certificate_revoked")) - { - desc = Description.CERTIFICATE_REVOKED; - } - else if (name.equals("certificate_expired")) - { - desc = Description.CERTIFICATE_EXPIRED; - } - else if (name.equals("certificate_unknown")) - { - desc = Description.CERTIFICATE_UNKNOWN; - } - else if (name.equals("illegal_parameter")) - { - desc = Description.ILLEGAL_PARAMETER; - } - else if (name.equals("unknown_ca")) - { - desc = Description.UNKNOWN_CA; - } - else if (name.equals("access_denied")) - { - desc = Description.ACCESS_DENIED; - } - else if (name.equals("decode_error")) - { - desc = Description.DECODE_ERROR; - } - else if (name.equals("decrypt_error")) - { - desc = Description.DECRYPT_ERROR; - } - else if (name.equals("export_restriction")) - { - desc = Description.EXPORT_RESTRICTION; - } - else if (name.equals("protocol_version")) - { - desc = Description.PROTOCOL_VERSION; - } - else if (name.equals("insufficient_security")) - { - desc = Description.INSUFFICIENT_SECURITY; - } - else if (name.equals("internal_error")) - { - desc = Description.INTERNAL_ERROR; - } - else if (name.equals("user_canceled")) - { - desc = Description.USER_CANCELED; - } - else if (name.equals("no_renegotiation")) - { - desc = Description.NO_RENEGOTIATION; - } - else if (name.equals("unsupported_extension")) - { - desc = Description.UNSUPPORTED_EXTENSION; - } - else if (name.equals("certificate_unobtainable")) - { - desc = Description.CERTIFICATE_UNOBTAINABLE; - } - else if (name.equals("unrecognized_name")) - { - desc = Description.UNRECOGNIZED_NAME; - } - else if (name.equals("bad_certificate_status_response")) - { - desc = Description.BAD_CERTIFICATE_STATUS_RESPONSE; - } - else if (name.equals("bad_certificate_hash_value")) - { - desc = Description.BAD_CERTIFICATE_HASH_VALUE; - } - else if (name.equals("unknown_srp_username")) - { - desc = Description.UNKNOWN_SRP_USERNAME; - } - else if (name.equals("missing_srp_username")) - { - desc = Description.MISSING_SRP_USERNAME; - } - return new Alert(Level.FATAL, desc); + byte[] buf = new byte[2]; + buffer.position (0); + buffer.get (buf); + return buf; } - // Instance methods. - // ------------------------------------------------------------------------- + public Level level() + { + return Level.forInteger (buffer.get (0) & 0xFF); + } - public void write(OutputStream out) throws IOException + public Description description() { - out.write((byte) level.getValue()); - out.write((byte) description.getValue()); + return Description.forInteger (buffer.get (1) & 0xFF); } - byte[] getEncoded() + public void setLevel (final Level level) + { + buffer.put (0, (byte) level.getValue ()); + } + + public void setDescription (final Description description) { - return new byte[] { (byte) level.getValue(), - (byte) description.getValue() }; + buffer.put (1, (byte) description.getValue ()); } - Level getLevel() + public boolean equals (Object o) { - return level; + if (!(o instanceof Alert)) + return false; + Alert that = (Alert) o; + return that.buffer.position (0).equals (buffer.position (0)); } - Description getDescription() + public int hashCode () { - return description; + return buffer.getShort (0) & 0xFFFF; } public String toString() { - String nl = System.getProperty("line.separator"); - return "struct {" + nl + - " level = " + level + ";" + nl + - " description = " + description + ";" + nl + - "} Alert;" + nl; + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); + out.println ("struct {"); + if (prefix != null) out.print (prefix); + out.print (" level: "); + out.print (level ()); + out.println (";"); + if (prefix != null) out.print (prefix); + out.print (" description: "); + out.print (description ()); + out.println (";"); + if (prefix != null) out.print (prefix); + out.print ("} Alert;"); + return str.toString (); } - // Inner classes. + // Enumerations. // ------------------------------------------------------------------------- /** @@ -266,129 +167,88 @@ final class Alert implements Constructed * enum { warning(1), fatal(2), (255) } AlertLevel; * */ - static final class Level implements Enumerated + public static enum Level { - // Constants and fields. - // ----------------------------------------------------------------------- - - static final Level WARNING = new Level(1), FATAL = new Level(2); - + WARNING (1), FATAL (2); + private final int value; - // Constructor. - // ----------------------------------------------------------------------- - private Level(int value) { this.value = value; } - // Class method. - // ----------------------------------------------------------------------- - - static Level read(InputStream in) throws IOException + public static Level forInteger (final int value) { - int i = in.read(); - if (i == -1) - { - throw new EOFException("unexpected end of stream"); - } - switch (i & 0xFF) + switch (value & 0xFF) { case 1: return WARNING; case 2: return FATAL; - default: return new Level(i); + default: throw new IllegalArgumentException ("invalid alert level: " + value); } } - // Instance methods. - // ----------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - public int getValue() { return value; } - - public String toString() - { - switch (value) - { - case 1: return "warning"; - case 2: return "fatal"; - default: return "unknown(" + value + ")"; - } - } } /** * The description enumeration. */ - static final class Description implements Enumerated + public static enum Description { - - // Constants and fields. - // ----------------------------------------------------------------------- - - static final Description - CLOSE_NOTIFY = new Description( 0), - UNEXPECTED_MESSAGE = new Description( 10), - BAD_RECORD_MAC = new Description( 20), - DECRYPTION_FAILED = new Description( 21), - RECORD_OVERFLOW = new Description( 22), - DECOMPRESSION_FAILURE = new Description( 30), - HANDSHAKE_FAILURE = new Description( 40), - NO_CERTIFICATE = new Description( 41), - BAD_CERTIFICATE = new Description( 42), - UNSUPPORTED_CERTIFICATE = new Description( 43), - CERTIFICATE_REVOKED = new Description( 44), - CERTIFICATE_EXPIRED = new Description( 45), - CERTIFICATE_UNKNOWN = new Description( 46), - ILLEGAL_PARAMETER = new Description( 47), - UNKNOWN_CA = new Description( 48), - ACCESS_DENIED = new Description( 49), - DECODE_ERROR = new Description( 50), - DECRYPT_ERROR = new Description( 51), - EXPORT_RESTRICTION = new Description( 60), - PROTOCOL_VERSION = new Description( 70), - INSUFFICIENT_SECURITY = new Description( 71), - INTERNAL_ERROR = new Description( 80), - USER_CANCELED = new Description( 90), - NO_RENEGOTIATION = new Description(100), - UNSUPPORTED_EXTENSION = new Description(110), - CERTIFICATE_UNOBTAINABLE = new Description(111), - UNRECOGNIZED_NAME = new Description(112), - BAD_CERTIFICATE_STATUS_RESPONSE = new Description(113), - BAD_CERTIFICATE_HASH_VALUE = new Description(114), - UNKNOWN_SRP_USERNAME = new Description(120), - MISSING_SRP_USERNAME = new Description(121); - + CLOSE_NOTIFY ( 0), + UNEXPECTED_MESSAGE ( 10), + BAD_RECORD_MAC ( 20), + DECRYPTION_FAILED ( 21), + RECORD_OVERFLOW ( 22), + DECOMPRESSION_FAILURE ( 30), + HANDSHAKE_FAILURE ( 40), + NO_CERTIFICATE ( 41), + BAD_CERTIFICATE ( 42), + UNSUPPORTED_CERTIFICATE ( 43), + CERTIFICATE_REVOKED ( 44), + CERTIFICATE_EXPIRED ( 45), + CERTIFICATE_UNKNOWN ( 46), + ILLEGAL_PARAMETER ( 47), + UNKNOWN_CA ( 48), + ACCESS_DENIED ( 49), + DECODE_ERROR ( 50), + DECRYPT_ERROR ( 51), + EXPORT_RESTRICTION ( 60), + PROTOCOL_VERSION ( 70), + INSUFFICIENT_SECURITY ( 71), + INTERNAL_ERROR ( 80), + USER_CANCELED ( 90), + NO_RENEGOTIATION (100), + UNSUPPORTED_EXTENSION (110), + CERTIFICATE_UNOBTAINABLE (111), + UNRECOGNIZED_NAME (112), + BAD_CERTIFICATE_STATUS_RESPONSE (113), + BAD_CERTIFICATE_HASH_VALUE (114), + UNKNOWN_SRP_USERNAME (120), + MISSING_SRP_USERNAME (121); + private final int value; - // Constructor. - // ----------------------------------------------------------------------- - private Description(int value) { this.value = value; } - // Class method. - // ----------------------------------------------------------------------- - - static Description read(InputStream in) throws IOException + /** + * Return an alert description object based on the specified integer + * value. + * + * @param value The raw description value. + * @return The appropriate description object. + */ + public static Description forInteger (final int value) { - int i = in.read(); - if (i == -1) - { - throw new EOFException("unexpected end of input stream"); - } - switch (i) + switch (value & 0xFF) { case 0: return CLOSE_NOTIFY; case 10: return UNEXPECTED_MESSAGE; @@ -416,59 +276,13 @@ final class Alert implements Constructed case 100: return NO_RENEGOTIATION; case 120: return UNKNOWN_SRP_USERNAME; case 121: return MISSING_SRP_USERNAME; - default: return new Description(i); + default: throw new IllegalArgumentException("unknown alert description: " + value); } } - // Instance methods. - // ----------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - public int getValue() { return value; } - - public String toString() - { - switch (value) - { - case 0: return "close_notify"; - case 10: return "unexpected_message"; - case 20: return "bad_record_mac"; - case 21: return "decryption_failed"; - case 22: return "record_overflow"; - case 30: return "decompression_failure"; - case 40: return "handshake_failure"; - case 42: return "bad_certificate"; - case 43: return "unsupported_certificate"; - case 44: return "certificate_revoked"; - case 45: return "certificate_expired"; - case 46: return "certificate_unknown"; - case 47: return "illegal_parameter"; - case 48: return "unknown_ca"; - case 49: return "access_denied"; - case 50: return "decode_error"; - case 51: return "decrypt_error"; - case 60: return "export_restriction"; - case 70: return "protocol_version"; - case 71: return "insufficient_security"; - case 80: return "internal_error"; - case 90: return "user_canceled"; - case 100: return "no_renegotiation"; - case 110: return "unsupported_extension"; - case 111: return "certificate_unobtainable"; - case 112: return "unrecognized_name"; - case 113: return "bad_certificate_status_response"; - case 114: return "bad_certificate_hash_value"; - case 120: return "unknown_srp_username"; - case 121: return "missing_srp_username"; - default: return "unknown(" + value + ")"; - } - } } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/AlertException.java b/libjava/classpath/gnu/javax/net/ssl/provider/AlertException.java index 666efe5ac0d..291de2700c9 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/AlertException.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/AlertException.java @@ -40,7 +40,10 @@ package gnu.javax.net.ssl.provider; import javax.net.ssl.SSLException; -class AlertException extends SSLException +/** + * An exception generated by an SSL alert. + */ +public class AlertException extends SSLException { // Fields. @@ -52,25 +55,47 @@ class AlertException extends SSLException // Constructor. // ------------------------------------------------------------------------- - AlertException(Alert alert, boolean isLocal) + public AlertException(Alert alert, boolean isLocal) { - super(alert.getDescription().toString()); + super(alert.description().toString()); this.alert = alert; this.isLocal = isLocal; } + public AlertException(Alert alert) + { + this(alert, true); + } + + public AlertException(Alert alert, boolean isLocal, Throwable cause) + { + super(alert.description().toString(), cause); + this.alert = alert; + this.isLocal = isLocal; + } + + public AlertException(Alert alert, Throwable cause) + { + this(alert, true, cause); + } + // Instance methods. // ------------------------------------------------------------------------- public String getMessage() { - return alert.getDescription() + ": " + + return alert.description() + ": " + (isLocal ? "locally generated; " : "remotely generated; ") + - alert.getLevel(); + alert.level(); } - public Alert getAlert () + public Alert alert () { return alert; } + + public boolean isLocal() + { + return isLocal; + } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Builder.java b/libjava/classpath/gnu/javax/net/ssl/provider/Builder.java new file mode 100644 index 00000000000..baaba8aecf6 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Builder.java @@ -0,0 +1,66 @@ +/* Builder.java -- builder interface for protocol objects. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; + +/** + * The base interface for classes that build SSL protocol objects. The + * general contract for Builder implementations is that they maintain a + * buffer that grows to fit the object being built; the allocated size of + * this buffer may be larger than the built object needs, but the general + * effort will be not to allocate too large a buffer. + * + *

    Once the object is built, through various setters for + * the object's attributes, the final buffer may be retrieved with the + * {@link #buffer()} method. + * + * @author Casey Marshall (csm@gnu.org) + */ +public interface Builder extends Constructed +{ + /** + * Returns the final buffer, possibly containing the built object. The + * returned buffer will be "trimmed" to size: its position will be zero, + * and its limit and capacity set to the length of the built object. + * + * @return The underlying buffer. + */ + ByteBuffer buffer(); +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Certificate.java b/libjava/classpath/gnu/javax/net/ssl/provider/Certificate.java index b1d6b2a0143..8ff91e5579e 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Certificate.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Certificate.java @@ -1,4 +1,4 @@ -/* Certificate.java -- SSL Certificate message. +/* Certificate.java -- SSL certificate message. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -38,157 +38,140 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.BufferedReader; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.EOFException; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.StringReader; import java.io.StringWriter; -import java.security.cert.CertificateEncodingException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; +import java.util.Iterator; import java.util.LinkedList; - -import javax.net.ssl.SSLProtocolException; - -final class Certificate implements Handshake.Body +import java.util.List; + +/** + * The certificate object. This is used by both the client and the server + * to send their certificates (if any) to one another. + * + *

    opaque ASN.1Cert<1..2^24-1>;
    +
    +struct {
    +  ASN.1Cert certificate_list<0..2^24-1>;
    +} Certificate;
    + * + * @author Casey Marshall (csm@gnu.org) + */ +public class Certificate implements Handshake.Body { // Fields. // ------------------------------------------------------------------------- - private final X509Certificate[] certs; + protected ByteBuffer buffer; + protected final CertificateType type; // Constructors. // ------------------------------------------------------------------------- - Certificate(X509Certificate[] certs) + public Certificate (final ByteBuffer buffer, final CertificateType type) { - if (certs == null) - { - throw new NullPointerException(); - } - this.certs = certs; + buffer.getClass (); + type.getClass (); + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + this.type = type; } - // Class methods. + // Instance methods. // ------------------------------------------------------------------------- - static Certificate read(InputStream in, CertificateType type) - throws IOException + public int length () { - if (type == CertificateType.X509) - { - int len = (in.read() & 0xFF) << 16 | (in.read() & 0xFF) << 8 - | (in.read() & 0xFF); - byte[] buf = new byte[len]; - int count = 0; - while (count < len) - { - int l = in.read(buf, count, len - count); - if (l == -1) - { - throw new EOFException("unexpected end of stream"); - } - count += l; - } - try - { - LinkedList certs = new LinkedList(); - CertificateFactory fact = CertificateFactory.getInstance("X.509"); - ByteArrayInputStream bin = new ByteArrayInputStream(buf); - count = 0; - while (count < len) - { - int len2 = (bin.read() & 0xFF) << 16 | (bin.read() & 0xFF) << 8 - | (bin.read() & 0xFF); - certs.add(fact.generateCertificate(bin)); - count += len2 + 3; - } - return new Certificate((X509Certificate[]) - certs.toArray(new X509Certificate[certs.size()])); - } - catch (CertificateException ce) - { - SSLProtocolException sslpe = new SSLProtocolException(ce.getMessage()); - sslpe.initCause (ce); - throw sslpe; - } - } - else if (type == CertificateType.OPEN_PGP) - { - throw new UnsupportedOperationException("not yet implemented"); - } - else - throw new Error("unsupported certificate type "+type); + return (((buffer.get (0) & 0xFF) << 24) + | buffer.getShort (1)) + 3; } - // Instance methods. - // ------------------------------------------------------------------------- - - public void write(OutputStream out) throws IOException + public List certificates () + throws CertificateException, NoSuchAlgorithmException { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - try - { - for (int i = 0; i < certs.length; i++) - { - byte[] enc = certs[i].getEncoded(); - bout.write((enc.length >>> 16) & 0xFF); - bout.write((enc.length >>> 8) & 0xFF); - bout.write( enc.length & 0xFF); - bout.write(enc); - } - } - catch (CertificateEncodingException cee) - { - throw new Error("cannot encode certificates"); - } - catch (IOException ignored) + LinkedList list + = new LinkedList(); + CertificateFactory factory = CertificateFactory.getInstance(type.toString()); + int length = (((buffer.get(0) & 0xFF) << 16) + | (buffer.getShort(1) & 0xFFFF)); + ByteBuffer b = (ByteBuffer) buffer.duplicate().position(3); + for (int i = 3; i < length; ) { + int length2 = (((b.get () & 0xFF) << 16) + | (b.getShort () & 0xFFFF)); + byte[] buf = new byte[length2]; + b.position(i+3); + b.get (buf); + list.add(factory.generateCertificate (new ByteArrayInputStream (buf))); + i += length2 + 3; + b.position(i); } - out.write(bout.size() >>> 16 & 0xFF); - out.write(bout.size() >>> 8 & 0xFF); - out.write(bout.size() & 0xFF); - bout.writeTo(out); + return list; } - X509Certificate[] getCertificates() + public String toString () { - return certs; + return toString (null); } - public String toString() + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); - out.println("struct {"); - out.println(" certificateList ="); - for (int i = 0; i < certs.length; i++) + if (prefix != null) + out.print (prefix); + out.println ("struct {"); + try { - BufferedReader r = - new BufferedReader(new StringReader(certs[i].toString())); - String s; - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) + List certs = certificates (); + if (prefix != null) + out.print (prefix); + out.print (" certificateList: ["); + out.print (certs.size ()); + out.println ("] {"); + for (Iterator it = certs.iterator (); it.hasNext (); ) { + java.security.cert.Certificate cert = + (java.security.cert.Certificate) it.next (); + if (prefix != null) + out.print (prefix); + out.print (" "); + if (cert instanceof X509Certificate) + out.print (((X509Certificate) cert).getSubjectDN ()); + else + out.print (cert); + out.println (";"); } + if (prefix != null) + out.print (prefix); + out.println (" };"); + } + catch (CertificateException ce) + { + if (prefix != null) + out.print (prefix); + out.print (" "); + out.print (ce); + out.println (";"); + } + catch (NoSuchAlgorithmException nsae) + { + if (prefix != null) + out.print (prefix); + out.print (" "); + out.print (nsae); + out.println (";"); } - out.println("} Certificate;"); + out.print ("} Certificate;"); return str.toString(); } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateBuilder.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateBuilder.java new file mode 100644 index 00000000000..b60ad556ac9 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateBuilder.java @@ -0,0 +1,94 @@ +/* CertificateBuilder.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.List; +import java.security.cert.CertificateException; + +/** + * Builder for {@link Certificate} objects. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class CertificateBuilder extends Certificate implements Builder +{ + public CertificateBuilder(final CertificateType certType) + { + super(ByteBuffer.allocate(1024), certType); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return ((ByteBuffer) buffer.duplicate().position(0).limit(length())).slice(); + } + + public void setCertificates (final List certificates) + throws CertificateException + { + ByteArrayOutputStream out = new ByteArrayOutputStream(1024); + for (java.security.cert.Certificate cert : certificates) + { + byte[] encoded = cert.getEncoded(); + out.write((encoded.length >>> 16) & 0xFF); + out.write((encoded.length >>> 8) & 0xFF); + out.write( encoded.length & 0xFF); + try + { + out.write(encoded); + } + catch (IOException shouldNotHappen) + { + // ignore; this is a ByteArrayOutputStream. + } + } + byte[] certs = out.toByteArray(); + // There is only one field in Certificate; so it is easy to reallocate. + if (buffer.capacity() < certs.length + 3) + buffer = ByteBuffer.allocate(certs.length + 3); + buffer.put(0, (byte) (certs.length >>> 16)); + buffer.putShort(1, (short) certs.length); + ((ByteBuffer) buffer.duplicate().position(3)).put(certs); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequest.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequest.java index 0f788039b0b..b7a22b20400 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequest.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequest.java @@ -38,201 +38,96 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.EOFException; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; -import java.util.LinkedList; -import java.security.Principal; - -final class CertificateRequest implements Handshake.Body +/** + * A request by the server for a client certificate. + * + *
    +struct
    +{
    +  ClientCertificateType certificate_types<1..2^8-1>;
    +  DistinguishedName certificate_authorities<3..2^16-1>;
    +} CertificateRequest;
    +
    + */ +public class CertificateRequest implements Handshake.Body { // Fields. // ------------------------------------------------------------------------- - private final ClientType[] types; - private final Principal[] authorities; - + protected ByteBuffer buffer; + // Constructor. // ------------------------------------------------------------------------- - CertificateRequest(ClientType[] types, Principal[] authorities) - { - if (types == null) - { - throw new NullPointerException(); - } - this.types = types; - if (authorities == null) - { - throw new NullPointerException(); - } - this.authorities = authorities; - } - - // Class methods. - // ------------------------------------------------------------------------- - - static CertificateRequest read(InputStream in) throws IOException + public CertificateRequest(final ByteBuffer buffer) { - DataInputStream din = new DataInputStream(in); - ClientType[] types = new ClientType[din.readUnsignedByte()]; - for (int i = 0; i < types.length; i++) - { - types[i] = ClientType.read(din); - } - - LinkedList authorities = new LinkedList(); - byte[] buf = new byte[din.readUnsignedShort()]; - din.readFully(buf); - ByteArrayInputStream bin = new ByteArrayInputStream(buf); - try - { - String x500name = Util.getSecurityProperty("jessie.x500.class"); - if (x500name == null) - { - x500name = "org.metastatic.jessie.pki.X500Name"; - } - Class x500class = null; - ClassLoader cl = ClassLoader.getSystemClassLoader(); - if (cl != null) - { - x500class = cl.loadClass(x500name); - } - else - { - x500class = Class.forName(x500name); - } - Constructor c = x500class.getConstructor(new Class[] { new byte[0].getClass() }); - while (bin.available() > 0) - { - buf = new byte[(bin.read() & 0xFF) << 8 | (bin.read() & 0xFF)]; - bin.read(buf); - authorities.add(c.newInstance(new Object[] { buf })); - } - } - catch (IOException ioe) - { - throw ioe; - } - catch (Exception ex) - { - throw new Error(ex.toString()); - } - return new CertificateRequest(types, - (Principal[]) authorities.toArray(new Principal[authorities.size()])); + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); } // Instance methods. // ------------------------------------------------------------------------- - public void write(OutputStream out) throws IOException + public int length () { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - out.write(types.length); - for (int i = 0; i < types.length; i++) - { - out.write(types[i].getValue()); - } - - try - { - Class x500class = authorities[0].getClass(); - Method m = x500class.getMethod("getEncoded", null); - for (int i = 0; i < authorities.length; i++) - { - byte[] buf = (byte[]) m.invoke(authorities[i], null); - bout.write(buf.length >>> 8 & 0xFF); - bout.write(buf.length & 0xFF); - bout.write(buf, 0, buf.length); - } - } - catch (Exception ex) - { - throw new Error(ex.toString()); - } - out.write(bout.size() >>> 8 & 0xFF); - out.write(bout.size() & 0xFF); - bout.writeTo(out); + int o1 = (buffer.get (0) & 0xFF) + 1; + return o1 + (buffer.getShort (o1) & 0xFFFF) + 2; } - ClientType[] getTypes() + public ClientCertificateTypeList types () { - return types; + return new ClientCertificateTypeList(buffer.duplicate()); } - String[] getTypeStrings() + public X500PrincipalList authorities () { - try - { - return (String[]) Util.transform(types, String.class, "toString", null); - } - catch (Exception x) - { - return null; - } + int offset = (buffer.get (0) & 0xFF) + 1; + return new X500PrincipalList (((ByteBuffer) buffer.position(offset)).slice()); } - Principal[] getAuthorities() + public String toString() { - return authorities; + return toString (null); } - public String toString() + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); + String subprefix = " "; + if (prefix != null) subprefix = prefix + " "; + if (prefix != null) out.print (prefix); out.println("struct {"); - out.print(" types = "); - for (int i = 0; i < types.length; i++) - { - out.print(types[i]); - if (i != types.length - 1) - out.print(", "); - } - out.println(";"); + if (prefix != null) out.print (prefix); + out.println (" types ="); + out.println (types ().toString (subprefix)); + if (prefix != null) out.print (prefix); out.println(" authorities ="); - for (int i = 0; i < authorities.length; i++) - { - out.print(" "); - out.print(authorities[i].getName()); - if (i != types.length - 1) - out.println(","); - } - out.println(";"); - out.println("} CertificateRequest;"); + out.println (authorities ().toString (subprefix)); + if (prefix != null) out.print (prefix); + out.print ("} CertificateRequest;"); return str.toString(); } - // Inner class. - // ------------------------------------------------------------------------- - - static final class ClientType implements Enumerated + public static enum ClientCertificateType { - - // Constants and fields. - // ----------------------------------------------------------------------- - - static final ClientType - RSA_SIGN = new ClientType(1), DSS_SIGN = new ClientType(2), - RSA_FIXED_DH = new ClientType(3), DSS_FIXED_DH = new ClientType(4); + RSA_SIGN (1), + DSS_SIGN (2), + RSA_FIXED_DH (3), + DSS_FIXED_DH (4); private final int value; // Constructor. // ----------------------------------------------------------------------- - private ClientType(int value) + private ClientCertificateType (final int value) { this.value = value; } @@ -240,46 +135,21 @@ final class CertificateRequest implements Handshake.Body // Class method. // ----------------------------------------------------------------------- - static ClientType read(InputStream in) throws IOException + static ClientCertificateType forValue (final int value) { - int i = in.read(); - if (i == -1) - { - throw new EOFException("unexpected end of input stream"); - } - switch (i & 0xFF) + switch (value) { case 1: return RSA_SIGN; case 2: return DSS_SIGN; case 3: return RSA_FIXED_DH; case 4: return DSS_FIXED_DH; - default: return new ClientType(i); + default: throw new IllegalArgumentException("unknown client certificate type: " + value); } } - // Instance methods. - // ----------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - public int getValue() { return value; } - - public String toString() - { - switch (value) - { - case 1: return "rsa_sign"; - case 2: return "dss_sign"; - case 3: return "rsa_fixed_dh"; - case 4: return "dss_fixed_dh"; - default: return "unknown(" + value + ")"; - } - } } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequestBuilder.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequestBuilder.java new file mode 100644 index 00000000000..9beab473ca6 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateRequestBuilder.java @@ -0,0 +1,113 @@ +/* CertificateRequestBuilder.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import static gnu.javax.net.ssl.provider.CertificateRequest.ClientCertificateType; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.List; + +import javax.security.auth.x500.X500Principal; + +/** + * Builder for {@link CertificateRequest} objects. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class CertificateRequestBuilder extends CertificateRequest + implements Builder +{ + public CertificateRequestBuilder() + { + super(ByteBuffer.allocate(1024)); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return ((ByteBuffer) buffer.duplicate().limit(length())).slice(); + } + + public void setTypes(List types) + { + ensureCapacity(types.size() + 3); + buffer.put(0, (byte) types.size()); + ByteBuffer b = (ByteBuffer) buffer.duplicate().position(1); + for (ClientCertificateType type : types) + b.put((byte) type.getValue()); + } + + public void setAuthorities(List authorities) + { + ByteArrayOutputStream out = new ByteArrayOutputStream(1024); + for (X500Principal auth : authorities) + { + byte[] encoded = auth.getEncoded(); + out.write((encoded.length >>> 8) & 0xFF); + out.write( encoded.length & 0xFF); + try + { + out.write(encoded); + } + catch (IOException ignored) + { + // Ignored; we use a ByteArrayOutputStream. + } + } + byte[] auths = out.toByteArray(); + int typesLen = 1 + (buffer.get(0) & 0xFF); + int len = typesLen + auths.length + 2; + ensureCapacity(len); + buffer.putShort(typesLen, (short) auths.length); + ((ByteBuffer) buffer.duplicate().position(typesLen + 2)).put(auths); + } + + public void ensureCapacity(final int capacity) + { + if (buffer.capacity() >= capacity) + return; + ByteBuffer newBuffer = ByteBuffer.allocate(capacity); + newBuffer.duplicate().put(buffer); + buffer = newBuffer; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusRequest.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusRequest.java new file mode 100644 index 00000000000..059c6ec47ba --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusRequest.java @@ -0,0 +1,272 @@ +/* CertificateStatusRequest.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.util.Iterator; +import java.util.List; +import java.util.NoSuchElementException; + +/** + *
    +struct {
    +  CertificateStatusType status_type;
    +  select (status_type) {
    +    case ocsp: OCSPStatusRequest;
    +  } request;
    +} CertificateStatusRequest;
    +
    +enum { ocsp(1), (255) } CertificateStatusType;
    +
    +struct {
    +  ResponderID responder_id_list<0..2^16-1>;
    +  Extensions  request_extensions;
    +} OCSPStatusRequest;
    +
    +opaque ResponderID<1..2^16-1>;
    +opaque Extensions<0..2^16-1>;
    + * + * @author csm + */ +public class CertificateStatusRequest extends Value implements Iterable +{ + private ByteBuffer buffer; + + public CertificateStatusRequest(final ByteBuffer buffer) + { + this.buffer = buffer; + } + + public CertificateStatusRequest(CertificateStatusType type, + List responderIdList, + byte[] requestExtensions) + { + if (type != CertificateStatusType.OCSP) + throw new IllegalArgumentException(); + int length = 3; + int idsLength = 0; + for (byte[] responderId : responderIdList) + { + length += 2 + responderId.length; + idsLength += 2 + responderId.length; + } + length += 2 + requestExtensions.length; + buffer = ByteBuffer.allocate(length); + buffer.put((byte) 1); + buffer.putShort((short) idsLength); + for (byte[] responderId : responderIdList) + buffer.putShort((short) responderId.length).put(responderId); + buffer.putShort((short) requestExtensions.length); + buffer.put(requestExtensions); + buffer.rewind(); + } + + public int length() + { + int l = 3 + (buffer.getShort(1) & 0xFFFF); + return l + (buffer.getShort(l) & 0xFFFF) + 2; + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public CertificateStatusType statusType() + { + int x = buffer.get(0) & 0xFF; + if (x == 1) + return CertificateStatusType.OCSP; + throw new IllegalArgumentException ("invalid type: " + x); + } + + public int size() + { + int len = buffer.getShort(1) & 0xFFFF; + int n = 0; + for (int i = 3; i < len; ) + { + int l = buffer.getShort(i); + i += l + 2; + n++; + } + return n; + } + + public byte[] responderId(int index) + { + int len = buffer.getShort(1) & 0xFFFF; + int n = 0; + int i = 3; + while (i < len && n <= index) + { + int l = buffer.getShort(i) & 0xFFFF; + if (n == index) + { + byte[] b = new byte[l]; + ((ByteBuffer) buffer.duplicate().position(i+2)).get(b); + return b; + } + i += l + 2; + n++; + } + throw new IndexOutOfBoundsException(); + } + + public byte[] requestExtensions() + { + int l = 2 + (buffer.getShort(0) & 0xFFFF); + int ll = buffer.getShort(l) & 0xFFFF; + byte[] b = new byte[ll]; + ((ByteBuffer) buffer.duplicate().position(ll+2)).get(b); + return b; + } + + public void setStatusType(CertificateStatusType type) + { + buffer.put(0, (byte) type.value); + } + + public void setRequestIdListLength(int newLength) + { + if (newLength < 0 || newLength > 0xFFFF) + throw new IllegalArgumentException("length out of range"); + buffer.putShort(1, (short) newLength); + } + + public void putRequestId(int index, byte[] id) + { + if (id.length > 0xFFFF) + throw new IllegalArgumentException("request ID too large"); + int len = buffer.getShort(1) & 0xFFFF; + int n = 0; + int i = 3; + while (i < len && n < index) + { + int l = buffer.getShort(i) & 0xFFFF; + i += l + 2; + n++; + } + if (n < index) + throw new IndexOutOfBoundsException(); + buffer.putShort(i, (short) id.length); + ((ByteBuffer) buffer.duplicate().position(i)).put(id); + } + + public void setRequestExtensions(int index, byte[] ext) + { + if (ext.length > 0xFFFF) + throw new IllegalArgumentException("exceptions too large"); + int off = 3 + (buffer.getShort(1) & 0xFFFF); + buffer.putShort(off, (short) ext.length); + ((ByteBuffer) buffer.duplicate().position(off+2)).put(ext); + } + + public Iterator iterator() + { + return new ResponderIdIterator(); + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" status_type = "); + out.print(statusType()); + out.println(";"); + String subprefix = " "; + if (prefix != null) subprefix = prefix + subprefix; + if (prefix != null) out.print(prefix); + out.println(" responder_id_list = {"); + for (byte[] b : this) + out.print(Util.hexDump(b, subprefix)); + if (prefix != null) out.print(prefix); + out.println(" };"); + if (prefix != null) out.print(prefix); + out.println(" request_extensions ="); + out.print(Util.hexDump(requestExtensions(), subprefix)); + if (prefix != null) out.print(prefix); + out.print("} CertificateStatus;"); + return str.toString(); + } + + public class ResponderIdIterator implements Iterator + { + private int index; + + public ResponderIdIterator() + { + index = 0; + } + + public byte[] next() throws NoSuchElementException + { + try + { + return responderId(index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException(); + } + } + + public boolean hasNext() + { + return index < size(); + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusType.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusType.java new file mode 100644 index 00000000000..7cddf168f94 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateStatusType.java @@ -0,0 +1,13 @@ +package gnu.javax.net.ssl.provider; + +public enum CertificateStatusType +{ + OCSP (1); + + public final int value; + + private CertificateStatusType (final int value) + { + this.value = value; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateType.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateType.java index c5705939f74..ecba21b6342 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateType.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateType.java @@ -38,67 +38,25 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.EOFException; -import java.io.InputStream; -import java.io.IOException; - -final class CertificateType implements Enumerated +public enum CertificateType { - - // Constants and fields. - // ------------------------------------------------------------------------- - - static final CertificateType X509 = new CertificateType(0); - static final CertificateType OPEN_PGP = new CertificateType(1); + X509 (0), + OPEN_PGP (1); private final int value; - // Constructor. - // ------------------------------------------------------------------------- - private CertificateType(int value) { this.value = value; } - // Class method. - // ------------------------------------------------------------------------- - - static CertificateType read(InputStream in) throws IOException - { - int value = in.read(); - if (value == -1) - { - throw new EOFException("unexpected end of input stream"); - } - switch (value & 0xFF) - { - case 0: return X509; - case 1: return OPEN_PGP; - default: return new CertificateType(value); - } - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - - public int getValue() - { - return value; - } - - public String toString() + public static CertificateType forValue (final int value) { switch (value) { - case 0: return "X.509"; - case 1: return "OpenPGP"; - default: return "unknown(" + value + ")"; + case 0: return X509; + case 1: return OPEN_PGP; + default: throw new IllegalArgumentException ("unknown certificate type: " + value); } } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateURL.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateURL.java new file mode 100644 index 00000000000..0bc1c428b48 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateURL.java @@ -0,0 +1,388 @@ +/* CertificateURL.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.nio.charset.CharsetEncoder; +import java.util.List; +import java.util.NoSuchElementException; + +/** + * The CertificateURL extension value. + * + *
    +enum {
    +  individual_certs(0), pkipath(1), (255)
    +} CertChainType;
    +
    +enum {
    +  false(0), true(1)
    +} Boolean;
    +
    +struct {
    +  CertChainType type;
    +  URLAndOptionalHash url_and_hash_list<1..2^16-1>;
    +} CertificateURL;
    +
    +struct {
    +  opaque url<1..2^16-1>;
    +  Boolean hash_present;
    +  select (hash_present) {
    +    case false: struct {};
    +    case true: SHA1Hash;
    +  } hash;
    +} URLAndOptionalHash;
    +
    +opaque SHA1Hash[20];
    + * + * @author csm + * + */ +public class CertificateURL extends Value implements Iterable +{ + private ByteBuffer buffer; + + public CertificateURL(final ByteBuffer buffer) + { + this.buffer = buffer; + } + + public CertificateURL(CertChainType type, List urls) + { + int length = 3; + for (URLAndOptionalHash url : urls) + length += url.length(); + buffer = ByteBuffer.allocate(length); + buffer.put((byte) type.getValue()); + buffer.putShort((short) (length - 1)); + for (URLAndOptionalHash url : urls) + buffer.put(url.buffer()); + buffer.rewind(); + } + + public int length() + { + return 3 + (buffer.getShort(1) & 0xFFFF); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public CertChainType type() + { + switch (buffer.get(0)) + { + case 0: return CertChainType.INDIVIDUAL_CERTS; + case 1: return CertChainType.PKIPATH; + } + throw new IllegalArgumentException("unknown certificate URL type"); + } + + public int size() + { + int len = buffer.getShort(1) & 0xFFFF; + int n = 0; + for (int i = 3; i < len; ) + { + URLAndOptionalHash u + = new URLAndOptionalHash((ByteBuffer) buffer.duplicate().position(i)); + int l = u.length(); + i += l; + n++; + } + return n; + } + + public URLAndOptionalHash get(int index) + { + int len = buffer.getShort(1) & 0xFFFF; + int n = 0; + int l = 0; + int i; + for (i = 3; i < len && n < index; ) + { + URLAndOptionalHash u + = new URLAndOptionalHash((ByteBuffer) buffer.duplicate().position(i)); + l = u.length(); + i += l; + n++; + } + if (n < index) + throw new IndexOutOfBoundsException(); + return new URLAndOptionalHash(((ByteBuffer) buffer.duplicate().position(i).limit(i+l)).slice()); + } + + public void set(int index, URLAndOptionalHash url) + { + int len = buffer.getShort(1) & 0xFFFF; + int n = 0; + int i; + for (i = 3; i < len && n < index-1; ) + { + URLAndOptionalHash u + = new URLAndOptionalHash((ByteBuffer) buffer.duplicate().position(i)); + int l = u.length(); + i += l; + n++; + } + if (n < index - 1) + throw new IndexOutOfBoundsException(); + int l = url.urlLength(); + buffer.putShort(i, (short) l); + ((ByteBuffer) buffer.duplicate().position(i+2)).put(url.urlBuffer()); + buffer.put(i+l+2, (byte) (url.hashPresent() ? 1 : 0)); + if (url.hashPresent()) + ((ByteBuffer) buffer.duplicate().position(i+l+3)).put (url.sha1Hash()); + } + + public void setLength(final int length) + { + if (length < 0 || length > 65535) + throw new IllegalArgumentException("length must be between 0 and 65535"); + buffer.putShort(1, (short) length); + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println ("struct {"); + if (prefix != null) out.print(prefix); + out.print(" type = "); + out.print(type()); + out.println(";"); + if (prefix != null) out.print(prefix); + out.println(" url_and_hash_list = {"); + String subprefix = " "; + if (prefix != null) subprefix = prefix + subprefix; + for (URLAndOptionalHash url : this) + { + out.println(url.toString(subprefix)); + } + if (prefix != null) out.print(prefix); + out.println(" };"); + if (prefix != null) out.print(prefix); + out.print("} CertificateURL;"); + return str.toString(); + } + + public java.util.Iterator iterator() + { + return new Iterator(); + } + + public class Iterator implements java.util.Iterator + { + private int index; + + public Iterator() + { + index = 0; + } + + public URLAndOptionalHash next() throws NoSuchElementException + { + try + { + return get(index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException(); + } + } + + public boolean hasNext() + { + return index < size(); + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + } + + public static enum CertChainType + { + INDIVIDUAL_CERTS (0), PKIPATH (1); + + private final int value; + + private CertChainType (final int value) + { + this.value = value; + } + + public int getValue() + { + return value; + } + } + + public static class URLAndOptionalHash implements Builder, Constructed + { + private ByteBuffer buffer; + + public URLAndOptionalHash (final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public URLAndOptionalHash(String url) + { + this(url, null); + } + + public URLAndOptionalHash(String url, byte[] hash) + { + if (hash != null && hash.length < 20) + throw new IllegalArgumentException(); + int length = 3 + url.length(); + if (hash != null) + length += 20; + buffer = ByteBuffer.allocate(length); + buffer.putShort((short) url.length()); + Charset cs = Charset.forName("US-ASCII"); + CharsetEncoder ascii = cs.newEncoder(); + ascii.encode(CharBuffer.wrap(url), buffer, true); + buffer.put((byte) (hash != null ? 1 : 0)); + if (hash != null) + buffer.put(hash, 0, 20); + buffer.rewind(); + } + + public int length() + { + return ((buffer.getShort(0) & 0xFFFF) + + (hashPresent() ? 23 : 3)); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public String url() + { + Charset cs = Charset.forName("ASCII"); + return cs.decode(urlBuffer()).toString(); + } + + public int urlLength() + { + return buffer.getShort(0) & 0xFFFF; + } + + public ByteBuffer urlBuffer() + { + int len = urlLength(); + return ((ByteBuffer) buffer.duplicate().position(2).limit(2+len)).slice(); + } + + public boolean hashPresent() + { + int i = (buffer.getShort(0) & 0xFFFF) + 2; + byte b = buffer.get(i); + if (b == 0) + return false; + if (b == 1) + return true; + throw new IllegalArgumentException("expecting 0 or 1: " + (b & 0xFF)); + } + + public byte[] sha1Hash() + { + int i = (buffer.getShort(0) & 0xFFFF) + 2; + byte b = buffer.get(i); + if (b == 0) + return null; + byte[] buf = new byte[20]; + ((ByteBuffer) buffer.duplicate().position(i+1)).get(buf); + return buf; + } + + public String toString() + { + return toString(null); + } + + public String toString(final String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" url = "); + out.print(url()); + out.println(";"); + boolean has_hash = hashPresent(); + if (prefix != null) out.print(prefix); + out.print(" hash_present = "); + out.print(has_hash); + out.println(";"); + if (has_hash) + { + if (prefix != null) out.print(prefix); + out.print(" sha1Hash = "); + out.print(Util.toHexString(sha1Hash(), ':')); + out.println(";"); + } + if (prefix != null) out.print(prefix); + out.print("} URLAndOptionalHash;"); + return str.toString(); + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateVerify.java b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateVerify.java index e0bf130f189..b63f5e4ef0c 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/CertificateVerify.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CertificateVerify.java @@ -38,34 +38,24 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.StringReader; import java.io.StringWriter; -import java.security.PublicKey; +import java.nio.ByteBuffer; -final class CertificateVerify extends Signature implements Handshake.Body +public class CertificateVerify extends Signature implements Handshake.Body { // Contstructor. // ------------------------------------------------------------------------- - CertificateVerify(Object sigValue, String sigAlg) + public CertificateVerify(final ByteBuffer buffer, final SignatureAlgorithm sigAlg) { - super(sigValue, sigAlg); + super(buffer, sigAlg); } - - // Class method. - // -------------------------------------------------------------------------- - - static Signature read(InputStream in, CipherSuite suite, PublicKey key) - throws IOException + + public CertificateVerify(final byte[] sigVal, final SignatureAlgorithm sigAlg) { - Signature sig = Signature.read(in, suite, key); - return new CertificateVerify(sig.getSigValue(), sig.getSigAlg()); + super(sigVal, sigAlg); } // Instance method. @@ -73,23 +63,21 @@ final class CertificateVerify extends Signature implements Handshake.Body public String toString() { - StringWriter str = new StringWriter(); - PrintWriter out = new PrintWriter(str); + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); out.println("struct {"); - BufferedReader r = new BufferedReader(new StringReader(super.toString())); - String s; - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - out.println("} CertificateVerify;"); + String subprefix = " "; + if (prefix != null) + subprefix = prefix + subprefix; + out.println (super.toString (subprefix)); + if (prefix != null) out.print (prefix); + out.print ("} CertificateVerify;"); return str.toString(); } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CipherAlgorithm.java b/libjava/classpath/gnu/javax/net/ssl/provider/CipherAlgorithm.java new file mode 100644 index 00000000000..98e05af310d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CipherAlgorithm.java @@ -0,0 +1,47 @@ +/* CipherAlgorithm.java -- Cipher algorithm enumeration. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * The set of cipher algorithms we support. + */ +public enum CipherAlgorithm +{ + NULL, RC4, DES, DESede, CAST5, AES +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuite.java b/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuite.java index de916817b92..af3041e9403 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuite.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuite.java @@ -38,407 +38,521 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.DataInputStream; -import java.io.InputStream; +import gnu.java.security.action.GetSecurityPropertyAction; + import java.io.IOException; import java.io.OutputStream; -import java.lang.reflect.Field; +import java.nio.ByteBuffer; +import java.security.AccessController; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; -import java.security.Provider; -import java.security.Security; import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import java.util.Set; import javax.crypto.Cipher; import javax.crypto.Mac; import javax.crypto.NoSuchPaddingException; +import javax.crypto.NullCipher; -import gnu.javax.crypto.cipher.CipherFactory; -import gnu.javax.crypto.cipher.IBlockCipher; -import gnu.javax.crypto.mac.IMac; -import gnu.javax.crypto.mac.MacFactory; -import gnu.javax.crypto.mode.IMode; -import gnu.javax.crypto.mode.ModeFactory; - -final class CipherSuite implements Constructed +public final class CipherSuite implements Constructed { // Constants and fields. // ------------------------------------------------------------------------- - private static final List tlsSuiteNames = new LinkedList(); - private static final HashMap namesToSuites = new HashMap(); - - // SSL CipherSuites. - static final CipherSuite SSL_NULL_WITH_NULL_NULL = - new CipherSuite("null", "null", "null", "null", 0, 0x00, 0x00, - "SSL_NULL_WITH_NULL_NULL", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_NULL_MD5 = - new CipherSuite("null", "RSA", "RSA", "SSLMAC-MD5", 0, 0x00, 0x01, - "SSL_RSA_WITH_NULL_MD5", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_NULL_SHA = - new CipherSuite("null", "RSA", "RSA", "SSLMAC-SHA", 0, 0x00, 0x02, - "SSL_RSA_WITH_NULL_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_EXPORT_WITH_RC4_40_MD5 = - new CipherSuite("RC4", "RSA", "RSA", "SSLMAC-MD5", 5, 0x00, 0x03, - "SSL_RSA_EXPORT_WITH_RC4_40_MD5", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_RC4_128_MD5 = - new CipherSuite("RC4", "RSA", "RSA", "SSLMAC-MD5", 16, 0x00, 0x04, - "SSL_RSA_WITH_RC4_128_MD5", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_RC4_128_SHA = - new CipherSuite("RC4", "RSA", "RSA", "SSLMAC-SHA", 16, 0x00, 0x05, - "SSL_RSA_WITH_RC4_128_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "RSA", "RSA", "SSLMAC-SHA", 5, 0x00, 0x08, - "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_DES_CBC_SHA = - new CipherSuite("DES", "RSA", "RSA", "SSLMAC-SHA", 8, 0x00, 0x09, - "SSL_RSA_WITH_DES_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "RSA", "RSA", "SSLMAC-SHA", 24, 0x00, 0x0A, - "SSL_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DH", "DSS", "SSLMAC-SHA", 5, 0x00, 0x0B, - "SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_DSS_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DH", "DSS", "SSLMAC-SHA", 8, 0x00, 0x0C, - "SSL_DH_DSS_WITH_DES_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DH", "DSS", "SSLMAC-SHA", 24, 0x00, 0x0D, - "SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DH", "RSA", "SSLMAC-SHA", 5, 0x00, 0x0E, - "SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_RSA_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DH", "RSA", "SSLMAC-SHA", 8, 0x00, 0x0F, - "SSL_DH_RSA_WITH_DES_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DH", "RSA", "SSLMAC-SHA", 24, 0x00, 0x10, - "SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DHE", "DSS", "SSLMAC-SHA", 5, 0x00, 0x11, - "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DHE", "DSS", "SSLMAC-SHA", 8, 0x00, 0x12, - "SSL_DHE_DSS_WITH_DES_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DHE", "DSS", "SSLMAC-SHA", 24, 0x00, 0x13, - "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DHE", "RSA", "SSLMAC-SHA", 5, 0x00, 0x14, - "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DHE", "RSA", "SSLMAC-SHA", 8, 0x00, 0x15, - "SSL_DHE_RSA_WITH_DES_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DHE", "RSA", "SSLMAC-SHA", 24, 0x00, 0x16, - "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.SSL_3); + private static final List tlsSuiteNames = new LinkedList(); + private static final HashMap namesToSuites = new HashMap(); + + // Core TLS cipher suites. + public static final CipherSuite TLS_NULL_WITH_NULL_NULL = + new CipherSuite (CipherAlgorithm.NULL, + KeyExchangeAlgorithm.NONE, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.NULL, 0, 0x00, 0x00, + "TLS_NULL_WITH_NULL_NULL"); + public static final CipherSuite TLS_RSA_WITH_NULL_MD5 = + new CipherSuite (CipherAlgorithm.NULL, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.MD5, 0, 0x00, 0x01, + "TLS_RSA_WITH_NULL_MD5"); + public static final CipherSuite TLS_RSA_WITH_NULL_SHA = + new CipherSuite (CipherAlgorithm.NULL, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 0, 0x00, 0x02, + "TLS_RSA_WITH_NULL_SHA"); + public static final CipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5 = + new CipherSuite (CipherAlgorithm.RC4, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.MD5, 5, 0x00, 0x03, + "TLS_RSA_EXPORT_WITH_RC4_40_MD5"); + public static final CipherSuite TLS_RSA_WITH_RC4_128_MD5 = + new CipherSuite (CipherAlgorithm.RC4, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.MD5, 16, 0x00, 0x04, + "TLS_RSA_WITH_RC4_128_MD5"); + public static final CipherSuite TLS_RSA_WITH_RC4_128_SHA = + new CipherSuite (CipherAlgorithm.RC4, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 16, 0x00, 0x05, + "TLS_RSA_WITH_RC4_128_SHA"); + public static final CipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 5, 0x00, 0x08, + "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"); + public static final CipherSuite TLS_RSA_WITH_DES_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 8, 0x00, 0x09, + "TLS_RSA_WITH_DES_CBC_SHA"); + public static final CipherSuite TLS_RSA_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 24, 0x00, 0x0A, + "TLS_RSA_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DH_DSS, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 5, 0x00, 0x0B, + "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"); + public static final CipherSuite TLS_DH_DSS_WITH_DES_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DH_DSS, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 8, 0x00, 0x0C, + "TLS_DH_DSS_WITH_DES_CBC_SHA"); + public static final CipherSuite TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DH_DSS, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 24, 0x00, 0x0D, + "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DH_RSA, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 5, 0x00, 0x0E, + "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"); + public static final CipherSuite TLS_DH_RSA_WITH_DES_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DH_RSA, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 8, 0x00, 0x0F, + "TLS_DH_RSA_WITH_DES_CBC_SHA"); + public static final CipherSuite TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DH_RSA, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 24, 0x00, 0x10, + "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DHE_DSS, true, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 5, 0x00, 0x11, + "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"); + public static final CipherSuite TLS_DHE_DSS_WITH_DES_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DHE_DSS, true, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 8, 0x00, 0x12, + "TLS_DHE_DSS_WITH_DES_CBC_SHA"); + public static final CipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DHE_DSS, true, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 24, 0x00, 0x13, + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DHE_RSA, true, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 5, 0x00, 0x14, + "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"); + public static final CipherSuite TLS_DHE_RSA_WITH_DES_CBC_SHA = + new CipherSuite (CipherAlgorithm.DES, + KeyExchangeAlgorithm.DHE_RSA, true, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 8, 0x00, 0x15, + "TLS_DHE_RSA_WITH_DES_CBC_SHA"); + public static final CipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DHE_RSA, true, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 24, 0x00, 0x16, + "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"); // AES CipherSuites. - static final CipherSuite SSL_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "RSA", "RSA", "SSLMAC-SHA", 16, 0x00, 0x2F, - "SSL_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_DSS_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DH", "DSS", "SSLMAC-SHA", 16, 0x00, 0x30, - "SSL_DH_DSS_WITH_AES_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DH", "RSA", "SSLMAC-SHA", 16, 0x00, 0x31, - "SSL_DH_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DHE", "DSS", "SSLMAC-SHA", 16, 0x00, 0x32, - "SSL_DHE_DSS_WITH_AES_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DHE", "RSA", "SSLMAC-SHA", 16, 0x00, 0x33, - "SSL_DHE_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "RSA", "RSA", "SSLMAC-SHA", 32, 0x00, 0x35, - "SSL_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_DSS_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DH", "DSS", "SSLMAC-SHA", 32, 0x00, 0x36, - "SSL_DH_DSS_WITH_AES_256_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DH_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DH", "RSA", "SSLMAC-SHA", 32, 0x00, 0x37, - "SSL_DH_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DHE", "DSS", "SSLMAC-SHA", 32, 0x00, 0x38, - "SSL_DHE_DSS_WITH_AES_256_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DHE", "RSA", "SSLMAC-SHA", 32, 0x00, 0x39, - "SSL_DHE_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.SSL_3); - - // Ciphersuites from the OpenPGP extension draft. - static final CipherSuite SSL_DHE_DSS_WITH_CAST_128_CBC_SHA = - new CipherSuite("CAST5", "DHE", "DSS", "HMAC-SHA", 16, 0x00, 0x70, - "SSL_DHE_DSS_WITH_CAST_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_CAST_128_CBC_RMD = - new CipherSuite("CAST5", "DHE", "DSS", "HMAC-RIPEMD-160", 16, 0x00, 0x71, - "SSL_DHE_DSS_WITH_CAST_128_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_3DES_EDE_CBC_RMD = - new CipherSuite("TripleDES", "DHE", "DSS", "HMAC-RIPEMD-160", 24, 0x00, 0x72, - "SSL_DHE_DSS_WITH_3DES_EDE_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_AES_128_CBC_RMD = - new CipherSuite("AES", "DHE", "DSS", "HMAC-RIPEMD-160", 16, 0x00, 0x73, - "SSL_DHE_DSS_WITH_AES_128_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_DSS_WITH_AES_256_CBC_RMD = - new CipherSuite("AES", "DHE", "DSS", "HMAC-RIPEMD-160", 32, 0x00, 0x74, - "SSL_DHE_DSS_WITH_AES_256_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_CAST_128_CBC_SHA = - new CipherSuite("CAST5", "DHE", "RSA", "HMAC-SHA", 16, 0x00, 0x75, - "SSL_DHE_RSA_WITH_CAST_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_CAST_128_CBC_RMD = - new CipherSuite("CAST5", "DHE", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x76, - "SSL_DHE_RSA_WITH_CAST_128_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_3DES_EDE_CBC_RMD = - new CipherSuite("TripleDES", "DHE", "RSA", "HMAC-RIPEMD-160", 24, 0x00, 0x77, - "SSL_DHE_RSA_WITH_3DES_EDE_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_AES_128_CBC_RMD = - new CipherSuite("AES", "DHE", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x78, - "SSL_DHE_RSA_WITH_AES_128_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_DHE_RSA_WITH_AES_256_CBC_RMD = - new CipherSuite("AES", "DHE", "RSA", "HMAC-RIPEMD-160", 32, 0x00, 0x79, - "SSL_DHE_RSA_WITH_AES_256_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_CAST_128_CBC_SHA = - new CipherSuite("CAST5", "RSA", "RSA", "HMAC-SHA", 16, 0x00, 0x7A, - "SSL_RSA_WITH_CAST_128_CBC_SHA", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_CAST_128_CBC_RMD = - new CipherSuite("CAST5", "RSA", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x7B, - "SSL_RSA_WITH_CAST_128_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_3DES_EDE_CBC_RMD = - new CipherSuite("TripleDES", "RSA", "RSA", "HMAC-RIPEMD-160", 24, 0x00, 0x7C, - "SSL_RSA_WITH_3DES_EDE_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_AES_128_CBC_RMD = - new CipherSuite("AES", "RSA", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x7D, - "SSL_RSA_WITH_AES_128_CBC_RMD", ProtocolVersion.SSL_3); - static final CipherSuite SSL_RSA_WITH_AES_256_CBC_RMD = - new CipherSuite("AES", "RSA", "RSA", "HMAC-RIPEMD-160", 32, 0x00, 0x7E, - "SSL_RSA_WITH_AES_256_CBC_RMD", ProtocolVersion.SSL_3); - - static final CipherSuite TLS_NULL_WITH_NULL_NULL = - new CipherSuite("null", "null", "null", "null", 0, 0x00, 0x00, - "TLS_NULL_WITH_NULL_NULL", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_NULL_MD5 = - new CipherSuite("null", "RSA", "RSA", "HMAC-MD5", 0, 0x00, 0x01, - "TLS_RSA_WITH_NULL_MD5", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_NULL_SHA = - new CipherSuite("null", "RSA", "RSA", "HMAC-SHA", 0, 0x00, 0x02, - "TLS_RSA_WITH_NULL_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5 = - new CipherSuite("RC4", "RSA", "RSA", "HMAC-MD5", 5, 0x00, 0x03, - "TLS_RSA_EXPORT_WITH_RC4_40_MD5", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_RC4_128_MD5 = - new CipherSuite("RC4", "RSA", "RSA", "HMAC-MD5", 16, 0x00, 0x04, - "TLS_RSA_WITH_RC4_128_MD5", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_RC4_128_SHA = - new CipherSuite("RC4", "RSA", "RSA", "HMAC-SHA", 16, 0x00, 0x05, - "TLS_RSA_WITH_RC4_128_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "RSA", "RSA", "HMAC-SHA", 5, 0x00, 0x08, - "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_DES_CBC_SHA = - new CipherSuite("DES", "RSA", "RSA", "HMAC-SHA", 8, 0x00, 0x09, - "TLS_RSA_WITH_DES_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "RSA", "RSA", "HMAC-SHA", 24, 0x00, 0x0A, - "TLS_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DH", "DSS", "HMAC-SHA", 5, 0x00, 0x0B, - "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_DSS_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DH", "DSS", "HMAC-SHA", 8, 0x00, 0x0C, - "TLS_DH_DSS_WITH_DES_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DH", "DSS", "HMAC-SHA", 24, 0x00, 0x0D, - "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DH", "RSA", "HMAC-SHA", 5, 0x00, 0x0E, - "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_RSA_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DH", "RSA", "HMAC-SHA", 8, 0x00, 0x0F, - "TLS_DH_RSA_WITH_DES_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DH", "RSA", "HMAC-SHA", 24, 0x00, 0x10, - "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DHE", "DSS", "HMAC-SHA", 5, 0x00, 0x11, - "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DHE", "DSS", "HMAC-SHA", 8, 0x00, 0x12, - "TLS_DHE_DSS_WITH_DES_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DHE", "DSS", "HMAC-SHA", 24, 0x00, 0x13, - "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = - new CipherSuite("DES", "DHE", "RSA", "HMAC-SHA", 5, 0x00, 0x14, - "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_DES_CBC_SHA = - new CipherSuite("DES", "DHE", "RSA", "HMAC-SHA", 8, 0x00, 0x15, - "TLS_DHE_RSA_WITH_DES_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "DHE", "RSA", "HMAC-SHA", 24, 0x00, 0x16, - "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - - // AES CipherSuites. - static final CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "RSA", "RSA", "HMAC-SHA", 16, 0x00, 0x2F, - "TLS_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DH", "DSS", "HMAC-SHA", 16, 0x00, 0x30, - "TLS_DH_DSS_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DH", "RSA", "HMAC-SHA", 16, 0x00, 0x31, - "TLS_DH_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DHE", "DSS", "HMAC-SHA", 16, 0x00, 0x32, - "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "DHE", "RSA", "HMAC-SHA", 16, 0x00, 0x33, - "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "RSA", "RSA", "HMAC-SHA", 32, 0x00, 0x35, - "TLS_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DH", "DSS", "HMAC-SHA", 32, 0x00, 0x36, - "TLS_DH_DSS_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DH", "RSA", "HMAC-SHA", 32, 0x00, 0x37, - "TLS_DH_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DHE", "DSS", "HMAC-SHA", 32, 0x00, 0x38, - "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "DHE", "RSA", "HMAC-SHA", 32, 0x00, 0x39, - "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); + public static final CipherSuite TLS_RSA_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 16, 0x00, 0x2F, + "TLS_RSA_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_DH_DSS_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DH_DSS, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x30, + "TLS_DH_DSS_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_DH_RSA_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DH_RSA, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x31, + "TLS_DH_RSA_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DHE_DSS, true, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 16, 0x00, 0x32, + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DHE_RSA, true, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 16, 0x00, 0x33, + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_RSA_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x35, + "TLS_RSA_WITH_AES_256_CBC_SHA"); + public static final CipherSuite TLS_DH_DSS_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DH_DSS, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x36, + "TLS_DH_DSS_WITH_AES_256_CBC_SHA"); + public static final CipherSuite TLS_DH_RSA_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DH_RSA, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x37, + "TLS_DH_RSA_WITH_AES_256_CBC_SHA"); + public static final CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DHE_DSS, true, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 32, 0x00, 0x38, + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"); + public static final CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DHE_RSA, true, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 32, 0x00, 0x39, + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"); // Secure remote password (SRP) ciphersuites - static final CipherSuite TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "SRP", "anon", "HMAC-SHA", 24, 0x00, 0x50, - "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "SRP", "RSA", "HMAC-SHA", 24, 0x00, 0x51, - "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = - new CipherSuite("TripleDES", "SRP", "DSS", "HMAC-SHA", 24, 0x00, 0x52, - "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "SRP", "anon", "HMAC-SHA", 16, 0x00, 0x53, - "TLS_SRP_SHA_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "SRP", "RSA", "HMAC-SHA", 16, 0x00, 0x54, - "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = - new CipherSuite("AES", "SRP", "DSS", "HMAC-SHA", 16, 0x00, 0x55, - "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "SRP", "anon", "HMAC-SHA", 32, 0x00, 0x56, - "TLS_SRP_SHA_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "SRP", "RSA", "HMAC-SHA", 32, 0x00, 0x57, - "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = - new CipherSuite("AES", "SRP", "DSS", "HMAC-SHA", 32, 0x00, 0x58, - "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA", ProtocolVersion.TLS_1); + // Actual ID values are TBD, so these are omitted until they are specified. + /*public static final CipherSuite TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 24, 0x00, 0x50, + "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 24, 0x00, 0x51, + "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 24, 0x00, 0x52, + "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x53, + "TLS_SRP_SHA_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 16, 0x00, 0x54, + "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 16, 0x00, 0x55, + "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x56, + "TLS_SRP_SHA_WITH_AES_256_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 32, 0x00, 0x57, + "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA"); + public static final CipherSuite TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.SRP, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 32, 0x00, 0x58, + "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA");*/ + + // Pre-shared key suites. + public static final CipherSuite TLS_PSK_WITH_RC4_128_SHA = + new CipherSuite(CipherAlgorithm.RC4, + KeyExchangeAlgorithm.PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x8A, + "TLS_PSK_WITH_RC4_128_SHA"); + public static final CipherSuite TLS_PSK_WITH_3DES_EDE_CBC_SHA = + new CipherSuite(CipherAlgorithm.DESede, + KeyExchangeAlgorithm.PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 24, 0x00, 0x8B, + "TLS_PSK_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA = + new CipherSuite(CipherAlgorithm.AES, + KeyExchangeAlgorithm.PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x8C, + "TLS_PSK_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA = + new CipherSuite(CipherAlgorithm.AES, + KeyExchangeAlgorithm.PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x8D, + "TLS_PSK_WITH_AES_256_CBC_SHA"); + + public static final CipherSuite TLS_DHE_PSK_WITH_RC4_128_SHA = + new CipherSuite(CipherAlgorithm.RC4, + KeyExchangeAlgorithm.DHE_PSK, true, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x8E, + "TLS_DHE_PSK_WITH_RC4_128_SHA"); + public static final CipherSuite TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = + new CipherSuite(CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DHE_PSK, true, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 24, 0x00, 0x8F, + "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA = + new CipherSuite(CipherAlgorithm.AES, + KeyExchangeAlgorithm.DHE_PSK, true, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x90, + "TLS_DHE_PSK_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA = + new CipherSuite(CipherAlgorithm.AES, + KeyExchangeAlgorithm.DHE_PSK, true, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x91, + "TLS_DHE_PSK_WITH_AES_256_CBC_SHA"); + + public static final CipherSuite TLS_RSA_PSK_WITH_RC4_128_SHA = + new CipherSuite(CipherAlgorithm.RC4, + KeyExchangeAlgorithm.RSA_PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x92, + "TLS_RSA_PSK_WITH_RC4_128_SHA"); + public static final CipherSuite TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = + new CipherSuite(CipherAlgorithm.DESede, + KeyExchangeAlgorithm.RSA_PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 24, 0x00, 0x93, + "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA"); + public static final CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA = + new CipherSuite(CipherAlgorithm.AES, + KeyExchangeAlgorithm.RSA_PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 16, 0x00, 0x94, + "TLS_RSA_PSK_WITH_AES_128_CBC_SHA"); + public static final CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA = + new CipherSuite(CipherAlgorithm.AES, + KeyExchangeAlgorithm.RSA_PSK, + SignatureAlgorithm.ANONYMOUS, + MacAlgorithm.SHA, 32, 0x00, 0x95, + "TLS_RSA_PSK_WITH_AES_256_CBC_SHA"); // Ciphersuites from the OpenPGP extension draft. - static final CipherSuite TLS_DHE_DSS_WITH_CAST_128_CBC_SHA = - new CipherSuite("CAST5", "DHE", "DSS", "HMAC-SHA", 16, 0x00, 0x70, - "TLS_DHE_DSS_WITH_CAST_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_CAST_128_CBC_RMD = - new CipherSuite("CAST5", "DHE", "DSS", "HMAC-RIPEMD-160", 16, 0x00, 0x71, - "TLS_DHE_DSS_WITH_CAST_128_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD = - new CipherSuite("TripleDES", "DHE", "DSS", "HMAC-RIPEMD-160", 24, 0x00, 0x72, - "TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_RMD = - new CipherSuite("AES", "DHE", "DSS", "HMAC-RIPEMD-160", 16, 0x00, 0x73, - "TLS_DHE_DSS_WITH_AES_128_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_RMD = - new CipherSuite("AES", "DHE", "DSS", "HMAC-RIPEMD-160", 32, 0x00, 0x74, - "TLS_DHE_DSS_WITH_AES_256_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_CAST_128_CBC_SHA = - new CipherSuite("CAST5", "DHE", "RSA", "HMAC-SHA", 16, 0x00, 0x75, - "TLS_DHE_RSA_WITH_CAST_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_CAST_128_CBC_RMD = - new CipherSuite("CAST5", "DHE", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x76, - "TLS_DHE_RSA_WITH_CAST_128_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD = - new CipherSuite("TripleDES", "DHE", "RSA", "HMAC-RIPEMD-160", 24, 0x00, 0x77, - "TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_RMD = - new CipherSuite("AES", "DHE", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x78, - "TLS_DHE_RSA_WITH_AES_128_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_RMD = - new CipherSuite("AES", "DHE", "RSA", "HMAC-RIPEMD-160", 32, 0x00, 0x79, - "TLS_DHE_RSA_WITH_AES_256_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_CAST_128_CBC_SHA = - new CipherSuite("CAST5", "RSA", "RSA", "HMAC-SHA", 16, 0x00, 0x7A, - "TLS_RSA_WITH_CAST_128_CBC_SHA", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_CAST_128_CBC_RMD = - new CipherSuite("CAST5", "RSA", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x7B, - "TLS_RSA_WITH_CAST_128_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_3DES_EDE_CBC_RMD = - new CipherSuite("TripleDES", "RSA", "RSA", "HMAC-RIPEMD-160", 24, 0x00, 0x7C, - "TLS_RSA_WITH_3DES_EDE_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_AES_128_CBC_RMD = - new CipherSuite("AES", "RSA", "RSA", "HMAC-RIPEMD-160", 16, 0x00, 0x7D, - "TLS_RSA_WITH_AES_128_CBC_RMD", ProtocolVersion.TLS_1); - static final CipherSuite TLS_RSA_WITH_AES_256_CBC_RMD = - new CipherSuite("AES", "RSA", "RSA", "HMAC-RIPEMD-160", 32, 0x00, 0x7E, - "TLS_RSA_WITH_AES_256_CBC_RMD", ProtocolVersion.TLS_1); - - private final String cipherName; - private final String kexName; - private final String sigName; - private final String macName; + // These disappeared from a more recent draft. +/* public static final CipherSuite TLS_DHE_DSS_WITH_CAST_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.CAST5, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.DSA, + MacAlgorithm.SHA, 16, 0x00, 0x70, + "TLS_DHE_DSS_WITH_CAST_128_CBC_SHA"); + public static final CipherSuite TLS_DHE_DSS_WITH_CAST_128_CBC_RMD = + new CipherSuite (CipherAlgorithm.CAST5, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.DSA, + MacAlgorithm.HMAC_RMD, 16, 0x00, 0x71, + "TLS_DHE_DSS_WITH_CAST_128_CBC_RMD"); + public static final CipherSuite TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.DSA, + MacAlgorithm.HMAC_RMD, 24, 0x00, 0x72, + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD"); + public static final CipherSuite TLS_DHE_DSS_WITH_AES_128_CBC_RMD = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.DSA, + MacAlgorithm.HMAC_RMD, 16, 0x00, 0x73, + "TLS_DHE_DSS_WITH_AES_128_CBC_RMD"); + public static final CipherSuite TLS_DHE_DSS_WITH_AES_256_CBC_RMD = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.DSA, + MacAlgorithm.HMAC_RMD, 32, 0x00, 0x74, + "TLS_DHE_DSS_WITH_AES_256_CBC_RMD"); + public static final CipherSuite TLS_DHE_RSA_WITH_CAST_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.CAST5, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 16, 0x00, 0x75, + "TLS_DHE_RSA_WITH_CAST_128_CBC_SHA"); + public static final CipherSuite TLS_DHE_RSA_WITH_CAST_128_CBC_RMD = + new CipherSuite (CipherAlgorithm.CAST5, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 16, 0x00, 0x76, + "TLS_DHE_RSA_WITH_CAST_128_CBC_RMD"); + public static final CipherSuite TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 24, 0x00, 0x77, + "TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD"); + public static final CipherSuite TLS_DHE_RSA_WITH_AES_128_CBC_RMD = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 16, 0x00, 0x78, + "TLS_DHE_RSA_WITH_AES_128_CBC_RMD"); + public static final CipherSuite TLS_DHE_RSA_WITH_AES_256_CBC_RMD = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.DIFFIE_HELLMAN, true, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 32, 0x00, 0x79, + "TLS_DHE_RSA_WITH_AES_256_CBC_RMD"); + public static final CipherSuite TLS_RSA_WITH_CAST_128_CBC_SHA = + new CipherSuite (CipherAlgorithm.CAST5, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.SHA, 16, 0x00, 0x7A, + "TLS_RSA_WITH_CAST_128_CBC_SHA"); + public static final CipherSuite TLS_RSA_WITH_CAST_128_CBC_RMD = + new CipherSuite (CipherAlgorithm.CAST5, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 16, 0x00, 0x7B, + "TLS_RSA_WITH_CAST_128_CBC_RMD"); + public static final CipherSuite TLS_RSA_WITH_3DES_EDE_CBC_RMD = + new CipherSuite (CipherAlgorithm.DESede, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 24, 0x00, 0x7C, + "TLS_RSA_WITH_3DES_EDE_CBC_RMD"); + public static final CipherSuite TLS_RSA_WITH_AES_128_CBC_RMD = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 16, 0x00, 0x7D, + "TLS_RSA_WITH_AES_128_CBC_RMD"); + public static final CipherSuite TLS_RSA_WITH_AES_256_CBC_RMD = + new CipherSuite (CipherAlgorithm.AES, + KeyExchangeAlgorithm.RSA, + SignatureAlgorithm.RSA, + MacAlgorithm.HMAC_RMD, 32, 0x00, 0x7E, + "TLS_RSA_WITH_AES_256_CBC_RMD"); */ + + private final CipherAlgorithm cipherAlgorithm; + private final KeyExchangeAlgorithm keyExchangeAlgorithm; + private final SignatureAlgorithm signatureAlgorithm; + private final MacAlgorithm macAlgorithm; + private final boolean ephemeralDH; private final boolean exportable; private final boolean isStream; private final int keyLength; private final byte[] id; private final String name; - private final ProtocolVersion version; + private final boolean isResolved; // Constructors. // ------------------------------------------------------------------------- - private CipherSuite(String cipherName, String kexName, String sigName, - String macName, int keyLength, int id1, int id2, - String name, ProtocolVersion version) + private CipherSuite (final CipherAlgorithm cipherAlgorithm, + final KeyExchangeAlgorithm keyExchangeAlgorithm, + final SignatureAlgorithm signatureAlgorithm, + final MacAlgorithm macAlgorithm, + final int keyLength, + final int id1, + final int id2, + final String name) + { + this (cipherAlgorithm, keyExchangeAlgorithm, false, signatureAlgorithm, + macAlgorithm, keyLength, id1, id2, name); + } + + private CipherSuite (final CipherAlgorithm cipherAlgorithm, + final KeyExchangeAlgorithm keyExchangeAlgorithm, + final boolean ephemeralDH, + final SignatureAlgorithm signatureAlgorithm, + final MacAlgorithm macAlgorithm, + final int keyLength, + final int id1, + final int id2, + final String name) { - this.cipherName = cipherName.intern(); - this.kexName = kexName.intern(); - this.sigName = sigName.intern(); - this.macName = macName.intern(); + this.cipherAlgorithm = cipherAlgorithm; + this.keyExchangeAlgorithm = keyExchangeAlgorithm; + this.ephemeralDH = ephemeralDH; + this.signatureAlgorithm = signatureAlgorithm; + this.macAlgorithm = macAlgorithm; this.exportable = keyLength <= 5; - this.isStream = cipherName.equals("null") || cipherName.equals("RC4"); + this.isStream = (cipherAlgorithm == CipherAlgorithm.NULL + || cipherAlgorithm == CipherAlgorithm.RC4); this.keyLength = keyLength; this.id = new byte[] { (byte) id1, (byte) id2 }; this.name = name.intern(); - this.version = version; namesToSuites.put(name, this); if (name.startsWith("TLS")) { tlsSuiteNames.add(name); } + isResolved = true; } private CipherSuite(byte[] id) { - cipherName = null; - kexName = null; - sigName = null; - macName = null; + cipherAlgorithm = null; + keyExchangeAlgorithm = null; + signatureAlgorithm = null; + macAlgorithm = null; + ephemeralDH = false; exportable = false; isStream = false; keyLength = 0; this.id = id; name = null; - version = null; + isResolved = false; } // Class methods. @@ -450,274 +564,243 @@ final class CipherSuite implements Constructed * * @return The named cipher suite. */ - static CipherSuite forName(String name) + public static CipherSuite forName(String name) { - return (CipherSuite) namesToSuites.get(name); + if (name.startsWith("SSL_")) + name = "TLS_" + name.substring(4); + return namesToSuites.get(name); } - static List availableSuiteNames() + public static CipherSuite forValue(final short raw_value) { - return tlsSuiteNames; + byte[] b = new byte[] { (byte) (raw_value >>> 8), (byte) raw_value }; + return new CipherSuite(b).resolve(); } - static CipherSuite read(InputStream in) throws IOException + public static List availableSuiteNames() { - DataInputStream din = new DataInputStream(in); - byte[] id = new byte[2]; - din.readFully(id); - return new CipherSuite(id); + return tlsSuiteNames; } - static IMode getCipher(String cbcCipherName) + // Intance methods. + // ------------------------------------------------------------------------- + + public CipherAlgorithm cipherAlgorithm () { - IBlockCipher cipher = CipherFactory.getInstance(cbcCipherName); - if (cipher == null) - { - return null; - } - return ModeFactory.getInstance("CBC", cipher, cipher.defaultBlockSize()); + return cipherAlgorithm; } - static Cipher getJCECipher (final String name) - throws NoSuchAlgorithmException, NoSuchPaddingException + public Cipher cipher () throws NoSuchAlgorithmException, NoSuchPaddingException { - final String provider = Util.getSecurityProperty ("jessie.with.jce.provider"); - if (name.equals ("RC4")) + if (cipherAlgorithm == null) + throw new NoSuchAlgorithmException (toString () + ": unresolved cipher suite"); + if (cipherAlgorithm == CipherAlgorithm.NULL) + return new NullCipher (); + + String alg = null; + if (cipherAlgorithm == CipherAlgorithm.RC4) + alg = "RC4"; + else + alg = cipherAlgorithm + "/CBC/NoPadding"; + GetSecurityPropertyAction gspa = + new GetSecurityPropertyAction ("jessie.jce.provider"); + final String provider = (String) AccessController.doPrivileged (gspa); + if (provider != null) { - if (provider != null) + try { - try - { - return Cipher.getInstance (name, provider); - } - catch (NoSuchProviderException nsae) - { - // Fall through. Try any available provider. - } + return Cipher.getInstance (alg, provider); } - - return Cipher.getInstance (name); - } - else - { - // Oh, hey! Look! Something else Sun doesn't understand: SSLv3 padding - // is different than TLSv1 in subtle, but important, ways. But they - // sorta look the same, so why not make them equivalent? - // - // There should be a seperate padding "TLS1Padding". - if (provider != null) + catch (NoSuchProviderException nspe) { - try - { - return Cipher.getInstance (name + "/CBC/SSL3Padding", provider); - } - catch (NoSuchProviderException nspe) - { - // Fall through. Try any available provider. - } } - return Cipher.getInstance (name + "/CBC/SSL3Padding"); } + return Cipher.getInstance (alg); + } + + public MacAlgorithm macAlgorithm () + { + return macAlgorithm; } - static IMac getMac(String macName) + public Mac mac(ProtocolVersion version) throws NoSuchAlgorithmException { - if (macName.startsWith("SSLMAC-")) + if (macAlgorithm == null) + throw new NoSuchAlgorithmException(toString() + ": unresolved cipher suite"); + if (macAlgorithm == MacAlgorithm.NULL) + return null; + + String macAlg = null; + if (version == ProtocolVersion.SSL_3) { - return new SSLHMac(macName.substring(7)); + macAlg = "SSLv3HMac-" + macAlgorithm; } else { - return MacFactory.getInstance(macName); + if (macAlgorithm == MacAlgorithm.MD5) + macAlg = "HMac-MD5"; + if (macAlgorithm == MacAlgorithm.SHA) + macAlg = "HMac-SHA1"; } - } - - static Mac getJCEMac (final String name) - throws NoSuchAlgorithmException - { - final String provider = Util.getSecurityProperty ("jessie.with.jce.provider"); + + GetSecurityPropertyAction gspa = + new GetSecurityPropertyAction ("jessie.jce.provider"); + final String provider = AccessController.doPrivileged (gspa); if (provider != null) { try { - return Mac.getInstance (name, provider); + return Mac.getInstance(macAlg, provider); } catch (NoSuchProviderException nspe) { - // Fall through. Try any available provider. + // Ignore; try any installed provider. } } - return Mac.getInstance (name); + return Mac.getInstance(macAlg); } - // Intance methods. - // ------------------------------------------------------------------------- - - public void write(OutputStream out) throws IOException + public SignatureAlgorithm signatureAlgorithm () { - out.write(id); + return signatureAlgorithm; } - CipherSuite resolve(ProtocolVersion version) + public KeyExchangeAlgorithm keyExchangeAlgorithm () { - if (version == ProtocolVersion.SSL_3) - { - if (id[0] == 0x00) switch (id[1]) - { - case 0x00: return SSL_NULL_WITH_NULL_NULL; - case 0x01: return SSL_RSA_WITH_NULL_MD5; - case 0x02: return SSL_RSA_WITH_NULL_SHA; - case 0x03: return SSL_RSA_EXPORT_WITH_RC4_40_MD5; - case 0x04: return SSL_RSA_WITH_RC4_128_MD5; - case 0x05: return SSL_RSA_WITH_RC4_128_SHA; - case 0x08: return SSL_RSA_EXPORT_WITH_DES40_CBC_SHA; - case 0x09: return SSL_RSA_WITH_DES_CBC_SHA; - case 0x0A: return SSL_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x0B: return SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA; - case 0x0C: return SSL_DH_DSS_WITH_DES_CBC_SHA; - case 0x0D: return SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA; - case 0x0E: return SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA; - case 0x0F: return SSL_DH_RSA_WITH_DES_CBC_SHA; - case 0x10: return SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x11: return SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA; - case 0x12: return SSL_DHE_DSS_WITH_DES_CBC_SHA; - case 0x13: return SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA; - case 0x14: return SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA; - case 0x15: return SSL_DHE_RSA_WITH_DES_CBC_SHA; - case 0x16: return SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x2F: return SSL_RSA_WITH_AES_128_CBC_SHA; - case 0x30: return SSL_DH_DSS_WITH_AES_128_CBC_SHA; - case 0x31: return SSL_DH_RSA_WITH_AES_128_CBC_SHA; - case 0x32: return SSL_DHE_DSS_WITH_AES_128_CBC_SHA; - case 0x33: return SSL_DHE_RSA_WITH_AES_128_CBC_SHA; - case 0x35: return SSL_RSA_WITH_AES_256_CBC_SHA; - case 0x36: return SSL_DH_DSS_WITH_AES_256_CBC_SHA; - case 0x37: return SSL_DH_RSA_WITH_AES_256_CBC_SHA; - case 0x38: return SSL_DHE_DSS_WITH_AES_256_CBC_SHA; - case 0x39: return SSL_DHE_RSA_WITH_AES_256_CBC_SHA; - } - } - else if (version == ProtocolVersion.TLS_1 || - version == ProtocolVersion.TLS_1_1) - { - if (id[0] == 0x00) switch (id[1]) - { - case 0x00: return TLS_NULL_WITH_NULL_NULL; - case 0x01: return TLS_RSA_WITH_NULL_MD5; - case 0x02: return TLS_RSA_WITH_NULL_SHA; - case 0x03: return TLS_RSA_EXPORT_WITH_RC4_40_MD5; - case 0x04: return TLS_RSA_WITH_RC4_128_MD5; - case 0x05: return TLS_RSA_WITH_RC4_128_SHA; - case 0x08: return TLS_RSA_EXPORT_WITH_DES40_CBC_SHA; - case 0x09: return TLS_RSA_WITH_DES_CBC_SHA; - case 0x0A: return TLS_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x0B: return TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA; - case 0x0C: return TLS_DH_DSS_WITH_DES_CBC_SHA; - case 0x0D: return TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA; - case 0x0E: return TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA; - case 0x0F: return TLS_DH_RSA_WITH_DES_CBC_SHA; - case 0x10: return TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x11: return TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA; - case 0x12: return TLS_DHE_DSS_WITH_DES_CBC_SHA; - case 0x13: return TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA; - case 0x14: return TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA; - case 0x15: return TLS_DHE_RSA_WITH_DES_CBC_SHA; - case 0x16: return TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x2F: return TLS_RSA_WITH_AES_128_CBC_SHA; - case 0x30: return TLS_DH_DSS_WITH_AES_128_CBC_SHA; - case 0x31: return TLS_DH_RSA_WITH_AES_128_CBC_SHA; - case 0x32: return TLS_DHE_DSS_WITH_AES_128_CBC_SHA; - case 0x33: return TLS_DHE_RSA_WITH_AES_128_CBC_SHA; - case 0x35: return TLS_RSA_WITH_AES_256_CBC_SHA; - case 0x36: return TLS_DH_DSS_WITH_AES_256_CBC_SHA; - case 0x37: return TLS_DH_RSA_WITH_AES_256_CBC_SHA; - case 0x38: return TLS_DHE_DSS_WITH_AES_256_CBC_SHA; - case 0x39: return TLS_DHE_RSA_WITH_AES_256_CBC_SHA; - case 0x50: return TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA; - case 0x51: return TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA; - case 0x52: return TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA; - case 0x53: return TLS_SRP_SHA_WITH_AES_128_CBC_SHA; - case 0x54: return TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA; - case 0x55: return TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA; - case 0x56: return TLS_SRP_SHA_WITH_AES_256_CBC_SHA; - case 0x57: return TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA; - case 0x58: return TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA; - case 0x70: return TLS_DHE_DSS_WITH_CAST_128_CBC_SHA; - case 0x71: return TLS_DHE_DSS_WITH_CAST_128_CBC_RMD; - case 0x72: return TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD; - case 0x73: return TLS_DHE_DSS_WITH_AES_128_CBC_RMD; - case 0x74: return TLS_DHE_DSS_WITH_AES_256_CBC_RMD; - case 0x75: return TLS_DHE_RSA_WITH_CAST_128_CBC_SHA; - case 0x76: return TLS_DHE_RSA_WITH_CAST_128_CBC_RMD; - case 0x77: return TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD; - case 0x78: return TLS_DHE_RSA_WITH_AES_128_CBC_RMD; - case 0x79: return TLS_DHE_RSA_WITH_AES_256_CBC_RMD; - case 0x7A: return TLS_RSA_WITH_CAST_128_CBC_SHA; - case 0x7B: return TLS_RSA_WITH_CAST_128_CBC_RMD; - case 0x7C: return TLS_RSA_WITH_3DES_EDE_CBC_RMD; - case 0x7D: return TLS_RSA_WITH_AES_128_CBC_RMD; - case 0x7E: return TLS_RSA_WITH_AES_256_CBC_RMD; - } - } - return this; + return keyExchangeAlgorithm; } - String getCipher() + public boolean isEphemeralDH () { - return cipherName; + return ephemeralDH; } - int getKeyLength() + public int length () { - return keyLength; + return 2; } - String getKeyExchange() + public void write(OutputStream out) throws IOException { - return kexName; + out.write(id); } - String getSignature() + public void put (final ByteBuffer buf) { - return sigName; + buf.put (id); } - - String getMac() + + public CipherSuite resolve() { - return macName; + if (id[0] == 0x00) switch (id[1] & 0xFF) + { + case 0x00: return TLS_NULL_WITH_NULL_NULL; + case 0x01: return TLS_RSA_WITH_NULL_MD5; + case 0x02: return TLS_RSA_WITH_NULL_SHA; + case 0x03: return TLS_RSA_EXPORT_WITH_RC4_40_MD5; + case 0x04: return TLS_RSA_WITH_RC4_128_MD5; + case 0x05: return TLS_RSA_WITH_RC4_128_SHA; + case 0x08: return TLS_RSA_EXPORT_WITH_DES40_CBC_SHA; + case 0x09: return TLS_RSA_WITH_DES_CBC_SHA; + case 0x0A: return TLS_RSA_WITH_3DES_EDE_CBC_SHA; + case 0x0B: return TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA; + case 0x0C: return TLS_DH_DSS_WITH_DES_CBC_SHA; + case 0x0D: return TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA; + case 0x0E: return TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA; + case 0x0F: return TLS_DH_RSA_WITH_DES_CBC_SHA; + case 0x10: return TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA; + case 0x11: return TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA; + case 0x12: return TLS_DHE_DSS_WITH_DES_CBC_SHA; + case 0x13: return TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA; + case 0x14: return TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA; + case 0x15: return TLS_DHE_RSA_WITH_DES_CBC_SHA; + case 0x16: return TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA; + case 0x2F: return TLS_RSA_WITH_AES_128_CBC_SHA; + case 0x30: return TLS_DH_DSS_WITH_AES_128_CBC_SHA; + case 0x31: return TLS_DH_RSA_WITH_AES_128_CBC_SHA; + case 0x32: return TLS_DHE_DSS_WITH_AES_128_CBC_SHA; + case 0x33: return TLS_DHE_RSA_WITH_AES_128_CBC_SHA; + case 0x35: return TLS_RSA_WITH_AES_256_CBC_SHA; + case 0x36: return TLS_DH_DSS_WITH_AES_256_CBC_SHA; + case 0x37: return TLS_DH_RSA_WITH_AES_256_CBC_SHA; + case 0x38: return TLS_DHE_DSS_WITH_AES_256_CBC_SHA; + case 0x39: return TLS_DHE_RSA_WITH_AES_256_CBC_SHA; + /*case 0x50: return TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA; + case 0x51: return TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA; + case 0x52: return TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA; + case 0x53: return TLS_SRP_SHA_WITH_AES_128_CBC_SHA; + case 0x54: return TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA; + case 0x55: return TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA; + case 0x56: return TLS_SRP_SHA_WITH_AES_256_CBC_SHA; + case 0x57: return TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA; + case 0x58: return TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA; + case 0x70: return TLS_DHE_DSS_WITH_CAST_128_CBC_SHA; + case 0x71: return TLS_DHE_DSS_WITH_CAST_128_CBC_RMD; + case 0x72: return TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD; + case 0x73: return TLS_DHE_DSS_WITH_AES_128_CBC_RMD; + case 0x74: return TLS_DHE_DSS_WITH_AES_256_CBC_RMD; + case 0x75: return TLS_DHE_RSA_WITH_CAST_128_CBC_SHA; + case 0x76: return TLS_DHE_RSA_WITH_CAST_128_CBC_RMD; + case 0x77: return TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD; + case 0x78: return TLS_DHE_RSA_WITH_AES_128_CBC_RMD; + case 0x79: return TLS_DHE_RSA_WITH_AES_256_CBC_RMD; + case 0x7A: return TLS_RSA_WITH_CAST_128_CBC_SHA; + case 0x7B: return TLS_RSA_WITH_CAST_128_CBC_RMD; + case 0x7C: return TLS_RSA_WITH_3DES_EDE_CBC_RMD; + case 0x7D: return TLS_RSA_WITH_AES_128_CBC_RMD; + case 0x7E: return TLS_RSA_WITH_AES_256_CBC_RMD;*/ + case 0x8A: return TLS_PSK_WITH_RC4_128_SHA; + case 0x8B: return TLS_PSK_WITH_3DES_EDE_CBC_SHA; + case 0x8C: return TLS_PSK_WITH_AES_128_CBC_SHA; + case 0x8D: return TLS_PSK_WITH_AES_256_CBC_SHA; + case 0x8E: return TLS_DHE_PSK_WITH_RC4_128_SHA; + case 0x8F: return TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA; + case 0x90: return TLS_DHE_PSK_WITH_AES_128_CBC_SHA; + case 0x91: return TLS_DHE_PSK_WITH_AES_256_CBC_SHA; + case 0x92: return TLS_RSA_PSK_WITH_RC4_128_SHA; + case 0x93: return TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA; + case 0x94: return TLS_RSA_PSK_WITH_AES_128_CBC_SHA; + case 0x95: return TLS_RSA_PSK_WITH_AES_256_CBC_SHA; + } + return this; } - - boolean isExportable() + + public boolean isResolved() { - return exportable; + return isResolved; } - boolean isStreamCipher() + public int keyLength() { - return isStream; + return keyLength; } - String getAuthType() + public boolean isExportable() { - if (kexName.equals("RSA")) - { - if (isExportable()) - { - return "RSA_EXPORT"; - } - return "RSA"; - } - return kexName + "_" + sigName; + return exportable; } - byte[] getId() + public boolean isStreamCipher() { - return id; + return isStream; } - ProtocolVersion getVersion() +// String getAuthType() +// { +// if (keyExchangeAlgorithm == KeyExchangeAlgorithm.RSA) +// { +// if (isExportable()) +// { +// return "RSA_EXPORT"; +// } +// return "RSA"; +// } +// return kexName + "_" + sigName; +// } + + public byte[] id() { - return version; + return id; } public boolean equals(Object o) @@ -728,26 +811,26 @@ final class CipherSuite implements Constructed } if (o == this) return true; - byte[] id = ((CipherSuite) o).getId(); - return id[0] == this.id[0] && - id[1] == this.id[1]; + byte[] id = ((CipherSuite) o).id(); + return (id[0] == this.id[0] && + id[1] == this.id[1]); } public int hashCode() { - if (version == null) - { - return 0xFFFF0000 | (id[0] & 0xFF) << 8 | (id[1] & 0xFF); - } - return version.getMajor() << 24 | version.getMinor() << 16 - | (id[0] & 0xFF) << 8 | (id[1] & 0xFF); + return 0xFFFF0000 | (id[0] & 0xFF) << 8 | (id[1] & 0xFF); + } + + public String toString (String prefix) + { + return toString (); } public String toString() { if (name == null) { - return "UNKNOWN { " + (id[0] & 0xFF) + ", " + (id[1] & 0xFF) + " }"; + return "{ " + (id[0] & 0xFF) + ", " + (id[1] & 0xFF) + " }"; } return name; } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuiteList.java b/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuiteList.java new file mode 100644 index 00000000000..0e96b31443a --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CipherSuiteList.java @@ -0,0 +1,283 @@ +/* CipherSuiteList.java -- A list of cipher suites. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; +import java.util.ConcurrentModificationException; +import java.util.ListIterator; +import java.util.NoSuchElementException; + +public final class CipherSuiteList implements Iterable +{ + private final ByteBuffer buffer; + private final ProtocolVersion version; + private int modCount; + + public CipherSuiteList (final ByteBuffer buffer) + { + this (buffer, ProtocolVersion.SSL_3); + } + + public CipherSuiteList (final ByteBuffer buffer, final ProtocolVersion version) + { + this.version = version; + this.buffer = buffer; + modCount = 0; + } + + /** + * Return the number of elements in this list. + * + * @return The size of this list. + */ + public int size () + { + return (buffer.getShort (0) & 0xFFFF) >>> 1; + } + + /** + * Get the cipher suite at the specified index. + * + * @param index The index of the suite to get. + * @return The cipher suite at that index. + * @throws IndexOutOfBoundsException If the index is negative or is + * not less than {@link size()}. + */ + public CipherSuite get (final int index) + { + int size = size (); + if (index < 0 || index >= size) + throw new IndexOutOfBoundsException ("limit: " + size + + "; requested: " + index); + return CipherSuite.forValue(buffer.getShort(2 + (index << 1))).resolve(); + } + + /** + * Set the CipherSuite at the specified index. The list must have + * sufficient size to hold the element (that is, index <= + * size ()). + * + * @param index The index to put the suite. + * @param suite The CipherSuite object. + * @throws IndexOutOfBoundsException If index is not + * less than @{link #size()}, or if it is negative. + * @throws NullPointerException If suite is + * null. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writable. + */ + public void put (final int index, final CipherSuite suite) + { + int size = size (); + if (index < 0 || index >= size) + throw new IndexOutOfBoundsException ("limit: " + size + + "; requested: " + index); + buffer.position (2 + (index << 1)); + buffer.put (suite.id ()); + modCount++; + } + + /** + * Sets the size of this list. You must call this if you are adding + * elements to the list; calling {@link + * #put(int,gnu.jessie.provider.CipherSuite)} does not expand the + * list size (the same goes for removing elements, as there is no + * remove method). + * + * @param newSize The new size of this list. + * @throws IllegalArgumentException If the new size is negative or + * greater than 32767, or if there is insufficient space for that + * many elements in the underlying buffer. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writable. + */ + public void setSize (final int newSize) + { + if (newSize < 0 || newSize > 32767) + throw new IllegalArgumentException ("size must be between 0 and 32767"); + if ((newSize << 1) + 2 > buffer.capacity ()) + throw new IllegalArgumentException ("limit: " + buffer.capacity () + + "; requested: " + newSize); + buffer.putShort (0, (short) (newSize << 1)); + modCount++; + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) + out.print (prefix); + out.print ("["); + out.print (size ()); + out.println ("] {"); + for (Iterator it = new Iterator (); it.hasNext (); ) + { + CipherSuite suite = (CipherSuite) it.next (); + if (prefix != null) + out.print (prefix); + out.print (" "); + out.print (suite); + if (it.hasNext ()) + out.print (","); + out.println (); + } + if (prefix != null) + out.print (prefix); + out.print ("};"); + return str.toString (); + } + + public boolean equals (Object o) + { + if (!(o instanceof CipherSuiteList)) + return false; + CipherSuiteList that = (CipherSuiteList) o; + + if (size () != that.size ()) + return false; + + for (Iterator it1 = new Iterator (), it2 = that.new Iterator (); + it1.hasNext () && it2.hasNext (); ) + { + if (!it1.next ().equals (it2.next ())) + return false; + } + return true; + } + + public java.util.Iterator iterator () + { + return new Iterator (); + } + + /** + * An iterator for the elements in this list. The iterator supports + * only the set method out of the optional methods, + * because elements in a CipherSuiteList may not be removed or + * added; only the size of the list can be changed, and elements at + * a specific index changed. + */ + public class Iterator implements ListIterator + { + private final int modCount; + private int index; + + Iterator () + { + this.modCount = CipherSuiteList.this.modCount; + index = 0; + } + + public void add (CipherSuite cs) + { + throw new UnsupportedOperationException (); + } + + public boolean hasNext () + { + return (index < size ()); + } + + public boolean hasPrevious () + { + return (index > 0); + } + + public CipherSuite next () throws NoSuchElementException + { + if (modCount != CipherSuiteList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException (); + } + } + + public int nextIndex () + { + if (hasNext ()) + return (index + 1); + return -1; + } + + public CipherSuite previous () throws NoSuchElementException + { + if (index == 0) + throw new NoSuchElementException (); + if (modCount != CipherSuiteList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (--index); + } + catch (IndexOutOfBoundsException ioobe) // on empty list + { + throw new NoSuchElementException (); + } + } + + public int previousIndex () + { + return (index - 1); + } + + public void remove () + { + throw new UnsupportedOperationException (); + } + + public void set (final CipherSuite cs) + { + put (index, cs); + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientCertificateTypeList.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientCertificateTypeList.java new file mode 100644 index 00000000000..1a1886b888c --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientCertificateTypeList.java @@ -0,0 +1,227 @@ +/* ClientCertificateTypeList.java -- A list of certificate types. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.CertificateRequest.ClientCertificateType; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; + +import java.util.ConcurrentModificationException; +import java.util.ListIterator; +import java.util.NoSuchElementException; + +public class ClientCertificateTypeList implements Iterable +{ + private final ByteBuffer buffer; + private int modCount; + + public ClientCertificateTypeList (final ByteBuffer buffer) + { + this.buffer = buffer; + modCount = 0; + } + + public int size () + { + return (buffer.get (0) & 0xFF); + } + + public CertificateRequest.ClientCertificateType get (final int index) + { + int size = size (); + if (index < 0 || index >= size) + throw new IndexOutOfBoundsException ("limit: " + size + + "; requested: " + index); + return CertificateRequest.ClientCertificateType.forValue + (buffer.get (index + 1) & 0xFF); + } + + public java.util.Iterator iterator() + { + return new Iterator(); + } + + public void put (final int index, final CertificateRequest.ClientCertificateType type) + { + int size = size (); + if (index < 0 || index >= size) + throw new IndexOutOfBoundsException ("limit: " + size + + "; requested: " + index); + buffer.put (index + 1, (byte) type.getValue ()); + modCount++; + } + + public void setSize (final int newSize) + { + if (newSize < 0 || newSize > 255) + throw new IllegalArgumentException ("size must be between 0 and 255"); + if (newSize + 1 > buffer.capacity ()) + throw new IllegalArgumentException ("limit: " + (buffer.capacity () - 1) + + "; requested: " + newSize); + buffer.put (0, (byte) newSize); + modCount++; + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); + out.print ("["); + out.print (size ()); + out.println ("] {"); + for (Iterator it = new Iterator (); it.hasNext (); ) + { + if (prefix != null) out.print (prefix); + out.print (" "); + out.print (it.next ()); + if (it.hasNext ()) + out.print (","); + out.println (); + } + if (prefix != null) out.print (prefix); + out.println ("};"); + return str.toString (); + } + + public boolean equals (Object o) + { + if (!(o instanceof ClientCertificateTypeList)) + return false; + ClientCertificateTypeList that = (ClientCertificateTypeList) o; + + if (size () != that.size ()) + return false; + + for (Iterator it1 = new Iterator (), it2 = that.new Iterator (); + it1.hasNext () && it2.hasNext (); ) + { + if (!it1.next ().equals (it2.next ())) + return false; + } + return true; + } + + public class Iterator implements ListIterator + { + private int index; + private final int modCount; + + Iterator () + { + index = 0; + modCount = ClientCertificateTypeList.this.modCount; + } + + public void add (CertificateRequest.ClientCertificateType type) + { + throw new UnsupportedOperationException (); + } + + public boolean hasNext () + { + return (index < size ()); + } + + public boolean hasPrevious () + { + return (index > 0); + } + + public CertificateRequest.ClientCertificateType next () throws NoSuchElementException + { + if (modCount != ClientCertificateTypeList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException (); + } + } + + public int nextIndex () + { + if (hasNext ()) + return (index + 1); + return -1; + } + + public CertificateRequest.ClientCertificateType previous () throws NoSuchElementException + { + if (index == 0) + throw new NoSuchElementException (); + if (modCount != ClientCertificateTypeList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (--index); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException (); + } + } + + public int previousIndex () + { + return (index - 1); + } + + public void remove () + { + throw new UnsupportedOperationException (); + } + + public void set (final CertificateRequest.ClientCertificateType type) + { + put (index, type); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java new file mode 100644 index 00000000000..e63e03c0aa7 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java @@ -0,0 +1,122 @@ +/* ClientDHE_PSKParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; +import java.nio.charset.Charset; + +/** + *
    +      struct {
    +          select (KeyExchangeAlgorithm) {
    +              /* other cases for rsa, diffie_hellman, etc. */
    +              case diffie_hellman_psk:   /* NEW */
    +                  opaque psk_identity<0..2^16-1>;
    +                  ClientDiffieHellmanPublic public;
    +          } exchange_keys;
    +      } ClientKeyExchange;
    + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ClientDHE_PSKParameters extends ExchangeKeys implements Builder, Constructed +{ + public ClientDHE_PSKParameters(ByteBuffer buffer) + { + super(buffer); + } + + public ClientDHE_PSKParameters(String identity, ClientDiffieHellmanPublic dh) + { + super(null); + Charset utf8 = Charset.forName("UTF-8"); + ByteBuffer idBuf = utf8.encode(identity); + buffer = ByteBuffer.allocate(2 + idBuf.remaining() + dh.length()); + buffer.putShort((short) idBuf.remaining()); + buffer.put(idBuf); + buffer.put(dh.buffer()); + buffer.rewind(); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind().limit(length()); + } + + private int identityLength() + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + public String identity() + { + Charset utf8 = Charset.forName("UTF-8"); + return utf8.decode((ByteBuffer) buffer.duplicate().position(2).limit + (identityLength())).toString(); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#length() + */ + public int length() + { + int length = (buffer.getShort(0) & 0xFFFF) + 2; + // XXX always explicit? + length += (buffer.getShort(length) & 0xFFFF) + 2; + return length; + } + + public ClientDiffieHellmanPublic params() + { + return new ClientDiffieHellmanPublic(((ByteBuffer) buffer.duplicate() + .position(identityLength()).limit(length())).slice()); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String) + */ + public String toString(String prefix) + { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java new file mode 100644 index 00000000000..8af8b850ba2 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java @@ -0,0 +1,129 @@ +/* ClientDiffieHellmanPublic.java -- Client Diffie-Hellman value. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.math.BigInteger; + +import java.nio.ByteBuffer; + +/** + * The client's explicit Diffie Hellman value. + * + *
    +struct {
    +  select (PublicValueEncoding) {
    +    case implicit: struct { };
    +    case explicit: opaque dh_Yc<1..2^16-1>;
    +  } dh_public;
    +} ClientDiffieHellmanPublic;
    + */ +public class ClientDiffieHellmanPublic extends ExchangeKeys implements Builder +{ + public ClientDiffieHellmanPublic(final ByteBuffer buffer) + { + super(buffer); + } + + public ClientDiffieHellmanPublic(final BigInteger Yc) + { + super(wrap(Yc)); + } + + private static ByteBuffer wrap(BigInteger Yc) + { + byte[] b = Util.trim(Yc); + ByteBuffer ret = ByteBuffer.allocate(b.length + 2); + ret.putShort((short) b.length); + ret.put(b); + return (ByteBuffer) ret.rewind(); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind().limit(length()); + } + + public BigInteger publicValue() + { + int len = length() - 2; + byte[] b = new byte[len]; + buffer.position(2); + buffer.get(b); + buffer.rewind(); + return new BigInteger(1, b); + } + + public void setPublicValue(final BigInteger Yc) + { + byte[] buf = Util.trim(Yc); + if (buffer.capacity() < buf.length + 2) + buffer = ByteBuffer.allocate(buf.length + 2); + buffer.putShort((short) buf.length); + buffer.put(buf); + buffer.rewind(); + } + + public int length () + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); + out.println ("struct {"); + if (prefix != null) out.print (prefix); + out.print (" dh_Yc = "); + out.print (publicValue ().toString (16)); + out.println (';'); + if (prefix != null) out.print (prefix); + out.print ("} ClientDiffieHellmanPublic;"); + return str.toString (); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientHandshake.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHandshake.java new file mode 100644 index 00000000000..059b165a67d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHandshake.java @@ -0,0 +1,1150 @@ +/* ClientHandshake.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import static gnu.javax.net.ssl.provider.ClientHandshake.State.*; +import static gnu.javax.net.ssl.provider.KeyExchangeAlgorithm.*; + +import gnu.classpath.debug.Component; +import gnu.java.security.action.GetSecurityPropertyAction; +import gnu.javax.crypto.key.dh.GnuDHPublicKey; +import gnu.javax.net.ssl.AbstractSessionContext; +import gnu.javax.net.ssl.Session; +import gnu.javax.net.ssl.provider.Alert.Description; +import gnu.javax.net.ssl.provider.Alert.Level; +import gnu.javax.net.ssl.provider.CertificateRequest.ClientCertificateType; +import gnu.javax.net.ssl.provider.ServerNameList.NameType; +import gnu.javax.net.ssl.provider.ServerNameList.ServerName; + +import java.nio.ByteBuffer; +import java.security.AccessController; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.KeyManagementException; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.SignatureException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.security.interfaces.RSAPublicKey; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.zip.Deflater; +import java.util.zip.Inflater; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; +import javax.crypto.interfaces.DHPrivateKey; +import javax.crypto.interfaces.DHPublicKey; +import javax.crypto.spec.DHParameterSpec; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.X509ExtendedKeyManager; +import javax.net.ssl.SSLEngineResult.HandshakeStatus; +import javax.security.auth.x500.X500Principal; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class ClientHandshake extends AbstractHandshake +{ + static enum State + { + WRITE_CLIENT_HELLO (false, true), + READ_SERVER_HELLO (true, false), + READ_CERTIFICATE (true, false), + READ_SERVER_KEY_EXCHANGE (true, false), + READ_CERTIFICATE_REQUEST (true, false), + READ_SERVER_HELLO_DONE (true, false), + WRITE_CERTIFICATE (false, true), + WRITE_CLIENT_KEY_EXCHANGE (false, true), + WRITE_CERTIFICATE_VERIFY (false, true), + WRITE_FINISHED (false, true), + READ_FINISHED (true, false), + DONE (false, false); + + private final boolean isWriteState; + private final boolean isReadState; + + private State(boolean isReadState, boolean isWriteState) + { + this.isReadState = isReadState; + this.isWriteState = isWriteState; + } + + boolean isReadState() + { + return isReadState; + } + + boolean isWriteState() + { + return isWriteState; + } + } + + private State state; + private ByteBuffer outBuffer; + private boolean continuedSession; + private SessionImpl continued; + private KeyPair dhPair; + private String keyAlias; + private PrivateKey privateKey; + private MaxFragmentLength maxFragmentLengthSent; + private boolean truncatedHMacSent; + private ProtocolVersion sentVersion; + + // Delegated tasks. + private CertVerifier certVerifier; + private ParamsVerifier paramsVerifier; + private DelegatedTask keyExchange; + private CertLoader certLoader; + private GenCertVerify genCertVerify; + + public ClientHandshake(SSLEngineImpl engine) throws NoSuchAlgorithmException + { + super(engine); + state = WRITE_CLIENT_HELLO; + continuedSession = false; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.AbstractHandshake#implHandleInput() + */ + @Override protected HandshakeStatus implHandleInput() throws SSLException + { + if (state == DONE) + return HandshakeStatus.FINISHED; + + if (state.isWriteState() + || (outBuffer != null && outBuffer.hasRemaining())) + return HandshakeStatus.NEED_WRAP; + + // Copy the current buffer, and prepare it for reading. + ByteBuffer buffer = handshakeBuffer.duplicate (); + buffer.flip(); + buffer.position(handshakeOffset); + + Handshake handshake = new Handshake(buffer.slice(), + engine.session().suite, + engine.session().version); + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "processing in state {0}:\n{1}", + state, handshake); + + switch (state) + { + // Server Hello. + case READ_SERVER_HELLO: + { + if (handshake.type() != Handshake.Type.SERVER_HELLO) + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.UNEXPECTED_MESSAGE)); + ServerHello hello = (ServerHello) handshake.body(); + serverRandom = hello.random().copy(); + engine.session().suite = hello.cipherSuite(); + engine.session().version = hello.version(); + compression = hello.compressionMethod(); + Session.ID serverId = new Session.ID(hello.sessionId()); + if (continued != null + && continued.id().equals(serverId)) + { + continuedSession = true; + engine.setSession(continued); + } + else if (engine.getEnableSessionCreation()) + { + ((AbstractSessionContext) engine.contextImpl + .engineGetClientSessionContext()).put(engine.session()); + } + ExtensionList extensions = hello.extensions(); + if (extensions != null) + { + for (Extension extension : extensions) + { + Extension.Type type = extension.type(); + if (type == null) + continue; + switch (type) + { + case MAX_FRAGMENT_LENGTH: + MaxFragmentLength mfl + = (MaxFragmentLength) extension.value(); + if (maxFragmentLengthSent == mfl) + engine.session().setApplicationBufferSize(mfl.maxLength()); + break; + + case TRUNCATED_HMAC: + if (truncatedHMacSent) + engine.session().setTruncatedMac(true); + break; + } + } + } + + KeyExchangeAlgorithm kex = engine.session().suite.keyExchangeAlgorithm(); + if (continuedSession) + { + byte[][] keys = generateKeys(clientRandom, serverRandom, + engine.session()); + setupSecurityParameters(keys, true, engine, compression); + state = READ_FINISHED; + } + else if (kex == RSA || kex == DH_DSS || kex == DH_RSA + || kex == DHE_DSS || kex == DHE_RSA || kex == RSA_PSK) + state = READ_CERTIFICATE; + else if (kex == DH_anon || kex == PSK || kex == DHE_PSK) + state = READ_SERVER_KEY_EXCHANGE; + else + state = READ_CERTIFICATE_REQUEST; + } + break; + + // Server Certificate. + case READ_CERTIFICATE: + { + if (handshake.type() != Handshake.Type.CERTIFICATE) + { + // We need a certificate for non-anonymous suites. + if (engine.session().suite.signatureAlgorithm() != SignatureAlgorithm.ANONYMOUS) + throw new AlertException(new Alert(Level.FATAL, + Description.UNEXPECTED_MESSAGE)); + state = READ_SERVER_KEY_EXCHANGE; + } + Certificate cert = (Certificate) handshake.body(); + X509Certificate[] chain = null; + try + { + chain = cert.certificates().toArray(new X509Certificate[0]); + } + catch (CertificateException ce) + { + throw new AlertException(new Alert(Level.FATAL, + Description.BAD_CERTIFICATE), + ce); + } + catch (NoSuchAlgorithmException nsae) + { + throw new AlertException(new Alert(Level.FATAL, + Description.UNSUPPORTED_CERTIFICATE), + nsae); + } + engine.session().setPeerCertificates(chain); + certVerifier = new CertVerifier(true, chain); + tasks.add(certVerifier); + + // If we are doing an RSA key exchange, generate our parameters. + KeyExchangeAlgorithm kea = engine.session().suite.keyExchangeAlgorithm(); + if (kea == RSA || kea == RSA_PSK) + { + keyExchange = new RSAGen(kea == RSA); + tasks.add(keyExchange); + if (kea == RSA) + state = READ_CERTIFICATE_REQUEST; + else + state = READ_SERVER_KEY_EXCHANGE; + } + else + state = READ_SERVER_KEY_EXCHANGE; + } + break; + + // Server Key Exchange. + case READ_SERVER_KEY_EXCHANGE: + { + CipherSuite s = engine.session().suite; + KeyExchangeAlgorithm kexalg = s.keyExchangeAlgorithm(); + // XXX also SRP. + if (kexalg != DHE_DSS && kexalg != DHE_RSA && kexalg != DH_anon + && kexalg != DHE_PSK && kexalg != PSK && kexalg != RSA_PSK) + throw new AlertException(new Alert(Level.FATAL, + Description.UNEXPECTED_MESSAGE)); + + if (handshake.type() != Handshake.Type.SERVER_KEY_EXCHANGE) + { + if (kexalg != RSA_PSK && kexalg != PSK) + throw new AlertException(new Alert(Level.FATAL, + Description.UNEXPECTED_MESSAGE)); + state = READ_CERTIFICATE_REQUEST; + return HandshakeStatus.NEED_UNWRAP; + } + + ServerKeyExchange skex = (ServerKeyExchange) handshake.body(); + ByteBuffer paramsBuffer = null; + if (kexalg == DHE_DSS || kexalg == DHE_RSA || kexalg == DH_anon) + { + ServerDHParams dhParams = (ServerDHParams) skex.params(); + ByteBuffer b = dhParams.buffer(); + paramsBuffer = ByteBuffer.allocate(b.remaining()); + paramsBuffer.put(b); + } + + if (s.signatureAlgorithm() != SignatureAlgorithm.ANONYMOUS) + { + byte[] signature = skex.signature().signature(); + paramsVerifier = new ParamsVerifier(paramsBuffer, signature); + tasks.add(paramsVerifier); + } + + if (kexalg == DHE_DSS || kexalg == DHE_RSA || kexalg == DH_anon) + { + ServerDHParams dhParams = (ServerDHParams) skex.params(); + DHPublicKey serverKey = new GnuDHPublicKey(null, + dhParams.p(), + dhParams.g(), + dhParams.y()); + DHParameterSpec params = new DHParameterSpec(dhParams.p(), + dhParams.g()); + keyExchange = new ClientDHGen(serverKey, params, true); + tasks.add(keyExchange); + } + if (kexalg == DHE_PSK) + { + ServerDHE_PSKParameters pskParams = (ServerDHE_PSKParameters) + skex.params(); + ServerDHParams dhParams = pskParams.params(); + DHPublicKey serverKey = new GnuDHPublicKey(null, + dhParams.p(), + dhParams.g(), + dhParams.y()); + DHParameterSpec params = new DHParameterSpec(dhParams.p(), + dhParams.g()); + keyExchange = new ClientDHGen(serverKey, params, false); + tasks.add(keyExchange); + } + state = READ_CERTIFICATE_REQUEST; + } + break; + + // Certificate Request. + case READ_CERTIFICATE_REQUEST: + { + if (handshake.type() != Handshake.Type.CERTIFICATE_REQUEST) + { + state = READ_SERVER_HELLO_DONE; + return HandshakeStatus.NEED_UNWRAP; + } + + CertificateRequest req = (CertificateRequest) handshake.body(); + ClientCertificateTypeList types = req.types(); + LinkedList typeList = new LinkedList(); + for (ClientCertificateType t : types) + typeList.add(t.name()); + + X500PrincipalList issuers = req.authorities(); + LinkedList issuerList = new LinkedList(); + for (X500Principal p : issuers) + issuerList.add(p); + + certLoader = new CertLoader(typeList, issuerList); + tasks.add(certLoader); + } + break; + + // Server Hello Done. + case READ_SERVER_HELLO_DONE: + { + if (handshake.type() != Handshake.Type.SERVER_HELLO_DONE) + throw new AlertException(new Alert(Level.FATAL, + Description.UNEXPECTED_MESSAGE)); + state = WRITE_CERTIFICATE; + } + break; + + // Finished. + case READ_FINISHED: + { + if (handshake.type() != Handshake.Type.FINISHED) + throw new AlertException(new Alert(Level.FATAL, + Description.UNEXPECTED_MESSAGE)); + + Finished serverFinished = (Finished) handshake.body(); + MessageDigest md5copy = null; + MessageDigest shacopy = null; + try + { + md5copy = (MessageDigest) md5.clone(); + shacopy = (MessageDigest) sha.clone(); + } + catch (CloneNotSupportedException cnse) + { + // We're improperly configured to use a non-cloneable + // md5/sha-1, OR there's a runtime bug. + throw new SSLException(cnse); + } + Finished clientFinished = + new Finished(generateFinished(md5copy, shacopy, + false, engine.session()), + engine.session().version); + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "clientFinished: {0}", + clientFinished); + + if (engine.session().version == ProtocolVersion.SSL_3) + { + if (!Arrays.equals(clientFinished.md5Hash(), + serverFinished.md5Hash()) + || !Arrays.equals(clientFinished.shaHash(), + serverFinished.shaHash())) + { + engine.session().invalidate(); + throw new SSLException("session verify failed"); + } + } + else + { + if (!Arrays.equals(clientFinished.verifyData(), + serverFinished.verifyData())) + { + engine.session().invalidate(); + throw new SSLException("session verify failed"); + } + } + + if (continuedSession) + { + engine.changeCipherSpec(); + state = WRITE_FINISHED; + } + else + state = DONE; + } + break; + + default: + throw new IllegalStateException("invalid state: " + state); + } + + handshakeOffset += handshake.length() + 4; + + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + if (state.isWriteState() + || (outBuffer != null && outBuffer.hasRemaining())) + return HandshakeStatus.NEED_WRAP; + if (state.isReadState()) + return HandshakeStatus.NEED_UNWRAP; + + return HandshakeStatus.FINISHED; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.AbstractHandshake#implHandleOutput(java.nio.ByteBuffer) + */ + @Override protected HandshakeStatus implHandleOutput(ByteBuffer fragment) + throws SSLException + { + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "output to {0}; state:{1}; outBuffer:{2}", + fragment, state, outBuffer); + + // Drain the output buffer, if it needs it. + if (outBuffer != null && outBuffer.hasRemaining()) + { + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + } + + if (!fragment.hasRemaining()) + { + if (state.isWriteState() || outBuffer.hasRemaining()) + return HandshakeStatus.NEED_WRAP; + else + return HandshakeStatus.NEED_UNWRAP; + } + +outer_loop: + while (fragment.remaining() >= 4 && state.isWriteState()) + { + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "loop state={0}", state); + + switch (state) + { + case WRITE_CLIENT_HELLO: + { + ClientHelloBuilder hello = new ClientHelloBuilder(); + AbstractSessionContext ctx = (AbstractSessionContext) + engine.contextImpl.engineGetClientSessionContext(); + continued = (SessionImpl) ctx.getSession(engine.getPeerHost(), + engine.getPeerPort()); + engine.session().setId(new Session.ID(new byte[0])); + Session.ID sid = engine.session().id(); + // If we have a session that we may want to continue, send + // that ID. + if (continued != null) + sid = continued.id(); + + hello.setSessionId(sid.id()); + sentVersion = chooseVersion(); + hello.setVersion(sentVersion); + hello.setCipherSuites(getSuites()); + hello.setCompressionMethods(getCompressionMethods()); + Random r = hello.random(); + r.setGmtUnixTime(Util.unixTime()); + byte[] nonce = new byte[28]; + engine.session().random().nextBytes(nonce); + r.setRandomBytes(nonce); + clientRandom = r.copy(); + if (enableExtensions()) + { + List extensions = new LinkedList(); + MaxFragmentLength fraglen = maxFragmentLength(); + if (fraglen != null) + { + extensions.add(new Extension(Extension.Type.MAX_FRAGMENT_LENGTH, + fraglen)); + maxFragmentLengthSent = fraglen; + } + + String host = engine.getPeerHost(); + if (host != null) + { + ServerName name + = new ServerName(NameType.HOST_NAME, host); + ServerNameList names + = new ServerNameList(Collections.singletonList(name)); + extensions.add(new Extension(Extension.Type.SERVER_NAME, + names)); + } + + if (truncatedHMac()) + { + extensions.add(new Extension(Extension.Type.TRUNCATED_HMAC, + new TruncatedHMAC())); + truncatedHMacSent = true; + } + + ExtensionList elist = new ExtensionList(extensions); + hello.setExtensions(elist.buffer()); + } + else + hello.setDisableExtensions(true); + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "{0}", hello); + + fragment.putInt((Handshake.Type.CLIENT_HELLO.getValue() << 24) + | (hello.length() & 0xFFFFFF)); + outBuffer = hello.buffer(); + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate() + .limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + state = READ_SERVER_HELLO; + } + break; + + case WRITE_CERTIFICATE: + { + java.security.cert.Certificate[] chain + = engine.session().getLocalCertificates(); + if (chain != null) + { + CertificateBuilder cert + = new CertificateBuilder(CertificateType.X509); + try + { + cert.setCertificates(Arrays.asList(chain)); + } + catch (CertificateException ce) + { + throw new AlertException(new Alert(Level.FATAL, + Description.INTERNAL_ERROR), + ce); + } + + outBuffer = cert.buffer(); + + fragment.putInt((Handshake.Type.CERTIFICATE.getValue() << 24) + | (cert.length() & 0xFFFFFF)); + + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate() + .limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + } + state = WRITE_CLIENT_KEY_EXCHANGE; + } + break; + + case WRITE_CLIENT_KEY_EXCHANGE: + { + KeyExchangeAlgorithm kea = engine.session().suite.keyExchangeAlgorithm(); + ClientKeyExchangeBuilder ckex + = new ClientKeyExchangeBuilder(engine.session().suite, + engine.session().version); + if (kea == DHE_DSS || kea == DHE_RSA || kea == DH_anon + || kea == DH_DSS || kea == DH_RSA) + { + assert(dhPair != null); + DHPublicKey pubkey = (DHPublicKey) dhPair.getPublic(); + ClientDiffieHellmanPublic pub + = new ClientDiffieHellmanPublic(pubkey.getY()); + ckex.setExchangeKeys(pub.buffer()); + } + if (kea == RSA || kea == RSA_PSK) + { + assert(keyExchange instanceof RSAGen); + assert(keyExchange.hasRun()); + if (keyExchange.thrown() != null) + throw new AlertException(new Alert(Level.FATAL, + Description.HANDSHAKE_FAILURE), + keyExchange.thrown()); + EncryptedPreMasterSecret epms + = new EncryptedPreMasterSecret(((RSAGen) keyExchange).encryptedSecret(), + engine.session().version); + if (kea == RSA) + ckex.setExchangeKeys(epms.buffer()); + else + { + String identity = getPSKIdentity(); + if (identity == null) + throw new SSLException("no pre-shared-key identity;" + + " set the security property" + + " \"jessie.client.psk.identity\""); + ClientRSA_PSKParameters params = + new ClientRSA_PSKParameters(identity, epms.buffer()); + ckex.setExchangeKeys(params.buffer()); + generatePSKSecret(identity, preMasterSecret, true); + } + } + if (kea == DHE_PSK) + { + assert(keyExchange instanceof ClientDHGen); + assert(dhPair != null); + String identity = getPSKIdentity(); + if (identity == null) + throw new SSLException("no pre-shared key identity; set" + + " the security property" + + " \"jessie.client.psk.identity\""); + DHPublicKey pubkey = (DHPublicKey) dhPair.getPublic(); + ClientDHE_PSKParameters params = + new ClientDHE_PSKParameters(identity, + new ClientDiffieHellmanPublic(pubkey.getY())); + ckex.setExchangeKeys(params.buffer()); + generatePSKSecret(identity, preMasterSecret, true); + } + if (kea == PSK) + { + String identity = getPSKIdentity(); + if (identity == null) + throw new SSLException("no pre-shared key identity; set" + + " the security property" + + " \"jessie.client.psk.identity\""); + generatePSKSecret(identity, null, true); + ClientPSKParameters params = new ClientPSKParameters(identity); + ckex.setExchangeKeys(params.buffer()); + } + if (kea == NONE) + { + Inflater inflater = null; + Deflater deflater = null; + if (compression == CompressionMethod.ZLIB) + { + inflater = new Inflater(); + deflater = new Deflater(); + } + inParams = new InputSecurityParameters(null, null, inflater, + engine.session(), + engine.session().suite); + outParams = new OutputSecurityParameters(null, null, deflater, + engine.session(), + engine.session().suite); + engine.session().privateData.masterSecret = new byte[0]; + } + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "{0}", ckex); + + outBuffer = ckex.buffer(); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "client kex buffer {0}", outBuffer); + fragment.putInt((Handshake.Type.CLIENT_KEY_EXCHANGE.getValue() << 24) + | (ckex.length() & 0xFFFFFF)); + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + if (privateKey != null) + { + genCertVerify = new GenCertVerify(md5, sha); + tasks.add(genCertVerify); + state = WRITE_CERTIFICATE_VERIFY; + } + else + { + engine.changeCipherSpec(); + state = WRITE_FINISHED; + } + } + // Both states terminate in a NEED_TASK, or a need to change cipher + // specs; so we can't write any more messages here. + break outer_loop; + + case WRITE_CERTIFICATE_VERIFY: + { + assert(genCertVerify != null); + assert(genCertVerify.hasRun()); + CertificateVerify verify = new CertificateVerify(genCertVerify.signed(), + engine.session().suite.signatureAlgorithm()); + + outBuffer = verify.buffer(); + fragment.putInt((Handshake.Type.CERTIFICATE_VERIFY.getValue() << 24) + | (verify.length() & 0xFFFFFF)); + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + // XXX This is a potential problem: we may not have drained + // outBuffer, but set the changeCipherSpec toggle. + engine.changeCipherSpec(); + state = WRITE_FINISHED; + } + break outer_loop; + + case WRITE_FINISHED: + { + MessageDigest md5copy = null; + MessageDigest shacopy = null; + try + { + md5copy = (MessageDigest) md5.clone(); + shacopy = (MessageDigest) sha.clone(); + } + catch (CloneNotSupportedException cnse) + { + // We're improperly configured to use a non-cloneable + // md5/sha-1, OR there's a runtime bug. + throw new SSLException(cnse); + } + outBuffer + = generateFinished(md5copy, shacopy, true, + engine.session()); + + fragment.putInt((Handshake.Type.FINISHED.getValue() << 24) + | outBuffer.remaining() & 0xFFFFFF); + + int l = Math.min(outBuffer.remaining(), fragment.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + if (continuedSession) + state = DONE; + else + state = READ_FINISHED; + } + break; + + default: + throw new IllegalStateException("invalid state: " + state); + } + } + + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + if (state.isWriteState() || + (outBuffer != null && outBuffer.hasRemaining())) + return HandshakeStatus.NEED_WRAP; + if (state.isReadState()) + return HandshakeStatus.NEED_UNWRAP; + + return HandshakeStatus.FINISHED; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.AbstractHandshake#status() + */ + @Override HandshakeStatus status() + { + if (state.isReadState()) + return HandshakeStatus.NEED_UNWRAP; + if (state.isWriteState()) + return HandshakeStatus.NEED_WRAP; + return HandshakeStatus.FINISHED; + } + + @Override void checkKeyExchange() throws SSLException + { + // XXX implement. + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.AbstractHandshake#handleV2Hello(java.nio.ByteBuffer) + */ + @Override void handleV2Hello(ByteBuffer hello) throws SSLException + { + throw new SSLException("this should be impossible"); + } + + private ProtocolVersion chooseVersion() throws SSLException + { + // Select the highest enabled version, for our initial key exchange. + ProtocolVersion version = null; + for (String ver : engine.getEnabledProtocols()) + { + try + { + ProtocolVersion v = ProtocolVersion.forName(ver); + if (version == null || version.compareTo(v) < 0) + version = v; + } + catch (Exception x) + { + continue; + } + } + + if (version == null) + throw new SSLException("no suitable enabled versions"); + + return version; + } + + private List getSuites() throws SSLException + { + List suites = new LinkedList(); + for (String s : engine.getEnabledCipherSuites()) + { + CipherSuite suite = CipherSuite.forName(s); + if (suite != null) + suites.add(suite); + } + if (suites.isEmpty()) + throw new SSLException("no cipher suites enabled"); + return suites; + } + + private List getCompressionMethods() + { + List methods = new LinkedList(); + GetSecurityPropertyAction gspa = new GetSecurityPropertyAction("jessie.enable.compression"); + if (Boolean.valueOf(AccessController.doPrivileged(gspa))) + methods.add(CompressionMethod.ZLIB); + methods.add(CompressionMethod.NULL); + return methods; + } + + private boolean enableExtensions() + { + GetSecurityPropertyAction action + = new GetSecurityPropertyAction("jessie.client.enable.extensions"); + return Boolean.valueOf(AccessController.doPrivileged(action)); + } + + private MaxFragmentLength maxFragmentLength() + { + GetSecurityPropertyAction action + = new GetSecurityPropertyAction("jessie.client.maxFragmentLength"); + String s = AccessController.doPrivileged(action); + if (s != null) + { + try + { + int len = Integer.parseInt(s); + switch (len) + { + case 9: + case (1 << 9): return MaxFragmentLength.LEN_2_9; + case 10: + case (1 << 10): return MaxFragmentLength.LEN_2_10; + case 11: + case (1 << 11): return MaxFragmentLength.LEN_2_11; + case 12: + case (1 << 12): return MaxFragmentLength.LEN_2_12; + } + } + catch (NumberFormatException nfe) + { + } + } + return null; + } + + private boolean truncatedHMac() + { + GetSecurityPropertyAction action + = new GetSecurityPropertyAction("jessie.client.truncatedHMac"); + return Boolean.valueOf(AccessController.doPrivileged(action)); + } + + private String getPSKIdentity() + { + GetSecurityPropertyAction action + = new GetSecurityPropertyAction("jessie.client.psk.identity"); + return AccessController.doPrivileged(action); + } + + // Delegated tasks. + + class ParamsVerifier extends DelegatedTask + { + private final ByteBuffer paramsBuffer; + private final byte[] signature; + private boolean verified; + + ParamsVerifier(ByteBuffer paramsBuffer, byte[] signature) + { + this.paramsBuffer = paramsBuffer; + this.signature = signature; + } + + public void implRun() + throws InvalidKeyException, NoSuchAlgorithmException, + SSLPeerUnverifiedException, SignatureException + { + java.security.Signature s + = java.security.Signature.getInstance(engine.session().suite + .signatureAlgorithm().algorithm()); + s.initVerify(engine.session().getPeerCertificates()[0]); + s.update(paramsBuffer); + verified = s.verify(signature); + synchronized (this) + { + notifyAll(); + } + } + + boolean verified() + { + return verified; + } + } + + class ClientDHGen extends DelegatedTask + { + private final DHPublicKey serverKey; + private final DHParameterSpec params; + private final boolean full; + + ClientDHGen(DHPublicKey serverKey, DHParameterSpec params, boolean full) + { + this.serverKey = serverKey; + this.params = params; + this.full = full; + } + + public void implRun() + throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, + SSLException + { + if (Debug.DEBUG) + logger.log(Component.SSL_DELEGATED_TASK, "running client DH phase"); + if (paramsVerifier != null) + { + synchronized (paramsVerifier) + { + try + { + while (!paramsVerifier.hasRun()) + paramsVerifier.wait(500); + } + catch (InterruptedException ie) + { + // Ignore. + } + } + } + KeyPairGenerator gen = KeyPairGenerator.getInstance("DH"); + gen.initialize(params, engine.session().random()); + dhPair = gen.generateKeyPair(); + if (Debug.DEBUG_KEY_EXCHANGE) + logger.logv(Component.SSL_KEY_EXCHANGE, + "client keys public:{0} private:{1}", dhPair.getPublic(), + dhPair.getPrivate()); + + initDiffieHellman((DHPrivateKey) dhPair.getPrivate(), engine.session().random()); + + // We have enough info to do the full key exchange; so let's do it. + DHPhase phase = new DHPhase(serverKey, full); + phase.run(); + if (phase.thrown() != null) + throw new SSLException(phase.thrown()); + } + + DHPublicKey serverKey() + { + return serverKey; + } + } + + class CertLoader extends DelegatedTask + { + private final List keyTypes; + private final List issuers; + + CertLoader(List keyTypes, List issuers) + { + this.keyTypes = keyTypes; + this.issuers = issuers; + } + + public void implRun() + { + X509ExtendedKeyManager km = engine.contextImpl.keyManager; + if (km == null) + return; + keyAlias = km.chooseEngineClientAlias(keyTypes.toArray(new String[keyTypes.size()]), + issuers.toArray(new X500Principal[issuers.size()]), + engine); + engine.session().setLocalCertificates(km.getCertificateChain(keyAlias)); + privateKey = km.getPrivateKey(keyAlias); + } + } + + class RSAGen extends DelegatedTask + { + private byte[] encryptedPreMasterSecret; + private final boolean full; + + RSAGen() + { + this(true); + } + + RSAGen(boolean full) + { + this.full = full; + } + + public void implRun() + throws BadPaddingException, IllegalBlockSizeException, InvalidKeyException, + NoSuchAlgorithmException, NoSuchPaddingException, + SSLException + { + if (certVerifier != null) + { + synchronized (certVerifier) + { + try + { + while (!certVerifier.hasRun()) + certVerifier.wait(500); + } + catch (InterruptedException ie) + { + // Ignore. + } + } + } + preMasterSecret = new byte[48]; + engine.session().random().nextBytes(preMasterSecret); + preMasterSecret[0] = (byte) sentVersion.major(); + preMasterSecret[1] = (byte) sentVersion.minor(); + Cipher rsa = Cipher.getInstance("RSA"); + java.security.cert.Certificate cert + = engine.session().getPeerCertificates()[0]; + rsa.init(Cipher.ENCRYPT_MODE, cert); + encryptedPreMasterSecret = rsa.doFinal(preMasterSecret); + + // Generate our session keys, because we can. + if (full) + { + generateMasterSecret(clientRandom, serverRandom, engine.session()); + byte[][] keys = generateKeys(clientRandom, serverRandom, engine.session()); + setupSecurityParameters(keys, true, engine, compression); + } + } + + byte[] encryptedSecret() + { + return encryptedPreMasterSecret; + } + } + + class GenCertVerify extends DelegatedTask + { + private final MessageDigest md5, sha; + private byte[] signed; + + GenCertVerify(MessageDigest md5, MessageDigest sha) + { + try + { + this.md5 = (MessageDigest) md5.clone(); + this.sha = (MessageDigest) sha.clone(); + } + catch (CloneNotSupportedException cnse) + { + // Our message digests *should* be cloneable. + throw new Error(cnse); + } + } + + public void implRun() + throws InvalidKeyException, NoSuchAlgorithmException, SignatureException + { + byte[] toSign; + if (engine.session().version == ProtocolVersion.SSL_3) + { + toSign = genV3CertificateVerify(md5, sha, engine.session()); + } + else + { + if (engine.session().suite.signatureAlgorithm() == SignatureAlgorithm.RSA) + toSign = Util.concat(md5.digest(), sha.digest()); + else + toSign = sha.digest(); + } + + java.security.Signature sig = + java.security.Signature.getInstance(engine.session().suite.signatureAlgorithm().name()); + sig.initSign(privateKey); + sig.update(toSign); + signed = sig.sign(); + } + + byte[] signed() + { + return signed; + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientHello.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHello.java index 259051df129..54d7f8b4d74 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/ClientHello.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHello.java @@ -38,216 +38,203 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.StringReader; import java.io.StringWriter; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; -import javax.net.ssl.SSLProtocolException; - -final class ClientHello implements Handshake.Body +/** + * A ClientHello handshake message. + * + *
    +struct
    +{
    +  ProtocolVersion   client_version;                // 2
    +  Random            random;                        // 32
    +  SessionID         session_id;                    // 1 + 0..32
    +  CipherSuite       cipher_suites<2..2^16-1>
    +  CompressionMethod compression_methods<1..2^8-1>
    +  Extension         client_hello_extension_list<0..2^16-1>
    +} ClientHello;
    +
    + */ +public class ClientHello implements Handshake.Body { // Fields. // ------------------------------------------------------------------------- - private ProtocolVersion version; - private Random random; - private byte[] sessionId; - private List suites; - private List comp; - private List extensions; + // To help track offsets into the message: + // The location of the 'random' field. + protected static final int RANDOM_OFFSET = 2; + // The location of the sesion_id length. + protected static final int SESSID_OFFSET = 32 + RANDOM_OFFSET; + // The location of the session_id bytes (if any). + protected static final int SESSID_OFFSET2 = SESSID_OFFSET + 1; + + protected ByteBuffer buffer; + protected boolean disableExtensions; // Constructor. // ------------------------------------------------------------------------- - ClientHello(ProtocolVersion version, Random random, - byte[] sessionId, List suites, List comp) + public ClientHello (final ByteBuffer buffer) { - this(version, random, sessionId, suites, comp, null); + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + disableExtensions = false; } - ClientHello(ProtocolVersion version, Random random, - byte[] sessionId, List suites, List comp, List extensions) + // Instance methods. + // ------------------------------------------------------------------------- + + public int length() { - this.version = version; - this.random = random; - this.sessionId = sessionId; - this.suites = suites; - this.comp = comp; - this.extensions = extensions; + int len = SESSID_OFFSET2 + buffer.get(SESSID_OFFSET); + len += (buffer.getShort(len) & 0xFFFF) + 2; + len += (buffer.get(len) & 0xFF) + 1; + if (!disableExtensions && len + 1 < buffer.capacity()) + len += (buffer.getShort(len) & 0xFFFF) + 2; + return len; } - // Class methods. - // ------------------------------------------------------------------------- + /** + * Gets the protocol version field. + * + * @return The protocol version field. + */ + public ProtocolVersion version() + { + return ProtocolVersion.getInstance (buffer.getShort (0)); + } - static ClientHello read(InputStream in) throws IOException + /** + * Gets the SSL nonce. + * + * @return The nonce. + */ + public Random random() { - ProtocolVersion vers = ProtocolVersion.read(in); - Random rand = Random.read(in); - byte[] id = new byte[in.read() & 0xFF]; - in.read(id); - int len = (in.read() & 0xFF) << 8 | (in.read() & 0xFF); - ArrayList suites = new ArrayList(len / 2); - for (int i = 0; i < len; i += 2) - { - suites.add(CipherSuite.read(in).resolve(vers)); - } - len = in.read() & 0xFF; - ArrayList comp = new ArrayList(len); - for (int i = 0; i < len; i++) - { - comp.add(CompressionMethod.read(in)); - } - - List ext = null; - // Since parsing MAY need to continue into the extensions fields, or it - // may end here, the specified input stream MUST be a ByteArrayInputStream - // over all the data this hello contains. Otherwise this will mess up - // the data stream. - if (in.available() > 0) // then we have extensions. - { - ext = new LinkedList(); - len = (in.read() & 0xFF) << 8 | (in.read() & 0xFF); - int count = 0; - while (count < len) - { - Extension e = Extension.read(in); - ext.add(e); - count += e.getValue().length + 4; - } - } - return new ClientHello(vers, rand, id, suites, comp, ext); + ByteBuffer randomBuf = + ((ByteBuffer) buffer.duplicate ().position (RANDOM_OFFSET) + .limit (SESSID_OFFSET)).slice (); + return new Random (randomBuf); } - // Instance methods. - // ------------------------------------------------------------------------- + public byte[] sessionId() + { + int idlen = buffer.get (SESSID_OFFSET) & 0xFF; + byte[] sessionId = new byte[idlen]; + buffer.position (SESSID_OFFSET2); + buffer.get (sessionId); + return sessionId; + } - public void write(OutputStream out) throws IOException + public CipherSuiteList cipherSuites() { - version.write(out); - random.write(out); - out.write(sessionId.length); - out.write(sessionId); - out.write((suites.size() << 1) >>> 8 & 0xFF); - out.write((suites.size() << 1) & 0xFF); - for (Iterator i = suites.iterator(); i.hasNext(); ) - { - ((CipherSuite) i.next()).write(out); - } - out.write(comp.size()); - for (Iterator i = comp.iterator(); i.hasNext(); ) - { - out.write(((CompressionMethod) i.next()).getValue()); - } - if (extensions != null) - { - ByteArrayOutputStream out2 = new ByteArrayOutputStream(); - for (Iterator i = extensions.iterator(); i.hasNext(); ) - { - ((Extension) i.next()).write(out2); - } - out.write(out2.size() >>> 8 & 0xFF); - out.write(out2.size() & 0xFF); - out2.writeTo(out); - } + int offset = getCipherSuitesOffset (); + + // We give the CipherSuiteList all the remaining bytes to play with, + // since this might be an in-construction packet that will fill in + // the length field itself. + ByteBuffer listBuf = ((ByteBuffer) buffer.duplicate ().position (offset) + .limit (buffer.capacity ())).slice (); + return new CipherSuiteList (listBuf, version ()); } - ProtocolVersion getVersion() + public CompressionMethodList compressionMethods() { - return version; + int offset = getCompressionMethodsOffset (); + ByteBuffer listBuf = ((ByteBuffer) buffer.duplicate ().position (offset) + .limit (buffer.capacity ())).slice (); + return new CompressionMethodList (listBuf); + } + + public boolean hasExtensions() + { + int offset = getExtensionsOffset(); + return (offset + 1 < buffer.limit()); } - Random getRandom() + public ExtensionList extensions() + { + int offset = getExtensionsOffset (); + if (offset + 1 >= buffer.limit()) + return null; + int len = buffer.getShort(offset) & 0xFFFF; + if (len == 0) + len = buffer.limit() - offset - 2; + ByteBuffer ebuf = ((ByteBuffer) buffer.duplicate().position(offset) + .limit(offset + len + 2)).slice (); + return new ExtensionList(ebuf); + } + + public int extensionsLength() { - return random; + if (hasExtensions()) + return 0; + return buffer.getShort(getExtensionsOffset()) & 0xFFFF; } - byte[] getSessionId() + protected int getCipherSuitesOffset () { - return sessionId; + return (SESSID_OFFSET2 + (buffer.get (SESSID_OFFSET) & 0xFF)); } - List getCipherSuites() + protected int getCompressionMethodsOffset () { - return suites; + int csOffset = getCipherSuitesOffset (); + int csLen = buffer.getShort (csOffset) & 0xFFFF; + return csOffset + csLen + 2; } - List getCompressionMethods() + protected int getExtensionsOffset () { - return comp; + int cmOffset = getCompressionMethodsOffset (); + return (buffer.get (cmOffset) & 0xFF) + cmOffset + 1; } - List getExtensions() + public String toString () { - return extensions; + return toString (null); } - public String toString() + public String toString (final String prefix) { - StringWriter str = new StringWriter(); - PrintWriter out = new PrintWriter(str); - out.println("struct {"); - out.println(" version = " + version + ";"); - BufferedReader r = new BufferedReader(new StringReader(random.toString())); - String s; - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - out.println(" sessionId = " + Util.toHexString(sessionId, ':') + ";"); - out.println(" cipherSuites = {"); - for (Iterator i = suites.iterator(); i.hasNext(); ) - { - out.print(" "); - out.println(i.next()); - } - out.println(" };"); - out.print(" compressionMethods = { "); - for (Iterator i = comp.iterator(); i.hasNext(); ) - { - out.print(i.next()); - if (i.hasNext()) - out.print(", "); - } - out.println(" };"); - if (extensions != null) - { - out.println(" extensions = {"); - for (Iterator i = extensions.iterator(); i.hasNext(); ) - { - r = new BufferedReader(new StringReader(i.next().toString())); - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - } - out.println(" };"); - } - out.println("} ClientHello;"); + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + String subprefix = " "; + if (prefix != null) + subprefix += prefix; + if (prefix != null) + out.print (prefix); + out.println ("struct {"); + if (prefix != null) + out.print (prefix); + out.print (" version: "); + out.print (version ()); + out.println (";"); + out.print (subprefix); + out.println ("random:"); + out.print (random ().toString (subprefix)); + if (prefix != null) + out.print (prefix); + out.print (" sessionId: "); + out.print (Util.toHexString (sessionId (), ':')); + out.println (";"); + out.print (subprefix); + out.println ("cipher_suites:"); + out.println (cipherSuites ().toString (subprefix)); + out.print (subprefix); + out.println ("compression_methods:"); + out.println (compressionMethods ().toString (subprefix)); + out.print (subprefix); + out.print ("extensions: "); + ExtensionList el = extensions(); + out.println (el != null ? el.toString(subprefix+" ") : "(nil)"); + if (prefix != null) + out.print (prefix); + out.print ("} ClientHello;"); return str.toString(); } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloBuilder.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloBuilder.java new file mode 100644 index 00000000000..81e3dd72f71 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloBuilder.java @@ -0,0 +1,137 @@ +/* ClientHelloBuilder.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; +import java.util.List; + +/** + * Builder for {@link ClientHello} objects. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ClientHelloBuilder extends ClientHello implements Builder +{ + public ClientHelloBuilder() + { + super(ByteBuffer.allocate(256)); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().position(0).limit(length()); + } + + public void setVersion(final ProtocolVersion version) + { + ensureCapacity(2); + buffer.putShort(0, (short) version.rawValue ()); + } + + public void setSessionId (final byte[] buffer) + { + setSessionId(buffer, 0, buffer.length); + } + + public void setSessionId (final byte[] buffer, final int offset, final int length) + { + ensureCapacity(SESSID_OFFSET2 + length); + int len = Math.min (32, length); + this.buffer.put (SESSID_OFFSET, (byte) len); + this.buffer.position (SESSID_OFFSET2); + this.buffer.put (buffer, offset, len); + } + + public void setCipherSuites(List suites) + { + int off = getCipherSuitesOffset(); + ensureCapacity(off + (2 * suites.size()) + 2); + buffer.putShort(off, (short) (suites.size() * 2)); + int i = 2; + for (CipherSuite suite : suites) + { + ((ByteBuffer) buffer.duplicate().position(off+i)).put(suite.id()); + i += 2; + } + } + + public void setCompressionMethods(List methods) + { + int off = getCompressionMethodsOffset(); + ensureCapacity(off + methods.size() + 1); + buffer.put(off, (byte) methods.size()); + for (CompressionMethod method : methods) + buffer.put(++off, (byte) method.getValue()); + } + + public void setExtensionsLength (final int length) + { + if (length < 0 || length > 16384) + throw new IllegalArgumentException("length must be nonnegative and not exceed 16384"); + int needed = getExtensionsOffset() + 2 + length; + if (buffer.capacity() < needed) + ensureCapacity(needed); + buffer.putShort(getExtensionsOffset(), (short) length); + } + + public void setExtensions(ByteBuffer extensions) + { + int elen = extensions.getShort(0) & 0xFFFF; + setExtensionsLength(elen); + ((ByteBuffer) buffer.duplicate().position(getExtensionsOffset())).put(extensions); + } + + public void setDisableExtensions(boolean disableExtensions) + { + this.disableExtensions = disableExtensions; + } + + public void ensureCapacity(final int length) + { + if (buffer.capacity() >= length) + return; + ByteBuffer newBuf = ByteBuffer.allocate(length); + newBuf.put((ByteBuffer) buffer.position(0)); + newBuf.position(0); + this.buffer = newBuf; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloV2.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloV2.java new file mode 100644 index 00000000000..a514d9ad37c --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientHelloV2.java @@ -0,0 +1,158 @@ +/* ClientHelloV2.java -- a hello message from SSLv2. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.ArrayList; +import java.util.List; + +/** + * A client hello message from SSLv2. In SSLv3 and later, clients can + * send an SSLv2 client hello message, but set the protocol version + * for a later version. + * + *

    The format of a version 2 client hello is: + * + *

    +    char MSG-CLIENT-HELLO          // equals 1
    +    char CLIENT-VERSION-MSB
    +    char CLIENT-VERSION-LSB
    +    char CIPHER-SPECS-LENGTH-MSB
    +    char CIPHER-SPECS-LENGTH-LSB
    +    char SESSION-ID-LENGTH-MSB
    +    char SESSION-ID-LENGTH-LSB
    +    char CHALLENGE-LENGTH-MSB
    +    char CHALLENGE-LENGTH-LSB
    +    char CIPHER-SPECS-DATA[(MSB<<8)|LSB]
    +    char SESSION-ID-DATA[(MSB<<8)|LSB]
    +    char CHALLENGE-DATA[(MSB<<8)|LSB]
    + */ +class ClientHelloV2 implements Constructed +{ + private final ByteBuffer buffer; + + ClientHelloV2 (final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public int length () + { + return 9 + cipherSpecsLength () + sessionIdLength () + challengeLength (); + } + + ProtocolVersion version () + { + return ProtocolVersion.getInstance (buffer.getShort (1)); + } + + int cipherSpecsLength () + { + return buffer.getShort (3) & 0xFFFF; + } + + int sessionIdLength () + { + return buffer.getShort (5) & 0xFFFF; + } + + int challengeLength () + { + return buffer.getShort (7) & 0xFFFF; + } + + public List cipherSpecs () + { + int n = cipherSpecsLength (); + List l = new ArrayList(n / 3); + ByteBuffer b = (ByteBuffer) buffer.duplicate ().position (9); + for (int i = 0; i < n; i += 3) + { + if (b.get () == 0) + l.add (CipherSuite.forValue(b.getShort()).resolve()); + else + b.getShort (); + } + return l; + } + + byte[] sessionId () + { + byte[] id = new byte[sessionIdLength ()]; + ((ByteBuffer) buffer.duplicate ().position (9 + cipherSpecsLength ())).get (id); + return id; + } + + byte[] challenge () + { + byte[] challenge = new byte[challengeLength ()]; + ((ByteBuffer) buffer.duplicate ().position (9 + cipherSpecsLength () + sessionIdLength ())).get (challenge); + return challenge; + } + + public String toString () + { + return toString (null); + } + + public String toString (String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + + if (prefix != null) out.print (prefix); + out.println ("CLIENT-HELLO-MSG"); + if (prefix != null) out.print (prefix); + out.print (" version: "); + out.println (version ()); + if (prefix != null) out.print (prefix); + out.println (" suites: "); + out.println (cipherSpecs ()); + if (prefix != null) out.print (prefix); + out.print (" sessionId: "); + out.println (Util.toHexString (sessionId (), ':')); + if (prefix != null) out.print (prefix); + out.print (" challenge: "); + out.println (Util.toHexString (challenge (), ':')); + return str.toString (); + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchange.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchange.java index 828aa8d5e93..2006e73850b 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchange.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchange.java @@ -38,143 +38,94 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.BufferedReader; -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.StringReader; import java.io.StringWriter; -import java.math.BigInteger; - -import java.security.PublicKey; -import java.security.interfaces.RSAKey; -import javax.crypto.interfaces.DHPublicKey; - -final class ClientKeyExchange implements Handshake.Body +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +/** + * The client key exchange message. + * + *
    +struct {
    +  select (KeyExchangeAlgorithm) {
    +    case rsa: EncryptedPreMasterSecret;
    +    case diffie_hellman: ClientDiffieHellmanPublic;
    +  } exchange_keys;
    +} ClientKeyExchange;
    + */ +public class ClientKeyExchange implements Handshake.Body { // Fields. // ------------------------------------------------------------------------- - private final Object exObject; + protected ByteBuffer buffer; + protected final CipherSuite suite; + protected final ProtocolVersion version; // Constructors. // ------------------------------------------------------------------------- - ClientKeyExchange(byte[] encryptedSecret) - { - exObject = encryptedSecret; - } - - ClientKeyExchange(BigInteger bigint) - { - exObject = bigint; - } - - // Class method. - // ------------------------------------------------------------------------- - - static ClientKeyExchange read(InputStream in, CipherSuite suite, - PublicKey key) - throws IOException + public ClientKeyExchange (final ByteBuffer buffer, final CipherSuite suite, + final ProtocolVersion version) { - DataInputStream din = new DataInputStream(in); - if (suite.getKeyExchange().equals("RSA")) - { - int len = 0; - if (suite.getVersion() == ProtocolVersion.SSL_3) - { - len = (((RSAKey) key).getModulus().bitLength()+7) / 8; - } - else - { - len = din.readUnsignedShort(); - } - byte[] buf = new byte[len]; - din.readFully(buf); - return new ClientKeyExchange(buf); - } - else if (suite.getKeyExchange().equals("SRP")) - { - byte[] buf = new byte[din.readUnsignedShort()]; - din.readFully(buf); - return new ClientKeyExchange(new BigInteger(1, buf)); - } - else if (key == null || !(key instanceof DHPublicKey)) // explicit. - { - byte[] buf = new byte[din.readUnsignedShort()]; - din.readFully(buf); - return new ClientKeyExchange(new BigInteger(1, buf)); - } - else - { - return new ClientKeyExchange(new byte[0]); - } + suite.getClass(); + version.getClass (); + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + this.suite = suite; + this.version = version; } // Instance methods. // ------------------------------------------------------------------------- - public void write(OutputStream out) throws IOException + public ExchangeKeys exchangeKeys () { - throw new UnsupportedOperationException("use write(java.io.OutputStream,ProtocolVersion) instead"); + KeyExchangeAlgorithm alg = suite.keyExchangeAlgorithm(); + if (alg == KeyExchangeAlgorithm.RSA) + return new EncryptedPreMasterSecret(buffer, version); + else if (alg == KeyExchangeAlgorithm.DH_anon + || alg == KeyExchangeAlgorithm.DHE_DSS + || alg == KeyExchangeAlgorithm.DHE_RSA) + return new ClientDiffieHellmanPublic(buffer.duplicate()); + else if (alg == KeyExchangeAlgorithm.DHE_PSK) + return new ClientDHE_PSKParameters(buffer.duplicate()); + else if (alg == KeyExchangeAlgorithm.PSK) + return new ClientPSKParameters(buffer.duplicate()); + else if (alg == KeyExchangeAlgorithm.RSA_PSK) + return new ClientRSA_PSKParameters(buffer.duplicate()); + else if (alg == KeyExchangeAlgorithm.NONE) + return new EmptyExchangeKeys(); + throw new IllegalArgumentException("unsupported key exchange: " + alg); } - public void write(OutputStream out, ProtocolVersion version) throws IOException + public int length() { - if (exObject instanceof byte[]) - { - byte[] b = (byte[]) exObject; - if (b.length > 0) - { - if (version != ProtocolVersion.SSL_3) - { - out.write(b.length >>> 8 & 0xFF); - out.write(b.length & 0xFF); - } - out.write(b); - } - } - else - { - byte[] bigint = ((BigInteger) exObject).toByteArray(); - if (bigint[0] == 0x00) - { - out.write(bigint.length - 1 >>> 8 & 0xFF); - out.write(bigint.length - 1 & 0xFF); - out.write(bigint, 1, bigint.length - 1); - } - else - { - out.write(bigint.length >>> 8 & 0xFF); - out.write(bigint.length & 0xFF); - out.write(bigint); - } - } + if (suite.keyExchangeAlgorithm() == KeyExchangeAlgorithm.NONE) + return 0; + return exchangeKeys().length(); } - Object getExchangeObject() + public String toString () { - return exObject; + return toString (null); } - public String toString() + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); + if (prefix != null) + out.print (prefix); out.println("struct {"); - if (exObject instanceof byte[] && ((byte[]) exObject).length > 0) - { - out.println(" encryptedPreMasterSecret ="); - out.print(Util.hexDump((byte[]) exObject, " ")); - } - else if (exObject instanceof BigInteger) - { - out.println(" clientPublic = " + ((BigInteger) exObject).toString(16) + ";"); - } + String subprefix = " "; + if (prefix != null) + subprefix = prefix + subprefix; + out.println (exchangeKeys ().toString (subprefix)); + if (prefix != null) + out.print (prefix); out.println("} ClientKeyExchange;"); return str.toString(); } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java new file mode 100644 index 00000000000..ebebdcc0e03 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java @@ -0,0 +1,75 @@ +/* ClientKeyExchangeBuilder.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; + +/** + * Builder for {@link ClientKeyExchange} objects. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ClientKeyExchangeBuilder extends ClientKeyExchange + implements Builder +{ + public ClientKeyExchangeBuilder(CipherSuite suite, ProtocolVersion version) + { + super(ByteBuffer.allocate(512), suite, version); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return ((ByteBuffer) buffer.duplicate().position(0).limit(length())).slice(); + } + + public void setExchangeKeys(ByteBuffer exchangeKeys) + { + // For SSLv3 and RSA key exchange, the message is sent without length. + // So we use the precise capacity of the buffer to signal the size of + // the message. + if (buffer.capacity() < exchangeKeys.remaining() + || (suite.keyExchangeAlgorithm() == KeyExchangeAlgorithm.RSA + && version == ProtocolVersion.SSL_3)) + buffer = ByteBuffer.allocate(exchangeKeys.remaining()); + ((ByteBuffer) buffer.duplicate().position(0)).put(exchangeKeys); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientPSKParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientPSKParameters.java new file mode 100644 index 00000000000..676a872f925 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientPSKParameters.java @@ -0,0 +1,125 @@ +/* ClientPSKParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.CharBuffer; +import java.nio.charset.Charset; + +/** + *
    +      struct {
    +          select (KeyExchangeAlgorithm) {
    +              /* other cases for rsa, diffie_hellman, etc. */
    +              case psk:   /* NEW */
    +                  opaque psk_identity<0..2^16-1>;
    +          } exchange_keys;
    +      } ClientKeyExchange;
    + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ClientPSKParameters extends ExchangeKeys implements Builder, Constructed +{ + public ClientPSKParameters(ByteBuffer buffer) + { + super(buffer); + } + + public ClientPSKParameters(String identity) + { + super(null); + Charset utf8 = Charset.forName("UTF-8"); + ByteBuffer idBuf = utf8.encode(CharBuffer.wrap(identity)); + buffer = ByteBuffer.allocate(idBuf.remaining() + 2); + buffer.putShort((short) idBuf.remaining()); + buffer.put(idBuf); + buffer.rewind(); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind().limit(length()); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#length() + */ + public int length() + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + public String identity() + { + Charset utf8 = Charset.forName("UTF-8"); + return utf8.decode((ByteBuffer) buffer.duplicate().position(2).limit(length())).toString(); + } + + public @Override String toString() + { + return toString(null); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String) + */ + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" identity = "); + out.print(identity()); + out.println(";"); + if (prefix != null) out.print(prefix); + out.print("} ClientPSKParameters;"); + return str.toString(); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java new file mode 100644 index 00000000000..f7483a94c30 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java @@ -0,0 +1,126 @@ +/* ClientRSA_PSKParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.charset.Charset; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class ClientRSA_PSKParameters extends ExchangeKeys implements Builder, Constructed +{ + public ClientRSA_PSKParameters(ByteBuffer buffer) + { + super(buffer); + } + + public ClientRSA_PSKParameters(String identity, ByteBuffer epms) + { + super(null); + Charset utf8 = Charset.forName("UTF-8"); + ByteBuffer idBuf = utf8.encode(identity); + buffer = ByteBuffer.allocate(2 + idBuf.remaining() + epms.remaining()); + buffer.putShort((short) idBuf.remaining()); + buffer.put(idBuf); + buffer.put(epms); + buffer.rewind(); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind().limit(length()); + } + + public String identity() + { + Charset utf8 = Charset.forName("UTF-8"); + return utf8.decode((ByteBuffer) buffer.duplicate().position(2).limit + (identityLength())).toString(); + } + + private int identityLength() + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#length() + */ + public int length() + { + return identityLength() + secret().length(); + } + + public EncryptedPreMasterSecret secret() + { + return new EncryptedPreMasterSecret + (((ByteBuffer) buffer.duplicate().position(identityLength()) + .limit(buffer.capacity())).slice(), ProtocolVersion.TLS_1); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String) + */ + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" identity = "); + out.print(identity()); + if (prefix != null) out.print(prefix); + out.println(" encrypted_pre_master_secret ="); + out.println(secret().toString(prefix != null ? prefix + " " : " ")); + if (prefix != null) out.print(prefix); + out.print("} ClientRSA_PSKParameters;"); + return str.toString(); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethod.java b/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethod.java index c2fdf05f9a3..6c57e840c65 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethod.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethod.java @@ -1,4 +1,4 @@ -/* CompressionMethod.java -- the compression method enum. +/* CompressionMethod.java -- The CompressionMethod enum. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -38,67 +38,32 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.EOFException; -import java.io.InputStream; -import java.io.IOException; - -final class CompressionMethod implements Enumerated +public enum CompressionMethod { - - // Constants and fields. - // ------------------------------------------------------------------------- - - static final CompressionMethod NULL = new CompressionMethod(0), - ZLIB = new CompressionMethod(1); + NULL (0), ZLIB(1); private final int value; - // Constructor. - // ------------------------------------------------------------------------- - private CompressionMethod(int value) { this.value = value; } - // Class method. - // ------------------------------------------------------------------------- - - static CompressionMethod read(InputStream in) throws IOException + public static CompressionMethod getInstance (final int value) { - int value = in.read(); - if (value == -1) - { - throw new EOFException("unexpected end of input stream"); - } switch (value & 0xFF) { case 0: return NULL; case 1: return ZLIB; - default: return new CompressionMethod(value); + + // Note: we can't throw an exception here, because we get these values + // over the wire, and need to just ignore ones we don't recognize. + default: return null; } } - // Instance methods. - // ------------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - public int getValue() { return value; } - - public String toString() - { - switch (value) - { - case 0: return "null"; - case 1: return "zlib"; - default: return "unknown(" + value + ")"; - } - } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethodList.java b/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethodList.java new file mode 100644 index 00000000000..47ba5484c3f --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/CompressionMethodList.java @@ -0,0 +1,281 @@ +/* CompressionMethodList.java -- A list of compression methods. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; + +import java.util.ConcurrentModificationException; +import java.util.ListIterator; +import java.util.NoSuchElementException; + +/** + * A basic list interface to a list of compression methods in an SSL + * packet. + */ +public final class CompressionMethodList implements Iterable +{ + private final ByteBuffer buffer; + private int modCount; + + public CompressionMethodList (final ByteBuffer buffer) + { + this.buffer = buffer; + modCount = 0; + } + + /** + * Return the number of elements in this list. + * + * @return The size of this list. + */ + public int size () + { + return (buffer.get (0) & 0xFF); + } + + /** + * Get the cipher suite at the specified index. + * + * @param index The index of the suite to get. + * @return The cipher suite at that index. + * @throws IndexOutOfBoundsException If the index is negative or is + * not less than {@link #size()}. + */ + public CompressionMethod get (final int index) + { + int size = size (); + if (index < 0 || index >= size) + throw new IndexOutOfBoundsException ("limit: " + size + + "; requested: " + index); + return CompressionMethod.getInstance (buffer.get (1 + index)); + } + + /** + * Set the CompressionMethod at the specified index. The list must + * have sufficient size to hold the element (that is, index + * <= size ()). + * + * @param index The index to put the suite. + * @param method The CompressionMethod object. + * @throws IndexOutOfBoundsException If index is not + * less than @{link #size()}, or if it is negative. + * @throws NullPointerException If suite is + * null. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writable. + */ + public void put (final int index, final CompressionMethod method) + { + int size = size (); + if (index < 0 || index >= size) + throw new IndexOutOfBoundsException ("limit: " + size + + "; requested: " + index); + buffer.position (1 + index); + buffer.put ((byte) method.getValue ()); + modCount++; + } + + /** + * Sets the size of this list. You must call this if you are adding + * elements to the list; calling {@link + * #put(int,gnu.jessie.provider.CipherSuite)} does not expand the + * list size (the same goes for removing elements, as there is no + * remove method). + * + * @param newSize The new size of this list. + * @throws IllegalArgumentException If the new size is negative or + * greater than 32767, or if there is insufficient space for that + * many elements in the underlying buffer. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writable. + */ + public void setSize (final int newSize) + { + if (newSize < 0 || newSize > 255) + throw new IllegalArgumentException ("size must be between 0 and 255"); + if (newSize + 1 > buffer.capacity ()) + throw new IllegalArgumentException ("limit: " + buffer.capacity () + + "; requested: " + newSize); + buffer.put (0, (byte) newSize); + modCount++; + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) + out.print (prefix); + out.print ("["); + out.print (size ()); + out.println ("] {"); + for (Iterator it = new Iterator (); it.hasNext (); ) + { + CompressionMethod method = (CompressionMethod) it.next (); + if (prefix != null) + out.print (prefix); + out.print (" "); + out.print (method); + if (it.hasNext ()) + out.print (","); + out.println (); + } + if (prefix != null) + out.print (prefix); + out.print ("};"); + return str.toString (); + } + + public boolean equals (Object o) + { + if (!(o instanceof CompressionMethodList)) + return false; + CompressionMethodList that = (CompressionMethodList) o; + + if (size () != that.size ()) + return false; + + for (Iterator it1 = new Iterator (), it2 = that.new Iterator (); + it1.hasNext () && it2.hasNext (); ) + { + if (!it1.next ().equals (it2.next ())) + return false; + } + return true; + } + + public java.util.Iterator iterator () + { + return new Iterator (); + } + + /** + * An iterator for the elements in this list. The iterator supports + * only the set method out of the optional methods, + * because elements in a CipherSuiteList may not be removed or + * added; only the size of the list can be changed, and elements at + * a specific index changed. + */ + public class Iterator implements ListIterator + { + private int index; + private final int modCount; + + Iterator () + { + index = 0; + modCount = CompressionMethodList.this.modCount; + } + + public void add (CompressionMethod cm) + { + throw new UnsupportedOperationException (); + } + + public boolean hasNext () + { + return (index < size ()); + } + + public boolean hasPrevious () + { + return (index > 0); + } + + public CompressionMethod next () throws NoSuchElementException + { + if (modCount != CompressionMethodList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException (); + } + } + + public int nextIndex () + { + if (hasNext ()) + return (index + 1); + return -1; + } + + public CompressionMethod previous () throws NoSuchElementException + { + if (index == 0) + throw new NoSuchElementException (); + if (modCount != CompressionMethodList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (--index); + } + catch (IndexOutOfBoundsException ioobe) // on empty list + { + throw new NoSuchElementException (); + } + } + + public int previousIndex () + { + return (index - 1); + } + + public void remove () + { + throw new UnsupportedOperationException (); + } + + public void set (final CompressionMethod cm) + { + put (index, cm); + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Constructed.java b/libjava/classpath/gnu/javax/net/ssl/provider/Constructed.java index ee3f56a7f47..3a3545b226e 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Constructed.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Constructed.java @@ -1,4 +1,4 @@ -/* Constructed.java -- constructed type. +/* Constructed.java -- Constructed type. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -38,20 +38,49 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.IOException; -import java.io.OutputStream; - /** * The base interface to SSL constructed types. + * + *

    Contract for ByteBuffer-based constructed types: + * + *

    Most implementations of this interface supported by this library + * take a "view" of an underlying ByteBuffer. The general contract of + * such classes is that they will not modify the position or + * limit of the buffer when doing read operations. That is, the position + * of the underlying buffer should remain at 0 throughout the + * lifetime of the object, and the limit should be either set to the + * capacity of the buffer, or to the size of the object (in most cases, + * the length of the protocol object is determined by the contents of + * the object, so the limit isn't useful in such cases. Of course, if the + * limit is set to something other than the object's length, it must be + * larger than the object length). + * + *

    Setter methods (usually in a class that implements the {@link Builder} + * interface) may modify the limit, but the general contract remains that + * the position remain at zero, and that the limit be at least as large as + * the object length. + * + *

    Thus, very often the code will use absolute getters and setters + * for primitive types, or it will use the {@link java.nio.ByteBuffer#duplicate()} + * method, and sometimes the {@link java.nio.ByteBuffer#slice()} method, and + * will change the position or limit of the duplicate buffer. */ -interface Constructed +public interface Constructed { + /** + * Returns the total length, in bytes, of this structure. + * + * @return The length of this structure. + */ + int length(); /** - * Writes this structure's encoded form to the given output stream. + * Returns a printable representation of this structure, with the + * given prefix prepended to each line. * - * @param out The output stream. - * @throws IOException If an I/O error occurs. + * @param prefix The prefix to prepend to each line of the + * output. This value may be null. + * @return A printable representation of this structure. */ - void write(OutputStream out) throws IOException; + String toString(String prefix); } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ContentType.java b/libjava/classpath/gnu/javax/net/ssl/provider/ContentType.java index 336809467e4..f7165a2d769 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/ContentType.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ContentType.java @@ -1,4 +1,4 @@ -/* ContentType.java -- record layer content type. +/* ContentType.java -- SSL record layer content type. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -45,22 +45,23 @@ import java.io.IOException; /** * The content type enumeration, which marks packets in the record layer. * - *

    enum { change_cipher_spec(20), alert(21), handshake(22),
    - *             application_data(23), (255) } ContentType;
    + *
    +enum { change_cipher_spec(20), alert(21), handshake(22),
    +       application_data(23), (255) } ContentType;
    + * + *

    There is also a "pseudo" content type, client_hello_v2 + * (1), which is used for backwards compatibility with SSLv2. * * @author Casey Marshall (rsdio@metastatic.org) */ -final class ContentType implements Enumerated +public enum ContentType { - // Constants and fields. - // ------------------------------------------------------------------------ - - static final ContentType CLIENT_HELLO_V2 = new ContentType( 1); - static final ContentType CHANGE_CIPHER_SPEC = new ContentType(20); - static final ContentType ALERT = new ContentType(21); - static final ContentType HANDSHAKE = new ContentType(22); - static final ContentType APPLICATION_DATA = new ContentType(23); + CLIENT_HELLO_V2 ( 1), + CHANGE_CIPHER_SPEC (20), + ALERT (21), + HANDSHAKE (22), + APPLICATION_DATA (23); private int value; @@ -72,16 +73,8 @@ final class ContentType implements Enumerated this.value = value; } - // Class methods. - // ------------------------------------------------------------------------ - - static final ContentType read(InputStream in) throws IOException + static final ContentType forInteger (final int value) { - int value = in.read(); - if (value == -1) - { - throw new EOFException("unexpected end of input stream"); - } switch (value & 0xFF) { case 1: return CLIENT_HELLO_V2; @@ -89,47 +82,12 @@ final class ContentType implements Enumerated case 21: return ALERT; case 22: return HANDSHAKE; case 23: return APPLICATION_DATA; - default: return new ContentType(value); + default: return null; } } - // Instance methods. - // ------------------------------------------------------------------------ - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - public int getValue() { return value; } - - public boolean equals(Object o) - { - if (o == null || !(o instanceof ContentType)) - { - return false; - } - return ((ContentType) o).value == value; - } - - public int hashCode() - { - return getValue(); - } - - public String toString() - { - switch (value) - { - case 1: return "v2_client_hello"; - case 20: return "change_cipher_spec"; - case 21: return "alert"; - case 22: return "handshake"; - case 23: return "application_data"; - default: return "unknown(" + value + ")"; - } - } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Context.java b/libjava/classpath/gnu/javax/net/ssl/provider/Context.java deleted file mode 100644 index 2bd7193f265..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Context.java +++ /dev/null @@ -1,334 +0,0 @@ -/* Context.java -- SSLContext implementation. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.File; -import java.io.InputStream; - -import java.security.InvalidAlgorithmParameterException; -import java.security.KeyStoreException; -import java.security.KeyManagementException; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.SecureRandom; -import java.security.Security; -import java.security.UnrecoverableKeyException; -import java.sql.SQLException; - -import javax.net.ssl.KeyManager; -import javax.net.ssl.KeyManagerFactory; -import javax.net.ssl.SSLContextSpi; -import javax.net.ssl.SSLSessionContext; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509KeyManager; -import javax.net.ssl.X509TrustManager; - -import gnu.javax.net.ssl.NullManagerParameters; -import gnu.javax.net.ssl.SRPTrustManager; -import gnu.javax.net.ssl.StaticTrustAnchors; - -/** - * This is Jessie's implementation of a {@link javax.net.ssl.SSLContext} - * engine, and is available under the algorithm names ``SSLv3'', ``SSL'', - * ``TLSv1'', and ``TLS''. - */ -public final class Context extends SSLContextSpi -{ - - // Fields. - // ------------------------------------------------------------------------- - - private SessionContext clientSessions; - private SessionContext serverSessions; - private X509KeyManager keyManager; - private X509TrustManager trustManager; - private SRPTrustManager srpTrustManager; - private SecureRandom random; - - // Constructor. - // ------------------------------------------------------------------------- - - public Context() - { - String codec = Util.getSecurityProperty("jessie.clientSessionContext.codec"); - String codecClass = null; - if (codec == null) - { - codec = "null"; - } - if (codec.equalsIgnoreCase("xml")) - { - codecClass = "gnu.javax.net.ssl.provider.XMLSessionContext"; - } - else if (codec.equalsIgnoreCase("jdbc")) - { - codecClass = "gnu.javax.net.ssl.provider.JDBCSessionContext"; - } - else if (codec.equalsIgnoreCase("null")) - { - codecClass = "gnu.javax.net.ssl.provider.SessionContext"; - } - else - { - throw new IllegalArgumentException("no such codec: " + codec); - } - try - { - ClassLoader cl = Context.class.getClassLoader(); - if (cl == null) - { - cl = ClassLoader.getSystemClassLoader(); - } - clientSessions = (SessionContext) cl.loadClass(codecClass).newInstance(); - } - catch (Exception ex) - { - ex.printStackTrace(); - throw new IllegalArgumentException(ex.toString()); - } - - codec = Util.getSecurityProperty("jessie.serverSessionContext.codec"); - if (codec == null) - { - codec = "null"; - } - if (codec.equalsIgnoreCase("xml")) - { - codecClass = "gnu.javax.net.ssl.provider.XMLSessionContext"; - } - else if (codec.equalsIgnoreCase("jdbc")) - { - codecClass = "gnu.javax.net.ssl.provider.JDBCSessionContext"; - } - else if (codec.equalsIgnoreCase("null")) - { - codecClass = "gnu.javax.net.ssl.provider.SessionContext"; - } - else - { - throw new IllegalArgumentException("no such codec: " + codec); - } - try - { - ClassLoader cl = Context.class.getClassLoader(); - if (cl == null) - { - cl = ClassLoader.getSystemClassLoader(); - } - serverSessions = (SessionContext) cl.loadClass(codecClass).newInstance(); - } - catch (Exception ex) - { - ex.printStackTrace(); - throw new IllegalArgumentException(ex.toString()); - } - } - - // Engine methods. - // ------------------------------------------------------------------------- - - protected SSLSessionContext engineGetClientSessionContext() - { - return clientSessions; - } - - protected SSLSessionContext engineGetServerSessionContext() - { - return serverSessions; - } - - protected javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory() - { - if (keyManager == null || (trustManager == null && srpTrustManager == null) - || random == null) - { - throw new IllegalStateException(); - } - return new SSLServerSocketFactory(trustManager, srpTrustManager, keyManager, - random, serverSessions); - } - - protected javax.net.ssl.SSLSocketFactory engineGetSocketFactory() - { - if (keyManager == null || trustManager == null || random == null) - { - throw new IllegalStateException(); - } - return new SSLSocketFactory(trustManager, keyManager, random, clientSessions); - } - - protected void engineInit(KeyManager[] keyManagers, - TrustManager[] trustManagers, SecureRandom random) - throws KeyManagementException - { - keyManager = null; - trustManager = null; - srpTrustManager = null; - if (keyManagers != null) - { - for (int i = 0; i < keyManagers.length; i++) - { - if (keyManagers[i] instanceof X509KeyManager) - { - keyManager = (X509KeyManager) keyManagers[i]; - break; - } - } - } - if (keyManager == null) - { - keyManager = defaultKeyManager(); - } - if (trustManagers != null) - { - for (int i = 0; i < trustManagers.length; i++) - { - if (trustManagers[i] instanceof X509TrustManager) - { - if (trustManager == null) - { - trustManager = (X509TrustManager) trustManagers[i]; - } - } - else if (trustManagers[i] instanceof SRPTrustManager) - { - if (srpTrustManager == null) - { - srpTrustManager = (SRPTrustManager) trustManagers[i]; - } - } - } - } - if (trustManager == null && srpTrustManager == null) - { - trustManager = defaultTrustManager(); - } - if (random != null) - { - this.random = random; - } - else - { - this.random = defaultRandom(); - } - } - - // Own methods. - // ------------------------------------------------------------------------- - - private X509KeyManager defaultKeyManager() throws KeyManagementException - { - KeyManagerFactory fact = null; - try - { - fact = KeyManagerFactory.getInstance("JessieX509", "Jessie"); - } - catch (NoSuchAlgorithmException nsae) - { - throw new KeyManagementException(); - } - catch (NoSuchProviderException nspe) - { - throw new KeyManagementException(); - } - try - { - fact.init(null, null); - return (X509KeyManager) fact.getKeyManagers()[0]; - } - catch (NoSuchAlgorithmException nsae) { } - catch (KeyStoreException kse) { } - catch (UnrecoverableKeyException uke) { } - catch (IllegalStateException ise) { } - - try - { - fact.init(new NullManagerParameters()); - return (X509KeyManager) fact.getKeyManagers()[0]; - } - catch (Exception shouldNotHappen) - { - throw new Error(shouldNotHappen.toString()); - } - } - - private X509TrustManager defaultTrustManager() throws KeyManagementException - { - try - { - TrustManagerFactory fact = - TrustManagerFactory.getInstance("JessieX509", "Jessie"); - fact.init(StaticTrustAnchors.CA_CERTS); - return (X509TrustManager) fact.getTrustManagers()[0]; - } - catch (NoSuchAlgorithmException nsae) - { - throw new KeyManagementException(nsae.toString()); - } - catch (NoSuchProviderException nspe) - { - throw new KeyManagementException(nspe.toString()); - } - catch (InvalidAlgorithmParameterException kse) - { - throw new KeyManagementException(kse.toString()); - } - } - - private SecureRandom defaultRandom() throws KeyManagementException - { - String alg = Util.getSecurityProperty("jessie.secure.random"); - if (alg == null) - { - alg = "Fortuna"; - } - SecureRandom rand = null; - try - { - rand = SecureRandom.getInstance(alg); - } - catch (NoSuchAlgorithmException nsae) - { - throw new KeyManagementException(nsae.toString()); - } - - return rand; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Debug.java b/libjava/classpath/gnu/javax/net/ssl/provider/Debug.java new file mode 100644 index 00000000000..6d0f7c3a519 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Debug.java @@ -0,0 +1,66 @@ +/* Debug.java -- Jessie debug constants. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * Debug constants for Jessie. + * + * @author Casey Marshall (csm@gnu.org) + */ +public final class Debug +{ + /** + * Set to true to dump out traces of SSL connections to the system + * logger. + */ + public static final boolean DEBUG = true; + + /** + * Set to true to dump out info about the SSL key exchange. Since this + * MAY contain sensitive data, it is a separate value. + */ + public static final boolean DEBUG_KEY_EXCHANGE = true; + + /** + * Set to true to turn on dumping of decrypted packets. Since this will + * log potentially-sensitive information (i.e., decrypted messages), only + * enable this in debug scenarios. + */ + public static final boolean DEBUG_DECRYPTION = false; +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/DelegatedTask.java b/libjava/classpath/gnu/javax/net/ssl/provider/DelegatedTask.java new file mode 100644 index 00000000000..200d4d457cf --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/DelegatedTask.java @@ -0,0 +1,93 @@ +/* DelegatedTask.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public abstract class DelegatedTask implements Runnable +{ + private static final SystemLogger logger = SystemLogger.SYSTEM; + private boolean hasRun; + protected Throwable thrown; + + protected DelegatedTask() + { + hasRun = false; + } + + public final void run() + { + if (hasRun) + throw new IllegalStateException("task already ran"); + try + { + if (Debug.DEBUG) + logger.logv(Component.SSL_DELEGATED_TASK, + "running delegated task {0} in {1}", this, + Thread.currentThread()); + implRun(); + } + catch (Throwable t) + { + if (Debug.DEBUG) + logger.log(Component.SSL_DELEGATED_TASK, "task threw exception", t); + thrown = t; + } + finally + { + hasRun = true; + } + } + + public final boolean hasRun() + { + return hasRun; + } + + public final Throwable thrown() + { + return thrown; + } + + protected abstract void implRun() throws Throwable; +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/DiffieHellman.java b/libjava/classpath/gnu/javax/net/ssl/provider/DiffieHellman.java index ad48c795906..5a5275712a0 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/DiffieHellman.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/DiffieHellman.java @@ -39,6 +39,9 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; import java.math.BigInteger; +import java.security.AccessController; + +import gnu.java.security.action.GetSecurityPropertyAction; import gnu.javax.crypto.key.dh.GnuDHPrivateKey; /** @@ -72,7 +75,8 @@ final class DiffieHellman static GnuDHPrivateKey getParams() { BigInteger p = DiffieHellman.GROUP_5; - String group = Util.getSecurityProperty("jessie.key.dh.group"); + String group = AccessController.doPrivileged + (new GetSecurityPropertyAction("jessie.key.dh.group")); if (group != null) { group = group.trim(); diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/DigestInputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/DigestInputStream.java deleted file mode 100644 index dd138b436a1..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/DigestInputStream.java +++ /dev/null @@ -1,103 +0,0 @@ -/* DigestInputStream.java -- digesting input stream. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.FilterInputStream; -import java.io.InputStream; -import java.io.IOException; - -import gnu.java.security.hash.IMessageDigest; - -final class DigestInputStream extends FilterInputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - private IMessageDigest md5, sha; - private boolean digesting; - - // Constructor. - // ------------------------------------------------------------------------- - - DigestInputStream(InputStream in, IMessageDigest md5, IMessageDigest sha) - { - super(in); - if (md5 == null || sha == null) - throw new NullPointerException(); - this.md5 = md5; - this.sha = sha; - digesting = true; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - void setDigesting(boolean digesting) - { - this.digesting = digesting; - } - - public int read() throws IOException - { - int i = in.read(); - if (digesting && i != -1) - { - md5.update((byte) i); - sha.update((byte) i); - } - return i; - } - - public int read(byte[] buf) throws IOException - { - return read(buf, 0, buf.length); - } - - public int read(byte[] buf, int off, int len) throws IOException - { - int ret = in.read(buf, off, len); - if (digesting && ret != -1) - { - md5.update(buf, off, ret); - sha.update(buf, off, ret); - } - return ret; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/DigestOutputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/DigestOutputStream.java deleted file mode 100644 index f1548459e8c..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/DigestOutputStream.java +++ /dev/null @@ -1,107 +0,0 @@ -/* DigestOutputStream.java -- digesting output stream. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.FilterOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import gnu.java.security.hash.IMessageDigest; - -final class DigestOutputStream extends FilterOutputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - private IMessageDigest md5, sha; - private boolean digesting; - - // Constructor. - // ------------------------------------------------------------------------- - - DigestOutputStream(OutputStream out, IMessageDigest md5, IMessageDigest sha) - { - super(out); - this.md5 = md5; - this.sha = sha; - digesting = true; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - void setDigesting(boolean digesting) - { - this.digesting = digesting; - } - - public void write(int b) throws IOException - { - if (digesting) - { - md5.update((byte) b); - sha.update((byte) b); - } - out.write(b); - } - - public void write(byte[] buf) throws IOException - { - write(buf, 0, buf.length); - } - - public void write(byte[] buf, int off, int len) throws IOException - { - if (buf == null) - { - throw new NullPointerException(); - } - if (off < 0 || len < 0 || off+len > buf.length) - { - throw new ArrayIndexOutOfBoundsException(); - } - if (digesting) - { - md5.update(buf, off, len); - sha.update(buf, off, len); - } - out.write(buf, off, len); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/EmptyExchangeKeys.java b/libjava/classpath/gnu/javax/net/ssl/provider/EmptyExchangeKeys.java new file mode 100644 index 00000000000..acf4cfa03a9 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/EmptyExchangeKeys.java @@ -0,0 +1,77 @@ +/* EmptyExchangeKeys.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class EmptyExchangeKeys + extends ExchangeKeys +{ + + public EmptyExchangeKeys() + { + super(ByteBuffer.allocate(0)); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#length() + */ + public int length() + { + return 0; + } + + public String toString() + { + return toString(null); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String) + */ + public String toString(String prefix) + { + String ret = "struct { };"; + if (prefix != null) ret = prefix + ret; + return ret; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java b/libjava/classpath/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java new file mode 100644 index 00000000000..ea7439bd2c6 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java @@ -0,0 +1,151 @@ +/* EncryptedPreMasterSecret.java -- RSA encrypted secret. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; + +/** + * The client's RSA-encrypted pre-master secret. + * + *

    +struct {
    +  public-key-encrypted PreMasterSecret pre_master_secret;
    +} EncryptedPreMasterSecret;
    + */ +public final class EncryptedPreMasterSecret extends ExchangeKeys implements Builder +{ + private final ProtocolVersion version; + + public EncryptedPreMasterSecret(ByteBuffer buffer, ProtocolVersion version) + { + super(buffer); + version.getClass(); + this.version = version; + } + + public EncryptedPreMasterSecret(byte[] encryptedSecret, ProtocolVersion version) + { + this(ByteBuffer.allocate(version == ProtocolVersion.SSL_3 + ? encryptedSecret.length + : encryptedSecret.length + 2), version); + ByteBuffer b = buffer.duplicate(); + if (version != ProtocolVersion.SSL_3) + b.putShort((short) encryptedSecret.length); + b.put(encryptedSecret); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind(); + } + + public byte[] encryptedSecret() + { + byte[] secret; + if (version == ProtocolVersion.SSL_3) + { + buffer.position (0); + secret = new byte[buffer.limit ()]; + buffer.get(secret); + } + else + { + int len = buffer.getShort(0) & 0xFFFF; + secret = new byte[len]; + buffer.position(2); + buffer.get(secret); + } + return secret; + } + + public void setEncryptedSecret(final byte[] secret, final int offset, final int length) + { + if (version == ProtocolVersion.SSL_3) + { + buffer.position(0); + buffer.put(secret, offset, length); + buffer.rewind(); + } + else + { + buffer.putShort(0, (short) length); + buffer.position(2); + buffer.put(secret, offset, length); + buffer.rewind(); + } + } + + public int length () + { + if (version == ProtocolVersion.SSL_3) + { + return buffer.capacity(); + } + else + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.println(" pre_master_secret = "); + out.print(Util.hexDump(encryptedSecret(), prefix != null ? prefix + " " + : " ")); + if (prefix != null) out.print(prefix); + out.print("} EncryptedPreMasterSecret;"); + return str.toString(); + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Enumerated.java b/libjava/classpath/gnu/javax/net/ssl/provider/Enumerated.java deleted file mode 100644 index 8875addab3f..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Enumerated.java +++ /dev/null @@ -1,79 +0,0 @@ -/* Enumerated.java -- Interface to enumerated types. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -/** - * An enumerated type in the SSL protocols. Enumerated values take on - * one of a set of possible numeric values, which are not specifically - * ordered, and may be extensible to a maximum value. - * - *
    enum { e1(v1), e2(v2), ... [[, (n) ]] }
    - * - *

    Enumerated types are encoded as big-endian multibyte integers, - * which take up the least possible number of bytes. Thus, an - * enumeration with up to 255 values will be encoded in a single byte, - * and so on. - * - * @author Casey Marshall (rsdio@metastatic.org) - */ -interface Enumerated -{ - - /** - * Returns the encoded value of this enumerated value, which is - * appropriate to send over-the-wire. - * - * @return The encoded value. - */ - byte[] getEncoded(); - - /** - * Returns the numeric value of this enumerated value. - * - * @return The numeric value. - */ - int getValue(); - - /** - * Returns a string representation of this enumerated value. - * - * @return The string. - */ - String toString(); -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ExchangeKeys.java b/libjava/classpath/gnu/javax/net/ssl/provider/ExchangeKeys.java new file mode 100644 index 00000000000..f161f484a57 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ExchangeKeys.java @@ -0,0 +1,54 @@ +/* ExchangeKeys.java -- key exchange values. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +public abstract class ExchangeKeys implements Constructed +{ + + protected ByteBuffer buffer; + + public ExchangeKeys (final ByteBuffer buffer) + { + if (buffer != null) + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Extension.java b/libjava/classpath/gnu/javax/net/ssl/provider/Extension.java index 1c79dd5cb26..c79e58832b8 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Extension.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Extension.java @@ -38,177 +38,209 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.EOFException; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; -final class Extension implements Constructed +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +/** + * An SSL hello extension. + * + *

    + * struct {
    + *   ExtensionType extension_type;
    + *   opaque extension_data<0..2^16-1>;
    + * } Extension;
    + * + * @author csm@gnu.org + */ +public final class Extension implements Builder, Constructed { // Fields. // ------------------------------------------------------------------------- - private final Type type; - private final byte[] value; + private ByteBuffer buffer; // Constructor. // ------------------------------------------------------------------------- - Extension(Type type, byte[] value) + public Extension(final ByteBuffer buffer) { - if (type == null || value == null) - { - throw new NullPointerException(); - } - this.type = type; - this.value = value; + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); } - - // Class method. - // ------------------------------------------------------------------------- - - static Extension read(InputStream in) throws IOException + + public Extension(final Type type, final Value value) { - Type t = Type.read(in); - int len = (in.read() & 0xFF) << 8 | (in.read() & 0xFF); - byte[] v = new byte[len]; - int count = 0; - while (count < len) - { - int l = in.read(v, count, len - count); - if (l == -1) - { - throw new EOFException("unexpected end of extension"); - } - count += l; - } - return new Extension(t, v); + ByteBuffer valueBuffer = value.buffer(); + int length = 2 + 2 + valueBuffer.remaining(); + buffer = ByteBuffer.allocate(length); + buffer.putShort((short) type.getValue()); + buffer.putShort((short) valueBuffer.remaining()); + buffer.put(valueBuffer); + buffer.rewind(); } // Instance methods. // ------------------------------------------------------------------------- - public void write(OutputStream out) throws IOException + public int length () + { + return (buffer.getShort (2) & 0xFFFF) + 4; + } + + public ByteBuffer buffer() { - out.write(type.getEncoded()); - out.write(value.length >>> 8 & 0xFF); - out.write(value.length & 0xFF); - out.write(value); + return (ByteBuffer) buffer.duplicate().limit(length()); } - Type getType() + public Type type() { - return type; + return Type.forValue (buffer.getShort (0) & 0xFFFF); } - byte[] getValue() + public byte[] valueBytes() { + int len = buffer.getShort (2) & 0xFFFF; + byte[] value = new byte[len]; + ((ByteBuffer) buffer.duplicate ().position (4)).get (value); return value; } + + public ByteBuffer valueBuffer() + { + int len = buffer.getShort(2) & 0xFFFF; + return ((ByteBuffer) buffer.duplicate().position(4).limit(len+4)).slice(); + } + + public Value value() + { + switch (type ()) + { + case SERVER_NAME: + return new ServerNameList(valueBuffer()); + + case MAX_FRAGMENT_LENGTH: + switch (valueBuffer().get() & 0xFF) + { + case 1: return MaxFragmentLength.LEN_2_9; + case 2: return MaxFragmentLength.LEN_2_10; + case 3: return MaxFragmentLength.LEN_2_11; + case 4: return MaxFragmentLength.LEN_2_12; + default: + throw new IllegalArgumentException("invalid max_fragment_len"); + } + + case TRUNCATED_HMAC: + return new TruncatedHMAC(); + + case CLIENT_CERTIFICATE_URL: + return new CertificateURL(valueBuffer()); + + case TRUSTED_CA_KEYS: + return new TrustedAuthorities(valueBuffer()); + + case STATUS_REQUEST: + return new CertificateStatusRequest(valueBuffer()); + + case SRP: + case CERT_TYPE: + } + return new UnresolvedExtensionValue(valueBuffer()); + } + + public void setLength (final int newLength) + { + if (newLength < 0 || newLength > 65535) + throw new IllegalArgumentException ("length is out of bounds"); + buffer.putShort (2, (short) newLength); + } + + public void setType (final Type type) + { + buffer.putShort(0, (short) type.getValue()); + } + public void setValue (byte[] value) + { + setValue (value, 0, value.length); + } + + public void setValue (final byte[] value, final int offset, final int length) + { + if (length != length ()) + throw new IllegalArgumentException ("length is different than claimed length"); + ((ByteBuffer) buffer.duplicate().position(4)).put(value, offset, length); + } + public String toString() + { + return toString(null); + } + + public String toString(String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print (prefix); out.println("struct {"); - out.println(" type = " + type + ";"); + if (prefix != null) out.print (prefix); + out.println(" type = " + type () + ";"); + if (prefix != null) out.print (prefix); + String subprefix = " "; + if (prefix != null) subprefix = prefix + subprefix; out.println(" value ="); - out.println(Util.hexDump(value, " ")); - out.println("} Extension;"); + out.println(value().toString(subprefix)); + if (prefix != null) out.print (prefix); + out.print("} Extension;"); return str.toString(); } - // Inner class. + // Inner classes. // ------------------------------------------------------------------------- - static final class Type implements Enumerated + public static enum Type { - - // Constants and fields. - // ----------------------------------------------------------------------- - - static final Type SERVER_NAME = new Type(0); - static final Type MAX_FRAGMENT_LENGTH = new Type(1); - static final Type CLIENT_CERTIFICATE_URL = new Type(2); - static final Type TRUSTED_CA_KEYS = new Type(3); - static final Type TRUNCATED_HMAC = new Type(4); - static final Type STATUS_REQUEST = new Type(5); - static final Type SRP = new Type(6); - static final Type CERT_TYPE = new Type(7); + SERVER_NAME (0), + MAX_FRAGMENT_LENGTH (1), + CLIENT_CERTIFICATE_URL (2), + TRUSTED_CA_KEYS (3), + TRUNCATED_HMAC (4), + STATUS_REQUEST (5), + SRP (6), + CERT_TYPE (7); private final int value; - // Constructor. - // ----------------------------------------------------------------------- - private Type(int value) { this.value = value; } - // Class methods. - // ----------------------------------------------------------------------- - - static Type read(InputStream in) throws IOException + public static Type forValue (final int value) { - int i = in.read(); - if (i == -1) - { - throw new EOFException("unexpected end of input stream"); - } - int value = (i & 0xFF) << 8; - i = in.read(); - if (i == -1) + switch (value & 0xFFFF) { - throw new EOFException("unexpected end of input stream"); - } - value |= i & 0xFF; - switch (value) - { - case 0: return SERVER_NAME; - case 1: return MAX_FRAGMENT_LENGTH; - case 2: return CLIENT_CERTIFICATE_URL; - case 3: return TRUSTED_CA_KEYS; - case 4: return TRUNCATED_HMAC; - case 5: return STATUS_REQUEST; - case 6: return SRP; - case 7: return CERT_TYPE; - default: return new Type(value); + case 0: return SERVER_NAME; + case 1: return MAX_FRAGMENT_LENGTH; + case 2: return CLIENT_CERTIFICATE_URL; + case 3: return TRUSTED_CA_KEYS; + case 4: return TRUNCATED_HMAC; + case 5: return STATUS_REQUEST; + case 6: return SRP; + case 7: return CERT_TYPE; + default: return null; } } - - // Instance methods. - // ----------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { - (byte) (value >>> 8 & 0xFF), (byte) (value & 0xFF) - }; - } - + public int getValue() { return value; } - - public String toString() - { - switch (value) - { - case 0: return "server_name"; - case 1: return "max_fragment_length"; - case 2: return "client_certificate_url"; - case 3: return "trusted_ca_keys"; - case 4: return "truncated_hmac"; - case 5: return "status_request"; - case 6: return "srp"; - case 7: return "cert_type"; - default: return "unknown(" + value + ")"; - } - } + } + + public static abstract class Value implements Builder, Constructed + { } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ExtensionList.java b/libjava/classpath/gnu/javax/net/ssl/provider/ExtensionList.java new file mode 100644 index 00000000000..d5aaad62155 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ExtensionList.java @@ -0,0 +1,290 @@ +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.ConcurrentModificationException; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.NoSuchElementException; + +/** + * A list of extensions, that may appear in either the {@link ClientHello} or + * {@link ServerHello}. The form of the extensions list is: + * + * Extension extensions_list<1..2^16-1> + * + * @author csm + */ +public class ExtensionList implements Builder, Iterable +{ + private final ByteBuffer buffer; + private int modCount; + + public ExtensionList (ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + modCount = 0; + } + + public ExtensionList(List extensions) + { + int length = 2; + for (Extension extension : extensions) + length += extension.length(); + buffer = ByteBuffer.allocate(length); + buffer.putShort((short) (length - 2)); + for (Extension extension : extensions) + buffer.put(extension.buffer()); + buffer.rewind(); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public Extension get (final int index) + { + int length = length (); + int i; + int n = 0; + for (i = 2; i < length && n < index; ) + { + int l = buffer.getShort (i+2) & 0xFFFF; + i += l + 4; + n++; + } + if (n < index) + throw new IndexOutOfBoundsException ("no elemenet at " + index); + int el = buffer.getShort (i+2) & 0xFFFF; + ByteBuffer b = (ByteBuffer) buffer.duplicate().position(i).limit(i+el+4); + return new Extension(b.slice()); + } + + /** + * Returns the number of extensions this list contains. + * + * @return The number of extensions. + */ + public int size () + { + int length = length (); + if (length == 0) + return 0; + int n = 0; + for (int i = 2; i < length; ) + { + int len = buffer.getShort (i+2) & 0xFFFF; + i += len + 4; + n++; + } + return n; + } + + /** + * Returns the length of this extension list, in bytes. + * + * @return The length of this extension list, in bytes. + */ + public int length () + { + return (buffer.getShort (0) & 0xFFFF) + 2; + } + + /** + * Sets the extension at index i to e. Note that setting an + * element at an index may invalidate any other elements that come + * after element at index i. In other words, no attempt is made to + * move existing elements in this list, and since extensions are variable + * length, you can not guarantee that extensions later in the list + * will still be valid. + * + *

    Thus, elements of this list must be set in order of increasing + * index. + * + * @param index The index to set the extension at. + * @param e The extension. + * @throws java.nio.BufferOverflowException If setting the extension overflows + * the buffer. + * @throws IllegalArgumentException If it isn't possible to find the given index + * in the current list (say, if no element index - 1 is set), or if setting + * the extension will overflow the current list length (given by {@link + * #length()}). + */ + public void set (final int index, Extension e) + { + int length = length(); + int n = 0; + int i; + for (i = 2; i < length && n < index; ) + { + int len = buffer.getShort(i+2) & 0xFFFF; + i += len + 4; + n++; + } + if (n < index) + throw new IllegalArgumentException("nothing set at index " + (index-1) + + " or insufficient space"); + if (i + e.length() + 2 > length) + throw new IllegalArgumentException("adding this element will exceed the " + + "list length"); + buffer.putShort(i, (short) e.type().getValue()); + buffer.putShort(i+2, (short) e.length()); + ((ByteBuffer) buffer.duplicate().position(i+4)).put (e.valueBuffer()); + modCount++; + } + + /** + * Reserve space for an extension at index i in the list. In other + * words, this does the job of {@link #set(int, Extension)}, but does not + * copy the extension value to the underlying buffer. + * + * @param index The index of the extension to reserve space for. + * @param t The type of the extension. + * @param eLength The number of bytes to reserve for this extension. The total + * number of bytes used by this method is this length, plus four. + */ + public void set (final int index, Extension.Type t, final int eLength) + { + int length = length (); + int n = 0; + int i; + for (i = 2; i < length && n < index; ) + { + int len = buffer.getShort (i+2) & 0xFFFF; + i += len + 4; + n++; + } + if (n < index) + throw new IllegalArgumentException ("nothing set at index " + (index-1) + + " or insufficient space"); + if (i + eLength + 2 > length) + throw new IllegalArgumentException ("adding this element will exceed the " + + "list length"); + buffer.putShort(i, (short) t.getValue()); + buffer.putShort(i+2, (short) eLength); + modCount++; + } + + /** + * Set the total length of this list, in bytes. + * + * @param newLength The new list length. + */ + public void setLength (final int newLength) + { + if (newLength < 0 || newLength > 65535) + throw new IllegalArgumentException ("invalid length"); + buffer.putShort (0, (short) newLength); + modCount++; + } + + public Iterator iterator() + { + return new ExtensionsIterator(); + } + + public String toString() + { + return toString (null); + } + + public String toString(final String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("ExtensionList {"); + if (prefix != null) out.print(prefix); + out.print(" length = "); + out.print(length()); + out.println(";"); + String subprefix = " "; + if (prefix != null) + subprefix = prefix + subprefix; + for (Extension e : this) + out.println(e.toString(subprefix)); + if (prefix != null) out.print(prefix); + out.print("};"); + return str.toString(); + } + + /** + * List iterator interface to an extensions list. + * + * @author csm@gnu.org + */ + public final class ExtensionsIterator implements ListIterator + { + private final int modCount; + private int index; + private final int size; + + public ExtensionsIterator () + { + this.modCount = ExtensionList.this.modCount; + index = 0; + size = size (); + } + + public boolean hasNext() + { + return index < size; + } + + public boolean hasPrevious() + { + return index > 0; + } + + public Extension next() throws NoSuchElementException + { + if (modCount != ExtensionList.this.modCount) + throw new ConcurrentModificationException (); + if (!hasNext ()) + throw new NoSuchElementException (); + return get (index++); + } + + public Extension previous() throws NoSuchElementException + { + if (modCount != ExtensionList.this.modCount) + throw new ConcurrentModificationException (); + if (!hasPrevious ()) + throw new NoSuchElementException (); + return get (--index); + } + + public int nextIndex() + { + if (hasNext ()) + return index + 1; + return index; + } + + public int previousIndex() + { + if (hasPrevious ()) + return index - 1; + return -1; + } + + public void add(Extension e) + { + throw new UnsupportedOperationException ("cannot add items to this iterator"); + } + + public void remove() + { + throw new UnsupportedOperationException ("cannot remove items from this iterator"); + } + + public void set(Extension e) + { + ExtensionList.this.set (index, e); + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Extensions.java b/libjava/classpath/gnu/javax/net/ssl/provider/Extensions.java deleted file mode 100644 index 9ed9619f06f..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Extensions.java +++ /dev/null @@ -1,159 +0,0 @@ -/* Extensions.java -- various static extension utilities. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -import javax.security.auth.x500.X500Principal; - -import gnu.java.security.x509.X500DistinguishedName; - -final class Extensions -{ - - // Constants. - // ------------------------------------------------------------------------- - - private static final Integer _512 = new Integer(512), - _1024 = new Integer(1024), _2048 = new Integer(2048), - _4096 = new Integer(4096); - - // Class methods only. - private Extensions() { } - - // Class methods. - // ------------------------------------------------------------------------- - - static List getServerName(Extension ex) - { - LinkedList l = new LinkedList(); - byte[] buf = ex.getValue(); - int pos = 0; - try - { - while (pos < buf.length) - { - if (buf[pos++] != 0) - break; - int len = (buf[pos++] & 0xFF) << 8; - len |= buf[pos++] & 0xFF; - l.add(new String(buf, pos, len, "UTF-8")); - pos += len; - } - } - catch (Exception x) - { - } - return Collections.unmodifiableList(l); - } - - static List getClientCertTypes(Extension ex) throws IOException - { - List l = new LinkedList(); - ByteArrayInputStream in = new ByteArrayInputStream(ex.getValue()); - final int len = in.read() & 0xFF; - for (int i = 0; i < len; i++) - { - l.add(CertificateType.read(in)); - } - return Collections.unmodifiableList(l); - } - - static CertificateType getServerCertType(Extension ex) throws IOException - { - return CertificateType.read(new ByteArrayInputStream(ex.getValue())); - } - - static Integer getMaxFragmentLength(Extension ex) - { - switch (ex.getValue()[0] & 0xFF) - { - case 1: return _512; - case 2: return _1024; - case 3: return _2048; - case 4: return _4096; - } - throw new IllegalArgumentException(); - } - - static Object[] getTrustedCA(Extension ex) - { - byte[] buf = ex.getValue(); - int type = buf[0] & 0xFF; - try - { - switch (type) - { - case 0: - return new Object[] { new Integer(type), null }; - case 1: - case 3: - return new Object[] { new Integer(type), - Util.trim(buf, 1, 20) }; - case 2: - return new Object[] { new Integer(type), - new X500Principal(Util.trim(buf, 1, 20)) }; - } - } - catch (Exception x) - { - } - throw new IllegalArgumentException(); - } - - static String getSRPUsername(Extension ex) - { - int len = ex.getValue()[0] & 0xFF; - if (len > ex.getValue().length - 1) - throw new IllegalArgumentException(); - try - { - return new String(ex.getValue(), 1, len, "UTF-8"); - } - catch (UnsupportedEncodingException uee) - { - throw new Error(uee.toString()); - } - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Finished.java b/libjava/classpath/gnu/javax/net/ssl/provider/Finished.java index 8b9c220a527..9a2a4707aa0 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Finished.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Finished.java @@ -38,10 +38,10 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; final class Finished implements Handshake.Body { @@ -49,95 +49,125 @@ final class Finished implements Handshake.Body // Fields. // ------------------------------------------------------------------------- - /** TLSv1.x verify data. */ - private final byte[] verifyData; - - /** SSLv3 message digest pair. */ - private final byte[] md5, sha; + private final ByteBuffer buffer; + private final ProtocolVersion version; // Constructor. // ------------------------------------------------------------------------- - Finished(byte[] verifyData) + Finished (final ByteBuffer buffer, final ProtocolVersion version) { - this.verifyData = verifyData; - md5 = sha = null; + buffer.getClass (); + version.getClass (); + this.buffer = buffer; + this.version = version; } - Finished(byte[] md5, byte[] sha) + // Instance methods. + // ------------------------------------------------------------------------- + + public int length () { - this.md5 = md5; - this.sha = sha; - verifyData = null; + if (version.compareTo(ProtocolVersion.TLS_1) >= 0) + return 12; + if (version == ProtocolVersion.SSL_3) + return 36; + throw new IllegalArgumentException ("length for this version unknown"); } - // Class methods. - // ------------------------------------------------------------------------- - - static Finished read(InputStream in, CipherSuite suite) - throws IOException + byte[] verifyData() { - DataInputStream din = new DataInputStream(in); - if (suite.getVersion().equals(ProtocolVersion.SSL_3)) + if (version.compareTo(ProtocolVersion.TLS_1) >= 0) { - byte[] md5 = new byte[16]; - byte[] sha = new byte[20]; - din.readFully(md5); - din.readFully(sha); - return new Finished(md5, sha); + byte[] verify = new byte[12]; + buffer.position (0); + buffer.get (verify); + return verify; } - else + throw new IllegalArgumentException ("not TLSv1.0 or later"); + } + + byte[] md5Hash() + { + if (version == ProtocolVersion.SSL_3) { - byte[] buf = new byte[12]; - din.readFully(buf); - return new Finished(buf); + byte[] md5 = new byte[16]; + buffer.position (0); + buffer.get (md5); + return md5; } + throw new IllegalArgumentException ("not SSLv3"); } - // Instance methods. - // ------------------------------------------------------------------------- - - public void write(OutputStream out) throws IOException + byte[] shaHash() { - if (verifyData != null) - out.write(verifyData); - else + if (version == ProtocolVersion.SSL_3) { - out.write(md5); - out.write(sha); + byte[] sha = new byte[20]; + buffer.position (16); + buffer.get (sha); + return sha; } + throw new IllegalArgumentException ("not SSLv3"); + } + + void setVerifyData (final byte[] verifyData, final int offset) + { + if (version == ProtocolVersion.SSL_3) + throw new IllegalArgumentException ("not TLSv1"); + buffer.position (0); + buffer.put (verifyData, offset, 12); } - byte[] getVerifyData() + void setMD5Hash (final byte[] md5, final int offset) { - return verifyData; + if (version != ProtocolVersion.SSL_3) + throw new IllegalArgumentException ("not SSLv3"); + buffer.position (0); + buffer.put (md5, offset, 16); } - byte[] getMD5Hash() + void setShaHash (final byte[] sha, final int offset) { - return md5; + if (version != ProtocolVersion.SSL_3) + throw new IllegalArgumentException ("not SSLv3"); + buffer.position (16); + buffer.put (sha, offset, 20); } - byte[] getSHAHash() + public String toString () { - return sha; + return toString (null); } - public String toString() + public String toString (final String prefix) { - String nl = System.getProperty("line.separator"); - if (verifyData != null) + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) + out.print (prefix); + out.println ("struct {"); + if (prefix != null) + out.print (prefix); + if (version.compareTo(ProtocolVersion.TLS_1) >= 0) { - return "struct {" + nl + - " verifyData = " + Util.toHexString(verifyData, ':') + ";" + nl + - "} Finished;" + nl; + out.print (" verifyData = "); + out.print (Util.toHexString (verifyData (), ':')); } - else + else if (version == ProtocolVersion.SSL_3) { - return "struct {" + nl + - " md5Hash = " + Util.toHexString(md5, ':') + ";" + nl + - " shaHash = " + Util.toHexString(sha, ':') + ";" + nl + - "} Finished;" + nl; + out.print (" md5 = "); + out.print (Util.toHexString (md5Hash (), ':')); + out.println (';'); + if (prefix != null) + out.print (prefix); + out.print (" sha = "); + out.print (Util.toHexString (shaHash (), ':')); } + out.println (';'); + if (prefix != null) + out.print (prefix); + out.print ("} Finished;"); + return str.toString (); } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/GNUSecurityParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/GNUSecurityParameters.java deleted file mode 100644 index a04c3fd5c15..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/GNUSecurityParameters.java +++ /dev/null @@ -1,490 +0,0 @@ -/* GNUSecurityParameters.java -- SSL security parameters. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintWriter; - -import java.security.SecureRandom; -import java.security.Security; -import java.util.Arrays; -import java.util.zip.DataFormatException; -import java.util.zip.Deflater; -import java.util.zip.Inflater; - -import javax.net.ssl.SSLException; - -import gnu.javax.crypto.mac.IMac; -import gnu.javax.crypto.mode.IMode; -import gnu.java.security.prng.IRandom; -import gnu.java.security.prng.LimitReachedException; - -/** - * This class implements the {@link SecurityParameters} interface, using the - * GNU Crypto interface for ciphers and macs, and the JZlib package for - * record compression. - */ -class GNUSecurityParameters implements SecurityParameters -{ - - // Fields. - // ------------------------------------------------------------------------- - - private static final boolean DEBUG_RECORD_LAYER = false; - private static final PrintWriter debug = new PrintWriter (System.err, true); - - /** - * The CBC block cipher, if any. - */ - IMode inCipher, outCipher; - - /** - * The RC4 PRNG, if any. - */ - IRandom inRandom, outRandom; - - /** - * The MAC algorithm. - */ - IMac inMac, outMac; - - long inSequence, outSequence; - Session session; - ProtocolVersion version; - int fragmentLength; - private Inflater inflater; - private Deflater deflater; - - // Constructors. - // ------------------------------------------------------------------------- - - GNUSecurityParameters (Session session) - { - inSequence = 0; - outSequence = 0; - this.session = session; - fragmentLength = 16384; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public void reset() - { - inSequence = 0L; - outSequence = 0L; - inCipher = null; - outCipher = null; - inMac = null; - outMac = null; - inRandom = null; - outRandom = null; - deflater = null; - inflater = null; - } - - public ProtocolVersion getVersion() - { - return version; - } - - public void setVersion(ProtocolVersion version) - { - this.version = version; - } - - public void setInCipher(Object inCipher) - { - if (inCipher instanceof IMode) - { - this.inCipher = (IMode) inCipher; - inRandom = null; - } - else - { - inRandom = (IRandom) inCipher; - this.inCipher = null; - } - } - - public void setOutCipher(Object outCipher) - { - if (outCipher instanceof IMode) - { - this.outCipher = (IMode) outCipher; - outRandom = null; - } - else - { - outRandom = (IRandom) outCipher; - this.outCipher = null; - } - } - - public void setInMac(Object inMac) - { - this.inMac = (IMac) inMac; - inSequence = 0L; - } - - public void setOutMac(Object outMac) - { - this.outMac = (IMac) outMac; - outSequence = 0L; - } - - public void setDeflating (boolean deflate) - { - if (deflate) - { - if (deflater == null) - deflater = new Deflater(); - } - else - deflater = null; - } - - public void setInflating (boolean inflate) - { - if (inflate) - { - if (inflater == null) - inflater = new Inflater(); - } - else - inflater = null; - } - - public int getFragmentLength() - { - return fragmentLength; - } - - public void setFragmentLength (int fragmentLength) - { - this.fragmentLength = fragmentLength; - } - - /** - * Decrypt, verify, and decompress a fragment, returning the transformed - * fragment. - * - * @param fragment The fragment to decrypt. - * @param version The protocol version of the fragment's record. - * @param type The content type of the record. - * @return The decrypted fragment. - * @throws MacException If the MAC could not be verified. - * @throws OverflowException If the inflated data is too large. - * @throws SSLException If decompressing fails. - */ - public synchronized byte[] decrypt (byte[] fragment, ProtocolVersion version, - ContentType type) - throws MacException, OverflowException, SSLException - { - boolean badPadding = false; - - // Decrypt the ciphertext, if it is encrypted. - if (inCipher != null) - { - int bs = inCipher.currentBlockSize (); - for (int i = 0; i < fragment.length; i += bs) - { - inCipher.update (fragment, i, fragment, i); - } - int padLen = fragment[fragment.length-1] & 0xFF; - int len = fragment.length - padLen - 1; - if (version == ProtocolVersion.SSL_3) - { - // SSLv3 requires that the padding length not exceed the - // cipher's block size. - if (padLen >= bs) - { - badPadding = true; - } - } - else - { - for (int i = len; i < fragment.length; i++) - { - // If the TLS padding is wrong, throw a MAC exception below. - if ((fragment[i] & 0xFF) != padLen) - { - badPadding = true; - } - } - } - fragment = Util.trim (fragment, len); - } - else if (inRandom != null) - { - transformRC4 (fragment, 0, fragment.length, fragment, 0, inRandom); - } - - // Check the MAC. - if (inMac != null) - { - inMac.update ((byte) (inSequence >>> 56)); - inMac.update ((byte) (inSequence >>> 48)); - inMac.update ((byte) (inSequence >>> 40)); - inMac.update ((byte) (inSequence >>> 32)); - inMac.update ((byte) (inSequence >>> 24)); - inMac.update ((byte) (inSequence >>> 16)); - inMac.update ((byte) (inSequence >>> 8)); - inMac.update ((byte) inSequence); - inMac.update ((byte) type.getValue()); - if (version != ProtocolVersion.SSL_3) - { - inMac.update ((byte) version.getMajor()); - inMac.update ((byte) version.getMinor()); - } - int macLen = inMac.macSize (); - int fragLen = fragment.length - macLen; - inMac.update ((byte) (fragLen >>> 8)); - inMac.update ((byte) fragLen); - inMac.update (fragment, 0, fragLen); - byte[] mac = inMac.digest (); - inMac.reset (); - for (int i = 0; i < macLen; i++) - { - if (fragment[i + fragLen] != mac[i]) - { - throw new MacException(); - } - } - if (badPadding) - { - throw new MacException(); - } - fragment = Util.trim (fragment, fragLen); - } - - if (inflater != null) - { - byte[] buf = new byte[1024]; - ByteArrayOutputStream bout = new ByteArrayOutputStream (fragment.length << 1); - inflater.setInput (fragment); - int len; - try - { - while ((len = inflater.inflate (buf)) > 0) - { - bout.write (buf, 0, len); - if (bout.size() > fragmentLength + 1024) - throw new OverflowException ("inflated data too large"); - } - } - catch (DataFormatException dfe) - { - throw new SSLException (String.valueOf (dfe)); - } - fragment = bout.toByteArray(); - inflater.reset(); - } - - inSequence++; - return fragment; - } - - /** - * Compress, MAC, encrypt, and write a record. The fragment of the - * record is taken from buf as len bytes starting at - * offset. len must be smaller than or equal to - * the configured fragment length. - * - * @param buf The fragment bytes. - * @param off The offset from whence to read. - * @param len The size of the fragment. - * @param type The content-type for this record. - * @param out The output stream to write the record to. - * @throws IOException If an I/O error occurs. - * @throws SSLException If compression fails. - * @throws OverflowException If compression inflates the data beyond - * the fragment length plus 1024 bytes. - */ - public synchronized byte[] encrypt (byte[] buf, int off, int len, - ContentType type) - throws SSLException, OverflowException - { - // If we are compressing, do it. - if (deflater != null) - { - byte[] buf2 = new byte[1024]; - ByteArrayOutputStream bout = new ByteArrayOutputStream (len >>> 1); - deflater.setInput (buf, off, len); - deflater.finish(); - len = 0; - while ((len = deflater.deflate (buf2)) > 0) - bout.write (buf2, 0, len); - // This should technically never happen for zlib. - if (bout.size() > fragmentLength + 1024) - throw new OverflowException ("deflated data too large"); - buf = bout.toByteArray(); - off = 0; - len = buf.length; - deflater.reset(); - } - - // If there is a MAC, compute it. - byte[] mac = new byte[0]; - if (outMac != null) - { - outMac.update((byte) (outSequence >>> 56)); - outMac.update((byte) (outSequence >>> 48)); - outMac.update((byte) (outSequence >>> 40)); - outMac.update((byte) (outSequence >>> 32)); - outMac.update((byte) (outSequence >>> 24)); - outMac.update((byte) (outSequence >>> 16)); - outMac.update((byte) (outSequence >>> 8)); - outMac.update((byte) outSequence); - outMac.update((byte) type.getValue()); - if (version != ProtocolVersion.SSL_3) - { - outMac.update((byte) version.getMajor()); - outMac.update((byte) version.getMinor()); - } - outMac.update((byte) (len >>> 8)); - outMac.update((byte) len); - outMac.update(buf, off, len); - mac = outMac.digest(); - outMac.reset(); - } - outSequence++; - - // Compute padding if needed. - byte[] pad = new byte[0]; - if (outCipher != null) - { - int padLen = outCipher.currentBlockSize() - - ((len + mac.length + 1) % outCipher.currentBlockSize()); - // Use a random amount of padding if the protocol is TLS. - if (version != ProtocolVersion.SSL_3 && session.random != null) - { - padLen += (Math.abs(session.random.nextInt ()) & 7) * - outCipher.currentBlockSize(); - while (padLen > 255) - { - padLen -= outCipher.currentBlockSize(); - } - } - pad = new byte[padLen+1]; - Arrays.fill (pad, (byte) padLen); - } - - // Write the record header. - final int fraglen = len + mac.length + pad.length; - - // Encrypt and write the fragment. - if (outCipher != null) - { - byte[] buf2 = new byte[fraglen]; - System.arraycopy (buf, off, buf2, 0, len); - System.arraycopy (mac, 0, buf2, len, mac.length); - System.arraycopy (pad, 0, buf2, len + mac.length, pad.length); - int bs = outCipher.currentBlockSize (); - for (int i = 0; i < fraglen; i += bs) - { - outCipher.update (buf2, i, buf2, i); - } - return buf2; - } - else if (outRandom != null) - { - byte[] buf2 = new byte[fraglen]; - transformRC4 (buf, off, len, buf2, 0, outRandom); - transformRC4 (mac, 0, mac.length, buf2, len, outRandom); - return buf2; - } - else - { - if (mac.length == 0) - { - return Util.trim (buf, off, len); - } - else - { - return Util.concat (Util.trim (buf, off, len), mac); - } - } - } - - // Own methods. - // ------------------------------------------------------------------------- - - /** - * Encrypt/decrypt a byte array with the RC4 stream cipher. - * - * @param in The input data. - * @param off The input offset. - * @param len The number of bytes to transform. - * @param out The output buffer. - * @param outOffset The offest into the output buffer. - * @param random The ARCFOUR PRNG. - */ - private static void transformRC4(byte[] in, int off, int len, - byte[] out, int outOffset, IRandom random) - { - if (random == null) - { - throw new IllegalStateException(); - } - if (in == null || out == null) - { - throw new NullPointerException(); - } - if (off < 0 || off + len > in.length || - outOffset < 0 || outOffset + len > out.length) - { - throw new ArrayIndexOutOfBoundsException(); - } - - try - { - for (int i = 0; i < len; i++) - { - out[outOffset+i] = (byte) (in[off+i] ^ random.nextByte()); - } - } - catch (LimitReachedException cannotHappen) - { - throw new Error(cannotHappen.toString()); - } - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Handshake.java b/libjava/classpath/gnu/javax/net/ssl/provider/Handshake.java index ef9e72381c1..52f61424e4c 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Handshake.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Handshake.java @@ -1,4 +1,4 @@ -/* Handshake.java -- SSL handshake message. +/* Handshake.java -- SSL Handshake message. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -49,6 +49,8 @@ import java.io.PrintWriter; import java.io.StringReader; import java.io.StringWriter; +import java.nio.ByteBuffer; + import java.security.PublicKey; import java.util.ArrayList; @@ -56,306 +58,219 @@ import java.util.Collections; import javax.net.ssl.SSLProtocolException; -final class Handshake implements Constructed +/** + * An SSL handshake message. SSL handshake messages have the following + * form: + * + *

    +struct
    +{
    +  HandshakeType msg_type;
    +  uint24        length;
    +  select (msg_type)
    +  {
    +    case hello_request:       HelloRequest;
    +    case client_hello:        ClientHello;
    +    case server_hello:        ServerHello;
    +    case certificate:         Certificate;
    +    case server_key_exchange: ServerKeyExchange;
    +    case certificate_request: CertificateRequest;
    +    case server_hello_done:   ServerHelloDone;
    +    case certificate_verify:  CertificateVerify;
    +    case client_key_exchange: ClientKeyExchange;
    +    case finished:            Finished;
    +  } body;
    +};
    + */ +public final class Handshake implements Constructed { // Fields. // ------------------------------------------------------------------------- - private static final buffer BUF = new buffer(); - - private final Type type; - private final Body body; + private final ByteBuffer buffer; + private final CipherSuite suite; + private final ProtocolVersion version; // Constructors. // ------------------------------------------------------------------------- - Handshake(Type type, Body body) + public Handshake (final ByteBuffer buffer) { - this.type = type; - this.body = body; + this (buffer, null, ProtocolVersion.TLS_1_1); } - // Class methods. - // ------------------------------------------------------------------------- - - static Handshake read(byte[] buffer) throws IOException + public Handshake (final ByteBuffer buffer, final CipherSuite suite, + final ProtocolVersion version) { - return read(new ByteArrayInputStream(buffer)); + this.buffer = buffer; + this.suite = suite; + this.version = version; } - static Handshake read(byte[] buffer, CipherSuite suite, PublicKey key) - throws IOException - { - return read(new ByteArrayInputStream(buffer), suite, key); - } - - static Handshake read(InputStream in) throws IOException - { - return read(in, null, null); - } + // Instance methods. + // ------------------------------------------------------------------------- - static Handshake read(InputStream in, CipherSuite suite, PublicKey key) - throws IOException + /** + * Returns the handshake type. + * + * @return The handshake type. + */ + public Type type() { - return read(in, suite, key, null); + return Type.forInteger (buffer.get (0) & 0xFF); } - static Handshake read(InputStream in, CertificateType certType) - throws IOException + /** + * Returns the message length. + * + * @return The message length. + */ + public int length () { - return read(in, null, null, certType); + // Length is a uint24. + return buffer.getInt (0) & 0xFFFFFF; } - static Handshake read(InputStream in, CipherSuite suite, PublicKey key, - CertificateType certType) - throws IOException + /** + * Returns the handshake message body. Depending on the handshake + * type, some implementation of the Body interface is returned. + * + * @return The handshake body. + */ + public Body body() { - Type type = Type.read(in); - byte[] lenbuf = new byte[3]; - in.read(lenbuf); - int len = (lenbuf[0] & 0xFF) << 16 | (lenbuf[1] & 0xFF) << 8 - | (lenbuf[2] & 0xFF); - Body body = null; - if (type == Type.HELLO_REQUEST) - { - body = null; - } - else if (type == Type.CLIENT_HELLO) - { - // Most likely a V2 hello. If the first byte is 0x30, and if this - // is not a V2 client hello, then it is a V3 client hello with - // at least 1.5 million cipher specs, which is unlikely. - if (lenbuf[0] == 3 && (lenbuf[1] >= 0 && lenbuf[1] <= 2)) - { - ProtocolVersion vers = null; - switch (lenbuf[1]) - { - case 0: - vers = ProtocolVersion.SSL_3; - break; - case 1: - vers = ProtocolVersion.TLS_1; - break; - case 2: - vers = ProtocolVersion.TLS_1_1; - break; - } - int specLen = (lenbuf[2] & 0xFF) << 8 | (in.read() & 0xFF); - int idLen = (in.read() & 0xFF) << 8 | (in.read() & 0xFF); - int chalLen = (in.read() & 0xFF) << 8 | (in.read() & 0xFF); - - ArrayList suites = new ArrayList(specLen / 3); - for (int i = 0; i < specLen; i += 3) - { - if (in.read() == 0) - { - suites.add(CipherSuite.read(in).resolve(vers)); - } - else - { - in.read(); - in.read(); - } - } - byte[] id = new byte[idLen]; - in.read(id); - byte[] challenge = new byte[chalLen]; - in.read(challenge); - if (challenge.length > 32) - challenge = Util.trim(challenge, 32); - else if (challenge.length < 32) - { - byte[] b = new byte[32]; - System.arraycopy(challenge, 0, b, b.length - challenge.length, - challenge.length); - challenge = b; - } - int time = (challenge[0] & 0xFF) << 24 | (challenge[1] & 0xFF) << 16 - | (challenge[2] & 0xFF) << 8 | (challenge[3] & 0xFF); - Random rand = new Random(time, Util.trim(challenge, 4, 28)); - return new Handshake(Handshake.Type.CLIENT_HELLO, - new ClientHello(vers, rand, id, suites, - Collections.singletonList(CompressionMethod.NULL))); - } - // Since hello messages may contain extensions, we read the whole - // thing here. - byte[] buf = new byte[len]; - int count = 0; - while (count < len) - { - int l = in.read(buf, count, len - count); - if (l == -1) - { - throw new EOFException("unexpected end of input stream"); - } - count += l; - } - body = ClientHello.read(new ByteArrayInputStream(buf)); - } - else if (type == Type.SERVER_HELLO) - { - byte[] buf = new byte[len]; - int count = 0; - while (count < len) - { - int l = in.read(buf, count, len - count); - if (l == -1) - { - throw new EOFException("unexpected end of input stream"); - } - count += l; - } - body = ServerHello.read(new ByteArrayInputStream(buf)); - } - else if (type == Type.CERTIFICATE) - { - body = Certificate.read(in, certType); - } - else if (type == Type.SERVER_KEY_EXCHANGE) + Type type = type (); + ByteBuffer bodyBuffer = bodyBuffer (); + switch (type) { - body = ServerKeyExchange.read(in, suite, key); - } - else if (type == Type.CERTIFICATE_REQUEST) - { - body = CertificateRequest.read(in); - } - else if (type == Type.CERTIFICATE_VERIFY) - { - body = (CertificateVerify) CertificateVerify.read(in, suite, key); - } - else if (type == Type.CLIENT_KEY_EXCHANGE) - { - body = ClientKeyExchange.read(in, suite, key); - } - else if (type == Type.SERVER_HELLO_DONE) - { - body = null; - } - else if (type == Type.FINISHED) - { - body = Finished.read(in, suite); - } - else - { - throw new SSLProtocolException("unknown HandshakeType: " + - type.getValue()); - } + case HELLO_REQUEST: + return new HelloRequest (); - return new Handshake(type, body); - } + case CLIENT_HELLO: + return new ClientHello (bodyBuffer); - // Instance methods. - // ------------------------------------------------------------------------- + case SERVER_HELLO: + return new ServerHello (bodyBuffer); - public void write(OutputStream out) - { - throw new UnsupportedOperationException(); + case CERTIFICATE: + return new Certificate (bodyBuffer, CertificateType.X509); + + case SERVER_KEY_EXCHANGE: + return new ServerKeyExchange (bodyBuffer, suite); + + case CERTIFICATE_REQUEST: + return new CertificateRequest (bodyBuffer); + + case SERVER_HELLO_DONE: + return new ServerHelloDone (); + + case CERTIFICATE_VERIFY: + return new CertificateVerify (bodyBuffer, suite.signatureAlgorithm ()); + + case CLIENT_KEY_EXCHANGE: + return new ClientKeyExchange (bodyBuffer, suite, version); + + case FINISHED: + return new Finished (bodyBuffer, version); + + case CERTIFICATE_URL: + case CERTIFICATE_STATUS: + throw new UnsupportedOperationException ("FIXME"); + } + throw new IllegalArgumentException ("unknown handshake type " + type); } - public int write(OutputStream out, ProtocolVersion version) - throws IOException + /** + * Returns a subsequence of the underlying buffer, containing only + * the bytes that compose the handshake body. + * + * @return The body's byte buffer. + */ + public ByteBuffer bodyBuffer () { - out.write(type.getValue()); - if (body == null) - { - out.write(0); - out.write(0); - out.write(0); - return 4; - } - else - { - ByteArrayOutputStream bout = BUF.getBuffer(); - bout.reset(); - if (body instanceof ServerKeyExchange) - { - ((ServerKeyExchange) body).write(bout, version); - } - else if (body instanceof ClientKeyExchange) - { - ((ClientKeyExchange) body).write(bout, version); - } - else if (body instanceof CertificateVerify) - { - ((CertificateVerify) body).write(bout, version); - } - else - { - body.write(bout); - } - out.write(bout.size() >>> 16 & 0xFF); - out.write(bout.size() >>> 8 & 0xFF); - out.write(bout.size() & 0xFF); - bout.writeTo(out); - return 4 + bout.size(); - } + int length = length (); + return ((ByteBuffer) buffer.position (4).limit (4 + length)).slice (); } - Type getType() + /** + * Sets the handshake body type. + * + * @param type The handshake type. + */ + public void setType (final Type type) { - return type; + buffer.put (0, (byte) type.getValue ()); } - Body getBody() + /** + * Sets the length of the handshake body. + * + * @param length The handshake body length. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writable. + * @throws IllegalArgumentException of length is not + * between 0 and 16777215, inclusive. + */ + public void setLength (final int length) { - return body; + if (length < 0 || length > 0xFFFFFF) + throw new IllegalArgumentException ("length " + length + " out of range;" + + " must be between 0 and 16777215"); + buffer.put (1, (byte) (length >>> 16)); + buffer.put (2, (byte) (length >>> 8)); + buffer.put (3, (byte) length); } public String toString() + { + return toString (null); + } + + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); - String nl = System.getProperty("line.separator"); - StringBuffer buf = new StringBuffer(); + if (prefix != null) out.print (prefix); out.println("struct {"); - out.println(" type = " + type + ";"); - if (body != null) - { - BufferedReader r = new BufferedReader(new StringReader(body.toString())); - String s; - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - } - out.println("} Handshake;"); + if (prefix != null) out.print (prefix); + out.print (" type: "); + out.print (type ()); + out.println (";"); + Body body = body (); + out.println (body.toString (prefix != null ? (prefix + " ") : " ")); + if (prefix != null) out.print (prefix); + out.print ("} Handshake;"); return str.toString(); } // Inner class. // ------------------------------------------------------------------------- - static interface Body extends Constructed + public static interface Body extends Constructed { + int length (); + + String toString (String prefix); } - static class Type implements Enumerated + public static enum Type { - - // Constants and fields. - // ----------------------------------------------------------------------- - - public static final Type - HELLO_REQUEST = new Type( 0), CLIENT_HELLO = new Type( 1), - SERVER_HELLO = new Type( 2), CERTIFICATE = new Type(11), - SERVER_KEY_EXCHANGE = new Type(12), CERTIFICATE_REQUEST = new Type(13), - SERVER_HELLO_DONE = new Type(14), CERTIFICATE_VERIFY = new Type(15), - CLIENT_KEY_EXCHANGE = new Type(16), FINISHED = new Type(20), - CERTIFICATE_URL = new Type(21), CERTIFICATE_STATUS = new Type(22); + HELLO_REQUEST ( 0), + CLIENT_HELLO ( 1), + SERVER_HELLO ( 2), + CERTIFICATE (11), + SERVER_KEY_EXCHANGE (12), + CERTIFICATE_REQUEST (13), + SERVER_HELLO_DONE (14), + CERTIFICATE_VERIFY (15), + CLIENT_KEY_EXCHANGE (16), + FINISHED (20), + CERTIFICATE_URL (21), + CERTIFICATE_STATUS (22); private final int value; - // Constructor. - // ----------------------------------------------------------------------- - private Type(int value) { this.value = value; @@ -364,18 +279,20 @@ final class Handshake implements Constructed // Class methods. // ----------------------------------------------------------------------- - public static Type read(InputStream in) throws IOException + /** + * Convert a raw handshake type value to a type enum value. + * + * @return The corresponding enum value for the raw integer value. + * @throws IllegalArgumentException If the value is not a known handshake + * type. + */ + public static Type forInteger (final int value) { - int i = in.read(); - if (i == -1) + switch (value & 0xFF) { - throw new EOFException("unexpected end of input stream"); - } - switch (i & 0xFF) - { - case 0: return HELLO_REQUEST; - case 1: return CLIENT_HELLO; - case 2: return SERVER_HELLO; + case 0: return HELLO_REQUEST; + case 1: return CLIENT_HELLO; + case 2: return SERVER_HELLO; case 11: return CERTIFICATE; case 12: return SERVER_KEY_EXCHANGE; case 13: return CERTIFICATE_REQUEST; @@ -385,56 +302,13 @@ final class Handshake implements Constructed case 20: return FINISHED; case 21: return CERTIFICATE_URL; case 22: return CERTIFICATE_STATUS; - default: return new Type(i); + default: throw new IllegalArgumentException ("unsupported value type " + value); } } - // Instance methods. - // ----------------------------------------------------------------------- - - public byte[] getEncoded() - { - return new byte[] { (byte) value }; - } - public int getValue() { return value; } - - public String toString() - { - switch (value) - { - case 0: return "hello_request"; - case 1: return "client_hello"; - case 2: return "server_hello"; - case 11: return "certificate"; - case 12: return "server_key_exchange"; - case 13: return "certificate_request"; - case 14: return "server_hello_done"; - case 15: return "certificate_verify"; - case 16: return "client_key_exchange"; - case 20: return "finished"; - case 21: return "certificate_url"; - case 22: return "certificate_status"; - default: return "unknown(" + value + ")"; - } - } - } - - private static class buffer extends ThreadLocal - { - static final int SIZE = 2048; - - protected Object initialValue() - { - return new ByteArrayOutputStream(SIZE); - } - - ByteArrayOutputStream getBuffer() - { - return (ByteArrayOutputStream) get(); - } } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java b/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java new file mode 100644 index 00000000000..0ffc26c2b5d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/HelloRequest.java @@ -0,0 +1,70 @@ +/* HelloRequest.java -- SSL HelloRequest handshake message. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * The handshake body for a HelloRequest handshake message. + * + *
    struct { } HelloRequest;
    + */ +public final class HelloRequest implements Handshake.Body +{ + public HelloRequest () + { + } + + public String toString (final String prefix) + { + StringBuffer str = new StringBuffer (); + if (prefix != null) + str.append (prefix); + str.append ("HelloRequest { };"); + return str.toString (); + } + + public int length () + { + return 0; + } + + public String toString () + { + return toString (null); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/InputSecurityParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/InputSecurityParameters.java new file mode 100644 index 00000000000..13a3ef814de --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/InputSecurityParameters.java @@ -0,0 +1,336 @@ +/* SecurityParameters.java -- SSL security parameters. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; +import gnu.java.security.util.ByteArray; +import gnu.java.security.util.ByteBufferOutputStream; + +import java.nio.BufferOverflowException; +import java.nio.ByteBuffer; + +import java.util.Arrays; +import java.util.logging.Level; +import java.util.zip.DataFormatException; +import java.util.zip.Inflater; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.Mac; +import javax.crypto.ShortBufferException; + +import javax.net.ssl.SSLException; + +public class InputSecurityParameters +{ + private static final SystemLogger logger = SystemLogger.SYSTEM; + private final Cipher cipher; + private final Mac mac; + private final Inflater inflater; + private SessionImpl session; + private final CipherSuite suite; + private long sequence; + + public InputSecurityParameters (final Cipher cipher, final Mac mac, + final Inflater inflater, + final SessionImpl session, + final CipherSuite suite) + { + this.cipher = cipher; + this.mac = mac; + this.inflater = inflater; + this.session = session; + this.suite = suite; + sequence = 0; + } + + /** + * Decrypt a record, storing the decrypted fragment into the given array + * of byte buffers. + * + * @param record The input record. + * @param output The output buffers. + * @param offset The offset of the first buffer to use. + * @param length The number of buffers to use. + * @return The number of bytes put in the output buffers. + * @throws DataFormatException If decompression fails. + * @throws IllegalBlockSizeException If the current cipher is a block cipher, + * and the input fragment is not a multiple of the block size. + * @throws MacException If verifying the MAC fails. + * @throws SSLException ??? + * @throws ShortBufferException + */ + public int decrypt(Record record, ByteBuffer[] output, int offset, int length) + throws DataFormatException, IllegalBlockSizeException, + MacException, SSLException, ShortBufferException + { + return decrypt(record, output, offset, length, null); + } + + /** + * Decrypt a record, storing the decrypted fragment into the given growable + * buffer. + * + * @param record The input record. + * @param outputStream The output buffer. + * @return The number of bytes put into the output buffer. + * @throws DataFormatException + * @throws IllegalBlockSizeException + * @throws MacException + * @throws SSLException + * @throws ShortBufferException + */ + public int decrypt(Record record, ByteBufferOutputStream outputStream) + throws DataFormatException, IllegalBlockSizeException, + MacException, SSLException, ShortBufferException + { + return decrypt(record, null, 0, 0, outputStream); + } + + private int decrypt(Record record, ByteBuffer[] output, int offset, int length, + ByteBufferOutputStream outputStream) + throws DataFormatException, IllegalBlockSizeException, + MacException, SSLException, ShortBufferException + { + boolean badPadding = false; + ByteBuffer fragment; + if (cipher != null) + { + ByteBuffer input = record.fragment(); + fragment = ByteBuffer.allocate(input.remaining()); + cipher.update(input, fragment); + } + else + fragment = record.fragment(); + + if (Debug.DEBUG_DECRYPTION) + logger.logv(Component.SSL_RECORD_LAYER, "decrypted fragment:\n{0}", + Util.hexDump((ByteBuffer) fragment.duplicate().position(0), " >> ")); + + int fragmentLength = record.length(); + int maclen = 0; + if (mac != null) + maclen = mac.getMacLength(); + fragmentLength -= maclen; + + int padlen = 0; + int padRemoveLen = 0; + if (!suite.isStreamCipher ()) + { + padlen = fragment.get(record.length() - 1) & 0xFF; + padRemoveLen = padlen + 1; + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "padlen:{0}", padlen); + + if (record.version() == ProtocolVersion.SSL_3) + { + // In SSLv3, the padding length must not be larger than + // the cipher's block size. + if (padlen > cipher.getBlockSize ()) + badPadding = true; + } + else if (record.version().compareTo(ProtocolVersion.TLS_1) >= 0) + { + // In TLSv1 and later, the padding must be `padlen' copies of the + // value `padlen'. + byte[] pad = new byte[padlen]; + ((ByteBuffer) fragment.duplicate().position(record.length() - padlen - 1)).get(pad); + for (int i = 0; i < pad.length; i++) + if ((pad[i] & 0xFF) != padlen) + badPadding = true; + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "TLSv1.x padding\n{0}", + new ByteArray(pad)); + } + + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "padding bad? {0}", + badPadding); + if (!badPadding) + fragmentLength = fragmentLength - padRemoveLen; + } + + int ivlen = 0; + if (session.version.compareTo(ProtocolVersion.TLS_1_1) >= 0 + && !suite.isStreamCipher()) + ivlen = cipher.getBlockSize(); + + // Compute and check the MAC. + if (mac != null) + { + mac.update((byte) (sequence >>> 56)); + mac.update((byte) (sequence >>> 48)); + mac.update((byte) (sequence >>> 40)); + mac.update((byte) (sequence >>> 32)); + mac.update((byte) (sequence >>> 24)); + mac.update((byte) (sequence >>> 16)); + mac.update((byte) (sequence >>> 8)); + mac.update((byte) sequence); + mac.update((byte) record.getContentType().getValue()); + ProtocolVersion version = record.version(); + if (version != ProtocolVersion.SSL_3) + { + mac.update((byte) version.major()); + mac.update((byte) version.minor()); + } + mac.update((byte) ((fragmentLength - ivlen) >>> 8)); + mac.update((byte) (fragmentLength - ivlen)); + ByteBuffer content = + (ByteBuffer) fragment.duplicate().position(ivlen).limit(fragmentLength); + mac.update(content); + byte[] mac1 = mac.doFinal (); + byte[] mac2 = new byte[maclen]; + mac.reset(); + ((ByteBuffer) fragment.duplicate().position(fragmentLength)).get(mac2); + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "mac1:{0} mac2:{1}", + Util.toHexString(mac1, ':'), Util.toHexString(mac2, ':')); + if (!Arrays.equals (mac1, mac2)) + badPadding = true; + } + + // We always say "bad MAC" and not "bad padding," because saying + // the latter will leak information to an attacker. + if (badPadding) + throw new MacException (); + + // Inflate the compressed bytes. + int produced = 0; + if (inflater != null) + { + ByteBufferOutputStream out = new ByteBufferOutputStream(fragmentLength); + byte[] inbuffer = new byte[1024]; + byte[] outbuffer = new byte[1024]; + boolean done = false; + if (record.version().compareTo(ProtocolVersion.TLS_1_1) >= 0 + && !suite.isStreamCipher()) + fragment.position (cipher.getBlockSize()); + else + fragment.position(0); + fragment.limit(fragmentLength); + + while (!done) + { + int l; + if (inflater.needsInput()) + { + l = Math.min(inbuffer.length, fragment.remaining()); + fragment.get(inbuffer, 0, l); + inflater.setInput(inbuffer); + } + + l = inflater.inflate(outbuffer); + out.write(outbuffer, 0, l); + done = !fragment.hasRemaining() && inflater.finished(); + } + + ByteBuffer outbuf = out.buffer(); + if (outputStream != null) + { + byte[] buf = new byte[1024]; + while (outbuf.hasRemaining()) + { + int l = Math.min(outbuf.remaining(), buf.length); + outbuf.get(buf, 0, l); + outputStream.write(buf, 0, l); + produced += l; + } + } + else + { + int i = offset; + while (outbuf.hasRemaining() && i < offset + length) + { + int l = Math.min(output[i].remaining(), outbuf.remaining()); + ByteBuffer b = (ByteBuffer) + outbuf.duplicate().limit(outbuf.position() + l); + output[i++].put(b); + outbuf.position(outbuf.position() + l); + produced += l; + } + if (outbuf.hasRemaining()) + throw new BufferOverflowException(); + } + } + else + { + ByteBuffer outbuf = (ByteBuffer) + fragment.duplicate().position(0).limit(record.length() - maclen - padRemoveLen); + if (record.version().compareTo(ProtocolVersion.TLS_1_1) >= 0 + && !suite.isStreamCipher()) + outbuf.position(cipher.getBlockSize()); + if (outputStream != null) + { + byte[] buf = new byte[1024]; + while (outbuf.hasRemaining()) + { + int l = Math.min(outbuf.remaining(), buf.length); + outbuf.get(buf, 0, l); + outputStream.write(buf, 0, l); + produced += l; + } + } + else + { + int i = offset; + while (outbuf.hasRemaining() && i < offset + length) + { + int l = Math.min(output[i].remaining(), outbuf.remaining()); + ByteBuffer b = (ByteBuffer) outbuf.duplicate().limit(outbuf.position() + l); + output[i++].put(b); + outbuf.position(outbuf.position() + l); + produced += l; + } + if (outbuf.hasRemaining()) + throw new BufferOverflowException(); + } + } + + sequence++; + + return produced; + } + + CipherSuite cipherSuite () + { + return suite; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/JCESecurityParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/JCESecurityParameters.java deleted file mode 100644 index 6663c97b59d..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/JCESecurityParameters.java +++ /dev/null @@ -1,307 +0,0 @@ -/* JCESecurityParameters.java -- JCE-based security parameters. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.ByteArrayOutputStream; - -import java.util.Arrays; -import java.util.zip.DataFormatException; -import java.util.zip.Deflater; -import java.util.zip.Inflater; - -import javax.crypto.BadPaddingException; -import javax.crypto.Cipher; -import javax.crypto.IllegalBlockSizeException; -import javax.crypto.Mac; - -import javax.net.ssl.SSLException; - -class JCESecurityParameters implements SecurityParameters -{ - - // Fields. - // ------------------------------------------------------------------------- - - private Cipher inCipher, outCipher; - private Mac inMac, outMac; - private Inflater inflater; - private Deflater deflater; - private int fragmentLength; - private long inSequence, outSequence; - private ProtocolVersion version; - - // Constructors. - // ------------------------------------------------------------------------- - - JCESecurityParameters () - { - fragmentLength = 16384; - inSequence = 0L; - outSequence = 0L; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public void reset() - { - inCipher = null; - outCipher = null; - inMac = null; - outMac = null; - deflater = null; - inflater = null; - } - - public void setInCipher (Object inCipher) - { - this.inCipher = (Cipher) inCipher; - } - - public void setOutCipher (Object outCipher) - { - this.outCipher = (Cipher) outCipher; - } - - public void setInMac (Object inMac) - { - this.inMac = (Mac) inMac; - inSequence = 0L; - } - - public void setOutMac (Object outMac) - { - this.outMac = (Mac) outMac; - outSequence = 0L; - } - - public void setDeflating (boolean deflate) - { - if (deflate) - { - if (deflater == null) - deflater = new Deflater(); - } - else - deflater = null; - } - - public void setInflating (boolean inflate) - { - if (inflate) - { - if (inflater == null) - inflater = new Inflater(); - } - else - inflater = null; - } - - public int getFragmentLength() - { - return fragmentLength; - } - - public void setFragmentLength (int fragmentLength) - { - this.fragmentLength = fragmentLength; - } - - public ProtocolVersion getVersion() - { - return version; - } - - public void setVersion (ProtocolVersion version) - { - this.version = version; - } - - public synchronized byte[] decrypt (byte[] fragment, ProtocolVersion version, - ContentType type) - throws MacException, OverflowException, SSLException - { - boolean badpad = false; - if (inCipher != null) - { - // We imagine that the JCE would be used in cases where hardware - // acceleration is available, since it isn't really that useful for - // pure Java crypto. We decrypt (and encrypt, below) in one go - // to minimize (potential) calls to native methods. - try - { - fragment = inCipher.doFinal (fragment); - } - catch (BadPaddingException bpe) - { - badpad = true; - } - catch (IllegalBlockSizeException ibse) - { - badpad = true; - } - } - - if (inMac != null) - { - int macLen = inMac.getMacLength(); - int fragLen = fragment.length - macLen; - byte[] mac = Util.trim (fragment, fragLen, macLen); - fragment = Util.trim (fragment, fragLen); - inMac.update ((byte) (inSequence >>> 56)); - inMac.update ((byte) (inSequence >>> 48)); - inMac.update ((byte) (inSequence >>> 40)); - inMac.update ((byte) (inSequence >>> 32)); - inMac.update ((byte) (inSequence >>> 24)); - inMac.update ((byte) (inSequence >>> 16)); - inMac.update ((byte) (inSequence >>> 8)); - inMac.update ((byte) inSequence); - inMac.update ((byte) type.getValue()); - if (version != ProtocolVersion.SSL_3) - { - inMac.update ((byte) version.getMajor()); - inMac.update ((byte) version.getMinor()); - } - inMac.update ((byte) (fragLen >>> 8)); - inMac.update ((byte) fragLen); - inMac.update (fragment); - if (!Arrays.equals (mac, inMac.doFinal()) || badpad) - throw new MacException(); - } - - if (inflater != null) - { - byte[] buf = new byte[1024]; - ByteArrayOutputStream bout = new ByteArrayOutputStream (fragment.length << 1); - inflater.setInput (fragment); - int len; - try - { - while ((len = inflater.inflate (buf)) > 0) - { - bout.write (buf, 0, len); - if (bout.size() > fragmentLength + 1024) - throw new OverflowException ("inflated data too large"); - } - } - catch (DataFormatException dfe) - { - throw new SSLException (String.valueOf (dfe)); - } - fragment = bout.toByteArray(); - inflater.reset(); - } - - inSequence++; - return fragment; - } - - public synchronized byte[] encrypt (byte[] fragment, int off, int len, - ContentType type) - throws OverflowException, SSLException - { - if (deflater != null) - { - byte[] buf = new byte[1024]; - ByteArrayOutputStream bout = new ByteArrayOutputStream (len >>> 1); - deflater.setInput (fragment, off, len); - deflater.finish(); - len = 0; - while ((len = deflater.deflate (buf)) > 0) - bout.write (buf, 0, len); - // This should technically never happen for zlib. - if (bout.size() > fragmentLength + 1024) - throw new OverflowException ("deflated data too large"); - fragment = bout.toByteArray(); - off = 0; - len = fragment.length; - deflater.reset(); - } - - if (outMac != null) - { - outMac.update ((byte) (inSequence >>> 56)); - outMac.update ((byte) (inSequence >>> 48)); - outMac.update ((byte) (inSequence >>> 40)); - outMac.update ((byte) (inSequence >>> 32)); - outMac.update ((byte) (inSequence >>> 24)); - outMac.update ((byte) (inSequence >>> 16)); - outMac.update ((byte) (inSequence >>> 8)); - outMac.update ((byte) inSequence); - outMac.update ((byte) type.getValue()); - if (version != ProtocolVersion.SSL_3) - { - outMac.update ((byte) version.getMajor()); - outMac.update ((byte) version.getMinor()); - } - outMac.update ((byte) (len >>> 8)); - outMac.update ((byte) len); - outMac.update (fragment, off, len); - fragment = Util.concat (fragment, outMac.doFinal()); - off = 0; - len = fragment.length; - } - - if (outCipher != null) - { - try - { - fragment = outCipher.doFinal (fragment, off, len); - } - catch (BadPaddingException shouldNeverHappen) - { - // This is nonsensical. Don't even pretend that we can handle this. - throw new RuntimeException ("bad padding thrown while encrypting"); - } - catch (IllegalBlockSizeException ibse) - { - // Ditto. - throw new RuntimeException ("illegal block size thrown while encrypting"); - } - off = 0; - len = fragment.length; - } - - outSequence++; - if (off == 0 && len == fragment.length) - return fragment; - else - return Util.trim (fragment, off, len); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/JDBCSessionContext.java b/libjava/classpath/gnu/javax/net/ssl/provider/JDBCSessionContext.java deleted file mode 100644 index 2b9b1403425..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/JDBCSessionContext.java +++ /dev/null @@ -1,356 +0,0 @@ -/* JDBCSessionContext.java -- database persistent sessions. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import java.security.SecureRandom; -import java.security.cert.Certificate; -import java.security.cert.CertificateFactory; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Timestamp; -import java.sql.Types; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Enumeration; -import java.util.TreeSet; -import java.util.Vector; - -import javax.net.ssl.SSLSession; - -/** - * The SQL table this class stores sessions in, called SESSIONS, - * looks like this: - * - *
    - * TABLE SESSIONS (
    - *   ID             VARBINARY(32) PRIMARY KEY UNIQUE NOT NULL,
    - *   CREATED        TIMESTAMP NOT NULL,
    - *   LAST_ACCESSED  TIMESTAMP NOT NULL,
    - *   PROTOCOL       VARCHAR(7) NOT NULL,
    - *   SUITE          VARCHAR(255) NOT NULL,
    - *   PEER_HOST      TEXT NOT NULL,
    - *   PEER_CERT_TYPE VARCHAR(32),
    - *   PEER_CERTS     BLOB,
    - *   CERT_TYPE      VARCHAR(32),
    - *   CERTS          BLOB,
    - *   SECRET         VARBINARY(48) NOT NULL
    - * )
    - * 
    - * - *

    Note that the master secret for sessions is not protected before - * being inserted into the database; it is up to the system to protect - * the stored data from unauthorized access. - */ -class JDBCSessionContext extends SessionContext -{ - - // Fields. - // ------------------------------------------------------------------------- - - protected Connection connection; - protected PreparedStatement selectById; - protected PreparedStatement insert; - protected PreparedStatement selectTimestamp; - protected PreparedStatement updateTimestamp; - protected PreparedStatement deleteSession; - - // Constructor. - // ------------------------------------------------------------------------- - - JDBCSessionContext() throws SQLException - { - String url = Util.getSecurityProperty("jessie.SessionContext.jdbc.url"); - String user = Util.getSecurityProperty("jessie.SessionContext.jdbc.user"); - String passwd = Util.getSecurityProperty("jessie.SessionContext.jdbc.password"); - if (url == null) - { - throw new IllegalArgumentException("no JDBC URL"); - } - if (user == null || passwd == null) - { - connection = DriverManager.getConnection(url); - } - else - { - connection = DriverManager.getConnection(url, user, passwd); - } - selectById = - connection.prepareStatement("SELECT * FROM SESSIONS WHERE ID = ?"); - insert = connection.prepareStatement("INSERT INTO SESSIONS VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); - selectTimestamp = - connection.prepareStatement("SELECT CREATED FROM SESSIONS WHERE ID = ?"); - updateTimestamp = - connection.prepareStatement("UPDATE SESSIONS SET LAST_ACCESSED = ? WHERE ID = ?"); - deleteSession = - connection.prepareStatement("DELETE FROM SESSIONS WHERE ID = ?"); - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public synchronized Enumeration getIds() - { - Vector ids = new Vector(); - try - { - Statement stmt = connection.createStatement(); - ResultSet rs = stmt.executeQuery("SELECT ID FROM SESSIONS"); - while (rs.next()) - { - byte[] id = rs.getBytes("ID"); - ids.add(id); - } - } - catch (SQLException sqle) - { - } - return ids.elements(); - } - - public synchronized SSLSession getSession(byte[] sessionId) - { - Session session = (Session) super.getSession(sessionId); - if (session == null) - { - try - { - selectById.setBytes(1, sessionId); - ResultSet rs = selectById.executeQuery(); - if (rs.next()) - { - session = new Session(rs.getTimestamp("CREATED").getTime()); - session.enabledSuites = new ArrayList(SSLSocket.supportedSuites); - session.enabledProtocols = new TreeSet(SSLSocket.supportedProtocols); - session.random = new SecureRandom(); - session.context = this; - session.sessionId = new Session.ID(rs.getBytes("ID")); - session.setLastAccessedTime(rs.getTimestamp("LAST_ACCESSED").getTime()); - long elapsed = System.currentTimeMillis() - session.getLastAccessedTime(); - if ((int) (elapsed / 1000L) > timeout) - { - removeSession(session.sessionId); - return null; - } - session.peerHost = rs.getString("PEER_HOST"); - String protocol = rs.getString("PROTOCOL"); - if (protocol.equals("SSLv3")) - { - session.protocol = ProtocolVersion.SSL_3; - } - else if (protocol.equals("TLSv1")) - { - session.protocol = ProtocolVersion.TLS_1; - } - else if (protocol.equals("TLSv1.1")) - { - session.protocol = ProtocolVersion.TLS_1_1; - } - else - { - return null; - } - session.cipherSuite = CipherSuite.forName(rs.getString("SUITE")); - String type = rs.getString("PEER_CERT_TYPE"); - boolean wasNull = rs.wasNull(); - InputStream certs = null; - if (!wasNull) - { - certs = rs.getBinaryStream("PEER_CERTS"); - wasNull = rs.wasNull(); - } - if (!wasNull) - { - CertificateFactory cf = CertificateFactory.getInstance(type); - session.peerCerts = (Certificate[]) - cf.generateCertificates(certs).toArray(new Certificate[0]); - session.peerVerified = true; - } - type = rs.getString("CERT_TYPE"); - wasNull = rs.wasNull(); - if (!wasNull) - { - certs = rs.getBinaryStream("CERTS"); - wasNull = rs.wasNull(); - } - if (!wasNull) - { - CertificateFactory cf = CertificateFactory.getInstance(type); - session.localCerts = (Certificate[]) - cf.generateCertificates(certs).toArray(new Certificate[0]); - } - session.masterSecret = rs.getBytes("SECRET"); - if (cacheSize == 0 || sessions.size() < cacheSize) - { - sessions.put(session.sessionId, session); - } - } - } - catch (Exception ex) - { - } - } - return session; - } - - synchronized boolean addSession(Session.ID id, Session s) - { - if (containsSessionID(id)) - { - return false; - } - try - { - insert.setBytes(1, id.getId()); - insert.setTimestamp(2, new Timestamp(s.getCreationTime())); - insert.setTimestamp(3, new Timestamp(s.getLastAccessedTime())); - insert.setString(4, s.getProtocol()); - insert.setString(5, s.getCipherSuite()); - insert.setString(6, s.peerHost); - if (s.peerCerts != null && s.peerCerts.length > 0) - { - insert.setString(7, s.peerCerts[0].getType()); - insert.setBytes(8, certs(s.peerCerts)); - } - else - { - insert.setNull(7, Types.VARCHAR); - insert.setNull(8, Types.LONGVARBINARY); - } - if (s.localCerts != null && s.localCerts.length > 0) - { - insert.setString(9, s.localCerts[0].getType()); - insert.setBytes(10, certs(s.localCerts)); - } - else - { - insert.setNull(9, Types.VARCHAR); - insert.setNull(10, Types.LONGVARBINARY); - } - insert.setBytes(11, s.masterSecret); - insert.executeUpdate(); - super.addSession(id, s); - } - catch (SQLException sqle) - { - return false; - } - return true; - } - - synchronized boolean containsSessionID(Session.ID sessionId) - { - try - { - selectTimestamp.setBytes(1, sessionId.getId()); - ResultSet rs = selectTimestamp.executeQuery(); - if (!rs.next()) - { - return false; - } - Timestamp ts = rs.getTimestamp("CREATED"); - if (rs.wasNull()) - { - return false; - } - long elapsed = System.currentTimeMillis() - ts.getTime(); - if ((int) (elapsed / 1000) > timeout) - { - removeSession(sessionId); - return false; - } - return true; - } - catch (SQLException sqle) - { - return false; - } - } - - protected boolean removeSession(Session.ID sessionId) - { - super.removeSession(sessionId); - try - { - deleteSession.setBytes(1, sessionId.getId()); - return deleteSession.executeUpdate() > 0; - } - catch (SQLException sqle) - { - } - return false; - } - - synchronized void notifyAccess(Session session) - { - try - { - updateTimestamp.setTimestamp(1, new Timestamp(session.getLastAccessedTime())); - updateTimestamp.setBytes(2, session.getId()); - updateTimestamp.executeUpdate(); - } - catch (SQLException sqle) - { - } - } - - private byte[] certs(Certificate[] certs) - { - ByteArrayOutputStream out = new ByteArrayOutputStream(2048); - for (int i = 0; i < certs.length; i++) - { - try - { - out.write(certs[i].getEncoded()); - } - catch (Exception x) - { - } - } - return out.toByteArray(); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Jessie.java b/libjava/classpath/gnu/javax/net/ssl/provider/Jessie.java index 14b671d0230..6bd68b3850f 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Jessie.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Jessie.java @@ -59,31 +59,42 @@ import java.security.Provider; */ public class Jessie extends Provider { + private static final long serialVersionUID = -1; - public static final String VERSION = "1.0.0"; - public static final double VERSION_DOUBLE = 1.0; + public static final String VERSION = "2.0.0"; + public static final double VERSION_DOUBLE = 2.0; public Jessie() { super("Jessie", VERSION_DOUBLE, - "Implementing SSLv3, TLSv1 SSL Contexts; X.509 Key Manager Factories;" + - System.getProperty("line.separator") + - "X.509 and SRP Trust Manager Factories, continuously-seeded secure random." ); + "Implementing TLSv1.1, with SSLv3, TLSv1.0 compatibility modes; " + + "X.509 Key Manager Factory; " + + "X.509 Trust Manager Factory; " + + "SSLv3 MD5 and SHA Mac."); - AccessController.doPrivileged(new PrivilegedAction() + AccessController.doPrivileged(new PrivilegedAction() { public Object run() { - put("SSLContext.SSLv3", Context.class.getName()); - put("Alg.Alias.SSLContext.SSL", "SSLv3"); - put("Alg.Alias.SSLContext.TLSv1", "SSLv3"); - put("Alg.Alias.SSLContext.TLS", "SSLv3"); - //put("Alg.Alias.SSLContext.TLSv1.1", "SSLv3"); + put("SSLContext.TLSv1.1", SSLContextImpl.class.getName()); + put("Alg.Alias.SSLContext.SSLv3", "TLSv1.1"); + put("Alg.Alias.SSLContext.TLSv1", "TLSv1.1"); + put("Alg.Alias.SSLContext.TLSv1.0", "TLSv1.1"); + put("Alg.Alias.SSLContext.TLS", "TLSv1.1"); + put("Alg.Alias.SSLContext.SSL", "TLSv1.1"); put("KeyManagerFactory.JessieX509", X509KeyManagerFactory.class.getName()); put("TrustManagerFactory.JessieX509", X509TrustManagerFactory.class.getName()); - put("TrustManagerFactory.SRP", SRPTrustManagerFactory.class.getName()); + put("KeyManagerFactory.JessiePSK", PreSharedKeyManagerFactoryImpl.class.getName()); + //put("TrustManagerFactory.SRP", SRPTrustManagerFactory.class.getName()); + put("Mac.SSLv3HMac-MD5", SSLv3HMacMD5Impl.class.getName()); + put("Mac.SSLv3HMac-SHA", SSLv3HMacSHAImpl.class.getName()); + + put("Signature.TLSv1.1-RSA", SSLRSASignatureImpl.class.getName()); + put("Alg.Alias.Signature.TLSv1-RSA", "TLSv1.1-RSA"); + put("Alg.Alias.Signature.SSLv3-RSA", "TLSv1.1-RSA"); + return null; } }); diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPrivateKey.java b/libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPrivateKey.java deleted file mode 100644 index 1997458dd24..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPrivateKey.java +++ /dev/null @@ -1,99 +0,0 @@ -/* JessieDHPrivateKey.java -- simple DH private key. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.math.BigInteger; - -import javax.crypto.interfaces.DHPrivateKey; -import javax.crypto.spec.DHParameterSpec; - -class JessieDHPrivateKey implements DHPrivateKey -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final DHParameterSpec params; - private final BigInteger x; - - // Constructor. - // ------------------------------------------------------------------------- - - JessieDHPrivateKey(DHParameterSpec params, BigInteger x) - { - this.params = params; - this.x = x; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String getAlgorithm() - { - return "Diffie-Hellman"; - } - - public String getFormat() - { - return "NONE"; - } - - public byte[] getEncoded() - { - return null; - } - - public DHParameterSpec getParams() - { - return params; - } - - public BigInteger getX() - { - return x; - } - - public String toString() - { - String nl = System.getProperty("line.separator"); - return "P: " + params.getP() + nl + - "G: " + params.getG() + nl + - "X: " + x; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPublicKey.java b/libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPublicKey.java deleted file mode 100644 index dc6587288e6..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/JessieDHPublicKey.java +++ /dev/null @@ -1,99 +0,0 @@ -/* JessieDHPublicKey.java -- simple DH public key. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.math.BigInteger; - -import javax.crypto.interfaces.DHPublicKey; -import javax.crypto.spec.DHParameterSpec; - -class JessieDHPublicKey implements DHPublicKey -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final DHParameterSpec params; - private final BigInteger y; - - // Constructor. - // ------------------------------------------------------------------------- - - JessieDHPublicKey(DHParameterSpec params, BigInteger y) - { - this.params = params; - this.y = y; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String getAlgorithm() - { - return "Diffie-Hellman"; - } - - public String getFormat() - { - return "NONE"; - } - - public byte[] getEncoded() - { - return null; - } - - public DHParameterSpec getParams() - { - return params; - } - - public BigInteger getY() - { - return y; - } - - public String toString() - { - String nl = System.getProperty("line.separator"); - return "P: " + params.getP() + nl + - "G: " + params.getG() + nl + - "Y: " + y; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java b/libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java deleted file mode 100644 index 4ec71a7aad3..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java +++ /dev/null @@ -1,98 +0,0 @@ -/* JessieRSAPrivateKey.java -- simple RSA private key. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.math.BigInteger; -import java.security.interfaces.RSAPrivateKey; - -class JessieRSAPrivateKey implements RSAPrivateKey -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final BigInteger modulus; - private final BigInteger exponent; - - // Constructor. - // ------------------------------------------------------------------------- - - JessieRSAPrivateKey(BigInteger modulus, BigInteger exponent) - { - this.modulus = modulus; - this.exponent = exponent; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String getAlgorithm() - { - return "RSA"; - } - - public String getFormat() - { - return "NONE"; - } - - public byte[] getEncoded() - { - return null; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPrivateExponent() - { - return exponent; - } - - public String toString() - { - String nl = System.getProperty("line.separator"); - return "RSAPrivateKey {" + nl + - " modulus = " + modulus.toString(16) + ";" + nl + - " exponent = " + exponent.toString(16) + ";" + nl + - "};"; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPublicKey.java b/libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPublicKey.java deleted file mode 100644 index 19921d98c67..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/JessieRSAPublicKey.java +++ /dev/null @@ -1,98 +0,0 @@ -/* JessieRSAPublicKey.java -- simple RSA public key. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.math.BigInteger; -import java.security.interfaces.RSAPublicKey; - -class JessieRSAPublicKey implements RSAPublicKey -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final BigInteger modulus; - private final BigInteger exponent; - - // Constructor. - // ------------------------------------------------------------------------- - - JessieRSAPublicKey(BigInteger modulus, BigInteger exponent) - { - this.modulus = modulus; - this.exponent = exponent; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String getAlgorithm() - { - return "RSA"; - } - - public String getFormat() - { - return "NONE"; - } - - public byte[] getEncoded() - { - return null; - } - - public BigInteger getModulus() - { - return modulus; - } - - public BigInteger getPublicExponent() - { - return exponent; - } - - public String toString() - { - String nl = System.getProperty("line.separator"); - return "RSAPublicKey {" + nl + - " modulus = " + modulus.toString(16) + ";" + nl + - " exponent = " + exponent.toString(16) + ";" + nl + - "};"; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java b/libjava/classpath/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java new file mode 100644 index 00000000000..04416c5a5cc --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java @@ -0,0 +1,57 @@ +/* KeyExchangeAlgorithm.java -- Key exchange algorithm enumeration. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * The enumeration of supported key exchange algorithms. + */ +public enum KeyExchangeAlgorithm +{ + NONE, + RSA, + DH_DSS, + DH_RSA, + DH_anon, + DHE_DSS, + DHE_RSA, +// SRP, + PSK, + DHE_PSK, + RSA_PSK; +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/KeyPool.java b/libjava/classpath/gnu/javax/net/ssl/provider/KeyPool.java deleted file mode 100644 index 18d9dc281ab..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/KeyPool.java +++ /dev/null @@ -1,110 +0,0 @@ -/* KeyPool.java -- A set of ephemeral key pairs. - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.math.BigInteger; -import java.security.KeyPair; -import java.security.SecureRandom; - -final class KeyPool -{ - - // Fields. - // ------------------------------------------------------------------------- - - private static final BigInteger ONE = BigInteger.ONE; - private static final BigInteger TWO = BigInteger.valueOf(2L); - private static final BigInteger E = BigInteger.valueOf(65537L); - private static final SecureRandom RANDOM = new SecureRandom (); - - // Constructor. - // ------------------------------------------------------------------------- - - private KeyPool() - { - } - - // Class methods. - // ------------------------------------------------------------------------- - - /** - * Generate an export-class (512 bit) RSA key pair. - * - * @return The new key pair. - */ - static KeyPair generateRSAKeyPair() - { - BigInteger p, q, n, d; - - // Simplified version of GNU Crypto's RSAKeyPairGenerator. - - int M = 256; - BigInteger lower = TWO.pow(255); - BigInteger upper = TWO.pow(256).subtract(ONE); - byte[] kb = new byte[32]; - while (true) - { - nextBytes(kb); - p = new BigInteger(1, kb).setBit(0); - if (p.compareTo(lower) >= 0 && p.compareTo(upper) <= 0 && - p.isProbablePrime(80) && p.gcd(E).equals(ONE)) - break; - } - - while (true) - { - nextBytes(kb); - q = new BigInteger(1, kb).setBit(0); - n = q.multiply(p); - if (n.bitLength() == 512 && q.isProbablePrime(80) && - q.gcd(E).equals(ONE)) - break; - } - - d = E.modInverse(p.subtract(ONE).multiply(q.subtract(ONE))); - - return new KeyPair(new JessieRSAPublicKey(n, E), - new JessieRSAPrivateKey(n, d)); - } - - private static void nextBytes(byte[] buf) - { - RANDOM.nextBytes (buf); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/MacAlgorithm.java b/libjava/classpath/gnu/javax/net/ssl/provider/MacAlgorithm.java new file mode 100644 index 00000000000..cae0efbfa80 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/MacAlgorithm.java @@ -0,0 +1,47 @@ +/* MacAlgorithm.java -- MAC algorithm enumeration. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * An enumeration of MAC algorithms we support. + */ +public enum MacAlgorithm +{ + NULL, MD5, SHA; +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/MaxFragmentLength.java b/libjava/classpath/gnu/javax/net/ssl/provider/MaxFragmentLength.java new file mode 100644 index 00000000000..eb63958b839 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/MaxFragmentLength.java @@ -0,0 +1,59 @@ +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.nio.ByteBuffer; + +/** + * Extension value + * @author csm + */ +public class MaxFragmentLength extends Value +{ + public static final MaxFragmentLength LEN_2_9 = new MaxFragmentLength(1, 1 << 9); + public static final MaxFragmentLength LEN_2_10 = new MaxFragmentLength(2, 1 << 10); + public static final MaxFragmentLength LEN_2_11 = new MaxFragmentLength(3, 1 << 11); + public static final MaxFragmentLength LEN_2_12 = new MaxFragmentLength(4, 1 << 12); + + private final int value; + private final int length; + + private MaxFragmentLength(int value, int length) + { + this.value = value; + this.length = length; + } + + public ByteBuffer buffer() + { + return ByteBuffer.allocate(1).put(0, (byte) value); + } + + public int length() + { + return 1; + } + + public int getValue() + { + return value; + } + + public int maxLength() + { + return length; + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + String s = "max_fragment_length = "; + if (prefix != null) + s = prefix + s; + return s + maxLength() + ";"; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/OutputSecurityParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/OutputSecurityParameters.java new file mode 100644 index 00000000000..6da0d066741 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/OutputSecurityParameters.java @@ -0,0 +1,297 @@ +/* OutputSecurityParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; +import gnu.java.security.util.ByteArray; +import gnu.java.security.util.ByteBufferOutputStream; + +import java.nio.ByteBuffer; + +import java.util.logging.Level; +import java.util.zip.DataFormatException; +import java.util.zip.Deflater; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.Mac; +import javax.crypto.ShortBufferException; + +public class OutputSecurityParameters +{ + private static final SystemLogger logger = SystemLogger.SYSTEM; + private final Cipher cipher; + private final Mac mac; + private final Deflater deflater; + private final SessionImpl session; + private final CipherSuite suite; + private long sequence; + + public OutputSecurityParameters (final Cipher cipher, final Mac mac, + final Deflater deflater, SessionImpl session, + CipherSuite suite) + { + this.cipher = cipher; + this.mac = mac; + this.deflater = deflater; + this.session = session; + this.suite = suite; + sequence = 0; + } + + /** + * Encrypt a record, storing the result in the given output buffer. + * + * @return The number of bytes taken from the input, and the number stored + * into `output;' that is, the size of the encrypted fragment, plus the + * encoding for the record. + */ + public int[] encrypt (final ByteBuffer[] input, int offset, int length, + final ContentType contentType, final ByteBuffer output) + throws DataFormatException, IllegalBlockSizeException, ShortBufferException + { + if (offset < 0 || offset >= input.length + || length <= 0 || offset + length > input.length) + throw new IndexOutOfBoundsException(); + + if (Debug.DEBUG) + for (int i = offset; i < offset+length; i++) + logger.logv(Component.SSL_RECORD_LAYER, "encrypting record [{0}]: {1}", + i-offset, input[i]); + + int maclen = 0; + if (mac != null) + maclen = session.isTruncatedMac() ? 10 : mac.getMacLength (); + + int ivlen = 0; + byte[] iv = null; + if (session.version.compareTo(ProtocolVersion.TLS_1_1) >= 0 + && !suite.isStreamCipher()) + { + ivlen = cipher.getBlockSize(); + iv = new byte[ivlen]; + session.random().nextBytes(iv); + } + + int padaddlen = 0; + if (!suite.isStreamCipher() + && session.version.compareTo(ProtocolVersion.TLS_1) >= 0) + { + padaddlen = (session.random().nextInt(255 / cipher.getBlockSize()) + * cipher.getBlockSize()); + } + + int fragmentLength = 0; + ByteBuffer[] fragments = null; + // Compress the content, if needed. + if (deflater != null) + { + ByteBufferOutputStream deflated = new ByteBufferOutputStream(); + + byte[] inbuf = new byte[1024]; + byte[] outbuf = new byte[1024]; + int written = 0; + + // Here we use the guarantee that the deflater won't increase the + // output size by more than 1K -- we resign ourselves to only deflate + // as much data as we have space for *uncompressed*, + int limit = output.remaining() - (maclen + ivlen + padaddlen) - 1024; + + for (int i = offset; i < length && written < limit; i++) + { + ByteBuffer in = input[i]; + while (in.hasRemaining() && written < limit) + { + int l = Math.min(in.remaining(), inbuf.length); + l = Math.min(limit - written, l); + in.get(inbuf, 0, l); + deflater.setInput(inbuf, 0, l); + l = deflater.deflate(outbuf); + deflated.write(outbuf, 0, l); + written += l; + } + } + deflater.finish(); + while (!deflater.finished()) + { + int l = deflater.deflate(outbuf); + deflated.write(outbuf, 0, l); + written += l; + } + fragments = new ByteBuffer[] { deflated.buffer() }; + fragmentLength = ((int) deflater.getBytesWritten()) + maclen + ivlen; + deflater.reset(); + offset = 0; + length = 1; + } + else + { + int limit = output.remaining() - (maclen + ivlen + padaddlen); + fragments = input; + for (int i = offset; i < length && fragmentLength < limit; i++) + { + int l = Math.min(limit - fragmentLength, fragments[i].remaining()); + fragmentLength += l; + } + fragmentLength += maclen + ivlen; + } + + // Compute padding... + int padlen = 0; + byte[] pad = null; + if (!suite.isStreamCipher()) + { + int bs = cipher.getBlockSize(); + padlen = bs - (fragmentLength % bs); + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, + "framentLen:{0} padlen:{1} blocksize:{2}", + fragmentLength, padlen, bs); + if (session.version.compareTo(ProtocolVersion.TLS_1) >= 0) + { + // TLS 1.0 and later uses a random amount of padding, up to + // 255 bytes. Each byte of the pad is equal to the padding + // length, minus one. + padlen += padaddlen; + while (padlen > 255) + padlen -= bs; + pad = new byte[padlen]; + for (int i = 0; i < padlen; i++) + pad[i] = (byte) (padlen - 1); + } + else + { + // SSL 3 uses a pad only as large as the block size, but the + // pad may contain any values. + pad = new byte[padlen]; + session.random().nextBytes(pad); + pad[padlen - 1] = (byte) (padlen - 1); + } + fragmentLength += pad.length; + } + + // If there is a MAC, compute it. + byte[] macValue = null; + if (mac != null) + { + mac.update((byte) (sequence >>> 56)); + mac.update((byte) (sequence >>> 48)); + mac.update((byte) (sequence >>> 40)); + mac.update((byte) (sequence >>> 32)); + mac.update((byte) (sequence >>> 24)); + mac.update((byte) (sequence >>> 16)); + mac.update((byte) (sequence >>> 8)); + mac.update((byte) sequence); + mac.update((byte) contentType.getValue()); + if (session.version != ProtocolVersion.SSL_3) + { + mac.update((byte) session.version.major ()); + mac.update((byte) session.version.minor ()); + } + int toWrite = fragmentLength - maclen - ivlen - padlen; + mac.update((byte) (toWrite >>> 8)); + mac.update((byte) toWrite); + int written = 0; + for (int i = offset; i < length && written < toWrite; i++) + { + ByteBuffer fragment = fragments[i].duplicate(); + int l = Math.min(fragment.remaining(), toWrite - written); + fragment.limit(fragment.position() + l); + mac.update(fragment); + } + macValue = mac.doFinal(); + } + + Record outrecord = new Record(output); + outrecord.setContentType(contentType); + outrecord.setVersion(session.version); + outrecord.setLength(fragmentLength); + + int consumed = 0; + ByteBuffer outfragment = outrecord.fragment(); + + if (cipher != null) + { + if (iv != null) + cipher.update(ByteBuffer.wrap(iv), outfragment); + int toWrite = fragmentLength - maclen - ivlen - padlen; + for (int i = offset; i < offset + length && consumed < toWrite; i++) + { + ByteBuffer fragment = fragments[i].slice(); + int l = Math.min(fragment.remaining(), toWrite - consumed); + fragment.limit(fragment.position() + l); + cipher.update(fragment, outfragment); + fragments[i].position(fragments[i].position() + l); + consumed += l; + } + if (macValue != null) + cipher.update(ByteBuffer.wrap(macValue), outfragment); + if (pad != null) + cipher.update(ByteBuffer.wrap(pad), outfragment); + } + else + { + // iv and pad are only used if we have a block cipher. + int toWrite = fragmentLength - maclen; + for (int i = offset; i < offset + length && consumed < toWrite; i++) + { + ByteBuffer fragment = fragments[i]; + int l = Math.min(fragment.remaining(), toWrite - consumed); + fragment.limit(fragment.position() + l); + outfragment.put(fragment); + consumed += l; + } + if (macValue != null) + outfragment.put(macValue); + } + + // Advance the output buffer's position. + output.position(output.position() + outrecord.length() + 5); + sequence++; + + return new int[] { consumed, fragmentLength + 5 }; + } + + CipherSuite suite() + { + return suite; + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/OverflowException.java b/libjava/classpath/gnu/javax/net/ssl/provider/OverflowException.java deleted file mode 100644 index 93bdcaec5ed..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/OverflowException.java +++ /dev/null @@ -1,57 +0,0 @@ -/* OverflowException.java -- signals an input overflow. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.IOException; - -class OverflowException extends IOException -{ - - // Constructors. - // ------------------------------------------------------------------------- - - OverflowException() - { - } - - OverflowException(String msg) - { - super(msg); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java new file mode 100644 index 00000000000..aa1f97853cf --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java @@ -0,0 +1,118 @@ +/* PreSharedKeyManagerFactory.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.PreSharedKeyManager; +import gnu.javax.net.ssl.PreSharedKeyManagerParameters; + +import java.security.InvalidAlgorithmParameterException; +import java.security.KeyManagementException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import java.util.Iterator; + +import javax.crypto.SecretKey; +import javax.net.ssl.KeyManager; +import javax.net.ssl.KeyManagerFactorySpi; +import javax.net.ssl.ManagerFactoryParameters; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class PreSharedKeyManagerFactoryImpl + extends KeyManagerFactorySpi +{ + PreSharedKeyManagerParameters params; + + /* (non-Javadoc) + * @see javax.net.ssl.KeyManagerFactorySpi#engineGetKeyManagers() + */ + @Override protected KeyManager[] engineGetKeyManagers() + { + if (params == null) + throw new IllegalStateException("not initialized"); + return new KeyManager[] { new Manager() }; + } + + /* (non-Javadoc) + * @see javax.net.ssl.KeyManagerFactorySpi#engineInit(javax.net.ssl.ManagerFactoryParameters) + */ + @Override protected void engineInit(ManagerFactoryParameters params) + throws InvalidAlgorithmParameterException + { + if (!(params instanceof PreSharedKeyManagerParameters)) + throw new InvalidAlgorithmParameterException("only supports gnu.javax.net.ssl.PreSharedKeyManagerParameters"); + params = (PreSharedKeyManagerParameters) params; + } + + /* (non-Javadoc) + * @see javax.net.ssl.KeyManagerFactorySpi#engineInit(java.security.KeyStore, char[]) + */ + @Override protected void engineInit(KeyStore store, char[] passwd) + throws KeyStoreException, NoSuchAlgorithmException, + UnrecoverableKeyException + { + // XXX Could implement this. + } + + class Manager implements PreSharedKeyManager + { + Manager() + { + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.PreSharedKeyManager#getKey(java.lang.String) + */ + public SecretKey getKey(String name) throws KeyManagementException + { + return params.getKey(name); + } + + public String chooseIdentityHint() + { + Iterator it = params.identities(); + if (it.hasNext()) + return it.next(); + return null; + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ProtocolVersion.java b/libjava/classpath/gnu/javax/net/ssl/provider/ProtocolVersion.java index 5f5d1d979aa..ca62054a89c 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/ProtocolVersion.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ProtocolVersion.java @@ -42,15 +42,16 @@ import java.io.InputStream; import java.io.IOException; import java.io.OutputStream; -final class ProtocolVersion implements Comparable, Constructed +public final class ProtocolVersion + implements Comparable, Constructed { // Constants and fields. // ------------------------------------------------------------------------- - static final ProtocolVersion SSL_3 = new ProtocolVersion(3, 0); - static final ProtocolVersion TLS_1 = new ProtocolVersion(3, 1); - static final ProtocolVersion TLS_1_1 = new ProtocolVersion(3, 2); + public static final ProtocolVersion SSL_3 = new ProtocolVersion(3, 0); + public static final ProtocolVersion TLS_1 = new ProtocolVersion(3, 1); + public static final ProtocolVersion TLS_1_1 = new ProtocolVersion(3, 2); private final int major; private final int minor; @@ -67,14 +68,25 @@ final class ProtocolVersion implements Comparable, Constructed // Class methods. // ------------------------------------------------------------------------- - static ProtocolVersion read(InputStream in) throws IOException + public static ProtocolVersion read(InputStream in) throws IOException { int major = in.read() & 0xFF; int minor = in.read() & 0xFF; return getInstance(major, minor); } - static ProtocolVersion getInstance(int major, int minor) + public static ProtocolVersion forName (final String name) + { + if (name.equalsIgnoreCase ("SSLv3")) + return SSL_3; + if (name.equalsIgnoreCase ("TLSv1")) + return TLS_1; + if (name.equalsIgnoreCase("TLSv1.1")) + return TLS_1_1; + throw new IllegalArgumentException ("unknown protocol name: " + name); + } + + public static ProtocolVersion getInstance(final int major, final int minor) { if (major == 3) { @@ -88,35 +100,46 @@ final class ProtocolVersion implements Comparable, Constructed return new ProtocolVersion(major, minor); } + public static ProtocolVersion getInstance (final short raw_value) + { + int major = raw_value >>> 8 & 0xFF; + int minor = raw_value & 0xFF; + return getInstance (major, minor); + } + // Instance methods. // ------------------------------------------------------------------------- - public void write(OutputStream out) throws IOException + public int length () { - out.write(major); - out.write(minor); + return 2; } - byte[] getEncoded() + public byte[] getEncoded() { return new byte[] { (byte) major, (byte) minor }; } - int getMajor() + public int major() { return major; } - int getMinor() + public int minor() { return minor; } + public int rawValue () + { + return (major << 8) | minor; + } + public boolean equals(Object o) { - if (o == null || !(o instanceof ProtocolVersion)) + if (!(o instanceof ProtocolVersion)) { return false; } @@ -129,35 +152,33 @@ final class ProtocolVersion implements Comparable, Constructed return major << 8 | minor; } - public int compareTo(Object o) + public int compareTo(ProtocolVersion that) { - if (o == null || !(o instanceof ProtocolVersion)) + if (major > that.major) { return 1; } - if (this.equals(o)) - { - return 0; - } - if (major > ((ProtocolVersion) o).major) - { - return 1; - } - else if (major < ((ProtocolVersion) o).major) + else if (major < that.major) { return -1; } - if (minor > ((ProtocolVersion) o).minor) + + if (minor > that.minor) { return 1; } - else if (minor < ((ProtocolVersion) o).minor) + else if (minor < that.minor) { return -1; } return 0; } + public String toString (String prefix) + { + return toString (); + } + public String toString() { if (this == SSL_3) diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Random.java b/libjava/classpath/gnu/javax/net/ssl/provider/Random.java index c42592b147b..e6815930934 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Random.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Random.java @@ -45,80 +45,110 @@ import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; -class Random implements Constructed +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +/** + * An SSL nonce. + * + *
    +struct
    +{
    +  uint32 gmt_unix_time;
    +  opaque random_bytes[28];
    +} Random;
    + */
    +public class Random implements Builder, Constructed
     {
     
       // Fields.
       // -------------------------------------------------------------------------
     
    -  private final int gmtUnixTime;
    -  private final byte[] randomBytes;
    +  static final int RANDOM_LENGTH = 28;
    +
    +  private final ByteBuffer buffer;
     
       // Constructors.
       // -------------------------------------------------------------------------
     
    -  Random(int gmtUnixTime, byte[] randomBytes)
    +  public Random (final ByteBuffer buffer)
       {
    -    this.gmtUnixTime = gmtUnixTime;
    -    this.randomBytes = (byte[]) randomBytes.clone();
    +    this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN);
       }
     
    -  // Class methods.
    -  // -------------------------------------------------------------------------
    +  public Random copy()
    +  {
    +    ByteBuffer buffer = ByteBuffer.allocate(32);
    +    buffer.put((ByteBuffer) this.buffer.duplicate().position(0));
    +    return new Random(buffer);
    +  }
     
    -  static Random read(InputStream in) throws IOException
    +  public int length()
       {
    -    int time = (in.read() & 0xFF) << 24 | (in.read() & 0xFF) << 16
    -             | (in.read() & 0xFF) <<  8 | (in.read() & 0xFF);
    -    byte[] buf = new byte[28];
    -    in.read(buf);
    -    return new Random(time, buf);
    +    return RANDOM_LENGTH + 4;
    +  }
    +  
    +  public ByteBuffer buffer()
    +  {
    +    return ((ByteBuffer) buffer.duplicate().position(0).limit(length())).slice();
       }
     
    -  // Instance methods.
    -  // -------------------------------------------------------------------------
    +  public int gmtUnixTime ()
    +  {
    +    return buffer.getInt(0);
    +  }
     
    -  public void write(OutputStream out) throws IOException
    +  public byte[] randomBytes()
       {
    -    out.write((gmtUnixTime >>> 24) & 0xFF);
    -    out.write((gmtUnixTime >>> 16) & 0xFF);
    -    out.write((gmtUnixTime >>>  8) & 0xFF);
    -    out.write(gmtUnixTime & 0xFF);
    -    out.write(randomBytes);
    +    byte[] buf = new byte[28];
    +    buffer.position (4);
    +    buffer.get (buf);
    +    return buf;
       }
     
    -  byte[] getEncoded()
    +  public void setGmtUnixTime (final int gmtUnixTime)
       {
    -    ByteArrayOutputStream bout = new ByteArrayOutputStream(32);
    -    try
    -      {
    -        write(bout);
    -      }
    -    catch (IOException cantHappen)
    -      {
    -        throw new Error(cantHappen.toString());
    -      }
    -    return bout.toByteArray();
    +    buffer.putInt (0, gmtUnixTime);
       }
     
    -  int getTime()
    +  public void setRandomBytes (final byte[] randomBytes)
       {
    -    return gmtUnixTime;
    +    setRandomBytes (randomBytes, 0);
       }
     
    -  byte[] getRandomBytes()
    +  public void setRandomBytes (final byte[] randomBytes, final int offset)
       {
    -    return randomBytes;
    +    if (randomBytes.length - offset < RANDOM_LENGTH)
    +      throw new IllegalArgumentException ("random value too short");
    +    buffer.position (4);
    +    buffer.put (randomBytes, offset, RANDOM_LENGTH);
       }
     
    -  public String toString()
    +  public String toString (final String prefix)
       {
         StringWriter str = new StringWriter();
         PrintWriter out = new PrintWriter(str);
    +    if (prefix != null)
    +      out.print (prefix);
         out.println("struct {");
    -    out.println("  gmt_unix_time = " + gmtUnixTime + ";");
    -    out.println("  random_bytes = " + Util.toHexString(randomBytes, ':') + ";");
    -    out.println("} Random;");
    +    if (prefix != null)
    +      out.print (prefix);
    +    out.print ("  gmt_unix_time: ");
    +    out.print (gmtUnixTime ());
    +    out.println (";");
    +    if (prefix != null)
    +      out.print (prefix);
    +    out.print ("  random_bytes:  ");
    +    out.print (Util.toHexString (randomBytes (), ':'));
    +    out.println (";");
    +    if (prefix != null)
    +      out.print (prefix);
    +    out.print ("} Random;");
         return str.toString();
       }
    +
    +  public String toString ()
    +  {
    +    return toString (null);
    +  }
     }
    diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Record.java b/libjava/classpath/gnu/javax/net/ssl/provider/Record.java
    new file mode 100644
    index 00000000000..6f5a23ef4dc
    --- /dev/null
    +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Record.java
    @@ -0,0 +1,198 @@
    +/* Record.java -- A single SSL Record.
    +   Copyright (C) 2006  Free Software Foundation, Inc.
    +
    +This file is a 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 of the License, 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; if not, write to the Free Software
    +Foundation, Inc., 51 Franklin St, 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.  */
    +
    +
    +package gnu.javax.net.ssl.provider;
    +
    +import java.io.PrintWriter;
    +import java.io.StringWriter;
    +import java.nio.ByteBuffer;
    +import java.nio.ByteOrder;
    +
    +/**
    + * A SSL/TLS record structure. An SSL record is defined to be:
    + *
    + * 
    +struct
    +{
    +  {@link ContentType}     type;
    +  {@link ProtocolVersion} version;
    +  uint16          length;
    +  opaque          fragment[TLSPlaintext.length];
    +} TLSPlaintext;
    +
    + */ +public class Record +{ + private final ByteBuffer buffer; + + public Record (final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + // XXX remove + public ContentType getContentType () + { + return contentType (); + } + + /** + * Gets the content type field. + * + * @return The content type field. + */ + public ContentType contentType () + { + return ContentType.forInteger (buffer.get (0) & 0xFF); + } + + /** + * Get the fragment content, storing it into sink. + * + * @param sink The sink for the fragment bytes. + * @return The number of bytes put into sink + */ + public int fragment (final ByteBuffer sink) + { + int length = length (); + sink.put (((ByteBuffer) buffer.limit (5 + length).position (5)).slice ()); + return length; + } + + /** + * Returns the fragment field as a ByteBuffer. The returned buffer + * is shared with this object's underlying buffer, so it will share + * its attributes. For example, if the underlying buffer is + * read-only, the returned buffer will be read-only. + * + * @return The fragment buffer. + */ + public ByteBuffer fragment () + { + int length = length (); + return ((ByteBuffer) buffer.limit (5 + length).position (5)).slice (); + } + + /** + * Gets the fragment length. + * + * @return The fragment length. + */ + public int length () + { + // XXX this is different behavior than we usually want: we return the + // length field, not the total length. We should consider changing this. + return buffer.getShort (3) & 0xFFFF; + } + + /** + * Gets the protocol version field. + * + * @return The protocol version field. + */ + public ProtocolVersion version () + { + int major = buffer.get (1) & 0xFF; + int minor = buffer.get (2) & 0xFF; + return ProtocolVersion.getInstance (major, minor); + } + + /** + * Sets the content type field. + * + * @param type The content type. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + * @throws NullPointerException If type is null. + */ + public void setContentType (final ContentType type) + { + buffer.put (0, (byte) type.getValue ()); + } + + /** + * Sets the fragment length. + * + * @param length The fragment length. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + * @throws IllegalArgumentException If the length is not between 0 + * and 16384, inclusive. + */ + public void setLength (final int length) + { + if (length < 0 || length > 16384) + throw new IllegalArgumentException ("length " + length + " out of range; " + + "must be between 0 and 16384"); + buffer.putShort (3, (short) length); + } + + /** + * Sets the protocol version field. + * + * @param version The protocol version. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + * @throws NullPointerException If version is null. + */ + public void setVersion (final ProtocolVersion version) + { + buffer.put (1, (byte) version.major ()).put (2, (byte) version.minor ()); + } + + public String toString () + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + out.println ("struct {"); + out.print (" type: "); + out.print (contentType ()); + out.println (";"); + out.print (" version: "); + out.print (version ()); + out.println (";"); + out.print(" length: "); + out.print(length()); + out.println(";"); + out.println (" fragment {"); + out.print (Util.hexDump (fragment (), " ")); + out.println (" };"); + out.print ("} Record;"); + return str.toString (); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/RecordInput.java b/libjava/classpath/gnu/javax/net/ssl/provider/RecordInput.java deleted file mode 100644 index d4ba5b596d6..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/RecordInput.java +++ /dev/null @@ -1,232 +0,0 @@ -/* RecordInput.java -- record layer input. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import gnu.classpath.SystemProperties; -import gnu.classpath.debug.Component; -import gnu.classpath.debug.SystemLogger; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.PrintWriter; - -import java.util.logging.Logger; - -import javax.net.ssl.SSLProtocolException; - -class RecordInput -{ - - // Fields. - // ------------------------------------------------------------------------- - - private static final boolean DEBUG_RECORD_LAYER = true; - private static final Logger logger = SystemLogger.SYSTEM; - - private byte[] fragment; - private int index; - private ContentType type; - - private final DataInputStream in; - private Session session; - - // Constructor. - // ------------------------------------------------------------------------- - - RecordInput (final InputStream in, final Session session) - { - this.in = new DataInputStream (in); - this.session = session; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - synchronized int available (ContentType type) throws IOException - { - if (fragment == null) - { - readRecord (); - } - if (type != this.type) - { - return 0; - } - return fragment.length - index; - } - - void setSession (Session session) - { - this.session = session; - } - - synchronized int read (byte[] buf, int off, int len, ContentType type) - throws IOException - { - if (off < 0 || len < 0 || off + len > buf.length) - { - throw new ArrayIndexOutOfBoundsException ("size=" + buf.length + - " off=" + off + " len=" + len); - } - if (fragment == null || index >= fragment.length) - { - readRecord (); - } - if (type != this.type) - { - return 0; - } - len = Math.min (len, fragment.length - index); - System.arraycopy (fragment, index, buf, off, len); - index += len; - return len; - } - - boolean pollClose () throws IOException - { - if (fragment == null || index >= fragment.length) - { - try - { - readRecord(); - } - catch (AlertException ae) - { - Alert alert = ae.getAlert(); - if (alert.getDescription() == Alert.Description.CLOSE_NOTIFY) - { - return true; - } - throw ae; - } - } - return false; - } - - private void readRecord() throws IOException - { - type = ContentType.read (in); - if ((type.getValue() & 0x80) != 0 || (type.getValue() & 0x40) != 0) - { - in.read(); - if ((type.getValue() & 0x40) != 0) - { - in.read(); - } - type = ContentType.read(in); - if (type != ContentType.CLIENT_HELLO_V2) - { - throw new SSLProtocolException("unsupported V2 message"); - } - type = ContentType.HANDSHAKE; - // Record this message, and re-present it as a normal handshake - // layer message. ClientHello will handle the real parsing. - ByteArrayOutputStream buffer = new ByteArrayOutputStream (256); - buffer.write(1); // The type we just read. - RecordingInputStream in2 = new RecordingInputStream (in, buffer); - ProtocolVersion version = ProtocolVersion.read (in2); - if (version.compareTo (ProtocolVersion.SSL_3) < 0) - { - throw new SSLProtocolException("unsupported client version"); - } - int len = (in2.read() & 0xFF) << 8 | (in2.read() & 0xFF); - len += (in2.read() & 0xFF) << 8 | (in2.read() & 0xFF); - len += (in2.read() & 0xFF) << 8 | (in2.read() & 0xFF); - int count = 0; - while (count < len) - { - int l = (int) in2.skip(len - count); - if (l > 0) - { - count += l; - } - } - fragment = buffer.toByteArray (); - index = 0; - - // We can't be encrypted/MACed/compressed here, since a V2 message - // will only be sent as the first message, and only by the client. - return; - } - ProtocolVersion v = ProtocolVersion.read (in); - int len = in.readUnsignedShort (); - if (len > session.params.getFragmentLength() + 2048) - { - throw new OverflowException(); - } - fragment = new byte [len]; - in.readFully (fragment); - - if (DEBUG_RECORD_LAYER) - { - logger.log (Component.SSL_RECORD_LAYER, - ">> READ RECORD <<{4}" + - "struct {{4}" + - " type = {0};{4}" + - " version = {1};{4}" + - " length = {2};{4}" + - "{3}{4}" + - "} TLSCiphertext;", new Object[] - { - type, v, new Integer (len), - Util.hexDump (fragment, " "), - SystemProperties.getProperty ("line.separator") - }); - } - - fragment = session.params.decrypt (fragment, v, type); - index = 0; - - if (session.random != null) - session.random.setSeed (fragment); - - if (type == ContentType.ALERT) - { - Alert alert = Alert.read (new ByteArrayInputStream (fragment)); - session.currentAlert = alert; - } - if (session.currentAlert != null) - { - throw new AlertException (session.currentAlert, false); - } - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/RecordInputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/RecordInputStream.java deleted file mode 100644 index 14cf829ac67..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/RecordInputStream.java +++ /dev/null @@ -1,106 +0,0 @@ -/* RecordInputStream.java -- record layer input stream interface. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.IOException; -import java.io.InputStream; - -class RecordInputStream extends InputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - /** - * The record input instance. - */ - private final RecordInput in; - - /** - * The content type this stream is reading. - */ - private final ContentType type; - - // Constructor. - // ------------------------------------------------------------------------- - - RecordInputStream (RecordInput in, ContentType type) - { - this.in = in; - this.type = type; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public int available () throws IOException - { - return in.available (type); - } - - public int read () throws IOException - { - byte[] b = new byte[1]; - int ret; - while ((ret = read (b)) != 1) - { - if (ret == -1) - { - return -1; - } - Thread.yield (); - } - return b[0] & 0xFF; - } - - public int read (byte[] buf) throws IOException - { - return read (buf, 0, buf.length); - } - - public int read (byte[] buf, int off, int len) throws IOException - { - return in.read (buf, off, len, type); - } - - public String toString () - { - return RecordInputStream.class.getName () + " [ type=" + type + " ]"; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/RecordOutputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/RecordOutputStream.java deleted file mode 100644 index 3bf228f2d69..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/RecordOutputStream.java +++ /dev/null @@ -1,189 +0,0 @@ -/* RecordOutputStream.java -- record layer output. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import gnu.classpath.SystemProperties; -import gnu.classpath.debug.Component; -import gnu.classpath.debug.SystemLogger; - -import java.io.FilterOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintWriter; - -import java.util.logging.Logger; - -/** - * An output stream for writing data to the record layer. All data written - * to this stream (through any of the write methods) is immediately sent - * as a full record, so it is advisable to write large arrays to the stream - * instead of one byte at a time (alternatively, a {@link - * java.io.BufferedOutputStream} can be used). - */ -class RecordOutputStream extends FilterOutputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - private static final boolean DEBUG_RECORD_LAYER = true; - private static final Logger logger = SystemLogger.SYSTEM; - - /** - * The content type of this output stream. - */ - private final ContentType type; - - /** - * The security parameters. - */ - private final SecurityParameters params; - - private final boolean emitEmpty; - - private static final byte[] ZERO = new byte[0]; - - // Constructor. - // ------------------------------------------------------------------------- - - RecordOutputStream (final OutputStream out, final ContentType type, - final SecurityParameters params) - { - super (out); - this.type = type; - this.params = params; - String empty = Util.getSecurityProperty ("jessie.emit.empty.records"); - if (empty == null) - { - // IE panics if it gets an empty record; so, leave this false - // for the default. - empty = "false"; - } - emitEmpty = Boolean.valueOf (empty).booleanValue () && - type == ContentType.APPLICATION_DATA; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public void write (int b) throws IOException - { - write (new byte[] { (byte) b }); - } - - public void write (byte[] buf) throws IOException - { - write (buf, 0, buf.length); - } - - public void write (byte[] buf, int off, int len) throws IOException - { - if (off < 0 || len < 0 || off + len > buf.length) - { - throw new ArrayIndexOutOfBoundsException ("size=" + buf.length + - " off=" + off + " len=" + len); - } - - int count = 0; - int len2 = 0; - do - { - if (emitEmpty) - { - byte[] fragment = params.encrypt (ZERO, 0, 0, type); - if (DEBUG_RECORD_LAYER) - { - logger.log (Component.SSL_RECORD_LAYER, - ">> WRITING RECORD <<{4}" + - "struct {{4}" + - " type = {0};{4}" + - " version = {1};{4}" + - " length = {2};{4}" + - "{3}{4}" + - "} TLSCiphertext;", new Object[] - { - type, params.getVersion (), new Integer (fragment.length), - Util.hexDump (fragment, " "), - SystemProperties.getProperty ("line.separator") - }); - } - out.write (type.getValue()); - params.getVersion().write (out); - out.write ((fragment.length >>> 8) & 0xFF); - out.write ( fragment.length & 0xFF); - out.write (fragment); - out.flush (); - } - len2 = Math.min (len - count, params.getFragmentLength()); - if (DEBUG_RECORD_LAYER) - { - logger.log (Component.SSL_RECORD_LAYER, - "writing chunk size={0}", new Integer (len2)); - } - synchronized (out) - { - byte[] fragment = params.encrypt (buf, off + count, len2, type); - if (DEBUG_RECORD_LAYER) - { - logger.log (Component.SSL_RECORD_LAYER, - ">> WRITING RECORD <<{4}" + - "struct {{4}" + - " type = {0};{4}" + - " version = {1};{4}" + - " length = {2};{4}" + - "{3}{4}" + - "} TLSCiphertext;", new Object[] - { - type, params.getVersion (), new Integer (fragment.length), - Util.hexDump (fragment, " "), - SystemProperties.getProperty ("line.separator") - }); - } - out.write (type.getValue()); - params.getVersion().write (out); - out.write ((fragment.length >>> 8) & 0xFF); - out.write ( fragment.length & 0xFF); - out.write (fragment); - out.flush (); - } - count += len2; - } - while (count < len); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/RecordingInputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/RecordingInputStream.java deleted file mode 100644 index d81b652d516..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/RecordingInputStream.java +++ /dev/null @@ -1,131 +0,0 @@ -/* RecordingInputStream.java -- Input stream that records data. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.ByteArrayOutputStream; -import java.io.FilterInputStream; -import java.io.InputStream; -import java.io.IOException; - -/** - * A filter input stream that records every byte read from the underlying - * input stream. This class is useful for protocols that require portions - * of the communication to be saved, such as the handshake and key - * derivation in SSL. - * - * @author Casey Marshall (rsdio@metastatic.org) - */ -class RecordingInputStream extends FilterInputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - protected ByteArrayOutputStream sink; - - // Constructors. - // ------------------------------------------------------------------------- - - RecordingInputStream(InputStream in) - { - this(in, new ByteArrayOutputStream()); - } - - RecordingInputStream(InputStream in, ByteArrayOutputStream sink) - { - super(in); - this.sink = sink; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public synchronized int read() throws IOException - { - int i = in.read(); - sink.write(i); - return i; - } - - public synchronized int read(byte[] buf, int off, int len) throws IOException - { - int l = in.read(buf, off, len); - sink.write(buf, off, l); - return l; - } - - public synchronized int read(byte[] buf) throws IOException - { - return read(buf, 0, buf.length); - } - - public synchronized long skip(long len) throws IOException - { - long l = 0; - int i = 0; - byte[] buf = new byte[1024]; - while (l < len) - { - i = read(buf, 0, (int) Math.min((long) buf.length, len - l)); - if (i == -1) - break; - l += i; - } - return l; - } - - /** - * Returns all bytes recorded after this instance was created, or the last - * call to {@link resetSink()}. - * - * @return The recorded bytes. - */ - byte[] getBytes() - { - return sink.toByteArray(); - } - - /** - * Clears the recording buffer off all previously-recorded bytes. - */ - void resetSink() - { - sink.reset(); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLContextImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLContextImpl.java new file mode 100644 index 00000000000..cf7c8e4e3d6 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLContextImpl.java @@ -0,0 +1,315 @@ +/* SSLContextImpl.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.java.security.action.GetSecurityPropertyAction; +import gnu.javax.net.ssl.AbstractSessionContext; +import gnu.javax.net.ssl.NullManagerParameters; +import gnu.javax.net.ssl.PreSharedKeyManager; +import gnu.javax.net.ssl.SRPTrustManager; + +import java.security.AccessController; +import java.security.KeyManagementException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.SecureRandom; +import java.security.UnrecoverableKeyException; + +import javax.net.ssl.KeyManager; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContextSpi; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLServerSocketFactory; +import javax.net.ssl.SSLSessionContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509ExtendedKeyManager; +import javax.net.ssl.X509TrustManager; + +/** + * Our implementation of {@link SSLContextSpi}. + * + * @author Casey Marshall (csm@gnu.org) + */ +public final class SSLContextImpl extends SSLContextSpi +{ + AbstractSessionContext serverContext; + AbstractSessionContext clientContext; + + PreSharedKeyManager pskManager; + X509ExtendedKeyManager keyManager; + X509TrustManager trustManager; + SRPTrustManager srpTrustManager; + SecureRandom random; + + public SSLContextImpl() + { + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineCreateSSLEngine() + */ + protected @Override SSLEngine engineCreateSSLEngine() + { + return engineCreateSSLEngine(null, -1); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineCreateSSLEngine(java.lang.String, int) + */ + protected @Override SSLEngine engineCreateSSLEngine(String host, int port) + { + return new SSLEngineImpl(this, host, port); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineGetClientSessionContext() + */ + protected @Override synchronized SSLSessionContext engineGetClientSessionContext() + { + if (clientContext == null) + { + try + { + clientContext = AbstractSessionContext.newInstance(); + } + catch (SSLException ssle) + { + // XXX Ignore? + } + } + return clientContext; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineGetServerSessionContext() + */ + protected @Override synchronized SSLSessionContext engineGetServerSessionContext() + { + if (serverContext == null) + { + try + { + serverContext = AbstractSessionContext.newInstance(); + } + catch (SSLException ssle) + { + // XXX Ignore? + } + } + return serverContext; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineGetServerSocketFactory() + */ + protected @Override SSLServerSocketFactory engineGetServerSocketFactory() + { + return new SSLServerSocketFactoryImpl(this); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineGetSocketFactory() + */ + protected @Override SSLSocketFactory engineGetSocketFactory() + { + return new SSLSocketFactoryImpl(this); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLContextSpi#engineInit(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) + */ + protected @Override void engineInit(KeyManager[] keyManagers, + TrustManager[] trustManagers, + SecureRandom random) + throws KeyManagementException + { + keyManager = null; + trustManager = null; + srpTrustManager = null; + if (keyManagers != null) + { + for (int i = 0; i < keyManagers.length; i++) + { + if ((keyManagers[i] instanceof X509ExtendedKeyManager) + && keyManager == null) + keyManager = (X509ExtendedKeyManager) keyManagers[i]; + if (keyManagers[i] instanceof PreSharedKeyManager + && pskManager == null) + pskManager = (PreSharedKeyManager) keyManagers[i]; + } + } + if (keyManager == null) + keyManager = defaultKeyManager(); + if (trustManagers != null) + { + for (int i = 0; i < trustManagers.length; i++) + { + if (trustManagers[i] instanceof X509TrustManager) + { + if (trustManager == null) + trustManager = (X509TrustManager) trustManagers[i]; + } + else if (trustManagers[i] instanceof SRPTrustManager) + { + if (srpTrustManager == null) + srpTrustManager = (SRPTrustManager) trustManagers[i]; + } + } + } + if (trustManager == null && srpTrustManager == null) + { + trustManager = defaultTrustManager(); + } + if (random != null) + { + this.random = random; + } + else + { + this.random = defaultRandom(); + } + } + + /** + * Create and return a default key manager. The default is the JessieX509 + * algorithm, loaded from either the jssecerts file, or the cacerts file. + * + * @return The default key manager instance. + * @throws KeyManagementException If the instance cannot be created. + */ + private X509ExtendedKeyManager defaultKeyManager() throws KeyManagementException + { + KeyManagerFactory fact = null; + try + { + fact = KeyManagerFactory.getInstance("JessieX509", "Jessie"); + } + catch (NoSuchAlgorithmException nsae) + { + throw new KeyManagementException(nsae); + } + catch (NoSuchProviderException nspe) + { + throw new KeyManagementException(nspe); + } + try + { + fact.init(null, null); + return (X509ExtendedKeyManager) fact.getKeyManagers()[0]; + } + catch (NoSuchAlgorithmException nsae) { } + catch (KeyStoreException kse) { } + catch (UnrecoverableKeyException uke) { } + catch (IllegalStateException ise) { } + + try + { + fact.init(new NullManagerParameters()); + return (X509ExtendedKeyManager) fact.getKeyManagers()[0]; + } + catch (Exception shouldNotHappen) + { + throw new Error(shouldNotHappen.toString()); + } + } + + /** + * Create and return a default trust manager. The default is the JessieX509 + * algorithm, loaded from either the jssecerts file, or the cacerts file. + * + * @return The default trust manager instance. + * @throws KeyManagementException If the instance cannot be created. + */ + private X509TrustManager defaultTrustManager() throws KeyManagementException + { + try + { + TrustManagerFactory fact = + TrustManagerFactory.getInstance("JessieX509", "Jessie"); + fact.init((KeyStore) null); + return (X509TrustManager) fact.getTrustManagers()[0]; + } + catch (NoSuchAlgorithmException nsae) + { + throw new KeyManagementException(nsae); + } + catch (NoSuchProviderException nspe) + { + throw new KeyManagementException(nspe); + } + catch (KeyStoreException kse) + { + throw new KeyManagementException(kse); + } + } + + /** + * Create a default secure PRNG. This is defined as either the algorithm + * given in the gnu.javax.net.ssl.secureRandom security + * property, or Fortuna if that property is not set. If none of these + * algorithms can be found, and instance created with the SecureRandom + * constructor is returned. + * + * @return The default secure PRNG instance. + */ + private SecureRandom defaultRandom() + { + GetSecurityPropertyAction gspa + = new GetSecurityPropertyAction("gnu.javax.net.ssl.secureRandom"); + String alg = AccessController.doPrivileged(gspa); + if (alg == null) + alg = "Fortuna"; + SecureRandom rand = null; + try + { + rand = SecureRandom.getInstance(alg); + } + catch (NoSuchAlgorithmException nsae) + { + rand = new SecureRandom(); + } + + return rand; + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java new file mode 100644 index 00000000000..22c488d68c0 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java @@ -0,0 +1,842 @@ +/* SSLEngineImpl.java -- implementation of SSLEngine. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +import gnu.java.security.util.ByteBufferOutputStream; +import gnu.javax.net.ssl.Session; +import gnu.javax.net.ssl.SSLRecordHandler; + +import java.nio.BufferOverflowException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; +import java.util.zip.DataFormatException; + +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.ShortBufferException; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.SSLEngineResult; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLEngineResult.HandshakeStatus; +import javax.net.ssl.SSLEngineResult.Status; + +public final class SSLEngineImpl extends SSLEngine +{ + final SSLContextImpl contextImpl; + private SSLRecordHandler[] handlers; + private static final SystemLogger logger = SystemLogger.SYSTEM; + private SessionImpl session; + private InputSecurityParameters insec; + private OutputSecurityParameters outsec; + private boolean inClosed; + private boolean outClosed; + private boolean createSessions; + private boolean needClientAuth; + private boolean wantClientAuth; + private boolean initialHandshakeDone; + private AbstractHandshake handshake; + private Alert lastAlert; + private SSLEngineResult.HandshakeStatus handshakeStatus; + private boolean changeCipherSpec; + + private String[] enabledSuites; + private String[] enabledProtocols; + + /** + * We can receive any message chunked across multiple records, + * including alerts, even though all alert messages are only two + * bytes long. Handshake messages are de-chunked in the handshake + * handler, change-cipher-spec messages are always empty, and we + * don't care about chunking of application messages. + * + * This buffer will hold the incomplete alert that we receive, if + * any. + */ + private final ByteBuffer alertBuffer; + + private Mode mode; + + private enum Mode { SERVER, CLIENT }; + + SSLEngineImpl (SSLContextImpl contextImpl, String host, int port) + { + super(host, port); + this.contextImpl = contextImpl; + handlers = new SSLRecordHandler[256]; + session = new SessionImpl(); + session.suite = CipherSuite.TLS_NULL_WITH_NULL_NULL; + session.version = ProtocolVersion.TLS_1_1; + byte[] sid = new byte[32]; + contextImpl.random.nextBytes(sid); + session.setId(new Session.ID(sid)); + session.setRandom(contextImpl.random); + + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "generated session ID {0} with random {1}", + session.id(), contextImpl.random); + + // Begin with no encryption. + insec = new InputSecurityParameters (null, null, null, session, + CipherSuite.TLS_NULL_WITH_NULL_NULL); + outsec = new OutputSecurityParameters (null, null, null, session, + CipherSuite.TLS_NULL_WITH_NULL_NULL); + inClosed = false; + outClosed = false; + needClientAuth = false; + wantClientAuth = false; + createSessions = true; + initialHandshakeDone = false; + alertBuffer = ByteBuffer.wrap (new byte[2]); + mode = null; + lastAlert = null; + handshakeStatus = SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING; + changeCipherSpec = false; + + // Set up default protocols and suites. + enabledProtocols = new String[] { + ProtocolVersion.TLS_1_1.toString(), + ProtocolVersion.TLS_1.toString(), + ProtocolVersion.SSL_3.toString() + }; + enabledSuites = defaultSuites(); + } + + static String[] defaultSuites() + { + return new String[] { + CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA.toString(), + CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA.toString(), + CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA.toString(), + CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA.toString(), + CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA.toString(), + CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA.toString(), + CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA.toString(), + CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA.toString(), + CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA.toString(), + CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA.toString(), + CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA.toString(), + CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA.toString(), + CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA.toString(), + CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA.toString(), + CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA.toString(), + CipherSuite.TLS_RSA_WITH_RC4_128_MD5.toString(), + CipherSuite.TLS_RSA_WITH_RC4_128_SHA.toString(), + CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA.toString(), + CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA.toString(), + CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA.toString(), + CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA.toString(), + CipherSuite.TLS_RSA_WITH_DES_CBC_SHA.toString(), + CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA.toString(), + CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA.toString(), + CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA.toString(), + CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5.toString(), + CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA.toString(), + CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA.toString(), + CipherSuite.TLS_RSA_WITH_NULL_MD5.toString(), + CipherSuite.TLS_RSA_WITH_NULL_SHA.toString() + }; + } + + // XXX implement? + /*public void registerHandler (final int contentType, + SSLRecordHandler handler) + throws SSLException + { + if (type.equals (ContentType.CHANGE_CIPHER_SPEC) + || type.equals (ContentType.ALERT) + || type.equals (ContentType.HANDSHAKE) + || type.equals (ContentType.APPLICATION_DATA)) + throw new SSLException ("can't override handler for content type " + type); + int i = type.getValue (); + if (i < 0 || i > 255) + throw new SSLException ("illegal content type: " + type); + handlers[i] = handler; + }*/ + + @Override + public void beginHandshake () throws SSLException + { + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "{0} handshake begins", mode); + + if (mode == null) + throw new IllegalStateException("setUseClientMode was never used"); + + switch (mode) + { + case SERVER: + if (getHandshakeStatus() != SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) + throw new SSLException("handshake already in progress"); + try + { + handshake = new ServerHandshake(initialHandshakeDone, this); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + break; + + case CLIENT: + try + { + handshake = new ClientHandshake(this); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + break; + } + } + + @Override + public void closeInbound() + { + inClosed = true; + } + + @Override + public void closeOutbound() + { + lastAlert = new Alert(Alert.Level.WARNING, Alert.Description.CLOSE_NOTIFY); + } + + @Override + public Runnable getDelegatedTask() + { + if (handshake == null) + return null; + return handshake.getTask(); + } + + @Override + public String[] getEnabledCipherSuites() + { + return (String[]) enabledSuites.clone(); + } + + @Override + public String[] getEnabledProtocols() + { + return (String[]) enabledProtocols.clone(); + } + + @Override + public boolean getEnableSessionCreation() + { + return createSessions; + } + + @Override + public HandshakeStatus getHandshakeStatus() + { + if (handshake == null) + return HandshakeStatus.NOT_HANDSHAKING; + return handshake.status(); + } + + @Override + public boolean getNeedClientAuth() + { + return needClientAuth; + } + + @Override + public SSLSession getSession() + { + return session; + } + + @Override + public boolean getUseClientMode () + { + return (mode == Mode.CLIENT); + } + + @Override + public boolean getWantClientAuth() + { + return wantClientAuth; + } + + @Override + public boolean isInboundDone() + { + return inClosed; + } + + @Override + public boolean isOutboundDone() + { + return outClosed; + } + + @Override + public void setEnableSessionCreation(final boolean createSessions) + { + this.createSessions = createSessions; + } + + @Override + public void setEnabledCipherSuites(final String[] suites) + { + if (suites.length == 0) + throw new IllegalArgumentException("need at least one suite"); + enabledSuites = (String[]) suites.clone(); + } + + @Override + public void setEnabledProtocols(final String[] protocols) + { + if (protocols.length == 0) + throw new IllegalArgumentException("need at least one protocol"); + enabledProtocols = (String[]) protocols.clone(); + } + + @Override + public String[] getSupportedCipherSuites() + { + // XXX if we ever want to support "pluggable" cipher suites, we'll need + // to figure this out. + + return CipherSuite.availableSuiteNames().toArray(new String[0]); + } + + @Override + public String[] getSupportedProtocols() + { + return new String[] { ProtocolVersion.SSL_3.toString(), + ProtocolVersion.TLS_1.toString(), + ProtocolVersion.TLS_1_1.toString() }; + } + + @Override + public void setNeedClientAuth(final boolean needClientAuth) + { + this.needClientAuth = needClientAuth; + } + + @Override + public void setUseClientMode (final boolean clientMode) + { + if (clientMode) + mode = Mode.CLIENT; + else + mode = Mode.SERVER; + } + + public @Override void setWantClientAuth(final boolean wantClientAuth) + { + this.wantClientAuth = wantClientAuth; + } + + public @Override SSLEngineResult unwrap (final ByteBuffer source, + final ByteBuffer[] sinks, + final int offset, final int length) + throws SSLException + { + if (mode == null) + throw new IllegalStateException ("setUseClientMode was never called"); + + if (inClosed) + return new SSLEngineResult(SSLEngineResult.Status.CLOSED, + handshakeStatus, 0, 0); + + if (source.remaining() < 5) + { + return new SSLEngineResult(SSLEngineResult.Status.BUFFER_UNDERFLOW, + handshakeStatus, 0, 0); + } + + Record record = null; + boolean helloV2 = false; + + // XXX: messages may be chunked across multiple records; does this + // include the SSLv2 message? I don't think it does, but we should + // make sure. + if (!getUseClientMode() && (source.get(source.position()) & 0x80) == 0x80) + { + if (handshake == null) + beginHandshake(); + int hellolen = source.getShort(source.position()) & 0x7FFF; + this.handshake.handleV2Hello(source.slice()); + if (!insec.cipherSuite().equals (CipherSuite.TLS_NULL_WITH_NULL_NULL)) + throw new SSLException ("received SSLv2 client hello in encrypted " + + "session; this is invalid."); + if (Debug.DEBUG) + logger.log (Component.SSL_RECORD_LAYER, + "converting SSLv2 client hello to version 3 hello"); + + source.getShort(); // skip length + ClientHelloV2 v2 = new ClientHelloV2(source.slice()); + + if (Debug.DEBUG) + logger.log(Component.SSL_RECORD_LAYER, "v2 hello: {0}", v2); + + List suites = v2.cipherSpecs(); + + ClientHelloBuilder hello = new ClientHelloBuilder(); + hello.setVersion(v2.version ()); + + Random random = hello.random(); + byte[] challenge = v2.challenge(); + if (challenge.length < 32) + { + byte[] b = new byte[32]; + System.arraycopy(challenge, 0, b, b.length - challenge.length, + challenge.length); + challenge = b; + } + random.setGmtUnixTime((challenge[0] & 0xFF) << 24 + | (challenge[1] & 0xFF) << 16 + | (challenge[2] & 0xFF) << 8 + | (challenge[3] & 0xFF)); + random.setRandomBytes(challenge, 4); + + byte[] sessionId = v2.sessionId(); + hello.setSessionId(sessionId, 0, sessionId.length); + hello.setCipherSuites(suites); + ArrayList comps = new ArrayList(1); + comps.add(CompressionMethod.NULL); + hello.setCompressionMethods(comps); + + record = new Record(ByteBuffer.allocate(hello.length() + 9)); + record.setContentType(ContentType.HANDSHAKE); + record.setVersion(v2.version()); + record.setLength(hello.length() + 4); + + Handshake handshake = new Handshake(record.fragment()); + handshake.setLength(hello.length()); + handshake.setType(Handshake.Type.CLIENT_HELLO); + + handshake.bodyBuffer().put(hello.buffer()); + source.position(source.position() + hellolen); + helloV2 = true; + } + else + record = new Record(source); + + ContentType type = record.contentType (); + + if (Debug.DEBUG) + logger.log(Component.SSL_RECORD_LAYER, "input record:\n{0}", record); + + if (record.length() > session.getPacketBufferSize() - 5) + { + lastAlert = new Alert(Alert.Level.FATAL, + Alert.Description.RECORD_OVERFLOW); + throw new AlertException(lastAlert); + } + + ByteBufferOutputStream sysMsg = null; + ByteBuffer msg = null; + + int produced = 0; + try + { + // Application data will get decrypted directly into the user's + // output buffers. + if (record.contentType() == ContentType.APPLICATION_DATA) + produced = insec.decrypt(record, sinks, offset, length); + else + { + if (insec.cipherSuite() == CipherSuite.TLS_NULL_WITH_NULL_NULL) + msg = record.fragment(); + else + { + sysMsg = new ByteBufferOutputStream(); + insec.decrypt(record, sysMsg); + } + } + + // Advance the input buffer past the record we just read. + if (!helloV2) + source.position(source.position() + record.length() + 5); + } + catch (BufferOverflowException boe) + { + // We throw this if the output buffers are not large enough; signal + // the caller about this. + logger.log(Component.SSL_RECORD_LAYER, "buffer overflow when decrypting", boe); + return new SSLEngineResult(SSLEngineResult.Status.BUFFER_OVERFLOW, + handshakeStatus, 0, 0); + } + catch (IllegalBlockSizeException ibse) + { + lastAlert = new Alert(Alert.Level.FATAL, + Alert.Description.BAD_RECORD_MAC); + throw new AlertException(lastAlert, ibse); + } + catch (DataFormatException dfe) + { + lastAlert = new Alert(Alert.Level.FATAL, + Alert.Description.DECOMPRESSION_FAILURE); + throw new AlertException(lastAlert, dfe); + } + catch (MacException me) + { + lastAlert = new Alert(Alert.Level.FATAL, + Alert.Description.BAD_RECORD_MAC); + throw new AlertException(lastAlert, me); + } + catch (ShortBufferException sbe) + { + // We've messed up if this happens. + lastAlert = new Alert(Alert.Level.FATAL, + Alert.Description.INTERNAL_ERROR); + throw new AlertException(lastAlert, sbe); + } + + SSLEngineResult result = null; + + // If we need to handle the output here, do it. Otherwise, the output + // has been stored in the supplied output buffers. + if (sysMsg != null) + { + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "sysmessage {0}", sysMsg); + msg = sysMsg.buffer(); + } + + if (type == ContentType.CHANGE_CIPHER_SPEC) + { + // We *may* get a partial message, even though the message is only + // one byte long. + if (msg.remaining() == 0) + { + result = new SSLEngineResult (SSLEngineResult.Status.OK, + handshakeStatus, + record.length() + 5, 0); + } + else + { + byte b = msg.get(); + if (b != 1) + throw new SSLException ("unknown ChangeCipherSpec value: " + (b & 0xFF)); + InputSecurityParameters params = handshake.getInputParams(); + logger.log (Component.SSL_RECORD_LAYER, + "switching to input security parameters {0}", + params.cipherSuite()); + insec = params; + result = new SSLEngineResult (SSLEngineResult.Status.OK, + handshakeStatus, + record.length() + 5, 0); + } + } + else if (type == ContentType.ALERT) + { + int len = 0; + if (alertBuffer.position() > 0) + { + alertBuffer.put(msg.get()); + len = 1; + } + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "processing alerts {0}", + Util.wrapBuffer(msg)); + len += msg.remaining() / 2; + Alert[] alerts = new Alert[len]; + int i = 0; + if (alertBuffer.position() > 0) + { + alertBuffer.flip(); + alerts[0] = new Alert(alertBuffer); + i++; + } + while (i < alerts.length) + { + alerts[i++] = new Alert(msg.duplicate()); + msg.position(msg.position() + 2); + } + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "alerts: {0}", alerts.length); + + for (i = 0; i < alerts.length; i++) + { + if (alerts[i].level() == Alert.Level.FATAL) + throw new AlertException(alerts[i], false); + if (alerts[i].description() != Alert.Description.CLOSE_NOTIFY) + logger.log(java.util.logging.Level.WARNING, + "received alert: {0}", alerts[i]); + if (alerts[i].description() == Alert.Description.CLOSE_NOTIFY) + inClosed = true; + } + + if (msg.hasRemaining()) + alertBuffer.position(0).limit(2); + + result = new SSLEngineResult (SSLEngineResult.Status.OK, + handshakeStatus, + record.length() + 5, 0); + } + else if (type == ContentType.HANDSHAKE) + { + if (handshake == null) + beginHandshake(); + try + { + handshakeStatus = handshake.handleInput(msg); + } + catch (AlertException ae) + { + lastAlert = ae.alert(); + return new SSLEngineResult(SSLEngineResult.Status.OK, + SSLEngineResult.HandshakeStatus.NEED_WRAP, + 0, 0); + } + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "handshake status {0}", handshakeStatus); + result = new SSLEngineResult(SSLEngineResult.Status.OK, + handshakeStatus, + record.length() + 5, + 0); + if (handshakeStatus == HandshakeStatus.FINISHED) + { + handshake = null; + handshakeStatus = HandshakeStatus.NOT_HANDSHAKING; + } + } + else if (type == ContentType.APPLICATION_DATA) + { + // Do nothing more; the application data has been put into + // the output buffers. + result = new SSLEngineResult(SSLEngineResult.Status.OK, + handshakeStatus, + record.length() + 5, + produced); + } + else + { + SSLRecordHandler handler = handlers[type.getValue()]; + if (handler != null) + { + result = new SSLEngineResult(SSLEngineResult.Status.OK, + handshakeStatus, + record.length() + 5, + 0); + } + else + throw new SSLException ("unknown content type: " + type); + } + + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "return result: {0}", result); + + return result; + } + + public @Override SSLEngineResult wrap (ByteBuffer[] sources, int offset, int length, + ByteBuffer sink) + throws SSLException + { + if (mode == null) + throw new IllegalStateException ("setUseClientMode was never called"); + + if (outClosed) + return new SSLEngineResult(SSLEngineResult.Status.CLOSED, + handshakeStatus, 0, 0); + + ContentType type = null; + ByteBuffer sysMessage = null; + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "wrap {0} {1} {2} {3} / {4}", + sources, offset, length, sink, getHandshakeStatus()); + if (lastAlert != null) + { + type = ContentType.ALERT; + sysMessage = ByteBuffer.allocate(2); + Alert alert = new Alert(sysMessage); + alert.setDescription(lastAlert.description()); + alert.setLevel(lastAlert.level()); + if (lastAlert.description() == Alert.Description.CLOSE_NOTIFY) + outClosed = true; + } + else if (changeCipherSpec) + { + type = ContentType.CHANGE_CIPHER_SPEC; + sysMessage = ByteBuffer.allocate(1); + sysMessage.put(0, (byte) 1); + } + else if (getHandshakeStatus() == SSLEngineResult.HandshakeStatus.NEED_WRAP) + { + // If we are not encrypting, optimize the handshake to fill + // the buffer directly. + if (outsec.suite() == CipherSuite.TLS_NULL_WITH_NULL_NULL) + { + int orig = sink.position(); + sink.order(ByteOrder.BIG_ENDIAN); + sink.put((byte) ContentType.HANDSHAKE.getValue()); + sink.putShort((short) session.version.rawValue()); + sink.putShort((short) 0); + handshakeStatus = handshake.handleOutput(sink); + int produced = sink.position() - orig; + sink.putShort(orig + 3, (short) (produced - 5)); + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "emitting record:\n{0}", + new Record((ByteBuffer) sink.duplicate().position(orig))); + SSLEngineResult result = new SSLEngineResult(SSLEngineResult.Status.OK, + handshakeStatus, 0, produced); + + // Note, this will only happen if we transition from + // TLS_NULL_WITH_NULL_NULL *to* TLS_NULL_WITH_NULL_NULL, which + // doesn't make a lot of sense, but we support it anyway. + if (handshakeStatus == HandshakeStatus.FINISHED) + { + handshake = null; // finished with it. + handshakeStatus = HandshakeStatus.NOT_HANDSHAKING; + } + return result; + } + + // Rough guideline; XXX. + sysMessage = ByteBuffer.allocate(sink.remaining() - 2048); + type = ContentType.HANDSHAKE; + try + { + handshakeStatus = handshake.handleOutput(sysMessage); + } + catch (AlertException ae) + { + lastAlert = ae.alert(); + return new SSLEngineResult(Status.OK, + HandshakeStatus.NEED_WRAP, 0, 0); + } + sysMessage.flip(); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "handshake status {0}", + handshakeStatus); + } + + int produced = 0; + int consumed = 0; + + try + { + int orig = sink.position(); + int[] inout = null; + if (sysMessage != null) + { + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "encrypt system message {0} to {1}", sysMessage, sink); + inout = outsec.encrypt(new ByteBuffer[] { sysMessage }, 0, 1, + type, sink); + produced = inout[1]; + } + else + { + inout = outsec.encrypt(sources, offset, length, + ContentType.APPLICATION_DATA, sink); + consumed = inout[0]; + produced = inout[1]; + } + + if (Debug.DEBUG) + logger.logv(Component.SSL_RECORD_LAYER, "emitting record:\n{0}", + new Record((ByteBuffer) sink.duplicate().position(orig).limit(produced))); + } + catch (ShortBufferException sbe) + { + // We don't expect this to happen, except for bugs; signal an + // internal error. + lastAlert = new Alert(Alert.Level.FATAL, Alert.Description.INTERNAL_ERROR); + return new SSLEngineResult(SSLEngineResult.Status.OK, handshakeStatus, 0, 0); + } + catch (IllegalBlockSizeException ibse) + { + // We don't expect this to happen, except for bugs; signal an + // internal error. + lastAlert = new Alert(Alert.Level.FATAL, Alert.Description.INTERNAL_ERROR); + return new SSLEngineResult(SSLEngineResult.Status.OK, handshakeStatus, 0, 0); + } + catch (DataFormatException dfe) + { + // We don't expect this to happen; signal an internal error. + lastAlert = new Alert(Alert.Level.FATAL, Alert.Description.INTERNAL_ERROR); + return new SSLEngineResult(SSLEngineResult.Status.OK, handshakeStatus, 0, 0); + } + + if (lastAlert != null && lastAlert.level() == Alert.Level.FATAL) + { + AlertException ae = new AlertException(lastAlert); + lastAlert = null; + throw ae; + } + + if (changeCipherSpec) + { + outsec = handshake.getOutputParams(); + changeCipherSpec = false; + } + SSLEngineResult result + = new SSLEngineResult(outClosed ? SSLEngineResult.Status.CLOSED + : SSLEngineResult.Status.OK, + handshakeStatus, consumed, produced); + if (handshakeStatus == HandshakeStatus.FINISHED) + { + handshake = null; // done with it. + handshakeStatus = HandshakeStatus.NOT_HANDSHAKING; + } + return result; + } + + // Package-private methods. + + SessionImpl session () + { + return session; + } + + void setSession(SessionImpl session) + { + this.session = session; + } + + void changeCipherSpec() + { + changeCipherSpec = true; + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignature.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignature.java deleted file mode 100644 index 2f8c6cfe665..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignature.java +++ /dev/null @@ -1,235 +0,0 @@ -/* SSLRSASignature.java -- SSL's RSA signature algorithm. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.math.BigInteger; - -import java.security.InvalidKeyException; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; - -import java.util.Arrays; -import java.util.Map; - -import gnu.java.security.hash.HashFactory; -import gnu.java.security.hash.IMessageDigest; -import gnu.java.security.sig.ISignature; -import gnu.java.security.sig.rsa.RSA; - -/** - * The RSA signature algorithm as used in the SSL protocol. Note that this - * is different from the RSA signature used to verify certificates. - * - *

    This signature scheme works as follows:

    - * - *

    digitally-signed struct {
    - *     opaque md5_hash[16];
    - *     opaque sha_hash[20];
    - * }

    - * - *

    Where a digitally-signed struct is RSA-encrypted with - * block type 0 or 1 according to PKCS #1, version 1.5.

    - */ -final class SSLRSASignature implements ISignature -{ - - // Fields. - // ------------------------------------------------------------------------- - - private RSAPublicKey pubkey; - private RSAPrivateKey privkey; - private final IMessageDigest md5, sha; - private boolean initVerify = false, initSign = false; - - // Constructor. - // ------------------------------------------------------------------------- - - SSLRSASignature() - { - this(HashFactory.getInstance("MD5"), HashFactory.getInstance("SHA-1")); - } - - SSLRSASignature(IMessageDigest md5, IMessageDigest sha) - { - this.md5 = md5; - this.sha = sha; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String name() - { - return "RSA/SSL"; - } - - public void setupVerify(Map attrib) - { - PublicKey key = (PublicKey) attrib.get(VERIFIER_KEY); - if (key == null) - { - if (initSign) - { - return; // re-use. - } - throw new IllegalArgumentException("no key supplied"); - } - if (!(key instanceof RSAPublicKey)) - { - throw new IllegalArgumentException("not an RSA key"); - } - pubkey = (RSAPublicKey) key; - privkey = null; - initSign = false; - initVerify = true; - } - - public void setupSign(Map attrib) - { - PrivateKey key = (PrivateKey) attrib.get(SIGNER_KEY); - if (key == null) - { - if (initVerify) - { - return; // re-use. - } - throw new IllegalArgumentException("no key supplied"); - } - if (!(key instanceof RSAPrivateKey)) - { - throw new IllegalArgumentException("not an RSA key"); - } - privkey = (RSAPrivateKey) key; - pubkey = null; - initVerify = false; - initSign = true; - } - - public void update(byte b) - { - if (!initVerify && !initSign) - { - throw new IllegalStateException(); - } - md5.update(b); - sha.update(b); - } - - public void update(byte[] buf, int off, int len) - { - if (!initVerify && !initSign) - { - throw new IllegalStateException(); - } - md5.update(buf, off, len); - sha.update(buf, off, len); - } - - public Object sign() - { - if (!initSign) - { - throw new IllegalStateException(); - } - // Pad the hash results with RSA block type 1. - final int k = (privkey.getModulus().bitLength() + 7) >>> 3; - final byte[] d = Util.concat(md5.digest(), sha.digest()); - if (k - 11 < d.length) - { - throw new IllegalArgumentException("message too long"); - } - final byte[] eb = new byte[k]; - eb[0] = 0x00; - eb[1] = 0x01; - for (int i = 2; i < k - d.length - 1; i++) - { - eb[i] = (byte) 0xFF; - } - System.arraycopy(d, 0, eb, k - d.length, d.length); - BigInteger EB = new BigInteger(eb); - - // Private-key encrypt the padded hashes. - BigInteger EM = RSA.sign(privkey, EB); - return Util.trim(EM); - } - - public boolean verify(Object signature) - { - if (!initVerify) - { - throw new IllegalStateException(); - } - // Public-key decrypt the signature representative. - BigInteger EM = new BigInteger(1, (byte[]) signature); - BigInteger EB = RSA.verify(pubkey, EM); - - // Unpad the decrypted message. - int i = 0; - final byte[] eb = EB.toByteArray(); - if (eb[0] == 0x00) - { - for (i = 0; i < eb.length && eb[i] == 0x00; i++); - } - else if (eb[0] == 0x01) - { - for (i = 1; i < eb.length && eb[i] != 0x00; i++) - { - if (eb[i] != (byte) 0xFF) - { - throw new IllegalArgumentException("bad padding"); - } - } - i++; - } - else - { - throw new IllegalArgumentException("decryption failed"); - } - byte[] d1 = Util.trim(eb, i, eb.length - i); - byte[] d2 = Util.concat(md5.digest(), sha.digest()); - return Arrays.equals(d1, d2); - } - - public Object clone() - { - throw new UnsupportedOperationException(); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java new file mode 100644 index 00000000000..415efc6f58d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java @@ -0,0 +1,233 @@ +/* SSLRSASignatureImpl.java -- SSL/TLS RSA implementation. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; +import gnu.java.security.sig.rsa.RSA; + +import java.math.BigInteger; +import java.security.InvalidKeyException; +import java.security.InvalidParameterException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.SignatureException; +import java.security.SignatureSpi; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.util.Arrays; + +/** + * An implementation of of the RSA signature algorithm; this is an RSA + * encrypted MD5 hash followed by a SHA-1 hash. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class SSLRSASignatureImpl extends SignatureSpi +{ + private static final SystemLogger logger = SystemLogger.SYSTEM; + private RSAPublicKey pubkey; + private RSAPrivateKey privkey; + private final MessageDigest md5, sha; + private boolean initSign = false; + private boolean initVerify = false; + + public SSLRSASignatureImpl() throws NoSuchAlgorithmException + { + md5 = MessageDigest.getInstance("MD5"); + sha = MessageDigest.getInstance("SHA-1"); + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineInitVerify(java.security.PublicKey) + */ + @Override protected void engineInitVerify(PublicKey publicKey) + throws InvalidKeyException + { + try + { + pubkey = (RSAPublicKey) publicKey; + initVerify = true; + initSign = false; + privkey = null; + } + catch (ClassCastException cce) + { + throw new InvalidKeyException(cce); + } + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineInitSign(java.security.PrivateKey) + */ + @Override protected void engineInitSign(PrivateKey privateKey) + throws InvalidKeyException + { + try + { + privkey = (RSAPrivateKey) privateKey; + initSign = true; + initVerify = false; + pubkey = null; + } + catch (ClassCastException cce) + { + throw new InvalidKeyException(cce); + } + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineUpdate(byte) + */ + @Override protected void engineUpdate(byte b) throws SignatureException + { + if (!initSign && !initVerify) + throw new IllegalStateException("not initialized"); + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "SSL/RSA update 0x{0}", + Util.formatInt(b & 0xFF, 16, 2)); + md5.update(b); + sha.update(b); + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineUpdate(byte[], int, int) + */ + @Override protected void engineUpdate(byte[] b, int off, int len) + throws SignatureException + { + if (!initSign && !initVerify) + throw new IllegalStateException("not initialized"); + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "SSL/RSA update\n{0}", + Util.hexDump(b, off, len, ">> ")); + md5.update(b, off, len); + sha.update(b, off, len); + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineSign() + */ + @Override protected byte[] engineSign() throws SignatureException + { + // FIXME we need to add RSA blinding to this, somehow. + + if (!initSign) + throw new SignatureException("not initialized for signing"); + // Pad the hash results with RSA block type 1. + final int k = (privkey.getModulus().bitLength() + 7) >>> 3; + final byte[] d = Util.concat(md5.digest(), sha.digest()); + if (k - 11 < d.length) + throw new SignatureException("message too long"); + final byte[] eb = new byte[k]; + eb[0] = 0x00; + eb[1] = 0x01; + for (int i = 2; i < k - d.length - 1; i++) + eb[i] = (byte) 0xFF; + System.arraycopy(d, 0, eb, k - d.length, d.length); + BigInteger EB = new BigInteger(eb); + + // Private-key encrypt the padded hashes. + BigInteger EM = RSA.sign(privkey, EB); + return Util.trim(EM); + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineVerify(byte[]) + */ + @Override protected boolean engineVerify(byte[] sigBytes) + throws SignatureException + { + if (!initVerify) + throw new SignatureException("not initialized for verifying"); + + // Public-key decrypt the signature representative. + BigInteger EM = new BigInteger(1, (byte[]) sigBytes); + BigInteger EB = RSA.verify(pubkey, EM); + + // Unpad the decrypted message. + int i = 0; + final byte[] eb = EB.toByteArray(); + if (eb[0] == 0x00) + { + for (i = 0; i < eb.length && eb[i] == 0x00; i++); + } + else if (eb[0] == 0x01) + { + for (i = 1; i < eb.length && eb[i] != 0x00; i++) + { + if (eb[i] != (byte) 0xFF) + { + throw new SignatureException("bad padding"); + } + } + i++; + } + else + { + throw new SignatureException("decryption failed"); + } + byte[] d1 = Util.trim(eb, i, eb.length - i); + byte[] d2 = Util.concat(md5.digest(), sha.digest()); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "SSL/RSA d1:{0} d2:{1}", + Util.toHexString(d1, ':'), Util.toHexString(d2, ':')); + return Arrays.equals(d1, d2); + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineSetParameter(java.lang.String, java.lang.Object) + */ + @Override protected void engineSetParameter(String param, Object value) + throws InvalidParameterException + { + throw new InvalidParameterException("parameters not supported"); + } + + /* (non-Javadoc) + * @see java.security.SignatureSpi#engineGetParameter(java.lang.String) + */ + @Override protected Object engineGetParameter(String param) + throws InvalidParameterException + { + throw new InvalidParameterException("parameters not supported"); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocket.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocket.java deleted file mode 100644 index ee96b8d1bdf..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocket.java +++ /dev/null @@ -1,283 +0,0 @@ -/* SSLServerSocket.java -- SSL server socket. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.IOException; - -import java.net.InetAddress; -import java.net.Socket; - -import java.security.SecureRandom; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.SortedSet; -import java.util.TreeSet; - -import javax.net.ssl.X509KeyManager; -import javax.net.ssl.X509TrustManager; - -import gnu.javax.net.ssl.SRPTrustManager; - -class SSLServerSocket extends javax.net.ssl.SSLServerSocket -{ - - // Fields. - // ------------------------------------------------------------------------- - - private SessionContext sessions; - private SortedSet enabledProtocols = new TreeSet(SSLSocket.supportedProtocols); - private List enabledSuites = new ArrayList(SSLSocket.supportedSuites); - private boolean clientMode = false; - private boolean needClientAuth = false; - private boolean wantClientAuth = false; - private boolean createSessions = true; - private SRPTrustManager srpTrustManager; - private X509TrustManager trustManager; - private X509KeyManager keyManager; - private SecureRandom random; - - // Constructors. - // ------------------------------------------------------------------------- - - SSLServerSocket() throws IOException - { - super(); - } - - SSLServerSocket(int port) throws IOException - { - super(port); - } - - SSLServerSocket(int port, int backlog) throws IOException - { - super(port, backlog); - } - - SSLServerSocket(int port, int backlog, InetAddress address) - throws IOException - { - super(port, backlog, address); - } - - // SSL methods. - // ------------------------------------------------------------------------- - - public String[] getSupportedCipherSuites() - { - return (String[]) CipherSuite.availableSuiteNames().toArray(new String[0]); - } - - public String[] getEnabledCipherSuites() - { - synchronized (enabledSuites) - { - String[] s = new String[enabledSuites.size()]; - int i = 0; - for (Iterator it = enabledSuites.iterator(); it.hasNext(); ) - s[i++] = it.next().toString(); - return s; - } - } - - public void setEnabledCipherSuites(String[] suites) - { - if (suites == null || suites.length == 0) - throw new IllegalArgumentException(); - for (int i = 0; i < suites.length; i++) - if (CipherSuite.forName(suites[i]) == null) - throw new IllegalArgumentException("unsupported suite: " + - suites[i]); - synchronized (enabledSuites) - { - enabledSuites.clear(); - for (int i = 0; i < suites.length; i++) - { - CipherSuite suite = CipherSuite.forName(suites[i]); - if (!enabledSuites.contains(suite)) - enabledSuites.add(suite); - } - } - } - - public String[] getSupportedProtocols() - { - return new String[] { "SSLv3", "TLSv1", "TLSv1.1" }; - } - - public String[] getEnabledProtocols() - { - synchronized (enabledProtocols) - { - String[] s = new String[enabledProtocols.size()]; - int i = 0; - for (Iterator it = enabledProtocols.iterator(); it.hasNext(); ) - s[i++] = it.next().toString(); - return s; - } - } - - public void setEnabledProtocols(String[] protocols) - { - if (protocols == null || protocols.length == 0) - throw new IllegalArgumentException(); - for (int i = 0; i < protocols.length; i++) - { - if (!(protocols[i].equalsIgnoreCase("SSLv3") || - protocols[i].equalsIgnoreCase("TLSv1") || - protocols[i].equalsIgnoreCase("TLSv1.1"))) - { - throw new - IllegalArgumentException("unsupported protocol: " + - protocols[i]); - } - } - synchronized (enabledProtocols) - { - enabledProtocols.clear(); - for (int i = 0; i < protocols.length; i++) - { - if (protocols[i].equalsIgnoreCase("SSLv3")) - enabledProtocols.add(ProtocolVersion.SSL_3); - else if (protocols[i].equalsIgnoreCase("TLSv1")) - enabledProtocols.add(ProtocolVersion.TLS_1); - else - enabledProtocols.add(ProtocolVersion.TLS_1_1); - } - } - } - - public void setUseClientMode(boolean clientMode) - { - this.clientMode = clientMode; - } - - public boolean getUseClientMode() - { - return clientMode; - } - - public void setNeedClientAuth(boolean needClientAuth) - { - this.needClientAuth = needClientAuth; - } - - public boolean getNeedClientAuth() - { - return needClientAuth; - } - - public void setWantClientAuth(boolean wantClientAuth) - { - this.wantClientAuth = wantClientAuth; - } - - public boolean getWantClientAuth() - { - return wantClientAuth; - } - - // I misspelled this method in javax.net.SSLServerSocket, and that version - // made it into kaffe 1.1.4. - public void setEnabledSessionCreation(boolean createSessions) - { - setEnableSessionCreation(createSessions); - } - - public void setEnableSessionCreation(boolean createSessions) - { - this.createSessions = createSessions; - } - - public boolean getEnableSessionCreation() - { - return createSessions; - } - - // Socket methods. - // ------------------------------------------------------------------------- - - public Socket accept() throws IOException - { - SSLSocket socket = new SSLSocket(); - implAccept(socket); - socket.setUseClientMode(clientMode); - socket.setNeedClientAuth(needClientAuth); - socket.setWantClientAuth(wantClientAuth); - socket.setEnableSessionCreation(createSessions); - socket.setSessionContext(sessions); - socket.setEnabledCipherSuites(new ArrayList(enabledSuites)); - socket.setEnabledProtocols(new TreeSet(enabledProtocols)); - socket.setSRPTrustManager(srpTrustManager); - socket.setTrustManager(trustManager); - socket.setKeyManager(keyManager); - socket.setRandom(random); - return socket; - } - - // Package methods. - // ------------------------------------------------------------------------- - - void setSessionContext(SessionContext sessions) - { - this.sessions = sessions; - } - - void setKeyManager(X509KeyManager keyManager) - { - this.keyManager = keyManager; - } - - void setTrustManager(X509TrustManager trustManager) - { - this.trustManager = trustManager; - } - - void setSRPTrustManager(SRPTrustManager srpTrustManager) - { - this.srpTrustManager = srpTrustManager; - } - - void setRandom(SecureRandom random) - { - this.random = random; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactory.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactory.java deleted file mode 100644 index 72fb512c582..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactory.java +++ /dev/null @@ -1,136 +0,0 @@ -/* SSLServerSocketFactory.java -- factory for SSL server sockets. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.IOException; - -import java.net.InetAddress; -import java.net.ServerSocket; - -import java.security.SecureRandom; - -import javax.net.ssl.X509KeyManager; -import javax.net.ssl.X509TrustManager; - -import gnu.javax.net.ssl.SRPTrustManager; - -class SSLServerSocketFactory extends javax.net.ssl.SSLServerSocketFactory -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final SessionContext sessions; - private final X509KeyManager keyManager; - private final X509TrustManager trustManager; - private final SRPTrustManager srpTrustManager; - private final SecureRandom random; - - // Constructor. - // ------------------------------------------------------------------------- - - SSLServerSocketFactory(X509TrustManager trustManager, - SRPTrustManager srpTrustManager, - X509KeyManager keyManager, - SecureRandom random, - SessionContext sessions) - { - super(); - this.trustManager = trustManager; - this.srpTrustManager = srpTrustManager; - this.keyManager = keyManager; - this.random = random; - this.sessions = sessions; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String[] getDefaultCipherSuites() - { - return getSupportedCipherSuites(); - } - - public String[] getSupportedCipherSuites() - { - return (String[]) CipherSuite.availableSuiteNames().toArray(new String[0]); - } - - public ServerSocket createServerSocket() throws IOException - { - SSLServerSocket socket = new SSLServerSocket(); - setup(socket); - return socket; - } - - public ServerSocket createServerSocket(int port) throws IOException - { - SSLServerSocket socket = new SSLServerSocket(port); - setup(socket); - return socket; - } - - public ServerSocket createServerSocket(int port, int backlog) - throws IOException - { - SSLServerSocket socket = new SSLServerSocket(port, backlog); - setup(socket); - return socket; - } - - public ServerSocket createServerSocket(int port, int backlog, InetAddress addr) - throws IOException - { - SSLServerSocket socket = new SSLServerSocket(port, backlog, addr); - setup(socket); - return socket; - } - - // Own methods. - // ------------------------------------------------------------------------- - - private void setup(SSLServerSocket socket) - { - socket.setSessionContext(sessions); - socket.setKeyManager(keyManager); - socket.setTrustManager(trustManager); - socket.setSRPTrustManager(srpTrustManager); - socket.setRandom(random); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java new file mode 100644 index 00000000000..dc80dc78248 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java @@ -0,0 +1,108 @@ +/* SSLServerSocketFactoryImpl.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; + +import javax.net.ssl.SSLServerSocketFactory; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class SSLServerSocketFactoryImpl extends SSLServerSocketFactory +{ + private final SSLContextImpl contextImpl; + + public SSLServerSocketFactoryImpl(SSLContextImpl contextImpl) + { + this.contextImpl = contextImpl; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocketFactory#getDefaultCipherSuites() + */ + @Override public String[] getDefaultCipherSuites() + { + return SSLEngineImpl.defaultSuites(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocketFactory#getSupportedCipherSuites() + */ + @Override public String[] getSupportedCipherSuites() + { + return CipherSuite.availableSuiteNames().toArray(new String[0]); + } + + /* (non-Javadoc) + * @see javax.net.ServerSocketFactory#createServerSocket(int) + */ + @Override public SSLServerSocketImpl createServerSocket(int port) + throws IOException + { + SSLServerSocketImpl socket = new SSLServerSocketImpl(contextImpl); + socket.bind(new InetSocketAddress(port)); + return socket; + } + + /* (non-Javadoc) + * @see javax.net.ServerSocketFactory#createServerSocket(int, int) + */ + @Override public SSLServerSocketImpl createServerSocket(int port, int backlog) + throws IOException + { + SSLServerSocketImpl socket = new SSLServerSocketImpl(contextImpl); + socket.bind(new InetSocketAddress(port), backlog); + return socket; + } + + /* (non-Javadoc) + * @see javax.net.ServerSocketFactory#createServerSocket(int, int, java.net.InetAddress) + */ + @Override public SSLServerSocketImpl createServerSocket(int port, int backlog, + InetAddress bindAddress) + throws IOException + { + SSLServerSocketImpl socket = new SSLServerSocketImpl(contextImpl); + socket.bind(new InetSocketAddress(bindAddress, port), backlog); + return socket; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketImpl.java new file mode 100644 index 00000000000..41ef5f1cf46 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLServerSocketImpl.java @@ -0,0 +1,199 @@ +/* SSLServerSocketImpl.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.IOException; + +import javax.net.ssl.SSLServerSocket; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class SSLServerSocketImpl extends SSLServerSocket +{ + private final SSLContextImpl contextImpl; + + private boolean enableSessionCreation; + private String[] enabledCipherSuites; + private String[] enabledProtocols; + private boolean needClientAuth; + private boolean wantClientAuth; + private boolean clientMode; + + public SSLServerSocketImpl(SSLContextImpl contextImpl) throws IOException + { + super(); + this.contextImpl = contextImpl; + enableSessionCreation = true; + enabledCipherSuites = SSLEngineImpl.defaultSuites(); + enabledProtocols = new String[] { ProtocolVersion.SSL_3.toString(), + ProtocolVersion.TLS_1.toString(), + ProtocolVersion.TLS_1_1.toString() }; + needClientAuth = false; + wantClientAuth = false; + clientMode = false; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getEnableSessionCreation() + */ + @Override public boolean getEnableSessionCreation() + { + return enableSessionCreation; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getEnabledCipherSuites() + */ + @Override public String[] getEnabledCipherSuites() + { + return (String[]) enabledCipherSuites.clone(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getEnabledProtocols() + */ + @Override public String[] getEnabledProtocols() + { + return (String[]) enabledProtocols.clone(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getNeedClientAuth() + */ + @Override public boolean getNeedClientAuth() + { + return needClientAuth; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getSupportedCipherSuites() + */ + @Override public String[] getSupportedCipherSuites() + { + return CipherSuite.availableSuiteNames().toArray(new String[0]); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getSupportedProtocols() + */ + @Override public String[] getSupportedProtocols() + { + return new String[] { ProtocolVersion.SSL_3.toString(), + ProtocolVersion.TLS_1.toString(), + ProtocolVersion.TLS_1_1.toString() }; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getUseClientMode() + */ + @Override public boolean getUseClientMode() + { + return clientMode; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#getWantClientAuth() + */ + @Override public boolean getWantClientAuth() + { + return wantClientAuth; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#setEnableSessionCreation(boolean) + */ + @Override public void setEnableSessionCreation(final boolean enabled) + { + enableSessionCreation = enabled; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#setEnabledCipherSuites(java.lang.String[]) + */ + @Override public void setEnabledCipherSuites(final String[] suites) + { + enabledCipherSuites = (String[]) suites.clone(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#setEnabledProtocols(java.lang.String[]) + */ + @Override public void setEnabledProtocols(final String[] protocols) + { + enabledProtocols = (String[]) protocols.clone(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#setNeedClientAuth(boolean) + */ + @Override public void setNeedClientAuth(final boolean needAuth) + { + needClientAuth = needAuth; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#setUseClientMode(boolean) + */ + @Override public void setUseClientMode(final boolean clientMode) + { + this.clientMode = clientMode; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLServerSocket#setWantClientAuth(boolean) + */ + @Override public void setWantClientAuth(final boolean wantAuth) + { + wantClientAuth = wantAuth; + } + + @Override public SSLSocketImpl accept() throws IOException + { + SSLSocketImpl socketImpl = new SSLSocketImpl(contextImpl, null, -1); + implAccept(socketImpl); + socketImpl.setEnableSessionCreation(enableSessionCreation); + socketImpl.setEnabledCipherSuites(enabledCipherSuites); + socketImpl.setEnabledProtocols(enabledProtocols); + socketImpl.setNeedClientAuth(needClientAuth); + socketImpl.setUseClientMode(clientMode); + socketImpl.setWantClientAuth(wantClientAuth); + return socketImpl; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocket.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocket.java deleted file mode 100644 index d08bc50f1c9..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocket.java +++ /dev/null @@ -1,3515 +0,0 @@ -/* SSLSocket.java -- the SSL socket class. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.BufferedOutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintStream; - -import java.math.BigInteger; - -import java.net.InetAddress; -import java.net.Socket; -import java.net.SocketAddress; -import java.net.SocketException; - -import java.nio.channels.SocketChannel; - -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; -import java.security.KeyPair; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Principal; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.Security; -import java.security.SecureRandom; -import java.security.cert.X509Certificate; -import java.security.interfaces.DSAPrivateKey; -import java.security.interfaces.DSAPublicKey; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; - -import java.util.Arrays; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.SortedSet; -import java.util.TreeSet; - -import java.util.logging.Logger; - -import javax.crypto.Cipher; -import javax.crypto.Mac; -import javax.crypto.NoSuchPaddingException; -import javax.crypto.interfaces.DHPublicKey; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; - -import javax.net.ssl.HandshakeCompletedEvent; -import javax.net.ssl.HandshakeCompletedListener; -import javax.net.ssl.SSLException; -import javax.net.ssl.SSLHandshakeException; -import javax.net.ssl.SSLPeerUnverifiedException; -import javax.net.ssl.SSLProtocolException; -import javax.net.ssl.SSLSession; -import javax.net.ssl.X509KeyManager; -import javax.net.ssl.X509TrustManager; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.ConfirmationCallback; -import javax.security.auth.callback.PasswordCallback; -import javax.security.auth.callback.TextInputCallback; - -import gnu.classpath.debug.Component; -import gnu.classpath.debug.SystemLogger; - -import gnu.java.security.Registry; -import gnu.javax.security.auth.callback.DefaultCallbackHandler; -import gnu.java.security.hash.HashFactory; -import gnu.java.security.hash.IMessageDigest; -import gnu.javax.crypto.key.IKeyAgreementParty; -import gnu.javax.crypto.key.KeyAgreementFactory; -import gnu.javax.crypto.key.KeyAgreementException; -import gnu.javax.crypto.key.OutgoingMessage; -import gnu.javax.crypto.key.IncomingMessage; -import gnu.javax.crypto.key.dh.DiffieHellmanKeyAgreement; -import gnu.javax.crypto.key.dh.ElGamalKeyAgreement; -import gnu.javax.crypto.key.dh.GnuDHPrivateKey; -import gnu.javax.crypto.key.dh.GnuDHPublicKey; -import gnu.javax.crypto.key.srp6.SRPPrivateKey; -import gnu.javax.crypto.key.srp6.SRPPublicKey; -import gnu.javax.crypto.key.srp6.SRP6KeyAgreement; -import gnu.javax.crypto.mac.IMac; -import gnu.javax.crypto.mode.IMode; -import gnu.javax.crypto.prng.ARCFour; -import gnu.java.security.prng.IRandom; -import gnu.java.security.prng.LimitReachedException; -import gnu.javax.crypto.sasl.srp.SRPAuthInfoProvider; -import gnu.javax.crypto.sasl.srp.SRPRegistry; -import gnu.java.security.sig.ISignature; -import gnu.java.security.sig.SignatureFactory; -import gnu.java.security.sig.dss.DSSSignature; -import gnu.java.security.sig.rsa.EME_PKCS1_V1_5; -import gnu.java.security.sig.rsa.RSA; - -import gnu.javax.net.ssl.SRPTrustManager; - -/** - * This is the core of the Jessie SSL implementation; it implements the {@link - * javax.net.ssl.SSLSocket} for normal and "wrapped" sockets, and handles all - * protocols implemented by this library. - */ -final class SSLSocket extends javax.net.ssl.SSLSocket -{ - - // This class is almost unbearably large and complex, but is laid out - // as follows: - // - // 1. Fields. - // 2. Constructors. - // 3. SSLSocket methods. These are the public methods defined in - // javax.net.ssl.SSLSocket. - // 4. Socket methods. These override the public methods of java.net.Socket, - // and delegate the method call to either the underlying socket if this is - // a wrapped socket, or to the superclass. - // 5. Package-private methods that various pieces of Jessie use. - // 6. Private methods. These compose the SSL handshake. - // - // Each part is preceeded by a form feed. - - // Constants and fields. - // ------------------------------------------------------------------------- - - // Debuggery. - private static final boolean DEBUG_HANDSHAKE_LAYER = true; - private static final boolean DEBUG_KEY_EXCHANGE = false; - private static final Logger logger = SystemLogger.SYSTEM; - - // Fields for using this class as a wrapped socket. - private Socket underlyingSocket; - private int underlyingPort; - private boolean autoClose; - - // Cryptography fields. - SessionContext sessionContext; - Session session; - LinkedList handshakeListeners; - private boolean clientMode, wantClientAuth, needClientAuth, createSessions; - private boolean handshakeDone; - - // I/O fields. - private String remoteHost; - private InputStream socketIn; - private OutputStream socketOut; - private InputStream applicationIn; - private OutputStream applicationOut; - private InputStream handshakeIn; - private OutputStream handshakeOut; -// private ThreadGroup recordLayer; - RecordInput recordInput; -// RecordOutput recordOutput; - private long handshakeTime; - - private SocketChannel channel; - - static SortedSet supportedProtocols = new TreeSet(); - static List supportedSuites = new ArrayList(30); - - // Static initializer. - // ------------------------------------------------------------------------- - - static - { - //supportedProtocols.add(ProtocolVersion.TLS_1_1); - supportedProtocols.add(ProtocolVersion.TLS_1); - supportedProtocols.add(ProtocolVersion.SSL_3); - - // These are in preference order. It's my preference order, but I'm not - // a total idiot. - supportedSuites.add(CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_DSS_WITH_AES_256_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_RSA_WITH_AES_256_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_DSS_WITH_AES_128_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_RSA_WITH_AES_128_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_RC4_128_MD5); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_RC4_128_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_DES_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5); - supportedSuites.add(CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_NULL_MD5); - supportedSuites.add(CipherSuite.TLS_RSA_WITH_NULL_SHA); - } - - // Constructors. - // ------------------------------------------------------------------------- - - SSLSocket(Socket socket, String host, int port, boolean autoClose) - throws IOException - { - underlyingSocket = socket; - remoteHost = host; - underlyingPort = port; - this.autoClose = autoClose; - initialize(); - } - - SSLSocket (Socket socket, SocketChannel channel) throws IOException - { - underlyingSocket = socket; - this.channel = channel; - initialize (); - } - - SSLSocket() throws IOException - { - super(); - initialize(); - } - - SSLSocket(InetAddress addr, int port) throws IOException - { - super(addr, port); - initialize(); - remoteHost = addr.getHostName(); - if (remoteHost == null) - { - remoteHost = addr.getHostAddress(); - } - } - - SSLSocket(InetAddress addr, int port, InetAddress laddr, int lport) - throws IOException - { - super(addr, port, laddr, lport); - initialize(); - remoteHost = addr.getHostName(); - if (remoteHost == null) - remoteHost = addr.getHostAddress(); - } - - SSLSocket(String host, int port) throws IOException - { - super(host, port); - initialize(); - remoteHost = host; - } - - SSLSocket(String host, int port, InetAddress laddr, int lport) - throws IOException - { - super(host, port, laddr, lport); - initialize(); - remoteHost = host; - } - - private void initialize() - { - session = new Session(); - session.enabledSuites = new ArrayList(supportedSuites); - session.enabledProtocols = new TreeSet(supportedProtocols); - session.protocol = ProtocolVersion.TLS_1; - session.params.setVersion (ProtocolVersion.TLS_1); - handshakeListeners = new LinkedList(); - handshakeDone = false; - } - - // SSL methods. - // ------------------------------------------------------------------------- - - public void addHandshakeCompletedListener(HandshakeCompletedListener l) - { - synchronized (handshakeListeners) - { - if (l == null) - throw new NullPointerException(); - if (!handshakeListeners.contains(l)) - handshakeListeners.add(l); - } - } - - public void removeHandshakeCompletedListener(HandshakeCompletedListener l) - { - synchronized (handshakeListeners) - { - handshakeListeners.remove(l); - } - } - - public String[] getEnabledProtocols() - { - synchronized (session.enabledProtocols) - { - try - { - return (String[]) Util.transform(session.enabledProtocols.toArray(), - String.class, "toString", null); - } - catch (Exception x) - { - RuntimeException re = new RuntimeException (x.getMessage()); - re.initCause (x); - throw re; - } - } - } - - public void setEnabledProtocols(String[] protocols) - { - if (protocols == null || protocols.length == 0) - throw new IllegalArgumentException(); - for (int i = 0; i < protocols.length; i++) - { - if (!(protocols[i].equalsIgnoreCase("SSLv3") || - protocols[i].equalsIgnoreCase("TLSv1") || - protocols[i].equalsIgnoreCase("TLSv1.1"))) - { - throw new - IllegalArgumentException("unsupported protocol: " + - protocols[i]); - } - } - synchronized (session.enabledProtocols) - { - session.enabledProtocols.clear(); - for (int i = 0; i < protocols.length; i++) - { - if (protocols[i].equalsIgnoreCase("SSLv3")) - { - session.enabledProtocols.add(ProtocolVersion.SSL_3); - } - else if (protocols[i].equalsIgnoreCase("TLSv1")) - { - session.enabledProtocols.add(ProtocolVersion.TLS_1); - } - else - { - session.enabledProtocols.add(ProtocolVersion.TLS_1_1); - } - } - } - } - - public String[] getSupportedProtocols() - { - return new String[] { /* "TLSv1.1", */ "TLSv1", "SSLv3" }; - } - - public String[] getEnabledCipherSuites() - { - synchronized (session.enabledSuites) - { - try - { - return (String[]) Util.transform(session.enabledSuites.toArray(), - String.class, "toString", null); - } - catch (Exception x) - { - RuntimeException re = new RuntimeException (x.getMessage()); - re.initCause (x); - throw re; - } - } - } - - public void setEnabledCipherSuites(String[] suites) - { - if (suites == null || suites.length == 0) - throw new IllegalArgumentException(); - for (int i = 0; i < suites.length; i++) - if (CipherSuite.forName(suites[i]) == null) - throw new IllegalArgumentException("unsupported suite: " + - suites[i]); - synchronized (session.enabledSuites) - { - session.enabledSuites.clear(); - for (int i = 0; i < suites.length; i++) - { - CipherSuite suite = CipherSuite.forName(suites[i]); - if (!session.enabledSuites.contains(suite)) - { - session.enabledSuites.add(suite); - } - } - } - } - - public String[] getSupportedCipherSuites() - { - return (String[]) CipherSuite.availableSuiteNames().toArray(new String[52]); - } - - public SSLSession getSession() - { - return session; - } - - public boolean getEnableSessionCreation() - { - return createSessions; - } - - public void setEnableSessionCreation(boolean flag) - { - createSessions = flag; - } - - public boolean getNeedClientAuth() - { - return needClientAuth; - } - - public void setNeedClientAuth(boolean flag) - { - needClientAuth = flag; - } - - public boolean getWantClientAuth() - { - return wantClientAuth; - } - - public void setWantClientAuth(boolean flag) - { - wantClientAuth = flag; - } - - public boolean getUseClientMode() - { - return clientMode; - } - - public void setUseClientMode(boolean flag) - { - this.clientMode = flag; - } - - public synchronized void startHandshake() throws IOException - { - if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "startHandshake called in {0}", - Thread.currentThread()); - handshakeTime = System.currentTimeMillis(); - } - if (handshakeDone) - { - if (clientMode) - { - handshakeDone = false; - doClientHandshake(); - } - else - { - Handshake req = new Handshake(Handshake.Type.HELLO_REQUEST, null); - req.write (handshakeOut, session.protocol); - handshakeOut.flush(); -// recordOutput.setHandshakeAvail(req.write(handshakeOut, session.protocol)); - } - return; - } - if (recordInput == null) - { - setupIO(); - } - if (clientMode) - { - doClientHandshake(); - } - else - { - doServerHandshake(); - } - } - - // Socket methods. - // ------------------------------------------------------------------------- - - public InetAddress getInetAddress() - { - if (underlyingSocket != null) - { - return underlyingSocket.getInetAddress(); - } - else - { - return super.getInetAddress(); - } - } - - public InetAddress getLocalAddress() - { - if (underlyingSocket != null) - { - return underlyingSocket.getLocalAddress(); - } - else - { - return super.getLocalAddress(); - } - } - - public int getPort() - { - if (underlyingSocket != null) - { - return underlyingSocket.getPort(); - } - else - { - return super.getPort(); - } - } - - public int getLocalPort() - { - if (underlyingSocket != null) - { - return underlyingSocket.getLocalPort(); - } - else - { - return super.getLocalPort(); - } - } - - public InputStream getInputStream() throws IOException - { - if (applicationIn == null) - { - setupIO(); - } - return applicationIn; - } - - public OutputStream getOutputStream() throws IOException - { - if (applicationOut == null) - { - setupIO(); - } - return applicationOut; - } - - public void setTcpNoDelay(boolean flag) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setTcpNoDelay(flag); - } - else - { - super.setTcpNoDelay(flag); - } - } - - public boolean getTcpNoDelay() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getTcpNoDelay(); - } - else - { - return super.getTcpNoDelay(); - } - } - - public void setSoLinger(boolean flag, int linger) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setSoLinger(flag, linger); - } - else - { - super.setSoLinger(flag, linger); - } - } - - public int getSoLinger() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getSoLinger(); - } - else - { - return super.getSoLinger(); - } - } - - public void sendUrgentData(int data) throws IOException - { - throw new UnsupportedOperationException("not implemented"); - } - - public void setSoTimeout(int timeout) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setSoTimeout(timeout); - } - else - { - super.setSoTimeout(timeout); - } - } - - public int getSoTimeout() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getSoTimeout(); - } - else - { - return super.getSoTimeout(); - } - } - - public void setSendBufferSize(int size) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setSendBufferSize(size); - } - else - { - super.setSendBufferSize(size); - } - } - - public int getSendBufferSize() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getSendBufferSize(); - } - else - { - return super.getSendBufferSize(); - } - } - - public void setReceiveBufferSize(int size) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setReceiveBufferSize(size); - } - else - { - super.setReceiveBufferSize(size); - } - } - - public int getReceiveBufferSize() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getReceiveBufferSize(); - } - else - { - return super.getReceiveBufferSize(); - } - } - - public synchronized void close() throws IOException - { - if (recordInput == null) - { - if (underlyingSocket != null) - { - if (autoClose) - underlyingSocket.close(); - } - else - super.close(); - return; - } -// while (recordOutput.applicationDataPending()) Thread.yield(); - Alert close = new Alert (Alert.Level.WARNING, Alert.Description.CLOSE_NOTIFY); - sendAlert (close); - long wait = System.currentTimeMillis() + 60000L; - while (session.currentAlert == null && !recordInput.pollClose()) - { - - Thread.yield(); - if (wait <= System.currentTimeMillis()) - { - break; - } - } - boolean gotClose = session.currentAlert != null && - session.currentAlert.getDescription() == Alert.Description.CLOSE_NOTIFY; -// recordInput.setRunning(false); -// recordOutput.setRunning(false); -// recordLayer.interrupt(); - recordInput = null; -// recordOutput = null; -// recordLayer = null; - if (underlyingSocket != null) - { - if (autoClose) - underlyingSocket.close(); - } - else - super.close(); - if (!gotClose) - { - session.invalidate(); - throw new SSLException("did not receive close notify"); - } - } - - public String toString() - { - if (underlyingSocket != null) - { - return SSLSocket.class.getName() + " [ " + underlyingSocket + " ]"; - } - else - { - return SSLSocket.class.getName() + " [ " + super.toString() + " ]"; - } - } - - // Configuration insanity begins here. - - public void connect(SocketAddress saddr) throws IOException - { - if (underlyingSocket != null) - { - underlyingSocket.connect(saddr); - } - else - { - super.connect(saddr); - } - } - - public void connect(SocketAddress saddr, int timeout) throws IOException - { - if (underlyingSocket != null) - { - underlyingSocket.connect(saddr, timeout); - } - else - { - super.connect(saddr, timeout); - } - } - - public void bind(SocketAddress saddr) throws IOException - { - if (underlyingSocket != null) - { - underlyingSocket.bind(saddr); - } - else - { - super.bind(saddr); - } - } - - public SocketAddress getLocalSocketAddress() - { - if (underlyingSocket != null) - { - return underlyingSocket.getLocalSocketAddress(); - } - else - { - return super.getLocalSocketAddress(); - } - } - - public SocketChannel getChannel() - { - return channel; - } - - public boolean isBound() - { - if (underlyingSocket != null) - { - return underlyingSocket.isBound(); - } - else - { - return super.isBound(); - } - } - - public boolean isClosed() - { - if (underlyingSocket != null) - { - return underlyingSocket.isClosed(); - } - else - { - return super.isClosed(); - } - } - - public SocketAddress getRemoteSocketAddress() - { - if (underlyingSocket != null) - { - return underlyingSocket.getRemoteSocketAddress(); - } - else - { - return super.getRemoteSocketAddress(); - } - } - - public void setOOBInline(boolean flag) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setOOBInline(flag); - } - else - { - super.setOOBInline(flag); - } - } - - public boolean getOOBInline() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getOOBInline(); - } - else - { - return super.getOOBInline(); - } - } - - public void setKeepAlive(boolean flag) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setKeepAlive(flag); - } - else - { - super.setKeepAlive(flag); - } - } - - public boolean getKeepAlive() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getKeepAlive(); - } - else - { - return super.getKeepAlive(); - } - } - - public void setTrafficClass(int clazz) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setTrafficClass(clazz); - } - else - { - super.setTrafficClass(clazz); - } - } - - public int getTrafficClass() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getTrafficClass(); - } - else - { - return super.getTrafficClass(); - } - } - - public void setReuseAddress(boolean flag) throws SocketException - { - if (underlyingSocket != null) - { - underlyingSocket.setReuseAddress(flag); - } - else - { - super.setReuseAddress(flag); - } - } - - public boolean getReuseAddress() throws SocketException - { - if (underlyingSocket != null) - { - return underlyingSocket.getReuseAddress(); - } - else - { - return super.getReuseAddress(); - } - } - - public void shutdownInput() throws IOException - { - if (underlyingSocket != null) - { - underlyingSocket.shutdownInput(); - } - else - { - super.shutdownInput(); - } - } - - public void shutdownOutput() throws IOException - { - if (underlyingSocket != null) - { - underlyingSocket.shutdownOutput(); - } - else - { - super.shutdownOutput(); - } - } - - public boolean isConnected() - { - if (underlyingSocket != null) - { - return underlyingSocket.isConnected(); - } - else - { - return super.isConnected(); - } - } - - public boolean isInputShutdown() - { - if (underlyingSocket != null) - { - return underlyingSocket.isInputShutdown(); - } - else - { - return super.isInputShutdown(); - } - } - - public boolean isOutputShutdown() - { - if (underlyingSocket != null) - { - return underlyingSocket.isOutputShutdown(); - } - else - { - return super.isOutputShutdown(); - } - } - - protected void finalize() - { - if (session.currentAlert == null) - { - try - { - close(); - } - catch (Exception ignore) { } - } - } - - // Package methods. - // ------------------------------------------------------------------------- - - void setSessionContext(SessionContext sessionContext) - { - this.sessionContext = sessionContext; - } - - void setEnabledCipherSuites(List suites) - { - session.enabledSuites = suites; - } - - void setEnabledProtocols(SortedSet protocols) - { - session.enabledProtocols = protocols; - } - - void setSRPTrustManager(SRPTrustManager srpTrustManager) - { - session.srpTrustManager = srpTrustManager; - } - - void setTrustManager(X509TrustManager trustManager) - { - session.trustManager = trustManager; - } - - void setKeyManager(X509KeyManager keyManager) - { - session.keyManager = keyManager; - } - - void setRandom(SecureRandom random) - { - session.random = random; - } - - void sendAlert (Alert alert) throws IOException - { - RecordOutputStream out = - new RecordOutputStream (socketOut, ContentType.ALERT, session.params); - out.write (alert.getEncoded ()); - } - - /** - * Gets the most-recently-received alert message. - * - * @return The alert message. - */ - Alert checkAlert() - { - return session.currentAlert; - } - - synchronized void checkHandshakeDone() throws IOException - { - if (!handshakeDone) - { - startHandshake(); - } - Alert alert = session.currentAlert; - if (alert != null && alert.getLevel() == Alert.Level.FATAL) - { - throw new AlertException(alert, false); - } - if (handshakeIn.available() > 0 && !clientMode) - { - handshakeDone = false; - startHandshake(); - } - } - - // Own methods. - // ------------------------------------------------------------------------- - - private static final byte[] SENDER_CLIENT = - new byte[] { 0x43, 0x4C, 0x4E, 0x54 }; - private static final byte[] SENDER_SERVER = - new byte[] { 0x53, 0x52, 0x56, 0x52 }; - - private void changeCipherSpec () throws IOException - { - RecordOutputStream out = - new RecordOutputStream (socketOut, ContentType.CHANGE_CIPHER_SPEC, session.params); - out.write (1); - } - - private void readChangeCipherSpec () throws IOException - { - RecordInputStream in = - new RecordInputStream (recordInput, ContentType.CHANGE_CIPHER_SPEC); - if (in.read() != 1) - { - throw new SSLProtocolException ("bad change cipher spec message"); - } - } - - /** - * Initializes the application data streams and starts the record layer - * threads. - */ - private synchronized void setupIO() throws IOException - { - if (recordInput != null) - { - return; - } - if (underlyingSocket != null) - { - socketIn = underlyingSocket.getInputStream(); - socketOut = underlyingSocket.getOutputStream(); - } - else - { - socketIn = super.getInputStream(); - socketOut = super.getOutputStream(); - } -// recordLayer = new ThreadGroup("record_layer"); -// recordInput = new RecordInput(in, session, recordLayer); -// recordOutput = new RecordOutput(out, session, recordLayer); -// recordInput.setRecordOutput(recordOutput); -// recordLayer.setDaemon(true); -// recordInput.start(); -// recordOutput.start(); - recordInput = new RecordInput (socketIn, session); - applicationIn = new SSLSocketInputStream( - new RecordInputStream (recordInput, ContentType.APPLICATION_DATA), this); - applicationOut = new SSLSocketOutputStream( - new RecordOutputStream (socketOut, ContentType.APPLICATION_DATA, session.params), this); - handshakeIn = new SSLSocketInputStream( - new RecordInputStream (recordInput, ContentType.HANDSHAKE), this, false); - handshakeOut = new BufferedOutputStream (new SSLSocketOutputStream( - new RecordOutputStream (socketOut, ContentType.HANDSHAKE, session.params), this, false), 8096); - } - - private void handshakeCompleted () - { - handshakeDone = true; - HandshakeCompletedEvent event = new HandshakeCompletedEvent (this, session); - for (Iterator it = handshakeListeners.iterator (); it.hasNext (); ) - { - try - { - ((HandshakeCompletedListener) it.next ()).handshakeCompleted (event); - } - catch (Throwable t) { } - } - if (createSessions) - { - synchronized (session) - { - sessionContext.addSession (session.sessionId, session); - session.access (); - } - } - - if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "Handshake finished in {0}", - Thread.currentThread()); - handshakeTime = System.currentTimeMillis() - handshakeTime; - logger.log (Component.SSL_HANDSHAKE, "Elapsed time {0}s", - new Long (handshakeTime / 1000)); - } - } - - /* - * Perform the client handshake. The process looks like this: - * - * ClientHello --> - * ServerHello <-- - * Certificate* <-- - * ServerKeyExchange* <-- - * CertificateRequest* <-- - * ServerHelloDone* <-- - * Certificate* --> - * ClientKeyExchange --> - * CertificateVerify* --> - * [ChangeCipherSpec] --> - * Finished --> - * [ChangeCipherSpec] <-- - * Finished <-- - * - * With --> denoting output and <-- denoting input. * denotes optional - * messages. - * - * Alternatively, this may be an abbreviated handshake if we are resuming - * a session: - * - * ClientHello --> - * ServerHello <-- - * [ChangeCipherSpec] <-- - * Finished <-- - * [ChangeCipherSpec] --> - * Finished --> - */ - private void doClientHandshake() throws IOException - { - if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "starting client handshake in {0}", - Thread.currentThread()); - } - - IMessageDigest md5 = HashFactory.getInstance(Registry.MD5_HASH); - IMessageDigest sha = HashFactory.getInstance(Registry.SHA160_HASH); - DigestInputStream din = new DigestInputStream(handshakeIn, md5, sha); - DigestOutputStream dout = new DigestOutputStream(handshakeOut, md5, sha); - Session continuedSession = null; - byte[] sessionId = new byte[0]; - List extensions = null; - String user = null; - CertificateType certType = CertificateType.X509; - - // Look through the available sessions to see if an appropriate one is - // available. - for (Enumeration e = sessionContext.getIds(); e.hasMoreElements(); ) - { - byte[] id = (byte[]) e.nextElement(); - continuedSession = (Session) sessionContext.getSession(id); - if (continuedSession == null) - { - continue; - } - if (!session.enabledProtocols.contains(continuedSession.protocol)) - { - continue; - } - if (continuedSession.getPeerHost().equals(remoteHost)) - { - sessionId = id; - break; - } - } - - // If a SRP suite is enabled, ask for a username so we can include it - // with our extensions list. - for (Iterator i = session.enabledSuites.iterator(); i.hasNext(); ) - { - CipherSuite s = (CipherSuite) i.next(); - if (s.getKeyExchange() == "SRP") - { - extensions = new LinkedList(); - user = askUserName(remoteHost); - byte[] b = user.getBytes("UTF-8"); - if (b.length > 255) - { - handshakeFailure(); - throw new SSLException("SRP username too long"); - } - extensions.add(new Extension(Extension.Type.SRP, - Util.concat(new byte[] { (byte) b.length }, b))); - - break; - } - } - - // If the jessie.fragment.length property is set, add the appropriate - // extension to the list. The fragment length is only actually set if - // the server responds with the same extension. - try - { - int flen = Integer.parseInt(Util.getSecurityProperty("jessie.fragment.length")); - byte[] ext = new byte[1]; - if (flen == 512) - ext[0] = 1; - else if (flen == 1024) - ext[0] = 2; - else if (flen == 2048) - ext[0] = 3; - else if (flen == 4096) - ext[0] = 4; - else - throw new NumberFormatException(); - if (extensions == null) - extensions = new LinkedList(); - extensions.add(new Extension(Extension.Type.MAX_FRAGMENT_LENGTH, ext)); - } - catch (NumberFormatException nfe) { } - - // FIXME: set certificate types. - - // Send the client hello. - ProtocolVersion version = session.protocol; - Random clientRandom = - new Random(Util.unixTime(), session.random.generateSeed(28)); - session.protocol = (ProtocolVersion) session.enabledProtocols.last(); - List comp = new ArrayList(2); - comp.add(CompressionMethod.ZLIB); - comp.add(CompressionMethod.NULL); - ClientHello clientHello = - new ClientHello(session.protocol, clientRandom, sessionId, - session.enabledSuites, comp, extensions); - Handshake msg = new Handshake(Handshake.Type.CLIENT_HELLO, clientHello); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write (dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version)); - dout.flush(); -// try -// { -// Thread.sleep(150); -// } -// catch (InterruptedException ie) -// { -// } - - // Receive the server hello. - msg = Handshake.read(din); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - if (msg.getType() != Handshake.Type.SERVER_HELLO) - { - throwUnexpectedMessage(); - } - ServerHello serverHello = (ServerHello) msg.getBody(); - Random serverRandom = serverHello.getRandom(); - version = serverHello.getVersion(); - - // If we don't directly support the server's protocol version, choose - // the highest one we support that is less than the server's version. - if (!session.enabledProtocols.contains(version)) - { - ProtocolVersion v1 = null, v2 = null; - for (Iterator it = session.enabledProtocols.iterator(); - it.hasNext(); ) - { - v1 = (ProtocolVersion) it.next(); - if (v1.compareTo(version) > 0) - break; - v2 = v1; - } - version = v1; - } - - // The server's version is either unsupported by us (unlikely) or the user - // has only enabled incompatible versions. - if (version == null) - { - Alert.Description desc = null; - if (serverHello.getVersion() == ProtocolVersion.SSL_3) - { - desc = Alert.Description.HANDSHAKE_FAILURE; - } - else - { - desc = Alert.Description.PROTOCOL_VERSION; - } - Alert alert = new Alert(Alert.Level.FATAL, desc); - sendAlert(alert); - session.currentAlert = alert; - fatal(); - throw new AlertException(alert, true); - } - - if (serverHello.getExtensions() != null) - { - for (Iterator it = serverHello.getExtensions().iterator(); - it.hasNext(); ) - { - Extension e = (Extension) it.next(); - if (e.getType() == Extension.Type.MAX_FRAGMENT_LENGTH) - { - int len = Extensions.getMaxFragmentLength(e).intValue(); - session.params.setFragmentLength(len); -// recordOutput.setFragmentLength(len); -// recordInput.setFragmentLength(len); - } - else if (e.getType() == Extension.Type.CERT_TYPE) - { - certType = Extensions.getServerCertType(e); - } - } - } - - CipherSuite suite = serverHello.getCipherSuite().resolve(version); - boolean newSession = true; - if (sessionId.length > 0 && - Arrays.equals(sessionId, serverHello.getSessionId())) - { - SecurityParameters params = session.params; - SecureRandom random = session.random; - session = (Session) continuedSession.clone(); - session.params = params; - session.random = random; - recordInput.setSession(session); -// recordOutput.setSession(session); - suite = session.cipherSuite; - newSession = false; - } - else - { - sessionContext.removeSession(new Session.ID(sessionId)); - } - if (newSession) - { - session.peerHost = remoteHost; - session.sessionId = new Session.ID(serverHello.getSessionId()); - session.cipherSuite = suite; - } - session.params.reset(); -// session.params.setInMac(null); -// session.params.setOutMac(null); -// session.params.setInRandom(null); -// session.params.setOutRandom(null); -// session.params.setInCipher(null); -// session.params.setOutCipher(null); - session.currentAlert = null; - session.valid = true; - session.protocol = version; - - // If the server responded with the same session id that we sent, we - // assume that the session will be continued, and skip the bulk of the - // handshake. - if (newSession) - { - PublicKey serverKey = null, serverKex = null; - KeyPair clientKeys = null, clientKex = null; - CertificateRequest certReq; - boolean sendKeyExchange = false; - BigInteger srp_x = null; - IKeyAgreementParty clientKA = null; - IncomingMessage in; // used for key agreement protocol exchange - OutgoingMessage out = null; - - if (suite.getKeyExchange() == "SRP") - { - String password = askPassword(user); - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, - "SRP: password read is ''{0}''", password); - } - byte[] userSrpPassword = password.getBytes("UTF-8"); - - // instantiate and setup client-side key agreement party - clientKA = KeyAgreementFactory.getPartyAInstance(Registry.SRP_TLS_KA); - Map clientAttributes = new HashMap(); - clientAttributes.put(SRP6KeyAgreement.HASH_FUNCTION, - Registry.SHA160_HASH); - clientAttributes.put(SRP6KeyAgreement.USER_IDENTITY, user); - clientAttributes.put(SRP6KeyAgreement.USER_PASSWORD, userSrpPassword); - try - { - clientKA.init(clientAttributes); - // initiate the exchange - out = clientKA.processMessage(null); - } - catch (KeyAgreementException x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP exception", x); - } - throwHandshakeFailure(); - } - } - - if (suite.getSignature() != "anon") - { - msg = Handshake.read(din, certType); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - if (msg.getType() != Handshake.Type.CERTIFICATE) - { - throwUnexpectedMessage(); - } - Certificate serverCertificate = (Certificate) msg.getBody(); - X509Certificate[] peerCerts = serverCertificate.getCertificates(); - try - { - session.trustManager.checkServerTrusted(peerCerts, - suite.getAuthType()); - if (suite.getSignature() == "RSA" && - !(peerCerts[0].getPublicKey() instanceof RSAPublicKey)) - throw new InvalidKeyException("improper public key"); - if (suite.getKeyExchange() == "DH" && - !(peerCerts[0].getPublicKey() instanceof DHPublicKey)) - throw new InvalidKeyException("improper public key"); - if (suite.getKeyExchange() == "DHE") - { - if (suite.getSignature() == "RSA" && - !(peerCerts[0].getPublicKey() instanceof RSAPublicKey)) - throw new InvalidKeyException("improper public key"); - if (suite.getSignature() == "DSS" && - !(peerCerts[0].getPublicKey() instanceof DSAPublicKey)) - throw new InvalidKeyException("improper public key"); - } - session.peerCerts = peerCerts; - session.peerVerified = true; - } - catch (InvalidKeyException ike) - { - throwHandshakeFailure(); - } - catch (Exception x) - { - if (!checkCertificates(peerCerts)) - { - peerUnverified(peerCerts); - SSLPeerUnverifiedException e = - new SSLPeerUnverifiedException ("could not verify peer certificate: "+ - peerCerts[0].getSubjectDN()); - e.initCause (x); - throw e; - } - session.peerCerts = peerCerts; - session.peerVerified = true; - } - serverKey = peerCerts[0].getPublicKey(); - serverKex = serverKey; - } - - msg = Handshake.read(din, suite, serverKey); - - // Receive the server's key exchange. - if (msg.getType() == Handshake.Type.SERVER_KEY_EXCHANGE) - { - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - ServerKeyExchange skex = (ServerKeyExchange) msg.getBody(); - serverKex = skex.getPublicKey(); - if (suite.getSignature() != "anon") - { - ISignature sig = null; - if (suite.getSignature() == "RSA") - { - sig = new SSLRSASignature(); - } - else if (suite.getSignature() == "DSS") - { - sig = SignatureFactory.getInstance(Registry.DSS_SIG); - } - sig.setupVerify(Collections.singletonMap( - ISignature.VERIFIER_KEY, serverKey)); - byte[] buf = clientRandom.getEncoded(); - sig.update(buf, 0, buf.length); - buf = serverRandom.getEncoded(); - sig.update(buf, 0, buf.length); - if (suite.getKeyExchange() == "RSA") - { - updateSig(sig, ((RSAPublicKey) serverKex).getModulus()); - updateSig(sig, ((RSAPublicKey) serverKex).getPublicExponent()); - } - else if (suite.getKeyExchange() == "DHE") - { - updateSig(sig, ((DHPublicKey) serverKex).getParams().getP()); - updateSig(sig, ((DHPublicKey) serverKex).getParams().getG()); - updateSig(sig, ((DHPublicKey) serverKex).getY()); - } - else if (suite.getKeyExchange() == "SRP") - { - updateSig(sig, ((SRPPublicKey) serverKex).getN()); - updateSig(sig, ((SRPPublicKey) serverKex).getG()); - byte[] srpSalt = skex.getSRPSalt(); - sig.update((byte) srpSalt.length); - sig.update(srpSalt, 0, srpSalt.length); - updateSig(sig, ((SRPPublicKey) serverKex).getY()); - } - if (!sig.verify(skex.getSignature().getSigValue())) - { - throwHandshakeFailure(); - } - } - - if (suite.getKeyExchange() == "SRP") - { - // use server's key exchange data to continue - // agreement protocol by faking a received incoming - // message. again the following code can be broken - // into multiple blocks for more accurate exception - // handling - try - { - out = new OutgoingMessage(); - out.writeMPI(((SRPPublicKey) serverKex).getN()); - out.writeMPI(((SRPPublicKey) serverKex).getG()); - out.writeMPI(new BigInteger(1, skex.getSRPSalt())); - out.writeMPI(((SRPPublicKey) serverKex).getY()); - - in = new IncomingMessage(out.toByteArray()); - - out = clientKA.processMessage(in); - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "clientKA isComplete? {0}", - Boolean.valueOf (clientKA.isComplete())); - } - } - catch (KeyAgreementException x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP exception", x); - } - throwHandshakeFailure(); - } - } - msg = Handshake.read(din, suite, serverKey); - } - - // See if the server wants us to send our certificates. - certReq = null; - if (msg.getType() == Handshake.Type.CERTIFICATE_REQUEST) - { - if (suite.getSignature() == "anon") - { - throwHandshakeFailure(); - } - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - certReq = (CertificateRequest) msg.getBody(); - msg = Handshake.read(din); - } - - // Read ServerHelloDone. - if (msg.getType() != Handshake.Type.SERVER_HELLO_DONE) - { - throwUnexpectedMessage(); - } - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - - // Send our certificate chain if the server asked for it. - if (certReq != null) - { - String alias = session.keyManager.chooseClientAlias( - certReq.getTypeStrings(), certReq.getAuthorities(), null); - if (alias == null && version == ProtocolVersion.SSL_3) - { - Alert alert = - new Alert(Alert.Level.WARNING, Alert.Description.NO_CERTIFICATE); - sendAlert(alert); - } - else - { - X509Certificate[] chain = - session.keyManager.getCertificateChain(alias); - PrivateKey key = session.keyManager.getPrivateKey(alias); - if (chain == null) - { - chain = new X509Certificate[0]; - } - Certificate cert = new Certificate(chain); - msg = new Handshake(Handshake.Type.CERTIFICATE, cert); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version));; - dout.flush(); - if (chain.length > 0) - { - session.localCerts = chain; - clientKeys = new KeyPair(chain[0].getPublicKey(), key); - } - } - } - - // Send our key exchange. - byte[] preMasterSecret = null; - ClientKeyExchange ckex = null; - if (suite.getKeyExchange() == "RSA") - { - ProtocolVersion v = - (ProtocolVersion) session.enabledProtocols.last(); - byte[] b = new byte[46]; - session.random.nextBytes (b); - preMasterSecret = Util.concat(v.getEncoded(), b); - EME_PKCS1_V1_5 pkcs1 = EME_PKCS1_V1_5.getInstance((RSAPublicKey) serverKex); - BigInteger bi = new BigInteger(1, - pkcs1.encode(preMasterSecret, session.random)); - bi = RSA.encrypt((RSAPublicKey) serverKex, bi); - ckex = new ClientKeyExchange(Util.trim(bi)); - } - else if (suite.getKeyExchange().startsWith("DH")) - { - if (clientKeys == null || - !(clientKeys.getPublic() instanceof DHPublicKey)) - { - GnuDHPrivateKey tmpKey = - new GnuDHPrivateKey(null, ((DHPublicKey) serverKex).getParams().getP(), - ((DHPublicKey) serverKex).getParams().getG(), null); - clientKA = KeyAgreementFactory.getPartyBInstance(Registry.DH_KA); - Map attr = new HashMap(); - attr.put(DiffieHellmanKeyAgreement.KA_DIFFIE_HELLMAN_OWNER_PRIVATE_KEY, - tmpKey); - attr.put(DiffieHellmanKeyAgreement.SOURCE_OF_RANDOMNESS, - session.random); - try - { - clientKA.init(attr); - out = new OutgoingMessage(); - out.writeMPI(((DHPublicKey) serverKex).getY()); - in = new IncomingMessage(out.toByteArray()); - out = clientKA.processMessage(in); - in = new IncomingMessage(out.toByteArray()); - ckex = new ClientKeyExchange(in.readMPI()); - } - catch (KeyAgreementException kae) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "DH exception", kae); - } - internalError(); - RuntimeException re = new RuntimeException (kae.getMessage()); - re.initCause (kae); - throw re; - } - } - else - { - clientKA = KeyAgreementFactory.getPartyBInstance(Registry.ELGAMAL_KA); - Map attr = new HashMap(); - attr.put(ElGamalKeyAgreement.KA_ELGAMAL_RECIPIENT_PRIVATE_KEY, - clientKeys.getPrivate()); - try - { - // The key exchange is already complete here; our public - // value was sent with our certificate. - clientKA.init(attr); - } - catch (KeyAgreementException kae) - { - if (DEBUG_KEY_EXCHANGE) - logger.log (Component.SSL_KEY_EXCHANGE, "DH exception", kae); - internalError(); - RuntimeException re = new RuntimeException (kae.getMessage()); - re.initCause (kae); - throw re; - } - ckex = new ClientKeyExchange(new byte[0]); - } - } - else if (suite.getKeyExchange() == "SRP") - { - // at this point, out --the outgoing message-- already contains - // what we want. so... - BigInteger A = null; - try - { - in = new IncomingMessage(out.toByteArray()); - A = in.readMPI(); - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "client A:{0}", A); - } - } - catch (KeyAgreementException x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP exception", x); - } - throwHandshakeFailure(); - } - ckex = new ClientKeyExchange(A); - } - msg = new Handshake(Handshake.Type.CLIENT_KEY_EXCHANGE, ckex); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write (dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version));; - - // Generate the master secret. - if (suite.getKeyExchange().startsWith("DH")) - { - try - { - preMasterSecret = clientKA.getSharedSecret(); - } - catch (KeyAgreementException kae) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "DH exception", kae); - } - internalError(); - RuntimeException re = new RuntimeException (kae.getMessage()); - re.initCause (kae); - throw re; - } - } - else if (suite.getKeyExchange() == "SRP") - { - try - { - preMasterSecret = clientKA.getSharedSecret(); - } - catch (KeyAgreementException x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP exception", x); - } - throwHandshakeFailure(); - } - finally - { - clientKA = null; - } - } - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "preMasterSecret:\n{0}", - Util.toHexString (preMasterSecret, ':')); - logger.log (Component.SSL_KEY_EXCHANGE, "client.random:\n{0}", - Util.toHexString(clientRandom.getEncoded(), ':')); - logger.log (Component.SSL_KEY_EXCHANGE, "server.random:\n{0}", - Util.toHexString(serverRandom.getEncoded(), ':')); - } - IRandom genSecret = null; - if (version == ProtocolVersion.SSL_3) - { - genSecret = new SSLRandom(); - HashMap attr = new HashMap(); - attr.put(SSLRandom.SECRET, preMasterSecret); - attr.put(SSLRandom.SEED, - Util.concat(clientRandom.getEncoded(), serverRandom.getEncoded())); - genSecret.init(attr); - } - else - { - genSecret = new TLSRandom(); - HashMap attr = new HashMap(); - attr.put(TLSRandom.SECRET, preMasterSecret); - attr.put(TLSRandom.SEED, - Util.concat(("master secret").getBytes("UTF-8"), - Util.concat(clientRandom.getEncoded(), serverRandom.getEncoded()))); - genSecret.init(attr); - } - session.masterSecret = new byte[48]; - try - { - genSecret.nextBytes(session.masterSecret, 0, 48); - for (int i = 0; i < preMasterSecret.length; i++) - { - preMasterSecret[i] = 0; - } - } - catch (LimitReachedException shouldNotHappen) - { - internalError(); - RuntimeException re = new RuntimeException (shouldNotHappen.getMessage()); - re.initCause (shouldNotHappen); - throw re; - } - - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "masterSecret: {0}", - Util.toHexString(session.masterSecret, ':')); - } - - // Send our certificate verify message. - if (certReq != null && clientKeys != null) - { - IMessageDigest vMD5 = (IMessageDigest) md5.clone(); - IMessageDigest vSHA = (IMessageDigest) sha.clone(); - PrivateKey key = clientKeys.getPrivate(); - Object sig = null; - String sigAlg = null; - try - { - if (key instanceof DSAPrivateKey) - { - sig = DSSSignature.sign((DSAPrivateKey) key, vSHA.digest(), - session.random); - sigAlg = "DSS"; - } - else if (key instanceof RSAPrivateKey) - { - SSLRSASignature rsa = new SSLRSASignature(vMD5, vSHA); - rsa.setupSign(Collections.singletonMap(ISignature.SIGNER_KEY, key)); - sig = rsa.sign(); - sigAlg = "RSA"; - } - else - { - throw new InvalidKeyException("no appropriate key"); - } - } - catch (Exception x) - { - throwHandshakeFailure(); - } - CertificateVerify verify = new CertificateVerify(sig, sigAlg); - msg = new Handshake(Handshake.Type.CERTIFICATE_VERIFY, verify); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version));; - } - dout.flush(); - } - - byte[][] keys = null; - try - { - keys = generateKeys(serverRandom.getEncoded(), - clientRandom.getEncoded(), version); - } - catch (Exception x) - { - internalError(); - RuntimeException re = new RuntimeException (x.getMessage()); - re.initCause (x); - throw re; - } - - session.params.setVersion (version); - - // Initialize the algorithms with the derived keys. - Object readMac = null, writeMac = null; - Object readCipher = null, writeCipher = null; - try - { - if (session.params instanceof GNUSecurityParameters) - { - HashMap attr = new HashMap(); - writeMac = CipherSuite.getMac(suite.getMac()); - readMac = CipherSuite.getMac(suite.getMac()); - attr.put(IMac.MAC_KEY_MATERIAL, keys[0]); - ((IMac) writeMac).init(attr); - attr.put(IMac.MAC_KEY_MATERIAL, keys[1]); - ((IMac) readMac).init(attr); - if (suite.getCipher() == "RC4") - { - writeCipher = new ARCFour(); - readCipher = new ARCFour(); - attr.clear(); - attr.put(ARCFour.ARCFOUR_KEY_MATERIAL, keys[2]); - ((ARCFour) writeCipher).init(attr); - attr.put(ARCFour.ARCFOUR_KEY_MATERIAL, keys[3]); - ((ARCFour) readCipher).init(attr); - } - else if (!suite.isStreamCipher()) - { - writeCipher = CipherSuite.getCipher(suite.getCipher()); - readCipher = CipherSuite.getCipher(suite.getCipher()); - attr.clear(); - attr.put(IMode.KEY_MATERIAL, keys[2]); - attr.put(IMode.IV, keys[4]); - attr.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); - ((IMode) writeCipher).init(attr); - attr.put(IMode.KEY_MATERIAL, keys[3]); - attr.put(IMode.IV, keys[5]); - attr.put(IMode.STATE, new Integer(IMode.DECRYPTION)); - ((IMode) readCipher).init(attr); - } - } - else // JCESecurityParameters - { - writeMac = CipherSuite.getJCEMac (suite.getMac()); - readMac = CipherSuite.getJCEMac (suite.getMac()); - writeCipher = CipherSuite.getJCECipher (suite.getCipher()); - readCipher = CipherSuite.getJCECipher (suite.getCipher()); - ((Mac) writeMac).init (new SecretKeySpec (keys[0], suite.getMac())); - ((Mac) readMac).init (new SecretKeySpec (keys[1], suite.getMac())); - if (!suite.isStreamCipher()) - { - ((Cipher) writeCipher).init (Cipher.ENCRYPT_MODE, - new SecretKeySpec (keys[2], suite.getCipher()), - new IvParameterSpec (keys[4])); - ((Cipher) readCipher).init (Cipher.DECRYPT_MODE, - new SecretKeySpec (keys[3], suite.getCipher()), - new IvParameterSpec (keys[5])); - } - else - { - ((Cipher) writeCipher).init (Cipher.ENCRYPT_MODE, - new SecretKeySpec (keys[2], suite.getCipher())); - ((Cipher) readCipher).init (Cipher.DECRYPT_MODE, - new SecretKeySpec (keys[3], suite.getCipher())); - } - } - } - // These should technically never happen, if our key generation is not - // broken. - catch (InvalidKeyException ike) - { - internalError(); - RuntimeException re = new RuntimeException (ike.getMessage()); - re.initCause(ike); - throw re; - } - catch (InvalidAlgorithmParameterException iape) - { - internalError(); - RuntimeException re = new RuntimeException (iape.getMessage()); - re.initCause (iape); - throw re; - } - // These indicate a configuration error with the JCA. - catch (NoSuchAlgorithmException nsae) - { - session.enabledSuites.remove (suite); - internalError(); - SSLException x = new SSLException ("suite " + suite + " not available in this configuration"); - x.initCause (nsae); - throw x; - } - catch (NoSuchPaddingException nspe) - { - session.enabledSuites.remove (suite); - internalError(); - SSLException x = new SSLException ("suite " + suite + " not available in this configuration"); - x.initCause (nspe); - throw x; - } - - Finished finis = null; - - if (newSession) - { - changeCipherSpec(); - session.params.setDeflating(serverHello.getCompressionMethod() == CompressionMethod.ZLIB); - session.params.setOutMac(writeMac); - session.params.setOutCipher(writeCipher); - finis = generateFinished(version, (IMessageDigest) md5.clone(), - (IMessageDigest) sha.clone(), true); - msg = new Handshake(Handshake.Type.FINISHED, finis); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); - dout.flush(); - } - - if (session.currentAlert != null && - session.currentAlert.getLevel() == Alert.Level.FATAL) - { - fatal(); - throw new AlertException(session.currentAlert, false); - } - - synchronized (session.params) - { - readChangeCipherSpec (); - session.params.setInflating(serverHello.getCompressionMethod() == CompressionMethod.ZLIB); - session.params.setInMac(readMac); - session.params.setInCipher(readCipher); - session.params.notifyAll(); - } - - Finished verify = generateFinished(version, (IMessageDigest) md5.clone(), - (IMessageDigest) sha.clone(), false); - - msg = Handshake.read(din, suite, null); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - if (msg.getType() != Handshake.Type.FINISHED) - { - throwUnexpectedMessage(); - } - finis = (Finished) msg.getBody(); - if (version == ProtocolVersion.SSL_3) - { - if (!Arrays.equals(finis.getMD5Hash(), verify.getMD5Hash()) || - !Arrays.equals(finis.getSHAHash(), verify.getSHAHash())) - { - throwHandshakeFailure(); - } - } - else - { - if (!Arrays.equals(finis.getVerifyData(), verify.getVerifyData())) - { - throwHandshakeFailure(); - } - } - - if (!newSession) - { - changeCipherSpec(); - session.params.setDeflating(serverHello.getCompressionMethod() == CompressionMethod.ZLIB); - session.params.setOutMac(writeMac); - session.params.setOutCipher(writeCipher); - finis = generateFinished(version, md5, sha, true); - msg = new Handshake(Handshake.Type.FINISHED, finis); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); - dout.flush(); - } - - handshakeCompleted(); - } - - /** - * Perform the server handshake. - */ - private void doServerHandshake() throws IOException - { - if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "doing server handshake in {0}", - Thread.currentThread()); - } - - if (remoteHost == null) - { - remoteHost = getInetAddress().getHostName(); - } - if (remoteHost == null) - { - remoteHost = getInetAddress().getHostAddress(); - } - - IMessageDigest md5 = HashFactory.getInstance(Registry.MD5_HASH); - IMessageDigest sha = HashFactory.getInstance(Registry.SHA160_HASH); - DigestInputStream din = new DigestInputStream(handshakeIn, md5, sha); - DigestOutputStream dout = new DigestOutputStream(handshakeOut, md5, sha); - - // Read the client hello. - Handshake msg = Handshake.read(din); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - if (msg.getType() != Handshake.Type.CLIENT_HELLO) - { - throwUnexpectedMessage(); - } - ClientHello clientHello = (ClientHello) msg.getBody(); - Random clientRandom = clientHello.getRandom(); - ProtocolVersion version = clientHello.getVersion(); - ProtocolVersion server = - (ProtocolVersion) session.enabledProtocols.last(); - CompressionMethod comp; - if (clientHello.getCompressionMethods().contains(CompressionMethod.ZLIB)) - comp = CompressionMethod.ZLIB; - else - comp = CompressionMethod.NULL; - if (!session.enabledProtocols.contains(version) - && version.compareTo(server) < 0) - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.PROTOCOL_VERSION); - sendAlert(alert); - session.currentAlert = alert; - throw new AlertException(alert, true); - } - - // Look through the extensions sent by the client (if any), and react to - // them appropriately. - List extensions = null; - String remoteUser = null; - if (clientHello.getExtensions() != null) - { - for (Iterator it = clientHello.getExtensions().iterator(); it.hasNext();) - { - Extension ex = (Extension) it.next(); - if (ex.getType() == Extension.Type.SERVER_NAME) - { - if (extensions == null) - { - extensions = new LinkedList(); - } - extensions.add(ex); - } - else if (ex.getType() == Extension.Type.MAX_FRAGMENT_LENGTH) - { - int maxLen = Extensions.getMaxFragmentLength(ex).intValue(); -// recordInput.setFragmentLength(maxLen); -// recordOutput.setFragmentLength(maxLen); - session.params.setFragmentLength(maxLen); - if (extensions == null) - { - extensions = new LinkedList(); - } - extensions.add(ex); - } - else if (ex.getType() == Extension.Type.SRP) - { - if (extensions == null) - { - extensions = new LinkedList(); - } - byte[] b = ex.getValue(); - remoteUser = new String(ex.getValue(), 1, b[0] & 0xFF, "UTF-8"); - session.putValue("srp-username", remoteUser); - } - } - } - - CipherSuite suite = selectSuite(clientHello.getCipherSuites(), version); - if (suite == null) - { - return; - } - - // If the selected suite turns out to be SRP, set up the key exchange - // objects. - IKeyAgreementParty serverKA = null; - IncomingMessage in; - OutgoingMessage out = null; - if (suite.getKeyExchange() == "SRP") - { - // FIXME - // Uhm, I don't think this can happen, because if remoteUser is null - // we cannot choose an SRP ciphersuite... - if (remoteUser == null) - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.MISSING_SRP_USERNAME); - sendAlert(alert); - throw new AlertException(alert, true); - } - - SRPAuthInfoProvider srpDB = new SRPAuthInfoProvider(); - Map dbAttributes = new HashMap(); - dbAttributes.put(SRPRegistry.PASSWORD_DB, - session.srpTrustManager.getPasswordFile()); - srpDB.activate(dbAttributes); - - // FIXME - // We can also fake that the user exists, and generate a dummy (and - // invalid) master secret, and let the handshake fail at the Finished - // message. This is better than letting the connecting side know that - // the username they sent isn't valid. - // - // But how to implement this? - if (!srpDB.contains(remoteUser)) - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.UNKNOWN_SRP_USERNAME); - sendAlert(alert); - throw new AlertException(alert, true); - } - - serverKA = KeyAgreementFactory.getPartyBInstance(Registry.SRP_TLS_KA); - Map serverAttributes = new HashMap(); - serverAttributes.put(SRP6KeyAgreement.HASH_FUNCTION, - Registry.SHA160_HASH); - serverAttributes.put(SRP6KeyAgreement.HOST_PASSWORD_DB, srpDB); - - try - { - serverKA.init(serverAttributes); - out = new OutgoingMessage(); - out.writeString(remoteUser); - in = new IncomingMessage(out.toByteArray()); - out = serverKA.processMessage(in); - } - catch (KeyAgreementException x) - { - throwHandshakeFailure(); - } - } - - // Check if the session specified by the client's ID corresponds - // to a saved session, and if so, continue it. - boolean newSession = true; - if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "saved sessions: {0}", sessionContext); - } - if (sessionContext.containsSessionID( - new Session.ID(clientHello.getSessionId()))) - { - Session old = session; - session = (Session) sessionContext.getSession(clientHello.getSessionId()); - if (!clientHello.getCipherSuites().contains(session.cipherSuite)) - { - throwHandshakeFailure(); - } - if (session.getPeerHost().equals(remoteHost) && - old.enabledProtocols.contains(session.protocol)) - { - session = (Session) session.clone(); - suite = session.cipherSuite; - newSession = false; - recordInput.setSession(session); - session.currentAlert = null; - session.params = old.params; - session.random = old.random; - } - else - { - if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "rejected section; hosts equal? {0}, same suites? {1}", - new Object[] { Boolean.valueOf (session.getPeerHost().equals(remoteHost)), - Boolean.valueOf (old.enabledProtocols.contains(session.protocol)) }); - } - session = old; - session.peerHost = remoteHost; - newSession = true; - } - } - else if (DEBUG_HANDSHAKE_LAYER) - { - logger.log (Component.SSL_HANDSHAKE, "rejected session; have session id? {0}, saved sessions: {1}", - new Object[] { Boolean.valueOf (sessionContext.containsSessionID(new Session.ID(clientHello.getSessionId()))), - sessionContext }); - } - if (newSession) - { - byte[] buf = new byte[32]; - Session.ID sid = null; - do - { - session.random.nextBytes(buf); - sid = new Session.ID(buf); - } - while (sessionContext.containsSessionID(sid)); - session.sessionId = sid; - } - session.valid = true; - session.peerHost = remoteHost; - session.cipherSuite = suite; - session.protocol = version; - session.params.setVersion (version); - - // Send the server hello. - Random serverRandom = new Random(Util.unixTime(), - session.random.generateSeed(28)); - ServerHello serverHello = new ServerHello(version, serverRandom, - session.getId(), suite, - comp, extensions); - msg = new Handshake(Handshake.Type.SERVER_HELLO, serverHello); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version)); - dout.flush(); - - if (newSession) - { - X509Certificate[] certs = null; - PrivateKey serverKey = null; - if (suite.getSignature() != "anon") - { - // Send our CA-issued certificate to the client. - String alias = session.keyManager.chooseServerAlias(suite.getAuthType(), - null, null); - certs = session.keyManager.getCertificateChain(alias); - serverKey = session.keyManager.getPrivateKey(alias); - if (certs == null || serverKey == null) - { - throwHandshakeFailure(); - } - session.localCerts = certs; - Certificate serverCert = new Certificate(certs); - msg = new Handshake(Handshake.Type.CERTIFICATE, serverCert); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version));; - dout.flush(); - } - - // If the certificate we sent does not contain enough information to - // do the key exchange (in the case of ephemeral Diffie-Hellman, - // export RSA, and SRP) we send a signed public key to be used for the - // key exchange. - KeyPair signPair = null; - if (certs != null) - { - signPair = new KeyPair(certs[0].getPublicKey(), serverKey); - } - KeyPair kexPair = signPair; - ServerKeyExchange skex = null; - - // Set up our key exchange, and/or prepare our ServerKeyExchange - // message. - if ((suite.getKeyExchange() == "RSA" && suite.isExportable() && - ((RSAPrivateKey) serverKey).getModulus().bitLength() > 512)) - { - kexPair = KeyPool.generateRSAKeyPair(); - RSAPublicKey pubkey = (RSAPublicKey) kexPair.getPublic(); - Signature s = null; - if (suite.getSignature() != "anon") - { - SSLRSASignature sig = new SSLRSASignature(); - sig.setupSign(Collections.singletonMap(ISignature.SIGNER_KEY, - signPair.getPrivate())); - byte[] buf = clientRandom.getEncoded(); - sig.update(buf, 0, buf.length); - buf = serverRandom.getEncoded(); - sig.update(buf, 0, buf.length); - updateSig(sig, pubkey.getModulus()); - updateSig(sig, pubkey.getPublicExponent()); - s = new Signature(sig.sign(), "RSA"); - } - skex = new ServerKeyExchange(pubkey, s); - } - else if (suite.getKeyExchange() == "DH") - { - serverKA = KeyAgreementFactory.getPartyBInstance(Registry.ELGAMAL_KA); - Map attr = new HashMap(); - attr.put(ElGamalKeyAgreement.KA_ELGAMAL_RECIPIENT_PRIVATE_KEY, - serverKey); - try - { - serverKA.init(attr); - } - catch (KeyAgreementException kae) - { - if (DEBUG_KEY_EXCHANGE) - logger.log (Component.SSL_KEY_EXCHANGE, "DH exception", kae); - internalError(); - RuntimeException re = new RuntimeException (kae.getMessage()); - re.initCause (kae); - throw re; - } - // We don't send a ServerKeyExchange for this suite. - } - else if (suite.getKeyExchange() == "DHE") - { - serverKA = KeyAgreementFactory.getPartyAInstance(Registry.DH_KA); - Map attr = new HashMap(); - GnuDHPrivateKey servParams = DiffieHellman.getParams(); - attr.put(DiffieHellmanKeyAgreement.KA_DIFFIE_HELLMAN_OWNER_PRIVATE_KEY, - servParams); - attr.put(DiffieHellmanKeyAgreement.SOURCE_OF_RANDOMNESS, - session.random); - BigInteger serv_y = null; - try - { - serverKA.init(attr); - out = serverKA.processMessage(null); - in = new IncomingMessage(out.toByteArray()); - serv_y = in.readMPI(); - } - catch (KeyAgreementException kae) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "DHE exception", kae); - } - internalError(); - RuntimeException re = new RuntimeException (kae.getMessage()); - re.initCause (kae); - throw re; - } - GnuDHPublicKey pubkey = - new GnuDHPublicKey(null, servParams.getParams().getP(), - servParams.getParams().getG(), serv_y); - Signature s = null; - if (suite.getSignature() != "anon") - { - ISignature sig = null; - if (suite.getSignature() == "RSA") - { - sig = new SSLRSASignature(); - } - else - { - sig = SignatureFactory.getInstance(Registry.DSS_SIG); - } - sig.setupSign(Collections.singletonMap(ISignature.SIGNER_KEY, - signPair.getPrivate())); - byte[] buf = clientRandom.getEncoded(); - sig.update(buf, 0, buf.length); - buf = serverRandom.getEncoded(); - sig.update(buf, 0, buf.length); - updateSig(sig, pubkey.getParams().getP()); - updateSig(sig, pubkey.getParams().getG()); - updateSig(sig, pubkey.getY()); - s = new Signature(sig.sign(), suite.getSignature()); - } - skex = new ServerKeyExchange(pubkey, s); - } - else if (suite.getKeyExchange() == "SRP") - { - BigInteger N = null; - BigInteger g = null; - BigInteger salt = null; - BigInteger B = null; - try - { - in = new IncomingMessage(out.toByteArray()); - N = in.readMPI(); - g = in.readMPI(); - salt = in.readMPI(); - B = in.readMPI(); - } - catch (KeyAgreementException x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP exception", x); - } - throwHandshakeFailure(); - } - Signature s = null; - final byte[] srpSalt = Util.trim(salt); - if (suite.getSignature() != "anon") - { - ISignature sig = null; - if (suite.getSignature() == "RSA") - { - sig = new SSLRSASignature(); - } - else - { - sig = SignatureFactory.getInstance(Registry.DSS_SIG); - } - sig.setupSign(Collections.singletonMap(ISignature.SIGNER_KEY, - signPair.getPrivate())); - byte[] buf = clientRandom.getEncoded(); - sig.update(buf, 0, buf.length); - buf = serverRandom.getEncoded(); - sig.update(buf, 0, buf.length); - updateSig(sig, N); - updateSig(sig, g); - sig.update((byte) srpSalt.length); - sig.update(srpSalt, 0, srpSalt.length); - updateSig(sig, B); - s = new Signature(sig.sign(), suite.getSignature()); - } - final SRPPublicKey pubkey = new SRPPublicKey(N, g, B); - skex = new ServerKeyExchange(pubkey, s, srpSalt); - } - if (skex != null) - { - msg = new Handshake(Handshake.Type.SERVER_KEY_EXCHANGE, skex); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); -// recordOutput.setHandshakeAvail(msg.write(dout, version));; - dout.flush(); - } - - // If we are configured to want or need client authentication, then - // ask for it. - if (wantClientAuth || needClientAuth) - { - Principal[] auths = null; - CertificateRequest.ClientType[] types = - new CertificateRequest.ClientType[] { - CertificateRequest.ClientType.RSA_SIGN, - CertificateRequest.ClientType.DSS_SIGN, - CertificateRequest.ClientType.RSA_FIXED_DH, - CertificateRequest.ClientType.DSS_FIXED_DH - }; - try - { - auths = (Principal[]) - Util.transform(session.trustManager.getAcceptedIssuers(), - Principal.class, "getSubjectDN", null); - } - catch (Exception x) - { - internalError(); - RuntimeException re = new RuntimeException (x.getMessage()); - re.initCause (x); - throw re; - } - CertificateRequest req = new CertificateRequest(types, auths); - msg = new Handshake(Handshake.Type.CERTIFICATE_REQUEST, req); - msg.write(dout, version); - dout.flush(); - } - - // Send our server hello done. - msg = new Handshake(Handshake.Type.SERVER_HELLO_DONE, null); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); - dout.flush(); - - if (suite.getKeyExchange() == "RSA") - { - msg = Handshake.read(din, suite, kexPair.getPublic()); - } - else - { - msg = Handshake.read(din, suite, null); - } - boolean clientCertOk = false; - boolean clientCanSign = false; - X509Certificate[] clientChain = null; - PublicKey clientKey = null; - - // Read the client's certificate, if sent. - if (msg.getType() == Handshake.Type.CERTIFICATE) - { - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - Certificate cliCert = (Certificate) msg.getBody(); - clientChain = cliCert.getCertificates(); - try - { - session.trustManager.checkClientTrusted(clientChain, - suite.getAuthType()); - session.peerCerts = clientChain; - session.peerVerified = true; - clientKey = clientChain[0].getPublicKey(); - } - catch (Exception x) - { - } - clientCanSign = ((clientKey instanceof DSAPublicKey) || - (clientKey instanceof RSAPublicKey)); - if (suite.getKeyExchange().startsWith("DH")) - { - msg = Handshake.read(din, suite, clientKey); - } - else - { - msg = Handshake.read(din, suite, kexPair.getPublic()); - } - } - - // If we require client authentication, and the client sent an - // unverifiable certificate or no certificate at all, drop the - // connection. - if (!session.peerVerified && needClientAuth) - { - throwHandshakeFailure(); - } - - // Read the client key exchange. - if (msg.getType() != Handshake.Type.CLIENT_KEY_EXCHANGE) - { - throwUnexpectedMessage(); - } - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - ClientKeyExchange ckex = (ClientKeyExchange) msg.getBody(); - byte[] preMasterSecret = null; - if (suite.getKeyExchange() == "RSA") - { - byte[] enc = (byte[]) ckex.getExchangeObject(); - BigInteger bi = new BigInteger(1, enc); - try - { - bi = RSA.decrypt(kexPair.getPrivate(), bi); - EME_PKCS1_V1_5 pkcs1 = EME_PKCS1_V1_5.getInstance( - (RSAPrivateKey) kexPair.getPrivate()); - preMasterSecret = pkcs1.decode(Util.concat(new byte[1], bi.toByteArray())); - //rsa.init(kexPair); - //preMasterSecret = rsa.decrypt(enc); - } - catch (Exception x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "RSA exception", x); - } - // Generate a fake pre-master secret if the RSA decryption - // fails. - byte[] b = new byte[46]; - session.random.nextBytes (b); - preMasterSecret = Util.concat(version.getEncoded(), b); - } - } - else if (suite.getKeyExchange().startsWith("DH")) - { - try - { - out = new OutgoingMessage(); - if (clientKey == null) - out.writeMPI((BigInteger) ckex.getExchangeObject()); - else - out.writeMPI(((DHPublicKey) clientKey).getY()); - in = new IncomingMessage(out.toByteArray()); - serverKA.processMessage(in); - preMasterSecret = serverKA.getSharedSecret(); - } - catch (KeyAgreementException kae) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "DH exception", kae); - } - internalError(); - RuntimeException re = new RuntimeException (kae.getMessage()); - re.initCause (kae); - throw re; - } - } - else if (suite.getKeyExchange() == "SRP") - { - BigInteger A = (BigInteger) ckex.getExchangeObject(); - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP: client A: {0}", A); - } - try - { - out = new OutgoingMessage(); - out.writeMPI(A); - in = new IncomingMessage(out.toByteArray()); - out = serverKA.processMessage(in); - preMasterSecret = serverKA.getSharedSecret(); - } - catch (KeyAgreementException x) - { - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "SRP exception", x); - } - throwHandshakeFailure(); - } - finally - { - serverKA = null; - } - } - - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "preMasterSecret:\n{0}", - Util.toHexString(preMasterSecret, ':')); - logger.log (Component.SSL_KEY_EXCHANGE, "client.random:\n{0}", - Util.toHexString(clientRandom.getEncoded(), ':')); - logger.log (Component.SSL_KEY_EXCHANGE, "server.random:\n{0}", - Util.toHexString(serverRandom.getEncoded(), ':')); - } - - // Generate the master secret. - IRandom genSecret = null; - if (version == ProtocolVersion.SSL_3) - { - genSecret = new SSLRandom(); - HashMap attr = new HashMap(); - attr.put(SSLRandom.SECRET, preMasterSecret); - attr.put(SSLRandom.SEED, Util.concat(clientRandom.getEncoded(), - serverRandom.getEncoded())); - genSecret.init(attr); - } - else - { - genSecret = new TLSRandom(); - HashMap attr = new HashMap(); - attr.put(TLSRandom.SECRET, preMasterSecret); - attr.put(TLSRandom.SEED, - Util.concat(("master secret").getBytes("UTF-8"), - Util.concat(clientRandom.getEncoded(), - serverRandom.getEncoded()))); - genSecret.init(attr); - } - session.masterSecret = new byte[48]; - try - { - genSecret.nextBytes(session.masterSecret, 0, 48); - for (int i = 0; i < preMasterSecret.length; i++) - { - preMasterSecret[i] = 0; - } - } - catch (LimitReachedException shouldNotHappen) - { - internalError(); - RuntimeException re = new RuntimeException(); - re.initCause (shouldNotHappen); - throw re; - } - - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "masterSecret: {0}", - Util.toHexString(session.masterSecret, ':')); - } - - // Read the client's certificate verify message, if needed. - if (clientCanSign && (wantClientAuth || needClientAuth)) - { - msg = Handshake.read(din); - if (msg.getType() != Handshake.Type.CERTIFICATE_VERIFY) - { - throwUnexpectedMessage(); - } - CertificateVerify verify = (CertificateVerify) msg.getBody(); - if (clientChain != null && clientChain.length > 0) - { - IMessageDigest cvMD5 = (IMessageDigest) md5.clone(); - IMessageDigest cvSHA = (IMessageDigest) sha.clone(); - clientKey = clientChain[0].getPublicKey(); - if (clientKey instanceof RSAPublicKey) - { - SSLRSASignature sig = new SSLRSASignature(cvMD5, cvSHA); - sig.setupVerify(Collections.singletonMap(ISignature.VERIFIER_KEY, clientKey)); - if (!sig.verify(verify.getSigValue())) - { - handshakeFailure(); - throw new SSLHandshakeException("client certificate verify failed"); - } - } - else if (clientKey instanceof DSAPublicKey) - { - try - { - if (!DSSSignature.verify((DSAPublicKey) clientKey, cvSHA.digest(), - (BigInteger[]) verify.getSigValue())) - { - throw new Exception("client's certificate could not be verified"); - } - } - catch (Exception x) - { - handshakeFailure(); - SSLHandshakeException e = new SSLHandshakeException (x.getMessage()); - e.initCause (x); - throw e; - } - } - } - } - } - - // Generate the session keys. - byte[][] keys = null; - try - { - keys = generateKeys(serverRandom.getEncoded(), - clientRandom.getEncoded(), version); - } - catch (Exception x) - { - internalError(); - RuntimeException re = new RuntimeException (x.getMessage()); - re.initCause (x); - throw re; - } - - // Initialize the algorithms with the derived keys. - Object readMac = null, writeMac = null; - Object readCipher = null, writeCipher = null; - try - { - if (session.params instanceof GNUSecurityParameters) - { - HashMap attr = new HashMap(); - writeMac = CipherSuite.getMac(suite.getMac()); - readMac = CipherSuite.getMac(suite.getMac()); - attr.put(IMac.MAC_KEY_MATERIAL, keys[1]); - ((IMac) writeMac).init(attr); - attr.put(IMac.MAC_KEY_MATERIAL, keys[0]); - ((IMac) readMac).init(attr); - if (suite.getCipher() == "RC4") - { - writeCipher = new ARCFour(); - readCipher = new ARCFour(); - attr.clear(); - attr.put(ARCFour.ARCFOUR_KEY_MATERIAL, keys[3]); - ((ARCFour) writeCipher).init(attr); - attr.put(ARCFour.ARCFOUR_KEY_MATERIAL, keys[2]); - ((ARCFour) readCipher).init(attr); - } - else if (!suite.isStreamCipher()) - { - writeCipher = CipherSuite.getCipher(suite.getCipher()); - readCipher = CipherSuite.getCipher(suite.getCipher()); - attr.clear(); - attr.put(IMode.KEY_MATERIAL, keys[3]); - attr.put(IMode.IV, keys[5]); - attr.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); - ((IMode) writeCipher).init(attr); - attr.put(IMode.KEY_MATERIAL, keys[2]); - attr.put(IMode.IV, keys[4]); - attr.put(IMode.STATE, new Integer(IMode.DECRYPTION)); - ((IMode) readCipher).init(attr); - } - } - else // JCESecurityParameters - { - writeMac = CipherSuite.getJCEMac (suite.getMac()); - readMac = CipherSuite.getJCEMac (suite.getMac()); - writeCipher = CipherSuite.getJCECipher (suite.getCipher()); - readCipher = CipherSuite.getJCECipher (suite.getCipher()); - ((Mac) writeMac).init (new SecretKeySpec (keys[1], suite.getMac())); - ((Mac) readMac).init (new SecretKeySpec (keys[0], suite.getMac())); - if (!suite.isStreamCipher()) - { - ((Cipher) writeCipher).init (Cipher.ENCRYPT_MODE, - new SecretKeySpec (keys[3], suite.getCipher()), - new IvParameterSpec (keys[5])); - ((Cipher) readCipher).init (Cipher.DECRYPT_MODE, - new SecretKeySpec (keys[2], suite.getCipher()), - new IvParameterSpec (keys[4])); - } - else - { - ((Cipher) writeCipher).init (Cipher.ENCRYPT_MODE, - new SecretKeySpec (keys[3], suite.getCipher())); - ((Cipher) readCipher).init (Cipher.DECRYPT_MODE, - new SecretKeySpec (keys[2], suite.getCipher())); - } - } - } - // These should technically never happen, if our key generation is not - // broken. - catch (InvalidKeyException ike) - { - internalError(); - RuntimeException re = new RuntimeException (ike.getMessage()); - re.initCause (ike); - throw new RuntimeException (String.valueOf (ike)); - } - catch (InvalidAlgorithmParameterException iape) - { - internalError(); - RuntimeException re = new RuntimeException (iape.getMessage()); - re.initCause (iape); - throw re; - } - // These indicate a configuration error with the JCA. - catch (NoSuchAlgorithmException nsae) - { - session.enabledSuites.remove (suite); - internalError(); - SSLException e = new SSLException ("suite " + suite + " not available in this configuration"); - e.initCause (nsae); - throw e; - } - catch (NoSuchPaddingException nspe) - { - session.enabledSuites.remove (suite); - internalError(); - SSLException e = new SSLException ("suite " + suite + " not available in this configuration"); - e.initCause (nspe); - throw e; - } - - Finished finis = null; - // If we are continuing a session, we send our Finished message first. - if (!newSession) - { - changeCipherSpec(); - session.params.setDeflating(comp == CompressionMethod.ZLIB); - session.params.setOutMac(writeMac); - session.params.setOutCipher(writeCipher); - finis = generateFinished(version, (IMessageDigest) md5.clone(), - (IMessageDigest) sha.clone(), false); - msg = new Handshake(Handshake.Type.FINISHED, finis); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); - dout.flush(); - } - - if (session.currentAlert != null && - session.currentAlert.getLevel() == Alert.Level.FATAL) - { - fatal(); - throw new AlertException(session.currentAlert, false); - } - - // Wait until we receive a ChangeCipherSpec, then change the crypto - // algorithms for the incoming side. - synchronized (session.params) - { - readChangeCipherSpec (); - session.params.setInflating(comp == CompressionMethod.ZLIB); - session.params.setInMac(readMac); - session.params.setInCipher(readCipher); - session.params.notifyAll(); - } - - // Receive and verify the client's finished message. - Finished verify = generateFinished(version, (IMessageDigest) md5.clone(), - (IMessageDigest) sha.clone(), true); - msg = Handshake.read(din, suite, null); - if (msg.getType() != Handshake.Type.FINISHED) - { - throwUnexpectedMessage(); - } - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - finis = (Finished) msg.getBody(); - if (version == ProtocolVersion.SSL_3) - { - if (!Arrays.equals(finis.getMD5Hash(), verify.getMD5Hash()) || - !Arrays.equals(finis.getSHAHash(), verify.getSHAHash())) - { - throwHandshakeFailure(); - } - } - else - { - if (!Arrays.equals(finis.getVerifyData(), verify.getVerifyData())) - { - throwHandshakeFailure(); - } - } - - // Send our Finished message last for new sessions. - if (newSession) - { - changeCipherSpec(); - session.params.setDeflating(comp == CompressionMethod.ZLIB); - session.params.setOutMac(writeMac); - session.params.setOutCipher(writeCipher); - finis = generateFinished(version, md5, sha, false); - msg = new Handshake(Handshake.Type.FINISHED, finis); - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}", msg); - msg.write(dout, version); - dout.flush(); - } - - handshakeCompleted(); - } - - /** - * Generate the keys from the master secret. - * - * @param server The server's random value. - * @param client The client's random value. - * @param activeVersion The negotiated protocol version. - * @return The generated keys. - */ - private byte[][] generateKeys(byte[] server, byte[] client, - ProtocolVersion activeVersion) - throws LimitReachedException, IOException - { - CipherSuite suite = session.cipherSuite; - int macLen = (suite.getMac().indexOf("MD5") >= 0) ? 16 : 20; - int keyLen = suite.getKeyLength(); - int ivLen = 0; - if (suite.getCipher().indexOf("DES") >= 0) - { - ivLen = 8; - } - else if (suite.getCipher() == "AES") - { - ivLen = 16; - } - byte[][] keyMaterial = new byte[6][]; - keyMaterial[0] = new byte[macLen]; // client_write_MAC_secret - keyMaterial[1] = new byte[macLen]; // server_write_MAC_secret - keyMaterial[2] = new byte[keyLen]; // client_write_key - keyMaterial[3] = new byte[keyLen]; // server_write_key - keyMaterial[4] = new byte[ivLen]; // client_write_IV - keyMaterial[5] = new byte[ivLen]; // server_write_IV - IRandom prf = null; - if (activeVersion == ProtocolVersion.SSL_3) - { - prf = new SSLRandom(); - HashMap attr = new HashMap(); - attr.put(SSLRandom.SECRET, session.masterSecret); - attr.put(SSLRandom.SEED, Util.concat(server, client)); - prf.init(attr); - } - else - { - prf = new TLSRandom(); - HashMap attr = new HashMap(); - attr.put(TLSRandom.SECRET, session.masterSecret); - attr.put(TLSRandom.SEED, Util.concat("key expansion".getBytes("UTF-8"), - Util.concat(server, client))); - prf.init(attr); - } - for (int i = 0; i < keyMaterial.length; i++) - { - prf.nextBytes(keyMaterial[i], 0, keyMaterial[i].length); - } - - // Exportable ciphers transform their keys once more, and use a - // nonsecret IV for block ciphers. - if (suite.isExportable()) - { - int finalLen = suite.getCipher() == "DES" ? 8 : 16; - if (activeVersion == ProtocolVersion.SSL_3) - { - IMessageDigest md5 = HashFactory.getInstance(Registry.MD5_HASH); - md5.update(keyMaterial[2], 0, keyMaterial[2].length); - md5.update(client, 0, client.length); - md5.update(server, 0, server.length); - keyMaterial[2] = Util.trim(md5.digest(), finalLen); - md5.update(keyMaterial[3], 0, keyMaterial[3].length); - md5.update(server, 0, server.length); - md5.update(client, 0, client.length); - keyMaterial[3] = Util.trim(md5.digest(), finalLen); - if (!suite.isStreamCipher()) - { - md5.update(client, 0, client.length); - md5.update(server, 0, server.length); - keyMaterial[4] = Util.trim(md5.digest(), ivLen); - md5.update(server, 0, server.length); - md5.update(client, 0, client.length); - keyMaterial[5] = Util.trim(md5.digest(), ivLen); - } - } - else - { - HashMap attr = new HashMap(); - attr.put(TLSRandom.SECRET, keyMaterial[2]); - attr.put(TLSRandom.SEED, - Util.concat("client write key".getBytes("UTF-8"), - Util.concat(client, server))); - prf.init(attr); - keyMaterial[2] = new byte[finalLen]; - prf.nextBytes(keyMaterial[2], 0, finalLen); - attr.put(TLSRandom.SECRET, keyMaterial[3]); - attr.put(TLSRandom.SEED, - Util.concat("server write key".getBytes("UTF-8"), - Util.concat(client, server))); - prf.init(attr); - keyMaterial[3] = new byte[finalLen]; - prf.nextBytes(keyMaterial[3], 0, finalLen); - if (!suite.isStreamCipher()) - { - attr.put(TLSRandom.SECRET, new byte[0]); - attr.put(TLSRandom.SEED, Util.concat("IV block".getBytes("UTF-8"), - Util.concat(client, server))); - prf.init(attr); - prf.nextBytes(keyMaterial[4], 0, keyMaterial[4].length); - prf.nextBytes(keyMaterial[5], 0, keyMaterial[5].length); - } - } - } - - if (DEBUG_KEY_EXCHANGE) - { - logger.log (Component.SSL_KEY_EXCHANGE, "Generated keys:"); - for (int i = 0; i < keyMaterial.length; i++) - logger.log (Component.SSL_KEY_EXCHANGE, "[{0}] {1}", - new Object[] { new Integer (i), - Util.toHexString(keyMaterial[i], ':') }); - } - - return keyMaterial; - } - - /** - * Generate a "finished" message, based on the hashes of the handshake - * messages, the agreed version, and a label. - * - * @param version The agreed version. - * @param md5 The current state of the handshake MD5 hash. - * @param sha The current state of the handshake SHA hash. - * @param client Should be true if the message is generated by the client. - */ - private Finished generateFinished(ProtocolVersion version, IMessageDigest md5, - IMessageDigest sha, boolean client) - { - if (version == ProtocolVersion.SSL_3) - { - if (client) - { - md5.update(SENDER_CLIENT, 0, 4); - } - else - { - md5.update(SENDER_SERVER, 0, 4); - } - byte[] ms = session.masterSecret; - md5.update(ms, 0, ms.length); - for (int i = 0; i < 48; i++) - { - md5.update(SSLHMac.PAD1); - } - byte[] b = md5.digest(); - md5.update(ms, 0, ms.length); - for (int i = 0; i < 48; i++) - { - md5.update(SSLHMac.PAD2); - } - md5.update(b, 0, b.length); - - if (client) - { - sha.update(SENDER_CLIENT, 0, 4); - } - else - { - sha.update(SENDER_SERVER, 0, 4); - } - sha.update(ms, 0, ms.length); - for (int i = 0; i < 40; i++) - { - sha.update(SSLHMac.PAD1); - } - b = sha.digest(); - sha.update(ms, 0, ms.length); - for (int i = 0; i < 40; i++) - { - sha.update(SSLHMac.PAD2); - } - sha.update(b, 0, b.length); - return new Finished(md5.digest(), sha.digest()); - } - else - { - byte[] h1 = md5.digest(); - byte[] h2 = sha.digest(); - String label = client ? "client finished" : "server finished"; - byte[] seed = null; - try - { - seed = Util.concat(label.getBytes("UTF-8"), Util.concat(h1, h2)); - } - catch (java.io.UnsupportedEncodingException uee) - { - RuntimeException re = new RuntimeException (uee.getMessage()); - re.initCause (uee); - throw re; - } - IRandom prf = new TLSRandom(); - HashMap attr = new HashMap(); - attr.put(TLSRandom.SECRET, session.masterSecret); - attr.put(TLSRandom.SEED, seed); - prf.init(attr); - byte[] finishedValue = new byte[12]; - try - { - prf.nextBytes(finishedValue, 0, 12); - } - catch (LimitReachedException lre) - { - RuntimeException re = new RuntimeException (lre.getMessage()); - re.initCause (lre); - throw re; - } - return new Finished(finishedValue); - } - } - - /** - * Send a fatal unexpected_message alert. - */ - private Alert unexpectedMessage() throws IOException - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.UNEXPECTED_MESSAGE); - sendAlert(alert); - fatal(); - return alert; - } - - private void throwUnexpectedMessage() throws IOException - { - throw new AlertException(unexpectedMessage(), true); - } - - /** - * Send a fatal handshake_failure alert. - */ - private Alert handshakeFailure() throws IOException - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.HANDSHAKE_FAILURE); - sendAlert(alert); - fatal(); - return alert; - } - - private void throwHandshakeFailure() throws IOException - { - throw new AlertException(handshakeFailure(), true); - } - - /** - * Send an internal_error alert. - */ - private Alert internalError() throws IOException - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.INTERNAL_ERROR); - sendAlert(alert); - fatal(); - return alert; - } - - private void throwInternalError() throws IOException - { - throw new AlertException(internalError(), true); - } - - private Alert peerUnverified(X509Certificate[] chain) throws IOException - { - Alert alert = new Alert(Alert.Level.FATAL, - Alert.Description.HANDSHAKE_FAILURE); - sendAlert(alert); - fatal(); - return alert; - } - - private void throwPeerUnverified(X509Certificate[] chain) throws IOException - { - peerUnverified (chain); - throw new SSLPeerUnverifiedException("could not verify: "+ - chain[0].getSubjectDN()); - } - - /** - * Grab the first suite that is both in the client's requested suites - * and in our enabled suites, and for which we have the proper - * credentials. - * - * @param suites The client's requested suites. - * @param version The version being negotiated. - * @return The selected cipher suite. - * @throws SSLException If no appropriate suite can be selected. - */ - private CipherSuite selectSuite(List suites, ProtocolVersion version) - throws IOException - { - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "selectSuite req:{0} suites:{1}", - new Object[] { suites, session.enabledSuites }); - boolean srpSuiteNoUser = false; - for (Iterator i = suites.iterator(); i.hasNext(); ) - { - CipherSuite herSuite = (CipherSuite) i.next(); - for (Iterator j = session.enabledSuites.iterator(); j.hasNext(); ) - { - CipherSuite mySuite = (CipherSuite) j.next(); - if (!mySuite.equals(herSuite)) - { - continue; - } - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0} == {1}", - new Object[] { mySuite, herSuite }); - if (mySuite.getSignature() != "anon" && session.keyManager != null && - session.keyManager.chooseServerAlias(mySuite.getAuthType(), null, null) == null) - { - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "{0}: no certificate/private key", - mySuite); - continue; - } - if (mySuite.getKeyExchange() == "SRP") - { - if (session.getValue("srp-username") == null) - { - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "no SRP username"); - srpSuiteNoUser = true; - continue; - } - if (session.srpTrustManager == null) - { - if (DEBUG_HANDSHAKE_LAYER) - logger.log (Component.SSL_HANDSHAKE, "no SRP password file"); - continue; - } - } - return mySuite.resolve(version); - } - } - Alert alert = null; - if (srpSuiteNoUser) - { - alert = new Alert(Alert.Level.WARNING, - Alert.Description.MISSING_SRP_USERNAME); - sendAlert(alert); - return null; - } - else - alert = new Alert(Alert.Level.FATAL, - Alert.Description.INSUFFICIENT_SECURITY); - sendAlert(alert); - fatal(); - throw new AlertException(alert, true); - } - - /** - * Ask the user for their user name. - * - * @param remoteHost The remote host being connected to. - * @return The user name. - */ - private String askUserName(String remoteHost) - { - CallbackHandler handler = new DefaultCallbackHandler(); - try - { - Class c = Class.forName(Util.getSecurityProperty("jessie.srp.user.handler")); - handler = (CallbackHandler) c.newInstance(); - } - catch (Exception x) { } - TextInputCallback user = - new TextInputCallback("User name for " + remoteHost + ": ", - Util.getProperty("user.name")); - try - { - handler.handle(new Callback[] { user }); - } - catch (Exception x) { } - return user.getText(); - } - - /** - * Ask the user for a password. - * - * @param user The user name. - * @return The password. - */ - private String askPassword(String user) - { - CallbackHandler handler = new DefaultCallbackHandler(); - try - { - Class c = Class.forName(Util.getSecurityProperty("jessie.srp.password.handler")); - handler = (CallbackHandler) c.newInstance(); - } - catch (Exception x) { } - PasswordCallback passwd = new PasswordCallback(user + "'s password: ", false); - try - { - handler.handle(new Callback[] { passwd }); - } - catch (Exception x) { } - return new String(passwd.getPassword()); - } - - /** - * Ask the user (via a callback) if they will accept a certificate that - * could not be verified. - * - * @param chain The certificate chain in question. - * @return true if the user accepts the certificate chain. - */ - private boolean checkCertificates(X509Certificate[] chain) - { - CallbackHandler handler = new DefaultCallbackHandler(); - try - { - Class c = Class.forName(Util.getSecurityProperty("jessie.certificate.handler")); - handler = (CallbackHandler) c.newInstance(); - } - catch (Exception x) - { - } - String nl = Util.getProperty("line.separator"); - ConfirmationCallback confirm = new ConfirmationCallback( - "The server's certificate could not be verified. There is no proof" + nl + - "that this server is who it claims to be, or that their certificate" + nl + - "is valid. Do you wish to continue connecting?", - ConfirmationCallback.ERROR, ConfirmationCallback.YES_NO_OPTION, - ConfirmationCallback.NO); - try - { - handler.handle(new Callback[] { confirm }); - } - catch (Exception x) - { - return false; - } - return confirm.getSelectedIndex() == ConfirmationCallback.YES; - } - - /** - * Update a signature object with a BigInteger, trimming the leading - * "00" octet if present. - * - * @param sig The signature being updated. - * @param bi The integer to feed into the signature. - */ - private void updateSig(ISignature sig, BigInteger bi) - { - byte[] buf = Util.trim(bi); - sig.update((byte) (buf.length >>> 8)); - sig.update((byte) buf.length); - sig.update(buf, 0, buf.length); - } - - /** - * Teardown everything on fatal errors. - */ - private void fatal() throws IOException - { - if (session != null) - { - session.invalidate(); - } -// recordInput.setRunning(false); -// recordOutput.setRunning(false); - if (underlyingSocket != null) - { - underlyingSocket.close(); - } - else - { - super.close(); - } - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactory.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactory.java deleted file mode 100644 index 24a8389c117..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactory.java +++ /dev/null @@ -1,133 +0,0 @@ -/* SSLSocketFactory.java -- factory for SSL sockets. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.IOException; -import java.net.InetAddress; -import java.net.Socket; -import java.net.UnknownHostException; -import java.security.SecureRandom; - -import javax.net.ssl.X509TrustManager; -import javax.net.ssl.X509KeyManager; - -class SSLSocketFactory extends javax.net.ssl.SSLSocketFactory -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final X509TrustManager trustManager; - private final X509KeyManager keyManager; - private final SecureRandom random; - private final SessionContext sessionContext; - - // Constructor. - // ------------------------------------------------------------------------- - - SSLSocketFactory(X509TrustManager trustManager, X509KeyManager keyManager, - SecureRandom random, SessionContext sessionContext) - { - this.trustManager = trustManager; - this.keyManager = keyManager; - this.random = random; - this.sessionContext = sessionContext; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String[] getDefaultCipherSuites() - { - return (String[]) CipherSuite.availableSuiteNames().toArray(new String[0]); - } - - public String[] getSupportedCipherSuites() - { - return getDefaultCipherSuites(); - } - - public Socket createSocket(Socket socket, String host, int port, boolean autoClose) - throws IOException - { - return setup(new SSLSocket(socket, host, port, autoClose)); - } - - public Socket createSocket() throws IOException - { - return setup(new SSLSocket()); - } - - public Socket createSocket(String host, int port) - throws IOException, UnknownHostException - { - return setup(new SSLSocket(host, port)); - } - - public Socket createSocket(String host, int port, InetAddress localAddr, int localPort) - throws IOException, UnknownHostException - { - return setup(new SSLSocket(host, port, localAddr, localPort)); - } - - public Socket createSocket(InetAddress address, int port) throws IOException - { - return setup(new SSLSocket(address, port)); - } - - public Socket createSocket(InetAddress address, int port, - InetAddress localAddr, int localPort) - throws IOException - { - return setup(new SSLSocket(address, port, localAddr, localPort)); - } - - // Own methods. - // ------------------------------------------------------------------------- - - private SSLSocket setup(SSLSocket s) - { - s.setTrustManager(trustManager); - s.setKeyManager(keyManager); - s.setRandom(random); - s.setSessionContext(sessionContext); - s.setUseClientMode(true); - return s; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java new file mode 100644 index 00000000000..6c804f9c629 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java @@ -0,0 +1,137 @@ +/* SSLSocketFactoryImpl.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.UnknownHostException; + +import javax.net.ssl.SSLSocketFactory; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class SSLSocketFactoryImpl extends SSLSocketFactory +{ + /** + * The SSLContextImpl that created us. + */ + private final SSLContextImpl contextImpl; + + public SSLSocketFactoryImpl(SSLContextImpl contextImpl) + { + this.contextImpl = contextImpl; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocketFactory#createSocket(java.net.Socket, java.lang.String, int, boolean) + */ + @Override public Socket createSocket(Socket socket, String host, int port, + boolean autoClose) + throws IOException + { + return new SSLSocketImpl(contextImpl, host, port, socket, autoClose); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocketFactory#getDefaultCipherSuites() + */ + @Override public String[] getDefaultCipherSuites() + { + return SSLEngineImpl.defaultSuites(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocketFactory#getSupportedCipherSuites() + */ + @Override public String[] getSupportedCipherSuites() + { + return CipherSuite.availableSuiteNames().toArray(new String[0]); + } + + /* (non-Javadoc) + * @see javax.net.SocketFactory#createSocket(java.lang.String, int) + */ + @Override public SSLSocketImpl createSocket(String host, int port) + throws IOException, UnknownHostException + { + SSLSocketImpl socket = new SSLSocketImpl(contextImpl, host, port); + InetSocketAddress endpoint = new InetSocketAddress(host, port); + socket.connect(endpoint); + return socket; + } + + /* (non-Javadoc) + * @see javax.net.SocketFactory#createSocket(java.lang.String, int, java.net.InetAddress, int) + */ + @Override public SSLSocketImpl createSocket(String host, int port, + InetAddress localHost, int localPort) + throws IOException, UnknownHostException + { + SSLSocketImpl socket = createSocket(host, port); + socket.bind(new InetSocketAddress(localHost, localPort)); + return socket; + } + + /* (non-Javadoc) + * @see javax.net.SocketFactory#createSocket(java.net.InetAddress, int) + */ + @Override public SSLSocketImpl createSocket(InetAddress host, int port) + throws IOException + { + SSLSocketImpl socket = new SSLSocketImpl(contextImpl, + host.getCanonicalHostName(), port); + socket.connect(new InetSocketAddress(host, port)); + return socket; + } + + /* (non-Javadoc) + * @see javax.net.SocketFactory#createSocket(java.net.InetAddress, int, java.net.InetAddress, int) + */ + @Override public SSLSocketImpl createSocket(InetAddress host, int port, + InetAddress localHost, int localPort) + throws IOException + { + SSLSocketImpl socket = createSocket(host, port); + socket.bind(new InetSocketAddress(localHost, localPort)); + return socket; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketImpl.java new file mode 100644 index 00000000000..0181b66d854 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketImpl.java @@ -0,0 +1,833 @@ +/* SSLSocketImpl.java -- implementation of an SSL client socket. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +import java.io.DataInputStream; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketException; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.HashSet; +import java.util.Set; + +import javax.net.ssl.HandshakeCompletedEvent; +import javax.net.ssl.HandshakeCompletedListener; +import javax.net.ssl.SSLEngineResult; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.SSLEngineResult.HandshakeStatus; +import javax.net.ssl.SSLEngineResult.Status; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class SSLSocketImpl extends SSLSocket +{ + private class SocketOutputStream extends OutputStream + { + private final ByteBuffer buffer; + private final OutputStream out; + + SocketOutputStream() throws IOException + { + buffer = ByteBuffer.wrap(new byte[getSession().getPacketBufferSize()]); + if (underlyingSocket != null) + out = underlyingSocket.getOutputStream(); + else + out = SSLSocketImpl.super.getOutputStream(); + } + + @Override public void write(byte[] buf, int off, int len) throws IOException + { + if (!initialHandshakeDone + || engine.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING) + { + doHandshake(); + if (handshakeException != null) + throw handshakeException; + } + + int k = 0; + while (k < len) + { + synchronized (engine) + { + int l = Math.min(len-k, getSession().getApplicationBufferSize()); + ByteBuffer in = ByteBuffer.wrap(buf, off+k, l); + SSLEngineResult result = engine.wrap(in, buffer); + if (result.getStatus() == Status.CLOSED) + return; + if (result.getStatus() != Status.OK) + throw new SSLException("unexpected SSL state " + result.getStatus()); + buffer.flip(); + out.write(buffer.array(), 0, buffer.limit()); + k += result.bytesConsumed(); + buffer.clear(); + } + } + } + + @Override public void write(int b) throws IOException + { + write(new byte[] { (byte) b }); + } + + @Override public void close() throws IOException + { + SSLSocketImpl.this.close(); + } + } + + private class SocketInputStream extends InputStream + { + private final ByteBuffer inBuffer; + private final ByteBuffer appBuffer; + private final DataInputStream in; + + SocketInputStream() throws IOException + { + inBuffer = ByteBuffer.wrap(new byte[getSession().getPacketBufferSize()]); + inBuffer.limit(0); + appBuffer = ByteBuffer.allocate(getSession().getApplicationBufferSize()); + appBuffer.flip(); + if (underlyingSocket != null) + in = new DataInputStream(underlyingSocket.getInputStream()); + else + in = new DataInputStream(SSLSocketImpl.super.getInputStream()); + } + + @Override public int read(byte[] buf, int off, int len) throws IOException + { + if (!initialHandshakeDone || + engine.getHandshakeStatus() != HandshakeStatus.NOT_HANDSHAKING) + { + doHandshake(); + if (handshakeException != null) + throw handshakeException; + } + + if (!appBuffer.hasRemaining()) + { + int x = in.read(); + if (x == -1) + return -1; + inBuffer.clear(); + inBuffer.put((byte) x); + inBuffer.putInt(in.readInt()); + int reclen = inBuffer.getShort(3) & 0xFFFF; + in.readFully(inBuffer.array(), 5, reclen); + inBuffer.position(0).limit(reclen + 5); + synchronized (engine) + { + appBuffer.clear(); + SSLEngineResult result = engine.unwrap(inBuffer, appBuffer); + Status status = result.getStatus(); + if (status == Status.CLOSED && result.bytesProduced() == 0) + return -1; + } + inBuffer.compact(); + appBuffer.flip(); + } + int l = Math.min(len, appBuffer.remaining()); + appBuffer.get(buf, off, l); + return l; + } + + @Override public int read() throws IOException + { + byte[] b = new byte[1]; + if (read(b) == -1) + return -1; + return b[0] & 0xFF; + } + } + + private static final SystemLogger logger = SystemLogger.getSystemLogger(); + + private SSLEngineImpl engine; + private Set listeners; + private Socket underlyingSocket; + private boolean isHandshaking; + private IOException handshakeException; + private boolean initialHandshakeDone = false; + private final boolean autoClose; + + public SSLSocketImpl(SSLContextImpl contextImpl, String host, int port) + { + this(contextImpl, host, port, null, false); + } + + public SSLSocketImpl(SSLContextImpl contextImpl, String host, int port, + Socket underlyingSocket, boolean autoClose) + { + engine = new SSLEngineImpl(contextImpl, host, port); + engine.setUseClientMode(true); // default to client mode + listeners = new HashSet(); + this.underlyingSocket = underlyingSocket; + this.autoClose = autoClose; + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener) + */ + @Override + public void addHandshakeCompletedListener(HandshakeCompletedListener listener) + { + listeners.add(listener); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getEnableSessionCreation() + */ + @Override public boolean getEnableSessionCreation() + { + return engine.getEnableSessionCreation(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getEnabledCipherSuites() + */ + @Override public String[] getEnabledCipherSuites() + { + return engine.getEnabledCipherSuites(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getEnabledProtocols() + */ + @Override public String[] getEnabledProtocols() + { + return engine.getEnabledProtocols(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getNeedClientAuth() + */ + @Override public boolean getNeedClientAuth() + { + return engine.getNeedClientAuth(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getSession() + */ + @Override public SSLSession getSession() + { + return engine.getSession(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getSupportedCipherSuites() + */ + @Override public String[] getSupportedCipherSuites() + { + return engine.getSupportedCipherSuites(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getSupportedProtocols() + */ + @Override public String[] getSupportedProtocols() + { + return engine.getSupportedProtocols(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getUseClientMode() + */ + @Override public boolean getUseClientMode() + { + return engine.getUseClientMode(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#getWantClientAuth() + */ + @Override public boolean getWantClientAuth() + { + return engine.getWantClientAuth(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener) + */ + @Override + public void removeHandshakeCompletedListener(HandshakeCompletedListener listener) + { + listeners.remove(listener); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#setEnableSessionCreation(boolean) + */ + @Override public void setEnableSessionCreation(boolean enable) + { + engine.setEnableSessionCreation(enable); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#setEnabledCipherSuites(java.lang.String[]) + */ + @Override public void setEnabledCipherSuites(String[] suites) + { + engine.setEnabledCipherSuites(suites); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#setEnabledProtocols(java.lang.String[]) + */ + @Override public void setEnabledProtocols(String[] protocols) + { + engine.setEnabledProtocols(protocols); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#setNeedClientAuth(boolean) + */ + @Override public void setNeedClientAuth(boolean needAuth) + { + engine.setNeedClientAuth(needAuth); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#setUseClientMode(boolean) + */ + @Override public void setUseClientMode(boolean clientMode) + { + engine.setUseClientMode(clientMode); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#setWantClientAuth(boolean) + */ + @Override public void setWantClientAuth(boolean wantAuth) + { + engine.setWantClientAuth(wantAuth); + } + + /* (non-Javadoc) + * @see javax.net.ssl.SSLSocket#startHandshake() + */ + @Override public void startHandshake() throws IOException + { + if (isHandshaking) + return; + + if (handshakeException != null) + throw handshakeException; + + Thread t = new Thread(new Runnable() + { + public void run() + { + try + { + doHandshake(); + } + catch (IOException ioe) + { + handshakeException = ioe; + } + } + }, "HandshakeThread@" + System.identityHashCode(this)); + t.start(); + } + + void doHandshake() throws IOException + { + synchronized (engine) + { + if (isHandshaking) + { + try + { + engine.wait(); + } + catch (InterruptedException ie) + { + } + return; + } + isHandshaking = true; + } + + if (initialHandshakeDone) + throw new SSLException("rehandshaking not yet implemented"); + + long now = -System.currentTimeMillis(); + engine.beginHandshake(); + + HandshakeStatus status = engine.getHandshakeStatus(); + assert(status != HandshakeStatus.NOT_HANDSHAKING); + + ByteBuffer inBuffer = ByteBuffer.wrap(new byte[getSession().getPacketBufferSize()]); + inBuffer.position(inBuffer.limit()); + ByteBuffer outBuffer = ByteBuffer.wrap(new byte[getSession().getPacketBufferSize()]); + ByteBuffer emptyBuffer = ByteBuffer.allocate(0); + SSLEngineResult result = null; + + DataInputStream sockIn = null; + if (underlyingSocket != null) + sockIn = new DataInputStream(underlyingSocket.getInputStream()); + else + sockIn = new DataInputStream(super.getInputStream()); + + OutputStream sockOut = null; + if (underlyingSocket != null) + sockOut = underlyingSocket.getOutputStream(); + else + sockOut = super.getOutputStream(); + + try + { + while (status != HandshakeStatus.NOT_HANDSHAKING + && status != HandshakeStatus.FINISHED) + { + logger.logv(Component.SSL_HANDSHAKE, "socket processing state {0}", + status); + + if (inBuffer.capacity() != getSession().getPacketBufferSize()) + { + ByteBuffer b + = ByteBuffer.wrap(new byte[getSession().getPacketBufferSize()]); + if (inBuffer.hasRemaining()) + b.put(inBuffer).flip(); + inBuffer = b; + } + if (outBuffer.capacity() != getSession().getPacketBufferSize()) + outBuffer + = ByteBuffer.wrap(new byte[getSession().getPacketBufferSize()]); + + switch (status) + { + case NEED_UNWRAP: + // Read in a single SSL record. + inBuffer.clear(); + int i = sockIn.read(); + if (i == -1) + throw new EOFException(); + if ((i & 0x80) == 0x80) // SSLv2 client hello. + { + inBuffer.put((byte) i); + int v2len = (i & 0x7f) << 8; + i = sockIn.read(); + v2len = v2len | (i & 0xff); + inBuffer.put((byte) i); + sockIn.readFully(inBuffer.array(), 2, v2len); + inBuffer.position(0).limit(v2len + 2); + } + else + { + inBuffer.put((byte) i); + inBuffer.putInt(sockIn.readInt()); + int reclen = inBuffer.getShort(3) & 0xFFFF; + sockIn.readFully(inBuffer.array(), 5, reclen); + inBuffer.position(0).limit(reclen + 5); + } + result = engine.unwrap(inBuffer, emptyBuffer); + status = result.getHandshakeStatus(); + if (result.getStatus() != Status.OK) + throw new SSLException("unexpected SSL status " + + result.getStatus()); + break; + + case NEED_WRAP: + { + outBuffer.clear(); + result = engine.wrap(emptyBuffer, outBuffer); + status = result.getHandshakeStatus(); + if (result.getStatus() != Status.OK) + throw new SSLException("unexpected SSL status " + + result.getStatus()); + outBuffer.flip(); + sockOut.write(outBuffer.array(), outBuffer.position(), + outBuffer.limit()); + } + break; + + case NEED_TASK: + { + Runnable task; + while ((task = engine.getDelegatedTask()) != null) + task.run(); + status = engine.getHandshakeStatus(); + } + break; + + case FINISHED: + break; + } + } + + initialHandshakeDone = true; + + HandshakeCompletedEvent hce = new HandshakeCompletedEvent(this, getSession()); + for (HandshakeCompletedListener l : listeners) + { + try + { + l.handshakeCompleted(hce); + } + catch (ThreadDeath td) + { + throw td; + } + catch (Throwable x) + { + logger.log(Component.WARNING, + "HandshakeCompletedListener threw exception", x); + } + } + + now += System.currentTimeMillis(); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, + "handshake completed in {0}ms in thread {1}", now, + Thread.currentThread().getName()); + } + catch (SSLException ssle) + { + handshakeException = ssle; + throw ssle; + } + finally + { + synchronized (engine) + { + isHandshaking = false; + engine.notifyAll(); + } + } + } + + // Methods overriding Socket. + + @Override public void bind(SocketAddress bindpoint) throws IOException + { + if (underlyingSocket != null) + underlyingSocket.bind(bindpoint); + else + super.bind(bindpoint); + } + + @Override public void connect(SocketAddress endpoint) throws IOException + { + if (underlyingSocket != null) + underlyingSocket.connect(endpoint); + else + super.connect(endpoint); + } + + @Override public void connect(SocketAddress endpoint, int timeout) + throws IOException + { + if (underlyingSocket != null) + underlyingSocket.connect(endpoint, timeout); + else + super.connect(endpoint, timeout); + } + + @Override public InetAddress getInetAddress() + { + if (underlyingSocket != null) + return underlyingSocket.getInetAddress(); + return super.getInetAddress(); + } + + @Override public InetAddress getLocalAddress() + { + if (underlyingSocket != null) + return underlyingSocket.getLocalAddress(); + return super.getLocalAddress(); + } + + @Override public int getPort() + { + if (underlyingSocket != null) + return underlyingSocket.getPort(); + return super.getPort(); + } + + @Override public int getLocalPort() + { + if (underlyingSocket != null) + return underlyingSocket.getLocalPort(); + return super.getLocalPort(); + } + + @Override public SocketAddress getRemoteSocketAddress() + { + if (underlyingSocket != null) + return underlyingSocket.getRemoteSocketAddress(); + return super.getRemoteSocketAddress(); + } + + public SocketAddress getLocalSocketAddress() + { + if (underlyingSocket != null) + return underlyingSocket.getLocalSocketAddress(); + return super.getLocalSocketAddress(); + } + + @Override public SocketChannel getChannel() + { + throw new UnsupportedOperationException("use javax.net.ssl.SSLEngine for NIO"); + } + + @Override public InputStream getInputStream() throws IOException + { + return new SocketInputStream(); + } + + @Override public OutputStream getOutputStream() throws IOException + { + return new SocketOutputStream(); + } + + @Override public void setTcpNoDelay(boolean on) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setTcpNoDelay(on); + else + super.setTcpNoDelay(on); + } + + @Override public boolean getTcpNoDelay() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getTcpNoDelay(); + return super.getTcpNoDelay(); + } + + @Override public void setSoLinger(boolean on, int linger) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setSoLinger(on, linger); + else + super.setSoLinger(on, linger); + } + + public int getSoLinger() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getSoLinger(); + return super.getSoLinger(); + } + + @Override public void sendUrgentData(int x) throws IOException + { + throw new UnsupportedOperationException("not supported"); + } + + @Override public void setOOBInline(boolean on) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setOOBInline(on); + else + super.setOOBInline(on); + } + + @Override public boolean getOOBInline() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getOOBInline(); + return super.getOOBInline(); + } + + @Override public void setSoTimeout(int timeout) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setSoTimeout(timeout); + else + super.setSoTimeout(timeout); + } + + @Override public int getSoTimeout() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getSoTimeout(); + return super.getSoTimeout(); + } + + @Override public void setSendBufferSize(int size) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setSendBufferSize(size); + else + super.setSendBufferSize(size); + } + + @Override public int getSendBufferSize() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getSendBufferSize(); + return super.getSendBufferSize(); + } + + @Override public void setReceiveBufferSize(int size) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setReceiveBufferSize(size); + else + underlyingSocket.setReceiveBufferSize(size); + } + + @Override public int getReceiveBufferSize() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getReceiveBufferSize(); + return super.getReceiveBufferSize(); + } + + @Override public void setKeepAlive(boolean on) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setKeepAlive(on); + else + super.setKeepAlive(on); + } + + @Override public boolean getKeepAlive() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getKeepAlive(); + return super.getKeepAlive(); + } + + @Override public void setTrafficClass(int tc) throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setTrafficClass(tc); + else + super.setTrafficClass(tc); + } + + @Override public int getTrafficClass() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getTrafficClass(); + return super.getTrafficClass(); + } + + @Override public void setReuseAddress(boolean reuseAddress) + throws SocketException + { + if (underlyingSocket != null) + underlyingSocket.setReuseAddress(reuseAddress); + else + super.setReuseAddress(reuseAddress); + } + + @Override public boolean getReuseAddress() throws SocketException + { + if (underlyingSocket != null) + return underlyingSocket.getReuseAddress(); + return super.getReuseAddress(); + } + + @Override public void close() throws IOException + { + // XXX closure alerts. + if (underlyingSocket != null && autoClose) + underlyingSocket.close(); + else + super.close(); + } + + @Override public void shutdownInput() throws IOException + { + if (underlyingSocket != null) + underlyingSocket.shutdownInput(); + else + super.shutdownInput(); + } + + @Override public void shutdownOutput() throws IOException + { + if (underlyingSocket != null) + underlyingSocket.shutdownOutput(); + else + super.shutdownOutput(); + } + + @Override public boolean isConnected() + { + if (underlyingSocket != null) + return underlyingSocket.isConnected(); + return super.isConnected(); + } + + @Override public boolean isBound() + { + if (underlyingSocket != null) + return underlyingSocket.isBound(); + return super.isBound(); + } + + @Override public boolean isClosed() + { + if (underlyingSocket != null) + return underlyingSocket.isClosed(); + return super.isClosed(); + } + + @Override public boolean isInputShutdown() + { + if (underlyingSocket != null) + return underlyingSocket.isInputShutdown(); + return super.isInputShutdown(); + } + + @Override public boolean isOutputShutdown() + { + if (underlyingSocket != null) + return underlyingSocket.isOutputShutdown(); + return super.isOutputShutdown(); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketInputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketInputStream.java deleted file mode 100644 index 69202ca33d8..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketInputStream.java +++ /dev/null @@ -1,181 +0,0 @@ -/* SSLSocketInputStream.java -- InputStream for SSL sockets. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.EOFException; -import java.io.FilterInputStream; -import java.io.InputStream; -import java.io.IOException; -import javax.net.ssl.SSLException; - -class SSLSocketInputStream extends FilterInputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final SSLSocket socket; - private final boolean checkHandshake; - - // Constructors. - // ------------------------------------------------------------------------- - - SSLSocketInputStream(InputStream in, SSLSocket socket) - { - this(in, socket, true); - } - - SSLSocketInputStream(InputStream in, SSLSocket socket, boolean checkHandshake) - { - super(in); - this.socket = socket; - this.checkHandshake = checkHandshake; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public int available() throws IOException - { - if (checkHandshake) - { - socket.checkHandshakeDone(); - } - int ret = 0; - try - { - ret = super.available(); - } - catch (AlertException ae) - { - Alert alert = ae.getAlert (); - if (alert.getDescription () == Alert.Description.CLOSE_NOTIFY) - { - return -1; - } - else - { - throw ae; - } - } - return ret; - } - - public int read() throws IOException - { - if (checkHandshake) - { - socket.checkHandshakeDone(); - } - int ret = 0; - try - { - ret = in.read(); - } - catch (AlertException ae) - { - Alert alert = ae.getAlert (); - if (alert.getDescription () == Alert.Description.CLOSE_NOTIFY) - { - return -1; - } - else - { - throw ae; - } - } - return ret; - } - - public int read(byte[] buf) throws IOException - { - return read(buf, 0, buf.length); - } - - public int read(byte[] buf, int off, int len) throws IOException - { - if (checkHandshake) - { - socket.checkHandshakeDone(); - } - if (buf == null) - { - throw new NullPointerException(); - } - if (off < 0 || len < 0 || off + len > buf.length) - { - throw new ArrayIndexOutOfBoundsException(); - } - int ret = 0; - try - { - ret = in.read(buf, off, len); - } - catch (AlertException ae) - { - Alert alert = ae.getAlert (); - if (alert.getDescription () == Alert.Description.CLOSE_NOTIFY) - { - return -1; - } - else - { - throw ae; - } - } - return ret; - } - - // Own methods. - // ------------------------------------------------------------------------- - - private boolean checkAlert() throws IOException - { - Alert alert = socket.checkAlert(); - if (alert == null) return false; - if (alert.getLevel().equals(Alert.Level.FATAL)) - throw new AlertException(alert, false); - if (alert.getDescription().equals(Alert.Description.CLOSE_NOTIFY)) - { - try { return (in.available() <= 0); } - catch (IOException ioe) { } - } - return false; - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketOutputStream.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketOutputStream.java deleted file mode 100644 index fe769a85fba..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLSocketOutputStream.java +++ /dev/null @@ -1,115 +0,0 @@ -/* SSLSocketOutputStream.java -- output stream for SSL sockets. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.FilterOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import javax.net.ssl.SSLException; - -class SSLSocketOutputStream extends FilterOutputStream -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final SSLSocket socket; - private final boolean checkHandshake; - - // Constructor. - // ------------------------------------------------------------------------- - - SSLSocketOutputStream(OutputStream out, SSLSocket socket) - { - this(out, socket, true); - } - - SSLSocketOutputStream(OutputStream out, SSLSocket socket, - boolean checkHandshake) - { - super(out); - this.socket = socket; - this.checkHandshake = checkHandshake; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public void write(int b) throws IOException - { - if (checkHandshake) - { - socket.checkHandshakeDone(); - } - checkAlert(); - out.write(b); - checkAlert(); - } - - public void write(byte[] buf) throws IOException - { - write(buf, 0, buf.length); - } - - public void write(byte[] buf, int off, int len) throws IOException - { - if (checkHandshake) - { - socket.checkHandshakeDone(); - } - if (buf == null) - throw new NullPointerException(); - if (off < 0 || len < 0 || off + len > buf.length) - throw new ArrayIndexOutOfBoundsException(); - checkAlert(); - out.write(buf, off, len); - checkAlert(); - } - - // Own methods. - // ------------------------------------------------------------------------- - - private synchronized void checkAlert() throws SSLException - { - Alert alert = socket.checkAlert(); - if (alert == null) return; - if (alert.getLevel().equals(Alert.Level.FATAL)) - throw new AlertException(alert, false); - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java new file mode 100644 index 00000000000..763bbaf3b77 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java @@ -0,0 +1,116 @@ +/* SSLv3HMacMD5.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.spec.AlgorithmParameterSpec; +import java.util.Collections; +import java.util.Map; + +import javax.crypto.MacSpi; +import javax.crypto.SecretKey; + +/** + * @author csm + */ +public class SSLv3HMacMD5Impl extends MacSpi +{ + private final SSLHMac adaptee; + + public SSLv3HMacMD5Impl() + { + adaptee = new SSLHMac("MD5"); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineDoFinal() + */ + @Override protected byte[] engineDoFinal() + { + return adaptee.digest(); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineGetMacLength() + */ + @Override protected int engineGetMacLength() + { + return adaptee.macSize(); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) + */ + @Override protected void engineInit(Key key, AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException, InvalidKeyException + { + if (!(key instanceof SecretKey) + || !key.getAlgorithm().equalsIgnoreCase("SSLv3HMac-MD5")) + throw new InvalidKeyException("expecting secret key with algorithm \"SSLv3HMac-MD5\""); + Map attr = + Collections.singletonMap(SSLHMac.MAC_KEY_MATERIAL, key.getEncoded()); + adaptee.init(attr); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineReset() + */ + @Override protected void engineReset() + { + adaptee.reset(); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineUpdate(byte) + */ + @Override protected void engineUpdate(byte input) + { + adaptee.update(input); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineUpdate(byte[], int, int) + */ + @Override protected void engineUpdate(byte[] input, int offset, int length) + { + adaptee.update(input, offset, length); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java new file mode 100644 index 00000000000..008a21c049d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java @@ -0,0 +1,116 @@ +/* SSLv3HMacSHA.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.spec.AlgorithmParameterSpec; +import java.util.Collections; +import java.util.Map; + +import javax.crypto.MacSpi; +import javax.crypto.SecretKey; + +/** + * @author csm + */ +public class SSLv3HMacSHAImpl extends MacSpi +{ + private final SSLHMac adaptee; + + public SSLv3HMacSHAImpl() + { + adaptee = new SSLHMac("SHA-160"); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineDoFinal() + */ + @Override protected byte[] engineDoFinal() + { + return adaptee.digest(); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineGetMacLength() + */ + @Override protected int engineGetMacLength() + { + return adaptee.macSize(); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) + */ + @Override protected void engineInit(Key key, AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException, InvalidKeyException + { + if (!(key instanceof SecretKey) + || !key.getAlgorithm().equalsIgnoreCase("SSLv3HMac-SHA")) + throw new InvalidKeyException("expecting secret key with algorithm \"SSLv3HMac-SHA\""); + Map attr = + Collections.singletonMap(SSLHMac.MAC_KEY_MATERIAL, key.getEncoded()); + adaptee.init(attr); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineReset() + */ + @Override protected void engineReset() + { + adaptee.reset(); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineUpdate(byte) + */ + @Override protected void engineUpdate(byte input) + { + adaptee.update(input); + } + + /* (non-Javadoc) + * @see javax.crypto.MacSpi#engineUpdate(byte[], int, int) + */ + @Override protected void engineUpdate(byte[] input, int offset, int length) + { + adaptee.update(input, offset, length); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SecurityParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/SecurityParameters.java deleted file mode 100644 index aa06680e200..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SecurityParameters.java +++ /dev/null @@ -1,178 +0,0 @@ -/* SecurityParameters.java -- SSL security parameters. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import javax.net.ssl.SSLException; - -/** - * The interface that all security parameters used by Jessie must implement. - * Security parameters handle all transforming of data, including encryption, - * authentication, and compression. - */ -interface SecurityParameters -{ - - // Methods. - // ------------------------------------------------------------------------- - - /** - * Decrypts, verifies, and inflates a fragment received. The fragment is - * just the data field of a text object, without the version, type, and - * length fields. An exception is thrown if any step fails. - * - * @param fragment The fragment being decrypted. - * @param version The version field of the received text. - * @param type The type field of the received text. - * @return The decrypted fragment. - * @throws MacException If the MAC could not be verified, or if the padding - * on the decrypted fragment is incorrect. - * @throws OverflowException If the processed text overflows the configured - * maximum fragment size. - * @throws SSLException If any other error occurs. - */ - byte[] decrypt (byte[] fragment, ProtocolVersion version, ContentType type) - throws MacException, OverflowException, SSLException; - - /** - * Deflates, authenticates, and encrypts a fragment to be sent. - * - * @param buf The fragment being encrypted. - * @param off The offset into the buffer to start at. - * @param len The number of bytes in this fragment. - * @param type The content type of this text. - * @return The encrypted fragment. - * @throws OverflowException If deflating increases the size of the fragment - * too much. - * @throws SSLException If any other error occurs. - */ - byte[] encrypt (byte[] buf, int off, int len, ContentType type) - throws OverflowException, SSLException; - - /** - * Set all crypto primitives to null, meaning that any calls - * to {@link #encrypt(byte[],int,int,org.metastatic.jessie.provider.ContentType)} or - * {@link #decrypt(byte[],org.metastatic.jessie.provider.ProtocolVersion,org.metastatic.jessie.provider.ContentType}) - * will perform the identity transformation. - */ - void reset(); - - /** - * Returns the version of texts being sent. - * - * @return The version. - */ - ProtocolVersion getVersion(); - - /** - * Sets the version of texts being sent. This affects the {@link - * #encrypt(byte[],int,int,org.metastatic.jessie.provider.ContentType)} - * method. - * - * @param version The version to set. - */ - void setVersion (ProtocolVersion version); - - /** - * Turns zlib deflating on or off. - * - * @param deflate Whether or not to deflate outgoing fragments. - */ - void setDeflating (boolean deflate); - - /** - * Turns zlib inflating on or off. - * - * @param inflate Whether or not to inflate incoming fragments. - */ - void setInflating (boolean inflate); - - /** - * Returns the maximum size that plaintext fragments may be. - * - * @return The fragment length. - */ - int getFragmentLength(); - - /** - * Sets the maximum size that plaintext fragments may be. - * - * @param fragmentLength The new fragment length. - */ - void setFragmentLength (int fragmentLength); - - /** - * Set the cipher used to decrypt incoming fragments. The parameter must be - * appropriate for the implementation. - * - * @param cipher The cipher. - * @throws ClassCastException If the argument is not appropriate for the - * implementation. - */ - void setInCipher (Object cipher); - - /** - * Set the cipher used to encrypt outgoing fragments. The parameter must be - * appropriate for the implementation. - * - * @param cipher The cipher. - * @throws ClassCastException If the argument is not appropriate for the - * implementation. - */ - void setOutCipher (Object cipher); - - /** - * Set the MAC used to verify incoming fragments. The parameter must be - * appropriate for the implementation. - * - * @param mac The MAC. - * @throws ClassCastException If the argument is not appropriate for the - * implementation. - */ - void setInMac (Object mac); - - /** - * Set the MAC used to authenticating outgoinging fragments. The parameter - * must be appropriate for the implementation. - * - * @param mac The MAC. - * @throws ClassCastException If the argument is not appropriate for the - * implementation. - */ - void setOutMac (Object mac); -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java new file mode 100644 index 00000000000..edc3ac259cb --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java @@ -0,0 +1,151 @@ +/* ServerDHE_PSKParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.classpath.debug.Component; +import gnu.classpath.debug.SystemLogger; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.charset.Charset; + +/** + *
    +      struct {
    +          select (KeyExchangeAlgorithm) {
    +              /* other cases for rsa, diffie_hellman, etc. */
    +              case diffie_hellman_psk:  /* NEW */
    +                  opaque psk_identity_hint<0..2^16-1>;
    +                  ServerDHParams params;
    +          };
    +      } ServerKeyExchange;
    + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyExchangeParams +{ + private ByteBuffer buffer; + + public ServerDHE_PSKParameters(ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public ServerDHE_PSKParameters(String identityHint, ServerDHParams dhParams) + { + this(identityHint, dhParams.buffer()); + } + + public ServerDHE_PSKParameters(String identityHint, ByteBuffer dhParams) + { + Charset utf8 = Charset.forName("UTF-8"); + ByteBuffer hintBuf = utf8.encode(identityHint); + buffer = ByteBuffer.allocate(2 + hintBuf.remaining() + dhParams.remaining()); + buffer.putShort((short) hintBuf.remaining()); + buffer.put(hintBuf); + buffer.put(dhParams); + } + + public KeyExchangeAlgorithm algorithm() + { + return KeyExchangeAlgorithm.DHE_PSK; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#length() + */ + public int length() + { + return (buffer.getShort(0) & 0xFFFF) + 2 + params().length(); + } + + private int hintLength() + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + public String identityHint() + { + Charset utf8 = Charset.forName("UTF-8"); + return utf8.decode((ByteBuffer) buffer.duplicate().position(2).limit + (hintLength())).toString(); + } + + public ServerDHParams params() + { + return new ServerDHParams(((ByteBuffer) buffer.duplicate().position + (hintLength()).limit(buffer.capacity())).slice()); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind().limit(length()); + } + + public @Override String toString() + { + return toString(null); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String) + */ + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" identity_hint = "); + out.print(identityHint()); + out.println(";"); + if (prefix != null) out.print(prefix); + out.println(" params ="); + out.println(params().toString(prefix != null ? prefix + " " : " ")); + if (prefix != null) out.print(prefix); + out.print("} ServerDHE_PSKParameters;"); + return str.toString(); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerDHParams.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerDHParams.java new file mode 100644 index 00000000000..55d4a41da94 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerDHParams.java @@ -0,0 +1,248 @@ +/* ServerDHParams.java -- The server's Diffie-Hellman parameters. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.math.BigInteger; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +/** + * The server's Diffie-Hellman parameters message. + * + *
    +struct
    +{
    +  opaque dh_p<1..2^16-1>;
    +  opaque dh_g<1..2^16-1>;
    +  opaque dh_Ys<1..2^16-1>;
    +} ServerDHParams;
    +
    + */ +public class ServerDHParams implements Builder, ServerKeyExchangeParams +{ + private final ByteBuffer buffer; + + public ServerDHParams (final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public ServerDHParams (final BigInteger p, final BigInteger g, + final BigInteger y) + { + byte[] p_bytes = p.toByteArray(); + byte[] g_bytes = g.toByteArray(); + byte[] y_bytes = y.toByteArray(); + int len = p_bytes.length + g_bytes.length + y_bytes.length + 6; + + int p_off = 0; + if (p_bytes[0] == 0x00) + { + p_off = 1; + len--; + } + int g_off = 0; + if (g_bytes[0] == 0x00) + { + g_off = 1; + len--; + } + int y_off = 0; + if (y_bytes[0] == 0x00) + { + y_off = 1; + len--; + } + int p_len = p_bytes.length - p_off; + int g_len = g_bytes.length - g_off; + int y_len = y_bytes.length - y_off; + + buffer = ByteBuffer.allocate(len); + buffer.putShort((short) p_len); + buffer.put(p_bytes, p_off, p_len); + buffer.putShort((short) g_len); + buffer.put(g_bytes, g_off, g_len); + buffer.putShort((short) y_len); + buffer.put(y_bytes, y_off, y_len); + } + + @Deprecated public KeyExchangeAlgorithm algorithm () + { + return null; // XXX can't support this. + } + + public int length () + { + int offset1 = buffer.getShort (0) & 0xFFFF; + int offset2 = buffer.getShort (offset1 + 2) & 0xFFFF; + return ((buffer.getShort (offset1 + offset2 + 4) & 0xFFFF) + + offset1 + offset2 + 6); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().position(0).limit(length()); + } + + /** + * Returns the server's prime modulus. + * + * @return p. + */ + public BigInteger p () + { + int len = buffer.getShort (0) & 0xFFFF; + byte[] buf = new byte[len]; + buffer.position (2); + buffer.get (buf); + return new BigInteger (1, buf); + } + + /** + * Returns the server's generator value. + * + * @return g. + */ + public BigInteger g () + { + int off = (buffer.getShort (0) & 0xFFFF) + 2; + int len = buffer.getShort (off) & 0xFFFF; + byte[] buf = new byte[len]; + buffer.position (off + 2); + buffer.get (buf); + return new BigInteger (1, buf); + } + + /** + * Returns the server's public value. + * + * @return Y. + */ + public BigInteger y () + { + int offset1 = (buffer.getShort (0) & 0xFFFF) + 2; + int offset2 = (buffer.getShort (offset1) & 0xFFFF) + offset1 + 2; + int len = buffer.getShort (offset2) & 0xFFFF; + byte[] buf = new byte[len]; + buffer.position (offset2 + 2); + buffer.get (buf); + return new BigInteger (1, buf); + } + + /** + * Sets the server's prime modulus, p. + * + * @param p The p parameter. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + */ + public void setP (final BigInteger p) + { + byte[] buf = p.toByteArray (); + int length = (buf[0] == 0x00 ? buf.length - 1 : buf.length); + int offset = (buf[0] == 0x00 ? 1 : 0); + buffer.putShort (0, (short) length); + buffer.position (2); + buffer.put (buf, offset, length); + } + + /** + * Sets the server's generator value, g. + * + * @param g The g parameter. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + */ + public void setG (final BigInteger g) + { + byte[] buf = g.toByteArray (); + int length = (buf[0] == 0x00 ? buf.length -1 : buf.length); + int offset = (buf[0] == 0x00 ? 1 : 0); + int where = (buffer.getShort (0) & 0xFFFF) + 2; + buffer.putShort (where, (short) length); + buffer.position (where + 2); + buffer.put (buf, offset, length); + } + + /** + * Sets the server's public value, Y. + * + * @param y The Y parameter. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + */ + public void setY (final BigInteger y) + { + int offset1 = (buffer.getShort (0) & 0xFFFF) + 2; + int offset2 = (buffer.getShort (offset1) & 0xFFFF) + offset1 + 2; + byte[] buf = y.toByteArray (); + int length = (buf[0] == 0x00 ? buf.length -1 : buf.length); + int offset = (buf[0] == 0x00 ? 1 : 0); + buffer.putShort (offset2, (short) length); + buffer.position (offset2 + 2); + buffer.put (buf, offset, length); + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); + out.println ("struct {"); + if (prefix != null) out.print (prefix); + out.print (" dh_p: "); + out.println (p ().toString (16)); + if (prefix != null) out.print (prefix); + out.print (" dh_g: "); + out.println (g ().toString (16)); + if (prefix != null) out.print (prefix); + out.print (" dh_Ys: "); + out.println (y ().toString (16)); + if (prefix != null) out.print (prefix); + out.print ("} ServerDHParams;"); + return str.toString (); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerHandshake.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHandshake.java new file mode 100644 index 00000000000..300012a4b30 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHandshake.java @@ -0,0 +1,1377 @@ +/* ServerHandshake.java -- the server-side handshake. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import static gnu.javax.net.ssl.provider.Handshake.Type.*; +import static gnu.javax.net.ssl.provider.KeyExchangeAlgorithm.*; +import static gnu.javax.net.ssl.provider.ServerHandshake.State.*; + +import gnu.classpath.debug.Component; +import gnu.java.security.action.GetSecurityPropertyAction; +import gnu.javax.crypto.key.dh.GnuDHPublicKey; +import gnu.javax.net.ssl.AbstractSessionContext; +import gnu.javax.net.ssl.Session; +import gnu.javax.net.ssl.provider.Alert.Description; +import gnu.javax.net.ssl.provider.CertificateRequest.ClientCertificateType; + +import java.nio.ByteBuffer; + +import java.security.AccessController; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.KeyManagementException; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.Principal; +import java.security.PrivateKey; +import java.security.SignatureException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.logging.Level; +import java.util.zip.Deflater; +import java.util.zip.Inflater; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; +import javax.crypto.interfaces.DHPrivateKey; +import javax.crypto.interfaces.DHPublicKey; +import javax.crypto.spec.DHParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.X509ExtendedKeyManager; +import javax.net.ssl.SSLEngineResult.HandshakeStatus; +import javax.security.auth.x500.X500Principal; + +class ServerHandshake extends AbstractHandshake +{ + /** + * Handshake state enumeration. + */ + static enum State + { + WRITE_HELLO_REQUEST (true, false), + WRITE_SERVER_HELLO (true, false), + WRITE_CERTIFICATE (true, false), + WRITE_SERVER_KEY_EXCHANGE (true, false), + WRITE_CERTIFICATE_REQUEST (true, false), + WRITE_SERVER_HELLO_DONE (true, false), + WRITE_FINISHED (true, false), + READ_CLIENT_HELLO (false, true), + READ_CERTIFICATE (false, true), + READ_CLIENT_KEY_EXCHANGE (false, true), + READ_CERTIFICATE_VERIFY (false, true), + READ_FINISHED (false, true), + DONE (false, false); + + private final boolean isWriteState; + private final boolean isReadState; + + private State(final boolean isWriteState, final boolean isReadState) + { + this.isWriteState = isWriteState; + this.isReadState = isReadState; + } + + boolean isReadState() + { + return isReadState; + } + + boolean isWriteState() + { + return isWriteState; + } + } + + private State state; + + /* Handshake result fields. */ + private ByteBuffer outBuffer; + private boolean clientHadExtensions = false; + private boolean continuedSession = false; + private ServerNameList requestedNames = null; + private String keyAlias = null; + private X509Certificate clientCert = null; + private X509Certificate localCert = null; + private boolean helloV2 = false; + private KeyPair dhPair; + private PrivateKey serverKey; + + // Delegated tasks we use. + private GenDH genDH; + private CertVerifier certVerifier; + private CertLoader certLoader; + private DelegatedTask keyExchangeTask; + + ServerHandshake (boolean writeHelloRequest, final SSLEngineImpl engine) + throws NoSuchAlgorithmException + { + super(engine); + if (writeHelloRequest) + state = WRITE_HELLO_REQUEST; + else + state = READ_CLIENT_HELLO; + handshakeOffset = 0; + } + + /** + * Choose the protocol version. Here we choose the largest protocol + * version we support that is not greater than the client's + * requested version. + */ + private static ProtocolVersion chooseProtocol (final ProtocolVersion clientVersion, + final String[] enabledVersions) + throws SSLException + { + ProtocolVersion version = null; + for (int i = 0; i < enabledVersions.length; i++) + { + ProtocolVersion v = ProtocolVersion.forName (enabledVersions[i]); + if (v.compareTo (clientVersion) <= 0) + { + if (version == null + || v.compareTo (version) > 0) + version = v; + } + } + + // The client requested a protocol version too old, or no protocol + // versions are enabled. + if (version == null) + throw new SSLException ("no acceptable protocol version available"); + return version; + } + + /** + * Choose the first cipher suite in the client's requested list that + * we have enabled. + */ + private CipherSuite chooseSuite (final CipherSuiteList clientSuites, + final String[] enabledSuites, + final ProtocolVersion version) + throws SSLException + { + // Figure out which SignatureAlgorithms we can support. + HashSet kexes = new HashSet(8); + + kexes.add(NONE); + X509ExtendedKeyManager km = engine.contextImpl.keyManager; + if (km != null) + { + if (km.getServerAliases(DH_DSS.name(), null).length > 0) + kexes.add(DH_DSS); + if (km.getServerAliases(DH_RSA.name(), null).length > 0) + kexes.add(DH_RSA); + if (km.getServerAliases(DHE_DSS.name(), null).length > 0) + kexes.add(DHE_DSS); + if (km.getServerAliases(DHE_RSA.name(), null).length > 0) + kexes.add(DHE_RSA); + if (km.getServerAliases(RSA.name(), null).length > 0) + kexes.add(RSA); + if (km.getServerAliases(RSA_PSK.name(), null).length > 0 + && engine.contextImpl.pskManager != null) + kexes.add(RSA_PSK); + } + if (engine.contextImpl.pskManager != null) + { + kexes.add(DHE_PSK); + kexes.add(PSK); + } + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, + "we have certs for key exchange algorithms {0}", kexes); + + HashSet suites = new HashSet(); + for (String s : enabledSuites) + { + CipherSuite suite = CipherSuite.forName(s); + if (suite == null) + continue; + if (!kexes.contains(suite.keyExchangeAlgorithm())) + continue; + suites.add(suite); + } + for (CipherSuite suite : clientSuites) + { + CipherSuite resolved = suite.resolve(); + if (!resolved.isResolved()) + continue; + if (suites.contains(resolved)) + return resolved; + } + + // We didn't find a match? + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.INSUFFICIENT_SECURITY)); + } + + /** + * Choose a compression method that we support, among the client's + * requested compression methods. We prefer ZLIB over NONE in this + * implementation. + * + * XXX Maybe consider implementing lzo (GNUTLS supports that). + */ + private static CompressionMethod chooseCompression (final CompressionMethodList comps) + throws SSLException + { + GetSecurityPropertyAction gspa + = new GetSecurityPropertyAction("jessie.enable.compression"); + String enable = AccessController.doPrivileged(gspa); + // Scan for ZLIB first. + if (Boolean.valueOf(enable)) + { + for (CompressionMethod cm : comps) + { + if (cm.equals (CompressionMethod.ZLIB)) + return CompressionMethod.ZLIB; + } + } + for (CompressionMethod cm : comps) + { + if (cm.equals (CompressionMethod.NULL)) + return CompressionMethod.NULL; + } + + throw new SSLException ("no supported compression method"); + } + + protected @Override boolean doHash() + { + boolean b = helloV2; + helloV2 = false; + return (state != WRITE_HELLO_REQUEST) && !b; + } + + public @Override HandshakeStatus implHandleInput() + throws SSLException + { + if (state == DONE) + return HandshakeStatus.FINISHED; + + if (state.isWriteState() + || (outBuffer != null && outBuffer.hasRemaining())) + return HandshakeStatus.NEED_WRAP; + + // Copy the current buffer, and prepare it for reading. + ByteBuffer buffer = handshakeBuffer.duplicate (); + buffer.flip(); + buffer.position(handshakeOffset); + Handshake handshake = new Handshake(buffer.slice(), + engine.session().suite, + engine.session().version); + + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "processing in state {0}:\n{1}", + state, handshake); + + switch (state) + { + // Client Hello. + // + // This message is sent by the client to initiate a new handshake. + // On a new connection, it is the first handshake message sent. + // + // The state of the handshake, after this message is processed, + // will have a protocol version, cipher suite, compression method, + // session ID, and various extensions (that the server also + // supports). + case READ_CLIENT_HELLO: + if (handshake.type () != CLIENT_HELLO) + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.UNEXPECTED_MESSAGE)); + + { + ClientHello hello = (ClientHello) handshake.body (); + engine.session().version + = chooseProtocol (hello.version (), + engine.getEnabledProtocols ()); + engine.session().suite = + chooseSuite (hello.cipherSuites (), + engine.getEnabledCipherSuites (), + engine.session().version); + compression = chooseCompression (hello.compressionMethods ()); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, + "chose version:{0} suite:{1} compression:{2}", + engine.session().version, engine.session().suite, + compression); + clientRandom = hello.random().copy(); + byte[] sessionId = hello.sessionId(); + if (hello.hasExtensions()) + { + ExtensionList exts = hello.extensions(); + clientHadExtensions = exts.size() > 0; + for (Extension e : hello.extensions()) + { + Extension.Type type = e.type(); + if (type == null) + continue; + switch (type) + { + case TRUNCATED_HMAC: + engine.session().setTruncatedMac(true); + break; + + case MAX_FRAGMENT_LENGTH: + MaxFragmentLength len = (MaxFragmentLength) e.value(); + engine.session().maxLength = len; + engine.session().setApplicationBufferSize(len.maxLength()); + break; + + case SERVER_NAME: + requestedNames = (ServerNameList) e.value(); + List names + = new ArrayList(requestedNames.size()); + for (ServerNameList.ServerName name : requestedNames) + names.add(name.name()); + engine.session().putValue("gnu.javax.net.ssl.RequestedServerNames", names); + break; + + default: + logger.log(Level.INFO, "skipping unsupported extension {0}", e); + } + } + } + AbstractSessionContext sessions = (AbstractSessionContext) + engine.contextImpl.engineGetServerSessionContext(); + SSLSession s = sessions.getSession(sessionId); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "looked up saved session {0}", s); + if (s != null && s.isValid() && (s instanceof SessionImpl)) + { + engine.setSession((SessionImpl) s); + continuedSession = true; + } + else + { + // We *may* wind up with a badly seeded PRNG, and emit the + // same session ID over and over (this did happen to me, + // so we add this sanity check just in case). + if (engine.session().id().equals(new Session.ID(sessionId))) + { + byte[] newId = new byte[32]; + engine.session().random().nextBytes(newId); + engine.session().setId(new Session.ID(newId)); + } + sessions.put(engine.session()); + } + state = WRITE_SERVER_HELLO; + } + break; + + // Certificate. + // + // This message is sent by the client if the server had previously + // requested that the client authenticate itself with a certificate, + // and if the client has an appropriate certificate available. + // + // Processing this message will save the client's certificate, + // rejecting it if the certificate is not trusted, in preparation + // for the certificate verify message that will follow. + case READ_CERTIFICATE: + { + if (handshake.type() != CERTIFICATE) + { + if (engine.getNeedClientAuth()) // XXX throw better exception. + throw new SSLException("client auth required"); + state = READ_CLIENT_KEY_EXCHANGE; + return HandshakeStatus.NEED_UNWRAP; + } + + Certificate cert = (Certificate) handshake.body(); + try + { + engine.session().setPeerVerified(false); + X509Certificate[] chain + = cert.certificates().toArray(new X509Certificate[0]); + if (chain.length == 0) + throw new CertificateException("no certificates in chain"); + certVerifier = new CertVerifier(false, chain); + tasks.add(certVerifier); + engine.session().setPeerCertificates(chain); + clientCert = chain[0]; + // Delay setting 'peerVerified' until CertificateVerify. + } + catch (CertificateException ce) + { + if (engine.getNeedClientAuth()) + { + SSLPeerUnverifiedException x + = new SSLPeerUnverifiedException("client certificates could not be verified"); + x.initCause(ce); + throw x; + } + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + state = READ_CLIENT_KEY_EXCHANGE; + } + break; + + // Client Key Exchange. + // + // The client's key exchange. This message is sent either following + // the certificate message, or if no certificate is available or + // requested, following the server's hello done message. + // + // After receipt of this message, the session keys for this + // session will have been created. + case READ_CLIENT_KEY_EXCHANGE: + { + if (handshake.type() != CLIENT_KEY_EXCHANGE) + throw new SSLException("expecting client key exchange"); + ClientKeyExchange kex = (ClientKeyExchange) handshake.body(); + + KeyExchangeAlgorithm alg = engine.session().suite.keyExchangeAlgorithm(); + switch (alg) + { + case DHE_DSS: + case DHE_RSA: + case DH_anon: + { + ClientDiffieHellmanPublic pub = (ClientDiffieHellmanPublic) + kex.exchangeKeys(); + DHPublicKey myKey = (DHPublicKey) dhPair.getPublic(); + DHPublicKey clientKey = + new GnuDHPublicKey(null, myKey.getParams().getP(), + myKey.getParams().getG(), + pub.publicValue()); + keyExchangeTask = new DHPhase(clientKey); + tasks.add(keyExchangeTask); + } + break; + + case RSA: + { + EncryptedPreMasterSecret secret = (EncryptedPreMasterSecret) + kex.exchangeKeys(); + keyExchangeTask = new RSAKeyExchange(secret.encryptedSecret()); + tasks.add(keyExchangeTask); + } + break; + + case PSK: + { + ClientPSKParameters params = (ClientPSKParameters) + kex.exchangeKeys(); + generatePSKSecret(params.identity(), null, false); + } + break; + + case DHE_PSK: + { + ClientDHE_PSKParameters params = (ClientDHE_PSKParameters) + kex.exchangeKeys(); + DHPublicKey serverKey = (DHPublicKey) dhPair.getPublic(); + DHPublicKey clientKey = + new GnuDHPublicKey(null, serverKey.getParams().getP(), + serverKey.getParams().getG(), + params.params().publicValue()); + SecretKey psk = null; + try + { + psk = engine.contextImpl.pskManager.getKey(params.identity()); + } + catch (KeyManagementException kme) + { + } + keyExchangeTask = new DHE_PSKGen(clientKey, psk, false); + tasks.add(keyExchangeTask); + } + break; + + case RSA_PSK: + { + ClientRSA_PSKParameters params = (ClientRSA_PSKParameters) + kex.exchangeKeys(); + SecretKey psk = null; + try + { + psk = engine.contextImpl.pskManager.getKey(params.identity()); + } + catch (KeyManagementException kme) + { + } + if (psk == null) + { + byte[] fakeKey = new byte[16]; + engine.session().random().nextBytes(fakeKey); + psk = new SecretKeySpec(fakeKey, "DHE_PSK"); + } + keyExchangeTask = + new RSA_PSKExchange(params.secret().encryptedSecret(), psk); + tasks.add(keyExchangeTask); + } + break; + + case NONE: + { + Inflater inflater = null; + Deflater deflater = null; + if (compression == CompressionMethod.ZLIB) + { + inflater = new Inflater(); + deflater = new Deflater(); + } + inParams = new InputSecurityParameters(null, null, inflater, + engine.session(), + engine.session().suite); + outParams = new OutputSecurityParameters(null, null, deflater, + engine.session(), + engine.session().suite); + engine.session().privateData.masterSecret = new byte[0]; + } + break; + } + // XXX SRP + + if (clientCert != null) + state = READ_CERTIFICATE_VERIFY; + else + state = READ_FINISHED; + } + break; + + // Certificate Verify. + // + // This message is sent following the client key exchange message, + // but only when the client included its certificate in a previous + // message. + // + // After receipt of this message, the client's certificate (and, + // to a degree, the client's identity) will have been verified. + case READ_CERTIFICATE_VERIFY: + { + if (handshake.type() != CERTIFICATE_VERIFY) + throw new SSLException("expecting certificate verify message"); + + CertificateVerify verify = (CertificateVerify) handshake.body(); + try + { + verifyClient(verify.signature()); + if (certVerifier != null && certVerifier.verified()) + engine.session().setPeerVerified(true); + } + catch (SignatureException se) + { + if (engine.getNeedClientAuth()) + throw new SSLException("client auth failed", se); + } + if (continuedSession) + { + engine.changeCipherSpec(); + state = WRITE_FINISHED; + } + else + state = READ_FINISHED; + } + break; + + // Finished. + // + // This message is sent immediately following the change cipher + // spec message (which is sent outside of the handshake layer). + // After receipt of this message, the session keys for the client + // side will have been verified (this is the first message the + // client sends encrypted and authenticated with the newly + // negotiated keys). + // + // In the case of a continued session, the client sends its + // finished message first. Otherwise, the server will send its + // finished message first. + case READ_FINISHED: + { + if (handshake.type() != FINISHED) + throw new AlertException(new Alert(Alert.Level.FATAL, + Description.UNEXPECTED_MESSAGE)); + + Finished clientFinished = (Finished) handshake.body(); + + MessageDigest md5copy = null; + MessageDigest shacopy = null; + try + { + md5copy = (MessageDigest) md5.clone(); + shacopy = (MessageDigest) sha.clone(); + } + catch (CloneNotSupportedException cnse) + { + // We're improperly configured to use a non-cloneable + // md5/sha-1, OR there's a runtime bug. + throw new SSLException(cnse); + } + Finished serverFinished = + new Finished(generateFinished(md5copy, shacopy, + true, engine.session()), + engine.session().version); + + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "server finished: {0}", + serverFinished); + + if (engine.session().version == ProtocolVersion.SSL_3) + { + if (!Arrays.equals(clientFinished.md5Hash(), + serverFinished.md5Hash()) + || !Arrays.equals(clientFinished.shaHash(), + serverFinished.shaHash())) + { + engine.session().invalidate(); + throw new SSLException("session verify failed"); + } + } + else + { + if (!Arrays.equals(clientFinished.verifyData(), + serverFinished.verifyData())) + { + engine.session().invalidate(); + throw new SSLException("session verify failed"); + } + } + + if (continuedSession) + state = DONE; + else + { + engine.changeCipherSpec(); + state = WRITE_FINISHED; + } + } + break; + } + + handshakeOffset += handshake.length() + 4; + + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + if (state.isReadState()) + return HandshakeStatus.NEED_UNWRAP; + if (state.isWriteState()) + return HandshakeStatus.NEED_WRAP; + + return HandshakeStatus.FINISHED; + } + + public @Override HandshakeStatus implHandleOutput (ByteBuffer fragment) + throws SSLException + { + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, + "handle output state: {0}; output fragment: {1}", + state, fragment); + + // Drain the output buffer, if it needs it. + if (outBuffer != null && outBuffer.hasRemaining()) + { + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + } + + if (!fragment.hasRemaining()) + { + if (state.isWriteState() || outBuffer.hasRemaining()) + return HandshakeStatus.NEED_WRAP; + else + return HandshakeStatus.NEED_UNWRAP; + } + + // XXX what we need to do here is generate a "stream" of handshake + // messages, and insert them into fragment amounts that we have available. + // A handshake message can span multiple records, and we can put + // multiple records into a single record. + // + // So, we can have one of two states: + // + // 1) We have enough space in the record we are creating to push out + // everything we need to on this round. This is easy; we just + // repeatedly fill in these messages in the buffer, so we get something + // that looks like this: + // ________________________________ + // records: |________________________________| + // handshakes: |______|__|__________| + // + // 2) We can put part of one handshake message in the current record, + // but we must put the rest of it in the following record, or possibly + // more than one following record. So here, we'd see this: + // + // ________________________ + // records: |_______|_______|________| + // handshakes: |____|_______|_________| + // + // We *could* make this a lot easier by just only ever emitting one + // record per call, but then we would waste potentially a lot of space + // and waste a lot of TCP packets by doing it the simple way. What + // we desire here is that we *maximize* our usage of the resources + // given to us, and to use as much space in the present fragment as + // we can. + // + // Note that we pretty much have to support this, anyway, because SSL + // provides no guarantees that the record size is large enough to + // admit *even one* handshake message. Also, callers could call on us + // with a short buffer, even though they aren't supposed to. + // + // This is somewhat complicated by the fact that we don't know, a priori, + // how large a handshake message will be until we've built it, and our + // design builds the message around the byte buffer. + // + // Some ways to handle this: + // + // 1. Write our outgoing handshake messages to a private buffer, + // big enough per message (and, if we run out of space, resize that + // buffer) and push (possibly part of) this buffer out to the + // outgoing buffer. This isn't that great because we'd need to + // store and copy things unnecessarily. + // + // 2. Build outgoing handshake objects “virtually,†that is, store them + // as collections of objects, then compute the length, and then write + // them to a buffer, instead of making the objects views on + // ByteBuffers for both input and output. This would complicate the + // protocol objects a bit (although, it would amount to doing + // separation between client objects and server objects, which is + // pretty OK), and we still need to figure out how exactly to chunk + // those objects across record boundaries. + // + // 3. Try to build these objects on the buffer we’re given, but detect + // when we run out of space in the output buffer, and split the + // overflow message. This sounds like the best, but also probably + // the hardest to code. +output_loop: + while (fragment.remaining() >= 4 && state.isWriteState()) + { + switch (state) + { + // Hello Request. + // + // This message is sent by the server to initiate a new + // handshake, to establish new session keys. + case WRITE_HELLO_REQUEST: + { + Handshake handshake = new Handshake(fragment); + handshake.setType(Handshake.Type.HELLO_REQUEST); + handshake.setLength(0); + fragment.position(fragment.position() + 4); + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "{0}", handshake); + state = READ_CLIENT_HELLO; + } + break output_loop; // XXX temporary + + // Server Hello. + // + // This message is sent immediately following the client hello. + // It informs the client of the cipher suite, compression method, + // session ID (which may have been a continued session), and any + // supported extensions. + case WRITE_SERVER_HELLO: + { + ServerHelloBuilder hello = new ServerHelloBuilder(); + hello.setVersion(engine.session().version); + Random r = hello.random(); + r.setGmtUnixTime(Util.unixTime()); + byte[] nonce = new byte[28]; + engine.session().random().nextBytes(nonce); + r.setRandomBytes(nonce); + serverRandom = r.copy(); + hello.setSessionId(engine.session().getId()); + hello.setCipherSuite(engine.session().suite); + hello.setCompressionMethod(compression); + if (clientHadExtensions) + { + // XXX figure this out. + } + else // Don't send any extensions. + hello.setDisableExtensions(true); + + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "{0}", hello); + + int typeLen = ((Handshake.Type.SERVER_HELLO.getValue() << 24) + | (hello.length() & 0xFFFFFF)); + fragment.putInt(typeLen); + + outBuffer = hello.buffer(); + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + CipherSuite cs = engine.session().suite; + KeyExchangeAlgorithm kex = cs.keyExchangeAlgorithm(); + if (continuedSession) + { + byte[][] keys = generateKeys(clientRandom, serverRandom, + engine.session()); + setupSecurityParameters(keys, false, engine, compression); + engine.changeCipherSpec(); + state = WRITE_FINISHED; + } + else if (kex == DHE_DSS || kex == DHE_RSA || kex == RSA + || kex == RSA_PSK) + { + certLoader = new CertLoader(); + tasks.add(certLoader); + state = WRITE_CERTIFICATE; + if (kex == DHE_DSS || kex == DHE_RSA) + { + genDH = new GenDH(); + tasks.add(genDH); + } + break output_loop; + } + else if (kex == PSK) + { + state = WRITE_SERVER_KEY_EXCHANGE; + } + else if (kex == DHE_PSK || kex == DH_anon) + { + genDH = new GenDH(); + tasks.add(genDH); + state = WRITE_SERVER_KEY_EXCHANGE; + break output_loop; + } + else if (engine.getWantClientAuth() || engine.getNeedClientAuth()) + { + state = WRITE_CERTIFICATE_REQUEST; + } + else + state = WRITE_SERVER_HELLO_DONE; + } + break; + + // Certificate. + // + // This message is sent immediately following the server hello, + // IF the cipher suite chosen requires that the server identify + // itself (usually, servers must authenticate). + case WRITE_CERTIFICATE: + { + // We must have scheduled a certificate loader to run. + assert(certLoader != null); + assert(certLoader.hasRun()); + if (certLoader.thrown() != null) + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.HANDSHAKE_FAILURE), + certLoader.thrown()); + java.security.cert.Certificate[] chain + = engine.session().getLocalCertificates(); + CertificateBuilder cert = new CertificateBuilder(CertificateType.X509); + try + { + cert.setCertificates(Arrays.asList(chain)); + } + catch (CertificateException ce) + { + throw new SSLException(ce); + } + + if (Debug.DEBUG) + { + logger.logv(Component.SSL_HANDSHAKE, "my cert:\n{0}", localCert); + logger.logv(Component.SSL_HANDSHAKE, "{0}", cert); + } + + int typeLen = ((CERTIFICATE.getValue() << 24) + | (cert.length() & 0xFFFFFF)); + fragment.putInt(typeLen); + + outBuffer = cert.buffer(); + final int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + CipherSuite s = engine.session().suite; + KeyExchangeAlgorithm kexalg = s.keyExchangeAlgorithm(); + if (kexalg == DHE_DSS || kexalg == DHE_RSA) + { + genDH = new GenDH(); + tasks.add(genDH); + state = WRITE_SERVER_KEY_EXCHANGE; + break output_loop; + } + else if (kexalg == RSA_PSK) + state = WRITE_SERVER_KEY_EXCHANGE; + else if (engine.getWantClientAuth() || engine.getNeedClientAuth()) + { + state = WRITE_CERTIFICATE_REQUEST; + } + else + state = WRITE_SERVER_HELLO_DONE; + } + break output_loop; // XXX temporary + + // Server key exchange. + // + // This message is sent, following the certificate if sent, + // otherwise following the server hello, IF the chosen cipher + // suite requires that the server send explicit key exchange + // parameters (that is, if the key exchange parameters are not + // implicit in the server's certificate). + case WRITE_SERVER_KEY_EXCHANGE: + { + KeyExchangeAlgorithm kex = engine.session().suite.keyExchangeAlgorithm(); + + ByteBuffer paramBuffer = null; + ByteBuffer sigBuffer = null; + if (kex == DHE_DSS || kex == DHE_RSA || kex == DH_anon + || kex == DHE_PSK) + { + assert(genDH != null); + assert(genDH.hasRun()); + if (genDH.thrown() != null) + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.HANDSHAKE_FAILURE), + genDH.thrown()); + assert(dhPair != null); + initDiffieHellman((DHPrivateKey) dhPair.getPrivate(), + engine.session().random()); + paramBuffer = genDH.paramsBuffer; + sigBuffer = genDH.sigBuffer; + + if (kex == DHE_PSK) + { + String identityHint + = engine.contextImpl.pskManager.chooseIdentityHint(); + ServerDHE_PSKParameters psk = + new ServerDHE_PSKParameters(identityHint, paramBuffer); + paramBuffer = psk.buffer(); + } + } + if (kex == RSA_PSK) + { + String idHint = engine.contextImpl.pskManager.chooseIdentityHint(); + if (idHint != null) + { + ServerRSA_PSKParameters params + = new ServerRSA_PSKParameters(idHint); + paramBuffer = params.buffer(); + } + } + if (kex == PSK) + { + String idHint = engine.contextImpl.pskManager.chooseIdentityHint(); + if (idHint != null) + { + ServerPSKParameters params + = new ServerPSKParameters(idHint); + paramBuffer = params.buffer(); + } + } + // XXX handle SRP + + if (paramBuffer != null) + { + ServerKeyExchangeBuilder ske + = new ServerKeyExchangeBuilder(engine.session().suite); + ske.setParams(paramBuffer); + if (sigBuffer != null) + ske.setSignature(sigBuffer); + + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "{0}", ske); + + outBuffer = ske.buffer(); + int l = Math.min(fragment.remaining(), outBuffer.remaining()); + fragment.putInt((SERVER_KEY_EXCHANGE.getValue() << 24) + | (ske.length() & 0xFFFFFF)); + fragment.put((ByteBuffer) outBuffer.duplicate().limit + (outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + } + + if (engine.getWantClientAuth() || engine.getNeedClientAuth()) + state = WRITE_CERTIFICATE_REQUEST; + else + state = WRITE_SERVER_HELLO_DONE; + } + break; + + // Certificate Request. + // + // This message is sent when the server desires or requires + // client authentication with a certificate; if it is sent, it + // will be sent just after the Certificate or Server Key + // Exchange messages, whichever is sent. If neither of the + // above are sent, it will be the message that follows the + // server hello. + case WRITE_CERTIFICATE_REQUEST: + { + CertificateRequestBuilder req = new CertificateRequestBuilder(); + + List types + = new ArrayList(4); + types.add(ClientCertificateType.RSA_SIGN); + types.add(ClientCertificateType.RSA_FIXED_DH); + types.add(ClientCertificateType.DSS_SIGN); + types.add(ClientCertificateType.DSS_FIXED_DH); + req.setTypes(types); + + X509Certificate[] anchors + = engine.contextImpl.trustManager.getAcceptedIssuers(); + List issuers + = new ArrayList(anchors.length); + for (X509Certificate cert : anchors) + issuers.add(cert.getIssuerX500Principal()); + req.setAuthorities(issuers); + + if (Debug.DEBUG) + logger.log(Component.SSL_HANDSHAKE, "{0}", req); + + fragment.putInt((CERTIFICATE_REQUEST.getValue() << 24) + | (req.length() & 0xFFFFFF)); + + outBuffer = req.buffer(); + int l = Math.min(outBuffer.remaining(), fragment.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + state = WRITE_SERVER_HELLO_DONE; + } + break; + + // Server Hello Done. + // + // This message is always sent by the server, to terminate its + // side of the handshake. Since the server's handshake message + // may comprise multiple, optional messages, this sentinel + // message lets the client know when the server's message stream + // is complete. + case WRITE_SERVER_HELLO_DONE: + { + // ServerHelloDone is zero-length; just put in the type + // field. + fragment.putInt(SERVER_HELLO_DONE.getValue() << 24); + if (Debug.DEBUG) + logger.logv(Component.SSL_HANDSHAKE, "writing ServerHelloDone"); + state = READ_CERTIFICATE; + } + break output_loop; // XXX temporary + + // Finished. + // + // This is always sent by the server to verify the keys that the + // server will use to encrypt and authenticate. In a full + // handshake, this message will be sent after the client's + // finished message; in an abbreviated handshake (with a continued + // session) the server sends its finished message first. + // + // This message follows the change cipher spec message, which is + // sent out-of-band in a different SSL content-type. + // + // This is the first message that the server will send encrypted + // and authenticated with the newly negotiated session keys. + case WRITE_FINISHED: + { + MessageDigest md5copy = null; + MessageDigest shacopy = null; + try + { + md5copy = (MessageDigest) md5.clone(); + shacopy = (MessageDigest) sha.clone(); + } + catch (CloneNotSupportedException cnse) + { + // We're improperly configured to use a non-cloneable + // md5/sha-1, OR there's a runtime bug. + throw new SSLException(cnse); + } + outBuffer + = generateFinished(md5copy, shacopy, false, + engine.session()); + + fragment.putInt((FINISHED.getValue() << 24) + | outBuffer.remaining() & 0xFFFFFF); + + int l = Math.min(outBuffer.remaining(), fragment.remaining()); + fragment.put((ByteBuffer) outBuffer.duplicate().limit(outBuffer.position() + l)); + outBuffer.position(outBuffer.position() + l); + + if (continuedSession) + state = READ_FINISHED; + else + state = DONE; + } + break; + } + } + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + if (state.isWriteState() || outBuffer.hasRemaining()) + return HandshakeStatus.NEED_WRAP; + if (state.isReadState()) + return HandshakeStatus.NEED_UNWRAP; + + return HandshakeStatus.FINISHED; + } + + @Override HandshakeStatus status() + { + if (!tasks.isEmpty()) + return HandshakeStatus.NEED_TASK; + if (state.isReadState()) + return HandshakeStatus.NEED_UNWRAP; + if (state.isWriteState()) + return HandshakeStatus.NEED_WRAP; + + return HandshakeStatus.FINISHED; + } + + @Override void checkKeyExchange() throws SSLException + { + if (continuedSession) // No key exchange needed. + return; + KeyExchangeAlgorithm kex = engine.session().suite.keyExchangeAlgorithm(); + if (kex == NONE || kex == PSK || kex == RSA_PSK) // Don't need one. + return; + if (keyExchangeTask == null) // An error if we never created one. + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.INTERNAL_ERROR)); + if (!keyExchangeTask.hasRun()) // An error if the caller never ran it. + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.INTERNAL_ERROR)); + if (keyExchangeTask.thrown() != null) // An error was thrown. + throw new AlertException(new Alert(Alert.Level.FATAL, + Alert.Description.HANDSHAKE_FAILURE), + keyExchangeTask.thrown()); + } + + @Override void handleV2Hello(ByteBuffer hello) + { + int len = hello.getShort(0) & 0x7FFF; + md5.update((ByteBuffer) hello.duplicate().position(2).limit(len+2)); + sha.update((ByteBuffer) hello.duplicate().position(2).limit(len+2)); + helloV2 = true; + } + + private ByteBuffer signParams(ByteBuffer serverParams) + throws NoSuchAlgorithmException, InvalidKeyException, SignatureException + { + SignatureAlgorithm alg = engine.session().suite.signatureAlgorithm(); + java.security.Signature sig + = java.security.Signature.getInstance(alg.algorithm()); + PrivateKey key = engine.contextImpl.keyManager.getPrivateKey(keyAlias); + if (Debug.DEBUG_KEY_EXCHANGE) + logger.logv(Component.SSL_HANDSHAKE, "server key: {0}", key); + sig.initSign(key); + sig.update(clientRandom.buffer()); + sig.update(serverRandom.buffer()); + sig.update(serverParams); + byte[] sigVal = sig.sign(); + Signature signature = new Signature(sigVal, engine.session().suite.signatureAlgorithm()); + return signature.buffer(); + } + + private void verifyClient(byte[] sigValue) throws SSLException, SignatureException + { + MessageDigest md5copy = null; + MessageDigest shacopy = null; + try + { + md5copy = (MessageDigest) md5.clone(); + shacopy = (MessageDigest) sha.clone(); + } + catch (CloneNotSupportedException cnse) + { + // Mis-configured with non-cloneable digests. + throw new SSLException(cnse); + } + byte[] toSign = null; + if (engine.session().version == ProtocolVersion.SSL_3) + toSign = genV3CertificateVerify(md5copy, shacopy, engine.session()); + else + { + if (engine.session().suite.signatureAlgorithm() == SignatureAlgorithm.RSA) + toSign = Util.concat(md5copy.digest(), shacopy.digest()); + else + toSign = shacopy.digest(); + } + + try + { + java.security.Signature sig = java.security.Signature.getInstance(engine.session().suite.signatureAlgorithm().toString()); + sig.initVerify(clientCert); + sig.update(toSign); + sig.verify(sigValue); + } + catch (InvalidKeyException ike) + { + throw new SSLException(ike); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + } + + // Delegated tasks. + + class CertLoader extends DelegatedTask + { + CertLoader() + { + } + + public void implRun() throws SSLException + { + KeyExchangeAlgorithm kexalg = engine.session().suite.keyExchangeAlgorithm(); + X509ExtendedKeyManager km = engine.contextImpl.keyManager; + Principal[] issuers = null; // XXX use TrustedAuthorities extension. + keyAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine); + if (keyAlias == null) + throw new SSLException("no certificates available"); + X509Certificate[] chain = km.getCertificateChain(keyAlias); + engine.session().setLocalCertificates(chain); + localCert = chain[0]; + serverKey = km.getPrivateKey(keyAlias); + if (kexalg == DH_DSS || kexalg == DH_RSA) + dhPair = new KeyPair(localCert.getPublicKey(), + km.getPrivateKey(keyAlias)); + } + } + + /** + * Delegated task for generating Diffie-Hellman parameters. + */ + private class GenDH extends DelegatedTask + { + ByteBuffer paramsBuffer; + ByteBuffer sigBuffer; + + protected void implRun() + throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, + InvalidKeyException, SignatureException + { + KeyPairGenerator dhGen = KeyPairGenerator.getInstance("DH"); + DHParameterSpec dhparams = DiffieHellman.getParams().getParams(); + dhGen.initialize(dhparams, engine.session().random()); + dhPair = dhGen.generateKeyPair(); + DHPublicKey pub = (DHPublicKey) dhPair.getPublic(); + + // Generate the parameters message. + ServerDHParams params = new ServerDHParams(pub.getParams().getP(), + pub.getParams().getG(), + pub.getY()); + paramsBuffer = params.buffer(); + + // Sign the parameters, if needed. + if (engine.session().suite.signatureAlgorithm() != SignatureAlgorithm.ANONYMOUS) + { + sigBuffer = signParams(paramsBuffer); + paramsBuffer.rewind(); + } + if (Debug.DEBUG_KEY_EXCHANGE) + logger.logv(Component.SSL_KEY_EXCHANGE, + "Diffie-Hellman public:{0} private:{1}", + dhPair.getPublic(), dhPair.getPrivate()); + } + } + + class RSAKeyExchange extends DelegatedTask + { + private final byte[] encryptedPreMasterSecret; + + RSAKeyExchange(byte[] encryptedPreMasterSecret) + { + this.encryptedPreMasterSecret = encryptedPreMasterSecret; + } + + public void implRun() + throws BadPaddingException, IllegalBlockSizeException, InvalidKeyException, + NoSuchAlgorithmException, NoSuchPaddingException, SSLException + { + Cipher rsa = Cipher.getInstance("RSA"); + rsa.init(Cipher.DECRYPT_MODE, serverKey); + rsa.init(Cipher.DECRYPT_MODE, localCert); + preMasterSecret = rsa.doFinal(encryptedPreMasterSecret); + generateMasterSecret(clientRandom, serverRandom, engine.session()); + byte[][] keys = generateKeys(clientRandom, serverRandom, engine.session()); + setupSecurityParameters(keys, false, engine, compression); + } + } + + class RSA_PSKExchange extends DelegatedTask + { + private final byte[] encryptedPreMasterSecret; + private final SecretKey psKey; + + RSA_PSKExchange(byte[] encryptedPreMasterSecret, SecretKey psKey) + { + this.encryptedPreMasterSecret = encryptedPreMasterSecret; + this.psKey = psKey; + } + + public @Override void implRun() + throws BadPaddingException, IllegalBlockSizeException, InvalidKeyException, + NoSuchAlgorithmException, NoSuchPaddingException, SSLException + { + Cipher rsa = Cipher.getInstance("RSA"); + rsa.init(Cipher.DECRYPT_MODE, serverKey); + rsa.init(Cipher.DECRYPT_MODE, localCert); + byte[] rsaSecret = rsa.doFinal(encryptedPreMasterSecret); + byte[] psSecret = psKey.getEncoded(); + preMasterSecret = new byte[rsaSecret.length + psSecret.length + 4]; + preMasterSecret[0] = (byte) (rsaSecret.length >>> 8); + preMasterSecret[1] = (byte) rsaSecret.length; + System.arraycopy(rsaSecret, 0, preMasterSecret, 2, rsaSecret.length); + preMasterSecret[rsaSecret.length + 2] = (byte) (psSecret.length >>> 8); + preMasterSecret[rsaSecret.length + 3] = (byte) psSecret.length; + System.arraycopy(psSecret, 0, preMasterSecret, rsaSecret.length+4, + psSecret.length); + + generateMasterSecret(clientRandom, serverRandom, engine.session()); + byte[][] keys = generateKeys(clientRandom, serverRandom, engine.session()); + setupSecurityParameters(keys, false, engine, compression); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerHello.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHello.java index 8b7853c7f40..2bbce37fb3d 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/ServerHello.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHello.java @@ -38,179 +38,194 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.StringReader; import java.io.StringWriter; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; +import java.nio.ByteBuffer; -import javax.net.ssl.SSLProtocolException; - -class ServerHello implements Handshake.Body +/** + * The server hello message. + * + *
    +struct
    +{
    +  ProtocolVersion server_version;
    +  Random random;
    +  SessionID session_id;
    +  CipherSuite cipher_suite;
    +  CompressionMethod compression_method;
    +  Extensions server_hello_extension_list<0..2^16-1>
    +} ServerHello;
    +
    + * + *

    Server hello messages may contain extra data after the + * compression_method field, which are interpreted as + * extensions to the basic handshake. + */ +public class ServerHello implements Handshake.Body { // Fields. // ------------------------------------------------------------------------- - private final ProtocolVersion version; - private final Random random; - private final byte[] sessionId; - private final CipherSuite suite; - private final CompressionMethod comp; - private final List extensions; + protected static final int RANDOM_OFFSET = 2; + protected static final int SESSID_OFFSET = 32 + RANDOM_OFFSET; + protected static final int SESSID_OFFSET2 = SESSID_OFFSET + 1; + protected ByteBuffer buffer; + protected boolean disableExtensions; + // Constructor. // ------------------------------------------------------------------------- - ServerHello(ProtocolVersion version, Random random, - byte[] sessionId, CipherSuite suite, - CompressionMethod comp) + public ServerHello (final ByteBuffer buffer) { - this(version, random, sessionId, suite, comp, null); + this.buffer = buffer; + disableExtensions = false; } - ServerHello(ProtocolVersion version, Random random, - byte[] sessionId, CipherSuite suite, - CompressionMethod comp, List extensions) + public int length () { - this.version = version; - this.random = random; - this.sessionId = sessionId; - this.suite = suite; - this.comp = comp; - this.extensions = extensions; + int sessionLen = buffer.get(SESSID_OFFSET) & 0xFF; + int len = SESSID_OFFSET2 + sessionLen + 3; + int elen = 0; + if (!disableExtensions && len + 1 < buffer.limit() + && (elen = buffer.getShort(len)) != 0) + len += 2 + elen; + return len; } - // Class methods. - // ------------------------------------------------------------------------- - - static ServerHello read(InputStream in) throws IOException + /** + * Returns the server's protocol version. This will read two bytes + * from the beginning of the underlying buffer, and return an + * instance of the appropriate {@link ProtocolVersion}; if the + * version read is a supported version, this method returns a static + * constant instance. + * + * @return The server's protocol version. + */ + public ProtocolVersion version() { - ProtocolVersion vers = ProtocolVersion.read(in); - Random rand = Random.read(in); - byte[] id = new byte[in.read() & 0xFF]; - in.read(id); - CipherSuite suite = CipherSuite.read(in).resolve(vers); - CompressionMethod comp = CompressionMethod.read(in); - List ext = null; - if (in.available() > 0) - { - ext = new LinkedList(); - int len = (in.read() >>> 8 & 0xFF) | (in.read() & 0xFF); - int count = 0; - while (count < len) - { - Extension e = Extension.read(in); - ext.add(e); - count += e.getValue().length + 4; - } - } - return new ServerHello(vers, rand, id, suite, comp, ext); + return ProtocolVersion.getInstance (buffer.getShort (0)); } - // Instance methods. - // ------------------------------------------------------------------------- - - public void write(OutputStream out) throws IOException + /** + * Returns the server's random value. This method returns a + * lightwieght wrapper around the existing bytes; modifications to + * the underlying buffer will modify the returned object, and + * vice-versa. + * + * @return The server's random value. + */ + public Random random() { - version.write(out); - random.write(out); - out.write(sessionId.length); - out.write(sessionId); - suite.write(out); - out.write(comp.getValue()); - if (extensions != null) - { - ByteArrayOutputStream out2 = new ByteArrayOutputStream(); - for (Iterator i = extensions.iterator(); i.hasNext(); ) - ((Extension) i.next()).write(out2); - out.write(out2.size() >>> 8 & 0xFF); - out.write(out2.size() & 0xFF); - out2.writeTo(out); - } + ByteBuffer randomBuf = + ((ByteBuffer) buffer.duplicate ().position (RANDOM_OFFSET) + .limit (SESSID_OFFSET)).slice (); + return new Random (randomBuf); } - ProtocolVersion getVersion() + /** + * Returns the session ID. This method returns a new byte array with + * the session ID bytes. + * + * @return The session ID. + */ + public byte[] sessionId() { - return version; + int idlen = buffer.get (SESSID_OFFSET) & 0xFF; + byte[] sessionId = new byte[idlen]; + buffer.position (SESSID_OFFSET2); + buffer.get (sessionId); + return sessionId; } - Random getRandom() + /** + * Returns the server's chosen cipher suite. The returned cipher + * suite will be "resolved" to this structure's version. + * + * @return The server's chosen cipher suite. + */ + public CipherSuite cipherSuite() { - return random; + int offset = SESSID_OFFSET2 + (buffer.get(SESSID_OFFSET) & 0xFF); + return CipherSuite.forValue(buffer.getShort(offset)).resolve(); } - byte[] getSessionId() + /** + * Returns the server's chosen compression method. + * + * @return The chosen compression method. + */ + public CompressionMethod compressionMethod() { - return (byte[]) sessionId.clone(); + int offset = SESSID_OFFSET2 + (buffer.get(SESSID_OFFSET) & 0xFF) + 2; + return CompressionMethod.getInstance(buffer.get(offset) & 0xFF); } - CipherSuite getCipherSuite() + public int extensionsLength() { - return suite; + int offset = SESSID_OFFSET2 + (buffer.get (SESSID_OFFSET) & 0xFF) + 3; + if (offset + 1 >= buffer.limit()) + return 0; + return buffer.getShort(offset) & 0xFFFF; } - - CompressionMethod getCompressionMethod() + + public ExtensionList extensions () { - return comp; + int offset = SESSID_OFFSET2 + (buffer.get (SESSID_OFFSET) & 0xFF) + 3; + if (offset + 1 >= buffer.limit()) + return null; + int len = buffer.getShort(offset) & 0xFFFF; + if (len == 0) + len = buffer.limit() - offset - 2; + ByteBuffer ebuf = ((ByteBuffer) buffer.duplicate().position(offset) + .limit(offset + len + 2)).slice(); + return new ExtensionList(ebuf); } - List getExtensions() + public String toString() { - return extensions; + return toString(null); } - public String toString() + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); - out.println("struct {"); - out.println(" version = " + version + ";"); - BufferedReader r = new BufferedReader(new StringReader(random.toString())); - String s; - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - out.println(" sessionId = " + Util.toHexString(sessionId, ':') + ";"); - out.println(" cipherSuite = " + suite + ";"); - out.println(" compressionMethod = " + comp + ";"); - if (extensions != null) - { - out.println(" extensions = {"); - for (Iterator i = extensions.iterator(); i.hasNext(); ) - { - r = new BufferedReader(new StringReader(i.next().toString())); - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - } - out.println(" };"); - } - out.println("} ServerHello;"); + if (prefix != null) + out.print (prefix); + out.println ("struct {"); + String subprefix = " "; + if (prefix != null) + subprefix += prefix; + out.print (subprefix); + out.print ("version: "); + out.print (version ()); + out.println (";"); + out.print (subprefix); + out.println ("random:"); + out.println (random ().toString (subprefix)); + out.print (subprefix); + out.print ("sessionId: "); + out.print (Util.toHexString(sessionId (), ':')); + out.println (";"); + out.print (subprefix); + out.print ("cipherSuite: "); + out.print (cipherSuite ()); + out.println (";"); + out.print (subprefix); + out.print ("compressionMethod: "); + out.print (compressionMethod ()); + out.println (";"); + ExtensionList exts = extensions (); + out.print (subprefix); + out.println ("extensions:"); + out.println (exts != null ? exts.toString (subprefix+" ") + : subprefix + " (nil)"); + if (prefix != null) + out.print (prefix); + out.print ("} ServerHello;"); return str.toString(); } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloBuilder.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloBuilder.java new file mode 100644 index 00000000000..09ad1d9e8a9 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloBuilder.java @@ -0,0 +1,131 @@ +/* ServerHelloBuilder.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; + +/** + * @author csm + * + */ +public class ServerHelloBuilder extends ServerHello implements Builder +{ + public ServerHelloBuilder() + { + // Allocate a large enough buffer to hold a hello with the maximum + // size session ID, and no extensions. + super(ByteBuffer.allocate(SESSID_OFFSET2 + 35)); + } + + public ByteBuffer buffer() + { + return ((ByteBuffer) buffer.duplicate().position(0).limit(length())).slice(); + } + + // We don't reallocate the buffer in any of the following methods, + // because we always allocate a large enough buffer for the base + // object in the constructor. + + public void setVersion (final ProtocolVersion version) + { + buffer.putShort (0, (short) version.rawValue ()); + } + + public void setSessionId (final byte[] sessionId) + { + setSessionId (sessionId, 0, sessionId.length); + } + + public void setSessionId (final byte[] sessionId, final int offset, + final int length) + { + if (length < 0 || length > 32) + throw new IllegalArgumentException("length must be between 0 and 32"); + buffer.put(SESSID_OFFSET, (byte) length); + ((ByteBuffer) buffer.duplicate().position(SESSID_OFFSET2)) + .put(sessionId, offset, length); + } + + public void setCipherSuite (final CipherSuite suite) + { + int offset = SESSID_OFFSET + (buffer.get(SESSID_OFFSET) & 0xFF) + 1; + ((ByteBuffer) buffer.duplicate().position(offset)).put(suite.id()); + } + + public void setCompressionMethod (final CompressionMethod comp) + { + int offset = SESSID_OFFSET + (buffer.get(SESSID_OFFSET) & 0xFF) + 3; + buffer.put (offset, (byte) comp.getValue ()); + } + + // For extensions, we do reallocate the buffer. + + public void setDisableExtensions(boolean disable) + { + disableExtensions = disable; + } + + public void setExtensionsLength (final int length) + { + if (length < 0 || length > 16384) + throw new IllegalArgumentException("length must be nonnegative and not exceed 16384"); + int needed = SESSID_OFFSET2 + (buffer.get(SESSID_OFFSET) & 0xFF) + 5 + length; + if (buffer.capacity() < needed) + ensureCapacity(needed); + buffer.putShort (SESSID_OFFSET2 + (buffer.get (SESSID_OFFSET) & 0xFF) + 3, + (short) length); + } + + public void setExtensions(ByteBuffer extensions) + { + extensions = (ByteBuffer) + extensions.duplicate().limit(extensions.position() + extensionsLength()); + ((ByteBuffer) buffer.duplicate().position(SESSID_OFFSET2 + + (buffer.get(SESSID_OFFSET) & 0xFF) + )).put(extensions); + } + + public void ensureCapacity(int newCapacity) + { + ByteBuffer newBuffer = ByteBuffer.allocate(newCapacity); + newBuffer.put(buffer); + newBuffer.position(0); + buffer = newBuffer; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloDone.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloDone.java new file mode 100644 index 00000000000..e09772250a5 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerHelloDone.java @@ -0,0 +1,66 @@ +/* ServerHelloDone.java -- SSL ServerHelloDone message. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * An empty message that signals that the server is finished sending + * its handshake data. + * + *

    struct { } ServerHelloDone;
    + */ +public class ServerHelloDone implements Handshake.Body +{ + public ServerHelloDone () { } + + public int length () + { + return 0; + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + return ((prefix != null ? prefix : "") + + "struct { } ServerHelloDone;"); + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchange.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchange.java index 58304159300..1206ae6b28b 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchange.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchange.java @@ -38,249 +38,136 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; -import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.StringReader; import java.io.StringWriter; -import java.math.BigInteger; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; -import java.security.PublicKey; -import java.security.interfaces.RSAPublicKey; - -import javax.crypto.interfaces.DHPublicKey; -import javax.crypto.spec.DHParameterSpec; - -import javax.net.ssl.SSLProtocolException; - -import gnu.javax.crypto.key.dh.GnuDHPublicKey; -import gnu.javax.crypto.key.srp6.SRPPublicKey; - -class ServerKeyExchange implements Handshake.Body +/** + * The server key exchange message. + * + *
    +struct
     {
    -
    -  // Fields.
    -  // -------------------------------------------------------------------------
    -
    -  private PublicKey publicKey;
    -  private Signature signature;
    -  private byte[] srpSalt;
    -
    -  // Constructor.
    -  // -------------------------------------------------------------------------
    -
    -  ServerKeyExchange(PublicKey publicKey, Signature signature)
    -  {
    -    this(publicKey, signature, null);
    -  }
    -
    -  ServerKeyExchange(PublicKey publicKey, Signature signature, byte[] srpSalt)
    +  select (KeyExchangeAlgorithm)
       {
    -    this.publicKey = publicKey;
    -    this.signature = signature;
    -    this.srpSalt = srpSalt;
    -  }
    -
    -  // Class methods.
    -  // -------------------------------------------------------------------------
    -
    -  static ServerKeyExchange read(InputStream in, CipherSuite suite,
    -                                PublicKey serverKey)
    -    throws IOException
    -  {
    -    DataInputStream din = new DataInputStream(in);
    -    PublicKey key = null;
    -    byte[] salt = null;
    -    String kex = suite.getKeyExchange();
    -    if (kex.equals("DHE"))
    -      {
    -        BigInteger p, g, y;
    -        byte[] buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        p = new BigInteger(1, buf);
    -        buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        g = new BigInteger(1, buf);
    -        buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        y = new BigInteger(1, buf);
    -        key = new GnuDHPublicKey(null, p, g, y);
    -      }
    -    else if (kex.equals("RSA"))
    -      {
    -        BigInteger n, e;
    -        byte[] buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        n = new BigInteger(1, buf);
    -        buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        e = new BigInteger(1, buf);
    -        key = new JessieRSAPublicKey(n, e);
    -      }
    -    else if (kex.equals("SRP"))
    -      {
    -        BigInteger N, g, B;
    -        byte[] buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        N = new BigInteger(1, buf);
    -        buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        g = new BigInteger(1, buf);
    -        salt = new byte[din.readUnsignedByte()];
    -        din.readFully(salt);
    -        buf = new byte[din.readUnsignedShort()];
    -        din.readFully(buf);
    -        B = new BigInteger(1, buf);
    -        try
    -          {
    -            key = new SRPPublicKey(N, g, B);
    -          }
    -        catch (IllegalArgumentException iae)
    -          {
    -            throw new SSLProtocolException(iae.getMessage());
    -          }
    -      }
    -    else
    -      {
    -        throw new SSLProtocolException("invalid kex algorithm");
    -      }
    -
    -    Signature sig = null;
    -    if (!suite.getSignature().equals("anon"))
    -      {
    -        sig = Signature.read(in, suite, serverKey);
    -      }
    -    return new ServerKeyExchange(key, sig, salt);
    -  }
    +    case diffie_hellman:
    +      ServerDHParams params;
    +      Signature signed_params;
    +    case rsa:
    +      ServerRSAParams params;
    +      Signature signed_params;
    +    case srp:
    +      ServerSRPParams params;
    +      Signature signed_params;
    +  };
    +} ServerKeyExchange;
    +
    + */ +public class ServerKeyExchange implements Handshake.Body +{ - // Instance methods. - // ------------------------------------------------------------------------- + protected ByteBuffer buffer; + protected final CipherSuite suite; - public void write(OutputStream out) throws IOException + public ServerKeyExchange(final ByteBuffer buffer, final CipherSuite suite) { - write(out, ProtocolVersion.TLS_1); + suite.getClass(); + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + this.suite = suite; } - public void write(OutputStream out, ProtocolVersion version) - throws IOException + public int length () { - if (publicKey instanceof DHPublicKey) - { - writeBigint(out, ((DHPublicKey) publicKey).getParams().getP()); - writeBigint(out, ((DHPublicKey) publicKey).getParams().getG()); - writeBigint(out, ((DHPublicKey) publicKey).getY()); - } - else if (publicKey instanceof RSAPublicKey) - { - writeBigint(out, ((RSAPublicKey) publicKey).getModulus()); - writeBigint(out, ((RSAPublicKey) publicKey).getPublicExponent()); - } - else if (publicKey instanceof SRPPublicKey) - { - writeBigint(out, ((SRPPublicKey) publicKey).getN()); - writeBigint(out, ((SRPPublicKey) publicKey).getG()); - out.write(srpSalt.length); - out.write(srpSalt); - writeBigint(out, ((SRPPublicKey) publicKey).getY()); - } - if (signature != null) - { - signature.write(out, version); - } + if (suite.keyExchangeAlgorithm ().equals (KeyExchangeAlgorithm.NONE)) + return 0; + int len = 0; + ServerKeyExchangeParams params = params(); + Signature sig = signature(); + if (params != null) + len += params.length(); + if (sig != null) + len += sig.length(); + return len; } - PublicKey getPublicKey() + /** + * Returns the server's key exchange parameters. The value returned will + * depend on the key exchange algorithm this object was created with. + * + * @return The server's key exchange parameters. + */ + public ServerKeyExchangeParams params () { - return publicKey; + KeyExchangeAlgorithm kex = suite.keyExchangeAlgorithm (); + if (kex == KeyExchangeAlgorithm.RSA) + return new ServerRSAParams(buffer.duplicate ()); + else if (kex == KeyExchangeAlgorithm.DHE_DSS + || kex == KeyExchangeAlgorithm.DHE_RSA + || kex == KeyExchangeAlgorithm.DH_anon) + return new ServerDHParams(buffer.duplicate()); +// else if (kex.equals (KeyExchangeAlgorithm.SRP)) +// return new ServerSRPParams (buffer.duplicate ()); + else if (kex == KeyExchangeAlgorithm.NONE) + return null; + else if (kex == KeyExchangeAlgorithm.DHE_PSK) + return new ServerDHE_PSKParameters(buffer.duplicate()); + else if (kex == KeyExchangeAlgorithm.PSK) + return new ServerPSKParameters(buffer.duplicate()); + else if (kex == KeyExchangeAlgorithm.RSA_PSK) + return new ServerPSKParameters(buffer.duplicate()); + throw new IllegalArgumentException ("unsupported key exchange: " + kex); } - Signature getSignature() + /** + * Returns the digital signature made over the key exchange parameters. + * + * @return The signature. + */ + public Signature signature () { - return signature; + KeyExchangeAlgorithm kex = suite.keyExchangeAlgorithm(); + if (kex == KeyExchangeAlgorithm.NONE + || kex == KeyExchangeAlgorithm.DH_anon + || kex == KeyExchangeAlgorithm.DHE_PSK + || kex == KeyExchangeAlgorithm.PSK + || kex == KeyExchangeAlgorithm.RSA_PSK) + return null; + ServerKeyExchangeParams params = params(); + ByteBuffer sigbuf = ((ByteBuffer) buffer.position(params.length ())).slice (); + return new Signature (sigbuf, suite.signatureAlgorithm ()); } - byte[] getSRPSalt() + public String toString() { - return srpSalt; + return toString (null); } - public String toString() + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print (prefix); out.println("struct {"); - out.println(" publicKey = struct {"); - if (publicKey instanceof DHPublicKey) - { - out.println(" p = " + - ((DHPublicKey) publicKey).getParams().getP().toString(16) + - ";"); - out.println(" g = " + - ((DHPublicKey) publicKey).getParams().getG().toString(16) + - ";"); - out.println(" y = " + ((DHPublicKey) publicKey).getY().toString(16) + - ";"); - out.println(" } DHPublicKey;"); - } - else if (publicKey instanceof RSAPublicKey) + if (prefix != null) out.print (prefix); + out.print (" algorithm: "); + out.print (suite.keyExchangeAlgorithm ()); + out.println (";"); + if (!suite.keyExchangeAlgorithm ().equals (KeyExchangeAlgorithm.NONE)) { - out.println(" modulus = " + - ((RSAPublicKey) publicKey).getModulus().toString(16) + - ";"); - out.println(" exponent = " + - ((RSAPublicKey) publicKey).getPublicExponent().toString(16) + - ";"); - out.println(" } RSAPublicKey;"); + if (prefix != null) out.print (prefix); + out.println (" parameters:"); + out.println (params ().toString (prefix != null ? prefix+" " : " ")); } - else if (publicKey instanceof SRPPublicKey) + if (!suite.signatureAlgorithm ().equals (SignatureAlgorithm.ANONYMOUS)) { - out.println(" N = "+((SRPPublicKey) publicKey).getN().toString(16)+";"); - out.println(" g = "+((SRPPublicKey) publicKey).getG().toString(16)+";"); - out.println(" salt = " + Util.toHexString(srpSalt, ':') + ";"); - out.println(" B = "+((SRPPublicKey) publicKey).getY().toString(16)+";"); - out.println(" } SRPPublicKey;"); + if (prefix != null) out.print (prefix); + out.println (" signature:"); + out.println (signature ().toString (prefix != null ? prefix+" " : " ")); } - if (signature != null) - { - out.println(" signature ="); - BufferedReader r = new BufferedReader(new StringReader(signature.toString())); - String s; - try - { - while ((s = r.readLine()) != null) - { - out.print(" "); - out.println(s); - } - } - catch (IOException ignored) - { - } - } - out.println("} ServerKeyExchange;"); + if (prefix != null) out.print (prefix); + out.print ("} ServerKeyExchange;"); return str.toString(); } - - private void writeBigint(OutputStream out, BigInteger bigint) - throws IOException - { - byte[] b = bigint.toByteArray(); - if (b[0] == 0x00) - { - out.write((b.length - 1) >>> 8 & 0xFF); - out.write((b.length - 1) & 0xFF); - out.write(b, 1, b.length - 1); - } - else - { - out.write(b.length >>> 8 & 0xFF); - out.write(b.length & 0xFF); - out.write(b); - } - } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java new file mode 100644 index 00000000000..d4b6fa39736 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java @@ -0,0 +1,89 @@ +/* ServerKeyExchangeBuilder.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; + +/** + * Builder for {@link ServerKeyExchange} objects. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ServerKeyExchangeBuilder extends ServerKeyExchange + implements Builder +{ + public ServerKeyExchangeBuilder(final CipherSuite suite) + { + super(ByteBuffer.allocate(1024), suite); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return ((ByteBuffer) buffer.duplicate().position(0).limit(length())).slice(); + } + + public void setParams(ByteBuffer params) + { + if (suite.keyExchangeAlgorithm() == KeyExchangeAlgorithm.NONE) + throw new IllegalArgumentException("key exchange algorithm is none"); + ensureCapacity(params.remaining()); + buffer.duplicate().put(params); + } + + public void setSignature(ByteBuffer signature) + { + if (suite.keyExchangeAlgorithm() == KeyExchangeAlgorithm.NONE) + throw new IllegalArgumentException("key exchange algorithm is none"); + int paramsLen = params().length(); + ensureCapacity(paramsLen + signature.remaining()); + ((ByteBuffer) buffer.duplicate().position(paramsLen)).put(signature); + } + + public void ensureCapacity(int capacity) + { + if (buffer.capacity() >= capacity) + return; + ByteBuffer newBuffer = ByteBuffer.allocate(capacity); + newBuffer.duplicate().put(buffer); + buffer = newBuffer; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java new file mode 100644 index 00000000000..cb523650f25 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java @@ -0,0 +1,50 @@ +/* ServerKeyExchangeParams.java -- Server key exchange parameters interface. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +/** + * A parameter structure sent by the server in an SSL key exchange. + * + * @see ServerRSAParams + * @see ServerDHParams + */ +interface ServerKeyExchangeParams extends Constructed +{ + KeyExchangeAlgorithm algorithm (); +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerNameList.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerNameList.java new file mode 100644 index 00000000000..5a268f542ab --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerNameList.java @@ -0,0 +1,311 @@ +/* ServerNameList.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.CharBuffer; +import java.nio.charset.CharacterCodingException; +import java.nio.charset.Charset; +import java.nio.charset.CharsetEncoder; +import java.util.List; +import java.util.NoSuchElementException; + +/** + * The ServerName extension. + * + *
    + struct {
    +   NameType name_type;
    +   select (name_type) {
    +     case host_name: HostName;
    +   } name;
    +} ServerName;
    +
    +enum {
    +  host_name(0), (255)
    +} NameType;
    +
    +opaque HostName<1..2^16-1>;
    +
    +struct {
    +  ServerName server_name_list<1..2^16-1>
    +} ServerNameList;
    + * + *

    Implementation note: this class does not currently contain a + * set method. If you are modifying this list, then use the + * {@link #get(int)} method, and modify the returned {@link ServerName}. + * + * @author csm + */ +public class ServerNameList extends Value implements Iterable +{ + private ByteBuffer buffer; + + public ServerNameList (final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public ServerNameList(List names) + { + int length = 2; + for (ServerName name : names) + length += name.length(); + buffer = ByteBuffer.allocate(length); + buffer.putShort((short) (length - 2)); + for (ServerName name : names) + buffer.put(name.buffer()); + buffer.rewind(); + } + + public int length() + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public int size() + { + int n = 0; + final int len = length(); + for (int i = 2; i < len; ) + { + int l = buffer.getShort(i+1); + i += l + 3; + n++; + } + return n; + } + + public ServerName get (int index) + { + final int len = length(); + if (len == 0) + throw new IndexOutOfBoundsException("0; " + index); + int n = 0; + int i; + int l = buffer.getShort(3); + for (i = 2; i < len && n < index; ) + { + l = buffer.getShort(i+1); + i += l + 3; + n++; + } + if (n < index) + throw new IndexOutOfBoundsException(n + "; " + index); + ByteBuffer buf = ((ByteBuffer) buffer.duplicate().position(i).limit(i+l+3)).slice(); + return new ServerName (buf); + } + + public void setLength(final int newLength) + { + if (newLength < 0 || newLength > 65535) + throw new IllegalArgumentException("length must be between 0 and 65535"); + buffer.putShort(0, (short) newLength); + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println ("ServerNameList {"); + String subprefix = " "; + if (prefix != null) + subprefix = prefix + subprefix; + for (ServerName name : this) + { + out.println (name.toString(subprefix)); + } + if (prefix != null) out.print(prefix); + out.print ("};"); + return str.toString(); + } + + public java.util.Iterator iterator() + { + return new Iterator(); + } + + public class Iterator implements java.util.Iterator + { + private int index; + + public Iterator() + { + index = 0; + } + + public boolean hasNext() + { + return index < size(); + } + + public ServerName next() throws NoSuchElementException + { + try + { + return get (index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException(); + } + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + } + + public static class ServerName implements Constructed + { + private ByteBuffer buffer; + + public ServerName(final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public ServerName(NameType type, String name) + { + CharsetEncoder utf8 = Charset.forName("UTF-8").newEncoder(); + ByteBuffer nameBuf = null; + try + { + nameBuf = utf8.encode(CharBuffer.wrap(name)); + } + catch (CharacterCodingException cce) + { + // We don't expect this to happen; it's UTF-8. + throw new IllegalArgumentException(cce); + } + int length = 3 + nameBuf.remaining(); + buffer = ByteBuffer.allocate(length); + buffer.put((byte) type.getValue()); + buffer.putShort((short) (length - 3)); + buffer.put(nameBuf); + buffer.rewind(); + } + + public int length() + { + return (buffer.getShort(1) & 0xFFFF) + 3; + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public NameType type() + { + int v = (buffer.get(0) & 0xFF); + if (v == 0) + { + return NameType.HOST_NAME; + } + throw new IllegalArgumentException ("illegal name type: " + v); + } + + public String name() + { + int len = length(); + Charset cs = Charset.forName ("UTF-8"); + return cs.decode(((ByteBuffer) buffer.duplicate().position(3).limit(len))).toString(); + } + + public String toString() + { + return toString (null); + } + + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print (prefix); + out.println ("struct {"); + if (prefix != null) out.print (prefix); + out.print (" name_type = "); + out.print (type()); + out.println (";"); + if (prefix != null) out.print (prefix); + out.print (" server_name = "); + out.print (name()); + out.println (";"); + if (prefix != null) out.print (prefix); + out.print ("} ServerName;"); + return str.toString(); + } + } + + public static enum NameType + { + HOST_NAME (0); + + private final int value; + + private NameType (int value) + { + this.value = value; + } + + public int getValue() + { + return value; + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerPSKParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerPSKParameters.java new file mode 100644 index 00000000000..8acce6dde51 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerPSKParameters.java @@ -0,0 +1,127 @@ +/* ServerPSKParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.charset.Charset; + +/** + *

    +      struct {
    +          select (KeyExchangeAlgorithm) {
    +              /* other cases for rsa, diffie_hellman, etc. */
    +              case psk:  /* NEW */
    +                  opaque psk_identity_hint<0..2^16-1>;
    +          };
    +      } ServerKeyExchange;
    + * + * @author Casey Marshall (csm@gnu.org) + */ +public class ServerPSKParameters implements Builder, Constructed, ServerKeyExchangeParams +{ + private ByteBuffer buffer; + + public ServerPSKParameters(ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + public ServerPSKParameters(String identityHint) + { + Charset utf8 = Charset.forName("UTF-8"); + ByteBuffer identityHintBuffer = utf8.encode(identityHint); + buffer = ByteBuffer.allocate(2 + identityHintBuffer.remaining()); + buffer.putShort((short) identityHintBuffer.remaining()); + buffer.put(identityHintBuffer); + buffer.rewind(); + } + + public KeyExchangeAlgorithm algorithm() + { + return KeyExchangeAlgorithm.PSK; + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Builder#buffer() + */ + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().rewind().limit(length()); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#length() + */ + public int length() + { + return (buffer.getShort(0) & 0xFFFF) + 2; + } + + public String identityHint() + { + Charset utf8 = Charset.forName("UTF-8"); + return utf8.decode((ByteBuffer) buffer.duplicate().position(2).limit(length())).toString(); + } + + public @Override String toString() + { + return toString(null); + } + + /* (non-Javadoc) + * @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String) + */ + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" identity_hint = "); + out.print(identityHint()); + out.println(";"); + if (prefix != null) out.print(prefix); + out.print("} ServerPSKParamaters;"); + return str.toString(); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerRSAParams.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerRSAParams.java new file mode 100644 index 00000000000..ff265ce8aaa --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerRSAParams.java @@ -0,0 +1,163 @@ +/* ServerRSAParams.java -- The server's RSA parameters. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.math.BigInteger; +import java.nio.ByteBuffer; + +/** + * The ServerRSAParams structure. + * + *
    +struct
    +{
    +  opaque rsa_modulus<1..2^16-1>;
    +  opaque rsa_exponent<1..2^16-1>;
    +} ServerRSAParams;
    +
    + */ +public class ServerRSAParams implements ServerKeyExchangeParams +{ + + private final ByteBuffer buffer; + + public ServerRSAParams (final ByteBuffer buffer) + { + this.buffer = buffer; + } + + public KeyExchangeAlgorithm algorithm () + { + return KeyExchangeAlgorithm.RSA; + } + + public int length () + { + int offset = buffer.getShort (0) & 0xFFFF; + return (buffer.getShort (offset + 2) & 0xFFFF) + offset + 4; + } + + /** + * Gets the modulus field. + * + * @return The modulus. + */ + public BigInteger modulus () + { + int len = buffer.getShort (0) & 0xFFFF; + byte[] buf = new byte[len]; + buffer.position (2); + buffer.get (buf); + return new BigInteger (1, buf); + } + + /** + * Returns the exponent field. + * + * @return The exponent. + */ + public BigInteger exponent () + { + int off = (buffer.getShort (0) & 0xFFFF) + 2; + int len = buffer.getShort (off) & 0xFFFF; + byte[] buf = new byte[len]; + buffer.position (off + 2); + buffer.get (buf); + return new BigInteger (1, buf); + } + + /** + * Sets the modulus. + * + * @param modulus The modulus. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writable. + */ + public void setModulus (final BigInteger modulus) + { + byte[] buf = modulus.toByteArray (); + int length = (buf[0] == 0x00 ? buf.length - 1 : buf.length); + int offset = (buf[0] == 0x00 ? 1 : 0); + buffer.putShort (0, (short) length); + buffer.position (2); + buffer.put (buf, offset, length); + } + + /** + * Sets the exponent. + * + * @param exponent The exponent. + * @throws java.nio.ReadOnlyBufferException If the underlying buffer + * is not writeable. + */ + public void setExponent (final BigInteger exponent) + { + byte[] buf = exponent.toByteArray (); + int length = (buf[0] == 0x00 ? buf.length -1 : buf.length); + int offset = (buf[0] == 0x00 ? 1 : 0); + int where = (buffer.getShort (0) & 0xFFFF) + 2; + buffer.putShort (where, (short) length); + buffer.position (where + 2); + buffer.put (buf, offset, length); + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); + out.println ("struct {"); + if (prefix != null) out.print (prefix); + out.print (" rsa_modulus: "); + out.println (modulus ().toString (16)); + if (prefix != null) out.print (prefix); + out.print (" rsa_exponent: "); + out.println (exponent ()); + if (prefix != null) out.print (prefix); + out.print ("} ServerRSAParams;"); + return str.toString (); + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java b/libjava/classpath/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java new file mode 100644 index 00000000000..0d7b590d27f --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java @@ -0,0 +1,62 @@ +/* ServerRSA_PSKParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.nio.ByteBuffer; + +/** + * @author Casey Marshall (csm@gnu.org) + */ +public class ServerRSA_PSKParameters extends ServerPSKParameters +{ + public ServerRSA_PSKParameters(ByteBuffer buffer) + { + super(buffer); + } + + public ServerRSA_PSKParameters(String identityHint) + { + super(identityHint); + } + + public @Override KeyExchangeAlgorithm algorithm() + { + return KeyExchangeAlgorithm.RSA_PSK; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Session.java b/libjava/classpath/gnu/javax/net/ssl/provider/Session.java deleted file mode 100644 index e13758b0330..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Session.java +++ /dev/null @@ -1,381 +0,0 @@ -/* Session.java -- SSL and TLS session data. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.security.SecureRandom; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; - -import java.util.Arrays; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import javax.net.ssl.SSLPeerUnverifiedException; -import javax.net.ssl.SSLPermission; -import javax.net.ssl.SSLSession; -import javax.net.ssl.SSLSessionBindingEvent; -import javax.net.ssl.SSLSessionBindingListener; -import javax.net.ssl.SSLSessionContext; -import javax.net.ssl.X509KeyManager; -import javax.net.ssl.X509TrustManager; -import javax.security.cert.X509Certificate; - -import gnu.javax.net.ssl.SRPTrustManager; - -/** - * A generic SSL session implementation for SSL and TLS. - */ -final class Session implements SSLSession -{ - - // Constants and fields. - // ------------------------------------------------------------------------- - - private static final SSLPermission GET_SESSION_CONTEXT_PERMISSION = - new SSLPermission("getSSLSessionContext"); - - private final long creationTime; - private Date lastAccessedTime; - ID sessionId; - Certificate[] localCerts; - Certificate[] peerCerts; - X509Certificate[] peerCertChain; - String peerHost; - boolean peerVerified; - SessionContext context; - HashMap values; - boolean valid; - List enabledSuites; - CipherSuite cipherSuite; - SortedSet enabledProtocols; - ProtocolVersion protocol; - byte[] masterSecret; - SRPTrustManager srpTrustManager; - X509TrustManager trustManager; - X509KeyManager keyManager; - SecureRandom random; - SecurityParameters params; - Alert currentAlert; - - // Constructor. - // ------------------------------------------------------------------------- - - Session() - { - this(System.currentTimeMillis()); - } - - Session(long creationTime) - { - peerVerified = false; - valid = true; - this.creationTime = creationTime; - lastAccessedTime = new Date(0L); - values = new HashMap(); - if (("true").equalsIgnoreCase (Util.getSecurityProperty ("jessie.with.jce"))) - params = new JCESecurityParameters(); - else - params = new GNUSecurityParameters (this); - } - - // Public instance methods. - // ------------------------------------------------------------------------- - - protected Object clone() - { - Session result = new Session(creationTime); - result.lastAccessedTime = lastAccessedTime; - result.sessionId = sessionId; - result.localCerts = (localCerts != null ? (Certificate[]) localCerts.clone() : null); - result.peerCerts = (peerCerts != null ? (Certificate[]) peerCerts.clone() : null); - result.peerHost = peerHost; - result.peerVerified = peerVerified; - result.context = context; - result.values = values; - result.enabledSuites = new ArrayList(enabledSuites); - result.cipherSuite = cipherSuite; - result.enabledProtocols = new TreeSet(enabledProtocols); - result.protocol = protocol; - result.masterSecret = masterSecret; - result.keyManager = keyManager; - result.srpTrustManager = srpTrustManager; - result.trustManager = trustManager; - result.random = random; - return result; - } - - public String getCipherSuite() - { - return cipherSuite.toString(); - } - - public long getCreationTime() - { - return creationTime; - } - - public byte[] getId() - { - return (sessionId != null ? sessionId.getId() : null); - } - - public long getLastAccessedTime() - { - return lastAccessedTime.getTime(); - } - - public Certificate[] getLocalCertificates() - { - return (Certificate[]) (localCerts != null ? localCerts.clone() : null); - } - - public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException - { - if (!peerVerified) - { - throw new SSLPeerUnverifiedException("peer not verified"); - } - return (Certificate[]) (peerCerts != null ? peerCerts.clone() : null); - } - - public X509Certificate[] getPeerCertificateChain() - throws SSLPeerUnverifiedException - { - if (!peerVerified) - { - throw new SSLPeerUnverifiedException("peer not verified"); - } - if (peerCerts == null) - { - return null; - } - if (peerCertChain != null) - { - return (X509Certificate[]) peerCertChain.clone(); - } - try - { - peerCertChain = new X509Certificate[peerCerts.length]; - for (int i = 0; i < peerCerts.length; i++) - { - peerCertChain[i] = X509Certificate.getInstance(peerCerts[i].getEncoded()); - } - return (X509Certificate[]) peerCertChain.clone(); - } - catch (javax.security.cert.CertificateException ce) - { - return null; - } - catch (CertificateException ce2) - { - return null; - } - } - - public String getPeerHost() - { - return peerHost; - } - - public String getProtocol() - { - return protocol.toString(); - } - - public SSLSessionContext getSessionContext() - { - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - { - sm.checkPermission(GET_SESSION_CONTEXT_PERMISSION); - } - return context; - } - - public String[] getValueNames() - { - Set names = values.keySet(); - return (String[]) names.toArray(new String[names.size()]); - } - - public Object getValue(String name) - { - return values.get(name); - } - - public void putValue(String name, Object value) - { - values.put(name, value); - if (value instanceof SSLSessionBindingListener) - { - ((SSLSessionBindingListener) value).valueBound( - new SSLSessionBindingEvent(this, name)); - } - } - - public void removeValue(String name) - { - Object value = values.remove(name); - if (value != null && (value instanceof SSLSessionBindingListener)) - { - ((SSLSessionBindingListener) value).valueUnbound( - new SSLSessionBindingEvent(this, name)); - } - } - - public void invalidate() - { - if (masterSecret != null) - { - for (int i = 0; i < masterSecret.length; i++) - { - masterSecret[i] = 0; - } - masterSecret = null; - } - valid = false; - } - - synchronized void access() - { - lastAccessedTime.setTime(System.currentTimeMillis()); - context.notifyAccess(this); - } - - void setLastAccessedTime(long lastAccessedTime) - { - this.lastAccessedTime.setTime(lastAccessedTime); - } - - // Inner classes. - // ------------------------------------------------------------------------- - - /** - * A byte array with appropriate equals(), - * hashCode(), and compareTo() semantics. - */ - static final class ID implements Comparable - { - - // Fields. - // ----------------------------------------------------------------------- - - /** The ID itself. */ - private final byte[] id; - - // Constructor. - // ----------------------------------------------------------------------- - - /** - * Creates a new ID. - * - * @param id The ID. The array is not cloned. - */ - ID(byte[] id) - { - if (id == null) - { - throw new IllegalArgumentException(); - } - this.id = id; - } - - // Instance methods. - // ----------------------------------------------------------------------- - - public byte[] getId() - { - return (byte[]) id.clone(); - } - - public boolean equals(Object other) - { - if (other == null || !(other instanceof ID)) - { - return false; - } - return Arrays.equals(id, ((ID) other).id); - } - - public int hashCode() - { - int code = 0; - for (int i = 0; i < id.length; i++) - { - code |= (id[i] & 0xFF) << ((i & 3) << 3); - } - return code; - } - - public int compareTo(Object other) - { - if (other == null || !(other instanceof ID)) - { - return 1; - } - byte[] id2 = ((ID) other).id; - if (id.length != id2.length) - { - return (id.length < id2.length) ? -1 : 1; - } - for (int i = 0; i < id.length; i++) - { - if (id[i] < id2[i]) - { - return -1; - } - else if (id[i] > id2[i]) - { - return 1; - } - } - return 0; - } - - public String toString() - { - return Util.toHexString(id, ':'); - } - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SessionContext.java b/libjava/classpath/gnu/javax/net/ssl/provider/SessionContext.java deleted file mode 100644 index 9e265429aab..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SessionContext.java +++ /dev/null @@ -1,250 +0,0 @@ -/* SessionContext.java -- Implementation of a session context. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.security.Security; - -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Vector; - -import javax.net.ssl.SSLSession; -import javax.net.ssl.SSLSessionContext; - -/** - * A collection of SSL sessions. This implementation is a memory-only - * store; subclasses may implement persistent storage. - */ -class SessionContext implements SSLSessionContext -{ - - // Fields. - // ------------------------------------------------------------------------- - - /** The map of Session.ID objects to Sessions. */ - protected final HashMap sessions; - - /** The number of sessions to cache. */ - protected int cacheSize; - - /** The session timeout, in seconds. */ - protected int timeout; - - // Constructor. - // ------------------------------------------------------------------------- - - SessionContext() - { - sessions = new HashMap(); - cacheSize = 0; - try - { - timeout = Integer.parseInt(Util.getSecurityProperty("jessie.session.timeout")); - } - catch (Exception x) - { - // Default 24-hour timeout. - timeout = 86400; - } - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public synchronized Enumeration getIds() - { - Vector ids = new Vector(); - for(Iterator i = sessions.keySet().iterator(); i.hasNext(); ) - { - Session.ID id = (Session.ID) i.next(); - ids.add(id.getId()); - } - return ids.elements(); - } - - public synchronized SSLSession getSession(byte[] sessionId) - { - Session session = (Session) sessions.get(new Session.ID(sessionId)); - if (session == null) - return null; - long elapsed = System.currentTimeMillis() - session.getLastAccessedTime(); - if ((int) (elapsed / 1000) > timeout) - { - removeSession(session.sessionId); - session.invalidate(); - return null; - } - if (!session.valid) - { - removeSession(session.sessionId); - session.invalidate(); - return null; - } - return session; - } - - public int getSessionCacheSize() - { - return cacheSize; - } - - public void setSessionCacheSize(int cacheSize) - { - if (cacheSize < 0) - throw new IllegalArgumentException(); - this.cacheSize = cacheSize; - } - - public int getSessionTimeout() - { - return timeout; - } - - public void setSessionTimeout(int timeout) - { - if (timeout <= 0) - throw new IllegalArgumentException(); - this.timeout = timeout; - } - - public String toString() - { - return sessions.keySet().toString(); - } - - // Package methods. - // ------------------------------------------------------------------------- - - /** - * Adds a session to this context. This method: - * - *
      - *
    1. Will do nothing if the cache already contains the given ID.
    2. - *
    3. Will do nothing if the cache limit has been reached (and is - * not zero).
    4. - *
    5. Will remove any invalid sessions in the cache before trying to insert - * the new one.
    6. - *
    7. Will remove any expired sessions before trying to insert the new - * one.
    8. - *
    - * - * @param sessionId This session's ID. - * @param session The session to add. - * @return True if the session was added, false otherwise. - */ - synchronized boolean addSession(Session.ID sessionId, Session session) - { - if (sessions.containsKey(sessionId)) - return false; - if (cacheSize > 0 && sessions.size() > cacheSize) - { - boolean removed = false; - for (Iterator i = sessions.values().iterator(); i.hasNext(); ) - { - Session s = (Session) i.next(); - long elapsed = System.currentTimeMillis() - s.getCreationTime(); - if (!s.valid) - { - removeSession(session.sessionId); - removed = true; - } - else if ((int) (elapsed / 1000) > timeout) - { - removeSession(session.sessionId); - removed = true; - } - } - if (removed) - { - sessions.put(sessionId, session); - session.context = this; - session.sessionId = sessionId; - return true; - } - return false; - } - else - { - sessions.put(sessionId, session); - session.context = this; - session.sessionId = sessionId; - return true; - } - } - - /** - * Returns whether or not a session with the given ID is cached by this - * context. - */ - synchronized boolean containsSessionID(Session.ID sessionId) - { - Session s = (Session) sessions.get(sessionId); - if (s == null) - { - return false; - } - long elapsed = System.currentTimeMillis() - s.getCreationTime(); - if (!s.valid || (int) (elapsed / 1000) > timeout) - { - removeSession(sessionId); - return false; - } - return true; - } - - /** - * Removes a session from this context. - * - * @param sessionId The ID of the session to remove. - */ - synchronized boolean removeSession(Session.ID sessionId) - { - return sessions.remove(sessionId) != null; - } - - /** - * Notifies this context of an access event on a session. - * - * @param session The session that was accessed. - */ - void notifyAccess(Session session) - { - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SessionImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SessionImpl.java new file mode 100644 index 00000000000..86dcb4915cd --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SessionImpl.java @@ -0,0 +1,198 @@ +/* SessionImpl.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.crypto.key.GnuPBEKey; +import gnu.javax.net.ssl.Session; +import gnu.javax.net.ssl.Session.ID; + +import java.io.IOException; +import java.io.Serializable; + +import java.security.Certificate; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; + +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SealedObject; +import javax.crypto.spec.PBEKeySpec; +import javax.net.ssl.SSLException; + +public class SessionImpl extends Session +{ + static final long serialVersionUID = 8932976607588442485L; + CipherSuite suite; + ProtocolVersion version; + byte[] privateDataSalt; + SealedObject sealedPrivateData; + MaxFragmentLength maxLength; + + transient PrivateData privateData; + + public SessionImpl() + { + super(); + privateData = new PrivateData(); + } + + SecureRandom random () + { + return random; + } + + public String getProtocol() + { + return version.toString(); + } + + public void prepare(char[] passwd) throws SSLException + { + try + { + privateDataSalt = new byte[32]; + random.nextBytes(privateDataSalt); + GnuPBEKey key = new GnuPBEKey(passwd, privateDataSalt, 1000); + Cipher cipher = Cipher.getInstance("PBEWithHMacSHA256AndAES/OFB/PKCS7Padding"); + cipher.init(Cipher.ENCRYPT_MODE, key); + sealedPrivateData = new SealedObject(privateData, cipher); + } + catch (IllegalBlockSizeException ibse) + { + throw new SSLException(ibse); + } + catch (InvalidKeyException ike) + { + throw new SSLException(ike); + } + catch (IOException ioe) + { + throw new SSLException(ioe); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + catch (NoSuchPaddingException nspe) + { + throw new SSLException(nspe); + } + } + + public void repair(char[] passwd) throws SSLException + { + try + { + GnuPBEKey key = new GnuPBEKey(passwd, privateDataSalt, 1000); + privateData = (PrivateData) sealedPrivateData.getObject(key); + } + catch (ClassNotFoundException cnfe) + { + throw new SSLException(cnfe); + } + catch (InvalidKeyException ike) + { + throw new SSLException(ike); + } + catch (IOException ioe) + { + throw new SSLException(ioe); + } + catch (NoSuchAlgorithmException nsae) + { + throw new SSLException(nsae); + } + } + + public SealedObject privateData() throws SSLException + { + if (privateData == null) + throw new SSLException("this session has not been prepared"); + return sealedPrivateData; + } + + public void setPrivateData(SealedObject so) throws SSLException + { + this.sealedPrivateData = so; + } + + void setApplicationBufferSize(int size) + { + applicationBufferSize = size; + } + + void setRandom(SecureRandom random) + { + this.random = random; + } + + void setTruncatedMac(boolean truncatedMac) + { + this.truncatedMac = truncatedMac; + } + + void setId(Session.ID id) + { + this.sessionId = id; + } + + void setLocalCertificates(java.security.cert.Certificate[] chain) + { + this.localCerts = chain; + } + + void setPeerCertificates(java.security.cert.Certificate[] chain) + { + this.peerCerts = chain; + } + + void setPeerVerified(boolean peerVerified) + { + this.peerVerified = peerVerified; + } + + static class PrivateData implements Serializable + { + static final long serialVersionUID = -8040597659545984581L; + byte[] masterSecret; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Signature.java b/libjava/classpath/gnu/javax/net/ssl/provider/Signature.java index c9be641431f..8c6cfadc734 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Signature.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Signature.java @@ -1,4 +1,4 @@ -/* Signature.java -- SSL signature message. +/* Signature.java -- SSL Signature structure. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -49,6 +49,8 @@ import java.io.StringWriter; import java.math.BigInteger; +import java.nio.ByteBuffer; + import java.security.PublicKey; import java.security.interfaces.RSAKey; @@ -56,103 +58,115 @@ import java.util.Arrays; import gnu.java.security.der.*; -class Signature implements Constructed +/** + * The signature structure. + * + *
    +select (SignatureAlgorithm)
    +{
    +case anonymous:
    +  struct { };
    +case rsa:
    +  digitally-signed struct
    +  {
    +    opaque md5_hash[16];
    +    opaque sha_hash[20];
    +  };
    +case dsa:
    +  digitally-signed struct
    +  {
    +    opaque sha_hash[20];
    +  };
    +} Signature;
    + */ +public class Signature implements Builder, Constructed { // Fields. // ------------------------------------------------------------------------- - private final Object sigValue; - private final String sigAlg; + private final ByteBuffer buffer; + private final SignatureAlgorithm alg; // Constructor. // ------------------------------------------------------------------------- - Signature(Object sigValue, String sigAlg) + public Signature (final ByteBuffer buffer, final SignatureAlgorithm alg) { - this.sigValue = sigValue; - this.sigAlg = sigAlg; + this.buffer = buffer; + this.alg = alg; } - - // Class method. - // ------------------------------------------------------------------------- - - static Signature read(InputStream in, CipherSuite suite, PublicKey key) - throws IOException + + public Signature (final byte[] sigValue, final SignatureAlgorithm alg) { - Object sigValue = null; - DataInputStream din = new DataInputStream(in); - int len = din.readUnsignedShort(); - sigValue = new byte[len]; - din.readFully((byte[]) sigValue); - if (suite.getSignature() == "DSS") - { - DERReader der = new DERReader(new ByteArrayInputStream((byte[]) sigValue)); - if (der.read().getTag() != DER.SEQUENCE) - { - throw new IOException("expecting DER SEQUENCE"); - } - BigInteger r = (BigInteger) der.read().getValue(); - BigInteger s = (BigInteger) der.read().getValue(); - sigValue = new BigInteger[] { r, s }; - } - return new Signature(sigValue, suite.getSignature()); + buffer = ByteBuffer.allocate(sigValue.length + 2); + buffer.putShort((short) sigValue.length); + buffer.put(sigValue); + buffer.position(0); + this.alg = alg; } // Instance methods. // ------------------------------------------------------------------------- - public void write(OutputStream out) throws IOException + public int length () + { + if (alg.equals (SignatureAlgorithm.ANONYMOUS)) + return 0; + return (buffer.getShort (0) & 0xFFFF) + 2; + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public byte[] signature () { - write(out, ProtocolVersion.TLS_1); + if (alg.equals (SignatureAlgorithm.ANONYMOUS)) + return new byte[0]; + int length = buffer.getShort (0) & 0xFFFF; + byte[] buf = new byte[length]; + ((ByteBuffer) buffer.duplicate().position(2)).get(buf); + return buf; } - public void write(OutputStream out, ProtocolVersion version) - throws IOException + public void setSignature (final byte[] signature) { - byte[] result = null; - if (sigValue instanceof byte[]) - { - result = (byte[]) sigValue; - } - else - { - DERValue r = new DERValue(DER.INTEGER, ((BigInteger[]) sigValue)[0]); - DERValue s = new DERValue(DER.INTEGER, ((BigInteger[]) sigValue)[1]); - DERValue sig = new DERValue(DER.SEQUENCE|DER.CONSTRUCTED, - Arrays.asList(new Object[] { r, s })); - result = sig.getEncoded(); - } - out.write(result.length >>> 8 & 0xFF); - out.write(result.length & 0xFF); - out.write(result); + setSignature (signature, 0, signature.length); } - Object getSigValue() + public void setSignature (final byte[] signature, final int offset, final int length) { - return sigValue; + if (alg.equals (SignatureAlgorithm.ANONYMOUS)) + return; + buffer.putShort (0, (short) length); + buffer.position (2); + buffer.put (signature, offset, length); } - String getSigAlg() + public String toString () { - return sigAlg; + return toString (null); } - public String toString() + public String toString (final String prefix) { StringWriter str = new StringWriter(); PrintWriter out = new PrintWriter(str); + if (prefix != null) + out.print (prefix); out.println("struct {"); - if (sigAlg.equals("RSA")) - { - out.print(Util.hexDump((byte[]) sigValue, " ")); - } - else + if (!alg.equals (SignatureAlgorithm.ANONYMOUS)) { - out.println(" r = " + ((BigInteger[]) sigValue)[0].toString(16) + ";"); - out.println(" s = " + ((BigInteger[]) sigValue)[1].toString(16) + ";"); + String subprefix = " "; + if (prefix != null) + subprefix = prefix + subprefix; + out.print (Util.hexDump (signature (), subprefix)); } - out.println("} Signature;"); + if (prefix != null) + out.print (prefix); + out.print ("} Signature;"); return str.toString(); } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SignatureAlgorithm.java b/libjava/classpath/gnu/javax/net/ssl/provider/SignatureAlgorithm.java new file mode 100644 index 00000000000..a789576db90 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SignatureAlgorithm.java @@ -0,0 +1,62 @@ +/* SignatureAlgorithm.java -- Signature algorithm enumeration. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +public enum SignatureAlgorithm +{ + ANONYMOUS, RSA, DSA; + + /** + * Returns the algorithm name for this signature algorithm, which can + * be used with the JCA API to get a {@link java.security.Signature} for + * that algorithm. + * + * @return The algorithm name. + */ + public String algorithm() + { + switch (this) + { + case ANONYMOUS: return null; + case RSA: return "TLSv1.1-RSA"; + case DSA: return "DSS"; + } + return null; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SimpleSessionContext.java b/libjava/classpath/gnu/javax/net/ssl/provider/SimpleSessionContext.java new file mode 100644 index 00000000000..b9d0f95519d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SimpleSessionContext.java @@ -0,0 +1,146 @@ +/* SimpleSessionContext.java -- memory-only session store. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.AbstractSessionContext; +import gnu.javax.net.ssl.Session; +import gnu.javax.net.ssl.SessionStoreException; +import gnu.javax.net.ssl.Session.ID; + +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +/** + * A simple, non-persistent SessionContext. + * + * @author csm + */ +public final class SimpleSessionContext + extends AbstractSessionContext +{ + /** + * By default, sessions last for 5 minutes. + */ + public static final int DEFAULT_TIMEOUT = 300; + + private final HashMap store; + private int storeLimit; + + public SimpleSessionContext() + { + super(DEFAULT_TIMEOUT); + storeLimit = 0; + store = new HashMap(); + } + + @Override + protected Session implGet(byte[] sessionId) + { + return store.get(new Session.ID(sessionId)); + } + + @Override + public void load(char[] password) throws SessionStoreException + { + // Not supported. Memory-only. + } + + @Override + public void put(Session session) + { + if (storeLimit > 0 && store.size() >= storeLimit) + { + Session oldest = null; + for (Map.Entry e : store.entrySet()) + { + Session s = e.getValue(); + long stamp = s.getLastAccessedTime(); + if (oldest == null || oldest.getLastAccessedTime() > stamp) + oldest = s; + } + store.remove(oldest.id()); + } + store.put(session.id(), session); + } + + @Override + public void remove(byte[] sessionId) + { + store.remove(new Session.ID(sessionId)); + } + + @Override + public void store(char[] password) throws SessionStoreException + { + // Not supported. Memory-only. + } + + public Enumeration getIds() + { + return new Enumeration() + { + Iterator it = store.keySet().iterator(); + + public boolean hasMoreElements() + { + return it.hasNext(); + } + + public Object nextElement() + { + return it.next().id(); + } + }; + } + + public int getSessionCacheSize() + { + return storeLimit; + } + + public void setSessionCacheSize(int size) + { + if (size < 0) + throw new IllegalArgumentException("cache size must be nonnegative"); + this.storeLimit = size; + } + +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SynchronizedRandom.java b/libjava/classpath/gnu/javax/net/ssl/provider/SynchronizedRandom.java deleted file mode 100644 index 4e22f08be08..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SynchronizedRandom.java +++ /dev/null @@ -1,104 +0,0 @@ -/* SynchronizedRandom.java -- Thread-safe IRandom wrapper. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.util.Map; -import gnu.java.security.prng.IRandom; -import gnu.java.security.prng.LimitReachedException; - -class SynchronizedRandom implements IRandom -{ - - // Field. - // ------------------------------------------------------------------------- - - private final IRandom random; - - // Constructor. - // ------------------------------------------------------------------------- - - SynchronizedRandom(IRandom random) - { - this.random = random; - } - - // Instance methods. - // ------------------------------------------------------------------------- - - public String name() - { - return random.name(); - } - - public synchronized void init(Map attrib) - { - random.init(attrib); - } - - public synchronized byte nextByte() - throws IllegalStateException, LimitReachedException - { - return random.nextByte(); - } - - public synchronized void nextBytes(byte[] buf, int off, int len) - throws IllegalStateException, LimitReachedException - { - random.nextBytes(buf, off, len); - } - - public synchronized Object clone() - throws CloneNotSupportedException - { - return new SynchronizedRandom((IRandom) random.clone()); - } - - // For future versions of GNU Crypto. No-ops. - public void addRandomByte (byte b) - { - } - - public void addRandomBytes(byte[] buffer) { - addRandomBytes(buffer, 0, buffer.length); - } - - public void addRandomBytes (byte[] b, int i, int j) - { - } -} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/TruncatedHMAC.java b/libjava/classpath/gnu/javax/net/ssl/provider/TruncatedHMAC.java new file mode 100644 index 00000000000..0595f87a7a6 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/TruncatedHMAC.java @@ -0,0 +1,76 @@ +/* TruncatedHMAC.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.nio.ByteBuffer; + +/** + * The value type for the {@link Extension.Type#TRUNCATED_HMAC} extension. + * This extension has an empty value; this class is thusly empty. + * + * @author csm + */ +public class TruncatedHMAC extends Value +{ + + public int length() + { + return 0; + } + + public ByteBuffer buffer() + { + return ByteBuffer.wrap(new byte[0]); + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + String s = "TruncatedHMAC;"; + if (prefix != null) + s = prefix + s; + return s; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/TrustedAuthorities.java b/libjava/classpath/gnu/javax/net/ssl/provider/TrustedAuthorities.java new file mode 100644 index 00000000000..1e4b173595d --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/TrustedAuthorities.java @@ -0,0 +1,298 @@ +/* TrustedAuthorities.java + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.java.security.x509.X500DistinguishedName; +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.Iterator; +import java.util.NoSuchElementException; + +import javax.security.auth.x500.X500Principal; + +/** + * The trusted authorities hello extension. + * + *
    +struct {
    +  TrustedAuthority trusted_authorities_list<0..2^16-1>;
    +} TrustedAuthorities;
    +
    +struct {
    +  IdentifierType identifier_type;
    +  select (identifier_type) {
    +    case pre_agreed: struct {};
    +    case key_sha1_hash: SHA1Hash;
    +    case x509_name: DistinguishedName;
    +    case cert_sha1_hash: SHA1Hash;
    +  } identifier;
    +} TrustedAuthority;
    +
    +enum {
    +  pre_agreed(0), key_sha1_hash(1), x509_name(2),
    +  cert_sha1_hash(3), (255)
    +} IdentifierType;
    +
    +opaque DistinguishedName<1..2^16-1>;
    + * + * @author csm + */ +public class TrustedAuthorities extends Value + implements Iterable +{ + private final ByteBuffer buffer; + + public TrustedAuthorities(final ByteBuffer buffer) + { + this.buffer = buffer.duplicate().order(ByteOrder.BIG_ENDIAN); + } + + // XXX really implement Builder. + + public int length() + { + return 2 + (buffer.getShort(0) & 0xFFFF); + } + + public ByteBuffer buffer() + { + return (ByteBuffer) buffer.duplicate().limit(length()); + } + + public int size() + { + int len = buffer.getShort(0) & 0xFFFF; + int n = 0; + for (int i = 2; i < len; i++) + { + TrustedAuthority auth = + new TrustedAuthority((ByteBuffer) buffer.duplicate().position(i)); + i += auth.length(); + n++; + } + return n; + } + + public TrustedAuthority get(final int index) + { + int len = buffer.getShort(0) & 0xFFFF; + int n = 0; + int i = 2; + while (i < len && n <= index) + { + TrustedAuthority auth = + new TrustedAuthority((ByteBuffer) buffer.duplicate().position(i)); + if (n == index) + return auth; + i += auth.length(); + n++; + } + throw new IndexOutOfBoundsException(); + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + String subprefix = " "; + if (prefix != null) + subprefix = prefix + subprefix; + for(TrustedAuthority ta : this) + out.println(ta); + if (prefix != null) out.print(prefix); + out.print("} TrustedAuthorities;"); + return str.toString(); + } + + public Iterator iterator() + { + return new AuthoritiesIterator(); + } + + public class AuthoritiesIterator implements Iterator + { + private int index; + + public AuthoritiesIterator() + { + index = 0; + } + + public TrustedAuthority next() throws NoSuchElementException + { + try + { + return get(index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException(); + } + } + + public boolean hasNext() + { + return index < size(); + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + } + + public static class TrustedAuthority implements Constructed + { + private final ByteBuffer buffer; + + public TrustedAuthority(final ByteBuffer buffer) + { + this.buffer = buffer; + } + + public int length() + { + switch (type().getValue()) + { + case 0: return 1; + case 1: + case 3: return 21; + case 2: return 3 + (buffer.getShort(1) & 0xFFFF); + } + throw new IllegalArgumentException("unknown authority type"); + } + + public byte[] sha1Hash() + { + IdentifierType t = type(); + if (t != IdentifierType.CERT_SHA1_HASH + && t != IdentifierType.KEY_SHA1_HASH) + throw new IllegalArgumentException(t + " does not have a hash value"); + byte[] b = new byte[20]; + ((ByteBuffer) buffer.duplicate().position(1)).get(b); + return b; + } + + public X500Principal name() + { + int len = buffer.getShort(1) & 0xFFFF; + byte[] b = new byte[len]; + ((ByteBuffer) buffer.duplicate().position(3)).get(b); + return new X500Principal(b); + } + + public IdentifierType type() + { + switch (buffer.get(0)) + { + case 0: return IdentifierType.PRE_AGREED; + case 1: return IdentifierType.KEY_SHA1_HASH; + case 2: return IdentifierType.X509_NAME; + case 3: return IdentifierType.CERT_SHA1_HASH; + } + + throw new IllegalArgumentException("invalid IdentifierType"); + } + + public String toString() + { + return toString(null); + } + + public String toString(String prefix) + { + StringWriter str = new StringWriter(); + PrintWriter out = new PrintWriter(str); + if (prefix != null) out.print(prefix); + out.println("struct {"); + if (prefix != null) out.print(prefix); + out.print(" identifier_type = "); + out.print(type()); + out.println(";"); + switch (type().getValue()) + { + case 0: break; + case 1: + case 3: + if (prefix != null) out.print(prefix); + out.print(" sha1_hash = "); + out.print(Util.toHexString(sha1Hash(), ':')); + out.println(";"); + break; + + case 2: + if (prefix != null) out.print(prefix); + out.print(" name = "); + out.print(name()); + out.println(";"); + } + if (prefix != null) out.print(prefix); + out.print("} TrustedAuthority;"); + return str.toString(); + } + } + + public static enum IdentifierType + { + PRE_AGREED (0), KEY_SHA1_HASH (1), X509_NAME (2), CERT_SHA1_HASH (3); + + private final int value; + + private IdentifierType(final int value) + { + this.value = value; + } + + public int getValue() + { + return value; + } + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java b/libjava/classpath/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java new file mode 100644 index 00000000000..2094daf9098 --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java @@ -0,0 +1,83 @@ +/* UnresolvedExtensionValue.jav -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import gnu.javax.net.ssl.provider.Extension.Value; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.ByteBuffer; + +public class UnresolvedExtensionValue extends Value +{ + private final ByteBuffer buffer; + + public UnresolvedExtensionValue (final ByteBuffer buffer) + { + this.buffer = buffer; + } + + public int length() + { + return buffer.limit(); + } + + public ByteBuffer buffer() + { + return value(); + } + + public ByteBuffer value() + { + return buffer.slice(); + } + + public String toString() + { + return toString(null); + } + + public String toString(final String prefix) + { + String s = Util.hexDump(buffer); + if (prefix != null) + s = prefix + s; + return s; + } +} diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/Util.java b/libjava/classpath/gnu/javax/net/ssl/provider/Util.java index 15790dd26f8..ba8ea7db70b 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/Util.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/Util.java @@ -38,11 +38,16 @@ exception statement from your version. */ package gnu.javax.net.ssl.provider; +import java.io.PrintWriter; +import java.io.StringWriter; + import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigInteger; +import java.nio.ByteBuffer; + import java.security.AccessController; import java.security.PrivilegedAction; import java.security.Security; @@ -52,7 +57,7 @@ import java.security.Security; * * @author Casey Marshall (rsdio@metastatic.org) */ -final class Util +public final class Util { // Constants. @@ -66,13 +71,40 @@ final class Util // Class methods. // ------------------------------------------------------------------------- + public static Object wrapBuffer(ByteBuffer buffer) + { + return wrapBuffer(buffer, ""); + } + + public static Object wrapBuffer(ByteBuffer buffer, String prefix) + { + return new WrappedBuffer(buffer, prefix); + } + + private static class WrappedBuffer + { + private final ByteBuffer buffer; + private final String prefix; + + WrappedBuffer(ByteBuffer buffer, String prefix) + { + this.buffer = buffer; + this.prefix = prefix; + } + + public String toString() + { + return hexDump(buffer, prefix); + } + } + /** * Convert a hexadecimal string into its byte representation. * * @param hex The hexadecimal string. * @return The converted bytes. */ - static byte[] toByteArray(String hex) + public static byte[] toByteArray(String hex) { hex = hex.toLowerCase(); byte[] buf = new byte[hex.length() / 2]; @@ -94,7 +126,7 @@ final class Util * @param len The number of bytes to format. * @return A hexadecimal representation of the specified bytes. */ - static String toHexString(byte[] buf, int off, int len) + public static String toHexString(byte[] buf, int off, int len) { StringBuffer str = new StringBuffer(); for (int i = 0; i < len; i++) @@ -108,7 +140,7 @@ final class Util /** * See {@link #toHexString(byte[],int,int)}. */ - static String toHexString(byte[] buf) + public static String toHexString(byte[] buf) { return Util.toHexString(buf, 0, buf.length); } @@ -123,7 +155,7 @@ final class Util * @param sep The character to insert between octets. * @return A hexadecimal representation of the specified bytes. */ - static String toHexString(byte[] buf, int off, int len, char sep) + public static String toHexString(byte[] buf, int off, int len, char sep) { StringBuffer str = new StringBuffer(); for (int i = 0; i < len; i++) @@ -139,7 +171,7 @@ final class Util /** * See {@link #toHexString(byte[],int,int,char)}. */ - static String toHexString(byte[] buf, char sep) + public static String toHexString(byte[] buf, char sep) { return Util.toHexString(buf, 0, buf.length, sep); } @@ -159,7 +191,7 @@ final class Util * @param prefix A string to prepend to every line. * @return The formatted string. */ - static String hexDump(byte[] buf, int off, int len, String prefix) + public static String hexDump(byte[] buf, int off, int len, String prefix) { String nl = getProperty("line.separator"); StringBuffer str = new StringBuffer(); @@ -172,7 +204,7 @@ final class Util str.append(" "); String s = Util.toHexString(buf, i+off, Math.min(16, len-i), ' '); str.append(s); - for (int j = 56 - (56 - s.length()); j < 56; j++) + for (int j = s.length(); j < 49; j++) str.append(" "); for (int j = 0; j < Math.min(16, len - i); j++) { @@ -187,10 +219,49 @@ final class Util return str.toString(); } + public static String hexDump (ByteBuffer buf) + { + return hexDump (buf, null); + } + + public static String hexDump (ByteBuffer buf, String prefix) + { + buf = buf.duplicate(); + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + int i = 0; + int len = buf.remaining(); + byte[] line = new byte[16]; + while (i < len) + { + if (prefix != null) + out.print(prefix); + out.print(Util.formatInt (i, 16, 8)); + out.print(" "); + int l = Math.min(16, len - i); + buf.get(line, 0, l); + String s = Util.toHexString(line, 0, l, ' '); + out.print(s); + for (int j = s.length(); j < 49; j++) + out.print(' '); + for (int j = 0; j < l; j++) + { + int c = line[j] & 0xFF; + if (c < 0x20 || c > 0x7E) + out.print('.'); + else + out.print((char) c); + } + out.println(); + i += 16; + } + return str.toString(); + } + /** * See {@link #hexDump(byte[],int,int,String)}. */ - static String hexDump(byte[] buf, int off, int len) + public static String hexDump(byte[] buf, int off, int len) { return hexDump(buf, off, len, ""); } @@ -198,7 +269,7 @@ final class Util /** * See {@link #hexDump(byte[],int,int,String)}. */ - static String hexDump(byte[] buf, String prefix) + public static String hexDump(byte[] buf, String prefix) { return hexDump(buf, 0, buf.length, prefix); } @@ -206,7 +277,7 @@ final class Util /** * See {@link #hexDump(byte[],int,int,String)}. */ - static String hexDump(byte[] buf) + public static String hexDump(byte[] buf) { return hexDump(buf, 0, buf.length); } @@ -220,7 +291,7 @@ final class Util * zero-padded to this length, but may be longer. * @return The formatted integer. */ - static String formatInt(int i, int radix, int len) + public static String formatInt(int i, int radix, int len) { String s = Integer.toString(i, radix); StringBuffer buf = new StringBuffer(); @@ -237,7 +308,7 @@ final class Util * @param b2 The second byte array. * @return The concatenation of b1 and b2. */ - static byte[] concat(byte[] b1, byte[] b2) + public static byte[] concat(byte[] b1, byte[] b2) { byte[] b3 = new byte[b1.length+b2.length]; System.arraycopy(b1, 0, b3, 0, b1.length); @@ -248,7 +319,7 @@ final class Util /** * See {@link #trim(byte[],int,int)}. */ - static byte[] trim(byte[] buffer, int len) + public static byte[] trim(byte[] buffer, int len) { return trim(buffer, 0, len); } @@ -266,7 +337,7 @@ final class Util * length. * @return The trimmed byte array. */ - static byte[] trim(byte[] buffer, int off, int len) + public static byte[] trim(byte[] buffer, int off, int len) { if (off < 0 || len < 0 || off > buffer.length) throw new IndexOutOfBoundsException("max=" + buffer.length + @@ -286,7 +357,7 @@ final class Util * @return The byte representation of the big integer, with any leading * zero removed. */ - static byte[] trim(BigInteger bi) + public static byte[] trim(BigInteger bi) { byte[] buf = bi.toByteArray(); if (buf[0] == 0x00 && !bi.equals(BigInteger.ZERO)) @@ -305,7 +376,7 @@ final class Util * * @return The current time, in seconds. */ - static int unixTime() + public static int unixTime() { return (int) (System.currentTimeMillis() / 1000L); } @@ -385,7 +456,7 @@ final class Util * @throws SecurityException If the Jessie code still does not have * permission to read the property. */ - static String getProperty(final String name) + @Deprecated static String getProperty(final String name) { return (String) AccessController.doPrivileged( new PrivilegedAction() @@ -407,7 +478,7 @@ final class Util * @throws SecurityException If the Jessie code still does not have * permission to read the property. */ - static String getSecurityProperty(final String name) + @Deprecated static String getSecurityProperty(final String name) { return (String) AccessController.doPrivileged( new PrivilegedAction() diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/X500PrincipalList.java b/libjava/classpath/gnu/javax/net/ssl/provider/X500PrincipalList.java new file mode 100644 index 00000000000..1c88479cbbc --- /dev/null +++ b/libjava/classpath/gnu/javax/net/ssl/provider/X500PrincipalList.java @@ -0,0 +1,272 @@ +/* X500PrincipalList.java -- A list of X.500 names. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.net.ssl.provider; + +import java.io.PrintWriter; +import java.io.StringWriter; + +import java.nio.ByteBuffer; + +import java.util.ConcurrentModificationException; +import java.util.ListIterator; +import java.util.NoSuchElementException; + +import javax.security.auth.x500.X500Principal; + +public final class X500PrincipalList implements Iterable +{ + private final ByteBuffer buffer; + private int modCount; + + public X500PrincipalList (final ByteBuffer buffer) + { + this.buffer = buffer; + modCount = 0; + } + + public int size () + { + return (buffer.getShort (0) & 0xFFFF); + } + + public int count () + { + int size = size (); + int i = 0; + for (int offset = 2; offset < size; i++) + { + int _size = (buffer.getShort (offset) & 0xFFFF); + // We don't want this going into an infinite loop if + // you mistakenly put a zero-length name. + if (_size == 0) + break; + offset += _size + 2; + } + return i; + } + + public X500Principal get (final int index) + { + if (index < 0) + throw new IndexOutOfBoundsException ("negative index"); + int size = size (); + int i = 0; + for (int offset = 2; offset < size; i++) + { + int _size = (buffer.getShort (offset) & 0xFFFF); + if (_size == 0) + throw new IndexOutOfBoundsException ("zero-length name encountered"); + if (i == index) + { + byte[] buf = new byte[_size]; + buffer.position (offset + 2); + buffer.get (buf); + return new X500Principal (buf); + } + offset += 2 + _size; + } + throw new IndexOutOfBoundsException ("limit: " + i + "; requested: " + index); + } + + public void put (final int index, final X500Principal principal) + { + put (index, principal.getEncoded ()); + } + + public void put (final int index, final byte[] encoded) + { + if (index < 0) + throw new IndexOutOfBoundsException ("negative index"); + int size = size (); + int i = 0; + for (int offset = 2; offset < size; i++) + { + int off = (buffer.getShort (offset) & 0xFFFF); + if (i == index) + { + buffer.putShort (offset, (short) encoded.length); + buffer.position (offset + 2); + buffer.put (encoded); + modCount++; + return; + } + offset += 2 + off; + } + throw new IndexOutOfBoundsException ("limit: " + (i-1) + "; requested: " + index); + } + + public void setSize (final int numNames, final int namesSize) + { + if (numNames < 1) + throw new IllegalArgumentException ("must have at least one name"); + int size = (numNames * 2) + namesSize; + if (size < 3 || size > buffer.capacity () || size > 0xFFFF) + throw new IllegalArgumentException ("size out of range; maximum: " + + Math.min (buffer.capacity (), 0xFFFF)); + buffer.putShort (0, (short) size); + } + + public String toString () + { + return toString (null); + } + + public String toString (final String prefix) + { + StringWriter str = new StringWriter (); + PrintWriter out = new PrintWriter (str); + if (prefix != null) out.print (prefix); + out.print ("["); + out.print (count ()); + out.println ("] {"); + for (Iterator it = new Iterator (); it.hasNext (); ) + { + if (prefix != null) out.print (prefix); + out.print (" "); + out.println (it.next ()); + } + if (prefix != null) out.print (prefix); + out.print ("};"); + return str.toString (); + } + + public boolean equals (Object o) + { + if (!(o instanceof X500PrincipalList)) + return false; + X500PrincipalList that = (X500PrincipalList) o; + + if (size () != that.size ()) + return false; + + for (Iterator it1 = new Iterator (), it2 = that.new Iterator (); + it1.hasNext () && it2.hasNext (); ) + { + if (!it1.next ().equals (it2.next ())) + return false; + } + return true; + } + + public java.util.Iterator iterator () + { + return new Iterator(); + } + + public class Iterator implements ListIterator + { + private final int modCount; + private int index; + private final int count; + + public Iterator () + { + this.modCount = X500PrincipalList.this.modCount; + index = 0; + count = count (); + } + + public void add (X500Principal o) + { + throw new UnsupportedOperationException (); + } + + public boolean hasNext () + { + return (index < count); + } + + public boolean hasPrevious () + { + return (index > 0); + } + + public X500Principal next () throws NoSuchElementException + { + if (modCount != X500PrincipalList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (index++); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException (); + } + } + + public int nextIndex () + { + if (hasNext ()) + return (index + 1); + return -1; + } + + public X500Principal previous () throws NoSuchElementException + { + if (index == 0) + throw new NoSuchElementException (); + if (modCount != X500PrincipalList.this.modCount) + throw new ConcurrentModificationException (); + try + { + return get (--index); + } + catch (IndexOutOfBoundsException ioobe) + { + throw new NoSuchElementException (); + } + } + + public int previousIndex () + { + return (index - 1); + } + + public void remove () + { + throw new UnsupportedOperationException (); + } + + public void set (final X500Principal o) + { + throw new UnsupportedOperationException (); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java b/libjava/classpath/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java index 476655c45da..dc772886697 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java @@ -54,7 +54,6 @@ import java.security.NoSuchAlgorithmException; import java.security.Principal; import java.security.PrivateKey; import java.security.PublicKey; -import java.security.Security; import java.security.UnrecoverableKeyException; import java.security.cert.Certificate; import java.security.cert.CertificateException; @@ -76,6 +75,8 @@ import javax.crypto.interfaces.DHPublicKey; import javax.net.ssl.KeyManager; import javax.net.ssl.KeyManagerFactorySpi; import javax.net.ssl.ManagerFactoryParameters; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.X509ExtendedKeyManager; import javax.net.ssl.X509KeyManager; import gnu.javax.net.ssl.NullManagerParameters; @@ -122,13 +123,17 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi } else if (params instanceof PrivateCredentials) { - List chains = ((PrivateCredentials) params).getCertChains(); - List keys = ((PrivateCredentials) params).getPrivateKeys(); + List chains + = ((PrivateCredentials) params).getCertChains(); + List keys + = ((PrivateCredentials) params).getPrivateKeys(); int i = 0; - HashMap certMap = new HashMap(); - HashMap keyMap = new HashMap(); - Iterator c = chains.iterator(); - Iterator k = keys.iterator(); + HashMap certMap + = new HashMap(); + HashMap keyMap + = new HashMap(); + Iterator c = chains.iterator(); + Iterator k = keys.iterator(); while (c.hasNext() && k.hasNext()) { certMap.put(String.valueOf(i), c.next()); @@ -171,8 +176,9 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi } } - HashMap p = new HashMap(); - HashMap c = new HashMap(); + HashMap p = new HashMap(); + HashMap c + = new HashMap(); Enumeration aliases = store.aliases(); UnrecoverableKeyException exception = null; while (aliases.hasMoreElements()) @@ -236,18 +242,19 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi // Inner class. // ------------------------------------------------------------------------- - private class Manager implements X509KeyManager + private class Manager extends X509ExtendedKeyManager { // Fields. // ----------------------------------------------------------------------- - private final Map privateKeys; - private final Map certChains; + private final Map privateKeys; + private final Map certChains; // Constructor. // ----------------------------------------------------------------------- - Manager(Map privateKeys, Map certChains) + Manager(Map privateKeys, + Map certChains) { this.privateKeys = privateKeys; this.certChains = certChains; @@ -267,6 +274,19 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi } return null; } + + public @Override String chooseEngineClientAlias(String[] keyTypes, + Principal[] issuers, + SSLEngine engine) + { + for (String type : keyTypes) + { + String[] s = getClientAliases(type, issuers); + if (s.length > 0) + return s[0]; + } + return null; + } public String[] getClientAliases(String keyType, Principal[] issuers) { @@ -281,6 +301,16 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi return s[0]; return null; } + + public @Override String chooseEngineServerAlias(String keyType, + Principal[] issuers, + SSLEngine engine) + { + String[] s = getServerAliases(keyType, issuers); + if (s.length > 0) + return s[0]; + return null; + } public String[] getServerAliases(String keyType, Principal[] issuers) { @@ -289,7 +319,7 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi private String[] getAliases(String keyType, Principal[] issuers) { - LinkedList l = new LinkedList(); + LinkedList l = new LinkedList(); for (Iterator i = privateKeys.keySet().iterator(); i.hasNext(); ) { String alias = (String) i.next(); @@ -300,21 +330,27 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi if (privKey == null) continue; PublicKey pubKey = chain[0].getPublicKey(); - if (keyType.equals("RSA") || keyType.equals("DHE_RSA") || - keyType.equals("SRP_RSA") || keyType.equals("rsa_sign")) + if (keyType.equalsIgnoreCase("RSA") + || keyType.equalsIgnoreCase("DHE_RSA") + || keyType.equalsIgnoreCase("SRP_RSA") + || keyType.equalsIgnoreCase("rsa_sign") + || keyType.equalsIgnoreCase("RSA_PSK")) { if (!(privKey instanceof RSAPrivateKey) || !(pubKey instanceof RSAPublicKey)) continue; } - if (keyType.equals("DHE_DSS") || keyType.equals("dss_sign") || - keyType.equals("SRP_DSS")) + else if (keyType.equalsIgnoreCase("DHE_DSS") + || keyType.equalsIgnoreCase("dss_sign") + || keyType.equalsIgnoreCase("SRP_DSS") + || keyType.equalsIgnoreCase("DSA")) { if (!(privKey instanceof DSAPrivateKey) || !(pubKey instanceof DSAPublicKey)) continue; } - if (keyType.equals("DH_RSA") || keyType.equals("rsa_fixed_dh")) + else if (keyType.equalsIgnoreCase("DH_RSA") + || keyType.equalsIgnoreCase("rsa_fixed_dh")) { if (!(privKey instanceof DHPrivateKey) || !(pubKey instanceof DHPublicKey)) @@ -322,7 +358,8 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi if (!chain[0].getSigAlgName().equalsIgnoreCase("RSA")) continue; } - if (keyType.equals("DH_DSS") || keyType.equals("dss_fixed_dh")) + else if (keyType.equalsIgnoreCase("DH_DSS") + || keyType.equalsIgnoreCase("dss_fixed_dh")) { if (!(privKey instanceof DHPrivateKey) || !(pubKey instanceof DHPublicKey)) @@ -330,19 +367,23 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi if (!chain[0].getSigAlgName().equalsIgnoreCase("DSA")) continue; } + else // Unknown key type; ignore it. + continue; if (issuers == null || issuers.length == 0) { l.add(alias); continue; } - for (int j = 0; j < issuers.length; j++) - if (chain[0].getIssuerDN().equals(issuers[j])) - { - l.add(alias); - break; - } + for (Principal issuer : issuers) + { + if (chain[0].getIssuerDN().equals(issuer)) + { + l.add(alias); + break; + } + } } - return (String[]) l.toArray(new String[l.size()]); + return l.toArray(new String[l.size()]); } public X509Certificate[] getCertificateChain(String alias) diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java b/libjava/classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java index 4f049e916d9..1a0591284a4 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java @@ -45,17 +45,20 @@ import java.util.Arrays; import java.util.Enumeration; import java.util.HashSet; import java.util.LinkedList; +import java.util.Set; +import java.security.AccessController; import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; -import java.security.Security; -import java.security.SignatureException; +import java.security.cert.CertPath; +import java.security.cert.CertPathValidator; +import java.security.cert.CertPathValidatorException; import java.security.cert.Certificate; import java.security.cert.CertificateException; +import java.security.cert.PKIXParameters; +import java.security.cert.TrustAnchor; import java.security.cert.X509Certificate; import javax.net.ssl.ManagerFactoryParameters; @@ -63,6 +66,8 @@ import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactorySpi; import javax.net.ssl.X509TrustManager; +import gnu.java.security.action.GetPropertyAction; +import gnu.java.security.x509.X509CertPath; import gnu.javax.net.ssl.NullManagerParameters; import gnu.javax.net.ssl.StaticTrustAnchors; @@ -76,21 +81,22 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi // Constants and fields. // ------------------------------------------------------------------------- + private static final String sep + = AccessController.doPrivileged(new GetPropertyAction("file.separator")); + /** * The location of the JSSE key store. */ - private static final String JSSE_CERTS = Util.getProperty("java.home") - + Util.getProperty("file.separator") + "lib" - + Util.getProperty("file.separator") + "security" - + Util.getProperty("file.separator") + "jssecerts"; + private static final String JSSE_CERTS + = AccessController.doPrivileged(new GetPropertyAction("java.home")) + + sep + "lib" + sep + "security" + sep + "jssecerts"; /** * The location of the system key store, containing the CA certs. */ - private static final String CA_CERTS = Util.getProperty("java.home") - + Util.getProperty("file.separator") + "lib" - + Util.getProperty("file.separator") + "security" - + Util.getProperty("file.separator") + "cacerts"; + private static final String CA_CERTS + = AccessController.doPrivileged(new GetPropertyAction("java.home")) + + sep + "lib" + sep + "security" + sep + "cacerts"; private Manager current; @@ -135,13 +141,14 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi { if (store == null) { - String s = Util.getProperty("javax.net.ssl.trustStoreType"); + GetPropertyAction gpa = new GetPropertyAction("javax.net.ssl.trustStoreType"); + String s = AccessController.doPrivileged(gpa); if (s == null) s = KeyStore.getDefaultType(); store = KeyStore.getInstance(s); try { - s = Util.getProperty("javax.net.ssl.trustStore"); + s = AccessController.doPrivileged(gpa.setParameters("javax.net.ssl.trustStore")); FileInputStream in = null; if (s == null) { @@ -158,24 +165,24 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi { in = new FileInputStream(s); } - String p = Util.getProperty("javax.net.ssl.trustStorePassword"); + String p = AccessController.doPrivileged(gpa.setParameters("javax.net.ssl.trustStorePassword")); store.load(in, p != null ? p.toCharArray() : null); } catch (IOException ioe) { - throw new KeyStoreException(ioe.toString()); + throw new KeyStoreException(ioe); } catch (CertificateException ce) { - throw new KeyStoreException(ce.toString()); + throw new KeyStoreException(ce); } catch (NoSuchAlgorithmException nsae) { - throw new KeyStoreException(nsae.toString()); + throw new KeyStoreException(nsae); } } - LinkedList l = new LinkedList(); + LinkedList l = new LinkedList(); Enumeration aliases = store.aliases(); while (aliases.hasMoreElements()) { @@ -185,10 +192,9 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi Certificate c = store.getCertificate(alias); if (!(c instanceof X509Certificate)) continue; - l.add(c); + l.add((X509Certificate) c); } - current = this.new Manager((X509Certificate[]) - l.toArray(new X509Certificate[l.size()])); + current = this.new Manager(l.toArray(new X509Certificate[l.size()])); } // Inner class. @@ -203,14 +209,21 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi // Fields. // ----------------------------------------------------------------------- - private final X509Certificate[] trusted; + private final Set anchors; // Constructor. // ----------------------------------------------------------------------- Manager(X509Certificate[] trusted) { - this.trusted = trusted; + anchors = new HashSet(); + if (trusted != null) + { + for (X509Certificate cert : trusted) + { + anchors.add(new TrustAnchor(cert, null)); + } + } } // Instance methodns. @@ -230,9 +243,7 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi public X509Certificate[] getAcceptedIssuers() { - if (trusted == null) - return new X509Certificate[0]; - return (X509Certificate[]) trusted.clone(); + return anchors.toArray(new X509Certificate[anchors.size()]); } // Own methods. @@ -241,58 +252,44 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi private void checkTrusted(X509Certificate[] chain, String authType) throws CertificateException { - // NOTE: this is not a full-featured path validation algorithm. - // - // Step 0: check if the target is valid now. - chain[0].checkValidity(); - - // Step 1: verify that the chain is complete and valid. - for (int i = 1; i < chain.length; i++) + CertPathValidator validator = null; + + try { - chain[i].checkValidity(); - try - { - chain[i-1].verify(chain[i].getPublicKey()); - } - catch (NoSuchAlgorithmException nsae) - { - throw new CertificateException(nsae.toString()); - } - catch (NoSuchProviderException nspe) - { - throw new CertificateException(nspe.toString()); - } - catch (InvalidKeyException ike) - { - throw new CertificateException(ike.toString()); - } - catch (SignatureException se) - { - throw new CertificateException(se.toString()); - } + validator = CertPathValidator.getInstance("PKIX"); } - - // Step 2: verify that the root of the chain was issued by a trust anchor. - if (trusted == null || trusted.length == 0) - throw new CertificateException("no trust anchors"); - for (int i = 0; i < trusted.length; i++) + catch (NoSuchAlgorithmException nsae) { - try - { - trusted[i].checkValidity(); - chain[chain.length-1].verify(trusted[i].getPublicKey()); - return; - } - catch (Exception e) - { - } - //catch (CertificateException ce) { } - //catch (NoSuchAlgorithmException nsae) { } - //catch (NoSuchProviderException nspe) { } - //catch (InvalidKeyException ike) { } - //catch (SignatureException se) { } + throw new CertificateException(nsae); + } + + CertPath path = new X509CertPath(Arrays.asList(chain)); + + PKIXParameters params = null; + try + { + params = new PKIXParameters(anchors); + // XXX we probably do want to enable revocation, but it's a pain + // in the ass. + params.setRevocationEnabled(false); + } + catch (InvalidAlgorithmParameterException iape) + { + throw new CertificateException(iape); + } + + try + { + validator.validate(path, params); + } + catch (CertPathValidatorException cpve) + { + throw new CertificateException(cpve); + } + catch (InvalidAlgorithmParameterException iape) + { + throw new CertificateException(iape); } - throw new CertificateException(); } } } diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/XMLSessionContext.java b/libjava/classpath/gnu/javax/net/ssl/provider/XMLSessionContext.java deleted file mode 100644 index dcfa9d4adc9..00000000000 --- a/libjava/classpath/gnu/javax/net/ssl/provider/XMLSessionContext.java +++ /dev/null @@ -1,619 +0,0 @@ -/* XMLSessionContext.java -- XML-encoded persistent SSL sessions. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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. */ - - -package gnu.javax.net.ssl.provider; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.PrintStream; - -import java.security.SecureRandom; -import java.security.cert.Certificate; -import java.security.cert.CertificateEncodingException; -import java.security.cert.CertificateFactory; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.TreeSet; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -import gnu.javax.crypto.mac.IMac; -import gnu.javax.crypto.mac.MacFactory; -import gnu.javax.crypto.mode.IMode; -import gnu.javax.crypto.mode.ModeFactory; -import gnu.javax.crypto.prng.IPBE; -import gnu.java.security.prng.IRandom; -import gnu.java.security.prng.PRNGFactory; - -import gnu.javax.net.ssl.Base64; - -/** - * An implementation of session contexts that stores session data on the - * filesystem in a simple XML-encoded file. - */ -class XMLSessionContext extends SessionContext -{ - - // Fields. - // ------------------------------------------------------------------------- - - private final File file; - private final IRandom pbekdf; - private final boolean compress; - private final SecureRandom random; - private boolean encoding; - - // Constructor. - // ------------------------------------------------------------------------- - - XMLSessionContext() throws IOException, SAXException - { - file = new File(Util.getSecurityProperty("jessie.SessionContext.xml.file")); - String password = Util.getSecurityProperty("jessie.SessionContext.xml.password"); - compress = new Boolean(Util.getSecurityProperty("jessie.SessionContext.xml.compress")).booleanValue(); - if (password == null) - { - password = ""; - } - pbekdf = PRNGFactory.getInstance("PBKDF2-HMAC-SHA1"); - HashMap kdfattr = new HashMap(); - kdfattr.put(IPBE.PASSWORD, password.toCharArray()); - // Dummy salt. This is replaced by a real salt when encoding. - kdfattr.put(IPBE.SALT, new byte[8]); - kdfattr.put(IPBE.ITERATION_COUNT, new Integer(1000)); - pbekdf.init(kdfattr); - encoding = false; - if (file.exists()) - { - decode(); - } - encoding = true; - random = new SecureRandom (); - } - - // Instance methods. - // ------------------------------------------------------------------------- - - synchronized boolean addSession(Session.ID sessionId, Session session) - { - boolean ret = super.addSession(sessionId, session); - if (ret && encoding) - { - try - { - encode(); - } - catch (IOException ioe) - { - } - } - return ret; - } - - synchronized void notifyAccess(Session session) - { - try - { - encode(); - } - catch (IOException ioe) - { - } - } - - synchronized boolean removeSession(Session.ID sessionId) - { - if (super.removeSession(sessionId)) - { - try - { - encode(); - } - catch (Exception x) - { - } - return true; - } - return false; - } - - private void decode() throws IOException, SAXException - { - SAXParser parser = null; - try - { - parser = SAXParserFactory.newInstance().newSAXParser(); - } - catch (Exception x) - { - throw new Error(x.toString()); - } - SAXHandler handler = new SAXHandler(this, pbekdf); - InputStream in = null; - if (compress) - in = new GZIPInputStream(new FileInputStream(file)); - else - in = new FileInputStream(file); - parser.parse(in, handler); - } - - private void encode() throws IOException - { - IMode cipher = ModeFactory.getInstance("CBC", "AES", 16); - HashMap cipherAttr = new HashMap(); - IMac mac = MacFactory.getInstance("HMAC-SHA1"); - HashMap macAttr = new HashMap(); - byte[] key = new byte[32]; - byte[] iv = new byte[16]; - byte[] mackey = new byte[20]; - byte[] salt = new byte[8]; - byte[] encryptedSecret = new byte[48]; - cipherAttr.put(IMode.KEY_MATERIAL, key); - cipherAttr.put(IMode.IV, iv); - cipherAttr.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); - macAttr.put(IMac.MAC_KEY_MATERIAL, mackey); - PrintStream out = null; - if (compress) - { - out = new PrintStream(new GZIPOutputStream(new FileOutputStream(file))); - } - else - { - out = new PrintStream(new FileOutputStream(file)); - } - out.println(""); - out.println(""); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println(" "); - out.println("]>"); - out.println(); - out.print(""); - for (Iterator it = sessions.entrySet().iterator(); it.hasNext(); ) - { - Map.Entry entry = (Map.Entry) it.next(); - Session.ID id = (Session.ID) entry.getKey(); - Session session = (Session) entry.getValue(); - if (!session.valid) - { - continue; - } - out.print(""); - out.print(""); - Certificate[] certs = session.getPeerCertificates(); - if (certs != null && certs.length > 0) - { - out.print(""); - for (int i = 0; i < certs.length; i++) - { - out.println("-----BEGIN CERTIFICATE-----"); - try - { - out.print(Base64.encode(certs[i].getEncoded(), 70)); - } - catch (CertificateEncodingException cee) - { - throw new IOException(cee.toString()); - } - out.println("-----END CERTIFICATE-----"); - } - out.println(""); - } - out.println(""); - certs = session.getLocalCertificates(); - if (certs != null && certs.length > 0) - { - out.print(""); - for (int i = 0; i < certs.length; i++) - { - out.println("-----BEGIN CERTIFICATE-----"); - try - { - out.print(Base64.encode(certs[i].getEncoded(), 70)); - } - catch (CertificateEncodingException cee) - { - throw new IOException(cee.toString()); - } - out.println("-----END CERTIFICATE-----"); - } - out.println(""); - } - random.nextBytes (salt); - pbekdf.init(Collections.singletonMap(IPBE.SALT, salt)); - try - { - pbekdf.nextBytes(key, 0, key.length); - pbekdf.nextBytes(iv, 0, iv.length); - pbekdf.nextBytes(mackey, 0, mackey.length); - cipher.reset(); - cipher.init(cipherAttr); - mac.init(macAttr); - } - catch (Exception ex) - { - throw new Error(ex.toString()); - } - for (int i = 0; i < session.masterSecret.length; i += 16) - { - cipher.update(session.masterSecret, i, encryptedSecret, i); - } - mac.update(encryptedSecret, 0, encryptedSecret.length); - byte[] macValue = mac.digest(); - out.print(""); - out.print(Base64.encode(Util.concat(encryptedSecret, macValue), 70)); - out.println(""); - out.println(""); - } - out.println(""); - out.close(); - } - - // Inner class. - // ------------------------------------------------------------------------- - - private class SAXHandler extends DefaultHandler - { - - // Field. - // ----------------------------------------------------------------------- - - private SessionContext context; - private Session current; - private IRandom pbekdf; - private StringBuffer buf; - private String certType; - private int state; - private IMode cipher; - private HashMap cipherAttr; - private IMac mac; - private HashMap macAttr; - private byte[] key; - private byte[] iv; - private byte[] mackey; - - private static final int START = 0; - private static final int SESSIONS = 1; - private static final int SESSION = 2; - private static final int PEER = 3; - private static final int PEER_CERTS = 4; - private static final int CERTS = 5; - private static final int SECRET = 6; - - // Constructor. - // ----------------------------------------------------------------------- - - SAXHandler(SessionContext context, IRandom pbekdf) - { - this.context = context; - this.pbekdf = pbekdf; - buf = new StringBuffer(); - state = START; - cipher = ModeFactory.getInstance("CBC", "AES", 16); - cipherAttr = new HashMap(); - mac = MacFactory.getInstance("HMAC-SHA1"); - macAttr = new HashMap(); - key = new byte[32]; - iv = new byte[16]; - mackey = new byte[20]; - cipherAttr.put(IMode.KEY_MATERIAL, key); - cipherAttr.put(IMode.IV, iv); - cipherAttr.put(IMode.STATE, new Integer(IMode.DECRYPTION)); - macAttr.put(IMac.MAC_KEY_MATERIAL, mackey); - } - - // Instance methods. - // ----------------------------------------------------------------------- - - public void startElement(String u, String n, String qname, Attributes attr) - throws SAXException - { - qname = qname.toLowerCase(); - switch (state) - { - case START: - if (qname.equals("sessions")) - { - try - { - timeout = Integer.parseInt(attr.getValue("timeout")); - cacheSize = Integer.parseInt(attr.getValue("size")); - if (timeout <= 0 || cacheSize < 0) - throw new SAXException("timeout or cache size out of range"); - } - catch (NumberFormatException nfe) - { - throw new SAXException(nfe); - } - state = SESSIONS; - } - else - throw new SAXException("expecting sessions"); - break; - - case SESSIONS: - if (qname.equals("session")) - { - try - { - current = new Session(Long.parseLong(attr.getValue("created"))); - current.enabledSuites = new ArrayList(SSLSocket.supportedSuites); - current.enabledProtocols = new TreeSet(SSLSocket.supportedProtocols); - current.context = context; - current.sessionId = new Session.ID(Base64.decode(attr.getValue("id"))); - current.setLastAccessedTime(Long.parseLong(attr.getValue("timestamp"))); - } - catch (Exception ex) - { - throw new SAXException(ex); - } - String prot = attr.getValue("protocol"); - if (prot.equals("SSLv3")) - current.protocol = ProtocolVersion.SSL_3; - else if (prot.equals("TLSv1")) - current.protocol = ProtocolVersion.TLS_1; - else if (prot.equals("TLSv1.1")) - current.protocol = ProtocolVersion.TLS_1_1; - else - throw new SAXException("bad protocol: " + prot); - current.cipherSuite = CipherSuite.forName(attr.getValue("suite")); - state = SESSION; - } - else - throw new SAXException("expecting session"); - break; - - case SESSION: - if (qname.equals("peer")) - { - current.peerHost = attr.getValue("host"); - state = PEER; - } - else if (qname.equals("certificates")) - { - certType = attr.getValue("type"); - state = CERTS; - } - else if (qname.equals("secret")) - { - byte[] salt = null; - try - { - salt = Base64.decode(attr.getValue("salt")); - } - catch (IOException ioe) - { - throw new SAXException(ioe); - } - pbekdf.init(Collections.singletonMap(IPBE.SALT, salt)); - state = SECRET; - } - else - throw new SAXException("bad element: " + qname); - break; - - case PEER: - if (qname.equals("certificates")) - { - certType = attr.getValue("type"); - state = PEER_CERTS; - } - else - throw new SAXException("bad element: " + qname); - break; - - default: - throw new SAXException("bad element: " + qname); - } - } - - public void endElement(String uri, String name, String qname) - throws SAXException - { - qname = qname.toLowerCase(); - switch (state) - { - case SESSIONS: - if (qname.equals("sessions")) - state = START; - else - throw new SAXException("expecting sessions"); - break; - - case SESSION: - if (qname.equals("session")) - { - current.valid = true; - context.addSession(current.sessionId, current); - state = SESSIONS; - } - else - throw new SAXException("expecting session"); - break; - - case PEER: - if (qname.equals("peer")) - state = SESSION; - else - throw new SAXException("unexpected element: " + qname); - break; - - case PEER_CERTS: - if (qname.equals("certificates")) - { - try - { - CertificateFactory fact = CertificateFactory.getInstance(certType); - current.peerCerts = (Certificate[]) - fact.generateCertificates(new ByteArrayInputStream( - buf.toString().getBytes())).toArray(new Certificate[0]); - } - catch (Exception ex) - { - throw new SAXException(ex); - } - current.peerVerified = true; - state = PEER; - } - else - throw new SAXException("unexpected element: " + qname); - break; - - case CERTS: - if (qname.equals("certificates")) - { - try - { - CertificateFactory fact = CertificateFactory.getInstance(certType); - current.localCerts = (Certificate[]) - fact.generateCertificates(new ByteArrayInputStream( - buf.toString().getBytes())).toArray(new Certificate[0]); - } - catch (Exception ex) - { - throw new SAXException(ex); - } - state = SESSION; - } - else - throw new SAXException("unexpected element: " + qname); - break; - - case SECRET: - if (qname.equals("secret")) - { - byte[] encrypted = null; - try - { - encrypted = Base64.decode(buf.toString()); - if (encrypted.length != 68) - throw new IOException("encrypted secret not 68 bytes long"); - pbekdf.nextBytes(key, 0, key.length); - pbekdf.nextBytes(iv, 0, iv.length); - pbekdf.nextBytes(mackey, 0, mackey.length); - cipher.reset(); - cipher.init(cipherAttr); - mac.init(macAttr); - } - catch (Exception ex) - { - throw new SAXException(ex); - } - mac.update(encrypted, 0, 48); - byte[] macValue = mac.digest(); - for (int i = 0; i < macValue.length; i++) - { - if (macValue[i] != encrypted[48+i]) - throw new SAXException("MAC mismatch"); - } - current.masterSecret = new byte[48]; - for (int i = 0; i < current.masterSecret.length; i += 16) - { - cipher.update(encrypted, i, current.masterSecret, i); - } - state = SESSION; - } - else - throw new SAXException("unexpected element: " + qname); - break; - - default: - throw new SAXException("unexpected element: " + qname); - } - buf.setLength(0); - } - - public void characters(char[] ch, int off, int len) throws SAXException - { - if (state != CERTS && state != PEER_CERTS && state != SECRET) - { - throw new SAXException("illegal character data"); - } - buf.append(ch, off, len); - } - } -} diff --git a/libjava/classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java b/libjava/classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java index 66a4e24ff18..b9dc7a3d2a5 100644 --- a/libjava/classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java +++ b/libjava/classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java @@ -1,5 +1,5 @@ /* UtilDelegateImpl.java -- - Copyright (C) 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.javax.rmi.CORBA; +import gnu.classpath.VMStackWalker; + import gnu.CORBA.Minor; import gnu.CORBA.ObjectCreator; import gnu.CORBA.Poa.ORB_1_4; @@ -70,6 +72,7 @@ import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; +import java.net.MalformedURLException; import java.rmi.AccessException; import java.rmi.MarshalException; import java.rmi.NoSuchObjectException; @@ -374,37 +377,24 @@ public class UtilDelegateImpl throws ClassNotFoundException { if (loader == null) - loader = Thread.currentThread().getContextClassLoader(); + loader = VMStackWalker.firstNonNullClassLoader(); String p_useCodebaseOnly = System.getProperty("java.rmi.server.useCodebaseOnly"); boolean useCodebaseOnly = p_useCodebaseOnly != null && p_useCodebaseOnly.trim().equalsIgnoreCase("true"); - try - { - if (remoteCodebase != null && !useCodebaseOnly) - return RMIClassLoader.loadClass(remoteCodebase, className); - } - catch (Exception e) - { - // This failed but try others. - } + if (useCodebaseOnly) + remoteCodebase = null; try { - if (remoteCodebase == null || useCodebaseOnly) - return RMIClassLoader.loadClass(remoteCodebase, className); + return RMIClassLoader.loadClass(remoteCodebase, className, loader); } - catch (Exception e) + catch (MalformedURLException x) { - // This failed but try others. + throw new ClassNotFoundException(className, x); } - - if (loader != null) - return Class.forName(className, true, loader); - - throw new ClassNotFoundException(className + " at " + remoteCodebase); } /** diff --git a/libjava/classpath/gnu/javax/security/auth/callback/AbstractCallbackHandler.java b/libjava/classpath/gnu/javax/security/auth/callback/AbstractCallbackHandler.java index eeedf2605db..5144f58ea4c 100644 --- a/libjava/classpath/gnu/javax/security/auth/callback/AbstractCallbackHandler.java +++ b/libjava/classpath/gnu/javax/security/auth/callback/AbstractCallbackHandler.java @@ -83,65 +83,102 @@ public abstract class AbstractCallbackHandler implements CallbackHandler this.name = name; } - // Class methods. - // ------------------------------------------------------------------------- - + /** + * Create an instance of CallbackHandler of the designated + * type from the first Security Provider which offers it. + * + * @param type the type of callback handler to create. + * @return a newly created instance of ClassbackHandler. + * @throws NoSuchAlgorithmException if no security provider is found to offer + * an implementation of CallbackHandler of the + * designated type. + */ public static CallbackHandler getInstance(String type) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(type, p[i]); - } - catch (NoSuchAlgorithmException ignored) - { - } - } + try + { + return getInstance(type, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(type); } + /** + * Create an instance of CallbackHandler of the designated + * type from the named security provider. + * + * @param type the type of callback handler to create. + * @param provider a named security provider to use. + * @return a newly created instance of ClassbackHandler. + * @throws NoSuchAlgorithmException if no security provider is found to offer + * an implementation of CallbackHandler of the + * designated type. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. + */ public static CallbackHandler getInstance(String type, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(type, p); } + /** + * Create an instance of CallbackHandler of the designated + * type from the designated security provider. + * + * @param type the type of callback handler to create. + * @param provider a security provider to use. + * @return a newly created instance of ClassbackHandler. + * @throws NoSuchAlgorithmException if no security provider is found to offer + * an implementation of CallbackHandler of the + * designated type. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. + */ public static CallbackHandler getInstance(String type, Provider provider) throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("CallbackHandler of type [") + .append(type).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { return (CallbackHandler) Engine.getInstance(SERVICE, type, provider); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - Throwable cause = ite.getCause(); + cause = x.getCause(); if (cause instanceof NoSuchAlgorithmException) throw (NoSuchAlgorithmException) cause; - NoSuchAlgorithmException nsae = new NoSuchAlgorithmException(type); - if (cause != null) - nsae.initCause (cause); - throw nsae; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - NoSuchAlgorithmException nsae = new NoSuchAlgorithmException(type); - nsae.initCause (cce); - throw nsae; + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------- - public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { diff --git a/libjava/classpath/gnu/javax/security/auth/callback/CertificateCallback.java b/libjava/classpath/gnu/javax/security/auth/callback/CertificateCallback.java new file mode 100644 index 00000000000..fcec1196235 --- /dev/null +++ b/libjava/classpath/gnu/javax/security/auth/callback/CertificateCallback.java @@ -0,0 +1,64 @@ +/* CertificateCallback.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package gnu.javax.security.auth.callback; + +import java.security.cert.Certificate; + +import javax.security.auth.callback.ConfirmationCallback; + +/** + * A {@link javax.security.auth.callback.Callback} for confirming whether or + * not a certificate may be used. This works similarly to + * {@link ConfirmationCallback}, but additionally contains the certificate + * being verified. Thus, handlers may present the certificate to the user, when + * handling this callback. + * + * @author Casey Marshall (csm@gnu.org) + */ +public class CertificateCallback extends ConfirmationCallback +{ + static final long serialVersionUID = 8343869651419225634L; + public final Certificate certificate; + + public CertificateCallback(Certificate cert, String prompt) + { + super(prompt, ERROR, YES_NO_OPTION, NO); + this.certificate = cert; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/BorderStyle.java b/libjava/classpath/gnu/javax/swing/text/html/css/BorderStyle.java new file mode 100644 index 00000000000..d75beea5247 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/BorderStyle.java @@ -0,0 +1,64 @@ +/* BorderStyle.java -- Utility for dealing with border styles + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +/** + * Utility class for handling border styles. + */ +public class BorderStyle +{ + + /** + * Determines if a given value makes up a valid border style value. + * + * @param value the value to check + * + * @return true when this is a valid border style, + * false otherwise + */ + public static boolean isValidStyle(String value) + { + return value.equals("none") || value.equals("hidden") + || value.equals("dotted") || value.equals("dashed") + || value.equals("solid") || value.equals("double") + || value.equals("groove") || value.equals("ridge") + || value.equals("inset") || value.equals("outset"); + + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/BorderWidth.java b/libjava/classpath/gnu/javax/swing/text/html/css/BorderWidth.java new file mode 100644 index 00000000000..ae64c21101c --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/BorderWidth.java @@ -0,0 +1,78 @@ +/* BorderWidth.java -- A CSS metric for border widths + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +/** + * A special CSS metric for border widths. It basically understands everything + * as Length, and in addition to that provides a mapping for the border-width's + * thin, medium and think values. + */ +public class BorderWidth + extends Length +{ + + /** + * Creates a new BorderWidth instance. + * + * @param val the CSS value to be interpreted + */ + public BorderWidth(String val) + { + super(val); + if (val.equals("thin")) + floatValue = 1.F; + else if (val.equals("medium")) + floatValue = 2.F; + else if (val.equals("thick")) + floatValue = 3.F; + } + + /** + * Checks if the specified value makes up a valid border-width value. + * + * @param value the value to check + * + * @return true if the value is a valid border-width + */ + public static boolean isValid(String value) + { + return value.equals("thin") || value.equals("medium") + || value.equals("thick") || Length.isValid(value); + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSColor.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSColor.java new file mode 100644 index 00000000000..ea4b94ae0a5 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSColor.java @@ -0,0 +1,170 @@ +/* CSSColor.java -- Converts CSS color values + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.awt.Color; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Set; + +/** + * Converts CSS color values into AWT Color values. + * + * @author Roman Kennke (kennke@aicas.com) + */ +public class CSSColor +{ + + private static final HashMap COLOR_MAP; + static + { + COLOR_MAP = new HashMap(); + COLOR_MAP.put("maroon", "#800000"); + COLOR_MAP.put("red", "#ff0000"); + COLOR_MAP.put("orange", "#ffa500"); + COLOR_MAP.put("yellow", "#ffff00"); + COLOR_MAP.put("olive", "#808000"); + COLOR_MAP.put("purple", "#800080"); + COLOR_MAP.put("fuchsia", "#ff00ff"); + COLOR_MAP.put("white", "#ffffff"); + COLOR_MAP.put("lime", "#00ff00"); + COLOR_MAP.put("green", "#008000"); + COLOR_MAP.put("navy", "#000080"); + COLOR_MAP.put("blue", "#0000ff"); + COLOR_MAP.put("aqua", "#00ffff"); + COLOR_MAP.put("teal", "#008080"); + COLOR_MAP.put("black", "#000000"); + COLOR_MAP.put("silver", "#c0c0c0"); + COLOR_MAP.put("gray", "#808080"); + } + + /** + * The CSS value. + */ + private String value; + + /** + * The converted color. + */ + private Color color; + + /** + * Creates a new instance. + * + * @param val the CSS value + */ + public CSSColor(String val) + { + value = val; + color = convertValue(value); + } + + /** + * Converts a CSS color value to an AWT color. + * + * @param value the CSS color value + * + * @return the converted color value + */ + public static Color convertValue(String value) + { + Color color; + String val1 = value.toLowerCase(); + if (val1.charAt(0) != '#') + val1 = (String) COLOR_MAP.get(val1); + if (val1 != null) + { + String hexVal = val1.substring(1).trim(); + try + { + int rgb = Integer.parseInt(hexVal, 16); + color = new Color(rgb); + } + catch (NumberFormatException ex) + { + color = Color.BLACK; + } + } + else + color = null; + return color; + } + + /** + * Returns the converted color. + * + * @return the converted color + */ + public Color getValue() + { + return color; + } + + public String toString() + { + return value; + } + + /** + * Returns true if the specified value is a valid color value, + * false otherwise. + * + * @param val the value to check + * + * @return true if the specified value is a valid color value, + * false otherwise + */ + public static boolean isValidColor(String val) + { + boolean ret = false; + if (val.charAt(0) == '#') + ret = true; + else + { + Set colors = COLOR_MAP.keySet(); + for (Iterator i = colors.iterator(); i.hasNext() && ret == false;) + { + String color = (String) i.next(); + if (color.equalsIgnoreCase(val)) + ret = true; + } + } + return ret; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSLexicalException.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSLexicalException.java new file mode 100644 index 00000000000..13968e4d2cd --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSLexicalException.java @@ -0,0 +1,60 @@ +/* CSSLexicalException.java -- Indicates a failure in the lexical analyser + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.io.IOException; + +/** + * Indicates a failure in the lexical analyser of the CSS parser. + */ +public class CSSLexicalException + extends IOException +{ + + public CSSLexicalException() + { + super(); + } + + public CSSLexicalException(String message) + { + super(message); + } + +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java new file mode 100644 index 00000000000..5647e25069d --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java @@ -0,0 +1,500 @@ +/* CSSParser.java -- A parser for CSS stylesheets + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.StringTokenizer; + +/** + * A parser for CSS stylesheets. + * + * This parser is based on the simple CSS grammar describe in + * + * http://www.w3.org/TR/CSS21/syndata.html . + * + * @author Roman Kennke (kennke@aicas.com) + */ +// TODO: Maybe use more restrictive grammar: +// http://www.w3.org/TR/CSS21/grammar.html#q1 +public class CSSParser +{ + + /** + * The scanner used to read the input streams into more usable tokens. + */ + private CSSScanner scanner; + + /** + * The parser callback. + */ + private CSSParserCallback callback; + + /** + * One lookahead token. + */ + private int lookahead; + + /** + * The parse error. + */ + private String error; + + /** + * Creates a new CSSParser that parses the specified input. + * + * @param in the source to parse + */ + public CSSParser(Reader in, CSSParserCallback cb) + { + scanner = new CSSScanner(in); + callback = cb; + lookahead = -1; + } + + /** + * Parses the input source specified in the constructor. + * + * @throws IOException if an IO or parse error occurs + */ + public void parse() + throws IOException + { + boolean success = parseStylesheet(); + if (! success) + { + throw new CSSParserException(error); + } + } + + /** + * Parses a stylesheet. + * + * @return true if the stylesheet could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseStylesheet() + throws IOException + { + int token = peekToken(); + while (token != CSSScanner.EOF && (token == CSSScanner.CDC + || token == CSSScanner.CDO || token == CSSScanner.S + || parseStatement())) + { + if (token == CSSScanner.CDC || token == CSSScanner.CDO + || token == CSSScanner.S) + readToken(); + token = peekToken(); + } + // Last token must be EOF for valid stylesheets, I'd think. + return token == CSSScanner.EOF; + } + + /** + * Parses a CSS statement. + * @return true if the stylesheet could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseStatement() + throws IOException + { + return parseRuleset() || parseAtRule(); + } + + /** + * Parses a CSS rule set. + * + * @return true if the ruleset could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseRuleset() + throws IOException + { + StringBuilder selector = new StringBuilder(); + parseSelector(selector); + StringTokenizer selSplitter = + new StringTokenizer(selector.toString(), ","); + Selector[] sels = new Selector[selSplitter.countTokens()]; + for (int i = 0; selSplitter.hasMoreTokens(); i++) + { + String sel = selSplitter.nextToken().trim(); + sels[i] = new Selector(sel); + } + callback.startStatement(sels); + // Read any number of whitespace. + int token; + do + { + token = readToken(); + } while (token == CSSScanner.S); + boolean ret = true; + + if (token == CSSScanner.CURLY_LEFT) + { + // Read any number of whitespace. + do + { + token = readToken(); + } while (token == CSSScanner.S); + lookahead = token; + + // Maybe read declaration. + boolean decl = parseDeclaration(); + token = peekToken(); + while (token == CSSScanner.SEMICOLON) + { + readToken(); // Read the semicolon. + // Read any number of whitespace. + do + { + token = readToken(); + } while (token == CSSScanner.S); + lookahead = token; + + // Maybe read declaration. + parseDeclaration(); + token = peekToken(); + } + if (token != CSSScanner.CURLY_RIGHT) + { + error = "Expected right curly brace"; + ret = false; + } + else + { + readToken(); + // Read any number of whitespace. + do + { + token = readToken(); + } while (token == CSSScanner.S); + lookahead = token; + callback.endStatement(); + } + } + else + { + ret = false; + error = "Expected left curly brace"; + } + return ret; + } + + /** + * Parses a CSS declaration. + * + * @return true if the ruleset could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseDeclaration() + throws IOException + { + // Maybe fetch one DELIM. + int token = readToken(); + if (token == CSSScanner.DELIM) + token = readToken(); + + boolean ret = true; + + // Parse property + String property = null; + if (token == CSSScanner.IDENT) + { + property = new String(scanner.parseBuffer, 0, scanner.tokenEnd); + // Read any number of whitespace. + do + { + token = readToken(); + } while (token == CSSScanner.S); + + // Read ':'. + if (token == CSSScanner.DELIM && scanner.parseBuffer[0] == ':') + { + // Read any number of whitespace. + do + { + token = readToken(); + } while (token == CSSScanner.S); + lookahead = token; + + StringBuilder value = new StringBuilder(); + if (parseValue(value)) + { + callback.declaration(property, value.toString().trim()); + } + else + { + ret = false; + error = "Error while reading the property value"; + } + } + else + { + ret = false; + error = "Expected colon to separate property and value"; + } + + } + else + { + lookahead = token; + ret = false; + error = "Expected IDENT token for property"; + } + return ret; + } + + /** + * Parses a property value. + * + * @param s the string builder to read the value into + * + * @return true if the ruleset could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseValue(StringBuilder s) + throws IOException + { + // FIXME: Handle block and ATKEYWORD. + boolean success = parseAny(s); + while (parseAny(s)); + return success; + } + + /** + * Parses a selector. + * + * @param sel the string buffer to put the selector into + * + * @return true if the ruleset could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseSelector(StringBuilder sel) + throws IOException + { + // At least one any needs to be parsed. + boolean ret = parseAny(sel); + if (ret) + { + while (parseAny(sel)); + } + return ret; + } + + /** + * Parses the any rule. If s is not null, then the contents of the + * tokens is appended verbatim. + * + * @param s the string builder to append to + * + * @return true if the ruleset could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseAny(StringBuilder s) + throws IOException + { + int token = peekToken(); + boolean ret = false; + if (token == CSSScanner.IDENT || token == CSSScanner.NUMBER + || token == CSSScanner.PERCENTAGE || token == CSSScanner.DIMENSION + || token == CSSScanner.STRING || token == CSSScanner.DELIM + || token == CSSScanner.URI || token == CSSScanner.HASH + || token == CSSScanner.UNICODE_RANGE || token == CSSScanner.INCLUDES + || token == CSSScanner.DASHMATCH) + { + if (s != null) + s.append(scanner.parseBuffer, 0, scanner.tokenEnd); + readToken(); + ret = true; + } + else if (token == CSSScanner.FUNCTION) + System.err.println("Implement parseAny for FUNCTION"); + else if (token == CSSScanner.PAREN_LEFT) + System.err.println("Implement parseAny for ("); + else if (token == CSSScanner.BRACE_LEFT) + System.err.println("Implement parseAny for ["); + + // Parse any following whitespace too. + token = peekToken(); + while (token == CSSScanner.S) + { + if (s != null) + s.append(scanner.parseBuffer, 0, scanner.tokenEnd); + readToken(); + token = peekToken(); + } + return ret; + } + + /** + * Parses a CSS at-rule. + * + * @return true if the at-rule could be parsed successfully, + * false otherwise + * + * @throws IOException if an IO or parse error occurs + */ + private boolean parseAtRule() + throws IOException + { + // FIXME: Implement. + return false; + } + + /** + * Reads the next token, and skips the comments. + * + * @return the next non-comment token + */ + private int readToken() + throws IOException + { + int token; + if (lookahead == -1) + { + do + { + token = scanner.nextToken(); + } while (token == CSSScanner.COMMENT); + } + else + { + token = lookahead; + lookahead = -1; + } + return token; + } + + /** + * Returns the next token to be read, without really reading it. The next + * call to readToken() will return the same token again. + * + * @return the next token to be read, without really reading it + */ + private int peekToken() + throws IOException + { + int token; + if (lookahead == -1) + { + do + { + token = scanner.nextToken(); + } while (token == CSSScanner.COMMENT); + lookahead = token; + } + else + token = lookahead; + return token; + } + + /** + * For testing, we read in the default.css in javax/swing/text/html + * + * @param args + */ + public static void main(String[] args) + { + try + { + InputStream in; + if (args.length > 0) + { + File file = new File(args[0]); + in = new FileInputStream(file); + } + else + { + String name = "/javax/swing/text/html/default.css"; + in = CSSScanner.class.getResourceAsStream(name); + } + BufferedInputStream bin = new BufferedInputStream(in); + InputStreamReader r = new InputStreamReader(bin); + CSSParserCallback cb = new CSSParserCallback() + { + public void startStatement(Selector[] selector) + { + System.out.print("startStatement: "); + for (int i = 0; i < selector.length; i++) + { + System.out.print(selector[i]); + if (i < selector.length - 1) + System.out.print(','); + else + System.out.println(); + } + } + public void endStatement() + { + System.out.println("endStatement"); + } + public void declaration(String property, String value) + { + System.out.println("declaration: " + property + ", " + value); + } + }; + CSSParser p = new CSSParser(r, cb); + p.parse(); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParserCallback.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParserCallback.java new file mode 100644 index 00000000000..f49ffa232de --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParserCallback.java @@ -0,0 +1,81 @@ +/* CSSParserCallback.java -- Callback for parsing CSS + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +/** + * Defines the callback that is used by the CSSParser to notify the + * backend of the parsing process. + * + * @author Roman Kennke (kennke@aicas.com) + */ +public interface CSSParserCallback +{ + + /** + * Signals the beginning of a statement. + * + * A CSS statement is build up like follows: + *
    +   *  {
    +   *   ... declarations...
    +   * }
    +   * 
    + * + * After startStatement(), the callback will receive zero to n callbacks + * to declaration, followed by an endStatement() call. + * + * @param selector the selector of the statement. + */ + void startStatement(Selector[] selector); + + /** + * Signals the end of a statement. + */ + void endStatement(); + + /** + * Signals the parsing of one declaration, which defines a mapping + * from a property to a value. + * + * @param property the property + * @param value the value + */ + void declaration(String property, String value); + +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParserException.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParserException.java new file mode 100644 index 00000000000..2328d539804 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParserException.java @@ -0,0 +1,62 @@ +/* CSSParserException.java -- The CSS parser exception + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.io.IOException; + +/** + * This exception is raised when the CSS parser hits a syntax error. + * + * @author Roman Kennke (kennke@aicas.com) + */ +public class CSSParserException + extends IOException +{ + + /** + * Creates a new CSSParserException. + * + * @param message the exception message + */ + public CSSParserException(String message) + { + super(message); + } + +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSScanner.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSScanner.java new file mode 100644 index 00000000000..9cc6209a549 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSScanner.java @@ -0,0 +1,718 @@ +/* CSSScanner.java -- A parser for CSS stylesheets + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; + +/** + * A tokenizer for CSS stylesheets. This is based on the scanner definition + * from: + * + * http://www.w3.org/TR/CSS21/syndata.html#tokenization + * + * @author Roman Kennke (kennke@aicas.com) + */ +// TODO: Maybe implement more restrictive scanner: +// http://www.w3.org/TR/CSS21/grammar.html#q2 +class CSSScanner +{ + + // The tokens. This list is taken from: + // http://www.w3.org/TR/CSS21/syndata.html#tokenization + static final int IDENT = 1; + static final int ATKEYWORD = 2; + static final int STRING = 3; + static final int INVALID = 4; + static final int HASH = 5; + static final int NUMBER = 6; + static final int PERCENTAGE = 7; + static final int DIMENSION = 8; + static final int URI = 9; + static final int UNICODE_RANGE = 10; + static final int CDO = 11; + static final int CDC = 12; + static final int SEMICOLON = 13; + static final int CURLY_LEFT = 14; + static final int CURLY_RIGHT = 15; + static final int PAREN_LEFT = 16; + static final int PAREN_RIGHT = 17; + static final int BRACE_LEFT = 16; + static final int BRACE_RIGHT = 17; + static final int S = 18; + static final int COMMENT = 19; + static final int FUNCTION = 20; + static final int INCLUDES = 21; + static final int DASHMATCH = 22; + static final int DELIM = 23; + + // Additional tokens defined for convenience. + static final int EOF = -1; + + /** + * The input source. + */ + private Reader in; + + /** + * The parse buffer. + */ + char[] parseBuffer; + + /** + * The end index in the parseBuffer of the current token. + */ + int tokenEnd; + + /** + * The lookahead 'buffer'. + */ + private int[] lookahead; + + CSSScanner(Reader r) + { + lookahead = new int[2]; + lookahead[0] = -1; + lookahead[1] = -1; + parseBuffer = new char[2048]; + in = r; + } + + /** + * Fetches the next token. The actual character data is in the parseBuffer + * afterwards with the tokenStart at index 0 and the tokenEnd field + * pointing to the end of the token. + * + * @return the next token + */ + int nextToken() + throws IOException + { + tokenEnd = 0; + int token = -1; + int next = read(); + if (next != -1) + { + switch (next) + { + case ';': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = SEMICOLON; + break; + case '{': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = CURLY_LEFT; + break; + case '}': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = CURLY_RIGHT; + break; + case '(': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = PAREN_LEFT; + break; + case ')': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = PAREN_RIGHT; + break; + case '[': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = BRACE_LEFT; + break; + case ']': + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = BRACE_RIGHT; + break; + case '@': + parseBuffer[0] = (char) next; + tokenEnd = 1; + readIdent(); + token = ATKEYWORD; + break; + case '#': + parseBuffer[0] = (char) next; + tokenEnd = 1; + readName(); + token = HASH; + break; + case '\'': + case '"': + lookahead[0] = next; + readString(); + token = STRING; + break; + case ' ': + case '\t': + case '\r': + case '\n': + case '\f': + lookahead[0] = next; + readWhitespace(); + token = S; + break; + // FIXME: Detecting an URI involves several characters lookahead. +// case 'u': +// lookahead[0] = ch; +// readURI(); +// token = URI; +// break; + case '<': + parseBuffer[0] = (char) next; + parseBuffer[1] = (char) read(); + parseBuffer[2] = (char) read(); + parseBuffer[3] = (char) read(); + if (parseBuffer[1] == '!' && parseBuffer[2] == '-' + && parseBuffer[3] == '-') + { + token = CDO; + tokenEnd = 4; + } + else + throw new CSSLexicalException("expected CDO token"); + break; + case '/': + lookahead[0] = next; + readComment(); + token = COMMENT; + break; + case '~': + parseBuffer[0] = (char) next; + parseBuffer[1] = (char) read(); + if (parseBuffer[1] == '=') + token = INCLUDES; + else + throw new CSSLexicalException("expected INCLUDES token"); + break; + case '|': + parseBuffer[0] = (char) next; + parseBuffer[1] = (char) read(); + if (parseBuffer[1] == '=') + token = DASHMATCH; + else + throw new CSSLexicalException("expected DASHMATCH token"); + break; + case '-': + int ch2 = read(); + if (ch2 == '-') + { + int ch3 = read(); + if (ch3 == '>') + { + parseBuffer[0] = (char) next; + parseBuffer[1] = (char) ch2; + parseBuffer[2] = (char) ch3; + tokenEnd = 3; + token = CDC; + } + else + throw new CSSLexicalException("expected CDC token"); + } + else + { + lookahead[0] = next; + lookahead[1] = ch2; + readIdent(); + int ch3 = read(); + if (ch3 == -1 || ch3 != '(') + { + lookahead[0] = ch3; + token = IDENT; + } + else + { + parseBuffer[tokenEnd] = (char) ch3; + tokenEnd++; + token = FUNCTION; + } + } + break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + lookahead[0] = next; + readNum(); + int ch3 = read(); + if (ch3 == '%') + { + parseBuffer[tokenEnd] = (char) ch3; + tokenEnd++; + token = PERCENTAGE; + } + else if (ch3 == -1 || (! (ch3 == '_' + || (ch3 >= 'a' && ch3 <= 'z') + || (ch3 >= 'A' && ch3 <= 'Z') + || ch3 == '\\' || ch3 > 177))) + { + lookahead[0] = ch3; + token = NUMBER; + } + else + { + lookahead[0] = ch3; + readIdent(); + token = DIMENSION; + } + break; + default: + // Handle IDENT that don't begin with '-'. + if (next == '_' || (next >= 'a' && next <= 'z') + || (next >= 'A' && next <= 'Z') || next == '\\' || next > 177) + { + lookahead[0] = next; + readIdent(); + int ch4 = read(); + if (ch4 == -1 || ch4 != '(') + { + lookahead[0] = ch4; + token = IDENT; + } + else + { + parseBuffer[tokenEnd] = (char) ch4; + tokenEnd++; + token = FUNCTION; + } + } + else + { + parseBuffer[0] = (char) next; + tokenEnd = 1; + token = DELIM; + } + break; + } + } + return token; + } + + String currentTokenString() + { + return new String(parseBuffer, 0, tokenEnd); + } + + /** + * Reads one character from the input stream or from the lookahead + * buffer, if it contains one character. + * + * @return the next character + * + * @throws IOException if problems occur on the input source + */ + private int read() + throws IOException + { + int ret; + if (lookahead[0] != -1) + { + ret = lookahead[0]; + lookahead[0] = -1; + } + else if (lookahead[1] != -1) + { + ret = lookahead[1]; + lookahead[1] = -1; + } + else + { + ret = in.read(); + } + return ret; + } + + /** + * Reads and identifier. + * + * @throws IOException if something goes wrong in the input source or if + * the lexical analyser fails to read an identifier + */ + private void readIdent() + throws IOException + { + int ch1 = read(); + // Read possibly leading '-'. + if (ch1 == '-') + { + parseBuffer[tokenEnd] = (char) ch1; + tokenEnd++; + ch1 = read(); + } + // What follows must be '_' or a-z or A-Z or nonascii (>177) or an + // escape. + if (ch1 == '_' || (ch1 >= 'a' && ch1 <= 'z') + || (ch1 >= 'A' && ch1 <= 'Z') || ch1 > 177) + { + parseBuffer[tokenEnd] = (char) ch1; + tokenEnd++; + } + else if (ch1 == '\\') + { + // Try to read an escape. + lookahead[0] = ch1; + readEscape(); + } + else + throw new CSSLexicalException("First character of identifier incorrect"); + + // Read any number of [_a-zA-Z0-9-] chars. + int ch = read(); + while (ch != -1 && (ch == '_' || ch == '-' || (ch >= 'a' && ch <= 'z') + || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9'))) + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + } + + // Push back last read character since it doesn't belong to the IDENT. + lookahead[0] = ch; + } + + /** + * Reads an escape. + * + * @throws IOException if something goes wrong in the input source or if + * the lexical analyser fails to read an escape + */ + private void readEscape() + throws IOException + { + int ch = read(); + if (ch != -1 && ch == '\\') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + if ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f')) + { + // Read unicode escape. + // Zero to five 0-9a-f chars can follow. + int hexcount = 0; + ch = read(); + while (((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f')) + && hexcount < 5) + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + hexcount++; + ch = read(); + } + // Now we can have a \r\n or any whitespace character following. + if (ch == '\r') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + if (ch == '\n') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + } + else + { + lookahead[0] = ch; + } + } + else if (ch == ' ' || ch == '\n' || ch == '\f' || ch == '\t') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + } + else + { + lookahead[0] = ch; + } + } + else if (ch != '\n' && ch != '\r' && ch != '\f') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + } + else + throw new CSSLexicalException("Can't read escape"); + } + else + throw new CSSLexicalException("Escape must start with '\\'"); + + } + + private void readName() + throws IOException + { + // Read first name character. + int ch = read(); + if (ch != -1 && (ch == '_' || ch == '-' || (ch >= 'a' && ch <= 'z') + || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9'))) + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + } + else + throw new CSSLexicalException("Invalid name"); + + // Read any number (at least one) of [_a-zA-Z0-9-] chars. + ch = read(); + while (ch != -1 && (ch == '_' || ch == '-' || (ch >= 'a' && ch <= 'z') + || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9'))) + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + } + + // Push back last read character since it doesn't belong to the IDENT. + lookahead[0] = ch; + } + + /** + * Reads in a string. + * + * @throws IOException + */ + private void readString() + throws IOException + { + int ch1 = read(); + if (ch1 != -1 && (ch1 == '\'' || ch1 == '\"')) + { + parseBuffer[tokenEnd] = (char) ch1; + tokenEnd++; + + // Read any number of chars until we hit another chc1 char. + // Reject newlines, except if prefixed with \. + int ch = read(); + while (ch != -1 && ch != ch1) + { + // Every non-newline and non-\ char should be ok. + if (ch != '\n' && ch != '\r' && ch != '\f' && ch != '\\') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + } + // Ok when followed by newline or as part of escape. + else if (ch == '\\') + { + int ch2 = read(); + if (ch2 == '\n' || ch2 == '\r') + { + parseBuffer[tokenEnd] = (char) ch; + parseBuffer[tokenEnd + 1] = (char) ch2; + tokenEnd += 2; + } + else + { + // Try to parse an escape. + lookahead[0] = ch; + lookahead[1] = ch2; + readEscape(); + } + } + else + throw new CSSLexicalException("Invalid string"); + + ch = read(); + } + if (ch != -1) + { + // Push the final char on the buffer. + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + } + else + throw new CSSLexicalException("Unterminated string"); + } + else + throw new CSSLexicalException("Invalid string"); + } + + /** + * Reads a chunk of whitespace. + * + * @throws IOException + */ + private void readWhitespace() + throws IOException + { + int ch = read(); + while (ch != -1 && (ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n' + || ch == '\f')) + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + } + // Push back last character read. + lookahead[0] = ch; + + } + + private void readURI() + throws IOException + { + // FIXME: Implement. + } + + /** + * Reads a comment block. + * + * @throws IOException + */ + private void readComment() + throws IOException + { + // First we need a / and a * + int ch = read(); + if (ch != -1 && ch == '/') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + if (ch != -1 && ch == '*') + { + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + boolean finished = false; + int lastChar = ch; + ch = read(); + while (! finished && ch != -1) + { + if (lastChar == '*' && ch == '/') + finished = true; + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + lastChar = ch; + ch = read(); + } + } + } + if (ch == -1) + throw new CSSLexicalException("Unterminated comment"); + + // Push back last character read. + lookahead[0] = ch; + } + + /** + * Reads a number. + * + * @throws IOException + */ + private void readNum() + throws IOException + { + boolean hadDot = false; + // First char must be number or . + int ch = read(); + if (ch != -1 && ((ch >= '0' && ch <= '9') || ch == '.')) + { + if (ch == '.') + hadDot = true; + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + // Now read in any number of digits afterwards, and maybe one dot, + // if we hadn't one already. + ch = read(); + while (ch != -1 && ((ch >= '0' && ch <= '9') + || (ch == '.' && ! hadDot))) + { + if (ch == '.') + hadDot = true; + parseBuffer[tokenEnd] = (char) ch; + tokenEnd++; + ch = read(); + } + } + else + throw new CSSLexicalException("Invalid number"); + + // Check if we haven't accidentally finished with a dot. + if (parseBuffer[tokenEnd - 1] == '.') + throw new CSSLexicalException("Invalid number"); + + // Push back last character read. + lookahead[0] = ch; + } + + /** + * For testing, we read in the default.css in javax/swing/text/html + * + * @param args + */ + public static void main(String[] args) + { + try + { + String name = "/javax/swing/text/html/default.css"; + InputStream in = CSSScanner.class.getResourceAsStream(name); + BufferedInputStream bin = new BufferedInputStream(in); + InputStreamReader r = new InputStreamReader(bin); + CSSScanner s = new CSSScanner(r); + int token; + do + { + token = s.nextToken(); + System.out.println("token: " + token + ": " + + s.currentTokenString()); + } while (token != -1); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/FontSize.java b/libjava/classpath/gnu/javax/swing/text/html/css/FontSize.java new file mode 100644 index 00000000000..2795b678401 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/FontSize.java @@ -0,0 +1,273 @@ +/* FontSize.java -- Converts CSS font size values into real values + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +/** + * Converts CSS font-size values into real (point) values. + * + * @author Roman Kennke (kennke@aicas.com) + */ +public class FontSize +{ + + /** + * The CSS value. + */ + private String value; + + /** + * The actual font size. + */ + private int size; + + /** + * The index of one of the standard sizes that this font size maps to. + * This is -1 if this fontsize doesn't map to one of the standard sizes. + * + * @see #SCALE + */ + private int sizeIndex; + + /** + * True when this font size is relative. + */ + private boolean isRelative; + + /** + * The default size for 'medium' absolute size. The other absolute sizes + * are calculated from this. + */ + public static final int DEFAULT_FONT_SIZE = 12; + + /** + * The scaling factors relative to the medium size. Medium is at index 2. + */ + private static final double[] SCALE = {0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8 }; + + /** + * Creates a new FontSize for the specified value. + * + * @param val the value to convert + */ + public FontSize(String val) + { + value = val; + sizeIndex = -1; + isRelative = false; + size = mapValue(); + } + + /** + * Returns the font size value. + * + * @return the font size value + */ + public int getValue(int p) + { + if (isRelative) + mapRelative(p); + return size; + } + + public int getValue() + { + assert ! isRelative; + return size; + } + + /** + * Returns the converted real value in point. + * + * @return the converted real value in point + */ + private int mapValue() + { + int intVal; + if (value.contains("pt")) + intVal = mapPoints(); + else if (value.contains("px")) + intVal = mapPixels(); + else if (value.contains("em") || value.contains("%") + || value.contains("larger") || value.contains("smaller")) + { + intVal = -1; + isRelative = true; + } + else + intVal = mapAbsolute(); + return intVal; + } + + /** + * Maps point values ('XXXpt'). + * + * @return the real font size + */ + private int mapPoints() + { + int end = value.indexOf("pt"); + String number = value.substring(0, end); + int intVal = Integer.parseInt(number); + return intVal; + } + + /** + * Maps pixel values ('XXXpx'). + * + * @return the real font size + */ + private int mapPixels() + { + int end = value.indexOf("px"); + if (end == -1) + end = value.length(); + String number = value.substring(0, end); + try + { + int intVal = Integer.parseInt(number); + return intVal; + } + catch (NumberFormatException ex) + { + return DEFAULT_FONT_SIZE; + } + } + + private int mapPercent(int par) + { + int end = value.indexOf("%"); + if (end == -1) + end = value.length(); + String number = value.substring(0, end); + try + { + int intVal = Integer.parseInt(number); + return intVal * par / 100; + } + catch (NumberFormatException ex) + { + System.err.println("couldn't map value: '" + value + "'"); + return DEFAULT_FONT_SIZE; + } + } + + private int mapEM(int par) + { + int end = value.indexOf("em"); + if (end == -1) + end = value.length(); + String number = value.substring(0, end); + try + { + float factor = Float.parseFloat(number); + // FIXME: Should be relative to the parent element's size. + return (int) (factor * par); + } + catch (NumberFormatException ex) + { + return DEFAULT_FONT_SIZE; + } + } + + private int mapSmaller(int par) + { + return (int) (par * 0.9); + } + + private int mapLarger(int par) + { + return (int) (par * 0.9); + } + + /** + * Maps absolute font-size values. + * + * @return the real value + */ + private int mapAbsolute() + { + int index; + if (value.equals("xx-small") || value.equals("x-small")) + index = 0; + else if (value.equals("small")) + index = 1; + else if (value.equals("medium")) + index = 2; + else if (value.equals("large")) + index = 3; + else if (value.equals("x-large")) + index = 4; + else if (value.equals("xx-large")) + index = 5; + else + index = 2; + double scale = SCALE[index]; + // FIXME: Scale the real medium size of the document, rather than the + // constant here. + int intVal = (int) (scale * DEFAULT_FONT_SIZE); + sizeIndex = index; + return intVal; + } + + /** + * Returns the string representation. + */ + public String toString() + { + return value; + } + + private int mapRelative(int par) + { + if (value.indexOf('%') != -1) + size = mapPercent(par); + else if (value.indexOf("em") != -1) + size = mapEM(par); + else if (value.indexOf("larger") != -1) + size = mapLarger(par); + else if (value.indexOf("smaller") != -1) + size = mapSmaller(par); + return size; + } + + public boolean isRelative() + { + return isRelative; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/FontStyle.java b/libjava/classpath/gnu/javax/swing/text/html/css/FontStyle.java new file mode 100644 index 00000000000..e52893193cb --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/FontStyle.java @@ -0,0 +1,80 @@ +/* FontStyle.java -- Converts font-size CSS values + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.awt.Font; + +/** + * Converts font-size CSS values to a form to be used by {@link java.awt.Font}. + * + * @author Roman Kennke (kennke@aicas.com) + */ +public class FontStyle +{ + + /** + * The real value. + */ + private String value; + + /** + * Creates a new instance. + * + * @param val the CSS value + */ + public FontStyle(String val) + { + value = val; + } + + /** + * Returns the converted value. + * + * @return the converted value + */ + public int getValue() + { + int intVal; + if (value.equals("italic") || value.equals("oblique")) + intVal = Font.ITALIC; + else + intVal = Font.PLAIN; + return intVal; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/FontWeight.java b/libjava/classpath/gnu/javax/swing/text/html/css/FontWeight.java new file mode 100644 index 00000000000..d338c6f5514 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/FontWeight.java @@ -0,0 +1,84 @@ +/* FontWeight.java -- Converts font-weight values + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.awt.Font; + +/** + * Converts font-weight CSS values to the constants defined for + * {@link java.awt.Font} + * + * @author Roman Kennke (kennke@aicas.com) + */ +public class FontWeight +{ + + /** + * The value to convert. + */ + private String value; + + /** + * Creates a new instance. + * + * @param val the value to convert + */ + public FontWeight(String val) + { + value = val; + } + + /** + * Returns the converted value. + * + * @return the converted value + */ + public int getValue() + { + int intVal; + if (value.equals("normal")) + intVal = Font.PLAIN; + else if (value.equals("bold")) + intVal = Font.BOLD; + else + // FIXME: Implement finer-grained weights. + intVal = Font.PLAIN; + return intVal; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/Length.java b/libjava/classpath/gnu/javax/swing/text/html/css/Length.java new file mode 100644 index 00000000000..06fa36e3d29 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/Length.java @@ -0,0 +1,283 @@ +/* Length.java -- Converts CSS length values + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +/** + * Converts CSS length values to usable length values. + * + * @author Roman Kennke (kennke@aicas.com) + */ +public class Length +{ + + /** + * The original value. + */ + private String value; + + /** + * The converted value. + */ + protected float floatValue; + + /** + * Indicates when the value is a percentage value. + */ + private boolean isPercentage; + + /** + * Indicates a length value that is relative to the font size (em). + */ + private boolean isFontEMRelative; + + /** + * Indicates a length value that is relative to the font size (ex). + */ + private boolean isFontEXRelative; + + /** + * The EM base size. + */ + private float emBase; + + /** + * The EX base size. + */ + private float exBase; + + /** + * Creates a new length converter instance. + * + * @param val the CSS value + */ + public Length(String val) + { + isFontEMRelative = false; + isFontEXRelative = false; + isPercentage = false; + value = val; + int i = value.indexOf("px"); + int percent = value.indexOf("%"); + int em = value.indexOf("em"); + int ex = value.indexOf("ex"); + try + { + floatValue = 0.0F; + if (i != -1) + { + String sub = value.substring(0, i); + floatValue = Float.parseFloat(sub); + } + else if (percent != -1) + { + isPercentage = true; + String sub = value.substring(0, percent); + floatValue = Float.parseFloat(sub) / 100; + } + else if (em != -1) + { + isFontEMRelative = true; + String sub = value.substring(0, em); + floatValue = Float.parseFloat(sub); + } + else if (ex != -1) + { + isFontEXRelative = true; + String sub = value.substring(0, ex); + floatValue = Float.parseFloat(sub); + } + else + { + floatValue = Float.parseFloat(value); + } + } + catch (NumberFormatException exc) + { + // Don't let such small problems interrupt CSS parsing. + System.err.println("couldn't parse: " + val); + } + } + + /** + * Returns the value converted to pixels. + * + * @return the value converted to pixels + */ + public float getValue() + { + return floatValue; + } + + /** + * Returns the absolute span for the case when this length value is + * a relative value. + * + * @param base the base span + * + * @return the absolute span + */ + public float getValue(float base) + { + float span = floatValue; + if (isPercentage) + span *= base; + else if (isFontEMRelative) + span *= emBase; + else if (isFontEXRelative) + span *= exBase; + return span; + } + + /** + * Sets the font relative EM base. + * + * @param base the font relative EM base + */ + public void setEMBase(float base) + { + emBase = base; + } + + /** + * Sets the font relative EX base. + * + * @param base the font relative EX base + */ + public void setEXBase(float base) + { + exBase = base; + } + + /** + * Sets the font relative base values. + * + * @param emBase the EM base + * @param exBase the EX base + */ + public void setFontBases(float emBase, float exBase) + { + setEMBase(emBase); + setEXBase(exBase); + } + + /** + * Returns true when this length value is an em font relative value. In + * order to get correct results, you need the exBase property set up + * correctly. + * + * @return true when this length value is an ex font relative value + */ + public boolean isFontEMRelative() + { + return isFontEMRelative; + } + + /** + * Returns true when this length value is an ex font relative value. In + * order to get correct results, you need the emBase property set up + * correctly. + * + * @return true when this length value is an ex font relative value + */ + public boolean isFontEXRelative() + { + return isFontEXRelative; + } + + /** + * Returns true when the length value is a percentage + * value, false otherwise. + * + * @return true when the length value is a percentage + * value, false otherwise + */ + public boolean isPercentage() + { + return isPercentage; + } + + /** + * Checks if the specified value makes up a valid length value. + * + * @param value the value to check + * + * @return true if the value is a valid length + */ + public static boolean isValid(String value) + { + boolean isValid = true; + int px = value.indexOf("px"); + int em = value.indexOf("em"); + int ex = value.indexOf("ex"); + int pc = value.indexOf('%'); + try + { + if (px != -1) + { + Integer.parseInt(value.substring(0, px)); + } + else if (em != -1) + { + Integer.parseInt(value.substring(0, em)); + } + else if (ex != -1) + { + Integer.parseInt(value.substring(0, ex)); + } + else if (pc != -1) + { + Integer.parseInt(value.substring(0, ex)); + } + else + { + Integer.parseInt(value); + } + } + catch (NumberFormatException nfe) + { + isValid = false; + } + return isValid; + } + + public String toString() + { + return value; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/Selector.java b/libjava/classpath/gnu/javax/swing/text/html/css/Selector.java new file mode 100644 index 00000000000..210df3a7b65 --- /dev/null +++ b/libjava/classpath/gnu/javax/swing/text/html/css/Selector.java @@ -0,0 +1,244 @@ +/* Selector.java -- A CSS selector + Copyright (C) 2006 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. */ + + +package gnu.javax.swing.text.html.css; + +import java.util.Map; +import java.util.StringTokenizer; + +/** + * A CSS selector. This provides methods to interpret a selector and + * query matches with an actual HTML element tree. + */ +public class Selector +{ + + /** + * The actual selector. The selector tokens are stored backwards, that + * is the last token first. This makes matching easier. + */ + private String[] selector; + + private String[] elements; + private String[] ids; + private String[] classes; + + /** + * The specificity of the selector. + */ + private int specificity; + + /** + * An implicit selector has true here. This is the case for CSS rules that + * are attached to HTML elements directly via style="". + */ + private boolean implicit; + + /** + * Creates a new Selector instance for the specified selector string. + * + * @param sel the selector + */ + public Selector(String sel) + { + StringTokenizer selectorTokens = new StringTokenizer(sel, " "); + selector = new String[selectorTokens.countTokens()]; + for (int i = selector.length - 1; selectorTokens.hasMoreTokens(); i--) + { + selector[i] = selectorTokens.nextToken(); + } + calculateSpecificity(); + } + + /** + * Determines if this selector matches the element path specified in the + * arguments. The arguments hold the element names as well as class + * and id attibutes of the HTML element to be queried. The first item + * in the array is the deepest element and the last on the highest up (for + * instance, the html tag). + * + * @param tags + * @param classes + * @param ids + * + * @return true when this selector matches the element path, + * false otherwise + */ + public boolean matches(String[] tags, Map[] attributes) + { + // TODO: This implements class, id and descendent matching. These are + // the most commonly used selector matchers in CSS together with HTML. + // However, the CSS spec defines a couple of more sophisticated matches + // which should be implemented. + // http://www.w3.org/TR/CSS21/selector.html + + // All parts of the selector must match at some point. + boolean match = false; + int numTags = tags.length; + int numSel = selector.length; + if (numSel <= numTags) + { + match = true; + int tagIndex = 0; + for (int j = 0; j < numSel && match; j++) + { + boolean tagMatch = false; + for (; tagIndex < numTags && tagMatch == false; tagIndex++) + { + Object pathClass = attributes[tagIndex].get("class"); + // Try pseudo class too. + Object pseudoClass = attributes[tagIndex].get("_pseudo"); + Object dynClass = attributes[tagIndex].get("_dynamic"); + Object pathId = attributes[tagIndex].get("id"); + String tag = elements[j]; + String clazz = classes[j]; + String id = ids[j]; + tagMatch = tag.equals("") || tag.equals("*") + || tag.equals(tags[tagIndex]); + tagMatch = tagMatch && (clazz.equals("*") + || clazz.equals(dynClass) + || clazz.equals(pseudoClass) + || clazz.equals(pathClass)); + tagMatch = tagMatch && (id.equals("*") + || id.equals(pathId)); + // For the last element in the selector we must not look + // further. + if (j == 0) + break; + } + // If we don't come out here with a matching tag, then we're + // not matching at all. + match = tagMatch; + } + } + return match; + } + + /** + * Returns the specificity of the selector. This is calculated according + * to: + * http://www.w3.org/TR/CSS21/cascade.html#specificity + * + * @return the specificity of the selector + */ + public int getSpecificity() + { + return specificity; + } + + /** + * Returns a string representation of the selector. This tries to reconstruct + * the original selector as closely as possible. + * + * @return a string representation of the selector + */ + public String toString() + { + StringBuilder b = new StringBuilder(); + for (int i = selector.length - 1; i >= 0; i--) + { + b.append(selector[i]); + if (i > 0) + b.append(' '); + } + return b.toString(); + } + + /** + * Calculates the specificity of the selector. This is calculated according + * to: + * http://www.w3.org/TR/CSS21/cascade.html#specificity + */ + private void calculateSpecificity() + { + int a = implicit ? 1 : 0; + int b = 0; + int c = 0; + int d = 0; + int numSel = selector.length; + elements = new String[numSel]; + ids = new String[numSel]; + classes = new String[numSel]; + for (int i = 0; i < numSel; i++) + { + String sel = selector[i]; + int clazzIndex = sel.indexOf('.'); + // Try pseudo class too. + if (clazzIndex == -1) + clazzIndex = sel.indexOf(':'); + int idIndex = sel.indexOf('#'); + String clazz; + if (clazzIndex == -1) + { + clazz = "*"; + clazzIndex = sel.length(); + } + else + { + c++; + clazz = sel.substring(clazzIndex + 1, + idIndex > 0 ? Math.min(idIndex, sel.length()) + : sel.length()); + } + String id; + if (idIndex == -1) + { + id = "*"; + idIndex = sel.length(); + } + else + { + b++; + id = sel.substring(idIndex + 1, + clazzIndex > 0 ? Math.min(clazzIndex, sel.length()) + : sel.length()); + } + String tag = sel.substring(0, + Math.min(Math.min(clazzIndex, idIndex), + sel.length())); + if (! tag.equals("") && ! tag.equals("*")) + d++; + + elements[i] = tag; + ids[i] = id; + classes[i] = clazz; + } + // An order of 20 should be enough for everybody. + specificity = a * 20 ^ 3 + b * 20 ^ 2 + c * 20 + d; + } +} diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/GnuParserDelegator.java b/libjava/classpath/gnu/javax/swing/text/html/parser/GnuParserDelegator.java index 841db667e84..273461a721e 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/GnuParserDelegator.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/GnuParserDelegator.java @@ -43,6 +43,7 @@ import java.io.Reader; import java.io.Serializable; import javax.swing.text.BadLocationException; +import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.HTMLEditorKit.ParserCallback; import javax.swing.text.html.parser.DTD; @@ -92,7 +93,7 @@ public class GnuParserDelegator extends ParserDelegator implements Serializable protected final void handleStartTag(TagElement tag) { - htmlAttributeSet attributes = gnu.getAttributes(); + SimpleAttributeSet attributes = gnu.getAttributes(); if (tag.fictional()) attributes.addAttribute(ParserCallback.IMPLIED, Boolean.TRUE); diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java b/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java index c3c347e36e3..1894b6a1ac6 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java @@ -2445,8 +2445,10 @@ public class HTML_401F attr(VALUE, null, null, 0, IMPLIED) } ); + + // Headers in the paragraph are not allowed. defElement(P, 0, false, true, new ContentModel( 0, - new noTagModel(P), null), + new noTagModel(new String[] { P, H1, H2, H3, H4, H5, H6 }), null), NONE , new String[] { diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401Swing.java b/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401Swing.java deleted file mode 100644 index 9c934f647de..00000000000 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401Swing.java +++ /dev/null @@ -1,91 +0,0 @@ -/* HTML_401Swing.java -- The HTML 4.01 DTD, adapted for HTML rendering in Swing - Copyright (C) 2006 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. */ - - -package gnu.javax.swing.text.html.parser; - -import javax.swing.text.html.parser.DTD; - -/** - * This class is necessary because the current implementation of the GNU - * Classpath Swing requires always enclose the text into paragraphs. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class HTML_401Swing extends HTML_401F -{ - /** - * The singleton instance; - */ - final static HTML_401Swing singleton = new HTML_401Swing(); - - /** - * Either takes the document (by name) from DTD table, or - * creates a new instance and registers it in the tabe. - * The document is registerd under name "-//W3C//DTD HTML 4.01 Frameset//EN". - * @return The new or existing DTD for parsing HTML 4.01 Frameset. - */ - public static DTD getInstance() - { - return singleton; - } - - /** - * Get elements that are allowed in the document body, at the zero level. - * This list disallows the text at this level (the implied P tag will be - * generated). It also disallows A, B, I, U, CITE and other similar - * elements that have the plain text inside. They will also be placed - * inside the generated implied P tags. - */ - protected String[] getBodyElements() - { - return new String[] { - APPLET, BASEFONT, - BR, BUTTON, - IFRAME, IMG, - INPUT, LABEL, MAP, OBJECT, - SCRIPT, SELECT, - TEXTAREA, - BLOCKQUOTE, CENTER, DEL, DIR, - DIV, DL, FIELDSET, FORM, H1, - H2, H3, H4, H5, H6, - HR, INS, ISINDEX, MENU, NOFRAMES, - NOSCRIPT, OL, P, PRE, TABLE, - UL - }; - } -} diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java b/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java index 4d287a67763..7507850e8f9 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java @@ -153,7 +153,7 @@ public abstract class htmlValidator * Remove the given tag from the stack or (if found) from the list * of the forcibly closed tags. */ - public void closeTag(TagElement tElement) + public boolean closeTag(TagElement tElement) { HTML.Tag tag = tElement.getHTMLTag(); hTag x; @@ -191,11 +191,12 @@ public abstract class htmlValidator } stack.remove(x); - return; + return true; } } } s_error("Closing unopened <" + tag + ">"); + return false; } /** diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java index 92f9b27c5d9..3a407310e74 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java @@ -56,6 +56,7 @@ import java.util.TreeSet; import java.util.Vector; import javax.swing.text.ChangedCharSetException; +import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTML; import javax.swing.text.html.parser.AttributeList; import javax.swing.text.html.parser.DTD; @@ -250,9 +251,9 @@ public class Parser * Get the attributes of the current tag. * @return The attribute set, representing the attributes of the current tag. */ - public htmlAttributeSet getAttributes() + public SimpleAttributeSet getAttributes() { - return attributes; + return new SimpleAttributeSet(attributes); } /** @@ -497,6 +498,9 @@ public class Parser mustBe(t.kind); } hTag = new Token(start, last); + + // Consume any whitespace immediately following a comment. + optional(WS); handleComment(); } @@ -579,6 +583,8 @@ public class Parser ); } } + // Consume any whitespace that follows the Sgml insertion. + optional(WS); } /** @@ -658,7 +664,10 @@ public class Parser else text = textProcessor.preprocess(buffer); - if (text != null && text.length > 0) + if (text != null && text.length > 0 + // According to the specs we need to discard whitespace immediately + // before a closing tag. + && (text.length > 1 || text[0] != ' ' || ! TAG_CLOSE.matches(this))) { TagElement pcdata = new TagElement(dtd.getElement("#pcdata")); attributes = htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET; @@ -889,6 +898,8 @@ public class Parser protected void parseDocument() throws ParseException { + // Read up any initial whitespace. + optional(WS); while (getTokenAhead().kind != EOF) { advanced = false; @@ -979,13 +990,15 @@ public class Parser + next.getImage() + "'"); attrValue = value.getImage(); } - else if (next.kind == SLASH) - // The slash in this context is treated as the ordinary - // character, not as a token. The slash may be part of + else if (next.kind == SLASH || next.kind == OTHER) + // The slash and other characters (like %) in this context is + // treated as the ordinary + // character, not as a token. The character may be part of // the unquoted URL. { StringBuffer image = new StringBuffer(value.getImage()); - while (next.kind == NUMTOKEN || next.kind == SLASH) + while (next.kind == NUMTOKEN || next.kind == SLASH + || next.kind == OTHER) { image.append(getNextToken().getImage()); next = getTokenAhead(); @@ -1177,6 +1190,13 @@ public class Parser { validator.validateTag(tag, attributes); handleEmptyTag(tag); + HTML.Tag h = tag.getHTMLTag(); + // When a block tag is closed, consume whitespace that follows after + // it. + // For some unknown reason a FRAME tag is not treated as block element. + // However in this case it should be treated as such. + if (isBlock(h)) + optional(WS); } catch (ChangedCharSetException ex) { @@ -1192,8 +1212,8 @@ public class Parser */ private void _handleEndTag(TagElement tag) { - validator.closeTag(tag); - _handleEndTag_remaining(tag); + if (validator.closeTag(tag)) + _handleEndTag_remaining(tag); } /** @@ -1213,6 +1233,11 @@ public class Parser if (preformatted < 0) preformatted = 0; + // When a block tag is closed, consume whitespace that follows after + // it. + if (isBlock(h)) + optional(WS); + if (h == HTML.Tag.TITLE) { titleOpen = false; @@ -1239,6 +1264,9 @@ public class Parser HTML.Tag h = tag.getHTMLTag(); + if (isBlock(h)) + optional(WS); + if (h.isPreformatted()) preformatted++; @@ -1418,8 +1446,6 @@ public class Parser hTag = new Token(start, next); - attributes.setResolveParent(defaulter.getDefaultParameters(name.getImage())); - if (!end) { // The tag body contains errors. If additionally the tag @@ -1457,7 +1483,12 @@ public class Parser if (te.getElement().type == DTDConstants.EMPTY) _handleEmptyTag(te); else - _handleStartTag(te); + { + // According to the specs we need to consume whitespace following + // immediately after a opening tag. + optional(WS); + _handleStartTag(te); + } } } @@ -1483,4 +1514,19 @@ public class Parser { error("Whitespace here is not permitted"); } + + /** + * Returns true when the specified tag should be considered a block tag + * wrt whitespace handling. We need this special handling, since there + * are a couple of tags that we must treat as block tags but which aren't + * officially block tags. + * + * @param tag the tag to check + * @return true when the specified tag should be considered a block tag + * wrt whitespace handling + */ + private boolean isBlock(HTML.Tag tag) + { + return tag.isBlock() || tag == HTML.Tag.STYLE || tag == HTML.Tag.FRAME; + } } diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Constants.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Constants.java index 283d32385ef..5416582adca 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Constants.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Constants.java @@ -209,6 +209,17 @@ public class Constants } ); + /** + * Ordinary HTML tag closing pattern. + */ + public static final pattern TAG_CLOSE = + new pattern(new node[] + { + new node(BEGIN), new node(WS, true), new node(SLASH), + new node(WS, true), new node(NUMTOKEN) + } + ); + /* Special tokens */ /** diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/textPreProcessor.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/textPreProcessor.java index cc1610585a6..6fd79e2589e 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/textPreProcessor.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/textPreProcessor.java @@ -42,17 +42,17 @@ import gnu.javax.swing.text.html.parser.support.low.Constants; /** * Pre - processes text in text parts of the html document. - * Not thread - safe. + * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class textPreProcessor { /** - * Pre - process non-preformatted text. - * \t, \r and \n mutate into spaces, then multiple spaces mutate - * into single one, all whitespace around tags is consumed. - * The content of the passed buffer is destroyed. - * @param text A text to pre-process. + * Pre - process non-preformatted text. \t, \r and \n mutate into spaces, then + * multiple spaces mutate into single one, all whitespace around tags is + * consumed. The content of the passed buffer is destroyed. + * + * @param a_text A text to pre-process. */ public char[] preprocess(StringBuffer a_text) { @@ -64,18 +64,15 @@ public class textPreProcessor int a = 0; int b = text.length - 1; - try - { - while (Constants.bWHITESPACE.get(text [ a ])) - a++; - while (Constants.bWHITESPACE.get(text [ b ])) - b--; - } - catch (ArrayIndexOutOfBoundsException sx) - { - // A text fragment, consisting from line breaks only. - return null; - } + // Remove leading/trailing whitespace, leaving at most one character + int len = text.length; + while (a + 1 < len && Constants.bWHITESPACE.get(text[a]) + && Constants.bWHITESPACE.get(text[a + 1])) + a++; + + while (b > a && Constants.bWHITESPACE.get(text[b]) + && Constants.bWHITESPACE.get(text[b - 1])) + b--; a_text.setLength(0); @@ -83,10 +80,9 @@ public class textPreProcessor boolean spaceNow; char c; - chars: - for (int i = a; i <= b; i++) + chars: for (int i = a; i <= b; i++) { - c = text [ i ]; + c = text[i]; spaceNow = Constants.bWHITESPACE.get(c); if (spacesWere && spaceNow) continue chars; diff --git a/libjava/classpath/gnu/test/.cvsignore b/libjava/classpath/gnu/test/.cvsignore new file mode 100644 index 00000000000..70845e08eb0 --- /dev/null +++ b/libjava/classpath/gnu/test/.cvsignore @@ -0,0 +1 @@ +Makefile.in diff --git a/libjava/classpath/gnu/xml/dom/DomAttr.java b/libjava/classpath/gnu/xml/dom/DomAttr.java index 8673a796161..31d7af2d2f1 100644 --- a/libjava/classpath/gnu/xml/dom/DomAttr.java +++ b/libjava/classpath/gnu/xml/dom/DomAttr.java @@ -316,7 +316,7 @@ public class DomAttr private void mutating(String oldValue, String newValue, short why) { - if (!reportMutations || parent == null) + if (!reportMutations || parent == null || equal(newValue, oldValue)) { return; } diff --git a/libjava/classpath/gnu/xml/dom/DomNode.java b/libjava/classpath/gnu/xml/dom/DomNode.java index f0915eb5e93..9af3f3e5498 100644 --- a/libjava/classpath/gnu/xml/dom/DomNode.java +++ b/libjava/classpath/gnu/xml/dom/DomNode.java @@ -668,6 +668,7 @@ public abstract class DomNode { insertionEvent(null, child); } + length++; } return child; @@ -1561,7 +1562,7 @@ public abstract class DomNode // Climb to the top of this subtree and handle capture, letting // each node (from the top down) capture until one stops it or // until we get to this one. - current = parent; + current = (parent == null) ? this : parent; if (current.depth >= ANCESTORS_INIT) { DomNode[] newants = new DomNode[current.depth + 1]; diff --git a/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java b/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java index aad5ac76e70..8c5b104b9f2 100644 --- a/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java +++ b/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java @@ -43,6 +43,7 @@ import java.util.LinkedList; import java.util.List; import javax.xml.XMLConstants; import org.w3c.dom.Attr; +import org.w3c.dom.Document; import org.w3c.dom.DocumentType; import org.w3c.dom.Element; import org.w3c.dom.Entity; @@ -72,7 +73,7 @@ import gnu.xml.dom.DomNode; * * @author Chris Burdess */ -class SAXEventSink +public class SAXEventSink implements ContentHandler, LexicalHandler, DTDHandler, DeclHandler { @@ -110,6 +111,11 @@ class SAXEventSink interrupted = true; } + protected Document getDocument() + { + return doc; + } + // -- ContentHandler2 -- public void setDocumentLocator(Locator locator) diff --git a/libjava/classpath/gnu/xml/stream/SAXParser.java b/libjava/classpath/gnu/xml/stream/SAXParser.java index e58d5fb52ff..1329ab2971c 100644 --- a/libjava/classpath/gnu/xml/stream/SAXParser.java +++ b/libjava/classpath/gnu/xml/stream/SAXParser.java @@ -1021,9 +1021,18 @@ public class SAXParser SAXParser parser = new SAXParser(validating, namespaceAware, xIncludeAware); InputSource input = new InputSource(args[pos]); - XMLReader reader = parser.getXMLReader(); - reader.setContentHandler(handler); - reader.parse(input); + java.io.FileReader fr = new java.io.FileReader(args[pos]); + input.setCharacterStream(fr); + try + { + XMLReader reader = parser.getXMLReader(); + reader.setContentHandler(handler); + reader.parse(input); + } + finally + { + fr.close(); + } pos++; } } diff --git a/libjava/classpath/gnu/xml/stream/XMLStreamWriterImpl.java b/libjava/classpath/gnu/xml/stream/XMLStreamWriterImpl.java index 291016e6716..4be9992a73d 100644 --- a/libjava/classpath/gnu/xml/stream/XMLStreamWriterImpl.java +++ b/libjava/classpath/gnu/xml/stream/XMLStreamWriterImpl.java @@ -664,12 +664,10 @@ public class XMLStreamWriterImpl public void writeDTD(String dtd) throws XMLStreamException { - // Really thoroughly pointless method... try { - if (!isName(dtd)) - throw new IllegalArgumentException("illegal Name: " + dtd); - + // XXX: Should we parse the doctypedecl at this point to ensure + // wellformedness? writer.write("'); diff --git a/libjava/classpath/gnu/xml/transform/SAXTemplatesHandler.java b/libjava/classpath/gnu/xml/transform/SAXTemplatesHandler.java new file mode 100644 index 00000000000..2c5a4686f10 --- /dev/null +++ b/libjava/classpath/gnu/xml/transform/SAXTemplatesHandler.java @@ -0,0 +1,97 @@ +/* SAXTemplatesHandler.java -- + Copyright (C) 2006 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. */ + +package gnu.xml.transform; + +import javax.xml.transform.Templates; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.TemplatesHandler; +import org.w3c.dom.Document; +import gnu.xml.dom.ls.SAXEventSink; + +/** + * A content handler that acts as a sink for SAX parse events, + * constructing an XSL stylesheet. + * Internally, this class simply creates a DOM tree from the events, + * and then parses the DOM into a Templates object. + * + * @author Chris Burdess (dog@gnu.org) + */ +class SAXTemplatesHandler + extends SAXEventSink + implements TemplatesHandler +{ + + final TransformerFactoryImpl factory; + String systemId; + + SAXTemplatesHandler(TransformerFactoryImpl factory) + { + this.factory = factory; + } + + public String getSystemId() + { + return systemId; + } + + public void setSystemId(String systemId) + { + this.systemId = systemId; + } + + public Templates getTemplates() + { + Document doc = getDocument(); + if (doc == null) + throw new IllegalStateException("Parsing of stylesheet incomplete"); + DOMSource ds = new DOMSource(doc, systemId); + try + { + return factory.newTemplates(ds); + } + catch (TransformerConfigurationException e) + { + String msg = "Unable to construct templates from this event stream"; + IllegalStateException e2 = new IllegalStateException(msg); + e2.initCause(e); + throw e2; + } + } + +} diff --git a/libjava/classpath/gnu/xml/transform/SAXTransformerHandler.java b/libjava/classpath/gnu/xml/transform/SAXTransformerHandler.java new file mode 100644 index 00000000000..83cc3754be9 --- /dev/null +++ b/libjava/classpath/gnu/xml/transform/SAXTransformerHandler.java @@ -0,0 +1,111 @@ +/* SAXTransformerHandler.java -- + Copyright (C) 2006 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. */ + +package gnu.xml.transform; + +import javax.xml.transform.Result; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.TransformerHandler; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; +import gnu.xml.dom.ls.SAXEventSink; + +/** + * A SAX event sink that processes an XML source represented as a stream of + * SAX events into a result tree. + * This works by simply buffering all the events into a DOM tree and then + * using this DOM tree as the source of the transformation. + * + * @author Chris Burdess (dog@gnu.org) + */ +class SAXTransformerHandler + extends SAXEventSink + implements TransformerHandler +{ + + final TransformerFactoryImpl factory; + final Transformer transformer; + String systemId; + Result result; + + SAXTransformerHandler(TransformerFactoryImpl factory, Transformer transformer) + { + this.factory = factory; + this.transformer = transformer; + } + + public String getSystemId() + { + return systemId; + } + + public void setSystemId(String systemId) + { + this.systemId = systemId; + } + + public Transformer getTransformer() + { + return transformer; + } + + public void setResult(Result result) + { + this.result = result; + } + + public void endDocument() + throws SAXException + { + super.endDocument(); + try + { + Document doc = getDocument(); + DOMSource ds = new DOMSource(doc, systemId); + transformer.transform(ds, result); + } + catch (TransformerException e) + { + SAXException e2 = new SAXException(e.getMessage()); + e2.initCause(e); + throw e2; + } + } + +} diff --git a/libjava/classpath/gnu/xml/transform/StreamSerializer.java b/libjava/classpath/gnu/xml/transform/StreamSerializer.java index fb8b1a601bc..26bdda8b325 100644 --- a/libjava/classpath/gnu/xml/transform/StreamSerializer.java +++ b/libjava/classpath/gnu/xml/transform/StreamSerializer.java @@ -324,7 +324,8 @@ public class StreamSerializer break; case Node.TEXT_NODE: value = node.getNodeValue(); - if (!"yes".equals(node.getUserData("disable-output-escaping"))) + if (!"yes".equals(node.getUserData("disable-output-escaping")) && + mode != Stylesheet.OUTPUT_TEXT) value = encode(value, false, false); out.write(encodeText(value)); break; diff --git a/libjava/classpath/gnu/xml/transform/TransformerFactoryImpl.java b/libjava/classpath/gnu/xml/transform/TransformerFactoryImpl.java index 16e3363f8c6..1e8fea3e3a6 100644 --- a/libjava/classpath/gnu/xml/transform/TransformerFactoryImpl.java +++ b/libjava/classpath/gnu/xml/transform/TransformerFactoryImpl.java @@ -60,11 +60,15 @@ import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.sax.SAXSource; +import javax.xml.transform.sax.SAXTransformerFactory; +import javax.xml.transform.sax.TemplatesHandler; +import javax.xml.transform.sax.TransformerHandler; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; +import org.xml.sax.XMLFilter; import gnu.xml.dom.DomDocument; /** @@ -73,7 +77,7 @@ import gnu.xml.dom.DomDocument; * @author Chris Burdess */ public class TransformerFactoryImpl - extends TransformerFactory + extends SAXTransformerFactory { final XPathFactory xpathFactory; @@ -316,7 +320,8 @@ public class TransformerFactoryImpl StreamSource.FEATURE.equals(name) || StreamResult.FEATURE.equals(name) || DOMSource.FEATURE.equals(name) || - DOMResult.FEATURE.equals(name)) + DOMResult.FEATURE.equals(name) || + SAXTransformerFactory.FEATURE.equals(name)) { return true; } @@ -346,6 +351,49 @@ public class TransformerFactoryImpl return userListener; } + // -- SAXTransformerFactory -- + + public TemplatesHandler newTemplatesHandler() + throws TransformerConfigurationException + { + return new SAXTemplatesHandler(this); + } + + public TransformerHandler newTransformerHandler() + throws TransformerConfigurationException + { + Transformer transformer = newTransformer(); + return new SAXTransformerHandler(this, transformer); + } + + public TransformerHandler newTransformerHandler(Source source) + throws TransformerConfigurationException + { + Transformer transformer = newTransformer(source); + return new SAXTransformerHandler(this, transformer); + } + + public TransformerHandler newTransformerHandler(Templates templates) + throws TransformerConfigurationException + { + Transformer transformer = templates.newTransformer(); + return new SAXTransformerHandler(this, transformer); + } + + public XMLFilter newXMLFilter(Source source) + throws TransformerConfigurationException + { + throw new UnsupportedOperationException(); + } + + public XMLFilter newXMLFilter(Templates templates) + throws TransformerConfigurationException + { + throw new UnsupportedOperationException(); + } + + // -- SAXTransformerFactory end -- + /** * Syntax: TransformerFactoryImpl [ [ []]] */ diff --git a/libjava/classpath/gnu/xml/transform/XSLURIResolver.java b/libjava/classpath/gnu/xml/transform/XSLURIResolver.java index 6a49caab458..8d7e3fcb485 100644 --- a/libjava/classpath/gnu/xml/transform/XSLURIResolver.java +++ b/libjava/classpath/gnu/xml/transform/XSLURIResolver.java @@ -53,6 +53,7 @@ import javax.xml.transform.Source; import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.SAXSource; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Node; import org.xml.sax.InputSource; @@ -118,10 +119,9 @@ class XSLURIResolver try { - URL url = resolveURL(systemId, base, href); Node node = null; InputStream in = null; - if (source instanceof StreamSource) + if (source != null && source instanceof StreamSource) { StreamSource ss = (StreamSource) source; in = ss.getInputStream(); @@ -134,8 +134,25 @@ class XSLURIResolver } } } + else if (source != null && source instanceof SAXSource) + { + SAXSource ss = (SAXSource) source; + if (ss.getInputSource() != null) + { + in = ss.getInputSource().getByteStream(); + if (in == null) + { + Reader reader = ss.getInputSource().getCharacterStream(); + if (reader != null) + { + in = new ReaderInputStream(reader); + } + } + } + } if (in == null) { + URL url = resolveURL(systemId, base, href); if (url != null) { systemId = url.toString(); diff --git a/libjava/classpath/gnu/xml/xpath/Expr.java b/libjava/classpath/gnu/xml/xpath/Expr.java index 76fd49eeff5..cafc83b0d37 100644 --- a/libjava/classpath/gnu/xml/xpath/Expr.java +++ b/libjava/classpath/gnu/xml/xpath/Expr.java @@ -59,6 +59,7 @@ import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import org.w3c.dom.Document; import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -80,6 +81,38 @@ public abstract class Expr ".####################################################", new DecimalFormatSymbols(Locale.US)); + static class ExprNodeSet implements NodeList + { + + private ArrayList list; + + ExprNodeSet(Collection collection) + { + if (collection instanceof ArrayList) + list = (ArrayList) collection; + else + list = new ArrayList(collection); + } + + public int getLength() + { + return list.size(); + } + + public Node item(int index) + { + try + { + return (Node) list.get(index); + } + catch (ArrayIndexOutOfBoundsException e) + { + return null; + } + } + + } + public Object evaluate(Object item, QName returnType) throws XPathExpressionException { @@ -132,6 +165,8 @@ public abstract class Expr { throw new XPathExpressionException("return value is not a node-set"); } + if (ret != null) + ret = new ExprNodeSet((Collection) ret); } } return ret; diff --git a/libjava/classpath/include/.cvsignore b/libjava/classpath/include/.cvsignore new file mode 100644 index 00000000000..773d8af88de --- /dev/null +++ b/libjava/classpath/include/.cvsignore @@ -0,0 +1,9 @@ +Makefile +Makefile.in +stamp-h +config.h +stamp-h.in +config.h.in +jni_md.h +stamp-h1 +config-int.h diff --git a/libjava/classpath/include/GtkDragSourceContextPeer.h b/libjava/classpath/include/GtkDragSourceContextPeer.h index 4a43d811a1e..87606ec1a1c 100644 --- a/libjava/classpath/include/GtkDragSourceContextPeer.h +++ b/libjava/classpath/include/GtkDragSourceContextPeer.h @@ -14,7 +14,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_n JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_connectSignals (JNIEnv *env, jobject, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_create (JNIEnv *env, jobject, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_nativeSetCursor (JNIEnv *env, jobject, jint) ; - +JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_setTarget (JNIEnv *env, jobject, jobject); #ifdef __cplusplus } diff --git a/libjava/classpath/include/Makefile.am b/libjava/classpath/include/Makefile.am index cc8c963708f..e81d1443ad7 100644 --- a/libjava/classpath/include/Makefile.am +++ b/libjava/classpath/include/Makefile.am @@ -126,13 +126,14 @@ $(XMLJ_H_FILES) \ $(GTKPEER_H_FILES) \ $(QTPEER_H_FILES) \ $(GCONF_PREFS_FILES) \ -$(top_srcdir)/include/gnu_java_net_VMPlainDatagramSocketImpl.h \ $(top_srcdir)/include/gnu_java_net_VMPlainSocketImpl.h \ $(top_srcdir)/include/gnu_java_net_local_LocalSocketImpl.h \ +$(top_srcdir)/include/gnu_java_nio_EpollSelectorImpl.h \ +$(top_srcdir)/include/gnu_java_nio_FileChannelImpl.h \ +$(top_srcdir)/include/gnu_java_nio_KqueueSelectorImpl.h \ $(top_srcdir)/include/gnu_java_nio_VMChannel.h \ $(top_srcdir)/include/gnu_java_nio_VMPipe.h \ $(top_srcdir)/include/gnu_java_nio_VMSelector.h \ -$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \ $(top_srcdir)/include/java_io_VMFile.h \ @@ -179,8 +180,6 @@ $(top_srcdir)/include/gnu_javax_sound_midi_dssi_%.h: $(top_builddir)/$(CLASSDIR) $(top_srcdir)/include/gnu_java_util_prefs_gconf_%.h: $(top_builddir)/$(CLASSDIR)/gnu/java/util/prefs/gconf/%.class $(JAVAH) -o $@ gnu.java.util.prefs.gconf.$* -$(top_srcdir)/include/gnu_java_net_VMPlainDatagramSocketImpl.h: $(top_srcdir)/vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java - $(JAVAH) -o $@ gnu.java.net.VMPlainDatagramSocketImpl $(top_srcdir)/include/gnu_java_net_VMPlainSocketImpl.h: $(top_srcdir)/vm/reference/gnu/java/net/VMPlainSocketImpl.java $(JAVAH) -o $@ gnu.java.net.VMPlainSocketImpl $(top_srcdir)/include/gnu_java_net_local_LocalSocketImpl.h: $(top_srcdir)/gnu/java/net/local/LocalSocketImpl.java @@ -215,12 +214,21 @@ $(top_srcdir)/include/java_net_VMNetworkInterface.h: $(top_srcdir)/vm/reference/ $(JAVAH) -o $@ java.net.VMNetworkInterface $(top_srcdir)/include/java_net_VMURLConnection.h: $(top_srcdir)/vm/reference/java/net/VMURLConnection.java $(JAVAH) -o $@ java.net.VMURLConnection + $(top_srcdir)/include/java_nio_VMDirectByteBuffer.h: $(top_srcdir)/vm/reference/java/nio/VMDirectByteBuffer.java $(JAVAH) -o $@ java.nio.VMDirectByteBuffer $(top_srcdir)/include/java_nio_MappedByteBufferImpl.h: $(top_srcdir)/java/nio/MappedByteBufferImpl.java $(JAVAH) -o $@ java.nio.MappedByteBufferImpl -$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/channels/FileChannelImpl.java - $(JAVAH) -o $@ gnu.java.nio.channels.FileChannelImpl + +$(top_srcdir)/include/gnu_java_nio_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/FileChannelImpl.java + $(JAVAH) -o $@ gnu.java.nio.FileChannelImpl + +$(top_srcdir)/include/gnu_java_nio_KqueueSelectorImpl.h: $(top_srcdir)/gnu/java/nio/KqueueSelectorImpl.java + $(JAVAH) -o $@ gnu.java.nio.KqueueSelectorImpl + +$(top_srcdir)/include/gnu_java_nio_EpollSelectorImpl.h: $(top_srcdir)/gnu/java/nio/EpollSelectorImpl.java + $(JAVAH) -o $@ gnu.java.nio.EpollSelectorImpl + $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvDecoder.java $(JAVAH) -o $@ gnu.java.nio.charset.iconv.IconvDecoder $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvEncoder.java diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in index b87dc5b7949..30286764c68 100644 --- a/libjava/classpath/include/Makefile.in +++ b/libjava/classpath/include/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -158,6 +160,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -279,7 +283,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ DISTCLEANFILES = jni_md.h config-int.h ARG_JNI_JAVAH = -jni @@ -404,13 +407,14 @@ $(XMLJ_H_FILES) \ $(GTKPEER_H_FILES) \ $(QTPEER_H_FILES) \ $(GCONF_PREFS_FILES) \ -$(top_srcdir)/include/gnu_java_net_VMPlainDatagramSocketImpl.h \ $(top_srcdir)/include/gnu_java_net_VMPlainSocketImpl.h \ $(top_srcdir)/include/gnu_java_net_local_LocalSocketImpl.h \ +$(top_srcdir)/include/gnu_java_nio_EpollSelectorImpl.h \ +$(top_srcdir)/include/gnu_java_nio_FileChannelImpl.h \ +$(top_srcdir)/include/gnu_java_nio_KqueueSelectorImpl.h \ $(top_srcdir)/include/gnu_java_nio_VMChannel.h \ $(top_srcdir)/include/gnu_java_nio_VMPipe.h \ $(top_srcdir)/include/gnu_java_nio_VMSelector.h \ -$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \ $(top_srcdir)/include/java_io_VMFile.h \ @@ -637,8 +641,6 @@ uninstall-am: uninstall-info-am @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_util_prefs_gconf_%.h: $(top_builddir)/$(CLASSDIR)/gnu/java/util/prefs/gconf/%.class @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.util.prefs.gconf.$* -@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_net_VMPlainDatagramSocketImpl.h: $(top_srcdir)/vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java -@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.net.VMPlainDatagramSocketImpl @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_net_VMPlainSocketImpl.h: $(top_srcdir)/vm/reference/gnu/java/net/VMPlainSocketImpl.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.net.VMPlainSocketImpl @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_net_local_LocalSocketImpl.h: $(top_srcdir)/gnu/java/net/local/LocalSocketImpl.java @@ -673,12 +675,21 @@ uninstall-am: uninstall-info-am @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.net.VMNetworkInterface @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_net_VMURLConnection.h: $(top_srcdir)/vm/reference/java/net/VMURLConnection.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.net.VMURLConnection + @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_nio_VMDirectByteBuffer.h: $(top_srcdir)/vm/reference/java/nio/VMDirectByteBuffer.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.nio.VMDirectByteBuffer @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_nio_MappedByteBufferImpl.h: $(top_srcdir)/java/nio/MappedByteBufferImpl.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.nio.MappedByteBufferImpl -@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_channels_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/channels/FileChannelImpl.java -@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.channels.FileChannelImpl + +@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_FileChannelImpl.h: $(top_srcdir)/gnu/java/nio/FileChannelImpl.java +@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.FileChannelImpl + +@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_KqueueSelectorImpl.h: $(top_srcdir)/gnu/java/nio/KqueueSelectorImpl.java +@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.KqueueSelectorImpl + +@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_EpollSelectorImpl.h: $(top_srcdir)/gnu/java/nio/EpollSelectorImpl.java +@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.EpollSelectorImpl + @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvDecoder.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.charset.iconv.IconvDecoder @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h: $(top_srcdir)/gnu/java/nio/charset/iconv/IconvEncoder.java diff --git a/libjava/classpath/include/config.h.in b/libjava/classpath/include/config.h.in index dda8b58e96e..0b2a58e86df 100644 --- a/libjava/classpath/include/config.h.in +++ b/libjava/classpath/include/config.h.in @@ -36,6 +36,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DSSI_H +/* Define to 1 if you have the `epoll_create' function. */ +#undef HAVE_EPOLL_CREATE + /* Define to 1 if you have the `execve' function. */ #undef HAVE_EXECVE @@ -57,9 +60,15 @@ /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE +/* Define to 1 if you have the `gethostbyname_r' function. */ +#undef HAVE_GETHOSTBYNAME_R + /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME +/* Define to 1 if you have the `getifaddrs' function. */ +#undef HAVE_GETIFADDRS + /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE @@ -72,6 +81,12 @@ /* Define to 1 if you have the `getsockopt' function. */ #undef HAVE_GETSOCKOPT +/* Define if function attributes a la GCC 2.5 and higher are available. */ +#undef HAVE_GNUC25_ATTRIB + +/* Define if unused variables la GCC 2.5 and higher are available. */ +#undef HAVE_GNUC25_UNUSED + /* Define to 1 if you have the `htonl' function. */ #undef HAVE_HTONL @@ -81,12 +96,36 @@ /* Define if you have the iconv() function. */ #undef HAVE_ICONV +/* Define to 1 if you have the header file. */ +#undef HAVE_IFADDRS_H + +/* Define if inet6 structures are defined in netinet/in.h. */ +#undef HAVE_INET6 + +/* Define to 1 if you have the `inet_addr' function. */ +#undef HAVE_INET_ADDR + +/* Define to 1 if you have the `inet_aton' function. */ +#undef HAVE_INET_ATON + +/* Define to 1 if you have the `inet_pton' function. */ +#undef HAVE_INET_PTON + /* Define to 1 if you have uint32_t */ #undef HAVE_INT32_DEFINED /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H +/* Define to 1 if you have the `kevent' function. */ +#undef HAVE_KEVENT + +/* Define to 1 if you have the `kqueue' function. */ +#undef HAVE_KQUEUE + +/* Define to 1 if you have the `ltdl' library (-lltdl). */ +#undef HAVE_LIBLTDL + /* Define to 1 if you have the `listen' function. */ #undef HAVE_LISTEN @@ -99,6 +138,9 @@ /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT +/* Define to 1 if you have the header file. */ +#undef HAVE_LTDL_H + /* Define to 1 if you have the `madvise' function. */ #undef HAVE_MADVISE @@ -120,6 +162,9 @@ /* Define to 1 if you have the `mmap' function. */ #undef HAVE_MMAP +/* Define this symbol if you have MSG_NOSIGNAL */ +#undef HAVE_MSG_NOSIGNAL + /* Define to 1 if you have the `msync' function. */ #undef HAVE_MSYNC @@ -135,9 +180,15 @@ /* Define to 1 if you have the `read' function. */ #undef HAVE_READ +/* Define to 1 if you have the `readdir_r' function. */ +#undef HAVE_READDIR_R + /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK +/* Define to 1 if you have the `readv' function. */ +#undef HAVE_READV + /* Define to 1 if you have the `recvfrom' function. */ #undef HAVE_RECVFROM @@ -159,6 +210,9 @@ /* Define to 1 if you have the `socket' function. */ #undef HAVE_SOCKET +/* Define this symbol if you have SO_NOSIGPIPE */ +#undef HAVE_SO_NOSIGPIPE + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H @@ -186,6 +240,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_CONFIG_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_EPOLL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_EVENT_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FILIO_H @@ -236,6 +296,9 @@ /* Define to 1 if you have the `write' function. */ #undef HAVE_WRITE +/* Define to 1 if you have the `writev' function. */ +#undef HAVE_WRITEV + /* Define to 1 if you have libXrandr. */ #undef HAVE_XRANDR @@ -315,3 +378,24 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const + +/* GNU C attributes. */ +#ifndef FUNCATTR +#ifdef HAVE_GNUC25_ATTRIB +#define FUNCATTR(x) __attribute__(x) +#else +#define FUNCATTR(x) +#endif +#endif + +/* GNU C unused functions, or null. */ +#ifndef ATTRUNUSED +#ifdef HAVE_GNUC25_UNUSED +#define ATTRUNUSED unused +#else +#define ATTRUNUSED +#endif +#endif +#ifndef UNUSED +#define UNUSED FUNCATTR((ATTRUNUSED)) +#endif diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h index a54c7117ed9..c4a7f1b0264 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h @@ -12,9 +12,9 @@ extern "C" JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative (JNIEnv *env, jobject, jlong); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels (JNIEnv *env, jobject, jlong, jintArray, jint, jint, jint, jdoubleArray, jdouble); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels (JNIEnv *env, jobject, jlong, jintArray, jint, jint, jint, jdoubleArray, jdouble, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble, jint, jint, jint, jint, jint, jint, jint, jint, jboolean); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setTexturePixels (JNIEnv *env, jobject, jlong, jintArray, jint, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels (JNIEnv *env, jobject, jlong, jintArray, jint, jint, jint, jboolean, jint, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix (JNIEnv *env, jobject, jlong, jdoubleArray); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoScale (JNIEnv *env, jobject, jlong, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetOperator (JNIEnv *env, jobject, jlong, jint); @@ -23,6 +23,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFillRu JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetLine (JNIEnv *env, jobject, jlong, jdouble, jint, jint, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetDash (JNIEnv *env, jobject, jlong, jdoubleArray, jint, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector (JNIEnv *env, jobject, jlong, jobject, jfloat, jfloat, jint, jintArray, jfloatArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont (JNIEnv *env, jobject, jlong, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelCurveTo (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRectangle (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble, jdouble); @@ -40,10 +41,21 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFill (JNI JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoClip (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip (JNIEnv *env, jobject, jlong); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter (JNIEnv *env, jobject, jlong, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawLine (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawRect (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFillRect (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble); +#undef gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_NEAREST +#define gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_NEAREST 0L +#undef gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_BILINEAR +#define gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_BILINEAR 1L +#undef gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_BICUBIC +#define gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_BICUBIC 5L +#undef gnu_java_awt_peer_gtk_CairoGraphics2D_ALPHA_INTERPOLATION_SPEED +#define gnu_java_awt_peer_gtk_CairoGraphics2D_ALPHA_INTERPOLATION_SPEED 2L +#undef gnu_java_awt_peer_gtk_CairoGraphics2D_ALPHA_INTERPOLATION_QUALITY +#define gnu_java_awt_peer_gtk_CairoGraphics2D_ALPHA_INTERPOLATION_QUALITY 3L +#undef gnu_java_awt_peer_gtk_CairoGraphics2D_ALPHA_INTERPOLATION_DEFAULT +#define gnu_java_awt_peer_gtk_CairoGraphics2D_ALPHA_INTERPOLATION_DEFAULT 4L #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h index 88000095d7f..38857071091 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h @@ -14,7 +14,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *e JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_destroy (JNIEnv *env, jobject, jlong, jlong); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetElem (JNIEnv *env, jobject, jlong, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetElem (JNIEnv *env, jobject, jlong, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface (JNIEnv *env, jobject, jlong, jlong, jdoubleArray, jdouble); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface (JNIEnv *env, jobject, jlong, jlong, jdoubleArray, jdouble, jint); JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetPixels (JNIEnv *env, jobject, jlong, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetPixels (JNIEnv *env, jobject, jlong, jintArray); JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, jlong, jint); diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkFontPeer.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkFontPeer.h index 3b9ddd44333..c23980ca55c 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkFontPeer.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkFontPeer.h @@ -18,6 +18,22 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics (JN JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTextMetrics (JNIEnv *env, jobject, jstring, jdoubleArray); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontPeer_releasePeerGraphicsResource (JNIEnv *env, jobject); JNIEXPORT jbyteArray JNICALL Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTrueTypeTable (JNIEnv *env, jobject, jbyte, jbyte, jbyte, jbyte); +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_ASCENT +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_ASCENT 0L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_MAX_ASCENT +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_MAX_ASCENT 1L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_DESCENT +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_DESCENT 2L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_MAX_DESCENT +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_MAX_DESCENT 3L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_MAX_ADVANCE +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_MAX_ADVANCE 4L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_HEIGHT +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_HEIGHT 5L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_UNDERLINE_OFFSET +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_UNDERLINE_OFFSET 6L +#undef gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_UNDERLINE_THICKNESS +#define gnu_java_awt_peer_gtk_GdkFontPeer_FONT_METRICS_UNDERLINE_THICKNESS 7L #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h index 5450434d880..fc6a72a5955 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h @@ -12,12 +12,12 @@ extern "C" JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create (JNIEnv *env, jobject); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeGetSelected (JNIEnv *env, jobject); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add (JNIEnv *env, jobject, jstring, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove (JNIEnv *env, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemoveAll (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_connectSignals (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_selectNative (JNIEnv *env, jobject, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_selectNativeUnlocked (JNIEnv *env, jobject, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add (JNIEnv *env, jobject, jstring, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove (JNIEnv *env, jobject, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemoveAll (JNIEnv *env, jobject); #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkFramePeer.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkFramePeer.h index 2095d421c6f..63b881d2f78 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkFramePeer.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkFramePeer.h @@ -16,6 +16,10 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_setMenuBarWidth ( JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_setMenuBarPeer (JNIEnv *env, jobject, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_removeMenuBarPeer (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_gtkFixedSetVisible (JNIEnv *env, jobject, jboolean); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_maximize (JNIEnv *env, jobject); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_unmaximize (JNIEnv *env, jobject); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_iconify (JNIEnv *env, jobject); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_deiconify (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkFramePeer_nativeSetIconImage (JNIEnv *env, jobject, jobject); #ifdef __cplusplus diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h index 6cdcc622aab..b91d54cdb09 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h @@ -11,12 +11,13 @@ extern "C" #endif JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain (JNIEnv *env, jclass); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkQuit (JNIEnv *env, jclass); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_beep (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getScreenSizeDimensions (JNIEnv *env, jobject, jintArray); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getScreenResolution (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_sync (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_loadSystemColors (JNIEnv *env, jobject, jintArray); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain (JNIEnv *env, jclass); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getMouseNumberOfButtons (JNIEnv *env, jobject); #ifdef __cplusplus diff --git a/libjava/classpath/include/gnu_java_net_VMPlainDatagramSocketImpl.h b/libjava/classpath/include/gnu_java_net_VMPlainDatagramSocketImpl.h deleted file mode 100644 index 2bd1f4905fd..00000000000 --- a/libjava/classpath/include/gnu_java_net_VMPlainDatagramSocketImpl.h +++ /dev/null @@ -1,30 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - -#ifndef __gnu_java_net_VMPlainDatagramSocketImpl__ -#define __gnu_java_net_VMPlainDatagramSocketImpl__ - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_bind (JNIEnv *env, jclass, jobject, jint, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_create (JNIEnv *env, jclass, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_connect (JNIEnv *env, jclass, jobject, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_nativeSendTo (JNIEnv *env, jclass, jobject, jobject, jint, jbyteArray, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_nativeReceive (JNIEnv *env, jclass, jobject, jbyteArray, jint, jint, jbyteArray, jintArray, jintArray); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_setOption (JNIEnv *env, jclass, jobject, jint, jobject); -JNIEXPORT jobject JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_getOption (JNIEnv *env, jclass, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_close (JNIEnv *env, jclass, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_join (JNIEnv *env, jclass, jobject, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainDatagramSocketImpl_leave (JNIEnv *env, jclass, jobject, jobject); -#undef gnu_java_net_VMPlainDatagramSocketImpl_IP_TTL -#define gnu_java_net_VMPlainDatagramSocketImpl_IP_TTL 7777L - -#ifdef __cplusplus -} -#endif - -#endif /* __gnu_java_net_VMPlainDatagramSocketImpl__ */ diff --git a/libjava/classpath/include/gnu_java_net_VMPlainSocketImpl.h b/libjava/classpath/include/gnu_java_net_VMPlainSocketImpl.h index f7616c2c3bc..ef3c3a46784 100644 --- a/libjava/classpath/include/gnu_java_net_VMPlainSocketImpl.h +++ b/libjava/classpath/include/gnu_java_net_VMPlainSocketImpl.h @@ -10,19 +10,27 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_setOption (JNIEnv *env, jclass, jobject, jint, jobject); -JNIEXPORT jobject JNICALL Java_gnu_java_net_VMPlainSocketImpl_getOption (JNIEnv *env, jclass, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_create (JNIEnv *env, jclass, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_connect (JNIEnv *env, jclass, jobject, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_bind (JNIEnv *env, jclass, jobject, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_listen (JNIEnv *env, jclass, jobject, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_accept (JNIEnv *env, jclass, jobject, jobject); -JNIEXPORT jint JNICALL Java_gnu_java_net_VMPlainSocketImpl_available (JNIEnv *env, jclass, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_close (JNIEnv *env, jclass, jobject); -JNIEXPORT jint JNICALL Java_gnu_java_net_VMPlainSocketImpl_read (JNIEnv *env, jclass, jobject, jbyteArray, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_write (JNIEnv *env, jclass, jobject, jbyteArray, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownInput (JNIEnv *env, jclass, jobject); -JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_setOption (JNIEnv *env, jclass, jint, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface (JNIEnv *env, jclass, jint, jint, jobject); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6 (JNIEnv *env, jclass, jint, jint, jstring); +JNIEXPORT jint JNICALL Java_gnu_java_net_VMPlainSocketImpl_getOption (JNIEnv *env, jclass, jint, jint); +JNIEXPORT jobject JNICALL Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface (JNIEnv *env, jclass, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_bind (JNIEnv *env, jclass, jint, jbyteArray, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_bind6 (JNIEnv *env, jclass, jint, jbyteArray, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_listen (JNIEnv *env, jclass, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_join (JNIEnv *env, jclass, jint, jbyteArray); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_join6 (JNIEnv *env, jclass, jint, jbyteArray); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leave (JNIEnv *env, jclass, jint, jbyteArray); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leave6 (JNIEnv *env, jclass, jint, jbyteArray); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_joinGroup (JNIEnv *env, jclass, jint, jbyteArray, jstring); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_joinGroup6 (JNIEnv *env, jclass, jint, jbyteArray, jstring); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leaveGroup (JNIEnv *env, jclass, jint, jbyteArray, jstring); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6 (JNIEnv *env, jclass, jint, jbyteArray, jstring); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownInput (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData (JNIEnv *env, jclass, jint, jint); +#undef gnu_java_net_VMPlainSocketImpl_CP_IP_TTL +#define gnu_java_net_VMPlainSocketImpl_CP_IP_TTL 7777L #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_nio_EpollSelectorImpl.h b/libjava/classpath/include/gnu_java_nio_EpollSelectorImpl.h new file mode 100644 index 00000000000..0e43d1ce9fc --- /dev/null +++ b/libjava/classpath/include/gnu_java_nio_EpollSelectorImpl.h @@ -0,0 +1,37 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#ifndef __gnu_java_nio_EpollSelectorImpl__ +#define __gnu_java_nio_EpollSelectorImpl__ + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_EpollSelectorImpl_epoll_1supported (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_EpollSelectorImpl_sizeof_1struct (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_EpollSelectorImpl_epoll_1create (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_EpollSelectorImpl_epoll_1add (JNIEnv *env, jclass, jint, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_EpollSelectorImpl_epoll_1modify (JNIEnv *env, jclass, jint, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete (JNIEnv *env, jclass, jint, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait (JNIEnv *env, jclass, jint, jobject, jint, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_EpollSelectorImpl_selected_1fd (JNIEnv *env, jclass, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_EpollSelectorImpl_selected_1ops (JNIEnv *env, jclass, jobject); +#undef gnu_java_nio_EpollSelectorImpl_DEFAULT_EPOLL_SIZE +#define gnu_java_nio_EpollSelectorImpl_DEFAULT_EPOLL_SIZE 128L +#undef gnu_java_nio_EpollSelectorImpl_OP_ACCEPT +#define gnu_java_nio_EpollSelectorImpl_OP_ACCEPT 16L +#undef gnu_java_nio_EpollSelectorImpl_OP_CONNECT +#define gnu_java_nio_EpollSelectorImpl_OP_CONNECT 8L +#undef gnu_java_nio_EpollSelectorImpl_OP_READ +#define gnu_java_nio_EpollSelectorImpl_OP_READ 1L +#undef gnu_java_nio_EpollSelectorImpl_OP_WRITE +#define gnu_java_nio_EpollSelectorImpl_OP_WRITE 4L + +#ifdef __cplusplus +} +#endif + +#endif /* __gnu_java_nio_EpollSelectorImpl__ */ diff --git a/libjava/classpath/include/gnu_java_nio_FileChannelImpl.h b/libjava/classpath/include/gnu_java_nio_FileChannelImpl.h new file mode 100644 index 00000000000..43000114cc4 --- /dev/null +++ b/libjava/classpath/include/gnu_java_nio_FileChannelImpl.h @@ -0,0 +1,30 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#ifndef __gnu_java_nio_FileChannelImpl__ +#define __gnu_java_nio_FileChannelImpl__ + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +#undef gnu_java_nio_FileChannelImpl_READ +#define gnu_java_nio_FileChannelImpl_READ 1L +#undef gnu_java_nio_FileChannelImpl_WRITE +#define gnu_java_nio_FileChannelImpl_WRITE 2L +#undef gnu_java_nio_FileChannelImpl_APPEND +#define gnu_java_nio_FileChannelImpl_APPEND 4L +#undef gnu_java_nio_FileChannelImpl_EXCL +#define gnu_java_nio_FileChannelImpl_EXCL 8L +#undef gnu_java_nio_FileChannelImpl_SYNC +#define gnu_java_nio_FileChannelImpl_SYNC 16L +#undef gnu_java_nio_FileChannelImpl_DSYNC +#define gnu_java_nio_FileChannelImpl_DSYNC 32L + +#ifdef __cplusplus +} +#endif + +#endif /* __gnu_java_nio_FileChannelImpl__ */ diff --git a/libjava/classpath/include/gnu_java_nio_KqueueSelectorImpl.h b/libjava/classpath/include/gnu_java_nio_KqueueSelectorImpl.h new file mode 100644 index 00000000000..acfdeaae7f7 --- /dev/null +++ b/libjava/classpath/include/gnu_java_nio_KqueueSelectorImpl.h @@ -0,0 +1,39 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#ifndef __gnu_java_nio_KqueueSelectorImpl__ +#define __gnu_java_nio_KqueueSelectorImpl__ + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_KqueueSelectorImpl_kqueue_1supported (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_sizeof_1struct_1kevent (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_implOpen (JNIEnv *env, jclass); +JNIEXPORT void JNICALL Java_gnu_java_nio_KqueueSelectorImpl_implClose (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_KqueueSelectorImpl_kevent_1set (JNIEnv *env, jclass, jobject, jint, jint, jint, jint, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_kevent (JNIEnv *env, jclass, jint, jobject, jint, jint, jlong); +JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_fetch_1key (JNIEnv *env, jclass, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_KqueueSelectorImpl_ready_1ops (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_KqueueSelectorImpl_check_1eof (JNIEnv *env, jclass, jobject); +#undef gnu_java_nio_KqueueSelectorImpl_MAX_DOUBLING_CAPACITY +#define gnu_java_nio_KqueueSelectorImpl_MAX_DOUBLING_CAPACITY 16384L +#undef gnu_java_nio_KqueueSelectorImpl_CAP_INCREMENT +#define gnu_java_nio_KqueueSelectorImpl_CAP_INCREMENT 1024L +#undef gnu_java_nio_KqueueSelectorImpl_OP_ACCEPT +#define gnu_java_nio_KqueueSelectorImpl_OP_ACCEPT 16L +#undef gnu_java_nio_KqueueSelectorImpl_OP_CONNECT +#define gnu_java_nio_KqueueSelectorImpl_OP_CONNECT 8L +#undef gnu_java_nio_KqueueSelectorImpl_OP_READ +#define gnu_java_nio_KqueueSelectorImpl_OP_READ 1L +#undef gnu_java_nio_KqueueSelectorImpl_OP_WRITE +#define gnu_java_nio_KqueueSelectorImpl_OP_WRITE 4L + +#ifdef __cplusplus +} +#endif + +#endif /* __gnu_java_nio_KqueueSelectorImpl__ */ diff --git a/libjava/classpath/include/gnu_java_nio_VMChannel.h b/libjava/classpath/include/gnu_java_nio_VMChannel.h index 28f9048d254..dd023816c39 100644 --- a/libjava/classpath/include/gnu_java_nio_VMChannel.h +++ b/libjava/classpath/include/gnu_java_nio_VMChannel.h @@ -10,12 +10,38 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_setBlocking (JNIEnv *env, jobject, jint, jboolean); -JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_read (JNIEnv *env, jobject, jint, jobject); -JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, jobject, jint, jobjectArray, jint, jint); -JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_write (JNIEnv *env, jobject, jint, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_stdin_1fd (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_stdout_1fd (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_stderr_1fd (JNIEnv *env, jclass); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_setBlocking (JNIEnv *env, jclass, jint, jboolean); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_available (JNIEnv *env, jclass, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2 (JNIEnv *env, jclass, jint, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_read__I (JNIEnv *env, jclass, jint); +JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, jclass, jint, jobjectArray, jint, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_receive (JNIEnv *env, jclass, jint, jobject, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2 (JNIEnv *env, jobject, jint, jobject); JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_writeGathering (JNIEnv *env, jobject, jint, jobjectArray, jint, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_send (JNIEnv *env, jclass, jint, jobject, jbyteArray, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_send6 (JNIEnv *env, jclass, jint, jobject, jbyteArray, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_write__II (JNIEnv *env, jclass, jint, jint); JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_initIDs (JNIEnv *env, jclass); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_socket (JNIEnv *env, jclass, jboolean); +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_connect (JNIEnv *env, jclass, jint, jbyteArray, jint, jint); +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_connect6 (JNIEnv *env, jclass, jint, jbyteArray, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_disconnect (JNIEnv *env, jclass, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_getsockname (JNIEnv *env, jclass, jint, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_getpeername (JNIEnv *env, jclass, jint, jobject); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_accept (JNIEnv *env, jclass, jint); +JNIEXPORT jint JNICALL Java_gnu_java_nio_VMChannel_open (JNIEnv *env, jclass, jstring, jint); +JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_position (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_seek (JNIEnv *env, jclass, jint, jlong); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_truncate (JNIEnv *env, jclass, jint, jlong); +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_lock (JNIEnv *env, jclass, jint, jlong, jlong, jboolean, jboolean); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_unlock (JNIEnv *env, jclass, jint, jlong, jlong); +JNIEXPORT jlong JNICALL Java_gnu_java_nio_VMChannel_size (JNIEnv *env, jclass, jint); +JNIEXPORT jobject JNICALL Java_gnu_java_nio_VMChannel_map (JNIEnv *env, jclass, jint, jchar, jlong, jint); +JNIEXPORT jboolean JNICALL Java_gnu_java_nio_VMChannel_flush (JNIEnv *env, jclass, jint, jboolean); +JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_close (JNIEnv *env, jclass, jint); #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_nio_VMPipe.h b/libjava/classpath/include/gnu_java_nio_VMPipe.h index afa563ac818..2088e55dcd2 100644 --- a/libjava/classpath/include/gnu_java_nio_VMPipe.h +++ b/libjava/classpath/include/gnu_java_nio_VMPipe.h @@ -10,7 +10,7 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_nio_VMPipe_init (JNIEnv *env, jclass, jobject, jobject); +JNIEXPORT jintArray JNICALL Java_gnu_java_nio_VMPipe_pipe0 (JNIEnv *env, jclass); #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_nio_channels_FileChannelImpl.h b/libjava/classpath/include/gnu_java_nio_channels_FileChannelImpl.h deleted file mode 100644 index 1e09c09dd72..00000000000 --- a/libjava/classpath/include/gnu_java_nio_channels_FileChannelImpl.h +++ /dev/null @@ -1,46 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - -#ifndef __gnu_java_nio_channels_FileChannelImpl__ -#define __gnu_java_nio_channels_FileChannelImpl__ - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_init (JNIEnv *env, jclass); -JNIEXPORT jint JNICALL Java_gnu_java_nio_channels_FileChannelImpl_open (JNIEnv *env, jobject, jstring, jint); -JNIEXPORT jint JNICALL Java_gnu_java_nio_channels_FileChannelImpl_available (JNIEnv *env, jobject); -JNIEXPORT jlong JNICALL Java_gnu_java_nio_channels_FileChannelImpl_implPosition (JNIEnv *env, jobject); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_seek (JNIEnv *env, jobject, jlong); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_implTruncate (JNIEnv *env, jobject, jlong); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_unlock (JNIEnv *env, jobject, jlong, jlong); -JNIEXPORT jlong JNICALL Java_gnu_java_nio_channels_FileChannelImpl_size (JNIEnv *env, jobject); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_implCloseChannel (JNIEnv *env, jobject); -JNIEXPORT jint JNICALL Java_gnu_java_nio_channels_FileChannelImpl_read__ (JNIEnv *env, jobject); -JNIEXPORT jint JNICALL Java_gnu_java_nio_channels_FileChannelImpl_read___3BII (JNIEnv *env, jobject, jbyteArray, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_write___3BII (JNIEnv *env, jobject, jbyteArray, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_write__I (JNIEnv *env, jobject, jint); -JNIEXPORT jobject JNICALL Java_gnu_java_nio_channels_FileChannelImpl_mapImpl (JNIEnv *env, jobject, jchar, jlong, jint); -JNIEXPORT void JNICALL Java_gnu_java_nio_channels_FileChannelImpl_force (JNIEnv *env, jobject); -JNIEXPORT jboolean JNICALL Java_gnu_java_nio_channels_FileChannelImpl_lock (JNIEnv *env, jobject, jlong, jlong, jboolean, jboolean); -#undef gnu_java_nio_channels_FileChannelImpl_READ -#define gnu_java_nio_channels_FileChannelImpl_READ 1L -#undef gnu_java_nio_channels_FileChannelImpl_WRITE -#define gnu_java_nio_channels_FileChannelImpl_WRITE 2L -#undef gnu_java_nio_channels_FileChannelImpl_APPEND -#define gnu_java_nio_channels_FileChannelImpl_APPEND 4L -#undef gnu_java_nio_channels_FileChannelImpl_EXCL -#define gnu_java_nio_channels_FileChannelImpl_EXCL 8L -#undef gnu_java_nio_channels_FileChannelImpl_SYNC -#define gnu_java_nio_channels_FileChannelImpl_SYNC 16L -#undef gnu_java_nio_channels_FileChannelImpl_DSYNC -#define gnu_java_nio_channels_FileChannelImpl_DSYNC 32L - -#ifdef __cplusplus -} -#endif - -#endif /* __gnu_java_nio_channels_FileChannelImpl__ */ diff --git a/libjava/classpath/include/gnu_java_util_prefs_gconf_GConfNativePeer.h b/libjava/classpath/include/gnu_java_util_prefs_gconf_GConfNativePeer.h index ec902cbb8df..cc71b4097be 100644 --- a/libjava/classpath/include/gnu_java_util_prefs_gconf_GConfNativePeer.h +++ b/libjava/classpath/include/gnu_java_util_prefs_gconf_GConfNativePeer.h @@ -20,8 +20,10 @@ JNIEXPORT jboolean JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_ JNIEXPORT jstring JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset (JNIEnv *env, jclass, jstring); JNIEXPORT void JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1suggest_1sync (JNIEnv *env, jclass); -JNIEXPORT jobject JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes (JNIEnv *env, jclass, jstring); -JNIEXPORT jobject JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys (JNIEnv *env, jclass, jstring); +JNIEXPORT jobject JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes (JNIEnv *env, jclass, jstring); +JNIEXPORT jobject JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys (JNIEnv *env, jclass, jstring); +JNIEXPORT jstring JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key (JNIEnv *env, jclass, jstring); +JNIEXPORT jstring JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key (JNIEnv *env, jclass, jstring); #ifdef __cplusplus } diff --git a/libjava/classpath/include/java_net_VMInetAddress.h b/libjava/classpath/include/java_net_VMInetAddress.h index 54b57f220a7..66f4735772a 100644 --- a/libjava/classpath/include/java_net_VMInetAddress.h +++ b/libjava/classpath/include/java_net_VMInetAddress.h @@ -14,6 +14,7 @@ JNIEXPORT jstring JNICALL Java_java_net_VMInetAddress_getLocalHostname (JNIEnv * JNIEXPORT jbyteArray JNICALL Java_java_net_VMInetAddress_lookupInaddrAny (JNIEnv *env, jclass); JNIEXPORT jstring JNICALL Java_java_net_VMInetAddress_getHostByAddr (JNIEnv *env, jclass, jbyteArray); JNIEXPORT jobjectArray JNICALL Java_java_net_VMInetAddress_getHostByName (JNIEnv *env, jclass, jstring); +JNIEXPORT jbyteArray JNICALL Java_java_net_VMInetAddress_aton (JNIEnv *env, jclass, jstring); #ifdef __cplusplus } diff --git a/libjava/classpath/include/java_net_VMNetworkInterface.h b/libjava/classpath/include/java_net_VMNetworkInterface.h index c309357f3b4..b53bda565e7 100644 --- a/libjava/classpath/include/java_net_VMNetworkInterface.h +++ b/libjava/classpath/include/java_net_VMNetworkInterface.h @@ -10,7 +10,8 @@ extern "C" { #endif -JNIEXPORT jobject JNICALL Java_java_net_VMNetworkInterface_getInterfaces (JNIEnv *env, jclass); +JNIEXPORT void JNICALL Java_java_net_VMNetworkInterface_initIds (JNIEnv *env, jclass); +JNIEXPORT jobjectArray JNICALL Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv *env, jclass); #ifdef __cplusplus } diff --git a/libjava/classpath/java/applet/AppletContext.java b/libjava/classpath/java/applet/AppletContext.java index a17508fd4a4..5b6ce452408 100644 --- a/libjava/classpath/java/applet/AppletContext.java +++ b/libjava/classpath/java/applet/AppletContext.java @@ -1,5 +1,5 @@ /* AppletContext.java -- access the applet's runtime environment - Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -52,7 +52,7 @@ import java.util.Iterator; * * @author Aaron M. Renn (arenn@urbanophile.com) * @since 1.0 - * @status updated to 1.4 + * @status updated to 1.5 */ public interface AppletContext { @@ -90,7 +90,7 @@ public interface AppletContext * * @return a list of all the applets */ - Enumeration getApplets(); + Enumeration getApplets(); /** * Displays the web page pointed to by the specified URL in the window @@ -150,5 +150,5 @@ public interface AppletContext * @return an iterator over the association keys * @since 1.4 */ - Iterator getStreamKeys(); + Iterator getStreamKeys(); } // interface AppletContext diff --git a/libjava/classpath/java/awt/AWTEvent.java b/libjava/classpath/java/awt/AWTEvent.java index a6151b424c1..3f4027c2c05 100644 --- a/libjava/classpath/java/awt/AWTEvent.java +++ b/libjava/classpath/java/awt/AWTEvent.java @@ -96,6 +96,11 @@ public abstract class AWTEvent extends EventObject */ protected boolean consumed; + /** + * Used for implementing a simple linked list in EventQueue. + */ + transient AWTEvent queueNext; + /** * Who knows? It's in the serial version. * diff --git a/libjava/classpath/java/awt/AWTEventMulticaster.java b/libjava/classpath/java/awt/AWTEventMulticaster.java index f7b9163cf67..07a6ffc2002 100644 --- a/libjava/classpath/java/awt/AWTEventMulticaster.java +++ b/libjava/classpath/java/awt/AWTEventMulticaster.java @@ -1175,16 +1175,17 @@ public class AWTEventMulticaster * @throws IllegalArgumentException if type is Void.TYPE * @since 1.4 */ - public static EventListener[] getListeners(EventListener l, Class type) + public static T[] getListeners(EventListener l, + Class type) { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); if (l instanceof AWTEventMulticaster) ((AWTEventMulticaster) l).getListeners(list, type); else if (type.isInstance(l)) list.add(l); EventListener[] r = (EventListener[]) Array.newInstance(type, list.size()); list.toArray(r); - return r; + return (T[]) r; } /** diff --git a/libjava/classpath/java/awt/AWTKeyStroke.java b/libjava/classpath/java/awt/AWTKeyStroke.java index 0e06225219f..527e85873e0 100644 --- a/libjava/classpath/java/awt/AWTKeyStroke.java +++ b/libjava/classpath/java/awt/AWTKeyStroke.java @@ -1,5 +1,5 @@ /* AWTKeyStroke.java -- an immutable key stroke - Copyright (C) 2002, 2004, 2005 Free Software Foundation + Copyright (C) 2002, 2004, 2005 Free Software Foundation This file is part of GNU Classpath. @@ -65,6 +65,7 @@ import java.util.StringTokenizer; * no-arg constructor (of any accessibility). * * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see #getAWTKeyStroke(char) * @since 1.4 * @status updated to 1.4 @@ -85,13 +86,15 @@ public class AWTKeyStroke implements Serializable * under the assumption that garbage collection of a new keystroke is * easy when we find the old one that it matches in the cache. */ - private static final LinkedHashMap cache = new LinkedHashMap(11, 0.75f, true) + private static final LinkedHashMap cache = + new LinkedHashMap(11, 0.75f, true) { /** The largest the keystroke cache can grow. */ private static final int MAX_CACHE_SIZE = 2048; /** Prune stale entries. */ - protected boolean removeEldestEntry(Map.Entry eldest) + protected boolean removeEldestEntry(Map.Entry + eldest) { // XXX - FIXME Use Map.Entry, not just Entry as gcj 3.1 workaround. return size() > MAX_CACHE_SIZE; } @@ -114,7 +117,7 @@ public class AWTKeyStroke implements Serializable * * @see #getAWTKeyStroke(String) */ - static final HashMap vktable = new HashMap(); + static final HashMap vktable = new HashMap(); static { // Using reflection saves the hassle of keeping this in sync with KeyEvent, @@ -229,7 +232,7 @@ public class AWTKeyStroke implements Serializable * @throws IllegalArgumentException subclass doesn't have no-arg constructor * @throws ClassCastException subclass doesn't extend AWTKeyStroke */ - protected static void registerSubclass(final Class subclass) + protected static void registerSubclass(final Class subclass) { if (subclass == null) throw new IllegalArgumentException(); @@ -252,7 +255,8 @@ public class AWTKeyStroke implements Serializable throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException { - Constructor c = subclass.getDeclaredConstructor(null); + Constructor c = + subclass.getDeclaredConstructor((Class[])null); c.setAccessible(true); // Create a new instance, to make sure that we can, and // to cause any ClassCastException. @@ -595,7 +599,7 @@ public class AWTKeyStroke implements Serializable */ protected Object readResolve() throws ObjectStreamException { - AWTKeyStroke s = (AWTKeyStroke) cache.get(this); + AWTKeyStroke s = cache.get(this); if (s != null) return s; cache.put(this, this); diff --git a/libjava/classpath/java/awt/BasicStroke.java b/libjava/classpath/java/awt/BasicStroke.java index 160a3eb0f74..ef6a7f0b7b5 100644 --- a/libjava/classpath/java/awt/BasicStroke.java +++ b/libjava/classpath/java/awt/BasicStroke.java @@ -43,6 +43,7 @@ import gnu.java.awt.java2d.LineSegment; import gnu.java.awt.java2d.QuadSegment; import gnu.java.awt.java2d.Segment; +import java.awt.geom.FlatteningPathIterator; import java.awt.geom.GeneralPath; import java.awt.geom.PathIterator; import java.awt.geom.Point2D; @@ -486,8 +487,157 @@ public class BasicStroke implements Stroke private Shape dashedStroke(PathIterator pi) { - GeneralPath out = new GeneralPath(); - return out; + // The choice of (flatnessSq == width / 3) is made to be consistent with + // the flattening in CubicSegment.getDisplacedSegments + FlatteningPathIterator flat = new FlatteningPathIterator(pi, + Math.sqrt(width / 3)); + + // Holds the endpoint of the current segment (or piece of a segment) + double[] coords = new double[2]; + + // Holds end of the last segment + double x, y, x0, y0; + x = x0 = y = y0 = 0; + + // Various useful flags + boolean pathOpen = false; + boolean dashOn = true; + boolean offsetting = (phase != 0); + + // How far we are into the current dash + double distance = 0; + int dashIndex = 0; + + // And variables to hold the final output + GeneralPath output = new GeneralPath(); + Segment[] p; + + // Iterate over the FlatteningPathIterator + while (! flat.isDone()) + { + switch (flat.currentSegment(coords)) + { + case PathIterator.SEG_MOVETO: + x0 = x = coords[0]; + y0 = y = coords[1]; + + if (pathOpen) + { + capEnds(); + convertPath(output, start); + start = end = null; + pathOpen = false; + } + + break; + + case PathIterator.SEG_LINETO: + boolean segmentConsumed = false; + + while (! segmentConsumed) + { + // Find the total remaining length of this segment + double segLength = Math.sqrt((x - coords[0]) * (x - coords[0]) + + (y - coords[1]) + * (y - coords[1])); + boolean spanBoundary = true; + double[] segmentEnd = null; + + // The current segment fits entirely inside the current dash + if ((offsetting && distance + segLength <= phase) + || distance + segLength <= dash[dashIndex]) + { + spanBoundary = false; + } + + // Otherwise, we need to split the segment in two, as this + // segment spans a dash boundry + else + { + segmentEnd = (double[]) coords.clone(); + + // Calculate the remaining distance in this dash, + // and coordinates of the dash boundary + double reqLength; + if (offsetting) + reqLength = phase - distance; + else + reqLength = dash[dashIndex] - distance; + + coords[0] = x + ((coords[0] - x) * reqLength / segLength); + coords[1] = y + ((coords[1] - y) * reqLength / segLength); + } + + if (offsetting || ! dashOn) + { + // Dash is off, or we are in offset - treat this as a + // moveTo + x0 = x = coords[0]; + y0 = y = coords[1]; + + if (pathOpen) + { + capEnds(); + convertPath(output, start); + start = end = null; + pathOpen = false; + } + } + else + { + // Dash is on - treat this as a lineTo + p = (new LineSegment(x, y, coords[0], coords[1])).getDisplacedSegments(width / 2.0); + + if (! pathOpen) + { + start = p[0]; + end = p[1]; + pathOpen = true; + } + else + addSegments(p); + + x = coords[0]; + y = coords[1]; + } + + // Update variables depending on whether we spanned a + // dash boundary or not + if (! spanBoundary) + { + distance += segLength; + segmentConsumed = true; + } + else + { + if (offsetting) + offsetting = false; + dashOn = ! dashOn; + distance = 0; + coords = segmentEnd; + + if (dashIndex + 1 == dash.length) + dashIndex = 0; + else + dashIndex++; + + // Since the value of segmentConsumed is still false, + // the next run of the while loop will complete the segment + } + } + break; + + // This is a flattened path, so we don't need to deal with curves + } + flat.next(); + } + + if (pathOpen) + { + capEnds(); + convertPath(output, start); + } + return output; } /** @@ -611,9 +761,13 @@ public class BasicStroke implements Stroke p1 = new double[]{a.last.P2.getX(), a.last.P2.getY()}; dx = p1[0] - p0[0]; dy = p1[1] - p0[1]; - l = Math.sqrt(dx * dx + dy * dy); - dx = (2.0/3.0)*width*dx/l; - dy = (2.0/3.0)*width*dy/l; + if (dx != 0 && dy != 0) + { + l = Math.sqrt(dx * dx + dy * dy); + dx = (2.0/3.0)*width*dx/l; + dy = (2.0/3.0)*width*dy/l; + } + c1 = new Point2D.Double(p1[0] + dx, p1[1] + dy); c2 = new Point2D.Double(b.P1.getX() + dx, b.P1.getY() + dy); a.add(new CubicSegment(a.last.P2, c1, c2, b.P1)); diff --git a/libjava/classpath/java/awt/Button.java b/libjava/classpath/java/awt/Button.java index ae897a2f75f..4c246c7650b 100644 --- a/libjava/classpath/java/awt/Button.java +++ b/libjava/classpath/java/awt/Button.java @@ -352,11 +352,11 @@ removeActionListener(ActionListener listener) * * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == ActionListener.class) - return getActionListeners(); - return (EventListener[]) Array.newInstance(listenerType, 0); + return (T[]) getActionListeners(); + return (T[]) Array.newInstance(listenerType, 0); } /*************************************************************************/ diff --git a/libjava/classpath/java/awt/CardLayout.java b/libjava/classpath/java/awt/CardLayout.java index fcb05215af9..2e3feece8d2 100644 --- a/libjava/classpath/java/awt/CardLayout.java +++ b/libjava/classpath/java/awt/CardLayout.java @@ -225,6 +225,8 @@ public class CardLayout implements LayoutManager2, Serializable */ public Dimension maximumLayoutSize (Container target) { + if (target == null) + return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE); // The JCL says that this returns Integer.MAX_VALUE for both // dimensions. But that just seems wrong to me. return getSize (target, MAX); @@ -361,7 +363,7 @@ public class CardLayout implements LayoutManager2, Serializable */ public String toString () { - return getClass ().getName () + "[" + hgap + "," + vgap + "]"; + return getClass ().getName () + "[hgap=" + hgap + ",vgap=" + vgap + "]"; } /** @@ -401,11 +403,11 @@ public class CardLayout implements LayoutManager2, Serializable { if (comps[i].isVisible ()) { - if (what == NEXT) + if (choice == i) { - choice = i + 1; - if (choice == num) - choice = 0; + // Do nothing if we're already looking at the right + // component. + return; } else if (what == PREV) { @@ -413,17 +415,20 @@ public class CardLayout implements LayoutManager2, Serializable if (choice < 0) choice = num - 1; } - else if (choice == i) + else if (what == NEXT) { - // Do nothing if we're already looking at the right - // component. - return; + choice = i + 1; + if (choice == num) + choice = 0; } comps[i].setVisible (false); if (choice >= 0) break; - } + } else + { + comps[i].setVisible(true); + } } if (choice >= 0 && choice < num) diff --git a/libjava/classpath/java/awt/CheckboxMenuItem.java b/libjava/classpath/java/awt/CheckboxMenuItem.java index 2df621b71b7..c886fc67203 100644 --- a/libjava/classpath/java/awt/CheckboxMenuItem.java +++ b/libjava/classpath/java/awt/CheckboxMenuItem.java @@ -318,11 +318,11 @@ paramString() * @exception ClassCastException If listenerType doesn't specify a class or * interface that implements java.util.EventListener. */ - public EventListener[] getListeners (Class listenerType) + public T[] getListeners (Class listenerType) { if (listenerType == ItemListener.class) return AWTEventMulticaster.getListeners (item_listeners, listenerType); - + return super.getListeners (listenerType); } diff --git a/libjava/classpath/java/awt/Choice.java b/libjava/classpath/java/awt/Choice.java index 104e30a7e82..ae89b9e9954 100644 --- a/libjava/classpath/java/awt/Choice.java +++ b/libjava/classpath/java/awt/Choice.java @@ -255,8 +255,8 @@ public class Choice extends Component /** * Adds the specified item to this choice box. * - * This method is oboslete since Java 2 platform 1.1. Please use @see add - * instead. + * This method is oboslete since Java 2 platform 1.1. Please use + * {@link #add(String)} instead. * * @param item The item to add. * @@ -320,9 +320,6 @@ public class Choice extends Component */ public synchronized void remove(int index) { - if ((index < 0) || (index > getItemCount())) - throw new IllegalArgumentException("Bad index: " + index); - pItems.removeElementAt(index); if (peer != null) @@ -332,14 +329,14 @@ public class Choice extends Component selectedIndex = -1; else { - if( selectedIndex > index ) - selectedIndex--; - else if( selectedIndex == index ) - selectedIndex = 0; - - if( peer != null ) - ((ChoicePeer)peer).select( selectedIndex ); - } + if( selectedIndex > index ) + selectedIndex--; + else if( selectedIndex == index ) + selectedIndex = 0; + + if( peer != null ) + ((ChoicePeer)peer).select( selectedIndex ); + } } /** @@ -523,11 +520,11 @@ public class Choice extends Component * * @since 1.3 */ - public EventListener[] getListeners (Class listenerType) + public T[] getListeners (Class listenerType) { if (listenerType == ItemListener.class) return AWTEventMulticaster.getListeners (item_listeners, listenerType); - + return super.getListeners (listenerType); } diff --git a/libjava/classpath/java/awt/Color.java b/libjava/classpath/java/awt/Color.java index b0312924170..c3d04c04976 100644 --- a/libjava/classpath/java/awt/Color.java +++ b/libjava/classpath/java/awt/Color.java @@ -534,14 +534,31 @@ public class Color implements Paint, Serializable { // Do not inline getRGB() to this.value, because of SystemColor. int value = getRGB(); - int red = (value & RED_MASK) >> 16; - int green = (value & GREEN_MASK) >> 8; - int blue = value & BLUE_MASK; - // We have to special case 0-2 because they won't scale by division. - red = red < 3 ? 3 : (int) Math.min(255, red / BRIGHT_SCALE); - green = green < 3 ? 3 : (int) Math.min(255, green / BRIGHT_SCALE); - blue = blue < 3 ? 3 : (int) Math.min(255, blue / BRIGHT_SCALE); - return new Color(red, green, blue, 255); + int[] hues = new int[3]; + hues[0] = (value & RED_MASK) >> 16; + hues[1] = (value & GREEN_MASK) >> 8; + hues[2] = value & BLUE_MASK; + + // (0,0,0) is a special case. + if (hues[0] == 0 && hues[1] == 0 && hues[2] ==0) + { + hues[0] = 3; + hues[1] = 3; + hues[2] = 3; + } + else + { + for (int index = 0; index < 3; index++) + { + + if (hues[index] > 2) + hues[index] = (int) Math.min(255, hues[index]/0.7f); + if (hues[index] == 1 || hues[index] == 2) + hues[index] = 4; + } + } + + return new Color(hues[0], hues[1], hues[2], 255); } /** diff --git a/libjava/classpath/java/awt/Component.java b/libjava/classpath/java/awt/Component.java index 44f277ac783..b6eadabbb5c 100644 --- a/libjava/classpath/java/awt/Component.java +++ b/libjava/classpath/java/awt/Component.java @@ -39,6 +39,10 @@ exception statement from your version. */ package java.awt; +//import gnu.java.awt.dnd.peer.gtk.GtkDropTargetContextPeer; + +import gnu.java.awt.ComponentReshapeEvent; + import java.awt.dnd.DropTarget; import java.awt.event.ActionEvent; import java.awt.event.AdjustmentEvent; @@ -577,7 +581,7 @@ public abstract class Component transient ComponentPeer peer; /** The preferred component orientation. */ - transient ComponentOrientation orientation = ComponentOrientation.UNKNOWN; + transient ComponentOrientation componentOrientation = ComponentOrientation.UNKNOWN; /** * The associated graphics configuration. @@ -698,6 +702,9 @@ public abstract class Component public void setDropTarget(DropTarget dt) { this.dropTarget = dt; + + if (peer != null) + dropTarget.addNotify(peer); } /** @@ -741,16 +748,23 @@ public abstract class Component */ public Toolkit getToolkit() { - if (peer != null) + // Only heavyweight peers can handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) { - Toolkit tk = peer.getToolkit(); - if (tk != null) - return tk; + comp = comp.parent; + p = comp == null ? null : comp.peer; } - // Get toolkit for lightweight component. - if (parent != null) - return parent.getToolkit(); - return Toolkit.getDefaultToolkit(); + + Toolkit tk = null; + if (p != null) + { + tk = peer.getToolkit(); + } + if (tk == null) + tk = Toolkit.getDefaultToolkit(); + return tk; } /** @@ -809,10 +823,7 @@ public abstract class Component */ public boolean isShowing() { - if (! visible || peer == null) - return false; - - return parent == null ? false : parent.isShowing(); + return visible && peer != null && (parent == null || parent.isShowing()); } /** @@ -959,14 +970,14 @@ public abstract class Component // case lightweight components are not initially painted -- // Container.paint first calls isShowing () before painting itself // and its children. - if(!isVisible()) + if(! visible) { // Need to lock the tree here to avoid races and inconsistencies. synchronized (getTreeLock()) { visible = true; // Avoid NullPointerExceptions by creating a local reference. - ComponentPeer currentPeer=peer; + ComponentPeer currentPeer = peer; if (currentPeer != null) { currentPeer.show(); @@ -978,7 +989,7 @@ public abstract class Component // The JDK repaints the component before invalidating the parent. // So do we. - if (isLightweight()) + if (peer instanceof LightweightPeer) repaint(); } @@ -1025,7 +1036,7 @@ public abstract class Component */ public void hide() { - if (isVisible()) + if (visible) { // Need to lock the tree here to avoid races and inconsistencies. synchronized (getTreeLock()) @@ -1033,7 +1044,7 @@ public abstract class Component visible = false; // Avoid NullPointerExceptions by creating a local reference. - ComponentPeer currentPeer=peer; + ComponentPeer currentPeer = peer; if (currentPeer != null) { currentPeer.hide(); @@ -1168,31 +1179,80 @@ public abstract class Component */ public Font getFont() { - Font f = font; - if (f != null) - return f; + Font f; + synchronized (getTreeLock()) + { + f = getFontImpl(); + } + return f; + } - Component p = parent; - if (p != null) - return p.getFont(); - return null; + /** + * Implementation of getFont(). This is pulled out of getFont() to prevent + * client programs from overriding this. This method is executed within + * a tree lock, so we can assume that the hierarchy doesn't change in + * between. + * + * @return the font of this component + */ + private final Font getFontImpl() + { + Font f = font; + if (f == null) + { + Component p = parent; + if (p != null) + f = p.getFontImpl(); + else + f = new Font("Dialog", Font.PLAIN, 12); + } + return f; } /** * Sets the font for this component to the specified font. This is a bound * property. * - * @param newFont the new font for this component + * @param f the new font for this component * * @see #getFont() */ - public void setFont(Font newFont) + public void setFont(Font f) { - Font oldFont = font; - font = newFont; - if (peer != null) - peer.setFont(font); + Font oldFont; + Font newFont; + // Synchronize on the tree because getFontImpl() relies on the hierarchy + // not beeing changed. + synchronized (getTreeLock()) + { + // Synchronize on this here to guarantee thread safety wrt to the + // property values. + synchronized (this) + { + oldFont = font; + font = f; + newFont = f; + } + // Create local variable here for thread safety. + ComponentPeer p = peer; + if (p != null) + { + // The peer receives the real font setting, which can depend on + // the parent font when this component's font has been set to null. + f = getFont(); + if (f != null) + { + p.setFont(f); + peerFont = f; + } + } + } + + // Fire property change event. firePropertyChange("font", oldFont, newFont); + + // Invalidate when necessary as font changes can change the size of the + // component. if (valid) invalidate(); } @@ -1292,8 +1352,26 @@ public abstract class Component // component. synchronized (getTreeLock()) { - // We know peer != null here. - return peer.getLocationOnScreen(); + // Only a heavyweight peer can answer the question for the screen + // location. So we are going through the hierarchy until we find + // one and add up the offsets while doing so. + int offsX = 0; + int offsY = 0; + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + offsX += comp.x; + offsY += comp.y; + comp = comp.parent; + p = comp == null ? null: comp.peer; + } + // Now we have a heavyweight component. + assert ! (p instanceof LightweightPeer); + Point loc = p.getLocationOnScreen(); + loc.x += offsX; + loc.y += offsY; + return loc; } } @@ -1533,7 +1611,17 @@ public abstract class Component } } - private void notifyReshape(boolean resized, boolean moved) + /** + * Sends notification to interested listeners about resizing and/or moving + * the component. If this component has interested + * component listeners or the corresponding event mask enabled, then + * COMPONENT_MOVED and/or COMPONENT_RESIZED events are posted to the event + * queue. + * + * @param resized true if the component has been resized, false otherwise + * @param moved true if the component has been moved, false otherwise + */ + void notifyReshape(boolean resized, boolean moved) { // Only post an event if this component actually has a listener // or has this event explicitly enabled. @@ -1544,43 +1632,16 @@ public abstract class Component if (moved) { ComponentEvent ce = new ComponentEvent(this, - ComponentEvent.COMPONENT_MOVED); + ComponentEvent.COMPONENT_MOVED); getToolkit().getSystemEventQueue().postEvent(ce); } if (resized) { ComponentEvent ce = new ComponentEvent(this, - ComponentEvent.COMPONENT_RESIZED); + ComponentEvent.COMPONENT_RESIZED); getToolkit().getSystemEventQueue().postEvent(ce); } } - else - { - // Otherwise we might need to notify child components when this is - // a Container. - if (this instanceof Container) - { - Container cont = (Container) this; - if (resized) - { - for (int i = 0; i < cont.getComponentCount(); i++) - { - Component child = cont.getComponent(i); - child.fireHierarchyEvent(HierarchyEvent.ANCESTOR_RESIZED, - this, parent, 0); - } - } - if (moved) - { - for (int i = 0; i < cont.getComponentCount(); i++) - { - Component child = cont.getComponent(i); - child.fireHierarchyEvent(HierarchyEvent.ANCESTOR_MOVED, - this, parent, 0); - } - } - } - } } /** @@ -2023,7 +2084,32 @@ public abstract class Component */ public void validate() { - valid = true; + if (! valid) + { + // Synchronize on the tree here as this might change the layout + // of the hierarchy. + synchronized (getTreeLock()) + { + // Create local variables for thread safety. + ComponentPeer p = peer; + if (p != null) + { + // Possibly update the peer's font. + Font newFont = getFont(); + Font oldFont = peerFont; + // Only update when the font really changed. + if (newFont != oldFont + && (oldFont == null || ! oldFont.equals(newFont))) + { + p.setFont(newFont); + peerFont = newFont; + } + // Let the peer perform any layout. + p.layout(); + } + } + valid = true; + } } /** @@ -2063,21 +2149,28 @@ public abstract class Component */ public Graphics getGraphics() { - if (peer != null) + // Only heavyweight peers can handle this. + ComponentPeer p = peer; + Graphics g = null; + if (p instanceof LightweightPeer) { - Graphics gfx = peer.getGraphics(); - // Create peer for lightweights. - if (gfx == null && parent != null) + if (parent != null) { - gfx = parent.getGraphics(); - gfx.clipRect(getX(), getY(), getWidth(), getHeight()); - gfx.translate(getX(), getY()); - return gfx; + g = parent.getGraphics(); + if (g != null) + { + g.translate(x, y); + g.setClip(0, 0, width, height); + g.setFont(getFont()); + } } - gfx.setFont(font); - return gfx; } - return null; + else + { + if (p != null) + g = p.getGraphics(); + } + return g; } /** @@ -2091,8 +2184,16 @@ public abstract class Component */ public FontMetrics getFontMetrics(Font font) { - return peer == null ? getToolkit().getFontMetrics(font) - : peer.getFontMetrics(font); + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + return p == null ? getToolkit().getFontMetrics(font) + : p.getFontMetrics(font); } /** @@ -2111,8 +2212,18 @@ public abstract class Component public void setCursor(Cursor cursor) { this.cursor = cursor; - if (peer != null) - peer.setCursor(cursor); + + // Only heavyweight peers handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + if (p != null) + p.setCursor(cursor); } /** @@ -2190,9 +2301,14 @@ public abstract class Component */ public void paintAll(Graphics g) { - if (! visible) - return; - paint(g); + if (isShowing()) + { + validate(); + if (peer instanceof LightweightPeer) + paint(g); + else + peer.paint(g); + } } /** @@ -2263,36 +2379,32 @@ public abstract class Component // Let the nearest heavyweight parent handle repainting for lightweight // components. - // This goes up the hierarchy until we hit - // a heavyweight component that handles this and translates the - // rectangle while doing so. - - // We perform some boundary checking to restrict the paint - // region to this component. - int px = (x < 0 ? 0 : x); - int py = (y < 0 ? 0 : y); - int pw = width; - int ph = height; - Component par = this; - while (par != null && p instanceof LightweightPeer) + // We need to recursivly call repaint() on the parent here, since + // a (lightweight) parent component might have overridden repaint() + // to perform additional custom tasks. + + if (p instanceof LightweightPeer) { - px += par.x; - py += par.y; // We perform some boundary checking to restrict the paint // region to this component. - pw = Math.min(pw, par.width); - ph = Math.min(ph, par.height); - par = par.parent; - p = par.peer; + if (parent != null) + { + int px = this.x + Math.max(0, x); + int py = this.y + Math.max(0, y); + int pw = Math.min(this.width, width); + int ph = Math.min(this.height, height); + parent.repaint(tm, px, py, pw, ph); + } } - - // Now send an UPDATE event to the heavyweight component that we've found. - if (par != null && par.isVisible() && p != null && pw > 0 && ph > 0) + else { - assert ! (p instanceof LightweightPeer); - PaintEvent pe = new PaintEvent(par, PaintEvent.UPDATE, - new Rectangle(px, py, pw, ph)); - getToolkit().getSystemEventQueue().postEvent(pe); + // Now send an UPDATE event to the heavyweight component that we've found. + if (isVisible() && p != null && width > 0 && height > 0) + { + PaintEvent pe = new PaintEvent(this, PaintEvent.UPDATE, + new Rectangle(x, y, width, height)); + getToolkit().getSystemEventQueue().postEvent(pe); + } } } @@ -2380,11 +2492,22 @@ public abstract class Component */ public Image createImage(ImageProducer producer) { + // Only heavyweight peers can handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + // Sun allows producer to be null. - if (peer != null) - return peer.createImage(producer); + Image im; + if (p != null) + im = p.createImage(producer); else - return getToolkit().createImage(producer); + im = getToolkit().createImage(producer); + return im; } /** @@ -2400,10 +2523,17 @@ public abstract class Component Image returnValue = null; if (!GraphicsEnvironment.isHeadless ()) { - if (isLightweight () && parent != null) - returnValue = parent.createImage (width, height); - else if (peer != null) - returnValue = peer.createImage (width, height); + // Only heavyweight peers can handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + if (p != null) + returnValue = p.createImage(width, height); } return returnValue; } @@ -2419,9 +2549,19 @@ public abstract class Component */ public VolatileImage createVolatileImage(int width, int height) { - if (peer != null) - return peer.createVolatileImage(width, height); - return null; + // Only heavyweight peers can handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + VolatileImage im = null; + if (p != null) + im = p.createVolatileImage(width, height); + return im; } /** @@ -2440,9 +2580,19 @@ public abstract class Component ImageCapabilities caps) throws AWTException { - if (peer != null) - return peer.createVolatileImage(width, height); - return null; + // Only heavyweight peers can handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + VolatileImage im = null; + if (p != null) + im = peer.createVolatileImage(width, height); + return im; } /** @@ -2472,10 +2622,21 @@ public abstract class Component public boolean prepareImage(Image image, int width, int height, ImageObserver observer) { - if (peer != null) - return peer.prepareImage(image, width, height, observer); + // Only heavyweight peers handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + boolean retval; + if (p != null) + retval = p.prepareImage(image, width, height, observer); else - return getToolkit().prepareImage(image, width, height, observer); + retval = getToolkit().prepareImage(image, width, height, observer); + return retval; } /** @@ -2509,9 +2670,21 @@ public abstract class Component public int checkImage(Image image, int width, int height, ImageObserver observer) { - if (peer != null) - return peer.checkImage(image, width, height, observer); - return getToolkit().checkImage(image, width, height, observer); + // Only heavyweight peers handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + int retval; + if (p != null) + retval = p.checkImage(image, width, height, observer); + else + retval = getToolkit().checkImage(image, width, height, observer); + return retval; } /** @@ -2657,14 +2830,6 @@ public abstract class Component */ public final void dispatchEvent(AWTEvent e) { - Event oldEvent = translateEvent(e); - if (oldEvent != null) - postEvent (oldEvent); - - // Give toolkit a chance to dispatch the event - // to globally registered listeners. - Toolkit.getDefaultToolkit().globalDispatchEvent(e); - // Some subclasses in the AWT package need to override this behavior, // hence the use of dispatchEventImpl(). dispatchEventImpl(e); @@ -2715,9 +2880,12 @@ public abstract class Component */ public synchronized void addComponentListener(ComponentListener listener) { - componentListener = AWTEventMulticaster.add(componentListener, listener); - if (componentListener != null) - enableEvents(AWTEvent.COMPONENT_EVENT_MASK); + if (listener != null) + { + componentListener = AWTEventMulticaster.add(componentListener, + listener); + newEventsOnly = true; + } } /** @@ -2763,9 +2931,11 @@ public abstract class Component */ public synchronized void addFocusListener(FocusListener listener) { - focusListener = AWTEventMulticaster.add(focusListener, listener); - if (focusListener != null) - enableEvents(AWTEvent.FOCUS_EVENT_MASK); + if (listener != null) + { + focusListener = AWTEventMulticaster.add(focusListener, listener); + newEventsOnly = true; + } } /** @@ -2810,16 +2980,19 @@ public abstract class Component */ public synchronized void addHierarchyListener(HierarchyListener listener) { - hierarchyListener = AWTEventMulticaster.add(hierarchyListener, listener); - if (hierarchyListener != null) - enableEvents(AWTEvent.HIERARCHY_EVENT_MASK); - - // Need to lock the tree, otherwise we might end up inconsistent. - synchronized (getTreeLock()) + if (listener != null) { - numHierarchyListeners++; - if (parent != null) - parent.updateHierarchyListenerCount(AWTEvent.HIERARCHY_EVENT_MASK, 1); + hierarchyListener = AWTEventMulticaster.add(hierarchyListener, + listener); + newEventsOnly = true; + // Need to lock the tree, otherwise we might end up inconsistent. + synchronized (getTreeLock()) + { + numHierarchyListeners++; + if (parent != null) + parent.updateHierarchyListenerCount(AWTEvent.HIERARCHY_EVENT_MASK, + 1); + } } } @@ -2876,19 +3049,20 @@ public abstract class Component public synchronized void addHierarchyBoundsListener(HierarchyBoundsListener listener) { - hierarchyBoundsListener = - AWTEventMulticaster.add(hierarchyBoundsListener, listener); - if (hierarchyBoundsListener != null) - enableEvents(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); - - // Need to lock the tree, otherwise we might end up inconsistent. - synchronized (getTreeLock()) + if (listener != null) { - numHierarchyBoundsListeners++; - if (parent != null) - parent.updateHierarchyListenerCount - (AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, - 1); + hierarchyBoundsListener = + AWTEventMulticaster.add(hierarchyBoundsListener, listener); + newEventsOnly = true; + + // Need to lock the tree, otherwise we might end up inconsistent. + synchronized (getTreeLock()) + { + numHierarchyBoundsListeners++; + if (parent != null) + parent.updateHierarchyListenerCount + (AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, 1); + } } } @@ -2956,7 +3130,7 @@ public abstract class Component case HierarchyEvent.ANCESTOR_RESIZED: enabled = hierarchyBoundsListener != null || (eventMask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0; - break; + break; default: assert false : "Should not reach here"; } @@ -2981,9 +3155,11 @@ public abstract class Component */ public synchronized void addKeyListener(KeyListener listener) { - keyListener = AWTEventMulticaster.add(keyListener, listener); - if (keyListener != null) - enableEvents(AWTEvent.KEY_EVENT_MASK); + if (listener != null) + { + keyListener = AWTEventMulticaster.add(keyListener, listener); + newEventsOnly = true; + } } /** @@ -3028,9 +3204,11 @@ public abstract class Component */ public synchronized void addMouseListener(MouseListener listener) { - mouseListener = AWTEventMulticaster.add(mouseListener, listener); - if (mouseListener != null) - enableEvents(AWTEvent.MOUSE_EVENT_MASK); + if (listener != null) + { + mouseListener = AWTEventMulticaster.add(mouseListener, listener); + newEventsOnly = true; + } } /** @@ -3075,9 +3253,12 @@ public abstract class Component */ public synchronized void addMouseMotionListener(MouseMotionListener listener) { - mouseMotionListener = AWTEventMulticaster.add(mouseMotionListener, listener); - if (mouseMotionListener != null) - enableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK); + if (listener != null) + { + mouseMotionListener = AWTEventMulticaster.add(mouseMotionListener, + listener); + newEventsOnly = true; + } } /** @@ -3124,9 +3305,12 @@ public abstract class Component */ public synchronized void addMouseWheelListener(MouseWheelListener listener) { - mouseWheelListener = AWTEventMulticaster.add(mouseWheelListener, listener); - if (mouseWheelListener != null) - enableEvents(AWTEvent.MOUSE_WHEEL_EVENT_MASK); + if (listener != null) + { + mouseWheelListener = AWTEventMulticaster.add(mouseWheelListener, + listener); + newEventsOnly = true; + } } /** @@ -3174,9 +3358,12 @@ public abstract class Component */ public synchronized void addInputMethodListener(InputMethodListener listener) { - inputMethodListener = AWTEventMulticaster.add(inputMethodListener, listener); - if (inputMethodListener != null) - enableEvents(AWTEvent.INPUT_METHOD_EVENT_MASK); + if (listener != null) + { + inputMethodListener = AWTEventMulticaster.add(inputMethodListener, + listener); + newEventsOnly = true; + } } /** @@ -3235,29 +3422,29 @@ public abstract class Component * @see #getPropertyChangeListeners() * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == ComponentListener.class) - return getComponentListeners(); + return (T[]) getComponentListeners(); if (listenerType == FocusListener.class) - return getFocusListeners(); + return (T[]) getFocusListeners(); if (listenerType == HierarchyListener.class) - return getHierarchyListeners(); + return (T[]) getHierarchyListeners(); if (listenerType == HierarchyBoundsListener.class) - return getHierarchyBoundsListeners(); + return (T[]) getHierarchyBoundsListeners(); if (listenerType == KeyListener.class) - return getKeyListeners(); + return (T[]) getKeyListeners(); if (listenerType == MouseListener.class) - return getMouseListeners(); + return (T[]) getMouseListeners(); if (listenerType == MouseMotionListener.class) - return getMouseMotionListeners(); + return (T[]) getMouseMotionListeners(); if (listenerType == MouseWheelListener.class) - return getMouseWheelListeners(); + return (T[]) getMouseWheelListeners(); if (listenerType == InputMethodListener.class) - return getInputMethodListeners(); + return (T[]) getInputMethodListeners(); if (listenerType == PropertyChangeListener.class) - return getPropertyChangeListeners(); - return (EventListener[]) Array.newInstance(listenerType, 0); + return (T[]) getPropertyChangeListeners(); + return (T[]) Array.newInstance(listenerType, 0); } /** @@ -3302,18 +3489,49 @@ public abstract class Component */ protected final void enableEvents(long eventsToEnable) { + // Update the counter for hierarchy (bounds) listeners. + if ((eventsToEnable & AWTEvent.HIERARCHY_EVENT_MASK) != 0 + && (eventMask & AWTEvent.HIERARCHY_EVENT_MASK) == 0) + { + // Need to lock the tree, otherwise we might end up inconsistent. + synchronized (getTreeLock()) + { + numHierarchyListeners++; + if (parent != null) + parent.updateHierarchyListenerCount + (AWTEvent.HIERARCHY_EVENT_MASK, + 1); + } + } + if ((eventsToEnable & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0 + && (eventMask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) == 0) + { + // Need to lock the tree, otherwise we might end up inconsistent. + synchronized (getTreeLock()) + { + numHierarchyBoundsListeners++; + if (parent != null) + parent.updateHierarchyListenerCount + (AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, + 1); + } + } + eventMask |= eventsToEnable; - // TODO: Unlike Sun's implementation, I think we should try and - // enable/disable events at the peer (gtk/X) level. This will avoid - // clogging the event pipeline with useless mousemove events that - // we arn't interested in, etc. This will involve extending the peer - // interface, but thats okay because the peer interfaces have been - // deprecated for a long time, and no longer feature in the - // API specification at all. - if (isLightweight() && parent != null) - parent.enableEvents(eventsToEnable); - else if (peer != null) - peer.setEventMask(eventMask); + newEventsOnly = true; + + // Only heavyweight peers handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + if (p != null) + p.setEventMask(eventMask); + } /** @@ -3326,8 +3544,48 @@ public abstract class Component */ protected final void disableEvents(long eventsToDisable) { + // Update the counter for hierarchy (bounds) listeners. + if ((eventsToDisable & AWTEvent.HIERARCHY_EVENT_MASK) != 0 + && (eventMask & AWTEvent.HIERARCHY_EVENT_MASK) != 0) + { + // Need to lock the tree, otherwise we might end up inconsistent. + synchronized (getTreeLock()) + { + numHierarchyListeners--; + if (parent != null) + parent.updateHierarchyListenerCount + (AWTEvent.HIERARCHY_EVENT_MASK, + -1); + } + } + if ((eventsToDisable & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0 + && (eventMask & AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK) != 0) + { + // Need to lock the tree, otherwise we might end up inconsistent. + synchronized (getTreeLock()) + { + numHierarchyBoundsListeners--; + if (parent != null) + parent.updateHierarchyListenerCount + (AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, + -1); + } + } + eventMask &= ~eventsToDisable; - // forward new event mask to peer? + + // Only heavyweight peers handle this. + ComponentPeer p = peer; + Component comp = this; + while (p instanceof LightweightPeer) + { + comp = comp.parent; + p = comp == null ? null : comp.peer; + } + + if (p != null) + p.setEventMask(eventMask); + } /** @@ -3343,19 +3601,42 @@ public abstract class Component */ protected AWTEvent coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent) { + AWTEvent coalesced = null; switch (existingEvent.id) { case MouseEvent.MOUSE_MOVED: case MouseEvent.MOUSE_DRAGGED: // Just drop the old (intermediate) event and return the new one. - return newEvent; + MouseEvent me1 = (MouseEvent) existingEvent; + MouseEvent me2 = (MouseEvent) newEvent; + if (me1.getModifiers() == me2.getModifiers()) + coalesced = newEvent; + break; case PaintEvent.PAINT: case PaintEvent.UPDATE: - return coalescePaintEvents((PaintEvent) existingEvent, - (PaintEvent) newEvent); + // For heavyweights the EventQueue should ask the peer. + if (peer == null || peer instanceof LightweightPeer) + { + PaintEvent pe1 = (PaintEvent) existingEvent; + PaintEvent pe2 = (PaintEvent) newEvent; + Rectangle r1 = pe1.getUpdateRect(); + Rectangle r2 = pe2.getUpdateRect(); + if (r1.contains(r2)) + coalesced = existingEvent; + else if (r2.contains(r1)) + coalesced = newEvent; + } + else + { + // Replace the event and let the heavyweight figure out the expanding + // of the repaint area. + coalesced = newEvent; + } + break; default: - return null; + coalesced = null; } + return coalesced; } /** @@ -3877,16 +4158,29 @@ public abstract class Component peer = getToolkit().createComponent(this); else if (parent != null && parent.isLightweight()) new HeavyweightInLightweightListener(parent); - /* Now that all the children has gotten their peers, we should - have the event mask needed for this component and its - lightweight subcomponents. */ + // Now that all the children has gotten their peers, we should + // have the event mask needed for this component and its + //lightweight subcomponents. peer.setEventMask(eventMask); - /* We do not invalidate here, but rather leave that job up to - the peer. For efficiency, the peer can choose not to - invalidate if it is happy with the current dimensions, - etc. */ - if (dropTarget != null) - dropTarget.addNotify(peer); + + // We used to leave the invalidate() to the peer. However, I put it + // back here for 2 reasons: 1) The RI does call invalidate() from + // addNotify(); 2) The peer shouldn't be bother with validation too + // much. + invalidate(); + + if (dropTarget != null) + dropTarget.addNotify(peer); + + // Fetch the peerFont for later installation in validate(). + peerFont = getFont(); + + // Notify hierarchy listeners. + long flags = HierarchyEvent.DISPLAYABILITY_CHANGED; + if (isHierarchyVisible()) + flags |= HierarchyEvent.SHOWING_CHANGED; + fireHierarchyEvent(HierarchyEvent.HIERARCHY_CHANGED, this, parent, + flags); } } @@ -3911,11 +4205,19 @@ public abstract class Component ComponentPeer tmp = peer; peer = null; + peerFont = null; if (tmp != null) { tmp.hide(); tmp.dispose(); } + + // Notify hierarchy listeners. + long flags = HierarchyEvent.DISPLAYABILITY_CHANGED; + if (isHierarchyVisible()) + flags |= HierarchyEvent.SHOWING_CHANGED; + fireHierarchyEvent(HierarchyEvent.HIERARCHY_CHANGED, this, parent, + flags); } } @@ -4034,7 +4336,8 @@ public abstract class Component * @see KeyboardFocusManager#UP_CYCLE_TRAVERSAL_KEYS * @since 1.4 */ - public void setFocusTraversalKeys(int id, Set keystrokes) + public void setFocusTraversalKeys(int id, + Set keystrokes) { if (keystrokes == null) { @@ -4126,14 +4429,14 @@ public abstract class Component * * @since 1.4 */ - public Set getFocusTraversalKeys (int id) + public Set getFocusTraversalKeys (int id) { if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS && id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS && id != KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS) throw new IllegalArgumentException(); - Set s = null; + Set s = null; if (focusTraversalKeys != null) s = focusTraversalKeys[id]; @@ -5060,8 +5363,8 @@ p *
  • the set of backward traversal keys public void setComponentOrientation(ComponentOrientation o) { - ComponentOrientation oldOrientation = orientation; - orientation = o; + ComponentOrientation oldOrientation = componentOrientation; + componentOrientation = o; firePropertyChange("componentOrientation", oldOrientation, o); } @@ -5073,7 +5376,7 @@ p *
  • the set of backward traversal keys */ public ComponentOrientation getComponentOrientation() { - return orientation; + return componentOrientation; } /** @@ -5358,7 +5661,7 @@ p *
  • the set of backward traversal keys oldKey = Event.UP; break; default: - oldKey = (int) ((KeyEvent) e).getKeyChar(); + oldKey = ((KeyEvent) e).getKeyChar(); } translated = new Event (target, when, oldID, @@ -5401,9 +5704,23 @@ p *
  • the set of backward traversal keys * * @param e the event to dispatch */ - void dispatchEventImpl(AWTEvent e) { + // Update the component's knowledge about the size. + // Important: Please look at the big comment in ComponentReshapeEvent + // to learn why we did it this way. If you change this code, make + // sure that the peer->AWT bounds update still works. + // (for instance: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29448 ) + if (e instanceof ComponentReshapeEvent) + { + ComponentReshapeEvent reshape = (ComponentReshapeEvent) e; + x = reshape.x; + y = reshape.y; + width = reshape.width; + height = reshape.height; + return; + } + // Retarget focus events before dispatching it to the KeyboardFocusManager // in order to handle lightweight components properly. boolean dispatched = false; @@ -5416,11 +5733,21 @@ p *
  • the set of backward traversal keys if (! dispatched) { - if (eventTypeEnabled (e.id)) + // Give toolkit a chance to dispatch the event + // to globally registered listeners. + Toolkit.getDefaultToolkit().globalDispatchEvent(e); + + if (newEventsOnly) { - if (e.id != PaintEvent.PAINT && e.id != PaintEvent.UPDATE) + if (eventTypeEnabled(e.id)) processEvent(e); } + else + { + Event oldEvent = translateEvent(e); + if (oldEvent != null) + postEvent (oldEvent); + } if (peer != null) peer.handleEvent(e); } @@ -5493,42 +5820,23 @@ p *
  • the set of backward traversal keys } /** - * Coalesce paint events. Current heuristic is: Merge if the union of - * areas is less than twice that of the sum of the areas. The X server - * tend to create a lot of paint events that are adjacent but not - * overlapping. - * - *
    -   * +------+
    -   * |      +-----+  ...will be merged
    -   * |      |     |
    -   * |      |     |
    -   * +------+     |
    -   *        +-----+
    +   * Returns true when this component and all of its ancestors
    +   * are visible, false otherwise.
        *
    -   * +---------------+--+
    -   * |               |  |  ...will not be merged
    -   * +---------------+  |
    -   *                 |  |
    -   *                 |  |
    -   *                 |  |
    -   *                 |  |
    -   *                 |  |
    -   *                 +--+
    -   * 
    - * - * @param queuedEvent the first paint event - * @param newEvent the second paint event - * @return the combined paint event, or null + * @return true when this component and all of its ancestors + * are visible, false otherwise */ - private PaintEvent coalescePaintEvents(PaintEvent queuedEvent, - PaintEvent newEvent) + boolean isHierarchyVisible() { - Rectangle r1 = queuedEvent.getUpdateRect(); - Rectangle r2 = newEvent.getUpdateRect(); - Rectangle union = r1.union(r2); - newEvent.setUpdateRect(union); - return newEvent; + boolean visible = isVisible(); + Component comp = parent; + while (comp != null && visible) + { + comp = comp.parent; + if (comp != null) + visible = visible && comp.isVisible(); + } + return visible; } /** @@ -5671,7 +5979,7 @@ p *
  • the set of backward traversal keys */ public void componentHidden(ComponentEvent event) { - if (!isShowing()) + if (isShowing()) peer.hide(); } } diff --git a/libjava/classpath/java/awt/Container.java b/libjava/classpath/java/awt/Container.java index 409d164a13c..83d9f7b78c5 100644 --- a/libjava/classpath/java/awt/Container.java +++ b/libjava/classpath/java/awt/Container.java @@ -39,11 +39,11 @@ exception statement from your version. */ package java.awt; -import java.awt.event.ComponentListener; import java.awt.event.ContainerEvent; import java.awt.event.ContainerListener; import java.awt.event.HierarchyEvent; import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; import java.awt.peer.ComponentPeer; import java.awt.peer.ContainerPeer; import java.awt.peer.LightweightPeer; @@ -69,10 +69,11 @@ import javax.accessibility.Accessible; * * @author original author unknown * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * * @since 1.0 * - * @status still missing 1.4 support + * @status still missing 1.4 support, some generics from 1.5 */ public class Container extends Component { @@ -86,8 +87,6 @@ public class Container extends Component Component[] component; LayoutManager layoutMgr; - Dimension maxSize; - /** * @since 1.4 */ @@ -208,10 +207,12 @@ public class Container extends Component */ public Insets insets() { - if (peer == null) - return new Insets (0, 0, 0, 0); - - return ((ContainerPeer) peer).getInsets (); + Insets i; + if (peer == null || peer instanceof LightweightPeer) + i = new Insets (0, 0, 0, 0); + else + i = ((ContainerPeer) peer).getInsets (); + return i; } /** @@ -324,23 +325,6 @@ public class Container extends Component // we are. if (comp.parent != null) comp.parent.remove(comp); - comp.parent = this; - - if (peer != null) - { - // Notify the component that it has a new parent. - comp.addNotify(); - - if (comp.isLightweight ()) - { - enableEvents (comp.eventMask); - if (!isLightweight ()) - enableEvents (AWTEvent.PAINT_EVENT_MASK); - } - } - - // Invalidate the layout of the added component and its ancestors. - comp.invalidate(); if (component == null) component = new Component[4]; // FIXME, better initial size? @@ -365,6 +349,9 @@ public class Container extends Component ++ncomponents; } + // Give the new component a parent. + comp.parent = this; + // Update the counter for Hierarchy(Bounds)Listeners. int childHierarchyListeners = comp.numHierarchyListeners; if (childHierarchyListeners > 0) @@ -375,6 +362,18 @@ public class Container extends Component updateHierarchyListenerCount(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, childHierarchyListeners); + // Invalidate the layout of this container. + if (valid) + invalidate(); + + // Create the peer _after_ the component has been added, so that + // the peer gets to know about the component hierarchy. + if (peer != null) + { + // Notify the component that it has a new parent. + comp.addNotify(); + } + // Notify the layout manager. if (layoutMgr != null) { @@ -394,13 +393,15 @@ public class Container extends Component // We previously only sent an event when this container is showing. // Also, the event was posted to the event queue. A Mauve test shows // that this event is not delivered using the event queue and it is - // also sent when the container is not showing. - ContainerEvent ce = new ContainerEvent(this, - ContainerEvent.COMPONENT_ADDED, - comp); - ContainerListener[] listeners = getContainerListeners(); - for (int i = 0; i < listeners.length; i++) - listeners[i].componentAdded(ce); + // also sent when the container is not showing. + if (containerListener != null + || (eventMask & AWTEvent.CONTAINER_EVENT_MASK) != 0) + { + ContainerEvent ce = new ContainerEvent(this, + ContainerEvent.COMPONENT_ADDED, + comp); + dispatchEvent(ce); + } // Notify hierarchy listeners. comp.fireHierarchyEvent(HierarchyEvent.HIERARCHY_CHANGED, comp, @@ -417,17 +418,15 @@ public class Container extends Component { synchronized (getTreeLock ()) { - Component r = component[index]; + if (index < 0 || index >= ncomponents) + throw new ArrayIndexOutOfBoundsException(); - ComponentListener[] list = r.getComponentListeners(); - for (int j = 0; j < list.length; j++) - r.removeComponentListener(list[j]); - - r.removeNotify(); + Component r = component[index]; + if (peer != null) + r.removeNotify(); - System.arraycopy(component, index + 1, component, index, - ncomponents - index - 1); - component[--ncomponents] = null; + if (layoutMgr != null) + layoutMgr.removeLayoutComponent(r); // Update the counter for Hierarchy(Bounds)Listeners. int childHierarchyListeners = r.numHierarchyListeners; @@ -439,20 +438,23 @@ public class Container extends Component updateHierarchyListenerCount(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, -childHierarchyListeners); - invalidate(); + r.parent = null; - if (layoutMgr != null) - layoutMgr.removeLayoutComponent(r); + System.arraycopy(component, index + 1, component, index, + ncomponents - index - 1); + component[--ncomponents] = null; - r.parent = null; + if (valid) + invalidate(); - if (isShowing ()) + if (containerListener != null + || (eventMask & AWTEvent.CONTAINER_EVENT_MASK) != 0) { // Post event to notify of removing the component. ContainerEvent ce = new ContainerEvent(this, - ContainerEvent.COMPONENT_REMOVED, - r); - getToolkit().getSystemEventQueue().postEvent(ce); + ContainerEvent.COMPONENT_REMOVED, + r); + dispatchEvent(ce); } // Notify hierarchy listeners. @@ -496,36 +498,51 @@ public class Container extends Component // super.removeAll() ). // By doing it this way, user code cannot prevent the correct // removal of components. - for ( int index = 0; index < ncomponents; index++) + while (ncomponents > 0) { - Component r = component[index]; + ncomponents--; + Component r = component[ncomponents]; + component[ncomponents] = null; - ComponentListener[] list = r.getComponentListeners(); - for (int j = 0; j < list.length; j++) - r.removeComponentListener(list[j]); - - r.removeNotify(); + if (peer != null) + r.removeNotify(); if (layoutMgr != null) layoutMgr.removeLayoutComponent(r); r.parent = null; - if (isShowing ()) + // Send ContainerEvent if necessary. + if (containerListener != null + || (eventMask & AWTEvent.CONTAINER_EVENT_MASK) != 0) { // Post event to notify of removing the component. ContainerEvent ce = new ContainerEvent(this, ContainerEvent.COMPONENT_REMOVED, r); - - getToolkit().getSystemEventQueue().postEvent(ce); + dispatchEvent(ce); } - } - + + // Update the counter for Hierarchy(Bounds)Listeners. + int childHierarchyListeners = r.numHierarchyListeners; + if (childHierarchyListeners > 0) + updateHierarchyListenerCount(AWTEvent.HIERARCHY_EVENT_MASK, + -childHierarchyListeners); + int childHierarchyBoundsListeners = r.numHierarchyBoundsListeners; + if (childHierarchyBoundsListeners > 0) + updateHierarchyListenerCount(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, + -childHierarchyListeners); + + + // Send HierarchyEvent if necessary. + fireHierarchyEvent(HierarchyEvent.HIERARCHY_CHANGED, r, this, + HierarchyEvent.PARENT_CHANGED); + + } + + if (valid) invalidate(); - - ncomponents = 0; } } @@ -590,11 +607,20 @@ public class Container extends Component */ public void validate() { - synchronized (getTreeLock ()) + ComponentPeer p = peer; + if (! valid && p != null) { - if (! isValid() && peer != null) + ContainerPeer cPeer = null; + if (p instanceof ContainerPeer) + cPeer = (ContainerPeer) peer; + synchronized (getTreeLock ()) { + if (cPeer != null) + cPeer.beginValidate(); validateTree(); + valid = true; + if (cPeer != null) + cPeer.endValidate(); } } } @@ -602,24 +628,20 @@ public class Container extends Component /** * Recursively invalidates the container tree. */ - void invalidateTree() + private final void invalidateTree() { synchronized (getTreeLock()) { - super.invalidate(); // Clean cached layout state. for (int i = 0; i < ncomponents; i++) { Component comp = component[i]; - comp.invalidate(); if (comp instanceof Container) ((Container) comp).invalidateTree(); + else if (comp.valid) + comp.invalidate(); } - - if (layoutMgr != null && layoutMgr instanceof LayoutManager2) - { - LayoutManager2 lm2 = (LayoutManager2) layoutMgr; - lm2.invalidateLayout(this); - } + if (valid) + invalidate(); } } @@ -629,40 +651,36 @@ public class Container extends Component */ protected void validateTree() { - if (valid) - return; - - ContainerPeer cPeer = null; - if (peer != null && ! (peer instanceof LightweightPeer)) + if (!valid) { - cPeer = (ContainerPeer) peer; - cPeer.beginValidate(); - } - - for (int i = 0; i < ncomponents; ++i) - { - Component comp = component[i]; - - if (comp.getPeer () == null) - comp.addNotify(); - } - - doLayout (); - for (int i = 0; i < ncomponents; ++i) - { - Component comp = component[i]; + ContainerPeer cPeer = null; + if (peer instanceof ContainerPeer) + { + cPeer = (ContainerPeer) peer; + cPeer.beginLayout(); + } - if (! comp.isValid()) + doLayout (); + for (int i = 0; i < ncomponents; ++i) { - if (comp instanceof Container) + Component comp = component[i]; + + if (comp instanceof Container && ! (comp instanceof Window) + && ! comp.valid) { ((Container) comp).validateTree(); } else { - component[i].validate(); + comp.validate(); } } + + if (cPeer != null) + { + cPeer = (ContainerPeer) peer; + cPeer.endLayout(); + } } /* children will call invalidate() when they are layed out. It @@ -670,19 +688,15 @@ public class Container extends Component until after the children have been layed out. */ valid = true; - if (cPeer != null) - cPeer.endValidate(); } public void setFont(Font f) { - if( (f != null && (font == null || !font.equals(f))) - || f == null) + Font oldFont = getFont(); + super.setFont(f); + Font newFont = getFont(); + if (newFont != oldFont && (oldFont == null || ! oldFont.equals(newFont))) { - super.setFont(f); - // FIXME: Although it might make more sense to invalidate only - // those children whose font == null, Sun invalidates all children. - // So we'll do the same. invalidateTree(); } } @@ -784,8 +798,9 @@ public class Container extends Component LayoutManager l = layoutMgr; if (l instanceof LayoutManager2) maxSize = ((LayoutManager2) l).maximumLayoutSize(this); - else + else { maxSize = super.maximumSizeImpl(); + } size = maxSize; } } @@ -920,8 +935,8 @@ public class Container extends Component */ public void paintComponents(Graphics g) { - paint(g); - visitChildren(g, GfxPaintAllVisitor.INSTANCE, true); + if (isShowing()) + visitChildren(g, GfxPaintAllVisitor.INSTANCE, false); } /** @@ -943,7 +958,12 @@ public class Container extends Component */ public synchronized void addContainerListener(ContainerListener listener) { - containerListener = AWTEventMulticaster.add(containerListener, listener); + if (listener != null) + { + containerListener = AWTEventMulticaster.add(containerListener, + listener); + newEventsOnly = true; + } } /** @@ -985,10 +1005,10 @@ public class Container extends Component * * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == ContainerListener.class) - return getContainerListeners(); + return (T[]) getContainerListeners(); return super.getListeners(listenerType); } @@ -1247,8 +1267,14 @@ public class Container extends Component { synchronized (getTreeLock ()) { - for (int i = 0; i < ncomponents; ++i) - component[i].removeNotify(); + int ncomps = ncomponents; + Component[] comps = component; + for (int i = ncomps - 1; i >= 0; --i) + { + Component comp = comps[i]; + if (comp != null) + comp.removeNotify(); + } super.removeNotify(); } } @@ -1345,7 +1371,8 @@ public class Container extends Component * * @since 1.4 */ - public void setFocusTraversalKeys(int id, Set keystrokes) + public void setFocusTraversalKeys(int id, + Set keystrokes) { if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS && id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS && @@ -1433,7 +1460,8 @@ public class Container extends Component if (focusTraversalKeys == null) focusTraversalKeys = new Set[4]; - keystrokes = Collections.unmodifiableSet (new HashSet (keystrokes)); + keystrokes = + Collections.unmodifiableSet(new HashSet(keystrokes)); firePropertyChange (name, focusTraversalKeys[id], keystrokes); focusTraversalKeys[id] = keystrokes; @@ -1451,7 +1479,7 @@ public class Container extends Component * * @since 1.4 */ - public Set getFocusTraversalKeys (int id) + public Set getFocusTraversalKeys (int id) { if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS && id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS && @@ -1866,6 +1894,7 @@ public class Container extends Component bounds.height); try { + g2.setFont(comp.getFont()); visitor.visit(comp, g2); } finally @@ -1874,20 +1903,40 @@ public class Container extends Component } } + /** + * Overridden to dispatch events to lightweight descendents. + * + * @param e the event to dispatch. + */ void dispatchEventImpl(AWTEvent e) { - boolean dispatched = - LightweightDispatcher.getInstance().dispatchEvent(e); - if (! dispatched) + LightweightDispatcher dispatcher = LightweightDispatcher.getInstance(); + if (! isLightweight() && dispatcher.dispatchEvent(e)) { - if ((e.id <= ContainerEvent.CONTAINER_LAST - && e.id >= ContainerEvent.CONTAINER_FIRST) - && (containerListener != null - || (eventMask & AWTEvent.CONTAINER_EVENT_MASK) != 0)) - processEvent(e); - else - super.dispatchEventImpl(e); + // Some lightweight descendent got this event dispatched. Consume + // it and let the peer handle it. + e.consume(); + ComponentPeer p = peer; + if (p != null) + p.handleEvent(e); } + else + { + super.dispatchEventImpl(e); + } + } + + /** + * This is called by the lightweight dispatcher to avoid recursivly + * calling into the lightweight dispatcher. + * + * @param e the event to dispatch + * + * @see LightweightDispatcher#redispatch(MouseEvent, Component, int) + */ + void dispatchNoLightweight(AWTEvent e) + { + super.dispatchEventImpl(e); } /** @@ -2004,6 +2053,43 @@ public class Container extends Component parent.updateHierarchyListenerCount(type, delta); } + /** + * Notifies interested listeners about resizing or moving the container. + * This performs the super behaviour (sending component events) and + * additionally notifies any hierarchy bounds listeners on child components. + * + * @param resized true if the component has been resized, false otherwise + * @param moved true if the component has been moved, false otherwise + */ + void notifyReshape(boolean resized, boolean moved) + { + // Notify component listeners. + super.notifyReshape(resized, moved); + + if (ncomponents > 0) + { + // Notify hierarchy bounds listeners. + if (resized) + { + for (int i = 0; i < getComponentCount(); i++) + { + Component child = getComponent(i); + child.fireHierarchyEvent(HierarchyEvent.ANCESTOR_RESIZED, + this, parent, 0); + } + } + if (moved) + { + for (int i = 0; i < getComponentCount(); i++) + { + Component child = getComponent(i); + child.fireHierarchyEvent(HierarchyEvent.ANCESTOR_MOVED, + this, parent, 0); + } + } + } + } + private void addNotifyContainerChildren() { synchronized (getTreeLock ()) @@ -2011,12 +2097,6 @@ public class Container extends Component for (int i = ncomponents; --i >= 0; ) { component[i].addNotify(); - if (component[i].isLightweight ()) - { - enableEvents(component[i].eventMask); - if (peer != null && !isLightweight ()) - enableEvents (AWTEvent.PAINT_EVENT_MASK); - } } } } diff --git a/libjava/classpath/java/awt/Dialog.java b/libjava/classpath/java/awt/Dialog.java index 55c3371e622..7df2f523c86 100644 --- a/libjava/classpath/java/awt/Dialog.java +++ b/libjava/classpath/java/awt/Dialog.java @@ -96,6 +96,11 @@ public class Dialog extends Window */ private EventQueue eq2 = null; + /** + * The number used to generate the name returned by getName. + */ + private static transient long next_dialog_number; + /** * Initializes a new instance of Dialog with the specified * parent, that is resizable and not modal, and which has no title. @@ -190,6 +195,7 @@ public class Dialog extends Window visible = false; setLayout(new BorderLayout()); + setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } /** @@ -273,6 +279,7 @@ public class Dialog extends Window visible = false; setLayout(new BorderLayout()); + setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } /** @@ -530,5 +537,19 @@ public class Dialog extends Window accessibleContext = new AccessibleAWTDialog(); return accessibleContext; } + + /** + * Generate a unique name for this Dialog. + * + * @return A unique name for this Dialog. + */ + String generateName() + { + return "dialog" + getUniqueLong(); + } + private static synchronized long getUniqueLong() + { + return next_dialog_number++; + } } diff --git a/libjava/classpath/java/awt/EventQueue.java b/libjava/classpath/java/awt/EventQueue.java index 235ad2ac17c..74dbd5fb67d 100644 --- a/libjava/classpath/java/awt/EventQueue.java +++ b/libjava/classpath/java/awt/EventQueue.java @@ -38,10 +38,16 @@ exception statement from your version. */ package java.awt; +import gnu.java.awt.LowPriorityEvent; +import gnu.java.awt.peer.NativeEventLoopRunningEvent; + import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.InputMethodEvent; import java.awt.event.InvocationEvent; +import java.awt.event.PaintEvent; +import java.awt.peer.ComponentPeer; +import java.awt.peer.LightweightPeer; import java.lang.reflect.InvocationTargetException; import java.util.EmptyStackException; @@ -61,11 +67,47 @@ import java.util.EmptyStackException; */ public class EventQueue { - private static final int INITIAL_QUEUE_DEPTH = 8; - private AWTEvent[] queue = new AWTEvent[INITIAL_QUEUE_DEPTH]; + /** + * Indicates events that are processed with normal priority. This is normally + * all events except PaintEvents. + */ + private static final int NORM_PRIORITY = 0; + + /** + * Indicates events that are processed with lowes priority. This is normally + * all PaintEvents and LowPriorityEvents. + */ + private static final int LOW_PRIORITY = 1; - private int next_in = 0; // Index where next event will be added to queue - private int next_out = 0; // Index of next event to be removed from queue + /** + * Implements the actual queue. EventQueue has 2 internal queues for + * different priorities: + * 1 PaintEvents are always dispatched with low priority. + * 2. All other events are dispatched with normal priority. + * + * This makes sure that the actual painting (output) is performed _after_ all + * available input has been processed and that the paint regions are + * coalesced as much as possible. + */ + private class Queue + { + /** + * The first item in the queue. This is where events are popped from. + */ + AWTEvent queueHead; + + /** + * The last item. This is where events are posted to. + */ + AWTEvent queueTail; + } + + /** + * The three internal event queues. + * + * @see Queue + */ + private Queue[] queues; private EventQueue next; private EventQueue prev; @@ -73,31 +115,25 @@ public class EventQueue private long lastWhen = System.currentTimeMillis(); private EventDispatchThread dispatchThread = new EventDispatchThread(this); - private boolean shutdown = false; - - synchronized private void setShutdown (boolean b) - { - shutdown = b; - } + private boolean nativeLoopRunning = false; - synchronized boolean isShutdown () + private boolean isShutdown () { - if (shutdown) - return true; - // This is the exact self-shutdown condition specified in J2SE: // http://java.sun.com/j2se/1.4.2/docs/api/java/awt/doc-files/AWTThreadIssues.html - - // FIXME: check somewhere that the native queue is empty - if (peekEvent() == null) - { - Frame[] frames = Frame.getFrames(); - for (int i = 0; i < frames.length; ++i) - if (frames[i].isDisplayable()) - return false; - return true; - } - return false; + + if (nativeLoopRunning) + return false; + + if (peekEvent() != null) + return false; + + Frame[] frames = Frame.getFrames(); + for (int i = 0; i < frames.length; ++i) + if (frames[i].isDisplayable()) + return false; + + return true; } /** @@ -105,6 +141,9 @@ public class EventQueue */ public EventQueue() { + queues = new Queue[2]; + queues[NORM_PRIORITY] = new Queue(); + queues[LOW_PRIORITY] = new Queue(); } /** @@ -122,30 +161,66 @@ public class EventQueue if (next != null) return next.getNextEvent(); - while (next_in == next_out) - { - // We are not allowed to return null from this method, yet it - // is possible that we actually have run out of native events - // in the enclosing while() loop, and none of the native events - // happened to cause AWT events. We therefore ought to check - // the isShutdown() condition here, before risking a "native - // wait". If we check it before entering this function we may - // wait forever for events after the shutdown condition has - // arisen. + AWTEvent res = getNextEventImpl(true); + while (res == null) + { if (isShutdown()) - throw new InterruptedException(); + { + // Explicitly set dispathThread to null. If we don't do + // this, there is a race condition where dispatchThread + // can be != null even after the event dispatch thread has + // stopped running. If that happens, then the + // dispatchThread == null check in postEventImpl will + // fail, and a new event dispatch thread will not be + // created, leaving invokeAndWaits waiting indefinitely. + dispatchThread = null; + + // Interrupt the event dispatch thread. + throw new InterruptedException(); + } wait(); + res = getNextEventImpl(true); } - AWTEvent res = queue[next_out]; - - if (++next_out == queue.length) - next_out = 0; return res; } + /** + * Fetches and possibly removes the next event from the internal queues. + * This method returns immediately. When all queues are empty, this returns + * null: + * + * @param remove when the event should be removed from the queue, + * false otherwise + * + * @return the next event or null when all internal queues + * are empty + */ + private AWTEvent getNextEventImpl(boolean remove) + { + AWTEvent next = null; + for (int i = 0; i < queues.length && next == null; i++) + { + Queue q = queues[i]; + if (q.queueHead != null) + { + // Got an event, remove it. + next = q.queueHead; + if (remove) + { + // Unlink event from the queue. + q.queueHead = next.queueNext; + if (q.queueHead == null) + q.queueTail = null; + next.queueNext = null; + } + } + } + return next; + } + /** * Returns the next event in the queue without removing it from the queue. * This method will block until an event is available or until the thread @@ -160,10 +235,7 @@ public class EventQueue if (next != null) return next.peekEvent(); - if (next_in != next_out) - return queue[next_out]; - else - return null; + return getNextEventImpl(false); } /** @@ -184,14 +256,18 @@ public class EventQueue if (next != null) return next.peekEvent(id); - int i = next_out; - while (i != next_in) + AWTEvent evt = null; + for (int i = 0; i < queues.length && evt == null; i++) { - AWTEvent qevt = queue[i]; - if (qevt.id == id) - return qevt; + Queue q = queues[i]; + evt = q.queueHead; + while (evt != null && evt.id != id) + evt = evt.queueNext; + // At this point we either have found an event (evt != null -> exit + // for loop), or we have found no event (evt == null -> search next + // internal queue). } - return null; + return evt; } /** @@ -201,7 +277,42 @@ public class EventQueue * * @exception NullPointerException If event is null. */ - public synchronized void postEvent(AWTEvent evt) + public void postEvent(AWTEvent evt) + { + postEventImpl(evt); + } + + /** + * Sorts events to their priority and calls + * {@link #postEventImpl(AWTEvent, int)}. + * + * @param evt the event to post + */ + private synchronized final void postEventImpl(AWTEvent evt) + { + int priority = NORM_PRIORITY; + if (evt instanceof PaintEvent || evt instanceof LowPriorityEvent) + priority = LOW_PRIORITY; + // TODO: Maybe let Swing RepaintManager events also be processed with + // low priority. + if (evt instanceof NativeEventLoopRunningEvent) + { + nativeLoopRunning = ((NativeEventLoopRunningEvent) evt).isRunning(); + notify(); + return; + } + postEventImpl(evt, priority); + } + + /** + * Actually performs the event posting. This is needed because the + * RI doesn't use the public postEvent() method when transferring events + * between event queues in push() and pop(). + * + * @param evt the event to post + * @param priority the priority of the event + */ + private final void postEventImpl(AWTEvent evt, int priority) { if (evt == null) throw new NullPointerException(); @@ -212,52 +323,71 @@ public class EventQueue return; } - /* Check for any events already on the queue with the same source - and ID. */ - int i = next_out; - while (i != next_in) + Object source = evt.getSource(); + + Queue q = queues[priority]; + if (source instanceof Component) { - AWTEvent qevt = queue[i]; - Object src; - if (qevt.id == evt.id - && (src = qevt.getSource()) == evt.getSource() - && src instanceof Component) + // For PaintEvents, ask the ComponentPeer to coalesce the event + // when the component is heavyweight. + Component comp = (Component) source; + ComponentPeer peer = comp.peer; + if (peer != null && evt instanceof PaintEvent + && ! (peer instanceof LightweightPeer)) + peer.coalescePaintEvent((PaintEvent) evt); + + // Check for any events already on the queue with the same source + // and ID. + AWTEvent previous = null; + for (AWTEvent qevt = q.queueHead; qevt != null; qevt = qevt.queueNext) { - /* If there are, call coalesceEvents on the source component - to see if they can be combined. */ - Component srccmp = (Component) src; - AWTEvent coalesced_evt = srccmp.coalesceEvents(qevt, evt); - if (coalesced_evt != null) + Object src = qevt.getSource(); + if (qevt.id == evt.id && src == comp) { - /* Yes. Replace the existing event with the combined event. */ - queue[i] = coalesced_evt; - return; + // If there are, call coalesceEvents on the source component + // to see if they can be combined. + Component srccmp = (Component) src; + AWTEvent coalescedEvt = srccmp.coalesceEvents(qevt, evt); + if (coalescedEvt != null) + { + // Yes. Replace the existing event with the combined event. + if (qevt != coalescedEvt) + { + if (previous != null) + { + assert previous.queueNext == qevt; + previous.queueNext = coalescedEvt; + } + else + { + assert q.queueHead == qevt; + q.queueHead = coalescedEvt; + } + coalescedEvt.queueNext = qevt.queueNext; + if (q.queueTail == qevt) + q.queueTail = coalescedEvt; + qevt.queueNext = null; + } + return; + } } - break; + previous = qevt; } - if (++i == queue.length) - i = 0; } - queue[next_in] = evt; - if (++next_in == queue.length) - next_in = 0; - - if (next_in == next_out) + if (q.queueHead == null) { - /* Queue is full. Extend it. */ - AWTEvent[] oldQueue = queue; - queue = new AWTEvent[queue.length * 2]; - - int len = oldQueue.length - next_out; - System.arraycopy(oldQueue, next_out, queue, 0, len); - if (next_out != 0) - System.arraycopy(oldQueue, 0, queue, len, next_out); - - next_out = 0; - next_in = oldQueue.length; + // We have an empty queue. Set this event both as head and as tail. + q.queueHead = evt; + q.queueTail = evt; } - + else + { + // Note: queueTail should not be null here. + q.queueTail.queueNext = evt; + q.queueTail = evt; + } + if (dispatchThread == null || !dispatchThread.isAlive()) { dispatchThread = new EventDispatchThread(this); @@ -287,15 +417,15 @@ public class EventQueue throw new Error("Can't call invokeAndWait from event dispatch thread"); EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue(); - Thread current = Thread.currentThread(); + Object notifyObject = new Object(); - InvocationEvent ie = - new InvocationEvent(eq, runnable, current, true); + InvocationEvent ie = + new InvocationEvent(eq, runnable, notifyObject, true); - synchronized (current) + synchronized (notifyObject) { eq.postEvent(ie); - current.wait(); + notifyObject.wait(); } Exception exception; @@ -387,17 +517,26 @@ public class EventQueue if (dispatchThread == null) dispatchThread = new EventDispatchThread(this); - int i = next_out; - while (i != next_in) + synchronized (newEventQueue) { - newEventQueue.postEvent(queue[i]); - next_out = i; - if (++i == queue.length) - i = 0; + // The RI transfers the events without calling the new eventqueue's + // push(), but using getNextEvent(). + while (peekEvent() != null) + { + try + { + newEventQueue.postEventImpl(getNextEvent()); + } + catch (InterruptedException ex) + { + // What should we do with this? + ex.printStackTrace(); + } + } + newEventQueue.prev = this; } next = newEventQueue; - newEventQueue.prev = this; } /** Transfer any pending events from this queue back to the parent queue that @@ -408,36 +547,49 @@ public class EventQueue */ protected void pop() throws EmptyStackException { - if (prev == null) - throw new EmptyStackException(); - /* The order is important here, we must get the prev lock first, or deadlock could occur as callers usually get here following prev's next pointer, and thus obtain prev's lock before trying to get this lock. */ - synchronized (prev) + EventQueue previous = prev; + if (previous == null) + throw new EmptyStackException(); + synchronized (previous) { - prev.next = next; - if (next != null) - next.prev = prev; - synchronized (this) { - int i = next_out; - while (i != next_in) + EventQueue nextQueue = next; + if (nextQueue != null) { - prev.postEvent(queue[i]); - next_out = i; - if (++i == queue.length) - i = 0; + nextQueue.pop(); + } + else + { + previous.next = null; + + // The RI transfers the events without calling the new eventqueue's + // push(), so this should be OK and most effective. + while (peekEvent() != null) + { + try + { + previous.postEventImpl(getNextEvent()); + } + catch (InterruptedException ex) + { + // What should we do with this? + ex.printStackTrace(); + } + } + prev = null; + // Tell our EventDispatchThread that it can end + // execution. + if (dispatchThread != null) + { + dispatchThread.interrupt(); + dispatchThread = null; + } } - // Empty the queue so it can be reused - next_in = 0; - next_out = 0; - - setShutdown(true); - dispatchThread = null; - this.notifyAll(); } } } diff --git a/libjava/classpath/java/awt/FileDialog.java b/libjava/classpath/java/awt/FileDialog.java index f02d06be2c9..21117700d6e 100644 --- a/libjava/classpath/java/awt/FileDialog.java +++ b/libjava/classpath/java/awt/FileDialog.java @@ -95,6 +95,11 @@ private FilenameFilter filter; */ private int mode; +/** + * The number used to generate the name returned by getName. + */ +private static transient long next_file_dialog_number; + /*************************************************************************/ /* @@ -300,7 +305,11 @@ getFile() public synchronized void setFile(String file) { - this.file = file; + if ("".equals(file)) + this.file = null; + else + this.file = file; + if (peer != null) { FileDialogPeer f = (FileDialogPeer) peer; @@ -366,5 +375,22 @@ paramString() ",mode=" + mode + "," + super.paramString()); } +/** + * Generate a unique name for this FileDialog. + * + * @return A unique name for this FileDialog. + */ +String +generateName() +{ + return "filedlg" + getUniqueLong(); +} + +private static synchronized long +getUniqueLong() +{ + return next_file_dialog_number++; +} + } // class FileDialog diff --git a/libjava/classpath/java/awt/FlowLayout.java b/libjava/classpath/java/awt/FlowLayout.java index 8c99195289a..70c98a29a74 100644 --- a/libjava/classpath/java/awt/FlowLayout.java +++ b/libjava/classpath/java/awt/FlowLayout.java @@ -337,7 +337,10 @@ public class FlowLayout implements LayoutManager, Serializable Insets ins = parent.getInsets (); - w += (num + 1) * hgap + ins.left + ins.right; + if (num == 0) + w += 2 * hgap + ins.left + ins.right; + else + w += (num + 1) * hgap + ins.left + ins.right; h += 2 * vgap + ins.top + ins.bottom; return new Dimension (w, h); diff --git a/libjava/classpath/java/awt/Font.java b/libjava/classpath/java/awt/Font.java index 1c22ce7b48f..29b87d6af99 100644 --- a/libjava/classpath/java/awt/Font.java +++ b/libjava/classpath/java/awt/Font.java @@ -44,6 +44,7 @@ import gnu.java.awt.peer.ClasspathFontPeer; import java.awt.font.FontRenderContext; import java.awt.font.GlyphVector; import java.awt.font.LineMetrics; +import java.awt.font.TextAttribute; import java.awt.font.TextLayout; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; @@ -351,7 +352,7 @@ public class Font implements Serializable this.name = peer.getName(this); } - public Font(Map attrs) + public Font(Map attrs) { this(null, attrs); } @@ -797,7 +798,7 @@ public class Font implements Serializable * * @since 1.2 */ - public Font deriveFont(Map attributes) + public Font deriveFont(Map attributes) { return peer.deriveFont(this, attributes); } @@ -811,7 +812,7 @@ public class Font implements Serializable * @see java.text.AttributedCharacterIterator.Attribute * @see java.awt.font.TextAttribute */ - public Map getAttributes() + public Map getAttributes() { return peer.getAttributes(this); } @@ -890,7 +891,7 @@ public class Font implements Serializable * * @see java.awt.font.TextAttribute */ - public static Font getFont(Map attributes) + public static Font getFont(Map attributes) { return getFontFromToolkit(null, attributes); } @@ -1086,7 +1087,8 @@ public class Font implements Serializable */ public Rectangle2D getStringBounds(String str, FontRenderContext frc) { - return getStringBounds(str, 0, str.length() - 1, frc); + char[] chars = str.toCharArray(); + return getStringBounds(chars, 0, chars.length, frc); } /** @@ -1114,8 +1116,8 @@ public class Font implements Serializable public Rectangle2D getStringBounds(String str, int begin, int limit, FontRenderContext frc) { - return peer.getStringBounds(this, new StringCharacterIterator(str), begin, - limit, frc); + String sub = str.substring(begin, limit); + return getStringBounds(sub, frc); } /** @@ -1143,7 +1145,16 @@ public class Font implements Serializable public Rectangle2D getStringBounds(CharacterIterator ci, int begin, int limit, FontRenderContext frc) { - return peer.getStringBounds(this, ci, begin, limit, frc); + int start = ci.getBeginIndex(); + int end = ci.getEndIndex(); + char[] chars = new char[limit - start]; + ci.setIndex(start); + for (int index = 0; index < chars.length; index++) + { + chars[index] = ci.current(); + ci.next(); + } + return getStringBounds(chars, 0, chars.length, frc); } /** @@ -1171,9 +1182,10 @@ public class Font implements Serializable public Rectangle2D getStringBounds(char[] chars, int begin, int limit, FontRenderContext frc) { - return peer.getStringBounds(this, - new StringCharacterIterator(new String(chars)), - begin, limit, frc); + String str = new String(chars, begin, limit - begin); + TextLayout layout = new TextLayout(str, this, frc); + return new Rectangle2D.Float(0, -layout.getAscent(), layout.getAdvance(), + layout.getDescent() + layout.getLeading()); } /** diff --git a/libjava/classpath/java/awt/Frame.java b/libjava/classpath/java/awt/Frame.java index 542013671aa..d5cc7f53197 100644 --- a/libjava/classpath/java/awt/Frame.java +++ b/libjava/classpath/java/awt/Frame.java @@ -340,13 +340,16 @@ public class Frame extends Window implements MenuContainer parent.remove(menuBar); menuBar.setParent(this); - if (peer != null) - { - if (menuBar != null) - menuBar.addNotify(); - invalidateTree(); - ((FramePeer) peer).setMenuBar(menuBar); - } + // Create local copy for thread safety. + FramePeer p = (FramePeer) peer; + if (p != null) + { + if (menuBar != null) + menuBar.addNotify(); + if (valid) + invalidate(); + p.setMenuBar(menuBar); + } } } @@ -485,7 +488,10 @@ public class Frame extends Window implements MenuContainer private static void noteFrame(Frame f) { - weakFrames.add(new WeakReference(f)); + synchronized (weakFrames) + { + weakFrames.add(new WeakReference(f)); + } } public static Frame[] getFrames() @@ -533,8 +539,7 @@ public class Frame extends Window implements MenuContainer public int getState() { - // FIXME: State might have changed in the peer... Must check. - return (state & ICONIFIED) != 0 ? ICONIFIED : NORMAL; + return (getExtendedState() & ICONIFIED) != 0 ? ICONIFIED : NORMAL; } /** @@ -542,7 +547,13 @@ public class Frame extends Window implements MenuContainer */ public void setExtendedState(int state) { - this.state = state; + if (getToolkit().isFrameStateSupported(state)) + { + this.state = state; + FramePeer p = (FramePeer) peer; + if (p != null) + p.setState(state); + } } /** @@ -550,6 +561,9 @@ public class Frame extends Window implements MenuContainer */ public int getExtendedState() { + FramePeer p = (FramePeer) peer; + if (p != null) + state = p.getState(); return state; } diff --git a/libjava/classpath/java/awt/Graphics2D.java b/libjava/classpath/java/awt/Graphics2D.java index ada13edc512..e0a1b4756f5 100644 --- a/libjava/classpath/java/awt/Graphics2D.java +++ b/libjava/classpath/java/awt/Graphics2D.java @@ -183,7 +183,7 @@ public abstract class Graphics2D extends Graphics * @see #getComposite() */ public abstract void setComposite(Composite comp); - + /** * Sets the paint to be used for subsequent drawing operations. * @@ -227,14 +227,14 @@ public abstract class Graphics2D extends Graphics * * @see #addRenderingHints(Map) */ - public abstract void setRenderingHints(Map hints); + public abstract void setRenderingHints(Map hints); /** * Adds/updates the rendering hint. * * @param hints the hints to add or update. */ - public abstract void addRenderingHints(Map hints); + public abstract void addRenderingHints(Map hints); /** * Returns the current rendering hints. diff --git a/libjava/classpath/java/awt/GridBagLayout.java b/libjava/classpath/java/awt/GridBagLayout.java index d84b7d6df6c..0415c7bd3bb 100644 --- a/libjava/classpath/java/awt/GridBagLayout.java +++ b/libjava/classpath/java/awt/GridBagLayout.java @@ -46,6 +46,7 @@ import java.util.Hashtable; /** * @author Michael Koch (konqueror@gmx.de) * @author Jeroen Frijters (jeroen@frijters.net) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class GridBagLayout implements Serializable, LayoutManager2 @@ -62,8 +63,8 @@ public class GridBagLayout // REMAINDER constraints. // Constraints kept in comptable are never modified, and constraints // kept in internalcomptable can be modified internally only. - protected Hashtable comptable; - private Hashtable internalcomptable; + protected Hashtable comptable; + private Hashtable internalcomptable; protected GridBagLayoutInfo layoutInfo; protected GridBagConstraints defaultConstraints; @@ -74,8 +75,8 @@ public class GridBagLayout public GridBagLayout () { - this.comptable = new Hashtable(); - this.internalcomptable = new Hashtable(); + this.comptable = new Hashtable(); + this.internalcomptable = new Hashtable(); this.defaultConstraints= new GridBagConstraints(); } @@ -319,6 +320,16 @@ public class GridBagLayout return new Point (col, row); } + /** + * Return a string representation of this GridBagLayout. + * + * @return a string representation + */ + public String toString() + { + return getClass().getName(); + } + /** * Move and resize a rectangle according to a set of grid bag * constraints. The x, y, width and height fields of the @@ -489,16 +500,18 @@ public class GridBagLayout // Guaranteed to contain the last component added to the given row // or column, whose gridwidth/height is not REMAINDER. - HashMap lastInRow = new HashMap(); - HashMap lastInCol = new HashMap(); + HashMap lastInRow = new HashMap(); + HashMap lastInCol = new HashMap(); Component[] components = parent.getComponents(); // Components sorted by gridwidths/heights, // smallest to largest, with REMAINDER and RELATIVE at the end. // These are useful when determining sizes and weights. - ArrayList sortedByWidth = new ArrayList(components.length); - ArrayList sortedByHeight = new ArrayList(components.length); + ArrayList sortedByWidth = + new ArrayList(components.length); + ArrayList sortedByHeight = + new ArrayList(components.length); // STEP 1: first we figure out how many rows/columns for (int i = 0; i < components.length; i++) @@ -763,7 +776,7 @@ public class GridBagLayout // STEP 3: Determine sizes and weights for columns. for (int i = 0; i < sortedByWidth.size(); i++) { - Component component = (Component) sortedByWidth.get(i); + Component component = sortedByWidth.get(i); // If component is not visible we dont have to care about it. if (!component.isVisible()) @@ -877,7 +890,8 @@ public class GridBagLayout * width. Otherwise, sort by height. * FIXME: Use a better sorting algorithm. */ - private void sortBySpan (Component component, int span, ArrayList list, boolean sortByWidth) + private void sortBySpan (Component component, int span, + ArrayList list, boolean sortByWidth) { if (span == GridBagConstraints.REMAINDER || span == GridBagConstraints.RELATIVE) diff --git a/libjava/classpath/java/awt/GridLayout.java b/libjava/classpath/java/awt/GridLayout.java index a6836681da5..65e09aa59f8 100644 --- a/libjava/classpath/java/awt/GridLayout.java +++ b/libjava/classpath/java/awt/GridLayout.java @@ -289,7 +289,7 @@ public class GridLayout implements LayoutManager, Serializable public String toString () { return (getClass ().getName () + "[" - + ",hgap=" + hgap + ",vgap=" + vgap + + "hgap=" + hgap + ",vgap=" + vgap + ",rows=" + rows + ",cols=" + cols + "]"); } diff --git a/libjava/classpath/java/awt/KeyboardFocusManager.java b/libjava/classpath/java/awt/KeyboardFocusManager.java index eacbceb7d50..cd138269e0b 100644 --- a/libjava/classpath/java/awt/KeyboardFocusManager.java +++ b/libjava/classpath/java/awt/KeyboardFocusManager.java @@ -1,5 +1,5 @@ /* KeyboardFocusManager.java -- manage component focusing via the keyboard - Copyright (C) 2002, 2004 Free Software Foundation + Copyright (C) 2002, 2004, 2005 Free Software Foundation This file is part of GNU Classpath. @@ -555,7 +555,9 @@ public abstract class KeyboardFocusManager * @see #UP_CYCLE_TRAVERSAL_KEYS * @see #DOWN_CYCLE_TRAVERSAL_KEYS */ - public void setDefaultFocusTraversalKeys (int id, Set keystrokes) + public void setDefaultFocusTraversalKeys (int id, + Set + keystrokes) { if (id != KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS && id != KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS && @@ -627,7 +629,7 @@ public abstract class KeyboardFocusManager * @see #UP_CYCLE_TRAVERSAL_KEYS * @see #DOWN_CYCLE_TRAVERSAL_KEYS */ - public Set getDefaultFocusTraversalKeys (int id) + public Set getDefaultFocusTraversalKeys (int id) { if (id < FORWARD_TRAVERSAL_KEYS || id > DOWN_CYCLE_TRAVERSAL_KEYS) throw new IllegalArgumentException (); @@ -989,9 +991,9 @@ public abstract class KeyboardFocusManager * @return A list of explicitly registered key event dispatchers. * @see KeyboardFocusManager#addKeyEventDispatcher(java.awt.KeyEventDispatcher) */ - protected List getKeyEventDispatchers () + protected List getKeyEventDispatchers () { - return (List) keyEventDispatchers.clone (); + return (List) keyEventDispatchers.clone (); } /** @@ -1046,9 +1048,9 @@ public abstract class KeyboardFocusManager * @return A list of explicitly registered key event post processors. * @see KeyboardFocusManager#addKeyEventPostProcessor(java.awt.KeyEventPostProcessor) */ - protected List getKeyEventPostProcessors () + protected List getKeyEventPostProcessors () { - return (List) keyEventPostProcessors.clone (); + return (List) keyEventPostProcessors.clone (); } /** diff --git a/libjava/classpath/java/awt/LightweightDispatcher.java b/libjava/classpath/java/awt/LightweightDispatcher.java index 3ea3f90a643..04196bd7796 100644 --- a/libjava/classpath/java/awt/LightweightDispatcher.java +++ b/libjava/classpath/java/awt/LightweightDispatcher.java @@ -38,7 +38,10 @@ exception statement from your version. */ package java.awt; +import java.awt.event.InputEvent; import java.awt.event.MouseEvent; +import java.awt.event.MouseWheelEvent; +import java.awt.peer.LightweightPeer; import java.util.WeakHashMap; /** @@ -49,7 +52,7 @@ import java.util.WeakHashMap; * * @author Roman Kennke (kennke@aicas.com) */ -class LightweightDispatcher +final class LightweightDispatcher { /** @@ -59,26 +62,17 @@ class LightweightDispatcher */ private static WeakHashMap instances = new WeakHashMap(); - /** - * The component that is the start of a mouse dragging. All MOUSE_DRAGGED - * events that follow the initial press must have the source set to this, - * as well as the MOUSE_RELEASED event following the dragging. - */ - private Component dragTarget; - - /** - * Stores the button number which started the drag operation. This is needed - * because we want to handle only one drag operation and only the button that - * started the dragging should be able to stop it (by a button release). - */ - private int dragButton; - /** * The last mouse event target. If the target changes, additional * MOUSE_ENTERED and MOUSE_EXITED events must be dispatched. */ private Component lastTarget; + /** + * The current mouseEventTarget. + */ + private Component mouseEventTarget; + /** * Returns an instance of LightweightDispatcher for the current thread's * thread group. @@ -113,9 +107,9 @@ class LightweightDispatcher * * @param event the event */ - public boolean dispatchEvent(AWTEvent event) + public boolean dispatchEvent(final AWTEvent event) { - if (event instanceof MouseEvent && event.getSource() instanceof Window) + if (event instanceof MouseEvent) { MouseEvent mouseEvent = (MouseEvent) event; return handleMouseEvent(mouseEvent); @@ -130,151 +124,49 @@ class LightweightDispatcher * @param ev the mouse event * @return whether or not we found a lightweight that handled the event. */ - private boolean handleMouseEvent(MouseEvent ev) + private boolean handleMouseEvent(final MouseEvent ev) { - Window window = (Window) ev.getSource(); - // Find the target for the mouse event. We first seach the deepest - // component at the specified location. The we go up to its parent and - // try to find a neighbor of the deepest component that is suitable as - // mouse event target (it must be showing, at that location and have either - // a MouseListener or MouseMotionListener installed). If no such component - // is found, then we walk up the container hierarchy and find the next - // container that has a MouseListener or MouseMotionListener installed. - Component deepest = window.findComponentAt(ev.getX(), ev.getY()); - if (deepest == null) - return false; - Container parent = deepest.getParent(); - Point loc = ev.getPoint(); - loc = convertPointToChild(window, loc, parent); - Component target = null; - if (parent != null) - { - target = findTarget(parent, loc); - while (target == null && parent != null) - { - if (parent.mouseListener != null - || parent.mouseMotionListener != null - || (parent.eventMask - & (AWTEvent.MOUSE_EVENT_MASK - | AWTEvent.MOUSE_MOTION_EVENT_MASK)) != 0) - { - target = parent; - } - else - parent = parent.getParent(); - } - } - if (target == null || target.isLightweight()) + Container container = (Container) ev.getSource(); + Component target = findTarget(container, ev.getX(), ev.getY()); + trackEnterExit(target, ev); + int id = ev.getID(); + + // Dont update the mouseEventTarget when dragging. Also, MOUSE_CLICKED + // must be dispatched to the original target of MOUSE_PRESSED, so don't + // update in this case either. + if (! isDragging(ev) && id != MouseEvent.MOUSE_CLICKED) + mouseEventTarget = (target != container) ? target : null; + + if (mouseEventTarget != null) { - // Dispatch additional MOUSE_EXITED and MOUSE_ENTERED if event target - // is different from the last event target. - if (target != lastTarget) + switch (id) { - if (lastTarget != null) - { - Point p1 = convertPointToChild(window, ev.getPoint(), - lastTarget); - MouseEvent mouseExited = - new MouseEvent(lastTarget, MouseEvent.MOUSE_EXITED, - ev.getWhen(), ev.getModifiers(), p1.x, p1.y, - ev.getClickCount(), ev.isPopupTrigger()); - //System.err.println("event: " + mouseExited); - lastTarget.dispatchEvent(mouseExited); - } - - // If a target exists dispatch the MOUSE_ENTERED event. - // Experimenting shows that the MOUSE_ENTERED is also dispatched - // when the mouse is dragging. - if (target != null) - { - Point p = convertPointToChild(window, ev.getPoint(), target); - MouseEvent mouseEntered = - new MouseEvent(target, - MouseEvent.MOUSE_ENTERED, ev.getWhen(), - ev.getModifiers(), p.x, p.y, ev.getClickCount(), - ev.isPopupTrigger()); - //System.err.println("event: " + mouseEntered); - target.dispatchEvent(mouseEntered); - } - } - - switch (ev.getID()) - { - case MouseEvent.MOUSE_PRESSED: - // Handle the start of a drag operation or discard the event if - // one is already in progress. This prevents focus changes with the - // other mouse buttons when one is used for dragging. - if (dragTarget == null) - { - lastTarget = dragTarget = target; - - // Save the button that started the drag operation. - dragButton = ev.getButton(); - } - else - return false; - + case MouseEvent.MOUSE_ENTERED: + case MouseEvent.MOUSE_EXITED: + // This is already handled in trackEnterExit(). break; + case MouseEvent.MOUSE_PRESSED: case MouseEvent.MOUSE_RELEASED: - // Stop the drag operation only when the button that started - // it was released. - if (dragTarget != null && dragButton == ev.getButton()) - { - // Only post MOUSE_RELEASED to dragTarget (set in - // MOUSE_PRESSED) when the dragTarget is actually visible. - // Otherwise post the event to the normal target. - if (dragTarget.isVisible()) - target = dragTarget; - dragTarget = null; - } - - lastTarget = target; + case MouseEvent.MOUSE_MOVED: + redispatch(ev, mouseEventTarget, id); break; case MouseEvent.MOUSE_CLICKED: - // When we receive a MOUSE_CLICKED, we set the target to the - // previous target, which must have been a MOUSE_RELEASED event. - // This is necessary for the case when the MOUSE_RELEASED has - // caused the original target (like an internal component) go - // away. - // This line is the reason why it is not possible to move the - // 'lastTarget = target' assignment before the switch-statement. - target = lastTarget; + // MOUSE_CLICKED must be dispatched to the original target of + // MOUSE_PRESSED. + if (target == mouseEventTarget) + redispatch(ev, mouseEventTarget, id); break; case MouseEvent.MOUSE_DRAGGED: - // We consider only dragTarget for redispatching the event still - // we have to act in a way that the newly found target component - // was handled. - lastTarget = target; - target = dragTarget; + if (isDragging(ev)) + redispatch(ev, mouseEventTarget, id); break; - default: - // Only declare current target as the old value in all other - // cases. - lastTarget = target; - break; - } - - if (target != null) - { - Point targetCoordinates = convertPointToChild(window, - ev.getPoint(), - target); - int dx = targetCoordinates.x - ev.getX(); - int dy = targetCoordinates.y - ev.getY(); - ev.translatePoint(dx, dy); - ev.setSource(target); - target.dispatchEvent(ev); - - // We reset the event, so that the normal event dispatching is not - // influenced by this modified event. - ev.setSource(window); - ev.translatePoint(-dx, -dy); + case MouseEvent.MOUSE_WHEEL: + redispatch(ev, mouseEventTarget, id); } - - return true; + ev.consume(); } - else - return false; + + return ev.isConsumed(); } /** @@ -290,58 +182,180 @@ class LightweightDispatcher * @return the actual receiver of the mouse event, or null, if no such * component has been found */ - private Component findTarget(Container c, Point loc) + private Component findTarget(final Container c, final int x, final int y) { - int numComponents = c.getComponentCount(); Component target = null; - if (c != null) + + // First we check the children of the container. + + // Note: It is important that we use the package private Container + // fields ncomponents and component here. There are applications + // that override getComponentCount() + // and getComponent() to hide internal components, which makes + // the LightweightDispatcher not work correctly in these cases. + // As a positive sideeffect this is slightly more efficient. + int nChildren = c.ncomponents; + for (int i = 0; i < nChildren && target == null; i++) { - for (int i = 0; i < numComponents; i++) + Component child = c.component[i]; + int childX = x - child.x; + int childY = y - child.y; + if (child != null && child.visible + && child.peer instanceof LightweightPeer + && child.contains(childX, childY)) { - Component child = c.getComponent(i); - if (child.isShowing()) + // Check if there's a deeper possible target. + if (child instanceof Container) { - if (child.contains(loc.x - child.getX(), loc.y - child.getY()) - && (child.mouseListener != null - || child.mouseMotionListener != null - || (child.eventMask - & (AWTEvent.MOUSE_EVENT_MASK - | AWTEvent.MOUSE_MOTION_EVENT_MASK)) != 0)) - { - target = child; - break; - } + Component deeper = findTarget((Container) child, + childX, childY); + if (deeper != null) + target = deeper; } + // Check if the child itself is interested in mouse events. + else if (isMouseListening(child)) + target = child; } } + + // Check the container itself, if we didn't find a target yet. + if (target == null && c.contains(x, y) && isMouseListening(c)) + target = c; + return target; } /** - * Converts a point in the parent's coordinate system to a child coordinate - * system. The resulting point is stored in the same Point object and - * returned. + * Checks if the specified component would be interested in a mouse event. + * + * @param c the component to check + * + * @return true if the component has mouse listeners installed, + * false otherwise + */ + private boolean isMouseListening(final Component c) + { + // Note: It is important to NOT check if the component is listening + // for a specific event (for instance, mouse motion events). The event + // gets dispatched to the component if the component is listening + // for ANY mouse event, even when the component is not listening for the + // specific type of event. There are applications that depend on this + // (sadly). + return c.mouseListener != null + || c.mouseMotionListener != null + || c.mouseWheelListener != null + || (c.eventMask & AWTEvent.MOUSE_EVENT_MASK) != 0 + || (c.eventMask & AWTEvent.MOUSE_MOTION_EVENT_MASK) != 0 + || (c.eventMask & AWTEvent.MOUSE_WHEEL_EVENT_MASK) != 0; + } + + /** + * Tracks MOUSE_ENTERED and MOUSE_EXIT as well as MOUSE_MOVED and + * MOUSE_DRAGGED and creates synthetic MOUSE_ENTERED and MOUSE_EXITED for + * lightweight component.s + * + * @param target the current mouse event target + * @param ev the mouse event + */ + private void trackEnterExit(final Component target, final MouseEvent ev) + { + int id = ev.getID(); + if (target != lastTarget) + { + if (lastTarget != null) + redispatch(ev, lastTarget, MouseEvent.MOUSE_EXITED); + if (id == MouseEvent.MOUSE_EXITED) + ev.consume(); + if (target != null) + redispatch(ev, target, MouseEvent.MOUSE_ENTERED); + if (id == MouseEvent.MOUSE_ENTERED) + ev.consume(); + lastTarget = target; + } + + } + + /** + * Redispatches the specified mouse event to the specified target with the + * specified id. * - * @param parent the parent component - * @param p the point - * @param child the child component + * @param ev the mouse event + * @param target the new target + * @param id the new id + */ + private void redispatch(MouseEvent ev, Component target, int id) + { + Component source = ev.getComponent(); + if (target != null) + { + // Translate coordinates. + int x = ev.getX(); + int y = ev.getY(); + for (Component c = target; c != null && c != source; c = c.getParent()) + { + x -= c.x; + y -= c.y; + } + + // Retarget event. + MouseEvent retargeted; + if (id == MouseEvent.MOUSE_WHEEL) + { + MouseWheelEvent mwe = (MouseWheelEvent) ev; + retargeted = new MouseWheelEvent(target, id, ev.getWhen(), + ev.getModifiers() + | ev.getModifiersEx(), x, y, + ev.getClickCount(), + ev.isPopupTrigger(), + mwe.getScrollType(), + mwe.getScrollAmount(), + mwe.getWheelRotation()); + } + else + { + retargeted = new MouseEvent(target, id, ev.getWhen(), + ev.getModifiers() | ev.getModifiersEx(), + x, y, ev.getClickCount(), + ev.isPopupTrigger(), ev.getButton()); + } + + if (target == source) + ((Container) target).dispatchNoLightweight(retargeted); + else + target.dispatchEvent(retargeted); + } + } + + /** + * Determines if we are in the middle of a drag operation, that is, if + * any of the buttons is held down. + * + * @param ev the mouse event to check * - * @return the translated point + * @return true if we are in the middle of a drag operation, + * false otherwise */ - private Point convertPointToChild(Component parent, Point p, - Component child) + private boolean isDragging(MouseEvent ev) { - int offX = 0; - int offY = 0; - Component comp = child; - while (comp != null && comp != parent) + int mods = ev.getModifiersEx(); + int id = ev.getID(); + if (id == MouseEvent.MOUSE_PRESSED || id == MouseEvent.MOUSE_RELEASED) { - offX += comp.getX(); - offY += comp.getY(); - comp = comp.getParent(); + switch (ev.getButton()) + { + case MouseEvent.BUTTON1: + mods ^= InputEvent.BUTTON1_DOWN_MASK; + break; + case MouseEvent.BUTTON2: + mods ^= InputEvent.BUTTON2_DOWN_MASK; + break; + case MouseEvent.BUTTON3: + mods ^= InputEvent.BUTTON3_DOWN_MASK; + break; + } } - p.x -= offX; - p.y -= offY; - return p; + return (mods & (InputEvent.BUTTON1_DOWN_MASK + | InputEvent.BUTTON2_DOWN_MASK + | InputEvent.BUTTON3_DOWN_MASK)) != 0; } } diff --git a/libjava/classpath/java/awt/List.java b/libjava/classpath/java/awt/List.java index 86270234345..df8bffa1945 100644 --- a/libjava/classpath/java/awt/List.java +++ b/libjava/classpath/java/awt/List.java @@ -1,5 +1,5 @@ /* List.java -- A listbox widget - Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,1005 +54,932 @@ import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; /** - * Class that implements a listbox widget - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ + * Class that implements a listbox widget + * + * @author Aaron M. Renn (arenn@urbanophile.com) + */ public class List extends Component implements ItemSelectable, Accessible { -/* - * Static Variables - */ - -/** - * The number used to generate the name returned by getName. - */ -private static transient long next_list_number; - -// Serialization constant -private static final long serialVersionUID = -3304312411574666869L; - -/*************************************************************************/ - -/* - * Instance Variables - */ - -// FIXME: Need read/writeObject - -/** - * @serial The items in the list. - */ -private Vector items = new Vector(); - -/** - * @serial Indicates whether or not multiple items can be selected - * simultaneously. - */ -private boolean multipleMode; - -/** - * @serial The number of rows in the list. This is set on creation - * only and cannot be modified. - */ -private int rows; + /** + * The number used to generate the name returned by getName. + */ + private static transient long next_list_number; -/** - * @serial An array of the item indices that are selected. - */ -private int[] selected; + // Serialization constant + private static final long serialVersionUID = -3304312411574666869L; -/** - * @serial An index value used by makeVisible() and - * getVisibleIndex. - */ -private int visibleIndex; + // FIXME: Need read/writeObject -// The list of ItemListeners for this object. -private ItemListener item_listeners; + /** + * @serial The items in the list. + */ + private Vector items = new Vector(); -// The list of ActionListeners for this object. -private ActionListener action_listeners; + /** + * @serial Indicates whether or not multiple items can be selected + * simultaneously. + */ + private boolean multipleMode; + /** + * @serial The number of rows in the list. This is set on creation + * only and cannot be modified. + */ + private int rows; -/*************************************************************************/ + /** + * @serial An array of the item indices that are selected. + */ + private int[] selected; -/* - * Constructors - */ + /** + * @serial An index value used by makeVisible() and + * getVisibleIndex. + */ + private int visibleIndex = -1; -/** - * Initializes a new instance of List with no visible lines - * and multi-select disabled. - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -List() -{ - this(4, false); -} + // The list of ItemListeners for this object. + private ItemListener item_listeners; -/*************************************************************************/ + // The list of ActionListeners for this object. + private ActionListener action_listeners; -/** - * Initializes a new instance of List with the specified - * number of visible lines and multi-select disabled. - * - * @param rows The number of visible rows in the list. - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -List(int rows) -{ - this(rows, false); -} + /** + * Initializes a new instance of List with no visible lines + * and multi-select disabled. + * + * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. + * @since 1.1 + */ + public List() + { + this(4, false); + } -/*************************************************************************/ + /** + * Initializes a new instance of List with the specified + * number of visible lines and multi-select disabled. + * + * @param rows The number of visible rows in the list. + * + * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. + */ + public List(int rows) + { + this(rows, false); + } -/** - * Initializes a new instance of List with the specified - * number of lines and the specified multi-select setting. - * - * @param rows The number of visible rows in the list. - * @param multipleMode true if multiple lines can be selected - * simultaneously, false otherwise. - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -List(int rows, boolean multipleMode) -{ - if (rows == 0) - this.rows = 4; - else - this.rows = rows; + /** + * Initializes a new instance of List with the specified + * number of lines and the specified multi-select setting. + * + * @param rows The number of visible rows in the list. + * @param multipleMode true if multiple lines can be selected + * simultaneously, false otherwise. + * + * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. + */ + public List(int rows, boolean multipleMode) + { + if (rows == 0) + this.rows = 4; + else + this.rows = rows; - this.multipleMode = multipleMode; - selected = new int[0]; - - if (GraphicsEnvironment.isHeadless()) - throw new HeadlessException (); -} - -/*************************************************************************/ - -/* - * Instance Variables - */ + this.multipleMode = multipleMode; + selected = new int[0]; -/** - * Returns the number of items in this list. - * - * @return The number of items in this list. - */ -public int -getItemCount() -{ - return countItems (); -} - -/*************************************************************************/ + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + + } -/** - * Returns the number of items in this list. - * - * @return The number of items in this list. - * - * @deprecated This method is deprecated in favor of - * getItemCount() - */ -public int -countItems() -{ - return items.size (); -} + /** + * Returns the number of items in this list. + * + * @return The number of items in this list. + * + * @since 1.1 + */ + public int getItemCount() + { + return countItems(); + } -/*************************************************************************/ + /** + * Returns the number of items in this list. + * + * @return The number of items in this list. + * + * @deprecated This method is deprecated in favor of + * getItemCount() + */ + public int countItems() + { + return items.size(); + } -/** - * Returns the complete list of items. - * - * @return The complete list of items in the list. - */ -public synchronized String[] -getItems() -{ - String[] l_items = new String[getItemCount()]; + /** + * Returns the complete list of items. + * + * @return The complete list of items in the list. + * + * @since 1.1 + */ + public synchronized String[] getItems() + { + String[] l_items = new String[getItemCount()]; - items.copyInto(l_items); - return(l_items); -} - -/*************************************************************************/ - -/** - * Returns the item at the specified index. - * - * @param index The index of the item to retrieve. - * - * @exception IndexOutOfBoundsException If the index value is not valid. - */ -public String -getItem(int index) -{ - return((String)items.elementAt(index)); -} - -/*************************************************************************/ - -/** - * Returns the number of visible rows in the list. - * - * @return The number of visible rows in the list. - */ -public int -getRows() -{ - return(rows); -} - -/*************************************************************************/ - -/** - * Tests whether or not multi-select mode is enabled. - * - * @return true if multi-select mode is enabled, - * false otherwise. - */ -public boolean -isMultipleMode() -{ - return allowsMultipleSelections (); -} - -/*************************************************************************/ - -/** - * Tests whether or not multi-select mode is enabled. - * - * @return true if multi-select mode is enabled, - * false otherwise. - * - * @deprecated This method is deprecated in favor of - * isMultipleMode(). - */ -public boolean -allowsMultipleSelections() -{ - return multipleMode; -} - -/*************************************************************************/ - -/** - * This method enables or disables multiple selection mode for this - * list. - * - * @param multipleMode true to enable multiple mode, - * false otherwise. - */ -public void -setMultipleMode(boolean multipleMode) -{ - setMultipleSelections (multipleMode); -} - -/*************************************************************************/ - -/** - * This method enables or disables multiple selection mode for this - * list. - * - * @param multipleMode true to enable multiple mode, - * false otherwise. - * - * @deprecated - */ -public void -setMultipleSelections(boolean multipleMode) -{ - this.multipleMode = multipleMode; - - ListPeer peer = (ListPeer) getPeer (); - if (peer != null) - peer.setMultipleMode (multipleMode); -} - -/*************************************************************************/ - -/** - * Returns the minimum size of this component. - * - * @return The minimum size of this component. - */ -public Dimension -getMinimumSize() -{ - return getMinimumSize (getRows ()); -} - -/*************************************************************************/ - -/** - * Returns the minimum size of this component. - * - * @return The minimum size of this component. - * - * @deprecated This method is deprecated in favor of - * getMinimumSize. - */ -public Dimension -minimumSize() -{ - return minimumSize (getRows ()); -} - -/*************************************************************************/ - -/** - * Returns the minimum size of this component assuming it had the specified - * number of rows. - * - * @param rows The number of rows to size for. - * - * @return The minimum size of this component. - */ -public Dimension -getMinimumSize(int rows) -{ - return minimumSize (rows); -} - -/*************************************************************************/ - -/** - * Returns the minimum size of this component assuming it had the specified - * number of rows. - * - * @param rows The number of rows to size for. - * - * @return The minimum size of this component. - * - * @deprecated This method is deprecated in favor of - * getMinimumSize(int)> - */ -public Dimension -minimumSize(int rows) -{ - ListPeer peer = (ListPeer) getPeer (); - if (peer != null) - return peer.minimumSize (rows); - else - return new Dimension (0, 0); -} - -/*************************************************************************/ - -/** - * Returns the preferred size of this component. - * - * @return The preferred size of this component. - */ -public Dimension -getPreferredSize() -{ - return getPreferredSize (getRows ()); -} - -/*************************************************************************/ - -/** - * Returns the preferred size of this component. - * - * @return The preferred size of this component. - * - * @deprecated This method is deprecated in favor of - * getPreferredSize. - */ -public Dimension -preferredSize() -{ - return preferredSize (getRows ()); -} - -/*************************************************************************/ - -/** - * Returns the preferred size of this component assuming it had the specified - * number of rows. - * - * @param rows The number of rows to size for. - * - * @return The preferred size of this component. - */ -public Dimension -getPreferredSize(int rows) -{ - return preferredSize (rows); -} - -/*************************************************************************/ - -/** - * Returns the preferred size of this component assuming it had the specified - * number of rows. - * - * @param rows The number of rows to size for. - * - * @return The preferred size of this component. - * - * @deprecated This method is deprecated in favor of - * getPreferredSize(int)> - */ -public Dimension -preferredSize(int rows) -{ - ListPeer peer = (ListPeer) getPeer (); - if (peer != null) - return peer.preferredSize (rows); - else - return getSize(); -} - -/*************************************************************************/ - -/** - * This method adds the specified item to the end of the list. - * - * @param item The item to add to the list. - */ -public void -add(String item) -{ - add (item, -1); -} - -/*************************************************************************/ - -/** - * This method adds the specified item to the end of the list. - * - * @param item The item to add to the list. - * - * @deprecated Use add() instead. - */ -public void -addItem(String item) -{ - addItem (item, -1); -} - -/*************************************************************************/ - -/** - * Adds the specified item to the specified location in the list. - * If the desired index is -1 or greater than the number of rows - * in the list, then the item is added to the end. - * - * @param item The item to add to the list. - * @param index The location in the list to add the item, or -1 to add - * to the end. - */ -public void -add(String item, int index) -{ - addItem (item, index); -} - -/*************************************************************************/ - -/** - * Adds the specified item to the specified location in the list. - * If the desired index is -1 or greater than the number of rows - * in the list, then the item is added to the end. - * - * @param item The item to add to the list. - * @param index The location in the list to add the item, or -1 to add - * to the end. - * - * @deprecated Use add() instead. - */ -public void -addItem(String item, int index) -{ - if ((index == -1) || (index >= items.size ())) - items.addElement (item); - else - items.insertElementAt (item, index); - - ListPeer peer = (ListPeer) getPeer (); - if (peer != null) - peer.add (item, index); -} - -/*************************************************************************/ - -/** - * Deletes the item at the specified index. - * - * @param index The index of the item to delete. - * - * @exception IllegalArgumentException If the index is not valid - * - * @deprecated - */ -public void -delItem(int index) throws IllegalArgumentException -{ - items.removeElementAt (index); - - ListPeer peer = (ListPeer) getPeer (); - if (peer != null) - peer.delItems (index, index); -} - -/*************************************************************************/ - -/** - * Deletes the item at the specified index. - * - * @param index The index of the item to delete. - * - * @exception IllegalArgumentException If the index is not valid - */ -public void -remove(int index) throws IllegalArgumentException -{ - delItem (index); -} - -/*************************************************************************/ - -/** - * Deletes all items in the specified index range. - * - * @param start The beginning index of the range to delete. - * @param end The ending index of the range to delete. - * - * @exception IllegalArgumentException If the indexes are not valid - * - * @deprecated This method is deprecated for some unknown reason. - */ -public synchronized void -delItems(int start, int end) throws IllegalArgumentException -{ - if ((start < 0) || (start >= items.size())) - throw new IllegalArgumentException("Bad list start index value: " + start); - - if ((start < 0) || (start >= items.size())) - throw new IllegalArgumentException("Bad list start index value: " + start); - - if (start > end) - throw new IllegalArgumentException("Start is greater than end!"); - - // We must run the loop in reverse direction. - for (int i = end; i >= start; --i) - items.removeElementAt (i); - if (peer != null) - { - ListPeer l = (ListPeer) peer; - l.delItems (start, end); - } -} - -/*************************************************************************/ + items.copyInto(l_items); + return(l_items); + } -/** - * Deletes the first occurrence of the specified item from the list. - * - * @param item The item to delete. - * - * @exception IllegalArgumentException If the specified item does not exist. - */ -public synchronized void -remove(String item) throws IllegalArgumentException -{ - int index = items.indexOf(item); - if (index == -1) - throw new IllegalArgumentException("List element to delete not found"); + /** + * Returns the item at the specified index. + * + * @param index The index of the item to retrieve. + * + * @exception IndexOutOfBoundsException If the index value is not valid. + */ + public String getItem(int index) + { + return((String) items.elementAt(index)); + } - remove(index); -} + /** + * Returns the number of visible rows in the list. + * + * @return The number of visible rows in the list. + */ + public int getRows() + { + return(rows); + } -/*************************************************************************/ + /** + * Tests whether or not multi-select mode is enabled. + * + * @return true if multi-select mode is enabled, + * false otherwise. + * + * @since 1.1 + */ + public boolean isMultipleMode() + { + return allowsMultipleSelections (); + } -/** - * Deletes all of the items from the list. - */ -public synchronized void -removeAll() -{ - clear (); -} + /** + * Tests whether or not multi-select mode is enabled. + * + * @return true if multi-select mode is enabled, + * false otherwise. + * + * @deprecated This method is deprecated in favor of + * isMultipleMode(). + */ + public boolean allowsMultipleSelections() + { + return multipleMode; + } -/*************************************************************************/ + /** + * This method enables or disables multiple selection mode for this + * list. + * + * @param multipleMode true to enable multiple mode, + * false otherwise. + * + * @since 1.1 + */ + public void setMultipleMode(boolean multipleMode) + { + setMultipleSelections (multipleMode); + } -/** - * Deletes all of the items from the list. - * - * @deprecated This method is deprecated in favor of removeAll(). - */ -public void -clear() -{ - items.clear(); + /** + * This method enables or disables multiple selection mode for this + * list. + * + * @param multipleMode true to enable multiple mode, + * false otherwise. + * + * @deprecated + */ + public void setMultipleSelections(boolean multipleMode) + { + this.multipleMode = multipleMode; - ListPeer peer = (ListPeer) getPeer (); - if (peer != null) - peer.removeAll (); -} + ListPeer peer = (ListPeer) getPeer(); + if (peer != null) + peer.setMultipleMode(multipleMode); + + } -/*************************************************************************/ + /** + * Returns the minimum size of this component. + * + * @return The minimum size of this component. + * + * @since 1.1 + */ + public Dimension getMinimumSize() + { + return getMinimumSize(getRows()); + } -/** - * Replaces the item at the specified index with the specified item. - * - * @param item The new item value. - * @param index The index of the item to replace. - * - * @exception ArrayIndexOutOfBoundsException If the index is not valid. - */ -public synchronized void -replaceItem(String item, int index) throws ArrayIndexOutOfBoundsException -{ - if ((index < 0) || (index >= items.size())) - throw new ArrayIndexOutOfBoundsException("Bad list index: " + index); + /** + * Returns the minimum size of this component. + * + * @return The minimum size of this component. + * + * @deprecated This method is deprecated in favor of + * getMinimumSize. + */ + public Dimension minimumSize() + { + return minimumSize(getRows()); + } - items.insertElementAt(item, index + 1); - items.removeElementAt (index); + /** + * Returns the minimum size of this component assuming it had the specified + * number of rows. + * + * @param rows The number of rows to size for. + * + * @return The minimum size of this component. + * + * @since 1.1 + */ + public Dimension getMinimumSize(int rows) + { + return minimumSize(rows); + } - if (peer != null) - { - ListPeer l = (ListPeer) peer; + /** + * Returns the minimum size of this component assuming it had the specified + * number of rows. + * + * @param rows The number of rows to size for. + * + * @return The minimum size of this component. + * + * @deprecated This method is deprecated in favor of + * getMinimumSize(int)> + */ + public Dimension minimumSize(int rows) + { + ListPeer peer = (ListPeer) getPeer(); + if (peer != null) + return peer.minimumSize(rows); + else + return new Dimension(0, 0); + } - /* We add first and then remove so that the selected - item remains the same */ - l.add (item, index + 1); - l.delItems (index, index); - } -} + /** + * Returns the preferred size of this component. + * + * @return The preferred size of this component. + * + * @since 1.1 + */ + public Dimension getPreferredSize() + { + return getPreferredSize(getRows()); + } -/*************************************************************************/ + /** + * Returns the preferred size of this component. + * + * @return The preferred size of this component. + * + * @deprecated This method is deprecated in favor of + * getPreferredSize. + */ + public Dimension preferredSize() + { + return preferredSize(getRows()); + } -/** - * Returns the index of the currently selected item. -1 will be returned - * if there are no selected rows or if there are multiple selected rows. - * - * @return The index of the selected row. - */ -public synchronized int -getSelectedIndex() -{ - if (peer != null) - { - ListPeer l = (ListPeer) peer; - selected = l.getSelectedIndexes (); - } + /** + * Returns the preferred size of this component assuming it had the specified + * number of rows. + * + * @param rows The number of rows to size for. + * + * @return The preferred size of this component. + * + * @since 1.1 + */ + public Dimension getPreferredSize(int rows) + { + return preferredSize(rows); + } - if (selected == null || selected.length != 1) - return -1; - return selected[0]; -} + /** + * Returns the preferred size of this component assuming it had the specified + * number of rows. + * + * @param rows The number of rows to size for. + * + * @return The preferred size of this component. + * + * @deprecated This method is deprecated in favor of + * getPreferredSize(int)> + */ + public Dimension preferredSize(int rows) + { + ListPeer peer = (ListPeer)getPeer(); + if (peer != null) + return peer.preferredSize(rows); + else + return getSize(); + } -/*************************************************************************/ + /** + * This method adds the specified item to the end of the list. + * + * @param item The item to add to the list. + * + * @since 1.1 + */ + public void add(String item) + { + add (item, -1); + } -/** - * Returns an array containing the indexes of the rows that are - * currently selected. - * - * @return A list of indexes of selected rows. - */ -public synchronized int[] -getSelectedIndexes() -{ - if (peer != null) - { - ListPeer l = (ListPeer) peer; - selected = l.getSelectedIndexes (); - } - return selected; -} + /** + * This method adds the specified item to the end of the list. + * + * @param item The item to add to the list. + * + * @deprecated Use add() instead. + */ + public void addItem(String item) + { + addItem(item, -1); + } -/*************************************************************************/ + /** + * Adds the specified item to the specified location in the list. + * If the desired index is -1 or greater than the number of rows + * in the list, then the item is added to the end. + * + * @param item The item to add to the list. + * @param index The location in the list to add the item, or -1 to add + * to the end. + * + * @since 1.1 + */ + public void add(String item, int index) + { + addItem(item, index); + } -/** - * Returns the item that is currently selected, or null if there - * is no item selected. FIXME: What happens if multiple items selected? - * - * @return The selected item, or null if there is no - * selected item. - */ -public synchronized String -getSelectedItem() -{ - int index = getSelectedIndex(); - if (index == -1) - return(null); + /** + * Adds the specified item to the specified location in the list. + * If the desired index is -1 or greater than the number of rows + * in the list, then the item is added to the end. + * + * @param item The item to add to the list. + * @param index The location in the list to add the item, or -1 to add + * to the end. + * + * @deprecated Use add() instead. + */ + public void addItem(String item, int index) + { + if (item == null) + item = ""; + + if (index < -1) + index = -1; + + if ((index == -1) || (index >= items.size ())) + items.addElement (item); + else + items.insertElementAt(item, index); + + ListPeer peer = (ListPeer) getPeer(); + if (peer != null) + peer.add (item, index); + } - return((String)items.elementAt(index)); -} + /** + * Deletes the item at the specified index. + * + * @param index The index of the item to delete. + * + * @exception IllegalArgumentException If the index is not valid + * + * @deprecated + */ + public void delItem(int index) throws IllegalArgumentException + { + boolean selected = false; + if (isSelected(index)) + { + selected = true; + deselect(index); + } + + items.removeElementAt (index); + + if (selected) + select(index); -/*************************************************************************/ + ListPeer peer = (ListPeer) getPeer(); + if (peer != null) + peer.delItems (index, index); + } -/** - * Returns the list of items that are currently selected in this list. - * - * @return The list of currently selected items. - */ -public synchronized String[] -getSelectedItems() -{ - int[] indexes = getSelectedIndexes(); - if (indexes == null) - return(new String[0]); + /** + * Deletes the item at the specified index. + * + * @param index The index of the item to delete. + * + * @exception IllegalArgumentException If the index is not valid + * + * @since 1.1 + */ + public void remove(int index) throws IllegalArgumentException + { + delItem(index); + } - String[] retvals = new String[indexes.length]; - if (retvals.length > 0) - for (int i = 0 ; i < retvals.length; i++) - retvals[i] = (String)items.elementAt(indexes[i]); + /** + * Deletes all items in the specified index range. + * + * @param start The beginning index of the range to delete. + * @param end The ending index of the range to delete. + * + * @exception IllegalArgumentException If the indexes are not valid + * + * @deprecated This method is deprecated for some unknown reason. + */ + public synchronized void delItems(int start, int end) + throws IllegalArgumentException + { + // We must run the loop in reverse direction. + for (int i = end; i >= start; --i) + items.removeElementAt (i); + if (peer != null) + { + ListPeer l = (ListPeer) peer; + l.delItems (start, end); + } + } - return(retvals); -} + /** + * Deletes the first occurrence of the specified item from the list. + * + * @param item The item to delete. + * + * @exception IllegalArgumentException If the specified item does not exist. + * + * @since 1.1 + */ + public synchronized void remove(String item) throws IllegalArgumentException + { + int index = items.indexOf(item); + if (index == -1) + throw new IllegalArgumentException("List element to delete not found"); -/*************************************************************************/ + remove(index); + } -/** - * Returns the list of items that are currently selected in this list as - * an array of type Object[] instead of String[]. - * - * @return The list of currently selected items. - */ -public synchronized Object[] -getSelectedObjects() -{ - int[] indexes = getSelectedIndexes(); - if (indexes == null) - return(new Object[0]); + /** + * Deletes all of the items from the list. + * + * @since 1.1 + */ + public synchronized void removeAll() + { + clear(); + } - Object[] retvals = new Object[indexes.length]; - if (retvals.length > 0) - for (int i = 0 ; i < retvals.length; i++) - retvals[i] = items.elementAt(indexes[i]); + /** + * Deletes all of the items from the list. + * + * @deprecated This method is deprecated in favor of removeAll(). + */ + public void clear() + { + items.clear(); - return(retvals); -} + ListPeer peer = (ListPeer) getPeer(); + if (peer != null) + peer.removeAll(); + + selected = new int[0]; + } -/*************************************************************************/ + /** + * Replaces the item at the specified index with the specified item. + * + * @param item The new item value. + * @param index The index of the item to replace. + * + * @exception ArrayIndexOutOfBoundsException If the index is not valid. + */ + public synchronized void replaceItem(String item, int index) + throws ArrayIndexOutOfBoundsException + { + if ((index < 0) || (index >= items.size())) + throw new ArrayIndexOutOfBoundsException("Bad list index: " + index); -/** - * Tests whether or not the specified index is selected. - * - * @param index The index to test. - * - * @return true if the index is selected, false - * otherwise. - */ -public boolean -isIndexSelected(int index) -{ - return isSelected (index); -} + items.insertElementAt(item, index + 1); + items.removeElementAt (index); -/*************************************************************************/ + if (peer != null) + { + ListPeer l = (ListPeer) peer; -/** - * Tests whether or not the specified index is selected. - * - * @param index The index to test. - * - * @return true if the index is selected, false - * otherwise. - * - * @deprecated This method is deprecated in favor of - * isIndexSelected(int). - */ -public boolean -isSelected(int index) -{ - int[] indexes = getSelectedIndexes (); + /* We add first and then remove so that the selected + item remains the same */ + l.add (item, index + 1); + l.delItems (index, index); + } + } - for (int i = 0; i < indexes.length; i++) - if (indexes[i] == index) - return true; + /** + * Returns the index of the currently selected item. -1 will be returned + * if there are no selected rows or if there are multiple selected rows. + * + * @return The index of the selected row. + */ + public synchronized int getSelectedIndex() + { + if (peer != null) + { + ListPeer l = (ListPeer) peer; + selected = l.getSelectedIndexes (); + } - return false; -} + if (selected == null || selected.length != 1) + return -1; + + return selected[0]; + } -/*************************************************************************/ + /** + * Returns an array containing the indexes of the rows that are + * currently selected. + * + * @return A list of indexes of selected rows. + */ + public synchronized int[] getSelectedIndexes() + { + if (peer != null) + { + ListPeer l = (ListPeer) peer; + selected = l.getSelectedIndexes(); + } + + return selected; + } -/** - * This method ensures that the item at the specified index is visible. - * - * @param index The index of the item to be made visible. - */ -public synchronized void -makeVisible(int index) throws IllegalArgumentException -{ - visibleIndex = index; - if (peer != null) - { - ListPeer l = (ListPeer) peer; - l.makeVisible (index); - } -} + /** + * Returns the item that is currently selected, or null if there + * is no item selected. FIXME: What happens if multiple items selected? + * + * @return The selected item, or null if there is no + * selected item. + */ + public synchronized String getSelectedItem() + { + int index = getSelectedIndex(); + if (index == -1) + return(null); -/*************************************************************************/ + return((String) items.elementAt(index)); + } -/** - * Returns the index of the last item that was made visible via the - * makeVisible() method. - * - * @return The index of the last item made visible via the - * makeVisible() method. - */ -public int -getVisibleIndex() -{ - return(visibleIndex); -} + /** + * Returns the list of items that are currently selected in this list. + * + * @return The list of currently selected items. + */ + public synchronized String[] getSelectedItems() + { + int[] indexes = getSelectedIndexes(); + if (indexes == null) + return(new String[0]); -/*************************************************************************/ + String[] retvals = new String[indexes.length]; + if (retvals.length > 0) + for (int i = 0 ; i < retvals.length; i++) + retvals[i] = (String)items.elementAt(indexes[i]); -/** - * Makes the item at the specified index selected. - * - * @param index The index of the item to select. - */ -public synchronized void -select(int index) -{ - ListPeer lp = (ListPeer)getPeer(); - if (lp != null) - lp.select(index); -} + return(retvals); + } -/*************************************************************************/ + /** + * Returns the list of items that are currently selected in this list as + * an array of type Object[] instead of String[]. + * + * @return The list of currently selected items. + */ + public synchronized Object[] getSelectedObjects() + { + int[] indexes = getSelectedIndexes(); + if (indexes == null) + return(new Object[0]); -/** - * Makes the item at the specified index not selected. - * - * @param index The index of the item to unselect. - */ -public synchronized void -deselect(int index) -{ - ListPeer lp = (ListPeer)getPeer(); - if (lp != null) - lp.deselect(index); -} + Object[] retvals = new Object[indexes.length]; + if (retvals.length > 0) + for (int i = 0 ; i < retvals.length; i++) + retvals[i] = items.elementAt(indexes[i]); -/*************************************************************************/ + return(retvals); + } -/** - * Notifies this object to create its native peer. - */ -public void -addNotify() -{ - if (peer == null) - peer = getToolkit ().createList (this); - super.addNotify (); -} + /** + * Tests whether or not the specified index is selected. + * + * @param index The index to test. + * + * @return true if the index is selected, false + * otherwise. + * + * @since 1.1 + */ + public boolean isIndexSelected(int index) + { + return isSelected(index); + } -/*************************************************************************/ + /** + * Tests whether or not the specified index is selected. + * + * @param index The index to test. + * + * @return true if the index is selected, false + * otherwise. + * + * @deprecated This method is deprecated in favor of + * isIndexSelected(int). + */ + public boolean isSelected(int index) + { + int[] indexes = getSelectedIndexes(); -/** - * Notifies this object to destroy its native peer. - */ -public void -removeNotify() -{ - super.removeNotify(); -} + for (int i = 0; i < indexes.length; i++) + if (indexes[i] == index) + return true; -/*************************************************************************/ + return false; + } -/** - * Adds the specified ActionListener to the list of - * registered listeners for this object. - * - * @param listener The listener to add. - */ -public synchronized void -addActionListener(ActionListener listener) -{ - action_listeners = AWTEventMulticaster.add(action_listeners, listener); -} + /** + * This method ensures that the item at the specified index is visible. + * + * @param index The index of the item to be made visible. + */ + public synchronized void makeVisible(int index) + throws IllegalArgumentException + { + visibleIndex = index; + if (peer != null) + { + ListPeer l = (ListPeer) peer; + l.makeVisible (index); + } + } -/*************************************************************************/ + /** + * Returns the index of the last item that was made visible via the + * makeVisible() method. + * + * @return The index of the last item made visible via the + * makeVisible() method. + */ + public int getVisibleIndex() + { + return visibleIndex; + } -/** - * Removes the specified ActionListener from the list of - * registers listeners for this object. - * - * @param listener The listener to remove. - */ -public synchronized void -removeActionListener(ActionListener listener) -{ - action_listeners = AWTEventMulticaster.remove(action_listeners, listener); -} + /** + * Makes the item at the specified index selected. + * + * @param index The index of the item to select. + */ + public synchronized void select(int index) + { + ListPeer lp = (ListPeer) getPeer(); + if (lp != null) + lp.select(index); + + if (selected != null) + { + boolean found = false; + for (int i = 0; i < selected.length; i++) + { + if (selected[i] == index) + found = true; + } + if (! found) + { + if (! isMultipleMode()) + { + selected = new int[] { index }; + return; + } + int[] temp = new int[selected.length + 1]; + System.arraycopy(selected, 0, temp, 0, selected.length); + temp[selected.length] = index; + selected = temp; + } + } + else + { + selected = new int[1]; + selected[0] = index; + } + } -/*************************************************************************/ + /** + * Makes the item at the specified index not selected. + * + * @param index The index of the item to unselect. + */ + public synchronized void deselect(int index) + { + if (isSelected(index)) + { + ListPeer lp = (ListPeer)getPeer(); + if (lp != null) + lp.deselect(index); + + int[] temp = new int[selected.length - 1]; + for (int i = 0; i < temp.length; i++) + { + if (selected[i] != index) + temp[i] = selected[i]; + else + { + System.arraycopy(selected, i + 1, temp, i, + selected.length - i - 1); + break; + } + } + selected = temp; + } + } -/** - * Adds the specified ItemListener to the list of - * registered listeners for this object. - * - * @param listener The listener to add. - */ -public synchronized void -addItemListener(ItemListener listener) -{ - item_listeners = AWTEventMulticaster.add(item_listeners, listener); -} + /** + * Notifies this object to create its native peer. + */ + public void addNotify() + { + if (peer == null) + peer = getToolkit ().createList(this); + super.addNotify (); + } -/*************************************************************************/ + /** + * Notifies this object to destroy its native peer. + */ + public void removeNotify() + { + super.removeNotify(); + } -/** - * Removes the specified ItemListener from the list of - * registers listeners for this object. - * - * @param listener The listener to remove. - */ -public synchronized void -removeItemListener(ItemListener listener) -{ - item_listeners = AWTEventMulticaster.remove(item_listeners, listener); -} + /** + * Adds the specified ActionListener to the list of + * registered listeners for this object. + * + * @param listener The listener to add. + * + * @since 1.1 + */ + public synchronized void addActionListener(ActionListener listener) + { + action_listeners = AWTEventMulticaster.add(action_listeners, listener); + } -/*************************************************************************/ + /** + * Removes the specified ActionListener from the list of + * registers listeners for this object. + * + * @param listener The listener to remove. + * + * @since 1.1 + */ + public synchronized void removeActionListener(ActionListener listener) + { + action_listeners = AWTEventMulticaster.remove(action_listeners, listener); + } -/** - * Processes the specified event for this object. If the event is an - * instance of ActionEvent then the - * processActionEvent() method is called. Similarly, if the - * even is an instance of ItemEvent then the - * processItemEvent() method is called. Otherwise the - * superclass method is called to process this event. - * - * @param event The event to process. - */ -protected void -processEvent(AWTEvent event) -{ - if (event instanceof ActionEvent) - processActionEvent((ActionEvent)event); - else if (event instanceof ItemEvent) - processItemEvent((ItemEvent)event); - else - super.processEvent(event); -} + /** + * Adds the specified ItemListener to the list of + * registered listeners for this object. + * + * @param listener The listener to add. + * + * @since 1.1 + */ + public synchronized void addItemListener(ItemListener listener) + { + item_listeners = AWTEventMulticaster.add(item_listeners, listener); + } -/*************************************************************************/ + /** + * Removes the specified ItemListener from the list of + * registers listeners for this object. + * + * @param listener The listener to remove. + * + * @since 1.1 + */ + public synchronized void removeItemListener(ItemListener listener) + { + item_listeners = AWTEventMulticaster.remove(item_listeners, listener); + } -/** - * This method processes the specified event by dispatching it to any - * registered listeners. Note that this method will only get called if - * action events are enabled. This will happen automatically if any - * listeners are added, or it can be done "manually" by calling - * the enableEvents() method. - * - * @param event The event to process. - */ -protected void -processActionEvent(ActionEvent event) -{ - if (action_listeners != null) - action_listeners.actionPerformed(event); -} + /** + * Processes the specified event for this object. If the event is an + * instance of ActionEvent then the + * processActionEvent() method is called. Similarly, if the + * even is an instance of ItemEvent then the + * processItemEvent() method is called. Otherwise the + * superclass method is called to process this event. + * + * @param event The event to process. + * + * @since 1.1 + */ + protected void processEvent(AWTEvent event) + { + if (event instanceof ActionEvent) + processActionEvent((ActionEvent)event); + else if (event instanceof ItemEvent) + processItemEvent((ItemEvent)event); + else + super.processEvent(event); + } -/*************************************************************************/ + /** + * This method processes the specified event by dispatching it to any + * registered listeners. Note that this method will only get called if + * action events are enabled. This will happen automatically if any + * listeners are added, or it can be done "manually" by calling + * the enableEvents() method. + * + * @param event The event to process. + * + * @since 1.1 + */ + protected void processActionEvent(ActionEvent event) + { + if (action_listeners != null) + action_listeners.actionPerformed(event); + } -/** - * This method processes the specified event by dispatching it to any - * registered listeners. Note that this method will only get called if - * item events are enabled. This will happen automatically if any - * listeners are added, or it can be done "manually" by calling - * the enableEvents() method. - * - * @param event The event to process. - */ -protected void -processItemEvent(ItemEvent event) -{ - if (item_listeners != null) - item_listeners.itemStateChanged(event); -} + /** + * This method processes the specified event by dispatching it to any + * registered listeners. Note that this method will only get called if + * item events are enabled. This will happen automatically if any + * listeners are added, or it can be done "manually" by calling + * the enableEvents() method. + * + * @param event The event to process. + * + * @since 1.1 + */ + protected void processItemEvent(ItemEvent event) + { + if (item_listeners != null) + item_listeners.itemStateChanged(event); + } -void -dispatchEventImpl(AWTEvent e) -{ - if (e.id <= ItemEvent.ITEM_LAST - && e.id >= ItemEvent.ITEM_FIRST - && (item_listeners != null - || (eventMask & AWTEvent.ITEM_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= ActionEvent.ACTION_LAST + void dispatchEventImpl(AWTEvent e) + { + if (e.id <= ItemEvent.ITEM_LAST + && e.id >= ItemEvent.ITEM_FIRST + && (item_listeners != null + || (eventMask & AWTEvent.ITEM_EVENT_MASK) != 0)) + processEvent(e); + else if (e.id <= ActionEvent.ACTION_LAST && e.id >= ActionEvent.ACTION_FIRST && (action_listeners != null - || (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0)) - processEvent(e); - else - super.dispatchEventImpl(e); -} - -/*************************************************************************/ + || (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0)) + processEvent(e); + else + super.dispatchEventImpl(e); + } -/** - * Returns a debugging string for this object. - * - * @return A debugging string for this object. - */ -protected String -paramString() -{ - return "multiple=" + multipleMode + ",rows=" + rows + super.paramString(); -} + /** + * Returns a debugging string for this object. + * + * @return A debugging string for this object. + */ + protected String paramString() + { + return "multiple=" + multipleMode + ",rows=" + rows + super.paramString(); + } /** * Returns an array of all the objects currently registered as FooListeners @@ -1061,12 +988,14 @@ paramString() * * @exception ClassCastException If listenerType doesn't specify a class or * interface that implements java.util.EventListener. + * + * @since 1.3 */ - public EventListener[] getListeners (Class listenerType) + public T[] getListeners (Class listenerType) { if (listenerType == ActionListener.class) return AWTEventMulticaster.getListeners (action_listeners, listenerType); - + if (listenerType == ItemListener.class) return AWTEventMulticaster.getListeners (item_listeners, listenerType); @@ -1075,6 +1004,8 @@ paramString() /** * Returns all action listeners registered to this object. + * + * @since 1.4 */ public ActionListener[] getActionListeners () { @@ -1083,6 +1014,8 @@ paramString() /** * Returns all action listeners registered to this object. + * + * @since 1.4 */ public ItemListener[] getItemListeners () { diff --git a/libjava/classpath/java/awt/Menu.java b/libjava/classpath/java/awt/Menu.java index f900d929574..cef04a38e1a 100644 --- a/libjava/classpath/java/awt/Menu.java +++ b/libjava/classpath/java/awt/Menu.java @@ -54,38 +54,28 @@ import javax.accessibility.AccessibleRole; public class Menu extends MenuItem implements MenuContainer, Serializable { -/* - * Static Variables - */ - -/** - * The number used to generate the name returned by getName. - */ -private static transient long next_menu_number; - -// Serialization Constant -private static final long serialVersionUID = -8809584163345499784L; - -/*************************************************************************/ + /** + * The number used to generate the name returned by getName. + */ + private static transient long next_menu_number; -/* - * Instance Variables - */ + // Serialization Constant + private static final long serialVersionUID = -8809584163345499784L; -/** - * @serial The actual items in the menu - */ -private Vector items = new Vector(); + /** + * @serial The actual items in the menu + */ + private Vector items = new Vector(); -/** - * @serial Flag indicating whether or not this menu is a tear off - */ -private boolean tearOff; + /** + * @serial Flag indicating whether or not this menu is a tear off + */ + private boolean tearOff; -/** - * @serial Indicates whether or not this is a help menu. - */ -private boolean isHelpMenu; + /** + * @serial Indicates whether or not this is a help menu. + */ + private boolean isHelpMenu; /* * @serial Unused in this implementation, but present in Sun's @@ -93,371 +83,316 @@ private boolean isHelpMenu; */ private int menuSerializedDataVersion = 1; -static final transient String separatorLabel = "-"; - -/*************************************************************************/ - -/* - * Constructors - */ - -/** - * Initializes a new instance of Menu with no label and that - * is not a tearoff; - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -Menu() -{ -} - -/*************************************************************************/ - -/** - * Initializes a new instance of Menu that is not a tearoff and - * that has the specified label. - * - * @param label The menu label. - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -Menu(String label) -{ - this(label, false); -} - -/*************************************************************************/ - -/** - * Initializes a new instance of Menu with the specified - * label and tearoff status. - * - * @param label The label for this menu - * @param isTearOff true if this menu is a tear off menu, - * false otherwise. - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -Menu(String label, boolean isTearOff) -{ - super(label); + static final transient String separatorLabel = "-"; - tearOff = isTearOff; + /** + * Initializes a new instance of Menu with no label and that + * is not a tearoff; + * + * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. + */ + public Menu() + { + } - if (label.equals("Help")) - isHelpMenu = true; + /** + * Initializes a new instance of Menu that is not a tearoff and + * that has the specified label. + * + * @param label The menu label. + * + * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. + */ + public Menu(String label) + { + this(label, false); + } - if (GraphicsEnvironment.isHeadless()) - throw new HeadlessException (); -} + /** + * Initializes a new instance of Menu with the specified + * label and tearoff status. + * + * @param label The label for this menu + * @param isTearOff true if this menu is a tear off menu, + * false otherwise. + * + * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. + */ + public Menu(String label, boolean isTearOff) + { + super(label); -/*************************************************************************/ + tearOff = isTearOff; -/* - * Instance Methods - */ + if (label.equals("Help")) + isHelpMenu = true; -/** - * Tests whether or not this menu is a tearoff. - * - * @return true if this menu is a tearoff, false - * otherwise. - */ -public boolean -isTearOff() -{ - return(tearOff); -} + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + } -/*************************************************************************/ + /** + * Tests whether or not this menu is a tearoff. + * + * @return true if this menu is a tearoff, false + * otherwise. + */ + public boolean isTearOff() + { + return(tearOff); + } -/** - * Returns the number of items in this menu. - * - * @return The number of items in this menu. - */ -public int -getItemCount() -{ - return countItems (); -} + /** + * Returns the number of items in this menu. + * + * @return The number of items in this menu. + */ + public int getItemCount() + { + return countItems(); + } -/** - * Returns the number of items in this menu. - * - * @return The number of items in this menu. - * - * @deprecated As of JDK 1.1, replaced by getItemCount(). - */ -public int countItems () -{ - return items.size (); -} + /** + * Returns the number of items in this menu. + * + * @return The number of items in this menu. + * + * @deprecated As of JDK 1.1, replaced by getItemCount(). + */ + public int countItems() + { + return items.size(); + } -/*************************************************************************/ - -/** - * Returns the item at the specified index. - * - * @return The item at the specified index. - * - * @exception ArrayIndexOutOfBoundsException If the index value is not valid. - */ -public MenuItem -getItem(int index) -{ - return((MenuItem)items.elementAt(index)); -} - -/*************************************************************************/ - -/** - * Adds the specified item to this menu. If it was previously part of - * another menu, it is first removed from that menu. - * - * @param item The new item to add. - * - * @return The item that was added. - */ -public MenuItem -add(MenuItem item) -{ - MenuContainer parent = item.getParent(); - if (parent != null) - parent.remove(item); - - items.addElement(item); - item.setParent(this); + /** + * Returns the item at the specified index. + * + * @param index the item index. + * + * @return The item at the specified index. + * + * @exception ArrayIndexOutOfBoundsException If the index value is not valid. + */ + public MenuItem getItem(int index) + { + return((MenuItem) items.elementAt(index)); + } - if (peer != null) - { - item.addNotify(); - MenuPeer mp = (MenuPeer) peer; - mp.addItem(item); - } + /** + * Adds the specified item to this menu. If it was previously part of + * another menu, it is first removed from that menu. + * + * @param item The new item to add. + * + * @return The item that was added. + */ + public MenuItem add(MenuItem item) + { + MenuContainer parent = item.getParent(); + if (parent != null) + parent.remove(item); - return item; -} + items.addElement(item); + item.setParent(this); -/*************************************************************************/ + if (peer != null) + { + item.addNotify(); + MenuPeer mp = (MenuPeer) peer; + mp.addItem(item); + } -/** - * Add an item with the specified label to this menu. - * - * @param label The label of the menu item to add. - */ -public void -add(String label) -{ - add(new MenuItem(label)); -} - -/*************************************************************************/ - -/** - * Inserts the specified menu item into this menu at the specified index. - * - * @param item The menu item to add. - * @param index The index of the menu item. - * - * @exception IllegalArgumentException If the index is less than zero. - * @exception ArrayIndexOutOfBoundsException If the index is otherwise invalid. - */ -public void -insert(MenuItem item, int index) -{ - if (index < 0) - throw new IllegalArgumentException("Index is less than zero"); + return item; + } - int count = getItemCount (); + /** + * Add an item with the specified label to this menu. + * + * @param label The label of the menu item to add. + */ + public void add(String label) + { + add(new MenuItem(label)); + } - if (index >= count) - add(item); - else - { - MenuContainer parent = item.getParent(); - if (parent != null) - parent.remove(item); + /** + * Inserts the specified menu item into this menu at the specified index. If + * the index is greater than or equal to the number of items already in the + * menu, the new item is added as the last item in the menu. + * + * @param item The menu item to add (null not permitted). + * @param index The index of the menu item (>= 0). + * + * @throws IllegalArgumentException if the index is less than zero. + * @throws NullPointerException if item is null. + */ + public void insert(MenuItem item, int index) + { + if (index < 0) + throw new IllegalArgumentException("Index is less than zero"); + + int count = getItemCount(); + + if (index >= count) + add(item); + else + { + MenuContainer parent = item.getParent(); + if (parent != null) + parent.remove(item); - items.insertElementAt(item, index); - item.setParent(this); - - MenuPeer peer = (MenuPeer) getPeer(); - if (peer == null) - return; + items.insertElementAt(item, index); + item.setParent(this); - for (int i = count - 1; i >= index; i--) - peer.delItem(i); + MenuPeer peer = (MenuPeer) getPeer(); + if (peer == null) + return; - item.addNotify(); - peer.addItem(item); + for (int i = count - 1; i >= index; i--) + peer.delItem(i); - for (int i = index; i < count; i++) - peer.addItem((MenuItem) items.elementAt (i)); - } - -} + item.addNotify(); + peer.addItem(item); -/*************************************************************************/ + // bear in mind that count is the number of items *before* the new + // item was added + for (int i = index + 1; i <= count; i++) + peer.addItem((MenuItem) items.elementAt(i)); + } -/** - * Inserts an item with the specified label into this menu at the specified index. - * - * @param label The label of the item to add. - * @param index The index of the menu item. - * - * @exception IllegalArgumentException If the index is less than zero. - * @exception ArrayIndexOutOfBoundsException If the index is otherwise invalid. - */ -public void -insert(String label, int index) -{ - insert(new MenuItem(label), index); -} - -/*************************************************************************/ - -/** - * Adds a separator bar at the current menu location. - */ -public void -addSeparator() -{ - add(new MenuItem(separatorLabel)); -} - -/*************************************************************************/ - -/** - * Inserts a separator bar at the specified index value. - * - * @param index The index at which to insert a separator bar. - * - * @exception IllegalArgumentException If the index is less than zero. - * @exception ArrayIndexOutOfBoundsException If the index is otherwise invalid. - */ -public void -insertSeparator(int index) -{ - insert(new MenuItem(separatorLabel), index); -} + } -/*************************************************************************/ + /** + * Inserts an item with the specified label into this menu at the specified + * index. If the index is greater than or equal to the number of items + * already in the menu, the new item is added as the last item in the menu. + * + * @param label The label of the item to add. + * @param index The index of the menu item (>= 0). + * + * @throws IllegalArgumentException If the index is less than zero. + */ + public void insert(String label, int index) + { + insert(new MenuItem(label), index); + } -/** - * Deletes the item at the specified index from this menu. - * - * @param index The index of the item to remove. - * - * @exception ArrayIndexOutOfBoundsException If the index is otherwise invalid. - */ -public synchronized void -remove(int index) -{ - MenuItem item = (MenuItem) items.remove(index); + /** + * Adds a separator bar at the current menu location. + */ + public void addSeparator() + { + add(new MenuItem(separatorLabel)); + } - MenuPeer mp = (MenuPeer) getPeer(); - if (mp != null) - { - mp.delItem(index); - item.removeNotify(); - } - item.setParent(null); -} + /** + * Inserts a separator bar at the specified index value. + * + * @param index The index at which to insert a separator bar. + * + * @exception IllegalArgumentException If the index is less than zero. + * @exception ArrayIndexOutOfBoundsException If the index is otherwise invalid. + */ + public void insertSeparator(int index) + { + insert(new MenuItem(separatorLabel), index); + } -/*************************************************************************/ + /** + * Deletes the item at the specified index from this menu. + * + * @param index The index of the item to remove. + * + * @exception ArrayIndexOutOfBoundsException If the index is otherwise invalid. + */ + public synchronized void remove(int index) + { + MenuItem item = (MenuItem) items.remove(index); + + MenuPeer mp = (MenuPeer) getPeer(); + if (mp != null) + { + mp.delItem(index); + item.removeNotify(); + } + item.setParent(null); + } -/** - * Removes the specifed item from the menu. If the specified component - * does not exist, this method does nothing. - * - * @param item The component to remove. - */ -public void -remove(MenuComponent item) -{ - int index = items.indexOf(item); - if (index == -1) - return; + /** + * Removes the specifed item from the menu. If the specified component + * does not exist, this method does nothing. + * + * @param item The component to remove. + */ + public void remove(MenuComponent item) + { + int index = items.indexOf(item); + if (index == -1) + return; - remove(index); -} + remove(index); + } -/*************************************************************************/ + /** + * Removes all the elements from this menu. + */ + public synchronized void removeAll() + { + int count = getItemCount(); + for(int i = 0; i < count; i++) + { + // We must always remove item 0. + remove(0); + } + } -/** - * Removes all the elements from this menu. - */ -public synchronized void -removeAll() -{ - int count = getItemCount(); - for(int i = 0; i < count; i++) + /** + * Creates the native peer for this object. + */ + public void addNotify() + { + MenuPeer peer = (MenuPeer) getPeer(); + if (peer == null) + { + peer = getToolkit().createMenu(this); + setPeer(peer); + } + + Enumeration e = items.elements(); + while (e.hasMoreElements()) { - // We must always remove item 0. - remove(0); + MenuItem mi = (MenuItem)e.nextElement(); + mi.addNotify(); + peer.addItem(mi); } -} -/*************************************************************************/ + super.addNotify(); + } -/** - * Creates the native peer for this object. - */ -public void -addNotify() -{ - MenuPeer peer = (MenuPeer) getPeer(); - if (peer == null) + /** + * Destroys the native peer for this object. + */ + public void removeNotify() + { + Enumeration e = items.elements(); + while (e.hasMoreElements()) { - peer = getToolkit().createMenu(this); - setPeer(peer); + MenuItem mi = (MenuItem) e.nextElement(); + mi.removeNotify(); } - - Enumeration e = items.elements(); - while (e.hasMoreElements()) - { - MenuItem mi = (MenuItem)e.nextElement(); - mi.addNotify(); - peer.addItem(mi); + super.removeNotify(); } - super.addNotify (); -} - -/*************************************************************************/ - -/** - * Destroys the native peer for this object. - */ -public void -removeNotify() -{ - Enumeration e = items.elements(); - while (e.hasMoreElements()) + /** + * Returns a debugging string for this menu. + * + * @return A debugging string for this menu. + */ + public String paramString() { - MenuItem mi = (MenuItem) e.nextElement(); - mi.removeNotify(); + return (",tearOff=" + tearOff + ",isHelpMenu=" + isHelpMenu + + super.paramString()); } - super.removeNotify(); -} - -/*************************************************************************/ - -/** - * Returns a debugging string for this menu. - * - * @return A debugging string for this menu. - */ -public String -paramString() -{ - return (",tearOff=" + tearOff + ",isHelpMenu=" + isHelpMenu - + super.paramString()); -} /** * Basic Accessibility class for Menu. Details get provided in derived diff --git a/libjava/classpath/java/awt/MenuBar.java b/libjava/classpath/java/awt/MenuBar.java index bd658cde6e3..6737d0419f2 100644 --- a/libjava/classpath/java/awt/MenuBar.java +++ b/libjava/classpath/java/awt/MenuBar.java @@ -272,7 +272,7 @@ public class MenuBar extends MenuComponent * * @return a list of all shortcuts for the menus in this menu bar */ - public synchronized Enumeration shortcuts() + public synchronized Enumeration shortcuts() { Vector shortcuts = new Vector(); Enumeration e = menus.elements(); diff --git a/libjava/classpath/java/awt/MenuItem.java b/libjava/classpath/java/awt/MenuItem.java index 7cbc9219f54..b80ee4c1a5e 100644 --- a/libjava/classpath/java/awt/MenuItem.java +++ b/libjava/classpath/java/awt/MenuItem.java @@ -523,11 +523,11 @@ removeActionListener(ActionListener l) * ClassClassException is thrown. * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == ActionListener.class) - return getActionListeners(); - return (EventListener[]) Array.newInstance(listenerType, 0); + return (T[]) getActionListeners(); + return (T[]) Array.newInstance(listenerType, 0); } /*************************************************************************/ diff --git a/libjava/classpath/java/awt/MenuShortcut.java b/libjava/classpath/java/awt/MenuShortcut.java index adfd1d3187a..259cbf1ae98 100644 --- a/libjava/classpath/java/awt/MenuShortcut.java +++ b/libjava/classpath/java/awt/MenuShortcut.java @@ -38,6 +38,8 @@ exception statement from your version. */ package java.awt; +import java.awt.event.KeyEvent; + /** * This class implements a keyboard accelerator for a menu item. * @@ -70,6 +72,8 @@ private int key; */ private boolean usesShift; +private String keyName; + /*************************************************************************/ /** @@ -99,6 +103,7 @@ MenuShortcut(int key, boolean usesShift) { this.key = key; this.usesShift = usesShift; + setKeyName(key); } /*************************************************************************/ @@ -181,7 +186,11 @@ equals(Object obj) public String toString() { - return(getClass().getName() + "[" + paramString () + "]"); + String temp = "Ctrl+"; + if (usesShift) + temp = temp + "Shift+"; + temp = temp + keyName; + return temp; } public int @@ -204,4 +213,224 @@ paramString() return "key=" + key + ",usesShift=" + usesShift; } -} // class MenuShortcut +private void +setKeyName(int key) +{ + if (key == '\n') + keyName = "Enter"; + else if (key == '\b') + keyName = "Backspace"; + else if (key == '\t') + keyName = "Tab"; + else if (key == ' ') + keyName = "Space"; + else if (key == ',') + keyName = "Comma"; + else if (key == '.') + keyName = "Period"; + else if (key == '/') + keyName = "Slash"; + else if (key == '\\') + keyName = "Back Slash"; + else if (key == ';') + keyName = "Semicolon"; + else if (key == '=') + keyName = "Equals"; + else if (key == '[') + keyName = "Open Bracket"; + else if (key == ']') + keyName = "Close Bracket"; + else if (key == '0') + keyName = "0"; + else if (key == '1') + keyName = "1"; + else if (key == '2') + keyName = "2"; + else if (key == '3') + keyName = "3"; + else if (key == '4') + keyName = "4"; + else if (key == '5') + keyName = "5"; + else if (key == '6') + keyName = "6"; + else if (key == '7') + keyName = "7"; + else if (key == '8') + keyName = "8"; + else if (key == '9') + keyName = "9"; + else if (key == 'A') + keyName = "A"; + else if (key == 'B') + keyName = "B"; + else if (key == 'C') + keyName = "C"; + else if (key == 'D') + keyName = "D"; + else if (key == 'E') + keyName = "E"; + else if (key == 'F') + keyName = "F"; + else if (key == 'G') + keyName = "G"; + else if (key == 'H') + keyName = "H"; + else if (key == 'I') + keyName = "I"; + else if (key == 'J') + keyName = "J"; + else if (key == 'K') + keyName = "K"; + else if (key == 'L') + keyName = "L"; + else if (key == 'M') + keyName = "M"; + else if (key == 'N') + keyName = "N"; + else if (key == 'O') + keyName = "O"; + else if (key == 'P') + keyName = "P"; + else if (key == 'Q') + keyName = "Q"; + else if (key == 'R') + keyName = "R"; + else if (key == 'S') + keyName = "S"; + else if (key == 'T') + keyName = "T"; + else if (key == 'U') + keyName = "U"; + else if (key == 'V') + keyName = "V"; + else if (key == 'W') + keyName = "W"; + else if (key == 'X') + keyName = "X"; + else if (key == 'Y') + keyName = "Y"; + else if (key == 'Z') + keyName = "Z"; + else if (key == 3) + keyName = "Cancel"; + else if (key == 12) + keyName = "Clear"; + else if (key == 16) + keyName = "Shift"; + else if (key == 17) + keyName = "Ctrl"; + else if (key == 18) + keyName = "Alt"; + else if (key == 19) + keyName = "Pause"; + else if (key == 20) + keyName = "Caps Lock"; + else if (key == 21) + keyName = "Kana"; + else if (key == 24) + keyName = "Final"; + else if (key == 25) + keyName = "Kanji"; + else if (key == 27) + keyName = "Escape"; + else if (key == 28) + keyName = "Convert"; + else if (key == 29) + keyName = "No Convert"; + else if (key == 30) + keyName = "Accept"; + else if (key == 31) + keyName = "Mode Change"; + else if (key == 33) + keyName = "Page Up"; + else if (key == 34) + keyName = "Page Down"; + else if (key == 35) + keyName = "End"; + else if (key == 36) + keyName = "Home"; + else if (key == 37) + keyName = "Left"; + else if (key == 38) + keyName = "Up"; + else if (key == 39) + keyName = "Right"; + else if (key == 40) + keyName = "Down"; + else if (key == 96) + keyName = "NumPad-0"; + else if (key == 97) + keyName = "NumPad-1"; + else if (key == 98) + keyName = "NumPad-2"; + else if (key == 99) + keyName = "NumPad-3"; + else if (key == 100) + keyName = "NumPad-4"; + else if (key == 101) + keyName = "NumPad-5"; + else if (key == 102) + keyName = "NumPad-6"; + else if (key == 103) + keyName = "NumPad-7"; + else if (key == 104) + keyName = "NumPad-8"; + else if (key == 105) + keyName = "NumPad-9"; + else if (key == 106) + keyName = "NumPad *"; + else if (key == 107) + keyName = "NumPad +"; + else if (key == 108) + keyName = "NumPad ,"; + else if (key == 109) + keyName = "NumPad -"; + else if (key == 110) + keyName = "NumPad ."; + else if (key == 111) + keyName = "NumPad /"; + else if (key == 112) + keyName = "F1"; + else if (key == 113) + keyName = "F2"; + else if (key == 114) + keyName = "F3"; + else if (key == 115) + keyName = "F4"; + else if (key == 116) + keyName = "F5"; + else if (key == 117) + keyName = "F6"; + else if (key == 118) + keyName = "F7"; + else if (key == 119) + keyName = "F8"; + else if (key == 120) + keyName = "F9"; + else if (key == 121) + keyName = "F10"; + else if (key == 122) + keyName = "F11"; + else if (key == 123) + keyName = "F12"; + else if (key == 127) + keyName = "Delete"; + else if (key == 144) + keyName = "Num Lock"; + else if (key == 145) + keyName = "Scroll Lock"; + else if (key == 154) + keyName = "Print Screen"; + else if (key == 155) + keyName = "Insert"; + else if (key == 156) + keyName = "Help"; + else if (key == 157) + keyName = "Meta"; + else if (key == 192) + keyName = "Back Quote"; + else if (key == 222) + keyName = "Quote"; +} +} // class MenuShortcut diff --git a/libjava/classpath/java/awt/Rectangle.java b/libjava/classpath/java/awt/Rectangle.java index c4ba6ba1488..ac2494ee078 100644 --- a/libjava/classpath/java/awt/Rectangle.java +++ b/libjava/classpath/java/awt/Rectangle.java @@ -1,5 +1,5 @@ /* Rectangle.java -- represents a graphics rectangle - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation + Copyright (C) 1999, 2000, 2001, 2002, 2006, Free Software Foundation This file is part of GNU Classpath. @@ -119,7 +119,6 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable * coordinates of the specified rectangle. * * @param r the rectangle to copy from - * @throws NullPointerException if r is null * @since 1.1 */ public Rectangle(Rectangle r) @@ -168,7 +167,6 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable * * @param p the upper left corner of the rectangle * @param d the width and height of the rectangle - * @throws NullPointerException if p or d is null */ public Rectangle(Point p, Dimension d) { @@ -185,7 +183,7 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable * @param p the upper left corner of the rectangle */ public Rectangle(Point p) - { + { x = p.x; y = p.y; } @@ -198,7 +196,7 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable * @param d the width and height of the rectangle */ public Rectangle(Dimension d) - { + { width = d.width; height = d.height; } @@ -299,8 +297,10 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable } /** - * Updates this rectangle to have the specified dimensions, as rounded to - * integers. + * Updates this rectangle to have the specified dimensions, rounded to the + * integer precision used by this class (the values are rounded "outwards" so + * that the stored rectangle completely encloses the specified double + * precision rectangle). * * @param x the new X coordinate of the upper left hand corner * @param y the new Y coordinate of the upper left hand corner @@ -310,10 +310,10 @@ public class Rectangle extends Rectangle2D implements Shape, Serializable */ public void setRect(double x, double y, double width, double height) { - this.x = (int) x; - this.y = (int) y; - this.width = (int) width; - this.height = (int) height; + this.x = (int) Math.floor(x); + this.y = (int) Math.floor(y); + this.width = (int) Math.ceil(x + width) - this.x; + this.height = (int) Math.ceil(y + height) - this.y; } /** diff --git a/libjava/classpath/java/awt/RenderingHints.java b/libjava/classpath/java/awt/RenderingHints.java index 0e1db72b75f..ce327e36947 100644 --- a/libjava/classpath/java/awt/RenderingHints.java +++ b/libjava/classpath/java/awt/RenderingHints.java @@ -54,7 +54,8 @@ import java.util.Set; * @author Rolf W. Rasmussen (rolfwr@ii.uib.no) * @author Eric Blake (ebb9@email.byu.edu) */ -public class RenderingHints implements Map, Cloneable +public class RenderingHints + implements Map, Cloneable { /** * The base class used to represent keys. @@ -550,7 +551,7 @@ public class RenderingHints implements Map, Cloneable * @param init a map containing a collection of hints (null * permitted). */ - public RenderingHints(Map init) + public RenderingHints(Map init) { if (init != null) putAll(init); @@ -704,7 +705,7 @@ public class RenderingHints implements Map, Cloneable * @throws IllegalArgumentException if the map contains a value that is * not compatible with its key. */ - public void putAll(Map m) + public void putAll(Map m) { // preprocess map to generate appropriate exceptions Iterator iterator = m.keySet().iterator(); @@ -723,7 +724,7 @@ public class RenderingHints implements Map, Cloneable * * @return A set of keys. */ - public Set keySet() + public Set keySet() { return hintMap.keySet(); } @@ -735,7 +736,7 @@ public class RenderingHints implements Map, Cloneable * * @return A collection of values. */ - public Collection values() + public Collection values() { return hintMap.values(); } @@ -745,7 +746,7 @@ public class RenderingHints implements Map, Cloneable * * @return A set of entries. */ - public Set entrySet() + public Set> entrySet() { return Collections.unmodifiableSet(hintMap.entrySet()); } diff --git a/libjava/classpath/java/awt/ScrollPane.java b/libjava/classpath/java/awt/ScrollPane.java index 65ce484b88d..ec9746f9339 100644 --- a/libjava/classpath/java/awt/ScrollPane.java +++ b/libjava/classpath/java/awt/ScrollPane.java @@ -338,10 +338,15 @@ getVScrollbarWidth() * Returns the current scroll position of the viewport. * * @return The current scroll position of the viewport. + * + * @throws NullPointerException if the scrollpane does have a child. */ public Point getScrollPosition() { + if (getComponentCount() == 0) + throw new NullPointerException(); + int x = 0; int y = 0; @@ -380,20 +385,35 @@ setScrollPosition(Point scrollPosition) throws IllegalArgumentException * @param x The new X coordinate of the scroll position. * @param y The new Y coordinate of the scroll position. * + * @throws NullPointerException if scrollpane does not have a child. + * * @exception IllegalArgumentException If the specified value is outside * the legal scrolling range. */ public void setScrollPosition(int x, int y) { + if (getComponentCount() == 0) + throw new NullPointerException("child is null"); + + if (x > (int) (getComponent(0).getWidth() - getViewportSize().getWidth())) + x = (int) (getComponent(0).getWidth() - getViewportSize().getWidth()); + if (y > (int) (getComponent(0).getHeight() - getViewportSize().getHeight())) + y = (int) (getComponent(0).getHeight() - getViewportSize().getHeight()); + + if (x < 0) + x = 0; + if (y < 0) + y = 0; + Adjustable h = getHAdjustable(); Adjustable v = getVAdjustable(); - + if (h != null) h.setValue(x); if (v != null) v.setValue(y); - + ScrollPanePeer spp = (ScrollPanePeer)getPeer(); if (spp != null) spp.setScrollPosition(x, y); @@ -414,7 +434,7 @@ addNotify() super.addNotify(); Component[] list = getComponents(); - if (list != null && list.length > 0 && ! (list[0] instanceof Panel)) + if (list != null && list.length > 0 && list[0].isLightweight()) { Panel panel = new Panel(); panel.setLayout(new BorderLayout()); @@ -453,9 +473,7 @@ removeNotify() if ((list != null) && (list.length > 0)) remove(list[0]); - super.addImpl(component, constraints, -1); - - doLayout(); + super.addImpl(component, constraints, index); } /*************************************************************************/ @@ -507,6 +525,8 @@ layout() p.y = dim.height; setScrollPosition (p); + + list[0].setLocation(new Point()); } } @@ -518,11 +538,12 @@ layout() * not have layout managers. * * @param layoutManager Ignored + * @throws AWTError Always throws this error when called. */ public final void setLayout(LayoutManager layoutManager) { - return; + throw new AWTError("ScrollPane controls layout"); } /*************************************************************************/ @@ -553,16 +574,37 @@ paramString() + getX() + "," + getY() + "," + getWidth() + "x" + getHeight() + "," - + "ScrollPosition=(" + scrollPosition.getX() + "," - + scrollPosition.getY() + ")," + + getIsValidString() + "," + + "ScrollPosition=(" + scrollPosition.x + "," + + scrollPosition.y + ")," + "Insets=(" + insets.top + "," + insets.left + "," + insets.bottom + "," + insets.right + ")," - + "ScrollbarDisplayPolicy=" + getScrollbarDisplayPolicy() + "," + + "ScrollbarDisplayPolicy=" + getScrollbarDisplayPolicyString() + "," + "wheelScrollingEnabled=" + isWheelScrollingEnabled(); } +private String +getScrollbarDisplayPolicyString() +{ + if (getScrollbarDisplayPolicy() == 0) + return "as-needed"; + else if (getScrollbarDisplayPolicy() == 1) + return "always"; + else + return "never"; +} + +private String +getIsValidString() +{ + if (isValid()) + return "valid"; + else + return "invalid"; +} + /** * Tells whether or not an event is enabled. * diff --git a/libjava/classpath/java/awt/ScrollPaneAdjustable.java b/libjava/classpath/java/awt/ScrollPaneAdjustable.java index 21b58c36ede..ca61801bf51 100644 --- a/libjava/classpath/java/awt/ScrollPaneAdjustable.java +++ b/libjava/classpath/java/awt/ScrollPaneAdjustable.java @@ -145,14 +145,26 @@ public class ScrollPaneAdjustable this.blockIncrement = blockIncrement; } - public void setMaximum (int maximum) + /** + * This method should never be called. + * + * @param maximum The maximum value to be set. + * @throws AWTError Always throws this error when called. + */ + public void setMaximum (int maximum) throws AWTError { - this.maximum = maximum; + throw new AWTError("Can be set by scrollpane only"); } + /** + * This method should never be called. + * + * @param minimum The minimum value to be set. + * @throws AWTError Always throws this error when called. + */ public void setMinimum (int minimum) { - this.minimum = minimum; + throw new AWTError("Can be set by scrollpane only"); } public void setUnitIncrement (int unitIncrement) @@ -171,20 +183,36 @@ public class ScrollPaneAdjustable maximum = value; } + /** + * This method should never be called. + * + * @param visibleAmount The visible amount to be set. + * @throws AWTError Always throws this error when called. + */ public void setVisibleAmount (int visibleAmount) { - this.visibleAmount = visibleAmount; + throw new AWTError("Can be set by scrollpane only"); } public String paramString () { - return ("scrollpane=" + sp + ", orientation=" + orientation - + ", value=" + value + ", minimum=" + minimum - + ", maximum=" + maximum + ", visibleAmount=" + visibleAmount - + ", unitIncrement=" + unitIncrement - + ", blockIncrement=" + blockIncrement); + return paramStringHelper() + + ",[" + getMinimum() + ".." + getMaximum() + + "],val=" + getValue() + + ",vis=" + getVisibleAmount() + + ",unit=" + getUnitIncrement() + + ",block=" + getBlockIncrement() + + ",isAdjusting=" + valueIsAdjusting; } + private String paramStringHelper() + { + if (getOrientation() == HORIZONTAL) + return "horizontal"; + else + return "vertical"; + } + public String toString() { return getClass().getName() + "[" + paramString() + "]"; @@ -209,5 +237,6 @@ public class ScrollPaneAdjustable { this.valueIsAdjusting = valueIsAdjusting; } + } // class ScrollPaneAdjustable diff --git a/libjava/classpath/java/awt/Scrollbar.java b/libjava/classpath/java/awt/Scrollbar.java index c0788370b21..0cba512f605 100644 --- a/libjava/classpath/java/awt/Scrollbar.java +++ b/libjava/classpath/java/awt/Scrollbar.java @@ -341,17 +341,22 @@ public class Scrollbar extends Component implements Accessible, Adjustable public synchronized void setValues(int value, int visibleAmount, int minimum, int maximum) { - if (maximum < minimum) - maximum = minimum; + if (visibleAmount <= 0) + visibleAmount = 1; + + if (maximum <= minimum) + maximum = minimum + 1; if (value < minimum) value = minimum; - if (value > maximum) - value = maximum; - if (visibleAmount > maximum - minimum) visibleAmount = maximum - minimum; + + // According to documentation, the actual maximum + // value is (maximum - visibleAmount) + if (value > maximum - visibleAmount) + value = maximum - visibleAmount; ScrollbarPeer peer = (ScrollbarPeer) getPeer(); if (peer != null @@ -362,30 +367,7 @@ public class Scrollbar extends Component implements Accessible, Adjustable this.value = value; this.visibleAmount = visibleAmount; this.minimum = minimum; - this.maximum = maximum; - - int range = maximum - minimum; - if (lineIncrement > range) - { - if (range == 0) - lineIncrement = 1; - else - lineIncrement = range; - - if (peer != null) - peer.setLineIncrement(lineIncrement); - } - - if (pageIncrement > range) - { - if (range == 0) - pageIncrement = 1; - else - pageIncrement = range; - - if (peer != null) - peer.setPageIncrement(pageIncrement); - } + this.maximum = maximum; } /** @@ -437,19 +419,13 @@ public class Scrollbar extends Component implements Accessible, Adjustable { if (lineIncrement < 0) throw new IllegalArgumentException("Unit increment less than zero."); - - int range = maximum - minimum; - if (lineIncrement > range) - { - if (range == 0) - lineIncrement = 1; - else - lineIncrement = range; - } - - if (lineIncrement == this.lineIncrement) + + if (lineIncrement == 0) + lineIncrement = 1; + + if (lineIncrement == this.lineIncrement) return; - + this.lineIncrement = lineIncrement; ScrollbarPeer peer = (ScrollbarPeer) getPeer(); @@ -507,15 +483,9 @@ public class Scrollbar extends Component implements Accessible, Adjustable if (pageIncrement < 0) throw new IllegalArgumentException("Block increment less than zero."); - int range = maximum - minimum; - if (pageIncrement > range) - { - if (range == 0) - pageIncrement = 1; - else - pageIncrement = range; - } - + if (pageIncrement == 0) + pageIncrement = 1; + if (pageIncrement == this.pageIncrement) return; @@ -647,7 +617,7 @@ public class Scrollbar extends Component implements Accessible, Adjustable * @exception ClassCastException If listenerType doesn't specify a class or * interface that implements java.util.EventListener. */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == AdjustmentListener.class) return AWTEventMulticaster.getListeners(adjustment_listeners, diff --git a/libjava/classpath/java/awt/TextArea.java b/libjava/classpath/java/awt/TextArea.java index 7e3463ab849..30b278d0c29 100644 --- a/libjava/classpath/java/awt/TextArea.java +++ b/libjava/classpath/java/awt/TextArea.java @@ -284,11 +284,7 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the minimum size for this text area, considering the - * text area's current row and column values. A text area's minimum - * size depends on the number of rows and columns of text it would - * prefer to display, and on the size of the font in which the text - * would be displayed. + * Retrieve the minimum size for this text area. * * @return The minimum size for this text field. */ @@ -298,11 +294,8 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the minimum size that this text area would have if its - * row and column values were equal to those specified. A text - * area's minimum size depends on the number of rows and columns of - * text it would prefer to display, and on the size of the font in - * which the text would be displayed. + * Retrieve the minimum size for this text area. If the minimum + * size has been set, then rows and columns are used in the calculation. * * @param rows The number of rows to use in the minimum size * calculation. @@ -317,12 +310,8 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the minimum size for this text area, considering the - * text area's current row and column values. A text area's minimum - * size depends on the number of rows and columns of text it would - * prefer to display, and on the size of the font in which the text - * would be displayed. - * + * Retrieve the minimum size for this text area. + * * @return The minimum size for this text area. * * @deprecated This method is deprecated in favor of @@ -334,11 +323,8 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the minimum size that this text area would have if its - * row and column values were equal to those specified. A text - * area's minimum size depends on the number of rows and columns of - * text it would prefer to display, and on the size of the font in - * which the text would be displayed. + * Retrieve the minimum size for this text area. If the minimum + * size has been set, then rows and columns are used in the calculation. * * @param rows The number of rows to use in the minimum size * calculation. @@ -352,21 +338,18 @@ public class TextArea extends TextComponent implements java.io.Serializable */ public Dimension minimumSize (int rows, int columns) { + if (isMinimumSizeSet()) + return new Dimension(minSize); + TextAreaPeer peer = (TextAreaPeer) getPeer (); - - // Sun returns Dimension (0,0) in this case. if (peer == null) - return new Dimension (0, 0); + return new Dimension (getWidth(), getHeight()); return peer.getMinimumSize (rows, columns); } /** - * Retrieve the preferred size for this text area, considering the - * text area's current row and column values. A text area's preferred - * size depends on the number of rows and columns of text it would - * prefer to display, and on the size of the font in which the text - * would be displayed. + * Retrieve the preferred size for this text area. * * @return The preferred size for this text field. */ @@ -376,11 +359,8 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the preferred size that this text area would have if its - * row and column values were equal to those specified. A text - * area's preferred size depends on the number of rows and columns - * of text it would prefer to display, and on the size of the font - * in which the text would be displayed. + * Retrieve the preferred size for this text area. If the preferred + * size has been set, then rows and columns are used in the calculation. * * @param rows The number of rows to use in the preferred size * calculation. @@ -395,11 +375,7 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the preferred size for this text area, considering the - * text area's current row and column values. A text area's preferred - * size depends on the number of rows and columns of text it would - * prefer to display, and on the size of the font in which the text - * would be displayed. + * Retrieve the preferred size for this text area. * * @return The preferred size for this text field. * @@ -412,11 +388,8 @@ public class TextArea extends TextComponent implements java.io.Serializable } /** - * Retrieve the preferred size that this text area would have if its - * row and column values were equal to those specified. A text - * area's preferred size depends on the number of rows and columns - * of text it would prefer to display, and on the size of the font - * in which the text would be displayed. + * Retrieve the preferred size for this text area. If the preferred + * size has been set, then rows and columns are used in the calculation. * * @param rows The number of rows to use in the preferred size * calculation. @@ -430,11 +403,12 @@ public class TextArea extends TextComponent implements java.io.Serializable */ public Dimension preferredSize (int rows, int columns) { + if (isPreferredSizeSet()) + return new Dimension(prefSize); + TextAreaPeer peer = (TextAreaPeer) getPeer (); - - // Sun returns Dimension (0,0) in this case. if (peer == null) - return new Dimension (0, 0); + return new Dimension (getWidth(), getHeight()); return peer.getPreferredSize (rows, columns); } diff --git a/libjava/classpath/java/awt/TextComponent.java b/libjava/classpath/java/awt/TextComponent.java index f811122f2b2..8fdd94139fc 100644 --- a/libjava/classpath/java/awt/TextComponent.java +++ b/libjava/classpath/java/awt/TextComponent.java @@ -391,7 +391,9 @@ public class TextComponent extends Component */ public synchronized void setSelectionStart(int selectionStart) { - select(selectionStart, getSelectionEnd()); + select(selectionStart, + (getSelectionEnd() < selectionStart) + ? selectionStart : getSelectionEnd()); } /** @@ -610,7 +612,7 @@ public class TextComponent extends Component * @exception ClassCastException If listenerType doesn't specify a class or * interface that implements java.util.EventListener. */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == TextListener.class) return AWTEventMulticaster.getListeners(textListener, listenerType); diff --git a/libjava/classpath/java/awt/TextField.java b/libjava/classpath/java/awt/TextField.java index b76f393a0b6..b1df66f7cdc 100644 --- a/libjava/classpath/java/awt/TextField.java +++ b/libjava/classpath/java/awt/TextField.java @@ -264,9 +264,12 @@ public class TextField extends TextComponent */ public Dimension minimumSize(int columns) { + if (isMinimumSizeSet()) + return new Dimension(minSize); + TextFieldPeer peer = (TextFieldPeer) getPeer (); if (peer == null) - return null; // FIXME: What do we do if there is no peer? + return new Dimension(getWidth(), getHeight()); return peer.getMinimumSize (columns); } @@ -316,10 +319,13 @@ public class TextField extends TextComponent */ public Dimension preferredSize(int columns) { + if (isPreferredSizeSet()) + return new Dimension(prefSize); + TextFieldPeer peer = (TextFieldPeer) getPeer (); if (peer == null) - return new Dimension (0, 0); - + return new Dimension (getWidth(), getHeight()); + return peer.getPreferredSize (columns); } @@ -422,7 +428,7 @@ public class TextField extends TextComponent * * @since 1.3 */ - public EventListener[] getListeners (Class listenerType) + public T[] getListeners (Class listenerType) { if (listenerType == ActionListener.class) return AWTEventMulticaster.getListeners (action_listeners, listenerType); diff --git a/libjava/classpath/java/awt/Toolkit.java b/libjava/classpath/java/awt/Toolkit.java index 2842091c139..69040722e72 100644 --- a/libjava/classpath/java/awt/Toolkit.java +++ b/libjava/classpath/java/awt/Toolkit.java @@ -41,6 +41,7 @@ package java.awt; import gnu.classpath.SystemProperties; import gnu.java.awt.peer.GLightweightPeer; +import gnu.java.awt.peer.headless.HeadlessToolkit; import java.awt.datatransfer.Clipboard; import java.awt.dnd.DragGestureEvent; @@ -51,6 +52,7 @@ import java.awt.dnd.peer.DragSourceContextPeer; import java.awt.event.AWTEventListener; import java.awt.event.AWTEventListenerProxy; import java.awt.event.KeyEvent; +import java.awt.font.TextAttribute; import java.awt.im.InputMethodHighlight; import java.awt.image.ColorModel; import java.awt.image.ImageObserver; @@ -86,6 +88,7 @@ import java.net.URL; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; +import java.util.Hashtable; import java.util.Map; import java.util.Properties; import java.util.StringTokenizer; @@ -119,7 +122,8 @@ public abstract class Toolkit /** The toolkit properties. */ private static Properties props = new Properties(); - protected final Map desktopProperties = new Properties(); + protected final Map desktopProperties = + new Hashtable(); protected final PropertyChangeSupport desktopPropsSupport = new PropertyChangeSupport(this); @@ -130,6 +134,11 @@ public abstract class Toolkit */ AWTEventListenerProxy[] awtEventListeners; + /** + * The shared peer for all lightweight components. + */ + private GLightweightPeer lightweightPeer; + /** * Default constructor for subclasses. */ @@ -379,7 +388,9 @@ public abstract class Toolkit */ protected LightweightPeer createComponent(Component target) { - return new GLightweightPeer(target); + if (lightweightPeer == null) + lightweightPeer = new GLightweightPeer(); + return lightweightPeer; } /** @@ -540,10 +551,11 @@ public abstract class Toolkit * * @throws AWTError If the toolkit cannot be loaded. */ - public static Toolkit getDefaultToolkit() + public static synchronized Toolkit getDefaultToolkit() { if (toolkit != null) return toolkit; + String toolkit_name = SystemProperties.getProperty("awt.toolkit", default_toolkit_name); try @@ -573,8 +585,18 @@ public abstract class Toolkit } catch (Throwable t) { - AWTError e = new AWTError("Cannot load AWT toolkit: " + toolkit_name); - throw (AWTError) e.initCause(t); + // Check for the headless property. + if (GraphicsEnvironment.isHeadless()) + { + toolkit = new HeadlessToolkit(); + return toolkit; + } + else + { + AWTError e = new AWTError("Cannot load AWT toolkit: " + + toolkit_name); + throw (AWTError) e.initCause(t); + } } } @@ -964,8 +986,8 @@ public abstract class Toolkit /** * @since 1.3 */ - public DragGestureRecognizer - createDragGestureRecognizer(Class recognizer, DragSource ds, + public T + createDragGestureRecognizer(Class recognizer, DragSource ds, Component comp, int actions, DragGestureListener l) { @@ -1252,7 +1274,8 @@ public abstract class Toolkit /** * @since 1.3 */ - public abstract Map mapInputMethodHighlight(InputMethodHighlight highlight); + public abstract Map + mapInputMethodHighlight(InputMethodHighlight highlight); /** * Initializes the accessibility framework. In particular, this loads the diff --git a/libjava/classpath/java/awt/Window.java b/libjava/classpath/java/awt/Window.java index 8885821811d..41dff5577e0 100644 --- a/libjava/classpath/java/awt/Window.java +++ b/libjava/classpath/java/awt/Window.java @@ -1,5 +1,5 @@ /* Window.java -- - Copyright (C) 1999, 2000, 2002, 2003, 2004, 2006 Free Software Foundation + Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005 Free Software Foundation This file is part of GNU Classpath. @@ -140,7 +140,7 @@ public class Window extends Container implements Accessible this(); graphicsConfiguration = gc; } - + /** * Initializes a new instance of Window with the specified * parent. The window will initially be invisible. @@ -250,13 +250,13 @@ public class Window extends Container implements Accessible /** * Shows on-screen this window and any of its owned windows for whom * isVisible returns true. + * @specnote: Deprecated starting in 1.5. */ + @Deprecated public void show() { synchronized (getTreeLock()) { - if (parent != null && ! parent.isDisplayable()) - parent.addNotify(); if (peer == null) addNotify(); @@ -298,11 +298,24 @@ public class Window extends Container implements Accessible if (initialFocusOwner != null) initialFocusOwner.requestFocusInWindow(); + // Post WINDOW_OPENED from here. + if (windowListener != null + || (eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0) + { + WindowEvent ev = new WindowEvent(this, + WindowEvent.WINDOW_OPENED); + Toolkit tk = Toolkit.getDefaultToolkit(); + tk.getSystemEventQueue().postEvent(ev); + } shown = true; } } } + /** + * @specnote: Deprecated starting in 1.5. + */ + @Deprecated public void hide() { // Hide visible owned windows. @@ -349,9 +362,15 @@ public class Window extends Container implements Accessible component[i].removeNotify(); this.removeNotify(); - // Post a WINDOW_CLOSED event. - WindowEvent we = new WindowEvent(this, WindowEvent.WINDOW_CLOSED); - getToolkit().getSystemEventQueue().postEvent(we); + // Post WINDOW_CLOSED from here. + if (windowListener != null + || (eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0) + { + WindowEvent ev = new WindowEvent(this, + WindowEvent.WINDOW_CLOSED); + Toolkit tk = Toolkit.getDefaultToolkit(); + tk.getSystemEventQueue().postEvent(ev); + } } } @@ -479,7 +498,11 @@ public class Window extends Container implements Accessible */ public synchronized void addWindowListener(WindowListener listener) { - windowListener = AWTEventMulticaster.add(windowListener, listener); + if (listener != null) + { + newEventsOnly = true; + windowListener = AWTEventMulticaster.add(windowListener, listener); + } } /** @@ -536,7 +559,12 @@ public class Window extends Container implements Accessible */ public void addWindowFocusListener (WindowFocusListener wfl) { - windowFocusListener = AWTEventMulticaster.add (windowFocusListener, wfl); + if (wfl != null) + { + newEventsOnly = true; + windowFocusListener = AWTEventMulticaster.add (windowFocusListener, + wfl); + } } /** @@ -546,7 +574,12 @@ public class Window extends Container implements Accessible */ public void addWindowStateListener (WindowStateListener wsl) { - windowStateListener = AWTEventMulticaster.add (windowStateListener, wsl); + if (wsl != null) + { + newEventsOnly = true; + windowStateListener = AWTEventMulticaster.add (windowStateListener, + wsl); + } } /** @@ -577,42 +610,21 @@ public class Window extends Container implements Accessible * * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == WindowListener.class) - return getWindowListeners(); + return (T[]) getWindowListeners(); return super.getListeners(listenerType); } void dispatchEventImpl(AWTEvent e) { - // Make use of event id's in order to avoid multiple instanceof tests. - if (e.id <= WindowEvent.WINDOW_LAST - && e.id >= WindowEvent.WINDOW_FIRST - && (windowListener != null - || windowFocusListener != null - || windowStateListener != null - || (eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0)) - processEvent(e); - else + if (e.getID() == ComponentEvent.COMPONENT_RESIZED) { - if (peer != null && (e.id == ComponentEvent.COMPONENT_RESIZED - || e.id == ComponentEvent.COMPONENT_MOVED)) - { - Rectangle bounds = peer.getBounds(); - x = bounds.x; - y = bounds.y; - height = bounds.height; - width = bounds.width; - - if (e.id == ComponentEvent.COMPONENT_RESIZED) - { - invalidate(); - validate(); - } - } - super.dispatchEventImpl(e); + invalidate(); + validate(); } + super.dispatchEventImpl(e); } /** @@ -626,7 +638,28 @@ public class Window extends Container implements Accessible protected void processEvent(AWTEvent evt) { if (evt instanceof WindowEvent) - processWindowEvent((WindowEvent) evt); + { + WindowEvent we = (WindowEvent) evt; + switch (evt.getID()) + { + case WindowEvent.WINDOW_OPENED: + case WindowEvent.WINDOW_CLOSED: + case WindowEvent.WINDOW_CLOSING: + case WindowEvent.WINDOW_ICONIFIED: + case WindowEvent.WINDOW_DEICONIFIED: + case WindowEvent.WINDOW_ACTIVATED: + case WindowEvent.WINDOW_DEACTIVATED: + processWindowEvent(we); + break; + case WindowEvent.WINDOW_GAINED_FOCUS: + case WindowEvent.WINDOW_LOST_FOCUS: + processWindowFocusEvent(we); + break; + case WindowEvent.WINDOW_STATE_CHANGED: + processWindowStateEvent(we); + break; + } + } else super.processEvent(evt); } @@ -641,54 +674,35 @@ public class Window extends Container implements Accessible */ protected void processWindowEvent(WindowEvent evt) { - int id = evt.getID(); - - if (id == WindowEvent.WINDOW_GAINED_FOCUS - || id == WindowEvent.WINDOW_LOST_FOCUS) - processWindowFocusEvent (evt); - else if (id == WindowEvent.WINDOW_STATE_CHANGED) - processWindowStateEvent (evt); - else + if (windowListener != null) { - if (windowListener != null) - { - switch (evt.getID()) - { - case WindowEvent.WINDOW_ACTIVATED: - windowListener.windowActivated(evt); - break; - - case WindowEvent.WINDOW_CLOSED: - windowListener.windowClosed(evt); - break; - - case WindowEvent.WINDOW_CLOSING: - windowListener.windowClosing(evt); - break; - - case WindowEvent.WINDOW_DEACTIVATED: - windowListener.windowDeactivated(evt); - break; - - case WindowEvent.WINDOW_DEICONIFIED: - windowListener.windowDeiconified(evt); - break; - - case WindowEvent.WINDOW_ICONIFIED: - windowListener.windowIconified(evt); - break; - - case WindowEvent.WINDOW_OPENED: - windowListener.windowOpened(evt); - break; - - default: - break; - } - } + switch (evt.getID()) + { + case WindowEvent.WINDOW_ACTIVATED: + windowListener.windowActivated(evt); + break; + case WindowEvent.WINDOW_CLOSED: + windowListener.windowClosed(evt); + break; + case WindowEvent.WINDOW_CLOSING: + windowListener.windowClosing(evt); + break; + case WindowEvent.WINDOW_DEACTIVATED: + windowListener.windowDeactivated(evt); + break; + case WindowEvent.WINDOW_DEICONIFIED: + windowListener.windowDeiconified(evt); + break; + case WindowEvent.WINDOW_ICONIFIED: + windowListener.windowIconified(evt); + break; + case WindowEvent.WINDOW_OPENED: + windowListener.windowOpened(evt); + break; + } } } - + /** * Identifies if this window is active. The active window is a Frame or * Dialog that has focus or owns the active window. @@ -1233,6 +1247,42 @@ public class Window extends Container implements Accessible return "win" + getUniqueLong(); } + /** + * Overridden to handle WindowEvents. + * + * @return true when the specified event type is enabled, + * false otherwise + */ + boolean eventTypeEnabled(int type) + { + boolean enabled = false; + switch (type) + { + case WindowEvent.WINDOW_OPENED: + case WindowEvent.WINDOW_CLOSED: + case WindowEvent.WINDOW_CLOSING: + case WindowEvent.WINDOW_ICONIFIED: + case WindowEvent.WINDOW_DEICONIFIED: + case WindowEvent.WINDOW_ACTIVATED: + case WindowEvent.WINDOW_DEACTIVATED: + enabled = ((eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0) + || windowListener != null; + break; + case WindowEvent.WINDOW_GAINED_FOCUS: + case WindowEvent.WINDOW_LOST_FOCUS: + enabled = ((eventMask & AWTEvent.WINDOW_FOCUS_EVENT_MASK) != 0) + || windowFocusListener != null; + break; + case WindowEvent.WINDOW_STATE_CHANGED: + enabled = ((eventMask & AWTEvent.WINDOW_STATE_EVENT_MASK) != 0) + || windowStateListener != null; + break; + default: + enabled = super.eventTypeEnabled(type); + } + return enabled; + } + private static synchronized long getUniqueLong() { return next_window_number++; diff --git a/libjava/classpath/java/awt/datatransfer/DataFlavor.java b/libjava/classpath/java/awt/datatransfer/DataFlavor.java index 0228cd5786d..baaf43d85bc 100644 --- a/libjava/classpath/java/awt/datatransfer/DataFlavor.java +++ b/libjava/classpath/java/awt/datatransfer/DataFlavor.java @@ -38,14 +38,13 @@ exception statement from your version. */ package java.awt.datatransfer; -import gnu.classpath.NotImplementedException; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInput; import java.io.ObjectOutput; +import java.io.OptionalDataException; import java.io.Reader; import java.io.Serializable; import java.io.StringReader; @@ -76,8 +75,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * deals with bytes not chars. Use getRederForText(). */ public static final DataFlavor plainTextFlavor = - new DataFlavor(java.io.InputStream.class, - "text/plain; charset=unicode", + new DataFlavor("text/plain; charset=unicode; class=java.io.InputStream", "plain unicode text"); /** @@ -94,8 +92,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * element of the list being a java.io.File. */ public static final DataFlavor javaFileListFlavor = - new DataFlavor(java.util.List.class, - "application/x-java-file-list; class=java.util.List", + new DataFlavor("application/x-java-file-list; class=java.util.List", "Java File List"); /** @@ -132,10 +129,10 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ // The MIME type for this flavor - private final String mimeType; + private MimeType mimeType; // The representation class for this flavor - private final Class representationClass; + private Class representationClass; // The human readable name of this flavor private String humanPresentableName; @@ -156,8 +153,8 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * * @exception ClassNotFoundException If the class cannot be loaded. */ - protected static final Class tryToLoadClass(String className, - ClassLoader classLoader) + protected static final Class tryToLoadClass(String className, + ClassLoader classLoader) throws ClassNotFoundException { // Bootstrap @@ -198,62 +195,6 @@ public class DataFlavor implements java.io.Externalizable, Cloneable throw new ClassNotFoundException(className); } - private static Class getRepresentationClassFromMimeThrows(String mimeString, - ClassLoader classLoader) - throws ClassNotFoundException - { - String classname = getParameter("class", mimeString); - if (classname != null) - return tryToLoadClass(classname, classLoader); - else - return java.io.InputStream.class; - } - - // Same as above, but wraps any ClassNotFoundExceptions - private static Class getRepresentationClassFromMime(String mimeString, - ClassLoader classLoader) - { - try - { - return getRepresentationClassFromMimeThrows(mimeString, classLoader); - } - catch(ClassNotFoundException cnfe) - { - IllegalArgumentException iae; - iae = new IllegalArgumentException("mimeString: " - + mimeString - + " classLoader: " - + classLoader); - iae.initCause(cnfe); - throw iae; - } - } - - /** - * Returns the value of the named MIME type parameter, or null - * if the parameter does not exist. Given the parameter name and the mime - * string. - * - * @param paramName The name of the parameter. - * @param mimeString The mime string from where the name should be found. - * - * @return The value of the parameter or null. - */ - private static String getParameter(String paramName, String mimeString) - { - int idx = mimeString.indexOf(paramName + "="); - if (idx == -1) - return(null); - - String value = mimeString.substring(idx + paramName.length() + 1); - - idx = value.indexOf(";"); - if (idx == -1) - return(value); - else - return(value.substring(0, idx)); - } - /** * XXX - Currently returns plainTextFlavor. */ @@ -321,32 +262,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public DataFlavor() { - mimeType = null; - representationClass = null; - humanPresentableName = null; - } - - /** - * Private constructor. - */ - private DataFlavor(Class representationClass, - String mimeType, - String humanPresentableName) - { - this.representationClass = representationClass; - this.mimeType = mimeType; - - // Do some simple validity checks - String type = getPrimaryType() + "/" + getSubType(); - if (type.indexOf(' ') != -1 - || type.indexOf('=') != -1 - || type.indexOf(';') != -1) - throw new IllegalArgumentException(mimeType); - - if (humanPresentableName != null) - this.humanPresentableName = humanPresentableName; - else - this.humanPresentableName = mimeType; + // Used for deserialization only, nothing to do here. } /** @@ -359,13 +275,23 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * @param representationClass The representation class for this object. * @param humanPresentableName The display name of the object. */ - public DataFlavor(Class representationClass, String humanPresentableName) + public DataFlavor(Class representationClass, String humanPresentableName) { - this(representationClass, - "application/x-java-serialized-object" - + "; class=" - + representationClass.getName(), - humanPresentableName); + if (representationClass == null) + throw new NullPointerException("representationClass must not be null"); + try + { + mimeType = new MimeType(javaSerializedObjectMimeType); + } + catch (MimeTypeParseException ex) + { + // Must not happen as we use a constant string. + assert false; + } + if (humanPresentableName == null) + humanPresentableName = javaSerializedObjectMimeType; + this.humanPresentableName = humanPresentableName; + this.representationClass = representationClass; } /** @@ -390,8 +316,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable ClassLoader classLoader) throws ClassNotFoundException { - this(getRepresentationClassFromMimeThrows(mimeType, classLoader), - mimeType, humanPresentableName); + init(mimeType, humanPresentableName, classLoader); } /** @@ -412,8 +337,17 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public DataFlavor(String mimeType, String humanPresentableName) { - this(getRepresentationClassFromMime (mimeType, null), - mimeType, humanPresentableName); + try + { + init(mimeType, humanPresentableName, getClass().getClassLoader()); + } + catch (ClassNotFoundException ex) + { + IllegalArgumentException iae = + new IllegalArgumentException("Class not found: " + ex.getMessage()); + iae.initCause(ex); + throw iae; + } } /** @@ -432,8 +366,54 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public DataFlavor(String mimeType) throws ClassNotFoundException { - this(getRepresentationClassFromMimeThrows(mimeType, null), - mimeType, null); + init(mimeType, null, getClass().getClassLoader()); + } + + /** + * Called by various constructors to initialize this object. + * + * @param mime the mime string + * @param humanPresentableName the human presentable name + * @param loader the class loader to use for loading the representation + * class + */ + private void init(String mime, String humanPresentableName, + ClassLoader loader) + throws ClassNotFoundException + { + if (mime == null) + throw new NullPointerException("The mime type must not be null"); + try + { + mimeType = new MimeType(mime); + } + catch (MimeTypeParseException ex) + { + IllegalArgumentException iae = + new IllegalArgumentException("Invalid mime type"); + iae.initCause(ex); + throw iae; + } + String className = mimeType.getParameter("class"); + if (className == null) + { + if (mimeType.getBaseType().equals(javaSerializedObjectMimeType)) + throw new IllegalArgumentException("Serialized object type must have" + + " a representation class parameter"); + else + representationClass = java.io.InputStream.class; + } + else + representationClass = tryToLoadClass(className, loader); + mimeType.addParameter("class", representationClass.getName()); + + if (humanPresentableName == null) + { + humanPresentableName = mimeType.getParameter("humanPresentableName"); + if (humanPresentableName == null) + humanPresentableName = mimeType.getBaseType(); + } + this.humanPresentableName = humanPresentableName; } /** @@ -443,7 +423,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public String getMimeType() { - return(mimeType); + return(mimeType.toString()); } /** @@ -451,7 +431,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * * @return The representation class for this flavor. */ - public Class getRepresentationClass() + public Class getRepresentationClass() { return(representationClass); } @@ -473,11 +453,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public String getPrimaryType() { - int idx = mimeType.indexOf("/"); - if (idx == -1) - return(mimeType); - - return(mimeType.substring(0, idx)); + return(mimeType.getPrimaryType()); } /** @@ -487,15 +463,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public String getSubType() { - int start = mimeType.indexOf("/"); - if (start == -1) - return ""; - - int end = mimeType.indexOf(";", start + 1); - if (end == -1) - return mimeType.substring(start + 1); - else - return mimeType.substring(start + 1, end); + return mimeType.getSubType(); } /** @@ -511,7 +479,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable if ("humanPresentableName".equals(paramName)) return getHumanPresentableName(); - return getParameter(paramName, mimeType); + return mimeType.getParameter(paramName); } /** @@ -537,16 +505,22 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public boolean isMimeTypeEqual(String mimeType) { - String mime = getMimeType(); - int i = mime.indexOf(";"); - if (i != -1) - mime = mime.substring(0, i); - - i = mimeType.indexOf(";"); - if (i != -1) - mimeType = mimeType.substring(0, i); - - return mime.equals(mimeType); + if (mimeType == null) + throw new NullPointerException("mimeType must not be null"); + boolean equal = false; + try + { + if (this.mimeType != null) + { + MimeType other = new MimeType(mimeType); + equal = this.mimeType.matches(other); + } + } + catch (MimeTypeParseException ex) + { + // Return false in this case. + } + return equal; } /** @@ -571,7 +545,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public boolean isMimeTypeSerializedObject() { - return mimeType.startsWith(javaSerializedObjectMimeType); + return isMimeTypeEqual(javaSerializedObjectMimeType); } /** @@ -617,8 +591,8 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public boolean isFlavorSerializedObjectType() { - // FIXME: What is the diff between this and isMimeTypeSerializedObject? - return(mimeType.startsWith(javaSerializedObjectMimeType)); + return isRepresentationClassSerializable() + && isMimeTypeEqual(javaSerializedObjectMimeType); } /** @@ -629,7 +603,9 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public boolean isFlavorRemoteObjectType() { - return(mimeType.startsWith(javaRemoteObjectMimeType)); + return isRepresentationClassRemote() + && isRepresentationClassSerializable() + && isMimeTypeEqual(javaRemoteObjectMimeType); } /** @@ -770,7 +746,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable */ public int hashCode() { - return mimeType.toLowerCase().hashCode() ^ representationClass.hashCode(); + return mimeType.toString().hashCode() ^ representationClass.hashCode(); } /** @@ -822,9 +798,17 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * @exception IOException If an error occurs. */ public void writeExternal(ObjectOutput stream) - throws IOException, NotImplementedException + throws IOException { - // FIXME: Implement me + if (mimeType != null) + { + mimeType.addParameter("humanPresentableName", humanPresentableName); + stream.writeObject(mimeType); + mimeType.removeParameter("humanPresentableName"); + } + else + stream.writeObject(null); + stream.writeObject(representationClass); } @@ -838,9 +822,34 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * cannot be found. */ public void readExternal(ObjectInput stream) - throws IOException, ClassNotFoundException, NotImplementedException + throws IOException, ClassNotFoundException { - // FIXME: Implement me + mimeType = (MimeType) stream.readObject(); + String className = null; + if (mimeType != null) + { + humanPresentableName = + mimeType.getParameter("humanPresentableName"); + mimeType.removeParameter("humanPresentableName"); + className = mimeType.getParameter("class"); + if (className == null) + throw new IOException("No class in mime type"); + } + try + { + representationClass = (Class) stream.readObject(); + } + catch (OptionalDataException ex) + { + if (ex.eof && ex.length == 0) + { + if (className != null) + representationClass = tryToLoadClass(className, + getClass().getClassLoader()); + } + else + throw ex; + } } /** @@ -861,7 +870,7 @@ public class DataFlavor implements java.io.Externalizable, Cloneable * * @since 1.3 */ - public final Class getDefaultRepresentationClass() + public final Class getDefaultRepresentationClass() { return java.io.InputStream.class; } diff --git a/libjava/classpath/java/awt/datatransfer/FlavorMap.java b/libjava/classpath/java/awt/datatransfer/FlavorMap.java index 59718c4513c..8842c8e55e3 100644 --- a/libjava/classpath/java/awt/datatransfer/FlavorMap.java +++ b/libjava/classpath/java/awt/datatransfer/FlavorMap.java @@ -58,7 +58,7 @@ public interface FlavorMap * * @return A Map of native data types. */ - Map getNativesForFlavors (DataFlavor[] flavors); + Map getNativesForFlavors (DataFlavor[] flavors); /** * Maps the specified native type names to DataFlavor's. @@ -71,5 +71,5 @@ public interface FlavorMap * * @return A Map of data flavors. */ - Map getFlavorsForNatives (String[] natives); + Map getFlavorsForNatives (String[] natives); } diff --git a/libjava/classpath/java/awt/datatransfer/FlavorTable.java b/libjava/classpath/java/awt/datatransfer/FlavorTable.java index 11cdda06ca7..f6c43af8374 100644 --- a/libjava/classpath/java/awt/datatransfer/FlavorTable.java +++ b/libjava/classpath/java/awt/datatransfer/FlavorTable.java @@ -59,7 +59,7 @@ public interface FlavorTable extends FlavorMap * @param flavor the flavor to look up, or null to return all natives * @return the sorted list of natives */ - List getNativesForFlavor(DataFlavor flavor); + List getNativesForFlavor(DataFlavor flavor); /** * Returns a list of flavors corresponding to the given String native. The @@ -69,5 +69,5 @@ public interface FlavorTable extends FlavorMap * @param name the native name to look up, or null to return all flavors * @return the sorted list of flavors */ - List getFlavorsForNative(String name); + List getFlavorsForNative(String name); } diff --git a/libjava/classpath/java/awt/datatransfer/MimeType.java b/libjava/classpath/java/awt/datatransfer/MimeType.java new file mode 100644 index 00000000000..438d78e9e73 --- /dev/null +++ b/libjava/classpath/java/awt/datatransfer/MimeType.java @@ -0,0 +1,281 @@ +/* MimeType.java -- A helper class for mime handling in DataFlavor + Copyright (C) 2006 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. */ + + +package java.awt.datatransfer; + +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.StringTokenizer; + +/** + * A helper class for mime handling in DataFlavor. + * + * A Mauve test for DataFlavor.writeExternal() shows that a non-public + * class java.awt.datatransfer.MimeType gets serialized. This class + * is mainly here for serialization compatibility. Of course, + * now that we have it here, we can just as well implement some + * mime handling facility here. + */ +class MimeType + implements Externalizable +{ + + /** + * The primary type. + */ + private String primaryType; + + /** + * The subtype. + */ + private String subType; + + /** + * Additional parameters to be appended to the mime string. + */ + private HashMap parameters; + + /** + * This is only here for deserialization. + */ + public MimeType() + { + parameters = new HashMap(); + } + + /** + * Creates a new MimeType object. + * + * @param mime the mime type + */ + MimeType(String mime) + throws MimeTypeParseException + { + this(); + parse(mime); + } + + /** + * Adds a mime parameter. + * + * @param param the parameter key + * @param value the parameter value + */ + void addParameter(String param, String value) + { + parameters.put(param, value); + } + + /** + * Removes the parameter with the specified key. + * + * @param param the parameter to remove + */ + void removeParameter(String param) + { + parameters.remove(param); + } + + /** + * Returns the parameter for the key. + * + * @param key the parameter key + * + * @return the parameter for the key + */ + String getParameter(String key) + { + return (String) parameters.get(key); + } + + /** + * Returns the primary type. + * + * @return the primary type + */ + String getPrimaryType() + { + return primaryType; + } + + String getSubType() + { + return subType; + } + + /** + * Returns the base type of this mime type. This is the primary + * type plus the subtype, separated by '/'. + * + * @return the base type of this mime type + */ + String getBaseType() + { + return primaryType + '/' + subType; + } + + /** + * Returns true if this mime type and another mime type + * match. This will be true when their primary types are equal, and their + * subtypes are equal (or when either subtype is * ). + * + * @param other the other mime type + * + * @return true if the mime types match, false + * otherwise + */ + boolean matches(MimeType other) + { + boolean match = false; + if (other != null) + { + match = primaryType.equals(other.primaryType) + && (subType.equals("*") || other.subType.equals("*") + || subType.equals(other.subType)); + } + return match; + } + + /** + * Serializes the mime type. + * + * @param in the input stream to read from + * + * @throws ClassNotFoundException not thrown here + * @throws IOException when something goes wrong on the input stream, + * or when the mime type can't be parsed + */ + public void readExternal(ObjectInput in) + throws ClassNotFoundException, IOException + { + String mime = in.readUTF(); + parameters.clear(); + try + { + parse(mime); + } + catch (MimeTypeParseException ex) + { + IOException ioEx = new IOException(); + ioEx.initCause(ex); + throw ioEx; + } + } + + /** + * Serializes this mime type. + * + * @param out the output stream + * + * @throws IOException when something goes wrong on the output stream + */ + public void writeExternal(ObjectOutput out) + throws IOException + { + out.writeUTF(toString()); + } + + /** + * Creates a string representation of this mime type. + * + * @return a string representation of this mime type + */ + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append(primaryType); + s.append('/'); + s.append(subType); + if (parameters.size() > 0) + { + Set entries = parameters.entrySet(); + for (Iterator i = entries.iterator(); i.hasNext();) + { + s.append("; "); + Map.Entry entry = (Map.Entry) i.next(); + s.append(entry.getKey()); + s.append('='); + s.append(entry.getValue()); + } + } + return s.toString(); + } + + /** + * Parses the specified mime type string and initializes the fields + * of this object. + * + * @param mime the mime type string + */ + private void parse(String mime) + throws MimeTypeParseException + { + // FIXME: Maybe implement more sophisticated mime string parsing according + // to RFC 2045 and 2046. + StringTokenizer tokenizer = new StringTokenizer(mime); + try + { + primaryType = tokenizer.nextToken("/"); + subType = tokenizer.nextToken("/;"); + } + catch (NoSuchElementException ex) + { + throw new MimeTypeParseException("Expected / separator"); + } + + // Add any parameters. + while (tokenizer.hasMoreTokens()) + { + String keyValuePair = tokenizer.nextToken(";"); + int i = keyValuePair.indexOf('='); + if (i == -1) + throw new MimeTypeParseException("Expected = as parameter separator"); + String key = keyValuePair.substring(0, i).trim(); + String value = keyValuePair.substring(i + 1).trim(); + parameters.put(key, value); + } + } + +} diff --git a/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java b/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java index a80665aee98..e163fe067e2 100644 --- a/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java +++ b/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java @@ -98,9 +98,9 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * * @return A Map of native data types to data flavors. */ - public Map getNativesForFlavors (DataFlavor[] flavors) + public Map getNativesForFlavors (DataFlavor[] flavors) { - return new HashMap(); + return new HashMap(); } /** @@ -114,9 +114,9 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * * @return A Map of data flavors to native type names. */ - public Map getFlavorsForNatives (String[] natives) + public Map getFlavorsForNatives (String[] natives) { - return new HashMap(); + return new HashMap(); } /** @@ -263,13 +263,13 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * specified native and a DataFlavor whose MIME type is a decoded * version of the native. */ - public List getFlavorsForNative (String nat) + public List getFlavorsForNative (String nat) throws NotImplementedException { throw new Error ("Not implemented"); } - public List getNativesForFlavor (DataFlavor flav) + public List getNativesForFlavor (DataFlavor flav) throws NotImplementedException { throw new Error ("Not implemented"); diff --git a/libjava/classpath/java/awt/dnd/DragGestureEvent.java b/libjava/classpath/java/awt/dnd/DragGestureEvent.java index 351ae540072..2a22abb12aa 100644 --- a/libjava/classpath/java/awt/dnd/DragGestureEvent.java +++ b/libjava/classpath/java/awt/dnd/DragGestureEvent.java @@ -59,7 +59,7 @@ public class DragGestureEvent extends EventObject private Component component; private final Point origin; private final int action; - private List events; + private List events; private DragGestureRecognizer dgr; /** @@ -71,15 +71,15 @@ public class DragGestureEvent extends EventObject * @throws IllegalArgumentException - if input parameters are null */ public DragGestureEvent(DragGestureRecognizer dgr, int action, Point origin, - List events) - { + List events) + { super(dgr); if (origin == null || events == null || dgr == null) throw new IllegalArgumentException(); - + this.origin = origin; this.action = action; - this.events = events; + this.events = (List) events; this.dgr = dgr; this.component = dgr.getComponent(); this.dragSource = dgr.getDragSource(); @@ -130,7 +130,7 @@ public class DragGestureEvent extends EventObject * * @return an iterator representation of the List of events. */ - public Iterator iterator() + public Iterator iterator() { return events.iterator(); } @@ -155,7 +155,7 @@ public class DragGestureEvent extends EventObject { return events.toArray(array); } - + /** * Gets the user's preferred action. * diff --git a/libjava/classpath/java/awt/dnd/DragGestureRecognizer.java b/libjava/classpath/java/awt/dnd/DragGestureRecognizer.java index 32bbc56da5d..3973e528481 100644 --- a/libjava/classpath/java/awt/dnd/DragGestureRecognizer.java +++ b/libjava/classpath/java/awt/dnd/DragGestureRecognizer.java @@ -1,5 +1,5 @@ /* DragGestureRecognizer.java -- - Copyright (C) 2002,2006 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,8 +38,6 @@ exception statement from your version. */ package java.awt.dnd; -import gnu.classpath.NotImplementedException; - import java.awt.Component; import java.awt.Point; import java.awt.event.InputEvent; @@ -52,6 +50,8 @@ import java.util.TooManyListenersException; /** * STUBBED + * @author Michael Koch (konqueror@gmx.de) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.2 */ public abstract class DragGestureRecognizer implements Serializable @@ -65,7 +65,7 @@ public abstract class DragGestureRecognizer implements Serializable protected Component component; protected transient DragGestureListener dragGestureListener; protected int sourceActions; - protected ArrayList events = new ArrayList(); + protected ArrayList events = new ArrayList(); protected DragGestureRecognizer(DragSource ds, Component c, int sa, DragGestureListener dgl) @@ -127,11 +127,12 @@ public abstract class DragGestureRecognizer implements Serializable return events.size() > 0 ? (InputEvent) events.get(0) : null; } + /** + * Resets the recognizer. If a gesture is currently recognize, discard it. + */ public void resetRecognizer() - throws NotImplementedException { - events = new ArrayList(); - // FIXME: Not implemented fully. + events.clear(); } /** @@ -164,6 +165,7 @@ public abstract class DragGestureRecognizer implements Serializable if(dragGestureListener != null) dragGestureListener.dragGestureRecognized (new DragGestureEvent(this, dragAction, p, events)); + resetRecognizer(); } protected void appendEvent(InputEvent e) diff --git a/libjava/classpath/java/awt/dnd/DragSource.java b/libjava/classpath/java/awt/dnd/DragSource.java index 48fa2388ee2..cd4a93a3e3f 100644 --- a/libjava/classpath/java/awt/dnd/DragSource.java +++ b/libjava/classpath/java/awt/dnd/DragSource.java @@ -105,16 +105,15 @@ public class DragSource implements Serializable ds = null; throw new HeadlessException(); } - + if (ds == null) ds = new DragSource(); return ds; } public static boolean isDragImageSupported() - throws NotImplementedException { - // FIXME: Implement this + // In all cases, Sun returns false here. return false; } @@ -140,8 +139,6 @@ public class DragSource implements Serializable // This function sends the same message to the context, which then forwards // it to the peer, passing itself as a parameter. Now, the native system has // access to the Transferable through the context. - - // FIXME: Add check to determine if dragging. try { @@ -228,15 +225,16 @@ public class DragSource implements Serializable { return flavorMap; } - - public DragGestureRecognizer createDragGestureRecognizer(Class recognizer, - Component c, - int actions, - DragGestureListener dgl) + + public T + createDragGestureRecognizer(Class recognizer, + Component c, + int actions, + DragGestureListener dgl) { - return Toolkit.getDefaultToolkit().createDragGestureRecognizer(recognizer, - this, c, - actions, dgl); + return (T) Toolkit.getDefaultToolkit().createDragGestureRecognizer(recognizer, + this, c, + actions, dgl); } public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, @@ -299,23 +297,23 @@ public class DragSource implements Serializable /** * @since 1.4 */ - public EventListener[] getListeners (Class listenerType) + public T[] getListeners (Class listenerType) { if (listenerType == DragSourceListener.class) return DnDEventMulticaster.getListeners (dragSourceListener, - listenerType); + listenerType); if (listenerType == DragSourceMotionListener.class) return DnDEventMulticaster.getListeners (dragSourceMotionListener, - listenerType); + listenerType); // Return an empty EventListener array. - return new EventListener [0]; + return (T[]) new EventListener [0]; } /** * TODO - * @return + * @return TODO * * @since 1.5 */ @@ -323,6 +321,6 @@ public class DragSource implements Serializable throws NotImplementedException { // FIXME: Not implemented. - return 4; + return 8; } } // class DragSource diff --git a/libjava/classpath/java/awt/dnd/DragSourceContext.java b/libjava/classpath/java/awt/dnd/DragSourceContext.java index 1fee5c0c304..ed1cbaa4454 100644 --- a/libjava/classpath/java/awt/dnd/DragSourceContext.java +++ b/libjava/classpath/java/awt/dnd/DragSourceContext.java @@ -38,8 +38,6 @@ exception statement from your version. */ package java.awt.dnd; -import gnu.classpath.NotImplementedException; - import java.awt.Component; import java.awt.Cursor; import java.awt.Image; @@ -268,7 +266,8 @@ public class DragSourceContext for (int i = 0; i < dsl.length; i++) dsl[i].dragExit(e); - updateCurrentCursor(0, 0, DEFAULT); + updateCurrentCursor(DnDConstants.ACTION_NONE, DnDConstants.ACTION_NONE, + DEFAULT); } /** @@ -340,26 +339,45 @@ public class DragSourceContext * @param status - the status of the cursor (constant). */ protected void updateCurrentCursor(int dropOp, int targetAct, int status) - throws NotImplementedException { - // FIXME: Not implemented fully - if (!useCustomCursor) + if (! useCustomCursor) { - Cursor cursor = null; + Cursor newCursor = null; switch (status) { + default: + targetAct = DnDConstants.ACTION_NONE; case ENTER: - break; case CHANGED: - break; case OVER: - break; - default: - break; + int action = dropOp & targetAct; + if (action == DnDConstants.ACTION_NONE) + { + if ((dropOp & DnDConstants.ACTION_LINK) != 0) + newCursor = DragSource.DefaultLinkNoDrop; + else if ((dropOp & DnDConstants.ACTION_MOVE) != 0) + newCursor = DragSource.DefaultMoveNoDrop; + else + newCursor = DragSource.DefaultCopyNoDrop; + } + else + { + if ((dropOp & DnDConstants.ACTION_LINK) != 0) + newCursor = DragSource.DefaultLinkDrop; + else if ((dropOp & DnDConstants.ACTION_MOVE) != 0) + newCursor = DragSource.DefaultMoveDrop; + else + newCursor = DragSource.DefaultCopyDrop; + } } - this.cursor = cursor; - peer.setCursor(cursor); + if (cursor == null || ! cursor.equals(newCursor)) + { + cursor = newCursor; + DragSourceContextPeer p = peer; + if (p != null) + p.setCursor(cursor); + } } } } // class DragSourceContext diff --git a/libjava/classpath/java/awt/dnd/DropTarget.java b/libjava/classpath/java/awt/dnd/DropTarget.java index a3650567f09..63be5ac046d 100644 --- a/libjava/classpath/java/awt/dnd/DropTarget.java +++ b/libjava/classpath/java/awt/dnd/DropTarget.java @@ -38,13 +38,14 @@ exception statement from your version. */ package java.awt.dnd; -import gnu.classpath.NotImplementedException; - import java.awt.Component; import java.awt.GraphicsEnvironment; import java.awt.HeadlessException; +import java.awt.Insets; import java.awt.Point; +import java.awt.Rectangle; import java.awt.datatransfer.FlavorMap; +import java.awt.datatransfer.SystemFlavorMap; import java.awt.dnd.peer.DropTargetPeer; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -54,6 +55,8 @@ import java.io.Serializable; import java.util.EventListener; import java.util.TooManyListenersException; +import javax.swing.Timer; + /** * @author Michael Koch * @since 1.2 @@ -69,30 +72,87 @@ public class DropTarget protected static class DropTargetAutoScroller implements ActionListener { + /** + * The threshold that keeps the autoscroller running. + */ + private static final int HYSTERESIS = 10; + + /** + * The initial timer delay. + */ + private static final int DELAY = 100; + private Component component; private Point point; - + + /** + * The timer that triggers autoscrolling. + */ + private Timer timer; + + /** + * The outer region of the scroller. This is the component's size. + */ + private Rectangle outer; + + /** + * The inner region of the scroller. This is the component size without + * the autoscroll insets. + */ + private Rectangle inner; + protected DropTargetAutoScroller (Component c, Point p) { component = c; point = p; + timer = new Timer(DELAY, this); + timer.setCoalesce(true); + timer.start(); } protected void updateLocation (Point newLocn) { + Point previous = point; point = newLocn; + if (Math.abs(point.x - previous.x) > HYSTERESIS + || Math.abs(point.y - previous.y) > HYSTERESIS) + { + if (timer.isRunning()) + timer.stop(); + } + else + { + if (! timer.isRunning()) + timer.start(); + } } protected void stop () - throws NotImplementedException { - // FIXME: implement this + timer.start(); } public void actionPerformed (ActionEvent e) - throws NotImplementedException { - // FIXME: implement this + Autoscroll autoScroll = (Autoscroll) component; + + // First synchronize the inner and outer rectangles. + Insets i = autoScroll.getAutoscrollInsets(); + int width = component.getWidth(); + int height = component.getHeight(); + if (width != outer.width || height != outer.height) + outer.setBounds(0, 0, width, height); + if (inner.x != i.left || inner.y != i.top) + inner.setLocation(i.left, i.top); + int inWidth = width - i.left - i.right; + int inHeight = height - i.top - i.bottom; + if (inWidth != inner.width || inHeight != inner.height) + inner.setSize(inWidth, inHeight); + + // Scroll if the outer rectangle contains the location, but the + // inner doesn't. + if (outer.contains(point) && ! inner.contains(point)) + autoScroll.autoscroll(point); } } @@ -113,7 +173,7 @@ public class DropTarget */ public DropTarget () { - this (null, 0, null, true, null); + this (null, DnDConstants.ACTION_COPY_OR_MOVE, null, true, null); } /** @@ -124,7 +184,7 @@ public class DropTarget */ public DropTarget (Component c, DropTargetListener dtl) { - this (c, 0, dtl, true, null); + this (c, DnDConstants.ACTION_COPY_OR_MOVE, dtl, true, null); } /** @@ -164,7 +224,11 @@ public class DropTarget setComponent(c); setDefaultActions(i); dropTargetListener = dtl; - flavorMap = fm; + + if (fm == null) + flavorMap = SystemFlavorMap.getDefaultFlavorMap(); + else + flavorMap = fm; setActive (b); @@ -177,6 +241,8 @@ public class DropTarget */ public void setComponent (Component c) { + if (component != null) + clearAutoscroll(); component = c; } @@ -207,6 +273,8 @@ public class DropTarget public void setActive (boolean active) { this.active = active; + if (! active) + clearAutoscroll(); } public boolean isActive() @@ -225,8 +293,14 @@ public class DropTarget public void addDropTargetListener (DropTargetListener dtl) throws TooManyListenersException { + if (dtl == null) + return; + + if (dtl.equals(this)) + throw new IllegalArgumentException(); + if (dropTargetListener != null) - throw new TooManyListenersException (); + throw new TooManyListenersException(); dropTargetListener = dtl; } @@ -239,30 +313,47 @@ public class DropTarget public void dragEnter(DropTargetDragEvent dtde) { - if (dropTargetListener != null) - dropTargetListener.dragEnter(dtde); + if (active) + { + if (dropTargetListener != null) + dropTargetListener.dragEnter(dtde); + initializeAutoscrolling(dtde.getLocation()); + } } public void dragOver(DropTargetDragEvent dtde) { - if (dropTargetListener != null) - dropTargetListener.dragOver(dtde); + if (active) + { + if (dropTargetListener != null) + dropTargetListener.dragOver(dtde); + updateAutoscroll(dtde.getLocation()); + } } public void dropActionChanged(DropTargetDragEvent dtde) { - if (dropTargetListener != null) - dropTargetListener.dropActionChanged(dtde); + if (active) + { + if (dropTargetListener != null) + dropTargetListener.dropActionChanged(dtde); + updateAutoscroll(dtde.getLocation()); + } } public void dragExit(DropTargetEvent dte) { - if (dropTargetListener != null) - dropTargetListener.dragExit(dte); + if (active) + { + if (dropTargetListener != null) + dropTargetListener.dragExit(dte); + clearAutoscroll(); + } } public void drop(DropTargetDropEvent dtde) { + clearAutoscroll(); if (dropTargetListener != null) dropTargetListener.drop(dtde); } @@ -321,15 +412,13 @@ public class DropTarget protected DropTarget.DropTargetAutoScroller createDropTargetAutoScroller (Component c, Point p) { - if (autoscroller == null) - autoscroller = new DropTarget.DropTargetAutoScroller (c, p); - - return autoscroller; + return new DropTarget.DropTargetAutoScroller (c, p); } protected void initializeAutoscrolling(Point p) { - createDropTargetAutoScroller (component, p); + if (component instanceof Autoscroll) // Checks for null too. + autoscroller = createDropTargetAutoScroller (component, p); } protected void updateAutoscroll(Point dragCursorLocn) @@ -340,6 +429,10 @@ public class DropTarget protected void clearAutoscroll() { - autoscroller = null; + if (autoscroller != null) + { + autoscroller.stop(); + autoscroller = null; + } } } // class DropTarget diff --git a/libjava/classpath/java/awt/dnd/DropTargetContext.java b/libjava/classpath/java/awt/dnd/DropTargetContext.java index 31945c34bb1..d970e2e0881 100644 --- a/libjava/classpath/java/awt/dnd/DropTargetContext.java +++ b/libjava/classpath/java/awt/dnd/DropTargetContext.java @@ -1,5 +1,5 @@ /* DropTargetContext.java -- - Copyright (C) 2002, 2003, 2004, 2006, Free Software Foundation + Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -49,6 +49,7 @@ import java.util.List; /** * @author Michael Koch (konqueror@gmx.de) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.2 */ public class DropTargetContext implements Serializable @@ -128,51 +129,51 @@ public class DropTargetContext implements Serializable * * @exception InvalidDnDOperationException If a drop is not outstanding. */ - public void dropComplete(boolean success) + public void dropComplete (boolean success) { if (dtcp != null) dtcp.dropComplete(success); } - protected void acceptDrag(int dragOperation) + protected void acceptDrag (int dragOperation) { if (dtcp != null) dtcp.acceptDrag(dragOperation); } - protected void rejectDrag() + protected void rejectDrag () { if (dtcp != null) dtcp.rejectDrag(); } - protected void acceptDrop(int dropOperation) + protected void acceptDrop (int dropOperation) { if (dtcp != null) dtcp.acceptDrop(dropOperation); } - protected void rejectDrop() + protected void rejectDrop () { if (dtcp != null) dtcp.rejectDrop(); } - protected DataFlavor[] getCurrentDataFlavors() + protected DataFlavor[] getCurrentDataFlavors () { if (dtcp != null) dtcp.getTransferDataFlavors(); return null; } - protected List getCurrentDataFlavorsAsList() + protected List getCurrentDataFlavorsAsList () { - return Arrays.asList(getCurrentDataFlavors()); + return Arrays.asList(getCurrentDataFlavors ()); } - protected boolean isDataFlavorSupported(DataFlavor flavor) + protected boolean isDataFlavorSupported (DataFlavor flavor) { - return getCurrentDataFlavorsAsList().contains(flavor); + return getCurrentDataFlavorsAsList().contains (flavor); } /** diff --git a/libjava/classpath/java/awt/dnd/DropTargetDragEvent.java b/libjava/classpath/java/awt/dnd/DropTargetDragEvent.java index 89bf1778a71..58feb438767 100644 --- a/libjava/classpath/java/awt/dnd/DropTargetDragEvent.java +++ b/libjava/classpath/java/awt/dnd/DropTargetDragEvent.java @@ -108,7 +108,7 @@ public class DropTargetDragEvent extends DropTargetEvent return context.getCurrentDataFlavors (); } - public List getCurrentDataFlavorsAsList () + public List getCurrentDataFlavorsAsList () { return context.getCurrentDataFlavorsAsList (); } @@ -147,7 +147,6 @@ public class DropTargetDragEvent extends DropTargetEvent */ public Transferable getTransferable() { - // FIXME: Not implemented - return null; + return context.getTransferable(); } } // class DropTargetDragEvent diff --git a/libjava/classpath/java/awt/dnd/DropTargetDropEvent.java b/libjava/classpath/java/awt/dnd/DropTargetDropEvent.java index 9754bb11ef5..dd85ef712c5 100644 --- a/libjava/classpath/java/awt/dnd/DropTargetDropEvent.java +++ b/libjava/classpath/java/awt/dnd/DropTargetDropEvent.java @@ -1,5 +1,5 @@ /* DropTargetDropEvent.java -- - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -123,7 +123,7 @@ public class DropTargetDropEvent extends DropTargetEvent return context.getCurrentDataFlavors(); } - public List getCurrentDataFlavorsAsList() + public List getCurrentDataFlavorsAsList() { return context.getCurrentDataFlavorsAsList(); } diff --git a/libjava/classpath/java/awt/dnd/DropTargetEvent.java b/libjava/classpath/java/awt/dnd/DropTargetEvent.java index f75f756d037..cb2aec6402e 100644 --- a/libjava/classpath/java/awt/dnd/DropTargetEvent.java +++ b/libjava/classpath/java/awt/dnd/DropTargetEvent.java @@ -41,6 +41,10 @@ import java.util.EventObject; public class DropTargetEvent extends EventObject { + + /** + * Serialization identifier for Sun 1.5 compatability + */ private static final long serialVersionUID = 2821229066521922993L; protected DropTargetContext context; diff --git a/libjava/classpath/java/awt/event/ComponentEvent.java b/libjava/classpath/java/awt/event/ComponentEvent.java index ba9c2a5b3f2..6d478055aa5 100644 --- a/libjava/classpath/java/awt/event/ComponentEvent.java +++ b/libjava/classpath/java/awt/event/ComponentEvent.java @@ -1,5 +1,5 @@ /* ComponentEvent.java -- notification of events for components - Copyright (C) 1999, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -114,24 +114,27 @@ public class ComponentEvent extends AWTEvent */ public String paramString() { + StringBuffer s = new StringBuffer(); + // Unlike Sun, we don't throw NullPointerException or ClassCastException // when source was illegally changed. - switch (id) - { - case COMPONENT_MOVED: - return "COMPONENT_MOVED " - + (source instanceof Component - ? ((Component) source).getBounds() : (Object) ""); - case COMPONENT_RESIZED: - return "COMPONENT_RESIZED " - + (source instanceof Component - ? ((Component) source).getBounds() : (Object) ""); - case COMPONENT_SHOWN: - return "COMPONENT_SHOWN"; - case COMPONENT_HIDDEN: - return "COMPONENT_HIDDEN"; - default: - return "unknown type"; - } + if (id == COMPONENT_MOVED) + s.append("COMPONENT_MOVED "); + else if (id == COMPONENT_RESIZED) + s.append("COMPONENT_RESIZED "); + else if (id == COMPONENT_SHOWN) + s.append("COMPONENT_SHOWN "); + else if (id == COMPONENT_HIDDEN) + s.append("COMPONENT_HIDDEN "); + else + return "unknown type"; + + s.append("(").append(getComponent().getX()).append(",") + .append(getComponent().getY()).append(" ") + .append(getComponent().getWidth()).append("x") + .append(getComponent().getHeight()).append(")"); + + return s.toString(); } + } // class ComponentEvent diff --git a/libjava/classpath/java/awt/font/FontRenderContext.java b/libjava/classpath/java/awt/font/FontRenderContext.java index c50e5e5092a..c25bae3ec16 100644 --- a/libjava/classpath/java/awt/font/FontRenderContext.java +++ b/libjava/classpath/java/awt/font/FontRenderContext.java @@ -117,8 +117,12 @@ public class FontRenderContext */ public int hashCode () { - // FIXME: check what SUN does here. - return affineTransform == null ? 0 : affineTransform.hashCode (); + int code = ( isAntiAliased ? 1 : 0 ) + ( usesFractionalMetrics ? 2 : 0 ); + + if( affineTransform != null && !affineTransform.isIdentity() ) + code ^= affineTransform.hashCode(); + + return code; } public boolean isAntiAliased () diff --git a/libjava/classpath/java/awt/font/TextHitInfo.java b/libjava/classpath/java/awt/font/TextHitInfo.java index 2b23e1963cd..f6fee1addae 100644 --- a/libjava/classpath/java/awt/font/TextHitInfo.java +++ b/libjava/classpath/java/awt/font/TextHitInfo.java @@ -81,6 +81,9 @@ public final class TextHitInfo public boolean equals(TextHitInfo hitInfo) { + if (hitInfo == null) + return false; + return (charIndex == hitInfo.getCharIndex ()) && (leadingEdge == hitInfo.isLeadingEdge ()); } @@ -97,7 +100,7 @@ public final class TextHitInfo public static TextHitInfo beforeOffset(int offset) { - return new TextHitInfo (offset, false); + return new TextHitInfo ((offset - 1), false); } public static TextHitInfo afterOffset(int offset) diff --git a/libjava/classpath/java/awt/font/TextLayout.java b/libjava/classpath/java/awt/font/TextLayout.java index b1473f25564..dc0e537eba9 100644 --- a/libjava/classpath/java/awt/font/TextLayout.java +++ b/libjava/classpath/java/awt/font/TextLayout.java @@ -38,18 +38,18 @@ exception statement from your version. */ package java.awt.font; -import gnu.classpath.NotImplementedException; - import java.awt.Font; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; +import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; import java.awt.geom.GeneralPath; import java.awt.geom.Point2D; import java.text.CharacterIterator; import java.text.AttributedCharacterIterator; import java.text.Bidi; +import java.util.ArrayList; import java.util.Map; /** @@ -57,19 +57,86 @@ import java.util.Map; */ public final class TextLayout implements Cloneable { - private GlyphVector[] runs; - private Font font; + /** + * Holds the layout data that belongs to one run of characters. + */ + private class Run + { + /** + * The actual glyph vector. + */ + GlyphVector glyphVector; + + /** + * The font for this text run. + */ + Font font; + + /** + * The start of the run. + */ + int runStart; + + /** + * The end of the run. + */ + int runEnd; + + /** + * The layout location of the beginning of the run. + */ + float location; + + /** + * Initializes the Run instance. + * + * @param gv the glyph vector + * @param start the start index of the run + * @param end the end index of the run + */ + Run(GlyphVector gv, Font f, int start, int end) + { + glyphVector = gv; + font = f; + runStart = start; + runEnd = end; + } + + /** + * Returns true when this run is left to right, + * false otherwise. + * + * @return true when this run is left to right, + * false otherwise + */ + boolean isLeftToRight() + { + return (glyphVector.getLayoutFlags() & GlyphVector.FLAG_RUN_RTL) == 0; + } + } + + /** + * The laid out character runs. + */ + private Run[] runs; + private FontRenderContext frc; - private String string; + private char[] string; + private int offset; + private int length; private Rectangle2D boundsCache; private LineMetrics lm; /** - * Start and end character indices of the runs. - * First index is the run number, second is 0 or 1 for the starting - * and ending character index of the run, respectively. + * The total advance of this text layout. This is cache for maximum + * performance. + */ + private float totalAdvance = -1F; + + /** + * The cached natural bounds. */ - private int[][] runIndices; + private Rectangle2D naturalBounds; /** * Character indices. @@ -87,67 +154,99 @@ public final class TextLayout implements Cloneable */ private boolean hasWhitespace = false; + /** + * The {@link Bidi} object that is used for reordering and by + * {@link #getCharacterLevel(int)}. + */ + private Bidi bidi; + + /** + * Mpas the logical position of each individual character in the original + * string to its visual position. + */ + private int[] logicalToVisual; + + /** + * Maps visual positions of a character to its logical position + * in the original string. + */ + private int[] visualToLogical; + + /** + * The cached hashCode. + */ + private int hash; + /** * The default caret policy. */ - public static final TextLayout.CaretPolicy DEFAULT_CARET_POLICY = new CaretPolicy(); + public static final TextLayout.CaretPolicy DEFAULT_CARET_POLICY = + new CaretPolicy(); /** * Constructs a TextLayout. */ - public TextLayout (String string, Font font, FontRenderContext frc) + public TextLayout (String str, Font font, FontRenderContext frc) { - this.font = font; this.frc = frc; - this.string = string; - lm = font.getLineMetrics(string, frc); + string = str.toCharArray(); + offset = 0; + length = this.string.length; + lm = font.getLineMetrics(this.string, offset, length, frc); // Get base direction and whitespace info getStringProperties(); - if( Bidi.requiresBidi( string.toCharArray(), 0, string.length() ) ) + if (Bidi.requiresBidi(string, offset, offset + length)) { - Bidi bidi = new Bidi( string, leftToRight ? - Bidi.DIRECTION_LEFT_TO_RIGHT : - Bidi.DIRECTION_RIGHT_TO_LEFT ); + bidi = new Bidi(str, leftToRight ? Bidi.DIRECTION_LEFT_TO_RIGHT + : Bidi.DIRECTION_RIGHT_TO_LEFT ); int rc = bidi.getRunCount(); byte[] table = new byte[ rc ]; for(int i = 0; i < table.length; i++) table[i] = (byte)bidi.getRunLevel(i); - runs = new GlyphVector[ rc ]; - runIndices = new int[rc][2]; - for(int i = 0; i < runs.length; i++) + runs = new Run[rc]; + for(int i = 0; i < rc; i++) { - runIndices[i][0] = bidi.getRunStart( i ); - runIndices[i][1] = bidi.getRunLimit( i ); - if( runIndices[i][0] != runIndices[i][1] ) // no empty runs. + int start = bidi.getRunStart(i); + int end = bidi.getRunLimit(i); + if(start != end) // no empty runs. { - runs[i] = font.layoutGlyphVector - ( frc, string.toCharArray(), - runIndices[i][0], runIndices[i][1], - ((table[i] & 1) == 0) ? Font.LAYOUT_LEFT_TO_RIGHT : - Font.LAYOUT_RIGHT_TO_LEFT ); - } + GlyphVector gv = font.layoutGlyphVector(frc, + string, start, end, + ((table[i] & 1) == 0) ? Font.LAYOUT_LEFT_TO_RIGHT + : Font.LAYOUT_RIGHT_TO_LEFT ); + runs[i] = new Run(gv, font, start, end); + } } Bidi.reorderVisually( table, 0, runs, 0, runs.length ); + // Clean up null runs. + ArrayList cleaned = new ArrayList(rc); + for (int i = 0; i < rc; i++) + { + if (runs[i] != null) + cleaned.add(runs[i]); + } + runs = new Run[cleaned.size()]; + runs = (Run[]) cleaned.toArray(runs); } else { - runs = new GlyphVector[ 1 ]; - runIndices = new int[1][2]; - runIndices[0][0] = 0; - runIndices[0][1] = string.length(); - runs[ 0 ] = font.layoutGlyphVector( frc, string.toCharArray(), - 0, string.length(), - leftToRight ? - Font.LAYOUT_LEFT_TO_RIGHT : - Font.LAYOUT_RIGHT_TO_LEFT ); + GlyphVector gv = font.layoutGlyphVector( frc, string, offset, length, + leftToRight ? Font.LAYOUT_LEFT_TO_RIGHT + : Font.LAYOUT_RIGHT_TO_LEFT ); + Run run = new Run(gv, font, 0, length); + runs = new Run[]{ run }; } setCharIndices(); + setupMappings(); + layoutRuns(); } - public TextLayout (String string, Map attributes, FontRenderContext frc) + public TextLayout (String string, + Map attributes, + FontRenderContext frc) { this( string, new Font( attributes ), frc ); } @@ -165,7 +264,6 @@ public final class TextLayout implements Cloneable */ TextLayout(TextLayout t, int startIndex, int endIndex) { - font = t.font; frc = t.frc; boundsCache = null; lm = t.lm; @@ -173,30 +271,35 @@ public final class TextLayout implements Cloneable if( endIndex > t.getCharacterCount() ) endIndex = t.getCharacterCount(); - string = t.string.substring( startIndex, endIndex ); + string = t.string; + offset = startIndex + offset; + length = endIndex - startIndex; int startingRun = t.charIndices[startIndex][0]; int nRuns = 1 + t.charIndices[endIndex - 1][0] - startingRun; - runIndices = new int[ nRuns ][2]; - runs = new GlyphVector[ nRuns ]; + runs = new Run[nRuns]; for( int i = 0; i < nRuns; i++ ) { - GlyphVector run = t.runs[ i + startingRun ]; + Run run = t.runs[i + startingRun]; + GlyphVector gv = run.glyphVector; + Font font = run.font; // Copy only the relevant parts of the first and last runs. int beginGlyphIndex = (i > 0) ? 0 : t.charIndices[startIndex][1]; - int numEntries = ( i < nRuns - 1) ? run.getNumGlyphs() : + int numEntries = ( i < nRuns - 1) ? gv.getNumGlyphs() : 1 + t.charIndices[endIndex - 1][1] - beginGlyphIndex; - int[] codes = run.getGlyphCodes(beginGlyphIndex, numEntries, null); - runs[ i ] = font.createGlyphVector( frc, codes ); - runIndices[ i ][0] = t.runIndices[i + startingRun][0] - startIndex; - runIndices[ i ][1] = t.runIndices[i + startingRun][1] - startIndex; + int[] codes = gv.getGlyphCodes(beginGlyphIndex, numEntries, null); + gv = font.createGlyphVector(frc, codes); + runs[i] = new Run(gv, font, run.runStart - startIndex, + run.runEnd - startIndex); } - runIndices[ nRuns - 1 ][1] = endIndex - 1; + runs[nRuns - 1].runEnd = endIndex - 1; setCharIndices(); + setupMappings(); determineWhiteSpace(); + layoutRuns(); } private void setCharIndices() @@ -207,16 +310,53 @@ public final class TextLayout implements Cloneable for(int run = 0; run < runs.length; run++) { currentChar = -1; - for( int gi = 0; gi < runs[ run ].getNumGlyphs(); gi++) - { - if( runs[ run ].getGlyphCharIndex( gi ) != currentChar ) - { - charIndices[ i ][0] = run; - charIndices[ i ][1] = gi; - currentChar = runs[ run ].getGlyphCharIndex( gi ); - i++; - } - } + Run current = runs[run]; + GlyphVector gv = current.glyphVector; + for( int gi = 0; gi < gv.getNumGlyphs(); gi++) + { + if( gv.getGlyphCharIndex( gi ) != currentChar ) + { + charIndices[ i ][0] = run; + charIndices[ i ][1] = gi; + currentChar = gv.getGlyphCharIndex( gi ); + i++; + } + } + } + } + + /** + * Initializes the logicalToVisual and visualToLogial maps. + */ + private void setupMappings() + { + int numChars = getCharacterCount(); + logicalToVisual = new int[numChars]; + visualToLogical = new int[numChars]; + int lIndex = 0; + int vIndex = 0; + // We scan the runs in visual order and set the mappings accordingly. + for (int i = 0; i < runs.length; i++) + { + Run run = runs[i]; + if (run.isLeftToRight()) + { + for (lIndex = run.runStart; lIndex < run.runEnd; lIndex++) + { + logicalToVisual[lIndex] = vIndex; + visualToLogical[vIndex] = lIndex; + vIndex++; + } + } + else + { + for (lIndex = run.runEnd - 1; lIndex >= run.runStart; lIndex--) + { + logicalToVisual[lIndex] = vIndex; + visualToLogical[vIndex] = lIndex; + vIndex++; + } + } } } @@ -253,11 +393,11 @@ public final class TextLayout implements Cloneable private void getStringProperties() { boolean gotDirection = false; - int i = 0; - + int i = offset; + int endOffs = offset + length; leftToRight = true; - while( i < string.length() && !gotDirection ) - switch( Character.getDirectionality( string.charAt( i++ ) ) ) + while( i < endOffs && !gotDirection ) + switch( Character.getDirectionality(string[i++]) ) { case Character.DIRECTIONALITY_LEFT_TO_RIGHT: case Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING: @@ -280,28 +420,30 @@ public final class TextLayout implements Cloneable { // Determine if there's whitespace in the thing. // Ignore trailing chars. - int i = string.length() - 1; + int i = offset + length - 1; hasWhitespace = false; - while( i >= 0 && Character.isWhitespace( string.charAt(i) ) ) + while( i >= offset && Character.isWhitespace( string[i] ) ) i--; // Check the remaining chars - while( i >= 0 ) - if( Character.isWhitespace( string.charAt(i--) ) ) + while( i >= offset ) + if( Character.isWhitespace( string[i--] ) ) hasWhitespace = true; } protected Object clone () { - return new TextLayout( string, font, frc ); + return new TextLayout( this, 0, length); } public void draw (Graphics2D g2, float x, float y) { for(int i = 0; i < runs.length; i++) { - g2.drawGlyphVector(runs[i], x, y); - Rectangle2D r = runs[i].getLogicalBounds(); - x += r.getWidth(); + Run run = runs[i]; + GlyphVector gv = run.glyphVector; + g2.drawGlyphVector(gv, x, y); + Rectangle2D r = gv.getLogicalBounds(); + x += r.getWidth(); } } @@ -326,9 +468,16 @@ public final class TextLayout implements Cloneable public float getAdvance () { - float totalAdvance = 0f; - for(int i = 0; i < runs.length; i++) - totalAdvance += runs[i].getLogicalBounds().getWidth(); + if (totalAdvance == -1F) + { + totalAdvance = 0f; + for(int i = 0; i < runs.length; i++) + { + Run run = runs[i]; + GlyphVector gv = run.glyphVector; + totalAdvance += gv.getLogicalBounds().getWidth(); + } + } return totalAdvance; } @@ -363,27 +512,33 @@ public final class TextLayout implements Cloneable double advance = 0; for( int i = 0; i < ri; i++ ) - advance += runs[i].getLogicalBounds().getWidth(); + { + Run run = runs[i]; + GlyphVector gv = run.glyphVector; + advance += gv.getLogicalBounds().getWidth(); + } for( int i = ri; i <= charIndices[ secondEndpoint - 1 ][0]; i++ ) { + Run run = runs[i]; + GlyphVector gv = run.glyphVector; int dg; if( i == charIndices[ secondEndpoint - 1 ][0] ) dg = charIndices[ secondEndpoint - 1][1]; else - dg = runs[i].getNumGlyphs() - 1; + dg = gv.getNumGlyphs() - 1; for( int j = 0; j <= dg; j++ ) { - Rectangle2D r2 = (runs[i].getGlyphVisualBounds( j )). + Rectangle2D r2 = (gv.getGlyphVisualBounds( j )). getBounds2D(); - Point2D p = runs[i].getGlyphPosition( j ); + Point2D p = gv.getGlyphPosition( j ); r2.setRect( advance + r2.getX(), r2.getY(), r2.getWidth(), r2.getHeight() ); gp.append(r2, false); } - advance += runs[i].getLogicalBounds().getWidth(); + advance += gv.getLogicalBounds().getWidth(); } return gp; } @@ -397,46 +552,138 @@ public final class TextLayout implements Cloneable public float[] getCaretInfo (TextHitInfo hit) { - return getCaretInfo(hit, getBounds()); + return getCaretInfo(hit, getNaturalBounds()); } public float[] getCaretInfo (TextHitInfo hit, Rectangle2D bounds) - throws NotImplementedException { - throw new Error ("not implemented"); + float[] info = new float[2]; + int index = hit.getCharIndex(); + boolean leading = hit.isLeadingEdge(); + // For the boundary cases we return the boundary runs. + Run run; + + if (index >= length) + { + info[0] = getAdvance(); + info[1] = 0; + } + else + { + if (index < 0) + { + run = runs[0]; + index = 0; + leading = true; + } + else + run = findRunAtIndex(index); + + int glyphIndex = index - run.runStart; + Shape glyphBounds = run.glyphVector.getGlyphLogicalBounds(glyphIndex); + Rectangle2D glyphRect = glyphBounds.getBounds2D(); + if (isVertical()) + { + if (leading) + info[0] = (float) glyphRect.getMinY(); + else + info[0] = (float) glyphRect.getMaxY(); + } + else + { + if (leading) + info[0] = (float) glyphRect.getMinX(); + else + info[0] = (float) glyphRect.getMaxX(); + } + info[0] += run.location; + info[1] = run.font.getItalicAngle(); + } + return info; } - public Shape getCaretShape (TextHitInfo hit) + public Shape getCaretShape(TextHitInfo hit) { - return getCaretShape( hit, getBounds() ); + return getCaretShape(hit, getBounds()); } - public Shape getCaretShape (TextHitInfo hit, Rectangle2D bounds) - throws NotImplementedException + public Shape getCaretShape(TextHitInfo hit, Rectangle2D bounds) { - throw new Error ("not implemented"); + // TODO: Handle vertical shapes somehow. + float[] info = getCaretInfo(hit); + float x1 = info[0]; + float y1 = (float) bounds.getMinY(); + float x2 = info[0]; + float y2 = (float) bounds.getMaxY(); + if (info[1] != 0) + { + // Shift x1 and x2 according to the slope. + x1 -= y1 * info[1]; + x2 -= y2 * info[1]; + } + GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD, 2); + path.moveTo(x1, y1); + path.lineTo(x2, y2); + return path; } - public Shape[] getCaretShapes (int offset) + public Shape[] getCaretShapes(int offset) { - return getCaretShapes( offset, getBounds() ); + return getCaretShapes(offset, getNaturalBounds()); } - public Shape[] getCaretShapes (int offset, Rectangle2D bounds) - throws NotImplementedException + public Shape[] getCaretShapes(int offset, Rectangle2D bounds) { - throw new Error ("not implemented"); + return getCaretShapes(offset, bounds, DEFAULT_CARET_POLICY); + } + + public Shape[] getCaretShapes(int offset, Rectangle2D bounds, + CaretPolicy policy) + { + // The RI returns a 2-size array even when there's only one + // shape in it. + Shape[] carets = new Shape[2]; + TextHitInfo hit1 = TextHitInfo.afterOffset(offset); + int caretHit1 = hitToCaret(hit1); + TextHitInfo hit2 = hit1.getOtherHit(); + int caretHit2 = hitToCaret(hit2); + if (caretHit1 == caretHit2) + { + carets[0] = getCaretShape(hit1); + carets[1] = null; // The RI returns null in this seldom case. + } + else + { + Shape caret1 = getCaretShape(hit1); + Shape caret2 = getCaretShape(hit2); + TextHitInfo strong = policy.getStrongCaret(hit1, hit2, this); + if (strong == hit1) + { + carets[0] = caret1; + carets[1] = caret2; + } + else + { + carets[0] = caret2; + carets[1] = caret1; + } + } + return carets; } public int getCharacterCount () { - return string.length(); + return length; } public byte getCharacterLevel (int index) - throws NotImplementedException { - throw new Error ("not implemented"); + byte level; + if( bidi == null ) + level = 0; + else + level = (byte) bidi.getLevelAt(index); + return level; } public float getDescent () @@ -481,19 +728,21 @@ public final class TextLayout implements Cloneable double advance = 0; for( int i = 0; i < ri; i++ ) - advance += runs[i].getLogicalBounds().getWidth(); + advance += runs[i].glyphVector.getLogicalBounds().getWidth(); for( int i = ri; i <= charIndices[ secondEndpoint - 1 ][0]; i++ ) { + Run run = runs[i]; + GlyphVector gv = run.glyphVector; int dg; // last index in this run to use. if( i == charIndices[ secondEndpoint - 1 ][0] ) dg = charIndices[ secondEndpoint - 1][1]; else - dg = runs[i].getNumGlyphs() - 1; + dg = gv.getNumGlyphs() - 1; for(; gi <= dg; gi++ ) { - Rectangle2D r2 = (runs[i].getGlyphLogicalBounds( gi )). + Rectangle2D r2 = (gv.getGlyphLogicalBounds( gi )). getBounds2D(); if( r == null ) r = r2; @@ -502,7 +751,7 @@ public final class TextLayout implements Cloneable } gi = 0; // reset glyph index into run for next run. - advance += runs[i].getLogicalBounds().getWidth(); + advance += gv.getLogicalBounds().getWidth(); } return r; @@ -510,33 +759,137 @@ public final class TextLayout implements Cloneable public int[] getLogicalRangesForVisualSelection (TextHitInfo firstEndpoint, TextHitInfo secondEndpoint) - throws NotImplementedException { - throw new Error ("not implemented"); + // Check parameters. + checkHitInfo(firstEndpoint); + checkHitInfo(secondEndpoint); + + // Convert to visual and order correctly. + int start = hitToCaret(firstEndpoint); + int end = hitToCaret(secondEndpoint); + if (start > end) + { + // Swap start and end so that end >= start. + int temp = start; + start = end; + end = temp; + } + + // Now walk through the visual indices and mark the included pieces. + boolean[] include = new boolean[length]; + for (int i = start; i < end; i++) + { + include[visualToLogical[i]] = true; + } + + // Count included runs. + int numRuns = 0; + boolean in = false; + for (int i = 0; i < length; i++) + { + if (include[i] != in) // At each run in/out point we toggle the in var. + { + in = ! in; + if (in) // At each run start we count up. + numRuns++; + } + } + + // Put together the ranges array. + int[] ranges = new int[numRuns * 2]; + int index = 0; + in = false; + for (int i = 0; i < length; i++) + { + if (include[i] != in) + { + ranges[index] = i; + index++; + in = ! in; + } + } + // If the last run ends at the very end, include that last bit too. + if (in) + ranges[index] = length; + + return ranges; + } + + public TextHitInfo getNextLeftHit(int offset) + { + return getNextLeftHit(offset, DEFAULT_CARET_POLICY); } - public TextHitInfo getNextLeftHit (int offset) - throws NotImplementedException + public TextHitInfo getNextLeftHit(int offset, CaretPolicy policy) { - throw new Error ("not implemented"); + if (policy == null) + throw new IllegalArgumentException("Null policy not allowed"); + if (offset < 0 || offset > length) + throw new IllegalArgumentException("Offset out of bounds"); + + TextHitInfo hit1 = TextHitInfo.afterOffset(offset); + TextHitInfo hit2 = hit1.getOtherHit(); + + TextHitInfo strong = policy.getStrongCaret(hit1, hit2, this); + TextHitInfo next = getNextLeftHit(strong); + TextHitInfo ret = null; + if (next != null) + { + TextHitInfo next2 = getVisualOtherHit(next); + ret = policy.getStrongCaret(next2, next, this); + } + return ret; } public TextHitInfo getNextLeftHit (TextHitInfo hit) - throws NotImplementedException { - throw new Error ("not implemented"); + checkHitInfo(hit); + int index = hitToCaret(hit); + TextHitInfo next = null; + if (index != 0) + { + index--; + next = caretToHit(index); + } + return next; } - public TextHitInfo getNextRightHit (int offset) - throws NotImplementedException + public TextHitInfo getNextRightHit(int offset) { - throw new Error ("not implemented"); + return getNextRightHit(offset, DEFAULT_CARET_POLICY); } - public TextHitInfo getNextRightHit (TextHitInfo hit) - throws NotImplementedException + public TextHitInfo getNextRightHit(int offset, CaretPolicy policy) { - throw new Error ("not implemented"); + if (policy == null) + throw new IllegalArgumentException("Null policy not allowed"); + if (offset < 0 || offset > length) + throw new IllegalArgumentException("Offset out of bounds"); + + TextHitInfo hit1 = TextHitInfo.afterOffset(offset); + TextHitInfo hit2 = hit1.getOtherHit(); + + TextHitInfo next = getNextRightHit(policy.getStrongCaret(hit1, hit2, this)); + TextHitInfo ret = null; + if (next != null) + { + TextHitInfo next2 = getVisualOtherHit(next); + ret = policy.getStrongCaret(next2, next, this); + } + return ret; + } + + public TextHitInfo getNextRightHit(TextHitInfo hit) + { + checkHitInfo(hit); + int index = hitToCaret(hit); + TextHitInfo next = null; + if (index < length) + { + index++; + next = caretToHit(index); + } + return next; } public Shape getOutline (AffineTransform tx) @@ -545,8 +898,9 @@ public final class TextLayout implements Cloneable GeneralPath gp = new GeneralPath(); for(int i = 0; i < runs.length; i++) { - gp.append( runs[i].getOutline( x, 0f ), false ); - Rectangle2D r = runs[i].getLogicalBounds(); + GlyphVector gv = runs[i].glyphVector; + gp.append( gv.getOutline( x, 0f ), false ); + Rectangle2D r = gv.getLogicalBounds(); x += r.getWidth(); } if( tx != null ) @@ -562,27 +916,28 @@ public final class TextLayout implements Cloneable return 0f; // No trailing whitespace - if( !Character.isWhitespace( string.charAt( string.length() -1 ) ) ) + if( !Character.isWhitespace( string[offset + length - 1]) ) return getAdvance(); // Get length of all runs up to the last for(int i = 0; i < runs.length - 1; i++) - totalAdvance += runs[i].getLogicalBounds().getWidth(); + totalAdvance += runs[i].glyphVector.getLogicalBounds().getWidth(); - int lastRun = runIndices[ runs.length - 1 ][0]; - int j = string.length() - 1; - while( j >= lastRun && Character.isWhitespace( string.charAt( j ) ) ) j--; + int lastRun = runs[runs.length - 1].runStart; + int j = length - 1; + while( j >= lastRun && Character.isWhitespace( string[j] ) ) j--; if( j < lastRun ) return totalAdvance; // entire last run is whitespace int lastNonWSChar = j - lastRun; j = 0; - while( runs[ runs.length - 1 ].getGlyphCharIndex( j ) + while( runs[ runs.length - 1 ].glyphVector.getGlyphCharIndex( j ) <= lastNonWSChar ) { - totalAdvance += runs[ runs.length - 1 ].getGlyphLogicalBounds( j ). - getBounds2D().getWidth(); + totalAdvance += runs[ runs.length - 1 ].glyphVector + .getGlyphLogicalBounds( j ) + .getBounds2D().getWidth(); j ++; } @@ -599,15 +954,129 @@ public final class TextLayout implements Cloneable public Shape getVisualHighlightShape (TextHitInfo firstEndpoint, TextHitInfo secondEndpoint, Rectangle2D bounds) - throws NotImplementedException { - throw new Error ("not implemented"); + GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD); + Shape caret1 = getCaretShape(firstEndpoint, bounds); + path.append(caret1, false); + Shape caret2 = getCaretShape(secondEndpoint, bounds); + path.append(caret2, false); + // Append left (top) bounds to selection if necessary. + int c1 = hitToCaret(firstEndpoint); + int c2 = hitToCaret(secondEndpoint); + if (c1 == 0 || c2 == 0) + { + path.append(left(bounds), false); + } + // Append right (bottom) bounds if necessary. + if (c1 == length || c2 == length) + { + path.append(right(bounds), false); + } + return path.getBounds2D(); + } + + /** + * Returns the shape that makes up the left (top) edge of this text layout. + * + * @param b the bounds + * + * @return the shape that makes up the left (top) edge of this text layout + */ + private Shape left(Rectangle2D b) + { + GeneralPath left = new GeneralPath(GeneralPath.WIND_EVEN_ODD); + left.append(getCaretShape(TextHitInfo.beforeOffset(0)), false); + if (isVertical()) + { + float y = (float) b.getMinY(); + left.append(new Line2D.Float((float) b.getMinX(), y, + (float) b.getMaxX(), y), false); + } + else + { + float x = (float) b.getMinX(); + left.append(new Line2D.Float(x, (float) b.getMinY(), + x, (float) b.getMaxY()), false); + } + return left.getBounds2D(); + } + + /** + * Returns the shape that makes up the right (bottom) edge of this text + * layout. + * + * @param b the bounds + * + * @return the shape that makes up the right (bottom) edge of this text + * layout + */ + private Shape right(Rectangle2D b) + { + GeneralPath right = new GeneralPath(GeneralPath.WIND_EVEN_ODD); + right.append(getCaretShape(TextHitInfo.afterOffset(length)), false); + if (isVertical()) + { + float y = (float) b.getMaxY(); + right.append(new Line2D.Float((float) b.getMinX(), y, + (float) b.getMaxX(), y), false); + } + else + { + float x = (float) b.getMaxX(); + right.append(new Line2D.Float(x, (float) b.getMinY(), + x, (float) b.getMaxY()), false); + } + return right.getBounds2D(); } public TextHitInfo getVisualOtherHit (TextHitInfo hit) - throws NotImplementedException { - throw new Error ("not implemented"); + checkHitInfo(hit); + int hitIndex = hit.getCharIndex(); + + int index; + boolean leading; + if (hitIndex == -1 || hitIndex == length) + { + // Boundary case. + int visual; + if (isLeftToRight() == (hitIndex == -1)) + visual = 0; + else + visual = length - 1; + index = visualToLogical[visual]; + if (isLeftToRight() == (hitIndex == -1)) + leading = isCharacterLTR(index); // LTR. + else + leading = ! isCharacterLTR(index); // RTL. + } + else + { + // Normal case. + int visual = logicalToVisual[hitIndex]; + boolean b; + if (isCharacterLTR(hitIndex) == hit.isLeadingEdge()) + { + visual--; + b = false; + } + else + { + visual++; + b = true; + } + if (visual >= 0 && visual < length) + { + index = visualToLogical[visual]; + leading = b == isLeftToRight(); + } + else + { + index = b == isLeftToRight() ? length : -1; + leading = index == length; + } + } + return leading ? TextHitInfo.leading(index) : TextHitInfo.trailing(index); } /** @@ -622,16 +1091,19 @@ public final class TextLayout implements Cloneable int nglyphs = 0; // # of whitespace chars // determine last non-whitespace char. - int lastNWS = string.length() - 1; - while( Character.isWhitespace( string.charAt( lastNWS ) ) ) lastNWS--; + int lastNWS = offset + length - 1; + while( Character.isWhitespace( string[lastNWS] ) ) lastNWS--; // locations of the glyphs. - int[] wsglyphs = new int[string.length() * 10]; + int[] wsglyphs = new int[length * 10]; for(int run = 0; run < runs.length; run++ ) - for(int i = 0; i < runs[run].getNumGlyphs(); i++ ) + { + Run current = runs[run]; + for(int i = 0; i < current.glyphVector.getNumGlyphs(); i++ ) { - int cindex = runIndices[run][0] + runs[run].getGlyphCharIndex( i ); - if( Character.isWhitespace( string.charAt( cindex ) ) ) + int cindex = current.runStart + + current.glyphVector.getGlyphCharIndex( i ); + if( Character.isWhitespace( string[cindex] ) ) // && cindex < lastNWS ) { wsglyphs[ nglyphs * 2 ] = run; @@ -639,34 +1111,144 @@ public final class TextLayout implements Cloneable nglyphs++; } } - + } deltaW = deltaW / nglyphs; // Change in width per whitespace glyph double w = 0; int cws = 0; // Shift all characters for(int run = 0; run < runs.length; run++ ) - for(int i = 0; i < runs[ run ].getNumGlyphs(); i++ ) - { - if( wsglyphs[ cws * 2 ] == run && wsglyphs[ cws * 2 + 1 ] == i ) - { - cws++; // update 'current whitespace' - w += deltaW; // increment the shift - } - Point2D p = runs[ run ].getGlyphPosition( i ); - p.setLocation( p.getX() + w, p.getY() ); - runs[ run ].setGlyphPosition( i, p ); - } + { + Run current = runs[run]; + for(int i = 0; i < current.glyphVector.getNumGlyphs(); i++ ) + { + if( wsglyphs[ cws * 2 ] == run && wsglyphs[ cws * 2 + 1 ] == i ) + { + cws++; // update 'current whitespace' + w += deltaW; // increment the shift + } + Point2D p = current.glyphVector.getGlyphPosition( i ); + p.setLocation( p.getX() + w, p.getY() ); + current.glyphVector.setGlyphPosition( i, p ); + } + } } public TextHitInfo hitTestChar (float x, float y) { - return hitTestChar(x, y, getBounds()); + return hitTestChar(x, y, getNaturalBounds()); } + /** + * Finds the character hit at the specified point. This 'clips' this + * text layout against the specified bounds rectangle. That + * means that in the case where a point is outside these bounds, this method + * returns the leading edge of the first character or the trailing edge of + * the last character. + * + * @param x the X location to test + * @param y the Y location to test + * @param bounds the bounds to test against + * + * @return the character hit at the specified point + */ public TextHitInfo hitTestChar (float x, float y, Rectangle2D bounds) - throws NotImplementedException { - throw new Error ("not implemented"); + // Check bounds. + if (isVertical()) + { + if (y < bounds.getMinY()) + return TextHitInfo.leading(0); + else if (y > bounds.getMaxY()) + return TextHitInfo.trailing(getCharacterCount() - 1); + } + else + { + if (x < bounds.getMinX()) + return TextHitInfo.leading(0); + else if (x > bounds.getMaxX()) + return TextHitInfo.trailing(getCharacterCount() - 1); + } + + TextHitInfo hitInfo = null; + if (isVertical()) + { + // Search for the run at the location. + // TODO: Perform binary search for maximum efficiency. However, we + // need the run location laid out statically to do that. + int numRuns = runs.length; + Run hitRun = null; + for (int i = 0; i < numRuns && hitRun == null; i++) + { + Run run = runs[i]; + Rectangle2D lBounds = run.glyphVector.getLogicalBounds(); + if (lBounds.getMinY() + run.location <= y + && lBounds.getMaxY() + run.location >= y) + hitRun = run; + } + // Now we have (hopefully) found a run that hits. Now find the + // right character. + if (hitRun != null) + { + GlyphVector gv = hitRun.glyphVector; + for (int i = hitRun.runStart; + i < hitRun.runEnd && hitInfo == null; i++) + { + int gi = i - hitRun.runStart; + Rectangle2D lBounds = gv.getGlyphLogicalBounds(gi) + .getBounds2D(); + if (lBounds.getMinY() + hitRun.location <= y + && lBounds.getMaxY() + hitRun.location >= y) + { + // Found hit. Now check if we are leading or trailing. + boolean leading = true; + if (lBounds.getCenterY() + hitRun.location <= y) + leading = false; + hitInfo = leading ? TextHitInfo.leading(i) + : TextHitInfo.trailing(i); + } + } + } + } + else + { + // Search for the run at the location. + // TODO: Perform binary search for maximum efficiency. However, we + // need the run location laid out statically to do that. + int numRuns = runs.length; + Run hitRun = null; + for (int i = 0; i < numRuns && hitRun == null; i++) + { + Run run = runs[i]; + Rectangle2D lBounds = run.glyphVector.getLogicalBounds(); + if (lBounds.getMinX() + run.location <= x + && lBounds.getMaxX() + run.location >= x) + hitRun = run; + } + // Now we have (hopefully) found a run that hits. Now find the + // right character. + if (hitRun != null) + { + GlyphVector gv = hitRun.glyphVector; + for (int i = hitRun.runStart; + i < hitRun.runEnd && hitInfo == null; i++) + { + int gi = i - hitRun.runStart; + Rectangle2D lBounds = gv.getGlyphLogicalBounds(gi) + .getBounds2D(); + if (lBounds.getMinX() + hitRun.location <= x + && lBounds.getMaxX() + hitRun.location >= x) + { + // Found hit. Now check if we are leading or trailing. + boolean leading = true; + if (lBounds.getCenterX() + hitRun.location <= x) + leading = false; + hitInfo = leading ? TextHitInfo.leading(i) + : TextHitInfo.trailing(i); + } + } + } + } + return hitInfo; } public boolean isLeftToRight () @@ -680,17 +1262,126 @@ public final class TextLayout implements Cloneable } public int hashCode () - throws NotImplementedException { - throw new Error ("not implemented"); + // This is implemented in sync to equals(). + if (hash == 0 && runs.length > 0) + { + hash = runs.length; + for (int i = 0; i < runs.length; i++) + hash ^= runs[i].glyphVector.hashCode(); + } + return hash; } public String toString () { - return "TextLayout [string:"+string+", Font:"+font+" Rendercontext:"+ + return "TextLayout [string:"+ new String(string, offset, length) + +" Rendercontext:"+ frc+"]"; } + /** + * Returns the natural bounds of that text layout. This is made up + * of the ascent plus descent and the text advance. + * + * @return the natural bounds of that text layout + */ + private Rectangle2D getNaturalBounds() + { + if (naturalBounds == null) + naturalBounds = new Rectangle2D.Float(0.0F, -getAscent(), getAdvance(), + getAscent() + getDescent()); + return naturalBounds; + } + + private void checkHitInfo(TextHitInfo hit) + { + if (hit == null) + throw new IllegalArgumentException("Null hit info not allowed"); + int index = hit.getInsertionIndex(); + if (index < 0 || index > length) + throw new IllegalArgumentException("Hit index out of range"); + } + + private int hitToCaret(TextHitInfo hit) + { + int index = hit.getCharIndex(); + int ret; + if (index < 0) + ret = isLeftToRight() ? 0 : length; + else if (index >= length) + ret = isLeftToRight() ? length : 0; + else + { + ret = logicalToVisual[index]; + if (hit.isLeadingEdge() != isCharacterLTR(index)) + ret++; + } + return ret; + } + + private TextHitInfo caretToHit(int index) + { + TextHitInfo hit; + if (index == 0 || index == length) + { + if ((index == length) == isLeftToRight()) + hit = TextHitInfo.leading(length); + else + hit = TextHitInfo.trailing(-1); + } + else + { + int logical = visualToLogical[index]; + boolean leading = isCharacterLTR(logical); // LTR. + hit = leading ? TextHitInfo.leading(logical) + : TextHitInfo.trailing(logical); + } + return hit; + } + + private boolean isCharacterLTR(int index) + { + byte level = getCharacterLevel(index); + return (level & 1) == 0; + } + + /** + * Finds the run that holds the specified (logical) character index. This + * returns null when the index is not inside the range. + * + * @param index the index of the character to find + * + * @return the run that holds the specified character + */ + private Run findRunAtIndex(int index) + { + Run found = null; + // TODO: Can we do better than linear searching here? + for (int i = 0; i < runs.length && found == null; i++) + { + Run run = runs[i]; + if (run.runStart <= index && run.runEnd > index) + found = run; + } + return found; + } + + /** + * Computes the layout locations for each run. + */ + private void layoutRuns() + { + float loc = 0.0F; + float lastWidth = 0.0F; + for (int i = 0; i < runs.length; i++) + { + runs[i].location = loc; + Rectangle2D bounds = runs[i].glyphVector.getLogicalBounds(); + loc += isVertical() ? bounds.getHeight() : bounds.getWidth(); + } + } + /** * Inner class describing a caret policy */ @@ -703,9 +1394,25 @@ public final class TextLayout implements Cloneable public TextHitInfo getStrongCaret(TextHitInfo hit1, TextHitInfo hit2, TextLayout layout) - throws NotImplementedException { - throw new Error ("not implemented"); + byte l1 = layout.getCharacterLevel(hit1.getCharIndex()); + byte l2 = layout.getCharacterLevel(hit2.getCharIndex()); + TextHitInfo strong; + if (l1 == l2) + { + if (hit2.isLeadingEdge() && ! hit1.isLeadingEdge()) + strong = hit2; + else + strong = hit1; + } + else + { + if (l1 < l2) + strong = hit1; + else + strong = hit2; + } + return strong; } } } diff --git a/libjava/classpath/java/awt/geom/AffineTransform.java b/libjava/classpath/java/awt/geom/AffineTransform.java index 55b6883553d..5bc51ddee81 100644 --- a/libjava/classpath/java/awt/geom/AffineTransform.java +++ b/libjava/classpath/java/awt/geom/AffineTransform.java @@ -1401,10 +1401,10 @@ public class AffineTransform implements Cloneable, Serializable * documented, but appears to be the same as: *
        * long l = Double.doubleToLongBits(getScaleX());
    -   * l = l * 31 + Double.doubleToLongBits(getShearY());
        * l = l * 31 + Double.doubleToLongBits(getShearX());
    -   * l = l * 31 + Double.doubleToLongBits(getScaleY());
        * l = l * 31 + Double.doubleToLongBits(getTranslateX());
    +   * l = l * 31 + Double.doubleToLongBits(getShearY());
    +   * l = l * 31 + Double.doubleToLongBits(getScaleY());
        * l = l * 31 + Double.doubleToLongBits(getTranslateY());
        * return (int) ((l >> 32) ^ l);
        * 
    @@ -1413,12 +1413,12 @@ public class AffineTransform implements Cloneable, Serializable */ public int hashCode() { - long l = Double.doubleToLongBits(m00); - l = l * 31 + Double.doubleToLongBits(m10); - l = l * 31 + Double.doubleToLongBits(m01); - l = l * 31 + Double.doubleToLongBits(m11); - l = l * 31 + Double.doubleToLongBits(m02); - l = l * 31 + Double.doubleToLongBits(m12); + long l = Double.doubleToLongBits(m00); + l = l * 31 + Double.doubleToLongBits(m01); + l = l * 31 + Double.doubleToLongBits(m02); + l = l * 31 + Double.doubleToLongBits(m10); + l = l * 31 + Double.doubleToLongBits(m11); + l = l * 31 + Double.doubleToLongBits(m12); return (int) ((l >> 32) ^ l); } diff --git a/libjava/classpath/java/awt/geom/Arc2D.java b/libjava/classpath/java/awt/geom/Arc2D.java index eff34a08144..8d5b01cd5bb 100644 --- a/libjava/classpath/java/awt/geom/Arc2D.java +++ b/libjava/classpath/java/awt/geom/Arc2D.java @@ -774,14 +774,9 @@ public abstract class Arc2D extends RectangularShape y = a.getY(); w = a.getWidth(); h = a.getHeight(); - double start = a.getAngleStart() * (Math.PI / 180); - double extent = a.getAngleExtent() * (Math.PI / 180); + double start = Math.toRadians(a.getAngleStart()); + double extent = Math.toRadians(a.getAngleExtent()); - if (extent < 0) - { - extent = -extent; - start = 2 * Math.PI - extent + start; - } this.start = start; this.extent = extent; @@ -790,11 +785,11 @@ public abstract class Arc2D extends RectangularShape limit = -1; else if (extent == 0) limit = type; - else if (extent <= Math.PI / 2.0) + else if (Math.abs(extent) <= Math.PI / 2.0) limit = type + 1; - else if (extent <= Math.PI) + else if (Math.abs(extent) <= Math.PI) limit = type + 2; - else if (extent <= 3.0 * (Math.PI / 2.0)) + else if (Math.abs(extent) <= 3.0 * (Math.PI / 2.0)) limit = type + 3; else limit = type + 4; @@ -909,9 +904,20 @@ public abstract class Arc2D extends RectangularShape double kappa = (Math.sqrt(2.0) - 1.0) * (4.0 / 3.0); double quad = (Math.PI / 2.0); - double curr_begin = start + (current - 1) * quad; - double curr_extent = Math.min((start + extent) - curr_begin, quad); - double portion_of_a_quadrant = curr_extent / quad; + double curr_begin; + double curr_extent; + if (extent > 0) + { + curr_begin = start + (current - 1) * quad; + curr_extent = Math.min((start + extent) - curr_begin, quad); + } + else + { + curr_begin = start - (current - 1) * quad; + curr_extent = Math.max((start + extent) - curr_begin, -quad); + } + + double portion_of_a_quadrant = Math.abs(curr_extent / quad); double x0 = xmid + rx * Math.cos(curr_begin); double y0 = ymid - ry * Math.sin(curr_begin); @@ -932,7 +938,11 @@ public abstract class Arc2D extends RectangularShape // will *subtract* the y value of this control vector from our first // point. cvec[0] = 0; - cvec[1] = len; + if (extent > 0) + cvec[1] = len; + else + cvec[1] = -len; + trans.scale(rx, ry); trans.rotate(angle); trans.transform(cvec, 0, cvec, 0, 1); @@ -942,7 +952,11 @@ public abstract class Arc2D extends RectangularShape // control vector #2 would, ideally, be sticking out and to the // right, in a first quadrant arc segment. again, subtraction of y. cvec[0] = 0; - cvec[1] = -len; + if (extent > 0) + cvec[1] = -len; + else + cvec[1] = len; + trans.rotate(curr_extent); trans.transform(cvec, 0, cvec, 0, 1); coords[2] = x1 + cvec[0]; diff --git a/libjava/classpath/java/awt/geom/GeneralPath.java b/libjava/classpath/java/awt/geom/GeneralPath.java index e0ca8e18357..1e9ede5ee67 100644 --- a/libjava/classpath/java/awt/geom/GeneralPath.java +++ b/libjava/classpath/java/awt/geom/GeneralPath.java @@ -86,7 +86,7 @@ public final class GeneralPath implements Shape, Cloneable public static final int WIND_EVEN_ODD = java.awt.geom.PathIterator.WIND_EVEN_ODD; - /** Same constant as {@link PathIterator.WIND_NON_ZERO}. */ + /** Same constant as {@link PathIterator#WIND_NON_ZERO}. */ public static final int WIND_NON_ZERO = java.awt.geom.PathIterator.WIND_NON_ZERO; @@ -140,7 +140,11 @@ public final class GeneralPath implements Shape, Cloneable /** * Constructs a GeneralPath with a specific winding rule * and the default initial capacity (20). - * @param rule the winding rule (WIND_NON_ZERO or WIND_EVEN_ODD) + * @param rule the winding rule ({@link #WIND_NON_ZERO} or + * {@link #WIND_EVEN_ODD}) + * + * @throws IllegalArgumentException if rule is not one of the + * listed values. */ public GeneralPath(int rule) { @@ -151,8 +155,12 @@ public final class GeneralPath implements Shape, Cloneable * Constructs a GeneralPath with a specific winding rule * and the initial capacity. The initial capacity should be * the approximate number of path segments to be used. - * @param rule the winding rule (WIND_NON_ZERO or WIND_EVEN_ODD) + * @param rule the winding rule ({@link #WIND_NON_ZERO} or + * {@link #WIND_EVEN_ODD}) * @param capacity the inital capacity, in path segments + * + * @throws IllegalArgumentException if rule is not one of the + * listed values. */ public GeneralPath(int rule, int capacity) { @@ -169,7 +177,10 @@ public final class GeneralPath implements Shape, Cloneable /** * Constructs a GeneralPath from an arbitrary shape object. * The Shapes PathIterator path and winding rule will be used. - * @param s the shape + * + * @param s the shape (null not permitted). + * + * @throws NullPointerException if shape is null. */ public GeneralPath(Shape s) { @@ -183,6 +194,9 @@ public final class GeneralPath implements Shape, Cloneable /** * Adds a new point to a path. + * + * @param x the x-coordinate. + * @param y the y-coordinate. */ public void moveTo(float x, float y) { @@ -263,6 +277,11 @@ public final class GeneralPath implements Shape, Cloneable * Appends the segments of a Shape to the path. If connect is * true, the new path segments are connected to the existing one with a line. * The winding rule of the Shape is ignored. + * + * @param s the shape (null not permitted). + * @param connect whether to connect the new shape to the existing path. + * + * @throws NullPointerException if s is null. */ public void append(Shape s, boolean connect) { @@ -276,7 +295,7 @@ public final class GeneralPath implements Shape, Cloneable * PathIterator#SEG_LINETO} segment. * * @param iter the PathIterator specifying which segments shall be - * appended. + * appended (null not permitted). * * @param connect true for substituting the initial * {@link PathIterator#SEG_MOVETO} segment by a {@link @@ -327,6 +346,8 @@ public final class GeneralPath implements Shape, Cloneable /** * Returns the path’s current winding rule. + * + * @return {@link #WIND_EVEN_ODD} or {@link #WIND_NON_ZERO}. */ public int getWindingRule() { @@ -338,6 +359,8 @@ public final class GeneralPath implements Shape, Cloneable * considered ’inside’ or ’outside’ the path * on drawing. Valid rules are WIND_EVEN_ODD for an even-odd winding rule, * or WIND_NON_ZERO for a non-zero winding rule. + * + * @param rule the rule ({@link #WIND_EVEN_ODD} or {@link #WIND_NON_ZERO}). */ public void setWindingRule(int rule) { @@ -348,6 +371,8 @@ public final class GeneralPath implements Shape, Cloneable /** * Returns the current appending point of the path. + * + * @return The point. */ public Point2D getCurrentPoint() { @@ -367,6 +392,8 @@ public final class GeneralPath implements Shape, Cloneable /** * Applies a transform to the path. + * + * @param xform the transform (null not permitted). */ public void transform(AffineTransform xform) { @@ -706,6 +733,8 @@ public final class GeneralPath implements Shape, Cloneable /** * Helper method - ensure the size of the data arrays, * otherwise, reallocate new ones twice the size + * + * @param size the minimum array size. */ private void ensureSize(int size) { diff --git a/libjava/classpath/java/awt/geom/RectangularShape.java b/libjava/classpath/java/awt/geom/RectangularShape.java index 8f66dabf2e7..3ee1615413f 100644 --- a/libjava/classpath/java/awt/geom/RectangularShape.java +++ b/libjava/classpath/java/awt/geom/RectangularShape.java @@ -326,15 +326,12 @@ public abstract class RectangularShape implements Shape, Cloneable /** * Returns a bounding box for this shape, in integer format. Notice that you - * may get a tighter bound with getBounds2D. If the frame is empty, the - * box is the default empty box at the origin. + * may get a tighter bound with getBounds2D. * * @return a bounding box */ public Rectangle getBounds() { - if (isEmpty()) - return new Rectangle(); double x = getX(); double y = getY(); double maxx = Math.ceil(x + getWidth()); diff --git a/libjava/classpath/java/awt/geom/RoundRectangle2D.java b/libjava/classpath/java/awt/geom/RoundRectangle2D.java index ac0e6f8128a..ac4d89fff80 100644 --- a/libjava/classpath/java/awt/geom/RoundRectangle2D.java +++ b/libjava/classpath/java/awt/geom/RoundRectangle2D.java @@ -1,5 +1,5 @@ /* RoundRectangle2D.java -- represents a rectangle with rounded corners - Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation + Copyright (C) 2000, 2002, 2003, 2004, 2006, Free Software Foundation This file is part of GNU Classpath. @@ -37,7 +37,6 @@ exception statement from your version. */ package java.awt.geom; -import java.util.NoSuchElementException; /** This class implements a rectangle with rounded corners. @@ -46,13 +45,29 @@ import java.util.NoSuchElementException; */ public abstract class RoundRectangle2D extends RectangularShape { - /** Return the arc height of this round rectangle. */ + /** + * Return the arc height of this round rectangle. The arc height and width + * control the roundness of the corners of the rectangle. + * + * @return The arc height. + * + * @see #getArcWidth() + */ public abstract double getArcHeight(); - /** Return the arc width of this round rectangle. */ + /** + * Return the arc width of this round rectangle. The arc width and height + * control the roundness of the corners of the rectangle. + * + * @return The arc width. + * + * @see #getArcHeight() + */ public abstract double getArcWidth(); - /** Set the values of this round rectangle + /** + * Set the values of this round rectangle. + * * @param x The x coordinate * @param y The y coordinate * @param w The width @@ -63,14 +78,16 @@ public abstract class RoundRectangle2D extends RectangularShape public abstract void setRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight); - /** Create a RoundRectangle2D. This is protected because this class + /** + * Create a RoundRectangle2D. This is protected because this class * is abstract and cannot be instantiated. */ protected RoundRectangle2D() { } - /** Return true if this object contains the specified point. + /** + * Return true if this object contains the specified point. * @param x The x coordinate * @param y The y coordinate */ @@ -106,7 +123,8 @@ public abstract class RoundRectangle2D extends RectangularShape return dx * dx + dy * dy <= 1.0; } - /** Return true if this object contains the specified rectangle + /** + * Return true if this object contains the specified rectangle * @param x The x coordinate * @param y The y coordinate * @param w The width @@ -120,176 +138,185 @@ public abstract class RoundRectangle2D extends RectangularShape && contains(x + w, y)); } - /** Return a new path iterator which iterates over this rectangle. + /** + * Return a new path iterator which iterates over this rectangle. + * * @param at An affine transform to apply to the object */ - public PathIterator getPathIterator(final AffineTransform at) + public PathIterator getPathIterator(final AffineTransform at) { - final double minx = getX(); - final double miny = getY(); - final double maxx = minx + getWidth(); - final double maxy = miny + getHeight(); - final double arcwidth = getArcWidth(); - final double archeight = getArcHeight(); - return new PathIterator() + double arcW = Math.min(getArcWidth(), getWidth()); + double arcH = Math.min(getArcHeight(), getHeight()); + + // check for special cases... + if (arcW <= 0 || arcH <= 0) + { + Rectangle2D r = new Rectangle2D.Double(getX(), getY(), getWidth(), + getHeight()); + return r.getPathIterator(at); + } + else if (arcW >= getWidth() && arcH >= getHeight()) + { + Ellipse2D e = new Ellipse2D.Double(getX(), getY(), getWidth(), + getHeight()); + return e.getPathIterator(at); + } + + // otherwise return the standard case... + return new PathIterator() + { + double x = getX(); + double y = getY(); + double w = getWidth(); + double h = getHeight(); + double arcW = Math.min(getArcWidth(), w); + double arcH = Math.min(getArcHeight(), h); + Arc2D.Double arc = new Arc2D.Double(); + PathIterator corner; + int step = -1; + + public int currentSegment(double[] coords) + { + if (corner != null) // steps 1, 3, 5 and 7 + { + int r = corner.currentSegment(coords); + if (r == SEG_MOVETO) + r = SEG_LINETO; + return r; + } + if (step == -1) + { + // move to the start position + coords[0] = x + w - arcW / 2; + coords[1] = y; + } + else if (step == 0) + { + // top line + coords[0] = x + arcW / 2; + coords[1] = y; + } + else if (step == 2) + { + // left line + coords[0] = x; + coords[1] = y + h - arcH / 2; + } + else if (step == 4) + { + // bottom line + coords[0] = x + w - arcW / 2; + coords[1] = y + h; + } + else if (step == 6) + { + // right line + coords[0] = x + w; + coords[1] = y + arcH / 2; + } + if (at != null) + at.transform(coords, 0, coords, 0, 1); + return step == -1 ? SEG_MOVETO : SEG_LINETO; + } + + public int currentSegment(float[] coords) { + if (corner != null) // steps 1, 3, 5 and 7 + { + int r = corner.currentSegment(coords); + if (r == SEG_MOVETO) + r = SEG_LINETO; + return r; + } + if (step == -1) + { + // move to the start position + coords[0] = (float) (x + w - arcW / 2); + coords[1] = (float) y; + } + else if (step == 0) + { + // top line + coords[0] = (float) (x + arcW / 2); + coords[1] = (float) y; + } + else if (step == 2) + { + // left line + coords[0] = (float) x; + coords[1] = (float) (y + h - arcH / 2); + } + else if (step == 4) + { + // bottom line + coords[0] = (float) (x + w - arcW / 2); + coords[1] = (float) (y + h); + } + else if (step == 6) + { + // right line + coords[0] = (float) (x + w); + coords[1] = (float) (y + arcH / 2); + } + if (at != null) + at.transform(coords, 0, coords, 0, 1); + return step == -1 ? SEG_MOVETO : SEG_LINETO; + } + + public int getWindingRule() { + return WIND_NON_ZERO; + } + + public boolean isDone() { + return step >= 8; + } + + public void next() { - /** We iterate counterclockwise around the rectangle, starting in the - * upper right. This variable tracks our current point, which - * can be on either side of a given corner. */ - private int current = 0; - - /** Child path iterator, used for corners. */ - private PathIterator corner; - - /** This is used when rendering the corners. We re-use the arc - * for each corner. */ - private Arc2D arc = new Arc2D.Double(); - - /** Temporary array used by getPoint. */ - private double[] temp = new double[2]; - - public int getWindingRule() - { - return WIND_NON_ZERO; - } - - public boolean isDone() - { - return current > 9; - } - - private void getPoint(int val) - { - switch (val) - { - case 0: - case 8: - temp[0] = maxx; - temp[1] = miny + archeight; - break; - case 7: - temp[0] = maxx; - temp[1] = maxy - archeight; - break; - case 6: - temp[0] = maxx - arcwidth; - temp[1] = maxy; - break; - case 5: - temp[0] = minx + arcwidth; - temp[1] = maxy; - break; - case 4: - temp[0] = minx; - temp[1] = maxy - archeight; - break; - case 3: - temp[0] = minx; - temp[1] = miny + archeight; - break; - case 2: - temp[0] = minx + arcwidth; - temp[1] = miny; - break; - case 1: - temp[0] = maxx - arcwidth; - temp[1] = miny; - break; - } - } - - public void next() - { - if (current >= 8) - ++current; - else if (corner != null) - { - // We're iterating through the corner. Work on the child - // iterator; if it finishes, reset and move to the next - // point along the rectangle. - corner.next(); - if (corner.isDone()) - { - corner = null; - ++current; - } - } - else - { - // Make an arc between this point on the rectangle and - // the next one, and then iterate over this arc. - getPoint(current); - double x1 = temp[0]; - double y1 = temp[1]; - getPoint(current + 1); - Rectangle2D.Double r = new Rectangle2D.Double(Math.min(x1, - temp[0]), - Math.min(y1, - temp[1]), - Math.abs(x1 - - temp[0]), - Math.abs(y1 - - temp[1])); - arc.setArc(r, (current >> 1) * 90.0, 90.0, Arc2D.OPEN); - corner = arc.getPathIterator(at); - } - } - - public int currentSegment(float[] coords) - { - if (corner != null) - { - int r = corner.currentSegment(coords); - if (r == SEG_MOVETO) - r = SEG_LINETO; - return r; - } - - if (current < 9) - { - getPoint(current); - coords[0] = (float) temp[0]; - coords[1] = (float) temp[1]; - } - else if (current == 9) - return SEG_CLOSE; - else - throw new NoSuchElementException("rect iterator out of bounds"); - - if (at != null) - at.transform(coords, 0, coords, 0, 1); - return current == 0 ? SEG_MOVETO : SEG_LINETO; - } - - public int currentSegment(double[] coords) - { - if (corner != null) - { - int r = corner.currentSegment(coords); - if (r == SEG_MOVETO) - r = SEG_LINETO; - return r; - } - - if (current < 9) - { - getPoint(current); - coords[0] = temp[0]; - coords[1] = temp[1]; - } - else if (current == 9) - return SEG_CLOSE; - else - throw new NoSuchElementException("rect iterator out of bounds"); - - if (at != null) - at.transform(coords, 0, coords, 0, 1); - return current == 0 ? SEG_MOVETO : SEG_LINETO; - } - }; + if (corner != null) + { + corner.next(); + if (corner.isDone()) + { + corner = null; + step++; + } + } + else + { + step++; + if (step == 1) + { + // create top left corner + arc.setArc(x, y, arcW, arcH, 90, 90, Arc2D.OPEN); + corner = arc.getPathIterator(at); + } + else if (step == 3) + { + // create bottom left corner + arc.setArc(x, y + h - arcH, arcW, arcH, 180, 90, + Arc2D.OPEN); + corner = arc.getPathIterator(at); + } + else if (step == 5) + { + // create bottom right corner + arc.setArc(x + w - arcW, y + h - arcH, arcW, arcH, 270, 90, + Arc2D.OPEN); + corner = arc.getPathIterator(at); + } + else if (step == 7) + { + // create top right corner + arc.setArc(x + w - arcW, y, arcW, arcH, 0, 90, Arc2D.OPEN); + corner = arc.getPathIterator(at); + } + } + } + }; } - /** Return true if the given rectangle intersects this shape. + /** + * Return true if the given rectangle intersects this shape. * @param x The x coordinate * @param y The y coordinate * @param w The width @@ -302,7 +329,8 @@ public abstract class RoundRectangle2D extends RectangularShape || contains(x + w, y)); } - /** Set the boundary of this round rectangle. + /** + * Set the boundary of this round rectangle. * @param x The x coordinate * @param y The y coordinate * @param w The width @@ -314,7 +342,8 @@ public abstract class RoundRectangle2D extends RectangularShape setRoundRect(x, y, w, h, getArcWidth(), getArcHeight()); } - /** Set the values of this round rectangle to be the same as those + /** + * Set the values of this round rectangle to be the same as those * of the argument. * @param rr The round rectangle to copy */ @@ -324,8 +353,10 @@ public abstract class RoundRectangle2D extends RectangularShape rr.getArcWidth(), rr.getArcHeight()); } - /** A subclass of RoundRectangle which keeps its parameters as - * doubles. */ + /** + * A subclass of RoundRectangle which keeps its parameters as + * doubles. + */ public static class Double extends RoundRectangle2D { /** The height of the corner arc. */ @@ -346,12 +377,15 @@ public abstract class RoundRectangle2D extends RectangularShape /** The height of this object. */ public double height; - /** Construct a new instance, with all parameters set to 0. */ + /** + * Construct a new instance, with all parameters set to 0. + */ public Double() { } - /** Construct a new instance with the given arguments. + /** + * Construct a new instance with the given arguments. * @param x The x coordinate * @param y The y coordinate * @param w The width @@ -422,8 +456,10 @@ public abstract class RoundRectangle2D extends RectangularShape } } // class Double - /** A subclass of RoundRectangle which keeps its parameters as - * floats. */ + /** + * A subclass of RoundRectangle which keeps its parameters as + * floats. + */ public static class Float extends RoundRectangle2D { /** The height of the corner arc. */ @@ -444,12 +480,15 @@ public abstract class RoundRectangle2D extends RectangularShape /** The height of this object. */ public float height; - /** Construct a new instance, with all parameters set to 0. */ + /** + * Construct a new instance, with all parameters set to 0. + */ public Float() { } - /** Construct a new instance with the given arguments. + /** + * Construct a new instance with the given arguments. * @param x The x coordinate * @param y The y coordinate * @param w The width @@ -508,6 +547,18 @@ public abstract class RoundRectangle2D extends RectangularShape return width <= 0 || height <= 0; } + /** + * Sets the dimensions for this rounded rectangle. + * + * @param x the x-coordinate of the top left corner. + * @param y the y-coordinate of the top left corner. + * @param w the width of the rectangle. + * @param h the height of the rectangle. + * @param arcWidth the arc width. + * @param arcHeight the arc height. + * + * @see #setRoundRect(double, double, double, double, double, double) + */ public void setRoundRect(float x, float y, float w, float h, float arcWidth, float arcHeight) { diff --git a/libjava/classpath/java/awt/im/InputContext.java b/libjava/classpath/java/awt/im/InputContext.java index 3806736df3d..c81993215e8 100644 --- a/libjava/classpath/java/awt/im/InputContext.java +++ b/libjava/classpath/java/awt/im/InputContext.java @@ -1,5 +1,5 @@ /* InputContext.java -- provides the context for text input - Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -76,6 +76,7 @@ import java.util.Locale; * java.awt.im.spi.InputMethodDescriptor. * * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Component#getInputContext() * @see Component#enableInputMethods(boolean) * @since 1.2 @@ -86,7 +87,9 @@ public class InputContext /** * The list of installed input method descriptors. */ - private static final ArrayList descriptors = new ArrayList(); + private static final ArrayList descriptors + = new ArrayList(); + static { Enumeration e; @@ -123,7 +126,7 @@ public class InputContext { if (line.charAt(0) != '#') { - Class c = Class.forName(line); + Class c = Class.forName(line); descriptors.add((InputMethodDescriptor) c.newInstance()); } line = in.readLine().trim(); @@ -143,7 +146,8 @@ public class InputContext private InputMethod im; /** Map of locales to the most recently selected input method. */ - private final HashMap recent = new HashMap(); + private final HashMap recent + = new HashMap(); /** The list of acceptable character subsets. */ private Character.Subset[] subsets; diff --git a/libjava/classpath/java/awt/im/InputMethodHighlight.java b/libjava/classpath/java/awt/im/InputMethodHighlight.java index 6fbe42fe549..a2ee86d44fc 100644 --- a/libjava/classpath/java/awt/im/InputMethodHighlight.java +++ b/libjava/classpath/java/awt/im/InputMethodHighlight.java @@ -41,6 +41,7 @@ import java.awt.Toolkit; import java.text.Annotation; import java.text.AttributedCharacterIterator; import java.util.Map; +import java.awt.font.TextAttribute; /** * This describes the highlight attributes of text composed in an input method. @@ -95,7 +96,7 @@ public class InputMethodHighlight private final int variation; /** The unmodifiable map of rendering styles. */ - private final Map style; + private final Map style; /** * Create an input method highlight style, with variation 0 and null style @@ -134,7 +135,7 @@ public class InputMethodHighlight * @since 1.3 */ public InputMethodHighlight(boolean selected, int state, int variation, - Map style) + Map style) { if (state != RAW_TEXT && state != CONVERTED_TEXT) throw new IllegalArgumentException(); @@ -181,7 +182,7 @@ public class InputMethodHighlight * @return the style map * @since 1.3 */ - public Map getStyle() + public Map getStyle() { return style; } diff --git a/libjava/classpath/java/awt/im/spi/InputMethodContext.java b/libjava/classpath/java/awt/im/spi/InputMethodContext.java index 17ec4f8f7ee..aed21e8d3b4 100644 --- a/libjava/classpath/java/awt/im/spi/InputMethodContext.java +++ b/libjava/classpath/java/awt/im/spi/InputMethodContext.java @@ -1,5 +1,5 @@ /* InputMethodContext.java -- communication between an input method and client - Copyright (C) 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -53,6 +53,7 @@ import javax.swing.JFrame; * {@link InputMethod#setInputMethodContext(InputMethodContext)}. * * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.3 * @status updated to 1.4 */ diff --git a/libjava/classpath/java/awt/image/AffineTransformOp.java b/libjava/classpath/java/awt/image/AffineTransformOp.java index bb4b795231b..849c5b05048 100644 --- a/libjava/classpath/java/awt/image/AffineTransformOp.java +++ b/libjava/classpath/java/awt/image/AffineTransformOp.java @@ -1,6 +1,6 @@ /* AffineTransformOp.java -- This class performs affine transformation between two images or rasters in 2 dimensions. - Copyright (C) 2004 Free Software Foundation + Copyright (C) 2004, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package java.awt.image; import java.awt.Graphics2D; +import java.awt.Point; import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; @@ -48,10 +49,14 @@ import java.awt.geom.Rectangle2D; import java.util.Arrays; /** - * This class performs affine transformation between two images or - * rasters in 2 dimensions. + * AffineTransformOp performs matrix-based transformations (translations, + * scales, flips, rotations, and shears). + * + * If interpolation is required, nearest neighbour, bilinear, and bicubic + * methods are available. * * @author Olga Rodimina (rodimina@redhat.com) + * @author Francis Kung (fkung@redhat.com) */ public class AffineTransformOp implements BufferedImageOp, RasterOp { @@ -74,6 +79,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp * * @param xform AffineTransform that will applied to the source image * @param interpolationType type of interpolation used + * @throws ImagingOpException if the transform matrix is noninvertible */ public AffineTransformOp (AffineTransform xform, int interpolationType) { @@ -102,6 +108,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp * * @param xform AffineTransform that will applied to the source image * @param hints rendering hints that will be used during transformation + * @throws ImagingOpException if the transform matrix is noninvertible */ public AffineTransformOp (AffineTransform xform, RenderingHints hints) { @@ -112,185 +119,165 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp } /** - * Creates empty BufferedImage with the size equal to that of the - * transformed image and correct number of bands. The newly created + * Creates a new BufferedImage with the size equal to that of the + * transformed image and the correct number of bands. The newly created * image is created with the specified ColorModel. - * If the ColorModel is equal to null, then image is created - * with the ColorModel of the source image. + * If a ColorModel is not specified, an appropriate ColorModel is used. * - * @param src source image - * @param destCM color model for the destination image - * @return new compatible destination image + * @param src the source image. + * @param destCM color model for the destination image (can be null). + * @return a new compatible destination image. */ public BufferedImage createCompatibleDestImage (BufferedImage src, ColorModel destCM) { + if (destCM != null) + return new BufferedImage(destCM, + createCompatibleDestRaster(src.getRaster()), + src.isAlphaPremultiplied(), null); + + // This behaviour was determined by Mauve testcases, and is compatible + // with the reference implementation + if (src.getType() == BufferedImage.TYPE_INT_ARGB_PRE + || src.getType() == BufferedImage.TYPE_4BYTE_ABGR + || src.getType() == BufferedImage.TYPE_4BYTE_ABGR_PRE) + return new BufferedImage(src.getWidth(), src.getHeight(), src.getType()); - // if destCm is not specified, use color model of the source image - - if (destCM == null) - destCM = src.getColorModel (); - - return new BufferedImage (destCM, - createCompatibleDestRaster (src.getRaster ()), - src.isAlphaPremultiplied (), - null); - + else + return new BufferedImage(src.getWidth(), src.getHeight(), + BufferedImage.TYPE_INT_ARGB); } /** - * Creates empty WritableRaster with the size equal to the transformed - * source raster and correct number of bands + * Creates a new WritableRaster with the size equal to the transformed + * source raster and correct number of bands . * - * @param src source raster - * @throws RasterFormatException if resulting width or height of raster is 0 - * @return new compatible raster + * @param src the source raster. + * @throws RasterFormatException if resulting width or height of raster is 0. + * @return a new compatible raster. */ public WritableRaster createCompatibleDestRaster (Raster src) { - Rectangle rect = (Rectangle) getBounds2D (src); + Rectangle2D rect = getBounds2D(src); - // throw RasterFormatException if resulting width or height of the - // transformed raster is 0 - - if (rect.getWidth () == 0 || rect.getHeight () == 0) + if (rect.getWidth() == 0 || rect.getHeight() == 0) throw new RasterFormatException("width or height is 0"); - return src.createCompatibleWritableRaster ((int) rect.getWidth (), - (int) rect.getHeight ()); + return src.createCompatibleWritableRaster((int) rect.getWidth(), + (int) rect.getHeight()); } /** * Transforms source image using transform specified at the constructor. - * The resulting transformed image is stored in the destination image. + * The resulting transformed image is stored in the destination image if one + * is provided; otherwise a new BufferedImage is created and returned. * * @param src source image * @param dst destination image - * @return transformed source image + * @throws IllegalArgumentException if the source and destination image are + * the same + * @return transformed source image. */ public final BufferedImage filter (BufferedImage src, BufferedImage dst) { - if (dst == src) - throw new IllegalArgumentException ("src image cannot be the same as the dst image"); - - // If the destination image is null, then BufferedImage is - // created with ColorModel of the source image + throw new IllegalArgumentException("src image cannot be the same as " + + "the dst image"); + // If the destination image is null, then use a compatible BufferedImage if (dst == null) - dst = createCompatibleDestImage(src, src.getColorModel ()); - - // FIXME: Must check if color models of src and dst images are the same. - // If it is not, then source image should be converted to color model - // of the destination image + dst = createCompatibleDestImage(src, null); - Graphics2D gr = (Graphics2D) dst.createGraphics (); - gr.setRenderingHints (hints); - gr.drawImage (src, transform, null); + Graphics2D gr = (Graphics2D) dst.createGraphics(); + gr.setRenderingHints(hints); + gr.drawImage(src, transform, null); return dst; - } /** * Transforms source raster using transform specified at the constructor. - * The resulting raster is stored in the destination raster. + * The resulting raster is stored in the destination raster if it is not + * null, otherwise a new raster is created and returned. * * @param src source raster * @param dst destination raster - * @return transformed raster + * @throws IllegalArgumentException if the source and destination are not + * compatible + * @return transformed raster. */ - public final WritableRaster filter (Raster src, WritableRaster dst) + public final WritableRaster filter(Raster src, WritableRaster dst) { + // Initial checks if (dst == src) throw new IllegalArgumentException("src image cannot be the same as" - + " the dst image"); + + " the dst image"); if (dst == null) dst = createCompatibleDestRaster(src); if (src.getNumBands() != dst.getNumBands()) throw new IllegalArgumentException("src and dst must have same number" - + " of bands"); + + " of bands"); - double[] dpts = new double[dst.getWidth() * 2]; - double[] pts = new double[dst.getWidth() * 2]; + // Optimization for rasters that can be represented in the RGB colormodel: + // wrap the rasters in images, and let Cairo do the transformation + if (ColorModel.getRGBdefault().isCompatibleSampleModel(src.getSampleModel()) + && ColorModel.getRGBdefault().isCompatibleSampleModel(dst.getSampleModel())) + { + WritableRaster src2 = Raster.createWritableRaster(src.getSampleModel(), + src.getDataBuffer(), + new Point(src.getMinX(), + src.getMinY())); + BufferedImage iSrc = new BufferedImage(ColorModel.getRGBdefault(), + src2, false, null); + BufferedImage iDst = new BufferedImage(ColorModel.getRGBdefault(), dst, + false, null); + + return filter(iSrc, iDst).getRaster(); + } + + // Otherwise, we need to do the transformation in java code... + // Create arrays to hold all the points + double[] dstPts = new double[dst.getHeight() * dst.getWidth() * 2]; + double[] srcPts = new double[dst.getHeight() * dst.getWidth() * 2]; + + // Populate array with all points in the *destination* raster + int i = 0; for (int x = 0; x < dst.getWidth(); x++) - { - dpts[2 * x] = x + dst.getMinX(); - dpts[2 * x + 1] = x; - } - Rectangle srcbounds = src.getBounds(); - if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)) - { - for (int y = dst.getMinY(); y < dst.getMinY() + dst.getHeight(); y++) - { - try { - transform.inverseTransform(dpts, 0, pts, 0, dst.getWidth() * 2); - } catch (NoninvertibleTransformException e) { - // Can't happen since the constructor traps this - e.printStackTrace(); - } - - for (int x = 0; x < dst.getWidth(); x++) - { - if (!srcbounds.contains(pts[2 * x], pts[2 * x + 1])) - continue; - dst.setDataElements(x + dst.getMinX(), y, - src.getDataElements((int)pts[2 * x], - (int)pts[2 * x + 1], - null)); - } - } - } - else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)) - { - double[] tmp = new double[4 * src.getNumBands()]; - for (int y = dst.getMinY(); y < dst.getMinY() + dst.getHeight(); y++) { - try { - transform.inverseTransform(dpts, 0, pts, 0, dst.getWidth() * 2); - } catch (NoninvertibleTransformException e) { - // Can't happen since the constructor traps this - e.printStackTrace(); - } - - for (int x = 0; x < dst.getWidth(); x++) - { - if (!srcbounds.contains(pts[2 * x], pts[2 * x + 1])) - continue; - int xx = (int)pts[2 * x]; - int yy = (int)pts[2 * x + 1]; - double dx = (pts[2 * x] - xx); - double dy = (pts[2 * x + 1] - yy); - - // TODO write this more intelligently - if (xx == src.getMinX() + src.getWidth() - 1 || - yy == src.getMinY() + src.getHeight() - 1) + for (int y = 0; y < dst.getHeight(); y++) { - // bottom or right edge - Arrays.fill(tmp, 0); - src.getPixel(xx, yy, tmp); + dstPts[i++] = x; + dstPts[i++] = y; } - else - { - // Normal case - src.getPixels(xx, yy, 2, 2, tmp); - for (int b = 0; b < src.getNumBands(); b++) - tmp[b] = dx * dy * tmp[b] - + (1 - dx) * dy * tmp[b + src.getNumBands()] - + dx * (1 - dy) * tmp[b + 2 * src.getNumBands()] - + (1 - dx) * (1 - dy) * tmp[b + 3 * src.getNumBands()]; - } - dst.setPixel(x, y, tmp); - } } - } - else - { - // Bicubic - throw new UnsupportedOperationException("not implemented yet"); - } + Rectangle srcbounds = src.getBounds(); + + // Use an inverse transform to map each point in the destination to + // a point in the source. Note that, while all points in the destination + // matrix are integers, this is not necessarily true for points in the + // source (hence why interpolation is required) + try + { + AffineTransform inverseTx = transform.createInverse(); + inverseTx.transform(dstPts, 0, srcPts, 0, dstPts.length / 2); + } + catch (NoninvertibleTransformException e) + { + // Shouldn't happen since the constructor traps this + throw new ImagingOpException(e.getMessage()); + } + + // Different interpolation methods... + if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)) + filterNearest(src, dst, dstPts, srcPts); + else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)) + filterBilinear(src, dst, dstPts, srcPts); + + else // bicubic + filterBicubic(src, dst, dstPts, srcPts); + return dst; } @@ -314,27 +301,22 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp */ public final Rectangle2D getBounds2D (Raster src) { - // determine new size for the transformed raster. - // Need to calculate transformed coordinates of the lower right - // corner of the raster. The upper left corner is always (0,0) - - double x2 = (double) src.getWidth () + src.getMinX (); - double y2 = (double) src.getHeight () + src.getMinY (); - Point2D p2 = getPoint2D (new Point2D.Double (x2,y2), null); - - Rectangle2D rect = new Rectangle (0, 0, (int) p2.getX (), (int) p2.getY ()); - return rect.getBounds (); + return transform.createTransformedShape(src.getBounds()).getBounds2D(); } /** - * Returns interpolation type used during transformations + * Returns interpolation type used during transformations. * * @return interpolation type */ public final int getInterpolationType () { - if(hints.containsValue (RenderingHints.VALUE_INTERPOLATION_BILINEAR)) + if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)) return TYPE_BILINEAR; + + else if (hints.containsValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)) + return TYPE_BICUBIC; + else return TYPE_NEAREST_NEIGHBOR; } @@ -355,7 +337,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp /** * Returns rendering hints that are used during transformation. * - * @return rendering hints + * @return the rendering hints used in this Op. */ public final RenderingHints getRenderingHints () { @@ -366,10 +348,261 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp * Returns transform used in transformation between source and destination * image. * - * @return transform + * @return the transform used in this Op. */ public final AffineTransform getTransform () { return transform; } + + /** + * Perform nearest-neighbour filtering + * + * @param src the source raster + * @param dst the destination raster + * @param dpts array of points on the destination raster + * @param pts array of corresponding points on the source raster + */ + private void filterNearest(Raster src, WritableRaster dst, double[] dpts, + double[] pts) + { + Rectangle srcbounds = src.getBounds(); + + // For all points on the destination raster, copy the value from the + // corrosponding (rounded) source point + for (int i = 0; i < dpts.length; i += 2) + { + int srcX = (int) Math.round(pts[i]) + src.getMinX(); + int srcY = (int) Math.round(pts[i + 1]) + src.getMinY(); + + if (srcbounds.contains(srcX, srcY)) + dst.setDataElements((int) dpts[i] + dst.getMinX(), + (int) dpts[i + 1] + dst.getMinY(), + src.getDataElements(srcX, srcY, null)); + } + } + + /** + * Perform bilinear filtering + * + * @param src the source raster + * @param dst the destination raster + * @param dpts array of points on the destination raster + * @param pts array of corresponding points on the source raster + */ + private void filterBilinear(Raster src, WritableRaster dst, double[] dpts, + double[] pts) + { + Rectangle srcbounds = src.getBounds(); + + Object xyarr = null; + Object xp1arr = null; + Object yp1arr = null; + Object xyp1arr = null; + + double xy; + double xp1; + double yp1; + double xyp1; + + double[] result = new double[src.getNumBands()]; + + // For all points in the destination raster, use bilinear interpolation + // to find the value from the corrosponding source points + for (int i = 0; i < dpts.length; i += 2) + { + int srcX = (int) Math.round(pts[i]) + src.getMinX(); + int srcY = (int) Math.round(pts[i + 1]) + src.getMinY(); + + if (srcbounds.contains(srcX, srcY)) + { + // Corner case at the bottom or right edge; use nearest neighbour + if (pts[i] >= src.getWidth() - 1 + || pts[i + 1] >= src.getHeight() - 1) + dst.setDataElements((int) dpts[i] + dst.getMinX(), + (int) dpts[i + 1] + dst.getMinY(), + src.getDataElements(srcX, srcY, null)); + + // Standard case, apply the bilinear formula + else + { + int x = (int) Math.floor(pts[i] + src.getMinX()); + int y = (int) Math.floor(pts[i + 1] + src.getMinY()); + double xdiff = pts[i] + src.getMinX() - x; + double ydiff = pts[i + 1] + src.getMinY() - y; + + // Get surrounding pixels used in interpolation... optimized + // to use the smallest datatype possible. + if (src.getTransferType() == DataBuffer.TYPE_DOUBLE + || src.getTransferType() == DataBuffer.TYPE_FLOAT) + { + xyarr = src.getPixel(x, y, (double[])xyarr); + xp1arr = src.getPixel(x+1, y, (double[])xp1arr); + yp1arr = src.getPixel(x, y+1, (double[])yp1arr); + xyp1arr = src.getPixel(x+1, y+1, (double[])xyp1arr); + } + else + { + xyarr = src.getPixel(x, y, (int[])xyarr); + xp1arr = src.getPixel(x+1, y, (int[])xp1arr); + yp1arr = src.getPixel(x, y+1, (int[])yp1arr); + xyp1arr = src.getPixel(x+1, y+1, (int[])xyp1arr); + } + // using + // array[] pixels = src.getPixels(x, y, 2, 2, pixels); + // instead of doing four individual src.getPixel() calls + // should be faster, but benchmarking shows that it's not... + + // Run interpolation for each band + for (int j = 0; j < src.getNumBands(); j++) + { + // Pull individual sample values out of array + if (src.getTransferType() == DataBuffer.TYPE_DOUBLE + || src.getTransferType() == DataBuffer.TYPE_FLOAT) + { + xy = ((double[])xyarr)[j]; + xp1 = ((double[])xp1arr)[j]; + yp1 = ((double[])yp1arr)[j]; + xyp1 = ((double[])xyp1arr)[j]; + } + else + { + xy = ((int[])xyarr)[j]; + xp1 = ((int[])xp1arr)[j]; + yp1 = ((int[])yp1arr)[j]; + xyp1 = ((int[])xyp1arr)[j]; + } + + // If all four samples are identical, there's no need to + // calculate anything + if (xy == xp1 && xy == yp1 && xy == xyp1) + result[j] = xy; + + // Run bilinear interpolation formula + else + result[j] = (xy * (1-xdiff) + xp1 * xdiff) + * (1-ydiff) + + (yp1 * (1-xdiff) + xyp1 * xdiff) + * ydiff; + } + + dst.setPixel((int)dpts[i] + dst.getMinX(), + (int)dpts[i+1] + dst.getMinY(), + result); + } + } + } + } + + /** + * Perform bicubic filtering + * based on http://local.wasp.uwa.edu.au/~pbourke/colour/bicubic/ + * + * @param src the source raster + * @param dst the destination raster + * @param dpts array of points on the destination raster + * @param pts array of corresponding points on the source raster + */ + private void filterBicubic(Raster src, WritableRaster dst, double[] dpts, + double[] pts) + { + Rectangle srcbounds = src.getBounds(); + double[] result = new double[src.getNumBands()]; + Object pixels = null; + + // For all points on the destination raster, perform bicubic interpolation + // from corrosponding source points + for (int i = 0; i < dpts.length; i += 2) + { + if (srcbounds.contains((int) Math.round(pts[i]) + src.getMinX(), + (int) Math.round(pts[i + 1]) + src.getMinY())) + { + int x = (int) Math.floor(pts[i] + src.getMinX()); + int y = (int) Math.floor(pts[i + 1] + src.getMinY()); + double dx = pts[i] + src.getMinX() - x; + double dy = pts[i + 1] + src.getMinY() - y; + Arrays.fill(result, 0); + + for (int m = - 1; m < 3; m++) + for (int n = - 1; n < 3; n++) + { + // R(x) = ( P(x+2)^3 - 4 P(x+1)^3 + 6 P(x)^3 - 4 P(x-1)^3 ) / 6 + double r1 = 0; + double r2 = 0; + + // Calculate R(m - dx) + double rx = m - dx + 2; + r1 += rx * rx * rx; + + rx = m - dx + 1; + if (rx > 0) + r1 -= 4 * rx * rx * rx; + + rx = m - dx; + if (rx > 0) + r1 += 6 * rx * rx * rx; + + rx = m - dx - 1; + if (rx > 0) + r1 -= 4 * rx * rx * rx; + + r1 /= 6; + + // Calculate R(dy - n); + rx = dy - n + 2; + if (rx > 0) + r2 += rx * rx * rx; + + rx = dy - n + 1; + if (rx > 0) + r2 -= 4 * rx * rx * rx; + + rx = dy - n; + if (rx > 0) + r2 += 6 * rx * rx * rx; + + rx = dy - n - 1; + if (rx > 0) + r2 -= 4 * rx * rx * rx; + + r2 /= 6; + + // Calculate F(i+m, j+n) R(m - dx) R(dy - n) + // Check corner cases + int srcX = x + m; + if (srcX >= src.getMinX() + src.getWidth()) + srcX = src.getMinX() + src.getWidth() - 1; + else if (srcX < src.getMinX()) + srcX = src.getMinX(); + + int srcY = y + n; + if (srcY >= src.getMinY() + src.getHeight()) + srcY = src.getMinY() + src.getHeight() - 1; + else if (srcY < src.getMinY()) + srcY = src.getMinY(); + + // Calculate once for each band, using the smallest + // datatype possible + if (src.getTransferType() == DataBuffer.TYPE_DOUBLE + || src.getTransferType() == DataBuffer.TYPE_FLOAT) + { + pixels = src.getPixel(srcX, srcY, (double[])pixels); + for (int j = 0; j < result.length; j++) + result[j] += ((double[])pixels)[j] * r1 * r2; + } + else + { + pixels = src.getPixel(srcX, srcY, (int[])pixels); + for (int j = 0; j < result.length; j++) + result[j] += ((int[])pixels)[j] * r1 * r2; + } + } + + // Put it all together + dst.setPixel((int)dpts[i] + dst.getMinX(), + (int)dpts[i+1] + dst.getMinY(), + result); + } + } + } } diff --git a/libjava/classpath/java/awt/image/BandCombineOp.java b/libjava/classpath/java/awt/image/BandCombineOp.java index 634125ed23f..d9ce16fad07 100644 --- a/libjava/classpath/java/awt/image/BandCombineOp.java +++ b/libjava/classpath/java/awt/image/BandCombineOp.java @@ -1,4 +1,5 @@ -/* Copyright (C) 2004 Free Software Foundation +/* BandCombineOp.java - perform a combination on the bands of a raster + Copyright (C) 2004, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -36,10 +37,10 @@ exception statement from your version. */ package java.awt.image; -import java.awt.Point; import java.awt.RenderingHints; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; +import java.util.Arrays; /** * Filter Raster pixels by applying a matrix. @@ -53,6 +54,9 @@ import java.awt.geom.Rectangle2D; * for the destination. Therefore the destination Raster must contain the * same number of bands as the number of rows in the filter matrix. * + * This Op assumes that samples are integers; floating point sample types will + * be rounded to their nearest integer value during filtering. + * * @author Jerry Quinn (jlquinn@optonline.net) */ public class BandCombineOp implements RasterOp @@ -65,52 +69,74 @@ public class BandCombineOp implements RasterOp * * @param matrix The matrix to filter pixels with. * @param hints Rendering hints to apply. Ignored. + * @throws ArrayIndexOutOfBoundsException if the matrix is invalid */ public BandCombineOp(float[][] matrix, RenderingHints hints) { - this.matrix = matrix; + this.matrix = new float[matrix.length][]; + int width = matrix[0].length; + for (int i = 0; i < matrix.length; i++) + { + this.matrix[i] = new float[width + 1]; + for (int j = 0; j < width; j++) + this.matrix[i][j] = matrix[i][j]; + + // The reference implementation pads the array with a trailing zero... + this.matrix[i][width] = 0; + } + this.hints = hints; } /** - * Filter Raster pixels through a matrix. - * - * Applies the Op matrix to source pixes to produce dest pixels. Each row - * of the matrix is multiplied by the src pixel components to produce the - * dest pixel. If matrix is one more than the number of bands in the src, - * the last element is implicitly multiplied by 1, i.e. added to the sum - * for that dest component. - * - * If dest is null, a suitable Raster is created. This implementation uses - * createCompatibleDestRaster. + * Filter Raster pixels through a matrix. Applies the Op matrix to source + * pixes to produce dest pixels. Each row of the matrix is multiplied by the + * src pixel components to produce the dest pixel. If matrix is one more than + * the number of bands in the src, the last element is implicitly multiplied + * by 1, i.e. added to the sum for that dest component. If dest is null, a + * suitable Raster is created. This implementation uses + * createCompatibleDestRaster. * * @param src The source Raster. - * @param dest The destination Raster, or null. - * @returns The destination Raster or an allocated Raster. + * @param dest The destination Raster, or null. + * @throws IllegalArgumentException if the destination raster is incompatible + * with the source raster. + * @return The filtered Raster. * @see java.awt.image.RasterOp#filter(java.awt.image.Raster, - *java.awt.image.WritableRaster) + * java.awt.image.WritableRaster) */ public WritableRaster filter(Raster src, WritableRaster dest) { if (dest == null) dest = createCompatibleDestRaster(src); - + else if (dest.getNumBands() != src.getNumBands() + || dest.getTransferType() != src.getTransferType()) + throw new IllegalArgumentException("Destination raster is incompatible with source raster"); + // Filter the pixels - float[] spix = new float[matrix[0].length]; - float[] dpix = new float[matrix.length]; + int[] spix = new int[matrix[0].length - 1]; + int[] spix2 = new int[matrix[0].length - 1]; + int[] dpix = new int[matrix.length]; for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++) for (int x = src.getMinX(); x < src.getWidth() + src.getMinX(); x++) - { - // In case matrix rows have implicit translation - spix[spix.length - 1] = 1.0f; - src.getPixel(x, y, spix); - for (int i = 0; i < matrix.length; i++) { - dpix[i] = 0; - for (int j = 0; j < matrix[0].length; j++) - dpix[i] += spix[j] * matrix[i][j]; + // In case matrix rows have implicit translation + spix[spix.length - 1] = 1; + src.getPixel(x, y, spix); + + // Do not re-calculate if pixel is identical to the last one + // (ie, blocks of the same colour) + if (!Arrays.equals(spix, spix2)) + { + System.arraycopy(spix, 0, spix2, 0, spix.length); + for (int i = 0; i < matrix.length; i++) + { + dpix[i] = 0; + for (int j = 0; j < matrix[0].length - 1; j++) + dpix[i] += spix[j] * (int)matrix[i][j]; + } + } + dest.setPixel(x, y, dpix); } - dest.setPixel(x, y, dpix); - } return dest; } @@ -125,28 +151,48 @@ public class BandCombineOp implements RasterOp /** * Creates a new WritableRaster that can be used as the destination for this - * Op. This implementation creates a Banded Raster with data type FLOAT. - * @see - *java.awt.image.RasterOp#createCompatibleDestRaster(java.awt.image.Raster) + * Op. The number of bands in the source raster must equal the number of rows + * in the op matrix, which must also be equal to either the number of columns + * or (columns - 1) in the matrix. + * + * @param src The source raster. + * @return A compatible raster. + * @see java.awt.image.RasterOp#createCompatibleDestRaster(java.awt.image.Raster) + * @throws IllegalArgumentException if the raster is incompatible with the + * matrix. */ public WritableRaster createCompatibleDestRaster(Raster src) { - return Raster.createBandedRaster(DataBuffer.TYPE_FLOAT, src.getWidth(), - src.getHeight(), matrix.length, - new Point(src.getMinX(), src.getMinY())); + // Destination raster must have same number of bands as source + if (src.getNumBands() != matrix.length) + throw new IllegalArgumentException("Number of rows in matrix specifies an " + + "incompatible number of bands"); + + // We use -1 and -2 because we previously padded the rows with a trailing 0 + if (src.getNumBands() != matrix[0].length - 1 + && src.getNumBands() != matrix[0].length - 2) + throw new IllegalArgumentException("Incompatible number of bands: " + + "the number of bands in the raster must equal the number of " + + "columns in the matrix, optionally minus one"); + + return src.createCompatibleWritableRaster(); } - /** Return corresponding destination point for source point. + /** + * Return corresponding destination point for source point. Because this is + * not a geometric operation, it simply returns a copy of the source. * - * LookupOp will return the value of src unchanged. * @param src The source point. * @param dst The destination point. + * @return dst The destination point. * @see java.awt.image.RasterOp#getPoint2D(java.awt.geom.Point2D, *java.awt.geom.Point2D) */ public final Point2D getPoint2D(Point2D src, Point2D dst) { - if (dst == null) return (Point2D)src.clone(); + if (dst == null) + return (Point2D)src.clone(); + dst.setLocation(src); return dst; } @@ -159,7 +205,11 @@ public class BandCombineOp implements RasterOp return hints; } - /** Return the matrix for this Op. */ + /** + * Return the matrix used in this operation. + * + * @return The matrix used in this operation. + */ public final float[][] getMatrix() { return matrix; diff --git a/libjava/classpath/java/awt/image/BufferedImage.java b/libjava/classpath/java/awt/image/BufferedImage.java index 76848db0833..ef3141d0ead 100644 --- a/libjava/classpath/java/awt/image/BufferedImage.java +++ b/libjava/classpath/java/awt/image/BufferedImage.java @@ -38,6 +38,7 @@ exception statement from your version. */ package java.awt.image; +import gnu.java.awt.Buffers; import gnu.java.awt.ComponentDataBlitOp; import java.awt.Graphics; @@ -79,26 +80,36 @@ public class BufferedImage extends Image TYPE_BYTE_BINARY = 12, TYPE_BYTE_INDEXED = 13; - static final int[] bits3 = { 8, 8, 8 }; - static final int[] bits4 = { 8, 8, 8, 8 }; - static final int[] bits1byte = { 8 }; - static final int[] bits1ushort = { 16 }; - - static final int[] masks_int = { 0x00ff0000, - 0x0000ff00, - 0x000000ff, - DataBuffer.TYPE_INT }; - static final int[] masks_565 = { 0xf800, - 0x07e0, - 0x001f, - DataBuffer.TYPE_USHORT}; - static final int[] masks_555 = { 0x7c00, - 0x03e0, - 0x001f, - DataBuffer.TYPE_USHORT}; - - Vector observers; + /** + * Vector of TileObservers (or null) + */ + Vector tileObservers; + /** + * The image's WritableRaster + */ + WritableRaster raster; + + /** + * The associated ColorModel + */ + ColorModel colorModel; + + /** + * The image's properties (or null) + */ + Hashtable properties; + + /** + * Whether alpha is premultiplied + */ + boolean isPremultiplied; + + /** + * The predefined type, if any. + */ + int type; + /** * Creates a new BufferedImage with the specified width, height * and type. Valid type values are: @@ -119,155 +130,181 @@ public class BufferedImage extends Image *
  • {@link #TYPE_BYTE_INDEXED}
  • * * - * @param w the width (must be > 0). - * @param h the height (must be > 0). + * @param width the width (must be > 0). + * @param height the height (must be > 0). * @param type the image type (see the list of valid types above). * - * @throws IllegalArgumentException if w or h is - * less than or equal to zero. + * @throws IllegalArgumentException if width or + * height is less than or equal to zero. * @throws IllegalArgumentException if type is not one of the * specified values. */ - public BufferedImage(int w, int h, int type) + public BufferedImage(int width, int height, int type) { + SampleModel sm = null; ColorModel cm = null; - - boolean alpha = false; - boolean premultiplied = false; - switch (type) - { - case TYPE_4BYTE_ABGR_PRE: - case TYPE_INT_ARGB_PRE: - premultiplied = true; - // fall through - case TYPE_INT_ARGB: - case TYPE_4BYTE_ABGR: - alpha = true; - } - - ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); - switch (type) + boolean premultiplied = (type == BufferedImage.TYPE_INT_ARGB_PRE || + type == BufferedImage.TYPE_4BYTE_ABGR_PRE); + + switch( type ) { - case TYPE_INT_RGB: - case TYPE_INT_ARGB: - case TYPE_INT_ARGB_PRE: - case TYPE_USHORT_565_RGB: - case TYPE_USHORT_555_RGB: - int[] masks = null; - switch (type) - { - case TYPE_INT_RGB: - case TYPE_INT_ARGB: - case TYPE_INT_ARGB_PRE: - masks = masks_int; - break; - case TYPE_USHORT_565_RGB: - masks = masks_565; - break; - case TYPE_USHORT_555_RGB: - masks = masks_555; - break; - } - - cm = new DirectColorModel(cs, - 32, // 32 bits in an int - masks[0], // r - masks[1], // g - masks[2], // b - alpha ? 0xff000000 : 0, - premultiplied, - masks[3] // data type - ); + case BufferedImage.TYPE_INT_RGB: + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x00FF0000, + 0x0000FF00, + 0x000000FF } ) ; + cm = new DirectColorModel( 24, 0xff0000, 0xff00, 0xff ); break; - case TYPE_INT_BGR: - String msg = - "FIXME: Programmer is confused. Why (and how) does a " + - "TYPE_INT_BGR image use ComponentColorModel to store " + - "8-bit values? Is data type TYPE_INT or TYPE_BYTE. What " + - "is the difference between TYPE_INT_BGR and TYPE_3BYTE_BGR?"; - throw new UnsupportedOperationException(msg); - - case TYPE_3BYTE_BGR: - case TYPE_4BYTE_ABGR: - case TYPE_4BYTE_ABGR_PRE: - case TYPE_BYTE_GRAY: - case TYPE_USHORT_GRAY: - int[] bits = null; - int dataType = DataBuffer.TYPE_BYTE; - switch (type) { - case TYPE_3BYTE_BGR: - bits = bits3; - break; - case TYPE_4BYTE_ABGR: - case TYPE_4BYTE_ABGR_PRE: - bits = bits4; - break; - case TYPE_BYTE_GRAY: - bits = bits1byte; - cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); - break; - case TYPE_USHORT_GRAY: - bits = bits1ushort; - cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); - dataType = DataBuffer.TYPE_USHORT; - break; - } - cm = new ComponentColorModel(cs, bits, alpha, premultiplied, - alpha ? - Transparency.TRANSLUCENT: - Transparency.OPAQUE, - dataType); + case BufferedImage.TYPE_3BYTE_BGR: + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, + width, height, + 3, width * 3, + new int[]{ 2, 1, 0 } ); + cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), + false, false, + BufferedImage.OPAQUE, + DataBuffer.TYPE_BYTE); + break; + + case BufferedImage.TYPE_INT_ARGB: + case BufferedImage.TYPE_INT_ARGB_PRE: + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x00FF0000, + 0x0000FF00, + 0x000000FF, + 0xFF000000 } ); + if (premultiplied) + cm = new DirectColorModel( ColorSpace.getInstance(ColorSpace.CS_sRGB), + 32, 0xff0000, 0xff00, 0xff, 0xff000000, + true, + Buffers.smallestAppropriateTransferType(32)); + else + cm = new DirectColorModel( 32, 0xff0000, 0xff00, 0xff, 0xff000000 ); + break; + + case BufferedImage.TYPE_4BYTE_ABGR: + case BufferedImage.TYPE_4BYTE_ABGR_PRE: + sm = new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, + width, height, + 4, 4*width, + new int[]{3, 2, 1, 0}); + cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), + true, premultiplied, + BufferedImage.TRANSLUCENT, + DataBuffer.TYPE_BYTE); + break; + + case BufferedImage.TYPE_INT_BGR: + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x000000FF, + 0x0000FF00, + 0x00FF0000 } ) ; + cm = new DirectColorModel( 24, 0xff, 0xff00, 0xff0000 ); + break; + + case BufferedImage.TYPE_USHORT_565_RGB: + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + new int[]{ 0xF800, + 0x7E0, + 0x1F } ) ; + cm = new DirectColorModel( 16, 0xF800, 0x7E0, 0x1F ); + break; + case BufferedImage.TYPE_USHORT_555_RGB: + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + new int[]{ 0x7C00, + 0x3E0, + 0x1F } ) ; + cm = new DirectColorModel( 15, 0x7C00, 0x3E0, 0x1F ); break; - case TYPE_BYTE_BINARY: - byte[] vals = { 0, (byte) 0xff }; - cm = new IndexColorModel(8, 2, vals, vals, vals); + + case BufferedImage.TYPE_BYTE_INDEXED: + cm = createDefaultIndexedColorModel( false ); + + case BufferedImage.TYPE_BYTE_GRAY: + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, + width, height, + 1, width, new int[]{ 0 } ); + break; + + case BufferedImage.TYPE_USHORT_GRAY: + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + 1, width, new int[]{ 0 } ); + break; + + case BufferedImage.TYPE_BYTE_BINARY: + cm = createDefaultIndexedColorModel( true ); + sm = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, + width, height, 1); break; - case TYPE_BYTE_INDEXED: - String msg2 = "type not implemented yet"; - throw new UnsupportedOperationException(msg2); - // FIXME: build color-cube and create color model + default: - throw new IllegalArgumentException("Unknown image type " + type); + sm = null; } + + if( sm == null ) + throw new IllegalArgumentException("Unknown predefined image type."); - init(cm, - cm.createCompatibleWritableRaster(w, h), - premultiplied, - null, // no properties - type - ); + if( cm == null ) // only for the grayscale types + { + int buftype; + int[] bits = new int[1]; + if( type == BufferedImage.TYPE_BYTE_GRAY ) + { + buftype = DataBuffer.TYPE_BYTE; + bits[0] = 8; + } + else + { + buftype = DataBuffer.TYPE_USHORT; + bits[0] = 16; + } + ColorSpace graySpace = ColorSpace.getInstance( ColorSpace.CS_GRAY ); + + cm = new ComponentColorModel( graySpace, bits, false, false, + Transparency.OPAQUE, buftype ); + } + + init( cm, + Raster.createWritableRaster(sm, new Point( 0, 0 ) ), + premultiplied, + null, // no properties + type ); } public BufferedImage(int w, int h, int type, IndexColorModel indexcolormodel) { if ((type != TYPE_BYTE_BINARY) && (type != TYPE_BYTE_INDEXED)) - throw new IllegalArgumentException("type must be binary or indexed"); + throw new IllegalArgumentException("Type must be TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED"); + if( indexcolormodel.getMapSize() > 16 && type == TYPE_BYTE_BINARY ) + throw new IllegalArgumentException("Type TYPE_BYTE_BINARY cannot have a larger than 16-color palette."); + if( indexcolormodel.getMapSize() > 256 ) + throw new IllegalArgumentException("Byte type cannot have a larger than 256-color palette."); - init(indexcolormodel, - indexcolormodel.createCompatibleWritableRaster(w, h), - false, // not premultiplied (guess) - null, // no properties - type); + init( indexcolormodel, + indexcolormodel.createCompatibleWritableRaster(w, h), + indexcolormodel.isAlphaPremultiplied(), + null, // no properties + type ); } public BufferedImage(ColorModel colormodel, WritableRaster writableraster, boolean premultiplied, - Hashtable properties) + Hashtable properties) { init(colormodel, writableraster, premultiplied, properties, TYPE_CUSTOM); - // TODO: perhaps try to identify type? } - WritableRaster raster; - ColorModel colorModel; - Hashtable properties; - boolean isPremultiplied; - int type; - + private void init(ColorModel cm, WritableRaster writableraster, boolean premultiplied, @@ -280,12 +317,48 @@ public class BufferedImage extends Image isPremultiplied = premultiplied; this.type = type; } - - //public void addTileObserver(TileObserver tileobserver) {} + + /** + * Creates the default palettes for the predefined indexed color types + * (256-color or black-and-white) + * + * @param binary - If true, a black and white palette, + * otherwise a default 256-color palette is returned. + */ + private IndexColorModel createDefaultIndexedColorModel( boolean binary ) + { + if( binary ) + { + byte[] t = new byte[]{ 0, (byte)255 }; + return new IndexColorModel( 1, 2, t, t, t ); + } + + byte[] r = new byte[256]; + byte[] g = new byte[256]; + byte[] b = new byte[256]; + int index = 0; + for( int i = 0; i < 6; i++ ) + for( int j = 0; j < 6; j++ ) + for( int k = 0; k < 6; k++ ) + { + r[ index ] = (byte)(i * 51); + g[ index ] = (byte)(j * 51); + b[ index ] = (byte)(k * 51); + index++; + } + while( index < 256 ) + { + r[ index ] = g[ index ] = b[ index ] = + (byte)(18 + (index - 216) * 6); + index++; + } + return new IndexColorModel( 8, 256, r, g, b ); + } public void coerceData(boolean premultiplied) { colorModel = colorModel.coerceData(raster, premultiplied); + isPremultiplied = premultiplied; } public WritableRaster copyData(WritableRaster dest) @@ -555,7 +628,7 @@ public class BufferedImage extends Image }; } - public Vector getSources() + public Vector getSources() { return null; } @@ -726,10 +799,10 @@ public class BufferedImage extends Image */ public void addTileObserver (TileObserver to) { - if (observers == null) - observers = new Vector (); + if (tileObservers == null) + tileObservers = new Vector (); - observers.add (to); + tileObservers.add (to); } /** @@ -741,10 +814,10 @@ public class BufferedImage extends Image */ public void removeTileObserver (TileObserver to) { - if (observers == null) + if (tileObservers == null) return; - observers.remove (to); + tileObservers.remove (to); } /** diff --git a/libjava/classpath/java/awt/image/ColorConvertOp.java b/libjava/classpath/java/awt/image/ColorConvertOp.java index 1f85a5ecd99..e6c85412d34 100644 --- a/libjava/classpath/java/awt/image/ColorConvertOp.java +++ b/libjava/classpath/java/awt/image/ColorConvertOp.java @@ -38,7 +38,10 @@ exception statement from your version. */ package java.awt.image; +import gnu.java.awt.Buffers; + import java.awt.Graphics2D; +import java.awt.Point; import java.awt.RenderingHints; import java.awt.color.ColorSpace; import java.awt.color.ICC_ColorSpace; @@ -47,9 +50,9 @@ import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /** - * ColorConvertOp is a filter for converting an image from one colorspace to - * another colorspace. The filter can convert the image through a sequence - * of colorspaces or just from source to destination. + * ColorConvertOp is a filter for converting images or rasters between + * colorspaces, either through a sequence of colorspaces or just from source to + * destination. * * Color conversion is done on the color components without alpha. Thus * if a BufferedImage has alpha premultiplied, this is divided out before @@ -63,24 +66,22 @@ import java.awt.geom.Rectangle2D; */ public class ColorConvertOp implements BufferedImageOp, RasterOp { - private ColorSpace srccs; - private ColorSpace dstcs; private RenderingHints hints; - private ICC_Profile[] profiles; + private ICC_Profile[] profiles = null; private ColorSpace[] spaces; - private boolean rasterValid; /** - * Convert BufferedImage through a ColorSpace. + * Convert a BufferedImage through a ColorSpace. * - * This filter version is only valid for BufferedImages. The source image - * is converted to cspace. If the destination is not null, it is then - * converted to the destination colorspace. Normally this filter will only - * be used with a null destination. + * Objects created with this constructor can be used to convert + * BufferedImage's to a destination ColorSpace. Attempts to convert Rasters + * with this constructor will result in an IllegalArgumentException when the + * filter(Raster, WritableRaster) method is called. * * @param cspace The target color space. - * @param hints Rendering hints to use in conversion, or null. + * @param hints Rendering hints to use in conversion, if any (may be null) + * @throws NullPointerException if the ColorSpace is null. */ public ColorConvertOp(ColorSpace cspace, RenderingHints hints) { @@ -88,9 +89,27 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp throw new NullPointerException(); spaces = new ColorSpace[]{cspace}; this.hints = hints; - rasterValid = false; } + /** + * Convert from a source colorspace to a destination colorspace. + * + * This constructor takes two ColorSpace arguments as the source and + * destination color spaces. It is usually used with the + * filter(Raster, WritableRaster) method, in which case the source colorspace + * is assumed to correspond to the source Raster, and the destination + * colorspace with the destination Raster. + * + * If used with BufferedImages that do not match the source or destination + * colorspaces specified here, there is an implicit conversion from the + * source image to the source ColorSpace, or the destination ColorSpace to + * the destination image. + * + * @param srcCspace The source ColorSpace. + * @param dstCspace The destination ColorSpace. + * @param hints Rendering hints to use in conversion, if any (may be null). + * @throws NullPointerException if any ColorSpace is null. + */ public ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints) { @@ -101,61 +120,77 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp } /** - * Convert from a source image destination image color space. + * Convert from a source colorspace to a destinatino colorspace. * * This constructor builds a ColorConvertOp from an array of ICC_Profiles. - * The source image will be converted through the sequence of color spaces + * The source will be converted through the sequence of color spaces * defined by the profiles. If the sequence of profiles doesn't give a - * well-defined conversion, throws IllegalArgumentException. - * - * NOTE: Sun's docs don't clearly define what a well-defined conversion is - * - or perhaps someone smarter can come along and sort it out. + * well-defined conversion, an IllegalArgumentException is thrown. * - * For BufferedImages, when the first and last profiles match the - * requirements of the source and destination color space respectively, the - * corresponding conversion is unnecessary. TODO: code this up. I don't - * yet understand how you determine this. + * If used with BufferedImages that do not match the source or destination + * colorspaces specified here, there is an implicit conversion from the + * source image to the source ColorSpace, or the destination ColorSpace to + * the destination image. * * For Rasters, the first and last profiles must have the same number of * bands as the source and destination Rasters, respectively. If this is * not the case, or there fewer than 2 profiles, an IllegalArgumentException * will be thrown. * - * @param profiles - * @param hints + * @param profiles An array of ICC_Profile's to convert through. + * @param hints Rendering hints to use in conversion, if any (may be null). + * @throws NullPointerException if the profile array is null. + * @throws IllegalArgumentException if the array is not a well-defined + * conversion. */ public ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints) { if (profiles == null) throw new NullPointerException(); + this.hints = hints; this.profiles = profiles; - // TODO: Determine if this is well-defined. + // Create colorspace array with space for src and dest colorspace + // Note that the ICC_ColorSpace constructor will throw an + // IllegalArgumentException if the profile is invalid; thus we check + // for a "well defined conversion" spaces = new ColorSpace[profiles.length]; for (int i = 0; i < profiles.length; i++) spaces[i] = new ICC_ColorSpace(profiles[i]); } - /** Convert from source image color space to destination image color space. + /** + * Convert from source color space to destination color space. * * Only valid for BufferedImage objects, this Op converts from the source - * color space to the destination color space. The destination can't be - * null for this operation. + * image's color space to the destination image's color space. * - * @param hints Rendering hints to use during conversion, or null. + * The destination in the filter(BufferedImage, BufferedImage) method cannot + * be null for this operation, and it also cannot be used with the + * filter(Raster, WritableRaster) method. + * + * @param hints Rendering hints to use in conversion, if any (may be null). */ public ColorConvertOp(RenderingHints hints) { - this.hints = hints; - srccs = null; - dstcs = null; - rasterValid = false; + this.hints = hints; + spaces = new ColorSpace[0]; } - /* (non-Javadoc) - * @see java.awt.image.BufferedImageOp#filter(java.awt.image.BufferedImage, - java.awt.image.BufferedImage) + /** + * Converts the source image using the conversion path specified in the + * constructor. The resulting image is stored in the destination image if one + * is provided; otherwise a new BufferedImage is created and returned. + * + * The source and destination BufferedImage (if one is supplied) must have + * the same dimensions. + * + * @param src The source image. + * @param dst The destination image. + * @throws IllegalArgumentException if the rasters and/or color spaces are + * incompatible. + * @return The transformed image. */ public final BufferedImage filter(BufferedImage src, BufferedImage dst) { @@ -163,129 +198,241 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp // For now we just suck it up and create intermediate buffers. if (dst == null && spaces.length == 0) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("Not enough color space information " + + "to complete conversion."); + + if (dst != null + && (src.getHeight() != dst.getHeight() || src.getWidth() != dst.getWidth())) + throw new IllegalArgumentException("Source and destination images have " + + "different dimensions"); // Make sure input isn't premultiplied by alpha if (src.isAlphaPremultiplied()) - { - BufferedImage tmp = createCompatibleDestImage(src, src.getColorModel()); - copyimage(src, tmp); - tmp.coerceData(false); - src = tmp; - } + { + BufferedImage tmp = createCompatibleDestImage(src, src.getColorModel()); + copyimage(src, tmp); + tmp.coerceData(false); + src = tmp; + } - ColorModel scm = src.getColorModel(); + // Convert through defined intermediate conversions + BufferedImage tmp; for (int i = 0; i < spaces.length; i++) - { - BufferedImage tmp = createCompatibleDestImage(src, scm); - copyimage(src, tmp); - src = tmp; - } + { + if (src.getColorModel().getColorSpace().getType() != spaces[i].getType()) + { + tmp = createCompatibleDestImage(src, + createCompatibleColorModel(src, + spaces[i])); + copyimage(src, tmp); + src = tmp; + } + } - // Intermediate conversions leave result in src + // No implicit conversion to destination type needed; return result from the + // last intermediate conversions (which was left in src) if (dst == null) - return src; - - // Apply final conversion - copyimage(src, dst); - + dst = src; + + // Implicit conversion to destination image's color space + else + copyimage(src, dst); + return dst; } - /* (non-Javadoc) - * @see java.awt.image.BufferedImageOp#createCompatibleDestImage(java.awt.image.BufferedImage, java.awt.image.ColorModel) + /** + * Converts the source raster using the conversion path specified in the + * constructor. The resulting raster is stored in the destination raster if + * one is provided; otherwise a new WritableRaster is created and returned. + * + * This operation is not valid with every constructor of this class; see + * the constructors for details. Further, the source raster must have the + * same number of bands as the source ColorSpace, and the destination raster + * must have the same number of bands as the destination ColorSpace. + * + * The source and destination raster (if one is supplied) must also have the + * same dimensions. + * + * @param src The source raster. + * @param dest The destination raster. + * @throws IllegalArgumentException if the rasters and/or color spaces are + * incompatible. + * @return The transformed raster. + */ + public final WritableRaster filter(Raster src, WritableRaster dest) + { + // Various checks to ensure that the rasters and color spaces are compatible + if (spaces.length < 2) + throw new IllegalArgumentException("Not enough information about " + + "source and destination colorspaces."); + + if (spaces[0].getNumComponents() != src.getNumBands() + || (dest != null && spaces[spaces.length - 1].getNumComponents() != dest.getNumBands())) + throw new IllegalArgumentException("Source or destination raster " + + "contains the wrong number of bands."); + + if (dest != null + && (src.getHeight() != dest.getHeight() || src.getWidth() != dest.getWidth())) + throw new IllegalArgumentException("Source and destination rasters " + + "have different dimensions"); + + // Need to iterate through each color space. + // spaces[0] corresponds to the ColorSpace of the source raster, and + // spaces[spaces.length - 1] corresponds to the ColorSpace of the + // destination, with any number (or zero) of intermediate conversions. + + for (int i = 0; i < spaces.length - 2; i++) + { + WritableRaster tmp = createCompatibleDestRaster(src, spaces[i + 1], + false, + src.getTransferType()); + copyraster(src, spaces[i], tmp, spaces[i + 1]); + src = tmp; + } + + // The last conversion is done outside of the loop so that we can + // use the dest raster supplied, instead of creating our own temp raster + if (dest == null) + dest = createCompatibleDestRaster(src, spaces[spaces.length - 1], false, + DataBuffer.TYPE_BYTE); + copyraster(src, spaces[spaces.length - 2], dest, spaces[spaces.length - 1]); + + return dest; + } + + /** + * Creates an empty BufferedImage with the size equal to the source and the + * correct number of bands for the conversion defined in this Op. The newly + * created image is created with the specified ColorModel, or if no ColorModel + * is supplied, an appropriate one is chosen. + * + * @param src The source image. + * @param dstCM A color model for the destination image (may be null). + * @throws IllegalArgumentException if an appropriate colormodel cannot be + * chosen with the information given. + * @return The new compatible destination image. */ public BufferedImage createCompatibleDestImage(BufferedImage src, - ColorModel dstCM) + ColorModel dstCM) { - // FIXME: set properties to those in src + if (dstCM == null && spaces.length == 0) + throw new IllegalArgumentException("Don't know the destination " + + "colormodel"); + + if (dstCM == null) + { + dstCM = createCompatibleColorModel(src, spaces[spaces.length - 1]); + } + return new BufferedImage(dstCM, - src.getRaster().createCompatibleWritableRaster(), - src.isPremultiplied, - null); + createCompatibleDestRaster(src.getRaster(), + dstCM.getColorSpace(), + src.getColorModel().hasAlpha, + dstCM.getTransferType()), + src.isPremultiplied, null); } - public final ICC_Profile[] getICC_Profiles() + /** + * Creates a new WritableRaster with the size equal to the source and the + * correct number of bands. + * + * Note, the new Raster will always use a BYTE storage size, regardless of + * the color model or defined destination; this is for compatibility with + * the reference implementation. + * + * @param src The source Raster. + * @throws IllegalArgumentException if there isn't enough colorspace + * information to create a compatible Raster. + * @return The new compatible destination raster. + */ + public WritableRaster createCompatibleDestRaster(Raster src) { - return profiles; - } + if (spaces.length < 2) + throw new IllegalArgumentException("Not enough destination colorspace " + + "information"); - /** Return the rendering hints for this op. */ - public final RenderingHints getRenderingHints() - { - return hints; + // Create a new raster with the last ColorSpace in the conversion + // chain, and with no alpha (implied) + return createCompatibleDestRaster(src, spaces[spaces.length-1], false, + DataBuffer.TYPE_BYTE); } - /* (non-Javadoc) - * @see java.awt.image.RasterOp#filter(java.awt.image.Raster, java.awt.image.WritableRaster) + /** + * Returns the array of ICC_Profiles used to create this Op, or null if the + * Op was created using ColorSpace arguments. + * + * @return The array of ICC_Profiles, or null. */ - public final WritableRaster filter(Raster src, WritableRaster dest) + public final ICC_Profile[] getICC_Profiles() { - if (!rasterValid) - throw new IllegalArgumentException(); - - // Need to iterate through each color space - there must be at least 2 - for (int i = 1; i < spaces.length - 1; i++) - { - // FIXME: this is wrong. tmp needs to have the same number of bands as - // spaces[i] has. - WritableRaster tmp = createCompatibleDestRaster(src); - copyraster(src, spaces[i - 1], tmp, spaces[i]); - src = tmp; - } - - // FIXME: this is wrong. dst needs to have the same number of bands as - // spaces[i] has. - if (dest == null) - dest = createCompatibleDestRaster(src); - copyraster(src, spaces[spaces.length - 2], - dest, spaces[spaces.length - 1]); - - return dest; + return profiles; } - /* (non-Javadoc) - * @see java.awt.image.RasterOp#createCompatibleDestRaster(java.awt.image.Raster) + /** + * Returns the rendering hints for this op. + * + * @return The rendering hints for this Op, or null. */ - public WritableRaster createCompatibleDestRaster(Raster src) + public final RenderingHints getRenderingHints() { - return src.createCompatibleWritableRaster(); + return hints; } - /** Return corresponding destination point for source point. + /** + * Returns the corresponding destination point for a source point. + * Because this is not a geometric operation, the destination and source + * points will be identical. * - * LookupOp will return the value of src unchanged. * @param src The source point. - * @param dst The destination point. - * @see java.awt.image.RasterOp#getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) + * @param dst The transformed destination point. + * @return The transformed destination point. */ public final Point2D getPoint2D(Point2D src, Point2D dst) { - if (dst == null) return (Point2D)src.clone(); + if (dst == null) + return (Point2D)src.clone(); + dst.setLocation(src); return dst; } - /* (non-Javadoc) - * @see java.awt.image.BufferedImageOp#getBounds2D(java.awt.image.BufferedImage) + /** + * Returns the corresponding destination boundary of a source boundary. + * Because this is not a geometric operation, the destination and source + * boundaries will be identical. + * + * @param src The source boundary. + * @return The boundaries of the destination. */ public final Rectangle2D getBounds2D(BufferedImage src) { return src.getRaster().getBounds(); } - /* (non-Javadoc) - * @see java.awt.image.RasterOp#getBounds2D(java.awt.image.Raster) + /** + * Returns the corresponding destination boundary of a source boundary. + * Because this is not a geometric operation, the destination and source + * boundaries will be identical. + * + * @param src The source boundary. + * @return The boundaries of the destination. */ public final Rectangle2D getBounds2D(Raster src) { return src.getBounds(); } - - // According to Sven de Marothy, we need to copy the src into the dest - // using Graphics2D, in order to use the rendering hints. + + /** + * Copy a source image to a destination image, respecting their colorspaces + * and performing colorspace conversions if necessary. + * + * @param src The source image. + * @param dst The destination image. + */ private void copyimage(BufferedImage src, BufferedImage dst) { + // This is done using Graphics2D in order to respect the rendering hints. Graphics2D gg = dst.createGraphics(); // If no hints are set there is no need to call @@ -297,13 +444,23 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp gg.dispose(); } - private void copyraster(Raster src, ColorSpace scs, WritableRaster dst, - ColorSpace dcs) + /** + * Copy a source raster to a destination raster, performing a colorspace + * conversion between the two. The conversion will respect the + * KEY_COLOR_RENDERING rendering hint if one is present. + * + * @param src The source raster. + * @param scs The colorspace of the source raster. + * @dst The destination raster. + * @dcs The colorspace of the destination raster. + */ + private void copyraster(Raster src, ColorSpace scs, WritableRaster dst, ColorSpace dcs) { float[] sbuf = new float[src.getNumBands()]; - if (hints.get(RenderingHints.KEY_COLOR_RENDERING) == - RenderingHints.VALUE_COLOR_RENDER_QUALITY) + if (hints != null + && hints.get(RenderingHints.KEY_COLOR_RENDERING) == + RenderingHints.VALUE_COLOR_RENDER_QUALITY) { // use cie for accuracy for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++) @@ -321,4 +478,60 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp } } + /** + * This method creates a color model with the same colorspace and alpha + * settings as the source image. The created color model will always be a + * ComponentColorModel and have a BYTE transfer type. + * + * @param img The source image. + * @param cs The ColorSpace to use. + * @return A color model compatible with the source image. + */ + private ColorModel createCompatibleColorModel(BufferedImage img, ColorSpace cs) + { + // The choice of ComponentColorModel and DataBuffer.TYPE_BYTE is based on + // Mauve testing of the reference implementation. + return new ComponentColorModel(cs, + img.getColorModel().hasAlpha(), + img.isAlphaPremultiplied(), + img.getColorModel().getTransparency(), + DataBuffer.TYPE_BYTE); + } + + /** + * This method creates a compatible Raster, given a source raster, colorspace, + * alpha value, and transfer type. + * + * @param src The source raster. + * @param cs The ColorSpace to use. + * @param hasAlpha Whether the raster should include a component for an alpha. + * @param transferType The size of a single data element. + * @return A compatible WritableRaster. + */ + private WritableRaster createCompatibleDestRaster(Raster src, ColorSpace cs, + boolean hasAlpha, + int transferType) + { + // The use of a PixelInterleavedSampleModel weas determined using mauve + // tests, based on the reference implementation + + int numComponents = cs.getNumComponents(); + if (hasAlpha) + numComponents++; + + int[] offsets = new int[numComponents]; + for (int i = 0; i < offsets.length; i++) + offsets[i] = i; + + DataBuffer db = Buffers.createBuffer(transferType, + src.getWidth() * src.getHeight() * numComponents, + 1); + return new WritableRaster(new PixelInterleavedSampleModel(transferType, + src.getWidth(), + src.getHeight(), + numComponents, + numComponents * src.getWidth(), + offsets), + db, new Point(src.getMinX(), src.getMinY())); + } } diff --git a/libjava/classpath/java/awt/image/ColorModel.java b/libjava/classpath/java/awt/image/ColorModel.java index 9e559db37d8..e2873c5d71f 100644 --- a/libjava/classpath/java/awt/image/ColorModel.java +++ b/libjava/classpath/java/awt/image/ColorModel.java @@ -624,40 +624,40 @@ public abstract class ColorModel implements Transparency return cspace; } - // Typically overridden public ColorModel coerceData(WritableRaster raster, - boolean isAlphaPremultiplied) + boolean isAlphaPremultiplied) { - if (this.isAlphaPremultiplied == isAlphaPremultiplied) - return this; + // This method should always be overridden, but is not abstract. + throw new UnsupportedOperationException(); + } + protected void coerceDataWorker(WritableRaster raster, + boolean isAlphaPremultiplied) + { int w = raster.getWidth(); int h = raster.getHeight(); int x = raster.getMinX(); int y = raster.getMinY(); - int size = w*h; + int size = w * h; int numColors = getNumColorComponents(); int numComponents = getNumComponents(); - int alphaScale = (1< maxValue[b]) + v = maxValue[b]; + else if (v < 0) + v = 0; + dest.setSample(x + kernel.getXOrigin(), y + kernel.getYOrigin(), b, v); } @@ -310,13 +362,14 @@ public class ConvolveOp implements BufferedImageOp, RasterOp return src.getBounds(); } - /** Return corresponding destination point for source point. + /** + * Returns the corresponding destination point for a source point. Because + * this is not a geometric operation, the destination and source points will + * be identical. * - * ConvolveOp will return the value of src unchanged. * @param src The source point. - * @param dst The destination point. - * @see java.awt.image.RasterOp#getPoint2D(java.awt.geom.Point2D, - * java.awt.geom.Point2D) + * @param dst The transformed destination point. + * @return The transformed destination point. */ public final Point2D getPoint2D(Point2D src, Point2D dst) { diff --git a/libjava/classpath/java/awt/image/CropImageFilter.java b/libjava/classpath/java/awt/image/CropImageFilter.java index 4fcfdec4475..53b41562044 100644 --- a/libjava/classpath/java/awt/image/CropImageFilter.java +++ b/libjava/classpath/java/awt/image/CropImageFilter.java @@ -91,11 +91,12 @@ public class CropImageFilter extends ImageFilter * * @param props the list of properties associated with this image */ - public void setProperties(Hashtable props) + public void setProperties(Hashtable props) { - props.put("filters", "CropImageFilter"); - if (consumer != null) - consumer.setProperties(props); + Hashtable prop2 = (Hashtable) props; + prop2.put("filters", "CropImageFilter"); + if (consumer != null) + consumer.setProperties(prop2); } /** diff --git a/libjava/classpath/java/awt/image/DirectColorModel.java b/libjava/classpath/java/awt/image/DirectColorModel.java index 579dc97dfc7..dab15319fce 100644 --- a/libjava/classpath/java/awt/image/DirectColorModel.java +++ b/libjava/classpath/java/awt/image/DirectColorModel.java @@ -393,20 +393,20 @@ public class DirectColorModel extends PackedColorModel return Buffers.getData(buffer); } - public final ColorModel coerceData (WritableRaster raster, - boolean isAlphaPremultiplied) + public ColorModel coerceData (WritableRaster raster, + boolean isAlphaPremultiplied) { - if (this.isAlphaPremultiplied == isAlphaPremultiplied) + if (this.isAlphaPremultiplied == isAlphaPremultiplied || !hasAlpha()) return this; /* TODO: provide better implementation based on the assumptions we can make due to the specific type of the color model. */ - super.coerceData(raster, isAlphaPremultiplied); - - return new ComponentColorModel(cspace, bits, hasAlpha(), - isAlphaPremultiplied, // argument - transparency, transferType); + super.coerceDataWorker(raster, isAlphaPremultiplied); + + return new DirectColorModel(cspace, pixel_bits, getRedMask(), + getGreenMask(), getBlueMask(), getAlphaMask(), + isAlphaPremultiplied, transferType); } public boolean isCompatibleRaster(Raster raster) diff --git a/libjava/classpath/java/awt/image/ImageConsumer.java b/libjava/classpath/java/awt/image/ImageConsumer.java index fc5ed11e5ca..11f64f97867 100644 --- a/libjava/classpath/java/awt/image/ImageConsumer.java +++ b/libjava/classpath/java/awt/image/ImageConsumer.java @@ -136,7 +136,7 @@ public interface ImageConsumer * * @param props the list of properties associated with this image */ - void setProperties(Hashtable props); + void setProperties(Hashtable props); /** * This ColorModel should indicate the model used by diff --git a/libjava/classpath/java/awt/image/ImageFilter.java b/libjava/classpath/java/awt/image/ImageFilter.java index c39c4a428f9..0ead45a4ae0 100644 --- a/libjava/classpath/java/awt/image/ImageFilter.java +++ b/libjava/classpath/java/awt/image/ImageFilter.java @@ -49,180 +49,178 @@ import java.util.Hashtable; */ public class ImageFilter implements ImageConsumer, Cloneable { - /** - * The consumer this filter is filtering an image data stream for. - * It is initialized in the method getFilterInstance. - */ - protected ImageConsumer consumer = null; - - /** - * The ImageConsumer can use this method to request - * the pixels be delivered in top-down, left-right order. - *
    - * The filter can respond in three different ways. - *
      - *
    • The default behavior is to forward the request to the - * ImageProducer - * using the method requestTopDownLeftRightResend - * and using the filter as the consumer.
    • - *
    • The filter has the pixels and can retransmit them in the - * top-down, left-right order.
    • - *
    • The filter can do nothing when this method is called.
    • - *
    - */ - public void resendTopDownLeftRight(ImageProducer ip) - { - ip.requestTopDownLeftRightResend(this); - } - - /** - * By default, returns a shallow copy of the object created by - * Object.clone() - * - * @see java.lang.Object#clone () - */ - public Object clone() - { - try - { - return super.clone(); - } - catch (CloneNotSupportedException e) - { - // This should never happen as this class implements the - // Cloneable interface. - throw new InternalError (); - } - } - - /** - * This is the only method which can set the - * ImageConsumer for this filter. By default a clone - * of this filter with the appropriate consumer set is returned. - * - * @see #clone () - */ - public ImageFilter getFilterInstance(ImageConsumer ic) - { - if ( ic == null ) - throw new IllegalArgumentException("null argument for ImageFilter.getFilterInstance(ImageConsumer)"); - - consumer = ic; - ImageFilter f = (ImageFilter)clone(); - consumer = null; - return f; - } - - /** - * An ImageProducer indicates the size of the image - * being produced using this method. A filter can override this - * method to intercept these calls from the producer in order to - * change either the width or the height before in turn calling - * the consumer's setDimensions method. - * - * @param width the width of the image - * @param height the height of the image - */ - public void setDimensions(int width, int height) - { - if (consumer != null) - consumer.setDimensions(width, height); - } - - /** - * An ImageProducer can set a list of properties - * associated with this image by using this method. - * - * @param props the list of properties associated with this image - */ - public void setProperties(Hashtable props) - { - props.put("filters", "ImageFilter"); - if (consumer != null) - consumer.setProperties(props); - } - - /** - * Override this method to process calls to this method from the - * ImageProducer. By default the setColorModel - * method of the consumer is called with the specified model. - * - * @param model the color model to be used most often by setPixels - * @see ColorModel */ - public void setColorModel(ColorModel model) - { - if (consumer != null) - consumer.setColorModel(model); - } - - /** - * The ImageProducer should call this method with a - * bit mask of hints from any of RANDOMPIXELORDER, - * TOPDOWNLEFTRIGHT, COMPLETESCANLINES, - * SINGLEPASS, SINGLEFRAME from the - * ImageConsumer interface. - * - * @param flags a bit mask of hints - * @see ImageConsumer - */ - public void setHints(int flags) - { - if (consumer != null) - consumer.setHints(flags); - } - - /** - * This function delivers a rectangle of pixels where any - * pixel(m,n) is stored in the array as a byte at - * index (n * scansize + m + offset). - * - * @param x the x coordinate of the rectangle - * @param y the y coordinate of the rectangle - * @param w the width of the rectangle - * @param h the height of the rectangle - * @param model the ColorModel used to translate the pixels - * @param pixels the array of pixel values - * @param offset the index of the first pixels in the pixels array - * @param scansize the width to use in extracting pixels from the pixels array - */ - public void setPixels(int x, int y, int w, int h, - ColorModel model, byte[] pixels, int offset, int scansize) - { - if (consumer != null) - consumer.setPixels(x, y, w, h, model, pixels, offset, scansize); - } - - /** - * This function delivers a rectangle of pixels where any - * pixel(m,n) is stored in the array as an int at - * index (n * scansize + m + offset). - * - * @param x the x coordinate of the rectangle - * @param y the y coordinate of the rectangle - * @param w the width of the rectangle - * @param h the height of the rectangle - * @param model the ColorModel used to translate the pixels - * @param pixels the array of pixel values - * @param offset the index of the first pixels in the pixels array - * @param scansize the width to use in extracting pixels from the pixels array - */ - public void setPixels(int x, int y, int w, int h, - ColorModel model, int[] pixels, int offset, int scansize) - { - if (consumer != null) - consumer.setPixels(x, y, w, h, model, pixels, offset, scansize); - } - - /** - * The ImageProducer calls this method to indicate a - * single frame or the entire image is complete. The method is - * also used to indicate an error in loading or producing the - * image. - */ - public void imageComplete(int status) - { - if (consumer != null) - consumer.imageComplete(status); - } + /** + * The consumer this filter is filtering an image data stream for. + * It is initialized in the method getFilterInstance. + */ + protected ImageConsumer consumer = null; + + /** + * The ImageConsumer can use this method to request + * the pixels be delivered in top-down, left-right order. + *
    + * The filter can respond in three different ways. + *
      + *
    • The default behavior is to forward the request to the + * ImageProducer + * using the method requestTopDownLeftRightResend + * and using the filter as the consumer.
    • + *
    • The filter has the pixels and can retransmit them in the + * top-down, left-right order.
    • + *
    • The filter can do nothing when this method is called.
    • + *
    + */ + public void resendTopDownLeftRight(ImageProducer ip) + { + ip.requestTopDownLeftRightResend(this); + } + + /** + * By default, returns a shallow copy of the object created by + * Object.clone() + * + * @see java.lang.Object#clone () + */ + public Object clone() + { + try + { + return super.clone(); + } + catch (CloneNotSupportedException e) + { + // This should never happen as this class implements the + // Cloneable interface. + throw new InternalError (); + } + } + + /** + * This is the only method which can set the + * ImageConsumer for this filter. By default a clone + * of this filter with the appropriate consumer set is returned. + * + * @see #clone () + */ + public ImageFilter getFilterInstance(ImageConsumer ic) + { + ImageFilter f = (ImageFilter)clone(); + f.consumer = ic; + return f; + } + + /** + * An ImageProducer indicates the size of the image + * being produced using this method. A filter can override this + * method to intercept these calls from the producer in order to + * change either the width or the height before in turn calling + * the consumer's setDimensions method. + * + * @param width the width of the image + * @param height the height of the image + */ + public void setDimensions(int width, int height) + { + consumer.setDimensions(width, height); + } + + /** + * An ImageProducer can set a list of properties + * associated with this image by using this method. + * + * @param props the list of properties associated with this image + */ + public void setProperties(Hashtable props) + { + Hashtable copy = (Hashtable) props.clone(); + Object o = copy.get("filters"); + if (o == null) + copy.put("filters", toString()); + else if (o instanceof String) + copy.put("filters", ((String) o) + toString()); + + consumer.setProperties(copy); + } + + /** + * Override this method to process calls to this method from the + * ImageProducer. By default the setColorModel + * method of the consumer is called with the specified model. + * + * @param model the color model to be used most often by setPixels + * + * @see ColorModel + */ + public void setColorModel(ColorModel model) + { + consumer.setColorModel(model); + } + + /** + * The ImageProducer should call this method with a + * bit mask of hints from any of RANDOMPIXELORDER, + * TOPDOWNLEFTRIGHT, COMPLETESCANLINES, + * SINGLEPASS, SINGLEFRAME from the + * ImageConsumer interface. + * + * @param flags a bit mask of hints + * @see ImageConsumer + */ + public void setHints(int flags) + { + consumer.setHints(flags); + } + + /** + * This function delivers a rectangle of pixels where any + * pixel(m,n) is stored in the array as a byte at + * index (n * scansize + m + offset). + * + * @param x the x coordinate of the rectangle + * @param y the y coordinate of the rectangle + * @param w the width of the rectangle + * @param h the height of the rectangle + * @param model the ColorModel used to translate the pixels + * @param pixels the array of pixel values + * @param offset the index of the first pixels in the pixels array + * @param scansize the width to use in extracting pixels from the pixels array + */ + public void setPixels(int x, int y, int w, int h, + ColorModel model, byte[] pixels, int offset, + int scansize) + { + consumer.setPixels(x, y, w, h, model, pixels, offset, scansize); + } + + /** + * This function delivers a rectangle of pixels where any + * pixel(m,n) is stored in the array as an int at + * index (n * scansize + m + offset). + * + * @param x the x coordinate of the rectangle + * @param y the y coordinate of the rectangle + * @param w the width of the rectangle + * @param h the height of the rectangle + * @param model the ColorModel used to translate the pixels + * @param pixels the array of pixel values + * @param offset the index of the first pixels in the pixels array + * @param scansize the width to use in extracting pixels from the pixels array + */ + public void setPixels(int x, int y, int w, int h, + ColorModel model, int[] pixels, int offset, + int scansize) + { + consumer.setPixels(x, y, w, h, model, pixels, offset, scansize); + } + + /** + * The ImageProducer calls this method to indicate a + * single frame or the entire image is complete. The method is + * also used to indicate an error in loading or producing the + * image. + */ + public void imageComplete(int status) + { + consumer.imageComplete(status); + } } - diff --git a/libjava/classpath/java/awt/image/IndexColorModel.java b/libjava/classpath/java/awt/image/IndexColorModel.java index 299b4dc0d86..46879cc98c9 100644 --- a/libjava/classpath/java/awt/image/IndexColorModel.java +++ b/libjava/classpath/java/awt/image/IndexColorModel.java @@ -134,10 +134,6 @@ public class IndexColorModel extends ColorModel if (size < 1) throw new IllegalArgumentException("size < 1"); map_size = size; - if (0 <= trans && trans < size) { - this.trans = trans; - transparency = BITMASK; - } rgb = new int[size]; for (int i = 0; i < size; i++) { @@ -146,6 +142,9 @@ public class IndexColorModel extends ColorModel | ((greens[i] & 0xff) << 8) | (blues[i] & 0xff)); } + + setTransparentPixel(trans); + // Generate a bigint with 1's for every pixel validBits = validBits.setBit(size).subtract(BigInteger.ONE); } @@ -275,8 +274,6 @@ public class IndexColorModel extends ColorModel throw new IllegalArgumentException("size < 1"); map_size = size; opaque = !hasAlpha; - if (0 <= trans && trans < size) - this.trans = trans; rgb = new int[size]; if (hasAlpha) @@ -318,6 +315,8 @@ public class IndexColorModel extends ColorModel transparency = BITMASK; } + setTransparentPixel(trans); + // Generate a bigint with 1's for every pixel validBits = validBits.setBit(size).subtract(BigInteger.ONE); } @@ -361,9 +360,6 @@ public class IndexColorModel extends ColorModel throw new IllegalArgumentException("size < 1"); map_size = size; opaque = !hasAlpha; - if (0 <= trans && trans < size) - this.trans = trans; - rgb = new int[size]; if (!hasAlpha) for (int i = 0; i < size; i++) @@ -371,6 +367,8 @@ public class IndexColorModel extends ColorModel else System.arraycopy(cmap, start, rgb, 0, size); + setTransparentPixel(trans); + // Generate a bigint with 1's for every pixel validBits = validBits.setBit(size).subtract(BigInteger.ONE); } @@ -584,12 +582,7 @@ public class IndexColorModel extends ColorModel */ public final int getAlpha(int pixel) { - if (opaque && pixel != trans) - return 255; - if ((pixel == trans && trans != -1) || pixel >= map_size) - return 0; - - return (0xFF000000 & rgb[pixel]) >> 24; + return (rgb[pixel] >> 24) & 0xFF; } /** @@ -694,4 +687,43 @@ public class IndexColorModel extends ColorModel return im; } + + /** + * Creates a {@link SampleModel} that is compatible to this color model. + * This will be a {@link MultiPixelPackedSampleModel} for bits/pixel of + * 1, 2 or 4, or a {@link ComponentColorModel} for the other cases. + * + * @param w the width of the sample model to create + * @param h the height of the sample model to create + * + * @return a compatible sample model + */ + public SampleModel createCompatibleSampleModel(int w, int h) + { + SampleModel sm; + if (pixel_bits == 1 || pixel_bits == 2 || pixel_bits == 4) + sm = new MultiPixelPackedSampleModel(transferType, w, h, pixel_bits); + else + sm = new ComponentSampleModel(transferType, w, h, 1, w, new int[]{0}); + return sm; + } + + /** + * Sets the transparent pixel. This is called by the various constructors. + * + * @param t the transparent pixel + */ + private void setTransparentPixel(int t) + { + if (t >= 0 && t < map_size) + { + rgb[t] &= 0xffffff; // Make the value transparent. + trans = t; + if (transparency == OPAQUE) + { + transparency = BITMASK; + hasAlpha = true; + } + } + } } diff --git a/libjava/classpath/java/awt/image/LookupOp.java b/libjava/classpath/java/awt/image/LookupOp.java index 46e72fe6183..5b0cf783168 100644 --- a/libjava/classpath/java/awt/image/LookupOp.java +++ b/libjava/classpath/java/awt/image/LookupOp.java @@ -38,7 +38,6 @@ exception statement from your version. */ package java.awt.image; -import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; @@ -67,7 +66,8 @@ public class LookupOp implements BufferedImageOp, RasterOp private LookupTable lut; private RenderingHints hints; - /** Construct a new LookupOp. + /** + * Construct a new LookupOp using the given LookupTable. * * @param lookup LookupTable to use. * @param hints Rendering hints (can be null). @@ -78,16 +78,40 @@ public class LookupOp implements BufferedImageOp, RasterOp this.hints = hints; } - /* (non-Javadoc) - * @see java.awt.image.BufferedImageOp#filter(java.awt.image.BufferedImage, java.awt.image.BufferedImage) + /** + * Converts the source image using the lookup table specified in the + * constructor. The resulting image is stored in the destination image if one + * is provided; otherwise a new BufferedImage is created and returned. + * + * The source image cannot use an IndexColorModel, and the destination image + * (if one is provided) must have the same size. + * + * @param src The source image. + * @param dst The destination image. + * @throws IllegalArgumentException if the rasters and/or color spaces are + * incompatible. + * @throws ArrayIndexOutOfBoundsException if a pixel in the source is not + * contained in the LookupTable. + * @return The convolved image. */ public final BufferedImage filter(BufferedImage src, BufferedImage dst) { if (src.getColorModel() instanceof IndexColorModel) throw new IllegalArgumentException("LookupOp.filter: IndexColorModel " + "not allowed"); + + if (lut.getNumComponents() != 1 + && lut.getNumComponents() != src.getColorModel().getNumComponents() + && lut.getNumComponents() != src.getColorModel().getNumColorComponents()) + throw new IllegalArgumentException("LookupOp.filter: Incompatible " + + "lookup table and source image"); + if (dst == null) - dst = createCompatibleDestImage(src, src.getColorModel()); + dst = createCompatibleDestImage(src, null); + + else if (src.getHeight() != dst.getHeight() || src.getWidth() != dst.getWidth()) + throw new IllegalArgumentException("Source and destination images are " + + "different sizes."); // Set up for potential colormodel mismatch BufferedImage tgt; @@ -116,33 +140,35 @@ public class LookupOp implements BufferedImageOp, RasterOp sr.getPixel(x, y, dbuf); System.arraycopy(dbuf, 0, tmp, 0, tmpBands); dr.setPixel(x, y, lut.lookupPixel(tmp, dbuf)); + + /* The reference implementation does not use LookupTable.lookupPixel, + * but rather it seems to copy the table into a native array. The + * effect of this (a probable bug in their implementation) is that + * an out-of-bounds lookup on a ByteLookupTable will *not* throw an + * out of bounds exception, but will instead return random garbage. + * A bad lookup on a ShortLookupTable, however, will throw an + * exception. + * + * Instead of mimicing this behaviour, we always throw an + * ArrayOutofBoundsException by virtue of using + * LookupTable.lookupPixle. + */ } } - else if (lut.getNumComponents() != 1 - && - lut.getNumComponents() != src.getColorModel().getNumComponents()) - throw new IllegalArgumentException("LookupOp.filter: " - + "Incompatible lookup " - + "table and source image"); - - // No alpha to ignore - int[] dbuf = new int[src.getColorModel().getNumComponents()]; - - // Filter the pixels - for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++) - for (int x = src.getMinX(); x < src.getWidth() + src.getMinX(); x++) - dr.setPixel(x, y, lut.lookupPixel(sr.getPixel(x, y, dbuf), dbuf)); - - if (tgt != dst) + else { - // Convert between color models. - // TODO Check that premultiplied alpha is handled correctly here. - Graphics2D gg = dst.createGraphics(); - gg.setRenderingHints(hints); - gg.drawImage(tgt, 0, 0, null); - gg.dispose(); + // No alpha to ignore + int[] dbuf = new int[src.getColorModel().getNumComponents()]; + + // Filter the pixels + for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++) + for (int x = src.getMinX(); x < src.getWidth() + src.getMinX(); x++) + dr.setPixel(x, y, lut.lookupPixel(sr.getPixel(x, y, dbuf), dbuf)); } + if (tgt != dst) + new ColorConvertOp(hints).filter(tgt, dst); + return dst; } @@ -160,18 +186,27 @@ public class LookupOp implements BufferedImageOp, RasterOp public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) { - // FIXME: set properties to those in src - return new BufferedImage(dstCM, - src.getRaster().createCompatibleWritableRaster(), - src.isPremultiplied, null); + if (dstCM != null) + return new BufferedImage(dstCM, + src.getRaster().createCompatibleWritableRaster(), + src.isAlphaPremultiplied(), null); + + // This is a strange exception, done for compatibility with the reference + // (as demonstrated by a mauve testcase) + int imgType = src.getType(); + if (imgType == BufferedImage.TYPE_USHORT_GRAY) + imgType = BufferedImage.TYPE_BYTE_GRAY; + + return new BufferedImage(src.getWidth(), src.getHeight(), imgType); } - /** Return corresponding destination point for source point. + /** + * Returns the corresponding destination point for a given source point. + * + * This Op will return the source point unchanged. * - * LookupOp will return the value of src unchanged. * @param src The source point. * @param dst The destination point. - * @see java.awt.image.RasterOp#getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) */ public final Point2D getPoint2D(Point2D src, Point2D dst) { @@ -182,7 +217,11 @@ public class LookupOp implements BufferedImageOp, RasterOp return dst; } - /** Return the LookupTable for this op. */ + /** + * Return the LookupTable for this op. + * + * @return The lookup table. + */ public final LookupTable getTable() { return lut; @@ -196,7 +235,8 @@ public class LookupOp implements BufferedImageOp, RasterOp return hints; } - /** Filter a raster through a lookup table. + /** + * Filter a raster through a lookup table. * * Applies the lookup table for this Rasterop to each pixel of src and * puts the results in dest. If dest is null, a new Raster is created and @@ -206,8 +246,9 @@ public class LookupOp implements BufferedImageOp, RasterOp * @param dest The destination raster. * @return The WritableRaster with the filtered pixels. * @throws IllegalArgumentException if lookup table has more than one - * component but not the same as src and dest. - * @see java.awt.image.RasterOp#filter(java.awt.image.Raster, java.awt.image.WritableRaster) + * component but not the same as src and dest. + * @throws ArrayIndexOutOfBoundsException if a pixel in the source is not + * contained in the LookupTable. */ public final WritableRaster filter(Raster src, WritableRaster dest) { @@ -216,12 +257,13 @@ public class LookupOp implements BufferedImageOp, RasterOp dest = createCompatibleDestRaster(src); else if (src.getNumBands() != dest.getNumBands()) - throw new IllegalArgumentException(); - - if (lut.getNumComponents() != 1 - && lut.getNumComponents() != src.getNumBands()) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("Source and destination rasters " + + "are incompatible."); + if (lut.getNumComponents() != 1 + && lut.getNumComponents() != src.getNumBands()) + throw new IllegalArgumentException("Lookup table is incompatible with " + + "this raster."); // Allocate pixel storage. int[] tmp = new int[src.getNumBands()]; @@ -230,6 +272,19 @@ public class LookupOp implements BufferedImageOp, RasterOp for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++) for (int x = src.getMinX(); x < src.getWidth() + src.getMinX(); x++) dest.setPixel(x, y, lut.lookupPixel(src.getPixel(x, y, tmp), tmp)); + + /* The reference implementation does not use LookupTable.lookupPixel, + * but rather it seems to copy the table into a native array. The + * effect of this (a probable bug in their implementation) is that + * an out-of-bounds lookup on a ByteLookupTable will *not* throw an + * out of bounds exception, but will instead return random garbage. + * A bad lookup on a ShortLookupTable, however, will throw an + * exception. + * + * Instead of mimicing this behaviour, we always throw an + * ArrayOutofBoundsException by virtue of using + * LookupTable.lookupPixle. + */ return dest; } diff --git a/libjava/classpath/java/awt/image/MemoryImageSource.java b/libjava/classpath/java/awt/image/MemoryImageSource.java index 95cd4081922..83a03ca449c 100644 --- a/libjava/classpath/java/awt/image/MemoryImageSource.java +++ b/libjava/classpath/java/awt/image/MemoryImageSource.java @@ -1,5 +1,5 @@ /* MemoryImageSource.java -- Java class for providing image data - Copyright (C) 1999, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2004, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,9 @@ package java.awt.image; import java.util.Hashtable; import java.util.Vector; +/** + * An image producer that delivers image data from an array. + */ public class MemoryImageSource implements ImageProducer { private boolean animated = false; @@ -73,10 +76,19 @@ public class MemoryImageSource implements ImageProducer } /** - * Constructs an ImageProducer from memory + * Constructs an ImageProducer from memory. + * + * @param w the image width. + * @param h the image height. + * @param cm the color model. + * @param pix the image data. + * @param off the offset to the first pixel in the array. + * @param scan the number of array elements from a pixel on one row to the + * corresponding pixel on the next row. + * @param props image properties (null permitted). */ public MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, - int scan, Hashtable props) + int scan, Hashtable props) { width = w; height = h; @@ -106,10 +118,19 @@ public class MemoryImageSource implements ImageProducer } /** - Constructs an ImageProducer from memory - */ + * Constructs an ImageProducer from memory + * + * @param w the image width. + * @param h the image height. + * @param cm the color model. + * @param pix the image data. + * @param off the offset to the first pixel in the array. + * @param scan the number of array elements from a pixel on one row to the + * corresponding pixel on the next row. + * @param props image properties (null permitted). + */ public MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, - int scan, Hashtable props) + int scan, Hashtable props) { width = w; height = h; @@ -122,16 +143,32 @@ public class MemoryImageSource implements ImageProducer } /** - * Constructs an ImageProducer from memory using the default RGB ColorModel + * Constructs an ImageProducer from memory using the default RGB ColorModel. + * + * @param w the image width. + * @param h the image height. + * @param pix the image data. + * @param off the offset to the first pixel in the array. + * @param scan the number of array elements from a pixel on one row to the + * corresponding pixel on the next row. + * @param props image properties (null permitted). + */ public MemoryImageSource(int w, int h, int[] pix, int off, int scan, - Hashtable props) + Hashtable props) { this(w, h, ColorModel.getRGBdefault(), pix, off, scan, props); } /** - * Constructs an ImageProducer from memory using the default RGB ColorModel + * Constructs an ImageProducer from memory using the default RGB ColorModel. + * + * @param w the image width. + * @param h the image height. + * @param pix the image data. + * @param off the offset to the first pixel in the array. + * @param scan the number of array elements from a pixel on one row to the + * corresponding pixel on the next row. */ public MemoryImageSource(int w, int h, int[] pix, int off, int scan) { @@ -141,6 +178,8 @@ public class MemoryImageSource implements ImageProducer /** * Used to register an ImageConsumer with this * ImageProducer. + * + * @param ic the image consumer. */ public synchronized void addConsumer(ImageConsumer ic) { @@ -153,6 +192,8 @@ public class MemoryImageSource implements ImageProducer /** * Used to determine if the given ImageConsumer is * already registered with this ImageProducer. + * + * @param ic the image consumer. */ public synchronized boolean isConsumer(ImageConsumer ic) { @@ -164,6 +205,8 @@ public class MemoryImageSource implements ImageProducer /** * Used to remove an ImageConsumer from the list of * registered consumers for this ImageProducer. + * + * @param ic the image consumer. */ public synchronized void removeConsumer(ImageConsumer ic) { @@ -197,6 +240,8 @@ public class MemoryImageSource implements ImageProducer * Used to register an ImageConsumer with this * ImageProducer and then request that this producer * resend the image data in the order top-down, left-right. + * + * @param ic the image consumer. */ public void requestTopDownLeftRightResend(ImageConsumer ic) { @@ -219,7 +264,7 @@ public class MemoryImageSource implements ImageProducer * sending animation. If this flag is set then full buffers are sent * in the newPixels methods instead of just regions. * - * @param fullbuffers - a flag indicating whether to send the full buffers + * @param fullbuffers a flag indicating whether to send the full buffers */ public synchronized void setFullBufferUpdates(boolean fullbuffers) { @@ -260,6 +305,11 @@ public class MemoryImageSource implements ImageProducer /** * Send an animation frame to the image consumers containing the specified * pixels unless setFullBufferUpdates is set. + * + * @param x the x-coordinate. + * @param y the y-coordinate. + * @param w the width. + * @param h the height. */ public synchronized void newPixels(int x, int y, int w, int h) { @@ -306,6 +356,12 @@ public class MemoryImageSource implements ImageProducer * * If framenotify is set then a notification is sent when the frame * is sent otherwise no status is sent. + * + * @param x the x-coordinate. + * @param y the y-coordinate. + * @param w the width. + * @param h the height. + * @param framenotify send notification? */ public synchronized void newPixels(int x, int y, int w, int h, boolean framenotify) diff --git a/libjava/classpath/java/awt/image/PixelGrabber.java b/libjava/classpath/java/awt/image/PixelGrabber.java index 70a80af3cf9..fc5e0efc0a5 100644 --- a/libjava/classpath/java/awt/image/PixelGrabber.java +++ b/libjava/classpath/java/awt/image/PixelGrabber.java @@ -55,7 +55,7 @@ public class PixelGrabber implements ImageConsumer ColorModel model = ColorModel.getRGBdefault(); int hints; - Hashtable props; + Hashtable props; int int_pixel_buffer[]; boolean ints_delivered = false; @@ -442,7 +442,7 @@ public class PixelGrabber implements ImageConsumer * @param props a list of properties associated with the image being * produced */ - public synchronized void setProperties(Hashtable props) + public synchronized void setProperties(Hashtable props) { this.props = props; } diff --git a/libjava/classpath/java/awt/image/RGBImageFilter.java b/libjava/classpath/java/awt/image/RGBImageFilter.java index ecfed0674f1..c777fecd901 100644 --- a/libjava/classpath/java/awt/image/RGBImageFilter.java +++ b/libjava/classpath/java/awt/image/RGBImageFilter.java @@ -46,228 +46,220 @@ package java.awt.image; */ public abstract class RGBImageFilter extends ImageFilter { - protected ColorModel origmodel; + protected ColorModel origmodel; - protected ColorModel newmodel; + protected ColorModel newmodel; - /** - Specifies whether to apply the filter to the index entries of the - IndexColorModel. Subclasses should set this to true if the filter - does not depend on the pixel's coordinate. - */ - protected boolean canFilterIndexColorModel = false; + /** + * Specifies whether to apply the filter to the index entries of the + * IndexColorModel. Subclasses should set this to true if the filter + * does not depend on the pixel's coordinate. + */ + protected boolean canFilterIndexColorModel = false; - /** - Construct new RGBImageFilter. - */ - public RGBImageFilter() - { - } + /** + * Construct new RGBImageFilter. + */ + public RGBImageFilter() + { + } - /** - * Sets the ColorModel used to filter with. If the specified ColorModel is IndexColorModel - * and canFilterIndexColorModel is true, we subsitute the ColorModel for a filtered one - * here and in setPixels whenever the original one appears. Otherwise overrides the default - * ColorModel of ImageProducer and specifies the default RGBColorModel - * - * @param model the color model to be used most often by setPixels - * @see ColorModel */ - public void setColorModel(ColorModel model) - { - origmodel = model; - newmodel = model; + /** + * Sets the ColorModel used to filter with. If the specified ColorModel is + * IndexColorModel and canFilterIndexColorModel is true, we subsitute the + * ColorModel for a filtered one here and in setPixels whenever the original + * one appears. Otherwise overrides the default ColorModel of ImageProducer + * and specifies the default RGBColorModel + * + * @param model the color model to be used most often by setPixels + * + * @see ColorModel + */ + public void setColorModel(ColorModel model) + { + if ((model instanceof IndexColorModel) && canFilterIndexColorModel) + { + ColorModel newCM = filterIndexColorModel((IndexColorModel) model); + substituteColorModel(model, newCM); + consumer.setColorModel(newmodel); + } + else + { + consumer.setColorModel(ColorModel.getRGBdefault()); + } + } - if( ( model instanceof IndexColorModel) && canFilterIndexColorModel ) { - newmodel = filterIndexColorModel( (IndexColorModel) model ); - if (consumer != null) - consumer.setColorModel(newmodel); - } - else { - if (consumer != null) - consumer.setColorModel(ColorModel.getRGBdefault()); - } - } - - /** - Registers a new ColorModel to subsitute for the old ColorModel when - setPixels encounters the a pixel with the old ColorModel. The pixel - remains unchanged except for a new ColorModel. - - @param oldcm the old ColorModel - @param newcm the new ColorModel - */ - public void substituteColorModel(ColorModel oldcm, - ColorModel newcm) - { - origmodel = oldcm; - newmodel = newcm; - } - - /** - Filters an IndexColorModel through the filterRGB function. Uses - coordinates of -1 to indicate its filtering an index and not a pixel. - - @param icm an IndexColorModel to filter - */ - public IndexColorModel filterIndexColorModel(IndexColorModel icm) - { - int len = icm.getMapSize(), rgb; - byte reds[] = new byte[len], greens[] = new byte[len], blues[] = new byte[len], alphas[] = new byte[len]; - - icm.getAlphas( alphas ); - icm.getReds( reds ); - icm.getGreens( greens ); - icm.getBlues( blues ); - - for( int i = 0; i < len; i++ ) - { - rgb = filterRGB( -1, -1, makeColor ( alphas[i], reds[i], greens[i], blues[i] ) ); - alphas[i] = (byte)(( 0xff000000 & rgb ) >> 24); - reds[i] = (byte)(( 0xff0000 & rgb ) >> 16); - greens[i] = (byte)(( 0xff00 & rgb ) >> 8); - blues[i] = (byte)(0xff & rgb); - } - return new IndexColorModel( icm.getPixelSize(), len, reds, greens, blues, alphas ); - } - - private int makeColor( byte a, byte r, byte g, byte b ) - { - return ( 0xff000000 & (a << 24) | 0xff0000 & (r << 16) | 0xff00 & (g << 8) | 0xff & b ); - } - - /** - This functions filters a set of RGB pixels through filterRGB. - - @param x the x coordinate of the rectangle - @param y the y coordinate of the rectangle - @param w the width of the rectangle - @param h the height of the rectangle - @param pixels the array of pixel values - @param offset the index of the first pixels in the pixels array - @param scansize the width to use in extracting pixels from the pixels array - */ - public void filterRGBPixels(int x, int y, int w, int h, int[] pixels, - int offset, int scansize) - { - for (int yp = 0; yp < h; yp++) - { - for (int xp = 0; xp < w; xp++) - { - pixels[offset + xp] = filterRGB(xp + x, yp + y, pixels[offset + xp]); - } - offset += scansize; - } - } - - - /** - * If the ColorModel is the same ColorModel which as already converted - * then it converts it the converted ColorModel. Otherwise it passes the - * array of pixels through filterRGBpixels. - * - * @param x the x coordinate of the rectangle - * @param y the y coordinate of the rectangle - * @param w the width of the rectangle - * @param h the height of the rectangle - * @param model the ColorModel used to translate the pixels - * @param pixels the array of pixel values - * @param offset the index of the first pixels in the pixels array - * @param scansize the width to use in extracting pixels from the pixels array - */ - public void setPixels(int x, int y, int w, int h, - ColorModel model, byte[] pixels, - int offset, int scansize) - { - if(model == origmodel && (model instanceof IndexColorModel) && canFilterIndexColorModel) - { - if (consumer != null) - consumer.setPixels(x, y, w, h, newmodel, pixels, offset, scansize); - } - else - { - int intPixels[] = - convertColorModelToDefault( x, y, w, h, model, pixels, offset, scansize ); - filterRGBPixels( x, y, w, h, intPixels, offset, scansize ); - if (consumer != null) - consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(), intPixels, offset, scansize); - } - } - - /** - * This function delivers a rectangle of pixels where any - * pixel(m,n) is stored in the array as an int at - * index (n * scansize + m + offset). - * - * @param x the x coordinate of the rectangle - * @param y the y coordinate of the rectangle - * @param w the width of the rectangle - * @param h the height of the rectangle - * @param model the ColorModel used to translate the pixels - * @param pixels the array of pixel values - * @param offset the index of the first pixels in the pixels array - * @param scansize the width to use in extracting pixels from the pixels array - */ - public void setPixels(int x, int y, int w, int h, - ColorModel model, int[] pixels, - int offset, int scansize) - { - if(model == origmodel && (model instanceof IndexColorModel) && canFilterIndexColorModel) - { - if (consumer != null) - consumer.setPixels(x, y, w, h, newmodel, pixels, offset, scansize); - } - else - { - //FIXME: Store the filtered pixels in a separate temporary buffer? - convertColorModelToDefault( x, y, w, h, model, pixels, offset, scansize ); - filterRGBPixels( x, y, w, h, pixels, offset, scansize ); - if (consumer != null) - consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(), pixels, offset, scansize); - } - } - - private int[] convertColorModelToDefault(int x, int y, int w, int h, - ColorModel model, byte pixels[], - int offset, int scansize) - { - int intPixels[] = new int[pixels.length]; - for (int i = 0; i < pixels.length; i++) - intPixels[i] = makeColorbyDefaultCM(model, pixels[i]); - return intPixels; - } + /** + * Registers a new ColorModel to subsitute for the old ColorModel when + * setPixels encounters the a pixel with the old ColorModel. The pixel + * remains unchanged except for a new ColorModel. + * + * @param oldcm the old ColorModel + * @param newcm the new ColorModel + */ + public void substituteColorModel(ColorModel oldcm, ColorModel newcm) + { + origmodel = oldcm; + newmodel = newcm; + } - private void convertColorModelToDefault(int x, int y, int w, int h, - ColorModel model, int pixels[], - int offset, int scansize) - { - for (int i = 0; i < pixels.length; i++) - pixels[i] = makeColorbyDefaultCM(model, pixels[i]); - } + /** + * Filters an IndexColorModel through the filterRGB function. Uses + * coordinates of -1 to indicate its filtering an index and not a pixel. + * + * @param icm an IndexColorModel to filter + */ + public IndexColorModel filterIndexColorModel(IndexColorModel icm) + { + int len = icm.getMapSize(); + byte[] reds = new byte[len]; + byte[] greens = new byte[len]; + byte[] blues = new byte[len]; + byte[] alphas = new byte[len]; - private int makeColorbyDefaultCM(ColorModel model, byte rgb) - { - return makeColor( model.getAlpha( rgb ) * 4, model.getRed( rgb ) * 4, model.getGreen( rgb ) * 4, model.getBlue( rgb ) * 4 ); - } + icm.getAlphas( alphas ); + icm.getReds( reds ); + icm.getGreens( greens ); + icm.getBlues( blues ); - private int makeColorbyDefaultCM(ColorModel model, int rgb) - { - return makeColor( model.getAlpha( rgb ), model.getRed( rgb ), model.getGreen( rgb ), model.getBlue( rgb ) ); - } + int transparent = icm.getTransparentPixel(); + boolean needAlpha = false; + for( int i = 0; i < len; i++ ) + { + int rgb = filterRGB(-1, -1, icm.getRGB(i)); + alphas[i] = (byte) (rgb >> 24); + if (alphas[i] != ((byte) 0xff) && i != transparent) + needAlpha = true; + reds[i] = (byte) (rgb >> 16); + greens[i] = (byte) (rgb >> 8); + blues[i] = (byte) (rgb); + } + IndexColorModel newIcm; + if (needAlpha) + newIcm = new IndexColorModel(icm.getPixelSize(), len, reds, greens, + blues, alphas); + else + newIcm = new IndexColorModel(icm.getPixelSize(), len, reds, greens, + blues, transparent); + return newIcm; + } - private int makeColor( int a, int r, int g, int b ) - { - return (int)( 0xff000000 & (a << 24) | 0xff0000 & (r << 16) | 0xff00 & (g << 8) | 0xff & b ); - } + /** + * This functions filters a set of RGB pixels through filterRGB. + * + * @param x the x coordinate of the rectangle + * @param y the y coordinate of the rectangle + * @param w the width of the rectangle + * @param h the height of the rectangle + * @param pixels the array of pixel values + * @param offset the index of the first pixels in the + * pixels array + * @param scansize the width to use in extracting pixels from the + * pixels array + */ + public void filterRGBPixels(int x, int y, int w, int h, int[] pixels, + int offset, int scansize) + { + int index = offset; + for (int yp = 0; yp < h; yp++) + { + for (int xp = 0; xp < w; xp++) + { + pixels[index] = filterRGB(xp + x, yp + y, pixels[index]); + index++; + } + index += scansize - w; + } + consumer.setPixels(x, y, w, h, ColorModel.getRGBdefault(), pixels, offset, + scansize); + } + /** + * If the ColorModel is the same ColorModel which as already converted + * then it converts it the converted ColorModel. Otherwise it passes the + * array of pixels through filterRGBpixels. + * + * @param x the x coordinate of the rectangle + * @param y the y coordinate of the rectangle + * @param w the width of the rectangle + * @param h the height of the rectangle + * @param model the ColorModel used to translate the pixels + * @param pixels the array of pixel values + * @param offset the index of the first pixels in the pixels + * array + * @param scansize the width to use in extracting pixels from the + * pixels array + */ + public void setPixels(int x, int y, int w, int h, ColorModel model, + byte[] pixels, int offset, int scansize) + { + if (model == origmodel) + { + consumer.setPixels(x, y, w, h, newmodel, pixels, offset, scansize); + } + else + { + int[] filtered = new int[w]; + int index = offset; + for (int yp = 0; yp < h; yp++) + { + for (int xp = 0; xp < w; xp++) + { + filtered[xp] = model.getRGB((pixels[index] & 0xff)); + index++; + } + index += scansize - w; + filterRGBPixels(x, y + yp, w, 1, filtered, 0, w); + } + } + } - /** - Filters a single pixel from the default ColorModel. + /** + * This function delivers a rectangle of pixels where any + * pixel(m,n) is stored in the array as an int at + * index (n * scansize + m + offset). + * + * @param x the x coordinate of the rectangle + * @param y the y coordinate of the rectangle + * @param w the width of the rectangle + * @param h the height of the rectangle + * @param model the ColorModel used to translate the pixels + * @param pixels the array of pixel values + * @param offset the index of the first pixels in the pixels + * array + * @param scansize the width to use in extracting pixels from the + * pixels array + */ + public void setPixels(int x, int y, int w, int h, ColorModel model, + int[] pixels, int offset, int scansize) + { + if (model == origmodel) + { + consumer.setPixels(x, y, w, h, newmodel, pixels, offset, scansize); + } + else + { + int[] filtered = new int[w]; + int index = offset; + for (int yp = 0; yp < h; yp++) + { + for (int xp = 0; xp < w; xp++) + { + filtered[xp] = model.getRGB((pixels[index] & 0xff)); + index++; + } + index += scansize - w; + filterRGBPixels(x, y + yp, w, 1, filtered, 0, w); + } + } + } - @param x x-coordinate - @param y y-coordinate - @param rgb color - */ - public abstract int filterRGB(int x, - int y, - int rgb); + /** + * Filters a single pixel from the default ColorModel. + * + * @param x x-coordinate + * @param y y-coordinate + * @param rgb color + */ + public abstract int filterRGB(int x, int y, int rgb); } diff --git a/libjava/classpath/java/awt/image/Raster.java b/libjava/classpath/java/awt/image/Raster.java index 160f8be8b51..d63e156f6ae 100644 --- a/libjava/classpath/java/awt/image/Raster.java +++ b/libjava/classpath/java/awt/image/Raster.java @@ -511,9 +511,10 @@ public class Raster int height, int childMinX, int childMinY, int[] bandList) { - /* FIXME: Throw RasterFormatException if child bounds extends - beyond the bounds of this raster. */ - + if (parentX < minX || parentX + width > minX + this.width + || parentY < minY || parentY + height > minY + this.height) + throw new RasterFormatException("Child raster extends beyond parent"); + SampleModel sm = (bandList == null) ? sampleModel : sampleModel.createSubsetSampleModel(bandList); diff --git a/libjava/classpath/java/awt/image/RenderedImage.java b/libjava/classpath/java/awt/image/RenderedImage.java index b35f8602129..067e9b98e38 100644 --- a/libjava/classpath/java/awt/image/RenderedImage.java +++ b/libjava/classpath/java/awt/image/RenderedImage.java @@ -46,7 +46,7 @@ import java.util.Vector; */ public interface RenderedImage { - Vector getSources(); + Vector getSources(); Object getProperty(String name); String[] getPropertyNames(); ColorModel getColorModel(); diff --git a/libjava/classpath/java/awt/image/ReplicateScaleFilter.java b/libjava/classpath/java/awt/image/ReplicateScaleFilter.java index 6d5099dead2..5ba03f182f6 100644 --- a/libjava/classpath/java/awt/image/ReplicateScaleFilter.java +++ b/libjava/classpath/java/awt/image/ReplicateScaleFilter.java @@ -46,6 +46,7 @@ import java.util.Hashtable; * exact method is not defined by Sun but some sort of fast Box filter should * probably be correct. *
    + * Currently this filter does nothing and needs to be implemented. * * @author C. Brian Jones (cbj@gnu.org) */ @@ -116,11 +117,11 @@ public class ReplicateScaleFilter extends ImageFilter } else if (destWidth < 0) { - destWidth = (int) (width * ((double) destHeight / srcHeight)); + destWidth = width * destHeight / srcHeight; } else if (destHeight < 0) { - destHeight = (int) (height * ((double) destWidth / srcWidth)); + destHeight = height * destWidth / srcWidth; } if (consumer != null) @@ -133,11 +134,12 @@ public class ReplicateScaleFilter extends ImageFilter * * @param props the list of properties associated with this image */ - public void setProperties(Hashtable props) + public void setProperties(Hashtable props) { - props.put("filters", "ReplicateScaleFilter"); - if (consumer != null) - consumer.setProperties(props); + Hashtable prop2 = (Hashtable) props; + prop2.put("filters", "ReplicateScaleFilter"); + if (consumer != null) + consumer.setProperties(prop2); } /** @@ -157,19 +159,35 @@ public class ReplicateScaleFilter extends ImageFilter public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int offset, int scansize) { - double rx = ((double) srcWidth) / destWidth; - double ry = ((double) srcHeight) / destHeight; - - int destScansize = (int) Math.round(scansize / rx); - - byte[] destPixels = replicatePixels(x, y, w, h, - model, pixels, offset, scansize, - rx, ry, destScansize); - - if (consumer != null) - consumer.setPixels((int) Math.floor(x/rx), (int) Math.floor(y/ry), - (int) Math.ceil(w/rx), (int) Math.ceil(h/ry), - model, destPixels, 0, destScansize); + if (srcrows == null || srccols == null) + setupSources(); + int dx1 = (2 * x * destWidth + srcWidth - 1) / (2 * destWidth); + int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * destHeight); + byte[] pix; + if (outpixbuf != null && outpixbuf instanceof byte[]) + { + pix = (byte[]) outpixbuf; + } + else + { + pix = new byte[destWidth]; + outpixbuf = pix; + } + int sy, sx; + for (int yy = dy1; (sy = srcrows[yy]) < y + h; yy++) + { + int offs = offset + scansize * (sy - y); + int xx; + for (xx = dx1; (sx = srccols[xx]) < x + w; xx++) + { + pix[xx] = pixels[offs + sx - x]; + } + if (xx > dx1) + { + consumer.setPixels(dx1, yy, xx - dx1, 1, model, pix, dx1, + destWidth); + } + } } /** @@ -189,59 +207,52 @@ public class ReplicateScaleFilter extends ImageFilter public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int offset, int scansize) { - double rx = ((double) srcWidth) / destWidth; - double ry = ((double) srcHeight) / destHeight; - - int destScansize = (int) Math.round(scansize / rx); - - int[] destPixels = replicatePixels(x, y, w, h, - model, pixels, offset, scansize, - rx, ry, destScansize); - - if (consumer != null) - consumer.setPixels((int) Math.floor(x/rx), (int) Math.floor(y/ry), - (int) Math.ceil(w/rx), (int) Math.ceil(h/ry), - model, destPixels, 0, destScansize); - } - - private byte[] replicatePixels(int srcx, int srcy, int srcw, int srch, - ColorModel model, byte[] srcPixels, - int srcOffset, int srcScansize, - double rx, double ry, int destScansize) - { - byte[] destPixels = - new byte[(int) Math.ceil(srcw/rx) * (int) Math.ceil(srch/ry)]; - - int a, b; - for (int i = 0; i < destPixels.length; i++) - { - a = (int) ((int) ( ((double) i) / destScansize) * ry) * srcScansize; - b = (int) ((i % destScansize) * rx); - if ((a + b + srcOffset) < srcPixels.length) - destPixels[i] = srcPixels[a + b + srcOffset]; - } - - return destPixels; + if (srcrows == null || srccols == null) + setupSources(); + int dx1 = (2 * x * destWidth + srcWidth - 1) / (2 * destWidth); + int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * destHeight); + int[] pix; + if (outpixbuf != null && outpixbuf instanceof int[]) + { + pix = (int[]) outpixbuf; + } + else + { + pix = new int[destWidth]; + outpixbuf = pix; + } + int sy, sx; + for (int yy = dy1; (sy = srcrows[yy]) < y + h; yy++) + { + int offs = offset + scansize * (sy - y); + int xx; + for (xx = dx1; (sx = srccols[xx]) < x + w; xx++) + { + pix[xx] = pixels[offs + sx - x]; + } + if (xx > dx1) + { + consumer.setPixels(dx1, yy, xx - dx1, 1, model, pix, dx1, + destWidth); + } + } } - private int[] replicatePixels(int srcx, int srcy, int srcw, int srch, - ColorModel model, int[] srcPixels, - int srcOffset, int srcScansize, - double rx, double ry, int destScansize) - { - int[] destPixels = - new int[(int) Math.ceil(srcw/rx) * (int) Math.ceil(srch/ry)]; - - int a, b; - for (int i = 0; i < destPixels.length; i++) - { - a = (int) ((int) ( ((double) i) / destScansize) * ry) * srcScansize; - b = (int) ((i % destScansize) * rx); - if ((a + b + srcOffset) < srcPixels.length) - destPixels[i] = srcPixels[a + b + srcOffset]; - } - - return destPixels; - } + /** + * Sets up the srcrows and srccols arrays. + */ + private void setupSources() + { + srcrows = new int[destHeight + 1]; + for (int y = 0; y <= destHeight; y++) + { + srcrows[y] = (2 * y * srcHeight + srcHeight) / (2 * destHeight); + } + srccols = new int[destWidth + 1]; + for (int x = 0; x <= destWidth; x++) + { + srccols[x] = (2 * x * srcWidth + srcWidth) / (2 * destWidth); + } + } } diff --git a/libjava/classpath/java/awt/image/RescaleOp.java b/libjava/classpath/java/awt/image/RescaleOp.java index d5b29693caf..d56b12cb952 100644 --- a/libjava/classpath/java/awt/image/RescaleOp.java +++ b/libjava/classpath/java/awt/image/RescaleOp.java @@ -1,4 +1,4 @@ -/* Copyright (C) 2004 Free Software Foundation +/* Copyright (C) 2004, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -43,7 +43,23 @@ import java.awt.geom.Rectangle2D; import java.util.Arrays; /** + * RescaleOp is a filter that changes each pixel by a scaling factor and offset. + * + * For filtering Rasters, either one scaling factor and offset can be specified, + * which will be applied to all bands; or a scaling factor and offset can be + * specified for each band. + * + * For BufferedImages, the scaling may apply to both color and alpha components. + * If only one scaling factor is provided, or if the number of factors provided + * equals the number of color components, the scaling is performed on all color + * components. Otherwise, the scaling is performed on all components including + * alpha. Alpha premultiplication is ignored. + * + * After filtering, if color conversion is necessary, the conversion happens, + * taking alpha premultiplication into account. + * * @author Jerry Quinn (jlquinn@optonline.net) + * @author Francis Kung (fkung@redhat.com) */ public class RescaleOp implements BufferedImageOp, RasterOp { @@ -51,15 +67,43 @@ public class RescaleOp implements BufferedImageOp, RasterOp private float[] offsets; private RenderingHints hints = null; + /** + * Create a new RescaleOp object using the given scale factors and offsets. + * + * The length of the arrays must be equal to the number of bands (or number of + * data or color components) of the raster/image that this Op will be used on, + * otherwise an IllegalArgumentException will be thrown when calling the + * filter method. + * + * @param scaleFactors an array of scale factors. + * @param offsets an array of offsets. + * @param hints any rendering hints to use (can be null). + * @throws NullPointerException if the scaleFactors or offsets array is null. + */ public RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints) { - this.scale = scaleFactors; - this.offsets = offsets; + int length = Math.min(scaleFactors.length, offsets.length); + + scale = new float[length]; + System.arraycopy(scaleFactors, 0, this.scale, 0, length); + + this.offsets = new float[length]; + System.arraycopy(offsets, 0, this.offsets, 0, length); + this.hints = hints; } + /** + * Create a new RescaleOp object using the given scale factor and offset. + * + * The same scale factor and offset will be used on all bands/components. + * + * @param scaleFactor the scale factor to use. + * @param offset the offset to use. + * @param hints any rendering hints to use (can be null). + */ public RescaleOp(float scaleFactor, float offset, RenderingHints hints) @@ -69,22 +113,47 @@ public class RescaleOp implements BufferedImageOp, RasterOp this.hints = hints; } + /** + * Returns the scaling factors. This method accepts an optional array, which + * will be used to store the factors if not null (this avoids allocating a + * new array). If this array is too small to hold all the scaling factors, + * the array will be filled and the remaining factors discarded. + * + * @param scaleFactors array to store the scaling factors in (can be null). + * @return an array of scaling factors. + */ public final float[] getScaleFactors(float[] scaleFactors) { if (scaleFactors == null) scaleFactors = new float[scale.length]; - System.arraycopy(scale, 0, scaleFactors, 0, scale.length); + System.arraycopy(scale, 0, scaleFactors, 0, Math.min(scale.length, + scaleFactors.length)); return scaleFactors; } + /** + * Returns the offsets. This method accepts an optional array, which + * will be used to store the offsets if not null (this avoids allocating a + * new array). If this array is too small to hold all the offsets, the array + * will be filled and the remaining factors discarded. + * + * @param offsets array to store the offsets in (can be null). + * @return an array of offsets. + */ public final float[] getOffsets(float[] offsets) { if (offsets == null) offsets = new float[this.offsets.length]; - System.arraycopy(this.offsets, 0, offsets, 0, this.offsets.length); + System.arraycopy(this.offsets, 0, offsets, 0, Math.min(this.offsets.length, + offsets.length)); return offsets; } + /** + * Returns the number of scaling factors / offsets. + * + * @return the number of scaling factors / offsets. + */ public final int getNumFactors() { return scale.length; @@ -98,36 +167,74 @@ public class RescaleOp implements BufferedImageOp, RasterOp return hints; } - /* (non-Javadoc) - * @see java.awt.image.BufferedImageOp#filter(java.awt.image.BufferedImage, java.awt.image.BufferedImage) + /** + * Converts the source image using the scale factors and offsets specified in + * the constructor. The resulting image is stored in the destination image if + * one is provided; otherwise a new BufferedImage is created and returned. + * + * The source image cannot use an IndexColorModel, and the destination image + * (if one is provided) must have the same size. + * + * If the final value of a sample is beyond the range of the color model, it + * will be clipped to the appropriate maximum / minimum. + * + * @param src The source image. + * @param dst The destination image. + * @throws IllegalArgumentException if the rasters and/or color spaces are + * incompatible. + * @return The rescaled image. */ public final BufferedImage filter(BufferedImage src, BufferedImage dst) { - // TODO Make sure premultiplied alpha is handled correctly. - // TODO See that color conversion is handled. - // TODO figure out how to use rendering hints. - if (scale.length != offsets.length) - throw new IllegalArgumentException(); + // Initial checks + if (scale.length != 1 + && scale.length != src.getColorModel().getNumComponents() + && (scale.length != src.getColorModel().getNumColorComponents())) + throw new IllegalArgumentException("Source image has wrong number of " + + "bands for these scaling factors."); - ColorModel scm = src.getColorModel(); - if (dst == null) dst = createCompatibleDestImage(src, null); + if (dst == null) + dst = createCompatibleDestImage(src, null); + else if (src.getHeight() != dst.getHeight() + || src.getWidth() != dst.getWidth()) + throw new IllegalArgumentException("Source and destination images are " + + "different sizes."); - WritableRaster wsrc = src.getRaster(); - WritableRaster wdst = dst.getRaster(); - - // Share constant across colors except alpha - if (scale.length == 1 || scale.length == scm.getNumColorComponents()) + // Prepare for possible colorspace conversion + BufferedImage dst2 = dst; + if (dst.getColorModel().getColorSpace().getType() != src.getColorModel().getColorSpace().getType()) + dst2 = createCompatibleDestImage(src, src.getColorModel()); + + // Figure out how many bands to scale + int numBands = scale.length; + if (scale.length == 1) + numBands = src.getColorModel().getNumColorComponents(); + boolean[] bands = new boolean[numBands]; + // this assumes the alpha, if present, is the last band + Arrays.fill(bands, true); + + // Perform rescaling + filter(src.getRaster(), dst2.getRaster(), bands); + + // Copy alpha band if needed (ie if it exists and wasn't scaled) + // NOTE: This assumes the alpha component is the last band! + if (src.getColorModel().hasAlpha() + && numBands == src.getColorModel().getNumColorComponents()) { - // Construct a raster that doesn't include an alpha band. - int[] subbands = new int[scm.getNumColorComponents()]; - for (int i=0; i < subbands.length; i++) subbands[i] = i; - wsrc = - wsrc.createWritableChild(wsrc.minX, wsrc.minY, wsrc.width, wsrc.height, - wsrc.minX, wsrc.minY, subbands); + + dst2.getRaster().setSamples(0, 0, src.getWidth(), src.getHeight(), + numBands, + src.getRaster().getSamples(0, 0, + src.getWidth(), + src.getHeight(), + numBands, + (int[]) null)); } - // else all color bands - filter(wsrc, wdst); + // Perform colorspace conversion if needed + if (dst != dst2) + new ColorConvertOp(hints).filter(dst2, dst); + return dst; } @@ -136,50 +243,106 @@ public class RescaleOp implements BufferedImageOp, RasterOp */ public final WritableRaster filter(Raster src, WritableRaster dest) { - if (dest == null) dest = src.createCompatibleWritableRaster(); - // Required sanity checks - if (src.numBands != dest.numBands || scale.length != offsets.length) - throw new IllegalArgumentException(); if (scale.length != 1 && scale.length != src.numBands) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("Number of rasters is incompatible " + + "with the number of scaling " + + "factors provided."); - // Create scaling arrays if needed - float[] lscale = scale; - float[] loff = offsets; - if (scale.length == 1) - { - lscale = new float[src.numBands]; - Arrays.fill(lscale, scale[0]); - loff = new float[src.numBands]; - Arrays.fill(loff, offsets[0]); - } + if (dest == null) + dest = src.createCompatibleWritableRaster(); + else if (src.getHeight() != dest.getHeight() + || src.getWidth() != dest.getWidth()) + throw new IllegalArgumentException("Source and destination rasters are " + + "different sizes."); + else if (src.numBands != dest.numBands) + throw new IllegalArgumentException("Source and destination rasters " + + "are incompatible."); + + // Filter all bands + boolean[] bands = new boolean[src.getNumBands()]; + Arrays.fill(bands, true); + return filter(src, dest, bands); + } + + /** + * Perform raster-based filtering on a selected number of bands. + * + * The length of the bands array should equal the number of bands; a true + * element indicates filtering should happen on the corresponding band, while + * a false element will skip the band. + * + * The rasters are assumed to be compatible and non-null. + * + * @param src the source raster. + * @param dest the destination raster. + * @param bands an array indicating which bands to filter. + * @throws NullPointerException if any parameter is null. + * @throws ArrayIndexOutOfBoundsException if the bands array is too small. + * @return the destination raster. + */ + private WritableRaster filter(Raster src, WritableRaster dest, boolean[] bands) + { + int[] values = new int[src.getHeight() * src.getWidth()]; + float scaleFactor, offset; + + // Find max sample value, to be used for clipping later + int[] maxValue = src.getSampleModel().getSampleSize(); + for (int i = 0; i < maxValue.length; i++) + maxValue[i] = (int)Math.pow(2, maxValue[i]) - 1; + + // TODO: can this be optimized further? + // Filter all samples of all requested bands + for (int band = 0; band < bands.length; band++) + if (bands[band]) + { + values = src.getSamples(src.getMinX(), src.getMinY(), src.getWidth(), + src.getHeight(), band, values); - // TODO The efficiency here can be improved for various data storage - // patterns, aka SampleModels. - float[] pixel = new float[src.numBands]; - for (int y = src.minY; y < src.height + src.minY; y++) - for (int x = src.minX; x < src.width + src.minX; x++) - { - src.getPixel(x, y, pixel); - for (int b = 0; b < src.numBands; b++) - pixel[b] = pixel[b] * lscale[b] + loff[b]; - dest.setPixel(x, y, pixel); - } + if (scale.length == 1) + { + scaleFactor = scale[0]; + offset = offsets[0]; + } + else + { + scaleFactor = scale[band]; + offset = offsets[band]; + } + + for (int i = 0; i < values.length; i++) + { + values[i] = (int) (values[i] * scaleFactor + offset); + + // Clip if needed + if (values[i] < 0) + values[i] = 0; + if (values[i] > maxValue[band]) + values[i] = maxValue[band]; + } + + dest.setSamples(dest.getMinX(), dest.getMinY(), dest.getWidth(), + dest.getHeight(), band, values); + } + return dest; } - /* (non-Javadoc) - * @see java.awt.image.BufferedImageOp#createCompatibleDestImage(java.awt.image.BufferedImage, java.awt.image.ColorModel) + /* + * (non-Javadoc) + * + * @see java.awt.image.BufferedImageOp#createCompatibleDestImage(java.awt.image.BufferedImage, + * java.awt.image.ColorModel) */ public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) { - if (dstCM == null) dstCM = src.getColorModel(); - WritableRaster wr = src.getRaster().createCompatibleWritableRaster(); - BufferedImage image - = new BufferedImage(dstCM, wr, src.isPremultiplied, null); - return image; + if (dstCM == null) + return new BufferedImage(src.getWidth(), src.getHeight(), src.getType()); + + return new BufferedImage(dstCM, + src.getRaster().createCompatibleWritableRaster(), + src.isAlphaPremultiplied(), null); } /* (non-Javadoc) @@ -209,9 +372,13 @@ public class RescaleOp implements BufferedImageOp, RasterOp /* (non-Javadoc) * @see java.awt.image.BufferedImageOp#getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) */ - public final Point2D getPoint2D(Point2D src, Point2D dst) { - if (dst == null) dst = (Point2D) src.clone(); - else dst.setLocation(src); + public final Point2D getPoint2D(Point2D src, Point2D dst) + { + if (dst == null) + dst = (Point2D) src.clone(); + else + dst.setLocation(src); + return dst; } diff --git a/libjava/classpath/java/awt/image/SampleModel.java b/libjava/classpath/java/awt/image/SampleModel.java index cb352bb4d85..506e78a9b87 100644 --- a/libjava/classpath/java/awt/image/SampleModel.java +++ b/libjava/classpath/java/awt/image/SampleModel.java @@ -246,9 +246,7 @@ public abstract class SampleModel public void setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) { - int size = w * h; int numDataElements = getNumDataElements(); - int dataSize = numDataElements * size; Object pixelData; switch (getTransferType()) @@ -257,25 +255,34 @@ public abstract class SampleModel pixelData = new byte[numDataElements]; break; case DataBuffer.TYPE_USHORT: + case DataBuffer.TYPE_SHORT: pixelData = new short[numDataElements]; break; case DataBuffer.TYPE_INT: pixelData = new int[numDataElements]; break; + case DataBuffer.TYPE_FLOAT: + pixelData = new float[numDataElements]; + break; + case DataBuffer.TYPE_DOUBLE: + pixelData = new double[numDataElements]; + break; default: - // Seems like the only sensible thing to do. - throw new ClassCastException(); + // The RI silently igores invalid types. + pixelData = null; } - int inOffset = 0; - for (int yy = y; yy < (y + h); yy++) + int inOffset = 0; + if (pixelData != null) { - for (int xx = x; xx < (x + w); xx++) + for (int yy=y; yy<(y+h); yy++) { - System.arraycopy(obj, inOffset, pixelData, 0, - numDataElements); - setDataElements(xx, yy, pixelData, data); - inOffset += numDataElements; + for (int xx=x; xx<(x+w); xx++) + { + System.arraycopy(obj, inOffset, pixelData, 0, numDataElements); + setDataElements(xx, yy, pixelData, data); + inOffset += numDataElements; + } } } } diff --git a/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java b/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java index a37fc0bba3f..9ed948c54f3 100644 --- a/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java +++ b/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java @@ -412,110 +412,31 @@ public class SinglePixelPackedSampleModel extends SampleModel return (samples & bitMasks[b]) >>> bitOffsets[b]; } - /** - * This method implements a more efficient way to set data elements than the - * default implementation of the super class. It sets the data elements line - * by line instead of pixel by pixel. - * - * @param x The x-coordinate of the data elements in obj. - * @param y The y-coordinate of the data elements in obj. - * @param w The width of the data elements in obj. - * @param h The height of the data elements in obj. - * @param obj The primitive array containing the data elements to set. - * @param data The DataBuffer to store the data elements into. - * @see java.awt.image.SampleModel#setDataElements(int, int, int, int, - * java.lang.Object, java.awt.image.DataBuffer) - */ - public void setDataElements(int x, int y, int w, int h, - Object obj, DataBuffer data) - { - - Object pixelData; - switch (getTransferType()) - { - case DataBuffer.TYPE_BYTE: - pixelData = ((DataBufferByte) data).getData(); - break; - case DataBuffer.TYPE_USHORT: - pixelData = ((DataBufferUShort) data).getData(); - break; - case DataBuffer.TYPE_INT: - pixelData = ((DataBufferInt) data).getData(); - break; - default: - // Seems like the only sensible thing to do. - throw new ClassCastException(); - } - - int inOffset = 0; - int dataOffset = scanlineStride*y + x + data.getOffset(); - for (int yy=y; yy<(y+h); yy++) - { - System.arraycopy(obj,inOffset,pixelData,dataOffset,w); - dataOffset += scanlineStride; - inOffset += w; - } - } - - public void setDataElements(int x, int y, Object obj, DataBuffer data) { - int offset = scanlineStride*y + x + data.getOffset(); int transferType = getTransferType(); - if (getTransferType() != data.getDataType()) - { - throw new IllegalArgumentException("transfer type ("+ - getTransferType()+"), "+ - "does not match data "+ - "buffer type (" + - data.getDataType() + - ")."); - } - - try - { - switch (transferType) - { - case DataBuffer.TYPE_BYTE: - { - DataBufferByte out = (DataBufferByte) data; - byte[] in = (byte[]) obj; - out.getData()[offset] = in[0]; - return; - } - case DataBuffer.TYPE_USHORT: - { - DataBufferUShort out = (DataBufferUShort) data; - short[] in = (short[]) obj; - out.getData()[offset] = in[0]; - return; - } - case DataBuffer.TYPE_INT: - { - DataBufferInt out = (DataBufferInt) data; - int[] in = (int[]) obj; - out.getData()[offset] = in[0]; - return; - } - // FIXME: Fill in the other possible types. - default: - throw new InternalError(); - } - } - catch (ArrayIndexOutOfBoundsException aioobe) - { - String msg = "While writing data elements" + - ", x="+x+", y="+y+ - ", width="+width+", height="+height+ - ", scanlineStride="+scanlineStride+ - ", offset="+offset+ - ", data.getSize()="+data.getSize()+ - ", data.getOffset()="+data.getOffset()+ - ": " + - aioobe; - throw new ArrayIndexOutOfBoundsException(msg); - } + switch (transferType) + { + case DataBuffer.TYPE_BYTE: + { + byte[] in = (byte[]) obj; + data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xff); + break; + } + case DataBuffer.TYPE_USHORT: + { + short[] in = (short[]) obj; + data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xffff); + break; + } + case DataBuffer.TYPE_INT: + { + int[] in = (int[]) obj; + data.setElem(y * scanlineStride + x, in[0]); + break; + } + } } /** diff --git a/libjava/classpath/java/awt/image/WritableRaster.java b/libjava/classpath/java/awt/image/WritableRaster.java index 473c6fe41f9..bf8db140c7f 100644 --- a/libjava/classpath/java/awt/image/WritableRaster.java +++ b/libjava/classpath/java/awt/image/WritableRaster.java @@ -136,8 +136,9 @@ public class WritableRaster extends Raster { // This mirrors the code from the super class - // FIXME: Throw RasterFormatException if child bounds extends - // beyond the bounds of this raster. + if (parentX < minX || parentX + w > minX + width + || parentY < minY || parentY + h > minY + height) + throw new RasterFormatException("Child raster extends beyond parent"); SampleModel sm = (bandList == null) ? sampleModel : @@ -149,6 +150,25 @@ public class WritableRaster extends Raster sampleModelTranslateY + childMinY - parentY), this); } + + public Raster createChild(int parentX, int parentY, int width, + int height, int childMinX, int childMinY, + int[] bandList) + { + if (parentX < minX || parentX + width > minX + this.width + || parentY < minY || parentY + height > minY + this.height) + throw new RasterFormatException("Child raster extends beyond parent"); + + SampleModel sm = (bandList == null) ? + sampleModel : + sampleModel.createSubsetSampleModel(bandList); + + return new WritableRaster(sm, dataBuffer, + new Rectangle(childMinX, childMinY, width, height), + new Point(sampleModelTranslateX + childMinX - parentX, + sampleModelTranslateY + childMinY - parentY), + this); + } public void setDataElements(int x, int y, Object inData) { diff --git a/libjava/classpath/java/awt/image/renderable/ParameterBlock.java b/libjava/classpath/java/awt/image/renderable/ParameterBlock.java index 879d3c4fb90..e484d6b8713 100644 --- a/libjava/classpath/java/awt/image/renderable/ParameterBlock.java +++ b/libjava/classpath/java/awt/image/renderable/ParameterBlock.java @@ -45,20 +45,20 @@ import java.util.Vector; public class ParameterBlock implements Cloneable, Serializable { private static final long serialVersionUID = -7577115551785240750L; - protected Vector sources; - protected Vector parameters; + protected Vector sources; + protected Vector parameters; public ParameterBlock() { - this(new Vector(), new Vector()); + this(new Vector(), new Vector()); } - public ParameterBlock(Vector sources) + public ParameterBlock(Vector sources) { - this(sources, new Vector()); + this(sources, new Vector()); } - public ParameterBlock(Vector sources, Vector parameters) + public ParameterBlock(Vector sources, Vector parameters) { this.sources = sources; this.parameters = parameters; @@ -80,9 +80,9 @@ public class ParameterBlock implements Cloneable, Serializable { ParameterBlock pb = (ParameterBlock) shallowClone(); if (sources != null) - pb.sources = (Vector) sources.clone(); + pb.sources = (Vector) sources.clone(); if (parameters != null) - pb.parameters = (Vector) parameters.clone(); + pb.parameters = (Vector) parameters.clone(); return pb; } @@ -119,12 +119,12 @@ public class ParameterBlock implements Cloneable, Serializable return sources.size(); } - public Vector getSources() + public Vector getSources() { return sources; } - public void setSources(Vector sources) + public void setSources(Vector sources) { this.sources = sources; } @@ -140,12 +140,12 @@ public class ParameterBlock implements Cloneable, Serializable return parameters.size(); } - public Vector getParameters() + public Vector getParameters() { return parameters; } - public void setParameters(Vector parameters) + public void setParameters(Vector parameters) { this.parameters = parameters; } diff --git a/libjava/classpath/java/awt/image/renderable/RenderableImage.java b/libjava/classpath/java/awt/image/renderable/RenderableImage.java index 45d2eb7ebf0..c2f6ad8b058 100644 --- a/libjava/classpath/java/awt/image/renderable/RenderableImage.java +++ b/libjava/classpath/java/awt/image/renderable/RenderableImage.java @@ -46,7 +46,7 @@ public interface RenderableImage { String HINTS_OBSERVED = "HINTS_OBSERVED"; - Vector getSources(); + Vector getSources(); Object getProperty(String name); String[] getPropertyNames(); boolean isDynamic(); diff --git a/libjava/classpath/java/awt/image/renderable/RenderableImageOp.java b/libjava/classpath/java/awt/image/renderable/RenderableImageOp.java index 5385a82a317..b9d0cd39e6e 100644 --- a/libjava/classpath/java/awt/image/renderable/RenderableImageOp.java +++ b/libjava/classpath/java/awt/image/renderable/RenderableImageOp.java @@ -55,7 +55,7 @@ public class RenderableImageOp implements RenderableImage this.block = (ParameterBlock) block.clone(); } - public Vector getSources() + public Vector getSources() { if (block.sources == null) return null; diff --git a/libjava/classpath/java/beans/BeanDescriptor.java b/libjava/classpath/java/beans/BeanDescriptor.java index 21227b2fee0..b4bc6870d24 100644 --- a/libjava/classpath/java/beans/BeanDescriptor.java +++ b/libjava/classpath/java/beans/BeanDescriptor.java @@ -48,14 +48,14 @@ package java.beans; **/ public class BeanDescriptor extends FeatureDescriptor { - Class beanClass; - Class customizerClass; + Class beanClass; + Class customizerClass; /** Create a new BeanDescriptor with the given beanClass and ** no customizer class. ** @param beanClass the class of the Bean. **/ - public BeanDescriptor(Class beanClass) { + public BeanDescriptor(Class beanClass) { this(beanClass,null); } @@ -64,7 +64,7 @@ public class BeanDescriptor extends FeatureDescriptor { ** @param beanClass the class of the Bean. ** @param customizerClass the class of the Bean's Customizer. **/ - public BeanDescriptor(Class beanClass, Class customizerClass) { + public BeanDescriptor(Class beanClass, Class customizerClass) { this.beanClass = beanClass; this.customizerClass = customizerClass; @@ -78,12 +78,12 @@ public class BeanDescriptor extends FeatureDescriptor { } /** Get the Bean's class. **/ - public Class getBeanClass() { + public Class getBeanClass() { return beanClass; } /** Get the Bean's customizer's class. **/ - public Class getCustomizerClass() { + public Class getCustomizerClass() { return customizerClass; } } diff --git a/libjava/classpath/java/beans/Beans.java b/libjava/classpath/java/beans/Beans.java index ffcb83fc1f3..b3b0a422edd 100644 --- a/libjava/classpath/java/beans/Beans.java +++ b/libjava/classpath/java/beans/Beans.java @@ -295,7 +295,7 @@ public class Beans * @return the Bean as a new view, or if the operation * could not be performed, the Bean itself. */ - public static Object getInstanceOf(Object bean, Class newClass) + public static Object getInstanceOf(Object bean, Class newClass) { return bean; } @@ -314,7 +314,7 @@ public class Beans * @return whether the Bean can be cast to the class type * in question. */ - public static boolean isInstanceOf(Object bean, Class newBeanClass) + public static boolean isInstanceOf(Object bean, Class newBeanClass) { return newBeanClass.isInstance(bean); } diff --git a/libjava/classpath/java/beans/DefaultPersistenceDelegate.java b/libjava/classpath/java/beans/DefaultPersistenceDelegate.java index ca1041fefc9..08f6174bb6e 100644 --- a/libjava/classpath/java/beans/DefaultPersistenceDelegate.java +++ b/libjava/classpath/java/beans/DefaultPersistenceDelegate.java @@ -154,8 +154,8 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate return new Expression(oldInstance, oldInstance.getClass(), "new", args); } - protected void initialize(Class type, Object oldInstance, Object newInstance, - Encoder out) + protected void initialize(Class type, Object oldInstance, + Object newInstance, Encoder out) { // Calling the supertype's implementation of initialize makes it // possible that descendants of classes like AbstractHashMap diff --git a/libjava/classpath/java/beans/DesignMode.java b/libjava/classpath/java/beans/DesignMode.java index 39805d50c18..9897f022ea4 100644 --- a/libjava/classpath/java/beans/DesignMode.java +++ b/libjava/classpath/java/beans/DesignMode.java @@ -1,5 +1,5 @@ /* java.beans.DesignMode - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,7 +39,8 @@ exception statement from your version. */ package java.beans; /** - * BeanContextChild implementors implement this to get information about whether they are in a design time or runtime environment. + * BeanContextChild implementors implement this to get information + * about whether they are in a design time or runtime environment. * The reason this is restricted to BeanContextChildren is that * only things in the BeanContext hierarchy are given this * information in the first place. @@ -48,46 +49,47 @@ package java.beans; * @since JDK1.2 * @see java.beans.beancontext.BeanContextChild */ +public interface DesignMode +{ -public interface DesignMode { - /** - * Use this name when firing PropertyChangeEvents from your Bean. - * @fixme Check whether PROPERTYNAME is set to same value as Sun. - */ - String PROPERTYNAME = "designTime"; + /** + * Use this name when firing PropertyChangeEvents from your Bean. + */ + String PROPERTYNAME = "designTime"; - /** - * The environment will call this method on your - * BeanContextChild when it is registered in a parent - * BeanContext or when behavior needs to switch from - * design time to runtime behavior (or vice versa). - *

    - * - * BeanContexts are required to fire - * PropertyChangeEvents when properties change. - * designTime is a property, and therefore when you - * implement setDesignTime(), you need to fire a - * PropertyChangeEvent with the old value, the new - * value and using PROPERTYNAME as the property name. - * - * @param designTime the new value of design time, - * true if it is design time, - * false if it is runtime. - * - * @fixme I'm frankly not really sure whether it's the case that - * the BeanContext can change the status of the Bean from - * design time to runtime. But it appears that it may be so. - * - * @see java.util.PropertyChangeEvent - * @see java.beans.beancontext.BeanContext - * @see #PROPERTYNAME - */ - void setDesignTime(boolean designTime); + /** + * The environment will call this method on your + * BeanContextChild when it is registered in a parent + * BeanContext or when behavior needs to switch from + * design time to runtime behavior (or vice versa). + *

    + * + * BeanContexts are required to fire + * PropertyChangeEvents when properties change. + * designTime is a property, and therefore when you + * implement setDesignTime(), you need to fire a + * PropertyChangeEvent with the old value, the new + * value and using PROPERTYNAME as the property name. + * + * @param designTime the new value of design time, + * true if it is design time, + * false if it is runtime. + * + * @fixme I'm frankly not really sure whether it's the case that + * the BeanContext can change the status of the Bean from + * design time to runtime. But it appears that it may be so. + * + * @see java.beans.PropertyChangeEvent + * @see java.beans.beancontext.BeanContext + * @see #PROPERTYNAME + */ + void setDesignTime(boolean designTime); + + /** + * This method should tell whether it is design time or runtime. + * @return true if design time, false if + * runtime. + */ + boolean isDesignTime(); - /** - * This method should tell whether it is design time or runtime. - * @return true if design time, false if - * runtime. - */ - boolean isDesignTime(); } diff --git a/libjava/classpath/java/beans/Encoder.java b/libjava/classpath/java/beans/Encoder.java index b9d135831a8..cde1735f4fd 100644 --- a/libjava/classpath/java/beans/Encoder.java +++ b/libjava/classpath/java/beans/Encoder.java @@ -181,7 +181,7 @@ public class Encoder return exceptionListener; } - public PersistenceDelegate getPersistenceDelegate(Class type) + public PersistenceDelegate getPersistenceDelegate(Class type) { // This is not specified but the JDK behaves like this. if (type == null) @@ -215,7 +215,8 @@ public class Encoder * access is thread safe. *

    */ - public void setPersistenceDelegate(Class type, PersistenceDelegate delegate) + public void setPersistenceDelegate(Class type, + PersistenceDelegate delegate) { // If the argument is null this will cause a NullPointerException // which is expected behavior. diff --git a/libjava/classpath/java/beans/EventHandler.java b/libjava/classpath/java/beans/EventHandler.java index 9c85893e0f3..318b274898a 100644 --- a/libjava/classpath/java/beans/EventHandler.java +++ b/libjava/classpath/java/beans/EventHandler.java @@ -463,7 +463,8 @@ public class EventHandler implements InvocationHandler * @param action Target property or method to invoke. * @return A constructed proxy object. */ - public static Object create(Class listenerInterface, Object target, String action) + public static T create(Class listenerInterface, Object target, + String action) { return create(listenerInterface, target, action, null, null); } @@ -552,8 +553,8 @@ public class EventHandler implements InvocationHandler * @param eventPropertyName Name of property to extract from event. * @return A constructed proxy object. */ - public static Object create(Class listenerInterface, Object target, - String action, String eventPropertyName) + public static T create(Class listenerInterface, Object target, + String action, String eventPropertyName) { return create(listenerInterface, target, action, eventPropertyName, null); } @@ -587,9 +588,9 @@ public class EventHandler implements InvocationHandler * @param listenerMethodName Listener method to implement. * @return A constructed proxy object. */ - public static Object create(Class listenerInterface, Object target, - String action, String eventPropertyName, - String listenerMethodName) + public static T create(Class listenerInterface, Object target, + String action, String eventPropertyName, + String listenerMethodName) { // Create EventHandler instance EventHandler eh = new EventHandler(target, action, eventPropertyName, @@ -597,10 +598,9 @@ public class EventHandler implements InvocationHandler // Create proxy object passing in the event handler Object proxy = Proxy.newProxyInstance(listenerInterface.getClassLoader(), - new Class[] {listenerInterface}, + new Class[] {listenerInterface}, eh); - return proxy; + return (T) proxy; } - } diff --git a/libjava/classpath/java/beans/EventSetDescriptor.java b/libjava/classpath/java/beans/EventSetDescriptor.java index 381a453031e..69c07423fa0 100644 --- a/libjava/classpath/java/beans/EventSetDescriptor.java +++ b/libjava/classpath/java/beans/EventSetDescriptor.java @@ -164,8 +164,8 @@ public class EventSetDescriptor extends FeatureDescriptor * if listenerType is not an EventListener, or if methods are not * found or are invalid. */ - public EventSetDescriptor(Class eventSourceClass, String eventSetName, - Class listenerType, String listenerMethodName) + public EventSetDescriptor(Class eventSourceClass, String eventSetName, + Class listenerType, String listenerMethodName) throws IntrospectionException { setName(eventSetName); @@ -225,8 +225,8 @@ public class EventSetDescriptor extends FeatureDescriptor * if listenerType is not an EventListener or if methods are not * found or are invalid. */ - public EventSetDescriptor(Class eventSourceClass, String eventSetName, - Class listenerType, String[] listenerMethodNames, + public EventSetDescriptor(Class eventSourceClass, String eventSetName, + Class listenerType, String[] listenerMethodNames, String addListenerMethodName, String removeListenerMethodName) throws IntrospectionException @@ -287,8 +287,8 @@ public class EventSetDescriptor extends FeatureDescriptor * found or are invalid. * @since 1.4 */ - public EventSetDescriptor(Class eventSourceClass, String eventSetName, - Class listenerType, String[] listenerMethodNames, + public EventSetDescriptor(Class eventSourceClass, String eventSetName, + Class listenerType, String[] listenerMethodNames, String addListenerMethodName, String removeListenerMethodName, String getListenerMethodName) @@ -357,7 +357,7 @@ public class EventSetDescriptor extends FeatureDescriptor * methods are invalid. * @since 1.4 */ - public EventSetDescriptor(String eventSetName, Class listenerType, + public EventSetDescriptor(String eventSetName, Class listenerType, Method[] listenerMethods, Method addListenerMethod, Method removeListenerMethod, Method getListenerMethod) @@ -402,7 +402,7 @@ public class EventSetDescriptor extends FeatureDescriptor * if the listenerType is not an EventListener, or any of the * methods are invalid. */ - public EventSetDescriptor(String eventSetName, Class listenerType, + public EventSetDescriptor(String eventSetName, Class listenerType, Method[] listenerMethods, Method addListenerMethod, Method removeListenerMethod) throws IntrospectionException @@ -449,7 +449,7 @@ public class EventSetDescriptor extends FeatureDescriptor * if the listenerType is not an EventListener, or any of the * methods are invalid. */ - public EventSetDescriptor(String eventSetName, Class listenerType, + public EventSetDescriptor(String eventSetName, Class listenerType, MethodDescriptor[] listenerMethodDescriptors, Method addListenerMethod, Method removeListenerMethod) @@ -484,7 +484,7 @@ public class EventSetDescriptor extends FeatureDescriptor /** Returns the class that contains the event firing methods. */ - public Class getListenerType() + public Class getListenerType() { return listenerType; } diff --git a/libjava/classpath/java/beans/FeatureDescriptor.java b/libjava/classpath/java/beans/FeatureDescriptor.java index aeb40949099..050885158fa 100644 --- a/libjava/classpath/java/beans/FeatureDescriptor.java +++ b/libjava/classpath/java/beans/FeatureDescriptor.java @@ -68,14 +68,14 @@ public class FeatureDescriptor boolean hidden; boolean preferred; - Hashtable valueHash; + Hashtable valueHash; /** * Instantiate this FeatureDescriptor with appropriate default values. */ public FeatureDescriptor() { - valueHash = new Hashtable(); + valueHash = new Hashtable(); } /** @@ -225,7 +225,7 @@ public class FeatureDescriptor * @return an Enumerator over all the programmatic key names associated * with this feature. */ - public Enumeration attributeNames() + public Enumeration attributeNames() { return valueHash.keys(); } diff --git a/libjava/classpath/java/beans/IndexedPropertyDescriptor.java b/libjava/classpath/java/beans/IndexedPropertyDescriptor.java index 0ba2ed4f493..61c3f228da0 100644 --- a/libjava/classpath/java/beans/IndexedPropertyDescriptor.java +++ b/libjava/classpath/java/beans/IndexedPropertyDescriptor.java @@ -76,7 +76,7 @@ import java.lang.reflect.Method; */ public class IndexedPropertyDescriptor extends PropertyDescriptor { - private Class indexedPropertyType; + private Class indexedPropertyType; private Method setIndex; private Method getIndex; @@ -112,7 +112,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor * @exception IntrospectionException if the methods are not found or * invalid. */ - public IndexedPropertyDescriptor(String name, Class beanClass) + public IndexedPropertyDescriptor(String name, Class beanClass) throws IntrospectionException { super(name); @@ -161,7 +161,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor * * @exception IntrospectionException if the methods are not found or invalid. */ - public IndexedPropertyDescriptor(String name, Class beanClass, + public IndexedPropertyDescriptor(String name, Class beanClass, String getMethodName, String setMethodName, String getIndexName, String setIndexName) throws IntrospectionException @@ -272,7 +272,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor : Array.newInstance(this.indexedPropertyType,0).getClass()); } - public Class getIndexedPropertyType() + public Class getIndexedPropertyType() { return indexedPropertyType; } diff --git a/libjava/classpath/java/beans/Introspector.java b/libjava/classpath/java/beans/Introspector.java index 23c3cde5e3d..28df87f677f 100644 --- a/libjava/classpath/java/beans/Introspector.java +++ b/libjava/classpath/java/beans/Introspector.java @@ -182,7 +182,8 @@ public class Introspector { public static final int IGNORE_ALL_BEANINFO = 3; static String[] beanInfoSearchPath = {"gnu.java.beans.info"}; - static Hashtable beanInfoCache = new Hashtable(); + static Hashtable,BeanInfo> beanInfoCache = + new Hashtable,BeanInfo>(); private Introspector() {} @@ -195,13 +196,13 @@ public class Introspector { * @param beanClass the class to get BeanInfo about. * @return the BeanInfo object representing the class. */ - public static BeanInfo getBeanInfo(Class beanClass) + public static BeanInfo getBeanInfo(Class beanClass) throws IntrospectionException { BeanInfo cachedInfo; synchronized(beanClass) { - cachedInfo = (BeanInfo)beanInfoCache.get(beanClass); + cachedInfo = beanInfoCache.get(beanClass); if(cachedInfo != null) { return cachedInfo; @@ -245,7 +246,7 @@ public class Introspector { * @throws IntrospectionException If something goes wrong while retrieving * the bean data. */ - public static BeanInfo getBeanInfo(Class beanClass, int flag) + public static BeanInfo getBeanInfo(Class beanClass, int flag) throws IntrospectionException { IntrospectionIncubator ii; @@ -312,7 +313,7 @@ public class Introspector { * @throws NullPointerException if clz is null. * @since 1.2 */ - public static void flushFromCaches(Class clz) + public static void flushFromCaches(Class clz) { synchronized (clz) { @@ -394,7 +395,7 @@ public class Introspector { * @param stopClass the class to stop at. * @return the BeanInfo object representing the class. */ - public static BeanInfo getBeanInfo(Class beanClass, Class stopClass) + public static BeanInfo getBeanInfo(Class beanClass, Class stopClass) throws IntrospectionException { ExplicitInfo explicit = new ExplicitInfo(beanClass, stopClass); diff --git a/libjava/classpath/java/beans/PersistenceDelegate.java b/libjava/classpath/java/beans/PersistenceDelegate.java index 77953b67682..a6f71576349 100644 --- a/libjava/classpath/java/beans/PersistenceDelegate.java +++ b/libjava/classpath/java/beans/PersistenceDelegate.java @@ -52,8 +52,8 @@ package java.beans; public abstract class PersistenceDelegate { - protected void initialize(Class type, Object oldInstance, Object newInstance, - Encoder out) + protected void initialize(Class type, Object oldInstance, + Object newInstance, Encoder out) { if (type != Object.class) { diff --git a/libjava/classpath/java/beans/PropertyDescriptor.java b/libjava/classpath/java/beans/PropertyDescriptor.java index da2ca78ae67..4b586d915de 100644 --- a/libjava/classpath/java/beans/PropertyDescriptor.java +++ b/libjava/classpath/java/beans/PropertyDescriptor.java @@ -65,11 +65,11 @@ import java.lang.reflect.Method; **/ public class PropertyDescriptor extends FeatureDescriptor { - Class propertyType; + Class propertyType; Method getMethod; Method setMethod; - Class propertyEditorClass; + Class propertyEditorClass; boolean bound; boolean constrained; @@ -103,7 +103,7 @@ public class PropertyDescriptor extends FeatureDescriptor ** @exception IntrospectionException if the methods are not found ** or invalid. **/ - public PropertyDescriptor(String name, Class beanClass) + public PropertyDescriptor(String name, Class beanClass) throws IntrospectionException { setName(name); @@ -159,7 +159,7 @@ public class PropertyDescriptor extends FeatureDescriptor **/ public PropertyDescriptor( String name, - Class beanClass, + Class beanClass, String getMethodName, String setMethodName) throws IntrospectionException @@ -213,7 +213,7 @@ public class PropertyDescriptor extends FeatureDescriptor ** This is the type the get method returns and the set method ** takes in. **/ - public Class getPropertyType() + public Class getPropertyType() { return propertyType; } @@ -330,7 +330,7 @@ public class PropertyDescriptor extends FeatureDescriptor } /** Get the PropertyEditor class. Defaults to null. **/ - public Class getPropertyEditorClass() + public Class getPropertyEditorClass() { return propertyEditorClass; } @@ -341,7 +341,7 @@ public class PropertyDescriptor extends FeatureDescriptor ** @param propertyEditorClass the PropertyEditor class for this ** class to use. **/ - public void setPropertyEditorClass(Class propertyEditorClass) + public void setPropertyEditorClass(Class propertyEditorClass) { this.propertyEditorClass = propertyEditorClass; } @@ -516,10 +516,10 @@ public class PropertyDescriptor extends FeatureDescriptor * @return The common property type of the two method. * @throws IntrospectionException If any of the above requirements are not met. */ - private Class checkMethods(Method readMethod, Method writeMethod) + private Class checkMethods(Method readMethod, Method writeMethod) throws IntrospectionException { - Class newPropertyType = propertyType; + Class newPropertyType = propertyType; // a valid read method has zero arguments and a non-void return type. if (readMethod != null) diff --git a/libjava/classpath/java/beans/PropertyEditorManager.java b/libjava/classpath/java/beans/PropertyEditorManager.java index da2a5678c5c..0dd3b176dea 100644 --- a/libjava/classpath/java/beans/PropertyEditorManager.java +++ b/libjava/classpath/java/beans/PropertyEditorManager.java @@ -83,7 +83,8 @@ import java.awt.Font; public class PropertyEditorManager { - static java.util.Hashtable editors = new java.util.Hashtable(); + static java.util.Hashtable,Class> editors = + new java.util.Hashtable,Class>(); static String[] editorSearchPath = { "gnu.java.beans.editors", "sun.beans.editors" }; @@ -118,7 +119,7 @@ public class PropertyEditorManager * will edit. * @param editorClass the PropertyEditor class. */ - public static void registerEditor(Class editedClass, Class editorClass) + public static void registerEditor(Class editedClass, Class editorClass) { editors.put(editedClass, editorClass); } @@ -132,7 +133,7 @@ public class PropertyEditorManager * @return a PropertyEditor instance that can edit the * specified class. */ - public static PropertyEditor findEditor(Class editedClass) + public static PropertyEditor findEditor(Class editedClass) { try { diff --git a/libjava/classpath/java/beans/SimpleBeanInfo.java b/libjava/classpath/java/beans/SimpleBeanInfo.java index cfb96048498..56b1f7aa7c7 100644 --- a/libjava/classpath/java/beans/SimpleBeanInfo.java +++ b/libjava/classpath/java/beans/SimpleBeanInfo.java @@ -1,5 +1,5 @@ /* java.beans.SimpleBeanInfo - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,7 @@ package java.beans; import java.awt.Image; import java.awt.Toolkit; +import java.net.URL; /** ** SimpleBeanInfo is a class you may extend to more easily @@ -130,10 +131,16 @@ public class SimpleBeanInfo implements BeanInfo { ** and its BeanInfo are both loaded by the same ** ClassLoader, generally a reasonable assumption. ** @param location the URL relative - ** @return the Image in question. + ** @return the Image in question (possibly null). **/ - public Image loadImage(String location) { - return Toolkit.getDefaultToolkit().getImage(getClass().getResource(location)); + public Image loadImage(String location) + { + if (location == null) + return null; + URL url = getClass().getResource(location); + if (url == null) + return null; + return Toolkit.getDefaultToolkit().getImage(url); } } diff --git a/libjava/classpath/java/beans/Statement.java b/libjava/classpath/java/beans/Statement.java index 62a5ad7b6f8..0a01798adc2 100644 --- a/libjava/classpath/java/beans/Statement.java +++ b/libjava/classpath/java/beans/Statement.java @@ -1,5 +1,5 @@ /* Statement.java - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -346,16 +346,20 @@ public class Statement /** Return the statement object. */ public Object getTarget() { return target; } - /** Return a string representation. */ + /** + * Returns a string representation of this Statement. + * + * @return A string representation of this Statement. + */ public String toString() { StringBuffer result = new StringBuffer(); - String targetName = target.getClass().getName(); - if ( targetName.startsWith("java")) - { - targetName = targetName.substring(targetName.lastIndexOf('.') + 1); - } + String targetName; + if (target != null) + targetName = target.getClass().getSimpleName(); + else + targetName = "null"; result.append(targetName); result.append("."); @@ -369,10 +373,10 @@ public class Statement result.append( ( arguments[i] == null ) ? "null" : ( arguments[i] instanceof String ) ? "\"" + arguments[i] + "\"" : - arguments[i].getClass().getName()); + arguments[i].getClass().getSimpleName()); sep = ", "; } - result.append(")"); + result.append(");"); return result.toString(); } diff --git a/libjava/classpath/java/beans/beancontext/BeanContextServicesSupport.java b/libjava/classpath/java/beans/beancontext/BeanContextServicesSupport.java index 4da523eeb06..f354ff47448 100644 --- a/libjava/classpath/java/beans/beancontext/BeanContextServicesSupport.java +++ b/libjava/classpath/java/beans/beancontext/BeanContextServicesSupport.java @@ -46,12 +46,21 @@ import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Locale; +import java.util.Set; import java.util.TooManyListenersException; /** + * This is a helper class for implementing a bean context which + * supplies services. It is intended to be used either by + * subclassing or by calling methods of this implementation + * from another. + * * @author Michael Koch + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.2 */ public class BeanContextServicesSupport @@ -77,38 +86,39 @@ public class BeanContextServicesSupport { private static final long serialVersionUID = 7078212910685744490L; - private BCSSProxyServiceProvider() + private BeanContextServiceProvider provider; + + private BCSSProxyServiceProvider(BeanContextServiceProvider p) { + provider = p; } public Iterator getCurrentServiceSelectors (BeanContextServices bcs, Class serviceClass) - throws NotImplementedException { - throw new Error ("Not implemented"); + return provider.getCurrentServiceSelectors(bcs, serviceClass); } public Object getService (BeanContextServices bcs, Object requestor, Class serviceClass, Object serviceSelector) - throws NotImplementedException { - throw new Error ("Not implemented"); + return provider.getService(bcs, requestor, serviceClass, + serviceSelector); } public void releaseService (BeanContextServices bcs, Object requestor, Object service) - throws NotImplementedException { - throw new Error ("Not implemented"); + provider.releaseService(bcs, requestor, service); } public void serviceRevoked (BeanContextServiceRevokedEvent bcsre) - throws NotImplementedException { - throw new Error ("Not implemented"); + if (provider instanceof BeanContextServiceRevokedListener) + ((BeanContextServiceRevokedListener) provider).serviceRevoked(bcsre); } } @@ -119,51 +129,233 @@ public class BeanContextServicesSupport protected BeanContextServiceProvider serviceProvider; - private BCSSServiceProvider() + private Class serviceClass; + + private BCSSServiceProvider(Class serviceClass, + BeanContextServiceProvider provider) { + this.serviceClass = serviceClass; + serviceProvider = provider; } protected BeanContextServiceProvider getServiceProvider() { return serviceProvider; } + + private Class getServiceClass() + { + return serviceClass; + } + } - protected transient ArrayList bcsListeners; + /** + * Represents a request for a service. This is + * a common superclass used by the classes which maintain + * the listener-requestor and service-requestor relationships. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static abstract class Request + { + private Object requestor; + + public Request(Object requestor) + { + this.requestor = requestor; + } + + public boolean equals(Object obj) + { + if (obj instanceof Request) + { + Request req = (Request) obj; + return req.getRequestor().equals(requestor); + } + return false; + } + + public Object getRequestor() + { + return requestor; + } + + } + + /** + * Represents a relationship between a service requestor + * and a revocation listener. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class ServiceRequest + extends Request + { + + private BeanContextServiceRevokedListener listener; + + public ServiceRequest(Object requestor, + BeanContextServiceRevokedListener listener) + { + super(requestor); + this.listener = listener; + } + + public boolean equals(Object obj) + { + if (obj instanceof ServiceRequest) + { + ServiceRequest sr = (ServiceRequest) obj; + return (super.equals(obj) && + sr.getListener().equals(listener)); + } + return false; + } + + public BeanContextServiceRevokedListener getListener() + { + return listener; + } + } + + /** + * Represents a relationship between a service requestor + * and a service instance. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class ServiceLease + extends Request + { + private Object service; + + public ServiceLease(Object requestor, Object service) + { + super(requestor); + this.service = service; + } + + public boolean equals(Object obj) + { + if (obj instanceof ServiceLease) + { + ServiceLease sl = (ServiceLease) obj; + return (super.equals(obj) && + sl.getService().equals(service)); + } + return false; + } + + public Object getService() + { + return service; + } + } + + /** + * A collection of listeners who receive availability + * and revocation notifications. + */ + protected transient ArrayList bcsListeners; + protected transient BCSSProxyServiceProvider proxy; + /** + * The number of serializable service providers. + */ protected transient int serializable; + /** + * A map of registered services, linking the service + * class to its associated {@link BCSSServiceProvider}. + */ protected transient HashMap services; + /** + * A map of children to a list of services they + * have obtained. + */ + private transient HashMap serviceUsers; + + /** + * A map of services to {@link ServiceRequest}s. + */ + private transient HashMap serviceRequests; + + /** + * A map of {@link ServiceLease}s to providers. + */ + private transient HashMap serviceLeases; + + /** + * Construct a {@link BeanContextServicesSupport} instance. + */ public BeanContextServicesSupport () { super(); } + /** + * Construct a {@link BeanContextServicesSupport} instance. + * + * @param peer the bean context services peer (null permitted). + */ public BeanContextServicesSupport (BeanContextServices peer) { super(peer); } + /** + * Construct a {@link BeanContextServicesSupport} instance. + * + * @param peer the bean context peer (null permitted). + * @param locale the locale (null permitted, equivalent to + * the default locale). + */ public BeanContextServicesSupport(BeanContextServices peer, Locale locale) { super(peer, locale); } + /** + * Construct a {@link BeanContextServicesSupport} instance. + * + * @param peer the bean context peer (null permitted). + * @param locale the locale (null permitted, equivalent to + * the default locale). + * @param dtime a flag indicating whether or not the bean context is in + * design time mode. + */ public BeanContextServicesSupport(BeanContextServices peer, Locale locale, boolean dtime) { super(peer, locale, dtime); } + /** + * Construct a {@link BeanContextServicesSupport} instance. + * + * @param peer the bean context peer (null permitted). + * @param locale the locale (null permitted, equivalent to + * the default locale). + * @param dtime a flag indicating whether or not the bean context is in + * design time mode. + * @param visible initial value of the okToUseGui flag. + */ public BeanContextServicesSupport(BeanContextServices peer, Locale locale, boolean dtime, boolean visible) { super(peer, locale, dtime, visible); } - + + /** + * Adds a new listener for service availability and + * revocation events. + * + * @param listener the listener to add. + */ public void addBeanContextServicesListener (BeanContextServicesListener listener) { @@ -174,60 +366,168 @@ public class BeanContextServicesSupport } } + /** + * Registers a new service from the specified service provider. + * The service is internally associated with the service provider + * and a BeanContextServiceAvailableEvent is fired. If + * the service is already registered, then this method instead + * returns false. This is equivalent to calling + * addService(serviceClass, bcsp, true). + * + * @param serviceClass the class of the service to be registered. + * @param bcsp the provider of the given service. + * @return true if the service was registered successfully. + * @see #addService(Class, BeanContextServiceProvider, boolean) + */ public boolean addService (Class serviceClass, BeanContextServiceProvider bcsp) { return addService(serviceClass, bcsp, true); } + /** + * Registers a new service from the specified service provider. + * The service is internally associated with the service provider + * and (if fireEvent is true) a + * BeanContextServiceAvailableEvent is fired. If + * the service is already registered, then this method instead + * returns false. + * + * @param serviceClass the class of the service to be registered. + * @param bcsp the provider of the given service. + * @param fireEvent true if a service availability event should + * be fired. + * @return true if the service was registered successfully. + */ protected boolean addService (Class serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent) { - synchronized (services) + synchronized (globalHierarchyLock) { - if (services.containsKey(serviceClass)) - return false; - services.put(serviceClass, bcsp); - if (bcsp instanceof Serializable) - ++serializable; - fireServiceAdded(serviceClass); - return true; + synchronized (services) + { + if (services.containsKey(serviceClass)) + return false; + services.put(serviceClass, + createBCSSServiceProvider(serviceClass, bcsp)); + if (bcsp instanceof Serializable) + ++serializable; + if (fireEvent) + fireServiceAdded(serviceClass); + return true; + } } } + /** + * Deserializes any service providers which are serializable. This + * method is called by the readObject method of + * {@link BeanContextSupport} prior to deserialization of the children. + * Subclasses may envelope its behaviour in order to read further + * serialized data to the stream. + * + * @param oos the stream from which data is being deserialized. + * @throws IOException if an I/O error occurs. + * @throws ClassNotFoundException if the class of a deserialized object + * can not be found. + */ protected void bcsPreDeserializationHook (ObjectInputStream ois) - throws ClassNotFoundException, IOException, NotImplementedException + throws ClassNotFoundException, IOException { - throw new Error ("Not implemented"); + serializable = ois.readInt(); + for (int a = 0; a < serializable; ++a) + { + BCSSServiceProvider bcsssp = (BCSSServiceProvider) ois.readObject(); + addService(bcsssp.getServiceClass(), bcsssp.getServiceProvider()); + } } + /** + * Serializes any service providers which are serializable. This + * method is called by the writeObject method of + * {@link BeanContextSupport} prior to serialization of the children. + * Subclasses may envelope its behaviour in order to add further + * serialized data to the stream. + * + * @param oos the stream to which data is being serialized. + * @throws IOException if an I/O error occurs. + */ protected void bcsPreSerializationHook (ObjectOutputStream oos) - throws IOException, NotImplementedException + throws IOException { - throw new Error ("Not implemented"); + oos.writeInt(serializable); + synchronized (services) + { + Iterator i = services.values().iterator(); + while (i.hasNext()) + { + BCSSServiceProvider bcsssp = (BCSSServiceProvider) i.next(); + if (bcsssp.getServiceProvider() instanceof Serializable) + oos.writeObject(bcsssp); + } + } } - + + /** + * Revokes any services used by a child that has just been removed. + * The superclass ({@link BeanContextSupport}) calls this method + * when a child has just been successfully removed. Subclasses can + * extend this method in order to perform additional operations + * on child removal. + * + * @param child the child being removed. + * @param bcsc the support object for the child. + */ protected void childJustRemovedHook (Object child, BeanContextSupport.BCSChild bcsc) - throws NotImplementedException { - throw new Error ("Not implemented"); + if (child instanceof BeanContextChild) + { + BeanContextChild bcchild = (BeanContextChild) child; + Iterator childServices = ((List) serviceUsers.get(bcchild)).iterator(); + while (childServices.hasNext()) + releaseService(bcchild, this, childServices.next()); + serviceUsers.remove(bcchild); + } } + /** + * Overrides the {@link BeanContextSupport#createBCSChild} method + * so as to use a {@link BCSSChild} instead. + * + * @param targetChild the child to create the child for. + * @param peer the peer which relates to the child if a proxy is used. + * @return a new instance of {@link BCSSChild}. + */ protected BeanContextSupport.BCSChild createBCSChild (Object targetChild, Object peer) { return new BCSSChild(targetChild, peer); } + /** + * Provides a hook so that subclasses can replace the + * {@link BCSSServiceProvider} class, used to store registered + * service providers, with a subclass without replacing the + * {@link #addService(Class, BeanContextServiceProvider)} method. + * + * @param sc the class of service being registered. + * @param bcsp the provider of the service. + * @return a instance of {@link BCSSServiceProvider} wrapping the provider. + */ protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider (Class sc, BeanContextServiceProvider bcsp) - throws NotImplementedException { - throw new Error ("Not implemented"); + return new BCSSServiceProvider(sc, bcsp); } + /** + * Sends a BeanContextServiceAvailableEvent to all + * registered listeners. + * + * @param bcssae the event to send. + */ protected final void fireServiceAdded (BeanContextServiceAvailableEvent bcssae) { synchronized (bcsListeners) @@ -242,12 +542,25 @@ public class BeanContextServicesSupport } } + /** + * Sends a BeanContextServiceAvailableEvent to all + * registered listeners. + * + * @param serviceClass the service that is now available. + * @see #fireServiceAdded(BeanContextServiceAvailableEvent) + */ protected final void fireServiceAdded (Class serviceClass) { fireServiceAdded(new BeanContextServiceAvailableEvent(this, serviceClass)); } + /** + * Sends a BeanContextServiceRevokedEvent to all + * registered listeners. + * + * @param event the event to send. + */ protected final void fireServiceRevoked(BeanContextServiceRevokedEvent event) { synchronized (bcsListeners) @@ -259,9 +572,26 @@ public class BeanContextServicesSupport = (BeanContextServicesListener) bcsListeners.get(i); bcsl.serviceRevoked(event); } + List requests = (List) serviceRequests.get(event.getServiceClass()); + if (requests != null) + { + Iterator i = requests.iterator(); + while (i.hasNext()) + { + ServiceRequest r = (ServiceRequest) i.next(); + r.getListener().serviceRevoked(event); + } + } } } + /** + * Sends a BeanContextServiceRevokedEvent to all + * registered listeners. + * + * @param serviceClass the service that has been revoked. + * @see #fireServiceRevoked(BeanContextServiceRevokedEvent) + */ protected final void fireServiceRevoked (Class serviceClass, boolean revokeNow) { @@ -269,51 +599,166 @@ public class BeanContextServicesSupport revokeNow)); } + /** + * Returns the services peer given at construction time, + * or null if no peer was given. + * + * @return the {@link BeanContextServices} peer. + */ public BeanContextServices getBeanContextServicesPeer () - throws NotImplementedException { - throw new Error ("Not implemented"); + return (BeanContextServices) beanContextChildPeer; } + /** + * Returns child as an instance of + * {@link BeanContextServicesListener}, or null if + * child does not implement that interface. + * + * @param child the child (null permitted). + * + * @return The child cast to {@link BeanContextServicesListener}. + */ protected static final BeanContextServicesListener - getChildBeanContextServicesListener (Object child) - throws NotImplementedException + getChildBeanContextServicesListener(Object child) { - throw new Error ("Not implemented"); + if (child instanceof BeanContextServicesListener) + return (BeanContextServicesListener) child; + else + return null; } + /** + * Returns an iterator over the currently available + * services. + * + * @return an iterator over the currently available services. + */ public Iterator getCurrentServiceClasses () { - synchronized (services) + synchronized (globalHierarchyLock) { - return services.keySet().iterator(); + synchronized (services) + { + return services.keySet().iterator(); + } } } + /** + * Returns an iterator over the service selectors of the service + * provider for the given service. The iterator is actually + * obtained by calling the + * {@link BeanContextServiceProvider#getCurrentServiceSelectors} + * of the provider itself. If the specified service is not available, + * null is returned. + * + * @param serviceClass the service whose provider's selectors should + * be iterated over. + * @return an {@link Iterator} over the service selectors of the + * provider of the given service. + */ public Iterator getCurrentServiceSelectors (Class serviceClass) { - synchronized (services) + synchronized (globalHierarchyLock) { - // FIXME: what if service does not exist? Must write a test. - BeanContextServiceProvider bcsp - = (BeanContextServiceProvider) services.get(serviceClass); - return bcsp.getCurrentServiceSelectors(this, serviceClass); + synchronized (services) + { + BeanContextServiceProvider bcsp + = ((BCSSServiceProvider) + services.get(serviceClass)).getServiceProvider(); + if (bcsp == null) + return null; + else + return bcsp.getCurrentServiceSelectors(this, serviceClass); + } } } + /** + * Retrieves the specified service. If a provider for the service + * is registered in this context, then the request is passed on to + * the provider and the service returned. Otherwise, the request + * is delegated to a parent {@link BeanContextServices}, if possible. + * If the service can not be found at all, then null + * is returned. + * + * @param child the child obtaining the reference. + * @param requestor the requestor of the service, which may be the + * child itself. + * @param serviceClass the service being requested. + * @param serviceSelector an additional service-dependent parameter + * (may be null if not appropriate). + * @param bcsrl a listener used to notify the requestor that the service + * has since been revoked. + * @return a reference to the service requested, or null. + * @throws TooManyListenersException according to Sun's documentation. + */ public Object getService (BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) - throws TooManyListenersException, NotImplementedException + throws TooManyListenersException { - throw new Error ("Not implemented"); + synchronized (globalHierarchyLock) + { + synchronized (services) + { + Object service; + BeanContextServiceProvider provider = ((BCSSServiceProvider) + services.get(serviceClass)).getServiceProvider(); + if (provider != null) + { + service = provider.getService(this, requestor, serviceClass, + serviceSelector); + List childServices = (List) serviceUsers.get(child); + if (childServices == null) + { + childServices = new ArrayList(); + serviceUsers.put(child, childServices); + } + childServices.add(serviceClass); + } + else + { + BeanContextServices peer = getBeanContextServicesPeer(); + if (peer != null) + service = peer.getService(child, requestor, serviceClass, + serviceSelector, bcsrl); + else + service = null; + } + if (service != null) + { + ServiceRequest request = new ServiceRequest(requestor, bcsrl); + Set requests = (Set) serviceRequests.get(serviceClass); + if (requests == null) + { + requests = new HashSet(); + serviceRequests.put(serviceClass, requests); + } + requests.add(request); + ServiceLease lease = new ServiceLease(requestor, service); + serviceLeases.put(lease, provider); + } + return service; + } + } } + /** + * Returns true if the specified service is available. + * + * @param serviceClass the service to check for. + * @return true if the service is available. + */ public boolean hasService (Class serviceClass) { - synchronized (services) + synchronized (globalHierarchyLock) { - return services.containsKey(serviceClass); + synchronized (services) + { + return services.containsKey(serviceClass); + } } } @@ -323,25 +768,62 @@ public class BeanContextServicesSupport bcsListeners = new ArrayList(); services = new HashMap(); + serviceUsers = new HashMap(); + serviceRequests = new HashMap(); + serviceLeases = new HashMap(); } - protected void initializeBeanContextResources () - throws NotImplementedException + /** + * Subclasses may override this method to allocate resources + * from the nesting bean context. + */ + protected void initializeBeanContextResources() { - throw new Error ("Not implemented"); + /* Purposefully left empty */ } - protected void releaseBeanContextResources () - throws NotImplementedException + /** + * Relinquishes any resources obtained from the parent context. + * Specifically, those services obtained from the parent are revoked. + * Subclasses may override this method to deallocate resources + * from the nesting bean context. + */ + protected void releaseBeanContextResources() { - throw new Error ("Not implemented"); + /* Purposefully left empty */ } + /** + * Releases the reference to a service held by a + * {@link BeanContextChild} (or an arbitrary object associated + * with it). It simply calls the appropriate method on the + * underlying provider. + * + * @param child the child who holds the reference. + * @param requestor the object that requested the reference. + * @param service the service being released. + */ public void releaseService (BeanContextChild child, Object requestor, Object service) - throws NotImplementedException { - throw new Error ("Not implemented"); + synchronized (globalHierarchyLock) + { + synchronized (services) + { + ServiceLease lease = new ServiceLease(requestor, service); + BeanContextServiceProvider provider = (BeanContextServiceProvider) + serviceLeases.get(lease); + if (provider != null) + provider.releaseService(this, requestor, service); + else + { + BeanContextServices peer = getBeanContextServicesPeer(); + if (peer != null) + peer.releaseService(child, requestor, service); + } + serviceLeases.remove(lease); + } + } } public void removeBeanContextServicesListener @@ -349,17 +831,35 @@ public class BeanContextServicesSupport { synchronized (bcsListeners) { - int index = bcsListeners.indexOf(listener); - if (index > -1) - bcsListeners.remove(index); + bcsListeners.remove(listener); } } + /** + * Revokes the given service. A {@link BeanContextServiceRevokedEvent} is + * emitted to all registered {@link BeanContextServiceRevokedListener}s + * and {@link BeanContextServiceListener}s. If revokeCurrentServicesNow + * is true, termination of the service is immediate. Otherwise, prior + * acquisitions of the service by requestors remain valid. + * + * @param serviceClass the service to revoke. + * @param bcsp the provider of the revoked service. + * @param revokeCurrentServicesNow true if this is an exceptional circumstance + * where service should be immediately revoked. + */ public void revokeService (Class serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow) - throws NotImplementedException { - throw new Error ("Not implemented"); + synchronized (globalHierarchyLock) + { + synchronized (services) + { + fireServiceRevoked(serviceClass, revokeCurrentServicesNow); + services.remove(serviceClass); + if (bcsp instanceof Serializable) + --serializable; + } + } } public void serviceAvailable (BeanContextServiceAvailableEvent bcssae) diff --git a/libjava/classpath/java/beans/beancontext/BeanContextSupport.java b/libjava/classpath/java/beans/beancontext/BeanContextSupport.java index a12c078df6a..d57f5f8842a 100644 --- a/libjava/classpath/java/beans/beancontext/BeanContextSupport.java +++ b/libjava/classpath/java/beans/beancontext/BeanContextSupport.java @@ -38,8 +38,6 @@ exception statement from your version. */ package java.beans.beancontext; -import gnu.classpath.NotImplementedException; - import java.beans.Beans; import java.beans.DesignMode; import java.beans.PropertyChangeEvent; @@ -57,6 +55,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Locale; /** @@ -74,20 +73,52 @@ public class BeanContextSupport extends BeanContextChildSupport { private static final long serialVersionUID = -4879613978649577204L; - // This won't show up in japi, but we mark it as a stub anyway, - // so that searches for NotImplementedException will find it. + /** + * Deserializes a stored bean context. Hook methods are provided to allow + * subclasses to perform their own deserialization after the default + * deserialization but prior to the deserialization of the children. Note that + * {@link #readChildren(ObjectInputStream)} is only called if there + * is no distinct peer. If there is, the peer is expected to call + * the method instead. + * + * @param s the stream to deserialize. + * @throws ClassNotFoundException if the class of an object being deserialized + * could not be found. + * @throws IOException if an I/O error occurs. + */ private void readObject (ObjectInputStream s) - throws ClassNotFoundException, IOException, NotImplementedException + throws ClassNotFoundException, IOException { - throw new Error ("Not implemented"); + s.defaultReadObject(); + bcsPreDeserializationHook(s); + BeanContext peer = getBeanContextPeer(); + if (peer == null || peer == this) + readChildren(s); } - // This won't show up in japi, but we mark it as a stub anyway, - // so that searches for NotImplementedException will find it. + /** + * Serializes a bean context. Hook methods are provided to allow + * subclasses to perform their own serialization after the default + * serialization but prior to serialization of the children. Note that + * {@link #writeChildren(ObjectOutputStream)} is only called if there + * is no distinct peer. If there is, the peer is expected to call + * the method instead. + * + * @param s the stream to serialize. + * @throws ClassNotFoundException if the class of an object being deserialized + * could not be found. + * @throws IOException if an I/O error occurs. + */ private void writeObject (ObjectOutputStream s) - throws ClassNotFoundException, IOException, NotImplementedException + throws ClassNotFoundException, IOException { - throw new Error ("Not implemented"); + serializing = true; + s.defaultWriteObject(); + bcsPreSerializationHook(s); + BeanContext peer = getBeanContextPeer(); + if (peer == null || peer == this) + writeChildren(s); + serializing = false; } protected class BCSChild implements Serializable @@ -102,6 +133,12 @@ public class BeanContextSupport extends BeanContextChildSupport this.targetChild = targetChild; this.peer = peer; } + + private Object getTargetChild() + { + return targetChild; + } + } protected static final class BCSIterator implements Iterator @@ -139,47 +176,68 @@ public class BeanContextSupport extends BeanContextChildSupport protected transient boolean okToUseGui; + private transient boolean serializing; + /** * Construct a BeanContextSupport instance. */ public BeanContextSupport () { - this (null, null, true, true); + this (null, null, false, true); } /** * Construct a BeanContextSupport instance. + * + * @param peer the bean context peer (null permitted). */ - public BeanContextSupport (BeanContext peer) + public BeanContextSupport(BeanContext peer) { - this (peer, null, true, true); + this (peer, null, false, true); } /** * Construct a BeanContextSupport instance. + * + * @param peer the bean context peer (null permitted). + * @param locale the locale (null permitted, equivalent to + * the default locale). */ - public BeanContextSupport (BeanContext peer, Locale lcle) + public BeanContextSupport (BeanContext peer, Locale locale) { - this (peer, lcle, true, true); + this (peer, locale, false, true); } /** * Construct a BeanContextSupport instance. + * + * @param peer the bean context peer (null permitted). + * @param locale the locale (null permitted, equivalent to + * the default locale). + * @param dtime a flag indicating whether or not the bean context is in + * design time mode. */ - public BeanContextSupport (BeanContext peer, Locale lcle, boolean dtime) + public BeanContextSupport (BeanContext peer, Locale locale, boolean dtime) { - this (peer, lcle, dtime, true); + this (peer, locale, dtime, true); } /** * Construct a BeanContextSupport instance. + * + * @param peer the bean context peer (null permitted). + * @param locale the locale (null permitted, equivalent to + * the default locale). + * @param dtime a flag indicating whether or not the bean context is in + * design time mode. + * @param visible initial value of the okToUseGui flag. */ - public BeanContextSupport (BeanContext peer, Locale lcle, boolean dtime, + public BeanContextSupport (BeanContext peer, Locale locale, boolean dtime, boolean visible) { super(peer); - locale = lcle == null ? Locale.getDefault() : lcle; + this.locale = locale == null ? Locale.getDefault() : locale; designTime = dtime; okToUseGui = visible; @@ -309,7 +367,6 @@ public class BeanContextSupport extends BeanContextChildSupport * told not to use it. */ public boolean avoidingGui() - throws NotImplementedException { return needsGui() && (!okToUseGui); } @@ -322,22 +379,49 @@ public class BeanContextSupport extends BeanContextChildSupport } } + /** + * Subclasses may use this method to perform their own deserialization + * after the default deserialization process has taken place, but + * prior to the deserialization of the children. It should not + * be used to replace the implementation of readObject + * in the subclass. + * + * @param ois the input stream. + * @throws ClassNotFoundException if the class of an object being deserialized + * could not be found. + * @throws IOException if an I/O error occurs. + */ protected void bcsPreDeserializationHook (ObjectInputStream ois) - throws ClassNotFoundException, IOException, NotImplementedException + throws ClassNotFoundException, IOException { - throw new Error ("Not implemented"); + /* Purposefully left empty */ } + /** + * Subclasses may use this method to perform their own serialization + * after the default serialization process has taken place, but + * prior to the serialization of the children. It should not + * be used to replace the implementation of writeObject + * in the subclass. + * + * @param oos the output stream. + * @throws IOException if an I/O error occurs. + */ protected void bcsPreSerializationHook (ObjectOutputStream oos) - throws IOException, NotImplementedException + throws IOException { - throw new Error ("Not implemented"); + /* Purposefully left empty */ } + /** + * Called when a child is deserialized. + * + * @param child the deserialized child. + * @param bcsc the deserialized context wrapper for the child. + */ protected void childDeserializedHook (Object child, BeanContextSupport.BCSChild bcsc) - throws NotImplementedException { - throw new Error ("Not implemented"); + // Do nothing in the base class. } protected void childJustAddedHook (Object child, BeanContextSupport.BCSChild bcsc) @@ -404,10 +488,25 @@ public class BeanContextSupport extends BeanContextChildSupport return new BCSChild(targetChild, peer); } + /** + * Deserializes objects (written by {@link #serialize(ObjectOutputStream, + * Collection)}) and adds them to the specified collection. + * + * @param ois the input stream (null not permitted). + * @param coll the collection to add the objects to (null not + * permitted). + * + * @throws ClassNotFoundException + * @throws IOException + * + * @see #serialize(ObjectOutputStream, Collection) + */ protected final void deserialize (ObjectInputStream ois, Collection coll) - throws ClassNotFoundException, IOException, NotImplementedException + throws ClassNotFoundException, IOException { - throw new Error ("Not implemented"); + int itemCount = ois.readInt(); + for (int i = 0; i < itemCount; i++) + coll.add(ois.readObject()); } /** @@ -447,46 +546,127 @@ public class BeanContextSupport extends BeanContextChildSupport } } - public BeanContext getBeanContextPeer () - throws NotImplementedException + /** + * Returns the bean context peer. + * + * @return The bean context peer. + * + * @see BeanContextChildSupport#beanContextChildPeer + */ + public BeanContext getBeanContextPeer() { - throw new Error ("Not implemented"); + return (BeanContext) beanContextChildPeer; } - protected static final BeanContextChild getChildBeanContextChild (Object child) - throws NotImplementedException + /** + * Returns the {@link BeanContextChild} implementation for the given child. + * + * @param child the child (null permitted). + * + * @return The bean context child. + * + * @throws IllegalArgumentException if child implements both + * the {@link BeanContextChild} and {@link BeanContextProxy} interfaces. + */ + protected static final BeanContextChild getChildBeanContextChild(Object child) { - throw new Error ("Not implemented"); + if (child == null) + return null; + if (child instanceof BeanContextChild && child instanceof BeanContextProxy) + throw new IllegalArgumentException("Child cannot implement " + + "BeanContextChild and BeanContextProxy simultaneously."); + if (child instanceof BeanContextChild) + return (BeanContextChild) child; + if (child instanceof BeanContextProxy) + return ((BeanContextProxy) child).getBeanContextProxy(); + return null; } - protected static final BeanContextMembershipListener getChildBeanContextMembershipListener (Object child) - throws NotImplementedException + /** + * Returns child as an instance of + * {@link BeanContextMembershipListener}, or null if + * child does not implement that interface. + * + * @param child the child (null permitted). + * + * @return The child cast to {@link BeanContextMembershipListener}. + */ + protected static final BeanContextMembershipListener + getChildBeanContextMembershipListener(Object child) { - throw new Error ("Not implemented"); + if (child instanceof BeanContextMembershipListener) + return (BeanContextMembershipListener) child; + else + return null; } - protected static final PropertyChangeListener getChildPropertyChangeListener (Object child) - throws NotImplementedException + /** + * Returns child as an instance of + * {@link PropertyChangeListener}, or null if child + * does not implement that interface. + * + * @param child the child (null permitted). + * + * @return The child cast to {@link PropertyChangeListener}. + */ + protected static final PropertyChangeListener getChildPropertyChangeListener( + Object child) { - throw new Error ("Not implemented"); + if (child instanceof PropertyChangeListener) + return (PropertyChangeListener) child; + else + return null; } - protected static final Serializable getChildSerializable (Object child) - throws NotImplementedException + /** + * Returns child as an instance of {@link Serializable}, or + * null if child does not implement that + * interface. + * + * @param child the child (null permitted). + * + * @return The child cast to {@link Serializable}. + */ + protected static final Serializable getChildSerializable(Object child) { - throw new Error ("Not implemented"); + if (child instanceof Serializable) + return (Serializable) child; + else + return null; } - protected static final VetoableChangeListener getChildVetoableChangeListener (Object child) - throws NotImplementedException + /** + * Returns child as an instance of + * {@link VetoableChangeListener}, or null if child + * does not implement that interface. + * + * @param child the child (null permitted). + * + * @return The child cast to {@link VetoableChangeListener}. + */ + protected static final VetoableChangeListener getChildVetoableChangeListener( + Object child) { - throw new Error ("Not implemented"); + if (child instanceof VetoableChangeListener) + return (VetoableChangeListener) child; + else + return null; } - protected static final Visibility getChildVisibility (Object child) - throws NotImplementedException + /** + * Returns child as an instance of {@link Visibility}, or + * null if child does not implement that interface. + * + * @param child the child (null permitted). + * + * @return The child cast to {@link Visibility}. + */ + protected static final Visibility getChildVisibility(Object child) { - throw new Error ("Not implemented"); + if (child instanceof Visibility) + return (Visibility) child; + else + return null; } public Locale getLocale () @@ -534,7 +714,15 @@ public class BeanContextSupport extends BeanContextChildSupport return Beans.instantiate(getClass().getClassLoader(), beanName, this); } - public boolean isDesignTime () + /** + * Returns true if the BeanContext is in + * design time mode, and false if it is in runtime mode. + * + * @return A boolean. + * + * @see #setDesignTime(boolean) + */ + public boolean isDesignTime() { return designTime; } @@ -552,10 +740,15 @@ public class BeanContextSupport extends BeanContextChildSupport } } - public boolean isSerializing () - throws NotImplementedException + /** + * Returns true if the bean context is in the process + * of being serialized. + * + * @return true if the context is being serialized. + */ + public boolean isSerializing() { - throw new Error ("Not implemented"); + return serializing; } public Iterator iterator () @@ -600,10 +793,33 @@ public class BeanContextSupport extends BeanContextChildSupport remove(pce.getSource(), false); } + /** + * Deerializes the children using the + * {@link #deserialize(ObjectInputStream, Collection} method + * and then calls {@link childDeserializedHook(Object, BCSChild)} + * for each child deserialized. + * + * @param oos the output stream. + * @throws IOException if an I/O error occurs. + */ public final void readChildren (ObjectInputStream ois) - throws IOException, ClassNotFoundException, NotImplementedException + throws IOException, ClassNotFoundException { - throw new Error ("Not implemented"); + List temp = new ArrayList(); + deserialize(ois, temp); + Iterator i = temp.iterator(); + synchronized (globalHierarchyLock) + { + synchronized (children) + { + while (i.hasNext()) + { + BCSChild bcs = (BCSChild) i.next(); + childDeserializedHook(bcs.getTargetChild(), bcs); + children.put(bcs.getTargetChild(), bcs); + } + } + } } /** @@ -646,7 +862,7 @@ public class BeanContextSupport extends BeanContextChildSupport * This method is synchronized over the global hierarchy lock. *

    * - * @param targetChild the child to add. + * @param targetChild the child to remove. * @param callChildSetBC true if the setBeanContext() * method of the child should be called. * @return false if the child doesn't exist. @@ -722,17 +938,55 @@ public class BeanContextSupport extends BeanContextChildSupport throw new UnsupportedOperationException(); } - protected final void serialize (ObjectOutputStream oos, Collection coll) - throws IOException, NotImplementedException + /** + * Writes the items in the collection to the specified output stream. Items + * in the collection that are not instances of {@link Serializable} + * (this includes null) are simply ignored. + * + * @param oos the output stream (null not permitted). + * @param coll the collection (null not permitted). + * + * @throws IOException + * + * @see #deserialize(ObjectInputStream, Collection) + */ + protected final void serialize(ObjectOutputStream oos, Collection coll) + throws IOException { - throw new Error ("Not implemented"); + Object[] items = coll.toArray(); + int itemCount = 0; + for (int i = 0; i < items.length; i++) + { + if (items[i] instanceof Serializable) + itemCount++; + } + oos.writeInt(itemCount); + for (int i = 0; i < items.length; i++) + { + if (items[i] instanceof Serializable) + oos.writeObject(items[i]); + } } - public void setDesignTime (boolean dtime) + /** + * Sets the flag that indicates whether or not the + * BeanContext is in design mode. If the flag changes + * value, a {@link PropertyChangeEvent} (with the property name 'designMode') + * is sent to registered listeners. Note that the property name used here + * does NOT match the specification in the {@link DesignMode} interface, we + * match the reference implementation instead - see bug parade entry 4295174. + * + * @param dtime the new value for the flag. + * + * @see #isDesignTime() + */ + public void setDesignTime(boolean dtime) { boolean save = designTime; designTime = dtime; - firePropertyChange(DesignMode.PROPERTYNAME, Boolean.valueOf(save), + // note that we use the same property name as Sun's implementation, + // even though this is a known bug: see bug parade entry 4295174 + firePropertyChange("designMode", Boolean.valueOf(save), Boolean.valueOf(dtime)); } @@ -755,7 +1009,12 @@ public class BeanContextSupport extends BeanContextChildSupport } } - public Object[] toArray () + /** + * Returns an array containing the children of this BeanContext. + * + * @return An array containing the children. + */ + public Object[] toArray() { synchronized (children) { @@ -763,10 +1022,16 @@ public class BeanContextSupport extends BeanContextChildSupport } } + /** + * Populates, then returns, the supplied array with the children of this + * BeanContext. If the array is too short to hold the + * children, a new array is allocated and returned. If the array is too + * long, it is padded with null items at the end. + * + * @param array an array to populate (null not permitted). + */ public Object[] toArray(Object[] array) - throws NotImplementedException { - // This implementation is incorrect, I think. synchronized (children) { return children.keySet().toArray(array); @@ -795,9 +1060,20 @@ public class BeanContextSupport extends BeanContextChildSupport /* Purposefully left empty */ } + /** + * Serializes the children using the + * {@link #serialize(ObjectOutputStream, Collection} method. + * + * @param oos the output stream. + * @throws IOException if an I/O error occurs. + */ public final void writeChildren (ObjectOutputStream oos) - throws IOException, NotImplementedException + throws IOException { - throw new Error ("Not implemented"); + synchronized (children) + { + serialize(oos, children.values()); + } } + } diff --git a/libjava/classpath/java/io/CharArrayWriter.java b/libjava/classpath/java/io/CharArrayWriter.java index 68e693b4a1a..0eead3ad35d 100644 --- a/libjava/classpath/java/io/CharArrayWriter.java +++ b/libjava/classpath/java/io/CharArrayWriter.java @@ -267,7 +267,7 @@ public class CharArrayWriter extends Writer * sequence is wrapped around an input buffer, the results will * depend on the current position and length of that buffer. * - * @param cs the character sequence to append. If cs is null, + * @param seq the character sequence to append. If seq is null, * then the string "null" (the string representation of null) * is appended. * @return a reference to this object. @@ -291,10 +291,10 @@ public class CharArrayWriter extends Writer * output stream underlying this writer, starting and ending at the * specified positions within the sequence. The behaviour of this * method matches the behaviour of writing the result of - * append(cs.subSequence(start,end)) when the sequence + * append(seq.subSequence(start,end)) when the sequence * is not null. * - * @param cs the character sequence to append. If cs is null, + * @param seq the character sequence to append. If seq is null, * then the string "null" (the string representation of null) * is appended. * @param start the index of the first Unicode character to use from diff --git a/libjava/classpath/java/io/DeleteFileHelper.java b/libjava/classpath/java/io/DeleteFileHelper.java index d73628c4973..6e33adce801 100644 --- a/libjava/classpath/java/io/DeleteFileHelper.java +++ b/libjava/classpath/java/io/DeleteFileHelper.java @@ -1,5 +1,5 @@ /* DeleteFileHelper.java -- Helper class to delete files on VM exit - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,22 +40,22 @@ package java.io; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; -import java.util.Iterator; /** * @author Guilhem Lavaux (guilhem@kaffe.org) * @author Jeroen Frijters (jeroen@sumatra.nl) * @author Michael Koch (konqueror@gmx.de) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ final class DeleteFileHelper extends Thread { - private static ArrayList filesToDelete; + private static ArrayList filesToDelete; static synchronized void add(File file) { if (filesToDelete == null) { - filesToDelete = new ArrayList(); + filesToDelete = new ArrayList(); AccessController.doPrivileged(new PrivilegedAction() { @@ -81,13 +81,10 @@ final class DeleteFileHelper extends Thread private static synchronized void deleteFiles() { - Iterator it = filesToDelete.iterator(); - - while (it.hasNext()) + for (File file : filesToDelete) { try { - File file = (File) it.next(); file.delete(); } catch (Exception e) diff --git a/libjava/classpath/java/io/File.java b/libjava/classpath/java/io/File.java index ce56876cc22..5d1b3ec8516 100644 --- a/libjava/classpath/java/io/File.java +++ b/libjava/classpath/java/io/File.java @@ -60,7 +60,7 @@ import java.net.URL; * @author Aaron M. Renn (arenn@urbanophile.com) * @author Tom Tromey (tromey@cygnus.com) */ -public class File implements Serializable, Comparable +public class File implements Serializable, Comparable { private static final long serialVersionUID = 301077366599181567L; @@ -286,7 +286,8 @@ public class File implements Serializable, Comparable // example, is a valid and minimal path). if (plen > 1 && p.charAt (plen - 1) == separatorChar) { - if (! (separatorChar == '\\' && plen == 3 && p.charAt (1) == ':')) + if (! (separatorChar == '\\' && ((plen == 3 && p.charAt(1) == ':') + || (plen == 2 && p.charAt(0) == separatorChar)))) return p.substring (0, plen - 1); } else @@ -303,7 +304,16 @@ public class File implements Serializable, Comparable { dupIndex++; if (dupIndex == plen) - return newpath.toString(); + { + if ((separatorChar == '\\' + && newpath.length() == 2 + && newpath.charAt(1) == ':') + || (separatorChar != '\\' && newpath.length() == 0)) + { + newpath.append(separatorChar); + } + return newpath.toString(); + } } newpath.append(separatorChar); last = dupIndex; @@ -315,7 +325,9 @@ public class File implements Serializable, Comparable int end; if (plen > 1 && p.charAt (plen - 1) == separatorChar) { - if (separatorChar == '\\' && plen == 3 && p.charAt (1) == ':') + if (separatorChar == '\\' + && ((plen == 3 && p.charAt(1) == ':') + || (plen == 2 && p.charAt(0) == separatorChar))) end = plen; else end = plen - 1; @@ -427,45 +439,8 @@ public class File implements Serializable, Comparable { if (isAbsolute()) return path; - else if (separatorChar == '\\' - && path.length() > 0 && path.charAt (0) == '\\') - { - // On Windows, even if the path starts with a '\\' it is not - // really absolute until we prefix the drive specifier from - // the current working directory to it. - return System.getProperty ("user.dir").substring (0, 2) + path; - } - else if (separatorChar == '\\' - && path.length() > 1 && path.charAt (1) == ':' - && ((path.charAt (0) >= 'a' && path.charAt (0) <= 'z') - || (path.charAt (0) >= 'A' && path.charAt (0) <= 'Z'))) - { - // On Windows, a process has a current working directory for - // each drive and a path like "G:foo\bar" would mean the - // absolute path "G:\wombat\foo\bar" if "\wombat" is the - // working directory on the G drive. - String drvDir = null; - try - { - drvDir = new File (path.substring (0, 2)).getCanonicalPath(); - } - catch (IOException e) - { - drvDir = path.substring (0, 2) + "\\"; - } - - // Note: this would return "C:\\." for the path "C:.", if "\" - // is the working folder on the C drive, but this is - // consistent with what Sun's JRE 1.4.1.01 actually returns! - if (path.length() > 2) - return drvDir + '\\' + path.substring (2, path.length()); - else - return drvDir; - } - else if (path.equals("")) - return System.getProperty ("user.dir"); else - return System.getProperty ("user.dir") + separatorChar + path; + return VMFile.getAbsolutePath(path); } /** @@ -657,15 +632,7 @@ public class File implements Serializable, Comparable */ public boolean isAbsolute() { - if (separatorChar == '\\') - return path.startsWith(dupSeparator) || - (path.length() > 2 && - ((path.charAt(0) >= 'a' && path.charAt(0) <= 'z') || - (path.charAt(0) >= 'A' && path.charAt(0) <= 'Z')) && - path.charAt(1) == ':' && - path.charAt(2) == '\\'); - else - return path.startsWith(separator); + return VMFile.isAbsolute(path); } /** @@ -787,8 +754,9 @@ public class File implements Serializable, Comparable String files[] = VMFile.list(path); // Check if an error occured in listInternal(). + // This is an unreadable directory, pretend there is nothing inside. if (files == null) - return null; + return new String[0]; if (filter == null) return files; @@ -998,14 +966,7 @@ public class File implements Serializable, Comparable */ public URL toURL() throws MalformedURLException { - // On Win32, Sun's JDK returns URLs of the form "file:/c:/foo/bar.txt", - // while on UNIX, it returns URLs of the form "file:/foo/bar.txt". - if (separatorChar == '\\') - return new URL ("file:/" + getAbsolutePath().replace ('\\', '/') - + (isDirectory() ? "/" : "")); - else - return new URL ("file:" + getAbsolutePath() - + (isDirectory() ? "/" : "")); + return VMFile.toURL(this); } @@ -1291,32 +1252,6 @@ public class File implements Serializable, Comparable return path.compareToIgnoreCase (other.path); } - /** - * This method compares the specified Object to this one - * to test for equality. It does this by comparing the canonical path names - * of the files. This method is identical to compareTo(File) - * except that if the Object passed to it is not a - * File, it throws a ClassCastException - *

    - * The canonical paths of the files are determined by calling the - * getCanonicalPath method on each object. - *

    - * This method returns a 0 if the specified Object is equal - * to this one, a negative value if it is less than this one - * a positive value if it is greater than this one. - * - * @return An integer as described above - * - * @exception ClassCastException If the passed Object is - * not a File - * - * @since 1.2 - */ - public int compareTo(Object obj) - { - return compareTo((File) obj); - } - /** * This method renames the file represented by this object to the path * of the file represented by the argument File. diff --git a/libjava/classpath/java/io/FileDescriptor.java b/libjava/classpath/java/io/FileDescriptor.java index d300c9cb617..cf9ff20d564 100644 --- a/libjava/classpath/java/io/FileDescriptor.java +++ b/libjava/classpath/java/io/FileDescriptor.java @@ -39,7 +39,7 @@ exception statement from your version. */ package java.io; -import gnu.java.nio.channels.FileChannelImpl; +import gnu.java.nio.FileChannelImpl; import java.nio.channels.ByteChannel; import java.nio.channels.FileChannel; @@ -133,7 +133,8 @@ public final class FileDescriptor * native file handle, false otherwise */ public boolean valid () - { - return channel != null && channel.isOpen(); + { + ByteChannel c = channel; + return (c != null) && (c.isOpen()); } } diff --git a/libjava/classpath/java/io/FileInputStream.java b/libjava/classpath/java/io/FileInputStream.java index 8ca38b02fc4..8217668b479 100644 --- a/libjava/classpath/java/io/FileInputStream.java +++ b/libjava/classpath/java/io/FileInputStream.java @@ -38,8 +38,9 @@ exception statement from your version. */ package java.io; -import gnu.java.nio.channels.FileChannelImpl; +import gnu.java.nio.FileChannelImpl; +import java.nio.ByteBuffer; import java.nio.channels.FileChannel; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 @@ -107,7 +108,20 @@ public class FileInputStream extends InputStream if (s != null) s.checkRead(file.getPath()); - ch = FileChannelImpl.create(file, FileChannelImpl.READ); + try + { + ch = FileChannelImpl.create(file, FileChannelImpl.READ); + } + catch (FileNotFoundException fnfe) + { + throw fnfe; + } + catch (IOException ioe) + { + FileNotFoundException fnfe = new FileNotFoundException(file.getPath()); + fnfe.initCause(ioe); + throw fnfe; + } } /** @@ -266,7 +280,7 @@ public class FileInputStream extends InputStream || offset + len > buf.length) throw new ArrayIndexOutOfBoundsException(); - return ch.read(buf, offset, len); + return ch.read(ByteBuffer.wrap(buf, offset, len)); } /** diff --git a/libjava/classpath/java/io/FileOutputStream.java b/libjava/classpath/java/io/FileOutputStream.java index 10ea6b536cb..d7561a9d79f 100644 --- a/libjava/classpath/java/io/FileOutputStream.java +++ b/libjava/classpath/java/io/FileOutputStream.java @@ -38,8 +38,9 @@ exception statement from your version. */ package java.io; -import gnu.java.nio.channels.FileChannelImpl; +import gnu.java.nio.FileChannelImpl; +import java.nio.ByteBuffer; import java.nio.channels.FileChannel; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 @@ -155,10 +156,23 @@ public class FileOutputStream extends OutputStream if (s != null) s.checkWrite(file.getPath()); - ch = FileChannelImpl.create(file, (append - ? FileChannelImpl.WRITE - | FileChannelImpl.APPEND - : FileChannelImpl.WRITE)); + try + { + ch = FileChannelImpl.create(file, (append + ? FileChannelImpl.WRITE + | FileChannelImpl.APPEND + : FileChannelImpl.WRITE)); + } + catch (FileNotFoundException fnfe) + { + throw fnfe; + } + catch (IOException ioe) + { + FileNotFoundException fnfe = new FileNotFoundException(file.getPath()); + fnfe.initCause(ioe); + throw fnfe; + } } /** @@ -266,7 +280,7 @@ public class FileOutputStream extends OutputStream || offset + len > buf.length) throw new ArrayIndexOutOfBoundsException (); - ch.write (buf, offset, len); + ch.write(ByteBuffer.wrap(buf, offset, len)); } /** diff --git a/libjava/classpath/java/io/InputStreamReader.java b/libjava/classpath/java/io/InputStreamReader.java index 936a03c95e0..6c5297f6ba8 100644 --- a/libjava/classpath/java/io/InputStreamReader.java +++ b/libjava/classpath/java/io/InputStreamReader.java @@ -134,6 +134,16 @@ public class InputStreamReader extends Reader private char savedSurrogate; private boolean hasSavedSurrogate = false; + /** + * A byte array to be reused in read(byte[], int, int). + */ + private byte[] bytesCache; + + /** + * Locks the bytesCache above in read(byte[], int, int). + */ + private Object cacheLock = new Object(); + /** * This method initializes a new instance of InputStreamReader * to read from the specified stream using the default encoding. @@ -355,9 +365,21 @@ public class InputStreamReader extends Reader throw new IOException("Reader has been closed"); if (isDone) return -1; - if(decoder != null){ - int totalBytes = (int)((double)length * maxBytesPerChar); - byte[] bytes = new byte[totalBytes]; + if(decoder != null) + { + int totalBytes = (int)((double) length * maxBytesPerChar); + if (byteBuffer != null) + totalBytes = Math.max(totalBytes, byteBuffer.remaining()); + byte[] bytes; + // Fetch cached bytes array if available and big enough. + synchronized(cacheLock) + { + bytes = bytesCache; + if (bytes == null || bytes.length < totalBytes) + bytes = new byte[totalBytes]; + else + bytesCache = null; + } int remaining = 0; if(byteBuffer != null) @@ -410,12 +432,40 @@ public class InputStreamReader extends Reader byteBuffer = null; read = cb.position() - startPos; - return (read <= 0) ? -1 : read; - } else { - byte[] bytes = new byte[length]; + + // Put cached bytes array back if we are finished and the cache + // is null or smaller than the used bytes array. + synchronized (cacheLock) + { + if (byteBuffer == null + && (bytesCache == null || bytesCache.length < bytes.length)) + bytesCache = bytes; + } + return (read <= 0) ? -1 : read; + } + else + { + byte[] bytes; + // Fetch cached bytes array if available and big enough. + synchronized (cacheLock) + { + bytes = bytesCache; + if (bytes == null || length < bytes.length) + bytes = new byte[length]; + else + bytesCache = null; + } + int read = in.read(bytes); for(int i=0;i(); + this.classLookupTable = new Hashtable(); setBlockDataMode(true); readStreamHeader(); } @@ -197,10 +204,9 @@ public class ObjectInputStream extends InputStream case TC_REFERENCE: { if(dump) dumpElement("REFERENCE "); - Integer oid = new Integer(this.realInputStream.readInt()); - if(dump) dumpElementln(Integer.toHexString(oid.intValue())); - ret_val = ((ObjectIdentityWrapper) - this.objectLookupTable.get(oid)).object; + int oid = realInputStream.readInt(); + if(dump) dumpElementln(Integer.toHexString(oid)); + ret_val = lookupHandle(oid); break; } @@ -348,12 +354,12 @@ public class ObjectInputStream extends InputStream int handle = assignNewHandle(obj); Object prevObject = this.currentObject; ObjectStreamClass prevObjectStreamClass = this.currentObjectStreamClass; - TreeSet prevObjectValidators = this.currentObjectValidators; + TreeSet prevObjectValidators = + this.currentObjectValidators; this.currentObject = obj; this.currentObjectValidators = null; - ObjectStreamClass[] hierarchy = - inputGetObjectStreamClasses(clazz); + ObjectStreamClass[] hierarchy = hierarchy(clazz); for (int i = 0; i < hierarchy.length; i++) { @@ -539,8 +545,6 @@ public class ObjectInputStream extends InputStream flags, fields); assignNewHandle(osc); - ClassLoader callersClassLoader = currentLoader(); - for (int i = 0; i < field_count; i++) { if(dump) dumpElement(" TYPE CODE="); @@ -560,12 +564,17 @@ public class ObjectInputStream extends InputStream class_name = String.valueOf(type_code); fields[i] = - new ObjectStreamField(field_name, class_name, callersClassLoader); + new ObjectStreamField(field_name, class_name); } /* Now that fields have been read we may resolve the class * (and read annotation if needed). */ Class clazz = resolveClass(osc); + ClassLoader loader = clazz.getClassLoader(); + for (int i = 0; i < field_count; i++) + { + fields[i].resolveType(loader); + } boolean oldmode = setBlockDataMode(true); osc.setClass(clazz, lookupClass(clazz.getSuperclass())); classLookupTable.put(clazz, osc); @@ -753,7 +762,7 @@ public class ObjectInputStream extends InputStream + "ObjectInputValidation object"); if (currentObjectValidators == null) - currentObjectValidators = new TreeSet(); + currentObjectValidators = new TreeSet(); currentObjectValidators.add(new ValidatorAndPriority(validator, priority)); } @@ -775,7 +784,7 @@ public class ObjectInputStream extends InputStream * * @see java.io.ObjectOutputStream#annotateClass (java.lang.Class) */ - protected Class resolveClass(ObjectStreamClass osc) + protected Class resolveClass(ObjectStreamClass osc) throws ClassNotFoundException, IOException { String name = osc.getName(); @@ -814,7 +823,7 @@ public class ObjectInputStream extends InputStream */ private ClassLoader currentLoader() { - return VMObjectInputStream.currentClassLoader(); + return VMStackWalker.firstNonNullClassLoader(); } /** @@ -842,41 +851,20 @@ public class ObjectInputStream extends InputStream } /** - * Reconstruct class hierarchy the same way - * {@link java.io.ObjectStreamClass#getObjectStreamClasses(Class)} does - * but using lookupClass instead of ObjectStreamClass.lookup. This - * dup is necessary localize the lookup table. Hopefully some future - * rewritings will be able to prevent this. + * Reconstruct class hierarchy the same way {@link + * java.io.ObjectStreamClass#hierarchy} does but using lookupClass + * instead of ObjectStreamClass.lookup. * * @param clazz This is the class for which we want the hierarchy. * * @return An array of valid {@link java.io.ObjectStreamClass} instances which * represent the class hierarchy for clazz. */ - private ObjectStreamClass[] inputGetObjectStreamClasses(Class clazz) - { + private ObjectStreamClass[] hierarchy(Class clazz) + { ObjectStreamClass osc = lookupClass(clazz); - if (osc == null) - return new ObjectStreamClass[0]; - else - { - Vector oscs = new Vector(); - - while (osc != null) - { - oscs.addElement(osc); - osc = osc.getSuper(); - } - - int count = oscs.size(); - ObjectStreamClass[] sorted_oscs = new ObjectStreamClass[count]; - - for (int i = count - 1; i >= 0; i--) - sorted_oscs[count - i - 1] = (ObjectStreamClass) oscs.elementAt(i); - - return sorted_oscs; - } + return osc == null ? new ObjectStreamClass[0] : osc.hierarchy(); } /** @@ -898,12 +886,12 @@ public class ObjectInputStream extends InputStream } - protected Class resolveProxyClass(String[] intfs) + protected Class resolveProxyClass(String[] intfs) throws IOException, ClassNotFoundException { ClassLoader cl = currentLoader(); - Class[] clss = new Class[intfs.length]; + Class[] clss = new Class[intfs.length]; if(cl == null) { for (int i = 0; i < intfs.length; i++) @@ -1560,9 +1548,47 @@ public class ObjectInputStream extends InputStream */ private int assignNewHandle(Object obj) { - this.objectLookupTable.put(new Integer(this.nextOID), - new ObjectIdentityWrapper(obj)); - return this.nextOID++; + int handle = this.nextOID; + this.nextOID = handle + 1; + rememberHandle(obj,handle); + return handle; + } + + /** + * Remember the object associated with the given handle. + * + * @param obj an object + * + * @param handle a handle, must be >= baseWireHandle + * + * @see #lookupHandle + */ + private void rememberHandle(Object obj, int handle) + { + Vector olt = this.objectLookupTable; + handle = handle - baseWireHandle; + + if (olt.size() <= handle) + olt.setSize(handle + 1); + + olt.set(handle, obj); + } + + /** + * Look up the object associated with a given handle. + * + * @param handle a handle, must be >= baseWireHandle + * + * @return the object remembered for handle or null if none. + * + * @see #rememberHandle + */ + private Object lookupHandle(int handle) + { + Vector olt = this.objectLookupTable; + handle = handle - baseWireHandle; + Object result = handle < olt.size() ? olt.get(handle) : null; + return result; } private Object processResolution(ObjectStreamClass osc, Object obj, int handle) @@ -1596,9 +1622,7 @@ public class ObjectInputStream extends InputStream if (this.resolveEnabled) obj = resolveObject(obj); - this.objectLookupTable.put(new Integer(handle), - new ObjectIdentityWrapper(obj)); - + rememberHandle(obj, handle); return obj; } @@ -1875,10 +1899,10 @@ public class ObjectInputStream extends InputStream { try { - Iterator it = currentObjectValidators.iterator(); + Iterator it = currentObjectValidators.iterator(); while(it.hasNext()) { - ValidatorAndPriority vap = (ValidatorAndPriority) it.next(); + ValidatorAndPriority vap = it.next(); ObjectInputValidation validator = vap.validator; validator.validateObject(); } @@ -1931,13 +1955,13 @@ public class ObjectInputStream extends InputStream private boolean useSubclassMethod; private int nextOID; private boolean resolveEnabled; - private Hashtable objectLookupTable; + private Vector objectLookupTable; private Object currentObject; private ObjectStreamClass currentObjectStreamClass; - private TreeSet currentObjectValidators; + private TreeSet currentObjectValidators; private boolean readDataFromBlock; private boolean fieldsAlreadyRead; - private Hashtable classLookupTable; + private Hashtable classLookupTable; private GetField prereadFields; private static boolean dump; diff --git a/libjava/classpath/java/io/ObjectOutputStream.java b/libjava/classpath/java/io/ObjectOutputStream.java index 80d196bce1b..c3c3df9a304 100644 --- a/libjava/classpath/java/io/ObjectOutputStream.java +++ b/libjava/classpath/java/io/ObjectOutputStream.java @@ -39,7 +39,7 @@ exception statement from your version. */ package java.io; -import gnu.java.io.ObjectIdentityWrapper; +import gnu.java.io.ObjectIdentityMap2Int; import gnu.java.lang.reflect.TypeSignature; import gnu.java.security.action.SetAccessibleAction; @@ -47,8 +47,7 @@ import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.security.AccessController; -import java.util.Hashtable; + /** * An ObjectOutputStream can be used to write objects @@ -115,6 +114,11 @@ import java.util.Hashtable; * @see java.io.Externalizable * @see java.io.ObjectInputStream * @see java.io.Serializable + * @author Tom Tromey (tromey@redhat.com) + * @author Jeroen Frijters (jeroen@frijters.net) + * @author Guilhem Lavaux (guilhem@kaffe.org) + * @author Michael Koch (konqueror@gmx.de) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class ObjectOutputStream extends OutputStream implements ObjectOutput, ObjectStreamConstants @@ -140,7 +144,7 @@ public class ObjectOutputStream extends OutputStream replacementEnabled = false; isSerializing = false; nextOID = baseWireHandle; - OIDLookupTable = new Hashtable(); + OIDLookupTable = new ObjectIdentityMap2Int(); protocolVersion = defaultProtocolVersion; useSubclassMethod = false; writeStreamHeader(); @@ -207,11 +211,11 @@ public class ObjectOutputStream extends OutputStream break; } - Integer handle = findHandle(obj); - if (handle != null) + int handle = findHandle(obj); + if (handle >= 0) { realOutput.writeByte(TC_REFERENCE); - realOutput.writeInt(handle.intValue()); + realOutput.writeInt(handle); break; } @@ -225,7 +229,7 @@ public class ObjectOutputStream extends OutputStream writeObject (osc); } else - { + {System.err.println("1"); realOutput.writeByte(TC_PROXYCLASSDESC); Class[] intfs = cl.getInterfaces(); realOutput.writeInt(intfs.length); @@ -338,8 +342,7 @@ public class ObjectOutputStream extends OutputStream Object prevObject = this.currentObject; ObjectStreamClass prevObjectStreamClass = this.currentObjectStreamClass; currentObject = obj; - ObjectStreamClass[] hierarchy = - ObjectStreamClass.getObjectStreamClasses(clazz); + ObjectStreamClass[] hierarchy = osc.hierarchy(); for (int i = 0; i < hierarchy.length; i++) { @@ -604,11 +607,11 @@ public class ObjectOutputStream extends OutputStream * * @see ObjectInputStream#resolveClass(java.io.ObjectStreamClass) */ - protected void annotateClass(Class cl) throws IOException + protected void annotateClass(Class cl) throws IOException { } - protected void annotateProxyClass(Class cl) throws IOException + protected void annotateProxyClass(Class cl) throws IOException { } @@ -1104,17 +1107,16 @@ public class ObjectOutputStream extends OutputStream // lookup the handle for OBJ, return null if OBJ doesn't have a // handle yet - private Integer findHandle(Object obj) + private int findHandle(Object obj) { - return (Integer)OIDLookupTable.get(new ObjectIdentityWrapper(obj)); + return OIDLookupTable.get(obj); } // assigns the next availible handle to OBJ private int assignNewHandle(Object obj) { - OIDLookupTable.put(new ObjectIdentityWrapper(obj), - new Integer(nextOID)); + OIDLookupTable.put(obj, nextOID); return nextOID++; } @@ -1216,39 +1218,70 @@ public class ObjectOutputStream extends OutputStream { ObjectStreamField[] fields = osc.fields; boolean oldmode = setBlockDataMode(false); - String field_name; - Class type; - for (int i = 0; i < fields.length; i++) + try { - field_name = fields[i].getName(); - type = fields[i].getType(); - - if (dump) - dumpElementln ("WRITE FIELD: " + field_name + " type=" + type); - - if (type == Boolean.TYPE) - realOutput.writeBoolean(getBooleanField(obj, osc.forClass(), field_name)); - else if (type == Byte.TYPE) - realOutput.writeByte(getByteField(obj, osc.forClass(), field_name)); - else if (type == Character.TYPE) - realOutput.writeChar(getCharField(obj, osc.forClass(), field_name)); - else if (type == Double.TYPE) - realOutput.writeDouble(getDoubleField(obj, osc.forClass(), field_name)); - else if (type == Float.TYPE) - realOutput.writeFloat(getFloatField(obj, osc.forClass(), field_name)); - else if (type == Integer.TYPE) - realOutput.writeInt(getIntField(obj, osc.forClass(), field_name)); - else if (type == Long.TYPE) - realOutput.writeLong(getLongField(obj, osc.forClass(), field_name)); - else if (type == Short.TYPE) - realOutput.writeShort(getShortField(obj, osc.forClass(), field_name)); - else - writeObject(getObjectField(obj, osc.forClass(), field_name, - fields[i].getTypeString ())); + writeFields(obj,fields); + } + catch (IllegalArgumentException _) + { + InvalidClassException e = new InvalidClassException + ("writing fields of class " + osc.forClass().getName()); + e.initCause(_); + throw e; } + catch (IOException e) + { + throw e; + } + catch (Exception _) + { + IOException e = new IOException("Unexpected exception " + _); + e.initCause(_); + throw(e); + } + setBlockDataMode(oldmode); } + + + /** + * Helper function for writeFields(Object,ObjectStreamClass): write + * fields from given fields array. Pass exception on. + * + * @param obj the object to be written + * + * @param fields the fields of obj to be written. + */ + private void writeFields(Object obj, ObjectStreamField[] fields) + throws + IllegalArgumentException, IllegalAccessException, IOException + { + for (int i = 0; i < fields.length; i++) + { + ObjectStreamField osf = fields[i]; + Field field = osf.field; + + if (DEBUG && dump) + dumpElementln ("WRITE FIELD: " + osf.getName() + " type=" + osf.getType()); + + switch (osf.getTypeCode()) + { + case 'Z': realOutput.writeBoolean(field.getBoolean(obj)); break; + case 'B': realOutput.writeByte (field.getByte (obj)); break; + case 'S': realOutput.writeShort (field.getShort (obj)); break; + case 'C': realOutput.writeChar (field.getChar (obj)); break; + case 'I': realOutput.writeInt (field.getInt (obj)); break; + case 'F': realOutput.writeFloat (field.getFloat (obj)); break; + case 'J': realOutput.writeLong (field.getLong (obj)); break; + case 'D': realOutput.writeDouble (field.getDouble (obj)); break; + case 'L': + case '[': writeObject (field.get (obj)); break; + default: + throw new IOException("Unexpected type code " + osf.getTypeCode()); + } + } + } // Toggles writing primitive data to block-data buffer. @@ -1307,248 +1340,6 @@ public class ObjectOutputStream extends OutputStream } } - private boolean getBooleanField(Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField(klass, field_name); - boolean b = f.getBoolean(obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private byte getByteField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - byte b = f.getByte (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private char getCharField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - char b = f.getChar (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private double getDoubleField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - double b = f.getDouble (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private float getFloatField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - float b = f.getFloat (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private int getIntField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - int b = f.getInt (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private long getLongField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - long b = f.getLong (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private short getShortField (Object obj, Class klass, String field_name) - throws IOException - { - try - { - Field f = getField (klass, field_name); - short b = f.getShort (obj); - return b; - } - catch (IllegalArgumentException _) - { - throw new InvalidClassException - ("invalid requested type for field " + field_name + " in class " + klass.getName()); - } - catch (IOException e) - { - throw e; - } - catch (Exception _) - { - throw new IOException("Unexpected exception " + _); - } - } - - private Object getObjectField (Object obj, Class klass, String field_name, - String type_code) throws IOException - { - try - { - Field f = getField (klass, field_name); - ObjectStreamField of = new ObjectStreamField(f.getName(), f.getType()); - - /* if of is primitive something went wrong - * in the check for primitive classes in writeFields. - */ - if (of.isPrimitive()) - throw new InvalidClassException - ("invalid type code for " + field_name + " in class " + klass.getName() + " : object stream field is primitive"); - - if (!of.getTypeString().equals(type_code)) - throw new InvalidClassException - ("invalid type code for " + field_name + " in class " + klass.getName() + " : object stream field " + of + " has type string " + of.getTypeString() + " instead of " + type_code); - - Object o = f.get (obj); - // FIXME: We should check the type_code here - return o; - } - catch (IOException e) - { - throw e; - } - catch (Exception e) - { - throw new IOException (); - } - } - - private Field getField (Class klass, String name) - throws java.io.InvalidClassException - { - try - { - final Field f = klass.getDeclaredField(name); - setAccessible.setMember(f); - AccessController.doPrivileged(setAccessible); - return f; - } - catch (java.lang.NoSuchFieldException e) - { - throw new InvalidClassException - ("no field called " + name + " in class " + klass.getName()); - } - } - private void dumpElementln (String msg) { for (int i = 0; i < depth; i++) @@ -1576,7 +1367,7 @@ public class ObjectOutputStream extends OutputStream private boolean replacementEnabled; private boolean isSerializing; private int nextOID; - private Hashtable OIDLookupTable; + private ObjectIdentityMap2Int OIDLookupTable; private int protocolVersion; private boolean useSubclassMethod; private SetAccessibleAction setAccessible = new SetAccessibleAction(); diff --git a/libjava/classpath/java/io/ObjectStreamClass.java b/libjava/classpath/java/io/ObjectStreamClass.java index abb26d839ad..52a1ad42873 100644 --- a/libjava/classpath/java/io/ObjectStreamClass.java +++ b/libjava/classpath/java/io/ObjectStreamClass.java @@ -1,6 +1,6 @@ /* ObjectStreamClass.java -- Class used to write class information about serialized objects. - Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -59,8 +59,14 @@ import java.security.Security; import java.util.Arrays; import java.util.Comparator; import java.util.Hashtable; -import java.util.Vector; +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Jeroen Frijters (jeroen@frijters.net) + * @author Guilhem Lavaux (guilhem@kaffe.org) + * @author Michael Koch (konqueror@gmx.de) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ public class ObjectStreamClass implements Serializable { static final ObjectStreamField[] INVALID_FIELDS = new ObjectStreamField[0]; @@ -80,7 +86,7 @@ public class ObjectStreamClass implements Serializable * * @see java.io.Serializable */ - public static ObjectStreamClass lookup(Class cl) + public static ObjectStreamClass lookup(Class cl) { if (cl == null) return null; @@ -132,7 +138,7 @@ public class ObjectStreamClass implements Serializable * * @see java.io.ObjectInputStream */ - public Class forClass() + public Class forClass() { return clazz; } @@ -235,37 +241,45 @@ public class ObjectStreamClass implements Serializable return superClass; } - - // returns an array of ObjectStreamClasses that represent the super - // classes of CLAZZ and CLAZZ itself in order from most super to - // CLAZZ. ObjectStreamClass[0] is the highest superclass of CLAZZ - // that is serializable. - static ObjectStreamClass[] getObjectStreamClasses(Class clazz) + /** + * returns an array of ObjectStreamClasses that represent the super + * classes of the class represented by this and the class + * represented by this itself in order from most super to this. + * ObjectStreamClass[0] is the highest superclass of this that is + * serializable. + * + * The result of consecutive calls this hierarchy() will be the same + * array instance. + * + * @return an array of ObjectStreamClass representing the + * super-class hierarchy of serializable classes. + */ + ObjectStreamClass[] hierarchy() { - ObjectStreamClass osc = ObjectStreamClass.lookup(clazz); - - if (osc == null) - return new ObjectStreamClass[0]; - else - { - Vector oscs = new Vector(); - - while (osc != null) - { - oscs.addElement (osc); - osc = osc.getSuper(); - } - - int count = oscs.size(); - ObjectStreamClass[] sorted_oscs = new ObjectStreamClass[ count ]; - - for (int i = count - 1; i >= 0; i--) - sorted_oscs[ count - i - 1 ] = (ObjectStreamClass) oscs.elementAt(i); - - return sorted_oscs; + ObjectStreamClass[] result = hierarchy; + if (result == null) + { + int d = 0; + + for(ObjectStreamClass osc = this; osc != null; osc = osc.getSuper()) + d++; + + result = new ObjectStreamClass[d]; + + for (ObjectStreamClass osc = this; osc != null; osc = osc.getSuper()) + { + result[--d] = osc; + } + + hierarchy = result; } + return result; } + /** + * Cache for hierarchy() result. + */ + private ObjectStreamClass[] hierarchy = null; // Returns an integer that consists of bit-flags that indicate // properties of the class represented by this ObjectStreamClass. @@ -298,7 +312,7 @@ public class ObjectStreamClass implements Serializable * already set UID is found. */ void setClass(Class cl, ObjectStreamClass superClass) throws InvalidClassException - { + {hierarchy = null; this.clazz = cl; cacheMethods(); @@ -309,8 +323,8 @@ public class ObjectStreamClass implements Serializable else { // Check that the actual UID of the resolved class matches the UID from - // the stream. - if (uid != class_uid) + // the stream. Mismatches for array classes are ignored. + if (!cl.isArray() && uid != class_uid) { String msg = cl + ": Local class not compatible: stream serialVersionUID=" @@ -425,6 +439,7 @@ public class ObjectStreamClass implements Serializable void setSuperclass (ObjectStreamClass osc) { superClass = osc; + hierarchy = null; } void calculateOffsets() @@ -547,21 +562,62 @@ outer: return null; } - private void cacheMethods() + /** + * Helper routine to check if a class was loaded by boot or + * application class loader. Classes for which this is not the case + * should not be cached since caching prevent class file garbage + * collection. + * + * @param cl a class + * + * @return true if cl was loaded by boot or application class loader, + * false if cl was loaded by a user class loader. + */ + private static boolean loadedByBootOrApplicationClassLoader(Class cl) { - Method[] methods = forClass().getDeclaredMethods(); + ClassLoader l = cl.getClassLoader(); + return + ( l == null /* boot loader */ ) + || (l == ClassLoader.getSystemClassLoader() /* application loader */); + } - readObjectMethod = findMethod(methods, "readObject", - new Class[] { ObjectInputStream.class }, - Void.TYPE, true); - writeObjectMethod = findMethod(methods, "writeObject", - new Class[] { ObjectOutputStream.class }, - Void.TYPE, true); + static Hashtable methodCache = new Hashtable(); + + static final Class[] readObjectSignature = { ObjectInputStream.class }; + static final Class[] writeObjectSignature = { ObjectOutputStream.class }; - // readResolve and writeReplace can be in parent classes, as long as they - // are accessible from this class. - readResolveMethod = findAccessibleMethod("readResolve", forClass()); - writeReplaceMethod = findAccessibleMethod("writeReplace", forClass()); + private void cacheMethods() + { + Class cl = forClass(); + Method[] cached = (Method[]) methodCache.get(cl); + if (cached == null) + { + cached = new Method[4]; + Method[] methods = cl.getDeclaredMethods(); + + cached[0] = findMethod(methods, "readObject", + readObjectSignature, + Void.TYPE, true); + cached[1] = findMethod(methods, "writeObject", + writeObjectSignature, + Void.TYPE, true); + + // readResolve and writeReplace can be in parent classes, as long as they + // are accessible from this class. + cached[2] = findAccessibleMethod("readResolve", cl); + cached[3] = findAccessibleMethod("writeReplace", cl); + + /* put in cache if classes not loaded by user class loader. + * For a user class loader, the cache may otherwise grow + * without limit. + */ + if (loadedByBootOrApplicationClassLoader(cl)) + methodCache.put(cl,cached); + } + readObjectMethod = cached[0]; + writeObjectMethod = cached[1]; + readResolveMethod = cached[2]; + writeReplaceMethod = cached[3]; } private ObjectStreamClass(Class cl) @@ -713,152 +769,208 @@ outer: calculateOffsets(); } + static Hashtable uidCache = new Hashtable(); + // Returns the serial version UID defined by class, or if that // isn't present, calculates value of serial version UID. private long getClassUID(Class cl) { - try + long result = 0; + Long cache = (Long) uidCache.get(cl); + if (cache != null) + result = cache.longValue(); + else { - // Use getDeclaredField rather than getField, since serialVersionUID - // may not be public AND we only want the serialVersionUID of this - // class, not a superclass or interface. - final Field suid = cl.getDeclaredField("serialVersionUID"); - SetAccessibleAction setAccessible = new SetAccessibleAction(suid); - AccessController.doPrivileged(setAccessible); - int modifiers = suid.getModifiers(); - - if (Modifier.isStatic(modifiers) - && Modifier.isFinal(modifiers) - && suid.getType() == Long.TYPE) - return suid.getLong(null); + try + { + result = getClassUIDFromField(cl); + } + catch (NoSuchFieldException ignore) + { + try + { + result = calculateClassUID(cl); + } + catch (NoSuchAlgorithmException e) + { + throw new RuntimeException + ("The SHA algorithm was not found to use in computing the Serial Version UID for class " + + cl.getName(), e); + } + catch (IOException ioe) + { + throw new RuntimeException(ioe); + } + } + + if (loadedByBootOrApplicationClassLoader(cl)) + uidCache.put(cl,new Long(result)); } - catch (NoSuchFieldException ignore) + return result; + } + + /** + * Search for a serialVersionUID field in the given class and read + * its value. + * + * @return the contents of the serialVersionUID field + * + * @throws NoSuchFieldException if such a field does not exist or is + * not static, not final, not of type Long or not accessible. + */ + long getClassUIDFromField(Class cl) + throws NoSuchFieldException + { + long result; + + try { + // Use getDeclaredField rather than getField, since serialVersionUID + // may not be public AND we only want the serialVersionUID of this + // class, not a superclass or interface. + final Field suid = cl.getDeclaredField("serialVersionUID"); + SetAccessibleAction setAccessible = new SetAccessibleAction(suid); + AccessController.doPrivileged(setAccessible); + int modifiers = suid.getModifiers(); + + if (Modifier.isStatic(modifiers) + && Modifier.isFinal(modifiers) + && suid.getType() == Long.TYPE) + result = suid.getLong(null); + else + throw new NoSuchFieldException(); } catch (IllegalAccessException ignore) { + throw new NoSuchFieldException(); } - // cl didn't define serialVersionUID, so we have to compute it - try - { - MessageDigest md; - try - { - md = MessageDigest.getInstance("SHA"); - } - catch (NoSuchAlgorithmException e) - { - // If a provider already provides SHA, use it; otherwise, use this. - Gnu gnuProvider = new Gnu(); - Security.addProvider(gnuProvider); - md = MessageDigest.getInstance("SHA"); - } - - DigestOutputStream digest_out = - new DigestOutputStream(nullOutputStream, md); - DataOutputStream data_out = new DataOutputStream(digest_out); - - data_out.writeUTF(cl.getName()); - - int modifiers = cl.getModifiers(); - // just look at interesting bits - modifiers = modifiers & (Modifier.ABSTRACT | Modifier.FINAL - | Modifier.INTERFACE | Modifier.PUBLIC); - data_out.writeInt(modifiers); - - // Pretend that an array has no interfaces, because when array - // serialization was defined (JDK 1.1), arrays didn't have it. - if (! cl.isArray()) - { - Class[] interfaces = cl.getInterfaces(); - Arrays.sort(interfaces, interfaceComparator); - for (int i = 0; i < interfaces.length; i++) - data_out.writeUTF(interfaces[i].getName()); - } - - Field field; - Field[] fields = cl.getDeclaredFields(); - Arrays.sort(fields, memberComparator); - for (int i = 0; i < fields.length; i++) - { - field = fields[i]; - modifiers = field.getModifiers(); - if (Modifier.isPrivate(modifiers) - && (Modifier.isStatic(modifiers) - || Modifier.isTransient(modifiers))) - continue; - - data_out.writeUTF(field.getName()); - data_out.writeInt(modifiers); - data_out.writeUTF(TypeSignature.getEncodingOfClass (field.getType())); - } - - // write class initializer method if present - if (VMObjectStreamClass.hasClassInitializer(cl)) - { - data_out.writeUTF(""); - data_out.writeInt(Modifier.STATIC); - data_out.writeUTF("()V"); - } - - Constructor constructor; - Constructor[] constructors = cl.getDeclaredConstructors(); - Arrays.sort (constructors, memberComparator); - for (int i = 0; i < constructors.length; i++) - { - constructor = constructors[i]; - modifiers = constructor.getModifiers(); - if (Modifier.isPrivate(modifiers)) - continue; - - data_out.writeUTF(""); - data_out.writeInt(modifiers); - - // the replacement of '/' with '.' was needed to make computed - // SUID's agree with those computed by JDK - data_out.writeUTF - (TypeSignature.getEncodingOfConstructor(constructor).replace('/','.')); - } - - Method method; - Method[] methods = cl.getDeclaredMethods(); - Arrays.sort(methods, memberComparator); - for (int i = 0; i < methods.length; i++) - { - method = methods[i]; - modifiers = method.getModifiers(); - if (Modifier.isPrivate(modifiers)) - continue; - - data_out.writeUTF(method.getName()); - data_out.writeInt(modifiers); - - // the replacement of '/' with '.' was needed to make computed - // SUID's agree with those computed by JDK - data_out.writeUTF - (TypeSignature.getEncodingOfMethod(method).replace('/', '.')); - } - - data_out.close(); - byte[] sha = md.digest(); - long result = 0; - int len = sha.length < 8 ? sha.length : 8; - for (int i = 0; i < len; i++) - result += (long) (sha[i] & 0xFF) << (8 * i); + return result; + } - return result; + /** + * Calculate class serial version UID for a class that does not + * define serialVersionUID: + * + * @param cl a class + * + * @return the calculated serial varsion UID. + * + * @throws NoSuchAlgorithmException if SHA algorithm not found + * + * @throws IOException if writing to the DigestOutputStream causes + * an IOException. + */ + long calculateClassUID(Class cl) + throws NoSuchAlgorithmException, IOException + { + long result; + MessageDigest md; + try + { + md = MessageDigest.getInstance("SHA"); } catch (NoSuchAlgorithmException e) { - throw new RuntimeException - ("The SHA algorithm was not found to use in computing the Serial Version UID for class " - + cl.getName(), e); + // If a provider already provides SHA, use it; otherwise, use this. + Gnu gnuProvider = new Gnu(); + Security.addProvider(gnuProvider); + md = MessageDigest.getInstance("SHA"); + } + + DigestOutputStream digest_out = + new DigestOutputStream(nullOutputStream, md); + DataOutputStream data_out = new DataOutputStream(digest_out); + + data_out.writeUTF(cl.getName()); + + int modifiers = cl.getModifiers(); + // just look at interesting bits + modifiers = modifiers & (Modifier.ABSTRACT | Modifier.FINAL + | Modifier.INTERFACE | Modifier.PUBLIC); + data_out.writeInt(modifiers); + + // Pretend that an array has no interfaces, because when array + // serialization was defined (JDK 1.1), arrays didn't have it. + if (! cl.isArray()) + { + Class[] interfaces = cl.getInterfaces(); + Arrays.sort(interfaces, interfaceComparator); + for (int i = 0; i < interfaces.length; i++) + data_out.writeUTF(interfaces[i].getName()); + } + + Field field; + Field[] fields = cl.getDeclaredFields(); + Arrays.sort(fields, memberComparator); + for (int i = 0; i < fields.length; i++) + { + field = fields[i]; + modifiers = field.getModifiers(); + if (Modifier.isPrivate(modifiers) + && (Modifier.isStatic(modifiers) + || Modifier.isTransient(modifiers))) + continue; + + data_out.writeUTF(field.getName()); + data_out.writeInt(modifiers); + data_out.writeUTF(TypeSignature.getEncodingOfClass (field.getType())); + } + + // write class initializer method if present + if (VMObjectStreamClass.hasClassInitializer(cl)) + { + data_out.writeUTF(""); + data_out.writeInt(Modifier.STATIC); + data_out.writeUTF("()V"); } - catch (IOException ioe) + + Constructor constructor; + Constructor[] constructors = cl.getDeclaredConstructors(); + Arrays.sort (constructors, memberComparator); + for (int i = 0; i < constructors.length; i++) + { + constructor = constructors[i]; + modifiers = constructor.getModifiers(); + if (Modifier.isPrivate(modifiers)) + continue; + + data_out.writeUTF(""); + data_out.writeInt(modifiers); + + // the replacement of '/' with '.' was needed to make computed + // SUID's agree with those computed by JDK + data_out.writeUTF + (TypeSignature.getEncodingOfConstructor(constructor).replace('/','.')); + } + + Method method; + Method[] methods = cl.getDeclaredMethods(); + Arrays.sort(methods, memberComparator); + for (int i = 0; i < methods.length; i++) { - throw new RuntimeException(ioe); + method = methods[i]; + modifiers = method.getModifiers(); + if (Modifier.isPrivate(modifiers)) + continue; + + data_out.writeUTF(method.getName()); + data_out.writeInt(modifiers); + + // the replacement of '/' with '.' was needed to make computed + // SUID's agree with those computed by JDK + data_out.writeUTF + (TypeSignature.getEncodingOfMethod(method).replace('/', '.')); } + + data_out.close(); + byte[] sha = md.digest(); + result = 0; + int len = sha.length < 8 ? sha.length : 8; + for (int i = 0; i < len; i++) + result += (long) (sha[i] & 0xFF) << (8 * i); + + return result; } /** @@ -948,7 +1060,8 @@ outer: public static final ObjectStreamField[] NO_FIELDS = {}; - private static Hashtable classLookupTable = new Hashtable(); + private static Hashtable classLookupTable + = new Hashtable(); private static final NullOutputStream nullOutputStream = new NullOutputStream(); private static final Comparator interfaceComparator = new InterfaceComparator(); private static final Comparator memberComparator = new MemberComparator(); @@ -956,7 +1069,7 @@ outer: Class[] writeMethodArgTypes = { java.io.ObjectOutputStream.class }; private ObjectStreamClass superClass; - private Class clazz; + private Class clazz; private String name; private long uid; private byte flags; diff --git a/libjava/classpath/java/io/ObjectStreamField.java b/libjava/classpath/java/io/ObjectStreamField.java index 61ccdc7db76..91f557870a5 100644 --- a/libjava/classpath/java/io/ObjectStreamField.java +++ b/libjava/classpath/java/io/ObjectStreamField.java @@ -1,5 +1,5 @@ /* ObjectStreamField.java -- Class used to store name and class of fields - Copyright (C) 1998, 1999, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,17 +48,24 @@ import java.security.PrivilegedAction; * This class intends to describe the field of a class for the serialization * subsystem. Serializable fields in a serializable class can be explicitly * exported using an array of ObjectStreamFields. + * + * @author Tom Tromey (tromey@redhat.com) + * @author Jeroen Frijters (jeroen@frijters.net) + * @author Guilhem Lavaux (guilhem@kaffe.org) + * @author Michael Koch (konqueror@gmx.de) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ -public class ObjectStreamField implements Comparable +public class ObjectStreamField + implements Comparable { private String name; - private Class type; + private Class type; private String typename; private int offset = -1; // XXX make sure this is correct private boolean unshared; private boolean persistent = false; private boolean toset = true; - private Field field; + Field field; ObjectStreamField (Field field) { @@ -74,7 +81,7 @@ public class ObjectStreamField implements Comparable * @param name Name of the field to export. * @param type Type of the field in the concerned class. */ - public ObjectStreamField (String name, Class type) + public ObjectStreamField (String name, Class type) { this (name, type, false); } @@ -88,7 +95,7 @@ public class ObjectStreamField implements Comparable * @param type Type of the field in the concerned class. * @param unshared true if field will be unshared, false otherwise. */ - public ObjectStreamField (String name, Class type, boolean unshared) + public ObjectStreamField (String name, Class type, boolean unshared) { if (name == null) throw new NullPointerException(); @@ -111,28 +118,10 @@ public class ObjectStreamField implements Comparable { this.name = name; this.typename = typename; - try - { - type = TypeSignature.getClassForEncoding(typename); - } - catch(ClassNotFoundException e) - { - } } - - /** - * There are many cases you can not get java.lang.Class from typename - * if your context class loader cann not load it, then use typename to - * construct the field. - * - * @param name Name of the field to export. - * @param typename The coded name of the type for this field. - * @param loader The class loader to use to resolve class names. - */ - ObjectStreamField (String name, String typename, ClassLoader loader) + + void resolveType(ClassLoader loader) { - this.name = name; - this.typename = typename; try { type = TypeSignature.getClassForEncoding(typename, true, loader); @@ -141,7 +130,7 @@ public class ObjectStreamField implements Comparable { } } - + /** * This method returns the name of the field represented by the * ObjectStreamField instance. @@ -159,7 +148,7 @@ public class ObjectStreamField implements Comparable * * @return A class representing the type of the field. */ - public Class getType () + public Class getType () { return type; } @@ -347,7 +336,7 @@ public class ObjectStreamField implements Comparable */ void checkFieldType() throws InvalidClassException { - Class ftype = field.getType(); + Class ftype = field.getType(); if (!ftype.isAssignableFrom(type)) throw new InvalidClassException diff --git a/libjava/classpath/java/io/OutputStreamWriter.java b/libjava/classpath/java/io/OutputStreamWriter.java index 572683834be..26363401f01 100644 --- a/libjava/classpath/java/io/OutputStreamWriter.java +++ b/libjava/classpath/java/io/OutputStreamWriter.java @@ -223,6 +223,7 @@ public class OutputStreamWriter extends Writer encoder.onMalformedInput(CodingErrorAction.REPLACE); encoder.onUnmappableCharacter(CodingErrorAction.REPLACE); outputBuffer = CharBuffer.allocate(BUFFER_SIZE); + encodingName = EncodingHelper.getOldCanonical(cs.name()); } /** @@ -240,6 +241,11 @@ public class OutputStreamWriter extends Writer this.out = out; encoder = enc; outputBuffer = CharBuffer.allocate(BUFFER_SIZE); + Charset cs = enc.charset(); + if (cs == null) + encodingName = "US-ASCII"; + else + encodingName = EncodingHelper.getOldCanonical(cs.name()); } /** diff --git a/libjava/classpath/java/io/PipedInputStream.java b/libjava/classpath/java/io/PipedInputStream.java index 523ae2c70d3..c0396d206c6 100644 --- a/libjava/classpath/java/io/PipedInputStream.java +++ b/libjava/classpath/java/io/PipedInputStream.java @@ -279,6 +279,10 @@ public class PipedInputStream extends InputStream if (closed) throw new IOException ("Pipe closed"); + // Don't block if nothing was requested. + if (len == 0) + return 0; + // If the buffer is empty, wait until there is something in the pipe // to read. try diff --git a/libjava/classpath/java/io/PipedReader.java b/libjava/classpath/java/io/PipedReader.java index 90fc10f672d..8a3363a6004 100644 --- a/libjava/classpath/java/io/PipedReader.java +++ b/libjava/classpath/java/io/PipedReader.java @@ -261,6 +261,10 @@ public class PipedReader extends Reader if (closed) throw new IOException ("Pipe closed"); + // Don't block if nothing was requested. + if (len == 0) + return 0; + // If the buffer is empty, wait until there is something in the pipe // to read. try diff --git a/libjava/classpath/java/io/PrintStream.java b/libjava/classpath/java/io/PrintStream.java index 98461db2ba8..2d747c8c8f4 100644 --- a/libjava/classpath/java/io/PrintStream.java +++ b/libjava/classpath/java/io/PrintStream.java @@ -39,6 +39,9 @@ exception statement from your version. */ package java.io; +import java.util.Locale; +import java.util.Formatter; + import gnu.classpath.SystemProperties; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 @@ -58,8 +61,9 @@ import gnu.classpath.SystemProperties; * * @author Aaron M. Renn (arenn@urbanophile.com) * @author Tom Tromey (tromey@cygnus.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ -public class PrintStream extends FilterOutputStream +public class PrintStream extends FilterOutputStream implements Appendable { /* Notice the implementation is quite similar to OutputStreamWriter. * This leads to some minor duplication, because neither inherits @@ -67,7 +71,7 @@ public class PrintStream extends FilterOutputStream // Line separator string. private static final char[] line_separator - = SystemProperties.getProperty("line.separator").toCharArray(); + = SystemProperties.getProperty("line.separator", "\n").toCharArray(); /** * Encoding name @@ -620,5 +624,51 @@ public class PrintStream extends FilterOutputStream setError (); } } -} // class PrintStream + /** @since 1.5 */ + public PrintStream append(char c) + { + print(c); + return this; + } + + /** @since 1.5 */ + public PrintStream append(CharSequence cs) + { + print(cs == null ? "null" : cs.toString()); + return this; + } + + /** @since 1.5 */ + public PrintStream append(CharSequence cs, int start, int end) + { + print(cs == null ? "null" : cs.subSequence(start, end).toString()); + return this; + } + + /** @since 1.5 */ + public PrintStream printf(String format, Object... args) + { + return format(format, args); + } + + /** @since 1.5 */ + public PrintStream printf(Locale locale, String format, Object... args) + { + return format(locale, format, args); + } + + /** @since 1.5 */ + public PrintStream format(String format, Object... args) + { + return format(Locale.getDefault(), format, args); + } + + /** @since 1.5 */ + public PrintStream format(Locale locale, String format, Object... args) + { + Formatter f = new Formatter(this, locale); + f.format(format, args); + return this; + } +} // class PrintStream diff --git a/libjava/classpath/java/io/PrintWriter.java b/libjava/classpath/java/io/PrintWriter.java index 5667e705004..5b4294cbaa7 100644 --- a/libjava/classpath/java/io/PrintWriter.java +++ b/libjava/classpath/java/io/PrintWriter.java @@ -1,5 +1,5 @@ /* PrintWriter.java -- prints primitive values and objects to a stream as text - Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation + Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation This file is part of GNU Classpath. @@ -37,6 +37,9 @@ exception statement from your version. */ package java.io; +import java.util.Locale; +import java.util.Formatter; + /* Written using "Java Class Libraries", 2nd edition, plus online * API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. @@ -636,5 +639,52 @@ public class PrintWriter extends Writer { write(str, 0, str.length()); } + + /** @since 1.5 */ + public PrintWriter append(char c) + { + write(c); + return this; + } + + /** @since 1.5 */ + public PrintWriter append(CharSequence cs) + { + write(cs == null ? "null" : cs.toString()); + return this; + } + + /** @since 1.5 */ + public PrintWriter append(CharSequence cs, int start, int end) + { + write(cs == null ? "null" : cs.subSequence(start, end).toString()); + return this; + } + + /** @since 1.5 */ + public PrintWriter printf(String format, Object... args) + { + return format(format, args); + } + + /** @since 1.5 */ + public PrintWriter printf(Locale locale, String format, Object... args) + { + return format(locale, format, args); + } + + /** @since 1.5 */ + public PrintWriter format(String format, Object... args) + { + return format(Locale.getDefault(), format, args); + } + + /** @since 1.5 */ + public PrintWriter format(Locale locale, String format, Object... args) + { + Formatter f = new Formatter(this, locale); + f.format(format, args); + return this; + } } diff --git a/libjava/classpath/java/io/RandomAccessFile.java b/libjava/classpath/java/io/RandomAccessFile.java index 84ee5dec01e..036fc8c6bda 100644 --- a/libjava/classpath/java/io/RandomAccessFile.java +++ b/libjava/classpath/java/io/RandomAccessFile.java @@ -38,7 +38,7 @@ exception statement from your version. */ package java.io; -import gnu.java.nio.channels.FileChannelImpl; +import gnu.java.nio.FileChannelImpl; import java.nio.channels.FileChannel; @@ -58,7 +58,7 @@ import java.nio.channels.FileChannel; * @author Aaron M. Renn (arenn@urbanophile.com) * @author Tom Tromey (tromey@cygnus.com) */ -public class RandomAccessFile implements DataOutput, DataInput +public class RandomAccessFile implements DataOutput, DataInput, Closeable { // The underlying file. @@ -122,7 +122,20 @@ public class RandomAccessFile implements DataOutput, DataInput s.checkWrite(fileName); } - ch = FileChannelImpl.create(file, fdmode); + try + { + ch = FileChannelImpl.create(file, fdmode); + } + catch (FileNotFoundException fnfe) + { + throw fnfe; + } + catch (IOException ioe) + { + FileNotFoundException fnfe = new FileNotFoundException(file.getPath()); + fnfe.initCause(ioe); + throw fnfe; + } fd = new FileDescriptor(ch); if ((fdmode & FileChannelImpl.WRITE) != 0) out = new DataOutputStream (new FileOutputStream (fd)); diff --git a/libjava/classpath/java/io/Reader.java b/libjava/classpath/java/io/Reader.java index 7970d9a2434..6da1813c6ca 100644 --- a/libjava/classpath/java/io/Reader.java +++ b/libjava/classpath/java/io/Reader.java @@ -1,5 +1,5 @@ /* Reader.java -- base class of classes that read input as a stream of chars - Copyright (C) 1998, 1999, 2000, 2003 Free Software Foundation + Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005 Free Software Foundation This file is part of GNU Classpath. @@ -37,6 +37,8 @@ exception statement from your version. */ package java.io; +import java.nio.CharBuffer; + /* Written using "Java Class Libraries", 2nd edition, plus online * API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. @@ -53,7 +55,7 @@ package java.io; * @date April 21, 1998. * @author Aaron M. Renn (arenn@urbanophile.com) */ -public abstract class Reader +public abstract class Reader implements Closeable, Readable { /** * This is the Object used for synchronizing critical code @@ -152,6 +154,19 @@ public abstract class Reader return count > 0 ? buf[0] : -1; } + /** @since 1.5 */ + public int read(CharBuffer buffer) throws IOException + { + // We want to call put(), so we don't manipulate the CharBuffer + // directly. + int rem = buffer.remaining(); + char[] buf = new char[rem]; + int result = read(buf, 0, rem); + if (result != -1) + buffer.put(buf, 0, result); + return result; + } + /** * Closes the stream. Any futher attempts to read from the * stream may generate an IOException. diff --git a/libjava/classpath/java/io/SequenceInputStream.java b/libjava/classpath/java/io/SequenceInputStream.java index 7fefe243263..5ff85e9893f 100644 --- a/libjava/classpath/java/io/SequenceInputStream.java +++ b/libjava/classpath/java/io/SequenceInputStream.java @@ -1,5 +1,5 @@ /* SequenceInputStream.java -- Reads multiple input streams in sequence - Copyright (C) 1998, 1999, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,8 +71,11 @@ public class SequenceInputStream extends InputStream /** Secondary input stream; not used if constructed w/ enumeration. */ private InputStream in2; - /** The enumeration handle; not used if constructed w/ 2 explicit input streams. */ - private Enumeration e; + /** + * The enumeration handle; not used if constructed w/ 2 explicit + * input streams. + */ + private Enumeration e; /** * This method creates a new SequenceInputStream that obtains @@ -82,10 +85,10 @@ public class SequenceInputStream extends InputStream * @param e An Enumeration that will return a list of * InputStreams to read in sequence */ - public SequenceInputStream(Enumeration e) + public SequenceInputStream(Enumeration e) { this.e = e; - in = (InputStream) e.nextElement(); + in = e.nextElement(); in2 = null; } @@ -207,14 +210,13 @@ public class SequenceInputStream extends InputStream if (e != null) { if (e.hasMoreElements()) - nextIn = (InputStream) e.nextElement(); + nextIn = e.nextElement(); + } + else if (in2 != null) + { + nextIn = in2; + in2 = null; } - else - if (in2 != null) - { - nextIn = in2; - in2 = null; - } return nextIn; } diff --git a/libjava/classpath/java/io/StringWriter.java b/libjava/classpath/java/io/StringWriter.java index a1e9aeb6bd2..5a16e63ea7a 100644 --- a/libjava/classpath/java/io/StringWriter.java +++ b/libjava/classpath/java/io/StringWriter.java @@ -183,6 +183,27 @@ public class StringWriter extends Writer buffer.append(str.substring(offset, offset + len)); } + /** @since 1.5 */ + public StringWriter append(char c) + { + write(c); + return this; + } + + /** @since 1.5 */ + public StringWriter append(CharSequence cs) + { + write(cs == null ? "null" : cs.toString()); + return this; + } + + /** @since 1.5 */ + public StringWriter append(CharSequence cs, int start, int end) + { + write(cs == null ? "null" : cs.subSequence(start, end).toString()); + return this; + } + /** * This is the StringBuffer that we use to store bytes that * are written. diff --git a/libjava/classpath/java/io/Writer.java b/libjava/classpath/java/io/Writer.java index f153e31cfed..660b6908935 100644 --- a/libjava/classpath/java/io/Writer.java +++ b/libjava/classpath/java/io/Writer.java @@ -53,7 +53,7 @@ package java.io; * @author Aaron M. Renn (arenn@urbanophile.com) * @author Per Bothner (bothner@cygnus.com) */ -public abstract class Writer +public abstract class Writer implements Appendable, Closeable, Flushable { /** * This is the object used to synchronize criticial code sections for @@ -188,5 +188,24 @@ public abstract class Writer write(buf, 0, len); } -} // class Writer + /** @since 1.5 */ + public Writer append(char c) throws IOException + { + write(c); + return this; + } + /** @since 1.5 */ + public Writer append(CharSequence cs) throws IOException + { + write(cs == null ? "null" : cs.toString()); + return this; + } + + /** @since 1.5 */ + public Writer append(CharSequence cs, int start, int end) throws IOException + { + write(cs == null ? "null" : cs.subSequence(start, end).toString()); + return this; + } +} diff --git a/libjava/classpath/java/io/class-dependencies.conf b/libjava/classpath/java/io/class-dependencies.conf new file mode 100644 index 00000000000..633bb174941 --- /dev/null +++ b/libjava/classpath/java/io/class-dependencies.conf @@ -0,0 +1,100 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + +java/io/File: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V \ + java/lang/IllegalArgumentException.(Ljava/lang/String;)V + +java/io/FileDescriptor: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/lang/IllegalArgumentException.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V + +java/io/FileInputStream: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V \ + java/io/FileNotFoundException.(Ljava/lang/String;)V + +java/io/FileOutputStream: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/io/FileNotFoundException.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V + +java/io/ObjectInputStream: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/lang/SecurityManager.currentClassLoader()Ljava/lang/ClassLoader; \ + java/lang/IllegalArgumentException.(Ljava/lang/String;)V + +java/io/ObjectOutputStream: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/lang/SecurityManager.currentClassLoader()Ljava/lang/ClassLoader; \ + java/lang/IllegalArgumentException.(Ljava/lang/String;)V + +java/io/RandomAccessFile: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/io/FileNotFoundException.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V + +# end of file diff --git a/libjava/classpath/java/lang/Boolean.java b/libjava/classpath/java/lang/Boolean.java index 23992525c9d..2b0236d1b9b 100644 --- a/libjava/classpath/java/lang/Boolean.java +++ b/libjava/classpath/java/lang/Boolean.java @@ -1,5 +1,5 @@ /* Boolean.java -- object wrapper for boolean - Copyright (C) 1998, 2001, 2002, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,7 +49,7 @@ import java.io.Serializable; * @since 1.0 * @status updated to 1.5 */ -public final class Boolean implements Serializable, Comparable +public final class Boolean implements Serializable, Comparable { /** * Compatible with JDK 1.0.2+. @@ -78,7 +78,7 @@ public final class Boolean implements Serializable, Comparable * * @since 1.1 */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('Z'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('Z'); /** * The immutable value of this Boolean. @@ -236,14 +236,6 @@ public final class Boolean implements Serializable, Comparable return value == other.value ? 0 : (value ? 1 : -1); } - /** - * Bridge method - */ - public int compareTo(Object other) - { - return compareTo((Boolean)other); - } - /** * If the String argument is "true", ignoring case, return true. * Otherwise, return false. @@ -255,5 +247,5 @@ public final class Boolean implements Serializable, Comparable { return "true".equalsIgnoreCase(b) ? true : false; } - + } diff --git a/libjava/classpath/java/lang/Byte.java b/libjava/classpath/java/lang/Byte.java index 2560bfcffc3..7f53a494b95 100644 --- a/libjava/classpath/java/lang/Byte.java +++ b/libjava/classpath/java/lang/Byte.java @@ -1,5 +1,5 @@ /* Byte.java -- object wrapper for byte - Copyright (C) 1998, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,10 +49,12 @@ package java.lang; * @author John Keiser * @author Per Bothner * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.1 * @status updated to 1.5 */ -public final class Byte extends Number implements Comparable +public final class Byte extends Number implements Comparable { /** * Compatible with JDK 1.1+. @@ -75,7 +77,7 @@ public final class Byte extends Number implements Comparable * The primitive type byte is represented by this * Class object. */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('B'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('B'); /** * The number of bits needed to represent a byte. @@ -87,6 +89,7 @@ public final class Byte extends Number implements Comparable // valueOf(). We're required to cache all possible values here. private static Byte[] byteCache = new Byte[MAX_VALUE - MIN_VALUE + 1]; + /** * The immutable value of this Byte. * @@ -208,20 +211,18 @@ public final class Byte extends Number implements Comparable * * @param val the value to wrap * @return the Byte - * - * @since 1.5 */ public static Byte valueOf(byte val) { synchronized (byteCache) { - if (byteCache[val - MIN_VALUE] == null) - byteCache[val - MIN_VALUE] = new Byte(val); - return byteCache[val - MIN_VALUE]; + if (byteCache[val - MIN_VALUE] == null) + byteCache[val - MIN_VALUE] = new Byte(val); + return byteCache[val - MIN_VALUE]; } } - /** + /** * Convert the specified String into a Byte. * The String may represent decimal, hexadecimal, or * octal numbers. @@ -369,19 +370,4 @@ public final class Byte extends Number implements Comparable return value - b.value; } - /** - * Behaves like compareTo(Byte) unless the Object - * is not a Byte. - * - * @param o the object to compare - * @return the comparison - * @throws ClassCastException if the argument is not a Byte - * @see #compareTo(Byte) - * @see Comparable - * @since 1.2 - */ - public int compareTo(Object o) - { - return compareTo((Byte) o); - } } diff --git a/libjava/classpath/java/lang/Character.java b/libjava/classpath/java/lang/Character.java index 59ae12f7790..b9c6f24e79f 100644 --- a/libjava/classpath/java/lang/Character.java +++ b/libjava/classpath/java/lang/Character.java @@ -1,5 +1,5 @@ /* java.lang.Character -- Wrapper class for char, and Unicode subsets - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,11 +65,12 @@ import java.util.Locale; * @author Paul N. Fisher * @author Jochen Hoenicke * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see CharData * @since 1.0 - * @status updated to 1.4 + * @status partly updated to 1.5; some things still missing */ -public final class Character implements Serializable, Comparable +public final class Character implements Serializable, Comparable { /** * A subset of Unicode blocks. @@ -154,10 +155,8 @@ public final class Character implements Serializable, Comparable /** The canonical name of the block according to the Unicode standard. */ private final String canonicalName; - /** Constants for the forName() method */ - private static final int CANONICAL_NAME = 0; - private static final int NO_SPACES_NAME = 1; - private static final int CONSTANT_NAME = 2; + /** Enumeration for the forName() method */ + private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }; /** * Constructor for strictly defined blocks. @@ -169,7 +168,7 @@ public final class Character implements Serializable, Comparable * standard. */ private UnicodeBlock(int start, int end, String name, - String canonicalName) + String canonicalName) { super(name); this.start = start; @@ -203,8 +202,8 @@ public final class Character implements Serializable, Comparable public static UnicodeBlock of(int codePoint) { if (codePoint > MAX_CODE_POINT) - throw new IllegalArgumentException("The supplied integer value is " + - "too large to be a codepoint."); + throw new IllegalArgumentException("The supplied integer value is " + + "too large to be a codepoint."); // Simple binary search for the correct block. int low = 0; int hi = sets.length - 1; @@ -258,59 +257,51 @@ public final class Character implements Serializable, Comparable */ public static final UnicodeBlock forName(String blockName) { - int type; + NameType type; if (blockName.indexOf(' ') != -1) - type = CANONICAL_NAME; + type = NameType.CANONICAL; else if (blockName.indexOf('_') != -1) - type = CONSTANT_NAME; + type = NameType.CONSTANT; else - type = NO_SPACES_NAME; + type = NameType.NO_SPACES; Collator usCollator = Collator.getInstance(Locale.US); usCollator.setStrength(Collator.PRIMARY); /* Special case for deprecated blocks not in sets */ switch (type) { - case CANONICAL_NAME: + case CANONICAL: if (usCollator.compare(blockName, "Surrogates Area") == 0) return SURROGATES_AREA; break; - case NO_SPACES_NAME: + case NO_SPACES: if (usCollator.compare(blockName, "SurrogatesArea") == 0) return SURROGATES_AREA; break; - case CONSTANT_NAME: + case CONSTANT: if (usCollator.compare(blockName, "SURROGATES_AREA") == 0) return SURROGATES_AREA; break; } /* Other cases */ - int setLength = sets.length; switch (type) { - case CANONICAL_NAME: - for (int i = 0; i < setLength; i++) - { - UnicodeBlock block = sets[i]; - if (usCollator.compare(blockName, block.canonicalName) == 0) - return block; - } + case CANONICAL: + for (UnicodeBlock block : sets) + if (usCollator.compare(blockName, block.canonicalName) == 0) + return block; break; - case NO_SPACES_NAME: - for (int i = 0; i < setLength; i++) - { - UnicodeBlock block = sets[i]; - String nsName = block.canonicalName.replaceAll(" ",""); - if (usCollator.compare(blockName, nsName) == 0) - return block; - } - break; - case CONSTANT_NAME: - for (int i = 0; i < setLength; i++) - { - UnicodeBlock block = sets[i]; - if (usCollator.compare(blockName, block.toString()) == 0) - return block; - } + case NO_SPACES: + for (UnicodeBlock block : sets) + { + String nsName = block.canonicalName.replaceAll(" ",""); + if (usCollator.compare(blockName, nsName) == 0) + return block; + } + break; + case CONSTANT: + for (UnicodeBlock block : sets) + if (usCollator.compare(blockName, block.toString()) == 0) + return block; break; } throw new IllegalArgumentException("No Unicode block found for " + @@ -1513,10 +1504,11 @@ public final class Character implements Serializable, Comparable * this. These are also returned from calls to of(int) * and of(char). */ + @Deprecated public static final UnicodeBlock SURROGATES_AREA = new UnicodeBlock(0xD800, 0xDFFF, "SURROGATES_AREA", - "Surrogates Area"); + "Surrogates Area"); /** * The defined subsets. @@ -1978,12 +1970,79 @@ public final class Character implements Serializable, Comparable */ public static final char MAX_VALUE = '\uFFFF'; + /** + * The minimum Unicode 4.0 code point. This value is 0. + * @since 1.5 + */ + public static final int MIN_CODE_POINT = 0; + + /** + * The maximum Unicode 4.0 code point, which is greater than the range + * of the char data type. + * This value is 0x10FFFF. + * @since 1.5 + */ + public static final int MAX_CODE_POINT = 0x10FFFF; + + /** + * The minimum Unicode high surrogate code unit, or + * leading-surrogate, in the UTF-16 character encoding. + * This value is '\uD800'. + * @since 1.5 + */ + public static final char MIN_HIGH_SURROGATE = '\uD800'; + + /** + * The maximum Unicode high surrogate code unit, or + * leading-surrogate, in the UTF-16 character encoding. + * This value is '\uDBFF'. + * @since 1.5 + */ + public static final char MAX_HIGH_SURROGATE = '\uDBFF'; + + /** + * The minimum Unicode low surrogate code unit, or + * trailing-surrogate, in the UTF-16 character encoding. + * This value is '\uDC00'. + * @since 1.5 + */ + public static final char MIN_LOW_SURROGATE = '\uDC00'; + + /** + * The maximum Unicode low surrogate code unit, or + * trailing-surrogate, in the UTF-16 character encoding. + * This value is '\uDFFF'. + * @since 1.5 + */ + public static final char MAX_LOW_SURROGATE = '\uDFFF'; + + /** + * The minimum Unicode surrogate code unit in the UTF-16 character encoding. + * This value is '\uD800'. + * @since 1.5 + */ + public static final char MIN_SURROGATE = MIN_HIGH_SURROGATE; + + /** + * The maximum Unicode surrogate code unit in the UTF-16 character encoding. + * This value is '\uDFFF'. + * @since 1.5 + */ + public static final char MAX_SURROGATE = MAX_LOW_SURROGATE; + + /** + * The lowest possible supplementary Unicode code point (the first code + * point outside the basic multilingual plane (BMP)). + * This value is 0x10000. + */ + public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x10000; + /** * Class object representing the primitive char data type. * * @since 1.1 */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('C'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('C'); /** * The number of bits needed to represent a char. @@ -2378,7 +2437,7 @@ public final class Character implements Serializable, Comparable * Stores unicode attribute offset lookup table. Exploit package visibility * of String.value to avoid copying the array. * @see CharData#DATA - */ + */ private static final char[][] data = new char[][]{ String.zeroBasedStringValue(CharData.DATA[0]), @@ -2527,71 +2586,6 @@ public final class Character implements Serializable, Comparable */ private static final int MIRROR_MASK = 0x40; - /** - * Min value for supplementary code point. - * - * @since 1.5 - */ - public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x10000; - - /** - * Min value for code point. - * - * @since 1.5 - */ - public static final int MIN_CODE_POINT = 0; - - - /** - * Max value for code point. - * - * @since 1.5 - */ - public static final int MAX_CODE_POINT = 0x010ffff; - - - /** - * Minimum high surrogate code in UTF-16 encoding. - * - * @since 1.5 - */ - public static final char MIN_HIGH_SURROGATE = '\ud800'; - - /** - * Maximum high surrogate code in UTF-16 encoding. - * - * @since 1.5 - */ - public static final char MAX_HIGH_SURROGATE = '\udbff'; - - /** - * Minimum low surrogate code in UTF-16 encoding. - * - * @since 1.5 - */ - public static final char MIN_LOW_SURROGATE = '\udc00'; - - /** - * Maximum low surrogate code in UTF-16 encoding. - * - * @since 1.5 - */ - public static final char MAX_LOW_SURROGATE = '\udfff'; - - /** - * Minimum surrogate code in UTF-16 encoding. - * - * @since 1.5 - */ - public static final char MIN_SURROGATE = MIN_HIGH_SURROGATE; - - /** - * Maximum low surrogate code in UTF-16 encoding. - * - * @since 1.5 - */ - public static final char MAX_SURROGATE = MAX_LOW_SURROGATE; - /** * Grabs an attribute offset from the Unicode attribute database. The lower * 5 bits are the character type, the next 2 bits are flags, and the top @@ -2605,6 +2599,7 @@ public final class Character implements Serializable, Comparable * @see CharData#DATA * @see CharData#SHIFT */ + // Package visible for use in String. static char readCodePoint(int codePoint) { int plane = codePoint >>> 16; @@ -2778,7 +2773,7 @@ public final class Character implements Serializable, Comparable { return isTitleCase((int)ch); } - + /** * Determines if a character is a Unicode titlecase letter. For example, * the character "Lj" (Latin capital L with small letter j) is titlecase. @@ -3282,7 +3277,7 @@ public final class Character implements Serializable, Comparable | (1 << CURRENCY_SYMBOL) | (1 << CONNECTOR_PUNCTUATION))) != 0; } - + /** * Determines if a character can follow the first letter in * a Java identifier. This is the combination of isJavaLetter (isLetter, @@ -3468,6 +3463,7 @@ public final class Character implements Serializable, Comparable { return isIdentifierIgnorable((int)ch); } + /** * Determines if a character is ignorable in a Unicode identifier. This * includes the non-whitespace ISO control characters ('\u0000' @@ -3610,7 +3606,7 @@ public final class Character implements Serializable, Comparable return title[i + 1]; return toUpperCase(ch); } - + /** * Converts a Unicode character into its titlecase equivalent mapping. * If a mapping does not exist, then the character passed is returned. @@ -4103,6 +4099,7 @@ public final class Character implements Serializable, Comparable // The result will correctly be signed. return getDirectionality((int)ch); } + /** * Returns the Unicode directionality property of the character. This @@ -4197,23 +4194,6 @@ public final class Character implements Serializable, Comparable return value - anotherCharacter.value; } - /** - * Compares an object to this Character. Assuming the object is a - * Character object, this method performs the same comparison as - * compareTo(Character). - * - * @param o object to compare - * @return the comparison value - * @throws ClassCastException if o is not a Character object - * @throws NullPointerException if o is null - * @see #compareTo(Character) - * @since 1.2 - */ - public int compareTo(Object o) - { - return compareTo((Character) o); - } - /** * Returns an Character object wrapping the value. * In contrast to the Character constructor, this method @@ -4221,7 +4201,7 @@ public final class Character implements Serializable, Comparable * * @param val the value to wrap * @return the Character - * + * * @since 1.5 */ public static Character valueOf(char val) @@ -4230,9 +4210,9 @@ public final class Character implements Serializable, Comparable return new Character(val); synchronized (charCache) { - if (charCache[val - MIN_VALUE] == null) - charCache[val - MIN_VALUE] = new Character(val); - return charCache[val - MIN_VALUE]; + if (charCache[val - MIN_VALUE] == null) + charCache[val - MIN_VALUE] = new Character(val); + return charCache[val - MIN_VALUE]; } } diff --git a/libjava/classpath/java/lang/Class.java b/libjava/classpath/java/lang/Class.java index 090ac234a48..f44782f9692 100644 --- a/libjava/classpath/java/lang/Class.java +++ b/libjava/classpath/java/lang/Class.java @@ -42,17 +42,14 @@ import gnu.classpath.VMStackWalker; import gnu.java.lang.reflect.ClassSignatureParser; import java.io.InputStream; -import java.io.ObjectStreamClass; import java.io.Serializable; import java.lang.annotation.Annotation; -import java.lang.reflect.Array; +import java.lang.annotation.Inherited; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.GenericDeclaration; -import java.lang.reflect.GenericSignatureFormatError; import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.MalformedParameterizedTypeException; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -66,6 +63,7 @@ import java.security.PrivilegedAction; import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -97,11 +95,10 @@ import java.util.HashSet; * @author Eric Blake (ebb9@email.byu.edu) * @author Tom Tromey (tromey@redhat.com) * @author Andrew John Hughes (gnu_andrew@member.fsf.org) - * @author Tom Tromey (tromey@cygnus.com) * @since 1.0 * @see ClassLoader */ -public final class Class +public final class Class implements Serializable, Type, AnnotatedElement, GenericDeclaration { /** @@ -147,7 +144,7 @@ public final class Class final transient Object vmdata; /** newInstance() caches the default constructor */ - private transient Constructor constructor; + private transient Constructor constructor; /** * Class is non-instantiable from Java code; only the VM can create @@ -184,7 +181,7 @@ public final class Class * @throws ExceptionInInitializerError if the class loads, but an exception * occurs during initialization */ - public static Class forName(String name) throws ClassNotFoundException + public static Class forName(String name) throws ClassNotFoundException { return VMClass.forName(name, true, VMStackWalker.getCallingClassLoader()); } @@ -216,8 +213,8 @@ public final class Class * @see ClassLoader * @since 1.2 */ - public static Class forName(String name, boolean initialize, - ClassLoader classloader) + public static Class forName(String name, boolean initialize, + ClassLoader classloader) throws ClassNotFoundException { if (classloader == null) @@ -232,7 +229,7 @@ public final class Class sm.checkPermission(new RuntimePermission("getClassLoader")); } } - return VMClass.forName(name, initialize, classloader); + return (Class) VMClass.forName(name, initialize, classloader); } /** @@ -247,7 +244,7 @@ public final class Class * @throws SecurityException if the security check fails * @since 1.1 */ - public Class[] getClasses() + public Class[] getClasses() { memberAccessCheck(Member.PUBLIC); return internalGetClasses(); @@ -256,14 +253,14 @@ public final class Class /** * Like getClasses() but without the security checks. */ - private Class[] internalGetClasses() + private Class[] internalGetClasses() { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); list.addAll(Arrays.asList(getDeclaredClasses(true))); Class superClass = getSuperclass(); if (superClass != null) list.addAll(Arrays.asList(superClass.internalGetClasses())); - return (Class[])list.toArray(new Class[list.size()]); + return list.toArray(new Class[list.size()]); } /** @@ -307,7 +304,7 @@ public final class Class * @see Array * @since 1.1 */ - public Class getComponentType() + public Class getComponentType() { return VMClass.getComponentType (this); } @@ -326,7 +323,8 @@ public final class Class * @see #getConstructors() * @since 1.1 */ - public Constructor getConstructor(Class[] types) throws NoSuchMethodException + public Constructor getConstructor(Class... types) + throws NoSuchMethodException { memberAccessCheck(Member.PUBLIC); Constructor[] constructors = getDeclaredConstructors(true); @@ -351,7 +349,7 @@ public final class Class * @throws SecurityException if the security check fails * @since 1.1 */ - public Constructor[] getConstructors() + public Constructor[] getConstructors() { memberAccessCheck(Member.PUBLIC); return getDeclaredConstructors(true); @@ -371,7 +369,7 @@ public final class Class * @see #getDeclaredConstructors() * @since 1.1 */ - public Constructor getDeclaredConstructor(Class[] types) + public Constructor getDeclaredConstructor(Class... types) throws NoSuchMethodException { memberAccessCheck(Member.DECLARED); @@ -397,13 +395,13 @@ public final class Class * @throws SecurityException if the security check fails * @since 1.1 */ - public Class[] getDeclaredClasses() + public Class[] getDeclaredClasses() { memberAccessCheck(Member.DECLARED); return getDeclaredClasses(false); } - Class[] getDeclaredClasses (boolean publicOnly) + Class[] getDeclaredClasses (boolean publicOnly) { return VMClass.getDeclaredClasses (this, publicOnly); } @@ -420,13 +418,13 @@ public final class Class * @throws SecurityException if the security check fails * @since 1.1 */ - public Constructor[] getDeclaredConstructors() + public Constructor[] getDeclaredConstructors() { memberAccessCheck(Member.DECLARED); return getDeclaredConstructors(false); } - Constructor[] getDeclaredConstructors (boolean publicOnly) + Constructor[] getDeclaredConstructors (boolean publicOnly) { return VMClass.getDeclaredConstructors (this, publicOnly); } @@ -500,7 +498,7 @@ public final class Class * @see #getDeclaredMethods() * @since 1.1 */ - public Method getDeclaredMethod(String methodName, Class[] types) + public Method getDeclaredMethod(String methodName, Class... types) throws NoSuchMethodException { memberAccessCheck(Member.DECLARED); @@ -544,7 +542,7 @@ public final class Class * @return the declaring class of this class * @since 1.1 */ - public Class getDeclaringClass() + public Class getDeclaringClass() { return VMClass.getDeclaringClass (this); } @@ -597,7 +595,7 @@ public final class Class */ private Field[] internalGetFields() { - HashSet set = new HashSet(); + HashSet set = new HashSet(); set.addAll(Arrays.asList(getDeclaredFields(true))); Class[] interfaces = getInterfaces(); for (int i = 0; i < interfaces.length; i++) @@ -605,7 +603,7 @@ public final class Class Class superClass = getSuperclass(); if (superClass != null) set.addAll(Arrays.asList(superClass.internalGetFields())); - return (Field[])set.toArray(new Field[set.size()]); + return set.toArray(new Field[set.size()]); } /** @@ -633,7 +631,7 @@ public final class Class * * @return the interfaces this class directly implements */ - public Class[] getInterfaces() + public Class[] getInterfaces() { return VMClass.getInterfaces (this); } @@ -663,7 +661,7 @@ public final class Class { MethodKey m = (MethodKey) o; if (m.name.equals(name) && m.params.length == params.length - && m.returnType == returnType) + && m.returnType == returnType) { for (int i = 0; i < params.length; i++) { @@ -704,7 +702,7 @@ public final class Class * @see #getMethods() * @since 1.1 */ - public Method getMethod(String methodName, Class[] types) + public Method getMethod(String methodName, Class... types) throws NoSuchMethodException { memberAccessCheck(Member.PUBLIC); @@ -821,7 +819,7 @@ public final class Class */ private Method[] internalGetMethods() { - HashMap map = new HashMap(); + HashMap map = new HashMap(); Method[] methods; Class[] interfaces = getInterfaces(); for(int i = 0; i < interfaces.length; i++) @@ -846,7 +844,7 @@ public final class Class { map.put(new MethodKey(methods[i]), methods[i]); } - return (Method[])map.values().toArray(new Method[map.size()]); + return map.values().toArray(new Method[map.size()]); } /** @@ -1003,7 +1001,7 @@ public final class Class * * @return the direct superclass of this class */ - public Class getSuperclass() + public Class getSuperclass() { return VMClass.getSuperclass (this); } @@ -1033,7 +1031,7 @@ public final class Class * @throws NullPointerException if c is null * @since 1.1 */ - public boolean isAssignableFrom(Class c) + public boolean isAssignableFrom(Class c) { return VMClass.isAssignableFrom (this, c); } @@ -1103,11 +1101,11 @@ public final class Class * @throws ExceptionInInitializerError if class initialization caused by * this call fails with an exception */ - public Object newInstance() + public T newInstance() throws InstantiationException, IllegalAccessException { memberAccessCheck(Member.PUBLIC); - Constructor constructor; + Constructor constructor; synchronized(this) { constructor = this.constructor; @@ -1307,12 +1305,11 @@ public final class Class * type, U. * @since 1.5 */ - /* FIXME[GENERICS]: Should be Class asSubClass(Class klass */ - public Class asSubclass(Class klass) + public Class asSubclass(Class klass) { if (! klass.isAssignableFrom(this)) throw new ClassCastException(); - return this; /* FIXME[GENERICS]: Should cast to Class */ + return (Class) this; } /** @@ -1322,12 +1319,11 @@ public final class Class * @throws ClassCastException if obj is not an instance of this class * @since 1.5 */ - /* FIXME[GENERICS]: Should be T cast(Object obj) */ - public Object cast(Object obj) + public T cast(Object obj) { if (obj != null && ! isInstance(obj)) throw new ClassCastException(); - return obj; /* FIXME[GENERICS]: Should be cast to T */ + return (T) obj; } /** @@ -1395,15 +1391,13 @@ public final class Class * class is not an enum. * @since 1.5 */ - /* FIXME[GENERICS]: T[] getEnumConstants() */ - public Object[] getEnumConstants() + public T[] getEnumConstants() { if (isEnum()) { try { - return (Object[]) - getMethod("values", new Class[0]).invoke(null, new Object[0]); + return (T[]) getMethod("values").invoke(null); } catch (NoSuchMethodException exception) { @@ -1490,14 +1484,13 @@ public final class Class * null if no such annotation exists. * @since 1.5 */ - /* FIXME[GENERICS]: T getAnnotation(Class ) */ - public Annotation getAnnotation(Class annotationClass) + public A getAnnotation(Class annotationClass) { - Annotation foundAnnotation = null; + A foundAnnotation = null; Annotation[] annotations = getAnnotations(); - for (int i = 0; i < annotations.length; i++) - if (annotations[i].annotationType() == annotationClass) - foundAnnotation = annotations[i]; + for (Annotation annotation : annotations) + if (annotation.annotationType() == annotationClass) + foundAnnotation = (A) annotation; return foundAnnotation; } @@ -1514,15 +1507,22 @@ public final class Class */ public Annotation[] getAnnotations() { - HashSet set = new HashSet(); - set.addAll(Arrays.asList(getDeclaredAnnotations())); - Class[] interfaces = getInterfaces(); - for (int i = 0; i < interfaces.length; i++) - set.addAll(Arrays.asList(interfaces[i].getAnnotations())); - Class superClass = getSuperclass(); - if (superClass != null) - set.addAll(Arrays.asList(superClass.getAnnotations())); - return (Annotation[]) set.toArray(new Annotation[set.size()]); + HashMap map = new HashMap(); + for (Annotation a : getDeclaredAnnotations()) + map.put((Class) a.annotationType(), a); + for (Class s = getSuperclass(); + s != null; + s = s.getSuperclass()) + { + for (Annotation a : s.getDeclaredAnnotations()) + { + Class k = (Class) a.annotationType(); + if (! map.containsKey(k) && k.isAnnotationPresent(Inherited.class)) + map.put(k, a); + } + } + Collection v = map.values(); + return v.toArray(new Annotation[v.size()]); } /** @@ -1588,8 +1588,7 @@ public final class Class * a top-level class. * @since 1.5 */ - /* FIXME[GENERICS]: Should return Class */ - public Class getEnclosingClass() + public Class getEnclosingClass() { return VMClass.getEnclosingClass(this); } @@ -1605,8 +1604,7 @@ public final class Class * is returned. * @since 1.5 */ - /* FIXME[GENERICS]: Should return Constructor */ - public Constructor getEnclosingConstructor() + public Constructor getEnclosingConstructor() { return VMClass.getEnclosingConstructor(this); } @@ -1731,12 +1729,11 @@ public final class Class * specification, version 3. * @since 1.5 */ - /* FIXME[GENERICS]: Should return TypeVariable> */ - public TypeVariable[] getTypeParameters() + public TypeVariable>[] getTypeParameters() { String sig = VMClass.getClassSignature(this); if (sig == null) - return new TypeVariable[0]; + return (TypeVariable>[])new TypeVariable[0]; ClassSignatureParser p = new ClassSignatureParser(this, sig); return p.getTypeParameters(); @@ -1751,8 +1748,7 @@ public final class Class * @return true if an annotation exists for the specified type. * @since 1.5 */ - /* FIXME[GENERICS]: Should be Class */ - public boolean isAnnotationPresent(Class + public boolean isAnnotationPresent(Class annotationClass) { return getAnnotation(annotationClass) != null; diff --git a/libjava/classpath/java/lang/ClassLoader.java b/libjava/classpath/java/lang/ClassLoader.java index 83ef98da342..3d7c32cc935 100644 --- a/libjava/classpath/java/lang/ClassLoader.java +++ b/libjava/classpath/java/lang/ClassLoader.java @@ -120,7 +120,6 @@ import java.util.StringTokenizer; * @author Eric Blake (ebb9@email.byu.edu) * @see Class * @since 1.0 - * @status still missing 1.4 functionality */ public abstract class ClassLoader { @@ -128,7 +127,7 @@ public abstract class ClassLoader * All packages defined by this classloader. It is not private in order to * allow native code (and trusted subclasses) access to this field. */ - final HashMap definedPackages = new HashMap(); + final HashMap definedPackages = new HashMap(); /** * The classloader that is consulted before this classloader. @@ -227,7 +226,7 @@ public abstract class ClassLoader * by the null key. This map must be synchronized on this instance. */ // Package visible for use by Class. - Map packageAssertionStatus; + Map packageAssertionStatus; /** * The map of class assertion status overrides, or null if no class @@ -236,7 +235,7 @@ public abstract class ClassLoader * instance. */ // Package visible for use by Class. - Map classAssertionStatus; + Map classAssertionStatus; /** * VM private data. @@ -289,7 +288,7 @@ public abstract class ClassLoader * @return the loaded class * @throws ClassNotFoundException if the class cannot be found */ - public Class loadClass(String name) throws ClassNotFoundException + public Class loadClass(String name) throws ClassNotFoundException { return loadClass(name, false); } @@ -314,11 +313,11 @@ public abstract class ClassLoader * @return the loaded class * @throws ClassNotFoundException if the class cannot be found */ - protected synchronized Class loadClass(String name, boolean resolve) + protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { // Have we already loaded this class? - Class c = findLoadedClass(name); + Class c = findLoadedClass(name); if (c == null) { // Can the class be loaded by a parent? @@ -335,11 +334,11 @@ public abstract class ClassLoader return parent.loadClass(name, resolve); } } - catch (ClassNotFoundException e) + catch (ClassNotFoundException e) { } - // Still not found, we have to do it ourself. - c = findClass(name); + // Still not found, we have to do it ourself. + c = findClass(name); } if (resolve) resolveClass(c); @@ -388,7 +387,7 @@ public abstract class ClassLoader * @throws ClassNotFoundException when the class can not be found * @since 1.2 */ - protected Class findClass(String name) throws ClassNotFoundException + protected Class findClass(String name) throws ClassNotFoundException { throw new ClassNotFoundException(name); } @@ -406,7 +405,7 @@ public abstract class ClassLoader * offset + len exceeds data * @deprecated use {@link #defineClass(String, byte[], int, int)} instead */ - protected final Class defineClass(byte[] data, int offset, int len) + protected final Class defineClass(byte[] data, int offset, int len) throws ClassFormatError { return defineClass(null, data, offset, len); @@ -431,8 +430,8 @@ public abstract class ClassLoader * @throws SecurityException if name starts with "java." * @since 1.1 */ - protected final Class defineClass(String name, byte[] data, int offset, - int len) throws ClassFormatError + protected final Class defineClass(String name, byte[] data, int offset, + int len) throws ClassFormatError { return defineClass(name, data, offset, len, null); } @@ -460,9 +459,9 @@ public abstract class ClassLoader * do not match up * @since 1.2 */ - protected final synchronized Class defineClass(String name, byte[] data, - int offset, int len, - ProtectionDomain domain) + protected final synchronized Class defineClass(String name, byte[] data, + int offset, int len, + ProtectionDomain domain) throws ClassFormatError { checkInitialized(); @@ -493,8 +492,8 @@ public abstract class ClassLoader * do not match up * @since 1.5 */ - protected final Class defineClass(String name, ByteBuffer buf, - ProtectionDomain domain) + protected final Class defineClass(String name, ByteBuffer buf, + ProtectionDomain domain) throws ClassFormatError { byte[] data = new byte[buf.remaining()]; @@ -510,7 +509,7 @@ public abstract class ClassLoader * @throws NullPointerException if c is null * @throws LinkageError if linking fails */ - protected final void resolveClass(Class c) + protected final void resolveClass(Class c) { checkInitialized(); VMClassLoader.resolveClass(c); @@ -525,7 +524,7 @@ public abstract class ClassLoader * @return the found class * @throws ClassNotFoundException if the class cannot be found */ - protected final Class findSystemClass(String name) + protected final Class findSystemClass(String name) throws ClassNotFoundException { checkInitialized(); @@ -563,7 +562,7 @@ public abstract class ClassLoader * @param signers the signers to set * @since 1.1 */ - protected final void setSigners(Class c, Object[] signers) + protected final void setSigners(Class c, Object[] signers) { checkInitialized(); c.setSigners(signers); @@ -576,7 +575,7 @@ public abstract class ClassLoader * @return the found Class, or null if it is not found * @since 1.1 */ - protected final synchronized Class findLoadedClass(String name) + protected final synchronized Class findLoadedClass(String name) { checkInitialized(); return VMClassLoader.findLoadedClass(this, name); @@ -631,14 +630,14 @@ public abstract class ClassLoader * @since 1.2 * @specnote this was final prior to 1.5 */ - public Enumeration getResources(String name) throws IOException + public Enumeration getResources(String name) throws IOException { - Enumeration parentResources; + Enumeration parentResources; if (parent == null) parentResources = VMClassLoader.getResources(name); else parentResources = parent.getResources(name); - return new DoubleEnumeration(parentResources, findResources(name)); + return new DoubleEnumeration(parentResources, findResources(name)); } /** @@ -658,9 +657,9 @@ public abstract class ClassLoader * @throws IOException if I/O errors occur in the process * @since 1.2 */ - protected Enumeration findResources(String name) throws IOException + protected Enumeration findResources(String name) throws IOException { - return EmptyEnumeration.getInstance(); + return (Enumeration) EmptyEnumeration.getInstance(); } /** @@ -705,7 +704,8 @@ public abstract class ClassLoader * @throws IOException if I/O errors occur in the process * @since 1.2 */ - public static Enumeration getSystemResources(String name) throws IOException + public static Enumeration getSystemResources(String name) + throws IOException { return StaticData.systemClassLoader.getResources(name); } @@ -865,7 +865,7 @@ public abstract class ClassLoader { synchronized (definedPackages) { - p = (Package) definedPackages.get(name); + p = definedPackages.get(name); } } return p; @@ -955,7 +955,7 @@ public abstract class ClassLoader { if (packageAssertionStatus == null) packageAssertionStatus - = new HashMap(StaticData.systemPackageAssertionStatus); + = new HashMap(StaticData.systemPackageAssertionStatus); packageAssertionStatus.put(name, Boolean.valueOf(enabled)); } @@ -975,8 +975,8 @@ public abstract class ClassLoader boolean enabled) { if (classAssertionStatus == null) - classAssertionStatus = - new HashMap(StaticData.systemClassAssertionStatus); + classAssertionStatus + = new HashMap(StaticData.systemClassAssertionStatus); // The toString() hack catches null, as required. classAssertionStatus.put(name.toString(), Boolean.valueOf(enabled)); } @@ -994,8 +994,8 @@ public abstract class ClassLoader public synchronized void clearAssertionStatus() { defaultAssertionStatus = false; - packageAssertionStatus = new HashMap(); - classAssertionStatus = new HashMap(); + packageAssertionStatus = null; + classAssertionStatus = null; } /** @@ -1147,4 +1147,5 @@ public abstract class ClassLoader if (! initialized) throw new SecurityException("attempt to use uninitialized class loader"); } + } diff --git a/libjava/classpath/java/lang/Comparable.java b/libjava/classpath/java/lang/Comparable.java index a8afe1ec33e..4ad39af833a 100644 --- a/libjava/classpath/java/lang/Comparable.java +++ b/libjava/classpath/java/lang/Comparable.java @@ -1,5 +1,5 @@ /* Comparable.java -- Interface for comparaing objects to obtain an ordering - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -66,9 +66,9 @@ package java.lang; * @see java.util.TreeSet * @see java.util.TreeMap * @since 1.2 - * @status updated to 1.4 + * @status updated to 1.5 */ -public interface Comparable +public interface Comparable { /** * Compares this object with another, and returns a numerical result based @@ -94,5 +94,5 @@ public interface Comparable * @throws NullPointerException if o is null * @throws ClassCastException if o cannot be compared */ - int compareTo(Object o); + int compareTo(T o); } diff --git a/libjava/classpath/java/lang/Compiler.java b/libjava/classpath/java/lang/Compiler.java index 56fb951bbd9..0d990e93853 100644 --- a/libjava/classpath/java/lang/Compiler.java +++ b/libjava/classpath/java/lang/Compiler.java @@ -74,7 +74,7 @@ public final class Compiler * compilation failed, true if compilation succeeded * @throws NullPointerException if oneClass is null */ - public static boolean compileClass(Class oneClass) + public static boolean compileClass(Class oneClass) { return VMCompiler.compileClass(oneClass); } diff --git a/libjava/classpath/java/lang/Deprecated.java b/libjava/classpath/java/lang/Deprecated.java new file mode 100644 index 00000000000..a52abdb4ea2 --- /dev/null +++ b/libjava/classpath/java/lang/Deprecated.java @@ -0,0 +1,56 @@ +/* Deprecated - Annotation to mark elements as deprecated + Copyright (C) 2004, 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. */ + +package java.lang; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * This annotation is used as a marker to indicate that the annotated + * declaration is deprecated and should not be used in new code. + * This replaces the old "@deprecated" javadoc tag. + * + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +@Documented @Retention(RUNTIME) +public @interface Deprecated +{ +} diff --git a/libjava/classpath/java/lang/Double.java b/libjava/classpath/java/lang/Double.java index 03c56068921..c716203148b 100644 --- a/libjava/classpath/java/lang/Double.java +++ b/libjava/classpath/java/lang/Double.java @@ -1,5 +1,5 @@ /* Double.java -- object wrapper for double - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,10 +49,12 @@ package java.lang; * @author Paul Fisher * @author Andrew Haley (aph@cygnus.com) * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.0 - * @status updated to 1.4 + * @status partly updated to 1.5 */ -public final class Double extends Number implements Comparable +public final class Double extends Number implements Comparable { /** * Compatible with JDK 1.0+. @@ -98,7 +100,7 @@ public final class Double extends Number implements Comparable * Class object. * @since 1.1 */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('D'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('D'); /** * The immutable value of this Double. @@ -254,7 +256,6 @@ public final class Double extends Number implements Comparable * * @param val the value to wrap * @return the Double - * * @since 1.5 */ public static Double valueOf(double val) @@ -574,22 +575,6 @@ public final class Double extends Number implements Comparable return compare(value, d.value); } - /** - * Behaves like compareTo(Double) unless the Object - * is not an Double. - * - * @param o the object to compare - * @return the comparison - * @throws ClassCastException if the argument is not a Double - * @see #compareTo(Double) - * @see Comparable - * @since 1.2 - */ - public int compareTo(Object o) - { - return compare(value, ((Double) o).value); - } - /** * Behaves like new Double(x).compareTo(new Double(y)); in * other words this compares two doubles, special casing NaN and zero, diff --git a/libjava/classpath/java/lang/Enum.java b/libjava/classpath/java/lang/Enum.java index 5344d5c7201..f141619be4d 100644 --- a/libjava/classpath/java/lang/Enum.java +++ b/libjava/classpath/java/lang/Enum.java @@ -48,10 +48,8 @@ import java.lang.reflect.Field; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 */ -/* FIXME[GENERICS]: Should be Enum> - and Comparable */ -public abstract class Enum - implements Comparable, Serializable +public abstract class Enum> + implements Comparable, Serializable { /** @@ -62,13 +60,13 @@ public abstract class Enum /** * The name of this enum constant. */ - String name; + final String name; /** * The number of this enum constant. Each constant is given a number * which matches the order in which it was declared, starting with zero. */ - int ordinal; + final int ordinal; /** * This constructor is used by the compiler to create enumeration constants. @@ -91,8 +89,8 @@ public abstract class Enum * @exception IllegalArgumentException when there is no value s in * the enum etype. */ - /* FIXME[GENERICS]: Should be > S valueOf(Class) */ - public static Enum valueOf(Class etype, String s) + @SuppressWarnings("unchecked") + public static > S valueOf(Class etype, String s) { if (etype == null || s == null) throw new NullPointerException(); @@ -102,8 +100,7 @@ public abstract class Enum Field f = etype.getDeclaredField(s); if (! f.isEnumConstant()) throw new IllegalArgumentException(s); - /* FIXME[GENERICS]: Should cast to S */ - return (Enum) f.get(null); + return (S) f.get(null); } catch (NoSuchFieldException exception) { @@ -167,34 +164,13 @@ public abstract class Enum * @throws ClassCastException if e is not an enumeration * constant of the same class. */ - public final int compareTo(Enum e) + public final int compareTo(T e) { if (getDeclaringClass() != e.getDeclaringClass()) throw new ClassCastException(); return ordinal - e.ordinal; } - /** - * Returns an integer which represents the relative ordering of this - * enumeration constant. Enumeration constants are ordered by their - * ordinals, which represents their declaration order. So, comparing - * two identical constants yields zero, while one declared prior to - * this returns a positive integer and one declared after yields a - * negative integer. - * - * @param o the enumeration constant to compare. - * @return a negative integer if e.ordinal < this.ordinal, - * zero if e.ordinal == this.ordinal and a positive - * integer if e.ordinal > this.ordinal. - * @throws ClassCastException if e is not an enumeration - * constant of the same class. - */ - /* FIXME[GENERICS]: Remove this method */ - public final int compareTo(Object o) - { - return compareTo((Enum)o); - } - /** * Cloning of enumeration constants is prevented, to maintain their * singleton status. @@ -235,8 +211,7 @@ public abstract class Enum * * @return the type of this enumeration constant. */ - /* FIXME[GENERICS]: Should return Class */ - public final Class getDeclaringClass() + public final Class getDeclaringClass() { Class k = getClass(); // We might be in an anonymous subclass of the enum class, so go diff --git a/libjava/classpath/java/lang/EnumConstantNotPresentException.java b/libjava/classpath/java/lang/EnumConstantNotPresentException.java index 12b30fda599..4586c372cca 100644 --- a/libjava/classpath/java/lang/EnumConstantNotPresentException.java +++ b/libjava/classpath/java/lang/EnumConstantNotPresentException.java @@ -54,7 +54,7 @@ public class EnumConstantNotPresentException extends RuntimeException * The enum's type. Note that the name is fixed by the * serialization spec. */ - private Class enumType; + private Class enumType; /** * The name of the missing enum constant. Note that the name is @@ -68,7 +68,8 @@ public class EnumConstantNotPresentException extends RuntimeException * @param theEnum the enum's class * @param name the name of the missing enum constant */ - public EnumConstantNotPresentException(Class theEnum, String name) + public EnumConstantNotPresentException(Class theEnum, + String name) { super("enum " + theEnum + " is missing the constant " + name); enumType = theEnum; @@ -88,7 +89,7 @@ public class EnumConstantNotPresentException extends RuntimeException * Return the enum type which is missing a constant. * @return the enum type which is missing a constant */ - public Class enumType() + public Class enumType() { return enumType; } diff --git a/libjava/classpath/java/lang/Float.java b/libjava/classpath/java/lang/Float.java index dcd5b221197..1e85922be72 100644 --- a/libjava/classpath/java/lang/Float.java +++ b/libjava/classpath/java/lang/Float.java @@ -1,5 +1,5 @@ /* Float.java -- object wrapper for float - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,10 +49,12 @@ package java.lang; * @author Paul Fisher * @author Andrew Haley (aph@cygnus.com) * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.0 - * @status updated to 1.4 + * @status partly updated to 1.5 */ -public final class Float extends Number implements Comparable +public final class Float extends Number implements Comparable { /** * Compatible with JDK 1.0+. @@ -91,7 +93,7 @@ public final class Float extends Number implements Comparable * Class object. * @since 1.1 */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('F'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('F'); /** * The number of bits needed to represent a float. @@ -281,7 +283,6 @@ public final class Float extends Number implements Comparable * * @param val the value to wrap * @return the Float - * * @since 1.5 */ public static Float valueOf(float val) @@ -583,22 +584,6 @@ public final class Float extends Number implements Comparable return compare(value, f.value); } - /** - * Behaves like compareTo(Float) unless the Object - * is not an Float. - * - * @param o the object to compare - * @return the comparison - * @throws ClassCastException if the argument is not a Float - * @see #compareTo(Float) - * @see Comparable - * @since 1.2 - */ - public int compareTo(Object o) - { - return compare(value, ((Float) o).value); - } - /** * Behaves like new Float(x).compareTo(new Float(y)); in * other words this compares two floats, special casing NaN and zero, diff --git a/libjava/classpath/java/lang/InheritableThreadLocal.java b/libjava/classpath/java/lang/InheritableThreadLocal.java index b9c7624ef44..2079a4c20ff 100644 --- a/libjava/classpath/java/lang/InheritableThreadLocal.java +++ b/libjava/classpath/java/lang/InheritableThreadLocal.java @@ -1,5 +1,5 @@ /* InheritableThreadLocal -- a ThreadLocal which inherits values across threads - Copyright (C) 2000, 2001, 2002, 2003, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,12 +54,15 @@ import java.util.Iterator; * * @author Mark Wielaard (mark@klomp.org) * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see ThreadLocal * @since 1.2 * @status updated to 1.4 */ -public class InheritableThreadLocal extends ThreadLocal +public class InheritableThreadLocal extends ThreadLocal { + /** * Creates a new InheritableThreadLocal that has no values associated * with it yet. @@ -77,7 +80,7 @@ public class InheritableThreadLocal extends ThreadLocal * the moment of creation of the child * @return the initial value for the child thread */ - protected Object childValue(Object parentValue) + protected T childValue(T parentValue) { return parentValue; } @@ -85,7 +88,7 @@ public class InheritableThreadLocal extends ThreadLocal /** * Generates the childValues of all InheritableThreadLocals * that are in the heritage of the current Thread for the newly created - * childThread. Should be called from the contructor Thread. + * childThread. Should be called from the constructor Thread. * * @param childThread the newly created thread, to inherit from this thread * @see Thread#Thread(ThreadGroup, Runnable, String) @@ -102,14 +105,14 @@ public class InheritableThreadLocal extends ThreadLocal Object key = keys.next(); if (key instanceof InheritableThreadLocal) { - InheritableThreadLocal local = (InheritableThreadLocal)key; + InheritableThreadLocal local = (InheritableThreadLocal)key; Object parentValue = parentThread.locals.get(key); - Object childValue = local.childValue(parentValue == NULL - ? null : parentValue); + Object childValue = local.childValue(parentValue == sentinel + ? null : parentValue); if (childThread.locals == null) childThread.locals = new WeakIdentityHashMap(); childThread.locals.put(key, (childValue == null - ? NULL : childValue)); + ? sentinel : childValue)); } } } diff --git a/libjava/classpath/java/lang/Integer.java b/libjava/classpath/java/lang/Integer.java index f3fe85f5041..e38eb53edd3 100644 --- a/libjava/classpath/java/lang/Integer.java +++ b/libjava/classpath/java/lang/Integer.java @@ -51,10 +51,11 @@ package java.lang; * @author Warren Levy * @author Eric Blake (ebb9@email.byu.edu) * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.0 - * @status largely updated to 1.5 + * @status updated to 1.5 */ -public final class Integer extends Number implements Comparable +public final class Integer extends Number implements Comparable { /** * Compatible with JDK 1.0.2+. @@ -78,7 +79,7 @@ public final class Integer extends Number implements Comparable * Class object. * @since 1.1 */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('I'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('I'); /** * The number of bits needed to represent an int. @@ -525,22 +526,6 @@ public final class Integer extends Number implements Comparable return value > i.value ? 1 : -1; } - /** - * Behaves like compareTo(Integer) unless the Object - * is not an Integer. - * - * @param o the object to compare - * @return the comparison - * @throws ClassCastException if the argument is not an Integer - * @see #compareTo(Integer) - * @see Comparable - * @since 1.2 - */ - public int compareTo(Object o) - { - return compareTo((Integer) o); - } - /** * Return the number of bits set in x. * @param x value to examine diff --git a/libjava/classpath/java/lang/Iterable.java b/libjava/classpath/java/lang/Iterable.java index 35c426484bb..ea593e88e73 100644 --- a/libjava/classpath/java/lang/Iterable.java +++ b/libjava/classpath/java/lang/Iterable.java @@ -49,12 +49,12 @@ import java.util.*; * @author Tom Tromey * @since 1.5 */ -public interface Iterable +public interface Iterable { /** * Returns an iterator for the collection. * * @return an iterator. */ - Iterator iterator (); + Iterator iterator (); } diff --git a/libjava/classpath/java/lang/Long.java b/libjava/classpath/java/lang/Long.java index 74e2a52df7c..f0fbc904c36 100644 --- a/libjava/classpath/java/lang/Long.java +++ b/libjava/classpath/java/lang/Long.java @@ -1,5 +1,5 @@ /* Long.java -- object wrapper for long - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,10 +49,12 @@ package java.lang; * @author John Keiser * @author Warren Levy * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.0 * @status updated to 1.5 */ -public final class Long extends Number implements Comparable +public final class Long extends Number implements Comparable { /** * Compatible with JDK 1.0.2+. @@ -76,7 +78,7 @@ public final class Long extends Number implements Comparable * Class object. * @since 1.1 */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass ('J'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass ('J'); /** * The number of bits needed to represent a long. @@ -292,7 +294,6 @@ public final class Long extends Number implements Comparable * * @param val the value to wrap * @return the Long - * * @since 1.5 */ public static synchronized Long valueOf(long val) @@ -516,22 +517,6 @@ public final class Long extends Number implements Comparable return value > l.value ? 1 : -1; } - /** - * Behaves like compareTo(Long) unless the Object - * is not a Long. - * - * @param o the object to compare - * @return the comparison - * @throws ClassCastException if the argument is not a Long - * @see #compareTo(Long) - * @see Comparable - * @since 1.2 - */ - public int compareTo(Object o) - { - return compareTo((Long) o); - } - /** * Return the number of bits set in x. * @param x value to examine diff --git a/libjava/classpath/java/lang/Object.java b/libjava/classpath/java/lang/Object.java index 6212d7dfe72..fbd1dc77d9f 100644 --- a/libjava/classpath/java/lang/Object.java +++ b/libjava/classpath/java/lang/Object.java @@ -326,7 +326,7 @@ public class Object * * @return the class of this Object */ - public final Class getClass() + public final Class getClass() { return VMObject.getClass(this); } diff --git a/libjava/classpath/java/lang/Override.java b/libjava/classpath/java/lang/Override.java new file mode 100644 index 00000000000..16581045abf --- /dev/null +++ b/libjava/classpath/java/lang/Override.java @@ -0,0 +1,56 @@ +/* Override - Annotation to indicate that a method should be an override + Copyright (C) 2004 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. */ + +package java.lang; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; +import static java.lang.annotation.RetentionPolicy.SOURCE; +import static java.lang.annotation.ElementType.METHOD; + +/** + * This annotation is used as a marker to indicate that the annotated + * method declaration is intended to override another method in the + * class hierarchy. If this is not the case, the compiler will emit a + * warning. + * + * @since 1.5 + */ +@Retention(SOURCE) @Target(METHOD) +public @interface Override +{ +} diff --git a/libjava/classpath/java/lang/Package.java b/libjava/classpath/java/lang/Package.java index 38bb3240de4..1141a0722ee 100644 --- a/libjava/classpath/java/lang/Package.java +++ b/libjava/classpath/java/lang/Package.java @@ -345,14 +345,13 @@ public class Package * null if no such annotation exists. * @since 1.5 */ - /* FIXME[GENERICS]: T getAnnotation(Class ) */ - public Annotation getAnnotation(Class annotationClass) + public A getAnnotation(Class annotationClass) { - Annotation foundAnnotation = null; + A foundAnnotation = null; Annotation[] annotations = getAnnotations(); - for (int i = 0; i < annotations.length; i++) - if (annotations[i].annotationType() == annotationClass) - foundAnnotation = annotations[i]; + for (Annotation annotation : annotations) + if (annotation.annotationType() == annotationClass) + foundAnnotation = (A) annotation; return foundAnnotation; } @@ -406,8 +405,7 @@ public class Package * @return true if an annotation exists for the specified type. * @since 1.5 */ - /* FIXME[GENERICS]: Signature is Class */ - public boolean isAnnotationPresent(Class + public boolean isAnnotationPresent(Class annotationClass) { return getAnnotation(annotationClass) != null; diff --git a/libjava/classpath/java/lang/ProcessBuilder.java b/libjava/classpath/java/lang/ProcessBuilder.java new file mode 100644 index 00000000000..9ffe24cde16 --- /dev/null +++ b/libjava/classpath/java/lang/ProcessBuilder.java @@ -0,0 +1,337 @@ +/* ProcessBuilder.java - Represent spawned system process + 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. */ + + +package java.lang; + +import java.io.File; +import java.io.IOException; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + *

    + * This class is used to construct new operating system processes. + * A ProcessBuilder instance basically represent a + * template for a new process. Actual processes are generated from + * this template via use of the start() method, which + * may be invoked multiple times, with each invocation spawning a + * new process with the current attributes of the + * ProcessBuilder object. Each spawned process is + * independent of the ProcessBuilder object, and is + * unaffected by changes in its attributes. + *

    + *

    + * The following attributes define a process: + *

    + *
      + *
    • The working directory; the activities of a + * process begin with the current directory set to this. By default, + * this is the working directory of the current process, as defined + * by the user.dir property.
    • + *
    • The command which invokes the process. This + * usually consists of the name of the program binary followed by an + * arbitrary number of arguments. For example, find -type f + * invokes the find binary with the arguments "-type" and "f". + * The command is provided a list, the elements of which are defined in a + * system dependent manner; the layout is affected by expected operating + * system conventions. A common method is to split the command on each + * space within the string. Thus, find -type f forms a + * three element list. However, in some cases, the expectation is that + * this split is performed by the program itself; thus, the list consists + * of only two elements (the program name and its arguments).
    • + *
    • The environment map, which links environment + * variables to their corresponding values. The initial contents of the map + * are the current environment values i.e. it contains the contents of the + * map returned by System.getenv().
    • + *
    • The redirection flag, which specifies whether + * or not the contents of the error stream should be redirected to standard + * output. By default, this is false, and there are two output streams, one + * for normal data ({@link Process#getOutputStream()}) and one for error data + * ({@link Process#getErrorStream()}). When set to true, the two are merged, + * which simplifies the interleaving of the two streams. Data is read using + * the stream returned by {@link Process#getOutputStream()}, and the + * stream returned by {@link Process#getErrorStream()} throws an immediate + * end-of-file exception.
    • + *
    + *

    + * All checks on attribute validity are delayed until start() + * is called. ProcessBuilder objects are not + * synchronized; the user must provide external synchronization + * where multiple threads may interact with the same + * ProcessBuilder object. + *

    + * + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @see Process + * @see System#getenv() + * @since 1.5 + */ +public final class ProcessBuilder +{ + + /** + * The working directory of the process. + */ + private File directory = new File(System.getProperty("user.dir")); + + /** + * The command line syntax for invoking the process. + */ + private List command; + + /** + * The mapping of environment variables to values. + */ + private Map environment = + new System.EnvironmentMap(System.getenv()); + + /** + * A flag indicating whether to redirect the error stream to standard + * output. + */ + private boolean redirect = false; + + /** + * Constructs a new ProcessBuilder with the specified + * command being used to invoke the process. The list is used directly; + * external changes are reflected in the ProcessBuilder. + * + * @param command the name of the program followed by its arguments. + */ + public ProcessBuilder(List command) + { + this.command = command; + } + + /** + * Constructs a new ProcessBuilder with the specified + * command being used to invoke the process. This constructor + * simplifies creating a new ProcessBuilder by + * converting the provided series of constructor arguments into a + * list of command-line arguments. + * + * @param command the name of the program followed by its arguments. + */ + public ProcessBuilder(String... command) + { + this.command = Arrays.asList(command); + } + + /** + * Returns the current command line, used to invoke the process. + * The return value is simply a reference to the list of command + * line arguments used by the ProcessBuilder object; + * any changes made to it will be reflected in the operation of + * the ProcessBuilder. + * + * @return the list of command-line arguments. + */ + public List command() + { + return command; + } + + /** + * Sets the command-line arguments to those specified. The list is + * used directly; external changes are reflected in the + * ProcessBuilder. + * + * @param command the name of the program followed by its arguments. + * @return a reference to this process builder. + */ + public ProcessBuilder command(List command) + { + this.command = command; + return this; + } + + /** + * Sets the command-line arguments to those specified. + * This simplifies modifying the arguments by converting + * the provided series of constructor arguments into a + * list of command-line arguments. + * + * @param command the name of the program followed by its arguments. + * @return a reference to this process builder. + */ + public ProcessBuilder command(String... command) + { + this.command = Arrays.asList(command); + return this; + } + + /** + * Returns the working directory of the process. The + * returned value may be null; this + * indicates that the default behaviour of using the + * working directory of the current process should + * be adopted. + * + * @return the working directory. + */ + public File directory() + { + return directory; + } + + /** + * Sets the working directory to that specified. + * The supplied argument may be null, + * which indicates the default value should be used. + * The default is the working directory of the current + * process. + * + * @param directory the new working directory. + * @return a reference to this process builder. + */ + public ProcessBuilder directory(File directory) + { + this.directory = directory; + return this; + } + + /** + *

    + * Returns the system environment variables of the process. + * If the underlying system does not support environment variables, + * an empty map is returned. + *

    + *

    + * The returned map does not accept queries using + * null keys or values, or those of a type other than + * String. Attempts to pass in a null value will + * throw a NullPointerException. Types other than + * String throw a ClassCastException. + *

    + *

    + * As the returned map is generated using data from the underlying + * platform, it may not comply with the equals() + * and hashCode() contracts. It is also likely that + * the keys of this map will be case-sensitive. + *

    + *

    + * Modification of the map is reliant on the underlying platform; + * some may not allow any changes to the environment variables or + * may prevent certain values being used. Attempts to do so will + * throw an UnsupportedOperationException or + * IllegalArgumentException, respectively. + *

    + *

    + * Use of this method may require a security check for the + * RuntimePermission "getenv.*". + *

    + * + * @return a map of the system environment variables for the process. + * @throws SecurityException if the checkPermission method of + * an installed security manager prevents access to + * the system environment variables. + * @since 1.5 + */ + public Map environment() + { + return environment; + } + + /** + * Returns true if the output stream and error stream of the + * process will be merged to form one composite stream. The + * default return value is false. + * + * @return true if the output stream and error stream are to + * be merged. + */ + public boolean redirectErrorStream() + { + return redirect; + } + + /** + * Sets the error stream redirection flag. If set, the output + * and error streams are merged to form one composite stream. + * + * @param redirect the new value of the redirection flag. + * @return a reference to this process builder. + */ + public ProcessBuilder redirectErrorStream(boolean redirect) + { + this.redirect = redirect; + return this; + } + + /** + *

    + * Starts execution of a new process, based on the attributes of + * this ProcessBuilder object. This is the point + * at which the command-line arguments are checked. The list + * must be non-empty and contain only non-null string objects. + * The other attributes have default values which are used in + * cases where their values are not explicitly specified. + *

    + *

    + * If a security manager is in place, then the + * {@link SecurityManager#checkExec()} method is called to + * ensure that permission is given to execute the process. + *

    + *

    + * The execution of the process is system-dependent. Various + * exceptions may result, due to problems at the operating system + * level. These are all returned as a form of {@link IOException}. + *

    + * + * @return a Process object, representing the spawned + * subprocess. + * @throws IOException if a problem occurs with executing the process + * at the operating system level. + * @throws IndexOutOfBoundsException if the command to execute is + * actually an empty list. + * @throws NullPointerException if the command to execute is null + * or the list contains null elements. + * @throws SecurityException if a security manager exists and prevents + * execution of the subprocess. + */ + public Process start() throws IOException + { + SecurityManager sm = SecurityManager.current; // Be thread-safe! + if (sm != null) + sm.checkExec(command.get(0)); + return VMProcess.exec(command, environment, directory, redirect); + } +} diff --git a/libjava/classpath/java/lang/SecurityManager.java b/libjava/classpath/java/lang/SecurityManager.java index 999fe83dda1..61b4612b1aa 100644 --- a/libjava/classpath/java/lang/SecurityManager.java +++ b/libjava/classpath/java/lang/SecurityManager.java @@ -1,5 +1,5 @@ /* SecurityManager.java -- security checks for privileged actions - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -240,7 +240,7 @@ public class SecurityManager * @return the most recent non-system Class on the execution stack * @deprecated use {@link #checkPermission(Permission)} instead */ - protected Class currentLoadedClass() + protected Class currentLoadedClass() { int i = classLoaderDepth(); return i >= 0 ? getClassContext()[i] : null; @@ -983,7 +983,7 @@ public class SecurityManager * @see Member#PUBLIC * @since 1.1 */ - public void checkMemberAccess(Class c, int memberType) + public void checkMemberAccess(Class c, int memberType) { if (c == null) throw new NullPointerException(); diff --git a/libjava/classpath/java/lang/Short.java b/libjava/classpath/java/lang/Short.java index eb40cd9e0e6..41a31e26082 100644 --- a/libjava/classpath/java/lang/Short.java +++ b/libjava/classpath/java/lang/Short.java @@ -1,5 +1,5 @@ /* Short.java -- object wrapper for short - Copyright (C) 1998, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,10 +48,12 @@ package java.lang; * @author Paul Fisher * @author John Keiser * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.1 - * @status updated to 1.4 + * @status updated to 1.5 */ -public final class Short extends Number implements Comparable +public final class Short extends Number implements Comparable { /** * Compatible with JDK 1.1+. @@ -74,7 +76,7 @@ public final class Short extends Number implements Comparable * The primitive type short is represented by this * Class object. */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('S'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('S'); /** * The number of bits needed to represent a short. @@ -208,7 +210,6 @@ public final class Short extends Number implements Comparable * * @param val the value to wrap * @return the Short - * * @since 1.5 */ public static Short valueOf(short val) @@ -217,9 +218,9 @@ public final class Short extends Number implements Comparable return new Short(val); synchronized (shortCache) { - if (shortCache[val - MIN_CACHE] == null) - shortCache[val - MIN_CACHE] = new Short(val); - return shortCache[val - MIN_CACHE]; + if (shortCache[val - MIN_CACHE] == null) + shortCache[val - MIN_CACHE] = new Short(val); + return shortCache[val - MIN_CACHE]; } } @@ -370,22 +371,6 @@ public final class Short extends Number implements Comparable return value - s.value; } - /** - * Behaves like compareTo(Short) unless the Object - * is not a Short. - * - * @param o the object to compare - * @return the comparison - * @throws ClassCastException if the argument is not a Short - * @see #compareTo(Short) - * @see Comparable - * @since 1.2 - */ - public int compareTo(Object o) - { - return compareTo((Short)o); - } - /** * Reverse the bytes in val. * @since 1.5 diff --git a/libjava/classpath/java/lang/StrictMath.java b/libjava/classpath/java/lang/StrictMath.java index 0f066216787..ec74ca4133b 100644 --- a/libjava/classpath/java/lang/StrictMath.java +++ b/libjava/classpath/java/lang/StrictMath.java @@ -632,6 +632,94 @@ public final strictfp class StrictMath return y > 0 ? PI - (z - PI_L) : z - PI_L - PI; } + /** + * Returns the hyperbolic sine of x which is defined as + * (exp(x) - exp(-x)) / 2. + * + * Special cases: + *
      + *
    • If the argument is NaN, the result is NaN
    • + *
    • If the argument is positive infinity, the result is positive + * infinity.
    • + *
    • If the argument is negative infinity, the result is negative + * infinity.
    • + *
    • If the argument is zero, the result is zero.
    • + *
    + * + * @param x the argument to sinh + * @return the hyperbolic sine of x + * + * @since 1.5 + */ + public static double sinh(double x) + { + // Method : + // mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 + // 1. Replace x by |x| (sinh(-x) = -sinh(x)). + // 2. + // E + E/(E+1) + // 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) + // 2 + // + // 22 <= x <= lnovft : sinh(x) := exp(x)/2 + // lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) + // ln2ovft < x : sinh(x) := +inf (overflow) + + double t, w, h; + + long bits; + long h_bits; + long l_bits; + + // handle special cases + if (x != x) + return x; + if (x == Double.POSITIVE_INFINITY) + return Double.POSITIVE_INFINITY; + if (x == Double.NEGATIVE_INFINITY) + return Double.NEGATIVE_INFINITY; + + if (x < 0) + h = - 0.5; + else + h = 0.5; + + bits = Double.doubleToLongBits(x); + h_bits = getHighDWord(bits) & 0x7fffffffL; // ignore sign + l_bits = getLowDWord(bits); + + // |x| in [0, 22], return sign(x) * 0.5 * (E+E/(E+1)) + if (h_bits < 0x40360000L) // |x| < 22 + { + if (h_bits < 0x3e300000L) // |x| < 2^-28 + return x; // for tiny arguments return x + + t = expm1(abs(x)); + + if (h_bits < 0x3ff00000L) + return h * (2.0 * t - t * t / (t + 1.0)); + + return h * (t + t / (t + 1.0)); + } + + // |x| in [22, log(Double.MAX_VALUE)], return 0.5 * exp(|x|) + if (h_bits < 0x40862e42L) + return h * exp(abs(x)); + + // |x| in [log(Double.MAX_VALUE), overflowthreshold] + if ((h_bits < 0x408633ceL) + || ((h_bits == 0x408633ceL) && (l_bits <= 0x8fb9f87dL))) + { + w = exp(0.5 * abs(x)); + t = h * w; + + return t * w; + } + + // |x| > overflowthershold + return h * Double.POSITIVE_INFINITY; + } + /** * Returns the hyperbolic cosine of x, which is defined as * (exp(x) + exp(-x)) / 2. @@ -670,36 +758,36 @@ public final strictfp class StrictMath double t, w; long bits; - int hx; - int lx; + long hx; + long lx; // handle special cases if (x != x) - return Double.NaN; + return x; if (x == Double.POSITIVE_INFINITY) return Double.POSITIVE_INFINITY; if (x == Double.NEGATIVE_INFINITY) return Double.POSITIVE_INFINITY; bits = Double.doubleToLongBits(x); - hx = getHighDWord(bits) & 0x7fffffff; // ignore sign + hx = getHighDWord(bits) & 0x7fffffffL; // ignore sign lx = getLowDWord(bits); // |x| in [0, 0.5 * ln(2)], return 1 + expm1(|x|)^2 / (2 * exp(|x|)) - if (hx < 0x3fd62e43) + if (hx < 0x3fd62e43L) { t = expm1(abs(x)); w = 1.0 + t; // for tiny arguments return 1. - if (hx < 0x3c800000) + if (hx < 0x3c800000L) return w; return 1.0 + (t * t) / (w + w); } // |x| in [0.5 * ln(2), 22], return exp(|x|)/2 + 1 / (2 * exp(|x|)) - if (hx < 0x40360000) + if (hx < 0x40360000L) { t = exp(abs(x)); @@ -707,16 +795,13 @@ public final strictfp class StrictMath } // |x| in [22, log(Double.MAX_VALUE)], return 0.5 * exp(|x|) - if (hx < 0x40862e42) + if (hx < 0x40862e42L) return 0.5 * exp(abs(x)); // |x| in [log(Double.MAX_VALUE), overflowthreshold], // return exp(x/2)/2 * exp(x/2) - - // we need to force an unsigned <= compare, thus can not use lx. - if ((hx < 0x408633ce) - || ((hx == 0x408633ce) - && ((bits & 0x00000000ffffffffL) <= 0x8fb9f87dL))) + if ((hx < 0x408633ceL) + || ((hx == 0x408633ceL) && (lx <= 0x8fb9f87dL))) { w = exp(0.5 * abs(x)); t = 0.5 * w; @@ -728,14 +813,83 @@ public final strictfp class StrictMath return Double.POSITIVE_INFINITY; } + /** + * Returns the hyperbolic tangent of x, which is defined as + * (exp(x) - exp(-x)) / (exp(x) + exp(-x)), i.e. sinh(x) / cosh(x). + * + Special cases: + *
      + *
    • If the argument is NaN, the result is NaN
    • + *
    • If the argument is positive infinity, the result is 1.
    • + *
    • If the argument is negative infinity, the result is -1.
    • + *
    • If the argument is zero, the result is zero.
    • + *
    + * + * @param x the argument to tanh + * @return the hyperbolic tagent of x + * + * @since 1.5 + */ + public static double tanh(double x) + { + // Method : + // 0. tanh(x) is defined to be (exp(x) - exp(-x)) / (exp(x) + exp(-x)) + // 1. reduce x to non-negative by tanh(-x) = -tanh(x). + // 2. 0 <= x <= 2^-55 : tanh(x) := x * (1.0 + x) + // -t + // 2^-55 < x <= 1 : tanh(x) := -----; t = expm1(-2x) + // t + 2 + // 2 + // 1 <= x <= 22.0 : tanh(x) := 1 - ----- ; t=expm1(2x) + // t + 2 + // 22.0 < x <= INF : tanh(x) := 1. + + double t, z; + + long bits; + long h_bits; + + // handle special cases + if (x != x) + return x; + if (x == Double.POSITIVE_INFINITY) + return 1.0; + if (x == Double.NEGATIVE_INFINITY) + return -1.0; + + bits = Double.doubleToLongBits(x); + h_bits = getHighDWord(bits) & 0x7fffffffL; // ingnore sign + + if (h_bits < 0x40360000L) // |x| < 22 + { + if (h_bits < 0x3c800000L) // |x| < 2^-55 + return x * (1.0 + x); + + if (h_bits >= 0x3ff00000L) // |x| >= 1 + { + t = expm1(2.0 * abs(x)); + z = 1.0 - 2.0 / (t + 2.0); + } + else // |x| < 1 + { + t = expm1(-2.0 * abs(x)); + z = -t / (t + 2.0); + } + } + else // |x| >= 22 + z = 1.0; + + return (x >= 0) ? z : -z; + } + /** * Returns the lower two words of a long. This is intended to be * used like this: * getLowDWord(Double.doubleToLongBits(x)). */ - private static int getLowDWord(long x) + private static long getLowDWord(long x) { - return (int) (x & 0x00000000ffffffffL); + return x & 0x00000000ffffffffL; } /** @@ -743,19 +897,19 @@ public final strictfp class StrictMath * used like this: * getHighDWord(Double.doubleToLongBits(x)). */ - private static int getHighDWord(long x) + private static long getHighDWord(long x) { - return (int) ((x & 0xffffffff00000000L) >> 32); + return (x & 0xffffffff00000000L) >> 32; } /** * Returns a double with the IEEE754 bit pattern given in the lower * and higher two words lowDWord and highDWord. */ - private static double buildDouble(int lowDWord, int highDWord) + private static double buildDouble(long lowDWord, long highDWord) { - return Double.longBitsToDouble((((long) highDWord & 0xffffffffL) << 32) - | ((long) lowDWord & 0xffffffffL)); + return Double.longBitsToDouble(((highDWord & 0xffffffffL) << 32) + | (lowDWord & 0xffffffffL)); } /** @@ -788,12 +942,12 @@ public final strictfp class StrictMath double w; long bits; - int l; - int h; + long l; + long h; // handle the special cases if (x != x) - return Double.NaN; + return x; if (x == Double.POSITIVE_INFINITY) return Double.POSITIVE_INFINITY; if (x == Double.NEGATIVE_INFINITY) @@ -847,7 +1001,7 @@ public final strictfp class StrictMath s = t * t; // t * t is exact r = x / s; w = t + t; - r = (r - t) / (w + r); // r - s is exact + r = (r - t) / (w + r); // r - t is exact t = t + t * r; return negative ? -t : t; @@ -1008,8 +1162,8 @@ public final strictfp class StrictMath int k; long bits; - int h_bits; - int l_bits; + long h_bits; + long l_bits; c = 0.0; y = abs(x); @@ -1019,14 +1173,14 @@ public final strictfp class StrictMath l_bits = getLowDWord(bits); // handle special cases and large arguments - if (h_bits >= 0x4043687a) // if |x| >= 56 * ln(2) + if (h_bits >= 0x4043687aL) // if |x| >= 56 * ln(2) { - if (h_bits >= 0x40862e42) // if |x| >= EXP_LIMIT_H + if (h_bits >= 0x40862e42L) // if |x| >= EXP_LIMIT_H { - if (h_bits >= 0x7ff00000) + if (h_bits >= 0x7ff00000L) { - if (((h_bits & 0x000fffff) | (l_bits & 0xffffffff)) != 0) - return Double.NaN; // exp(NaN) = NaN + if (((h_bits & 0x000fffffL) | (l_bits & 0xffffffffL)) != 0) + return x; // exp(NaN) = NaN else return negative ? -1.0 : x; // exp({+-inf}) = {+inf, -1} } @@ -1040,9 +1194,9 @@ public final strictfp class StrictMath } // argument reduction - if (h_bits > 0x3fd62e42) // |x| > 0.5 * ln(2) + if (h_bits > 0x3fd62e42L) // |x| > 0.5 * ln(2) { - if (h_bits < 0x3ff0a2b2) // |x| < 1.5 * ln(2) + if (h_bits < 0x3ff0a2b2L) // |x| < 1.5 * ln(2) { if (negative) { @@ -1069,7 +1223,7 @@ public final strictfp class StrictMath c = (hi - x) - lo; } - else if (h_bits < 0x3c900000) // |x| < 2^-54 return x + else if (h_bits < 0x3c900000L) // |x| < 2^-54 return x return x; else k = 0; @@ -1124,7 +1278,7 @@ public final strictfp class StrictMath if (k < 20) { bits = Double.doubleToLongBits(t); - h_bits = 0x3ff00000 - (0x00200000 >> k); + h_bits = 0x3ff00000L - (0x00200000L >> k); l_bits = getLowDWord(bits); t = buildDouble(l_bits, h_bits); // t = 1 - 2^(-k) @@ -1141,7 +1295,7 @@ public final strictfp class StrictMath else { bits = Double.doubleToLongBits(t); - h_bits = (0x000003ff - k) << 20; + h_bits = (0x000003ffL - k) << 20; l_bits = getLowDWord(bits); t = buildDouble(l_bits, h_bits); // t = 2^(-k) diff --git a/libjava/classpath/java/lang/String.java b/libjava/classpath/java/lang/String.java index dbc3f7d8bf4..28b77c0aa56 100644 --- a/libjava/classpath/java/lang/String.java +++ b/libjava/classpath/java/lang/String.java @@ -1,5 +1,5 @@ /* String.java -- immutable character sequences; the object of string literals - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,6 +54,7 @@ import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.UnsupportedCharsetException; import java.text.Collator; import java.util.Comparator; +import java.util.Formatter; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -82,10 +83,13 @@ import java.util.regex.PatternSyntaxException; * @author Paul N. Fisher * @author Eric Blake (ebb9@email.byu.edu) * @author Per Bothner (bothner@cygnus.com) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.0 * @status updated to 1.4; but could use better data sharing via offset field */ -public final class String implements Serializable, Comparable, CharSequence +public final class String + implements Serializable, Comparable, CharSequence { // WARNING: String is a CORE class in the bootstrap cycle. See the comments // in vm/reference/java/lang/Runtime for implications of this fact. @@ -144,7 +148,7 @@ public final class String implements Serializable, Comparable, CharSequence * compatibility with Sun's JDK. */ private static final class CaseInsensitiveComparator - implements Comparator, Serializable + implements Comparator, Serializable { /** * Compatible with JDK 1.2. @@ -168,9 +172,9 @@ public final class String implements Serializable, Comparable, CharSequence * @throws ClassCastException if either argument is not a String * @see #compareToIgnoreCase(String) */ - public int compare(Object o1, Object o2) + public int compare(String o1, String o2) { - return ((String) o1).compareToIgnoreCase((String) o2); + return o1.compareToIgnoreCase(o2); } } // class CaseInsensitiveComparator @@ -182,7 +186,7 @@ public final class String implements Serializable, Comparable, CharSequence * @see Collator#compare(String, String) * @since 1.2 */ - public static final Comparator CASE_INSENSITIVE_ORDER + public static final Comparator CASE_INSENSITIVE_ORDER = new CaseInsensitiveComparator(); /** @@ -918,22 +922,6 @@ public final class String implements Serializable, Comparable, CharSequence return count - anotherString.count; } - /** - * Behaves like compareTo(java.lang.String) unless the Object - * is not a String. Then it throws a - * ClassCastException. - * - * @param o the object to compare against - * @return the comparison - * @throws NullPointerException if o is null - * @throws ClassCastException if o is not a String - * @since 1.2 - */ - public int compareTo(Object o) - { - return compareTo((String) o); - } - /** * Compares this String and another String (case insensitive). This * comparison is similar to equalsIgnoreCase, in that it ignores @@ -1674,7 +1662,6 @@ public final class String implements Serializable, Comparable, CharSequence * @return String containing the chars from data[offset..offset+count] * @throws NullPointerException if data is null * @throws IndexOutOfBoundsException if (offset < 0 || count < 0 - * || offset + count < 0 (overflow) * || offset + count > data.length) * (while unspecified, this is a StringIndexOutOfBoundsException) * @see #String(char[], int, int) @@ -1696,6 +1683,7 @@ public final class String implements Serializable, Comparable, CharSequence * @throws NullPointerException if data is null * @throws IndexOutOfBoundsException if (offset < 0 || count < 0 * || offset + count < 0 (overflow) + * || offset + count < 0 (overflow) * || offset + count > data.length) * (while unspecified, this is a StringIndexOutOfBoundsException) * @see #String(char[], int, int) @@ -1792,6 +1780,20 @@ public final class String implements Serializable, Comparable, CharSequence return Double.toString(d); } + + /** @since 1.5 */ + public static String format(Locale locale, String format, Object... args) + { + Formatter f = new Formatter(locale); + return f.format(format, args).toString(); + } + + /** @since 1.5 */ + public static String format(String format, Object... args) + { + return format(Locale.getDefault(), format, args); + } + /** * If two Strings are considered equal, by the equals() method, * then intern() will return the same String instance. ie. diff --git a/libjava/classpath/java/lang/StringBuffer.java b/libjava/classpath/java/lang/StringBuffer.java index caffd6e7050..3aa84a21e12 100644 --- a/libjava/classpath/java/lang/StringBuffer.java +++ b/libjava/classpath/java/lang/StringBuffer.java @@ -72,8 +72,12 @@ import java.io.Serializable; * @since 1.0 * @status updated to 1.4 */ -public final class StringBuffer implements Serializable, CharSequence +public final class StringBuffer + implements Serializable, CharSequence, Appendable { + // Implementation note: if you change this class, you usually will + // want to change StringBuilder as well. + /** * Compatible with JDK 1.0+. */ @@ -148,21 +152,22 @@ public final class StringBuffer implements Serializable, CharSequence } /** - * Create a new StringBuffer with the characters from the + * Create a new StringBuffer with the characters in the * specified CharSequence. Initial capacity will be the - * size of the CharSequence plus 16. + * length of the sequence plus 16; if the sequence reports a length + * less than or equal to 0, then the initial capacity will be 16. * - * @param sequence the String to convert + * @param seq the initializing CharSequence * @throws NullPointerException if str is null - * * @since 1.5 */ - public StringBuffer(CharSequence sequence) + public StringBuffer(CharSequence seq) { - count = Math.max(0, sequence.length()); + int len = seq.length(); + count = len <= 0 ? 0 : len; value = new char[count + DEFAULT_CAPACITY]; - for (int i = 0; i < count; ++i) - value[i] = sequence.charAt(i); + for (int i = 0; i < len; ++i) + value[i] = seq.charAt(i); } /** @@ -390,46 +395,6 @@ public final class StringBuffer implements Serializable, CharSequence return this; } - /** - * Append the CharSequence value of the argument to this - * StringBuffer. - * - * @param sequence the CharSequence to append - * @return this StringBuffer - * @see #append(Object) - * @since 1.5 - */ - public synchronized StringBuffer append(CharSequence sequence) - { - if (sequence == null) - sequence = "null"; - return append(sequence, 0, sequence.length()); - } - - /** - * Append the specified subsequence of the CharSequence - * argument to this StringBuffer. - * - * @param sequence the CharSequence to append - * @param start the starting index - * @param end one past the ending index - * @return this StringBuffer - * @see #append(Object) - * @since 1.5 - */ - public synchronized StringBuffer append(CharSequence sequence, - int start, int end) - { - if (sequence == null) - sequence = "null"; - if (start < 0 || end < 0 || start > end || end > sequence.length()) - throw new IndexOutOfBoundsException(); - ensureCapacity_unsynchronized(this.count + end - start); - for (int i = start; i < end; ++i) - value[count++] = sequence.charAt(i); - return this; - } - /** * Append the char array to this StringBuffer. * This is similar (but more efficient) than @@ -469,6 +434,25 @@ public final class StringBuffer implements Serializable, CharSequence return this; } + /** + * Append the code point to this StringBuffer. + * This is like #append(char), but will append two characters + * if a supplementary code point is given. + * + * @param code the code point to append + * @return this StringBuffer + * @see Character#toChars(int, char[], int) + * @since 1.5 + */ + public synchronized StringBuffer appendCodePoint(int code) + { + int len = Character.charCount(code); + ensureCapacity_unsynchronized(count + len); + Character.toChars(code, value, count); + count += len; + return this; + } + /** * Append the String value of the argument to this * StringBuffer. Uses String.valueOf() to convert @@ -497,21 +481,39 @@ public final class StringBuffer implements Serializable, CharSequence } /** - * Append the code point to this StringBuffer. - * This is like #append(char), but will append two characters - * if a supplementary code point is given. + * Append the characters in the CharSequence to this + * buffer. * - * @param code the code point to append + * @param seq the CharSequence providing the characters * @return this StringBuffer - * @see Character#toChars(int, char[], int) * @since 1.5 */ - public synchronized StringBuffer appendCodePoint(int code) + public synchronized StringBuffer append(CharSequence seq) { - int len = Character.charCount(code); - ensureCapacity_unsynchronized(count + len); - Character.toChars(code, value, count); - count += len; + return append(seq, 0, seq.length()); + } + + /** + * Append some characters from the CharSequence to this + * buffer. If the argument is null, the four characters "null" are + * appended. + * + * @param seq the CharSequence providing the characters + * @param start the starting index + * @param end one past the final index + * @return this StringBuffer + * @since 1.5 + */ + public synchronized StringBuffer append(CharSequence seq, int start, int end) + { + if (seq == null) + return append("null"); + if (end - start > 0) + { + ensureCapacity_unsynchronized(count + end - start); + for (; start < end; ++start) + value[count++] = seq.charAt(start); + } return this; } diff --git a/libjava/classpath/java/lang/StringBuilder.java b/libjava/classpath/java/lang/StringBuilder.java index 98af48f8fb0..95d04d1e766 100644 --- a/libjava/classpath/java/lang/StringBuilder.java +++ b/libjava/classpath/java/lang/StringBuilder.java @@ -74,9 +74,8 @@ import java.io.Serializable; * * @since 1.5 */ -// FIX15: Implement Appendable when co-variant methods are available public final class StringBuilder - implements Serializable, CharSequence + implements Serializable, CharSequence, Appendable { // Implementation note: if you change this class, you usually will // want to change StringBuffer as well. diff --git a/libjava/classpath/java/lang/SuppressWarnings.java b/libjava/classpath/java/lang/SuppressWarnings.java new file mode 100644 index 00000000000..35b01a85130 --- /dev/null +++ b/libjava/classpath/java/lang/SuppressWarnings.java @@ -0,0 +1,69 @@ +/* SuppressWarnings - Annotation to avoid compiler warnings + Copyright (C) 2004 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. */ + +package java.lang; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; +import static java.lang.annotation.RetentionPolicy.SOURCE; +import static java.lang.annotation.ElementType.*; + +/** + * Tell the compiler that a given warning should be suppressed when it + * pertains to the marked program element and its sub-elements. + * + * Note that warning suppression is additive. For instance if a + * constructor has a warning suppressed, and a local variable in the + * constructor has a different warning suppressed, then the resulting + * set of suppressed warnings for that variable will be both warnings. + * + * @since 1.5 + */ +@Retention(SOURCE) +@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) +public @interface SuppressWarnings +{ + /** + * The list of warnings to suppress. + * + * It is valid to list a name more than once. Unrecognized names + * are not a compile-time error. At the present there is no + * standard for the names to be recognized by compilers; consult + * your compiler's documentation for this information. + */ + String[] value (); +} diff --git a/libjava/classpath/java/lang/System.java b/libjava/classpath/java/lang/System.java index 19278aa32cd..ca390bf161b 100644 --- a/libjava/classpath/java/lang/System.java +++ b/libjava/classpath/java/lang/System.java @@ -44,6 +44,14 @@ import gnu.classpath.VMStackWalker; import java.io.InputStream; import java.io.PrintStream; +import java.util.AbstractCollection; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.Properties; import java.util.PropertyPermission; @@ -97,6 +105,11 @@ public final class System */ public static final PrintStream err = VMSystem.makeStandardErrorStream(); + /** + * A cached copy of the environment variable map. + */ + private static Map environmentMap; + /** * This class is uninstantiable. */ @@ -118,6 +131,7 @@ public final class System SecurityManager sm = SecurityManager.current; // Be thread-safe. if (sm != null) sm.checkPermission(new RuntimePermission("setIO")); + VMSystem.setIn(in); } @@ -134,8 +148,7 @@ public final class System { SecurityManager sm = SecurityManager.current; // Be thread-safe. if (sm != null) - sm.checkPermission(new RuntimePermission("setIO")); - + sm.checkPermission(new RuntimePermission("setIO")); VMSystem.setOut(out); } @@ -221,7 +234,7 @@ public final class System { return VMSystem.currentTimeMillis(); } - + /** *

    * Returns the current value of a nanosecond-precise system timer. @@ -492,6 +505,60 @@ public final class System return VMSystem.getenv(name); } + /** + *

    + * Returns an unmodifiable view of the system environment variables. + * If the underlying system does not support environment variables, + * an empty map is returned. + *

    + *

    + * The returned map is read-only and does not accept queries using + * null keys or values, or those of a type other than String. + * Attempts to modify the map will throw an + * UnsupportedOperationException, while attempts + * to pass in a null value will throw a + * NullPointerException. Types other than String + * throw a ClassCastException. + *

    + *

    + * As the returned map is generated using data from the underlying + * platform, it may not comply with the equals() + * and hashCode() contracts. It is also likely that + * the keys of this map will be case-sensitive. + *

    + *

    + * Use of this method may require a security check for the + * RuntimePermission "getenv.*". + *

    + * + * @return a map of the system environment variables. + * @throws SecurityException if the checkPermission method of + * an installed security manager prevents access to + * the system environment variables. + * @since 1.5 + */ + public static Map getenv() + { + SecurityManager sm = SecurityManager.current; // Be thread-safe. + if (sm != null) + sm.checkPermission(new RuntimePermission("getenv.*")); + if (environmentMap == null) + { + List environ = (List)VMSystem.environ(); + Map variables = new EnvironmentMap(); + for (String pair : environ) + { + String[] parts = pair.split("="); + if (parts.length == 2) + variables.put(parts[0], parts[1]); + else + variables.put(parts[0], ""); + } + environmentMap = Collections.unmodifiableMap(variables); + } + return environmentMap; + } + /** * Terminate the Virtual Machine. This just calls * Runtime.getRuntime().exit(status), and never returns. @@ -604,4 +671,419 @@ public final class System return VMRuntime.mapLibraryName(libname); } + + /** + * This is a specialised Collection, providing + * the necessary provisions for the collections used by the + * environment variable map. Namely, it prevents + * querying anything but Strings. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class EnvironmentCollection + extends AbstractCollection + { + + /** + * The wrapped collection. + */ + protected Collection c; + + /** + * Constructs a new environment collection, which + * wraps the elements of the supplied collection. + * + * @param coll the collection to use as a base for + * this collection. + */ + public EnvironmentCollection(Collection coll) + { + c = coll; + } + + /** + * Blocks queries containing a null object or an object which + * isn't of type String. All other queries + * are forwarded to the underlying collection. + * + * @param obj the object to look for. + * @return true if the object exists in the collection. + * @throws NullPointerException if the specified object is null. + * @throws ClassCastException if the specified object is not a String. + */ + public boolean contains(Object obj) + { + if (obj == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(obj instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + return c.contains(obj); + } + + /** + * Blocks queries where the collection contains a null object or + * an object which isn't of type String. All other + * queries are forwarded to the underlying collection. + * + * @param coll the collection of objects to look for. + * @return true if the collection contains all elements in the collection. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean containsAll(Collection coll) + { + for (Object o: coll) + { + if (o == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(o instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + } + return c.containsAll(coll); + } + + /** + * This returns an iterator over the map elements, with the + * same provisions as for the collection and underlying map. + * + * @return an iterator over the map elements. + */ + public Iterator iterator() + { + return c.iterator(); + } + + /** + * Blocks the removal of elements from the collection. + * + * @return true if the removal was sucessful. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean remove(Object key) + { + if (key == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(key instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + return c.contains(key); + } + + /** + * Blocks the removal of all elements in the specified + * collection from the collection. + * + * @param coll the collection of elements to remove. + * @return true if the elements were removed. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean removeAll(Collection coll) + { + for (Object o: coll) + { + if (o == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(o instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + } + return c.removeAll(coll); + } + + /** + * Blocks the retention of all elements in the specified + * collection from the collection. + * + * @param c the collection of elements to retain. + * @return true if the other elements were removed. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean retainAll(Collection coll) + { + for (Object o: coll) + { + if (o == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(o instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + } + return c.containsAll(coll); + } + + /** + * This simply calls the same method on the wrapped + * collection. + * + * @return the size of the underlying collection. + */ + public int size() + { + return c.size(); + } + + } // class EnvironmentCollection + + /** + * This is a specialised HashMap, which + * prevents the addition or querying of anything other than + * String objects. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + static class EnvironmentMap + extends HashMap + { + + /** + * Cache the entry set. + */ + private transient Set> entries; + + /** + * Cache the key set. + */ + private transient Set keys; + + /** + * Cache the value collection. + */ + private transient Collection values; + + /** + * Constructs a new empty EnvironmentMap. + */ + EnvironmentMap() + { + super(); + } + + /** + * Constructs a new EnvironmentMap containing + * the contents of the specified map. + * + * @param m the map to be added to this. + * @throws NullPointerException if a key or value is null. + * @throws ClassCastException if a key or value is not a String. + */ + EnvironmentMap(Map m) + { + super(m); + } + + /** + * Blocks queries containing a null key or one which is not + * of type String. All other queries + * are forwarded to the superclass. + * + * @param key the key to look for in the map. + * @return true if the key exists in the map. + * @throws NullPointerException if the specified key is null. + */ + public boolean containsKey(Object key) + { + if (key == null) + throw new + NullPointerException("This map does not support null keys."); + if (!(key instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.containsKey(key); + } + + /** + * Blocks queries using a null or non-String value. + * All other queries are forwarded to the superclass. + * + * @param value the value to look for in the map. + * @return true if the value exists in the map. + * @throws NullPointerException if the specified value is null. + */ + public boolean containsValue(Object value) + { + if (value == null) + throw new + NullPointerException("This map does not support null values."); + if (!(value instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.containsValue(value); + } + + /** + * Returns a set view of the map entries, with the same + * provisions as for the underlying map. + * + * @return a set containing the map entries. + */ + public Set> entrySet() + { + if (entries == null) + entries = super.entrySet(); + return entries; + } + + /** + * Blocks queries containing a null or non-String key. + * All other queries are passed on to the superclass. + * + * @param key the key to retrieve the value for. + * @return the value associated with the given key. + * @throws NullPointerException if the specified key is null. + * @throws ClassCastException if the specified key is not a String. + */ + public String get(Object key) + { + if (key == null) + throw new + NullPointerException("This map does not support null keys."); + if (!(key instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.get(key); + } + + /** + * Returns a set view of the keys, with the same + * provisions as for the underlying map. + * + * @return a set containing the keys. + */ + public Set keySet() + { + if (keys == null) + keys = new EnvironmentSet(super.keySet()); + return keys; + } + + /** + * Associates the given key to the given value. If the + * map already contains the key, its value is replaced. + * The map does not accept null keys or values, or keys + * and values not of type {@link String}. + * + * @param key the key to map. + * @param value the value to be mapped. + * @return the previous value of the key, or null if there was no mapping + * @throws NullPointerException if a key or value is null. + * @throws ClassCastException if a key or value is not a String. + */ + public String put(String key, String value) + { + if (key == null) + throw new NullPointerException("A new key is null."); + if (value == null) + throw new NullPointerException("A new value is null."); + if (!(key instanceof String)) + throw new ClassCastException("A new key is not a String."); + if (!(value instanceof String)) + throw new ClassCastException("A new value is not a String."); + return super.put(key, value); + } + + /** + * Removes a key-value pair from the map. The queried key may not + * be null or of a type other than a String. + * + * @param key the key of the entry to remove. + * @return the removed value. + * @throws NullPointerException if the specified key is null. + * @throws ClassCastException if the specified key is not a String. + */ + public String remove(Object key) + { + if (key == null) + throw new + NullPointerException("This map does not support null keys."); + if (!(key instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.remove(key); + } + + /** + * Returns a collection view of the values, with the same + * provisions as for the underlying map. + * + * @return a collection containing the values. + */ + public Collection values() + { + if (values == null) + values = new EnvironmentCollection(super.values()); + return values; + } + + } + + /** + * This is a specialised Set, providing + * the necessary provisions for the collections used by the + * environment variable map. Namely, it prevents + * modifications and the use of queries with null + * or non-String values. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class EnvironmentSet + extends EnvironmentCollection + implements Set + { + + /** + * Constructs a new environment set, which + * wraps the elements of the supplied set. + * + * @param set the set to use as a base for + * this set. + */ + public EnvironmentSet(Set set) + { + super(set); + } + + /** + * This simply calls the same method on the wrapped + * collection. + * + * @param obj the object to compare with. + * @return true if the two objects are equal. + */ + public boolean equals(Object obj) + { + return c.equals(obj); + } + + /** + * This simply calls the same method on the wrapped + * collection. + * + * @return the hashcode of the collection. + */ + public int hashCode() + { + return c.hashCode(); + } + + } // class EnvironmentSet + } // class System diff --git a/libjava/classpath/java/lang/Thread.java b/libjava/classpath/java/lang/Thread.java index 36b7c3303a9..01b380b67b5 100644 --- a/libjava/classpath/java/lang/Thread.java +++ b/libjava/classpath/java/lang/Thread.java @@ -143,6 +143,9 @@ public class Thread implements Runnable /** This thread's ID. */ private final long threadId; + + /** The park blocker. See LockSupport. */ + Object parkBlocker; /** The next thread number to use. */ private static int numAnonymousThreadsCreated; @@ -352,9 +355,9 @@ public class Thread implements Runnable if (group == null) { if (sm != null) - group = sm.getThreadGroup(); + group = sm.getThreadGroup(); if (group == null) - group = current.group; + group = current.group; } if (sm != null) sm.checkAccess(group); @@ -398,7 +401,7 @@ public class Thread implements Runnable this.vmThread = vmThread; this.runnable = null; if (name == null) - name = createAnonymousThreadName(); + name = createAnonymousThreadName(); this.name = name; this.priority = priority; this.daemon = daemon; @@ -413,11 +416,11 @@ public class Thread implements Runnable // (and, as above, the constructiong sequence calls Thread.currenThread()). contextClassLoaderIsSystemClassLoader = true; synchronized (Thread.class) - { - this.threadId = ++totalThreadsCreated; - } + { + this.threadId = ++totalThreadsCreated; + } } - + /** * Generate a name for an anonymous thread. */ @@ -466,7 +469,7 @@ public class Thread implements Runnable { VMThread t = vmThread; if (t == null || group == null) - throw new IllegalThreadStateException(); + throw new IllegalThreadStateException(); return t.countStackFrames(); } @@ -610,7 +613,7 @@ public class Thread implements Runnable checkAccess(); VMThread t = vmThread; if (t != null) - t.interrupt(); + t.interrupt(); } /** @@ -701,12 +704,12 @@ public class Thread implements Runnable */ public final void join(long ms, int ns) throws InterruptedException { - if(ms < 0 || ns < 0 || ns > 999999) - throw new IllegalArgumentException(); + if (ms < 0 || ns < 0 || ns > 999999) + throw new IllegalArgumentException(); VMThread t = vmThread; - if(t != null) - t.join(ms, ns); + if (t != null) + t.join(ms, ns); } /** @@ -724,7 +727,7 @@ public class Thread implements Runnable checkAccess(); VMThread t = vmThread; if (t != null) - t.resume(); + t.resume(); } /** @@ -828,9 +831,9 @@ public class Thread implements Runnable throw new NullPointerException(); VMThread t = vmThread; if (t != null) - t.setName(name); + t.setName(name); else - this.name = name; + this.name = name; } /** @@ -850,11 +853,13 @@ public class Thread implements Runnable * are no guarantees which thread will be next to run, but most VMs will * choose the highest priority thread that has been waiting longest. * - * @param ms the number of milliseconds to sleep. + * @param ms the number of milliseconds to sleep, or 0 for forever * @throws InterruptedException if the Thread is (or was) interrupted; * it's interrupted status will be cleared * @throws IllegalArgumentException if ms is negative * @see #interrupt() + * @see #notify() + * @see #wait(long) */ public static void sleep(long ms) throws InterruptedException { @@ -874,17 +879,18 @@ public class Thread implements Runnable * immediately when time expires, because some other thread may be * active. So don't expect real-time performance. * - * @param ms the number of milliseconds to sleep + * @param ms the number of milliseconds to sleep, or 0 for forever * @param ns the number of extra nanoseconds to sleep (0-999999) * @throws InterruptedException if the Thread is (or was) interrupted; * it's interrupted status will be cleared * @throws IllegalArgumentException if ms or ns is negative * or ns is larger than 999999. * @see #interrupt() + * @see #notify() + * @see #wait(long, int) */ public static void sleep(long ms, int ns) throws InterruptedException { - // Check parameters if (ms < 0 ) throw new IllegalArgumentException("Negative milliseconds: " + ms); @@ -909,7 +915,7 @@ public class Thread implements Runnable public synchronized void start() { if (vmThread != null || group == null) - throw new IllegalThreadStateException(); + throw new IllegalThreadStateException(); VMThread.create(this, stacksize); } @@ -1006,7 +1012,7 @@ public class Thread implements Runnable checkAccess(); VMThread t = vmThread; if (t != null) - t.suspend(); + t.suspend(); } /** @@ -1033,9 +1039,9 @@ public class Thread implements Runnable priority = Math.min(priority, group.getMaxPriority()); VMThread t = vmThread; if (t != null) - t.setPriority(priority); + t.setPriority(priority); else - this.priority = priority; + this.priority = priority; } /** @@ -1229,6 +1235,37 @@ public class Thread implements Runnable void uncaughtException(Thread thr, Throwable exc); } + /** + *

    + * Represents the current state of a thread, according to the VM rather + * than the operating system. It can be one of the following: + *

    + *
      + *
    • NEW -- The thread has just been created but is not yet running.
    • + *
    • RUNNABLE -- The thread is currently running or can be scheduled + * to run.
    • + *
    • BLOCKED -- The thread is blocked waiting on an I/O operation + * or to obtain a lock.
    • + *
    • WAITING -- The thread is waiting indefinitely for another thread + * to do something.
    • + *
    • TIMED_WAITING -- The thread is waiting for a specific amount of time + * for another thread to do something.
    • + *
    • TERMINATED -- The thread has exited.
    • + *
    + * + * @since 1.5 + */ + public enum State + { + BLOCKED, NEW, RUNNABLE, TERMINATED, TIMED_WAITING, WAITING; + + /** + * For compatability with Sun's JDK + */ + private static final long serialVersionUID = 605505746047245783L; + } + + /** * Returns the current state of the thread. This * is designed for monitoring thread behaviour, rather @@ -1236,14 +1273,14 @@ public class Thread implements Runnable * * @return the current thread state. */ - public String getState() + public State getState() { VMThread t = vmThread; if (t != null) - return t.getState(); + return State.valueOf(t.getState()); if (group == null) - return "TERMINATED"; - return "NEW"; + return State.TERMINATED; + return State.NEW; } /** @@ -1279,7 +1316,7 @@ public class Thread implements Runnable * @since 1.5 * @see #getStackTrace() */ - public static Map getAllStackTraces() + public static Map getAllStackTraces() { ThreadGroup group = currentThread().group; while (group.getParent() != null) diff --git a/libjava/classpath/java/lang/ThreadLocal.java b/libjava/classpath/java/lang/ThreadLocal.java index 64df8c3dd26..6c4ba176a41 100644 --- a/libjava/classpath/java/lang/ThreadLocal.java +++ b/libjava/classpath/java/lang/ThreadLocal.java @@ -1,5 +1,5 @@ /* ThreadLocal -- a variable with a unique value per thread - Copyright (C) 2000, 2002, 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -84,16 +84,16 @@ import java.util.Map; * @author Mark Wielaard (mark@klomp.org) * @author Eric Blake (ebb9@email.byu.edu) * @since 1.2 - * @status updated to 1.4 + * @status updated to 1.5 */ -public class ThreadLocal +public class ThreadLocal { /** * Placeholder to distinguish between uninitialized and null set by the * user. Do not expose this to the public. Package visible for use by * InheritableThreadLocal */ - static final Object NULL = new Object(); + static final Object sentinel = new Object(); /** * Creates a ThreadLocal object without associating any value to it yet. @@ -110,7 +110,7 @@ public class ThreadLocal * * @return the initial value of the variable in this thread */ - protected Object initialValue() + protected T initialValue() { return null; } @@ -123,18 +123,18 @@ public class ThreadLocal * * @return the value of the variable in this thread */ - public Object get() + public T get() { - Map map = Thread.getThreadLocals(); + Map,T> map = (Map,T>) Thread.getThreadLocals(); // Note that we don't have to synchronize, as only this thread will // ever modify the map. - Object value = map.get(this); + T value = map.get(this); if (value == null) { value = initialValue(); - map.put(this, value == null ? NULL : value); + map.put(this, (T) (value == null ? sentinel : value)); } - return value == NULL ? null : value; + return value == (T) sentinel ? null : value; } /** @@ -145,12 +145,12 @@ public class ThreadLocal * * @param value the value to set this thread's view of the variable to */ - public void set(Object value) + public void set(T value) { Map map = Thread.getThreadLocals(); // Note that we don't have to synchronize, as only this thread will // ever modify the map. - map.put(this, value == null ? NULL : value); + map.put(this, value == null ? sentinel : value); } /** diff --git a/libjava/classpath/java/lang/Void.java b/libjava/classpath/java/lang/Void.java index 15035426830..05ed98503fb 100644 --- a/libjava/classpath/java/lang/Void.java +++ b/libjava/classpath/java/lang/Void.java @@ -1,5 +1,5 @@ /* Void.class - defines void.class - Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,7 +49,7 @@ package java.lang; * @author John Keiser * @author Eric Blake (ebb9@email.byu.edu) * @since 1.1 - * @status updated to 1.4 + * @status updated to 1.5 */ public final class Void { @@ -57,7 +57,7 @@ public final class Void * The return type void is represented by this * Class object. */ - public static final Class TYPE = VMClassLoader.getPrimitiveClass('V'); + public static final Class TYPE = (Class) VMClassLoader.getPrimitiveClass('V'); /** * Void is non-instantiable. diff --git a/libjava/classpath/java/lang/annotation/Annotation.java b/libjava/classpath/java/lang/annotation/Annotation.java index 01e23930eea..cc334ec3bb6 100644 --- a/libjava/classpath/java/lang/annotation/Annotation.java +++ b/libjava/classpath/java/lang/annotation/Annotation.java @@ -54,8 +54,7 @@ public interface Annotation * * @return the class of which this annotation is an instance. */ - /* FIXME[GENERICS]: Should return Class */ - Class annotationType(); + Class annotationType(); /** *

    diff --git a/libjava/classpath/java/lang/annotation/Documented.java b/libjava/classpath/java/lang/annotation/Documented.java new file mode 100644 index 00000000000..9a51bc2f036 --- /dev/null +++ b/libjava/classpath/java/lang/annotation/Documented.java @@ -0,0 +1,50 @@ +/* Documented.java - Indicates documented source element + Copyright (C) 2004, 2005 Free Software Foundation + +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. */ + +package java.lang.annotation; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +@Documented @Retention(RUNTIME) +public @interface Documented +{ +} diff --git a/libjava/classpath/java/lang/annotation/ElementType.java b/libjava/classpath/java/lang/annotation/ElementType.java new file mode 100644 index 00000000000..3ab89c94610 --- /dev/null +++ b/libjava/classpath/java/lang/annotation/ElementType.java @@ -0,0 +1,59 @@ +/* ElementType.java - Enum listing Java source elements + Copyright (C) 2004 Free Software Foundation + +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. */ + +package java.lang.annotation; + +/** + * @since 1.5 + */ +public enum ElementType +{ + ANNOTATION_TYPE, + CONSTRUCTOR, + FIELD, + LOCAL_VARIABLE, + METHOD, + PACKAGE, + PARAMETER, + TYPE; + + /** + * For compatability with Sun's JDK + */ + private static final long serialVersionUID = 2798216111136361587L; + +} diff --git a/libjava/classpath/java/lang/annotation/IncompleteAnnotationException.java b/libjava/classpath/java/lang/annotation/IncompleteAnnotationException.java index a35df0c09b8..5b20650d1cf 100644 --- a/libjava/classpath/java/lang/annotation/IncompleteAnnotationException.java +++ b/libjava/classpath/java/lang/annotation/IncompleteAnnotationException.java @@ -58,7 +58,8 @@ public class IncompleteAnnotationException extends RuntimeException * @param type the type of annotation from which an element is missing. * @param name the name of the missing element. */ - public IncompleteAnnotationException(Class type, String name) + public IncompleteAnnotationException(Class type, + String name) { this.annotationType = type; this.elementName = name; @@ -70,7 +71,7 @@ public class IncompleteAnnotationException extends RuntimeException * * @return the type of annotation. */ - public Class annotationType() + public Class annotationType() { return annotationType; } @@ -94,7 +95,7 @@ public class IncompleteAnnotationException extends RuntimeException * @serial the type of the annotation from which an * element was missing. */ - private Class annotationType; + private Class annotationType; /** * The name of the missing element. diff --git a/libjava/classpath/java/lang/annotation/Inherited.java b/libjava/classpath/java/lang/annotation/Inherited.java new file mode 100644 index 00000000000..34acbf47ccc --- /dev/null +++ b/libjava/classpath/java/lang/annotation/Inherited.java @@ -0,0 +1,51 @@ +/* Inherited.java - Indicates inherited annotation + Copyright (C) 2004, 2005 Free Software Foundation + +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. */ + +package java.lang.annotation; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; + +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +@Documented @Retention(RUNTIME) @Target(ANNOTATION_TYPE) +public @interface Inherited +{ +} diff --git a/libjava/classpath/java/lang/annotation/Retention.java b/libjava/classpath/java/lang/annotation/Retention.java new file mode 100644 index 00000000000..8d8a79dbc36 --- /dev/null +++ b/libjava/classpath/java/lang/annotation/Retention.java @@ -0,0 +1,59 @@ +/* Retention.java - Retention policy for an annotation + Copyright (C) 2004, 2005 Free Software Foundation + +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. */ + +package java.lang.annotation; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; + +/** + * This annotation is used to specify the desired lifetime of another + * annotation. + * + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @see RetentionPolicy + * @since 1.5 + */ +@Documented @Retention(RUNTIME) @Target(ANNOTATION_TYPE) +public @interface Retention +{ + /** + * The value holds the lifetime of the annotation. + */ + RetentionPolicy value(); +} diff --git a/libjava/classpath/java/lang/annotation/RetentionPolicy.java b/libjava/classpath/java/lang/annotation/RetentionPolicy.java new file mode 100644 index 00000000000..56d2af1b7b3 --- /dev/null +++ b/libjava/classpath/java/lang/annotation/RetentionPolicy.java @@ -0,0 +1,66 @@ +/* RetentionPolicy.java - Enum listing lifetimes for an annotation + Copyright (C) 2004 Free Software Foundation + +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. */ + +package java.lang.annotation; + +/** + * This enum is used to control the lifetime of an annotation. + * + * @see Retention + * + * @since 1.5 + */ +public enum RetentionPolicy +{ + /** Indicates that the annotation should be stored in class files. */ + CLASS, + + /** Indicates that the annotation should be available at runtime. */ + RUNTIME, + + /** + * Indicates that the annotation should only be available when + * parsing the source code. + */ + SOURCE; + + /** + * For compatability with Sun's JDK + */ + private static final long serialVersionUID = -1700821648800605045L; + +} diff --git a/libjava/classpath/java/lang/annotation/Target.java b/libjava/classpath/java/lang/annotation/Target.java new file mode 100644 index 00000000000..c9d9686325e --- /dev/null +++ b/libjava/classpath/java/lang/annotation/Target.java @@ -0,0 +1,52 @@ +/* Target.java - Indicate where an annotation may be applied + Copyright (C) 2004, 2005 Free Software Foundation + +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. */ + +package java.lang.annotation; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; + +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +@Documented @Retention(RUNTIME) @Target(ANNOTATION_TYPE) +public @interface Target +{ + ElementType[] value(); +} diff --git a/libjava/classpath/java/lang/class-dependencies.conf b/libjava/classpath/java/lang/class-dependencies.conf new file mode 100644 index 00000000000..4fbf75eb1ce --- /dev/null +++ b/libjava/classpath/java/lang/class-dependencies.conf @@ -0,0 +1,58 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + +# end of file diff --git a/libjava/classpath/java/lang/instrument/ClassDefinition.java b/libjava/classpath/java/lang/instrument/ClassDefinition.java index 841597c31ed..f2fbf929667 100644 --- a/libjava/classpath/java/lang/instrument/ClassDefinition.java +++ b/libjava/classpath/java/lang/instrument/ClassDefinition.java @@ -60,8 +60,7 @@ public final class ClassDefinition * @param theClassFile the new class file * @throws NullPointerException if one of the argument is null */ - /* FIXME[GENERICS]: Signature should be (Class, byte[]) */ - public ClassDefinition(Class theClass, byte[] theClassFile) + public ClassDefinition(Class theClass, byte[] theClassFile) { if (theClass == null || theClassFile == null) throw new NullPointerException(); @@ -72,8 +71,7 @@ public final class ClassDefinition /** * @return the Class */ - /* FIXME[GENERICS]: Should return Class */ - public Class getDefinitionClass() + public Class getDefinitionClass() { return theClass; } diff --git a/libjava/classpath/java/lang/instrument/ClassFileTransformer.java b/libjava/classpath/java/lang/instrument/ClassFileTransformer.java index 68638d71971..01b2f8aaaf5 100644 --- a/libjava/classpath/java/lang/instrument/ClassFileTransformer.java +++ b/libjava/classpath/java/lang/instrument/ClassFileTransformer.java @@ -75,10 +75,9 @@ public interface ClassFileTransformer * @see Instrumentation#redefineClasses(java.lang.instrument.ClassDefinition[]) * */ - /* FIXME[GENERICS]: Class should be Class */ byte[] transform(ClassLoader loader, String className, - Class classBeingRedefined, + Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException; diff --git a/libjava/classpath/java/lang/management/ManagementFactory.java b/libjava/classpath/java/lang/management/ManagementFactory.java index 6e7af0f274e..a51ca0f4c9f 100644 --- a/libjava/classpath/java/lang/management/ManagementFactory.java +++ b/libjava/classpath/java/lang/management/ManagementFactory.java @@ -50,9 +50,18 @@ import gnu.java.lang.management.RuntimeMXBeanImpl; import gnu.java.lang.management.ThreadMXBeanImpl; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.logging.LogManager; + +import javax.management.InstanceAlreadyExistsException; +import javax.management.MBeanRegistrationException; +import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; +import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; +import javax.management.ObjectName; /** *

    @@ -66,7 +75,55 @@ import javax.management.NotCompliantMBeanException; *

      *
    1. Calling the appropriate static method of this factory. *
    2. + *
    3. Using the platform {@link javax.management.MBeanServer} + * to access the beans locally, or an + * {@link javax.management.MBeanServerConnection} for remote + * access. The attributes and operations use the limited + * range of data types specified below.
    4. *
    + *

    Open Data Types

    + *

    + * The data types used by the management beans are restricted + * to open data types to aid interoperability. This + * allows the beans to be accessed remotely, including from non-Java + * clients. Below is a table which lists the types used by the beans + * on the left, and the types they are converted to when returned via + * a bean server on the right. Type information is provided for each + * bean by obtaining its instance of {@link javax.management.MBeanInfo}. + *

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Data Type UsedData Type Returned
    Primitive types (int, char, etc.)Same
    Wrapper classes ({@link{java.lang.Integer}, + * @link{java.lang.Character}, etc.)Same
    An {@link java.lang.Enum}The name of the enumeration constant
    An array of type EAn array of the same dimensions with this mapping applied + * to E.
    A class with `getter' methods and a + * from({@link javax.management.openmbean.CompositeData}) + * method.The equivalent {@link javax.management.openmbean.CompositeData} + * instance, specified by the from method.
    A map with keys of type K and values of + * type V.A {@link javax.management.openmbean.TabularData} instance, + * with the row type containing two items, "key" and + * "value" with the types K and V + * respectively (with translation applied).
    A list of type E.An array with this mapping applied to E.
    * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 @@ -74,6 +131,60 @@ import javax.management.NotCompliantMBeanException; public class ManagementFactory { + /** + * The object name for the class loading bean. + */ + public static final String CLASS_LOADING_MXBEAN_NAME = + "java.lang:type=ClassLoading"; + + /** + * The object name for the compilation bean. + */ + public static final String COMPILATION_MXBEAN_NAME = + "java.lang:type=Compilation"; + + /** + * The domain for the garbage collecting beans. + */ + public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE = + "java.lang:type=GarbageCollector"; + + /** + * The domain for the memory manager beans. + */ + public static final String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE = + "java.lang:type=MemoryManager"; + + /** + * The object name for the memory bean. + */ + public static final String MEMORY_MXBEAN_NAME = + "java.lang:type=Memory"; + + /** + * The domain for the memory pool beans. + */ + public static final String MEMORY_POOL_MXBEAN_DOMAIN_TYPE = + "java.lang:type=MemoryPool"; + + /** + * The object name for the operating system bean. + */ + public static final String OPERATING_SYSTEM_MXBEAN_NAME = + "java.lang:type=OperatingSystem"; + + /** + * The object name for the runtime bean. + */ + public static final String RUNTIME_MXBEAN_NAME = + "java.lang:type=Runtime"; + + /** + * The object name for the threading bean. + */ + public static final String THREAD_MXBEAN_NAME = + "java.lang:type=Threading"; + /** * The operating system management bean. */ @@ -104,6 +215,11 @@ public class ManagementFactory */ private static CompilationMXBean compilationBean; + /** + * The platform server. + */ + private static MBeanServer platformServer; + /** * Private constructor to prevent instance creation. */ @@ -258,9 +374,10 @@ public class ManagementFactory * * @return a list of memory pool beans, one for each pool. */ - public static List getMemoryPoolMXBeans() + public static List getMemoryPoolMXBeans() { - List poolBeans = new ArrayList(); + List poolBeans = + new ArrayList(); String[] names = VMManagementFactory.getMemoryPoolNames(); for (int a = 0; a < names.length; ++a) try @@ -283,9 +400,10 @@ public class ManagementFactory * * @return a list of memory manager beans, one for each manager. */ - public static List getMemoryManagerMXBeans() + public static List getMemoryManagerMXBeans() { - List managerBeans = new ArrayList(); + List managerBeans = + new ArrayList(); String[] names = VMManagementFactory.getMemoryManagerNames(); for (int a = 0; a < names.length; ++a) try @@ -309,9 +427,10 @@ public class ManagementFactory * * @return a list of garbage collector beans, one for each pool. */ - public static List getGarbageCollectorMXBeans() + public static List getGarbageCollectorMXBeans() { - List gcBeans = new ArrayList(); + List gcBeans = + new ArrayList(); String[] names = VMManagementFactory.getGarbageCollectorNames(); for (int a = 0; a < names.length; ++a) try @@ -328,4 +447,106 @@ public class ManagementFactory return gcBeans; } + /** + *

    + * Returns the platform {@link javax.management.MBeanServer}. On the + * first call to this method, a server instance is retrieved from + * the {@link javax.management.MBeanServerFactory} and each of the + * beans are registered with it. Subsequent calls return the existing + * instance. If the property javax.management.builder.initial + * is set, its value will be used as the name of the class which is used + * to provide the server instance. + *

    + *

    + * It is recommended that the platform server is used for other beans as + * well, in order to simplify their discovery and publication. Name conflicts + * should be avoided. + *

    + * + * @return the platform {@link javax.management.MBeanServer} + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanServerPermission(String)}("createMBeanServer") + * @see javax.management.MBeanServerFactory + * @see javax.management.MBeanServerFactory#createMBeanServer() + */ + public static MBeanServer getPlatformMBeanServer() + { + if (platformServer == null) + { + platformServer = MBeanServerFactory.createMBeanServer(); + try + { + platformServer.registerMBean(getOperatingSystemMXBean(), + new ObjectName(OPERATING_SYSTEM_MXBEAN_NAME)); + platformServer.registerMBean(getRuntimeMXBean(), + new ObjectName(RUNTIME_MXBEAN_NAME)); + platformServer.registerMBean(getClassLoadingMXBean(), + new ObjectName(CLASS_LOADING_MXBEAN_NAME)); + platformServer.registerMBean(getThreadMXBean(), + new ObjectName(THREAD_MXBEAN_NAME)); + platformServer.registerMBean(getMemoryMXBean(), + new ObjectName(MEMORY_MXBEAN_NAME)); + CompilationMXBean compBean = getCompilationMXBean(); + if (compBean != null) + platformServer.registerMBean(compBean, + new ObjectName(COMPILATION_MXBEAN_NAME)); + Iterator beans = getMemoryPoolMXBeans().iterator(); + while (beans.hasNext()) + { + MemoryPoolMXBean bean = (MemoryPoolMXBean) beans.next(); + platformServer.registerMBean(bean, + new ObjectName(MEMORY_POOL_MXBEAN_DOMAIN_TYPE + + ",name=" + + bean.getName())); + } + beans = getMemoryManagerMXBeans().iterator(); + while (beans.hasNext()) + { + MemoryManagerMXBean bean = (MemoryManagerMXBean) beans.next(); + platformServer.registerMBean(bean, + new ObjectName(MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE + + ",name=" + + bean.getName())); + } + beans = getGarbageCollectorMXBeans().iterator(); + while (beans.hasNext()) + { + GarbageCollectorMXBean bean = (GarbageCollectorMXBean) beans.next(); + platformServer.registerMBean(bean, + new ObjectName(GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE + + ",name=" + + bean.getName())); + } + platformServer.registerMBean(LogManager.getLoggingMXBean(), + new ObjectName(LogManager.LOGGING_MXBEAN_NAME)); + } + catch (InstanceAlreadyExistsException e) + { + throw (Error) + (new InternalError("One of the management beans is " + + "already registered.").initCause(e)); + } + catch (MBeanRegistrationException e) + { + throw (Error) + (new InternalError("One of the management beans' preRegister " + + "methods threw an exception.").initCause(e)); + } + catch (NotCompliantMBeanException e) + { + throw (Error) + (new InternalError("One of the management beans is " + + "not compliant.").initCause(e)); + } + catch (MalformedObjectNameException e) + { + throw (Error) + (new InternalError("The object name of a management bean is " + + "not compliant.").initCause(e)); + } + } + return platformServer; + } + } diff --git a/libjava/classpath/java/lang/management/MemoryPoolMXBean.java b/libjava/classpath/java/lang/management/MemoryPoolMXBean.java index 5b04c64d3b8..36a8236dc01 100644 --- a/libjava/classpath/java/lang/management/MemoryPoolMXBean.java +++ b/libjava/classpath/java/lang/management/MemoryPoolMXBean.java @@ -162,7 +162,7 @@ public interface MemoryPoolMXBean * * @return the type of this pool. */ - String getType(); + MemoryType getType(); /** * Returns memory usage statistics for the current memory usage diff --git a/libjava/classpath/java/lang/management/MemoryType.java b/libjava/classpath/java/lang/management/MemoryType.java new file mode 100644 index 00000000000..4422b329836 --- /dev/null +++ b/libjava/classpath/java/lang/management/MemoryType.java @@ -0,0 +1,51 @@ +/* MemoryType.java - Enumeration of the types of memory pools. + Copyright (C) 2006 Free Software Foundation + +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. */ + +package java.lang.management; + +/** + * Enumerates the possible types of memory pools. A value of this + * type is returned by {@link MemoryPoolMXBean#getMemoryType()}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public enum MemoryType +{ + HEAP, NON_HEAP; +} + diff --git a/libjava/classpath/java/lang/management/RuntimeMXBean.java b/libjava/classpath/java/lang/management/RuntimeMXBean.java index cee1d805f89..a2931d12783 100644 --- a/libjava/classpath/java/lang/management/RuntimeMXBean.java +++ b/libjava/classpath/java/lang/management/RuntimeMXBean.java @@ -106,7 +106,7 @@ public interface RuntimeMXBean * denies ManagementPermission("monitor"). * @see java.lang.management.ManagementPermission */ - List getInputArguments(); + List getInputArguments(); /** * Returns the library path. This is equivalent to obtaining the @@ -212,7 +212,7 @@ public interface RuntimeMXBean * * @return the map of system properties. */ - Map getSystemProperties(); + Map getSystemProperties(); /** * Returns the uptime of the virtual machine in milliseconds. diff --git a/libjava/classpath/java/lang/management/ThreadInfo.java b/libjava/classpath/java/lang/management/ThreadInfo.java index 4bf35a4cbeb..428aca3fac8 100644 --- a/libjava/classpath/java/lang/management/ThreadInfo.java +++ b/libjava/classpath/java/lang/management/ThreadInfo.java @@ -102,7 +102,7 @@ public class ThreadInfo /** * The state of the thread which this instance concerns. */ - private String threadState; + private Thread.State threadState; /** * The number of times the thread has been blocked. @@ -200,10 +200,12 @@ public class ThreadInfo long waitedTime, boolean isInNative, boolean isSuspended, StackTraceElement[] trace) { - this(thread.getId(), thread.getName(), thread.getState(), blockedCount, - blockedTime, lock.getClass().getName() + "@" + - Integer.toHexString(System.identityHashCode(lock)), lockOwner.getId(), - lockOwner.getName(), waitedCount, waitedTime, isInNative, isSuspended, + this(thread.getId(), thread.getName(), thread.getState(), blockedCount, blockedTime, + lock == null ? null : lock.getClass().getName() + "@" + + Integer.toHexString(System.identityHashCode(lock)), + lockOwner == null ? -1 : lockOwner.getId(), + lockOwner == null ? null : lockOwner.getName(), + waitedCount, waitedTime, isInNative, isSuspended, trace); } @@ -240,7 +242,7 @@ public class ThreadInfo * @param trace the stack trace of the thread to a pre-determined * depth (see VMThreadMXBeanImpl) */ - private ThreadInfo(long threadId, String threadName, String threadState, + private ThreadInfo(long threadId, String threadName, Thread.State threadState, long blockedCount, long blockedTime, String lockName, long lockOwnerId, String lockOwnerName, long waitedCount, long waitedTime, boolean isInNative, boolean isSuspended, @@ -387,7 +389,7 @@ public class ThreadInfo dTraces[a].get("lineNumber")).intValue()); return new ThreadInfo(((Long) data.get("threadId")).longValue(), (String) data.get("threadName"), - (String) data.get("threadState"), + Thread.State.valueOf((String) data.get("threadState")), ((Long) data.get("blockedCount")).longValue(), ((Long) data.get("blockedTime")).longValue(), (String) data.get("lockName"), @@ -484,7 +486,7 @@ public class ThreadInfo */ public String getLockName() { - if (threadState.equals("BLOCKED")) + if (threadState != Thread.State.BLOCKED) return null; return lockName; } @@ -502,7 +504,7 @@ public class ThreadInfo */ public long getLockOwnerId() { - if (threadState.equals("BLOCKED")) + if (threadState != Thread.State.BLOCKED) return -1; return lockOwnerId; } @@ -520,7 +522,7 @@ public class ThreadInfo */ public String getLockOwnerName() { - if (threadState.equals("BLOCKED")) + if (threadState != Thread.State.BLOCKED) return null; return lockOwnerName; } @@ -577,7 +579,7 @@ public class ThreadInfo * * @return the thread's state. */ - public String getThreadState() + public Thread.State getThreadState() { return threadState; } @@ -695,7 +697,7 @@ public class ThreadInfo ", waitedCount=" + waitedCount + ", isInNative=" + isInNative + ", isSuspended=" + isSuspended + - (threadState.equals("BLOCKED") ? + (threadState == Thread.State.BLOCKED ? ", lockOwnerId=" + lockOwnerId + ", lockOwnerName=" + lockOwnerName : "") + "]"; diff --git a/libjava/classpath/java/lang/ref/PhantomReference.java b/libjava/classpath/java/lang/ref/PhantomReference.java index 4d929c29c58..67e97d399cd 100644 --- a/libjava/classpath/java/lang/ref/PhantomReference.java +++ b/libjava/classpath/java/lang/ref/PhantomReference.java @@ -1,5 +1,5 @@ /* java.lang.ref.PhantomReference - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,8 +46,8 @@ package java.lang.ref; * * @author Jochen Hoenicke */ -public class PhantomReference - extends Reference +public class PhantomReference + extends Reference { /** * Creates a new phantom reference. @@ -56,7 +56,7 @@ public class PhantomReference * finalized. This mustn't be null. * @exception NullPointerException if q is null. */ - public PhantomReference(Object referent, ReferenceQueue q) + public PhantomReference(T referent, ReferenceQueue q) { super(referent, q); } @@ -66,7 +66,7 @@ public class PhantomReference * @return null, since the refered object may be * finalized and thus not accessible. */ - public Object get() + public T get() { return null; } diff --git a/libjava/classpath/java/lang/ref/Reference.java b/libjava/classpath/java/lang/ref/Reference.java index 4b6a3adbcc1..ce224b891f9 100644 --- a/libjava/classpath/java/lang/ref/Reference.java +++ b/libjava/classpath/java/lang/ref/Reference.java @@ -1,5 +1,5 @@ /* java.lang.ref.Reference - Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -70,19 +70,19 @@ package java.lang.ref; * @author Jochen Hoenicke * @see java.util.WeakHashMap */ -public abstract class Reference +public abstract class Reference { /** * The underlying object. This field is handled in a special way by * the garbage collector. */ - Object referent; + T referent; /** * The queue this reference is registered on. This is null, if this * wasn't registered to any queue or reference was already enqueued. */ - ReferenceQueue queue; + volatile ReferenceQueue queue; /** * Link to the next entry on the queue. If this is null, this @@ -91,7 +91,7 @@ public abstract class Reference * (not to null, that value is used to mark a not enqueued * reference). */ - Reference nextOnQueue; + volatile Reference nextOnQueue; /** * This lock should be taken by the garbage collector, before @@ -106,7 +106,7 @@ public abstract class Reference * class in a different package. * @param ref the object we refer to. */ - Reference(Object ref) + Reference(T ref) { referent = ref; } @@ -119,7 +119,7 @@ public abstract class Reference * @param q the reference queue to register on. * @exception NullPointerException if q is null. */ - Reference(Object ref, ReferenceQueue q) + Reference(T ref, ReferenceQueue q) { if (q == null) throw new NullPointerException(); @@ -132,7 +132,7 @@ public abstract class Reference * @return the object, this reference refers to, or null if the * reference was cleared. */ - public Object get() + public T get() { synchronized (lock) { @@ -166,11 +166,10 @@ public abstract class Reference */ public boolean enqueue() { - if (queue != null && nextOnQueue == null) + ReferenceQueue q = queue; + if (q != null) { - queue.enqueue(this); - queue = null; - return true; + return q.enqueue(this); } return false; } diff --git a/libjava/classpath/java/lang/ref/ReferenceQueue.java b/libjava/classpath/java/lang/ref/ReferenceQueue.java index f4729f282be..28162877905 100644 --- a/libjava/classpath/java/lang/ref/ReferenceQueue.java +++ b/libjava/classpath/java/lang/ref/ReferenceQueue.java @@ -1,5 +1,5 @@ /* java.lang.ref.ReferenceQueue - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,7 +50,7 @@ package java.lang.ref; * @author Jochen Hoenicke * @see Reference#enqueue() */ -public class ReferenceQueue +public class ReferenceQueue { /** * This is a linked list of references. If this is null, the list is @@ -60,7 +60,13 @@ public class ReferenceQueue * itself (not to null, since nextOnQueue is used to * determine if a reference is enqueued). */ - private Reference first; + private Reference first; + + /** + * This is the lock that protects our linked list and is used to signal + * a thread waiting in remove(). + */ + private final Object lock = new Object(); /** * Creates a new empty reference queue. @@ -76,7 +82,7 @@ public class ReferenceQueue * @return a reference on the queue, if there is one, * null otherwise. */ - public synchronized Reference poll() + public Reference poll() { return dequeue(); } @@ -84,29 +90,41 @@ public class ReferenceQueue /** * This is called by reference to enqueue itself on this queue. * @param ref the reference that should be enqueued. + * @return true if successful, false if not. */ - synchronized void enqueue(Reference ref) - { - /* last reference will point to itself */ - ref.nextOnQueue = first == null ? ref : first; - first = ref; - /* this wakes only one remove thread. */ - notify(); + final boolean enqueue(Reference ref) + { + synchronized (lock) + { + if (ref.queue != this) + return false; + + /* last reference will point to itself */ + ref.nextOnQueue = first == null ? ref : first; + ref.queue = null; + first = ref; + /* this wakes only one remove thread. */ + lock.notify(); + return true; + } } /** * Remove a reference from the queue, if there is one. * @return the first element of the queue, or null if there isn't any. */ - private Reference dequeue() + private Reference dequeue() { - if (first == null) - return null; - - Reference result = first; - first = (first == first.nextOnQueue) ? null : first.nextOnQueue; - result.nextOnQueue = null; - return result; + synchronized (lock) + { + if (first == null) + return null; + + Reference result = first; + first = (first == first.nextOnQueue) ? null : first.nextOnQueue; + result.nextOnQueue = null; + return result; + } } /** @@ -118,12 +136,13 @@ public class ReferenceQueue * null if timeout period expired. * @exception InterruptedException if the wait was interrupted. */ - public synchronized Reference remove(long timeout) + public Reference remove(long timeout) throws InterruptedException { - if (first == null) + synchronized (lock) { - wait(timeout); + if (first == null) + lock.wait(timeout); } return dequeue(); @@ -137,7 +156,7 @@ public class ReferenceQueue * @return the reference removed from the queue. * @exception InterruptedException if the wait was interrupted. */ - public Reference remove() + public Reference remove() throws InterruptedException { return remove(0L); diff --git a/libjava/classpath/java/lang/ref/SoftReference.java b/libjava/classpath/java/lang/ref/SoftReference.java index 97395eacdfa..077dc173ddd 100644 --- a/libjava/classpath/java/lang/ref/SoftReference.java +++ b/libjava/classpath/java/lang/ref/SoftReference.java @@ -1,5 +1,5 @@ /* java.lang.ref.SoftReference - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -47,14 +47,14 @@ package java.lang.ref; * * @author Jochen Hoenicke */ -public class SoftReference - extends Reference +public class SoftReference + extends Reference { /** * Create a new soft reference, that is not registered to any queue. * @param referent the object we refer to. */ - public SoftReference(Object referent) + public SoftReference(T referent) { super(referent); } @@ -65,7 +65,7 @@ public class SoftReference * @param q the reference queue to register on. * @exception NullPointerException if q is null. */ - public SoftReference(Object referent, ReferenceQueue q) + public SoftReference(T referent, ReferenceQueue q) { super(referent, q); } @@ -75,7 +75,7 @@ public class SoftReference * @return the object, this reference refers to, or null if the * reference was cleared. */ - public Object get() + public T get() { /* Why is this overloaded??? * Maybe for a kind of LRU strategy. */ diff --git a/libjava/classpath/java/lang/ref/WeakReference.java b/libjava/classpath/java/lang/ref/WeakReference.java index b4018fbb55e..563563bf164 100644 --- a/libjava/classpath/java/lang/ref/WeakReference.java +++ b/libjava/classpath/java/lang/ref/WeakReference.java @@ -1,5 +1,5 @@ /* java.lang.ref.WeakReference - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,14 +54,14 @@ package java.lang.ref; * @author Jochen Hoenicke * @see java.util.WeakHashMap */ -public class WeakReference - extends Reference +public class WeakReference + extends Reference { /** * Create a new weak reference, that is not registered to any queue. * @param referent the object we refer to. */ - public WeakReference(Object referent) + public WeakReference(T referent) { super(referent); } @@ -72,7 +72,7 @@ public class WeakReference * @param q the reference queue to register on. * @exception NullPointerException if q is null. */ - public WeakReference(Object referent, ReferenceQueue q) + public WeakReference(T referent, ReferenceQueue q) { super(referent, q); } diff --git a/libjava/classpath/java/lang/reflect/AccessibleObject.java b/libjava/classpath/java/lang/reflect/AccessibleObject.java index 8f09eac1b0b..fd46a53dc8c 100644 --- a/libjava/classpath/java/lang/reflect/AccessibleObject.java +++ b/libjava/classpath/java/lang/reflect/AccessibleObject.java @@ -160,8 +160,7 @@ public class AccessibleObject this.flag = flag; } - /* FIXME[GENERICS]: T getAnnotation(Class ) */ - public Annotation getAnnotation(Class annotationClass) + public T getAnnotation(Class annotationClass) { throw new AssertionError("Subclass must override this method"); } @@ -176,8 +175,7 @@ public class AccessibleObject throw new AssertionError("Subclass must override this method"); } - /* FIXME[GENERICS]: Signature is Class */ - public boolean isAnnotationPresent(Class annotationClass) + public boolean isAnnotationPresent(Class annotationClass) { return getAnnotation(annotationClass) != null; } diff --git a/libjava/classpath/java/lang/reflect/AnnotatedElement.java b/libjava/classpath/java/lang/reflect/AnnotatedElement.java index 69a64a02827..8f2a8b6f5c8 100644 --- a/libjava/classpath/java/lang/reflect/AnnotatedElement.java +++ b/libjava/classpath/java/lang/reflect/AnnotatedElement.java @@ -74,8 +74,7 @@ public interface AnnotatedElement * null if no such annotation exists. * @throws NullPointerException if the annotation class is null. */ - /* FIXME[GENERICS]: T getAnnotation(Class ) */ - Annotation getAnnotation(Class annotationClass); + T getAnnotation(Class annotationClass); /** * Returns all annotations associated with the element. If there are @@ -111,7 +110,6 @@ public interface AnnotatedElement * @return true if an annotation exists for the specified type. * @since 1.5 */ - /* FIXME[GENERICS]: Signature is Class */ - boolean isAnnotationPresent(Class annotationClass); + boolean isAnnotationPresent(Class annotationClass); } diff --git a/libjava/classpath/java/lang/reflect/Array.java b/libjava/classpath/java/lang/reflect/Array.java index ae65ffbf240..373bf204c8e 100644 --- a/libjava/classpath/java/lang/reflect/Array.java +++ b/libjava/classpath/java/lang/reflect/Array.java @@ -95,7 +95,7 @@ public final class Array * @throws NegativeArraySizeException when length is less than 0 * @throws OutOfMemoryError if memory allocation fails */ - public static Object newInstance(Class componentType, int length) + public static Object newInstance(Class componentType, int length) { if (! componentType.isPrimitive()) return VMArray.createObjectArray(componentType, length); @@ -143,7 +143,7 @@ public final class Array * than 0 * @throws OutOfMemoryError if memory allocation fails */ - public static Object newInstance(Class componentType, int[] dimensions) + public static Object newInstance(Class componentType, int[] dimensions) { if (dimensions.length <= 0) throw new IllegalArgumentException ("Empty dimensions array."); diff --git a/libjava/classpath/java/lang/reflect/GenericDeclaration.java b/libjava/classpath/java/lang/reflect/GenericDeclaration.java index 14f5ba8326b..244befd8810 100644 --- a/libjava/classpath/java/lang/reflect/GenericDeclaration.java +++ b/libjava/classpath/java/lang/reflect/GenericDeclaration.java @@ -58,6 +58,5 @@ public interface GenericDeclaration * class file does not conform to that specified in the 3rd edition * of the Java Virtual Machine Specification. */ - /* FIXME[GENERICS]: Should be TypeVariable[] */ - TypeVariable[] getTypeParameters(); + TypeVariable[] getTypeParameters(); } diff --git a/libjava/classpath/java/lang/reflect/Proxy.java b/libjava/classpath/java/lang/reflect/Proxy.java index 94aa0bbb2a0..ef743f6bcb0 100644 --- a/libjava/classpath/java/lang/reflect/Proxy.java +++ b/libjava/classpath/java/lang/reflect/Proxy.java @@ -156,7 +156,7 @@ import java.util.Set; * @see Class * @author Eric Blake (ebb9@email.byu.edu) * @since 1.3 - * @status updated to 1.4, except for the use of ProtectionDomain + * @status updated to 1.5, except for the use of ProtectionDomain */ public class Proxy implements Serializable { @@ -255,8 +255,8 @@ public class Proxy implements Serializable */ // synchronized so that we aren't trying to build the same class // simultaneously in two threads - public static synchronized Class getProxyClass(ClassLoader loader, - Class[] interfaces) + public static synchronized Class getProxyClass(ClassLoader loader, + Class... interfaces) { interfaces = (Class[]) interfaces.clone(); ProxyType pt = new ProxyType(loader, interfaces); @@ -310,7 +310,7 @@ public class Proxy implements Serializable * @see Constructor#newInstance(Object[]) */ public static Object newProxyInstance(ClassLoader loader, - Class[] interfaces, + Class[] interfaces, InvocationHandler handler) { try @@ -358,7 +358,7 @@ public class Proxy implements Serializable */ // This is synchronized on the off chance that another thread is // trying to add a class to the map at the same time we read it. - public static synchronized boolean isProxyClass(Class clazz) + public static synchronized boolean isProxyClass(Class clazz) { if (! Proxy.class.isAssignableFrom(clazz)) return false; diff --git a/libjava/classpath/java/lang/reflect/TypeVariable.java b/libjava/classpath/java/lang/reflect/TypeVariable.java index 4ecc20c9d9e..ec6af69db4f 100644 --- a/libjava/classpath/java/lang/reflect/TypeVariable.java +++ b/libjava/classpath/java/lang/reflect/TypeVariable.java @@ -58,9 +58,7 @@ package java.lang.reflect; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 */ -/* FIXME[GENERICS]: Should be TypeVariable */ -public interface TypeVariable - extends Type +public interface TypeVariable extends Type { /** @@ -86,8 +84,7 @@ public interface TypeVariable * @return the GenericDeclaration object for this type * variable. */ - /* FIXME[GENERICS]: Should return type T */ - GenericDeclaration getGenericDeclaration(); + T getGenericDeclaration(); /** * Returns the name of the type variable, as written in the source diff --git a/libjava/classpath/java/math/BigDecimal.java b/libjava/classpath/java/math/BigDecimal.java index bca9b12c28b..28c4d45d3eb 100644 --- a/libjava/classpath/java/math/BigDecimal.java +++ b/libjava/classpath/java/math/BigDecimal.java @@ -37,7 +37,7 @@ exception statement from your version. */ package java.math; -public class BigDecimal extends Number implements Comparable +public class BigDecimal extends Number implements Comparable { private BigInteger intVal; private int scale; @@ -672,7 +672,38 @@ public class BigDecimal extends Number implements Comparable { return divide (val, scale, roundingMode); } - + + /** + * Returns a BigDecimal whose value is (this / val), with the specified scale + * and rounding according to the RoundingMode + * @param val the divisor + * @param scale the scale of the BigDecimal returned + * @param roundingMode the rounding mode to use + * @return a BigDecimal whose value is approximately (this / val) + * @throws ArithmeticException if divisor is zero or the rounding mode is + * UNNECESSARY but the specified scale cannot represent the value exactly + * @since 1.5 + */ + public BigDecimal divide(BigDecimal val, + int scale, RoundingMode roundingMode) + { + return divide (val, scale, roundingMode.ordinal()); + } + + /** + * Returns a BigDecimal whose value is (this / val) rounded according to the + * RoundingMode + * @param val the divisor + * @param roundingMode the rounding mode to use + * @return a BigDecimal whose value is approximately (this / val) + * @throws ArithmeticException if divisor is zero or the rounding mode is + * UNNECESSARY but the specified scale cannot represent the value exactly + */ + public BigDecimal divide (BigDecimal val, RoundingMode roundingMode) + { + return divide (val, scale, roundingMode.ordinal()); + } + public BigDecimal divide(BigDecimal val, int newScale, int roundingMode) throws ArithmeticException, IllegalArgumentException { @@ -823,12 +854,7 @@ public class BigDecimal extends Number implements Comparable return this; } - public int compareTo (Object obj) - { - return compareTo((BigDecimal) obj); - } - - public int compareTo (BigDecimal val) + public int compareTo (BigDecimal val) { if (scale == val.scale) return intVal.compareTo (val.intVal); @@ -973,7 +999,7 @@ public class BigDecimal extends Number implements Comparable { return round(mc); } - + /** * Returns a BigDecimal which is this BigDecimal rounded according to the * MathContext rounding settings. @@ -993,12 +1019,12 @@ public class BigDecimal extends Number implements Comparable // Make a new BigDecimal which is the correct power of 10 to chop off // the required number of digits and then call divide. BigDecimal div = new BigDecimal(BigInteger.TEN.pow(numToChop)); - BigDecimal rounded = divide(div, scale, 4); + BigDecimal rounded = divide(div, scale, mc.getRoundingMode().ordinal()); rounded.scale -= numToChop; rounded.precision = mcPrecision; return rounded; } - + /** * Returns the precision of this BigDecimal (the number of digits in the * unscaled value). The precision of a zero value is 1. @@ -1350,7 +1376,24 @@ public class BigDecimal extends Number implements Comparable if( scale < 0 ) throw new ArithmeticException("Scale parameter < 0."); return divide (ONE, scale, roundingMode); } - + + /** + * Returns a BigDecimal whose value is the same as this BigDecimal but whose + * representation has a scale of newScale. If the scale is + * reduced then rounding may occur, according to the RoundingMode. + * @param newScale + * @param roundingMode + * @return a BigDecimal whose scale is as given, whose value is + * this with possible rounding + * @throws ArithmeticException if the rounding mode is UNNECESSARY but + * rounding is required + * @since 1.5 + */ + public BigDecimal setScale(int newScale, RoundingMode roundingMode) + { + return setScale(newScale, roundingMode.ordinal()); + } + /** * Returns a new BigDecimal constructed from the BigDecimal(String) * constructor using the Double.toString(double) method to obtain diff --git a/libjava/classpath/java/math/BigInteger.java b/libjava/classpath/java/math/BigInteger.java index b57cf607e34..c897d8bf48d 100644 --- a/libjava/classpath/java/math/BigInteger.java +++ b/libjava/classpath/java/math/BigInteger.java @@ -1,5 +1,5 @@ /* java.math.BigInteger -- Arbitary precision integers - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -57,7 +57,7 @@ import java.util.Random; * @date December 20, 1999. * @status believed complete and correct. */ -public class BigInteger extends Number implements Comparable +public class BigInteger extends Number implements Comparable { /** All integers are stored in 2's-complement form. * If words == null, the ival is the value of this BigInteger. @@ -83,7 +83,8 @@ public class BigInteger extends Number implements Comparable private static final int numFixNum = maxFixNum-minFixNum+1; private static final BigInteger[] smallFixNums = new BigInteger[numFixNum]; - static { + static + { for (int i = numFixNum; --i >= 0; ) smallFixNums[i] = new BigInteger(i + minFixNum); } @@ -92,14 +93,14 @@ public class BigInteger extends Number implements Comparable * The constant zero as a BigInteger. * @since 1.2 */ - public static final BigInteger ZERO = smallFixNums[-minFixNum]; + public static final BigInteger ZERO = smallFixNums[0 - minFixNum]; /** * The constant one as a BigInteger. * @since 1.2 */ public static final BigInteger ONE = smallFixNums[1 - minFixNum]; - + /** * The constant ten as a BigInteger. * @since 1.5 @@ -197,8 +198,20 @@ public class BigInteger extends Number implements Comparable private void init(int numBits, Random rnd) { int highbits = numBits & 31; + // minimum number of bytes to store the above number of bits + int highBitByteCount = (highbits + 7) / 8; + // number of bits to discard from the last byte + int discardedBitCount = highbits % 8; + if (discardedBitCount != 0) + discardedBitCount = 8 - discardedBitCount; + byte[] highBitBytes = new byte[highBitByteCount]; if (highbits > 0) - highbits = rnd.nextInt() >>> (32 - highbits); + { + rnd.nextBytes(highBitBytes); + highbits = (highBitBytes[highBitByteCount - 1] & 0xFF) >>> discardedBitCount; + for (int i = highBitByteCount - 2; i >= 0; i--) + highbits = (highbits << 8) | (highBitBytes[i] & 0xFF); + } int nwords = numBits / 32; while (highbits == 0 && nwords > 0) @@ -225,8 +238,13 @@ public class BigInteger extends Number implements Comparable this(bitLength, rnd); // Keep going until we find a probable prime. + BigInteger result; while (true) { + // ...but first ensure that BI has bitLength bits + result = setBit(bitLength - 1); + this.ival = result.ival; + this.words = result.words; if (isProbablePrime(certainty)) return; @@ -377,14 +395,7 @@ public class BigInteger extends Number implements Comparable return MPN.cmp(x.words, y.words, x_len); } - // JDK1.2 - public int compareTo(Object obj) - { - if (obj instanceof BigInteger) - return compareTo(this, (BigInteger) obj); - throw new ClassCastException(); - } - + /** @since 1.2 */ public int compareTo(BigInteger val) { return compareTo(this, val); @@ -1589,24 +1600,31 @@ public class BigInteger extends Number implements Comparable // but slightly more expensive, for little practical gain. if (len <= 15 && radix <= 16) return valueOf(Long.parseLong(s, radix)); - + + int i, digit; + boolean negative; + byte[] bytes; + char ch = s.charAt(0); + if (ch == '-') + { + negative = true; + i = 1; + bytes = new byte[len - 1]; + } + else + { + negative = false; + i = 0; + bytes = new byte[len]; + } int byte_len = 0; - byte[] bytes = new byte[len]; - boolean negative = false; - for (int i = 0; i < len; i++) + for ( ; i < len; i++) { - char ch = s.charAt(i); - if (ch == '-') - negative = true; - else if (ch == '_' || (byte_len == 0 && (ch == ' ' || ch == '\t'))) - continue; - else - { - int digit = Character.digit(ch, radix); - if (digit < 0) - break; - bytes[byte_len++] = (byte) digit; - } + ch = s.charAt(i); + digit = Character.digit(ch, radix); + if (digit < 0) + throw new NumberFormatException(); + bytes[byte_len++] = (byte) digit; } return valueOf(bytes, byte_len, negative, radix); } diff --git a/libjava/classpath/java/math/MathContext.java b/libjava/classpath/java/math/MathContext.java index 417d9c2e270..533ab13acf3 100644 --- a/libjava/classpath/java/math/MathContext.java +++ b/libjava/classpath/java/math/MathContext.java @@ -48,6 +48,30 @@ import java.io.Serializable; */ public final class MathContext implements Serializable { + /** A MathContext for unlimited precision arithmetic * */ + public static final MathContext UNLIMITED = + new MathContext(0, RoundingMode.HALF_UP); + + /** + * A MathContext for the IEEE 754R Decimal32 format - 7 digit preicision and + * HALF_EVEN rounding. + */ + public static final MathContext DECIMAL32 = + new MathContext(7, RoundingMode.HALF_EVEN); + + /** + * A MathContext for the IEEE 754R Decimal64 format - 16 digit preicision and + * HALF_EVEN rounding. + */ + public static final MathContext DECIMAL64 = + new MathContext(16, RoundingMode.HALF_EVEN); + + /** + * A MathContext for the IEEE 754R Decimal128 format - 34 digit preicision and + * HALF_EVEN rounding. + */ + public static final MathContext DECIMAL128 = + new MathContext(34, RoundingMode.HALF_EVEN); /** * This is the serialVersionUID reported here: @@ -56,7 +80,9 @@ public final class MathContext implements Serializable private static final long serialVersionUID = 5579720004786848255L; private int precision; - + + private RoundingMode roundMode; + /** * Constructs a new MathContext with the specified precision and with HALF_UP * rounding. @@ -65,12 +91,26 @@ public final class MathContext implements Serializable * @throws IllegalArgumentException if precision is < 0. */ public MathContext(int setPrecision) + { + this(setPrecision, RoundingMode.HALF_UP); + } + + /** + * Constructs a new MathContext with the specified precision and rounding + * mode. + * @param setPrecision the precision + * @param setRoundingMode the rounding mode + * + * @throws IllegalArgumentException if precision is < 0. + */ + public MathContext(int setPrecision, RoundingMode setRoundingMode) { if (setPrecision < 0) throw new IllegalArgumentException("Precision cannot be less than zero."); precision = setPrecision; + roundMode = setRoundingMode; } - + /** * Constructs a MathContext from a String that has the same form as one * produced by the toString() method. @@ -85,6 +125,7 @@ public final class MathContext implements Serializable { int roundingModeIndex = val.indexOf("roundingMode", 10); precision = Integer.parseInt(val.substring(10, roundingModeIndex - 1)); + roundMode = RoundingMode.valueOf(val.substring(roundingModeIndex + 13)); } catch (NumberFormatException nfe) { @@ -109,7 +150,8 @@ public final class MathContext implements Serializable if (!(x instanceof MathContext)) return false; MathContext mc = (MathContext)x; - return mc.precision == this.precision; + return mc.precision == this.precision + && mc.roundMode.equals(this.roundMode); } /** @@ -121,6 +163,18 @@ public final class MathContext implements Serializable return precision; } + /** + * Returns the rounding mode setting. This will be one of + * RoundingMode.CEILING, RoundingMode.DOWN, RoundingMode.FLOOR, + * RoundingMode.HALF_DOWN, RoundingMode.HALF_EVEN, RoundingMode.HALF_UP, + * RoundingMode.UNNECESSARY, or RoundingMode.UP. + * @return the rounding mode setting. + */ + public RoundingMode getRoundingMode() + { + return roundMode; + } + /** * Returns "precision=p roundingMode=MODE" where p is an int giving the * precision and MODE is UP, DOWN, HALF_UP, HALF_DOWN, HALF_EVEN, CEILING, @@ -130,7 +184,7 @@ public final class MathContext implements Serializable */ public String toString() { - return "precision="+precision; + return "precision="+precision+" roundingMode="+roundMode; } /** @@ -139,6 +193,6 @@ public final class MathContext implements Serializable */ public int hashCode() { - return precision; + return precision ^ roundMode.hashCode(); } } diff --git a/libjava/classpath/java/math/RoundingMode.java b/libjava/classpath/java/math/RoundingMode.java new file mode 100644 index 00000000000..c85bf4ff533 --- /dev/null +++ b/libjava/classpath/java/math/RoundingMode.java @@ -0,0 +1,89 @@ +/* RoundingMode.java -- An Enum to replace BigDecimal rounding constants. + Copyright (C) 1999, 2000, 2002, 2004, 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. */ + + +package java.math; + +/** + * An enum to specify rounding behaviour for numerical operations that may + * discard precision. + * @author Anthony Balkissoon abalkiss at redhat dot com + * + */ +public enum RoundingMode +{ + UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, UNNECESSARY; + + /** + * For compatability with Sun's JDK + */ + private static final long serialVersionUID = 432302042773881265L; + + /** + * Returns the RoundingMode object corresponding to the legacy rounding modes + * in BigDecimal. + * @param rm the legacy rounding mode + * @return the corresponding RoundingMode + */ + public static RoundingMode valueOf(int rm) + { + switch (rm) + { + case BigDecimal.ROUND_CEILING: + return CEILING; + case BigDecimal.ROUND_FLOOR: + return FLOOR; + case BigDecimal.ROUND_DOWN: + return DOWN; + case BigDecimal.ROUND_UP: + return UP; + case BigDecimal.ROUND_HALF_UP: + return HALF_UP; + case BigDecimal.ROUND_HALF_DOWN: + return HALF_DOWN; + case BigDecimal.ROUND_HALF_EVEN: + return HALF_EVEN; + case BigDecimal.ROUND_UNNECESSARY: + return UNNECESSARY; + default: + throw new + IllegalArgumentException("invalid argument: " + rm + + ". Argument should be one of the " + + "rounding modes defined in BigDecimal."); + } + } +} diff --git a/libjava/classpath/java/math/class-dependencies.conf b/libjava/classpath/java/math/class-dependencies.conf new file mode 100644 index 00000000000..4fbf75eb1ce --- /dev/null +++ b/libjava/classpath/java/math/class-dependencies.conf @@ -0,0 +1,58 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + +# end of file diff --git a/libjava/classpath/java/net/DatagramSocket.java b/libjava/classpath/java/net/DatagramSocket.java index d8837c006b5..d7aad7222c7 100644 --- a/libjava/classpath/java/net/DatagramSocket.java +++ b/libjava/classpath/java/net/DatagramSocket.java @@ -1,5 +1,5 @@ /* DatagramSocket.java -- A class to model UDP sockets - Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005 + Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -180,7 +180,18 @@ public class DatagramSocket if (factory != null) impl = factory.createDatagramSocketImpl(); else - impl = new PlainDatagramSocketImpl(); + { + try + { + impl = new PlainDatagramSocketImpl(); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } } else try @@ -194,7 +205,16 @@ public class DatagramSocket { System.err.println("Could not instantiate class: java.net." + propVal + "DatagramSocketImpl"); - impl = new PlainDatagramSocketImpl(); + try + { + impl = new PlainDatagramSocketImpl(); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } } if (address != null) @@ -305,7 +325,7 @@ public class DatagramSocket SecurityManager s = System.getSecurityManager(); if (s != null) - s.checkConnect(localAddr.getHostName(), -1); + s.checkConnect(localAddr.getHostAddress(), -1); } catch (SecurityException e) { @@ -505,7 +525,7 @@ public class DatagramSocket SecurityManager sm = System.getSecurityManager(); if (sm != null) - sm.checkConnect(address.getHostName(), port); + sm.checkConnect(address.getHostAddress(), port); try { @@ -578,11 +598,17 @@ public class DatagramSocket && ! ((DatagramChannelImpl) getChannel()).isInChannelOperation()) throw new IllegalBlockingModeException(); - getImpl().receive(p); + DatagramPacket p2 = new DatagramPacket(p.getData(), p.getOffset(), p.maxlen); + getImpl().receive(p2); + p.length = p2.length; + if (p2.getAddress() != null) + p.setAddress(p2.getAddress()); + if (p2.getPort() != -1) + p.setPort(p2.getPort()); SecurityManager s = System.getSecurityManager(); if (s != null && isConnected()) - s.checkAccept(p.getAddress().getHostName(), p.getPort()); + s.checkAccept(p.getAddress().getHostAddress(), p.getPort()); } /** @@ -649,6 +675,9 @@ public class DatagramSocket { if (isClosed()) throw new SocketException("socket is closed"); + + if (address == null) + address = new InetSocketAddress(InetAddress.ANY_IF, 0); if (! (address instanceof InetSocketAddress)) throw new IllegalArgumentException("unsupported address type"); diff --git a/libjava/classpath/java/net/Inet6Address.java b/libjava/classpath/java/net/Inet6Address.java index ef3c4431acb..f4893eb09f3 100644 --- a/libjava/classpath/java/net/Inet6Address.java +++ b/libjava/classpath/java/net/Inet6Address.java @@ -121,7 +121,7 @@ public final class Inet6Address extends InetAddress */ public boolean isMulticastAddress() { - return ipaddress[0] == 0xFF; + return ipaddress[0] == (byte) 0xFF; } /** diff --git a/libjava/classpath/java/net/InetAddress.java b/libjava/classpath/java/net/InetAddress.java index f6f97285fe6..1f266798045 100644 --- a/libjava/classpath/java/net/InetAddress.java +++ b/libjava/classpath/java/net/InetAddress.java @@ -59,7 +59,7 @@ import java.io.Serializable; * @author Per Bothner * @author Gary Benson (gbenson@redhat.com) * - * @specnote This class is not final since JK 1.4 + * @specnote This class is not final since JDK 1.4 */ public class InetAddress implements Serializable { @@ -87,7 +87,7 @@ public class InetAddress implements Serializable } catch (UnknownHostException e) { - throw new RuntimeException("should never happen", e); + throw (InternalError) new InternalError().initCause(e); } ANY_IF.hostName = ANY_IF.getHostName(); } @@ -104,7 +104,7 @@ public class InetAddress implements Serializable } catch (UnknownHostException e) { - throw new RuntimeException("should never happen", e); + throw (InternalError) new InternalError().initCause(e); } } @@ -522,7 +522,7 @@ public class InetAddress implements Serializable } catch (UnknownHostException e) { - throw new RuntimeException("should never happen", e); + throw (InternalError) new InternalError().initCause(e); } } diff --git a/libjava/classpath/java/net/MulticastSocket.java b/libjava/classpath/java/net/MulticastSocket.java index 03bdf1e77d9..2841192db61 100644 --- a/libjava/classpath/java/net/MulticastSocket.java +++ b/libjava/classpath/java/net/MulticastSocket.java @@ -202,13 +202,41 @@ public class MulticastSocket extends DatagramSocket { if (isClosed()) throw new SocketException("socket is closed"); - - Enumeration e = netIf.getInetAddresses(); - - if (! e.hasMoreElements()) - throw new SocketException("no network devices found"); - - InetAddress address = (InetAddress) e.nextElement(); + + InetAddress address; + if (netIf != null) + out: + { + Enumeration e = netIf.getInetAddresses(); + if (getLocalAddress() instanceof Inet4Address) + { + // Search for a IPv4 address. + while (e.hasMoreElements()) + { + address = (InetAddress) e.nextElement(); + if (address instanceof Inet4Address) + break out; + } + throw new SocketException("interface " + netIf.getName() + " has no IPv6 address"); + } + else if (getLocalAddress() instanceof Inet6Address) + { + // Search for a IPv6 address. + while (e.hasMoreElements()) + { + address = (InetAddress) e.nextElement(); + if (address instanceof Inet6Address) + break out; + } + throw new SocketException("interface " + netIf.getName() + " has no IPv6 address"); + } + else + throw new SocketException("interface " + netIf.getName() + " has no suitable IP address"); + } + else + address = InetAddress.ANY_IF; + + getImpl().setOption(SocketOptions.IP_MULTICAST_IF, address); } @@ -230,6 +258,10 @@ public class MulticastSocket extends DatagramSocket InetAddress address = (InetAddress) getImpl().getOption(SocketOptions.IP_MULTICAST_IF); + + if (address.isAnyLocalAddress()) + return NetworkInterface.createAnyInterface(); + NetworkInterface netIf = NetworkInterface.getByInetAddress(address); return netIf; diff --git a/libjava/classpath/java/net/NetworkInterface.java b/libjava/classpath/java/net/NetworkInterface.java index 47b1c67cae7..6c78ead5b4c 100644 --- a/libjava/classpath/java/net/NetworkInterface.java +++ b/libjava/classpath/java/net/NetworkInterface.java @@ -1,5 +1,5 @@ /* NetworkInterface.java -- - Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package java.net; +import gnu.classpath.SystemProperties; + import java.util.Collection; import java.util.Collections; import java.util.Enumeration; @@ -58,25 +60,23 @@ import java.util.Vector; */ public final class NetworkInterface { - private String name; - private Vector inetAddresses; - - NetworkInterface(String name, InetAddress address) - { - this.name = name; - this.inetAddresses = new Vector(1, 1); - this.inetAddresses.add(address); - } - - NetworkInterface(String name, InetAddress[] addresses) + private final VMNetworkInterface netif; + + private NetworkInterface(VMNetworkInterface netif) + { + this.netif = netif; + } + + /** Creates an NetworkInterface instance which + * represents any interface in the system. Its only + * address is 0.0.0.0/0.0.0.0. This + * method is needed by {@link MulticastSocket#getNetworkInterface} + */ + static NetworkInterface createAnyInterface() { - this.name = name; - this.inetAddresses = new Vector(addresses.length, 1); - - for (int i = 0; i < addresses.length; i++) - this.inetAddresses.add(addresses[i]); + return new NetworkInterface(new VMNetworkInterface()); } - + /** * Returns the name of the network interface * @@ -84,7 +84,7 @@ public final class NetworkInterface */ public String getName() { - return name; + return netif.name; } /** @@ -97,22 +97,23 @@ public final class NetworkInterface * * @return An enumeration of all addresses. */ - public Enumeration getInetAddresses() + public Enumeration getInetAddresses() { SecurityManager s = System.getSecurityManager(); + Vector inetAddresses = new Vector(netif.addresses); if (s == null) return inetAddresses.elements(); - Vector tmpInetAddresses = new Vector(1, 1); + Vector tmpInetAddresses = new Vector(1, 1); - for (Enumeration addresses = inetAddresses.elements(); + for (Enumeration addresses = inetAddresses.elements(); addresses.hasMoreElements();) { - InetAddress addr = (InetAddress) addresses.nextElement(); + InetAddress addr = addresses.nextElement(); try { - s.checkConnect(addr.getHostAddress(), 58000); + s.checkConnect(addr.getHostAddress(), -1); tmpInetAddresses.add(addr); } catch (SecurityException e) @@ -131,7 +132,7 @@ public final class NetworkInterface */ public String getDisplayName() { - return name; + return netif.name; } /** @@ -148,15 +149,14 @@ public final class NetworkInterface public static NetworkInterface getByName(String name) throws SocketException { - for (Enumeration e = getNetworkInterfaces(); e.hasMoreElements();) + if (name == null) + throw new NullPointerException(); + VMNetworkInterface[] netifs = VMNetworkInterface.getVMInterfaces(); + for (int i = 0; i < netifs.length; i++) { - NetworkInterface tmp = (NetworkInterface) e.nextElement(); - - if (name.equals(tmp.getName())) - return tmp; + if (netifs[i].name.equals(name)) + return new NetworkInterface(netifs[i]); } - - // No interface with the given name found. return null; } @@ -173,55 +173,15 @@ public final class NetworkInterface public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException { - for (Enumeration interfaces = getNetworkInterfaces(); - interfaces.hasMoreElements();) + if (addr == null) + throw new NullPointerException(); + VMNetworkInterface[] netifs = VMNetworkInterface.getVMInterfaces(); + for (int i = 0; i < netifs.length; i++) { - NetworkInterface tmp = (NetworkInterface) interfaces.nextElement(); - - for (Enumeration addresses = tmp.inetAddresses.elements(); - addresses.hasMoreElements();) - { - if (addr.equals((InetAddress) addresses.nextElement())) - return tmp; - } + if (netifs[i].addresses.contains(addr)) + return new NetworkInterface(netifs[i]); } - - throw new SocketException("no network interface is bound to such an IP address"); - } - - static private Collection condense(Collection interfaces) - { - final Map condensed = new HashMap(); - - final Iterator interfs = interfaces.iterator(); - while (interfs.hasNext()) { - - final NetworkInterface face = (NetworkInterface) interfs.next(); - final String name = face.getName(); - - if (condensed.containsKey(name)) - { - final NetworkInterface conface = (NetworkInterface) condensed.get(name); - if (!conface.inetAddresses.containsAll(face.inetAddresses)) - { - final Iterator faceAddresses = face.inetAddresses.iterator(); - while (faceAddresses.hasNext()) - { - final InetAddress faceAddress = (InetAddress) faceAddresses.next(); - if (!conface.inetAddresses.contains(faceAddress)) - { - conface.inetAddresses.add(faceAddress); - } - } - } - } - else - { - condensed.put(name, face); - } - } - - return condensed.values(); + return null; } /** @@ -231,16 +191,18 @@ public final class NetworkInterface * * @exception SocketException If an error occurs */ - public static Enumeration getNetworkInterfaces() throws SocketException + public static Enumeration getNetworkInterfaces() + throws SocketException { - Vector networkInterfaces = VMNetworkInterface.getInterfaces(); - - if (networkInterfaces.isEmpty()) - return null; - - Collection condensed = condense(networkInterfaces); - - return Collections.enumeration(condensed); + VMNetworkInterface[] netifs = VMNetworkInterface.getVMInterfaces(); + Vector networkInterfaces = + new Vector(netifs.length); + for (int i = 0; i < netifs.length; i++) + { + if (!netifs[i].addresses.isEmpty()) + networkInterfaces.add(new NetworkInterface(netifs[i])); + } + return networkInterfaces.elements(); } /** @@ -256,8 +218,12 @@ public final class NetworkInterface return false; NetworkInterface tmp = (NetworkInterface) obj; + + if (netif.name == null) + return tmp.netif.name == null; - return (name.equals(tmp.name) && inetAddresses.equals(tmp.inetAddresses)); + return (netif.name.equals(tmp.netif.name) + && (netif.addresses.equals(tmp.netif.addresses))); } /** @@ -268,7 +234,12 @@ public final class NetworkInterface public int hashCode() { // FIXME: hash correctly - return name.hashCode() + inetAddresses.hashCode(); + int hc = netif.addresses.hashCode(); + + if (netif.name != null) + hc += netif.name.hashCode(); + + return hc; } /** @@ -279,19 +250,22 @@ public final class NetworkInterface public String toString() { // FIXME: check if this is correct - String result; - String separator = System.getProperty("line.separator"); + StringBuffer result; + String separator = SystemProperties.getProperty("line.separator"); - result = - "name: " + getDisplayName() + " (" + getName() + ") addresses:" - + separator; + result = new StringBuffer(); + + result.append("name: "); + result.append(getDisplayName()); + result.append(" (").append(getName()).append(") addresses:"); + result.append(separator); - for (Enumeration e = inetAddresses.elements(); e.hasMoreElements();) + for (Iterator it = netif.addresses.iterator(); it.hasNext(); ) { - InetAddress address = (InetAddress) e.nextElement(); - result += address.toString() + ";" + separator; + InetAddress address = (InetAddress) it.next(); + result.append(address.toString()).append(";").append(separator); } - return result; + return result.toString(); } } diff --git a/libjava/classpath/java/net/Proxy.java b/libjava/classpath/java/net/Proxy.java new file mode 100644 index 00000000000..7b4ef299206 --- /dev/null +++ b/libjava/classpath/java/net/Proxy.java @@ -0,0 +1,137 @@ +/* Proxy.java -- Represends a proxy for a network connection + Copyright (C) 2006 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. */ + +package java.net; + + +/** + * Defines a proxy setting. This setting contains a type (https, socks, + * direct) and a socket address. + * + * @since 1.5 + */ +public class Proxy +{ + /** + * Represents the proxy type. + */ + public enum Type + { + DIRECT, HTTP, SOCKS; + + /** + * For compatability with Sun's JDK + */ + private static final long serialVersionUID = -2231209257930100533L; + }; + + public static final Proxy NO_PROXY = new Proxy(Type.DIRECT, null); + + private Type type; + private SocketAddress address; + + /** + * Creates a new Proxy object. + * + * @param type The type for this proxy + * @param address The address of this proxy + */ + public Proxy(Type type, SocketAddress address) + { + this.type = type; + this.address = address; + } + + /** + * Returns the socket address for this proxy object. + * + * @return the socket address + */ + public SocketAddress address() + { + return address; + } + + /** + * Returns the of this proxy instance. + * + * @return the type + * + * @see Type + */ + public Type type() + { + return type; + } + + /** + * Compares the given object with this object. + * + * @return true if both objects or equals, + * false otherwise. + */ + public final boolean equals(Object obj) + { + if (! (obj instanceof Proxy)) + return false; + + Proxy tmp = (Proxy) obj; + + return (type.equals(tmp.type) + && address.equals(tmp.address)); + } + + /** + * Returns the hashcode for this Proxy object. + * + * @return the hashcode + */ + public final int hashCode() + { + return type.hashCode() ^ address.hashCode(); + } + + /** + * Returns a string representation of this Proxy object. + * + * @return the string + */ + public String toString() + { + return type.toString() + ":" + address.toString(); + } +} diff --git a/libjava/classpath/java/net/ProxySelector.java b/libjava/classpath/java/net/ProxySelector.java new file mode 100644 index 00000000000..78592a24441 --- /dev/null +++ b/libjava/classpath/java/net/ProxySelector.java @@ -0,0 +1,117 @@ +/* ProxySelector.java -- A proxy selector class + Copyright (C) 2006 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. */ + +package java.net; + +import gnu.java.net.DefaultProxySelector; + +import java.io.IOException; +import java.util.List; + +/** + * Class for handling proxies for different connections. + * + * @since 1.5 + */ +public abstract class ProxySelector +{ + /** + * Default proxy selector. + */ + private static ProxySelector defaultSelector = new DefaultProxySelector(); + + /** + * Creates a new ProxySelector object. + */ + public ProxySelector() + { + // Do nothing here. + } + + /** + * Returns the default proxy selector. + * + * @return the default proxy selector + * + * @throws SecurityException If a security manager is installed and it + * denies NetPermission("getProxySelector") + */ + public static ProxySelector getDefault() + { + SecurityManager sm = System.getSecurityManager(); + + if (sm != null) + sm.checkPermission(new NetPermission("getProxySelector")); + + return defaultSelector; + } + + /** + * Sets the default proxy selector. + * + * @param selector the defualt proxy selector + * + * @throws SecurityException If a security manager is installed and it + * denies NetPermission("setProxySelector") + */ + public static void setDefault(ProxySelector selector) + { + SecurityManager sm = System.getSecurityManager(); + + if (sm != null) + sm.checkPermission(new NetPermission("setProxySelector")); + + defaultSelector = selector; + } + + /** + * Signals to the selector that a proxy was no available. + * + * @throws IllegalArgumentException If one argument is null + */ + public abstract void connectFailed(URI uri, SocketAddress address, + IOException exception); + + /** + * Returns the list of proxy settings for a given URI. + * + * @return list of proxy settings + * + * @throws IllegalArgumentException If uri is null + */ + public abstract List select(URI uri); +} diff --git a/libjava/classpath/java/net/ServerSocket.java b/libjava/classpath/java/net/ServerSocket.java index 2b889531a7c..d5f2a176b81 100644 --- a/libjava/classpath/java/net/ServerSocket.java +++ b/libjava/classpath/java/net/ServerSocket.java @@ -79,6 +79,7 @@ public class ServerSocket * We need to retain the local address even after the socket is closed. */ private InetSocketAddress local; + private int port; /* * This constructor is only used by java.nio. @@ -93,6 +94,7 @@ public class ServerSocket this.impl = impl; this.impl.create(true); + setReuseAddress(true); } /* @@ -219,43 +221,53 @@ public class ServerSocket if (isClosed()) throw new SocketException("ServerSocket is closed"); - if (! (endpoint instanceof InetSocketAddress)) - throw new IllegalArgumentException("Address type not supported"); + if (isBound()) + throw new SocketException("Already bound"); - InetSocketAddress tmp = (InetSocketAddress) endpoint; + InetAddress addr; + int port; + + if (endpoint == null) + { + addr = InetAddress.ANY_IF; + port = 0; + } + else if (! (endpoint instanceof InetSocketAddress)) + { + throw new IllegalArgumentException("Address type not supported"); + } + else + { + InetSocketAddress tmp = (InetSocketAddress) endpoint; + if (tmp.isUnresolved()) + throw new SocketException("Unresolved address"); + addr = tmp.getAddress(); + port = tmp.getPort(); + } SecurityManager s = System.getSecurityManager(); if (s != null) - s.checkListen(tmp.getPort()); - - InetAddress addr = tmp.getAddress(); - - // Initialize addr with 0.0.0.0. - if (addr == null) - addr = InetAddress.ANY_IF; + s.checkListen(port); try { - impl.bind(addr, tmp.getPort()); + impl.bind(addr, port); impl.listen(backlog); - local = new InetSocketAddress( + this.port = port; + local = new InetSocketAddress( (InetAddress) impl.getOption(SocketOptions.SO_BINDADDR), impl.getLocalPort()); } - catch (IOException exception) - { - close(); - throw exception; - } - catch (RuntimeException exception) - { - close(); - throw exception; - } - catch (Error error) + finally { - close(); - throw error; + try + { + if (local == null) + close(); + } + catch (IOException _) + { + } } } @@ -333,6 +345,19 @@ public class ServerSocket throw e; } + catch (SecurityException e) + { + try + { + socket.close(); + } + catch (IOException e2) + { + // Ignore. + } + + throw e; + } return socket; } @@ -355,9 +380,6 @@ public class ServerSocket if (isClosed()) throw new SocketException("ServerSocket is closed"); - // FIXME: Add a security check to make sure we're allowed to - // connect to the remote host. - // The Sun spec says that if we have an associated channel and // it is in non-blocking mode, we throw an IllegalBlockingModeException. // However, in our implementation if the channel itself initiated this @@ -367,8 +389,12 @@ public class ServerSocket throw new IllegalBlockingModeException(); impl.accept(socket.impl); - socket.implCreated = true; socket.bound = true; + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkAccept(socket.getInetAddress().getHostAddress(), + socket.getPort()); } /** @@ -378,14 +404,11 @@ public class ServerSocket */ public void close() throws IOException { - if (isClosed()) - return; - - impl.close(); - impl = null; - - if (getChannel() != null) - getChannel().close(); + if (impl != null) + { + impl.close(); + impl = null; + } } /** @@ -425,7 +448,8 @@ public class ServerSocket */ public boolean isClosed() { - return impl == null; + ServerSocketChannel channel = getChannel(); + return impl == null || (channel != null && ! channel.isOpen()); } /** @@ -573,7 +597,7 @@ public class ServerSocket return "ServerSocket[unbound]"; return ("ServerSocket[addr=" + getInetAddress() + ",port=" - + impl.getPort() + ",localport=" + impl.getLocalPort() + "]"); + + port + ",localport=" + getLocalPort() + "]"); } /** @@ -594,6 +618,13 @@ public class ServerSocket public static synchronized void setSocketFactory(SocketImplFactory fac) throws IOException { + if (factory != null) + throw new SocketException("SocketFactory already defined"); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkSetFactory(); + factory = fac; } } diff --git a/libjava/classpath/java/net/Socket.java b/libjava/classpath/java/net/Socket.java index b2249ffaa0d..f4f25fe1c1b 100644 --- a/libjava/classpath/java/net/Socket.java +++ b/libjava/classpath/java/net/Socket.java @@ -1,5 +1,5 @@ /* Socket.java -- Client socket implementation - Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004 + Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -82,13 +82,6 @@ public class Socket // package-private because ServerSocket.implAccept() needs to access it. SocketImpl impl; - /** - * True if socket implementation was created by calling their - * create() method. - */ - // package-private because ServerSocket.implAccept() needs to access it. - boolean implCreated; - /** * True if the socket is bound. * Package private so it can be set from ServerSocket when accept is called. @@ -298,15 +291,33 @@ public class Socket SecurityManager sm = System.getSecurityManager(); if (sm != null) - sm.checkConnect(raddr.getHostName(), rport); + sm.checkConnect(raddr.getHostAddress(), rport); // bind socket SocketAddress bindaddr = laddr == null ? null : new InetSocketAddress(laddr, lport); bind(bindaddr); - // connect socket - connect(new InetSocketAddress(raddr, rport)); + // Connect socket in case of Exceptions we must close the socket + // because an exception in the constructor means that the caller will + // not have a reference to this instance. + // Note: You may have the idea that the exception treatment + // should be moved into connect() but there is a Mauve test which + // shows that a failed connect should not close the socket. + try + { + connect(new InetSocketAddress(raddr, rport)); + } + catch (IOException ioe) + { + impl.close(); + throw ioe; + } + catch (RuntimeException re) + { + impl.close(); + throw re; + } // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, // i.e. '0' and if localAddr is unspecified, use getLocalAddress() as @@ -315,21 +326,6 @@ public class Socket private SocketImpl getImpl() throws SocketException { - try - { - if (! implCreated) - { - impl.create(true); - implCreated = true; - } - } - catch (IOException e) - { - SocketException se = new SocketException(e.toString()); - se.initCause(e); - throw se; - } - return impl; } @@ -363,6 +359,7 @@ public class Socket // bind to address/port try { + getImpl().create(true); getImpl().bind(tmp.getAddress(), tmp.getPort()); bound = true; } @@ -479,16 +476,22 @@ public class Socket InetAddress addr = null; - try + if (impl instanceof PlainSocketImpl) + addr = ((PlainSocketImpl) impl).getLocalAddress().getAddress(); + + if (addr == null) { - addr = (InetAddress) getImpl().getOption(SocketOptions.SO_BINDADDR); - } - catch (SocketException e) - { - // (hopefully) shouldn't happen - // throw new java.lang.InternalError - // ("Error in PlainSocketImpl.getOption"); - return null; + try + { + addr = (InetAddress) getImpl().getOption(SocketOptions.SO_BINDADDR); + } + catch (SocketException e) + { + // (hopefully) shouldn't happen + // throw new java.lang.InternalError + // ("Error in PlainSocketImpl.getOption"); + return null; + } } // FIXME: According to libgcj, checkConnect() is supposed to be called @@ -707,10 +710,10 @@ public class Socket if (linger > 65535) linger = 65535; - getImpl().setOption(SocketOptions.SO_LINGER, new Integer(linger)); + getImpl().setOption(SocketOptions.SO_LINGER, Integer.valueOf(linger)); } else - getImpl().setOption(SocketOptions.SO_LINGER, Boolean.valueOf(false)); + getImpl().setOption(SocketOptions.SO_LINGER, Integer.valueOf(-1)); } /** @@ -1001,12 +1004,8 @@ public class Socket if (isClosed()) return; - getImpl().close(); + impl.close(); impl = null; - bound = false; - - if (getChannel() != null) - getChannel().close(); } /** @@ -1019,16 +1018,17 @@ public class Socket try { if (isConnected()) - return ("Socket[addr=" + getImpl().getInetAddress() + ",port=" - + getImpl().getPort() + ",localport=" - + getImpl().getLocalPort() + "]"); + return (super.toString() + + " [addr=" + getImpl().getInetAddress() + ",port=" + + getImpl().getPort() + ",localport=" + + getImpl().getLocalPort() + "]"); } catch (SocketException e) { // This cannot happen as we are connected. } - return "Socket[unconnected]"; + return super.toString() + " [unconnected]"; } /** @@ -1206,17 +1206,10 @@ public class Socket */ public boolean isConnected() { - try - { - if (getImpl() == null) - return false; - - return getImpl().getInetAddress() != null; - } - catch (SocketException e) - { - return false; - } + if (impl == null) + return false; + + return impl.getInetAddress() != null; } /** @@ -1228,6 +1221,13 @@ public class Socket */ public boolean isBound() { + if (isClosed()) + return false; + if (impl instanceof PlainSocketImpl) + { + InetSocketAddress addr = ((PlainSocketImpl) impl).getLocalAddress(); + return addr != null && addr.getAddress() != null; + } return bound; } @@ -1240,7 +1240,9 @@ public class Socket */ public boolean isClosed() { - return impl == null; + SocketChannel channel = getChannel(); + + return impl == null || (channel != null && ! channel.isOpen()); } /** diff --git a/libjava/classpath/java/net/URI.java b/libjava/classpath/java/net/URI.java index 401352fcf3c..689843c0bf9 100644 --- a/libjava/classpath/java/net/URI.java +++ b/libjava/classpath/java/net/URI.java @@ -156,7 +156,7 @@ import java.util.regex.Pattern; * @since 1.4 */ public final class URI - implements Comparable, Serializable + implements Comparable, Serializable { /** * For serialization compatability. @@ -1229,7 +1229,7 @@ public final class URI } /** - * Compare the URI with another object that must also be a URI. + * Compare the URI with another URI. * Undefined components are taken to be less than any other component. * The following criteria are observed: *

    @@ -1265,16 +1265,14 @@ public final class URI * * * - * @param obj This object to compare this URI with + * @param uri The other URI to compare this URI with * @return a negative integer, zero or a positive integer depending * on whether this URI is less than, equal to or greater * than that supplied, respectively. - * @throws ClassCastException if the given object is not a URI */ - public int compareTo(Object obj) + public int compareTo(URI uri) throws ClassCastException { - URI uri = (URI) obj; if (scheme == null && uri.getScheme() != null) return -1; if (scheme != null) diff --git a/libjava/classpath/java/net/URL.java b/libjava/classpath/java/net/URL.java index ed7decc7992..8f72d0687e4 100644 --- a/libjava/classpath/java/net/URL.java +++ b/libjava/classpath/java/net/URL.java @@ -322,7 +322,8 @@ public final class URL implements Serializable */ public URL(String spec) throws MalformedURLException { - this((URL) null, spec != null ? spec : "", (URLStreamHandler) null); + this((URL) null, spec != null ? spec : "", (URLStreamHandler) null, + false); } /** @@ -343,7 +344,9 @@ public final class URL implements Serializable */ public URL(URL context, String spec) throws MalformedURLException { - this(context, spec, (context == null) ? (URLStreamHandler)null : context.ph); + this(context, spec, + (context == null) ? (URLStreamHandler) null : context.ph, + false); } /** @@ -376,6 +379,23 @@ public final class URL implements Serializable */ public URL(URL context, String spec, URLStreamHandler ph) throws MalformedURLException + { + this(context, spec, ph, true); + } + + /** + * Private constructor called by all other constructors taking + * a context and spec. + * + * @param context The context in which to parse the specification + * @param spec The string to parse as an URL + * @param ph The stream handler for the URL + * @param phFromUser Whether or not the user supplied the URLStreamHandler + * + */ + private URL(URL context, String spec, URLStreamHandler ph, + boolean phFromUser) + throws MalformedURLException { /* A protocol is defined by the doc as the substring before a ':' * as long as the ':' occurs before any '/'. @@ -397,7 +417,11 @@ public final class URL implements Serializable if ((colon = spec.indexOf("://", 1)) > 0 && ((colon < slash || slash < 0)) && ! spec.regionMatches(colon, "://:", 0, 4)) - context = null; + { + context = null; + if (! phFromUser) + ph = null; + } boolean protocolSpecified = false; @@ -458,7 +482,7 @@ public final class URL implements Serializable if (ph != null) { SecurityManager s = System.getSecurityManager(); - if (s != null) + if (s != null && phFromUser) s.checkPermission(new NetPermission("specifyStreamHandler")); this.ph = ph; diff --git a/libjava/classpath/java/net/URLClassLoader.java b/libjava/classpath/java/net/URLClassLoader.java index 403f7485c79..7e2353ac27e 100644 --- a/libjava/classpath/java/net/URLClassLoader.java +++ b/libjava/classpath/java/net/URLClassLoader.java @@ -508,7 +508,7 @@ public class URLClassLoader extends SecureClassLoader * loaded * @return a Class object representing the found class */ - protected Class findClass(final String className) + protected Class findClass(final String className) throws ClassNotFoundException { // Just try to find the resource by the (almost) same name @@ -714,10 +714,10 @@ public class URLClassLoader extends SecureClassLoader * @exception IOException when an error occurs accessing one of the * locations */ - public Enumeration findResources(String resourceName) + public Enumeration findResources(String resourceName) throws IOException { - Vector resources = new Vector(); + Vector resources = new Vector(); int max = urlinfos.size(); for (int i = 0; i < max; i++) { diff --git a/libjava/classpath/java/net/URLConnection.java b/libjava/classpath/java/net/URLConnection.java index 28142b10aad..67405801416 100644 --- a/libjava/classpath/java/net/URLConnection.java +++ b/libjava/classpath/java/net/URLConnection.java @@ -49,6 +49,7 @@ import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; @@ -174,9 +175,14 @@ public abstract class URLConnection private static boolean dateformats_initialized; /** - * The timeout period. + * The connection timeout period. */ - private int timeout; + private int connectTimeout; + + /** + * The read timeout period. + */ + private int readTimeout; /* Cached ParsePosition, used when parsing dates. */ private ParsePosition position; @@ -216,8 +222,8 @@ public abstract class URLConnection } /** - * Returns the connection timeout speed, in milliseconds, or zero if the timeout - * is infinite or not set. + * Returns the connection timeout speed, in milliseconds, or zero if + * the timeout is infinite or not set. * * @return The timeout. * @@ -225,7 +231,7 @@ public abstract class URLConnection */ public int getConnectTimeout() { - return timeout; + return connectTimeout; } /** @@ -235,7 +241,7 @@ public abstract class URLConnection * * Throws an IllegalArgumentException if timeout < 0. * - * @param timeout - The timeout, in milliseconds. + * @param timeout the timeout, in milliseconds. * * @since 1.5 */ @@ -244,7 +250,45 @@ public abstract class URLConnection { if( timeout < 0 ) throw new IllegalArgumentException("Timeout must be 0 or positive."); - this.timeout = timeout; + connectTimeout = timeout; + } + + /** + * Returns the read timeout, in milliseconds, or zero if the timeout + * is infinite or not set. + * + * @return The timeout. + * + * @see #setReadTimeout + * + * @since 1.5 + */ + public int getReadTimeout() + { + return readTimeout; + } + + /** + * Set the read timeout, in milliseconds, or zero if the timeout + * is to be considered infinite. Note that in certain socket + * implementations/platforms this method may not have any effect. + * + * Throws an IllegalArgumentException if timeout < 0. + * + * @param timeout - The timeout, in milliseconds. + * + * @throws IllegalArgumentException if timeout is negative. + * + * @see #getReadTimeout + * + * @since 1.5 + */ + public void setReadTimeout(int timeout) + throws IllegalArgumentException + { + if( timeout < 0 ) + throw new IllegalArgumentException("Timeout must be 0 or positive."); + readTimeout = timeout; } /** @@ -359,10 +403,10 @@ public abstract class URLConnection * * @since 1.4 */ - public Map getHeaderFields() + public Map> getHeaderFields() { // Subclasses for specific protocols override this. - return Collections.EMPTY_MAP; + return Collections.emptyMap(); } /** @@ -862,14 +906,14 @@ public abstract class URLConnection * * @since 1.4 */ - public Map getRequestProperties() + public Map> getRequestProperties() { if (connected) throw new IllegalStateException("Already connected"); // Overridden by subclasses that support reading header fields from the // request. - return Collections.EMPTY_MAP; + return Collections.emptyMap(); } /** diff --git a/libjava/classpath/java/net/class-dependencies.conf b/libjava/classpath/java/net/class-dependencies.conf new file mode 100644 index 00000000000..8b130f53684 --- /dev/null +++ b/libjava/classpath/java/net/class-dependencies.conf @@ -0,0 +1,122 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + +java/net/InetAddress: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/net/UnknownHostException.(Ljava/lang/String;)V + +java/net/DatagramSocketImpl: \ + java/net/DatagramSocketImpl.fd(Ljava/io/FileDescriptor;) \ + java/net/DatagramSocketImpl.localPort(I) + +java/net/PlainDatagramSocketImpl: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V \ + java/io/FileDescriptor.()V \ + java/lang/Boolean.(Z)V \ + java/lang/Integer.(I)V \ + java/net/InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress; \ + java/net/InetAddress.getAddress()[B \ + java/lang/Boolean.booleanValue()Z \ + java/lang/Integer.intValue()I \ + java/net/SocketException.(Ljava/lang/String;)V \ + java/net/DatagramPacket.getData()[B \ + java/net/SocketImpl.address(Ljava/net/InetAddress;) \ + java/net/PlainSocketImpl.native_fd(I) \ + java/net/SocketImpl.fd(Ljava/io/FileDescriptor;) \ + java/net/SocketImpl.address(Ljava/net/InetAddress;) \ + java/net/PlainDatagramSocketImpl.native_fd(I) \ + java/net/SocketImpl.localport(I) \ + java/net/SocketImpl.port(I) + +java/net/PlainSocketImpl: \ + java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ + java/lang/InternalError.(Ljava/lang/String;)V \ + java/io/IOException.(Ljava/lang/String;)V \ + java/io/FileDescriptor.()V \ + java/lang/Boolean.(Z)V \ + java/lang/Integer.(I)V \ + java/net/InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress; \ + java/net/InetAddress.getAddress()[B \ + java/lang/Boolean.booleanValue()Z \ + java/lang/Integer.intValue()I \ + java/net/SocketException.(Ljava/lang/String;)V \ + java/net/DatagramPacket.getData()[B \ + java/net/SocketImpl.address(Ljava/net/InetAddress;) \ + java/net/PlainSocketImpl.native_fd(I) \ + java/net/SocketImpl.fd(Ljava/io/FileDescriptor;) \ + java/net/SocketImpl.address(Ljava/net/InetAddress;) \ + java/net/PlainDatagramSocketImpl.native_fd(I) \ + java/net/SocketImpl.localport(I) \ + java/net/SocketImpl.port(I) + +# All protocols supported are loaded via URL.getURLStreamHandler from +# class gnu.java.net.protocol..Handler. +# +# This introduces a dependency for all protocols. To allow an easy selection +# and addition of protocols, the library variable {protocols} can be set to +# the set of supported protocols. +# +{protocols}: http file jar + +java/net/URL.getURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;: \ + gnu/java/net/protocol/{protocols}/Handler.* \ + com/aicas/java/net/protocol/rom/Handler.* + +# end of file diff --git a/libjava/classpath/java/nio/ByteBuffer.java b/libjava/classpath/java/nio/ByteBuffer.java index 0ccf7663cfa..78ad4471836 100644 --- a/libjava/classpath/java/nio/ByteBuffer.java +++ b/libjava/classpath/java/nio/ByteBuffer.java @@ -1,5 +1,5 @@ /* ByteBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package java.nio; * @since 1.4 */ public abstract class ByteBuffer extends Buffer - implements Comparable + implements Comparable { ByteOrder endian = ByteOrder.BIG_ENDIAN; @@ -290,7 +290,7 @@ public abstract class ByteBuffer extends Buffer { if (obj instanceof ByteBuffer) { - return compareTo (obj) == 0; + return compareTo ((ByteBuffer) obj) == 0; } return false; @@ -302,10 +302,8 @@ public abstract class ByteBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * ByteBuffer. */ - public int compareTo (Object obj) + public int compareTo (ByteBuffer other) { - ByteBuffer other = (ByteBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); diff --git a/libjava/classpath/java/nio/CharBuffer.java b/libjava/classpath/java/nio/CharBuffer.java index 356a920eea0..34f429f62f7 100644 --- a/libjava/classpath/java/nio/CharBuffer.java +++ b/libjava/classpath/java/nio/CharBuffer.java @@ -1,5 +1,5 @@ /* CharBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,11 +38,13 @@ exception statement from your version. */ package java.nio; +import java.io.IOException; + /** * @since 1.4 */ public abstract class CharBuffer extends Buffer - implements Comparable, CharSequence + implements Comparable, CharSequence, Readable, Appendable { int array_offset; char[] backing_buffer; @@ -163,6 +165,18 @@ public abstract class CharBuffer extends Buffer return this; } + /** @since 1.5 */ + public int read(CharBuffer buffer) throws IOException + { + // We want to call put(), so we don't manipulate the CharBuffer + // directly. + int rem = Math.min(buffer.remaining(), remaining()); + char[] buf = new char[rem]; + get(buf); + buffer.put(buf); + return rem; + } + /** * This method transfers chars from this buffer into the given * destination array. @@ -323,7 +337,7 @@ public abstract class CharBuffer extends Buffer { if (obj instanceof CharBuffer) { - return compareTo (obj) == 0; + return compareTo ((CharBuffer) obj) == 0; } return false; @@ -335,10 +349,8 @@ public abstract class CharBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * CharBuffer. */ - public int compareTo (Object obj) + public int compareTo (CharBuffer other) { - CharBuffer other = (CharBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); @@ -503,4 +515,25 @@ public abstract class CharBuffer extends Buffer return get (position () + index); } + + /** @since 1.5 */ + public CharBuffer append(char c) + { + put(c); + return this; + } + + /** @since 1.5 */ + public CharBuffer append(CharSequence cs) + { + put(cs == null ? "null" : cs.toString()); + return this; + } + + /** @since 1.5 */ + public CharBuffer append(CharSequence cs, int start, int end) + { + put(cs == null ? "null" : cs.subSequence(start, end).toString()); + return this; + } } diff --git a/libjava/classpath/java/nio/DirectByteBufferImpl.java b/libjava/classpath/java/nio/DirectByteBufferImpl.java index 3a9036f3148..8c907f597f0 100644 --- a/libjava/classpath/java/nio/DirectByteBufferImpl.java +++ b/libjava/classpath/java/nio/DirectByteBufferImpl.java @@ -233,7 +233,7 @@ abstract class DirectByteBufferImpl extends ByteBuffer { int pos = position(); if (this.mark != -1) - reset(); + reset(); int mark = position(); position(pos); DirectByteBufferImpl result; diff --git a/libjava/classpath/java/nio/DoubleBuffer.java b/libjava/classpath/java/nio/DoubleBuffer.java index 381bb716636..be7861cbd5e 100644 --- a/libjava/classpath/java/nio/DoubleBuffer.java +++ b/libjava/classpath/java/nio/DoubleBuffer.java @@ -1,5 +1,5 @@ /* DoubleBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package java.nio; * @since 1.4 */ public abstract class DoubleBuffer extends Buffer - implements Comparable + implements Comparable { int array_offset; double[] backing_buffer; @@ -273,7 +273,7 @@ public abstract class DoubleBuffer extends Buffer { if (obj instanceof DoubleBuffer) { - return compareTo (obj) == 0; + return compareTo ((DoubleBuffer) obj) == 0; } return false; @@ -285,10 +285,8 @@ public abstract class DoubleBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * DoubleBuffer. */ - public int compareTo (Object obj) + public int compareTo (DoubleBuffer other) { - DoubleBuffer other = (DoubleBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); diff --git a/libjava/classpath/java/nio/FloatBuffer.java b/libjava/classpath/java/nio/FloatBuffer.java index 8042333cbac..62e353a6818 100644 --- a/libjava/classpath/java/nio/FloatBuffer.java +++ b/libjava/classpath/java/nio/FloatBuffer.java @@ -1,5 +1,5 @@ /* FloatBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package java.nio; * @since 1.4 */ public abstract class FloatBuffer extends Buffer - implements Comparable + implements Comparable { int array_offset; float[] backing_buffer; @@ -273,7 +273,7 @@ public abstract class FloatBuffer extends Buffer { if (obj instanceof FloatBuffer) { - return compareTo (obj) == 0; + return compareTo ((FloatBuffer) obj) == 0; } return false; @@ -285,10 +285,8 @@ public abstract class FloatBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * FloatBuffer. */ - public int compareTo (Object obj) + public int compareTo (FloatBuffer other) { - FloatBuffer other = (FloatBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); diff --git a/libjava/classpath/java/nio/IntBuffer.java b/libjava/classpath/java/nio/IntBuffer.java index 1e1fe9c7565..d6fcb51ddf0 100644 --- a/libjava/classpath/java/nio/IntBuffer.java +++ b/libjava/classpath/java/nio/IntBuffer.java @@ -1,5 +1,5 @@ /* IntBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package java.nio; * @since 1.4 */ public abstract class IntBuffer extends Buffer - implements Comparable + implements Comparable { int array_offset; int[] backing_buffer; @@ -273,7 +273,7 @@ public abstract class IntBuffer extends Buffer { if (obj instanceof IntBuffer) { - return compareTo (obj) == 0; + return compareTo ((IntBuffer) obj) == 0; } return false; @@ -285,10 +285,8 @@ public abstract class IntBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * IntBuffer. */ - public int compareTo (Object obj) + public int compareTo (IntBuffer other) { - IntBuffer other = (IntBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); diff --git a/libjava/classpath/java/nio/LongBuffer.java b/libjava/classpath/java/nio/LongBuffer.java index b3d3557edcf..9c3bfa62741 100644 --- a/libjava/classpath/java/nio/LongBuffer.java +++ b/libjava/classpath/java/nio/LongBuffer.java @@ -1,5 +1,5 @@ /* LongBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package java.nio; * @since 1.4 */ public abstract class LongBuffer extends Buffer - implements Comparable + implements Comparable { int array_offset; long[] backing_buffer; @@ -273,7 +273,7 @@ public abstract class LongBuffer extends Buffer { if (obj instanceof LongBuffer) { - return compareTo (obj) == 0; + return compareTo ((LongBuffer) obj) == 0; } return false; @@ -285,10 +285,8 @@ public abstract class LongBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * LongBuffer. */ - public int compareTo (Object obj) + public int compareTo (LongBuffer other) { - LongBuffer other = (LongBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); diff --git a/libjava/classpath/java/nio/ShortBuffer.java b/libjava/classpath/java/nio/ShortBuffer.java index 958fe8cd6b6..33e458a4b1e 100644 --- a/libjava/classpath/java/nio/ShortBuffer.java +++ b/libjava/classpath/java/nio/ShortBuffer.java @@ -1,5 +1,5 @@ /* ShortBuffer.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,7 @@ package java.nio; * @since 1.4 */ public abstract class ShortBuffer extends Buffer - implements Comparable + implements Comparable { int array_offset; short[] backing_buffer; @@ -273,7 +273,7 @@ public abstract class ShortBuffer extends Buffer { if (obj instanceof ShortBuffer) { - return compareTo (obj) == 0; + return compareTo ((ShortBuffer) obj) == 0; } return false; @@ -285,10 +285,8 @@ public abstract class ShortBuffer extends Buffer * @exception ClassCastException If obj is not an object derived from * ShortBuffer. */ - public int compareTo (Object obj) + public int compareTo (ShortBuffer other) { - ShortBuffer other = (ShortBuffer) obj; - int num = Math.min(remaining(), other.remaining()); int pos_this = position(); int pos_other = other.position(); diff --git a/libjava/classpath/java/nio/channels/Channel.java b/libjava/classpath/java/nio/channels/Channel.java index d488bd27dd0..33fcf31743d 100644 --- a/libjava/classpath/java/nio/channels/Channel.java +++ b/libjava/classpath/java/nio/channels/Channel.java @@ -1,5 +1,5 @@ /* Channel.java -- - Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,8 +39,9 @@ exception statement from your version. */ package java.nio.channels; import java.io.IOException; +import java.io.Closeable; -public interface Channel +public interface Channel extends Closeable { /** * Tells whether this channel is open or not diff --git a/libjava/classpath/java/nio/channels/Selector.java b/libjava/classpath/java/nio/channels/Selector.java index 2c883efd1a1..1c09db70236 100644 --- a/libjava/classpath/java/nio/channels/Selector.java +++ b/libjava/classpath/java/nio/channels/Selector.java @@ -82,7 +82,7 @@ public abstract class Selector * * @exception ClosedSelectorException If this selector is closed. */ - public abstract Set keys(); + public abstract Set keys(); /** * Returns the SelectorProvider that created the selector. @@ -115,7 +115,7 @@ public abstract class Selector * * @exception ClosedSelectorException If this selector is closed. */ - public abstract Set selectedKeys(); + public abstract Set selectedKeys(); /** * Selects a set of keys whose corresponding channels are ready diff --git a/libjava/classpath/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/classpath/java/nio/channels/spi/AbstractSelectableChannel.java index 847c02cce06..5d5277b4a68 100644 --- a/libjava/classpath/java/nio/channels/spi/AbstractSelectableChannel.java +++ b/libjava/classpath/java/nio/channels/spi/AbstractSelectableChannel.java @@ -44,6 +44,7 @@ import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.IllegalBlockingModeException; +import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; @@ -106,7 +107,15 @@ public abstract class AbstractSelectableChannel extends SelectableChannel */ protected final void implCloseChannel() throws IOException { - implCloseSelectableChannel(); + try + { + implCloseSelectableChannel(); + } + finally + { + for (Iterator it = keys.iterator(); it.hasNext(); ) + ((SelectionKey) it.next()).cancel(); + } } /** @@ -234,8 +243,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel if (key != null && key.isValid()) { - if (att != null) - key.attach(att); + key.interestOps(ops); + key.attach(att); } else { diff --git a/libjava/classpath/java/nio/channels/spi/AbstractSelector.java b/libjava/classpath/java/nio/channels/spi/AbstractSelector.java index 78380738a2c..73f5077df92 100644 --- a/libjava/classpath/java/nio/channels/spi/AbstractSelector.java +++ b/libjava/classpath/java/nio/channels/spi/AbstractSelector.java @@ -1,5 +1,5 @@ /* AbstractSelector.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,7 +49,7 @@ public abstract class AbstractSelector extends Selector { private boolean closed; private SelectorProvider provider; - private HashSet cancelledKeys; + private HashSet cancelledKeys; /** * Initializes the slector. @@ -59,7 +59,7 @@ public abstract class AbstractSelector extends Selector protected AbstractSelector(SelectorProvider provider) { this.provider = provider; - this.cancelledKeys = new HashSet(); + this.cancelledKeys = new HashSet(); } /** @@ -115,7 +115,7 @@ public abstract class AbstractSelector extends Selector * * @return the cancelled keys set */ - protected final Set cancelledKeys() + protected final Set cancelledKeys() { if (! isOpen()) throw new ClosedSelectorException(); diff --git a/libjava/classpath/java/nio/charset/Charset.java b/libjava/classpath/java/nio/charset/Charset.java index 3637703a32c..556e4707eeb 100644 --- a/libjava/classpath/java/nio/charset/Charset.java +++ b/libjava/classpath/java/nio/charset/Charset.java @@ -60,7 +60,7 @@ import java.util.TreeMap; * @since 1.4 * @status updated to 1.5 */ -public abstract class Charset implements Comparable +public abstract class Charset implements Comparable { private CharsetEncoder cachedEncoder; private CharsetDecoder cachedDecoder; @@ -219,19 +219,20 @@ public abstract class Charset implements Comparable return cs; } - public static SortedMap availableCharsets() + public static SortedMap availableCharsets() { - TreeMap charsets = new TreeMap(String.CASE_INSENSITIVE_ORDER); - for (Iterator i = provider().charsets(); i.hasNext(); ) + TreeMap charsets + = new TreeMap(String.CASE_INSENSITIVE_ORDER); + for (Iterator i = provider().charsets(); i.hasNext(); ) { - Charset cs = (Charset) i.next(); + Charset cs = i.next(); charsets.put(cs.name(), cs); } CharsetProvider[] providers = providers2(); for (int j = 0; j < providers.length; j++) { - for (Iterator i = providers[j].charsets(); i.hasNext(); ) + for (Iterator i = providers[j].charsets(); i.hasNext(); ) { Charset cs = (Charset) i.next(); charsets.put(cs.name(), cs); @@ -284,14 +285,14 @@ public abstract class Charset implements Comparable return canonicalName; } - public final Set aliases () + public final Set aliases () { if (aliases == null) - return Collections.EMPTY_SET; + return Collections.emptySet(); // should we cache the aliasSet instead? int n = aliases.length; - HashSet aliasSet = new HashSet (n); + HashSet aliasSet = new HashSet (n); for (int i = 0; i < n; ++i) aliasSet.add (aliases[i]); return Collections.unmodifiableSet (aliasSet); @@ -376,9 +377,9 @@ public abstract class Charset implements Comparable } } - public final int compareTo (Object ob) + public final int compareTo (Charset other) { - return canonicalName.compareToIgnoreCase (((Charset) ob).canonicalName); + return canonicalName.compareToIgnoreCase (other.canonicalName); } public final int hashCode () diff --git a/libjava/classpath/java/nio/charset/spi/CharsetProvider.java b/libjava/classpath/java/nio/charset/spi/CharsetProvider.java index 496ccf92789..03653f807d8 100644 --- a/libjava/classpath/java/nio/charset/spi/CharsetProvider.java +++ b/libjava/classpath/java/nio/charset/spi/CharsetProvider.java @@ -1,5 +1,5 @@ /* CharsetProvider.java -- charset service provider interface - Copyright (C) 2002, 2006 Free Software Foundation + Copyright (C) 2002, 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -82,7 +82,7 @@ public abstract class CharsetProvider * @return the iterator * @see Charset#availableCharsets() */ - public abstract Iterator charsets(); + public abstract Iterator charsets(); /** * Returns the named charset, by canonical name or alias. diff --git a/libjava/classpath/java/nio/class-dependencies.conf b/libjava/classpath/java/nio/class-dependencies.conf new file mode 100644 index 00000000000..4fbf75eb1ce --- /dev/null +++ b/libjava/classpath/java/nio/class-dependencies.conf @@ -0,0 +1,58 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + +# end of file diff --git a/libjava/classpath/java/rmi/server/LoaderHandler.java b/libjava/classpath/java/rmi/server/LoaderHandler.java index 0489cd16634..8e966156475 100644 --- a/libjava/classpath/java/rmi/server/LoaderHandler.java +++ b/libjava/classpath/java/rmi/server/LoaderHandler.java @@ -42,6 +42,7 @@ import java.net.URL; /** * @deprecated + * @since 1.1 */ public interface LoaderHandler { @@ -54,13 +55,13 @@ public interface LoaderHandler /** * @deprecated */ - Class loadClass(String name) + Class loadClass(String name) throws MalformedURLException, ClassNotFoundException; /** * @deprecated */ - Class loadClass(URL codebase, String name) + Class loadClass(URL codebase, String name) throws MalformedURLException, ClassNotFoundException; /** diff --git a/libjava/classpath/java/rmi/server/RMIClassLoader.java b/libjava/classpath/java/rmi/server/RMIClassLoader.java index 33c44198d37..7b69d2f2c72 100644 --- a/libjava/classpath/java/rmi/server/RMIClassLoader.java +++ b/libjava/classpath/java/rmi/server/RMIClassLoader.java @@ -51,6 +51,7 @@ import java.util.Iterator; * network-based class loading in RMI. These methods are called by RMI's * internal marshal streams to implement the dynamic class loading of types for * RMI parameters and return values. + * @since 1.1 */ public class RMIClassLoader { @@ -62,13 +63,13 @@ public class RMIClassLoader /** * @deprecated */ - public static Class loadClass(String name) + public static Class loadClass(String name) throws MalformedURLException, ClassNotFoundException { return loadClass("", name); } - public static Class loadClass(String codebase, String name) + public static Class loadClass(String codebase, String name) throws MalformedURLException, ClassNotFoundException { RMIClassLoaderSpi spi = getProviderInstance(); @@ -77,8 +78,8 @@ public class RMIClassLoader return spi.loadClass(codebase, name, null); } - public static Class loadClass(String codebase, String name, - ClassLoader defaultLoader) + public static Class loadClass(String codebase, String name, + ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException { RMIClassLoaderSpi spi = getProviderInstance(); @@ -87,8 +88,8 @@ public class RMIClassLoader return spi.loadClass(codebase, name, defaultLoader); } - public static Class loadProxyClass (String codeBase, String[] interfaces, - ClassLoader defaultLoader) + public static Class loadProxyClass (String codeBase, String[] interfaces, + ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException { RMIClassLoaderSpi spi = getProviderInstance(); @@ -114,7 +115,7 @@ public class RMIClassLoader * @throws MalformedURLException if the URL is not well formed * @throws ClassNotFoundException if the requested class cannot be found */ - public static Class loadClass(URL codeBase, String name) + public static Class loadClass(URL codeBase, String name) throws MalformedURLException, ClassNotFoundException { RMIClassLoaderSpi spi = getProviderInstance(); @@ -151,7 +152,7 @@ public class RMIClassLoader * @return a space seperated list of URLs where the class-definition * of cl may be found */ - public static String getClassAnnotation(Class cl) + public static String getClassAnnotation(Class cl) { RMIClassLoaderSpi spi = getProviderInstance(); if (spi == null) diff --git a/libjava/classpath/java/rmi/server/RMIClassLoaderSpi.java b/libjava/classpath/java/rmi/server/RMIClassLoaderSpi.java index 372d81879f9..ec2c204f1a9 100644 --- a/libjava/classpath/java/rmi/server/RMIClassLoaderSpi.java +++ b/libjava/classpath/java/rmi/server/RMIClassLoaderSpi.java @@ -49,16 +49,16 @@ public abstract class RMIClassLoaderSpi { } - public abstract Class loadClass (String codeBase, String name, - ClassLoader defaultLoader) + public abstract Class loadClass (String codeBase, String name, + ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException; - public abstract Class loadProxyClass (String codeBase, String[] interfaces, - ClassLoader defaultLoader) + public abstract Class loadProxyClass (String codeBase, String[] interfaces, + ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException; public abstract ClassLoader getClassLoader (String codebase) throws MalformedURLException; - public abstract String getClassAnnotation (Class cl); + public abstract String getClassAnnotation (Class cl); } diff --git a/libjava/classpath/java/security/AccessControlContext.java b/libjava/classpath/java/security/AccessControlContext.java index 3b51e94125b..ffcfc0e41af 100644 --- a/libjava/classpath/java/security/AccessControlContext.java +++ b/libjava/classpath/java/security/AccessControlContext.java @@ -89,12 +89,30 @@ public final class AccessControlContext public AccessControlContext(AccessControlContext acc, DomainCombiner combiner) { + AccessControlContext acc2 = null; SecurityManager sm = System.getSecurityManager (); if (sm != null) { - sm.checkPermission (new SecurityPermission ("createAccessControlContext")); + Permission perm = + new SecurityPermission ("createAccessControlContext"); + + // The default SecurityManager.checkPermission(perm) just calls + // AccessController.checkPermission(perm) which in turn just + // calls AccessController.getContext().checkPermission(perm). + // This means AccessController.getContext() is called twice, + // once for the security check and once by us. It's a very + // expensive call (on gcj at least) so if we're using the + // default security manager we avoid this duplication. + if (sm.getClass() == SecurityManager.class) + { + acc2 = AccessController.getContext (); + acc2.checkPermission (perm); + } + else + sm.checkPermission (perm); } - AccessControlContext acc2 = AccessController.getContext(); + if (acc2 == null) + acc2 = AccessController.getContext (); protectionDomains = combiner.combine (acc2.protectionDomains, acc.protectionDomains); this.combiner = combiner; diff --git a/libjava/classpath/java/security/AccessController.java b/libjava/classpath/java/security/AccessController.java index 93e34b87c22..6f8b3ecbd41 100644 --- a/libjava/classpath/java/security/AccessController.java +++ b/libjava/classpath/java/security/AccessController.java @@ -88,7 +88,7 @@ public final class AccessController * should be be called. * @return the result of the action.run() method. */ - public static Object doPrivileged(PrivilegedAction action) + public static T doPrivileged(PrivilegedAction action) { VMAccessController.pushContext(null); try @@ -115,8 +115,8 @@ public final class AccessController * domains should be added to the protection domain of the calling class. * @return the result of the action.run() method. */ - public static Object doPrivileged(PrivilegedAction action, - AccessControlContext context) + public static T doPrivileged(PrivilegedAction action, + AccessControlContext context) { VMAccessController.pushContext(context); try @@ -145,7 +145,7 @@ public final class AccessController * @exception PrivilegedActionException wrapped around any checked exception * that is thrown in the run() method. */ - public static Object doPrivileged(PrivilegedExceptionAction action) + public static T doPrivileged(PrivilegedExceptionAction action) throws PrivilegedActionException { VMAccessController.pushContext(null); @@ -185,8 +185,8 @@ public final class AccessController * @exception PrivilegedActionException wrapped around any checked exception * that is thrown in the run() method. */ - public static Object doPrivileged(PrivilegedExceptionAction action, - AccessControlContext context) + public static T doPrivileged(PrivilegedExceptionAction action, + AccessControlContext context) throws PrivilegedActionException { VMAccessController.pushContext(context); diff --git a/libjava/classpath/java/security/AlgorithmParameterGenerator.java b/libjava/classpath/java/security/AlgorithmParameterGenerator.java index e33fbaf81db..e2a17d4bf9c 100644 --- a/libjava/classpath/java/security/AlgorithmParameterGenerator.java +++ b/libjava/classpath/java/security/AlgorithmParameterGenerator.java @@ -40,6 +40,7 @@ package java.security; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; import java.security.spec.AlgorithmParameterSpec; /** @@ -97,26 +98,29 @@ public class AlgorithmParameterGenerator * Returns a new AlgorithmParameterGenerator instance which * generates algorithm parameters for the specified algorithm. * - * @param algorithm - * the name of algorithm to use. + * @param algorithm the name of algorithm to use. * @return the new instance. - * @throws NoSuchAlgorithmException - * if algorithm is not implemented by any provider. + * @throws NoSuchAlgorithmException if algorithm is not + * implemented by any provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static AlgorithmParameterGenerator getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) try { return getInstance(algorithm, p[i]); } - catch (NoSuchAlgorithmException e) - { - // Ignore. - } - + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } @@ -124,27 +128,27 @@ public class AlgorithmParameterGenerator * Returns a new AlgorithmParameterGenerator instance which * generates algorithm parameters for the specified algorithm. * - * @param algorithm - * the name of algorithm to use. - * @param provider - * the name of the {@link Provider} to use. + * @param algorithm the name of algorithm to use. + * @param provider the name of the {@link Provider} to use. * @return the new instance. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the named provider. - * @throws NoSuchProviderException - * if the named provider was not found. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * named provider. + * @throws NoSuchProviderException if the named provider was not found. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ public static AlgorithmParameterGenerator getInstance(String algorithm, - String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + String provider) + throws NoSuchAlgorithmException, NoSuchProviderException { - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } @@ -152,38 +156,50 @@ public class AlgorithmParameterGenerator * Returns a new AlgorithmParameterGenerator instance which * generates algorithm parameters for the specified algorithm. * - * @param algorithm - * the name of algorithm to use. - * @param provider - * the {@link Provider} to use. + * @param algorithm the name of algorithm to use. + * @param provider the {@link Provider} to use. * @return the new instance. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by {@link Provider}. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by + * {@link Provider}. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. * @since 1.4 * @see Provider */ public static AlgorithmParameterGenerator getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); - + StringBuilder sb = new StringBuilder() + .append("AlgorithmParameterGenerator for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new AlgorithmParameterGenerator( - (AlgorithmParameterGeneratorSpi) Engine.getInstance( - ALGORITHM_PARAMETER_GENERATOR, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(ALGORITHM_PARAMETER_GENERATOR, + algorithm, + provider); + return new AlgorithmParameterGenerator((AlgorithmParameterGeneratorSpi) spi, + provider, + algorithm); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } /** @return the {@link Provider} of this generator. */ diff --git a/libjava/classpath/java/security/AlgorithmParameters.java b/libjava/classpath/java/security/AlgorithmParameters.java index c4655aefacb..f5e5063a17d 100644 --- a/libjava/classpath/java/security/AlgorithmParameters.java +++ b/libjava/classpath/java/security/AlgorithmParameters.java @@ -41,6 +41,7 @@ package java.security; import gnu.java.security.Engine; import java.io.IOException; +import java.lang.reflect.InvocationTargetException; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.InvalidParameterSpecException; @@ -91,106 +92,115 @@ public class AlgorithmParameters /** * Returns a new instance of AlgorithmParameters representing * the specified algorithm parameters. + *

    + * The returned AlgorithmParameters must still be initialized + * with an init() method. * - *

    The returned AlgorithmParameters must still be initialized - * with an init() method.

    - * - * @param algorithm - * the algorithm to use. + * @param algorithm the algorithm to use. * @return the new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by any provider. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by any + * provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static AlgorithmParameters getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); - + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) try { return getInstance(algorithm, p[i]); } - catch (NoSuchAlgorithmException e) - { - // Ignore this. - } - + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } /** * Returns a new instance of AlgorithmParameters representing * the specified algorithm parameters from a named provider. + *

    + * The returned AlgorithmParameters must still be intialized + * with an init() method. + *

    * - *

    The returned AlgorithmParameters must still be intialized - * with an init() method.

    - * - * @param algorithm - * the algorithm to use. - * @param provider - * the name of the {@link Provider} to use. + * @param algorithm the algorithm to use. + * @param provider the name of the {@link Provider} to use. * @return the new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the named provider. - * @throws NoSuchProviderException - * if the named provider was not found. - * @throws IllegalArgumentException - * if provider is null or is an empty - * string. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * named provider. + * @throws NoSuchProviderException if the named provider was not found. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ - public static AlgorithmParameters getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + public static AlgorithmParameters getInstance(String algorithm, + String provider) + throws NoSuchAlgorithmException, NoSuchProviderException { - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } /** * Returns a new instance of AlgorithmParameters representing * the specified algorithm parameters from the specified {@link Provider}. + *

    + * The returned AlgorithmParameters must still be intialized + * with an init() method. * - *

    The returned AlgorithmParameters must still be intialized - * with an init() method.

    - * - * @param algorithm - * the algorithm to use. - * @param provider - * the {@link Provider} to use. + * @param algorithm the algorithm to use. + * @param provider the {@link Provider} to use. * @return the new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the {@link Provider}. - * @throws IllegalArgumentException - * if provider is null. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * {@link Provider}. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. * @since 1.4 */ public static AlgorithmParameters getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); - + StringBuilder sb = new StringBuilder("AlgorithmParameters for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new AlgorithmParameters((AlgorithmParametersSpi) - Engine.getInstance(ALGORITHM_PARAMETERS, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(ALGORITHM_PARAMETERS, algorithm, provider); + return new AlgorithmParameters((AlgorithmParametersSpi) spi, + provider, + algorithm); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } /** @return the provider of this parameter object. */ @@ -258,7 +268,8 @@ public class AlgorithmParameters * @throws InvalidParameterSpecException * if paramSpec is invalid. */ - public final AlgorithmParameterSpec getParameterSpec(Class paramSpec) + public final + T getParameterSpec(Class paramSpec) throws InvalidParameterSpecException { return paramSpi.engineGetParameterSpec(paramSpec); diff --git a/libjava/classpath/java/security/AlgorithmParametersSpi.java b/libjava/classpath/java/security/AlgorithmParametersSpi.java index a9faa154374..bd61ce7df01 100644 --- a/libjava/classpath/java/security/AlgorithmParametersSpi.java +++ b/libjava/classpath/java/security/AlgorithmParametersSpi.java @@ -113,8 +113,8 @@ public abstract class AlgorithmParametersSpi * @throws InvalidParameterSpecException if the paramSpec is an * invalid parameter class */ - protected abstract AlgorithmParameterSpec engineGetParameterSpec(Class - paramSpec) + protected abstract + T engineGetParameterSpec(Class paramSpec) throws InvalidParameterSpecException; diff --git a/libjava/classpath/java/security/IdentityScope.java b/libjava/classpath/java/security/IdentityScope.java index d1ea1f29500..610d3534c26 100644 --- a/libjava/classpath/java/security/IdentityScope.java +++ b/libjava/classpath/java/security/IdentityScope.java @@ -201,7 +201,7 @@ public abstract class IdentityScope extends Identity * * @return an {@link Enumeration} of the identities in this scope. */ - public abstract Enumeration identities(); + public abstract Enumeration identities(); /** * Returns a string representing this instance. It includes the name, the diff --git a/libjava/classpath/java/security/KeyFactory.java b/libjava/classpath/java/security/KeyFactory.java index edb2a87dafb..043dd59a151 100644 --- a/libjava/classpath/java/security/KeyFactory.java +++ b/libjava/classpath/java/security/KeyFactory.java @@ -40,6 +40,7 @@ package java.security; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; import java.security.spec.InvalidKeySpecException; import java.security.spec.KeySpec; @@ -93,26 +94,29 @@ public class KeyFactory * Returns a new instance of KeyFactory representing the * specified key factory. * - * @param algorithm - * the name of algorithm to use. + * @param algorithm the name of algorithm to use. * @return a new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by any provider. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by any + * provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static KeyFactory getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) try { return getInstance(algorithm, p[i]); } - catch (NoSuchAlgorithmException e) - { - // Ignore. - } - + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } @@ -120,29 +124,26 @@ public class KeyFactory * Returns a new instance of KeyFactory representing the * specified key factory from the specified provider. * - * @param algorithm - * the name of algorithm to use. - * @param provider - * the name of the provider to use. + * @param algorithm the name of algorithm to use. + * @param provider the name of the provider to use. * @return a new instance repesenting the desired algorithm. - * @throws IllegalArgumentException - * if provider is null or is an empty - * string. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the named provider. - * @throws NoSuchProviderException - * if the named provider was not found. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * named provider. + * @throws NoSuchProviderException if the named provider was not found. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ public static KeyFactory getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } @@ -150,38 +151,44 @@ public class KeyFactory * Returns a new instance of KeyFactory representing the * specified key factory from the designated {@link Provider}. * - * @param algorithm - * the name of algorithm to use. - * @param provider - * the {@link Provider} to use. + * @param algorithm the name of algorithm to use. + * @param provider the {@link Provider} to use. * @return a new instance repesenting the desired algorithm. - * @throws IllegalArgumentException - * if provider is null. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by {@link Provider}. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by + * {@link Provider}. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. * @since 1.4 * @see Provider */ public static KeyFactory getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); - + StringBuilder sb = new StringBuilder("KeyFactory for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new KeyFactory((KeyFactorySpi) - Engine.getInstance(KEY_FACTORY, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(KEY_FACTORY, algorithm, provider); + return new KeyFactory((KeyFactorySpi) spi, provider, algorithm); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); - } + cause = x; + } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } /** @@ -248,7 +255,7 @@ public class KeyFactory * the requested key specification is inappropriate for this key or * the key is unrecognized. */ - public final KeySpec getKeySpec(Key key, Class keySpec) + public final T getKeySpec(Key key, Class keySpec) throws InvalidKeySpecException { return keyFacSpi.engineGetKeySpec(key, keySpec); diff --git a/libjava/classpath/java/security/KeyFactorySpi.java b/libjava/classpath/java/security/KeyFactorySpi.java index 1894fad08df..fa56378121b 100644 --- a/libjava/classpath/java/security/KeyFactorySpi.java +++ b/libjava/classpath/java/security/KeyFactorySpi.java @@ -113,7 +113,8 @@ public abstract class KeyFactorySpi * is inappropriate for this key or the key is * unrecognized. */ - protected abstract KeySpec engineGetKeySpec(Key key, Class keySpec) + protected abstract T engineGetKeySpec(Key key, + Class keySpec) throws InvalidKeySpecException; @@ -121,11 +122,11 @@ public abstract class KeyFactorySpi * Translates the key from an unknown or untrusted provider * into a key for this key factory. * - * @param the key from an unknown or untrusted provider + * @param key key from an unknown or untrusted provider * * @return the translated key * - * @throws InvalidKeySpecException if the key cannot be + * @throws InvalidKeyException if the key cannot be * processed by this key factory */ protected abstract Key engineTranslateKey(Key key) diff --git a/libjava/classpath/java/security/KeyPairGenerator.java b/libjava/classpath/java/security/KeyPairGenerator.java index 357d7a75f2f..6974035fd6b 100644 --- a/libjava/classpath/java/security/KeyPairGenerator.java +++ b/libjava/classpath/java/security/KeyPairGenerator.java @@ -40,6 +40,7 @@ package java.security; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; import java.security.spec.AlgorithmParameterSpec; /** @@ -90,28 +91,29 @@ public abstract class KeyPairGenerator extends KeyPairGeneratorSpi * Returns a new instance of KeyPairGenerator which generates * key-pairs for the specified algorithm. * - * @param algorithm - * the name of the algorithm to use. + * @param algorithm the name of the algorithm to use. * @return a new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by any provider. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by any + * provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static KeyPairGenerator getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException e) - { - // Ignored. - } - } - + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } @@ -119,23 +121,26 @@ public abstract class KeyPairGenerator extends KeyPairGeneratorSpi * Returns a new instance of KeyPairGenerator which generates * key-pairs for the specified algorithm from a named provider. * - * @param algorithm - * the name of the algorithm to use. - * @param provider - * the name of a {@link Provider} to use. + * @param algorithm the name of the algorithm to use. + * @param provider the name of a {@link Provider} to use. * @return a new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the named provider. - * @throws NoSuchProviderException - * if the named provider was not found. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * named provider. + * @throws NoSuchProviderException if the named provider was not found. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ public static KeyPairGenerator getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } @@ -148,10 +153,11 @@ public abstract class KeyPairGenerator extends KeyPairGeneratorSpi * @param provider * the {@link Provider} to use. * @return a new insatnce repesenting the desired algorithm. - * @throws IllegalArgumentException - * if provider is null. * @throws NoSuchAlgorithmException * if the algorithm is not implemented by the {@link Provider}. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. * @since 1.4 * @see Provider */ @@ -159,20 +165,27 @@ public abstract class KeyPairGenerator extends KeyPairGeneratorSpi Provider provider) throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); - - Object o = null; + StringBuilder sb = new StringBuilder("KeyPairGenerator for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] "); + Object o; try { o = Engine.getInstance(KEY_PAIR_GENERATOR, algorithm, provider); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + Throwable cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; + sb.append("could not be created"); + NoSuchAlgorithmException y = new NoSuchAlgorithmException(sb.toString()); + y.initCause(cause); + throw y; } - - KeyPairGenerator result = null; + KeyPairGenerator result; if (o instanceof KeyPairGenerator) { result = (KeyPairGenerator) o; @@ -180,7 +193,11 @@ public abstract class KeyPairGenerator extends KeyPairGeneratorSpi } else if (o instanceof KeyPairGeneratorSpi) result = new DummyKeyPairGenerator((KeyPairGeneratorSpi) o, algorithm); - + else + { + sb.append("is of an unexpected Type: ").append(o.getClass().getName()); + throw new NoSuchAlgorithmException(sb.toString()); + } result.provider = provider; return result; } diff --git a/libjava/classpath/java/security/KeyStore.java b/libjava/classpath/java/security/KeyStore.java index 8681d826590..1d036c31ce2 100644 --- a/libjava/classpath/java/security/KeyStore.java +++ b/libjava/classpath/java/security/KeyStore.java @@ -43,6 +43,7 @@ import gnu.java.security.Engine; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.reflect.InvocationTargetException; import java.security.cert.CertificateException; import java.util.Date; import java.util.Enumeration; @@ -108,105 +109,100 @@ public class KeyStore this.type = type; } - // Class methods. - // ------------------------------------------------------------------------ - - /** - * Gets an instance of the KeyStore class representing - * the specified keystore. If the type is not - * found then, it throws KeyStoreException. - * - * @param type the type of keystore to choose - * @return a KeyStore repesenting the desired type - * @throws KeyStoreException if the type of keystore is not implemented - * by providers or the implementation cannot be instantiated. + /** + * Returns an instance of a KeyStore representing the specified + * type, from the first provider that implements it. + * + * @param type the type of keystore to create. + * @return a KeyStore repesenting the desired type. + * @throws KeyStoreException if the designated type of is not implemented by + * any provider, or the implementation could not be instantiated. + * @throws IllegalArgumentException if type is + * null or is an empty string. */ public static KeyStore getInstance(String type) throws KeyStoreException { Provider[] p = Security.getProviders(); - + KeyStoreException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(type, p[i]); - } - catch (KeyStoreException e) - { - // Ignore. - } - } - + try + { + return getInstance(type, p[i]); + } + catch (KeyStoreException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new KeyStoreException(type); } - /** - * Gets an instance of the KeyStore class representing - * the specified key store from the specified provider. - * If the type is not found then, it throws KeyStoreException. - * If the provider is not found, then it throws - * NoSuchProviderException. - * - * @param type the type of keystore to choose - * @param provider the provider name - * @return a KeyStore repesenting the desired type - * @throws KeyStoreException if the type of keystore is not - * implemented by the given provider - * @throws NoSuchProviderException if the provider is not found - * @throws IllegalArgumentException if the provider string is - * null or empty + /** + * Returns an instance of a KeyStore representing the specified + * type, from the named provider. + * + * @param type the type of keystore to create. + * @param provider the name of the provider to use. + * @return a KeyStore repesenting the desired type. + * @throws KeyStoreException if the designated type is not implemented by the + * given provider. + * @throws NoSuchProviderException if the provider is not found. + * @throws IllegalArgumentException if either type or + * provider is null or empty. */ public static KeyStore getInstance(String type, String provider) throws KeyStoreException, NoSuchProviderException { - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(type, p); } - /** - * Gets an instance of the KeyStore class representing - * the specified key store from the specified provider. - * If the type is not found then, it throws KeyStoreException. - * If the provider is not found, then it throws - * NoSuchProviderException. - * - * @param type the type of keystore to choose - * @param provider the keystore provider - * @return a KeyStore repesenting the desired type - * @throws KeyStoreException if the type of keystore is not - * implemented by the given provider - * @throws IllegalArgumentException if the provider object is null + /** + * Returns an instance of a KeyStore representing the specified + * type, from the specified provider. + * + * @param type the type of keystore to create. + * @param provider the provider to use. + * @return a KeyStore repesenting the desired type. + * @throws KeyStoreException if the designated type is not implemented by the + * given provider. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. * @since 1.4 */ public static KeyStore getInstance(String type, Provider provider) - throws KeyStoreException + throws KeyStoreException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); + Throwable cause; try { - return new KeyStore( - (KeyStoreSpi) Engine.getInstance(KEY_STORE, type, provider), - provider, type); + Object spi = Engine.getInstance(KEY_STORE, type, provider); + return new KeyStore((KeyStoreSpi) spi, provider, type); } - catch (NoSuchAlgorithmException nsae) + catch (NoSuchAlgorithmException x) { - throw new KeyStoreException(type); + cause = x; } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new KeyStoreException(type); + cause = x.getCause() != null ? x.getCause() : x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new KeyStoreException(type); + cause = x; } + KeyStoreException x = new KeyStoreException(type); + x.initCause(cause); + throw x; } /** @@ -392,7 +388,7 @@ public class KeyStore @return an Enumeration of the aliases */ - public final Enumeration aliases() throws KeyStoreException + public final Enumeration aliases() throws KeyStoreException { return keyStoreSpi.engineAliases(); } diff --git a/libjava/classpath/java/security/KeyStoreSpi.java b/libjava/classpath/java/security/KeyStoreSpi.java index a16008f9960..c8d23166321 100644 --- a/libjava/classpath/java/security/KeyStoreSpi.java +++ b/libjava/classpath/java/security/KeyStoreSpi.java @@ -187,7 +187,7 @@ public abstract class KeyStoreSpi * * @return an Enumeration of the aliases */ - public abstract Enumeration engineAliases(); + public abstract Enumeration engineAliases(); /** * Determines if the keystore contains the specified alias. diff --git a/libjava/classpath/java/security/MessageDigest.java b/libjava/classpath/java/security/MessageDigest.java index b817759f547..0f8e934e5e9 100644 --- a/libjava/classpath/java/security/MessageDigest.java +++ b/libjava/classpath/java/security/MessageDigest.java @@ -38,6 +38,9 @@ exception statement from your version. */ package java.security; import gnu.java.security.Engine; +import java.nio.ByteBuffer; + +import java.lang.reflect.InvocationTargetException; /** * Message digests are secure one-way hash functions that take arbitrary-sized @@ -72,28 +75,29 @@ public abstract class MessageDigest extends MessageDigestSpi * Returns a new instance of MessageDigest representing the * specified algorithm. * - * @param algorithm - * the name of the digest algorithm to use. + * @param algorithm the name of the digest algorithm to use. * @return a new instance representing the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by any provider. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by any + * provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static MessageDigest getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException ignored) - { - // Ignore. - } - } - + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } @@ -101,29 +105,26 @@ public abstract class MessageDigest extends MessageDigestSpi * Returns a new instance of MessageDigest representing the * specified algorithm from a named provider. * - * @param algorithm - * the name of the digest algorithm to use. - * @param provider - * the name of the provider to use. + * @param algorithm the name of the digest algorithm to use. + * @param provider the name of the provider to use. * @return a new instance representing the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the named provider. - * @throws NoSuchProviderException - * if the named provider was not found. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * named provider. + * @throws NoSuchProviderException if the named provider was not found. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ public static MessageDigest getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { - if (provider != null) - provider = provider.trim(); - - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } @@ -131,39 +132,43 @@ public abstract class MessageDigest extends MessageDigestSpi * Returns a new instance of MessageDigest representing the * specified algorithm from a designated {@link Provider}. * - * @param algorithm - * the name of the digest algorithm to use. - * @param provider - * the {@link Provider} to use. + * @param algorithm the name of the digest algorithm to use. + * @param provider the {@link Provider} to use. * @return a new instance representing the desired algorithm. - * @throws IllegalArgumentException - * if provider is null. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by {@link Provider}. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by + * {@link Provider}. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. * @since 1.4 * @see Provider */ public static MessageDigest getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); - - MessageDigest result = null; - Object o = null; + StringBuilder sb = new StringBuilder("MessageDigest for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] "); + Object o; try { o = Engine.getInstance(MESSAGE_DIGEST, algorithm, provider); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + Throwable cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; + sb.append("could not be created"); + NoSuchAlgorithmException y = new NoSuchAlgorithmException(sb.toString()); + y.initCause(cause); + throw y; } - + MessageDigest result; if (o instanceof MessageDigestSpi) - { - result = new DummyMessageDigest((MessageDigestSpi) o, algorithm); - } + result = new DummyMessageDigest((MessageDigestSpi) o, algorithm); else if (o instanceof MessageDigest) { result = (MessageDigest) o; @@ -171,7 +176,8 @@ public abstract class MessageDigest extends MessageDigestSpi } else { - throw new NoSuchAlgorithmException(algorithm); + sb.append("is of an unexpected Type: ").append(o.getClass().getName()); + throw new NoSuchAlgorithmException(sb.toString()); } result.provider = provider; return result; @@ -223,6 +229,17 @@ public abstract class MessageDigest extends MessageDigestSpi engineUpdate(input, 0, input.length); } + /** + * Updates the digest with the remaining bytes of a buffer. + * + * @param input The input byte buffer. + * @since 1.5 + */ + public void update (ByteBuffer input) + { + engineUpdate (input); + } + /** * Computes the final digest of the stored data. * diff --git a/libjava/classpath/java/security/MessageDigestSpi.java b/libjava/classpath/java/security/MessageDigestSpi.java index df3bd3ead02..6615b1d93b0 100644 --- a/libjava/classpath/java/security/MessageDigestSpi.java +++ b/libjava/classpath/java/security/MessageDigestSpi.java @@ -37,6 +37,8 @@ exception statement from your version. */ package java.security; +import java.nio.ByteBuffer; + /** This is the Service Provider Interface (SPI) for MessageDigest class in java.security. It provides the back end functionality @@ -97,6 +99,23 @@ public abstract class MessageDigestSpi */ protected abstract void engineUpdate(byte[]input, int offset, int len); + /** + * Updates this digest with the remaining bytes of a byte buffer. + * + * @param input The input buffer. + * @since 1.5 + */ + protected void engineUpdate (ByteBuffer input) + { + byte[] buf = new byte[1024]; + while (input.hasRemaining()) + { + int n = Math.min(input.remaining(), buf.length); + input.get (buf, 0, n); + engineUpdate (buf, 0, n); + } + } + /** Computes the final digest of the stored bytes and returns them. It performs any necessary padding. The message digest diff --git a/libjava/classpath/java/security/PermissionCollection.java b/libjava/classpath/java/security/PermissionCollection.java index 4e8ffe57948..c5849830ad7 100644 --- a/libjava/classpath/java/security/PermissionCollection.java +++ b/libjava/classpath/java/security/PermissionCollection.java @@ -120,7 +120,7 @@ public abstract class PermissionCollection implements Serializable * * @return an Enumeration of this collection's objects */ - public abstract Enumeration elements(); + public abstract Enumeration elements(); /** * This method sets this PermissionCollection object to be @@ -159,7 +159,7 @@ public abstract class PermissionCollection implements Serializable StringBuffer sb = new StringBuffer(super.toString()); sb.append(" (\n"); - Enumeration e = elements(); + Enumeration e = elements(); while (e.hasMoreElements()) sb.append(' ').append(e.nextElement()).append('\n'); return sb.append(")\n").toString(); diff --git a/libjava/classpath/java/security/Permissions.java b/libjava/classpath/java/security/Permissions.java index e3fd06970ab..56f5ad8f5a0 100644 --- a/libjava/classpath/java/security/Permissions.java +++ b/libjava/classpath/java/security/Permissions.java @@ -150,7 +150,7 @@ public final class Permissions extends PermissionCollection * * @return an Enumeration of this collection's elements */ - public Enumeration elements() + public Enumeration elements() { return new Enumeration() { diff --git a/libjava/classpath/java/security/PrivilegedAction.java b/libjava/classpath/java/security/PrivilegedAction.java index c3a41346f9c..1a51eaade78 100644 --- a/libjava/classpath/java/security/PrivilegedAction.java +++ b/libjava/classpath/java/security/PrivilegedAction.java @@ -47,9 +47,9 @@ package java.security; * @see AccessController * @see PrivilegedExceptionAction * @since 1.1 - * @status updated to 1.4 + * @status updated to 1.5 */ -public interface PrivilegedAction +public interface PrivilegedAction { /** * This method performs an operation that requires higher privileges to @@ -60,5 +60,5 @@ public interface PrivilegedAction * @see AccessController#doPrivileged(PrivilegedAction) * @see AccessController#doPrivileged(PrivilegedAction, AccessControlContext) */ - Object run(); + T run(); } // interface PrivilegedAction diff --git a/libjava/classpath/java/security/PrivilegedExceptionAction.java b/libjava/classpath/java/security/PrivilegedExceptionAction.java index d3d0478fd48..351438e0be2 100644 --- a/libjava/classpath/java/security/PrivilegedExceptionAction.java +++ b/libjava/classpath/java/security/PrivilegedExceptionAction.java @@ -46,9 +46,9 @@ package java.security; * * @author Aaron M. Renn (arenn@urbanophile.com) * @since 1.1 - * @status updated to 1.4 + * @status updated to 1.5 */ -public interface PrivilegedExceptionAction +public interface PrivilegedExceptionAction { /** * This method performs an operation that requires higher privileges to @@ -61,5 +61,5 @@ public interface PrivilegedExceptionAction * @see AccessController#doPrivileged(PrivilegedExceptionAction, * AccessControlContext) */ - Object run() throws Exception; + T run() throws Exception; } // interface PrivilegedExceptionAction diff --git a/libjava/classpath/java/security/SecureClassLoader.java b/libjava/classpath/java/security/SecureClassLoader.java index 9d1fac79749..dfc1758b52f 100644 --- a/libjava/classpath/java/security/SecureClassLoader.java +++ b/libjava/classpath/java/security/SecureClassLoader.java @@ -1,5 +1,5 @@ /* SecureClassLoader.java --- A Secure Class Loader - Copyright (C) 1999, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,11 @@ exception statement from your version. */ package java.security; +import java.util.WeakHashMap; + +import java.nio.ByteBuffer; +import java.util.HashMap; + /** * A Secure Class Loader for loading classes with additional * support for specifying code source and permissions when @@ -48,21 +53,16 @@ package java.security; */ public class SecureClassLoader extends ClassLoader { - java.util.WeakHashMap protectionDomainCache = new java.util.WeakHashMap(); + private final HashMap protectionDomainCache + = new HashMap(); protected SecureClassLoader(ClassLoader parent) { super(parent); - SecurityManager sm = System.getSecurityManager(); - if(sm != null) - sm.checkCreateClassLoader(); } protected SecureClassLoader() { - SecurityManager sm = System.getSecurityManager(); - if(sm != null) - sm.checkCreateClassLoader(); } /** @@ -79,13 +79,38 @@ public class SecureClassLoader extends ClassLoader * * @exception ClassFormatError if the byte array is not in proper classfile format. */ - protected final Class defineClass(String name, byte[] b, int off, int len, + protected final Class defineClass(String name, byte[] b, int off, int len, CodeSource cs) { + return super.defineClass(name, b, off, len, getProtectionDomain(cs)); + } + + /** + * Creates a class using an ByteBuffer and a + * CodeSource. + * + * @param name the name to give the class. null if unknown. + * @param b the data representing the classfile, in classfile format. + * @param cs the CodeSource for the class or null when unknown. + * + * @return the class that was defined and optional CodeSource. + * + * @exception ClassFormatError if the byte array is not in proper classfile format. + * + * @since 1.5 + */ + protected final Class defineClass(String name, ByteBuffer b, CodeSource cs) + { + return super.defineClass(name, b, getProtectionDomain(cs)); + } + + /* Lookup or create a protection domain for the CodeSource, + * if CodeSource is null it will return null. */ + private ProtectionDomain getProtectionDomain(CodeSource cs) + { + ProtectionDomain protectionDomain = null; if (cs != null) { - ProtectionDomain protectionDomain; - synchronized (protectionDomainCache) { protectionDomain = (ProtectionDomain)protectionDomainCache.get(cs); @@ -105,10 +130,8 @@ public class SecureClassLoader extends ClassLoader protectionDomain = domain; } } - return super.defineClass(name, b, off, len, protectionDomain); - } - else - return super.defineClass(name, b, off, len); + } + return protectionDomain; } /** @@ -117,7 +140,7 @@ public class SecureClassLoader extends ClassLoader * java.security.Policy.getPermissions. * * This method is called by defineClass that takes a CodeSource - * arguement to build a proper ProtectionDomain for the class + * argument to build a proper ProtectionDomain for the class * being defined. */ protected PermissionCollection getPermissions(CodeSource cs) diff --git a/libjava/classpath/java/security/SecureRandom.java b/libjava/classpath/java/security/SecureRandom.java index c66963e8f96..005f4670efc 100644 --- a/libjava/classpath/java/security/SecureRandom.java +++ b/libjava/classpath/java/security/SecureRandom.java @@ -45,6 +45,7 @@ import gnu.java.security.jce.prng.Sha160RandomSpi; import java.io.IOException; import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.net.URL; import java.util.Enumeration; @@ -187,101 +188,106 @@ public class SecureRandom extends Random this.algorithm = algorithm; } - // Class methods. - // ------------------------------------------------------------------------ - /** - * Returns an instance of a SecureRandom. It creates the class from - * the first provider that implements it. - * + * Returns an instance of a SecureRandom from the first provider + * that implements it. + * * @param algorithm The algorithm name. - * @return A new SecureRandom implementing the given algorithm. - * @throws NoSuchAlgorithmException If no installed provider implements - * the given algorithm. + * @return A new SecureRandom implementing the given algorithm. + * @throws NoSuchAlgorithmException If no installed provider implements the + * given algorithm. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static SecureRandom getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); - + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException e) - { - // Ignore. - } - } - - // None found. + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } /** - * Returns an instance of a SecureRandom. It creates the class - * for the specified algorithm from the named provider. - * + * Returns an instance of a SecureRandom for the specified + * algorithm from the named provider. + * * @param algorithm The algorithm name. - * @param provider The provider name. - * @return A new SecureRandom implementing the chosen algorithm. + * @param provider The provider name. + * @return A new SecureRandom implementing the chosen + * algorithm. * @throws NoSuchAlgorithmException If the named provider does not implement - * the algorithm, or if the implementation cannot be - * instantiated. - * @throws NoSuchProviderException If no provider named - * provider is currently installed. - * @throws IllegalArgumentException If provider is null - * or is empty. + * the algorithm, or if the implementation cannot be instantiated. + * @throws NoSuchProviderException If no provider named provider + * is currently installed. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ public static SecureRandom getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } /** - * Returns an instance of a SecureRandom. It creates the class for - * the specified algorithm from the given provider. - * - * @param algorithm The SecureRandom algorithm to create. - * @param provider The provider to get the instance from. - * @throws NoSuchAlgorithmException If the algorithm cannot be found, or - * if the class cannot be instantiated. - * @throws IllegalArgumentException If provider is null. + * Returns an instance of a SecureRandom for the specified + * algorithm from the given provider. + * + * @param algorithm The SecureRandom algorithm to create. + * @param provider The provider to use. + * @throws NoSuchAlgorithmException If the algorithm cannot be found, or if + * the class cannot be instantiated. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static SecureRandom getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); + StringBuilder sb = new StringBuilder("SecureRandom for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new SecureRandom((SecureRandomSpi) - Engine.getInstance(SECURE_RANDOM, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(SECURE_RANDOM, algorithm, provider); + return new SecureRandom((SecureRandomSpi) spi, provider, algorithm); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** Returns the provider being used by the current SecureRandom class. diff --git a/libjava/classpath/java/security/Security.java b/libjava/classpath/java/security/Security.java index d99c451499a..d3d2c1ebcf9 100644 --- a/libjava/classpath/java/security/Security.java +++ b/libjava/classpath/java/security/Security.java @@ -138,7 +138,7 @@ public final class Security Exception exception = null; try { - ClassLoader sys = ClassLoader.getSystemClassLoader(); + ClassLoader sys = ClassLoader.getSystemClassLoader(); providers.addElement(Class.forName(name, true, sys).newInstance()); } catch (ClassNotFoundException x) @@ -408,9 +408,9 @@ public final class Security * {@link Provider}s. * @since 1.4 */ - public static Set getAlgorithms(String serviceName) + public static Set getAlgorithms(String serviceName) { - HashSet result = new HashSet(); + HashSet result = new HashSet(); if (serviceName == null || serviceName.length() == 0) return result; @@ -541,7 +541,7 @@ public final class Security * {@link Map}'s keys. * @see #getProviders(String) */ - public static Provider[] getProviders(Map filter) + public static Provider[] getProviders(Map filter) { if (providers == null || providers.isEmpty()) return null; @@ -549,7 +549,7 @@ public final class Security if (filter == null) return getProviders(); - Set querries = filter.keySet(); + Set querries = filter.keySet(); if (querries == null || querries.isEmpty()) return getProviders(); @@ -572,7 +572,7 @@ public final class Security throw new InvalidParameterException( "missing dot in '" + String.valueOf(querry)+"'"); - value = (String) filter.get(querry); + value = filter.get(querry); // deconstruct querry into [service, algorithm, attribute] if (value == null || value.trim().length() == 0) // . { diff --git a/libjava/classpath/java/security/Signature.java b/libjava/classpath/java/security/Signature.java index 845a77a8b8f..1245707f7af 100644 --- a/libjava/classpath/java/security/Signature.java +++ b/libjava/classpath/java/security/Signature.java @@ -40,6 +40,8 @@ package java.security; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; +import java.nio.ByteBuffer; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import java.security.spec.AlgorithmParameterSpec; @@ -127,28 +129,29 @@ public abstract class Signature extends SignatureSpi * Returns an instance of Signature representing the specified * signature. * - * @param algorithm - * the algorithm to use. + * @param algorithm the algorithm to use. * @return a new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by any provider. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by any + * provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static Signature getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException e) - { - // Ignored. - } - } - + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } @@ -156,28 +159,26 @@ public abstract class Signature extends SignatureSpi * Returns an instance of Signature representing the specified * signature from the named provider. * - * @param algorithm - * the algorithm to use. - * @param provider - * the name of the provider to use. + * @param algorithm the algorithm to use. + * @param provider the name of the provider to use. * @return a new instance repesenting the desired algorithm. - * @throws IllegalArgumentException if provider is - * null or is an empty string. - * @throws NoSuchProviderException - * if the named provider was not found. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the named provider. + * @throws NoSuchProviderException if the named provider was not found. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * named provider. + * @throws IllegalArgumentException if either algorithm or + * provider is null or empty. */ public static Signature getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { - if (provider == null || provider.length() == 0) - throw new IllegalArgumentException("Illegal provider"); - + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); + provider = provider.trim(); + if (provider.length() == 0) + throw new IllegalArgumentException("provider MUST NOT be empty"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } @@ -185,35 +186,41 @@ public abstract class Signature extends SignatureSpi * Returns an instance of Signature representing the specified * signature from the specified {@link Provider}. * - * @param algorithm - * the algorithm to use. - * @param provider - * the {@link Provider} to use. + * @param algorithm the algorithm to use. + * @param provider the {@link Provider} to use. * @return a new instance repesenting the desired algorithm. - * @throws NoSuchAlgorithmException - * if the algorithm is not implemented by the {@link Provider}. + * @throws NoSuchAlgorithmException if the algorithm is not implemented by the + * {@link Provider}. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static Signature getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("Illegal provider"); - - Signature result = null; - Object o = null; + StringBuilder sb = new StringBuilder("Signature algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] "); + Object o; try { o = Engine.getInstance(SIGNATURE, algorithm, provider); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + Throwable cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; + sb.append("could not be created"); + NoSuchAlgorithmException y = new NoSuchAlgorithmException(sb.toString()); + y.initCause(cause); + throw y; } - + Signature result; if (o instanceof SignatureSpi) - { - result = new DummySignature((SignatureSpi) o, algorithm); - } + result = new DummySignature((SignatureSpi) o, algorithm); else if (o instanceof Signature) { result = (Signature) o; @@ -221,7 +228,8 @@ public abstract class Signature extends SignatureSpi } else { - throw new NoSuchAlgorithmException(algorithm); + sb.append("is of an unexpected Type: ").append(o.getClass().getName()); + throw new NoSuchAlgorithmException(sb.toString()); } result.provider = provider; return result; @@ -467,6 +475,22 @@ public abstract class Signature extends SignatureSpi else throw new SignatureException(); } + + /** + * Update this signature with the {@link java.nio.Buffer#remaining()} + * bytes of the input buffer. + * + * @param input The input buffer. + * @throws SignatureException If this instance was not properly + * initialized. + */ + public final void update(ByteBuffer input) throws SignatureException + { + if (state != UNINITIALIZED) + engineUpdate(input); + else + throw new SignatureException("not initialized"); + } /** * Returns the name of the algorithm currently used. The names of algorithms diff --git a/libjava/classpath/java/security/SignatureSpi.java b/libjava/classpath/java/security/SignatureSpi.java index 25d49dedd43..3b46815eca9 100644 --- a/libjava/classpath/java/security/SignatureSpi.java +++ b/libjava/classpath/java/security/SignatureSpi.java @@ -37,6 +37,7 @@ exception statement from your version. */ package java.security; +import java.nio.ByteBuffer; import java.security.spec.AlgorithmParameterSpec; /** @@ -130,6 +131,24 @@ public abstract class SignatureSpi protected abstract void engineUpdate(byte[] b, int off, int len) throws SignatureException; + /** + * Update this signature with the {@link java.nio.Buffer#remaining()} + * bytes of the given buffer. + * + * @param input The input buffer. + * @throws SignatureException + */ + protected void engineUpdate(ByteBuffer input) throws SignatureException + { + byte[] buf = new byte[4096]; + while (input.hasRemaining()) + { + int l = Math.min(input.remaining(), buf.length); + input.get(buf, 0, l); + engineUpdate(buf, 0, l); + } + } + /** * Returns the signature bytes of all the data fed to this instance. The * format of the output depends on the underlying signature algorithm. diff --git a/libjava/classpath/java/security/acl/Acl.java b/libjava/classpath/java/security/acl/Acl.java index ff139afd6c0..6a3f7d52a87 100644 --- a/libjava/classpath/java/security/acl/Acl.java +++ b/libjava/classpath/java/security/acl/Acl.java @@ -117,7 +117,7 @@ public interface Acl extends Owner * * @return An enumeration of the ACL entries */ - Enumeration entries(); + Enumeration entries(); /** * This method tests whether or not the specified Principal @@ -142,7 +142,7 @@ public interface Acl extends Owner * * @return A list of permissions for the Principal. */ - Enumeration getPermissions(Principal user); + Enumeration getPermissions(Principal user); /** * This method returns the ACL as a String diff --git a/libjava/classpath/java/security/acl/AclEntry.java b/libjava/classpath/java/security/acl/AclEntry.java index 7b1bcf54db9..ea906f184d8 100644 --- a/libjava/classpath/java/security/acl/AclEntry.java +++ b/libjava/classpath/java/security/acl/AclEntry.java @@ -94,7 +94,7 @@ public interface AclEntry extends Cloneable /** * This method adds the specified permission to this ACL entry. * - * @param perm The Permission to add + * @param permission The Permission to add * * @return true if the permission was added or false if it was already set for this entry */ @@ -113,7 +113,7 @@ public interface AclEntry extends Cloneable * This method tests whether or not the specified permission is associated * with this ACL entry. * - * @param perm The Permission to test + * @param permission The Permission to test * * @return true if this permission is associated with this entry or false otherwise */ @@ -125,7 +125,7 @@ public interface AclEntry extends Cloneable * * @return A list of permissions for this ACL entry */ - Enumeration permissions(); + Enumeration permissions(); /** * This method returns this object as a String. diff --git a/libjava/classpath/java/security/acl/Group.java b/libjava/classpath/java/security/acl/Group.java index 3ffdf15a4ce..ed6d56a572e 100644 --- a/libjava/classpath/java/security/acl/Group.java +++ b/libjava/classpath/java/security/acl/Group.java @@ -74,7 +74,7 @@ public interface Group extends Principal * This method tests whether or not a given Principal is a * member of this group. * - * @param user The Principal to test for membership + * @param member The Principal to test for membership * * @return true if the user is member, false otherwise */ @@ -86,5 +86,5 @@ public interface Group extends Principal * * @return The list of all members of the group */ - Enumeration members(); + Enumeration members(); } diff --git a/libjava/classpath/java/security/cert/CertPath.java b/libjava/classpath/java/security/cert/CertPath.java index e818763aab4..781eb3e2776 100644 --- a/libjava/classpath/java/security/cert/CertPath.java +++ b/libjava/classpath/java/security/cert/CertPath.java @@ -161,7 +161,7 @@ public abstract class CertPath implements Serializable * * @return the iterator of supported encodings in the path */ - public abstract Iterator getEncodings(); + public abstract Iterator getEncodings(); /** * Compares this path to another for semantic equality. To be equal, both @@ -226,7 +226,7 @@ public abstract class CertPath implements Serializable * * @return the list of certificates, non-null but possibly empty */ - public abstract List getCertificates(); + public abstract List getCertificates(); /** * Serializes the path in its encoded form, to ensure reserialization with diff --git a/libjava/classpath/java/security/cert/CertPathBuilder.java b/libjava/classpath/java/security/cert/CertPathBuilder.java index f6965205f53..519ed2b6c52 100644 --- a/libjava/classpath/java/security/cert/CertPathBuilder.java +++ b/libjava/classpath/java/security/cert/CertPathBuilder.java @@ -40,6 +40,7 @@ package java.security.cert; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; @@ -111,50 +112,54 @@ public class CertPathBuilder } /** - * Get an instance of a named CertPathBuilder, from the first provider - * that implements it. - * - * @param algorithm The name of the CertPathBuilder to create. + * Returns an instance of a named CertPathBuilder from the + * first provider that implements it. + * + * @param algorithm The name of the CertPathBuilder to create. * @return The new instance. - * @throws NoSuchAlgorithmException If no installed provider - * implements the named algorithm. + * @throws NoSuchAlgorithmException If no installed provider implements the + * named algorithm. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static CertPathBuilder getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); - + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException e) - { - // Ignored. - } - } - + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } /** - * Get an instance of a named CertPathBuilder from the named + * Returns an instance of a named CertPathBuilder from a named * provider. - * - * @param algorithm The name of the CertPathBuilder to create. - * @param provider The name of the provider from which to get the - * implementation. + * + * @param algorithm The name of the CertPathBuilder to create. + * @param provider The name of the provider to use. * @return The new instance. - * @throws NoSuchAlgorithmException If no installed provider - * implements the named algorithm. - * @throws NoSuchProviderException If the named provider does not - * exist. + * @throws NoSuchAlgorithmException If no installed provider implements the + * named algorithm. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static CertPathBuilder getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); @@ -162,41 +167,47 @@ public class CertPathBuilder } /** - * Get an instance of a named CertPathBuilder from the specified - * provider. - * - * @param algorithm The name of the CertPathBuilder to create. - * @param provider The provider from which to get the implementation. + * Returns an instance of a named CertPathBuilder from the + * specified provider. + * + * @param algorithm The name of the CertPathBuilder to create. + * @param provider The provider to use. * @return The new instance. - * @throws NoSuchAlgorithmException If no installed provider - * implements the named algorithm. - * @throws IllegalArgumentException If provider in - * null. + * @throws NoSuchAlgorithmException If no installed provider implements the + * named algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static CertPathBuilder getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("null provider"); + StringBuilder sb = new StringBuilder("CertPathBuilder for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new CertPathBuilder((CertPathBuilderSpi) - Engine.getInstance(CERT_PATH_BUILDER, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(CERT_PATH_BUILDER, algorithm, provider); + return new CertPathBuilder((CertPathBuilderSpi) spi, provider, algorithm); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Return the name of this CertPathBuilder algorithm. * diff --git a/libjava/classpath/java/security/cert/CertPathValidator.java b/libjava/classpath/java/security/cert/CertPathValidator.java index 5fed19e9a78..bf7c9746e24 100644 --- a/libjava/classpath/java/security/cert/CertPathValidator.java +++ b/libjava/classpath/java/security/cert/CertPathValidator.java @@ -40,6 +40,7 @@ package java.security.cert; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; import java.security.AccessController; import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; @@ -124,91 +125,103 @@ public class CertPathValidator { } /** - * Get an instance of the given validator from the first provider that + * Returns an instance of the given validator from the first provider that * implements it. - * + * * @param algorithm The name of the algorithm to get. * @return The new instance. - * @throws NoSuchAlgorithmException If no installed provider - * implements the requested algorithm. + * @throws NoSuchAlgorithmException If no installed provider implements the + * requested algorithm. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static CertPathValidator getInstance(String algorithm) throws NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(algorithm, p[i]); - } - catch (NoSuchAlgorithmException e) - { - // Ignored. - } - } + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } /** - * Get an instance of the given validator from the named provider. - * + * Returns an instance of the given validator from the named provider. + * * @param algorithm The name of the algorithm to get. - * @param provider The name of the provider from which to get the - * implementation. + * @param provider The name of the provider from which to get the + * implementation. * @return The new instance. - * @throws NoSuchAlgorithmException If the named provider does not - * implement the algorithm. - * @throws NoSuchProviderException If no provider named - * provider is installed. + * @throws NoSuchAlgorithmException If the named provider does not implement + * the algorithm. + * @throws NoSuchProviderException If no provider named provider is + * installed. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ - public static CertPathValidator getInstance(String algorithm, - String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + public static CertPathValidator getInstance(String algorithm, String provider) + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); - return getInstance(algorithm, p); } /** - * Get an instance of the given validator from the given provider. - * + * Returns an instance of the given validator from the given provider. + * * @param algorithm The name of the algorithm to get. - * @param provider The provider from which to get the implementation. + * @param provider The provider from which to get the implementation. * @return The new instance. - * @throws NoSuchAlgorithmException If the provider does not implement - * the algorithm. - * @throws IllegalArgumentException If provider is null. + * @throws NoSuchAlgorithmException If the provider does not implement the + * algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static CertPathValidator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("null provider"); - + StringBuilder sb = new StringBuilder("CertPathValidator for algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new CertPathValidator((CertPathValidatorSpi) - Engine.getInstance(CERT_PATH_VALIDATOR, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(CERT_PATH_VALIDATOR, algorithm, provider); + return new CertPathValidator((CertPathValidatorSpi) spi, provider, algorithm); } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Return the name of this validator. * diff --git a/libjava/classpath/java/security/cert/CertStore.java b/libjava/classpath/java/security/cert/CertStore.java index 864da868f19..a27086562e6 100644 --- a/libjava/classpath/java/security/cert/CertStore.java +++ b/libjava/classpath/java/security/cert/CertStore.java @@ -40,6 +40,7 @@ package java.security.cert; import gnu.java.security.Engine; +import java.lang.reflect.InvocationTargetException; import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; @@ -52,7 +53,7 @@ import java.util.Collection; * A CertStore is a read-only repository for certificates and * certificate revocation lists. * - * @since JDK 1.4 + * @since 1.4 */ public class CertStore { @@ -123,59 +124,63 @@ public class CertStore } /** - * Get an instance of the given certificate store from the first + * Returns an instance of the given certificate store type from the first * installed provider. - * - * @param type The type of CertStore to create. - * @param params The parameters to initialize this cert store with. + * + * @param type The type of CertStore to create. + * @param params The parameters to initialize this cert store with. * @return The new instance. - * @throws InvalidAlgorithmParameterException If the instance rejects - * the specified parameters. - * @throws NoSuchAlgorithmException If no installed provider - * implements the specified CertStore. - * @throws IllegalArgumentException If provider is null. + * @throws InvalidAlgorithmParameterException If the instance rejects the + * specified parameters. + * @throws NoSuchAlgorithmException If no installed provider implements the + * specified CertStore. + * @throws IllegalArgumentException if type is + * null or is an empty string. */ public static CertStore getInstance(String type, CertStoreParameters params) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException { Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(type, params, p[i]); - } - catch (NoSuchAlgorithmException e) - { - // Ignored. - } - } - + try + { + return getInstance(type, params, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(type); } /** - * Get an instance of the given certificate store from the named + * Returns an instance of the given certificate store type from a named * provider. - * - * @param type The type of CertStore to create. - * @param params The parameters to initialize this cert store with. - * @param provider The name of the provider from which to get the - * implementation. + * + * @param type The type of CertStore to create. + * @param params The parameters to initialize this cert store with. + * @param provider The name of the provider to use. * @return The new instance. - * @throws InvalidAlgorithmParameterException If the instance rejects - * the specified parameters. + * @throws InvalidAlgorithmParameterException If the instance rejects the + * specified parameters. * @throws NoSuchAlgorithmException If the specified provider does not - * implement the specified CertStore. - * @throws NoSuchProviderException If no provider named - * provider is installed. - * @throws IllegalArgumentException If provider is null. + * implement the specified CertStore. + * @throws NoSuchProviderException If no provider named provider is + * installed. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. */ public static CertStore getInstance(String type, CertStoreParameters params, String provider) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); @@ -183,48 +188,52 @@ public class CertStore } /** - * Get an instance of the given certificate store from the given + * Returns an instance of the given certificate store type from a given * provider. * - * @param type The type of CertStore to create. + * @param type The type of CertStore to create. * @param params The parameters to initialize this cert store with. - * @param provider The provider from which to get the implementation. + * @param provider The provider to use. * @return The new instance. * @throws InvalidAlgorithmParameterException If the instance rejects * the specified parameters. * @throws NoSuchAlgorithmException If the specified provider does not * implement the specified CertStore. - * @throws IllegalArgumentException If provider is null. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. */ public static CertStore getInstance(String type, CertStoreParameters params, Provider provider) - throws InvalidAlgorithmParameterException, NoSuchAlgorithmException + throws InvalidAlgorithmParameterException, NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("null provider"); - + StringBuilder sb = new StringBuilder("CertStore of type [") + .append(type).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new CertStore((CertStoreSpi) Engine.getInstance(CERT_STORE, - type, provider, new Object[] { params }), provider, type, params); + Object[] args = new Object[] { params }; + Object spi = Engine.getInstance(CERT_STORE, type, provider, args); + return new CertStore((CertStoreSpi) spi, provider, type, params); } - catch (ClassCastException cce) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(type); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (java.lang.reflect.InvocationTargetException ite) + catch (ClassCastException x) { - Throwable cause = ite.getCause(); - if (cause instanceof InvalidAlgorithmParameterException) - throw (InvalidAlgorithmParameterException) cause; - else - throw new NoSuchAlgorithmException(type); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Return the type of certificate store this instance represents. * @@ -268,7 +277,7 @@ public class CertStore * @return The collection of certificates. * @throws CertStoreException If the certificates cannot be retrieved. */ - public final Collection getCertificates(CertSelector selector) + public final Collection getCertificates(CertSelector selector) throws CertStoreException { return storeSpi.engineGetCertificates(selector); @@ -286,7 +295,7 @@ public class CertStore * @return The collection of certificate revocation lists. * @throws CertStoreException If the CRLs cannot be retrieved. */ - public final Collection getCRLs(CRLSelector selector) + public final Collection getCRLs(CRLSelector selector) throws CertStoreException { return storeSpi.engineGetCRLs(selector); diff --git a/libjava/classpath/java/security/cert/CertStoreSpi.java b/libjava/classpath/java/security/cert/CertStoreSpi.java index a69545f0d32..976d65ce922 100644 --- a/libjava/classpath/java/security/cert/CertStoreSpi.java +++ b/libjava/classpath/java/security/cert/CertStoreSpi.java @@ -50,7 +50,7 @@ import java.util.Collection; * implement the {@link CertStoreParameters} interface, if they require * parameters. * - * @since JDK 1.4 + * @since 1.4 * @see CertStore * @see CollectionCertStoreParameters * @see LDAPCertStoreParameters @@ -86,7 +86,7 @@ public abstract class CertStoreSpi * @return A (non-null) collection of certificates. * @throws CertStoreException If the certificates cannot be retrieved. */ - public abstract Collection engineGetCertificates(CertSelector selector) + public abstract Collection engineGetCertificates(CertSelector selector) throws CertStoreException; /** @@ -98,6 +98,6 @@ public abstract class CertStoreSpi * @return A (non-null) collection of certificate revocation list. * @throws CertStoreException If the CRLs cannot be retrieved. */ - public abstract Collection engineGetCRLs(CRLSelector selector) + public abstract Collection engineGetCRLs(CRLSelector selector) throws CertStoreException; } diff --git a/libjava/classpath/java/security/cert/CertificateFactory.java b/libjava/classpath/java/security/cert/CertificateFactory.java index aedeff53573..8139c6ec5c3 100644 --- a/libjava/classpath/java/security/cert/CertificateFactory.java +++ b/libjava/classpath/java/security/cert/CertificateFactory.java @@ -41,6 +41,8 @@ package java.security.cert; import gnu.java.security.Engine; import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; +import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.Provider; @@ -56,7 +58,7 @@ import java.util.List; * * @author Mark Benvenuto * @author Casey Marshall - * @since JDK 1.2 + * @since 1.2 * @status Fully compatible with JDK 1.4. */ public class CertificateFactory @@ -84,106 +86,102 @@ public class CertificateFactory this.type = type; } - // Class methods. - // ------------------------------------------------------------------------ - - /** - * Gets an instance of the CertificateFactory class representing - * the specified certificate factory. If the type is not - * found then, it throws CertificateException. - * - * @param type The type of certificate factory to create. - * @return a CertificateFactory repesenting the desired type - * @throws CertificateException If the type of certificate is not - * implemented by any installed provider. + /** + * Returns an instance of a CertificateFactory representing the + * specified certificate factory type. + * + * @param type The type of certificate factory to create. + * @return A CertificateFactory of the desired type. + * @throws CertificateException If the type of certificate factory is not + * implemented by any installed provider. + * @throws IllegalArgumentException if type is + * null or is an empty string. */ public static final CertificateFactory getInstance(String type) - throws CertificateException + throws CertificateException { Provider[] p = Security.getProviders(); - + CertificateException lastException = null; for (int i = 0; i < p.length; i++) - { - try - { - return getInstance(type, p[i]); - } - catch (CertificateException e) - { - // Ignored. - } - } - + try + { + return getInstance(type, p[i]); + } + catch (CertificateException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new CertificateException(type); } - /** - * Gets an instance of the CertificateFactory class representing - * the specified certificate factory from the specified provider. - * If the type is not found then, it throws {@link CertificateException}. - * If the provider is not found, then it throws - * {@link java.security.NoSuchProviderException}. - * - * @param type The type of certificate factory to create. - * @param provider The name of the provider from which to get the - * implementation. - * @return A CertificateFactory for the desired type. - * @throws CertificateException If the type of certificate is not - * implemented by the named provider. + /** + * Returns an instance of a CertificateFactory representing the + * specified certificate factory type from the named provider. + * + * @param type The type of certificate factory to create. + * @param provider The name of the provider to use. + * @return A CertificateFactory for the desired type. + * @throws CertificateException If the type of certificate is not implemented + * by the named provider. * @throws NoSuchProviderException If the named provider is not installed. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. */ public static final CertificateFactory getInstance(String type, String provider) throws CertificateException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); - if( p == null) + if (p == null) throw new NoSuchProviderException(provider); - return getInstance(type, p); } /** - * Get a certificate factory for the given certificate type from the - * given provider. - * - * @param type The type of certificate factory to create. + * Returns an instance of a CertificateFactory representing the + * specified certificate factory type from the designated provider. + * + * @param type The type of certificate factory to create. * @param provider The provider from which to get the implementation. - * @return A CertificateFactory for the desired type. - * @throws CertificateException If the type of certificate is not - * implemented by the provider. - * @throws IllegalArgumentException If the provider is null. + * @return A CertificateFactory for the desired type. + * @throws CertificateException If the type of certificate is not implemented + * by the provider. + * @throws IllegalArgumentException if either type or + * provider is null, or if + * type is an empty string. */ public static final CertificateFactory getInstance(String type, Provider provider) - throws CertificateException + throws CertificateException { - if (provider == null) - throw new IllegalArgumentException("null provider"); - + Throwable cause; try { - return new CertificateFactory((CertificateFactorySpi) - Engine.getInstance(CERTIFICATE_FACTORY, type, provider), - provider, type); + Object spi = Engine.getInstance(CERTIFICATE_FACTORY, type, provider); + return new CertificateFactory((CertificateFactorySpi) spi, provider, type); } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new CertificateException(type); + cause = x; } - catch (java.lang.reflect.InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new CertificateException(type); + cause = x.getCause() != null ? x.getCause() : x; } - catch (NoSuchAlgorithmException nsae) + catch (NoSuchAlgorithmException x) { - throw new CertificateException(nsae.getMessage()); + cause = x; } + CertificateException x = new CertificateException(type); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Gets the provider of this implementation. * @@ -249,7 +247,7 @@ public class CertificateFactory * @throws CertificateException If an error occurs decoding the * certificates. */ - public final Collection generateCertificates(InputStream inStream) + public final Collection generateCertificates(InputStream inStream) throws CertificateException { return certFacSpi.engineGenerateCertificates(inStream); @@ -291,7 +289,7 @@ public class CertificateFactory * InputStream data. * @throws CRLException If an error occurs decoding the CRLs. */ - public final Collection generateCRLs(InputStream inStream) + public final Collection generateCRLs(InputStream inStream) throws CRLException { return certFacSpi.engineGenerateCRLs( inStream ); @@ -338,7 +336,7 @@ public class CertificateFactory * @throws CertificateException If an error occurs generating the * CertPath. */ - public final CertPath generateCertPath(List certificates) + public final CertPath generateCertPath(List certificates) throws CertificateException { return certFacSpi.engineGenerateCertPath(certificates); @@ -351,7 +349,7 @@ public class CertificateFactory * * @return The Iterator of supported encodings. */ - public final Iterator getCertPathEncodings() + public final Iterator getCertPathEncodings() { return certFacSpi.engineGetCertPathEncodings(); } diff --git a/libjava/classpath/java/security/cert/CertificateFactorySpi.java b/libjava/classpath/java/security/cert/CertificateFactorySpi.java index beea9646a67..e6a22b4ebf8 100644 --- a/libjava/classpath/java/security/cert/CertificateFactorySpi.java +++ b/libjava/classpath/java/security/cert/CertificateFactorySpi.java @@ -54,7 +54,7 @@ import java.util.List; Certificate factories are used to generate certificates and certificate revocation lists (CRL) from their encoding. - @since JDK 1.2 + @since 1.2 @author Mark Benvenuto */ @@ -117,7 +117,7 @@ public abstract class CertificateFactorySpi @throws CertificateException Certificate parsing error */ - public abstract Collection engineGenerateCertificates(InputStream inStream) + public abstract Collection engineGenerateCertificates(InputStream inStream) throws CertificateException; /** @@ -157,7 +157,7 @@ public abstract class CertificateFactorySpi @throws CRLException CRL parsing error */ - public abstract Collection engineGenerateCRLs(InputStream inStream) + public abstract Collection engineGenerateCRLs(InputStream inStream) throws CRLException; // 1.4 instance methods. @@ -204,7 +204,7 @@ public abstract class CertificateFactorySpi * @throws CertificateException If an error occurs generating the * CertPath. */ - public CertPath engineGenerateCertPath(List certificates) + public CertPath engineGenerateCertPath(List certificates) throws CertificateException { throw new UnsupportedOperationException("not implemented"); @@ -217,7 +217,7 @@ public abstract class CertificateFactorySpi * * @return The Iterator of supported encodings. */ - public Iterator engineGetCertPathEncodings() + public Iterator engineGetCertPathEncodings() { throw new UnsupportedOperationException("not implemented"); } diff --git a/libjava/classpath/java/security/cert/CollectionCertStoreParameters.java b/libjava/classpath/java/security/cert/CollectionCertStoreParameters.java index bac1e3b3e4f..b3ee93235f8 100644 --- a/libjava/classpath/java/security/cert/CollectionCertStoreParameters.java +++ b/libjava/classpath/java/security/cert/CollectionCertStoreParameters.java @@ -51,6 +51,7 @@ import java.util.Collections; * collection may be changed at any time. * * @see CertStore + * @since 1.4 */ public class CollectionCertStoreParameters implements CertStoreParameters { @@ -81,7 +82,7 @@ public class CollectionCertStoreParameters implements CertStoreParameters * @param collection The collection. * @throws NullPointerException If collection is null. */ - public CollectionCertStoreParameters(Collection collection) + public CollectionCertStoreParameters(Collection collection) { if (collection == null) throw new NullPointerException(); @@ -103,7 +104,7 @@ public class CollectionCertStoreParameters implements CertStoreParameters * * @return The collection. */ - public Collection getCollection() + public Collection getCollection() { return collection; } diff --git a/libjava/classpath/java/security/cert/PKIXBuilderParameters.java b/libjava/classpath/java/security/cert/PKIXBuilderParameters.java index 38b3df5e78a..5e234cec158 100644 --- a/libjava/classpath/java/security/cert/PKIXBuilderParameters.java +++ b/libjava/classpath/java/security/cert/PKIXBuilderParameters.java @@ -48,6 +48,7 @@ import java.util.Set; * Parameters for building certificate paths using the PKIX algorithm. * * @see CertPathBuilder + * @since 1.4 */ public class PKIXBuilderParameters extends PKIXParameters { @@ -97,7 +98,8 @@ public class PKIXBuilderParameters extends PKIXParameters * @throws ClassCastException If every element in trustAnchors * is not a {@link TrustAnchor}. */ - public PKIXBuilderParameters(Set trustAnchors, CertSelector targetConstraints) + public PKIXBuilderParameters(Set trustAnchors, + CertSelector targetConstraints) throws InvalidAlgorithmParameterException { super(trustAnchors); diff --git a/libjava/classpath/java/security/cert/PKIXCertPathChecker.java b/libjava/classpath/java/security/cert/PKIXCertPathChecker.java index a6eef41a298..a69347fcd0b 100644 --- a/libjava/classpath/java/security/cert/PKIXCertPathChecker.java +++ b/libjava/classpath/java/security/cert/PKIXCertPathChecker.java @@ -59,6 +59,7 @@ import java.util.Set; * the most-trusted certificate. * * @see PKIXParameters + * @since 1.4 */ public abstract class PKIXCertPathChecker implements Cloneable { @@ -116,7 +117,7 @@ public abstract class PKIXCertPathChecker implements Cloneable * @return An immutable set of Strings of the supported X.509 OIDs, or * null if no extensions are supported. */ - public abstract Set getSupportedExtensions(); + public abstract Set getSupportedExtensions(); /** * Checks a certificate, removing any critical extensions that are @@ -128,6 +129,6 @@ public abstract class PKIXCertPathChecker implements Cloneable * @throws CertPathValidatorException If this certificate fails this * check. */ - public abstract void check(Certificate cert, Collection unresolvedCritExts) + public abstract void check(Certificate cert, Collection unresolvedCritExts) throws CertPathValidatorException; } diff --git a/libjava/classpath/java/security/cert/PKIXParameters.java b/libjava/classpath/java/security/cert/PKIXParameters.java index 16ef07f8870..bb68cb93726 100644 --- a/libjava/classpath/java/security/cert/PKIXParameters.java +++ b/libjava/classpath/java/security/cert/PKIXParameters.java @@ -56,6 +56,7 @@ import java.util.Set; * (Public-Key Infrastructure (X.509)) algorithm. * * @see CertPathBuilder + * @since 1.4 */ public class PKIXParameters implements CertPathParameters { @@ -144,7 +145,7 @@ public class PKIXParameters implements CertPathParameters * @throws ClassCastException If every element in trustAnchors * is not a {@link TrustAnchor}. */ - public PKIXParameters(Set trustAnchors) + public PKIXParameters(Set trustAnchors) throws InvalidAlgorithmParameterException { this(); @@ -199,7 +200,7 @@ public class PKIXParameters implements CertPathParameters * * @return A (never null, never empty) immutable set of trust anchors. */ - public Set getTrustAnchors() + public Set getTrustAnchors() { return Collections.unmodifiableSet(trustAnchors); } @@ -216,7 +217,7 @@ public class PKIXParameters implements CertPathParameters * @throws ClassCastException If every element in trustAnchors * is not a {@link TrustAnchor}. */ - public void setTrustAnchors(Set trustAnchors) + public void setTrustAnchors(Set trustAnchors) throws InvalidAlgorithmParameterException { if (trustAnchors.isEmpty()) @@ -235,7 +236,7 @@ public class PKIXParameters implements CertPathParameters * @return An immutable set of initial policy OID strings, or the * empty set if any policy is acceptable. */ - public Set getInitialPolicies() + public Set getInitialPolicies() { return Collections.unmodifiableSet(initPolicies); } @@ -249,7 +250,7 @@ public class PKIXParameters implements CertPathParameters * @throws ClassCastException If any element in initPolicies is * not a string. */ - public void setInitialPolicies(Set initPolicies) + public void setInitialPolicies(Set initPolicies) { this.initPolicies.clear(); if (initPolicies == null) @@ -277,7 +278,7 @@ public class PKIXParameters implements CertPathParameters * * @return The list of cert stores. */ - public List getCertStores() + public List getCertStores() { return Collections.unmodifiableList(certStores); } @@ -288,7 +289,7 @@ public class PKIXParameters implements CertPathParameters * * @param certStores The cert stores. */ - public void setCertStores(List certStores) + public void setCertStores(List certStores) { this.certStores.clear(); if (certStores == null) @@ -446,7 +447,7 @@ public class PKIXParameters implements CertPathParameters * * @return An immutable list of all certificate path checkers. */ - public List getCertPathCheckers() + public List getCertPathCheckers() { return Collections.unmodifiableList(pathCheckers); } @@ -459,7 +460,7 @@ public class PKIXParameters implements CertPathParameters * @throws ClassCastException If any element of pathCheckers is * not a {@link PKIXCertPathChecker}. */ - public void setCertPathCheckers(List pathCheckers) + public void setCertPathCheckers(List pathCheckers) { this.pathCheckers.clear(); if (pathCheckers == null) diff --git a/libjava/classpath/java/security/cert/PolicyNode.java b/libjava/classpath/java/security/cert/PolicyNode.java index 58d411cd3ad..b1196037e87 100644 --- a/libjava/classpath/java/security/cert/PolicyNode.java +++ b/libjava/classpath/java/security/cert/PolicyNode.java @@ -38,6 +38,12 @@ exception statement from your version. */ package java.security.cert; +import java.util.Iterator; +import java.util.Set; + +/** + * @since 1.4 + */ public interface PolicyNode { @@ -47,7 +53,7 @@ public interface PolicyNode * * @return An iterator over the child nodes. */ - java.util.Iterator getChildren(); + Iterator getChildren(); /** * Get the depth of this node within the tree, starting at 0 for the @@ -64,7 +70,7 @@ public interface PolicyNode * * @return The set of expected policies. */ - java.util.Set getExpectedPolicies(); + Set getExpectedPolicies(); /** * Returns the parent node of this node, or null if this is the root @@ -81,7 +87,7 @@ public interface PolicyNode * * @return The set of {@link PolicyQualifierInfo} objects. */ - java.util.Set getPolicyQualifiers(); + Set getPolicyQualifiers(); /** * Get the policy OID this node represents. The root node should return diff --git a/libjava/classpath/java/security/cert/PolicyQualifierInfo.java b/libjava/classpath/java/security/cert/PolicyQualifierInfo.java index 7dcf2315632..b50f3f31245 100644 --- a/libjava/classpath/java/security/cert/PolicyQualifierInfo.java +++ b/libjava/classpath/java/security/cert/PolicyQualifierInfo.java @@ -59,9 +59,10 @@ import java.io.IOException; * PolicyQualifierId ::= OBJECT IDENTIFIER * * - * @since JDK 1.4 + * @since 1.4 + * @specnote this class was final in 1.4, but beginning with 1.5 is not */ -public final class PolicyQualifierInfo +public class PolicyQualifierInfo { // Fields. diff --git a/libjava/classpath/java/security/cert/X509CRL.java b/libjava/classpath/java/security/cert/X509CRL.java index 5657b3eb3f5..a00706e678f 100644 --- a/libjava/classpath/java/security/cert/X509CRL.java +++ b/libjava/classpath/java/security/cert/X509CRL.java @@ -97,7 +97,7 @@ import javax.security.auth.x500.X500Principal; @author Mark Benvenuto - @since JDK 1.2 + @since 1.2 */ public abstract class X509CRL extends CRL implements X509Extension { @@ -304,7 +304,7 @@ public abstract class X509CRL extends CRL implements X509Extension @return a set of revoked certificates. */ - public abstract Set getRevokedCertificates(); + public abstract Set getRevokedCertificates(); /** Returns the DER ASN.1 encoded tbsCertList which is diff --git a/libjava/classpath/java/security/cert/X509CRLSelector.java b/libjava/classpath/java/security/cert/X509CRLSelector.java index 3c79fba9cb8..56b171369fb 100644 --- a/libjava/classpath/java/security/cert/X509CRLSelector.java +++ b/libjava/classpath/java/security/cert/X509CRLSelector.java @@ -69,6 +69,7 @@ import javax.security.auth.x500.X500Principal; * use or modify this class then they need to synchronize on the object. * * @author Casey Marshall (csm@gnu.org) + * @since 1.4 */ public class X509CRLSelector implements CRLSelector, Cloneable { @@ -157,7 +158,7 @@ public class X509CRLSelector implements CRLSelector, Cloneable * @throws IOException If any of the elements in the collection is not * a valid name. */ - public void setIssuerNames(Collection names) throws IOException + public void setIssuerNames(Collection names) throws IOException { if (names == null) { @@ -224,7 +225,7 @@ public class X509CRLSelector implements CRLSelector, Cloneable * * @return The set of issuer names. */ - public Collection getIssuerNames() + public Collection getIssuerNames() { if (issuerNames != null) return Collections.unmodifiableList(issuerNames); diff --git a/libjava/classpath/java/security/cert/X509CertSelector.java b/libjava/classpath/java/security/cert/X509CertSelector.java index 175e4c673c9..154ed2e4d98 100644 --- a/libjava/classpath/java/security/cert/X509CertSelector.java +++ b/libjava/classpath/java/security/cert/X509CertSelector.java @@ -76,6 +76,7 @@ import javax.security.auth.x500.X500Principal; * use or modify this class then they need to synchronize on the object. * * @author Casey Marshall (csm@gnu.org) + * @since 1.4 */ public class X509CertSelector implements CertSelector, Cloneable { @@ -573,7 +574,7 @@ public class X509CertSelector implements CertSelector, Cloneable * * @return The set of key purpose OIDs (strings). */ - public Set getExtendedKeyUsage() + public Set getExtendedKeyUsage() { if (keyPurposeSet != null) return Collections.unmodifiableSet(keyPurposeSet); @@ -588,7 +589,7 @@ public class X509CertSelector implements CertSelector, Cloneable * @param keyPurposeSet The set of key purpose OIDs. * @throws IOException If any element of the set is not a valid OID string. */ - public void setExtendedKeyUsage(Set keyPurposeSet) throws IOException + public void setExtendedKeyUsage(Set keyPurposeSet) throws IOException { if (keyPurposeSet == null) { @@ -653,7 +654,7 @@ public class X509CertSelector implements CertSelector, Cloneable * @param altNames The alternative names. * @throws IOException If any element of the argument is invalid. */ - public void setSubjectAlternativeNames(Collection altNames) + public void setSubjectAlternativeNames(Collection> altNames) throws IOException { if (altNames == null) @@ -786,7 +787,7 @@ public class X509CertSelector implements CertSelector, Cloneable // certificate, and check it against the specified set. // FIXME -// public void setPolicy(Set policy) throws IOException +// public void setPolicy(Set policy) throws IOException // { // if (policy != null) // { @@ -807,7 +808,7 @@ public class X509CertSelector implements CertSelector, Cloneable // } // FIXME -// public void setPathToNames(Collection names) throws IOException +// public void setPathToNames(Collection> names) throws IOException // { // if (names == null) // { @@ -843,19 +844,19 @@ public class X509CertSelector implements CertSelector, Cloneable // } // FIXME -// public Collection getSubjectAlternativeNames() +// public Collection> getSubjectAlternativeNames() // { // return null; // } // FIXME -// public Set getPolicy() +// public Set getPolicy() // { // return null; // } // FIXME -// public Collection getPathToNames() +// public Collection> getPathToNames() // { // return null; // } diff --git a/libjava/classpath/java/security/cert/X509Certificate.java b/libjava/classpath/java/security/cert/X509Certificate.java index f6c6fcfb9a4..bc1b5c2351c 100644 --- a/libjava/classpath/java/security/cert/X509Certificate.java +++ b/libjava/classpath/java/security/cert/X509Certificate.java @@ -41,6 +41,7 @@ package java.security.cert; import java.math.BigInteger; import java.security.Principal; import java.util.Date; +import java.util.List; /** * X509Certificate is the abstract class for X.509 certificates. @@ -131,7 +132,7 @@ import java.util.Date; * Profile. * * - * @since JDK 1.2 + * @since 1.2 * @author Mark Benvenuto * @author Casey Marshall (rsdio@metastatic.org) */ @@ -487,7 +488,7 @@ public abstract class X509Certificate * @throws CertificateParsingException If this extension cannot be * parsed from its encoded form. */ - public java.util.List getExtendedKeyUsage() + public java.util.List getExtendedKeyUsage() throws CertificateParsingException { throw new UnsupportedOperationException(); @@ -531,7 +532,7 @@ public abstract class X509Certificate * be parsed. * @since JDK 1.4 */ - public java.util.Collection getSubjectAlternativeNames() + public java.util.Collection> getSubjectAlternativeNames() throws CertificateParsingException { throw new UnsupportedOperationException(); @@ -558,7 +559,7 @@ public abstract class X509Certificate * be parsed. * @since JDK 1.4 */ - public java.util.Collection getIssuerAlternativeNames() + public java.util.Collection> getIssuerAlternativeNames() throws CertificateParsingException { throw new UnsupportedOperationException(); diff --git a/libjava/classpath/java/security/cert/X509Extension.java b/libjava/classpath/java/security/cert/X509Extension.java index d2cb80a9f57..bd9473782e4 100644 --- a/libjava/classpath/java/security/cert/X509Extension.java +++ b/libjava/classpath/java/security/cert/X509Extension.java @@ -70,7 +70,7 @@ import java.util.Set; @author Mark Benvenuto - @since JDK 1.2 + @since 1.2 */ public interface X509Extension { @@ -91,7 +91,7 @@ public interface X509Extension @return A Set containing the OIDs. If there are no CRITICAL extensions or extensions at all this returns null. */ - Set getCriticalExtensionOIDs(); + Set getCriticalExtensionOIDs(); /** Returns a set of the NON-CRITICAL extension OIDs from the @@ -101,7 +101,7 @@ public interface X509Extension @return A Set containing the OIDs. If there are no NON-CRITICAL extensions or extensions at all this returns null. */ - Set getNonCriticalExtensionOIDs(); + Set getNonCriticalExtensionOIDs(); /** Returns the DER encoded OCTET string for the specified diff --git a/libjava/classpath/java/sql/Array.java b/libjava/classpath/java/sql/Array.java index c3c42d9cb57..cdd60a42f12 100644 --- a/libjava/classpath/java/sql/Array.java +++ b/libjava/classpath/java/sql/Array.java @@ -84,7 +84,7 @@ public interface Array * @return The contents of the array as an array of Java objects. * @exception SQLException If an error occurs. */ - Object getArray(Map map) throws SQLException; + Object getArray(Map> map) throws SQLException; /** * Returns a portion of this array starting at start @@ -94,7 +94,7 @@ public interface Array * The object returned will be an array of Java objects of * the appropriate types. * - * @param start The index into this array to start returning elements from. + * @param start The offset into this array to start returning elements from. * @param count The requested number of elements to return. * @return The requested portion of the array. * @exception SQLException If an error occurs. @@ -110,13 +110,14 @@ public interface Array * Map will be used for overriding selected SQL type to * Java class mappings. * - * @param start The index into this array to start returning elements from. + * @param start The offset into this array to start returning elements from. * @param count The requested number of elements to return. * @param map A mapping of SQL types to Java classes. * @return The requested portion of the array. * @exception SQLException If an error occurs. */ - Object getArray(long start, int count, Map map) throws SQLException; + Object getArray(long start, int count, Map> map) + throws SQLException; /** * Returns the elements in the array as a ResultSet. @@ -143,7 +144,7 @@ public interface Array * @exception SQLException If an error occurs. * @see ResultSet */ - ResultSet getResultSet(Map map) throws SQLException; + ResultSet getResultSet(Map> map) throws SQLException; /** * This method returns a portion of the array as a ResultSet. @@ -180,6 +181,6 @@ public interface Array * @exception SQLException If an error occurs. * @see ResultSet */ - ResultSet getResultSet(long start, int count, Map map) + ResultSet getResultSet(long start, int count, Map> map) throws SQLException; } diff --git a/libjava/classpath/java/sql/CallableStatement.java b/libjava/classpath/java/sql/CallableStatement.java index 75eade77480..e605b381d5b 100644 --- a/libjava/classpath/java/sql/CallableStatement.java +++ b/libjava/classpath/java/sql/CallableStatement.java @@ -250,7 +250,7 @@ public interface CallableStatement extends PreparedStatement * @exception SQLException If an error occurs. * @since 1.2 */ - Object getObject(int index, Map map) throws SQLException; + Object getObject(int index, Map> map) throws SQLException; /** * This method returns the value of the specified parameter as a Java @@ -865,7 +865,7 @@ public interface CallableStatement extends PreparedStatement * @exception SQLException If an error occurs. * @since 1.4 */ - Object getObject(String name, Map map) throws SQLException; + Object getObject(String name, Map> map) throws SQLException; /** * This method returns the value of the specified parameter as a Java diff --git a/libjava/classpath/java/sql/Connection.java b/libjava/classpath/java/sql/Connection.java index d827e75b089..8dc7544c760 100644 --- a/libjava/classpath/java/sql/Connection.java +++ b/libjava/classpath/java/sql/Connection.java @@ -339,7 +339,7 @@ public interface Connection * @return The SQL type to Java class mapping. * @exception SQLException If an error occurs. */ - Map getTypeMap() throws SQLException; + Map> getTypeMap() throws SQLException; /** * This method sets the mapping table for SQL types to Java classes. @@ -348,7 +348,7 @@ public interface Connection * @param map The new SQL mapping table. * @exception SQLException If an error occurs. */ - void setTypeMap(Map map) throws SQLException; + void setTypeMap(Map> map) throws SQLException; /** * Sets the default holdability of ResultSetS that are created diff --git a/libjava/classpath/java/sql/DriverManager.java b/libjava/classpath/java/sql/DriverManager.java index 94f743b92da..7d1ef07c1a0 100644 --- a/libjava/classpath/java/sql/DriverManager.java +++ b/libjava/classpath/java/sql/DriverManager.java @@ -264,7 +264,7 @@ public class DriverManager * * @return An Enumeration of all currently loaded JDBC drivers. */ - public static Enumeration getDrivers() + public static Enumeration getDrivers() { Vector v = new Vector(); Enumeration e = drivers.elements(); diff --git a/libjava/classpath/java/sql/Ref.java b/libjava/classpath/java/sql/Ref.java index 4ebd5e64898..c5c54eefef1 100644 --- a/libjava/classpath/java/sql/Ref.java +++ b/libjava/classpath/java/sql/Ref.java @@ -61,7 +61,7 @@ public interface Ref /** * @since 1.4 */ - Object getObject(Map map) throws SQLException; + Object getObject(Map> map) throws SQLException; /** * @since 1.4 diff --git a/libjava/classpath/java/sql/ResultSet.java b/libjava/classpath/java/sql/ResultSet.java index 79cba63d419..573deb3e105 100644 --- a/libjava/classpath/java/sql/ResultSet.java +++ b/libjava/classpath/java/sql/ResultSet.java @@ -1309,7 +1309,8 @@ public interface ResultSet * @return The value of the column as an Object. * @exception SQLException If an error occurs. */ - Object getObject(int columnIndex, Map map) throws SQLException; + Object getObject(int columnIndex, Map> map) + throws SQLException; /** * This method returns a Ref for the specified column which @@ -1357,7 +1358,8 @@ public interface ResultSet * @return The value of the column as an Object. * @exception SQLException If an error occurs. */ - Object getObject(String columnName, Map map) throws SQLException; + Object getObject(String columnName, Map> map) + throws SQLException; /** * This method returns a Ref for the specified column which diff --git a/libjava/classpath/java/sql/Struct.java b/libjava/classpath/java/sql/Struct.java index 5cbc88e133a..ce8db22bb55 100644 --- a/libjava/classpath/java/sql/Struct.java +++ b/libjava/classpath/java/sql/Struct.java @@ -73,5 +73,5 @@ public interface Struct * @return The attributes of this structure type. * @exception SQLException If a error occurs. */ - Object[] getAttributes(Map map) throws SQLException; + Object[] getAttributes(Map> map) throws SQLException; } diff --git a/libjava/classpath/java/sql/Timestamp.java b/libjava/classpath/java/sql/Timestamp.java index 66a57641a02..18ccda5577d 100644 --- a/libjava/classpath/java/sql/Timestamp.java +++ b/libjava/classpath/java/sql/Timestamp.java @@ -1,5 +1,5 @@ /* Time.java -- Wrapper around java.util.Date - Copyright (C) 1999, 2000, 2003, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -312,7 +312,7 @@ public class Timestamp extends java.util.Date * @see #compareTo(Timestamp) * @since 1.2 */ - public int compareTo(Object obj) + public int compareTo(java.util.Date obj) { return compareTo((Timestamp) obj); } diff --git a/libjava/classpath/java/text/AttributedCharacterIterator.java b/libjava/classpath/java/text/AttributedCharacterIterator.java index 37c7450b2c8..4f9c762b3cd 100644 --- a/libjava/classpath/java/text/AttributedCharacterIterator.java +++ b/libjava/classpath/java/text/AttributedCharacterIterator.java @@ -1,5 +1,5 @@ /* AttributedCharacterIterator.java -- Iterate over attributes - Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2004, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -53,7 +53,10 @@ import java.util.Set; * that is defined for a particular value across an entire range of * characters or which is undefined over a range of characters. * + * @since 1.2 + * * @author Aaron M. Renn (arenn@urbanophile.com) + * @since 1.2 */ public interface AttributedCharacterIterator extends CharacterIterator { @@ -68,7 +71,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * This is the attribute for the language of the text. The value of * attributes of this key type are instances of Locale. */ - public static final Attribute LANGUAGE = new Attribute ("LANGUAGE"); + public static final Attribute LANGUAGE = new Attribute("language"); /** * This is the attribute for the reading form of text. This is used @@ -77,7 +80,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * instances of Annotation which wrappers a * String. */ - public static final Attribute READING = new Attribute ("READING"); + public static final Attribute READING = new Attribute("reading"); /** * This is the attribute for input method segments. The value of attributes @@ -85,7 +88,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * a String. */ public static final Attribute INPUT_METHOD_SEGMENT = - new Attribute ("INPUT_METHOD_SEGMENT"); + new Attribute("input_method_segment"); /** * The name of the attribute key @@ -98,7 +101,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @param name The name of this attribute key. */ - protected Attribute (String name) + protected Attribute(String name) { this.name = name; } @@ -156,7 +159,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * @return true if the specified object is equal to this one, * false otherwise. */ - public final boolean equals (Object obj) + public final boolean equals(Object obj) { if (obj == this) return true; @@ -192,7 +195,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return A list of keys */ - Set getAllAttributeKeys(); + Set getAllAttributeKeys(); /** * Returns a Map of the attributes defined for the current @@ -200,7 +203,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return A Map of the attributes for the current character. */ - Map getAttributes(); + Map getAttributes(); /** * Returns the value of the specified attribute for the @@ -211,7 +214,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return The value of the specified attribute */ - Object getAttribute (AttributedCharacterIterator.Attribute attrib); + Object getAttribute(AttributedCharacterIterator.Attribute attrib); /** * Returns the index of the first character in the run that @@ -230,7 +233,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return The start index of the run. */ - int getRunStart (Set attribs); + int getRunStart(Set attribs); /** * Returns the index of the first character in the run that @@ -240,7 +243,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return The start index of the run. */ - int getRunStart (AttributedCharacterIterator.Attribute attrib); + int getRunStart(AttributedCharacterIterator.Attribute attrib); /** * Returns the index of the character after the end of the run @@ -259,7 +262,7 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return The end index of the run. */ - int getRunLimit (Set attribs); + int getRunLimit(Set attribs); /** * Returns the index of the character after the end of the run @@ -269,6 +272,6 @@ public interface AttributedCharacterIterator extends CharacterIterator * * @return The end index of the run. */ - int getRunLimit (AttributedCharacterIterator.Attribute attrib); + int getRunLimit(AttributedCharacterIterator.Attribute attrib); } // interface AttributedCharacterIterator diff --git a/libjava/classpath/java/text/AttributedString.java b/libjava/classpath/java/text/AttributedString.java index 497b557fcf3..6785bd3c58f 100644 --- a/libjava/classpath/java/text/AttributedString.java +++ b/libjava/classpath/java/text/AttributedString.java @@ -1,5 +1,5 @@ /* AttributedString.java -- Models text with attributes - Copyright (C) 1998, 1999, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,8 +50,11 @@ import java.util.Set; * This class models a String with attributes over various * subranges of the string. It allows applications to access this * information via the AttributedCharacterIterator interface. + * + * @since 1.2 * * @author Aaron M. Renn (arenn@urbanophile.com) + * @since 1.2 */ public class AttributedString { @@ -66,23 +69,23 @@ public class AttributedString Map attribs; /** The beginning index of the attributes */ - int begin_index; + int beginIndex; /** The ending index of the attributes */ - int end_index; + int endIndex; /** * Creates a new attribute range. * * @param attribs the attributes. - * @param begin_index the start index. - * @param end_index the end index. + * @param beginIndex the start index. + * @param endIndex the end index. */ - AttributeRange(Map attribs, int begin_index, int end_index) + AttributeRange(Map attribs, int beginIndex, int endIndex) { this.attribs = attribs; - this.begin_index = begin_index; - this.end_index = end_index; + this.beginIndex = beginIndex; + this.endIndex = endIndex; } } // Inner class AttributeRange @@ -116,7 +119,8 @@ public class AttributedString * @param str The String to be attributed. * @param attributes The attribute list. */ - public AttributedString(String str, Map attributes) + public AttributedString(String str, + Map attributes) { this(str); @@ -147,13 +151,13 @@ public class AttributedString * * @param aci The AttributedCharacterIterator containing the * text and attribute information. - * @param begin_index The beginning index of the text subrange. - * @param end_index The ending index of the text subrange. + * @param beginIndex The beginning index of the text subrange. + * @param endIndex The ending index of the text subrange. */ - public AttributedString(AttributedCharacterIterator aci, int begin_index, - int end_index) + public AttributedString(AttributedCharacterIterator aci, int beginIndex, + int endIndex) { - this(aci, begin_index, end_index, null); + this(aci, beginIndex, endIndex, null); } /** @@ -181,9 +185,9 @@ public class AttributedString StringBuffer sb = new StringBuffer(""); // Get the valid attribute list - Set all_attribs = aci.getAllAttributeKeys(); + Set allAttribs = aci.getAllAttributeKeys(); if (attributes != null) - all_attribs.retainAll(Arrays.asList(attributes)); + allAttribs.retainAll(Arrays.asList(attributes)); // Loop through and extract the attributes char c = aci.setIndex(begin); @@ -193,7 +197,7 @@ public class AttributedString { sb.append(c); - Iterator iter = all_attribs.iterator(); + Iterator iter = allAttribs.iterator(); while(iter.hasNext()) { Object obj = iter.next(); @@ -206,9 +210,10 @@ public class AttributedString (AttributedCharacterIterator.Attribute)obj; // Make sure the attribute is defined. - int rl = aci.getRunLimit(attrib); - if (rl == -1) + Object attribObj = aci.getAttribute(attrib); + if (attribObj == null) continue; + int rl = aci.getRunLimit(attrib); if (rl > end) rl = end; rl -= begin; @@ -220,22 +225,21 @@ public class AttributedString // If the attribute run starts before the beginning index, we // need to junk it if it is an Annotation. - Object attrib_obj = aci.getAttribute(attrib); - rs -= begin; + rs -= begin; if (rs < 0) { - if (attrib_obj instanceof Annotation) + if (attribObj instanceof Annotation) continue; rs = 0; } // Create a map object. Yes this will only contain one attribute - Map new_map = new Hashtable(); - new_map.put(attrib, attrib_obj); + Map newMap = new Hashtable(); + newMap.put(attrib, attribObj); // Add it to the attribute list. - accum.add(new AttributeRange(new_map, rs, rl)); + accum.add(new AttributeRange(newMap, rs, rl)); } c = aci.next(); @@ -290,27 +294,28 @@ public class AttributedString * specified subrange of the string. * * @param attributes The list of attributes. - * @param begin_index The beginning index. - * @param end_index The ending index + * @param beginIndex The beginning index. + * @param endIndex The ending index * * @throws NullPointerException if attributes is * null. * @throws IllegalArgumentException if the subrange is not valid. */ - public void addAttributes(Map attributes, int begin_index, int end_index) + public void addAttributes(Map attributes, + int beginIndex, int endIndex) { if (attributes == null) throw new NullPointerException("null attribute"); - if ((begin_index < 0) || (end_index > sci.getEndIndex()) || - (end_index <= begin_index)) + if ((beginIndex < 0) || (endIndex > sci.getEndIndex()) || + (endIndex <= beginIndex)) throw new IllegalArgumentException("bad range"); AttributeRange[] new_list = new AttributeRange[attribs.length + 1]; System.arraycopy(attribs, 0, new_list, 0, attribs.length); attribs = new_list; - attribs[attribs.length - 1] = new AttributeRange(attributes, begin_index, - end_index); + attribs[attribs.length - 1] = new AttributeRange(attributes, beginIndex, + endIndex); } /** @@ -351,20 +356,20 @@ public class AttributedString * returned. * * @param attributes A list of attributes to include in the returned iterator. - * @param begin_index The beginning index of the subrange. - * @param end_index The ending index of the subrange. + * @param beginIndex The beginning index of the subrange. + * @param endIndex The ending index of the subrange. * * @return An AttributedCharacterIterator for this string. */ public AttributedCharacterIterator getIterator( AttributedCharacterIterator.Attribute[] attributes, - int begin_index, int end_index) + int beginIndex, int endIndex) { - if ((begin_index < 0) || (end_index > sci.getEndIndex()) || - (end_index < begin_index)) + if ((beginIndex < 0) || (endIndex > sci.getEndIndex()) || + (endIndex < beginIndex)) throw new IllegalArgumentException("bad range"); - return(new AttributedStringIterator(sci, attribs, begin_index, end_index, + return(new AttributedStringIterator(sci, attribs, beginIndex, endIndex, attributes)); } diff --git a/libjava/classpath/java/text/AttributedStringIterator.java b/libjava/classpath/java/text/AttributedStringIterator.java index f6b9b186831..422876c0948 100644 --- a/libjava/classpath/java/text/AttributedStringIterator.java +++ b/libjava/classpath/java/text/AttributedStringIterator.java @@ -1,5 +1,5 @@ /* AttributedStringIterator.java -- Class to iterate over AttributedString - Copyright (C) 1998, 1999, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,12 +71,21 @@ class AttributedStringIterator implements AttributedCharacterIterator /*************************************************************************/ + /** + * Creates a new instance. + * + * @param sci an iterator for the string content. + * @param attribs the attribute ranges. + * @param beginIndex the start index. + * @param endIndex the end index. + * @param restricts the attributes that the user is interested in. + */ AttributedStringIterator(StringCharacterIterator sci, AttributedString.AttributeRange[] attribs, - int begin_index, int end_index, + int beginIndex, int endIndex, AttributedCharacterIterator.Attribute[] restricts) { - this.ci = new StringCharacterIterator(sci, begin_index, end_index); + this.ci = new StringCharacterIterator(sci, beginIndex, endIndex); this.attribs = attribs; this.restricts = restricts; } @@ -154,8 +163,8 @@ class AttributedStringIterator implements AttributedCharacterIterator for (int i = 0; i < attribs.length; i++) { - if (attribs[i].begin_index > getEndIndex() - || attribs[i].end_index <= getBeginIndex()) + if (attribs[i].beginIndex > getEndIndex() + || attribs[i].endIndex <= getBeginIndex()) continue; Set key_set = attribs[i].attribs.keySet(); @@ -178,7 +187,7 @@ class AttributedStringIterator implements AttributedCharacterIterator public int getRunLimit() { - return(getRunLimit(getAttributes().keySet())); + return getRunLimit(getAllAttributeKeys()); } public int getRunLimit(AttributedCharacterIterator.Attribute attrib) @@ -333,7 +342,7 @@ class AttributedStringIterator implements AttributedCharacterIterator return null; for (int i = attribs.length - 1; i >= 0; i--) { - if (pos >= attribs[i].begin_index && pos < attribs[i].end_index) + if (pos >= attribs[i].beginIndex && pos < attribs[i].endIndex) { Set keys = attribs[i].attribs.keySet(); if (keys.contains(key)) @@ -373,8 +382,8 @@ class AttributedStringIterator implements AttributedCharacterIterator for (int i = 0; i < attribs.length; i++) { - if ((ci.getIndex() >= attribs[i].begin_index) && - (ci.getIndex() < attribs[i].end_index)) + if ((ci.getIndex() >= attribs[i].beginIndex) && + (ci.getIndex() < attribs[i].endIndex)) m.putAll(attribs[i].attribs); } diff --git a/libjava/classpath/java/text/Bidi.java b/libjava/classpath/java/text/Bidi.java index 05b10f52d6a..491f9e36ef7 100644 --- a/libjava/classpath/java/text/Bidi.java +++ b/libjava/classpath/java/text/Bidi.java @@ -991,7 +991,8 @@ public final class Bidi && dir != Character.DIRECTIONALITY_ARABIC_NUMBER && dir != Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR && dir != Character.DIRECTIONALITY_SEGMENT_SEPARATOR - && dir != Character.DIRECTIONALITY_WHITESPACE) + && dir != Character.DIRECTIONALITY_WHITESPACE + && dir != Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR) return true; } diff --git a/libjava/classpath/java/text/CollationKey.java b/libjava/classpath/java/text/CollationKey.java index a467869b881..1ae8abc556c 100644 --- a/libjava/classpath/java/text/CollationKey.java +++ b/libjava/classpath/java/text/CollationKey.java @@ -65,7 +65,7 @@ import java.util.Arrays; * @author Tom Tromey (tromey@cygnus.com) * @date March 25, 1999 */ -public final class CollationKey implements Comparable +public class CollationKey implements Comparable { /** * This is the Collator this object was created from. @@ -111,21 +111,6 @@ public final class CollationKey implements Comparable return key.length - ck.key.length; } - /** - * This method compares the specified object to this one. The specified - * object must be an instance of CollationKey or an exception - * will be thrown. An integer is returned which indicates whether the - * specified object is less than, greater than, or equal to this object. - * - * @param obj The Object to compare against this one. - * - * @return A negative integer if this object is less than the specified object, 0 if it is equal or a positive integer if it is greater than the specified object. - */ - public int compareTo (Object obj) - { - return compareTo ((CollationKey) obj); - } - /** * This method tests the specified Object for equality with * this object. This will be true if and only if: diff --git a/libjava/classpath/java/text/Collator.java b/libjava/classpath/java/text/Collator.java index 08739163a64..95236132440 100644 --- a/libjava/classpath/java/text/Collator.java +++ b/libjava/classpath/java/text/Collator.java @@ -70,7 +70,7 @@ import java.util.ResourceBundle; * @author Aaron M. Renn (arenn@urbanophile.com) * @date March 18, 1999 */ -public abstract class Collator implements Comparator, Cloneable +public abstract class Collator implements Comparator, Cloneable { /** * This constant is a strength value which indicates that only primary diff --git a/libjava/classpath/java/text/DecimalFormat.java b/libjava/classpath/java/text/DecimalFormat.java index f64249b6755..529e571331f 100644 --- a/libjava/classpath/java/text/DecimalFormat.java +++ b/libjava/classpath/java/text/DecimalFormat.java @@ -35,387 +35,157 @@ 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. */ +/* + * This class contains few bits from ICU4J (http://icu.sourceforge.net/), + * Copyright by IBM and others and distributed under the + * distributed under MIT/X. + */ + package java.text; -import gnu.java.text.AttributedFormatBuffer; -import gnu.java.text.FormatBuffer; -import gnu.java.text.FormatCharacterIterator; -import gnu.java.text.StringFormatBuffer; +import java.math.BigDecimal; +import java.math.BigInteger; -import java.io.IOException; -import java.io.ObjectInputStream; +import java.util.ArrayList; import java.util.Currency; -import java.util.HashMap; import java.util.Locale; -/** +/* + * This note is here for historical reasons and because I had not the courage + * to remove it :) + * * @author Tom Tromey (tromey@cygnus.com) * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @date March 4, 1999 - */ -/* Written using "Java Class Libraries", 2nd edition, plus online + * + * Written using "Java Class Libraries", 2nd edition, plus online * API docs for JDK 1.2 from http://www.javasoft.com. * Status: Believed complete and correct to 1.2. * Note however that the docs are very unclear about how format parsing * should work. No doubt there are problems here. */ + +/** + * This class is a concrete implementation of NumberFormat used to format + * decimal numbers. The class can format numbers given a specific locale. + * Generally, to get an instance of DecimalFormat you should call the factory + * methods in the NumberFormat base class. + * + * @author Mario Torre + * @author Tom Tromey (tromey@cygnus.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ public class DecimalFormat extends NumberFormat { - // This is a helper for applyPatternWithSymbols. It reads a prefix - // or a suffix. It can cause some side-effects. - private int scanFix (String pattern, int index, FormatBuffer buf, - String patChars, DecimalFormatSymbols syms, - boolean is_suffix) - { - int len = pattern.length(); - boolean quoteStarted = false; - buf.clear(); - - boolean multiplierSet = false; - while (index < len) - { - char c = pattern.charAt(index); - - if (quoteStarted) - { - if (c == '\'') - quoteStarted = false; - else - buf.append(c); - index++; - continue; - } - - if (c == '\'' && index + 1 < len - && pattern.charAt(index + 1) == '\'') - { - buf.append(c); - index++; - } - else if (c == '\'') - { - quoteStarted = true; - } - else if (c == '\u00a4') - { - /* Currency interpreted later */ - buf.append(c); - } - else if (c == syms.getPercent()) - { - if (multiplierSet) - throw new IllegalArgumentException ("multiplier already set " + - "- index: " + index); - multiplierSet = true; - multiplier = 100; - buf.append(c, NumberFormat.Field.PERCENT); - } - else if (c == syms.getPerMill()) - { - if (multiplierSet) - throw new IllegalArgumentException ("multiplier already set " + - "- index: " + index); - multiplierSet = true; - multiplier = 1000; - buf.append(c, NumberFormat.Field.PERMILLE); - } - else if (patChars.indexOf(c) != -1) - { - // This is a pattern character. - break; - } - else - { - buf.append(c); - } - index++; - } - - if (quoteStarted) - throw new IllegalArgumentException ("pattern is lacking a closing quote"); - - return index; - } - - // A helper which reads a number format. - private int scanFormat (String pattern, int index, String patChars, - DecimalFormatSymbols syms, boolean is_positive) - { - int max = pattern.length(); - - int countSinceGroup = 0; - int zeroCount = 0; - boolean saw_group = false; - - // - // Scan integer part. - // - while (index < max) - { - char c = pattern.charAt(index); - - if (c == syms.getDigit()) - { - if (zeroCount > 0) - throw new IllegalArgumentException ("digit mark following " + - "zero - index: " + index); - ++countSinceGroup; - } - else if (c == syms.getZeroDigit()) - { - ++zeroCount; - ++countSinceGroup; - } - else if (c == syms.getGroupingSeparator()) - { - countSinceGroup = 0; - saw_group = true; - } - else - break; - - ++index; - } - - // We can only side-effect when parsing the positive format. - if (is_positive) - { - groupingUsed = saw_group; - groupingSize = (byte) countSinceGroup; - // Checking "zeroCount > 0" avoids 0 being formatted into "" with "#". - if (zeroCount > 0) - minimumIntegerDigits = zeroCount; - } - - // Early termination. - if (index == max || pattern.charAt(index) == syms.getGroupingSeparator()) - { - if (is_positive) - decimalSeparatorAlwaysShown = false; - return index; - } - - if (pattern.charAt(index) == syms.getDecimalSeparator()) - { - ++index; - - // - // Scan fractional part. - // - int hashCount = 0; - zeroCount = 0; - while (index < max) - { - char c = pattern.charAt(index); - if (c == syms.getZeroDigit()) - { - if (hashCount > 0) - throw new IllegalArgumentException ("zero mark " + - "following digit - index: " + index); - ++zeroCount; - } - else if (c == syms.getDigit()) - { - ++hashCount; - } - else if (c != syms.getExponential() - && c != syms.getPatternSeparator() - && c != syms.getPercent() - && c != syms.getPerMill() - && patChars.indexOf(c) != -1) - throw new IllegalArgumentException ("unexpected special " + - "character - index: " + index); - else - break; - - ++index; - } - - if (is_positive) - { - maximumFractionDigits = hashCount + zeroCount; - minimumFractionDigits = zeroCount; - } - - if (index == max) - return index; - } - - if (pattern.charAt(index) == syms.getExponential()) - { - // - // Scan exponential format. - // - zeroCount = 0; - ++index; - while (index < max) - { - char c = pattern.charAt(index); - if (c == syms.getZeroDigit()) - ++zeroCount; - else if (c == syms.getDigit()) - { - if (zeroCount > 0) - throw new - IllegalArgumentException ("digit mark following zero " + - "in exponent - index: " + - index); - } - else if (patChars.indexOf(c) != -1) - throw new IllegalArgumentException ("unexpected special " + - "character - index: " + - index); - else - break; - - ++index; - } - - if (is_positive) - { - useExponentialNotation = true; - minExponentDigits = (byte) zeroCount; - } - - maximumIntegerDigits = groupingSize; - groupingSize = 0; - if (maximumIntegerDigits > minimumIntegerDigits && maximumIntegerDigits > 0) - { - minimumIntegerDigits = 1; - exponentRound = maximumIntegerDigits; - } - else - exponentRound = 1; - } - - return index; - } - - // This helper function creates a string consisting of all the - // characters which can appear in a pattern and must be quoted. - private String patternChars (DecimalFormatSymbols syms) - { - StringBuffer buf = new StringBuffer (); - buf.append(syms.getDecimalSeparator()); - buf.append(syms.getDigit()); - buf.append(syms.getExponential()); - buf.append(syms.getGroupingSeparator()); - // Adding this one causes pattern application to fail. - // Of course, omitting is causes toPattern to fail. - // ... but we already have bugs there. FIXME. - // buf.append(syms.getMinusSign()); - buf.append(syms.getPatternSeparator()); - buf.append(syms.getPercent()); - buf.append(syms.getPerMill()); - buf.append(syms.getZeroDigit()); - buf.append('\u00a4'); - return buf.toString(); - } - - private void applyPatternWithSymbols(String pattern, DecimalFormatSymbols syms) - { - // Initialize to the state the parser expects. - negativePrefix = ""; - negativeSuffix = ""; - positivePrefix = ""; - positiveSuffix = ""; - decimalSeparatorAlwaysShown = false; - groupingSize = 0; - minExponentDigits = 0; - multiplier = 1; - useExponentialNotation = false; - groupingUsed = false; - maximumFractionDigits = 0; - maximumIntegerDigits = MAXIMUM_INTEGER_DIGITS; - minimumFractionDigits = 0; - minimumIntegerDigits = 1; - - AttributedFormatBuffer buf = new AttributedFormatBuffer (); - String patChars = patternChars (syms); - - int max = pattern.length(); - int index = scanFix (pattern, 0, buf, patChars, syms, false); - buf.sync(); - positivePrefix = buf.getBuffer().toString(); - positivePrefixRanges = buf.getRanges(); - positivePrefixAttrs = buf.getAttributes(); - - index = scanFormat (pattern, index, patChars, syms, true); - - index = scanFix (pattern, index, buf, patChars, syms, true); - buf.sync(); - positiveSuffix = buf.getBuffer().toString(); - positiveSuffixRanges = buf.getRanges(); - positiveSuffixAttrs = buf.getAttributes(); - - if (index == pattern.length()) - { - // No negative info. - negativePrefix = null; - negativeSuffix = null; - } - else - { - if (pattern.charAt(index) != syms.getPatternSeparator()) - throw new IllegalArgumentException ("separator character " + - "expected - index: " + index); - - index = scanFix (pattern, index + 1, buf, patChars, syms, false); - buf.sync(); - negativePrefix = buf.getBuffer().toString(); - negativePrefixRanges = buf.getRanges(); - negativePrefixAttrs = buf.getAttributes(); - - // We parse the negative format for errors but we don't let - // it side-effect this object. - index = scanFormat (pattern, index, patChars, syms, false); - - index = scanFix (pattern, index, buf, patChars, syms, true); - buf.sync(); - negativeSuffix = buf.getBuffer().toString(); - negativeSuffixRanges = buf.getRanges(); - negativeSuffixAttrs = buf.getAttributes(); - - if (index != pattern.length()) - throw new IllegalArgumentException ("end of pattern expected " + - "- index: " + index); - } - } - - public void applyLocalizedPattern (String pattern) - { - // JCL p. 638 claims this throws a ParseException but p. 629 - // contradicts this. Empirical tests with patterns of "0,###.0" - // and "#.#.#" corroborate the p. 629 statement that an - // IllegalArgumentException is thrown. - applyPatternWithSymbols (pattern, symbols); - } - - public void applyPattern (String pattern) - { - // JCL p. 638 claims this throws a ParseException but p. 629 - // contradicts this. Empirical tests with patterns of "0,###.0" - // and "#.#.#" corroborate the p. 629 statement that an - // IllegalArgumentException is thrown. - applyPatternWithSymbols (pattern, nonLocalizedSymbols); - } - - public Object clone () - { - DecimalFormat c = (DecimalFormat) super.clone (); - c.symbols = (DecimalFormatSymbols) symbols.clone (); - return c; - } + /** serialVersionUID for serializartion. */ + private static final long serialVersionUID = 864413376551465018L; + + /** Defines the default number of digits allowed while formatting integers. */ + private static final int DEFAULT_INTEGER_DIGITS = 309; + /** + * Defines the default number of digits allowed while formatting + * fractions. + */ + private static final int DEFAULT_FRACTION_DIGITS = 340; + + /** + * Locale-independent pattern symbols. + */ + // Happen to be the same as the US symbols. + private static final DecimalFormatSymbols nonLocalizedSymbols + = new DecimalFormatSymbols (Locale.US); + + /** + * Defines if parse should return a BigDecimal or not. + */ + private boolean parseBigDecimal; + + /** + * Defines if we have to use the monetary decimal separator or + * the decimal separator while formatting numbers. + */ + private boolean useCurrencySeparator; + + /** Defines if the decimal separator is always shown or not. */ + private boolean decimalSeparatorAlwaysShown; + + /** + * Defines if the decimal separator has to be shown. + * + * This is different then decimalSeparatorAlwaysShown, + * as it defines if the format string contains a decimal separator or no. + */ + private boolean showDecimalSeparator; + + /** + * This field is used to determine if the grouping + * separator is included in the format string or not. + * This is only needed to match the behaviour of the RI. + */ + private boolean groupingSeparatorInPattern; + + /** Defines the size of grouping groups when grouping is used. */ + private byte groupingSize; + + /** + * This is an internal parameter used to keep track of the number + * of digits the form the exponent, when exponential notation is used. + * It is used with exponentRound + */ + private byte minExponentDigits; + + /** This field is used to set the exponent in the engineering notation. */ + private int exponentRound; + + /** Multiplier used in percent style formats. */ + private int multiplier; + + /** Multiplier used in percent style formats. */ + private int negativePatternMultiplier; + + /** The negative prefix. */ + private String negativePrefix; + + /** The negative suffix. */ + private String negativeSuffix; + + /** The positive prefix. */ + private String positivePrefix; + + /** The positive suffix. */ + private String positiveSuffix; + + /** Decimal Format Symbols for the given locale. */ + private DecimalFormatSymbols symbols; + + /** Determine if we have to use exponential notation or not. */ + private boolean useExponentialNotation; + + /** + * Defines the maximum number of integer digits to show when we use + * the exponential notation. + */ + private int maxIntegerDigitsExponent; + + /** Defines if the format string has a negative prefix or not. */ + private boolean hasNegativePrefix; + + /** Defines if the format string has a fractional pattern or not. */ + private boolean hasFractionalPattern; + + /** Stores a list of attributes for use by formatToCharacterIterator. */ + private ArrayList attributes = new ArrayList(); + /** * Constructs a DecimalFormat which uses the default * pattern and symbols. */ - public DecimalFormat () + public DecimalFormat() { this ("#,##0.###"); } - + /** * Constructs a DecimalFormat which uses the given * pattern and the default symbols for formatting and parsing. @@ -424,9 +194,9 @@ public class DecimalFormat extends NumberFormat * @throws NullPointerException if any argument is null. * @throws IllegalArgumentException if the pattern is invalid. */ - public DecimalFormat (String pattern) + public DecimalFormat(String pattern) { - this (pattern, new DecimalFormatSymbols ()); + this (pattern, new DecimalFormatSymbols()); } /** @@ -442,14 +212,38 @@ public class DecimalFormat extends NumberFormat public DecimalFormat(String pattern, DecimalFormatSymbols symbols) { this.symbols = (DecimalFormatSymbols) symbols.clone(); - applyPattern(pattern); + applyPatternWithSymbols(pattern, nonLocalizedSymbols); + } + + /** + * Apply the given localized patern to the current DecimalFormat object. + * + * @param pattern The localized pattern to apply. + * @throws IllegalArgumentException if the given pattern is invalid. + * @throws NullPointerException if the input pattern is null. + */ + public void applyLocalizedPattern (String pattern) + { + applyPatternWithSymbols(pattern, this.symbols); } - private boolean equals(String s1, String s2) + /** + * Apply the given localized pattern to the current DecimalFormat object. + * + * @param pattern The localized pattern to apply. + * @throws IllegalArgumentException if the given pattern is invalid. + * @throws NullPointerException if the input pattern is null. + */ + public void applyPattern(String pattern) { - if (s1 == null || s2 == null) - return s1 == s2; - return s1.equals(s2); + applyPatternWithSymbols(pattern, nonLocalizedSymbols); + } + + public Object clone() + { + DecimalFormat c = (DecimalFormat) super.clone(); + c.symbols = (DecimalFormatSymbols) symbols.clone(); + return c; } /** @@ -471,8 +265,9 @@ public class DecimalFormat extends NumberFormat return false; DecimalFormat dup = (DecimalFormat) obj; return (decimalSeparatorAlwaysShown == dup.decimalSeparatorAlwaysShown - && groupingUsed == dup.groupingUsed - && groupingSize == dup.groupingSize + && groupingUsed == dup.groupingUsed + && groupingSeparatorInPattern == dup.groupingSeparatorInPattern + && groupingSize == dup.groupingSize && multiplier == dup.multiplier && useExponentialNotation == dup.useExponentialNotation && minExponentDigits == dup.minExponentDigits @@ -480,6 +275,14 @@ public class DecimalFormat extends NumberFormat && maximumIntegerDigits == dup.maximumIntegerDigits && minimumFractionDigits == dup.minimumFractionDigits && maximumFractionDigits == dup.maximumFractionDigits + && parseBigDecimal == dup.parseBigDecimal + && useCurrencySeparator == dup.useCurrencySeparator + && showDecimalSeparator == dup.showDecimalSeparator + && exponentRound == dup.exponentRound + && negativePatternMultiplier == dup.negativePatternMultiplier + && maxIntegerDigitsExponent == dup.maxIntegerDigitsExponent + // XXX: causes equivalent patterns to fail + // && hasNegativePrefix == dup.hasNegativePrefix && equals(negativePrefix, dup.negativePrefix) && equals(negativeSuffix, dup.negativeSuffix) && equals(positivePrefix, dup.positivePrefix) @@ -487,306 +290,163 @@ public class DecimalFormat extends NumberFormat && symbols.equals(dup.symbols)); } - private void formatInternal (double number, FormatBuffer dest, - FieldPosition fieldPos) + /** + * Returns a hash code for this object. + * + * @return A hash code. + */ + public int hashCode() { - // A very special case. - if (Double.isNaN(number)) - { - dest.append(symbols.getNaN()); - if (fieldPos != null && - (fieldPos.getField() == INTEGER_FIELD || - fieldPos.getFieldAttribute() == NumberFormat.Field.INTEGER)) - { - int index = dest.length(); - fieldPos.setBeginIndex(index - symbols.getNaN().length()); - fieldPos.setEndIndex(index); - } - return; - } - - boolean is_neg = number < 0; - if (is_neg) - { - if (negativePrefix != null) - { - dest.append(substituteCurrency(negativePrefix, number), - negativePrefixRanges, negativePrefixAttrs); - } - else - { - dest.append(symbols.getMinusSign(), NumberFormat.Field.SIGN); - dest.append(substituteCurrency(positivePrefix, number), - positivePrefixRanges, positivePrefixAttrs); - } - number = - number; - } - else - { - dest.append(substituteCurrency(positivePrefix, number), - positivePrefixRanges, positivePrefixAttrs); - } - int integerBeginIndex = dest.length(); - int integerEndIndex = 0; - int zeroStart = symbols.getZeroDigit() - '0'; - - if (Double.isInfinite (number)) + return toPattern().hashCode(); + } + + /** + * Produce a formatted {@link String} representation of this object. + * The passed object must be of type number. + * + * @param obj The {@link Number} to format. + * @param sbuf The destination String; text will be appended to this String. + * @param pos If used on input can be used to define an alignment + * field. If used on output defines the offsets of the alignment field. + * @return The String representation of this long. + */ + public StringBuffer format(Object obj, StringBuffer sbuf, FieldPosition pos) + { + if (obj instanceof BigInteger) { - dest.append(symbols.getInfinity()); - integerEndIndex = dest.length(); + BigDecimal decimal = new BigDecimal((BigInteger) obj); + formatInternal(decimal, true, sbuf, pos); + return sbuf; } - else + else if (obj instanceof BigDecimal) { - number *= multiplier; - - // Compute exponent. - long exponent = 0; - double baseNumber; - if (useExponentialNotation && number > 0) - { - exponent = (long) Math.floor (Math.log10(number)); - exponent = exponent - (exponent % exponentRound); - if (minimumIntegerDigits > 0) - exponent -= minimumIntegerDigits - 1; - baseNumber = (number / Math.pow(10.0, exponent)); - } - else - baseNumber = number; - - // Round to the correct number of digits. - baseNumber += 5 * Math.pow(10.0, - maximumFractionDigits - 1); - - int index = dest.length(); - //double intPart = Math.floor(baseNumber); - String intPart = Long.toString((long)Math.floor(baseNumber)); - int count, groupPosition = intPart.length(); - - dest.setDefaultAttribute(NumberFormat.Field.INTEGER); - - for (count = 0; count < minimumIntegerDigits-intPart.length(); count++) - dest.append(symbols.getZeroDigit()); - - for (count = 0; - count < maximumIntegerDigits && count < intPart.length(); - count++) - { - int dig = intPart.charAt(count); - - // Append group separator if required. - if (groupingUsed && count > 0 && groupingSize != 0 && groupPosition % groupingSize == 0) - { - dest.append(symbols.getGroupingSeparator(), NumberFormat.Field.GROUPING_SEPARATOR); - dest.setDefaultAttribute(NumberFormat.Field.INTEGER); - } - dest.append((char) (zeroStart + dig)); - - groupPosition--; - } - dest.setDefaultAttribute(null); - - integerEndIndex = dest.length(); - - int decimal_index = integerEndIndex; - int consecutive_zeros = 0; - int total_digits = 0; - - int localMaximumFractionDigits = maximumFractionDigits; - - if (useExponentialNotation) - localMaximumFractionDigits += minimumIntegerDigits - count; - - // Strip integer part from NUMBER. - double fracPart = baseNumber - Math.floor(baseNumber); - - if ( ((fracPart != 0 || minimumFractionDigits > 0) && localMaximumFractionDigits > 0) - || decimalSeparatorAlwaysShown) - { - dest.append (symbols.getDecimalSeparator(), NumberFormat.Field.DECIMAL_SEPARATOR); - } - - int fraction_begin = dest.length(); - dest.setDefaultAttribute(NumberFormat.Field.FRACTION); - for (count = 0; - count < localMaximumFractionDigits - && (fracPart != 0 || count < minimumFractionDigits); - ++count) - { - ++total_digits; - fracPart *= 10; - long dig = (long) fracPart; - if (dig == 0) - ++consecutive_zeros; - else - consecutive_zeros = 0; - dest.append((char) (symbols.getZeroDigit() + dig)); - - // Strip integer part from FRACPART. - fracPart = fracPart - Math.floor (fracPart); - } - - // Strip extraneous trailing `0's. We can't always detect - // these in the loop. - int extra_zeros = Math.min (consecutive_zeros, - total_digits - minimumFractionDigits); - if (extra_zeros > 0) - { - dest.cutTail(extra_zeros); - total_digits -= extra_zeros; - if (total_digits == 0 && !decimalSeparatorAlwaysShown) - dest.cutTail(1); - } - - if (fieldPos != null && fieldPos.getField() == FRACTION_FIELD) - { - fieldPos.setBeginIndex(fraction_begin); - fieldPos.setEndIndex(dest.length()); - } - - // Finally, print the exponent. - if (useExponentialNotation) - { - dest.append(symbols.getExponential(), NumberFormat.Field.EXPONENT_SYMBOL); - if (exponent < 0) - { - dest.append (symbols.getMinusSign (), NumberFormat.Field.EXPONENT_SIGN); - exponent = - exponent; - } - index = dest.length(); - dest.setDefaultAttribute(NumberFormat.Field.EXPONENT); - String exponentString = Long.toString ((long) exponent); - - for (count = 0; count < minExponentDigits-exponentString.length(); - count++) - dest.append((char) symbols.getZeroDigit()); - - for (count = 0; - count < exponentString.length(); - ++count) - { - int dig = exponentString.charAt(count); - dest.append((char) (zeroStart + dig)); - } - } + formatInternal((BigDecimal) obj, true, sbuf, pos); + return sbuf; } - - if (fieldPos != null && - (fieldPos.getField() == INTEGER_FIELD || - fieldPos.getFieldAttribute() == NumberFormat.Field.INTEGER)) + + return super.format(obj, sbuf, pos); + } + + /** + * Produce a formatted {@link String} representation of this double. + * + * @param number The double to format. + * @param dest The destination String; text will be appended to this String. + * @param fieldPos If used on input can be used to define an alignment + * field. If used on output defines the offsets of the alignment field. + * @return The String representation of this long. + * @throws NullPointerException if dest or fieldPos are null + */ + public StringBuffer format(double number, StringBuffer dest, + FieldPosition fieldPos) + { + // special cases for double: NaN and negative or positive infinity + if (Double.isNaN(number)) { - fieldPos.setBeginIndex(integerBeginIndex); - fieldPos.setEndIndex(integerEndIndex); + // 1. NaN + String nan = symbols.getNaN(); + dest.append(nan); + + // update field position if required + if ((fieldPos.getField() == INTEGER_FIELD || + fieldPos.getFieldAttribute() == NumberFormat.Field.INTEGER)) + { + int index = dest.length(); + fieldPos.setBeginIndex(index - nan.length()); + fieldPos.setEndIndex(index); + } } - - if (is_neg && negativeSuffix != null) + else if (Double.isInfinite(number)) { - dest.append(substituteCurrency(negativeSuffix, number), - negativeSuffixRanges, negativeSuffixAttrs); + // 2. Infinity + if (number < 0) + dest.append(this.negativePrefix); + else + dest.append(this.positivePrefix); + + dest.append(symbols.getInfinity()); + + if (number < 0) + dest.append(this.negativeSuffix); + else + dest.append(this.positiveSuffix); + + if ((fieldPos.getField() == INTEGER_FIELD || + fieldPos.getFieldAttribute() == NumberFormat.Field.INTEGER)) + { + fieldPos.setBeginIndex(dest.length()); + fieldPos.setEndIndex(0); + } } else { - dest.append(substituteCurrency(positiveSuffix, number), - positiveSuffixRanges, positiveSuffixAttrs); + // get the number as a BigDecimal + BigDecimal bigDecimal = new BigDecimal(String.valueOf(number)); + formatInternal(bigDecimal, false, dest, fieldPos); } + + return dest; } - public StringBuffer format (double number, StringBuffer dest, - FieldPosition fieldPos) + /** + * Produce a formatted {@link String} representation of this long. + * + * @param number The long to format. + * @param dest The destination String; text will be appended to this String. + * @param fieldPos If used on input can be used to define an alignment + * field. If used on output defines the offsets of the alignment field. + * @return The String representation of this long. + */ + public StringBuffer format(long number, StringBuffer dest, + FieldPosition fieldPos) { - formatInternal (number, new StringFormatBuffer(dest), fieldPos); + BigDecimal bigDecimal = new BigDecimal(String.valueOf(number)); + formatInternal(bigDecimal, true, dest, fieldPos); return dest; } - - public AttributedCharacterIterator formatToCharacterIterator (Object value) + + /** + * Return an AttributedCharacterIterator as a result of + * the formatting of the passed {@link Object}. + * + * @return An {@link AttributedCharacterIterator}. + * @throws NullPointerException if value is null. + * @throws IllegalArgumentException if value is not an instance of + * {@link Number}. + */ + public AttributedCharacterIterator formatToCharacterIterator(Object value) { - AttributedFormatBuffer sbuf = new AttributedFormatBuffer(); - - if (value instanceof Number) - formatInternal(((Number) value).doubleValue(), sbuf, null); - else - throw new IllegalArgumentException - ("Cannot format given Object as a Number"); + /* + * This method implementation derives directly from the + * ICU4J (http://icu.sourceforge.net/) library, distributed under MIT/X. + */ - sbuf.sync(); - return new FormatCharacterIterator(sbuf.getBuffer().toString(), - sbuf.getRanges(), - sbuf.getAttributes()); - } - - public StringBuffer format (long number, StringBuffer dest, - FieldPosition fieldPos) - { - // If using exponential notation, we just format as a double. - if (useExponentialNotation) - return format ((double) number, dest, fieldPos); - - boolean is_neg = number < 0; - if (is_neg) - { - if (negativePrefix != null) - dest.append(substituteCurrency(negativePrefix, number)); - else - { - dest.append(symbols.getMinusSign()); - dest.append(substituteCurrency(positivePrefix, number)); - } - number = - number; - } - else - dest.append(substituteCurrency(positivePrefix, number)); - - int integerBeginIndex = dest.length(); - int index = dest.length(); - int count = 0; - - /* Handle percentages, etc. */ - number *= multiplier; - while (count < maximumIntegerDigits - && (number > 0 || count < minimumIntegerDigits)) - { - long dig = number % 10; - number /= 10; - // NUMBER and DIG will be less than 0 if the original number - // was the most negative long. - if (dig < 0) - { - dig = - dig; - number = - number; - } - - // Append group separator if required. - if (groupingUsed && count > 0 && groupingSize != 0 && count % groupingSize == 0) - dest.insert(index, symbols.getGroupingSeparator()); - - dest.insert(index, (char) (symbols.getZeroDigit() + dig)); - - ++count; - } + if (value == null) + throw new NullPointerException("Passed Object is null"); + + if (!(value instanceof Number)) throw new + IllegalArgumentException("Cannot format given Object as a Number"); + + StringBuffer text = new StringBuffer(); + attributes.clear(); + super.format(value, text, new FieldPosition(0)); - if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD) - { - fieldPos.setBeginIndex(integerBeginIndex); - fieldPos.setEndIndex(dest.length()); - } + AttributedString as = new AttributedString(text.toString()); - if (decimalSeparatorAlwaysShown || minimumFractionDigits > 0) + // add NumberFormat field attributes to the AttributedString + for (int i = 0; i < attributes.size(); i++) { - dest.append(symbols.getDecimalSeparator()); - if (fieldPos != null && fieldPos.getField() == FRACTION_FIELD) - { - fieldPos.setBeginIndex(dest.length()); - fieldPos.setEndIndex(dest.length() + minimumFractionDigits); - } + FieldPosition pos = (FieldPosition) attributes.get(i); + Format.Field attribute = pos.getFieldAttribute(); + + as.addAttribute(attribute, attribute, pos.getBeginIndex(), pos + .getEndIndex()); } - - for (count = 0; count < minimumFractionDigits; ++count) - dest.append(symbols.getZeroDigit()); - - dest.append((is_neg && negativeSuffix != null) - ? substituteCurrency(negativeSuffix, number) - : substituteCurrency(positiveSuffix, number)); - return dest; + + // return the CharacterIterator from AttributedString + return as.getIterator(); } - + /** * Returns the currency corresponding to the currency symbol stored * in the instance of DecimalFormatSymbols used by this @@ -799,7 +459,7 @@ public class DecimalFormat extends NumberFormat { return symbols.getCurrency(); } - + /** * Returns a copy of the symbols used by this instance. * @@ -809,351 +469,326 @@ public class DecimalFormat extends NumberFormat { return (DecimalFormatSymbols) symbols.clone(); } - - public int getGroupingSize () + + /** + * Gets the interval used between a grouping separator and the next. + * For example, a grouping size of 3 means that the number 1234 is + * formatted as 1,234. + * + * The actual character used as grouping separator depends on the + * locale and is defined by {@link DecimalFormatSymbols#getDecimalSeparator()} + * + * @return The interval used between a grouping separator and the next. + */ + public int getGroupingSize() { return groupingSize; } - public int getMultiplier () + /** + * Gets the multiplier used in percent and similar formats. + * + * @return The multiplier used in percent and similar formats. + */ + public int getMultiplier() { return multiplier; } - - public String getNegativePrefix () + + /** + * Gets the negative prefix. + * + * @return The negative prefix. + */ + public String getNegativePrefix() { return negativePrefix; } - public String getNegativeSuffix () + /** + * Gets the negative suffix. + * + * @return The negative suffix. + */ + public String getNegativeSuffix() { return negativeSuffix; } - - public String getPositivePrefix () + + /** + * Gets the positive prefix. + * + * @return The positive prefix. + */ + public String getPositivePrefix() { return positivePrefix; } - - public String getPositiveSuffix () + + /** + * Gets the positive suffix. + * + * @return The positive suffix. + */ + public String getPositiveSuffix() { return positiveSuffix; } - + + public boolean isDecimalSeparatorAlwaysShown() + { + return decimalSeparatorAlwaysShown; + } + /** - * Returns a hash code for this object. - * - * @return A hash code. + * Define if parse(java.lang.String, java.text.ParsePosition) + * should return a {@link BigDecimal} or not. + * + * @param newValue */ - public int hashCode() + public void setParseBigDecimal(boolean newValue) { - return toPattern().hashCode(); + this.parseBigDecimal = newValue; } - - public boolean isDecimalSeparatorAlwaysShown () + + /** + * Returns true if + * parse(java.lang.String, java.text.ParsePosition) returns + * a BigDecimal, false otherwise. + * The default return value for this method is false. + * + * @return true if the parse method returns a {@link BigDecimal}, + * false otherwise. + * @since 1.5 + * @see #setParseBigDecimal(boolean) + */ + public boolean isParseBigDecimal() { - return decimalSeparatorAlwaysShown; + return this.parseBigDecimal; } - - public Number parse (String str, ParsePosition pos) + + /** + * This method parses the specified string into a Number. + * + * The parsing starts at pos, which is updated as the parser + * consume characters in the passed string. + * On error, the Position object index is not updated, while + * error position is set appropriately, an null is returned. + * + * @param str The string to parse. + * @param pos The desired ParsePosition. + * + * @return The parsed Number + */ + public Number parse(String str, ParsePosition pos) { - /* - * Our strategy is simple: copy the text into separate buffers: one for the int part, - * one for the fraction part and for the exponential part. - * We translate or omit locale-specific information. - * If exponential is sufficiently big we merge the fraction and int part and - * remove the '.' and then we use Long to convert the number. In the other - * case, we use Double to convert the full number. - */ - - boolean is_neg = false; - int index = pos.getIndex(); - StringBuffer int_buf = new StringBuffer (); - - // We have to check both prefixes, because one might be empty. We - // want to pick the longest prefix that matches. - boolean got_pos = str.startsWith(positivePrefix, index); - String np = (negativePrefix != null - ? negativePrefix - : positivePrefix + symbols.getMinusSign()); - boolean got_neg = str.startsWith(np, index); - - if (got_pos && got_neg) + // a special values before anything else + // NaN + if (str.contains(this.symbols.getNaN())) + return Double.valueOf(Double.NaN); + + // this will be our final number + StringBuffer number = new StringBuffer(); + + // special character + char minus = symbols.getMinusSign(); + + // starting parsing position + int start = pos.getIndex(); + + // validate the string, it have to be in the + // same form as the format string or parsing will fail + String _negativePrefix = (this.negativePrefix.compareTo("") == 0 + ? minus + positivePrefix + : this.negativePrefix); + + // we check both prefixes, because one might be empty. + // We want to pick the longest prefix that matches. + int positiveLen = positivePrefix.length(); + int negativeLen = _negativePrefix.length(); + + boolean isNegative = str.startsWith(_negativePrefix); + boolean isPositive = str.startsWith(positivePrefix); + + if (isPositive && isNegative) + { + // By checking this way, we preserve ambiguity in the case + // where the negative format differs only in suffix. + if (negativeLen > positiveLen) + { + start += _negativePrefix.length(); + isNegative = true; + } + else + { + start += positivePrefix.length(); + isPositive = true; + if (negativeLen < positiveLen) + isNegative = false; + } + } + else if (isNegative) { - // By checking this way, we preserve ambiguity in the case - // where the negative format differs only in suffix. We - // check this again later. - if (np.length() > positivePrefix.length()) - { - is_neg = true; - index += np.length(); - } - else - index += positivePrefix.length(); + start += _negativePrefix.length(); + isPositive = false; } - else if (got_neg) + else if (isPositive) { - is_neg = true; - index += np.length(); + start += positivePrefix.length(); + isNegative = false; } - else if (got_pos) - index += positivePrefix.length(); else { - pos.setErrorIndex (index); - return null; + pos.setErrorIndex(start); + return null; } - - // FIXME: handle Inf and NaN. - - // FIXME: do we have to respect minimum digits? - // What about multiplier? - - StringBuffer buf = int_buf; - StringBuffer frac_buf = null; - StringBuffer exp_buf = null; - int start_index = index; - int max = str.length(); - int exp_index = -1; - int last = index + maximumIntegerDigits; - - if (maximumFractionDigits > 0) - last += maximumFractionDigits + 1; + + // other special characters used by the parser + char decimalSeparator = symbols.getDecimalSeparator(); + char zero = symbols.getZeroDigit(); + char exponent = symbols.getExponential(); + + // stop parsing position in the string + int stop = start + this.maximumIntegerDigits + maximumFractionDigits + 2; if (useExponentialNotation) - last += minExponentDigits + 1; - - if (last > 0 && max > last) - max = last; + stop += minExponentDigits + 1; + + boolean inExponent = false; - char zero = symbols.getZeroDigit(); - int last_group = -1; - boolean int_part = true; - boolean exp_part = false; - for (; index < max; ++index) + // correct the size of the end parsing flag + int len = str.length(); + if (len < stop) stop = len; + + int i = start; + while (i < stop) { - char c = str.charAt(index); - - // FIXME: what about grouping size? - if (groupingUsed && c == symbols.getGroupingSeparator()) - { - if (last_group != -1 - && groupingSize != 0 - && (index - last_group) % groupingSize != 0) - { - pos.setErrorIndex(index); - return null; - } - last_group = index+1; - } - else if (c >= zero && c <= zero + 9) - { - buf.append((char) (c - zero + '0')); - } - else if (parseIntegerOnly) - break; - else if (c == symbols.getDecimalSeparator()) - { - if (last_group != -1 - && groupingSize != 0 - && (index - last_group) % groupingSize != 0) - { - pos.setErrorIndex(index); - return null; - } - buf = frac_buf = new StringBuffer(); - frac_buf.append('.'); - int_part = false; - } - else if (c == symbols.getExponential()) - { - buf = exp_buf = new StringBuffer(); - int_part = false; - exp_part = true; - exp_index = index+1; - } - else if (exp_part - && (c == '+' || c == '-' || c == symbols.getMinusSign())) - { - // For exponential notation. - buf.append(c); - } - else - break; + char ch = str.charAt(i); + i++; + + if (ch >= zero && ch <= (zero + 9)) + { + number.append(ch); + } + else if (this.parseIntegerOnly) + { + break; + } + else if (ch == decimalSeparator) + { + number.append('.'); + } + else if (ch == exponent) + { + number.append(ch); + inExponent = !inExponent; + } + else if ((ch == '+' || ch == '-' || ch == minus)) + { + if (inExponent) + number.append(ch); + else + break; + } } - if (index == start_index) + // 2nd special case: infinity + // XXX: need to be tested + if (str.contains(symbols.getInfinity())) { - // Didn't see any digits. - pos.setErrorIndex(index); - return null; - } + int inf = str.indexOf(symbols.getInfinity()); + pos.setIndex(inf); + + // FIXME: ouch, this is really ugly and lazy code... + if (this.parseBigDecimal) + { + if (isNegative) + return new BigDecimal(Double.NEGATIVE_INFINITY); + + return new BigDecimal(Double.POSITIVE_INFINITY); + } + + if (isNegative) + return new Double(Double.NEGATIVE_INFINITY); - // Check the suffix. We must do this before converting the - // buffer to a number to handle the case of a number which is - // the most negative Long. - boolean got_pos_suf = str.startsWith(positiveSuffix, index); - String ns = (negativePrefix == null ? positiveSuffix : negativeSuffix); - boolean got_neg_suf = str.startsWith(ns, index); - if (is_neg) - { - if (! got_neg_suf) - { - pos.setErrorIndex(index); - return null; - } - } - else if (got_pos && got_neg && got_neg_suf) - { - is_neg = true; - } - else if (got_pos != got_pos_suf && got_neg != got_neg_suf) - { - pos.setErrorIndex(index); - return null; + return new Double(Double.POSITIVE_INFINITY); } - else if (! got_pos_suf) + + // no number... + if (i == start || number.length() == 0) { - pos.setErrorIndex(index); - return null; + pos.setErrorIndex(i); + return null; } - String suffix = is_neg ? ns : positiveSuffix; - long parsedMultiplier = 1; - boolean use_long; + // now we have to check the suffix, done here after number parsing + // or the index will not be updated correctly... + boolean isNegativeSuffix = str.endsWith(this.negativeSuffix); + boolean isPositiveSuffix = str.endsWith(this.positiveSuffix); + boolean positiveEqualsNegative = negativeSuffix.equals(positiveSuffix); - if (is_neg) - int_buf.insert(0, '-'); - - // Now handle the exponential part if there is one. - if (exp_buf != null) + positiveLen = positiveSuffix.length(); + negativeLen = negativeSuffix.length(); + + if (isNegative && !isNegativeSuffix) { - int exponent_value; - - try - { - exponent_value = Integer.parseInt(exp_buf.toString()); - } - catch (NumberFormatException x1) - { - pos.setErrorIndex(exp_index); - return null; - } - - if (frac_buf == null) - { - // We only have to add some zeros to the int part. - // Build a multiplier. - for (int i = 0; i < exponent_value; i++) - int_buf.append('0'); - - use_long = true; - } - else - { - boolean long_sufficient; - - if (exponent_value < frac_buf.length()-1) - { - int lastNonNull = -1; - /* We have to check the fraction buffer: it may only be full of '0' - * or be sufficiently filled with it to convert the number into Long. - */ - for (int i = 1; i < frac_buf.length(); i++) - if (frac_buf.charAt(i) != '0') - lastNonNull = i; - - long_sufficient = (lastNonNull < 0 || lastNonNull <= exponent_value); - } - else - long_sufficient = true; - - if (long_sufficient) - { - for (int i = 1; i < frac_buf.length() && i < exponent_value; i++) - int_buf.append(frac_buf.charAt(i)); - for (int i = frac_buf.length()-1; i < exponent_value; i++) - int_buf.append('0'); - use_long = true; - } - else - { - /* - * A long type is not sufficient, we build the full buffer to - * be parsed by Double. - */ - int_buf.append(frac_buf); - int_buf.append('E'); - int_buf.append(exp_buf); - use_long = false; - } - } + pos.setErrorIndex(i); + return null; } - else + else if (isNegativeSuffix && + !positiveEqualsNegative && + (negativeLen > positiveLen)) { - if (frac_buf != null) - { - /* Check whether the fraction buffer contains only '0' */ - int i; - for (i = 1; i < frac_buf.length(); i++) - if (frac_buf.charAt(i) != '0') - break; - - if (i != frac_buf.length()) - { - use_long = false; - int_buf.append(frac_buf); - } - else - use_long = true; - } - else - use_long = true; + isNegative = true; } - - String t = int_buf.toString(); - Number result = null; - if (use_long) + else if (!isPositiveSuffix) { - try - { - result = new Long (t); - } - catch (NumberFormatException x1) - { - } + pos.setErrorIndex(i); + return null; } - else + + if (isNegative) number.insert(0, '-'); + + pos.setIndex(i - 1); + + // now we handle the return type + BigDecimal bigDecimal = new BigDecimal(number.toString()); + if (this.parseBigDecimal) + return bigDecimal; + + // want integer? + if (this.parseIntegerOnly) + return new Long(bigDecimal.longValue()); + + // 3th special case -0.0 + if (isNegative && (bigDecimal.compareTo(BigDecimal.ZERO) == 0)) + return new Double(-0.0); + + try { - try - { - result = new Double (t); - } - catch (NumberFormatException x2) - { - } + BigDecimal integer + = bigDecimal.setScale(0, BigDecimal.ROUND_UNNECESSARY); + return new Long(integer.longValue()); } - if (result == null) + catch (ArithmeticException e) { - pos.setErrorIndex(index); - return null; + return new Double(bigDecimal.doubleValue()); } - - pos.setIndex(index + suffix.length()); - - return result; } /** * Sets the Currency on the * DecimalFormatSymbols used, which also sets the * currency symbols on those symbols. + * + * @param currency The new Currency on the + * DecimalFormatSymbols. */ public void setCurrency(Currency currency) { symbols.setCurrency(currency); } - + /** * Sets the symbols used by this instance. This method makes a copy of * the supplied symbols. @@ -1164,274 +799,1442 @@ public class DecimalFormat extends NumberFormat { symbols = (DecimalFormatSymbols) newSymbols.clone(); } - - public void setDecimalSeparatorAlwaysShown (boolean newValue) + + /** + * Define if the decimal separator should be always visible or only + * visible when needed. This method as effect only on integer values. + * Pass true if you want the decimal separator to be + * always shown, false otherwise. + * + * @param newValue true if you want the decimal separator to be + * always shown, false otherwise. + */ + public void setDecimalSeparatorAlwaysShown(boolean newValue) { decimalSeparatorAlwaysShown = newValue; } - - public void setGroupingSize (int groupSize) + + /** + * Sets the number of digits used to group portions of the integer part of + * the number. For example, the number 123456, with a grouping + * size of 3, is rendered 123,456. + * + * @param groupSize The number of digits used while grouping portions + * of the integer part of a number. + */ + public void setGroupingSize(int groupSize) { groupingSize = (byte) groupSize; } - - public void setMaximumFractionDigits (int newValue) + + /** + * Sets the maximum number of digits allowed in the integer + * portion of a number to the specified value. + * The new value will be the choosen as the minimum between + * newvalue and 309. Any value below zero will be + * replaced by zero. + * + * @param newValue The new maximum integer digits value. + */ + public void setMaximumIntegerDigits(int newValue) { - super.setMaximumFractionDigits(Math.min(newValue, 340)); + newValue = (newValue > 0) ? newValue : 0; + super.setMaximumIntegerDigits(Math.min(newValue, DEFAULT_INTEGER_DIGITS)); } - - public void setMaximumIntegerDigits (int newValue) + + /** + * Sets the minimum number of digits allowed in the integer + * portion of a number to the specified value. + * The new value will be the choosen as the minimum between + * newvalue and 309. Any value below zero will be + * replaced by zero. + * + * @param newValue The new minimum integer digits value. + */ + public void setMinimumIntegerDigits(int newValue) { - super.setMaximumIntegerDigits(Math.min(newValue, 309)); + newValue = (newValue > 0) ? newValue : 0; + super.setMinimumIntegerDigits(Math.min(newValue, DEFAULT_INTEGER_DIGITS)); } - - public void setMinimumFractionDigits (int newValue) + + /** + * Sets the maximum number of digits allowed in the fraction + * portion of a number to the specified value. + * The new value will be the choosen as the minimum between + * newvalue and 309. Any value below zero will be + * replaced by zero. + * + * @param newValue The new maximum fraction digits value. + */ + public void setMaximumFractionDigits(int newValue) { - super.setMinimumFractionDigits(Math.min(newValue, 340)); + newValue = (newValue > 0) ? newValue : 0; + super.setMaximumFractionDigits(Math.min(newValue, DEFAULT_FRACTION_DIGITS)); } - - public void setMinimumIntegerDigits (int newValue) + + /** + * Sets the minimum number of digits allowed in the fraction + * portion of a number to the specified value. + * The new value will be the choosen as the minimum between + * newvalue and 309. Any value below zero will be + * replaced by zero. + * + * @param newValue The new minimum fraction digits value. + */ + public void setMinimumFractionDigits(int newValue) { - super.setMinimumIntegerDigits(Math.min(newValue, 309)); + newValue = (newValue > 0) ? newValue : 0; + super.setMinimumFractionDigits(Math.min(newValue, DEFAULT_FRACTION_DIGITS)); } - - public void setMultiplier (int newValue) + + /** + * Sets the multiplier for use in percent and similar formats. + * For example, for percent set the multiplier to 100, for permille, set the + * miltiplier to 1000. + * + * @param newValue the new value for multiplier. + */ + public void setMultiplier(int newValue) { multiplier = newValue; } - - public void setNegativePrefix (String newValue) + + /** + * Sets the negative prefix. + * + * @param newValue The new negative prefix. + */ + public void setNegativePrefix(String newValue) { negativePrefix = newValue; } - public void setNegativeSuffix (String newValue) + /** + * Sets the negative suffix. + * + * @param newValue The new negative suffix. + */ + public void setNegativeSuffix(String newValue) { negativeSuffix = newValue; } - - public void setPositivePrefix (String newValue) + + /** + * Sets the positive prefix. + * + * @param newValue The new positive prefix. + */ + public void setPositivePrefix(String newValue) { positivePrefix = newValue; } - - public void setPositiveSuffix (String newValue) + + /** + * Sets the new positive suffix. + * + * @param newValue The new positive suffix. + */ + public void setPositiveSuffix(String newValue) { positiveSuffix = newValue; } + + /** + * This method returns a string with the formatting pattern being used + * by this object. The string is localized. + * + * @return A localized String with the formatting pattern. + * @see #toPattern() + */ + public String toLocalizedPattern() + { + return computePattern(this.symbols); + } + + /** + * This method returns a string with the formatting pattern being used + * by this object. The string is not localized. + * + * @return A String with the formatting pattern. + * @see #toLocalizedPattern() + */ + public String toPattern() + { + return computePattern(nonLocalizedSymbols); + } + + /* ***** private methods ***** */ + + /** + * This is an shortcut helper method used to test if two given strings are + * equals. + * + * @param s1 The first string to test for equality. + * @param s2 The second string to test for equality. + * @return true if the strings are both null or + * equals. + */ + private boolean equals(String s1, String s2) + { + if (s1 == null || s2 == null) + return s1 == s2; + return s1.equals(s2); + } + + + /* ****** PATTERN ****** */ + + /** + * This helper function creates a string consisting of all the + * characters which can appear in a pattern and must be quoted. + */ + private String patternChars (DecimalFormatSymbols syms) + { + StringBuffer buf = new StringBuffer (); + + buf.append(syms.getDecimalSeparator()); + buf.append(syms.getDigit()); + buf.append(syms.getExponential()); + buf.append(syms.getGroupingSeparator()); + buf.append(syms.getMinusSign()); + buf.append(syms.getPatternSeparator()); + buf.append(syms.getPercent()); + buf.append(syms.getPerMill()); + buf.append(syms.getZeroDigit()); + buf.append('\''); + buf.append('\u00a4'); + + return buf.toString(); + } - private void quoteFix(StringBuffer buf, String text, String patChars) + /** + * Quote special characters as defined by patChars in the + * input string. + * + * @param text + * @param patChars + * @return A StringBuffer with special characters quoted. + */ + private StringBuffer quoteFix(String text, String patChars) { + StringBuffer buf = new StringBuffer(); + int len = text.length(); + char ch; for (int index = 0; index < len; ++index) { - char c = text.charAt(index); - if (patChars.indexOf(c) != -1) - { - buf.append('\''); - buf.append(c); - buf.append('\''); - } - else - buf.append(c); + ch = text.charAt(index); + if (patChars.indexOf(ch) != -1) + { + buf.append('\''); + buf.append(ch); + if (ch != '\'') buf.append('\''); + } + else + { + buf.append(ch); + } } + + return buf; } - - private String computePattern(DecimalFormatSymbols syms) + + /** + * Returns the format pattern, localized to follow the given + * symbols. + */ + private String computePattern(DecimalFormatSymbols symbols) { - StringBuffer mainPattern = new StringBuffer (); + StringBuffer mainPattern = new StringBuffer(); + // We have to at least emit a zero for the minimum number of - // digits. Past that we need hash marks up to the grouping + // digits. Past that we need hash marks up to the grouping // separator (and one beyond). - int total_digits = Math.max(minimumIntegerDigits, - groupingUsed ? groupingSize + 1: groupingSize); - for (int i = 0; i < total_digits - minimumIntegerDigits; ++i) - mainPattern.append(syms.getDigit()); - for (int i = total_digits - minimumIntegerDigits; i < total_digits; ++i) - mainPattern.append(syms.getZeroDigit()); - // Inserting the gropuing operator afterwards is easier. + int _groupingSize = groupingUsed ? groupingSize + 1: groupingSize; + int totalDigits = Math.max(minimumIntegerDigits, _groupingSize); + + // if it is not in exponential notiation, + // we always have a # prebended + if (!useExponentialNotation) mainPattern.append(symbols.getDigit()); + + for (int i = 1; i < totalDigits - minimumIntegerDigits; i++) + mainPattern.append(symbols.getDigit()); + + for (int i = totalDigits - minimumIntegerDigits; i < totalDigits; i++) + mainPattern.append(symbols.getZeroDigit()); + if (groupingUsed) - mainPattern.insert(mainPattern.length() - groupingSize, - syms.getGroupingSeparator()); + { + mainPattern.insert(mainPattern.length() - groupingSize, + symbols.getGroupingSeparator()); + } + // See if we need decimal info. - if (minimumFractionDigits > 0 || maximumFractionDigits > 0 - || decimalSeparatorAlwaysShown) - mainPattern.append(syms.getDecimalSeparator()); + if (minimumFractionDigits > 0 || maximumFractionDigits > 0 || + decimalSeparatorAlwaysShown) + { + mainPattern.append(symbols.getDecimalSeparator()); + } + for (int i = 0; i < minimumFractionDigits; ++i) - mainPattern.append(syms.getZeroDigit()); + mainPattern.append(symbols.getZeroDigit()); + for (int i = minimumFractionDigits; i < maximumFractionDigits; ++i) - mainPattern.append(syms.getDigit()); + mainPattern.append(symbols.getDigit()); + if (useExponentialNotation) { - mainPattern.append(syms.getExponential()); - for (int i = 0; i < minExponentDigits; ++i) - mainPattern.append(syms.getZeroDigit()); - if (minExponentDigits == 0) - mainPattern.append(syms.getDigit()); + mainPattern.append(symbols.getExponential()); + + for (int i = 0; i < minExponentDigits; ++i) + mainPattern.append(symbols.getZeroDigit()); + + if (minExponentDigits == 0) + mainPattern.append(symbols.getDigit()); } - - String main = mainPattern.toString(); - String patChars = patternChars (syms); - mainPattern.setLength(0); - - quoteFix (mainPattern, positivePrefix, patChars); - mainPattern.append(main); - quoteFix (mainPattern, positiveSuffix, patChars); - - if (negativePrefix != null) + + // save the pattern + String pattern = mainPattern.toString(); + + // so far we have the pattern itself, now we need to add + // the positive and the optional negative prefixes and suffixes + String patternChars = patternChars(symbols); + mainPattern.insert(0, quoteFix(positivePrefix, patternChars)); + mainPattern.append(quoteFix(positiveSuffix, patternChars)); + + if (hasNegativePrefix) { - quoteFix (mainPattern, negativePrefix, patChars); - mainPattern.append(main); - quoteFix (mainPattern, negativeSuffix, patChars); + mainPattern.append(symbols.getPatternSeparator()); + mainPattern.append(quoteFix(negativePrefix, patternChars)); + mainPattern.append(pattern); + mainPattern.append(quoteFix(negativeSuffix, patternChars)); } - + + // finally, return the pattern string return mainPattern.toString(); } - - public String toLocalizedPattern () - { - return computePattern (symbols); - } - - public String toPattern () + + /* ****** FORMAT PARSING ****** */ + + /** + * Scan the input string and define a pattern suitable for use + * with this decimal format. + * + * @param pattern + * @param symbols + */ + private void applyPatternWithSymbols(String pattern, + DecimalFormatSymbols symbols) { - return computePattern (nonLocalizedSymbols); - } - - private static final int MAXIMUM_INTEGER_DIGITS = 309; - - // These names are fixed by the serialization spec. - private boolean decimalSeparatorAlwaysShown; - private byte groupingSize; - private byte minExponentDigits; - private int exponentRound; - private int multiplier; - private String negativePrefix; - private String negativeSuffix; - private String positivePrefix; - private String positiveSuffix; - private int[] negativePrefixRanges, positivePrefixRanges; - private HashMap[] negativePrefixAttrs, positivePrefixAttrs; - private int[] negativeSuffixRanges, positiveSuffixRanges; - private HashMap[] negativeSuffixAttrs, positiveSuffixAttrs; - private int serialVersionOnStream = 1; - private DecimalFormatSymbols symbols; - private boolean useExponentialNotation; - private static final long serialVersionUID = 864413376551465018L; + // The pattern string is described by a BNF diagram. + // we could use a recursive parser to read and prepare + // the string, but this would be too slow and resource + // intensive, while this code is quite critical as it is + // called always when the class is instantiated and every + // time a new pattern is given. + // Our strategy is to divide the string into section as given by + // the BNF diagram, iterating through the string and setting up + // the parameters we need for formatting (which is basicly what + // a descendent recursive parser would do - but without recursion). + // I'm sure that there are smarter methods to do this. + + // Restore default values. Most of these will be overwritten + // but we want to be sure that nothing is left out. + setDefaultValues(); + + int len = pattern.length(); + if (len == 0) + { + // this is another special case... + this.minimumIntegerDigits = 1; + this.maximumIntegerDigits = DEFAULT_INTEGER_DIGITS; + this.minimumFractionDigits = 0; + this.maximumFractionDigits = DEFAULT_FRACTION_DIGITS; + + // FIXME: ...and these values may not be valid in all locales + this.minExponentDigits = 0; + this.showDecimalSeparator = true; + this.groupingUsed = true; + this.groupingSize = 3; + + return; + } + + int start = scanFix(pattern, symbols, 0, true); + if (start < len) start = scanNumberInteger(pattern, symbols, start); + if (start < len) + { + start = scanFractionalPortion(pattern, symbols, start); + } + else + { + // special case, pattern that ends here does not have a fractional + // portion + this.minimumFractionDigits = 0; + this.maximumFractionDigits = 0; + //this.decimalSeparatorAlwaysShown = false; + //this.showDecimalSeparator = false; + } + + // XXX: this fixes a compatibility test with the RI. + // If new uses cases fail, try removing this line first. + //if (!this.hasIntegerPattern && !this.hasFractionalPattern) + // throw new IllegalArgumentException("No valid pattern found!"); + + if (start < len) start = scanExponent(pattern, symbols, start); + if (start < len) start = scanFix(pattern, symbols, start, false); + if (start < len) scanNegativePattern(pattern, symbols, start); + + if (useExponentialNotation && + (maxIntegerDigitsExponent > minimumIntegerDigits) && + (maxIntegerDigitsExponent > 1)) + { + minimumIntegerDigits = 1; + exponentRound = maxIntegerDigitsExponent; + } + + if (useExponentialNotation) + maximumIntegerDigits = maxIntegerDigitsExponent; + + if (!this.hasFractionalPattern && this.showDecimalSeparator == true) + { + this.decimalSeparatorAlwaysShown = true; + } + } + + /** + * Scans for the prefix or suffix portion of the pattern string. + * This method handles the positive subpattern of the pattern string. + * + * @param pattern The pattern string to parse. + * @return The position in the pattern string where parsing ended. + */ + private int scanFix(String pattern, DecimalFormatSymbols sourceSymbols, + int start, boolean prefix) + { + StringBuffer buffer = new StringBuffer(); + + // the number portion is always delimited by one of those + // characters + char decimalSeparator = sourceSymbols.getDecimalSeparator(); + char patternSeparator = sourceSymbols.getPatternSeparator(); + char groupingSeparator = sourceSymbols.getGroupingSeparator(); + char digit = sourceSymbols.getDigit(); + char zero = sourceSymbols.getZeroDigit(); + char minus = sourceSymbols.getMinusSign(); + + // other special characters, cached here to avoid method calls later + char percent = sourceSymbols.getPercent(); + char permille = sourceSymbols.getPerMill(); + + String currencySymbol = this.symbols.getCurrencySymbol(); + + boolean quote = false; + + char ch = pattern.charAt(start); + if (ch == patternSeparator) + { + // negative subpattern + this.hasNegativePrefix = true; + ++start; + return start; + } + + int len = pattern.length(); + int i; + for (i = start; i < len; i++) + { + ch = pattern.charAt(i); + + // we are entering into the negative subpattern + if (!quote && ch == patternSeparator) + { + if (this.hasNegativePrefix) + { + throw new IllegalArgumentException("Invalid pattern found: " + + start); + } + + this.hasNegativePrefix = true; + ++i; + break; + } + + // this means we are inside the number portion + if (!quote && + (ch == minus || ch == digit || ch == zero || + ch == groupingSeparator)) + break; + + if (!quote && ch == decimalSeparator) + { + this.showDecimalSeparator = true; + break; + } + else if (quote && ch != '\'') + { + buffer.append(ch); + continue; + } + + if (ch == '\u00A4') + { + // CURRENCY + currencySymbol = this.symbols.getCurrencySymbol(); + + // if \u00A4 is doubled, we use the international currency symbol + if (i < len && pattern.charAt(i + 1) == '\u00A4') + { + currencySymbol = this.symbols.getInternationalCurrencySymbol(); + i++; + } + + this.useCurrencySeparator = true; + buffer.append(currencySymbol); + } + else if (ch == percent) + { + // PERCENT + this.multiplier = 100; + buffer.append(this.symbols.getPercent()); + } + else if (ch == permille) + { + // PERMILLE + this.multiplier = 1000; + buffer.append(this.symbols.getPerMill()); + } + else if (ch == '\'') + { + // QUOTE + if (i < len && pattern.charAt(i + 1) == '\'') + { + // we need to add ' to the buffer + buffer.append(ch); + i++; + } + else + { + quote = !quote; + continue; + } + } + else + { + buffer.append(ch); + } + } + + if (prefix) + { + this.positivePrefix = buffer.toString(); + this.negativePrefix = minus + "" + positivePrefix; + } + else + { + this.positiveSuffix = buffer.toString(); + } + + return i; + } + + /** + * Scan the given string for number patterns, starting + * from start. + * This method searches the integer part of the pattern only. + * + * @param pattern The pattern string to parse. + * @param start The starting parse position in the string. + * @return The position in the pattern string where parsing ended, + * counted from the beginning of the string (that is, 0). + */ + private int scanNumberInteger(String pattern, DecimalFormatSymbols symbols, + int start) + { + char digit = symbols.getDigit(); + char zero = symbols.getZeroDigit(); + char groupingSeparator = symbols.getGroupingSeparator(); + char decimalSeparator = symbols.getDecimalSeparator(); + char exponent = symbols.getExponential(); + char patternSeparator = symbols.getPatternSeparator(); + + // count the number of zeroes in the pattern + // this number defines the minum digits in the integer portion + int zeros = 0; + + // count the number of digits used in grouping + int _groupingSize = 0; + + this.maxIntegerDigitsExponent = 0; + + boolean intPartTouched = false; + + char ch; + int len = pattern.length(); + int i; + for (i = start; i < len; i++) + { + ch = pattern.charAt(i); + + // break on decimal separator or exponent or pattern separator + if (ch == decimalSeparator || ch == exponent) + break; + + if (this.hasNegativePrefix && ch == patternSeparator) + throw new IllegalArgumentException("Invalid pattern found: " + + start); + + if (ch == digit) + { + // in our implementation we could relax this strict + // requirement, but this is used to keep compatibility with + // the RI + if (zeros > 0) throw new + IllegalArgumentException("digit mark following zero in " + + "positive subpattern, not allowed. Position: " + i); + + _groupingSize++; + intPartTouched = true; + this.maxIntegerDigitsExponent++; + } + else if (ch == zero) + { + zeros++; + _groupingSize++; + this.maxIntegerDigitsExponent++; + } + else if (ch == groupingSeparator) + { + this.groupingSeparatorInPattern = true; + this.groupingUsed = true; + _groupingSize = 0; + } + else + { + // any other character not listed above + // means we are in the suffix portion + break; + } + } + + if (groupingSeparatorInPattern) this.groupingSize = (byte) _groupingSize; + this.minimumIntegerDigits = zeros; + + // XXX: compatibility code with the RI: the number of minimum integer + // digits is at least one when maximumIntegerDigits is more than zero + if (intPartTouched && this.maximumIntegerDigits > 0 && + this.minimumIntegerDigits == 0) + this.minimumIntegerDigits = 1; - private void readObject(ObjectInputStream stream) - throws IOException, ClassNotFoundException + return i; + } + + /** + * Scan the given string for number patterns, starting + * from start. + * This method searches the fractional part of the pattern only. + * + * @param pattern The pattern string to parse. + * @param start The starting parse position in the string. + * @return The position in the pattern string where parsing ended, + * counted from the beginning of the string (that is, 0). + */ + private int scanFractionalPortion(String pattern, + DecimalFormatSymbols symbols, + int start) + { + char digit = symbols.getDigit(); + char zero = symbols.getZeroDigit(); + char groupingSeparator = symbols.getGroupingSeparator(); + char decimalSeparator = symbols.getDecimalSeparator(); + char exponent = symbols.getExponential(); + char patternSeparator = symbols.getPatternSeparator(); + + // first character needs to be '.' otherwise we are not parsing the + // fractional portion + char ch = pattern.charAt(start); + if (ch != decimalSeparator) + { + this.minimumFractionDigits = 0; + this.maximumFractionDigits = 0; + return start; + } + + ++start; + + this.hasFractionalPattern = true; + + this.minimumFractionDigits = 0; + int digits = 0; + + int len = pattern.length(); + int i; + for (i = start; i < len; i++) + { + ch = pattern.charAt(i); + + // we hit the exponential or negative subpattern + if (ch == exponent || ch == patternSeparator) + break; + + // pattern error + if (ch == groupingSeparator || ch == decimalSeparator) throw new + IllegalArgumentException("unexpected character '" + ch + "' " + + "in fractional subpattern. Position: " + i); + + if (ch == digit) + { + digits++; + } + else if (ch == zero) + { + if (digits > 0) throw new + IllegalArgumentException("digit mark following zero in " + + "positive subpattern, not allowed. Position: " + i); + + this.minimumFractionDigits++; + } + else + { + // we are in the suffix section of pattern + break; + } + } + + if (i == start) this.hasFractionalPattern = false; + + this.maximumFractionDigits = this.minimumFractionDigits + digits; + this.showDecimalSeparator = true; + + return i; + } + + /** + * Scan the given string for number patterns, starting + * from start. + * This method searches the expoential part of the pattern only. + * + * @param pattern The pattern string to parse. + * @param start The starting parse position in the string. + * @return The position in the pattern string where parsing ended, + * counted from the beginning of the string (that is, 0). + */ + private int scanExponent(String pattern, DecimalFormatSymbols symbols, + int start) { - stream.defaultReadObject(); - if (serialVersionOnStream < 1) + char digit = symbols.getDigit(); + char zero = symbols.getZeroDigit(); + char groupingSeparator = symbols.getGroupingSeparator(); + char decimalSeparator = symbols.getDecimalSeparator(); + char exponent = symbols.getExponential(); + + char ch = pattern.charAt(start); + + if (ch == decimalSeparator) + { + // ignore dots + ++start; + } + + if (ch != exponent) + { + this.useExponentialNotation = false; + return start; + } + + ++start; + + this.minExponentDigits = 0; + + int len = pattern.length(); + int i; + for (i = start; i < len; i++) + { + ch = pattern.charAt(i); + + if (ch == groupingSeparator || ch == decimalSeparator || + ch == digit || ch == exponent) throw new + IllegalArgumentException("unexpected character '" + ch + "' " + + "in exponential subpattern. Position: " + i); + + if (ch == zero) + { + this.minExponentDigits++; + } + else + { + // any character other than zero is an exit point + break; + } + } + + this.useExponentialNotation = true; + + return i; + } + + /** + * Scan the given string for number patterns, starting + * from start. + * This method searches the negative part of the pattern only and scan + * throught the end of the string. + * + * @param pattern The pattern string to parse. + * @param start The starting parse position in the string. + */ + private void scanNegativePattern(String pattern, + DecimalFormatSymbols sourceSymbols, + int start) + { + StringBuffer buffer = new StringBuffer(); + + // the number portion is always delimited by one of those + // characters + char decimalSeparator = sourceSymbols.getDecimalSeparator(); + char patternSeparator = sourceSymbols.getPatternSeparator(); + char groupingSeparator = sourceSymbols.getGroupingSeparator(); + char digit = sourceSymbols.getDigit(); + char zero = sourceSymbols.getZeroDigit(); + char minus = sourceSymbols.getMinusSign(); + + // other special charcaters, cached here to avoid method calls later + char percent = sourceSymbols.getPercent(); + char permille = sourceSymbols.getPerMill(); + + String CURRENCY_SYMBOL = this.symbols.getCurrencySymbol(); + String currencySymbol = CURRENCY_SYMBOL; + + boolean quote = false; + boolean prefixDone = false; + + int len = pattern.length(); + if (len > 0) this.hasNegativePrefix = true; + + char ch = pattern.charAt(start); + if (ch == patternSeparator) + { + // no pattern separator in the negative pattern + if ((start + 1) > len) throw new + IllegalArgumentException("unexpected character '" + ch + "' " + + "in negative subpattern."); + start++; + } + + int i; + for (i = start; i < len; i++) + { + ch = pattern.charAt(i); + + // this means we are inside the number portion + if (!quote && + (ch == digit || ch == zero || ch == decimalSeparator || + ch == patternSeparator || ch == groupingSeparator)) + { + if (!prefixDone) + { + this.negativePrefix = buffer.toString(); + buffer.delete(0, buffer.length()); + prefixDone = true; + } + } + else if (ch == minus) + { + buffer.append(this.symbols.getMinusSign()); + } + else if (quote && ch != '\'') + { + buffer.append(ch); + } + else if (ch == '\u00A4') + { + // CURRENCY + currencySymbol = CURRENCY_SYMBOL; + + // if \u00A4 is doubled, we use the international currency symbol + if ((i + 1) < len && pattern.charAt(i + 1) == '\u00A4') + { + currencySymbol = this.symbols.getInternationalCurrencySymbol(); + i = i + 2; + } + + // FIXME: not sure about this, the specs says that we only have to + // change prefix and suffix, so leave it as commented + // unless in case of bug report/errors + //this.useCurrencySeparator = true; + + buffer.append(currencySymbol); + } + else if (ch == percent) + { + // PERCENT + this.negativePatternMultiplier = 100; + buffer.append(this.symbols.getPercent()); + } + else if (ch == permille) + { + // PERMILLE + this.negativePatternMultiplier = 1000; + buffer.append(this.symbols.getPerMill()); + } + else if (ch == '\'') + { + // QUOTE + if (i < len && pattern.charAt(i + 1) == '\'') + { + // we need to add ' to the buffer + buffer.append(ch); + i++; + } + else + { + quote = !quote; + } + } + else if (ch == patternSeparator) + { + // no pattern separator in the negative pattern + throw new IllegalArgumentException("unexpected character '" + ch + + "' in negative subpattern."); + } + else + { + buffer.append(ch); + } + } + + if (prefixDone) + this.negativeSuffix = buffer.toString(); + else + this.negativePrefix = buffer.toString(); + } + + /* ****** FORMATTING ****** */ + + /** + * Handles the real formatting. + * + * We use a BigDecimal to format the number without precision loss. + * All the rounding is done by methods in BigDecimal. + * The isLong parameter is used to determine if we are + * formatting a long or BigInteger. In this case, we avoid to format + * the fractional part of the number (unless specified otherwise in the + * format string) that would consist only of a 0 digit. + * + * @param number A BigDecimal representation fo the input number. + * @param dest The destination buffer. + * @param isLong A boolean that indicates if this BigDecimal is a real + * decimal or an integer. + * @param fieldPos Use to keep track of the formatting position. + */ + private void formatInternal(BigDecimal number, boolean isLong, + StringBuffer dest, FieldPosition fieldPos) + { + // The specs says that fieldPos should not be null, and that we + // should throw a NPE, but it seems that in few classes that + // reference this one, fieldPos is set to null. + // This is even defined in the javadoc, see for example MessageFormat. + // I think the best here is to check for fieldPos and build one if it is + // null. If it cause harms or regressions, just remove this line and + // fix the classes in the point of call, insted. + if (fieldPos == null) fieldPos = new FieldPosition(0); + + int _multiplier = this.multiplier; + + // used to track attribute starting position for each attribute + int attributeStart = -1; + + // now get the sign this will be used by the special case Inifinity + // and by the normal cases. + boolean isNegative = (number.signum() < 0) ? true : false; + if (isNegative) + { + attributeStart = dest.length(); + + // append the negative prefix to the string + dest.append(negativePrefix); + + // once got the negative prefix, we can use + // the absolute value. + number = number.abs(); + + _multiplier = negativePatternMultiplier; + + addAttribute(Field.SIGN, attributeStart, dest.length()); + } + else + { + // not negative, use the positive prefix + dest.append(positivePrefix); + } + + // these are used ot update the field position + int beginIndexInt = dest.length(); + int endIndexInt = 0; + int beginIndexFract = 0; + int endIndexFract = 0; + + // compute the multiplier to use with percent and similar + number = number.multiply(new BigDecimal(_multiplier)); + + // XXX: special case, not sure if it belongs here or if it is + // correct at all. There may be other special cases as well + // these should be handled in the format string parser. + if (this.maximumIntegerDigits == 0 && this.maximumFractionDigits == 0) + { + number = BigDecimal.ZERO; + this.maximumIntegerDigits = 1; + this.minimumIntegerDigits = 1; + } + + // get the absolute number + number = number.abs(); + + // the scaling to use while formatting this number + int scale = this.maximumFractionDigits; + + // this is the actual number we will use + // it is corrected later on to handle exponential + // notation, if needed + long exponent = 0; + + // are we using exponential notation? + if (this.useExponentialNotation) + { + exponent = getExponent(number); + number = number.movePointLeft((int) exponent); + + // FIXME: this makes the test ##.###E0 to pass, + // but all all the other tests to fail... + // this should be really something like + // min + max - what is already shown... + //scale = this.minimumIntegerDigits + this.maximumFractionDigits; + } + + // round the number to the nearest neighbor + number = number.setScale(scale, BigDecimal.ROUND_HALF_EVEN); + + // now get the integer and fractional part of the string + // that will be processed later + String plain = number.toPlainString(); + + String intPart = null; + String fractPart = null; + + // remove - from the integer part, this is needed as + // the Narrowing Primitive Conversions algorithm used may loose + // information about the sign + int minusIndex = plain.lastIndexOf('-', 0); + if (minusIndex > -1) plain = plain.substring(minusIndex + 1); + + // strip the decimal portion + int dot = plain.indexOf('.'); + if (dot > -1) + { + intPart = plain.substring(0, dot); + dot++; + + if (useExponentialNotation) + fractPart = plain.substring(dot, dot + scale); + else + fractPart = plain.substring(dot); + } + else + { + intPart = plain; + } + + // used in various places later on + int intPartLen = intPart.length(); + endIndexInt = intPartLen; + + // if the number of digits in our intPart is not greater than the + // minimum we have to display, we append zero to the destination + // buffer before adding the integer portion of the number. + int zeroes = minimumIntegerDigits - intPartLen; + if (zeroes > 0) + { + attributeStart = Math.max(dest.length() - 1, 0); + appendZero(dest, zeroes, minimumIntegerDigits); + } + + if (this.useExponentialNotation) + { + // For exponential numbers, the significant in mantissa are + // the sum of the minimum integer and maximum fraction + // digits, and does not take into account the maximun integer + // digits to display. + + if (attributeStart < 0) + attributeStart = Math.max(dest.length() - 1, 0); + appendDigit(intPart, dest, this.groupingUsed); + } + else + { + // non exponential notation + intPartLen = intPart.length(); + int canary = Math.min(intPartLen, this.maximumIntegerDigits); + + // remove from the string the number in excess + // use only latest digits + intPart = intPart.substring(intPartLen - canary); + endIndexInt = intPart.length() + 1; + + // append it + if (maximumIntegerDigits > 0 && + !(this.minimumIntegerDigits == 0 && + intPart.compareTo(String.valueOf(symbols.getZeroDigit())) == 0)) + { + if (attributeStart < 0) + attributeStart = Math.max(dest.length() - 1, 0); + appendDigit(intPart, dest, this.groupingUsed); + } + } + + // add the INTEGER attribute + addAttribute(Field.INTEGER, attributeStart, dest.length()); + + // ...update field position, if needed, and return... + if ((fieldPos.getField() == INTEGER_FIELD || + fieldPos.getFieldAttribute() == NumberFormat.Field.INTEGER)) + { + fieldPos.setBeginIndex(beginIndexInt); + fieldPos.setEndIndex(endIndexInt); + } + + handleFractionalPart(dest, fractPart, fieldPos, isLong); + + // and the exponent + if (this.useExponentialNotation) + { + attributeStart = dest.length(); + + dest.append(symbols.getExponential()); + + addAttribute(Field.EXPONENT_SYMBOL, attributeStart, dest.length()); + attributeStart = dest.length(); + + if (exponent < 0) + { + dest.append(symbols.getMinusSign()); + exponent = -exponent; + + addAttribute(Field.EXPONENT_SIGN, attributeStart, dest.length()); + } + + attributeStart = dest.length(); + + String exponentString = String.valueOf(exponent); + int exponentLength = exponentString.length(); + + for (int i = 0; i < minExponentDigits - exponentLength; i++) + dest.append(symbols.getZeroDigit()); + + for (int i = 0; i < exponentLength; ++i) + dest.append(exponentString.charAt(i)); + + addAttribute(Field.EXPONENT, attributeStart, dest.length()); + } + + // now include the suffixes... + if (isNegative) + { + dest.append(negativeSuffix); + } + else { - useExponentialNotation = false; - serialVersionOnStream = 1; + dest.append(positiveSuffix); } } - // The locale-independent pattern symbols happen to be the same as - // the US symbols. - private static final DecimalFormatSymbols nonLocalizedSymbols - = new DecimalFormatSymbols (Locale.US); + /** + * Add to the input buffer the result of formatting the fractional + * portion of the number. + * + * @param dest + * @param fractPart + * @param fieldPos + * @param isLong + */ + private void handleFractionalPart(StringBuffer dest, String fractPart, + FieldPosition fieldPos, boolean isLong) + { + int dotStart = 0; + int dotEnd = 0; + boolean addDecimal = false; + + if (this.decimalSeparatorAlwaysShown || + ((!isLong || this.useExponentialNotation) && + this.showDecimalSeparator && this.maximumFractionDigits > 0) || + this.minimumFractionDigits > 0) + { + dotStart = dest.length(); + + if (this.useCurrencySeparator) + dest.append(symbols.getMonetaryDecimalSeparator()); + else + dest.append(symbols.getDecimalSeparator()); + + dotEnd = dest.length(); + addDecimal = true; + } + + // now handle the fraction portion of the number + int fractStart = 0; + int fractEnd = 0; + boolean addFractional = false; + + if ((!isLong || this.useExponentialNotation) + && this.maximumFractionDigits > 0 + || this.minimumFractionDigits > 0) + { + fractStart = dest.length(); + fractEnd = fractStart; + + int digits = this.minimumFractionDigits; + + if (this.useExponentialNotation) + { + digits = (this.minimumIntegerDigits + this.minimumFractionDigits) + - dest.length(); + if (digits < 0) digits = 0; + } + + fractPart = adjustTrailingZeros(fractPart, digits); + + // FIXME: this code must be improved + // now check if the factional part is just 0, in this case + // we need to remove the '.' unless requested + boolean allZeros = true; + char fracts[] = fractPart.toCharArray(); + for (int i = 0; i < fracts.length; i++) + { + if (fracts[i] != '0') + allZeros = false; + } + + if (!allZeros || (minimumFractionDigits > 0)) + { + appendDigit(fractPart, dest, false); + fractEnd = dest.length(); + + addDecimal = true; + addFractional = true; + } + else if (!this.decimalSeparatorAlwaysShown) + { + dest.deleteCharAt(dest.length() - 1); + addDecimal = false; + } + else + { + fractEnd = dest.length(); + addFractional = true; + } + } + + if (addDecimal) + addAttribute(Field.DECIMAL_SEPARATOR, dotStart, dotEnd); + + if (addFractional) + addAttribute(Field.FRACTION, fractStart, fractEnd); + + if ((fieldPos.getField() == FRACTION_FIELD || + fieldPos.getFieldAttribute() == NumberFormat.Field.FRACTION)) + { + fieldPos.setBeginIndex(fractStart); + fieldPos.setEndIndex(fractEnd); + } + } + + /** + * Append to destthe give number of zeros. + * Grouping is added if needed. + * The integer totalDigitCount defines the total number of digits + * of the number to which we are appending zeroes. + */ + private void appendZero(StringBuffer dest, int zeroes, int totalDigitCount) + { + char ch = symbols.getZeroDigit(); + char gSeparator = symbols.getGroupingSeparator(); + + int i = 0; + int gPos = totalDigitCount; + for (i = 0; i < zeroes; i++, gPos--) + { + if (this.groupingSeparatorInPattern && + (this.groupingUsed && this.groupingSize != 0) && + (gPos % groupingSize == 0 && i > 0)) + dest.append(gSeparator); + + dest.append(ch); + } + + // special case, that requires adding an additional separator + if (this.groupingSeparatorInPattern && + (this.groupingUsed && this.groupingSize != 0) && + (gPos % groupingSize == 0)) + dest.append(gSeparator); + } + + /** + * Append src to dest. + * + * Grouping is added if groupingUsed is set + * to true. + */ + private void appendDigit(String src, StringBuffer dest, + boolean groupingUsed) + { + int zero = symbols.getZeroDigit() - '0'; + + int ch; + char gSeparator = symbols.getGroupingSeparator(); + + int len = src.length(); + for (int i = 0, gPos = len; i < len; i++, gPos--) + { + ch = src.charAt(i); + if (groupingUsed && this.groupingSize != 0 && + gPos % groupingSize == 0 && i > 0) + dest.append(gSeparator); + dest.append((char) (zero + ch)); + } + } + /** - *

    - * Substitutes the currency symbol into the given string, - * based on the value used. Currency symbols can either - * be a simple series of characters (e.g. '$'), which are - * simply used as is, or they can be of a more complex - * form: - *

    - *

    - * (lower bound)|(mid value)|(upper bound) - *

    - *

    - * where each bound has the syntax '(value)(# or <)(symbol)', - * to indicate the bounding value and the symbol used. - *

    - *

    - * The currency symbol replaces the currency specifier, '\u00a4', - * an unlocalised character, which thus is used as such in all formats. - * If this symbol occurs twice, the international currency code is used - * instead. - *

    - * - * @param string The string containing the currency specifier, '\u00a4'. - * @param number the number being formatted. - * @return a string formatted for the correct currency. + * Calculate the exponent to use if eponential notation is used. + * The exponent is calculated as a power of ten. + * number should be positive, if is zero, or less than zero, + * zero is returned. */ - private String substituteCurrency(String string, double number) + private long getExponent(BigDecimal number) { - int index; - int length; - char currentChar; - StringBuffer buf; + long exponent = 0; - index = 0; - length = string.length(); - buf = new StringBuffer(); + if (number.signum() > 0) + { + double _number = number.doubleValue(); + exponent = (long) Math.floor (Math.log10(_number)); + + // get the right value for the exponent + exponent = exponent - (exponent % this.exponentRound); + + // if the minimumIntegerDigits is more than zero + // we display minimumIntegerDigits of digits. + // so, for example, if minimumIntegerDigits == 2 + // and the actual number is 0.123 it will be + // formatted as 12.3E-2 + // this means that the exponent have to be shifted + // to the correct value. + if (minimumIntegerDigits > 0) + exponent -= minimumIntegerDigits - 1; + } + + return exponent; + } + + /** + * Remove contiguos zeros from the end of the src string, + * if src contains more than minimumDigits digits. + * if src contains less that minimumDigits, + * then append zeros to the string. + * + * Only the first block of zero digits is removed from the string + * and only if they fall in the src.length - minimumDigits + * portion of the string. + * + * @param src The string with the correct number of zeros. + */ + private String adjustTrailingZeros(String src, int minimumDigits) + { + int len = src.length(); + String result; - while (index < length) + // remove all trailing zero + if (len > minimumDigits) { - currentChar = string.charAt(index); - if (string.charAt(index) == '\u00a4') - { - if ((index + 1) < length && string.charAt(index + 1) == '\u00a4') - { - buf.append(symbols.getInternationalCurrencySymbol()); - index += 2; - } - else - { - String symbol; - - symbol = symbols.getCurrencySymbol(); - if (symbol.startsWith("=")) - { - String[] bounds; - int[] boundValues; - String[] boundSymbols; - - bounds = symbol.substring(1).split("\\|"); - boundValues = new int[3]; - boundSymbols = new String[3]; - for (int a = 0; a < 3; ++a) - { - String[] bound; - - bound = bounds[a].split("[#<]"); - boundValues[a] = Integer.parseInt(bound[0]); - boundSymbols[a] = bound[1]; - } - if (number <= boundValues[0]) - { - buf.append(boundSymbols[0]); - } - else if (number >= boundValues[2]) - { - buf.append(boundSymbols[2]); - } - else - { - buf.append(boundSymbols[1]); - } - ++index; - } - else - { - buf.append(symbol); - ++index; - } - } - } - else - { - buf.append(string.charAt(index)); - ++index; - } + int zeros = 0; + for (int i = len - 1; i > minimumDigits; i--) + { + if (src.charAt(i) == '0') + ++zeros; + else + break; + } + result = src.substring(0, len - zeros); } - return buf.toString(); + else + { + char zero = symbols.getZeroDigit(); + StringBuffer _result = new StringBuffer(src); + for (int i = len; i < minimumDigits; i++) + { + _result.append(zero); + } + result = _result.toString(); + } + + return result; } + /** + * Adds an attribute to the attributes list. + * + * @param field + * @param begin + * @param end + */ + private void addAttribute(Field field, int begin, int end) + { + /* + * This method and its implementation derives directly from the + * ICU4J (http://icu.sourceforge.net/) library, distributed under MIT/X. + */ + + FieldPosition pos = new FieldPosition(field); + pos.setBeginIndex(begin); + pos.setEndIndex(end); + attributes.add(pos); + } + + /** + * Sets the default values for the various properties in this DecimaFormat. + */ + private void setDefaultValues() + { + // Maybe we should add these values to the message bundle and take + // the most appropriate for them for any locale. + // Anyway, these seem to be good values for a default in most languages. + // Note that most of these will change based on the format string. + + this.negativePrefix = String.valueOf(symbols.getMinusSign()); + this.negativeSuffix = ""; + this.positivePrefix = ""; + this.positiveSuffix = ""; + + this.multiplier = 1; + this.negativePatternMultiplier = 1; + this.exponentRound = 1; + + this.hasNegativePrefix = false; + + this.minimumIntegerDigits = 1; + this.maximumIntegerDigits = DEFAULT_INTEGER_DIGITS; + this.minimumFractionDigits = 0; + this.maximumFractionDigits = DEFAULT_FRACTION_DIGITS; + this.minExponentDigits = 0; + + this.groupingSize = 0; + + this.decimalSeparatorAlwaysShown = false; + this.showDecimalSeparator = false; + this.useExponentialNotation = false; + this.groupingUsed = false; + this.groupingSeparatorInPattern = false; + + this.useCurrencySeparator = false; + + this.hasFractionalPattern = false; + } } diff --git a/libjava/classpath/java/text/DecimalFormatSymbols.java b/libjava/classpath/java/text/DecimalFormatSymbols.java index a8735d36171..29d2d7ed337 100644 --- a/libjava/classpath/java/text/DecimalFormatSymbols.java +++ b/libjava/classpath/java/text/DecimalFormatSymbols.java @@ -63,13 +63,13 @@ import java.util.ResourceBundle; * API docs for JDK 1.2 from http://www.javasoft.com. * Status: Believed complete and correct to 1.2. */ -public final class DecimalFormatSymbols implements Cloneable, Serializable +public class DecimalFormatSymbols implements Cloneable, Serializable { public Object clone () { try { - return super.clone (); + return super.clone(); } catch(CloneNotSupportedException e) { diff --git a/libjava/classpath/java/text/MessageFormat.java b/libjava/classpath/java/text/MessageFormat.java index f59cfd5ca3e..3d428ac7e51 100644 --- a/libjava/classpath/java/text/MessageFormat.java +++ b/libjava/classpath/java/text/MessageFormat.java @@ -396,7 +396,7 @@ public class MessageFormat extends Format * @param pattern The pattern used when formatting. * @param arguments The array containing the objects to be formatted. */ - public static String format (String pattern, Object arguments[]) + public static String format (String pattern, Object... arguments) { MessageFormat mf = new MessageFormat (pattern); StringBuffer sb = new StringBuffer (); diff --git a/libjava/classpath/java/text/NumberFormat.java b/libjava/classpath/java/text/NumberFormat.java index a42e9b3d9c8..1bef97ffea9 100644 --- a/libjava/classpath/java/text/NumberFormat.java +++ b/libjava/classpath/java/text/NumberFormat.java @@ -218,18 +218,21 @@ public abstract class NumberFormat extends Format implements Cloneable public final String format (long number) { StringBuffer sbuf = new StringBuffer(50); - format (number, sbuf, null); + format (number, sbuf, new FieldPosition(0)); return sbuf.toString(); } - public final StringBuffer format (Object obj, StringBuffer sbuf, - FieldPosition pos) + /** + * @specnote this method was final in releases before 1.5 + */ + public StringBuffer format (Object obj, StringBuffer sbuf, + FieldPosition pos) { if (obj instanceof Number) return format(((Number) obj).doubleValue(), sbuf, pos); - else - throw new IllegalArgumentException - ("Cannot format given Object as a Number"); + + throw new + IllegalArgumentException("Cannot format given Object as a Number"); } /** @@ -351,7 +354,7 @@ public abstract class NumberFormat extends Format implements Cloneable { NumberFormat format; - format = computeInstance (loc, "currencyFormat", "$#,##0.00;($#,##0.00)"); + format = computeInstance (loc, "currencyFormat", "\u00A4#,##0.00;(\u00A4#,##0.00)"); format.setMaximumFractionDigits(format.getCurrency().getDefaultFractionDigits()); return format; } @@ -720,7 +723,9 @@ public abstract class NumberFormat extends Format implements Cloneable public final String format (double number) { StringBuffer sbuf = new StringBuffer(50); - format (number, sbuf, null); + FieldPosition position = new FieldPosition(0); + + format (number, sbuf, position); return sbuf.toString(); } diff --git a/libjava/classpath/java/text/SimpleDateFormat.java b/libjava/classpath/java/text/SimpleDateFormat.java index 2825c7bed24..1e195256990 100644 --- a/libjava/classpath/java/text/SimpleDateFormat.java +++ b/libjava/classpath/java/text/SimpleDateFormat.java @@ -917,7 +917,25 @@ public class SimpleDateFormat extends DateFormat || ((ch < 'a' || ch > 'z') && (ch < 'A' || ch > 'Z'))) { - if (! expect (dateStr, pos, ch)) + if (quote_start == -1 && ch == ' ') + { + // A single unquoted space in the pattern may match + // any number of spaces in the input. + int index = pos.getIndex(); + int save = index; + while (index < dateStr.length() + && Character.isWhitespace(dateStr.charAt(index))) + ++index; + if (index > save) + pos.setIndex(index); + else + { + // Didn't see any whitespace. + pos.setErrorIndex(index); + return null; + } + } + else if (! expect (dateStr, pos, ch)) return null; continue; } diff --git a/libjava/classpath/java/util/.cvsignore b/libjava/classpath/java/util/.cvsignore new file mode 100644 index 00000000000..d41ae8d8147 --- /dev/null +++ b/libjava/classpath/java/util/.cvsignore @@ -0,0 +1 @@ +LocaleData.java diff --git a/libjava/classpath/java/util/AbstractCollection.java b/libjava/classpath/java/util/AbstractCollection.java index 3ae98e07311..ef74342237a 100644 --- a/libjava/classpath/java/util/AbstractCollection.java +++ b/libjava/classpath/java/util/AbstractCollection.java @@ -1,5 +1,5 @@ /* AbstractCollection.java -- Abstract implementation of most of Collection - Copyright (C) 1998, 2000, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,13 +62,16 @@ import java.lang.reflect.Array; * @author Original author unknown * @author Bryce McKinlay * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Collection * @see AbstractSet * @see AbstractList * @since 1.2 * @status updated to 1.4 */ -public abstract class AbstractCollection implements Collection +public abstract class AbstractCollection + implements Collection, Iterable { /** * The main constructor, for use by subclasses. @@ -84,7 +87,7 @@ public abstract class AbstractCollection implements Collection * * @return an iterator */ - public abstract Iterator iterator(); + public abstract Iterator iterator(); /** * Return the number of elements in this collection. If there are more than @@ -110,7 +113,7 @@ public abstract class AbstractCollection implements Collection * @throws IllegalArgumentException if some aspect of the object prevents * it from being added */ - public boolean add(Object o) + public boolean add(E o) { throw new UnsupportedOperationException(); } @@ -138,9 +141,9 @@ public abstract class AbstractCollection implements Collection * collection doesn't allow null values. * @see #add(Object) */ - public boolean addAll(Collection c) + public boolean addAll(Collection c) { - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); boolean modified = false; int pos = c.size(); while (--pos >= 0) @@ -162,7 +165,7 @@ public abstract class AbstractCollection implements Collection */ public void clear() { - Iterator itr = iterator(); + Iterator itr = iterator(); int pos = size(); while (--pos >= 0) { @@ -184,7 +187,7 @@ public abstract class AbstractCollection implements Collection */ public boolean contains(Object o) { - Iterator itr = iterator(); + Iterator itr = iterator(); int pos = size(); while (--pos >= 0) if (equals(o, itr.next())) @@ -204,9 +207,9 @@ public abstract class AbstractCollection implements Collection * @throws NullPointerException if the given collection is null * @see #contains(Object) */ - public boolean containsAll(Collection c) + public boolean containsAll(Collection c) { - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); int pos = c.size(); while (--pos >= 0) if (!contains(itr.next())) @@ -247,7 +250,7 @@ public abstract class AbstractCollection implements Collection */ public boolean remove(Object o) { - Iterator itr = iterator(); + Iterator itr = iterator(); int pos = size(); while (--pos >= 0) if (equals(o, itr.next())) @@ -273,7 +276,7 @@ public abstract class AbstractCollection implements Collection * @throws NullPointerException if the collection, c, is null. * @see Iterator#remove() */ - public boolean removeAll(Collection c) + public boolean removeAll(Collection c) { return removeAllInternal(c); } @@ -295,9 +298,9 @@ public abstract class AbstractCollection implements Collection * @see Iterator#remove() */ // Package visible for use throughout java.util. - boolean removeAllInternal(Collection c) + boolean removeAllInternal(Collection c) { - Iterator itr = iterator(); + Iterator itr = iterator(); boolean modified = false; int pos = size(); while (--pos >= 0) @@ -324,7 +327,7 @@ public abstract class AbstractCollection implements Collection * @throws NullPointerException if the collection, c, is null. * @see Iterator#remove() */ - public boolean retainAll(Collection c) + public boolean retainAll(Collection c) { return retainAllInternal(c); } @@ -347,9 +350,9 @@ public abstract class AbstractCollection implements Collection * @see Iterator#remove() */ // Package visible for use throughout java.util. - boolean retainAllInternal(Collection c) + boolean retainAllInternal(Collection c) { - Iterator itr = iterator(); + Iterator itr = iterator(); boolean modified = false; int pos = size(); while (--pos >= 0) @@ -372,7 +375,7 @@ public abstract class AbstractCollection implements Collection */ public Object[] toArray() { - Iterator itr = iterator(); + Iterator itr = iterator(); int size = size(); Object[] a = new Object[size]; for (int pos = 0; pos < size; pos++) @@ -402,19 +405,18 @@ public abstract class AbstractCollection implements Collection * @throws ArrayStoreException if the type of the array precludes holding * one of the elements of the Collection */ - public Object[] toArray(Object[] a) + public T[] toArray(T[] a) { int size = size(); if (a.length < size) - a = (Object[]) Array.newInstance(a.getClass().getComponentType(), + a = (T[]) Array.newInstance(a.getClass().getComponentType(), size); else if (a.length > size) a[size] = null; - Iterator itr = iterator(); + Iterator itr = iterator(); for (int pos = 0; pos < size; pos++) - a[pos] = itr.next(); - + a[pos] = (T) (itr.next()); return a; } diff --git a/libjava/classpath/java/util/AbstractList.java b/libjava/classpath/java/util/AbstractList.java index 114712eeeaf..c47b59b21ad 100644 --- a/libjava/classpath/java/util/AbstractList.java +++ b/libjava/classpath/java/util/AbstractList.java @@ -1,5 +1,6 @@ /* AbstractList.java -- Abstract implementation of most of List - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -68,7 +69,9 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public abstract class AbstractList extends AbstractCollection implements List +public abstract class AbstractList + extends AbstractCollection + implements List { /** * A count of the number of structural modifications that have been made to @@ -101,7 +104,7 @@ public abstract class AbstractList extends AbstractCollection implements List * @return the element at that position * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public abstract Object get(int index); + public abstract E get(int index); /** * Insert an element into the list at a given position (optional operation). @@ -123,7 +126,7 @@ public abstract class AbstractList extends AbstractCollection implements List * some other reason * @see #modCount */ - public void add(int index, Object o) + public void add(int index, E o) { throw new UnsupportedOperationException(); } @@ -144,7 +147,7 @@ public abstract class AbstractList extends AbstractCollection implements List * some other reason * @see #add(int, Object) */ - public boolean add(Object o) + public boolean add(E o) { add(size(), o); return true; @@ -173,9 +176,9 @@ public abstract class AbstractList extends AbstractCollection implements List * @throws NullPointerException if the specified collection is null * @see #add(int, Object) */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); int size = c.size(); for (int pos = size; pos > 0; pos--) add(index++, itr.next()); @@ -227,7 +230,7 @@ public abstract class AbstractList extends AbstractCollection implements List if (size != ((List) o).size()) return false; - Iterator itr1 = iterator(); + Iterator itr1 = iterator(); Iterator itr2 = ((List) o).iterator(); while (--size >= 0) @@ -259,7 +262,7 @@ while (i.hasNext()) public int hashCode() { int hashCode = 1; - Iterator itr = iterator(); + Iterator itr = iterator(); int pos = size(); while (--pos >= 0) hashCode = 31 * hashCode + hashCode(itr.next()); @@ -277,7 +280,7 @@ while (i.hasNext()) */ public int indexOf(Object o) { - ListIterator itr = listIterator(); + ListIterator itr = listIterator(); int size = size(); for (int pos = 0; pos < size; pos++) if (equals(o, itr.next())) @@ -297,10 +300,10 @@ while (i.hasNext()) * @return an Iterator over the elements of this list, in order * @see #modCount */ - public Iterator iterator() + public Iterator iterator() { // Bah, Sun's implementation forbids using listIterator(0). - return new Iterator() + return new Iterator() { private int pos = 0; private int size = size(); @@ -342,7 +345,7 @@ while (i.hasNext()) * @throws ConcurrentModificationException if the * list has been modified elsewhere. */ - public Object next() + public E next() { checkMod(); if (pos == size) @@ -388,7 +391,7 @@ while (i.hasNext()) public int lastIndexOf(Object o) { int pos = size(); - ListIterator itr = listIterator(pos); + ListIterator itr = listIterator(pos); while (--pos >= 0) if (equals(o, itr.previous())) return pos; @@ -402,7 +405,7 @@ while (i.hasNext()) * @return a ListIterator over the elements of this list, in order, starting * at the beginning */ - public ListIterator listIterator() + public ListIterator listIterator() { return listIterator(0); } @@ -425,13 +428,13 @@ while (i.hasNext()) * @throws IndexOutOfBoundsException if index < 0 || index > size() * @see #modCount */ - public ListIterator listIterator(final int index) + public ListIterator listIterator(final int index) { if (index < 0 || index > size()) throw new IndexOutOfBoundsException("Index: " + index + ", Size:" + size()); - return new ListIterator() + return new ListIterator() { private int knownMod = modCount; private int position = index; @@ -485,7 +488,7 @@ while (i.hasNext()) * @throws ConcurrentModificationException if the * list has been modified elsewhere. */ - public Object next() + public E next() { checkMod(); if (position == size) @@ -503,7 +506,7 @@ while (i.hasNext()) * @throws ConcurrentModificationException if the * list has been modified elsewhere. */ - public Object previous() + public E previous() { checkMod(); if (position == 0) @@ -577,7 +580,7 @@ while (i.hasNext()) * @throws ConcurrentModificationException if the list * has been modified elsewhere. */ - public void set(Object o) + public void set(E o) { checkMod(); if (lastReturned < 0) @@ -599,7 +602,7 @@ while (i.hasNext()) * @throws ConcurrentModificationException if the list * has been modified elsewhere. */ - public void add(Object o) + public void add(E o) { checkMod(); AbstractList.this.add(position++, o); @@ -624,7 +627,7 @@ while (i.hasNext()) * @throws IndexOutOfBoundsException if index < 0 || index >= size() * @see #modCount */ - public Object remove(int index) + public E remove(int index) { throw new UnsupportedOperationException(); } @@ -650,7 +653,7 @@ while (i.hasNext()) */ protected void removeRange(int fromIndex, int toIndex) { - ListIterator itr = listIterator(fromIndex); + ListIterator itr = listIterator(fromIndex); for (int index = fromIndex; index < toIndex; index++) { itr.next(); @@ -673,7 +676,7 @@ while (i.hasNext()) * @throws IllegalArgumentException if o cannot be added to this list for * some other reason */ - public Object set(int index, Object o) + public E set(int index, E o) { throw new UnsupportedOperationException(); } @@ -722,7 +725,7 @@ while (i.hasNext()) * @see ConcurrentModificationException * @see RandomAccess */ - public List subList(int fromIndex, int toIndex) + public List subList(int fromIndex, int toIndex) { // This follows the specification of AbstractList, but is inconsistent // with the one in List. Don't you love Sun's inconsistencies? @@ -732,8 +735,8 @@ while (i.hasNext()) throw new IndexOutOfBoundsException(); if (this instanceof RandomAccess) - return new RandomAccessSubList(this, fromIndex, toIndex); - return new SubList(this, fromIndex, toIndex); + return new RandomAccessSubList(this, fromIndex, toIndex); + return new SubList(this, fromIndex, toIndex); } /** @@ -744,16 +747,16 @@ while (i.hasNext()) * @author Original author unknown * @author Eric Blake (ebb9@email.byu.edu) */ - private static class SubList extends AbstractList + private static class SubList extends AbstractList { // Package visible, for use by iterator. /** The original list. */ - final AbstractList backingList; + final AbstractList backingList; /** The index of the first element of the sublist. */ final int offset; /** The size of the sublist. */ int size; - + /** * Construct the sublist. * @@ -761,14 +764,14 @@ while (i.hasNext()) * @param fromIndex the lower bound, inclusive * @param toIndex the upper bound, exclusive */ - SubList(AbstractList backing, int fromIndex, int toIndex) + SubList(AbstractList backing, int fromIndex, int toIndex) { backingList = backing; modCount = backing.modCount; offset = fromIndex; size = toIndex - fromIndex; } - + /** * This method checks the two modCount fields to ensure that there has * not been a concurrent modification, returning if all is okay. @@ -780,9 +783,9 @@ while (i.hasNext()) void checkMod() { if (modCount != backingList.modCount) - throw new ConcurrentModificationException(); + throw new ConcurrentModificationException(); } - + /** * This method checks that a value is between 0 and size (inclusive). If * it is not, an exception is thrown. @@ -794,10 +797,10 @@ while (i.hasNext()) private void checkBoundsInclusive(int index) { if (index < 0 || index > size) - throw new IndexOutOfBoundsException("Index: " + index + ", Size:" - + size); + throw new IndexOutOfBoundsException("Index: " + index + ", Size:" + + size); } - + /** * This method checks that a value is between 0 (inclusive) and size * (exclusive). If it is not, an exception is thrown. @@ -809,10 +812,10 @@ while (i.hasNext()) private void checkBoundsExclusive(int index) { if (index < 0 || index >= size) - throw new IndexOutOfBoundsException("Index: " + index + ", Size:" - + size); + throw new IndexOutOfBoundsException("Index: " + index + ", Size:" + + size); } - + /** * Specified by AbstractList.subList to return the private field size. * @@ -825,7 +828,7 @@ while (i.hasNext()) checkMod(); return size; } - + /** * Specified by AbstractList.subList to delegate to the backing list. * @@ -842,13 +845,13 @@ while (i.hasNext()) * @throws IllegalArgumentException if o cannot be added to the backing list * for some other reason */ - public Object set(int index, Object o) + public E set(int index, E o) { checkMod(); checkBoundsExclusive(index); return backingList.set(index + offset, o); } - + /** * Specified by AbstractList.subList to delegate to the backing list. * @@ -858,13 +861,13 @@ while (i.hasNext()) * modified externally to this sublist * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object get(int index) + public E get(int index) { checkMod(); checkBoundsExclusive(index); return backingList.get(index + offset); } - + /** * Specified by AbstractList.subList to delegate to the backing list. * @@ -880,7 +883,7 @@ while (i.hasNext()) * @throws IllegalArgumentException if o cannot be added to the backing * list for some other reason. */ - public void add(int index, Object o) + public void add(int index, E o) { checkMod(); checkBoundsInclusive(index); @@ -888,7 +891,7 @@ while (i.hasNext()) size++; modCount = backingList.modCount; } - + /** * Specified by AbstractList.subList to delegate to the backing list. * @@ -900,16 +903,16 @@ while (i.hasNext()) * @throws UnsupportedOperationException if the backing list does not * support the remove operation */ - public Object remove(int index) + public E remove(int index) { checkMod(); checkBoundsExclusive(index); - Object o = backingList.remove(index + offset); + E o = backingList.remove(index + offset); size--; modCount = backingList.modCount; return o; } - + /** * Specified by AbstractList.subList to delegate to the backing list. * This does no bounds checking, as it assumes it will only be called @@ -925,12 +928,12 @@ while (i.hasNext()) protected void removeRange(int fromIndex, int toIndex) { checkMod(); - + backingList.removeRange(offset + fromIndex, offset + toIndex); size -= toIndex - fromIndex; modCount = backingList.modCount; } - + /** * Specified by AbstractList.subList to delegate to the backing list. * @@ -948,7 +951,7 @@ while (i.hasNext()) * to this list for some other reason * @throws NullPointerException if the specified collection is null */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { checkMod(); checkBoundsInclusive(index); @@ -958,7 +961,7 @@ while (i.hasNext()) modCount = backingList.modCount; return result; } - + /** * Specified by AbstractList.subList to return addAll(size, c). * @@ -974,21 +977,21 @@ while (i.hasNext()) * to this list for some other reason * @throws NullPointerException if the specified collection is null */ - public boolean addAll(Collection c) + public boolean addAll(Collection c) { return addAll(size, c); } - + /** * Specified by AbstractList.subList to return listIterator(). * * @return an iterator over the sublist */ - public Iterator iterator() + public Iterator iterator() { return listIterator(); } - + /** * Specified by AbstractList.subList to return a wrapper around the * backing list's iterator. @@ -999,179 +1002,180 @@ while (i.hasNext()) * modified externally to this sublist * @throws IndexOutOfBoundsException if the value is out of range */ - public ListIterator listIterator(final int index) + public ListIterator listIterator(final int index) { checkMod(); checkBoundsInclusive(index); - - return new ListIterator() - { - private final ListIterator i = backingList.listIterator(index + offset); - private int position = index; - - /** - * Tests to see if there are any more objects to - * return. - * - * @return True if the end of the list has not yet been - * reached. - */ - public boolean hasNext() - { - return position < size; - } - - /** - * Tests to see if there are objects prior to the - * current position in the list. - * - * @return True if objects exist prior to the current - * position of the iterator. - */ - public boolean hasPrevious() - { - return position > 0; - } - - /** - * Retrieves the next object from the list. - * - * @return The next object. - * @throws NoSuchElementException if there are no - * more objects to retrieve. - * @throws ConcurrentModificationException if the - * list has been modified elsewhere. - */ - public Object next() - { - if (position == size) - throw new NoSuchElementException(); - position++; - return i.next(); - } - - /** - * Retrieves the previous object from the list. - * - * @return The next object. - * @throws NoSuchElementException if there are no - * previous objects to retrieve. - * @throws ConcurrentModificationException if the - * list has been modified elsewhere. - */ - public Object previous() - { - if (position == 0) - throw new NoSuchElementException(); - position--; - return i.previous(); - } - - /** - * Returns the index of the next element in the - * list, which will be retrieved by next() - * - * @return The index of the next element. - */ - public int nextIndex() - { - return i.nextIndex() - offset; - } - - /** - * Returns the index of the previous element in the - * list, which will be retrieved by previous() - * - * @return The index of the previous element. - */ - public int previousIndex() - { - return i.previousIndex() - offset; - } - - /** - * Removes the last object retrieved by next() - * from the list, if the list supports object removal. - * - * @throws IllegalStateException if the iterator is positioned - * before the start of the list or the last object has already - * been removed. - * @throws UnsupportedOperationException if the list does - * not support removing elements. - */ - public void remove() - { - i.remove(); - size--; - position = nextIndex(); - modCount = backingList.modCount; - } - - - /** - * Replaces the last object retrieved by next() - * or previous with o, if the list supports object - * replacement and an add or remove operation has not already - * been performed. - * - * @throws IllegalStateException if the iterator is positioned - * before the start of the list or the last object has already - * been removed. - * @throws UnsupportedOperationException if the list doesn't support - * the addition or removal of elements. - * @throws ClassCastException if the type of o is not a valid type - * for this list. - * @throws IllegalArgumentException if something else related to o - * prevents its addition. - * @throws ConcurrentModificationException if the list - * has been modified elsewhere. - */ - public void set(Object o) - { - i.set(o); - } - - /** - * Adds the supplied object before the element that would be returned - * by a call to next(), if the list supports addition. - * - * @param o The object to add to the list. - * @throws UnsupportedOperationException if the list doesn't support - * the addition of new elements. - * @throws ClassCastException if the type of o is not a valid type - * for this list. - * @throws IllegalArgumentException if something else related to o - * prevents its addition. - * @throws ConcurrentModificationException if the list - * has been modified elsewhere. - */ - public void add(Object o) - { - i.add(o); - size++; - position++; - modCount = backingList.modCount; - } - - // Here is the reason why the various modCount fields are mostly - // ignored in this wrapper listIterator. - // If the backing listIterator is failfast, then the following holds: - // Using any other method on this list will call a corresponding - // method on the backing list *after* the backing listIterator - // is created, which will in turn cause a ConcurrentModException - // when this listIterator comes to use the backing one. So it is - // implicitly failfast. - // If the backing listIterator is NOT failfast, then the whole of - // this list isn't failfast, because the modCount field of the - // backing list is not valid. It would still be *possible* to - // make the iterator failfast wrt modifications of the sublist - // only, but somewhat pointless when the list can be changed under - // us. - // Either way, no explicit handling of modCount is needed. - // However modCount = backingList.modCount must be executed in add - // and remove, and size must also be updated in these two methods, - // since they do not go through the corresponding methods of the subList. - }; + + return new ListIterator() + { + private final ListIterator i + = backingList.listIterator(index + offset); + private int position = index; + + /** + * Tests to see if there are any more objects to + * return. + * + * @return True if the end of the list has not yet been + * reached. + */ + public boolean hasNext() + { + return position < size; + } + + /** + * Tests to see if there are objects prior to the + * current position in the list. + * + * @return True if objects exist prior to the current + * position of the iterator. + */ + public boolean hasPrevious() + { + return position > 0; + } + + /** + * Retrieves the next object from the list. + * + * @return The next object. + * @throws NoSuchElementException if there are no + * more objects to retrieve. + * @throws ConcurrentModificationException if the + * list has been modified elsewhere. + */ + public E next() + { + if (position == size) + throw new NoSuchElementException(); + position++; + return i.next(); + } + + /** + * Retrieves the previous object from the list. + * + * @return The next object. + * @throws NoSuchElementException if there are no + * previous objects to retrieve. + * @throws ConcurrentModificationException if the + * list has been modified elsewhere. + */ + public E previous() + { + if (position == 0) + throw new NoSuchElementException(); + position--; + return i.previous(); + } + + /** + * Returns the index of the next element in the + * list, which will be retrieved by next() + * + * @return The index of the next element. + */ + public int nextIndex() + { + return i.nextIndex() - offset; + } + + /** + * Returns the index of the previous element in the + * list, which will be retrieved by previous() + * + * @return The index of the previous element. + */ + public int previousIndex() + { + return i.previousIndex() - offset; + } + + /** + * Removes the last object retrieved by next() + * from the list, if the list supports object removal. + * + * @throws IllegalStateException if the iterator is positioned + * before the start of the list or the last object has already + * been removed. + * @throws UnsupportedOperationException if the list does + * not support removing elements. + */ + public void remove() + { + i.remove(); + size--; + position = nextIndex(); + modCount = backingList.modCount; + } + + + /** + * Replaces the last object retrieved by next() + * or previous with o, if the list supports object + * replacement and an add or remove operation has not already + * been performed. + * + * @throws IllegalStateException if the iterator is positioned + * before the start of the list or the last object has already + * been removed. + * @throws UnsupportedOperationException if the list doesn't support + * the addition or removal of elements. + * @throws ClassCastException if the type of o is not a valid type + * for this list. + * @throws IllegalArgumentException if something else related to o + * prevents its addition. + * @throws ConcurrentModificationException if the list + * has been modified elsewhere. + */ + public void set(E o) + { + i.set(o); + } + + /** + * Adds the supplied object before the element that would be returned + * by a call to next(), if the list supports addition. + * + * @param o The object to add to the list. + * @throws UnsupportedOperationException if the list doesn't support + * the addition of new elements. + * @throws ClassCastException if the type of o is not a valid type + * for this list. + * @throws IllegalArgumentException if something else related to o + * prevents its addition. + * @throws ConcurrentModificationException if the list + * has been modified elsewhere. + */ + public void add(E o) + { + i.add(o); + size++; + position++; + modCount = backingList.modCount; + } + + // Here is the reason why the various modCount fields are mostly + // ignored in this wrapper listIterator. + // If the backing listIterator is failfast, then the following holds: + // Using any other method on this list will call a corresponding + // method on the backing list *after* the backing listIterator + // is created, which will in turn cause a ConcurrentModException + // when this listIterator comes to use the backing one. So it is + // implicitly failfast. + // If the backing listIterator is NOT failfast, then the whole of + // this list isn't failfast, because the modCount field of the + // backing list is not valid. It would still be *possible* to + // make the iterator failfast wrt modifications of the sublist + // only, but somewhat pointless when the list can be changed under + // us. + // Either way, no explicit handling of modCount is needed. + // However modCount = backingList.modCount must be executed in add + // and remove, and size must also be updated in these two methods, + // since they do not go through the corresponding methods of the subList. + }; } } // class SubList @@ -1181,7 +1185,7 @@ while (i.hasNext()) * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class RandomAccessSubList extends SubList + private static final class RandomAccessSubList extends SubList implements RandomAccess { /** @@ -1191,10 +1195,10 @@ while (i.hasNext()) * @param fromIndex the lower bound, inclusive * @param toIndex the upper bound, exclusive */ - RandomAccessSubList(AbstractList backing, int fromIndex, int toIndex) + RandomAccessSubList(AbstractList backing, int fromIndex, int toIndex) { super(backing, fromIndex, toIndex); } } // class RandomAccessSubList - + } // class AbstractList diff --git a/libjava/classpath/java/util/AbstractMap.java b/libjava/classpath/java/util/AbstractMap.java index b4ab882addf..29249e1dc22 100644 --- a/libjava/classpath/java/util/AbstractMap.java +++ b/libjava/classpath/java/util/AbstractMap.java @@ -1,5 +1,6 @@ /* AbstractMap.java -- Abstract implementation of most of Map - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +39,8 @@ exception statement from your version. */ package java.util; +import java.io.Serializable; + /** * An abstract implementation of Map to make it easier to create your own * implementations. In order to create an unmodifiable Map, subclass @@ -64,9 +67,43 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public abstract class AbstractMap implements Map +public abstract class AbstractMap implements Map { - /** An "enum" of iterator types. */ + /** @since 1.6 */ + public static class SimpleImmutableEntry + implements Entry, Serializable + { + K key; + V value; + + public SimpleImmutableEntry(K key, V value) + { + this.key = key; + this.value = value; + } + + public SimpleImmutableEntry(Entry entry) + { + this(entry.getKey(), entry.getValue()); + } + + public K getKey() + { + return key; + } + + public V getValue() + { + return value; + } + + public V setValue(V value) + { + throw new UnsupportedOperationException("setValue not supported on immutable entry"); + } + } + +/** An "enum" of iterator types. */ // Package visible for use by subclasses. static final int KEYS = 0, VALUES = 1, @@ -76,13 +113,13 @@ public abstract class AbstractMap implements Map * The cache for {@link #keySet()}. */ // Package visible for use by subclasses. - Set keys; + Set keys; /** * The cache for {@link #values()}. */ // Package visible for use by subclasses. - Collection values; + Collection values; /** * The main constructor, for use by subclasses. @@ -104,7 +141,7 @@ public abstract class AbstractMap implements Map * @return the entry set * @see Map.Entry */ - public abstract Set entrySet(); + public abstract Set> entrySet(); /** * Remove all entries from this Map (optional operation). This default @@ -133,7 +170,7 @@ public abstract class AbstractMap implements Map */ protected Object clone() throws CloneNotSupportedException { - AbstractMap copy = (AbstractMap) super.clone(); + AbstractMap copy = (AbstractMap) super.clone(); // Clear out the caches; they are stale. copy.keys = null; copy.values = null; @@ -155,10 +192,10 @@ public abstract class AbstractMap implements Map */ public boolean containsKey(Object key) { - Iterator entries = entrySet().iterator(); + Iterator> entries = entrySet().iterator(); int pos = size(); while (--pos >= 0) - if (equals(key, ((Map.Entry) entries.next()).getKey())) + if (equals(key, entries.next().getKey())) return true; return false; } @@ -178,10 +215,10 @@ public abstract class AbstractMap implements Map */ public boolean containsValue(Object value) { - Iterator entries = entrySet().iterator(); + Iterator> entries = entrySet().iterator(); int pos = size(); while (--pos >= 0) - if (equals(value, ((Map.Entry) entries.next()).getValue())) + if (equals(value, entries.next().getValue())) return true; return false; } @@ -198,9 +235,9 @@ public abstract class AbstractMap implements Map */ public boolean equals(Object o) { - return (o == this || - (o instanceof Map && - entrySet().equals(((Map) o).entrySet()))); + return (o == this + || (o instanceof Map + && entrySet().equals(((Map) o).entrySet()))); } /** @@ -215,13 +252,13 @@ public abstract class AbstractMap implements Map * @throws NullPointerException if this map does not accept null keys * @see #containsKey(Object) */ - public Object get(Object key) + public V get(Object key) { - Iterator entries = entrySet().iterator(); + Iterator> entries = entrySet().iterator(); int pos = size(); while (--pos >= 0) { - Map.Entry entry = (Map.Entry) entries.next(); + Map.Entry entry = entries.next(); if (equals(key, entry.getKey())) return entry.getValue(); } @@ -273,10 +310,10 @@ public abstract class AbstractMap implements Map * @see #containsKey(Object) * @see #values() */ - public Set keySet() + public Set keySet() { if (keys == null) - keys = new AbstractSet() + keys = new AbstractSet() { /** * Retrieves the number of keys in the backing map. @@ -294,7 +331,7 @@ public abstract class AbstractMap implements Map * * @param key The key to search for. * @return True if the key was found, false otherwise. - */ + */ public boolean contains(Object key) { return containsKey(key); @@ -307,14 +344,15 @@ public abstract class AbstractMap implements Map * * @return An iterator over the keys. */ - public Iterator iterator() + public Iterator iterator() { - return new Iterator() + return new Iterator() { /** * The iterator returned by entrySet(). */ - private final Iterator map_iterator = entrySet().iterator(); + private final Iterator> map_iterator + = entrySet().iterator(); /** * Returns true if a call to next() will @@ -333,10 +371,10 @@ public abstract class AbstractMap implements Map * by the underlying entrySet() iterator. * * @return The next key. - */ - public Object next() + */ + public K next() { - return ((Map.Entry) map_iterator.next()).getKey(); + return map_iterator.next().getKey(); } /** @@ -374,7 +412,7 @@ public abstract class AbstractMap implements Map * @throws NullPointerException if the map forbids null keys or values * @see #containsKey(Object) */ - public Object put(Object key, Object value) + public V put(K key, V value) { throw new UnsupportedOperationException(); } @@ -396,13 +434,16 @@ public abstract class AbstractMap implements Map * @throws NullPointerException if m is null. * @see #put(Object, Object) */ - public void putAll(Map m) + public void putAll(Map m) { - Iterator entries = m.entrySet().iterator(); + // FIXME: bogus circumlocution. + Iterator entries2 = m.entrySet().iterator(); + Iterator> entries + = (Iterator>) entries2; int pos = m.size(); while (--pos >= 0) { - Map.Entry entry = (Map.Entry) entries.next(); + Map.Entry entry = entries.next(); put(entry.getKey(), entry.getValue()); } } @@ -424,17 +465,17 @@ public abstract class AbstractMap implements Map * @throws UnsupportedOperationException if deletion is unsupported * @see Iterator#remove() */ - public Object remove(Object key) + public V remove(Object key) { - Iterator entries = entrySet().iterator(); + Iterator> entries = entrySet().iterator(); int pos = size(); while (--pos >= 0) { - Map.Entry entry = (Map.Entry) entries.next(); + Map.Entry entry = entries.next(); if (equals(key, entry.getKey())) { // Must get the value before we remove it from iterator. - Object r = entry.getValue(); + V r = entry.getValue(); entries.remove(); return r; } @@ -469,11 +510,11 @@ public abstract class AbstractMap implements Map */ public String toString() { - Iterator entries = entrySet().iterator(); + Iterator> entries = entrySet().iterator(); StringBuffer r = new StringBuffer("{"); for (int pos = size(); pos > 0; pos--) { - Map.Entry entry = (Map.Entry) entries.next(); + Map.Entry entry = entries.next(); r.append(entry.getKey()); r.append('='); r.append(entry.getValue()); @@ -504,18 +545,18 @@ public abstract class AbstractMap implements Map * @see #containsValue(Object) * @see #keySet() */ - public Collection values() + public Collection values() { if (values == null) - values = new AbstractCollection() + values = new AbstractCollection() { - /** + /** * Returns the number of values stored in * the backing map. * * @return The number of values. */ - public int size() + public int size() { return AbstractMap.this.size(); } @@ -539,46 +580,47 @@ public abstract class AbstractMap implements Map * * @return An iterator over the values. */ - public Iterator iterator() + public Iterator iterator() { - return new Iterator() + return new Iterator() { /** * The iterator returned by entrySet(). */ - private final Iterator map_iterator = entrySet().iterator(); - - /** - * Returns true if a call to next() will - * return another value. - * - * @return True if the iterator has not yet reached - * the last value. - */ + private final Iterator> map_iterator + = entrySet().iterator(); + + /** + * Returns true if a call to next() will + * return another value. + * + * @return True if the iterator has not yet reached + * the last value. + */ public boolean hasNext() { return map_iterator.hasNext(); } - /** - * Returns the value from the next entry retrieved - * by the underlying entrySet() iterator. - * - * @return The next value. - */ - public Object next() + /** + * Returns the value from the next entry retrieved + * by the underlying entrySet() iterator. + * + * @return The next value. + */ + public V next() { - return ((Map.Entry) map_iterator.next()).getValue(); + return map_iterator.next().getValue(); } - /** - * Removes the map entry which has a key equal - * to that returned by the last call to - * next(). - * - * @throws UnsupportedOperationException if the - * map doesn't support removal. - */ + /** + * Removes the map entry which has a key equal + * to that returned by the last call to + * next(). + * + * @throws UnsupportedOperationException if the + * map doesn't support removal. + */ public void remove() { map_iterator.remove(); @@ -623,31 +665,36 @@ public abstract class AbstractMap implements Map * * @author Jon Zeppieri * @author Eric Blake (ebb9@email.byu.edu) + * + * @since 1.6 */ - // XXX - FIXME Use fully qualified implements as gcj 3.1 workaround. - // Bug still exists in 3.4.1 - static class BasicMapEntry implements Map.Entry + public static class SimpleEntry implements Entry, Serializable { /** * The key. Package visible for direct manipulation. */ - Object key; + K key; /** * The value. Package visible for direct manipulation. */ - Object value; + V value; /** * Basic constructor initializes the fields. * @param newKey the key * @param newValue the value */ - BasicMapEntry(Object newKey, Object newValue) + public SimpleEntry(K newKey, V newValue) { key = newKey; value = newValue; } + + public SimpleEntry(Entry entry) + { + this(entry.getKey(), entry.getValue()); + } /** * Compares the specified object with this entry. Returns true only if @@ -662,14 +709,14 @@ public abstract class AbstractMap implements Map * @param o the object to compare * @return true if it is equal */ - public final boolean equals(Object o) + public boolean equals(Object o) { if (! (o instanceof Map.Entry)) return false; // Optimize for our own entries. - if (o instanceof BasicMapEntry) + if (o instanceof SimpleEntry) { - BasicMapEntry e = (BasicMapEntry) o; + SimpleEntry e = (SimpleEntry) o; return (AbstractMap.equals(key, e.key) && AbstractMap.equals(value, e.value)); } @@ -683,7 +730,7 @@ public abstract class AbstractMap implements Map * * @return the key */ - public final Object getKey() + public final K getKey() { return key; } @@ -694,7 +741,7 @@ public abstract class AbstractMap implements Map * * @return the value */ - public final Object getValue() + public final V getValue() { return value; } @@ -728,9 +775,9 @@ public abstract class AbstractMap implements Map * @throws IllegalArgumentException if something else about this * value prevents it being stored in the map. */ - public Object setValue(Object newVal) + public V setValue(V newVal) { - Object r = value; + V r = value; value = newVal; return r; } @@ -745,5 +792,7 @@ public abstract class AbstractMap implements Map { return key + "=" + value; } - } // class BasicMapEntry + } // class SimpleEntry + + } diff --git a/libjava/classpath/java/util/AbstractSequentialList.java b/libjava/classpath/java/util/AbstractSequentialList.java index 79583228d96..81b0714e1ba 100644 --- a/libjava/classpath/java/util/AbstractSequentialList.java +++ b/libjava/classpath/java/util/AbstractSequentialList.java @@ -1,5 +1,5 @@ /* AbstractSequentialList.java -- List implementation for sequential access - Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,7 +71,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public abstract class AbstractSequentialList extends AbstractList +public abstract class AbstractSequentialList extends AbstractList { /** * The main constructor, for use by subclasses. @@ -88,7 +88,7 @@ public abstract class AbstractSequentialList extends AbstractList * @return the list iterator * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public abstract ListIterator listIterator(int index); + public abstract ListIterator listIterator(int index); /** * Insert an element into the list at a given position (optional operation). @@ -109,7 +109,7 @@ public abstract class AbstractSequentialList extends AbstractList * @throws NullPointerException if o is null and the list does not permit * the addition of null values. */ - public void add(int index, Object o) + public void add(int index, E o) { listIterator(index).add(o); } @@ -143,11 +143,11 @@ public abstract class AbstractSequentialList extends AbstractList * does not permit the addition of null values. * @see #add(int, Object) */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { - Iterator ci = c.iterator(); + Iterator ci = c.iterator(); int size = c.size(); - ListIterator i = listIterator(index); + ListIterator i = listIterator(index); for (int pos = size; pos > 0; pos--) i.add(ci.next()); return size > 0; @@ -161,7 +161,7 @@ public abstract class AbstractSequentialList extends AbstractList * @return the element at index index in this list * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object get(int index) + public E get(int index) { // This is a legal listIterator position, but an illegal get. if (index == size()) @@ -176,7 +176,7 @@ public abstract class AbstractSequentialList extends AbstractList * * @return an Iterator over the elements of this list, in order */ - public Iterator iterator() + public Iterator iterator() { return listIterator(); } @@ -192,14 +192,14 @@ public abstract class AbstractSequentialList extends AbstractList * remove operation * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object remove(int index) + public E remove(int index) { // This is a legal listIterator position, but an illegal remove. if (index == size()) throw new IndexOutOfBoundsException("Index: " + index + ", Size:" + size()); - ListIterator i = listIterator(index); - Object removed = i.next(); + ListIterator i = listIterator(index); + E removed = i.next(); i.remove(); return removed; } @@ -221,14 +221,14 @@ public abstract class AbstractSequentialList extends AbstractList * @throws NullPointerException if o is null and the list does not allow * a value to be set to null. */ - public Object set(int index, Object o) + public E set(int index, E o) { // This is a legal listIterator position, but an illegal set. if (index == size()) throw new IndexOutOfBoundsException("Index: " + index + ", Size:" + size()); - ListIterator i = listIterator(index); - Object old = i.next(); + ListIterator i = listIterator(index); + E old = i.next(); i.set(o); return old; } diff --git a/libjava/classpath/java/util/AbstractSet.java b/libjava/classpath/java/util/AbstractSet.java index f0d7cb19908..423ac8083a6 100644 --- a/libjava/classpath/java/util/AbstractSet.java +++ b/libjava/classpath/java/util/AbstractSet.java @@ -1,5 +1,6 @@ /* AbstractSet.java -- Abstract implementation of most of Set - Copyright (C) 1998, 2000, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2001, 2004, 2005 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -58,7 +59,9 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public abstract class AbstractSet extends AbstractCollection implements Set +public abstract class AbstractSet + extends AbstractCollection + implements Set { /** * The main constructor, for use by subclasses. @@ -79,9 +82,9 @@ public abstract class AbstractSet extends AbstractCollection implements Set */ public boolean equals(Object o) { - return (o == this || - (o instanceof Set && ((Set) o).size() == size() - && containsAll((Collection) o))); + return (o == this + || (o instanceof Set && ((Set) o).size() == size() + && containsAll((Collection) o))); } /** @@ -94,7 +97,7 @@ public abstract class AbstractSet extends AbstractCollection implements Set */ public int hashCode() { - Iterator itr = iterator(); + Iterator itr = iterator(); int hash = 0; int pos = size(); while (--pos >= 0) @@ -119,21 +122,25 @@ public abstract class AbstractSet extends AbstractCollection implements Set * @see Collection#contains(Object) * @see Iterator#remove() */ - public boolean removeAll(Collection c) + public boolean removeAll(Collection c) { int oldsize = size(); int count = c.size(); - Iterator i; if (oldsize < count) { + Iterator i; for (i = iterator(), count = oldsize; count > 0; count--) - if (c.contains(i.next())) - i.remove(); + { + if (c.contains(i.next())) + i.remove(); + } } else - for (i = c.iterator(); count > 0; count--) - remove(i.next()); + { + Iterator i; + for (i = c.iterator(); count > 0; count--) + remove(i.next()); + } return oldsize != size(); } - } diff --git a/libjava/classpath/java/util/ArrayList.java b/libjava/classpath/java/util/ArrayList.java index 50b5638ede0..0693049b53a 100644 --- a/libjava/classpath/java/util/ArrayList.java +++ b/libjava/classpath/java/util/ArrayList.java @@ -81,8 +81,8 @@ import java.lang.reflect.Array; * @see AbstractList * @status updated to 1.4 */ -public class ArrayList extends AbstractList - implements List, RandomAccess, Cloneable, Serializable +public class ArrayList extends AbstractList + implements List, RandomAccess, Cloneable, Serializable { /** * Compatible with JDK 1.2 @@ -103,7 +103,7 @@ public class ArrayList extends AbstractList /** * Where the data is stored. */ - private transient Object[] data; + private transient E[] data; /** * Construct a new ArrayList with the supplied initial capacity. @@ -116,7 +116,7 @@ public class ArrayList extends AbstractList // Must explicitly check, to get correct exception. if (capacity < 0) throw new IllegalArgumentException(); - data = new Object[capacity]; + data = (E[]) new Object[capacity]; } /** @@ -135,7 +135,7 @@ public class ArrayList extends AbstractList * @param c the collection whose elements will initialize this list * @throws NullPointerException if c is null */ - public ArrayList(Collection c) + public ArrayList(Collection c) { this((int) (c.size() * 1.1f)); addAll(c); @@ -151,7 +151,7 @@ public class ArrayList extends AbstractList // so don't update modCount. if (size != data.length) { - Object[] newData = new Object[size]; + E[] newData = (E[]) new Object[size]; System.arraycopy(data, 0, newData, 0, size); data = newData; } @@ -173,7 +173,7 @@ public class ArrayList extends AbstractList if (minCapacity > current) { - Object[] newData = new Object[Math.max(current * 2, minCapacity)]; + E[] newData = (E[]) new Object[Math.max(current * 2, minCapacity)]; System.arraycopy(data, 0, newData, 0, size); data = newData; } @@ -247,11 +247,11 @@ public class ArrayList extends AbstractList */ public Object clone() { - ArrayList clone = null; + ArrayList clone = null; try { - clone = (ArrayList) super.clone(); - clone.data = (Object[]) data.clone(); + clone = (ArrayList) super.clone(); + clone.data = (E[]) data.clone(); } catch (CloneNotSupportedException e) { @@ -268,7 +268,7 @@ public class ArrayList extends AbstractList */ public Object[] toArray() { - Object[] array = new Object[size]; + E[] array = (E[]) new Object[size]; System.arraycopy(data, 0, array, 0, size); return array; } @@ -287,11 +287,10 @@ public class ArrayList extends AbstractList * an element in this list * @throws NullPointerException if a is null */ - public Object[] toArray(Object[] a) + public T[] toArray(T[] a) { if (a.length < size) - a = (Object[]) Array.newInstance(a.getClass().getComponentType(), - size); + a = (T[]) Array.newInstance(a.getClass().getComponentType(), size); else if (a.length > size) a[size] = null; System.arraycopy(data, 0, a, 0, size); @@ -304,7 +303,7 @@ public class ArrayList extends AbstractList * @param index the index of the element we are fetching * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object get(int index) + public E get(int index) { checkBoundExclusive(index); return data[index]; @@ -319,10 +318,10 @@ public class ArrayList extends AbstractList * @return the element previously at the specified index * @throws IndexOutOfBoundsException if index < 0 || index >= 0 */ - public Object set(int index, Object e) + public E set(int index, E e) { checkBoundExclusive(index); - Object result = data[index]; + E result = data[index]; data[index] = e; return result; } @@ -334,7 +333,7 @@ public class ArrayList extends AbstractList * @param e the element to be appended to this list * @return true, the add will always succeed */ - public boolean add(Object e) + public boolean add(E e) { modCount++; if (size == data.length) @@ -352,7 +351,7 @@ public class ArrayList extends AbstractList * @param e the item being added * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public void add(int index, Object e) + public void add(int index, E e) { checkBoundInclusive(index); modCount++; @@ -371,10 +370,10 @@ public class ArrayList extends AbstractList * @return the removed Object * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object remove(int index) + public E remove(int index) { checkBoundExclusive(index); - Object r = data[index]; + E r = data[index]; modCount++; if (index != --size) System.arraycopy(data, index + 1, data, index, size - index); @@ -407,7 +406,7 @@ public class ArrayList extends AbstractList * @return true if the list was modified, in other words c is not empty * @throws NullPointerException if c is null */ - public boolean addAll(Collection c) + public boolean addAll(Collection c) { return addAll(size, c); } @@ -422,10 +421,10 @@ public class ArrayList extends AbstractList * @throws IndexOutOfBoundsException if index < 0 || index > 0 * @throws NullPointerException if c is null */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { checkBoundInclusive(index); - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); int csize = c.size(); modCount++; @@ -502,7 +501,7 @@ public class ArrayList extends AbstractList * @return true if this list changed * @throws NullPointerException if c is null */ - boolean removeAllInternal(Collection c) + boolean removeAllInternal(Collection c) { int i; int j; @@ -530,7 +529,7 @@ public class ArrayList extends AbstractList * @throws NullPointerException if c is null * @since 1.2 */ - boolean retainAllInternal(Collection c) + boolean retainAllInternal(Collection c) { int i; int j; @@ -584,8 +583,8 @@ public class ArrayList extends AbstractList // the `size' field. s.defaultReadObject(); int capacity = s.readInt(); - data = new Object[capacity]; + data = (E[]) new Object[capacity]; for (int i = 0; i < size; i++) - data[i] = s.readObject(); + data[i] = (E) s.readObject(); } } diff --git a/libjava/classpath/java/util/Arrays.java b/libjava/classpath/java/util/Arrays.java index 1fa59594193..fbbf43f209b 100644 --- a/libjava/classpath/java/util/Arrays.java +++ b/libjava/classpath/java/util/Arrays.java @@ -362,7 +362,7 @@ public class Arrays * @throws NullPointerException if a null element is compared with natural * ordering (only possible when c is null) */ - public static int binarySearch(Object[] a, Object key, Comparator c) + public static int binarySearch(T[] a, T key, Comparator c) { int low = 0; int hi = a.length - 1; @@ -2163,7 +2163,7 @@ public class Arrays * @throws NullPointerException if a null element is compared with natural * ordering (only possible when c is null) */ - public static void sort(Object[] a, Comparator c) + public static void sort(T[] a, Comparator c) { sort(a, 0, a.length, c); } @@ -2213,7 +2213,8 @@ public class Arrays * @throws NullPointerException if a null element is compared with natural * ordering (only possible when c is null) */ - public static void sort(Object[] a, int fromIndex, int toIndex, Comparator c) + public static void sort(T[] a, int fromIndex, int toIndex, + Comparator c) { if (fromIndex > toIndex) throw new IllegalArgumentException("fromIndex " + fromIndex @@ -2235,7 +2236,7 @@ public class Arrays { // not already sorted int j = i; - Object elem = a[j]; + T elem = a[j]; do { a[j] = a[j - 1]; @@ -2253,9 +2254,9 @@ public class Arrays if (len <= 6) return; - Object[] src = a; - Object[] dest = new Object[len]; - Object[] t = null; // t is used for swapping src and dest + T[] src = a; + T[] dest = (T[]) new Object[len]; + T[] t = null; // t is used for swapping src and dest // The difference of the fromIndex of the src and dest array. int srcDestDiff = -fromIndex; @@ -2349,7 +2350,7 @@ public class Arrays * @see RandomAccess * @see Arrays.ArrayList */ - public static List asList(final Object[] a) + public static List asList(final T... a) { return new Arrays.ArrayList(a); } @@ -2546,11 +2547,10 @@ public class Arrays } /** - * Returns the hashcode of an array of integer numbers. If two arrays + * Returns the hashcode of an array of objects. If two arrays * are equal, according to equals(), they should have the * same hashcode. The hashcode returned by the method is equal to that - * obtained by the corresponding List object. This has the same - * data, but represents ints in their wrapper class, Integer. + * obtained by the corresponding List object. * For null, 0 is returned. * * @param v an array of integer numbers for which the hash code should be @@ -2571,7 +2571,6 @@ public class Arrays return result; } - /** @since 1.5 */ public static int deepHashCode(Object[] v) { if (v == null) @@ -2914,7 +2913,7 @@ public class Arrays * @author Eric Blake (ebb9@email.byu.edu) * @status updated to 1.4 */ - private static final class ArrayList extends AbstractList + private static final class ArrayList extends AbstractList implements Serializable, RandomAccess { // We override the necessary methods, plus others which will be much @@ -2929,14 +2928,14 @@ public class Arrays * The array we are viewing. * @serial the array */ - private final Object[] a; + private final E[] a; /** * Construct a list view of the array. * @param a the array to view * @throws NullPointerException if a is null */ - ArrayList(Object[] a) + ArrayList(E[] a) { // We have to explicitly check. if (a == null) @@ -2951,7 +2950,7 @@ public class Arrays * @param index The index to retrieve an object from. * @return The object at the array index specified. */ - public Object get(int index) + public E get(int index) { return a[index]; } @@ -2974,9 +2973,9 @@ public class Arrays * @param element The new object. * @return The object replaced by this operation. */ - public Object set(int index, Object element) + public E set(int index, E element) { - Object old = a[index]; + E old = a[index]; a[index] = element; return old; } @@ -3047,12 +3046,12 @@ public class Arrays * @return The array containing the objects in this list, * which may or may not be == to array. */ - public Object[] toArray(Object[] array) + public T[] toArray(T[] array) { int size = a.length; if (array.length < size) - array = (Object[]) - Array.newInstance(array.getClass().getComponentType(), size); + array = (T[]) Array.newInstance(array.getClass().getComponentType(), + size); else if (array.length > size) array[size] = null; diff --git a/libjava/classpath/java/util/BitSet.java b/libjava/classpath/java/util/BitSet.java index f1b5aaa06ee..e4f923b7f22 100644 --- a/libjava/classpath/java/util/BitSet.java +++ b/libjava/classpath/java/util/BitSet.java @@ -741,4 +741,15 @@ public class BitSet implements Cloneable, Serializable bits = nd; } } + + // This is used by EnumSet for efficiency. + final boolean containsAll(BitSet other) + { + for (int i = other.bits.length - 1; i >= 0; i--) + { + if ((bits[i] & other.bits[i]) != other.bits[i]) + return false; + } + return true; + } } diff --git a/libjava/classpath/java/util/Calendar.java b/libjava/classpath/java/util/Calendar.java index d4bbcd08e76..8c46c01936c 100644 --- a/libjava/classpath/java/util/Calendar.java +++ b/libjava/classpath/java/util/Calendar.java @@ -1,5 +1,6 @@ /* Calendar.java -- - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -103,7 +104,8 @@ day_of_week + week_of_year * @see TimeZone * @see java.text.DateFormat */ -public abstract class Calendar implements Serializable, Cloneable +public abstract class Calendar + implements Serializable, Cloneable, Comparable { /** * Constant representing the era time field. @@ -483,6 +485,8 @@ public abstract class Calendar implements Serializable, Cloneable /** * Creates a calendar representing the actual time, using the default * time zone and locale. + * + * @return The new calendar. */ public static synchronized Calendar getInstance() { @@ -492,7 +496,12 @@ public abstract class Calendar implements Serializable, Cloneable /** * Creates a calendar representing the actual time, using the given * time zone and the default locale. - * @param zone a time zone. + * + * @param zone a time zone (null not permitted). + * + * @return The new calendar. + * + * @throws NullPointerException if zone is null. */ public static synchronized Calendar getInstance(TimeZone zone) { @@ -502,7 +511,12 @@ public abstract class Calendar implements Serializable, Cloneable /** * Creates a calendar representing the actual time, using the default * time zone and the given locale. - * @param locale a locale. + * + * @param locale a locale (null not permitted). + * + * @return The new calendar. + * + * @throws NullPointerException if locale is null. */ public static synchronized Calendar getInstance(Locale locale) { @@ -524,8 +538,14 @@ public abstract class Calendar implements Serializable, Cloneable /** * Creates a calendar representing the actual time, using the given * time zone and locale. - * @param zone a time zone. - * @param locale a locale. + * + * @param zone a time zone (null not permitted). + * @param locale a locale (null not permitted). + * + * @return The new calendar. + * + * @throws NullPointerException if zone or locale + * is null. */ public static synchronized Calendar getInstance(TimeZone zone, Locale locale) { @@ -617,6 +637,10 @@ public abstract class Calendar implements Serializable, Cloneable /** * Sets this Calendar's time to the given Date. All time fields * are invalidated by this method. + * + * @param date the date (null not permitted). + * + * @throws NullPointerException if date is null. */ public final void setTime(Date date) { @@ -1195,6 +1219,31 @@ public abstract class Calendar implements Serializable, Cloneable return max; } + /** + * Compares the time of two calendar instances. + * @param calendar the calendar to which the time should be compared. + * @return 0 if the two calendars are set to the same time, + * less than 0 if the time of this calendar is before that of + * cal, or more than 0 if the time of this calendar is after + * that of cal. + * + * @param cal the calendar to compare this instance with. + * @throws NullPointerException if cal is null. + * @throws IllegalArgumentException if either calendar has fields set to + * invalid values. + * @since 1.5 + */ + public int compareTo(Calendar cal) + { + long t1 = getTimeInMillis(); + long t2 = cal.getTimeInMillis(); + if(t1 == t2) + return 0; + if(t1 > t2) + return 1; + return -1; + } + /** * Return a clone of this object. */ diff --git a/libjava/classpath/java/util/Collection.java b/libjava/classpath/java/util/Collection.java index f7db708c16d..b57566f7032 100644 --- a/libjava/classpath/java/util/Collection.java +++ b/libjava/classpath/java/util/Collection.java @@ -1,5 +1,5 @@ /* Collection.java -- Interface that represents a collection of objects - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -67,6 +67,8 @@ package java.util; * * @author Original author unknown * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see List * @see Set * @see Map @@ -81,9 +83,9 @@ package java.util; * @see Arrays * @see AbstractCollection * @since 1.2 - * @status updated to 1.5 (minus generics) + * @status updated to 1.4 */ -public interface Collection extends Iterable +public interface Collection extends Iterable { /** * Add an element to this collection. @@ -99,7 +101,7 @@ public interface Collection extends Iterable * @throws IllegalArgumentException if o cannot be added to this * collection for some other reason. */ - boolean add(Object o); + boolean add(E o); /** * Add the contents of a given collection to this collection. @@ -116,7 +118,7 @@ public interface Collection extends Iterable * @throws IllegalArgumentException if some element of c cannot be added * to this collection for some other reason. */ - boolean addAll(Collection c); + boolean addAll(Collection c); /** * Clear the collection, such that a subsequent call to isEmpty() would @@ -152,7 +154,7 @@ public interface Collection extends Iterable * collection does not support null values. * @throws NullPointerException if c itself is null. */ - boolean containsAll(Collection c); + boolean containsAll(Collection c); /** * Test whether this collection is equal to some object. The Collection @@ -200,7 +202,7 @@ public interface Collection extends Iterable * * @return an Iterator over the elements of this collection, in any order. */ - Iterator iterator(); + Iterator iterator(); /** * Remove a single occurrence of an object from this collection. That is, @@ -233,7 +235,7 @@ public interface Collection extends Iterable * collection does not support removing null values. * @throws NullPointerException if c itself is null. */ - boolean removeAll(Collection c); + boolean removeAll(Collection c); /** * Remove all elements of this collection that are not contained in a given @@ -249,7 +251,7 @@ public interface Collection extends Iterable * collection does not support retaining null values. * @throws NullPointerException if c itself is null. */ - boolean retainAll(Collection c); + boolean retainAll(Collection c); /** * Get the number of elements in this collection. @@ -284,5 +286,5 @@ public interface Collection extends Iterable * @throws ArrayStoreException if the type of any element of the * collection is not a subtype of the element type of a. */ - Object[] toArray(Object[] a); + T[] toArray(T[] a); } diff --git a/libjava/classpath/java/util/Collections.java b/libjava/classpath/java/util/Collections.java index a2538cf1db8..c15fa092bb2 100644 --- a/libjava/classpath/java/util/Collections.java +++ b/libjava/classpath/java/util/Collections.java @@ -62,13 +62,15 @@ import java.io.Serializable; * * @author Original author unknown * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Collection * @see Set * @see List * @see Map * @see Arrays * @since 1.2 - * @status updated to 1.4 + * @status updated to 1.5 */ public class Collections { @@ -90,7 +92,7 @@ public class Collections * @param l the list to check * @return true if it should be treated as sequential-access */ - private static boolean isSequential(List l) + private static boolean isSequential(List l) { return ! (l instanceof RandomAccess) && l.size() > LARGE_LIST_SIZE; } @@ -108,13 +110,27 @@ public class Collections */ public static final Set EMPTY_SET = new EmptySet(); + /** + * Returns an immutable, serializable parameterized empty set. + * Unlike the constant EMPTY_SET, the set returned by + * this method is type-safe. + * + * @return an empty parameterized set. + * @since 1.5 + */ + public static final Set emptySet() + { + /* FIXME: Could this be optimized? */ + return new EmptySet(); + } + /** * The implementation of {@link #EMPTY_SET}. This class name is required * for compatibility with Sun's JDK serializability. * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class EmptySet extends AbstractSet + private static final class EmptySet extends AbstractSet implements Serializable { /** @@ -143,9 +159,9 @@ public class Collections * @return A non-iterating iterator. */ // This is really cheating! I think it's perfectly valid, though. - public Iterator iterator() + public Iterator iterator() { - return EMPTY_LIST.iterator(); + return (Iterator) EMPTY_LIST.iterator(); } // The remaining methods are optional, but provide a performance @@ -166,7 +182,7 @@ public class Collections * against the members of this set. * @return true if c is empty. */ - public boolean containsAll(Collection c) + public boolean containsAll(Collection c) { return c.isEmpty(); } @@ -206,7 +222,7 @@ public class Collections * all be removed from this set. * @return false. */ - public boolean removeAll(Collection c) + public boolean removeAll(Collection c) { return false; } @@ -217,7 +233,7 @@ public class Collections * all be retained within this set. * @return false. */ - public boolean retainAll(Collection c) + public boolean retainAll(Collection c) { return false; } @@ -237,7 +253,7 @@ public class Collections * @return The original array with any existing * initial element set to null. */ - public Object[] toArray(Object[] a) + public E[] toArray(E[] a) { if (a.length > 0) a[0] = null; @@ -262,13 +278,27 @@ public class Collections */ public static final List EMPTY_LIST = new EmptyList(); + /** + * Returns an immutable, serializable parameterized empty list. + * Unlike the constant EMPTY_LIST, the list returned by + * this method is type-safe. + * + * @return an empty parameterized list. + * @since 1.5 + */ + public static final List emptyList() + { + /* FIXME: Could this be optimized? */ + return new EmptyList(); + } + /** * The implementation of {@link #EMPTY_LIST}. This class name is required * for compatibility with Sun's JDK serializability. * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class EmptyList extends AbstractList + private static final class EmptyList extends AbstractList implements Serializable, RandomAccess { /** @@ -301,7 +331,7 @@ public class Collections * @throws IndexOutOfBoundsException as any given index * is outside the bounds of an empty array. */ - public Object get(int index) + public T get(int index) { throw new IndexOutOfBoundsException(); } @@ -324,7 +354,7 @@ public class Collections * against the members of this list. * @return true if c is also empty. */ - public boolean containsAll(Collection c) + public boolean containsAll(Collection c) { return c.isEmpty(); } @@ -385,7 +415,7 @@ public class Collections * all be removed from this list. * @return false. */ - public boolean removeAll(Collection c) + public boolean removeAll(Collection c) { return false; } @@ -396,7 +426,7 @@ public class Collections * all be retained within this list. * @return false. */ - public boolean retainAll(Collection c) + public boolean retainAll(Collection c) { return false; } @@ -416,7 +446,7 @@ public class Collections * @return The original array with any existing * initial element set to null. */ - public Object[] toArray(Object[] a) + public E[] toArray(E[] a) { if (a.length > 0) a[0] = null; @@ -440,13 +470,27 @@ public class Collections */ public static final Map EMPTY_MAP = new EmptyMap(); + /** + * Returns an immutable, serializable parameterized empty map. + * Unlike the constant EMPTY_MAP, the map returned by + * this method is type-safe. + * + * @return an empty parameterized map. + * @since 1.5 + */ + public static final Map emptyMap() + { + /* FIXME: Could this be optimized? */ + return new EmptyMap(); + } + /** * The implementation of {@link #EMPTY_MAP}. This class name is required * for compatibility with Sun's JDK serializability. * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class EmptyMap extends AbstractMap + private static final class EmptyMap extends AbstractMap implements Serializable { /** @@ -465,7 +509,7 @@ public class Collections * There are no entries. * @return The empty set. */ - public Set entrySet() + public Set> entrySet() { return EMPTY_SET; } @@ -508,7 +552,7 @@ public class Collections * @param o The key of the object to retrieve. * @return null. */ - public Object get(Object o) + public V get(Object o) { return null; } @@ -526,7 +570,7 @@ public class Collections * No entries. * @return The empty set. */ - public Set keySet() + public Set keySet() { return EMPTY_SET; } @@ -536,7 +580,7 @@ public class Collections * @param o The key of the mapping to remove. * @return null, as there is never a mapping for o. */ - public Object remove(Object o) + public V remove(Object o) { return null; } @@ -555,7 +599,7 @@ public class Collections * Collection, will work. Besides, that's what the JDK uses! * @return The empty set. */ - public Collection values() + public Collection values() { return EMPTY_SET; } @@ -578,7 +622,7 @@ public class Collections * clever, but worth it for removing a duplicate of the search code. * Note: This code is also used in Arrays (for sort as well as search). */ - static final int compare(Object o1, Object o2, Comparator c) + static final int compare(T o1, T o2, Comparator c) { return c == null ? ((Comparable) o1).compareTo(o2) : c.compare(o1, o2); } @@ -607,7 +651,8 @@ public class Collections * @throws NullPointerException if a null element has compareTo called * @see #sort(List) */ - public static int binarySearch(List l, Object key) + public static int binarySearch(List> l, + T key) { return binarySearch(l, key, null); } @@ -639,7 +684,8 @@ public class Collections * ordering (only possible when c is null) * @see #sort(List, Comparator) */ - public static int binarySearch(List l, Object key, Comparator c) + public static int binarySearch(List l, T key, + Comparator c) { int pos = 0; int low = 0; @@ -649,9 +695,9 @@ public class Collections // if the list is sequential-access. if (isSequential(l)) { - ListIterator itr = l.listIterator(); + ListIterator itr = ((List) l).listIterator(); int i = 0; - Object o = itr.next(); // Assumes list is not empty (see isSequential) + T o = itr.next(); // Assumes list is not empty (see isSequential) boolean forward = true; while (low <= hi) { @@ -685,7 +731,7 @@ public class Collections while (low <= hi) { pos = (low + hi) >>> 1; - final int d = compare(l.get(pos), key, c); + final int d = compare(((List) l).get(pos), key, c); if (d == 0) return pos; else if (d > 0) @@ -712,14 +758,14 @@ public class Collections * @throws UnsupportedOperationException if dest.listIterator() does not * support the set operation */ - public static void copy(List dest, List source) + public static void copy(List dest, List source) { int pos = source.size(); if (dest.size() < pos) throw new IndexOutOfBoundsException("Source does not fit in dest"); - Iterator i1 = source.iterator(); - ListIterator i2 = dest.listIterator(); + Iterator i1 = source.iterator(); + ListIterator i2 = dest.listIterator(); while (--pos >= 0) { @@ -735,10 +781,10 @@ public class Collections * @param c the Collection to iterate over * @return an Enumeration backed by an Iterator over c */ - public static Enumeration enumeration(Collection c) + public static Enumeration enumeration(Collection c) { - final Iterator i = c.iterator(); - return new Enumeration() + final Iterator i = c.iterator(); + return new Enumeration() { /** * Returns true if there are more elements to @@ -758,7 +804,7 @@ public class Collections * @return The result of next() * called on the underlying iterator. */ - public final Object nextElement() + public final T nextElement() { return i.next(); } @@ -774,9 +820,9 @@ public class Collections * @throws UnsupportedOperationException if l.listIterator() does not * support the set operation. */ - public static void fill(List l, Object val) + public static void fill(List l, T val) { - ListIterator itr = l.listIterator(); + ListIterator itr = l.listIterator(); for (int i = l.size() - 1; i >= 0; --i) { itr.next(); @@ -797,7 +843,7 @@ public class Collections * @return the index where found, or -1 * @since 1.4 */ - public static int indexOfSubList(List source, List target) + public static int indexOfSubList(List source, List target) { int ssize = source.size(); for (int i = 0, j = target.size(); j <= ssize; i++, j++) @@ -819,7 +865,7 @@ public class Collections * @return the index where found, or -1 * @since 1.4 */ - public static int lastIndexOfSubList(List source, List target) + public static int lastIndexOfSubList(List source, List target) { int ssize = source.size(); for (int i = ssize - target.size(), j = ssize; i >= 0; i--, j--) @@ -838,9 +884,9 @@ public class Collections * @see ArrayList * @since 1.4 */ - public static ArrayList list(Enumeration e) + public static ArrayList list(Enumeration e) { - ArrayList l = new ArrayList(); + ArrayList l = new ArrayList(); while (e.hasMoreElements()) l.add(e.nextElement()); return l; @@ -857,7 +903,8 @@ public class Collections * @exception ClassCastException if elements in c are not mutually comparable * @exception NullPointerException if null.compareTo is called */ - public static Object max(Collection c) + public static > + T max(Collection c) { return max(c, null); } @@ -876,14 +923,15 @@ public class Collections * @throws NullPointerException if null is compared by natural ordering * (only possible when order is null) */ - public static Object max(Collection c, Comparator order) + public static T max(Collection c, + Comparator order) { - Iterator itr = c.iterator(); - Object max = itr.next(); // throws NoSuchElementException + Iterator itr = c.iterator(); + T max = itr.next(); // throws NoSuchElementException int csize = c.size(); for (int i = 1; i < csize; i++) { - Object o = itr.next(); + T o = itr.next(); if (compare(max, o, order) < 0) max = o; } @@ -901,7 +949,8 @@ public class Collections * @throws ClassCastException if elements in c are not mutually comparable * @throws NullPointerException if null.compareTo is called */ - public static Object min(Collection c) + public static > + T min(Collection c) { return min(c, null); } @@ -920,14 +969,15 @@ public class Collections * @throws NullPointerException if null is compared by natural ordering * (only possible when order is null) */ - public static Object min(Collection c, Comparator order) + public static T min(Collection c, + Comparator order) { - Iterator itr = c.iterator(); - Object min = itr.next(); // throws NoSuchElementExcception + Iterator itr = c.iterator(); + T min = itr.next(); // throws NoSuchElementExcception int csize = c.size(); for (int i = 1; i < csize; i++) { - Object o = itr.next(); + T o = itr.next(); if (compare(min, o, order) > 0) min = o; } @@ -949,9 +999,9 @@ public class Collections * @see Serializable * @see RandomAccess */ - public static List nCopies(final int n, final Object o) + public static List nCopies(final int n, final T o) { - return new CopiesList(n, o); + return new CopiesList(n, o); } /** @@ -960,7 +1010,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class CopiesList extends AbstractList + private static final class CopiesList extends AbstractList implements Serializable, RandomAccess { /** @@ -978,7 +1028,7 @@ public class Collections * The repeated list element. * @serial the list contents */ - private final Object element; + private final T element; /** * Constructs the list. @@ -987,7 +1037,7 @@ public class Collections * @param o the object * @throws IllegalArgumentException if n < 0 */ - CopiesList(int n, Object o) + CopiesList(int n, T o) { if (n < 0) throw new IllegalArgumentException(); @@ -1010,7 +1060,7 @@ public class Collections * as the list contains only copies of element). * @return The element used by this list. */ - public Object get(int index) + public T get(int index) { if (index < 0 || index >= n) throw new IndexOutOfBoundsException(); @@ -1058,11 +1108,11 @@ public class Collections * elements, all of which are equal to the element * used by this list. */ - public List subList(int from, int to) + public List subList(int from, int to) { if (from < 0 || to > n) throw new IndexOutOfBoundsException(); - return new CopiesList(to - from, element); + return new CopiesList(to - from, element); } /** @@ -1108,9 +1158,9 @@ public class Collections * it being added to the list * @since 1.4 */ - public static boolean replaceAll(List list, Object oldval, Object newval) + public static boolean replaceAll(List list, T oldval, T newval) { - ListIterator itr = list.listIterator(); + ListIterator itr = list.listIterator(); boolean replace_occured = false; for (int i = list.size(); --i >= 0; ) if (AbstractCollection.equals(oldval, itr.next())) @@ -1128,7 +1178,7 @@ public class Collections * @throws UnsupportedOperationException if l.listIterator() does not * support the set operation */ - public static void reverse(List l) + public static void reverse(List l) { ListIterator i1 = l.listIterator(); int pos1 = 1; @@ -1136,14 +1186,42 @@ public class Collections ListIterator i2 = l.listIterator(pos2); while (pos1 < pos2) { - Object o = i1.next(); - i1.set(i2.previous()); - i2.set(o); + Object o1 = i1.next(); + Object o2 = i2.previous(); + i1.set(o2); + i2.set(o1); ++pos1; --pos2; } } + /** + * Get a comparator that implements the reverse of the ordering + * specified by the given Comparator. If the Comparator is null, + * this is equivalent to {@link #reverseOrder()}. The return value + * of this method is Serializable, if the specified Comparator is + * either Serializable or null. + * + * @param c the comparator to invert + * @return a comparator that imposes reverse ordering + * @see Comparable + * @see Serializable + * + * @since 1.5 + */ + public static Comparator reverseOrder(final Comparator c) + { + if (c == null) + return (Comparator) rcInstance; + return new ReverseComparator () + { + public int compare(T a, T b) + { + return - c.compare(a, b); + } + }; + } + /** * Get a comparator that implements the reverse of natural ordering. In * other words, this sorts Comparable objects opposite of how their @@ -1155,9 +1233,9 @@ public class Collections * @see Comparable * @see Serializable */ - public static Comparator reverseOrder() + public static Comparator reverseOrder() { - return rcInstance; + return (Comparator) rcInstance; } /** @@ -1171,8 +1249,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class ReverseComparator - implements Comparator, Serializable + private static class ReverseComparator + implements Comparator, Serializable { /** * Compatible with JDK 1.4. @@ -1193,7 +1271,7 @@ public class Collections * @param b the second object * @return <, ==, or > 0 according to b.compareTo(a) */ - public int compare(Object a, Object b) + public int compare(T a, T b) { return ((Comparable) b).compareTo(a); } @@ -1229,7 +1307,7 @@ public class Collections * @throws UnsupportedOperationException if the list does not support set * @since 1.4 */ - public static void rotate(List list, int distance) + public static void rotate(List list, int distance) { int size = list.size(); if (size == 0) @@ -1262,12 +1340,13 @@ public class Collections // Now, make the swaps. We must take the remainder every time through // the inner loop so that we don't overflow i to negative values. + List objList = (List) list; while (--lcm >= 0) { - Object o = list.get(lcm); + Object o = objList.get(lcm); for (int i = lcm + distance; i != lcm; i = (i + distance) % size) - o = list.set(i, o); - list.set(lcm, o); + o = objList.set(i, o); + objList.set(lcm, o); } } } @@ -1293,15 +1372,15 @@ public class Collections * @throws UnsupportedOperationException if l.listIterator() does not * support the set operation */ - public static void shuffle(List l) + public static void shuffle(List l) { if (defaultRandom == null) { synchronized (Collections.class) - { - if (defaultRandom == null) - defaultRandom = new Random(); - } + { + if (defaultRandom == null) + defaultRandom = new Random(); + } } shuffle(l, defaultRandom); } @@ -1336,15 +1415,16 @@ public class Collections * @throws UnsupportedOperationException if l.listIterator() does not * support the set operation */ - public static void shuffle(List l, Random r) + public static void shuffle(List l, Random r) { int lsize = l.size(); - ListIterator i = l.listIterator(lsize); + List list = (List) l; + ListIterator i = list.listIterator(lsize); boolean sequential = isSequential(l); Object[] a = null; // stores a copy of the list for the sequential case if (sequential) - a = l.toArray(); + a = list.toArray(); for (int pos = lsize - 1; pos > 0; --pos) { @@ -1360,12 +1440,94 @@ public class Collections a[swap] = i.previous(); } else - o = l.set(swap, i.previous()); + o = list.set(swap, i.previous()); i.set(o); } } + /** + * Returns the frequency of the specified object within the supplied + * collection. The frequency represents the number of occurrences of + * elements within the collection which return true when + * compared with the object using the equals method. + * + * @param c the collection to scan for occurrences of the object. + * @param o the object to locate occurrances of within the collection. + * @throws NullPointerException if the collection is null. + * @since 1.5 + */ + public static int frequency (Collection c, Object o) + { + int result = 0; + for (Object v : c) + { + if (AbstractCollection.equals(o, v)) + ++result; + } + return result; + } + + /** + * Adds all the specified elements to the given collection, in a similar + * way to the addAll method of the Collection. + * However, this is a variable argument method which allows the new elements + * to be specified individually or in array form, as opposed to the list + * required by the collection's addAll method. This has + * benefits in both simplicity (multiple elements can be added without + * having to be wrapped inside a grouping structure) and efficiency + * (as a redundant list doesn't have to be created to add an individual + * set of elements or an array). + * + * @param c the collection to which the elements should be added. + * @param a the elements to be added to the collection. + * @return true if the collection changed its contents as a result. + * @throws UnsupportedOperationException if the collection does not support + * addition. + * @throws NullPointerException if one or more elements in a are null, + * and the collection does not allow null + * elements. This exception is also thrown + * if either c or a + * are null. + * @throws IllegalArgumentException if the collection won't allow an element + * to be added for some other reason. + * @since 1.5 + */ + public static boolean addAll(Collection c, T... a) + { + boolean overall = false; + + for (T element : a) + { + boolean result = c.add(element); + if (result) + overall = true; + } + return overall; + } + + /** + * Returns true if the two specified collections have no elements in + * common. This method may give unusual results if one or both collections + * use a non-standard equality test. In the trivial case of comparing + * a collection with itself, this method returns true if, and only if, + * the collection is empty. + * + * @param c1 the first collection to compare. + * @param c2 the second collection to compare. + * @return true if the collections are disjoint. + * @throws NullPointerException if either collection is null. + * @since 1.5 + */ + public static boolean disjoint(Collection c1, Collection c2) + { + Collection oc1 = (Collection) c1; + for (Object o : oc1) + if (c2.contains(o)) + return false; + return true; + } + /** * Obtain an immutable Set consisting of a single element. The return value @@ -1375,9 +1537,9 @@ public class Collections * @return an immutable Set containing only o * @see Serializable */ - public static Set singleton(Object o) + public static Set singleton(T o) { - return new SingletonSet(o); + return new SingletonSet(o); } /** @@ -1386,7 +1548,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SingletonSet extends AbstractSet + private static final class SingletonSet extends AbstractSet implements Serializable { /** @@ -1399,13 +1561,13 @@ public class Collections * The single element; package visible for use in nested class. * @serial the singleton */ - final Object element; + final T element; /** * Construct a singleton. * @param o the element */ - SingletonSet(Object o) + SingletonSet(T o) { element = o; } @@ -1422,9 +1584,9 @@ public class Collections /** * Returns an iterator over the lone element. */ - public Iterator iterator() + public Iterator iterator() { - return new Iterator() + return new Iterator() { /** * Flag to indicate whether or not the element has @@ -1450,7 +1612,7 @@ public class Collections * @throws NoSuchElementException if the object * has already been retrieved. */ - public Object next() + public T next() { if (hasNext) { @@ -1497,9 +1659,9 @@ public class Collections * @return true if c only contains either no elements or * elements equal to the element in this singleton. */ - public boolean containsAll(Collection c) + public boolean containsAll(Collection c) { - Iterator i = c.iterator(); + Iterator i = c.iterator(); int pos = c.size(); while (--pos >= 0) if (! equals(i.next(), element)) @@ -1549,9 +1711,9 @@ public class Collections * @see RandomAccess * @since 1.3 */ - public static List singletonList(Object o) + public static List singletonList(T o) { - return new SingletonList(o); + return new SingletonList(o); } /** @@ -1560,7 +1722,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SingletonList extends AbstractList + private static final class SingletonList extends AbstractList implements Serializable, RandomAccess { /** @@ -1572,13 +1734,13 @@ public class Collections * The single element. * @serial the singleton */ - private final Object element; + private final T element; /** * Construct a singleton. * @param o the element */ - SingletonList(Object o) + SingletonList(T o) { element = o; } @@ -1601,7 +1763,7 @@ public class Collections * @throws IndexOutOfBoundsException if * index is not 0. */ - public Object get(int index) + public T get(int index) { if (index == 0) return element; @@ -1628,9 +1790,9 @@ public class Collections * @return true if c only contains either no elements or * elements equal to the element in this singleton. */ - public boolean containsAll(Collection c) + public boolean containsAll(Collection c) { - Iterator i = c.iterator(); + Iterator i = c.iterator(); int pos = c.size(); while (--pos >= 0) if (! equals(i.next(), element)) @@ -1682,7 +1844,7 @@ public class Collections * @throws IndexOutOfBoundsException if either bound is greater * than 1. */ - public List subList(int from, int to) + public List subList(int from, int to) { if (from == to && (to == 0 || to == 1)) return EMPTY_LIST; @@ -1725,9 +1887,9 @@ public class Collections * @see Serializable * @since 1.3 */ - public static Map singletonMap(Object key, Object value) + public static Map singletonMap(K key, V value) { - return new SingletonMap(key, value); + return new SingletonMap(key, value); } /** @@ -1736,7 +1898,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SingletonMap extends AbstractMap + private static final class SingletonMap extends AbstractMap implements Serializable { /** @@ -1748,25 +1910,25 @@ public class Collections * The single key. * @serial the singleton key */ - private final Object k; + private final K k; /** * The corresponding value. * @serial the singleton value */ - private final Object v; + private final V v; /** * Cache the entry set. */ - private transient Set entries; + private transient Set> entries; /** * Construct a singleton. * @param key the key * @param value the value */ - SingletonMap(Object key, Object value) + SingletonMap(K key, V value) { k = key; v = value; @@ -1777,25 +1939,28 @@ public class Collections * * @return A singleton containing the map entry. */ - public Set entrySet() + public Set> entrySet() { if (entries == null) - entries = singleton(new AbstractMap.BasicMapEntry(k, v) - { - /** - * Sets the value of the map entry to the supplied value. - * An exception is always thrown, as the map is immutable. - * - * @param o The new value. - * @return The old value. - * @throws UnsupportedOperationException as setting the value - * is not supported. - */ - public Object setValue(Object o) - { - throw new UnsupportedOperationException(); - } - }); + { + Map.Entry entry = new AbstractMap.SimpleEntry(k, v) + { + /** + * Sets the value of the map entry to the supplied value. + * An exception is always thrown, as the map is immutable. + * + * @param o The new value. + * @return The old value. + * @throws UnsupportedOperationException as setting the value + * is not supported. + */ + public V setValue(V o) + { + throw new UnsupportedOperationException(); + } + }; + entries = singleton(entry); + } return entries; } @@ -1832,7 +1997,7 @@ public class Collections * @return The singleton value if the key is the same as the * singleton key, null otherwise. */ - public Object get(Object key) + public V get(Object key) { return equals(key, k) ? v : null; } @@ -1853,7 +2018,7 @@ public class Collections * * @return A singleton containing the key. */ - public Set keySet() + public Set keySet() { if (keys == null) keys = singleton(k); @@ -1876,7 +2041,7 @@ public class Collections * * @return A singleton containing the value. */ - public Collection values() + public Collection values() { if (values == null) values = singleton(v); @@ -1903,13 +2068,14 @@ public class Collections * sorts the array, and then iterates over the list setting each element from * the array. * - * @param l the List to sort + * @param l the List to sort (null not permitted) * @throws ClassCastException if some items are not mutually comparable * @throws UnsupportedOperationException if the List is not modifiable - * @throws NullPointerException if some element is null + * @throws NullPointerException if the list is null, or contains + * some element that is null. * @see Arrays#sort(Object[]) */ - public static void sort(List l) + public static > void sort(List l) { sort(l, null); } @@ -1922,24 +2088,26 @@ public class Collections * sorts the array, and then iterates over the list setting each element from * the array. * - * @param l the List to sort + * @param l the List to sort (null not permitted) * @param c the Comparator specifying the ordering for the elements, or - * null for natural ordering + * null for natural ordering * @throws ClassCastException if c will not compare some pair of items * @throws UnsupportedOperationException if the List is not modifiable - * @throws NullPointerException if null is compared by natural ordering - * (only possible when c is null) + * @throws NullPointerException if the List is null or + * null is compared by natural ordering (only possible + * when c is null) + * * @see Arrays#sort(Object[], Comparator) */ - public static void sort(List l, Comparator c) + public static void sort(List l, Comparator c) { - Object[] a = l.toArray(); + T[] a = (T[]) l.toArray(); Arrays.sort(a, c); - ListIterator i = l.listIterator(); + ListIterator i = l.listIterator(); for (int pos = 0, alen = a.length; pos < alen; pos++) { - i.next(); - i.set(a[pos]); + i.next(); + i.set(a[pos]); } } @@ -1955,9 +2123,10 @@ public class Collections * list.size() * @since 1.4 */ - public static void swap(List l, int i, int j) + public static void swap(List l, int i, int j) { - l.set(i, l.set(j, l.get(i))); + List list = (List) l; + list.set(i, list.set(j, list.get(i))); } @@ -1988,9 +2157,9 @@ public class Collections * @return a synchronized view of the collection * @see Serializable */ - public static Collection synchronizedCollection(Collection c) + public static Collection synchronizedCollection(Collection c) { - return new SynchronizedCollection(c); + return new SynchronizedCollection(c); } /** @@ -2001,8 +2170,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - static class SynchronizedCollection - implements Collection, Serializable + static class SynchronizedCollection + implements Collection, Serializable { /** * Compatible with JDK 1.4. @@ -2013,7 +2182,7 @@ public class Collections * The wrapped collection. Package visible for use by subclasses. * @serial the real collection */ - final Collection c; + final Collection c; /** * The object to synchronize on. When an instance is created via public @@ -2028,7 +2197,7 @@ public class Collections * @param c the collection to wrap * @throws NullPointerException if c is null */ - SynchronizedCollection(Collection c) + SynchronizedCollection(Collection c) { this.c = c; mutex = this; @@ -2042,7 +2211,7 @@ public class Collections * @param sync the mutex * @param c the collection */ - SynchronizedCollection(Object sync, Collection c) + SynchronizedCollection(Object sync, Collection c) { this.c = c; mutex = sync; @@ -2064,7 +2233,7 @@ public class Collections * @throws IllegalArgumentException if o cannot be added to this * collection for some other reason. */ - public boolean add(Object o) + public boolean add(T o) { synchronized (mutex) { @@ -2089,7 +2258,7 @@ public class Collections * @throws IllegalArgumentException if some element of col cannot be added * to this collection for some other reason. */ - public boolean addAll(Collection col) + public boolean addAll(Collection col) { synchronized (mutex) { @@ -2146,7 +2315,7 @@ public class Collections * collection does not support null values. * @throws NullPointerException if cl itself is null. */ - public boolean containsAll(Collection c1) + public boolean containsAll(Collection c1) { synchronized (mutex) { @@ -2177,11 +2346,11 @@ public class Collections * @return An iterator over the elements in the underlying collection, * which returns each element in any order. */ - public Iterator iterator() + public Iterator iterator() { synchronized (mutex) { - return new SynchronizedIterator(mutex, c.iterator()); + return new SynchronizedIterator(mutex, c.iterator()); } } @@ -2223,7 +2392,7 @@ public class Collections * collection does not support removing null values. * @throws NullPointerException if c itself is null. */ - public boolean removeAll(Collection col) + public boolean removeAll(Collection col) { synchronized (mutex) { @@ -2248,7 +2417,7 @@ public class Collections * collection does not support removing null values. * @throws NullPointerException if c itself is null. */ - public boolean retainAll(Collection col) + public boolean retainAll(Collection col) { synchronized (mutex) { @@ -2304,7 +2473,7 @@ public class Collections * @throws ArrayStoreException if the type of any element of the * collection is not a subtype of the element type of a. */ - public Object[] toArray(Object[] a) + public T[] toArray(T[] a) { synchronized (mutex) { @@ -2334,7 +2503,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class SynchronizedIterator implements Iterator + private static class SynchronizedIterator implements Iterator { /** * The object to synchronize on. Package visible for use by subclass. @@ -2344,14 +2513,14 @@ public class Collections /** * The wrapped iterator. */ - private final Iterator i; + private final Iterator i; /** * Only trusted code creates a wrapper, with the specified sync. * @param sync the mutex * @param i the wrapped iterator */ - SynchronizedIterator(Object sync, Iterator i) + SynchronizedIterator(Object sync, Iterator i) { this.i = i; mutex = sync; @@ -2364,7 +2533,7 @@ public class Collections * @return The next object in the collection. * @throws NoSuchElementException if there are no more elements */ - public Object next() + public T next() { synchronized (mutex) { @@ -2438,11 +2607,11 @@ public class Collections * @see Serializable * @see RandomAccess */ - public static List synchronizedList(List l) + public static List synchronizedList(List l) { if (l instanceof RandomAccess) - return new SynchronizedRandomAccessList(l); - return new SynchronizedList(l); + return new SynchronizedRandomAccessList(l); + return new SynchronizedList(l); } /** @@ -2453,8 +2622,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - static class SynchronizedList extends SynchronizedCollection - implements List + static class SynchronizedList extends SynchronizedCollection + implements List { /** * Compatible with JDK 1.4. @@ -2466,14 +2635,14 @@ public class Collections * excessive casting. Package visible for use by subclass. * @serial the wrapped list */ - final List list; + final List list; /** * Wrap a given list. * @param l the list to wrap * @throws NullPointerException if l is null */ - SynchronizedList(List l) + SynchronizedList(List l) { super(l); list = l; @@ -2484,7 +2653,7 @@ public class Collections * @param sync the mutex * @param l the list */ - SynchronizedList(Object sync, List l) + SynchronizedList(Object sync, List l) { super(sync, l); list = l; @@ -2509,7 +2678,7 @@ public class Collections * @throws NullPointerException if o is null and this list doesn't support * the addition of null values. */ - public void add(int index, Object o) + public void add(int index, T o) { synchronized (mutex) { @@ -2535,7 +2704,7 @@ public class Collections * @throws NullPointerException if o is null and this list doesn't support * the addition of null values. */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { synchronized (mutex) { @@ -2571,7 +2740,7 @@ public class Collections * @return the element at index index in this list * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object get(int index) + public T get(int index) { synchronized (mutex) { @@ -2648,11 +2817,11 @@ public class Collections * to be performed, in addition to those supplied by the * standard iterator. */ - public ListIterator listIterator() + public ListIterator listIterator() { synchronized (mutex) { - return new SynchronizedListIterator(mutex, list.listIterator()); + return new SynchronizedListIterator(mutex, list.listIterator()); } } @@ -2673,11 +2842,12 @@ public class Collections * standard iterator. * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public ListIterator listIterator(int index) + public ListIterator listIterator(int index) { synchronized (mutex) { - return new SynchronizedListIterator(mutex, list.listIterator(index)); + return new SynchronizedListIterator(mutex, + list.listIterator(index)); } } @@ -2692,7 +2862,7 @@ public class Collections * remove operation * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object remove(int index) + public T remove(int index) { synchronized (mutex) { @@ -2718,7 +2888,7 @@ public class Collections * @throws NullPointerException if o is null and this * list does not support null values. */ - public Object set(int index, Object o) + public T set(int index, T o) { synchronized (mutex) { @@ -2744,11 +2914,12 @@ public class Collections * @throws IndexOutOfBoundsException if fromIndex < 0 * || toIndex > size() || fromIndex > toIndex */ - public List subList(int fromIndex, int toIndex) + public List subList(int fromIndex, int toIndex) { synchronized (mutex) { - return new SynchronizedList(mutex, list.subList(fromIndex, toIndex)); + return new SynchronizedList(mutex, + list.subList(fromIndex, toIndex)); } } } // class SynchronizedList @@ -2760,8 +2931,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SynchronizedRandomAccessList - extends SynchronizedList implements RandomAccess + private static final class SynchronizedRandomAccessList + extends SynchronizedList implements RandomAccess { /** * Compatible with JDK 1.4. @@ -2773,7 +2944,7 @@ public class Collections * @param l the list to wrap * @throws NullPointerException if l is null */ - SynchronizedRandomAccessList(List l) + SynchronizedRandomAccessList(List l) { super(l); } @@ -2784,7 +2955,7 @@ public class Collections * @param sync the mutex * @param l the list */ - SynchronizedRandomAccessList(Object sync, List l) + SynchronizedRandomAccessList(Object sync, List l) { super(sync, l); } @@ -2808,13 +2979,13 @@ public class Collections * @throws IndexOutOfBoundsException if fromIndex < 0 * || toIndex > size() || fromIndex > toIndex */ - public List subList(int fromIndex, int toIndex) + public List subList(int fromIndex, int toIndex) { synchronized (mutex) { - return new SynchronizedRandomAccessList(mutex, - list.subList(fromIndex, - toIndex)); + return new SynchronizedRandomAccessList(mutex, + list.subList(fromIndex, + toIndex)); } } } // class SynchronizedRandomAccessList @@ -2825,21 +2996,21 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SynchronizedListIterator - extends SynchronizedIterator implements ListIterator + private static final class SynchronizedListIterator + extends SynchronizedIterator implements ListIterator { /** * The wrapped iterator, stored both here and in the superclass to * avoid excessive casting. */ - private final ListIterator li; + private final ListIterator li; /** * Only trusted code creates a wrapper, with the specified sync. * @param sync the mutex * @param li the wrapped iterator */ - SynchronizedListIterator(Object sync, ListIterator li) + SynchronizedListIterator(Object sync, ListIterator li) { super(sync, li); this.li = li; @@ -2863,7 +3034,7 @@ public class Collections * @throws UnsupportedOperationException if this ListIterator does not * support the add operation. */ - public void add(Object o) + public void add(T o) { synchronized (mutex) { @@ -2913,7 +3084,7 @@ public class Collections * @return the next element in the list in the reverse direction * @throws NoSuchElementException if there are no more elements */ - public Object previous() + public T previous() { synchronized (mutex) { @@ -2955,7 +3126,7 @@ public class Collections * @throws UnsupportedOperationException if this ListIterator does not * support the set operation */ - public void set(Object o) + public void set(T o) { synchronized (mutex) { @@ -2989,9 +3160,9 @@ public class Collections * @return a synchronized view of the map * @see Serializable */ - public static Map synchronizedMap(Map m) + public static Map synchronizedMap(Map m) { - return new SynchronizedMap(m); + return new SynchronizedMap(m); } /** @@ -3000,7 +3171,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class SynchronizedMap implements Map, Serializable + private static class SynchronizedMap implements Map, Serializable { /** * Compatible with JDK 1.4. @@ -3011,7 +3182,7 @@ public class Collections * The wrapped map. * @serial the real map */ - private final Map m; + private final Map m; /** * The object to synchronize on. When an instance is created via public @@ -3025,24 +3196,24 @@ public class Collections /** * Cache the entry set. */ - private transient Set entries; + private transient Set> entries; /** * Cache the key set. */ - private transient Set keys; + private transient Set keys; /** * Cache the value collection. */ - private transient Collection values; + private transient Collection values; /** * Wrap a given map. * @param m the map to wrap * @throws NullPointerException if m is null */ - SynchronizedMap(Map m) + SynchronizedMap(Map m) { this.m = m; mutex = this; @@ -3055,7 +3226,7 @@ public class Collections * @param sync the mutex * @param m the map */ - SynchronizedMap(Object sync, Map m) + SynchronizedMap(Object sync, Map m) { this.m = m; mutex = sync; @@ -3119,15 +3290,15 @@ public class Collections // means "return a SynchronizedSet, except that the iterator() method // returns an SynchronizedIterator whose next() method returns a // synchronized wrapper around its normal return value". - public Set entrySet() + public Set> entrySet() { // Define this here to spare some nesting. - class SynchronizedMapEntry implements Map.Entry + class SynchronizedMapEntry implements Map.Entry { - final Map.Entry e; - SynchronizedMapEntry(Object o) + final Map.Entry e; + SynchronizedMapEntry(Map.Entry o) { - e = (Map.Entry) o; + e = o; } /** @@ -3152,7 +3323,7 @@ public class Collections * * @return The key of the underlying map entry. */ - public Object getKey() + public K getKey() { synchronized (mutex) { @@ -3166,7 +3337,7 @@ public class Collections * * @return The value of the underlying map entry. */ - public Object getValue() + public V getValue() { synchronized (mutex) { @@ -3207,7 +3378,7 @@ public class Collections * prevents it from existing in this map. * @throws NullPointerException if the map forbids null values. */ - public Object setValue(Object value) + public V setValue(V value) { synchronized (mutex) { @@ -3234,7 +3405,7 @@ public class Collections if (entries == null) synchronized (mutex) { - entries = new SynchronizedSet(mutex, m.entrySet()) + entries = new SynchronizedSet>(mutex, m.entrySet()) { /** * Returns an iterator over the set. The iterator has no specific order, @@ -3244,11 +3415,12 @@ public class Collections * * @return A synchronized set iterator. */ - public Iterator iterator() + public Iterator> iterator() { synchronized (super.mutex) { - return new SynchronizedIterator(super.mutex, c.iterator()) + return new SynchronizedIterator>(super.mutex, + c.iterator()) { /** * Retrieves the next map entry from the iterator. @@ -3258,11 +3430,11 @@ public class Collections * * @return A synchronized map entry. */ - public Object next() + public Map.Entry next() { synchronized (super.mutex) { - return new SynchronizedMapEntry(super.next()); + return new SynchronizedMapEntry(super.next()); } } }; @@ -3306,7 +3478,7 @@ public class Collections * @throws ClassCastException if the key is an inappropriate type. * @throws NullPointerException if this map does not accept null keys. */ - public Object get(Object key) + public V get(Object key) { synchronized (mutex) { @@ -3356,12 +3528,12 @@ public class Collections * * @return A synchronized set containing the keys of the underlying map. */ - public Set keySet() + public Set keySet() { if (keys == null) synchronized (mutex) { - keys = new SynchronizedSet(mutex, m.keySet()); + keys = new SynchronizedSet(mutex, m.keySet()); } return keys; } @@ -3384,7 +3556,7 @@ public class Collections * and the map forbids null keys or values * @see #containsKey(Object) */ - public Object put(Object key, Object value) + public V put(K key, V value) { synchronized (mutex) { @@ -3406,7 +3578,7 @@ public class Collections * if m is null. * @see #put(Object, Object) */ - public void putAll(Map map) + public void putAll(Map map) { synchronized (mutex) { @@ -3429,7 +3601,7 @@ public class Collections * @throws ClassCastException if the type of the key is not a valid type * for this map. */ - public Object remove(Object o) + public V remove(Object o) { synchronized (mutex) { @@ -3482,12 +3654,12 @@ public class Collections * * @return the collection of all values in the underlying map. */ - public Collection values() + public Collection values() { if (values == null) synchronized (mutex) { - values = new SynchronizedCollection(mutex, m.values()); + values = new SynchronizedCollection(mutex, m.values()); } return values; } @@ -3517,9 +3689,9 @@ public class Collections * @return a synchronized view of the set * @see Serializable */ - public static Set synchronizedSet(Set s) + public static Set synchronizedSet(Set s) { - return new SynchronizedSet(s); + return new SynchronizedSet(s); } /** @@ -3530,8 +3702,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - static class SynchronizedSet extends SynchronizedCollection - implements Set + static class SynchronizedSet extends SynchronizedCollection + implements Set { /** * Compatible with JDK 1.4. @@ -3543,7 +3715,7 @@ public class Collections * @param s the set to wrap * @throws NullPointerException if s is null */ - SynchronizedSet(Set s) + SynchronizedSet(Set s) { super(s); } @@ -3553,7 +3725,7 @@ public class Collections * @param sync the mutex * @param s the set */ - SynchronizedSet(Object sync, Set s) + SynchronizedSet(Object sync, Set s) { super(sync, s); } @@ -3623,9 +3795,9 @@ public class Collections * @return a synchronized view of the sorted map * @see Serializable */ - public static SortedMap synchronizedSortedMap(SortedMap m) + public static SortedMap synchronizedSortedMap(SortedMap m) { - return new SynchronizedSortedMap(m); + return new SynchronizedSortedMap(m); } /** @@ -3634,8 +3806,9 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SynchronizedSortedMap extends SynchronizedMap - implements SortedMap + private static final class SynchronizedSortedMap + extends SynchronizedMap + implements SortedMap { /** * Compatible with JDK 1.4. @@ -3647,14 +3820,14 @@ public class Collections * excessive casting. * @serial the wrapped map */ - private final SortedMap sm; + private final SortedMap sm; /** * Wrap a given map. * @param sm the map to wrap * @throws NullPointerException if sm is null */ - SynchronizedSortedMap(SortedMap sm) + SynchronizedSortedMap(SortedMap sm) { super(sm); this.sm = sm; @@ -3665,7 +3838,7 @@ public class Collections * @param sync the mutex * @param sm the map */ - SynchronizedSortedMap(Object sync, SortedMap sm) + SynchronizedSortedMap(Object sync, SortedMap sm) { super(sync, sm); this.sm = sm; @@ -3678,7 +3851,7 @@ public class Collections * * @return the sorting comparator. */ - public Comparator comparator() + public Comparator comparator() { synchronized (mutex) { @@ -3693,7 +3866,7 @@ public class Collections * @return the first key. * @throws NoSuchElementException if this map is empty. */ - public Object firstKey() + public K firstKey() { synchronized (mutex) { @@ -3720,11 +3893,11 @@ public class Collections * @throws NullPointerException if toKey is null. but the map does not allow * null keys. */ - public SortedMap headMap(Object toKey) + public SortedMap headMap(K toKey) { synchronized (mutex) { - return new SynchronizedSortedMap(mutex, sm.headMap(toKey)); + return new SynchronizedSortedMap(mutex, sm.headMap(toKey)); } } @@ -3735,7 +3908,7 @@ public class Collections * @return the last key. * @throws NoSuchElementException if this map is empty. */ - public Object lastKey() + public K lastKey() { synchronized (mutex) { @@ -3761,11 +3934,12 @@ public class Collections * @throws NullPointerException if fromKey or toKey is null. but the map does * not allow null keys. */ - public SortedMap subMap(Object fromKey, Object toKey) + public SortedMap subMap(K fromKey, K toKey) { synchronized (mutex) { - return new SynchronizedSortedMap(mutex, sm.subMap(fromKey, toKey)); + return new SynchronizedSortedMap(mutex, + sm.subMap(fromKey, toKey)); } } @@ -3785,11 +3959,11 @@ public class Collections * @throws NullPointerException if fromKey is null. but the map does not allow * null keys. */ - public SortedMap tailMap(Object fromKey) + public SortedMap tailMap(K fromKey) { synchronized (mutex) { - return new SynchronizedSortedMap(mutex, sm.tailMap(fromKey)); + return new SynchronizedSortedMap(mutex, sm.tailMap(fromKey)); } } } // class SynchronizedSortedMap @@ -3819,9 +3993,9 @@ public class Collections * @return a synchronized view of the sorted set * @see Serializable */ - public static SortedSet synchronizedSortedSet(SortedSet s) + public static SortedSet synchronizedSortedSet(SortedSet s) { - return new SynchronizedSortedSet(s); + return new SynchronizedSortedSet(s); } /** @@ -3830,8 +4004,9 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class SynchronizedSortedSet extends SynchronizedSet - implements SortedSet + private static final class SynchronizedSortedSet + extends SynchronizedSet + implements SortedSet { /** * Compatible with JDK 1.4. @@ -3843,14 +4018,14 @@ public class Collections * excessive casting. * @serial the wrapped set */ - private final SortedSet ss; + private final SortedSet ss; /** * Wrap a given set. * @param ss the set to wrap * @throws NullPointerException if ss is null */ - SynchronizedSortedSet(SortedSet ss) + SynchronizedSortedSet(SortedSet ss) { super(ss); this.ss = ss; @@ -3861,7 +4036,7 @@ public class Collections * @param sync the mutex * @param ss the set */ - SynchronizedSortedSet(Object sync, SortedSet ss) + SynchronizedSortedSet(Object sync, SortedSet ss) { super(sync, ss); this.ss = ss; @@ -3874,7 +4049,7 @@ public class Collections * * @return the sorting comparator. */ - public Comparator comparator() + public Comparator comparator() { synchronized (mutex) { @@ -3889,7 +4064,7 @@ public class Collections * @return the first element. * @throws NoSuchElementException if this set is empty. */ - public Object first() + public T first() { synchronized (mutex) { @@ -3916,11 +4091,11 @@ public class Collections * @throws NullPointerException if toElement is null. but the set does not allow * null elements. */ - public SortedSet headSet(Object toElement) + public SortedSet headSet(T toElement) { synchronized (mutex) { - return new SynchronizedSortedSet(mutex, ss.headSet(toElement)); + return new SynchronizedSortedSet(mutex, ss.headSet(toElement)); } } @@ -3931,7 +4106,7 @@ public class Collections * @return the last element. * @throws NoSuchElementException if this set is empty. */ - public Object last() + public T last() { synchronized (mutex) { @@ -3957,12 +4132,13 @@ public class Collections * @throws NullPointerException if fromElement or toElement is null. but the set does * not allow null elements. */ - public SortedSet subSet(Object fromElement, Object toElement) + public SortedSet subSet(T fromElement, T toElement) { synchronized (mutex) { - return new SynchronizedSortedSet(mutex, - ss.subSet(fromElement, toElement)); + return new SynchronizedSortedSet(mutex, + ss.subSet(fromElement, + toElement)); } } @@ -3982,11 +4158,11 @@ public class Collections * @throws NullPointerException if fromElement is null. but the set does not allow * null elements. */ - public SortedSet tailSet(Object fromElement) + public SortedSet tailSet(T fromElement) { synchronized (mutex) { - return new SynchronizedSortedSet(mutex, ss.tailSet(fromElement)); + return new SynchronizedSortedSet(mutex, ss.tailSet(fromElement)); } } } // class SynchronizedSortedSet @@ -4011,9 +4187,9 @@ public class Collections * @return a read-only view of the collection * @see Serializable */ - public static Collection unmodifiableCollection(Collection c) + public static Collection unmodifiableCollection(Collection c) { - return new UnmodifiableCollection(c); + return new UnmodifiableCollection(c); } /** @@ -4022,8 +4198,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableCollection - implements Collection, Serializable + private static class UnmodifiableCollection + implements Collection, Serializable { /** * Compatible with JDK 1.4. @@ -4034,14 +4210,14 @@ public class Collections * The wrapped collection. Package visible for use by subclasses. * @serial the real collection */ - final Collection c; + final Collection c; /** * Wrap a given collection. * @param c the collection to wrap * @throws NullPointerException if c is null */ - UnmodifiableCollection(Collection c) + UnmodifiableCollection(Collection c) { this.c = c; if (c == null) @@ -4057,7 +4233,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable collection does not * support the add operation. */ - public boolean add(Object o) + public boolean add(T o) { throw new UnsupportedOperationException(); } @@ -4071,7 +4247,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable collection does not * support the addAll operation. */ - public boolean addAll(Collection c) + public boolean addAll(Collection c) { throw new UnsupportedOperationException(); } @@ -4119,7 +4295,7 @@ public class Collections * collection does not support null values. * @throws NullPointerException if c itself is null. */ - public boolean containsAll(Collection c1) + public boolean containsAll(Collection c1) { return c.containsAll(c1); } @@ -4142,9 +4318,9 @@ public class Collections * @return an UnmodifiableIterator over the elements of the underlying * collection, in any order. */ - public Iterator iterator() + public Iterator iterator() { - return new UnmodifiableIterator(c.iterator()); + return new UnmodifiableIterator(c.iterator()); } /** @@ -4172,7 +4348,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable collection * does not support the removeAll() operation. */ - public boolean removeAll(Collection c) + public boolean removeAll(Collection c) { throw new UnsupportedOperationException(); } @@ -4187,7 +4363,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable collection * does not support the retainAll() operation. */ - public boolean retainAll(Collection c) + public boolean retainAll(Collection c) { throw new UnsupportedOperationException(); } @@ -4231,7 +4407,7 @@ public class Collections * @throws ArrayStoreException if the type of any element of the * collection is not a subtype of the element type of a. */ - public Object[] toArray(Object[] a) + public S[] toArray(S[] a) { return c.toArray(a); } @@ -4253,18 +4429,18 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableIterator implements Iterator + private static class UnmodifiableIterator implements Iterator { /** * The wrapped iterator. */ - private final Iterator i; + private final Iterator i; /** * Only trusted code creates a wrapper. * @param i the wrapped iterator */ - UnmodifiableIterator(Iterator i) + UnmodifiableIterator(Iterator i) { this.i = i; } @@ -4275,10 +4451,11 @@ public class Collections * @return the next element in the collection. * @throws NoSuchElementException if there are no more elements. */ - public Object next() + public T next() { return i.next(); } + /** * Tests whether there are still elements to be retrieved from the * underlying collection by next(). When this method @@ -4325,11 +4502,11 @@ public class Collections * @see Serializable * @see RandomAccess */ - public static List unmodifiableList(List l) + public static List unmodifiableList(List l) { if (l instanceof RandomAccess) - return new UnmodifiableRandomAccessList(l); - return new UnmodifiableList(l); + return new UnmodifiableRandomAccessList(l); + return new UnmodifiableList(l); } /** @@ -4339,8 +4516,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableList extends UnmodifiableCollection - implements List + private static class UnmodifiableList extends UnmodifiableCollection + implements List { /** * Compatible with JDK 1.4. @@ -4353,17 +4530,17 @@ public class Collections * excessive casting. Package visible for use by subclass. * @serial the wrapped list */ - final List list; + final List list; /** * Wrap a given list. * @param l the list to wrap * @throws NullPointerException if l is null */ - UnmodifiableList(List l) + UnmodifiableList(List l) { super(l); - list = l; + list = (List) l; } /** @@ -4376,7 +4553,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable * list doesn't support the add() operation. */ - public void add(int index, Object o) + public void add(int index, T o) { throw new UnsupportedOperationException(); } @@ -4391,7 +4568,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable * list doesn't support the addAll() operation. */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { throw new UnsupportedOperationException(); } @@ -4416,7 +4593,7 @@ public class Collections * @return the element at index index in this list * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object get(int index) + public T get(int index) { return list.get(index); } @@ -4474,9 +4651,9 @@ public class Collections * @return a UnmodifiableListIterator over the elements of the * underlying list, in order, starting at the beginning. */ - public ListIterator listIterator() + public ListIterator listIterator() { - return new UnmodifiableListIterator(list.listIterator()); + return new UnmodifiableListIterator(list.listIterator()); } /** @@ -4493,9 +4670,9 @@ public class Collections * underlying list, in order, starting at the specified index. * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public ListIterator listIterator(int index) + public ListIterator listIterator(int index) { - return new UnmodifiableListIterator(list.listIterator(index)); + return new UnmodifiableListIterator(list.listIterator(index)); } /** @@ -4508,7 +4685,7 @@ public class Collections * list does not support the remove() * operation. */ - public Object remove(int index) + public T remove(int index) { throw new UnsupportedOperationException(); } @@ -4524,7 +4701,7 @@ public class Collections * list does not support the set() * operation. */ - public Object set(int index, Object o) + public T set(int index, T o) { throw new UnsupportedOperationException(); } @@ -4544,7 +4721,7 @@ public class Collections * @throws IndexOutOfBoundsException if fromIndex < 0 * || toIndex > size() || fromIndex > toIndex. */ - public List subList(int fromIndex, int toIndex) + public List subList(int fromIndex, int toIndex) { return unmodifiableList(list.subList(fromIndex, toIndex)); } @@ -4557,8 +4734,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class UnmodifiableRandomAccessList - extends UnmodifiableList implements RandomAccess + private static final class UnmodifiableRandomAccessList + extends UnmodifiableList implements RandomAccess { /** * Compatible with JDK 1.4. @@ -4570,7 +4747,7 @@ public class Collections * @param l the list to wrap * @throws NullPointerException if l is null */ - UnmodifiableRandomAccessList(List l) + UnmodifiableRandomAccessList(List l) { super(l); } @@ -4581,20 +4758,20 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class UnmodifiableListIterator - extends UnmodifiableIterator implements ListIterator + private static final class UnmodifiableListIterator + extends UnmodifiableIterator implements ListIterator { /** * The wrapped iterator, stored both here and in the superclass to * avoid excessive casting. */ - private final ListIterator li; + private final ListIterator li; /** * Only trusted code creates a wrapper. * @param li the wrapped iterator */ - UnmodifiableListIterator(ListIterator li) + UnmodifiableListIterator(ListIterator li) { super(li); this.li = li; @@ -4608,7 +4785,7 @@ public class Collections * @throws UnsupportedOperationException as the iterator of an unmodifiable * list does not support the add() operation. */ - public void add(Object o) + public void add(T o) { throw new UnsupportedOperationException(); } @@ -4645,7 +4822,7 @@ public class Collections * @return the previous element in the list. * @throws NoSuchElementException if there are no more prior elements. */ - public Object previous() + public T previous() { return li.previous(); } @@ -4671,7 +4848,7 @@ public class Collections * @throws UnsupportedOperationException as the iterator of an unmodifiable * list does not support the set() operation. */ - public void set(Object o) + public void set(T o) { throw new UnsupportedOperationException(); } @@ -4694,9 +4871,10 @@ public class Collections * @return a read-only view of the map * @see Serializable */ - public static Map unmodifiableMap(Map m) + public static Map unmodifiableMap(Map m) { - return new UnmodifiableMap(m); + return new UnmodifiableMap(m); } /** @@ -4705,7 +4883,7 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableMap implements Map, Serializable + private static class UnmodifiableMap implements Map, Serializable { /** * Compatible with JDK 1.4. @@ -4716,31 +4894,31 @@ public class Collections * The wrapped map. * @serial the real map */ - private final Map m; + private final Map m; /** * Cache the entry set. */ - private transient Set entries; + private transient Set> entries; /** * Cache the key set. */ - private transient Set keys; + private transient Set keys; /** * Cache the value collection. */ - private transient Collection values; + private transient Collection values; /** * Wrap a given map. * @param m the map to wrap * @throws NullPointerException if m is null */ - UnmodifiableMap(Map m) + UnmodifiableMap(Map m) { - this.m = m; + this.m = (Map) m; if (m == null) throw new NullPointerException(); } @@ -4801,10 +4979,10 @@ public class Collections * @return the unmodifiable set view of all mapping entries. * @see Map.Entry */ - public Set entrySet() + public Set> entrySet() { if (entries == null) - entries = new UnmodifiableEntrySet(m.entrySet()); + entries = new UnmodifiableEntrySet(m.entrySet()); return entries; } @@ -4814,17 +4992,18 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class UnmodifiableEntrySet extends UnmodifiableSet + private static final class UnmodifiableEntrySet + extends UnmodifiableSet> implements Serializable { // Unmodifiable implementation of Map.Entry used as return value for // UnmodifiableEntrySet accessors (iterator, toArray, toArray(Object[])) - private static final class UnmodifiableMapEntry - implements Map.Entry + private static final class UnmodifiableMapEntry + implements Map.Entry { - private final Map.Entry e; + private final Map.Entry e; - private UnmodifiableMapEntry(Map.Entry e) + private UnmodifiableMapEntry(Map.Entry e) { super(); this.e = e; @@ -4847,7 +5026,7 @@ public class Collections * * @return the key. */ - public Object getKey() + public K getKey() { return e.getKey(); } @@ -4857,7 +5036,7 @@ public class Collections * * @return the value. */ - public Object getValue() + public V getValue() { return e.getValue(); } @@ -4882,7 +5061,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable map entry * does not support the setValue() operation. */ - public Object setValue(Object value) + public V setValue(V value) { throw new UnsupportedOperationException(); } @@ -4907,15 +5086,15 @@ public class Collections * Wrap a given set. * @param s the set to wrap */ - UnmodifiableEntrySet(Set s) + UnmodifiableEntrySet(Set> s) { super(s); } // The iterator must return unmodifiable map entries. - public Iterator iterator() + public Iterator> iterator() { - return new UnmodifiableIterator(c.iterator()) + return new UnmodifiableIterator>(c.iterator()) { /** * Obtains the next element from the underlying set of @@ -4924,49 +5103,45 @@ public class Collections * @return the next element in the collection. * @throws NoSuchElementException if there are no more elements. */ - public Object next() + public Map.Entry next() { - final Map.Entry e = (Map.Entry) super.next(); - return new UnmodifiableMapEntry(e); - } + final Map.Entry e = super.next(); + return new UnmodifiableMapEntry(e); + } }; } // The array returned is an array of UnmodifiableMapEntry instead of // Map.Entry - public Object[] toArray() + public Map.Entry[] toArray() { - Object[] mapEntryResult = super.toArray(); - UnmodifiableMapEntry result[] = null; - + Map.Entry[] mapEntryResult = (Map.Entry[]) super.toArray(); + UnmodifiableMapEntry result[] = null; + if (mapEntryResult != null) { - result = new UnmodifiableMapEntry[mapEntryResult.length]; - for (int i = 0; i < mapEntryResult.length; i++) - { - Map.Entry r = (Map.Entry) mapEntryResult[i]; - result[i] = new UnmodifiableMapEntry(r); - } - } + result = (UnmodifiableMapEntry[]) + new UnmodifiableMapEntry[mapEntryResult.length]; + for (int i = 0; i < mapEntryResult.length; ++i) + result[i] = new UnmodifiableMapEntry(mapEntryResult[i]); + } return result; } - + // The array returned is an array of UnmodifiableMapEntry instead of // Map.Entry - public Object[] toArray(Object[] array) + public Map.Entry[] toArray(Map.Entry[] array) { super.toArray(array); - + if (array != null) - { - for (int i = 0; i < array.length; i++) - { - array[i] = new UnmodifiableMapEntry((Map.Entry) array[i]); - } - } + for (int i = 0; i < array.length; i++) + array[i] = + new UnmodifiableMapEntry(array[i]); return array; } + } // class UnmodifiableEntrySet /** @@ -4994,7 +5169,7 @@ public class Collections * @throws NullPointerException if this map does not accept null keys. * @see #containsKey(Object) */ - public Object get(Object key) + public V get(Object key) { return m.get(key); } @@ -5009,7 +5184,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable * map does not support the put() operation. */ - public Object put(Object key, Object value) + public V put(K key, V value) { throw new UnsupportedOperationException(); } @@ -5045,10 +5220,10 @@ public class Collections * * @return the set view of all keys. */ - public Set keySet() + public Set keySet() { if (keys == null) - keys = new UnmodifiableSet(m.keySet()); + keys = new UnmodifiableSet(m.keySet()); return keys; } @@ -5061,7 +5236,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable * map does not support the putAll operation. */ - public void putAll(Map m) + public void putAll(Map m) { throw new UnsupportedOperationException(); } @@ -5077,7 +5252,7 @@ public class Collections * @throws UnsupportedOperationException as an unmodifiable * map does not support the remove operation. */ - public Object remove(Object o) + public V remove(Object o) { throw new UnsupportedOperationException(); } @@ -5114,10 +5289,10 @@ public class Collections * * @return the collection view of all values. */ - public Collection values() + public Collection values() { if (values == null) - values = new UnmodifiableCollection(m.values()); + values = new UnmodifiableCollection(m.values()); return values; } } // class UnmodifiableMap @@ -5139,9 +5314,9 @@ public class Collections * @return a read-only view of the set * @see Serializable */ - public static Set unmodifiableSet(Set s) + public static Set unmodifiableSet(Set s) { - return new UnmodifiableSet(s); + return new UnmodifiableSet(s); } /** @@ -5150,8 +5325,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableSet extends UnmodifiableCollection - implements Set + private static class UnmodifiableSet extends UnmodifiableCollection + implements Set { /** * Compatible with JDK 1.4. @@ -5163,7 +5338,7 @@ public class Collections * @param s the set to wrap * @throws NullPointerException if s is null */ - UnmodifiableSet(Set s) + UnmodifiableSet(Set s) { super(s); } @@ -5208,9 +5383,10 @@ public class Collections * @return a read-only view of the map * @see Serializable */ - public static SortedMap unmodifiableSortedMap(SortedMap m) + public static SortedMap unmodifiableSortedMap(SortedMap m) { - return new UnmodifiableSortedMap(m); + return new UnmodifiableSortedMap(m); } /** @@ -5219,8 +5395,9 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableSortedMap extends UnmodifiableMap - implements SortedMap + private static class UnmodifiableSortedMap + extends UnmodifiableMap + implements SortedMap { /** * Compatible with JDK 1.4. @@ -5232,17 +5409,17 @@ public class Collections * excessive casting. * @serial the wrapped map */ - private final SortedMap sm; + private final SortedMap sm; /** * Wrap a given map. * @param sm the map to wrap * @throws NullPointerException if sm is null */ - UnmodifiableSortedMap(SortedMap sm) + UnmodifiableSortedMap(SortedMap sm) { super(sm); - this.sm = sm; + this.sm = (SortedMap) sm; } /** @@ -5251,7 +5428,7 @@ public class Collections * * @return the sorting comparator. */ - public Comparator comparator() + public Comparator comparator() { return sm.comparator(); } @@ -5262,7 +5439,7 @@ public class Collections * @return the first key. * @throws NoSuchElementException if this map is empty. */ - public Object firstKey() + public K firstKey() { return sm.firstKey(); } @@ -5289,9 +5466,9 @@ public class Collections * @throws NullPointerException if toKey is null but the map does not allow * null keys. */ - public SortedMap headMap(Object toKey) + public SortedMap headMap(K toKey) { - return new UnmodifiableSortedMap(sm.headMap(toKey)); + return new UnmodifiableSortedMap(sm.headMap(toKey)); } /** @@ -5300,7 +5477,7 @@ public class Collections * @return the last key. * @throws NoSuchElementException if this map is empty. */ - public Object lastKey() + public K lastKey() { return sm.lastKey(); } @@ -5331,9 +5508,9 @@ public class Collections * @throws NullPointerException if fromKey or toKey is null but the map * does not allow null keys. */ - public SortedMap subMap(Object fromKey, Object toKey) + public SortedMap subMap(K fromKey, K toKey) { - return new UnmodifiableSortedMap(sm.subMap(fromKey, toKey)); + return new UnmodifiableSortedMap(sm.subMap(fromKey, toKey)); } /** @@ -5358,9 +5535,9 @@ public class Collections * @throws NullPointerException if fromKey is null but the map does not allow * null keys */ - public SortedMap tailMap(Object fromKey) + public SortedMap tailMap(K fromKey) { - return new UnmodifiableSortedMap(sm.tailMap(fromKey)); + return new UnmodifiableSortedMap(sm.tailMap(fromKey)); } } // class UnmodifiableSortedMap @@ -5381,9 +5558,9 @@ public class Collections * @return a read-only view of the set * @see Serializable */ - public static SortedSet unmodifiableSortedSet(SortedSet s) + public static SortedSet unmodifiableSortedSet(SortedSet s) { - return new UnmodifiableSortedSet(s); + return new UnmodifiableSortedSet(s); } /** @@ -5392,8 +5569,8 @@ public class Collections * * @author Eric Blake (ebb9@email.byu.edu) */ - private static class UnmodifiableSortedSet extends UnmodifiableSet - implements SortedSet + private static class UnmodifiableSortedSet extends UnmodifiableSet + implements SortedSet { /** * Compatible with JDK 1.4. @@ -5405,14 +5582,14 @@ public class Collections * excessive casting. * @serial the wrapped set */ - private SortedSet ss; + private SortedSet ss; /** * Wrap a given set. * @param ss the set to wrap * @throws NullPointerException if ss is null */ - UnmodifiableSortedSet(SortedSet ss) + UnmodifiableSortedSet(SortedSet ss) { super(ss); this.ss = ss; @@ -5424,7 +5601,7 @@ public class Collections * * @return the sorting comparator */ - public Comparator comparator() + public Comparator comparator() { return ss.comparator(); } @@ -5436,7 +5613,7 @@ public class Collections * @return the first element. * @throws NoSuchElementException if the set is empty. */ - public Object first() + public T first() { return ss.first(); } @@ -5464,9 +5641,9 @@ public class Collections * @throws NullPointerException if toElement is null but the set does not * allow null elements. */ - public SortedSet headSet(Object toElement) + public SortedSet headSet(T toElement) { - return new UnmodifiableSortedSet(ss.headSet(toElement)); + return new UnmodifiableSortedSet(ss.headSet(toElement)); } /** @@ -5476,7 +5653,7 @@ public class Collections * @return the last element. * @throws NoSuchElementException if the set is empty. */ - public Object last() + public T last() { return ss.last(); } @@ -5507,9 +5684,9 @@ public class Collections * @throws NullPointerException if fromElement or toElement is null but the * set does not allow null elements. */ - public SortedSet subSet(Object fromElement, Object toElement) + public SortedSet subSet(T fromElement, T toElement) { - return new UnmodifiableSortedSet(ss.subSet(fromElement, toElement)); + return new UnmodifiableSortedSet(ss.subSet(fromElement, toElement)); } /** @@ -5533,9 +5710,1717 @@ public class Collections * @throws NullPointerException if fromElement is null but the set does not * allow null elements. */ - public SortedSet tailSet(Object fromElement) + public SortedSet tailSet(T fromElement) { - return new UnmodifiableSortedSet(ss.tailSet(fromElement)); + return new UnmodifiableSortedSet(ss.tailSet(fromElement)); } } // class UnmodifiableSortedSet + + /** + *

    + * Returns a dynamically typesafe view of the given collection, + * where any modification is first checked to ensure that the type + * of the new data is appropriate. Although the addition of + * generics and parametrically-typed collections prevents an + * incorrect type of element being added to a collection at + * compile-time, via static type checking, this can be overridden by + * casting. In contrast, wrapping the collection within a + * dynamically-typesafe wrapper, using this and associated methods, + * guarantees that the collection will only contain + * elements of an appropriate type (provided it only contains such + * at the type of wrapping, and all subsequent access is via the + * wrapper). This can be useful for debugging the cause of a + * ClassCastException caused by erroneous casting, or + * for protecting collections from corruption by external libraries. + *

    + *

    + * Since the collection might be a List or a Set, and those + * have incompatible equals and hashCode requirements, this relies + * on Object's implementation rather than passing those calls on to + * the wrapped collection. The returned Collection implements + * Serializable, but can only be serialized if the collection it + * wraps is likewise Serializable. + *

    + * + * @param c the collection to wrap in a dynamically typesafe wrapper + * @param type the type of elements the collection should hold. + * @return a dynamically typesafe view of the collection. + * @see Serializable + * @since 1.5 + */ + public static Collection checkedCollection(Collection c, + Class type) + { + return new CheckedCollection(c, type); + } + + /** + * The implementation of {@link #checkedCollection(Collection,Class)}. This + * class name is required for compatibility with Sun's JDK serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class CheckedCollection + implements Collection, Serializable + { + /** + * Compatible with JDK 1.5. + */ + private static final long serialVersionUID = 1578914078182001775L; + + /** + * The wrapped collection. Package visible for use by subclasses. + * @serial the real collection + */ + final Collection c; + + /** + * The type of the elements of this collection. + * @serial the element type. + */ + final Class type; + + /** + * Wrap a given collection. + * @param c the collection to wrap + * @param type the type to wrap + * @throws NullPointerException if c is null + */ + CheckedCollection(Collection c, Class type) + { + this.c = c; + this.type = type; + if (c == null) + throw new NullPointerException(); + } + + /** + * Adds the supplied object to the collection, on the condition that + * it is of the correct type. + * + * @param o the object to add. + * @return true if the collection was modified as a result + * of this action. + * @throws ClassCastException if the object is not of the correct type. + */ + public boolean add(E o) + { + if (type.isInstance(o)) + return c.add(o); + else + throw new ClassCastException("The element is of the incorrect type."); + } + + /** + * Adds the elements of the specified collection to the backing collection, + * provided they are all of the correct type. + * + * @param coll the collection to add. + * @return true if the collection was modified as a result + * of this action. + * @throws ClassCastException if c contained elements of an + * incorrect type. + */ + public boolean addAll(Collection coll) + { + Collection typedColl = (Collection) c; + for (E element : typedColl) + { + if (!type.isInstance(element)) + throw new ClassCastException("A member of the collection is not of the correct type."); + } + return c.addAll(typedColl); + } + + /** + * Removes all elements from the underlying collection. + */ + public void clear() + { + c.clear(); + } + + /** + * Test whether the underlying collection contains a given object as one + * of its elements. + * + * @param o the element to look for. + * @return true if the underlying collection contains at least + * one element e such that + * o == null ? e == null : o.equals(e). + * @throws ClassCastException if the type of o is not a valid type for the + * underlying collection. + * @throws NullPointerException if o is null and the underlying collection + * doesn't support null values. + */ + public boolean contains(Object o) + { + return c.contains(o); + } + + /** + * Test whether the underlying collection contains every element in a given + * collection. + * + * @param coll the collection to test for. + * @return true if for every element o in c, contains(o) would + * return true. + * @throws ClassCastException if the type of any element in c is not a + * valid type for the underlying collection. + * @throws NullPointerException if some element of c is null and the + * underlying collection does not support + * null values. + * @throws NullPointerException if c itself is null. + */ + public boolean containsAll(Collection coll) + { + return c.containsAll(coll); + } + + /** + * Tests whether the underlying collection is empty, that is, + * if size() == 0. + * + * @return true if this collection contains no elements. + */ + public boolean isEmpty() + { + return c.isEmpty(); + } + + /** + * Obtain an Iterator over the underlying collection, which maintains + * its checked nature. + * + * @return a Iterator over the elements of the underlying + * collection, in any order. + */ + public Iterator iterator() + { + return new CheckedIterator(c.iterator(), type); + } + + /** + * Removes the supplied object from the collection, if it exists. + * + * @param o The object to remove. + * @return true if the object was removed (i.e. the underlying + * collection returned 1 or more instances of o). + */ + public boolean remove(Object o) + { + return c.remove(o); + } + + /** + * Removes all objects in the supplied collection from the backing + * collection, if they exist within it. + * + * @param coll the collection of objects to remove. + * @return true if the collection was modified. + */ + public boolean removeAll(Collection coll) + { + return c.removeAll(coll); + } + + /** + * Retains all objects specified by the supplied collection which exist + * within the backing collection, and removes all others. + * + * @param coll the collection of objects to retain. + * @return true if the collection was modified. + */ + public boolean retainAll(Collection coll) + { + return c.retainAll(coll); + } + + /** + * Retrieves the number of elements in the underlying collection. + * + * @return the number of elements in the collection. + */ + public int size() + { + return c.size(); + } + + /** + * Copy the current contents of the underlying collection into an array. + * + * @return an array of type Object[] with a length equal to the size of the + * underlying collection and containing the elements currently in + * the underlying collection, in any order. + */ + public Object[] toArray() + { + return c.toArray(); + } + + /** + *

    + * Copy the current contents of the underlying collection into an array. If + * the array passed as an argument has length less than the size of the + * underlying collection, an array of the same run-time type as a, with a + * length equal to the size of the underlying collection, is allocated + * using reflection. + *

    + *

    + * Otherwise, a itself is used. The elements of the underlying collection + * are copied into it, and if there is space in the array, the following + * element is set to null. The resultant array is returned. + *

    + *

    + * Note: The fact that the following element is set to null + * is only useful if it is known that this collection does not contain + * any null elements. + * + * @param a the array to copy this collection into. + * @return an array containing the elements currently in the underlying + * collection, in any order. + * @throws ArrayStoreException if the type of any element of the + * collection is not a subtype of the element type of a. + */ + public S[] toArray(S[] a) + { + return c.toArray(a); + } + + /** + * A textual representation of the unmodifiable collection. + * + * @return The checked collection in the form of a String. + */ + public String toString() + { + return c.toString(); + } + } // class CheckedCollection + + /** + * The implementation of the various iterator methods in the + * checked classes. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class CheckedIterator + implements Iterator + { + /** + * The wrapped iterator. + */ + private final Iterator i; + + /** + * The type of the elements of this collection. + * @serial the element type. + */ + final Class type; + + /** + * Only trusted code creates a wrapper. + * @param i the wrapped iterator + * @param type the type of the elements within the checked list. + */ + CheckedIterator(Iterator i, Class type) + { + this.i = i; + this.type = type; + } + + /** + * Obtains the next element in the underlying collection. + * + * @return the next element in the collection. + * @throws NoSuchElementException if there are no more elements. + */ + public E next() + { + return i.next(); + } + + /** + * Tests whether there are still elements to be retrieved from the + * underlying collection by next(). When this method + * returns true, an exception will not be thrown on calling + * next(). + * + * @return true if there is at least one more element in the + * underlying collection. + */ + public boolean hasNext() + { + return i.hasNext(); + } + + /** + * Removes the next element from the collection. + */ + public void remove() + { + i.remove(); + } + } // class CheckedIterator + + /** + *

    + * Returns a dynamically typesafe view of the given list, + * where any modification is first checked to ensure that the type + * of the new data is appropriate. Although the addition of + * generics and parametrically-typed collections prevents an + * incorrect type of element being added to a collection at + * compile-time, via static type checking, this can be overridden by + * casting. In contrast, wrapping the collection within a + * dynamically-typesafe wrapper, using this and associated methods, + * guarantees that the collection will only contain + * elements of an appropriate type (provided it only contains such + * at the type of wrapping, and all subsequent access is via the + * wrapper). This can be useful for debugging the cause of a + * ClassCastException caused by erroneous casting, or + * for protecting collections from corruption by external libraries. + *

    + *

    + * The returned List implements Serializable, but can only be serialized if + * the list it wraps is likewise Serializable. In addition, if the wrapped + * list implements RandomAccess, this does too. + *

    + * + * @param l the list to wrap + * @param type the type of the elements within the checked list. + * @return a dynamically typesafe view of the list + * @see Serializable + * @see RandomAccess + */ + public static List checkedList(List l, Class type) + { + if (l instanceof RandomAccess) + return new CheckedRandomAccessList(l, type); + return new CheckedList(l, type); + } + + /** + * The implementation of {@link #checkedList(List,Class)} for sequential + * lists. This class name is required for compatibility with Sun's JDK + * serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class CheckedList + extends CheckedCollection + implements List + { + /** + * Compatible with JDK 1.5. + */ + private static final long serialVersionUID = 65247728283967356L; + + /** + * The wrapped list; stored both here and in the superclass to avoid + * excessive casting. Package visible for use by subclass. + * @serial the wrapped list + */ + final List list; + + /** + * Wrap a given list. + * @param l the list to wrap + * @param type the type of the elements within the checked list. + * @throws NullPointerException if l is null + */ + CheckedList(List l, Class type) + { + super(l, type); + list = l; + } + + /** + * Adds the supplied element to the underlying list at the specified + * index, provided it is of the right type. + * + * @param index The index at which to place the new element. + * @param o the object to add. + * @throws ClassCastException if the type of the object is not a + * valid type for the underlying collection. + */ + public void add(int index, E o) + { + if (type.isInstance(o)) + list.add(index, o); + else + throw new ClassCastException("The object is of the wrong type."); + } + + /** + * Adds the members of the supplied collection to the underlying + * collection at the specified index, provided they are all of the + * correct type. + * + * @param index the index at which to place the new element. + * @param c the collections of objects to add. + * @throws ClassCastException if the type of any element in c is not a + * valid type for the underlying collection. + */ + public boolean addAll(int index, Collection coll) + { + Collection typedColl = (Collection) coll; + for (E element : typedColl) + { + if (!type.isInstance(element)) + throw new ClassCastException("A member of the collection is not of the correct type."); + } + return list.addAll(index, coll); + } + + /** + * Returns true if the object, o, is an instance of + * List with the same size and elements + * as the underlying list. + * + * @param o The object to compare. + * @return true if o is equivalent to the underlying list. + */ + public boolean equals(Object o) + { + return list.equals(o); + } + + /** + * Retrieves the element at a given index in the underlying list. + * + * @param index the index of the element to be returned + * @return the element at the specified index in the underlying list + * @throws IndexOutOfBoundsException if index < 0 || index >= size() + */ + public E get(int index) + { + return list.get(index); + } + + /** + * Computes the hash code for the underlying list. + * The exact computation is described in the documentation + * of the List interface. + * + * @return The hash code of the underlying list. + * @see List#hashCode() + */ + public int hashCode() + { + return list.hashCode(); + } + + /** + * Obtain the first index at which a given object is to be found in the + * underlying list. + * + * @param o the object to search for + * @return the least integer n such that o == null ? get(n) == null : + * o.equals(get(n)), or -1 if there is no such index. + * @throws ClassCastException if the type of o is not a valid + * type for the underlying list. + * @throws NullPointerException if o is null and the underlying + * list does not support null values. + */ + public int indexOf(Object o) + { + return list.indexOf(o); + } + + /** + * Obtain the last index at which a given object is to be found in the + * underlying list. + * + * @return the greatest integer n such that + * o == null ? get(n) == null : o.equals(get(n)), + * or -1 if there is no such index. + * @throws ClassCastException if the type of o is not a valid + * type for the underlying list. + * @throws NullPointerException if o is null and the underlying + * list does not support null values. + */ + public int lastIndexOf(Object o) + { + return list.lastIndexOf(o); + } + + /** + * Obtains a list iterator over the underlying list, starting at the + * beginning and maintaining the checked nature of this list. + * + * @return a CheckedListIterator over the elements of the + * underlying list, in order, starting at the beginning. + */ + public ListIterator listIterator() + { + return new CheckedListIterator(list.listIterator(), type); + } + + /** + * Obtains a list iterator over the underlying list, starting at the + * specified index and maintaining the checked nature of this list. An + * initial call to next() will retrieve the element at the + * specified index, and an initial call to previous() will + * retrieve the element at index - 1. + * + * @param index the position, between 0 and size() inclusive, to begin the + * iteration from. + * @return a CheckedListIterator over the elements of the + * underlying list, in order, starting at the specified index. + * @throws IndexOutOfBoundsException if index < 0 || index > size() + */ + public ListIterator listIterator(int index) + { + return new CheckedListIterator(list.listIterator(index), type); + } + + /** + * Removes the element at the specified index. + * + * @param index The index of the element to remove. + * @return the removed element. + */ + public E remove(int index) + { + return list.remove(index); + } + + /** + * Replaces the element at the specified index in the underlying list + * with that supplied. + * + * @param index the index of the element to replace. + * @param o the new object to place at the specified index. + * @return the replaced element. + */ + public E set(int index, E o) + { + return list.set(index, o); + } + + /** + * Obtain a List view of a subsection of the underlying list, from + * fromIndex (inclusive) to toIndex (exclusive). If the two indices + * are equal, the sublist is empty. The returned list will be + * checked, like this list. Changes to the elements of the + * returned list will be reflected in the underlying list. The effect + * of structural modifications is undefined. + * + * @param fromIndex the index that the returned list should start from + * (inclusive). + * @param toIndex the index that the returned list should go + * to (exclusive). + * @return a List backed by a subsection of the underlying list. + * @throws IndexOutOfBoundsException if fromIndex < 0 + * || toIndex > size() || fromIndex > toIndex. + */ + public List subList(int fromIndex, int toIndex) + { + return checkedList(list.subList(fromIndex, toIndex), type); + } + } // class CheckedList + + /** + * The implementation of {@link #checkedList(List)} for random-access + * lists. This class name is required for compatibility with Sun's JDK + * serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class CheckedRandomAccessList + extends CheckedList + implements RandomAccess + { + /** + * Compatible with JDK 1.5. + */ + private static final long serialVersionUID = 1638200125423088369L; + + /** + * Wrap a given list. + * @param l the list to wrap + * @param type the type of the elements within the checked list. + * @throws NullPointerException if l is null + */ + CheckedRandomAccessList(List l, Class type) + { + super(l, type); + } + } // class CheckedRandomAccessList + + /** + * The implementation of {@link CheckedList#listIterator()}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class CheckedListIterator + extends CheckedIterator + implements ListIterator + { + /** + * The wrapped iterator, stored both here and in the superclass to + * avoid excessive casting. + */ + private final ListIterator li; + + /** + * Only trusted code creates a wrapper. + * @param li the wrapped iterator + */ + CheckedListIterator(ListIterator li, Class type) + { + super(li, type); + this.li = li; + } + + /** + * Adds the supplied object at the current iterator position, provided + * it is of the correct type. + * + * @param o the object to add. + * @throws ClassCastException if the type of the object is not a + * valid type for the underlying collection. + */ + public void add(E o) + { + if (type.isInstance(o)) + li.add(o); + else + throw new ClassCastException("The object is of the wrong type."); + } + + /** + * Tests whether there are still elements to be retrieved from the + * underlying collection by previous(). When this method + * returns true, an exception will not be thrown on calling + * previous(). + * + * @return true if there is at least one more element prior + * to the current position in the underlying list. + */ + public boolean hasPrevious() + { + return li.hasPrevious(); + } + + /** + * Find the index of the element that would be returned by a call to next. + * If hasNext() returns false, this returns the + * list size. + * + * @return the index of the element that would be returned by + * next(). + */ + public int nextIndex() + { + return li.nextIndex(); + } + + /** + * Obtains the previous element in the underlying list. + * + * @return the previous element in the list. + * @throws NoSuchElementException if there are no more prior elements. + */ + public E previous() + { + return li.previous(); + } + + /** + * Find the index of the element that would be returned by a call to + * previous. If hasPrevious() returns false, + * this returns -1. + * + * @return the index of the element that would be returned by + * previous(). + */ + public int previousIndex() + { + return li.previousIndex(); + } + + /** + * Sets the next element to that supplied, provided that it is of the + * correct type. + * + * @param o The new object to replace the existing one. + * @throws ClassCastException if the type of the object is not a + * valid type for the underlying collection. + */ + public void set(E o) + { + if (type.isInstance(o)) + li.set(o); + else + throw new ClassCastException("The object is of the wrong type."); + } + } // class CheckedListIterator + + /** + *

    + * Returns a dynamically typesafe view of the given map, + * where any modification is first checked to ensure that the type + * of the new data is appropriate. Although the addition of + * generics and parametrically-typed collections prevents an + * incorrect type of element being added to a collection at + * compile-time, via static type checking, this can be overridden by + * casting. In contrast, wrapping the collection within a + * dynamically-typesafe wrapper, using this and associated methods, + * guarantees that the collection will only contain + * elements of an appropriate type (provided it only contains such + * at the type of wrapping, and all subsequent access is via the + * wrapper). This can be useful for debugging the cause of a + * ClassCastException caused by erroneous casting, or + * for protecting collections from corruption by external libraries. + *

    + *

    + * The returned Map implements Serializable, but can only be serialized if + * the map it wraps is likewise Serializable. + *

    + * + * @param m the map to wrap + * @param keyType the dynamic type of the map's keys. + * @param valueType the dynamic type of the map's values. + * @return a dynamically typesafe view of the map + * @see Serializable + */ + public static Map checkedMap(Map m, Class keyType, + Class valueType) + { + return new CheckedMap(m, keyType, valueType); + } + + /** + * The implementation of {@link #checkedMap(Map)}. This + * class name is required for compatibility with Sun's JDK serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class CheckedMap + implements Map, Serializable + { + /** + * Compatible with JDK 1.5. + */ + private static final long serialVersionUID = 5742860141034234728L; + + /** + * The wrapped map. + * @serial the real map + */ + private final Map m; + + /** + * The type of the map's keys. + * @serial the key type. + */ + final Class keyType; + + /** + * The type of the map's values. + * @serial the value type. + */ + final Class valueType; + + /** + * Cache the entry set. + */ + private transient Set> entries; + + /** + * Cache the key set. + */ + private transient Set keys; + + /** + * Cache the value collection. + */ + private transient Collection values; + + /** + * Wrap a given map. + * @param m the map to wrap + * @param keyType the dynamic type of the map's keys. + * @param valueType the dynamic type of the map's values. + * @throws NullPointerException if m is null + */ + CheckedMap(Map m, Class keyType, Class valueType) + { + this.m = m; + this.keyType = keyType; + this.valueType = valueType; + if (m == null) + throw new NullPointerException(); + } + + /** + * Clears all pairs from the map. + */ + public void clear() + { + m.clear(); + } + + /** + * Returns true if the underlying map contains a mapping for + * the given key. + * + * @param key the key to search for + * @return true if the map contains the key + * @throws ClassCastException if the key is of an inappropriate type + * @throws NullPointerException if key is null but the map + * does not permit null keys + */ + public boolean containsKey(Object key) + { + return m.containsKey(key); + } + + /** + * Returns true if the underlying map contains at least one + * mapping with the given value. In other words, it returns + * true if a value v exists where + * (value == null ? v == null : value.equals(v)). + * This usually requires linear time. + * + * @param value the value to search for + * @return true if the map contains the value + * @throws ClassCastException if the type of the value is not a valid type + * for this map. + * @throws NullPointerException if the value is null and the map doesn't + * support null values. + */ + public boolean containsValue(Object value) + { + return m.containsValue(value); + } + + /** + *

    + * Returns a checked set view of the entries in the underlying map. + * Each element in the set is a unmodifiable variant of + * Map.Entry. + *

    + *

    + * The set is backed by the map, so that changes in one show up in the + * other. Modifications made while an iterator is in progress cause + * undefined behavior. + *

    + * + * @return the checked set view of all mapping entries. + * @see Map.Entry + */ + public Set> entrySet() + { + if (entries == null) + { + Class> klass = + (Class>) (Class) Map.Entry.class; + entries = new CheckedEntrySet,K,V>(m.entrySet(), + klass, + keyType, + valueType); + } + return entries; + } + + /** + * The implementation of {@link CheckedMap#entrySet()}. This class + * is not serializable. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static final class CheckedEntrySet + extends CheckedSet + { + /** + * The type of the map's keys. + * @serial the key type. + */ + private final Class keyType; + + /** + * The type of the map's values. + * @serial the value type. + */ + private final Class valueType; + + /** + * Wrap a given set of map entries. + * + * @param s the set to wrap. + * @param type the type of the set's entries. + * @param keyType the type of the map's keys. + * @param valueType the type of the map's values. + */ + CheckedEntrySet(Set s, Class type, Class keyType, + Class valueType) + { + super(s, type); + this.keyType = keyType; + this.valueType = valueType; + } + + // The iterator must return checked map entries. + public Iterator iterator() + { + return new CheckedIterator(c.iterator(), type) + { + /** + * Obtains the next element from the underlying set of + * map entries. + * + * @return the next element in the collection. + * @throws NoSuchElementException if there are no more elements. + */ + public E next() + { + final Map.Entry e = (Map.Entry) super.next(); + return (E) new Map.Entry() + { + /** + * Returns true if the object, o, is also a map + * entry with an identical key and value. + * + * @param o the object to compare. + * @return true if o is an equivalent map entry. + */ + public boolean equals(Object o) + { + return e.equals(o); + } + + /** + * Returns the key of this map entry. + * + * @return the key. + */ + public Object getKey() + { + return e.getKey(); + } + + /** + * Returns the value of this map entry. + * + * @return the value. + */ + public Object getValue() + { + return e.getValue(); + } + + /** + * Computes the hash code of this map entry. + * The computation is described in the Map + * interface documentation. + * + * @return the hash code of this entry. + * @see Map#hashCode() + */ + public int hashCode() + { + return e.hashCode(); + } + + /** + * Sets the value of this map entry, provided it is of the + * right type. + * + * @param value The new value. + * @throws ClassCastException if the type of the value is not + * a valid type for the underlying + * map. + */ + public Object setValue(Object value) + { + if (valueType.isInstance(value)) + return e.setValue(value); + else + throw new ClassCastException("The value is of the wrong type."); + } + + /** + * Returns a textual representation of the map entry. + * + * @return The map entry as a String. + */ + public String toString() + { + return e.toString(); + } + }; + } + }; + } + } // class CheckedEntrySet + + /** + * Returns true if the object, o, is also an instance + * of Map with an equal set of map entries. + * + * @param o The object to compare. + * @return true if o is an equivalent map. + */ + public boolean equals(Object o) + { + return m.equals(o); + } + + /** + * Returns the value associated with the supplied key or + * null if no such mapping exists. An ambiguity can occur + * if null values are accepted by the underlying map. + * In this case, containsKey() can be used + * to separate the two possible cases of a null result. + * + * @param key The key to look up. + * @return the value associated with the key, or null if key not in map. + * @throws ClassCastException if the key is an inappropriate type. + * @throws NullPointerException if this map does not accept null keys. + * @see #containsKey(Object) + */ + public V get(Object key) + { + return m.get(key); + } + + /** + * Adds a new pair to the map, provided both the key and the value are + * of the correct types. + * + * @param key The new key. + * @param value The new value. + * @return the previous value of the key, or null if there was no mapping. + * @throws ClassCastException if the type of the key or the value is + * not a valid type for the underlying map. + */ + public V put(K key, V value) + { + if (keyType.isInstance(key)) + { + if (valueType.isInstance(value)) + return m.put(key,value); + else + throw new ClassCastException("The value is of the wrong type."); + } + throw new ClassCastException("The key is of the wrong type."); + } + + /** + * Computes the hash code for the underlying map, as the sum + * of the hash codes of all entries. + * + * @return The hash code of the underlying map. + * @see Map.Entry#hashCode() + */ + public int hashCode() + { + return m.hashCode(); + } + + /** + * Returns true if the underlying map contains no entries. + * + * @return true if the map is empty. + */ + public boolean isEmpty() + { + return m.isEmpty(); + } + + /** + *

    + * Returns a checked set view of the keys in the underlying map. + * The set is backed by the map, so that changes in one show up in the + * other. + *

    + *

    + * Modifications made while an iterator is in progress cause undefined + * behavior. These modifications are again limited to the values of + * the keys. + *

    + * + * @return the set view of all keys. + */ + public Set keySet() + { + if (keys == null) + keys = new CheckedSet(m.keySet(), keyType); + return keys; + } + + /** + * Adds all pairs within the supplied map to the underlying map, + * provided they are all have the correct key and value types. + * + * @param m the map, the entries of which should be added + * to the underlying map. + * @throws ClassCastException if the type of a key or value is + * not a valid type for the underlying map. + */ + public void putAll(Map map) + { + Map typedMap = (Map) map; + for (Map.Entry entry : typedMap.entrySet()) + { + if (!keyType.isInstance(entry.getKey())) + throw new ClassCastException("A key is of the wrong type."); + if (!valueType.isInstance(entry.getValue())) + throw new ClassCastException("A value is of the wrong type."); + } + m.putAll(typedMap); + } + + /** + * Removes a pair from the map. + * + * @param o The key of the entry to remove. + * @return The value the key was associated with, or null + * if no such mapping existed. Null is also returned + * if the removed entry had a null key. + * @throws UnsupportedOperationException as an unmodifiable + * map does not support the remove operation. + */ + public V remove(Object o) + { + return m.remove(o); + } + + + /** + * Returns the number of key-value mappings in the underlying map. + * If there are more than Integer.MAX_VALUE mappings, Integer.MAX_VALUE + * is returned. + * + * @return the number of mappings. + */ + public int size() + { + return m.size(); + } + + /** + * Returns a textual representation of the map. + * + * @return The map in the form of a String. + */ + public String toString() + { + return m.toString(); + } + + /** + *

    + * Returns a unmodifiable collection view of the values in the underlying + * map. The collection is backed by the map, so that changes in one show + * up in the other. + *

    + *

    + * Modifications made while an iterator is in progress cause undefined + * behavior. These modifications are again limited to the values of + * the keys. + *

    + * + * @return the collection view of all values. + */ + public Collection values() + { + if (values == null) + values = new CheckedCollection(m.values(), valueType); + return values; + } + } // class CheckedMap + + /** + *

    + * Returns a dynamically typesafe view of the given set, + * where any modification is first checked to ensure that the type + * of the new data is appropriate. Although the addition of + * generics and parametrically-typed collections prevents an + * incorrect type of element being added to a collection at + * compile-time, via static type checking, this can be overridden by + * casting. In contrast, wrapping the collection within a + * dynamically-typesafe wrapper, using this and associated methods, + * guarantees that the collection will only contain + * elements of an appropriate type (provided it only contains such + * at the type of wrapping, and all subsequent access is via the + * wrapper). This can be useful for debugging the cause of a + * ClassCastException caused by erroneous casting, or + * for protecting collections from corruption by external libraries. + *

    + *

    + * The returned Set implements Serializable, but can only be serialized if + * the set it wraps is likewise Serializable. + *

    + * + * @param s the set to wrap. + * @param type the type of the elements within the checked list. + * @return a dynamically typesafe view of the set + * @see Serializable + */ + public static Set checkedSet(Set s, Class type) + { + return new CheckedSet(s, type); + } + + /** + * The implementation of {@link #checkedSet(Set)}. This class + * name is required for compatibility with Sun's JDK serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class CheckedSet + extends CheckedCollection + implements Set + { + /** + * Compatible with JDK 1.5. + */ + private static final long serialVersionUID = 4694047833775013803L; + + /** + * Wrap a given set. + * + * @param s the set to wrap + * @throws NullPointerException if s is null + */ + CheckedSet(Set s, Class type) + { + super(s, type); + } + + /** + * Returns true if the object, o, is also an instance of + * Set of the same size and with the same entries. + * + * @return true if o is an equivalent set. + */ + public boolean equals(Object o) + { + return c.equals(o); + } + + /** + * Computes the hash code of this set, as the sum of the + * hash codes of all elements within the set. + * + * @return the hash code of the set. + */ + public int hashCode() + { + return c.hashCode(); + } + } // class CheckedSet + + /** + *

    + * Returns a dynamically typesafe view of the given sorted map, + * where any modification is first checked to ensure that the type + * of the new data is appropriate. Although the addition of + * generics and parametrically-typed collections prevents an + * incorrect type of element being added to a collection at + * compile-time, via static type checking, this can be overridden by + * casting. In contrast, wrapping the collection within a + * dynamically-typesafe wrapper, using this and associated methods, + * guarantees that the collection will only contain + * elements of an appropriate type (provided it only contains such + * at the type of wrapping, and all subsequent access is via the + * wrapper). This can be useful for debugging the cause of a + * ClassCastException caused by erroneous casting, or + * for protecting collections from corruption by external libraries. + *

    + *

    + * The returned SortedMap implements Serializable, but can only be + * serialized if the map it wraps is likewise Serializable. + *

    + * + * @param m the map to wrap. + * @param keyType the dynamic type of the map's keys. + * @param valueType the dynamic type of the map's values. + * @return a dynamically typesafe view of the map + * @see Serializable + */ + public static SortedMap checkedSortedMap(SortedMap m, + Class keyType, + Class valueType) + { + return new CheckedSortedMap(m, keyType, valueType); + } + + /** + * The implementation of {@link #checkedSortedMap(SortedMap,Class,Class)}. + * This class name is required for compatibility with Sun's JDK + * serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class CheckedSortedMap + extends CheckedMap + implements SortedMap + { + /** + * Compatible with JDK 1.5. + */ + private static final long serialVersionUID = 1599671320688067438L; + + /** + * The wrapped map; stored both here and in the superclass to avoid + * excessive casting. + * @serial the wrapped map + */ + private final SortedMap sm; + + /** + * Wrap a given map. + * + * @param sm the map to wrap + * @param keyType the dynamic type of the map's keys. + * @param valueType the dynamic type of the map's values. + * @throws NullPointerException if sm is null + */ + CheckedSortedMap(SortedMap sm, Class keyType, Class valueType) + { + super(sm, keyType, valueType); + this.sm = sm; + } + + /** + * Returns the comparator used in sorting the underlying map, + * or null if it is the keys' natural ordering. + * + * @return the sorting comparator. + */ + public Comparator comparator() + { + return sm.comparator(); + } + + /** + * Returns the first (lowest sorted) key in the map. + * + * @return the first key. + * @throws NoSuchElementException if this map is empty. + */ + public K firstKey() + { + return sm.firstKey(); + } + + /** + *

    + * Returns a checked view of the portion of the map strictly less + * than toKey. The view is backed by the underlying map, so changes in + * one show up in the other. The submap supports all optional operations + * of the original. This operation is equivalent to + * subMap(firstKey(), toKey). + *

    + *

    + * The returned map throws an IllegalArgumentException any time a key is + * used which is out of the range of toKey. Note that the endpoint, toKey, + * is not included; if you want this value to be included, pass its + * successor object in to toKey. For example, for Integers, you could + * request headMap(new Integer(limit.intValue() + 1)). + *

    + * + * @param toKey the exclusive upper range of the submap. + * @return the submap. + * @throws ClassCastException if toKey is not comparable to the map + * contents. + * @throws IllegalArgumentException if this is a subMap, and toKey is out + * of range. + * @throws NullPointerException if toKey is null but the map does not allow + * null keys. + */ + public SortedMap headMap(K toKey) + { + return new CheckedSortedMap(sm.headMap(toKey), keyType, valueType); + } + + /** + * Returns the last (highest sorted) key in the map. + * + * @return the last key. + * @throws NoSuchElementException if this map is empty. + */ + public K lastKey() + { + return sm.lastKey(); + } + + /** + *

    + * Returns a checked view of the portion of the map greater than or + * equal to fromKey, and strictly less than toKey. The view is backed by + * the underlying map, so changes in one show up in the other. The submap + * supports all optional operations of the original. + *

    + *

    + * The returned map throws an IllegalArgumentException any time a key is + * used which is out of the range of fromKey and toKey. Note that the + * lower endpoint is included, but the upper is not; if you want to + * change the inclusion or exclusion of an endpoint, pass its successor + * object in instead. For example, for Integers, you could request + * subMap(new Integer(lowlimit.intValue() + 1), + * new Integer(highlimit.intValue() + 1)) to reverse + * the inclusiveness of both endpoints. + *

    + * + * @param fromKey the inclusive lower range of the submap. + * @param toKey the exclusive upper range of the submap. + * @return the submap. + * @throws ClassCastException if fromKey or toKey is not comparable to + * the map contents. + * @throws IllegalArgumentException if this is a subMap, and fromKey or + * toKey is out of range. + * @throws NullPointerException if fromKey or toKey is null but the map + * does not allow null keys. + */ + public SortedMap subMap(K fromKey, K toKey) + { + return new CheckedSortedMap(sm.subMap(fromKey, toKey), keyType, + valueType); + } + + /** + *

    + * Returns a checked view of the portion of the map greater than or + * equal to fromKey. The view is backed by the underlying map, so changes + * in one show up in the other. The submap supports all optional operations + * of the original. + *

    + *

    + * The returned map throws an IllegalArgumentException any time a key is + * used which is out of the range of fromKey. Note that the endpoint, + * fromKey, is included; if you do not want this value to be included, + * pass its successor object in to fromKey. For example, for Integers, + * you could request + * tailMap(new Integer(limit.intValue() + 1)). + *

    + * + * @param fromKey the inclusive lower range of the submap + * @return the submap + * @throws ClassCastException if fromKey is not comparable to the map + * contents + * @throws IllegalArgumentException if this is a subMap, and fromKey is out + * of range + * @throws NullPointerException if fromKey is null but the map does not + * allow null keys + */ + public SortedMap tailMap(K fromKey) + { + return new CheckedSortedMap(sm.tailMap(fromKey), keyType, + valueType); + } + } // class CheckedSortedMap + + /** + *

    + * Returns a dynamically typesafe view of the given sorted set, + * where any modification is first checked to ensure that the type + * of the new data is appropriate. Although the addition of + * generics and parametrically-typed collections prevents an + * incorrect type of element being added to a collection at + * compile-time, via static type checking, this can be overridden by + * casting. In contrast, wrapping the collection within a + * dynamically-typesafe wrapper, using this and associated methods, + * guarantees that the collection will only contain + * elements of an appropriate type (provided it only contains such + * at the type of wrapping, and all subsequent access is via the + * wrapper). This can be useful for debugging the cause of a + * ClassCastException caused by erroneous casting, or + * for protecting collections from corruption by external libraries. + *

    + *

    + * The returned SortedSet implements Serializable, but can only be + * serialized if the set it wraps is likewise Serializable. + *

    + * + * @param s the set to wrap. + * @param type the type of the set's elements. + * @return a dynamically typesafe view of the set + * @see Serializable + */ + public static SortedSet checkedSortedSet(SortedSet s, + Class type) + { + return new CheckedSortedSet(s, type); + } + + /** + * The implementation of {@link #checkedSortedSet(SortedSet,Class)}. This + * class name is required for compatibility with Sun's JDK serializability. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class CheckedSortedSet + extends CheckedSet + implements SortedSet + { + /** + * Compatible with JDK 1.4. + */ + private static final long serialVersionUID = 1599911165492914959L; + + /** + * The wrapped set; stored both here and in the superclass to avoid + * excessive casting. + * + * @serial the wrapped set + */ + private SortedSet ss; + + /** + * Wrap a given set. + * + * @param ss the set to wrap. + * @param type the type of the set's elements. + * @throws NullPointerException if ss is null + */ + CheckedSortedSet(SortedSet ss, Class type) + { + super(ss, type); + this.ss = ss; + } + + /** + * Returns the comparator used in sorting the underlying set, + * or null if it is the elements' natural ordering. + * + * @return the sorting comparator + */ + public Comparator comparator() + { + return ss.comparator(); + } + + /** + * Returns the first (lowest sorted) element in the underlying + * set. + * + * @return the first element. + * @throws NoSuchElementException if the set is empty. + */ + public E first() + { + return ss.first(); + } + + /** + *

    + * Returns a checked view of the portion of the set strictly + * less than toElement. The view is backed by the underlying set, + * so changes in one show up in the other. The subset supports + * all optional operations of the original. This operation + * is equivalent to subSet(first(), toElement). + *

    + *

    + * The returned set throws an IllegalArgumentException any time an + * element is used which is out of the range of toElement. Note that + * the endpoint, toElement, is not included; if you want this value + * included, pass its successor object in to toElement. For example, + * for Integers, you could request + * headSet(new Integer(limit.intValue() + 1)). + *

    + * + * @param toElement the exclusive upper range of the subset + * @return the subset. + * @throws ClassCastException if toElement is not comparable to the set + * contents. + * @throws IllegalArgumentException if this is a subSet, and toElement is + * out of range. + * @throws NullPointerException if toElement is null but the set does not + * allow null elements. + */ + public SortedSet headSet(E toElement) + { + return new CheckedSortedSet(ss.headSet(toElement), type); + } + + /** + * Returns the last (highest sorted) element in the underlying + * set. + * + * @return the last element. + * @throws NoSuchElementException if the set is empty. + */ + public E last() + { + return ss.last(); + } + + /** + *

    + * Returns a checked view of the portion of the set greater than or + * equal to fromElement, and strictly less than toElement. The view is + * backed by the underlying set, so changes in one show up in the other. + * The subset supports all optional operations of the original. + *

    + *

    + * The returned set throws an IllegalArgumentException any time an + * element is used which is out of the range of fromElement and toElement. + * Note that the lower endpoint is included, but the upper is not; if you + * want to change the inclusion or exclusion of an endpoint, pass its + * successor object in instead. For example, for Integers, you can request + * subSet(new Integer(lowlimit.intValue() + 1), + * new Integer(highlimit.intValue() + 1)) to reverse + * the inclusiveness of both endpoints. + *

    + * + * @param fromElement the inclusive lower range of the subset. + * @param toElement the exclusive upper range of the subset. + * @return the subset. + * @throws ClassCastException if fromElement or toElement is not comparable + * to the set contents. + * @throws IllegalArgumentException if this is a subSet, and fromElement or + * toElement is out of range. + * @throws NullPointerException if fromElement or toElement is null but the + * set does not allow null elements. + */ + public SortedSet subSet(E fromElement, E toElement) + { + return new CheckedSortedSet(ss.subSet(fromElement, toElement), type); + } + + /** + *

    + * Returns a checked view of the portion of the set greater than or equal + * to fromElement. The view is backed by the underlying set, so changes in + * one show up in the other. The subset supports all optional operations + * of the original. + *

    + *

    + * The returned set throws an IllegalArgumentException any time an + * element is used which is out of the range of fromElement. Note that + * the endpoint, fromElement, is included; if you do not want this value + * to be included, pass its successor object in to fromElement. For + * example, for Integers, you could request + * tailSet(new Integer(limit.intValue() + 1)). + *

    + * + * @param fromElement the inclusive lower range of the subset + * @return the subset. + * @throws ClassCastException if fromElement is not comparable to the set + * contents. + * @throws IllegalArgumentException if this is a subSet, and fromElement is + * out of range. + * @throws NullPointerException if fromElement is null but the set does not + * allow null elements. + */ + public SortedSet tailSet(E fromElement) + { + return new CheckedSortedSet(ss.tailSet(fromElement), type); + } + } // class CheckedSortedSet + } // class Collections diff --git a/libjava/classpath/java/util/Comparator.java b/libjava/classpath/java/util/Comparator.java index 386bdc1d6a2..ca414e7b13f 100644 --- a/libjava/classpath/java/util/Comparator.java +++ b/libjava/classpath/java/util/Comparator.java @@ -1,5 +1,5 @@ /* Comparator.java -- Interface for objects that specify an ordering - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -71,7 +71,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface Comparator +public interface Comparator { /** * Return an integer that is negative, zero or positive depending on whether @@ -102,7 +102,7 @@ public interface Comparator * @throws ClassCastException if the elements are not of types that can be * compared by this ordering. */ - int compare(Object o1, Object o2); + int compare(T o1, T o2); /** * Return true if the object is equal to this object. To be diff --git a/libjava/classpath/java/util/Date.java b/libjava/classpath/java/util/Date.java index aecca29b39e..5c43bf3c154 100644 --- a/libjava/classpath/java/util/Date.java +++ b/libjava/classpath/java/util/Date.java @@ -108,7 +108,7 @@ import java.text.SimpleDateFormat; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class Date - implements Cloneable, Comparable, Serializable + implements Cloneable, Comparable, Serializable { /** * This is the serialization UID for this class @@ -353,24 +353,6 @@ public class Date return (time < when.time) ? -1 : (time == when.time) ? 0 : 1; } - /** - * Compares this Date to another object. This behaves like - * compareTo(Date), but it takes a generic object - * and throws a ClassCastException if obj is - * not a Date. - * - * @param obj the other date. - * @return 0, if the date represented - * by obj is exactly the same as the time represented by this - * object, a negative if this Date is before the other Date, and - * a positive value otherwise. - * @exception ClassCastException if obj is not of type Date. - */ - public int compareTo(Object obj) - { - return compareTo((Date) obj); - } - /** * Computes the hash code of this Date as the * XOR of the most significant and the least significant diff --git a/libjava/classpath/java/util/Dictionary.java b/libjava/classpath/java/util/Dictionary.java index 0d44ab67de1..7b82a9f644d 100644 --- a/libjava/classpath/java/util/Dictionary.java +++ b/libjava/classpath/java/util/Dictionary.java @@ -1,6 +1,6 @@ /* Dictionary.java -- an abstract (and essentially worthless) class which is Hashtable's superclass - Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -57,7 +57,7 @@ package java.util; * @since 1.0 * @status updated to 1.4 */ -public abstract class Dictionary +public abstract class Dictionary { // WARNING: Dictionary is a CORE class in the bootstrap cycle. See the // comments in vm/reference/java/lang/Runtime for implications of this fact. @@ -75,7 +75,7 @@ public abstract class Dictionary * @return an Enumeration of the values * @see #keys() */ - public abstract Enumeration elements(); + public abstract Enumeration elements(); /** * Returns the value associated with the supplied key, or null @@ -87,7 +87,7 @@ public abstract class Dictionary * @throws NullPointerException if key is null * @see #put(Object, Object) */ - public abstract Object get(Object key); + public abstract V get(Object key); /** * Returns true when there are no elements in this Dictionary. @@ -102,7 +102,7 @@ public abstract class Dictionary * @return an Enumeration of the keys * @see #elements() */ - public abstract Enumeration keys(); + public abstract Enumeration keys(); /** * Inserts a new value into this Dictionary, located by the @@ -115,7 +115,7 @@ public abstract class Dictionary * @throws NullPointerException if key or value is null * @see #get(Object) */ - public abstract Object put(Object key, Object value); + public abstract V put(K key, V value); /** * Removes from the Dictionary the value located by the given key. A null @@ -125,7 +125,7 @@ public abstract class Dictionary * @return the value associated with the removed key * @throws NullPointerException if key is null */ - public abstract Object remove(Object key); + public abstract V remove(Object key); /** * Returns the number of values currently in this Dictionary. diff --git a/libjava/classpath/java/util/EnumMap.java b/libjava/classpath/java/util/EnumMap.java new file mode 100644 index 00000000000..477dff8e0ab --- /dev/null +++ b/libjava/classpath/java/util/EnumMap.java @@ -0,0 +1,394 @@ +/* EnumMap.java - Map where keys are enum constants + Copyright (C) 2004, 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. */ + + +package java.util; + +import java.io.Serializable; + +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + +public class EnumMap, V> + extends AbstractMap + implements Cloneable, Serializable +{ + private static final long serialVersionUID = 458661240069192865L; + + V[] store; + int cardinality; + Class enumClass; + + /** + * The cache for {@link #entrySet()}. + */ + transient Set> entries; + + static final Object emptySlot = new Object(); + + public EnumMap(Class keyType) + { + store = (V[]) new Object[keyType.getEnumConstants().length]; + Arrays.fill(store, emptySlot); + cardinality = 0; + enumClass = keyType; + } + + public EnumMap(EnumMap map) + { + store = (V[]) map.store.clone(); + cardinality = map.cardinality; + enumClass = map.enumClass; + } + + public EnumMap(Map map) + { + if (map instanceof EnumMap) + { + EnumMap other = (EnumMap) map; + store = (V[]) other.store.clone(); + cardinality = other.cardinality; + enumClass = other.enumClass; + } + else + { + for (K key : map.keySet()) + { + V value = map.get(key); + if (store == null) + { + enumClass = key.getDeclaringClass(); + store = (V[]) new Object[enumClass.getEnumConstants().length]; + } + int o = key.ordinal(); + if (store[o] == emptySlot) + ++cardinality; + store[o] = value; + } + // There must be a single element. + if (store == null) + throw new IllegalArgumentException("no elements in map"); + } + } + + public int size() + { + return cardinality; + } + + public boolean containsValue(Object value) + { + for (V i : store) + { + if (i != emptySlot && AbstractCollection.equals(i , value)) + return true; + } + return false; + } + + public boolean containsKey(Object key) + { + if (! (key instanceof Enum)) + return false; + Enum e = (Enum) key; + if (e.getDeclaringClass() != enumClass) + return false; + return store[e.ordinal()] != emptySlot; + } + + public V get(Object key) + { + if (! (key instanceof Enum)) + return null; + Enum e = (Enum) key; + if (e.getDeclaringClass() != enumClass) + return null; + return store[e.ordinal()]; + } + + public V put(K key, V value) + { + int o = key.ordinal(); + V result; + if (store[o] == emptySlot) + { + result = null; + ++cardinality; + } + else + result = store[o]; + store[o] = value; + return result; + } + + public V remove(Object key) + { + if (! (key instanceof Enum)) + return null; + Enum e = (Enum) key; + if (e.getDeclaringClass() != enumClass) + return null; + V result = store[e.ordinal()]; + if (result == emptySlot) + result = null; + else + --cardinality; + store[e.ordinal()] = (V) emptySlot; + return result; + } + + public void putAll(Map map) + { + for (K key : map.keySet()) + { + V value = map.get(key); + + int o = key.ordinal(); + if (store[o] == emptySlot) + ++cardinality; + store[o] = value; + } + } + + public void clear() + { + Arrays.fill(store, emptySlot); + cardinality = 0; + } + + public Set keySet() + { + if (keys == null) + { + keys = new AbstractSet() + { + public int size() + { + return cardinality; + } + + public Iterator iterator() + { + return new Iterator() + { + int count = 0; + int index = -1; + + public boolean hasNext() + { + return count < cardinality; + } + + public K next() + { + ++count; + for (++index; store[index] == emptySlot; ++index) + ; + return enumClass.getEnumConstants()[index]; + } + + public void remove() + { + --cardinality; + store[index] = (V) emptySlot; + } + }; + } + + public void clear() + { + EnumMap.this.clear(); + } + + public boolean contains(Object o) + { + return contains(o); + } + + public boolean remove(Object o) + { + return EnumMap.this.remove(o) != null; + } + }; + } + return keys; + } + + public Collection values() + { + if (values == null) + { + values = new AbstractCollection() + { + public int size() + { + return cardinality; + } + + public Iterator iterator() + { + return new Iterator() + { + int count = 0; + int index = -1; + + public boolean hasNext() + { + return count < cardinality; + } + + public V next() + { + ++count; + for (++index; store[index] == emptySlot; ++index) + ; + return store[index]; + } + + public void remove() + { + --cardinality; + store[index] = (V) emptySlot; + } + }; + } + + public void clear() + { + EnumMap.this.clear(); + } + }; + } + return values; + } + + public Set> entrySet() + { + if (entries == null) + { + entries = new AbstractSet>() + { + public int size() + { + return cardinality; + } + + public Iterator> iterator() + { + return new Iterator>() + { + int count = 0; + int index = -1; + + public boolean hasNext() + { + return count < cardinality; + } + + public Map.Entry next() + { + ++count; + for (++index; store[index] == emptySlot; ++index) + ; + // FIXME: we could just return something that + // only knows the index. That would be cleaner. + return new AbstractMap.SimpleEntry(enumClass.getEnumConstants()[index], + store[index]) + { + public V setValue(V newVal) + { + value = newVal; + return put(key, newVal); + } + }; + } + + public void remove() + { + --cardinality; + store[index] = (V) emptySlot; + } + }; + } + + public void clear() + { + EnumMap.this.clear(); + } + + public boolean contains(Object o) + { + if (! (o instanceof Map.Entry)) + return false; + Map.Entry other = (Map.Entry) o; + return (containsKey(other.getKey()) + && AbstractCollection.equals(get(other.getKey()), + other.getValue())); + } + + public boolean remove(Object o) + { + if (! (o instanceof Map.Entry)) + return false; + Map.Entry other = (Map.Entry) o; + return EnumMap.this.remove(other.getKey()) != null; + } + }; + } + return entries; + } + + public boolean equals(Object o) + { + if (! (o instanceof EnumMap)) + return false; + EnumMap other = (EnumMap) o; + if (other.enumClass != enumClass || other.cardinality != cardinality) + return false; + return Arrays.equals(store, other.store); + } + + public EnumMap clone() + { + /* This constructor provides this functionality */ + return new EnumMap(this); + } + +} diff --git a/libjava/classpath/java/util/EnumSet.java b/libjava/classpath/java/util/EnumSet.java new file mode 100644 index 00000000000..44ae370ba0b --- /dev/null +++ b/libjava/classpath/java/util/EnumSet.java @@ -0,0 +1,365 @@ +/* EnumSet.java - Set of enum objects + Copyright (C) 2004, 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. */ + + +package java.util; + +import java.io.Serializable; + +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + +// FIXME: serialization is special. +public class EnumSet> + extends AbstractSet + implements Cloneable, Serializable +{ + private static final long serialVersionUID = 4782406773684236311L; + + BitSet store; + int cardinality; + Class enumClass; + + EnumSet() + { + } + + public EnumSet clone() + { + EnumSet r; + + try + { + r = (EnumSet) super.clone(); + } + catch (CloneNotSupportedException _) + { + /* Can't happen */ + return null; + } + r.store = (BitSet) store.clone(); + return r; + } + + public int size() + { + return cardinality; + } + + public Iterator iterator() + { + return new Iterator() + { + int next = -1; + int count = 0; + + public boolean hasNext() + { + return count < cardinality; + } + + public T next() + { + next = store.nextSetBit(next + 1); + ++count; + return enumClass.getEnumConstants()[next]; + } + + public void remove() + { + if (! store.get(next)) + { + store.clear(next); + --cardinality; + } + } + }; + } + + public boolean add(T val) + { + if (store.get(val.ordinal())) + return false; + store.set(val.ordinal()); + ++cardinality; + return true; + } + + public boolean addAll(Collection c) + { + boolean result = false; + if (c instanceof EnumSet) + { + EnumSet other = (EnumSet) c; + if (enumClass == other.enumClass) + { + store.or(other.store); + int save = cardinality; + cardinality = store.cardinality(); + result = save != cardinality; + } + } + else + { + for (T val : c) + { + if (add (val)) + result = true; + } + } + return result; + } + + public void clear() + { + store.clear(); + cardinality = 0; + } + + public boolean contains(Object o) + { + if (! (o instanceof Enum)) + return false; + Enum e = (Enum) o; + if (e.getDeclaringClass() != enumClass) + return false; + return store.get(e.ordinal()); + } + + public boolean containsAll(Collection c) + { + if (c instanceof EnumSet) + { + EnumSet other = (EnumSet) c; + if (enumClass == other.enumClass) + return store.containsAll(other.store); + return false; + } + return super.containsAll(c); + } + + public boolean remove(Object o) + { + if (! (o instanceof Enum)) + return false; + Enum e = (Enum) o; + if (e.getDeclaringClass() != enumClass) + return false; + store.clear(e.ordinal()); + --cardinality; + return true; + } + + public boolean removeAll(Collection c) + { + if (c instanceof EnumSet) + { + EnumSet other = (EnumSet) c; + if (enumClass != other.enumClass) + return false; + store.andNot(other.store); + int save = cardinality; + cardinality = store.cardinality(); + return save != cardinality; + } + return super.removeAll(c); + } + + public boolean retainAll(Collection c) + { + if (c instanceof EnumSet) + { + EnumSet other = (EnumSet) c; + if (enumClass != other.enumClass) + return false; + store.and(other.store); + int save = cardinality; + cardinality = store.cardinality(); + return save != cardinality; + } + return super.retainAll(c); + } + + public static > EnumSet allOf(Class eltType) + { + EnumSet r = new EnumSet(); + r.store = new BitSet(eltType.getEnumConstants().length); + r.store.set(0, r.store.size()); + r.cardinality = r.store.size(); + r.enumClass = eltType; + return r; + } + + public static > EnumSet noneOf(Class eltType) + { + EnumSet r = new EnumSet(); + r.store = new BitSet(eltType.getEnumConstants().length); + r.enumClass = eltType; + return r; + } + + public static > EnumSet copyOf(EnumSet other) + { + // We can't just use `other.clone' since we don't want to make a + // subclass. + EnumSet r = new EnumSet(); + r.store = (BitSet) other.store.clone(); + r.cardinality = other.cardinality; + r.enumClass = other.enumClass; + return r; + } + + public static > EnumSet copyOf(Collection other) + { + if (other instanceof EnumSet) + return copyOf((EnumSet) other); + EnumSet r = new EnumSet(); + for (T val : other) + { + if (r.store == null) + { + r.enumClass = val.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + } + r.store.set(val.ordinal()); + } + // The collection must contain at least one element. + if (r.store == null) + throw new IllegalArgumentException(); + r.cardinality = r.store.cardinality(); + return r; + } + + public static > EnumSet complementOf(EnumSet other) + { + EnumSet r = new EnumSet(); + r.store = (BitSet) other.store.clone(); + r.store.flip(0, r.store.size()); + r.cardinality = r.store.size() - other.cardinality; + r.enumClass = other.enumClass; + return r; + } + + public static > EnumSet of(T first) + { + EnumSet r = new EnumSet(); + r.enumClass = first.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + r.store.set(first.ordinal()); + r.cardinality = 1; + return r; + } + + public static > EnumSet of(T first, T second) + { + EnumSet r = new EnumSet(); + r.enumClass = first.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + r.store.set(first.ordinal()); + r.store.set(second.ordinal()); + r.cardinality = r.store.cardinality(); + return r; + } + + public static > EnumSet of(T first, T second, T third) + { + EnumSet r = new EnumSet(); + r.enumClass = first.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + r.store.set(first.ordinal()); + r.store.set(second.ordinal()); + r.store.set(third.ordinal()); + r.cardinality = r.store.cardinality(); + return r; + } + + public static > EnumSet of(T first, T second, T third, + T fourth) + { + EnumSet r = new EnumSet(); + r.enumClass = first.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + r.store.set(first.ordinal()); + r.store.set(second.ordinal()); + r.store.set(third.ordinal()); + r.store.set(fourth.ordinal()); + r.cardinality = r.store.cardinality(); + return r; + } + + public static > EnumSet of(T first, T second, T third, + T fourth, T fifth) + { + EnumSet r = new EnumSet(); + r.enumClass = first.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + r.store.set(first.ordinal()); + r.store.set(second.ordinal()); + r.store.set(third.ordinal()); + r.store.set(fourth.ordinal()); + r.store.set(fifth.ordinal()); + r.cardinality = r.store.cardinality(); + return r; + } + + public static > EnumSet of(T first, T... rest) + { + EnumSet r = new EnumSet(); + r.enumClass = first.getDeclaringClass(); + r.store = new BitSet(r.enumClass.getEnumConstants().length); + r.store.set(first.ordinal()); + for (T val : rest) + r.store.set(val.ordinal()); + r.cardinality = r.store.cardinality(); + return r; + } + + public static > EnumSet range(T from, T to) + { + if (from.compareTo(to) > 0) + throw new IllegalArgumentException(); + EnumSet r = new EnumSet(); + r.store = new BitSet(from.getDeclaringClass().getEnumConstants().length); + r.store.set(from.ordinal(), to.ordinal() + 1); + r.enumClass = from.getDeclaringClass(); + r.cardinality = to.ordinal() - from.ordinal() + 1; + return r; + } +} diff --git a/libjava/classpath/java/util/Enumeration.java b/libjava/classpath/java/util/Enumeration.java index 1365bbb2f0f..2aec31b6f8d 100644 --- a/libjava/classpath/java/util/Enumeration.java +++ b/libjava/classpath/java/util/Enumeration.java @@ -1,5 +1,6 @@ /* Enumeration.java -- Interface for enumerating lists of objects - Copyright (C) 1998, 1999, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2004, 2005 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -60,7 +61,7 @@ package java.util; * @since 1.0 * @status updated to 1.4 */ -public interface Enumeration +public interface Enumeration { /** * Tests whether there are elements remaining in the enumeration. @@ -77,5 +78,5 @@ public interface Enumeration * @return the next element in the enumeration * @throws NoSuchElementException if there are no more elements */ - Object nextElement(); + E nextElement(); } diff --git a/libjava/classpath/java/util/Formatter.java b/libjava/classpath/java/util/Formatter.java index 01d54631508..12b705bce06 100644 --- a/libjava/classpath/java/util/Formatter.java +++ b/libjava/classpath/java/util/Formatter.java @@ -89,7 +89,7 @@ public final class Formatter /** * The output of the formatter. */ - private StringBuilder out; + private Appendable out; /** * The locale used by the formatter. @@ -142,6 +142,15 @@ public final class Formatter private static final String lineSeparator = SystemProperties.getProperty("line.separator"); + /** + * The type of numeric output format for a {@link BigDecimal}. + */ + public enum BigDecimalLayoutForm + { + DECIMAL_FLOAT, + SCIENTIFIC + } + /** * Constructs a new Formatter using the default * locale and a {@link StringBuilder} as the output stream. @@ -170,7 +179,7 @@ public final class Formatter * * @param app the output stream to use. */ - public Formatter(StringBuilder app) + public Formatter(Appendable app) { this(app, Locale.getDefault()); } @@ -183,12 +192,188 @@ public final class Formatter * @param app the output stream to use. * @param loc the locale to use. */ - public Formatter(StringBuilder app, Locale loc) + public Formatter(Appendable app, Locale loc) { this.out = app == null ? new StringBuilder() : app; this.locale = loc; } + /** + * Constructs a new Formatter using the default + * locale and character set, with the specified file as the + * output stream. + * + * @param file the file to use for output. + * @throws FileNotFoundException if the file does not exist + * and can not be created. + * @throws SecurityException if a security manager is present + * and doesn't allow writing to the file. + */ + public Formatter(File file) + throws FileNotFoundException + { + this(new OutputStreamWriter(new FileOutputStream(file))); + } + + /** + * Constructs a new Formatter using the default + * locale, with the specified file as the output stream + * and the supplied character set. + * + * @param file the file to use for output. + * @param charset the character set to use for output. + * @throws FileNotFoundException if the file does not exist + * and can not be created. + * @throws SecurityException if a security manager is present + * and doesn't allow writing to the file. + * @throws UnsupportedEncodingException if the supplied character + * set is not supported. + */ + public Formatter(File file, String charset) + throws FileNotFoundException, UnsupportedEncodingException + { + this(file, charset, Locale.getDefault()); + } + + /** + * Constructs a new Formatter using the specified + * file as the output stream with the supplied character set + * and locale. If the locale is null, then no + * localization is applied. + * + * @param file the file to use for output. + * @param charset the character set to use for output. + * @param loc the locale to use. + * @throws FileNotFoundException if the file does not exist + * and can not be created. + * @throws SecurityException if a security manager is present + * and doesn't allow writing to the file. + * @throws UnsupportedEncodingException if the supplied character + * set is not supported. + */ + public Formatter(File file, String charset, Locale loc) + throws FileNotFoundException, UnsupportedEncodingException + { + this(new OutputStreamWriter(new FileOutputStream(file), charset), + loc); + } + + /** + * Constructs a new Formatter using the default + * locale and character set, with the specified output stream. + * + * @param out the output stream to use. + */ + public Formatter(OutputStream out) + { + this(new OutputStreamWriter(out)); + } + + /** + * Constructs a new Formatter using the default + * locale, with the specified file output stream and the + * supplied character set. + * + * @param out the output stream. + * @param charset the character set to use for output. + * @throws UnsupportedEncodingException if the supplied character + * set is not supported. + */ + public Formatter(OutputStream out, String charset) + throws UnsupportedEncodingException + { + this(out, charset, Locale.getDefault()); + } + + /** + * Constructs a new Formatter using the specified + * output stream with the supplied character set and locale. + * If the locale is null, then no localization is + * applied. + * + * @param file the output stream. + * @param charset the character set to use for output. + * @param loc the locale to use. + * @throws UnsupportedEncodingException if the supplied character + * set is not supported. + */ + public Formatter(OutputStream out, String charset, Locale loc) + throws UnsupportedEncodingException + { + this(new OutputStreamWriter(out, charset), loc); + } + + /** + * Constructs a new Formatter using the default + * locale with the specified output stream. The character + * set used is that of the output stream. + * + * @param out the output stream to use. + */ + public Formatter(PrintStream out) + { + this((Appendable) out); + } + + /** + * Constructs a new Formatter using the default + * locale and character set, with the specified file as the + * output stream. + * + * @param file the file to use for output. + * @throws FileNotFoundException if the file does not exist + * and can not be created. + * @throws SecurityException if a security manager is present + * and doesn't allow writing to the file. + */ + public Formatter(String file) throws FileNotFoundException + { + this(new OutputStreamWriter(new FileOutputStream(file))); + } + + /** + * Constructs a new Formatter using the default + * locale, with the specified file as the output stream + * and the supplied character set. + * + * @param file the file to use for output. + * @param charset the character set to use for output. + * @throws FileNotFoundException if the file does not exist + * and can not be created. + * @throws SecurityException if a security manager is present + * and doesn't allow writing to the file. + * @throws UnsupportedEncodingException if the supplied character + * set is not supported. + */ + public Formatter(String file, String charset) + throws FileNotFoundException, UnsupportedEncodingException + { + this(file, charset, Locale.getDefault()); + } + + /** + * Constructs a new Formatter using the specified + * file as the output stream with the supplied character set + * and locale. If the locale is null, then no + * localization is applied. + * + * @param file the file to use for output. + * @param charset the character set to use for output. + * @param loc the locale to use. + * @throws FileNotFoundException if the file does not exist + * and can not be created. + * @throws SecurityException if a security manager is present + * and doesn't allow writing to the file. + * @throws UnsupportedEncodingException if the supplied character + * set is not supported. + */ + public Formatter(String file, String charset, Locale loc) + throws FileNotFoundException, UnsupportedEncodingException + { + this(new OutputStreamWriter(new FileOutputStream(file), charset), + loc); + } + /** * Closes the formatter, so as to release used resources. * If the underlying output stream supports the {@link Closeable} @@ -201,6 +386,16 @@ public final class Formatter { if (closed) return; + try + { + if (out instanceof Closeable) + ((Closeable) out).close(); + } + catch (IOException _) + { + // FIXME: do we ignore these or do we set ioException? + // The docs seem to indicate that we should ignore. + } closed = true; } @@ -215,6 +410,16 @@ public final class Formatter { if (closed) throw new FormatterClosedException(); + try + { + if (out instanceof Flushable) + ((Flushable) out).flush(); + } + catch (IOException _) + { + // FIXME: do we ignore these or do we set ioException? + // The docs seem to indicate that we should ignore. + } } /** @@ -544,9 +749,6 @@ public final class Formatter noPrecision(precision); // Some error checking. - if ((flags & FormattableFlags.ZERO) != 0 - && (flags & FormattableFlags.LEFT_JUSTIFY) == 0) - throw new IllegalFormatFlagsException(getName(flags)); if ((flags & FormattableFlags.PLUS) != 0 && (flags & FormattableFlags.SPACE) != 0) throw new IllegalFormatFlagsException(getName(flags)); @@ -984,7 +1186,7 @@ public final class Formatter advance(); if (start == index) return -1; - return Integer.decode(format.substring(start, index)).intValue(); + return Integer.decode(format.substring(start, index)); } /** @@ -1090,7 +1292,7 @@ public final class Formatter * between it and the arguments. * @throws FormatterClosedException if the formatter is closed. */ - public Formatter format(Locale loc, String fmt, Object[] args) + public Formatter format(Locale loc, String fmt, Object... args) { if (closed) throw new FormatterClosedException(); @@ -1233,7 +1435,7 @@ public final class Formatter * between it and the arguments. * @throws FormatterClosedException if the formatter is closed. */ - public Formatter format(String format, Object[] args) + public Formatter format(String format, Object... args) { return format(locale, format, args); } @@ -1269,7 +1471,7 @@ public final class Formatter * @return the formatter's output stream. * @throws FormatterClosedException if the formatter is closed. */ - public StringBuilder out() + public Appendable out() { if (closed) throw new FormatterClosedException(); diff --git a/libjava/classpath/java/util/GregorianCalendar.java b/libjava/classpath/java/util/GregorianCalendar.java index 83ac00e77e0..4a66d6e08ef 100644 --- a/libjava/classpath/java/util/GregorianCalendar.java +++ b/libjava/classpath/java/util/GregorianCalendar.java @@ -935,11 +935,10 @@ public class GregorianCalendar extends Calendar fields[MONTH] += 12; fields[YEAR]--; } + isTimeSet = false; int maxDay = getActualMaximum(DAY_OF_MONTH); if (fields[DAY_OF_MONTH] > maxDay) fields[DAY_OF_MONTH] = maxDay; - set(YEAR, fields[YEAR]); - set(MONTH, fields[MONTH]); break; case DAY_OF_MONTH: case DAY_OF_YEAR: diff --git a/libjava/classpath/java/util/HashMap.java b/libjava/classpath/java/util/HashMap.java index a734af48405..92022a7d55e 100644 --- a/libjava/classpath/java/util/HashMap.java +++ b/libjava/classpath/java/util/HashMap.java @@ -96,8 +96,8 @@ import java.io.Serializable; * @since 1.2 * @status updated to 1.4 */ -public class HashMap extends AbstractMap - implements Map, Cloneable, Serializable +public class HashMap extends AbstractMap + implements Map, Cloneable, Serializable { /** * Default number of buckets. This is the value the JDK 1.3 uses. Some @@ -136,7 +136,7 @@ public class HashMap extends AbstractMap * Array containing the actual key-value mappings. * Package visible for use by nested and subclasses. */ - transient HashEntry[] buckets; + transient HashEntry[] buckets; /** * Counts the number of modifications this HashMap has undergone, used @@ -154,7 +154,7 @@ public class HashMap extends AbstractMap /** * The cache for {@link #entrySet()}. */ - private transient Set entries; + private transient Set> entries; /** * Class to represent an entry in the hash table. Holds a single key-value @@ -162,19 +162,19 @@ public class HashMap extends AbstractMap * * @author Eric Blake (ebb9@email.byu.edu) */ - static class HashEntry extends AbstractMap.BasicMapEntry + static class HashEntry extends AbstractMap.SimpleEntry { /** * The next entry in the linked list. Package visible for use by subclass. */ - HashEntry next; + HashEntry next; /** * Simple constructor. * @param key the key * @param value the value */ - HashEntry(Object key, Object value) + HashEntry(K key, V value) { super(key, value); } @@ -194,7 +194,7 @@ public class HashMap extends AbstractMap * * @return the value of this key as it is removed */ - Object cleanup() + V cleanup() { return value; } @@ -220,7 +220,7 @@ public class HashMap extends AbstractMap * NOTE: key / value pairs are not cloned in this constructor. * @throws NullPointerException if m is null */ - public HashMap(Map m) + public HashMap(Map m) { this(Math.max(m.size() * 2, DEFAULT_CAPACITY), DEFAULT_LOAD_FACTOR); putAll(m); @@ -256,7 +256,7 @@ public class HashMap extends AbstractMap if (initialCapacity == 0) initialCapacity = 1; - buckets = new HashEntry[initialCapacity]; + buckets = (HashEntry[]) new HashEntry[initialCapacity]; this.loadFactor = loadFactor; threshold = (int) (initialCapacity * loadFactor); } @@ -292,10 +292,10 @@ public class HashMap extends AbstractMap * @see #put(Object, Object) * @see #containsKey(Object) */ - public Object get(Object key) + public V get(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (equals(key, e.key)) @@ -316,7 +316,7 @@ public class HashMap extends AbstractMap public boolean containsKey(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (equals(key, e.key)) @@ -339,17 +339,17 @@ public class HashMap extends AbstractMap * @see #get(Object) * @see Object#equals(Object) */ - public Object put(Object key, Object value) + public V put(K key, V value) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (equals(key, e.key)) { e.access(); // Must call this for bookkeeping in LinkedHashMap. - Object r = e.value; + V r = e.value; e.value = value; return r; } @@ -378,23 +378,25 @@ public class HashMap extends AbstractMap * * @param m the map to be hashed into this */ - public void putAll(Map m) + public void putAll(Map m) { - Iterator itr = m.entrySet().iterator(); - while (itr.hasNext()) + Map addMap; + + addMap = (Map) m; + for (Map.Entry e : addMap.entrySet()) { - Map.Entry e = (Map.Entry) itr.next(); // Optimize in case the Entry is one of our own. - if (e instanceof AbstractMap.BasicMapEntry) + if (e instanceof AbstractMap.SimpleEntry) { - AbstractMap.BasicMapEntry entry = (AbstractMap.BasicMapEntry) e; + AbstractMap.SimpleEntry entry + = (AbstractMap.SimpleEntry) e; put(entry.key, entry.value); } else put(e.getKey(), e.getValue()); } } - + /** * Removes from the HashMap and returns the value which is mapped by the * supplied key. If the key maps to nothing, then the HashMap remains @@ -405,11 +407,11 @@ public class HashMap extends AbstractMap * @param key the key used to locate the value to remove * @return whatever the key mapped to, if present */ - public Object remove(Object key) + public V remove(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; - HashEntry last = null; + HashEntry e = buckets[idx]; + HashEntry last = null; while (e != null) { @@ -455,7 +457,7 @@ public class HashMap extends AbstractMap { for (int i = buckets.length - 1; i >= 0; i--) { - HashEntry e = buckets[i]; + HashEntry e = buckets[i]; while (e != null) { if (equals(value, e.value)) @@ -474,16 +476,16 @@ public class HashMap extends AbstractMap */ public Object clone() { - HashMap copy = null; + HashMap copy = null; try { - copy = (HashMap) super.clone(); + copy = (HashMap) super.clone(); } catch (CloneNotSupportedException x) { // This is impossible. } - copy.buckets = new HashEntry[buckets.length]; + copy.buckets = (HashEntry[]) new HashEntry[buckets.length]; copy.putAllInternal(this); // Clear the entry cache. AbstractMap.clone() does the others. copy.entries = null; @@ -499,19 +501,19 @@ public class HashMap extends AbstractMap * @see #values() * @see #entrySet() */ - public Set keySet() + public Set keySet() { if (keys == null) // Create an AbstractSet with custom implementations of those methods // that can be overridden easily and efficiently. - keys = new AbstractSet() + keys = new AbstractSet() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { // Cannot create the iterator directly, because of LinkedHashMap. return HashMap.this.iterator(KEYS); @@ -550,19 +552,19 @@ public class HashMap extends AbstractMap * @see #keySet() * @see #entrySet() */ - public Collection values() + public Collection values() { if (values == null) // We don't bother overriding many of the optional methods, as doing so // wouldn't provide any significant performance advantage. - values = new AbstractCollection() + values = new AbstractCollection() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { // Cannot create the iterator directly, because of LinkedHashMap. return HashMap.this.iterator(VALUES); @@ -589,19 +591,19 @@ public class HashMap extends AbstractMap * @see #values() * @see Map.Entry */ - public Set entrySet() + public Set> entrySet() { if (entries == null) // Create an AbstractSet with custom implementations of those methods // that can be overridden easily and efficiently. - entries = new AbstractSet() + entries = new AbstractSet>() { public int size() { return size; } - public Iterator iterator() + public Iterator> iterator() { // Cannot create the iterator directly, because of LinkedHashMap. return HashMap.this.iterator(ENTRIES); @@ -619,7 +621,7 @@ public class HashMap extends AbstractMap public boolean remove(Object o) { - HashEntry e = getEntry(o); + HashEntry e = getEntry(o); if (e != null) { HashMap.this.remove(e.key); @@ -641,9 +643,9 @@ public class HashMap extends AbstractMap * @param callRemove whether to call the removeEldestEntry method * @see #put(Object, Object) */ - void addEntry(Object key, Object value, int idx, boolean callRemove) + void addEntry(K key, V value, int idx, boolean callRemove) { - HashEntry e = new HashEntry(key, value); + HashEntry e = new HashEntry(key, value); e.next = buckets[idx]; buckets[idx] = e; } @@ -657,14 +659,14 @@ public class HashMap extends AbstractMap * @see #entrySet() */ // Package visible, for use in nested classes. - final HashEntry getEntry(Object o) + final HashEntry getEntry(Object o) { if (! (o instanceof Map.Entry)) return null; - Map.Entry me = (Map.Entry) o; - Object key = me.getKey(); + Map.Entry me = (Map.Entry) o; + K key = me.getKey(); int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (equals(e.key, key)) @@ -693,9 +695,10 @@ public class HashMap extends AbstractMap * @param type {@link #KEYS}, {@link #VALUES}, or {@link #ENTRIES} * @return the appropriate iterator */ - Iterator iterator(int type) + Iterator iterator(int type) { - return new HashIterator(type); + // FIXME: bogus cast here. + return new HashIterator(type); } /** @@ -705,15 +708,16 @@ public class HashMap extends AbstractMap * * @param m the map to initialize this from */ - void putAllInternal(Map m) + void putAllInternal(Map m) { - Iterator itr = m.entrySet().iterator(); + Map addMap; + + addMap = (Map) m; size = 0; - while (itr.hasNext()) + for (Map.Entry e : addMap.entrySet()) { size++; - Map.Entry e = (Map.Entry) itr.next(); - Object key = e.getKey(); + K key = e.getKey(); int idx = hash(key); addEntry(key, e.getValue(), idx, false); } @@ -730,20 +734,20 @@ public class HashMap extends AbstractMap */ private void rehash() { - HashEntry[] oldBuckets = buckets; + HashEntry[] oldBuckets = buckets; int newcapacity = (buckets.length * 2) + 1; threshold = (int) (newcapacity * loadFactor); - buckets = new HashEntry[newcapacity]; + buckets = (HashEntry[]) new HashEntry[newcapacity]; for (int i = oldBuckets.length - 1; i >= 0; i--) { - HashEntry e = oldBuckets[i]; + HashEntry e = oldBuckets[i]; while (e != null) { int idx = hash(e.key); - HashEntry dest = buckets[idx]; - HashEntry next = e.next; + HashEntry dest = buckets[idx]; + HashEntry next = e.next; e.next = buckets[idx]; buckets[idx] = e; e = next; @@ -769,10 +773,10 @@ public class HashMap extends AbstractMap s.writeInt(buckets.length); s.writeInt(size); // Avoid creating a wasted Set by creating the iterator directly. - Iterator it = iterator(ENTRIES); + Iterator> it = iterator(ENTRIES); while (it.hasNext()) { - HashEntry entry = (HashEntry) it.next(); + HashEntry entry = it.next(); s.writeObject(entry.key); s.writeObject(entry.value); } @@ -796,13 +800,13 @@ public class HashMap extends AbstractMap s.defaultReadObject(); // Read and use capacity, followed by key/value pairs. - buckets = new HashEntry[s.readInt()]; + buckets = (HashEntry[]) new HashEntry[s.readInt()]; int len = s.readInt(); size = len; while (len-- > 0) { Object key = s.readObject(); - addEntry(key, s.readObject(), hash(key), false); + addEntry((K) key, (V) s.readObject(), hash(key), false); } } @@ -813,7 +817,7 @@ public class HashMap extends AbstractMap * * @author Jon Zeppieri */ - private final class HashIterator implements Iterator + private final class HashIterator implements Iterator { /** * The type of this Iterator: {@link #KEYS}, {@link #VALUES}, @@ -861,7 +865,7 @@ public class HashMap extends AbstractMap * @throws ConcurrentModificationException if the HashMap was modified * @throws NoSuchElementException if there is none */ - public Object next() + public T next() { if (knownMod != modCount) throw new ConcurrentModificationException(); @@ -876,10 +880,10 @@ public class HashMap extends AbstractMap next = e.next; last = e; if (type == VALUES) - return e.value; + return (T) e.value; if (type == KEYS) - return e.key; - return e; + return (T) e.key; + return (T) e; } /** diff --git a/libjava/classpath/java/util/HashSet.java b/libjava/classpath/java/util/HashSet.java index 681d5bb1b07..c08b6db5abb 100644 --- a/libjava/classpath/java/util/HashSet.java +++ b/libjava/classpath/java/util/HashSet.java @@ -76,8 +76,8 @@ import java.io.Serializable; * @since 1.2 * @status updated to 1.4 */ -public class HashSet extends AbstractSet - implements Set, Cloneable, Serializable +public class HashSet extends AbstractSet + implements Set, Cloneable, Serializable { /** * Compatible with JDK 1.2. @@ -87,7 +87,7 @@ public class HashSet extends AbstractSet /** * The HashMap which backs this Set. */ - private transient HashMap map; + private transient HashMap map; /** * Construct a new, empty HashSet whose backing HashMap has the default @@ -133,7 +133,7 @@ public class HashSet extends AbstractSet * @param c a collection of initial set elements * @throws NullPointerException if c is null */ - public HashSet(Collection c) + public HashSet(Collection c) { this(Math.max(2 * c.size(), HashMap.DEFAULT_CAPACITY)); addAll(c); @@ -146,7 +146,7 @@ public class HashSet extends AbstractSet * @param o the Object to add to this Set * @return true if the set did not already contain o */ - public boolean add(Object o) + public boolean add(T o) { return map.put(o, "") == null; } @@ -167,16 +167,16 @@ public class HashSet extends AbstractSet */ public Object clone() { - HashSet copy = null; + HashSet copy = null; try { - copy = (HashSet) super.clone(); + copy = (HashSet) super.clone(); } catch (CloneNotSupportedException x) { // Impossible to get here. } - copy.map = (HashMap) map.clone(); + copy.map = (HashMap) map.clone(); return copy; } @@ -210,7 +210,7 @@ public class HashSet extends AbstractSet * @return a set iterator * @see ConcurrentModificationException */ - public Iterator iterator() + public Iterator iterator() { // Avoid creating intermediate keySet() object by using non-public API. return map.iterator(HashMap.KEYS); @@ -263,7 +263,7 @@ public class HashSet extends AbstractSet { s.defaultWriteObject(); // Avoid creating intermediate keySet() object by using non-public API. - Iterator it = map.iterator(HashMap.KEYS); + Iterator it = map.iterator(HashMap.KEYS); s.writeInt(map.buckets.length); s.writeFloat(map.loadFactor); s.writeInt(map.size); @@ -288,6 +288,6 @@ public class HashSet extends AbstractSet map = init(s.readInt(), s.readFloat()); for (int size = s.readInt(); size > 0; size--) - map.put(s.readObject(), ""); + map.put((T) s.readObject(), ""); } } diff --git a/libjava/classpath/java/util/Hashtable.java b/libjava/classpath/java/util/Hashtable.java index 4c00d18a8e2..2e265a47387 100644 --- a/libjava/classpath/java/util/Hashtable.java +++ b/libjava/classpath/java/util/Hashtable.java @@ -100,8 +100,8 @@ import java.io.Serializable; * @since 1.0 * @status updated to 1.4 */ -public class Hashtable extends Dictionary - implements Map, Cloneable, Serializable +public class Hashtable extends Dictionary + implements Map, Cloneable, Serializable { // WARNING: Hashtable is a CORE class in the bootstrap cycle. See the // comments in vm/reference/java/lang/Runtime for implications of this fact. @@ -139,7 +139,7 @@ public class Hashtable extends Dictionary * Array containing the actual key-value mappings. */ // Package visible for use by nested classes. - transient HashEntry[] buckets; + transient HashEntry[] buckets; /** * Counts the number of modifications this Hashtable has undergone, used @@ -157,34 +157,35 @@ public class Hashtable extends Dictionary /** * The cache for {@link #keySet()}. */ - private transient Set keys; + private transient Set keys; /** * The cache for {@link #values()}. */ - private transient Collection values; + private transient Collection values; /** * The cache for {@link #entrySet()}. */ - private transient Set entries; + private transient Set> entries; /** * Class to represent an entry in the hash table. Holds a single key-value * pair. A Hashtable Entry is identical to a HashMap Entry, except that * `null' is not allowed for keys and values. */ - private static final class HashEntry extends AbstractMap.BasicMapEntry + private static final class HashEntry + extends AbstractMap.SimpleEntry { /** The next entry in the linked list. */ - HashEntry next; + HashEntry next; /** * Simple constructor. * @param key the key, already guaranteed non-null * @param value the value, already guaranteed non-null */ - HashEntry(Object key, Object value) + HashEntry(K key, V value) { super(key, value); } @@ -195,7 +196,7 @@ public class Hashtable extends Dictionary * @return the prior value * @throws NullPointerException if newVal is null */ - public Object setValue(Object newVal) + public V setValue(V newVal) { if (newVal == null) throw new NullPointerException(); @@ -226,7 +227,7 @@ public class Hashtable extends Dictionary * to or from `null'. * @since 1.2 */ - public Hashtable(Map m) + public Hashtable(Map m) { this(Math.max(m.size() * 2, DEFAULT_CAPACITY), DEFAULT_LOAD_FACTOR); putAll(m); @@ -263,7 +264,7 @@ public class Hashtable extends Dictionary if (initialCapacity == 0) initialCapacity = 1; - buckets = new HashEntry[initialCapacity]; + buckets = (HashEntry[]) new HashEntry[initialCapacity]; this.loadFactor = loadFactor; threshold = (int) (initialCapacity * loadFactor); } @@ -295,7 +296,7 @@ public class Hashtable extends Dictionary * @see #elements() * @see #keySet() */ - public Enumeration keys() + public Enumeration keys() { return new KeyEnumerator(); } @@ -309,7 +310,7 @@ public class Hashtable extends Dictionary * @see #keys() * @see #values() */ - public Enumeration elements() + public Enumeration elements() { return new ValueEnumerator(); } @@ -333,7 +334,7 @@ public class Hashtable extends Dictionary for (int i = buckets.length - 1; i >= 0; i--) { - HashEntry e = buckets[i]; + HashEntry e = buckets[i]; while (e != null) { if (e.value.equals(value)) @@ -341,7 +342,7 @@ public class Hashtable extends Dictionary e = e.next; } } - + return false; } @@ -376,7 +377,7 @@ public class Hashtable extends Dictionary public synchronized boolean containsKey(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (e.key.equals(key)) @@ -396,10 +397,10 @@ public class Hashtable extends Dictionary * @see #put(Object, Object) * @see #containsKey(Object) */ - public synchronized Object get(Object key) + public synchronized V get(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (e.key.equals(key)) @@ -421,10 +422,10 @@ public class Hashtable extends Dictionary * @see #get(Object) * @see Object#equals(Object) */ - public synchronized Object put(Object key, Object value) + public synchronized V put(K key, V value) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; // Check if value is null since it is not permitted. if (value == null) @@ -435,7 +436,7 @@ public class Hashtable extends Dictionary if (e.key.equals(key)) { // Bypass e.setValue, since we already know value is non-null. - Object r = e.value; + V r = e.value; e.value = value; return r; } @@ -454,7 +455,7 @@ public class Hashtable extends Dictionary idx = hash(key); } - e = new HashEntry(key, value); + e = new HashEntry(key, value); e.next = buckets[idx]; buckets[idx] = e; @@ -470,11 +471,11 @@ public class Hashtable extends Dictionary * @param key the key used to locate the value to remove * @return whatever the key mapped to, if present */ - public synchronized Object remove(Object key) + public synchronized V remove(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; - HashEntry last = null; + HashEntry e = buckets[idx]; + HashEntry last = null; while (e != null) { @@ -502,17 +503,19 @@ public class Hashtable extends Dictionary * @param m the map to be hashed into this * @throws NullPointerException if m is null, or contains null keys or values */ - public synchronized void putAll(Map m) + public synchronized void putAll(Map m) { - Iterator itr = m.entrySet().iterator(); + Map addMap; + + addMap = (Map) m; - while (itr.hasNext()) + for (Map.Entry e : addMap.entrySet()) { - Map.Entry e = (Map.Entry) itr.next(); // Optimize in case the Entry is one of our own. - if (e instanceof AbstractMap.BasicMapEntry) + if (e instanceof AbstractMap.SimpleEntry) { - AbstractMap.BasicMapEntry entry = (AbstractMap.BasicMapEntry) e; + AbstractMap.SimpleEntry entry + = (AbstractMap.SimpleEntry) e; put(entry.key, entry.value); } else @@ -543,16 +546,16 @@ public class Hashtable extends Dictionary */ public synchronized Object clone() { - Hashtable copy = null; + Hashtable copy = null; try { - copy = (Hashtable) super.clone(); + copy = (Hashtable) super.clone(); } catch (CloneNotSupportedException x) { // This is impossible. } - copy.buckets = new HashEntry[buckets.length]; + copy.buckets = (HashEntry[]) new HashEntry[buckets.length]; copy.putAllInternal(this); // Clear the caches. copy.keys = null; @@ -576,7 +579,7 @@ public class Hashtable extends Dictionary // Since we are already synchronized, and entrySet().iterator() // would repeatedly re-lock/release the monitor, we directly use the // unsynchronized EntryIterator instead. - Iterator entries = new EntryIterator(); + Iterator> entries = new EntryIterator(); StringBuffer r = new StringBuffer("{"); for (int pos = size; pos > 0; pos--) { @@ -603,20 +606,20 @@ public class Hashtable extends Dictionary * @see #entrySet() * @since 1.2 */ - public Set keySet() + public Set keySet() { if (keys == null) { // Create a synchronized AbstractSet with custom implementations of // those methods that can be overridden easily and efficiently. - Set r = new AbstractSet() + Set r = new AbstractSet() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { return new KeyIterator(); } @@ -640,7 +643,7 @@ public class Hashtable extends Dictionary }; // We must specify the correct object to synchronize upon, hence the // use of a non-public API - keys = new Collections.SynchronizedSet(this, r); + keys = new Collections.SynchronizedSet(this, r); } return keys; } @@ -661,20 +664,20 @@ public class Hashtable extends Dictionary * @see #entrySet() * @since 1.2 */ - public Collection values() + public Collection values() { if (values == null) { // We don't bother overriding many of the optional methods, as doing so // wouldn't provide any significant performance advantage. - Collection r = new AbstractCollection() + Collection r = new AbstractCollection() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { return new ValueIterator(); } @@ -686,7 +689,7 @@ public class Hashtable extends Dictionary }; // We must specify the correct object to synchronize upon, hence the // use of a non-public API - values = new Collections.SynchronizedCollection(this, r); + values = new Collections.SynchronizedCollection(this, r); } return values; } @@ -713,20 +716,20 @@ public class Hashtable extends Dictionary * @see Map.Entry * @since 1.2 */ - public Set entrySet() + public Set> entrySet() { if (entries == null) { // Create an AbstractSet with custom implementations of those methods // that can be overridden easily and efficiently. - Set r = new AbstractSet() + Set> r = new AbstractSet>() { public int size() { return size; } - public Iterator iterator() + public Iterator> iterator() { return new EntryIterator(); } @@ -743,7 +746,7 @@ public class Hashtable extends Dictionary public boolean remove(Object o) { - HashEntry e = getEntry(o); + HashEntry e = getEntry(o); if (e != null) { Hashtable.this.remove(e.key); @@ -754,7 +757,7 @@ public class Hashtable extends Dictionary }; // We must specify the correct object to synchronize upon, hence the // use of a non-public API - entries = new Collections.SynchronizedSet(this, r); + entries = new Collections.SynchronizedSet>(this, r); } return entries; } @@ -772,7 +775,7 @@ public class Hashtable extends Dictionary */ public boolean equals(Object o) { - // no need to synchronize, entrySet().equals() does that + // no need to synchronize, entrySet().equals() does that. if (o == this) return true; if (!(o instanceof Map)) @@ -793,7 +796,7 @@ public class Hashtable extends Dictionary // Since we are already synchronized, and entrySet().iterator() // would repeatedly re-lock/release the monitor, we directly use the // unsynchronized EntryIterator instead. - Iterator itr = new EntryIterator(); + Iterator> itr = new EntryIterator(); int hashcode = 0; for (int pos = size; pos > 0; pos--) hashcode += itr.next().hashCode(); @@ -826,16 +829,16 @@ public class Hashtable extends Dictionary * @see #entrySet() */ // Package visible, for use in nested classes. - HashEntry getEntry(Object o) + HashEntry getEntry(Object o) { if (! (o instanceof Map.Entry)) return null; - Object key = ((Map.Entry) o).getKey(); + K key = ((Map.Entry) o).getKey(); if (key == null) return null; int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (e.equals(o)) @@ -852,18 +855,19 @@ public class Hashtable extends Dictionary * * @param m the map to initialize this from */ - void putAllInternal(Map m) + void putAllInternal(Map m) { - Iterator itr = m.entrySet().iterator(); + Map addMap; + + addMap = (Map) m; size = 0; - while (itr.hasNext()) + for (Map.Entry e : addMap.entrySet()) { size++; - Map.Entry e = (Map.Entry) itr.next(); - Object key = e.getKey(); + K key = e.getKey(); int idx = hash(key); - HashEntry he = new HashEntry(key, e.getValue()); + HashEntry he = new HashEntry(key, e.getValue()); he.next = buckets[idx]; buckets[idx] = he; } @@ -882,19 +886,19 @@ public class Hashtable extends Dictionary */ protected void rehash() { - HashEntry[] oldBuckets = buckets; + HashEntry[] oldBuckets = buckets; int newcapacity = (buckets.length * 2) + 1; threshold = (int) (newcapacity * loadFactor); - buckets = new HashEntry[newcapacity]; + buckets = (HashEntry[]) new HashEntry[newcapacity]; for (int i = oldBuckets.length - 1; i >= 0; i--) { - HashEntry e = oldBuckets[i]; + HashEntry e = oldBuckets[i]; while (e != null) { int idx = hash(e.key); - HashEntry dest = buckets[idx]; + HashEntry dest = buckets[idx]; if (dest != null) { @@ -911,7 +915,7 @@ public class Hashtable extends Dictionary buckets[idx] = e; } - HashEntry next = e.next; + HashEntry next = e.next; e.next = null; e = next; } @@ -939,10 +943,10 @@ public class Hashtable extends Dictionary // Since we are already synchronized, and entrySet().iterator() // would repeatedly re-lock/release the monitor, we directly use the // unsynchronized EntryIterator instead. - Iterator it = new EntryIterator(); + Iterator> it = new EntryIterator(); while (it.hasNext()) { - HashEntry entry = (HashEntry) it.next(); + HashEntry entry = (HashEntry) it.next(); s.writeObject(entry.key); s.writeObject(entry.value); } @@ -966,13 +970,13 @@ public class Hashtable extends Dictionary s.defaultReadObject(); // Read and use capacity. - buckets = new HashEntry[s.readInt()]; + buckets = (HashEntry[]) new HashEntry[s.readInt()]; int len = s.readInt(); // Read and use key/value pairs. // TODO: should we be defensive programmers, and check for illegal nulls? while (--len >= 0) - put(s.readObject(), s.readObject()); + put((K) s.readObject(), (V) s.readObject()); } /** @@ -987,7 +991,8 @@ public class Hashtable extends Dictionary * @author Jon Zeppieri * @author Fridjof Siebert */ - private class EntryIterator implements Iterator + private class EntryIterator + implements Iterator> { /** * The number of modifications to the backing Hashtable that we know about. @@ -998,16 +1003,16 @@ public class Hashtable extends Dictionary /** Current index in the physical hash table. */ int idx = buckets.length; /** The last Entry returned by a next() call. */ - HashEntry last; + HashEntry last; /** * The next entry that should be returned by next(). It is set to something * if we're iterating through a bucket that contains multiple linked * entries. It is null if next() needs to find a new bucket. */ - HashEntry next; + HashEntry next; /** - * Construct a new EtryIterator + * Construct a new EntryIterator */ EntryIterator() { @@ -1029,14 +1034,14 @@ public class Hashtable extends Dictionary * @throws ConcurrentModificationException if the hashtable was modified * @throws NoSuchElementException if there is none */ - public Object next() + public Map.Entry next() { if (knownMod != modCount) throw new ConcurrentModificationException(); if (count == 0) throw new NoSuchElementException(); count--; - HashEntry e = next; + HashEntry e = next; while (e == null) if (idx <= 0) @@ -1070,12 +1075,43 @@ public class Hashtable extends Dictionary /** * A class which implements the Iterator interface and is used for - * iterating over keys in Hashtables. + * iterating over keys in Hashtables. This class uses an + * EntryIterator to obtain the keys of each entry. * * @author Fridtjof Siebert + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ - private class KeyIterator extends EntryIterator + private class KeyIterator + implements Iterator { + + /** + * This entry iterator is used for most operations. Only + * next() gives a different result, by returning just + * the key rather than the whole element. + */ + private EntryIterator iterator; + + /** + * Construct a new KeyIterator + */ + KeyIterator() + { + iterator = new EntryIterator(); + } + + + /** + * Returns true if the entry iterator has more elements. + * + * @return true if there are more elements + * @throws ConcurrentModificationException if the hashtable was modified + */ + public boolean hasNext() + { + return iterator.hasNext(); + } + /** * Returns the next element in the Iterator's sequential view. * @@ -1084,34 +1120,88 @@ public class Hashtable extends Dictionary * @throws ConcurrentModificationException if the hashtable was modified * @throws NoSuchElementException if there is none */ - public Object next() + public K next() { - return ((HashEntry)super.next()).key; + return ((HashEntry) iterator.next()).key; } - } // class KeyIterator - - + /** + * Removes the last element used by the next() method + * using the entry iterator. + * + * @throws ConcurrentModificationException if the hashtable was modified + * @throws IllegalStateException if called when there is no last element + */ + public void remove() + { + iterator.remove(); + } + } // class KeyIterator + /** * A class which implements the Iterator interface and is used for - * iterating over values in Hashtables. + * iterating over values in Hashtables. This class uses an + * EntryIterator to obtain the values of each entry. * * @author Fridtjof Siebert + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ - private class ValueIterator extends EntryIterator + private class ValueIterator + implements Iterator { + /** - * Returns the next element in the Iterator's sequential view. + * This entry iterator is used for most operations. Only + * next() gives a different result, by returning just + * the value rather than the whole element. + */ + private EntryIterator iterator; + + /** + * Construct a new KeyIterator + */ + ValueIterator() + { + iterator = new EntryIterator(); + } + + + /** + * Returns true if the entry iterator has more elements. * - * @return the next element + * @return true if there are more elements + * @throws ConcurrentModificationException if the hashtable was modified + */ + public boolean hasNext() + { + return iterator.hasNext(); + } + + /** + * Returns the value of the next element in the iterator's sequential view. + * + * @return the next value * * @throws ConcurrentModificationException if the hashtable was modified * @throws NoSuchElementException if there is none */ - public Object next() + public V next() + { + return ((HashEntry) iterator.next()).value; + } + + /** + * Removes the last element used by the next() method + * using the entry iterator. + * + * @throws ConcurrentModificationException if the hashtable was modified + * @throws IllegalStateException if called when there is no last element + */ + public void remove() { - return ((HashEntry)super.next()).value; + iterator.remove(); } + } // class ValueIterator /** @@ -1128,7 +1218,8 @@ public class Hashtable extends Dictionary * @author Jon Zeppieri * @author Fridjof Siebert */ - private class EntryEnumerator implements Enumeration + private class EntryEnumerator + implements Enumeration> { /** The number of elements remaining to be returned by next(). */ int count = size; @@ -1139,7 +1230,7 @@ public class Hashtable extends Dictionary * set if we are iterating through a bucket with multiple entries, or null * if we must look in the next bucket. */ - HashEntry next; + HashEntry next; /** * Construct the enumeration. @@ -1163,12 +1254,12 @@ public class Hashtable extends Dictionary * @return the next element * @throws NoSuchElementException if there is none. */ - public Object nextElement() + public Map.Entry nextElement() { if (count == 0) throw new NoSuchElementException("Hashtable Enumerator"); count--; - HashEntry e = next; + HashEntry e = next; while (e == null) if (idx <= 0) @@ -1195,18 +1286,47 @@ public class Hashtable extends Dictionary * * @author Jon Zeppieri * @author Fridjof Siebert + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ - private final class KeyEnumerator extends EntryEnumerator + private final class KeyEnumerator + implements Enumeration { + /** + * This entry enumerator is used for most operations. Only + * nextElement() gives a different result, by returning just + * the key rather than the whole element. + */ + private EntryEnumerator enumerator; + + /** + * Construct a new KeyEnumerator + */ + KeyEnumerator() + { + enumerator = new EntryEnumerator(); + } + + + /** + * Returns true if the entry enumerator has more elements. + * + * @return true if there are more elements + * @throws ConcurrentModificationException if the hashtable was modified + */ + public boolean hasMoreElements() + { + return enumerator.hasMoreElements(); + } + /** * Returns the next element. * @return the next element * @throws NoSuchElementException if there is none. */ - public Object nextElement() + public K nextElement() { - HashEntry entry = (HashEntry) super.nextElement(); - Object retVal = null; + HashEntry entry = (HashEntry) enumerator.nextElement(); + K retVal = null; if (entry != null) retVal = entry.key; return retVal; @@ -1227,18 +1347,47 @@ public class Hashtable extends Dictionary * * @author Jon Zeppieri * @author Fridjof Siebert + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ - private final class ValueEnumerator extends EntryEnumerator + private final class ValueEnumerator + implements Enumeration { + /** + * This entry enumerator is used for most operations. Only + * nextElement() gives a different result, by returning just + * the value rather than the whole element. + */ + private EntryEnumerator enumerator; + + /** + * Construct a new ValueEnumerator + */ + ValueEnumerator() + { + enumerator = new EntryEnumerator(); + } + + + /** + * Returns true if the entry enumerator has more elements. + * + * @return true if there are more elements + * @throws ConcurrentModificationException if the hashtable was modified + */ + public boolean hasMoreElements() + { + return enumerator.hasMoreElements(); + } + /** * Returns the next element. * @return the next element * @throws NoSuchElementException if there is none. */ - public Object nextElement() + public V nextElement() { - HashEntry entry = (HashEntry) super.nextElement(); - Object retVal = null; + HashEntry entry = (HashEntry) enumerator.nextElement(); + V retVal = null; if (entry != null) retVal = entry.value; return retVal; diff --git a/libjava/classpath/java/util/IdentityHashMap.java b/libjava/classpath/java/util/IdentityHashMap.java index 89ef034159b..8dead96c193 100644 --- a/libjava/classpath/java/util/IdentityHashMap.java +++ b/libjava/classpath/java/util/IdentityHashMap.java @@ -90,23 +90,20 @@ import java.io.Serializable; * @since 1.4 * @status updated to 1.4 */ -public class IdentityHashMap extends AbstractMap - implements Map, Serializable, Cloneable +public class IdentityHashMap extends AbstractMap + implements Map, Serializable, Cloneable { /** The default capacity. */ private static final int DEFAULT_CAPACITY = 21; /** - * This object is used to mark deleted items. Package visible for use by - * nested classes. + * This object is used to mark a slot whose key or value is 'null'. + * This is more efficient than using a special value to mark an empty + * slot, because null entries are rare, empty slots are common, and + * the JVM will clear new arrays for us. + * Package visible for use by nested classes. */ - static final Object tombstone = new Object(); - - /** - * This object is used to mark empty slots. We need this because - * using null is ambiguous. Package visible for use by nested classes. - */ - static final Object emptyslot = new Object(); + static final Object nullslot = new Object(); /** * Compatible with JDK 1.4. @@ -134,7 +131,7 @@ public class IdentityHashMap extends AbstractMap /** * The cache for {@link #entrySet()}. */ - private transient Set entries; + private transient Set> entries; /** * The threshold for rehashing, which is 75% of (table.length / 2). @@ -166,7 +163,6 @@ public class IdentityHashMap extends AbstractMap if (max < 2) max = 2; table = new Object[max << 1]; - Arrays.fill(table, emptyslot); threshold = (max >> 2) * 3; } @@ -177,7 +173,7 @@ public class IdentityHashMap extends AbstractMap * @param m The map whose elements are to be put in this map * @throws NullPointerException if m is null */ - public IdentityHashMap(Map m) + public IdentityHashMap(Map m) { this(Math.max(m.size() << 1, DEFAULT_CAPACITY)); putAll(m); @@ -191,7 +187,7 @@ public class IdentityHashMap extends AbstractMap if (size != 0) { modCount++; - Arrays.fill(table, emptyslot); + Arrays.fill(table, null); size = 0; } } @@ -227,6 +223,7 @@ public class IdentityHashMap extends AbstractMap */ public boolean containsKey(Object key) { + key = xform(key); return key == table[hash(key)]; } @@ -241,6 +238,7 @@ public class IdentityHashMap extends AbstractMap */ public boolean containsValue(Object value) { + value = xform(value); for (int i = table.length - 1; i > 0; i -= 2) if (table[i] == value) return true; @@ -274,19 +272,19 @@ public class IdentityHashMap extends AbstractMap * @see #values() * @see Map.Entry */ - public Set entrySet() + public Set> entrySet() { if (entries == null) - entries = new AbstractSet() + entries = new AbstractSet>() { public int size() { return size; } - public Iterator iterator() + public Iterator> iterator() { - return new IdentityIterator(ENTRIES); + return new IdentityIterator>(ENTRIES); } public void clear() @@ -299,7 +297,9 @@ public class IdentityHashMap extends AbstractMap if (! (o instanceof Map.Entry)) return false; Map.Entry m = (Map.Entry) o; - return m.getValue() == table[hash(m.getKey()) + 1]; + Object value = xform(m.getValue()); + Object key = xform(m.getKey()); + return value == table[hash(key) + 1]; } public int hashCode() @@ -311,14 +311,13 @@ public class IdentityHashMap extends AbstractMap { if (! (o instanceof Map.Entry)) return false; - Object key = ((Map.Entry) o).getKey(); + Object key = xform(((Map.Entry) o).getKey()); int h = hash(key); if (table[h] == key) { size--; modCount++; - table[h] = tombstone; - table[h + 1] = tombstone; + IdentityHashMap.this.removeAtIndex(h); return true; } return false; @@ -358,10 +357,11 @@ public class IdentityHashMap extends AbstractMap * @see #put(Object, Object) * @see #containsKey(Object) */ - public Object get(Object key) + public V get(Object key) { + key = xform(key); int h = hash(key); - return table[h] == key ? table[h + 1] : null; + return (V) (table[h] == key ? unxform(table[h + 1]) : null); } /** @@ -378,10 +378,11 @@ public class IdentityHashMap extends AbstractMap for (int i = table.length - 2; i >= 0; i -= 2) { Object key = table[i]; - if (key == emptyslot || key == tombstone) + if (key == null) continue; - hash += (System.identityHashCode(key) - ^ System.identityHashCode(table[i + 1])); + // FIXME: this is a lame computation. + hash += (System.identityHashCode(unxform(key)) + ^ System.identityHashCode(unxform(table[i + 1]))); } return hash; } @@ -414,19 +415,19 @@ public class IdentityHashMap extends AbstractMap * @see #values() * @see #entrySet() */ - public Set keySet() + public Set keySet() { if (keys == null) - keys = new AbstractSet() + keys = new AbstractSet() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { - return new IdentityIterator(KEYS); + return new IdentityIterator(KEYS); } public void clear() @@ -445,23 +446,22 @@ public class IdentityHashMap extends AbstractMap for (int i = table.length - 2; i >= 0; i -= 2) { Object key = table[i]; - if (key == emptyslot || key == tombstone) + if (key == null) continue; - hash += System.identityHashCode(key); + hash += System.identityHashCode(unxform(key)); } return hash; - } public boolean remove(Object o) { + o = xform(o); int h = hash(o); if (table[h] == o) { size--; modCount++; - table[h] = tombstone; - table[h + 1] = tombstone; + removeAtIndex(h); return true; } return false; @@ -484,8 +484,20 @@ public class IdentityHashMap extends AbstractMap * @return the prior mapping of the key, or null if there was none * @see #get(Object) */ - public Object put(Object key, Object value) + public V put(K key, V value) { + key = (K) xform(key); + value = (V) xform(value); + + // We don't want to rehash if we're overwriting an existing slot. + int h = hash(key); + if (table[h] == key) + { + V r = (V) unxform(table[h + 1]); + table[h + 1] = value; + return r; + } + // Rehash if the load factor is too high. if (size > threshold) { @@ -493,25 +505,25 @@ public class IdentityHashMap extends AbstractMap // This isn't necessarily prime, but it is an odd number of key/value // slots, which has a higher probability of fewer collisions. table = new Object[(old.length * 2) + 2]; - Arrays.fill(table, emptyslot); size = 0; threshold = (table.length >>> 3) * 3; for (int i = old.length - 2; i >= 0; i -= 2) { - Object oldkey = old[i]; - if (oldkey != tombstone && oldkey != emptyslot) - // Just use put. This isn't very efficient, but it is ok. - put(oldkey, old[i + 1]); + K oldkey = (K) old[i]; + if (oldkey != null) + { + h = hash(oldkey); + table[h] = oldkey; + table[h + 1] = old[i + 1]; + ++size; + // No need to update modCount here, we'll do it + // just after the loop. + } } - } - int h = hash(key); - if (table[h] == key) - { - Object r = table[h + 1]; - table[h + 1] = value; - return r; + // Now that we've resize, recompute the hash value. + h = hash(key); } // At this point, we add a new mapping. @@ -529,12 +541,46 @@ public class IdentityHashMap extends AbstractMap * @param m the map to copy * @throws NullPointerException if m is null */ - public void putAll(Map m) + public void putAll(Map m) { // Why did Sun specify this one? The superclass does the right thing. super.putAll(m); } + /** + * Remove the element at index and update the table to compensate. + * This is package-private for use by inner classes. + * @param i index of the removed element + */ + final void removeAtIndex(int i) + { + // This is Algorithm R from Knuth, section 6.4. + // Variable names are taken directly from the text. + while (true) + { + table[i] = null; + table[i + 1] = null; + int j = i; + int r; + do + { + i -= 2; + if (i < 0) + i = table.length - 2; + Object key = table[i]; + if (key == null) + return; + r = Math.abs(System.identityHashCode(key) + % (table.length >> 1)) << 1; + } + while ((i <= r && r < j) + || (r < j && j < i) + || (j < i && i <= r)); + table[j] = table[i]; + table[j + 1] = table[i + 1]; + } + } + /** * Removes from the HashMap and returns the value which is mapped by * the supplied key. If the key maps to nothing, then the HashMap @@ -549,17 +595,17 @@ public class IdentityHashMap extends AbstractMap * @param key the key used to locate the value to remove * @return whatever the key mapped to, if present */ - public Object remove(Object key) + public V remove(Object key) { + key = xform(key); int h = hash(key); if (table[h] == key) { modCount++; size--; - Object r = table[h + 1]; - table[h] = tombstone; - table[h + 1] = tombstone; - return r; + Object r = unxform(table[h + 1]); + removeAtIndex(h); + return (V) r; } return null; } @@ -591,19 +637,19 @@ public class IdentityHashMap extends AbstractMap * @see #keySet() * @see #entrySet() */ - public Collection values() + public Collection values() { if (values == null) - values = new AbstractCollection() + values = new AbstractCollection() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { - return new IdentityIterator(VALUES); + return new IdentityIterator(VALUES); } public void clear() @@ -613,13 +659,14 @@ public class IdentityHashMap extends AbstractMap public boolean remove(Object o) { + o = xform(o); + // This approach may look strange, but it is ok. for (int i = table.length - 1; i > 0; i -= 2) if (table[i] == o) { modCount++; - table[i - 1] = tombstone; - table[i] = tombstone; size--; + IdentityHashMap.this.removeAtIndex(i - 1); return true; } return false; @@ -628,9 +675,32 @@ public class IdentityHashMap extends AbstractMap return values; } + /** + * Transform a reference from its external form to its internal form. + * This is package-private for use by inner classes. + */ + final Object xform(Object o) + { + if (o == null) + o = nullslot; + return o; + } + + /** + * Transform a reference from its internal form to its external form. + * This is package-private for use by inner classes. + */ + final Object unxform(Object o) + { + if (o == nullslot) + o = null; + return o; + } + /** * Helper method which computes the hash code, then traverses the table - * until it finds the key, or the spot where the key would go. + * until it finds the key, or the spot where the key would go. the key + * must already be in its internal form. * * @param key the key to check * @return the index where the key belongs @@ -638,36 +708,23 @@ public class IdentityHashMap extends AbstractMap * @see #put(Object, Object) */ // Package visible for use by nested classes. - int hash(Object key) + final int hash(Object key) { - // Implementation note: it is feasible for the table to have no - // emptyslots, if it is full with entries and tombstones, so we must - // remember where we started. If we encounter the key or an emptyslot, - // we are done. If we encounter a tombstone, the key may still be in - // the array. If we don't encounter the key, we use the first emptyslot - // or tombstone we encountered as the location where the key would go. - // By requiring at least 2 key/value slots, and rehashing at 75% - // capacity, we guarantee that there will always be either an emptyslot - // or a tombstone somewhere in the table. int h = Math.abs(System.identityHashCode(key) % (table.length >> 1)) << 1; - int del = -1; - int save = h; - do + while (true) { - if (table[h] == key) + // By requiring at least 2 key/value slots, and rehashing at 75% + // capacity, we guarantee that there will always be either an empty + // slot somewhere in the table. + if (table[h] == key || table[h] == null) return h; - if (table[h] == emptyslot) - break; - if (table[h] == tombstone && del < 0) - del = h; + // We use linear probing as it is friendlier to the cache and + // it lets us efficiently remove entries. h -= 2; if (h < 0) h = table.length - 2; } - while (h != save); - - return del < 0 ? h : del; } /** @@ -679,7 +736,7 @@ public class IdentityHashMap extends AbstractMap * @author Tom Tromey (tromey@redhat.com) * @author Eric Blake (ebb9@email.byu.edu) */ - private class IdentityIterator implements Iterator + private class IdentityIterator implements Iterator { /** * The type of this Iterator: {@link #KEYS}, {@link #VALUES}, @@ -717,7 +774,7 @@ public class IdentityHashMap extends AbstractMap * @throws ConcurrentModificationException if the Map was modified * @throws NoSuchElementException if there is none */ - public Object next() + public I next() { if (knownMod != modCount) throw new ConcurrentModificationException(); @@ -731,10 +788,11 @@ public class IdentityHashMap extends AbstractMap loc -= 2; key = table[loc]; } - while (key == emptyslot || key == tombstone); - - return type == KEYS ? key : (type == VALUES ? table[loc + 1] - : new IdentityEntry(loc)); + while (key == null); + + return (I) (type == KEYS ? unxform(key) + : (type == VALUES ? unxform(table[loc + 1]) + : new IdentityEntry(loc))); } /** @@ -748,12 +806,11 @@ public class IdentityHashMap extends AbstractMap { if (knownMod != modCount) throw new ConcurrentModificationException(); - if (loc == table.length || table[loc] == tombstone) + if (loc == table.length) throw new IllegalStateException(); modCount++; size--; - table[loc] = tombstone; - table[loc + 1] = tombstone; + removeAtIndex(loc); knownMod++; } } // class IdentityIterator @@ -768,7 +825,7 @@ public class IdentityHashMap extends AbstractMap * * @author Eric Blake (ebb9@email.byu.edu) */ - private final class IdentityEntry implements Map.Entry + private final class IdentityEntry implements Map.Entry { /** The location of this entry. */ final int loc; @@ -797,12 +854,13 @@ public class IdentityHashMap extends AbstractMap */ public boolean equals(Object o) { - if (knownMod != modCount || table[loc] == tombstone) + if (knownMod != modCount) throw new ConcurrentModificationException(); if (! (o instanceof Map.Entry)) return false; Map.Entry e = (Map.Entry) o; - return table[loc] == e.getKey() && table[loc + 1] == e.getValue(); + return table[loc] == xform(e.getKey()) + && table[loc + 1] == xform(e.getValue()); } /** @@ -812,11 +870,11 @@ public class IdentityHashMap extends AbstractMap * @throws ConcurrentModificationException if the entry was invalidated * by modifying the Map or calling Iterator.remove() */ - public Object getKey() + public EK getKey() { - if (knownMod != modCount || table[loc] == tombstone) + if (knownMod != modCount) throw new ConcurrentModificationException(); - return table[loc]; + return (EK) unxform(table[loc]); } /** @@ -826,11 +884,11 @@ public class IdentityHashMap extends AbstractMap * @throws ConcurrentModificationException if the entry was invalidated * by modifying the Map or calling Iterator.remove() */ - public Object getValue() + public EV getValue() { - if (knownMod != modCount || table[loc] == tombstone) + if (knownMod != modCount) throw new ConcurrentModificationException(); - return table[loc + 1]; + return (EV) unxform(table[loc + 1]); } /** @@ -844,10 +902,10 @@ public class IdentityHashMap extends AbstractMap */ public int hashCode() { - if (knownMod != modCount || table[loc] == tombstone) + if (knownMod != modCount) throw new ConcurrentModificationException(); - return (System.identityHashCode(table[loc]) - ^ System.identityHashCode(table[loc + 1])); + return (System.identityHashCode(unxform(table[loc])) + ^ System.identityHashCode(unxform(table[loc + 1]))); } /** @@ -858,12 +916,12 @@ public class IdentityHashMap extends AbstractMap * @throws ConcurrentModificationException if the entry was invalidated * by modifying the Map or calling Iterator.remove() */ - public Object setValue(Object value) + public EV setValue(EV value) { - if (knownMod != modCount || table[loc] == tombstone) + if (knownMod != modCount) throw new ConcurrentModificationException(); - Object r = table[loc + 1]; - table[loc + 1] = value; + EV r = (EV) unxform(table[loc + 1]); + table[loc + 1] = xform(value); return r; } @@ -877,9 +935,9 @@ public class IdentityHashMap extends AbstractMap */ public String toString() { - if (knownMod != modCount || table[loc] == tombstone) + if (knownMod != modCount) throw new ConcurrentModificationException(); - return table[loc] + "=" + table[loc + 1]; + return unxform(table[loc]) + "=" + unxform(table[loc + 1]); } } // class IdentityEntry @@ -902,7 +960,7 @@ public class IdentityHashMap extends AbstractMap table = new Object[Math.max(num << 1, DEFAULT_CAPACITY) << 1]; // Read key/value pairs. while (--num >= 0) - put(s.readObject(), s.readObject()); + put((K) s.readObject(), (V) s.readObject()); } /** @@ -922,10 +980,10 @@ public class IdentityHashMap extends AbstractMap for (int i = table.length - 2; i >= 0; i -= 2) { Object key = table[i]; - if (key != tombstone && key != emptyslot) + if (key != null) { - s.writeObject(key); - s.writeObject(table[i + 1]); + s.writeObject(unxform(key)); + s.writeObject(unxform(table[i + 1])); } } } diff --git a/libjava/classpath/java/util/IllegalFormatConversionException.java b/libjava/classpath/java/util/IllegalFormatConversionException.java index 2f981f26e45..d59c0a4b18f 100644 --- a/libjava/classpath/java/util/IllegalFormatConversionException.java +++ b/libjava/classpath/java/util/IllegalFormatConversionException.java @@ -67,7 +67,7 @@ public class IllegalFormatConversionException * @serial the mismatching argument type. */ // Note: name fixed by serialization. - Class arg; + Class arg; /** * Constructs a new IllegalFormatConversionException @@ -78,7 +78,7 @@ public class IllegalFormatConversionException * @param arg the type which doesn't match the conversion character. * @throws NullPointerException if arg is null. */ - public IllegalFormatConversionException(char c, Class arg) + public IllegalFormatConversionException(char c, Class arg) { super("The type, " + arg + ", is invalid for the conversion character, " + c + "."); @@ -103,7 +103,7 @@ public class IllegalFormatConversionException * * @return the type of the mismatched argument. */ - public Class getArgumentClass() + public Class getArgumentClass() { return arg; } diff --git a/libjava/classpath/java/util/Iterator.java b/libjava/classpath/java/util/Iterator.java index 31ecff8a257..41111a52d39 100644 --- a/libjava/classpath/java/util/Iterator.java +++ b/libjava/classpath/java/util/Iterator.java @@ -1,5 +1,5 @@ /* Iterator.java -- Interface for iterating over collections - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -54,7 +54,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface Iterator +public interface Iterator { /** * Tests whether there are elements remaining in the collection. In other @@ -70,7 +70,7 @@ public interface Iterator * @return the next element in the collection * @throws NoSuchElementException if there are no more elements */ - Object next(); + E next(); /** * Remove from the underlying collection the last element returned by next diff --git a/libjava/classpath/java/util/LinkedHashMap.java b/libjava/classpath/java/util/LinkedHashMap.java index 2b002b27296..6ec06a949d8 100644 --- a/libjava/classpath/java/util/LinkedHashMap.java +++ b/libjava/classpath/java/util/LinkedHashMap.java @@ -97,6 +97,8 @@ package java.util; * non-deterministic behavior. * * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Object#hashCode() * @see Collection * @see Map @@ -106,7 +108,7 @@ package java.util; * @since 1.4 * @status updated to 1.4 */ -public class LinkedHashMap extends HashMap +public class LinkedHashMap extends HashMap { /** * Compatible with JDK 1.4. @@ -130,16 +132,16 @@ public class LinkedHashMap extends HashMap * Class to represent an entry in the hash table. Holds a single key-value * pair and the doubly-linked insertion order list. */ - class LinkedHashEntry extends HashEntry + class LinkedHashEntry extends HashEntry { /** * The predecessor in the iteration list. If this entry is the root * (eldest), pred points to the newest entry. */ - LinkedHashEntry pred; + LinkedHashEntry pred; /** The successor in the iteration list, null if this is the newest. */ - LinkedHashEntry succ; + LinkedHashEntry succ; /** * Simple constructor. @@ -147,7 +149,7 @@ public class LinkedHashMap extends HashMap * @param key the key * @param value the value */ - LinkedHashEntry(Object key, Object value) + LinkedHashEntry(K key, V value) { super(key, value); if (root == null) @@ -186,7 +188,7 @@ public class LinkedHashMap extends HashMap succ = null; pred = root.pred; pred.succ = this; - root.pred = this; + root.pred = this; } } } @@ -197,7 +199,7 @@ public class LinkedHashMap extends HashMap * * @return the value of this key as it is removed */ - Object cleanup() + V cleanup() { if (this == root) { @@ -243,7 +245,7 @@ public class LinkedHashMap extends HashMap * are not cloned in this constructor. * @throws NullPointerException if m is null */ - public LinkedHashMap(Map m) + public LinkedHashMap(Map m) { super(m); accessOrder = false; @@ -335,10 +337,10 @@ public class LinkedHashMap extends HashMap * @see #put(Object, Object) * @see #containsKey(Object) */ - public Object get(Object key) + public V get(Object key) { int idx = hash(key); - HashEntry e = buckets[idx]; + HashEntry e = buckets[idx]; while (e != null) { if (equals(key, e.key)) @@ -390,7 +392,7 @@ public class LinkedHashMap extends HashMap * earliest element inserted. * @return true if eldest should be removed */ - protected boolean removeEldestEntry(Map.Entry eldest) + protected boolean removeEldestEntry(Map.Entry eldest) { return false; } @@ -407,7 +409,7 @@ public class LinkedHashMap extends HashMap * @see #removeEldestEntry(Map.Entry) * @see LinkedHashEntry#LinkedHashEntry(Object, Object) */ - void addEntry(Object key, Object value, int idx, boolean callRemove) + void addEntry(K key, V value, int idx, boolean callRemove) { LinkedHashEntry e = new LinkedHashEntry(key, value); e.next = buckets[idx]; diff --git a/libjava/classpath/java/util/LinkedHashSet.java b/libjava/classpath/java/util/LinkedHashSet.java index 6c68195c3bd..a0b32f34964 100644 --- a/libjava/classpath/java/util/LinkedHashSet.java +++ b/libjava/classpath/java/util/LinkedHashSet.java @@ -1,6 +1,6 @@ /* LinkedHashSet.java -- a set backed by a LinkedHashMap, for linked list traversal. - Copyright (C) 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -88,8 +88,8 @@ import java.io.Serializable; * @since 1.4 * @status updated to 1.4 */ -public class LinkedHashSet extends HashSet - implements Set, Cloneable, Serializable +public class LinkedHashSet extends HashSet + implements Set, Cloneable, Serializable { /** * Compatible with JDK 1.4. @@ -140,7 +140,7 @@ public class LinkedHashSet extends HashSet * @param c a collection of initial set elements * @throws NullPointerException if c is null */ - public LinkedHashSet(Collection c) + public LinkedHashSet(Collection c) { super(c); } @@ -152,9 +152,8 @@ public class LinkedHashSet extends HashSet * @param load the initial load factor * @return the backing HashMap */ - HashMap init(int capacity, float load) + HashMap init(int capacity, float load) { - return new LinkedHashMap(capacity, load); + return new LinkedHashMap(capacity, load); } - } diff --git a/libjava/classpath/java/util/LinkedList.java b/libjava/classpath/java/util/LinkedList.java index e77ae536b64..2d78573d08c 100644 --- a/libjava/classpath/java/util/LinkedList.java +++ b/libjava/classpath/java/util/LinkedList.java @@ -71,8 +71,8 @@ import java.lang.reflect.Array; * @since 1.2 * @status missing javadoc, but complete to 1.4 */ -public class LinkedList extends AbstractSequentialList - implements List, Cloneable, Serializable +public class LinkedList extends AbstractSequentialList + implements List, Queue, Cloneable, Serializable { /** * Compatible with JDK 1.2. @@ -82,12 +82,12 @@ public class LinkedList extends AbstractSequentialList /** * The first element in the list. */ - transient Entry first; + transient Entry first; /** * The last element in the list. */ - transient Entry last; + transient Entry last; /** * The current length of the list. @@ -97,22 +97,22 @@ public class LinkedList extends AbstractSequentialList /** * Class to represent an entry in the list. Holds a single element. */ - private static final class Entry + private static final class Entry { /** The element in the list. */ - Object data; + T data; /** The next list entry, null if this is last. */ - Entry next; + Entry next; /** The previous list entry, null if this is first. */ - Entry previous; + Entry previous; /** * Construct an entry. * @param data the list element */ - Entry(Object data) + Entry(T data) { this.data = data; } @@ -131,9 +131,9 @@ public class LinkedList extends AbstractSequentialList * @return the entry at position n */ // Package visible for use in nested classes. - Entry getEntry(int n) + Entry getEntry(int n) { - Entry e; + Entry e; if (n < size / 2) { e = first; @@ -158,7 +158,7 @@ public class LinkedList extends AbstractSequentialList * @param e the entry to remove */ // Package visible for use in nested classes. - void removeEntry(Entry e) + void removeEntry(Entry e) { modCount++; size--; @@ -224,7 +224,7 @@ public class LinkedList extends AbstractSequentialList * @param c the collection to populate this list from * @throws NullPointerException if c is null */ - public LinkedList(Collection c) + public LinkedList(Collection c) { addAll(c); } @@ -235,7 +235,7 @@ public class LinkedList extends AbstractSequentialList * @return the first list element * @throws NoSuchElementException if the list is empty */ - public Object getFirst() + public T getFirst() { if (size == 0) throw new NoSuchElementException(); @@ -248,7 +248,7 @@ public class LinkedList extends AbstractSequentialList * @return the last list element * @throws NoSuchElementException if the list is empty */ - public Object getLast() + public T getLast() { if (size == 0) throw new NoSuchElementException(); @@ -261,13 +261,13 @@ public class LinkedList extends AbstractSequentialList * @return the former first element in the list * @throws NoSuchElementException if the list is empty */ - public Object removeFirst() + public T removeFirst() { if (size == 0) throw new NoSuchElementException(); modCount++; size--; - Object r = first.data; + T r = first.data; if (first.next != null) first.next.previous = null; @@ -285,13 +285,13 @@ public class LinkedList extends AbstractSequentialList * @return the former last element in the list * @throws NoSuchElementException if the list is empty */ - public Object removeLast() + public T removeLast() { if (size == 0) throw new NoSuchElementException(); modCount++; size--; - Object r = last.data; + T r = last.data; if (last.previous != null) last.previous.next = null; @@ -308,9 +308,9 @@ public class LinkedList extends AbstractSequentialList * * @param o the element to insert */ - public void addFirst(Object o) + public void addFirst(T o) { - Entry e = new Entry(o); + Entry e = new Entry(o); modCount++; if (size == 0) @@ -329,9 +329,9 @@ public class LinkedList extends AbstractSequentialList * * @param o the element to insert */ - public void addLast(Object o) + public void addLast(T o) { - addLastEntry(new Entry(o)); + addLastEntry(new Entry(o)); } /** @@ -339,7 +339,7 @@ public class LinkedList extends AbstractSequentialList * * @param e the entry to add */ - private void addLastEntry(Entry e) + private void addLastEntry(Entry e) { modCount++; if (size == 0) @@ -362,7 +362,7 @@ public class LinkedList extends AbstractSequentialList */ public boolean contains(Object o) { - Entry e = first; + Entry e = first; while (e != null) { if (equals(o, e.data)) @@ -388,9 +388,9 @@ public class LinkedList extends AbstractSequentialList * @param o the entry to add * @return true, as it always succeeds */ - public boolean add(Object o) + public boolean add(T o) { - addLastEntry(new Entry(o)); + addLastEntry(new Entry(o)); return true; } @@ -403,7 +403,7 @@ public class LinkedList extends AbstractSequentialList */ public boolean remove(Object o) { - Entry e = first; + Entry e = first; while (e != null) { if (equals(o, e.data)) @@ -425,7 +425,7 @@ public class LinkedList extends AbstractSequentialList * @return true if the list was modified * @throws NullPointerException if c is null */ - public boolean addAll(Collection c) + public boolean addAll(Collection c) { return addAll(size, c); } @@ -440,7 +440,7 @@ public class LinkedList extends AbstractSequentialList * @throws NullPointerException if c is null * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public boolean addAll(int index, Collection c) + public boolean addAll(int index, Collection c) { checkBoundsInclusive(index); int csize = c.size(); @@ -448,13 +448,13 @@ public class LinkedList extends AbstractSequentialList if (csize == 0) return false; - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); // Get the entries just before and after index. If index is at the start // of the list, BEFORE is null. If index is at the end of the list, AFTER // is null. If the list is empty, both are null. - Entry after = null; - Entry before = null; + Entry after = null; + Entry before = null; if (index != size) { after = getEntry(index); @@ -467,15 +467,15 @@ public class LinkedList extends AbstractSequentialList // to the first entry, in order to deal with the case where (c == this). // [Actually, we don't have to handle this case to fufill the // contract for addAll(), but Sun's implementation appears to.] - Entry e = new Entry(itr.next()); + Entry e = new Entry(itr.next()); e.previous = before; - Entry prev = e; - Entry firstNew = e; + Entry prev = e; + Entry firstNew = e; // Create and link all the remaining entries. for (int pos = 1; pos < csize; pos++) { - e = new Entry(itr.next()); + e = new Entry(itr.next()); e.previous = prev; prev.next = e; prev = e; @@ -518,7 +518,7 @@ public class LinkedList extends AbstractSequentialList * @return the element at index * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object get(int index) + public T get(int index) { checkBoundsExclusive(index); return getEntry(index).data; @@ -532,11 +532,11 @@ public class LinkedList extends AbstractSequentialList * @return the prior element * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - public Object set(int index, Object o) + public T set(int index, T o) { checkBoundsExclusive(index); - Entry e = getEntry(index); - Object old = e.data; + Entry e = getEntry(index); + T old = e.data; e.data = o; return old; } @@ -548,15 +548,15 @@ public class LinkedList extends AbstractSequentialList * @param o the element to insert * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public void add(int index, Object o) + public void add(int index, T o) { checkBoundsInclusive(index); - Entry e = new Entry(o); + Entry e = new Entry(o); if (index < size) { modCount++; - Entry after = getEntry(index); + Entry after = getEntry(index); e.next = after; e.previous = after.previous; if (after.previous == null) @@ -577,10 +577,10 @@ public class LinkedList extends AbstractSequentialList * @return the removed element * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public Object remove(int index) + public T remove(int index) { checkBoundsExclusive(index); - Entry e = getEntry(index); + Entry e = getEntry(index); removeEntry(e); return e.data; } @@ -594,7 +594,7 @@ public class LinkedList extends AbstractSequentialList public int indexOf(Object o) { int index = 0; - Entry e = first; + Entry e = first; while (e != null) { if (equals(o, e.data)) @@ -614,7 +614,7 @@ public class LinkedList extends AbstractSequentialList public int lastIndexOf(Object o) { int index = size - 1; - Entry e = last; + Entry e = last; while (e != null) { if (equals(o, e.data)) @@ -634,10 +634,10 @@ public class LinkedList extends AbstractSequentialList * next(), or size() to be initially positioned at the end of the list * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - public ListIterator listIterator(int index) + public ListIterator listIterator(int index) { checkBoundsInclusive(index); - return new LinkedListItr(index); + return new LinkedListItr(index); } /** @@ -648,10 +648,10 @@ public class LinkedList extends AbstractSequentialList */ public Object clone() { - LinkedList copy = null; + LinkedList copy = null; try { - copy = (LinkedList) super.clone(); + copy = (LinkedList) super.clone(); } catch (CloneNotSupportedException ex) { @@ -669,7 +669,7 @@ public class LinkedList extends AbstractSequentialList public Object[] toArray() { Object[] array = new Object[size]; - Entry e = first; + Entry e = first; for (int i = 0; i < size; i++) { array[i] = e.data; @@ -692,21 +692,65 @@ public class LinkedList extends AbstractSequentialList * an element in this list * @throws NullPointerException if a is null */ - public Object[] toArray(Object[] a) + public S[] toArray(S[] a) { if (a.length < size) - a = (Object[]) Array.newInstance(a.getClass().getComponentType(), size); + a = (S[]) Array.newInstance(a.getClass().getComponentType(), size); else if (a.length > size) a[size] = null; - Entry e = first; + Entry e = first; for (int i = 0; i < size; i++) { - a[i] = e.data; + a[i] = (S) e.data; e = e.next; } return a; } + /** + * @since 1.5 + */ + public boolean offer(T value) + { + return add(value); + } + + /** + * @since 1.5 + */ + public T element() + { + return getFirst(); + } + + /** + * @since 1.5 + */ + public T peek() + { + if (size == 0) + return null; + return getFirst(); + } + + /** + * @since 1.5 + */ + public T poll() + { + if (size == 0) + return null; + return removeFirst(); + } + + /** + * @since 1.5 + */ + public T remove() + { + return removeFirst(); + } + /** * Serializes this object to the given stream. * @@ -719,7 +763,7 @@ public class LinkedList extends AbstractSequentialList { s.defaultWriteObject(); s.writeInt(size); - Entry e = first; + Entry e = first; while (e != null) { s.writeObject(e.data); @@ -742,7 +786,7 @@ public class LinkedList extends AbstractSequentialList s.defaultReadObject(); int i = s.readInt(); while (--i >= 0) - addLastEntry(new Entry(s.readObject())); + addLastEntry(new Entry((T) s.readObject())); } /** @@ -752,19 +796,20 @@ public class LinkedList extends AbstractSequentialList * @author Original author unknown * @author Eric Blake (ebb9@email.byu.edu) */ - private final class LinkedListItr implements ListIterator + private final class LinkedListItr + implements ListIterator { /** Number of modifications we know about. */ private int knownMod = modCount; /** Entry that will be returned by next(). */ - private Entry next; + private Entry next; /** Entry that will be returned by previous(). */ - private Entry previous; + private Entry previous; /** Entry that will be affected by remove() or set(). */ - private Entry lastReturned; + private Entry lastReturned; /** Index of `next'. */ private int position; @@ -779,11 +824,11 @@ public class LinkedList extends AbstractSequentialList if (index == size) { next = null; - previous = last; + previous = (Entry) last; } else { - next = getEntry(index); + next = (Entry) getEntry(index); previous = next.previous; } position = index; @@ -847,7 +892,7 @@ public class LinkedList extends AbstractSequentialList * @throws ConcurrentModificationException if the list was modified * @throws NoSuchElementException if there is no next */ - public Object next() + public I next() { checkMod(); if (next == null) @@ -865,7 +910,7 @@ public class LinkedList extends AbstractSequentialList * @throws ConcurrentModificationException if the list was modified * @throws NoSuchElementException if there is no previous */ - public Object previous() + public I previous() { checkMod(); if (previous == null) @@ -895,7 +940,7 @@ public class LinkedList extends AbstractSequentialList next = lastReturned.next; previous = lastReturned.previous; - removeEntry(lastReturned); + removeEntry((Entry) lastReturned); knownMod++; lastReturned = null; @@ -907,26 +952,26 @@ public class LinkedList extends AbstractSequentialList * @param o the element to add * @throws ConcurrentModificationException if the list was modified */ - public void add(Object o) + public void add(I o) { checkMod(); modCount++; knownMod++; size++; position++; - Entry e = new Entry(o); + Entry e = new Entry(o); e.previous = previous; e.next = next; if (previous != null) previous.next = e; else - first = e; + first = (Entry) e; if (next != null) next.previous = e; else - last = e; + last = (Entry) e; previous = e; lastReturned = null; @@ -939,7 +984,7 @@ public class LinkedList extends AbstractSequentialList * @throws ConcurrentModificationException if the list was modified * @throws IllegalStateException if there was no last element */ - public void set(Object o) + public void set(I o) { checkMod(); if (lastReturned == null) diff --git a/libjava/classpath/java/util/List.java b/libjava/classpath/java/util/List.java index 445811292ac..0a1c4098c80 100644 --- a/libjava/classpath/java/util/List.java +++ b/libjava/classpath/java/util/List.java @@ -1,5 +1,5 @@ /* List.java -- An ordered collection which allows indexed access - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -80,7 +80,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface List extends Collection +public interface List extends Collection { /** * Insert an element into the list at a given position (optional operation). @@ -100,7 +100,7 @@ public interface List extends Collection * @throws NullPointerException if o is null and this list doesn't support * the addition of null values. */ - void add(int index, Object o); + void add(int index, E o); /** * Add an element to the end of the list (optional operation). If the list @@ -118,7 +118,7 @@ public interface List extends Collection * @throws NullPointerException if o is null and this list doesn't support * the addition of null values. */ - boolean add(Object o); + boolean add(E o); /** * Insert the contents of a collection into the list at a given position @@ -143,7 +143,7 @@ public interface List extends Collection * @throws NullPointerException if the specified collection is null * @see #add(int, Object) */ - boolean addAll(int index, Collection c); + boolean addAll(int index, Collection c); /** * Add the contents of a collection to the end of the list (optional @@ -165,7 +165,7 @@ public interface List extends Collection * doesn't support the addition of null values. * @see #add(Object) */ - boolean addAll(Collection c); + boolean addAll(Collection c); /** * Clear the list, such that a subsequent call to isEmpty() would return @@ -202,7 +202,7 @@ public interface List extends Collection * list does not support null values. * @see #contains(Object) */ - boolean containsAll(Collection c); + boolean containsAll(Collection c); /** * Test whether this list is equal to another object. A List is defined to be @@ -226,7 +226,7 @@ public interface List extends Collection * @return the element at index index in this list * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - Object get(int index); + E get(int index); /** * Obtains a hash code for this list. In order to obey the general @@ -276,7 +276,7 @@ while (i.hasNext()) * * @return an Iterator over the elements of this list, in order */ - Iterator iterator(); + Iterator iterator(); /** * Obtain the last index at which a given object is to be found in this @@ -297,7 +297,7 @@ while (i.hasNext()) * @return a ListIterator over the elements of this list, in order, starting * at the beginning */ - ListIterator listIterator(); + ListIterator listIterator(); /** * Obtain a ListIterator over this list, starting at a given position. @@ -310,7 +310,7 @@ while (i.hasNext()) * at index * @throws IndexOutOfBoundsException if index < 0 || index > size() */ - ListIterator listIterator(int index); + ListIterator listIterator(int index); /** * Remove the element at a given position in this list (optional operation). @@ -322,7 +322,7 @@ while (i.hasNext()) * remove operation * @throws IndexOutOfBoundsException if index < 0 || index >= size() */ - Object remove(int index); + E remove(int index); /** * Remove the first occurence of an object from this list (optional @@ -357,7 +357,7 @@ while (i.hasNext()) * @see #remove(Object) * @see #contains(Object) */ - boolean removeAll(Collection c); + boolean removeAll(Collection c); /** * Remove all elements of this list that are not contained in a given @@ -376,7 +376,7 @@ while (i.hasNext()) * @see #remove(Object) * @see #contains(Object) */ - boolean retainAll(Collection c); + boolean retainAll(Collection c); /** * Replace an element of this list with another object (optional operation). @@ -394,7 +394,7 @@ while (i.hasNext()) * @throws NullPointerException if o is null and this * list does not support null values. */ - Object set(int index, Object o); + E set(int index, E o); /** * Get the number of elements in this list. If the list contains more @@ -420,7 +420,7 @@ while (i.hasNext()) * @throws IndexOutOfBoundsException if fromIndex < 0 * || toIndex > size() || fromIndex > toIndex */ - List subList(int fromIndex, int toIndex); + List subList(int fromIndex, int toIndex); /** * Copy the current contents of this list into an array. @@ -447,5 +447,5 @@ while (i.hasNext()) * collection is not a subtype of the element type of a * @throws NullPointerException if the specified array is null */ - Object[] toArray(Object[] a); + T[] toArray(T[] a); } diff --git a/libjava/classpath/java/util/ListIterator.java b/libjava/classpath/java/util/ListIterator.java index 5e17108c991..9b74528c51a 100644 --- a/libjava/classpath/java/util/ListIterator.java +++ b/libjava/classpath/java/util/ListIterator.java @@ -1,5 +1,5 @@ /* ListIterator.java -- Extended Iterator for iterating over ordered lists - Copyright (C) 1998, 1999, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -59,7 +59,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface ListIterator extends Iterator +public interface ListIterator extends Iterator { /** * Tests whether there are elements remaining in the list in the forward @@ -88,7 +88,7 @@ public interface ListIterator extends Iterator * @return the next element in the list in the forward direction * @throws NoSuchElementException if there are no more elements */ - Object next(); + E next(); /** * Obtain the next element in the list in the reverse direction. Repeated @@ -100,7 +100,7 @@ public interface ListIterator extends Iterator * @return the next element in the list in the reverse direction * @throws NoSuchElementException if there are no more elements */ - Object previous(); + E previous(); /** * Find the index of the element that would be returned by a call to next. @@ -134,7 +134,7 @@ public interface ListIterator extends Iterator * @throws UnsupportedOperationException if this ListIterator does not * support the add operation. */ - void add(Object o); + void add(E o); /** * Remove from the list the element last returned by a call to next or @@ -166,5 +166,5 @@ public interface ListIterator extends Iterator * @throws UnsupportedOperationException if this ListIterator does not * support the set operation */ - void set(Object o); + void set(E o); } diff --git a/libjava/classpath/java/util/ListResourceBundle.java b/libjava/classpath/java/util/ListResourceBundle.java index 2bc51c3b013..2e48a22b50a 100644 --- a/libjava/classpath/java/util/ListResourceBundle.java +++ b/libjava/classpath/java/util/ListResourceBundle.java @@ -108,21 +108,21 @@ public abstract class ListResourceBundle extends ResourceBundle * * @return an enumeration of the keys */ - public Enumeration getKeys() + public Enumeration getKeys() { // We make a new Set that holds all the keys, then return an enumeration // for that. This prevents modifications from ruining the enumeration, // as well as ignoring duplicates. final Object[][] contents = getContents(); - Set s = new HashSet(); + Set s = new HashSet(); int i = contents.length; while (--i >= 0) - s.add(contents[i][0]); + s.add((String) contents[i][0]); ResourceBundle bundle = parent; // Eliminate tail recursion. while (bundle != null) { - Enumeration e = bundle.getKeys(); + Enumeration e = bundle.getKeys(); while (e.hasMoreElements()) s.add(e.nextElement()); bundle = bundle.parent; diff --git a/libjava/classpath/java/util/Locale.java b/libjava/classpath/java/util/Locale.java index d2aead43c68..4c91eeb0a48 100644 --- a/libjava/classpath/java/util/Locale.java +++ b/libjava/classpath/java/util/Locale.java @@ -1,5 +1,5 @@ /* Locale.java -- i18n locales - Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -192,7 +192,7 @@ public final class Locale implements Serializable, Cloneable * * @serial should be -1 in serial streams */ - private transient int hashcode; + private int hashcode; /** * Array storing all available locales. @@ -917,8 +917,8 @@ public final class Locale implements Serializable, Cloneable return false; Locale l = (Locale) obj; - return (language == l.language - && country == l.country + return (language == l.language + && country == l.country && variant == l.variant); } @@ -935,11 +935,9 @@ public final class Locale implements Serializable, Cloneable private void writeObject(ObjectOutputStream s) throws IOException { - s.writeObject(language); - s.writeObject(country); - s.writeObject(variant); - // Hashcode field is always written as -1. - s.writeInt(-1); + ObjectOutputStream.PutField fields = s.putFields(); + fields.put("hashcode", -1); + s.defaultWriteObject(); } /** @@ -953,10 +951,10 @@ public final class Locale implements Serializable, Cloneable private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { - language = ((String) s.readObject()).intern(); - country = ((String) s.readObject()).intern(); - variant = ((String) s.readObject()).intern(); - // Recompute hashcode. + s.defaultReadObject(); + language = language.intern(); + country = country.intern(); + variant = variant.intern(); hashcode = language.hashCode() ^ country.hashCode() ^ variant.hashCode(); } } // class Locale diff --git a/libjava/classpath/java/util/Map.java b/libjava/classpath/java/util/Map.java index 986ab9a84b4..67b3d8aa507 100644 --- a/libjava/classpath/java/util/Map.java +++ b/libjava/classpath/java/util/Map.java @@ -78,7 +78,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface Map +public interface Map { /** * Remove all entries from this Map (optional operation). @@ -127,7 +127,7 @@ public interface Map * @return the set view of all mapping entries * @see Map.Entry */ - Set entrySet(); + Set> entrySet(); /** * Compares the specified object with this map for equality. Returns @@ -153,7 +153,7 @@ public interface Map * @throws NullPointerException if this map does not accept null keys * @see #containsKey(Object) */ - Object get(Object key); + V get(Object key); /** * Associates the given key to the given value (optional operation). If the @@ -172,7 +172,7 @@ public interface Map * and the map forbids null keys or values * @see #containsKey(Object) */ - Object put(Object key, Object value); + V put(K key, V value); /** * Returns the hash code for this map. This is the sum of all hashcodes @@ -204,7 +204,7 @@ public interface Map * * @return the set view of all keys */ - Set keySet(); + Set keySet(); /** * Copies all entries of the given map to this one (optional operation). If @@ -219,7 +219,7 @@ public interface Map * if m is null. * @see #put(Object, Object) */ - void putAll(Map m); + void putAll(Map m); /** * Removes the mapping for this key if present (optional operation). If @@ -234,7 +234,7 @@ public interface Map * @throws ClassCastException if the type of the key is not a valid type * for this map. */ - Object remove(Object key); + V remove(Object o); /** * Returns the number of key-value mappings in the map. If there are more @@ -257,7 +257,7 @@ public interface Map * * @return the collection view of all values */ - Collection values(); + Collection values(); /** * A map entry (key-value pair). The Map.entrySet() method returns a set @@ -273,14 +273,14 @@ public interface Map * @since 1.2 * @status updated to 1.4 */ - interface Entry + interface Entry { /** * Get the key corresponding to this entry. * * @return the key */ - Object getKey(); + K getKey(); /** * Get the value corresponding to this entry. If you already called @@ -288,7 +288,7 @@ public interface Map * * @return the value */ - Object getValue(); + V getValue(); /** * Replaces the value with the specified object (optional operation). @@ -303,7 +303,7 @@ public interface Map * prevents it from existing in this map * @throws NullPointerException if the map forbids null values */ - Object setValue(Object value); + V setValue(V value); /** diff --git a/libjava/classpath/java/util/PriorityQueue.java b/libjava/classpath/java/util/PriorityQueue.java new file mode 100644 index 00000000000..c9cfd8b0fba --- /dev/null +++ b/libjava/classpath/java/util/PriorityQueue.java @@ -0,0 +1,335 @@ +/* PriorityQueue.java -- Unbounded priority queue + Copyright (C) 2004, 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. */ + + +package java.util; + +import java.io.Serializable; + +/** + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class PriorityQueue extends AbstractQueue implements Serializable +{ + private static final int DEFAULT_CAPACITY = 11; + + private static final long serialVersionUID = -7720805057305804111L; + + /** Number of elements actually used in the storage array. */ + int used; + + /** + * This is the storage for the underlying binomial heap. + * The idea is, each node is less than or equal to its children. + * A node at index N (0-based) has two direct children, at + * nodes 2N+1 and 2N+2. + */ + E[] storage; + + /** + * The comparator we're using, or null for natural ordering. + */ + Comparator comparator; + + public PriorityQueue() + { + this(DEFAULT_CAPACITY, null); + } + + public PriorityQueue(Collection c) + { + this(Math.max(1, (int) (1.1 * c.size())), null); + + // Special case where we can find the comparator to use. + if (c instanceof SortedSet) + { + SortedSet ss = (SortedSet) c; + this.comparator = (Comparator) ss.comparator(); + // We can insert the elements directly, since they are sorted. + int i = 0; + for (E val : ss) + { + if (val == null) + throw new NullPointerException(); + storage[i++] = val; + } + } + else if (c instanceof PriorityQueue) + { + PriorityQueue pq = (PriorityQueue) c; + this.comparator = (Comparator)pq.comparator(); + // We can just copy the contents. + System.arraycopy(pq.storage, 0, storage, 0, pq.storage.length); + } + + addAll(c); + } + + public PriorityQueue(int cap) + { + this(cap, null); + } + + public PriorityQueue(int cap, Comparator comp) + { + if (cap < 1) + throw new IllegalArgumentException(); + this.used = 0; + this.storage = (E[]) new Object[cap]; + this.comparator = comp; + } + + public PriorityQueue(PriorityQueue c) + { + this(Math.max(1, (int) (1.1 * c.size())), + (Comparator)c.comparator()); + // We can just copy the contents. + System.arraycopy(c.storage, 0, storage, 0, c.storage.length); + } + + public PriorityQueue(SortedSet c) + { + this(Math.max(1, (int) (1.1 * c.size())), + (Comparator)c.comparator()); + // We can insert the elements directly, since they are sorted. + int i = 0; + for (E val : c) + { + if (val == null) + throw new NullPointerException(); + storage[i++] = val; + } + } + + public void clear() + { + Arrays.fill(storage, null); + used = 0; + } + + public Comparator comparator() + { + return comparator; + } + + public Iterator iterator() + { + return new Iterator() + { + int index = -1; + int count = 0; + + public boolean hasNext() + { + return count < used; + } + + public E next() + { + while (storage[++index] == null) + ; + ++count; + return storage[index]; + } + + public void remove() + { + PriorityQueue.this.remove(index); + index--; + } + }; + } + + public boolean offer(E o) + { + if (o == null) + throw new NullPointerException(); + + int slot = findSlot(-1); + + storage[slot] = o; + ++used; + bubbleUp(slot); + + return true; + } + + public E peek() + { + return used == 0 ? null : storage[0]; + } + + public E poll() + { + if (used == 0) + return null; + E result = storage[0]; + remove(0); + return result; + } + + public boolean remove(Object o) + { + if (o != null) + { + for (int i = 0; i < storage.length; ++i) + { + if (o.equals(storage[i])) + { + remove(i); + return true; + } + } + } + return false; + } + + public int size() + { + return used; + } + + // It is more efficient to implement this locally -- less searching + // for free slots. + public boolean addAll(Collection c) + { + if (c == this) + throw new IllegalArgumentException(); + + int newSlot = -1; + int save = used; + for (E val : c) + { + if (val == null) + throw new NullPointerException(); + newSlot = findSlot(newSlot); + storage[newSlot] = val; + ++used; + bubbleUp(newSlot); + } + + return save != used; + } + + int findSlot(int start) + { + int slot; + if (used == storage.length) + { + resize(); + slot = used; + } + else + { + for (slot = start + 1; slot < storage.length; ++slot) + { + if (storage[slot] == null) + break; + } + // We'll always find a slot. + } + return slot; + } + + void remove(int index) + { + // Remove the element at INDEX. We do this by finding the least + // child and moving it into place, then iterating until we reach + // the bottom of the tree. + while (storage[index] != null) + { + int child = 2 * index + 1; + + // See if we went off the end. + if (child >= storage.length) + { + storage[index] = null; + break; + } + + // Find which child we want to promote. If one is not null, + // we pick it. If both are null, it doesn't matter, we're + // about to leave. If neither is null, pick the lesser. + if (child + 1 >= storage.length || storage[child + 1] == null) + { + // Nothing. + } + else if (storage[child] == null + || (Collections.compare(storage[child], storage[child + 1], + comparator) > 0)) + ++child; + storage[index] = storage[child]; + index = child; + } + --used; + } + + void bubbleUp(int index) + { + // The element at INDEX was inserted into a blank spot. Now move + // it up the tree to its natural resting place. + while (index > 0) + { + // This works regardless of whether we're at 2N+1 or 2N+2. + int parent = (index - 1) / 2; + if (Collections.compare(storage[parent], storage[index], comparator) + <= 0) + { + // Parent is the same or smaller than this element, so the + // invariant is preserved. Note that if the new element + // is smaller than the parent, then it is necessarily + // smaller than the parent's other child. + break; + } + + E temp = storage[index]; + storage[index] = storage[parent]; + storage[parent] = temp; + + index = parent; + } + } + + void resize() + { + E[] new_data = (E[]) new Object[2 * storage.length]; + System.arraycopy(storage, 0, new_data, 0, storage.length); + storage = new_data; + } +} diff --git a/libjava/classpath/java/util/Properties.java b/libjava/classpath/java/util/Properties.java index eb208f5a93d..e294fee7ea9 100644 --- a/libjava/classpath/java/util/Properties.java +++ b/libjava/classpath/java/util/Properties.java @@ -104,7 +104,7 @@ s16=1,3 * @see PropertyResourceBundle * @status updated to 1.4 */ -public class Properties extends Hashtable +public class Properties extends Hashtable { // WARNING: Properties is a CORE class in the bootstrap cycle. See the // comments in vm/reference/java/lang/Runtime for implications of this fact. @@ -370,6 +370,7 @@ label = Name:\\u0020 * value that are not strings * @deprecated use {@link #store(OutputStream, String)} instead */ + @Deprecated public void save(OutputStream out, String header) { try @@ -489,7 +490,7 @@ label = Name:\\u0020 * * @return an Enumeration of all defined keys */ - public Enumeration propertyNames() + public Enumeration propertyNames() { // We make a new Set that holds all the keys, then return an enumeration // for that. This prevents modifications from ruining the enumeration, diff --git a/libjava/classpath/java/util/PropertyResourceBundle.java b/libjava/classpath/java/util/PropertyResourceBundle.java index aaff0766a35..53a1af5360b 100644 --- a/libjava/classpath/java/util/PropertyResourceBundle.java +++ b/libjava/classpath/java/util/PropertyResourceBundle.java @@ -126,15 +126,17 @@ public class PropertyResourceBundle extends ResourceBundle * * @return an enumeration of the keys */ - public Enumeration getKeys() + public Enumeration getKeys() { if (parent == null) - return properties.propertyNames(); + // FIXME: bogus cast. + return (Enumeration) properties.propertyNames(); // We make a new Set that holds all the keys, then return an enumeration // for that. This prevents modifications from ruining the enumeration, // as well as ignoring duplicates. - Set s = new HashSet(); - Enumeration e = properties.propertyNames(); + Set s = new HashSet(); + // FIXME: bogus cast. + Enumeration e = (Enumeration) properties.propertyNames(); while (e.hasMoreElements()) s.add(e.nextElement()); ResourceBundle bundle = parent; diff --git a/libjava/classpath/java/util/ResourceBundle.java b/libjava/classpath/java/util/ResourceBundle.java index 4dcb9ad16f8..9b82bc80152 100644 --- a/libjava/classpath/java/util/ResourceBundle.java +++ b/libjava/classpath/java/util/ResourceBundle.java @@ -90,6 +90,14 @@ baseName */ public abstract class ResourceBundle { + /** + * Maximum size of our cache of ResourceBundles keyed by + * {@link BundleKey} instances. + * + * @see BundleKey + */ + private static final int CACHE_SIZE = 100; + /** * The parent bundle. This is consulted when you call getObject and there * is no such resource in the current bundle. This field may be null. @@ -104,21 +112,22 @@ public abstract class ResourceBundle private Locale locale; /** - * The resource bundle cache. - */ - private static Map bundleCache; - - /** - * The last default Locale we saw. If this ever changes then we have to - * reset our caches. - */ - private static Locale lastDefaultLocale; - - /** - * The `empty' locale is created once in order to optimize - * tryBundle(). + * A VM-wide cache of resource bundles already fetched. + *

    + * This {@link Map} is a Least Recently Used (LRU) cache, of the last + * {@link #CACHE_SIZE} accessed ResourceBundles keyed by the + * tuple: default locale, resource-bundle name, resource-bundle locale, and + * classloader. + * + * @see BundleKey */ - private static final Locale emptyLocale = new Locale(""); + private static Map bundleCache = new LinkedHashMap(CACHE_SIZE + 1, 0.75F, true) + { + public boolean removeEldestEntry(Map.Entry entry) + { + return size() > CACHE_SIZE; + } + }; /** * The constructor. It does nothing special. @@ -246,6 +255,7 @@ public abstract class ResourceBundle by the combination of bundle name, locale, and class loader. */ private static class BundleKey { + Locale defaultLocale; String baseName; Locale locale; ClassLoader classLoader; @@ -253,18 +263,19 @@ public abstract class ResourceBundle BundleKey() {} - BundleKey(String s, Locale l, ClassLoader cl) + BundleKey(Locale dl, String s, Locale l, ClassLoader cl) { - set(s, l, cl); + set(dl, s, l, cl); } - void set(String s, Locale l, ClassLoader cl) + void set(Locale dl, String s, Locale l, ClassLoader cl) { + defaultLocale = dl; baseName = s; locale = l; classLoader = cl; - hashcode = baseName.hashCode() ^ locale.hashCode() ^ - classLoader.hashCode(); + hashcode = defaultLocale.hashCode() ^ baseName.hashCode() + ^ locale.hashCode() ^ classLoader.hashCode(); } public int hashCode() @@ -277,10 +288,11 @@ public abstract class ResourceBundle if (! (o instanceof BundleKey)) return false; BundleKey key = (BundleKey) o; - return hashcode == key.hashcode && - baseName.equals(key.baseName) && - locale.equals(key.locale) && - classLoader.equals(key.classLoader); + return hashcode == key.hashcode + && defaultLocale.equals(key.defaultLocale) + && baseName.equals(key.baseName) + && locale.equals(key.locale) + && classLoader.equals(key.classLoader); } } @@ -370,61 +382,39 @@ public abstract class ResourceBundle public static synchronized ResourceBundle getBundle (String baseName, Locale locale, ClassLoader classLoader) { - // If the default locale changed since the last time we were called, - // all cache entries are invalidated. Locale defaultLocale = Locale.getDefault(); - if (defaultLocale != lastDefaultLocale) - { - bundleCache = new HashMap(); - lastDefaultLocale = defaultLocale; - } - // This will throw NullPointerException if any arguments are null. - lookupKey.set(baseName, locale, classLoader); - + lookupKey.set(defaultLocale, baseName, locale, classLoader); Object obj = bundleCache.get(lookupKey); - ResourceBundle rb = null; - if (obj instanceof ResourceBundle) + return (ResourceBundle) obj; + + if (obj == nullEntry) + throw new MissingResourceException("Bundle " + baseName + + " not found for locale " + locale + + " by classloader " + classLoader, + baseName, ""); + // First, look for a bundle for the specified locale. We don't want + // the base bundle this time. + boolean wantBase = locale.equals(defaultLocale); + ResourceBundle bundle = tryBundle(baseName, locale, classLoader, wantBase); + // Try the default locale if neccessary. + if (bundle == null && ! wantBase) + bundle = tryBundle(baseName, defaultLocale, classLoader, true); + + BundleKey key = new BundleKey(defaultLocale, baseName, locale, classLoader); + if (bundle == null) { - return (ResourceBundle) obj; - } - else if (obj == nullEntry) - { - // Lookup has failed previously. Fall through. + // Cache the fact that this lookup has previously failed. + bundleCache.put(key, nullEntry); + throw new MissingResourceException("Bundle " + baseName + + " not found for locale " + locale + + " by classloader " + classLoader, + baseName, ""); } - else - { - // First, look for a bundle for the specified locale. We don't want - // the base bundle this time. - boolean wantBase = locale.equals(defaultLocale); - ResourceBundle bundle = tryBundle(baseName, locale, classLoader, - wantBase); - - // Try the default locale if neccessary. - if (bundle == null && !locale.equals(defaultLocale)) - bundle = tryBundle(baseName, defaultLocale, classLoader, true); - - BundleKey key = new BundleKey(baseName, locale, classLoader); - if (bundle == null) - { - // Cache the fact that this lookup has previously failed. - bundleCache.put(key, nullEntry); - } - else - { - // Cache the result and return it. - bundleCache.put(key, bundle); - return bundle; - } - } - - throw new MissingResourceException("Bundle " + baseName - + " not found for locale " - + locale - + " by classloader " - + classLoader, - baseName, ""); + // Cache the result and return it. + bundleCache.put(key, bundle); + return bundle; } /** @@ -447,7 +437,7 @@ public abstract class ResourceBundle * * @return an enumeration of the keys */ - public abstract Enumeration getKeys(); + public abstract Enumeration getKeys(); /** * Tries to load a class or a property file with the specified name. diff --git a/libjava/classpath/java/util/Set.java b/libjava/classpath/java/util/Set.java index 839959e620c..35f75b5e798 100644 --- a/libjava/classpath/java/util/Set.java +++ b/libjava/classpath/java/util/Set.java @@ -1,5 +1,6 @@ /* Set.java -- A collection that prohibits duplicates - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -66,7 +67,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface Set extends Collection +public interface Set extends Collection { /** * Adds the specified element to the set if it is not already present @@ -83,7 +84,7 @@ public interface Set extends Collection * being added * @throws NullPointerException if null is not permitted in this set */ - boolean add(Object o); + boolean add(E o); /** * Adds all of the elements of the given collection to this set (optional @@ -102,7 +103,7 @@ public interface Set extends Collection * if the argument c is null * @see #add(Object) */ - boolean addAll(Collection c); + boolean addAll(Collection c); /** * Removes all elements from this set (optional operation). This set will @@ -139,7 +140,7 @@ public interface Set extends Collection * set doesn't support null values. * @see #contains(Object) */ - boolean containsAll(Collection c); + boolean containsAll(Collection c); /** * Compares the specified object to this for equality. For sets, the object @@ -173,7 +174,7 @@ public interface Set extends Collection * * @return a set iterator */ - Iterator iterator(); + Iterator iterator(); /** * Removes the specified element from this set (optional operation). If @@ -205,7 +206,7 @@ public interface Set extends Collection * set doesn't support removing null values. * @see #remove(Object) */ - boolean removeAll(Collection c); + boolean removeAll(Collection c); /** * Retains only the elements in this set that are also in the specified @@ -222,7 +223,7 @@ public interface Set extends Collection * set doesn't support retaining null values. * @see #remove(Object) */ - boolean retainAll(Collection c); + boolean retainAll(Collection c); /** * Returns the number of elements in the set. If there are more @@ -260,5 +261,5 @@ public interface Set extends Collection * @throws NullPointerException if a is null * @see #toArray() */ - Object[] toArray(Object[] a); + T[] toArray(T[] a); } diff --git a/libjava/classpath/java/util/SortedMap.java b/libjava/classpath/java/util/SortedMap.java index acfbd0d3639..2b98848f4de 100644 --- a/libjava/classpath/java/util/SortedMap.java +++ b/libjava/classpath/java/util/SortedMap.java @@ -1,5 +1,5 @@ /* SortedMap.java -- A map that makes guarantees about the order of its keys - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -72,7 +72,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface SortedMap extends Map +public interface SortedMap extends Map { /** * Returns the comparator used in sorting this map, or null if it is @@ -80,7 +80,7 @@ public interface SortedMap extends Map * * @return the sorting comparator */ - Comparator comparator(); + Comparator comparator(); /** * Returns the first (lowest sorted) key in the map. @@ -88,7 +88,7 @@ public interface SortedMap extends Map * @return the first key * @throws NoSuchElementException if this map is empty. */ - Object firstKey(); + K firstKey(); /** * Returns a view of the portion of the map strictly less than toKey. The @@ -110,7 +110,7 @@ public interface SortedMap extends Map * @throws NullPointerException if toKey is null but the map does not allow * null keys */ - SortedMap headMap(Object toKey); + SortedMap headMap(K toKey); /** * Returns the last (highest sorted) key in the map. @@ -118,7 +118,7 @@ public interface SortedMap extends Map * @return the last key * @throws NoSuchElementException if this map is empty. */ - Object lastKey(); + K lastKey(); /** * Returns a view of the portion of the map greater than or equal to @@ -146,7 +146,7 @@ public interface SortedMap extends Map * @throws NullPointerException if fromKey or toKey is null but the map * does not allow null keys */ - SortedMap subMap(Object fromKey, Object toKey); + SortedMap subMap(K fromKey, K toKey); /** * Returns a view of the portion of the map greater than or equal to @@ -169,5 +169,5 @@ public interface SortedMap extends Map * @throws NullPointerException if fromKey is null but the map does not allow * null keys */ - SortedMap tailMap(Object fromKey); + SortedMap tailMap(K fromKey); } diff --git a/libjava/classpath/java/util/SortedSet.java b/libjava/classpath/java/util/SortedSet.java index 48a24a8e0f9..89f155a0dc0 100644 --- a/libjava/classpath/java/util/SortedSet.java +++ b/libjava/classpath/java/util/SortedSet.java @@ -1,6 +1,6 @@ /* SortedSet.java -- A set that makes guarantees about the order of its elements - Copyright (C) 1998, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -74,7 +74,7 @@ package java.util; * @since 1.2 * @status updated to 1.4 */ -public interface SortedSet extends Set +public interface SortedSet extends Set { /** * Returns the comparator used in sorting this set, or null if it is @@ -82,7 +82,7 @@ public interface SortedSet extends Set * * @return the sorting comparator */ - Comparator comparator(); + Comparator comparator(); /** * Returns the first (lowest sorted) element in the set. @@ -90,7 +90,7 @@ public interface SortedSet extends Set * @return the first element * @throws NoSuchElementException if the set is empty. */ - Object first(); + E first(); /** * Returns a view of the portion of the set strictly less than toElement. The @@ -113,7 +113,7 @@ public interface SortedSet extends Set * @throws NullPointerException if toElement is null but the set does not * allow null elements */ - SortedSet headSet(Object toElement); + SortedSet headSet(E toElement); /** * Returns the last (highest sorted) element in the set. @@ -121,7 +121,7 @@ public interface SortedSet extends Set * @return the last element * @throws NoSuchElementException if the set is empty. */ - Object last(); + E last(); /** * Returns a view of the portion of the set greater than or equal to @@ -149,7 +149,7 @@ public interface SortedSet extends Set * @throws NullPointerException if fromElement or toElement is null but the * set does not allow null elements */ - SortedSet subSet(Object fromElement, Object toElement); + SortedSet subSet(E fromElement, E toElement); /** * Returns a view of the portion of the set greater than or equal to @@ -172,5 +172,5 @@ public interface SortedSet extends Set * @throws NullPointerException if fromElement is null but the set does not * allow null elements */ - SortedSet tailSet(Object fromElement); + SortedSet tailSet(E fromElement); } diff --git a/libjava/classpath/java/util/Stack.java b/libjava/classpath/java/util/Stack.java index 730ce177cd1..404a146c272 100644 --- a/libjava/classpath/java/util/Stack.java +++ b/libjava/classpath/java/util/Stack.java @@ -1,6 +1,7 @@ /* Stack.java - Class that provides a Last In First Out (LIFO) datatype, known more commonly as a Stack - Copyright (C) 1998, 1999, 2001, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2001, 2004, 2005 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -58,7 +59,7 @@ package java.util; * @since 1.0 * @status updated to 1.4 */ -public class Stack extends Vector +public class Stack extends Vector { // We could use Vector methods internally for the following methods, // but have used Vector fields directly for efficiency (i.e. this @@ -84,7 +85,7 @@ public class Stack extends Vector * @return the Object pushed onto the stack * @see Vector#addElement(Object) */ - public Object push(Object item) + public T push(T item) { // When growing the Stack, use the Vector routines in case more // memory is needed. @@ -101,13 +102,13 @@ public class Stack extends Vector * @return the Object popped from the stack * @throws EmptyStackException if the stack is empty */ - public synchronized Object pop() + public synchronized T pop() { if (elementCount == 0) throw new EmptyStackException(); modCount++; - Object obj = elementData[--elementCount]; + T obj = elementData[--elementCount]; // Set topmost element to null to assist the gc in cleanup. elementData[elementCount] = null; @@ -120,7 +121,7 @@ public class Stack extends Vector * @return the top Object on the stack * @throws EmptyStackException if the stack is empty */ - public synchronized Object peek() + public synchronized T peek() { if (elementCount == 0) throw new EmptyStackException(); diff --git a/libjava/classpath/java/util/StringTokenizer.java b/libjava/classpath/java/util/StringTokenizer.java index 21298c75ec7..0b59abe2fda 100644 --- a/libjava/classpath/java/util/StringTokenizer.java +++ b/libjava/classpath/java/util/StringTokenizer.java @@ -58,7 +58,7 @@ package java.util; * @see java.io.StreamTokenizer * @status updated to 1.4 */ -public class StringTokenizer implements Enumeration +public class StringTokenizer implements Enumeration { // WARNING: StringTokenizer is a CORE class in the bootstrap cycle. See the // comments in vm/reference/java/lang/Runtime for implications of this fact. diff --git a/libjava/classpath/java/util/Timer.java b/libjava/classpath/java/util/Timer.java index 01a6fe8eab3..9b23a8fe709 100644 --- a/libjava/classpath/java/util/Timer.java +++ b/libjava/classpath/java/util/Timer.java @@ -306,50 +306,50 @@ public class Timer // Null out any elements that are canceled. Skip element 0 as // it is the sentinel. for (int i = elements; i > 0; --i) - { - if (heap[i].scheduled < 0) - { - ++removed; - - // Remove an element by pushing the appropriate child - // into place, and then iterating to the bottom of the - // tree. - int index = i; - while (heap[index] != null) - { - int child = 2 * index; - if (child >= heap.length) - { - // Off end; we're done. - heap[index] = null; - break; - } - - if (child + 1 >= heap.length || heap[child + 1] == null) - { - // Nothing -- we're done. - } - else if (heap[child] == null - || (heap[child].scheduled - > heap[child + 1].scheduled)) - ++child; - heap[index] = heap[child]; - index = child; - } - } - } - + { + if (heap[i].scheduled < 0) + { + ++removed; + + // Remove an element by pushing the appropriate child + // into place, and then iterating to the bottom of the + // tree. + int index = i; + while (heap[index] != null) + { + int child = 2 * index; + if (child >= heap.length) + { + // Off end; we're done. + heap[index] = null; + break; + } + + if (child + 1 >= heap.length || heap[child + 1] == null) + { + // Nothing -- we're done. + } + else if (heap[child] == null + || (heap[child].scheduled + > heap[child + 1].scheduled)) + ++child; + heap[index] = heap[child]; + index = child; + } + } + } + // Make a new heap if we shrank enough. int newLen = heap.length; while (elements - removed + DEFAULT_SIZE / 2 <= newLen / 4) - newLen /= 2; + newLen /= 2; if (newLen != heap.length) - { - TimerTask[] newHeap = new TimerTask[newLen]; - System.arraycopy(heap, 0, newHeap, 0, elements + 1); - heap = newHeap; - } - + { + TimerTask[] newHeap = new TimerTask[newLen]; + System.arraycopy(heap, 0, newHeap, 0, elements + 1); + heap = newHeap; + } + return removed; } } // TaskQueue @@ -474,11 +474,11 @@ public class Timer this(daemon, Thread.NORM_PRIORITY); } - /** + /** * Create a new Timer whose Thread has the indicated name. It will have * normal priority and will not be a daemon thread. * @param name the name of the Thread - * @since 1.5 + * @since 1.5 */ public Timer(String name) { @@ -691,7 +691,7 @@ public class Timer { queue.setNullOnEmpty(true); } - + /** * Removes all cancelled tasks from the queue. * @return the number of tasks removed diff --git a/libjava/classpath/java/util/TreeMap.java b/libjava/classpath/java/util/TreeMap.java index 60d0a4d50a1..88abce10d8d 100644 --- a/libjava/classpath/java/util/TreeMap.java +++ b/libjava/classpath/java/util/TreeMap.java @@ -90,8 +90,8 @@ import java.io.Serializable; * @since 1.2 * @status updated to 1.4 */ -public class TreeMap extends AbstractMap - implements SortedMap, Cloneable, Serializable +public class TreeMap extends AbstractMap + implements SortedMap, Cloneable, Serializable { // Implementation note: // A red-black tree is a binary search tree with the additional properties @@ -140,7 +140,7 @@ public class TreeMap extends AbstractMap /** * The cache for {@link #entrySet()}. */ - private transient Set entries; + private transient Set> entries; /** * Counts the number of modifications this TreeMap has undergone, used @@ -154,7 +154,7 @@ public class TreeMap extends AbstractMap * Package visible for use by nested classes. * @serial the comparator ordering this tree, or null */ - final Comparator comparator; + final Comparator comparator; /** * Class to represent an entry in the tree. Holds a single key-value pair, @@ -162,25 +162,25 @@ public class TreeMap extends AbstractMap * * @author Eric Blake (ebb9@email.byu.edu) */ - private static final class Node extends AbstractMap.BasicMapEntry + private static final class Node extends AbstractMap.SimpleEntry { // All fields package visible for use by nested classes. /** The color of this node. */ int color; /** The left child node. */ - Node left = nil; + Node left = nil; /** The right child node. */ - Node right = nil; + Node right = nil; /** The parent node. */ - Node parent = nil; + Node parent = nil; /** * Simple constructor. * @param key the key * @param value the value */ - Node(Object key, Object value, int color) + Node(K key, V value, int color) { super(key, value); this.color = color; @@ -210,7 +210,7 @@ public class TreeMap extends AbstractMap * @param c the sort order for the keys of this map, or null * for the natural order */ - public TreeMap(Comparator c) + public TreeMap(Comparator c) { comparator = c; fabricateTree(0); @@ -230,7 +230,7 @@ public class TreeMap extends AbstractMap * @throws NullPointerException if map is null * @see Comparable */ - public TreeMap(Map map) + public TreeMap(Map map) { this((Comparator) null); putAll(map); @@ -244,7 +244,7 @@ public class TreeMap extends AbstractMap * @param sm a SortedMap, whose entries will be put into this TreeMap * @throws NullPointerException if sm is null */ - public TreeMap(SortedMap sm) + public TreeMap(SortedMap sm) { this(sm.comparator()); int pos = sm.size(); @@ -313,7 +313,7 @@ public class TreeMap extends AbstractMap * * @return the map's comparator */ - public Comparator comparator() + public Comparator comparator() { return comparator; } @@ -329,7 +329,7 @@ public class TreeMap extends AbstractMap */ public boolean containsKey(Object key) { - return getNode(key) != nil; + return getNode((K) key) != nil; } /** @@ -364,19 +364,19 @@ public class TreeMap extends AbstractMap * @see #values() * @see Map.Entry */ - public Set entrySet() + public Set> entrySet() { if (entries == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - entries = new AbstractSet() + entries = new AbstractSet>() { public int size() { return size; } - public Iterator iterator() + public Iterator> iterator() { return new TreeIterator(ENTRIES); } @@ -390,8 +390,8 @@ public class TreeMap extends AbstractMap { if (! (o instanceof Map.Entry)) return false; - Map.Entry me = (Map.Entry) o; - Node n = getNode(me.getKey()); + Map.Entry me = (Map.Entry) o; + Node n = getNode(me.getKey()); return n != nil && AbstractSet.equals(me.getValue(), n.value); } @@ -399,8 +399,8 @@ public class TreeMap extends AbstractMap { if (! (o instanceof Map.Entry)) return false; - Map.Entry me = (Map.Entry) o; - Node n = getNode(me.getKey()); + Map.Entry me = (Map.Entry) o; + Node n = getNode(me.getKey()); if (n != nil && AbstractSet.equals(me.getValue(), n.value)) { removeNode(n); @@ -418,7 +418,7 @@ public class TreeMap extends AbstractMap * @return the first key * @throws NoSuchElementException if the map is empty */ - public Object firstKey() + public K firstKey() { if (root == nil) throw new NoSuchElementException(); @@ -439,10 +439,10 @@ public class TreeMap extends AbstractMap * @see #put(Object, Object) * @see #containsKey(Object) */ - public Object get(Object key) + public V get(Object key) { // Exploit fact that nil.value == null. - return getNode(key).value; + return getNode((K) key).value; } /** @@ -460,9 +460,9 @@ public class TreeMap extends AbstractMap * @throws NullPointerException if toKey is null, but the comparator does not * tolerate null elements */ - public SortedMap headMap(Object toKey) + public SortedMap headMap(K toKey) { - return new SubMap(nil, toKey); + return new SubMap((K)(Object)nil, toKey); } /** @@ -474,19 +474,19 @@ public class TreeMap extends AbstractMap * @see #values() * @see #entrySet() */ - public Set keySet() + public Set keySet() { if (keys == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - keys = new AbstractSet() + keys = new AbstractSet() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { return new TreeIterator(KEYS); } @@ -503,7 +503,7 @@ public class TreeMap extends AbstractMap public boolean remove(Object key) { - Node n = getNode(key); + Node n = getNode((K) key); if (n == nil) return false; removeNode(n); @@ -519,7 +519,7 @@ public class TreeMap extends AbstractMap * @return the last key * @throws NoSuchElementException if the map is empty */ - public Object lastKey() + public K lastKey() { if (root == nil) throw new NoSuchElementException("empty"); @@ -542,10 +542,10 @@ public class TreeMap extends AbstractMap * @see #get(Object) * @see Object#equals(Object) */ - public Object put(Object key, Object value) + public V put(K key, V value) { - Node current = root; - Node parent = nil; + Node current = root; + Node parent = nil; int comparison = 0; // Find new node's parent. @@ -595,13 +595,13 @@ public class TreeMap extends AbstractMap * @throws NullPointerException if a key in m is null, and the comparator * does not tolerate nulls */ - public void putAll(Map m) + public void putAll(Map m) { Iterator itr = m.entrySet().iterator(); int pos = m.size(); while (--pos >= 0) { - Map.Entry e = (Map.Entry) itr.next(); + Map.Entry e = (Map.Entry) itr.next(); put(e.getKey(), e.getValue()); } } @@ -619,13 +619,13 @@ public class TreeMap extends AbstractMap * @throws NullPointerException if key is null, but the comparator does * not tolerate nulls */ - public Object remove(Object key) + public V remove(Object key) { - Node n = getNode(key); + Node n = getNode((K)key); if (n == nil) return null; // Note: removeNode can alter the contents of n, so save value now. - Object result = n.value; + V result = n.value; removeNode(n); return result; } @@ -659,7 +659,7 @@ public class TreeMap extends AbstractMap * comparator does not tolerate null elements * @throws IllegalArgumentException if fromKey is greater than toKey */ - public SortedMap subMap(Object fromKey, Object toKey) + public SortedMap subMap(K fromKey, K toKey) { return new SubMap(fromKey, toKey); } @@ -679,9 +679,9 @@ public class TreeMap extends AbstractMap * @throws NullPointerException if fromKey is null, but the comparator * does not tolerate null elements */ - public SortedMap tailMap(Object fromKey) + public SortedMap tailMap(K fromKey) { - return new SubMap(fromKey, nil); + return new SubMap(fromKey, (K)(Object)nil); } /** @@ -694,19 +694,19 @@ public class TreeMap extends AbstractMap * @see #keySet() * @see #entrySet() */ - public Collection values() + public Collection values() { if (values == null) // We don't bother overriding many of the optional methods, as doing so // wouldn't provide any significant performance advantage. - values = new AbstractCollection() + values = new AbstractCollection() { public int size() { return size; } - public Iterator iterator() + public Iterator iterator() { return new TreeIterator(VALUES); } @@ -729,7 +729,7 @@ public class TreeMap extends AbstractMap * or are not Comparable with natural ordering * @throws NullPointerException if o1 or o2 is null with natural ordering */ - final int compare(Object o1, Object o2) + final int compare(K o1, K o2) { return (comparator == null ? ((Comparable) o1).compareTo(o2) @@ -742,7 +742,7 @@ public class TreeMap extends AbstractMap * @param node the child of the node just deleted, possibly nil * @param parent the parent of the node just deleted, never nil */ - private void deleteFixup(Node node, Node parent) + private void deleteFixup(Node node, Node parent) { // if (parent == nil) // throw new InternalError(); @@ -754,7 +754,7 @@ public class TreeMap extends AbstractMap if (node == parent.left) { // Rebalance left side. - Node sibling = parent.right; + Node sibling = parent.right; // if (sibling == nil) // throw new InternalError(); if (sibling.color == RED) @@ -798,7 +798,7 @@ public class TreeMap extends AbstractMap else { // Symmetric "mirror" of left-side case. - Node sibling = parent.left; + Node sibling = parent.left; // if (sibling == nil) // throw new InternalError(); if (sibling.color == RED) @@ -931,7 +931,7 @@ public class TreeMap extends AbstractMap * * @return the first node */ - final Node firstNode() + final Node firstNode() { // Exploit fact that nil.left == nil. Node node = root; @@ -947,9 +947,9 @@ public class TreeMap extends AbstractMap * @param key the key to search for * @return the node where the key is found, or nil */ - final Node getNode(Object key) + final Node getNode(K key) { - Node current = root; + Node current = root; while (current != nil) { int comparison = compare(key, current.key); @@ -970,13 +970,13 @@ public class TreeMap extends AbstractMap * @param key the upper bound, exclusive * @return the previous node */ - final Node highestLessThan(Object key) + final Node highestLessThan(K key) { if (key == nil) return lastNode(); - Node last = nil; - Node current = root; + Node last = nil; + Node current = root; int comparison = 0; while (current != nil) @@ -998,7 +998,7 @@ public class TreeMap extends AbstractMap * * @param n the newly inserted node */ - private void insertFixup(Node n) + private void insertFixup(Node n) { // Only need to rebalance when parent is a RED node, and while at least // 2 levels deep into the tree (ie: node has a grandparent). Remember @@ -1073,7 +1073,7 @@ public class TreeMap extends AbstractMap * * @return the last node */ - private Node lastNode() + private Node lastNode() { // Exploit fact that nil.right == nil. Node node = root; @@ -1091,13 +1091,13 @@ public class TreeMap extends AbstractMap * @param first true to return the first element instead of nil for nil key * @return the next node */ - final Node lowestGreaterThan(Object key, boolean first) + final Node lowestGreaterThan(K key, boolean first) { if (key == nil) return first ? firstNode() : nil; - Node last = nil; - Node current = root; + Node last = nil; + Node current = root; int comparison = 0; while (current != nil) @@ -1120,7 +1120,7 @@ public class TreeMap extends AbstractMap * @param node the current node, not nil * @return the prior node in sorted order */ - private Node predecessor(Node node) + private Node predecessor(Node node) { if (node.left != nil) { @@ -1169,21 +1169,21 @@ public class TreeMap extends AbstractMap /** * Construct a tree from sorted keys in linear time, with values of "". - * Package visible for use by TreeSet. + * Package visible for use by TreeSet, which uses a value type of String. * * @param keys the iterator over the sorted keys * @param count the number of nodes to insert * @see TreeSet#TreeSet(SortedSet) */ - final void putKeysLinear(Iterator keys, int count) + final void putKeysLinear(Iterator keys, int count) { fabricateTree(count); - Node node = firstNode(); + Node node = firstNode(); while (--count >= 0) { node.key = keys.next(); - node.value = ""; + node.value = (V) ""; node = successor(node); } } @@ -1211,10 +1211,10 @@ public class TreeMap extends AbstractMap * * @param node the node to remove */ - final void removeNode(Node node) + final void removeNode(Node node) { - Node splice; - Node child; + Node splice; + Node child; modCount++; size--; @@ -1268,7 +1268,7 @@ public class TreeMap extends AbstractMap * * @param node the node to rotate */ - private void rotateLeft(Node node) + private void rotateLeft(Node node) { Node child = node.right; // if (node == nil || child == nil) @@ -1301,7 +1301,7 @@ public class TreeMap extends AbstractMap * * @param node the node to rotate */ - private void rotateRight(Node node) + private void rotateRight(Node node) { Node child = node.left; // if (node == nil || child == nil) @@ -1336,7 +1336,7 @@ public class TreeMap extends AbstractMap * @param node the current node, not nil * @return the next node in sorted order */ - final Node successor(Node node) + final Node successor(Node node) { if (node.right != nil) { @@ -1346,7 +1346,7 @@ public class TreeMap extends AbstractMap return node; } - Node parent = node.parent; + Node parent = node.parent; // Exploit fact that nil.right == nil and node is non-nil. while (node == parent.right) { @@ -1489,24 +1489,26 @@ public class TreeMap extends AbstractMap * * @author Eric Blake (ebb9@email.byu.edu) */ - private final class SubMap extends AbstractMap implements SortedMap + private final class SubMap + extends AbstractMap + implements SortedMap { /** * The lower range of this view, inclusive, or nil for unbounded. * Package visible for use by nested classes. */ - final Object minKey; + final SK minKey; /** * The upper range of this view, exclusive, or nil for unbounded. * Package visible for use by nested classes. */ - final Object maxKey; + final SK maxKey; /** * The cache for {@link #entrySet()}. */ - private Set entries; + private Set> entries; /** * Create a SubMap representing the elements between minKey (inclusive) @@ -1517,9 +1519,9 @@ public class TreeMap extends AbstractMap * @param maxKey the upper bound * @throws IllegalArgumentException if minKey > maxKey */ - SubMap(Object minKey, Object maxKey) + SubMap(SK minKey, SK maxKey) { - if (minKey != nil && maxKey != nil && compare(minKey, maxKey) > 0) + if (minKey != nil && maxKey != nil && compare((K) minKey, (K) maxKey) > 0) throw new IllegalArgumentException("fromKey > toKey"); this.minKey = minKey; this.maxKey = maxKey; @@ -1533,10 +1535,10 @@ public class TreeMap extends AbstractMap * @param key the key to check * @return true if the key is in range */ - boolean keyInRange(Object key) + boolean keyInRange(SK key) { - return ((minKey == nil || compare(key, minKey) >= 0) - && (maxKey == nil || compare(key, maxKey) < 0)); + return ((minKey == nil || compare((K) key, (K) minKey) >= 0) + && (maxKey == nil || compare((K) key, (K) maxKey) < 0)); } public void clear() @@ -1551,14 +1553,14 @@ public class TreeMap extends AbstractMap } } - public Comparator comparator() + public Comparator comparator() { return comparator; } public boolean containsKey(Object key) { - return keyInRange(key) && TreeMap.this.containsKey(key); + return keyInRange((SK) key) && TreeMap.this.containsKey(key); } public boolean containsValue(Object value) @@ -1574,19 +1576,19 @@ public class TreeMap extends AbstractMap return false; } - public Set entrySet() + public Set> entrySet() { if (entries == null) // Create an AbstractSet with custom implementations of those methods // that can be overriden easily and efficiently. - entries = new AbstractSet() + entries = new AbstractSet>() { public int size() { return SubMap.this.size(); } - public Iterator iterator() + public Iterator> iterator() { Node first = lowestGreaterThan(minKey, true); Node max = lowestGreaterThan(maxKey, false); @@ -1602,11 +1604,11 @@ public class TreeMap extends AbstractMap { if (! (o instanceof Map.Entry)) return false; - Map.Entry me = (Map.Entry) o; - Object key = me.getKey(); + Map.Entry me = (Map.Entry) o; + SK key = me.getKey(); if (! keyInRange(key)) return false; - Node n = getNode(key); + Node n = getNode((K) key); return n != nil && AbstractSet.equals(me.getValue(), n.value); } @@ -1614,11 +1616,11 @@ public class TreeMap extends AbstractMap { if (! (o instanceof Map.Entry)) return false; - Map.Entry me = (Map.Entry) o; - Object key = me.getKey(); + Map.Entry me = (Map.Entry) o; + SK key = me.getKey(); if (! keyInRange(key)) return false; - Node n = getNode(key); + Node n = getNode((K) key); if (n != nil && AbstractSet.equals(me.getValue(), n.value)) { removeNode(n); @@ -1630,29 +1632,29 @@ public class TreeMap extends AbstractMap return entries; } - public Object firstKey() + public SK firstKey() { - Node node = lowestGreaterThan(minKey, true); + Node node = (Node) lowestGreaterThan(minKey, true); if (node == nil || ! keyInRange(node.key)) throw new NoSuchElementException(); return node.key; } - public Object get(Object key) + public SV get(Object key) { - if (keyInRange(key)) - return TreeMap.this.get(key); + if (keyInRange((SK) key)) + return (SV) TreeMap.this.get(key); return null; } - public SortedMap headMap(Object toKey) + public SortedMap headMap(SK toKey) { if (! keyInRange(toKey)) throw new IllegalArgumentException("key outside range"); return new SubMap(minKey, toKey); } - public Set keySet() + public Set keySet() { if (this.keys == null) // Create an AbstractSet with custom implementations of those methods @@ -1664,7 +1666,7 @@ public class TreeMap extends AbstractMap return SubMap.this.size(); } - public Iterator iterator() + public Iterator iterator() { Node first = lowestGreaterThan(minKey, true); Node max = lowestGreaterThan(maxKey, false); @@ -1678,16 +1680,16 @@ public class TreeMap extends AbstractMap public boolean contains(Object o) { - if (! keyInRange(o)) + if (! keyInRange((SK) o)) return false; - return getNode(o) != nil; + return getNode((K) o) != nil; } public boolean remove(Object o) { - if (! keyInRange(o)) + if (! keyInRange((SK) o)) return false; - Node n = getNode(o); + Node n = getNode((K) o); if (n != nil) { removeNode(n); @@ -1699,25 +1701,25 @@ public class TreeMap extends AbstractMap return this.keys; } - public Object lastKey() + public SK lastKey() { - Node node = highestLessThan(maxKey); + Node node = (Node) highestLessThan(maxKey); if (node == nil || ! keyInRange(node.key)) throw new NoSuchElementException(); - return node.key; + return (SK) node.key; } - public Object put(Object key, Object value) + public SV put(SK key, SV value) { if (! keyInRange(key)) throw new IllegalArgumentException("Key outside range"); - return TreeMap.this.put(key, value); + return (SV) TreeMap.this.put(key, value); } - public Object remove(Object key) + public SV remove(Object key) { - if (keyInRange(key)) - return TreeMap.this.remove(key); + if (keyInRange((SK)key)) + return (SV) TreeMap.this.remove(key); return null; } @@ -1734,21 +1736,21 @@ public class TreeMap extends AbstractMap return count; } - public SortedMap subMap(Object fromKey, Object toKey) + public SortedMap subMap(SK fromKey, SK toKey) { if (! keyInRange(fromKey) || ! keyInRange(toKey)) throw new IllegalArgumentException("key outside range"); return new SubMap(fromKey, toKey); } - public SortedMap tailMap(Object fromKey) + public SortedMap tailMap(SK fromKey) { if (! keyInRange(fromKey)) throw new IllegalArgumentException("key outside range"); return new SubMap(fromKey, maxKey); } - public Collection values() + public Collection values() { if (this.values == null) // Create an AbstractCollection with custom implementations of those @@ -1760,7 +1762,7 @@ public class TreeMap extends AbstractMap return SubMap.this.size(); } - public Iterator iterator() + public Iterator iterator() { Node first = lowestGreaterThan(minKey, true); Node max = lowestGreaterThan(maxKey, false); diff --git a/libjava/classpath/java/util/TreeSet.java b/libjava/classpath/java/util/TreeSet.java index 34cb39acc07..2851e4a5a8f 100644 --- a/libjava/classpath/java/util/TreeSet.java +++ b/libjava/classpath/java/util/TreeSet.java @@ -1,5 +1,5 @@ /* TreeSet.java -- a class providing a TreeMap-backed SortedSet - Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -68,6 +68,8 @@ import java.io.Serializable; * @author Jon Zeppieri * @author Bryce McKinlay * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Collection * @see Set * @see HashSet @@ -79,8 +81,8 @@ import java.io.Serializable; * @since 1.2 * @status updated to 1.4 */ -public class TreeSet extends AbstractSet - implements SortedSet, Cloneable, Serializable +public class TreeSet extends AbstractSet + implements SortedSet, Cloneable, Serializable { /** * Compatible with JDK 1.2. @@ -92,7 +94,7 @@ public class TreeSet extends AbstractSet */ // Not final because of readObject. This will always be one of TreeMap or // TreeMap.SubMap, which both extend AbstractMap. - private transient SortedMap map; + private transient SortedMap map; /** * Construct a new TreeSet whose backing TreeMap using the "natural" @@ -103,7 +105,7 @@ public class TreeSet extends AbstractSet */ public TreeSet() { - map = new TreeMap(); + map = new TreeMap(); } /** @@ -113,9 +115,9 @@ public class TreeSet extends AbstractSet * * @param comparator the Comparator this Set will use */ - public TreeSet(Comparator comparator) + public TreeSet(Comparator comparator) { - map = new TreeMap(comparator); + map = new TreeMap(comparator); } /** @@ -130,9 +132,9 @@ public class TreeSet extends AbstractSet * @throws NullPointerException if the collection is null * @see Comparable */ - public TreeSet(Collection collection) + public TreeSet(Collection collection) { - map = new TreeMap(); + map = new TreeMap(); addAll(collection); } @@ -145,11 +147,14 @@ public class TreeSet extends AbstractSet * and will initialize itself with all its elements * @throws NullPointerException if sortedSet is null */ - public TreeSet(SortedSet sortedSet) + public TreeSet(SortedSet sortedSet) { - map = new TreeMap(sortedSet.comparator()); - Iterator itr = sortedSet.iterator(); - ((TreeMap) map).putKeysLinear(itr, sortedSet.size()); + Iterator itr; + + map = new TreeMap + ((Comparator)sortedSet.comparator()); + itr = ((SortedSet) sortedSet).iterator(); + ((TreeMap) map).putKeysLinear(itr, sortedSet.size()); } /** @@ -158,7 +163,7 @@ public class TreeSet extends AbstractSet * * @param backingMap the submap */ - private TreeSet(SortedMap backingMap) + private TreeSet(SortedMap backingMap) { map = backingMap; } @@ -171,7 +176,7 @@ public class TreeSet extends AbstractSet * @throws ClassCastException if the element cannot be compared with objects * already in the set */ - public boolean add(Object obj) + public boolean add(T obj) { return map.put(obj, "") == null; } @@ -185,11 +190,11 @@ public class TreeSet extends AbstractSet * @throws ClassCastException if an element in c cannot be compared with * objects already in the set */ - public boolean addAll(Collection c) + public boolean addAll(Collection c) { boolean result = false; int pos = c.size(); - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); while (--pos >= 0) result |= (map.put(itr.next(), "") == null); return result; @@ -210,12 +215,12 @@ public class TreeSet extends AbstractSet */ public Object clone() { - TreeSet copy = null; + TreeSet copy = null; try { - copy = (TreeSet) super.clone(); + copy = (TreeSet) super.clone(); // Map may be either TreeMap or TreeMap.SubMap, hence the ugly casts. - copy.map = (SortedMap) ((AbstractMap) map).clone(); + copy.map = (SortedMap) ((AbstractMap) map).clone(); } catch (CloneNotSupportedException x) { @@ -229,7 +234,7 @@ public class TreeSet extends AbstractSet * * @return the comparator, or null if the set uses natural ordering */ - public Comparator comparator() + public Comparator comparator() { return map.comparator(); } @@ -253,7 +258,7 @@ public class TreeSet extends AbstractSet * @return the first element * @throws NoSuchElementException if the set is empty */ - public Object first() + public T first() { return map.firstKey(); } @@ -273,9 +278,9 @@ public class TreeSet extends AbstractSet * @throws NullPointerException if to is null, but the comparator does not * tolerate null elements */ - public SortedSet headSet(Object to) + public SortedSet headSet(T to) { - return new TreeSet(map.headMap(to)); + return new TreeSet(map.headMap(to)); } /** @@ -294,7 +299,7 @@ public class TreeSet extends AbstractSet * * @return an iterator */ - public Iterator iterator() + public Iterator iterator() { return map.keySet().iterator(); } @@ -305,7 +310,7 @@ public class TreeSet extends AbstractSet * @return the last element * @throws NoSuchElementException if the set is empty */ - public Object last() + public T last() { return map.lastKey(); } @@ -351,9 +356,9 @@ public class TreeSet extends AbstractSet * does not tolerate null elements * @throws IllegalArgumentException if from is greater than to */ - public SortedSet subSet(Object from, Object to) + public SortedSet subSet(T from, T to) { - return new TreeSet(map.subMap(from, to)); + return new TreeSet(map.subMap(from, to)); } /** @@ -371,9 +376,9 @@ public class TreeSet extends AbstractSet * @throws NullPointerException if from is null, but the comparator * does not tolerate null elements */ - public SortedSet tailSet(Object from) + public SortedSet tailSet(T from) { - return new TreeSet(map.tailMap(from)); + return new TreeSet(map.tailMap(from)); } /** @@ -387,7 +392,7 @@ public class TreeSet extends AbstractSet private void writeObject(ObjectOutputStream s) throws IOException { s.defaultWriteObject(); - Iterator itr = map.keySet().iterator(); + Iterator itr = map.keySet().iterator(); int pos = map.size(); s.writeObject(map.comparator()); s.writeInt(pos); @@ -408,9 +413,9 @@ public class TreeSet extends AbstractSet throws IOException, ClassNotFoundException { s.defaultReadObject(); - Comparator comparator = (Comparator) s.readObject(); + Comparator comparator = (Comparator) s.readObject(); int size = s.readInt(); - map = new TreeMap(comparator); - ((TreeMap) map).putFromObjStream(s, size, false); + map = new TreeMap(comparator); + ((TreeMap) map).putFromObjStream(s, size, false); } } diff --git a/libjava/classpath/java/util/UUID.java b/libjava/classpath/java/util/UUID.java index 6a57d27b448..9a402d15922 100644 --- a/libjava/classpath/java/util/UUID.java +++ b/libjava/classpath/java/util/UUID.java @@ -77,7 +77,7 @@ import java.security.NoSuchAlgorithmException; */ public final class UUID extends Object - implements Serializable, Comparable // genericizeme! + implements Serializable, Comparable { private static final long serialVersionUID = -4856846361193249489L; @@ -121,17 +121,6 @@ public final class UUID return (int)((leastSigBits & 0x3FFF000000000000L) >> 48); } - /** - * Compare this UUID to another. - * The comparison is performed as between two 128-bit integers. - * - * @return -1 if this < val, 0 if they are equal, 1 if this > val. - */ - public int compareTo(Object val) - { - return compareTo((UUID)val); - } - /** * Compare this UUID to another. * The comparison is performed as between two 128-bit integers. diff --git a/libjava/classpath/java/util/Vector.java b/libjava/classpath/java/util/Vector.java index eb72ae49df8..ea29ce09315 100644 --- a/libjava/classpath/java/util/Vector.java +++ b/libjava/classpath/java/util/Vector.java @@ -82,8 +82,8 @@ import java.lang.reflect.Array; * @since 1.0 * @status updated to 1.4 */ -public class Vector extends AbstractList - implements List, RandomAccess, Cloneable, Serializable +public class Vector extends AbstractList + implements List, RandomAccess, Cloneable, Serializable { /** * Compatible with JDK 1.0+. @@ -95,7 +95,7 @@ public class Vector extends AbstractList * in positions 0 through elementCount - 1, and all remaining slots are null. * @serial the elements */ - protected Object[] elementData; + protected T[] elementData; /** * The number of elements currently in the vector, also returned by @@ -130,10 +130,10 @@ public class Vector extends AbstractList * @throws NullPointerException if c is null * @since 1.2 */ - public Vector(Collection c) + public Vector(Collection c) { elementCount = c.size(); - elementData = c.toArray(new Object[elementCount]); + elementData = c.toArray((T[]) new Object[elementCount]); } /** @@ -149,7 +149,7 @@ public class Vector extends AbstractList { if (initialCapacity < 0) throw new IllegalArgumentException(); - elementData = new Object[initialCapacity]; + elementData = (T[]) new Object[initialCapacity]; this.capacityIncrement = capacityIncrement; } @@ -192,7 +192,7 @@ public class Vector extends AbstractList // vector since that is a much less likely case; it's more efficient to // not do the check and lose a bit of performance in that infrequent case - Object[] newArray = new Object[elementCount]; + T[] newArray = (T[]) new Object[elementCount]; System.arraycopy(elementData, 0, newArray, 0, elementCount); elementData = newArray; } @@ -218,7 +218,7 @@ public class Vector extends AbstractList else newCapacity = elementData.length + capacityIncrement; - Object[] newArray = new Object[Math.max(newCapacity, minCapacity)]; + T[] newArray = (T[]) new Object[Math.max(newCapacity, minCapacity)]; System.arraycopy(elementData, 0, newArray, 0, elementCount); elementData = newArray; @@ -284,9 +284,9 @@ public class Vector extends AbstractList * @see #iterator() */ // No need to synchronize as the Enumeration is not thread-safe! - public Enumeration elements() + public Enumeration elements() { - return new Enumeration() + return new Enumeration() { private int i = 0; @@ -295,7 +295,7 @@ public class Vector extends AbstractList return i < elementCount; } - public Object nextElement() + public T nextElement() { if (i >= elementCount) throw new NoSuchElementException(); @@ -385,7 +385,7 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index >= size() * @see #get(int) */ - public synchronized Object elementAt(int index) + public synchronized T elementAt(int index) { checkBoundExclusive(index); return elementData[index]; @@ -397,7 +397,7 @@ public class Vector extends AbstractList * @return the first Object in the Vector * @throws NoSuchElementException the Vector is empty */ - public synchronized Object firstElement() + public synchronized T firstElement() { if (elementCount == 0) throw new NoSuchElementException(); @@ -411,7 +411,7 @@ public class Vector extends AbstractList * @return the last Object in the Vector * @throws NoSuchElementException the Vector is empty */ - public synchronized Object lastElement() + public synchronized T lastElement() { if (elementCount == 0) throw new NoSuchElementException(); @@ -427,7 +427,7 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException the index is out of range * @see #set(int, Object) */ - public void setElementAt(Object obj, int index) + public void setElementAt(T obj, int index) { set(index, obj); } @@ -454,7 +454,7 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index > size() * @see #add(int, Object) */ - public synchronized void insertElementAt(Object obj, int index) + public synchronized void insertElementAt(T obj, int index) { checkBoundInclusive(index); if (elementCount == elementData.length) @@ -472,7 +472,7 @@ public class Vector extends AbstractList * * @param obj the object to add to the Vector */ - public synchronized void addElement(Object obj) + public synchronized void addElement(T obj) { if (elementCount == elementData.length) ensureCapacity(elementCount + 1); @@ -570,11 +570,11 @@ public class Vector extends AbstractList * @throws NullPointerException if a is null * @since 1.2 */ - public synchronized Object[] toArray(Object[] a) + public synchronized S[] toArray(S[] a) { if (a.length < elementCount) - a = (Object[]) Array.newInstance(a.getClass().getComponentType(), - elementCount); + a = (S[]) Array.newInstance(a.getClass().getComponentType(), + elementCount); else if (a.length > elementCount) a[elementCount] = null; System.arraycopy(elementData, 0, a, 0, elementCount); @@ -589,7 +589,7 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index >= size() * @since 1.2 */ - public Object get(int index) + public T get(int index) { return elementAt(index); } @@ -604,10 +604,10 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index >= size() * @since 1.2 */ - public synchronized Object set(int index, Object element) + public synchronized T set(int index, T element) { checkBoundExclusive(index); - Object temp = elementData[index]; + T temp = elementData[index]; elementData[index] = element; return temp; } @@ -619,7 +619,7 @@ public class Vector extends AbstractList * @return true, as specified by List * @since 1.2 */ - public boolean add(Object o) + public boolean add(T o) { addElement(o); return true; @@ -647,7 +647,7 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index > size() * @since 1.2 */ - public void add(int index, Object element) + public void add(int index, T element) { insertElementAt(element, index); } @@ -660,10 +660,10 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index >= size() * @since 1.2 */ - public synchronized Object remove(int index) + public synchronized T remove(int index) { checkBoundExclusive(index); - Object temp = elementData[index]; + T temp = elementData[index]; modCount++; elementCount--; if (index < elementCount) @@ -689,7 +689,7 @@ public class Vector extends AbstractList * @throws NullPointerException if c is null * @since 1.2 */ - public synchronized boolean containsAll(Collection c) + public synchronized boolean containsAll(Collection c) { // Here just for the sychronization. return super.containsAll(c); @@ -705,7 +705,7 @@ public class Vector extends AbstractList * @throws NullPointerException if c is null * @since 1.2 */ - public synchronized boolean addAll(Collection c) + public synchronized boolean addAll(Collection c) { return addAll(elementCount, c); } @@ -718,10 +718,12 @@ public class Vector extends AbstractList * @throws NullPointerException if c is null * @since 1.2 */ - public synchronized boolean removeAll(Collection c) + public synchronized boolean removeAll(Collection c) { - if (c == null) - throw new NullPointerException(); + // The NullPointerException is thrown implicitly when the Vector + // is not empty and c is null. The RI allows null arguments when + // the vector is empty. See Mauve test: + // gnu/testlet/java/util/Vector/removeAll.java int i; int j; @@ -747,10 +749,12 @@ public class Vector extends AbstractList * @throws NullPointerException if c is null * @since 1.2 */ - public synchronized boolean retainAll(Collection c) + public synchronized boolean retainAll(Collection c) { - if (c == null) - throw new NullPointerException(); + // The NullPointerException is thrown implicitly when the Vector + // is not empty and c is null. The RI allows null arguments when + // the vector is empty. See Mauve test: + // gnu/testlet/java/util/Vector/retainAll.java int i; int j; @@ -779,10 +783,10 @@ public class Vector extends AbstractList * @throws ArrayIndexOutOfBoundsException index < 0 || index > size() * @since 1.2 */ - public synchronized boolean addAll(int index, Collection c) + public synchronized boolean addAll(int index, Collection c) { checkBoundInclusive(index); - Iterator itr = c.iterator(); + Iterator itr = c.iterator(); int csize = c.size(); modCount++; @@ -853,12 +857,12 @@ public class Vector extends AbstractList * @see ConcurrentModificationException * @since 1.2 */ - public synchronized List subList(int fromIndex, int toIndex) + public synchronized List subList(int fromIndex, int toIndex) { - List sub = super.subList(fromIndex, toIndex); + List sub = super.subList(fromIndex, toIndex); // We must specify the correct object to synchronize upon, hence the // use of a non-public API - return new Collections.SynchronizedList(this, sub); + return new Collections.SynchronizedList(this, sub); } /** diff --git a/libjava/classpath/java/util/WeakHashMap.java b/libjava/classpath/java/util/WeakHashMap.java index ef2444c0409..1f460291558 100644 --- a/libjava/classpath/java/util/WeakHashMap.java +++ b/libjava/classpath/java/util/WeakHashMap.java @@ -1,6 +1,6 @@ /* WeakHashMap -- a hashtable that keeps only weak references to its keys, allowing the virtual machine to reclaim them - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -77,14 +77,16 @@ import java.lang.ref.WeakReference; * * @author Jochen Hoenicke * @author Eric Blake (ebb9@email.byu.edu) + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * * @see HashMap * @see WeakReference * @see LinkedHashMap * @since 1.2 - * @status updated to 1.4 + * @status updated to 1.4 (partial 1.5) */ -public class WeakHashMap extends AbstractMap implements Map +public class WeakHashMap extends AbstractMap { // WARNING: WeakHashMap is a CORE class in the bootstrap cycle. See the // comments in vm/reference/java/lang/Runtime for implications of this fact. @@ -349,19 +351,19 @@ public class WeakHashMap extends AbstractMap implements Map * * @author Jochen Hoenicke */ - private static class WeakBucket extends WeakReference + private static class WeakBucket extends WeakReference { /** * The value of this entry. The key is stored in the weak * reference that we extend. */ - Object value; + V value; /** * The next bucket describing another entry that uses the same * slot. */ - WeakBucket next; + WeakBucket next; /** * The slot of this entry. This should be @@ -384,7 +386,7 @@ public class WeakHashMap extends AbstractMap implements Map * @param slot the slot. This must match the slot where this bucket * will be enqueued. */ - public WeakBucket(Object key, ReferenceQueue queue, Object value, + public WeakBucket(K key, ReferenceQueue queue, V value, int slot) { super(key, queue); @@ -397,18 +399,18 @@ public class WeakHashMap extends AbstractMap implements Map * current bucket. It also keeps a strong reference to the * key; bad things may happen otherwise. */ - class WeakEntry implements Map.Entry + class WeakEntry implements Map.Entry { /** * The strong ref to the key. */ - Object key; + K key; /** * Creates a new entry for the key. * @param key the key */ - public WeakEntry(Object key) + public WeakEntry(K key) { this.key = key; } @@ -426,7 +428,7 @@ public class WeakHashMap extends AbstractMap implements Map * Returns the key. * @return the key */ - public Object getKey() + public K getKey() { return key == NULL_KEY ? null : key; } @@ -435,7 +437,7 @@ public class WeakHashMap extends AbstractMap implements Map * Returns the value. * @return the value */ - public Object getValue() + public V getValue() { return value; } @@ -446,9 +448,9 @@ public class WeakHashMap extends AbstractMap implements Map * @param newVal the new value * @return the old value */ - public Object setValue(Object newVal) + public V setValue(V newVal) { - Object oldVal = value; + V oldVal = value; value = newVal; return oldVal; } @@ -491,7 +493,7 @@ public class WeakHashMap extends AbstractMap implements Map */ WeakEntry getEntry() { - final Object key = this.get(); + final K key = this.get(); if (key == null) return null; return new WeakEntry(key); @@ -559,7 +561,7 @@ public class WeakHashMap extends AbstractMap implements Map * @throws NullPointerException if m is null * @since 1.3 */ - public WeakHashMap(Map m) + public WeakHashMap(Map m) { this(m.size(), DEFAULT_LOAD_FACTOR); putAll(m); @@ -754,10 +756,10 @@ public class WeakHashMap extends AbstractMap implements Map * the key wasn't in this map, or if the mapped value was * explicitly set to null. */ - public Object get(Object key) + public V get(Object key) { cleanQueue(); - WeakBucket.WeakEntry entry = internalGet(key); + WeakBucket.WeakEntry entry = internalGet(key); return entry == null ? null : entry.getValue(); } @@ -769,10 +771,10 @@ public class WeakHashMap extends AbstractMap implements Map * null if the key wasn't in this map, or if the mapped value * was explicitly set to null. */ - public Object put(Object key, Object value) + public V put(K key, V value) { cleanQueue(); - WeakBucket.WeakEntry entry = internalGet(key); + WeakBucket.WeakEntry entry = internalGet(key); if (entry != null) return entry.setValue(value); @@ -791,10 +793,10 @@ public class WeakHashMap extends AbstractMap implements Map * null if the key wasn't in this map, or if the mapped value was * explicitly set to null. */ - public Object remove(Object key) + public V remove(Object key) { cleanQueue(); - WeakBucket.WeakEntry entry = internalGet(key); + WeakBucket.WeakEntry entry = internalGet(key); if (entry == null) return null; @@ -811,7 +813,7 @@ public class WeakHashMap extends AbstractMap implements Map * this weak hash map. * @return a set representation of the entries. */ - public Set entrySet() + public Set> entrySet() { cleanQueue(); return theEntrySet; @@ -846,7 +848,7 @@ public class WeakHashMap extends AbstractMap implements Map * this weak hash map. * @return a set representation of the keys. */ - public Set keySet() + public Set keySet() { cleanQueue(); return super.keySet(); @@ -857,7 +859,7 @@ public class WeakHashMap extends AbstractMap implements Map * key already exists in this map, its value is replaced. * @param m the map to copy in */ - public void putAll(Map m) + public void putAll(Map m) { super.putAll(m); } @@ -870,7 +872,7 @@ public class WeakHashMap extends AbstractMap implements Map * this weak hash map. * @return a collection representation of the values. */ - public Collection values() + public Collection values() { cleanQueue(); return super.values(); diff --git a/libjava/classpath/java/util/class-dependencies.conf b/libjava/classpath/java/util/class-dependencies.conf new file mode 100644 index 00000000000..39f96062744 --- /dev/null +++ b/libjava/classpath/java/util/class-dependencies.conf @@ -0,0 +1,78 @@ +# This property file contains dependencies of classes, methods, and +# field on other methods or classes. +# +# Syntax: +# +# : [... ] +# +# means that when is included, (... ) must +# be included as well. +# +# and are of the form +# +# +# +# or just +# +# +# +# Within dependencies, variables can be used. A variable is defined as +# follows: +# +# {variable}: value1 value2 ... value +# +# variables can be used on the right side of dependencies as follows: +# +# : com.bla.blu.{variable}.Class.m()V +# +# The use of the variable will expand to dependencies of the form +# +# : com.bla.blu.value1.Class.m()V +# : com.bla.blu.value2.Class.m()V +# ... +# : com.bla.blu.value.Class.m()V +# +# Variables can be redefined when building a system to select the +# required support for features like encodings, protocols, etc. +# +# Hints: +# +# - For methods and fields, the signature is mandatory. For +# specification, please see the Java Virtual Machine Specification by +# SUN. Unlike in the spec, field signatures (types) are in brackets. +# +# - Package names must be separated by '/' (and not '.'). E.g., +# java/lang/Class (this is necessary, because the '.' is used to +# separate method or field names from classes) +# +# - In case refers to a class, only the class itself will be +# included in the resulting binary, NOT necessarily all its methods +# and fields. If you want to refer to all methods and fields, you can +# write class.* as an abbreviation. +# +# - Abbreviations for packages are also possible: my/package/* means all +# methods and fields of all classes in my/package. +# +# - A line with a trailing '\' continues in the next line. + + +# All calendars supported are loaded via java/util/Calendar.getBundle or +# java/util/GregorianCalendar.getBundle from class +# gnu/java/locale/Calendar_{locale_id} +# +# This introduces a dependency for the localized calendars. To allow an easy +# selection and addition of locales, the library variable {calendar_locales} +# can be set to the set of supported calendar locales. +# + +{calendar_locales}: de en nl + +java/util/Calendar.getBundle(Ljava/util/Locale;)Ljava/util/ResourceBundle;: \ + gnu/java/locale/Calendar.* \ + gnu/java/locale/Calendar_{calendar_locales}.* + +java/util/GregorianCalendar.getBundle(Ljava/util/Locale;)Ljava/util/ResourceBundle;: \ + gnu/java/locale/Calendar.* \ + gnu/java/locale/Calendar_{calendar_locales}.* + +# end of file diff --git a/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java b/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java new file mode 100644 index 00000000000..5ef37d94916 --- /dev/null +++ b/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java @@ -0,0 +1,490 @@ +/* CopyOnWriteArrayList.java + Copyright (C) 2006 Free Software Foundation + +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. */ + +package java.util.concurrent; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.lang.reflect.Array; +import java.util.AbstractList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.RandomAccess; + +/** @since 1.5 */ +public class CopyOnWriteArrayList extends AbstractList implements + List, RandomAccess, Cloneable, Serializable +{ + /** + * Where the data is stored. + */ + private transient E[] data; + + /** + * Construct a new ArrayList with the default capacity (16). + */ + public CopyOnWriteArrayList() + { + data = (E[]) new Object[0]; + } + + /** + * Construct a new ArrayList, and initialize it with the elements in the + * supplied Collection. The initial capacity is 110% of the Collection's size. + * + * @param c + * the collection whose elements will initialize this list + * @throws NullPointerException + * if c is null + */ + public CopyOnWriteArrayList(Collection< ? extends E> c) + { + // FIXME ... correct? use c.toArray() + data = (E[]) new Object[c.size()]; + int index = 0; + for (E value : c) + data[index++] = value; + } + + /** + * Construct a new ArrayList, and initialize it with the elements in the + * supplied array. + * + * @param array + * the array used to initialize this list + * @throws NullPointerException + * if array is null + */ + public CopyOnWriteArrayList(E[] array) + { + data = (E[]) array.clone(); + } + + /** + * Returns the number of elements in this list. + * + * @return the list size + */ + public int size() + { + return data.length; + } + + /** + * Checks if the list is empty. + * + * @return true if there are no elements + */ + public boolean isEmpty() + { + return data.length == 0; + } + + /** + * Returns true iff element is in this ArrayList. + * + * @param e + * the element whose inclusion in the List is being tested + * @return true if the list contains e + */ + public boolean contains(Object e) + { + return indexOf(e) != -1; + } + + /** + * Returns the lowest index at which element appears in this List, or -1 if it + * does not appear. + * + * @param e + * the element whose inclusion in the List is being tested + * @return the index where e was found + */ + public int indexOf(Object e) + { + E[] data = this.data; + for (int i = 0; i < data.length; i++) + if (equals(e, data[i])) + return i; + return -1; + } + + /** + * Return the lowest index greater equal index at which + * e appears in this List, or -1 if it does not + * appear. + * + * @param e the element whose inclusion in the list is being tested + * @param index the index at which the search begins + * @return the index where e was found + */ + public int indexOf(E e, int index) + { + E[] data = this.data; + + for (int i = index; i < data.length; i++) + if (equals(e, data[i])) + return i; + return -1; + } + + /** + * Returns the highest index at which element appears in this List, or -1 if + * it does not appear. + * + * @param e + * the element whose inclusion in the List is being tested + * @return the index where e was found + */ + public int lastIndexOf(Object e) + { + E[] data = this.data; + for (int i = data.length - 1; i >= 0; i--) + if (equals(e, data[i])) + return i; + return -1; + } + + /** + * Returns the highest index lesser equal index at + * which e appears in this List, or -1 if it does not + * appear. + * + * @param e the element whose inclusion in the list is being tested + * @param index the index at which the search begins + * @return the index where e was found + */ + public int lastIndexOf(E e, int index) + { + E[] data = this.data; + + for (int i = index; i >= 0; i--) + if (equals(e, data[i])) + return i; + return -1; + } + + /** + * Creates a shallow copy of this ArrayList (elements are not cloned). + * + * @return the cloned object + */ + public Object clone() + { + CopyOnWriteArrayList clone = null; + try + { + clone = (CopyOnWriteArrayList) super.clone(); + clone.data = (E[]) data.clone(); + } + catch (CloneNotSupportedException e) + { + // Impossible to get here. + } + return clone; + } + + /** + * Returns an Object array containing all of the elements in this ArrayList. + * The array is independent of this list. + * + * @return an array representation of this list + */ + public Object[] toArray() + { + E[] data = this.data; + E[] array = (E[]) new Object[data.length]; + System.arraycopy(data, 0, array, 0, data.length); + return array; + } + + /** + * Returns an Array whose component type is the runtime component type of the + * passed-in Array. The returned Array is populated with all of the elements + * in this ArrayList. If the passed-in Array is not large enough to store all + * of the elements in this List, a new Array will be created and returned; if + * the passed-in Array is larger than the size of this List, then + * size() index will be set to null. + * + * @param a + * the passed-in Array + * @return an array representation of this list + * @throws ArrayStoreException + * if the runtime type of a does not allow an element in this list + * @throws NullPointerException + * if a is null + */ + public T[] toArray(T[] a) + { + E[] data = this.data; + if (a.length < data.length) + a = (T[]) Array.newInstance(a.getClass().getComponentType(), data.length); + else if (a.length > data.length) + a[data.length] = null; + System.arraycopy(data, 0, a, 0, data.length); + return a; + } + + /** + * Retrieves the element at the user-supplied index. + * + * @param index + * the index of the element we are fetching + * @throws IndexOutOfBoundsException + * if index < 0 || index >= size() + */ + public E get(int index) + { + return data[index]; + } + + /** + * Sets the element at the specified index. The new element, e, can be an + * object of any type or null. + * + * @param index + * the index at which the element is being set + * @param e + * the element to be set + * @return the element previously at the specified index + * @throws IndexOutOfBoundsException + * if index < 0 || index >= 0 + */ + public synchronized E set(int index, E e) + { + E result = data[index]; + E[] newData = (E[]) data.clone(); + newData[index] = e; + data = newData; + return result; + } + + /** + * Appends the supplied element to the end of this list. The element, e, can + * be an object of any type or null. + * + * @param e + * the element to be appended to this list + * @return true, the add will always succeed + */ + public synchronized boolean add(E e) + { + E[] data = this.data; + E[] newData = (E[]) new Object[data.length + 1]; + System.arraycopy(data, 0, newData, 0, data.length); + newData[data.length] = e; + this.data = newData; + return true; + } + + /** + * Adds the supplied element at the specified index, shifting all elements + * currently at that index or higher one to the right. The element, e, can be + * an object of any type or null. + * + * @param index + * the index at which the element is being added + * @param e + * the item being added + * @throws IndexOutOfBoundsException + * if index < 0 || index > size() + */ + public synchronized void add(int index, E e) + { + E[] data = this.data; + E[] newData = (E[]) new Object[data.length + 1]; + System.arraycopy(data, 0, newData, 0, index); + newData[index] = e; + System.arraycopy(data, index, newData, index + 1, data.length - index); + this.data = newData; + } + + /** + * Removes the element at the user-supplied index. + * + * @param index + * the index of the element to be removed + * @return the removed Object + * @throws IndexOutOfBoundsException + * if index < 0 || index >= size() + */ + public synchronized E remove(int index) + { + E[] data = this.data; + E[] newData = (E[]) new Object[data.length - 1]; + System.arraycopy(data, 0, newData, 0, index - 1); + System.arraycopy(data, index + 1, newData, index, + data.length - index - 1); + E r = data[index]; + this.data = newData; + return r; + } + + /** + * Removes all elements from this List + */ + public synchronized void clear() + { + data = (E[]) new Object[0]; + } + + /** + * Add each element in the supplied Collection to this List. It is undefined + * what happens if you modify the list while this is taking place; for + * example, if the collection contains this list. c can contain objects of any + * type, as well as null values. + * + * @param c + * a Collection containing elements to be added to this List + * @return true if the list was modified, in other words c is not empty + * @throws NullPointerException + * if c is null + */ + public synchronized boolean addAll(Collection< ? extends E> c) + { + return addAll(data.length, c); + } + + /** + * Add all elements in the supplied collection, inserting them beginning at + * the specified index. c can contain objects of any type, as well as null + * values. + * + * @param index + * the index at which the elements will be inserted + * @param c + * the Collection containing the elements to be inserted + * @throws IndexOutOfBoundsException + * if index < 0 || index > 0 + * @throws NullPointerException + * if c is null + */ + public synchronized boolean addAll(int index, Collection< ? extends E> c) + { + E[] data = this.data; + Iterator itr = c.iterator(); + int csize = c.size(); + if (csize == 0) + return false; + + E[] newData = (E[]) new Object[data.length + csize]; + System.arraycopy(data, 0, newData, 0, data.length); + int end = data.length; + for (E value : c) + newData[end++] = value; + this.data = newData; + return true; + } + + public synchronized boolean addIfAbsent(E val) + { + if (contains(val)) + return false; + add(val); + return true; + } + + public synchronized int addAllAbsent(Collection c) + { + int result = 0; + for (E val : c) + { + if (addIfAbsent(val)) + ++result; + } + return result; + } + + /** + * Serializes this object to the given stream. + * + * @param s + * the stream to write to + * @throws IOException + * if the underlying stream fails + * @serialData the size field (int), the length of the backing array (int), + * followed by its elements (Objects) in proper order. + */ + private void writeObject(ObjectOutputStream s) throws IOException + { + // The 'size' field. + s.defaultWriteObject(); + // We serialize unused list entries to preserve capacity. + int len = data.length; + s.writeInt(len); + // it would be more efficient to just write "size" items, + // this need readObject read "size" items too. + for (int i = 0; i < data.length; i++) + s.writeObject(data[i]); + } + + /** + * Deserializes this object from the given stream. + * + * @param s + * the stream to read from + * @throws ClassNotFoundException + * if the underlying stream fails + * @throws IOException + * if the underlying stream fails + * @serialData the size field (int), the length of the backing array (int), + * followed by its elements (Objects) in proper order. + */ + private void readObject(ObjectInputStream s) throws IOException, + ClassNotFoundException + { + // the `size' field. + s.defaultReadObject(); + int capacity = s.readInt(); + data = (E[]) new Object[capacity]; + for (int i = 0; i < capacity; i++) + data[i] = (E) s.readObject(); + } + + static final boolean equals(Object o1, Object o2) + { + return o1 == null ? o2 == null : o1.equals(o2); + } + + Object[] getArray() + { + return data; + } +} diff --git a/libjava/classpath/java/util/jar/Attributes.java b/libjava/classpath/java/util/jar/Attributes.java index 92d29cf49b9..329fe6323b7 100644 --- a/libjava/classpath/java/util/jar/Attributes.java +++ b/libjava/classpath/java/util/jar/Attributes.java @@ -67,8 +67,8 @@ import java.util.Set; * @see java.util.jar.Attributes.Name * @author Mark Wielaard (mark@klomp.org) */ -public class Attributes - implements Cloneable, java.util.Map // Fully qualified for jikes 1.22 +public class Attributes + implements Cloneable, Map { // Fields @@ -78,7 +78,7 @@ public class Attributes * implementation it is actually a Hashtable, but that can be different in * other implementations. */ - protected Map map; + protected Map map; // Inner class @@ -492,7 +492,7 @@ public class Attributes * * @return a set of attribute name value pairs */ - public Set entrySet() + public Set> entrySet() { return map.entrySet(); } @@ -558,7 +558,7 @@ public class Attributes /** * Gives a Set of all the values of defined attribute names. */ - public Set keySet() + public Set keySet() { return map.keySet(); } @@ -587,7 +587,7 @@ public class Attributes * @exception ClassCastException if the supplied map is not an instance of * Attributes */ - public void putAll(Map attr) + public void putAll(Map attr) { if (!(attr instanceof Attributes)) { @@ -622,7 +622,7 @@ public class Attributes * Returns all the values of the defined attribute name/value pairs as a * Collection. */ - public Collection values() + public Collection values() { return map.values(); } diff --git a/libjava/classpath/java/util/jar/JarEntry.java b/libjava/classpath/java/util/jar/JarEntry.java index 722a283bba3..515b45fa9b4 100644 --- a/libjava/classpath/java/util/jar/JarEntry.java +++ b/libjava/classpath/java/util/jar/JarEntry.java @@ -1,5 +1,5 @@ /* JarEntry.java - Represents an entry in a jar file - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ package java.util.jar; import java.io.IOException; import java.security.cert.Certificate; +import java.util.Set; import java.util.zip.ZipEntry; /** @@ -60,7 +61,7 @@ public class JarEntry extends ZipEntry // (Package local) fields Attributes attr; - Certificate certs[]; + JarFile jarfile; // Constructors @@ -79,7 +80,7 @@ public class JarEntry extends ZipEntry { super(name); attr = null; - certs = null; + jarfile = null; } /** @@ -93,7 +94,7 @@ public class JarEntry extends ZipEntry { super(entry); attr = null; - certs = null; + jarfile = null; } /** @@ -112,7 +113,7 @@ public class JarEntry extends ZipEntry catch (IOException _) { } - certs = entry.getCertificates(); + jarfile = entry.jarfile; } // Methods @@ -153,13 +154,19 @@ public class JarEntry extends ZipEntry */ public Certificate[] getCertificates() { - if (certs != null) + if (jarfile != null) { - return (Certificate[])certs.clone(); - } - else - { - return null; + synchronized (jarfile) + { + if (jarfile.entryCerts != null) + { + Set certs = (Set) jarfile.entryCerts.get(getName()); + if (certs != null + && jarfile.verified.get(getName()) == Boolean.TRUE) + return (Certificate[]) certs.toArray(new Certificate[certs.size()]); + } + } } + return null; } } diff --git a/libjava/classpath/java/util/jar/JarFile.java b/libjava/classpath/java/util/jar/JarFile.java index 88814f1d6bf..6807736590a 100644 --- a/libjava/classpath/java/util/jar/JarFile.java +++ b/libjava/classpath/java/util/jar/JarFile.java @@ -68,6 +68,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.zip.ZipEntry; import java.util.zip.ZipException; import java.util.zip.ZipFile; @@ -149,6 +151,12 @@ public class JarFile extends ZipFile */ HashMap entryCerts; + /** + * A {@link Map} of message digest algorithm names to their implementation. + * Used to reduce object (algorithm implementation) instantiation. + */ + private HashMap digestAlgorithms = new HashMap(); + static boolean DEBUG = false; static void debug(Object msg) { @@ -313,7 +321,7 @@ public class JarFile extends ZipFile * * @exception IllegalStateException when the JarFile is already closed */ - public Enumeration entries() throws IllegalStateException + public Enumeration entries() throws IllegalStateException { return new JarEnumeration(super.entries(), this); } @@ -322,13 +330,13 @@ public class JarFile extends ZipFile * Wraps a given Zip Entries Enumeration. For every zip entry a * JarEntry is created and the corresponding Attributes are looked up. */ - private static class JarEnumeration implements Enumeration + private static class JarEnumeration implements Enumeration { - private final Enumeration entries; + private final Enumeration entries; private final JarFile jarfile; - JarEnumeration(Enumeration e, JarFile f) + JarEnumeration(Enumeration e, JarFile f) { entries = e; jarfile = f; @@ -339,7 +347,7 @@ public class JarFile extends ZipFile return entries.hasMoreElements(); } - public Object nextElement() + public JarEntry nextElement() { ZipEntry zip = (ZipEntry) entries.nextElement(); JarEntry jar = new JarEntry(zip); @@ -374,19 +382,8 @@ public class JarFile extends ZipFile } jarfile.signaturesRead = true; // fudge it. } - - // Include the certificates only if we have asserted that the - // signatures are valid. This means the certificates will not be - // available if the entry hasn't been read yet. - if (jarfile.entryCerts != null - && jarfile.verified.get(zip.getName()) == Boolean.TRUE) - { - Set certs = (Set) jarfile.entryCerts.get(jar.getName()); - if (certs != null) - jar.certs = (Certificate[]) - certs.toArray(new Certificate[certs.size()]); - } } + jar.jarfile = jarfile; return jar; } } @@ -431,18 +428,7 @@ public class JarFile extends ZipFile } signaturesRead = true; } - // See the comments in the JarEnumeration for why we do this - // check. - if (DEBUG) - debug("entryCerts=" + entryCerts + " verified " + name - + " ? " + verified.get(name)); - if (entryCerts != null && verified.get(name) == Boolean.TRUE) - { - Set certs = (Set) entryCerts.get(name); - if (certs != null) - jarEntry.certs = (Certificate[]) - certs.toArray(new Certificate[certs.size()]); - } + jarEntry.jarfile = this; return jarEntry; } return null; @@ -599,6 +585,31 @@ public class JarFile extends ZipFile validCerts.clear(); } + // Read the manifest into a HashMap (String fileName, String entry) + // The fileName might be split into multiple lines in the manifest. + // Such additional lines will start with a space. + InputStream in = super.getInputStream(super.getEntry(MANIFEST_NAME)); + ByteArrayOutputStream baStream = new ByteArrayOutputStream(); + byte[] ba = new byte[1024]; + while (true) + { + int len = in.read(ba); + if (len < 0) + break; + baStream.write(ba, 0, len); + } + in.close(); + + HashMap hmManifestEntries = new HashMap(); + Pattern p = Pattern.compile("Name: (.+?\r?\n(?: .+?\r?\n)*)" + + ".+?-Digest: .+?\r?\n\r?\n"); + Matcher m = p.matcher(baStream.toString()); + while (m.find()) + { + String fileName = m.group(1).replaceAll("\r?\n ?", ""); + hmManifestEntries.put(fileName, m.group()); + } + // Phase 3: verify the signature file signatures against the manifest, // mapping the entry name to the target certificates. this.entryCerts = new HashMap(); @@ -614,7 +625,7 @@ public class JarFile extends ZipFile Map.Entry e2 = (Map.Entry) it2.next(); String entryname = String.valueOf(e2.getKey()); Attributes attr = (Attributes) e2.getValue(); - if (verifyHashes(entryname, attr)) + if (verifyHashes(entryname, attr, hmManifestEntries)) { if (DEBUG) debug("entry " + entryname + " has certificates " + certificates); @@ -721,39 +732,29 @@ public class JarFile extends ZipFile } /** - * Verifies that the digest(s) in a signature file were, in fact, made - * over the manifest entry for ENTRY. - * + * Verifies that the digest(s) in a signature file were, in fact, made over + * the manifest entry for ENTRY. + * * @param entry The entry name. * @param attr The attributes from the signature file to verify. + * @param hmManifestEntries Mappings of Jar file entry names to their manifest + * entry text; i.e. the base-64 encoding of their */ - private boolean verifyHashes(String entry, Attributes attr) + private boolean verifyHashes(String entry, Attributes attr, + HashMap hmManifestEntries) { int verified = 0; - // The bytes for ENTRY's manifest entry, which are signed in the - // signature file. - byte[] entryBytes = null; - try - { - ZipEntry e = super.getEntry(entry); - if (e == null) - { - if (DEBUG) - debug("verifyHashes: no entry '" + entry + "'"); - return false; - } - entryBytes = readManifestEntry(e); - } - catch (IOException ioe) + String stringEntry = (String) hmManifestEntries.get(entry); + if (stringEntry == null) { if (DEBUG) - { - debug(ioe); - ioe.printStackTrace(); - } + debug("could not find " + entry + " in manifest"); return false; } + // The bytes for ENTRY's manifest entry, which are signed in the + // signature file. + byte[] entryBytes = stringEntry.getBytes(); for (Iterator it = attr.entrySet().iterator(); it.hasNext(); ) { @@ -765,9 +766,14 @@ public class JarFile extends ZipFile try { byte[] hash = Base64InputStream.decode((String) e.getValue()); - MessageDigest md = MessageDigest.getInstance(alg, provider); - md.update(entryBytes); - byte[] hash2 = md.digest(); + MessageDigest md = (MessageDigest) digestAlgorithms.get(alg); + if (md == null) + { + md = MessageDigest.getInstance(alg, provider); + digestAlgorithms.put(alg, md); + } + md.reset(); + byte[] hash2 = md.digest(entryBytes); if (DEBUG) debug("verifying SF entry " + entry + " alg: " + md.getAlgorithm() + " expect=" + new java.math.BigInteger(hash).toString(16) @@ -800,100 +806,6 @@ public class JarFile extends ZipFile return verified > 0; } - /** - * Read the raw bytes that comprise a manifest entry. We can't use the - * Manifest object itself, because that loses information (such as line - * endings, and order of entries). - */ - private byte[] readManifestEntry(ZipEntry entry) throws IOException - { - InputStream in = super.getInputStream(super.getEntry(MANIFEST_NAME)); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - byte[] target = ("Name: " + entry.getName()).getBytes(); - int t = 0, c, prev = -1, state = 0, l = -1; - - while ((c = in.read()) != -1) - { -// if (DEBUG) -// debug("read " -// + (c == '\n' ? "\\n" : (c == '\r' ? "\\r" : String.valueOf((char) c))) -// + " state=" + state + " prev=" -// + (prev == '\n' ? "\\n" : (prev == '\r' ? "\\r" : String.valueOf((char) prev))) -// + " t=" + t + (t < target.length ? (" target[t]=" + (char) target[t]) : "") -// + " l=" + l); - switch (state) - { - - // Step 1: read until we find the "target" bytes: the start - // of the entry we need to read. - case 0: - if (((byte) c) != target[t]) - t = 0; - else - { - t++; - if (t == target.length) - { - out.write(target); - state = 1; - } - } - break; - - // Step 2: assert that there is a newline character after - // the "target" bytes. - case 1: - if (c != '\n' && c != '\r') - { - out.reset(); - t = 0; - state = 0; - } - else - { - out.write(c); - state = 2; - } - break; - - // Step 3: read this whole entry, until we reach an empty - // line. - case 2: - if (c == '\n') - { - out.write(c); - // NL always terminates a line. - if (l == 0 || (l == 1 && prev == '\r')) - return out.toByteArray(); - l = 0; - } - else - { - // Here we see a blank line terminated by a CR, - // followed by the next entry. Technically, `c' should - // always be 'N' at this point. - if (l == 1 && prev == '\r') - return out.toByteArray(); - out.write(c); - l++; - } - prev = c; - break; - - default: - throw new RuntimeException("this statement should be unreachable"); - } - } - - // The last entry, with a single CR terminating the line. - if (state == 2 && prev == '\r' && l == 0) - return out.toByteArray(); - - // We should not reach this point, we didn't find the entry (or, possibly, - // it is the last entry and is malformed). - throw new IOException("could not find " + entry + " in manifest"); - } - /** * A utility class that verifies jar entries as they are read. */ diff --git a/libjava/classpath/java/util/jar/Manifest.java b/libjava/classpath/java/util/jar/Manifest.java index 64a0c476a91..8effc2878ce 100644 --- a/libjava/classpath/java/util/jar/Manifest.java +++ b/libjava/classpath/java/util/jar/Manifest.java @@ -38,7 +38,7 @@ exception statement from your version. */ package java.util.jar; import gnu.java.util.jar.JarUtils; - + import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -60,7 +60,7 @@ public class Manifest implements Cloneable private final Attributes mainAttr; /** A map of atrributes for all entries described in this Manifest. */ - private final Map entries; + private final Map entries; // Constructors @@ -70,7 +70,7 @@ public class Manifest implements Cloneable public Manifest() { mainAttr = new Attributes(); - entries = new Hashtable(); + entries = new Hashtable(); } /** @@ -104,7 +104,7 @@ public class Manifest implements Cloneable public Manifest(Manifest man) { mainAttr = new Attributes(man.getMainAttributes()); - entries = new Hashtable(man.getEntries()); + entries = new Hashtable(man.getEntries()); } // Methods @@ -122,7 +122,7 @@ public class Manifest implements Cloneable * in this manifest. Adding, changing or removing from this entries map * changes the entries of this manifest. */ - public Map getEntries() + public Map getEntries() { return entries; } diff --git a/libjava/classpath/java/util/logging/LogManager.java b/libjava/classpath/java/util/logging/LogManager.java index e434651f87d..fbc0fe78abf 100644 --- a/libjava/classpath/java/util/logging/LogManager.java +++ b/libjava/classpath/java/util/logging/LogManager.java @@ -129,7 +129,7 @@ public class LogManager * The registered named loggers; maps the name of a Logger to * a WeakReference to it. */ - private Map loggers; + private Map> loggers; /** * The properties for the logging framework which have been @@ -150,7 +150,7 @@ public class LogManager * this case. */ private final PropertyChangeSupport pcs = new PropertyChangeSupport( /* source bean */ - LogManager.class); + LogManager.class); protected LogManager() { @@ -269,7 +269,7 @@ public class LogManager */ name = logger.getName(); - ref = (WeakReference) loggers.get(name); + ref = loggers.get(name); if (ref != null) { if (ref.get() != null) @@ -286,7 +286,7 @@ public class LogManager checkAccess(); Logger parent = findAncestor(logger); - loggers.put(name, new WeakReference(logger)); + loggers.put(name, new WeakReference(logger)); if (parent != logger.getParent()) logger.setParent(parent); @@ -318,26 +318,23 @@ public class LogManager * When adding "foo.bar", the logger "foo.bar.baz" should change * its parent to "foo.bar". */ - if (parent != Logger.root) + for (Iterator iter = loggers.keySet().iterator(); iter.hasNext();) { - for (Iterator iter = loggers.keySet().iterator(); iter.hasNext();) - { - Logger possChild = (Logger) ((WeakReference) loggers.get(iter.next())) - .get(); - if ((possChild == null) || (possChild == logger) - || (possChild.getParent() != parent)) - continue; - - if (! possChild.getName().startsWith(name)) - continue; - - if (possChild.getName().charAt(name.length()) != '.') - continue; - - possChild.setParent(logger); - } + Logger possChild = (Logger) ((WeakReference) loggers.get(iter.next())) + .get(); + if ((possChild == null) || (possChild == logger) + || (possChild.getParent() != parent)) + continue; + + if (! possChild.getName().startsWith(name)) + continue; + + if (possChild.getName().charAt(name.length()) != '.') + continue; + + possChild.setParent(logger); } - + return true; } @@ -365,15 +362,13 @@ public class LogManager int bestNameLength = 0; Logger cand; - String candName; int candNameLength; if (child == Logger.root) return null; - for (Iterator iter = loggers.keySet().iterator(); iter.hasNext();) + for (String candName : loggers.keySet()) { - candName = (String) iter.next(); candNameLength = candName.length(); if (candNameLength > bestNameLength @@ -381,7 +376,7 @@ public class LogManager && childName.startsWith(candName) && childName.charAt(candNameLength) == '.') { - cand = (Logger) ((WeakReference) loggers.get(candName)).get(); + cand = loggers.get(candName).get(); if ((cand == null) || (cand == child)) continue; @@ -406,14 +401,14 @@ public class LogManager */ public synchronized Logger getLogger(String name) { - WeakReference ref; + WeakReference ref; /* Throw a NullPointerException if name is null. */ name.getClass(); - ref = (WeakReference) loggers.get(name); + ref = loggers.get(name); if (ref != null) - return (Logger) ref.get(); + return ref.get(); else return null; } @@ -426,7 +421,7 @@ public class LogManager * @return an Enumeration with the names of the currently * registered Loggers. */ - public synchronized Enumeration getLoggerNames() + public synchronized Enumeration getLoggerNames() { return Collections.enumeration(loggers.keySet()); } @@ -449,16 +444,16 @@ public class LogManager properties = new Properties(); - Iterator iter = loggers.values().iterator(); + Iterator> iter = loggers.values().iterator(); while (iter.hasNext()) + for (WeakReference ref : loggers.values()) { - WeakReference ref; Logger logger; - ref = (WeakReference) iter.next(); + ref = iter.next(); if (ref != null) { - logger = (Logger) ref.get(); + logger = ref.get(); if (logger == null) iter.remove(); @@ -713,7 +708,11 @@ public class LogManager { try { - return Level.parse(getLogManager().getProperty(propertyName)); + String value = getLogManager().getProperty(propertyName); + if (value != null) + return Level.parse(getLogManager().getProperty(propertyName)); + else + return defaultValue; } catch (Exception ex) { diff --git a/libjava/classpath/java/util/logging/LoggingMXBean.java b/libjava/classpath/java/util/logging/LoggingMXBean.java index 5f866c980d7..3e0a7276db3 100644 --- a/libjava/classpath/java/util/logging/LoggingMXBean.java +++ b/libjava/classpath/java/util/logging/LoggingMXBean.java @@ -60,7 +60,7 @@ public interface LoggingMXBean /** * Return a list of all logger names. */ - List/**/ getLoggerNames(); + List getLoggerNames(); /** * Return the name of the parent of the indicated logger. diff --git a/libjava/classpath/java/util/prefs/Preferences.java b/libjava/classpath/java/util/prefs/Preferences.java index 297759d88a4..e53e4fc7938 100644 --- a/libjava/classpath/java/util/prefs/Preferences.java +++ b/libjava/classpath/java/util/prefs/Preferences.java @@ -251,7 +251,7 @@ public abstract class Preferences { * @exception SecurityException when a security manager is installed and * the caller does not have RuntimePermission("preferences"). */ - public static Preferences systemNodeForPackage(Class c) + public static Preferences systemNodeForPackage(Class c) throws SecurityException { return nodeForPackage(c, systemRoot()); @@ -270,7 +270,7 @@ public abstract class Preferences { * @exception SecurityException when a security manager is installed and * the caller does not have RuntimePermission("preferences"). */ - public static Preferences userNodeForPackage(Class c) + public static Preferences userNodeForPackage(Class c) throws SecurityException { return nodeForPackage(c, userRoot()); diff --git a/libjava/classpath/java/util/regex/Matcher.java b/libjava/classpath/java/util/regex/Matcher.java index 25e73810e95..bf833673b0e 100644 --- a/libjava/classpath/java/util/regex/Matcher.java +++ b/libjava/classpath/java/util/regex/Matcher.java @@ -218,7 +218,7 @@ public final class Matcher implements MatchResult public boolean lookingAt () { - match = pattern.getRE().getMatch(inputCharIndexed, 0); + match = pattern.getRE().getMatch(inputCharIndexed, 0, RE.REG_FIX_STARTING_POSITION, null); if (match != null) { if (match.getStartIndex() == 0) @@ -243,7 +243,7 @@ public final class Matcher implements MatchResult */ public boolean matches () { - match = pattern.getRE().getMatch(inputCharIndexed, 0, RE.REG_TRY_ENTIRE_MATCH); + match = pattern.getRE().getMatch(inputCharIndexed, 0, RE.REG_TRY_ENTIRE_MATCH|RE.REG_FIX_STARTING_POSITION, null); if (match != null) { if (match.getStartIndex() == 0) @@ -278,6 +278,7 @@ public final class Matcher implements MatchResult public Matcher reset (CharSequence input) { this.input = input; + this.inputCharIndexed = RE.makeCharIndexed(input, 0); return reset(); } @@ -309,6 +310,28 @@ public final class Matcher implements MatchResult return match.getStartIndex(group); } + /** + * @return True if and only if the matcher hit the end of input. + */ + public boolean hitEnd() + { + return inputCharIndexed.hitEnd(); + } + + /** + * @return A string expression of this matcher. + */ + public String toString() + { + StringBuilder sb = new StringBuilder(); + sb.append(this.getClass().getName()) + .append("[pattern=").append(pattern.pattern()) + .append(" region=").append("0").append(",").append(input.length()) + .append(" lastmatch=").append(match == null ? "" : match.toString()) + .append("]"); + return sb.toString(); + } + private void assertMatchOp() { if (match == null) throw new IllegalStateException(); diff --git a/libjava/classpath/java/util/zip/Deflater.java b/libjava/classpath/java/util/zip/Deflater.java index a4ec0e64303..e97c6054ff4 100644 --- a/libjava/classpath/java/util/zip/Deflater.java +++ b/libjava/classpath/java/util/zip/Deflater.java @@ -1,5 +1,5 @@ /* Deflater.java - Compress a data stream - Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -150,7 +150,7 @@ public class Deflater private int state; /** The total bytes of output written. */ - private int totalOut; + private long totalOut; /** The pending output. */ private DeflaterPending pending; @@ -241,7 +241,17 @@ public class Deflater /** * Gets the number of input bytes processed so far. */ + @Deprecated public int getTotalIn() + { + return (int) engine.getTotalIn(); + } + + /** + * Gets the number of input bytes processed so far. + * @since 1.5 + */ + public long getBytesRead() { return engine.getTotalIn(); } @@ -249,7 +259,17 @@ public class Deflater /** * Gets the number of output bytes so far. */ + @Deprecated public int getTotalOut() + { + return (int) totalOut; + } + + /** + * Gets the number of output bytes so far. + * @since 1.5 + */ + public long getBytesWritten() { return totalOut; } diff --git a/libjava/classpath/java/util/zip/DeflaterEngine.java b/libjava/classpath/java/util/zip/DeflaterEngine.java index f79e47742bb..51587165e7c 100644 --- a/libjava/classpath/java/util/zip/DeflaterEngine.java +++ b/libjava/classpath/java/util/zip/DeflaterEngine.java @@ -1,5 +1,5 @@ /* DeflaterEngine.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. + Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -92,7 +92,7 @@ class DeflaterEngine implements DeflaterConstants private byte[] inputBuf; /** The total bytes of input read. */ - private int totalIn; + private long totalIn; /** The offset into inputBuf, where input data starts. */ private int inputOff; @@ -163,7 +163,7 @@ class DeflaterEngine implements DeflaterConstants return chksum; } - public final int getTotalIn() + public final long getTotalIn() { return totalIn; } diff --git a/libjava/classpath/java/util/zip/Inflater.java b/libjava/classpath/java/util/zip/Inflater.java index f1616d60199..509b9576429 100644 --- a/libjava/classpath/java/util/zip/Inflater.java +++ b/libjava/classpath/java/util/zip/Inflater.java @@ -140,13 +140,13 @@ public class Inflater /** * The total number of inflated bytes. */ - private int totalOut; + private long totalOut; /** * The total number of bytes set with setInput(). This is not the * value returned by getTotalIn(), since this also includes the * unprocessed input. */ - private int totalIn; + private long totalIn; /** * This variable stores the nowrap flag that was given to the constructor. * True means, that the inflated stream doesn't contain a header nor the @@ -246,7 +246,18 @@ public class Inflater * Gets the total number of processed compressed input bytes. * @return the total number of bytes of processed input bytes. */ + @Deprecated public int getTotalIn() + { + return (int) (totalIn - getRemaining()); + } + + /** + * Gets the total number of processed compressed input bytes. + * @return the total number of bytes of processed input bytes. + * @since 1.5 + */ + public long getBytesRead() { return totalIn - getRemaining(); } @@ -255,7 +266,18 @@ public class Inflater * Gets the total number of output bytes returned by inflate(). * @return the total number of output bytes. */ + @Deprecated public int getTotalOut() + { + return (int) totalOut; + } + + /** + * Gets the total number of output bytes returned by inflate(). + * @return the total number of output bytes. + * @since 1.5 + */ + public long getBytesWritten() { return totalOut; } diff --git a/libjava/classpath/java/util/zip/ZipFile.java b/libjava/classpath/java/util/zip/ZipFile.java index 47ced0fb84f..3b34bd1f50b 100644 --- a/libjava/classpath/java/util/zip/ZipFile.java +++ b/libjava/classpath/java/util/zip/ZipFile.java @@ -48,6 +48,9 @@ import java.io.IOException; import java.io.InputStream; import java.io.RandomAccessFile; import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedHashMap; @@ -88,7 +91,7 @@ public class ZipFile implements ZipConstants private final RandomAccessFile raf; // The entries of this zip file when initialized and not yet closed. - private LinkedHashMap entries; + private LinkedHashMap entries; private boolean closed = false; @@ -250,7 +253,7 @@ public class ZipFile implements ZipConstants throw new EOFException(name); int centralOffset = inp.readLeInt(); - entries = new LinkedHashMap(count+count/2); + entries = new LinkedHashMap (count+count/2); inp.seek(centralOffset); for (int i = 0; i < count; i++) @@ -327,7 +330,7 @@ public class ZipFile implements ZipConstants * * @exception IllegalStateException when the ZipFile has already been closed */ - public Enumeration entries() + public Enumeration entries() { checkClosed(); @@ -347,7 +350,7 @@ public class ZipFile implements ZipConstants * @exception IllegalStateException when the ZipFile has already been closed. * @exception IOException when the entries could not be read. */ - private LinkedHashMap getEntries() throws IOException + private LinkedHashMap getEntries() throws IOException { synchronized(raf) { @@ -375,11 +378,11 @@ public class ZipFile implements ZipConstants try { - LinkedHashMap entries = getEntries(); - ZipEntry entry = (ZipEntry) entries.get(name); + LinkedHashMap entries = getEntries(); + ZipEntry entry = entries.get(name); // If we didn't find it, maybe it's a directory. if (entry == null && !name.endsWith("/")) - entry = (ZipEntry) entries.get(name + '/'); + entry = entries.get(name + '/'); return entry != null ? new ZipEntry(entry, name) : null; } catch (IOException ioe) @@ -414,9 +417,9 @@ public class ZipFile implements ZipConstants { checkClosed(); - LinkedHashMap entries = getEntries(); + LinkedHashMap entries = getEntries(); String name = entry.getName(); - ZipEntry zipEntry = (ZipEntry) entries.get(name); + ZipEntry zipEntry = entries.get(name); if (zipEntry == null) return null; @@ -491,11 +494,11 @@ public class ZipFile implements ZipConstants } } - private static class ZipEntryEnumeration implements Enumeration + private static class ZipEntryEnumeration implements Enumeration { - private final Iterator elements; + private final Iterator elements; - public ZipEntryEnumeration(Iterator elements) + public ZipEntryEnumeration(Iterator elements) { this.elements = elements; } @@ -505,17 +508,27 @@ public class ZipFile implements ZipConstants return elements.hasNext(); } - public Object nextElement() + public ZipEntry nextElement() { /* We return a clone, just to be safe that the user doesn't * change the entry. */ - return ((ZipEntry)elements.next()).clone(); + return (ZipEntry) (elements.next().clone()); } } private static final class PartialInputStream extends InputStream { + /** + * The UTF-8 charset use for decoding the filenames. + */ + private static final Charset UTF8CHARSET = Charset.forName("UTF-8"); + + /** + * The actual UTF-8 decoder. Created on demand. + */ + private CharsetDecoder utf8Decoder; + private final RandomAccessFile raf; private final byte[] buffer; private long bufferOffset; @@ -652,23 +665,86 @@ public class ZipFile implements ZipConstants int readLeShort() throws IOException { - int b0 = read(); - int b1 = read(); - if (b1 == -1) - throw new EOFException(); - return (b0 & 0xff) | (b1 & 0xff) << 8; + int result; + if(pos + 1 < buffer.length) + { + result = ((buffer[pos + 0] & 0xff) | (buffer[pos + 1] & 0xff) << 8); + pos += 2; + } + else + { + int b0 = read(); + int b1 = read(); + if (b1 == -1) + throw new EOFException(); + result = (b0 & 0xff) | (b1 & 0xff) << 8; + } + return result; } int readLeInt() throws IOException { - int b0 = read(); - int b1 = read(); - int b2 = read(); - int b3 = read(); - if (b3 == -1) - throw new EOFException(); - return ((b0 & 0xff) | (b1 & 0xff) << 8) - | ((b2 & 0xff) | (b3 & 0xff) << 8) << 16; + int result; + if(pos + 3 < buffer.length) + { + result = (((buffer[pos + 0] & 0xff) | (buffer[pos + 1] & 0xff) << 8) + | ((buffer[pos + 2] & 0xff) + | (buffer[pos + 3] & 0xff) << 8) << 16); + pos += 4; + } + else + { + int b0 = read(); + int b1 = read(); + int b2 = read(); + int b3 = read(); + if (b3 == -1) + throw new EOFException(); + result = (((b0 & 0xff) | (b1 & 0xff) << 8) | ((b2 & 0xff) + | (b3 & 0xff) << 8) << 16); + } + return result; + } + + /** + * Decode chars from byte buffer using UTF8 encoding. This + * operation is performance-critical since a jar file contains a + * large number of strings for the name of each file in the + * archive. This routine therefore avoids using the expensive + * utf8Decoder when decoding is straightforward. + * + * @param buffer the buffer that contains the encoded character + * data + * @param pos the index in buffer of the first byte of the encoded + * data + * @param length the length of the encoded data in number of + * bytes. + * + * @return a String that contains the decoded characters. + */ + private String decodeChars(byte[] buffer, int pos, int length) + throws IOException + { + String result; + int i=length - 1; + while ((i >= 0) && (buffer[i] <= 0x7f)) + { + i--; + } + if (i < 0) + { + result = new String(buffer, 0, pos, length); + } + else + { + ByteBuffer bufferBuffer = ByteBuffer.wrap(buffer, pos, length); + if (utf8Decoder == null) + utf8Decoder = UTF8CHARSET.newDecoder(); + utf8Decoder.reset(); + char [] characters = utf8Decoder.decode(bufferBuffer).array(); + result = String.valueOf(characters); + } + return result; } String readString(int length) throws IOException @@ -676,25 +752,26 @@ public class ZipFile implements ZipConstants if (length > end - (bufferOffset + pos)) throw new EOFException(); + String result = null; try { if (buffer.length - pos >= length) { - String s = new String(buffer, pos, length, "UTF-8"); + result = decodeChars(buffer, pos, length); pos += length; - return s; } else { byte[] b = new byte[length]; readFully(b); - return new String(b, 0, length, "UTF-8"); + result = decodeChars(b, 0, length); } } catch (UnsupportedEncodingException uee) { throw new AssertionError(uee); } + return result; } public void addDummyByte() diff --git a/libjava/classpath/javax/accessibility/AccessibleRelationSet.java b/libjava/classpath/javax/accessibility/AccessibleRelationSet.java index 8c33eaa7298..768c9cd791c 100644 --- a/libjava/classpath/javax/accessibility/AccessibleRelationSet.java +++ b/libjava/classpath/javax/accessibility/AccessibleRelationSet.java @@ -64,7 +64,8 @@ public class AccessibleRelationSet * @see #toArray() * @see #clear() */ - protected Vector relations = new Vector(); + protected Vector relations + = new Vector(); /** * Create an empty relation set. diff --git a/libjava/classpath/javax/accessibility/AccessibleStateSet.java b/libjava/classpath/javax/accessibility/AccessibleStateSet.java index 29fd2ed970f..783f5412742 100644 --- a/libjava/classpath/javax/accessibility/AccessibleStateSet.java +++ b/libjava/classpath/javax/accessibility/AccessibleStateSet.java @@ -62,7 +62,7 @@ public class AccessibleStateSet * @see #toArray() * @see #clear() */ - protected Vector states = new Vector(); + protected Vector states = new Vector(); /** * Create an empty state set. diff --git a/libjava/classpath/javax/crypto/Cipher.java b/libjava/classpath/javax/crypto/Cipher.java index 1b56a07f4aa..7c18e6f6ab3 100644 --- a/libjava/classpath/javax/crypto/Cipher.java +++ b/libjava/classpath/javax/crypto/Cipher.java @@ -157,161 +157,159 @@ public class Cipher /** Our current state (encrypting, wrapping, etc.) */ private int state; - - // Class methods. - // ------------------------------------------------------------------------ - /** - *

    Creates a new cipher instance for the given transformation.

    - * - *

    The installed providers are tried in order for an - * implementation, and the first appropriate instance is returned. If - * no installed provider can provide the implementation, an - * appropriate exception is thrown.

    - * + * Creates a new cipher instance for the given transformation. + *

    + * The installed providers are tried in order for an implementation, and the + * first appropriate instance is returned. If no installed provider can + * provide the implementation, an appropriate exception is thrown. + * * @param transformation The transformation to create. * @return An appropriate cipher for this transformation. - * @throws java.security.NoSuchAlgorithmException If no installed - * provider can supply the appropriate cipher or mode. - * @throws javax.crypto.NoSuchPaddingException If no installed - * provider can supply the appropriate padding. + * @throws NoSuchAlgorithmException If no installed provider can supply the + * appropriate cipher or mode. + * @throws NoSuchPaddingException If no installed provider can supply the + * appropriate padding. */ public static final Cipher getInstance(String transformation) - throws NoSuchAlgorithmException, NoSuchPaddingException + throws NoSuchAlgorithmException, NoSuchPaddingException { - Provider[] providers = Security.getProviders(); - NoSuchPaddingException ex = null; - String msg = ""; - for (int i = 0; i < providers.length; i++) - { - try - { - return getInstance(transformation, providers[i]); - } - catch (NoSuchAlgorithmException nsae) - { - msg = nsae.getMessage(); - ex = null; - } - catch (NoSuchPaddingException nspe) - { - ex = nspe; - } - } - if (ex != null) - { - throw ex; - } - throw new NoSuchAlgorithmException(msg); + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + NoSuchPaddingException lastPaddingException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(transformation, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + lastPaddingException = null; + } + catch (NoSuchPaddingException x) + { + lastPaddingException = x; + } + if (lastPaddingException != null) + throw lastPaddingException; + if (lastException != null) + throw lastException; + throw new NoSuchAlgorithmException(transformation); } /** - *

    Creates a new cipher instance for the given transformation and - * the named provider.

    - * + * Creates a new cipher instance for the given transformation and the named + * provider. + * * @param transformation The transformation to create. - * @param provider The name of the provider to use. + * @param provider The name of the provider to use. * @return An appropriate cipher for this transformation. - * @throws java.security.NoSuchAlgorithmException If the provider cannot - * supply the appropriate cipher or mode. - * @throws java.security.NoSuchProviderException If the named provider - * is not installed. - * @throws javax.crypto.NoSuchPaddingException If the provider cannot - * supply the appropriate padding. + * @throws NoSuchAlgorithmException If the provider cannot supply the + * appropriate cipher or mode. + * @throws NoSuchProviderException If the named provider is not installed. + * @throws NoSuchPaddingException If the provider cannot supply the + * appropriate padding. + * @throws IllegalArgumentException if either transformation or + * provider is null. */ public static final Cipher getInstance(String transformation, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException, - NoSuchPaddingException + throws NoSuchAlgorithmException, NoSuchProviderException, + NoSuchPaddingException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(transformation, p); } /** - * Creates a new cipher instance for the given transform and the given + * Creates a new cipher instance for a given transformation from a given * provider. - * + * * @param transformation The transformation to create. - * @param provider The provider to use. + * @param provider The provider to use. * @return An appropriate cipher for this transformation. - * @throws java.security.NoSuchAlgorithmException If the given - * provider cannot supply the appropriate cipher or mode. - * @throws javax.crypto.NoSuchPaddingException If the given - * provider cannot supply the appropriate padding scheme. + * @throws NoSuchAlgorithmException If the given provider cannot supply the + * appropriate cipher or mode. + * @throws NoSuchPaddingException If the given provider cannot supply the + * appropriate padding scheme. */ - public static final Cipher getInstance(String transformation, Provider provider) - throws NoSuchAlgorithmException, NoSuchPaddingException + public static final Cipher getInstance(String transformation, + Provider provider) + throws NoSuchAlgorithmException, NoSuchPaddingException { - CipherSpi result = null; - String key = null; - String alg = null, mode = null, pad = null; - String msg = ""; + StringBuilder sb = new StringBuilder().append("Cipher transformation [") + .append(transformation).append("] from provider [") + .append(provider).append("] "); + Throwable cause; + Object spi; + CipherSpi result; if (transformation.indexOf('/') < 0) { try { - result = (CipherSpi) Engine.getInstance(SERVICE, transformation, - provider); - return new Cipher(result, provider, transformation); + spi = Engine.getInstance(SERVICE, transformation, provider); + return new Cipher((CipherSpi) spi, provider, transformation); } catch (Exception e) { - msg = e.getMessage(); + if (e instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) e; + cause = e; } } else { StringTokenizer tok = new StringTokenizer(transformation, "/"); if (tok.countTokens() != 3) - { - throw new NoSuchAlgorithmException("badly formed transformation"); - } - alg = tok.nextToken(); - mode = tok.nextToken(); - pad = tok.nextToken(); + throw new NoSuchAlgorithmException(sb.append("is malformed").toString()); + + String alg = tok.nextToken(); + String mode = tok.nextToken(); + String pad = tok.nextToken(); try { - result = (CipherSpi) Engine.getInstance(SERVICE, transformation, - provider); - return new Cipher(result, provider, transformation); + spi = Engine.getInstance(SERVICE, transformation, provider); + return new Cipher((CipherSpi) spi, provider, transformation); } catch (Exception e) { - msg = e.getMessage(); + cause = e; } + try { - result = (CipherSpi) Engine.getInstance(SERVICE, alg + '/' + mode, - provider); + spi = Engine.getInstance(SERVICE, alg + '/' + mode, provider); + result = (CipherSpi) spi; result.engineSetPadding(pad); return new Cipher(result, provider, transformation); } catch (Exception e) { if (e instanceof NoSuchPaddingException) - { - throw (NoSuchPaddingException) e; - } - msg = e.getMessage(); + throw (NoSuchPaddingException) e; + cause = e; } + try { - result = (CipherSpi) Engine.getInstance(SERVICE, alg + "//" + pad, - provider); + spi = Engine.getInstance(SERVICE, alg + "//" + pad, provider); + result = (CipherSpi) spi; result.engineSetMode(mode); return new Cipher(result, provider, transformation); } catch (Exception e) { - msg = e.getMessage(); + cause = e; } + try { - result = (CipherSpi) Engine.getInstance(SERVICE, alg, provider); + spi = Engine.getInstance(SERVICE, alg, provider); + result = (CipherSpi) spi; result.engineSetMode(mode); result.engineSetPadding(pad); return new Cipher(result, provider, transformation); @@ -319,18 +317,16 @@ public class Cipher catch (Exception e) { if (e instanceof NoSuchPaddingException) - { - throw (NoSuchPaddingException) e; - } - msg = e.getMessage(); + throw (NoSuchPaddingException) e; + cause = e; } } - throw new NoSuchAlgorithmException(transformation + ": " + msg); + sb.append("could not be created"); + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Constructor. - // ------------------------------------------------------------------------ - /** * Create a cipher. * @@ -347,9 +343,6 @@ public class Cipher state = INITIAL_STATE; } - // Public instance methods. - // ------------------------------------------------------------------------ - /** * Get the name that this cipher instance was created with; this is * equivalent to the "transformation" argument given to any of the diff --git a/libjava/classpath/javax/crypto/CipherOutputStream.java b/libjava/classpath/javax/crypto/CipherOutputStream.java index adeb6e5ed38..5d1e57a16d2 100644 --- a/libjava/classpath/javax/crypto/CipherOutputStream.java +++ b/libjava/classpath/javax/crypto/CipherOutputStream.java @@ -45,59 +45,25 @@ import java.io.OutputStream; /** * A filtered output stream that transforms data written to it with a * {@link Cipher} before sending it to the underlying output stream. - * + * * @author Casey Marshall (csm@gnu.org) */ public class CipherOutputStream extends FilterOutputStream { - - // Fields. - // ------------------------------------------------------------------------ - /** The underlying cipher. */ private Cipher cipher; - private byte[][] inBuffer; - - private int inLength; - - private byte[] outBuffer; - - private static final int FIRST_TIME = 0; - private static final int SECOND_TIME = 1; - private static final int SEASONED = 2; - private int state; - - /** True if the cipher is a stream cipher (blockSize == 1) */ - private boolean isStream; - - // Constructors. - // ------------------------------------------------------------------------ - /** - * Create a new cipher output stream. The cipher argument must have - * already been initialized. - * - * @param out The sink for transformed data. + * Create a new cipher output stream. The cipher argument must have already + * been initialized. + * + * @param out The sink for transformed data. * @param cipher The cipher to transform data with. */ public CipherOutputStream(OutputStream out, Cipher cipher) { super(out); - if (cipher != null) - { - this.cipher = cipher; - if (!(isStream = cipher.getBlockSize() == 1)) - { - inBuffer = new byte[2][]; - inBuffer[0] = new byte[cipher.getBlockSize()]; - inBuffer[1] = new byte[cipher.getBlockSize()]; - inLength = 0; - state = FIRST_TIME; - } - } - else - this.cipher = new NullCipher(); + this.cipher = (cipher != null) ? cipher : new NullCipher(); } /** @@ -110,52 +76,36 @@ public class CipherOutputStream extends FilterOutputStream super(out); } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Close this output stream, and the sink output stream. - * - *

    This method will first invoke the {@link Cipher#doFinal()} - * method of the underlying {@link Cipher}, and writes the output of - * that method to the sink output stream. - * - * @throws java.io.IOException If an I/O error occurs, or if an error - * is caused by finalizing the transformation. + *

    + * This method will first invoke the {@link Cipher#doFinal()} method of the + * underlying {@link Cipher}, and writes the output of that method to the + * sink output stream. + * + * @throws IOException If an I/O error occurs, or if an error is caused by + * finalizing the transformation. */ public void close() throws IOException { try { - int len; - if (state != FIRST_TIME) - { - len = cipher.update(inBuffer[0], 0, inBuffer[0].length, outBuffer); - out.write(outBuffer, 0, len); - } - len = cipher.doFinal(inBuffer[0], 0, inLength, outBuffer); - out.write(outBuffer, 0, len); - } - catch (javax.crypto.IllegalBlockSizeException ibse) - { - throw new IOException(ibse.toString()); + out.write(cipher.doFinal()); + out.flush(); + out.close(); } - catch (javax.crypto.BadPaddingException bpe) + catch (Exception cause) { - throw new IOException(bpe.toString()); + IOException ioex = new IOException(String.valueOf(cause)); + ioex.initCause(cause); + throw ioex; } - catch (ShortBufferException sbe) - { - throw new IOException(sbe.toString()); - } - out.flush(); - out.close(); } /** * Flush any pending output. * - * @throws java.io.IOException If an I/O error occurs. + * @throws IOException If an I/O error occurs. */ public void flush() throws IOException { @@ -164,40 +114,22 @@ public class CipherOutputStream extends FilterOutputStream /** * Write a single byte to the output stream. - * + * * @param b The next byte. - * @throws java.io.IOException If an I/O error occurs, or if the - * underlying cipher is not in the correct state to transform - * data. + * @throws IOException If an I/O error occurs, or if the underlying cipher is + * not in the correct state to transform data. */ public void write(int b) throws IOException { - if (isStream) - { - byte[] buf = new byte[] { (byte) b }; - try - { - cipher.update(buf, 0, 1, buf, 0); - } - catch (ShortBufferException sbe) - { - throw new IOException(sbe.toString()); - } - out.write(buf); - return; - } - inBuffer[1][inLength++] = (byte) b; - if (inLength == inBuffer[1].length) - process(); + write(new byte[] { (byte) b }, 0, 1); } /** * Write a byte array to the output stream. - * + * * @param buf The next bytes. - * @throws java.io.IOException If an I/O error occurs, or if the - * underlying cipher is not in the correct state to transform - * data. + * @throws IOException If an I/O error occurs, or if the underlying cipher is + * not in the correct state to transform data. */ public void write(byte[] buf) throws IOException { @@ -206,63 +138,15 @@ public class CipherOutputStream extends FilterOutputStream /** * Write a portion of a byte array to the output stream. - * + * * @param buf The next bytes. * @param off The offset in the byte array to start. * @param len The number of bytes to write. - * @throws java.io.IOException If an I/O error occurs, or if the - * underlying cipher is not in the correct state to transform - * data. + * @throws IOException If an I/O error occurs, or if the underlying cipher is + * not in the correct state to transform data. */ public void write(byte[] buf, int off, int len) throws IOException { - if (isStream) - { - out.write(cipher.update(buf, off, len)); - return; - } - int count = 0; - while (count < len) - { - int l = Math.min(inBuffer[1].length - inLength, len - count); - System.arraycopy(buf, off+count, inBuffer[1], inLength, l); - count += l; - inLength += l; - if (inLength == inBuffer[1].length) - process(); - } - } - - // Own method. - // ------------------------------------------------------------------------- - - private void process() throws IOException - { - if (state == SECOND_TIME) - { - state = SEASONED; - } - else - { - byte[] temp = inBuffer[0]; - inBuffer[0] = inBuffer[1]; - inBuffer[1] = temp; - } - if (state == FIRST_TIME) - { - inLength = 0; - state = SECOND_TIME; - return; - } - try - { - cipher.update(inBuffer[0], 0, inBuffer[0].length, outBuffer); - } - catch (ShortBufferException sbe) - { - throw new IOException(sbe.toString()); - } - out.write(outBuffer); - inLength = 0; + out.write(cipher.update(buf, off, len)); } } diff --git a/libjava/classpath/javax/crypto/ExemptionMechanism.java b/libjava/classpath/javax/crypto/ExemptionMechanism.java index b6cb02c63c8..baf6bad99e0 100644 --- a/libjava/classpath/javax/crypto/ExemptionMechanism.java +++ b/libjava/classpath/javax/crypto/ExemptionMechanism.java @@ -87,66 +87,111 @@ public class ExemptionMechanism virgin = true; } - // Class methods. - // ------------------------------------------------------------------------ - + /** + * Create an instance of ExemptionMechanism for a designated + * mechanism from the first Security Provider offering it. + * + * @param mechanism the name of the exemption mechanism to create. + * @return a newly created instance of ExemptionMechanism. + * @throws IllegalArgumentException if the provider is null. + * @throws NoSuchAlgorithmException if no such exemption mechanism is + * available from any known Security Provider. + * @throws IllegalArgumentException if mechanism is + * null or is an empty string. + */ public static final ExemptionMechanism getInstance(String mechanism) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - String msg = ""; - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(mechanism, provs[i]); - } - catch (NoSuchAlgorithmException nsae) - { - msg = nsae.getMessage(); - } - } - throw new NoSuchAlgorithmException(msg); + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(mechanism, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; + throw new NoSuchAlgorithmException(mechanism); } + /** + * Create an instance of ExemptionMechanism for a designated + * mechanism from a named provider. + * + * @param mechanism the name of the exemption mechanism to create. + * @param provider the security provider to provide the exemption + * mechanism. + * @return a newly created instance of ExemptionMechanism. + * @throws NoSuchAlgorithmException if no such exemption mechanism is + * available from the named provider. + * @throws NoSuchProviderException if no Security Provider with the designated + * name is known to the underlying JVM. + * @throws IllegalArgumentException if either mechanism or + * provider is null, or if + * mechanism is an empty string. + */ public static final ExemptionMechanism getInstance(String mechanism, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(mechanism, p); } + /** + * Create an instance of ExemptionMechanism for a designated + * mechanism from a designated provider. + * + * @param mechanism the name of the exemption mechanism to create. + * @param provider the security provider to provide the exemption + * mechanism. + * @return a newly created instance of ExemptionMechanism. + * @throws NoSuchAlgorithmException if an exemption mechanism could not be + * created. + * @throws IllegalArgumentException if either mechanism or + * provider is null, or if + * mechanism is an empty string. + */ public static final ExemptionMechanism getInstance(String mechanism, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("ExemptionMechanism [") + .append(mechanism).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new ExemptionMechanism((ExemptionMechanismSpi) - Engine.getInstance(SERVICE, mechanism, provider), - provider, mechanism); + Object spi = Engine.getInstance(SERVICE, mechanism, provider); + return new ExemptionMechanism((ExemptionMechanismSpi) spi, + provider, + mechanism); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - if (ite.getCause() instanceof NoSuchAlgorithmException) - throw (NoSuchAlgorithmException) ite.getCause(); - else - throw new NoSuchAlgorithmException(mechanism); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(mechanism); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - public final byte[] genExemptionBlob() throws IllegalStateException, ExemptionMechanismException { diff --git a/libjava/classpath/javax/crypto/KeyAgreement.java b/libjava/classpath/javax/crypto/KeyAgreement.java index d71743e3e63..49003109106 100644 --- a/libjava/classpath/javax/crypto/KeyAgreement.java +++ b/libjava/classpath/javax/crypto/KeyAgreement.java @@ -101,97 +101,103 @@ public class KeyAgreement virgin = true; } - // Class methods. - // ------------------------------------------------------------------------ - /** * Get an implementation of an algorithm from the first provider that * implements it. - * + * * @param algorithm The name of the algorithm to get. * @return The proper KeyAgreement instacne, if found. - * @throws java.security.NoSuchAlgorithmException If the specified - * algorithm is not implemented by any installed provider. + * @throws NoSuchAlgorithmException If the specified algorithm is not + * implemented by any installed provider. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static final KeyAgreement getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - String msg = algorithm; - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(algorithm, provs[i]); - } - catch (NoSuchAlgorithmException nsae) - { - msg = nsae.getMessage(); - } - } - throw new NoSuchAlgorithmException(msg); + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; + throw new NoSuchAlgorithmException(algorithm); } /** - * Get an implementation of an algorithm from a named provider. - * - * @param algorithm The name of the algorithm to get. - * @param provider The name of the provider from which to get the - * implementation. + * Return an implementation of an algorithm from a named provider. + * + * @param algorithm The name of the algorithm to create. + * @param provider The name of the provider from which to get the + * implementation. * @return The proper KeyAgreement instance, if found. - * @throws java.security.NoSuchAlgorithmException If the named provider - * does not implement the algorithm. - * @throws java.security.NoSuchProviderException If the named provider - * does not exist. + * @throws NoSuchAlgorithmException If the named provider does not implement + * the algorithm. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ - public static final KeyAgreement getInstance(String algorithm, - String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + public static final KeyAgreement getInstance(String algorithm, String provider) + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(algorithm, p); } /** - * Get an implementation of an algorithm from a specific provider. - * + * Return an implementation of an algorithm from a specific provider. + * * @param algorithm The name of the algorithm to get. - * @param provider The provider from which to get the implementation. + * @param provider The provider from which to get the implementation. * @return The proper KeyAgreement instance, if found. - * @throws java.security.NoSuchAlgorithmException If this provider - * does not implement the algorithm. + * @throws NoSuchAlgorithmException If this provider does not implement the + * algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final KeyAgreement getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("KeyAgreement algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new KeyAgreement((KeyAgreementSpi) - Engine.getInstance(SERVICE, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(SERVICE, algorithm, provider); + return new KeyAgreement((KeyAgreementSpi) spi, provider, algorithm); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - if (ite.getCause() == null) - throw new NoSuchAlgorithmException(algorithm); - if (ite.getCause() instanceof NoSuchAlgorithmException) - throw (NoSuchAlgorithmException) ite.getCause(); - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Do a phase in the key agreement. The number of times this method is * called depends upon the algorithm and the number of parties diff --git a/libjava/classpath/javax/crypto/KeyGenerator.java b/libjava/classpath/javax/crypto/KeyGenerator.java index e824c64522e..79334e9e05e 100644 --- a/libjava/classpath/javax/crypto/KeyGenerator.java +++ b/libjava/classpath/javax/crypto/KeyGenerator.java @@ -94,95 +94,103 @@ public class KeyGenerator this.algorithm = algorithm; } - // Class methods. - // ------------------------------------------------------------------------ - /** - * Create a new key generator, returning the first available - * implementation. - * + * Create a new key generator, returning the first available implementation. + * * @param algorithm The generator algorithm name. - * @throws java.security.NoSuchAlgorithmException If the specified - * algorithm does not exist. + * @throws NoSuchAlgorithmException If the specified algorithm does not exist. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static final KeyGenerator getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - String msg = algorithm; - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(algorithm, provs[i]); - } - catch (NoSuchAlgorithmException nsae) - { - msg = nsae.getMessage(); - } - } - throw new NoSuchAlgorithmException(msg); + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; + throw new NoSuchAlgorithmException(algorithm); } /** * Create a new key generator from the named provider. - * + * * @param algorithm The generator algorithm name. - * @param provider The name of the provider to use. + * @param provider The name of the provider to use. * @return An appropriate key generator, if found. - * @throws java.security.NoSuchAlgorithmException If the specified - * algorithm is not implemented by the named provider. - * @throws java.security.NoSuchProviderException If the named provider - * does not exist. + * @throws NoSuchAlgorithmException If the specified algorithm is not + * implemented by the named provider. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final KeyGenerator getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(algorithm, p); } /** * Create a new key generator from the supplied provider. - * + * * @param algorithm The generator algorithm name. - * @param provider The provider to use. + * @param provider The provider to use. * @return An appropriate key generator, if found. - * @throws java.security.NoSuchAlgorithmException If the specified - * algorithm is not implemented by the provider. + * @throws NoSuchAlgorithmException If the specified algorithm is not + * implemented by the provider. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ - public static final KeyGenerator getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + public static final KeyGenerator getInstance(String algorithm, + Provider provider) + throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("KeyGenerator algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - KeyGenerator instance = new KeyGenerator((KeyGeneratorSpi) - Engine.getInstance(SERVICE, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(SERVICE, algorithm, provider); + KeyGenerator instance = new KeyGenerator((KeyGeneratorSpi) spi, + provider, + algorithm); instance.init(new SecureRandom()); return instance; } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - if (ite.getCause() == null) - throw new NoSuchAlgorithmException(algorithm); - if (ite.getCause() instanceof NoSuchAlgorithmException) - throw (NoSuchAlgorithmException) ite.getCause(); - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Generate a key. * diff --git a/libjava/classpath/javax/crypto/Mac.java b/libjava/classpath/javax/crypto/Mac.java index abbff8b2387..2a269ab8084 100644 --- a/libjava/classpath/javax/crypto/Mac.java +++ b/libjava/classpath/javax/crypto/Mac.java @@ -41,6 +41,7 @@ package javax.crypto; import gnu.java.security.Engine; import java.lang.reflect.InvocationTargetException; +import java.nio.ByteBuffer; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; @@ -107,96 +108,104 @@ public class Mac implements Cloneable virgin = true; } - // Class methods. - // ------------------------------------------------------------------------ - /** - * Get an instance of the named algorithm from the first provider with - * an appropriate implementation. - * + * Create an instance of the named algorithm from the first provider with an + * appropriate implementation. + * * @param algorithm The name of the algorithm. - * @return An appropriate Mac instance, if the specified algorithm - * is implemented by a provider. - * @throws java.security.NoSuchAlgorithmException If no implementation - * of the named algorithm is installed. + * @return An appropriate Mac instance, if the specified algorithm is + * implemented by a provider. + * @throws NoSuchAlgorithmException If no implementation of the named + * algorithm is installed. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static final Mac getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - String msg = ""; - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(algorithm, provs[i]); - } - catch (NoSuchAlgorithmException nsae) - { - msg = nsae.getMessage(); - } - } - throw new NoSuchAlgorithmException(msg); + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; + throw new NoSuchAlgorithmException(algorithm); } /** - * Get an instance of the named algorithm from the named provider. - * + * Create an instance of the named algorithm from the named provider. + * * @param algorithm The name of the algorithm. - * @param provider The name of the provider. + * @param provider The name of the provider. * @return An appropriate Mac instance, if the specified algorithm is * implemented by the named provider. - * @throws java.security.NoSuchAlgorithmException If the named provider - * has no implementation of the algorithm. - * @throws java.security.NoSuchProviderException If the named provider - * does not exist. + * @throws NoSuchAlgorithmException If the named provider has no + * implementation of the algorithm. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final Mac getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(algorithm, p); } /** - * Get an instance of the named algorithm from a provider. - * + * Create an instance of the named algorithm from a provider. + * * @param algorithm The name of the algorithm. - * @param provider The provider. + * @param provider The provider. * @return An appropriate Mac instance, if the specified algorithm is * implemented by the provider. - * @throws java.security.NoSuchAlgorithmException If the provider - * has no implementation of the algorithm. + * @throws NoSuchAlgorithmException If the provider has no implementation of + * the algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final Mac getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("Mac algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new Mac((MacSpi) Engine.getInstance(SERVICE, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(SERVICE, algorithm, provider); + return new Mac((MacSpi) spi, provider, algorithm); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - if (ite.getCause() == null) - throw new NoSuchAlgorithmException(algorithm); - if (ite.getCause() instanceof NoSuchAlgorithmException) - throw (NoSuchAlgorithmException) ite.getCause(); - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Finishes the computation of a MAC and returns the digest. * @@ -397,6 +406,18 @@ public class Mac implements Cloneable macSpi.engineUpdate(input, offset, length); } + /** + * Update this MAC with the remaining bytes in the given buffer + * @param buffer The input buffer. + * @since 1.5 + */ + public final void update (final ByteBuffer buffer) + { + if (virgin) + throw new IllegalStateException ("not initialized"); + macSpi.engineUpdate(buffer); + } + /** * Clone this instance, if the underlying implementation supports it. * diff --git a/libjava/classpath/javax/crypto/MacSpi.java b/libjava/classpath/javax/crypto/MacSpi.java index b0f96bff367..853bd66aa0f 100644 --- a/libjava/classpath/javax/crypto/MacSpi.java +++ b/libjava/classpath/javax/crypto/MacSpi.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.crypto; +import java.nio.ByteBuffer; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; @@ -142,4 +143,21 @@ public abstract class MacSpi * @param length The number of bytes to update. */ protected abstract void engineUpdate(byte[] input, int offset, int length); + + /** + * Update this MAC with the remaining bytes of a buffer. + * + * @param buffer The input buffer. + * @since 1.5 + */ + protected void engineUpdate (final ByteBuffer buffer) + { + byte[] buf = new byte[1024]; + while (buffer.hasRemaining ()) + { + int n = Math.min (buffer.remaining (), buf.length); + buffer.get (buf, 0, n); + engineUpdate (buf, 0, n); + } + } } diff --git a/libjava/classpath/javax/crypto/SecretKeyFactory.java b/libjava/classpath/javax/crypto/SecretKeyFactory.java index 0a63ef06745..1c857d274a8 100644 --- a/libjava/classpath/javax/crypto/SecretKeyFactory.java +++ b/libjava/classpath/javax/crypto/SecretKeyFactory.java @@ -94,94 +94,102 @@ public class SecretKeyFactory this.algorithm = algorithm; } - // Class methods. - // ------------------------------------------------------------------------ - /** - * Create a new secret key factory from the first appropriate - * instance. - * + * Create a new secret key factory from the first appropriate instance. + * * @param algorithm The algorithm name. * @return The appropriate key factory, if found. - * @throws java.security.NoSuchAlgorithmException If no provider - * implements the specified algorithm. + * @throws NoSuchAlgorithmException If no provider implements the specified + * algorithm. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static final SecretKeyFactory getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(algorithm, provs[i]); - } - catch (NoSuchAlgorithmException nsae) - { - } - } - throw new NoSuchAlgorithmException(algorithm); + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; + throw new NoSuchAlgorithmException(algorithm); } /** * Create a new secret key factory from the named provider. - * + * * @param algorithm The algorithm name. - * @param provider The provider name. + * @param provider The provider name. * @return The appropriate key factory, if found. - * @throws java.security.NoSuchAlgorithmException If the named - * provider does not implement the algorithm. - * @throws java.security.NoSuchProviderException If the named provider - * does not exist. + * @throws NoSuchAlgorithmException If the named provider does not implement + * the algorithm. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final SecretKeyFactory getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + throws NoSuchAlgorithmException, NoSuchProviderException { + if (provider == null) + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(algorithm, p); } /** * Create a new secret key factory from the specified provider. - * + * * @param algorithm The algorithm name. - * @param provider The provider. + * @param provider The provider. * @return The appropriate key factory, if found. - * @throws java.security.NoSuchAlgorithmException If the provider - * does not implement the algorithm. + * @throws NoSuchAlgorithmException If the provider does not implement the + * algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final SecretKeyFactory getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("SecretKeyFactory algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new SecretKeyFactory((SecretKeyFactorySpi) - Engine.getInstance(SERVICE, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(SERVICE, algorithm, provider); + return new SecretKeyFactory((SecretKeyFactorySpi) spi, provider, algorithm); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - if (ite.getCause() == null) - throw new NoSuchAlgorithmException(algorithm); - if (ite.getCause() instanceof NoSuchAlgorithmException) - throw (NoSuchAlgorithmException) ite.getCause(); - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------------ - /** * Generate a secret key from a key specification, if possible. * diff --git a/libjava/classpath/javax/imageio/IIOImage.java b/libjava/classpath/javax/imageio/IIOImage.java index 0d987476239..bd69bae5f1e 100644 --- a/libjava/classpath/javax/imageio/IIOImage.java +++ b/libjava/classpath/javax/imageio/IIOImage.java @@ -79,8 +79,7 @@ public class IIOImage /** * A list of BufferedImage thumbnails of this image. */ - // for 1.5 these lists are List - protected List thumbnails; + protected List thumbnails; /** * Construct an IIOImage containing raster image data, thumbnails @@ -92,7 +91,8 @@ public class IIOImage * * @exception IllegalArgumentException if raster is null */ - public IIOImage (Raster raster, List thumbnails, IIOMetadata metadata) + public IIOImage (Raster raster, List thumbnails, + IIOMetadata metadata) { if (raster == null) throw new IllegalArgumentException ("raster may not be null"); @@ -112,7 +112,8 @@ public class IIOImage * * @exception IllegalArgumentException if image is null */ - public IIOImage (RenderedImage image, List thumbnails, IIOMetadata metadata) + public IIOImage (RenderedImage image, List thumbnails, + IIOMetadata metadata) { if (image == null) throw new IllegalArgumentException ("image may not be null"); @@ -192,7 +193,7 @@ public class IIOImage * * @return a list of thumbnails or null */ - public List getThumbnails() + public List getThumbnails() { return thumbnails; } @@ -260,7 +261,7 @@ public class IIOImage * * @param thumbnails a new list of thumbnails or null */ - public void setThumbnails (List thumbnails) + public void setThumbnails (List thumbnails) { this.thumbnails = thumbnails; } diff --git a/libjava/classpath/javax/imageio/ImageIO.java b/libjava/classpath/javax/imageio/ImageIO.java index b2304a78304..a3d967726b9 100644 --- a/libjava/classpath/javax/imageio/ImageIO.java +++ b/libjava/classpath/javax/imageio/ImageIO.java @@ -315,27 +315,37 @@ public final class ImageIO } } - private static final class ImageReaderIterator implements Iterator + private static final class ImageReaderIterator + implements Iterator { - Iterator it; + Iterator it; Object readerExtension; - public ImageReaderIterator(Iterator it, Object readerExtension) + public ImageReaderIterator(Iterator it, + Object readerExtension) { this.it = it; this.readerExtension = readerExtension; } + + public ImageReaderIterator(Iterator it) + { + this.it = it; + } public boolean hasNext() { return it.hasNext(); } - public Object next() + public ImageReader next() { try { - return ((ImageReaderSpi) it.next()).createReaderInstance(readerExtension); + ImageReaderSpi spi = it.next(); + return (readerExtension == null + ? spi.createReaderInstance() + : spi.createReaderInstance(readerExtension)); } catch (IOException e) { @@ -349,27 +359,37 @@ public final class ImageIO } } - private static final class ImageWriterIterator implements Iterator + private static final class ImageWriterIterator + implements Iterator { - Iterator it; + Iterator it; Object writerExtension; - public ImageWriterIterator(Iterator it, Object writerExtension) + public ImageWriterIterator(Iterator it, + Object writerExtension) { this.it = it; this.writerExtension = writerExtension; } + + public ImageWriterIterator(Iterator it) + { + this.it = it; + } public boolean hasNext() { return it.hasNext(); } - public Object next() + public ImageWriter next() { try { - return ((ImageWriterSpi) it.next()).createWriterInstance(writerExtension); + ImageWriterSpi spi = it.next(); + return (writerExtension == null + ? spi.createWriterInstance() + : spi.createWriterInstance(writerExtension)); } catch (IOException e) { @@ -386,13 +406,14 @@ public final class ImageIO private static File cacheDirectory; private static boolean useCache = true; - private static Iterator getReadersByFilter(Class type, - ServiceRegistry.Filter filter, - Object readerExtension) + private static Iterator getReadersByFilter(Class type, + ServiceRegistry.Filter filter, + Object readerExtension) { try { - Iterator it = getRegistry().getServiceProviders(type, filter, true); + Iterator it + = getRegistry().getServiceProviders(type, filter, true); return new ImageReaderIterator(it, readerExtension); } catch (IllegalArgumentException e) @@ -401,13 +422,14 @@ public final class ImageIO } } - private static Iterator getWritersByFilter(Class type, - ServiceRegistry.Filter filter, - Object writerExtension) + private static Iterator getWritersByFilter(Class type, + ServiceRegistry.Filter filter, + Object writerExtension) { try { - Iterator it = getRegistry().getServiceProviders(type, filter, true); + Iterator it + = getRegistry().getServiceProviders(type, filter, true); return new ImageWriterIterator(it, writerExtension); } catch (IllegalArgumentException e) @@ -436,7 +458,7 @@ public final class ImageIO * * @exception IllegalArgumentException if formatName is null */ - public static Iterator getImageReadersByFormatName(String formatName) + public static Iterator getImageReadersByFormatName(String formatName) { if (formatName == null) throw new IllegalArgumentException("formatName may not be null"); @@ -457,7 +479,7 @@ public final class ImageIO * * @exception IllegalArgumentException if MIMEType is null */ - public static Iterator getImageReadersByMIMEType(String MIMEType) + public static Iterator getImageReadersByMIMEType(String MIMEType) { if (MIMEType == null) throw new IllegalArgumentException("MIMEType may not be null"); @@ -477,7 +499,7 @@ public final class ImageIO * * @exception IllegalArgumentException if fileSuffix is null */ - public static Iterator getImageReadersBySuffix(String fileSuffix) + public static Iterator getImageReadersBySuffix(String fileSuffix) { if (fileSuffix == null) throw new IllegalArgumentException("formatName may not be null"); @@ -497,7 +519,7 @@ public final class ImageIO * * @exception IllegalArgumentException if formatName is null */ - public static Iterator getImageWritersByFormatName(String formatName) + public static Iterator getImageWritersByFormatName(String formatName) { if (formatName == null) throw new IllegalArgumentException("formatName may not be null"); @@ -518,7 +540,7 @@ public final class ImageIO * * @exception IllegalArgumentException if MIMEType is null */ - public static Iterator getImageWritersByMIMEType(String MIMEType) + public static Iterator getImageWritersByMIMEType(String MIMEType) { if (MIMEType == null) throw new IllegalArgumentException("MIMEType may not be null"); @@ -538,7 +560,7 @@ public final class ImageIO * * @exception IllegalArgumentException if fileSuffix is null */ - public static Iterator getImageWritersBySuffix(String fileSuffix) + public static Iterator getImageWritersBySuffix(String fileSuffix) { if (fileSuffix == null) throw new IllegalArgumentException("fileSuffix may not be null"); @@ -1068,8 +1090,7 @@ public final class ImageIO if (writer == null) throw new IllegalArgumentException ("null argument"); - ImageWriterSpi spi = (ImageWriterSpi) getRegistry() - .getServiceProviderByClass(writer.getClass()); + ImageWriterSpi spi = writer.getOriginatingProvider(); String[] readerSpiNames = spi.getImageReaderSpiNames(); @@ -1098,14 +1119,16 @@ public final class ImageIO * * @return an iterator over a collection of image readers */ - public static Iterator getImageReaders (Object input) + public static Iterator getImageReaders (Object input) { if (input == null) throw new IllegalArgumentException ("null argument"); - return getRegistry().getServiceProviders (ImageReaderSpi.class, - new ReaderObjectFilter(input), - true); + Iterator spiIterator + = getRegistry().getServiceProviders (ImageReaderSpi.class, + new ReaderObjectFilter(input), + true); + return new ImageReaderIterator(spiIterator); } /** @@ -1118,16 +1141,18 @@ public final class ImageIO * * @return an iterator over a collection of image writers */ - public static Iterator getImageWriters (ImageTypeSpecifier type, + public static Iterator getImageWriters (ImageTypeSpecifier type, String formatName) { if (type == null || formatName == null) throw new IllegalArgumentException ("null argument"); - return getRegistry().getServiceProviders (ImageWriterSpi.class, - new WriterObjectFilter(type, - formatName), - true); + final Iterator spiIterator + = getRegistry().getServiceProviders (ImageWriterSpi.class, + new WriterObjectFilter(type, + formatName), + true); + return new ImageWriterIterator(spiIterator); } /** @@ -1149,8 +1174,7 @@ public final class ImageIO if (reader == null) throw new IllegalArgumentException ("null argument"); - ImageReaderSpi spi = (ImageReaderSpi) getRegistry() - .getServiceProviderByClass(reader.getClass()); + ImageReaderSpi spi = reader.getOriginatingProvider(); String[] writerSpiNames = spi.getImageWriterSpiNames(); @@ -1184,15 +1208,33 @@ public final class ImageIO * @exception IllegalArgumentException if either reader or writer is * null */ - public static Iterator getImageTranscoders (ImageReader reader, - ImageWriter writer) + public static Iterator getImageTranscoders (ImageReader reader, + ImageWriter writer) { if (reader == null || writer == null) throw new IllegalArgumentException ("null argument"); - return getRegistry().getServiceProviders (ImageTranscoderSpi.class, - new TranscoderFilter (reader, - writer), - true); + final Iterator spiIterator + = getRegistry().getServiceProviders (ImageTranscoderSpi.class, + new TranscoderFilter (reader, + writer), + true); + return new Iterator() + { + public boolean hasNext() + { + return spiIterator.hasNext(); + } + + public ImageTranscoder next() + { + return spiIterator.next().createTranscoderInstance(); + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + }; } } diff --git a/libjava/classpath/javax/imageio/ImageReader.java b/libjava/classpath/javax/imageio/ImageReader.java index cdd77d52bad..c7eed06fbdc 100644 --- a/libjava/classpath/javax/imageio/ImageReader.java +++ b/libjava/classpath/javax/imageio/ImageReader.java @@ -116,7 +116,7 @@ public abstract class ImageReader * A list of installed progress listeners. Initially null, meaning * no installed listeners. */ - protected List progressListeners = null; + protected List progressListeners = null; /** * true if this reader should only read data further ahead in the @@ -129,19 +129,19 @@ public abstract class ImageReader * A list of installed update listeners. Initially null, meaning no * installed listeners. */ - protected List updateListeners = null; + protected List updateListeners = null; /** * A list of installed warning listeners. Initially null, meaning * no installed listeners. */ - protected List warningListeners = null; + protected List warningListeners = null; /** * A list of warning locales corresponding with the list of * installed warning listeners. Initially null, meaning no locales. */ - protected List warningLocales = null; + protected List warningLocales = null; /** * Construct an image reader. @@ -371,7 +371,7 @@ public abstract class ImageReader * out-of-bounds * @exception IOException if a read error occurs */ - public abstract Iterator getImageTypes(int imageIndex) + public abstract Iterator getImageTypes(int imageIndex) throws IOException; /** @@ -1594,7 +1594,7 @@ public abstract class ImageReader * height is greater than Integer.MAX_VALUE */ protected static BufferedImage getDestination (ImageReadParam param, - Iterator imageTypes, + Iterator imageTypes, int width, int height) throws IIOException @@ -1694,7 +1694,7 @@ public abstract class ImageReader */ public IIOMetadata getImageMetadata (int imageIndex, String formatName, - Set nodeNames) + Set nodeNames) throws IOException { if (formatName == null || nodeNames == null) @@ -1808,7 +1808,7 @@ public abstract class ImageReader * @exception IOException if a read error occurs */ public IIOMetadata getStreamMetadata (String formatName, - Set nodeNames) + Set nodeNames) throws IOException { if (formatName == null || nodeNames == null) @@ -1915,7 +1915,7 @@ public abstract class ImageReader * destination image regions are empty * @exception IOException if a read error occurs */ - public Iterator readAll (Iterator params) + public Iterator readAll (Iterator params) throws IOException { List l = new ArrayList (); diff --git a/libjava/classpath/javax/imageio/ImageWriter.java b/libjava/classpath/javax/imageio/ImageWriter.java index ef352154164..b49e081f002 100644 --- a/libjava/classpath/javax/imageio/ImageWriter.java +++ b/libjava/classpath/javax/imageio/ImageWriter.java @@ -40,6 +40,7 @@ package javax.imageio; import java.awt.Dimension; import java.awt.Rectangle; +import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.awt.image.RenderedImage; import java.io.IOException; @@ -102,19 +103,19 @@ public abstract class ImageWriter * A list of installed progress listeners. Initially null, meaning * no installed listeners. */ - protected List progressListeners = null; + protected List progressListeners = null; /** * A list of installed warning listeners. Initially null, meaning * no installed listeners. */ - protected List warningListeners = null; + protected List warningListeners = null; /** * A list of warning locales corresponding with the list of * installed warning listeners. Initially null, meaning no locales. */ - protected List warningLocales = null; + protected List warningLocales = null; /** * Construct an image writer. @@ -1076,7 +1077,7 @@ public abstract class ImageWriter public void prepareInsertEmpty (int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, - List thumbnails, + List thumbnails, ImageWriteParam param) throws IOException { @@ -1149,7 +1150,7 @@ public abstract class ImageWriter ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, - List thumbnails, + List thumbnails, ImageWriteParam param) throws IOException { diff --git a/libjava/classpath/javax/imageio/metadata/IIOMetadataFormat.java b/libjava/classpath/javax/imageio/metadata/IIOMetadataFormat.java index 76e0950a3df..15f2ceb0ba7 100644 --- a/libjava/classpath/javax/imageio/metadata/IIOMetadataFormat.java +++ b/libjava/classpath/javax/imageio/metadata/IIOMetadataFormat.java @@ -106,15 +106,15 @@ public interface IIOMetadataFormat int getObjectArrayMinLength (String elementName); - Class getObjectClass (String elementName); + Class getObjectClass (String elementName); Object getObjectDefaultValue (String elementName); Object[] getObjectEnumerations (String elementName); - Comparable getObjectMaxValue (String elementName); + Comparable getObjectMaxValue (String elementName); - Comparable getObjectMinValue (String elementName); + Comparable getObjectMinValue (String elementName); int getObjectValueType (String elementName); diff --git a/libjava/classpath/javax/imageio/metadata/IIOMetadataFormatImpl.java b/libjava/classpath/javax/imageio/metadata/IIOMetadataFormatImpl.java index aad30447c2f..78fad1a15f0 100644 --- a/libjava/classpath/javax/imageio/metadata/IIOMetadataFormatImpl.java +++ b/libjava/classpath/javax/imageio/metadata/IIOMetadataFormatImpl.java @@ -462,7 +462,7 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat int dataType, boolean required, String defaultValue, - List enumeratedValues) + List enumeratedValues) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); node.setAttributeNode (new IIOMetadataNodeAttrEnumerated (node, @@ -568,8 +568,8 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat node.setUserObject (null); } - protected void addObjectValue (String elementName, Class classType, - boolean required, Object defaultValue) + protected void addObjectValue (String elementName, Class classType, + boolean required, T defaultValue) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObject (node, @@ -578,9 +578,9 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat defaultValue)); } - protected void addObjectValue (String elementName, Class classType, - boolean required, Object defaultValue, - List enumeratedValues) + protected void addObjectValue (String elementName, Class classType, + boolean required, T defaultValue, + List enumeratedValues) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObjectEnumerated (node, @@ -590,12 +590,13 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat enumeratedValues)); } - protected void addObjectValue (String elementName, Class classType, - Object defaultValue, - Comparable minValue, - Comparable maxValue, - boolean minInclusive, - boolean maxInclusive) + protected > + void addObjectValue (String elementName, Class classType, + T defaultValue, + Comparable minValue, + Comparable maxValue, + boolean minInclusive, + boolean maxInclusive) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); addNodeObject (node, new NodeObjectBounded (node, @@ -607,7 +608,7 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat maxInclusive)); } - protected void addObjectValue (String elementName, Class classType, + protected void addObjectValue (String elementName, Class classType, int arrayMinLength, int arrayMaxLength) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); @@ -836,7 +837,7 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat return ((Integer) ((NodeObjectArray) getNodeObject (node)).getArrayMinLength ()).intValue(); } - public Class getObjectClass (String elementName) + public Class getObjectClass (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return getNodeObject (node).getClassType (); @@ -854,13 +855,13 @@ public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat return ((NodeObjectEnumerated) getNodeObject (node)).getEnumerations (); } - public Comparable getObjectMaxValue (String elementName) + public Comparable getObjectMaxValue (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((NodeObjectBounded) getNodeObject (node)).getMaxValue (); } - public Comparable getObjectMinValue (String elementName) + public Comparable getObjectMinValue (String elementName) { IIOMetadataNode node = (IIOMetadataNode) nodes.get (elementName); return ((NodeObjectBounded) getNodeObject (node)).getMinValue (); diff --git a/libjava/classpath/javax/imageio/spi/IIORegistry.java b/libjava/classpath/javax/imageio/spi/IIORegistry.java index e762a96279f..fc3087f0cd6 100644 --- a/libjava/classpath/javax/imageio/spi/IIORegistry.java +++ b/libjava/classpath/javax/imageio/spi/IIORegistry.java @@ -39,7 +39,6 @@ exception statement from your version. */ package javax.imageio.spi; import gnu.classpath.ServiceFactory; -import gnu.java.awt.ClasspathToolkit; import java.awt.Toolkit; import java.util.HashMap; @@ -92,8 +91,6 @@ public final class IIORegistry extends ServiceRegistry registerServiceProvider(new BMPImageWriterSpi()); Toolkit toolkit = Toolkit.getDefaultToolkit(); - if (toolkit instanceof ClasspathToolkit) - ((ClasspathToolkit)toolkit).registerImageIOSpis(this); registerApplicationClasspathSpis(); } diff --git a/libjava/classpath/javax/imageio/spi/IIOServiceProvider.java b/libjava/classpath/javax/imageio/spi/IIOServiceProvider.java index 1ec59d5263e..48fa7d41489 100644 --- a/libjava/classpath/javax/imageio/spi/IIOServiceProvider.java +++ b/libjava/classpath/javax/imageio/spi/IIOServiceProvider.java @@ -110,7 +110,7 @@ public abstract class IIOServiceProvider * @param category the service category for which this provider has * been registered as an implementor. */ - public void onRegistration(ServiceRegistry registry, Class category) + public void onRegistration(ServiceRegistry registry, Class category) { } @@ -128,7 +128,7 @@ public abstract class IIOServiceProvider * @param category the service category for which this provider has * been registered as an implementor. */ - public void onDeregistration(ServiceRegistry registry, Class category) + public void onDeregistration(ServiceRegistry registry, Class category) { } diff --git a/libjava/classpath/javax/imageio/spi/ImageInputStreamSpi.java b/libjava/classpath/javax/imageio/spi/ImageInputStreamSpi.java index 51c58395fc0..2b60868a54c 100644 --- a/libjava/classpath/javax/imageio/spi/ImageInputStreamSpi.java +++ b/libjava/classpath/javax/imageio/spi/ImageInputStreamSpi.java @@ -59,7 +59,7 @@ public abstract class ImageInputStreamSpi * Indicates which kind of input is processable by the streams * created by {@link #createInputStreamInstance(Object)}. */ - protected Class inputClass; + protected Class inputClass; /** @@ -80,7 +80,7 @@ public abstract class ImageInputStreamSpi * or version is null. */ public ImageInputStreamSpi(String vendorName, String version, - Class inputClass) + Class inputClass) { super(vendorName, version); this.inputClass = inputClass; @@ -91,7 +91,7 @@ public abstract class ImageInputStreamSpi * Determines which kind of input is processable by the streams * created by {@link #createInputStreamInstance(Object)}. */ - public Class getInputClass() + public Class getInputClass() { return inputClass; } diff --git a/libjava/classpath/javax/imageio/spi/ImageOutputStreamSpi.java b/libjava/classpath/javax/imageio/spi/ImageOutputStreamSpi.java index 0f1d3cdb2c1..872e7181e2b 100644 --- a/libjava/classpath/javax/imageio/spi/ImageOutputStreamSpi.java +++ b/libjava/classpath/javax/imageio/spi/ImageOutputStreamSpi.java @@ -59,7 +59,7 @@ public abstract class ImageOutputStreamSpi * Indicates which kind of output is produced by the streams * created by {@link #createOutputStreamInstance(Object)}. */ - protected Class outputClass; + protected Class outputClass; /** @@ -80,7 +80,7 @@ public abstract class ImageOutputStreamSpi * or version is null. */ public ImageOutputStreamSpi(String vendorName, String version, - Class outputClass) + Class outputClass) { super(vendorName, version); this.outputClass = outputClass; @@ -91,7 +91,7 @@ public abstract class ImageOutputStreamSpi * Determines which kind of output is produced by the streams * created by {@link #createOutputStreamInstance(Object)}. */ - public Class getOutputClass() + public Class getOutputClass() { return outputClass; } diff --git a/libjava/classpath/javax/imageio/spi/RegisterableService.java b/libjava/classpath/javax/imageio/spi/RegisterableService.java index ccf734e69ac..7be5a1beace 100644 --- a/libjava/classpath/javax/imageio/spi/RegisterableService.java +++ b/libjava/classpath/javax/imageio/spi/RegisterableService.java @@ -62,7 +62,7 @@ public interface RegisterableService * @param category the service category for which this provider has * been registered as an implementor. */ - void onRegistration(ServiceRegistry registry, Class category); + void onRegistration(ServiceRegistry registry, Class category); /** @@ -78,6 +78,6 @@ public interface RegisterableService * @param category the service category for which this provider has * been registered as an implementor. */ - void onDeregistration(ServiceRegistry registry, Class category); + void onDeregistration(ServiceRegistry registry, Class category); } diff --git a/libjava/classpath/javax/imageio/spi/ServiceRegistry.java b/libjava/classpath/javax/imageio/spi/ServiceRegistry.java index 031b666046c..4848bc6dbab 100644 --- a/libjava/classpath/javax/imageio/spi/ServiceRegistry.java +++ b/libjava/classpath/javax/imageio/spi/ServiceRegistry.java @@ -121,7 +121,7 @@ public class ServiceRegistry * @throws ClassCastException if categories does not * iterate over instances of {@link java.lang.Class}. */ - public ServiceRegistry(Iterator categories) + public ServiceRegistry(Iterator> categories) { ArrayList cats = new ArrayList(/* expected size */ 10); @@ -178,8 +178,8 @@ public class ServiceRegistry * @throws IllegalArgumentException if spi is * null. */ - public static Iterator lookupProviders(Class spi, - ClassLoader loader) + public static Iterator lookupProviders(Class spi, + ClassLoader loader) { return ServiceFactory.lookupProviders(spi, loader); } @@ -200,7 +200,7 @@ public class ServiceRegistry * * @see #lookupProviders(Class, ClassLoader) */ - public static Iterator lookupProviders(Class spi) + public static Iterator lookupProviders(Class spi) { return ServiceFactory.lookupProviders(spi); } @@ -212,7 +212,7 @@ public class ServiceRegistry * @return an unmodifiable {@link * java.util.Iterator}<{@link java.lang.Class}>. */ - public Iterator getCategories() + public Iterator> getCategories() { return new Iterator() { @@ -317,8 +317,8 @@ public class ServiceRegistry * @throws ClassCastException if provider does not * implement category. */ - public synchronized boolean registerServiceProvider(Object provider, - Class category) + public synchronized boolean registerServiceProvider(T provider, + Class category) { for (int i = 0; i < categories.length; i++) if (categories[i] == category) @@ -383,7 +383,7 @@ public class ServiceRegistry * #ServiceRegistry(Iterator) constructor} of this * ServiceRegistry. */ - public synchronized void registerServiceProviders(Iterator providers) + public synchronized void registerServiceProviders(Iterator providers) { if (providers == null) throw new IllegalArgumentException(); @@ -467,8 +467,8 @@ public class ServiceRegistry * @throws ClassCastException if provider does not * implement category. */ - public synchronized boolean deregisterServiceProvider(Object provider, - Class category) + public synchronized boolean deregisterServiceProvider(T provider, + Class category) { for (int i = 0; i < categories.length; i++) if (categories[i] == category) @@ -535,7 +535,7 @@ public class ServiceRegistry * #ServiceRegistry(Iterator) constructor} of this * ServiceRegistry. */ - public synchronized void deregisterAll(Class category) + public synchronized void deregisterAll(Class category) { boolean ok = false; @@ -663,7 +663,8 @@ public class ServiceRegistry * * @see #getServiceProviders(Class, Filter, boolean) */ - public Iterator getServiceProviders(Class category, boolean useOrdering) + public Iterator getServiceProviders(Class category, + boolean useOrdering) { return getServiceProviders(category, null, useOrdering); } @@ -691,9 +692,9 @@ public class ServiceRegistry * #ServiceRegistry(Iterator) constructor} of this * ServiceRegistry. */ - public synchronized Iterator getServiceProviders(Class category, - Filter filter, - boolean useOrdering) + public synchronized Iterator getServiceProviders(Class category, + Filter filter, + boolean useOrdering) { int catid; LinkedList provs; @@ -751,7 +752,7 @@ public class ServiceRegistry * * @param providerClass a class to search for. */ - public synchronized Object getServiceProviderByClass(Class providerClass) + public synchronized T getServiceProviderByClass(Class providerClass) { if (providerClass == null) throw new IllegalArgumentException(); @@ -772,7 +773,7 @@ public class ServiceRegistry { Object provider = iter.next(); if (providerClass.isInstance(provider)) - return provider; + return (T) provider; } } @@ -799,9 +800,9 @@ public class ServiceRegistry * @see #unsetOrdering * @see #getServiceProviders(Class, Filter, boolean) */ - public synchronized boolean setOrdering(Class category, - Object firstProvider, - Object secondProvider) + public synchronized boolean setOrdering(Class category, + T firstProvider, + T secondProvider) { return addConstraint(getCategoryID(category), firstProvider, secondProvider); @@ -826,9 +827,9 @@ public class ServiceRegistry * * @see #setOrdering */ - public synchronized boolean unsetOrdering(Class category, - Object firstProvider, - Object secondProvider) + public synchronized boolean unsetOrdering(Class category, + T firstProvider, + T secondProvider) { return removeConstraint(getCategoryID(category), firstProvider, secondProvider); diff --git a/libjava/classpath/javax/management/BadAttributeValueExpException.java b/libjava/classpath/javax/management/BadAttributeValueExpException.java new file mode 100644 index 00000000000..fbdf1decad2 --- /dev/null +++ b/libjava/classpath/javax/management/BadAttributeValueExpException.java @@ -0,0 +1,91 @@ +/* BadAttributeValueExpException.java -- Thrown by invalid query attributes. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when the value of an a attribute passed to a query proves to + * be invalid. This exception is only used internally by the Java + * management API and is not exposed to user code. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class BadAttributeValueExpException + extends Exception +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -3105272988410493376L; + + /** + * The attribute value that caused the exception. + */ + private Object val; + + /** + * Constructs a new BadAttributeValueExpException + * using the specified object to represent the invalid value. + * + * @param val the inappropriate value. + */ + public BadAttributeValueExpException(Object val) + { + super(); + this.val = val; + } + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.BadAttributeValueExpException) + * and the invalid value. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + return getClass().getName() + + "[val=" + val + + "]"; + } + +} + diff --git a/libjava/classpath/javax/management/BadBinaryOpValueExpException.java b/libjava/classpath/javax/management/BadBinaryOpValueExpException.java new file mode 100644 index 00000000000..5e1f5dbbed4 --- /dev/null +++ b/libjava/classpath/javax/management/BadBinaryOpValueExpException.java @@ -0,0 +1,102 @@ +/* BadBinaryOpValueExpException.java -- Thrown by invalid query expressions. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when the expression passed to a method for constructing a + * query proves to be invalid. This exception is only used internally + * by the Java management API and is not exposed to user code. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class BadBinaryOpValueExpException + extends Exception +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 5068475589449021227L; + + /** + * The value expression that caused the exception. + */ + private ValueExp exp; + + /** + * Constructs a new BadBinaryOpValueExpException + * using the specified expression to represent the invalid one. + * + * @param exp the inappropriate value expression. + */ + public BadBinaryOpValueExpException(ValueExp exp) + { + super(); + this.exp = exp; + } + + /** + * Returns the inappropriate value expression associated + * with this exception. + * + * @return the value expression. + */ + public ValueExp getExp() + { + return exp; + } + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.BadBinaryOpValueExpException) + * and the invalid value expression. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + return getClass().getName() + + "[exp=" + exp + + "]"; + } + +} + diff --git a/libjava/classpath/javax/management/BadStringOperationException.java b/libjava/classpath/javax/management/BadStringOperationException.java new file mode 100644 index 00000000000..8e5949ef791 --- /dev/null +++ b/libjava/classpath/javax/management/BadStringOperationException.java @@ -0,0 +1,92 @@ +/* BadStringOperationException.java -- Thrown by invalid query attributes. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when a string-based operation passed to a query proves to + * be invalid. This exception is only used internally by the Java + * management API and is not exposed to user code. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class BadStringOperationException + extends Exception +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 7802201238441662100L; + + /** + * The operation that caused the exception. + */ + private String op; + + /** + * Constructs a new BadStringOperationException + * using the specified object to represent the invalid string + * operation. + * + * @param op the inappropriate string operation. + */ + public BadStringOperationException(String op) + { + super(); + this.op = op; + } + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.BadStringOperationException) + * and the invalid string operation. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + return getClass().getName() + + "[op=" + op + + "]"; + } + +} + diff --git a/libjava/classpath/javax/management/InstanceAlreadyExistsException.java b/libjava/classpath/javax/management/InstanceAlreadyExistsException.java new file mode 100644 index 00000000000..c783208cb49 --- /dev/null +++ b/libjava/classpath/javax/management/InstanceAlreadyExistsException.java @@ -0,0 +1,76 @@ +/* InstanceAlreadyExistsException.java -- Thrown by invalid values. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when an attempt to register a bean is made, and + * the bean is already registered. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class InstanceAlreadyExistsException + extends OperationsException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 8893743928912733931L; + + /** + * Constructs a new InstanceAlreadyExistsException. + */ + public InstanceAlreadyExistsException() + { + super(); + } + + /** + * Constructs a new InstanceAlreadyExistsException + * with the specified message. + * + * @param message the error message to give to the user. + */ + public InstanceAlreadyExistsException(String message) + { + super(message); + } + +} + diff --git a/libjava/classpath/javax/management/InstanceNotFoundException.java b/libjava/classpath/javax/management/InstanceNotFoundException.java new file mode 100644 index 00000000000..4d209fc471f --- /dev/null +++ b/libjava/classpath/javax/management/InstanceNotFoundException.java @@ -0,0 +1,76 @@ +/* InstanceNotFoundException.java -- Thrown by invalid values. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when an attempt to locate a bean is made, and + * the bean does not exist in the repository. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class InstanceNotFoundException + extends OperationsException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -882579438394773049L; + + /** + * Constructs a new InstanceNotFoundException. + */ + public InstanceNotFoundException() + { + super(); + } + + /** + * Constructs a new InstanceNotFoundException + * with the specified message. + * + * @param message the error message to give to the user. + */ + public InstanceNotFoundException(String message) + { + super(message); + } + +} + diff --git a/libjava/classpath/javax/management/InvalidApplicationException.java b/libjava/classpath/javax/management/InvalidApplicationException.java new file mode 100644 index 00000000000..0bcf2d6cb0c --- /dev/null +++ b/libjava/classpath/javax/management/InvalidApplicationException.java @@ -0,0 +1,92 @@ +/* InvalidApplicationException.java -- Thrown by invalid query attributes. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when a query or attribute is applied to a management bean + * which is of the wrong class. This exception is only used + * internally by the Java management API and is not exposed to user + * code. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class InvalidApplicationException + extends Exception +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -3048022274675537269L; + + /** + * The attribute value that caused the exception. + */ + private Object val; + + /** + * Constructs a new InvalidApplicationException + * using the specified object to represent the invalid value. + * + * @param val the inappropriate expression. + */ + public InvalidApplicationException(Object val) + { + super(); + this.val = val; + } + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.InvalidApplicationException) + * and the invalid expression. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + return getClass().getName() + + "[val=" + val + + "]"; + } + +} + diff --git a/libjava/classpath/javax/management/MBeanAttributeInfo.java b/libjava/classpath/javax/management/MBeanAttributeInfo.java index bded7e41a07..2d7c100b560 100644 --- a/libjava/classpath/javax/management/MBeanAttributeInfo.java +++ b/libjava/classpath/javax/management/MBeanAttributeInfo.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.management; import java.lang.reflect.Method; +import java.lang.reflect.Type; /** * Describes the attributes of a management bean. @@ -109,13 +110,21 @@ public class MBeanAttributeInfo "not be null."); if (getter == null) { - attributeType = setter.getParameterTypes()[0].getName(); + Type t = setter.getGenericParameterTypes()[0]; + if (t instanceof Class) + attributeType = ((Class) t).getName(); + else + attributeType = t.toString(); isRead = false; is = false; } else { - attributeType = getter.getReturnType().getName(); + Type t = getter.getGenericReturnType(); + if (t instanceof Class) + attributeType = ((Class) t).getName(); + else + attributeType = t.toString(); isRead = true; is = getter.getName().startsWith("is"); } diff --git a/libjava/classpath/javax/management/MBeanConstructorInfo.java b/libjava/classpath/javax/management/MBeanConstructorInfo.java index 832a3296d6b..15c8227c246 100644 --- a/libjava/classpath/javax/management/MBeanConstructorInfo.java +++ b/libjava/classpath/javax/management/MBeanConstructorInfo.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.management; import java.lang.reflect.Constructor; +import java.lang.reflect.Type; import java.util.Arrays; @@ -77,22 +78,29 @@ public class MBeanConstructorInfo public MBeanConstructorInfo(String desc, Constructor cons) { super(cons.getName(), desc); - Class[] paramTypes = cons.getParameterTypes(); + Type[] paramTypes = cons.getGenericParameterTypes(); signature = new MBeanParameterInfo[paramTypes.length]; for (int a = 0; a < paramTypes.length; ++a) - signature[a] = new MBeanParameterInfo(null, - paramTypes[a].getName(), - null); + { + Type t = paramTypes[a]; + if (t instanceof Class) + signature[a] = new MBeanParameterInfo(null, + ((Class) t).getName(), + null); + else + signature[a] = new MBeanParameterInfo(null, t.toString(), null); + } } /** * Constructs a @link{MBeanConstructorInfo} with the specified * name, description and parameter information. A null * value for the parameter information is the same as passing in - * an empty array. + * an empty array. A copy of the parameter array is taken, so + * later changes have no effect. * * @param name the name of the constructor. - * @param desc a description of the attribute. + * @param desc a description of the constructor. * @param sig the signature of the constructor, as a series * of {@link MBeanParameterInfo} objects, one for * each parameter. @@ -104,7 +112,10 @@ public class MBeanConstructorInfo if (sig == null) signature = new MBeanParameterInfo[0]; else - signature = sig; + { + signature = new MBeanParameterInfo[sig.length]; + System.arraycopy(sig, 0, signature, 0, sig.length); + } } /** diff --git a/libjava/classpath/javax/management/MBeanFeatureInfo.java b/libjava/classpath/javax/management/MBeanFeatureInfo.java index 4f0243e1894..74a03038740 100644 --- a/libjava/classpath/javax/management/MBeanFeatureInfo.java +++ b/libjava/classpath/javax/management/MBeanFeatureInfo.java @@ -79,7 +79,7 @@ public class MBeanFeatureInfo /** * The toString() result of this instance. */ - protected transient String string; + transient String string; /** * Constructs a new {@link MBeanFeatureInfo} with the specified diff --git a/libjava/classpath/javax/management/MBeanInfo.java b/libjava/classpath/javax/management/MBeanInfo.java index e6f03f0656e..d30de0499aa 100644 --- a/libjava/classpath/javax/management/MBeanInfo.java +++ b/libjava/classpath/javax/management/MBeanInfo.java @@ -140,7 +140,8 @@ public class MBeanInfo * can be loaded by the MBean server or class loader; it merely * has to be a syntactically correct class name. Any of the * arrays may be null; this will be treated as if - * an empty array was supplied. + * an empty array was supplied. A copy of the arrays is + * taken, so later changes have no effect. * * @param name the name of the class this instance describes. * @param desc a description of the bean. @@ -162,19 +163,31 @@ public class MBeanInfo if (attribs == null) attributes = new MBeanAttributeInfo[0]; else - attributes = attribs; + { + attributes = new MBeanAttributeInfo[attribs.length]; + System.arraycopy(attribs, 0, attributes, 0, attribs.length); + } if (cons == null) constructors = new MBeanConstructorInfo[0]; else - constructors = cons; + { + constructors = new MBeanConstructorInfo[cons.length]; + System.arraycopy(cons, 0, constructors, 0, cons.length); + } if (ops == null) operations = new MBeanOperationInfo[0]; else - operations = ops; + { + operations = new MBeanOperationInfo[ops.length]; + System.arraycopy(ops, 0, operations, 0, ops.length); + } if (notifs == null) notifications = new MBeanNotificationInfo[0]; else - notifications = notifs; + { + notifications = new MBeanNotificationInfo[notifs.length]; + System.arraycopy(notifs, 0, notifications, 0, notifs.length); + } } /** diff --git a/libjava/classpath/javax/management/MBeanOperationInfo.java b/libjava/classpath/javax/management/MBeanOperationInfo.java index a2db8d1b064..6495072e627 100644 --- a/libjava/classpath/javax/management/MBeanOperationInfo.java +++ b/libjava/classpath/javax/management/MBeanOperationInfo.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.management; import java.lang.reflect.Method; +import java.lang.reflect.Type; import java.util.Arrays; @@ -113,13 +114,23 @@ public class MBeanOperationInfo public MBeanOperationInfo(String desc, Method method) { super(method.getName(), desc); - Class[] paramTypes = method.getParameterTypes(); + Type[] paramTypes = method.getGenericParameterTypes(); signature = new MBeanParameterInfo[paramTypes.length]; for (int a = 0; a < paramTypes.length; ++a) - signature[a] = new MBeanParameterInfo(null, - paramTypes[a].getName(), - null); - type = method.getReturnType().getName(); + { + Type t = paramTypes[a]; + if (t instanceof Class) + signature[a] = new MBeanParameterInfo(null, + ((Class) t).getName(), + null); + else + signature[a] = new MBeanParameterInfo(null, t.toString(), null); + } + Type retType = method.getGenericReturnType(); + if (retType instanceof Class) + type = ((Class) retType).getName(); + else + type = retType.toString(); if (method.getReturnType() == Void.TYPE) { if (paramTypes.length == 0) @@ -140,7 +151,8 @@ public class MBeanOperationInfo * Constructs a @link{MBeanOperationInfo} with the specified name, * description, parameter information, return type and impact. A * null value for the parameter information is the same - * as passing in an empty array. + * as passing in an empty array. A copy of the parameter array is + * taken, so later changes have no effect. * * @param name the name of the constructor. * @param desc a description of the attribute. @@ -158,7 +170,10 @@ public class MBeanOperationInfo if (sig == null) signature = new MBeanParameterInfo[0]; else - signature = sig; + { + signature = new MBeanParameterInfo[sig.length]; + System.arraycopy(sig, 0, signature, 0, sig.length); + } this.type = type; this.impact = impact; } diff --git a/libjava/classpath/javax/management/MBeanPermission.java b/libjava/classpath/javax/management/MBeanPermission.java new file mode 100644 index 00000000000..2c8dfbd622d --- /dev/null +++ b/libjava/classpath/javax/management/MBeanPermission.java @@ -0,0 +1,562 @@ +/* MBeanPermission.java -- Permissions controlling server access. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.security.Permission; + +import java.io.IOException; +import java.io.ObjectInputStream; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeSet; + +/** + *

    + * Represents the permissions required to perform + * operations using the {@link MBeanServer}. As with + * all {@link java.security.Permission} objects, an + * instance of this class either represents a permission + * already held or one that is required to access a + * particular service. In the case of {@link MBeanPermission}s, + * implication checks are made using an instance of this class + * when a user requests an operation from the server, and a + * {@link SecurityManager} is in place. + *

    + *

    + * An {@link MBeanPermission} consists of four elements, + * which all have to match for the permission to be implied. + * These are as follows: + *

    + *
      + *
    1. The action. For a required permission, + * this is a single value. For a permission held by the user, + * this is a list of comma-separated actions (with spaces allowed), + * or * (representing all actions). {@link #getActions()} + * returns this value.
    2. + *
    3. The class name. For a required permission, + * this is the class name of the bean being accessed, if any. If + * a bean isn't involved in this action, the value is null. + * For a permission held by the user, it has one of three values: + *
        + *
      1. The empty string, implying any class.
      2. + *
      3. *, also implying any class.
      4. + *
      5. A class name pattern, which may specify a single class + * (e.g. java.lang.Object) or a series of classes + * using the wildcard character * (e.g. + * javax.swing.*.)
      6. + *
    4. + *
    5. The member. For a required permission, + * this is the member of the bean being accessed (an attribute + * or operation), if any. If a member of the bean isn't involved + * in this action, the value is null. + * For a permission held by the user, it has one of three values: + *
        + *
      1. The empty string, implying any member.
      2. + *
      3. *, also implying any member.
      4. + *
      5. The name of a member.
      6. + *
    6. + *
    7. The object name. For a required permission, + * this is the {@link ObjectName} of the bean being accessed, if + * any. If a bean isn't involved in this action, the value is + * null. The name may not be a pattern. + * For a permission held by the user, it may be the empty + * string (allowing everything) or an {@link ObjectName} + * pattern. + *
    + * {@link #getName()} returns the latter three of these as a + * single string: + *

    + *

    className#member[objectName]

    + *

    + * where "" is disallowed, as, although any of + * the elements may be omitted, not all of them should be + * left out simultaneously. "-" is used to + * represent null. When this occurs in a + * required permission, anything may match it. When this + * forms part of a permission held by the user, it only + * matches another null value. + *

    + *

    The list of valid actions is as follows:

    + *
      + *
    • addNotificationListener
    • + *
    • getAttribute
    • + *
    • getClassLoader
    • + *
    • getClassLoaderFor
    • + *
    • getClassLoaderRepository
    • + *
    • getDomains
    • + *
    • getMBeanInfo
    • + *
    • getObjectInstance
    • + *
    • instantiate
    • + *
    • invoke
    • + *
    • isInstanceOf
    • + *
    • queryMBeans
    • + *
    • queryNames
    • + *
    • registerMBean
    • + *
    • removeNotificationListener
    • + *
    • setAttribute
    • + *
    • unregisterMBean
    • + *
    + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanPermission + extends Permission +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -2416928705275160661L; + + /** + * The list of actions associated with this permission. + */ + private String actions; + + /** + * The list of actions as an ordered set. + */ + private transient Set actionSet; + + /** + * The set of valid actions. + */ + private static final Set validSet; + + /** + * Initialise the set of valid actions. + */ + static + { + validSet = new HashSet(); + validSet.add("addNotificationListener"); + validSet.add("getAttribute"); + validSet.add("getClassLoader"); + validSet.add("getClassLoaderFor"); + validSet.add("getClassLoaderRepository"); + validSet.add("getDomains"); + validSet.add("getMBeanInfo"); + validSet.add("getObjectInstance"); + validSet.add("instantiate"); + validSet.add("invoke"); + validSet.add("isInstanceOf"); + validSet.add("queryMBeans"); + validSet.add("queryNames"); + validSet.add("registerMBean"); + validSet.add("removeNotificationListener"); + validSet.add("setAttribute"); + validSet.add("unregisterMBean"); + } + + /** + * Constructs a new {@link MBeanPermission} with the specified name + * and actions. The name is of the form className#member[objectName], + * where each element is optional, but a completely empty or null + * name is disallowed. Actions are specified as a comma-separated list + * and may also not be empty or null. + * + * @param name the name of the permission. + * @param actions the actions associated with this permission. + * @throws IllegalArgumentException if the name or actions are invalid. + */ + public MBeanPermission(String name, String actions) + { + super(name); + if (name == null || name.length() == 0) + throw new IllegalArgumentException("The supplied name was null or empty."); + if (actions == null || actions.length() == 0) + throw new IllegalArgumentException("The supplied action list was null or empty."); + this.actions = actions; + updateActionSet(); + } + + /** + * Constructs a new {@link MBeanPermission} with the specified class name, + * member, object name and actions. The name of the permission is created + * using the form className#member[objectName], + * where each element is optional, but an empty or null + * name is disallowed. Actions are specified as a comma-separated list + * and may also not be empty or null. + * + * @param className the name of the class to which this permission applies, + * or either null or "-" for a + * value which may be implied by any class name, but not + * imply any class name itself. + * @param member the member of the class to which this permission applies, + * or either null or "-" for a + * value which may be implied by any member, but not + * imply any member itself. + * @param objectName the {@link ObjectName} to which this permission applies, + * or null for a value which may be implied by + * any object name, but not imply any object name itself. + * @param actions the actions associated with this permission. + */ + public MBeanPermission(String className, String member, + ObjectName name, String actions) + { + this((className == null ? "-" : className) + "#" + + (member == null ? "-" : member) + "[" + + (name == null ? "-" : name.toString()) + "]", actions); + } + + /** + * Returns true if the given object is also an {@link MBeanPermission} + * with the same name and actions. + * + * @param obj the object to test. + * @return true if the object is an {@link MBeanPermission} with + * the same name and actions. + */ + public boolean equals(Object obj) + { + if (obj instanceof MBeanPermission) + { + MBeanPermission p = (MBeanPermission) obj; + return (p.getName().equals(getName()) && + p.getActions().equals(actions)); + } + return false; + } + + /** + * Returns the list of actions in alphabetical order. + * + * @return the list of actions. + */ + public String getActions() + { + Iterator it = actionSet.iterator(); + StringBuilder builder = new StringBuilder(); + while (it.hasNext()) + { + builder.append(it.next()); + if (it.hasNext()) + builder.append(","); + } + return builder.toString(); + } + + /** + * Returns the hashcode of the permission as the sum + * of the hashcodes of the name and actions. + * + * @return the hashcode of the permission. + */ + public int hashCode() + { + return getName().hashCode() + actions.hashCode(); + } + + /** + *

    + * Returns true if this permission implies the supplied permission. + * This happens if the following holds: + *

    + *
      + *
    • The supplied permission is an {@link MBeanPermission}
    • + *
    • The supplied permission has either a null classname + * or its classname matches the classname of this permission. A + * classname of "*" for this permission always matches + * the classname of the supplied permission. Generally, '*' + * acts as a wildcard, so ".*" matches '.' + * followed by anything.
    • + *
    • The supplied permission has either a null member + * or its member matches the member of this permission. A member of + * "*" for this permission always matches the member + * of the supplied permission.
    • + *
    • The supplied permission has either a null object name + * or its object name matches the object name of this permission. If the + * object name of this permission is a pattern, {@link ObjectName#apply(ObjectName)} + * may be used as well.
    • + *
    • The supplied permission's actions are a subset of the actions + * of this permission. If the queryMBeans action is presented, + * the queryNames action is implied.
    • + *
    + * + * @param p the permission to check that this permission implies. + * @return true if this permission implies p. + */ + public boolean implies(Permission p) + { + if (p instanceof MBeanPermission) + { + MBeanPermission mp = (MBeanPermission) p; + NameHolder pName = new NameHolder(mp.getName()); + NameHolder name = new NameHolder(getName()); + if (!(name.equals(pName))) + return false; + Iterator i = mp.getActionSet().iterator(); + while (i.hasNext()) + { + String nextAction = (String) i.next(); + boolean found = actions.contains(nextAction); + if (!found) + if (nextAction.equals("queryNames")) + found = actions.contains("queryMBeans"); + if (!found) + return false; + } + return true; + } + return false; + } + + /** + * Small helper class to handle deconstruction of the name. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private class NameHolder + { + + /** + * The class name. + */ + private String className; + + /** + * The member. + */ + private String member; + + /** + * The object name. + */ + private ObjectName objectName; + + /** + * Constructs a broken-down name from a given name. + * + * @param name the name to break down. + */ + public NameHolder(String name) + { + String objectName = null; + int memberIndex = name.indexOf("#"); + int onIndex = name.indexOf("["); + if (onIndex == -1) + { + if (memberIndex == -1) + className = name; + else + { + className = name.substring(0, memberIndex); + member = name.substring(memberIndex + 1); + } + } + else + { + if (memberIndex == -1) + { + className = name.substring(0, onIndex); + objectName = name.substring(onIndex + 1, + name.length() - 1); + } + else + { + className = name.substring(0, memberIndex); + member = name.substring(memberIndex + 1, onIndex); + objectName = name.substring(onIndex + 1, + name.length() - 1); + } + } + if (className.equals("-")) + className = null; + if (member.equals("-")) + member = null; + if (objectName == null || objectName.equals("-")) + this.objectName = null; + else + try + { + this.objectName = new ObjectName(objectName); + } + catch (MalformedObjectNameException e) + { + throw (Error) + (new InternalError("Invalid object name.").initCause(e)); + } + } + + /** + *

    + * Returns true if the supplied object is also a + * {@link NameHolder} and the following holds: + *

    + *
      + *
    • The supplied classname is null or the two match. A + * classname of "*" for this holder always matches + * the classname of the supplied holder. Generally, '*' + * acts as a wildcard, so ".*" matches '.' + * followed by anything.
    • + *
    • The supplied name holder has either a null member + * or its member matches the member of this name holder. A member of + * "*" for this name holder always matches the member + * of the supplied name holder.
    • + *
    • The supplied name holder has either a null object name + * or its object name matches the object name of this name holder. If the + * object name of this name holder is a pattern, + * {@link ObjectName#apply(ObjectName)} may be used as well.
    • + *
    + * + * @param obj the object to compare with this. + * @return true if the above holds. + */ + public boolean equals(Object obj) + { + if (obj instanceof NameHolder) + { + NameHolder nh = (NameHolder) obj; + boolean cn = false; + String ocn = nh.getClassName(); + if (ocn == null || className.equals("*")) + cn = true; + else + { + int wcIndex = className.indexOf("*"); + if (wcIndex != -1) + cn = ocn.startsWith(className.substring(0, wcIndex)); + else + cn = ocn.equals(className); + } + boolean m = false; + String om = nh.getMember(); + if (om == null || member.equals("*")) + m = true; + else + m = om.equals(member); + boolean on = false; + ObjectName oon = nh.getObjectName(); + if (oon == null) + on = true; + else if (objectName.isPattern()) + on = objectName.apply(oon); + else + on = oon.equals(objectName); + return (cn && m && on); + } + return false; + } + + /** + * Returns the class name. + */ + public String getClassName() + { + return className; + } + + /** + * Returns the member. + */ + public String getMember() + { + return member; + } + + /** + * Returns the object name. + */ + public ObjectName getObjectName() + { + return objectName; + } + } + + /** + * Returns the set of actions. + * + * @return the actions as an ordered set. + */ + Set getActionSet() + { + return actionSet; + } + + /** + * Updates the action set from the current value of + * the actions string. + */ + private void updateActionSet() + { + String[] actionsArray = actions.split(","); + actionSet = new TreeSet(); + for (int a = 0; a < actionsArray.length; ++a) + actionSet.add(actionsArray[a].trim()); + } + + /** + * Reads the object from a stream and ensures the incoming + * data is valid. + * + * @param in the input stream. + * @throws IOException if an I/O error occurs. + * @throws ClassNotFoundException if a class used by the object + * can not be found. + */ + private void readObject(ObjectInputStream in) + throws IOException, ClassNotFoundException + { + in.defaultReadObject(); + updateActionSet(); + checkActions(); + } + + /** + * Checks that the actions used in this permission + * are from the valid set. + * + * @throws IllegalArgumentException if the name or actions are invalid. + */ + private void checkActions() + { + Iterator it = actionSet.iterator(); + while (it.hasNext()) + { + String action = (String) it.next(); + if (!(validSet.contains(action))) + throw new IllegalArgumentException("Invalid action " + + action + " found."); + } + } + +} + diff --git a/libjava/classpath/javax/management/MBeanRegistration.java b/libjava/classpath/javax/management/MBeanRegistration.java new file mode 100644 index 00000000000..5a181ca4921 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanRegistration.java @@ -0,0 +1,95 @@ +/* MBeanRegistration.java -- Interface for beans to hook into registration. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Beans may implement this interface in order to perform + * operations immediately prior to or after their registration + * or deregistration. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface MBeanRegistration +{ + + /** + * This method is called following deregistration of the bean + * by the server. + */ + void postDeregister(); + + /** + * This method is called following both successful and unsuccessful + * attempts to register the bean. The supplied boolean value indicates + * the result of the attempt relative to this call. + * + * @param successful true if the registration was successful. + */ + void postRegister(Boolean successful); + + /** + * This method is called prior to de-registration, and may throw + * an exception. + * + * @throws Exception if something goes wrong during the bean's pre-deregistration + * operation. The server will re-throw this exception + * as an {@link MBeanRegistrationException}. + */ + void preDeregister() + throws Exception; + + /** + * This method is called prior to registration, with a reference to the + * server and {@link ObjectName} supplied to the server for registration. + * This method may be used to replace this name by one chosen by the bean. + * Such behaviour is expected if the supplied name is null, + * but may occur in all cases. The method may throw an exception, which + * will cause registration to be aborted. + * + * @param server the server with which the bean is being registered. + * @param name the name the server was supplied with for registration, + * which may be null. + * @throws Exception if something goes wrong during the bean's pre-registration + * operation. The server will re-throw this exception + * as an {@link MBeanRegistrationException}. + */ + ObjectName preRegister(MBeanServer server, ObjectName name) + throws Exception; + +} diff --git a/libjava/classpath/javax/management/MBeanRegistrationException.java b/libjava/classpath/javax/management/MBeanRegistrationException.java new file mode 100644 index 00000000000..9f62b9aa04f --- /dev/null +++ b/libjava/classpath/javax/management/MBeanRegistrationException.java @@ -0,0 +1,84 @@ +/* MBeanRegistrationException.java -- A bean registration exception. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Represents an arbitrary exception thrown during registration of a + * management bean. When registering a bean causes an exception to be + * thrown, the resulting exception is wrapped inside an {@link + * MBeanRegistrationException}. Calling {@link getTargetException()} + * will return the wrapped exception. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanRegistrationException + extends MBeanException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 4482382455277067805L; + + /** + * Constructs a new MBeanRegistrationException wrapping + * the specified exception. + * + * @param e the exception to be wrapped. + */ + public MBeanRegistrationException(Exception e) + { + super(e); + } + + /** + * Constructs a new MBeanRegistrationException wrapping + * the specified exception and using the supplied message. + * + * @param e the exception to be wrapped. + * @param message the error message to give to the user. + */ + public MBeanRegistrationException(Exception e, String message) + { + super(e, message); + } + + +} + diff --git a/libjava/classpath/javax/management/MBeanServer.java b/libjava/classpath/javax/management/MBeanServer.java new file mode 100644 index 00000000000..73a28e3b85a --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServer.java @@ -0,0 +1,1199 @@ +/* MBeanServer.java -- Represents a management server. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.io.ObjectInputStream; + +import java.util.Set; + +import javax.management.loading.ClassLoaderRepository; + +/** + *

    + * This interface represents a server for management beans, + * providing facilities for the creation, registration and + * removal of such beans. This interface is central to the + * Java management architecture. Users do not usually implement + * this class. Instead, implementations of this class + * may be obtained using an {@link MBeanServerFactory}. + *

    + *

    + * Registering a bean with the server makes its attributes and + * operations accessible via the server. Only JMX compliant + * beans may be registered with the server. When a bean + * is registered or unregistered, an {@link MBeanServerNotification} + * is emitted by the server's {@link MBeanServerDelegate}. + * Listeners may be registered with this bean in order to + * obtain such notifications. It has the {@link ObjectName} + * JMImplementation:type=MBeanServerDelegate. + *

    + *

    + * Security checks are applied on the methods of the server, + * as detailed below, if it is obtained using the + * {@link MBeanServerFactory#createMBeanServer()} or + * {@link MBeanServerFactory#newMBeanServer()} methods and + * {@link System.getSecurityManager()} returns a non-null + * value. If a check fails, a {@link SecurityException} + * is thrown. Note than the class name used in the exception + * is that of the bean, and thus, as a result, an + * {@link InstanceNotFoundException} + * precludes these security checks, due to the class name + * that would be used in the exception being unavailable. + *

    + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface MBeanServer + extends MBeanServerConnection +{ + + /** + * Registers the supplied listener with the specified management + * bean. Notifications emitted by the management bean are forwarded + * to the listener via the server, which will convert any MBean + * references in the source to portable {@link ObjectName} + * instances. The notification is otherwise unchanged. + * + * @param name the name of the management bean with which the listener + * should be registered. + * @param listener the listener which will handle notifications from + * the bean. + * @param filter the filter to apply to incoming notifications, or + * null if no filtering should be applied. + * @param passback an object to be passed to the listener when a + * notification is emitted. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "addNotificationListener")}. + * @see #removeNotificationListener(ObjectName, NotificationListener) + * @see #removeNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationBroadcaster#addNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void addNotificationListener(ObjectName name, NotificationListener listener, + NotificationFilter filter, Object passback) + throws InstanceNotFoundException; + + /** + *

    + * Registers the supplied listener with the specified management + * bean. Notifications emitted by the management bean are forwarded + * to the listener via the server, which will convert any MBean + * references in the source to portable {@link ObjectName} + * instances. The notification is otherwise unchanged. + *

    + *

    + * The listener that receives notifications will be the one that is + * registered with the given name at the time this method is called. + * Even if it later unregisters and ceases to use that name, it will + * still receive notifications. + *

    + * + * @param name the name of the management bean with which the listener + * should be registered. + * @param listener the name of the listener which will handle + * notifications from the bean. + * @param filter the filter to apply to incoming notifications, or + * null if no filtering should be applied. + * @param passback an object to be passed to the listener when a + * notification is emitted. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + * @throws RuntimeOperationsException if the bean associated with the given + * object name is not a + * {@link NotificationListener}. This + * exception wraps an + * {@link IllegalArgumentException}. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "addNotificationListener")}. + * @see #removeNotificationListener(ObjectName, NotificationListener) + * @see #removeNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationBroadcaster#addNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void addNotificationListener(ObjectName name, ObjectName listener, + NotificationFilter filter, Object passback) + throws InstanceNotFoundException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the default constructor and registers it with the server + * under the supplied name. The class is loaded using the + * {@link javax.management.loading.ClassLoaderRepository default + * loader repository} of the server. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + *

    + * This method is equivalent to calling {@link + * #createMBean(String, ObjectName, Object[], String[]) + * createMBean(className, name, (Object[]) null, + * (String[]) null)} with null parameters + * and signature. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + * @see #createMBean(String, ObjectName, Object[], String[]) + */ + ObjectInstance createMBean(String className, ObjectName name) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the given constructor and registers it with the server + * under the supplied name. The class is loaded using the + * {@link javax.management.loading.ClassLoaderRepository default + * loader repository} of the server. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param params the parameters for the bean's constructor. + * @param sig the signature of the constructor to use. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + */ + ObjectInstance createMBean(String className, ObjectName name, + Object[] params, String[] sig) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the default constructor and registers it with the server + * under the supplied name. The class is loaded using the + * given class loader. If this argument is null, + * then the same class loader as was used to load the server + * is used. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + *

    + * This method is equivalent to calling {@link + * #createMBean(String, ObjectName, ObjectName, Object[], String) + * createMBean(className, name, loaderName, (Object[]) null, + * (String) null)} with null parameters + * and signature. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param loaderName the name of the class loader. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + * @see #createMBean(String, ObjectName, ObjectName, Object[], String[]) + */ + ObjectInstance createMBean(String className, ObjectName name, + ObjectName loaderName) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, InstanceNotFoundException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the given constructor and registers it with the server + * under the supplied name. The class is loaded using the + * given class loader. If this argument is null, + * then the same class loader as was used to load the server + * is used. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param loaderName the name of the class loader. + * @param params the parameters for the bean's constructor. + * @param sig the signature of the constructor to use. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply the + * use of the instantiate + * and registerMBean methods. + */ + ObjectInstance createMBean(String className, ObjectName name, + ObjectName loaderName, Object[] params, + String[] sig) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, InstanceNotFoundException; + + /** + * Deserializes a byte array using the class loader of the specified + * management bean as its context. + * + * @param name the name of the bean whose class loader should be used. + * @param data the byte array to be deserialized. + * @return the deserialized object stream. + * @deprecated {@link #getClassLoaderFor(ObjectName)} should be used + * to obtain the class loader of the bean, which can then + * be used to perform deserialization in the user's code. + * @throws InstanceNotFoundException if the specified bean is not + * registered with the server. + * @throws OperationsException if any I/O error is thrown by the + * deserialization process. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getClassLoaderFor") + */ + ObjectInputStream deserialize(ObjectName name, byte[] data) + throws InstanceNotFoundException, OperationsException; + + /** + * Deserializes a byte array using the same class loader for its context + * as was used to load the given class. This class loader is obtained by + * loading the specified class using the {@link + * javax.management.loading.ClassLoaderRepository Class Loader Repository} + * and then using the class loader of the resulting {@link Class} instance. + * + * @param name the name of the class which should be loaded to obtain the + * class loader. + * @param data the byte array to be deserialized. + * @return the deserialized object stream. + * @deprecated {@link #getClassLoaderRepository} should be used + * to obtain the class loading repository, which can then + * be used to obtain the {@link Class} instance and deserialize + * the array using its class loader. + * @throws OperationsException if any I/O error is thrown by the + * deserialization process. + * @throws ReflectionException if an error occurs in obtaining the + * {@link Class} instance. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, null, + * "getClassLoaderRepository") + */ + ObjectInputStream deserialize(String name, byte[] data) + throws OperationsException, ReflectionException; + + /** + * Deserializes a byte array using the same class loader for its context + * as was used to load the given class. The name of the class loader to + * be used is supplied, and may be null if the server's + * class loader should be used instead. + * + * @param name the name of the class which should be loaded to obtain the + * class loader. + * @param loader the name of the class loader to use, or null + * if the class loader of the server should be used. + * @param data the byte array to be deserialized. + * @return the deserialized object stream. + * @deprecated {@link #getClassLoader(ObjectName} can be used to obtain + * the named class loader and deserialize the array. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws OperationsException if any I/O error is thrown by the + * deserialization process. + * @throws ReflectionException if an error occurs in obtaining the + * {@link Class} instance. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, loader, + * "getClassLoader") + */ + ObjectInputStream deserialize(String name, ObjectName loader, byte[] data) + throws InstanceNotFoundException, ReflectionException, + OperationsException; + + /** + * Returns the value of the supplied attribute from the specified + * management bean. + * + * @param bean the bean to retrieve the value from. + * @param name the name of the attribute to retrieve. + * @return the value of the attribute. + * @throws AttributeNotFoundException if the attribute could not be + * accessed from the bean. + * @throws MBeanException if the management bean's accessor throws + * an exception. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception was thrown in trying + * to invoke the bean's accessor. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, name, bean, + * "getAttribute")}. + * @see DynamicMBean#getAttribute(String) + */ + Object getAttribute(ObjectName bean, String name) + throws MBeanException, AttributeNotFoundException, + InstanceNotFoundException, ReflectionException; + + /** + * Returns the values of the named attributes from the specified + * management bean. + * + * @param bean the bean to retrieve the value from. + * @param names the names of the attributes to retrieve. + * @return the values of the attributes. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception was thrown in trying + * to invoke the bean's accessor. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, bean, + * "getAttribute")}. Additionally, + * for an attribute name, n, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, n, bean, + * "getAttribute")} or that attribute will + * not be included. + * + * @see DynamicMBean#getAttributes(String[]) + */ + AttributeList getAttributes(ObjectName bean, String[] names) + throws InstanceNotFoundException, ReflectionException; + + /** + * Returns the specified class loader. If the specified value is + * null, then the class loader of the server will be + * returned. If l is the requested class loader, + * and r is the actual class loader returned, then + * either l and r will be identical, + * or they will at least return the same class from + * {@link ClassLoader#loadClass(String)} for any given string. + * They may not be identical due to one or the other + * being wrapped in another class loader (e.g. for security). + * + * @param name the name of the class loader to return. + * @return the class loader. + * @throws InstanceNotFoundException if the class loader can not + * be found. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getClassLoader") + */ + ClassLoader getClassLoader(ObjectName name) + throws InstanceNotFoundException; + + /** + * Returns the class loader of the specified management bean. If + * l is the requested class loader, and r + * is the actual class loader returned, then either l + * and r will be identical, or they will at least + * return the same class from {@link ClassLoader#loadClass(String)} + * for any given string. They may not be identical due to one or + * the other being wrapped in another class loader (e.g. for + * security). + * + * @param name the name of the bean whose class loader should be + * returned. + * @return the class loader. + * @throws InstanceNotFoundException if the bean is not registered + * with the server. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getClassLoaderFor") + */ + ClassLoader getClassLoaderFor(ObjectName name) + throws InstanceNotFoundException; + + /** + * Returns the class loader repository used by this server. + * + * @return the class loader repository. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, null, + * "getClassLoaderRepository") + */ + ClassLoaderRepository getClassLoaderRepository(); + + /** + * Returns the default domain this server applies to beans that have + * no specified domain. + * + * @return the default domain. + */ + String getDefaultDomain(); + + /** + * Returns an array containing all the domains used by beans registered + * with this server. The ordering of the array is undefined. + * + * @return the list of domains. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, name, + * "getDomains")}. Additionally, + * for an domain, d, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, + * new ObjectName("d:x=x"), "getDomains")} + * or that domain will not be included. Note + * that "x=x" is an arbitrary key-value pair + * provided to satisfy the constructor. + * @see ObjectName#getDomain() + */ + String[] getDomains(); + + /** + * Returns the number of management beans registered with this server. + * This may be less than the real number if the caller's access is + * restricted. + * + * @return the number of registered beans. + */ + Integer getMBeanCount(); + + /** + * Returns information on the given management bean. + * + * @param name the name of the management bean. + * @return an instance of {@link MBeanInfo} for the bean. + * @throws IntrospectionException if an exception occurs in examining + * the bean. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception occurs when trying + * to invoke {@link DynamicMBean#getMBeanInfo()} + * on the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getMBeanInfo")}. + * @see DynamicMBean#getMBeanInfo() + */ + MBeanInfo getMBeanInfo(ObjectName name) + throws InstanceNotFoundException, IntrospectionException, + ReflectionException; + + /** + * Returns the {@link ObjectInstance} created for the specified + * management bean on registration. + * + * @param name the name of the bean. + * @return the corresponding {@link ObjectInstance} instance. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "getObjectInstance") + * @see #createMBean(String, ObjectName) + */ + ObjectInstance getObjectInstance(ObjectName name) + throws InstanceNotFoundException; + + /** + *

    + * Creates an instance of the specified class using the list of + * class loaders from the {@link + * javax.management.loading.ClassLoaderRepository Class Loader + * Repository}. The class should have a public constructor + * with no arguments. A reference to the new instance is returned, + * but the instance is not yet registered with the server. + *

    + *

    + * This method is equivalent to calling {@link + * #instantiate(String, Object[], String[]) + * instantiate(name, (Object[]) null, (String[]) null)} + * with null parameters and signature. + *

    + * + * @param name the name of the class of bean to be instantiated. + * @return an instance of the given class. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + * @see #instantiate(String, Object[], String[]) + */ + Object instantiate(String name) + throws ReflectionException, MBeanException; + + /** + * Creates an instance of the specified class using the list of + * class loaders from the {@link + * javax.management.loading.ClassLoaderRepository Class Loader + * Repository}. The class should have a public constructor + * matching the supplied signature. A reference to the new + * instance is returned, but the instance is not yet + * registered with the server. + * + * @param name the name of the class of bean to be instantiated. + * @param params the parameters for the constructor. + * @param sig the signature of the constructor. + * @return an instance of the given class. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + */ + Object instantiate(String name, Object[] params, String[] sig) + throws ReflectionException, MBeanException; + + /** + *

    + * Creates an instance of the specified class using the supplied + * class loader. If the class loader given is null, + * then the class loader of the server will be used. The class + * should have a public constructor with no arguments. A reference + * to the new instance is returned, but the instance is not yet + * registered with the server. + *

    + *

    + * This method is equivalent to calling {@link + * #instantiate(String, ObjectName, Object[], String[]) + * instantiate(name, loaderName, (Object[]) null, + * (String[]) null)} with null parameters + * and signature. + *

    + * + * @param name the name of the class of bean to be instantiated. + * @param loaderName the name of the class loader to use. + * @return an instance of the given class. + * @throws InstanceNotFoundException if the class loader is not + * registered with the server. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + * @see #instantiate(String, Object[], String[]) + */ + Object instantiate(String name, ObjectName loaderName) + throws InstanceNotFoundException, ReflectionException, + MBeanException; + + /** + * Creates an instance of the specified class using the supplied + * class loader. If the class loader given is null, + * then the class loader of the server will be used. The class + * should have a public constructor matching the supplied + * signature. A reference to the new instance is returned, + * but the instance is not yet registered with the server. + * + * @param name the name of the class of bean to be instantiated. + * @param loaderName the name of the class loader to use. + * @param params the parameters for the constructor. + * @param sig the signature of the constructor. + * @return an instance of the given class. + * @throws InstanceNotFoundException if the class loader is not + * registered with the server. + * @throws ReflectionException if an exception is thrown during + * loading the class or calling the + * constructor. + * @throws MBeanException if the constructor throws an exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, null, + * "instantiate")}. + */ + Object instantiate(String name, ObjectName loaderName, + Object[] params, String[] sig) + throws InstanceNotFoundException, ReflectionException, + MBeanException; + + /** + * Invokes the supplied operation on the specified management + * bean. The class objects specified in the signature are loaded + * using the same class loader as was used for the management bean. + * + * @param bean the management bean whose operation should be invoked. + * @param name the name of the operation to invoke. + * @param params the parameters of the operation. + * @param sig the signature of the operation. + * @return the return value of the method. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws MBeanException if the method invoked throws an exception. + * @throws ReflectionException if an exception is thrown in invoking the + * method. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, name, bean, + * "invoke")}. + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + Object invoke(ObjectName bean, String name, Object[] params, String[] sig) + throws InstanceNotFoundException, MBeanException, + ReflectionException; + + /** + *

    + * Returns true if the specified management bean is an instance + * of the supplied class. + *

    + *

    + * A bean, B, is an instance of a class, C, if either of the following + * conditions holds: + *

    + *
      + *
    • The class name in B's {@link MBeanInfo} is equal to the supplied + * name.
    • + *
    • Both the class of B and C were loaded by the same class loader, + * and B is assignable to C.
    • + *
    + * + * @param name the name of the management bean. + * @param className the name of the class to test if name is + * an instance of. + * @return true if either B is directly an instance of the named class, + * or B is assignable to the class, given that both it and B's + * current class were loaded using the same class loader. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "isInstanceOf") + */ + boolean isInstanceOf(ObjectName name, String className) + throws InstanceNotFoundException; + + /** + * Returns true if the specified management bean is registered with + * the server. + * + * @param name the name of the management bean. + * @return true if the bean is registered. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean name. + */ + boolean isRegistered(ObjectName name); + + /** + *

    + * Returns a set of {@link ObjectInstance}s matching the specified + * criteria. The full set of beans registered with the server + * are passed through two filters: + *

    + *
      + *
    1. Pattern matching is performed using the supplied + * {@link ObjectName}.
    2. + *
    3. The supplied query expression is applied.
    4. + *
    + *

    + * If both the object name and the query expression are null, + * or the object name has no domain and no key properties, + * no filtering will be performed and all beans are returned. + *

    + * + * @param name an {@link ObjectName} to use as a filter. + * @param query a query expression to apply to each of the beans that match + * the given object name. + * @return a set of {@link ObjectInstance}s matching the filtered beans. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, name, + * "queryMBeans")}. Additionally, + * for an bean, b, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, b, name, + * "queryMBeans")} or that bean will + * not be included. Such an exception may also + * arise from the execution of the query, in which + * case that particular bean will again be excluded. + */ + Set queryMBeans(ObjectName name, QueryExp query); + + /** + *

    + * Returns a set of {@link ObjectName}s matching the specified + * criteria. The full set of beans registered with the server + * are passed through two filters: + *

    + *
      + *
    1. Pattern matching is performed using the supplied + * {@link ObjectName}.
    2. + *
    3. The supplied query expression is applied.
    4. + *
    + *

    + * If both the object name and the query expression are null, + * or the object name has no domain and no key properties, + * no filtering will be performed and all beans are returned. + *

    + * + * @param name an {@link ObjectName} to use as a filter. + * @param query a query expression to apply to each of the beans that match + * the given object name. + * @return a set of {@link ObjectName}s matching the filtered beans. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, name, + * "queryNames")}. Additionally, + * for an name, n, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, n, name, + * "queryNames")} or that name will + * not be included. Such an exception may also + * arise from the execution of the query, in which + * case that particular bean will again be excluded. + * Note that these permissions are implied if the + * queryMBeans permissions are available. + */ + Set queryNames(ObjectName name, QueryExp query); + + /** + * Registers the supplied instance with the server, using the specified + * {@link ObjectName}. If the name given is null, then + * the bean supplied is expected to implement the {@link MBeanRegistration} + * interface and provide the name via the + * {@link MBeanRegistration#preRegister preRegister} method + * of this interface. + * + * @param obj the object to register with the server. + * @param name the name under which to register the object, + * or null if the {@link MBeanRegistration} + * interface should be used. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null object. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "registerMBean")}. className + * here corresponds to the result of + * {@link MBeanInfo#getClassName()} for objects of + * this class. If this check succeeds, a check + * is also made on its + * {@link java.security.ProtectionDomain} to ensure + * it implies {@link MBeanTrustPermission(String) + * MBeanTrustPermission("register")}. + * The use of the {@link MBeanRegistration} interface + * results in another {@link MBeanPermission} check + * being made on the returned {@link ObjectName}. + */ + ObjectInstance registerMBean(Object obj, ObjectName name) + throws InstanceAlreadyExistsException, MBeanRegistrationException, + NotCompliantMBeanException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. This includes all + * combinations of filters and passback objects registered for + * this listener. For more specific removal of listeners, see + * {@link #removeNotificationListener(ObjectName, + * NotificationListener,NotificationFilter,Object)} + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the listener to remove. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see NotificationBroadcaster#removeNotificationListener(NotificationListener) + */ + void removeNotificationListener(ObjectName name, + NotificationListener listener) + throws InstanceNotFoundException, ListenerNotFoundException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(ObjectName, NotificationListener)}. + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationEmitter#removeNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void removeNotificationListener(ObjectName name, + NotificationListener listener, + NotificationFilter filter, + Object passback) + throws InstanceNotFoundException, ListenerNotFoundException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. This includes all + * combinations of filters and passback objects registered for + * this listener. For more specific removal of listeners, see + * {@link #removeNotificationListener(ObjectName, + * ObjectName,NotificationFilter,Object)} + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the name of the listener to remove. + * @throws InstanceNotFoundException if a name doesn't match a registered + * bean. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see NotificationBroadcaster#removeNotificationListener(NotificationListener) + */ + void removeNotificationListener(ObjectName name, ObjectName listener) + throws InstanceNotFoundException, ListenerNotFoundException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(ObjectName, ObjectName)}. + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the name of the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws InstanceNotFoundException if a name doesn't match a registered + * bean. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "removeNotificationListener")}. + * @see #addNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationEmitter#removeNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void removeNotificationListener(ObjectName name, + ObjectName listener, + NotificationFilter filter, + Object passback) + throws InstanceNotFoundException, ListenerNotFoundException; + + /** + * Sets the value of the specified attribute of the supplied + * management bean. + * + * @param name the name of the management bean. + * @param attribute the attribute to set. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws AttributeNotFoundException if the attribute does not + * correspond to an attribute + * of the bean. + * @throws InvalidAttributeValueException if the value is invalid + * for this particular + * attribute of the bean. + * @throws MBeanException if setting the attribute causes + * the bean to throw an exception (which + * becomes the cause of this exception). + * @throws ReflectionException if an exception occurred in trying + * to use the reflection interface + * to lookup the attribute. The + * thrown exception is the cause of + * this exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, name, bean, + * "setAttribute")}. + * @see #getAttribute(ObjectName, String) + * @see DynamicMBean#setAttribute(Attribute) + */ + void setAttribute(ObjectName name, Attribute attribute) + throws InstanceNotFoundException, AttributeNotFoundException, + InvalidAttributeValueException, MBeanException, + ReflectionException; + + /** + * Sets the value of each of the specified attributes + * of the supplied management bean to that specified by + * the {@link Attribute} object. The returned list contains + * the attributes that were set and their new values. + * + * @param name the name of the management bean. + * @param attributes the attributes to set. + * @return a list of the changed attributes. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception occurred in trying + * to use the reflection interface + * to lookup the attribute. The + * thrown exception is the cause of + * this exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * list. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, bean, + * "setAttribute")}. Additionally, + * for an attribute name, n, the + * caller's permission must imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, n, bean, + * "setAttribute")} or that attribute will + * not be included. + * @see #getAttributes(ObjectName, String[]) + * @see DynamicMBean#setAttributes(AttributeList) + */ + AttributeList setAttributes(ObjectName name, AttributeList attributes) + throws InstanceNotFoundException, ReflectionException; + + /** + * Unregisters the specified management bean. Following this operation, + * the bean instance is no longer accessible from the server via this + * name. Prior to unregistering the bean, the + * {@link MBeanRegistration#preDeregister()} method will be called if + * the bean implements the {@link MBeanRegistration} interface. + * + * @param name the name of the management bean. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preDeregister + * method. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean name or a + * request being made to unregister the + * {@link MBeanServerDelegate} bean. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(className, null, name, + * "unregisterMBean")}. + */ + void unregisterMBean(ObjectName name) + throws InstanceNotFoundException, MBeanRegistrationException; + +} diff --git a/libjava/classpath/javax/management/MBeanServerBuilder.java b/libjava/classpath/javax/management/MBeanServerBuilder.java new file mode 100644 index 00000000000..4e280682900 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerBuilder.java @@ -0,0 +1,102 @@ +/* MBeanServerBuilder.java -- Creates a default management server. + Copyright (C) 2006 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. */ + +package javax.management; + +import gnu.javax.management.Server; + +/** + * Constructs a default implementation of an {@link MBeanServer}. + * The {@link MBeanServerFactory} allows custom implementations of + * {@link MBeanServer} to be used by providing subclasses of this. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanServerBuilder +{ + + /** + * Constructs a new {@link MBeanServerBuilder}. + */ + public MBeanServerBuilder() + { + } + + /** + *

    + * Creates a new {@link MBeanServer} implementation with the specified + * default domain, delegate and outer server. The latter is the server + * passed to the {@link MBeanRegistration} interface of management beans, + * allowing an {@link MBeanServer} implementation to wrap another in order + * to provide additional checks, etc. If this value is null, + * this is passed to beans instead. + *

    + *

    + * The {@link MBeanServerFactory} calls this method after having first + * created a delegate using the {@link #newMBeanServerDelegate()} method. + * However, the delegate used in the call to this method may not be the + * same as that returned by {@link #newMBeanServerDelegate()} as the factory + * can optionally wrap the delegate before calling this method. + *

    + * + * @param defaultDomain the default domain used by the new server. + * @param outer the {@link MBeanServer} passed to the {@link MBeanRegistration} + * interface of management beans. + * @param delegate the delegate bean associated with the server, which must + * be registered as a management bean by the server. + * @return a new instance of a server implementation. + */ + public MBeanServer newMBeanServer(String defaultDomain, MBeanServer outer, + MBeanServerDelegate delegate) + { + return new Server(defaultDomain, outer, delegate); + } + + /** + * Creates a new {@link MBeanServerDelegate}, which will be used by + * a management server. The returned delegate may either be used directly + * by the server, or may be further wrapped to add additional checks. + * + * @return a new instance of {@link MBeanServerDelegate}. + */ + public MBeanServerDelegate newMBeanServerDelegate() + { + return new MBeanServerDelegate(); + } + +} diff --git a/libjava/classpath/javax/management/MBeanServerConnection.java b/libjava/classpath/javax/management/MBeanServerConnection.java new file mode 100644 index 00000000000..dff03e8c0d4 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerConnection.java @@ -0,0 +1,768 @@ +/* MBeanServerConnection.java -- Represents a connection to a management server. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.io.IOException; + +import java.util.Set; + +/** + * This interface represents a communication mechanism which may + * be used to access an MBean server, whether this be local or + * remote. The {@link MBeanServer} interface extends this with + * additional methods that apply only to local servers. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface MBeanServerConnection +{ + + /** + * Registers the supplied listener with the specified management + * bean. Notifications emitted by the management bean are forwarded + * to the listener via the server, which will convert any MBean + * references in the source to portable {@link ObjectName} + * instances. The notification is otherwise unchanged. + * + * @param name the name of the management bean with which the listener + * should be registered. + * @param listener the listener which will handle notifications from + * the bean. + * @param filter the filter to apply to incoming notifications, or + * null if no filtering should be applied. + * @param passback an object to be passed to the listener when a + * notification is emitted. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #removeNotificationListener(ObjectName, NotificationListener) + * @see #removeNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationBroadcaster#addNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void addNotificationListener(ObjectName name, NotificationListener listener, + NotificationFilter filter, Object passback) + throws InstanceNotFoundException, IOException; + + /** + *

    + * Registers the supplied listener with the specified management + * bean. Notifications emitted by the management bean are forwarded + * to the listener via the server, which will convert any MBean + * references in the source to portable {@link ObjectName} + * instances. The notification is otherwise unchanged. + *

    + *

    + * The listener that receives notifications will be the one that is + * registered with the given name at the time this method is called. + * Even if it later unregisters and ceases to use that name, it will + * still receive notifications. + *

    + * + * @param name the name of the management bean with which the listener + * should be registered. + * @param listener the name of the listener which will handle + * notifications from the bean. + * @param filter the filter to apply to incoming notifications, or + * null if no filtering should be applied. + * @param passback an object to be passed to the listener when a + * notification is emitted. + * @throws InstanceNotFoundException if the name of the management bean + * could not be resolved. + * @throws RuntimeOperationsException if the bean associated with the given + * object name is not a + * {@link NotificationListener}. This + * exception wraps an + * {@link IllegalArgumentException}. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #removeNotificationListener(ObjectName, NotificationListener) + * @see #removeNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationBroadcaster#addNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void addNotificationListener(ObjectName name, ObjectName listener, + NotificationFilter filter, Object passback) + throws InstanceNotFoundException, RuntimeOperationsException, IOException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the default constructor and registers it with the server + * under the supplied name. The class is loaded using the + * {@link javax.management.loading.ClassLoaderRepository default + * loader repository} of the server. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + *

    + * This method is equivalent to calling {@link + * #createMBean(String, ObjectName, Object[], String[]) + * createMBean(className, name, (Object[]) null, + * (String[]) null)} with null parameters + * and signature. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #createMBean(String, ObjectName, Object[], String[]) + */ + ObjectInstance createMBean(String className, ObjectName name) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, IOException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the given constructor and registers it with the server + * under the supplied name. The class is loaded using the + * {@link javax.management.loading.ClassLoaderRepository default + * loader repository} of the server. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param params the parameters for the bean's constructor. + * @param sig the signature of the constructor to use. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + ObjectInstance createMBean(String className, ObjectName name, + Object[] params, String[] sig) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, IOException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the default constructor and registers it with the server + * under the supplied name. The class is loaded using the + * given class loader. If this argument is null, + * then the same class loader as was used to load the server + * is used. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + *

    + * This method is equivalent to calling {@link + * #createMBean(String, ObjectName, ObjectName, Object[], String) + * createMBean(className, name, loaderName, (Object[]) null, + * (String) null)} with null parameters + * and signature. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param loaderName the name of the class loader. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #createMBean(String, ObjectName, ObjectName, Object[], String[]) + */ + ObjectInstance createMBean(String className, ObjectName name, + ObjectName loaderName) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, InstanceNotFoundException, + IOException; + + /** + *

    + * Instantiates a new instance of the specified management bean + * using the given constructor and registers it with the server + * under the supplied name. The class is loaded using the + * given class loader. If this argument is null, + * then the same class loader as was used to load the server + * is used. + *

    + *

    + * If the name supplied is null, then the bean is + * expected to implement the {@link MBeanRegistration} interface. + * The {@link MBeanRegistration#preRegister preRegister} method + * of this interface will be used to obtain the name in this case. + *

    + * + * @param className the class of the management bean, of which + * an instance should be created. + * @param name the name to register the new bean with. + * @param loaderName the name of the class loader. + * @param params the parameters for the bean's constructor. + * @param sig the signature of the constructor to use. + * @return an {@link ObjectInstance} containing the {@link ObjectName} + * and Java class name of the created instance. + * @throws ReflectionException if an exception occurs in creating + * an instance of the bean. + * @throws InstanceAlreadyExistsException if a matching instance + * already exists. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preRegister + * method. + * @throws MBeanException if the bean's constructor throws an exception. + * @throws NotCompliantMBeanException if the created bean is not + * compliant with the JMX specification. + * @throws InstanceNotFoundException if the specified class loader is not + * registered with the server. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null class name or object + * name or if the object name is a pattern. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + ObjectInstance createMBean(String className, ObjectName name, + ObjectName loaderName, Object[] params, + String[] sig) + throws ReflectionException, InstanceAlreadyExistsException, + MBeanRegistrationException, MBeanException, + NotCompliantMBeanException, InstanceNotFoundException, + IOException; + + /** + * Returns the value of the supplied attribute from the specified + * management bean. + * + * @param bean the bean to retrieve the value from. + * @param name the name of the attribute to retrieve. + * @return the value of the attribute. + * @throws AttributeNotFoundException if the attribute could not be + * accessed from the bean. + * @throws MBeanException if the management bean's accessor throws + * an exception. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception was thrown in trying + * to invoke the bean's accessor. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see DynamicMBean#getAttribute(String) + */ + Object getAttribute(ObjectName bean, String name) + throws MBeanException, AttributeNotFoundException, + InstanceNotFoundException, ReflectionException, + IOException; + + /** + * Returns the values of the named attributes from the specified + * management bean. + * + * @param bean the bean to retrieve the value from. + * @param names the names of the attributes to retrieve. + * @return the values of the attributes. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception was thrown in trying + * to invoke the bean's accessor. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see DynamicMBean#getAttributes(String[]) + */ + AttributeList getAttributes(ObjectName bean, String[] names) + throws InstanceNotFoundException, ReflectionException, + IOException; + + /** + * Returns the default domain this server applies to beans that have + * no specified domain. + * + * @return the default domain. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + String getDefaultDomain() + throws IOException; + + /** + * Returns an array containing all the domains used by beans registered + * with this server. The ordering of the array is undefined. + * + * @return the list of domains. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see ObjectName#getDomain() + */ + String[] getDomains() + throws IOException; + + /** + * Returns the number of management beans registered with this server. + * + * @return the number of registered beans. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + Integer getMBeanCount() + throws IOException; + + /** + * Returns information on the given management bean. + * + * @param name the name of the management bean. + * @return an instance of {@link MBeanInfo} for the bean. + * @throws IntrospectionException if an exception occurs in examining + * the bean. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception occurs when trying + * to invoke {@link DynamicMBean#getMBeanInfo()} + * on the bean. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see DynamicMBean#getMBeanInfo() + */ + MBeanInfo getMBeanInfo(ObjectName name) + throws InstanceNotFoundException, IntrospectionException, + ReflectionException, IOException; + + /** + * Returns the {@link ObjectInstance} created for the specified + * management bean on registration. + * + * @param name the name of the bean. + * @return the corresponding {@link ObjectInstance} instance. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #createMBean(String, ObjectName) + */ + ObjectInstance getObjectInstance(ObjectName name) + throws InstanceNotFoundException, IOException; + + /** + * Invokes the supplied operation on the specified management + * bean. The class objects specified in the signature are loaded + * using the same class loader as was used for the management bean. + * + * @param bean the management bean whose operation should be invoked. + * @param name the name of the operation to invoke. + * @param params the parameters of the operation. + * @param sig the signature of the operation. + * @return the return value of the method. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws MBeanException if the method invoked throws an exception. + * @throws ReflectionException if an exception is thrown in invoking the + * method. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + Object invoke(ObjectName bean, String name, Object[] params, String[] sig) + throws InstanceNotFoundException, MBeanException, + ReflectionException, IOException; + + /** + *

    + * Returns true if the specified management bean is an instance + * of the supplied class. + *

    + *

    + * A bean, B, is an instance of a class, C, if either of the following + * conditions holds: + *

    + *
      + *
    • The class name in B's {@link MBeanInfo} is equal to the supplied + * name.
    • + *
    • Both the class of B and C were loaded by the same class loader, + * and B is assignable to C.
    • + *
    + * + * @param name the name of the management bean. + * @param className the name of the class to test if name is + * an instance of. + * @return true if either B is directly an instance of the named class, + * or B is assignable to the class, given that both it and B's + * current class were loaded using the same class loader. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + boolean isInstanceOf(ObjectName name, String className) + throws InstanceNotFoundException, IOException; + + /** + * Returns true if the specified management bean is registered with + * the server. + * + * @param name the name of the management bean. + * @return true if the bean is registered. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean name. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + boolean isRegistered(ObjectName name) + throws IOException; + + /** + *

    + * Returns a set of {@link ObjectInstance}s matching the specified + * criteria. The full set of beans registered with the server + * are passed through two filters: + *

    + *
      + *
    1. Pattern matching is performed using the supplied + * {@link ObjectName}.
    2. + *
    3. The supplied query expression is applied.
    4. + *
    + *

    + * If both the object name and the query expression are null, + * or the object name has no domain and no key properties, + * no filtering will be performed and all beans are returned. + *

    + * + * @param name an {@link ObjectName} to use as a filter. + * @param query a query expression to apply to each of the beans that match + * the given object name. + * @return a set of {@link ObjectInstance}s matching the filtered beans. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + Set queryMBeans(ObjectName name, QueryExp query) + throws IOException; + + /** + *

    + * Returns a set of {@link ObjectName}s matching the specified + * criteria. The full set of beans registered with the server + * are passed through two filters: + *

    + *
      + *
    1. Pattern matching is performed using the supplied + * {@link ObjectName}.
    2. + *
    3. The supplied query expression is applied.
    4. + *
    + *

    + * If both the object name and the query expression are null, + * or the object name has no domain and no key properties, + * no filtering will be performed and all beans are returned. + *

    + * + * @param name an {@link ObjectName} to use as a filter. + * @param query a query expression to apply to each of the beans that match + * the given object name. + * @return a set of {@link ObjectName}s matching the filtered beans. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + Set queryNames(ObjectName name, QueryExp query) + throws IOException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. This includes all + * combinations of filters and passback objects registered for + * this listener. For more specific removal of listeners, see + * {@link #removeNotificationListener(ObjectName, + * NotificationListener,NotificationFilter,Object)} + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the listener to remove. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see NotificationBroadcaster#removeNotificationListener(NotificationListener) + */ + void removeNotificationListener(ObjectName name, + NotificationListener listener) + throws InstanceNotFoundException, ListenerNotFoundException, + IOException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(ObjectName, NotificationListener)}. + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #addNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationEmitter#removeNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void removeNotificationListener(ObjectName name, + NotificationListener listener, + NotificationFilter filter, + Object passback) + throws InstanceNotFoundException, ListenerNotFoundException, + IOException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. This includes all + * combinations of filters and passback objects registered for + * this listener. For more specific removal of listeners, see + * {@link #removeNotificationListener(ObjectName, + * ObjectName,NotificationFilter,Object)} + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the name of the listener to remove. + * @throws InstanceNotFoundException if a name doesn't match a registered + * bean. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see NotificationBroadcaster#removeNotificationListener(NotificationListener) + */ + void removeNotificationListener(ObjectName name, ObjectName listener) + throws InstanceNotFoundException, ListenerNotFoundException, + IOException; + + /** + * Removes the specified listener from the list of recipients + * of notifications from the supplied bean. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(ObjectName, ObjectName)}. + * + * @param name the name of the management bean from which the + * listener should be removed. + * @param listener the name of the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws InstanceNotFoundException if a name doesn't match a registered + * bean. + * @throws ListenerNotFoundException if the specified listener + * is not registered with the bean. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #addNotificationListener(ObjectName, NotificationListener, + * NotificationFilter, Object) + * @see NotificationEmitter#removeNotificationListener(NotificationListener, + * NotificationFilter, + * Object) + */ + void removeNotificationListener(ObjectName name, + ObjectName listener, + NotificationFilter filter, + Object passback) + throws InstanceNotFoundException, ListenerNotFoundException, + IOException; + + /** + * Sets the value of the specified attribute of the supplied + * management bean. + * + * @param name the name of the management bean. + * @param attribute the attribute to set. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws AttributeNotFoundException if the attribute does not + * correspond to an attribute + * of the bean. + * @throws InvalidAttributeValueException if the value is invalid + * for this particular + * attribute of the bean. + * @throws MBeanException if setting the attribute causes + * the bean to throw an exception (which + * becomes the cause of this exception). + * @throws ReflectionException if an exception occurred in trying + * to use the reflection interface + * to lookup the attribute. The + * thrown exception is the cause of + * this exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * name. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #getAttribute(ObjectName, String) + * @see DynamicMBean#setAttribute(Attribute) + */ + void setAttribute(ObjectName name, Attribute attribute) + throws InstanceNotFoundException, AttributeNotFoundException, + InvalidAttributeValueException, MBeanException, + ReflectionException, IOException; + + /** + * Sets the value of each of the specified attributes + * of the supplied management bean to that specified by + * the {@link Attribute} object. The returned list contains + * the attributes that were set and their new values. + * + * @param name the name of the management bean. + * @param attributes the attributes to set. + * @return a list of the changed attributes. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws ReflectionException if an exception occurred in trying + * to use the reflection interface + * to lookup the attribute. The + * thrown exception is the cause of + * this exception. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean or attribute + * list. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + * @see #getAttributes(ObjectName, String[]) + * @see DynamicMBean#setAttributes(AttributeList) + */ + AttributeList setAttributes(ObjectName name, AttributeList attributes) + throws InstanceNotFoundException, ReflectionException, + IOException; + + /** + * Unregisters the specified management bean. Following this operation, + * the bean instance is no longer accessible from the server via this + * name. Prior to unregistering the bean, the + * {@link MBeanRegistration#preDeregister()} method will be called if + * the bean implements the {@link MBeanRegistration} interface. + * + * @param name the name of the management bean. + * @throws InstanceNotFoundException if the bean can not be found. + * @throws MBeanRegistrationException if an exception occurs in + * calling the preDeregister + * method. + * @throws RuntimeOperationsException if an {@link IllegalArgumentException} + * is thrown by the server due to a + * null bean name or a + * request being made to unregister the + * {@link MBeanServerDelegate} bean. + * @throws IOException if an I/O error occurred in communicating with + * the bean server. + */ + void unregisterMBean(ObjectName name) + throws InstanceNotFoundException, MBeanRegistrationException, + IOException; + +} diff --git a/libjava/classpath/javax/management/MBeanServerDelegate.java b/libjava/classpath/javax/management/MBeanServerDelegate.java new file mode 100644 index 00000000000..bf3f5f89420 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerDelegate.java @@ -0,0 +1,308 @@ +/* MBeanServerDelegate.java -- The management server delegate. + Copyright (C) 2006 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. */ + +package javax.management; + +import gnu.classpath.ListenerData; +import gnu.classpath.SystemProperties; + +import java.net.InetAddress; +import java.net.UnknownHostException; + +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +/** + * Provides an implementation of a delegate bean, which is associated + * with a management server. The delegate bean is responsible + * for providing metadata about the server and handling the + * registration and deregistration notifications. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanServerDelegate + implements MBeanServerDelegateMBean, NotificationEmitter +{ + + /** + * The identifier of the server associated with this delegate. + */ + private String id; + + /** + * The listeners registered with the delegate. + */ + private List listeners; + + /** + * The sequence identifier used by the delegate. + */ + private long seqNo; + + /** + * Default constructor which generates the id. + */ + public MBeanServerDelegate() + { + String hostName; + try + { + hostName = InetAddress.getLocalHost().getHostName(); + } + catch (UnknownHostException e) + { + hostName = "Unknown host"; + } + id = hostName + "_" + new Date().getTime(); + } + + /** + * Registers the specified listener as a new recipient of + * notifications from the delegate. If non-null, the filter + * argument will be used to select which notifications are + * delivered. The supplied object will also be passed to + * the recipient with each notification. This should not + * be modified by the broadcaster, but instead should be + * passed unmodified to the listener. + * + * @param listener the new listener, who will receive + * notifications from this broadcasting bean. + * @param filter a filter to determine which notifications are + * delivered to the listener, or null + * if no filtering is required. + * @param passback an object to be passed to the listener with + * each notification. + * @throws IllegalArgumentException if listener is + * null. + * @see #removeNotificationListener(NotificationListener) + */ + public void addNotificationListener(NotificationListener listener, + NotificationFilter filter, + Object passback) + throws IllegalArgumentException + { + if (listener == null) + throw new IllegalArgumentException("A null listener was supplied."); + if (listeners == null) + listeners = new ArrayList(); + listeners.add(new ListenerData(listener, filter, passback)); + } + + /** + * Returns the name of this Java Management eXtensions (JMX) implementation. + * + * @return the implementation name. + */ + public String getImplementationName() + { + return "GNU JMX"; + } + + /** + * Returns the vendor of this Java Management eXtensions (JMX) implementation. + * + * @return the implementation vendor. + */ + public String getImplementationVendor() + { + return "The GNU Classpath Project"; + } + + /** + * Returns the version of this Java Management eXtensions (JMX) implementation. + * + * @return the implementation version. + */ + public String getImplementationVersion() + { + return SystemProperties.getProperty("gnu.classpath.version"); + } + + /** + * Returns the unique identifier for this management server. + * + * @return the unique id of the server. + */ + public String getMBeanServerId() + { + return id; + } + + /** + * Returns an array describing the notifications this + * bean may send to its registered listeners. Ideally, this + * array should be complete, but in some cases, this may + * not be possible. However, be aware that some listeners + * may expect this to be so. + * + * @return the array of possible notifications. + */ + public MBeanNotificationInfo[] getNotificationInfo() + { + return new MBeanNotificationInfo[] + { + new MBeanNotificationInfo(new String[] + { + MBeanServerNotification.REGISTRATION_NOTIFICATION, + MBeanServerNotification.UNREGISTRATION_NOTIFICATION, + }, + MBeanServerNotification.class.getName(), + "Server registration notifications") + }; + } + + /** + * Returns the name of this Java Management eXtensions (JMX) specification. + * + * @return the specification name. + */ + public String getSpecificationName() + { + return "JMX"; + } + + + /** + * Returns the vendor of this Java Management eXtensions (JMX) specification. + * + * @return the specification vendor. + */ + public String getSpecificationVendor() + { + return "Sun Microsystems"; + } + + /** + * Returns the version of this Java Management eXtensions (JMX) specification. + * + * @return the specification version. + */ + public String getSpecificationVersion() + { + return "1.2"; + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from this bean. This includes all combinations + * of filters and passback objects registered for this listener. + * For more specific removal of listeners, see + * {@link #removeNotificationListener(NotificationListener, + * NotificationFilter, java.lang.Object)} + * + * @param listener the listener to remove. + * @throws ListenerNotFoundException if the specified listener + * is not registered with this bean. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + */ + public void removeNotificationListener(NotificationListener listener) + throws ListenerNotFoundException + { + Iterator it = listeners.iterator(); + boolean foundOne = false; + while (it.hasNext()) + { + ListenerData data = (ListenerData) it.next(); + if (data.getListener() == listener) + { + it.remove(); + foundOne = true; + } + } + if (!foundOne) + throw new ListenerNotFoundException("The specified listener, " + listener + + "is not registered with this bean."); + } + + /** + * Removes the specified listener from the list of recipients + * of notifications from this delegate. Only the first instance with + * the supplied filter and passback object is removed. + * null is used as a valid value for these parameters, + * rather than as a way to remove all registration instances for + * the specified listener; for this behaviour instead, see + * {@link #removeNotificationListener(NotificationListener)}. + * + * @param listener the listener to remove. + * @param filter the filter of the listener to remove. + * @param passback the passback object of the listener to remove. + * @throws ListenerNotFoundException if the specified listener + * is not registered with this bean. + * @see #addNotificationListener(NotificationListener, NotificationFilter, + * java.lang.Object) + * @see #removeNotificationListener(NotificationListener) + */ + public void removeNotificationListener(NotificationListener listener, + NotificationFilter filter, + Object passback) + throws ListenerNotFoundException + { + if (!(listeners.remove(new ListenerData(listener, filter, passback)))) + { + throw new ListenerNotFoundException("The specified listener, " + listener + + " with filter " + filter + + "and passback " + passback + + ", is not registered with this bean."); + } + } + + /** + * Allows the server to use the delegate to send a notification. + * If the supplied notification has a sequence number <= 0, then + * it is replaced with the delegate's own sequence number. + * + * @param notification the notification to send. + */ + public void sendNotification(Notification notification) + { + if (notification.getSequenceNumber() <= 0) + notification.setSequenceNumber(++seqNo); + Iterator it = listeners.iterator(); + while (it.hasNext()) + { + ListenerData ldata = (ListenerData) it.next(); + NotificationFilter filter = ldata.getFilter(); + if (filter == null || filter.isNotificationEnabled(notification)) + ldata.getListener().handleNotification(notification, ldata.getPassback()); + } + } + +} diff --git a/libjava/classpath/javax/management/MBeanServerDelegateMBean.java b/libjava/classpath/javax/management/MBeanServerDelegateMBean.java new file mode 100644 index 00000000000..aa7b2730085 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerDelegateMBean.java @@ -0,0 +1,101 @@ +/* MBeanServerDelegateMBean.java -- The interface of a management server delegate. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Defines the interface for the delegate bean associated + * with a management server. The delegate bean is responsible + * for providing metadata about the server and handling the + * registration and deregistration notifications. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface MBeanServerDelegateMBean +{ + + /** + * Returns the name of this Java Management eXtensions (JMX) implementation. + * + * @return the implementation name. + */ + String getImplementationName(); + + /** + * Returns the vendor of this Java Management eXtensions (JMX) implementation. + * + * @return the implementation vendor. + */ + String getImplementationVendor(); + + /** + * Returns the version of this Java Management eXtensions (JMX) implementation. + * + * @return the implementation version. + */ + String getImplementationVersion(); + + /** + * Returns the unique identifier for this management server. + * + * @return the unique id of the server. + */ + String getMBeanServerId(); + + /** + * Returns the name of this Java Management eXtensions (JMX) specification. + * + * @return the specification name. + */ + String getSpecificationName(); + + /** + * Returns the vendor of this Java Management eXtensions (JMX) specification. + * + * @return the specification vendor. + */ + String getSpecificationVendor(); + + /** + * Returns the version of this Java Management eXtensions (JMX) specification. + * + * @return the specification version. + */ + String getSpecificationVersion(); + +} diff --git a/libjava/classpath/javax/management/MBeanServerFactory.java b/libjava/classpath/javax/management/MBeanServerFactory.java new file mode 100644 index 00000000000..accbc56fc78 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerFactory.java @@ -0,0 +1,413 @@ +/* MBeanServerFactory.java -- Manages server instances. + Copyright (C) 2006 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. */ + +package javax.management; + +import gnu.classpath.SystemProperties; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +import javax.management.loading.ClassLoaderRepository; + +/** + *

    + * Creates and maintains a set of {@link MBeanServer} instances. + * Server instances, as of JMX 1.2, are created using a subclass + * of {@link MBeanServerBuilder}. The exact class used is controlled + * by the property javax.management.builder.initial, + * and allows the instances created by {@link MBeanServerBuilder} + * to be wrapped, thus providing additional functionality. + *

    + *

    + * The property is used as follows: + *

    + *
      + *
    1. If the property has no value, then an instance of + * {@link MBeanServerBuilder} is used.
    2. + *
    3. If a value is given, then: + *
        + *
      1. The class is loaded using + * Thread.currentThread().getContextClassLoader(), or, + * if this is null, by Class.forName().
      2. + *
      3. Class.newInstance() is used to create an instance + * of the class. The class must be public and have a public empty + * constructor. If an exception is thrown, it is propogated as + * a {@link JMRuntimeException} and no new server instances may be + * created until the property is set to a valid value.
      4. + *
    4. + *
    5. The value is checked on each successive request for a server. + * If it differs from the class of the existing instance of + * {@link MBeanServerBuilder}, then the value is used to create + * a new instance.
    6. + *
    + */ +public class MBeanServerFactory +{ + + /** + * The last builder instance. + */ + private static MBeanServerBuilder builder; + + /** + * The map of registered servers (identifiers to servers). + */ + private static Map servers; + + /** + * Private constructor to prevent instance creation. + */ + private MBeanServerFactory() {} + + /** + * Returns a server implementation using the default domain name + * of "DefaultDomain". The default domain name is + * used when the domain name specified by the user is nullnull value. + * + * @return a new {@link MBeanServer} instance. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanServerPermission(String)}("createMBeanServer") + * @throws JMRuntimeException if the property + * javax.management.builder.initial + * exists but names a class which either can not be + * instantiated or provides an implementation that returns + * null from either + * {@link MBeanServerBuilder#newMBeanServerDelegate()} + * or {@link MBeanServerBuilder#newMBeanServer()} + * @throws ClassCastException if the property + * javax.management.builder.initial + * exists but names a class which is not a subclass + * of {@link MBeanServerBuilder}. + * @see #createMBeanServer(String) + */ + public static MBeanServer createMBeanServer() + { + return createMBeanServer(null); + } + + /** + * Returns a server implementation using the default domain name + * given, or "DefaultDomain" if this is null. + * The default domain name is used when the domain name specified by + * the user is nulljavax.management.builder.initial + * exists but names a class which either can not be + * instantiated or provides an implementation that returns + * null from either + * {@link MBeanServerBuilder#newMBeanServerDelegate()} + * or {@link MBeanServerBuilder#newMBeanServer()} + * @throws ClassCastException if the property + * javax.management.builder.initial + * exists but names a class which is not a subclass + * of {@link MBeanServerBuilder}. + */ + public static MBeanServer createMBeanServer(String domain) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new MBeanServerPermission("createMBeanServer")); + MBeanServer server = createServer(domain); + if (servers == null) + servers = new HashMap(); + try + { + ObjectName dn = new + ObjectName("JMImplementation:type=MBeanServerDelegate"); + servers.put(server.getAttribute(dn, "MBeanServerId"), server); + } + catch (MalformedObjectNameException e) + { + throw (Error) + (new InternalError("Malformed delegate bean name.").initCause(e)); + } + catch (MBeanException e) + { + throw (Error) + (new InternalError("Exception in getMBeanServerId().").initCause(e)); + } + catch (AttributeNotFoundException e) + { + throw (Error) + (new InternalError("Could not find MBeanServerId attribute.").initCause(e)); + } + catch (InstanceNotFoundException e) + { + throw (Error) + (new InternalError("Could not find the delegate bean.").initCause(e)); + } + catch (ReflectionException e) + { + throw (Error) + (new InternalError("Could not call getMBeanServerId().").initCause(e)); + } + return server; + } + + /** + * Returns the specified server, or, if id is null, + * a list of all registered servers. A registered server is one that + * was created using {@link #createMBeanServer()} or + * {@link #createMBeanServer(String)} and has not yet been released + * using {@link releaseMBeanServer(MBeanServer)}. + * + * @param id the id of the server to retrieve, or null + * to return all servers. + * @return a list of {@link MBeanServer}s. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanServerPermission(String)}("findMBeanServer") + */ + public static ArrayList findMBeanServer(String id) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new MBeanServerPermission("findMBeanServer")); + if (id == null) + return new ArrayList(servers.values()); + ArrayList list = new ArrayList(); + MBeanServer server = (MBeanServer) servers.get(id); + if (server != null) + list.add(servers.get(id)); + return list; + } + + /** + * Returns the class loader repository used by the specified server. + * This is equivalent to calling {@link MBeanServer#getClassLoaderRepository()} + * on the given server. + * + * @param server the server whose class loader repository should be + * retrieved. + * @throws NullPointerException if server is null. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanPermission(String,String,ObjectName,String) + * MBeanPermission(null, null, null, + * "getClassLoaderRepository") + */ + public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server) + { + return server.getClassLoaderRepository(); + } + + /** + * Returns a server implementation using the default domain name + * of "DefaultDomain". The default domain name is + * used when the domain name specified by the user is nullnull value. + * + * @return a new {@link MBeanServer} instance. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanServerPermission(String)}("newMBeanServer") + * @throws JMRuntimeException if the property + * javax.management.builder.initial + * exists but names a class which either can not be + * instantiated or provides an implementation that returns + * null from either + * {@link MBeanServerBuilder#newMBeanServerDelegate()} + * or {@link MBeanServerBuilder#newMBeanServer()} + * @throws ClassCastException if the property + * javax.management.builder.initial + * exists but names a class which is not a subclass + * of {@link MBeanServerBuilder}. + * @see #newMBeanServer(String) + */ + public static MBeanServer newMBeanServer() + { + return newMBeanServer(null); + } + + /** + * Returns a server implementation using the default domain name + * given, or "DefaultDomain" if this is null. + * The default domain name is used when the domain name specified by + * the user is nulljavax.management.builder.initial + * exists but names a class which either can not be + * instantiated or provides an implementation that returns + * null from either + * {@link MBeanServerBuilder#newMBeanServerDelegate()} + * or {@link MBeanServerBuilder#newMBeanServer()} + * @throws ClassCastException if the property + * javax.management.builder.initial + * exists but names a class which is not a subclass + * of {@link MBeanServerBuilder}. + */ + public static MBeanServer newMBeanServer(String domain) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new MBeanServerPermission("newMBeanServer")); + return createServer(domain); + } + + /** + * Common method to create a server for the {@link #createMBeanServer(String)} + * and {@link #newMBeanServer(String)} methods above. + * + * @param domain the default domain name of the server. + * @throws JMRuntimeException if the property + * javax.management.builder.initial + * exists but names a class which either can not be + * instantiated or provides an implementation that returns + * null from either + * {@link MBeanServerBuilder#newMBeanServerDelegate()} + * or {@link MBeanServerBuilder#newMBeanServer()} + * @throws ClassCastException if the property + * javax.management.builder.initial + * exists but names a class which is not a subclass + * of {@link MBeanServerBuilder}. + */ + private static MBeanServer createServer(String domain) + { + if (domain == null) + domain = "DefaultDomain"; + String builderClass = + SystemProperties.getProperty("javax.management.builder.initial"); + if (builderClass == null) + { + if (builder == null || + builder.getClass() != MBeanServerBuilder.class) + builder = new MBeanServerBuilder(); + } + else if (!(builderClass.equals(builder.getClass().getName()))) + { + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + if (cl == null) + cl = MBeanServerFactory.class.getClassLoader(); + try + { + Class bClass = Class.forName(builderClass, true, cl); + builder = (MBeanServerBuilder) bClass.newInstance(); + } + catch (ClassNotFoundException e) + { + throw (JMRuntimeException) (new JMRuntimeException("The builder class, " + + builderClass + + ", could not be found.")) + .initCause(e); + } + catch (InstantiationException e) + { + throw (JMRuntimeException) (new JMRuntimeException("The builder class, " + + builderClass + + ", could not be instantiated.")) + .initCause(e); + } + catch (IllegalAccessException e) + { + throw (JMRuntimeException) (new JMRuntimeException("The builder class, " + + builderClass + + ", could not be accessed.")) + .initCause(e); + } + } + MBeanServerDelegate delegate = builder.newMBeanServerDelegate(); + if (delegate == null) + throw new JMRuntimeException("A delegate could not be created."); + MBeanServer server = builder.newMBeanServer("DefaultDomain", null, delegate); + if (server == null) + throw new JMRuntimeException("A server could not be created."); + return server; + } + + /** + * Removes the reference to the specified server, thus allowing it to + * be garbage collected. + * + * @param server the server to remove. + * @throws IllegalArgumentException if a reference to the server is not + * held (i.e. it wasn't created by + * {@link #createMBeanServer(String)} + * or this method has already been called + * on it. + * @throws SecurityException if a security manager exists and the + * caller's permissions don't imply {@link + * MBeanServerPermission(String)}("releaseMBeanServer") + */ + public static void releaseMBeanServer(MBeanServer server) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new MBeanServerPermission("releaseMBeanServer")); + Iterator i = servers.values().iterator(); + while (i.hasNext()) + { + MBeanServer s = (MBeanServer) i.next(); + if (server == s) + { + i.remove(); + return; + } + } + throw new IllegalArgumentException("The server given is not referenced."); + } + + +} diff --git a/libjava/classpath/javax/management/MBeanServerNotification.java b/libjava/classpath/javax/management/MBeanServerNotification.java new file mode 100644 index 00000000000..820fd61b354 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerNotification.java @@ -0,0 +1,103 @@ +/* MBeanServerNotification.java -- The registration notification. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * The notification emitted by a management server on a registration + * or de-registration event. Events are emitted via the delegate + * management bean of the server. Other objects can listen for + * such events by registering their interest with the delegate + * bean. The bean can be obtained via the {@link ObjectName} + * JMImplementation:type=MBeanServerDelegate. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanServerNotification + extends Notification +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 2876477500475969677L; + + /** + * Notification type for the registration event. + */ + public static final String REGISTRATION_NOTIFICATION = "JMX.mbean.registered"; + + /** + * Notification type for the de-registration event. + */ + public static final String UNREGISTRATION_NOTIFICATION = "JMX.mbean.unregistered"; + + /** + * The name of the bean which forms the subject of this notification. + */ + private ObjectName objectName; + + /** + * Constructs a new {@link MBeanServerNotification} of the specified + * type for an event relating to the supplied bean, with the given + * source and sequence number. + * + * @param type the type of notification (registration or de-registration). + * @param source the source of the notification. + * @param seqNo the sequence number of this notification, used to order + * multiple such notifications. + * @param name the name of the bean concerned by this event. + */ + public MBeanServerNotification(String type, Object source, long seqNo, + ObjectName name) + { + super(type, source, seqNo); + objectName = name; + } + + /** + * Returns the name of the bean this notification concerns. + * + * @return the name of the bean. + */ + public ObjectName getMBeanName() + { + return objectName; + } + +} diff --git a/libjava/classpath/javax/management/MBeanServerPermission.java b/libjava/classpath/javax/management/MBeanServerPermission.java new file mode 100644 index 00000000000..e6227814443 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanServerPermission.java @@ -0,0 +1,470 @@ +/* MBeanServerPermission.java -- Permissions controlling server creation. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.security.BasicPermission; +import java.security.Permission; +import java.security.PermissionCollection; + +import java.util.Enumeration; +import java.util.NoSuchElementException; + +/** + *

    + * Represents the permissions required to perform + * operations provided by the {@link MBeanServerFactory}. + * As with all {@link java.security.Permission} objects, an + * instance of this class either represents a permission + * already held or one that is required to access a + * particular service. In the case of {@link MBeanServerPermission}s, + * implication checks are made using an instance of this class + * when a user requests an operation from the factory, and a + * {@link SecurityManager} is in place. + *

    + *

    + * The permission is defined by its name, which may be + * either a '*' (to allow all) or one or + * more of the following, separated by a ',': + *

    + *
      + *
    • createMBeanServer -- allows a registered + * instance of a server to be obtained from the factory.
    • + *
    • findMBeanServer -- allows all or one + * particular server instance to be retrieved from the factory.
    • + *
    • newMBeanServer -- allows an unregistered + * instance of a server to be obtained from the factory.
    • + *
    • releaseMBeanServer -- allows a reference to + * a server instance to be removed from the factory.
    • + *
    + *

    + * The names may be surrounded by arbitrary amounts of whitespace. + * createMBeanServer implies newMBeanServer. + *

    + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanServerPermission + extends BasicPermission +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -5661980843569388590L; + + /** + *

    + * Constructs a new {@link MBeanServerPermission} with + * the given name. The name must not be null + * and must be equal to either "*" or a + * comma-separated list of valid permissions. The four + * valid constraints are: + *

    + *
      + *
    1. createMBeanServer
    2. + *
    3. findMBeanServer
    4. + *
    5. newMBeanServer
    6. + *
    7. releaseMBeanServer
    8. + *
    + *

    + * Calling this constructor is equivalent to calling + * MBeanPermission(name, null). + *

    + * + * @param name the name of this permission. + * @throws NullPointerException if name + * is null. + * @throws IllegalArgumentException if name + * is not either equal to + * "*" or forms + * a comma-separated list of + * valid constraints. + * @see #MBeanServerPermission(String,String) + */ + public MBeanServerPermission(String name) + { + this(name, null); + } + + /** + *

    + * Constructs a new {@link MBeanServerPermission} with + * the given name and actions. The actions are unused, + * and must be either null or the empty + * string. The name must not be null + * and must be equal to either "*" or a + * comma-separated list of valid permissions. The four + * valid constraints are: + *

    + *
      + *
    1. createMBeanServer
    2. + *
    3. findMBeanServer
    4. + *
    5. newMBeanServer
    6. + *
    7. releaseMBeanServer
    8. + *
    + *

    + * Calling this constructor is equivalent to calling + * MBeanPermission(name, null). + *

    + * + * @param name the name of this permission. + * @throws NullPointerException if name + * is null. + * @throws IllegalArgumentException if name + * is not either equal to + * "*" or forms + * a comma-separated list of + * valid constraints, or if + * actions is not + * null or the + * empty string. + * @see #MBeanServerPermission(String,String) + */ + public MBeanServerPermission(String name, String actions) + { + super(checkName(name), actions); + if (actions != null && actions.length() > 0) + throw new IllegalArgumentException("The supplied action list " + + "was not equal to null or the " + + "empty string."); + } + + /** + * Returns true if the given object is also an {@link MBeanServerPermission} + * with the same name. + * + * @param obj the object to compare with this one. + * @return true if the object is an {@link MBeanPermission} + * with the same name. + */ + public boolean equals(Object obj) + { + if (obj instanceof MBeanServerPermission) + { + MBeanServerPermission o = (MBeanServerPermission) obj; + return o.getName().equals(getName()); + } + return false; + } + + /** + * Returns a unique hash code for this permission. + * This is simply the hashcode of {@link BasicPermission#getName()}. + * + * @return the hashcode of this permission. + */ + public int hashCode() + { + return getName().hashCode(); + } + + /** + * Returns true if this {@link MBeanServerPermission} implies + * the given permission. This occurs if the given permission + * is also an {@link MBeanServerPermission} and its target names + * are a subset of the target names of this permission. Note that + * the name createMBeanServer implies + * newMBeanServer. + * + * @param p the permission to check for implication. + * @return true if this permission implies p. + */ + public boolean implies(Permission p) + { + if (p instanceof MBeanServerPermission) + { + if (getName().equals("*")) + return true; + MBeanServerPermission msp = (MBeanServerPermission) p; + String[] thisCaps = getName().split(","); + String[] mspCaps = msp.getName().split(","); + for (int a = 0; a < mspCaps.length; ++a) + { + boolean found = false; + String mc = mspCaps[a].trim(); + for (int b = 0; b < thisCaps.length; ++b) + { + String tc = thisCaps[b].trim(); + if (tc.equals(mc)) + found = true; + if (tc.equals("createMBeanServer") && + mc.equals("newMBeanServer")) + found = true; + } + if (!found) + return false; + } + return true; + } + return false; + } + + /** + * Returns a {@link PermissionCollection} which stores + * a series of {@link MBeanServerPermission}s as the union + * of their capabilities. + * + * @return a collection for {@link MBeanServerPermission}s. + */ + public PermissionCollection newPermissionCollection() + { + return new MBeanServerPermissionCollection(); + } + + /** + * A collection of {@link MBeanServerPermission}s, stored + * as a single permission with the union of the capabilities + * as its capabilities. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private class MBeanServerPermissionCollection + extends PermissionCollection + { + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -5661980843569388590L; + + /** + * The collected permission. This is null or + * the union of the permissions held by all the collected + * permissions. + */ + private MBeanServerPermission collectionPermission; + + /** + * Adds a new permission by unifying it with the existing + * collection permission. + * + * @param p the permission to add. + * @throws SecurityException if the collection is read only. + * @see #isReadOnly() + * @see #setReadOnly(boolean) + */ + public void add(Permission p) + { + if (isReadOnly()) + throw new SecurityException("This collection is read only."); + if (p instanceof MBeanServerPermission) + { + MBeanServerPermission msp = (MBeanServerPermission) p; + if (collectionPermission == null) + collectionPermission = msp; + else + { + String finalString = collectionPermission.getName(); + String[] cp = finalString.split(","); + String[] np = msp.getName().split(","); + int createms = finalString.indexOf("createMBeanServer"); + int newms = finalString.indexOf("newMBeanServer"); + for (int a = 0; a < np.length; ++a) + { + boolean found = false; + String nps = np[a].trim(); + for (int b = 0; b < cp.length; ++b) + { + String cps = cp[b].trim(); + if (cps.equals(nps)) + found = true; + if (np.equals("newMBeanServer") + && createms != -1) + found = true; + if (np.equals("createMBeanServer") + && newms != -1) + finalString.replace("newMBeanServer", + "createMBeanServer"); + } + if (!found) + finalString += "," + nps; + } + collectionPermission = + new MBeanServerPermission(finalString); + } + } + } + + /** + * Returns an enumeration over the single permission. + * + * @return an enumeration over the collection permission. + */ + public Enumeration elements() + { + return new + MBeanServerPermissionEnumeration(collectionPermission); + } + + /** + * Provides an enumeration over a comma-separated list + * of capabilities. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private class MBeanServerPermissionEnumeration + implements Enumeration + { + + /** + * The collected permission. + */ + private MBeanServerPermission p; + + /** + * True if we have returned the permission. + */ + private boolean done; + + /** + * Constructs a new {@link MBeanServerPermissionEnumeration} + * using the given collected permission. + * + * @param p the collected permission. + */ + public MBeanServerPermissionEnumeration(MBeanServerPermission p) + { + this.p = p; + done = false; + } + + /** + * Returns true if there are more capabilities to return. + * + * @return true if there are more capabilities available. + */ + public boolean hasMoreElements() + { + return !done; + } + + /** + * Returns the next capability. + * + * @return the next capability. + */ + public Object nextElement() + { + if (hasMoreElements()) + { + done = true; + return p; + } + else + throw new NoSuchElementException("No more elements are available."); + } + + } + + /** + * Returns true if the collected {@link MBeanServerPermission} + * implies the given permission. This occurs if the given permission + * is also an {@link MBeanServerPermission} and its target names + * are a subset of the target names of this permission. Note that + * the name createMBeanServer implies + * newMBeanServer. + * + * @param p the permission to check for implication. + * @return true if this permission implies p. + */ + public boolean implies(Permission p) + { + return collectionPermission.implies(p); + } + } + + /** + * Checks the name is valid, including removing + * the newMBeanServer permission when + * createMBeanServer is present. + * + * @param name the name to check. + * @throws NullPointerException if name + * is null. + * @throws IllegalArgumentException if name + * is not either equal to + * "*" or forms + * a comma-separated list of + * valid constraints. + */ + private static String checkName(String name) + { + if (!(name.equals("*"))) + { + String[] constraints = name.split(","); + name = ""; + boolean seenCreate = false; + boolean seenNew = false; + boolean start = true; + for (int a = 0; a < constraints.length; ++a) + { + String next = constraints[a].trim(); + if (!(next.equals("createMBeanServer") || + next.equals("findMBeanServer") || + next.equals("newMBeanServer") || + next.equals("releaseMBeanServer"))) + throw new IllegalArgumentException("An invalid constraint, " + + next + ", was specified."); + if (next.equals("newMBeanServer")) + seenNew = true; + else if (next.equals("createMBeanServer")) + seenCreate = true; + else + { + if (!start) + name += ","; + name += next; + start = false; + } + } + if (seenNew && !seenCreate) + name += (start ? "" : ",") + "newMBeanServer"; + else if (seenCreate) + name += (start ? "" : ",") + "createMBeanServer"; + } + return name; + } + +} + + + + diff --git a/libjava/classpath/javax/management/MBeanTrustPermission.java b/libjava/classpath/javax/management/MBeanTrustPermission.java new file mode 100644 index 00000000000..57d0e6889b0 --- /dev/null +++ b/libjava/classpath/javax/management/MBeanTrustPermission.java @@ -0,0 +1,105 @@ +/* MBeanTrustPermission.java -- Represents a trusted bean source. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.security.BasicPermission; + +/** + * Represents the permission held by a trusted source of + * management beans. For a bean to be added to a management + * server, the source of that bean must hold this permission. + * It has a target, but no actions. Valid values for the target + * are "register" and "*", the latter + * representing both the existing "register" target + * and any future targets. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MBeanTrustPermission + extends BasicPermission +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -2952178077029018140L; + + /** + * Constructs a {@link MBeanTrustPermission} with the given target. + * The target must be either "register" or "*". + * The actions of the permission default to null, + * so this is equivalent to calling + * MBeanTrustPermission(target, null). + * + * @param target the target of this permission. + * @throws NullPointerException if target is null. + * @throws IllegalArgumentException if the target is other than + * "register" or "*". + * @see #MBeanTrustPermission(String, String) + */ + public MBeanTrustPermission(String target) + { + this(target, null); + } + + /** + * Constructs a {@link MBeanTrustPermission} with the given target + * and actions. The target must be either "register" + * or "*". The actions must be either null + * or the empty string, "". + * + * @param target the target of this permission. + * @param actions the actions for this permission. + * @throws NullPointerException if target is null. + * @throws IllegalArgumentException if the target is other than + * "register" or "*" + * or actions is other than + * null or "". + */ + public MBeanTrustPermission(String target, String actions) + { + super(target, actions); + if ((!(target.equals("register"))) && + (!(target.equals("*")))) + throw new IllegalArgumentException("The target must be 'register' or '*'"); + if (actions != null && !(actions.length() == 0)) + throw new IllegalArgumentException("The actions must be null or ''"); + } + +} diff --git a/libjava/classpath/javax/management/MalformedObjectNameException.java b/libjava/classpath/javax/management/MalformedObjectNameException.java new file mode 100644 index 00000000000..e2f5774908c --- /dev/null +++ b/libjava/classpath/javax/management/MalformedObjectNameException.java @@ -0,0 +1,76 @@ +/* MalformedObjectNameException.java -- Thrown by invalid values. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when a string used as an {@link ObjectName} + * is invalid. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class MalformedObjectNameException + extends OperationsException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -572689714442915824L; + + /** + * Constructs a new MalformedObjectNameException. + */ + public MalformedObjectNameException() + { + super(); + } + + /** + * Constructs a new MalformedObjectNameException + * with the specified message. + * + * @param message the error message to give to the user. + */ + public MalformedObjectNameException(String message) + { + super(message); + } + +} + diff --git a/libjava/classpath/javax/management/ObjectInstance.java b/libjava/classpath/javax/management/ObjectInstance.java new file mode 100644 index 00000000000..df364cffc89 --- /dev/null +++ b/libjava/classpath/javax/management/ObjectInstance.java @@ -0,0 +1,147 @@ +/* ObjectInstance.java -- Represent the bean instance used by a server. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.io.Serializable; + +/** + * A simple class used to link a bean instance to its class name. + * If the bean is a {@link DynamicMBean}, the class name may be + * obtained using {@link MBeanInfo#getClassName()}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class ObjectInstance + implements Serializable +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -4099952623687795850L; + + /** + * The name of the bean. + */ + private ObjectName name; + + /** + * The class name of the bean. + */ + private String className; + + /** + * Constructs a new {@link ObjectInstance} for the specified bean + * with the supplied class name. The class name should include + * the full package name. + * + * @param name the name of the bean. + * @param className the class name of the bean. + */ + public ObjectInstance(ObjectName name, String className) + { + this.name = name; + this.className = className; + } + + /** + * Constructs a new {@link ObjectInstance} for the specified bean + * with the supplied class name. The class name should include + * the full package name. + * + * @param name the name of the bean. + * @param className the class name of the bean. + * @throws MalformedObjectNameException if the name of the bean + * does not match the syntax + * of an {@link ObjectName}. + */ + public ObjectInstance(String name, String className) + throws MalformedObjectNameException + { + this(new ObjectName(name), className); + } + + /** + * Returns true if the supplied object is also an {@link ObjectInstance} + * with the same bean and class name. + * + * @param obj the object to compare. + * @return true if the the supplied object is equal to this. + */ + public boolean equals(Object obj) + { + if (!(obj instanceof ObjectInstance)) + return false; + ObjectInstance i = (ObjectInstance) obj; + return (i.getClassName().equals(className) && + i.getObjectName().equals(name)); + } + + /** + * Returns the class name of the bean. + * + * @return the class name. + */ + public String getClassName() + { + return className; + } + + /** + * Returns the name of the bean. + * + * @return the name of the bean. + */ + public ObjectName getObjectName() + { + return name; + } + + /** + * Returns a hash code for this instance. This is calculated as + * the sum of the hashcodes for the bean's name and the class name. + * + * @return the hash code of this instance. + */ + public int hashCode() + { + return name.hashCode() + className.hashCode(); + } + +} diff --git a/libjava/classpath/javax/management/ObjectName.java b/libjava/classpath/javax/management/ObjectName.java new file mode 100644 index 00000000000..0e6bf2fd9cf --- /dev/null +++ b/libjava/classpath/javax/management/ObjectName.java @@ -0,0 +1,775 @@ +/* ObjectName.java -- Represent the name of a bean, or a pattern for a name. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.io.Serializable; + +import java.util.Collections; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.TreeMap; + +/** + *

    + * An {@link ObjectName} instance represents the name of a management + * bean, or a pattern which may match the name of one or more + * management beans. Patterns are distinguished from names by the + * presence of the '?' and '*' characters (which match a single + * character and a series of zero or more characters, respectively). + *

    + *

    + * Each name begins with a domain element, which is terminated by + * a ':' character. The domain may be empty. If so, it will be + * replaced by the default domain of the bean server in certain + * contexts. The domain is a pattern, if it contains either '?' + * or '*'. To avoid collisions, it is usual to use reverse + * DNS names for the domain, as in Java package and property names. + *

    + *

    + * Following the ':' character is a series of properties. The list + * is separated by commas, and largely consists of unordered key-value + * pairs, separated by an equals sign ('='). At most one element may + * be an asterisk ('*'), which turns the {@link ObjectName} instance + * into a property pattern. In this situation, the pattern + * matches a name if the name contains at least those key-value pairs + * given and has the same domain. + *

    + *

    + * A key is a string of characters which doesn't include + * any of those used as delimiters or in patterns (':', '=', ',', '?' + * and '*'). Keys must be unique. + *

    + *

    + * A value may be quoted or unquoted. Unquoted + * values obey the same rules as given for keys above. Quoted values are + * surrounded by quotation marks ("), and use a backslash ('\') character + * to include quotes ('\"'), backslashes ('\\'), newlines ('\n'), and + * the pattern characters ('\?' and '\*'). The quotes and backslashes + * (after expansion) are considered part of the value. + *

    + *

    + * Spaces are maintained within the different parts of the name. Thus, + * 'domain: key1 = value1 ' has a key ' key1 ' with value + * ' value1 '. Newlines are disallowed, except where escaped in quoted + * values. + *

    + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class ObjectName + implements Serializable, QueryExp +{ + + /** + * The domain of the name. + */ + private String domain; + + /** + * The properties, as key-value pairs. + */ + private TreeMap properties; + + /** + * The properties as a string (stored for ordering). + */ + private String propertyListString; + + /** + * True if this object name is a property pattern. + */ + private boolean propertyPattern; + + /** + * The management server associated with this object name. + */ + private MBeanServer server; + + /** + * Constructs an {@link ObjectName} instance from the given string, + * which should be of the form + * <domain>:<properties><wild>. <domain> + * represents the domain section of the name. <properties> + * represents the key-value pairs, as returned by {@link + * #getKeyPropertyListString()}. <wild> is the optional + * asterisk present in the property list. If the string doesn't + * represent a property pattern, it will be empty. If it does, + * it will be either ',*' or '*', depending on whether other + * properties are present or not, respectively. + * + * @param name the string to use to construct this instance. + * @throws MalformedObjectNameException if the string is of the + * wrong format. + * @throws NullPointerException if name is + * null. + */ + public ObjectName(String name) + throws MalformedObjectNameException + { + int domainSep = name.indexOf(':'); + if (domainSep == -1) + throw new MalformedObjectNameException("No domain separator was found."); + domain = name.substring(0, domainSep); + String rest = name.substring(domainSep + 1); + if (rest.equals("*")) + propertyPattern = true; + else + { + if (rest.endsWith(",*")) + { + propertyPattern = true; + propertyListString = rest.substring(0, rest.length() - 2); + } + else + propertyListString = rest; + String[] pairs = propertyListString.split(","); + if (pairs.length == 0 && !isPattern()) + throw new MalformedObjectNameException("A name that is not a " + + "pattern must contain at " + + "least one key-value pair."); + properties = new TreeMap(); + for (int a = 0; a < pairs.length; ++a) + { + int sep = pairs[a].indexOf('='); + String key = pairs[a].substring(0, sep); + if (properties.containsKey(key)) + throw new MalformedObjectNameException("The same key occurs " + + "more than once."); + properties.put(key, pairs[a].substring(sep + 1)); + } + } + checkComponents(); + } + + /** + * Constructs an {@link ObjectName} instance using the given + * domain and the one specified property. + * + * @param domain the domain part of the object name. + * @param key the key of the property. + * @param value the value of the property. + * @throws MalformedObjectNameException the domain, key or value + * contains an illegal + * character or the value + * does not follow the quoting + * specifications. + * @throws NullPointerException if one of the parameters is + * null. + */ + public ObjectName(String domain, String key, String value) + throws MalformedObjectNameException + { + this.domain = domain; + properties = new TreeMap(); + properties.put(key, value); + checkComponents(); + } + + /** + * Constructs an {@link ObjectName} instance using the given + * domain and properties. + * + * @param domain the domain part of the object name. + * @param properties the key-value property pairs. + * @throws MalformedObjectNameException the domain, a key or a value + * contains an illegal + * character or a value + * does not follow the quoting + * specifications. + * @throws NullPointerException if one of the parameters is + * null. + */ + public ObjectName(String domain, Hashtable properties) + throws MalformedObjectNameException + { + this.domain = domain; + this.properties.putAll(properties); + checkComponents(); + } + + /** + * Checks the legality of the domain and the properties. + * + * @throws MalformedObjectNameException the domain, a key or a value + * contains an illegal + * character or a value + * does not follow the quoting + * specifications. + */ + private void checkComponents() + throws MalformedObjectNameException + { + if (domain.indexOf(':') != -1) + throw new MalformedObjectNameException("The domain includes a ':' " + + "character."); + if (domain.indexOf('\n') != -1) + throw new MalformedObjectNameException("The domain includes a newline " + + "character."); + char[] chars = new char[] { ':', ',', '*', '?', '=' }; + Iterator i = properties.entrySet().iterator(); + while (i.hasNext()) + { + Map.Entry entry = (Map.Entry) i.next(); + String key = (String) entry.getKey(); + for (int a = 0; a < chars.length; ++a) + if (key.indexOf(chars[a]) != -1) + throw new MalformedObjectNameException("A key contains a '" + + chars[a] + "' " + + "character."); + String value = (String) entry.getValue(); + int quote = value.indexOf('"'); + if (quote == 0) + { + try + { + unquote(value); + } + catch (IllegalArgumentException e) + { + throw new MalformedObjectNameException("The quoted value is " + + "invalid."); + } + } + else if (quote != -1) + throw new MalformedObjectNameException("A value contains " + + "a '\"' character."); + else + { + for (int a = 0; a < chars.length; ++a) + if (value.indexOf(chars[a]) != -1) + throw new MalformedObjectNameException("A value contains " + + "a '" + chars[a] + "' " + + "character."); + } + } + } + + /** + *

    + * Attempts to find a match between this name and the one supplied. + * The following criteria are used: + *

    + *
      + *
    • If the supplied name is a pattern, false is + * returned.
    • + *
    • If this name is a pattern, this method returns true + * if the supplied name matches the pattern.
    • + *
    • If this name is not a pattern, the result of + * equals(name) is returned. + *
    + * + * @param name the name to find a match with. + * @return true if the name either matches this pattern or is + * equivalent to this name under the criteria of + * {@link #equals(java.lang.Object)} + * @throws NullPointerException if name is null. + */ + public boolean apply(ObjectName name) + { + if (name.isPattern()) + return false; + if (isPattern()) + { + boolean domainMatch, propMatch; + if (isDomainPattern()) + { + String oDomain = name.getDomain(); + int oLength = oDomain.length(); + for (int a = 0; a < domain.length(); ++a) + { + char n = domain.charAt(a); + if (oLength == a && n != '*') + return false; + if (n == '?') + continue; + if (n == '*') + if ((a + 1) < domain.length()) + { + if (oLength == a) + return false; + char next; + do + { + next = domain.charAt(a + 1); + } while (next == '*'); + if (next == '?') + continue; + int pos = a; + while (oDomain.charAt(pos) != next) + { + ++pos; + if (pos == oLength) + return false; + } + } + if (n != oDomain.charAt(a)) + return false; + } + domainMatch = true; + } + else + domainMatch = domain.equals(name.getDomain()); + if (isPropertyPattern()) + { + Hashtable oProps = name.getKeyPropertyList(); + Iterator i = properties.entrySet().iterator(); + while (i.hasNext()) + { + Map.Entry entry = (Map.Entry) i.next(); + String key = (String) entry.getKey(); + if (!(oProps.containsKey(key))) + return false; + String val = (String) entry.getValue(); + if (!(val.equals(oProps.get(key)))) + return false; + } + propMatch = true; + } + else + propMatch = + getCanonicalKeyPropertyListString().equals + (name.getCanonicalKeyPropertyListString()); + return domainMatch && propMatch; + } + return equals(name); + } + + /** + * Compares the specified object with this one. The two + * are judged to be equivalent if the given object is an + * instance of {@link ObjectName} and has an equal canonical + * form (as returned by {@link #getCanonicalName()}). + * + * @param obj the object to compare with this. + * @return true if the object is also an {@link ObjectName} + * with an equivalent canonical form. + */ + public boolean equals(Object obj) + { + if (obj instanceof ObjectName) + { + ObjectName o = (ObjectName) obj; + return getCanonicalName().equals(o.getCanonicalName()); + } + return false; + } + + /** + * Returns the property list in canonical form. The keys + * are ordered using the lexicographic ordering used by + * {@link java.lang.String#compareTo(java.lang.Object)}. + * + * @return the property list, with the keys in lexicographic + * order. + */ + public String getCanonicalKeyPropertyListString() + { + StringBuilder builder = new StringBuilder(); + Iterator i = properties.entrySet().iterator(); + while (i.hasNext()) + { + Map.Entry entry = (Map.Entry) i.next(); + builder.append(entry.getKey() + "=" + entry.getValue()); + if (i.hasNext()) + builder.append(","); + } + return builder.toString(); + } + + /** + *

    + * Returns the name as a string in canonical form. More precisely, + * this returns a string of the format + * <domain>:<properties><wild>. <properties> + * is the same value as returned by + * {@link #getCanonicalKeyPropertyListString()}. <wild> + * is: + *

    + *
      + *
    • an empty string, if the object name is not a property pattern.
    • + *
    • '*' if <properties> is empty.
    • + *
    • ',*' if there is at least one key-value pair.
    • + *
    + * + * @return the canonical string form of the object name, as specified + * above. + */ + public String getCanonicalName() + { + return domain + ":" + + getCanonicalKeyPropertyListString() + + (isPropertyPattern() ? (properties.isEmpty() ? "*" : ",*") : ""); + } + + /** + * Returns the domain part of the object name. + * + * @return the domain. + */ + public String getDomain() + { + return domain; + } + + /** + * Returns an {@link ObjectName} instance that is substitutable for the + * one given. The instance returned may be a subclass of {@link ObjectName}, + * but is not guaranteed to be of the same type as the given name, if that + * should also turn out to be a subclass. The returned instance may or may + * not be equivalent to the one given. The purpose of this method is to provide + * an instance of {@link ObjectName} with a well-defined semantics, such as may + * be used in cases where the given name is not trustworthy. + * + * @param name the {@link ObjectName} to provide a substitute for. + * @return a substitute for the given name, which may or may not be a subclass + * of {@link ObjectName}. In either case, the returned object is + * guaranteed to have the semantics defined here. + * @throws NullPointerException if name is null. + */ + public static ObjectName getInstance(ObjectName name) + { + try + { + return new ObjectName(name.getCanonicalName()); + } + catch (MalformedObjectNameException e) + { + throw (InternalError) + (new InternalError("The canonical name of " + + "the given name is invalid.").initCause(e)); + } + } + + /** + * Returns an {@link ObjectName} instance for the specified name, represented + * as a {@link java.lang.String}. The instance returned may be a subclass of + * {@link ObjectName} and may or may not be equivalent to earlier instances + * returned by this method for the same string. + * + * @param name the {@link ObjectName} to provide an instance of. + * @return a instance for the given name, which may or may not be a subclass + * of {@link ObjectName}. + * @throws MalformedObjectNameException the domain, a key or a value + * contains an illegal + * character or a value + * does not follow the quoting + * specifications. + * @throws NullPointerException if name is null. + */ + public static ObjectName getInstance(String name) + throws MalformedObjectNameException + { + return new ObjectName(name); + } + + /** + * Returns an {@link ObjectName} instance for the specified name, represented + * as a series of {@link java.lang.String} objects for the domain and a single + * property, as a key-value pair. The instance returned may be a subclass of + * {@link ObjectName} and may or may not be equivalent to earlier instances + * returned by this method for the same parameters. + * + * @param domain the domain part of the object name. + * @param key the key of the property. + * @param value the value of the property. + * @return a instance for the given name, which may or may not be a subclass + * of {@link ObjectName}. + * @throws MalformedObjectNameException the domain, a key or a value + * contains an illegal + * character or a value + * does not follow the quoting + * specifications. + * @throws NullPointerException if name is null. + */ + public static ObjectName getInstance(String domain, String key, String value) + throws MalformedObjectNameException + { + return new ObjectName(domain, key, value); + } + + /** + * Returns an {@link ObjectName} instance for the specified name, represented + * as a domain {@link java.lang.String} and a table of properties. The + * instance returned may be a subclass of {@link ObjectName} and may or may + * not be equivalent to earlier instances returned by this method for the + * same string. + * + * @param domain the domain part of the object name. + * @param properties the key-value property pairs. + * @return a instance for the given name, which may or may not be a subclass + * of {@link ObjectName}. + * @throws MalformedObjectNameException the domain, a key or a value + * contains an illegal + * character or a value + * does not follow the quoting + * specifications. + * @throws NullPointerException if name is null. + */ + public static ObjectName getInstance(String domain, Hashtable properties) + throws MalformedObjectNameException + { + return new ObjectName(domain, properties); + } + + /** + * Returns the property value corresponding to the given key. + * + * @param key the key of the property to be obtained. + * @return the value of the specified property. + * @throws NullPointerException if key is null. + */ + public String getKeyProperty(String key) + { + if (key == null) + throw new NullPointerException("Null key given in request for a value."); + return (String) properties.get(key); + } + + /** + * Returns the properties in a {@link java.util.Hashtable}. The table + * contains each of the properties as keys mapped to their value. The + * returned table may be unmodifiable. If the case that the table is + * modifiable, changes made to it will not be reflected in the object + * name. + * + * @return a {@link java.util.Hashtable}, containing each of the object + * name's properties. + */ + public Hashtable getKeyPropertyList() + { + return (Hashtable) Collections.unmodifiableMap(new Hashtable(properties)); + } + + /** + * Returns a {@link java.lang.String} representation of the property + * list. If the object name was created using {@link + * ObjectName(String)}, then this string will contain the properties + * in the same order they were given in at creation. + * + * @return the property list. + */ + public String getKeyPropertyListString() + { + if (propertyListString != null) + return propertyListString; + return getCanonicalKeyPropertyListString(); + } + + /** + * Returns a hash code for this object name. This is calculated as the + * summation of the hash codes of the domain and the properties. + * + * @return a hash code for this object name. + */ + public int hashCode() + { + return domain.hashCode() + properties.hashCode(); + } + + /** + * Returns true if the domain of this object name is a pattern. + * This is the case if it contains one or more wildcard characters + * ('*' or '?'). + * + * @return true if the domain is a pattern. + */ + public boolean isDomainPattern() + { + return domain.contains("?") || domain.contains("*"); + } + + /** + * Returns true if this is an object name pattern. An object + * name pattern has a domain containing a wildcard character + * ('*' or '?') and/or a '*' in the list of properties. + * This method will return true if either {@link #isDomainPattern()} + * or {@link #isPropertyPattern()} does. + * + * @return true if this is an object name pattern. + */ + public boolean isPattern() + { + return isDomainPattern() || isPropertyPattern(); + } + + /** + * Returns true if this object name is a property pattern. This is + * the case if the list of properties contains an '*'. + * + * @return true if this is a property pattern. + */ + public boolean isPropertyPattern() + { + return propertyPattern; + } + + /** + *

    + * Returns a quoted version of the supplied string. The string may + * contain any character. The resulting quoted version is guaranteed + * to be usable as the value of a property, so this method provides + * a good way of ensuring that a value is legal. + *

    + *

    + * The string is transformed as follows: + *

    + *
      + *
    • The string is prefixed with an opening quote character, '"'. + *
    • For each character, s: + *
        + *
      • If s is a quote ('"'), it is replaced by a backslash + * followed by a quote.
      • + *
      • If s is a star ('*'), it is replaced by a backslash followed + * by a star.
      • + *
      • If s is a question mark ('?'), it is replaced by a backslash + * followed by a question mark.
      • + *
      • If s is a backslash ('\'), it is replaced by two backslashes.
      • + *
      • If s is a newline character, it is replaced by a backslash followed by + * a '\n'.
      • + *
      • Otherwise, s is used verbatim. + *
    • + *
    • The string is terminated with a closing quote character, '"'.
    • + *
    + * + * @param string the string to quote. + * @return a quoted version of the supplied string. + * @throws NullPointerException if string is null. + */ + public static String quote(String string) + { + StringBuilder builder = new StringBuilder('"'); + for (int a = 0; a < string.length(); ++a) + { + char s = string.charAt(a); + switch (s) + { + case '"': + builder.append("\\\""); + break; + case '*': + builder.append("\\*"); + break; + case '?': + builder.append("\\?"); + break; + case '\\': + builder.append("\\\\"); + break; + case '\n': + builder.append("\\\n"); + break; + default: + builder.append(s); + } + } + builder.append('"'); + return builder.toString(); + } + + /** + * Changes the {@link MBeanServer} on which this query is performed. + * + * @param server the new server to use. + */ + public void setMBeanServer(MBeanServer server) + { + this.server = server; + } + + /** + * Returns a textual representation of the object name. + * The format is unspecified, but it should be expected that + * two equivalent object names will return the same string + * from this method. + * + * @return a textual representation of the object name. + */ + public String toString() + { + return getClass().toString() + + "[domain = " + domain + + ",properties = " + properties + + ",propertyPattern = " + propertyPattern + + "]"; + } + + /** + * Unquotes the supplied string. The quotation marks are removed as + * are the backslashes preceding the escaped characters ('"', '?', + * '*', '\n', '\\'). A one-to-one mapping exists between quoted and + * unquoted values. As a result, a string s should be + * equal to unquote(quote(s)). + * + * @param q the quoted string to unquote. + * @return the unquoted string. + * @throws NullPointerException if q is null. + * @throws IllegalArgumentException if the string is not a valid + * quoted string i.e. it is not + * surrounded by quotation marks + * and/or characters are not properly + * escaped. + */ + public static String unquote(String q) + { + if (q.charAt(0) != '"') + throw new IllegalArgumentException("The string does " + + "not start with a quote."); + if (q.charAt(q.length() - 1) != '"') + throw new IllegalArgumentException("The string does " + + "not end with a quote."); + StringBuilder builder = new StringBuilder(); + for (int a = 1; a < (q.length() - 1); ++a) + { + char n = q.charAt(a); + if (n == '\\') + { + n = q.charAt(++a); + if (n != '"' && n != '?' && n != '*' && + n != '\n' && n != '\\') + throw new IllegalArgumentException("Illegal escaped character: " + + n); + } + builder.append(n); + } + + return builder.toString(); + } + +} diff --git a/libjava/classpath/javax/management/QueryExp.java b/libjava/classpath/javax/management/QueryExp.java new file mode 100644 index 00000000000..124228c784a --- /dev/null +++ b/libjava/classpath/javax/management/QueryExp.java @@ -0,0 +1,87 @@ +/* QueryExp.java -- Represents a query expression. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.io.Serializable; + +/** + * Applies the type of relational constraints seen in the + * where clauses of databases to an + * {@link ObjectName}. Instances of this class are usually + * returned by the static methods of the {@link Query} classes. + * If a custom implementation is required, it is better to + * extend the {@link QueryEval} class, rather than simply + * implementing this interface, in order to ensure that + * the {@link #setMBeanServer(MBeanServer)} method functions + * correctly. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface QueryExp + extends Serializable +{ + + /** + * Applies the query to the specified management bean. + * + * @param name the name of the management bean. + * @return true if the query was applied successfully. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the query. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the query. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the query. + * @throws InvalidApplicationException if the query is applied + * to the wrong type of bean. + */ + boolean apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException; + + /** + * Changes the {@link MBeanServer} on which this query is performed. + * + * @param server the new server to use. + */ + void setMBeanServer(MBeanServer server); + +} + diff --git a/libjava/classpath/javax/management/RuntimeErrorException.java b/libjava/classpath/javax/management/RuntimeErrorException.java new file mode 100644 index 00000000000..811dc40f2fb --- /dev/null +++ b/libjava/classpath/javax/management/RuntimeErrorException.java @@ -0,0 +1,115 @@ +/* RuntimeErrorException.java -- A user-defined management error. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Represents an arbitrary error thrown by a management + * bean. When a management bean executes code that causes + * an error to be thrown, the resulting error is + * wrapped inside an {@link RuntimeErrorException}. Calling + * {@link getTargetError()} will return the wrapped + * exception. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class RuntimeErrorException + extends JMRuntimeException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 704338937753949796L; + + /** + * The target error. + * + * @serial the target error. + */ + private Error error; + + /** + * Constructs a new RuntimeErrorException wrapping + * the specified error. + * + * @param e the error to be wrapped. + */ + public RuntimeErrorException(Error e) + { + super(); + error = e; + } + + /** + * Constructs a new RuntimeErrorException wrapping + * the specified error and using the supplied message. + * + * @param e the error to be wrapped. + * @param message the error message to give to the user. + */ + public RuntimeErrorException(Error e, String message) + { + super(message); + error = e; + } + + /** + * Returns the true cause of this error, the wrapped + * error. + * + * @return the wrapped error. + */ + public Throwable getCause() + { + return error; + } + + /** + * Returns the true cause of this error, the wrapped + * error. + * + * @return the wrapped error. + */ + public Error getTargetError() + { + return error; + } + +} + diff --git a/libjava/classpath/javax/management/RuntimeMBeanException.java b/libjava/classpath/javax/management/RuntimeMBeanException.java new file mode 100644 index 00000000000..95225a80ab7 --- /dev/null +++ b/libjava/classpath/javax/management/RuntimeMBeanException.java @@ -0,0 +1,114 @@ +/* RuntimeMBeanException.java -- A user-defined management exception. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Represents an arbitrary runtime exception thrown by a management + * bean. When a management bean executes code that causes a runtime + * exception to be thrown, the resulting exception is wrapped inside a + * {@link RuntimeMBeanException}. Calling {@link + * getTargetException()} will return the wrapped exception. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class RuntimeMBeanException + extends JMRuntimeException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 5274912751982730171L; + + /** + * The target exception. + * + * @serial the target exception. + */ + private RuntimeException runtimeException; + + /** + * Constructs a new RuntimeMBeanException wrapping + * the specified exception. + * + * @param e the exception to be wrapped. + */ + public RuntimeMBeanException(RuntimeException e) + { + super(); + runtimeException = e; + } + + /** + * Constructs a new RuntimeMBeanException wrapping + * the specified exception and using the supplied message. + * + * @param e the exception to be wrapped. + * @param message the error message to give to the user. + */ + public RuntimeMBeanException(RuntimeException e, String message) + { + super(message); + runtimeException = e; + } + + /** + * Returns the true cause of this exception, the wrapped runtime + * exception. + * + * @return the wrapped exception. + */ + public Throwable getCause() + { + return runtimeException; + } + + /** + * Returns the true cause of this exception, the wrapped runtime + * exception. + * + * @return the wrapped exception. + */ + public RuntimeException getTargetException() + { + return runtimeException; + } + +} + diff --git a/libjava/classpath/javax/management/ServiceNotFoundException.java b/libjava/classpath/javax/management/ServiceNotFoundException.java new file mode 100644 index 00000000000..602e1490db4 --- /dev/null +++ b/libjava/classpath/javax/management/ServiceNotFoundException.java @@ -0,0 +1,75 @@ +/* ServiceNotFoundException.java -- Thrown by invalid values. + Copyright (C) 2006 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. */ + +package javax.management; + +/** + * Thrown when a requested service is unsupported. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class ServiceNotFoundException + extends OperationsException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -3990675661956646827L; + + /** + * Constructs a new ServiceNotFoundException. + */ + public ServiceNotFoundException() + { + super(); + } + + /** + * Constructs a new ServiceNotFoundException + * with the specified message. + * + * @param message the error message to give to the user. + */ + public ServiceNotFoundException(String message) + { + super(message); + } + +} + diff --git a/libjava/classpath/javax/management/StandardMBean.java b/libjava/classpath/javax/management/StandardMBean.java index 736192ee2ac..16b6f0b6687 100644 --- a/libjava/classpath/javax/management/StandardMBean.java +++ b/libjava/classpath/javax/management/StandardMBean.java @@ -205,17 +205,13 @@ public class StandardMBean Method getter; try { - getter = iface.getMethod("get" + - name.substring(0, 1).toUpperCase() + - name.substring(1), null); + getter = iface.getMethod("get" + name, null); } catch (NoSuchMethodException e) { try { - getter = iface.getMethod("is" + - name.substring(0, 1).toUpperCase() + - name.substring(1), null); + getter = iface.getMethod("is" + name, null); } catch (NoSuchMethodException ex) { @@ -564,11 +560,9 @@ public class StandardMBean Method[] amethods; String attrib; if (name.startsWith("is")) - attrib = name.substring(2,3).toLowerCase() - + name.substring(3); + attrib = name.substring(2); else - attrib = name.substring(3,4).toLowerCase() - + name.substring(4); + attrib = name.substring(3); if (attributes.containsKey(attrib)) amethods = (Method[]) attributes.get(attrib); else @@ -583,8 +577,7 @@ public class StandardMBean methods[a].getParameterTypes().length == 1) { Method[] amethods; - String attrib = name.substring(3,4).toLowerCase() - + name.substring(4); + String attrib = name.substring(3); if (attributes.containsKey(attrib)) amethods = (Method[]) attributes.get(attrib); else @@ -595,7 +588,8 @@ public class StandardMBean amethods[1] = methods[a]; } else - operations.add(new MBeanOperationInfo("", methods[a])); + operations.add(new MBeanOperationInfo(methods[a].getName(), + methods[a])); } List attribs = new ArrayList(attributes.size()); Iterator it = attributes.entrySet().iterator(); @@ -605,7 +599,8 @@ public class StandardMBean Method[] amethods = (Method[]) entry.getValue(); try { - attribs.add(new MBeanAttributeInfo((String) entry.getKey(), "", + attribs.add(new MBeanAttributeInfo((String) entry.getKey(), + (String) entry.getKey(), amethods[0], amethods[1])); } catch (IntrospectionException e) @@ -632,7 +627,8 @@ public class StandardMBean MBeanConstructorInfo[] cinfo = new MBeanConstructorInfo[cons.length]; for (int a = 0; a < cinfo.length; ++a) { - MBeanConstructorInfo oldInfo = new MBeanConstructorInfo("", cons[a]); + MBeanConstructorInfo oldInfo = new MBeanConstructorInfo(cons[a].getName(), + cons[a]); String desc = getDescription(oldInfo); MBeanParameterInfo[] params = oldInfo.getSignature(); MBeanParameterInfo[] pinfo = new MBeanParameterInfo[params.length]; @@ -665,8 +661,8 @@ public class StandardMBean oinfo[a] = new MBeanOperationInfo(oldInfo.getName(), desc, pinfo, oldInfo.getReturnType(), impact); } - info = new MBeanInfo(impl.getClass().getName(), "", ainfo, cinfo, - oinfo, null); + info = new MBeanInfo(impl.getClass().getName(), impl.getClass().getName(), + ainfo, cinfo, oinfo, null); String cname = getClassName(info); String desc = getDescription(info); info = new MBeanInfo(cname, desc, ainfo, cinfo, oinfo, null); @@ -679,7 +675,7 @@ public class StandardMBean * * @return the management interface. */ - public Class getMBeanInterface() + public final Class getMBeanInterface() { return iface; } diff --git a/libjava/classpath/javax/management/ValueExp.java b/libjava/classpath/javax/management/ValueExp.java new file mode 100644 index 00000000000..503f2322194 --- /dev/null +++ b/libjava/classpath/javax/management/ValueExp.java @@ -0,0 +1,86 @@ +/* ValueExp.java -- Represents values that can be passed to queries. + Copyright (C) 2006 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. */ + +package javax.management; + +import java.io.Serializable; + +/** + * Represents values that may be passed as arguments to + * {@link QueryExp}s. Strings, numbers and bean attributes + * are all valid argument types for query expressions, and + * so should be represented as implementations of this + * interface. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface ValueExp + extends Serializable +{ + + /** + * Applies the value expression to the specified management bean. + * + * @param name the name of the management bean. + * @return the value expression. + * @throws BadStringOperationException if an invalid string + * operation is used by + * the value expression. + * @throws BadBinaryOpValueExpException if an invalid expression + * is used by the value expression. + * @throws BadAttributeValueExpException if an invalid attribute + * is used by the value expression. + * @throws InvalidApplicationException if the value expression is applied + * to the wrong type of bean. + */ + ValueExp apply(ObjectName name) + throws BadStringOperationException, BadBinaryOpValueExpException, + BadAttributeValueExpException, InvalidApplicationException; + + /** + * Changes the {@link MBeanServer} on which this query is performed. + * + * @param server the new server to use. + * @deprecated This method is superfluous, as the {@link ValueExp} + * can access the server using + * {@link QueryEval#getMBeanServer()}. + */ + void setMBeanServer(MBeanServer server); + +} + diff --git a/libjava/classpath/javax/management/loading/ClassLoaderRepository.java b/libjava/classpath/javax/management/loading/ClassLoaderRepository.java new file mode 100644 index 00000000000..e2c8b7c5bf7 --- /dev/null +++ b/libjava/classpath/javax/management/loading/ClassLoaderRepository.java @@ -0,0 +1,139 @@ +/* ClassLoaderRepository.java -- Represents a collection of class loadersx. + Copyright (C) 2006 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. */ + +package javax.management.loading; + +/** + * Implementations of this interface maintain a list of + * {@link ClassLoader}s for use by the management servers, + * allowing classes to be loaded by the first {@link ClassLoader} + * that will do so. A class loader is added to the list + * whenever a {@link ClassLoader} instance is registered with + * the management server, and it does not implement the + * {@link PrivateClassLoader} interface. They are removed when + * unregistered. The first class loader in the list is always + * the one which was used to load the management server itself. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + * @see MBeanServerFactory + */ +public interface ClassLoaderRepository +{ + + /** + * Attempts to load the given class using class loaders + * supplied by the list. The {@link ClassLoader#loadClass(String)} + * method of each class loader is called. If the method + * returns successfully, then the returned {@link Class} instance + * is returned. If a {@link ClassNotFoundException} is thrown, + * then the next loader is tried. Any other exception thrown + * by the method is passed back to the caller. This method + * throws a {@link ClassNotFoundException} itself if all the + * class loaders listed prove fruitless. + * + * @param name the name of the class to load. + * @return the loaded class. + * @throws ClassNotFoundException if all the class loaders fail + * to load the class. + */ + Class loadClass(String name) + throws ClassNotFoundException; + + /** + *

    + * Attempts to load the given class using class loaders + * supplied by the list, stopping when the specified + * loader is reached. The {@link ClassLoader#loadClass(String)} + * method of each class loader is called. If the method + * returns successfully, then the returned {@link Class} instance + * is returned. If a {@link ClassNotFoundException} is thrown, + * then the next loader is tried. Any other exception thrown + * by the method is passed back to the caller. This method + * throws a {@link ClassNotFoundException} itself if all the + * class loaders listed prove fruitless. + *

    + *

    + * This method is usually used by the class loader specified + * by the stop argument to load classes using the + * loaders that appear before it in the list. By stopping when + * the loader is reached, the deadlock that occurs when the loader + * is merely skipped is avoided. + *

    + * + * @param stop the class loader at which to stop, or null + * to obtain the same behaviour as {@link #loadClass(String)}. + * @param name the name of the class to load. + * @return the loaded class. + * @throws ClassNotFoundException if all the class loaders fail + * to load the class. + */ + Class loadClassBefore(ClassLoader stop, String name) + throws ClassNotFoundException; + + /** + *

    + * Attempts to load the given class using class loaders + * supplied by the list, excluding the one specified. + * The {@link ClassLoader#loadClass(String)} + * method of each class loader is called. If the method + * returns successfully, then the returned {@link Class} instance + * is returned. If a {@link ClassNotFoundException} is thrown, + * then the next loader is tried. Any other exception thrown + * by the method is passed back to the caller. This method + * throws a {@link ClassNotFoundException} itself if all the + * class loaders listed prove fruitless. + *

    + *

    + * Note that this method may deadlock if called simultaneously + * by two class loaders in the list. + * {@link loadClassBefore(ClassLoader, String)} should be used + * in preference to this method to avoid this. + *

    + * + * @param exclude the class loader to exclude, or null + * to obtain the same behaviour as {@link #loadClass(String)}. + * @param name the name of the class to load. + * @return the loaded class. + * @throws ClassNotFoundException if all the class loaders fail + * to load the class. + */ + Class loadClassWithout(ClassLoader exclude, String name) + throws ClassNotFoundException; + +} + diff --git a/libjava/classpath/javax/management/openmbean/InvalidOpenTypeException.java b/libjava/classpath/javax/management/openmbean/InvalidOpenTypeException.java new file mode 100644 index 00000000000..9c9ff8cfab8 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/InvalidOpenTypeException.java @@ -0,0 +1,76 @@ +/* InvalidOpenTypeException.java -- Thrown by an invalid open type. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +/** + * Thrown when a open data value has an erroneous open + * type. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class InvalidOpenTypeException + extends IllegalArgumentException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -2837312755412327534L; + + /** + * Constructs a new InvalidOpenTypeException. + */ + public InvalidOpenTypeException() + { + super(); + } + + /** + * Constructs a new InvalidOpenTypeException + * with the specified message. + * + * @param message the error message to give to the user. + */ + public InvalidOpenTypeException(String message) + { + super(message); + } + +} + diff --git a/libjava/classpath/javax/management/openmbean/KeyAlreadyExistsException.java b/libjava/classpath/javax/management/openmbean/KeyAlreadyExistsException.java new file mode 100644 index 00000000000..cc6bba63621 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/KeyAlreadyExistsException.java @@ -0,0 +1,77 @@ +/* KeyAlreadyExistsException.java -- Thrown when a key clashes with another. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +/** + * Thrown when a key (a field name or row index) is passed to a method + * of the {@link CompositeData} or {@link TabularData} classes and it + * is found to already be in use. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class KeyAlreadyExistsException + extends IllegalArgumentException +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 1845183636745282866L; + + /** + * Constructs a new KeyAlreadyExistsException. + */ + public KeyAlreadyExistsException() + { + super(); + } + + /** + * Constructs a new KeyAlreadyExistsException + * with the specified message. + * + * @param message the error message to give to the user. + */ + public KeyAlreadyExistsException(String message) + { + super(message); + } + +} + diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfo.java new file mode 100644 index 00000000000..1b276fd197f --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfo.java @@ -0,0 +1,120 @@ +/* OpenMBeanAttributeInfo.java -- Open typed info about an attribute. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +/** + * Describes an attribute associated with an open management bean. + * This interface includes those methods specified by {@link + * javax.management.MBeanAttributeInfo}, so implementations should + * extend this class. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface OpenMBeanAttributeInfo + extends OpenMBeanParameterInfo +{ + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanAttributeInfo} + * with an equal name and open type, the same default, minimum, + * maximum and legal values and the same access properties + * ({@link #isIs()}, {@link #isReadable()}, {@link #isWritable()}). + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * openType.equals(object.getOpenType()), + * defaultValue.equals(object.getDefaultValue()), + * minValue.equals(object.getMinValue()), + * maxValue.equals(object.getMaxValue()), + * legalValues.equals(object.getLegalValues()), + * is == object.isIs(), + * isRead == object.isReadable(), + * and isWrite == object.isWritable(). + */ + boolean equals(Object obj); + + /** + * Returns the hashcode of the attribute information as the sum of + * the hashcodes of the name, open type, default value, maximum + * value, minimum value, the set of legal values and the access + * properties. + * + * @return the hashcode of the attribute information. + */ + int hashCode(); + + /** + * Returns true if the accessor method of this attribute + * is of the form isXXX. + * + * @return true if the accessor takes the form isXXX. + */ + boolean isIs(); + + /** + * Returns true if value of this attribute can be read. + * + * @return true if the value of the attribute can be read. + */ + boolean isReadable(); + + /** + * Returns true if the value of this attribute can be changed. + * + * @return true if the value of the attribute can be changed. + */ + boolean isWritable(); + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanAttributeInfo) + * along with the name, open type, default, minimum, maximum + * and legal values of the parameter and the access permissions + * ({@link #isIs()}, {@link #isReadable()}, {@link #isWritable()}). + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + String toString(); + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java new file mode 100644 index 00000000000..83e043640b4 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java @@ -0,0 +1,546 @@ +/* OpenMBeanAttributeInfoSupport.java -- Open typed info about an attribute. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import javax.management.MBeanAttributeInfo; + +/** + * Describes an attribute of an open management bean. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class OpenMBeanAttributeInfoSupport + extends MBeanAttributeInfo + implements OpenMBeanAttributeInfo +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -4867215622149721849L; + + /** + * The open type of the attribute. + */ + private OpenType openType; + + /** + * The default value of the attribute (may be null). + */ + private Object defaultValue; + + /** + * The possible legal values of the attribute (may be null). + */ + private Set legalValues; + + /** + * The minimum value of the attribute (may be null). + */ + private Comparable minValue; + + /** + * The maximum value of the attribute (may be null). + */ + private Comparable maxValue; + + /** + * The hash code of this instance. + */ + private transient Integer hashCode; + + /** + * The toString() result of this instance. + */ + private transient String string; + + /** + * Constructs a new {@link OpenMBeanAttributeInfo} using the + * specified name, description, open type and access properties. + * The name, description and open type may not be null + * and the name and description may not be equal to the empty + * string. + * + * @param name the name of the attribute. + * @param desc a description of the attribute. + * @param type the open type of the attribute. + * @param isReadable true if the attribute's value can be read. + * @param isWritable true if the attribute's value can be changed. + * @param isIs true if the attribute uses an accessor of the form isXXX. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + */ + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs) + { + super(name, type == null ? null : type.getClassName(), desc, isReadable, + isWritable, isIs); + if (name == null) + throw new IllegalArgumentException("The name may not be null."); + if (desc == null) + throw new IllegalArgumentException("The description may not be null."); + if (type == null) + throw new IllegalArgumentException("The type may not be null."); + if (name.length() == 0) + throw new IllegalArgumentException("The name may not be the empty string."); + if (desc.length() == 0) + throw new IllegalArgumentException("The description may not be the " + + "empty string."); + } + + /** + * Constructs a new {@link OpenMBeanAttributeInfo} using the + * specified name, description, open type and default value. The + * name, description and open type cannot be null and + * the name and description may not be equal to the empty string. + * The default value may be null. If non-null, it must + * be a valid value of the given open type. Default values are not + * applicable to the open types, {@link ArrayType} and {@link + * TabularType}. + * + * @param name the name of the attribute. + * @param desc a description of the attribute. + * @param type the open type of the attribute. + * @param isReadable true if the attribute's value can be read. + * @param isWritable true if the attribute's value can be changed. + * @param isIs true if the attribute uses an accessor of the form isXXX. + * @param defaultValue the default value of the attribute. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + * @throws OpenDataException if defaultValue is non-null + * and is either not a value of the given + * open type or the open type is an instance + * of {@link ArrayType} or {@link TabularType}. + */ + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs, Object defaultValue) + throws OpenDataException + { + this(name, desc, type, isReadable, isWritable, isIs, defaultValue, null); + } + + /** + *

    + * Constructs a new {@link OpenMBeanAttributeInfo} using the + * specified name, description, open type, access properties, + * default, maximum and minimum values. The name, description + * and open type cannot be null and the name and + * description may not be equal to the empty string. The + * default, maximum and minimum values may be null. + * The following conditions apply when the attributes mentioned + * are non-null: + *

    + *
      + *
    • The values must be valid values for the given open type.
    • + *
    • Default values are not applicable to the open types, {@link + * ArrayType} and {@link TabularType}.
    • + *
    • The minimum value must be smaller than or equal to the maximum value + * (literally, minValue.compareTo(maxValue) <= 0.
    • + *
    • The minimum value must be smaller than or equal to the default value + * (literally, minValue.compareTo(defaultValue) <= 0.
    • + *
    • The default value must be smaller than or equal to the maximum value + * (literally, defaultValue.compareTo(maxValue) <= 0.
    • + *
    + * + * @param name the name of the attribute. + * @param desc a description of the attribute. + * @param type the open type of the attribute. + * @param isReadable true if the attribute's value can be read. + * @param isWritable true if the attribute's value can be changed. + * @param isIs true if the attribute uses an accessor of the form isXXX. + * @param defaultValue the default value of the attribute, or null. + * @param minimumValue the minimum value of the attribute, or null. + * @param maximumValue the maximum value of the attribute, or null. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + * @throws OpenDataException if any condition in the list above is broken. + */ + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs, Object defaultValue, + Comparable minimumValue, + Comparable maximumValue) + throws OpenDataException + { + this(name, desc, type, isReadable, isWritable, isIs); + if (defaultValue != null && !(type.isValue(defaultValue))) + throw new OpenDataException("The default value is not a member of the " + + "open type given."); + if (minimumValue != null && !(type.isValue(minimumValue))) + throw new OpenDataException("The minimum value is not a member of the " + + "open type given."); + if (maximumValue != null && !(type.isValue(maximumValue))) + throw new OpenDataException("The maximum value is not a member of the " + + "open type given."); + if (defaultValue != null && (type instanceof ArrayType || + type instanceof TabularType)) + throw new OpenDataException("Default values are not applicable for " + + "array or tabular types."); + if (minValue != null && maxValue != null + && minValue.compareTo(maxValue) > 0) + throw new OpenDataException("The minimum value is greater than the " + + "maximum."); + if (minValue != null && defaultValue != null + && minValue.compareTo(defaultValue) > 0) + throw new OpenDataException("The minimum value is greater than the " + + "default."); + if (defaultValue != null && maxValue != null + && maxValue.compareTo(defaultValue) < 0) + throw new OpenDataException("The default value is greater than the " + + "maximum."); + + openType = type; + this.defaultValue = defaultValue; + minValue = minimumValue; + maxValue = maximumValue; + } + + /** + *

    + * Constructs a new {@link OpenMBeanAttributeInfo} using the + * specified name, description, open type, access properties, default + * value and set of legal values. The name, description and open type + * cannot be null and the name and description may not be + * equal to the empty string. The default, maximum and minimum values + * may be null. The following conditions apply when the + * attributes mentioned are non-null: + *

    + *
      + *
    • The default value and each of the legal values must be a valid + * value for the given open type.
    • + *
    • Default and legal values are not applicable to the open types, {@link + * ArrayType} and {@link TabularType}.
    • + *
    • The default value is not in the set of legal values.
    • + *
    + *

    + * The legal values are copied from the array into a unmodifiable set, + * so future modifications to the array have no effect. + *

    + * + * @param name the name of the attribute. + * @param desc a description of the attribute. + * @param type the open type of the attribute. + * @param isReadable true if the attribute's value can be read. + * @param isWritable true if the attribute's value can be changed. + * @param isIs true if the attribute uses an accessor of the form isXXX. + * @param defaultValue the default value of the attribute, or null. + * @param legalValues the legal values of the attribute. May be + * null or an empty array. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + * @throws OpenDataException if any condition in the list above is broken. + */ + public OpenMBeanAttributeInfoSupport(String name, String desc, OpenType type, + boolean isReadable, boolean isWritable, + boolean isIs, Object defaultValue, + Object[] legalValues) + throws OpenDataException + { + this(name, desc, type, isReadable, isWritable, isIs); + if (defaultValue != null && !(type.isValue(defaultValue))) + throw new OpenDataException("The default value is not a member of the " + + "open type given."); + if (defaultValue != null && (type instanceof ArrayType || + type instanceof TabularType)) + throw new OpenDataException("Default values are not applicable for " + + "array or tabular types."); + if (legalValues != null && (type instanceof ArrayType || + type instanceof TabularType)) + throw new OpenDataException("Legal values are not applicable for " + + "array or tabular types."); + if (legalValues != null && legalValues.length > 0) + { + Set lv = new HashSet(legalValues.length); + for (int a = 0; a < legalValues.length; ++a) + { + if (legalValues[a] != null && + !(type.isValue(legalValues[a]))) + throw new OpenDataException("The legal value, " + + legalValues[a] + + "is not a member of the " + + "open type given."); + lv.add(legalValues[a]); + } + if (defaultValue != null && !(lv.contains(defaultValue))) + throw new OpenDataException("The default value is not in the set " + + "of legal values."); + this.legalValues = Collections.unmodifiableSet(lv); + } + openType = type; + this.defaultValue = defaultValue; + } + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanAttributeInfo} + * with an equal name and open type and the same default, minimum, + * maximum and legal values and the same access properties. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanAttributeInfo} + * instance, + * name.equals(object.getName()), + * openType.equals(object.getOpenType()), + * isRead == object.isReadable(), + * isWrite == object.isWritable(), + * isIs == object.isIs(), + * defaultValue.equals(object.getDefaultValue()), + * minValue.equals(object.getMinValue()), + * maxValue.equals(object.getMaxValue()), + * and legalValues.equals(object.getLegalValues()). + */ + public boolean equals(Object obj) + { + if (!(obj instanceof OpenMBeanAttributeInfo)) + return false; + OpenMBeanAttributeInfo o = (OpenMBeanAttributeInfo) obj; + return getName().equals(o.getName()) && + openType.equals(o.getOpenType()) && + isReadable() == o.isReadable() && + isWritable() == o.isWritable() && + isIs() == o.isIs() && + (defaultValue == null ? o.getDefaultValue() == null : + defaultValue.equals(o.getDefaultValue())) && + (minValue == null ? o.getMinValue() == null : + minValue.equals(o.getMinValue())) && + (maxValue == null ? o.getMaxValue() == null : + maxValue.equals(o.getMaxValue())) && + (legalValues == null ? o.getLegalValues() == null : + legalValues.equals(o.getLegalValues())); + } + + /** + * Returns the default value of this attribute, or null + * if there is no default value. + * + * @return the default value of the attribute, or null + * if there is no default. + */ + public Object getDefaultValue() + { + return defaultValue; + } + + /** + * Returns a {@link java.util.Set} enumerating the legal values + * of this attribute, or null if no such limited + * set exists for this attribute. + * + * @return a set of legal values, or null if no such + * set exists. + */ + public Set getLegalValues() + { + return legalValues; + } + + /** + * Returns the maximum value of this attribute, or null + * if there is no maximum. + * + * @return the maximum value, or null if none exists. + */ + public Comparable getMaxValue() + { + return maxValue; + } + + /** + * Returns the minimum value of this attribute, or null + * if there is no minimum. + * + * @return the minimum value, or null if none exists. + */ + public Comparable getMinValue() + { + return minValue; + } + + /** + * Returns the open type instance which represents the type of this + * attribute. + * + * @return the open type of this attribute. + */ + public OpenType getOpenType() + { + return openType; + } + + /** + * Returns true if this attribute has a default value + * (i.e. the value is non-null). + * + * @return true if this attribute has a default. + */ + public boolean hasDefaultValue() + { + return defaultValue != null; + } + + /** + *

    + * Returns the hashcode of the attribute information as the sum of + * the hashcodes of the name, open type, default value, maximum + * value, minimum value and the set of legal values. + *

    + *

    + * As instances of this class are immutable, the hash code + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return the hashcode of the attribute information. + */ + public int hashCode() + { + if (hashCode == null) + hashCode = Integer.valueOf(getName().hashCode() + + openType.hashCode() + + Boolean.valueOf(isReadable()).hashCode() + + (2 * + Boolean.valueOf(isWritable()).hashCode()) + + (4 * Boolean.valueOf(isIs()).hashCode()) + + (defaultValue == null ? 0 : + defaultValue.hashCode()) + + (minValue == null ? 0 : + minValue.hashCode()) + + (maxValue == null ? 0 : + maxValue.hashCode()) + + (legalValues == null ? 0 : + legalValues.hashCode())); + return hashCode.intValue(); + } + + /** + * Returns true if there is a set of legal values for this + * attribute (i.e. the value is non-null). + * + * @return true if a set of legal values exists for this + * attribute. + */ + public boolean hasLegalValues() + { + return legalValues != null; + } + + /** + * Returns true if there is a maximum value for this attribute + * (i.e. the value is non-null). + * + * @return true if a maximum value exists for this attribute. + */ + public boolean hasMaxValue() + { + return maxValue != null; + } + + /** + * Returns true if there is a minimum value for this attribute. + * (i.e. the value is non-null). + * + * @return true if a minimum value exists for this attribute. + */ + public boolean hasMinValue() + { + return minValue != null; + } + + /** + * Returns true if the specified object is a valid value for + * this attribute. + * + * @param obj the object to test. + * @return true if obj is a valid value for this + * attribute. + */ + public boolean isValue(Object obj) + { + return openType.isValue(obj); + } + + /** + *

    + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanAttributeInfo) + * along with the name, open type, access properties, default, + * minimum, maximum and legal values of the attribute. + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + if (string == null) + string = getClass().getName() + + "[name=" + getName() + + ",openType=" + openType + + ",isReadable=" + isReadable() + + ",isWritable=" + isWritable() + + ",isIs=" + isIs() + + ",defaultValue=" + defaultValue + + ",minValue=" + minValue + + ",maxValue=" + maxValue + + ",legalValues=" + legalValues + + "]"; + return string; + } + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfo.java new file mode 100644 index 00000000000..34cef131f26 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfo.java @@ -0,0 +1,112 @@ +/* OpenMBeanConstructorInfo.java -- Open typed info about a constructor. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import javax.management.MBeanParameterInfo; + +/** + * Describes a constructor for an open management bean. + * This interface includes those methods specified by {@link + * javax.management.MBeanConstructorInfo}, so implementations should + * extend this class. The {@link #getSignature()} method should + * return an array containing instances of {@link OpenMBeanParameterInfo}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface OpenMBeanConstructorInfo +{ + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanConstructorInfo} + * with an equal name and signature. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * and signature.equals(object.getSignature()). + */ + boolean equals(Object obj); + + /** + * Returns a description of this constructor. + * + * @return a human-readable description. + */ + String getDescription(); + + /** + * Returns the name of this constructor. + * + * @return the name of the constructor. + */ + String getName(); + + /** + * Returns the constructor's signature, in the form of + * information on each parameter. Each parameter is + * described by an instance of {@link OpenMBeanParameterInfo}. + * + * @return an array of {@link OpenMBeanParameterInfo} objects, + * describing the constructor parameters. + */ + MBeanParameterInfo[] getSignature(); + + /** + * Returns the hashcode of the constructor information as the sum of + * the hashcodes of the name and signature (calculated by + * java.util.Arrays.asList(signature).hashCode()). + * + * @return the hashcode of the constructor information. + */ + int hashCode(); + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanConstructorInfo) + * along with the name and signature. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + String toString(); + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java new file mode 100644 index 00000000000..9dac01a596a --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java @@ -0,0 +1,174 @@ +/* OpenMBeanConstructorInfoSupport.java -- Open typed info about an constructor. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.util.Arrays; + +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanParameterInfo; + +/** + * Describes a constructor for an open management bean. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class OpenMBeanConstructorInfoSupport + extends MBeanConstructorInfo + implements OpenMBeanConstructorInfo +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -4400441579007477003L; + + /** + * The hash code of this instance. + */ + private transient Integer hashCode; + + /** + * The toString() result of this instance. + */ + private transient String string; + + /** + * Constructs a @link{OpenMBeanConstructorInfo} with the specified + * name, description and parameter information. A null + * value for the parameter information is the same as passing in + * an empty array. Neither the name nor the description may be + * null or equal to the empty string. A copy of the parameter array + * is taken, so later changes have no effect. + * + * @param name the name of the constructor. + * @param desc a description of the constructor. + * @param sig the signature of the constructor, as a series + * of {@link MBeanParameterInfo} objects, one for + * each parameter. + * @throws IllegalArgumentException if the name or description is + * either null + * or the empty string. + * @throws ArrayStoreException if the members of the signature array + * are not assignable to + * {@link javax.management.MBeanParameterInfo} + */ + public OpenMBeanConstructorInfoSupport(String name, String desc, + OpenMBeanParameterInfo[] sig) + { + super(name, desc, (MBeanParameterInfo[]) sig); + if (name == null) + throw new IllegalArgumentException("The name may not be null."); + if (desc == null) + throw new IllegalArgumentException("The description may not be null."); + if (name.length() == 0) + throw new IllegalArgumentException("The name may not be the empty string."); + if (desc.length() == 0) + throw new IllegalArgumentException("The description may not be the " + + "empty string."); + } + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanConstructorInfo} + * with an equal name and signature. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * and signature.equals(object.getSignature()). + */ + public boolean equals(Object obj) + { + if (!(obj instanceof OpenMBeanConstructorInfo)) + return false; + OpenMBeanConstructorInfo o = (OpenMBeanConstructorInfo) obj; + return getName().equals(o.getName()) && + getSignature().equals(o.getSignature()); + } + + /** + *

    + * Returns the hashcode of the constructor information as the sum of + * the hashcodes of the name and signature (calculated by + * java.util.Arrays.asList(signature).hashCode()). + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return the hashcode of the constructor information. + */ + public int hashCode() + { + if (hashCode == null) + hashCode = Integer.valueOf(getName().hashCode() + + Arrays.asList(getSignature()).hashCode()); + return hashCode.intValue(); + } + + /** + *

    + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanConstructorInfo) + * along with the name and signature. + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + if (string == null) + string = getClass().getName() + + "[name=" + getName() + + ",signature=" + Arrays.toString(getSignature()) + + "]"; + return string; + } + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanInfo.java new file mode 100644 index 00000000000..5aa4df4511c --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanInfo.java @@ -0,0 +1,154 @@ +/* OpenMBeanInfo.java -- Open typed info about a management bean. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanNotificationInfo; +import javax.management.MBeanOperationInfo; + +/** + * Describes an open management bean. Open management beans are + * management beans where {@link + * javax.management.DynamicMBean#getMBeanInfo()} returns an + * implementation of this interface. This interface includes those + * methods specified by {@link javax.management.MBeanInfo}, + * so implementations should extend this class. Each method + * which returns an array of one of the MBeanXXXInfo + * classes should return an array containing instances + * of the equivalent open version (OpenMBeanXXXInfo). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface OpenMBeanInfo +{ + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanInfo} + * with the same class name and equal instances of the info classes. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanInfo} + * instance, + * className.equals(object.getClassName()) + * and each info class has an equal in the other object. + */ + boolean equals(Object obj); + + /** + * Returns descriptions of each of the attributes provided by this + * management bean. The elements should be implementations of the + * {@link OpenMBeanAttributeInfo} class. + * + * @return an array of {@link OpenMBeanAttributeInfo} objects, + * representing the attributes emitted by this + * management bean. + */ + MBeanAttributeInfo[] getAttributes(); + + /** + * Returns the class name of the management bean. + * + * @return the bean's class name. + */ + String getClassName(); + + /** + * Returns descriptions of each of the constructors provided by this + * management bean. The elements should be implementations of the + * {@link OpenMBeanConstructorInfo} class. + * + * @return an array of {@link OpenMBeanConstructorInfo} objects, + * representing the constructors emitted by this + * management bean. + */ + MBeanConstructorInfo[] getConstructors(); + + /** + * Returns a description of this operation. + * + * @return a human-readable description. + */ + String getDescription(); + + /** + * Returns descriptions of each of the notifications provided by this + * management bean. The elements should be implementations of the + * {@link OpenMBeanNotificationInfo} class. + * + * @return an array of {@link OpenMBeanNotificationInfo} objects, + * representing the notifications emitted by this + * management bean. + */ + MBeanNotificationInfo[] getNotifications(); + + /** + * Returns descriptions of each of the operations provided by this + * management bean. The elements should be implementations of the + * {@link OpenMBeanOperationInfo} class. + * + * @return an array of {@link OpenMBeanOperationInfo} objects, + * representing the operations emitted by this + * management bean. + */ + MBeanOperationInfo[] getOperations(); + + /** + * Returns the hashcode of the bean information as the sum of the + * hashcodes of the class name and each array (calculated using + * java.util.HashSet(java.util.Arrays.asList(signature)).hashCode()). + * + * @return the hashcode of the bean information. + */ + int hashCode(); + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanInfo) + * along with the class name and textual representations + * of each array. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + String toString(); + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanInfoSupport.java new file mode 100644 index 00000000000..5f8d55b8377 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanInfoSupport.java @@ -0,0 +1,191 @@ +/* OpenMBeanInfoSupport.java -- Open typed info about a bean. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.util.Arrays; +import java.util.HashSet; + +import javax.management.MBeanInfo; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanNotificationInfo; +import javax.management.MBeanOperationInfo; + +/** + * Describes an open management bean. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class OpenMBeanInfoSupport + extends MBeanInfo + implements OpenMBeanInfo +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 4349395935420511492L; + + /** + * The hash code of this instance. + */ + private transient Integer hashCode; + + /** + * The toString() result of this instance. + */ + private transient String string; + + /** + * Constructs a new {@link OpenMBeanInfo} using the supplied + * class name and description with the given attributes, + * operations, constructors and notifications. The class + * name does not have to actually specify a valid class that + * can be loaded by the MBean server or class loader; it merely + * has to be a syntactically correct class name. Any of the + * arrays may be null; this will be treated as if + * an empty array was supplied. A copy of the arrays is + * taken, so later changes have no effect. + * + * @param name the name of the class this instance describes. + * @param desc a description of the bean. + * @param attribs the attribute descriptions for the bean, + * or null. + * @param cons the constructor descriptions for the bean, + * or null. + * @param ops the operation descriptions for the bean, + * or null. + * @param notifs the notification descriptions for the bean, + * or null. + * @throws ArrayStoreException if a members of an array + * is not assignable to the equivalent + * MBeanXXXInfo class. + */ + public OpenMBeanInfoSupport(String name, String desc, + OpenMBeanAttributeInfo[] attribs, + OpenMBeanConstructorInfo[] cons, + OpenMBeanOperationInfo[] ops, + MBeanNotificationInfo[] notifs) + { + super(name, desc, (MBeanAttributeInfo[]) attribs, + (MBeanConstructorInfo[]) cons, + (MBeanOperationInfo[]) ops, + notifs); + } + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanInfo} + * with the same class name and equal instances of the info classes. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanInfo} + * instance, + * className.equals(object.getClassName()) + * and each info class has an equal in the other object. + */ + public boolean equals(Object obj) + { + if (!(obj instanceof OpenMBeanInfo)) + return false; + OpenMBeanInfo o = (OpenMBeanInfo) obj; + return getClassName().equals(o.getClassName()) && + getAttributes().equals(o.getAttributes()) && + getConstructors().equals(o.getConstructors()) && + getNotifications().equals(o.getNotifications()) && + getOperations().equals(o.getOperations()); + } + + /** + *

    + * Returns the hashcode of the bean information as the sum of the + * hashcodes of the class name and each array (calculated using + * java.util.HashSet(java.util.Arrays.asList(signature)).hashCode()). + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return the hashcode of the bean information. + */ + public int hashCode() + { + if (hashCode == null) + hashCode = + Integer.valueOf(getClassName().hashCode() + + new HashSet(Arrays.asList(getAttributes())).hashCode() + + new HashSet(Arrays.asList(getConstructors())).hashCode() + + new HashSet(Arrays.asList(getNotifications())).hashCode() + + new HashSet(Arrays.asList(getOperations())).hashCode()); + return hashCode.intValue(); + } + + /** + *

    + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanInfo) + * along with the class name and textual representations + * of each array. + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + if (string == null) + string = getClass().getName() + + "[className=" + getClassName() + + ",attributes=" + Arrays.toString(getAttributes()) + + ",constructors=" + Arrays.toString(getConstructors()) + + ",notifications=" + Arrays.toString(getNotifications()) + + ",operations=" + Arrays.toString(getOperations()) + + "]"; + return string; + } + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java new file mode 100644 index 00000000000..8b61329d966 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfo.java @@ -0,0 +1,154 @@ +/* OpenMBeanOperationInfo.java -- Open typed info about a operation. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import javax.management.MBeanParameterInfo; + +/** + * Describes a operation for an open management bean. + * This interface includes those methods specified by {@link + * javax.management.MBeanOperationInfo}, so implementations should + * extend this class. The {@link #getSignature()} method should + * return an array containing instances of {@link OpenMBeanParameterInfo}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface OpenMBeanOperationInfo +{ + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanOperationInfo} + * with an equal name, signature, open return type and impact. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * signature.equals(object.getSignature()), + * returnOpenType.equals(object.getReturnOpenType()), + * and impact == object.getImpact(). + */ + boolean equals(Object obj); + + /** + * Returns a description of this operation. + * + * @return a human-readable description. + */ + String getDescription(); + + /** + *

    + * Returns the impact of performing this operation. + * The value is equal to one of the following: + *

    + *
      + *
    1. {@link javax.management.MBeanOperationInfo#INFO} + * — the method just returns + * information (akin to an accessor).
    2. + *
    3. {@link javax.management.MBeanOperationInfo#ACTION} + * the method just alters the state of the bean, without + * returning a value (akin to a mutator).
    4. + *
    5. {@link javax.management.MBeanOperationInfo#ACTION_INFO} + * the method both makes state changes and returns a value.
    6. + *
    7. {@link javax.management.MBeanOperationInfo#UNKNOWN} + * the behaviour of the operation is unknown.
    8. + *
    + * + * @return the impact of performing the operation. + */ + int getImpact(); + + /** + * Returns the name of this operation. + * + * @return the name of the operation. + */ + String getName(); + + /** + * Returns the open type instance which represents the type of the + * return value. + * + * @return the open type of the return value. + */ + OpenType getReturnOpenType(); + + /** + * Returns the return type of the operation, as the class + * name. This should be identical to + * getReturnOpenType.getClassName(). + * + * @return the return type. + */ + String getReturnType(); + + /** + * Returns the operation's signature, in the form of + * information on each parameter. Each parameter is + * described by an instance of {@link OpenMBeanParameterInfo}. + * + * @return an array of {@link OpenMBeanParameterInfo} objects, + * describing the operation parameters. + */ + MBeanParameterInfo[] getSignature(); + + /** + * Returns the hashcode of the operation information as the sum of + * the hashcodes of the name, open return type, impact and signature + * (calculated by + * java.util.Arrays.asList(signature).hashCode()). + * + * @return the hashcode of the operation information. + */ + int hashCode(); + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanOperationInfo) + * along with the name, signature, open return type and impact. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + String toString(); + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java new file mode 100644 index 00000000000..07564897c2c --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java @@ -0,0 +1,240 @@ +/* OpenMBeanOperationInfoSupport.java -- Open typed info about an operation. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.util.Arrays; + +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; + +/** + * Describes a operation for an open management bean. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class OpenMBeanOperationInfoSupport + extends MBeanOperationInfo + implements OpenMBeanOperationInfo +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 4996859732565369366L; + + /** + * The open type representing the return value. + */ + private OpenType returnOpenType; + + /** + * The hash code of this instance. + */ + private transient Integer hashCode; + + /** + * The toString() result of this instance. + */ + private transient String string; + + /** + * Constructs a @link{OpenMBeanOperationInfo} with the specified name, + * description, parameter information, open return type and impact. A + * null value for the parameter information is the same + * as passing in an empty array. A copy of the parameter array is + * taken, so later changes have no effect. The name and the + * description may not be equal to the empty string, and neither + * the name, description nor the open return type may be + * null. The value of impact must be + * one of the four valid values + * ({@link javax.management.MBeanOperationInfo#INFO}, + * {@link javax.management.MBeanOperationInfo#ACTION}, + * {@link javax.management.MBeanOperationInfo#ACTION_INFO} and + * {@link javax.management.MBeanOperationInfo#UNKNOWN}). + * + * + * @param name the name of the constructor. + * @param desc a description of the attribute. + * @param sig the signature of the method, as a series + * of {@link MBeanParameterInfo} objects, one for + * each parameter. + * @param type the open return type of the method. + * @param impact the impact of performing the operation. + * @throws IllegalArgumentException if the name, description or + * open return type is null, + * the name or description are equal to + * the empty string, or the impact factor + * is not one of the values enumerated + * above. + * @throws ArrayStoreException if the members of the signature array + * are not assignable to + * {@link javax.management.MBeanParameterInfo} + */ + public OpenMBeanOperationInfoSupport(String name, String desc, + OpenMBeanParameterInfo[] sig, + OpenType type, int impact) + { + super(name, desc, (MBeanParameterInfo[]) sig, + type == null ? null : type.getClassName(), impact); + if (name == null) + throw new IllegalArgumentException("The name may not be null."); + if (desc == null) + throw new IllegalArgumentException("The description may not be null."); + if (type == null) + throw new IllegalArgumentException("The type may not be null."); + if (name.length() == 0) + throw new IllegalArgumentException("The name may not be the empty string."); + if (desc.length() == 0) + throw new IllegalArgumentException("The description may not be the " + + "empty string."); + if (impact != ACTION && impact != INFO && + impact != ACTION_INFO && impact != UNKNOWN) + throw new IllegalArgumentException("The impact factor is an invalid value."); + returnOpenType = type; + } + + /** + * Compares this attribute with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanOperationInfo} + * with an equal name, signature, open return type and impact. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * signature.equals(object.getSignature()), + * returnOpenType.equals(object.getReturnOpenType()), + * and impact == object.getImpact(). + */ + public boolean equals(Object obj) + { + if (!(obj instanceof OpenMBeanOperationInfo)) + return false; + OpenMBeanOperationInfo o = (OpenMBeanOperationInfo) obj; + return getName().equals(o.getName()) && + getSignature().equals(o.getSignature()) && + returnOpenType.equals(o.getReturnOpenType()) && + getImpact() == o.getImpact(); + } + + /** + * Returns the open type instance which represents the type of the + * return value. + * + * @return the open type of the return value. + */ + public OpenType getReturnOpenType() + { + return returnOpenType; + } + + /** + *

    + * Returns the hashcode of the operation information as the sum of + * the hashcodes of the name, open return type, impact and signature + * (calculated by + * java.util.Arrays.asList(signature).hashCode()). + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return the hashcode of the operation information. + */ + public int hashCode() + { + if (hashCode == null) + hashCode = Integer.valueOf(getName().hashCode() + + returnOpenType.hashCode() + + Integer.valueOf(getImpact()).hashCode() + + Arrays.asList(getSignature()).hashCode()); + return hashCode.intValue(); + } + + /** + *

    + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanOperationInfo) + * along with the name, signature, open return type and impact. + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + if (string == null) + { + String impactString; + switch (getImpact()) + { + case INFO: + impactString = "INFO"; + break; + case ACTION: + impactString = "ACTION"; + break; + case ACTION_INFO: + impactString = "ACTION_INFO"; + break; + case UNKNOWN: + impactString = "UNKNOWN"; + break; + default: + impactString = "ERRONEOUS VALUE"; + } + string = getClass().getName() + + "[name=" + getName() + + ",signature=" + Arrays.toString(getSignature()) + + ",returnOpenType=" + returnOpenType + + ",impact=" + impactString + + "]"; + } + return string; + } + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java new file mode 100644 index 00000000000..780e8ba1159 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfo.java @@ -0,0 +1,190 @@ +/* OpenMBeanParameterInfo.java -- Open typed info about a parameter. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.util.Set; + +/** + * Describes the parameters of a constructor or operation associated + * with an open management bean. This interface includes those methods + * specified by {@link javax.management.MBeanParameterInfo}, so + * implementations should extend this class. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public interface OpenMBeanParameterInfo +{ + + /** + * Compares this parameter with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanParameterInfo} + * with an equal name and open type and the same default, minimum, + * maximum and legal values. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * openType.equals(object.getOpenType()), + * defaultValue.equals(object.getDefaultValue()), + * minValue.equals(object.getMinValue()), + * maxValue.equals(object.getMaxValue()), + * and legalValues.equals(object.getLegalValues()). + */ + boolean equals(Object obj); + + /** + * Returns the default value of this parameter, or null + * if there is no default value. + * + * @return the default value of the parameter, or null + * if there is no default. + */ + Object getDefaultValue(); + + /** + * Returns a description of this parameter. + * + * @return a human-readable description. + */ + String getDescription(); + + /** + * Returns a {@link java.util.Set} enumerating the legal values + * of this parameter, or null if no such limited + * set exists for this parameter. + * + * @return a set of legal values, or null if no such + * set exists. + */ + Set getLegalValues(); + + /** + * Returns the maximum value of this parameter, or null + * if there is no maximum. + * + * @return the maximum value, or null if none exists. + */ + Comparable getMaxValue(); + + /** + * Returns the minimum value of this parameter, or null + * if there is no minimum. + * + * @return the minimum value, or null if none exists. + */ + Comparable getMinValue(); + + /** + * Returns the name of this parameter. + * + * @return the name of the parameter. + */ + String getName(); + + /** + * Returns the open type instance which represents the type of this + * parameter. + * + * @return the open type of this parameter. + */ + OpenType getOpenType(); + + /** + * Returns true if this parameter has a default value. + * + * @return true if this parameter has a default. + */ + boolean hasDefaultValue(); + + /** + * Returns the hashcode of the parameter information as the sum of + * the hashcodes of the name, open type, default value, maximum + * value, minimum value and the set of legal values. + * + * @return the hashcode of the parameter information. + */ + int hashCode(); + + /** + * Returns true if there is a set of legal values for this + * parameter. + * + * @return true if a set of legal values exists for this + * parameter. + */ + boolean hasLegalValues(); + + /** + * Returns true if there is a maximum value for this parameter. + * + * @return true if a maximum value exists for this parameter. + */ + boolean hasMaxValue(); + + /** + * Returns true if there is a minimum value for this parameter. + * + * @return true if a minimum value exists for this parameter. + */ + boolean hasMinValue(); + + /** + * Returns true if the specified object is a valid value for + * this parameter. + * + * @param obj the object to test. + * @return true if obj is a valid value for this + * parameter. + */ + boolean isValue(Object obj); + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanParameterInfo) + * along with the name, open type, default, minimum, maximum + * and legal values of the parameter. + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + String toString(); + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java new file mode 100644 index 00000000000..af3bda6c738 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java @@ -0,0 +1,511 @@ +/* OpenMBeanParameterInfoSupport.java -- Open typed info about a parameter. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import javax.management.MBeanParameterInfo; + +/** + * Describes the parameters of a constructor or operation associated + * with an open management bean. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class OpenMBeanParameterInfoSupport + extends MBeanParameterInfo + implements OpenMBeanParameterInfo +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = -7235016873758443122L; + + /** + * The open type of the parameter. + */ + private OpenType openType; + + /** + * The default value of the parameter (may be null). + */ + private Object defaultValue; + + /** + * The possible legal values of the parameter (may be null). + */ + private Set legalValues; + + /** + * The minimum value of the parameter (may be null). + */ + private Comparable minValue; + + /** + * The maximum value of the parameter (may be null). + */ + private Comparable maxValue; + + /** + * The hash code of this instance. + */ + private transient Integer hashCode; + + /** + * The toString() result of this instance. + */ + private transient String string; + + /** + * Constructs a new {@link OpenMBeanParameterInfo} using the specified + * name, description and open type. None of these values may be + * null and the name and description may not be equal + * to the empty string. + * + * @param name the name of the parameter. + * @param desc a description of the parameter. + * @param type the open type of the parameter. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + */ + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type) + { + super(name, type == null ? null : type.getClassName(), desc); + if (name == null) + throw new IllegalArgumentException("The name may not be null."); + if (desc == null) + throw new IllegalArgumentException("The description may not be null."); + if (type == null) + throw new IllegalArgumentException("The type may not be null."); + if (name.length() == 0) + throw new IllegalArgumentException("The name may not be the empty string."); + if (desc.length() == 0) + throw new IllegalArgumentException("The description may not be the " + + "empty string."); + openType = type; + } + + /** + * Constructs a new {@link OpenMBeanParameterInfo} using the + * specified name, description, open type and default value. The + * name, description and open type cannot be null and + * the name and description may not be equal to the empty string. + * The default value may be null. If non-null, it must + * be a valid value of the given open type. Default values are not + * applicable to the open types, {@link ArrayType} and {@link + * TabularType}. + * + * @param name the name of the parameter. + * @param desc a description of the parameter. + * @param type the open type of the parameter. + * @param defaultValue the default value of the parameter. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + * @throws OpenDataException if defaultValue is non-null + * and is either not a value of the given + * open type or the open type is an instance + * of {@link ArrayType} or {@link TabularType}. + */ + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, + Object defaultValue) + throws OpenDataException + { + this(name, desc, type, defaultValue, null); + } + + /** + *

    + * Constructs a new {@link OpenMBeanParameterInfo} using the + * specified name, description, open type, default, maximum and + * minimum values. The name, description and open type cannot be + * null and the name and description may not be equal + * to the empty string. The default, maximum and minimum values may + * be null. The following conditions apply when the + * parameters mentioned are non-null: + *

    + *
      + *
    • The values must be valid values for the given open type.
    • + *
    • Default values are not applicable to the open types, {@link + * ArrayType} and {@link TabularType}.
    • + *
    • The minimum value must be smaller than or equal to the maximum value + * (literally, minValue.compareTo(maxValue) <= 0.
    • + *
    • The minimum value must be smaller than or equal to the default value + * (literally, minValue.compareTo(defaultValue) <= 0.
    • + *
    • The default value must be smaller than or equal to the maximum value + * (literally, defaultValue.compareTo(maxValue) <= 0.
    • + *
    + * + * @param name the name of the parameter. + * @param desc a description of the parameter. + * @param type the open type of the parameter. + * @param defaultValue the default value of the parameter, or null. + * @param minimumValue the minimum value of the parameter, or null. + * @param maximumValue the maximum value of the parameter, or null. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + * @throws OpenDataException if any condition in the list above is broken. + */ + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, + Object defaultValue, Comparable minimumValue, + Comparable maximumValue) + throws OpenDataException + { + this(name, desc, type); + if (defaultValue != null && !(type.isValue(defaultValue))) + throw new OpenDataException("The default value is not a member of the " + + "open type given."); + if (minimumValue != null && !(type.isValue(minimumValue))) + throw new OpenDataException("The minimum value is not a member of the " + + "open type given."); + if (maximumValue != null && !(type.isValue(maximumValue))) + throw new OpenDataException("The maximum value is not a member of the " + + "open type given."); + if (defaultValue != null && (type instanceof ArrayType || + type instanceof TabularType)) + throw new OpenDataException("Default values are not applicable for " + + "array or tabular types."); + if (minValue != null && maxValue != null + && minValue.compareTo(maxValue) > 0) + throw new OpenDataException("The minimum value is greater than the " + + "maximum."); + if (minValue != null && defaultValue != null + && minValue.compareTo(defaultValue) > 0) + throw new OpenDataException("The minimum value is greater than the " + + "default."); + if (defaultValue != null && maxValue != null + && maxValue.compareTo(defaultValue) < 0) + throw new OpenDataException("The default value is greater than the " + + "maximum."); + + this.defaultValue = defaultValue; + minValue = minimumValue; + maxValue = maximumValue; + } + + /** + *

    + * Constructs a new {@link OpenMBeanParameterInfo} using the + * specified name, description, open type, default value and + * set of legal values. The name, description and open type cannot be + * null and the name and description may not be equal + * to the empty string. The default, maximum and minimum values may + * be null. The following conditions apply when the + * parameters mentioned are non-null: + *

    + *
      + *
    • The default value and each of the legal values must be a valid + * value for the given open type.
    • + *
    • Default and legal values are not applicable to the open types, {@link + * ArrayType} and {@link TabularType}.
    • + *
    • The default value is not in the set of legal values.
    • + *
    + *

    + * The legal values are copied from the array into a unmodifiable set, + * so future modifications to the array have no effect. + *

    + * + * @param name the name of the parameter. + * @param desc a description of the parameter. + * @param type the open type of the parameter. + * @param defaultValue the default value of the parameter, or null. + * @param legalValues the legal values of the parameter. May be + * null or an empty array. + * @throws IllegalArgumentException if the name, description or + * open type are null + * or the name or description are + * the empty string. + * @throws OpenDataException if any condition in the list above is broken. + */ + public OpenMBeanParameterInfoSupport(String name, String desc, OpenType type, + Object defaultValue, Object[] legalValues) + throws OpenDataException + { + this(name, desc, type); + if (defaultValue != null && !(type.isValue(defaultValue))) + throw new OpenDataException("The default value is not a member of the " + + "open type given."); + if (defaultValue != null && (type instanceof ArrayType || + type instanceof TabularType)) + throw new OpenDataException("Default values are not applicable for " + + "array or tabular types."); + if (legalValues != null && (type instanceof ArrayType || + type instanceof TabularType)) + throw new OpenDataException("Legal values are not applicable for " + + "array or tabular types."); + if (legalValues != null && legalValues.length > 0) + { + Set lv = new HashSet(legalValues.length); + for (int a = 0; a < legalValues.length; ++a) + { + if (legalValues[a] != null && + !(type.isValue(legalValues[a]))) + throw new OpenDataException("The legal value, " + + legalValues[a] + + "is not a member of the " + + "open type given."); + lv.add(legalValues[a]); + } + if (defaultValue != null && !(lv.contains(defaultValue))) + throw new OpenDataException("The default value is not in the set " + + "of legal values."); + this.legalValues = Collections.unmodifiableSet(lv); + } + this.defaultValue = defaultValue; + } + + /** + * Compares this parameter with the supplied object. This returns + * true iff the object is an instance of {@link OpenMBeanParameterInfo} + * with an equal name and open type and the same default, minimum, + * maximum and legal values. + * + * @param obj the object to compare. + * @return true if the object is a {@link OpenMBeanParameterInfo} + * instance, + * name.equals(object.getName()), + * openType.equals(object.getOpenType()), + * defaultValue.equals(object.getDefaultValue()), + * minValue.equals(object.getMinValue()), + * maxValue.equals(object.getMaxValue()), + * and legalValues.equals(object.getLegalValues()). + */ + public boolean equals(Object obj) + { + if (!(obj instanceof OpenMBeanParameterInfo)) + return false; + OpenMBeanParameterInfo o = (OpenMBeanParameterInfo) obj; + return getName().equals(o.getName()) && + openType.equals(o.getOpenType()) && + (defaultValue == null ? o.getDefaultValue() == null : + defaultValue.equals(o.getDefaultValue())) && + (minValue == null ? o.getMinValue() == null : + minValue.equals(o.getMinValue())) && + (maxValue == null ? o.getMaxValue() == null : + maxValue.equals(o.getMaxValue())) && + (legalValues == null ? o.getLegalValues() == null : + legalValues.equals(o.getLegalValues())); + } + + /** + * Returns the default value of this parameter, or null + * if there is no default value. + * + * @return the default value of the parameter, or null + * if there is no default. + */ + public Object getDefaultValue() + { + return defaultValue; + } + + /** + * Returns a {@link java.util.Set} enumerating the legal values + * of this parameter, or null if no such limited + * set exists for this parameter. + * + * @return a set of legal values, or null if no such + * set exists. + */ + public Set getLegalValues() + { + return legalValues; + } + + /** + * Returns the maximum value of this parameter, or null + * if there is no maximum. + * + * @return the maximum value, or null if none exists. + */ + public Comparable getMaxValue() + { + return maxValue; + } + + /** + * Returns the minimum value of this parameter, or null + * if there is no minimum. + * + * @return the minimum value, or null if none exists. + */ + public Comparable getMinValue() + { + return minValue; + } + + /** + * Returns the open type instance which represents the type of this + * parameter. + * + * @return the open type of this parameter. + */ + public OpenType getOpenType() + { + return openType; + } + + /** + * Returns true if this parameter has a default value + * (i.e. the value is non-null). + * + * @return true if this parameter has a default. + */ + public boolean hasDefaultValue() + { + return defaultValue != null; + } + + /** + *

    + * Returns the hashcode of the parameter information as the sum of + * the hashcodes of the name, open type, default value, maximum + * value, minimum value and the set of legal values. + *

    + *

    + * As instances of this class are immutable, the hash code + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return the hashcode of the parameter information. + */ + public int hashCode() + { + if (hashCode == null) + hashCode = Integer.valueOf(getName().hashCode() + + openType.hashCode() + + (defaultValue == null ? 0 : + defaultValue.hashCode()) + + (minValue == null ? 0 : + minValue.hashCode()) + + (maxValue == null ? 0 : + maxValue.hashCode()) + + (legalValues == null ? 0 : + legalValues.hashCode())); + return hashCode.intValue(); + } + + /** + * Returns true if there is a set of legal values for this + * parameter (i.e. the value is non-null). + * + * @return true if a set of legal values exists for this + * parameter. + */ + public boolean hasLegalValues() + { + return legalValues != null; + } + + /** + * Returns true if there is a maximum value for this parameter + * (i.e. the value is non-null). + * + * @return true if a maximum value exists for this parameter. + */ + public boolean hasMaxValue() + { + return maxValue != null; + } + + /** + * Returns true if there is a minimum value for this parameter. + * (i.e. the value is non-null). + * + * @return true if a minimum value exists for this parameter. + */ + public boolean hasMinValue() + { + return minValue != null; + } + + /** + * Returns true if the specified object is a valid value for + * this parameter. + * + * @param obj the object to test. + * @return true if obj is a valid value for this + * parameter. + */ + public boolean isValue(Object obj) + { + return openType.isValue(obj); + } + + /** + *

    + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.OpenMBeanParameterInfo) + * along with the name, open type, default, minimum, maximum + * and legal values of the parameter. + *

    + *

    + * As instances of this class are immutable, the return value + * is computed just once for each instance and reused + * throughout its life. + *

    + * + * @return a @link{java.lang.String} instance representing + * the instance in textual form. + */ + public String toString() + { + if (string == null) + string = getClass().getName() + + "[name=" + getName() + + ",openType=" + openType + + ",defaultValue=" + defaultValue + + ",minValue=" + minValue + + ",maxValue=" + maxValue + + ",legalValues=" + legalValues + + "]"; + return string; + } + +} diff --git a/libjava/classpath/javax/management/openmbean/OpenType.java b/libjava/classpath/javax/management/openmbean/OpenType.java index b08c40cccce..13c9e8a3e01 100644 --- a/libjava/classpath/javax/management/openmbean/OpenType.java +++ b/libjava/classpath/javax/management/openmbean/OpenType.java @@ -133,11 +133,11 @@ public abstract class OpenType testString = className; boolean openTypeFound = false; for (int a = 0; a < ALLOWED_CLASSNAMES.length; ++a) - if (ALLOWED_CLASSNAMES[a].equals(className)) + if (ALLOWED_CLASSNAMES[a].equals(testString)) openTypeFound = true; if (!openTypeFound) - throw new OpenDataException("The class name does not specify " + - "a valid open type."); + throw new OpenDataException("The class name, " + testString + + ", does not specify a valid open type."); this.className = className; typeName = name; description = desc; diff --git a/libjava/classpath/javax/management/openmbean/SimpleType.java b/libjava/classpath/javax/management/openmbean/SimpleType.java index 3962909d4bb..39753f1c6ea 100644 --- a/libjava/classpath/javax/management/openmbean/SimpleType.java +++ b/libjava/classpath/javax/management/openmbean/SimpleType.java @@ -53,7 +53,7 @@ import java.io.ObjectStreamException; * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @since 1.5 */ -public class SimpleType +public final class SimpleType extends OpenType { diff --git a/libjava/classpath/javax/management/openmbean/TabularData.java b/libjava/classpath/javax/management/openmbean/TabularData.java index 17c8de98109..7e57e0fd815 100644 --- a/libjava/classpath/javax/management/openmbean/TabularData.java +++ b/libjava/classpath/javax/management/openmbean/TabularData.java @@ -55,12 +55,14 @@ public interface TabularData /** * Calculates the index the specified {@link CompositeData} value * would have, if it was to be added to this {@link TabularData} - * instance. This method includes a check that the type of - * the given value is the same as the row type of this instance, - * but not a check for existing instances of the given value. - * The value must also not be null. Possible indices - * are returned by the {@link TabularType#getIndexNames()} method - * of this instance's tabular type. + * instance. This method includes a check that the type of the + * given value is the same as the row type of this instance, but not + * a check for existing instances of the given value. The value + * must also not be null. Possible indices are + * returned by the {@link TabularType#getIndexNames()} method of + * this instance's tabular type. The returned indices are the + * values of the fields in the supplied {@link CompositeData} + * instance that match the names given in the {@link TabularType}. * * @param val the {@link CompositeData} value whose index should * be calculated. @@ -106,7 +108,7 @@ public interface TabularData * Compares the specified object with this object for equality. * The object is judged equivalent if it is non-null, and also * an instance of {@link TabularData} with the same row type, - * and index to value mappings. The two compared instances may + * and {@link CompositeData} values. The two compared instances may * be equivalent even if they represent different implementations * of {@link TabularData}. * @@ -123,9 +125,9 @@ public interface TabularData * @return the matching {@link CompositeData} value, or * null if one does not exist. * @throws NullPointerException if the key is null. - * @throws InvalidOpenTypeException if the key does not match - * the {@link TabularType} of this - * instance. + * @throws InvalidKeyException if the key does not match + * the {@link TabularType} of this + * instance. */ CompositeData get(Object[] key); @@ -138,14 +140,12 @@ public interface TabularData TabularType getTabularType(); /** - * Returns the hash code of the composite data type. - * This is computed as the sum of the hash codes of the - * each index and its value, together with the hash - * code of the tabular type. These are the same elements - * of the type that are compared as part of the - * {@link #equals(java.lang.Object)} method, thus ensuring - * that the hashcode is compatible with the equality - * test. + * Returns the hash code of the composite data type. This is + * computed as the sum of the hash codes of each value, together + * with the hash code of the tabular type. These are the same + * elements of the type that are compared as part of the {@link + * #equals(java.lang.Object)} method, thus ensuring that the + * hashcode is compatible with the equality test. * * @return the hash code of this instance. */ @@ -196,15 +196,16 @@ public interface TabularData * values in the array, as well as from the existing values * in the table. The operation should be atomic; if one * value can not be added, then none of the values should - * be. + * be. If the array is null or empty, the + * method simply returns. * * @param vals the {@link CompositeData} values to add. - * @throws NullPointerException if val is + * @throws NullPointerException if a value from the array is * null. - * @throws InvalidOpenTypeException if the type of the + * @throws InvalidOpenTypeException if the type of a * given value does not * match the row type. - * @throws KeyAlreadyExistsException if the value has the + * @throws KeyAlreadyExistsException if a value has the * same calculated index * as an existing value or * of one of the other diff --git a/libjava/classpath/javax/management/openmbean/TabularDataSupport.java b/libjava/classpath/javax/management/openmbean/TabularDataSupport.java new file mode 100644 index 00000000000..9dc8a0e9727 --- /dev/null +++ b/libjava/classpath/javax/management/openmbean/TabularDataSupport.java @@ -0,0 +1,652 @@ +/* TabularDataSupport.java -- Tables of composite data structures. + Copyright (C) 2006 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. */ + +package javax.management.openmbean; + +import java.io.Serializable; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Provides an implementation of the {@link TabularData} + * interface using a {@link java.util.HashMap}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ +public class TabularDataSupport + implements TabularData, Serializable, Cloneable, Map +{ + + /** + * Compatible with JDK 1.5 + */ + private static final long serialVersionUID = 5720150593236309827L; + + /** + * Mapping of rows to column values. + * + * @serial the map of rows to column values. + */ + private Map dataMap; + + /** + * The tabular type which represents this tabular data instance. + * + * @serial the type information for this instance. + */ + private TabularType tabularType; + + /** + * Constructs a new empty {@link TabularDataSupport} with the + * specified type. The type may not be null. This constructor + * simply calls the other, with the default initial capacity of + * 101 and default load factor of 0.75. + * + * @param type the tabular type of this tabular data instance. + * @throws IllegalArgumentException if type is + * null. + */ + public TabularDataSupport(TabularType type) + { + this(type, 101, 0.75f); + } + + /** + * Constructs a new empty {@link TabularDataSupport} with the + * specified type and the supplied initial capacity and load factor + * being used for the underlying {@link java.util.HashMap}. The + * type may not be null and the initial capacity and load factor + * must be positive. + * + * @param type the tabular type of this tabular data instance. + * @param cap the initial capacity of the underlying map. + * @param lf the load factor of the underlying map. + * @throws IllegalArgumentException if type is + * null, or + * cap or + * lf are + * negative. + */ + public TabularDataSupport(TabularType type, int cap, float lf) + { + if (type == null) + throw new IllegalArgumentException("The type may not be null."); + tabularType = type; + dataMap = new HashMap(cap, lf); + } + + /** + * Calculates the index the specified {@link CompositeData} value + * would have, if it was to be added to this {@link TabularData} + * instance. This method includes a check that the type of the + * given value is the same as the row type of this instance, but not + * a check for existing instances of the given value. The value + * must also not be null. Possible indices are + * selected by the {@link TabularType#getIndexNames()} method of + * this instance's tabular type. The returned indices are the + * values of the fields in the supplied {@link CompositeData} + * instance that match the names given in the {@link TabularType}. + * + * @param val the {@link CompositeData} value whose index should + * be calculated. + * @return the index the value would take on, if it were to be added. + * @throws NullPointerException if the value is null. + * @throws InvalidOpenTypeException if the value does not match the + * row type of this instance. + */ + public Object[] calculateIndex(CompositeData val) + { + if (!(val.getCompositeType().equals(tabularType.getRowType()))) + throw new InvalidOpenTypeException("The type of the given value " + + "does not match the row type " + + "of this instance."); + List indexNames = tabularType.getIndexNames(); + List matchingIndicies = new ArrayList(indexNames.size()); + Iterator it = indexNames.iterator(); + while (it.hasNext()) + { + String name = (String) it.next(); + matchingIndicies.add(val.get(name)); + } + return matchingIndicies.toArray(); + } + + /** + * Removes all {@link CompositeData} values from the table. + */ + public void clear() + { + dataMap.clear(); + } + + /** + * Returns a shallow clone of the information, as obtained by the + * {@link Object} implementation of {@link Object#clone()}. The map + * is also cloned, but it still references the same objects. + * + * @return a shallow clone of this {@link TabularDataSupport}. + */ + public Object clone() + { + TabularDataSupport clone = null; + try + { + clone = (TabularDataSupport) super.clone(); + clone.setMap((HashMap) ((HashMap) dataMap).clone()); + } + catch (CloneNotSupportedException e) + { + /* This won't happen as we implement Cloneable */ + } + return clone; + } + + /** + * Returns true iff this instance of the {@link TabularData} class + * contains a {@link CompositeData} value at the specified index. + * The method returns false if the given key can + * not be cast to an {@link java.lang.Object} array; otherwise + * it returns the result of {@link #containsKey(java.lang.Object[])}. + * + * + * @param key the key to test for. + * @return true if the key maps to a {@link CompositeData} value. + */ + public boolean containsKey(Object key) + { + if (key instanceof Object[]) + return containsKey((Object[]) key); + else + return false; + } + + /** + * Returns true iff this instance of the {@link TabularData} class + * contains a {@link CompositeData} value at the specified index. + * In any other circumstance, including if the given key + * is null or of the incorrect type, according to + * the {@link TabularType} of this instance, this method returns + * false. + * + * @param key the key to test for. + * @return true if the key maps to a {@link CompositeData} value. + */ + public boolean containsKey(Object[] key) + { + if (key == null) + return false; + if (!(isKeyValid(key))) + return false; + return dataMap.containsKey(key); + } + + /** + * Returns true iff this instance of the {@link TabularData} class + * contains the specified {@link CompositeData} value. If the given + * value is not an instance of {@link CompositeData}, this method + * simply returns false. + * + * @param val the value to test for. + * @return true if the value exists. + */ + public boolean containsValue(Object val) + { + if (val instanceof CompositeData) + return containsValue((CompositeData) val); + else + return false; + } + + /** + * Returns true iff this instance of the {@link TabularData} class + * contains the specified {@link CompositeData} value. + * In any other circumstance, including if the given value + * is null or of the incorrect type, according to + * the {@link TabularType} of this instance, this method returns + * false. + * + * @param val the value to test for. + * @return true if the value exists. + */ + public boolean containsValue(CompositeData val) + { + if (val == null) + return false; + if (!(val.getCompositeType().equals(tabularType.getRowType()))) + return false; + return dataMap.containsValue(val); + } + + /** + *

    + * Returns a set view of the mappings in this Map. Each element in the + * set is a Map.Entry. The set is backed by the map, so that changes in + * one show up in the other. Modifications made while an iterator is + * in progress cause undefined behavior. If the set supports removal, + * these methods remove the underlying mapping from the map: + * Iterator.remove, Set.remove, + * removeAll, retainAll, and clear. + * Element addition, via add or addAll, is + * not supported via this set. + *

    + *

    + * Note: using the + * {@link java.util.Map.Entry#setValue(Object) will cause corruption of + * the index to row mappings. + *

    + * + * @return the set view of all mapping entries + * @see java.util.Map.Entry + */ + public Set entrySet() + { + return dataMap.entrySet(); + } + + /** + * Compares the specified object with this object for equality. + * The object is judged equivalent if it is non-null, and also + * an instance of {@link TabularData} with the same row type, + * and {@link CompositeData} values. The two compared instances may + * be equivalent even if they represent different implementations + * of {@link TabularData}. + * + * @param obj the object to compare for equality. + * @return true if obj is equal to this. + */ + public boolean equals(Object obj) + { + if (!(obj instanceof TabularData)) + return false; + TabularData data = (TabularData) obj; + return tabularType.equals(data.getTabularType()) && + dataMap.values().equals(data.values()); + } + + /** + * Retrieves the value for the specified key by simply + * calling get((Object[]) key). + * + * @param key the key whose value should be returned. + * @return the matching {@link CompositeData} value, or + * null if one does not exist. + * @throws NullPointerException if the key is null. + * @throws ClassCastException if the key is not an instance + * of Object[]. + * @throws InvalidKeyException if the key does not match + * the {@link TabularType} of this + * instance. + */ + public Object get(Object key) + { + return get((Object[]) key); + } + + /** + * Retrieves the {@link CompositeData} value for the specified + * key, or null if no such mapping exists. + * + * @param key the key whose value should be returned. + * @return the matching {@link CompositeData} value, or + * null if one does not exist. + * @throws NullPointerException if the key is null. + * @throws InvalidKeyException if the key does not match + * the {@link TabularType} of this + * instance. + */ + public CompositeData get(Object[] key) + { + if (!(isKeyValid(key))) + throw new InvalidKeyException("The key does not match the " + + "tabular type of this instance."); + return (CompositeData) dataMap.get(key); + } + + /** + * Returns the tabular type which corresponds to this instance + * of {@link TabularData}. + * + * @return the tabular type for this instance. + */ + public TabularType getTabularType() + { + return tabularType; + } + + /** + * Returns the hash code of the composite data type. This is + * computed as the sum of the hash codes of each value, together + * with the hash code of the tabular type. These are the same + * elements of the type that are compared as part of the {@link + * #equals(java.lang.Object)} method, thus ensuring that the + * hashcode is compatible with the equality test. + * + * @return the hash code of this instance. + */ + public int hashCode() + { + return tabularType.hashCode() + dataMap.values().hashCode(); + } + + /** + * Returns true if this {@link TabularData} instance + * contains no {@link CompositeData} values. + * + * @return true if the instance is devoid of rows. + */ + public boolean isEmpty() + { + return dataMap.isEmpty(); + } + + /** + * Returns true if the given key is valid for the + * @link{TabularType} of this instance. + * + * @return true if the key is valid. + * @throws NullPointerException if key + * is null. + */ + private boolean isKeyValid(Object[] key) + { + Iterator it = tabularType.getIndexNames().iterator(); + CompositeType rowType = tabularType.getRowType(); + for (int a = 0; it.hasNext(); ++a) + { + OpenType type = rowType.getType((String) it.next()); + if (!(type.isValue(key[a]))) + return false; + } + return true; + } + + /** + * Returns a set view of the keys in this Map. The set is backed by the + * map, so that changes in one show up in the other. Modifications made + * while an iterator is in progress cause undefined behavior. If the set + * supports removal, these methods remove the underlying mapping from + * the map: Iterator.remove, Set.remove, + * removeAll, retainAll, and clear. + * Element addition, via add or addAll, is + * not supported via this set. + * + * @return the set view of all keys + */ + public Set keySet() + { + return dataMap.keySet(); + } + + /** + * Adds the specified {@link CompositeData} value to the + * table. The value must be non-null, of the same type + * as the row type of this instance, and must not have + * the same index as an existing value. The index is + * calculated using the index names of the + * {@link TabularType} for this instance. + * + * @param val the {@link CompositeData} value to add. + * @throws NullPointerException if val is + * null. + * @throws InvalidOpenTypeException if the type of the + * given value does not + * match the row type. + * @throws KeyAlreadyExistsException if the value has the + * same calculated index + * as an existing value. + */ + public void put(CompositeData val) + { + Object[] key = calculateIndex(val); + if (dataMap.containsKey(key)) + throw new KeyAlreadyExistsException("A value with this index " + + "already exists."); + dataMap.put(key, val); + } + + /** + * Adds the specified {@link CompositeData} value to the + * table, ignoring the supplied key, by simply calling + * put((CompositeData) val). + * + * @param key ignored. + * @param val the {@link CompositeData} value to add. + * @return the {@link CompositeData} value. + * @throws NullPointerException if val is + * null. + * @throws InvalidOpenTypeException if the type of the + * given value does not + * match the row type. + * @throws KeyAlreadyExistsException if the value has the + * same calculated index + * as an existing value. + */ + public Object put(Object key, Object val) + { + put((CompositeData) val); + return val; + } + + /** + * Adds each of the specified {@link CompositeData} values + * to the table. Each element of the array must meet the + * conditions given for the {@link #put(CompositeData)} + * method. In addition, the index of each value in the + * array must be distinct from the index of the other + * values in the array, as well as from the existing values + * in the table. The operation should be atomic; if one + * value can not be added, then none of the values should + * be. If the array is null or empty, the + * method simply returns. + * + * @param vals the {@link CompositeData} values to add. + * @throws NullPointerException if a value from the array is + * null. + * @throws InvalidOpenTypeException if the type of a + * given value does not + * match the row type. + * @throws KeyAlreadyExistsException if a value has the + * same calculated index + * as an existing value or + * of one of the other + * specified values. + */ + public void putAll(CompositeData[] vals) + { + if (vals == null || vals.length == 0) + return; + Map mapToAdd = new HashMap(vals.length); + for (int a = 0; a < vals.length; ++a) + { + Object[] key = calculateIndex(vals[a]); + if (dataMap.containsKey(key)) + throw new KeyAlreadyExistsException("Element " + a + ": A " + + "value with this index " + + "already exists."); + mapToAdd.put(key, vals[a]); + } + dataMap.putAll(mapToAdd); + } + + /** + * Converts each value from the specified map to a member of an + * array of {@link CompositeData} values and adds them using {@link + * #put(CompositeData[])}, if possible. As in {@link + * #put(Object,Object)}, the keys are simply ignored. This method + * is useful for adding the {@link CompositeData} values from a + * different {@link TabularData} instance, which uses the same + * {@link TabularType} but a different selection of index names, to + * this one. If the map is null or empty, the method + * simply returns. + * + * @param m the map to add. Only the values are used and must + * all be instances of {@link CompositeData}. + * @throws NullPointerException if a value from the map is + * null. + * @throws ClassCastException if a value from the map is not + * an instance of {@link CompositeData}. + * @throws InvalidOpenTypeException if the type of the + * given value does not + * match the row type. + * @throws KeyAlreadyExistsException if the value has the + * same calculated index + * as an existing value or + * of one of the other + * specified values. + */ + public void putAll(Map m) + { + if (m == null || m.size() == 0) + return; + Collection vals = m.values(); + CompositeData[] data = new CompositeData[vals.size()]; + Iterator it = vals.iterator(); + for (int a = 0; it.hasNext(); ++a) + { + data[a] = (CompositeData) it.next(); + } + putAll(data); + } + + /** + * Removes the value for the specified key by simply + * calling remove((Object[]) key). + * + * @param key the key whose value should be removed. + * @return the removed value, or null if + * there is no value for the given key. + * @throws NullPointerException if the key is null. + * @throws ClassCastException if the key is not an instance + * of Object[]. + * @throws InvalidOpenTypeException if the key does not match + * the {@link TabularType} of this + * instance. + */ + public Object remove(Object key) + { + return remove((Object[]) key); + } + + /** + * Removes the {@link CompositeData} value located at the + * specified index. null is returned if the + * value does not exist. Otherwise, the removed value is + * returned. + * + * @param key the key of the value to remove. + * @return the removed value, or null if + * there is no value for the given key. + * @throws NullPointerException if the key is null. + * @throws InvalidOpenTypeException if the key does not match + * the {@link TabularType} of this + * instance. + */ + public CompositeData remove(Object[] key) + { + if (!(isKeyValid(key))) + throw new InvalidKeyException("The key does not match the " + + "tabular type of this instance."); + return (CompositeData) dataMap.remove(key); + } + + /** + * Package-private method to set the internal {@link java.util.Map} + * instance (used in cloning). + * + * @param map the new map used. + */ + void setMap(Map map) + { + dataMap = map; + } + + /** + * Returns the number of {@link CompositeData} values or rows + * in the table. + * + * @return the number of rows in the table. + */ + public int size() + { + return dataMap.size(); + } + + /** + * Returns a textual representation of this instance. This + * is constructed using the class name + * (javax.management.openmbean.TabularDataSupport) + * and the result of calling toString() on the + * tabular type and underlying hash map instance. + * + * @return a {@link java.lang.String} representation of the + * object. + */ + public String toString() + { + return getClass().getName() + + "[tabularType=" + tabularType + + ",dataMap=" + dataMap + + "]"; + } + + /** + * Returns a collection (or bag) view of the values in this Map. The + * collection is backed by the map, so that changes in one show up in + * the other. Modifications made while an iterator is in progress cause + * undefined behavior. If the collection supports removal, these methods + * remove the underlying mapping from the map: Iterator.remove, + * Collection.remove, removeAll, + * retainAll, and clear. Element addition, via + * add or addAll, is not supported via this + * collection. + * + * @return the collection view of all values + */ + public Collection values() + { + return dataMap.values(); + } + +} + diff --git a/libjava/classpath/javax/naming/CannotProceedException.java b/libjava/classpath/javax/naming/CannotProceedException.java index 27868e21ea2..bc2085879cc 100644 --- a/libjava/classpath/javax/naming/CannotProceedException.java +++ b/libjava/classpath/javax/naming/CannotProceedException.java @@ -51,7 +51,7 @@ public class CannotProceedException extends NamingException // Serialized fields. protected Name remainingNewName; - protected Hashtable environment; + protected Hashtable environment; protected Name altName; protected Context altNameCtx; @@ -65,12 +65,12 @@ public class CannotProceedException extends NamingException super (msg); } - public Hashtable getEnvironment() + public Hashtable getEnvironment() { return environment; } - public void setEnvironment(Hashtable environment) + public void setEnvironment(Hashtable environment) { this.environment = environment; } diff --git a/libjava/classpath/javax/naming/CompositeName.java b/libjava/classpath/javax/naming/CompositeName.java index 322f63279a2..612932152da 100644 --- a/libjava/classpath/javax/naming/CompositeName.java +++ b/libjava/classpath/javax/naming/CompositeName.java @@ -65,7 +65,7 @@ public class CompositeName implements Name, Cloneable, Serializable elts = new Vector (); } - protected CompositeName (Enumeration comps) + protected CompositeName (Enumeration comps) { elts = new Vector (); try @@ -230,7 +230,7 @@ public class CompositeName implements Name, Cloneable, Serializable return (String) elts.get (posn); } - public Enumeration getAll () + public Enumeration getAll () { return elts.elements (); } diff --git a/libjava/classpath/javax/naming/CompoundName.java b/libjava/classpath/javax/naming/CompoundName.java index 556edfc33f2..703d44e4700 100644 --- a/libjava/classpath/javax/naming/CompoundName.java +++ b/libjava/classpath/javax/naming/CompoundName.java @@ -73,7 +73,7 @@ public class CompoundName implements Name, Cloneable, Serializable initializeSyntax (); } - protected CompoundName (Enumeration comps, Properties syntax) + protected CompoundName (Enumeration comps, Properties syntax) { elts = new Vector (); mySyntax = syntax; @@ -289,7 +289,7 @@ public class CompoundName implements Name, Cloneable, Serializable return (String) elts.get (posn); } - public Enumeration getAll () + public Enumeration getAll () { return elts.elements (); } diff --git a/libjava/classpath/javax/naming/Context.java b/libjava/classpath/javax/naming/Context.java index 46b540304b4..4b87b9e01e6 100644 --- a/libjava/classpath/javax/naming/Context.java +++ b/libjava/classpath/javax/naming/Context.java @@ -270,7 +270,7 @@ public interface Context * @return the enumeration over the names, known for the given subcontext. * @throws NamingException */ - NamingEnumeration list(Name name) throws NamingException; + NamingEnumeration list(Name name) throws NamingException; /** * Creates and returns the enumeration over the name bindings that are present @@ -284,7 +284,7 @@ public interface Context * @return the enumeration over the names, known for the given subcontext. * @throws NamingException */ - NamingEnumeration list(String name) throws NamingException; + NamingEnumeration list(String name) throws NamingException; /** * Creates and returns the enumeration over the name - object bindings that @@ -297,7 +297,7 @@ public interface Context * @return the enumeration over the names, known for the given subcontext. * @throws NamingException */ - NamingEnumeration listBindings(Name name) throws NamingException; + NamingEnumeration listBindings(Name name) throws NamingException; /** * Creates and returns the enumeration over the name - object bindings that @@ -310,7 +310,7 @@ public interface Context * @return the enumeration over the names, known for the given subcontext. * @throws NamingException */ - NamingEnumeration listBindings(String name) throws NamingException; + NamingEnumeration listBindings(String name) throws NamingException; /** * Creates the new naming subcontext and binds it to the current (this) @@ -467,7 +467,7 @@ public interface Context * @return the table, representing the environment of this context * @throws NamingException */ - Hashtable getEnvironment() throws NamingException; + Hashtable getEnvironment() throws NamingException; /** * Releases all resources, associated with this context. The close() method diff --git a/libjava/classpath/javax/naming/InitialContext.java b/libjava/classpath/javax/naming/InitialContext.java index d4a9587f21c..1a3b1e38b03 100644 --- a/libjava/classpath/javax/naming/InitialContext.java +++ b/libjava/classpath/javax/naming/InitialContext.java @@ -73,7 +73,7 @@ public class InitialContext implements Context /** * The environment, associated with this initial context. */ - protected Hashtable myProps; + protected Hashtable myProps; /** * The list of the properties, to that the second alternative value must @@ -111,7 +111,7 @@ public class InitialContext implements Context * created. * @throws NamingException */ - public InitialContext(Hashtable environment) throws NamingException + public InitialContext(Hashtable environment) throws NamingException { init(environment); } @@ -166,13 +166,13 @@ public class InitialContext implements Context * not later reuse this structure for other purposes. * @since 1.3 */ - protected void init(Hashtable environment) throws NamingException + protected void init(Hashtable environment) throws NamingException { // If is documented that the caller should not modify the environment. if (environment != null) - myProps = environment; + myProps = (Hashtable) environment; else - myProps = new Hashtable(); + myProps = new Hashtable(); Applet napplet = (Applet) myProps.get(Context.APPLET); @@ -424,25 +424,25 @@ public class InitialContext implements Context } /** @inheritDoc */ - public NamingEnumeration list (Name name) throws NamingException + public NamingEnumeration list (Name name) throws NamingException { return getURLOrDefaultInitCtx (name).list (name); } /** @inheritDoc */ - public NamingEnumeration list (String name) throws NamingException + public NamingEnumeration list (String name) throws NamingException { return getURLOrDefaultInitCtx (name).list (name); } /** @inheritDoc */ - public NamingEnumeration listBindings (Name name) throws NamingException + public NamingEnumeration listBindings (Name name) throws NamingException { return getURLOrDefaultInitCtx (name).listBindings (name); } /** @inheritDoc */ - public NamingEnumeration listBindings (String name) throws NamingException + public NamingEnumeration listBindings (String name) throws NamingException { return getURLOrDefaultInitCtx (name).listBindings (name); } @@ -522,7 +522,7 @@ public class InitialContext implements Context } /** @inheritDoc */ - public Hashtable getEnvironment () throws NamingException + public Hashtable getEnvironment () throws NamingException { return myProps; } diff --git a/libjava/classpath/javax/naming/Name.java b/libjava/classpath/javax/naming/Name.java index f0475766a97..687ebd6fbde 100644 --- a/libjava/classpath/javax/naming/Name.java +++ b/libjava/classpath/javax/naming/Name.java @@ -60,8 +60,10 @@ import java.util.Enumeration; * @author Anthony Green (green@redhat.com) * @author Mark Wielaard (mark@klomp.org) */ -public interface Name extends Cloneable, Serializable, Comparable +public interface Name extends Cloneable, Serializable, Comparable { + // This class is implemented as gnu.javax.naming.ictxImpl.trans.GnuName + long serialVersionUID = -3617482732056931635L; /** @@ -80,7 +82,7 @@ public interface Name extends Cloneable, Serializable, Comparable * Returns a non-null (but possibly empty) Enumeration of the * components of the Name as Strings. */ - Enumeration getAll(); + Enumeration getAll(); /** * Gets the component at the given index. @@ -94,22 +96,27 @@ public interface Name extends Cloneable, Serializable, Comparable * Returns the components till the given index as a Name. * The returned Name can be modified without changing the * original. + * + * @param posn the ending position, exclusive * * @exception ArrayIndexOutOfBoundsException if the given index is smaller * then zero or greater then or equal to size(). */ - Name getPrefix(int i); + Name getPrefix(int posn); /** * Returns the components from the given index till the end as a * Name. * The returned Name can be modified without changing the * original. + * + * @param posn the starting position, inclusive. If it is equal to the size + * of the name, the empty name is returned. * * @exception ArrayIndexOutOfBoundsException if the given index is smaller * then zero or greater then or equal to size(). */ - Name getSuffix(int i); + Name getSuffix(int posn); /** * Adds the given String component to the end of this @@ -145,7 +152,8 @@ public interface Name extends Cloneable, Serializable, Comparable /** * Inserts all the components of the given Name to this - * Name at the given index. The method modifies the current + * Name at the given index. Components after this index + * (if any) are shifted up. The method modifies the current * Name and then returns it. * * @exception ArrayIndexOutOfBoundsException if the given index is smaller diff --git a/libjava/classpath/javax/naming/NamingEnumeration.java b/libjava/classpath/javax/naming/NamingEnumeration.java index 86b1dfb414d..a7c57706f8b 100644 --- a/libjava/classpath/javax/naming/NamingEnumeration.java +++ b/libjava/classpath/javax/naming/NamingEnumeration.java @@ -52,7 +52,7 @@ import java.util.Enumeration; * exception has been thrown, not other method should be called of that * enumeration.

    */ -public interface NamingEnumeration extends Enumeration +public interface NamingEnumeration extends Enumeration { /** * Returns the next element in this enumeration. The naming - specific @@ -62,7 +62,7 @@ public interface NamingEnumeration extends Enumeration * @return the next element of this enumeration * @throws NamingException */ - Object next() throws NamingException; + T next() throws NamingException; /** * Checks if there are more unvisited elements in the enumeration, throwing diff --git a/libjava/classpath/javax/naming/Reference.java b/libjava/classpath/javax/naming/Reference.java index 0fdecc19ec7..3379bd5a837 100644 --- a/libjava/classpath/javax/naming/Reference.java +++ b/libjava/classpath/javax/naming/Reference.java @@ -58,7 +58,7 @@ public class Reference implements Cloneable, Serializable * The list of addresses, stored in this reference. The object may be * have by several different addresses. */ - protected Vector addrs; + protected Vector addrs; /** * The name of the class factory to create an instance of the object, @@ -218,7 +218,7 @@ public class Reference implements Cloneable, Serializable /** * Get the enumeration over all defined addresses of the object. */ - public Enumeration getAll () + public Enumeration getAll () { return addrs.elements (); } diff --git a/libjava/classpath/javax/naming/ReferralException.java b/libjava/classpath/javax/naming/ReferralException.java index ec2178e77e6..c264d637f18 100644 --- a/libjava/classpath/javax/naming/ReferralException.java +++ b/libjava/classpath/javax/naming/ReferralException.java @@ -61,7 +61,7 @@ public abstract class ReferralException extends NamingException public abstract Object getReferralInfo(); public abstract Context getReferralContext() throws NamingException; - public abstract Context getReferralContext(Hashtable env) + public abstract Context getReferralContext(Hashtable env) throws NamingException; public abstract boolean skipReferral(); public abstract void retryReferral(); diff --git a/libjava/classpath/javax/naming/directory/Attribute.java b/libjava/classpath/javax/naming/directory/Attribute.java index 59bf66dabc8..d29e1eae0b2 100644 --- a/libjava/classpath/javax/naming/directory/Attribute.java +++ b/libjava/classpath/javax/naming/directory/Attribute.java @@ -51,7 +51,7 @@ public interface Attribute extends Cloneable, Serializable { long serialVersionUID = 8707690322213556804L; - NamingEnumeration getAll() throws NamingException; + NamingEnumeration getAll() throws NamingException; Object get() throws NamingException; int size(); String getID(); diff --git a/libjava/classpath/javax/naming/directory/Attributes.java b/libjava/classpath/javax/naming/directory/Attributes.java index 3d5ef9f4fa7..2dc2c610155 100644 --- a/libjava/classpath/javax/naming/directory/Attributes.java +++ b/libjava/classpath/javax/naming/directory/Attributes.java @@ -52,8 +52,8 @@ public interface Attributes extends Cloneable, Serializable boolean isCaseIgnored(); int size(); Attribute get(String attrID); - NamingEnumeration getAll(); - NamingEnumeration getIDs(); + NamingEnumeration getAll(); + NamingEnumeration getIDs(); Attribute put(String attrID, Object val); Attribute put(Attribute attr); Attribute remove(String attrID); diff --git a/libjava/classpath/javax/naming/directory/BasicAttribute.java b/libjava/classpath/javax/naming/directory/BasicAttribute.java index c6419794f10..5a1bb0e881f 100644 --- a/libjava/classpath/javax/naming/directory/BasicAttribute.java +++ b/libjava/classpath/javax/naming/directory/BasicAttribute.java @@ -62,7 +62,7 @@ public class BasicAttribute implements Attribute /** True if this attribute's values are ordered. */ protected boolean ordered; /** Values for this attribute. */ - protected transient Vector values; + protected transient Vector values; // Used by cloning. private BasicAttribute () @@ -182,7 +182,7 @@ public class BasicAttribute implements Attribute return values.get (index); } - public NamingEnumeration getAll () + public NamingEnumeration getAll () throws NamingException { return new BasicAttributeEnumeration (); diff --git a/libjava/classpath/javax/naming/directory/BasicAttributes.java b/libjava/classpath/javax/naming/directory/BasicAttributes.java index 9318fbb2be7..6880f5b3362 100644 --- a/libjava/classpath/javax/naming/directory/BasicAttributes.java +++ b/libjava/classpath/javax/naming/directory/BasicAttributes.java @@ -126,12 +126,12 @@ public class BasicAttributes implements Attributes return null; } - public NamingEnumeration getAll () + public NamingEnumeration getAll () { return new BasicAttributesEnumeration (false); } - public NamingEnumeration getIDs () + public NamingEnumeration getIDs () { return new BasicAttributesEnumeration (true); } diff --git a/libjava/classpath/javax/naming/directory/DirContext.java b/libjava/classpath/javax/naming/directory/DirContext.java index 002cb78a913..d7d94a3456b 100644 --- a/libjava/classpath/javax/naming/directory/DirContext.java +++ b/libjava/classpath/javax/naming/directory/DirContext.java @@ -72,12 +72,32 @@ public interface DirContext extends Context DirContext getSchema(String name) throws NamingException; DirContext getSchemaClassDefinition(Name name) throws NamingException; DirContext getSchemaClassDefinition(String name) throws NamingException; - NamingEnumeration search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException; - NamingEnumeration search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException; - NamingEnumeration search(Name name, Attributes matchingAttributes) throws NamingException; - NamingEnumeration search(String name, Attributes matchingAttributes) throws NamingException; - NamingEnumeration search(Name name, String filter, SearchControls cons) throws NamingException; - NamingEnumeration search(String name, String filter, SearchControls cons) throws NamingException; - NamingEnumeration search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException; - NamingEnumeration search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException; + NamingEnumeration search(Name name, + Attributes matchingAttributes, + String[] attributesToReturn) + throws NamingException; + NamingEnumeration search(String name, + Attributes matchingAttributes, + String[] attributesToReturn) + throws NamingException; + NamingEnumeration search(Name name, + Attributes matchingAttributes) + throws NamingException; + NamingEnumeration search(String name, + Attributes matchingAttributes) + throws NamingException; + NamingEnumeration search(Name name, String filter, + SearchControls cons) + throws NamingException; + NamingEnumeration search(String name, String filter, + SearchControls cons) + throws NamingException; + NamingEnumeration search(Name name, String filterExpr, + Object[] filterArgs, + SearchControls cons) + throws NamingException; + NamingEnumeration search(String name, String filterExpr, + Object[] filterArgs, + SearchControls cons) + throws NamingException; } diff --git a/libjava/classpath/javax/naming/directory/InitialDirContext.java b/libjava/classpath/javax/naming/directory/InitialDirContext.java index c946f416bff..8c7852fbba6 100644 --- a/libjava/classpath/javax/naming/directory/InitialDirContext.java +++ b/libjava/classpath/javax/naming/directory/InitialDirContext.java @@ -66,7 +66,7 @@ public class InitialDirContext extends InitialContext implements DirContext super (lazy); } - public InitialDirContext (Hashtable environment) + public InitialDirContext (Hashtable environment) throws NamingException { super (environment); @@ -205,58 +205,65 @@ public class InitialDirContext extends InitialContext implements DirContext return getURLOrDefaultInitDirCtx (name).getSchemaClassDefinition (name); } - public NamingEnumeration search(Name name, Attributes matchingAttributes, - String[] attributesToReturn) + public NamingEnumeration search(Name name, + Attributes matchingAttributes, + String[] attributesToReturn) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, matchingAttributes, attributesToReturn); } - public NamingEnumeration search(String name, Attributes matchingAttributes, - String[] attributesToReturn) + public NamingEnumeration search(String name, + Attributes matchingAttributes, + String[] attributesToReturn) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, matchingAttributes, attributesToReturn); } - public NamingEnumeration search(Name name, Attributes matchingAttributes) + public NamingEnumeration search(Name name, + Attributes matchingAttributes) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, matchingAttributes); } - public NamingEnumeration search(String name, Attributes matchingAttributes) + public NamingEnumeration search(String name, + Attributes matchingAttributes) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, matchingAttributes); } - public NamingEnumeration search(Name name, String filter, - SearchControls cons) + public NamingEnumeration search(Name name, String filter, + SearchControls cons) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, filter, cons); } - public NamingEnumeration search(String name, String filter, - SearchControls cons) + public NamingEnumeration search(String name, String filter, + SearchControls cons) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, filter, cons); } - public NamingEnumeration search(Name name, String filterExpr, - Object[] filterArgs, SearchControls cons) + public NamingEnumeration search(Name name, String filterExpr, + Object[] filterArgs, + SearchControls cons) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, filterExpr, filterArgs, cons); } - public NamingEnumeration search(String name, String filterExpr, - Object[] filterArgs, SearchControls cons) + public NamingEnumeration search(String name, + String filterExpr, + Object[] filterArgs, + SearchControls cons) throws NamingException { return getURLOrDefaultInitDirCtx (name).search (name, filterExpr, diff --git a/libjava/classpath/javax/naming/ldap/ControlFactory.java b/libjava/classpath/javax/naming/ldap/ControlFactory.java index f72e67a7587..b8151640fc6 100644 --- a/libjava/classpath/javax/naming/ldap/ControlFactory.java +++ b/libjava/classpath/javax/naming/ldap/ControlFactory.java @@ -59,7 +59,7 @@ public abstract class ControlFactory public static Control getControlInstance (Control control, Context ctx, - Hashtable env) + Hashtable env) throws NamingException { String path = (String) env.get (LdapContext.CONTROL_FACTORIES); diff --git a/libjava/classpath/javax/naming/ldap/InitialLdapContext.java b/libjava/classpath/javax/naming/ldap/InitialLdapContext.java index 45a9eae1af5..f9493c3b29c 100644 --- a/libjava/classpath/javax/naming/ldap/InitialLdapContext.java +++ b/libjava/classpath/javax/naming/ldap/InitialLdapContext.java @@ -60,22 +60,24 @@ public class InitialLdapContext this (null, null); } - public InitialLdapContext (Hashtable environment, Control[] connControls) + public InitialLdapContext (Hashtable environment, + Control[] connControls) throws NamingException { super (false); + Hashtable myenv = null; if (connControls != null) { if (environment == null) - environment = new Hashtable (); + myenv = new Hashtable (); else - environment = (Hashtable) environment.clone (); - environment.put ("java.naming.ldap.control.connect", + myenv = (Hashtable) environment.clone (); + myenv.put ("java.naming.ldap.control.connect", connControls); } - init (environment); + init (myenv); } private LdapContext getDefaultInitLdapCtx () diff --git a/libjava/classpath/javax/naming/ldap/LdapReferralException.java b/libjava/classpath/javax/naming/ldap/LdapReferralException.java index 61a2b8e440c..87942b9fce4 100644 --- a/libjava/classpath/javax/naming/ldap/LdapReferralException.java +++ b/libjava/classpath/javax/naming/ldap/LdapReferralException.java @@ -61,8 +61,9 @@ public abstract class LdapReferralException extends ReferralException } public abstract Context getReferralContext() throws NamingException; - public abstract Context getReferralContext(Hashtable env) + public abstract Context getReferralContext(Hashtable env) throws NamingException; - public abstract Context getReferralContext(Hashtable env, Control[] reqCtls) + public abstract Context getReferralContext(Hashtable env, + Control[] reqCtls) throws NamingException; } diff --git a/libjava/classpath/javax/naming/spi/DirObjectFactory.java b/libjava/classpath/javax/naming/spi/DirObjectFactory.java index ea0e69706cc..1a71c28f7df 100644 --- a/libjava/classpath/javax/naming/spi/DirObjectFactory.java +++ b/libjava/classpath/javax/naming/spi/DirObjectFactory.java @@ -51,6 +51,6 @@ import javax.naming.directory.Attributes; public interface DirObjectFactory extends ObjectFactory { Object getObjectInstance(Object obj, Name name, Context nameCtx, - Hashtable environment, Attributes attrs) + Hashtable environment, Attributes attrs) throws Exception; } diff --git a/libjava/classpath/javax/naming/spi/DirStateFactory.java b/libjava/classpath/javax/naming/spi/DirStateFactory.java index b5add91cba7..6ddd12f3655 100644 --- a/libjava/classpath/javax/naming/spi/DirStateFactory.java +++ b/libjava/classpath/javax/naming/spi/DirStateFactory.java @@ -77,7 +77,7 @@ public interface DirStateFactory extends StateFactory DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, - Hashtable environment, + Hashtable environment, Attributes inAttrs) throws NamingException; } diff --git a/libjava/classpath/javax/naming/spi/DirectoryManager.java b/libjava/classpath/javax/naming/spi/DirectoryManager.java index fd482efb5c6..a6d91b20cfa 100644 --- a/libjava/classpath/javax/naming/spi/DirectoryManager.java +++ b/libjava/classpath/javax/naming/spi/DirectoryManager.java @@ -93,7 +93,7 @@ public class DirectoryManager extends NamingManager public static Object getObjectInstance (Object refInfo, Name name, Context nameCtx, - Hashtable environment, + Hashtable environment, Attributes attrs) throws Exception { @@ -186,7 +186,7 @@ public class DirectoryManager extends NamingManager public static DirStateFactory.Result getStateToBind (Object obj, Name name, Context nameCtx, - Hashtable environment, + Hashtable environment, Attributes attrs) throws NamingException { diff --git a/libjava/classpath/javax/naming/spi/InitialContextFactory.java b/libjava/classpath/javax/naming/spi/InitialContextFactory.java index d9b3336dcc2..f715327ef50 100644 --- a/libjava/classpath/javax/naming/spi/InitialContextFactory.java +++ b/libjava/classpath/javax/naming/spi/InitialContextFactory.java @@ -66,5 +66,6 @@ public interface InitialContextFactory * @return the new initial context * @throws NamingException if the naming exception has occured */ - Context getInitialContext(Hashtable environment) throws NamingException; + Context getInitialContext (Hashtable environment) + throws NamingException; } diff --git a/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java b/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java index 4696cecb8e7..31bafe6dc06 100644 --- a/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java +++ b/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java @@ -53,14 +53,14 @@ import javax.naming.NamingException; public interface InitialContextFactoryBuilder { /** - * Create the new inital context factory + * Create the new initial context factory * - * @param environment the properties, used for creation of the initial context - * factory. The parameter is owned by the caller: it is safe to reuse - * the table for other purposes after the method returns. + * @param environment the properties, used for creation of the initial + * context factory. The parameter is owned by the caller: it is safe to reuse + * the table for other purposes after the method returns. * @return the created initial context factory, never null. * @throws NamingException on failure */ - InitialContextFactory createInitialContextFactory (Hashtable environment) + InitialContextFactory createInitialContextFactory (Hashtable environment) throws NamingException; } diff --git a/libjava/classpath/javax/naming/spi/NamingManager.java b/libjava/classpath/javax/naming/spi/NamingManager.java index a36d519d75a..3dfba0f668d 100644 --- a/libjava/classpath/javax/naming/spi/NamingManager.java +++ b/libjava/classpath/javax/naming/spi/NamingManager.java @@ -79,7 +79,7 @@ public class NamingManager NamingManager () { } - + /** * Checks if the initial context factory builder has been set. * @@ -110,7 +110,7 @@ public class NamingManager * class, named by this property, cannot be instantiated. * @throws NamingException if throws by the context factory */ - public static Context getInitialContext (Hashtable environment) + public static Context getInitialContext (Hashtable environment) throws NamingException { InitialContextFactory icf = null; @@ -151,7 +151,7 @@ public class NamingManager return icf.getInitialContext (environment); } - + /** *

    * Creates the URL context for the given URL scheme id. @@ -187,23 +187,26 @@ public class NamingManager * @throws NamingException if thrown by the factory when creating the context. */ static Context getURLContext(Object refInfo, Name name, Context nameCtx, - String scheme, Hashtable environment) + String scheme, Hashtable environment) throws NamingException { - // Specified as the default in the docs. Unclear if this is - // right for us. - String defaultPrefix = "com.sun.jndi.url"; + // Doc specifies com.sun.jndi.url as the final destination, but we cannot + // put our classes into such namespace. + String defaultPrefix = "gnu.javax.naming.jndi.url"; + // The final default location, as specified in the documentation. + String finalPrefix = "com.sun.jndi.url"; + StringBuffer allPrefixes = new StringBuffer(); String prefixes; - if (environment != null) - { + if (environment != null) + { prefixes = (String) environment.get(Context.URL_PKG_PREFIXES); if (prefixes != null) allPrefixes.append(prefixes); - } - + } + prefixes = System.getProperty(Context.URL_PKG_PREFIXES); if (prefixes != null) { @@ -215,12 +218,14 @@ public class NamingManager if (allPrefixes.length() > 0) allPrefixes.append(':'); allPrefixes.append(defaultPrefix); + allPrefixes.append(':'); + allPrefixes.append(finalPrefix); - scheme = scheme + "." + scheme + "URLContextFactory"; - + scheme = scheme + "." + scheme + "URLContextFactory"; + StringTokenizer tokens = new StringTokenizer(allPrefixes.toString(), ":"); while (tokens.hasMoreTokens()) - { + { String aTry = tokens.nextToken(); try { @@ -228,12 +233,21 @@ public class NamingManager Class factoryClass = forName(tryClass); if (factoryClass != null) { - ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); - Object obj = factory.getObjectInstance(refInfo, name, nameCtx, - environment); - Context ctx = (Context) obj; - if (ctx != null) - return ctx; + Object obj; + try + { + ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); + obj = factory.getObjectInstance(refInfo, name, nameCtx, + environment); + Context ctx = (Context) obj; + if (ctx != null) + return ctx; + } + catch (RuntimeException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } } } catch (ClassNotFoundException _1) @@ -263,11 +277,11 @@ public class NamingManager { // Anything from getObjectInstance. } - } - + } + return null; } - + /** * Load the class with the given name. This method tries to use the context * class loader first. If this fails, it searches for the suitable class @@ -315,15 +329,15 @@ public class NamingManager *

    *

    * The class name of the factory that creates the context has the naming - * pattern scheme-idURLContextFactory. For instance, the factory for the "ftp" - * sheme should be named "ftpURLContextFactory". The Context.URL_PKG_PREFIXES - * environment property contains the colon-separated list of the possible - * package prefixes. The package name is constructed concatenating the package - * prefix with the scheme id. + * pattern scheme-idURLContextFactory. For instance, the factory for the + * "ftp" scheme should be named "ftpURLContextFactory". + * The Context.URL_PKG_PREFIXES environment property contains the + * colon-separated list of the possible package prefixes. The package name + * is constructed by concatenating the package prefix with the scheme id. *

    *

    - * If the factory class cannot be found in the specified packages, system will - * try to use the default internal factory for the given scheme. + * If the factory class cannot be found in the specified packages, the + * system will try to use the default internal factory for the given scheme. *

    *

    * After the factory is instantiated, its method @@ -331,13 +345,14 @@ public class NamingManager * is called to create and return the object instance. * * @param scheme the url scheme that must be supported by the given context - * @param environment the properties for creating the factory and context (may - * be null) + * @param environment the properties for creating the factory and context + * (may be null) * @return the created context - * @throws NamingException if thrown by the factory when creating the context. + * @throws NamingException if thrown by the factory when creating the + * context. */ public static Context getURLContext (String scheme, - Hashtable environment) + Hashtable environment) throws NamingException { return getURLContext (null, null, null, scheme, environment); @@ -436,7 +451,7 @@ public class NamingManager public static Object getObjectInstance (Object refInfo, Name name, Context nameCtx, - Hashtable environment) + Hashtable environment) throws Exception { ObjectFactory factory = null; @@ -609,7 +624,7 @@ public class NamingManager * @throws NamingException */ public static Object getStateToBind (Object obj, Name name, - Context nameCtx, Hashtable environment) + Context nameCtx, Hashtable environment) throws NamingException { StringTokenizer tokens = getPlusPath (Context.STATE_FACTORIES, diff --git a/libjava/classpath/javax/naming/spi/ObjectFactory.java b/libjava/classpath/javax/naming/spi/ObjectFactory.java index 27771b6cbbd..4534481a75a 100644 --- a/libjava/classpath/javax/naming/spi/ObjectFactory.java +++ b/libjava/classpath/javax/naming/spi/ObjectFactory.java @@ -70,6 +70,7 @@ public interface ObjectFactory * * @see NamingManager#getObjectInstance(Object, Name, Context, Hashtable) */ - Object getObjectInstance(Object refObj, Name name, Context nameCtx, - Hashtable environment) throws Exception; + Object getObjectInstance (Object refObj, Name name, Context nameCtx, + Hashtable environment) + throws Exception; } diff --git a/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java b/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java index cb20c666e71..6a528b17a06 100644 --- a/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java +++ b/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java @@ -52,7 +52,7 @@ import javax.naming.Referenceable; * @author Warren Levy (warrenl@redhat.com) */ public interface ObjectFactoryBuilder -{ +{ /** * Create a new object using the supplied environment. * @@ -65,6 +65,6 @@ public interface ObjectFactoryBuilder * @throws NamingException */ ObjectFactory createObjectFactory(Object refInfo, - Hashtable environment) + Hashtable environment) throws NamingException; } diff --git a/libjava/classpath/javax/naming/spi/Resolver.java b/libjava/classpath/javax/naming/spi/Resolver.java index eb3eeb56079..f01790502ed 100644 --- a/libjava/classpath/javax/naming/spi/Resolver.java +++ b/libjava/classpath/javax/naming/spi/Resolver.java @@ -44,41 +44,20 @@ import javax.naming.NamingException; import javax.naming.NotContextException; /** - *

    Represents the object, capable for the at least partial name resolution. - * The object is not necessay capable for the complete name resolution and - * need not implement the {@link Context}.

    - *

    - * Both passed parameters and returned results are owned by the caller.

    - * ++ *

    Represents the object, capable for the at least partial name resolution. ++ * The object is not necessay capable for the complete name resolution and ++ * need not implement the {@link Context}.

    ++ *

    ++ * Both passed parameters and returned results are owned by the caller.

    ++ * * @author Warren Levy (warrenl@redhat.com) */ public interface Resolver { - /** - * Partially resolve the name, stopping at the first instance of the context - * that is an instance of the contextType - * - * @param name the name to resolve - * @param contextType the class of the context, on that the resolution should - * be terminated - * @return the complete or partial name resolution - * @throws NotContextException if the context of the contextType is not found - * @throws NamingException on other failure - */ - ResolveResult resolveToClass(Name name, Class contextType) + ResolveResult resolveToClass(Name name, + Class contextType) throws NamingException; - - /** - * Partially resolve the name, stopping at the first instance of the context - * that is an instance of the contextType - * - * @param name the name to resolve - * @param contextType the class of the context, on that the resolution should - * be terminated - * @return the complete or partial name resolution - * @throws NotContextException if the context of the contextType is not found - * @throws NamingException on other failure - */ - ResolveResult resolveToClass(String name, Class contextType) + ResolveResult resolveToClass(String name, + Class contextType) throws NamingException; } diff --git a/libjava/classpath/javax/naming/spi/StateFactory.java b/libjava/classpath/javax/naming/spi/StateFactory.java index 5694f8a1a09..0c48309e3d5 100644 --- a/libjava/classpath/javax/naming/spi/StateFactory.java +++ b/libjava/classpath/javax/naming/spi/StateFactory.java @@ -75,5 +75,5 @@ public interface StateFactory * @see DirectoryManager#getStateToBind */ Object getStateToBind(Object obj, Name name, Context nameCtx, - Hashtable environment) throws NamingException; + Hashtable environment) throws NamingException; } diff --git a/libjava/classpath/javax/net/ssl/CertPathTrustManagerParameters.java b/libjava/classpath/javax/net/ssl/CertPathTrustManagerParameters.java new file mode 100644 index 00000000000..b6dc135e119 --- /dev/null +++ b/libjava/classpath/javax/net/ssl/CertPathTrustManagerParameters.java @@ -0,0 +1,71 @@ +/* CertPathTrustManagerParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package javax.net.ssl; + +import java.security.cert.CertPathParameters; + +/** + * Trust manager parameters for certification paths. + */ +public class CertPathTrustManagerParameters implements ManagerFactoryParameters +{ + private final CertPathParameters params; + + /** + * Creates a new trust manager parameter instance. The argument is + * cloned to prevent modification of this instance. + * + * @param params The certificate path parameters. + * @throws NullPointerException If params is null. + */ + public CertPathTrustManagerParameters (final CertPathParameters params) + { + this.params = (CertPathParameters) params.clone (); + } + + /** + * Returns a copy of the certificate path parameters. + * + * @return A copy of the certificate path parameters. + */ + public CertPathParameters getParameters () + { + return (CertPathParameters) params.clone (); + } +} diff --git a/libjava/classpath/javax/net/ssl/HandshakeCompletedEvent.java b/libjava/classpath/javax/net/ssl/HandshakeCompletedEvent.java index 743f1372672..b65dff06c8e 100644 --- a/libjava/classpath/javax/net/ssl/HandshakeCompletedEvent.java +++ b/libjava/classpath/javax/net/ssl/HandshakeCompletedEvent.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.net.ssl; +import java.security.Principal; import java.security.cert.Certificate; import javax.security.cert.X509Certificate; @@ -107,6 +108,20 @@ public class HandshakeCompletedEvent extends java.util.EventObject return null; } + /** + * Returns the local identity used in this connection, or + * null if there is none. + * + * @return The local identity. + * @since 1.5 + */ + public Principal getLocalPrincipal () + { + if (session != null) + return session.getLocalPrincipal (); + return null; + } + /** * Returns the peer's certificates being used in this connection. * @@ -128,6 +143,22 @@ public class HandshakeCompletedEvent extends java.util.EventObject return null; } + /** + * Returns the peer's identity, or null if there is + * none. + * + * @return The peer's identity. + * @throws SSLPeerUnverifiedException If the remote peer's identity + * could not be verified. + * @since 1.5 + */ + public Principal getPeerPrincipal () throws SSLPeerUnverifiedException + { + if (session != null) + return session.getPeerPrincipal (); + return null; + } + /** * Returns the SSL session object associated with this connection. * diff --git a/libjava/classpath/javax/net/ssl/HttpsURLConnection.java b/libjava/classpath/javax/net/ssl/HttpsURLConnection.java index 3f30dc1b800..7d68162c96a 100644 --- a/libjava/classpath/javax/net/ssl/HttpsURLConnection.java +++ b/libjava/classpath/javax/net/ssl/HttpsURLConnection.java @@ -38,9 +38,12 @@ exception statement from your version. */ package javax.net.ssl; +import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; +import java.security.Principal; import java.security.cert.Certificate; +import java.security.cert.X509Certificate; /** * A URL connection that connects via the Secure Socket Layer @@ -245,6 +248,48 @@ public abstract class HttpsURLConnection extends HttpURLConnection this.factory = factory; } + /** + * Returns the local principal for this connection. + * + *

    The default implementation will return the {@link + * javax.security.x500.X500Principal} for the end entity certificate + * in the local certificate chain if those certificates are of type + * {@link java.security.cert.X509Certificate}. Otherwise, this + * method returns null. + * + * @return The local principal. + * @since 1.5 + */ + public Principal getLocalPrincipal () + { + Certificate[] c = getLocalCertificates (); + if (c != null && c.length > 0 && (c[0] instanceof X509Certificate)) + return ((X509Certificate) c[0]).getSubjectX500Principal (); + return null; + } + + /** + * Returns the remote peer's principal for this connection. + * + *

    The default implementation will return the {@link + * javax.security.x500.X500Principal} for the end entity certificate + * in the remote peer's certificate chain if those certificates are + * of type {@link java.security.cert.X509Certificate}. Otherwise, + * this method returns null. + * + * @return The remote principal. + * @throws SSLPeerUnverifiedException If the remote peer has not + * been verified. + * @since 1.5 + */ + public Principal getPeerPrincipal () throws SSLPeerUnverifiedException + { + Certificate[] c = getServerCertificates (); + if (c != null && c.length > 0 && (c[0] instanceof X509Certificate)) + return ((X509Certificate) c[0]).getSubjectX500Principal (); + return null; + } + // Abstract methods. // ------------------------------------------------------------------- diff --git a/libjava/classpath/javax/net/ssl/KeyManagerFactory.java b/libjava/classpath/javax/net/ssl/KeyManagerFactory.java index ab8abd6264c..33f2fda9c7f 100644 --- a/libjava/classpath/javax/net/ssl/KeyManagerFactory.java +++ b/libjava/classpath/javax/net/ssl/KeyManagerFactory.java @@ -132,49 +132,55 @@ public class KeyManagerFactory } /** - * Get an instance of the named key manager factory, from the first + * Create an instance of the named key manager factory, from the first * provider that implements it. - * + * * @param algorithm The type of key manager factory to get. * @return An appropriate implementation of that algoritm. - * @throws NoSuchAlgorithmException If no provider implements the - * requested algorithm. + * @throws NoSuchAlgorithmException If no provider implements the requested + * algorithm. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static final KeyManagerFactory getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(algorithm, provs[i]); - } - catch (NoSuchAlgorithmException ignore) - { - } - } + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } /** - * Get an instance of the named key manager factory, from the named + * Create an instance of the named key manager factory, from the named * provider. - * + * * @param algorithm The type of key manager factory to get. - * @param provider The name of the provider to get the - * implementation from. + * @param provider The name of the provider to get the implementation from. * @return An appropriate implementation of that algorithm. - * @throws NoSuchAlgorithmException If the provider does not - * implement the requested algorithm. - * @throws NoSuchProviderException If the named provider does not - * exist. + * @throws NoSuchAlgorithmException If the provider does not implement the + * requested algorithm. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ - public static final KeyManagerFactory getInstance(String algorithm, String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + public static final KeyManagerFactory getInstance(String algorithm, + String provider) + throws NoSuchAlgorithmException, NoSuchProviderException { if (provider == null) - throw new IllegalArgumentException("provider is null"); + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) throw new NoSuchProviderException(provider); @@ -182,40 +188,48 @@ public class KeyManagerFactory } /** - * Get an instance of the named key manager factory, from the given + * Create an instance of the named key manager factory, from the given * provider. - * + * * @param algorithm The type of key manager factory to get. * @param provider The provider to get the implementation from. * @return An appropriate implementation of that algorithm. - * @throws NoSuchAlgorithmException If the provider does not - * implement the requested algorithm. - * @throws IllegalArgumentException If provider is null. + * @throws NoSuchAlgorithmException If the provider does not implement the + * requested algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ - public static final KeyManagerFactory getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + public static final KeyManagerFactory getInstance(String algorithm, + Provider provider) + throws NoSuchAlgorithmException { - if (provider == null) - throw new IllegalArgumentException("provider is null"); + StringBuilder sb = new StringBuilder("KeyManagerFactory algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new KeyManagerFactory((KeyManagerFactorySpi) - Engine.getInstance(KEY_MANAGER_FACTORY, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(KEY_MANAGER_FACTORY, algorithm, provider); + return new KeyManagerFactory((KeyManagerFactorySpi) spi, provider, algorithm); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ------------------------------------------------------------------- - /** * Returns the name of this key manager factory algorithm. * diff --git a/libjava/classpath/javax/net/ssl/KeyStoreBuilderParameters.java b/libjava/classpath/javax/net/ssl/KeyStoreBuilderParameters.java new file mode 100644 index 00000000000..2aa665ed5ea --- /dev/null +++ b/libjava/classpath/javax/net/ssl/KeyStoreBuilderParameters.java @@ -0,0 +1,48 @@ +/* KeyStoreBuilderParameters.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package javax.net.ssl; + +/** + *

    FIXME this class is currently a stub; + * it depends on an implementation of {@link + * java.security.KeyStore.Builder}

    . + */ +public class KeyStoreBuilderParameters implements ManagerFactoryParameters +{ +} diff --git a/libjava/classpath/javax/net/ssl/SSLContext.java b/libjava/classpath/javax/net/ssl/SSLContext.java index eaf3e3638e2..dcc85080956 100644 --- a/libjava/classpath/javax/net/ssl/SSLContext.java +++ b/libjava/classpath/javax/net/ssl/SSLContext.java @@ -91,101 +91,127 @@ public class SSLContext this.protocol = protocol; } - // Class methods. - // ------------------------------------------------------------------ - /** - * Get an instance of a context for the specified protocol from the - * first provider that implements it. - * + * Get an instance of a context for the specified protocol from the first + * provider that implements it. + * * @param protocol The name of the protocol to get a context for. * @return The new context. - * @throws NoSuchAlgorithm If no provider implements the given - * protocol. + * @throws NoSuchAlgorithmException If no provider implements the given + * protocol. + * @throws IllegalArgumentException if protocol is + * null or is an empty string. */ public static final SSLContext getInstance(String protocol) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(protocol, provs[i]); - } - catch (NoSuchAlgorithmException ignore) - { - } - } + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(protocol, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(protocol); } /** - * Get an instance of a context for the specified protocol from the - * named provider. - * + * Get an instance of a context for the specified protocol from the named + * provider. + * * @param protocol The name of the protocol to get a context for. - * @param provider The name of the provider to get the - * implementation from. + * @param provider The name of the provider to get the implementation from. * @return The new context. - * @throws NoSuchAlgorithmException If the provider does not - * implement the given protocol. - * @throws NoSuchProviderException If the named provider does not - * exist. - * @throws IllegalArgumentException If provider is null. + * @throws NoSuchAlgorithmException If the provider does not implement the + * given protocol. + * @throws NoSuchProviderException If the named provider does not exist. + * @throws IllegalArgumentException if either protocol or + * provider is null, or if + * protocol is an empty string. */ - public static final SSLContext getInstance(String protocol, - String provider) - throws NoSuchAlgorithmException, NoSuchProviderException + public static final SSLContext getInstance(String protocol, String provider) + throws NoSuchAlgorithmException, NoSuchProviderException { if (provider == null) - { - throw new IllegalArgumentException("null provider"); - } + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(protocol, p); } /** - * Get an instance of a context for the specified protocol from the - * specified provider. - * + * Get an instance of a context for the specified protocol from the specified + * provider. + * * @param protocol The name of the protocol to get a context for. - * @param provider The name of the provider to get the - * implementation from. + * @param provider The name of the provider to get the implementation from. * @return The new context. - * @throws NoSuchAlgorithmException If the provider does not - * implement the given protocol. - * @throws IllegalArgumentException If provider is null. + * @throws NoSuchAlgorithmException If the provider does not implement the + * given protocol. + * @throws IllegalArgumentException if either protocol or + * provider is null, or if + * protocol is an empty string. */ - public static final SSLContext getInstance(String protocol, - Provider provider) - throws NoSuchAlgorithmException + public static final SSLContext getInstance(String protocol, Provider provider) + throws NoSuchAlgorithmException { + StringBuilder sb = new StringBuilder("SSLContext for protocol [") + .append(protocol).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new SSLContext((SSLContextSpi) - Engine.getInstance(SSL_CONTEXT, protocol, provider), - provider, protocol); + Object spi = Engine.getInstance(SSL_CONTEXT, protocol, provider); + return new SSLContext((SSLContextSpi) spi, provider, protocol); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - NoSuchAlgorithmException nsae = new NoSuchAlgorithmException(protocol); - throw (NoSuchAlgorithmException) nsae.initCause(ite); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - NoSuchAlgorithmException nsae = new NoSuchAlgorithmException(protocol); - throw (NoSuchAlgorithmException) nsae.initCause(cce); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } - // Instance methods. - // ----------------------------------------------------------------- + /** + * Creates a new {@link SSLEngine} for this context. + * + * @return The new SSLEngine. + * @since 1.5 + */ + public final SSLEngine createSSLEngine () + { + return ctxSpi.engineCreateSSLEngine (); + } + + /** + * Creates a new {@link SSLEngine} for this context, with a given + * host name and port number. + * + * @param host The local host name. + * @param port The local port number. + * @return The new SSLEngine. + * @since 1.5 + */ + public final SSLEngine createSSLEngine (final String host, final int port) + { + return ctxSpi.engineCreateSSLEngine (host, port); + } /** * Returns the set of SSL contexts available for client connections. diff --git a/libjava/classpath/javax/net/ssl/SSLContextSpi.java b/libjava/classpath/javax/net/ssl/SSLContextSpi.java index a6b0c758117..03c44f85e9c 100644 --- a/libjava/classpath/javax/net/ssl/SSLContextSpi.java +++ b/libjava/classpath/javax/net/ssl/SSLContextSpi.java @@ -64,6 +64,28 @@ public abstract class SSLContextSpi // Abstract methods. // ------------------------------------------------------------------- + // Sun, you've broken existing applications by introducing new + // abstract methods! Goodjob!!! + + /** + * Returns a new {@link SSLEngine} for this context. + * + * @return A new SSLEngine. + * @since 1.5 + */ + protected abstract SSLEngine engineCreateSSLEngine (); + + /** + * Returns a new {@link SSLEngine} for this context, for the given + * host name and port number. + * + * @param host The local host name. + * @param port The local port number. + * @return A new SSLEngine. + * @since 1.5 + */ + protected abstract SSLEngine engineCreateSSLEngine (String host, int port); + /** * Returns the set of SSL sessions available for client connections. * diff --git a/libjava/classpath/javax/net/ssl/SSLEngine.java b/libjava/classpath/javax/net/ssl/SSLEngine.java new file mode 100644 index 00000000000..efab9725b59 --- /dev/null +++ b/libjava/classpath/javax/net/ssl/SSLEngine.java @@ -0,0 +1,442 @@ +/* SSLEngine.java -- advanced, generic utility for manipulating SSL messages. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package javax.net.ssl; + +import java.nio.ByteBuffer; + +/** + * A class for low-level message wrapping and unwrapping of SSL + * messages. + * + * @author Casey Marshall (csm@gnu.org) + * @since 1.5 + */ +public abstract class SSLEngine +{ + private final String peerHost; + private final int peerPort; + + /** + * Creates a new SSLEngine with no peer host name or port number. + */ + protected SSLEngine () + { + this (null, -1); + } + + /** + * Creates a new SSLEngine with the specified peer host name and + * port number. + * + * @param peerHost The peer's host name. + * @param peerPort The peer's port number. + */ + protected SSLEngine (String peerHost, int peerPort) + { + this.peerHost = peerHost; + this.peerPort = peerPort; + } + + + + /** + * Begin, or restart, the SSL handshake. + * + * @throws SSLException + */ + public abstract void beginHandshake () throws SSLException; + + /** + * Close the inbound state. + * + * @throws SSLException + */ + public abstract void closeInbound () throws SSLException; + + /** + * Close the outbound state. + */ + public abstract void closeOutbound (); + + /** + * + */ + public abstract Runnable getDelegatedTask (); + + /** + * Returns the peer host name this SSL session is connected to, or + * null if this value was not set. + * + * @return The peer host's name. + */ + public String getPeerHost () + { + return peerHost; + } + + /** + * Returns the peer IP port number this SSL session in communicating + * on, or -1 if this value was not set. + * + * @return The peer's port number. + */ + public int getPeerPort () + { + return peerPort; + } + + /** + * Returns a list of SSL cipher suite names this SSLEngine is + * configured to use. + * + * @return The list of enabled cipher suite names. + */ + public abstract String[] getEnabledCipherSuites(); + + /** + * Returns a list of SSL protocol version names this SSLEngine is + * configured to use. + * + * @return The list of enabled protocol names. + */ + public abstract String[] getEnabledProtocols (); + + /** + * Tells if sessions will be created by this engine, and therefore + * may be resumed at a later time. + * + * @return True if sessions will be created. + */ + public abstract boolean getEnableSessionCreation(); + + /** + * Return the current handshake status. + * + * @return The current handshake status. + */ + public abstract SSLEngineResult.HandshakeStatus getHandshakeStatus (); + + /** + * Tells if this SSLEngine is configured to require client + * authentication when in server mode. + * + * @return True iff client authentication is required. + */ + public abstract boolean getNeedClientAuth (); + + /** + * Return the {@link SSLSession} object this connection represents. + * + * @return The SSL session. + */ + public abstract SSLSession getSession (); + + /** + * Returns a list of SSL cipher suite names this SSLEngine + * implementation supports. + * + * @return The list of cipher suite names supported by this + * implementation. + */ + public abstract String[] getSupportedCipherSuites (); + + /** + * Returns a list of SSL protocol version names this SSLEngine + * implementation supports. SSL protocol names include things like + * "SSLv3" or "TLSv1". + * + * @return The list of SSL protocol names + */ + public abstract String[] getSupportedProtocols (); + + /** + * Tells if this SSLEngine is a "client" session. + * + * @return True iff this session is configured for client mode. + */ + public abstract boolean getUseClientMode (); + + /** + * Tells if client authentication is requested, but not required, + * for sessions in server mode. If true, a server session will + * request an authentication message from connecting clients, but + * will still allow clients to connect if they cannot be + * authenticated. + * + * @return True iff client authentication is requested. + */ + public abstract boolean getWantClientAuth (); + + /** + * Tells if the incoming data stream is finished, and thus if no + * more data will be available to be unwrapped. + * + * @return True if no more data is to be unwrapped. + */ + public abstract boolean isInboundDone (); + + /** + * Tells if the outgoing data stream is finished, and thus if no + * more data may be wrapped. + * + * @return True if no more data may be wrapped. + */ + public abstract boolean isOutboundDone (); + + /** + * Sets the list of enabled cipher suites. The argument is an array + * of strings of the canonical suite names. + * + * @param suites The cipher suites to enable. + * @throws IllegalArgumentException If any of the specified suite + * strings is not supported by this implementation, or if the + * argument is null. + */ + public abstract void setEnabledCipherSuites (String[] suites); + + /** + * Sets the list of enabled protocol versions. The argument is an + * array of strings of the canonical protocol version names, such as + * "TLSv1". + * + * @param protocols The protocol versions to enable. + * @throws IllegalArgumentException If any of the specified + * protocols are not supported, or if the argument is null. + */ + public abstract void setEnabledProtocols (String[] protocols); + + /** + * Enables or disables session creation. If enabled, each connection + * will create session that may be resumed by another connection. + * + * @param create Whether or not to enable session creation. + */ + public abstract void setEnableSessionCreation (boolean create); + + /** + * Enables client or server mode. If the argument is true, this + * engine will run in client mode; if false, server mode. + * + * @param clientMode Whether or not to use client mode. + */ + public abstract void setUseClientMode (boolean clientMode); + + /** + * Enables or disables required client authentication. If enabled, + * clients may only connect if they provide proper identification. + * + *

    This parameter is only used in server mode. + * + * @param needAuth Whether or not client authentication is required. + */ + public abstract void setNeedClientAuth (boolean needAuth); + + /** + * Enables or disables requested client authentication. If enabled, + * clients will be asked to provide proper identification, but will + * still be allowed to connect if they do not provide it. + * + *

    This parameter is only used in server mode. + * + * @param wantAuth Whether or not client authentication will be + * requested, but not required. + */ + public abstract void setWantClientAuth (boolean wantAuth); + + /** + * Unwraps a byte buffer recieved from the network, storing the + * decrypted, unwrapped bytes into the given buffer. + * + *

    This call is exactly equivalent to unwrap (source, new + * ByteBuffer[] { sink }, 0, 1). + * + * @param source The source bytes, coming from the network. + * @param sink The buffer to hold the unwrapped message. + * @return An engine result object for the operation. + * @throws SSLException If an SSL message parsing error occurs. + * @throws java.nio.ReadOnlyBufferException If 'sink' is not + * writable. + * @throws IllegalArgumentException If either 'source' or 'sink' is + * null. + * @throws IllegalStateException If this engine has not been put + * into client or server mode. + */ + public SSLEngineResult unwrap (ByteBuffer source, ByteBuffer sink) + throws SSLException + { + return unwrap (source, new ByteBuffer[] { sink }, 0, 1); + } + + /** + * Unwraps a byte buffer recieved from the network, storing the + * decrypted, unwrapped bytes into the given buffers. + * + *

    This call is exactly equivalent to unwrap (source, + * sinks, 0, sinks.length). + * + * @param source The source bytes, coming from the network. + * @param sinks The buffers to hold the unwrapped message. + * @return An engine result object for the operation. + * @throws SSLException If an SSL message parsing error occurs. + * @throws java.nio.ReadOnlyBufferException If any buffer in 'sinks' + * is not writable. + * @throws IllegalArgumentException If either 'source' or 'sinks' is + * null. + * @throws IllegalStateException If this engine has not been put + * into client or server mode. + */ + public SSLEngineResult unwrap (ByteBuffer source, ByteBuffer[] sinks) + throws SSLException + { + return unwrap (source, sinks, 0, sinks.length); + } + + /** + * Unwraps a byte buffer received from the network, storing the + * decrypted, unwrapped bytes into the given buffers. After + * unwrapping, the bytes placed into the sink buffers are ready for + * consumption by the application. + * + *

    This method may place no bytes in the destination buffer; for + * example, if this engine is still performing the SSL handshake, + * only handshake data will be consumed, and no application data. + * + *

    It is stated that this method may modify the source buffer, + * and that it must not be passed to another SSLEngine (SSL + * connections are independent, so another SSLEngine will not have + * the parameters or state to handle messages meant for this + * engine). + * + * @param source The source bytes, coming from the network. + * @param sinks The buffers to hold the unwrapped message. + * @param offset The index of the first buffer in 'sinks' to use. + * @param length The number of buffers in 'sinks' to use. + * @return An engine result object for the operation. + * @throws SSLException If an SSL message parsing error occurs. + * @throws java.nio.ReadOnlyBufferException If any buffer in 'sinks' + * is not writable. + * @throws IllegalArgumentException If either 'source' or 'sinks' is + * null. + * @throws IllegalStateException If this engine has not been put + * into client or server mode. + * @throws IndexOutOfBoundsException If 'offset' or 'length' is + * negative, or if 'length+offset' is greater than 'sinks.length'. + */ + public abstract SSLEngineResult unwrap (ByteBuffer source, + ByteBuffer[] sinks, int offset, + int length) + throws javax.net.ssl.SSLException; + + /** + * Wraps a byte buffer into an SSL message, for preparation to send + * it over the network. + * + *

    This method is exactly equivalent to wrap (new + * ByteBuffer[] { source }, 0, 1, sink). + * + * @param source The source buffer with application data. + * @param sink The buffer to hold the wrapped data. + * @return An engine result object for the operation. + * @throws SSLException If an SSL error occurs. + * @throws java.nio.ReadOnlyBufferException If 'sink' is read-only. + * @throws IllegalArgumentException If either 'source' or 'sink' is + * null. + * @throws IllegalStateException If this engine has not been put + * into client or server mode. + */ + public SSLEngineResult wrap (ByteBuffer source, ByteBuffer sink) + throws SSLException + { + return wrap (new ByteBuffer[] { source }, 0, 1, sink); + } + + /** + * Wraps byte buffers into an SSL message, for preparation to send + * them over the network. + * + *

    This method is exactly equivalent to wrap (sources, 0, + * 1, sink). + * + * @param sources The source buffers with application data. + * @param sink The buffer to hold the wrapped data. + * @return An engine result object for the operation. + * @throws SSLException If an SSL error occurs. + * @throws java.nio.ReadOnlyBufferException If 'sink' is read-only. + * @throws IllegalArgumentException If either 'sources' or 'sink' is + * null. + * @throws IllegalStateException If this engine has not been put + * into client or server mode. + */ + public SSLEngineResult wrap (ByteBuffer[] sources, ByteBuffer sink) + throws SSLException + { + return wrap (sources, 0, sources.length, sink); + } + + /** + * Wraps byte buffers into an SSL message, for preparation to send + * them over the network. After wrapping, the data in the sink + * buffer is ready to be sent over the transport layer. + * + *

    This method may consume no data from the source buffers, and + * yet still produce output that should be sent accross the wire; + * for example if this engine has not yet completed the SSL + * handshake, the sink buffer will be filled with handshake + * messages. + * + * @param sources The source buffers with application data. + * @param offset The offset into the source buffers to start reading + * application data. + * @param length The number of buffers to read from 'sources'. + * @param sink The buffer to hold the wrapped data. + * @return An engine result object for the operation. + * @throws SSLException If an SSL error occurs. + * @throws java.nio.ReadOnlyBufferException If 'sink' is read-only. + * @throws IllegalArgumentException If either 'sources' or 'sink' is + * null. + * @throws IllegalStateException If this engine has not been put + * into client or server mode. + * @throws IndexOutOfBoundsException If 'offset' or 'length' is + * negative, or if 'length+offset' is greater than 'sources.length'. + */ + public abstract SSLEngineResult wrap (ByteBuffer[] sources, int offset, + int length, ByteBuffer sink) + throws SSLException; + +} diff --git a/libjava/classpath/javax/net/ssl/SSLEngineResult.java b/libjava/classpath/javax/net/ssl/SSLEngineResult.java new file mode 100644 index 00000000000..0d6a435dd87 --- /dev/null +++ b/libjava/classpath/javax/net/ssl/SSLEngineResult.java @@ -0,0 +1,194 @@ +/* SSLEngineResult.java -- + Copyright (C) 2006 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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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. */ + + +package javax.net.ssl; + +/** + * A result from an {@link SSLEngine} wrap or + * unwrap operation. This class conveys a possibly + * intermediate result, and may ask for more input data or request + * that output data be sent over a connection. + */ +public class SSLEngineResult +{ + private final HandshakeStatus handshakeStatus; + private final Status status; + private final int bytesConsumed; + private final int bytesProduced; + + /** + * Creates a new SSL engine result. + * + * @param status The status of the SSL connection. + * @param handshakeStatus The status of the SSL handshake. + * @param bytesConsumed The number of bytes consumed by the previous + * operation. + * @param bytesProduced The number of bytes produced by the previous + * operation. + * @throws IllegalArgumentException If either enum value is + * null, or if either integer is negative. + */ + public SSLEngineResult (Status status, HandshakeStatus handshakeStatus, + int bytesConsumed, int bytesProduced) + { + if (status == null) + throw new IllegalArgumentException ("'status' may not be null"); + if (handshakeStatus == null) + throw new IllegalArgumentException ("'handshakeStatus' may not be null"); + if (bytesConsumed < 0) + throw new IllegalArgumentException ("'bytesConumed' must be nonnegative"); + if (bytesProduced < 0) + throw new IllegalArgumentException ("'bytesProduced' must be nonnegative"); + this.status = status; + this.handshakeStatus = handshakeStatus; + this.bytesConsumed = bytesConsumed; + this.bytesProduced = bytesProduced; + } + + + + /** + * An enumeration of possible general states. + */ + public static enum Status + { + + /** + * There were not enough input bytes available to complete the + * operation. + */ + BUFFER_UNDERFLOW, + + /** + * There was not enough space for the output message. + */ + BUFFER_OVERFLOW, + + /** + * Okay. No error. + */ + OK, + + /** + * The connection is closed. + */ + CLOSED + } + + /** + * An enumeration of possible handshake status states. + */ + public static enum HandshakeStatus + { + + /** + * Not currently handshaking. + */ + NOT_HANDSHAKING, + + /** + * The handshake is finished. + */ + FINISHED, + + /** + * Needs the status of one or more delegated tasks. + */ + NEED_TASK, + + /** + * Has data prepared for output, and needs a new call to + * wrap. + */ + NEED_WRAP, + + /** + * Is waiting for more input. + */ + NEED_UNWRAP + } + + + + /** + * Returns the number of bytes consumed by the previous operation. + * + * @return The number of bytes consumed. + */ + public int bytesConsumed () + { + return bytesConsumed; + } + + /** + * Returns the number of bytes produced by the previous operation. + * + * @return The number of bytes produced. + */ + public int bytesProduced () + { + return bytesProduced; + } + + /** + * Returns the handshake status. + * + * @return The handshake status. + */ + public HandshakeStatus getHandshakeStatus () + { + return handshakeStatus; + } + + /** + * Returns the connection status. + * + * @return The connection status. + */ + public Status getStatus () + { + return status; + } + + public String toString () + { + return (super.toString () + " [ status: " + status + "; handshakeStatus: " + + handshakeStatus + "; bytesConsumed: " + bytesConsumed + + "; bytesProduced: " + bytesProduced + " ]"); + } +} diff --git a/libjava/classpath/javax/net/ssl/SSLSession.java b/libjava/classpath/javax/net/ssl/SSLSession.java index 9400a1a512d..c8a4785f96d 100644 --- a/libjava/classpath/javax/net/ssl/SSLSession.java +++ b/libjava/classpath/javax/net/ssl/SSLSession.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.net.ssl; +import java.security.Principal; import java.security.cert.Certificate; import javax.security.cert.X509Certificate; @@ -48,6 +49,20 @@ import javax.security.cert.X509Certificate; */ public interface SSLSession { + + /** + * Returns the size of the largest application data buffer that can + * occur in this session. + * + *

    Buffers passed to handle the incoming data for the + * unwrap method of SSLEngine must be at least this + * large. + * + * @return The size of application buffers. + * @since 1.5 + */ + int getApplicationBufferSize (); + /** * Returns this session's cihper suite. * @@ -86,6 +101,28 @@ public interface SSLSession */ Certificate[] getLocalCertificates(); + /** + * Returns the {@link Principal} representing the local identity + * used in this session, or null if there is no local + * identity. + * + * @return The local principal. + */ + Principal getLocalPrincipal (); + + /** + * Returns the size of the largest SSL message that will be + * generated by this session. + * + *

    Callers of wrap and unwrap should + * use this value to determine the size of buffers for data coming + * into, or going out over, the network. + * + * @returns The maximum network packet size. + * @since 1.5 + */ + int getPacketBufferSize (); + /** * Returns the chain of certificates that the remote side used in * the handshake, or null if none were used. @@ -114,6 +151,27 @@ public interface SSLSession */ String getPeerHost(); + /** + * Returns the port number the remote peer is using for this + * session. + * + * @return The peer's port number. + * @since 1.5 + */ + int getPeerPort (); + + /** + * Returns the {@link Principal} representing the identity of the + * remote peer, or null if the remote peer has no known + * identity. + * + * @return The remote peer's principal. + * @throws SSLPeerUnverifiedException If the remote peer's identity + * could not be verified. + * @since 1.5 + */ + Principal getPeerPrincipal () throws SSLPeerUnverifiedException; + /** * Returns the protocol this session uses. * @@ -151,6 +209,15 @@ public interface SSLSession */ void invalidate(); + /** + * Tells if this session is currently valid, and may be resumed. + * + * @return True if this session is valid. + * @since 1.5 + * @see #invalidate() + */ + boolean isValid (); + /** * Binds a value to this session, with the given name. * diff --git a/libjava/classpath/javax/net/ssl/SSLSocketFactory.java b/libjava/classpath/javax/net/ssl/SSLSocketFactory.java index d5d9b6e145a..7348b2ee478 100644 --- a/libjava/classpath/javax/net/ssl/SSLSocketFactory.java +++ b/libjava/classpath/javax/net/ssl/SSLSocketFactory.java @@ -142,7 +142,7 @@ public abstract class SSLSocketFactory extends SocketFactory catch (Exception ex) { throw new RuntimeException("error instantiating default socket factory: " - + ex.toString()); + + ex.toString(), ex); } } try diff --git a/libjava/classpath/javax/net/ssl/TrustManagerFactory.java b/libjava/classpath/javax/net/ssl/TrustManagerFactory.java index 62ab1c2df05..f868ae75b70 100644 --- a/libjava/classpath/javax/net/ssl/TrustManagerFactory.java +++ b/libjava/classpath/javax/net/ssl/TrustManagerFactory.java @@ -93,96 +93,105 @@ public class TrustManagerFactory this.algorithm = algorithm; } - // Class methods. - // ------------------------------------------------------------------------- - /** - * Returns an instance of a trust manager factory for the given algorithm - * from the first provider that implements it. - * + * Returns an instance of a trust manager factory for the given algorithm from + * the first provider that implements it. + * * @param algorithm The name of the algorithm to get. * @return The instance of the trust manager factory. * @throws NoSuchAlgorithmException If no provider implements the given - * algorithm. + * algorithm. + * @throws IllegalArgumentException if algorithm is + * null or is an empty string. */ public static final TrustManagerFactory getInstance(String algorithm) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - Provider[] provs = Security.getProviders(); - for (int i = 0; i < provs.length; i++) - { - try - { - return getInstance(algorithm, provs[i]); - } - catch (NoSuchAlgorithmException ignore) - { - } - } + Provider[] p = Security.getProviders(); + NoSuchAlgorithmException lastException = null; + for (int i = 0; i < p.length; i++) + try + { + return getInstance(algorithm, p[i]); + } + catch (NoSuchAlgorithmException x) + { + lastException = x; + } + if (lastException != null) + throw lastException; throw new NoSuchAlgorithmException(algorithm); } /** - * Returns an instance of a trust manager factory for the given algorithm - * from the named provider. - * + * Returns an instance of a trust manager factory for the given algorithm from + * the named provider. + * * @param algorithm The name of the algorithm to get. * @param provider The name of the provider to get the instance from. * @return The instance of the trust manager factory. * @throws NoSuchAlgorithmException If the provider does not implement the - * given algorithm. + * given algorithm. * @throws NoSuchProviderException If there is no such named provider. - * @throws IllegalArgumentException If the provider argument is null. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final TrustManagerFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException { if (provider == null) - { - throw new IllegalArgumentException(); - } + throw new IllegalArgumentException("provider MUST NOT be null"); Provider p = Security.getProvider(provider); if (p == null) - { - throw new NoSuchProviderException(provider); - } + throw new NoSuchProviderException(provider); return getInstance(algorithm, p); } /** - * Returns an instance of a trust manager factory for the given algorithm - * from the specified provider. - * + * Returns an instance of a trust manager factory for the given algorithm from + * the specified provider. + * * @param algorithm The name of the algorithm to get. * @param provider The provider to get the instance from. * @return The instance of the trust manager factory. * @throws NoSuchAlgorithmException If the provider does not implement the - * given algorithm. - * @throws IllegalArgumentException If the provider argument is null. + * given algorithm. + * @throws IllegalArgumentException if either algorithm or + * provider is null, or if + * algorithm is an empty string. */ public static final TrustManagerFactory getInstance(String algorithm, Provider provider) - throws NoSuchAlgorithmException + throws NoSuchAlgorithmException { - if (provider == null) - { - throw new IllegalArgumentException(); - } + StringBuilder sb = new StringBuilder("TrustManagerFactory algorithm [") + .append(algorithm).append("] from provider[") + .append(provider).append("] could not be created"); + Throwable cause; try { - return new TrustManagerFactory((TrustManagerFactorySpi) - Engine.getInstance(TRUST_MANAGER_FACTORY, algorithm, provider), - provider, algorithm); + Object spi = Engine.getInstance(TRUST_MANAGER_FACTORY, algorithm, provider); + return new TrustManagerFactory((TrustManagerFactorySpi) spi, + provider, + algorithm); } - catch (InvocationTargetException ite) + catch (InvocationTargetException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x.getCause(); + if (cause instanceof NoSuchAlgorithmException) + throw (NoSuchAlgorithmException) cause; + if (cause == null) + cause = x; } - catch (ClassCastException cce) + catch (ClassCastException x) { - throw new NoSuchAlgorithmException(algorithm); + cause = x; } + NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString()); + x.initCause(cause); + throw x; } /** diff --git a/libjava/classpath/javax/net/ssl/X509ExtendedKeyManager.java b/libjava/classpath/javax/net/ssl/X509ExtendedKeyManager.java new file mode 100644 index 00000000000..ccd146f822c --- /dev/null +++ b/libjava/classpath/javax/net/ssl/X509ExtendedKeyManager.java @@ -0,0 +1,96 @@ +/* X509ExtendedKeyManager.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +package javax.net.ssl; + +import java.security.Principal; + +/** + * An extended {@link X509KeyManager} for use with {@link SSLEngine}. + * + * @since 1.5 + * @author Casey Marshall (csm@gnu.org) + */ +public abstract class X509ExtendedKeyManager implements X509KeyManager +{ + + /** + * Default constructor. + */ + protected X509ExtendedKeyManager () + { + } + + /** + * Return a client alias given a list of key types, a list of + * allowable issuers, and the SSLEngine being used. + * + *

    This implementation always returns null. + * + * @param keyTypes The list of desired key types. + * @param issuers The list of desired key issuers. + * @param engine This client's SSLEngine. + * @return A key alias that matches the given parameters, or + * null if the parameters were not matched. + */ + public String chooseEngineClientAlias (final String[] keyTypes, + final Principal[] issuers, + final SSLEngine engine) + { + return null; + } + + /** + * Return a server alias given a key type, a list of allowable + * issuers, and the SSLEngine being used. + * + *

    This implementation always returns null. + * + * @param keyType The desired key type. + * @param issuers The list of desired key issuers. + * @param engine The server's SSLEngine. + * @return A key alias that matches the given parameters, or + * null if the parameters were not matched. + */ + public String chooseEngineServerAlias (final String keyType, + final Principal[] issuers, + final SSLEngine engine) + { + return null; + } +} diff --git a/libjava/classpath/javax/print/PrintService.java b/libjava/classpath/javax/print/PrintService.java index b5fe004a730..125d27083b3 100644 --- a/libjava/classpath/javax/print/PrintService.java +++ b/libjava/classpath/javax/print/PrintService.java @@ -89,7 +89,7 @@ public interface PrintService * @throws IllegalArgumentException if category is not a class that * implements PrintServiceAttribute. */ - PrintServiceAttribute getAttribute(Class category); + T getAttribute(Class category); /** * Returns the attributes describing this print service. The returned @@ -123,7 +123,7 @@ public interface PrintService * @throws IllegalArgumentException if category is a class * not implementing Attribute */ - Object getDefaultAttributeValue(Class category); + Object getDefaultAttributeValue(Class category); /** * Returns the name of this print service. @@ -145,7 +145,7 @@ public interface PrintService * * @return The class array of all supported attribute categories. */ - Class[] getSupportedAttributeCategories(); + Class[] getSupportedAttributeCategories(); /** * Determines and returns all supported attribute values of a given @@ -177,7 +177,9 @@ public interface PrintService * implementing Attribute, or if flavor is not * supported */ - Object getSupportedAttributeValues(Class category, DocFlavor flavor, AttributeSet attributes); + Object getSupportedAttributeValues(Class category, + DocFlavor flavor, + AttributeSet attributes); /** * Determines and returns an array of all supported document flavors which @@ -189,7 +191,7 @@ public interface PrintService * the specific doc flavor and attributes set. *

    * - * @return The supported document flavors. + * @return the supported document flavors */ DocFlavor[] getSupportedDocFlavors(); @@ -240,7 +242,7 @@ public interface PrintService * @throws IllegalArgumentException if category is a class not * implementing Attribute. */ - boolean isAttributeCategorySupported(Class category); + boolean isAttributeCategorySupported(Class category); /** * Determines if a given attribute value is supported when creating a print diff --git a/libjava/classpath/javax/print/attribute/Attribute.java b/libjava/classpath/javax/print/attribute/Attribute.java index 7ce0247cea1..8b98377ba22 100644 --- a/libjava/classpath/javax/print/attribute/Attribute.java +++ b/libjava/classpath/javax/print/attribute/Attribute.java @@ -52,7 +52,7 @@ public interface Attribute extends Serializable * * @return The concrete {@link Class} instance of the attribute class. */ - Class getCategory (); + Class< ? extends Attribute> getCategory (); /** * Returns the descriptive name of the attribute category. diff --git a/libjava/classpath/javax/print/attribute/AttributeSet.java b/libjava/classpath/javax/print/attribute/AttributeSet.java index b4bdecad254..c8130c19f14 100644 --- a/libjava/classpath/javax/print/attribute/AttributeSet.java +++ b/libjava/classpath/javax/print/attribute/AttributeSet.java @@ -110,7 +110,7 @@ public interface AttributeSet * @return true if an attribute of the category is contained * in the set, false otherwise. */ - boolean containsKey (Class category); + boolean containsKey (Class category); /** * Checks if this attribute set contains the given attribute. @@ -143,7 +143,7 @@ public interface AttributeSet * @throws ClassCastException if category is not implementing * Attribute. */ - Attribute get (Class category); + Attribute get (Class category); /** * Returns the hashcode value. The hashcode value is the sum of all hashcodes @@ -178,7 +178,7 @@ public interface AttributeSet * @return true if an attribute is removed, false in all other cases. * @throws UnmodifiableSetException if the set does not support modification. */ - boolean remove (Class category); + boolean remove (Class category); /** * Returns the number of elements in this attribute set. diff --git a/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java b/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java index f6a64ebc531..95c11a6ed1a 100644 --- a/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java +++ b/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java @@ -435,8 +435,8 @@ public final class AttributeSetUtilities * that implements interfaceName * @exception NullPointerException if object is null */ - public static Class verifyAttributeCategory(Object object, - Class interfaceName) + public static Class verifyAttributeCategory(Object object, + Class interfaceName) { if (object == null) throw new NullPointerException("object may not be null"); @@ -461,7 +461,7 @@ public final class AttributeSetUtilities * @exception NullPointerException if object is null */ public static Attribute verifyAttributeValue(Object object, - Class interfaceName) + Class interfaceName) { if (object == null) throw new NullPointerException("object may not be null"); @@ -482,7 +482,7 @@ public final class AttributeSetUtilities * @exception IllegalArgumentException if the categories are not equal * @exception NullPointerException if category is null */ - public static void verifyCategoryForValue(Class category, + public static void verifyCategoryForValue(Class category, Attribute attribute) { if (category == null || attribute == null) diff --git a/libjava/classpath/javax/print/attribute/HashAttributeSet.java b/libjava/classpath/javax/print/attribute/HashAttributeSet.java index 65371ea9fa2..0f6b00730a8 100644 --- a/libjava/classpath/javax/print/attribute/HashAttributeSet.java +++ b/libjava/classpath/javax/print/attribute/HashAttributeSet.java @@ -110,7 +110,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * * @exception NullPointerException if interfaceName is null */ - protected HashAttributeSet(Class interfaceName) + protected HashAttributeSet(Class interfaceName) { if (interfaceName == null) throw new NullPointerException("interfaceName may not be null"); @@ -129,7 +129,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * interfaceName * @exception NullPointerException if attribute or interfaceName is null */ - protected HashAttributeSet(Attribute attribute, Class interfaceName) + protected HashAttributeSet(Attribute attribute, Class interfaceName) { this(interfaceName); @@ -151,7 +151,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * interface of interfaceName * @exception NullPointerException if attributes or interfaceName is null */ - protected HashAttributeSet(Attribute[] attributes, Class interfaceName) + protected HashAttributeSet(Attribute[] attributes, Class interfaceName) { this(interfaceName); @@ -173,7 +173,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * @exception ClassCastException if any element of attributes is not an * interface of interfaceName */ - protected HashAttributeSet(AttributeSet attributes, Class interfaceName) + protected HashAttributeSet(AttributeSet attributes, Class interfaceName) { this(interfaceName); @@ -256,7 +256,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * @return true if an attribute of the category is contained * in the set, false otherwise. */ - public boolean containsKey(Class category) + public boolean containsKey(Class category) { return attributeMap.containsKey(category); } @@ -301,7 +301,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * @throws ClassCastException if category is not implementing * Attribute. */ - public Attribute get(Class category) + public Attribute get(Class category) { if (category == null) throw new NullPointerException("category may not be null"); @@ -359,7 +359,7 @@ public class HashAttributeSet implements AttributeSet, Serializable * @return true if an attribute is removed, false in all other cases. * @throws UnmodifiableSetException if the set does not support modification. */ - public boolean remove(Class category) + public boolean remove(Class category) { if (category == null) return false; diff --git a/libjava/classpath/javax/print/attribute/standard/Chromaticity.java b/libjava/classpath/javax/print/attribute/standard/Chromaticity.java index cc834f680a2..3dec79893b4 100644 --- a/libjava/classpath/javax/print/attribute/standard/Chromaticity.java +++ b/libjava/classpath/javax/print/attribute/standard/Chromaticity.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -94,7 +95,7 @@ public final class Chromaticity extends EnumSyntax * * @return The class Chromaticity itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return Chromaticity.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/ColorSupported.java b/libjava/classpath/javax/print/attribute/standard/ColorSupported.java index bca932dd735..c5e251a5044 100644 --- a/libjava/classpath/javax/print/attribute/standard/ColorSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/ColorSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -88,7 +89,7 @@ public final class ColorSupported extends EnumSyntax * * @return The class ColorSupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return ColorSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Compression.java b/libjava/classpath/javax/print/attribute/standard/Compression.java index 01891fe2369..f2f4f1cc142 100644 --- a/libjava/classpath/javax/print/attribute/standard/Compression.java +++ b/libjava/classpath/javax/print/attribute/standard/Compression.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; @@ -91,7 +92,7 @@ public class Compression extends EnumSyntax * * @return The class Compression itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return Compression.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Copies.java b/libjava/classpath/javax/print/attribute/standard/Copies.java index 78ca6c6cc63..ea9a0990a31 100644 --- a/libjava/classpath/javax/print/attribute/standard/Copies.java +++ b/libjava/classpath/javax/print/attribute/standard/Copies.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -97,7 +98,7 @@ public final class Copies extends IntegerSyntax * * @return The class Copies itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return Copies.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java b/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java index fec426becd4..1f62f48a87f 100644 --- a/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.SetOfIntegerSyntax; import javax.print.attribute.SupportedValuesAttribute; @@ -112,7 +113,7 @@ public final class CopiesSupported extends SetOfIntegerSyntax * * @return The class CopiesSupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return CopiesSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java index 36b740ef30f..324bab73b8d 100644 --- a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java +++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Date; +import javax.print.attribute.Attribute; import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; @@ -92,7 +93,7 @@ public final class DateTimeAtCompleted extends DateTimeSyntax * * @return The class DateTimeAtCompleted itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return DateTimeAtCompleted.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java index b463c40ac88..5e975b64ae7 100644 --- a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java +++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Date; +import javax.print.attribute.Attribute; import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; @@ -92,7 +93,7 @@ public final class DateTimeAtCreation extends DateTimeSyntax * * @return The class DateTimeAtCreation itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return DateTimeAtCreation.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java index 42dee8048eb..b407d2b2aa0 100644 --- a/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java +++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Date; +import javax.print.attribute.Attribute; import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; @@ -92,7 +93,7 @@ public final class DateTimeAtProcessing extends DateTimeSyntax * * @return The class DateTimeAtProcessing itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return DateTimeAtProcessing.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Destination.java b/libjava/classpath/javax/print/attribute/standard/Destination.java index 1a4e79dd8f8..a82aa4b369d 100644 --- a/libjava/classpath/javax/print/attribute/standard/Destination.java +++ b/libjava/classpath/javax/print/attribute/standard/Destination.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.net.URI; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.URISyntax; @@ -104,7 +105,7 @@ public final class Destination extends URISyntax * * @return The class Destination itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return Destination.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/DocumentName.java b/libjava/classpath/javax/print/attribute/standard/DocumentName.java index d1428ed8b79..6a377d5be70 100644 --- a/libjava/classpath/javax/print/attribute/standard/DocumentName.java +++ b/libjava/classpath/javax/print/attribute/standard/DocumentName.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.TextSyntax; @@ -98,7 +99,7 @@ public final class DocumentName extends TextSyntax * * @return The class DocumentName itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return DocumentName.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Fidelity.java b/libjava/classpath/javax/print/attribute/standard/Fidelity.java index 02e292f58b4..5e25f5b882b 100644 --- a/libjava/classpath/javax/print/attribute/standard/Fidelity.java +++ b/libjava/classpath/javax/print/attribute/standard/Fidelity.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -107,7 +108,7 @@ public final class Fidelity extends EnumSyntax * * @return The class Fidelity itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return Fidelity.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Finishings.java b/libjava/classpath/javax/print/attribute/standard/Finishings.java index 963485e7b87..cd8f6753b30 100644 --- a/libjava/classpath/javax/print/attribute/standard/Finishings.java +++ b/libjava/classpath/javax/print/attribute/standard/Finishings.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -238,7 +239,7 @@ public class Finishings extends EnumSyntax * * @return the class Finishings itself */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return Finishings.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java b/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java index 768600f8065..7c137ccd171 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java +++ b/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Date; +import javax.print.attribute.Attribute; import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -98,7 +99,7 @@ public final class JobHoldUntil extends DateTimeSyntax * * @return The class JobHoldUntil itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobHoldUntil.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressions.java b/libjava/classpath/javax/print/attribute/standard/JobImpressions.java index 0da3e59cf24..a2c7d4dd653 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobImpressions.java +++ b/libjava/classpath/javax/print/attribute/standard/JobImpressions.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -110,7 +111,7 @@ public final class JobImpressions extends IntegerSyntax * * @return The class JobImpressions itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobImpressions.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java b/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java index 82da507a044..55d3fd6b991 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java +++ b/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; @@ -101,7 +102,7 @@ public final class JobImpressionsCompleted extends IntegerSyntax * * @return The class JobImpressionsCompleted itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobImpressionsCompleted.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java index bd10457513c..5be3fc0a6f2 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.SetOfIntegerSyntax; import javax.print.attribute.SupportedValuesAttribute; @@ -96,7 +97,7 @@ public final class JobImpressionsSupported extends SetOfIntegerSyntax * * @return The class JobImpressionsSupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobImpressionsSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctets.java b/libjava/classpath/javax/print/attribute/standard/JobKOctets.java index b380aa17ce9..ac9a7eff6ae 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobKOctets.java +++ b/libjava/classpath/javax/print/attribute/standard/JobKOctets.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -110,7 +111,7 @@ public final class JobKOctets extends IntegerSyntax * * @return The class JobKOctets itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobKOctets.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java b/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java index 762369565e2..34616edfeaa 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java +++ b/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; @@ -102,7 +103,7 @@ public final class JobKOctetsProcessed extends IntegerSyntax * * @return The class JobKOctetsProcessed itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobKOctetsProcessed.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java index 8a4cbfc8c16..4936fd49f72 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.SetOfIntegerSyntax; import javax.print.attribute.SupportedValuesAttribute; @@ -96,7 +97,7 @@ public final class JobKOctetsSupported extends SetOfIntegerSyntax * * @return The class JobKOctetsSupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobKOctetsSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java index 04b83069c2a..17cf96f33b6 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -107,7 +108,7 @@ public class JobMediaSheets extends IntegerSyntax * * @return The class JobMediaSheets itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobMediaSheets.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java index 85b9ab0481e..353c044ec1a 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; @@ -96,7 +97,7 @@ public final class JobMediaSheetsCompleted extends IntegerSyntax * * @return The class JobMediaSheetsCompleted itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobMediaSheetsCompleted.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java index cb06af6fabe..d9a0ed2dfca 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.SetOfIntegerSyntax; import javax.print.attribute.SupportedValuesAttribute; @@ -96,7 +97,7 @@ public final class JobMediaSheetsSupported extends SetOfIntegerSyntax * * @return The class JobMediaSheetsSupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobMediaSheetsSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java b/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java index 8eaae357c88..f2a589af42f 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.TextSyntax; @@ -95,7 +96,7 @@ public final class JobMessageFromOperator extends TextSyntax * * @return The class JobMessageFromOperator itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobMessageFromOperator.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobName.java b/libjava/classpath/javax/print/attribute/standard/JobName.java index c848a63d35e..5f5310e9676 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobName.java +++ b/libjava/classpath/javax/print/attribute/standard/JobName.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.TextSyntax; @@ -93,7 +94,7 @@ public final class JobName extends TextSyntax * * @return The class JobName itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobName.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java b/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java index 2d6e79df654..62073daa6db 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java +++ b/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.TextSyntax; @@ -92,7 +93,7 @@ public final class JobOriginatingUserName extends TextSyntax * * @return The class JobOriginatingUserName itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobOriginatingUserName.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobPriority.java b/libjava/classpath/javax/print/attribute/standard/JobPriority.java index bcfb239ed9b..88fc685b8ea 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobPriority.java +++ b/libjava/classpath/javax/print/attribute/standard/JobPriority.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -97,7 +98,7 @@ public final class JobPriority extends IntegerSyntax * * @return The class JobPriority itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobPriority.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java b/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java index 0db7107b304..e7ebca2db73 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.SupportedValuesAttribute; @@ -99,7 +100,7 @@ public final class JobPrioritySupported extends IntegerSyntax * * @return The class JobPrioritySupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobPrioritySupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobSheets.java b/libjava/classpath/javax/print/attribute/standard/JobSheets.java index f2cfacc9ecd..a930f63cf50 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobSheets.java +++ b/libjava/classpath/javax/print/attribute/standard/JobSheets.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -88,7 +89,7 @@ public class JobSheets extends EnumSyntax * * @return The class JobSheets itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobSheets.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobState.java b/libjava/classpath/javax/print/attribute/standard/JobState.java index 8289569c35c..fa769bbf33d 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobState.java +++ b/libjava/classpath/javax/print/attribute/standard/JobState.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -137,7 +138,7 @@ public class JobState extends EnumSyntax * * @return The class JobState itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobState.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobStateReason.java b/libjava/classpath/javax/print/attribute/standard/JobStateReason.java index 967a6bf2e53..b8420b18012 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobStateReason.java +++ b/libjava/classpath/javax/print/attribute/standard/JobStateReason.java @@ -262,7 +262,7 @@ public class JobStateReason extends EnumSyntax * * @return The class JobStateReason itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobStateReason.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java b/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java index 32f942b6bd7..997dcbc3779 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java +++ b/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java @@ -42,6 +42,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Iterator; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintJobAttribute; /** @@ -56,7 +57,7 @@ import javax.print.attribute.PrintJobAttribute; * @author Michael Koch (konqueror@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de) */ -public final class JobStateReasons extends HashSet +public final class JobStateReasons extends HashSet implements PrintJobAttribute { private static final long serialVersionUID = 8849088261264331812L; @@ -108,12 +109,11 @@ public final class JobStateReasons extends HashSet * @throws ClassCastException if values of collection are not of type * JobStateReason. */ - public JobStateReasons(Collection collection) + public JobStateReasons(Collection collection) { super(collection.size(), 0.75f); - Iterator it = collection.iterator(); - while (it.hasNext()) - add(it.next()); + for (JobStateReason reason : collection) + add(reason); } /** @@ -126,12 +126,12 @@ public final class JobStateReasons extends HashSet * @throws ClassCastException if given object is not an instance of * JobStateReason. */ - public boolean add(Object o) + public boolean add(JobStateReason o) { if (o == null) throw new NullPointerException("reason is null"); - return super.add((JobStateReason) o); + return add(o); } /** @@ -139,7 +139,7 @@ public final class JobStateReasons extends HashSet * * @return The class JobStateReasons itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return JobStateReasons.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Media.java b/libjava/classpath/javax/print/attribute/standard/Media.java index 37132e72706..4c0af0ed11b 100644 --- a/libjava/classpath/javax/print/attribute/standard/Media.java +++ b/libjava/classpath/javax/print/attribute/standard/Media.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -105,7 +106,7 @@ public abstract class Media extends EnumSyntax * * @return The class Media itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return Media.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java b/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java index e0366f589ad..84ebd61ce87 100644 --- a/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java +++ b/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -152,7 +153,7 @@ public final class MediaPrintableArea * * @return The class MediaPrintableArea itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return MediaPrintableArea.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/MediaSize.java b/libjava/classpath/javax/print/attribute/standard/MediaSize.java index 982b5c5ef7b..be3f1567812 100644 --- a/libjava/classpath/javax/print/attribute/standard/MediaSize.java +++ b/libjava/classpath/javax/print/attribute/standard/MediaSize.java @@ -66,13 +66,13 @@ public class MediaSize extends Size2DSyntax implements Attribute { private static final long serialVersionUID = -1967958664615414771L; - - private static ArrayList mediaCache; + + private static ArrayList mediaCache; static { - mediaCache = new ArrayList(); - + mediaCache = new ArrayList(); + // We call one instance of every container class to make sure it gets // loaded during class initialization and therefore all other static // fields of this container class also. @@ -86,7 +86,7 @@ public class MediaSize extends Size2DSyntax tmp = MediaSize.NA.LEGAL; tmp = MediaSize.Other.EXECUTIVE; } - + private MediaSizeName mediaName; /** @@ -180,10 +180,11 @@ public class MediaSize extends Size2DSyntax * * @return The class MediaSize itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return MediaSize.class; } + /** * Searches for a MediaSize object with the given dimensions. @@ -201,7 +202,7 @@ public class MediaSize extends Size2DSyntax if (x <= 0.0f || y <= 0.0f) throw new IllegalArgumentException( "x and/or y may not be less or equal 0"); - + if (units < 1) throw new IllegalArgumentException("units may not be less then 1"); diff --git a/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java b/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java index 1a89fd01aef..3ee1b4126e7 100644 --- a/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java +++ b/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -108,7 +109,7 @@ public class MultipleDocumentHandling extends EnumSyntax * * @return The class MultipleDocumentHandling itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return MultipleDocumentHandling.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java b/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java index b9363eb9101..1121a1f0f79 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; @@ -90,7 +91,7 @@ public final class NumberOfDocuments extends IntegerSyntax * * @return The class NumberOfDocuments itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return NumberOfDocuments.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java b/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java index d3c0952fcae..b968f9a7bf1 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; @@ -91,7 +92,7 @@ public final class NumberOfInterveningJobs extends IntegerSyntax * * @return The class NumberOfInterveningJobs itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return NumberOfInterveningJobs.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/NumberUp.java b/libjava/classpath/javax/print/attribute/standard/NumberUp.java index aa2324040af..219a1c1a8b7 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberUp.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberUp.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; @@ -95,7 +96,7 @@ public final class NumberUp extends IntegerSyntax * * @return The class NumberUp itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return NumberUp.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java b/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java index 71392a9ef52..20bd9c93b59 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.SetOfIntegerSyntax; import javax.print.attribute.SupportedValuesAttribute; @@ -128,7 +129,7 @@ public final class NumberUpSupported extends SetOfIntegerSyntax * * @return The class NumberUpSupported itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return NumberUpSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java b/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java index 1f9f0bf6f7e..8d346855664 100644 --- a/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java +++ b/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -112,7 +113,7 @@ public final class OrientationRequested extends EnumSyntax * * @return The class OrientationRequested itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return OrientationRequested.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java b/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java index 917064f5446..df8a5453f15 100644 --- a/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java +++ b/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.TextSyntax; @@ -98,7 +99,7 @@ public final class OutputDeviceAssigned extends TextSyntax * * @return The class OutputDeviceAssigned itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return OutputDeviceAssigned.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java b/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java index ee07edb1af5..02c9c198c0b 100644 --- a/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -91,7 +92,7 @@ public class PDLOverrideSupported extends EnumSyntax * * @return The class PDLOverrideSupported itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return PDLOverrideSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PageRanges.java b/libjava/classpath/javax/print/attribute/standard/PageRanges.java index 3aa1b562549..9637a917f89 100644 --- a/libjava/classpath/javax/print/attribute/standard/PageRanges.java +++ b/libjava/classpath/javax/print/attribute/standard/PageRanges.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -154,7 +155,7 @@ public final class PageRanges extends SetOfIntegerSyntax * * @return The class PageRanges itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PageRanges.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java b/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java index c06fb9746af..6305842c010 100644 --- a/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java +++ b/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -92,7 +93,7 @@ public final class PagesPerMinute extends IntegerSyntax * * @return The class PagesPerMinute itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PagesPerMinute.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java b/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java index 80a397e6381..3d5fa2ca559 100644 --- a/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java +++ b/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -91,7 +92,7 @@ public final class PagesPerMinuteColor extends IntegerSyntax * * @return The class PagesPerMinuteColor itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PagesPerMinuteColor.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java b/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java index 3a479abfac4..14d560533a6 100644 --- a/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java +++ b/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -138,7 +139,7 @@ public final class PresentationDirection extends EnumSyntax * * @return The class PresentationDirection itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PresentationDirection.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrintQuality.java b/libjava/classpath/javax/print/attribute/standard/PrintQuality.java index c581d5f9dbe..bc94d532b8b 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrintQuality.java +++ b/libjava/classpath/javax/print/attribute/standard/PrintQuality.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -92,7 +93,7 @@ public class PrintQuality extends EnumSyntax * * @return The class PrintQuality itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrintQuality.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java b/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java index 2cd496cf0c7..e287f8ce9e1 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; @@ -92,7 +93,7 @@ public final class PrinterInfo extends TextSyntax * * @return The class PrinterInfo itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterInfo.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java b/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java index 96dbc57ce32..1c9c3993029 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -93,7 +94,7 @@ public final class PrinterIsAcceptingJobs extends EnumSyntax * * @return The class PrinterIsAcceptingJobs itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterIsAcceptingJobs.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java b/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java index 35b61e4e5d1..7a446adcb99 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; @@ -92,7 +93,7 @@ public final class PrinterLocation extends TextSyntax * * @return The class PrinterLocation itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterLocation.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java b/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java index 7010746a522..77fd84b4a5b 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; @@ -92,7 +93,7 @@ public final class PrinterMakeAndModel extends TextSyntax * * @return The class PrinterMakeAndModel itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterMakeAndModel.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java b/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java index b4f5d88bd45..55bc7406a0e 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; @@ -95,7 +96,7 @@ public final class PrinterMessageFromOperator extends TextSyntax * * @return The class PrinterMessageFromOperator itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterMessageFromOperator.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java index 28abd4e3fb6..de330fe0bfa 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.net.URI; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.URISyntax; @@ -94,7 +95,7 @@ public final class PrinterMoreInfo extends URISyntax * * @return The class PrinterMoreInfo itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterMoreInfo.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java index df0232e167d..73a627eb308 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.net.URI; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.URISyntax; @@ -98,7 +99,7 @@ public final class PrinterMoreInfoManufacturer extends URISyntax * * @return The class PrinterMoreInfoManufacturer itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterMoreInfoManufacturer.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterName.java b/libjava/classpath/javax/print/attribute/standard/PrinterName.java index 5b7da605969..b084c2c0fd4 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterName.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterName.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; @@ -94,7 +95,7 @@ public final class PrinterName extends TextSyntax * * @return The class PrinterName itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterName.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java b/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java index f4cde0f5e72..7b60a0cada4 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; @@ -95,7 +96,7 @@ public final class PrinterResolution extends ResolutionSyntax * * @return The class PrinterResolution itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterResolution.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterState.java b/libjava/classpath/javax/print/attribute/standard/PrinterState.java index 6fd4c3f4643..4b85c01896f 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterState.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterState.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -108,7 +109,7 @@ public final class PrinterState extends EnumSyntax * * @return The class PrinterState itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterState.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java b/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java index 340bfbabf51..1abb7c6aa3e 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java @@ -293,7 +293,7 @@ public class PrinterStateReason extends EnumSyntax * * @return The class PrintStateReason itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterStateReason.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java b/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java index 40c6f1b7151..c58dd53795e 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java @@ -45,6 +45,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; /** @@ -68,7 +69,8 @@ import javax.print.attribute.PrintServiceAttribute; * @author Michael Koch (konqueror@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de) */ -public final class PrinterStateReasons extends HashMap +public final class PrinterStateReasons + extends HashMap implements PrintServiceAttribute { private static final long serialVersionUID = -3731791085163619457L; @@ -121,13 +123,11 @@ public final class PrinterStateReasons extends HashMap * PrinterStateReason and keys are not of type * Severity. */ - public PrinterStateReasons(Map map) + public PrinterStateReasons(Map map) { super(map.size(), 0.75f); - Iterator it = map.entrySet().iterator(); - while (it.hasNext()) + for (Map.Entry entry : map.entrySet()) { - Map.Entry entry = (Map.Entry) it.next(); put(entry.getKey(), entry.getValue()); } } @@ -139,7 +139,7 @@ public final class PrinterStateReasons extends HashMap * @param severity the severity level for the constructed set. * @return The set of printer state reasons. */ - public Set printerStateReasonSet(Severity severity) + public Set printerStateReasonSet(Severity severity) { if (severity == null) throw new NullPointerException("severity is null"); @@ -171,7 +171,7 @@ public final class PrinterStateReasons extends HashMap * PrinterStateReason and severity is not a * Severity instance. */ - public Object put(Object reason, Object severity) + public Severity put(PrinterStateReason reason,Severity severity) { if (reason == null) throw new NullPointerException("reason is null"); @@ -186,7 +186,7 @@ public final class PrinterStateReasons extends HashMap * * @return The class PrintStateReasons itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterStateReasons.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterURI.java b/libjava/classpath/javax/print/attribute/standard/PrinterURI.java index 0deca90bed2..017e6b85a39 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterURI.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterURI.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.net.URI; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.URISyntax; @@ -94,7 +95,7 @@ public final class PrinterURI extends URISyntax * * @return The class PrinterURI itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return PrinterURI.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java b/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java index 8ff46a95459..d024b3dcc97 100644 --- a/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java +++ b/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintServiceAttribute; @@ -93,7 +94,7 @@ public final class QueuedJobCount extends IntegerSyntax * * @return The class QueuedJobCount itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return QueuedJobCount.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java b/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java index aeccaac5b5a..9d2354bd6ba 100644 --- a/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java @@ -128,7 +128,7 @@ public class ReferenceUriSchemesSupported extends EnumSyntax * * @return The class ReferenceUriSchemesSupported itself. */ - public final Class getCategory() + public Class< ? extends Attribute> getCategory() { return ReferenceUriSchemesSupported.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java b/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java index 8b947036c45..b7b85abbdaa 100644 --- a/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java +++ b/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java @@ -40,6 +40,7 @@ package javax.print.attribute.standard; import java.util.Locale; +import javax.print.attribute.Attribute; import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.TextSyntax; @@ -92,7 +93,7 @@ public final class RequestingUserName extends TextSyntax * * @return The class RequestingUserName itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return RequestingUserName.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Severity.java b/libjava/classpath/javax/print/attribute/standard/Severity.java index 5569816de8e..019c8c6fcbb 100644 --- a/libjava/classpath/javax/print/attribute/standard/Severity.java +++ b/libjava/classpath/javax/print/attribute/standard/Severity.java @@ -97,7 +97,7 @@ public final class Severity extends EnumSyntax * * @return The class Severity itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return Severity.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/SheetCollate.java b/libjava/classpath/javax/print/attribute/standard/SheetCollate.java index 5343bc6df1b..886b8d6c921 100644 --- a/libjava/classpath/javax/print/attribute/standard/SheetCollate.java +++ b/libjava/classpath/javax/print/attribute/standard/SheetCollate.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -97,7 +98,7 @@ public final class SheetCollate extends EnumSyntax * * @return The class SheetCollate itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return SheetCollate.class; } diff --git a/libjava/classpath/javax/print/attribute/standard/Sides.java b/libjava/classpath/javax/print/attribute/standard/Sides.java index 816365aedea..02fe4a1e5d1 100644 --- a/libjava/classpath/javax/print/attribute/standard/Sides.java +++ b/libjava/classpath/javax/print/attribute/standard/Sides.java @@ -37,6 +37,7 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.Attribute; import javax.print.attribute.DocAttribute; import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintJobAttribute; @@ -108,7 +109,7 @@ public final class Sides extends EnumSyntax * * @return The class Sides itself. */ - public Class getCategory() + public Class< ? extends Attribute> getCategory() { return Sides.class; } diff --git a/libjava/classpath/javax/rmi/CORBA/Tie.java b/libjava/classpath/javax/rmi/CORBA/Tie.java index b8611838822..af9ddd3d44a 100644 --- a/libjava/classpath/javax/rmi/CORBA/Tie.java +++ b/libjava/classpath/javax/rmi/CORBA/Tie.java @@ -103,7 +103,7 @@ public interface Tie /** * Get the object that delegates calls to this tie. * - * @see org.omg.PortableServer.Servant#_this_object + * @see org.omg.PortableServer.Servant#_this_object() */ org.omg.CORBA.Object thisObject(); @@ -112,12 +112,12 @@ public interface Tie * Depending on the POA policies, it may be possible to activate the Tie * again. The ties that are not derived from * {@link org.omg.PortableServer.Servant} deactivate themselves by - * {@link ORB.disconnect}. + * {@link ORB#disconnect}. * * @throws NoSuchObjectException if there are no objects served by this Tie, * or if the these objects are already deactivated. * - * @see org.omg.PortableServer.POA#deactivate_object + * @see org.omg.PortableServer.POAOperations#deactivate_object */ void deactivate() throws NoSuchObjectException; diff --git a/libjava/classpath/javax/security/auth/Subject.java b/libjava/classpath/javax/security/auth/Subject.java index 1659c6425fe..03836345862 100644 --- a/libjava/classpath/javax/security/auth/Subject.java +++ b/libjava/classpath/javax/security/auth/Subject.java @@ -91,8 +91,9 @@ public final class Subject implements Serializable readOnly = false; } - public Subject (final boolean readOnly, final Set principals, - final Set pubCred, final Set privCred) + public Subject (final boolean readOnly, + final Set principals, + final Set pubCred, final Set privCred) { if (principals == null || pubCred == null || privCred == null) { @@ -265,12 +266,12 @@ public final class Subject implements Serializable privCred.containsAll (that.getPrivateCredentials()); } - public Set getPrincipals() + public Set getPrincipals() { return principals; } - public Set getPrincipals(Class clazz) + public Set getPrincipals(Class clazz) { HashSet result = new HashSet (principals.size()); for (Iterator it = principals.iterator(); it.hasNext(); ) @@ -284,12 +285,12 @@ public final class Subject implements Serializable return Collections.unmodifiableSet (result); } - public Set getPrivateCredentials() + public Set getPrivateCredentials() { return privCred; } - public Set getPrivateCredentials (Class clazz) + public Set getPrivateCredentials (Class clazz) { HashSet result = new HashSet (privCred.size()); for (Iterator it = privCred.iterator(); it.hasNext(); ) @@ -303,12 +304,12 @@ public final class Subject implements Serializable return Collections.unmodifiableSet (result); } - public Set getPublicCredentials() + public Set getPublicCredentials() { return pubCred; } - public Set getPublicCredentials (Class clazz) + public Set getPublicCredentials (Class clazz) { HashSet result = new HashSet (pubCred.size()); for (Iterator it = pubCred.iterator(); it.hasNext(); ) diff --git a/libjava/classpath/javax/security/auth/login/AppConfigurationEntry.java b/libjava/classpath/javax/security/auth/login/AppConfigurationEntry.java index b455dbb6c24..3c8b64d4c99 100644 --- a/libjava/classpath/javax/security/auth/login/AppConfigurationEntry.java +++ b/libjava/classpath/javax/security/auth/login/AppConfigurationEntry.java @@ -56,7 +56,7 @@ public class AppConfigurationEntry public AppConfigurationEntry (final String loginModuleName, final LoginModuleControlFlag controlFlag, - final Map options) + final Map options) { if (loginModuleName == null || loginModuleName.length() == 0) throw new IllegalArgumentException ("module name cannot be null nor empty"); @@ -88,7 +88,7 @@ public class AppConfigurationEntry return loginModuleName; } - public Map getOptions() + public Map getOptions() { return options; } diff --git a/libjava/classpath/javax/security/auth/spi/LoginModule.java b/libjava/classpath/javax/security/auth/spi/LoginModule.java index 00b33c517e4..197cd692e37 100644 --- a/libjava/classpath/javax/security/auth/spi/LoginModule.java +++ b/libjava/classpath/javax/security/auth/spi/LoginModule.java @@ -95,7 +95,7 @@ public interface LoginModule * @param options A mapping of options given to this module. */ void initialize(Subject subject, CallbackHandler handler, - Map sharedState, Map options); + Map sharedState, Map options); /** * Authenticates a subject to the system. This is the primary diff --git a/libjava/classpath/javax/security/sasl/Sasl.java b/libjava/classpath/javax/security/sasl/Sasl.java index dbe4cc8c2ae..52210d971ac 100644 --- a/libjava/classpath/javax/security/sasl/Sasl.java +++ b/libjava/classpath/javax/security/sasl/Sasl.java @@ -356,7 +356,8 @@ public class Sasl public static SaslClient createSaslClient(String[] mechanisms, String authorizationID, String protocol, - String serverName, Map props, + String serverName, + Map props, CallbackHandler cbh) throws SaslException { @@ -444,7 +445,7 @@ public class Sasl * {@link SaslClient} instance. * @see #createSaslClient(String[],String,String,String,Map,CallbackHandler) */ - public static Enumeration getSaslClientFactories() + public static Enumeration getSaslClientFactories() { Vector result = new Vector(); HashSet names = new HashSet(); @@ -559,7 +560,8 @@ public class Sasl */ public static SaslServer createSaslServer(String mechanism, String protocol, String serverName, - Map props, CallbackHandler cbh) + Map props, + CallbackHandler cbh) throws SaslException { if (mechanism == null) @@ -636,7 +638,7 @@ public class Sasl * {@link SaslServer} instance. * @see #createSaslServer(String,String,String,Map,CallbackHandler) */ - public static Enumeration getSaslServerFactories() + public static Enumeration getSaslServerFactories() { Vector result = new Vector(); HashSet names = new HashSet(); diff --git a/libjava/classpath/javax/security/sasl/SaslClientFactory.java b/libjava/classpath/javax/security/sasl/SaslClientFactory.java index ae36171c56e..be80fd9f1c9 100644 --- a/libjava/classpath/javax/security/sasl/SaslClientFactory.java +++ b/libjava/classpath/javax/security/sasl/SaslClientFactory.java @@ -97,8 +97,8 @@ public interface SaslClientFactory * because of an error. */ SaslClient createSaslClient(String[] mechanisms, String authorizationID, - String protocol, String serverName, Map props, - CallbackHandler cbh) + String protocol, String serverName, + Map props, CallbackHandler cbh) throws SaslException; /** @@ -114,5 +114,5 @@ public interface SaslClientFactory * properties, if present in props, are ignored. * @return a non-null array containing IANA-registered SASL mechanism names. */ - String[] getMechanismNames(Map props); + String[] getMechanismNames(Map props); } diff --git a/libjava/classpath/javax/security/sasl/SaslServerFactory.java b/libjava/classpath/javax/security/sasl/SaslServerFactory.java index fc43fb636e9..b51ce3dbaf0 100644 --- a/libjava/classpath/javax/security/sasl/SaslServerFactory.java +++ b/libjava/classpath/javax/security/sasl/SaslServerFactory.java @@ -95,7 +95,8 @@ public interface SaslServerFactory * of an error. */ SaslServer createSaslServer(String mechanism, String protocol, - String serverName, Map props, CallbackHandler cbh) + String serverName, Map props, + CallbackHandler cbh) throws SaslException; /** @@ -111,5 +112,5 @@ public interface SaslServerFactory * properties, if present in props, are ignored. * @return a non-null array containing IANA-registered SASL mechanism names. */ - String[] getMechanismNames(Map props); + String[] getMechanismNames(Map props); } diff --git a/libjava/classpath/javax/sound/midi/Instrument.java b/libjava/classpath/javax/sound/midi/Instrument.java index 3402e8289c9..f2821db6484 100644 --- a/libjava/classpath/javax/sound/midi/Instrument.java +++ b/libjava/classpath/javax/sound/midi/Instrument.java @@ -59,7 +59,7 @@ public abstract class Instrument extends SoundbankResource * @param dataClass the class used to represent sample data for this instrument */ protected Instrument(Soundbank soundbank, Patch patch, - String name, Class dataClass) + String name, Class dataClass) { super(soundbank, name, dataClass); this.patch = patch; diff --git a/libjava/classpath/javax/sound/midi/Sequence.java b/libjava/classpath/javax/sound/midi/Sequence.java index 1a43d207ce6..2ea201cb2a4 100644 --- a/libjava/classpath/javax/sound/midi/Sequence.java +++ b/libjava/classpath/javax/sound/midi/Sequence.java @@ -65,7 +65,7 @@ public class Sequence /** * The MIDI tracks used by this sequence. */ - protected Vector tracks; + protected Vector tracks; /** * Tempo-based timing. Resolution is specified in ticks per beat. @@ -107,7 +107,7 @@ public class Sequence this.divisionType = divisionType; this.resolution = resolution; - tracks = new Vector(numTracks); + tracks = new Vector(numTracks); while (numTracks > 0) tracks.set(--numTracks, new Track()); } @@ -189,7 +189,7 @@ public class Sequence */ public Track[] getTracks() { - return (Track[]) tracks.toArray(new Track[tracks.size()]); + return tracks.toArray(new Track[tracks.size()]); } /** @@ -224,10 +224,10 @@ public class Sequence public long getTickLength() { long length = 0; - Iterator itr = tracks.iterator(); + Iterator itr = tracks.iterator(); while (itr.hasNext()) { - Track track = (Track) itr.next(); + Track track = itr.next(); long trackTicks = track.ticks(); if (trackTicks > length) length = trackTicks; diff --git a/libjava/classpath/javax/sound/midi/SoundbankResource.java b/libjava/classpath/javax/sound/midi/SoundbankResource.java index 435017e4cf2..93f42e48e1d 100644 --- a/libjava/classpath/javax/sound/midi/SoundbankResource.java +++ b/libjava/classpath/javax/sound/midi/SoundbankResource.java @@ -58,7 +58,7 @@ public abstract class SoundbankResource * @param name the name of the resource * @param dataClass the class used to represent the audio data */ - protected SoundbankResource(Soundbank soundbank, String name, Class dataClass) + protected SoundbankResource(Soundbank soundbank, String name, Class dataClass) { this.soundbank = soundbank; this.name = name; @@ -90,7 +90,7 @@ public abstract class SoundbankResource * * @return the class used to represent the audio data for this resource */ - public Class getDataClass() + public Class getDataClass() { return dataClass; } diff --git a/libjava/classpath/javax/sound/sampled/AudioFileFormat.java b/libjava/classpath/javax/sound/sampled/AudioFileFormat.java index 81bbe4ecf10..37c2df4652c 100644 --- a/libjava/classpath/javax/sound/sampled/AudioFileFormat.java +++ b/libjava/classpath/javax/sound/sampled/AudioFileFormat.java @@ -153,7 +153,7 @@ public class AudioFileFormat * @param properties the properties */ public AudioFileFormat(Type type, AudioFormat fmt, int frameLen, - Map properties) + Map properties) { this.byteLength = AudioSystem.NOT_SPECIFIED; this.format = fmt; @@ -226,7 +226,7 @@ public class AudioFileFormat * Return the properties associated with this format, as a Map. * The returned Map is unmodifiable. */ - public Map properties() + public Map properties() { return properties; } diff --git a/libjava/classpath/javax/sound/sampled/AudioFormat.java b/libjava/classpath/javax/sound/sampled/AudioFormat.java index 5199d71c3a3..a474ff9a5c4 100644 --- a/libjava/classpath/javax/sound/sampled/AudioFormat.java +++ b/libjava/classpath/javax/sound/sampled/AudioFormat.java @@ -177,7 +177,7 @@ public class AudioFormat */ public AudioFormat(Encoding encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, - boolean bigEndian, Map properties) + boolean bigEndian, Map properties) { this.encoding = encoding; this.sampleRate = sampleRate; @@ -319,7 +319,7 @@ public class AudioFormat * Return a read-only Map holding the properties associated with * this format. */ - public Map properties() + public Map properties() { return properties; } diff --git a/libjava/classpath/javax/sound/sampled/DataLine.java b/libjava/classpath/javax/sound/sampled/DataLine.java index f755958fe87..aa99a046ce4 100644 --- a/libjava/classpath/javax/sound/sampled/DataLine.java +++ b/libjava/classpath/javax/sound/sampled/DataLine.java @@ -64,7 +64,7 @@ public interface DataLine extends Line * @param klass the class of the line * @param fmt the supported format */ - public Info(Class klass, AudioFormat fmt) + public Info(Class klass, AudioFormat fmt) { super(klass); this.minBufferSize = AudioSystem.NOT_SPECIFIED; @@ -80,7 +80,7 @@ public interface DataLine extends Line * @param minSize the minimum buffer size * @param maxSize the maximum buffer size */ - public Info(Class klass, AudioFormat[] fmts, int minSize, int maxSize) + public Info(Class klass, AudioFormat[] fmts, int minSize, int maxSize) { super(klass); this.minBufferSize = minSize; @@ -96,7 +96,7 @@ public interface DataLine extends Line * @param fmt the supported format * @param size the buffer size */ - public Info(Class klass, AudioFormat fmt, int size) + public Info(Class klass, AudioFormat fmt, int size) { super(klass); this.minBufferSize = size; diff --git a/libjava/classpath/javax/sound/sampled/Line.java b/libjava/classpath/javax/sound/sampled/Line.java index 69bb9084f10..536752a1cc1 100644 --- a/libjava/classpath/javax/sound/sampled/Line.java +++ b/libjava/classpath/javax/sound/sampled/Line.java @@ -57,7 +57,7 @@ public interface Line * for instance TargetDataLine.class. * @param klass the class of the line */ - public Info(Class klass) + public Info(Class klass) { this.klass = klass; } @@ -65,7 +65,7 @@ public interface Line /** * Return the line's class. */ - public Class getLineClass() + public Class getLineClass() { return klass; } diff --git a/libjava/classpath/javax/sound/sampled/Port.java b/libjava/classpath/javax/sound/sampled/Port.java index fb39e6c07ee..fc0bf71d9da 100644 --- a/libjava/classpath/javax/sound/sampled/Port.java +++ b/libjava/classpath/javax/sound/sampled/Port.java @@ -89,7 +89,7 @@ public interface Port extends Line * @param name the name of the line * @param isSource true if this is an input source */ - public Info(Class klass, String name, boolean isSource) + public Info(Class klass, String name, boolean isSource) { super(klass); this.name = name; diff --git a/libjava/classpath/javax/sql/RowSet.java b/libjava/classpath/javax/sql/RowSet.java index 46b776b3c10..2a9ad2784ee 100644 --- a/libjava/classpath/javax/sql/RowSet.java +++ b/libjava/classpath/javax/sql/RowSet.java @@ -78,9 +78,9 @@ public interface RowSet extends ResultSet void setTransactionIsolation(int level) throws SQLException; - Map getTypeMap() throws SQLException; + Map> getTypeMap() throws SQLException; - void setTypeMap(Map map) throws SQLException; + void setTypeMap(Map> map) throws SQLException; String getCommand(); diff --git a/libjava/classpath/javax/swing/AbstractButton.java b/libjava/classpath/javax/swing/AbstractButton.java index 63f827a1ae0..cb0f458b89f 100644 --- a/libjava/classpath/javax/swing/AbstractButton.java +++ b/libjava/classpath/javax/swing/AbstractButton.java @@ -37,8 +37,6 @@ exception statement from your version. */ package javax.swing; -import gnu.classpath.NotImplementedException; - import java.awt.Component; import java.awt.Graphics; import java.awt.Image; @@ -74,7 +72,10 @@ import javax.swing.plaf.ButtonUI; import javax.swing.plaf.basic.BasicHTML; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; +import javax.swing.text.Document; +import javax.swing.text.Element; import javax.swing.text.Position; +import javax.swing.text.StyledDocument; import javax.swing.text.View; @@ -187,9 +188,32 @@ public abstract class AbstractButton extends JComponent */ public void stateChanged(ChangeEvent ev) { - AbstractButton.this.fireStateChanged(); + getEventHandler().stateChanged(ev); + } + } + + /** + * The combined event handler for ActionEvent, ChangeEvent and + * ItemEvent. This combines ButtonChangeListener, ActionListener + */ + private class EventHandler + implements ActionListener, ChangeListener, ItemListener + { + public void actionPerformed(ActionEvent ev) + { + fireActionPerformed(ev); + } + + public void stateChanged(ChangeEvent ev) + { + fireStateChanged(); repaint(); } + + public void itemStateChanged(ItemEvent ev) + { + fireItemStateChanged(ev); + } } /** The icon displayed by default. */ @@ -264,15 +288,28 @@ public abstract class AbstractButton extends JComponent */ int mnemonicIndex; - /** Listener the button uses to receive ActionEvents from its model. */ + /** + * Listener the button uses to receive ActionEvents from its model. + */ protected ActionListener actionListener; - /** Listener the button uses to receive ItemEvents from its model. */ + /** + * Listener the button uses to receive ItemEvents from its model. + */ protected ItemListener itemListener; - /** Listener the button uses to receive ChangeEvents from its model. */ + /** + * Listener the button uses to receive ChangeEvents from its model. + */ protected ChangeListener changeListener; + /** + * The event handler for ActionEvent, ItemEvent and ChangeEvent. + * This replaces the above three handlers and combines them + * into one for efficiency. + */ + private EventHandler eventHandler; + /** * The time in milliseconds in which clicks get coalesced into a single * ActionEvent. @@ -768,22 +805,127 @@ public abstract class AbstractButton extends JComponent return -1; } - public String getAtIndex(int value0, int value1) - throws NotImplementedException + /** + * Returns the character, word or sentence at the specified index. The + * part parameter determines what is returned, the character, + * word or sentence after the index. + * + * @param part one of {@link AccessibleText#CHARACTER}, + * {@link AccessibleText#WORD} or + * {@link AccessibleText#SENTENCE}, specifying what is returned + * @param index the index + * + * @return the character, word or sentence after index + */ + public String getAtIndex(int part, int index) { - return null; // TODO + String result = ""; + int startIndex = -1; + int endIndex = -1; + switch(part) + { + case AccessibleText.CHARACTER: + result = String.valueOf(text.charAt(index)); + break; + case AccessibleText.WORD: + startIndex = text.lastIndexOf(' ', index); + endIndex = text.indexOf(' ', startIndex + 1); + if (endIndex == -1) + endIndex = startIndex + 1; + result = text.substring(startIndex + 1, endIndex); + break; + case AccessibleText.SENTENCE: + default: + startIndex = text.lastIndexOf('.', index); + endIndex = text.indexOf('.', startIndex + 1); + if (endIndex == -1) + endIndex = startIndex + 1; + result = text.substring(startIndex + 1, endIndex); + break; + } + return result; } - public String getAfterIndex(int value0, int value1) - throws NotImplementedException + /** + * Returns the character, word or sentence after the specified index. The + * part parameter determines what is returned, the character, + * word or sentence after the index. + * + * @param part one of {@link AccessibleText#CHARACTER}, + * {@link AccessibleText#WORD} or + * {@link AccessibleText#SENTENCE}, specifying what is returned + * @param index the index + * + * @return the character, word or sentence after index + */ + public String getAfterIndex(int part, int index) { - return null; // TODO + String result = ""; + int startIndex = -1; + int endIndex = -1; + switch(part) + { + case AccessibleText.CHARACTER: + result = String.valueOf(text.charAt(index + 1)); + break; + case AccessibleText.WORD: + startIndex = text.indexOf(' ', index); + endIndex = text.indexOf(' ', startIndex + 1); + if (endIndex == -1) + endIndex = startIndex + 1; + result = text.substring(startIndex + 1, endIndex); + break; + case AccessibleText.SENTENCE: + default: + startIndex = text.indexOf('.', index); + endIndex = text.indexOf('.', startIndex + 1); + if (endIndex == -1) + endIndex = startIndex + 1; + result = text.substring(startIndex + 1, endIndex); + break; + } + return result; } - public String getBeforeIndex(int value0, int value1) - throws NotImplementedException + /** + * Returns the character, word or sentence before the specified index. The + * part parameter determines what is returned, the character, + * word or sentence before the index. + * + * @param part one of {@link AccessibleText#CHARACTER}, + * {@link AccessibleText#WORD} or + * {@link AccessibleText#SENTENCE}, specifying what is returned + * @param index the index + * + * @return the character, word or sentence before index + */ + public String getBeforeIndex(int part, int index) { - return null; // TODO + String result = ""; + int startIndex = -1; + int endIndex = -1; + switch(part) + { + case AccessibleText.CHARACTER: + result = String.valueOf(text.charAt(index - 1)); + break; + case AccessibleText.WORD: + endIndex = text.lastIndexOf(' ', index); + if (endIndex == -1) + endIndex = 0; + startIndex = text.lastIndexOf(' ', endIndex - 1); + result = text.substring(startIndex + 1, endIndex); + break; + case AccessibleText.SENTENCE: + default: + endIndex = text.lastIndexOf('.', index); + if (endIndex == -1) + endIndex = 0; + startIndex = text.lastIndexOf('.', endIndex - 1); + result = text.substring(startIndex + 1, endIndex); + break; + } + return result; } /** @@ -801,7 +943,14 @@ public abstract class AbstractButton extends JComponent View view = (View) getClientProperty(BasicHTML.propertyKey); if (view != null) { - + Document doc = view.getDocument(); + if (doc instanceof StyledDocument) + { + StyledDocument sDoc = (StyledDocument) doc; + Element charEl = sDoc.getCharacterElement(i); + if (charEl != null) + atts = charEl.getAttributes(); + } } return atts; } @@ -855,10 +1004,6 @@ public abstract class AbstractButton extends JComponent */ public AbstractButton() { - actionListener = createActionListener(); - changeListener = createChangeListener(); - itemListener = createItemListener(); - horizontalAlignment = CENTER; horizontalTextPosition = TRAILING; verticalAlignment = CENTER; @@ -872,7 +1017,10 @@ public abstract class AbstractButton extends JComponent setDisplayedMnemonicIndex(-1); setOpaque(true); text = ""; - updateUI(); + // testing on JRE1.5 shows that the iconTextGap default value is + // hard-coded here and the 'Button.iconTextGap' setting in the + // UI defaults is ignored, at least by the MetalLookAndFeel + iconTextGap = 4; } /** @@ -900,15 +1048,21 @@ public abstract class AbstractButton extends JComponent if (model != null) { model.removeActionListener(actionListener); + actionListener = null; model.removeChangeListener(changeListener); + changeListener = null; model.removeItemListener(itemListener); + itemListener = null; } ButtonModel old = model; model = newModel; if (model != null) { + actionListener = createActionListener(); model.addActionListener(actionListener); + changeListener = createChangeListener(); model.addChangeListener(changeListener); + itemListener = createItemListener(); model.addItemListener(itemListener); } firePropertyChange(MODEL_CHANGED_PROPERTY, old, model); @@ -927,6 +1081,8 @@ public abstract class AbstractButton extends JComponent if (icon != null) default_icon = icon; + + updateUI(); } /** @@ -1923,13 +2079,7 @@ public abstract class AbstractButton extends JComponent */ protected ActionListener createActionListener() { - return new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - AbstractButton.this.fireActionPerformed(e); - } - }; + return getEventHandler(); } /** @@ -1995,7 +2145,7 @@ public abstract class AbstractButton extends JComponent */ protected ChangeListener createChangeListener() { - return new ButtonChangeListener(); + return getEventHandler(); } /** @@ -2021,13 +2171,7 @@ public abstract class AbstractButton extends JComponent */ protected ItemListener createItemListener() { - return new ItemListener() - { - public void itemStateChanged(ItemEvent e) - { - AbstractButton.this.fireItemStateChanged(e); - } - }; + return getEventHandler(); } /** @@ -2490,4 +2634,17 @@ public abstract class AbstractButton extends JComponent super.setUIProperty(propertyName, value); } } + + /** + * Returns the combined event handler. The instance is created if + * necessary. + * + * @return the combined event handler + */ + EventHandler getEventHandler() + { + if (eventHandler == null) + eventHandler = new EventHandler(); + return eventHandler; + } } diff --git a/libjava/classpath/javax/swing/AbstractListModel.java b/libjava/classpath/javax/swing/AbstractListModel.java index 4b89689ddda..7d4b2bb2a87 100644 --- a/libjava/classpath/javax/swing/AbstractListModel.java +++ b/libjava/classpath/javax/swing/AbstractListModel.java @@ -164,7 +164,7 @@ public abstract class AbstractListModel implements ListModel, Serializable * * @return The set of listeners of the specified type */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } diff --git a/libjava/classpath/javax/swing/AbstractSpinnerModel.java b/libjava/classpath/javax/swing/AbstractSpinnerModel.java index 089e2048da2..d247a33136a 100644 --- a/libjava/classpath/javax/swing/AbstractSpinnerModel.java +++ b/libjava/classpath/javax/swing/AbstractSpinnerModel.java @@ -1,5 +1,5 @@ /* AbstractSpinnerModel.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -47,6 +47,8 @@ import javax.swing.event.EventListenerList; /** * Provides standard implementations for some of the methods in * {@link SpinnerModel}. + * + * @since 1.4 * * @author Ka-Hing Cheung */ @@ -54,6 +56,7 @@ public abstract class AbstractSpinnerModel implements SpinnerModel { private ChangeEvent changeEvent = new ChangeEvent(this); + /** Stores the listeners registered with the model. */ protected EventListenerList listenerList = new EventListenerList(); /** @@ -65,9 +68,10 @@ public abstract class AbstractSpinnerModel implements SpinnerModel } /** - * Adds a ChangeListener. + * Registers a ChangeListener with the model so that it will + * receive {@link ChangeEvent} notifications when the model changes. * - * @param listener the listener to add + * @param listener the listener to add (null is ignored). */ public void addChangeListener(ChangeListener listener) { @@ -80,7 +84,7 @@ public abstract class AbstractSpinnerModel implements SpinnerModel * @param c the type of listener * @return the listeners that are of the specific type */ - public EventListener[] getListeners(Class c) + public T[] getListeners(Class c) { return listenerList.getListeners(c); } diff --git a/libjava/classpath/javax/swing/ButtonGroup.java b/libjava/classpath/javax/swing/ButtonGroup.java index efa36b5f641..6a474f98d28 100644 --- a/libjava/classpath/javax/swing/ButtonGroup.java +++ b/libjava/classpath/javax/swing/ButtonGroup.java @@ -68,7 +68,7 @@ public class ButtonGroup implements Serializable private static final long serialVersionUID = 4259076101881721375L; /** Stores references to the buttons added to this button group. */ - protected Vector buttons = new Vector(); + protected Vector buttons = new Vector(); /** The currently selected button model. */ ButtonModel sel; @@ -129,7 +129,7 @@ public class ButtonGroup implements Serializable * * @return Enumeration over all added buttons */ - public Enumeration getElements() + public Enumeration getElements() { return buttons.elements(); } @@ -183,6 +183,10 @@ public class ButtonGroup implements Serializable if (old != null) old.setSelected(false); + + if (m != null) + sel.setSelected(true); + AbstractButton button = findButton(old); if (button != null) button.repaint(); diff --git a/libjava/classpath/javax/swing/DefaultBoundedRangeModel.java b/libjava/classpath/javax/swing/DefaultBoundedRangeModel.java index efca148f449..786e4ee9204 100644 --- a/libjava/classpath/javax/swing/DefaultBoundedRangeModel.java +++ b/libjava/classpath/javax/swing/DefaultBoundedRangeModel.java @@ -424,7 +424,7 @@ public class DefaultBoundedRangeModel * * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } diff --git a/libjava/classpath/javax/swing/DefaultButtonModel.java b/libjava/classpath/javax/swing/DefaultButtonModel.java index 020c904a4e9..c0eaea239b5 100644 --- a/libjava/classpath/javax/swing/DefaultButtonModel.java +++ b/libjava/classpath/javax/swing/DefaultButtonModel.java @@ -166,7 +166,7 @@ public class DefaultButtonModel implements ButtonModel, Serializable * * @return array of listeners */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } @@ -425,7 +425,7 @@ public class DefaultButtonModel implements ButtonModel, Serializable public void setRollover(boolean r) { // if this call does not represent a CHANGE in state, then return - if ((r && isRollover()) || (!r && !isRollover())) + if (r == isRollover()) return; // cannot set ROLLOVER property unless button is enabled diff --git a/libjava/classpath/javax/swing/DefaultComboBoxModel.java b/libjava/classpath/javax/swing/DefaultComboBoxModel.java index ef785f34dec..9b5bdb60d18 100644 --- a/libjava/classpath/javax/swing/DefaultComboBoxModel.java +++ b/libjava/classpath/javax/swing/DefaultComboBoxModel.java @@ -104,7 +104,7 @@ public class DefaultComboBoxModel extends AbstractListModel * * @throws NullPointerException if vector is null. */ - public DefaultComboBoxModel(Vector vector) + public DefaultComboBoxModel(Vector vector) { this.list = vector; if (getSize() > 0) @@ -224,18 +224,26 @@ public class DefaultComboBoxModel extends AbstractListModel */ public void setSelectedItem(Object object) { - if (selectedItem == null) - { - if (object == null) - return; - } - else - { - if (selectedItem.equals(object)) - return; - } + // No item is selected and object is null, so no change required. + if (selectedItem == null && object == null) + return; + + // object is already selected so no change required. + if (selectedItem != null && selectedItem.equals(object)) + return; + + // Simply return if object is not in the list. + if (object != null && getIndexOf(object) == -1) + return; + + // Here we know that object is either an item in the list or null. + + // Handle the three change cases: selectedItem is null, object is + // non-null; selectedItem is non-null, object is null; + // selectedItem is non-null, object is non-null and they're not + // equal. selectedItem = object; - fireContentsChanged(this, -1, -1); + fireContentsChanged(this, -1, -1); } /** diff --git a/libjava/classpath/javax/swing/DefaultListModel.java b/libjava/classpath/javax/swing/DefaultListModel.java index 2d02874a7e4..674864cce3a 100644 --- a/libjava/classpath/javax/swing/DefaultListModel.java +++ b/libjava/classpath/javax/swing/DefaultListModel.java @@ -309,7 +309,7 @@ public class DefaultListModel extends AbstractListModel * * @return A new enumeration which iterates over the list */ - public Enumeration elements() + public Enumeration elements() { return elements.elements(); } diff --git a/libjava/classpath/javax/swing/DefaultListSelectionModel.java b/libjava/classpath/javax/swing/DefaultListSelectionModel.java index 482ce2cc224..d1e2da85fe8 100644 --- a/libjava/classpath/javax/swing/DefaultListSelectionModel.java +++ b/libjava/classpath/javax/swing/DefaultListSelectionModel.java @@ -815,7 +815,7 @@ public class DefaultListSelectionModel implements Cloneable, * @see #getListSelectionListeners * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } diff --git a/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java b/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java index 1c6f473fdd3..3f79f0deed5 100644 --- a/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java +++ b/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java @@ -174,7 +174,7 @@ public class DefaultSingleSelectionModel * * @since 1.3 */ - public EventListener[] getListeners(Class listenerClass) + public T[] getListeners(Class listenerClass) { return listenerList.getListeners(listenerClass); } diff --git a/libjava/classpath/javax/swing/JButton.java b/libjava/classpath/javax/swing/JButton.java index 787adb87cf1..878cfa68397 100644 --- a/libjava/classpath/javax/swing/JButton.java +++ b/libjava/classpath/javax/swing/JButton.java @@ -132,8 +132,8 @@ public class JButton extends AbstractButton public JButton(String text, Icon icon) { super(); - init(text, icon); setModel(new DefaultButtonModel()); + init(text, icon); defaultCapable = true; } diff --git a/libjava/classpath/javax/swing/JComboBox.java b/libjava/classpath/javax/swing/JComboBox.java index c75a94bdc36..fa6941cf977 100644 --- a/libjava/classpath/javax/swing/JComboBox.java +++ b/libjava/classpath/javax/swing/JComboBox.java @@ -196,7 +196,7 @@ public class JComboBox extends JComponent implements ItemSelectable, * * @param itemVector vector containing list of items for this JComboBox. */ - public JComboBox(Vector itemVector) + public JComboBox(Vector itemVector) { this(new DefaultComboBoxModel(itemVector)); diff --git a/libjava/classpath/javax/swing/JComponent.java b/libjava/classpath/javax/swing/JComponent.java index fa83502946d..5ec5079223e 100644 --- a/libjava/classpath/javax/swing/JComponent.java +++ b/libjava/classpath/javax/swing/JComponent.java @@ -69,6 +69,7 @@ import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import java.beans.VetoableChangeSupport; import java.io.Serializable; +import java.util.ArrayList; import java.util.EventListener; import java.util.Hashtable; import java.util.Locale; @@ -503,27 +504,6 @@ public abstract class JComponent extends Container implements Serializable } } - /** - * An explicit value for the component's preferred size; if not set by a - * user, this is calculated on the fly by delegating to the {@link - * ComponentUI#getPreferredSize} method on the {@link #ui} property. - */ - Dimension preferredSize; - - /** - * An explicit value for the component's minimum size; if not set by a - * user, this is calculated on the fly by delegating to the {@link - * ComponentUI#getMinimumSize} method on the {@link #ui} property. - */ - Dimension minimumSize; - - /** - * An explicit value for the component's maximum size; if not set by a - * user, this is calculated on the fly by delegating to the {@link - * ComponentUI#getMaximumSize} method on the {@link #ui} property. - */ - Dimension maximumSize; - /** * A value between 0.0 and 1.0 indicating the preferred horizontal * alignment of the component, relative to its siblings. The values @@ -561,14 +541,6 @@ public abstract class JComponent extends Container implements Serializable */ Border border; - /** - * The text to show in the tooltip associated with this component. - * - * @see #setToolTipText - * @see #getToolTipText() - */ - String toolTipText; - /** * The popup menu for the component. * @@ -687,7 +659,7 @@ public abstract class JComponent extends Container implements Serializable * Indicates whether we are calling paintDoubleBuffered() from * paintImmadiately (RepaintManager) or from paint() (AWT refresh). */ - static private boolean isRepainting = false; + static boolean isRepainting = false; /** * Listeners for events other than {@link PropertyChangeEvent} are @@ -783,6 +755,13 @@ public abstract class JComponent extends Container implements Serializable */ public static final int WHEN_IN_FOCUSED_WINDOW = 2; + + /** + * Used to optimize painting. This is set in paintImmediately2() to specify + * the exact component path to be painted by paintChildren. + */ + Component paintChild; + /** * Indicates if the opaque property has been set by a client program or by * the UI. @@ -868,7 +847,12 @@ public abstract class JComponent extends Container implements Serializable t.put(key, value); else t.remove(key); - firePropertyChange(key.toString(), old, value); + + // When both old and new value are null, no event is fired. This is + // different from what firePropertyChange() normally does, so we add this + // check here. + if (old != null || value != null) + firePropertyChange(key.toString(), old, value); } /** @@ -943,12 +927,12 @@ public abstract class JComponent extends Container implements Serializable * * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { if (listenerType == PropertyChangeListener.class) - return getPropertyChangeListeners(); + return (T[]) getPropertyChangeListeners(); else if (listenerType == VetoableChangeListener.class) - return getVetoableChangeListeners(); + return (T[]) getVetoableChangeListeners(); else return listenerList.getListeners(listenerType); } @@ -1270,37 +1254,38 @@ public abstract class JComponent extends Container implements Serializable } /** - * Get the component's maximum size. If the {@link #maximumSize} property - * has been explicitly set, it is returned. If the {@link #maximumSize} + * Get the component's maximum size. If the maximumSize property + * has been explicitly set, it is returned. If the maximumSize * property has not been set but the {@link #ui} property has been, the * result of {@link ComponentUI#getMaximumSize} is returned. If neither * property has been set, the result of {@link Container#getMaximumSize} * is returned. * - * @return The maximum size of the component + * @return the maximum size of the component * - * @see #maximumSize - * @see #setMaximumSize + * @see Component#setMaximumSize + * @see Component#getMaximumSize() + * @see Component#isMaximumSizeSet() + * @see ComponentUI#getMaximumSize(JComponent) */ public Dimension getMaximumSize() { - if (maximumSize != null) - return maximumSize; - - if (ui != null) + Dimension size = null; + if (isMaximumSizeSet()) + size = super.getMaximumSize(); + else { - Dimension s = ui.getMaximumSize(this); - if (s != null) - return s; + if (ui != null) + size = ui.getMaximumSize(this); + if (size == null) + size = super.getMaximumSize(); } - - Dimension p = super.getMaximumSize(); - return p; + return size; } /** - * Get the component's minimum size. If the {@link #minimumSize} property - * has been explicitly set, it is returned. If the {@link #minimumSize} + * Get the component's minimum size. If the minimumSize property + * has been explicitly set, it is returned. If the minimumSize * property has not been set but the {@link #ui} property has been, the * result of {@link ComponentUI#getMinimumSize} is returned. If neither * property has been set, the result of {@link Container#getMinimumSize} @@ -1308,96 +1293,56 @@ public abstract class JComponent extends Container implements Serializable * * @return The minimum size of the component * - * @see #minimumSize - * @see #setMinimumSize + * @see Component#setMinimumSize + * @see Component#getMinimumSize() + * @see Component#isMinimumSizeSet() + * @see ComponentUI#getMinimumSize(JComponent) */ public Dimension getMinimumSize() { - if (minimumSize != null) - return minimumSize; - - if (ui != null) + Dimension size = null; + if (isMinimumSizeSet()) + size = super.getMinimumSize(); + else { - Dimension s = ui.getMinimumSize(this); - if (s != null) - return s; + if (ui != null) + size = ui.getMinimumSize(this); + if (size == null) + size = super.getMinimumSize(); } - - Dimension p = super.getMinimumSize(); - return p; + return size; } /** - * Get the component's preferred size. If the {@link #preferredSize} - * property has been explicitly set, it is returned. If the {@link - * #preferredSize} property has not been set but the {@link #ui} property - * has been, the result of {@link ComponentUI#getPreferredSize} is + * Get the component's preferred size. If the preferredSize + * property has been explicitly set, it is returned. If the + * preferredSize property has not been set but the {@link #ui} + * property has been, the result of {@link ComponentUI#getPreferredSize} is * returned. If neither property has been set, the result of {@link * Container#getPreferredSize} is returned. * * @return The preferred size of the component * - * @see #preferredSize - * @see #setPreferredSize + * @see Component#setPreferredSize + * @see Component#getPreferredSize() + * @see Component#isPreferredSizeSet() + * @see ComponentUI#getPreferredSize(JComponent) */ public Dimension getPreferredSize() { - Dimension prefSize = null; - if (preferredSize != null) - prefSize = new Dimension(preferredSize); - - else if (ui != null) + Dimension size = null; + if (isPreferredSizeSet()) + size = super.getPreferredSize(); + else { - Dimension s = ui.getPreferredSize(this); - if (s != null) - prefSize = s; + if (ui != null) + size = ui.getPreferredSize(this); + if (size == null) + size = super.getPreferredSize(); } - - if (prefSize == null) - prefSize = super.getPreferredSize(); - - return prefSize; + return size; } - /** - * Checks if a maximum size was explicitely set on the component. - * - * @return true if a maximum size was set, - * false otherwise - * - * @since 1.3 - */ - public boolean isMaximumSizeSet() - { - return maximumSize != null; - } - - /** - * Checks if a minimum size was explicitely set on the component. - * - * @return true if a minimum size was set, - * false otherwise - * - * @since 1.3 - */ - public boolean isMinimumSizeSet() - { - return minimumSize != null; - } - - /** - * Checks if a preferred size was explicitely set on the component. - * - * @return true if a preferred size was set, - * false otherwise - * - * @since 1.3 - */ - public boolean isPreferredSizeSet() - { - return preferredSize != null; - } - /** * Return the value of the nextFocusableComponent property. * @@ -1491,14 +1436,12 @@ public abstract class JComponent extends Container implements Serializable { JToolTip toolTip = new JToolTip(); toolTip.setComponent(this); - toolTip.setTipText(toolTipText); - return toolTip; } /** - * Return the location at which the {@link #toolTipText} property should be - * displayed, when triggered by a particular mouse event. + * Return the location at which the toolTipText property should + * be displayed, when triggered by a particular mouse event. * * @param event The event the tooltip is being presented in response to * @@ -1511,53 +1454,56 @@ public abstract class JComponent extends Container implements Serializable } /** - * Set the value of the {@link #toolTipText} property. + * Set the tooltip text for this component. If a non-null + * value is set, this component is registered in the + * ToolTipManager in order to turn on tooltips for this + * component. If a null value is set, tooltips are turne off + * for this component. * - * @param text The new property value + * @param text the tooltip text for this component * * @see #getToolTipText() + * @see #getToolTipText(MouseEvent) */ public void setToolTipText(String text) { + String old = getToolTipText(); + putClientProperty(TOOL_TIP_TEXT_KEY, text); + ToolTipManager ttm = ToolTipManager.sharedInstance(); if (text == null) - { - ToolTipManager.sharedInstance().unregisterComponent(this); - toolTipText = null; - return; - } - - // XXX: The tip text doesn't get updated unless you set it to null - // and then to something not-null. This is consistent with the behaviour - // of Sun's ToolTipManager. - - String oldText = toolTipText; - toolTipText = text; - - if (oldText == null) - ToolTipManager.sharedInstance().registerComponent(this); + ttm.unregisterComponent(this); + else if (old == null) + ttm.registerComponent(this); } /** - * Get the value of the {@link #toolTipText} property. + * Returns the current tooltip text for this component, or null + * if none has been set. * - * @return The current property value + * @return the current tooltip text for this component, or null + * if none has been set * * @see #setToolTipText + * @see #getToolTipText(MouseEvent) */ public String getToolTipText() { - return toolTipText; + return (String) getClientProperty(TOOL_TIP_TEXT_KEY); } /** - * Get the value of the {@link #toolTipText} property, in response to a - * particular mouse event. + * Returns the tooltip text for this component for a particular mouse + * event. This can be used to support context sensitive tooltips that can + * change with the mouse location. By default this returns the static + * tooltip text returned by {@link #getToolTipText()}. * - * @param event The mouse event which triggered the tooltip + * @param event the mouse event which triggered the tooltip * - * @return The current property value + * @return the tooltip text for this component for a particular mouse + * event * * @see #setToolTipText + * @see #getToolTipText() */ public String getToolTipText(MouseEvent event) { @@ -1850,7 +1796,7 @@ public abstract class JComponent extends Container implements Serializable && rm.isDoubleBufferingEnabled()) { Rectangle clip = g.getClipBounds(); - paintDoubleBuffered(clip); + paintDoubleBuffered(clip.x, clip.y, clip.width, clip.height); } else { @@ -1865,8 +1811,22 @@ public abstract class JComponent extends Container implements Serializable dragBuffer = null; } - if (g.getClip() == null) - g.setClip(0, 0, getWidth(), getHeight()); + Rectangle clip = g.getClipBounds(); + int clipX, clipY, clipW, clipH; + if (clip == null) + { + clipX = 0; + clipY = 0; + clipW = getWidth(); + clipH = getHeight(); + } + else + { + clipX = clip.x; + clipY = clip.y; + clipW = clip.width; + clipH = clip.height; + } if (dragBuffer != null && dragBufferInitialized) { g.drawImage(dragBuffer, 0, 0, this); @@ -1874,13 +1834,50 @@ public abstract class JComponent extends Container implements Serializable else { Graphics g2 = getComponentGraphics(g); - paintComponent(g2); - paintBorder(g2); + if (! isOccupiedByChild(clipX, clipY, clipW, clipH)) + { + paintComponent(g2); + paintBorder(g2); + } paintChildren(g2); } } } + /** + * Determines if a region of this component is completely occupied by + * an opaque child component, in which case we don't need to bother + * painting this component at all. + * + * @param x the area, x coordinate + * @param y the area, y coordinate + * @param w the area, width + * @param h the area, height + * + * @return true if the specified area is completely covered + * by a child component, false otherwise + */ + private boolean isOccupiedByChild(int x, int y, int w, int h) + { + boolean occupied = false; + int count = getComponentCount(); + for (int i = 0; i < count; i++) + { + Component child = getComponent(i); + int cx = child.getX(); + int cy = child.getY(); + int cw = child.getWidth(); + int ch = child.getHeight(); + if (child.isVisible() && x >= cx && x + w <= cx + cw && y >= cy + && y + h <= cy + ch) + { + occupied = child.isOpaque(); + break; + } + } + return occupied; + } + /** * Initializes the drag buffer by creating a new image and painting this * component into it. @@ -1940,7 +1937,14 @@ public abstract class JComponent extends Container implements Serializable // Need to lock the tree to avoid problems with AWT and concurrency. synchronized (getTreeLock()) { - for (int i = getComponentCount() - 1; i >= 0; i--) + // Fast forward to the child to paint, if set by + // paintImmediately2() + int i = getComponentCount() - 1; + if (paintChild != null && paintChild.isOpaque()) + { + for (; i >= 0 && getComponent(i) != paintChild; i--); + } + for (; i >= 0; i--) { Component child = getComponent(i); if (child != null && child.isLightweight() @@ -1958,7 +1962,8 @@ public abstract class JComponent extends Container implements Serializable Rectangle clip = g.getClipBounds(); // A copy. SwingUtilities.computeIntersection(cx, cy, cw, ch, clip); - if (isCompletelyObscured(i, clip)) + if (isCompletelyObscured(i, clip.x, clip.y, + clip.width, clip.height)) continue; // Continues the for-loop. } Graphics cg = g.create(cx, cy, cw, ch); @@ -1984,12 +1989,15 @@ public abstract class JComponent extends Container implements Serializable * of its siblings. * * @param index the index of the child component - * @param rect the region to check + * @param x the region to check, x coordinate + * @param y the region to check, y coordinate + * @param w the region to check, width + * @param h the region to check, height * * @return true if the region is completely obscured by a * sibling, false otherwise */ - private boolean isCompletelyObscured(int index, Rectangle rect) + private boolean isCompletelyObscured(int index, int x, int y, int w, int h) { boolean obscured = false; for (int i = index - 1; i >= 0 && obscured == false; i--) @@ -1998,10 +2006,10 @@ public abstract class JComponent extends Container implements Serializable if (sib.isVisible()) { Rectangle sibRect = sib.getBounds(rectCache); - if (sib.isOpaque() && rect.x >= sibRect.x - && (rect.x + rect.width) <= (sibRect.x + sibRect.width) - && rect.y >= sibRect.y - && (rect.y + rect.height) <= (sibRect.y + sibRect.height)) + if (sib.isOpaque() && x >= sibRect.x + && (x + w) <= (sibRect.x + sibRect.width) + && y >= sibRect.y + && (y + h) <= (sibRect.y + sibRect.height)) { obscured = true; } @@ -2010,6 +2018,39 @@ public abstract class JComponent extends Container implements Serializable return obscured; } + /** + * Checks if a component/rectangle is partially obscured by one of its + * siblings. + * Note that this doesn't check for completely obscured, this is + * done by isCompletelyObscured() and should probably also be checked. + * + * @param i the component index from which to start searching + * @param x the x coordinate of the rectangle to check + * @param y the y coordinate of the rectangle to check + * @param w the width of the rectangle to check + * @param h the height of the rectangle to check + * + * @return true if the rectangle is partially obscured + */ + private boolean isPartiallyObscured(int i, int x, int y, int w, int h) + { + boolean obscured = false; + for (int j = i - 1; j >= 0 && ! obscured; j--) + { + Component sibl = getComponent(j); + if (sibl.isVisible()) + { + Rectangle rect = sibl.getBounds(rectCache); + if (!(x + w <= rect.x) + || (y + h <= rect.y) + || (x >= rect.x + rect.width) + || (y >= rect.y + rect.height)) + obscured = true; + } + } + return obscured; + } + /** * Paint the component's body. This usually means calling {@link * ComponentUI#update} on the {@link #ui} property of the component, if @@ -2050,7 +2091,26 @@ public abstract class JComponent extends Container implements Serializable */ public void paintImmediately(int x, int y, int w, int h) { - paintImmediately(new Rectangle(x, y, w, h)); + // Find opaque parent and call paintImmediately2() on it. + if (isShowing()) + { + Component c = this; + Component p; + while (c != null && ! c.isOpaque()) + { + p = c.getParent(); + if (p != null) + { + x += c.getX(); + y += c.getY(); + c = p; + } + } + if (c instanceof JComponent) + ((JComponent) c).paintImmediately2(x, y, w, h); + else + c.repaint(x, y, w, h); + } } /** @@ -2073,60 +2133,202 @@ public abstract class JComponent extends Container implements Serializable */ public void paintImmediately(Rectangle r) { - // Try to find a root pane for this component. - //Component root = findPaintRoot(r); - Component root = findPaintRoot(r); - // If no paint root is found, then this component is completely overlapped - // by another component and we don't need repainting. - if (root == null|| !root.isShowing()) - return; - SwingUtilities.convertRectangleToAncestor(this, r, root); - if (root instanceof JComponent) - ((JComponent) root).paintImmediately2(r); - else - root.repaint(r.x, r.y, r.width, r.height); + paintImmediately(r.x, r.y, r.width, r.height); } /** * Performs the actual work of paintImmediatly on the repaint root. * - * @param r the area to be repainted + * @param x the area to be repainted, X coordinate + * @param y the area to be repainted, Y coordinate */ - void paintImmediately2(Rectangle r) + void paintImmediately2(int x, int y, int w, int h) { - isRepainting = true; + // Optimization for components that are always painted on top. + boolean onTop = onTop() && isOpaque(); + + // Fetch the RepaintManager. RepaintManager rm = RepaintManager.currentManager(this); - if (rm.isDoubleBufferingEnabled() && isPaintingDoubleBuffered()) - paintDoubleBuffered(r); - else - paintSimple(r); - isRepainting = false; + + // The painting clip; + int paintX = x; + int paintY = y; + int paintW = w; + int paintH = h; + + // If we should paint buffered or not. + boolean haveBuffer = false; + + // The component that is finally triggered for painting. + JComponent paintRoot = this; + + // Stores the component and all its parents. This will be used to limit + // the actually painted components in paintChildren by setting + // the field paintChild. + int pIndex = -1; + int pCount = 0; + ArrayList components = new ArrayList(); + + // Offset to subtract from the paintRoot rectangle when painting. + int offsX = 0; + int offsY = 0; + + // The current component and its child. + Component child; + Container c; + + // Find appropriate paint root. + for (c = this, child = null; + c != null && ! (c instanceof Window) && ! (c instanceof Applet); + child = c, c = c.getParent()) + { + JComponent jc = c instanceof JComponent ? (JComponent) c : null; + components.add(c); + if (! onTop && jc != null && ! jc.isOptimizedDrawingEnabled()) + { + // Indicates whether we reset the paint root to be the current + // component. + boolean updatePaintRoot = false; + + // Check obscured state of the child. + // Generally, we have 3 cases here: + // 1. Not obscured. No need to paint from the parent. + // 2. Partially obscured. Paint from the parent. + // 3. Completely obscured. No need to paint anything. + if (c != this) + { + if (jc.isPaintRoot()) + updatePaintRoot = true; + else + { + int count = c.getComponentCount(); + int i = 0; + for (; i < count && c.getComponent(i) != child; i++); + + if (jc.isCompletelyObscured(i, paintX, paintY, paintW, + paintH)) + return; // No need to paint anything. + else if (jc.isPartiallyObscured(i, paintX, paintY, paintW, + paintH)) + updatePaintRoot = true; + + } + } + if (updatePaintRoot) + { + // Paint from parent. + paintRoot = jc; + pIndex = pCount; + offsX = 0; + offsY = 0; + haveBuffer = false; + } + } + pCount++; + // Check if component is double buffered. + if (rm.isDoubleBufferingEnabled() && jc != null + && jc.isDoubleBuffered()) + { + haveBuffer = true; + } + + // Clip the paint region with the parent. + if (! onTop) + { + paintX = Math.max(0, paintX); + paintY = Math.max(0, paintY); + paintW = Math.min(c.getWidth(), paintW + paintX) - paintX; + paintH = Math.min(c.getHeight(), paintH + paintY) - paintY; + int dx = c.getX(); + int dy = c.getY(); + paintX += dx; + paintY += dy; + offsX += dx; + offsY += dy; + } + } + if (c != null && c.getPeer() != null && paintW > 0 && paintH > 0) + { + isRepainting = true; + paintX -= offsX; + paintY -= offsY; + + // Set the painting path so that paintChildren paints only what we + // want. + if (paintRoot != this) + { + for (int i = pIndex; i > 0; i--) + { + Component paintParent = (Component) components.get(i); + if (paintParent instanceof JComponent) + ((JComponent) paintParent).paintChild = + (Component) components.get(i - 1); + } + } + + // Actually trigger painting. + if (haveBuffer) + paintRoot.paintDoubleBuffered(paintX, paintY, paintW, paintH); + else + { + Graphics g = paintRoot.getGraphics(); + try + { + g.setClip(paintX, paintY, paintW, paintH); + paintRoot.paint(g); + } + finally + { + g.dispose(); + } + } + + // Reset the painting path. + if (paintRoot != this) + { + for (int i = pIndex; i > 0; i--) + { + Component paintParent = (Component) components.get(i); + if (paintParent instanceof JComponent) + ((JComponent) paintParent).paintChild = null; + } + } + + isRepainting = false; + } } /** - * Returns true if we must paint double buffered, that is, when this - * component or any of it's ancestors are double buffered. + * Returns true if the component is guaranteed to be painted + * on top of others. This returns false by default and is overridden by + * components like JMenuItem, JPopupMenu and JToolTip to return true for + * added efficiency. * - * @return true if we must paint double buffered, that is, when this - * component or any of it's ancestors are double buffered + * @return true if the component is guaranteed to be painted + * on top of others */ - private boolean isPaintingDoubleBuffered() + boolean onTop() { - boolean doubleBuffered = isDoubleBuffered(); - Component parent = getParent(); - while (! doubleBuffered && parent != null) - { - doubleBuffered = parent instanceof JComponent - && ((JComponent) parent).isDoubleBuffered(); - parent = parent.getParent(); - } - return doubleBuffered; + return false; + } + + /** + * This returns true when a component needs to force itself as a paint + * origin. This is used for example in JViewport to make sure that it + * gets to update its backbuffer. + * + * @return true when a component needs to force itself as a paint + * origin + */ + boolean isPaintRoot() + { + return false; } /** * Performs double buffered repainting. */ - private void paintDoubleBuffered(Rectangle r) + private void paintDoubleBuffered(int x, int y, int w, int h) { RepaintManager rm = RepaintManager.currentManager(this); @@ -2143,7 +2345,7 @@ public abstract class JComponent extends Container implements Serializable //Rectangle targetClip = SwingUtilities.convertRectangle(this, r, root); Graphics g2 = buffer.getGraphics(); clipAndTranslateGraphics(root, this, g2); - g2.clipRect(r.x, r.y, r.width, r.height); + g2.clipRect(x, y, w, h); g2 = getComponentGraphics(g2); paintingDoubleBuffered = true; try @@ -2164,7 +2366,7 @@ public abstract class JComponent extends Container implements Serializable } // Paint the buffer contents on screen. - rm.commitBuffer(this, r); + rm.commitBuffer(this, x, y, w, h); } /** @@ -2577,7 +2779,7 @@ public abstract class JComponent extends Container implements Serializable KeyEvent e, int condition, boolean pressed) - { + { if (isEnabled()) { Action act = null; @@ -2591,7 +2793,7 @@ public abstract class JComponent extends Container implements Serializable if (cmd instanceof ActionListenerProxy) act = (Action) cmd; else - act = (Action) getActionMap().get(cmd); + act = getActionMap().get(cmd); } } if (act != null && act.isEnabled()) @@ -2741,9 +2943,25 @@ public abstract class JComponent extends Container implements Serializable */ public void scrollRectToVisible(Rectangle r) { - Component p = getParent(); - if (p instanceof JComponent) - ((JComponent) p).scrollRectToVisible(r); + // Search nearest JComponent. + int xOffs = getX(); + int yOffs = getY(); + Component p; + for (p = getParent(); p != null && ! (p instanceof JComponent); + p = p.getParent()) + { + xOffs += p.getX(); + yOffs += p.getY(); + } + if (p != null) + { + r.x += xOffs; + r.y += yOffs; + JComponent jParent = (JComponent) p; + jParent.scrollRectToVisible(r); + r.x -= xOffs; + r.y -= yOffs; + } } /** @@ -2861,57 +3079,6 @@ public abstract class JComponent extends Container implements Serializable repaint(); } - /** - * Set the value of the {@link #maximumSize} property. The passed value is - * copied, the later direct changes on the argument have no effect on the - * property value. - * - * @param max The new value of the property - */ - public void setMaximumSize(Dimension max) - { - Dimension oldMaximumSize = maximumSize; - if (max != null) - maximumSize = new Dimension(max); - else - maximumSize = null; - firePropertyChange("maximumSize", oldMaximumSize, maximumSize); - } - - /** - * Set the value of the {@link #minimumSize} property. The passed value is - * copied, the later direct changes on the argument have no effect on the - * property value. - * - * @param min The new value of the property - */ - public void setMinimumSize(Dimension min) - { - Dimension oldMinimumSize = minimumSize; - if (min != null) - minimumSize = new Dimension(min); - else - minimumSize = null; - firePropertyChange("minimumSize", oldMinimumSize, minimumSize); - } - - /** - * Set the value of the {@link #preferredSize} property. The passed value is - * copied, the later direct changes on the argument have no effect on the - * property value. - * - * @param pref The new value of the property - */ - public void setPreferredSize(Dimension pref) - { - Dimension oldPreferredSize = preferredSize; - if (pref != null) - preferredSize = new Dimension(pref); - else - preferredSize = null; - firePropertyChange("preferredSize", oldPreferredSize, preferredSize); - } - /** * Set the specified component to be the next component in the * focus cycle, overriding the {@link FocusTraversalPolicy} for @@ -3571,130 +3738,6 @@ public abstract class JComponent extends Container implements Serializable jc.fireAncestorEvent(ancestor, id); } } - - /** - * Finds a suitable paint root for painting this component. This method first - * checks if this component is overlapped using - * {@link #findOverlapFreeParent(Rectangle)}. The returned paint root is then - * feeded to {@link #findOpaqueParent(Component)} to find the nearest opaque - * component for this paint root. If no paint is necessary, then we return - * null. - * - * @param c the clip of this component - * - * @return the paint root or null if no painting is necessary - */ - private Component findPaintRoot(Rectangle c) - { - Component p = findOverlapFreeParent(c); - if (p == null) - return null; - Component root = findOpaqueParent(p); - return root; - } - - /** - * Scans the containment hierarchy upwards for components that overlap the - * this component in the specified clip. This method returns - * this, if no component overlaps this component. It returns - * null if another component completely covers this component - * in the specified clip (no repaint necessary). If another component partly - * overlaps this component in the specified clip, then the parent of this - * component is returned (this is the component that must be used as repaint - * root). For efficient lookup, the method - * {@link #isOptimizedDrawingEnabled()} is used. - * - * @param clip the clip of this component - * - * @return the paint root, or null if no paint is necessary - */ - private Component findOverlapFreeParent(Rectangle clip) - { - Rectangle currentClip = clip; - Component found = this; - Container parent = this; - - while (parent != null && !(parent instanceof Window)) - { - Container newParent = parent.getParent(); - if (newParent == null || newParent instanceof Window) - break; - // If the parent is optimizedDrawingEnabled, then its children are - // tiled and cannot have an overlapping child. Go directly to next - // parent. - if ((newParent instanceof JComponent - && ((JComponent) newParent).isOptimizedDrawingEnabled())) - - { - parent = newParent; - continue; - } - - // If the parent is not optimizedDrawingEnabled, we must check if the - // parent or some neighbor overlaps the current clip. - - // This is the current clip converted to the parent's coordinate - // system. TODO: We can do this more efficiently by succesively - // cumulating the parent-child translations. - Rectangle target = SwingUtilities.convertRectangle(found, - currentClip, - newParent); - - // We have an overlap if either: - // - The new parent itself doesn't completely cover the clip - // (this can be the case with viewports). - // - If some higher-level (than the current) children of the new parent - // intersect the target rectangle. - Rectangle parentRect = SwingUtilities.getLocalBounds(newParent); - boolean haveOverlap = - ! SwingUtilities.isRectangleContainingRectangle(parentRect, target); - if (! haveOverlap) - { - Component child; - for (int i = 0; (child = newParent.getComponent(i)) != parent && !haveOverlap; i++) - { - Rectangle childRect = child.getBounds(); - haveOverlap = target.intersects(childRect); - } - } - if (haveOverlap) - { - found = newParent; - currentClip = target; - } - parent = newParent; - } - //System.err.println("overlapfree parent: " + found); - return found; - } - - /** - * Finds the nearest component to c (upwards in the containment - * hierarchy), that is opaque. If c itself is opaque, - * this returns c itself. - * - * @param c the start component for the search - * @return the nearest component to c (upwards in the containment - * hierarchy), that is opaque; If c itself is opaque, - * this returns c itself - */ - private Component findOpaqueParent(Component c) - { - Component found = c; - while (true) - { - if ((found instanceof JComponent) && ((JComponent) found).isOpaque()) - break; - else if (!(found instanceof JComponent) && !found.isLightweight()) - break; - Container p = found.getParent(); - if (p == null) - break; - else - found = p; - } - return found; - } /** * This is the method that gets called when the WHEN_IN_FOCUSED_WINDOW map diff --git a/libjava/classpath/javax/swing/JDialog.java b/libjava/classpath/javax/swing/JDialog.java index 08dada2fd81..495c9c791d7 100644 --- a/libjava/classpath/javax/swing/JDialog.java +++ b/libjava/classpath/javax/swing/JDialog.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.swing; +import java.awt.AWTEvent; import java.awt.Component; import java.awt.Container; import java.awt.Dialog; @@ -97,7 +98,7 @@ public class JDialog extends Dialog implements Accessible, WindowConstants, protected boolean rootPaneCheckingEnabled = false; /** The default action taken when closed. */ - private int close_action = HIDE_ON_CLOSE; + private int closeAction = HIDE_ON_CLOSE; /** Whether JDialogs are decorated by the Look and Feel. */ private static boolean decorated; @@ -245,6 +246,10 @@ public class JDialog extends Dialog implements Accessible, WindowConstants, */ protected void dialogInit() { + // We need to explicitly enable events here so that our processKeyEvent() + // and processWindowEvent() gets called. + enableEvents(AWTEvent.WINDOW_EVENT_MASK); + // FIXME: Do a check on GraphicsEnvironment.isHeadless() setLocale(JComponent.getDefaultLocale()); getRootPane(); // Will do set/create. @@ -507,37 +512,23 @@ public class JDialog extends Dialog implements Accessible, WindowConstants, */ protected void processWindowEvent(WindowEvent e) { - // System.out.println("PROCESS_WIN_EV-1: " + e); super.processWindowEvent(e); - // System.out.println("PROCESS_WIN_EV-2: " + e); - switch (e.getID()) + if (e.getID() == WindowEvent.WINDOW_CLOSING) { - case WindowEvent.WINDOW_CLOSING: - { - switch (getDefaultCloseOperation()) - { - case DISPOSE_ON_CLOSE: - { - dispose(); - break; - } - case HIDE_ON_CLOSE: - { - setVisible(false); - break; - } - case DO_NOTHING_ON_CLOSE: - break; - } - break; - } - case WindowEvent.WINDOW_CLOSED: - case WindowEvent.WINDOW_OPENED: - case WindowEvent.WINDOW_ICONIFIED: - case WindowEvent.WINDOW_DEICONIFIED: - case WindowEvent.WINDOW_ACTIVATED: - case WindowEvent.WINDOW_DEACTIVATED: - break; + switch (closeAction) + { + case EXIT_ON_CLOSE: + System.exit(0); + break; + case DISPOSE_ON_CLOSE: + dispose(); + break; + case HIDE_ON_CLOSE: + setVisible(false); + break; + case DO_NOTHING_ON_CLOSE: + break; + } } } @@ -554,7 +545,7 @@ public class JDialog extends Dialog implements Accessible, WindowConstants, must return the invalid code, and the behaviour defaults to DO_NOTHING_ON_CLOSE. processWindowEvent above handles this */ - close_action = operation; + closeAction = operation; } /** @@ -565,7 +556,7 @@ public class JDialog extends Dialog implements Accessible, WindowConstants, */ public int getDefaultCloseOperation() { - return close_action; + return closeAction; } /** diff --git a/libjava/classpath/javax/swing/JEditorPane.java b/libjava/classpath/javax/swing/JEditorPane.java index 4ae3c5a1c6b..38b0761f00f 100644 --- a/libjava/classpath/javax/swing/JEditorPane.java +++ b/libjava/classpath/javax/swing/JEditorPane.java @@ -40,6 +40,8 @@ package javax.swing; import java.awt.Container; import java.awt.Dimension; +import java.io.BufferedInputStream; +import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -47,6 +49,7 @@ import java.io.Reader; import java.io.StringReader; import java.net.MalformedURLException; import java.net.URL; +import java.net.URLConnection; import java.util.HashMap; import javax.accessibility.AccessibleContext; @@ -56,6 +59,8 @@ import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleText; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; +import javax.swing.plaf.TextUI; +import javax.swing.text.AbstractDocument; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultEditorKit; import javax.swing.text.Document; @@ -481,6 +486,34 @@ public class JEditorPane extends JTextComponent } } + /** + * Used to store a mapping for content-type to editor kit class. + */ + private static class EditorKitMapping + { + /** + * The classname of the editor kit. + */ + String className; + + /** + * The classloader with which the kit is to be loaded. + */ + ClassLoader classLoader; + + /** + * Creates a new EditorKitMapping object. + * + * @param cn the classname + * @param cl the classloader + */ + EditorKitMapping(String cn, ClassLoader cl) + { + className = cn; + classLoader = cl; + } + } + /** * An EditorKit used for plain text. This is the default editor kit for * JEditorPanes. @@ -505,19 +538,159 @@ public class JEditorPane extends JTextComponent } } + /** + * A special stream that can be cancelled. + */ + private class PageStream + extends FilterInputStream + { + /** + * True when the stream has been cancelled, false otherwise. + */ + private boolean cancelled; + + protected PageStream(InputStream in) + { + super(in); + cancelled = false; + } + + private void checkCancelled() + throws IOException + { + if (cancelled) + throw new IOException("Stream has been cancelled"); + } + + void cancel() + { + cancelled = true; + } + + public int read() + throws IOException + { + checkCancelled(); + return super.read(); + } + + public int read(byte[] b, int off, int len) + throws IOException + { + checkCancelled(); + return super.read(b, off, len); + } + + public long skip(long n) + throws IOException + { + checkCancelled(); + return super.skip(n); + } + + public int available() + throws IOException + { + checkCancelled(); + return super.available(); + } + + public void reset() + throws IOException + { + checkCancelled(); + super.reset(); + } + } + + /** + * The thread that loads documents asynchronously. + */ + private class PageLoader + implements Runnable + { + private Document doc; + private PageStream in; + private URL old; + URL page; + PageLoader(Document doc, InputStream in, URL old, URL page) + { + this.doc = doc; + this.in = new PageStream(in); + this.old = old; + this.page = page; + } + + public void run() + { + try + { + read(in, doc); + } + catch (IOException ex) + { + UIManager.getLookAndFeel().provideErrorFeedback(JEditorPane.this); + } + finally + { + if (SwingUtilities.isEventDispatchThread()) + firePropertyChange("page", old, page); + else + { + SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + firePropertyChange("page", old, page); + } + }); + } + } + } + + void cancel() + { + in.cancel(); + } + } + private static final long serialVersionUID = 3140472492599046285L; - private URL page; private EditorKit editorKit; boolean focus_root; + /** + * Maps content-types to editor kit instances. + */ + static HashMap editorKits; + // A mapping between content types and registered EditorKit types static HashMap registerMap; - + + static + { + registerMap = new HashMap(); + editorKits = new HashMap(); + registerEditorKitForContentType("application/rtf", + "javax.swing.text.rtf.RTFEditorKit"); + registerEditorKitForContentType("text/plain", + "javax.swing.JEditorPane$PlainEditorKit"); + registerEditorKitForContentType("text/html", + "javax.swing.text.html.HTMLEditorKit"); + registerEditorKitForContentType("text/rtf", + "javax.swing.text.rtf.RTFEditorKit"); + + } + // A mapping between content types and used EditorKits HashMap editorMap; + /** + * The currently loading stream, if any. + */ + private PageLoader loader; + public JEditorPane() { init(); @@ -550,15 +723,6 @@ public class JEditorPane extends JTextComponent void init() { editorMap = new HashMap(); - registerMap = new HashMap(); - registerEditorKitForContentType("application/rtf", - "javax.swing.text.rtf.RTFEditorKit"); - registerEditorKitForContentType("text/plain", - "javax.swing.JEditorPane$PlainEditorKit"); - registerEditorKitForContentType("text/html", - "javax.swing.text.html.HTMLEditorKit"); - registerEditorKitForContentType("text/rtf", - "javax.swing.text.rtf.RTFEditorKit"); } protected EditorKit createDefaultEditorKit() @@ -578,20 +742,28 @@ public class JEditorPane extends JTextComponent */ public static EditorKit createEditorKitForContentType(String type) { - // TODO: Have to handle the case where a ClassLoader was specified - // when the EditorKit was registered - EditorKit e = null; - String className = (String) registerMap.get(type); - if (className != null) + // Try cached instance. + EditorKit e = (EditorKit) editorKits.get(type); + if (e == null) { - try - { - e = (EditorKit) Class.forName(className).newInstance(); - } - catch (Exception e2) - { - // TODO: Not sure what to do here. - } + EditorKitMapping m = (EditorKitMapping) registerMap.get(type); + if (m != null) + { + String className = m.className; + ClassLoader loader = m.classLoader; + try + { + e = (EditorKit) loader.loadClass(className).newInstance(); + } + catch (Exception e2) + { + // The reference implementation returns null when class is not + // loadable or instantiatable. + } + } + // Cache this for later retrieval. + if (e != null) + editorKits.put(type, e); } return e; } @@ -652,7 +824,9 @@ public class JEditorPane extends JTextComponent */ public static String getEditorKitClassNameForContentType(String type) { - return (String) registerMap.get(type); + EditorKitMapping m = (EditorKitMapping) registerMap.get(type); + String kitName = m != null ? m.className : null; + return kitName; } /** @@ -675,10 +849,14 @@ public class JEditorPane extends JTextComponent EditorKit e = (EditorKit) editorMap.get(type); // Then check to see if we can create one. if (e == null) - e = createEditorKitForContentType(type); + { + e = createEditorKitForContentType(type); + if (e != null) + setEditorKitForContentType(type, e); + } // Otherwise default to PlainEditorKit. if (e == null) - e = new PlainEditorKit(); + e = createDefaultEditorKit(); return e; } @@ -695,10 +873,28 @@ public class JEditorPane extends JTextComponent public Dimension getPreferredSize() { Dimension pref = super.getPreferredSize(); - if (getScrollableTracksViewportWidth()) - pref.width = getUI().getMinimumSize(this).width; - if (getScrollableTracksViewportHeight()) - pref.height = getUI().getMinimumSize(this).height; + Container parent = getParent(); + if (parent instanceof JViewport) + { + JViewport vp = (JViewport) getParent(); + TextUI ui = getUI(); + Dimension min = null; + if (! getScrollableTracksViewportWidth()) + { + min = ui.getMinimumSize(this); + int vpWidth = vp.getWidth(); + if (vpWidth != 0 && vpWidth < min.width) + pref.width = min.width; + } + if (! getScrollableTracksViewportHeight()) + { + if (min == null) + min = ui.getMinimumSize(this); + int vpHeight = vp.getHeight(); + if (vpHeight != 0 && vpHeight < min.height) + pref.height = min.height; + } + } return pref; } @@ -716,8 +912,11 @@ public class JEditorPane extends JTextComponent // Tests show that this returns true when the parent is a JViewport // and has a height > minimum UI height. Container parent = getParent(); + int height = parent.getHeight(); + TextUI ui = getUI(); return parent instanceof JViewport - && parent.getHeight() > getUI().getMinimumSize(this).height; + && height >= ui.getMinimumSize(this).height + && height <= ui.getMaximumSize(this).height; } /** @@ -740,13 +939,19 @@ public class JEditorPane extends JTextComponent public URL getPage() { - return page; + return loader != null ? loader.page : null; } protected InputStream getStream(URL page) throws IOException { - return page.openStream(); + URLConnection conn = page.openConnection(); + // Try to detect the content type of the stream data. + String type = conn.getContentType(); + if (type != null) + setContentType(type); + InputStream stream = conn.getInputStream(); + return new BufferedInputStream(stream); } public String getText() @@ -777,10 +982,12 @@ public class JEditorPane extends JTextComponent EditorKit kit = getEditorKit(); if (kit instanceof HTMLEditorKit && desc instanceof HTMLDocument) { - Document doc = (Document) desc; + HTMLDocument doc = (HTMLDocument) desc; + setDocument(doc); try { - kit.read(in, doc, 0); + InputStreamReader reader = new InputStreamReader(in); + kit.read(reader, doc, 0); } catch (BadLocationException ex) { @@ -805,7 +1012,8 @@ public class JEditorPane extends JTextComponent public static void registerEditorKitForContentType(String type, String classname) { - registerMap.put(type, classname); + registerEditorKitForContentType(type, classname, + Thread.currentThread().getContextClassLoader()); } /** @@ -815,7 +1023,7 @@ public class JEditorPane extends JTextComponent String classname, ClassLoader loader) { - // TODO: Implement this properly. + registerMap.put(type, new EditorKitMapping(classname, loader)); } /** @@ -839,6 +1047,13 @@ public class JEditorPane extends JTextComponent public final void setContentType(String type) { + // Strip off content type parameters. + int paramIndex = type.indexOf(';'); + if (paramIndex > -1) + { + // TODO: Handle character encoding. + type = type.substring(0, paramIndex).trim(); + } if (editorKit != null && editorKit.getContentType().equals(type)) return; @@ -899,14 +1114,45 @@ public class JEditorPane extends JTextComponent if (page == null) throw new IOException("invalid url"); - try + URL old = getPage(); + // Only reload if the URL doesn't point to the same file. + // This is not the same as equals because there might be different + // URLs on the same file with different anchors. + if (old == null || ! old.sameFile(page)) { - this.page = page; - getEditorKit().read(page.openStream(), getDocument(), 0); - } - catch (BadLocationException e) - { - // Ignored. '0' is always a valid offset. + InputStream in = getStream(page); + if (editorKit != null) + { + Document doc = editorKit.createDefaultDocument(); + doc.putProperty(Document.StreamDescriptionProperty, page); + + if (loader != null) + loader.cancel(); + loader = new PageLoader(doc, in, old, page); + + int prio = -1; + if (doc instanceof AbstractDocument) + { + AbstractDocument aDoc = (AbstractDocument) doc; + prio = aDoc.getAsynchronousLoadPriority(); + } + if (prio >= 0) + { + // Load asynchronously. + setDocument(doc); + Thread loadThread = new Thread(loader, + "JEditorPane.PageLoader"); + loadThread.setDaemon(true); + loadThread.setPriority(prio); + loadThread.start(); + } + else + { + // Load synchronously. + loader.run(); + setDocument(doc); + } + } } } diff --git a/libjava/classpath/javax/swing/JFrame.java b/libjava/classpath/javax/swing/JFrame.java index 1371525ddf2..0ae23f101fa 100644 --- a/libjava/classpath/javax/swing/JFrame.java +++ b/libjava/classpath/javax/swing/JFrame.java @@ -157,6 +157,10 @@ public class JFrame extends Frame protected void frameInit() { + // We need to explicitly enable events here so that our processKeyEvent() + // and processWindowEvent() gets called. + enableEvents(AWTEvent.WINDOW_EVENT_MASK | AWTEvent.KEY_EVENT_MASK); + super.setLayout(new BorderLayout()); setBackground(UIManager.getDefaults().getColor("control")); enableEvents(AWTEvent.WINDOW_EVENT_MASK); @@ -351,39 +355,22 @@ public class JFrame extends Frame protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); - switch (e.getID()) + if (e.getID() == WindowEvent.WINDOW_CLOSING) { - case WindowEvent.WINDOW_CLOSING: - { - switch (closeAction) - { - case EXIT_ON_CLOSE: - { - System.exit(0); - break; - } - case DISPOSE_ON_CLOSE: - { - dispose(); - break; - } - case HIDE_ON_CLOSE: - { - setVisible(false); - break; - } - case DO_NOTHING_ON_CLOSE: - break; - } - break; - } - case WindowEvent.WINDOW_CLOSED: - case WindowEvent.WINDOW_OPENED: - case WindowEvent.WINDOW_ICONIFIED: - case WindowEvent.WINDOW_DEICONIFIED: - case WindowEvent.WINDOW_ACTIVATED: - case WindowEvent.WINDOW_DEACTIVATED: - break; + switch (closeAction) + { + case EXIT_ON_CLOSE: + System.exit(0); + break; + case DISPOSE_ON_CLOSE: + dispose(); + break; + case HIDE_ON_CLOSE: + setVisible(false); + break; + case DO_NOTHING_ON_CLOSE: + break; + } } } diff --git a/libjava/classpath/javax/swing/JLabel.java b/libjava/classpath/javax/swing/JLabel.java index fcf0fd7cb13..721287b21df 100644 --- a/libjava/classpath/javax/swing/JLabel.java +++ b/libjava/classpath/javax/swing/JLabel.java @@ -38,13 +38,14 @@ exception statement from your version. */ package javax.swing; -import gnu.classpath.NotImplementedException; - import java.awt.Component; import java.awt.Font; +import java.awt.FontMetrics; import java.awt.Image; +import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; +import java.awt.Shape; import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; @@ -54,8 +55,12 @@ import javax.accessibility.AccessibleExtendedComponent; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleText; import javax.swing.plaf.LabelUI; +import javax.swing.plaf.basic.BasicHTML; import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.Position; import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.View; /** * A component that displays a static text message and/or an icon. @@ -303,10 +308,52 @@ public class JLabel extends JComponent implements Accessible, SwingConstants * @return the bounding box of the character at the specified index */ public Rectangle getCharacterBounds(int index) - throws NotImplementedException { - // FIXME: Implement this correctly. - return new Rectangle(); + Rectangle bounds = null; + View view = (View) getClientProperty(BasicHTML.propertyKey); + if (view != null) + { + Rectangle textR = getTextRectangle(); + try + { + Shape s = view.modelToView(index, textR, Position.Bias.Forward); + bounds = s.getBounds(); + } + catch (BadLocationException ex) + { + // Can't return something reasonable in this case. + } + } + return bounds; + } + + /** + * Returns the rectangle inside the JLabel, in which the actual text is + * rendered. This method has been adopted from the Mauve testcase + * gnu.testlet.javax.swing.JLabel.AccessibleJLabel.getCharacterBounds. + * + * @return the rectangle inside the JLabel, in which the actual text is + * rendered + */ + private Rectangle getTextRectangle() + { + JLabel l = JLabel.this; + Rectangle textR = new Rectangle(); + Rectangle iconR = new Rectangle(); + Insets i = l.getInsets(); + int w = l.getWidth(); + int h = l.getHeight(); + Rectangle viewR = new Rectangle(i.left, i.top, w - i.left - i.right, + h - i.top - i.bottom); + FontMetrics fm = l.getFontMetrics(l.getFont()); + SwingUtilities.layoutCompoundLabel(l, fm, l.getText(), l.getIcon(), + l.getVerticalAlignment(), + l.getHorizontalAlignment(), + l.getVerticalTextPosition(), + l.getHorizontalTextPosition(), + viewR, iconR, textR, + l.getIconTextGap()); + return textR; } /** @@ -319,10 +366,15 @@ public class JLabel extends JComponent implements Accessible, SwingConstants * point */ public int getIndexAtPoint(Point point) - throws NotImplementedException { - // FIXME: Implement this correctly. - return 0; + int index = -1; + View view = (View) getClientProperty(BasicHTML.propertyKey); + if (view != null) + { + Rectangle r = getTextRectangle(); + index = view.viewToModel(point.x, point.y, r, new Position.Bias[0]); + } + return index; } } @@ -379,11 +431,11 @@ public class JLabel extends JComponent implements Accessible, SwingConstants * Creates a new vertically and horizontally centered * JLabel object with no text and the given icon. * - * @param image The icon to use with the label. + * @param image The icon to use with the label, null permitted. */ public JLabel(Icon image) { - this("", image, CENTER); + this(null, image, CENTER); } /** @@ -391,19 +443,21 @@ public class JLabel extends JComponent implements Accessible, SwingConstants * given icon and horizontal alignment. By default, the text is TRAILING * the image. * - * @param image The icon to use with the label. - * @param horizontalAlignment The horizontal alignment of the label. + * @param image The icon to use with the label, null premitted. + * @param horizontalAlignment The horizontal alignment of the label, must be + * either CENTER, LEFT, RIGHT, + * LEADING or TRAILING. */ public JLabel(Icon image, int horizontalAlignment) { - this("", image, horizontalAlignment); + this(null, image, horizontalAlignment); } /** * Creates a new horizontally leading and vertically centered JLabel * object with no icon and the given text. * - * @param text The text to use with the label. + * @param text The text to use with the label, null permitted. */ public JLabel(String text) { @@ -414,8 +468,10 @@ public class JLabel extends JComponent implements Accessible, SwingConstants * Creates a new vertically centered JLabel object with no icon and the * given text and horizontal alignment. * - * @param text The text to use with the label. - * @param horizontalAlignment The horizontal alignment of the label. + * @param text The text to use with the label, null permitted. + * @param horizontalAlignment The horizontal alignment of the label, must be + * either CENTER, LEFT, RIGHT, + * LEADING or TRAILING. */ public JLabel(String text, int horizontalAlignment) { @@ -426,12 +482,21 @@ public class JLabel extends JComponent implements Accessible, SwingConstants * Creates a new vertically centered JLabel object with the given text, * icon, and horizontal alignment. * - * @param text The text to use with the label. - * @param icon The icon to use with the label. - * @param horizontalAlignment The horizontal alignment of the label. + * @param text The text to use with the label, null permitted. + * @param icon The icon to use with the label, null premitted. + * @param horizontalAlignment The horizontal alignment of the label, must be + * either CENTER, LEFT, RIGHT, + * LEADING or TRAILING. */ public JLabel(String text, Icon icon, int horizontalAlignment) { + if (horizontalAlignment != SwingConstants.LEFT + && horizontalAlignment != SwingConstants.RIGHT + && horizontalAlignment != SwingConstants.CENTER + && horizontalAlignment != SwingConstants.LEADING + && horizontalAlignment != SwingConstants.TRAILING) + throw new IllegalArgumentException(); + this.text = text; this.icon = icon; this.horizontalAlignment = horizontalAlignment; diff --git a/libjava/classpath/javax/swing/JLayeredPane.java b/libjava/classpath/javax/swing/JLayeredPane.java index ca913e97fed..d981788ec7d 100644 --- a/libjava/classpath/javax/swing/JLayeredPane.java +++ b/libjava/classpath/javax/swing/JLayeredPane.java @@ -406,7 +406,7 @@ public class JLayeredPane extends JComponent implements Accessible * Return a hashtable mapping child components of this container to * Integer objects representing the component's layer assignments. */ - protected Hashtable getComponentToLayer() + protected Hashtable getComponentToLayer() { return componentToLayer; } diff --git a/libjava/classpath/javax/swing/JList.java b/libjava/classpath/javax/swing/JList.java index 6a98770eeda..ff1b239217a 100644 --- a/libjava/classpath/javax/swing/JList.java +++ b/libjava/classpath/javax/swing/JList.java @@ -1041,7 +1041,7 @@ public class JList extends JComponent implements Accessible, Scrollable * * @param items the initial list items. */ - public JList(Vector items) + public JList(Vector items) { init(createListModel(items)); } @@ -1643,9 +1643,20 @@ public class JList extends JComponent implements Accessible, Scrollable * @param listData The object array to build a new list model on * @see #setModel */ - public void setListData(Vector listData) + public void setListData(final Vector listData) { - setModel(createListModel(listData)); + setModel(new AbstractListModel() + { + public int getSize() + { + return listData.size(); + } + + public Object getElementAt(int i) + { + return listData.elementAt(i); + } + }); } /** @@ -1935,72 +1946,74 @@ public class JList extends JComponent implements Accessible, Scrollable public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) { - ListUI lui = this.getUI(); + int unit = -1; if (orientation == SwingConstants.VERTICAL) { - if (direction > 0) + int row = getFirstVisibleIndex(); + if (row == -1) + unit = 0; + else if (direction > 0) + { + // Scrolling down. + Rectangle bounds = getCellBounds(row, row); + if (bounds != null) + unit = bounds.height - (visibleRect.y - bounds.y); + else + unit = 0; + } + else { - // Scrolling down - Point bottomLeft = new Point(visibleRect.x, - visibleRect.y + visibleRect.height); - int curIdx = lui.locationToIndex(this, bottomLeft); - Rectangle curBounds = lui.getCellBounds(this, curIdx, curIdx); - if (curBounds.y + curBounds.height == bottomLeft.y) + // Scrolling up. + Rectangle bounds = getCellBounds(row, row); + // First row. + if (row == 0 && bounds.y == visibleRect.y) + unit = 0; // No need to scroll. + else if (bounds.y == visibleRect.y) { - // we are at the exact bottom of the current cell, so we - // are being asked to scroll to the end of the next one - if (curIdx + 1 < model.getSize()) - { - // there *is* a next item in the list - Rectangle nxtBounds = lui.getCellBounds(this, curIdx + 1, curIdx + 1); - return nxtBounds.height; - } + // Scroll to previous row. + Point loc = bounds.getLocation(); + loc.y--; + int prev = locationToIndex(loc); + Rectangle prevR = getCellBounds(prev, prev); + if (prevR == null || prevR.y >= bounds.y) + unit = 0; // For multicolumn lists. else - { - // no next item, no advance possible - return 0; - } + unit = prevR.height; } else - { - // we are part way through an existing cell, so we are being - // asked to scroll to the bottom of it - return (curBounds.y + curBounds.height) - bottomLeft.y; - } + unit = visibleRect.y - bounds.y; } - else + } + else if (orientation == SwingConstants.HORIZONTAL && getLayoutOrientation() != VERTICAL) + { + // Horizontal scrolling. + int i = locationToIndex(visibleRect.getLocation()); + if (i != -1) { - // scrolling up - Point topLeft = new Point(visibleRect.x, visibleRect.y); - int curIdx = lui.locationToIndex(this, topLeft); - Rectangle curBounds = lui.getCellBounds(this, curIdx, curIdx); - if (curBounds.y == topLeft.y) + Rectangle b = getCellBounds(i, i); + if (b != null) { - // we are at the exact top of the current cell, so we - // are being asked to scroll to the top of the previous one - if (curIdx > 0) + if (b.x != visibleRect.x) { - // there *is* a previous item in the list - Rectangle nxtBounds = lui.getCellBounds(this, curIdx - 1, curIdx - 1); - return -nxtBounds.height; + if (direction < 0) + unit = Math.abs(b.x - visibleRect.x); + else + unit = b.width + b.x - visibleRect.x; } else - { - // no previous item, no advance possible - return 0; - } + unit = b.width; } - else - { - // we are part way through an existing cell, so we are being - // asked to scroll to the top of it - return curBounds.y - topLeft.y; - } } } - // FIXME: handle horizontal scrolling (also wrapping?) - return 1; + if (unit == -1) + { + // This fallback seems to be used by the RI for the degenerate cases + // not covered above. + Font f = getFont(); + unit = f != null ? f.getSize() : 1; + } + return unit; } /** @@ -2029,10 +2042,120 @@ public class JList extends JComponent implements Accessible, Scrollable public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) { - if (orientation == VERTICAL) - return visibleRect.height * direction; - else - return visibleRect.width * direction; + int block = -1; + if (orientation == SwingConstants.VERTICAL) + { + // Default block scroll. Special cases are handled below for + // better usability. + block = visibleRect.height; + if (direction > 0) + { + // Scroll down. + // Scroll so that after scrolling the last line aligns with + // the lower boundary of the visible area. + Point p = new Point(visibleRect.x, + visibleRect.y + visibleRect.height - 1); + int last = locationToIndex(p); + if (last != -1) + { + Rectangle lastR = getCellBounds(last, last); + if (lastR != null) + { + block = lastR.y - visibleRect.y; + if (block == 0&& last < getModel().getSize() - 1) + block = lastR.height; + } + } + } + else + { + // Scroll up. + // Scroll so that after scrolling the first line aligns with + // the upper boundary of the visible area. + Point p = new Point(visibleRect.x, + visibleRect.y - visibleRect.height); + int newFirst = locationToIndex(p); + if (newFirst != -1) + { + int first = getFirstVisibleIndex(); + if (first == -1) + first = locationToIndex(visibleRect.getLocation()); + Rectangle newFirstR = getCellBounds(newFirst, newFirst); + Rectangle firstR = getCellBounds(first, first); + if (newFirstR != null && firstR != null) + { + // Search first item that would left the current first + // item visible when scrolled to. + while (newFirstR.y + visibleRect.height + < firstR.y + firstR.height + && newFirstR.y < firstR.y) + { + newFirst++; + newFirstR = getCellBounds(newFirst, newFirst); + } + block = visibleRect.y - newFirstR.y; + if (block <= 0 && newFirstR.y > 0) + { + newFirst--; + newFirstR = getCellBounds(newFirst, newFirst); + if (newFirstR != null) + block = visibleRect.y - newFirstR.y; + } + } + } + } + } + else if (orientation == SwingConstants.HORIZONTAL + && getLayoutOrientation() != VERTICAL) + { + // Default block increment. Special cases are handled below for + // better usability. + block = visibleRect.width; + if (direction > 0) + { + // Scroll right. + Point p = new Point(visibleRect.x + visibleRect.width + 1, + visibleRect.y); + int last = locationToIndex(p); + if (last != -1) + { + Rectangle lastR = getCellBounds(last, last); + if (lastR != null) + { + block = lastR.x - visibleRect.x; + if (block < 0) + block += lastR.width; + else if (block == 0 && last < getModel().getSize() - 1) + block = lastR.width; + } + } + } + else + { + // Scroll left. + Point p = new Point(visibleRect.x - visibleRect.width, + visibleRect.y); + int first = locationToIndex(p); + if (first != -1) + { + Rectangle firstR = getCellBounds(first, first); + if (firstR != null) + { + if (firstR.x < visibleRect.x - visibleRect.width) + { + if (firstR.x + firstR.width > visibleRect.x) + block = visibleRect.x - firstR.x; + else + block = visibleRect.x - firstR.x - firstR.width; + } + else + block = visibleRect.x - firstR.x; + } + } + } + } + + return block; } /** diff --git a/libjava/classpath/javax/swing/JMenu.java b/libjava/classpath/javax/swing/JMenu.java index 0840509f906..7e627f1181d 100644 --- a/libjava/classpath/javax/swing/JMenu.java +++ b/libjava/classpath/javax/swing/JMenu.java @@ -39,8 +39,14 @@ exception statement from your version. */ package javax.swing; import java.awt.Component; +import java.awt.Dimension; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Insets; import java.awt.Point; -import java.awt.PopupMenu; +import java.awt.Rectangle; +import java.awt.Toolkit; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -54,6 +60,8 @@ import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleSelection; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.event.MenuEvent; import javax.swing.event.MenuListener; import javax.swing.plaf.MenuItemUI; @@ -72,6 +80,36 @@ import javax.swing.plaf.MenuItemUI; */ public class JMenu extends JMenuItem implements Accessible, MenuElement { + /** + * Receives notifications when the JMenu's ButtonModel is changed and + * fires menuSelected or menuDeselected events when appropriate. + */ + private class MenuChangeListener + implements ChangeListener + { + /** + * Indicates the last selected state. + */ + private boolean selected; + + /** + * Receives notification when the JMenu's ButtonModel changes. + */ + public void stateChanged(ChangeEvent ev) + { + ButtonModel m = (ButtonModel) ev.getSource(); + boolean s = m.isSelected(); + if (s != selected) + { + if (s) + fireMenuSelected(); + else + fireMenuDeselected(); + selected = s; + } + } + } + private static final long serialVersionUID = 4227225638931828014L; /** A Popup menu associated with this menu, which pops up when menu is selected */ @@ -88,10 +126,19 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement /* PopupListener */ protected WinListener popupListener; - /** Location at which popup menu associated with this menu will be - displayed */ + /** + * Location at which popup menu associated with this menu will be + * displayed + */ private Point menuLocation; + /** + * The ChangeListener for the ButtonModel. + * + * @see MenuChangeListener + */ + private ChangeListener menuChangeListener; + /** * Creates a new JMenu object. */ @@ -99,7 +146,6 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement { super(); setOpaque(false); - setDelay(200); } /** @@ -113,7 +159,6 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement popupMenu = new JPopupMenu(); popupMenu.setInvoker(this); setOpaque(false); - setDelay(200); } /** @@ -129,7 +174,6 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement popupMenu = new JPopupMenu(); popupMenu.setInvoker(this); setOpaque(false); - setDelay(200); } /** @@ -143,7 +187,6 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement { // FIXME: tearoff not implemented this(text); - setDelay(200); } /** @@ -193,7 +236,7 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement */ public JMenuItem add(String text) { - return getPopupMenu().add(text); + return add(new JMenuItem(text)); } /** @@ -205,7 +248,10 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement */ public JMenuItem add(Action action) { - return getPopupMenu().add(action); + JMenuItem i = createActionComponent(action); + i.setAction(action); + add(i); + return i; } /** @@ -328,7 +374,18 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement */ public void setModel(ButtonModel model) { + ButtonModel oldModel = getModel(); + if (oldModel != null && menuChangeListener != null) + oldModel.removeChangeListener(menuChangeListener); + super.setModel(model); + + if (model != null) + { + if (menuChangeListener == null) + menuChangeListener = new MenuChangeListener(); + model.addChangeListener(menuChangeListener); + } } /** @@ -341,63 +398,6 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement return super.isSelected(); } - /** - * A helper method to handle setSelected calls from both mouse events and - * direct calls to setSelected. Direct calls shouldn't expand the popup - * menu and should select the JMenu even if it is disabled. Mouse events - * only select the JMenu if it is enabled and should expand the popup menu - * associated with this JMenu. - * @param selected whether or not the JMenu was selected - * @param menuEnabled whether or not selecting the menu is "enabled". This - * is always true for direct calls, and is set to isEnabled() for mouse - * based calls. - * @param showMenu whether or not to show the popup menu - */ - private void setSelectedHelper(boolean selected, boolean menuEnabled, boolean showMenu) - { - // If menu is selected and enabled, activates the menu and - // displays associated popup. - if (selected && menuEnabled) - { - super.setArmed(true); - super.setSelected(true); - - // FIXME: The popup menu should be shown on the screen after certain - // number of seconds pass. The 'delay' property of this menu indicates - // this amount of seconds. 'delay' property is 0 by default. - if (isShowing()) - { - fireMenuSelected(); - - int x = 0; - int y = 0; - if (showMenu) - if (menuLocation == null) - { - // Calculate correct position of the popup. Note that location of the popup - // passed to show() should be relative to the popup's invoker - if (isTopLevelMenu()) - y = this.getHeight(); - else - x = this.getWidth(); - getPopupMenu().show(this, x, y); - } - else - { - getPopupMenu().show(this, menuLocation.x, menuLocation.y); - } - } - } - - else - { - super.setSelected(false); - super.setArmed(false); - fireMenuDeselected(); - getPopupMenu().setVisible(false); - } - } - /** * Changes this menu selected state if selected is true and false otherwise * This method fires menuEvents to menu's registered listeners. @@ -406,7 +406,9 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement */ public void setSelected(boolean selected) { - setSelectedHelper(selected, true, false); + ButtonModel m = getModel(); + if (selected != m.isSelected()) + m.setSelected(selected); } /** @@ -427,23 +429,126 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement */ public void setPopupMenuVisible(boolean popup) { - if (getModel().isEnabled()) - getPopupMenu().setVisible(popup); + if (popup != isPopupMenuVisible() && (isEnabled() || ! popup)) + { + if (popup && isShowing()) + { + // Set location as determined by getPopupLocation(). + Point loc = menuLocation == null ? getPopupMenuOrigin() + : menuLocation; + getPopupMenu().show(this, loc.x, loc.y); + } + else + getPopupMenu().setVisible(false); + } } /** - * Returns origin point of the popup menu + * Returns origin point of the popup menu. This takes the screen bounds + * into account and places the popup where it fits best. * - * @return Point containing + * @return the origin of the popup menu */ protected Point getPopupMenuOrigin() { - // if menu in the menu bar + // The menu's screen location and size. + Point screenLoc = getLocationOnScreen(); + Dimension size = getSize(); + + // Determine the popup's size. + JPopupMenu popup = getPopupMenu(); + Dimension popupSize = popup.getSize(); + if (popupSize.width == 0 || popupSize.height == 0) + popupSize = popup.getPreferredSize(); + + // Determine screen bounds. + Toolkit tk = Toolkit.getDefaultToolkit(); + Rectangle screenBounds = new Rectangle(tk.getScreenSize()); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice gd = ge.getDefaultScreenDevice(); + GraphicsConfiguration gc = gd.getDefaultConfiguration(); + Insets screenInsets = tk.getScreenInsets(gc); + screenBounds.x -= screenInsets.left; + screenBounds.width -= screenInsets.left + screenInsets.right; + screenBounds.y -= screenInsets.top; + screenBounds.height -= screenInsets.top + screenInsets.bottom; + screenLoc.x -= screenInsets.left; + screenLoc.y -= screenInsets.top; + + Point point = new Point(); if (isTopLevelMenu()) - return new Point(0, this.getHeight()); - - // if submenu - return new Point(this.getWidth(), 0); + { + // If menu in the menu bar. + int xOffset = UIManager.getInt("Menu.menuPopupOffsetX"); + int yOffset = UIManager.getInt("Menu.menuPopupOffsetY"); + // Determine X location. + if (getComponentOrientation().isLeftToRight()) + { + // Prefer popup to the right. + point.x = xOffset; + // Check if it fits, otherwise place popup wherever it fits. + if (screenLoc.x + point.x + popupSize.width + > screenBounds.width + screenBounds.width + && screenBounds.width - size.width + < 2 * (screenLoc.x - screenBounds.x)) + // Popup to the right if there's not enough room. + point.x = size.width - xOffset - popupSize.width; + } + else + { + // Prefer popup to the left. + point.x = size.width - xOffset - popupSize.width; + if (screenLoc.x + point.x < screenBounds.x + && screenBounds.width - size.width + > 2 * (screenLoc.x - screenBounds.x)) + // Popup to the left if there's not enough room. + point.x = xOffset; + } + // Determine Y location. Prefer popping down. + point.y = size.height + yOffset; + if (screenLoc.y + point.y + popupSize.height >= screenBounds.height + && screenBounds.height - size.height + < 2 * (screenLoc.y - screenBounds.y)) + // Position above if there's not enough room below. + point.y = - yOffset - popupSize.height; + } + else + { + // If submenu. + int xOffset = UIManager.getInt("Menu.submenuPopupOffsetX"); + int yOffset = UIManager.getInt("Menu.submenuPopupOffsetY"); + // Determine X location. + if (getComponentOrientation().isLeftToRight()) + { + // Prefer popup to the right. + point.x = size.width + xOffset; + if (screenLoc.x + point.x + popupSize.width + >= screenBounds.x + screenBounds.width + && screenBounds.width - size.width + < 2 * (screenLoc.x - screenBounds.x)) + // Position to the left if there's not enough room on the right. + point.x = - xOffset - popupSize.width; + } + else + { + // Prefer popup on the left side. + point.x = - xOffset - popupSize.width; + if (screenLoc.x + point.x < screenBounds.x + && screenBounds.width - size.width + > 2 * (screenLoc.x - screenBounds.x)) + // Popup to the right if there's not enough room. + point.x = size.width + xOffset; + } + // Determine Y location. Prefer popping down. + point.y = yOffset; + if (screenLoc.y + point.y + popupSize.height + >= screenBounds.y + screenBounds.height + && screenBounds.height - size.height + < 2 * (screenLoc.y - screenBounds.y)) + // Pop up if there's not enough room below. + point.y = size.height - yOffset - popupSize.height; + } + return point; } /** @@ -483,6 +588,8 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement public void setMenuLocation(int x, int y) { menuLocation = new Point(x, y); + if (popupMenu != null) + popupMenu.setLocation(x, y); } /** @@ -600,7 +707,7 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement if (getPopupMenu() == null || getMenuComponentCount() == 0) return null; - return (Component) popupMenu.getComponentAtIndex(index); + return popupMenu.getComponentAtIndex(index); } /** @@ -748,7 +855,7 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement { // if this menu selection is true, then activate this menu and // display popup associated with this menu - setSelectedHelper(changed, isEnabled(), true); + setSelected(changed); } /** diff --git a/libjava/classpath/javax/swing/JMenuBar.java b/libjava/classpath/javax/swing/JMenuBar.java index 35f129377f1..73b409e42db 100644 --- a/libjava/classpath/javax/swing/JMenuBar.java +++ b/libjava/classpath/javax/swing/JMenuBar.java @@ -298,19 +298,25 @@ public class JMenuBar extends JComponent implements Accessible, MenuElement } /** - * DOCUMENT ME! + * This method is not implemented and will throw an {@link Error} if called. * - * @return DOCUMENT ME! + * @return This method never returns anything, it throws an exception. */ public JMenu getHelpMenu() { - return null; + // the following error matches the behaviour of the reference + // implementation... + throw new Error("getHelpMenu() is not implemented"); } /** - * Returns margin betweeen menu bar's border and its menues + * Returns the margin between the menu bar's border and its menus. If the + * margin is null, this method returns + * new Insets(0, 0, 0, 0). * - * @return margin between menu bar's border and its menues + * @return The margin (never null). + * + * @see #setMargin(Insets) */ public Insets getMargin() { @@ -617,21 +623,20 @@ public class JMenuBar extends JComponent implements Accessible, MenuElement } /** - * Sets the menu bar's "margin" bound property, which represents - * distance between the menubar's border and its menus. - * icon. When marging property is modified, PropertyChangeEvent will - * be fired to menuBar's PropertyChangeListener's. - * - * @param m distance between the menubar's border and its menus. + * Sets the margin between the menu bar's border and its menus (this is a + * bound property with the name 'margin'). * + * @param m the margin (null permitted). + * + * @see #getMargin() */ public void setMargin(Insets m) { if (m != margin) { - Insets oldMargin = margin; - margin = m; - firePropertyChange("margin", oldMargin, margin); + Insets oldMargin = margin; + margin = m; + firePropertyChange("margin", oldMargin, margin); } } diff --git a/libjava/classpath/javax/swing/JMenuItem.java b/libjava/classpath/javax/swing/JMenuItem.java index f7f93bf00d7..ffdccdcef1a 100644 --- a/libjava/classpath/javax/swing/JMenuItem.java +++ b/libjava/classpath/javax/swing/JMenuItem.java @@ -39,7 +39,6 @@ exception statement from your version. */ package javax.swing; import java.awt.Component; -import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; @@ -76,13 +75,17 @@ public class JMenuItem extends AbstractButton implements Accessible, /** Combination of keyboard keys that can be used to activate this menu item */ private KeyStroke accelerator; + /** + * Indicates if we are currently dragging the mouse. + */ + private boolean isDragging; + /** * Creates a new JMenuItem object. */ public JMenuItem() { - super(); - init(null, null); + this(null, null); } /** @@ -94,8 +97,7 @@ public class JMenuItem extends AbstractButton implements Accessible, { // FIXME: The requestedFocusEnabled property should // be set to false, when only icon is set for menu item. - super(); - init(null, icon); + this(null, icon); } /** @@ -117,6 +119,7 @@ public class JMenuItem extends AbstractButton implements Accessible, { super(); super.setAction(action); + setModel(new DefaultButtonModel()); init(null, null); if (action != null) { @@ -148,6 +151,7 @@ public class JMenuItem extends AbstractButton implements Accessible, public JMenuItem(String text, Icon icon) { super(); + setModel(new DefaultButtonModel()); init(text, icon); } @@ -174,7 +178,6 @@ public class JMenuItem extends AbstractButton implements Accessible, protected void init(String text, Icon icon) { super.init(text, icon); - setModel(new DefaultButtonModel()); // Initializes properties for this menu item, that are different // from Abstract button properties. @@ -320,71 +323,21 @@ public class JMenuItem extends AbstractButton implements Accessible, /** * Process mouse events forwarded from MenuSelectionManager. * - * @param event event forwarded from MenuSelectionManager + * @param ev event forwarded from MenuSelectionManager * @param path path to the menu element from which event was generated * @param manager MenuSelectionManager for the current menu hierarchy */ - public void processMouseEvent(MouseEvent event, MenuElement[] path, + public void processMouseEvent(MouseEvent ev, MenuElement[] path, MenuSelectionManager manager) { - // Fire MenuDragMouseEvents if mouse is being dragged. - boolean dragged - = (event.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) != 0; - if (dragged) - processMenuDragMouseEvent(createMenuDragMouseEvent(event, path, manager)); - - switch (event.getID()) - { - case MouseEvent.MOUSE_CLICKED: - break; - case MouseEvent.MOUSE_ENTERED: - if (isRolloverEnabled()) - model.setRollover(true); - break; - case MouseEvent.MOUSE_EXITED: - if (isRolloverEnabled()) - model.setRollover(false); - - // for JMenu last element on the path is its popupMenu. - // JMenu shouldn't me disarmed. - if (! (path[path.length - 1] instanceof JPopupMenu) && ! dragged) - setArmed(false); - break; - case MouseEvent.MOUSE_PRESSED: - if ((event.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) != 0) - { - model.setArmed(true); - model.setPressed(true); - } - break; - case MouseEvent.MOUSE_RELEASED: - break; - case MouseEvent.MOUSE_MOVED: - break; - case MouseEvent.MOUSE_DRAGGED: - break; - } - } - - /** - * Creates MenuDragMouseEvent. - * - * @param event MouseEvent that occured while mouse was pressed. - * @param path Path the the menu element where the dragging event was - * originated - * @param manager MenuSelectionManager for the current menu hierarchy. - * - * @return new MenuDragMouseEvent - */ - private MenuDragMouseEvent createMenuDragMouseEvent(MouseEvent event, - MenuElement[] path, - MenuSelectionManager manager) - { - return new MenuDragMouseEvent((Component) event.getSource(), - event.getID(), event.getWhen(), - event.getModifiers(), event.getX(), - event.getY(), event.getClickCount(), - event.isPopupTrigger(), path, manager); + MenuDragMouseEvent e = new MenuDragMouseEvent(ev.getComponent(), + ev.getID(), ev.getWhen(), + ev.getModifiers(), ev.getX(), + ev.getY(), + ev.getClickCount(), + ev.isPopupTrigger(), path, + manager); + processMenuDragMouseEvent(e); } /** @@ -420,16 +373,20 @@ public class JMenuItem extends AbstractButton implements Accessible, switch (event.getID()) { case MouseEvent.MOUSE_ENTERED: + isDragging = false; fireMenuDragMouseEntered(event); break; case MouseEvent.MOUSE_EXITED: + isDragging = false; fireMenuDragMouseExited(event); break; case MouseEvent.MOUSE_DRAGGED: + isDragging = true; fireMenuDragMouseDragged(event); break; case MouseEvent.MOUSE_RELEASED: - fireMenuDragMouseReleased(event); + if (isDragging) + fireMenuDragMouseReleased(event); break; } } @@ -833,4 +790,20 @@ public class JMenuItem extends AbstractButton implements Accessible, return AccessibleRole.MENU_ITEM; } } + + /** + * Returns true if the component is guaranteed to be painted + * on top of others. This returns false by default and is overridden by + * components like JMenuItem, JPopupMenu and JToolTip to return true for + * added efficiency. + * + * @return true if the component is guaranteed to be painted + * on top of others + */ + boolean onTop() + { + return SwingUtilities.getAncestorOfClass(JInternalFrame.class, this) + == null; + } + } diff --git a/libjava/classpath/javax/swing/JPopupMenu.java b/libjava/classpath/javax/swing/JPopupMenu.java index d46015afdf3..1ae8adad02a 100644 --- a/libjava/classpath/javax/swing/JPopupMenu.java +++ b/libjava/classpath/javax/swing/JPopupMenu.java @@ -820,7 +820,14 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement */ public void menuSelectionChanged(boolean changed) { - if (! changed) + if (invoker instanceof JMenu) + { + // We need to special case this since the JMenu calculates the + // position etc of the popup. + JMenu menu = (JMenu) invoker; + menu.setPopupMenuVisible(changed); + } + else if (! changed) setVisible(false); } @@ -895,6 +902,20 @@ public class JPopupMenu extends JComponent implements Accessible, MenuElement } } + /** + * Returns true if the component is guaranteed to be painted + * on top of others. This returns false by default and is overridden by + * components like JMenuItem, JPopupMenu and JToolTip to return true for + * added efficiency. + * + * @return true if the component is guaranteed to be painted + * on top of others + */ + boolean onTop() + { + return true; + } + protected class AccessibleJPopupMenu extends AccessibleJComponent { private static final long serialVersionUID = 7423261328879849768L; diff --git a/libjava/classpath/javax/swing/JRootPane.java b/libjava/classpath/javax/swing/JRootPane.java index a2cd9c7a000..10fdf10c0ec 100644 --- a/libjava/classpath/javax/swing/JRootPane.java +++ b/libjava/classpath/javax/swing/JRootPane.java @@ -505,15 +505,21 @@ public class JRootPane extends JComponent implements Accessible } /** - * DOCUMENT ME! + * Set the layered pane for the root pane. * - * @param f DOCUMENT ME! + * @param f The JLayeredPane to be used. + * + * @throws IllegalComponentStateException if JLayeredPane + * parameter is null. */ public void setLayeredPane(JLayeredPane f) { + if (f == null) + throw new IllegalComponentStateException(); + if (layeredPane != null) remove(layeredPane); - + layeredPane = f; add(f, -1); } diff --git a/libjava/classpath/javax/swing/JScrollBar.java b/libjava/classpath/javax/swing/JScrollBar.java index bf0803ab5a1..1f21aa13ff5 100644 --- a/libjava/classpath/javax/swing/JScrollBar.java +++ b/libjava/classpath/javax/swing/JScrollBar.java @@ -50,6 +50,8 @@ import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleValue; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.plaf.ScrollBarUI; /** @@ -172,6 +174,28 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible } } + /** + * Listens for changes on the model and fires them to interested + * listeners on the JScrollBar, after re-sourcing them. + */ + private class ScrollBarChangeListener + implements ChangeListener + { + + public void stateChanged(ChangeEvent event) + { + Object o = event.getSource(); + if (o instanceof BoundedRangeModel) + { + BoundedRangeModel m = (BoundedRangeModel) o; + fireAdjustmentValueChanged(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, + AdjustmentEvent.TRACK, m.getValue(), + m.getValueIsAdjusting()); + } + } + + } + private static final long serialVersionUID = -8195169869225066566L; /** How much the thumb moves when moving in a block. */ @@ -186,6 +210,12 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible /** How much the thumb moves when moving in a unit. */ protected int unitIncrement = 1; + /** + * This ChangeListener forwards events fired from the model and re-sources + * them to originate from this JScrollBar. + */ + private ChangeListener sbChangeListener; + /** * Creates a new horizontal JScrollBar object with a minimum * of 0, a maxmium of 100, a value of 0 and an extent of 10. @@ -220,6 +250,8 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible public JScrollBar(int orientation, int value, int extent, int min, int max) { model = new DefaultBoundedRangeModel(value, extent, min, max); + sbChangeListener = new ScrollBarChangeListener(); + model.addChangeListener(sbChangeListener); if (orientation != SwingConstants.HORIZONTAL && orientation != SwingConstants.VERTICAL) throw new IllegalArgumentException(orientation @@ -319,12 +351,13 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public void setModel(BoundedRangeModel newModel) { - if (model != newModel) - { - BoundedRangeModel oldModel = model; - model = newModel; - firePropertyChange("model", oldModel, model); - } + BoundedRangeModel oldModel = model; + if (oldModel != null) + oldModel.removeChangeListener(sbChangeListener); + model = newModel; + if (model != null) + model.addChangeListener(sbChangeListener); + firePropertyChange("model", oldModel, model); } /** @@ -424,12 +457,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public void setValue(int value) { - if (isEnabled() && value != getValue()) - { - model.setValue(value); - fireAdjustmentValueChanged(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - AdjustmentEvent.TRACK, value); - } + model.setValue(value); } /** @@ -451,12 +479,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public void setVisibleAmount(int extent) { - if (extent != getVisibleAmount()) - { - model.setExtent(extent); - fireAdjustmentValueChanged(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - AdjustmentEvent.TRACK, extent); - } + model.setExtent(extent); } /** @@ -476,12 +499,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public void setMinimum(int minimum) { - if (minimum != getMinimum()) - { - model.setMinimum(minimum); - fireAdjustmentValueChanged(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - AdjustmentEvent.TRACK, minimum); - } + model.setMinimum(minimum); } /** @@ -501,12 +519,7 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public void setMaximum(int maximum) { - if (maximum != getMaximum()) - { - model.setMaximum(maximum); - fireAdjustmentValueChanged(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - AdjustmentEvent.TRACK, maximum); - } + model.setMaximum(maximum); } /** @@ -540,17 +553,8 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible */ public void setValues(int newValue, int newExtent, int newMin, int newMax) { - if (!isEnabled()) - newValue = model.getValue(); - // It seems to be that on any change the value is fired. - if (newValue != getValue() || newExtent != getVisibleAmount() || - newMin != getMinimum() || newMax != getMaximum()) - { - model.setRangeProperties(newValue, newExtent, newMin, newMax, - model.getValueIsAdjusting()); - fireAdjustmentValueChanged(AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - AdjustmentEvent.TRACK, newValue); - } + model.setRangeProperties(newValue, newExtent, newMin, newMax, + model.getValueIsAdjusting()); } /** @@ -595,16 +599,31 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible * @param value The new value for the property that was changed.. */ protected void fireAdjustmentValueChanged(int id, int type, int value) + { + fireAdjustmentValueChanged(id, type, value, getValueIsAdjusting()); + } + + /** + * Helper method for firing adjustment events that can have their + * isAdjusting field modified. + * + * This is package private to avoid an accessor method. + * + * @param id the ID of the event + * @param type the type of the event + * @param value the value + * @param isAdjusting if the scrollbar is adjusting or not + */ + void fireAdjustmentValueChanged(int id, int type, int value, + boolean isAdjusting) { Object[] adjustmentListeners = listenerList.getListenerList(); - AdjustmentEvent adjustmentEvent = new AdjustmentEvent(this, - AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - AdjustmentEvent.TRACK, - value); + AdjustmentEvent adjustmentEvent = new AdjustmentEvent(this, id, type, + value, isAdjusting); for (int i = adjustmentListeners.length - 2; i >= 0; i -= 2) { - if (adjustmentListeners[i] == AdjustmentListener.class) - ((AdjustmentListener) adjustmentListeners[i + 1]).adjustmentValueChanged(adjustmentEvent); + if (adjustmentListeners[i] == AdjustmentListener.class) + ((AdjustmentListener) adjustmentListeners[i + 1]).adjustmentValueChanged(adjustmentEvent); } } diff --git a/libjava/classpath/javax/swing/JScrollPane.java b/libjava/classpath/javax/swing/JScrollPane.java index 45df1d9190e..f6d37c7b47d 100644 --- a/libjava/classpath/javax/swing/JScrollPane.java +++ b/libjava/classpath/javax/swing/JScrollPane.java @@ -161,9 +161,10 @@ public class JScrollPane extends JComponent protected int verticalScrollBarPolicy; protected JViewport viewport; - - Border viewportBorder; - boolean wheelScrollingEnabled; + + private Border viewportBorder; + + private boolean wheelScrollingEnabled; public JViewport getColumnHeader() { @@ -595,6 +596,7 @@ public class JScrollPane extends JComponent */ public JScrollPane(Component view, int vsbPolicy, int hsbPolicy) { + wheelScrollingEnabled = true; setVerticalScrollBarPolicy(vsbPolicy); setVerticalScrollBar(createVerticalScrollBar()); setHorizontalScrollBarPolicy(hsbPolicy); diff --git a/libjava/classpath/javax/swing/JSlider.java b/libjava/classpath/javax/swing/JSlider.java index 8a06d4f0116..948a9629b4c 100644 --- a/libjava/classpath/javax/swing/JSlider.java +++ b/libjava/classpath/javax/swing/JSlider.java @@ -38,7 +38,6 @@ exception statement from your version. */ package javax.swing; -import java.awt.Dimension; import java.awt.MenuContainer; import java.awt.image.ImageObserver; import java.beans.PropertyChangeEvent; @@ -56,6 +55,7 @@ import javax.accessibility.AccessibleValue; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.plaf.SliderUI; +import javax.swing.plaf.UIResource; /** * A visual component that allows selection of a value within a @@ -112,6 +112,22 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, ImageObserver, MenuContainer, Serializable { + + /** + * A little testing shows that the reference implementation creates + * labels from a class named LabelUIResource. + */ + private class LabelUIResource + extends JLabel + implements UIResource + { + LabelUIResource(String text, int align) + { + super(text, align); + setName("Slider.label"); + } + } + private static final long serialVersionUID = -1441275936141218479L; /** @@ -425,6 +441,7 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, */ public void updateUI() { + updateLabelUIs(); setUI((SliderUI) UIManager.getUI(this)); } @@ -721,6 +738,7 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, int oldOrientation = this.orientation; this.orientation = orientation; firePropertyChange("orientation", oldOrientation, this.orientation); + revalidate(); } } @@ -751,7 +769,10 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, { Dictionary oldTable = labelTable; labelTable = table; + updateLabelUIs(); firePropertyChange("labelTable", oldTable, labelTable); + revalidate(); + repaint(); } } @@ -761,12 +782,18 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, */ protected void updateLabelUIs() { - if (labelTable == null) - return; - for (Enumeration list = labelTable.elements(); list.hasMoreElements();) + if (labelTable != null) { - JLabel label = (JLabel) list.nextElement(); - label.updateUI(); + for (Enumeration list = labelTable.elements(); list.hasMoreElements();) + { + Object o = list.nextElement(); + if (o instanceof JComponent) + { + JComponent jc = (JComponent) o; + jc.updateUI(); + jc.setSize(jc.getPreferredSize()); + } + } } } @@ -810,23 +837,11 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, if (start < getMinimum() || start > getMaximum()) throw new IllegalArgumentException("The 'start' value is out of range."); Hashtable table = new Hashtable(); - JLabel label; - Dimension dim; - - int max = sliderModel.getMaximum(); - + int max = getMaximum(); for (int i = start; i <= max; i += increment) { - label = new JLabel(String.valueOf(i)); - label.setVerticalAlignment(CENTER); - label.setHorizontalAlignment(CENTER); - - // Make sure these labels have the width and height - // they want. - dim = label.getPreferredSize(); - label.setBounds(label.getX(), label.getY(), - (int) dim.getWidth(), - (int) dim.getHeight()); + LabelUIResource label = new LabelUIResource(String.valueOf(i), + JLabel.CENTER); table.put(new Integer(i), label); } return table; @@ -867,6 +882,7 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, boolean oldInverted = isInverted; isInverted = inverted; firePropertyChange("inverted", oldInverted, isInverted); + repaint(); } } @@ -898,7 +914,11 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, { int oldSpacing = majorTickSpacing; majorTickSpacing = spacing; + if (labelTable == null && majorTickSpacing > 0 && getPaintLabels()) + setLabelTable(createStandardLabels(majorTickSpacing)); firePropertyChange("majorTickSpacing", oldSpacing, majorTickSpacing); + if (getPaintTicks()) + repaint(); } } @@ -932,6 +952,8 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, int oldSpacing = minorTickSpacing; minorTickSpacing = spacing; firePropertyChange("minorTickSpacing", oldSpacing, minorTickSpacing); + if (getPaintTicks()) + repaint(); } } @@ -1001,6 +1023,8 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, boolean oldPaintTicks = paintTicks; paintTicks = paint; firePropertyChange("paintTicks", oldPaintTicks, paintTicks); + revalidate(); + repaint(); } } @@ -1031,6 +1055,7 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, { paintTrack = paint; firePropertyChange("paintTrack", !paint, paint); + repaint(); } } @@ -1062,8 +1087,10 @@ public class JSlider extends JComponent implements SwingConstants, Accessible, { paintLabels = paint; if (paint && majorTickSpacing > 0 && labelTable == null) - labelTable = createStandardLabels(majorTickSpacing); + setLabelTable(createStandardLabels(majorTickSpacing)); firePropertyChange("paintLabels", !paint, paint); + revalidate(); + repaint(); } } diff --git a/libjava/classpath/javax/swing/JSplitPane.java b/libjava/classpath/javax/swing/JSplitPane.java index 5b77f5176ae..fcdc1c04128 100644 --- a/libjava/classpath/javax/swing/JSplitPane.java +++ b/libjava/classpath/javax/swing/JSplitPane.java @@ -247,6 +247,11 @@ public class JSplitPane extends JComponent implements Accessible /** The component on the right or bottom. */ protected Component rightComponent; + /** + * The divider location. + */ + private int dividerLocation; + /** Determines how extra space should be allocated. */ private transient double resizeWeight; @@ -288,7 +293,7 @@ public class JSplitPane extends JComponent implements Accessible continuousLayout = newContinuousLayout; setLeftComponent(newLeftComponent); setRightComponent(newRightComponent); - + dividerLocation = -1; updateUI(); } @@ -355,10 +360,6 @@ public class JSplitPane extends JComponent implements Accessible */ protected void addImpl(Component comp, Object constraints, int index) { - int left = 0; - int right = 1; - int div = 2; - int place; if (constraints == null) { if (leftComponent == null) @@ -431,10 +432,7 @@ public class JSplitPane extends JComponent implements Accessible */ public int getDividerLocation() { - if (ui != null) - return ((SplitPaneUI) ui).getDividerLocation(this); - else - return -1; + return dividerLocation; } /** @@ -722,17 +720,13 @@ public class JSplitPane extends JComponent implements Accessible */ public void setDividerLocation(int location) { - if (ui != null && location != getDividerLocation()) - { - int oldLocation = getDividerLocation(); - if (location < 0) - ((SplitPaneUI) ui).resetToPreferredSizes(this); - else - ((SplitPaneUI) ui).setDividerLocation(this, location); - - firePropertyChange(DIVIDER_LOCATION_PROPERTY, oldLocation, - getDividerLocation()); - } + int oldLocation = dividerLocation; + dividerLocation = location; + SplitPaneUI ui = getUI(); + if (ui != null) + ui.setDividerLocation(this, location); + firePropertyChange(DIVIDER_LOCATION_PROPERTY, oldLocation, + location); } /** diff --git a/libjava/classpath/javax/swing/JTabbedPane.java b/libjava/classpath/javax/swing/JTabbedPane.java index 5c8d0474852..c7244bf2b71 100644 --- a/libjava/classpath/javax/swing/JTabbedPane.java +++ b/libjava/classpath/javax/swing/JTabbedPane.java @@ -760,11 +760,7 @@ public class JTabbedPane extends JComponent implements Serializable, this.tabPlacement = tabPlacement; layoutPolicy = tabLayoutPolicy; - changeEvent = new ChangeEvent(this); - changeListener = createChangeListener(); - - model = new DefaultSingleSelectionModel(); - model.addChangeListener(changeListener); + setModel(new DefaultSingleSelectionModel()); updateUI(); } @@ -877,16 +873,24 @@ public class JTabbedPane extends JComponent implements Serializable, /** * This method changes the model property of the JTabbedPane. * - * @param model The new model to use with the JTabbedPane. + * @param m The new model to use with the JTabbedPane. */ - public void setModel(SingleSelectionModel model) + public void setModel(SingleSelectionModel m) { - if (model != this.model) + if (m != model) { SingleSelectionModel oldModel = this.model; - this.model.removeChangeListener(changeListener); - this.model = model; - this.model.addChangeListener(changeListener); + if (oldModel != null && changeListener != null) + oldModel.removeChangeListener(changeListener); + + model = m; + + if (model != null) + { + if (changeListener == null) + changeListener = createChangeListener(); + model.addChangeListener(changeListener); + } firePropertyChange("model", oldModel, this.model); } } @@ -1050,7 +1054,10 @@ public class JTabbedPane extends JComponent implements Serializable, } if (getSelectedIndex() == -1) - setSelectedIndex(0); + { + setSelectedIndex(0); + fireStateChanged(); + } revalidate(); repaint(); diff --git a/libjava/classpath/javax/swing/JTable.java b/libjava/classpath/javax/swing/JTable.java index 5c7bff5d019..42563e6a2ca 100644 --- a/libjava/classpath/javax/swing/JTable.java +++ b/libjava/classpath/javax/swing/JTable.java @@ -2635,6 +2635,7 @@ public class JTable setModel(dm == null ? createDefaultDataModel() : dm); setAutoCreateColumnsFromModel(autoCreate); initializeLocalVars(); + // The following four lines properly set the lead selection indices. // After this, the UI will handle the lead selection indices. // FIXME: this should probably not be necessary, if the UI is installed @@ -2642,11 +2643,13 @@ public class JTable // own, but certain variables need to be set before the UI can be installed // so we must get the correct order for all the method calls in this // constructor. - selectionModel.setAnchorSelectionIndex(0); - selectionModel.setLeadSelectionIndex(0); - columnModel.getSelectionModel().setAnchorSelectionIndex(0); - columnModel.getSelectionModel().setLeadSelectionIndex(0); - updateUI(); + // These four lines are not needed. A Mauve test that shows this is + // gnu.testlet.javax.swing.JTable.constructors(linesNotNeeded). + // selectionModel.setAnchorSelectionIndex(-1); + // selectionModel.setLeadSelectionIndex(-1); + // columnModel.getSelectionModel().setAnchorSelectionIndex(-1); + // columnModel.getSelectionModel().setLeadSelectionIndex(-1); + updateUI(); } /** @@ -2675,10 +2678,12 @@ public class JTable setRowHeight(16); this.rowMargin = 1; this.rowSelectionAllowed = true; + // this.accessibleContext = new AccessibleJTable(); this.cellEditor = null; + // COMPAT: Both Sun and IBM have drag enabled - this.dragEnabled = true; + this.dragEnabled = false; this.preferredViewportSize = new Dimension(450,400); this.showHorizontalLines = true; this.showVerticalLines = true; @@ -3267,7 +3272,7 @@ public class JTable cellRect.x += cMargin / 2; cellRect.width -= cMargin; } - } + } return cellRect; } @@ -3303,10 +3308,21 @@ public class JTable public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) { - if (orientation == SwingConstants.VERTICAL) - return visibleRect.height * direction; + int block; + if (orientation == SwingConstants.HORIZONTAL) + { + block = visibleRect.width; + } else - return visibleRect.width * direction; + { + int rowHeight = getRowHeight(); + if (rowHeight > 0) + block = Math.max(rowHeight, // Little hack for useful rounding. + (visibleRect.height / rowHeight) * rowHeight); + else + block = visibleRect.height; + } + return block; } /** @@ -3345,24 +3361,40 @@ public class JTable * The values greater than one means that more mouse wheel or similar * events were generated, and hence it is better to scroll the longer * distance. - * @author Audrius Meskauskas (audriusa@bioinformatics.org) + * + * @author Roman Kennke (kennke@aicas.com) */ public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) { - int h = (rowHeight + rowMargin); - int delta = h * direction; - - // Round so that the top would start from the row boundary - if (orientation == SwingConstants.VERTICAL) + int unit; + if (orientation == SwingConstants.HORIZONTAL) + unit = 100; + else { - // Completely expose the top row - int near = ((visibleRect.y + delta + h / 2) / h) * h; - int diff = visibleRect.y + delta - near; - delta -= diff; + unit = getRowHeight(); + // The following adjustment doesn't work for variable height rows. + // It fully exposes partially visible rows in the scrolling direction. + if (rowHeights == null) + { + if (direction > 0) + { + // Scroll down. + // How much pixles are exposed from the last item? + int exposed = (visibleRect.y + visibleRect.height) % unit; + if (exposed > 0 && exposed < unit - 1) + unit = unit - exposed - 1; + } + else + { + // Scroll up. + int exposed = visibleRect.y % unit; + if (exposed > 0 && exposed < unit) + unit = exposed; + } + } } - return delta; - // TODO when scrollng horizontally, scroll into the column boundary. + return unit; } /** @@ -3397,7 +3429,7 @@ public class JTable * * @return the editor, suitable for editing this data type */ - public TableCellEditor getDefaultEditor(Class columnClass) + public TableCellEditor getDefaultEditor(Class columnClass) { if (defaultEditorsByColumnClass.containsKey(columnClass)) return (TableCellEditor) defaultEditorsByColumnClass.get(columnClass); @@ -3409,7 +3441,7 @@ public class JTable return r; } } - + /** * Get the cell renderer for rendering the given cell. * @@ -3419,7 +3451,9 @@ public class JTable */ public TableCellRenderer getCellRenderer(int row, int column) { - TableCellRenderer renderer = columnModel.getColumn(column).getCellRenderer(); + TableCellRenderer renderer = null; + if (columnModel.getColumnCount() > 0) + renderer = columnModel.getColumn(column).getCellRenderer(); if (renderer == null) { int mcolumn = convertColumnIndexToModel(column); @@ -3427,7 +3461,7 @@ public class JTable } return renderer; } - + /** * Set default renderer for rendering the given data type. * @@ -3435,11 +3469,11 @@ public class JTable * rendered. * @param rend the renderer that will rend this data type */ - public void setDefaultRenderer(Class columnClass, TableCellRenderer rend) + public void setDefaultRenderer(Class columnClass, TableCellRenderer rend) { defaultRenderersByColumnClass.put(columnClass, rend); } - + /** * Get the default renderer for rendering the given data type. * @@ -3447,7 +3481,7 @@ public class JTable * * @return the appropriate defauld renderer for rendering that data type. */ - public TableCellRenderer getDefaultRenderer(Class columnClass) + public TableCellRenderer getDefaultRenderer(Class columnClass) { if (defaultRenderersByColumnClass.containsKey(columnClass)) return (TableCellRenderer) defaultRenderersByColumnClass.get(columnClass); @@ -3536,7 +3570,7 @@ public class JTable return renderer.getTableCellRendererComponent(this, dataModel.getValueAt(row, - convertColumnIndexToModel(column)), + convertColumnIndexToModel(column)), isSel, hasFocus, row, column); @@ -4414,7 +4448,7 @@ public class JTable { TableColumn resizingColumn = null; - int ncols = getColumnCount(); + int ncols = columnModel.getColumnCount(); if (ncols < 1) return; @@ -4423,7 +4457,7 @@ public class JTable if (tableHeader != null) resizingColumn = tableHeader.getResizingColumn(); - + for (int i = 0; i < ncols; ++i) { TableColumn col = columnModel.getColumn(i); @@ -4432,7 +4466,7 @@ public class JTable if (resizingColumn == col) rCol = i; } - + int spill = getWidth() - prefSum; if (resizingColumn != null) @@ -4498,9 +4532,11 @@ public class JTable } else { - TableColumn [] cols = new TableColumn[ncols]; + TableColumn[] cols = new TableColumn[ncols]; + for (int i = 0; i < ncols; ++i) cols[i] = columnModel.getColumn(i); + distributeSpill(cols, spill); } @@ -4588,7 +4624,7 @@ public class JTable { setUI((TableUI) UIManager.getUI(this)); } - + /** * Get the class (datatype) of the column. The cells are rendered and edited * differently, depending from they data type. @@ -4598,7 +4634,7 @@ public class JTable * @return the class, defining data type of that column (String.class for * String, Boolean.class for boolean and so on). */ - public Class getColumnClass(int column) + public Class getColumnClass(int column) { return getModel().getColumnClass(convertColumnIndexToModel(column)); } @@ -4619,7 +4655,7 @@ public class JTable int modelColumn = columnModel.getColumn(column).getModelIndex(); return dataModel.getColumnName(modelColumn); } - + /** * Get the column, currently being edited * @@ -4629,7 +4665,7 @@ public class JTable { return editingColumn; } - + /** * Set the column, currently being edited * @@ -4649,7 +4685,7 @@ public class JTable { return editingRow; } - + /** * Set the row currently being edited. * @@ -4680,7 +4716,7 @@ public class JTable { return editorComp != null; } - + /** * Set the default editor for the given column class (column data type). * By default, String is handled by text field and Boolean is handled by @@ -4691,7 +4727,7 @@ public class JTable * * @see TableModel#getColumnClass(int) */ - public void setDefaultEditor(Class columnClass, TableCellEditor editor) + public void setDefaultEditor(Class columnClass, TableCellEditor editor) { if (editor != null) defaultEditorsByColumnClass.put(columnClass, editor); @@ -4713,7 +4749,7 @@ public class JTable if ((index0 < 0 || index0 > (getRowCount()-1) || index1 < 0 || index1 > (getRowCount()-1))) throw new IllegalArgumentException("Row index out of range."); - + getSelectionModel().addSelectionInterval(index0, index1); } diff --git a/libjava/classpath/javax/swing/JTextField.java b/libjava/classpath/javax/swing/JTextField.java index 367503b739f..ace358f8922 100644 --- a/libjava/classpath/javax/swing/JTextField.java +++ b/libjava/classpath/javax/swing/JTextField.java @@ -270,7 +270,8 @@ public class JTextField extends JTextComponent */ protected void fireActionPerformed() { - ActionEvent event = new ActionEvent(this, 0, getText()); + ActionEvent event = new ActionEvent(this, 0, + actionCommand == null ? getText() : actionCommand); ActionListener[] listeners = getActionListeners(); for (int index = 0; index < listeners.length; ++index) diff --git a/libjava/classpath/javax/swing/JTextPane.java b/libjava/classpath/javax/swing/JTextPane.java index c0a5f80cfc8..05968fc8c20 100644 --- a/libjava/classpath/javax/swing/JTextPane.java +++ b/libjava/classpath/javax/swing/JTextPane.java @@ -214,20 +214,11 @@ public class JTextPane */ public void insertIcon(Icon icon) { - SimpleAttributeSet atts = new SimpleAttributeSet(); - atts.addAttribute(StyleConstants.IconAttribute, icon); - atts.addAttribute(StyleConstants.NameAttribute, - StyleConstants.IconElementName); - try - { - getDocument().insertString(getCaret().getDot(), " ", atts); - } - catch (BadLocationException ex) - { - AssertionError err = new AssertionError("Unexpected bad location"); - err.initCause(ex); - throw err; - } + MutableAttributeSet inputAtts = getInputAttributes(); + inputAtts.removeAttributes(inputAtts); + StyleConstants.setIcon(inputAtts, icon); + replaceSelection(" "); + inputAtts.removeAttributes(inputAtts); } /** diff --git a/libjava/classpath/javax/swing/JToggleButton.java b/libjava/classpath/javax/swing/JToggleButton.java index 1769c5ee08a..60c44896019 100644 --- a/libjava/classpath/javax/swing/JToggleButton.java +++ b/libjava/classpath/javax/swing/JToggleButton.java @@ -1,5 +1,5 @@ /* JToggleButton.java -- - Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -291,9 +291,8 @@ public class JToggleButton extends AbstractButton implements Accessible public JToggleButton (String text, Icon icon, boolean selected) { super(); + setModel(new ToggleButtonModel()); init(text, icon); - - setModel(new ToggleButtonModel()); model.setSelected(selected); setAlignmentX(LEFT_ALIGNMENT); } diff --git a/libjava/classpath/javax/swing/JToolTip.java b/libjava/classpath/javax/swing/JToolTip.java index 836c122c6bf..3153894da81 100644 --- a/libjava/classpath/javax/swing/JToolTip.java +++ b/libjava/classpath/javax/swing/JToolTip.java @@ -225,4 +225,18 @@ public class JToolTip extends JComponent implements Accessible { setUI((ToolTipUI) UIManager.getUI(this)); } + + /** + * Returns true if the component is guaranteed to be painted + * on top of others. This returns false by default and is overridden by + * components like JMenuItem, JPopupMenu and JToolTip to return true for + * added efficiency. + * + * @return true if the component is guaranteed to be painted + * on top of others + */ + boolean onTop() + { + return true; + } } diff --git a/libjava/classpath/javax/swing/JTree.java b/libjava/classpath/javax/swing/JTree.java index fa898c5a940..332ec74247d 100644 --- a/libjava/classpath/javax/swing/JTree.java +++ b/libjava/classpath/javax/swing/JTree.java @@ -1230,8 +1230,32 @@ public class JTree extends JComponent implements Scrollable, Accessible */ public void treeNodesRemoved(TreeModelEvent ev) { - // TODO: The API docs suggest that this method should do something - // but I cannot really see what has to be done here ... + if (ev != null) + { + TreePath parent = ev.getTreePath(); + Object[] children = ev.getChildren(); + TreeSelectionModel sm = getSelectionModel(); + if (children != null) + { + TreePath path; + Vector toRemove = new Vector(); + // Collect items that we must remove. + for (int i = children.length - 1; i >= 0; i--) + { + path = parent.pathByAddingChild(children[i]); + if (nodeStates.containsKey(path)) + toRemove.add(path); + // Clear selection while we are at it. + if (sm != null) + removeDescendantSelectedPaths(path, true); + } + if (toRemove.size() > 0) + removeDescendantToggledPaths(toRemove.elements()); + TreeModel model = getModel(); + if (model == null || model.isLeaf(parent.getLastPathComponent())) + nodeStates.remove(parent); + } + } } /** @@ -1243,9 +1267,38 @@ public class JTree extends JComponent implements Scrollable, Accessible */ public void treeStructureChanged(TreeModelEvent ev) { - // Set state of new path. - TreePath path = ev.getTreePath(); - setExpandedState(path, isExpanded(path)); + if (ev != null) + { + TreePath parent = ev.getTreePath(); + if (parent != null) + { + if (parent.getPathCount() == 1) + { + // We have a new root, clear everything. + clearToggledPaths(); + Object root = treeModel.getRoot(); + if (root != null && treeModel.isLeaf(root)) + nodeStates.put(parent, Boolean.TRUE); + } + else if (nodeStates.containsKey(parent)) + { + Vector toRemove = new Vector(); + boolean expanded = isExpanded(parent); + toRemove.add(parent); + removeDescendantToggledPaths(toRemove.elements()); + if (expanded) + { + TreeModel model = getModel(); + if (model != null + || model.isLeaf(parent.getLastPathComponent())) + collapsePath(parent); + else + nodeStates.put(parent, Boolean.TRUE); + } + } + removeDescendantSelectedPaths(parent, false); + } + } } } @@ -1279,13 +1332,6 @@ public class JTree extends JComponent implements Scrollable, Accessible TreeSelectionEvent rewritten = (TreeSelectionEvent) ev.cloneWithSource(JTree.this); fireValueChanged(rewritten); - - // Only repaint the changed nodes. - TreePath[] changed = ev.getPaths(); - for (int i = 0; i < changed.length; i++) - { - repaint(getPathBounds(changed[i])); - } } } @@ -1406,8 +1452,10 @@ public class JTree extends JComponent implements Scrollable, Accessible * This contains the state of all nodes in the tree. Al/ entries map the * TreePath of a note to to its state. Valid states are EXPANDED and * COLLAPSED. Nodes not in this Hashtable are assumed state COLLAPSED. + * + * This is package private to avoid accessor methods. */ - private Hashtable nodeStates = new Hashtable(); + Hashtable nodeStates = new Hashtable(); protected transient TreeCellEditor cellEditor; @@ -1486,7 +1534,7 @@ public class JTree extends JComponent implements Scrollable, Accessible * * @param value the initial nodes in the tree */ - public JTree(Hashtable value) + public JTree(Hashtable value) { this(createTreeModel(value)); } @@ -1509,8 +1557,7 @@ public class JTree extends JComponent implements Scrollable, Accessible public JTree(TreeModel model) { setRootVisible(true); - setSelectionModel(new EmptySelectionModel()); - selectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); + setSelectionModel( new DefaultTreeSelectionModel() ); // The root node appears expanded by default. nodeStates = new Hashtable(); @@ -1554,7 +1601,7 @@ public class JTree extends JComponent implements Scrollable, Accessible * * @param value the initial nodes in the tree */ - public JTree(Vector value) + public JTree(Vector value) { this(createTreeModel(value)); } @@ -1685,29 +1732,52 @@ public class JTree extends JComponent implements Scrollable, Accessible public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) { - int delta; + int delta = 0; // Round so that the top would start from the row boundary if (orientation == SwingConstants.VERTICAL) { - // One pixel down, otherwise picks another row too high. - int row = getClosestRowForLocation(visibleRect.x, visibleRect.y + 1); - row = row + direction; - if (row < 0) - row = 0; - - Rectangle newTop = getRowBounds(row); - delta = newTop.y - visibleRect.y; + int row = getClosestRowForLocation(0, visibleRect.y); + if (row != -1) + { + Rectangle b = getRowBounds(row); + if (b.y != visibleRect.y) + { + if (direction < 0) + delta = Math.max(0, visibleRect.y - b.y); + else + delta = b.y + b.height - visibleRect.y; + } + else + { + if (direction < 0) + { + if (row != 0) + { + b = getRowBounds(row - 1); + delta = b.height; + } + } + else + delta = b.height; + } + } } else - delta = direction * rowHeight == 0 ? 20 : rowHeight; + // The RI always returns 4 for HORIZONTAL scrolling. + delta = 4; return delta; } public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) { - return getScrollableUnitIncrement(visibleRect, orientation, direction); + int block; + if (orientation == SwingConstants.VERTICAL) + block = visibleRect.height; + else + block = visibleRect.width; + return block; } public boolean getScrollableTracksViewportHeight() @@ -2050,14 +2120,16 @@ public class JTree extends JComponent implements Scrollable, Accessible if (selectionModel == model) return; + if( model == null ) + model = EmptySelectionModel.sharedInstance(); + if (selectionModel != null) selectionModel.removeTreeSelectionListener(selectionRedirector); TreeSelectionModel oldValue = selectionModel; selectionModel = model; - if (selectionModel != null) - selectionModel.addTreeSelectionListener(selectionRedirector); + selectionModel.addTreeSelectionListener(selectionRedirector); firePropertyChange(SELECTION_MODEL_PROPERTY, oldValue, model); revalidate(); @@ -2184,20 +2256,35 @@ public class JTree extends JComponent implements Scrollable, Accessible public void setSelectionPath(TreePath path) { + clearSelectionPathStates(); selectionModel.setSelectionPath(path); } public void setSelectionPaths(TreePath[] paths) { + clearSelectionPathStates(); selectionModel.setSelectionPaths(paths); } + + /** + * This method, and all calls to it, should be removed once the + * DefaultTreeModel fires events properly. Maintenance of the nodeStates + * table should really be done in the TreeModelHandler. + */ + private void clearSelectionPathStates() + { + TreePath[] oldPaths = selectionModel.getSelectionPaths(); + if (oldPaths != null) + for (int i = 0; i < oldPaths.length; i++) + nodeStates.remove(oldPaths[i]); + } public void setSelectionRow(int row) { TreePath path = getPathForRow(row); if (path != null) - selectionModel.setSelectionPath(path); + setSelectionPath(path); } public void setSelectionRows(int[] rows) @@ -2272,11 +2359,13 @@ public class JTree extends JComponent implements Scrollable, Accessible public void removeSelectionPath(TreePath path) { + clearSelectionPathStates(); selectionModel.removeSelectionPath(path); } public void removeSelectionPaths(TreePath[] paths) { + clearSelectionPathStates(); selectionModel.removeSelectionPaths(paths); } @@ -2285,7 +2374,7 @@ public class JTree extends JComponent implements Scrollable, Accessible TreePath path = getPathForRow(row); if (path != null) - selectionModel.removeSelectionPath(path); + removeSelectionPath(path); } public void removeSelectionRows(int[] rows) @@ -2331,7 +2420,7 @@ public class JTree extends JComponent implements Scrollable, Accessible if (selectionModel != null) { TreePath oldValue = selectionModel.getLeadSelectionPath(); - if (path.equals(oldValue)) + if (path == oldValue || path != null && path.equals(oldValue)) return; // Repaint the previous and current rows with the lead selection path. @@ -2409,9 +2498,19 @@ public class JTree extends JComponent implements Scrollable, Accessible return selectionModel.isPathSelected(path); } + /** + * Returns true when the specified row is selected, + * false otherwise. This call is delegated to the + * {@link TreeSelectionModel#isRowSelected(int)} method. + * + * @param row the row to check + * + * @return true when the specified row is selected, + * false otherwise + */ public boolean isRowSelected(int row) { - return selectionModel.isPathSelected(getPathForRow(row)); + return selectionModel.isRowSelected(row); } public boolean isSelectionEmpty() @@ -2725,7 +2824,7 @@ public class JTree extends JComponent implements Scrollable, Accessible nodeStates.clear(); } - protected Enumeration getDescendantToggledPaths(TreePath parent) + protected Enumeration getDescendantToggledPaths(TreePath parent) { if (parent == null) return null; @@ -2874,7 +2973,7 @@ public class JTree extends JComponent implements Scrollable, Accessible * * @return An Enumeration containing TreePath objects */ - public Enumeration getExpandedDescendants(TreePath path) + public Enumeration getExpandedDescendants(TreePath path) { Enumeration paths = nodeStates.keys(); Vector relevantPaths = new Vector(); @@ -3002,7 +3101,7 @@ public class JTree extends JComponent implements Scrollable, Accessible * @param toRemove - Enumeration of TreePaths that need to be removed from * cache of toggled tree paths. */ - protected void removeDescendantToggledPaths(Enumeration toRemove) + protected void removeDescendantToggledPaths(Enumeration toRemove) { while (toRemove.hasMoreElements()) { diff --git a/libjava/classpath/javax/swing/JViewport.java b/libjava/classpath/javax/swing/JViewport.java index 7cf393996c3..d90da1d157b 100644 --- a/libjava/classpath/javax/swing/JViewport.java +++ b/libjava/classpath/javax/swing/JViewport.java @@ -157,6 +157,9 @@ public class JViewport extends JComponent implements Accessible */ public void componentResized(ComponentEvent ev) { + // Fire state change, because resizing the view means changing the + // extentSize. + fireStateChanged(); revalidate(); } } @@ -198,22 +201,6 @@ public class JViewport extends JComponent implements Accessible int scrollMode; - /** - * The width and height of the Viewport's area in terms of view - * coordinates. Typically this will be the same as the width and height - * of the viewport's bounds, unless the viewport transforms units of - * width and height, which it may do, for example if it magnifies or - * rotates its view. - * - * @see #toViewCoordinates(Dimension) - */ - Dimension extentSize; - - /** - * The width and height of the view in its own coordinate space. - */ - Dimension viewSize; - /** * The ViewListener instance. */ @@ -265,8 +252,7 @@ public class JViewport extends JComponent implements Accessible static { String scrollModeProp = - SystemProperties.getProperty("gnu.javax.swing.JViewport.scrollMode", - "BLIT"); + SystemProperties.getProperty("gnu.swing.scrollmode", "BACKINGSTORE"); if (scrollModeProp.equalsIgnoreCase("simple")) defaultScrollMode = SIMPLE_SCROLL_MODE; else if (scrollModeProp.equalsIgnoreCase("backingstore")) @@ -290,10 +276,7 @@ public class JViewport extends JComponent implements Accessible public Dimension getExtentSize() { - if (extentSize == null) - return toViewCoordinates(getSize()); - else - return extentSize; + return getSize(); } public Dimension toViewCoordinates(Dimension size) @@ -310,8 +293,12 @@ public class JViewport extends JComponent implements Accessible public void setExtentSize(Dimension newSize) { - extentSize = newSize; - fireStateChanged(); + Dimension oldExtent = getExtentSize(); + if (! newSize.equals(oldExtent)) + { + setSize(newSize); + fireStateChanged(); + } } /** @@ -321,32 +308,34 @@ public class JViewport extends JComponent implements Accessible */ public Dimension getViewSize() { - if (isViewSizeSet) - return viewSize; - else + Dimension size; + Component view = getView(); + if (view != null) { - Component view = getView(); - if (view != null) - return view.getPreferredSize(); - else - return new Dimension(); + if (isViewSizeSet) + size = view.getSize(); + else + size = view.getPreferredSize(); } + else + size = new Dimension(0, 0); + return size; } public void setViewSize(Dimension newSize) { - viewSize = newSize; Component view = getView(); if (view != null) { - if (newSize != view.getSize()) + if (! newSize.equals(view.getSize())) { - view.setSize(viewSize); + scrollUnderway = false; + view.setSize(newSize); + isViewSizeSet = true; fireStateChanged(); } } - isViewSizeSet = true; } /** @@ -371,23 +360,18 @@ public class JViewport extends JComponent implements Accessible public void setViewPosition(Point p) { - if (getViewPosition().equals(p)) - return; Component view = getView(); - if (view != null) + if (view != null && ! p.equals(getViewPosition())) { - Point q = new Point(-p.x, -p.y); - view.setLocation(q); - isViewSizeSet = false; + scrollUnderway = true; + view.setLocation(-p.x, -p.y); fireStateChanged(); } - repaint(); } public Rectangle getViewRect() { - return new Rectangle(getViewPosition(), - getExtentSize()); + return new Rectangle(getViewPosition(), getExtentSize()); } /** @@ -495,7 +479,6 @@ public class JViewport extends JComponent implements Accessible if (view == null) return; - Point pos = getViewPosition(); Rectangle viewBounds = view.getBounds(); Rectangle portBounds = getBounds(); @@ -643,19 +626,11 @@ public class JViewport extends JComponent implements Accessible */ public void repaint(long tm, int x, int y, int w, int h) { -// Component parent = getParent(); -// if (parent != null) -// parent.repaint(tm, x + getX(), y + getY(), w, h); -// else -// super.repaint(tm, x, y, w, h); - - // The specs suggest to implement something like the above. This however - // breaks blit painting, because the parent (most likely a JScrollPane) - // clears the background of the offscreen area of the JViewport, thus - // destroying the pieces that we want to clip. So we simply call super here - // instead. - super.repaint(tm, x, y, w, h); - + Component parent = getParent(); + if (parent != null) + parent.repaint(tm, x + getX(), y + getY(), w, h); + else + super.repaint(tm, x, y, w, h); } protected void addImpl(Component comp, Object constraints, int index) @@ -862,10 +837,13 @@ public class JViewport extends JComponent implements Accessible if (canBlit) { // Copy the part that remains visible during scrolling. - g2.copyArea(cachedBlitFrom.x, cachedBlitFrom.y, - cachedBlitSize.width, cachedBlitSize.height, - cachedBlitTo.x - cachedBlitFrom.x, - cachedBlitTo.y - cachedBlitFrom.y); + if (cachedBlitSize.width > 0 && cachedBlitSize.height > 0) + { + g2.copyArea(cachedBlitFrom.x, cachedBlitFrom.y, + cachedBlitSize.width, cachedBlitSize.height, + cachedBlitTo.x - cachedBlitFrom.x, + cachedBlitTo.y - cachedBlitFrom.y); + } // Now paint the part that becomes newly visible. g2.setClip(cachedBlitPaint.x, cachedBlitPaint.y, cachedBlitPaint.width, cachedBlitPaint.height); @@ -913,10 +891,13 @@ public class JViewport extends JComponent implements Accessible if (canBlit && isPaintRoot) { // Copy the part that remains visible during scrolling. - g.copyArea(cachedBlitFrom.x, cachedBlitFrom.y, - cachedBlitSize.width, cachedBlitSize.height, - cachedBlitTo.x - cachedBlitFrom.x, - cachedBlitTo.y - cachedBlitFrom.y); + if (cachedBlitSize.width > 0 && cachedBlitSize.width > 0) + { + g.copyArea(cachedBlitFrom.x, cachedBlitFrom.y, + cachedBlitSize.width, cachedBlitSize.height, + cachedBlitTo.x - cachedBlitFrom.x, + cachedBlitTo.y - cachedBlitFrom.y); + } // Now paint the part that becomes newly visible. Shape oldClip = g.getClip(); g.clipRect(cachedBlitPaint.x, cachedBlitPaint.y, @@ -940,12 +921,24 @@ public class JViewport extends JComponent implements Accessible /** * Overridden from JComponent to set the {@link #isPaintRoot} flag. * - * @param r the rectangle to paint + * @param x the rectangle to paint, X coordinate + * @param y the rectangle to paint, Y coordinate + * @param w the rectangle to paint, width + * @param h the rectangle to paint, height */ - void paintImmediately2(Rectangle r) + void paintImmediately2(int x, int y, int w, int h) { isPaintRoot = true; - super.paintImmediately2(r); + super.paintImmediately2(x, y, w, h); isPaintRoot = false; } + + /** + * Returns true when the JViewport is using a backbuffer, so that we + * can update our backbuffer correctly. + */ + boolean isPaintRoot() + { + return scrollMode == BACKINGSTORE_SCROLL_MODE; + } } diff --git a/libjava/classpath/javax/swing/JWindow.java b/libjava/classpath/javax/swing/JWindow.java index 19d830ed1f7..b36b8cf2a60 100644 --- a/libjava/classpath/javax/swing/JWindow.java +++ b/libjava/classpath/javax/swing/JWindow.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.swing; +import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; @@ -158,6 +159,10 @@ public class JWindow extends Window implements Accessible, RootPaneContainer protected void windowInit() { + // We need to explicitly enable events here so that our processKeyEvent() + // and processWindowEvent() gets called. + enableEvents(AWTEvent.KEY_EVENT_MASK); + super.setLayout(new BorderLayout(1, 1)); getRootPane(); // will do set/create // Now we're done init stage, adds and layouts go to content pane. diff --git a/libjava/classpath/javax/swing/LookAndFeel.java b/libjava/classpath/javax/swing/LookAndFeel.java index be543439636..d995bc9e981 100644 --- a/libjava/classpath/javax/swing/LookAndFeel.java +++ b/libjava/classpath/javax/swing/LookAndFeel.java @@ -284,7 +284,7 @@ public abstract class LookAndFeel * @return A {@link UIDefaults.LazyValue} that serves up an * {@link IconUIResource}. */ - public static Object makeIcon(Class baseClass, String gifFile) + public static Object makeIcon(Class baseClass, String gifFile) { final URL file = baseClass.getResource(gifFile); return new UIDefaults.LazyValue() diff --git a/libjava/classpath/javax/swing/Popup.java b/libjava/classpath/javax/swing/Popup.java index 308cd662d8d..5074d64186c 100644 --- a/libjava/classpath/javax/swing/Popup.java +++ b/libjava/classpath/javax/swing/Popup.java @@ -284,7 +284,7 @@ public class Popup panel.setSize(contents.getSize()); Point layeredPaneLoc = layeredPane.getLocationOnScreen(); panel.setLocation(x - layeredPaneLoc.x, y - layeredPaneLoc.y); - layeredPane.add(panel, JLayeredPane.POPUP_LAYER); + layeredPane.add(panel, JLayeredPane.POPUP_LAYER, 0); panel.repaint(); } diff --git a/libjava/classpath/javax/swing/RepaintManager.java b/libjava/classpath/javax/swing/RepaintManager.java index 80f0a3481cd..773371489d9 100644 --- a/libjava/classpath/javax/swing/RepaintManager.java +++ b/libjava/classpath/javax/swing/RepaintManager.java @@ -38,21 +38,29 @@ exception statement from your version. */ package javax.swing; +import gnu.classpath.SystemProperties; +import gnu.java.awt.LowPriorityEvent; + +import java.applet.Applet; import java.awt.Component; import java.awt.Dimension; +import java.awt.EventQueue; import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; +import java.awt.Toolkit; import java.awt.Window; +import java.awt.event.InvocationEvent; import java.awt.image.VolatileImage; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.Map; import java.util.Set; import java.util.WeakHashMap; +import javax.swing.text.JTextComponent; + /** *

    The repaint manager holds a set of dirty regions, invalid components, * and a double buffer surface. The dirty regions and invalid components @@ -64,6 +72,7 @@ import java.util.WeakHashMap; *

    See this * document for more details.

    + * document for more details.

    * * @author Roman Kennke (kennke@aicas.com) * @author Graydon Hoare (graydon@redhat.com) @@ -71,6 +80,44 @@ import java.util.WeakHashMap; */ public class RepaintManager { + /** + * An InvocationEvent subclass that implements LowPriorityEvent. This is used + * to defer the execution of RepaintManager requests as long as possible on + * the event queue. This way we make sure that all available input is + * processed before getting active with the RepaintManager. This allows + * for better optimization (more validate and repaint requests can be + * coalesced) and thus has a positive effect on performance for GUI + * applications under heavy load. + */ + private static class RepaintWorkerEvent + extends InvocationEvent + implements LowPriorityEvent + { + + /** + * Creates a new RepaintManager event. + * + * @param source the source + * @param runnable the runnable to execute + */ + public RepaintWorkerEvent(Object source, Runnable runnable, + Object notifier, boolean catchEx) + { + super(source, runnable, notifier, catchEx); + } + + /** + * An application that I met implements its own event dispatching and + * calls dispatch() via reflection, and only checks declared methods, + * that is, it expects this method to be in the event's class, not + * in a superclass. So I put this in here... sigh. + */ + public void dispatch() + { + super.dispatch(); + } + } + /** * The current repaint managers, indexed by their ThreadGroups. */ @@ -196,19 +243,6 @@ public class RepaintManager */ private WeakHashMap offscreenBuffers; - /** - * Indicates if the RepaintManager is currently repainting an area. - */ - private boolean repaintUnderway; - - /** - * This holds buffer commit requests when the RepaintManager is working. - * This maps Component objects (the top level components) to Rectangle - * objects (the area of the corresponding buffer that must be blitted on - * the component). - */ - private HashMap commitRequests; - /** * The maximum width and height to allocate as a double buffer. Requests * beyond this size are ignored. @@ -230,10 +264,10 @@ public class RepaintManager invalidComponents = new ArrayList(); repaintWorker = new RepaintWorker(); doubleBufferMaximumSize = new Dimension(2000,2000); - doubleBufferingEnabled = true; + doubleBufferingEnabled = + SystemProperties.getProperty("gnu.swing.doublebuffering", "true") + .equals("true"); offscreenBuffers = new WeakHashMap(); - repaintUnderway = false; - commitRequests = new HashMap(); } /** @@ -355,7 +389,7 @@ public class RepaintManager if (! repaintWorker.isLive()) { repaintWorker.setLive(true); - SwingUtilities.invokeLater(repaintWorker); + invokeLater(repaintWorker); } } @@ -397,23 +431,21 @@ public class RepaintManager { if (w <= 0 || h <= 0 || !component.isShowing()) return; - - Component parent = component.getParent(); - component.computeVisibleRect(rectCache); SwingUtilities.computeIntersection(x, y, w, h, rectCache); if (! rectCache.isEmpty()) { - if (dirtyComponents.containsKey(component)) + synchronized (dirtyComponents) { - SwingUtilities.computeUnion(rectCache.x, rectCache.y, - rectCache.width, rectCache.height, - (Rectangle) dirtyComponents.get(component)); - } - else - { - synchronized (dirtyComponents) + Rectangle dirtyRect = (Rectangle)dirtyComponents.get(component); + if (dirtyRect != null) + { + SwingUtilities.computeUnion(rectCache.x, rectCache.y, + rectCache.width, rectCache.height, + dirtyRect); + } + else { dirtyComponents.put(component, rectCache.getBounds()); } @@ -422,7 +454,7 @@ public class RepaintManager if (! repaintWorker.isLive()) { repaintWorker.setLive(true); - SwingUtilities.invokeLater(repaintWorker); + invokeLater(repaintWorker); } } } @@ -536,7 +568,7 @@ public class RepaintManager */ public void paintDirtyRegions() { - // Short cicuit if there is nothing to paint. + // Short circuit if there is nothing to paint. if (dirtyComponents.size() == 0) return; @@ -557,7 +589,6 @@ public class RepaintManager compileRepaintRoots(dirtyComponentsWork, dirty, repaintRoots); } - repaintUnderway = true; for (Iterator i = repaintRoots.iterator(); i.hasNext();) { JComponent comp = (JComponent) i.next(); @@ -567,13 +598,11 @@ public class RepaintManager comp.paintImmediately(damaged); } dirtyComponentsWork.clear(); - repaintUnderway = false; - commitRemainingBuffers(); } - + /** * Compiles a list of components that really get repainted. This is called - * once for each component in the dirtyComponents HashMap, each time with + * once for each component in the dirtyRegions HashMap, each time with * another dirty parameter. This searches up the component * hierarchy of dirty to find the highest parent that is also * marked dirty and merges the dirty regions. @@ -588,6 +617,29 @@ public class RepaintManager Component current = dirty; Component root = dirty; + // This will contain the dirty region in the root coordinate system, + // possibly clipped by ancestor's bounds. + Rectangle originalDirtyRect = (Rectangle) dirtyRegions.get(dirty); + rectCache.setBounds(originalDirtyRect); + + // The bounds of the current component. + int x = dirty.getX(); + int y = dirty.getY(); + int w = dirty.getWidth(); + int h = dirty.getHeight(); + + // Do nothing if dirty region is clipped away by the component's bounds. + rectCache = SwingUtilities.computeIntersection(0, 0, w, h, rectCache); + if (rectCache.isEmpty()) + return; + + // The cumulated offsets. + int dx = 0; + int dy = 0; + // The actual offset for the found root. + int rootDx = 0; + int rootDy = 0; + // Search the highest component that is also marked dirty. Component parent; while (true) @@ -597,10 +649,29 @@ public class RepaintManager break; current = parent; + // Update the offset. + dx += x; + dy += y; + rectCache.x += x; + rectCache.y += y; + + x = current.getX(); + y = current.getY(); + w = current.getWidth(); + h = current.getHeight(); + rectCache = SwingUtilities.computeIntersection(0, 0, w, h, rectCache); + + // Don't paint if the dirty regions is clipped away by any of + // its ancestors. + if (rectCache.isEmpty()) + return; + // We can skip to the next up when this parent is not dirty. if (dirtyRegions.containsKey(parent)) { root = current; + rootDx = dx; + rootDy = dy; } } @@ -608,15 +679,16 @@ public class RepaintManager // the are different. if (root != dirty) { - Rectangle dirtyRect = (Rectangle) dirtyRegions.get(dirty); - dirtyRect = SwingUtilities.convertRectangle(dirty, dirtyRect, root); - Rectangle rootRect = (Rectangle) dirtyRegions.get(root); - SwingUtilities.computeUnion(dirtyRect.x, dirtyRect.y, dirtyRect.width, - dirtyRect.height, rootRect); + rectCache.x += rootDx - dx; + rectCache.y += rootDy - dy; + Rectangle dirtyRect = (Rectangle) dirtyRegions.get(root); + SwingUtilities.computeUnion(rectCache.x, rectCache.y, rectCache.width, + rectCache.height, dirtyRect); } // Adds the root to the roots set. - roots.add(root); + if (! roots.contains(root)) + roots.add(root); } /** @@ -643,128 +715,43 @@ public class RepaintManager width = Math.min(doubleBufferMaximumSize.width, width); int height = Math.max(proposedHeight, root.getHeight()); height = Math.min(doubleBufferMaximumSize.height, height); - buffer = root.createImage(width, height); + buffer = component.createImage(width, height); offscreenBuffers.put(root, buffer); } return buffer; } /** - * Blits the back buffer of the specified root component to the screen. If - * the RepaintManager is currently working on a paint request, the commit - * requests are queued up and committed at once when the paint request is - * done (by {@link #commitRemainingBuffers}). This is package private because - * it must get called by JComponent. + * Blits the back buffer of the specified root component to the screen. + * This is package private because it must get called by JComponent. * * @param comp the component to be painted - * @param area the area to paint on screen, in comp coordinates - */ - void commitBuffer(Component comp, Rectangle area) - { - // Determine the component that we finally paint the buffer upon. - // We need to paint on the nearest heavyweight component, so that Swing - // hierarchies inside (non-window) heavyweights get painted correctly. - // Otherwise we would end up blitting the backbuffer behind the heavyweight - // which is wrong. - Component root = getHeavyweightParent(comp); - // FIXME: Optimize this. - Rectangle rootRect = SwingUtilities.convertRectangle(comp, area, root); - - // We synchronize on dirtyComponents here because that is what - // paintDirtyRegions also synchronizes on while painting. - synchronized (dirtyComponents) - { - // If the RepaintManager is not currently painting, then directly - // blit the requested buffer on the screen. - if (true || ! repaintUnderway) - { - blitBuffer(root, rootRect); - } - - // Otherwise queue this request up, until all the RepaintManager work - // is done. - else - { - if (commitRequests.containsKey(root)) - SwingUtilities.computeUnion(rootRect.x, rootRect.y, - rootRect.width, rootRect.height, - (Rectangle) commitRequests.get(root)); - else - commitRequests.put(root, rootRect); - } - } - } - - /** - * Copies the buffer to the screen. Note that the root component here is - * not necessarily the component with which the offscreen buffer is - * associated. The offscreen buffers are always allocated for the toplevel - * windows. However, painted is performed on lower-level heavyweight - * components too, if they contain Swing components. - * - * @param root the heavyweight component to blit upon - * @param rootRect the rectangle in the root component's coordinate space + * @param x the area to paint on screen, in comp coordinates + * @param y the area to paint on screen, in comp coordinates + * @param w the area to paint on screen, in comp coordinates + * @param h the area to paint on screen, in comp coordinates */ - private void blitBuffer(Component root, Rectangle rootRect) + void commitBuffer(Component comp, int x, int y, int w, int h) { - if (! root.isShowing()) - return; - - // Find the Window from which we use the backbuffer. - Component bufferRoot = root; - Rectangle bufferRect = rootRect.getBounds(); - if (!(bufferRoot instanceof Window)) + Component root = comp; + while (root != null + && ! (root instanceof Window || root instanceof Applet)) { - bufferRoot = SwingUtilities.getWindowAncestor(bufferRoot); - SwingUtilities.convertRectangleToAncestor(root, rootRect, bufferRoot); + x += root.getX(); + y += root.getY(); + root = root.getParent(); } - Graphics g = root.getGraphics(); - Image buffer = (Image) offscreenBuffers.get(bufferRoot); - - // Make sure we have a sane clip at this point. - g.clipRect(rootRect.x, rootRect.y, rootRect.width, rootRect.height); - g.drawImage(buffer, rootRect.x - bufferRect.x, rootRect.y - bufferRect.y, - root); - g.dispose(); - - } - - /** - * Finds and returns the nearest heavyweight parent for the specified - * component. If the component isn't contained inside a heavyweight parent, - * this returns null. - * - * @param comp the component - * - * @return the nearest heavyweight parent for the specified component or - * null if the component has no heavyweight ancestor - */ - private Component getHeavyweightParent(Component comp) - { - while (comp != null && comp.isLightweight()) - comp = comp.getParent(); - return comp; - } - - /** - * Commits the queued up back buffers to screen all at once. - */ - private void commitRemainingBuffers() - { - // We synchronize on dirtyComponents here because that is what - // paintDirtyRegions also synchronizes on while painting. - synchronized (dirtyComponents) + if (root != null) { - Set entrySet = commitRequests.entrySet(); - Iterator i = entrySet.iterator(); - while (i.hasNext()) + Graphics g = root.getGraphics(); + Image buffer = (Image) offscreenBuffers.get(root); + if (buffer != null) { - Map.Entry entry = (Map.Entry) i.next(); - Component root = (Component) entry.getKey(); - Rectangle area = (Rectangle) entry.getValue(); - blitBuffer(root, area); - i.remove(); + // Make sure we have a sane clip at this point. + g.clipRect(x, y, w, h); + g.drawImage(buffer, 0, 0, root); + g.dispose(); } } } @@ -858,4 +845,18 @@ public class RepaintManager { return "RepaintManager"; } + + /** + * Sends an RepaintManagerEvent to the event queue with the specified + * runnable. This is similar to SwingUtilities.invokeLater(), only that the + * event is a low priority event in order to defer the execution a little + * more. + */ + private void invokeLater(Runnable runnable) + { + Toolkit tk = Toolkit.getDefaultToolkit(); + EventQueue evQueue = tk.getSystemEventQueue(); + InvocationEvent ev = new RepaintWorkerEvent(evQueue, runnable, null, false); + evQueue.postEvent(ev); + } } diff --git a/libjava/classpath/javax/swing/ScrollPaneLayout.java b/libjava/classpath/javax/swing/ScrollPaneLayout.java index 8ce8fd86f7a..2a16f26eae9 100644 --- a/libjava/classpath/javax/swing/ScrollPaneLayout.java +++ b/libjava/classpath/javax/swing/ScrollPaneLayout.java @@ -46,6 +46,8 @@ import java.awt.LayoutManager; import java.awt.Rectangle; import java.io.Serializable; +import javax.swing.border.Border; + /** * ScrollPaneLayout * @author Andrew Selkirk @@ -277,6 +279,16 @@ public class ScrollPaneLayout width += rowHead.getPreferredSize().width; if (colHead != null && colHead.isVisible()) height += colHead.getPreferredSize().height; + + // Add insets of viewportBorder if present. + Border vpBorder = sc.getViewportBorder(); + if (vpBorder != null) + { + Insets i = vpBorder.getBorderInsets(sc); + width += i.left + i.right; + height += i.top + i.bottom; + } + Insets i = sc.getInsets(); return new Dimension(width + i.left + i.right, height + i.left + i.right); @@ -300,6 +312,15 @@ public class ScrollPaneLayout != JScrollPane.HORIZONTAL_SCROLLBAR_NEVER) height += sc.getHorizontalScrollBar().getMinimumSize().height; + // Add insets of viewportBorder if present. + Border vpBorder = sc.getViewportBorder(); + if (vpBorder != null) + { + i = vpBorder.getBorderInsets(sc); + width += i.left + i.right; + height += i.top + i.bottom; + } + return new Dimension(width, height); } @@ -342,6 +363,15 @@ public class ScrollPaneLayout int y1 = 0, y2 = 0, y3 = 0, y4 = 0; Rectangle scrollPaneBounds = SwingUtilities.calculateInnerArea(sc, null); + // If there is a viewportBorder, remove its insets from the available + // space. + Border vpBorder = sc.getViewportBorder(); + Insets vpi; + if (vpBorder != null) + vpi = vpBorder.getBorderInsets(sc); + else + vpi = new Insets(0, 0, 0, 0); + x1 = scrollPaneBounds.x; y1 = scrollPaneBounds.y; x4 = scrollPaneBounds.x + scrollPaneBounds.width; @@ -404,7 +434,9 @@ public class ScrollPaneLayout // now set the layout if (viewport != null) - viewport.setBounds(new Rectangle(x2, y2, x3 - x2, y3 - y2)); + viewport.setBounds(new Rectangle(x2 + vpi.left, y2 + vpi.top, + x3 - x2 - vpi.left - vpi.right, + y3 - y2 - vpi.top - vpi.bottom)); if (colHead != null) colHead.setBounds(new Rectangle(x2, y1, x3 - x2, y2 - y1)); @@ -415,7 +447,7 @@ public class ScrollPaneLayout if (showVsb) { vsb.setVisible(true); - vsb.setBounds(new Rectangle(x3, y2, x4 - x3, y3 - y2)); + vsb.setBounds(new Rectangle(x3, y2, x4 - x3, y3 - y2 )); } else if (vsb != null) vsb.setVisible(false); @@ -423,7 +455,7 @@ public class ScrollPaneLayout if (showHsb) { hsb.setVisible(true); - hsb.setBounds(new Rectangle(x2, y3, x3 - x2, y4 - y3)); + hsb.setBounds(new Rectangle(x2 , y3, x3 - x2, y4 - y3)); } else if (hsb != null) hsb.setVisible(false); diff --git a/libjava/classpath/javax/swing/SizeSequence.java b/libjava/classpath/javax/swing/SizeSequence.java index a5f34710c76..cb6c8bc25df 100644 --- a/libjava/classpath/javax/swing/SizeSequence.java +++ b/libjava/classpath/javax/swing/SizeSequence.java @@ -129,14 +129,18 @@ public class SizeSequence } /** - * Returns the size of the specified element. + * Returns the size of the specified element, or 0 if the element index is + * outside the defined range. * * @param index the element index. * - * @return The size of the specified element. + * @return The size of the specified element, or 0 if the element index is + * outside the defined range. */ public int getSize(int index) { + if (index < 0 || index >= sizes.length) + return 0; return sizes[index]; } diff --git a/libjava/classpath/javax/swing/SortingFocusTraversalPolicy.java b/libjava/classpath/javax/swing/SortingFocusTraversalPolicy.java index 96ef3832955..d14ee1d30a4 100644 --- a/libjava/classpath/javax/swing/SortingFocusTraversalPolicy.java +++ b/libjava/classpath/javax/swing/SortingFocusTraversalPolicy.java @@ -91,7 +91,7 @@ public class SortingFocusTraversalPolicy * * @param comparator the comparator to set */ - public SortingFocusTraversalPolicy(Comparator comparator) + public SortingFocusTraversalPolicy(Comparator comparator) { this.comparator = comparator; } @@ -119,7 +119,7 @@ public class SortingFocusTraversalPolicy * * @see #setComparator */ - protected Comparator getComparator() + protected Comparator getComparator() { return comparator; } @@ -131,7 +131,7 @@ public class SortingFocusTraversalPolicy * * @see #getComparator */ - protected void setComparator(Comparator comparator) + protected void setComparator(Comparator comparator) { this.comparator = comparator; } diff --git a/libjava/classpath/javax/swing/SpinnerListModel.java b/libjava/classpath/javax/swing/SpinnerListModel.java index d8e2f22d585..52ac360e924 100644 --- a/libjava/classpath/javax/swing/SpinnerListModel.java +++ b/libjava/classpath/javax/swing/SpinnerListModel.java @@ -118,7 +118,7 @@ public class SpinnerListModel extends AbstractSpinnerModel * @see SpinnerListModel#getNextValue() * @see SpinnerListModel#getValue() */ - public SpinnerListModel(List list) + public SpinnerListModel(List list) { // Retain a reference to the valid list. setList(list); @@ -163,7 +163,7 @@ public class SpinnerListModel extends AbstractSpinnerModel * * @return The backing list. */ - public List getList() + public List getList() { return list; } @@ -239,7 +239,7 @@ public class SpinnerListModel extends AbstractSpinnerModel * * @see ChangeEvent */ - public void setList(List list) + public void setList(List list) { // Check for null or zero size list. if (list == null || list.size() == 0) diff --git a/libjava/classpath/javax/swing/SwingUtilities.java b/libjava/classpath/javax/swing/SwingUtilities.java index ccd37d03a55..6ff0b3346df 100644 --- a/libjava/classpath/javax/swing/SwingUtilities.java +++ b/libjava/classpath/javax/swing/SwingUtilities.java @@ -40,7 +40,6 @@ package javax.swing; import java.applet.Applet; import java.awt.Component; -import java.awt.ComponentOrientation; import java.awt.Container; import java.awt.FontMetrics; import java.awt.Frame; @@ -61,6 +60,8 @@ import javax.accessibility.Accessible; import javax.accessibility.AccessibleStateSet; import javax.swing.plaf.ActionMapUIResource; import javax.swing.plaf.InputMapUIResource; +import javax.swing.plaf.basic.BasicHTML; +import javax.swing.text.View; /** * A number of static utility functions which are @@ -324,7 +325,7 @@ public class SwingUtilities * @see #getAncestorOfClass * @see #windowForComponent */ - public static Container getAncestorOfClass(Class c, Component comp) + public static Container getAncestorOfClass(Class c, Component comp) { while (comp != null && (! c.isInstance(comp))) comp = comp.getParent(); @@ -719,44 +720,41 @@ public class SwingUtilities // Fix up the orientation-based horizontal positions. - if (horizontalTextPosition == LEADING) - { - if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT) - horizontalTextPosition = RIGHT; - else - horizontalTextPosition = LEFT; - } - else if (horizontalTextPosition == TRAILING) + boolean ltr = true; + if (c != null && ! c.getComponentOrientation().isLeftToRight()) + ltr = false; + + switch (horizontalTextPosition) { - if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT) - horizontalTextPosition = LEFT; - else - horizontalTextPosition = RIGHT; + case LEADING: + horizontalTextPosition = ltr ? LEFT : RIGHT; + break; + case TRAILING: + horizontalTextPosition = ltr ? RIGHT : LEFT; + break; + default: + // Nothing to do in the other cases. } // Fix up the orientation-based alignments. - - if (horizontalAlignment == LEADING) - { - if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT) - horizontalAlignment = RIGHT; - else - horizontalAlignment = LEFT; - } - else if (horizontalAlignment == TRAILING) + switch (horizontalAlignment) { - if (c.getComponentOrientation() == ComponentOrientation.RIGHT_TO_LEFT) - horizontalAlignment = LEFT; - else - horizontalAlignment = RIGHT; + case LEADING: + horizontalAlignment = ltr ? LEFT : RIGHT; + break; + case TRAILING: + horizontalAlignment = ltr ? RIGHT : LEFT; + break; + default: + // Nothing to do in the other cases. } - - return layoutCompoundLabel(fm, text, icon, - verticalAlignment, - horizontalAlignment, - verticalTextPosition, - horizontalTextPosition, - viewR, iconR, textR, textIconGap); + + return layoutCompoundLabelImpl(c, fm, text, icon, + verticalAlignment, + horizontalAlignment, + verticalTextPosition, + horizontalTextPosition, + viewR, iconR, textR, textIconGap); } /** @@ -829,6 +827,82 @@ public class SwingUtilities Rectangle textR, int textIconGap) { + return layoutCompoundLabelImpl(null, fm, text, icon, verticalAlignment, + horizontalAlignment, verticalTextPosition, + horizontalTextPosition, viewR, iconR, textR, + textIconGap); + } + + /** + *

    Layout a "compound label" consisting of a text string and an icon + * which is to be placed near the rendered text. Once the text and icon + * are laid out, the text rectangle and icon rectangle parameters are + * altered to store the calculated positions.

    + * + *

    The size of the text is calculated from the provided font metrics + * object. This object should be the metrics of the font you intend to + * paint the label with.

    + * + *

    The position values control where the text is placed relative to + * the icon. The horizontal position value should be one of the constants + * LEFT, RIGHT or CENTER. The + * vertical position value should be one fo the constants + * TOP, BOTTOM or CENTER.

    + * + *

    The text-icon gap value controls the number of pixels between the + * icon and the text.

    + * + *

    The alignment values control where the text and icon are placed, as + * a combined unit, within the view rectangle. The horizontal alignment + * value should be one of the constants LEFT, RIGHT or + * CENTER. The vertical alignment valus should be one of the + * constants TOP, BOTTOM or + * CENTER.

    + * + *

    If the text and icon are equal to or larger than the view + * rectangle, the horizontal and vertical alignment values have no + * affect.

    + * + *

    Note that this method does not know how to deal with + * horizontal alignments or positions given as LEADING or + * TRAILING values. Use the other overloaded variant of this + * method if you wish to use such values. + * + * @param fm The font metrics used to measure the text + * @param text The text to place in the compound label + * @param icon The icon to place next to the text + * @param verticalAlignment The vertical alignment of the label relative + * to its component + * @param horizontalAlignment The horizontal alignment of the label + * relative to its component + * @param verticalTextPosition The vertical position of the label's text + * relative to its icon + * @param horizontalTextPosition The horizontal position of the label's + * text relative to its icon + * @param viewR The view rectangle, specifying the area which layout is + * constrained to + * @param iconR A rectangle which is modified to hold the laid-out + * position of the icon + * @param textR A rectangle which is modified to hold the laid-out + * position of the text + * @param textIconGap The distance between text and icon + * + * @return The string of characters, possibly truncated with an elipsis, + * which is laid out in this label + */ + private static String layoutCompoundLabelImpl(JComponent c, + FontMetrics fm, + String text, + Icon icon, + int verticalAlignment, + int horizontalAlignment, + int verticalTextPosition, + int horizontalTextPosition, + Rectangle viewR, + Rectangle iconR, + Rectangle textR, + int textIconGap) + { // Work out basic height and width. @@ -843,94 +917,108 @@ public class SwingUtilities iconR.width = icon.getIconWidth(); iconR.height = icon.getIconHeight(); } + if (text == null || text.equals("")) { textIconGap = 0; textR.width = 0; textR.height = 0; + text = ""; } else { - int fromIndex = 0; - textR.width = fm.stringWidth(text); - textR.height = fm.getHeight(); - while (text.indexOf('\n', fromIndex) != -1) + int availableWidth = viewR.width; + if (horizontalTextPosition != CENTER) + availableWidth -= iconR.width + textIconGap; + View html = c == null ? null + : (View) c.getClientProperty(BasicHTML.propertyKey); + if (html != null) + { + textR.width = (int) html.getPreferredSpan(View.X_AXIS); + textR.width = Math.min(availableWidth, textR.width); + textR.height = (int) html.getPreferredSpan(View.Y_AXIS); + } + else { - textR.height += fm.getHeight(); - fromIndex = text.indexOf('\n', fromIndex) + 1; + int fromIndex = 0; + textR.width = fm.stringWidth(text); + textR.height = fm.getHeight(); + if (textR.width > availableWidth) + { + text = clipString(c, fm, text, availableWidth); + textR.width = fm.stringWidth(text); + } } } - // Work out the position of text and icon, assuming the top-left coord + // Work out the position of text, assuming the top-left coord // starts at (0,0). We will fix that up momentarily, after these // "position" decisions are made and we look at alignment. - switch (horizontalTextPosition) + switch (verticalTextPosition) { - case LEFT: - textR.x = 0; - iconR.x = textR.width + textIconGap; + case TOP: + textR.y = horizontalTextPosition == CENTER ? + - textR.height - textIconGap : 0; break; - case RIGHT: - iconR.x = 0; - textR.x = iconR.width + textIconGap; + case BOTTOM: + textR.y = horizontalTextPosition == CENTER ? + iconR.height + textIconGap : iconR.height - textR.height; break; case CENTER: - int centerLine = Math.max(textR.width, iconR.width) / 2; - textR.x = centerLine - textR.width/2; - iconR.x = centerLine - iconR.width/2; + textR.y = iconR.height / 2 - textR.height / 2; break; } - switch (verticalTextPosition) + switch (horizontalTextPosition) { - case TOP: - textR.y = 0; - iconR.y = (horizontalTextPosition == CENTER - ? textR.height + textIconGap : 0); + case LEFT: + textR.x = -(textR.width + textIconGap); break; - case BOTTOM: - iconR.y = 0; - textR.y = (horizontalTextPosition == CENTER - ? iconR.height + textIconGap - : Math.max(iconR.height - textR.height, 0)); + case RIGHT: + textR.x = iconR.width + textIconGap; break; case CENTER: - int centerLine = Math.max(textR.height, iconR.height) / 2; - textR.y = centerLine - textR.height/2; - iconR.y = centerLine - iconR.height/2; + textR.x = iconR.width / 2 - textR.width / 2; break; } + // The two rectangles are laid out correctly now, but only assuming // that their upper left corner is at (0,0). If we have any alignment other // than TOP and LEFT, we need to adjust them. - Rectangle u = textR.union(iconR); - int horizontalAdjustment = viewR.x; - int verticalAdjustment = viewR.y; + // These coordinates specify the rectangle that contains both the + // icon and text. Move it so that it fullfills the alignment properties. + int lx = Math.min(iconR.x, textR.x); + int lw = Math.max(iconR.x + iconR.width, textR.x + textR.width) - lx; + int ly = Math.min(iconR.y, textR.y); + int lh = Math.max(iconR.y + iconR.height, textR.y + textR.height) - ly; + int horizontalAdjustment = 0; + int verticalAdjustment = 0; switch (verticalAlignment) { case TOP: + verticalAdjustment = viewR.y - ly; break; case BOTTOM: - verticalAdjustment += (viewR.height - u.height); + verticalAdjustment = viewR.y + viewR.height - ly - lh; break; case CENTER: - verticalAdjustment += ((viewR.height/2) - (u.height/2)); + verticalAdjustment = viewR.y + viewR.height / 2 - ly - lh / 2; break; } switch (horizontalAlignment) { case LEFT: + horizontalAdjustment = viewR.x - lx; break; case RIGHT: - horizontalAdjustment += (viewR.width - u.width); + horizontalAdjustment = viewR.x + viewR.width - lx - lw; break; case CENTER: - horizontalAdjustment += ((viewR.width/2) - (u.width/2)); + horizontalAdjustment = (viewR.x + (viewR.width / 2)) - (lx + (lw / 2)); break; } - iconR.x += horizontalAdjustment; iconR.y += verticalAdjustment; @@ -940,6 +1028,48 @@ public class SwingUtilities return text; } + /** + * The method clips the specified string so that it fits into the + * available width. It is only called when the text really doesn't fit, + * so we don't need to check that again. + * + * @param c the component + * @param fm the font metrics + * @param text the text + * @param availableWidth the available width + * + * @return the clipped string + */ + private static String clipString(JComponent c, FontMetrics fm, String text, + int availableWidth) + { + String dots = "..."; + int dotsWidth = fm.stringWidth(dots); + char[] string = text.toCharArray(); + int endIndex = string.length; + while (fm.charsWidth(string, 0, endIndex) + dotsWidth > availableWidth + && endIndex > 0) + endIndex--; + String clipped; + if (string.length >= endIndex + 3) + { + string[endIndex] = '.'; + string[endIndex + 1] = '.'; + string[endIndex + 2] = '.'; + clipped = new String(string, 0, endIndex + 3); + } + else + { + char[] clippedChars = new char[string.length + 3]; + System.arraycopy(string, 0, clippedChars, 0, string.length); + clippedChars[endIndex] = '.'; + clippedChars[endIndex + 1] = '.'; + clippedChars[endIndex + 2] = '.'; + clipped = new String(clippedChars, 0, endIndex + 3); + } + return clipped; + } + /** * Calls {@link java.awt.EventQueue#invokeLater} with the * specified {@link Runnable}. diff --git a/libjava/classpath/javax/swing/Timer.java b/libjava/classpath/javax/swing/Timer.java index acd22624947..acd1eb49359 100644 --- a/libjava/classpath/javax/swing/Timer.java +++ b/libjava/classpath/javax/swing/Timer.java @@ -228,7 +228,7 @@ public class Timer * fired by this timer * @since 1.3 */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } diff --git a/libjava/classpath/javax/swing/ToolTipManager.java b/libjava/classpath/javax/swing/ToolTipManager.java index 963ccf88117..152fc03430f 100644 --- a/libjava/classpath/javax/swing/ToolTipManager.java +++ b/libjava/classpath/javax/swing/ToolTipManager.java @@ -163,16 +163,21 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener private static ToolTipManager shared; /** The current component the tooltip is being displayed for. */ - private static Component currentComponent; + private JComponent currentComponent; /** The current tooltip. */ - private static JToolTip currentTip; + private JToolTip currentTip; + + /** + * The tooltip text. + */ + private String toolTipText; /** The last known position of the mouse cursor. */ - private static Point currentPoint; - + private Point currentPoint; + /** */ - private static Popup popup; + private Popup popup; /** * Creates a new ToolTipManager and sets up the timers. @@ -364,8 +369,8 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener return; currentPoint = event.getPoint(); - currentComponent = (Component) event.getSource(); - + currentComponent = (JComponent) event.getSource(); + toolTipText = currentComponent.getToolTipText(event); if (exitTimer.isRunning()) { exitTimer.stop(); @@ -443,8 +448,52 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener public void mouseMoved(MouseEvent event) { currentPoint = event.getPoint(); - if (enterTimer.isRunning()) - enterTimer.restart(); + if (currentTip != null && currentTip.isShowing()) + checkTipUpdate(event); + else + { + if (enterTimer.isRunning()) + enterTimer.restart(); + } + } + + /** + * Checks if the tooltip's text or location changes when the mouse is moved + * over the component. + */ + private void checkTipUpdate(MouseEvent ev) + { + JComponent comp = (JComponent) ev.getSource(); + String newText = comp.getToolTipText(ev); + String oldText = toolTipText; + if (newText != null) + { + if (((newText != null && newText.equals(oldText)) || newText == null)) + { + // No change at all. Restart timers. + if (popup == null) + enterTimer.restart(); + else + insideTimer.restart(); + } + else + { + // Update the tooltip. + toolTipText = newText; + hideTip(); + showTip(); + exitTimer.stop(); + } + } + else + { + // Hide tooltip. + currentTip = null; + currentPoint = null; + hideTip(); + enterTimer.stop(); + exitTimer.stop(); + } } /** @@ -461,9 +510,9 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener return; } - if (currentTip == null || currentTip.getComponent() != currentComponent - && currentComponent instanceof JComponent) - currentTip = ((JComponent) currentComponent).createToolTip(); + if (currentTip == null || currentTip.getComponent() != currentComponent) + currentTip = currentComponent.createToolTip(); + currentTip.setTipText(toolTipText); Point p = currentPoint; Point cP = currentComponent.getLocationOnScreen(); @@ -531,8 +580,8 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener private Component getContentPaneDeepestComponent(MouseEvent e) { Component source = (Component) e.getSource(); - Container parent = (Container) SwingUtilities.getAncestorOfClass(JRootPane.class, - currentComponent); + Container parent = SwingUtilities.getAncestorOfClass(JRootPane.class, + currentComponent); if (parent == null) return null; parent = ((JRootPane) parent).getContentPane(); diff --git a/libjava/classpath/javax/swing/TransferHandler.java b/libjava/classpath/javax/swing/TransferHandler.java index 40a36b27d24..d594a8244bb 100644 --- a/libjava/classpath/javax/swing/TransferHandler.java +++ b/libjava/classpath/javax/swing/TransferHandler.java @@ -44,12 +44,117 @@ import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.io.IOException; import java.io.Serializable; +import java.lang.reflect.Method; public class TransferHandler implements Serializable { + + /** + * An implementation of {@link Transferable} that can be used to export + * data from a component's property. + */ + private static class PropertyTransferable + implements Transferable + { + /** + * The component from which we export. + */ + private JComponent component; + + /** + * The property descriptor of the property that we handle. + */ + private PropertyDescriptor property; + + /** + * Creates a new PropertyTransferable. + * + * @param c the component from which we export + * @param prop the property from which we export + */ + PropertyTransferable(JComponent c, PropertyDescriptor prop) + { + component = c; + property = prop; + } + + /** + * Returns the data flavors supported by the Transferable. + * + * @return the data flavors supported by the Transferable + */ + public DataFlavor[] getTransferDataFlavors() + { + DataFlavor[] flavors; + Class propClass = property.getPropertyType(); + String mime = DataFlavor.javaJVMLocalObjectMimeType + "; class=" + + propClass.getName(); + try + { + DataFlavor flavor = new DataFlavor(mime); + flavors = new DataFlavor[]{ flavor }; + } + catch (ClassNotFoundException ex) + { + flavors = new DataFlavor[0]; + } + return flavors; + } + + /** + * Returns true when the specified data flavor is supported, + * false otherwise. + * + * @return true when the specified data flavor is supported, + * false otherwise + */ + public boolean isDataFlavorSupported(DataFlavor flavor) + { + Class propClass = property.getPropertyType(); + return flavor.getPrimaryType().equals("application") + && flavor.getSubType().equals("x-java-jvm-local-objectref") + && propClass.isAssignableFrom(flavor.getRepresentationClass()); + } + + /** + * Returns the actual transfer data. + * + * @param flavor the data flavor + * + * @return the actual transfer data + */ + public Object getTransferData(DataFlavor flavor) + throws UnsupportedFlavorException, IOException + { + if (isDataFlavorSupported(flavor)) + { + Method getter = property.getReadMethod(); + Object o; + try + { + o = getter.invoke(component, null); + return o; + } + catch (Exception ex) + { + throw new IOException("Property read failed: " + + property.getName()); + } + } + else + throw new UnsupportedFlavorException(flavor); + } + } + static class TransferAction extends AbstractAction { private String command; @@ -123,7 +228,13 @@ public class TransferHandler implements Serializable private int sourceActions; private Icon visualRepresentation; - + + /** + * The name of the property into/from which this TransferHandler + * imports/exports. + */ + private String propertyName; + public static Action getCopyAction() { return copyAction; @@ -146,19 +257,78 @@ public class TransferHandler implements Serializable public TransferHandler(String property) { + propertyName = property; this.sourceActions = property != null ? COPY : NONE; } + /** + * Returns true if the data in this TransferHandler can be + * imported into the specified component. This will be the case when: + *

      + *
    • The component has a readable and writable property with the property + * name specified in the TransferHandler constructor.
    • + *
    • There is a dataflavor with a mime type of + * application/x-java-jvm-local-object-ref.
    • + *
    • The dataflavor's representation class matches the class of the + * property in the component.
    • + * + * + * @param c the component to check + * @param flavors the possible data flavors + * + * @return true if the data in this TransferHandler can be + * imported into the specified component, false + * otherwise + */ public boolean canImport(JComponent c, DataFlavor[] flavors) - throws NotImplementedException { - return false; + PropertyDescriptor propDesc = getPropertyDescriptor(c); + boolean canImport = false; + if (propDesc != null) + { + // Check if the property is writable. The readable check is already + // done in getPropertyDescriptor(). + Method writer = propDesc.getWriteMethod(); + if (writer != null) + { + Class[] params = writer.getParameterTypes(); + if (params.length == 1) + { + // Number of parameters ok, now check mime type and + // representation class. + DataFlavor flavor = getPropertyDataFlavor(params[0], flavors); + if (flavor != null) + canImport = true; + } + } + } + return canImport; } + /** + * Creates a {@link Transferable} that can be used to export data + * from the specified component. + * + * This method returns null when the specified component + * doesn't have a readable property that matches the property name + * specified in the TransferHandler constructor. + * + * @param c the component to create a transferable for + * + * @return a {@link Transferable} that can be used to export data + * from the specified component, or null if the component doesn't + * have a readable property like the transfer handler + */ protected Transferable createTransferable(JComponent c) - throws NotImplementedException { - return null; + Transferable transferable = null; + if (propertyName != null) + { + PropertyDescriptor prop = getPropertyDescriptor(c); + if (prop != null) + transferable = new PropertyTransferable(c, prop); + } + return transferable; } public void exportAsDrag(JComponent c, InputEvent e, int action) @@ -167,16 +337,64 @@ public class TransferHandler implements Serializable // TODO: Implement this properly } - protected void exportDone(JComponent c, Transferable data, int action) - throws NotImplementedException + /** + * This method is invoked after data has been exported. + * Subclasses should implement this method to remove the data that has been + * transferred when the action was MOVE. + * + * The default implementation does nothing because MOVE is not supported. + * + * @param c the source component + * @param data the data that has been transferred or null + * when the action is NONE + * @param action the action that has been performed + */ + protected void exportDone(JComponent c, Transferable data, int action) { - // TODO: Implement this properly + // Nothing to do in the default implementation. } + /** + * Exports the property of the component c that was + * specified for this TransferHandler to the clipboard, performing + * the specified action. + * + * This will check if the action is allowed by calling + * {@link #getSourceActions(JComponent)}. If the action is not allowed, + * then no export is performed. + * + * In either case the method {@link #exportDone} will be called with + * the action that has been performed, or {@link #NONE} if the action + * was not allowed or could otherwise not be completed. + * Any IllegalStateException that is thrown by the Clipboard due to + * beeing unavailable will be propagated through this method. + * + * @param c the component from which to export + * @param clip the clipboard to which the data will be exported + * @param action the action to perform + * + * @throws IllegalStateException when the clipboard is not available + */ public void exportToClipboard(JComponent c, Clipboard clip, int action) - throws NotImplementedException + throws IllegalStateException { - // TODO: Implement this properly + action &= getSourceActions(c); + Transferable transferable = createTransferable(c); + if (transferable != null && action != NONE) + { + try + { + clip.setContents(transferable, null); + exportDone(c, transferable, action); + } + catch (IllegalStateException ex) + { + exportDone(c, transferable, NONE); + throw ex; + } + } + else + exportDone(c, null, NONE); } public int getSourceActions(JComponent c) @@ -189,9 +407,124 @@ public class TransferHandler implements Serializable return visualRepresentation; } + /** + * Imports the transfer data represented by t into the specified + * component c by setting the property of this TransferHandler + * on that component. If this succeeds, this method returns + * true, otherwise false. + * + * + * @param c the component to import into + * @param t the transfer data to import + * + * @return true if the transfer succeeds, false + * otherwise + */ public boolean importData(JComponent c, Transferable t) - throws NotImplementedException { - return false; + boolean ok = false; + PropertyDescriptor prop = getPropertyDescriptor(c); + if (prop != null) + { + Method writer = prop.getWriteMethod(); + if (writer != null) + { + Class[] params = writer.getParameterTypes(); + if (params.length == 1) + { + DataFlavor flavor = getPropertyDataFlavor(params[0], + t.getTransferDataFlavors()); + if (flavor != null) + { + try + { + Object value = t.getTransferData(flavor); + writer.invoke(c, new Object[]{ value }); + ok = true; + } + catch (Exception ex) + { + // If anything goes wrong here, do nothing and return + // false; + } + } + } + } + } + return ok; + } + + /** + * Returns the property descriptor for the property of this TransferHandler + * in the specified component, or null if no such property + * exists in the component. This method only returns properties that are + * at least readable (that is, it has a public no-arg getter method). + * + * @param c the component to check + * + * @return the property descriptor for the property of this TransferHandler + * in the specified component, or null if no such + * property exists in the component + */ + private PropertyDescriptor getPropertyDescriptor(JComponent c) + { + PropertyDescriptor prop = null; + if (propertyName != null) + { + Class clazz = c.getClass(); + BeanInfo beanInfo; + try + { + beanInfo = Introspector.getBeanInfo(clazz); + } + catch (IntrospectionException ex) + { + beanInfo = null; + } + if (beanInfo != null) + { + PropertyDescriptor[] props = beanInfo.getPropertyDescriptors(); + for (int i = 0; i < props.length && prop == null; i++) + { + PropertyDescriptor desc = props[i]; + if (desc.getName().equals(propertyName)) + { + Method reader = desc.getReadMethod(); + if (reader != null) + { + Class[] params = reader.getParameterTypes(); + if (params == null || params.length == 0) + prop = desc; + } + } + } + } + } + return prop; + } + + /** + * Searches flavors to find a suitable data flavor that + * has the mime type application/x-java-jvm-local-objectref and a + * representation class that is the same as the specified clazz. + * When no such data flavor is found, this returns null. + * + * @param clazz the representation class required for the data flavor + * @param flavors the possible data flavors + * + * @return the suitable data flavor or null if none is found + */ + private DataFlavor getPropertyDataFlavor(Class clazz, DataFlavor[] flavors) + { + DataFlavor found = null; + for (int i = 0; i < flavors.length && found == null; i++) + { + DataFlavor flavor = flavors[i]; + if (flavor.getPrimaryType().equals("application") + && flavor.getSubType().equals("x-java-jvm-local-objectref") + && clazz.isAssignableFrom(flavor.getRepresentationClass())) + found = flavor; + } + return found; } } diff --git a/libjava/classpath/javax/swing/UIDefaults.java b/libjava/classpath/javax/swing/UIDefaults.java index bf5242f6552..9766cb05cec 100644 --- a/libjava/classpath/javax/swing/UIDefaults.java +++ b/libjava/classpath/javax/swing/UIDefaults.java @@ -63,7 +63,7 @@ import javax.swing.plaf.InputMapUIResource; * * @author Ronald Veldema (rveldema@cs.vu.nl) */ -public class UIDefaults extends Hashtable +public class UIDefaults extends Hashtable { /** Our ResourceBundles. */ @@ -672,7 +672,7 @@ public class UIDefaults extends Hashtable * * @return the UI class for id */ - public Class getUIClass(String id, ClassLoader loader) + public Class getUIClass(String id, ClassLoader loader) { String className = (String) get(id); if (className == null) @@ -681,7 +681,7 @@ public class UIDefaults extends Hashtable { if (loader == null) loader = ClassLoader.getSystemClassLoader(); - return loader.loadClass (className); + return (Class) loader.loadClass (className); } catch (Exception e) { @@ -698,7 +698,7 @@ public class UIDefaults extends Hashtable * * @return the UI class for id */ - public Class getUIClass(String id) + public Class getUIClass(String id) { return getUIClass (id, null); } diff --git a/libjava/classpath/javax/swing/UIManager.java b/libjava/classpath/javax/swing/UIManager.java index 77be44afcbb..3b1b3f72b38 100644 --- a/libjava/classpath/javax/swing/UIManager.java +++ b/libjava/classpath/javax/swing/UIManager.java @@ -154,8 +154,16 @@ public class UIManager implements Serializable UIDefaults fallback; + /** + * Creates a new MultiplexUIDefaults instance with + * d as the fallback defaults. + * + * @param d the fallback defaults (null not permitted). + */ MultiplexUIDefaults(UIDefaults d) { + if (d == null) + throw new NullPointerException(); fallback = d; } @@ -400,6 +408,8 @@ public class UIManager implements Serializable * @param key the key. * * @return The object. + * + * @since 1.4 */ public static Object get(Object key, Locale locale) { @@ -407,61 +417,120 @@ public class UIManager implements Serializable } /** - * Returns a boolean value from the defaults table, - * false if key is not present. + * Returns a boolean value from the defaults table. If there is no value + * for the specified key, or the value is not an instance of {@link Boolean}, + * this method returns false. + * + * @param key the key (null not permitted). * + * @return The boolean value associated with the specified key. + * + * @throws NullPointerException if key is null. + * * @since 1.4 */ public static boolean getBoolean(Object key) { - Boolean value = (Boolean) get(key); - return value != null ? value.booleanValue() : false; + Object value = get(key); + if (value instanceof Boolean) + return ((Boolean) value).booleanValue(); + return false; } /** - * Returns a boolean value from the defaults table, - * false if key is not present. + * Returns a boolean value from the defaults table. If there is no value + * for the specified key, or the value is not an instance of {@link Boolean}, + * this method returns false. + * + * @param key the key (null not permitted). + * @param locale the locale. * + * @return The boolean value associated with the specified key. + * + * @throws NullPointerException if key is null. + * * @since 1.4 */ public static boolean getBoolean(Object key, Locale locale) { - Boolean value = (Boolean) get(key, locale); - return value != null ? value.booleanValue() : false; + Object value = get(key, locale); + if (value instanceof Boolean) + return ((Boolean) value).booleanValue(); + return false; } /** * Returns a border from the defaults table. + * + * @param key the key (null not permitted). + * + * @return The border associated with the given key, or null. + * + * @throws NullPointerException if key is null. */ public static Border getBorder(Object key) { - return (Border) get(key); + Object value = get(key); + if (value instanceof Border) + return (Border) value; + return null; } /** - * Returns a border from the defaults table. + * Returns a border from the defaults table. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The border associated with the given key, or null. + * + * @throws NullPointerException if key is null. * * @since 1.4 */ public static Border getBorder(Object key, Locale locale) { - return (Border) get(key, locale); + Object value = get(key, locale); + if (value instanceof Border) + return (Border) value; + return null; } /** * Returns a drawing color from the defaults table. + * + * @param key the key (null not permitted). + * + * @return The color associated with the given key, or null. + * + * @throws NullPointerException if key is null. */ public static Color getColor(Object key) { - return (Color) get(key); + Object value = get(key); + if (value instanceof Color) + return (Color) value; + return null; } /** * Returns a drawing color from the defaults table. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The color associated with the given key, or null. + * + * @throws NullPointerException if key is null. + * + * @since 1.4 */ public static Color getColor(Object key, Locale locale) { - return (Color) get(key); + Object value = get(key, locale); + if (value instanceof Color) + return (Color) value; + return null; } /** @@ -483,24 +552,44 @@ public class UIManager implements Serializable public static UIDefaults getDefaults() { if (currentUIDefaults == null) - currentUIDefaults = new MultiplexUIDefaults(null); + currentUIDefaults = new MultiplexUIDefaults(new UIDefaults()); return currentUIDefaults; } /** * Returns a dimension from the defaults table. + * + * @param key the key (null not permitted). + * + * @return The color associated with the given key, or null. + * + * @throws NullPointerException if key is null. */ public static Dimension getDimension(Object key) { - return (Dimension) get(key); + Object value = get(key); + if (value instanceof Dimension) + return (Dimension) value; + return null; } /** * Returns a dimension from the defaults table. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The color associated with the given key, or null. + * + * @throws NullPointerException if key is null. + * @since 1.4 */ public static Dimension getDimension(Object key, Locale locale) { - return (Dimension) get(key, locale); + Object value = get(key, locale); + if (value instanceof Dimension) + return (Dimension) value; + return null; } /** @@ -510,10 +599,17 @@ public class UIManager implements Serializable * @param key an Object that specifies the font. Typically, * this is a String such as * TitledBorder.font. + * + * @return The font associated with the given key, or null. + * + * @throws NullPointerException if key is null. */ public static Font getFont(Object key) { - return (Font) get(key); + Object value = get(key); + if (value instanceof Font) + return (Font) value; + return null; } /** @@ -523,30 +619,66 @@ public class UIManager implements Serializable * @param key an Object that specifies the font. Typically, * this is a String such as * TitledBorder.font. + * @param locale the locale. + * + * @return The font associated with the given key, or null. + * + * @throws NullPointerException if key is null. + * + * @since 1.4 */ public static Font getFont(Object key, Locale locale) { - return (Font) get(key, locale); + Object value = get(key, locale); + if (value instanceof Font) + return (Font) value; + return null; } /** - * Returns an Icon from the defaults table. + * Returns an icon from the defaults table. + * + * @param key the key (null not permitted). + * + * @return The icon associated with the given key, or null. + * + * @throws NullPointerException if key is null. */ public static Icon getIcon(Object key) { - return (Icon) get(key); + Object value = get(key); + if (value instanceof Icon) + return (Icon) value; + return null; } /** - * Returns an Icon from the defaults table. + * Returns an icon from the defaults table. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The icon associated with the given key, or null. + * + * @throws NullPointerException if key is null. + * @since 1.4 */ public static Icon getIcon(Object key, Locale locale) { - return (Icon) get(key, locale); + Object value = get(key, locale); + if (value instanceof Icon) + return (Icon) value; + return null; } /** * Returns an Insets object from the defaults table. + * + * @param key the key (null not permitted). + * + * @return The insets associated with the given key, or null. + * + * @throws NullPointerException if key is null. */ public static Insets getInsets(Object key) { @@ -559,6 +691,14 @@ public class UIManager implements Serializable /** * Returns an Insets object from the defaults table. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The insets associated with the given key, or null. + * + * @throws NullPointerException if key is null. + * @since 1.4 */ public static Insets getInsets(Object key, Locale locale) { @@ -580,20 +720,41 @@ public class UIManager implements Serializable return installed; } + /** + * Returns the integer value of the {@link Integer} associated with the + * given key. If there is no value, or the value is not an instance of + * {@link Integer}, this method returns 0. + * + * @param key the key (null not permitted). + * + * @return The integer value associated with the given key, or 0. + */ public static int getInt(Object key) { - Integer x = (Integer) get(key); - if (x == null) - return 0; - return x.intValue(); + Object x = get(key); + if (x instanceof Integer) + return ((Integer) x).intValue(); + return 0; } + /** + * Returns the integer value of the {@link Integer} associated with the + * given key. If there is no value, or the value is not an instance of + * {@link Integer}, this method returns 0. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The integer value associated with the given key, or 0. + * + * @since 1.4 + */ public static int getInt(Object key, Locale locale) { - Integer x = (Integer) get(key, locale); - if (x == null) - return 0; - return x.intValue(); + Object x = get(key, locale); + if (x instanceof Integer) + return ((Integer) x).intValue(); + return 0; } /** @@ -620,19 +781,38 @@ public class UIManager implements Serializable } /** - * Returns a string from the defaults table. + * Returns the {@link String} associated with the given key. If the value + * is not a {@link String}, this method returns null. + * + * @param key the key (null not permitted). + * + * @return The string associated with the given key, or null. */ public static String getString(Object key) { - return (String) get(key); + Object s = get(key); + if (s instanceof String) + return (String) s; + return null; } /** - * Returns a string from the defaults table. + * Returns the {@link String} associated with the given key. If the value + * is not a {@link String}, this method returns null. + * + * @param key the key (null not permitted). + * @param locale the locale. + * + * @return The string associated with the given key, or null. + * + * @since 1.4 */ public static String getString(Object key, Locale locale) { - return (String) get(key, locale); + Object s = get(key, locale); + if (s instanceof String) + return (String) s; + return null; } /** @@ -686,6 +866,9 @@ public class UIManager implements Serializable /** * Stores an object in the defaults table. + * + * @param key the key. + * @param value the value. */ public static Object put(Object key, Object value) { diff --git a/libjava/classpath/javax/swing/border/CompoundBorder.java b/libjava/classpath/javax/swing/border/CompoundBorder.java index 2ee639cf9a3..ba2e745aab5 100644 --- a/libjava/classpath/javax/swing/border/CompoundBorder.java +++ b/libjava/classpath/javax/swing/border/CompoundBorder.java @@ -115,15 +115,24 @@ public class CompoundBorder extends AbstractBorder */ public boolean isBorderOpaque() { - // While it would be safe to assume true for the opacity of - // a null border, this behavior would not be according to - // the API specification. Also, it is pathological to have - // null borders anyway. - if ((insideBorder == null) || (outsideBorder == null)) - return false; - - return insideBorder.isBorderOpaque() - && outsideBorder.isBorderOpaque(); + // Although the API specification states that this method + // returns true if both the inside and outside borders are non-null + // and opaque, and false otherwise, a mauve test shows that if both + // the inside or outside borders are null, then true is returned. + if ((insideBorder == null) && (outsideBorder == null)) + return true; + + // A mauve test shows that if the inside border has a null value, + // then true is returned if the outside border is opaque; if the + // outside border has a null value, then true is returned if the + // inside border is opaque; else, true is returned if both the + // inside and outside borders are opaque. + if (insideBorder == null) + return outsideBorder.isBorderOpaque(); + else if (outsideBorder == null) + return insideBorder.isBorderOpaque(); + else + return insideBorder.isBorderOpaque() && outsideBorder.isBorderOpaque(); } /** diff --git a/libjava/classpath/javax/swing/event/EventListenerList.java b/libjava/classpath/javax/swing/event/EventListenerList.java index bde8b3c7e4f..1568039f0ff 100644 --- a/libjava/classpath/javax/swing/event/EventListenerList.java +++ b/libjava/classpath/javax/swing/event/EventListenerList.java @@ -37,6 +37,9 @@ exception statement from your version. */ package javax.swing.event; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.io.Serializable; import java.lang.reflect.Array; import java.util.EventListener; @@ -136,7 +139,7 @@ public class EventListenerList * * @throws NullPointerException if t is null. */ - public void add(Class t, EventListener listener) + public void add(Class t, T listener) { int oldLength; Object[] newList; @@ -175,7 +178,7 @@ public class EventListenerList * t. Thus, subclasses of t will not be * counted. */ - public int getListenerCount(Class t) + public int getListenerCount(Class t) { int result = 0; for (int i = 0; i < listenerList.length; i += 2) @@ -224,7 +227,7 @@ public class EventListenerList * * @since 1.3 */ - public EventListener[] getListeners(Class c) + public T[] getListeners(Class c) { int count, f; EventListener[] result; @@ -236,7 +239,7 @@ public class EventListenerList if (listenerList[i] == c) result[f++] = (EventListener) listenerList[i + 1]; - return result; + return (T[]) result; } @@ -253,7 +256,7 @@ public class EventListenerList * * @throws NullPointerException if t is null. */ - public void remove(Class t, EventListener listener) + public void remove(Class t, T listener) { Object[] oldList, newList; int oldLength; @@ -304,4 +307,51 @@ public class EventListenerList } return buf.toString(); } + + /** + * Serializes an instance to an ObjectOutputStream. + * + * @param out the stream to serialize to + * + * @throws IOException if something goes wrong + */ + private void writeObject(ObjectOutputStream out) + throws IOException + { + out.defaultWriteObject(); + for (int i = 0; i < listenerList.length; i += 2) + { + Class cl = (Class) listenerList[i]; + EventListener l = (EventListener) listenerList[i + 1]; + if (l != null && l instanceof Serializable) + { + out.writeObject(cl.getName()); + out.writeObject(l); + } + } + // Write end marker. + out.writeObject(null); + } + + /** + * Deserializes an instance from an ObjectInputStream. + * + * @param in the input stream + * + * @throws ClassNotFoundException if a serialized class can't be found + * @throws IOException if something goes wrong + */ + private void readObject(ObjectInputStream in) + throws ClassNotFoundException, IOException + { + listenerList = NO_LISTENERS; + in.defaultReadObject(); + Object type; + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + while ((type = in.readObject()) != null) + { + EventListener l = (EventListener) in.readObject(); + add(((Class) Class.forName((String) type, true, cl)), (T) l); + } + } } diff --git a/libjava/classpath/javax/swing/filechooser/FileSystemView.java b/libjava/classpath/javax/swing/filechooser/FileSystemView.java index 84b80dd402c..41d865a964b 100644 --- a/libjava/classpath/javax/swing/filechooser/FileSystemView.java +++ b/libjava/classpath/javax/swing/filechooser/FileSystemView.java @@ -172,13 +172,8 @@ public abstract class FileSystemView { if (defaultFileSystemView == null) { - if (File.separator.equals("/")) - defaultFileSystemView = new UnixFileSystemView(); - // FIXME: need to implement additional views - // else if (File.Separator.equals("\")) - // return new Win32FileSystemView(); - // else - // return new GenericFileSystemView(); + // FIXME: We need to support other file systems too. + defaultFileSystemView = new UnixFileSystemView(); } return defaultFileSystemView; } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicButtonListener.java b/libjava/classpath/javax/swing/plaf/basic/BasicButtonListener.java index 84895821518..c99de2c708c 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicButtonListener.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicButtonListener.java @@ -54,15 +54,79 @@ import java.beans.PropertyChangeListener; import javax.swing.AbstractAction; import javax.swing.AbstractButton; +import javax.swing.Action; +import javax.swing.ActionMap; import javax.swing.ButtonModel; +import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.SwingUtilities; +import javax.swing.UIManager; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import javax.swing.plaf.ActionMapUIResource; +import javax.swing.plaf.ButtonUI; -public class BasicButtonListener implements MouseListener, MouseMotionListener, - FocusListener, ChangeListener, PropertyChangeListener +public class BasicButtonListener + implements MouseListener, MouseMotionListener, FocusListener, ChangeListener, + PropertyChangeListener { + /** + * Implements the keyboard action for Swing buttons. + */ + private class ButtonAction + extends AbstractAction + { + /** + * The key for pressed action. + */ + static final String PRESSED = "pressed"; + + /** + * The key for released action. + */ + static final String RELEASED = "released"; + + /** + * Performs the action. + */ + public void actionPerformed(ActionEvent event) + { + Object cmd = getValue("__command__"); + AbstractButton b = (AbstractButton) event.getSource(); + ButtonModel m = b.getModel(); + if (PRESSED.equals(cmd)) + { + m.setArmed(true); + m.setPressed(true); + if (! b.isFocusOwner()) + b.requestFocus(); + } + else if (RELEASED.equals(cmd)) + { + m.setPressed(false); + m.setArmed(false); + } + } + + /** + * Indicates if this action is enabled. + * + * @param source the source of the action + * + * @return true when enabled, false otherwise + */ + public boolean isEnabled(Object source) + { + boolean enabled = true; + if (source instanceof AbstractButton) + { + AbstractButton b = (AbstractButton) source; + enabled = b.isEnabled(); + } + return enabled; + } + } + public BasicButtonListener(AbstractButton b) { // Do nothing here. @@ -73,12 +137,12 @@ public class BasicButtonListener implements MouseListener, MouseMotionListener, // Store the TextLayout for this in a client property for speed-up // painting of the label. String property = e.getPropertyName(); + AbstractButton b = (AbstractButton) e.getSource(); if ((property.equals(AbstractButton.TEXT_CHANGED_PROPERTY) || property.equals("font")) && SystemProperties.getProperty("gnu.javax.swing.noGraphics2D") == null) { - AbstractButton b = (AbstractButton) e.getSource(); String text = b.getText(); if (text == null) text = ""; @@ -86,12 +150,25 @@ public class BasicButtonListener implements MouseListener, MouseMotionListener, false, false); TextLayout layout = new TextLayout(text, b.getFont(), frc); b.putClientProperty(BasicGraphicsUtils.CACHED_TEXT_LAYOUT, layout); + + // Update HTML renderer. + BasicHTML.updateRenderer(b, b.getText()); + } + else if (property.equals(AbstractButton.CONTENT_AREA_FILLED_CHANGED_PROPERTY)) + { + checkOpacity(b); } } - + + /** + * Checks the contentAreaFilled property and updates the + * opaque property of the button. + * + * @param b the button to check + */ protected void checkOpacity(AbstractButton b) { - // TODO: What should be done here? + b.setOpaque(b.isContentAreaFilled()); } public void focusGained(FocusEvent e) @@ -116,6 +193,26 @@ public class BasicButtonListener implements MouseListener, MouseMotionListener, public void installKeyboardActions(JComponent c) { + ButtonUI ui = ((AbstractButton) c).getUI(); + if (ui instanceof BasicButtonUI) + { + // Install InputMap. + BasicButtonUI basicUI = (BasicButtonUI) ui; + String prefix = basicUI.getPropertyPrefix(); + InputMap focusInputMap = + (InputMap) UIManager.get(prefix + "focusInputMap"); + SwingUtilities.replaceUIInputMap(c, JComponent.WHEN_FOCUSED, + focusInputMap); + + ActionMap am = (ActionMap) UIManager.get(prefix + "actionMap"); + if (am == null) + { + am = createDefaultActionMap(); + UIManager.put(prefix + "actionMap", am); + } + SwingUtilities.replaceUIActionMap(c, am); + } + c.getActionMap().put("pressed", new AbstractAction() { @@ -142,31 +239,46 @@ public class BasicButtonListener implements MouseListener, MouseMotionListener, } }); } - + + /** + * Creates and returns the default action map for Swing buttons. + * + * @return the default action map for Swing buttons + */ + private ActionMap createDefaultActionMap() + { + Action action = new ButtonAction(); + ActionMapUIResource am = new ActionMapUIResource(); + am.put(ButtonAction.PRESSED, action); + am.put(ButtonAction.RELEASED, action); + return am; + } + public void uninstallKeyboardActions(JComponent c) { - c.getActionMap().put("pressed", null); - c.getActionMap().put("released", null); + SwingUtilities.replaceUIActionMap(c, null); + SwingUtilities.replaceUIInputMap(c, JComponent.WHEN_FOCUSED, null); } public void stateChanged(ChangeEvent e) { - // TODO: What should be done here, if anything? + // Need to repaint when the button state changes. + ((AbstractButton) e.getSource()).repaint(); } public void mouseMoved(MouseEvent e) { - // TODO: What should be done here, if anything? + // Nothing to do here. } public void mouseDragged(MouseEvent e) { - // TODO: What should be done here, if anything? + // Nothing to do here. } public void mouseClicked(MouseEvent e) { - // TODO: What should be done here, if anything? + // Nothing to do here. } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicButtonUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicButtonUI.java index d531133ba26..9f685bb7bfd 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicButtonUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicButtonUI.java @@ -42,12 +42,14 @@ import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; +import java.awt.Insets; import java.awt.Rectangle; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import javax.swing.AbstractButton; import javax.swing.ButtonModel; import javax.swing.Icon; -import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.LookAndFeel; @@ -56,12 +58,46 @@ import javax.swing.UIManager; import javax.swing.plaf.ButtonUI; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.UIResource; +import javax.swing.text.View; /** * A UI delegate for the {@link JButton} component. */ public class BasicButtonUI extends ButtonUI { + /** + * Cached rectangle for layouting the label. Used in paint() and + * BasicGraphicsUtils.getPreferredButtonSize(). + */ + static Rectangle viewR = new Rectangle(); + + /** + * Cached rectangle for layouting the label. Used in paint() and + * BasicGraphicsUtils.getPreferredButtonSize(). + */ + static Rectangle iconR = new Rectangle(); + + /** + * Cached rectangle for layouting the label. Used in paint() and + * BasicGraphicsUtils.getPreferredButtonSize(). + */ + static Rectangle textR = new Rectangle(); + + /** + * Cached Insets instance, used in paint(). + */ + static Insets cachedInsets; + + /** + * The shared button UI. + */ + private static BasicButtonUI sharedUI; + + /** + * The shared BasicButtonListener. + */ + private static BasicButtonListener sharedListener; + /** * A constant used to pad out elements in the button's layout and * preferred size calculations. @@ -86,7 +122,9 @@ public class BasicButtonUI extends ButtonUI */ public static ComponentUI createUI(final JComponent c) { - return new BasicButtonUI(); + if (sharedUI == null) + sharedUI = new BasicButtonUI(); + return sharedUI; } /** @@ -153,14 +191,29 @@ public class BasicButtonUI extends ButtonUI protected void installDefaults(AbstractButton b) { String prefix = getPropertyPrefix(); + // Install colors and font. LookAndFeel.installColorsAndFont(b, prefix + "background", prefix + "foreground", prefix + "font"); + // Install border. LookAndFeel.installBorder(b, prefix + "border"); + + // Install margin property. if (b.getMargin() == null || b.getMargin() instanceof UIResource) b.setMargin(UIManager.getInsets(prefix + "margin")); - b.setIconTextGap(UIManager.getInt(prefix + "textIconGap")); - b.setInputMap(JComponent.WHEN_FOCUSED, - (InputMap) UIManager.get(prefix + "focusInputMap")); + + // Install rollover property. + Object rollover = UIManager.get(prefix + "rollover"); + if (rollover != null) + LookAndFeel.installProperty(b, "rolloverEnabled", rollover); + + // Fetch default textShiftOffset. + defaultTextShiftOffset = UIManager.getInt(prefix + "textShiftOffset"); + + // Make button opaque if needed. + if (b.isContentAreaFilled()) + LookAndFeel.installProperty(b, "opaque", Boolean.TRUE); + else + LookAndFeel.installProperty(b, "opaque", Boolean.FALSE); } /** @@ -170,21 +223,10 @@ public class BasicButtonUI extends ButtonUI */ protected void uninstallDefaults(AbstractButton b) { - if (b.getFont() instanceof UIResource) - b.setFont(null); - if (b.getForeground() instanceof UIResource) - b.setForeground(null); - if (b.getBackground() instanceof UIResource) - b.setBackground(null); - if (b.getBorder() instanceof UIResource) - b.setBorder(null); - b.setIconTextGap(defaultTextIconGap); - if (b.getMargin() instanceof UIResource) - b.setMargin(null); + // The other properties aren't uninstallable. + LookAndFeel.uninstallBorder(b); } - protected BasicButtonListener listener; - /** * Creates and returns a new instance of {@link BasicButtonListener}. This * method provides a hook to make it easy for subclasses to install a @@ -196,7 +238,13 @@ public class BasicButtonUI extends ButtonUI */ protected BasicButtonListener createButtonListener(AbstractButton b) { - return new BasicButtonListener(b); + // Note: The RI always returns a new instance here. However, + // the BasicButtonListener class is perfectly suitable to be shared + // between multiple buttons, so we return a shared instance here + // for efficiency. + if (sharedListener == null) + sharedListener = new BasicButtonListener(b); + return sharedListener; } /** @@ -206,12 +254,19 @@ public class BasicButtonUI extends ButtonUI */ protected void installListeners(AbstractButton b) { - listener = createButtonListener(b); - b.addChangeListener(listener); - b.addPropertyChangeListener(listener); - b.addFocusListener(listener); - b.addMouseListener(listener); - b.addMouseMotionListener(listener); + BasicButtonListener listener = createButtonListener(b); + if (listener != null) + { + b.addChangeListener(listener); + b.addPropertyChangeListener(listener); + b.addFocusListener(listener); + b.addMouseListener(listener); + b.addMouseMotionListener(listener); + } + // Fire synthetic property change event to let the listener update + // the TextLayout cache. + listener.propertyChange(new PropertyChangeEvent(b, "font", null, + b.getFont())); } /** @@ -221,21 +276,29 @@ public class BasicButtonUI extends ButtonUI */ protected void uninstallListeners(AbstractButton b) { - b.removeChangeListener(listener); - b.removePropertyChangeListener(listener); - b.removeFocusListener(listener); - b.removeMouseListener(listener); - b.removeMouseMotionListener(listener); + BasicButtonListener listener = getButtonListener(b); + if (listener != null) + { + b.removeChangeListener(listener); + b.removePropertyChangeListener(listener); + b.removeFocusListener(listener); + b.removeMouseListener(listener); + b.removeMouseMotionListener(listener); + } } protected void installKeyboardActions(AbstractButton b) { - listener.installKeyboardActions(b); + BasicButtonListener listener = getButtonListener(b); + if (listener != null) + listener.installKeyboardActions(b); } protected void uninstallKeyboardActions(AbstractButton b) { - listener.uninstallKeyboardActions(b); + BasicButtonListener listener = getButtonListener(b); + if (listener != null) + listener.uninstallKeyboardActions(b); } /** @@ -253,9 +316,75 @@ public class BasicButtonUI extends ButtonUI { AbstractButton b = (AbstractButton) c; installDefaults(b); + // It is important to install the listeners before installing + // the keyboard actions, because the keyboard actions + // are actually installed on the listener instance. installListeners(b); installKeyboardActions(b); + BasicHTML.updateRenderer(b, b.getText()); + } + } + + /** + * Uninstalls the UI from the component. + * + * @param c the component from which to uninstall the UI + */ + public void uninstallUI(JComponent c) + { + if (c instanceof AbstractButton) + { + AbstractButton b = (AbstractButton) c; + uninstallKeyboardActions(b); + uninstallListeners(b); + uninstallDefaults(b); + BasicHTML.updateRenderer(b, ""); + b.putClientProperty(BasicGraphicsUtils.CACHED_TEXT_LAYOUT, null); + } + } + + /** + * Calculates the minimum size for the specified component. + * + * @param c the component for which to compute the minimum size + * + * @return the minimum size for the specified component + */ + public Dimension getMinimumSize(JComponent c) + { + Dimension size = getPreferredSize(c); + // When the HTML view has a minimum width different from the preferred + // width, then substract this here accordingly. The height is not + // affected by that. + View html = (View) c.getClientProperty(BasicHTML.propertyKey); + if (html != null) + { + size.width -= html.getPreferredSpan(View.X_AXIS) + - html.getPreferredSpan(View.X_AXIS); } + return size; + } + + /** + * Calculates the maximum size for the specified component. + * + * @param c the component for which to compute the maximum size + * + * @return the maximum size for the specified component + */ + public Dimension getMaximumSize(JComponent c) + { + Dimension size = getPreferredSize(c); + // When the HTML view has a maximum width different from the preferred + // width, then add this here accordingly. The height is not + // affected by that. + View html = (View) c.getClientProperty(BasicHTML.propertyKey); + if (html != null) + { + size.width += html.getMaximumSpan(View.X_AXIS) + - html.getPreferredSpan(View.X_AXIS); + } + return size; } /** @@ -269,8 +398,8 @@ public class BasicButtonUI extends ButtonUI public Dimension getPreferredSize(JComponent c) { AbstractButton b = (AbstractButton) c; - Dimension d = BasicGraphicsUtils.getPreferredButtonSize(b, - defaultTextIconGap + defaultTextShiftOffset); + Dimension d = BasicGraphicsUtils.getPreferredButtonSize(b, + b.getIconTextGap()); return d; } @@ -315,38 +444,50 @@ public class BasicButtonUI extends ButtonUI { AbstractButton b = (AbstractButton) c; - Rectangle tr = new Rectangle(); - Rectangle ir = new Rectangle(); - Rectangle vr = new Rectangle(); + Insets i = c.getInsets(cachedInsets); + viewR.x = i.left; + viewR.y = i.top; + viewR.width = c.getWidth() - i.left - i.right; + viewR.height = c.getHeight() - i.top - i.bottom; + textR.x = 0; + textR.y = 0; + textR.width = 0; + textR.height = 0; + iconR.x = 0; + iconR.y = 0; + iconR.width = 0; + iconR.height = 0; Font f = c.getFont(); - g.setFont(f); + Icon icon = b.getIcon(); + String text = b.getText(); + text = SwingUtilities.layoutCompoundLabel(c, g.getFontMetrics(f), + text, icon, + b.getVerticalAlignment(), + b.getHorizontalAlignment(), + b.getVerticalTextPosition(), + b.getHorizontalTextPosition(), + viewR, iconR, textR, + text == null ? 0 + : b.getIconTextGap()); - if (b.isBorderPainted()) - SwingUtilities.calculateInnerArea(b, vr); - else - vr = SwingUtilities.getLocalBounds(b); - String text = SwingUtilities.layoutCompoundLabel(c, g.getFontMetrics(f), - b.getText(), - currentIcon(b), - b.getVerticalAlignment(), - b.getHorizontalAlignment(), - b.getVerticalTextPosition(), - b.getHorizontalTextPosition(), - vr, ir, tr, - b.getIconTextGap() - + defaultTextShiftOffset); - - if ((b.getModel().isArmed() && b.getModel().isPressed()) - || b.isSelected()) + ButtonModel model = b.getModel(); + if (model.isArmed() && model.isPressed()) paintButtonPressed(g, b); - - paintIcon(g, c, ir); + + if (icon != null) + paintIcon(g, c, iconR); if (text != null) - paintText(g, b, tr, text); + { + View html = (View) b.getClientProperty(BasicHTML.propertyKey); + if (html != null) + html.paint(g, textR); + else + paintText(g, b, textR, text); + } if (b.isFocusOwner() && b.isFocusPainted()) - paintFocus(g, b, vr, tr, ir); + paintFocus(g, b, viewR, textR, iconR); } /** @@ -386,7 +527,16 @@ public class BasicButtonUI extends ButtonUI Icon i = currentIcon(b); if (i != null) - i.paintIcon(c, g, iconRect.x, iconRect.y); + { + ButtonModel m = b.getModel(); + if (m.isPressed() && m.isArmed()) + { + int offs = getTextShiftOffset(); + i.paintIcon(c, g, iconRect.x + offs, iconRect.y + offs); + } + else + i.paintIcon(c, g, iconRect.x, iconRect.y); + } } /** @@ -419,22 +569,7 @@ public class BasicButtonUI extends ButtonUI protected void paintText(Graphics g, JComponent c, Rectangle textRect, String text) { - paintText(g, (AbstractButton) c, textRect, text); - } - - /** - * Paints the "text" property of an {@link AbstractButton}. - * - * @param g The graphics context to paint with - * @param b The button to paint the state of - * @param textRect The area in which to paint the text - * @param text The text to paint - * - * @since 1.4 - */ - protected void paintText(Graphics g, AbstractButton b, Rectangle textRect, - String text) - { + AbstractButton b = (AbstractButton) c; Font f = b.getFont(); g.setFont(f); FontMetrics fm = g.getFontMetrics(f); @@ -454,5 +589,48 @@ public class BasicButtonUI extends ButtonUI BasicGraphicsUtils.drawString(b, g, text, -1, textRect.x, textRect.y + fm.getAscent()); } + } + + /** + * Paints the "text" property of an {@link AbstractButton}. + * + * @param g The graphics context to paint with + * @param b The button to paint the state of + * @param textRect The area in which to paint the text + * @param text The text to paint + * + * @since 1.4 + */ + protected void paintText(Graphics g, AbstractButton b, Rectangle textRect, + String text) + { + paintText(g, (JComponent) b, textRect, text); } + + /** + * A helper method that finds the BasicButtonListener for the specified + * button. This is there because this UI class is stateless and + * shared for all buttons, and thus can't store the listener + * as instance field. (We store our shared instance in sharedListener, + * however, subclasses may override createButtonListener() and we would + * be lost in this case). + * + * @param b the button + * + * @return the UI event listener + */ + private BasicButtonListener getButtonListener(AbstractButton b) + { + // The listener gets installed as PropertyChangeListener, + // so look for it in the list of property change listeners. + PropertyChangeListener[] listeners = b.getPropertyChangeListeners(); + BasicButtonListener l = null; + for (int i = 0; listeners != null && l == null && i < listeners.length; + i++) + { + if (listeners[i] instanceof BasicButtonListener) + l = (BasicButtonListener) listeners[i]; + } + return l; + } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicDirectoryModel.java b/libjava/classpath/javax/swing/plaf/basic/BasicDirectoryModel.java index ed916cb5f1a..de82bd47bb6 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicDirectoryModel.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicDirectoryModel.java @@ -381,7 +381,7 @@ public class BasicDirectoryModel extends AbstractListModel * * @return a Vector */ - public Vector getDirectories() + public Vector getDirectories() { // Synchronize this with the UpdateSwingRequest for the case when // contents is modified. @@ -418,7 +418,7 @@ public class BasicDirectoryModel extends AbstractListModel * * @return a Vector */ - public Vector getFiles() + public Vector getFiles() { synchronized (contents) { @@ -562,7 +562,7 @@ public class BasicDirectoryModel extends AbstractListModel * * @param v The Vector to sort. */ - protected void sort(Vector v) + protected void sort(Vector v) { Collections.sort(v, comparator); } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicFileChooserUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicFileChooserUI.java index dc1c051225c..e1f8e4b28ba 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicFileChooserUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicFileChooserUI.java @@ -183,7 +183,7 @@ public class BasicFileChooserUI extends FileChooserUI protected class BasicFileView extends FileView { /** Storage for cached icons. */ - protected Hashtable iconCache = new Hashtable(); + protected Hashtable iconCache = new Hashtable(); /** * Creates a new instance. @@ -444,10 +444,10 @@ public class BasicFileChooserUI extends FileChooserUI setDirectory(null); } lastSelected = path; - parentPath = path.substring(0, path.lastIndexOf("/") + 1); + parentPath = f.getParent(); if (f.isFile()) - setFileName(path.substring(path.lastIndexOf("/") + 1)); + setFileName(f.getName()); else if (filechooser.getFileSelectionMode() != JFileChooser.FILES_ONLY) setFileName(path); @@ -827,9 +827,9 @@ public class BasicFileChooserUI extends FileChooserUI installComponents(fc); installListeners(fc); - Object path = filechooser.getCurrentDirectory(); + File path = filechooser.getCurrentDirectory(); if (path != null) - parentPath = path.toString().substring(path.toString().lastIndexOf("/")); + parentPath = path.getParent(); } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicGraphicsUtils.java b/libjava/classpath/javax/swing/plaf/basic/BasicGraphicsUtils.java index 1e84be93282..4c270682d88 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicGraphicsUtils.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicGraphicsUtils.java @@ -748,7 +748,6 @@ public class BasicGraphicsUtils } } - /** * Determines the preferred width and height of an AbstractButton, * given the gap between the button’s text and icon. @@ -769,24 +768,31 @@ public class BasicGraphicsUtils public static Dimension getPreferredButtonSize(AbstractButton b, int textIconGap) { - Rectangle contentRect; - Rectangle viewRect; - Rectangle iconRect = new Rectangle(); - Rectangle textRect = new Rectangle(); - Insets insets = b.getInsets(); - - viewRect = new Rectangle(); - - /* java.awt.Toolkit.getFontMetrics is deprecated. However, it - * seems not obvious how to get to the correct FontMetrics object - * otherwise. The real problem probably is that the method - * javax.swing.SwingUtilities.layoutCompundLabel should take a - * LineMetrics, not a FontMetrics argument. But fixing this that - * would change the public API. - */ + // These cached rectangles are use here and in BasicButtonUI.paint(), + // so these two methods must never be executed concurrently. Maybe + // we must use other Rectangle instances here. OTOH, Swing is + // designed to be not thread safe, and every layout and paint operation + // should be performed from the EventDispatchThread, so it _should_ be + // OK to do this optimization. + Rectangle viewRect = BasicButtonUI.viewR; + viewRect.x = 0; + viewRect.y = 0; + viewRect.width = Short.MAX_VALUE; + viewRect.height = Short.MAX_VALUE; + Rectangle iconRect = BasicButtonUI.iconR; + iconRect.x = 0; + iconRect.y = 0; + iconRect.width = 0; + iconRect.height = 0; + Rectangle textRect = BasicButtonUI.textR; + textRect.x = 0; + textRect.y = 0; + textRect.width = 0; + textRect.height = 0; + SwingUtilities.layoutCompoundLabel( b, // for the component orientation - b.getToolkit().getFontMetrics(b.getFont()), // see comment above + b.getFontMetrics(b.getFont()), // see comment above b.getText(), b.getIcon(), b.getVerticalAlignment(), @@ -804,13 +810,12 @@ public class BasicGraphicsUtils * +------------------------+ +------------------------+ */ - contentRect = textRect.union(iconRect); - - return new Dimension(insets.left - + contentRect.width - + insets.right + b.getHorizontalAlignment(), - insets.top - + contentRect.height - + insets.bottom); + Rectangle contentRect = + SwingUtilities.computeUnion(textRect.x, textRect.y, textRect.width, + textRect.height, iconRect); + + Insets insets = b.getInsets(); + return new Dimension(insets.left + contentRect.width + insets.right, + insets.top + contentRect.height + insets.bottom); } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicHTML.java b/libjava/classpath/javax/swing/plaf/basic/BasicHTML.java index 98c9cb277f4..6e26d5355a2 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicHTML.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicHTML.java @@ -48,6 +48,7 @@ import java.io.StringReader; import javax.swing.JComponent; import javax.swing.SwingConstants; import javax.swing.event.DocumentEvent; +import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.EditorKit; @@ -107,6 +108,7 @@ public class BasicHTML editorKit = kit; document = doc; setView(view); + setSize(view.getPreferredSpan(X_AXIS), view.getPreferredSpan(Y_AXIS)); } /** @@ -150,6 +152,14 @@ public class BasicHTML view = v; } + /** + * Overridden to forward to real view. + */ + public void setSize(float w, float h) + { + view.setSize(w, h); + } + /** * Returns the real root view, regardless of the index. * @@ -346,6 +356,22 @@ public class BasicHTML { return document; } + + /** + * Overridden to return null, as a RootView has no attributes on its own. + */ + public AttributeSet getAttributes() + { + return null; + } + + /** + * Overridden to provide an element for the view. + */ + public Element getElement() + { + return view.getElement(); + } } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java b/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java index 11980f6ca2e..ea8b4603691 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java @@ -177,9 +177,15 @@ public class BasicInternalFrameTitlePane extends JComponent try { if (frame.isMaximizable() && ! frame.isMaximum()) - frame.setMaximum(true); + { + frame.setMaximum(true); + maxButton.setIcon(minIcon); + } else if (frame.isMaximum()) - frame.setMaximum(false); + { + frame.setMaximum(false); + maxButton.setIcon(maxIcon); + } } catch (PropertyVetoException pve) { diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java index 8f2181336cb..87c5268c8c7 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java @@ -459,18 +459,12 @@ public class BasicInternalFrameUI extends InternalFrameUI { if (frame.isMaximum()) { - JDesktopPane pane = (JDesktopPane) e.getSource(); - Insets insets = pane.getInsets(); - Rectangle bounds = pane.getBounds(); - - frame.setBounds(bounds.x + insets.left, bounds.y + insets.top, - bounds.width - insets.left - insets.right, - bounds.height - insets.top - insets.bottom); - frame.revalidate(); - frame.repaint(); + Container parent = frame.getParent(); + Insets i = parent.getInsets(); + int width = parent.getWidth() - i.left - i.right; + int height = parent.getHeight() - i.top - i.bottom; + frame.setBounds(0, 0, width, height); } - - // Sun also resizes the icons. but it doesn't seem to do anything. } /** @@ -949,17 +943,25 @@ public class BasicInternalFrameUI extends InternalFrameUI { if (evt.getNewValue() == Boolean.TRUE) { + Container parent = frame.getParent(); + if (parent != null) + parent.removeComponentListener(componentListener); closeFrame(frame); } } - /* - * FIXME: need to add ancestor properties to JComponents. else if - * (evt.getPropertyName().equals(JComponent.ANCESTOR_PROPERTY)) { if - * (desktopPane != null) - * desktopPane.removeComponentListener(componentListener); desktopPane = - * frame.getDesktopPane(); if (desktopPane != null) - * desktopPane.addComponentListener(componentListener); } - */ + else if (property.equals("ancestor")) + { + Container newParent = (Container) evt.getNewValue(); + Container oldParent = (Container) evt.getOldValue(); + if (newParent != null) + { + newParent.addComponentListener(componentListener); + } + else if (oldParent != null) + { + oldParent.removeComponentListener(componentListener); + } + } } } @@ -1258,6 +1260,12 @@ public class BasicInternalFrameUI extends InternalFrameUI frame.addPropertyChangeListener(propertyChangeListener); frame.getRootPane().getGlassPane().addMouseListener(glassPaneDispatcher); frame.getRootPane().getGlassPane().addMouseMotionListener(glassPaneDispatcher); + + Container parent = frame.getParent(); + if (parent != null) + { + parent.addComponentListener(componentListener); + } } /** @@ -1286,8 +1294,13 @@ public class BasicInternalFrameUI extends InternalFrameUI */ protected void uninstallListeners() { - if (desktopPane != null) - desktopPane.removeComponentListener(componentListener); + + Container parent = frame.getParent(); + if (parent != null) + { + parent.removeComponentListener(componentListener); + } + componentListener = null; frame.getRootPane().getGlassPane().removeMouseMotionListener(glassPaneDispatcher); frame.getRootPane().getGlassPane().removeMouseListener(glassPaneDispatcher); @@ -1298,7 +1311,7 @@ public class BasicInternalFrameUI extends InternalFrameUI frame.removeMouseListener(borderListener); propertyChangeListener = null; - componentListener = null; + borderListener = null; internalFrameListener = null; glassPaneDispatcher = null; @@ -1581,6 +1594,13 @@ public class BasicInternalFrameUI extends InternalFrameUI { replacePane(northPane, c); northPane = c; + // the following is needed to make internal frames draggable when using + // the JGoodies PlasticLookAndFeel, because it overrides the + // createNorthPane() method and doesn't assign anything to the titlePane + // field. It is possible there is another way to make this work, but + // I didn't find it... + if (c instanceof BasicInternalFrameTitlePane) + titlePane = (BasicInternalFrameTitlePane) c; } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java index 304e13ad735..1ec020b1c0b 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java @@ -119,13 +119,37 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener { JLabel lab = (JLabel) c; Insets insets = lab.getInsets(); - FontMetrics fm = lab.getFontMetrics(lab.getFont()); - layoutCL(lab, fm, lab.getText(), lab.getIcon(), vr, ir, tr); - Rectangle cr = SwingUtilities.computeUnion(tr.x, tr.y, tr.width, tr.height, - ir); - return new Dimension(insets.left + cr.width + insets.right, insets.top - + cr.height + insets.bottom); - + int insetsX = insets.left + insets.right; + int insetsY = insets.top + insets.bottom; + Icon icon = lab.getIcon(); + String text = lab.getText(); + Dimension ret; + if (icon == null && text == null) + ret = new Dimension(insetsX, insetsY); + else if (icon != null && text == null) + ret = new Dimension(icon.getIconWidth() + insetsX, + icon.getIconHeight() + insetsY); + else + { + FontMetrics fm = lab.getFontMetrics(lab.getFont()); + ir.x = 0; + ir.y = 0; + ir.width = 0; + ir.height = 0; + tr.x = 0; + tr.y = 0; + tr.width = 0; + tr.height = 0; + vr.x = 0; + vr.y = 0; + vr.width = Short.MAX_VALUE; + vr.height = Short.MAX_VALUE; + layoutCL(lab, fm, text, icon, vr, ir, tr); + Rectangle cr = SwingUtilities.computeUnion(tr.x, tr.y, tr.width, + tr.height, ir); + ret = new Dimension(cr.width + insetsX, cr.height + insetsY); + } + return ret; } /** @@ -166,13 +190,20 @@ public class BasicLabelUI extends LabelUI implements PropertyChangeListener { JLabel b = (JLabel) c; FontMetrics fm = g.getFontMetrics(); - vr = SwingUtilities.calculateInnerArea(c, vr); - - if (vr.width < 0) - vr.width = 0; - if (vr.height < 0) - vr.height = 0; + Insets i = c.getInsets(); + vr.x = i.left; + vr.y = i.right; + vr.width = c.getWidth() - i.left + i.right; + vr.height = c.getHeight() - i.top + i.bottom; + ir.x = 0; + ir.y = 0; + ir.width = 0; + ir.height = 0; + tr.x = 0; + tr.y = 0; + tr.width = 0; + tr.height = 0; Icon icon = (b.isEnabled()) ? b.getIcon() : b.getDisabledIcon(); String text = layoutCL(b, fm, b.getText(), icon, vr, ir, tr); diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicListUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicListUI.java index 493fc0578e3..befc227364a 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicListUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicListUI.java @@ -921,7 +921,7 @@ public class BasicListUI extends ListUI */ protected void maybeUpdateLayoutState() { - if (updateLayoutStateNeeded != 0) + if (updateLayoutStateNeeded != 0 || !list.isValid()) { updateLayoutState(); updateLayoutStateNeeded = 0; diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java b/libjava/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java index c056a2403f9..15430945468 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java @@ -1062,8 +1062,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel "ProgressBar.repaintInterval", new Integer(50), "ProgressBar.cycleTime", new Integer(3000), "RadioButton.background", new ColorUIResource(light), - "RadioButton.border", new BorderUIResource.CompoundBorderUIResource(null, - null), + "RadioButton.border", BasicBorders.getRadioButtonBorder(), "RadioButton.darkShadow", new ColorUIResource(shadow), "RadioButton.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { KeyStroke.getKeyStroke("SPACE"), "pressed", @@ -1183,6 +1182,10 @@ public abstract class BasicLookAndFeel extends LookAndFeel "Slider.thumbHeight", new Integer(20), "Slider.thumbWidth", new Integer(11), "Slider.tickHeight", new Integer(12), + "Slider.horizontalSize", new Dimension(200, 21), + "Slider.verticalSize", new Dimension(21, 200), + "Slider.minimumHorizontalSize", new Dimension(36, 21), + "Slider.minimumVerticalSize", new Dimension(21, 36), "Spinner.background", new ColorUIResource(light), "Spinner.foreground", new ColorUIResource(light), "Spinner.arrowButtonSize", new DimensionUIResource(16, 5), @@ -1218,10 +1221,10 @@ public abstract class BasicLookAndFeel extends LookAndFeel "ctrl UP", "requestFocus", "ctrl KP_UP", "requestFocus" }), - "TabbedPane.background", new ColorUIResource(light), + "TabbedPane.background", new ColorUIResource(192, 192, 192), "TabbedPane.contentBorderInsets", new InsetsUIResource(2, 2, 3, 3), - "TabbedPane.darkShadow", new ColorUIResource(shadow), - "TabbedPane.focus", new ColorUIResource(darkShadow), + "TabbedPane.darkShadow", new ColorUIResource(Color.black), + "TabbedPane.focus", new ColorUIResource(Color.black), "TabbedPane.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { KeyStroke.getKeyStroke("ctrl DOWN"), "requestFocusForVisibleComponent", KeyStroke.getKeyStroke("KP_UP"), "navigateUp", @@ -1235,17 +1238,16 @@ public abstract class BasicLookAndFeel extends LookAndFeel KeyStroke.getKeyStroke("DOWN"), "navigateDown" }), "TabbedPane.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "TabbedPane.foreground", new ColorUIResource(darkShadow), - "TabbedPane.highlight", new ColorUIResource(highLight), - "TabbedPane.light", new ColorUIResource(highLight), + "TabbedPane.foreground", new ColorUIResource(Color.black), + "TabbedPane.highlight", new ColorUIResource(Color.white), + "TabbedPane.light", new ColorUIResource(192, 192, 192), "TabbedPane.selectedTabPadInsets", new InsetsUIResource(2, 2, 2, 1), - "TabbedPane.shadow", new ColorUIResource(shadow), - "TabbedPane.tabbedPaneContentBorderInsets", new InsetsUIResource(3, 2, 1, 2), - "TabbedPane.tabbedPaneTabPadInsets", new InsetsUIResource(1, 1, 1, 1), + "TabbedPane.shadow", new ColorUIResource(128, 128, 128), "TabbedPane.tabsOpaque", Boolean.TRUE, "TabbedPane.tabAreaInsets", new InsetsUIResource(3, 2, 0, 2), "TabbedPane.tabInsets", new InsetsUIResource(0, 4, 1, 4), "TabbedPane.tabRunOverlay", new Integer(2), + "TabbedPane.tabsOverlapBorder", Boolean.FALSE, "TabbedPane.textIconGap", new Integer(4), "Table.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { "ctrl DOWN", "selectNextRowChangeLead", diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicMenuItemUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicMenuItemUI.java index bbc08535cdc..5fafb4108b2 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicMenuItemUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicMenuItemUI.java @@ -180,17 +180,9 @@ public class BasicMenuItemUI extends MenuItemUI private ItemListener itemListener; /** - * Number of spaces between accelerator and menu item's label. + * A PropertyChangeListener to make UI updates after property changes. */ - private int defaultAcceleratorLabelGap = 10; - - /** - * The gap between different menus on the MenuBar. - */ - private int MenuGap = 10; - - /** A PropertyChangeListener to make UI updates after property changes **/ - PropertyChangeHandler propertyChangeListener; + private PropertyChangeHandler propertyChangeListener; /** * The view rectangle used for layout of the menu item. @@ -262,7 +254,6 @@ public class BasicMenuItemUI extends MenuItemUI || property.equals("font")) && SystemProperties.getProperty("gnu.javax.swing.noGraphics2D") == null) - { AbstractButton b = (AbstractButton) e.getSource(); String text = b.getText(); @@ -373,7 +364,7 @@ public class BasicMenuItemUI extends MenuItemUI */ protected void doClick(MenuSelectionManager msm) { - menuItem.doClick(); + menuItem.doClick(0); msm.clearSelectedPath(); } @@ -411,14 +402,10 @@ public class BasicMenuItemUI extends MenuItemUI { ArrayList path = new ArrayList(); - // Path to menu should also include its popup menu. - if (menuItem instanceof JMenu) - path.add(((JMenu) menuItem).getPopupMenu()); - Component c = menuItem; while (c instanceof MenuElement) { - path.add(0, (MenuElement) c); + path.add(0, c); if (c instanceof JPopupMenu) c = ((JPopupMenu) c).getInvoker(); @@ -453,6 +440,7 @@ public class BasicMenuItemUI extends MenuItemUI // Layout the menu item. The result gets stored in the rectangle // fields of this class. + resetRectangles(null); layoutMenuItem(m, accelText); // The union of the text and icon areas is the label area. @@ -606,6 +594,11 @@ public class BasicMenuItemUI extends MenuItemUI menuItem.addMenuKeyListener(menuKeyListener); menuItem.addItemListener(itemListener); menuItem.addPropertyChangeListener(propertyChangeListener); + // Fire synthetic property change event to let the listener update + // the TextLayout cache. + propertyChangeListener.propertyChange(new PropertyChangeEvent(menuItem, + "font", null, + menuItem.getFont())); } /** @@ -704,6 +697,8 @@ public class BasicMenuItemUI extends MenuItemUI // Layout menu item. The result gets stored in the rectangle fields // of this class. + resetRectangles(m); + layoutMenuItem(m, accelText); // Paint the background. @@ -936,6 +931,7 @@ public class BasicMenuItemUI extends MenuItemUI uninstallListeners(); uninstallDefaults(); uninstallComponents(menuItem); + c.putClientProperty(BasicGraphicsUtils.CACHED_TEXT_LAYOUT, null); menuItem = null; } @@ -952,47 +948,6 @@ public class BasicMenuItemUI extends MenuItemUI paint(g, c); } - /** - * Return text representation of the specified accelerator - * - * @param accelerator - * Accelerator for which to return string representation - * @return $String$ Text representation of the given accelerator - */ - private String getAcceleratorText(KeyStroke accelerator) - { - // convert keystroke into string format - String modifiersText = ""; - int modifiers = accelerator.getModifiers(); - char keyChar = accelerator.getKeyChar(); - int keyCode = accelerator.getKeyCode(); - - if (modifiers != 0) - modifiersText = KeyEvent.getKeyModifiersText(modifiers) - + acceleratorDelimiter; - - if (keyCode == KeyEvent.VK_UNDEFINED) - return modifiersText + keyChar; - else - return modifiersText + KeyEvent.getKeyText(keyCode); - } - - /** - * Calculates and return rectange in which accelerator should be displayed - * - * @param accelerator - * accelerator for which to return the display rectangle - * @param fm - * The font metrics used to measure the text - * @return $Rectangle$ reactangle which will be used to display accelerator - */ - private Rectangle getAcceleratorRect(KeyStroke accelerator, FontMetrics fm) - { - int width = fm.stringWidth(getAcceleratorText(accelerator)); - int height = fm.getHeight(); - return new Rectangle(0, 0, width, height); - } - /** * This class handles mouse events occuring inside the menu item. Most of the * events are forwarded for processing to MenuSelectionManager of the current @@ -1103,15 +1058,14 @@ public class BasicMenuItemUI extends MenuItemUI */ public void mouseReleased(MouseEvent e) { - Rectangle size = menuItem.getBounds(); MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - if (e.getX() > 0 && e.getX() < size.width && e.getY() > 0 - && e.getY() < size.height) + int x = e.getX(); + int y = e.getY(); + if (x > 0 && x < menuItem.getWidth() && y > 0 + && y < menuItem.getHeight()) { - manager.clearSelectedPath(); - menuItem.doClick(); + doClick(manager); } - else manager.processMouseEvent(e); } @@ -1130,7 +1084,7 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseDragged(MenuDragMouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); + MenuSelectionManager manager = e.getMenuSelectionManager(); manager.setSelectedPath(e.getPath()); } @@ -1143,7 +1097,7 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseEntered(MenuDragMouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); + MenuSelectionManager manager = e.getMenuSelectionManager(); manager.setSelectedPath(e.getPath()); } @@ -1155,7 +1109,7 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseExited(MenuDragMouseEvent e) { - // TODO: What should be done here, if anything? + // Nothing to do here yet. } /** @@ -1167,13 +1121,14 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseReleased(MenuDragMouseEvent e) { - MenuElement[] path = e.getPath(); - - if (path[path.length - 1] instanceof JMenuItem) - ((JMenuItem) path[path.length - 1]).doClick(); - - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - manager.clearSelectedPath(); + MenuSelectionManager manager = e.getMenuSelectionManager(); + int x = e.getX(); + int y = e.getY(); + if (x >= 0 && x < menuItem.getWidth() && y >= 0 + && y < menuItem.getHeight()) + doClick(manager); + else + manager.clearSelectedPath(); } } @@ -1275,32 +1230,41 @@ public class BasicMenuItemUI extends MenuItemUI } /** - * A helper method that lays out the menu item. The layout is stored - * in the fields of this class. + * Resets the cached layout rectangles. If i is not null, then + * the view rectangle is set to the inner area of the component, otherwise + * it is set to (0, 0, Short.MAX_VALUE, Short.MAX_VALUE), this is needed + * for layouting. * - * @param m the menu item to layout - * @param accelText the accelerator text + * @param i the component for which to initialize the rectangles */ - private void layoutMenuItem(JMenuItem m, String accelText) + private void resetRectangles(JMenuItem i) { - int width = m.getWidth(); - int height = m.getHeight(); - // Reset rectangles. iconRect.setBounds(0, 0, 0, 0); textRect.setBounds(0, 0, 0, 0); accelRect.setBounds(0, 0, 0, 0); checkIconRect.setBounds(0, 0, 0, 0); arrowIconRect.setBounds(0, 0, 0, 0); - viewRect.setBounds(0, 0, width, height); - - // Substract insets to the view rect. - Insets insets = m.getInsets(); - viewRect.x += insets.left; - viewRect.y += insets.top; - viewRect.width -= insets.left + insets.right; - viewRect.height -= insets.top + insets.bottom; + if (i == null) + viewRect.setBounds(0, 0, Short.MAX_VALUE, Short.MAX_VALUE); + else + { + Insets insets = i.getInsets(); + viewRect.setBounds(insets.left, insets.top, + i.getWidth() - insets.left - insets.right, + i.getHeight() - insets.top - insets.bottom); + } + } + /** + * A helper method that lays out the menu item. The layout is stored + * in the fields of this class. + * + * @param m the menu item to layout + * @param accelText the accelerator text + */ + private void layoutMenuItem(JMenuItem m, String accelText) + { // Fetch the fonts. Font font = m.getFont(); FontMetrics fm = m.getFontMetrics(font); diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java index 7d8784fd15a..355e0435ec8 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java @@ -41,16 +41,22 @@ package javax.swing.plaf.basic; import gnu.classpath.NotImplementedException; import java.awt.Component; +import java.awt.Container; import java.awt.Dimension; +import java.awt.Point; +import java.awt.event.ActionEvent; import java.awt.event.MouseEvent; import java.beans.PropertyChangeListener; +import javax.swing.AbstractAction; import javax.swing.JComponent; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JPopupMenu; import javax.swing.LookAndFeel; +import javax.swing.MenuElement; import javax.swing.MenuSelectionManager; +import javax.swing.Timer; import javax.swing.UIDefaults; import javax.swing.UIManager; import javax.swing.event.ChangeEvent; @@ -69,6 +75,32 @@ import javax.swing.plaf.ComponentUI; */ public class BasicMenuUI extends BasicMenuItemUI { + /** + * Selects a menu. This is used to delay menu selection. + */ + class SelectMenuAction + extends AbstractAction + { + /** + * Performs the action. + */ + public void actionPerformed(ActionEvent event) + { + JMenu menu = (JMenu) menuItem; + MenuSelectionManager defaultManager = + MenuSelectionManager.defaultManager(); + MenuElement path[] = defaultManager.getSelectedPath(); + if(path.length > 0 && path[path.length - 1] == menu) + { + MenuElement newPath[] = new MenuElement[path.length + 1]; + System.arraycopy(path, 0, newPath, 0, path.length); + newPath[path.length] = menu.getPopupMenu(); + defaultManager.setSelectedPath(newPath); + } + } + + } + protected ChangeListener changeListener; /* MenuListener listens to MenuEvents fired by JMenu */ @@ -201,6 +233,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ protected void installDefaults() { + LookAndFeel.installBorder(menuItem, "Menu.border"); LookAndFeel.installColorsAndFont(menuItem, "Menu.background", "Menu.foreground", "Menu.font"); @@ -212,6 +245,7 @@ public class BasicMenuUI extends BasicMenuItemUI selectionForeground = UIManager.getColor("Menu.selectionForeground"); arrowIcon = UIManager.getIcon("Menu.arrowIcon"); oldBorderPainted = UIManager.getBoolean("Menu.borderPainted"); + ((JMenu) menuItem).setDelay(200); } /** @@ -234,9 +268,10 @@ public class BasicMenuUI extends BasicMenuItemUI } protected void setupPostTimer(JMenu menu) - throws NotImplementedException { - // TODO: Implement this properly. + Timer timer = new Timer(menu.getDelay(), new SelectMenuAction()); + timer.setRepeats(false); + timer.start(); } /** @@ -285,8 +320,7 @@ public class BasicMenuUI extends BasicMenuItemUI { public void mouseClicked(MouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - manager.processMouseEvent(e); + // Nothing to do here. } public void mouseDragged(MouseEvent e) @@ -313,29 +347,46 @@ public class BasicMenuUI extends BasicMenuItemUI public void mouseEntered(MouseEvent e) { - /* When mouse enters menu item, it should be considered selected - - if (i) if this menu is a submenu in some other menu - (ii) or if this menu is in a menu bar and some other menu in a - menu bar was just selected and has its popup menu visible. - (If nothing was selected, menu should be pressed before - it will be selected) - */ JMenu menu = (JMenu) menuItem; - - // NOTE: the following if used to require !menu.isArmed but I could find - // no reason for this and it was preventing some JDK-compatible behaviour. - // Specifically, if a menu is selected but its popup menu not visible, - // and then another menu is selected whose popup menu IS visible, when - // the mouse is moved over the first menu, its popup menu should become - // visible. - - if (! menu.isTopLevelMenu() || popupVisible()) + if (menu.isEnabled()) { - // set new selection and forward this event to MenuSelectionManager - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - manager.setSelectedPath(getPath()); - manager.processMouseEvent(e); + MenuSelectionManager manager = + MenuSelectionManager.defaultManager(); + MenuElement[] selectedPath = manager.getSelectedPath(); + if (! menu.isTopLevelMenu()) + { + // Open the menu immediately or delayed, depending on the + // delay value. + if(! (selectedPath.length > 0 + && selectedPath[selectedPath.length - 1] == menu.getPopupMenu())) + { + if(menu.getDelay() == 0) + { + MenuElement[] path = getPath(); + MenuElement[] newPath = new MenuElement[path.length + 1]; + System.arraycopy(path, 0, newPath, 0, path.length); + newPath[path.length] = menu.getPopupMenu(); + manager.setSelectedPath(newPath); + } + else + { + manager.setSelectedPath(getPath()); + setupPostTimer(menu); + } + } + } + else + { + if(selectedPath.length > 0 + && selectedPath[0] == menu.getParent()) + { + MenuElement[] newPath = new MenuElement[3]; + newPath[0] = (MenuElement) menu.getParent(); + newPath[1] = menu; + newPath[2] = menu.getPopupMenu(); + manager.setSelectedPath(newPath); + } + } } } @@ -354,29 +405,48 @@ public class BasicMenuUI extends BasicMenuItemUI { MenuSelectionManager manager = MenuSelectionManager.defaultManager(); JMenu menu = (JMenu) menuItem; - manager.processMouseEvent(e); - - // Menu should be displayed when the menu is pressed only if - // it is top-level menu - if (menu.isTopLevelMenu()) + if (menu.isEnabled()) { - if (menu.getPopupMenu().isVisible()) - // If menu is visible and menu button was pressed.. - // then need to cancel the menu - manager.clearSelectedPath(); - else - { - // Display the menu - int x = 0; - int y = menu.getHeight(); - - manager.setSelectedPath(getPath()); - - JMenuBar mb = (JMenuBar) menu.getParent(); - - // set selectedIndex of the selectionModel of a menuBar - mb.getSelectionModel().setSelectedIndex(mb.getComponentIndex(menu)); - } + // Open up the menu immediately if it's a toplevel menu. + // But not yet the popup, which might be opened delayed, see below. + if (menu.isTopLevelMenu()) + { + if (menu.isSelected()) + manager.clearSelectedPath(); + else + { + Container cnt = menu.getParent(); + if (cnt != null && cnt instanceof JMenuBar) + { + MenuElement[] me = new MenuElement[2]; + me[0] = (MenuElement) cnt; + me[1] = menu; + manager.setSelectedPath(me); + } + } + } + + // Open the menu's popup. Either do that immediately if delay == 0, + // or delayed when delay > 0. + MenuElement[] selectedPath = manager.getSelectedPath(); + if (selectedPath.length > 0 + && selectedPath[selectedPath.length - 1] != menu.getPopupMenu()) + { + if(menu.isTopLevelMenu() || menu.getDelay() == 0) + { + MenuElement[] newPath = + new MenuElement[selectedPath.length + 1]; + System.arraycopy(selectedPath, 0, newPath, 0, + selectedPath.length); + newPath[selectedPath.length] = menu.getPopupMenu(); + manager.setSelectedPath(newPath); + } + else + { + setupPostTimer(menu); + } + } + } } @@ -493,8 +563,44 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuDragMouseDragged(MenuDragMouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - manager.setSelectedPath(e.getPath()); + if (menuItem.isEnabled()) + { + MenuSelectionManager manager = e.getMenuSelectionManager(); + MenuElement path[] = e.getPath(); + + Point p = e.getPoint(); + if(p.x >= 0 && p.x < menuItem.getWidth() + && p.y >= 0 && p.y < menuItem.getHeight()) + { + JMenu menu = (JMenu) menuItem; + MenuElement[] selectedPath = manager.getSelectedPath(); + if(! (selectedPath.length > 0 + && selectedPath[selectedPath.length-1] + == menu.getPopupMenu())) + { + if(menu.isTopLevelMenu() || menu.getDelay() == 0 + || e.getID() == MouseEvent.MOUSE_DRAGGED) + { + MenuElement[] newPath = new MenuElement[path.length + 1]; + System.arraycopy(path, 0, newPath, 0, path.length); + newPath[path.length] = menu.getPopupMenu(); + manager.setSelectedPath(newPath); + } + else + { + manager.setSelectedPath(path); + setupPostTimer(menu); + } + } + } + else if (e.getID() == MouseEvent.MOUSE_RELEASED) + { + Component comp = manager.componentForPoint(e.getComponent(), + e.getPoint()); + if (comp == null) + manager.clearSelectedPath(); + } + } } /** @@ -505,8 +611,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuDragMouseEntered(MenuDragMouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - manager.setSelectedPath(e.getPath()); + // Nothing to do here. } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java index aed4d69d6d5..bfb9e98dbc9 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java @@ -52,6 +52,7 @@ import javax.swing.JComponent; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; +import javax.swing.text.View; /** * The BasicLookAndFeel UI implementation for @@ -81,7 +82,7 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI */ public BasicRadioButtonUI() { - icon = getDefaultIcon(); + // nothing to do } /** @@ -93,6 +94,7 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI protected void installDefaults(AbstractButton b) { super.installDefaults(b); + icon = UIManager.getIcon(getPropertyPrefix() + "icon"); } /** @@ -116,7 +118,7 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI */ public Icon getDefaultIcon() { - return UIManager.getIcon(getPropertyPrefix() + "icon"); + return icon; } /** @@ -128,40 +130,92 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI public void paint(Graphics g, JComponent c) { AbstractButton b = (AbstractButton) c; - - Rectangle tr = new Rectangle(); - Rectangle ir = new Rectangle(); - Rectangle vr = new Rectangle(); + Dimension size = c.getSize(); + Insets i = b.getInsets(); + textR.x = 0; + textR.y = 0; + textR.width = 0; + textR.height = 0; + iconR.x = 0; + iconR.y = 0; + iconR.width = 0; + iconR.height = 0; + viewR.x = i.left; + viewR.y = i.right; + viewR.width = size.width - i.left - i.right; + viewR.height = size.height - i.top - i.bottom; Font f = c.getFont(); g.setFont(f); ButtonModel m = b.getModel(); - // FIXME: Do a filtering on any customized icon if the following property - // is set. - boolean enabled = b.isEnabled(); - - Icon currentIcon = b.getIcon(); - if (currentIcon == null) - { - currentIcon = getDefaultIcon(); - } - - SwingUtilities.calculateInnerArea(b, vr); + // This is the icon that we use for layout. + Icon icon = b.getIcon(); + if (icon == null) + icon = getDefaultIcon(); + + // Do the layout. String text = SwingUtilities.layoutCompoundLabel(c, g.getFontMetrics(f), - b.getText(), currentIcon, + b.getText(), icon, b.getVerticalAlignment(), b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), - vr, ir, tr, b.getIconTextGap() + defaultTextShiftOffset); - - currentIcon.paintIcon(c, g, ir.x, ir.y); - + viewR, iconR, textR, b.getIconTextGap()); + + // Figure out the correct icon. + icon = b.getIcon(); + if (icon == null) + icon = getDefaultIcon(); + else + { + if (! m.isEnabled()) + { + if (m.isSelected()) + icon = b.getDisabledSelectedIcon(); + else + icon = b.getDisabledIcon(); + } + else if (m.isArmed() && m.isPressed()) + { + icon = b.getPressedIcon(); + if (icon == null) + icon = b.getSelectedIcon(); + } + else if (m.isSelected()) + { + if (b.isRolloverEnabled() && m.isRollover()) + { + icon = b.getRolloverSelectedIcon(); + if (icon == null) + icon = b.getSelectedIcon(); + } + else + icon = b.getSelectedIcon(); + } + else if (b.isRolloverEnabled() && m.isRollover()) + icon = b.getRolloverIcon(); + if (icon == null) + icon = b.getIcon(); + } + // .. and paint it. + icon.paintIcon(c, g, iconR.x, iconR.y); + + // Paint text and focus indicator. if (text != null) - paintText(g, b, tr, text); - if (b.hasFocus() && b.isFocusPainted() && m.isEnabled()) - paintFocus(g, tr, c.getSize()); + { + // Maybe render HTML in the radio button. + View v = (View) c.getClientProperty(BasicHTML.propertyKey); + if (v != null) + v.paint(g, textR); + else + paintText(g, b, textR, text); + + // Paint focus indicator if necessary. + if (b.hasFocus() && b.isFocusPainted() + && textR.width > 0 && textR.height > 0) + paintFocus(g, textR, size); + } } public Dimension getPreferredSize(JComponent c) @@ -174,38 +228,40 @@ public class BasicRadioButtonUI extends BasicToggleButtonUI // The other icon properties are ignored. AbstractButton b = (AbstractButton) c; - Rectangle contentRect; - Rectangle viewRect; - Rectangle iconRect = new Rectangle(); - Rectangle textRect = new Rectangle(); Insets insets = b.getInsets(); - + + String text = b.getText(); Icon i = b.getIcon(); if (i == null) i = getDefaultIcon(); - viewRect = new Rectangle(); - - SwingUtilities.layoutCompoundLabel( - b, // for the component orientation - b.getFontMetrics(b.getFont()), - b.getText(), - i, - b.getVerticalAlignment(), - b.getHorizontalAlignment(), - b.getVerticalTextPosition(), - b.getHorizontalTextPosition(), - viewRect, iconRect, textRect, - defaultTextIconGap + defaultTextShiftOffset); - - contentRect = textRect.union(iconRect); - - return new Dimension(insets.left - + contentRect.width - + insets.right + b.getHorizontalAlignment(), - insets.top - + contentRect.height - + insets.bottom); + textR.x = 0; + textR.y = 0; + textR.width = 0; + textR.height = 0; + iconR.x = 0; + iconR.y = 0; + iconR.width = 0; + iconR.height = 0; + viewR.x = 0; + viewR.y = 0; + viewR.width = Short.MAX_VALUE; + viewR.height = Short.MAX_VALUE; + + SwingUtilities.layoutCompoundLabel(b, // for the component orientation + b.getFontMetrics(b.getFont()), + text, i, b.getVerticalAlignment(), + b.getHorizontalAlignment(), + b.getVerticalTextPosition(), + b.getHorizontalTextPosition(), + viewR, iconR, textR, + text == null ? 0 : b.getIconTextGap()); + + Rectangle r = SwingUtilities.computeUnion(textR.x, textR.y, textR.width, + textR.height, iconR); + + return new Dimension(insets.left + r.width + insets.right, + insets.top + r.height + insets.bottom); } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicScrollBarUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicScrollBarUI.java index 78e5168fc80..400ede03ce9 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicScrollBarUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicScrollBarUI.java @@ -760,10 +760,7 @@ public class BasicScrollBarUI extends ScrollBarUI implements LayoutManager, scrollbar.setOpaque(true); scrollbar.setLayout(this); - thumbColor = UIManager.getColor("ScrollBar.thumb"); - thumbDarkShadowColor = UIManager.getColor("ScrollBar.thumbDarkShadow"); - thumbHighlightColor = UIManager.getColor("ScrollBar.thumbHighlight"); - thumbLightShadowColor = UIManager.getColor("ScrollBar.thumbShadow"); + configureScrollBarColors(); maximumThumbSize = UIManager.getDimension("ScrollBar.maximumThumbSize"); minimumThumbSize = UIManager.getDimension("ScrollBar.minimumThumbSize"); @@ -1228,8 +1225,36 @@ public class BasicScrollBarUI extends ScrollBarUI implements LayoutManager, */ protected void scrollByBlock(int direction) { - scrollbar.setValue(scrollbar.getValue() - + scrollbar.getBlockIncrement(direction)); + scrollByBlock(scrollbar, direction); + } + + /** + * Scrolls the specified scrollBar by one block (according + * to the scrollable protocol) in the specified direction. + * + * This method is here statically to support wheel scrolling from the + * BasicScrollPaneUI without code duplication. + * + * @param scrollBar the scrollbar to scroll + * @param direction the scroll direction + */ + static final void scrollByBlock(JScrollBar scrollBar, int direction) + { + int delta; + if (direction > 0) + delta = scrollBar.getBlockIncrement(direction); + else + delta = - scrollBar.getBlockIncrement(direction); + int oldValue = scrollBar.getValue(); + int newValue = oldValue + delta; + + // Overflow check. + if (delta > 0 && newValue < oldValue) + newValue = scrollBar.getMaximum(); + else if (delta < 0 && newValue > oldValue) + newValue = scrollBar.getMinimum(); + + scrollBar.setValue(newValue); } /** @@ -1239,8 +1264,46 @@ public class BasicScrollBarUI extends ScrollBarUI implements LayoutManager, */ protected void scrollByUnit(int direction) { - scrollbar.setValue(scrollbar.getValue() - + scrollbar.getUnitIncrement(direction)); + scrollByUnits(scrollbar, direction, 1); + } + + /** + * Scrolls the specified scrollbac/code> by units units + * in the specified direction. + * + * This method is here statically to support wheel scrolling from the + * BasicScrollPaneUI without code duplication. + * + * @param scrollBar the scrollbar to scroll + * @param direction the direction + * @param units the number of units to scroll + */ + static final void scrollByUnits(JScrollBar scrollBar, int direction, + int units) + { + // Do this inside a loop so that we don't clash with the scrollable + // interface, which can return different units at times. For instance, + // a Scrollable could return a unit of 2 pixels only to adjust the + // visibility of an item. If we would simply multiply this by units, + // then we would only get 6 pixels, which is complete crap. + for (int i = 0; i < units; i++) + { + int delta; + if (direction > 0) + delta = scrollBar.getUnitIncrement(direction); + else + delta = - scrollBar.getUnitIncrement(direction); + int oldValue = scrollBar.getValue(); + int newValue = oldValue + delta; + + // Overflow check. + if (delta > 0 && newValue < oldValue) + newValue = scrollBar.getMaximum(); + else if (delta < 0 && newValue > oldValue) + newValue = scrollBar.getMinimum(); + + scrollBar.setValue(newValue); + } } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java index a0616a8c1cf..a7194284050 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java @@ -38,9 +38,6 @@ exception statement from your version. */ package javax.swing.plaf.basic; -import gnu.classpath.NotImplementedException; - -import java.awt.Component; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Point; @@ -54,7 +51,6 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.AbstractAction; -import javax.swing.Action; import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.JComponent; @@ -65,15 +61,15 @@ import javax.swing.JViewport; import javax.swing.LookAndFeel; import javax.swing.ScrollPaneConstants; import javax.swing.ScrollPaneLayout; -import javax.swing.Scrollable; -import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.UIManager; +import javax.swing.border.Border; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.plaf.ActionMapUIResource; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ScrollPaneUI; +import javax.swing.plaf.UIResource; /** * A UI delegate for the {@link JScrollPane} component. @@ -102,19 +98,8 @@ public class BasicScrollPaneUI extends ScrollPaneUI JScrollBar hsb = scrollpane.getHorizontalScrollBar(); JViewport vp = scrollpane.getViewport(); Point viewPosition = vp.getViewPosition(); - int xpos = hsb.getValue(); - - if (xpos != viewPosition.x) - { - viewPosition.x = xpos; - vp.setViewPosition(viewPosition); - } - - viewPosition.y = 0; - JViewport columnHeader = scrollpane.getColumnHeader(); - if (columnHeader != null - && !columnHeader.getViewPosition().equals(viewPosition)) - columnHeader.setViewPosition(viewPosition); + viewPosition.x = hsb.getValue(); + vp.setViewPosition(viewPosition); } } @@ -139,18 +124,8 @@ public class BasicScrollPaneUI extends ScrollPaneUI JScrollBar vsb = scrollpane.getVerticalScrollBar(); JViewport vp = scrollpane.getViewport(); Point viewPosition = vp.getViewPosition(); - int ypos = vsb.getValue(); - if (ypos != viewPosition.y) - { - viewPosition.y = ypos; - vp.setViewPosition(viewPosition); - } - - viewPosition.x = 0; - JViewport rowHeader = scrollpane.getRowHeader(); - if (rowHeader != null - && !rowHeader.getViewPosition().equals(viewPosition)) - rowHeader.setViewPosition(viewPosition); + viewPosition.y = vsb.getValue(); + vp.setViewPosition(viewPosition); } } @@ -174,9 +149,6 @@ public class BasicScrollPaneUI extends ScrollPaneUI */ public void stateChanged(ChangeEvent event) { - JViewport vp = scrollpane.getViewport(); - JScrollBar hsb = scrollpane.getHorizontalScrollBar(); - JScrollBar vsb = scrollpane.getVerticalScrollBar(); syncScrollPaneWithViewport(); } @@ -254,103 +226,24 @@ public class BasicScrollPaneUI extends ScrollPaneUI */ public void mouseWheelMoved(MouseWheelEvent e) { - if (scrollpane.getViewport().getComponentCount() == 0) - return; - - Component target = scrollpane.getViewport().getComponent(0); - JScrollBar bar = scrollpane.getVerticalScrollBar(); - Scrollable scrollable = (target instanceof Scrollable) ? (Scrollable) target - : null; - - boolean tracksHeight = scrollable != null - && scrollable.getScrollableTracksViewportHeight(); - int wheel = e.getWheelRotation() * ROWS_PER_WHEEL_CLICK; - int delta; - - // If possible, scroll vertically. - if (bar != null && ! tracksHeight) + if (scrollpane.isWheelScrollingEnabled() && e.getScrollAmount() != 0) { - if (scrollable != null) + // Try to scroll vertically first. + JScrollBar scrollBar = scrollpane.getVerticalScrollBar(); + if (scrollBar == null || ! scrollBar.isVisible()) + scrollBar = scrollpane.getHorizontalScrollBar(); + if (scrollBar != null && scrollBar.isVisible()) { - bounds(target); - delta = scrollable.getScrollableUnitIncrement( - rect, SwingConstants.VERTICAL, wheel); - } - else - { - // Scroll non scrollables. - delta = wheel * SCROLL_NON_SCROLLABLES; - } - scroll(bar, delta); - } - // If not, try to scroll horizontally - else - { - bar = scrollpane.getHorizontalScrollBar(); - boolean tracksWidth = scrollable != null - && scrollable.getScrollableTracksViewportWidth(); - - if (bar != null && ! tracksWidth) - { - if (scrollable != null) - { - bounds(target); - delta = scrollable.getScrollableUnitIncrement( - rect, SwingConstants.HORIZONTAL, wheel); - } - else - { - // Scroll non scrollables. - delta = wheel * SCROLL_NON_SCROLLABLES; - } - scroll(bar, delta); + int direction = e.getWheelRotation() < 0 ? -1 : 1; + int scrollType = e.getScrollType(); + if (scrollType == MouseWheelEvent.WHEEL_UNIT_SCROLL) + BasicScrollBarUI.scrollByUnits(scrollBar, direction, + e.getScrollAmount()); + else if (scrollType == MouseWheelEvent.WHEEL_BLOCK_SCROLL) + BasicScrollBarUI.scrollByBlock(scrollBar, direction); } } } - - /** - * Place the component bounds into rect. The x and y values - * need to be reversed. - * - * @param target the target being scrolled - */ - final void bounds(Component target) - { - // Viewport bounds, translated by the scroll bar positions. - target.getParent().getBounds(rect); - rect.x = getValue(scrollpane.getHorizontalScrollBar()); - rect.y = getValue(scrollpane.getVerticalScrollBar()); - } - - /** - * Get the scroll bar value or 0 if there is no such scroll bar. - * - * @param bar the scroll bar (null permitted). - * - * @return The scroll bar value, or 0. - */ - final int getValue(JScrollBar bar) - { - return bar != null ? bar.getValue() : 0; - } - - /** - * Scroll the given distance. - * - * @param bar the scrollbar to scroll - * @param delta the distance - */ - final void scroll(JScrollBar bar, int delta) - { - int y = bar.getValue() + delta; - - if (y < bar.getMinimum()) - y = bar.getMinimum(); - if (y > bar.getMaximum()) - y = bar.getMaximum(); - - bar.setValue(y); - } } /** @@ -436,16 +329,24 @@ public class BasicScrollPaneUI extends ScrollPaneUI "ScrollPane.foreground", "ScrollPane.font"); LookAndFeel.installBorder(p, "ScrollPane.border"); + + // Install Viewport border. + Border vpBorder = p.getViewportBorder(); + if (vpBorder == null || vpBorder instanceof UIResource) + { + vpBorder = UIManager.getBorder("ScrollPane.viewportBorder"); + p.setViewportBorder(vpBorder); + } + p.setOpaque(true); } protected void uninstallDefaults(JScrollPane p) { - p.setForeground(null); - p.setBackground(null); - p.setFont(null); - p.setBorder(null); - scrollpane = null; + LookAndFeel.uninstallBorder(p); + Border vpBorder = p.getViewportBorder(); + if (vpBorder != null && vpBorder instanceof UIResource) + p.setViewportBorder(null); } public void installUI(final JComponent c) @@ -770,9 +671,8 @@ public class BasicScrollPaneUI extends ScrollPaneUI public void uninstallUI(final JComponent c) { - super.uninstallUI(c); - this.uninstallDefaults((JScrollPane) c); - uninstallListeners((JScrollPane) c); + uninstallDefaults((JScrollPane) c); + uninstallListeners(c); installKeyboardActions((JScrollPane) c); } @@ -808,29 +708,65 @@ public class BasicScrollPaneUI extends ScrollPaneUI } public void paint(Graphics g, JComponent c) - { - // do nothing; the normal painting-of-children algorithm, along with - // ScrollPaneLayout, does all the relevant work. + { + Border vpBorder = scrollpane.getViewportBorder(); + if (vpBorder != null) + { + Rectangle r = scrollpane.getViewportBorderBounds(); + vpBorder.paintBorder(scrollpane, g, r.x, r.y, r.width, r.height); + } } /** - * Synchronizes the scrollbars with the viewport's extents. + * Synchronizes the scrollbar and header settings positions and extent + * with the viewport's view position and extent. */ protected void syncScrollPaneWithViewport() { JViewport vp = scrollpane.getViewport(); - // Update the horizontal scrollbar. - JScrollBar hsb = scrollpane.getHorizontalScrollBar(); - hsb.setMaximum(vp.getViewSize().width); - hsb.setValue(vp.getViewPosition().x); - hsb.setVisibleAmount(vp.getExtentSize().width); - - // Update the vertical scrollbar. - JScrollBar vsb = scrollpane.getVerticalScrollBar(); - vsb.setMaximum(vp.getViewSize().height); - vsb.setValue(vp.getViewPosition().y); - vsb.setVisibleAmount(vp.getExtentSize().height); + if (vp != null) + { + Dimension extentSize = vp.getExtentSize(); + Point viewPos = vp.getViewPosition(); + Dimension viewSize = vp.getViewSize(); + + // Update the vertical scrollbar. + JScrollBar vsb = scrollpane.getVerticalScrollBar(); + if (vsb != null) + { + int extent = extentSize.height; + int max = viewSize.height; + int val = Math.max(0, Math.min(viewPos.y, max - extent)); + vsb.setValues(val, extent, 0, max); + } + + // Update the horizontal scrollbar. + JScrollBar hsb = scrollpane.getHorizontalScrollBar(); + if (hsb != null) + { + int extent = extentSize.width; + int max = viewSize.width; + int val = Math.max(0, Math.min(viewPos.x, max - extent)); + hsb.setValues(val, extent, 0, max); + } + + // Update the row header. + JViewport rowHeader = scrollpane.getRowHeader(); + if (rowHeader != null) + { + Point p = new Point(0, viewPos.y); + rowHeader.setViewPosition(p); + } + + // Update the column header. + JViewport colHeader = scrollpane.getColumnHeader(); + if (colHeader != null) + { + Point p = new Point(viewPos.x, 0); + colHeader.setViewPosition(p); + } + } } /** @@ -863,7 +799,8 @@ public class BasicScrollPaneUI extends ScrollPaneUI */ protected void updateScrollBarDisplayPolicy(PropertyChangeEvent ev) { - // TODO: Find out what should be done here. Or is this only a hook? + scrollpane.revalidate(); + scrollpane.repaint(); } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicSliderUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicSliderUI.java index 3811eebdfd6..474a4225640 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicSliderUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicSliderUI.java @@ -40,7 +40,6 @@ package javax.swing.plaf.basic; import java.awt.Color; import java.awt.Component; -import java.awt.ComponentOrientation; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; @@ -65,7 +64,6 @@ import javax.swing.ActionMap; import javax.swing.BoundedRangeModel; import javax.swing.InputMap; import javax.swing.JComponent; -import javax.swing.JLabel; import javax.swing.JSlider; import javax.swing.LookAndFeel; import javax.swing.SwingUtilities; @@ -185,8 +183,6 @@ public class BasicSliderUI extends SliderUI public void componentResized(ComponentEvent e) { calculateGeometry(); - - slider.revalidate(); slider.repaint(); } } @@ -209,7 +205,6 @@ public class BasicSliderUI extends SliderUI public void focusGained(FocusEvent e) { slider.repaint(); - hasFocus = true; } /** @@ -221,7 +216,6 @@ public class BasicSliderUI extends SliderUI public void focusLost(FocusEvent e) { slider.repaint(); - hasFocus = false; } } @@ -240,25 +234,27 @@ public class BasicSliderUI extends SliderUI public void propertyChange(PropertyChangeEvent e) { // Check for orientation changes. - if (e.getPropertyName().equals("orientation")) - recalculateIfOrientationChanged(); + String prop = e.getPropertyName(); + if (prop.equals("orientation") + || prop.equals("inverted") + || prop.equals("labelTable") + || prop.equals("majorTickSpacing") + || prop.equals("minorTickSpacing") + || prop.equals("paintTicks") + || prop.equals("paintTrack") + || prop.equals("paintLabels")) + { + calculateGeometry(); + slider.repaint(); + } else if (e.getPropertyName().equals("model")) { BoundedRangeModel oldModel = (BoundedRangeModel) e.getOldValue(); oldModel.removeChangeListener(changeListener); slider.getModel().addChangeListener(changeListener); calculateThumbLocation(); + slider.repaint(); } - else if (e.getPropertyName().equals("paintTicks")) - calculateGeometry(); - - // elif the componentOrientation changes (this is a bound property, - // just undocumented) we change leftToRightCache. In Sun's - // implementation, the LTR cache changes on a repaint. This is strange - // since there is no need to do so. We could events here and - // update the cache. - // elif the border/insets change, we recalculateInsets. - slider.repaint(); } } @@ -466,6 +462,7 @@ public class BasicSliderUI extends SliderUI if (scrollTimer != null) scrollTimer.stop(); } + slider.repaint(); } /** @@ -592,10 +589,7 @@ public class BasicSliderUI extends SliderUI /** The focus color. */ private transient Color focusColor; - - /** True if the slider has focus. */ - private transient boolean hasFocus; - + /** True if the user is dragging the slider. */ boolean dragging; @@ -935,36 +929,10 @@ public class BasicSliderUI extends SliderUI */ public Dimension getPreferredHorizontalSize() { - Insets insets = slider.getInsets(); - - // The width should cover all the labels (which are usually the - // deciding factor of the width) - int width = getWidthOfWidestLabel() * (slider.getLabelTable() == null ? 0 - : slider.getLabelTable().size()); - - // If there are not enough labels. - // This number is pretty much arbitrary, but it looks nice. - if (width < 200) - width = 200; - - // We can only draw inside of the focusRectangle, so we have to - // pad it with insets. - width += insets.left + insets.right + focusInsets.left + focusInsets.right; - - // Height is determined by the thumb, the ticks and the labels. - int height = getThumbSize().height; - - if (slider.getPaintTicks() && slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0) - height += getTickLength(); - - if (slider.getPaintLabels()) - height += getHeightOfTallestLabel(); - - height += insets.top + insets.bottom + focusInsets.top - + focusInsets.bottom; - - return new Dimension(width, height); + Dimension dim = UIManager.getDimension("Slider.horizontalSize"); + if (dim == null) // Just to be sure we mirror the default. + dim = new Dimension(200, 21); + return dim; } /** @@ -975,30 +943,10 @@ public class BasicSliderUI extends SliderUI */ public Dimension getPreferredVerticalSize() { - Insets insets = slider.getInsets(); - - int height = getHeightOfTallestLabel() * (slider.getLabelTable() == null - ? 0 : slider.getLabelTable() - .size()); - - if (height < 200) - height = 200; - - height += insets.top + insets.bottom + focusInsets.top - + focusInsets.bottom; - - int width = getThumbSize().width; - - if (slider.getPaintTicks() && slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0) - width += getTickLength(); - - if (slider.getPaintLabels()) - width += getWidthOfWidestLabel(); - - width += insets.left + insets.right + focusInsets.left + focusInsets.right; - - return new Dimension(width, height); + Dimension dim = UIManager.getDimension("Slider.verticalSize"); + if (dim == null) // Just to be sure we mirror the default. + dim = new Dimension(21, 200); + return dim; } /** @@ -1009,21 +957,10 @@ public class BasicSliderUI extends SliderUI */ public Dimension getMinimumHorizontalSize() { - Insets insets = slider.getInsets(); - // Height is determined by the thumb, the ticks and the labels. - int height = getThumbSize().height; - - if (slider.getPaintTicks() && slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0) - height += getTickLength(); - - if (slider.getPaintLabels()) - height += getHeightOfTallestLabel(); - - height += insets.top + insets.bottom + focusInsets.top - + focusInsets.bottom; - - return new Dimension(36, height); + Dimension dim = UIManager.getDimension("Slider.minimumHorizontalSize"); + if (dim == null) // Just to be sure we mirror the default. + dim = new Dimension(36, 21); + return dim; } /** @@ -1034,19 +971,10 @@ public class BasicSliderUI extends SliderUI */ public Dimension getMinimumVerticalSize() { - Insets insets = slider.getInsets(); - int width = getThumbSize().width; - - if (slider.getPaintTicks() && slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0) - width += getTickLength(); - - if (slider.getPaintLabels()) - width += getWidthOfWidestLabel(); - - width += insets.left + insets.right + focusInsets.left + focusInsets.right; - - return new Dimension(width, 36); + Dimension dim = UIManager.getDimension("Slider.minimumVerticalSize"); + if (dim == null) // Just to be sure we mirror the default. + dim = new Dimension(21, 36); + return dim; } /** @@ -1060,10 +988,25 @@ public class BasicSliderUI extends SliderUI */ public Dimension getPreferredSize(JComponent c) { + recalculateIfInsetsChanged(); + Dimension dim; if (slider.getOrientation() == JSlider.HORIZONTAL) - return getPreferredHorizontalSize(); + { + // Create copy here to protect the UIManager value. + dim = new Dimension(getPreferredHorizontalSize()); + dim.height = insetCache.top + insetCache.bottom; + dim.height += focusInsets.top + focusInsets.bottom; + dim.height += trackRect.height + tickRect.height + labelRect.height; + } else - return getPreferredVerticalSize(); + { + // Create copy here to protect the UIManager value. + dim = new Dimension(getPreferredVerticalSize()); + dim.width = insetCache.left + insetCache.right; + dim.width += focusInsets.left + focusInsets.right; + dim.width += trackRect.width + tickRect.width + labelRect.width; + } + return dim; } /** @@ -1077,10 +1020,25 @@ public class BasicSliderUI extends SliderUI */ public Dimension getMinimumSize(JComponent c) { + recalculateIfInsetsChanged(); + Dimension dim; if (slider.getOrientation() == JSlider.HORIZONTAL) - return getMinimumHorizontalSize(); + { + // Create copy here to protect the UIManager value. + dim = new Dimension(getMinimumHorizontalSize()); + dim.height = insetCache.top + insetCache.bottom; + dim.height += focusInsets.top + focusInsets.bottom; + dim.height += trackRect.height + tickRect.height + labelRect.height; + } else - return getMinimumVerticalSize(); + { + // Create copy here to protect the UIManager value. + dim = new Dimension(getMinimumVerticalSize()); + dim.width = insetCache.left + insetCache.right; + dim.width += focusInsets.left + focusInsets.right; + dim.width += trackRect.width + tickRect.width + labelRect.width; + } + return dim; } /** @@ -1093,40 +1051,12 @@ public class BasicSliderUI extends SliderUI */ public Dimension getMaximumSize(JComponent c) { - Insets insets = slider.getInsets(); + Dimension dim = getPreferredSize(c); if (slider.getOrientation() == JSlider.HORIZONTAL) - { - // Height is determined by the thumb, the ticks and the labels. - int height = getThumbSize().height; - - if (slider.getPaintTicks() && slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0) - height += getTickLength(); - - if (slider.getPaintLabels()) - height += getHeightOfTallestLabel(); - - height += insets.top + insets.bottom + focusInsets.top - + focusInsets.bottom; - - return new Dimension(32767, height); - } + dim.width = Short.MAX_VALUE; else - { - int width = getThumbSize().width; - - if (slider.getPaintTicks() && slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0) - width += getTickLength(); - - if (slider.getPaintLabels()) - width += getWidthOfWidestLabel(); - - width += insets.left + insets.right + focusInsets.left - + focusInsets.right; - - return new Dimension(width, 32767); - } + dim.height = Short.MAX_VALUE; + return dim; } /** @@ -1151,12 +1081,10 @@ public class BasicSliderUI extends SliderUI */ protected void calculateFocusRect() { - insetCache = slider.getInsets(); - focusRect = SwingUtilities.calculateInnerArea(slider, focusRect); - if (focusRect.width < 0) - focusRect.width = 0; - if (focusRect.height < 0) - focusRect.height = 0; + focusRect.x = insetCache.left; + focusRect.y = insetCache.top; + focusRect.width = slider.getWidth() - insetCache.left - insetCache.right; + focusRect.height = slider.getHeight() - insetCache.top - insetCache.bottom; } /** @@ -1181,13 +1109,8 @@ public class BasicSliderUI extends SliderUI contentRect.y = focusRect.y + focusInsets.top; contentRect.width = focusRect.width - focusInsets.left - focusInsets.right; - contentRect.height = focusRect.height - focusInsets.top - - focusInsets.bottom; - - if (contentRect.width < 0) - contentRect.width = 0; - if (contentRect.height < 0) - contentRect.height = 0; + contentRect.height = focusRect.height - focusInsets.top + - focusInsets.bottom; } /** @@ -1258,26 +1181,24 @@ public class BasicSliderUI extends SliderUI { if (slider.getOrientation() == JSlider.HORIZONTAL) { - trackRect.x = contentRect.x + trackBuffer; - int h = getThumbSize().height; - if (slider.getPaintTicks() && (slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0)) - h += getTickLength(); + int center = thumbRect.height; + if (slider.getPaintTicks()) + center += getTickLength(); if (slider.getPaintLabels()) - h += getHeightOfTallestLabel(); - trackRect.y = contentRect.y + (contentRect.height - h) / 2 - 1; + center += getHeightOfTallestLabel(); + trackRect.x = contentRect.x + trackBuffer; + trackRect.y = contentRect.y + (contentRect.height - center - 1) / 2; trackRect.width = contentRect.width - 2 * trackBuffer; trackRect.height = thumbRect.height; } else { - int w = getThumbSize().width; - if (slider.getPaintTicks() && (slider.getMajorTickSpacing() > 0 - || slider.getMinorTickSpacing() > 0)) - w += getTickLength(); + int center = thumbRect.width; + if (slider.getPaintTicks()) + center += getTickLength(); if (slider.getPaintLabels()) - w += getWidthOfWidestLabel(); - trackRect.x = contentRect.x + (contentRect.width - w) / 2 - 1; + center += getWidthOfWidestLabel(); + trackRect.x = contentRect.x + (contentRect.width - center - 1) / 2; trackRect.y = contentRect.y + trackBuffer; trackRect.width = thumbRect.width; trackRect.height = contentRect.height - 2 * trackBuffer; @@ -1310,28 +1231,28 @@ public class BasicSliderUI extends SliderUI tickRect.x = trackRect.x; tickRect.y = trackRect.y + trackRect.height; tickRect.width = trackRect.width; - tickRect.height = slider.getPaintTicks() ? getTickLength() : 0; + tickRect.height = getTickLength(); // this makes our Mauve tests pass...can't explain it! if (!slider.getPaintTicks()) - tickRect.y--; - - if (tickRect.y + tickRect.height > contentRect.y + contentRect.height) - tickRect.height = contentRect.y + contentRect.height - tickRect.y; + { + tickRect.y--; + tickRect.height = 0; + } } else { tickRect.x = trackRect.x + trackRect.width; tickRect.y = trackRect.y; - tickRect.width = slider.getPaintTicks() ? getTickLength() : 0; + tickRect.width = getTickLength(); tickRect.height = trackRect.height; // this makes our Mauve tests pass...can't explain it! if (!slider.getPaintTicks()) - tickRect.x--; - - if (tickRect.x + tickRect.width > contentRect.x + contentRect.width) - tickRect.width = contentRect.x + contentRect.width - tickRect.x; + { + tickRect.x--; + tickRect.width = 0; + } } } @@ -1345,33 +1266,35 @@ public class BasicSliderUI extends SliderUI { if (slider.getPaintLabels()) { - labelRect.x = contentRect.x; - labelRect.y = tickRect.y + tickRect.height - 1; - labelRect.width = contentRect.width; + labelRect.x = tickRect.x - trackBuffer; + labelRect.y = tickRect.y + tickRect.height; + labelRect.width = tickRect.width + trackBuffer * 2; + labelRect.height = getHeightOfTallestLabel(); } else { - labelRect.x = trackRect.x; + labelRect.x = tickRect.x; labelRect.y = tickRect.y + tickRect.height; - labelRect.width = trackRect.width; + labelRect.width = tickRect.width; + labelRect.height = 0; } - labelRect.height = getHeightOfTallestLabel(); } else { if (slider.getPaintLabels()) { - labelRect.x = tickRect.x + tickRect.width - 1; - labelRect.y = contentRect.y; - labelRect.height = contentRect.height; + labelRect.x = tickRect.x + tickRect.width; + labelRect.y = tickRect.y - trackBuffer; + labelRect.width = getWidthOfWidestLabel(); + labelRect.height = tickRect.height + trackBuffer * 2; } else { labelRect.x = tickRect.x + tickRect.width; - labelRect.y = trackRect.y; - labelRect.height = trackRect.height; + labelRect.y = tickRect.y; + labelRect.width = 0; + labelRect.height = tickRect.height; } - labelRect.width = getWidthOfWidestLabel(); } } @@ -1384,22 +1307,15 @@ public class BasicSliderUI extends SliderUI protected int getWidthOfWidestLabel() { int widest = 0; - Component label; - - if (slider.getLabelTable() == null) - return 0; - - Dimension pref; - for (Enumeration list = slider.getLabelTable().elements(); - list.hasMoreElements();) + Dictionary table = slider.getLabelTable(); + if (table != null) { - Object comp = list.nextElement(); - if (! (comp instanceof Component)) - continue; - label = (Component) comp; - pref = label.getPreferredSize(); - if (pref != null && pref.width > widest) - widest = pref.width; + for (Enumeration list = slider.getLabelTable().elements(); + list.hasMoreElements();) + { + Component label = (Component) list.nextElement(); + widest = Math.max(label.getPreferredSize().width, widest); + } } return widest; } @@ -1576,23 +1492,18 @@ public class BasicSliderUI extends SliderUI */ public void paint(Graphics g, JComponent c) { - // FIXME: Move this to propertyChangeEvent handler, when we get those. - leftToRightCache = slider.getComponentOrientation() - != ComponentOrientation.RIGHT_TO_LEFT; - // FIXME: This next line is only here because the above line is here. - calculateGeometry(); - - if (slider.getPaintTrack()) + recalculateIfInsetsChanged(); + recalculateIfOrientationChanged(); + if (slider.getPaintTrack() && hitClip(g, trackRect)) paintTrack(g); - if (slider.getPaintTicks()) + if (slider.getPaintTicks() && hitClip(g, tickRect)) paintTicks(g); - if (slider.getPaintLabels()) + if (slider.getPaintLabels() && hitClip(g, labelRect)) paintLabels(g); - - paintThumb(g); - - if (hasFocus) + if (slider.hasFocus() && hitClip(g, focusRect)) paintFocus(g); + if (hitClip(g, thumbRect)) + paintThumb(g); } /** @@ -1601,18 +1512,12 @@ public class BasicSliderUI extends SliderUI */ protected void recalculateIfInsetsChanged() { - // Examining a test program shows that either Sun calls private - // methods that we don't know about, or these don't do anything. - calculateFocusRect(); - - calculateContentRect(); - calculateThumbSize(); - calculateTrackBuffer(); - calculateTrackRect(); - calculateThumbLocation(); - - calculateTickRect(); - calculateLabelRect(); + Insets insets = slider.getInsets(); + if (! insets.equals(insetCache)) + { + insetCache = insets; + calculateGeometry(); + } } /** @@ -1863,45 +1768,30 @@ public class BasicSliderUI extends SliderUI */ public void paintLabels(Graphics g) { - if (slider.getLabelTable() != null) + Dictionary table = slider.getLabelTable(); + if (table != null) { - Dictionary table = slider.getLabelTable(); - Integer tmpKey; - Object key; - Object element; - Component label; - if (slider.getOrientation() == JSlider.HORIZONTAL) - { - for (Enumeration list = table.keys(); list.hasMoreElements();) - { - key = list.nextElement(); - if (! (key instanceof Integer)) - continue; - tmpKey = (Integer) key; - element = table.get(tmpKey); - // We won't paint them if they're not - // JLabels so continue anyway - if (! (element instanceof JLabel)) - continue; - label = (Component) element; - paintHorizontalLabel(g, tmpKey.intValue(), label); - } - } - else + int min = slider.getMinimum(); + int max = slider.getMaximum(); + for (Enumeration list = table.keys(); list.hasMoreElements();) { - for (Enumeration list = table.keys(); list.hasMoreElements();) + Integer key = (Integer) list.nextElement(); + int value = key.intValue(); + if (value >= min && value <= max) { - key = list.nextElement(); - if (! (key instanceof Integer)) - continue; - tmpKey = (Integer) key; - element = table.get(tmpKey); - // We won't paint them if they're not - // JLabels so continue anyway - if (! (element instanceof JLabel)) - continue; - label = (Component) element; - paintVerticalLabel(g, tmpKey.intValue(), label); + Component label = (Component) table.get(key); + if (slider.getOrientation() == JSlider.HORIZONTAL) + { + g.translate(0, labelRect.y); + paintHorizontalLabel(g, value, label); + g.translate(0, -labelRect.y); + } + else + { + g.translate(labelRect.x, 0); + paintVerticalLabel(g, value, label); + g.translate(-labelRect.x, 0); + } } } } @@ -1920,51 +1810,11 @@ public class BasicSliderUI extends SliderUI */ protected void paintHorizontalLabel(Graphics g, int value, Component label) { - // This relies on clipping working properly or we'll end up - // painting all over the place. If our preferred size is ignored, then - // the labels may not fit inside the slider's bounds. Rather than mucking - // with font sizes and possible icon sizes, we'll set the bounds for - // the label and let it get clipped. - Dimension dim = label.getPreferredSize(); - int w = (int) dim.getWidth(); - int h = (int) dim.getHeight(); - - int max = slider.getMaximum(); - int min = slider.getMinimum(); - - if (value > max || value < min) - return; - - // value - // | - // ------------ - // | | - // | | - // | | - // The label must move w/2 to the right to fit directly under the value. - int xpos = xPositionForValue(value) - w / 2; - int ypos = labelRect.y; - - // We want to center the label around the xPositionForValue - // So we use xpos - w / 2. However, if value is min and the label - // is large, we run the risk of going out of bounds. So we bring it back - // to 0 if it becomes negative. - if (xpos < 0) - xpos = 0; - - // If the label + starting x position is greater than - // the x space in the label rectangle, we reset it to the largest - // amount possible in the rectangle. This means ugliness. - if (xpos + w > labelRect.x + labelRect.width) - w = labelRect.x + labelRect.width - xpos; - - // If the label is too tall. We reset it to the height of the label - // rectangle. - if (h > labelRect.height) - h = labelRect.height; - - label.setBounds(xpos, ypos, w, h); - SwingUtilities.paintComponent(g, label, null, label.getBounds()); + int center = xPositionForValue(value); + int left = center - label.getPreferredSize().width / 2; + g.translate(left, 0); + label.paint(g); + g.translate(-left, 0); } /** @@ -1980,30 +1830,11 @@ public class BasicSliderUI extends SliderUI */ protected void paintVerticalLabel(Graphics g, int value, Component label) { - Dimension dim = label.getPreferredSize(); - int w = (int) dim.getWidth(); - int h = (int) dim.getHeight(); - - int max = slider.getMaximum(); - int min = slider.getMinimum(); - - if (value > max || value < min) - return; - - int xpos = labelRect.x; - int ypos = yPositionForValue(value) - h / 2; - - if (ypos < 0) - ypos = 0; - - if (ypos + h > labelRect.y + labelRect.height) - h = labelRect.y + labelRect.height - ypos; - - if (w > labelRect.width) - w = labelRect.width; - - label.setBounds(xpos, ypos, w, h); - SwingUtilities.paintComponent(g, label, null, label.getBounds()); + int center = yPositionForValue(value); + int top = center - label.getPreferredSize().height / 2; + g.translate(0, top); + label.paint(g); + g.translate(0, -top); } /** @@ -2118,8 +1949,11 @@ public class BasicSliderUI extends SliderUI */ public void setThumbLocation(int x, int y) { - thumbRect.x = x; - thumbRect.y = y; + Rectangle union = new Rectangle(thumbRect); + thumbRect.setLocation(x, y); + SwingUtilities.computeUnion(thumbRect.x, thumbRect.y, thumbRect.width, + thumbRect.height, union); + slider.repaint(union); } /** @@ -2197,21 +2031,21 @@ public class BasicSliderUI extends SliderUI */ protected int xPositionForValue(int value) { - double min = slider.getMinimum(); - if (value < min) - value = (int) min; - double max = slider.getMaximum(); - if (value > max) - value = (int) max; - double len = trackRect.width; - if ((max - min) <= 0.0) - return 0; - int xPos = (int) ((value - min) / (max - min) * len + 0.5); - - if (drawInverted()) - return trackRect.x + Math.max(trackRect.width - xPos - 1, 0); + int min = slider.getMinimum(); + int max = slider.getMaximum(); + int len = trackRect.width; + double range = max - min; + double pixPerVal = len / range; + int left = trackRect.x; + int right = left + trackRect.width - 1; + int xpos; + if (! drawInverted()) + xpos = left + (int) Math.round(pixPerVal * ((double) value - min)); else - return trackRect.x + Math.min(xPos, trackRect.width - 1); + xpos = right - (int) Math.round(pixPerVal * ((double) value - min)); + xpos = Math.max(left, xpos); + xpos = Math.min(right, xpos); + return xpos; } /** @@ -2225,22 +2059,21 @@ public class BasicSliderUI extends SliderUI */ protected int yPositionForValue(int value) { - double min = slider.getMinimum(); - if (value < min) - value = (int) min; - double max = slider.getMaximum(); - if (value > max) - value = (int) max; + int min = slider.getMinimum(); + int max = slider.getMaximum(); int len = trackRect.height; - if ((max - min) <= 0.0) - return 0; - - int yPos = (int) ((value - min) / (max - min) * len + 0.5); - + double range = max - min; + double pixPerVal = len / range; + int top = trackRect.y; + int bottom = top + trackRect.height - 1; + int ypos; if (! drawInverted()) - return trackRect.y + trackRect.height - Math.max(yPos, 1); + ypos = top + (int) Math.round(pixPerVal * ((double) max - value)); else - return trackRect.y + Math.min(yPos, trackRect.height - 1); + ypos = top + (int) Math.round(pixPerVal * ((double) value - min)); + ypos = Math.max(top, ypos); + ypos = Math.min(bottom, ypos); + return ypos; } /** @@ -2494,4 +2327,13 @@ public class BasicSliderUI extends SliderUI ); return map; } + + /** + * Small utility method to save me from typing the hell out of myself in + * paint(). + */ + private boolean hitClip(Graphics g, Rectangle r) + { + return g.hitClip(r.x, r.y, r.width, r.height); + } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneDivider.java b/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneDivider.java index 06d32984efb..95468caa972 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneDivider.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneDivider.java @@ -38,12 +38,15 @@ exception statement from your version. */ package javax.swing.plaf.basic; +import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import java.awt.LayoutManager; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; @@ -52,7 +55,7 @@ import java.beans.PropertyChangeListener; import javax.swing.JButton; import javax.swing.JSplitPane; -import javax.swing.SwingConstants; +import javax.swing.UIManager; import javax.swing.border.Border; /** @@ -71,6 +74,207 @@ import javax.swing.border.Border; public class BasicSplitPaneDivider extends Container implements PropertyChangeListener { + /** + * The buttons used as one touch buttons. + */ + private class BasicOneTouchButton + extends JButton + { + /** + * Denotes a left button. + */ + static final int LEFT = 0; + + /** + * Denotes a right button. + */ + static final int RIGHT = 1; + + /** + * The x points for the arrow. + */ + private int[] xpoints; + + /** + * The y points for the arrow. + */ + private int[] ypoints; + + /** + * Either LEFT or RIGHT. + */ + private int direction; + + /** + * Creates a new instance. + * + * @param dir either LEFT or RIGHT + */ + BasicOneTouchButton(int dir) + { + direction = dir; + xpoints = new int[3]; + ypoints = new int[3]; + } + + /** + * Never allow borders. + */ + public void setBorder(Border b) + { + } + + /** + * Never allow focus traversal. + */ + public boolean isFocusTraversable() + { + return false; + } + + /** + * Paints the one touch button. + */ + public void paint(Graphics g) + { + if (splitPane != null) + { + // Fill background. + g.setColor(splitPane.getBackground()); + g.fillRect(0, 0, getWidth(), getHeight()); + + // Draw arrow. + int size; + if (direction == LEFT) + { + if (orientation == JSplitPane.VERTICAL_SPLIT) + { + size = Math.min(getHeight(), ONE_TOUCH_SIZE); + xpoints[0] = 0; + xpoints[1] = size / 2; + xpoints[2] = size; + ypoints[0] = size; + ypoints[1] = 0; + ypoints[2] = size; + } + else + { + size = Math.min(getWidth(), ONE_TOUCH_SIZE); + xpoints[0] = size; + xpoints[1] = 0; + xpoints[2] = size; + ypoints[0] = 0; + ypoints[1] = size / 2; + ypoints[2] = size; + } + } + else + { + if (orientation == JSplitPane.VERTICAL_SPLIT) + { + size = Math.min(getHeight(), ONE_TOUCH_SIZE); + xpoints[0] = 0; + xpoints[1] = size / 2; + xpoints[2] = size; + ypoints[0] = 0; + ypoints[1] = size; + ypoints[2] = 0; + } + else + { + size = Math.min(getWidth(), ONE_TOUCH_SIZE); + xpoints[0] = 0; + xpoints[1] = size; + xpoints[2] = 0; + ypoints[0] = 0; + ypoints[1] = size / 2; + ypoints[2] = size; + } + } + g.setColor(Color.BLACK); + g.fillPolygon(xpoints, ypoints, 3); + } + } + } + + /** + * Listens for actions on the one touch buttons. + */ + private class OneTouchAction + implements ActionListener + { + + public void actionPerformed(ActionEvent ev) + { + Insets insets = splitPane.getInsets(); + int lastLoc = splitPane.getLastDividerLocation(); + int currentLoc = splitPaneUI.getDividerLocation(splitPane); + int newLoc; + + if (ev.getSource() == leftButton) + { + if (orientation == JSplitPane.VERTICAL_SPLIT) + { + if (currentLoc + >= splitPane.getHeight() - insets.bottom - getHeight()) + { + newLoc = Math.min(splitPane.getMaximumDividerLocation(), + lastLoc); + } + else + { + newLoc = insets.top; + } + } + else + { + if (currentLoc + >= splitPane.getWidth() - insets.right - getWidth()) + { + newLoc = Math.min(splitPane.getMaximumDividerLocation(), + lastLoc); + } + else + { + newLoc = insets.left; + } + } + } + else + { + if (orientation == JSplitPane.VERTICAL_SPLIT) + { + if (currentLoc == insets.top) + { + newLoc = Math.min(splitPane.getMaximumDividerLocation(), + lastLoc); + } + else + { + newLoc = splitPane.getHeight() - insets.top - getHeight(); + } + } + else + { + if (currentLoc == insets.left) + { + newLoc = Math.min(splitPane.getMaximumDividerLocation(), + lastLoc); + } + else + { + newLoc = splitPane.getWidth() - insets.left - getWidth(); + } + } + } + if (currentLoc != newLoc) + { + splitPane.setDividerLocation(newLoc); + splitPane.setLastDividerLocation(currentLoc); + } + } + } + /** * Determined using the serialver tool of Apple/Sun JDK 1.3.1 * on MacOS X 10.1.5. @@ -160,6 +364,14 @@ public class BasicSplitPaneDivider extends Container */ transient int currentDividerLocation = 1; + /** + * Indicates if the ont touch buttons are laid out centered or at the + * top/left. + * + * Package private to avoid accessor method. + */ + boolean centerOneTouchButtons; + /** * Constructs a new divider. * @@ -170,6 +382,8 @@ public class BasicSplitPaneDivider extends Container setLayout(new DividerLayout()); setBasicSplitPaneUI(ui); setDividerSize(splitPane.getDividerSize()); + centerOneTouchButtons = + UIManager.getBoolean("SplitPane.centerOneTouchButtons"); } /** @@ -202,7 +416,8 @@ public class BasicSplitPaneDivider extends Container addMouseMotionListener(mouseHandler); hiddenDivider = splitPaneUI.getNonContinuousLayoutDivider(); orientation = splitPane.getOrientation(); - oneTouchExpandableChanged(); + if (splitPane.isOneTouchExpandable()) + oneTouchExpandableChanged(); } } @@ -293,7 +508,12 @@ public class BasicSplitPaneDivider extends Container */ public Dimension getPreferredSize() { - return getLayout().preferredLayoutSize(this); + Dimension d; + if (orientation == JSplitPane.HORIZONTAL_SPLIT) + d = new Dimension(getDividerSize(), 1); + else + d = new Dimension(1, getDividerSize()); + return d; } /** @@ -320,11 +540,9 @@ public class BasicSplitPaneDivider extends Container else if (e.getPropertyName().equals(JSplitPane.ORIENTATION_PROPERTY)) { orientation = splitPane.getOrientation(); - if (splitPane.isOneTouchExpandable()) - { - layout(); - repaint(); - } + invalidate(); + if (splitPane != null) + splitPane.revalidate(); } else if (e.getPropertyName().equals(JSplitPane.DIVIDER_SIZE_PROPERTY)) dividerSize = splitPane.getDividerSize(); @@ -345,11 +563,6 @@ public class BasicSplitPaneDivider extends Container dividerSize = getSize(); border.paintBorder(this, g, 0, 0, dividerSize.width, dividerSize.height); } - if (splitPane.isOneTouchExpandable()) - { - ((BasicArrowButton) rightButton).paint(g); - ((BasicArrowButton) leftButton).paint(g); - } } /** @@ -361,31 +574,23 @@ public class BasicSplitPaneDivider extends Container if (splitPane.isOneTouchExpandable()) { leftButton = createLeftOneTouchButton(); - rightButton = createRightOneTouchButton(); - add(leftButton); - add(rightButton); + if (leftButton != null) + leftButton.addActionListener(new OneTouchAction()); - leftButton.addMouseListener(mouseHandler); - rightButton.addMouseListener(mouseHandler); + rightButton = createRightOneTouchButton(); + if (rightButton != null) + rightButton.addActionListener(new OneTouchAction()); - // Set it to 1. - currentDividerLocation = 1; - } - else - { + // Only add them when both are non-null. if (leftButton != null && rightButton != null) - { - leftButton.removeMouseListener(mouseHandler); - rightButton.removeMouseListener(mouseHandler); - - remove(leftButton); - remove(rightButton); - leftButton = null; - rightButton = null; + { + add(leftButton); + add(rightButton); } } - layout(); - repaint(); + invalidate(); + if (splitPane != null) + splitPane.revalidate(); } /** @@ -396,12 +601,9 @@ public class BasicSplitPaneDivider extends Container */ protected JButton createLeftOneTouchButton() { - int dir = SwingConstants.WEST; - if (orientation == JSplitPane.VERTICAL_SPLIT) - dir = SwingConstants.NORTH; - JButton button = new BasicArrowButton(dir); - button.setBorder(null); - + JButton button = new BasicOneTouchButton(BasicOneTouchButton.LEFT); + button.setMinimumSize(new Dimension(ONE_TOUCH_SIZE, ONE_TOUCH_SIZE)); + button.setRequestFocusEnabled(false); return button; } @@ -413,11 +615,9 @@ public class BasicSplitPaneDivider extends Container */ protected JButton createRightOneTouchButton() { - int dir = SwingConstants.EAST; - if (orientation == JSplitPane.VERTICAL_SPLIT) - dir = SwingConstants.SOUTH; - JButton button = new BasicArrowButton(dir); - button.setBorder(null); + JButton button = new BasicOneTouchButton(BasicOneTouchButton.RIGHT); + button.setMinimumSize(new Dimension(ONE_TOUCH_SIZE, ONE_TOUCH_SIZE)); + button.setRequestFocusEnabled(false); return button; } @@ -521,25 +721,6 @@ public class BasicSplitPaneDivider extends Container */ public void mousePressed(MouseEvent e) { - if (splitPane.isOneTouchExpandable()) - { - if (e.getSource() == leftButton) - { - currentDividerLocation--; - if (currentDividerLocation < 0) - currentDividerLocation = 0; - moveDividerTo(currentDividerLocation); - return; - } - else if (e.getSource() == rightButton) - { - currentDividerLocation++; - if (currentDividerLocation > 2) - currentDividerLocation = 2; - moveDividerTo(currentDividerLocation); - return; - } - } isDragging = true; currentDividerLocation = 1; if (orientation == JSplitPane.HORIZONTAL_SPLIT) @@ -797,10 +978,64 @@ public class BasicSplitPaneDivider extends Container */ public void layoutContainer(Container c) { - if (splitPane.isOneTouchExpandable()) + if (leftButton != null && rightButton != null + && c == BasicSplitPaneDivider.this) { - changeButtonOrientation(); - positionButtons(); + if (splitPane.isOneTouchExpandable()) + { + Insets insets = getInsets(); + if (orientation == JSplitPane.HORIZONTAL_SPLIT) + { + int size = getWidth() - insets.left - insets.right; + size = Math.max(size, 0); + size = Math.min(size, ONE_TOUCH_SIZE); + int x, y; + if (centerOneTouchButtons) + { + y = insets.top; + x = (getWidth() - size) / 2; + } + else + { + x = insets.left; + y = 0; + } + + leftButton.setBounds(x, y + ONE_TOUCH_OFFSET, size, + size * 2); + rightButton.setBounds(x, y + ONE_TOUCH_OFFSET + + ONE_TOUCH_SIZE * 2, size, size * 2); + } + else + { + int size = getHeight() - insets.top - insets.bottom; + size = Math.max(size, 0); + size = Math.min(size, ONE_TOUCH_SIZE); + int x, y; + if (centerOneTouchButtons) + { + x = insets.left; + y = (getHeight() - size) / 2; + } + else + { + x = 0; + y = insets.top; + } + leftButton.setBounds(x + ONE_TOUCH_OFFSET, y, size * 2, + size); + rightButton.setBounds(x + ONE_TOUCH_OFFSET + + ONE_TOUCH_SIZE * 2, y, size * 2, + size); + } + } + else + { + // The JDK sets this bounds for disabled one touch buttons, so + // do we. + leftButton.setBounds(-5, -5, 1, 1); + rightButton.setBounds(-5, -5, 1, 1); + } } } @@ -838,50 +1073,5 @@ public class BasicSplitPaneDivider extends Container // Do nothing. } - /** - * This method changes the button orientation when the orientation of the - * SplitPane changes. - */ - private void changeButtonOrientation() - { - if (orientation == JSplitPane.HORIZONTAL_SPLIT) - { - ((BasicArrowButton) rightButton).setDirection(SwingConstants.EAST); - ((BasicArrowButton) leftButton).setDirection(SwingConstants.WEST); - } - else - { - ((BasicArrowButton) rightButton).setDirection(SwingConstants.SOUTH); - ((BasicArrowButton) leftButton).setDirection(SwingConstants.NORTH); - } - } - - /** - * This method sizes and positions the buttons. - */ - private void positionButtons() - { - int w = 0; - int h = 0; - if (orientation == JSplitPane.HORIZONTAL_SPLIT) - { - rightButton.setLocation(ONE_TOUCH_OFFSET, ONE_TOUCH_OFFSET); - leftButton.setLocation(ONE_TOUCH_OFFSET, - ONE_TOUCH_OFFSET + 2 * ONE_TOUCH_SIZE); - w = dividerSize - 2 * ONE_TOUCH_OFFSET; - h = 2 * ONE_TOUCH_SIZE; - } - else - { - leftButton.setLocation(ONE_TOUCH_OFFSET, ONE_TOUCH_OFFSET); - rightButton.setLocation(ONE_TOUCH_OFFSET + 2 * ONE_TOUCH_SIZE, - ONE_TOUCH_OFFSET); - h = dividerSize - 2 * ONE_TOUCH_OFFSET; - w = 2 * ONE_TOUCH_SIZE; - } - Dimension dims = new Dimension(w, h); - leftButton.setSize(dims); - rightButton.setSize(dims); - } } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java index 2d595597424..b7cc425482d 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java @@ -63,6 +63,7 @@ import javax.swing.JSlider; import javax.swing.JSplitPane; import javax.swing.KeyStroke; import javax.swing.LookAndFeel; +import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.plaf.ActionMapUIResource; @@ -106,6 +107,13 @@ public class BasicSplitPaneUI extends SplitPaneUI */ protected int[] sizes = new int[3]; + /** + * This is used to determine if we are vertical or horizontal layout. + * In the JDK, the BasicVerticalLayoutManager seems to have no more + * methods implemented (as of JDK5), so we keep this state here. + */ + private int axis; + /** * Creates a new instance. This is package private because the reference * implementation has no public constructor either. Still, we need to @@ -113,7 +121,21 @@ public class BasicSplitPaneUI extends SplitPaneUI */ BasicHorizontalLayoutManager() { - // Nothing to do here. + this(SwingConstants.HORIZONTAL); + } + + /** + * Creates a new instance for a specified axis. This is provided for + * compatibility, since the BasicVerticalLayoutManager seems to have + * no more implementation in the RI, according to the specs. So + * we handle all the axis specific stuff here. + * + * @param a the axis, either SwingConstants#HORIZONTAL, + * or SwingConstants#VERTICAL + */ + BasicHorizontalLayoutManager(int a) + { + axis = a; } /** @@ -167,7 +189,12 @@ public class BasicSplitPaneUI extends SplitPaneUI */ protected int getAvailableSize(Dimension containerSize, Insets insets) { - return containerSize.width - insets.left - insets.right; + int size; + if (axis == SwingConstants.HORIZONTAL) + size = containerSize.width - insets.left - insets.right; + else + size = containerSize.height - insets.top - insets.bottom; + return size; } /** @@ -180,9 +207,15 @@ public class BasicSplitPaneUI extends SplitPaneUI */ protected int getInitialLocation(Insets insets) { + int loc = 0; if (insets != null) - return insets.left; - return 0; + { + if (axis == SwingConstants.HORIZONTAL) + loc = insets.left; + else + loc = insets.top; + } + return loc; } /** @@ -195,7 +228,7 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public float getLayoutAlignmentX(Container target) { - return target.getAlignmentX(); + return 0.0f; } /** @@ -208,7 +241,7 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public float getLayoutAlignmentY(Container target) { - return target.getAlignmentY(); + return 0.0f; } /** @@ -220,10 +253,19 @@ public class BasicSplitPaneUI extends SplitPaneUI */ protected int getPreferredSizeOfComponent(Component c) { + int size = 0; Dimension dims = c.getPreferredSize(); - if (dims != null) - return dims.width; - return 0; + if (axis == SwingConstants.HORIZONTAL) + { + if (dims != null) + size = dims.width; + } + else + { + if (dims != null) + size = dims.height; + } + return size; } /** @@ -235,7 +277,12 @@ public class BasicSplitPaneUI extends SplitPaneUI */ protected int getSizeOfComponent(Component c) { - return c.getWidth(); + int size; + if (axis == SwingConstants.HORIZONTAL) + size = c.getHeight(); + else + size = c.getWidth(); + return size; } /** @@ -273,8 +320,17 @@ public class BasicSplitPaneUI extends SplitPaneUI Dimension dims = split.getSize(); int loc = getInitialLocation(insets); int available = getAvailableSize(dims, insets); - sizes[0] = getDividerLocation(split) - loc; + sizes[0] = split.getDividerLocation(); sizes[1] = available - sizes[0] - sizes[2]; + + // According to a Mauve test we only honour the minimum + // size of the components, when the dividerLocation hasn't + // been excplicitly set. + if (! dividerLocationSet) + { + sizes[0] = Math.max(sizes[0], minimumSizeOfComponent(0)); + sizes[1] = Math.max(sizes[1], minimumSizeOfComponent(1)); + } // The size of the divider won't change. // Layout component#1. @@ -313,27 +369,30 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public Dimension minimumLayoutSize(Container target) { + Dimension dim = new Dimension(); if (target instanceof JSplitPane) { - JSplitPane split = (JSplitPane) target; - Insets insets = target.getInsets(); - - int height = 0; - int width = 0; + int primary = 0; + int secondary = 0; for (int i = 0; i < components.length; i++) { - if (components[i] == null) - continue; - Dimension dims = components[i].getMinimumSize(); - if (dims != null) + if (components[i] != null) { - width += dims.width; - height = Math.max(height, dims.height); + Dimension dims = components[i].getMinimumSize(); + primary += axis == SwingConstants.HORIZONTAL ? dims.width + : dims.height; + int sec = axis == SwingConstants.HORIZONTAL ? dims.height + : dims.width; + secondary = Math.max(sec, secondary); } } - return new Dimension(width, height); + int width = axis == SwingConstants.HORIZONTAL ? primary : secondary; + int height = axis == SwingConstants.VERTICAL ? secondary : primary; + + Insets i = splitPane.getInsets(); + dim.setSize(width + i.left + i.right, height + i.top + i.bottom); } - return null; + return dim; } /** @@ -347,28 +406,30 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public Dimension preferredLayoutSize(Container target) { + Dimension dim = new Dimension(); if (target instanceof JSplitPane) { - JSplitPane split = (JSplitPane) target; - Insets insets = target.getInsets(); - - int height = 0; - int width = 0; + int primary = 0; + int secondary = 0; for (int i = 0; i < components.length; i++) { - if (components[i] == null) - continue; - Dimension dims = components[i].getPreferredSize(); - if (dims != null) + if (components[i] != null) { - width += dims.width; - if (!(components[i] instanceof BasicSplitPaneDivider)) - height = Math.max(height, dims.height); + Dimension dims = components[i].getPreferredSize(); + primary += axis == SwingConstants.HORIZONTAL ? dims.width + : dims.height; + int sec = axis == SwingConstants.HORIZONTAL ? dims.height + : dims.width; + secondary = Math.max(sec, secondary); } } - return new Dimension(width, height); + int width = axis == SwingConstants.HORIZONTAL ? primary : secondary; + int height = axis == SwingConstants.VERTICAL ? secondary : primary; + + Insets i = splitPane.getInsets(); + dim.setSize(width + i.left + i.right, height + i.top + i.bottom); } - return null; + return dim; } /** @@ -406,8 +467,6 @@ public class BasicSplitPaneUI extends SplitPaneUI { for (int i = 0; i < components.length; i++) resetSizeAt(i); - setDividerLocation(splitPane, - getInitialLocation(splitPane.getInsets()) + sizes[0]); } /** @@ -425,11 +484,23 @@ public class BasicSplitPaneUI extends SplitPaneUI protected void setComponentToSize(Component c, int size, int location, Insets insets, Dimension containerSize) { - int w = size; - int h = containerSize.height - insets.top - insets.bottom; - int x = location; - int y = insets.top; - c.setBounds(x, y, w, h); + if (insets != null) + { + if (axis == SwingConstants.HORIZONTAL) + c.setBounds(location, insets.top, size, + containerSize.height - insets.top - insets.bottom); + else + c.setBounds(insets.left, location, + containerSize.width - insets.left - insets.right, + size); + } + else + { + if (axis == SwingConstants.HORIZONTAL) + c.setBounds(location, 0, size, containerSize.height); + else + c.setBounds(0, location, containerSize.width, size); + } } /** @@ -462,7 +533,6 @@ public class BasicSplitPaneUI extends SplitPaneUI resetSizeAt(1); } components[2] = divider; - resetSizeAt(2); } /** @@ -485,10 +555,13 @@ public class BasicSplitPaneUI extends SplitPaneUI int minimumSizeOfComponent(int index) { Dimension dims = components[index].getMinimumSize(); + int size = 0; if (dims != null) - return dims.width; - else - return 0; + if (axis == SwingConstants.HORIZONTAL) + size = dims.width; + else + size = dims.height; + return size; } } //end BasicHorizontalLayoutManager @@ -504,163 +577,11 @@ public class BasicSplitPaneUI extends SplitPaneUI extends BasicHorizontalLayoutManager { /** - * This method returns the height of the container minus the top and - * bottom inset. - * - * @param containerSize The size of the container. - * @param insets The insets of the container. - * - * @return The height minus top and bottom inset. - */ - protected int getAvailableSize(Dimension containerSize, Insets insets) - { - return containerSize.height - insets.top - insets.bottom; - } - - /** - * This method returns the top inset. - * - * @param insets The Insets to use. - * - * @return The top inset. - */ - protected int getInitialLocation(Insets insets) - { - return insets.top; - } - - /** - * This method returns the preferred height of the component. - * - * @param c The component to measure. - * - * @return The preferred height of the component. - */ - protected int getPreferredSizeOfComponent(Component c) - { - Dimension dims = c.getPreferredSize(); - if (dims != null) - return dims.height; - return 0; - } - - /** - * This method returns the current height of the component. - * - * @param c The component to measure. - * - * @return The current height of the component. - */ - protected int getSizeOfComponent(Component c) - { - return c.getHeight(); - } - - /** - * This method returns the minimum layout size. The minimum height is the - * sum of all the components' minimum heights. The minimum width is the - * maximum of all the components' minimum widths. - * - * @param container The container to measure. - * - * @return The minimum size. + * Creates a new instance. */ - public Dimension minimumLayoutSize(Container container) + public BasicVerticalLayoutManager() { - if (container instanceof JSplitPane) - { - JSplitPane split = (JSplitPane) container; - Insets insets = container.getInsets(); - - int height = 0; - int width = 0; - for (int i = 0; i < components.length; i++) - { - if (components[i] == null) - continue; - Dimension dims = components[i].getMinimumSize(); - if (dims != null) - { - height += dims.height; - width = Math.max(width, dims.width); - } - } - return new Dimension(width, height); - } - return null; - } - - /** - * This method returns the preferred layout size. The preferred height is - * the sum of all the components' preferred heights. The preferred width - * is the maximum of all the components' preferred widths. - * - * @param container The container to measure. - * - * @return The preferred size. - */ - public Dimension preferredLayoutSize(Container container) - { - if (container instanceof JSplitPane) - { - JSplitPane split = (JSplitPane) container; - Insets insets = container.getInsets(); - - int height = 0; - int width = 0; - for (int i = 0; i < components.length; i++) - { - if (components[i] == null) - continue; - Dimension dims = components[i].getPreferredSize(); - if (dims != null) - { - height += dims.height; - width = Math.max(width, dims.width); - } - } - return new Dimension(width, height); - } - return null; - } - - /** - * This method sets the bounds of the given component. The y coordinate is - * the location given. The x coordinate is the left inset. The height is - * the size given. The width is the container size minus the left and - * right inset. - * - * @param c The component to set bounds for. - * @param size The height. - * @param location The y coordinate. - * @param insets The insets to use. - * @param containerSize The container's size. - */ - protected void setComponentToSize(Component c, int size, int location, - Insets insets, Dimension containerSize) - { - int y = location; - int x = insets.left; - int h = size; - int w = containerSize.width - insets.left - insets.right; - c.setBounds(x, y, w, h); - } - - /** - * This method returns the minimum height of the component at the given - * index. - * - * @param index The index of the component to check. - * - * @return The minimum height of the given component. - */ - int minimumSizeOfComponent(int index) - { - Dimension dims = components[index].getMinimumSize(); - if (dims != null) - return dims.height; - else - return 0; + super(SwingConstants.VERTICAL); } } @@ -941,7 +862,13 @@ public class BasicSplitPaneUI extends SplitPaneUI /** The JSplitPane that this UI draws. */ protected JSplitPane splitPane; - private int dividerLocation; + /** + * True, when setDividerLocation() has been called at least + * once on the JSplitPane, false otherwise. + * + * This is package private to avoid a synthetic accessor method. + */ + boolean dividerLocationSet; /** * Creates a new BasicSplitPaneUI object. @@ -973,6 +900,7 @@ public class BasicSplitPaneUI extends SplitPaneUI if (c instanceof JSplitPane) { splitPane = (JSplitPane) c; + dividerLocationSet = false; installDefaults(); installListeners(); installKeyboardActions(); @@ -990,6 +918,7 @@ public class BasicSplitPaneUI extends SplitPaneUI uninstallListeners(); uninstallDefaults(); + dividerLocationSet = false; splitPane = null; } @@ -1007,8 +936,10 @@ public class BasicSplitPaneUI extends SplitPaneUI nonContinuousLayoutDivider = createDefaultNonContinuousLayoutDivider(); splitPane.add(divider, JSplitPane.DIVIDER); - // There is no need to add the nonContinuousLayoutDivider - splitPane.setDividerSize(UIManager.getInt("SplitPane.dividerSize")); + // There is no need to add the nonContinuousLayoutDivider. + dividerSize = UIManager.getInt("SplitPane.dividerSize"); + splitPane.setDividerSize(dividerSize); + divider.setDividerSize(dividerSize); splitPane.setOpaque(true); } @@ -1136,8 +1067,10 @@ public class BasicSplitPaneUI extends SplitPaneUI new AbstractAction("negativeIncrement") { public void actionPerformed(ActionEvent event) { - setDividerLocation(splitPane, Math.max(dividerLocation - - KEYBOARD_DIVIDER_MOVE_OFFSET, 0)); + int oldLoc = splitPane.getDividerLocation(); + int newLoc = + Math.max(oldLoc - KEYBOARD_DIVIDER_MOVE_OFFSET, 0); + splitPane.setDividerLocation(newLoc); } } ); @@ -1145,8 +1078,10 @@ public class BasicSplitPaneUI extends SplitPaneUI new AbstractAction("positiveIncrement") { public void actionPerformed(ActionEvent event) { - setDividerLocation(splitPane, dividerLocation - + KEYBOARD_DIVIDER_MOVE_OFFSET); + int oldLoc = splitPane.getDividerLocation(); + int newLoc = + Math.max(oldLoc + KEYBOARD_DIVIDER_MOVE_OFFSET, 0); + splitPane.setDividerLocation(newLoc); } } ); @@ -1436,7 +1371,7 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public void setDividerLocation(JSplitPane jc, int location) { - dividerLocation = location; + dividerLocationSet = true; splitPane.revalidate(); splitPane.repaint(); } @@ -1450,7 +1385,12 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public int getDividerLocation(JSplitPane jc) { - return dividerLocation; + int loc; + if (jc.getOrientation() == JSplitPane.HORIZONTAL_SPLIT) + loc = divider.getX(); + else + loc = divider.getY(); + return loc; } /** @@ -1523,7 +1463,7 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public Dimension getPreferredSize(JComponent jc) { - return layoutManager.preferredLayoutSize((Container) jc); + return layoutManager.preferredLayoutSize(jc); } /** @@ -1535,7 +1475,7 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public Dimension getMinimumSize(JComponent jc) { - return layoutManager.minimumLayoutSize((Container) jc); + return layoutManager.minimumLayoutSize(jc); } /** @@ -1547,7 +1487,7 @@ public class BasicSplitPaneUI extends SplitPaneUI */ public Dimension getMaximumSize(JComponent jc) { - return layoutManager.maximumLayoutSize((Container) jc); + return layoutManager.maximumLayoutSize(jc); } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java index 11f25167d21..0d1fa1eed9b 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java @@ -76,7 +76,6 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.plaf.ActionMapUIResource; import javax.swing.plaf.ComponentUI; -import javax.swing.plaf.PanelUI; import javax.swing.plaf.TabbedPaneUI; import javax.swing.plaf.UIResource; import javax.swing.text.View; @@ -252,7 +251,16 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { public void mouseReleased(MouseEvent e) { - // Nothing to do here. + Object s = e.getSource(); + + // Event may originate from the viewport in + // SCROLL_TAB_LAYOUT mode. It is redisptached + // through the tabbed pane then. + if (tabPane != e.getSource()) + { + redispatchEvent(e); + e.setSource(s); + } } /** @@ -264,6 +272,16 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants public void mousePressed(MouseEvent e) { Object s = e.getSource(); + + // Event may originate from the viewport in + // SCROLL_TAB_LAYOUT mode. It is redisptached + // through the tabbed pane then. + if (tabPane != e.getSource()) + { + redispatchEvent(e); + e.setSource(s); + } + int placement = tabPane.getTabPlacement(); if (s == incrButton) @@ -298,47 +316,61 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants if(!decrButton.isEnabled()) return; - // The scroll location may be zero but the offset - // greater than zero because of an adjustement to - // make a partially visible tab completely visible. - if (currentScrollLocation > 0) - currentScrollLocation--; - - // Set the offset back to 0 and recompute it. - currentScrollOffset = 0; - - switch (placement) - { - case JTabbedPane.TOP: - case JTabbedPane.BOTTOM: - // Take the tab area inset into account. - if (currentScrollLocation > 0) - currentScrollOffset = getTabAreaInsets(placement).left; - // Recompute scroll offset. - for (int i = 0; i < currentScrollLocation; i++) - currentScrollOffset += rects[i].width; - break; - default: - // Take the tab area inset into account. - if (currentScrollLocation > 0) - currentScrollOffset = getTabAreaInsets(placement).top; + // The scroll location may be zero but the offset + // greater than zero because of an adjustement to + // make a partially visible tab completely visible. + if (currentScrollLocation > 0) + currentScrollLocation--; - for (int i = 0; i < currentScrollLocation; i++) - currentScrollOffset += rects[i].height; - } + // Set the offset back to 0 and recompute it. + currentScrollOffset = 0; + + switch (placement) + { + case JTabbedPane.TOP: + case JTabbedPane.BOTTOM: + // Take the tab area inset into account. + if (currentScrollLocation > 0) + currentScrollOffset = getTabAreaInsets(placement).left; + // Recompute scroll offset. + for (int i = 0; i < currentScrollLocation; i++) + currentScrollOffset += rects[i].width; + break; + default: + // Take the tab area inset into account. + if (currentScrollLocation > 0) + currentScrollOffset = getTabAreaInsets(placement).top; + + for (int i = 0; i < currentScrollLocation; i++) + currentScrollOffset += rects[i].height; + } - updateViewPosition(); - updateButtons(); + updateViewPosition(); + updateButtons(); - tabPane.repaint(); - } else if (tabPane.isEnabled()) + tabPane.repaint(); + } + else if (tabPane.isEnabled()) { int index = tabForCoordinate(tabPane, e.getX(), e.getY()); + if (!tabPane.isEnabledAt(index)) + return; + if (tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT && s == panel) + { scrollTab(index, placement); + + tabPane.setSelectedIndex(index); + tabPane.repaint(); + } + else + { + tabPane.setSelectedIndex(index); + tabPane.revalidate(); + tabPane.repaint(); + } - tabPane.setSelectedIndex(index); } } @@ -347,11 +379,22 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants * Receives notification when the mouse pointer has entered the tabbed * pane. * - * @param ev the mouse event + * @param e the mouse event */ - public void mouseEntered(MouseEvent ev) + public void mouseEntered(MouseEvent e) { - int tabIndex = tabForCoordinate(tabPane, ev.getX(), ev.getY()); + Object s = e.getSource(); + + // Event may originate from the viewport in + // SCROLL_TAB_LAYOUT mode. It is redisptached + // through the tabbed pane then. + if (tabPane != e.getSource()) + { + redispatchEvent(e); + e.setSource(s); + } + + int tabIndex = tabForCoordinate(tabPane, e.getX(), e.getY()); setRolloverTab(tabIndex); } @@ -359,10 +402,21 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants * Receives notification when the mouse pointer has exited the tabbed * pane. * - * @param ev the mouse event + * @param e the mouse event */ - public void mouseExited(MouseEvent ev) + public void mouseExited(MouseEvent e) { + Object s = e.getSource(); + + // Event may originate from the viewport in + // SCROLL_TAB_LAYOUT mode. It is redisptached + // through the tabbed pane then. + if (tabPane != e.getSource()) + { + redispatchEvent(e); + e.setSource(s); + } + setRolloverTab(-1); } @@ -374,9 +428,37 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants */ public void mouseMoved(MouseEvent ev) { + Object s = ev.getSource(); + + if (tabPane != ev.getSource()) + { + ev.setSource(tabPane); + tabPane.dispatchEvent(ev); + + ev.setSource(s); + } + int tabIndex = tabForCoordinate(tabPane, ev.getX(), ev.getY()); setRolloverTab(tabIndex); } + + /** Modifies the mouse event to originate from + * the tabbed pane and redispatches it. + * + * @param me + */ + void redispatchEvent(MouseEvent me) + { + me.setSource(tabPane); + Point viewPos = viewport.getViewPosition(); + viewPos.x -= viewport.getX(); + viewPos.y -= viewport.getY(); + me.translatePoint(-viewPos.x, -viewPos.y); + tabPane.dispatchEvent(me); + + me.translatePoint(viewPos.x, viewPos.y); + } + } /** @@ -396,20 +478,56 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants */ public void propertyChange(PropertyChangeEvent e) { - if (e.getPropertyName().equals("tabLayoutPolicy")) + out: { - currentScrollLocation = currentScrollOffset = 0; - - layoutManager = createLayoutManager(); - - tabPane.setLayout(layoutManager); - } - else if (e.getPropertyName().equals("tabPlacement") - && tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT) - { - incrButton = createIncreaseButton(); - decrButton = createDecreaseButton(); + if (e.getPropertyName().equals("tabLayoutPolicy")) + { + currentScrollLocation = currentScrollOffset = 0; + + layoutManager = createLayoutManager(); + + tabPane.setLayout(layoutManager); + } + else if (e.getPropertyName().equals("tabPlacement") + && tabPane.getTabLayoutPolicy() + == JTabbedPane.SCROLL_TAB_LAYOUT) + { + incrButton = createIncreaseButton(); + decrButton = createDecreaseButton(); + + // If the tab placement value was changed of a tabbed pane + // in SCROLL_TAB_LAYOUT mode we investigate the change to + // implement the following behavior which was observed in + // the RI: + // The scrolling offset will be reset if we change to + // a direction which is orthogonal to the current + // direction and stays the same if it is parallel. + + int oldPlacement = ((Integer) e.getOldValue()).intValue(); + int newPlacement = ((Integer) e.getNewValue()).intValue(); + switch (newPlacement) + { + case JTabbedPane.TOP: + case JTabbedPane.BOTTOM: + if (oldPlacement == JTabbedPane.TOP + || oldPlacement == JTabbedPane.BOTTOM) + break out; + + currentScrollOffset = getTabAreaInsets(newPlacement).left; + break; + default: + if (oldPlacement == JTabbedPane.LEFT + || oldPlacement == JTabbedPane.RIGHT) + break out; + + currentScrollOffset = getTabAreaInsets(newPlacement).top; + } + + updateViewPosition(); + updateButtons(); + } } + tabPane.revalidate(); tabPane.repaint(); } @@ -784,6 +902,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants default: tabAreaHeight = calculateTabAreaHeight(tabPlacement, runCount, maxTabHeight); + compX = insets.left + contentBorderInsets.left; compY = tabAreaHeight + insets.top + contentBorderInsets.top; } @@ -838,83 +957,51 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants protected void normalizeTabRuns(int tabPlacement, int tabCount, int start, int max) { - Insets tabAreaInsets = getTabAreaInsets(tabPlacement); - if (tabPlacement == SwingUtilities.TOP - || tabPlacement == SwingUtilities.BOTTOM) + boolean horizontal = tabPlacement == TOP || tabPlacement == BOTTOM; + int currentRun = runCount - 1; + double weight = 1.25; + for (boolean adjust = true; adjust == true;) { - // We should only do this for runCount - 1, cause we can - // only shift that many times between runs. - for (int i = 1; i < runCount; i++) + int last = lastTabInRun(tabCount, currentRun); + int prevLast = lastTabInRun(tabCount, currentRun - 1); + int end; + int prevLength; + if (horizontal) { - Rectangle currRun = rects[lastTabInRun(tabCount, i)]; - Rectangle nextRun = rects[lastTabInRun(tabCount, - getNextTabRun(i))]; - int spaceInCurr = currRun.x + currRun.width; - int spaceInNext = nextRun.x + nextRun.width; - - int diffNow = spaceInCurr - spaceInNext; - int diffLater = (spaceInCurr - currRun.width) - - (spaceInNext + currRun.width); - - while (Math.abs(diffLater) < Math.abs(diffNow) - && spaceInNext + currRun.width < max) - { - tabRuns[i]--; - spaceInNext += currRun.width; - spaceInCurr -= currRun.width; - currRun = rects[lastTabInRun(tabCount, i)]; - diffNow = spaceInCurr - spaceInNext; - diffLater = (spaceInCurr - currRun.width) - - (spaceInNext + currRun.width); - } - - // Fixes the bounds of all tabs in the current - // run. - int first = tabRuns[i]; - int last = lastTabInRun(tabCount, i); - int currX = start; - for (int j = first; j <= last; j++) - { - rects[j].x = currX; - currX += rects[j].width; - } + end = rects[last].x + rects[last].width; + prevLength = (int) (maxTabWidth * weight); } - } - else - { - for (int i = 1; i < runCount; i++) + else { - Rectangle currRun = rects[lastTabInRun(tabCount, i)]; - Rectangle nextRun = rects[lastTabInRun(tabCount, - getNextTabRun(i))]; - int spaceInCurr = currRun.y + currRun.height; - int spaceInNext = nextRun.y + nextRun.height; - - int diffNow = spaceInCurr - spaceInNext; - int diffLater = (spaceInCurr - currRun.height) - - (spaceInNext + currRun.height); - while (Math.abs(diffLater) < Math.abs(diffNow) - && spaceInNext + currRun.height < max) - { - tabRuns[i]--; - spaceInNext += currRun.height; - spaceInCurr -= currRun.height; - currRun = rects[lastTabInRun(tabCount, i)]; - diffNow = spaceInCurr - spaceInNext; - diffLater = (spaceInCurr - currRun.height) - - (spaceInNext + currRun.height); - } - - // Fixes the bounds of tabs in the current run. - int first = tabRuns[i]; - int last = lastTabInRun(tabCount, i); - int currY = start; - for (int j = first; j <= last; j++) + end = rects[last].y + rects[last].height; + prevLength = (int) (maxTabWidth * weight * 2); + } + if (max - end > prevLength) + { + tabRuns[currentRun] = prevLast; + if (horizontal) + rects[prevLast].x = start; + else + rects[prevLast].y = start; + for (int i = prevLast + 1; i <= last; i++) { - rects[j].y = currY; - currY += rects[j].height; + if (horizontal) + rects[i].x = rects[i - 1].x + rects[i - 1].width; + else + rects[i].y = rects[i - 1].y + rects[i - 1].height; } } + else if (currentRun == runCount - 1) + adjust = false; + if (currentRun - 1 > 0) + currentRun -= 1; + else + { + // Check again, but with higher ratio to avoid + // clogging up the last run. + currentRun = runCount - 1; + weight += 0.25; + } } } @@ -1325,7 +1412,6 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { super.layoutContainer(pane); int tabCount = tabPane.getTabCount(); - Point p = null; if (tabCount == 0) return; int tabPlacement = tabPane.getTabPlacement(); @@ -1512,7 +1598,7 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants */ public void updateUI() { - setUI((PanelUI) new ScrollingPanelUI()); + setUI(new ScrollingPanelUI()); } } @@ -1892,15 +1978,19 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants final void updateViewPosition() { Point p = viewport.getViewPosition(); - + + // The unneeded coordinate must be set to zero + // in order to correctly handle placement changes. switch (tabPane.getTabPlacement()) { case JTabbedPane.LEFT: case JTabbedPane.RIGHT: + p.x = 0; p.y = currentScrollOffset; break; default: p.x = currentScrollOffset; + p.y = 0; } viewport.setViewPosition(p); @@ -2331,7 +2421,6 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants paintTabBorder(g, tabPlacement, tabIndex, rect.x, rect.y, rect.width, rect.height, isSelected); - // Layout label. FontMetrics fm = getFontMetrics(); Icon icon = getIconForTab(tabIndex); @@ -2369,7 +2458,17 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected) { - SwingUtilities.layoutCompoundLabel(metrics, title, icon, + // Reset the icon and text rectangles, as the result is not specified + // when the locations are not (0,0). + textRect.x = 0; + textRect.y = 0; + textRect.width = 0; + textRect.height = 0; + iconRect.x = 0; + iconRect.y = 0; + iconRect.width = 0; + iconRect.height = 0; + SwingUtilities.layoutCompoundLabel(tabPane, metrics, title, icon, SwingConstants.CENTER, SwingConstants.CENTER, SwingConstants.CENTER, @@ -2764,7 +2863,6 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants int width = tabPane.getWidth(); int height = tabPane.getHeight(); Insets insets = tabPane.getInsets(); - Insets tabAreaInsets = getTabAreaInsets(tabPlacement); // Calculate coordinates of content area. int x = insets.left; @@ -2869,8 +2967,6 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants int endgap = rects[selectedIndex].y + rects[selectedIndex].height - currentScrollOffset; - int diff = 0; - if (tabPlacement == SwingConstants.LEFT && startgap >= 0) { g.drawLine(x, y, x, startgap); @@ -2957,8 +3053,6 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants int endgap = rects[selectedIndex].y + rects[selectedIndex].height - currentScrollOffset; - int diff = 0; - if (tabPlacement == SwingConstants.RIGHT && startgap >= 0) { g.setColor(shadow); @@ -2988,8 +3082,13 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants } /** - * This method returns the tab bounds for the given index. - * + *

      This method returns the bounds of a tab for the given index + * and shifts it by the current scrolling offset if the tabbed + * pane is in scrolling tab layout mode.

      + * + *

      Subclassses should retrievs a tab's bounds by this method + * if they want to find out whether the tab is currently visible.

      + * * @param pane The JTabbedPane. * @param i The index to look for. * @@ -3000,6 +3099,26 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants // Need to re-layout container if tab does not exist. if (i >= rects.length) layoutManager.layoutContainer(pane); + + // Properly shift coordinates if scrolling has taken + // place. + if (pane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT) + { + Rectangle r = new Rectangle(rects[i]); + + switch(pane.getTabPlacement()) + { + case SwingConstants.TOP: + case SwingConstants.BOTTOM: + r.x -= currentScrollOffset; + break; + default: + r.y -= currentScrollOffset; + } + + return r; + } + return rects[i]; } @@ -3048,7 +3167,10 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants } /** - * This method returns the tab bounds in the given rectangle. + *

      This method returns the tab bounds in the given rectangle.

      + * + *

      The returned rectangle will be shifted by the current scroll + * offset if the tabbed pane is in scrolling tab layout mode.

      . * * @param tabIndex The index to get bounds for. * @param dest The rectangle to store bounds in. @@ -3324,21 +3446,20 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants Icon icon = getIconForTab(tabIndex); Insets insets = getTabInsets(tabPlacement, tabIndex); - int width = 0; + int width = insets.bottom + insets.right + 3; if (icon != null) { - Rectangle vr = new Rectangle(); - Rectangle ir = new Rectangle(); - Rectangle tr = new Rectangle(); - layoutLabel(tabPlacement, getFontMetrics(), tabIndex, - tabPane.getTitleAt(tabIndex), icon, vr, ir, tr, - tabIndex == tabPane.getSelectedIndex()); - width = tr.union(ir).width; + width += icon.getIconWidth() + textIconGap; } - else - width = metrics.stringWidth(tabPane.getTitleAt(tabIndex)); - width += insets.left + insets.right; + View v = getTextViewForTab(tabIndex); + if (v != null) + width += v.getPreferredSpan(View.X_AXIS); + else + { + String label = tabPane.getTitleAt(tabIndex); + width += metrics.stringWidth(label); + } return width; } @@ -3377,7 +3498,8 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { Insets insets = getTabAreaInsets(tabPlacement); int tabAreaHeight = horizRunCount * maxTabHeight - - (horizRunCount - 1) * tabRunOverlay; + - (horizRunCount - 1) + * getTabRunOverlay(tabPlacement); tabAreaHeight += insets.top + insets.bottom; @@ -3399,7 +3521,8 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { Insets insets = getTabAreaInsets(tabPlacement); int tabAreaWidth = vertRunCount * maxTabWidth - - (vertRunCount - 1) * tabRunOverlay; + - (vertRunCount - 1) + * getTabRunOverlay(tabPlacement); tabAreaWidth += insets.left + insets.right; diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java index abe7cab43b3..8a8eeb837fe 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java @@ -38,8 +38,6 @@ exception statement from your version. */ package javax.swing.plaf.basic; -import gnu.classpath.NotImplementedException; - import java.awt.Component; import java.awt.Cursor; import java.awt.Dimension; @@ -415,9 +413,8 @@ public class BasicTableHeaderUI extends TableHeaderUI } protected void installKeyboardActions() - throws NotImplementedException { - // TODO: Implement this properly. + // AFAICS, the RI does nothing here. } /** @@ -448,9 +445,8 @@ public class BasicTableHeaderUI extends TableHeaderUI } protected void uninstallKeyboardActions() - throws NotImplementedException { - // TODO: Implement this properly. + // AFAICS, the RI does nothing here. } /** diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTableUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTableUI.java index 15be4d57e62..a672173c725 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTableUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTableUI.java @@ -443,11 +443,14 @@ public class BasicTableUI extends TableUI public Dimension getPreferredSize(JComponent comp) { int prefTotalColumnWidth = 0; - for (int i = 0; i < table.getColumnCount(); i++) + TableColumnModel tcm = table.getColumnModel(); + + for (int i = 0; i < tcm.getColumnCount(); i++) { - TableColumn col = table.getColumnModel().getColumn(i); + TableColumn col = tcm.getColumn(i); prefTotalColumnWidth += col.getPreferredWidth(); } + return new Dimension(prefTotalColumnWidth, getHeight()); } @@ -455,7 +458,7 @@ public class BasicTableUI extends TableUI * Returns the table height. This helper method is used by * {@link #getMinimumSize(JComponent)}, {@link #getPreferredSize(JComponent)} * and {@link #getMaximumSize(JComponent)} to determine the table height. - * + * * @return the table height */ private int getHeight() diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTextUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTextUI.java index 8e9c8c949f3..e152a3034d5 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTextUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTextUI.java @@ -38,6 +38,8 @@ exception statement from your version. */ package javax.swing.plaf.basic; +import gnu.classpath.SystemProperties; + import java.awt.Color; import java.awt.Container; import java.awt.Dimension; @@ -71,6 +73,7 @@ import javax.swing.plaf.InputMapUIResource; import javax.swing.plaf.TextUI; import javax.swing.plaf.UIResource; import javax.swing.text.AbstractDocument; +import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.Caret; import javax.swing.text.DefaultCaret; @@ -120,6 +123,140 @@ public abstract class BasicTextUI extends TextUI } } + private static class FocusHandler + implements FocusListener + { + public void focusGained(FocusEvent e) + { + // Nothing to do here. + } + public void focusLost(FocusEvent e) + { + JTextComponent textComponent = (JTextComponent) e.getComponent(); + // Integrates Swing text components with the system clipboard: + // The idea is that if one wants to copy text around X11-style + // (select text and middle-click in the target component) the focus + // will move to the new component which gives the old focus owner the + // possibility to paste its selection into the clipboard. + if (!e.isTemporary() + && textComponent.getSelectionStart() + != textComponent.getSelectionEnd()) + { + SecurityManager sm = System.getSecurityManager(); + try + { + if (sm != null) + sm.checkSystemClipboardAccess(); + + Clipboard cb = Toolkit.getDefaultToolkit().getSystemSelection(); + if (cb != null) + { + StringSelection selection = new StringSelection( + textComponent.getSelectedText()); + cb.setContents(selection, selection); + } + } + catch (SecurityException se) + { + // Not allowed to access the clipboard: Ignore and + // do not access it. + } + catch (HeadlessException he) + { + // There is no AWT: Ignore and do not access the + // clipboard. + } + catch (IllegalStateException ise) + { + // Clipboard is currently unavaible. + } + } + } + } + + /** + * This FocusListener triggers repaints on focus shift. + */ + private static FocusListener focusListener; + + /** + * Receives notifications when properties of the text component change. + */ + private class Handler + implements PropertyChangeListener, DocumentListener + { + /** + * Notifies when a property of the text component changes. + * + * @param event the PropertyChangeEvent describing the change + */ + public void propertyChange(PropertyChangeEvent event) + { + if (event.getPropertyName().equals("document")) + { + // Document changed. + Object oldValue = event.getOldValue(); + if (oldValue != null) + { + Document oldDoc = (Document) oldValue; + oldDoc.removeDocumentListener(handler); + } + Object newValue = event.getNewValue(); + if (newValue != null) + { + Document newDoc = (Document) newValue; + newDoc.addDocumentListener(handler); + } + modelChanged(); + } + + BasicTextUI.this.propertyChange(event); + } + + /** + * Notification about a document change event. + * + * @param ev the DocumentEvent describing the change + */ + public void changedUpdate(DocumentEvent ev) + { + // Updates are forwarded to the View even if 'getVisibleEditorRect' + // method returns null. This means the View classes have to be + // aware of that possibility. + rootView.changedUpdate(ev, getVisibleEditorRect(), + rootView.getViewFactory()); + } + + /** + * Notification about a document insert event. + * + * @param ev the DocumentEvent describing the insertion + */ + public void insertUpdate(DocumentEvent ev) + { + // Updates are forwarded to the View even if 'getVisibleEditorRect' + // method returns null. This means the View classes have to be + // aware of that possibility. + rootView.insertUpdate(ev, getVisibleEditorRect(), + rootView.getViewFactory()); + } + + /** + * Notification about a document removal event. + * + * @param ev the DocumentEvent describing the removal + */ + public void removeUpdate(DocumentEvent ev) + { + // Updates are forwarded to the View even if 'getVisibleEditorRect' + // method returns null. This means the View classes have to be + // aware of that possibility. + rootView.removeUpdate(ev, getVisibleEditorRect(), + rootView.getViewFactory()); + } + + } + /** * This view forms the root of the View hierarchy. However, it delegates * most calls to another View which is the real root of the hierarchy. @@ -226,19 +363,14 @@ public abstract class BasicTextUI extends TextUI } /** - * Returns the preferred span along the specified axis. - * This is delegated to the real root view. - * - * @param axis the axis for which the preferred span is queried - * - * @return the preferred span along the axis + * Sets the size of the renderer. This is synchronized because that + * potentially triggers layout and we don't want more than one thread + * playing with the layout information. */ - public float getPreferredSpan(int axis) + public synchronized void setSize(float w, float h) { if (view != null) - return view.getPreferredSpan(axis); - - return Integer.MAX_VALUE; + view.setSize(w, h); } /** @@ -251,8 +383,8 @@ public abstract class BasicTextUI extends TextUI { if (view != null) { - Rectangle b = s.getBounds(); - view.setSize(b.width, b.height); + Rectangle b = s instanceof Rectangle ? (Rectangle) s : s.getBounds(); + setSize(b.width, b.height); view.paint(g, s); } } @@ -312,7 +444,8 @@ public abstract class BasicTextUI extends TextUI */ public void insertUpdate(DocumentEvent ev, Shape shape, ViewFactory vf) { - view.insertUpdate(ev, shape, vf); + if (view != null) + view.insertUpdate(ev, shape, vf); } /** @@ -325,7 +458,8 @@ public abstract class BasicTextUI extends TextUI */ public void removeUpdate(DocumentEvent ev, Shape shape, ViewFactory vf) { - view.removeUpdate(ev, shape, vf); + if (view != null) + view.removeUpdate(ev, shape, vf); } /** @@ -338,7 +472,8 @@ public abstract class BasicTextUI extends TextUI */ public void changedUpdate(DocumentEvent ev, Shape shape, ViewFactory vf) { - view.changedUpdate(ev, shape, vf); + if (view != null) + view.changedUpdate(ev, shape, vf); } /** @@ -400,116 +535,73 @@ public abstract class BasicTextUI extends TextUI { return textComponent.getDocument(); } - } - /** - * Receives notifications when properties of the text component change. - */ - private class PropertyChangeHandler implements PropertyChangeListener - { /** - * Notifies when a property of the text component changes. - * - * @param event the PropertyChangeEvent describing the change + * Returns the attributes, which is null for the RootView. */ - public void propertyChange(PropertyChangeEvent event) + public AttributeSet getAttributes() { - if (event.getPropertyName().equals("document")) - { - // Document changed. - Object oldValue = event.getOldValue(); - if (oldValue != null) - { - Document oldDoc = (Document) oldValue; - oldDoc.removeDocumentListener(documentHandler); - } - Object newValue = event.getNewValue(); - if (newValue != null) - { - Document newDoc = (Document) newValue; - newDoc.addDocumentListener(documentHandler); - } - modelChanged(); - } - - BasicTextUI.this.propertyChange(event); + return null; } - } - /** - * Listens for changes on the underlying model and forwards notifications - * to the View. This also updates the caret position of the text component. - * - * TODO: Maybe this should somehow be handled through EditorKits - */ - class DocumentHandler implements DocumentListener - { /** - * Notification about a document change event. - * - * @param ev the DocumentEvent describing the change + * Overridden to forward to the view. */ - public void changedUpdate(DocumentEvent ev) + public float getPreferredSpan(int axis) { - // Updates are forwarded to the View even if 'getVisibleEditorRect' - // method returns null. This means the View classes have to be - // aware of that possibility. - rootView.changedUpdate(ev, getVisibleEditorRect(), - rootView.getViewFactory()); + // The RI returns 10 in the degenerate case. + float span = 10; + if (view != null) + span = view.getPreferredSpan(axis); + return span; } /** - * Notification about a document insert event. - * - * @param ev the DocumentEvent describing the insertion + * Overridden to forward to the real view. */ - public void insertUpdate(DocumentEvent ev) + public float getMinimumSpan(int axis) { - // Updates are forwarded to the View even if 'getVisibleEditorRect' - // method returns null. This means the View classes have to be - // aware of that possibility. - rootView.insertUpdate(ev, getVisibleEditorRect(), - rootView.getViewFactory()); + // The RI returns 10 in the degenerate case. + float span = 10; + if (view != null) + span = view.getMinimumSpan(axis); + return span; } /** - * Notification about a document removal event. - * - * @param ev the DocumentEvent describing the removal + * Overridden to return Integer.MAX_VALUE. */ - public void removeUpdate(DocumentEvent ev) + public float getMaximumSpan(int axis) { - // Updates are forwarded to the View even if 'getVisibleEditorRect' - // method returns null. This means the View classes have to be - // aware of that possibility. - rootView.removeUpdate(ev, getVisibleEditorRect(), - rootView.getViewFactory()); + // The RI returns Integer.MAX_VALUE here, regardless of the real view's + // maximum size. + return Integer.MAX_VALUE; } } /** * The EditorKit used by this TextUI. */ - // FIXME: should probably be non-static. - static EditorKit kit = new DefaultEditorKit(); + private static EditorKit kit; /** - * The root view. + * The combined event handler for text components. + * + * This is package private to avoid accessor methods. */ - RootView rootView = new RootView(); + Handler handler; /** - * The text component that we handle. + * The root view. + * + * This is package private to avoid accessor methods. */ - JTextComponent textComponent; + RootView rootView; /** - * Receives notification when the model changes. + * The text component that we handle. */ - private PropertyChangeHandler updateHandler = new PropertyChangeHandler(); - - /** The DocumentEvent handler. */ - DocumentHandler documentHandler = new DocumentHandler(); + JTextComponent textComponent; /** * Creates a new BasicTextUI instance. @@ -558,17 +650,31 @@ public abstract class BasicTextUI extends TextUI public void installUI(final JComponent c) { textComponent = (JTextComponent) c; + + if (rootView == null) + rootView = new RootView(); + installDefaults(); - textComponent.addPropertyChangeListener(updateHandler); + installFixedDefaults(); + + // These listeners must be installed outside of installListeners(), + // because overriding installListeners() doesn't prevent installing + // these in the RI, but overriding isntallUI() does. + if (handler == null) + handler = new Handler(); + textComponent.addPropertyChangeListener(handler); Document doc = textComponent.getDocument(); if (doc == null) { + // The Handler takes care of installing the necessary listeners + // on the document here. doc = getEditorKit(textComponent).createDefaultDocument(); textComponent.setDocument(doc); } else { - doc.addDocumentListener(documentHandler); + // Must install the document listener. + doc.addDocumentListener(handler); modelChanged(); } @@ -586,7 +692,6 @@ public abstract class BasicTextUI extends TextUI LookAndFeel.installColorsAndFont(textComponent, prefix + ".background", prefix + ".foreground", prefix + ".font"); LookAndFeel.installBorder(textComponent, prefix + ".border"); - textComponent.setMargin(UIManager.getInsets(prefix + ".margin")); // Some additional text component only properties. Color color = textComponent.getCaretColor(); @@ -600,7 +705,7 @@ public abstract class BasicTextUI extends TextUI color = textComponent.getDisabledTextColor(); if (color == null || color instanceof UIResource) { - color = UIManager.getColor(prefix + ".inactiveBackground"); + color = UIManager.getColor(prefix + ".inactiveForeground"); textComponent.setDisabledTextColor(color); } color = textComponent.getSelectedTextColor(); @@ -623,6 +728,15 @@ public abstract class BasicTextUI extends TextUI textComponent.setMargin(margin); } + } + + /** + * Installs defaults that can't be overridden by overriding + * installDefaults(). + */ + private void installFixedDefaults() + { + String prefix = getPropertyPrefix(); Caret caret = textComponent.getCaret(); if (caret == null || caret instanceof UIResource) { @@ -637,65 +751,19 @@ public abstract class BasicTextUI extends TextUI } - /** - * This FocusListener triggers repaints on focus shift. - */ - private FocusListener focuslistener = new FocusListener() { - public void focusGained(FocusEvent e) - { - textComponent.repaint(); - } - public void focusLost(FocusEvent e) - { - textComponent.repaint(); - - // Integrates Swing text components with the system clipboard: - // The idea is that if one wants to copy text around X11-style - // (select text and middle-click in the target component) the focus - // will move to the new component which gives the old focus owner the - // possibility to paste its selection into the clipboard. - if (!e.isTemporary() - && textComponent.getSelectionStart() - != textComponent.getSelectionEnd()) - { - SecurityManager sm = System.getSecurityManager(); - try - { - if (sm != null) - sm.checkSystemClipboardAccess(); - - Clipboard cb = Toolkit.getDefaultToolkit().getSystemSelection(); - if (cb != null) - { - StringSelection selection = new StringSelection( - textComponent.getSelectedText()); - cb.setContents(selection, selection); - } - } - catch (SecurityException se) - { - // Not allowed to access the clipboard: Ignore and - // do not access it. - } - catch (HeadlessException he) - { - // There is no AWT: Ignore and do not access the - // clipboard. - } - catch (IllegalStateException ise) - { - // Clipboard is currently unavaible. - } - } - } - }; - /** * Install all listeners on the text component. */ protected void installListeners() { - textComponent.addFocusListener(focuslistener); + // + if (SystemProperties.getProperty("gnu.swing.text.no-xlike-clipboard") + == null) + { + if (focusListener == null) + focusListener = new FocusHandler(); + textComponent.addFocusListener(focusListener); + } } /** @@ -834,10 +902,12 @@ public abstract class BasicTextUI extends TextUI */ public void uninstallUI(final JComponent component) { - super.uninstallUI(component); + textComponent.removePropertyChangeListener(handler); + textComponent.getDocument().removeDocumentListener(handler); rootView.setView(null); uninstallDefaults(); + uninstallFixedDefaults(); uninstallListeners(); uninstallKeyboardActions(); @@ -850,7 +920,29 @@ public abstract class BasicTextUI extends TextUI */ protected void uninstallDefaults() { - // Do nothing here. + if (textComponent.getCaretColor() instanceof UIResource) + textComponent.setCaretColor(null); + if (textComponent.getSelectionColor() instanceof UIResource) + textComponent.setSelectionColor(null); + if (textComponent.getDisabledTextColor() instanceof UIResource) + textComponent.setDisabledTextColor(null); + if (textComponent.getSelectedTextColor() instanceof UIResource) + textComponent.setSelectedTextColor(null); + LookAndFeel.uninstallBorder(textComponent); + if (textComponent.getMargin() instanceof UIResource) + textComponent.setMargin(null); + } + + /** + * Uninstalls additional fixed defaults that were installed + * by installFixedDefaults(). + */ + private void uninstallFixedDefaults() + { + if (textComponent.getCaret() instanceof UIResource) + textComponent.setCaret(null); + if (textComponent.getHighlighter() instanceof UIResource) + textComponent.setHighlighter(null); } /** @@ -859,7 +951,10 @@ public abstract class BasicTextUI extends TextUI */ protected void uninstallListeners() { - textComponent.removeFocusListener(focuslistener); + // Don't nullify the focusListener field, as it is static and shared + // between components. + if (focusListener != null) + textComponent.removeFocusListener(focusListener); } /** @@ -891,14 +986,38 @@ public abstract class BasicTextUI extends TextUI */ public Dimension getPreferredSize(JComponent c) { - View v = getRootView(textComponent); - - float w = v.getPreferredSpan(View.X_AXIS); - float h = v.getPreferredSpan(View.Y_AXIS); - + Dimension d = c.getSize(); Insets i = c.getInsets(); - return new Dimension((int) w + i.left + i.right, + // We need to lock here, since we require the view hierarchy to _not_ + // change in between. + float w; + float h; + Document doc = textComponent.getDocument(); + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + if (d.width > (i.left + i.right) && d.height > (i.top + i.bottom)) + { + rootView.setSize(d.width - i.left - i.right, + d.height - i.top - i.bottom); + } + else + { + // Not laid out yet. Force some pseudo size. + rootView.setSize(Integer.MAX_VALUE, Integer.MAX_VALUE); + } + w = rootView.getPreferredSpan(View.X_AXIS); + h = rootView.getPreferredSpan(View.Y_AXIS); + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + Dimension size = new Dimension((int) w + i.left + i.right, (int) h + i.top + i.bottom); + return size; } /** @@ -912,8 +1031,27 @@ public abstract class BasicTextUI extends TextUI */ public Dimension getMaximumSize(JComponent c) { - // Sun's implementation returns Integer.MAX_VALUE here, so do we. - return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE); + Dimension d = new Dimension(); + Insets i = c.getInsets(); + Document doc = textComponent.getDocument(); + // We need to lock here, since we require the view hierarchy to _not_ + // change in between. + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + // Check for overflow here. + d.width = (int) Math.min((long) rootView.getMaximumSpan(View.X_AXIS) + + i.left + i.right, Integer.MAX_VALUE); + d.height = (int) Math.min((long) rootView.getMaximumSpan(View.Y_AXIS) + + i.top + i.bottom, Integer.MAX_VALUE); + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + return d; } /** @@ -924,8 +1062,26 @@ public abstract class BasicTextUI extends TextUI */ public Dimension getMinimumSize(JComponent c) { + Dimension d = new Dimension(); + Document doc = textComponent.getDocument(); + // We need to lock here, since we require the view hierarchy to _not_ + // change in between. + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + d.width = (int) rootView.getMinimumSpan(View.X_AXIS); + d.height = (int) rootView.getMinimumSpan(View.Y_AXIS); + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } Insets i = c.getInsets(); - return new Dimension(i.left + i.right, i.top + i.bottom); + d.width += i.left + i.right; + d.height += i.top + i.bottom; + return d; } /** @@ -946,7 +1102,6 @@ public abstract class BasicTextUI extends TextUI AbstractDocument aDoc = (AbstractDocument) doc; aDoc.readLock(); } - paintSafely(g); } finally @@ -996,7 +1151,6 @@ public abstract class BasicTextUI extends TextUI g.setColor(oldColor); } - rootView.paint(g, getVisibleEditorRect()); if (caret != null && textComponent.hasFocus()) @@ -1104,6 +1258,8 @@ public abstract class BasicTextUI extends TextUI */ public EditorKit getEditorKit(JTextComponent t) { + if (kit == null) + kit = new DefaultEditorKit(); return kit; } @@ -1126,12 +1282,26 @@ public abstract class BasicTextUI extends TextUI Position.Bias[] biasRet) throws BadLocationException { - // A comment in the spec of NavigationFilter.getNextVisualPositionFrom() - // suggests that this method should be implemented by forwarding the call - // the root view. - return rootView.getNextVisualPositionFrom(pos, b, - getVisibleEditorRect(), - direction, biasRet); + int offset = -1; + Document doc = textComponent.getDocument(); + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + Rectangle alloc = getVisibleEditorRect(); + if (alloc != null) + { + rootView.setSize(alloc.width, alloc.height); + offset = rootView.getNextVisualPositionFrom(pos, b, alloc, + direction, biasRet); + } + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + return offset; } /** @@ -1224,7 +1394,7 @@ public abstract class BasicTextUI extends TextUI */ public int viewToModel(JTextComponent t, Point pt) { - return viewToModel(t, pt, null); + return viewToModel(t, pt, new Position.Bias[1]); } /** @@ -1241,7 +1411,25 @@ public abstract class BasicTextUI extends TextUI */ public int viewToModel(JTextComponent t, Point pt, Position.Bias[] biasReturn) { - return rootView.viewToModel(pt.x, pt.y, getVisibleEditorRect(), biasReturn); + int offset = -1; + Document doc = textComponent.getDocument(); + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + Rectangle alloc = getVisibleEditorRect(); + if (alloc != null) + { + rootView.setSize(alloc.width, alloc.height); + offset = rootView.viewToModel(pt.x, pt.y, alloc, biasReturn); + } + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + return offset; } /** @@ -1272,6 +1460,11 @@ public abstract class BasicTextUI extends TextUI return null; } + /** + * A cached Insets instance to be reused below. + */ + private Insets cachedInsets; + /** * Returns the allocation to give the root view. * @@ -1290,7 +1483,7 @@ public abstract class BasicTextUI extends TextUI if (width <= 0 || height <= 0) return null; - Insets insets = textComponent.getInsets(); + Insets insets = textComponent.getInsets(cachedInsets); return new Rectangle(insets.left, insets.top, width - insets.left - insets.right, height - insets.top - insets.bottom); @@ -1341,4 +1534,5 @@ public abstract class BasicTextUI extends TextUI { // The default implementation does nothing. } + } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicToolBarUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicToolBarUI.java index 1c36b408d5a..7be69ec2576 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicToolBarUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicToolBarUI.java @@ -898,7 +898,8 @@ public class BasicToolBarUI extends ToolBarUI implements SwingConstants b.setRolloverEnabled(false); // Save old border in hashtable. - borders.put(b, b.getBorder()); + if (b.getBorder() != null) + borders.put(b, b.getBorder()); b.setBorder(nonRolloverBorder); } @@ -932,7 +933,8 @@ public class BasicToolBarUI extends ToolBarUI implements SwingConstants b.setRolloverEnabled(false); // Save old border in hashtable. - borders.put(b, b.getBorder()); + if (b.getBorder() != null) + borders.put(b, b.getBorder()); b.setBorder(rolloverBorder); } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicToolTipUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicToolTipUI.java index 5cec2e33365..94e7bc322f6 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicToolTipUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicToolTipUI.java @@ -40,19 +40,20 @@ package javax.swing.plaf.basic; import java.awt.Color; import java.awt.Dimension; +import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; -import java.awt.Toolkit; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JToolTip; import javax.swing.LookAndFeel; -import javax.swing.SwingConstants; -import javax.swing.SwingUtilities; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ToolTipUI; +import javax.swing.text.View; /** * This is the Basic Look and Feel UI class for JToolTip. @@ -60,12 +61,39 @@ import javax.swing.plaf.ToolTipUI; public class BasicToolTipUI extends ToolTipUI { + /** + * Receives notification when a property of the JToolTip changes. + * This updates the HTML renderer if appropriate. + */ + private class PropertyChangeHandler + implements PropertyChangeListener + { + + public void propertyChange(PropertyChangeEvent e) + { + String prop = e.getPropertyName(); + if (prop.equals("tiptext") || prop.equals("font") + || prop.equals("foreground")) + { + JToolTip tip = (JToolTip) e.getSource(); + String text = tip.getTipText(); + BasicHTML.updateRenderer(tip, text); + } + } + + } + /** The shared instance of BasicToolTipUI used for all ToolTips. */ private static BasicToolTipUI shared; /** The tooltip's text */ private String text; + /** + * Handles property changes. + */ + private PropertyChangeListener propertyChangeHandler; + /** * Creates a new BasicToolTipUI object. */ @@ -98,7 +126,12 @@ public class BasicToolTipUI extends ToolTipUI */ public Dimension getMaximumSize(JComponent c) { - return getPreferredSize(c); + Dimension d = getPreferredSize(c); + View view = (View) c.getClientProperty(BasicHTML.propertyKey); + if (view != null) + d.width += view.getMaximumSpan(View.X_AXIS) + - view.getPreferredSpan(View.X_AXIS); + return d; } /** @@ -110,7 +143,12 @@ public class BasicToolTipUI extends ToolTipUI */ public Dimension getMinimumSize(JComponent c) { - return getPreferredSize(c); + Dimension d = getPreferredSize(c); + View view = (View) c.getClientProperty(BasicHTML.propertyKey); + if (view != null) + d.width -= view.getPreferredSpan(View.X_AXIS) + - view.getMinimumSpan(View.X_AXIS); + return d; } /** @@ -123,22 +161,25 @@ public class BasicToolTipUI extends ToolTipUI public Dimension getPreferredSize(JComponent c) { JToolTip tip = (JToolTip) c; - FontMetrics fm; - Toolkit g = tip.getToolkit(); - text = tip.getTipText(); - - Rectangle vr = new Rectangle(); - Rectangle ir = new Rectangle(); - Rectangle tr = new Rectangle(); - Insets insets = tip.getInsets(); - fm = g.getFontMetrics(tip.getFont()); - SwingUtilities.layoutCompoundLabel(tip, fm, text, null, - SwingConstants.CENTER, - SwingConstants.CENTER, - SwingConstants.CENTER, - SwingConstants.CENTER, vr, ir, tr, 0); - return new Dimension(insets.left + tr.width + insets.right, - insets.top + tr.height + insets.bottom); + String str = tip.getTipText(); + FontMetrics fm = c.getFontMetrics(c.getFont()); + Insets i = c.getInsets(); + Dimension d = new Dimension(i.left + i.right, i.top + i.bottom); + if (str != null && ! str.equals("")) + { + View view = (View) c.getClientProperty(BasicHTML.propertyKey); + if (view != null) + { + d.width += (int) view.getPreferredSpan(View.X_AXIS); + d.height += (int) view.getPreferredSpan(View.Y_AXIS); + } + else + { + d.width += fm.stringWidth(str) + 6; + d.height += fm.getHeight(); + } + } + return d; } /** @@ -160,7 +201,8 @@ public class BasicToolTipUI extends ToolTipUI */ protected void installListeners(JComponent c) { - // TODO: Implement this properly. + propertyChangeHandler = new PropertyChangeHandler(); + c.addPropertyChangeListener(propertyChangeHandler); } /** @@ -172,6 +214,7 @@ public class BasicToolTipUI extends ToolTipUI { c.setOpaque(true); installDefaults(c); + BasicHTML.updateRenderer(c, ((JToolTip) c).getTipText()); installListeners(c); } @@ -186,26 +229,25 @@ public class BasicToolTipUI extends ToolTipUI JToolTip tip = (JToolTip) c; String text = tip.getTipText(); - Toolkit t = tip.getToolkit(); - if (text == null) - return; - - Rectangle vr = new Rectangle(); - vr = SwingUtilities.calculateInnerArea(tip, vr); - Rectangle ir = new Rectangle(); - Rectangle tr = new Rectangle(); - FontMetrics fm = t.getFontMetrics(tip.getFont()); + Font font = c.getFont(); + FontMetrics fm = c.getFontMetrics(font); int ascent = fm.getAscent(); - SwingUtilities.layoutCompoundLabel(tip, fm, text, null, - SwingConstants.CENTER, - SwingConstants.CENTER, - SwingConstants.CENTER, - SwingConstants.CENTER, vr, ir, tr, 0); + Insets i = c.getInsets(); + Dimension size = c.getSize(); + Rectangle paintR = new Rectangle(i.left, i.top, + size.width - i.left - i.right, + size.height - i.top - i.bottom); Color saved = g.getColor(); + Font oldFont = g.getFont(); g.setColor(Color.BLACK); - g.drawString(text, vr.x, vr.y + ascent); + View view = (View) c.getClientProperty(BasicHTML.propertyKey); + if (view != null) + view.paint(g, paintR); + else + g.drawString(text, paintR.x + 3, paintR.y + ascent); + g.setFont(oldFont); g.setColor(saved); } @@ -229,7 +271,11 @@ public class BasicToolTipUI extends ToolTipUI */ protected void uninstallListeners(JComponent c) { - // TODO: Implement this properly. + if (propertyChangeHandler != null) + { + c.removePropertyChangeListener(propertyChangeHandler); + propertyChangeHandler = null; + } } /** @@ -240,6 +286,7 @@ public class BasicToolTipUI extends ToolTipUI public void uninstallUI(JComponent c) { uninstallDefaults(c); + BasicHTML.updateRenderer(c, ""); uninstallListeners(c); } } diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java index 9a193986ac5..5b0ffce09b6 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java @@ -38,17 +38,16 @@ package javax.swing.plaf.basic; -import gnu.classpath.NotImplementedException; import gnu.javax.swing.tree.GnuPath; import java.awt.Color; import java.awt.Component; +import java.awt.Container; import java.awt.Dimension; -import java.awt.Font; -import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Insets; import java.awt.Label; +import java.awt.Point; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -196,7 +195,7 @@ public class BasicTreeUI protected AbstractLayoutCache treeState; /** Used for minimizing the drawing of vertical lines. */ - protected Hashtable drawingCache; + protected Hashtable drawingCache; /** * True if doing optimizations for a largeModel. Subclasses that don't support @@ -274,13 +273,6 @@ public class BasicTreeUI TreeModelListener treeModelListener; - /** - * This timer fires the editing action after about 1200 ms if not reset during - * that time. It handles the editing start with the single mouse click (and - * not the double mouse click) on the selected tree node. - */ - Timer startEditTimer; - /** * The zero size icon, used for expand controls, if they are not visible. */ @@ -428,6 +420,7 @@ public class BasicTreeUI { if (largeModel != this.largeModel) { + completeEditing(); tree.removeComponentListener(componentListener); this.largeModel = largeModel; tree.addComponentListener(componentListener); @@ -451,6 +444,7 @@ public class BasicTreeUI */ protected void setRowHeight(int rowHeight) { + completeEditing(); if (rowHeight == 0) rowHeight = getMaxHeight(tree); treeState.setRowHeight(rowHeight); @@ -544,6 +538,7 @@ public class BasicTreeUI */ protected void setRootVisible(boolean newValue) { + completeEditing(); tree.setRootVisible(newValue); } @@ -590,8 +585,7 @@ public class BasicTreeUI */ protected void setCellEditor(TreeCellEditor editor) { - cellEditor = editor; - createdCellEditor = true; + updateCellEditor(); } /** @@ -611,7 +605,7 @@ public class BasicTreeUI */ protected void setEditable(boolean newValue) { - tree.setEditable(newValue); + updateCellEditor(); } /** @@ -632,6 +626,7 @@ public class BasicTreeUI */ protected void setSelectionModel(TreeSelectionModel newLSM) { + completeEditing(); if (newLSM != null) { treeSelectionModel = newLSM; @@ -787,12 +782,13 @@ public class BasicTreeUI */ public boolean stopEditing(JTree tree) { - if (isEditing(tree)) + boolean ret = false; + if (editingComponent != null && cellEditor.stopCellEditing()) { completeEditing(false, false, true); - finish(); + ret = true; } - return ! isEditing(tree); + return ret; } /** @@ -805,8 +801,8 @@ public class BasicTreeUI // There is no need to send the cancel message to the editor, // as the cancellation event itself arrives from it. This would // only be necessary when cancelling the editing programatically. - completeEditing(false, false, false); - finish(); + if (editingComponent != null) + completeEditing(false, true, false); } /** @@ -818,7 +814,9 @@ public class BasicTreeUI */ public void startEditingAtPath(JTree tree, TreePath path) { - startEditing(path, null); + tree.scrollPathToVisible(path); + if (path != null && tree.isVisible(path)) + startEditing(path, null); } /** @@ -842,6 +840,7 @@ public class BasicTreeUI preferredSize = new Dimension(); largeModel = tree.isLargeModel(); preferredSize = new Dimension(); + stopEditingInCompleteEditing = true; setModel(tree.getModel()); } @@ -1136,6 +1135,7 @@ public class BasicTreeUI */ protected void updateExpandedDescendants(TreePath path) { + completeEditing(); Enumeration expanded = tree.getExpandedDescendants(path); while (expanded.hasMoreElements()) treeState.setExpandedState((TreePath) expanded.nextElement(), true); @@ -1167,9 +1167,33 @@ public class BasicTreeUI */ protected void updateCellEditor() { - if (tree.isEditable() && cellEditor == null) - setCellEditor(createDefaultCellEditor()); - createdCellEditor = true; + completeEditing(); + TreeCellEditor newEd = null; + if (tree != null && tree.isEditable()) + { + newEd = tree.getCellEditor(); + if (newEd == null) + { + newEd = createDefaultCellEditor(); + if (newEd != null) + { + tree.setCellEditor(newEd); + createdCellEditor = true; + } + } + } + // Update listeners. + if (newEd != cellEditor) + { + if (cellEditor != null && cellEditorListener != null) + cellEditor.removeCellEditorListener(cellEditorListener); + cellEditor = newEd; + if (cellEditorListener == null) + cellEditorListener = createCellEditorListener(); + if (cellEditor != null && cellEditorListener != null) + cellEditor.addCellEditorListener(cellEditorListener); + createdCellEditor = false; + } } /** @@ -1563,12 +1587,15 @@ public class BasicTreeUI for (int i = startIndex; i <= endIndex; i++, k++) { path[k] = treeState.getPathForRow(i); - isLeaf[k] = treeModel.isLeaf(path[k].getLastPathComponent()); - isExpanded[k] = tree.isExpanded(path[k]); - bounds[k] = getPathBounds(tree, path[k]); - - paintHorizontalPartOfLeg(g, clip, insets, bounds[k], path[k], i, - isExpanded[k], false, isLeaf[k]); + if (path[k] != null) + { + isLeaf[k] = treeModel.isLeaf(path[k].getLastPathComponent()); + isExpanded[k] = tree.isExpanded(path[k]); + bounds[k] = getPathBounds(tree, path[k]); + + paintHorizontalPartOfLeg(g, clip, insets, bounds[k], path[k], + i, isExpanded[k], false, isLeaf[k]); + } if (isLastChild(path[k])) paintVerticalPartOfLeg(g, clip, insets, path[k]); } @@ -1576,8 +1603,9 @@ public class BasicTreeUI k = 0; for (int i = startIndex; i <= endIndex; i++, k++) { - paintRow(g, clip, insets, bounds[k], path[k], i, isExpanded[k], - false, isLeaf[k]); + if (path[k] != null) + paintRow(g, clip, insets, bounds[k], path[k], i, isExpanded[k], + false, isLeaf[k]); } } } @@ -1587,7 +1615,9 @@ public class BasicTreeUI */ private boolean isLastChild(TreePath path) { - if (path instanceof GnuPath) + if (path == null) + return false; + else if (path instanceof GnuPath) { // Except the seldom case when the layout cache is changed, this // optimized code will be executed. @@ -1719,6 +1749,10 @@ public class BasicTreeUI */ protected void completeEditing() { + if (tree.getInvokesStopCellEditing() && stopEditingInCompleteEditing + && editingComponent != null) + cellEditor.stopCellEditing(); + completeEditing(false, true, false); } @@ -1736,28 +1770,35 @@ public class BasicTreeUI boolean messageTree) { // Make no attempt to complete the non existing editing session. - if (!isEditing(tree)) - return; - - if (messageStop) + if (stopEditingInCompleteEditing && editingComponent != null) { - getCellEditor().stopCellEditing(); - stopEditingInCompleteEditing = true; - } - - if (messageCancel) - { - getCellEditor().cancelCellEditing(); - stopEditingInCompleteEditing = true; - } + Component comp = editingComponent; + TreePath p = editingPath; + editingComponent = null; + editingPath = null; + if (messageStop) + cellEditor.stopCellEditing(); + else if (messageCancel) + cellEditor.cancelCellEditing(); + + tree.remove(comp); + + if (editorHasDifferentSize) + { + treeState.invalidatePathBounds(p); + updateSize(); + } + else + { + // Need to refresh the tree. + Rectangle b = getPathBounds(tree, p); + tree.repaint(0, b.y, tree.getWidth(), b.height); + } - if (messageTree) - { - TreeCellEditor editor = getCellEditor(); - if (editor != null) + if (messageTree) { - Object value = editor.getCellEditorValue(); - treeModel.valueForPathChanged(tree.getLeadSelectionPath(), value); + Object value = cellEditor.getCellEditorValue(); + treeModel.valueForPathChanged(p, value); } } } @@ -1772,46 +1813,104 @@ public class BasicTreeUI */ protected boolean startEditing(TreePath path, MouseEvent event) { - updateCellEditor(); - TreeCellEditor ed = getCellEditor(); + // Maybe cancel editing. + if (isEditing(tree) && tree.getInvokesStopCellEditing() + && ! stopEditing(tree)) + return false; - if (ed != null && (event == EDIT || ed.shouldSelectCell(event)) - && ed.isCellEditable(event)) + completeEditing(); + TreeCellEditor ed = cellEditor; + if (ed != null && tree.isPathEditable(path)) { - Rectangle bounds = getPathBounds(tree, path); - - // Extend the right boundary till the tree width. - bounds.width = tree.getWidth() - bounds.x; - - editingPath = path; - editingRow = tree.getRowForPath(editingPath); - - Object value = editingPath.getLastPathComponent(); - - stopEditingInCompleteEditing = false; - boolean expanded = tree.isExpanded(editingPath); - isEditing = true; - editingComponent = ed.getTreeCellEditorComponent(tree, value, true, - expanded, - isLeaf(editingRow), - editingRow); - - // Remove all previous components (if still present). Only one - // container with the editing component inside is allowed in the tree. - tree.removeAll(); - - // The editing component must be added to its container. We add the - // container, not the editing component itself. - Component container = editingComponent.getParent(); - container.setBounds(bounds); - tree.add(container); - editingComponent.requestFocus(); + if (ed.isCellEditable(event)) + { + editingRow = getRowForPath(tree, path); + Object value = path.getLastPathComponent(); + boolean isSelected = tree.isPathSelected(path); + boolean isExpanded = tree.isExpanded(editingPath); + boolean isLeaf = treeModel.isLeaf(value); + editingComponent = ed.getTreeCellEditorComponent(tree, value, + isSelected, + isExpanded, + isLeaf, + editingRow); + + Rectangle bounds = getPathBounds(tree, path); + + Dimension size = editingComponent.getPreferredSize(); + int rowHeight = getRowHeight(); + if (size.height != bounds.height && rowHeight > 0) + size.height = rowHeight; + + if (size.width != bounds.width || size.height != bounds.height) + { + editorHasDifferentSize = true; + treeState.invalidatePathBounds(path); + updateSize(); + } + else + editorHasDifferentSize = false; + + // The editing component must be added to its container. We add the + // container, not the editing component itself. + tree.add(editingComponent); + editingComponent.setBounds(bounds.x, bounds.y, size.width, + size.height); + editingComponent.validate(); + editingPath = path; + + if (ed.shouldSelectCell(event)) + { + stopEditingInCompleteEditing = false; + tree.setSelectionRow(editingRow); + stopEditingInCompleteEditing = true; + } + + editorRequestFocus(editingComponent); + // Register MouseInputHandler to redispatch initial mouse events + // correctly. + if (event instanceof MouseEvent) + { + Point p = SwingUtilities.convertPoint(tree, event.getX(), event.getY(), + editingComponent); + Component active = + SwingUtilities.getDeepestComponentAt(editingComponent, p.x, p.y); + if (active != null) + { + MouseInputHandler ih = new MouseInputHandler(tree, active, event); + + } + } - return true; + return true; + } + else + editingComponent = null; } return false; } + /** + * Requests focus on the editor. The method is necessary since the + * DefaultTreeCellEditor returns a container that contains the + * actual editor, and we want to request focus on the editor, not the + * container. + */ + private void editorRequestFocus(Component c) + { + if (c instanceof Container) + { + // TODO: Maybe do something more reasonable here, like queriying the + // FocusTraversalPolicy. + Container cont = (Container) c; + if (cont.getComponentCount() > 0) + cont.getComponent(0).requestFocus(); + } + else if (c.isFocusable()) + c.requestFocus(); + + } + /** * If the mouseX and mouseY are in the expand or * collapse region of the row, this will toggle the row. @@ -2180,7 +2279,7 @@ public class BasicTreeUI */ public void editingStopped(ChangeEvent e) { - stopEditing(tree); + completeEditing(false, false, true); } /** @@ -2191,7 +2290,7 @@ public class BasicTreeUI */ public void editingCanceled(ChangeEvent e) { - cancelEditing(tree); + completeEditing(false, false, false); } } // CellEditorHandler @@ -2347,9 +2446,15 @@ public class BasicTreeUI * events. */ public class MouseHandler - extends MouseAdapter - implements MouseMotionListener + extends MouseAdapter + implements MouseMotionListener { + + /** + * If the cell has been selected on mouse press. + */ + private boolean selectedOnPress; + /** * Constructor */ @@ -2365,76 +2470,15 @@ public class BasicTreeUI */ public void mousePressed(MouseEvent e) { - // Any mouse click cancels the previous waiting edit action, initiated - // by the single click on the selected node. - if (startEditTimer != null) + if (! e.isConsumed()) { - startEditTimer.stop(); - startEditTimer = null; + handleEvent(e); + selectedOnPress = true; } - - if (tree != null && tree.isEnabled()) + else { - // Always end the current editing session if clicked on the - // tree and outside the bounds of the editing component. - if (isEditing(tree)) - if (!stopEditing(tree)) - // Return if we have failed to cancel the editing session. - return; - - int x = e.getX(); - int y = e.getY(); - TreePath path = getClosestPathForLocation(tree, x, y); - - if (path != null) - { - Rectangle bounds = getPathBounds(tree, path); - if (SwingUtilities.isLeftMouseButton(e)) - checkForClickInExpandControl(path, x, y); - - if (x > bounds.x && x <= (bounds.x + bounds.width)) - { - TreePath currentLead = tree.getLeadSelectionPath(); - if (currentLead != null && currentLead.equals(path) - && e.getClickCount() == 1 && tree.isEditable()) - { - // Schedule the editing session. - final TreePath editPath = path; - - // The code below handles the required click-pause-click - // functionality which must be present in the tree UI. - // If the next click comes after the - // time longer than the double click interval AND - // the same node stays focused for the WAIT_TILL_EDITING - // duration, the timer starts the editing session. - if (startEditTimer != null) - startEditTimer.stop(); - - startEditTimer = new Timer(WAIT_TILL_EDITING, - new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - startEditing(editPath, EDIT); - } - }); - - startEditTimer.setRepeats(false); - startEditTimer.start(); - } - else - { - if (e.getClickCount() == 2) - toggleExpandState(path); - else - selectPathForEvent(path, e); - } - } - } + selectedOnPress = false; } - - // We need to request the focus. - tree.requestFocusInWindow(); } /** @@ -2446,9 +2490,8 @@ public class BasicTreeUI * @param e is the mouse event that occured */ public void mouseDragged(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + // Nothing to do here. } /** @@ -2458,9 +2501,8 @@ public class BasicTreeUI * @param e the mouse event that occured */ public void mouseMoved(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + // Nothing to do here. } /** @@ -2469,9 +2511,46 @@ public class BasicTreeUI * @param e is the mouse event that occured */ public void mouseReleased(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + if (! e.isConsumed() && ! selectedOnPress) + handleEvent(e); + } + + /** + * Handles press and release events. + * + * @param e the mouse event + */ + private void handleEvent(MouseEvent e) + { + if (tree != null && tree.isEnabled()) + { + // Maybe stop editing. + if (isEditing(tree) && tree.getInvokesStopCellEditing() + && ! stopEditing(tree)) + return; + + // Explicitly request focus. + tree.requestFocusInWindow(); + + int x = e.getX(); + int y = e.getY(); + TreePath path = getClosestPathForLocation(tree, x, y); + if (path != null) + { + Rectangle b = getPathBounds(tree, path); + if (y <= b.y + b.height) + { + if (SwingUtilities.isLeftMouseButton(e)) + checkForClickInExpandControl(path, x, y); + if (x > b.x && x <= b.x + b.width) + { + if (! startEditing(path, e)) + selectPathForEvent(path, e); + } + } + } + } } } @@ -2501,6 +2580,9 @@ public class BasicTreeUI { this.source = source; this.destination = destination; + source.addMouseListener(this); + source.addMouseMotionListener(this); + dispatch(e); } /** @@ -2510,9 +2592,8 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mouseClicked(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + dispatch(e); } /** @@ -2521,9 +2602,8 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mousePressed(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + // Nothing to do here. } /** @@ -2532,9 +2612,9 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mouseReleased(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + dispatch(e); + removeFromSource(); } /** @@ -2543,9 +2623,9 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mouseEntered(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + if (! SwingUtilities.isLeftMouseButton(e)) + removeFromSource(); } /** @@ -2554,9 +2634,9 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mouseExited(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + if (! SwingUtilities.isLeftMouseButton(e)) + removeFromSource(); } /** @@ -2568,9 +2648,8 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mouseDragged(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + dispatch(e); } /** @@ -2580,18 +2659,37 @@ public class BasicTreeUI * @param e mouse event that occured */ public void mouseMoved(MouseEvent e) - throws NotImplementedException { - // TODO: What should be done here, if anything? + removeFromSource(); } /** * Removes event from the source */ protected void removeFromSource() - throws NotImplementedException { - // TODO: Implement this properly. + if (source != null) + { + source.removeMouseListener(this); + source.removeMouseMotionListener(this); + } + source = null; + destination = null; + } + + /** + * Redispatches mouse events to the destination. + * + * @param e the mouse event to redispatch + */ + private void dispatch(MouseEvent e) + { + if (destination != null) + { + MouseEvent e2 = SwingUtilities.convertMouseEvent(source, e, + destination); + destination.dispatchEvent(e2); + } } } @@ -2627,24 +2725,42 @@ public class BasicTreeUI public Rectangle getNodeDimensions(Object cell, int row, int depth, boolean expanded, Rectangle size) { - if (size == null || cell == null) - return null; - - String s = cell.toString(); - Font f = tree.getFont(); - FontMetrics fm = tree.getToolkit().getFontMetrics(f); - - if (s != null) + Dimension prefSize; + if (editingComponent != null && editingRow == row) + { + // Editing, ask editor for preferred size. + prefSize = editingComponent.getPreferredSize(); + int rowHeight = getRowHeight(); + if (rowHeight > 0 && rowHeight != prefSize.height) + prefSize.height = rowHeight; + } + else + { + // Not editing, ask renderer for preferred size. + Component rend = + currentCellRenderer.getTreeCellRendererComponent(tree, cell, + tree.isRowSelected(row), + expanded, + treeModel.isLeaf(cell), + row, false); + // Make sure the layout is valid. + rendererPane.add(rend); + rend.validate(); + prefSize = rend.getPreferredSize(); + } + if (size != null) { - TreePath path = treeState.getPathForRow(row); size.x = getRowX(row, depth); - size.width = SwingUtilities.computeStringWidth(fm, s); - size.width = size.width + getCurrentControlIcon(path).getIconWidth() - + gap + getNodeIcon(path).getIconWidth(); - size.height = getMaxHeight(tree); - size.y = size.height * row; + // FIXME: This should be handled by the layout cache. + size.y = prefSize.height * row; + size.width = prefSize.width; + size.height = prefSize.height; } - + else + // FIXME: The y should be handled by the layout cache. + size = new Rectangle(getRowX(row, depth), prefSize.height * row, prefSize.width, + prefSize.height); + return size; } @@ -2706,6 +2822,9 @@ public class BasicTreeUI if (treeState != null) treeState.invalidateSizes(); } + else if (property.equals(JTree.EDITABLE_PROPERTY)) + setEditable(((Boolean) event.getNewValue()).booleanValue()); + } } @@ -2714,7 +2833,7 @@ public class BasicTreeUI * properties of the model change. */ public class SelectionModelPropertyChangeHandler - implements PropertyChangeListener + implements PropertyChangeListener { /** @@ -2732,9 +2851,8 @@ public class BasicTreeUI * the property that has changed. */ public void propertyChange(PropertyChangeEvent event) - throws NotImplementedException { - // TODO: What should be done here, if anything? + treeSelectionModel.resetRowSelection(); } } @@ -2804,6 +2922,7 @@ public class BasicTreeUI */ public void treeCollapsed(TreeExpansionEvent event) { + completeEditing(); validCachedPreferredSize = false; treeState.setExpandedState(event.getPath(), false); // The maximal cell height may change @@ -3269,8 +3388,7 @@ public class BasicTreeUI */ public void valueChanged(TreeSelectionEvent event) { - if (tree.isEditing()) - tree.cancelEditing(); + completeEditing(); TreePath op = event.getOldLeadSelectionPath(); TreePath np = event.getNewLeadSelectionPath(); @@ -3807,25 +3925,6 @@ public class BasicTreeUI return ! isLeaf && hasControlIcons(); } - /** - * Finish the editing session. - */ - void finish() - { - treeState.invalidatePathBounds(treeState.getPathForRow(editingRow)); - editingPath = null; - editingRow = - 1; - stopEditingInCompleteEditing = false; - isEditing = false; - Rectangle bounds = editingComponent.getParent().getBounds(); - tree.removeAll(); - validCachedPreferredSize = false; - // Repaint the region, where was the editing component. - tree.repaint(bounds); - editingComponent = null; - tree.requestFocus(); - } - /** * Returns the amount to indent the given row * diff --git a/libjava/classpath/javax/swing/plaf/metal/DefaultMetalTheme.java b/libjava/classpath/javax/swing/plaf/metal/DefaultMetalTheme.java index 673aec1e418..672676fa081 100644 --- a/libjava/classpath/javax/swing/plaf/metal/DefaultMetalTheme.java +++ b/libjava/classpath/javax/swing/plaf/metal/DefaultMetalTheme.java @@ -38,8 +38,11 @@ exception statement from your version. */ package javax.swing.plaf.metal; +import gnu.classpath.SystemProperties; + import java.awt.Font; +import javax.swing.UIManager; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.FontUIResource; @@ -63,10 +66,6 @@ public class DefaultMetalTheme extends MetalTheme private static final ColorUIResource SECONDARY3 = new ColorUIResource(204, 204, 204); - private static final FontUIResource CONTROL_TEXT_FONT = - new FontUIResource("Dialog", Font.BOLD, 12); - private static final FontUIResource MENU_TEXT_FONT = - new FontUIResource("Dialog", Font.BOLD, 12); private static final FontUIResource SUB_TEXT_FONT = new FontUIResource("Dialog", Font.PLAIN, 10); private static final FontUIResource SYSTEM_TEXT_FONT = @@ -76,6 +75,40 @@ public class DefaultMetalTheme extends MetalTheme private static final FontUIResource WINDOW_TITLE_FONT = new FontUIResource("Dialog", Font.BOLD, 12); + /** + * The control text font for swing.boldMetal=false. + */ + private static final FontUIResource PLAIN_CONTROL_TEXT_FONT = + new FontUIResource("Dialog", Font.PLAIN, 12); + + /** + * The standard control text font. + */ + private static final FontUIResource BOLD_CONTROL_TEXT_FONT = + new FontUIResource("Dialog", Font.BOLD, 12); + + /** + * The menu text font for swing.boldMetal=false. + */ + private static final FontUIResource PLAIN_MENU_TEXT_FONT = + new FontUIResource("Dialog", Font.PLAIN, 12); + + /** + * The menu control text font. + */ + private static final FontUIResource BOLD_MENU_TEXT_FONT = + new FontUIResource("Dialog", Font.BOLD, 12); + + /** + * Indicates the control text font. + */ + static final int CONTROL_TEXT_FONT = 1; + + /** + * Indicates the menu text font. + */ + static final int MENU_TEXT_FONT = 2; + /** * Creates a new instance of this theme. */ @@ -156,23 +189,28 @@ public class DefaultMetalTheme extends MetalTheme /** * Returns the font used for text on controls. In this case, the font is - * FontUIResource("Dialog", Font.BOLD, 12). + * FontUIResource("Dialog", Font.BOLD, 12), unless the + * swing.boldMetal UI default is set to {@link Boolean#FALSE} + * in which case it is FontUIResource("Dialog", Font.PLAIN, 12). * * @return The font. */ public FontUIResource getControlTextFont() { - return CONTROL_TEXT_FONT; + return getFont(CONTROL_TEXT_FONT); } + /** * Returns the font used for text in menus. In this case, the font is - * FontUIResource("Dialog", Font.BOLD, 12). + * FontUIResource("Dialog", Font.BOLD, 12), unless the + * swing.boldMetal UI default is set to {@link Boolean#FALSE} + * in which case it is FontUIResource("Dialog", Font.PLAIN, 12). * * @return The font used for text in menus. */ public FontUIResource getMenuTextFont() { - return MENU_TEXT_FONT; + return getFont(MENU_TEXT_FONT); } /** @@ -218,4 +256,50 @@ public class DefaultMetalTheme extends MetalTheme { return WINDOW_TITLE_FONT; } + + /** + * Returns the appropriate font. The font type to return is identified + * by the specified id. + * + * @param id the font type to return + * + * @return the correct font + */ + private FontUIResource getFont(int id) + { + FontUIResource font = null; + switch (id) + { + case CONTROL_TEXT_FONT: + if (isBoldMetal()) + font = BOLD_CONTROL_TEXT_FONT; + else + font = PLAIN_CONTROL_TEXT_FONT; + break; + case MENU_TEXT_FONT: + if (isBoldMetal()) + font = BOLD_MENU_TEXT_FONT; + else + font = PLAIN_MENU_TEXT_FONT; + break; + // TODO: Add other font types and their mapping here. + } + return font; + } + + /** + * Determines if the theme should be bold or not. The theme is bold by + * default, this can be turned off by setting the system property + * swing.boldMetal to true, or by putting the property with the same name + * into the current UIManager's defaults. + * + * @return true, when the theme is bold, false + * otherwise + */ + private boolean isBoldMetal() + { + Object boldMetal = UIManager.get("swing.boldMetal"); + return (boldMetal == null || ! Boolean.FALSE.equals(boldMetal)) + && ! ("false".equals(SystemProperties.getProperty("swing.boldMetal"))); + } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalBorders.java b/libjava/classpath/javax/swing/plaf/metal/MetalBorders.java index 7c41180aeae..d4e3a849781 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalBorders.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalBorders.java @@ -926,15 +926,11 @@ public class MetalBorders /** The border insets. */ protected static Insets borderInsets = new Insets(1, 0, 1, 0); - // TODO: find where this color really comes from - private static Color borderColor = new Color(153, 153, 153); - /** * Creates a new border instance. */ public MenuBarBorder() { - // Nothing to do here. } /** @@ -951,7 +947,17 @@ public class MetalBorders public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { - g.setColor(borderColor); + // Although it is not correct to decide on the static property + // currentTheme which color to use the RI does it like that. + // The trouble is that by simply changing the current theme to + // e.g. DefaultMetalLookAndFeel this method will use another color + // although a change in painting behavior should be expected only + // after setting a new look and feel and updating all components. + if(MetalLookAndFeel.getCurrentTheme() instanceof OceanTheme) + g.setColor(UIManager.getColor("MenuBar.borderColor")); + else + g.setColor(MetalLookAndFeel.getControlShadow()); + g.drawLine(x, y + h - 1, x + w, y + h - 1); } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java index 8addfc66c72..be9607927ba 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java @@ -54,7 +54,6 @@ import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.UIResource; -import javax.swing.plaf.basic.BasicButtonListener; import javax.swing.plaf.basic.BasicButtonUI; /** @@ -66,24 +65,46 @@ public class MetalButtonUI extends BasicButtonUI { - /** The color used to draw the focus rectangle around the text and/or icon. */ + /** + * The shared button UI. + */ + private static MetalButtonUI sharedUI; + + /** + * The color used to draw the focus rectangle around the text and/or icon. + */ protected Color focusColor; - /** The background color for the button when it is pressed. */ + /** + * The background color for the button when it is pressed. + */ protected Color selectColor; - /** The color for disabled button labels. */ + /** + * The color for disabled button labels. + */ protected Color disabledTextColor; + /** + * Returns a UI delegate for the specified component. + * + * @param c the component (should be a subclass of {@link AbstractButton}). + * + * @return A new instance of MetalButtonUI. + */ + public static ComponentUI createUI(JComponent c) + { + if (sharedUI == null) + sharedUI = new MetalButtonUI(); + return sharedUI; + } + /** * Creates a new instance. */ public MetalButtonUI() { super(); - focusColor = UIManager.getColor(getPropertyPrefix() + "focus"); - selectColor = UIManager.getColor(getPropertyPrefix() + "select"); - disabledTextColor = UIManager.getColor(getPropertyPrefix() + "disabledText"); } /** @@ -93,6 +114,7 @@ public class MetalButtonUI */ protected Color getFocusColor() { + focusColor = UIManager.getColor(getPropertyPrefix() + "focus"); return focusColor; } @@ -103,6 +125,7 @@ public class MetalButtonUI */ protected Color getSelectColor() { + selectColor = UIManager.getColor(getPropertyPrefix() + "select"); return selectColor; } @@ -113,21 +136,11 @@ public class MetalButtonUI */ protected Color getDisabledTextColor() { + disabledTextColor = UIManager.getColor(getPropertyPrefix() + + "disabledText"); return disabledTextColor; } - /** - * Returns a UI delegate for the specified component. - * - * @param c the component (should be a subclass of {@link AbstractButton}). - * - * @return A new instance of MetalButtonUI. - */ - public static ComponentUI createUI(JComponent c) - { - return new MetalButtonUI(); - } - /** * Installs the default settings for the specified button. * @@ -137,32 +150,19 @@ public class MetalButtonUI */ public void installDefaults(AbstractButton button) { + // This is overridden to be public, for whatever reason. super.installDefaults(button); - button.setRolloverEnabled(UIManager.getBoolean( - getPropertyPrefix() + "rollover")); } - + /** * Removes the defaults added by {@link #installDefaults(AbstractButton)}. */ public void uninstallDefaults(AbstractButton button) { + // This is overridden to be public, for whatever reason. super.uninstallDefaults(button); - button.setRolloverEnabled(false); } - /** - * Returns a button listener for the specified button. - * - * @param button the button. - * - * @return A button listener. - */ - protected BasicButtonListener createButtonListener(AbstractButton button) - { - return new MetalButtonListener(button); - } - /** * Paints the background of the button to indicate that it is in the * "pressed" state. @@ -175,7 +175,7 @@ public class MetalButtonUI if (b.isContentAreaFilled()) { Rectangle area = b.getVisibleRect(); - g.setColor(selectColor); + g.setColor(getSelectColor()); g.fillRect(area.x, area.y, area.width, area.height); } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalCheckBoxIcon.java b/libjava/classpath/javax/swing/plaf/metal/MetalCheckBoxIcon.java index fb8280e44da..30ee93162a9 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalCheckBoxIcon.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalCheckBoxIcon.java @@ -1,5 +1,5 @@ /* MetalCheckBoxIcon.java -- An icon for JCheckBoxes in the Metal L&F - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,8 +42,8 @@ import java.awt.Component; import java.awt.Graphics; import java.io.Serializable; +import javax.swing.AbstractButton; import javax.swing.Icon; -import javax.swing.JCheckBox; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.plaf.UIResource; @@ -134,8 +134,9 @@ public class MetalCheckBoxIcon MetalUtils.paintGradient(g, x, y, getIconWidth(), getIconHeight(), SwingConstants.VERTICAL, "CheckBox.gradient"); border.paintBorder(c, g, x, y, getIconWidth(), getIconHeight()); - JCheckBox cb = (JCheckBox) c; - if (cb.isSelected()) - drawCheck(c, g, x, y); + + AbstractButton b = (AbstractButton) c; + if (b.isSelected()) + drawCheck(b, g, x, y); } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalIconFactory.java b/libjava/classpath/javax/swing/plaf/metal/MetalIconFactory.java index 30ec7e72b28..2817336a8f1 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalIconFactory.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalIconFactory.java @@ -54,7 +54,6 @@ import javax.swing.JRadioButtonMenuItem; import javax.swing.JSlider; import javax.swing.SwingConstants; import javax.swing.UIManager; -import javax.swing.plaf.IconUIResource; import javax.swing.plaf.UIResource; @@ -569,8 +568,8 @@ public class MetalIconFactory implements Serializable */ public void paintIcon(Component c, Graphics g, int x, int y) { - // TODO: pick up appropriate UI colors - g.setColor(Color.black); + y = y + getShift(); + g.setColor(MetalLookAndFeel.getBlack()); g.drawLine(x, y, x + 9, y); g.drawLine(x, y + 1, x, y + 15); g.drawLine(x, y + 15, x + 12, y + 15); @@ -580,7 +579,7 @@ public class MetalIconFactory implements Serializable g.drawLine(x + 7, y + 2, x + 11, y + 6); g.drawLine(x + 8, y + 1, x + 9, y + 1); - g.setColor(new Color(204, 204, 255)); + g.setColor(MetalLookAndFeel.getPrimaryControl()); g.drawLine(x + 1, y + 1, x + 7, y + 1); g.drawLine(x + 1, y + 1, x + 1, y + 14); g.drawLine(x + 1, y + 14, x + 11, y + 14); @@ -601,7 +600,9 @@ public class MetalIconFactory implements Serializable } /** - * Returns the shift (???). + * Returns the vertical shift, in pixels, applied when painting the icon. + * The default value is zero, but subclasses may override this (for + * example, see {@link TreeLeafIcon}). * * @return The shift. */ @@ -649,21 +650,21 @@ public class MetalIconFactory implements Serializable */ public void paintIcon(Component c, Graphics g, int x, int y) { - // TODO: pick up appropriate UI colors - g.setColor(Color.black); - g.drawLine(x, y + 3, x, y + 12); - g.drawLine(x, y + 12, x + 15, y + 12); - g.drawLine(x + 15, y + 12, x + 15, y + 2); - g.drawLine(x + 14, y + 3, x + 9, y + 3); - g.drawLine(x + 8, y + 2, x + 1, y + 2); - g.setColor(new Color(204, 204, 255)); - g.fillRect(x + 2, y + 4, 7, 8); - g.fillRect(x + 9, y + 5, 6, 7); - g.setColor(new Color(102, 102, 153)); - g.drawLine(x + 9, y + 2, x + 14, y + 2); - g.setColor(new Color(50, 50, 120)); - g.drawLine(x + 9, y + 1, x + 15, y + 1); - g.drawLine(x + 10, y, x + 15, y); + y = y + getShift(); + g.setColor(MetalLookAndFeel.getBlack()); + g.drawLine(x, y + 6, x, y + 15); + g.drawLine(x, y + 15, x + 15, y + 15); + g.drawLine(x + 15, y + 15, x + 15, y + 5); + g.drawLine(x + 14, y + 6, x + 9, y + 6); + g.drawLine(x + 8, y + 5, x + 1, y + 5); + g.setColor(MetalLookAndFeel.getPrimaryControl()); + g.fillRect(x + 2, y + 7, 7, 8); + g.fillRect(x + 9, y + 8, 6, 7); + g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); + g.drawLine(x + 9, y + 5, x + 14, y + 5); + g.setColor(MetalLookAndFeel.getPrimaryControlDarkShadow()); + g.drawLine(x + 9, y + 4, x + 15, y + 4); + g.drawLine(x + 10, y + 3, x + 15, y + 3); } /** @@ -679,7 +680,9 @@ public class MetalIconFactory implements Serializable } /** - * Returns the shift (???). + * Returns the vertical shift, in pixels, applied when painting the icon. + * The default value is zero, but subclasses may override this (for + * example, see {@link TreeFolderIcon}). * * @return The shift. */ @@ -1036,20 +1039,22 @@ public class MetalIconFactory implements Serializable g.drawLine(x + 6, y + 14, x, y + 8); g.drawLine(x, y + 7, x, y + 1); - // Fill the icon. - if (MetalLookAndFeel.getCurrentTheme() instanceof OceanTheme - && enabled) - { - String gradient; - if (focus) - gradient = "Slider.focusGradient"; - else - gradient = "Slider.gradient"; - MetalUtils.paintGradient(g, x + 1, y + 2, 12, 13, - SwingConstants.VERTICAL, gradient, - gradientMask); - } - else +// The following is commented out until the masking for the gradient painting +// is working correctly +// // Fill the icon. +// if (MetalLookAndFeel.getCurrentTheme() instanceof OceanTheme +// && enabled) +// { +// String gradient; +// if (focus) +// gradient = "Slider.focusGradient"; +// else +// gradient = "Slider.gradient"; +// MetalUtils.paintGradient(g, x + 1, y + 2, 12, 13, +// SwingConstants.VERTICAL, gradient, +// gradientMask); +// } +// else { if (focus) g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); @@ -1268,23 +1273,23 @@ public class MetalIconFactory implements Serializable */ public void paintIcon(Component c, Graphics g, int x, int y) { - g.setColor(new Color(102, 102, 153)); + g.setColor(MetalLookAndFeel.getPrimaryControlDarkShadow()); g.fillRect(x + 1, y, 14, 2); g.fillRect(x, y + 1, 2, 14); g.fillRect(x + 1, y + 14, 14, 2); g.fillRect(x + 14, y + 1, 2, 14); g.drawLine(x + 2, y + 5, x + 14, y + 5); - g.setColor(new Color(204, 204, 255)); + g.setColor(MetalLookAndFeel.getPrimaryControl()); g.fillRect(x + 2, y + 2, 12, 3); - g.setColor(new Color(102, 102, 153)); + g.setColor(MetalLookAndFeel.getPrimaryControlDarkShadow()); g.drawLine(x + 3, y + 3, x + 3, y + 3); g.drawLine(x + 6, y + 3, x + 6, y + 3); g.drawLine(x + 9, y + 3, x + 9, y + 3); g.drawLine(x + 12, y + 3, x + 12, y + 3); - g.setColor(Color.white); + g.setColor(MetalLookAndFeel.getWhite()); g.fillRect(x + 2, y + 6, 12, 8); g.drawLine(x + 2, y + 2, x + 2, y + 2); g.drawLine(x + 5, y + 2, x + 5, y + 2); @@ -1697,20 +1702,22 @@ public class MetalIconFactory implements Serializable g.drawLine(x + 8, y + 14, x + 1, y + 14); g.drawLine(x, y + 13, x, y + 1); - // Fill the icon. - if (MetalLookAndFeel.getCurrentTheme() instanceof OceanTheme - && enabled) - { - String gradient; - if (focus) - gradient = "Slider.focusGradient"; - else - gradient = "Slider.gradient"; - MetalUtils.paintGradient(g, x + 2, y + 1, 13, 12, - SwingConstants.HORIZONTAL, gradient, - gradientMask); - } - else +// The following is commented out until the masking for the gradient painting +// is working correctly +// // Fill the icon. +// if (MetalLookAndFeel.getCurrentTheme() instanceof OceanTheme +// && enabled) +// { +// String gradient; +// if (focus) +// gradient = "Slider.focusGradient"; +// else +// gradient = "Slider.gradient"; +// MetalUtils.paintGradient(g, x + 2, y + 1, 13, 12, +// SwingConstants.HORIZONTAL, gradient, +// gradientMask); +// } +// else { if (focus) g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); @@ -1883,7 +1890,8 @@ public class MetalIconFactory implements Serializable } /** - * Returns the shift (???). + * Returns the vertical shift, in pixels, applied when painting the icon. + * This overridden method returns -1. * * @return The shift. */ @@ -1918,7 +1926,8 @@ public class MetalIconFactory implements Serializable } /** - * Returns the shift (???). + * Returns the vertical shift, in pixels, applied when painting the icon. + * This overridden method returns 2. * * @return The shift. */ diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java b/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java index 8a5a61107c1..a9a6790931f 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java @@ -38,6 +38,8 @@ exception statement from your version. */ package javax.swing.plaf.metal; +import gnu.classpath.SystemProperties; + import java.awt.Color; import java.awt.Font; @@ -81,16 +83,15 @@ public class MetalLookAndFeel extends BasicLookAndFeel */ public MetalLookAndFeel() { - createDefaultTheme(); + // Nothing to do here. } /** - * Sets the current theme to a new instance of {@link OceanTheme}. + * Sets the current theme to a new instance of {@link DefaultMetalTheme}. */ protected void createDefaultTheme() { - if (theme == null) - setCurrentTheme(new OceanTheme()); + getCurrentTheme(); } /** @@ -149,6 +150,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel public UIDefaults getDefaults() { + createDefaultTheme(); if (LAF_defaults == null) { LAF_defaults = super.getDefaults(); @@ -887,7 +889,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "CheckBox.border", MetalBorders.getButtonBorder(), "CheckBox.disabledText", getInactiveControlTextColor(), "CheckBox.focus", getFocusColor(), - "CheckBox.font", new FontUIResource("Dialog", Font.BOLD, 12), + "CheckBox.font", getControlTextFont(), "CheckBox.foreground", getControlTextColor(), "CheckBox.icon", new UIDefaults.ProxyLazyValue("javax.swing.plaf.metal.MetalCheckBoxIcon"), @@ -903,7 +905,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "CheckBoxMenuItem.commandSound", "sounds/MenuItemCommand.wav", "CheckBoxMenuItem.checkIcon", MetalIconFactory.getCheckBoxMenuItemIcon(), "CheckBoxMenuItem.disabledForeground", getMenuDisabledForeground(), - "CheckBoxMenuItem.font", new FontUIResource("Dialog", Font.BOLD, 12), + "CheckBoxMenuItem.font", getMenuTextFont(), "CheckBoxMenuItem.foreground", getMenuForeground(), "CheckBoxMenuItem.selectionBackground", getMenuSelectedBackground(), "CheckBoxMenuItem.selectionForeground", getMenuSelectedForeground(), @@ -922,7 +924,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "ComboBox.buttonShadow", getControlShadow(), "ComboBox.disabledBackground", getControl(), "ComboBox.disabledForeground", getInactiveSystemTextColor(), - "ComboBox.font", new FontUIResource("Dialog", Font.BOLD, 12), + "ComboBox.font", getControlTextFont(), "ComboBox.foreground", getControlTextColor(), "ComboBox.selectionBackground", getPrimaryControlShadow(), "ComboBox.selectionForeground", getControlTextColor(), @@ -933,10 +935,11 @@ public class MetalLookAndFeel extends BasicLookAndFeel "DesktopIcon.foreground", getControlTextColor(), "DesktopIcon.width", new Integer(160), "DesktopIcon.border", MetalBorders.getDesktopIconBorder(), + "DesktopIcon.font", getControlTextFont(), "EditorPane.background", getWindowBackground(), "EditorPane.caretForeground", getUserTextColor(), - "EditorPane.font", new FontUIResource("Dialog", Font.BOLD, 12), + "EditorPane.font", getControlTextFont(), "EditorPane.foreground", getUserTextColor(), "EditorPane.inactiveForeground", getInactiveSystemTextColor(), "EditorPane.selectionBackground", getTextHighlightColor(), @@ -1021,7 +1024,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Menu.borderPainted", Boolean.TRUE, "MenuItem.commandSound", "sounds/MenuItemCommand.wav", "Menu.disabledForeground", getMenuDisabledForeground(), - "Menu.font", getControlTextFont(), + "Menu.font", getMenuTextFont(), "Menu.foreground", getMenuForeground(), "Menu.selectionBackground", getMenuSelectedBackground(), "Menu.selectionForeground", getMenuSelectedForeground(), @@ -1030,7 +1033,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "MenuBar.background", getMenuBackground(), "MenuBar.border", new MetalBorders.MenuBarBorder(), - "MenuBar.font", getControlTextFont(), + "MenuBar.font", getMenuTextFont(), "MenuBar.foreground", getMenuForeground(), "MenuBar.highlight", getControlHighlight(), "MenuBar.shadow", getControlShadow(), @@ -1044,7 +1047,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "MenuItem.border", new MetalBorders.MenuItemBorder(), "MenuItem.borderPainted", Boolean.TRUE, "MenuItem.disabledForeground", getMenuDisabledForeground(), - "MenuItem.font", getControlTextFont(), + "MenuItem.font", getMenuTextFont(), "MenuItem.foreground", getMenuForeground(), "MenuItem.selectionBackground", getMenuSelectedBackground(), "MenuItem.selectionForeground", getMenuSelectedForeground(), @@ -1085,13 +1088,13 @@ public class MetalLookAndFeel extends BasicLookAndFeel "PopupMenu.background", getMenuBackground(), "PopupMenu.border", new MetalBorders.PopupMenuBorder(), - "PopupMenu.font", new FontUIResource("Dialog", Font.BOLD, 12), + "PopupMenu.font", getMenuTextFont(), "PopupMenu.foreground", getMenuForeground(), "PopupMenu.popupSound", "sounds/PopupMenuPopup.wav", "ProgressBar.background", getControl(), "ProgressBar.border", new BorderUIResource.LineBorderUIResource(getControlDarkShadow(), 1), - "ProgressBar.font", new FontUIResource("Dialog", Font.BOLD, 12), + "ProgressBar.font", getControlTextFont(), "ProgressBar.foreground", getPrimaryControlShadow(), "ProgressBar.selectionBackground", getPrimaryControlDarkShadow(), "ProgressBar.selectionForeground", getControl(), @@ -1125,7 +1128,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel MetalIconFactory.getRadioButtonMenuItemIcon(), "RadioButtonMenuItem.commandSound", "sounds/MenuItemCommand.wav", "RadioButtonMenuItem.disabledForeground", getMenuDisabledForeground(), - "RadioButtonMenuItem.font", MetalLookAndFeel.getControlTextFont(), + "RadioButtonMenuItem.font", getMenuTextFont(), "RadioButtonMenuItem.foreground", getMenuForeground(), "RadioButtonMenuItem.margin", new InsetsUIResource(2, 2, 2, 2), "RadioButtonMenuItem.selectionBackground", @@ -1172,7 +1175,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Spinner.arrowButtonInsets", new InsetsUIResource(0, 0, 0, 0), "Spinner.background", getControl(), "Spinner.border", MetalBorders.getTextFieldBorder(), - "Spinner.font", new FontUIResource("Dialog", Font.BOLD, 12), + "Spinner.font", getControlTextFont(), "Spinner.foreground", getControl(), "SplitPane.background", getControl(), @@ -1189,7 +1192,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "TabbedPane.contentOpaque", Boolean.TRUE, "TabbedPane.darkShadow", getControlDarkShadow(), "TabbedPane.focus", getPrimaryControlDarkShadow(), - "TabbedPane.font", new FontUIResource("Dialog", Font.BOLD, 12), + "TabbedPane.font", getControlTextFont(), "TabbedPane.foreground", getControlTextColor(), "TabbedPane.highlight", getControlHighlight(), "TabbedPane.light", getControl(), @@ -1200,7 +1203,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "TabbedPane.tabAreaBackground", getControl(), // overridden in OceanTheme "TabbedPane.tabAreaInsets", new InsetsUIResource(4, 2, 0, 6), // dito "TabbedPane.tabInsets", new InsetsUIResource(0, 9, 1, 9), - + // new properties in OceanTheme: // TabbedPane.contentAreaColor // TabbedPane.unselectedBackground @@ -1252,7 +1255,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "TextPane.selectionForeground", getHighlightedTextColor(), "TitledBorder.border", new LineBorderUIResource(getPrimaryControl(), 1), - "TitledBorder.font", new FontUIResource("Dialog", Font.BOLD, 12), + "TitledBorder.font", getControlTextFont(), "TitledBorder.titleColor", getSystemTextColor(), "ToggleButton.background", getControl(), @@ -1274,7 +1277,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "ToolBar.dockingForeground", getPrimaryControlDarkShadow(), "ToolBar.floatingBackground", getMenuBackground(), "ToolBar.floatingForeground", getPrimaryControl(), - "ToolBar.font", new FontUIResource("Dialog", Font.BOLD, 12), + "ToolBar.font", getMenuTextFont(), "ToolBar.foreground", getMenuForeground(), "ToolBar.highlight", getControlHighlight(), "ToolBar.light", getControlHighlight(), @@ -1354,7 +1357,14 @@ public class MetalLookAndFeel extends BasicLookAndFeel public static MetalTheme getCurrentTheme() { if (theme == null) - theme = new OceanTheme(); + { + // swing.metalTheme property documented here: + // http://java.sun.com/j2se/1.5.0/docs/guide/swing/1.5/index.html + if ("steel".equals(SystemProperties.getProperty("swing.metalTheme"))) + theme = new DefaultMetalTheme(); + else + theme = new OceanTheme(); + } return theme; } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java index ff763ea9da9..40661946b1a 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java @@ -1,5 +1,5 @@ /* MetalMenuBarUI.java -- MenuBar UI for the Metal L&F - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -76,12 +76,15 @@ public class MetalMenuBarUI extends BasicMenuBarUI */ public void update(Graphics g, JComponent c) { + int height = c.getHeight(); if (c.isOpaque() && UIManager.get("MenuBar.gradient") != null - && c.getBackground() instanceof UIResource) + && c.getBackground() instanceof UIResource + && height > 2) { - MetalUtils.paintGradient(g, 0, 0, c.getWidth(), c.getHeight(), + MetalUtils.paintGradient(g, 0, 0, c.getWidth(), height - 2, SwingConstants.VERTICAL, "MenuBar.gradient"); + paint(g, c); } else diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalRadioButtonUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalRadioButtonUI.java index 046e4942ee1..57f5bbe3e0a 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalRadioButtonUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalRadioButtonUI.java @@ -177,7 +177,7 @@ public class MetalRadioButtonUI protected void paintFocus(Graphics g, Rectangle t, Dimension d) { g.setColor(focusColor); - g.drawRect(t.x - 1, t.y - 1, t.width + 2, t.height + 2); + g.drawRect(t.x - 1, t.y - 1, t.width + 1, t.height + 1); } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalScrollBarUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalScrollBarUI.java index 75f2750ae9c..4c75fcb4f14 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalScrollBarUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalScrollBarUI.java @@ -1,5 +1,5 @@ /* MetalScrollBarUI.java - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -169,6 +169,7 @@ public class MetalScrollBarUI extends BasicScrollBarUI Boolean prop = (Boolean) scrollbar.getClientProperty(FREE_STANDING_PROP); isFreeStanding = prop == null ? true : prop.booleanValue(); scrollBarShadowColor = UIManager.getColor("ScrollBar.shadow"); + scrollBarWidth = UIManager.getInt("ScrollBar.width"); super.installDefaults(); } @@ -187,7 +188,10 @@ public class MetalScrollBarUI extends BasicScrollBarUI /** * Creates a new button to use as the control at the lower end of the - * {@link JScrollBar}. + * {@link JScrollBar}. This method assigns the new button (an instance of + * {@link MetalScrollButton} to the {@link #decreaseButton} field, and also + * returns the button. The button width is determined by the + * ScrollBar.width setting in the UI defaults. * * @param orientation the orientation of the button ({@link #NORTH}, * {@link #SOUTH}, {@link #EAST} or {@link #WEST}). @@ -196,7 +200,6 @@ public class MetalScrollBarUI extends BasicScrollBarUI */ protected JButton createDecreaseButton(int orientation) { - scrollBarWidth = UIManager.getInt("ScrollBar.width"); decreaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding); return decreaseButton; @@ -204,7 +207,10 @@ public class MetalScrollBarUI extends BasicScrollBarUI /** * Creates a new button to use as the control at the upper end of the - * {@link JScrollBar}. + * {@link JScrollBar}. This method assigns the new button (an instance of + * {@link MetalScrollButton} to the {@link #increaseButton} field, and also + * returns the button. The button width is determined by the + * ScrollBar.width setting in the UI defaults. * * @param orientation the orientation of the button ({@link #NORTH}, * {@link #SOUTH}, {@link #EAST} or {@link #WEST}). @@ -213,7 +219,6 @@ public class MetalScrollBarUI extends BasicScrollBarUI */ protected JButton createIncreaseButton(int orientation) { - scrollBarWidth = UIManager.getInt("ScrollBar.width"); increaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding); return increaseButton; diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalSliderUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalSliderUI.java index 0f824418c5d..b3e8707c94d 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalSliderUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalSliderUI.java @@ -352,7 +352,10 @@ public class MetalSliderUI extends BasicSliderUI */ public int getTickLength() { - return tickLength + TICK_BUFFER; + int len = tickLength + TICK_BUFFER + 1; + if (slider.getOrientation() == JSlider.VERTICAL) + len += 2; + return len; } /** @@ -406,9 +409,9 @@ public class MetalSliderUI extends BasicSliderUI // Note the incoming 'g' has a translation in place to get us to the // start of the tick rect already... if (slider.isEnabled()) - g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); + g.setColor(slider.getForeground()); else - g.setColor(MetalLookAndFeel.getControlDisabled()); + g.setColor(MetalLookAndFeel.getControlShadow()); g.drawLine(x, TICK_BUFFER, x, TICK_BUFFER + tickLength / 2); } @@ -425,10 +428,10 @@ public class MetalSliderUI extends BasicSliderUI // Note the incoming 'g' has a translation in place to get us to the // start of the tick rect already... if (slider.isEnabled()) - g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); + g.setColor(slider.getForeground()); else - g.setColor(MetalLookAndFeel.getControlDisabled()); - g.drawLine(x, TICK_BUFFER, x, TICK_BUFFER + tickLength); + g.setColor(MetalLookAndFeel.getControlShadow()); + g.drawLine(x, TICK_BUFFER, x, TICK_BUFFER + tickLength - 1); } /** @@ -444,10 +447,10 @@ public class MetalSliderUI extends BasicSliderUI // Note the incoming 'g' has a translation in place to get us to the // start of the tick rect already... if (slider.isEnabled()) - g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); + g.setColor(slider.getForeground()); else - g.setColor(MetalLookAndFeel.getControlDisabled()); - g.drawLine(TICK_BUFFER - 1, y, TICK_BUFFER - 1 + tickLength / 2, y); + g.setColor(MetalLookAndFeel.getControlShadow()); + g.drawLine(TICK_BUFFER, y, TICK_BUFFER + tickLength / 2, y); } /** @@ -463,10 +466,10 @@ public class MetalSliderUI extends BasicSliderUI // Note the incoming 'g' has a translation in place to get us to the // start of the tick rect already... if (slider.isEnabled()) - g.setColor(MetalLookAndFeel.getPrimaryControlShadow()); + g.setColor(slider.getForeground()); else - g.setColor(MetalLookAndFeel.getControlDisabled()); - g.drawLine(TICK_BUFFER - 1, y, TICK_BUFFER - 1 + tickLength, y); + g.setColor(MetalLookAndFeel.getControlShadow()); + g.drawLine(TICK_BUFFER, y, TICK_BUFFER + tickLength, y); } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalSplitPaneDivider.java b/libjava/classpath/javax/swing/plaf/metal/MetalSplitPaneDivider.java index 6081c355c37..a3069daa9c5 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalSplitPaneDivider.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalSplitPaneDivider.java @@ -38,18 +38,14 @@ exception statement from your version. */ package javax.swing.plaf.metal; import java.awt.Color; -import java.awt.Component; -import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; -import java.awt.LayoutManager; -import java.awt.Point; +import java.awt.Insets; +import javax.swing.JButton; import javax.swing.JSplitPane; -import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.border.Border; -import javax.swing.plaf.basic.BasicArrowButton; import javax.swing.plaf.basic.BasicSplitPaneDivider; /** @@ -59,6 +55,143 @@ import javax.swing.plaf.basic.BasicSplitPaneDivider; */ class MetalSplitPaneDivider extends BasicSplitPaneDivider { + /** + * The button pixel data, as indices into the colors array below. + * This is the version for 'left' buttons. + * + * This is slightly different from the icon in Sun's version, it is + * one pixel smaller and is more consistent with BUTTON_SPRITE_R. + */ + static final byte[][] BUTTON_SPRITE_L = {{ 0, 0, 0, 2, 0, 0, 0, 0 }, + { 0, 0, 2, 1, 1, 0, 0, 0 }, + { 0, 2, 1, 1, 1, 1, 0, 0 }, + { 2, 1, 1, 1, 1, 1, 1, 0 }, + { 0, 3, 3, 3, 3, 3, 3, 3 }}; + + /** + * The button pixel data, as indices into the colors array below. + * This is the version for 'right' buttons. + */ + static final byte[][] BUTTON_SPRITE_R = {{ 2, 2, 2, 2, 2, 2, 2, 2 }, + { 0, 1, 1, 1, 1, 1, 1, 3 }, + { 0, 0, 1, 1, 1, 1, 3, 0 }, + { 0, 0, 0, 1, 1, 3, 0, 0 }, + { 0, 0, 0, 0, 3, 0, 0, 0 }}; + + private class MetalOneTouchButton + extends JButton + { + /** + * Denotes a left button. + */ + static final int LEFT = 0; + + /** + * Denotes a right button. + */ + static final int RIGHT = 1; + + /** + * The colors for the button sprite. + */ + private Color[] colors; + + /** + * Either LEFT or RIGHT. + */ + private int direction; + + /** + * Creates a new instance. + * + * @param dir either LEFT or RIGHT + */ + MetalOneTouchButton(int dir) + { + direction = dir; + colors = new Color[4]; + } + + /** + * Never allow borders. + */ + public void setBorder(Border b) + { + } + + /** + * Never allow focus traversal. + */ + public boolean isFocusTraversable() + { + return false; + } + + /** + * Paints the one touch button. + */ + public void paint(Graphics g) + { + if (splitPane != null) + { + // Update colors here to reflect dynamic changes to the theme. + colors[0] = getBackground(); + colors[1] = MetalLookAndFeel.getPrimaryControlDarkShadow(); + colors[2] = MetalLookAndFeel.getPrimaryControlInfo(); + colors[3] = MetalLookAndFeel.getPrimaryControlHighlight(); + + // Fill background. + g.setColor(getBackground()); + g.fillRect(0, 0, getWidth(), getHeight()); + + // Pressed buttons have slightly different color mapping. + if (getModel().isPressed()) + colors[1] = colors[2]; + + byte[][] sprite; + if (direction == LEFT) + sprite = BUTTON_SPRITE_L; + else + sprite = BUTTON_SPRITE_R; + + if (orientation == JSplitPane.VERTICAL_SPLIT) + { + // Draw the sprite as it is. + for (int y = 0; y < sprite.length; y++) + { + byte[] line = sprite[y]; + for (int x = 0; x < line.length; x++) + { + int c = line[x]; + if (c != 0) + { + g.setColor(colors[c]); + g.fillRect(x + 1, y + 1, 1, 1); + } + } + } + } + else + { + // Draw the sprite with swapped X and Y axis. + for (int y = 0; y < sprite.length; y++) + { + byte[] line = sprite[y]; + for (int x = 0; x < line.length; x++) + { + int c = line[x]; + if (c != 0) + { + g.setColor(colors[c]); + g.fillRect(y + 1, x + 1, 1, 1); + } + } + } + } + } + } + } + /** The dark color in the pattern. */ Color dark; @@ -79,7 +212,6 @@ class MetalSplitPaneDivider extends BasicSplitPaneDivider public MetalSplitPaneDivider(MetalSplitPaneUI ui, Color light, Color dark) { super(ui); - setLayout(new MetalDividerLayout()); this.splitPane = super.splitPane; this.orientation = super.orientation; this.light = light; @@ -106,126 +238,27 @@ class MetalSplitPaneDivider extends BasicSplitPaneDivider if (border != null) border.paintBorder(this, g, 0, 0, s.width, s.height); - MetalUtils.fillMetalPattern(splitPane, g, 2, 2, s.width - 4, s.height - 4, + Insets i = getInsets(); + MetalUtils.fillMetalPattern(splitPane, g, i.left + 2, i.top + 2, + s.width - i.left - i.right - 4, + s.height - i.top - i.bottom - 4, light, dark); - if (splitPane.isOneTouchExpandable()) - { - ((BasicArrowButton) rightButton).paint(g); - ((BasicArrowButton) leftButton).paint(g); - } + super.paint(g); } - - /** - * This helper class acts as the Layout Manager for the divider. - */ - public class MetalDividerLayout implements LayoutManager - { - /** The right button. */ - BasicArrowButton rb; - - /** The left button. */ - BasicArrowButton lb; - - /** - * Creates a new DividerLayout object. - */ - public MetalDividerLayout() - { - // Nothing to do here - } - - /** - * This method is called when a Component is added. - * - * @param string The constraints string. - * @param c The Component to add. - */ - public void addLayoutComponent(String string, Component c) - { - // Nothing to do here, constraints are set depending on - // orientation in layoutContainer - } - - /** - * This method is called to lay out the container. - * - * @param c The container to lay out. - */ - public void layoutContainer(Container c) - { - // The only components we care about setting up are the - // one touch buttons. - if (splitPane.isOneTouchExpandable()) - { - if (c.getComponentCount() == 2) - { - Component c1 = c.getComponent(0); - Component c2 = c.getComponent(1); - if ((c1 instanceof BasicArrowButton) - && (c2 instanceof BasicArrowButton)) - { - lb = (BasicArrowButton) c1; - rb = (BasicArrowButton) c2; - } - } - if (rb != null && lb != null) - { - Point p = getLocation(); - lb.setSize(lb.getPreferredSize()); - rb.setSize(rb.getPreferredSize()); - lb.setLocation(p.x, p.y); - - if (orientation == JSplitPane.HORIZONTAL_SPLIT) - { - rb.setDirection(SwingConstants.EAST); - lb.setDirection(SwingConstants.WEST); - rb.setLocation(p.x, p.y + lb.getHeight()); - } - else - { - rb.setDirection(SwingConstants.SOUTH); - lb.setDirection(SwingConstants.NORTH); - rb.setLocation(p.x + lb.getWidth(), p.y); - } - } - } - } - - /** - * This method returns the minimum layout size. - * - * @param c The container to calculate for. - * - * @return The minimum layout size. - */ - public Dimension minimumLayoutSize(Container c) - { - return preferredLayoutSize(c); - } - /** - * This method returns the preferred layout size. - * - * @param c The container to calculate for. - * - * @return The preferred layout size. - */ - public Dimension preferredLayoutSize(Container c) - { - int dividerSize = getDividerSize(); - return new Dimension(dividerSize, dividerSize); - } + protected JButton createLeftOneTouchButton() + { + JButton b = new MetalOneTouchButton(MetalOneTouchButton.LEFT); + b.setMinimumSize(new Dimension(ONE_TOUCH_SIZE, ONE_TOUCH_SIZE)); + b.setRequestFocusEnabled(false); + return b; + } - /** - * This method is called when a component is removed. - * - * @param c The component to remove. - */ - public void removeLayoutComponent(Component c) - { - // Nothing to do here. If buttons are removed - // they will not be layed out when layoutContainer is - // called. - } + protected JButton createRightOneTouchButton() + { + JButton b = new MetalOneTouchButton(MetalOneTouchButton.RIGHT); + b.setMinimumSize(new Dimension(ONE_TOUCH_SIZE, ONE_TOUCH_SIZE)); + b.setRequestFocusEnabled(false); + return b; } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalTabbedPaneUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalTabbedPaneUI.java index 20135fc857e..53eaa3cac5a 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalTabbedPaneUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalTabbedPaneUI.java @@ -1159,7 +1159,7 @@ public class MetalTabbedPaneUI extends BasicTabbedPaneUI g.drawLine(x + 1, y + 1, x + 1, rect.y + 1); if (rect.y + rect.height < y + h - 2) { - g.drawLine(x + y, rect.y + rect.height + 1, x + 1, y + h + 2); + g.drawLine(x + 1, rect.y + rect.height + 1, x + 1, y + h + 2); } } } diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalToolTipUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalToolTipUI.java index d1040347fc6..6647cc02d16 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalToolTipUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalToolTipUI.java @@ -43,9 +43,6 @@ import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; -import java.awt.Insets; -import java.awt.Rectangle; -import java.awt.Toolkit; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; @@ -54,8 +51,6 @@ import javax.swing.JComponent; import javax.swing.JMenuItem; import javax.swing.JToolTip; import javax.swing.KeyStroke; -import javax.swing.SwingConstants; -import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.plaf.ComponentUI; @@ -192,32 +187,14 @@ public class MetalToolTipUI */ public Dimension getPreferredSize(JComponent c) { - if (isAcceleratorHidden()) - return super.getPreferredSize(c); - else + Dimension d = super.getPreferredSize(c); + String acc = getAcceleratorString(); + if (acc != null && ! acc.equals("")) { - Insets insets = c.getInsets(); - JToolTip tt = (JToolTip) c; - String tipText = tt.getTipText(); - if (tipText != null) - { - FontMetrics fm = c.getFontMetrics(c.getFont()); - int prefH = fm.getHeight() + insets.top + insets.bottom; - int prefW = fm.stringWidth(tipText) + insets.left + insets.right; - - // this seems to be the first opportunity we have to get the - // accelerator string from the component (if it has one) - acceleratorString = fetchAcceleratorString(c); - if (acceleratorString != null) - { - prefW += padSpaceBetweenStrings; - fm = c.getFontMetrics(acceleratorFont); - prefW += fm.stringWidth(acceleratorString); - } - return new Dimension(prefW, prefH); - } - else return new Dimension(0, 0); + FontMetrics fm = c.getFontMetrics(c.getFont()); + d.width += fm.stringWidth(acc); } + return d; } /** @@ -228,39 +205,8 @@ public class MetalToolTipUI */ public void paint(Graphics g, JComponent c) { - JToolTip tip = (JToolTip) c; - - String text = tip.getTipText(); - Toolkit t = tip.getToolkit(); - if (text == null) - return; - - Rectangle vr = new Rectangle(); - vr = SwingUtilities.calculateInnerArea(tip, vr); - Rectangle ir = new Rectangle(); - Rectangle tr = new Rectangle(); - FontMetrics fm = t.getFontMetrics(tip.getFont()); - int ascent = fm.getAscent(); - SwingUtilities.layoutCompoundLabel(tip, fm, text, null, - SwingConstants.CENTER, SwingConstants.LEFT, - SwingConstants.CENTER, SwingConstants.CENTER, vr, ir, tr, 0); - Color saved = g.getColor(); - g.setColor(Color.BLACK); - - g.drawString(text, vr.x, vr.y + ascent); - - // paint accelerator - if (acceleratorString != null) - { - g.setFont(acceleratorFont); - g.setColor(acceleratorForeground); - fm = t.getFontMetrics(acceleratorFont); - int width = fm.stringWidth(acceleratorString); - g.drawString(acceleratorString, vr.x + vr.width - width - - padSpaceBetweenStrings / 2, vr.y + vr.height - fm.getDescent()); - } - - g.setColor(saved); + super.paint(g, c); + // Somehow paint accelerator. Keep care for possible HTML rendering. } /** diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalTreeUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalTreeUI.java index 3ea37c82f18..ed1e5b4d825 100644 --- a/libjava/classpath/javax/swing/plaf/metal/MetalTreeUI.java +++ b/libjava/classpath/javax/swing/plaf/metal/MetalTreeUI.java @@ -38,14 +38,15 @@ exception statement from your version. */ package javax.swing.plaf.metal; -import gnu.classpath.NotImplementedException; - import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JTree; +import javax.swing.UIManager; import javax.swing.tree.TreePath; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicTreeUI; @@ -55,6 +56,68 @@ import javax.swing.plaf.basic.BasicTreeUI; */ public class MetalTreeUI extends BasicTreeUI { + /** + * Listens for property changes of the line style and updates the + * internal setting. + */ + private class LineStyleListener + implements PropertyChangeListener + { + + public void propertyChange(PropertyChangeEvent e) + { + if (e.getPropertyName().equals(LINE_STYLE_PROPERTY)) + decodeLineStyle(e.getNewValue()); + } + + } + + /** + * The key to the lineStyle client property. + */ + private static final String LINE_STYLE_PROPERTY = "JTree.lineStyle"; + + /** + * The property value indicating no line style. + */ + private static final String LINE_STYLE_VALUE_NONE = "None"; + + /** + * The property value indicating angled line style. + */ + private static final String LINE_STYLE_VALUE_ANGLED = "Angled"; + + /** + * The property value indicating horizontal line style. + */ + private static final String LINE_STYLE_VALUE_HORIZONTAL = "Horizontal"; + + /** + * The line style for None. + */ + private static final int LINE_STYLE_NONE = 0; + + /** + * The line style for Angled. + */ + private static final int LINE_STYLE_ANGLED = 1; + + /** + * The line style for Horizontal. + */ + private static final int LINE_STYLE_HORIZONTAL = 2; + + /** + * The current line style. + */ + private int lineStyle; + + /** + * Listens for changes on the line style property and updates the + * internal settings. + */ + private PropertyChangeListener lineStyleListener; + /** * Constructs a new instance of MetalTreeUI. */ @@ -103,8 +166,13 @@ public class MetalTreeUI extends BasicTreeUI */ public void installUI(JComponent c) { - // TODO: What to do here, if anything? super.installUI(c); + + Object lineStyleProp = c.getClientProperty(LINE_STYLE_PROPERTY); + decodeLineStyle(lineStyleProp); + if (lineStyleListener == null) + lineStyleListener = new LineStyleListener(); + c.addPropertyChangeListener(lineStyleListener); } /** @@ -124,8 +192,10 @@ public class MetalTreeUI extends BasicTreeUI */ public void uninstallUI(JComponent c) { - // TODO: What to do here? super.uninstallUI(c); + if (lineStyleListener != null) + c.removePropertyChangeListener(lineStyleListener); + lineStyleListener = null; } /** @@ -135,9 +205,15 @@ public class MetalTreeUI extends BasicTreeUI * @param lineStyleFlag - String representation */ protected void decodeLineStyle(Object lineStyleFlag) - throws NotImplementedException { - // FIXME: not implemented + if (lineStyleFlag == null || lineStyleFlag.equals(LINE_STYLE_VALUE_ANGLED)) + lineStyle = LINE_STYLE_ANGLED; + else if (lineStyleFlag.equals(LINE_STYLE_VALUE_HORIZONTAL)) + lineStyle = LINE_STYLE_HORIZONTAL; + else if (lineStyleFlag.equals(LINE_STYLE_VALUE_NONE)) + lineStyle = LINE_STYLE_NONE; + else + lineStyle = LINE_STYLE_ANGLED; } /** @@ -170,6 +246,9 @@ public class MetalTreeUI extends BasicTreeUI // Calls BasicTreeUI's paint since it takes care of painting all // types of icons. super.paint(g, c); + + if (lineStyle == LINE_STYLE_HORIZONTAL) + paintHorizontalSeparators(g, c); } /** @@ -179,9 +258,28 @@ public class MetalTreeUI extends BasicTreeUI * @param c - the current component to draw */ protected void paintHorizontalSeparators(Graphics g, JComponent c) - throws NotImplementedException { - // FIXME: not implemented + g.setColor(UIManager.getColor("Tree.line")); + Rectangle clip = g.getClipBounds(); + int row0 = getRowForPath(tree, getClosestPathForLocation(tree, 0, clip.y)); + int row1 = + getRowForPath(tree, getClosestPathForLocation(tree, 0, + clip.y + clip.height - 1)); + if (row0 >= 0 && row1 >= 0) + { + for (int i = row0; i <= row1; i++) + { + TreePath p = getPathForRow(tree, i); + if (p != null && p.getPathCount() == 2) + { + Rectangle r = getPathBounds(tree, getPathForRow(tree, i)); + if (r != null) + { + g.drawLine(clip.x, r.y, clip.x + clip.width, r.y); + } + } + } + } } @@ -197,7 +295,8 @@ public class MetalTreeUI extends BasicTreeUI protected void paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path) { - super.paintVerticalPartOfLeg(g, clipBounds, insets, path); + if (lineStyle == LINE_STYLE_ANGLED) + super.paintVerticalPartOfLeg(g, clipBounds, insets, path); } /** @@ -211,7 +310,8 @@ public class MetalTreeUI extends BasicTreeUI boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) { - super.paintHorizontalPartOfLeg(g, clipBounds, insets, bounds, path, row, - isExpanded, hasBeenExpanded, isLeaf); + if (lineStyle == LINE_STYLE_ANGLED) + super.paintHorizontalPartOfLeg(g, clipBounds, insets, bounds, path, row, + isExpanded, hasBeenExpanded, isLeaf); } } diff --git a/libjava/classpath/javax/swing/plaf/metal/OceanTheme.java b/libjava/classpath/javax/swing/plaf/metal/OceanTheme.java index 9d76ff7e808..1ea0bc24385 100644 --- a/libjava/classpath/javax/swing/plaf/metal/OceanTheme.java +++ b/libjava/classpath/javax/swing/plaf/metal/OceanTheme.java @@ -266,6 +266,8 @@ public class OceanTheme extends DefaultMetalTheme defaults.put("Tree.selectionBorderColor", PRIMARY1); // Borders. + defaults.put("List.focusCellHighlightBorder", + new LineBorderUIResource(getPrimary1())); defaults.put("Table.focusCellHighlightBorder", new LineBorderUIResource(getPrimary1())); diff --git a/libjava/classpath/javax/swing/plaf/synth/SynthLookAndFeel.java b/libjava/classpath/javax/swing/plaf/synth/SynthLookAndFeel.java index 1a2489e7ea6..46a95f09860 100644 --- a/libjava/classpath/javax/swing/plaf/synth/SynthLookAndFeel.java +++ b/libjava/classpath/javax/swing/plaf/synth/SynthLookAndFeel.java @@ -216,9 +216,7 @@ public class SynthLookAndFeel * @throws IllegalArgumentException if one of the parameters is * null */ - // FIXME: The signature in the JDK has a Class here. Should be fixed as - // soon as we switch to the generics branch. - public void load(InputStream in, Class resourceBase) + public void load(InputStream in, Class resourceBase) throws ParseException, IllegalArgumentException, NotImplementedException { // FIXME: Implement this correctly. diff --git a/libjava/classpath/javax/swing/table/AbstractTableModel.java b/libjava/classpath/javax/swing/table/AbstractTableModel.java index 7914e0b3f46..66b6a0743b6 100644 --- a/libjava/classpath/javax/swing/table/AbstractTableModel.java +++ b/libjava/classpath/javax/swing/table/AbstractTableModel.java @@ -125,7 +125,7 @@ public abstract class AbstractTableModel implements TableModel, Serializable * * @return The class. */ - public Class getColumnClass(int columnIndex) + public Class getColumnClass(int columnIndex) { return Object.class; } @@ -294,7 +294,7 @@ public abstract class AbstractTableModel implements TableModel, Serializable * * @return An array of listeners (possibly empty). */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } diff --git a/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java b/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java index 33e68ea9fcd..e4e7201b184 100644 --- a/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java +++ b/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java @@ -71,7 +71,7 @@ public class DefaultTableColumnModel /** * Storage for the table columns. */ - protected Vector tableColumns; + protected Vector tableColumns; /** * A selection model that keeps track of column selections. @@ -187,7 +187,7 @@ public class DefaultTableColumnModel throw new IllegalArgumentException("Index 'i' out of range."); if (j < 0 || j >= columnCount) throw new IllegalArgumentException("Index 'j' out of range."); - Object column = tableColumns.remove(i); + TableColumn column = tableColumns.remove(i); tableColumns.add(j, column); fireColumnMoved(new TableColumnModelEvent(this, i, j)); } @@ -221,7 +221,7 @@ public class DefaultTableColumnModel * * @return An enumeration of the columns in the model. */ - public Enumeration getColumns() + public Enumeration getColumns() { return tableColumns.elements(); } @@ -597,7 +597,7 @@ public class DefaultTableColumnModel * @return An array containing the listeners (of the specified type) that * are registered with this model. */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } diff --git a/libjava/classpath/javax/swing/table/DefaultTableModel.java b/libjava/classpath/javax/swing/table/DefaultTableModel.java index 79285903c00..1b68ce2be81 100644 --- a/libjava/classpath/javax/swing/table/DefaultTableModel.java +++ b/libjava/classpath/javax/swing/table/DefaultTableModel.java @@ -625,7 +625,7 @@ public class DefaultTableModel extends AbstractTableModel if (columnCount > columnIdentifiers.size()) columnIdentifiers.setSize(columnCount); - if (rowCount > dataVector.size()) + if (dataVector != null && rowCount > dataVector.size()) { int rowsToAdd = rowCount - dataVector.size(); addExtraRows(rowsToAdd, columnCount); diff --git a/libjava/classpath/javax/swing/table/TableColumnModel.java b/libjava/classpath/javax/swing/table/TableColumnModel.java index 986c0253323..7e8a70c3a5b 100644 --- a/libjava/classpath/javax/swing/table/TableColumnModel.java +++ b/libjava/classpath/javax/swing/table/TableColumnModel.java @@ -102,7 +102,7 @@ public interface TableColumnModel * * @return An enumeration of the columns in the model. */ - Enumeration getColumns(); + Enumeration getColumns(); /** * Returns the index of the {@link TableColumn} with the given identifier. diff --git a/libjava/classpath/javax/swing/table/TableModel.java b/libjava/classpath/javax/swing/table/TableModel.java index 016ae171dd4..7629fa4e404 100644 --- a/libjava/classpath/javax/swing/table/TableModel.java +++ b/libjava/classpath/javax/swing/table/TableModel.java @@ -84,7 +84,7 @@ public interface TableModel * * @return The class. */ - Class getColumnClass(int columnIndex); + Class getColumnClass(int columnIndex); /** * Returns true if the cell is editable, and false diff --git a/libjava/classpath/javax/swing/text/AbstractDocument.java b/libjava/classpath/javax/swing/text/AbstractDocument.java index eb46a8c42f6..eead8de5261 100644 --- a/libjava/classpath/javax/swing/text/AbstractDocument.java +++ b/libjava/classpath/javax/swing/text/AbstractDocument.java @@ -38,11 +38,15 @@ exception statement from your version. */ package javax.swing.text; +import java.awt.font.TextAttribute; import java.io.PrintStream; import java.io.Serializable; +import java.text.Bidi; +import java.util.ArrayList; import java.util.Dictionary; import java.util.Enumeration; import java.util.EventListener; +import java.util.HashMap; import java.util.Hashtable; import java.util.Vector; @@ -104,6 +108,21 @@ public abstract class AbstractDocument implements Document, Serializable */ public static final String ElementNameAttribute = "$ename"; + /** + * Standard name for the bidi root element. + */ + private static final String BidiRootName = "bidi root"; + + /** + * Key for storing the asynchronous load priority. + */ + private static final String AsyncLoadPriority = "load priority"; + + /** + * Key for storing the I18N state. + */ + private static final String I18N = "i18n"; + /** * The actual content model of this Document. */ @@ -140,14 +159,10 @@ public abstract class AbstractDocument implements Document, Serializable private int numReaders = 0; /** - * Tells if there are one or more writers waiting. + * The number of current writers. If this is > 1 then the same thread entered + * the write lock more than once. */ - private int numWritersWaiting = 0; - - /** - * A condition variable that readers and writers wait on. - */ - private Object documentCV = new Object(); + private int numWriters = 0; /** An instance of a DocumentFilter.FilterBypass which allows calling * the insert, remove and replace method without checking for an installed @@ -158,7 +173,13 @@ public abstract class AbstractDocument implements Document, Serializable /** * The bidi root element. */ - private Element bidiRoot; + private BidiRootElement bidiRoot; + + /** + * True when we are currently notifying any listeners. This is used + * to detect illegal situations in writeLock(). + */ + private transient boolean notifyListeners; /** * Creates a new AbstractDocument with the specified @@ -191,12 +212,25 @@ public abstract class AbstractDocument implements Document, Serializable content = doc; context = ctx; + // FIXME: Fully implement bidi. + bidiRoot = new BidiRootElement(); + // FIXME: This is determined using a Mauve test. Make the document // actually use this. - putProperty("i18n", Boolean.FALSE); + putProperty(I18N, Boolean.FALSE); - // FIXME: Fully implement bidi. - bidiRoot = new BranchElement(null, null); + // Add one child to the bidi root. + writeLock(); + try + { + Element[] children = new Element[1]; + children[0] = new BidiElement(bidiRoot, 0, 1, 0); + bidiRoot.replace(0, 0, children); + } + finally + { + writeUnlock(); + } } /** Returns the DocumentFilter.FilterBypass instance for this @@ -284,7 +318,8 @@ public abstract class AbstractDocument implements Document, Serializable * @throws BadLocationException if offset is not a valid * location in the documents content model */ - public Position createPosition(final int offset) throws BadLocationException + public synchronized Position createPosition(final int offset) + throws BadLocationException { return content.createPosition(offset); } @@ -296,10 +331,17 @@ public abstract class AbstractDocument implements Document, Serializable */ protected void fireChangedUpdate(DocumentEvent event) { - DocumentListener[] listeners = getDocumentListeners(); - - for (int index = 0; index < listeners.length; ++index) - listeners[index].changedUpdate(event); + notifyListeners = true; + try + { + DocumentListener[] listeners = getDocumentListeners(); + for (int index = 0; index < listeners.length; ++index) + listeners[index].changedUpdate(event); + } + finally + { + notifyListeners = false; + } } /** @@ -310,10 +352,17 @@ public abstract class AbstractDocument implements Document, Serializable */ protected void fireInsertUpdate(DocumentEvent event) { - DocumentListener[] listeners = getDocumentListeners(); - - for (int index = 0; index < listeners.length; ++index) - listeners[index].insertUpdate(event); + notifyListeners = true; + try + { + DocumentListener[] listeners = getDocumentListeners(); + for (int index = 0; index < listeners.length; ++index) + listeners[index].insertUpdate(event); + } + finally + { + notifyListeners = false; + } } /** @@ -324,10 +373,17 @@ public abstract class AbstractDocument implements Document, Serializable */ protected void fireRemoveUpdate(DocumentEvent event) { - DocumentListener[] listeners = getDocumentListeners(); - - for (int index = 0; index < listeners.length; ++index) - listeners[index].removeUpdate(event); + notifyListeners = true; + try + { + DocumentListener[] listeners = getDocumentListeners(); + for (int index = 0; index < listeners.length; ++index) + listeners[index].removeUpdate(event); + } + finally + { + notifyListeners = false; + } } /** @@ -352,7 +408,11 @@ public abstract class AbstractDocument implements Document, Serializable */ public int getAsynchronousLoadPriority() { - return 0; + Object val = getProperty(AsyncLoadPriority); + int prio = -1; + if (val != null) + prio = ((Integer) val).intValue(); + return prio; } /** @@ -397,7 +457,7 @@ public abstract class AbstractDocument implements Document, Serializable * @return the thread that currently modifies this Document * if there is one, otherwise null */ - protected final Thread getCurrentWriter() + protected final synchronized Thread getCurrentWriter() { return currentWriter; } @@ -407,7 +467,7 @@ public abstract class AbstractDocument implements Document, Serializable * * @return the properties of this Document */ - public Dictionary getDocumentProperties() + public Dictionary getDocumentProperties() { // FIXME: make me thread-safe if (properties == null) @@ -425,14 +485,17 @@ public abstract class AbstractDocument implements Document, Serializable */ public final Position getEndPosition() { - // FIXME: Properly implement this by calling Content.createPosition(). - return new Position() - { - public int getOffset() - { - return getLength(); - } - }; + Position p; + try + { + p = createPosition(content.length()); + } + catch (BadLocationException ex) + { + // Shouldn't really happen. + p = null; + } + return p; } /** @@ -455,7 +518,7 @@ public abstract class AbstractDocument implements Document, Serializable * * @return all registered listeners of the specified type */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } @@ -504,14 +567,17 @@ public abstract class AbstractDocument implements Document, Serializable */ public final Position getStartPosition() { - // FIXME: Properly implement this using Content.createPosition(). - return new Position() - { - public int getOffset() - { - return 0; - } - }; + Position p; + try + { + p = createPosition(0); + } + catch (BadLocationException ex) + { + // Shouldn't really happen. + p = null; + } + return p; } /** @@ -574,11 +640,19 @@ public abstract class AbstractDocument implements Document, Serializable // Bail out if we have a bogus insertion (Behavior observed in RI). if (text == null || text.length() == 0) return; - - if (documentFilter == null) - insertStringImpl(offset, text, attributes); - else - documentFilter.insertString(getBypass(), offset, text, attributes); + + writeLock(); + try + { + if (documentFilter == null) + insertStringImpl(offset, text, attributes); + else + documentFilter.insertString(getBypass(), offset, text, attributes); + } + finally + { + writeUnlock(); + } } void insertStringImpl(int offset, String text, AttributeSet attributes) @@ -591,23 +665,30 @@ public abstract class AbstractDocument implements Document, Serializable new DefaultDocumentEvent(offset, text.length(), DocumentEvent.EventType.INSERT); - try - { - writeLock(); - UndoableEdit undo = content.insertString(offset, text); - if (undo != null) - event.addEdit(undo); - - insertUpdate(event, attributes); + UndoableEdit undo = content.insertString(offset, text); + if (undo != null) + event.addEdit(undo); - fireInsertUpdate(event); - if (undo != null) - fireUndoableEditUpdate(new UndoableEditEvent(this, undo)); - } - finally + // Check if we need bidi layout. + if (getProperty(I18N).equals(Boolean.FALSE)) { - writeUnlock(); + Object dir = getProperty(TextAttribute.RUN_DIRECTION); + if (TextAttribute.RUN_DIRECTION_RTL.equals(dir)) + putProperty(I18N, Boolean.TRUE); + else + { + char[] chars = text.toCharArray(); + if (Bidi.requiresBidi(chars, 0, chars.length)) + putProperty(I18N, Boolean.TRUE); + } } + + insertUpdate(event, attributes); + + fireInsertUpdate(event); + + if (undo != null) + fireUndoableEditUpdate(new UndoableEditEvent(this, undo)); } /** @@ -620,7 +701,8 @@ public abstract class AbstractDocument implements Document, Serializable */ protected void insertUpdate(DefaultDocumentEvent chng, AttributeSet attr) { - // Do nothing here. Subclasses may want to override this. + if (Boolean.TRUE.equals(getProperty(I18N))) + updateBidi(chng); } /** @@ -632,7 +714,8 @@ public abstract class AbstractDocument implements Document, Serializable */ protected void postRemoveUpdate(DefaultDocumentEvent chng) { - // Do nothing here. Subclasses may want to override this. + if (Boolean.TRUE.equals(getProperty(I18N))) + updateBidi(chng); } /** @@ -647,31 +730,338 @@ public abstract class AbstractDocument implements Document, Serializable if (properties == null) properties = new Hashtable(); - properties.put(key, value); + if (value == null) + properties.remove(key); + else + properties.put(key, value); + + // Update bidi structure if the RUN_DIRECTION is set. + if (TextAttribute.RUN_DIRECTION.equals(key)) + { + if (TextAttribute.RUN_DIRECTION_RTL.equals(value) + && Boolean.FALSE.equals(getProperty(I18N))) + putProperty(I18N, Boolean.TRUE); + + if (Boolean.TRUE.equals(getProperty(I18N))) + { + writeLock(); + try + { + DefaultDocumentEvent ev = + new DefaultDocumentEvent(0, getLength(), + DocumentEvent.EventType.INSERT); + updateBidi(ev); + } + finally + { + writeUnlock(); + } + } + } } /** - * Blocks until a read lock can be obtained. Must block if there is - * currently a writer modifying the Document. + * Updates the bidi element structure. + * + * @param ev the document event for the change */ - public final void readLock() + private void updateBidi(DefaultDocumentEvent ev) { - if (currentWriter != null && currentWriter.equals(Thread.currentThread())) - return; - synchronized (documentCV) + // Determine start and end offset of the paragraphs to be scanned. + int start = 0; + int end = 0; + DocumentEvent.EventType type = ev.getType(); + if (type == DocumentEvent.EventType.INSERT + || type == DocumentEvent.EventType.CHANGE) + { + int offs = ev.getOffset(); + int endOffs = offs + ev.getLength(); + start = getParagraphElement(offs).getStartOffset(); + end = getParagraphElement(endOffs).getEndOffset(); + } + else if (type == DocumentEvent.EventType.REMOVE) { - while (currentWriter != null || numWritersWaiting > 0) + Element par = getParagraphElement(ev.getOffset()); + start = par.getStartOffset(); + end = par.getEndOffset(); + } + else + assert false : "Unknown event type"; + + // Determine the bidi levels for the affected range. + Bidi[] bidis = getBidis(start, end); + + int removeFrom = 0; + int removeTo = 0; + + int offs = 0; + int lastRunStart = 0; + int lastRunEnd = 0; + int lastRunLevel = 0; + ArrayList newEls = new ArrayList(); + for (int i = 0; i < bidis.length; i++) + { + Bidi bidi = bidis[i]; + int numRuns = bidi.getRunCount(); + for (int r = 0; r < numRuns; r++) { - try + if (r == 0 && i == 0) + { + if (start > 0) + { + // Try to merge with the previous element if it has the + // same bidi level as the first run. + int prevElIndex = bidiRoot.getElementIndex(start - 1); + removeFrom = prevElIndex; + Element prevEl = bidiRoot.getElement(prevElIndex); + AttributeSet atts = prevEl.getAttributes(); + int prevElLevel = StyleConstants.getBidiLevel(atts); + if (prevElLevel == bidi.getRunLevel(r)) + { + // Merge previous element with current run. + lastRunStart = prevEl.getStartOffset() - start; + lastRunEnd = bidi.getRunLimit(r); + lastRunLevel = bidi.getRunLevel(r); + } + else if (prevEl.getEndOffset() > start) + { + // Split previous element and replace by 2 new elements. + lastRunStart = 0; + lastRunEnd = bidi.getRunLimit(r); + lastRunLevel = bidi.getRunLevel(r); + newEls.add(new BidiElement(bidiRoot, + prevEl.getStartOffset(), + start, prevElLevel)); + } + else + { + // Simply start new run at start location. + lastRunStart = 0; + lastRunEnd = bidi.getRunLimit(r); + lastRunLevel = bidi.getRunLevel(r); + removeFrom++; + } + } + else + { + // Simply start new run at start location. + lastRunStart = 0; + lastRunEnd = bidi.getRunLimit(r); + lastRunLevel = bidi.getRunLevel(r); + removeFrom = 0; + } + } + if (i == bidis.length - 1 && r == numRuns - 1) { - documentCV.wait(); + if (end <= getLength()) + { + // Try to merge last element with next element. + int nextIndex = bidiRoot.getElementIndex(end); + Element nextEl = bidiRoot.getElement(nextIndex); + AttributeSet atts = nextEl.getAttributes(); + int nextLevel = StyleConstants.getBidiLevel(atts); + int level = bidi.getRunLevel(r); + if (lastRunLevel == level && level == nextLevel) + { + // Merge runs together. + if (lastRunStart + start == nextEl.getStartOffset()) + removeTo = nextIndex - 1; + else + { + newEls.add(new BidiElement(bidiRoot, start + lastRunStart, + nextEl.getEndOffset(), level)); + removeTo = nextIndex; + } + } + else if (lastRunLevel == level) + { + // Merge current and last run. + int endOffs = offs + bidi.getRunLimit(r); + newEls.add(new BidiElement(bidiRoot, start + lastRunStart, + start + endOffs, level)); + if (start + endOffs == nextEl.getStartOffset()) + removeTo = nextIndex - 1; + else + { + newEls.add(new BidiElement(bidiRoot, start + endOffs, + nextEl.getEndOffset(), + nextLevel)); + removeTo = nextIndex; + } + } + else if (level == nextLevel) + { + // Merge current and next run. + newEls.add(new BidiElement(bidiRoot, start + lastRunStart, + start + lastRunEnd, + lastRunLevel)); + newEls.add(new BidiElement(bidiRoot, start + lastRunEnd, + nextEl.getEndOffset(), level)); + removeTo = nextIndex; + } + else + { + // Split next element. + int endOffs = offs + bidi.getRunLimit(r); + newEls.add(new BidiElement(bidiRoot, start + lastRunStart, + start + lastRunEnd, + lastRunLevel)); + newEls.add(new BidiElement(bidiRoot, start + lastRunEnd, + start + endOffs, level)); + newEls.add(new BidiElement(bidiRoot, start + endOffs, + nextEl.getEndOffset(), + nextLevel)); + removeTo = nextIndex; + } + } + else + { + removeTo = bidiRoot.getElementIndex(end); + int level = bidi.getRunLevel(r); + int runEnd = offs + bidi.getRunLimit(r); + + if (level == lastRunLevel) + { + // Merge with previous. + lastRunEnd = offs + runEnd; + newEls.add(new BidiElement(bidiRoot, + start + lastRunStart, + start + runEnd, level)); + } + else + { + // Create element for last run and current run. + newEls.add(new BidiElement(bidiRoot, start + lastRunStart, + start + lastRunEnd, + lastRunLevel)); + newEls.add(new BidiElement(bidiRoot, + start + lastRunEnd, + start + runEnd, + level)); + } + } } - catch (InterruptedException ie) + else { - throw new Error("interrupted trying to get a readLock"); + int level = bidi.getRunLevel(r); + int runEnd = bidi.getRunLimit(r); + + if (level == lastRunLevel) + { + // Merge with previous. + lastRunEnd = offs + runEnd; + } + else + { + // Create element for last run and update values for + // current run. + newEls.add(new BidiElement(bidiRoot, start + lastRunStart, + start + lastRunEnd, + lastRunLevel)); + lastRunStart = lastRunEnd; + lastRunEnd = offs + runEnd; + lastRunLevel = level; + } } } - numReaders++; + offs += bidi.getLength(); + } + + // Determine the bidi elements which are to be removed. + int numRemoved = 0; + if (bidiRoot.getElementCount() > 0) + numRemoved = removeTo - removeFrom + 1; + Element[] removed = new Element[numRemoved]; + for (int i = 0; i < numRemoved; i++) + removed[i] = bidiRoot.getElement(removeFrom + i); + + Element[] added = new Element[newEls.size()]; + added = (Element[]) newEls.toArray(added); + + // Update the event. + ElementEdit edit = new ElementEdit(bidiRoot, removeFrom, removed, added); + ev.addEdit(edit); + + // Update the structure. + bidiRoot.replace(removeFrom, numRemoved, added); + } + + /** + * Determines the Bidi objects for the paragraphs in the specified range. + * + * @param start the start of the range + * @param end the end of the range + * + * @return the Bidi analysers for the paragraphs in the range + */ + private Bidi[] getBidis(int start, int end) + { + // Determine the default run direction from the document property. + Boolean defaultDir = null; + Object o = getProperty(TextAttribute.RUN_DIRECTION); + if (o instanceof Boolean) + defaultDir = (Boolean) o; + + // Scan paragraphs and add their level arrays to the overall levels array. + ArrayList bidis = new ArrayList(); + Segment s = new Segment(); + for (int i = start; i < end;) + { + Element par = getParagraphElement(i); + int pStart = par.getStartOffset(); + int pEnd = par.getEndOffset(); + + // Determine the default run direction of the paragraph. + Boolean dir = defaultDir; + o = par.getAttributes().getAttribute(TextAttribute.RUN_DIRECTION); + if (o instanceof Boolean) + dir = (Boolean) o; + + // Bidi over the paragraph. + try + { + getText(pStart, pEnd - pStart, s); + } + catch (BadLocationException ex) + { + assert false : "Must not happen"; + } + int flag = Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT; + if (dir != null) + { + if (TextAttribute.RUN_DIRECTION_LTR.equals(dir)) + flag = Bidi.DIRECTION_LEFT_TO_RIGHT; + else + flag = Bidi.DIRECTION_RIGHT_TO_LEFT; + } + Bidi bidi = new Bidi(s.array, s.offset, null, 0, s.count, flag); + bidis.add(bidi); + i = pEnd; + } + Bidi[] ret = new Bidi[bidis.size()]; + ret = (Bidi[]) bidis.toArray(ret); + return ret; + } + + /** + * Blocks until a read lock can be obtained. Must block if there is + * currently a writer modifying the Document. + */ + public final synchronized void readLock() + { + try + { + while (currentWriter != null) + { + if (currentWriter == Thread.currentThread()) + return; + wait(); + } + numReaders++; + } + catch (InterruptedException ex) + { + throw new Error("Interrupted during grab read lock"); } } @@ -679,7 +1069,7 @@ public abstract class AbstractDocument implements Document, Serializable * Releases the read lock. If this was the only reader on this * Document, writing may begin now. */ - public final void readUnlock() + public final synchronized void readUnlock() { // Note we could have a problem here if readUnlock was called without a // prior call to readLock but the specs simply warn users to ensure that @@ -706,21 +1096,14 @@ public abstract class AbstractDocument implements Document, Serializable // FIXME: the reference implementation throws a // javax.swing.text.StateInvariantError here - if (numReaders == 0) + if (numReaders <= 0) throw new IllegalStateException("document lock failure"); - synchronized (documentCV) - { - // If currentWriter is not null, the application code probably had a - // writeLock and then tried to obtain a readLock, in which case - // numReaders wasn't incremented - if (currentWriter == null) - { - numReaders --; - if (numReaders == 0 && numWritersWaiting != 0) - documentCV.notify(); - } - } + // If currentWriter is not null, the application code probably had a + // writeLock and then tried to obtain a readLock, in which case + // numReaders wasn't incremented + numReaders--; + notify(); } /** @@ -744,12 +1127,21 @@ public abstract class AbstractDocument implements Document, Serializable */ public void remove(int offset, int length) throws BadLocationException { - if (documentFilter == null) - removeImpl(offset, length); - else - documentFilter.remove(getBypass(), offset, length); + writeLock(); + try + { + DocumentFilter f = getDocumentFilter(); + if (f == null) + removeImpl(offset, length); + else + f.remove(getBypass(), offset, length); + } + finally + { + writeUnlock(); + } } - + void removeImpl(int offset, int length) throws BadLocationException { // The RI silently ignores all requests that have a negative length. @@ -766,21 +1158,12 @@ public abstract class AbstractDocument implements Document, Serializable new DefaultDocumentEvent(offset, length, DocumentEvent.EventType.REMOVE); - try - { - writeLock(); - - // The order of the operations below is critical! - removeUpdate(event); - UndoableEdit temp = content.remove(offset, length); - - postRemoveUpdate(event); - fireRemoveUpdate(event); - } - finally - { - writeUnlock(); - } + // The order of the operations below is critical! + removeUpdate(event); + UndoableEdit temp = content.remove(offset, length); + + postRemoveUpdate(event); + fireRemoveUpdate(event); } } @@ -814,21 +1197,28 @@ public abstract class AbstractDocument implements Document, Serializable if (length == 0 && (text == null || text.length() == 0)) return; - - if (documentFilter == null) + + writeLock(); + try { - // It is important to call the methods which again do the checks - // of the arguments and the DocumentFilter because subclasses may - // have overridden these methods and provide crucial behavior - // which would be skipped if we call the non-checking variants. - // An example for this is PlainDocument where insertString can - // provide a filtering of newlines. - remove(offset, length); - insertString(offset, text, attributes); + if (documentFilter == null) + { + // It is important to call the methods which again do the checks + // of the arguments and the DocumentFilter because subclasses may + // have overridden these methods and provide crucial behavior + // which would be skipped if we call the non-checking variants. + // An example for this is PlainDocument where insertString can + // provide a filtering of newlines. + remove(offset, length); + insertString(offset, text, attributes); + } + else + documentFilter.replace(getBypass(), offset, length, text, attributes); + } + finally + { + writeUnlock(); } - else - documentFilter.replace(getBypass(), offset, length, text, attributes); - } void replaceImpl(int offset, int length, String text, @@ -948,7 +1338,8 @@ public abstract class AbstractDocument implements Document, Serializable */ public void setAsynchronousLoadPriority(int p) { - // TODO: Implement this properly. + Integer val = p >= 0 ? new Integer(p) : null; + putProperty(AsyncLoadPriority, val); } /** @@ -956,7 +1347,7 @@ public abstract class AbstractDocument implements Document, Serializable * * @param p the document properties to set */ - public void setDocumentProperties(Dictionary p) + public void setDocumentProperties(Dictionary p) { // FIXME: make me thread-safe properties = p; @@ -966,26 +1357,27 @@ public abstract class AbstractDocument implements Document, Serializable * Blocks until a write lock can be obtained. Must wait if there are * readers currently reading or another thread is currently writing. */ - protected final void writeLock() + protected synchronized final void writeLock() { - if (currentWriter != null && currentWriter.equals(Thread.currentThread())) - return; - synchronized (documentCV) + try { - numWritersWaiting++; - while (numReaders > 0) + while (numReaders > 0 || currentWriter != null) { - try - { - documentCV.wait(); - } - catch (InterruptedException ie) + if (Thread.currentThread() == currentWriter) { - throw new Error("interruped while trying to obtain write lock"); + if (notifyListeners) + throw new IllegalStateException("Mutation during notify"); + numWriters++; + return; } + wait(); } - numWritersWaiting --; currentWriter = Thread.currentThread(); + numWriters = 1; + } + catch (InterruptedException ex) + { + throw new Error("Interupted during grab write lock"); } } @@ -993,16 +1385,14 @@ public abstract class AbstractDocument implements Document, Serializable * Releases the write lock. This allows waiting readers or writers to * obtain the lock. */ - protected final void writeUnlock() + protected final synchronized void writeUnlock() { - synchronized (documentCV) - { - if (Thread.currentThread().equals(currentWriter)) - { - currentWriter = null; - documentCV.notifyAll(); - } - } + if (--numWriters <= 0) + { + numWriters = 0; + currentWriter = null; + notifyAll(); + } } /** @@ -1039,6 +1429,7 @@ public abstract class AbstractDocument implements Document, Serializable public void dump(PrintStream out) { ((AbstractElement) getDefaultRootElement()).dump(out, 0); + ((AbstractElement) getBidiRootElement()).dump(out, 0); } /** @@ -1130,7 +1521,7 @@ public abstract class AbstractDocument implements Document, Serializable * @return the attributes of old minus the attributes in * attributes */ - AttributeSet removeAttributes(AttributeSet old, Enumeration names); + AttributeSet removeAttributes(AttributeSet old, Enumeration names); } /** @@ -1255,7 +1646,7 @@ public abstract class AbstractDocument implements Document, Serializable AttributeContext ctx = getAttributeContext(); attributes = ctx.getEmptySet(); if (s != null) - attributes = ctx.addAttributes(attributes, s); + addAttributes(s); } /** @@ -1386,7 +1777,7 @@ public abstract class AbstractDocument implements Document, Serializable * * @param names the names of the attributes to be removed */ - public void removeAttributes(Enumeration names) + public void removeAttributes(Enumeration names) { attributes = getAttributeContext().removeAttributes(attributes, names); } @@ -1481,7 +1872,7 @@ public abstract class AbstractDocument implements Document, Serializable * * @return the names of the attributes of this element */ - public Enumeration getAttributeNames() + public Enumeration getAttributeNames() { return attributes.getAttributeNames(); } @@ -1567,7 +1958,7 @@ public abstract class AbstractDocument implements Document, Serializable */ public String getName() { - return (String) getAttribute(NameAttribute); + return (String) attributes.getAttribute(ElementNameAttribute); } /** @@ -1644,6 +2035,11 @@ public abstract class AbstractDocument implements Document, Serializable b.append('\n'); } } + if (getAttributeCount() > 0) + { + for (int i = 0; i < indent; ++i) + b.append(' '); + } b.append(">\n"); // Dump element content for leaf elements. @@ -1704,6 +2100,11 @@ public abstract class AbstractDocument implements Document, Serializable */ private int numChildren; + /** + * The last found index in getElementIndex(). Used for faster searching. + */ + private int lastIndex; + /** * Creates a new BranchElement with the specified * parent and attributes. @@ -1717,6 +2118,7 @@ public abstract class AbstractDocument implements Document, Serializable super(parent, attributes); children = new Element[1]; numChildren = 0; + lastIndex = -1; } /** @@ -1726,7 +2128,7 @@ public abstract class AbstractDocument implements Document, Serializable */ public Enumeration children() { - if (children.length == 0) + if (numChildren == 0) return null; Vector tmp = new Vector(); @@ -1785,35 +2187,73 @@ public abstract class AbstractDocument implements Document, Serializable */ public int getElementIndex(int offset) { - // If offset is less than the start offset of our first child, - // return 0 - if (offset < getStartOffset()) - return 0; + // Implemented using an improved linear search. + // This makes use of the fact that searches are not random but often + // close to the previous search. So we try to start the binary + // search at the last found index. - // XXX: There is surely a better algorithm - // as beginning from first element each time. - for (int index = 0; index < numChildren - 1; ++index) + int i0 = 0; // The lower bounds. + int i1 = numChildren - 1; // The upper bounds. + int index = -1; // The found index. + + int p0 = getStartOffset(); + int p1; // Start and end offset local variables. + + if (numChildren == 0) + index = 0; + else if (offset >= getEndOffset()) + index = numChildren - 1; + else { - Element elem = children[index]; - - if ((elem.getStartOffset() <= offset) - && (offset < elem.getEndOffset())) - return index; - // If the next element's start offset is greater than offset - // then we have to return the closest Element, since no Elements - // will contain the offset - if (children[index + 1].getStartOffset() > offset) + // Try lastIndex. + if (lastIndex >= i0 && lastIndex <= i1) { - if ((offset - elem.getEndOffset()) > (children[index + 1].getStartOffset() - offset)) - return index + 1; + Element last = getElement(lastIndex); + p0 = last.getStartOffset(); + p1 = last.getEndOffset(); + if (offset >= p0 && offset < p1) + index = lastIndex; else - return index; + { + // Narrow the search bounds using the lastIndex, even + // if it hasn't been a hit. + if (offset < p0) + i1 = lastIndex; + else + i0 = lastIndex; + } + } + // The actual search. + int i = 0; + while (i0 <= i1 && index == -1) + { + i = i0 + (i1 - i0) / 2; + Element el = getElement(i); + p0 = el.getStartOffset(); + p1 = el.getEndOffset(); + if (offset >= p0 && offset < p1) + { + // Found it! + index = i; + } + else if (offset < p0) + i1 = i - 1; + else + i0 = i + 1; } - } - // If offset is greater than the index of the last element, return - // the index of the last element. - return getElementCount() - 1; + if (index == -1) + { + // Didn't find it. Return the boundary index. + if (offset < p0) + index = i; + else + index = i + 1; + } + + lastIndex = index; + } + return index; } /** @@ -1957,6 +2397,11 @@ public abstract class AbstractDocument implements Document, Serializable /** The serialization UID (compatible with JDK1.5). */ private static final long serialVersionUID = 5230037221564563284L; + /** + * The threshold that indicates when we switch to using a Hashtable. + */ + private static final int THRESHOLD = 10; + /** The starting offset of the change. */ private int offset; @@ -1967,15 +2412,18 @@ public abstract class AbstractDocument implements Document, Serializable private DocumentEvent.EventType type; /** - * Maps Element to their change records. + * Maps Element to their change records. This is only + * used when the changes array gets too big. We can use an + * (unsync'ed) HashMap here, since changes to this are (should) always + * be performed inside a write lock. */ - Hashtable changes; + private HashMap changes; /** * Indicates if this event has been modified or not. This is used to * determine if this event is thrown. */ - boolean modified; + private boolean modified; /** * Creates a new DefaultDocumentEvent. @@ -1990,7 +2438,6 @@ public abstract class AbstractDocument implements Document, Serializable this.offset = offset; this.length = length; this.type = type; - changes = new Hashtable(); modified = false; } @@ -2004,9 +2451,27 @@ public abstract class AbstractDocument implements Document, Serializable public boolean addEdit(UndoableEdit edit) { // XXX - Fully qualify ElementChange to work around gcj bug #2499. - if (edit instanceof DocumentEvent.ElementChange) + + // Start using Hashtable when we pass a certain threshold. This + // gives a good memory/performance compromise. + if (changes == null && edits.size() > THRESHOLD) + { + changes = new HashMap(); + int count = edits.size(); + for (int i = 0; i < count; i++) + { + Object o = edits.elementAt(i); + if (o instanceof DocumentEvent.ElementChange) + { + DocumentEvent.ElementChange ec = + (DocumentEvent.ElementChange) o; + changes.put(ec.getElement(), ec); + } + } + } + + if (changes != null && edit instanceof DocumentEvent.ElementChange) { - modified = true; DocumentEvent.ElementChange elEdit = (DocumentEvent.ElementChange) edit; changes.put(elEdit.getElement(), elEdit); @@ -2065,7 +2530,27 @@ public abstract class AbstractDocument implements Document, Serializable public DocumentEvent.ElementChange getChange(Element elem) { // XXX - Fully qualify ElementChange to work around gcj bug #2499. - return (DocumentEvent.ElementChange) changes.get(elem); + DocumentEvent.ElementChange change = null; + if (changes != null) + { + change = (DocumentEvent.ElementChange) changes.get(elem); + } + else + { + int count = edits.size(); + for (int i = 0; i < count && change == null; i++) + { + Object o = edits.get(i); + if (o instanceof DocumentEvent.ElementChange) + { + DocumentEvent.ElementChange ec = + (DocumentEvent.ElementChange) o; + if (elem.equals(ec.getElement())) + change = ec; + } + } + } + return change; } /** @@ -2333,7 +2818,63 @@ public abstract class AbstractDocument implements Document, Serializable + getStartOffset() + "," + getEndOffset() + "\n"); } } - + + /** + * The root element for bidirectional text. + */ + private class BidiRootElement + extends BranchElement + { + /** + * Creates a new bidi root element. + */ + BidiRootElement() + { + super(null, null); + } + + /** + * Returns the name of the element. + * + * @return the name of the element + */ + public String getName() + { + return BidiRootName; + } + } + + /** + * A leaf element for the bidi structure. + */ + private class BidiElement + extends LeafElement + { + /** + * Creates a new BidiElement. + * + * @param parent the parent element + * @param start the start offset + * @param end the end offset + * @param level the bidi level + */ + BidiElement(Element parent, int start, int end, int level) + { + super(parent, new SimpleAttributeSet(), start, end); + addAttribute(StyleConstants.BidiLevel, new Integer(level)); + } + + /** + * Returns the name of the element. + * + * @return the name of the element + */ + public String getName() + { + return BidiElementName; + } + } + /** A class whose methods delegate to the insert, remove and replace methods * of this document which do not check for an installed DocumentFilter. */ diff --git a/libjava/classpath/javax/swing/text/AttributeSet.java b/libjava/classpath/javax/swing/text/AttributeSet.java index 01d148c067b..2d39881c28b 100644 --- a/libjava/classpath/javax/swing/text/AttributeSet.java +++ b/libjava/classpath/javax/swing/text/AttributeSet.java @@ -158,7 +158,7 @@ public interface AttributeSet * @return the names of the attributes that are stored in this * AttributeSet */ - Enumeration getAttributeNames(); + Enumeration getAttributeNames(); /** * Returns the resolving parent of this AttributeSet. diff --git a/libjava/classpath/javax/swing/text/BoxView.java b/libjava/classpath/javax/swing/text/BoxView.java index 27e3c0f9a1b..0754d9b9b8b 100644 --- a/libjava/classpath/javax/swing/text/BoxView.java +++ b/libjava/classpath/javax/swing/text/BoxView.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.swing.text; +import java.awt.Container; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Shape; @@ -91,11 +92,6 @@ public class BoxView */ private int[] span = new int[2]; - /** - * The SizeRequirements of the child views along the X_AXIS and Y_AXIS. - */ - private SizeRequirements[][] childReqs = new SizeRequirements[2][]; - /** * Creates a new BoxView for the given * Element and axis. Valid values for the axis are @@ -110,6 +106,8 @@ public class BoxView myAxis = axis; layoutValid[0] = false; layoutValid[1] = false; + requirementsValid[X_AXIS] = false; + requirementsValid[Y_AXIS] = false; span[0] = 0; span[1] = 0; requirements[0] = new SizeRequirements(); @@ -146,7 +144,10 @@ public class BoxView */ public void setAxis(int axis) { + boolean changed = axis != myAxis; myAxis = axis; + if (changed) + preferenceChanged(null, true, true); } /** @@ -227,55 +228,48 @@ public class BoxView */ public void replace(int offset, int length, View[] views) { - int numViews = 0; - if (views != null) - numViews = views.length; + // Actually perform the replace. + super.replace(offset, length, views); // Resize and copy data for cache arrays. - // The spansX cache. - int oldSize = getViewCount(); - - int[] newSpansX = new int[oldSize - length + numViews]; - System.arraycopy(spans[X_AXIS], 0, newSpansX, 0, offset); - System.arraycopy(spans[X_AXIS], offset + length, newSpansX, - offset + numViews, - oldSize - (offset + length)); - spans[X_AXIS] = newSpansX; - - // The spansY cache. - int[] newSpansY = new int[oldSize - length + numViews]; - System.arraycopy(spans[Y_AXIS], 0, newSpansY, 0, offset); - System.arraycopy(spans[Y_AXIS], offset + length, newSpansY, - offset + numViews, - oldSize - (offset + length)); - spans[Y_AXIS] = newSpansY; - - // The offsetsX cache. - int[] newOffsetsX = new int[oldSize - length + numViews]; - System.arraycopy(offsets[X_AXIS], 0, newOffsetsX, 0, offset); - System.arraycopy(offsets[X_AXIS], offset + length, newOffsetsX, - offset + numViews, - oldSize - (offset + length)); - offsets[X_AXIS] = newOffsetsX; - - // The offsetsY cache. - int[] newOffsetsY = new int[oldSize - length + numViews]; - System.arraycopy(offsets[Y_AXIS], 0, newOffsetsY, 0, offset); - System.arraycopy(offsets[Y_AXIS], offset + length, newOffsetsY, - offset + numViews, - oldSize - (offset + length)); - offsets[Y_AXIS] = newOffsetsY; + int newItems = views != null ? views.length : 0; + int minor = 1 - myAxis; + offsets[myAxis] = replaceLayoutArray(offsets[myAxis], offset, newItems); + spans[myAxis] = replaceLayoutArray(spans[myAxis], offset, newItems); + layoutValid[myAxis] = false; + requirementsValid[myAxis] = false; + offsets[minor] = replaceLayoutArray(offsets[minor], offset, newItems); + spans[minor] = replaceLayoutArray(spans[minor], offset, newItems); + layoutValid[minor] = false; + requirementsValid[minor] = false; + } - // Actually perform the replace. - super.replace(offset, length, views); + /** + * Helper method. This updates the layout cache arrays in response + * to a call to {@link #replace(int, int, View[])}. + * + * @param oldArray the old array + * + * @return the replaced array + */ + private int[] replaceLayoutArray(int[] oldArray, int offset, int newItems) - // Invalidate layout information. - layoutValid[X_AXIS] = false; - requirementsValid[X_AXIS] = false; - layoutValid[Y_AXIS] = false; - requirementsValid[Y_AXIS] = false; + { + int num = getViewCount(); + int[] newArray = new int[num]; + System.arraycopy(oldArray, 0, newArray, 0, offset); + System.arraycopy(oldArray, offset, newArray, offset + newItems, + num - newItems - offset); + return newArray; } + /** + * A Rectangle instance to be reused in the paint() method below. + */ + private final Rectangle tmpRect = new Rectangle(); + + private Rectangle clipRect = new Rectangle(); + /** * Renders the Element that is associated with this * View. @@ -285,26 +279,20 @@ public class BoxView */ public void paint(Graphics g, Shape a) { - Rectangle alloc; - if (a instanceof Rectangle) - alloc = (Rectangle) a; - else - alloc = a.getBounds(); + // Try to avoid allocation if possible (almost all cases). + Rectangle alloc = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); - int x = alloc.x + getLeftInset(); - int y = alloc.y + getTopInset(); + // This returns a cached instance. + alloc = getInsideAllocation(alloc); - Rectangle clip = g.getClipBounds(); - Rectangle tmp = new Rectangle(); int count = getViewCount(); - for (int i = 0; i < count; ++i) + for (int i = 0; i < count; i++) { - tmp.x = x + getOffset(X_AXIS, i); - tmp.y = y + getOffset(Y_AXIS, i); - tmp.width = getSpan(X_AXIS, i); - tmp.height = getSpan(Y_AXIS, i); - if (tmp.intersects(clip)) - paintChild(g, tmp, i); + View child = getView(i); + tmpRect.setBounds(alloc); + childAllocation(i, tmpRect); + if (g.hitClip(tmpRect.x, tmpRect.y, tmpRect.width, tmpRect.height)) + paintChild(g, tmpRect, i); } } @@ -373,9 +361,9 @@ public class BoxView } /** - * This method is obsolete and no longer in use. It is replaced by - * {@link #calculateMajorAxisRequirements(int, SizeRequirements)} and - * {@link #calculateMinorAxisRequirements(int, SizeRequirements)}. + * Calculates size requirements for a baseline layout. This is not + * used by the BoxView itself, but by subclasses that wish to perform + * a baseline layout, like the FlowView's rows. * * @param axis the axis that is examined * @param sr the SizeRequirements object to hold the result, @@ -387,50 +375,94 @@ public class BoxView protected SizeRequirements baselineRequirements(int axis, SizeRequirements sr) { - updateChildRequirements(axis); + // Create new instance if sr == null. + if (sr == null) + sr = new SizeRequirements(); + sr.alignment = 0.5F; + + // Calculate overall ascent and descent. + int totalAscentMin = 0; + int totalAscentPref = 0; + int totalAscentMax = 0; + int totalDescentMin = 0; + int totalDescentPref = 0; + int totalDescentMax = 0; + + int count = getViewCount(); + for (int i = 0; i < count; i++) + { + View v = getView(i); + float align = v.getAlignment(axis); + int span = (int) v.getPreferredSpan(axis); + int ascent = (int) (align * span); + int descent = span - ascent; + + totalAscentPref = Math.max(ascent, totalAscentPref); + totalDescentPref = Math.max(descent, totalDescentPref); + if (v.getResizeWeight(axis) > 0) + { + // If the view is resizable, then use the min and max size + // of the view. + span = (int) v.getMinimumSpan(axis); + ascent = (int) (align * span); + descent = span - ascent; + totalAscentMin = Math.max(ascent, totalAscentMin); + totalDescentMin = Math.max(descent, totalDescentMin); + + span = (int) v.getMaximumSpan(axis); + ascent = (int) (align * span); + descent = span - ascent; + totalAscentMax = Math.max(ascent, totalAscentMax); + totalDescentMax = Math.max(descent, totalDescentMax); + } + else + { + // If the view is not resizable, use the preferred span. + totalAscentMin = Math.max(ascent, totalAscentMin); + totalDescentMin = Math.max(descent, totalDescentMin); + totalAscentMax = Math.max(ascent, totalAscentMax); + totalDescentMax = Math.max(descent, totalDescentMax); + } + } - SizeRequirements res = sr; - if (res == null) - res = new SizeRequirements(); + // Preferred overall span is the sum of the preferred ascent and descent. + // With overflow check. + sr.preferred = (int) Math.min((long) totalAscentPref + + (long) totalDescentPref, + Integer.MAX_VALUE); + + // Align along the baseline. + if (sr.preferred > 0) + sr.alignment = (float) totalAscentPref / sr.preferred; - float minLeft = 0; - float minRight = 0; - float prefLeft = 0; - float prefRight = 0; - float maxLeft = 0; - float maxRight = 0; - for (int i = 0; i < childReqs[axis].length; i++) + if (sr.alignment == 0) { - float myMinLeft = childReqs[axis][i].minimum * childReqs[axis][i].alignment; - float myMinRight = childReqs[axis][i].minimum - myMinLeft; - minLeft = Math.max(myMinLeft, minLeft); - minRight = Math.max(myMinRight, minRight); - float myPrefLeft = childReqs[axis][i].preferred * childReqs[axis][i].alignment; - float myPrefRight = childReqs[axis][i].preferred - myPrefLeft; - prefLeft = Math.max(myPrefLeft, prefLeft); - prefRight = Math.max(myPrefRight, prefRight); - float myMaxLeft = childReqs[axis][i].maximum * childReqs[axis][i].alignment; - float myMaxRight = childReqs[axis][i].maximum - myMaxLeft; - maxLeft = Math.max(myMaxLeft, maxLeft); - maxRight = Math.max(myMaxRight, maxRight); + // Nothing above the baseline, use the descent. + sr.minimum = totalDescentMin; + sr.maximum = totalDescentMax; } - int minSize = (int) (minLeft + minRight); - int prefSize = (int) (prefLeft + prefRight); - int maxSize = (int) (maxLeft + maxRight); - float align = prefLeft / (prefRight + prefLeft); - if (Float.isNaN(align)) - align = 0; - - res.alignment = align; - res.maximum = maxSize; - res.preferred = prefSize; - res.minimum = minSize; - return res; + else if (sr.alignment == 1.0F) + { + // Nothing below the baseline, use the descent. + sr.minimum = totalAscentMin; + sr.maximum = totalAscentMax; + } + else + { + sr.minimum = Math.max((int) (totalAscentMin / sr.alignment), + (int) (totalDescentMin / (1.0F - sr.alignment))); + sr.maximum = Math.min((int) (totalAscentMax / sr.alignment), + (int) (totalDescentMax / (1.0F - sr.alignment))); + } + return sr; } /** - * Calculates the layout of the children of this BoxView along - * the specified axis. + * Calculates the baseline layout of the children of this + * BoxView along the specified axis. + * + * This is not used by the BoxView itself, but by subclasses that wish to + * perform a baseline layout, like the FlowView's rows. * * @param span the target span * @param axis the axis that is examined @@ -440,13 +472,36 @@ public class BoxView protected void baselineLayout(int span, int axis, int[] offsets, int[] spans) { - updateChildRequirements(axis); - updateRequirements(axis); + int totalAscent = (int) (span * getAlignment(axis)); + int totalDescent = span - totalAscent; - // Calculate the spans and offsets using the SizeRequirements uility - // methods. - SizeRequirements.calculateAlignedPositions(span, requirements[axis], - childReqs[axis], offsets, spans); + int count = getViewCount(); + for (int i = 0; i < count; i++) + { + View v = getView(i); + float align = v.getAlignment(axis); + int viewSpan; + if (v.getResizeWeight(axis) > 0) + { + // If possible, then resize for best fit. + int min = (int) v.getMinimumSpan(axis); + int max = (int) v.getMaximumSpan(axis); + if (align == 0.0F) + viewSpan = Math.max(Math.min(max, totalDescent), min); + else if (align == 1.0F) + viewSpan = Math.max(Math.min(max, totalAscent), min); + else + { + int fit = (int) Math.min(totalAscent / align, + totalDescent / (1.0F - align)); + viewSpan = Math.max(Math.min(max, fit), min); + } + } + else + viewSpan = (int) v.getPreferredSpan(axis); + offsets[i] = totalAscent - (int) (viewSpan * align); + spans[i] = viewSpan; + } } /** @@ -476,8 +531,8 @@ public class BoxView { View child = getView(i); min += child.getMinimumSpan(axis); - pref = child.getPreferredSpan(axis); - max = child.getMaximumSpan(axis); + pref += child.getPreferredSpan(axis); + max += child.getMaximumSpan(axis); } res.minimum = (int) min; @@ -509,7 +564,7 @@ public class BoxView res.minimum = 0; res.preferred = 0; - res.maximum = 0; + res.maximum = Integer.MAX_VALUE; res.alignment = 0.5F; int n = getViewCount(); for (int i = 0; i < n; i++) @@ -568,9 +623,9 @@ public class BoxView boolean result = false; if (myAxis == X_AXIS) - result = x > r.x; + result = x > r.x + r.width; else - result = y > r.y; + result = y > r.y + r.height; return result; } @@ -589,24 +644,54 @@ public class BoxView { View result = null; int count = getViewCount(); - Rectangle copy = new Rectangle(r); - - for (int i = 0; i < count; ++i) + if (myAxis == X_AXIS) { - copy.setBounds(r); - // The next call modifies copy. - childAllocation(i, copy); - if (copy.contains(x, y)) + // Border case. Requested point is left from the box. + if (x < r.x + offsets[X_AXIS][0]) { - // Modify r on success. - r.setBounds(copy); - result = getView(i); - break; + childAllocation(0, r); + result = getView(0); + } + else + { + // Search views inside box. + for (int i = 0; i < count && result == null; i++) + { + if (x < r.x + offsets[X_AXIS][i]) + { + childAllocation(i - 1, r); + result = getView(i - 1); + } + } } } - - if (result == null && count > 0) - return getView(count - 1); + else // Same algorithm for Y_AXIS. + { + // Border case. Requested point is above the box. + if (y < r.y + offsets[Y_AXIS][0]) + { + childAllocation(0, r); + result = getView(0); + } + else + { + // Search views inside box. + for (int i = 0; i < count && result == null; i++) + { + if (y < r.y + offsets[Y_AXIS][i]) + { + childAllocation(i - 1, r); + result = getView(i - 1); + } + } + } + } + // Not found, other border case: point is right from or below the box. + if (result == null) + { + childAllocation(count - 1, r); + result = getView(count - 1); + } return result; } @@ -623,9 +708,6 @@ public class BoxView */ protected void childAllocation(int index, Rectangle a) { - if (! isAllocationValid()) - layout(a.width, a.height); - a.x += offsets[X_AXIS][index]; a.y += offsets[Y_AXIS][index]; a.width = spans[X_AXIS][index]; @@ -643,49 +725,32 @@ public class BoxView */ protected void layout(int width, int height) { - int[] newSpan = new int[]{ width, height }; - int count = getViewCount(); - - // Update minor axis as appropriate. We need to first update the minor - // axis layout because that might affect the children's preferences along - // the major axis. - int minorAxis = myAxis == X_AXIS ? Y_AXIS : X_AXIS; - if ((! isLayoutValid(minorAxis)) || newSpan[minorAxis] != span[minorAxis]) - { - layoutValid[minorAxis] = false; - span[minorAxis] = newSpan[minorAxis]; - layoutMinorAxis(span[minorAxis], minorAxis, offsets[minorAxis], - spans[minorAxis]); - - // Update the child view's sizes. - for (int i = 0; i < count; ++i) - { - getView(i).setSize(spans[X_AXIS][i], spans[Y_AXIS][i]); - } - layoutValid[minorAxis] = true; - } - + layoutAxis(X_AXIS, width); + layoutAxis(Y_AXIS, height); + } - // Update major axis as appropriate. - if ((! isLayoutValid(myAxis)) || newSpan[myAxis] != span[myAxis]) + private void layoutAxis(int axis, int s) + { + if (span[axis] != s) + layoutValid[axis] = false; + if (! layoutValid[axis]) { - layoutValid[myAxis] = false; - span[myAxis] = newSpan[myAxis]; - layoutMajorAxis(span[myAxis], myAxis, offsets[myAxis], - spans[myAxis]); + span[axis] = s; + updateRequirements(axis); + if (axis == myAxis) + layoutMajorAxis(span[axis], axis, offsets[axis], spans[axis]); + else + layoutMinorAxis(span[axis], axis, offsets[axis], spans[axis]); + layoutValid[axis] = true; - // Update the child view's sizes. - for (int i = 0; i < count; ++i) + // Push out child layout. + int viewCount = getViewCount(); + for (int i = 0; i < viewCount; i++) { - getView(i).setSize(spans[X_AXIS][i], spans[Y_AXIS][i]); + View v = getView(i); + v.setSize(spans[X_AXIS][i], spans[Y_AXIS][i]); } - layoutValid[myAxis] = true; } - - if (layoutValid[myAxis] == false) - System.err.println("WARNING: Major axis layout must be valid after layout"); - if (layoutValid[minorAxis] == false) - System.err.println("Minor axis layout must be valid after layout"); } /** @@ -708,7 +773,7 @@ public class BoxView { View child = getView(i); spans[i] = (int) child.getPreferredSpan(axis); - sumPref = spans[i]; + sumPref += spans[i]; } // Try to adjust the spans so that we fill the targetSpan. @@ -776,7 +841,7 @@ public class BoxView View child = getView(i); int max = (int) child.getMaximumSpan(axis); if (max < targetSpan) - {System.err.println("align: " + child); + { // Align child when it can't be made as wide as the target span. float align = child.getAlignment(axis); offsets[i] = (int) ((targetSpan - max) * align); @@ -811,7 +876,9 @@ public class BoxView */ public int getWidth() { - return span[X_AXIS]; + // The RI returns the following here, however, I'd think that is a bug. + // return span[X_AXIS] + getLeftInset() - getRightInset(); + return span[X_AXIS] + getLeftInset() + getRightInset(); } /** @@ -821,7 +888,9 @@ public class BoxView */ public int getHeight() { - return span[Y_AXIS]; + // The RI returns the following here, however, I'd think that is a bug. + // return span[Y_AXIS] + getTopInset() - getBottomInset(); + return span[Y_AXIS] + getTopInset() + getBottomInset(); } /** @@ -833,7 +902,8 @@ public class BoxView */ public void setSize(float width, float height) { - layout((int) width, (int) height); + layout((int) (width - getLeftInset() - getRightInset()), + (int) (height - getTopInset() - getBottomInset())); } /** @@ -944,9 +1014,11 @@ public class BoxView { if (axis != X_AXIS && axis != Y_AXIS) throw new IllegalArgumentException("Illegal axis argument"); - int weight = 1; - if (axis == myAxis) - weight = 0; + updateRequirements(axis); + int weight = 0; + if ((requirements[axis].preferred != requirements[axis].minimum) + || (requirements[axis].preferred != requirements[axis].maximum)) + weight = 1; return weight; } @@ -973,13 +1045,39 @@ public class BoxView protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory vf) { - // FIXME: What to do here? + boolean wasValid = isLayoutValid(myAxis); super.forwardUpdate(ec, e, a, vf); + // Trigger repaint when one of the children changed the major axis. + if (wasValid && ! isLayoutValid(myAxis)) + { + Container c = getContainer(); + if (a != null && c != null) + { + int pos = e.getOffset(); + int index = getViewIndexAtPosition(pos); + Rectangle r = getInsideAllocation(a); + if (myAxis == X_AXIS) + { + r.x += offsets[myAxis][index]; + r.width -= offsets[myAxis][index]; + } + else + { + r.y += offsets[myAxis][index]; + r.height -= offsets[myAxis][index]; + } + c.repaint(r.x, r.y, r.width, r.height); + } + } } public int viewToModel(float x, float y, Shape a, Position.Bias[] bias) { - // FIXME: What to do here? + if (! isAllocationValid()) + { + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + setSize(r.width, r.height); + } return super.viewToModel(x, y, a, bias); } @@ -989,32 +1087,6 @@ public class BoxView return super.flipEastAndWestAtEnds(position, bias); } - /** - * Updates the child requirements along the specified axis. The requirements - * are only updated if the layout for the specified axis is marked as - * invalid. - * - * @param axis the axis to be updated - */ - private void updateChildRequirements(int axis) - { - if (! isLayoutValid(axis)) - { - int numChildren = getViewCount(); - if (childReqs[axis] == null || childReqs[axis].length != numChildren) - childReqs[axis] = new SizeRequirements[numChildren]; - for (int i = 0; i < numChildren; ++i) - { - View child = getView(i); - childReqs[axis][i] = - new SizeRequirements((int) child.getMinimumSpan(axis), - (int) child.getPreferredSpan(axis), - (int) child.getMaximumSpan(axis), - child.getAlignment(axis)); - } - } - } - /** * Updates the view's cached requirements along the specified axis if * necessary. The requirements are only updated if the layout for the @@ -1024,6 +1096,8 @@ public class BoxView */ private void updateRequirements(int axis) { + if (axis != Y_AXIS && axis != X_AXIS) + throw new IllegalArgumentException("Illegal axis: " + axis); if (! requirementsValid[axis]) { if (axis == myAxis) diff --git a/libjava/classpath/javax/swing/text/ComponentView.java b/libjava/classpath/javax/swing/text/ComponentView.java index a7d237ab73a..8de4de60fa3 100644 --- a/libjava/classpath/javax/swing/text/ComponentView.java +++ b/libjava/classpath/javax/swing/text/ComponentView.java @@ -39,11 +39,11 @@ package javax.swing.text; import java.awt.Component; import java.awt.Container; +import java.awt.Dimension; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Shape; -import javax.swing.SwingConstants; import javax.swing.SwingUtilities; /** @@ -61,11 +61,161 @@ import javax.swing.SwingUtilities; public class ComponentView extends View { + /** + * A special container that sits between the component and the hosting + * container. This is used to propagate invalidate requests and cache + * the component's layout sizes. + */ + private class Interceptor + extends Container + { + Dimension min; + Dimension pref; + Dimension max; + float alignX; + float alignY; + + /** + * Creates a new instance that hosts the specified component. + */ + Interceptor(Component c) + { + setLayout(null); + add(c); + cacheComponentSizes(); + } + + /** + * Intercepts the normal invalidate call and propagates the invalidate + * request up using the View's preferenceChanged(). + */ + public void invalidate() + { + super.invalidate(); + if (getParent() != null) + preferenceChanged(null, true, true); + } + + /** + * This is overridden to simply cache the layout sizes. + */ + public void doLayout() + { + cacheComponentSizes(); + } + + /** + * Overridden to also reshape the component itself. + */ + public void reshape(int x, int y, int w, int h) + { + super.reshape(x, y, w, h); + if (getComponentCount() > 0) + getComponent(0).setSize(w, h); + cacheComponentSizes(); + } + + /** + * Overridden to also show the component. + */ + public void show() + { + super.show(); + if (getComponentCount() > 0) + getComponent(0).setVisible(true); + } + + /** + * Overridden to also hide the component. + */ + public void hide() + { + super.hide(); + if (getComponentCount() > 0) + getComponent(0).setVisible(false); + } + + /** + * Overridden to return the cached value. + */ + public Dimension getMinimumSize() + { + maybeValidate(); + return min; + } + + /** + * Overridden to return the cached value. + */ + public Dimension getPreferredSize() + { + maybeValidate(); + return pref; + } + + /** + * Overridden to return the cached value. + */ + public Dimension getMaximumSize() + { + maybeValidate(); + return max; + } + + /** + * Overridden to return the cached value. + */ + public float getAlignmentX() + { + maybeValidate(); + return alignX; + } + + /** + * Overridden to return the cached value. + */ + public float getAlignmentY() + { + maybeValidate(); + return alignY; + } + + /** + * Validates the container only when necessary. + */ + private void maybeValidate() + { + if (! isValid()) + validate(); + } + + /** + * Fetches the component layout sizes into the cache. + */ + private void cacheComponentSizes() + { + if (getComponentCount() > 0) + { + Component c = getComponent(0); + min = c.getMinimumSize(); + pref = c.getPreferredSize(); + max = c.getMaximumSize(); + alignX = c.getAlignmentX(); + alignY = c.getAlignmentY(); + } + } + } + /** * The component that is displayed by this view. */ private Component comp; + /** + * The intercepting container. + */ + private Interceptor interceptor; + /** * Creates a new instance of ComponentView for the specified * Element. @@ -99,13 +249,20 @@ public class ComponentView extends View */ public float getAlignment(int axis) { - float align; - if (axis == X_AXIS) - align = getComponent().getAlignmentX(); - else if (axis == Y_AXIS) - align = getComponent().getAlignmentY(); + float align = 0.0F; + // I'd rather throw an IllegalArgumentException for illegal axis, + // but the Harmony testsuite indicates fallback to super behaviour. + if (interceptor != null && (axis == X_AXIS || axis == Y_AXIS)) + { + if (axis == X_AXIS) + align = interceptor.getAlignmentX(); + else if (axis == Y_AXIS) + align = interceptor.getAlignmentY(); + else + assert false : "Must not reach here"; + } else - throw new IllegalArgumentException(); + align = super.getAlignment(axis); return align; } @@ -118,8 +275,6 @@ public class ComponentView extends View */ public final Component getComponent() { - if (comp == null) - comp = createComponent(); return comp; } @@ -135,49 +290,70 @@ public class ComponentView extends View */ public float getMaximumSpan(int axis) { - float span; - if (axis == X_AXIS) - span = getComponent().getMaximumSize().width; - else if (axis == Y_AXIS) - span = getComponent().getMaximumSize().height; - else - throw new IllegalArgumentException(); + if (axis != X_AXIS && axis != Y_AXIS) + throw new IllegalArgumentException("Illegal axis"); + float span = 0; + if (interceptor != null) + { + if (axis == X_AXIS) + span = interceptor.getMaximumSize().width; + else if (axis == Y_AXIS) + span = interceptor.getMaximumSize().height; + else + assert false : "Must not reach here"; + } return span; } public float getMinimumSpan(int axis) { - float span; - if (axis == X_AXIS) - span = getComponent().getMinimumSize().width; - else if (axis == Y_AXIS) - span = getComponent().getMinimumSize().height; - else - throw new IllegalArgumentException(); + if (axis != X_AXIS && axis != Y_AXIS) + throw new IllegalArgumentException("Illegal axis"); + float span = 0; + if (interceptor != null) + { + if (axis == X_AXIS) + span = interceptor.getMinimumSize().width; + else if (axis == Y_AXIS) + span = interceptor.getMinimumSize().height; + else + assert false : "Must not reach here"; + } return span; } public float getPreferredSpan(int axis) { - float span; - if (axis == X_AXIS) - span = getComponent().getPreferredSize().width; - else if (axis == Y_AXIS) - span = getComponent().getPreferredSize().height; - else - throw new IllegalArgumentException(); + if (axis != X_AXIS && axis != Y_AXIS) + throw new IllegalArgumentException("Illegal axis"); + float span = 0; + if (interceptor != null) + { + if (axis == X_AXIS) + span = interceptor.getPreferredSize().width; + else if (axis == Y_AXIS) + span = interceptor.getPreferredSize().height; + else + assert false : "Must not reach here"; + } return span; } public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException { - Element el = getElement(); - if (pos < el.getStartOffset() || pos >= el.getEndOffset()) - throw new BadLocationException("Illegal offset for this view", pos); - Rectangle r = a.getBounds(); - Component c = getComponent(); - return new Rectangle(r.x, r.y, c.getWidth(), c.getHeight()); + int p0 = getStartOffset(); + int p1 = getEndOffset(); + if (pos >= p0 && pos <= p1) + { + Rectangle viewRect = a.getBounds(); + if (pos == p1) + viewRect.x += viewRect.width; + viewRect.width = 0; + return viewRect; + } + else + throw new BadLocationException("Illegal position", pos); } /** @@ -191,8 +367,11 @@ public class ComponentView extends View */ public void paint(Graphics g, Shape a) { - Rectangle r = a.getBounds(); - getComponent().setBounds(r.x, r.y, r.width, r.height); + if (interceptor != null) + { + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + interceptor.setBounds(r.x, r.y, r.width, r.height); + } } /** @@ -209,15 +388,33 @@ public class ComponentView extends View */ public void setParent(final View p) { + super.setParent(p); if (SwingUtilities.isEventDispatchThread()) - setParentImpl(p); + setParentImpl(); else SwingUtilities.invokeLater (new Runnable() { public void run() { - setParentImpl(p); + Document doc = getDocument(); + try + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + setParentImpl(); + Container host = getContainer(); + if (host != null) + { + preferenceChanged(null, true, true); + host.repaint(); + } + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } } }); } @@ -225,23 +422,41 @@ public class ComponentView extends View /** * The implementation of {@link #setParent}. This is package private to * avoid a synthetic accessor method. - * - * @param p the parent view to set */ - private void setParentImpl(View p) + void setParentImpl() { - super.setParent(p); + View p = getParent(); if (p != null) { - Component c = getComponent(); - p.getContainer().add(c); + Container c = getContainer(); + if (c != null) + { + if (interceptor == null) + { + // Create component and put it inside the interceptor. + Component created = createComponent(); + if (created != null) + { + comp = created; + interceptor = new Interceptor(comp); + } + } + if (interceptor != null) + { + // Add the interceptor to the hosting container. + if (interceptor.getParent() == null) + c.add(interceptor, this); + } + } } else { - Component c = getComponent(); - Container parent = c.getParent(); - parent.remove(c); - comp = null; + if (interceptor != null) + { + Container parent = interceptor.getParent(); + if (parent != null) + parent.remove(interceptor); + } } } @@ -259,10 +474,21 @@ public class ComponentView extends View */ public int viewToModel(float x, float y, Shape a, Position.Bias[] b) { - // The element should only have one character position and it is clear - // that this position is the position that best matches the given screen - // coordinates, simply because this view has only this one position. - Element el = getElement(); - return el.getStartOffset(); + int pos; + // I'd rather do the following. The harmony testsuite indicates + // that a simple cast is performed. + //Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + Rectangle r = (Rectangle) a; + if (x < r.x + r.width / 2) + { + b[0] = Position.Bias.Forward; + pos = getStartOffset(); + } + else + { + b[0] = Position.Bias.Backward; + pos = getEndOffset(); + } + return pos; } } diff --git a/libjava/classpath/javax/swing/text/CompositeView.java b/libjava/classpath/javax/swing/text/CompositeView.java index 6f487b8981e..570fc955c88 100644 --- a/libjava/classpath/javax/swing/text/CompositeView.java +++ b/libjava/classpath/javax/swing/text/CompositeView.java @@ -38,7 +38,6 @@ exception statement from your version. */ package javax.swing.text; -import java.awt.Insets; import java.awt.Rectangle; import java.awt.Shape; @@ -57,20 +56,28 @@ public abstract class CompositeView /** * The child views of this CompositeView. */ - View[] children; + private View[] children; + + /** + * The number of child views. + */ + private int numChildren; /** * The allocation of this View minus its insets. This is * initialized in {@link #getInsideAllocation} and reused and modified in * {@link #childAllocation(int, Rectangle)}. */ - Rectangle insideAllocation; + private final Rectangle insideAllocation = new Rectangle(); /** * The insets of this CompositeView. This is initialized * in {@link #setInsets}. */ - Insets insets; + private short top; + private short bottom; + private short left; + private short right; /** * Creates a new CompositeView for the given @@ -82,7 +89,10 @@ public abstract class CompositeView { super(element); children = new View[0]; - insets = new Insets(0, 0, 0, 0); + top = 0; + bottom = 0; + left = 0; + right = 0; } /** @@ -96,16 +106,22 @@ public abstract class CompositeView */ protected void loadChildren(ViewFactory f) { - Element el = getElement(); - int count = el.getElementCount(); - View[] newChildren = new View[count]; - for (int i = 0; i < count; ++i) + if (f != null) { - Element child = el.getElement(i); - View view = f.create(child); - newChildren[i] = view; + Element el = getElement(); + int count = el.getElementCount(); + View[] newChildren = new View[count]; + for (int i = 0; i < count; ++i) + { + Element child = el.getElement(i); + View view = f.create(child); + newChildren[i] = view; + } + // I'd have called replace(0, getViewCount(), newChildren) here + // in order to replace all existing views. However according to + // Harmony's tests this is not what the RI does. + replace(0, 0, newChildren); } - replace(0, getViewCount(), newChildren); } /** @@ -118,7 +134,7 @@ public abstract class CompositeView public void setParent(View parent) { super.setParent(parent); - if (parent != null && ((children == null) || children.length == 0)) + if (parent != null && numChildren == 0) loadChildren(getViewFactory()); } @@ -129,7 +145,7 @@ public abstract class CompositeView */ public int getViewCount() { - return children.length; + return numChildren; } /** @@ -156,24 +172,42 @@ public abstract class CompositeView */ public void replace(int offset, int length, View[] views) { - // Check for null views to add. - for (int i = 0; i < views.length; ++i) - if (views[i] == null) - throw new NullPointerException("Added views must not be null"); - - int endOffset = offset + length; + // Make sure we have an array. The Harmony testsuite indicates that we + // have to do something like this. + if (views == null) + views = new View[0]; // First we set the parent of the removed children to null. + int endOffset = offset + length; for (int i = offset; i < endOffset; ++i) - children[i].setParent(null); + { + if (children[i].getParent() == this) + children[i].setParent(null); + children[i] = null; + } - View[] newChildren = new View[children.length - length + views.length]; - System.arraycopy(children, 0, newChildren, 0, offset); - System.arraycopy(views, 0, newChildren, offset, views.length); - System.arraycopy(children, offset + length, newChildren, - offset + views.length, - children.length - (offset + length)); - children = newChildren; + // Update the children array. + int delta = views.length - length; + int src = offset + length; + int numMove = numChildren - src; + int dst = src + delta; + if (numChildren + delta > children.length) + { + // Grow array. + int newLength = Math.max(2 * children.length, numChildren + delta); + View[] newChildren = new View[newLength]; + System.arraycopy(children, 0, newChildren, 0, offset); + System.arraycopy(views, 0, newChildren, offset, views.length); + System.arraycopy(children, src, newChildren, dst, numMove); + children = newChildren; + } + else + { + // Patch existing array. + System.arraycopy(children, src, children, dst, numMove); + System.arraycopy(views, 0, children, offset, views.length); + } + numChildren += delta; // Finally we set the parent of the added children to this. for (int i = 0; i < views.length; ++i) @@ -248,34 +282,13 @@ public abstract class CompositeView } } } - else - { - throw new BadLocationException("Position " + pos - + " is not represented by view.", pos); - } } - return ret; - } - /** - * A helper method for {@link #modelToView(int, Position.Bias, int, - * Position.Bias, Shape)}. This creates a default location when there is - * no child view that can take responsibility for mapping the position to - * view coordinates. Depending on the specified bias this will be the - * left or right edge of this view's allocation. - * - * @param a the allocation for this view - * @param bias the bias - * - * @return a default location - */ - private Shape createDefaultLocation(Shape a, Position.Bias bias) - { - Rectangle alloc = a.getBounds(); - Rectangle location = new Rectangle(alloc.x, alloc.y, 1, alloc.height); - if (bias == Position.Bias.Forward) - location.x = alloc.x + alloc.width; - return location; + if (ret == null) + throw new BadLocationException("Position " + pos + + " is not represented by view.", pos); + + return ret; } /** @@ -394,7 +407,7 @@ public abstract class CompositeView */ public int getViewIndex(int pos, Position.Bias b) { - if (b == Position.Bias.Backward && pos != 0) + if (b == Position.Bias.Backward) pos -= 1; int i = -1; if (pos >= getStartOffset() && pos < getEndOffset()) @@ -514,24 +527,17 @@ public abstract class CompositeView if (a == null) return null; - Rectangle alloc = a.getBounds(); + // Try to avoid allocation of Rectangle here. + Rectangle alloc = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + // Initialize the inside allocation rectangle. This is done inside // a synchronized block in order to avoid multiple threads creating // this instance simultanously. - Rectangle inside; - synchronized(this) - { - inside = insideAllocation; - if (inside == null) - { - inside = new Rectangle(); - insideAllocation = inside; - } - } - inside.x = alloc.x + insets.left; - inside.y = alloc.y + insets.top; - inside.width = alloc.width - insets.left - insets.right; - inside.height = alloc.height - insets.top - insets.bottom; + Rectangle inside = insideAllocation; + inside.x = alloc.x + getLeftInset(); + inside.y = alloc.y + getTopInset(); + inside.width = alloc.width - getLeftInset() - getRightInset(); + inside.height = alloc.height - getTopInset() - getBottomInset(); return inside; } @@ -546,39 +552,26 @@ public abstract class CompositeView */ protected void setParagraphInsets(AttributeSet attributes) { - Float l = (Float) attributes.getAttribute(StyleConstants.LeftIndent); - short left = 0; - if (l != null) - left = l.shortValue(); - Float r = (Float) attributes.getAttribute(StyleConstants.RightIndent); - short right = 0; - if (r != null) - right = r.shortValue(); - Float t = (Float) attributes.getAttribute(StyleConstants.SpaceAbove); - short top = 0; - if (t != null) - top = t.shortValue(); - Float b = (Float) attributes.getAttribute(StyleConstants.SpaceBelow); - short bottom = 0; - if (b != null) - bottom = b.shortValue(); - setInsets(top, left, bottom, right); + top = (short) StyleConstants.getSpaceAbove(attributes); + bottom = (short) StyleConstants.getSpaceBelow(attributes); + left = (short) StyleConstants.getLeftIndent(attributes); + right = (short) StyleConstants.getRightIndent(attributes); } /** * Sets the insets of this CompositeView. * - * @param top the top inset - * @param left the left inset - * @param bottom the bottom inset - * @param right the right inset + * @param t the top inset + * @param l the left inset + * @param b the bottom inset + * @param r the right inset */ - protected void setInsets(short top, short left, short bottom, short right) + protected void setInsets(short t, short l, short b, short r) { - insets.top = top; - insets.left = left; - insets.bottom = bottom; - insets.right = right; + top = t; + left = l; + bottom = b; + right = r; } /** @@ -588,7 +581,7 @@ public abstract class CompositeView */ protected short getLeftInset() { - return (short) insets.left; + return left; } /** @@ -598,7 +591,7 @@ public abstract class CompositeView */ protected short getRightInset() { - return (short) insets.right; + return right; } /** @@ -608,7 +601,7 @@ public abstract class CompositeView */ protected short getTopInset() { - return (short) insets.top; + return top; } /** @@ -618,7 +611,7 @@ public abstract class CompositeView */ protected short getBottomInset() { - return (short) insets.bottom; + return bottom; } /** diff --git a/libjava/classpath/javax/swing/text/DefaultCaret.java b/libjava/classpath/javax/swing/text/DefaultCaret.java index 84f47f120de..c4c2580c398 100644 --- a/libjava/classpath/javax/swing/text/DefaultCaret.java +++ b/libjava/classpath/javax/swing/text/DefaultCaret.java @@ -804,7 +804,7 @@ public class DefaultCaret extends Rectangle } } } - + private void handleHighlight() { Highlighter highlighter = textComponent.getHighlighter(); @@ -946,7 +946,7 @@ public class DefaultCaret extends Rectangle * * @return all registered event listeners of the specified type */ - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } @@ -1075,8 +1075,6 @@ public class DefaultCaret extends Rectangle handleHighlight(); appear(); - - adjustVisibility(this); } } @@ -1114,8 +1112,6 @@ public class DefaultCaret extends Rectangle clearHighlight(); appear(); - - adjustVisibility(this); } } @@ -1154,7 +1150,12 @@ public class DefaultCaret extends Rectangle // e.printStackTrace(); } if (area != null) - damage(area); + { + adjustVisibility(area); + if (getMagicCaretPosition() == null) + setMagicCaretPosition(new Point(area.x, area.y)); + damage(area); + } } repaint(); } diff --git a/libjava/classpath/javax/swing/text/DefaultEditorKit.java b/libjava/classpath/javax/swing/text/DefaultEditorKit.java index 8602e69f8e7..aa69deca545 100644 --- a/libjava/classpath/javax/swing/text/DefaultEditorKit.java +++ b/libjava/classpath/javax/swing/text/DefaultEditorKit.java @@ -38,7 +38,6 @@ exception statement from your version. */ package javax.swing.text; -import java.awt.Point; import java.awt.Toolkit; import java.awt.event.ActionEvent; @@ -312,19 +311,21 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - int offs = t.getDocument().getLength(); - Caret c = t.getCaret(); - c.setDot(0); - c.moveDot(offs); - - try - { - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); - } - catch(BadLocationException ble) - { - // Can't happen. - } + if (t != null) + { + int offs = t.getDocument().getLength(); + Caret c = t.getCaret(); + c.setDot(0); + c.moveDot(offs); + try + { + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } + } } } @@ -339,15 +340,18 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - Caret c = t.getCaret(); - c.moveDot(0); - try - { - c.setMagicCaretPosition(t.modelToView(0).getLocation()); - } - catch(BadLocationException ble) + if (t != null) { - // Can't happen. + Caret c = t.getCaret(); + c.moveDot(0); + try + { + c.setMagicCaretPosition(t.modelToView(0).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } } } @@ -363,16 +367,19 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - int offs = t.getDocument().getLength(); - Caret c = t.getCaret(); - c.moveDot(offs); - try - { - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); - } - catch(BadLocationException ble) + if (t != null) { - // Can't happen. + int offs = t.getDocument().getLength(); + Caret c = t.getCaret(); + c.moveDot(offs); + try + { + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } } } @@ -389,17 +396,19 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - Caret c = t.getCaret(); - try + if (t != null) { - int offs = Utilities.getRowStart(t, c.getDot()); - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + Caret c = t.getCaret(); + try + { + int offs = Utilities.getRowStart(t, c.getDot()); + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } - catch(BadLocationException ble) - { - // Can't happen. - } - } } @@ -414,17 +423,19 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - Caret c = t.getCaret(); - try - { - int offs = Utilities.getRowEnd(t, c.getDot()); - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); - } - catch(BadLocationException ble) + if (t != null) { - // Can't happen. + Caret c = t.getCaret(); + try + { + int offs = Utilities.getRowEnd(t, c.getDot()); + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } - } } @@ -438,20 +449,21 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - Caret c = t.getCaret(); - try - { - int offs1 = Utilities.getRowStart(t, c.getDot()); - int offs2 = Utilities.getRowEnd(t, c.getDot()); - - c.setDot(offs2); - c.moveDot(offs1); - - c.setMagicCaretPosition(t.modelToView(offs2).getLocation()); - } - catch(BadLocationException ble) + if (t != null) { - // Can't happen. + Caret c = t.getCaret(); + try + { + int offs1 = Utilities.getRowStart(t, c.getDot()); + int offs2 = Utilities.getRowEnd(t, c.getDot()); + c.setDot(offs2); + c.moveDot(offs1); + c.setMagicCaretPosition(t.modelToView(offs2).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } } } @@ -466,51 +478,52 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - Caret c = t.getCaret(); - int dot = c.getDot(); - - try + if (t != null) { - int wordStart = Utilities.getWordStart(t, dot); - - if (dot == wordStart) - { - // Current cursor position is on the first character in a word. - c.setDot(wordStart); - c.moveDot(Utilities.getWordEnd(t, wordStart)); - } - else + Caret c = t.getCaret(); + int dot = c.getDot(); + try { - // Current cursor position is not on the first character - // in a word. - int nextWord = Utilities.getNextWord(t, dot); - int previousWord = Utilities.getPreviousWord(t, dot); - int previousWordEnd = Utilities.getWordEnd(t, previousWord); - - // Cursor position is in the space between two words. In such a - // situation just select the space. - if (dot >= previousWordEnd && dot <= nextWord) + int wordStart = Utilities.getWordStart(t, dot); + + if (dot == wordStart) { - c.setDot(previousWordEnd); - c.moveDot(nextWord); + // Current cursor position is on the first character in a word. + c.setDot(wordStart); + c.moveDot(Utilities.getWordEnd(t, wordStart)); } else { - // Cursor position is inside a word. Just select it then. - c.setDot(previousWord); - c.moveDot(previousWordEnd); + // Current cursor position is not on the first character + // in a word. + int nextWord = Utilities.getNextWord(t, dot); + int previousWord = Utilities.getPreviousWord(t, dot); + int previousWordEnd = Utilities.getWordEnd(t, previousWord); + + // Cursor position is in the space between two words. In such a + // situation just select the space. + if (dot >= previousWordEnd && dot <= nextWord) + { + c.setDot(previousWordEnd); + c.moveDot(nextWord); + } + else + { + // Cursor position is inside a word. Just select it then. + c.setDot(previousWord); + c.moveDot(previousWordEnd); + } } - } - // If the position was updated change the magic caret position - // as well. - if (c.getDot() != dot) - c.setMagicCaretPosition(t.modelToView(c.getDot()).getLocation()); - - } - catch(BadLocationException ble) - { - // Can't happen. + // If the position was updated change the magic caret position + // as well. + if (c.getDot() != dot) + c.setMagicCaretPosition(t.modelToView(c.getDot()).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } } } @@ -715,21 +728,23 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - try - { - int offs = Utilities.getRowEnd(t, t.getCaretPosition()); - - if (offs > -1) - { - Caret c = t.getCaret(); - c.setDot(offs); - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); - } - } - catch (BadLocationException ble) - { - // Nothing to do here - } + if (t != null) + { + try + { + int offs = Utilities.getRowEnd(t, t.getCaretPosition()); + if (offs > -1) + { + Caret c = t.getCaret(); + c.setDot(offs); + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + } + catch (BadLocationException ble) + { + // Nothing to do here + } + } } } @@ -744,21 +759,23 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - try - { - int offs = Utilities.getRowStart(t, t.getCaretPosition()); - - if (offs > -1) - { - Caret c = t.getCaret(); - c.setDot(offs); - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); - } - } - catch (BadLocationException ble) - { - // Do nothing here. - } + if (t != null) + { + try + { + int offs = Utilities.getRowStart(t, t.getCaretPosition()); + if (offs > -1) + { + Caret c = t.getCaret(); + c.setDot(offs); + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + } + catch (BadLocationException ble) + { + // Do nothing here. + } + } } } @@ -773,16 +790,19 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - Caret c = t.getCaret(); - c.setDot(0); - try - { - c.setMagicCaretPosition(t.modelToView(0).getLocation()); - } - catch(BadLocationException ble) - { - // Can't happen. - } + if (t != null) + { + Caret c = t.getCaret(); + c.setDot(0); + try + { + c.setMagicCaretPosition(t.modelToView(0).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } + } } } @@ -797,16 +817,19 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - int offs = t.getDocument().getLength(); - Caret c = t.getCaret(); - c.setDot(offs); - try - { - c.setMagicCaretPosition(t.modelToView(offs).getLocation()); - } - catch(BadLocationException ble) + if (t != null) { - // Can't happen. + int offs = t.getDocument().getLength(); + Caret c = t.getCaret(); + c.setDot(offs); + try + { + c.setMagicCaretPosition(t.modelToView(offs).getLocation()); + } + catch(BadLocationException ble) + { + // Can't happen. + } } } } @@ -862,7 +885,9 @@ public class DefaultEditorKit extends EditorKit */ public void actionPerformed(ActionEvent event) { - getTextComponent(event).copy(); + JTextComponent target = getTextComponent(event); + if (target != null) + target.copy(); } } @@ -893,7 +918,9 @@ public class DefaultEditorKit extends EditorKit */ public void actionPerformed(ActionEvent event) { - getTextComponent(event).cut(); + JTextComponent target = getTextComponent(event); + if (target != null) + target.cut(); } } @@ -922,7 +949,9 @@ public class DefaultEditorKit extends EditorKit */ public void actionPerformed(ActionEvent event) { - getTextComponent(event).paste(); + JTextComponent target = getTextComponent(event); + if (target != null) + target.paste(); } } @@ -957,14 +986,26 @@ public class DefaultEditorKit extends EditorKit { // first we filter the following events: // - control characters - // - key events with the ALT modifier (FIXME: filter that too!) - int cp = event.getActionCommand().codePointAt(0); - if (Character.isISOControl(cp)) - return; - - JTextComponent t = getTextComponent(event); - if (t != null && t.isEnabled() && t.isEditable()) - t.replaceSelection(event.getActionCommand()); + // - key events with the ALT modifier + JTextComponent target = getTextComponent(event); + if ((target != null) && (event != null)) + { + if ((target.isEditable()) && (target.isEnabled())) + { + String content = event.getActionCommand(); + int mod = event.getModifiers(); + if ((content != null) && (content.length() > 0) + && (mod & ActionEvent.ALT_MASK) == 0 + && (mod & ActionEvent.CTRL_MASK) == 0) + { + char c = content.charAt(0); + if ((c >= 0x20) && (c != 0x7F)) + { + target.replaceSelection(content); + } + } + } + } } } @@ -992,7 +1033,8 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - t.replaceSelection("\n"); + if (t != null) + t.replaceSelection("\n"); } } @@ -1047,7 +1089,8 @@ public class DefaultEditorKit extends EditorKit public void actionPerformed(ActionEvent event) { JTextComponent t = getTextComponent(event); - t.replaceSelection("\t"); + if (t != null) + t.replaceSelection("\t"); } } diff --git a/libjava/classpath/javax/swing/text/DefaultFormatter.java b/libjava/classpath/javax/swing/text/DefaultFormatter.java index e42b1698af8..bf7c02a004d 100644 --- a/libjava/classpath/javax/swing/text/DefaultFormatter.java +++ b/libjava/classpath/javax/swing/text/DefaultFormatter.java @@ -216,7 +216,7 @@ public class DefaultFormatter extends JFormattedTextField.AbstractFormatter */ public DefaultFormatter() { - commitsOnValidEdit = true; + commitsOnValidEdit = false; overwriteMode = true; allowsInvalid = true; } @@ -330,7 +330,7 @@ public class DefaultFormatter extends JFormattedTextField.AbstractFormatter * * @return the class that is used for values */ - public Class getValueClass() + public Class getValueClass() { return valueClass; } @@ -342,7 +342,7 @@ public class DefaultFormatter extends JFormattedTextField.AbstractFormatter * * @see #getValueClass() */ - public void setValueClass(Class valueClass) + public void setValueClass(Class valueClass) { this.valueClass = valueClass; } diff --git a/libjava/classpath/javax/swing/text/DefaultHighlighter.java b/libjava/classpath/javax/swing/text/DefaultHighlighter.java index 59f77316e87..69563e473ac 100644 --- a/libjava/classpath/javax/swing/text/DefaultHighlighter.java +++ b/libjava/classpath/javax/swing/text/DefaultHighlighter.java @@ -1,4 +1,4 @@ -/* DefaultHighlighter.java -- +/* DefaultHighlighter.java -- The default highlight for Swing Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,18 +38,21 @@ exception statement from your version. */ package javax.swing.text; -import gnu.classpath.NotImplementedException; - import java.awt.Color; import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; import java.awt.Shape; import java.util.ArrayList; +import java.util.Iterator; import javax.swing.SwingUtilities; import javax.swing.plaf.TextUI; +/** + * The default highlight for Swing text components. It highlights text + * by filling the background with a rectangle. + */ public class DefaultHighlighter extends LayeredHighlighter { public static class DefaultHighlightPainter @@ -68,11 +71,6 @@ public class DefaultHighlighter extends LayeredHighlighter return color; } - private void paintHighlight(Graphics g, Rectangle rect) - { - g.fillRect(rect.x, rect.y, rect.width, rect.height); - } - public void paint(Graphics g, int p0, int p1, Shape bounds, JTextComponent t) { @@ -81,30 +79,31 @@ public class DefaultHighlighter extends LayeredHighlighter Rectangle rect = bounds.getBounds(); - if (color == null) - g.setColor(t.getSelectionColor()); - else - g.setColor(color); + Color col = getColor(); + if (col == null) + col = t.getSelectionColor(); + g.setColor(col); TextUI ui = t.getUI(); try - { - - Rectangle l0 = ui.modelToView(t, p0, null); - Rectangle l1 = ui.modelToView(t, p1, null); - - // Note: The computed locations may lie outside of the allocation - // area if the text is scrolled. + { + + Rectangle l0 = ui.modelToView(t, p0, null); + Rectangle l1 = ui.modelToView(t, p1, null); - if (l0.y == l1.y) + // Note: The computed locations may lie outside of the allocation + // area if the text is scrolled. + + if (l0.y == l1.y) { SwingUtilities.computeUnion(l0.x, l0.y, l0.width, l0.height, l1); // Paint only inside the allocation area. - SwingUtilities.computeIntersection(rect.x, rect.y, rect.width, rect.height, l1); + SwingUtilities.computeIntersection(rect.x, rect.y, rect.width, + rect.height, l1); - paintHighlight(g, l1); + g.fillRect(l1.x, l1.y, l1.width, l1.height); } else { @@ -115,77 +114,71 @@ public class DefaultHighlighter extends LayeredHighlighter // out the bounds. // 3. The final line is painted from the left border to the // position of p1. - - // Highlight first line until the end. - // If rect.x is non-zero the calculation will properly adjust the - // area to be painted. - l0.x -= rect.x; - l0.width = rect.width - l0.x - rect.x; - - paintHighlight(g, l0); - - int posBelow = Utilities.getPositionBelow(t, p0, l0.x); - int p1RowStart = Utilities.getRowStart(t, p1); - if (posBelow != -1 - && posBelow != p0 - && Utilities.getRowStart(t, posBelow) - != p1RowStart) - { - Rectangle grow = ui.modelToView(t, posBelow); - grow.x = rect.x; - grow.width = rect.width; - - // Find further lines which have to be highlighted completely. - int nextPosBelow = posBelow; - while (nextPosBelow != -1 - && Utilities.getRowStart(t, nextPosBelow) != p1RowStart) - { - posBelow = nextPosBelow; - nextPosBelow = Utilities.getPositionBelow(t, posBelow, l0.x); - - if (nextPosBelow == posBelow) - break; - } - // Now posBelow is an offset on the last line which has to be painted - // completely. (newPosBelow is on the same line as p1) - - // Retrieve the rectangle of posBelow and use its y and height - // value to calculate the final height of the multiple line - // spanning rectangle. - Rectangle end = ui.modelToView(t, posBelow); - grow.height = end.y + end.height - grow.y; - - paintHighlight(g, grow); - } - - // Paint last line from its beginning to the position of p1. - l1.width = l1.x + l1.width - rect.x; - l1.x = rect.x; - paintHighlight(g, l1); - } + + int firstLineWidth = rect.x + rect.width - l0.x; + g.fillRect(l0.x, l0.y, firstLineWidth, l0.height); + if (l0.y + l0.height != l1.y) + { + g.fillRect(rect.x, l0.y + l0.height, rect.width, + l1.y - l0.y - l0.height); + } + g.fillRect(rect.x, l1.y, l1.x - rect.x, l1.height); + } } catch (BadLocationException ex) { - AssertionError err = new AssertionError("Unexpected bad location exception"); - err.initCause(ex); - throw err; + // Can't render. Comment out for debugging. + // ex.printStackTrace(); } } public Shape paintLayer(Graphics g, int p0, int p1, Shape bounds, JTextComponent c, View view) { - throw new InternalError(); + Color col = getColor(); + if (col == null) + col = c.getSelectionColor(); + g.setColor(col); + + Rectangle rect = null; + if (p0 == view.getStartOffset() && p1 == view.getEndOffset()) + { + // Paint complete bounds region. + rect = bounds instanceof Rectangle ? (Rectangle) bounds + : bounds.getBounds(); + } + else + { + // Only partly inside the view. + try + { + Shape s = view.modelToView(p0, Position.Bias.Forward, + p1, Position.Bias.Backward, + bounds); + rect = s instanceof Rectangle ? (Rectangle) s : s.getBounds(); + } + catch (BadLocationException ex) + { + // Can't render the highlight. + } + } + + if (rect != null) + { + g.fillRect(rect.x, rect.y, rect.width, rect.height); + } + return rect; } } private class HighlightEntry implements Highlighter.Highlight { - int p0; - int p1; + Position p0; + Position p1; Highlighter.HighlightPainter painter; - public HighlightEntry(int p0, int p1, Highlighter.HighlightPainter painter) + public HighlightEntry(Position p0, Position p1, + Highlighter.HighlightPainter painter) { this.p0 = p0; this.p1 = p1; @@ -194,12 +187,12 @@ public class DefaultHighlighter extends LayeredHighlighter public int getStartOffset() { - return p0; + return p0.getOffset(); } public int getEndOffset() { - return p1; + return p1.getOffset(); } public Highlighter.HighlightPainter getPainter() @@ -208,6 +201,58 @@ public class DefaultHighlighter extends LayeredHighlighter } } + /** + * A HighlightEntry that is used for LayerPainter painters. In addition + * to the info maintained by the HighlightEntry, this class maintains + * a painting rectangle. This is used as repaint region when the + * highlight changes and the text component needs repainting. + */ + private class LayerHighlightEntry + extends HighlightEntry + { + + /** + * The paint rectangle. + */ + Rectangle paintRect = new Rectangle(); + + LayerHighlightEntry(Position p0, Position p1, + Highlighter.HighlightPainter p) + { + super(p0, p1, p); + } + + /** + * Paints the highlight by calling the LayerPainter. This + * restricts the area to be painted by startOffset and endOffset + * and manages the paint rectangle. + */ + void paintLayeredHighlight(Graphics g, int p0, int p1, Shape bounds, + JTextComponent tc, View view) + { + p0 = Math.max(getStartOffset(), p0); + p1 = Math.min(getEndOffset(), p1); + + Highlighter.HighlightPainter painter = getPainter(); + if (painter instanceof LayerPainter) + { + LayerPainter layerPainter = (LayerPainter) painter; + Shape area = layerPainter.paintLayer(g, p0, p1, bounds, tc, view); + Rectangle rect; + if (area instanceof Rectangle && paintRect != null) + rect = (Rectangle) area; + else + rect = area.getBounds(); + + if (paintRect.width == 0 || paintRect.height == 0) + paintRect = rect.getBounds(); + else + paintRect = SwingUtilities.computeUnion(rect.x, rect.y, rect.width, + rect.height, paintRect); + } + } + } + /** * @specnote final as of 1.4 */ @@ -254,11 +299,19 @@ public class DefaultHighlighter extends LayeredHighlighter textComponent = null; } - public Object addHighlight(int p0, int p1, Highlighter.HighlightPainter painter) + public Object addHighlight(int p0, int p1, + Highlighter.HighlightPainter painter) throws BadLocationException { checkPositions(p0, p1); - HighlightEntry entry = new HighlightEntry(p0, p1, painter); + HighlightEntry entry; + Document doc = textComponent.getDocument(); + Position pos0 = doc.createPosition(p0); + Position pos1 = doc.createPosition(p1); + if (getDrawsLayeredHighlights() && painter instanceof LayerPainter) + entry = new LayerHighlightEntry(pos0, pos1, painter); + else + entry = new HighlightEntry(pos0, pos1, painter); highlights.add(entry); textComponent.getUI().damageRange(textComponent, p0, p1); @@ -268,16 +321,67 @@ public class DefaultHighlighter extends LayeredHighlighter public void removeHighlight(Object tag) { + HighlightEntry entry = (HighlightEntry) tag; + if (entry instanceof LayerHighlightEntry) + { + LayerHighlightEntry lEntry = (LayerHighlightEntry) entry; + Rectangle paintRect = lEntry.paintRect; + textComponent.repaint(paintRect.x, paintRect.y, paintRect.width, + paintRect.height); + } + else + { + textComponent.getUI().damageRange(textComponent, + entry.getStartOffset(), + entry.getEndOffset()); + } highlights.remove(tag); - HighlightEntry entry = (HighlightEntry) tag; - textComponent.getUI().damageRange(textComponent, - entry.p0, - entry.p1); } public void removeAllHighlights() { + // Repaint damaged region. + int minX = 0; + int maxX = 0; + int minY = 0; + int maxY = 0; + int p0 = -1; + int p1 = -1; + for (Iterator i = highlights.iterator(); i.hasNext();) + { + HighlightEntry e = (HighlightEntry) i.next(); + if (e instanceof LayerHighlightEntry) + { + LayerHighlightEntry le = (LayerHighlightEntry) e; + Rectangle r = le.paintRect; + minX = Math.min(r.x, minX); + maxX = Math.max(r.x + r.width, maxX); + minY = Math.min(r.y, minY); + maxY = Math.max(r.y + r.height, maxY); + } + else + { + if (p0 == -1 || p1 == -1) + { + p0 = e.getStartOffset(); + p1 = e.getEndOffset(); + } + else + { + p0 = Math.min(p0, e.getStartOffset()); + p1 = Math.max(p1, e.getEndOffset()); + } + } + if (minX != maxX && minY != maxY) + textComponent.repaint(minX, minY, maxX - minX, maxY - minY); + if (p0 != -1 && p1 != -1) + { + TextUI ui = textComponent.getUI(); + ui.damageRange(textComponent, p0, p1); + } + + } highlights.clear(); } @@ -290,94 +394,61 @@ public class DefaultHighlighter extends LayeredHighlighter public void changeHighlight(Object tag, int n0, int n1) throws BadLocationException { - int o0, o1; - - checkPositions(n0, n1); - HighlightEntry entry = (HighlightEntry) tag; - o0 = entry.p0; - o1 = entry.p1; - - // Prevent useless write & repaint operations. - if (o0 == n0 && o1 == n1) - return; - - entry.p0 = n0; - entry.p1 = n1; - + Document doc = textComponent.getDocument(); TextUI ui = textComponent.getUI(); - - // Special situation where the old area has to be cleared simply. - if (n0 == n1) - ui.damageRange(textComponent, o0, o1); - // Calculates the areas where a change is really neccessary - else if ((o1 > n0 && o1 <= n1) - || (n1 > o0 && n1 <= o1)) + if (tag instanceof LayerHighlightEntry) { - // [fds, fde) - the first damage region - // [sds, sde] - the second damage region - int fds, sds; - int fde, sde; - - // Calculate first damaged region. - if(o0 < n0) - { - // Damaged region will be cleared as - // the old highlight region starts first. - fds = o0; - fde = n0; - } - else - { - // Damaged region will be painted as - // the new highlight region starts first. - fds = n0; - fde = o0; - } - - if (o1 < n1) + LayerHighlightEntry le = (LayerHighlightEntry) tag; + Rectangle r = le.paintRect; + if (r.width > 0 && r.height > 0) + textComponent.repaint(r.x, r.y, r.width, r.height); + r.width = 0; + r.height = 0; + le.p0 = doc.createPosition(n0); + le.p1 = doc.createPosition(n1); + ui.damageRange(textComponent, Math.min(n0, n1), Math.max(n0, n1)); + } + else if (tag instanceof HighlightEntry) + { + HighlightEntry e = (HighlightEntry) tag; + int p0 = e.getStartOffset(); + int p1 = e.getEndOffset(); + if (p0 == n0) { - // Final region will be painted as the - // old highlight region finishes first - sds = o1; - sde = n1; + ui.damageRange(textComponent, Math.min(p1, n1), + Math.max(p1, n1)); } - else + else if (n1 == p1) { - // Final region will be cleared as the - // new highlight region finishes first. - sds = n1; - sde = o1; + ui.damageRange(textComponent, Math.min(p0, n0), + Math.max(p0, n0)); } - - // If there is no undamaged region in between - // call damageRange only once. - if (fde == sds) - ui.damageRange(textComponent, fds, sde); else { - if (fds != fde) - ui.damageRange(textComponent, fds, fde); - - if (sds != sde) - ui.damageRange(textComponent, sds, sde); + ui.damageRange(textComponent, p0, p1); + ui.damageRange(textComponent, n0, n1); } + e.p0 = doc.createPosition(n0); + e.p1 = doc.createPosition(n1); } - else - { - // The two regions do not overlap. So mark - // both areas as damaged. - ui.damageRange(textComponent, o0, o1); - ui.damageRange(textComponent, n0, n1); - } - } public void paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) - throws NotImplementedException { - // TODO: Implement this properly. + for (Iterator i = highlights.iterator(); i.hasNext();) + { + Object o = i.next(); + if (o instanceof LayerHighlightEntry) + { + LayerHighlightEntry entry = (LayerHighlightEntry) o; + int start = entry.getStartOffset(); + int end = entry.getEndOffset(); + if ((p0 < start && p1 > start) || (p0 >= start && p0 < end)) + entry.paintLayeredHighlight(g, p0, p1, viewBounds, editor, view); + } + } } public void paint(Graphics g) @@ -399,7 +470,9 @@ public class DefaultHighlighter extends LayeredHighlighter for (int index = 0; index < size; ++index) { HighlightEntry entry = (HighlightEntry) highlights.get(index); - entry.painter.paint(g, entry.p0, entry.p1, bounds, textComponent); + if (! (entry instanceof LayerHighlightEntry)) + entry.painter.paint(g, entry.getStartOffset(), entry.getEndOffset(), + bounds, textComponent); } } } diff --git a/libjava/classpath/javax/swing/text/DefaultStyledDocument.java b/libjava/classpath/javax/swing/text/DefaultStyledDocument.java index bd21e55c6fb..3156ca67f66 100644 --- a/libjava/classpath/javax/swing/text/DefaultStyledDocument.java +++ b/libjava/classpath/javax/swing/text/DefaultStyledDocument.java @@ -41,7 +41,9 @@ package javax.swing.text; import java.awt.Color; import java.awt.Font; import java.io.Serializable; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.Iterator; import java.util.Stack; import java.util.Vector; @@ -424,6 +426,58 @@ public class DefaultStyledDocument extends AbstractDocument implements */ public class ElementBuffer implements Serializable { + /** + * Instance of all editing information for an object in the Vector. This class + * is used to add information to the DocumentEvent associated with an + * insertion/removal/change as well as to store the changes that need to be + * made so they can be made all at the same (appropriate) time. + */ + class Edit + { + /** The element to edit . */ + Element e; + + /** The index of the change. */ + int index; + + /** The removed elements. */ + ArrayList removed = new ArrayList(); + + /** The added elements. */ + ArrayList added = new ArrayList(); + + /** + * Indicates if this edit contains a fracture. + */ + boolean isFracture; + + /** + * Creates a new Edit for the specified element at index i. + * + * @param el the element + * @param i the index + */ + Edit(Element el, int i) + { + this(el, i, false); + } + + /** + * Creates a new Edit for the specified element at index i. + * + * @param el the element + * @param i the index + * @param frac if this is a fracture edit or not + */ + Edit(Element el, int i, boolean frac) + { + e = el; + index = i; + isFracture = frac; + } + + } + /** The serialization UID (compatible with JDK1.5). */ private static final long serialVersionUID = 1688745877691146623L; @@ -442,11 +496,20 @@ public class DefaultStyledDocument extends AbstractDocument implements /** Holds the position of the change. */ private int pos; - /** Holds the element that was last fractured. */ - private Element lastFractured; - - /** True if a fracture was not created during a insertFracture call. */ - private boolean fracNotCreated; + /** + * The parent of the fracture. + */ + private Element fracturedParent; + + /** + * The fractured child. + */ + private Element fracturedChild; + + /** + * Indicates if a fracture has been created. + */ + private boolean createdFracture; /** * The current position in the element tree. This is used for bulk inserts @@ -454,10 +517,17 @@ public class DefaultStyledDocument extends AbstractDocument implements */ private Stack elementStack; + private Edit[] insertPath; + + private boolean recreateLeafs; + /** - * The ElementChange that describes the latest changes. + * Vector that contains all the edits. Maybe replace by a HashMap. */ - DefaultDocumentEvent documentEvent; + private ArrayList edits; + + private boolean offsetLastIndex; + private boolean offsetLastIndexReplace; /** * Creates a new ElementBuffer for the specified @@ -469,7 +539,6 @@ public class DefaultStyledDocument extends AbstractDocument implements public ElementBuffer(Element root) { this.root = root; - elementStack = new Stack(); } /** @@ -495,13 +564,9 @@ public class DefaultStyledDocument extends AbstractDocument implements */ public void remove(int offs, int len, DefaultDocumentEvent ev) { - if (len == 0) - return; - offset = offs; - length = len; - pos = offset; - documentEvent = ev; + prepareEdit(offs, len); removeUpdate(); + finishEdit(ev); } /** @@ -511,109 +576,293 @@ public class DefaultStyledDocument extends AbstractDocument implements */ protected void removeUpdate() { - int startParagraph = root.getElementIndex(offset); - int endParagraph = root.getElementIndex(offset + length); - Element[] empty = new Element[0]; - int removeStart = -1; - int removeEnd = -1; - for (int i = startParagraph; i < endParagraph; i++) + removeElements(root, offset, endOffset); + } + + private boolean removeElements(Element elem, int rmOffs0, int rmOffs1) + { + boolean ret = false; + if (! elem.isLeaf()) { - BranchElement paragraph = (BranchElement) root.getElement(i); - int contentStart = paragraph.getElementIndex(offset); - int contentEnd = paragraph.getElementIndex(offset + length); - if (contentStart == paragraph.getStartOffset() - && contentEnd == paragraph.getEndOffset()) + // Update stack for changes. + int index0 = elem.getElementIndex(rmOffs0); + int index1 = elem.getElementIndex(rmOffs1); + elementStack.push(new Edit(elem, index0)); + Edit ec = (Edit) elementStack.peek(); + + // If the range is contained by one element, + // we just forward the request + if (index0 == index1) { - // In this case we only need to remove the whole paragraph. We - // do this in one go after this loop and only record the indices - // here. - if (removeStart == -1) + Element child0 = elem.getElement(index0); + if(rmOffs0 <= child0.getStartOffset() + && rmOffs1 >= child0.getEndOffset()) { - removeStart = i; - removeEnd = i; + // Element totally removed. + ec.removed.add(child0); + } + else if (removeElements(child0, rmOffs0, rmOffs1)) + { + ec.removed.add(child0); } - else - removeEnd = i; } else { - // In this case we remove a couple of child elements from this - // paragraph. - int removeLen = contentEnd - contentStart; - Element[] removed = new Element[removeLen]; - for (int j = contentStart; j < contentEnd; j++) - removed[j] = paragraph.getElement(j); - Edit edit = getEditForParagraphAndIndex(paragraph, contentStart); - edit.addRemovedElements(removed); + // The removal range spans elements. If we can join + // the two endpoints, do it. Otherwise we remove the + // interior and forward to the endpoints. + Element child0 = elem.getElement(index0); + Element child1 = elem.getElement(index1); + boolean containsOffs1 = (rmOffs1 < elem.getEndOffset()); + if (containsOffs1 && canJoin(child0, child1)) + { + // Remove and join. + for (int i = index0; i <= index1; i++) + { + ec.removed.add(elem.getElement(i)); + } + Element e = join(elem, child0, child1, rmOffs0, rmOffs1); + ec.added.add(e); } + else + { + // Remove interior and forward. + int rmIndex0 = index0 + 1; + int rmIndex1 = index1 - 1; + if (child0.getStartOffset() == rmOffs0 + || (index0 == 0 && child0.getStartOffset() > rmOffs0 + && child0.getEndOffset() <= rmOffs1)) + { + // Start element completely consumed. + child0 = null; + rmIndex0 = index0; + } + if (! containsOffs1) + { + child1 = null; + rmIndex1++; + } + else if (child1.getStartOffset() == rmOffs1) + { + // End element not touched. + child1 = null; + } + if (rmIndex0 <= rmIndex1) + { + ec.index = rmIndex0; + } + for (int i = rmIndex0; i <= rmIndex1; i++) + { + ec.removed.add(elem.getElement(i)); + } + if (child0 != null) + { + if(removeElements(child0, rmOffs0, rmOffs1)) + { + ec.removed.add(0, child0); + ec.index = index0; + } + } + if (child1 != null) + { + if(removeElements(child1, rmOffs0, rmOffs1)) + { + ec.removed.add(child1); + } + } + } + } + + // Perform changes. + pop(); + + // Return true if we no longer have any children. + if(elem.getElementCount() == (ec.removed.size() - ec.added.size())) + ret = true; } - // Now we remove paragraphs from the root that have been tagged for - // removal. - if (removeStart != -1) - { - int removeLen = removeEnd - removeStart; - Element[] removed = new Element[removeLen]; - for (int i = removeStart; i < removeEnd; i++) - removed[i] = root.getElement(i); - Edit edit = getEditForParagraphAndIndex((BranchElement) root, - removeStart); - edit.addRemovedElements(removed); - } + return ret; } /** - * Performs the actual work for {@link #change}. The elements at the - * interval boundaries are split up (if necessary) so that the interval - * boundaries are located at element boundaries. + * Creates a document in response to a call to + * {@link DefaultStyledDocument#create(ElementSpec[])}. + * + * @param len the length of the inserted text + * @param data the specs for the elements + * @param ev the document event */ - protected void changeUpdate() + void create(int len, ElementSpec[] data, DefaultDocumentEvent ev) + { + prepareEdit(offset, len); + Element el = root; + int index = el.getElementIndex(0); + while (! el.isLeaf()) + { + Element child = el.getElement(index); + Edit edit = new Edit(el, index, false); + elementStack.push(edit); + el = child; + index = el.getElementIndex(0); + } + Edit ed = (Edit) elementStack.peek(); + Element child = ed.e.getElement(ed.index); + ed.added.add(createLeafElement(ed.e, child.getAttributes(), getLength(), + child.getEndOffset())); + ed.removed.add(child); + while (elementStack.size() > 1) + pop(); + int n = data.length; + + // Reset root element's attributes. + AttributeSet newAtts = null; + if (n > 0 && data[0].getType() == ElementSpec.StartTagType) + newAtts = data[0].getAttributes(); + if (newAtts == null) + newAtts = SimpleAttributeSet.EMPTY; + MutableAttributeSet mAtts = (MutableAttributeSet) root.getAttributes(); + ev.addEdit(new AttributeUndoableEdit(root, newAtts, true)); + mAtts.removeAttributes(mAtts); + mAtts.addAttributes(newAtts); + + // Insert the specified elements. + for (int i = 1; i < n; i++) + insertElement(data[i]); + + // Pop remaining stack. + while (elementStack.size() > 0) + pop(); + + finishEdit(ev); + } + + private boolean canJoin(Element e0, Element e1) + { + boolean ret = false; + if ((e0 != null) && (e1 != null)) + { + // Don't join a leaf to a branch. + boolean isLeaf0 = e0.isLeaf(); + boolean isLeaf1 = e1.isLeaf(); + if(isLeaf0 == isLeaf1) + { + if (isLeaf0) + { + // Only join leaves if the attributes match, otherwise + // style information will be lost. + ret = e0.getAttributes().isEqual(e1.getAttributes()); + } + else + { + // Only join non-leafs if the names are equal. This may result + // in loss of style information, but this is typically + // acceptable for non-leafs. + String name0 = e0.getName(); + String name1 = e1.getName(); + if (name0 != null) + ret = name0.equals(name1); + else if (name1 != null) + ret = name1.equals(name0); + else // Both names null. + ret = true; + } + } + } + return ret; + } + + private Element join(Element p, Element left, Element right, int rmOffs0, + int rmOffs1) { - // Split up the element at the start offset if necessary. - Element el = getCharacterElement(offset); - Element[] res = split(el, offset, 0, el.getElementIndex(offset)); - BranchElement par = (BranchElement) el.getParentElement(); - int index = par.getElementIndex(offset); - Edit edit = getEditForParagraphAndIndex(par, index); - if (res[1] != null) + Element joined = null; + if (left.isLeaf() && right.isLeaf()) + { + joined = createLeafElement(p, left.getAttributes(), + left.getStartOffset(), + right.getEndOffset()); + } + else if ((! left.isLeaf()) && (! right.isLeaf())) { - Element[] removed; - Element[] added; - if (res[0] == null) + // Join two branch elements. This copies the children before + // the removal range on the left element, and after the removal + // range on the right element. The two elements on the edge + // are joined if possible and needed. + joined = createBranchElement(p, left.getAttributes()); + int ljIndex = left.getElementIndex(rmOffs0); + int rjIndex = right.getElementIndex(rmOffs1); + Element lj = left.getElement(ljIndex); + if (lj.getStartOffset() >= rmOffs0) + { + lj = null; + } + Element rj = right.getElement(rjIndex); + if (rj.getStartOffset() == rmOffs1) { - removed = new Element[0]; - added = new Element[] { res[1] }; - index++; + rj = null; + } + ArrayList children = new ArrayList(); + // Transfer the left. + for (int i = 0; i < ljIndex; i++) + { + children.add(clone(joined, left.getElement(i))); + } + + // Transfer the join/middle. + if (canJoin(lj, rj)) + { + Element e = join(joined, lj, rj, rmOffs0, rmOffs1); + children.add(e); } else { - removed = new Element[] { el }; - added = new Element[] { res[0], res[1] }; + if (lj != null) + { + children.add(cloneAsNecessary(joined, lj, rmOffs0, rmOffs1)); + } + if (rj != null) + { + children.add(cloneAsNecessary(joined, rj, rmOffs0, rmOffs1)); + } + } + + // Transfer the right. + int n = right.getElementCount(); + for (int i = (rj == null) ? rjIndex : rjIndex + 1; i < n; i++) + { + children.add(clone(joined, right.getElement(i))); } - edit.addRemovedElements(removed); - edit.addAddedElements(added); + // Install the children. + Element[] c = new Element[children.size()]; + c = (Element[]) children.toArray(c); + ((BranchElement) joined).replace(0, 0, c); + } + else + { + assert false : "Must not happen"; } + return joined; + } - int endOffset = offset + length; - el = getCharacterElement(endOffset); - res = split(el, endOffset, 0, el.getElementIndex(endOffset)); - par = (BranchElement) el.getParentElement(); - if (res[0] != null) + /** + * Performs the actual work for {@link #change}. The elements at the + * interval boundaries are split up (if necessary) so that the interval + * boundaries are located at element boundaries. + */ + protected void changeUpdate() + { + boolean didEnd = split(offset, length); + if (! didEnd) { - Element[] removed; - Element[] added; - if (res[1] == null) - { - removed = new Element[0]; - added = new Element[] { res[1] }; - } - else + // need to do the other end + while (elementStack.size() != 0) { - removed = new Element[] { el }; - added = new Element[] { res[0], res[1] }; + pop(); } - edit.addRemovedElements(removed); - edit.addAddedElements(added); + split(offset + length, 0); + } + while (elementStack.size() != 0) + { + pop(); } } @@ -633,13 +882,9 @@ public class DefaultStyledDocument extends AbstractDocument implements */ public void change(int offset, int length, DefaultDocumentEvent ev) { - if (length == 0) - return; - this.offset = offset; - this.pos = offset; - this.length = length; - documentEvent = ev; + prepareEdit(offset, length); changeUpdate(); + finishEdit(ev); } /** @@ -683,6 +928,39 @@ public class DefaultStyledDocument extends AbstractDocument implements return clone; } + private Element cloneAsNecessary(Element parent, Element clonee, + int rmOffs0, int rmOffs1) + { + Element cloned; + if (clonee.isLeaf()) + { + cloned = createLeafElement(parent, clonee.getAttributes(), + clonee.getStartOffset(), + clonee.getEndOffset()); + } + else + { + Element e = createBranchElement(parent, clonee.getAttributes()); + int n = clonee.getElementCount(); + ArrayList childrenList = new ArrayList(n); + for (int i = 0; i < n; i++) + { + Element elem = clonee.getElement(i); + if (elem.getStartOffset() < rmOffs0 + || elem.getEndOffset() > rmOffs1) + { + childrenList.add(cloneAsNecessary(e, elem, rmOffs0, + rmOffs1)); + } + } + Element[] children = new Element[childrenList.size()]; + children = (Element[]) childrenList.toArray(children); + ((BranchElement) e).replace(0, 0, children); + cloned = e; + } + return cloned; + } + /** * Inserts new Element in the document at the specified * position. Most of the work is done by {@link #insertUpdate}, after some @@ -701,70 +979,100 @@ public class DefaultStyledDocument extends AbstractDocument implements public void insert(int offset, int length, ElementSpec[] data, DefaultDocumentEvent ev) { - if (length == 0) - return; - + if (length > 0) + { + prepareEdit(offset, length); + insertUpdate(data); + finishEdit(ev); + } + } + + /** + * Prepares the state of this object for performing an insert. + * + * @param offset the offset at which is inserted + * @param length the length of the inserted region + */ + private void prepareEdit(int offset, int length) + { this.offset = offset; this.pos = offset; this.endOffset = offset + length; this.length = length; - documentEvent = ev; - - edits.removeAllElements(); - elementStack.removeAllElements(); - lastFractured = null; - fracNotCreated = false; - insertUpdate(data); + + if (edits == null) + edits = new ArrayList(); + else + edits.clear(); + + if (elementStack == null) + elementStack = new Stack(); + else + elementStack.clear(); + + fracturedParent = null; + fracturedChild = null; + offsetLastIndex = false; + offsetLastIndexReplace = false; + } + + /** + * Finishes an insert. This applies all changes and updates + * the DocumentEvent. + * + * @param ev the document event + */ + private void finishEdit(DefaultDocumentEvent ev) + { // This for loop applies all the changes that were made and updates the // DocumentEvent. - int size = edits.size(); - for (int i = 0; i < size; i++) - { - Edit curr = (Edit) edits.get(i); - BranchElement e = (BranchElement) curr.e; - Element[] removed = curr.getRemovedElements(); - Element[] added = curr.getAddedElements(); - // FIXME: We probably shouldn't create the empty Element[] in the - // first place. - if (removed.length > 0 || added.length > 0) - { - if (curr.index + removed.length <= e.getElementCount()) - { - e.replace(curr.index, removed.length, added); - ElementEdit ee = new ElementEdit(e, curr.index, removed, added); - ev.addEdit(ee); - } - else - { - System.err.println("WARNING: Tried to replace elements "); - System.err.print("beyond boundaries: elementCount: "); - System.err.println(e.getElementCount()); - System.err.print("index: " + curr.index); - System.err.println(", removed.length: " + removed.length); - } - } - } + for (Iterator i = edits.iterator(); i.hasNext();) + { + Edit edits = (Edit) i.next(); + Element[] removed = new Element[edits.removed.size()]; + removed = (Element[]) edits.removed.toArray(removed); + Element[] added = new Element[edits.added.size()]; + added = (Element[]) edits.added.toArray(added); + int index = edits.index; + BranchElement parent = (BranchElement) edits.e; + parent.replace(index, removed.length, added); + ElementEdit ee = new ElementEdit(parent, index, removed, added); + ev.addEdit(ee); + } + edits.clear(); + elementStack.clear(); } /** - * Inserts new content + * Inserts new content. * - * @param data - * the element specifications for the elements to be inserted + * @param data the element specifications for the elements to be inserted */ protected void insertUpdate(ElementSpec[] data) { - // Push the root and the paragraph at offset onto the element stack. + // Push the current path to the stack. Element current = root; - int index; - while (!current.isLeaf()) + int index = current.getElementIndex(offset); + while (! current.isLeaf()) { + Element child = current.getElement(index); + int editIndex = child.isLeaf() ? index : index + 1; + Edit edit = new Edit(current, editIndex); + elementStack.push(edit); + current = child; index = current.getElementIndex(offset); - elementStack.push(current); - current = current.getElement(index); } - + + // Create a copy of the original path. + insertPath = new Edit[elementStack.size()]; + insertPath = (Edit[]) elementStack.toArray(insertPath); + + // No fracture yet. + createdFracture = false; + + // Insert first content tag. int i = 0; + recreateLeafs = false; int type = data[0].getType(); if (type == ElementSpec.ContentType) { @@ -780,127 +1088,132 @@ public class DefaultStyledDocument extends AbstractDocument implements createFracture(data); i = 0; } - + // Handle each ElementSpec individually. for (; i < data.length; i++) { - BranchElement paragraph = (BranchElement) elementStack.peek(); - switch (data[i].getType()) - { - case ElementSpec.StartTagType: - switch (data[i].getDirection()) - { - case ElementSpec.JoinFractureDirection: - // Fracture the tree and ensure the appropriate element - // is on top of the stack. - fracNotCreated = false; - insertFracture(data[i]); - if (fracNotCreated) - { - if (lastFractured != null) - elementStack.push(lastFractured.getParentElement()); - else - elementStack.push(paragraph.getElement(0)); - } - break; - case ElementSpec.JoinNextDirection: - // Push the next paragraph element onto the stack so - // future insertions are added to it. - int ix = paragraph.getElementIndex(pos) + 1; - elementStack.push(paragraph.getElement(ix)); - break; - default: - Element br = null; - if (data.length > i + 1) - { - // leaves will be added to paragraph later - int x = 0; - if (paragraph.getElementCount() > 0) - x = paragraph.getElementIndex(pos) + 1; - Edit e = getEditForParagraphAndIndex(paragraph, x); - br = (BranchElement) createBranchElement(paragraph, - data[i].getAttributes()); - e.added.add(br); - elementStack.push(br); - } - else - // need to add leaves to paragraph now - br = insertParagraph(paragraph, pos); - break; - } - break; - case ElementSpec.EndTagType: - elementStack.pop(); - break; - case ElementSpec.ContentType: - insertContentTag(data[i]); - offset = pos; - break; - } + insertElement(data[i]); + } + + // Fracture if we haven't done yet. + if (! createdFracture) + fracture(-1); + + // Pop the remaining stack. + while (elementStack.size() != 0) + pop(); + + // Offset last index if necessary. + if (offsetLastIndex && offsetLastIndexReplace) + insertPath[insertPath.length - 1].index++; + + // Make sure we havea an Edit for each path item that has a change. + for (int p = insertPath.length - 1; p >= 0; p--) + { + Edit edit = insertPath[p]; + if (edit.e == fracturedParent) + edit.added.add(fracturedChild); + if ((edit.added.size() > 0 || edit.removed.size() > 0) + && ! edits.contains(edit)) + edits.add(edit); + } + + // Remove element that would be created by an insert at 0 with + // an initial end tag. + if (offset == 0 && fracturedParent != null + && data[0].getType() == ElementSpec.EndTagType) + { + int p; + for (p = 0; + p < data.length && data[p].getType() == ElementSpec.EndTagType; + p++); + Edit edit = insertPath[insertPath.length - p - 1]; + edit.index--; + edit.removed.add(0, edit.e.getElement(edit.index)); } } - - /** - * Inserts a new paragraph. - * - * @param par - - * the parent - * @param offset - - * the offset - * @return the new paragraph - */ - private Element insertParagraph(BranchElement par, int offset) + + private void pop() + { + Edit edit = (Edit) elementStack.peek(); + elementStack.pop(); + if ((edit.added.size() > 0) || (edit.removed.size() > 0)) + { + edits.add(edit); + } + else if (! elementStack.isEmpty()) + { + Element e = edit.e; + if (e.getElementCount() == 0) + { + // If we pushed a branch element that didn't get + // used, make sure its not marked as having been added. + edit = (Edit) elementStack.peek(); + edit.added.remove(e); + } + } + } + + private void insertElement(ElementSpec spec) { - int index = par.getElementIndex(offset); - Element current = par.getElement(index); - Element[] res = split(current, offset, 0, 0); - Edit e = getEditForParagraphAndIndex(par, index + 1); - Element ret; - if (res[1] != null) + Edit edit = (Edit) elementStack.peek(); + switch (spec.getType()) { - Element[] removed; - Element[] added; - if (res[0] == null) + case ElementSpec.StartTagType: + switch (spec.getDirection()) { - removed = new Element[0]; - if (res[1] instanceof BranchElement) + case ElementSpec.JoinFractureDirection: + // Fracture the tree and ensure the appropriate element + // is on top of the stack. + if (! createdFracture) { - added = new Element[] { res[1] }; - ret = res[1]; + fracture(elementStack.size() - 1); } - else + if (! edit.isFracture) { - ret = createBranchElement(par, null); - added = new Element[] { ret, res[1] }; + // If the parent isn't a fracture, then the fracture is + // in fracturedChild. + Edit newEdit = new Edit(fracturedChild, 0, true); + elementStack.push(newEdit); } - index++; - } - else - { - removed = new Element[] { current }; - if (res[1] instanceof BranchElement) + else { - ret = res[1]; - added = new Element[] { res[0], res[1] }; + // Otherwise use the parent's first child. + Element el = edit.e.getElement(0); + Edit newEdit = new Edit(el, 0, true); + elementStack.push(newEdit); } - else + break; + case ElementSpec.JoinNextDirection: + // Push the next paragraph element onto the stack so + // future insertions are added to it. + Element parent = edit.e.getElement(edit.index); + if (parent.isLeaf()) { - ret = createBranchElement(par, null); - added = new Element[] { res[0], ret, res[1] }; + if (edit.index + 1 < edit.e.getElementCount()) + parent = edit.e.getElement(edit.index + 1); + else + assert false; // Must not happen. } + elementStack.push(new Edit(parent, 0, true)); + break; + default: + Element branch = createBranchElement(edit.e, + spec.getAttributes()); + edit.added.add(branch); + elementStack.push(new Edit(branch, 0)); + break; } - - e.addAddedElements(added); - e.addRemovedElements(removed); - } - else - { - ret = createBranchElement(par, null); - e.addAddedElement(ret); + break; + case ElementSpec.EndTagType: + pop(); + break; + case ElementSpec.ContentType: + insertContentTag(spec, edit); + break; } - return ret; } - + /** * Inserts the first tag into the document. * @@ -910,67 +1223,71 @@ public class DefaultStyledDocument extends AbstractDocument implements private void insertFirstContentTag(ElementSpec[] data) { ElementSpec first = data[0]; - BranchElement paragraph = (BranchElement) elementStack.peek(); - int index = paragraph.getElementIndex(pos); - Element current = paragraph.getElement(index); - int newEndOffset = pos + first.length; + Edit edit = (Edit) elementStack.peek(); + Element current = edit.e.getElement(edit.index); + int firstEndOffset = offset + first.length; boolean onlyContent = data.length == 1; - Edit edit = getEditForParagraphAndIndex(paragraph, index); switch (first.getDirection()) { case ElementSpec.JoinPreviousDirection: - if (current.getEndOffset() != newEndOffset && !onlyContent) + if (current.getEndOffset() != firstEndOffset && ! onlyContent) { - Element newEl1 = createLeafElement(paragraph, + Element newEl1 = createLeafElement(edit.e, current.getAttributes(), current.getStartOffset(), - newEndOffset); - edit.addAddedElement(newEl1); - edit.addRemovedElement(current); - offset = newEndOffset; + firstEndOffset); + edit.added.add(newEl1); + edit.removed.add(current); + if (current.getEndOffset() != endOffset) + recreateLeafs = true; + else + offsetLastIndex = true; + } + else + { + offsetLastIndex = true; + offsetLastIndexReplace = true; } break; case ElementSpec.JoinNextDirection: - if (pos != 0) + if (offset != 0) { - Element newEl1 = createLeafElement(paragraph, + Element newEl1 = createLeafElement(edit.e, current.getAttributes(), current.getStartOffset(), - pos); - edit.addAddedElement(newEl1); - Element next = paragraph.getElement(index + 1); - + offset); + edit.added.add(newEl1); + Element next = edit.e.getElement(edit.index + 1); if (onlyContent) - newEl1 = createLeafElement(paragraph, next.getAttributes(), - pos, next.getEndOffset()); + newEl1 = createLeafElement(edit.e, next.getAttributes(), + offset, next.getEndOffset()); else { - newEl1 = createLeafElement(paragraph, next.getAttributes(), - pos, newEndOffset); - pos = newEndOffset; + newEl1 = createLeafElement(edit.e, next.getAttributes(), + offset, firstEndOffset); } - edit.addAddedElement(newEl1); - edit.addRemovedElement(current); - edit.addRemovedElement(next); + edit.added.add(newEl1); + edit.removed.add(current); + edit.removed.add(next); } break; - default: - if (current.getStartOffset() != pos) + default: // OriginateDirection. + if (current.getStartOffset() != offset) { - Element newEl = createLeafElement(paragraph, + Element newEl = createLeafElement(edit.e, current.getAttributes(), current.getStartOffset(), - pos); - edit.addAddedElement(newEl); + offset); + edit.added.add(newEl); } - edit.addRemovedElement(current); - Element newEl1 = createLeafElement(paragraph, first.getAttributes(), - pos, newEndOffset); - edit.addAddedElement(newEl1); + edit.removed.add(current); + Element newEl1 = createLeafElement(edit.e, first.getAttributes(), + offset, firstEndOffset); + edit.added.add(newEl1); if (current.getEndOffset() != endOffset) - recreateLeaves(newEndOffset, paragraph, onlyContent); + recreateLeafs = true; else - offset = newEndOffset; + offsetLastIndex = true; break; } } @@ -981,630 +1298,356 @@ public class DefaultStyledDocument extends AbstractDocument implements * @param tag - * the element spec */ - private void insertContentTag(ElementSpec tag) + private void insertContentTag(ElementSpec tag, Edit edit) { - BranchElement paragraph = (BranchElement) elementStack.peek(); int len = tag.getLength(); int dir = tag.getDirection(); - AttributeSet tagAtts = tag.getAttributes(); - if (dir == ElementSpec.JoinNextDirection) { - int index = paragraph.getElementIndex(pos); - Element target = paragraph.getElement(index); - Edit edit = getEditForParagraphAndIndex(paragraph, index); - - if (paragraph.getStartOffset() > pos) - { - Element first = paragraph.getElement(0); - Element newEl = createLeafElement(paragraph, - first.getAttributes(), pos, - first.getEndOffset()); - edit.addAddedElement(newEl); - edit.addRemovedElement(first); - } - else if (paragraph.getElementCount() > (index + 1) - && (pos == target.getStartOffset() && !target.equals(lastFractured))) + if (! edit.isFracture) { - Element next = paragraph.getElement(index + 1); - Element newEl = createLeafElement(paragraph, - next.getAttributes(), pos, - next.getEndOffset()); - edit.addAddedElement(newEl); - edit.addRemovedElement(next); - edit.addRemovedElement(target); + Element first = null; + if (insertPath != null) + { + for (int p = insertPath.length - 1; p >= 0; p--) + { + if (insertPath[p] == edit) + { + if (p != insertPath.length - 1) + first = edit.e.getElement(edit.index); + break; + } + } + } + if (first == null) + first = edit.e.getElement(edit.index + 1); + Element leaf = createLeafElement(edit.e, first.getAttributes(), + pos, first.getEndOffset()); + edit.added.add(leaf); + edit.removed.add(first); } else { - BranchElement parent = (BranchElement) paragraph.getParentElement(); - int i = parent.getElementIndex(pos); - BranchElement next = (BranchElement) parent.getElement(i + 1); - AttributeSet atts = tag.getAttributes(); - - if (next != null) - { - Element nextLeaf = next.getElement(0); - Edit e = getEditForParagraphAndIndex(next, 0); - Element newEl2 = createLeafElement(next, atts, pos, nextLeaf.getEndOffset()); - e.addAddedElement(newEl2); - e.addRemovedElement(nextLeaf); - } + Element first = edit.e.getElement(0); + Element leaf = createLeafElement(edit.e, first.getAttributes(), + pos, first.getEndOffset()); + edit.added.add(leaf); + edit.removed.add(first); } } else { - int end = pos + len; - Element leaf = createLeafElement(paragraph, tag.getAttributes(), pos, end); - - // Check for overlap with other leaves/branches - if (paragraph.getElementCount() > 0) - { - int index = paragraph.getElementIndex(pos); - Element target = paragraph.getElement(index); - boolean onlyContent = target.isLeaf(); - - BranchElement toRec = paragraph; - if (!onlyContent) - toRec = (BranchElement) target; - - // Check if we should place the leaf before or after target - if (pos > target.getStartOffset()) - index++; - - Edit edit = getEditForParagraphAndIndex(paragraph, index); - edit.addAddedElement(leaf); - } - else - paragraph.replace(0, 0, new Element[] { leaf }); + Element leaf = createLeafElement(edit.e, tag.getAttributes(), pos, + pos + len); + edit.added.add(leaf); } - + pos += len; + } /** - * This method fractures the child at offset. + * This method fractures bottomost leaf in the elementStack. This + * happens when the first inserted tag is not content. * * @param data * the ElementSpecs used for the entire insertion */ private void createFracture(ElementSpec[] data) { - BranchElement paragraph = (BranchElement) elementStack.peek(); - int index = paragraph.getElementIndex(offset); - Element child = paragraph.getElement(index); - Edit edit = getEditForParagraphAndIndex(paragraph, index); - AttributeSet atts = child.getAttributes(); - + Edit edit = (Edit) elementStack.peek(); + Element child = edit.e.getElement(edit.index); if (offset != 0) { - Element newEl1 = createLeafElement(paragraph, atts, - child.getStartOffset(), offset); - edit.addAddedElement(newEl1); - edit.addRemovedElement(child); - } - } - - /** - * Recreates a specified part of a the tree after a new leaf - * has been inserted. - * - * @param start - where to start recreating from - * @param paragraph - the paragraph to recreate - * @param onlyContent - true if this is the only content - */ - private void recreateLeaves(int start, BranchElement paragraph, boolean onlyContent) - { - int index = paragraph.getElementIndex(start); - Element child = paragraph.getElement(index); - AttributeSet atts = child.getAttributes(); - - if (!onlyContent) - { - BranchElement newBranch = (BranchElement) createBranchElement(paragraph, - atts); - Element newLeaf = createLeafElement(newBranch, atts, start, - child.getEndOffset()); - newBranch.replace(0, 0, new Element[] { newLeaf }); - - BranchElement parent = (BranchElement) paragraph.getParentElement(); - int parSize = parent.getElementCount(); - Edit edit = getEditForParagraphAndIndex(parent, parSize); - edit.addAddedElement(newBranch); - - int paragraphSize = paragraph.getElementCount(); - Element[] removed = new Element[paragraphSize - (index + 1)]; - int s = 0; - for (int j = index + 1; j < paragraphSize; j++) - removed[s++] = paragraph.getElement(j); - - edit = getEditForParagraphAndIndex(paragraph, index); - edit.addRemovedElements(removed); - Element[] added = recreateAfterFracture(removed, newBranch, 0, child.getEndOffset()); - newBranch.replace(1, 0, added); - - lastFractured = newLeaf; - pos = newBranch.getEndOffset(); + Element newChild = createLeafElement(edit.e, child.getAttributes(), + child.getStartOffset(), offset); + edit.added.add(newChild); } + edit.removed.add(child); + if (child.getEndOffset() != endOffset) + recreateLeafs = true; else - { - Element newLeaf = createLeafElement(paragraph, atts, start, - child.getEndOffset()); - Edit edit = getEditForParagraphAndIndex(paragraph, index); - edit.addAddedElement(newLeaf); - } + offsetLastIndex = true; } - - /** - * Splits an element if offset is not already at its - * boundary. - * - * @param el - * the Element to possibly split - * @param offset - * the offset at which to possibly split - * @param space - * the amount of space to create between the splitted parts - * @param editIndex - * the index of the edit to use - * @return An array of elements which represent the split result. This array - * has two elements, the two parts of the split. The first element - * might be null, which means that the element which should be - * splitted can remain in place. The second element might also be - * null, which means that the offset is already at an element - * boundary and the element doesn't need to be splitted. - */ - private Element[] split(Element el, int offset, int space, int editIndex) + + private void fracture(int depth) { - // If we are at an element boundary, then return an empty array. - if ((offset == el.getStartOffset() || offset == el.getEndOffset()) - && space == 0 && el.isLeaf()) - return new Element[2]; - - // If the element is an instance of BranchElement, then we - // recursivly - // call this method to perform the split. - Element[] res = new Element[2]; - if (el instanceof BranchElement) + int len = insertPath.length; + int lastIndex = -1; + boolean recreate = recreateLeafs; + Edit lastEdit = insertPath[len - 1]; + boolean childChanged = lastEdit.index + 1 < lastEdit.e.getElementCount(); + int deepestChangedIndex = recreate ? len : - 1; + int lastChangedIndex = len - 1; + createdFracture = true; + for (int i = len - 2; i >= 0; i--) { - int index = el.getElementIndex(offset); - Element child = el.getElement(index); - Element[] result = split(child, offset, space, editIndex); - Element[] removed; - Element[] added; - Element[] newAdded; - - int count = el.getElementCount(); - if (result[1] != null) + Edit edit = insertPath[i]; + if (edit.added.size() > 0 || i == depth) { - // This is the case when we can keep the first element. - if (result[0] == null) - { - removed = new Element[count - index - 1]; - newAdded = new Element[count - index - 1]; - added = new Element[] {}; - - } - // This is the case when we may not keep the first - // element. - else - { - removed = new Element[count - index]; - newAdded = new Element[count - index]; - added = new Element[] { result[0] }; - } - newAdded[0] = result[1]; - for (int i = index; i < count; i++) + lastIndex = i; + if (! recreate && childChanged) { - Element el2 = el.getElement(i); - int ind = i - count + removed.length; - removed[ind] = el2; - if (ind != 0) - newAdded[ind] = el2; + recreate = true; + if (deepestChangedIndex == -1) + deepestChangedIndex = lastChangedIndex + 1; } - - Edit edit = getEditForParagraphAndIndex((BranchElement) el, editIndex); - edit.addRemovedElements(removed); - edit.addAddedElements(added); - - BranchElement newPar = - (BranchElement) createBranchElement(el.getParentElement(), - el.getAttributes()); - newPar.replace(0, 0, newAdded); - res = new Element[] { null, newPar }; } - else + if (! childChanged && edit.index < edit.e.getElementCount()) { - removed = new Element[count - index]; - for (int i = index; i < count; ++i) - removed[i - index] = el.getElement(i); - - Edit edit = getEditForParagraphAndIndex((BranchElement) el, editIndex); - edit.addRemovedElements(removed); - - BranchElement newPar = (BranchElement) createBranchElement(el.getParentElement(), - el.getAttributes()); - newPar.replace(0, 0, removed); - res = new Element[] { null, newPar }; + childChanged = true; + lastChangedIndex = i; } } - else if (el instanceof LeafElement) + if (recreate) { - BranchElement par = (BranchElement) el.getParentElement(); - Element el1 = createLeafElement(par, el.getAttributes(), - el.getStartOffset(), offset); - - Element el2 = createLeafElement(par, el.getAttributes(), - offset + space, - el.getEndOffset()); - res = new Element[] { el1, el2 }; + if (lastIndex == -1) + lastIndex = len - 1; + recreate(lastIndex, deepestChangedIndex); } - return res; } - /** - * Inserts a fracture into the document structure. - * - * @param tag - - * the element spec. - */ - private void insertFracture(ElementSpec tag) + private void recreate(int startIndex, int endIndex) { - // insert the fracture at offset. - BranchElement parent = (BranchElement) elementStack.peek(); - int parentIndex = parent.getElementIndex(pos); - AttributeSet parentAtts = parent.getAttributes(); - Element toFracture = parent.getElement(parentIndex); - int parSize = parent.getElementCount(); - Edit edit = getEditForParagraphAndIndex(parent, parentIndex); - Element frac = toFracture; - int leftIns = 0; - int indexOfFrac = toFracture.getElementIndex(pos); - int size = toFracture.getElementCount(); - - // gets the leaf that falls along the fracture - frac = toFracture.getElement(indexOfFrac); - while (!frac.isLeaf()) - frac = frac.getElement(frac.getElementIndex(pos)); - - AttributeSet atts = frac.getAttributes(); - int fracStart = frac.getStartOffset(); - int fracEnd = frac.getEndOffset(); - if (pos >= fracStart && pos < fracEnd) + // Recreate the element representing the inserted index. + Edit edit = insertPath[startIndex]; + Element child; + Element newChild; + int changeLength = insertPath.length; + + if (startIndex + 1 == changeLength) + child = edit.e.getElement(edit.index); + else + child = edit.e.getElement(edit.index - 1); + + if(child.isLeaf()) + { + newChild = createLeafElement(edit.e, child.getAttributes(), + Math.max(endOffset, child.getStartOffset()), + child.getEndOffset()); + } + else { - // recreate left-side of branch and all its children before offset - // add the fractured leaves to the right branch - BranchElement rightBranch = - (BranchElement) createBranchElement(parent, parentAtts); - - // Check if left branch has already been edited. If so, we only - // need to create the right branch. - BranchElement leftBranch = null; - Element[] added = null; - if (edit.added.size() > 0 || edit.removed.size() > 0) + newChild = createBranchElement(edit.e, child.getAttributes()); + } + fracturedParent = edit.e; + fracturedChild = newChild; + + // Recreate all the elements to the right of the insertion point. + Element parent = newChild; + while (++startIndex < endIndex) + { + boolean isEnd = (startIndex + 1) == endIndex; + boolean isEndLeaf = (startIndex + 1) == changeLength; + + // Create the newChild, a duplicate of the elment at + // index. This isn't done if isEnd and offsetLastIndex are true + // indicating a join previous was done. + edit = insertPath[startIndex]; + + // Determine the child to duplicate, won't have to duplicate + // if at end of fracture, or offseting index. + if(isEnd) { - added = new Element[] { rightBranch }; - - // don't try to remove left part of tree - parentIndex++; + if(offsetLastIndex || ! isEndLeaf) + child = null; + else + child = edit.e.getElement(edit.index); } else { - leftBranch = - (BranchElement) createBranchElement(parent, parentAtts); - added = new Element[] { leftBranch, rightBranch }; - - // add fracture to leftBranch - if (fracStart != pos) - { - Element leftFracturedLeaf = - createLeafElement(leftBranch, atts, fracStart, pos); - leftBranch.replace(leftIns, 0, - new Element[] { leftFracturedLeaf }); - } + child = edit.e.getElement(edit.index - 1); } - if (!toFracture.isLeaf()) + // Duplicate it. + if(child != null) { - // add all non-fracture elements to the branches - if (indexOfFrac > 0 && leftBranch != null) + if(child.isLeaf()) { - Element[] add = new Element[indexOfFrac]; - for (int i = 0; i < indexOfFrac; i++) - add[i] = toFracture.getElement(i); - leftIns = add.length; - leftBranch.replace(0, 0, add); + newChild = createLeafElement(parent, child.getAttributes(), + Math.max(endOffset, child.getStartOffset()), + child.getEndOffset()); } - - int count = size - indexOfFrac - 1; - if (count > 0) + else { - Element[] add = new Element[count]; - int j = 0; - int i = indexOfFrac + 1; - while (j < count) - add[j++] = toFracture.getElement(i++); - rightBranch.replace(0, 0, add); + newChild = createBranchElement(parent, + child.getAttributes()); } } - - // add to fracture to rightBranch - // Check if we can join the right frac leaf with the next leaf - int rm = 0; - int end = fracEnd; - Element next = rightBranch.getElement(0); - if (next != null && next.isLeaf() - && next.getAttributes().isEqual(atts)) - { - end = next.getEndOffset(); - rm = 1; - } + else + newChild = null; - Element rightFracturedLeaf = createLeafElement(rightBranch, atts, - pos, end); - rightBranch.replace(0, rm, new Element[] { rightFracturedLeaf }); + // Recreate the remaining children (there may be none). + int childrenToMove = edit.e.getElementCount() - edit.index; + Element[] children; + int moveStartIndex; + int childStartIndex = 1; - // recreate those elements after parentIndex and add/remove all - // new/old elements to parent - int remove = parSize - parentIndex; - Element[] removed = new Element[0]; - Element[] added2 = new Element[0]; - if (remove > 0) - { - removed = new Element[remove]; - int s = 0; - for (int j = parentIndex; j < parSize; j++) - removed[s++] = parent.getElement(j); - edit.addRemovedElements(removed); - added2 = recreateAfterFracture(removed, parent, 1, - rightBranch.getEndOffset()); + if (newChild == null) + { + // Last part of fracture. + if (isEndLeaf) + { + childrenToMove--; + moveStartIndex = edit.index + 1; + } + else + { + moveStartIndex = edit.index; + } + childStartIndex = 0; + children = new Element[childrenToMove]; + } + else + { + if (! isEnd) + { + // Branch. + childrenToMove++; + moveStartIndex = edit.index; } - - edit.addAddedElements(added); - edit.addAddedElements(added2); - elementStack.push(rightBranch); - lastFractured = rightFracturedLeaf; + else + { + // Last leaf, need to recreate part of it. + moveStartIndex = edit.index + 1; + } + children = new Element[childrenToMove]; + children[0] = newChild; } - else - fracNotCreated = true; + + for (int c = childStartIndex; c < childrenToMove; c++) + { + Element toMove = edit.e.getElement(moveStartIndex++); + children[c] = recreateFracturedElement(parent, toMove); + edit.removed.add(toMove); + } + ((BranchElement) parent).replace(0, 0, children); + parent = newChild; + } + } - /** - * Recreates all the elements from the parent to the element on the top of - * the stack, starting from startFrom with the starting offset of - * startOffset. - * - * @param recreate - - * the elements to recreate - * @param parent - - * the element to add the new elements to - * @param startFrom - - * where to start recreating from - * @param startOffset - - * the offset of the first element - * @return the array of added elements - */ - private Element[] recreateAfterFracture(Element[] recreate, - BranchElement parent, int startFrom, - int startOffset) + private Element recreateFracturedElement(Element parent, Element toCopy) { - Element[] added = new Element[recreate.length - startFrom]; - int j = 0; - for (int i = startFrom; i < recreate.length; i++) + Element recreated; + if(toCopy.isLeaf()) { - Element curr = recreate[i]; - int len = curr.getEndOffset() - curr.getStartOffset(); - if (curr instanceof LeafElement) - added[j] = createLeafElement(parent, curr.getAttributes(), - startOffset, startOffset + len); - else + recreated = createLeafElement(parent, toCopy.getAttributes(), + Math.max(toCopy.getStartOffset(), endOffset), + toCopy.getEndOffset()); + } + else + { + Element newParent = createBranchElement(parent, + toCopy.getAttributes()); + int childCount = toCopy.getElementCount(); + Element[] newChildren = new Element[childCount]; + for (int i = 0; i < childCount; i++) { - BranchElement br = - (BranchElement) createBranchElement(parent, - curr.getAttributes()); - int bSize = curr.getElementCount(); - for (int k = 0; k < bSize; k++) - { - Element bCurr = curr.getElement(k); - Element[] add = recreateAfterFracture(new Element[] { bCurr }, br, 0, - startOffset); - br.replace(0, 0, add); - - } - added[j] = br; + newChildren[i] = recreateFracturedElement(newParent, + toCopy.getElement(i)); } - startOffset += len; - j++; + ((BranchElement) newParent).replace(0, 0, newChildren); + recreated = newParent; } - - return added; - } - } - - /** - * This method looks through the Vector of Edits to see if there is already an - * Edit object associated with the given paragraph. If there is, then we - * return it. Otherwise we create a new Edit object, add it to the vector, and - * return it. Note: this method is package private to avoid accessors. - * - * @param index - * the index associated with the Edit we want to create - * @param para - * the paragraph associated with the Edit we want - * @return the found or created Edit object - */ - Edit getEditForParagraphAndIndex(BranchElement para, int index) - { - Edit curr; - int size = edits.size(); - for (int i = 0; i < size; i++) - { - curr = (Edit) edits.elementAt(i); - if (curr.e.equals(para)) - return curr; - } - curr = new Edit(para, index, null, null); - edits.add(curr); - - return curr; - } - /** - * Instance of all editing information for an object in the Vector. This class - * is used to add information to the DocumentEvent associated with an - * insertion/removal/change as well as to store the changes that need to be - * made so they can be made all at the same (appropriate) time. - */ - class Edit - { - /** The element to edit . */ - Element e; - - /** The index of the change. */ - int index; - - /** The removed elements. */ - Vector removed = new Vector(); - - /** The added elements. */ - Vector added = new Vector(); - - /** - * Return an array containing the Elements that have been removed from the - * paragraph associated with this Edit. - * - * @return an array of removed Elements - */ - public Element[] getRemovedElements() - { - int size = removed.size(); - Element[] removedElements = new Element[size]; - for (int i = 0; i < size; i++) - removedElements[i] = (Element) removed.elementAt(i); - return removedElements; + return recreated; } - /** - * Return an array containing the Elements that have been added to the - * paragraph associated with this Edit. - * - * @return an array of added Elements - */ - public Element[] getAddedElements() + private boolean split(int offs, int len) { - int size = added.size(); - Element[] addedElements = new Element[size]; - for (int i = 0; i < size; i++) - addedElements[i] = (Element) added.elementAt(i); - return addedElements; - } - - /** - * Checks if e is already in the vector. - * - * @param e - the Element to look for - * @param v - the vector to search - * @return true if e is in v. - */ - private boolean contains(Vector v, Element e) - { - if (e == null) - return false; - - int i = v.size(); - for (int j = 0; j < i; j++) + boolean splitEnd = false; + // Push the path to the stack. + Element e = root; + int index = e.getElementIndex(offs); + while (! e.isLeaf()) { - Element e1 = (Element) v.get(j); - if ((e1 != null) && (e1.getAttributes().isEqual(e.getAttributes())) - && (e1.getName().equals(e.getName())) - && (e1.getStartOffset() == e.getStartOffset()) - && (e1.getEndOffset() == e.getEndOffset()) - && (e1.getParentElement().equals(e.getParentElement())) - && (e1.getElementCount() == e.getElementCount())) - return true; + elementStack.push(new Edit(e, index)); + e = e.getElement(index); + index = e.getElementIndex(offs); } - return false; - } - /** - * Adds one Element to the vector of removed Elements. - * - * @param e - * the Element to add - */ - public void addRemovedElement(Element e) - { - if (!contains(removed, e)) - removed.add(e); - } - - /** - * Adds each Element in the given array to the vector of removed Elements - * - * @param e - * the array containing the Elements to be added - */ - public void addRemovedElements(Element[] e) - { - if (e == null || e.length == 0) - return; - for (int i = 0; i < e.length; i++) + Edit ec = (Edit) elementStack.peek(); + Element child = ec.e.getElement(ec.index); + // Make sure there is something to do. If the + // offset is already at a boundary then there is + // nothing to do. + if (child.getStartOffset() < offs && offs < child.getEndOffset()) { - if (!contains(removed, e[i])) - removed.add(e[i]); - } - } + // We need to split, now see if the other end is within + // the same parent. + int index0 = ec.index; + int index1 = index0; + if (((offs + len) < ec.e.getEndOffset()) && (len != 0)) + { + // It's a range split in the same parent. + index1 = ec.e.getElementIndex(offs+len); + if (index1 == index0) + { + // It's a three-way split. + ec.removed.add(child); + e = createLeafElement(ec.e, child.getAttributes(), + child.getStartOffset(), offs); + ec.added.add(e); + e = createLeafElement(ec.e, child.getAttributes(), + offs, offs + len); + ec.added.add(e); + e = createLeafElement(ec.e, child.getAttributes(), + offs + len, child.getEndOffset()); + ec.added.add(e); + return true; + } + else + { + child = ec.e.getElement(index1); + if ((offs + len) == child.getStartOffset()) + { + // End is already on a boundary. + index1 = index0; + } + } + splitEnd = true; + } - /** - * Adds one Element to the vector of added Elements. - * - * @param e - * the Element to add - */ - public void addAddedElement(Element e) - { - if (!contains(added, e)) - added.add(e); - } + // Split the first location. + pos = offs; + child = ec.e.getElement(index0); + ec.removed.add(child); + e = createLeafElement(ec.e, child.getAttributes(), + child.getStartOffset(), pos); + ec.added.add(e); + e = createLeafElement(ec.e, child.getAttributes(), + pos, child.getEndOffset()); + ec.added.add(e); + + // Pick up things in the middle. + for (int i = index0 + 1; i < index1; i++) + { + child = ec.e.getElement(i); + ec.removed.add(child); + ec.added.add(child); + } - /** - * Adds each Element in the given array to the vector of added Elements. - * - * @param e - * the array containing the Elements to be added - */ - public void addAddedElements(Element[] e) - { - if (e == null || e.length == 0) - return; - for (int i = 0; i < e.length; i++) - { - if (!contains(added, e[i])) - added.add(e[i]); + if (index1 != index0) + { + child = ec.e.getElement(index1); + pos = offs + len; + ec.removed.add(child); + e = createLeafElement(ec.e, child.getAttributes(), + child.getStartOffset(), pos); + ec.added.add(e); + e = createLeafElement(ec.e, child.getAttributes(), + pos, child.getEndOffset()); + + ec.added.add(e); + } } + return splitEnd; + } - /** - * Creates a new Edit object with the given parameters - * - * @param e - * the paragraph Element associated with this Edit - * @param i - * the index within the paragraph where changes are started - * @param removed - * an array containing Elements that should be removed from the - * paragraph Element - * @param added - * an array containing Elements that should be added to the - * paragraph Element - */ - public Edit(Element e, int i, Element[] removed, Element[] added) - { - this.e = e; - this.index = i; - addRemovedElements(removed); - addAddedElements(added); - } } + /** * An element type for sections. This is a simple BranchElement with a unique * name. @@ -1673,11 +1716,6 @@ public class DefaultStyledDocument extends AbstractDocument implements */ private StyleChangeListener styleChangeListener; - /** - * Vector that contains all the edits. Maybe replace by a HashMap. - */ - Vector edits = new Vector(); - /** * Creates a new DefaultStyledDocument. */ @@ -1939,7 +1977,6 @@ public class DefaultStyledDocument extends AbstractDocument implements // start and ends at an element end. buffer.change(offset, length, ev); - Element root = getDefaultRootElement(); // Visit all paragraph elements within the specified interval int end = offset + length; Element curr; @@ -2079,147 +2116,220 @@ public class DefaultStyledDocument extends AbstractDocument implements */ protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { - super.insertUpdate(ev, attr); - // If the attribute set is null, use an empty attribute set. + int offs = ev.getOffset(); + int len = ev.getLength(); + int endOffs = offs + len; if (attr == null) attr = SimpleAttributeSet.EMPTY; - int offset = ev.getOffset(); - int length = ev.getLength(); - int endOffset = offset + length; - AttributeSet paragraphAttributes = getParagraphElement(endOffset).getAttributes(); - Segment txt = new Segment(); + + // Paragraph attributes are fetched from the point _after_ the insertion. + Element paragraph = getParagraphElement(endOffs); + AttributeSet pAttr = paragraph.getAttributes(); + // Character attributes are fetched from the actual insertion point. + Element paragraph2 = getParagraphElement(offs); + int contIndex = paragraph2.getElementIndex(offs); + Element content = paragraph2.getElement(contIndex); + AttributeSet cAttr = content.getAttributes(); + + boolean insertAtBoundary = content.getEndOffset() == endOffs; try { - getText(offset, length, txt); - } - catch (BadLocationException ex) - { - AssertionError ae = new AssertionError("Unexpected bad location"); - ae.initCause(ex); - throw ae; - } + Segment s = new Segment(); + ArrayList buf = new ArrayList(); + ElementSpec lastStartTag = null; + boolean insertAfterNewline = false; + short lastStartDir = ElementSpec.OriginateDirection; + + // Special handle if we are inserting after a newline. + if (offs > 0) + { + getText(offs - 1, 1, s); + if (s.array[s.offset] == '\n') + { + insertAfterNewline = true; + lastStartDir = insertAfterNewline(paragraph, paragraph2, + pAttr, buf, offs, + endOffs); + // Search last start tag. + for (int i = buf.size() - 1; i >= 0 && lastStartTag == null; + i--) + { + ElementSpec tag = (ElementSpec) buf.get(i); + if (tag.getType() == ElementSpec.StartTagType) + { + lastStartTag = tag; + } + } + } - int len = 0; - Vector specs = new Vector(); - ElementSpec finalStartTag = null; - short finalStartDirection = ElementSpec.OriginateDirection; - boolean prevCharWasNewline = false; - Element prev = getCharacterElement(offset); - Element next = getCharacterElement(endOffset); - Element prevParagraph = getParagraphElement(offset); - Element paragraph = getParagraphElement(endOffset); + } - int segmentEnd = txt.offset + txt.count; + // If we are not inserting after a newline, the paragraph attributes + // come from the paragraph under the insertion point. + if (! insertAfterNewline) + pAttr = paragraph2.getAttributes(); - // Check to see if we're inserting immediately after a newline. - if (offset > 0) - { - try + // Scan text and build up the specs. + getText(offs, len, s); + int end = s.offset + s.count; + int last = s.offset; + for (int i = s.offset; i < end; i++) { - String s = getText(offset - 1, 1); - if (s.equals("\n")) + if (s.array[i] == '\n') { - finalStartDirection = handleInsertAfterNewline(specs, offset, - endOffset, - prevParagraph, - paragraph, - paragraphAttributes); - - prevCharWasNewline = true; - // Find the final start tag from the ones just created. - for (int i = 0; i < specs.size(); i++) - if (((ElementSpec) specs.get(i)).getType() == ElementSpec.StartTagType) - finalStartTag = (ElementSpec) specs.get(i); + int breakOffs = i + 1; + buf.add(new ElementSpec(attr, ElementSpec.ContentType, + breakOffs - last)); + buf.add(new ElementSpec(null, ElementSpec.EndTagType)); + lastStartTag = new ElementSpec(pAttr, + ElementSpec.StartTagType); + buf.add(lastStartTag); + last = breakOffs; } } - catch (BadLocationException ble) + + // Need to add a tailing content tag if we didn't finish at a boundary. + if (last < end) { - // This shouldn't happen. - AssertionError ae = new AssertionError(); - ae.initCause(ble); - throw ae; + buf.add(new ElementSpec(attr, ElementSpec.ContentType, + end - last)); } - } - for (int i = txt.offset; i < segmentEnd; ++i) - { - len++; - if (txt.array[i] == '\n') + // Now we need to fix up the directions of the specs. + ElementSpec first = (ElementSpec) buf.get(0); + int doclen = getLength(); + + // Maybe join-previous the first tag if it is content and has + // the same attributes as the previous character run. + if (first.getType() == ElementSpec.ContentType && cAttr.isEqual(attr)) + first.setDirection(ElementSpec.JoinPreviousDirection); + + // Join-fracture or join-next the last start tag if necessary. + if (lastStartTag != null) + { + if (insertAfterNewline) + lastStartTag.setDirection(lastStartDir); + else if (paragraph2.getEndOffset() != endOffs) + lastStartTag.setDirection(ElementSpec.JoinFractureDirection); + else + { + Element par = paragraph2.getParentElement(); + int par2Index = par.getElementIndex(offs); + if (par2Index + 1 < par.getElementCount() + && ! par.getElement(par2Index + 1).isLeaf()) + lastStartTag.setDirection(ElementSpec.JoinNextDirection); + } + } + + // Join-next last tag if possible. + if (insertAtBoundary && endOffs < doclen) { - // Add the ElementSpec for the content. - specs.add(new ElementSpec(attr, ElementSpec.ContentType, len)); - - // Add ElementSpecs for the newline. - specs.add(new ElementSpec(null, ElementSpec.EndTagType)); - finalStartTag = new ElementSpec(paragraphAttributes, - ElementSpec.StartTagType); - specs.add(finalStartTag); - len = 0; + ElementSpec lastTag = (ElementSpec) buf.get(buf.size() - 1); + if (lastTag.getType() == ElementSpec.ContentType + && ((lastStartTag == null + && (paragraph == paragraph2 || insertAfterNewline)) + || (lastStartTag != null + && lastStartTag.getDirection() != ElementSpec.OriginateDirection))) + { + int nextIndex = paragraph.getElementIndex(endOffs); + Element nextRun = paragraph.getElement(nextIndex); + if (nextRun.isLeaf() && attr.isEqual(nextRun.getAttributes())) + lastTag.setDirection(ElementSpec.JoinNextDirection); + } + } + + else if (! insertAtBoundary && lastStartTag != null + && lastStartTag.getDirection() == ElementSpec.JoinFractureDirection) + { + ElementSpec lastTag = (ElementSpec) buf.get(buf.size() - 1); + if (lastTag.getType() == ElementSpec.ContentType + && lastTag.getDirection() != ElementSpec.JoinPreviousDirection + && attr.isEqual(cAttr)) + { + lastTag.setDirection(ElementSpec.JoinNextDirection); + } } - } - // Create last element if last character hasn't been a newline. - if (len > 0) - specs.add(new ElementSpec(attr, ElementSpec.ContentType, len)); + ElementSpec[] specs = new ElementSpec[buf.size()]; + specs = (ElementSpec[]) buf.toArray(specs); + buffer.insert(offs, len, specs, ev); + } + catch (BadLocationException ex) + { + // Ignore this. Comment out for debugging. + ex.printStackTrace(); + } + super.insertUpdate(ev, attr); + } - // Set the direction of the last spec of type StartTagType. - // If we are inserting after a newline then this value comes from - // handleInsertAfterNewline. - if (finalStartTag != null) + private short insertAfterNewline(Element par1, Element par2, + AttributeSet attr, ArrayList buf, + int offs, int endOffs) + { + short dir = 0; + if (par1.getParentElement() == par2.getParentElement()) { - if (prevCharWasNewline) - finalStartTag.setDirection(finalStartDirection); - else if (prevParagraph.getEndOffset() != endOffset) - finalStartTag.setDirection(ElementSpec.JoinFractureDirection); + ElementSpec tag = new ElementSpec(attr, ElementSpec.EndTagType); + buf.add(tag); + tag = new ElementSpec(attr, ElementSpec.StartTagType); + buf.add(tag); + if (par2.getEndOffset() != endOffs) + dir = ElementSpec.JoinFractureDirection; else { - // If there is an element AFTER this one, then set the - // direction to JoinNextDirection. - Element parent = prevParagraph.getParentElement(); - int index = parent.getElementIndex(offset); - if (index + 1 < parent.getElementCount() - && !parent.getElement(index + 1).isLeaf()) - finalStartTag.setDirection(ElementSpec.JoinNextDirection); + Element par = par2.getParentElement(); + if (par.getElementIndex(offs) + 1 < par.getElementCount()) + dir = ElementSpec.JoinNextDirection; } } - - // If we are at the last index, then check if we could probably be - // joined with the next element. - // This means: - // - we must be a ContentTag - // - if there is a next Element, we must have the same attributes - // - if there is no next Element, but one will be created, - // we must have the same attributes as the higher-level run. - ElementSpec last = (ElementSpec) specs.lastElement(); - if (last.getType() == ElementSpec.ContentType) + else { - Element currentRun = prevParagraph.getElement(prevParagraph.getElementIndex(offset)); - if (currentRun.getEndOffset() == endOffset) + // For text with more than 2 levels, find the common parent of + // par1 and par2. + ArrayList parentsLeft = new ArrayList(); + ArrayList parentsRight = new ArrayList(); + Element e = par2; + while (e != null) { - if (endOffset < getLength() && next.getAttributes().isEqual(attr) - && last.getType() == ElementSpec.ContentType) - last.setDirection(ElementSpec.JoinNextDirection); + parentsLeft.add(e); + e = e.getParentElement(); } - else + e = par1; + int leftIndex = -1; + while (e != null && (leftIndex = parentsLeft.indexOf(e)) == 1) { - if (finalStartTag != null - && finalStartTag.getDirection() == ElementSpec.JoinFractureDirection - && currentRun.getAttributes().isEqual(attr)) + parentsRight.add(e); + e = e.getParentElement(); + } + + if (e != null) + + { + // e is now the common parent. + // Insert the end tags. + for (int c = 0; c < leftIndex; c++) + { + buf.add(new ElementSpec(null, ElementSpec.EndTagType)); + } + // Insert the start tags. + for (int c = parentsRight.size() - 1; c >= 0; c--) { - last.setDirection(ElementSpec.JoinNextDirection); + Element el = (Element) parentsRight.get(c); + ElementSpec tag = new ElementSpec(el.getAttributes(), + ElementSpec.StartTagType); + if (c > 0) + tag.setDirection(ElementSpec.JoinNextDirection); + buf.add(tag); } + if (parentsRight.size() > 0) + dir = ElementSpec.JoinNextDirection; + else + dir = ElementSpec.JoinFractureDirection; } + else + assert false; } - - // If we are at the first new element, then check if it could be - // joined with the previous element. - ElementSpec first = (ElementSpec) specs.firstElement(); - if (prev.getAttributes().isEqual(attr) - && first.getType() == ElementSpec.ContentType) - first.setDirection(ElementSpec.JoinPreviousDirection); - - ElementSpec[] elSpecs = (ElementSpec[]) specs.toArray(new ElementSpec[specs.size()]); - buffer.insert(offset, length, elSpecs, ev); + return dir; } /** @@ -2267,7 +2377,7 @@ public class DefaultStyledDocument extends AbstractDocument implements * * @return an enumeration of all style names */ - public Enumeration getStyleNames() + public Enumeration getStyleNames() { StyleContext context = (StyleContext) getAttributeContext(); return context.getStyleNames(); @@ -2322,18 +2432,24 @@ public class DefaultStyledDocument extends AbstractDocument implements if (length == 0) return; - UndoableEdit edit = content.insertString(offset, - contentBuffer.toString()); + Content c = getContent(); + UndoableEdit edit = c.insertString(offset, + contentBuffer.toString()); // Create the DocumentEvent with the ElementEdit added DefaultDocumentEvent ev = new DefaultDocumentEvent(offset, length, DocumentEvent.EventType.INSERT); + ev.addEdit(edit); // Finally we must update the document structure and fire the insert // update event. buffer.insert(offset, length, data, ev); + + super.insertUpdate(ev, null); + + ev.end(); fireInsertUpdate(ev); fireUndoableEditUpdate(new UndoableEditEvent(this, ev)); } @@ -2353,14 +2469,16 @@ public class DefaultStyledDocument extends AbstractDocument implements */ protected void create(ElementSpec[] data) { - writeLock(); try { + // Clear content if there is some. int len = getLength(); if (len > 0) remove(0, len); + writeLock(); + // Now we insert the content. StringBuilder b = new StringBuilder(); for (int i = 0; i < data.length; ++i) @@ -2372,38 +2490,18 @@ public class DefaultStyledDocument extends AbstractDocument implements Content content = getContent(); UndoableEdit cEdit = content.insertString(0, b.toString()); + len = b.length(); DefaultDocumentEvent ev = new DefaultDocumentEvent(0, b.length(), DocumentEvent.EventType.INSERT); ev.addEdit(cEdit); - // We do a little trick here to get the new structure: We instantiate - // a new ElementBuffer with a new root element, insert into that root - // and then reparent the newly created elements to the old root - // element. - BranchElement createRoot = - (BranchElement) createBranchElement(null, null); - Element dummyLeaf = createLeafElement(createRoot, null, 0, 1); - createRoot.replace(0, 0, new Element[]{ dummyLeaf }); - ElementBuffer createBuffer = new ElementBuffer(createRoot); - createBuffer.insert(0, b.length(), data, new DefaultDocumentEvent(0, b.length(), DocumentEvent.EventType.INSERT)); - // Now the new root is the first child of the createRoot. - Element newRoot = createRoot.getElement(0); - BranchElement root = (BranchElement) getDefaultRootElement(); - Element[] added = new Element[newRoot.getElementCount()]; - for (int i = 0; i < added.length; ++i) - { - added[i] = newRoot.getElement(i); - ((AbstractElement) added[i]).element_parent = root; - } - Element[] removed = new Element[root.getElementCount()]; - for (int i = 0; i < removed.length; ++i) - removed[i] = root.getElement(i); + buffer.create(len, data, ev); - // Replace the old elements in root with the new and update the event. - root.replace(0, removed.length, added); - ev.addEdit(new ElementEdit(root, 0, removed, added)); + // For the bidi update. + super.insertUpdate(ev, null); + ev.end(); fireInsertUpdate(ev); fireUndoableEditUpdate(new UndoableEditEvent(this, ev)); } diff --git a/libjava/classpath/javax/swing/text/ElementIterator.java b/libjava/classpath/javax/swing/text/ElementIterator.java index a6a5ff618bd..112d55e96d0 100644 --- a/libjava/classpath/javax/swing/text/ElementIterator.java +++ b/libjava/classpath/javax/swing/text/ElementIterator.java @@ -37,6 +37,8 @@ exception statement from your version. */ package javax.swing.text; +import java.util.Stack; + /** * This class can be used to iterate over the {@link Element} tree of * a {@link Document} or an {@link Element}. This iterator performs @@ -46,20 +48,41 @@ package javax.swing.text; */ public class ElementIterator implements Cloneable { + /** + * Uses to track the iteration on the stack. + */ + private class ElementRef + { + /** + * The element. + */ + Element element; + + /** + * The child index. -1 means the element itself. >= 0 values mean the + * n-th child of the element. + */ + int index; + + /** + * Creates a new ElementRef. + * + * @param el the element + */ + ElementRef(Element el) + { + element = el; + index = -1; + } + } + // The root element. private Element root; - // The current element. - private Element currentElement; - // The depth to which we have descended in the tree. - private int currentDepth; - - // This is at least as big as the current depth, and at index N - // contains the index of the child element we're currently - // examining. - private int[] state; - // The previous item. - private Element previousItem; + /** + * Holds ElementRefs. + */ + private Stack stack; /** * Create a new ElementIterator to iterate over the given document. @@ -67,9 +90,7 @@ public class ElementIterator implements Cloneable */ public ElementIterator(Document document) { - this.root = document.getDefaultRootElement(); - this.currentElement = root; - this.state = new int[5]; + root = document.getDefaultRootElement(); } /** @@ -79,8 +100,6 @@ public class ElementIterator implements Cloneable public ElementIterator(Element root) { this.root = root; - this.currentElement = root; - this.state = new int[5]; } /** @@ -105,7 +124,24 @@ public class ElementIterator implements Cloneable */ public Element current() { - return currentElement; + Element current; + if (stack == null) + current = first(); + else + { + current = null; + if (! stack.isEmpty()) + { + ElementRef ref = (ElementRef) stack.peek(); + Element el = ref.element; + int index = ref.index; + if (index == -1) + current = el; + else + current = el.getElement(index); + } + } + return current; } /** @@ -113,7 +149,10 @@ public class ElementIterator implements Cloneable */ public int depth() { - return currentDepth; + int depth = 0; + if (stack != null) + depth = stack.size(); + return depth; } /** @@ -121,11 +160,15 @@ public class ElementIterator implements Cloneable */ public Element first() { - // Reset the iterator. - currentElement = root; - currentDepth = 0; - previousItem = null; - return root; + Element first = null; + if (root != null) + { + stack = new Stack(); + if (root.getElementCount() > 0) + stack.push(new ElementRef(root)); + first = root; + } + return first; } /** @@ -134,48 +177,96 @@ public class ElementIterator implements Cloneable */ public Element next() { - previousItem = currentElement; - if (currentElement == null) - return null; - if (! currentElement.isLeaf()) + Element next; + if (stack == null) + next = first(); + else { - ++currentDepth; - if (currentDepth > state.length) - { - int[] newState = new int[state.length * 2]; - System.arraycopy(state, 0, newState, 0, state.length); - state = newState; - } - state[currentDepth] = 0; - currentElement = currentElement.getElement(0); - return currentElement; + next = null; + if (! stack.isEmpty()) + { + ElementRef ref = (ElementRef) stack.peek(); + Element el = ref.element; + int index = ref.index; + if (el.getElementCount() > index + 1) + { + Element child = el.getElement(index + 1); + if (child.isLeaf()) + ref.index++; + else + stack.push(new ElementRef(child)); + next = child; + next = child; + } + else + { + stack.pop(); + if (! stack.isEmpty()) + { + ElementRef top = (ElementRef) stack.peek(); + top.index++; + next = next(); + } + } + } + // else return null. } + return next; + } - while (currentDepth > 0) + /** + * Returns the previous item. Does not modify the iterator state. + */ + public Element previous() + { + Element previous = null; + int stackSize; + if (stack != null && (stackSize = stack.size()) > 0) { - // At a leaf, or done with a non-leaf's children, so go up a - // level. - --currentDepth; - currentElement = currentElement.getParentElement(); - ++state[currentDepth]; - if (state[currentDepth] < currentElement.getElementCount()) - { - currentElement = currentElement.getElement(state[currentDepth]); - return currentElement; - } + ElementRef ref = (ElementRef) stack.peek(); + Element el = ref.element; + int index = ref.index; + if (index > 0) + { + previous = deepestLeaf(el.getElement(--index)); + } + else if (index == 0) + { + previous = el; + } + else if (index == -1) + { + ElementRef top = (ElementRef) stack.pop(); + ElementRef item = (ElementRef) stack.peek(); + stack.push(top); + index = item.index; + el = item.element; + previous = index == -1 ? el : deepestLeaf(el.getElement(index)); + } } - - currentElement = null; - return currentElement; + return previous; } /** - * Returns the previous item. Does not modify the iterator state. + * Determines and returns the deepest leaf of the element el. + * + * @param el the base element + * + * @returnthe deepest leaf of the element el */ - public Element previous() + private Element deepestLeaf(Element el) { - if (currentElement == null || currentElement == root) - return null; - return previousItem; + Element leaf; + if (el.isLeaf()) + leaf = el; + else + { + int count = el.getElementCount(); + if (count == 0) + leaf = el; + else + leaf = deepestLeaf(el.getElement(count - 1)); + } + return leaf; } } diff --git a/libjava/classpath/javax/swing/text/FieldView.java b/libjava/classpath/javax/swing/text/FieldView.java index f41f9013092..0a078e53dca 100644 --- a/libjava/classpath/javax/swing/text/FieldView.java +++ b/libjava/classpath/javax/swing/text/FieldView.java @@ -45,8 +45,6 @@ import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; import java.awt.Shape; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import javax.swing.BoundedRangeModel; import javax.swing.JTextField; @@ -225,7 +223,7 @@ public class FieldView extends PlainView public int getResizeWeight(int axis) { - return axis = axis == X_AXIS ? 1 : 0; + return axis == X_AXIS ? 1 : 0; } public Shape modelToView(int pos, Shape a, Position.Bias bias) diff --git a/libjava/classpath/javax/swing/text/FlowView.java b/libjava/classpath/javax/swing/text/FlowView.java index 3de95ed7f8d..c2bed399f3a 100644 --- a/libjava/classpath/javax/swing/text/FlowView.java +++ b/libjava/classpath/javax/swing/text/FlowView.java @@ -38,6 +38,8 @@ exception statement from your version. */ package javax.swing.text; +import java.awt.Component; +import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Shape; @@ -85,7 +87,17 @@ public abstract class FlowView extends BoxView */ public void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) { - // The default implementation does nothing. + if (alloc == null) + { + fv.layoutChanged(X_AXIS); + fv.layoutChanged(Y_AXIS); + } + else + { + Component host = fv.getContainer(); + if (host != null) + host.repaint(alloc.x, alloc.y, alloc.width, alloc.height); + } } /** @@ -101,7 +113,17 @@ public abstract class FlowView extends BoxView */ public void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) { - // The default implementation does nothing. + if (alloc == null) + { + fv.layoutChanged(X_AXIS); + fv.layoutChanged(Y_AXIS); + } + else + { + Component host = fv.getContainer(); + if (host != null) + host.repaint(alloc.x, alloc.y, alloc.width, alloc.height); + } } /** @@ -117,7 +139,17 @@ public abstract class FlowView extends BoxView */ public void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) { - // The default implementation does nothing. + if (alloc == null) + { + fv.layoutChanged(X_AXIS); + fv.layoutChanged(Y_AXIS); + } + else + { + Component host = fv.getContainer(); + if (host != null) + host.repaint(alloc.x, alloc.y, alloc.width, alloc.height); + } } /** @@ -143,18 +175,35 @@ public abstract class FlowView extends BoxView */ public void layout(FlowView fv) { + int start = fv.getStartOffset(); + int end = fv.getEndOffset(); + + // Preserve the views from the logical view from beeing removed. + View lv = getLogicalView(fv); + int viewCount = lv.getViewCount(); + for (int i = 0; i < viewCount; i++) + { + View v = lv.getView(i); + v.setParent(lv); + } + + // Then remove all views from the flow view. fv.removeAll(); - Element el = fv.getElement(); - int rowStart = el.getStartOffset(); - int end = el.getEndOffset(); - int rowIndex = 0; - while (rowStart >= 0 && rowStart < end) + for (int rowIndex = 0; start < end; rowIndex++) { View row = fv.createRow(); fv.append(row); - rowStart = layoutRow(fv, rowIndex, rowStart); - rowIndex++; + int next = layoutRow(fv, rowIndex, start); + if (row.getViewCount() == 0) + { + row.append(createView(fv, start, Integer.MAX_VALUE, rowIndex)); + next = row.getEndOffset(); + } + if (start < next) + start = next; + else + assert false: "May not happen"; } } @@ -179,46 +228,69 @@ public abstract class FlowView extends BoxView int axis = fv.getFlowAxis(); int span = fv.getFlowSpan(rowIndex); int x = fv.getFlowStart(rowIndex); - int offset = pos; - View logicalView = getLogicalView(fv); - // Special case when span == 0. We need to layout the row as if it had - // a span of Integer.MAX_VALUE. - if (span == 0) - span = Integer.MAX_VALUE; - - Row: while (span > 0) + int end = fv.getEndOffset(); + + // Needed for adjusting indentation in adjustRow(). + int preX = x; + int availableSpan = span; + + TabExpander tabExp = fv instanceof TabExpander ? (TabExpander) fv : null; + + boolean forcedBreak = false; + while (pos < end && span >= 0) { - if (logicalView.getViewIndex(offset, Position.Bias.Forward) == - 1) - break; - View view = createView(fv, offset, span, rowIndex); - if (view == null) + View view = createView(fv, pos, span, rowIndex); + if (view == null + || (span == 0 && view.getPreferredSpan(axis) > 0)) break; - int viewSpan = (int) view.getPreferredSpan(axis); - int breakWeight = view.getBreakWeight(axis, x, span); - - row.append(view); - offset += (view.getEndOffset() - view.getStartOffset()); - x += viewSpan; - span -= viewSpan; + int viewSpan; + if (axis == X_AXIS && view instanceof TabableView) + viewSpan = (int) ((TabableView) view).getTabbedSpan(x, tabExp); + else + viewSpan = (int) view.getPreferredSpan(axis); // Break if the line if the view does not fit in this row or the // line just must be broken. - if (span < 0 || breakWeight >= View.ForcedBreakWeight) + int breakWeight = view.getBreakWeight(axis, pos, span); + if (breakWeight >= ForcedBreakWeight) { - int flowStart = fv.getFlowStart(axis); - int flowSpan = fv.getFlowSpan(axis); - adjustRow(fv, rowIndex, flowSpan, flowStart); int rowViewCount = row.getViewCount(); if (rowViewCount > 0) - offset = row.getView(rowViewCount - 1).getEndOffset(); - else - offset = - 1; - break Row; + { + view = view.breakView(axis, pos, x, span); + if (view != null) + { + if (axis == X_AXIS && view instanceof TabableView) + viewSpan = + (int) ((TabableView) view).getTabbedSpan(x, tabExp); + else + viewSpan = (int) view.getPreferredSpan(axis); + } + else + viewSpan = 0; + } + forcedBreak = true; + } + span -= viewSpan; + x += viewSpan; + if (view != null) + { + row.append(view); + pos = view.getEndOffset(); } + if (forcedBreak) + break; } - return offset != pos ? offset : - 1; + if (span < 0) + adjustRow(fv, rowIndex, availableSpan, preX); + else if (row.getViewCount() == 0) + { + View view = createView(fv, pos, Integer.MAX_VALUE, rowIndex); + row.append(view); + } + return row.getEndOffset(); } /** @@ -246,15 +318,11 @@ public abstract class FlowView extends BoxView int rowIndex) { View logicalView = getLogicalView(fv); - // FIXME: Handle the bias thing correctly. - int index = logicalView.getViewIndex(startOffset, Position.Bias.Forward); - View retVal = null; - if (index >= 0) - { - retVal = logicalView.getView(index); - if (retVal.getStartOffset() != startOffset) - retVal = retVal.createFragment(startOffset, retVal.getEndOffset()); - } + int index = logicalView.getViewIndex(startOffset, + Position.Bias.Forward); + View retVal = logicalView.getView(index); + if (retVal.getStartOffset() != startOffset) + retVal = retVal.createFragment(startOffset, retVal.getEndOffset()); return retVal; } @@ -279,37 +347,82 @@ public abstract class FlowView extends BoxView View row = fv.getView(rowIndex); int count = row.getViewCount(); int breakIndex = -1; - int maxBreakWeight = View.BadBreakWeight; - int breakX = x; - int breakSpan = desiredSpan; - int currentX = x; - int currentSpan = desiredSpan; + int breakWeight = BadBreakWeight; + int breakSpan = 0; + int currentSpan = 0; for (int i = 0; i < count; ++i) { View view = row.getView(i); - int weight = view.getBreakWeight(axis, currentX, currentSpan); - if (weight >= maxBreakWeight) + int spanLeft = desiredSpan - currentSpan; + int weight = view.getBreakWeight(axis, x + currentSpan, spanLeft); + if (weight >= breakWeight && weight > BadBreakWeight) { breakIndex = i; - breakX = currentX; breakSpan = currentSpan; - maxBreakWeight = weight; + breakWeight = weight; + if (weight >= ForcedBreakWeight) + // Don't search further. + break; } - int size = (int) view.getPreferredSpan(axis); - currentX += size; - currentSpan -= size; + currentSpan += view.getPreferredSpan(axis); } // If there is a potential break location found, break the row at // this location. - if (breakIndex > -1) + if (breakIndex >= 0) { + int spanLeft = desiredSpan - breakSpan; View toBeBroken = row.getView(breakIndex); View brokenView = toBeBroken.breakView(axis, toBeBroken.getStartOffset(), - breakX, breakSpan); + x + breakSpan, spanLeft); + View lv = getLogicalView(fv); + for (int i = breakIndex; i < count; i++) + { + View tmp = row.getView(i); + if (contains(lv, tmp)) + tmp.setParent(lv); + else if (tmp.getViewCount() > 0) + reparent(tmp, lv); + } row.replace(breakIndex, count - breakIndex, - new View[]{brokenView}); + new View[]{ brokenView }); + } + + } + + /** + * Helper method to determine if one view contains another as child. + */ + private boolean contains(View view, View child) + { + boolean ret = false; + int n = view.getViewCount(); + for (int i = 0; i < n && ret == false; i++) + { + if (view.getView(i) == child) + ret = true; + } + return ret; + } + + /** + * Helper method that reparents the view and all of its + * decendents to the parent (the logical view). + * + * @param view the view to reparent + * @param parent the new parent + */ + private void reparent(View view, View parent) + { + int n = view.getViewCount(); + for (int i = 0; i < n; i++) + { + View tmp = view.getView(i); + if (contains(parent, tmp)) + tmp.setParent(parent); + else + reparent(tmp, parent); } } } @@ -320,14 +433,135 @@ public abstract class FlowView extends BoxView * visual representation, this is handled by the physical view implemented * in the FlowView. */ - class LogicalView extends BoxView + class LogicalView extends CompositeView { /** * Creates a new LogicalView instance. */ - LogicalView(Element el, int axis) + LogicalView(Element el) + { + super(el); + } + + /** + * Overridden to return the attributes of the parent + * (== the FlowView instance). + */ + public AttributeSet getAttributes() + { + View p = getParent(); + return p != null ? p.getAttributes() : null; + } + + protected void childAllocation(int index, Rectangle a) + { + // Nothing to do here (not visual). + } + + protected View getViewAtPoint(int x, int y, Rectangle r) + { + // Nothing to do here (not visual). + return null; + } + + protected boolean isAfter(int x, int y, Rectangle r) + { + // Nothing to do here (not visual). + return false; + } + + protected boolean isBefore(int x, int y, Rectangle r) + { + // Nothing to do here (not visual). + return false; + } + + public float getPreferredSpan(int axis) + { + float max = 0; + float pref = 0; + int n = getViewCount(); + for (int i = 0; i < n; i++) + { + View v = getView(i); + pref += v.getPreferredSpan(axis); + if (v.getBreakWeight(axis, 0, Integer.MAX_VALUE) + >= ForcedBreakWeight) + { + max = Math.max(max, pref); + pref = 0; + } + } + max = Math.max(max, pref); + return max; + } + + public float getMinimumSpan(int axis) + { + float max = 0; + float min = 0; + boolean wrap = true; + int n = getViewCount(); + for (int i = 0; i < n; i++) + { + View v = getView(i); + if (v.getBreakWeight(axis, 0, Integer.MAX_VALUE) + == BadBreakWeight) + { + min += v.getPreferredSpan(axis); + wrap = false; + } + else if (! wrap) + { + max = Math.max(min, max); + wrap = true; + min = 0; + } + } + max = Math.max(max, min); + return max; + } + + public void paint(Graphics g, Shape s) + { + // Nothing to do here (not visual). + } + + /** + * Overridden to handle possible leaf elements. + */ + protected void loadChildren(ViewFactory f) { - super(el, axis); + Element el = getElement(); + if (el.isLeaf()) + { + View v = new LabelView(el); + append(v); + } + else + super.loadChildren(f); + } + + /** + * Overridden to reparent the children to this logical view, in case + * they have been parented by a row. + */ + protected void forwardUpdateToView(View v, DocumentEvent e, Shape a, + ViewFactory f) + { + v.setParent(this); + super.forwardUpdateToView(v, e, a, f); + } + + /** + * Overridden to handle possible leaf element. + */ + protected int getViewIndexAtPosition(int pos) + { + int index = 0; + if (! getElement().isLeaf()) + index = super.getViewIndexAtPosition(pos); + return index; } } @@ -356,11 +590,6 @@ public abstract class FlowView extends BoxView */ protected FlowStrategy strategy; - /** - * Indicates if the flow should be rebuild during the next layout. - */ - private boolean layoutDirty; - /** * Creates a new FlowView for the given * Element and axis. @@ -374,7 +603,7 @@ public abstract class FlowView extends BoxView { super(element, axis); strategy = sharedStrategy; - layoutDirty = true; + layoutSpan = Short.MAX_VALUE; } /** @@ -423,7 +652,7 @@ public abstract class FlowView extends BoxView */ public int getFlowStart(int index) { - return getLeftInset(); // TODO: Is this correct? + return 0; } /** @@ -449,9 +678,11 @@ public abstract class FlowView extends BoxView { if (layoutPool == null) { - layoutPool = new LogicalView(getElement(), getAxis()); - layoutPool.setParent(this); + layoutPool = new LogicalView(getElement()); } + layoutPool.setParent(this); + // Initialize the flow strategy. + strategy.insertUpdate(this, null, null); } /** @@ -466,32 +697,33 @@ public abstract class FlowView extends BoxView protected void layout(int width, int height) { int flowAxis = getFlowAxis(); + int span; if (flowAxis == X_AXIS) - { - if (layoutSpan != width) - { - layoutChanged(Y_AXIS); - layoutSpan = width; - } - } + span = (int) width; else + span = (int) height; + + if (layoutSpan != span) { - if (layoutSpan != height) - { - layoutChanged(X_AXIS); - layoutSpan = height; - } + layoutChanged(flowAxis); + layoutChanged(getAxis()); + layoutSpan = span; } - if (layoutDirty) + if (! isLayoutValid(flowAxis)) { + int axis = getAxis(); + int oldSpan = axis == X_AXIS ? getWidth() : getHeight(); strategy.layout(this); - layoutDirty = false; + int newSpan = (int) getPreferredSpan(axis); + if (oldSpan != newSpan) + { + View parent = getParent(); + if (parent != null) + parent.preferenceChanged(this, axis == X_AXIS, axis == Y_AXIS); + } } - if (getPreferredSpan(getAxis()) != height) - preferenceChanged(this, false, true); - super.layout(width, height); } @@ -510,7 +742,6 @@ public abstract class FlowView extends BoxView // be updated accordingly. layoutPool.insertUpdate(changes, a, vf); strategy.insertUpdate(this, changes, getInsideAllocation(a)); - layoutDirty = true; } /** @@ -526,7 +757,6 @@ public abstract class FlowView extends BoxView { layoutPool.removeUpdate(changes, a, vf); strategy.removeUpdate(this, changes, getInsideAllocation(a)); - layoutDirty = true; } /** @@ -542,7 +772,6 @@ public abstract class FlowView extends BoxView { layoutPool.changedUpdate(changes, a, vf); strategy.changedUpdate(this, changes, getInsideAllocation(a)); - layoutDirty = true; } /** @@ -604,7 +833,7 @@ public abstract class FlowView extends BoxView res = new SizeRequirements(); res.minimum = (int) layoutPool.getMinimumSpan(axis); res.preferred = Math.max(res.minimum, - (int) layoutPool.getMinimumSpan(axis)); + (int) layoutPool.getPreferredSpan(axis)); res.maximum = Integer.MAX_VALUE; res.alignment = 0.5F; return res; diff --git a/libjava/classpath/javax/swing/text/GapContent.java b/libjava/classpath/javax/swing/text/GapContent.java index 760e396a223..08a318d8bb4 100644 --- a/libjava/classpath/javax/swing/text/GapContent.java +++ b/libjava/classpath/javax/swing/text/GapContent.java @@ -39,16 +39,13 @@ exception statement from your version. */ package javax.swing.text; import java.io.Serializable; -import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; -import java.util.Set; import java.util.Vector; -import java.util.WeakHashMap; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.CannotRedoException; @@ -71,7 +68,7 @@ public class GapContent /** * A {@link Position} implementation for GapContent. */ - private class GapContentPosition + class GapContentPosition implements Position { @@ -81,39 +78,6 @@ public class GapContent */ Mark mark; - /** - * Creates a new GapContentPosition object. - * - * @param offset the offset of this Position - */ - GapContentPosition(int offset) - { - // Try to find the mark in the positionMarks array, and store the index - // to it. - synchronized (GapContent.this) - { - // Try to make space. - garbageCollect(); - Mark m = new Mark(offset); - int i = search(marks, m); - if (i >= 0) // mark found - { - m = (Mark) marks.get(i); - } - else - { - i = -i - 1; - marks.add(i, m); - } - m.refCount++; - mark = m; - } - - // Register this position in the death queue, so we can cleanup the marks - // when this position object gets GC'ed. - new WeakReference(this, queueOfDeath); - } - /** * Returns the current offset of this Position within the content. * @@ -133,19 +97,13 @@ public class GapContent * be garbage collected while we still hold a reference to the Mark object. */ private class Mark - implements Comparable + extends WeakReference { /** * The actual mark into the buffer. */ int mark; - /** - * The number of GapContentPosition object that reference this mark. If - * it reaches zero, it get's deleted by {@link GapContent#garbageCollect()}. - */ - int refCount; - /** * Creates a new Mark object for the specified offset. * @@ -153,9 +111,14 @@ public class GapContent */ Mark(int offset) { + super(null); + mark = offset; + } + + Mark(int offset, GapContentPosition pos, ReferenceQueue queue) + { + super(pos, queue); mark = offset; - if (mark >= gapStart && mark != 0) - mark += (gapEnd - gapStart); } /** @@ -165,33 +128,62 @@ public class GapContent */ int getOffset() { - assert mark == 0 || mark < gapStart || mark >= gapEnd : - "Invalid mark: " + mark + ", gapStart: " + gapStart - + ", gapEnd: " + gapEnd; - int res = mark; - if (mark >= gapEnd) + if (mark >= gapStart) res -= (gapEnd - gapStart); - return res; + return Math.max(0, res); + } + + /** + * Returns the GapContentPosition that is associated ith this mark. + * This fetches the weakly referenced position object. + * + * @return the GapContentPosition that is associated ith this mark + */ + GapContentPosition getPosition() + { + return (GapContentPosition) get(); } + } + + /** + * Stores a reference to a mark that can be resetted to the original value + * after a mark has been moved. This is used for undoing actions. + */ + private class UndoPosRef + { + /** + * The mark that might need to be reset. + */ + private Mark mark; + /** - * Implementation of Comparable. + * The original offset to reset the mark to. */ - public int compareTo(Object o) + private int undoOffset; + + /** + * Creates a new UndoPosRef. + * + * @param m the mark + */ + UndoPosRef(Mark m) { - Mark other = (Mark) o; - return mark - other.mark; + mark = m; + undoOffset = mark.getOffset(); } + /** - * Adjustment for equals(). + * Resets the position of the mark to the value that it had when + * creating this UndoPosRef. */ - public boolean equals(Object o) + void reset() { - if (o == null || !(o instanceof Mark)) - return false; + if (undoOffset <= gapStart) + mark.mark = undoOffset; else - return ((Mark) o).mark == mark; + mark.mark = (gapEnd - gapStart) + undoOffset; } } @@ -199,6 +191,8 @@ public class GapContent { public int where, length; String text; + private Vector positions; + public InsertUndo(int start, int len) { where = start; @@ -209,27 +203,33 @@ public class GapContent { super.undo(); try - { - text = getString(where, length); - remove(where, length); - } + { + positions = getPositionsInRange(null, where, length); + text = getString(where, length); + remove(where, length); + } catch (BadLocationException ble) - { - throw new CannotUndoException(); - } + { + throw new CannotUndoException(); + } } public void redo () throws CannotUndoException { super.redo(); try - { - insertString(where, text); - } + { + insertString(where, text); + if (positions != null) + { + updateUndoPositions(positions, where, length); + positions = null; + } + } catch (BadLocationException ble) - { - throw new CannotRedoException(); - } + { + throw new CannotRedoException(); + } } } @@ -238,10 +238,17 @@ public class GapContent { public int where; String text; + + /** + * The positions in the removed range. + */ + private Vector positions; + public UndoRemove(int start, String removedText) { where = start; text = removedText; + positions = getPositionsInRange(null, start, removedText.length()); } public void undo () throws CannotUndoException @@ -250,6 +257,8 @@ public class GapContent try { insertString(where, text); + if (positions != null) + updateUndoPositions(positions, where, text.length()); } catch (BadLocationException ble) { @@ -261,13 +270,15 @@ public class GapContent { super.redo(); try - { - remove(where, text.length()); - } + { + text = getString(where, text.length()); + positions = getPositionsInRange(null, where, text.length()); + remove(where, text.length()); + } catch (BadLocationException ble) - { - throw new CannotRedoException(); - } + { + throw new CannotRedoException(); + } } } @@ -308,7 +319,15 @@ public class GapContent */ ArrayList marks; - WeakHashMap positions; + /** + * The number of unused marks. + */ + private int garbageMarks; + + /** + * A 'static' mark that is used for searching. + */ + private Mark searchMark = new Mark(0); /** * Queues all references to GapContentPositions that are about to be @@ -339,7 +358,6 @@ public class GapContent gapStart = 1; gapEnd = size; buffer[0] = '\n'; - positions = new WeakHashMap(); marks = new ArrayList(); queueOfDeath = new ReferenceQueue(); } @@ -403,9 +421,10 @@ public class GapContent throw new BadLocationException("The where argument cannot be greater" + " than the content length", where); + InsertUndo undo = new InsertUndo(where, strLen); replace(where, 0, str.toCharArray(), strLen); - return new InsertUndo(where, strLen); + return undo; } /** @@ -429,9 +448,10 @@ public class GapContent + " than the content length", where + nitems); String removedText = getString(where, nitems); + UndoRemove undoRemove = new UndoRemove(where, removedText); replace(where, nitems, null, 0); - return new UndoRemove(where, removedText); + return undoRemove; } /** @@ -495,29 +515,43 @@ public class GapContent if (len < 0) throw new BadLocationException("negative length not allowed: ", len); - // check if requested segment is contiguous - if ((where < gapStart) && ((gapStart - where) < len)) - { - // requested segment is not contiguous -> copy the pieces together - char[] copy = new char[len]; - int lenFirst = gapStart - where; // the length of the first segment - System.arraycopy(buffer, where, copy, 0, lenFirst); - System.arraycopy(buffer, gapEnd, copy, lenFirst, len - lenFirst); - txt.array = copy; - txt.offset = 0; - txt.count = len; - } - else - { - // requested segment is contiguous -> we can simply return the - // actual content - txt.array = buffer; - if (where < gapStart) + // Optimized to copy only when really needed. + if (where + len <= gapStart) + { + // Simple case: completely before gap. + txt.array = buffer; txt.offset = where; - else - txt.offset = where + (gapEnd - gapStart); - txt.count = len; - } + txt.count = len; + } + else if (where > gapStart) + { + // Completely after gap, adjust offset. + txt.array = buffer; + txt.offset = gapEnd + where - gapStart; + txt.count = len; + } + else + { + // Spans the gap. + int beforeGap = gapStart - where; + if (txt.isPartialReturn()) + { + // Return the part before the gap when partial return is allowed. + txt.array = buffer; + txt.offset = where; + txt.count = beforeGap; + } + else + { + // Copy pieces together otherwise. + txt.array = new char[len]; + txt.offset = 0; + System.arraycopy(buffer, where, txt.array, 0, beforeGap); + System.arraycopy(buffer, gapEnd, txt.array, beforeGap, + len - beforeGap); + txt.count = len; + } + } } /** @@ -537,27 +571,33 @@ public class GapContent // and luckily enough the GapContent can very well deal with offsets // outside the buffer bounds. So I removed that check. + // First do some garbage collections. + while (queueOfDeath.poll() != null) + garbageMarks++; + if (garbageMarks > Math.max(5, marks.size() / 10)) + garbageCollect(); + // We try to find a GapContentPosition at the specified offset and return // that. Otherwise we must create a new one. - GapContentPosition pos = null; - Set positionSet = positions.keySet(); - for (Iterator i = positionSet.iterator(); i.hasNext();) - { - GapContentPosition p = (GapContentPosition) i.next(); - if (p.getOffset() == offset) - { - pos = p; - break; - } - } - - // If none was found, then create and return a new one. - if (pos == null) + Mark m; + GapContentPosition pos; + int index = offset; + if (offset >= gapStart) + index += (gapEnd - gapStart); + searchMark.mark = index; + int insertIndex = search(searchMark); + if (!(insertIndex < marks.size() + && (m = (Mark) marks.get(insertIndex)).mark == index + && (pos = m.getPosition()) != null)) { - pos = new GapContentPosition(offset); - positions.put(pos, null); + // Create new position if none was found. + pos = new GapContentPosition(); + m = new Mark(index, pos, queueOfDeath); + pos.mark = m; + marks.add(insertIndex, m); } - + // Otherwise use the found position. + return pos; } @@ -574,18 +614,29 @@ public class GapContent assert newSize > (gapEnd - gapStart) : "The new gap size must be greater " + "than the old gap size"; - int delta = newSize - gapEnd + gapStart; - // Update the marks after the gapEnd. - adjustPositionsInRange(gapEnd, -1, delta); + int oldEnd = getGapEnd(); + int oldSize = getArrayLength(); + int upper = oldSize - oldEnd; + int size = (newSize + 1) * 2; + int newEnd = size - upper; // Copy the data around. - char[] newBuf = (char[]) allocateArray(length() + newSize); - System.arraycopy(buffer, 0, newBuf, 0, gapStart); - System.arraycopy(buffer, gapEnd, newBuf, gapStart + newSize, buffer.length - - gapEnd); - gapEnd = gapStart + newSize; + char[] newBuf = (char[]) allocateArray(size); + System.arraycopy(buffer, 0, newBuf, 0, Math.min(size, oldSize)); buffer = newBuf; - + gapEnd = newEnd; + if (upper != 0) + System.arraycopy(buffer, oldEnd, buffer, newEnd, upper); + + // Adjust marks. + int delta = gapEnd - oldEnd; + int adjIndex = searchFirst(oldEnd); + int count = marks.size(); + for (int i = adjIndex; i < count; i++) + { + Mark m = (Mark) marks.get(i); + m.mark += delta; + } } /** @@ -595,28 +646,44 @@ public class GapContent */ protected void shiftGap(int newGapStart) { - if (newGapStart == gapStart) - return; - int newGapEnd = newGapStart + gapEnd - gapStart; - if (newGapStart < gapStart) + int oldStart = gapStart; + int delta = newGapStart - oldStart; + int oldEnd = gapEnd; + int newGapEnd = oldEnd + delta; + int size = oldEnd - oldStart; + + // Shift gap in array. + gapStart = newGapStart; + gapEnd = newGapEnd; + if (delta > 0) + System.arraycopy(buffer, oldEnd, buffer, oldStart, delta); + else + System.arraycopy(buffer, newGapStart, buffer, newGapEnd, -delta); + + // Adjust marks. + if (delta > 0) { - // Update the positions between newGapStart and (old) gapStart. The marks - // must be shifted by (gapEnd - gapStart). - adjustPositionsInRange(newGapStart, gapStart, gapEnd - gapStart); - System.arraycopy(buffer, newGapStart, buffer, newGapEnd, gapStart - - newGapStart); - gapStart = newGapStart; - gapEnd = newGapEnd; + int adjIndex = searchFirst(oldStart); + int count = marks.size(); + for (int i = adjIndex; i < count; i++) + { + Mark m = (Mark) marks.get(i); + if (m.mark >= newGapEnd) + break; + m.mark -= size; + } } - else + else if (delta < 0) { - // Update the positions between newGapEnd and (old) gapEnd. The marks - // must be shifted by (gapEnd - gapStart). - adjustPositionsInRange(gapEnd, newGapEnd, -(gapEnd - gapStart)); - System.arraycopy(buffer, gapEnd, buffer, gapStart, newGapStart - - gapStart); - gapStart = newGapStart; - gapEnd = newGapEnd; + int adjIndex = searchFirst(newGapStart); + int count = marks.size(); + for (int i = adjIndex; i < count; i++) + { + Mark m = (Mark) marks.get(i); + if (m.mark >= oldEnd) + break; + m.mark += size; + } } resetMarksAtZero(); } @@ -636,7 +703,18 @@ public class GapContent assert newGapStart < gapStart : "The new gap start must be less than the " + "old gap start."; - setPositionsInRange(newGapStart, gapStart, false); + + // Adjust positions. + int adjIndex = searchFirst(newGapStart); + int count = marks.size(); + for (int i = adjIndex; i < count; i++) + { + Mark m = (Mark) marks.get(i); + if (m.mark > gapStart) + break; + m.mark = gapEnd; + } + gapStart = newGapStart; resetMarksAtZero(); } @@ -656,7 +734,19 @@ public class GapContent assert newGapEnd > gapEnd : "The new gap end must be greater than the " + "old gap end."; - setPositionsInRange(gapEnd, newGapEnd, false); + + // Adjust marks. + int adjIndex = searchFirst(gapEnd); + int count = marks.size(); + for (int i = adjIndex; i < count; i++) + { + Mark m = (Mark) marks.get(i); + if (m.mark >= newGapEnd) + break; + m.mark = newGapEnd; + } + + gapEnd = newGapEnd; resetMarksAtZero(); } @@ -682,23 +772,88 @@ public class GapContent protected void replace(int position, int rmSize, Object addItems, int addSize) { - if (gapStart != position) - shiftGap(position); - - // Remove content - if (rmSize > 0) - shiftGapEndUp(gapEnd + rmSize); + if (addSize == 0) + { + removeImpl(position, rmSize); + return; + } + else if (rmSize > addSize) + { + removeImpl(position + addSize, rmSize - addSize); + } + else + { + int endSize = addSize - rmSize; + int end = addImpl(position + rmSize, endSize); + System.arraycopy(addItems, rmSize, buffer, end, endSize); + addSize = rmSize; + } + System.arraycopy(addItems, 0, buffer, position, addSize); + } + + /** + * Adjusts the positions and gap in response to a remove operation. + * + * @param pos the position at which to remove + * @param num the number of removed items + */ + private void removeImpl(int pos, int num) + { + if (num > 0) + { + int end = pos + num; + int newGapSize = (gapEnd - gapStart) + num; + if (end <= gapStart) + { + if (gapStart != end) + { + shiftGap(end); + } + shiftGapStartDown(gapStart - num); + } + else if (pos >= gapStart) + { + if (gapStart != pos) + { + shiftGap(pos); + } + shiftGapEndUp(gapStart + newGapSize); + } + else + { + shiftGapStartDown(pos); + shiftGapEndUp(gapStart + newGapSize); + } + } + } - // If gap is too small, enlarge the gap. - if ((gapEnd - gapStart) <= addSize) - shiftEnd((addSize - gapEnd + gapStart + 1) * 2 + gapEnd + DEFAULT_BUFSIZE); + /** + * Adjusts the positions and gap in response to an add operation. + * + * @param pos the position at which to add + * @param num the number of added items + * + * @return the adjusted position + */ + private int addImpl(int pos, int num) + { + int size = gapEnd - gapStart; + if (num == 0) + { + if (pos > gapStart) + pos += size; + return pos; + } - // Add new items to the buffer. - if (addItems != null) + shiftGap(pos); + if (num >= size) { - System.arraycopy(addItems, 0, buffer, gapStart, addSize); - gapStart += addSize; + shiftEnd(getArrayLength() - size + num); + size = gapEnd - gapStart; } + + gapStart += num; + return pos; } /** @@ -733,97 +888,34 @@ public class GapContent */ protected Vector getPositionsInRange(Vector v, int offset, int length) { - Vector res = v; - if (res == null) - res = new Vector(); - else - res.clear(); - - int endOffs = offset + length; - - Set positionSet = positions.keySet(); - for (Iterator i = positionSet.iterator(); i.hasNext();) + int end = offset + length; + int startIndex; + int endIndex; + if (offset < gapStart) { - GapContentPosition p = (GapContentPosition) i.next(); - int offs = p.getOffset(); - if (offs >= offset && offs < endOffs) - res.add(p); + if (offset == 0) + startIndex = 0; + else + startIndex = searchFirst(offset); + if (end >= gapStart) + endIndex = searchFirst(end + (gapEnd - gapStart) + 1); + else + endIndex = searchFirst(end + 1); } - - return res; - } - - /** - * Crunches all positions in the specified range to either the start or - * end of that interval. The interval boundaries are meant to be inclusive - * [start, end]. - * - * @param start the start offset of the range - * @param end the end offset of the range - * @param toStart a boolean indicating if the positions should be crunched - * to the start (true) or to the end (false) - */ - private void setPositionsInRange(int start, int end, boolean toStart) - { - synchronized (this) + else { - // Find the start and end indices in the positionMarks array. - Mark m = new Mark(0); // For comparison / search only. - m.mark = start; - int startIndex = search(marks, m); - if (startIndex < 0) // Translate to insertion index, if not found. - startIndex = - startIndex - 1; - m.mark = end; - int endIndex = search(marks, m); - if (endIndex < 0) // Translate to insertion index - 1, if not found. - endIndex = - endIndex - 2; - - // Actually adjust the marks. - for (int i = startIndex; i <= endIndex; i++) - ((Mark) marks.get(i)).mark = toStart ? start : end; + startIndex = searchFirst(offset + (gapEnd - gapStart)); + endIndex = searchFirst(end + (gapEnd - gapStart) + 1); } - - } - - /** - * Adjusts the mark of all Positions that are in the range - * specified by offset and
      length within - * the buffer array by increment - * - * @param startOffs the start offset of the range to search - * @param endOffs the length of the range to search, -1 means all to the end - * @param incr the increment - */ - private void adjustPositionsInRange(int startOffs, int endOffs, int incr) - { - synchronized (this) + if (v == null) + v = new Vector(); + for (int i = startIndex; i < endIndex; i++) { - // Find the start and end indices in the positionMarks array. - Mark m = new Mark(0); // For comparison / search only. - - m.mark = startOffs; - int startIndex = search(marks, m); - if (startIndex < 0) // Translate to insertion index, if not found. - startIndex = - startIndex - 1; - - m.mark = endOffs; - int endIndex; - if (endOffs == -1) - endIndex = marks.size() - 1; - else - { - endIndex = search(marks, m); - if (endIndex < 0) // Translate to insertion index - 1, if not found. - endIndex = - endIndex - 2; - } - // Actually adjust the marks. - for (int i = startIndex; i <= endIndex; i++) { - ((Mark) marks.get(i)).mark += incr; - } + v.add(new UndoPosRef((Mark) marks.get(i))); } - + return v; } - + /** * Resets all Position that have an offset of 0, * to also have an array index of 0. This might be necessary @@ -844,14 +936,26 @@ public class GapContent } /** - * @specnote This method is not very well specified and the positions vector - * is implementation specific. The undo positions are managed - * differently in this implementation, this method is only here - * for binary compatibility. + * Resets the positions in the specified range to their original offset + * after a undo operation is performed. For example, after removing some + * content, the positions in the removed range will all be set to one + * offset. This method restores the positions to their original offsets + * after an undo. + * + * @param positions the positions to update + * @param offset + * @param length */ protected void updateUndoPositions(Vector positions, int offset, int length) { - // We do nothing here. + for (Iterator i = positions.iterator(); i.hasNext();) + { + UndoPosRef undoPosRef = (UndoPosRef) i.next(); + undoPosRef.reset(); + } + + // Resort marks. + Collections.sort(marks); } /** @@ -891,30 +995,6 @@ public class GapContent System.out.println(); } - /** - * Polls the queue of death for GapContentPositions, updates the - * corresponding reference count and removes the corresponding mark - * if the refcount reaches zero. - * - * This is package private to avoid accessor synthetic methods. - */ - void garbageCollect() - { - Reference ref = queueOfDeath.poll(); - while (ref != null) - { - if (ref != null) - { - GapContentPosition pos = (GapContentPosition) ref.get(); - Mark m = pos.mark; - m.refCount--; - if (m.refCount == 0) - marks.remove(m); - } - ref = queueOfDeath.poll(); - } - } - /** * Searches the first occurance of object o in list * l. This performs a binary search by calling @@ -923,22 +1003,93 @@ public class GapContent * list. The meaning of the return value is the same as in * Collections.binarySearch(). * - * @param l the list to search through * @param o the object to be searched * * @return the index of the first occurance of o in l, or -i + 1 if not found */ - private int search(List l, Object o) + int search(Mark o) { - int i = Collections.binarySearch(l, o); - while (i > 0) + int foundInd = 0; + boolean found = false; + int low = 0; + int up = marks.size() - 1; + int mid = 0; + if (up > -1) { - Object o2 = l.get(i - 1); - if (o2.equals(o)) - i--; + int cmp = 0; + Mark last = (Mark) marks.get(up); + cmp = compare(o, last); + if (cmp > 0) + { + foundInd = up + 1; + found = true; + } else + { + while (low <= up && ! found) + { + mid = low + (up - low) / 2; + Mark m = (Mark) marks.get(mid); + cmp = compare(o, m); + if (cmp == 0) + { + foundInd = mid; + found = true; + } + else if (cmp < 0) + up = mid - 1; + else + low = mid + 1; + } + + if (! found) + foundInd = cmp < 0 ? mid : mid + 1; + } + } + return foundInd; + } + + private int searchFirst(int index) + { + searchMark.mark = Math.max(index, 1); + int i = search(searchMark); + for (int j = i - 1; j >= 0; j--) + { + Mark m = (Mark) marks.get(j); + if (m.mark != index) break; + i--; } return i; } + + /** + * Compares two marks. + * + * @param m1 the first mark + * @param m2 the second mark + * + * @return negative when m1 < m2, positive when m1 > m2 and 0 when equal + */ + private int compare(Mark m1, Mark m2) + { + return m1.mark - m2.mark; + } + + /** + * Collects and frees unused marks. + */ + private void garbageCollect() + { + int count = marks.size(); + ArrayList clean = new ArrayList(); + for (int i = 0; i < count; i++) + { + Mark m = (Mark) marks.get(i); + if (m.get() != null) + clean.add(m); + } + marks = clean; + garbageMarks = 0; + } } diff --git a/libjava/classpath/javax/swing/text/GlyphView.java b/libjava/classpath/javax/swing/text/GlyphView.java index d505274c91f..1e418d2e06a 100644 --- a/libjava/classpath/javax/swing/text/GlyphView.java +++ b/libjava/classpath/javax/swing/text/GlyphView.java @@ -38,14 +38,21 @@ exception statement from your version. */ package javax.swing.text; +import gnu.classpath.SystemProperties; + import java.awt.Color; +import java.awt.Container; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.Shape; import java.awt.Toolkit; -import java.text.BreakIterator; +import java.awt.font.FontRenderContext; +import java.awt.font.TextHitInfo; +import java.awt.font.TextLayout; +import java.awt.geom.Rectangle2D; import javax.swing.SwingConstants; import javax.swing.event.DocumentEvent; @@ -247,11 +254,165 @@ public class GlyphView extends View implements TabableView, Cloneable } } + /** + * A GlyphPainter implementation based on TextLayout. This should give + * better performance in Java2D environments. + */ + private static class J2DGlyphPainter + extends GlyphPainter + { + + /** + * The text layout. + */ + TextLayout textLayout; + + /** + * Creates a new J2DGlyphPainter. + * + * @param str the string + * @param font the font + * @param frc the font render context + */ + J2DGlyphPainter(String str, Font font, FontRenderContext frc) + { + textLayout = new TextLayout(str, font, frc); + } + + /** + * Returns null so that GlyphView.checkPainter() creates a new instance. + */ + public GlyphPainter getPainter(GlyphView v, int p0, int p1) + { + return null; + } + + /** + * Delegates to the text layout. + */ + public float getAscent(GlyphView v) + { + return textLayout.getAscent(); + } + + /** + * Delegates to the text layout. + */ + public int getBoundedPosition(GlyphView v, int p0, float x, float len) + { + int pos; + TextHitInfo hit = textLayout.hitTestChar(len, 0); + if (hit.getCharIndex() == -1 && ! textLayout.isLeftToRight()) + pos = v.getEndOffset(); + else + { + pos = hit.isLeadingEdge() ? hit.getInsertionIndex() + : hit.getInsertionIndex() - 1; + pos += v.getStartOffset(); + } + return pos; + } + + /** + * Delegates to the text layout. + */ + public float getDescent(GlyphView v) + { + return textLayout.getDescent(); + } + + /** + * Delegates to the text layout. + */ + public float getHeight(GlyphView view) + { + return textLayout.getAscent() + textLayout.getDescent() + + textLayout.getLeading(); + } + + /** + * Delegates to the text layout. + */ + public float getSpan(GlyphView v, int p0, int p1, TabExpander te, float x) + { + float span; + if (p0 == v.getStartOffset() && p1 == v.getEndOffset()) + span = textLayout.getAdvance(); + else + { + int start = v.getStartOffset(); + int i0 = p0 - start; + int i1 = p1 - start; + TextHitInfo hit0 = TextHitInfo.afterOffset(i0); + TextHitInfo hit1 = TextHitInfo.afterOffset(i1); + float x0 = textLayout.getCaretInfo(hit0)[0]; + float x1 = textLayout.getCaretInfo(hit1)[0]; + span = Math.abs(x1 - x0); + } + return span; + } + + /** + * Delegates to the text layout. + */ + public Shape modelToView(GlyphView v, int pos, Bias b, Shape a) + throws BadLocationException + { + int offs = pos - v.getStartOffset(); + // Create copy here to protect original shape. + Rectangle2D bounds = a.getBounds2D(); + TextHitInfo hit = + b == Position.Bias.Forward ? TextHitInfo.afterOffset(offs) + : TextHitInfo.beforeOffset(offs); + float[] loc = textLayout.getCaretInfo(hit); + bounds.setRect(bounds.getX() + loc[0], bounds.getY(), 1, + bounds.getHeight()); + return bounds; + } + + /** + * Delegates to the text layout. + */ + public void paint(GlyphView view, Graphics g, Shape a, int p0, int p1) + { + // Can't paint this with plain graphics. + if (g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g; + Rectangle2D b = a instanceof Rectangle2D ? (Rectangle2D) a + : a.getBounds2D(); + float x = (float) b.getX(); + float y = (float) b.getY() + textLayout.getAscent() + + textLayout.getLeading(); + // TODO: Try if clipping makes things faster for narrow views. + textLayout.draw(g2d, x, y); + } + } + + /** + * Delegates to the text layout. + */ + public int viewToModel(GlyphView v, float x, float y, Shape a, + Bias[] biasRet) + { + Rectangle2D bounds = a instanceof Rectangle2D ? (Rectangle2D) a + : a.getBounds2D(); + TextHitInfo hit = textLayout.hitTestChar(x - (float) bounds.getX(), 0); + int pos = hit.getInsertionIndex(); + biasRet[0] = hit.isLeadingEdge() ? Position.Bias.Forward + : Position.Bias.Backward; + return pos + v.getStartOffset(); + } + + } + /** * The default GlyphPainter used in GlyphView. */ static class DefaultGlyphPainter extends GlyphPainter { + FontMetrics fontMetrics; + /** * Returns the full height of the rendered text. * @@ -259,9 +420,8 @@ public class GlyphView extends View implements TabableView, Cloneable */ public float getHeight(GlyphView view) { - Font font = view.getFont(); - FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(font); - float height = metrics.getHeight(); + updateFontMetrics(view); + float height = fontMetrics.getHeight(); return height; } @@ -277,53 +437,27 @@ public class GlyphView extends View implements TabableView, Cloneable public void paint(GlyphView view, Graphics g, Shape a, int p0, int p1) { - Color oldColor = g.getColor(); - int height = (int) getHeight(view); + updateFontMetrics(view); + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + TabExpander tabEx = view.getTabExpander(); Segment txt = view.getText(p0, p1); - Rectangle bounds = a.getBounds(); - TabExpander tabEx = null; - View parent = view.getParent(); - if (parent instanceof TabExpander) - tabEx = (TabExpander) parent; - - int width = Utilities.getTabbedTextWidth(txt, g.getFontMetrics(), - bounds.x, tabEx, txt.offset); - // Fill the background of the text run. - Color background = view.getBackground(); - if (background != null) - { - g.setColor(background); - g.fillRect(bounds.x, bounds.y, width, height); - } - // Draw the actual text. - g.setColor(view.getForeground()); - g.setFont(view.getFont()); - int ascent = g.getFontMetrics().getAscent(); - if (view.isSuperscript()) - // TODO: Adjust font for superscripting. - Utilities.drawTabbedText(txt, bounds.x, bounds.y + ascent - height / 2, - g, tabEx, txt.offset); - else if (view.isSubscript()) - // TODO: Adjust font for subscripting. - Utilities.drawTabbedText(txt, bounds.x, bounds.y + ascent + height / 2, - g, tabEx, txt.offset); - else - Utilities.drawTabbedText(txt, bounds.x, bounds.y + ascent, g, tabEx, - txt.offset); - if (view.isStrikeThrough()) - { - int strikeHeight = (int) (getAscent(view) / 2); - g.drawLine(bounds.x, bounds.y + strikeHeight, bounds.height + width, - bounds.y + strikeHeight); - } - if (view.isUnderline()) + // Find out the X location at which we have to paint. + int x = r.x; + int p = view.getStartOffset(); + if (p != p0) { - int lineHeight = (int) getAscent(view); - g.drawLine(bounds.x, bounds.y + lineHeight, bounds.height + width, - bounds.y + lineHeight); + int width = Utilities.getTabbedTextWidth(txt, fontMetrics,x, tabEx, + p); + x += width; } - g.setColor(oldColor); + // Find out Y location. + int y = r.y + fontMetrics.getHeight() - fontMetrics.getDescent(); + + // Render the thing. + g.setFont(fontMetrics.getFont()); + Utilities.drawTabbedText(txt, x, y, g, tabEx, p0); + } /** @@ -350,15 +484,18 @@ public class GlyphView extends View implements TabableView, Cloneable Shape a) throws BadLocationException { + updateFontMetrics(view); Element el = view.getElement(); - Font font = view.getFont(); - FontMetrics fm = view.getContainer().getFontMetrics(font); Segment txt = view.getText(el.getStartOffset(), pos); - int width = fm.charsWidth(txt.array, txt.offset, txt.count); - int height = fm.getHeight(); - Rectangle bounds = a.getBounds(); + Rectangle bounds = a instanceof Rectangle ? (Rectangle) a + : a.getBounds(); + TabExpander expander = view.getTabExpander(); + int width = Utilities.getTabbedTextWidth(txt, fontMetrics, bounds.x, + expander, + view.getStartOffset()); + int height = fontMetrics.getHeight(); Rectangle result = new Rectangle(bounds.x + width, bounds.y, - bounds.x + width, height); + 0, height); return result; } @@ -381,11 +518,10 @@ public class GlyphView extends View implements TabableView, Cloneable public float getSpan(GlyphView view, int p0, int p1, TabExpander te, float x) { - Element el = view.getElement(); - Font font = view.getFont(); - FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font); + updateFontMetrics(view); Segment txt = view.getText(p0, p1); - int span = Utilities.getTabbedTextWidth(txt, fm, (int) x, te, p0); + int span = Utilities.getTabbedTextWidth(txt, fontMetrics, (int) x, te, + p0); return span; } @@ -402,9 +538,8 @@ public class GlyphView extends View implements TabableView, Cloneable */ public float getAscent(GlyphView v) { - Font font = v.getFont(); - FontMetrics fm = v.getContainer().getFontMetrics(font); - return fm.getAscent(); + updateFontMetrics(v); + return fontMetrics.getAscent(); } /** @@ -420,9 +555,8 @@ public class GlyphView extends View implements TabableView, Cloneable */ public float getDescent(GlyphView v) { - Font font = v.getFont(); - FontMetrics fm = v.getContainer().getFontMetrics(font); - return fm.getDescent(); + updateFontMetrics(v); + return fontMetrics.getDescent(); } /** @@ -437,13 +571,12 @@ public class GlyphView extends View implements TabableView, Cloneable */ public int getBoundedPosition(GlyphView v, int p0, float x, float len) { + updateFontMetrics(v); TabExpander te = v.getTabExpander(); Segment txt = v.getText(p0, v.getEndOffset()); - Font font = v.getFont(); - FontMetrics fm = v.getContainer().getFontMetrics(font); - int pos = Utilities.getTabbedTextOffset(txt, fm, (int) x, + int pos = Utilities.getTabbedTextOffset(txt, fontMetrics, (int) x, (int) (x + len), te, p0, false); - return pos; + return pos + p0; } /** @@ -460,9 +593,33 @@ public class GlyphView extends View implements TabableView, Cloneable public int viewToModel(GlyphView v, float x, float y, Shape a, Bias[] biasRet) { - Rectangle b = a.getBounds(); - int pos = getBoundedPosition(v, v.getStartOffset(), b.x, x - b.x); - return pos; + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + int p0 = v.getStartOffset(); + int p1 = v.getEndOffset(); + TabExpander te = v.getTabExpander(); + Segment s = v.getText(p0, p1); + int offset = Utilities.getTabbedTextOffset(s, fontMetrics, r.x, (int) x, + te, p0); + int ret = p0 + offset; + if (ret == p1) + ret--; + biasRet[0] = Position.Bias.Forward; + return ret; + } + + private void updateFontMetrics(GlyphView v) + { + Font font = v.getFont(); + if (fontMetrics == null || ! font.equals(fontMetrics.getFont())) + { + Container c = v.getContainer(); + FontMetrics fm; + if (c != null) + fm = c.getFontMetrics(font); + else + fm = Toolkit.getDefaultToolkit().getFontMetrics(font); + fontMetrics = fm; + } } } @@ -474,12 +631,22 @@ public class GlyphView extends View implements TabableView, Cloneable /** * The start offset within the document for this view. */ - private int startOffset; + private int offset; /** * The end offset within the document for this view. */ - private int endOffset; + private int length; + + /** + * The x location against which the tab expansion is done. + */ + private float tabX; + + /** + * The tab expander that is used in this view. + */ + private TabExpander tabExpander; /** * Creates a new GlyphView for the given Element. @@ -489,8 +656,8 @@ public class GlyphView extends View implements TabableView, Cloneable public GlyphView(Element element) { super(element); - startOffset = -1; - endOffset = -1; + offset = 0; + length = 0; } /** @@ -524,7 +691,21 @@ public class GlyphView extends View implements TabableView, Cloneable protected void checkPainter() { if (glyphPainter == null) - glyphPainter = new DefaultGlyphPainter(); + { + if ("true".equals( + SystemProperties.getProperty("gnu.javax.swing.noGraphics2D"))) + { + glyphPainter = new DefaultGlyphPainter(); + } + else + { + Segment s = getText(getStartOffset(), getEndOffset()); + glyphPainter = new J2DGlyphPainter(s.toString(), getFont(), + new FontRenderContext(null, + false, + false)); + } + } } /** @@ -536,9 +717,80 @@ public class GlyphView extends View implements TabableView, Cloneable */ public void paint(Graphics g, Shape a) { - Element el = getElement(); checkPainter(); - getGlyphPainter().paint(this, g, a, getStartOffset(), getEndOffset()); + int p0 = getStartOffset(); + int p1 = getEndOffset(); + + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + Container c = getContainer(); + + Color fg = getForeground(); + JTextComponent tc = null; + if (c instanceof JTextComponent) + { + tc = (JTextComponent) c; + if (! tc.isEnabled()) + fg = tc.getDisabledTextColor(); + } + Color bg = getBackground(); + if (bg != null) + { + g.setColor(bg); + System.err.println("fill background: " + bg); + g.fillRect(r.x, r.y, r.width, r.height); + } + + + // Paint layered highlights if there are any. + if (tc != null) + { + Highlighter h = tc.getHighlighter(); + if (h instanceof LayeredHighlighter) + { + LayeredHighlighter lh = (LayeredHighlighter) h; + lh.paintLayeredHighlights(g, p0, p1, a, tc, this); + } + } + + g.setColor(fg); + glyphPainter.paint(this, g, a, p0, p1); + boolean underline = isUnderline(); + boolean striked = isStrikeThrough(); + if (underline || striked) + { + View parent = getParent(); + // X coordinate. + if (parent != null && parent.getEndOffset() == p1) + { + // Strip whitespace. + Segment s = getText(p0, p1); + while (s.count > 0 && Character.isWhitespace(s.array[s.count - 1])) + { + p1--; + s.count--; + } + } + int x0 = r.x; + int p = getStartOffset(); + TabExpander tabEx = getTabExpander(); + if (p != p0) + x0 += (int) glyphPainter.getSpan(this, p, p0, tabEx, x0); + int x1 = x0 + (int) glyphPainter.getSpan(this, p0, p1, tabEx, x0); + // Y coordinate. + int y = r.y + r.height - (int) glyphPainter.getDescent(this); + if (underline) + { + int yTmp = y; + yTmp += 1; + g.drawLine(x0, yTmp, x1, yTmp); + } + if (striked) + { + int yTmp = y; + yTmp -= (int) glyphPainter.getAscent(this); + g.drawLine(x0, yTmp, x1, yTmp); + } + } } @@ -555,19 +807,24 @@ public class GlyphView extends View implements TabableView, Cloneable float span = 0; checkPainter(); GlyphPainter painter = getGlyphPainter(); - if (axis == X_AXIS) + switch (axis) { - Element el = getElement(); + case X_AXIS: TabExpander tabEx = null; View parent = getParent(); if (parent instanceof TabExpander) tabEx = (TabExpander) parent; span = painter.getSpan(this, getStartOffset(), getEndOffset(), tabEx, 0.F); + break; + case Y_AXIS: + span = painter.getHeight(this); + if (isSuperscript()) + span += span / 3; + break; + default: + throw new IllegalArgumentException("Illegal axis"); } - else - span = painter.getHeight(this); - return span; } @@ -623,13 +880,7 @@ public class GlyphView extends View implements TabableView, Cloneable */ public TabExpander getTabExpander() { - TabExpander te = null; - View parent = getParent(); - - if (parent instanceof TabExpander) - te = (TabExpander) parent; - - return te; + return tabExpander; } /** @@ -642,9 +893,17 @@ public class GlyphView extends View implements TabableView, Cloneable */ public float getTabbedSpan(float x, TabExpander te) { - Element el = getElement(); - return getGlyphPainter().getSpan(this, el.getStartOffset(), - el.getEndOffset(), te, x); + checkPainter(); + TabExpander old = tabExpander; + tabExpander = te; + if (tabExpander != old) + { + // Changing the tab expander will lead to a relayout in the X_AXIS. + preferenceChanged(null, true, false); + } + tabX = x; + return getGlyphPainter().getSpan(this, getStartOffset(), + getEndOffset(), tabExpander, x); } /** @@ -658,23 +917,8 @@ public class GlyphView extends View implements TabableView, Cloneable */ public float getPartialSpan(int p0, int p1) { - Element el = getElement(); - Document doc = el.getDocument(); - Segment seg = new Segment(); - try - { - doc.getText(p0, p1 - p0, seg); - } - catch (BadLocationException ex) - { - AssertionError ae; - ae = new AssertionError("BadLocationException must not be thrown " - + "here"); - ae.initCause(ex); - throw ae; - } - FontMetrics fm = null; // Fetch font metrics somewhere. - return Utilities.getTabbedTextWidth(seg, fm, 0, null, p0); + checkPainter(); + return glyphPainter.getSpan(this, p0, p1, tabExpander, tabX); } /** @@ -686,10 +930,11 @@ public class GlyphView extends View implements TabableView, Cloneable */ public int getStartOffset() { - int start = startOffset; - if (start < 0) - start = super.getStartOffset(); - return start; + Element el = getElement(); + int offs = el.getStartOffset(); + if (length > 0) + offs += offset; + return offs; } /** @@ -701,12 +946,17 @@ public class GlyphView extends View implements TabableView, Cloneable */ public int getEndOffset() { - int end = endOffset; - if (end < 0) - end = super.getEndOffset(); - return end; + Element el = getElement(); + int offs; + if (length > 0) + offs = el.getStartOffset() + offset + length; + else + offs = el.getEndOffset(); + return offs; } + private Segment cached = new Segment(); + /** * Returns the text segment that this view is responsible for. * @@ -717,10 +967,9 @@ public class GlyphView extends View implements TabableView, Cloneable */ public Segment getText(int p0, int p1) { - Segment txt = new Segment(); try { - getDocument().getText(p0, p1 - p0, txt); + getDocument().getText(p0, p1 - p0, cached); } catch (BadLocationException ex) { @@ -731,7 +980,7 @@ public class GlyphView extends View implements TabableView, Cloneable throw ae; } - return txt; + return cached; } /** @@ -743,16 +992,19 @@ public class GlyphView extends View implements TabableView, Cloneable */ public Font getFont() { - Element el = getElement(); - AttributeSet atts = el.getAttributes(); - String family = StyleConstants.getFontFamily(atts); - int size = StyleConstants.getFontSize(atts); - int style = Font.PLAIN; - if (StyleConstants.isBold(atts)) - style |= Font.BOLD; - if (StyleConstants.isItalic(atts)) - style |= Font.ITALIC; - Font font = new Font(family, style, size); + Document doc = getDocument(); + Font font = null; + if (doc instanceof StyledDocument) + { + StyledDocument styledDoc = (StyledDocument) doc; + font = styledDoc.getFont(getAttributes()); + } + else + { + Container c = getContainer(); + if (c != null) + font = c.getFont(); + } return font; } @@ -885,33 +1137,21 @@ public class GlyphView extends View implements TabableView, Cloneable */ public View breakView(int axis, int p0, float pos, float len) { - if (axis == Y_AXIS) - return this; - - checkPainter(); - GlyphPainter painter = getGlyphPainter(); - - // Try to find a suitable line break. - BreakIterator lineBreaker = BreakIterator.getLineInstance(); - Segment txt = new Segment(); - try - { - int start = getStartOffset(); - int length = getEndOffset() - start; - getDocument().getText(start, length, txt); - } - catch (BadLocationException ex) + View brokenView = this; + if (axis == X_AXIS) { - AssertionError err = new AssertionError("BadLocationException must not " - + "be thrown here."); - err.initCause(ex); - throw err; + checkPainter(); + int end = glyphPainter.getBoundedPosition(this, p0, pos, len); + int breakLoc = getBreakLocation(p0, end); + if (breakLoc != -1) + end = breakLoc; + if (p0 != getStartOffset() || end != getEndOffset()) + { + brokenView = createFragment(p0, end); + if (brokenView instanceof GlyphView) + ((GlyphView) brokenView).tabX = pos; + } } - int breakLocation = - Utilities.getBreakLocation(txt, getContainer().getFontMetrics(getFont()), - (int) pos, (int) (pos + len), - getTabExpander(), p0); - View brokenView = createFragment(p0, breakLocation); return brokenView; } @@ -937,28 +1177,36 @@ public class GlyphView extends View implements TabableView, Cloneable weight = super.getBreakWeight(axis, pos, len); else { - // FIXME: Commented out because the Utilities.getBreakLocation method - // is still buggy. The GoodBreakWeight is a reasonable workaround for - // now. -// int startOffset = getStartOffset(); -// int endOffset = getEndOffset() - 1; -// Segment s = getText(startOffset, endOffset); -// Container c = getContainer(); -// FontMetrics fm = c.getFontMetrics(c.getFont()); -// int x0 = (int) pos; -// int x = (int) (pos + len); -// int breakLoc = Utilities.getBreakLocation(s, fm, x0, x, -// getTabExpander(), -// startOffset); -// if (breakLoc == startOffset || breakLoc == endOffset) -// weight = GoodBreakWeight; -// else -// weight = ExcellentBreakWeight; - weight = GoodBreakWeight; + checkPainter(); + int start = getStartOffset(); + int end = glyphPainter.getBoundedPosition(this, start, pos, len); + if (end == 0) + weight = BadBreakWeight; + else + { + if (getBreakLocation(start, end) != -1) + weight = ExcellentBreakWeight; + else + weight = GoodBreakWeight; + } } return weight; } + private int getBreakLocation(int start, int end) + { + int loc = -1; + Segment s = getText(start, end); + for (char c = s.last(); c != Segment.DONE && loc == -1; c = s.previous()) + { + if (Character.isWhitespace(c)) + { + loc = s.getIndex() - s.getBeginIndex() + 1 + start; + } + } + return loc; + } + /** * Receives notification that some text attributes have changed within the * text fragment that this view is responsible for. This calls @@ -971,7 +1219,7 @@ public class GlyphView extends View implements TabableView, Cloneable */ public void changedUpdate(DocumentEvent e, Shape a, ViewFactory vf) { - preferenceChanged(this, true, true); + preferenceChanged(null, true, true); } /** @@ -986,7 +1234,7 @@ public class GlyphView extends View implements TabableView, Cloneable */ public void insertUpdate(DocumentEvent e, Shape a, ViewFactory vf) { - preferenceChanged(this, true, false); + preferenceChanged(null, true, false); } /** @@ -1001,7 +1249,7 @@ public class GlyphView extends View implements TabableView, Cloneable */ public void removeUpdate(DocumentEvent e, Shape a, ViewFactory vf) { - preferenceChanged(this, true, false); + preferenceChanged(null, true, false); } /** @@ -1015,11 +1263,12 @@ public class GlyphView extends View implements TabableView, Cloneable */ public View createFragment(int p0, int p1) { + checkPainter(); + Element el = getElement(); GlyphView fragment = (GlyphView) clone(); - if (p0 != getStartOffset()) - fragment.startOffset = p0; - if (p1 != getEndOffset()) - fragment.endOffset = p1; + fragment.offset = p0 - el.getStartOffset(); + fragment.length = p1 - p0; + fragment.glyphPainter = glyphPainter.getPainter(fragment, p0, p1); return fragment; } @@ -1031,14 +1280,21 @@ public class GlyphView extends View implements TabableView, Cloneable */ public float getAlignment(int axis) { + checkPainter(); float align; if (axis == Y_AXIS) { - checkPainter(); GlyphPainter painter = getGlyphPainter(); float height = painter.getHeight(this); float descent = painter.getDescent(this); - align = (height - descent) / height; + float ascent = painter.getAscent(this); + if (isSuperscript()) + align = 1.0F; + else if (isSubscript()) + align = height > 0 ? (height - (descent + (ascent / 2))) / height + : 0; + else + align = height > 0 ? (height - descent) / height : 0; } else align = super.getAlignment(axis); diff --git a/libjava/classpath/javax/swing/text/InternationalFormatter.java b/libjava/classpath/javax/swing/text/InternationalFormatter.java index 8db435c18f3..d6f2359e6f7 100644 --- a/libjava/classpath/javax/swing/text/InternationalFormatter.java +++ b/libjava/classpath/javax/swing/text/InternationalFormatter.java @@ -285,7 +285,7 @@ public class InternationalFormatter if (minimum != null && minimum.compareTo(o) > 0) throw new ParseException("The value may not be less than the" + " specified minimum", 0); - if (maximum != null && minimum.compareTo(o) < 0) + if (maximum != null && maximum.compareTo(o) < 0) throw new ParseException("The value may not be greater than the" + " specified maximum", 0); return o; diff --git a/libjava/classpath/javax/swing/text/JTextComponent.java b/libjava/classpath/javax/swing/text/JTextComponent.java index 6da84bfe7d8..68ba1f4284c 100644 --- a/libjava/classpath/javax/swing/text/JTextComponent.java +++ b/libjava/classpath/javax/swing/text/JTextComponent.java @@ -38,8 +38,6 @@ exception statement from your version. */ package javax.swing.text; -import gnu.classpath.NotImplementedException; - import java.awt.AWTEvent; import java.awt.Color; import java.awt.Container; @@ -47,6 +45,7 @@ import java.awt.Dimension; import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; +import java.awt.Shape; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; @@ -59,6 +58,7 @@ import java.awt.event.MouseEvent; import java.io.IOException; import java.io.Reader; import java.io.Writer; +import java.text.BreakIterator; import java.util.Enumeration; import java.util.Hashtable; @@ -67,6 +67,7 @@ import javax.accessibility.AccessibleAction; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleEditableText; import javax.accessibility.AccessibleRole; +import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleText; import javax.swing.Action; @@ -105,12 +106,7 @@ public abstract class JTextComponent extends JComponent /** * The caret's offset. */ - int dot = 0; - - /** - * The current JTextComponent. - */ - JTextComponent textComp = JTextComponent.this; + private int caretDot; /** * Construct an AccessibleJTextComponent. @@ -118,7 +114,8 @@ public abstract class JTextComponent extends JComponent public AccessibleJTextComponent() { super(); - textComp.addCaretListener(this); + JTextComponent.this.addCaretListener(this); + caretDot = getCaretPosition(); } /** @@ -129,8 +126,7 @@ public abstract class JTextComponent extends JComponent */ public int getCaretPosition() { - dot = textComp.getCaretPosition(); - return dot; + return JTextComponent.this.getCaretPosition(); } /** @@ -141,7 +137,7 @@ public abstract class JTextComponent extends JComponent */ public String getSelectedText() { - return textComp.getSelectedText(); + return JTextComponent.this.getSelectedText(); } /** @@ -156,9 +152,10 @@ public abstract class JTextComponent extends JComponent */ public int getSelectionStart() { - if (getSelectedText() == null || (textComp.getText().equals(""))) + if (getSelectedText() == null + || (JTextComponent.this.getText().equals(""))) return 0; - return textComp.getSelectionStart(); + return JTextComponent.this.getSelectionStart(); } /** @@ -173,9 +170,7 @@ public abstract class JTextComponent extends JComponent */ public int getSelectionEnd() { - if (getSelectedText() == null || (textComp.getText().equals(""))) - return 0; - return textComp.getSelectionEnd(); + return JTextComponent.this.getSelectionEnd(); } /** @@ -185,10 +180,20 @@ public abstract class JTextComponent extends JComponent * @param e - the caret update event */ public void caretUpdate(CaretEvent e) - throws NotImplementedException { - // TODO: fire appropriate event. - dot = e.getDot(); + int dot = e.getDot(); + int mark = e.getMark(); + if (caretDot != dot) + { + firePropertyChange(ACCESSIBLE_CARET_PROPERTY, new Integer(caretDot), + new Integer(dot)); + caretDot = dot; + } + if (mark != dot) + { + firePropertyChange(ACCESSIBLE_SELECTION_PROPERTY, null, + getSelectedText()); + } } /** @@ -197,10 +202,10 @@ public abstract class JTextComponent extends JComponent * @return the accessible state set of this component */ public AccessibleStateSet getAccessibleStateSet() - throws NotImplementedException { AccessibleStateSet state = super.getAccessibleStateSet(); - // TODO: Figure out what state must be added here to the super's state. + if (isEditable()) + state.add(AccessibleState.EDITABLE); return state; } @@ -248,9 +253,9 @@ public abstract class JTextComponent extends JComponent * @param e - the insertion event */ public void insertUpdate(DocumentEvent e) - throws NotImplementedException { - // TODO + firePropertyChange(ACCESSIBLE_TEXT_PROPERTY, null, + new Integer(e.getOffset())); } /** @@ -261,9 +266,9 @@ public abstract class JTextComponent extends JComponent * @param e - the removal event */ public void removeUpdate(DocumentEvent e) - throws NotImplementedException { - // TODO + firePropertyChange(ACCESSIBLE_TEXT_PROPERTY, null, + new Integer(e.getOffset())); } /** @@ -274,9 +279,9 @@ public abstract class JTextComponent extends JComponent * @param e - text change event */ public void changedUpdate(DocumentEvent e) - throws NotImplementedException { - // TODO + firePropertyChange(ACCESSIBLE_TEXT_PROPERTY, null, + new Integer(e.getOffset())); } /** @@ -289,9 +294,8 @@ public abstract class JTextComponent extends JComponent * @return a character index, or -1 */ public int getIndexAtPoint(Point p) - throws NotImplementedException { - return 0; // TODO + return viewToModel(p); } /** @@ -305,9 +309,51 @@ public abstract class JTextComponent extends JComponent * @return a character's bounding box, or null */ public Rectangle getCharacterBounds(int index) - throws NotImplementedException { - return null; // TODO + // This is basically the same as BasicTextUI.modelToView(). + + Rectangle bounds = null; + if (index >= 0 && index < doc.getLength() - 1) + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + TextUI ui = getUI(); + if (ui != null) + { + // Get editor rectangle. + Rectangle rect = new Rectangle(); + Insets insets = getInsets(); + rect.x = insets.left; + rect.y = insets.top; + rect.width = getWidth() - insets.left - insets.right; + rect.height = getHeight() - insets.top - insets.bottom; + View rootView = ui.getRootView(JTextComponent.this); + if (rootView != null) + { + rootView.setSize(rect.width, rect.height); + Shape s = rootView.modelToView(index, + Position.Bias.Forward, + index + 1, + Position.Bias.Backward, + rect); + if (s != null) + bounds = s.getBounds(); + } + } + } + catch (BadLocationException ex) + { + // Ignore (return null). + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + } + return bounds; } /** @@ -317,7 +363,7 @@ public abstract class JTextComponent extends JComponent */ public int getCharCount() { - return textComp.getText().length(); + return JTextComponent.this.getText().length(); } /** @@ -329,9 +375,26 @@ public abstract class JTextComponent extends JComponent * @return the character's attributes */ public AttributeSet getCharacterAttribute(int index) - throws NotImplementedException { - return null; // TODO + AttributeSet atts; + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + Element el = doc.getDefaultRootElement(); + while (! el.isLeaf()) + { + int i = el.getElementIndex(index); + el = el.getElement(i); + } + atts = el.getAttributes(); + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + return atts; } /** @@ -344,9 +407,8 @@ public abstract class JTextComponent extends JComponent * @return the part of text at that index, or null */ public String getAtIndex(int part, int index) - throws NotImplementedException { - return null; // TODO + return getAtIndexImpl(part, index, 0); } /** @@ -359,9 +421,8 @@ public abstract class JTextComponent extends JComponent * @return the part of text after that index, or null */ public String getAfterIndex(int part, int index) - throws NotImplementedException { - return null; // TODO + return getAtIndexImpl(part, index, 1); } /** @@ -374,11 +435,84 @@ public abstract class JTextComponent extends JComponent * @return the part of text before that index, or null */ public String getBeforeIndex(int part, int index) - throws NotImplementedException { - return null; // TODO + return getAtIndexImpl(part, index, -1); } - + + /** + * Implements getAtIndex(), getBeforeIndex() and getAfterIndex(). + * + * @param part the part to return, either CHARACTER, WORD or SENTENCE + * @param index the index + * @param dir the direction, -1 for backwards, 0 for here, +1 for forwards + * + * @return the resulting string + */ + private String getAtIndexImpl(int part, int index, int dir) + { + String ret = null; + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readLock(); + try + { + BreakIterator iter = null; + switch (part) + { + case CHARACTER: + iter = BreakIterator.getCharacterInstance(getLocale()); + break; + case WORD: + iter = BreakIterator.getWordInstance(getLocale()); + break; + case SENTENCE: + iter = BreakIterator.getSentenceInstance(getLocale()); + break; + default: + break; + } + String text = doc.getText(0, doc.getLength() - 1); + iter.setText(text); + int start = index; + int end = index; + switch (dir) + { + case 0: + if (iter.isBoundary(index)) + { + start = index; + end = iter.following(index); + } + else + { + start = iter.preceding(index); + end = iter.next(); + } + break; + case 1: + start = iter.following(index); + end = iter.next(); + break; + case -1: + end = iter.preceding(index); + start = iter.previous(); + break; + default: + assert false; + } + ret = text.substring(start, end); + } + catch (BadLocationException ex) + { + // Ignore (return null). + } + finally + { + if (doc instanceof AbstractDocument) + ((AbstractDocument) doc).readUnlock(); + } + return ret; + } + /** * Returns the number of actions for this object. The zero-th * object represents the default action. @@ -386,9 +520,8 @@ public abstract class JTextComponent extends JComponent * @return the number of actions (0-based). */ public int getAccessibleActionCount() - throws NotImplementedException { - return 0; // TODO + return getActions().length; } /** @@ -400,10 +533,12 @@ public abstract class JTextComponent extends JComponent * @return description of the i-th action */ public String getAccessibleActionDescription(int i) - throws NotImplementedException { - // TODO: Not implemented fully - return super.getAccessibleDescription(); + String desc = null; + Action[] actions = getActions(); + if (i >= 0 && i < actions.length) + desc = (String) actions[i].getValue(Action.NAME); + return desc; } /** @@ -415,9 +550,17 @@ public abstract class JTextComponent extends JComponent * @return true if the action was performed successfully */ public boolean doAccessibleAction(int i) - throws NotImplementedException { - return false; // TODO + boolean ret = false; + Action[] actions = getActions(); + if (i >= 0 && i < actions.length) + { + ActionEvent ev = new ActionEvent(JTextComponent.this, + ActionEvent.ACTION_PERFORMED, null); + actions[i].actionPerformed(ev); + ret = true; + } + return ret; } /** @@ -426,9 +569,8 @@ public abstract class JTextComponent extends JComponent * @param s - the new text contents. */ public void setTextContents(String s) - throws NotImplementedException { - // TODO + setText(s); } /** @@ -438,9 +580,16 @@ public abstract class JTextComponent extends JComponent * @param s - the new text */ public void insertTextAtIndex(int index, String s) - throws NotImplementedException { - replaceText(index, index, s); + try + { + doc.insertString(index, s, null); + } + catch (BadLocationException ex) + { + // What should we do with this? + ex.printStackTrace(); + } } /** @@ -453,7 +602,7 @@ public abstract class JTextComponent extends JComponent { try { - return textComp.getText(start, end - start); + return JTextComponent.this.getText(start, end - start); } catch (BadLocationException ble) { @@ -481,8 +630,8 @@ public abstract class JTextComponent extends JComponent */ public void cut(int start, int end) { - textComp.select(start, end); - textComp.cut(); + JTextComponent.this.select(start, end); + JTextComponent.this.cut(); } /** @@ -492,8 +641,8 @@ public abstract class JTextComponent extends JComponent */ public void paste(int start) { - textComp.setCaretPosition(start); - textComp.paste(); + JTextComponent.this.setCaretPosition(start); + JTextComponent.this.paste(); } /** @@ -506,8 +655,8 @@ public abstract class JTextComponent extends JComponent */ public void replaceText(int start, int end, String s) { - textComp.select(start, end); - textComp.replaceSelection(s); + JTextComponent.this.select(start, end); + JTextComponent.this.replaceSelection(s); } /** @@ -518,7 +667,7 @@ public abstract class JTextComponent extends JComponent */ public void selectText(int start, int end) { - textComp.select(start, end); + JTextComponent.this.select(start, end); } /** @@ -529,9 +678,12 @@ public abstract class JTextComponent extends JComponent * @param s - the new attribute set for the text in the range */ public void setAttributes(int start, int end, AttributeSet s) - throws NotImplementedException { - // TODO + if (doc instanceof StyledDocument) + { + StyledDocument sdoc = (StyledDocument) doc; + sdoc.setCharacterAttributes(start, end - start, s, true); + } } } diff --git a/libjava/classpath/javax/swing/text/LabelView.java b/libjava/classpath/javax/swing/text/LabelView.java index 03279c4b2b5..7cfeae86229 100644 --- a/libjava/classpath/javax/swing/text/LabelView.java +++ b/libjava/classpath/javax/swing/text/LabelView.java @@ -39,9 +39,11 @@ exception statement from your version. */ package javax.swing.text; import java.awt.Color; +import java.awt.Container; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Shape; +import java.awt.Toolkit; import javax.swing.event.DocumentEvent; @@ -89,6 +91,11 @@ public class LabelView extends GlyphView */ boolean superscript; + /** + * Indicates if the attributes must be refetched. + */ + private boolean valid; + /** * Creates a new GlyphView for the given Element. * @@ -97,7 +104,7 @@ public class LabelView extends GlyphView public LabelView(Element element) { super(element); - setPropertiesFromAttributes(); + valid = false; } /** @@ -107,28 +114,25 @@ public class LabelView extends GlyphView */ protected void setPropertiesFromAttributes() { - Element el = getElement(); - AttributeSet atts = el.getAttributes(); - // We cannot use StyleConstants.getBackground() here, because that returns - // BLACK as default (when background == null). What we need is the - // background setting of the text component instead, which is what we get - // when background == null anyway. - background = (Color) atts.getAttribute(StyleConstants.Background); - foreground = StyleConstants.getForeground(atts); - strikeThrough = StyleConstants.isStrikeThrough(atts); - subscript = StyleConstants.isSubscript(atts); - superscript = StyleConstants.isSuperscript(atts); - underline = StyleConstants.isUnderline(atts); - - // Determine the font. - String family = StyleConstants.getFontFamily(atts); - int size = StyleConstants.getFontSize(atts); - int style = Font.PLAIN; - if (StyleConstants.isBold(atts)) - style |= Font.BOLD; - if (StyleConstants.isItalic(atts)) - style |= Font.ITALIC; - font = new Font(family, style, size); + AttributeSet atts = getAttributes(); + setStrikeThrough(StyleConstants.isStrikeThrough(atts)); + setSubscript(StyleConstants.isSubscript(atts)); + setSuperscript(StyleConstants.isSuperscript(atts)); + setUnderline(StyleConstants.isUnderline(atts)); + + // Determine the font and colors. + Document d = getDocument(); + if (d instanceof StyledDocument) + { + StyledDocument doc = (StyledDocument) d; + font = doc.getFont(atts); + if (atts.isDefined(StyleConstants.Background)) + background = doc.getBackground(atts); + else + background = null; + foreground = doc.getForeground(atts); + } + valid = true; } /** @@ -142,7 +146,8 @@ public class LabelView extends GlyphView */ public void changedUpdate(DocumentEvent e, Shape a, ViewFactory vf) { - setPropertiesFromAttributes(); + valid = false; + super.changedUpdate(e, a, vf); } /** @@ -152,6 +157,8 @@ public class LabelView extends GlyphView */ public Color getBackground() { + if (! valid) + setPropertiesFromAttributes(); return background; } @@ -175,6 +182,8 @@ public class LabelView extends GlyphView */ public Color getForeground() { + if (! valid) + setPropertiesFromAttributes(); return foreground; } @@ -185,6 +194,8 @@ public class LabelView extends GlyphView */ public Font getFont() { + if (! valid) + setPropertiesFromAttributes(); return font; } @@ -197,7 +208,16 @@ public class LabelView extends GlyphView */ protected FontMetrics getFontMetrics() { - return getContainer().getGraphics().getFontMetrics(font); + if (! valid) + setPropertiesFromAttributes(); + + Container c = getContainer(); + FontMetrics fm; + if (c != null) + fm = c.getFontMetrics(font); + else + fm = Toolkit.getDefaultToolkit().getFontMetrics(font); + return fm; } /** @@ -209,6 +229,8 @@ public class LabelView extends GlyphView */ public boolean isUnderline() { + if (! valid) + setPropertiesFromAttributes(); return underline; } @@ -232,6 +254,8 @@ public class LabelView extends GlyphView */ public boolean isSubscript() { + if (! valid) + setPropertiesFromAttributes(); return subscript; } @@ -255,6 +279,8 @@ public class LabelView extends GlyphView */ public boolean isSuperscript() { + if (! valid) + setPropertiesFromAttributes(); return superscript; } @@ -278,6 +304,8 @@ public class LabelView extends GlyphView */ public boolean isStrikeThrough() { + if (! valid) + setPropertiesFromAttributes(); return strikeThrough; } diff --git a/libjava/classpath/javax/swing/text/MaskFormatter.java b/libjava/classpath/javax/swing/text/MaskFormatter.java index d12b9ea29d7..581cceb617d 100644 --- a/libjava/classpath/javax/swing/text/MaskFormatter.java +++ b/libjava/classpath/javax/swing/text/MaskFormatter.java @@ -110,9 +110,7 @@ public class MaskFormatter extends DefaultFormatter */ public MaskFormatter (String mask) throws java.text.ParseException { - // Override super's default behaviour, in MaskFormatter the default - // is not to allow invalid values - setAllowsInvalid(false); + this(); setMask (mask); } @@ -307,60 +305,124 @@ public class MaskFormatter extends DefaultFormatter */ public Object stringToValue (String value) throws ParseException { - int vLength = value.length(); - - // For value to be a valid it must be the same length as the mask - // note this doesn't take into account symbols that occupy more than - // one character, this is something we may possibly need to fix. - if (maskLength != vLength) - throw new ParseException ("stringToValue passed invalid value", vLength); - - // Check if the value is valid according to the mask and valid/invalid - // sets. - try - { - convertValue(value, false); - } - catch (ParseException pe) - { - throw new ParseException("stringToValue passed invalid value", - pe.getErrorOffset()); - } - - if (!getValueContainsLiteralCharacters()) - value = stripLiterals(value); - return super.stringToValue(value); + return super.stringToValue(convertStringToValue(value)); } - /** - * Strips the literal characters from the given String. - * @param value the String to strip - * @return the stripped String - */ - String stripLiterals(String value) + private String convertStringToValue(String value) + throws ParseException { StringBuffer result = new StringBuffer(); - for (int i = 0; i < value.length(); i++) + char valueChar; + boolean isPlaceHolder; + + int length = mask.length(); + for (int i = 0, j = 0; j < length; j++) { - // Only append the characters that don't correspond to literal - // characters in the mask. - switch (mask.charAt(i)) + char maskChar = mask.charAt(j); + + if (i < value.length()) + { + isPlaceHolder = false; + valueChar = value.charAt(i); + if (maskChar != ESCAPE_CHAR && maskChar != valueChar) + { + if (invalidChars != null + && invalidChars.indexOf(valueChar) != -1) + throw new ParseException("Invalid character: " + valueChar, i); + if (validChars != null + && validChars.indexOf(valueChar) == -1) + throw new ParseException("Invalid character: " + valueChar, i); + } + } + else if (placeHolder != null && i < placeHolder.length()) + { + isPlaceHolder = true; + valueChar = placeHolder.charAt(i); + } + else + { + isPlaceHolder = true; + valueChar = placeHolderChar; + } + + // This switch block on the mask character checks that the character + // within value at that point is valid according to the + // mask and also converts to upper/lowercase as needed. + switch (maskChar) { case NUM_CHAR: + if (! Character.isDigit(valueChar)) + throw new ParseException("Number expected: " + valueChar, i); + result.append(valueChar); + i++; + break; case UPPERCASE_CHAR: + if (! Character.isLetter(valueChar)) + throw new ParseException("Letter expected", i); + result.append(Character.toUpperCase(valueChar)); + i++; + break; case LOWERCASE_CHAR: + if (! Character.isLetter(valueChar)) + throw new ParseException("Letter expected", i); + result.append(Character.toLowerCase(valueChar)); + i++; + break; case ALPHANUM_CHAR: + if (! Character.isLetterOrDigit(valueChar)) + throw new ParseException("Letter or number expected", i); + result.append(valueChar); + i++; + break; case LETTER_CHAR: + if (! Character.isLetter(valueChar)) + throw new ParseException("Letter expected", i); + result.append(valueChar); + i++; + break; case HEX_CHAR: + if (hexString.indexOf(valueChar) == -1 && ! isPlaceHolder) + throw new ParseException("Hexadecimal character expected", i); + result.append(valueChar); + i++; + break; case ANYTHING_CHAR: - result.append(value.charAt(i)); + result.append(valueChar); + i++; + break; + case ESCAPE_CHAR: + // Escape character, check the next character to make sure that + // the literals match + j++; + if (j < length) + { + maskChar = mask.charAt(j); + if (! isPlaceHolder && getValueContainsLiteralCharacters() + && valueChar != maskChar) + throw new ParseException ("Invalid character: "+ valueChar, i); + if (getValueContainsLiteralCharacters()) + { + result.append(maskChar); + } + i++; + } + else if (! isPlaceHolder) + throw new ParseException("Bad match at trailing escape: ", i); break; default: + if (! isPlaceHolder && getValueContainsLiteralCharacters() + && valueChar != maskChar) + throw new ParseException ("Invalid character: "+ valueChar, i); + if (getValueContainsLiteralCharacters()) + { + result.append(maskChar); + } + i++; } } return result.toString(); } - + /** * Returns a String representation of the Object value based on the mask. * @@ -368,21 +430,10 @@ public class MaskFormatter extends DefaultFormatter * @throws ParseException if value is invalid for this mask and valid/invalid * character sets */ - public String valueToString (Object value) throws ParseException + public String valueToString(Object value) throws ParseException { - String result = super.valueToString(value); - int rLength = result.length(); - - // If value is longer than the mask, truncate it. Note we may need to - // account for symbols that are more than one character long. - if (rLength > maskLength) - result = result.substring(0, maskLength); - - // Verify the validity and convert to upper/lowercase as needed. - result = convertValue(result, true); - if (rLength < maskLength) - return pad(result, rLength); - return result; + String string = value != null ? value.toString() : ""; + return convertValueToString(string); } /** @@ -390,194 +441,116 @@ public class MaskFormatter extends DefaultFormatter * sure that it is valid. If convert is true, it also * converts letters to upper/lowercase as required by the mask. * @param value the String to convert - * @param convert true if we should convert letters to upper/lowercase * @return the converted String * @throws ParseException if the given String isn't valid for the mask */ - String convertValue(String value, boolean convert) throws ParseException + private String convertValueToString(String value) + throws ParseException { - StringBuffer result = new StringBuffer(value); - char markChar; - char resultChar; - boolean literal; - - // this boolean is specifically to avoid calling the isCharValid method - // when neither invalidChars or validChars has been set - boolean checkCharSets = (invalidChars != null || validChars != null); + StringBuffer result = new StringBuffer(); + char valueChar; + boolean isPlaceHolder; - for (int i = 0, j = 0; i < value.length(); i++, j++) + int length = mask.length(); + for (int i = 0, j = 0; j < length; j++) { - literal = false; - resultChar = result.charAt(i); + char maskChar = mask.charAt(j); + if (i < value.length()) + { + isPlaceHolder = false; + valueChar = value.charAt(i); + if (maskChar != ESCAPE_CHAR && valueChar != maskChar) + { + if (invalidChars != null + && invalidChars.indexOf(valueChar) != -1) + throw new ParseException("Invalid character: " + valueChar, + i); + if (validChars != null && validChars.indexOf(valueChar) == -1) + throw new ParseException("Invalid character: " + valueChar +" maskChar: " + maskChar, + i); + } + } + else if (placeHolder != null && i < placeHolder.length()) + { + isPlaceHolder = true; + valueChar = placeHolder.charAt(i); + } + else + { + isPlaceHolder = true; + valueChar = placeHolderChar; + } + // This switch block on the mask character checks that the character // within value at that point is valid according to the // mask and also converts to upper/lowercase as needed. - switch (mask.charAt(j)) + switch (maskChar) { case NUM_CHAR: - if (!Character.isDigit(resultChar)) - throw new ParseException("Number expected", i); + if ( ! isPlaceHolder && ! Character.isDigit(valueChar)) + throw new ParseException("Number expected: " + valueChar, i); + result.append(valueChar); + i++; break; case UPPERCASE_CHAR: - if (!Character.isLetter(resultChar)) + if (! Character.isLetter(valueChar)) throw new ParseException("Letter expected", i); - if (convert) - result.setCharAt(i, Character.toUpperCase(resultChar)); + result.append(Character.toUpperCase(valueChar)); + i++; break; case LOWERCASE_CHAR: - if (!Character.isLetter(resultChar)) + if (! Character.isLetter(valueChar)) throw new ParseException("Letter expected", i); - if (convert) - result.setCharAt(i, Character.toLowerCase(resultChar)); + result.append(Character.toLowerCase(valueChar)); + i++; break; case ALPHANUM_CHAR: - if (!Character.isLetterOrDigit(resultChar)) + if (! Character.isLetterOrDigit(valueChar)) throw new ParseException("Letter or number expected", i); + result.append(valueChar); + i++; break; case LETTER_CHAR: - if (!Character.isLetter(resultChar)) + if (! Character.isLetter(valueChar)) throw new ParseException("Letter expected", i); + result.append(valueChar); + i++; break; case HEX_CHAR: - if (hexString.indexOf(resultChar) == -1) + if (hexString.indexOf(valueChar) == -1 && ! isPlaceHolder) throw new ParseException("Hexadecimal character expected", i); + result.append(valueChar); + i++; break; case ANYTHING_CHAR: + result.append(valueChar); + i++; break; case ESCAPE_CHAR: // Escape character, check the next character to make sure that // the literals match j++; - literal = true; - if (resultChar != mask.charAt(j)) - throw new ParseException ("Invalid character: "+resultChar, i); + if (j < length) + { + maskChar = mask.charAt(j); + if (! isPlaceHolder && getValueContainsLiteralCharacters() + && valueChar != maskChar) + throw new ParseException ("Invalid character: "+ valueChar, i); + if (getValueContainsLiteralCharacters()) + i++; + result.append(maskChar); + } break; default: - literal = true; - if (!getValueContainsLiteralCharacters() && convert) - throw new ParseException ("Invalid character: "+resultChar, i); - else if (resultChar != mask.charAt(j)) - throw new ParseException ("Invalid character: "+resultChar, i); + if (! isPlaceHolder && getValueContainsLiteralCharacters() + && valueChar != maskChar) + throw new ParseException ("Invalid character: "+ valueChar, i); + if (getValueContainsLiteralCharacters()) + i++; + result.append(maskChar); } - // If necessary, check if the character is valid. - if (!literal && checkCharSets && !isCharValid(resultChar)) - throw new ParseException("invalid character: "+resultChar, i); - - } - return result.toString(); - } - - /** - * Convenience method used by many other methods to check if a character is - * valid according to the mask, the validChars, and the invalidChars. To - * be valid a character must: - * 1. be allowed by the mask - * 2. be present in any non-null validChars String - * 3. not be present in any non-null invalidChars String - * @param testChar the character to test - * @return true if the character is valid - */ - boolean isCharValid(char testChar) - { - char lower = Character.toLowerCase(testChar); - char upper = Character.toUpperCase(testChar); - // If validChars isn't null, the character must appear in it. - if (validChars != null) - if (validChars.indexOf(lower) == -1 && validChars.indexOf(upper) == -1) - return false; - // If invalidChars isn't null, the character must not appear in it. - if (invalidChars != null) - if (invalidChars.indexOf(lower) != -1 - || invalidChars.indexOf(upper) != -1) - return false; - return true; - } - - /** - * Pads the value with literals, the placeholder String and/or placeholder - * character as appropriate. - * @param value the value to pad - * @param currLength the current length of the value - * @return the padded String - */ - String pad (String value, int currLength) - { - StringBuffer result = new StringBuffer(value); - int index = currLength; - while (result.length() < maskLength) - { - // The character used to pad may be a literal, a character from the - // place holder string, or the place holder character. getPadCharAt - // will find the proper one for us. - result.append (getPadCharAt(index)); - index++; } return result.toString(); } - /** - * Returns the character with which to pad the value at the given index - * position. If the mask has a literal at this position, this is returned - * otherwise if the place holder string is initialized and is longer than - * i characters then the character at position i - * from this String is returned. Else, the place holder character is - * returned. - * @param i the index at which we want to pad the value - * @return the character with which we should pad the value - */ - char getPadCharAt(int i) - { - boolean escaped = false; - int target = i; - char maskChar; - int holderLength = placeHolder == null ? -1 : placeHolder.length(); - // We must iterate through the mask from the beginning, because the given - // index doesn't account for escaped characters. For example, with the - // mask "1A'A''A1" index 2 refers to the literalized A, not to the - // single quotation. - for (int n = 0; n < mask.length(); n++) - { - maskChar = mask.charAt(n); - if (maskChar == ESCAPE_CHAR && !escaped) - { - target++; - escaped = true; - } - else if (escaped == true) - { - // Check if target == n which means we've come to the character - // we want to return and since it is a literal (because escaped - // is true), we return it. - if (target == n) - return maskChar; - escaped = false; - } - if (target == n) - { - // We've come to the character we want to return. It wasn't - // escaped so if it isn't a literal we should return either - // the character from place holder string or the place holder - // character, depending on whether or not the place holder - // string is long enough. - switch (maskChar) - { - case NUM_CHAR: - case UPPERCASE_CHAR: - case LOWERCASE_CHAR: - case ALPHANUM_CHAR: - case LETTER_CHAR: - case HEX_CHAR: - case ANYTHING_CHAR: - if (holderLength > i) - return placeHolder.charAt(i); - else - return placeHolderChar; - default: - return maskChar; - } - } - } - // This shouldn't happen - throw new AssertionError("MaskFormatter.getMaskCharAt failed"); - } } diff --git a/libjava/classpath/javax/swing/text/MutableAttributeSet.java b/libjava/classpath/javax/swing/text/MutableAttributeSet.java index 3728b9ce126..5dd2406a3a9 100644 --- a/libjava/classpath/javax/swing/text/MutableAttributeSet.java +++ b/libjava/classpath/javax/swing/text/MutableAttributeSet.java @@ -90,7 +90,7 @@ public interface MutableAttributeSet extends AttributeSet * @throws NullPointerException if names is null * or contains any null values. */ - void removeAttributes(Enumeration names); + void removeAttributes(Enumeration names); /** * Removes attributes from this set if they are found in the diff --git a/libjava/classpath/javax/swing/text/ParagraphView.java b/libjava/classpath/javax/swing/text/ParagraphView.java index c4857863d35..fb4ac65d835 100644 --- a/libjava/classpath/javax/swing/text/ParagraphView.java +++ b/libjava/classpath/javax/swing/text/ParagraphView.java @@ -38,8 +38,12 @@ exception statement from your version. */ package javax.swing.text; +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Rectangle; import java.awt.Shape; +import javax.swing.SizeRequirements; import javax.swing.event.DocumentEvent; /** @@ -64,29 +68,44 @@ public class ParagraphView extends FlowView implements TabExpander super(el, X_AXIS); } + /** + * Overridden to adjust when we are the first line, and firstLineIndent + * is not 0. + */ + public short getLeftInset() + { + short leftInset = super.getLeftInset(); + View parent = getParent(); + if (parent != null) + { + if (parent.getView(0) == this) + leftInset += firstLineIndent; + } + return leftInset; + } + public float getAlignment(int axis) { float align; if (axis == X_AXIS) - align = 0.0F; // TODO: Implement according to justification + switch (justification) + { + case StyleConstants.ALIGN_RIGHT: + align = 1.0F; + break; + case StyleConstants.ALIGN_CENTER: + case StyleConstants.ALIGN_JUSTIFIED: + align = 0.5F; + break; + case StyleConstants.ALIGN_LEFT: + default: + align = 0.0F; + } else align = super.getAlignment(axis); return align; } - /** - * Allows rows to span the whole parent view. - */ - public float getMaximumSpan(int axis) - { - float max; - if (axis == X_AXIS) - max = Float.MAX_VALUE; - else - max = super.getMaximumSpan(axis); - return max; - } - /** * Overridden because child views are not necessarily laid out in model * order. @@ -107,10 +126,63 @@ public class ParagraphView extends FlowView implements TabExpander return index; } + + /** + * Overridden to perform a baseline layout. The normal BoxView layout + * isn't completely suitable for rows. + */ + protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, + int[] spans) + { + baselineLayout(targetSpan, axis, offsets, spans); + } + + /** + * Overridden to perform a baseline layout. The normal BoxView layout + * isn't completely suitable for rows. + */ + protected SizeRequirements calculateMinorAxisRequirements(int axis, + SizeRequirements r) + { + return baselineRequirements(axis, r); + } + protected void loadChildren(ViewFactory vf) { // Do nothing here. The children are added while layouting. } + + /** + * Overridden to determine the minimum start offset of the row's children. + */ + public int getStartOffset() + { + // Determine minimum start offset of the children. + int offset = Integer.MAX_VALUE; + int n = getViewCount(); + for (int i = 0; i < n; i++) + { + View v = getView(i); + offset = Math.min(offset, v.getStartOffset()); + } + return offset; + } + + /** + * Overridden to determine the maximum end offset of the row's children. + */ + public int getEndOffset() + { + // Determine minimum start offset of the children. + int offset = 0; + int n = getViewCount(); + for (int i = 0; i < n; i++) + { + View v = getView(i); + offset = Math.max(offset, v.getEndOffset()); + } + return offset; + } } /** @@ -192,11 +264,14 @@ public class ParagraphView extends FlowView implements TabExpander * * @param ev the document event * @param a the allocation of this view - * @param fv the view factory to use for creating new child views + * @param vf the view factory to use for creating new child views */ - public void changedUpdate(DocumentEvent ev, Shape a, ViewFactory fv) + public void changedUpdate(DocumentEvent ev, Shape a, ViewFactory vf) { setPropertiesFromAttributes(); + layoutChanged(X_AXIS); + layoutChanged(Y_AXIS); + super.changedUpdate(ev, a, vf); } /** diff --git a/libjava/classpath/javax/swing/text/PlainView.java b/libjava/classpath/javax/swing/text/PlainView.java index 48fe37ce880..e048d5f7168 100644 --- a/libjava/classpath/javax/swing/text/PlainView.java +++ b/libjava/classpath/javax/swing/text/PlainView.java @@ -87,6 +87,16 @@ public class PlainView extends View implements TabExpander */ private transient Segment lineBuffer; + /** + * The base offset for tab calculations. + */ + private int tabBase; + + /** + * The tab size. + */ + private int tabSize; + public PlainView(Element elem) { super(elem); @@ -104,6 +114,7 @@ public class PlainView extends View implements TabExpander { this.font = font; metrics = component.getFontMetrics(font); + tabSize = getTabSize() * metrics.charWidth('m'); } } @@ -115,7 +126,7 @@ public class PlainView extends View implements TabExpander // Ensure metrics are up-to-date. updateMetrics(); - Rectangle rect = a.getBounds(); + Rectangle rect = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); int fontHeight = metrics.getHeight(); return new Rectangle(rect.x, rect.y + (line * fontHeight), rect.width, fontHeight); @@ -132,13 +143,14 @@ public class PlainView extends View implements TabExpander // Get rectangle of the line containing position. int lineIndex = getElement().getElementIndex(position); Rectangle rect = lineToRect(a, lineIndex); + tabBase = rect.x; // Get the rectangle for position. Element line = getElement().getElement(lineIndex); int lineStart = line.getStartOffset(); Segment segment = getLineBuffer(); document.getText(lineStart, position - lineStart, segment); - int xoffset = Utilities.getTabbedTextWidth(segment, metrics, rect.x, + int xoffset = Utilities.getTabbedTextWidth(segment, metrics, tabBase, this, lineStart); // Calc the real rectangle. @@ -262,17 +274,47 @@ public class PlainView extends View implements TabExpander selectionStart = textComponent.getSelectionStart(); selectionEnd = textComponent.getSelectionEnd(); - Rectangle rect = s.getBounds(); + Rectangle rect = s instanceof Rectangle ? (Rectangle) s : s.getBounds(); + tabBase = rect.x; // FIXME: Text may be scrolled. Document document = textComponent.getDocument(); - Element root = document.getDefaultRootElement(); - int y = rect.y + metrics.getAscent(); + Element root = getElement(); int height = metrics.getHeight(); - + + // For layered highlighters we need to paint the layered highlights + // before painting any text. + LayeredHighlighter hl = null; + Highlighter h = textComponent.getHighlighter(); + if (h instanceof LayeredHighlighter) + hl = (LayeredHighlighter) h; + int count = root.getElementCount(); - for (int i = 0; i < count; i++) + + // Determine first and last line inside the clip. + Rectangle clip = g.getClipBounds(); + SwingUtilities.computeIntersection(rect.x, rect.y, rect.width, rect.height, + clip); + int line0 = (clip.y - rect.y) / height; + line0 = Math.max(0, Math.min(line0, count - 1)); + int line1 = (clip.y + clip.height - rect.y) / height; + line1 = Math.max(0, Math.min(line1, count - 1)); + int y = rect.y + metrics.getAscent() + height * line0; + for (int i = line0; i <= line1; i++) { + if (hl != null) + { + Element lineEl = root.getElement(i); + // Exclude the trailing newline from beeing highlighted. + if (i == count) + hl.paintLayeredHighlights(g, lineEl.getStartOffset(), + lineEl.getEndOffset(), s, textComponent, + this); + else + hl.paintLayeredHighlights(g, lineEl.getStartOffset(), + lineEl.getEndOffset() - 1, s, + textComponent, this); + } drawLine(i, g, rect.x, y); y += height; } @@ -303,8 +345,13 @@ public class PlainView extends View implements TabExpander */ public float nextTabStop(float x, int tabStop) { - float tabSizePixels = getTabSize() * metrics.charWidth('m'); - return (float) (Math.floor(x / tabSizePixels) + 1) * tabSizePixels; + float next = x; + if (tabSize != 0) + { + int numTabs = (((int) x) - tabBase) / tabSize; + next = tabBase + (numTabs + 1) * tabSize; + } + return next; } /** @@ -390,41 +437,58 @@ public class PlainView extends View implements TabExpander */ public int viewToModel(float x, float y, Shape a, Position.Bias[] b) { - Rectangle rec = a.getBounds(); - Document doc = getDocument(); - Element root = doc.getDefaultRootElement(); - - // PlainView doesn't support line-wrapping so we can find out which - // Element was clicked on just by the y-position. - // Since the coordinates may be outside of the coordinate space - // of the allocation area (e.g. user dragged mouse outside - // the component) we have to limit the values. - // This has the nice effect that the user can drag the - // mouse above or below the component and it will still - // react to the x values (e.g. when selecting). - int lineClicked - = Math.min(Math.max((int) (y - rec.y) / metrics.getHeight(), 0), - root.getElementCount() - 1); - - Element line = root.getElement(lineClicked); - - Segment s = getLineBuffer(); - int start = line.getStartOffset(); - // We don't want the \n at the end of the line. - int end = line.getEndOffset() - 1; - try - { - doc.getText(start, end - start, s); - } - catch (BadLocationException ble) + Rectangle rec = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + tabBase = rec.x; + + int pos; + if ((int) y < rec.y) + // Above our area vertically. Return start offset. + pos = getStartOffset(); + else if ((int) y > rec.y + rec.height) + // Below our area vertically. Return end offset. + pos = getEndOffset() - 1; + else { - AssertionError ae = new AssertionError("Unexpected bad location"); - ae.initCause(ble); - throw ae; + // Inside the allocation vertically. Determine line and X offset. + Document doc = getDocument(); + Element root = doc.getDefaultRootElement(); + int line = Math.abs(((int) y - rec.y) / metrics.getHeight()); + if (line >= root.getElementCount()) + pos = getEndOffset() - 1; + else + { + Element lineEl = root.getElement(line); + if (x < rec.x) + // To the left of the allocation area. + pos = lineEl.getStartOffset(); + else if (x > rec.x + rec.width) + // To the right of the allocation area. + pos = lineEl.getEndOffset() - 1; + else + { + try + { + int p0 = lineEl.getStartOffset(); + int p1 = lineEl.getEndOffset(); + Segment s = new Segment(); + doc.getText(p0, p1 - p0, s); + tabBase = rec.x; + pos = p0 + Utilities.getTabbedTextOffset(s, metrics, + tabBase, (int) x, + this, p0); + } + catch (BadLocationException ex) + { + // Should not happen. + pos = -1; + } + } + + } } - - int pos = Utilities.getTabbedTextOffset(s, metrics, rec.x, (int)x, this, start); - return Math.max (0, pos); + // Bias is always forward. + b[0] = Position.Bias.Forward; + return pos; } /** @@ -654,7 +718,7 @@ public class PlainView extends View implements TabExpander throw err; } - return Utilities.getTabbedTextWidth(buffer, metrics, 0, this, + return Utilities.getTabbedTextWidth(buffer, metrics, tabBase, this, lineEl.getStartOffset()); } } diff --git a/libjava/classpath/javax/swing/text/Position.java b/libjava/classpath/javax/swing/text/Position.java index bb1449e187a..d02eb834dd9 100644 --- a/libjava/classpath/javax/swing/text/Position.java +++ b/libjava/classpath/javax/swing/text/Position.java @@ -42,8 +42,8 @@ public interface Position { static final class Bias { - public static final Bias Backward = new Bias("backward"); - public static final Bias Forward = new Bias("forward"); + public static final Bias Backward = new Bias("Backward"); + public static final Bias Forward = new Bias("Forward"); private String name; diff --git a/libjava/classpath/javax/swing/text/SimpleAttributeSet.java b/libjava/classpath/javax/swing/text/SimpleAttributeSet.java index 8684ef87d34..701fa8a7c90 100644 --- a/libjava/classpath/javax/swing/text/SimpleAttributeSet.java +++ b/libjava/classpath/javax/swing/text/SimpleAttributeSet.java @@ -123,9 +123,17 @@ public class SimpleAttributeSet */ public Object clone() { - SimpleAttributeSet s = new SimpleAttributeSet(); - s.tab = (Hashtable) tab.clone(); - return s; + SimpleAttributeSet attr = null; + try + { + attr = (SimpleAttributeSet) super.clone(); + attr.tab = (Hashtable) tab.clone(); + } + catch (CloneNotSupportedException ex) + { + assert false; + } + return attr; } /** @@ -253,7 +261,7 @@ public class SimpleAttributeSet * * @return An enumeration of the attribute names. */ - public Enumeration getAttributeNames() + public Enumeration getAttributeNames() { return tab.keys(); } @@ -367,7 +375,7 @@ public class SimpleAttributeSet * @throws NullPointerException if names is null * or contains any null values. */ - public void removeAttributes(Enumeration names) + public void removeAttributes(Enumeration names) { while (names.hasMoreElements()) { diff --git a/libjava/classpath/javax/swing/text/StringContent.java b/libjava/classpath/javax/swing/text/StringContent.java index 8014dc3bce6..4a3f9d75222 100644 --- a/libjava/classpath/javax/swing/text/StringContent.java +++ b/libjava/classpath/javax/swing/text/StringContent.java @@ -39,6 +39,9 @@ exception statement from your version. */ package javax.swing.text; import java.io.Serializable; +import java.lang.ref.Reference; +import java.lang.ref.ReferenceQueue; +import java.lang.ref.WeakReference; import java.util.Iterator; import java.util.Vector; @@ -57,6 +60,76 @@ import javax.swing.undo.UndoableEdit; public final class StringContent implements AbstractDocument.Content, Serializable { + /** + * Stores a reference to a mark that can be resetted to the original value + * after a mark has been moved. This is used for undoing actions. + */ + private class UndoPosRef + { + /** + * The mark that might need to be reset. + */ + private Mark mark; + + /** + * The original offset to reset the mark to. + */ + private int undoOffset; + + /** + * Creates a new UndoPosRef. + * + * @param m the mark + */ + UndoPosRef(Mark m) + { + mark = m; + undoOffset = mark.mark; + } + + /** + * Resets the position of the mark to the value that it had when + * creating this UndoPosRef. + */ + void reset() + { + mark.mark = undoOffset; + } + } + + /** + * Holds a mark into the buffer that is used by StickyPosition to find + * the actual offset of the position. This is pulled out of the + * GapContentPosition object so that the mark and position can be handled + * independently, and most important, so that the StickyPosition can + * be garbage collected while we still hold a reference to the Mark object. + */ + private class Mark + { + /** + * The actual mark into the buffer. + */ + int mark; + + + /** + * The number of GapContentPosition object that reference this mark. If + * it reaches zero, it get's deleted by + * {@link StringContent#garbageCollect()}. + */ + int refCount; + + /** + * Creates a new Mark object for the specified offset. + * + * @param offset the offset + */ + Mark(int offset) + { + mark = offset; + } + } + /** The serialization UID (compatible with JDK1.5). */ private static final long serialVersionUID = 4755994433709540381L; @@ -65,7 +138,12 @@ public final class StringContent private int count; - private Vector positions = new Vector(); + /** + * Holds the marks for the positions. + * + * This is package private to avoid accessor methods. + */ + Vector marks; private class InsertUndo extends AbstractUndoableEdit { @@ -75,6 +153,8 @@ public final class StringContent private String redoContent; + private Vector positions; + public InsertUndo(int start, int length) { super(); @@ -87,10 +167,10 @@ public final class StringContent super.undo(); try { - StringContent.this.checkLocation(this.start, this.length); - this.redoContent = new String(StringContent.this.content, this.start, - this.length); - StringContent.this.remove(this.start, this.length); + if (marks != null) + positions = getPositionsInRange(null, start, length); + redoContent = getString(start, length); + remove(start, length); } catch (BadLocationException b) { @@ -103,7 +183,13 @@ public final class StringContent super.redo(); try { - StringContent.this.insertString(this.start, this.redoContent); + insertString(start, redoContent); + redoContent = null; + if (positions != null) + { + updateUndoPositions(positions); + positions = null; + } } catch (BadLocationException b) { @@ -115,14 +201,19 @@ public final class StringContent private class RemoveUndo extends AbstractUndoableEdit { private int start; - + private int len; private String undoString; + Vector positions; + public RemoveUndo(int start, String str) { super(); this.start = start; + len = str.length(); this.undoString = str; + if (marks != null) + positions = getPositionsInRange(null, start, str.length()); } public void undo() @@ -131,6 +222,12 @@ public final class StringContent try { StringContent.this.insertString(this.start, this.undoString); + if (positions != null) + { + updateUndoPositions(positions); + positions = null; + } + undoString = null; } catch (BadLocationException bad) { @@ -143,8 +240,10 @@ public final class StringContent super.redo(); try { - int end = this.undoString.length(); - StringContent.this.remove(this.start, end); + undoString = getString(start, len); + if (marks != null) + positions = getPositionsInRange(null, start, len); + remove(this.start, len); } catch (BadLocationException bad) { @@ -155,17 +254,18 @@ public final class StringContent private class StickyPosition implements Position { - private int offset = -1; + Mark mark; public StickyPosition(int offset) { - this.offset = offset; - } + // Try to make space. + garbageCollect(); - // This is package-private to avoid an accessor method. - void setOffset(int offset) - { - this.offset = this.offset >= 0 ? offset : -1; + mark = new Mark(offset); + mark.refCount++; + marks.add(mark); + + new WeakReference(this, queueOfDeath); } /** @@ -173,10 +273,24 @@ public final class StringContent */ public int getOffset() { - return offset < 0 ? 0 : offset; + return mark.mark; } } + /** + * Used in {@link #remove(int,int)}. + */ + private static final char[] EMPTY = new char[0]; + + /** + * Queues all references to GapContentPositions that are about to be + * GC'ed. This is used to remove the corresponding marks from the + * positionMarks array if the number of references to that mark reaches zero. + * + * This is package private to avoid accessor synthetic methods. + */ + ReferenceQueue queueOfDeath; + /** * Creates a new instance containing the string "\n". This is equivalent * to calling {@link #StringContent(int)} with an initialLength @@ -196,6 +310,7 @@ public final class StringContent public StringContent(int initialLength) { super(); + queueOfDeath = new ReferenceQueue(); if (initialLength < 1) initialLength = 1; this.content = new char[initialLength]; @@ -207,14 +322,13 @@ public final class StringContent int offset, int length) { - Vector refPos = new Vector(); - Iterator iter = this.positions.iterator(); + Vector refPos = v == null ? new Vector() : v; + Iterator iter = marks.iterator(); while(iter.hasNext()) { - Position p = (Position) iter.next(); - if ((offset <= p.getOffset()) - && (p.getOffset() <= (offset + length))) - refPos.add(p); + Mark m = (Mark) iter.next(); + if (offset <= m.mark && m.mark <= offset + length) + refPos.add(new UndoPosRef(m)); } return refPos; } @@ -231,10 +345,10 @@ public final class StringContent */ public Position createPosition(int offset) throws BadLocationException { - if (offset < this.count || offset > this.count) - checkLocation(offset, 0); + // Lazily create marks vector. + if (marks == null) + marks = new Vector(); StickyPosition sp = new StickyPosition(offset); - this.positions.add(sp); return sp; } @@ -246,7 +360,7 @@ public final class StringContent */ public int length() { - return this.count; + return count; } /** @@ -268,27 +382,23 @@ public final class StringContent if (str == null) throw new NullPointerException(); char[] insert = str.toCharArray(); - char[] temp = new char[this.content.length + insert.length]; - this.count += insert.length; - // Copy array and insert the string. - if (where > 0) - System.arraycopy(this.content, 0, temp, 0, where); - System.arraycopy(insert, 0, temp, where, insert.length); - System.arraycopy(this.content, where, temp, (where + insert.length), - (temp.length - where - insert.length)); - if (this.content.length < temp.length) - this.content = new char[temp.length]; - // Copy the result in the original char array. - System.arraycopy(temp, 0, this.content, 0, temp.length); + replace(where, 0, insert); + // Move all the positions. - Vector refPos = getPositionsInRange(this.positions, where, - temp.length - where); - Iterator iter = refPos.iterator(); - while (iter.hasNext()) + if (marks != null) { - StickyPosition p = (StickyPosition)iter.next(); - p.setOffset(p.getOffset() + str.length()); + Iterator iter = marks.iterator(); + int start = where; + if (start == 0) + start = 1; + while (iter.hasNext()) + { + Mark m = (Mark) iter.next(); + if (m.mark >= start) + m.mark += str.length(); + } } + InsertUndo iundo = new InsertUndo(where, insert.length); return iundo; } @@ -308,32 +418,51 @@ public final class StringContent public UndoableEdit remove(int where, int nitems) throws BadLocationException { checkLocation(where, nitems + 1); - char[] temp = new char[(this.content.length - nitems)]; - this.count = this.count - nitems; RemoveUndo rundo = new RemoveUndo(where, new String(this.content, where, nitems)); - // Copy array. - System.arraycopy(this.content, 0, temp, 0, where); - System.arraycopy(this.content, where + nitems, temp, where, - this.content.length - where - nitems); - this.content = new char[temp.length]; - // Then copy the result in the original char array. - System.arraycopy(temp, 0, this.content, 0, this.content.length); + + replace(where, nitems, EMPTY); // Move all the positions. - Vector refPos = getPositionsInRange(this.positions, where, - this.content.length + nitems - where); - Iterator iter = refPos.iterator(); - while (iter.hasNext()) + if (marks != null) { - StickyPosition p = (StickyPosition)iter.next(); - int result = p.getOffset() - nitems; - p.setOffset(result); - if (result < 0) - this.positions.remove(p); + Iterator iter = marks.iterator(); + while (iter.hasNext()) + { + Mark m = (Mark) iter.next(); + if (m.mark >= where + nitems) + m.mark -= nitems; + else if (m.mark >= where) + m.mark = where; + } } return rundo; } - + + private void replace(int offs, int numRemove, char[] insert) + { + int insertLength = insert.length; + int delta = insertLength - numRemove; + int src = offs + numRemove; + int numMove = count - src; + int dest = src + delta; + if (count + delta >= content.length) + { + // Grow data array. + int newLength = Math.max(2 * content.length, count + delta); + char[] newContent = new char[newLength]; + System.arraycopy(content, 0, newContent, 0, offs); + System.arraycopy(insert, 0, newContent, offs, insertLength); + System.arraycopy(content, src, newContent, dest, numMove); + content = newContent; + } + else + { + System.arraycopy(content, src, content, dest, numMove); + System.arraycopy(insert, 0, content, offs, insertLength); + } + count += delta; + } + /** * Returns a new String containing the characters in the * specified range. @@ -348,6 +477,8 @@ public final class StringContent */ public String getString(int where, int len) throws BadLocationException { + // The RI throws a StringIndexOutOfBoundsException here, which + // smells like a bug. We throw a BadLocationException instead. checkLocation(where, len); return new String(this.content, where, len); } @@ -368,22 +499,28 @@ public final class StringContent public void getChars(int where, int len, Segment txt) throws BadLocationException { - checkLocation(where, len); - txt.array = this.content; + if (where + len > count) + throw new BadLocationException("Invalid location", where + len); + txt.array = content; txt.offset = where; txt.count = len; } /** - * @specnote This method is not very well specified and the positions vector - * is implementation specific. The undo positions are managed - * differently in this implementation, this method is only here - * for binary compatibility. + * Resets the positions in the specified vector to their original offset + * after a undo operation is performed. For example, after removing some + * content, the positions in the removed range will all be set to one + * offset. This method restores the positions to their original offsets + * after an undo. */ protected void updateUndoPositions(Vector positions) { - // We do nothing here. + for (Iterator i = positions.iterator(); i.hasNext();) + { + UndoPosRef pos = (UndoPosRef) i.next(); + pos.reset(); + } } /** @@ -405,6 +542,29 @@ public final class StringContent else if ((where + len) > this.count) throw new BadLocationException("Invalid range", this.count); } - + + /** + * Polls the queue of death for GapContentPositions, updates the + * corresponding reference count and removes the corresponding mark + * if the refcount reaches zero. + * + * This is package private to avoid accessor synthetic methods. + */ + void garbageCollect() + { + Reference ref = queueOfDeath.poll(); + while (ref != null) + { + if (ref != null) + { + StickyPosition pos = (StickyPosition) ref.get(); + Mark m = pos.mark; + m.refCount--; + if (m.refCount == 0) + marks.remove(m); + } + ref = queueOfDeath.poll(); + } + } } diff --git a/libjava/classpath/javax/swing/text/StyleConstants.java b/libjava/classpath/javax/swing/text/StyleConstants.java index c7906b8ad32..4e5005c6bb2 100644 --- a/libjava/classpath/javax/swing/text/StyleConstants.java +++ b/libjava/classpath/javax/swing/text/StyleConstants.java @@ -40,6 +40,7 @@ package javax.swing.text; import java.awt.Color; import java.awt.Component; +import java.util.ArrayList; import javax.swing.Icon; @@ -163,6 +164,12 @@ public class StyleConstants public static final Object ResolveAttribute = new StyleConstants("resolver"); + /** + * All StyleConstants keys. This is used in StyleContext to register + * all known keys as static attribute keys for serialization. + */ + static ArrayList keys; + String keyname; // Package-private to avoid accessor constructor for use by @@ -170,6 +177,9 @@ public class StyleConstants StyleConstants(String k) { keyname = k; + if (keys == null) + keys = new ArrayList(); + keys.add(this); } /** @@ -729,6 +739,7 @@ public class StyleConstants */ public static void setIcon(MutableAttributeSet a, Icon c) { + a.addAttribute(AbstractDocument.ElementNameAttribute, IconElementName); a.addAttribute(IconAttribute, c); } diff --git a/libjava/classpath/javax/swing/text/StyleContext.java b/libjava/classpath/javax/swing/text/StyleContext.java index 63df3df6a91..4dded0d0402 100644 --- a/libjava/classpath/javax/swing/text/StyleContext.java +++ b/libjava/classpath/javax/swing/text/StyleContext.java @@ -43,19 +43,25 @@ import java.awt.Font; import java.awt.FontMetrics; import java.awt.Toolkit; import java.io.IOException; +import java.io.NotSerializableException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; +import java.lang.ref.WeakReference; +import java.util.Collections; import java.util.Enumeration; import java.util.EventListener; import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.WeakHashMap; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.EventListenerList; public class StyleContext - implements Serializable, AbstractDocument.AttributeContext + implements Serializable, AbstractDocument.AttributeContext { /** The serialization UID (compatible with JDK1.5). */ private static final long serialVersionUID = 8042858831190784241L; @@ -66,11 +72,10 @@ public class StyleContext /** The serialization UID (compatible with JDK1.5). */ private static final long serialVersionUID = -6690628971806226374L; - protected ChangeEvent changeEvent; + protected transient ChangeEvent changeEvent; protected EventListenerList listenerList; - AttributeSet attributes; - String name; + private transient AttributeSet attributes; public NamedStyle() { @@ -84,22 +89,26 @@ public class StyleContext public NamedStyle(String name, Style parent) { - this.name = name; - this.attributes = getEmptySet(); - this.changeEvent = new ChangeEvent(this); - this.listenerList = new EventListenerList(); - setResolveParent(parent); + attributes = getEmptySet(); + listenerList = new EventListenerList(); + if (name != null) + setName(name); + if (parent != null) + setResolveParent(parent); } public String getName() { + String name = null; + if (isDefined(StyleConstants.NameAttribute)) + name = getAttribute(StyleConstants.NameAttribute).toString(); return name; } public void setName(String n) { - name = n; - fireStateChanged(); + if (n != null) + addAttribute(StyleConstants.NameAttribute, n); } public void addChangeListener(ChangeListener l) @@ -112,7 +121,7 @@ public class StyleContext listenerList.remove(ChangeListener.class, l); } - public EventListener[] getListeners(Class listenerType) + public T[] getListeners(Class listenerType) { return listenerList.getListeners(listenerType); } @@ -127,6 +136,9 @@ public class StyleContext ChangeListener[] listeners = getChangeListeners(); for (int i = 0; i < listeners.length; ++i) { + // Lazily create event. + if (changeEvent == null) + changeEvent = new ChangeEvent(this); listeners[i].stateChanged(changeEvent); } } @@ -155,7 +167,10 @@ public class StyleContext public AttributeSet copyAttributes() { - return attributes.copyAttributes(); + // The RI returns a NamedStyle as copy, so do we. + NamedStyle copy = new NamedStyle(); + copy.attributes = attributes.copyAttributes(); + return copy; } public Object getAttribute(Object attrName) @@ -168,7 +183,7 @@ public class StyleContext return attributes.getAttributeCount(); } - public Enumeration getAttributeNames() + public Enumeration getAttributeNames() { return attributes.getAttributeNames(); } @@ -195,7 +210,7 @@ public class StyleContext fireStateChanged(); } - public void removeAttributes(Enumeration names) + public void removeAttributes(Enumeration names) { attributes = StyleContext.this.removeAttributes(attributes, names); fireStateChanged(); @@ -210,112 +225,125 @@ public class StyleContext public void setResolveParent(AttributeSet parent) { if (parent != null) - { - attributes = StyleContext.this.addAttribute - (attributes, ResolveAttribute, parent); - } - fireStateChanged(); + addAttribute(StyleConstants.ResolveAttribute, parent); + else + removeAttribute(StyleConstants.ResolveAttribute); } public String toString() { - return ("[NamedStyle: name=" + name + ", attrs=" + attributes.toString() + "]"); - } + return "NamedStyle:" + getName() + " " + attributes; + } + + private void writeObject(ObjectOutputStream s) + throws IOException + { + s.defaultWriteObject(); + writeAttributeSet(s, attributes); + } + + private void readObject(ObjectInputStream s) + throws ClassNotFoundException, IOException + { + s.defaultReadObject(); + attributes = SimpleAttributeSet.EMPTY; + readAttributeSet(s, this); + } } public class SmallAttributeSet implements AttributeSet { final Object [] attrs; + private AttributeSet resolveParent; public SmallAttributeSet(AttributeSet a) { - if (a == null) - attrs = new Object[0]; - else + int n = a.getAttributeCount(); + int i = 0; + attrs = new Object[n * 2]; + Enumeration e = a.getAttributeNames(); + while (e.hasMoreElements()) { - int n = a.getAttributeCount(); - int i = 0; - attrs = new Object[n * 2]; - Enumeration e = a.getAttributeNames(); - while (e.hasMoreElements()) - { - Object name = e.nextElement(); - attrs[i++] = name; - attrs[i++] = a.getAttribute(name); - } + Object name = e.nextElement(); + Object value = a.getAttribute(name); + if (name == ResolveAttribute) + resolveParent = (AttributeSet) value; + attrs[i++] = name; + attrs[i++] = value; } } public SmallAttributeSet(Object [] a) { - if (a == null) - attrs = new Object[0]; - else + attrs = a; + for (int i = 0; i < attrs.length; i += 2) { - attrs = new Object[a.length]; - System.arraycopy(a, 0, attrs, 0, a.length); + if (attrs[i] == ResolveAttribute) + resolveParent = (AttributeSet) attrs[i + 1]; } } public Object clone() { - return new SmallAttributeSet(this.attrs); + return this; } public boolean containsAttribute(Object name, Object value) { - for (int i = 0; i < attrs.length; i += 2) - { - if (attrs[i].equals(name) && - attrs[i+1].equals(value)) - return true; - } - return false; + return value.equals(getAttribute(name)); } public boolean containsAttributes(AttributeSet a) { + boolean res = true; Enumeration e = a.getAttributeNames(); - while (e.hasMoreElements()) + while (e.hasMoreElements() && res) { Object name = e.nextElement(); - Object val = a.getAttribute(name); - if (!containsAttribute(name, val)) - return false; + res = a.getAttribute(name).equals(getAttribute(name)); } - return true; + return res; } public AttributeSet copyAttributes() { - return (AttributeSet) clone(); + return this; } public boolean equals(Object obj) { - return - (obj instanceof AttributeSet) - && this.isEqual((AttributeSet)obj); + boolean eq = false; + if (obj instanceof AttributeSet) + { + AttributeSet atts = (AttributeSet) obj; + eq = getAttributeCount() == atts.getAttributeCount() + && containsAttributes(atts); + } + return eq; } public Object getAttribute(Object key) { - for (int i = 0; i < attrs.length; i += 2) + Object att = null; + if (key == StyleConstants.ResolveAttribute) + att = resolveParent; + + for (int i = 0; i < attrs.length && att == null; i += 2) { if (attrs[i].equals(key)) - return attrs[i+1]; + att = attrs[i + 1]; } - + // Check the resolve parent, unless we're looking for the - // ResolveAttribute, which would cause an infinite loop - if (!(key.equals(ResolveAttribute))) + // ResolveAttribute, which must not be looked up + if (att == null) { - Object p = getResolveParent(); - if (p != null && p instanceof AttributeSet) - return (((AttributeSet)p).getAttribute(key)); + AttributeSet parent = getResolveParent(); + if (parent != null) + att = parent.getAttribute(key); } - return null; + return att; } public int getAttributeCount() @@ -323,7 +351,7 @@ public class StyleContext return attrs.length / 2; } - public Enumeration getAttributeNames() + public Enumeration getAttributeNames() { return new Enumeration() { @@ -342,7 +370,7 @@ public class StyleContext public AttributeSet getResolveParent() { - return (AttributeSet) getAttribute(ResolveAttribute); + return resolveParent; } public int hashCode() @@ -362,68 +390,96 @@ public class StyleContext public boolean isEqual(AttributeSet attr) { - return getAttributeCount() == attr.getAttributeCount() + boolean eq; + // If the other one is also a SmallAttributeSet, it is only considered + // equal if it's the same instance. + if (attr instanceof SmallAttributeSet) + eq = attr == this; + else + eq = getAttributeCount() == attr.getAttributeCount() && this.containsAttributes(attr); + return eq; } public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append("[StyleContext.SmallattributeSet:"); - for (int i = 0; i < attrs.length - 1; ++i) + StringBuilder sb = new StringBuilder(); + sb.append('{'); + for (int i = 0; i < attrs.length; i += 2) { - sb.append(" ("); - sb.append(attrs[i].toString()); - sb.append("="); - sb.append(attrs[i+1].toString()); - sb.append(")"); + if (attrs[i + 1] instanceof AttributeSet) + { + sb.append(attrs[i]); + sb.append("=AttributeSet,"); + } + else + { + sb.append(attrs[i]); + sb.append('='); + sb.append(attrs[i + 1]); + sb.append(','); + } } - sb.append("]"); + sb.append("}"); return sb.toString(); } } - // FIXME: official javadocs suggest that these might be more usefully - // implemented using a WeakHashMap, but not sure if that works most - // places or whether it really matters anyways. - // - // FIXME: also not sure if these tables ought to be static (singletons), - // shared across all StyleContexts. I think so, but it's not clear in - // docs. revert to non-shared if you think it matters. - /** - * The name of the default style. + * Register StyleConstant keys as static attribute keys for serialization. */ - public static final String DEFAULT_STYLE = "default"; - + static + { + // Don't let problems while doing this prevent class loading. + try + { + for (Iterator i = StyleConstants.keys.iterator(); i.hasNext();) + registerStaticAttributeKey(i.next()); + } + catch (Throwable t) + { + t.printStackTrace(); + } + } + /** - * The default style for this style context. + * The name of the default style. */ - NamedStyle defaultStyle = new NamedStyle(DEFAULT_STYLE, null); + public static final String DEFAULT_STYLE = "default"; static Hashtable sharedAttributeSets = new Hashtable(); static Hashtable sharedFonts = new Hashtable(); - static StyleContext defaultStyleContext = new StyleContext(); + static StyleContext defaultStyleContext; static final int compressionThreshold = 9; /** * These attribute keys are handled specially in serialization. */ - private static Hashtable staticAttributeKeys = new Hashtable(); + private static Hashtable writeAttributeKeys; + private static Hashtable readAttributeKeys; + + private NamedStyle styles; + + /** + * Used for searching attributes in the pool. + */ + private transient MutableAttributeSet search = new SimpleAttributeSet(); + + /** + * A pool of immutable AttributeSets. + */ + private transient Map attributeSetPool = + Collections.synchronizedMap(new WeakHashMap()); - EventListenerList listenerList; - Hashtable styleTable; - /** * Creates a new instance of the style context. Add the default style * to the style table. */ public StyleContext() { - listenerList = new EventListenerList(); - styleTable = new Hashtable(); - styleTable.put(DEFAULT_STYLE, defaultStyle); + styles = new NamedStyle(null); + addStyle(DEFAULT_STYLE, null); } protected SmallAttributeSet createSmallAttributeSet(AttributeSet a) @@ -438,30 +494,30 @@ public class StyleContext public void addChangeListener(ChangeListener listener) { - listenerList.add(ChangeListener.class, listener); + styles.addChangeListener(listener); } public void removeChangeListener(ChangeListener listener) { - listenerList.remove(ChangeListener.class, listener); + styles.removeChangeListener(listener); } public ChangeListener[] getChangeListeners() { - return (ChangeListener[]) listenerList.getListeners(ChangeListener.class); + return styles.getChangeListeners(); } public Style addStyle(String name, Style parent) { Style newStyle = new NamedStyle(name, parent); if (name != null) - styleTable.put(name, newStyle); + styles.addAttribute(name, newStyle); return newStyle; } public void removeStyle(String name) { - styleTable.remove(name); + styles.removeAttribute(name); } /** @@ -476,16 +532,31 @@ public class StyleContext */ public Style getStyle(String name) { - return (Style) styleTable.get(name); + return (Style) styles.getAttribute(name); } /** * Get the names of the style. The returned enumeration always * contains at least one member, the default style. */ - public Enumeration getStyleNames() + public Enumeration getStyleNames() + { + return styles.getAttributeNames(); + } + + private void readObject(ObjectInputStream in) + throws ClassNotFoundException, IOException { - return styleTable.keys(); + search = new SimpleAttributeSet(); + attributeSetPool = Collections.synchronizedMap(new WeakHashMap()); + in.defaultReadObject(); + } + + private void writeObject(ObjectOutputStream out) + throws IOException + { + cleanupPool(); + out.defaultWriteObject(); } // @@ -577,132 +648,125 @@ public class StyleContext public static StyleContext getDefaultStyleContext() { + if (defaultStyleContext == null) + defaultStyleContext = new StyleContext(); return defaultStyleContext; } - public AttributeSet addAttribute(AttributeSet old, Object name, Object value) + public synchronized AttributeSet addAttribute(AttributeSet old, Object name, + Object value) { - if (old instanceof MutableAttributeSet) + AttributeSet ret; + if (old.getAttributeCount() + 1 < getCompressionThreshold()) { - ((MutableAttributeSet)old).addAttribute(name, value); - return old; + search.removeAttributes(search); + search.addAttributes(old); + search.addAttribute(name, value); + reclaim(old); + ret = searchImmutableSet(); } - else + else { - MutableAttributeSet mutable = createLargeAttributeSet(old); - mutable.addAttribute(name, value); - if (mutable.getAttributeCount() >= getCompressionThreshold()) - return mutable; - else - { - SmallAttributeSet small = createSmallAttributeSet(mutable); - if (sharedAttributeSets.containsKey(small)) - small = (SmallAttributeSet) sharedAttributeSets.get(small); - else - sharedAttributeSets.put(small,small); - return small; - } + MutableAttributeSet mas = getMutableAttributeSet(old); + mas.addAttribute(name, value); + ret = mas; } + return ret; } - public AttributeSet addAttributes(AttributeSet old, AttributeSet attributes) + public synchronized AttributeSet addAttributes(AttributeSet old, + AttributeSet attributes) { - if (old instanceof MutableAttributeSet) + AttributeSet ret; + if (old.getAttributeCount() + attributes.getAttributeCount() + < getCompressionThreshold()) { - ((MutableAttributeSet)old).addAttributes(attributes); - return old; + search.removeAttributes(search); + search.addAttributes(old); + search.addAttributes(attributes); + reclaim(old); + ret = searchImmutableSet(); } - else + else { - MutableAttributeSet mutable = createLargeAttributeSet(old); - mutable.addAttributes(attributes); - if (mutable.getAttributeCount() >= getCompressionThreshold()) - return mutable; - else - { - SmallAttributeSet small = createSmallAttributeSet(mutable); - if (sharedAttributeSets.containsKey(small)) - small = (SmallAttributeSet) sharedAttributeSets.get(small); - else - sharedAttributeSets.put(small,small); - return small; - } + MutableAttributeSet mas = getMutableAttributeSet(old); + mas.addAttributes(attributes); + ret = mas; } + return ret; } public AttributeSet getEmptySet() { - AttributeSet e = createSmallAttributeSet(null); - if (sharedAttributeSets.containsKey(e)) - e = (AttributeSet) sharedAttributeSets.get(e); - else - sharedAttributeSets.put(e, e); - return e; + return SimpleAttributeSet.EMPTY; } public void reclaim(AttributeSet attributes) { - if (sharedAttributeSets.containsKey(attributes)) - sharedAttributeSets.remove(attributes); + cleanupPool(); } - public AttributeSet removeAttribute(AttributeSet old, Object name) + public synchronized AttributeSet removeAttribute(AttributeSet old, + Object name) { - if (old instanceof MutableAttributeSet) + AttributeSet ret; + if (old.getAttributeCount() - 1 <= getCompressionThreshold()) { - ((MutableAttributeSet)old).removeAttribute(name); - if (old.getAttributeCount() < getCompressionThreshold()) - { - SmallAttributeSet small = createSmallAttributeSet(old); - if (!sharedAttributeSets.containsKey(small)) - sharedAttributeSets.put(small,small); - old = (AttributeSet) sharedAttributeSets.get(small); - } - return old; + search.removeAttributes(search); + search.addAttributes(old); + search.removeAttribute(name); + reclaim(old); + ret = searchImmutableSet(); } - else - { - MutableAttributeSet mutable = createLargeAttributeSet(old); - mutable.removeAttribute(name); - SmallAttributeSet small = createSmallAttributeSet(mutable); - if (sharedAttributeSets.containsKey(small)) - small = (SmallAttributeSet) sharedAttributeSets.get(small); - else - sharedAttributeSets.put(small,small); - return small; + else + { + MutableAttributeSet mas = getMutableAttributeSet(old); + mas.removeAttribute(name); + ret = mas; } + return ret; } - public AttributeSet removeAttributes(AttributeSet old, AttributeSet attributes) + public synchronized AttributeSet removeAttributes(AttributeSet old, + AttributeSet attributes) { - return removeAttributes(old, attributes.getAttributeNames()); + AttributeSet ret; + if (old.getAttributeCount() <= getCompressionThreshold()) + { + search.removeAttributes(search); + search.addAttributes(old); + search.removeAttributes(attributes); + reclaim(old); + ret = searchImmutableSet(); + } + else + { + MutableAttributeSet mas = getMutableAttributeSet(old); + mas.removeAttributes(attributes); + ret = mas; + } + return ret; } - public AttributeSet removeAttributes(AttributeSet old, Enumeration names) + public synchronized AttributeSet removeAttributes(AttributeSet old, + Enumeration names) { - if (old instanceof MutableAttributeSet) + AttributeSet ret; + if (old.getAttributeCount() <= getCompressionThreshold()) { - ((MutableAttributeSet)old).removeAttributes(names); - if (old.getAttributeCount() < getCompressionThreshold()) - { - SmallAttributeSet small = createSmallAttributeSet(old); - if (!sharedAttributeSets.containsKey(small)) - sharedAttributeSets.put(small,small); - old = (AttributeSet) sharedAttributeSets.get(small); - } - return old; + search.removeAttributes(search); + search.addAttributes(old); + search.removeAttributes(names); + reclaim(old); + ret = searchImmutableSet(); } - else - { - MutableAttributeSet mutable = createLargeAttributeSet(old); - mutable.removeAttributes(names); - SmallAttributeSet small = createSmallAttributeSet(mutable); - if (sharedAttributeSets.containsKey(small)) - small = (SmallAttributeSet) sharedAttributeSets.get(small); - else - sharedAttributeSets.put(small,small); - return small; - } + else + { + MutableAttributeSet mas = getMutableAttributeSet(old); + mas.removeAttributes(names); + ret = mas; + } + return ret; } /** @@ -715,7 +779,7 @@ public class StyleContext { if (key == null) return null; - return staticAttributeKeys.get(key); + return readAttributeKeys.get(key); } /** @@ -742,27 +806,25 @@ public class StyleContext * stream * @throws IOException - any I/O error */ - public static void readAttributeSet(ObjectInputStream in, MutableAttributeSet a) + public static void readAttributeSet(ObjectInputStream in, + MutableAttributeSet a) throws ClassNotFoundException, IOException { - if (in == null || a == null) - return; - - Object key = in.readObject(); - Object val = in.readObject(); - while (key != null && val != null) + int count = in.readInt(); + for (int i = 0; i < count; i++) { - Object staticKey = staticAttributeKeys.get(key); - Object staticVal = staticAttributeKeys.get(val); - - if (staticKey != null) - key = staticKey; - if (staticVal != null) - val = staticVal; - + Object key = in.readObject(); + Object val = in.readObject(); + if (readAttributeKeys != null) + { + Object staticKey = readAttributeKeys.get(key); + if (staticKey != null) + key = staticKey; + Object staticVal = readAttributeKeys.get(val); + if (staticVal != null) + val = staticVal; + } a.addAttribute(key, val); - key = in.readObject(); - val = in.readObject(); } } @@ -778,18 +840,35 @@ public class StyleContext public static void writeAttributeSet(ObjectOutputStream out, AttributeSet a) throws IOException { + int count = a.getAttributeCount(); + out.writeInt(count); Enumeration e = a.getAttributeNames(); while (e.hasMoreElements()) { - Object oldKey = e.nextElement(); - Object newKey = getStaticAttribute(oldKey); - Object key = (newKey == null) ? oldKey : newKey; - - out.writeObject(key); - out.writeObject(a.getAttribute(oldKey)); + Object key = e.nextElement(); + // Write key. + if (key instanceof Serializable) + out.writeObject(key); + else + { + Object io = writeAttributeKeys.get(key); + if (io == null) + throw new NotSerializableException(key.getClass().getName() + + ", key: " + key); + out.writeObject(io); + } + // Write value. + Object val = a.getAttribute(key); + Object io = writeAttributeKeys.get(val); + if (val instanceof Serializable) + out.writeObject(io != null ? io : val); + else + { + if (io == null) + throw new NotSerializableException(val.getClass().getName()); + out.writeObject(io); + } } - out.writeObject(null); - out.writeObject(null); } /** @@ -833,8 +912,79 @@ public class StyleContext */ public static void registerStaticAttributeKey(Object key) { - if (key != null) - staticAttributeKeys.put(key.getClass().getName() + "." + key.toString(), - key); + String io = key.getClass().getName() + "." + key.toString(); + if (writeAttributeKeys == null) + writeAttributeKeys = new Hashtable(); + if (readAttributeKeys == null) + readAttributeKeys = new Hashtable(); + writeAttributeKeys.put(key, io); + readAttributeKeys.put(io, key); + } + + /** + * Returns a string representation of this StyleContext. + * + * @return a string representation of this StyleContext + */ + public String toString() + { + cleanupPool(); + StringBuilder b = new StringBuilder(); + Iterator i = attributeSetPool.keySet().iterator(); + while (i.hasNext()) + { + Object att = i.next(); + b.append(att); + b.append('\n'); + } + return b.toString(); + } + + /** + * Searches the AttributeSet pool and returns a pooled instance if available, + * or pool a new one. + * + * @return an immutable attribute set that equals the current search key + */ + private AttributeSet searchImmutableSet() + { + SmallAttributeSet k = createSmallAttributeSet(search); + WeakReference ref = (WeakReference) attributeSetPool.get(k); + SmallAttributeSet a; + if (ref == null || (a = (SmallAttributeSet) ref.get()) == null) + { + a = k; + attributeSetPool.put(a, new WeakReference(a)); + } + return a; + } + + /** + * Cleans up the attribute set pool from entries that are no longer + * referenced. + */ + private void cleanupPool() + { + // TODO: How else can we force cleaning up the WeakHashMap? + attributeSetPool.size(); + } + + /** + * Returns a MutableAttributeSet that holds a. If a itself is mutable, + * this returns a itself, otherwise it creates a new SimpleAtttributeSet + * via {@link #createLargeAttributeSet(AttributeSet)}. + * + * @param a the AttributeSet to create a mutable set for + * + * @return a mutable attribute set that corresponds to a + */ + private MutableAttributeSet getMutableAttributeSet(AttributeSet a) + { + MutableAttributeSet mas; + if (a instanceof MutableAttributeSet) + mas = (MutableAttributeSet) a; + else + mas = createLargeAttributeSet(a); + return mas; } } diff --git a/libjava/classpath/javax/swing/text/StyledEditorKit.java b/libjava/classpath/javax/swing/text/StyledEditorKit.java index c4eef4463fb..568694387f3 100644 --- a/libjava/classpath/javax/swing/text/StyledEditorKit.java +++ b/libjava/classpath/javax/swing/text/StyledEditorKit.java @@ -142,7 +142,7 @@ public class StyledEditorKit extends DefaultEditorKit Element el = doc.getCharacterElement(editor.getSelectionStart()); boolean isBold = StyleConstants.isBold(el.getAttributes()); SimpleAttributeSet atts = new SimpleAttributeSet(); - StyleConstants.setItalic(atts, ! isBold); + StyleConstants.setBold(atts, ! isBold); setCharacterAttributes(editor, atts, false); } } @@ -335,35 +335,21 @@ public class StyledEditorKit extends DefaultEditorKit AttributeSet atts, boolean replace) { - Document doc = editor.getDocument(); - if (doc instanceof StyledDocument) - { - StyledDocument styleDoc = (StyledDocument) editor.getDocument(); - EditorKit kit = editor.getEditorKit(); - if (!(kit instanceof StyledEditorKit)) - { - StyledEditorKit styleKit = (StyledEditorKit) kit; - int start = editor.getSelectionStart(); - int end = editor.getSelectionEnd(); - int dot = editor.getCaret().getDot(); - if (start == dot && end == dot) - { - // If there is no selection, then we only update the - // input attributes. - MutableAttributeSet inputAttributes = - styleKit.getInputAttributes(); - inputAttributes.addAttributes(atts); - } - else - styleDoc.setCharacterAttributes(start, end, atts, replace); - } - else - throw new AssertionError("The EditorKit for StyledTextActions " - + "is expected to be a StyledEditorKit"); - } - else - throw new AssertionError("The Document for StyledTextActions is " - + "expected to be a StyledDocument."); + int p0 = editor.getSelectionStart(); + int p1 = editor.getSelectionEnd(); + if (p0 != p1) + { + StyledDocument doc = getStyledDocument(editor); + doc.setCharacterAttributes(p0, p1 - p0, atts, replace); + } + // Update input attributes. + StyledEditorKit kit = getStyledEditorKit(editor); + MutableAttributeSet inputAtts = kit.getInputAttributes(); + if (replace) + { + inputAtts.removeAttributes(inputAtts); + } + inputAtts.addAttributes(atts); } /** diff --git a/libjava/classpath/javax/swing/text/TextAction.java b/libjava/classpath/javax/swing/text/TextAction.java index 144166e9cdb..49c49cb9d7f 100644 --- a/libjava/classpath/javax/swing/text/TextAction.java +++ b/libjava/classpath/javax/swing/text/TextAction.java @@ -38,14 +38,15 @@ exception statement from your version. */ package javax.swing.text; +import java.awt.Component; +import java.awt.KeyboardFocusManager; import java.awt.Point; import java.awt.event.ActionEvent; -import java.util.ArrayList; -import java.util.HashSet; +import java.util.HashMap; +import java.util.Iterator; import javax.swing.AbstractAction; import javax.swing.Action; -import javax.swing.SwingConstants; /** * TextAction @@ -73,10 +74,16 @@ public abstract class TextAction extends AbstractAction */ protected final JTextComponent getTextComponent(ActionEvent event) { - if (event.getSource() instanceof JTextComponent) - return (JTextComponent) event.getSource(); - - return getFocusedComponent(); + JTextComponent target = null; + if (event != null) + { + Object source = event.getSource(); + if (source instanceof JTextComponent) + target = (JTextComponent) source; + } + if (target == null) + target = getFocusedComponent(); + return target; } /** @@ -89,16 +96,28 @@ public abstract class TextAction extends AbstractAction */ public static final Action[] augmentList(Action[] list1, Action[] list2) { - HashSet actionSet = new HashSet(); + HashMap actions = new HashMap(); for (int i = 0; i < list1.length; ++i) - actionSet.add(list1[i]); + { + Action a = list1[i]; + Object name = a.getValue(Action.NAME); + actions.put(name != null ? name : "", a); + } for (int i = 0; i < list2.length; ++i) - actionSet.add(list2[i]); + { + Action a = list2[i]; + Object name = a.getValue(Action.NAME); + actions.put(name != null ? name : "", a); + } + Action[] augmented = new Action[actions.size()]; + + int i = 0; + for (Iterator it = actions.values().iterator(); it.hasNext(); i++) + augmented[i] = it.next(); + return augmented; - ArrayList list = new ArrayList(actionSet); - return (Action[]) list.toArray(new Action[actionSet.size()]); } /** @@ -108,7 +127,13 @@ public abstract class TextAction extends AbstractAction */ protected final JTextComponent getFocusedComponent() { - return null; // TODO + KeyboardFocusManager kfm = + KeyboardFocusManager.getCurrentKeyboardFocusManager(); + Component focused = kfm.getPermanentFocusOwner(); + JTextComponent textComp = null; + if (focused instanceof JTextComponent) + textComp = (JTextComponent) focused; + return textComp; } /** Abstract helper class which implements everything needed for an diff --git a/libjava/classpath/javax/swing/text/Utilities.java b/libjava/classpath/javax/swing/text/Utilities.java index 36361f49796..d49d806cfa3 100644 --- a/libjava/classpath/javax/swing/text/Utilities.java +++ b/libjava/classpath/javax/swing/text/Utilities.java @@ -43,7 +43,6 @@ import java.awt.Graphics; import java.awt.Point; import java.text.BreakIterator; -import javax.swing.SwingConstants; import javax.swing.text.Position.Bias; /** @@ -55,10 +54,6 @@ import javax.swing.text.Position.Bias; */ public class Utilities { - /** - * The length of the char buffer that holds the characters to be drawn. - */ - private static final int BUF_LENGTH = 64; /** * Creates a new Utilities object. @@ -94,13 +89,12 @@ public class Utilities // The font metrics of the current selected font. FontMetrics metrics = g.getFontMetrics(); + int ascent = metrics.getAscent(); // The current x and y pixel coordinates. int pixelX = x; - int pixelY = y - ascent; - int pixelWidth = 0; int pos = s.offset; int len = 0; @@ -109,44 +103,43 @@ public class Utilities for (int offset = s.offset; offset < end; ++offset) { char c = buffer[offset]; - if (c == '\t' || c == '\n') + switch (c) { + case '\t': if (len > 0) { - g.drawChars(buffer, pos, len, pixelX, pixelY + ascent); - pixelX += pixelWidth; - pixelWidth = 0; + g.drawChars(buffer, pos, len, pixelX, y); + pixelX += metrics.charsWidth(buffer, pos, len); + len = 0; } pos = offset+1; - len = 0; + if (e != null) + pixelX = (int) e.nextTabStop((float) pixelX, startOffset + offset + - s.offset); + else + pixelX += metrics.charWidth(' '); + x = pixelX; + break; + case '\n': + case '\r': + if (len > 0) { + g.drawChars(buffer, pos, len, pixelX, y); + pixelX += metrics.charsWidth(buffer, pos, len); + len = 0; + } + x = pixelX; + break; + default: + len += 1; } - - switch (c) - { - case '\t': - // In case we have a tab, we just 'jump' over the tab. - // When we have no tab expander we just use the width of ' '. - if (e != null) - pixelX = (int) e.nextTabStop((float) pixelX, - startOffset + offset - s.offset); - else - pixelX += metrics.charWidth(' '); - break; - case '\n': - // In case we have a newline, we must jump to the next line. - pixelY += metrics.getHeight(); - pixelX = x; - break; - default: - ++len; - pixelWidth += metrics.charWidth(buffer[offset]); - break; - } } if (len > 0) - g.drawChars(buffer, pos, len, pixelX, pixelY + ascent); + { + g.drawChars(buffer, pos, len, pixelX, y); + pixelX += metrics.charsWidth(buffer, pos, len); + } - return pixelX + pixelWidth; + return pixelX; } /** @@ -174,7 +167,9 @@ public class Utilities // The current maximum width. int maxWidth = 0; - for (int offset = s.offset; offset < (s.offset + s.count); ++offset) + int end = s.offset + s.count; + int count = 0; + for (int offset = s.offset; offset < end; offset++) { switch (buffer[offset]) { @@ -182,7 +177,7 @@ public class Utilities // In case we have a tab, we just 'jump' over the tab. // When we have no tab expander we just use the width of 'm'. if (e != null) - pixelX = (int) e.nextTabStop((float) pixelX, + pixelX = (int) e.nextTabStop(pixelX, startOffset + offset - s.offset); else pixelX += metrics.charWidth(' '); @@ -190,21 +185,18 @@ public class Utilities case '\n': // In case we have a newline, we must 'draw' // the buffer and jump on the next line. - pixelX += metrics.charWidth(buffer[offset]); - maxWidth = Math.max(maxWidth, pixelX - x); - pixelX = x; - break; - default: - // Here we draw the char. - pixelX += metrics.charWidth(buffer[offset]); - break; - } + pixelX += metrics.charsWidth(buffer, offset - count, count); + count = 0; + break; + default: + count++; + } } // Take the last line into account. - maxWidth = Math.max(maxWidth, pixelX - x); + pixelX += metrics.charsWidth(buffer, end - count, count); - return maxWidth; + return pixelX - x; } /** @@ -239,43 +231,41 @@ public class Utilities int x, TabExpander te, int p0, boolean round) { - // At the end of the for loop, this holds the requested model location - int pos; + int found = s.count; int currentX = x0; - int width = 0; + int nextX = currentX; - for (pos = 0; pos < s.count; pos++) + int end = s.offset + s.count; + for (int pos = s.offset; pos < end && found == s.count; pos++) { - char nextChar = s.array[s.offset+pos]; - - if (nextChar == 0) - break; + char nextChar = s.array[pos]; if (nextChar != '\t') - width = fm.charWidth(nextChar); + nextX += fm.charWidth(nextChar); else { if (te == null) - width = fm.charWidth(' '); + nextX += fm.charWidth(' '); else - width = ((int) te.nextTabStop(currentX, pos)) - currentX; + nextX += ((int) te.nextTabStop(nextX, p0 + pos - s.offset)); } - if (round) + if (x >= currentX && x < nextX) { - if (currentX + (width>>1) > x) - break; - } - else - { - if (currentX + width > x) - break; + // Found position. + if ((! round) || ((x - currentX) < (nextX - x))) + { + found = pos - s.offset; + } + else + { + found = pos + 1 - s.offset; + } } - - currentX += width; + currentX = nextX; } - return pos + p0; + return found; } /** @@ -543,28 +533,39 @@ public class Utilities int x0, int x, TabExpander e, int startOffset) { - int mark = Utilities.getTabbedTextOffset(s, metrics, x0, x, e, startOffset, false); - BreakIterator breaker = BreakIterator.getWordInstance(); - breaker.setText(s); - - // If startOffset and s.offset differ then we need to use - // that difference two convert the offset between the two metrics. - int shift = startOffset - s.offset; - + int mark = Utilities.getTabbedTextOffset(s, metrics, x0, x, e, startOffset, + false); + int breakLoc = mark; // If mark is equal to the end of the string, just use that position. - if (mark >= shift + s.count) - return mark; - - // Try to find a word boundary previous to the mark at which we - // can break the text. - int preceding = breaker.preceding(mark + 1 - shift); - - if (preceding != 0) - return preceding + shift; - - // If preceding is 0 we couldn't find a suitable word-boundary so - // just break it on the character boundary - return mark; + if (mark < s.count - 1) + { + for (int i = s.offset + mark; i >= s.offset; i--) + { + char ch = s.array[i]; + if (ch < 256) + { + // For ASCII simply scan backwards for whitespace. + if (Character.isWhitespace(ch)) + { + breakLoc = i - s.offset + 1; + break; + } + } + else + { + // Only query BreakIterator for complex chars. + BreakIterator bi = BreakIterator.getLineInstance(); + bi.setText(s); + int pos = bi.preceding(i + 1); + if (pos > s.offset) + { + breakLoc = breakLoc - s.offset; + } + break; + } + } + } + return breakLoc; } /** @@ -712,12 +713,12 @@ public class Utilities offset, Bias.Forward, direction, - null) + new Position.Bias[1]) : t.getUI().getNextVisualPositionFrom(t, offset, Bias.Forward, direction, - null); + new Position.Bias[1]); } catch (BadLocationException ble) { diff --git a/libjava/classpath/javax/swing/text/View.java b/libjava/classpath/javax/swing/text/View.java index 55a63f6b668..c63ddbce776 100644 --- a/libjava/classpath/javax/swing/text/View.java +++ b/libjava/classpath/javax/swing/text/View.java @@ -57,7 +57,6 @@ public abstract class View implements SwingConstants public static final int X_AXIS = 0; public static final int Y_AXIS = 1; - private float width, height; private Element elt; private View parent; @@ -93,7 +92,14 @@ public abstract class View implements SwingConstants { int numChildren = getViewCount(); for (int i = 0; i < numChildren; i++) - getView(i).setParent(null); + { + View child = getView(i); + // It is important that we only reset the parent on views that + // actually belong to us. In FlowView the child may already be + // reparented. + if (child.getParent() == this) + child.setParent(null); + } } this.parent = parent; @@ -263,7 +269,7 @@ public abstract class View implements SwingConstants public void removeAll() { - replace(0, getViewCount(), new View[0]); + replace(0, getViewCount(), null); } public void remove(int index) @@ -307,15 +313,16 @@ public abstract class View implements SwingConstants { int index = getViewIndex(x, y, allocation); - if (index < -1) - return null; - - Shape childAllocation = getChildAllocation(index, allocation); - - if (childAllocation.getBounds().contains(x, y)) - return getView(index).getToolTipText(x, y, childAllocation); - - return null; + String text = null; + if (index >= 0) + { + allocation = getChildAllocation(index, allocation); + Rectangle r = allocation instanceof Rectangle ? (Rectangle) allocation + : allocation.getBounds(); + if (r.contains(x, y)) + text = getView(index).getToolTipText(x, y, allocation); + } + return text; } /** @@ -328,13 +335,17 @@ public abstract class View implements SwingConstants public void preferenceChanged(View child, boolean width, boolean height) { - if (parent != null) - parent.preferenceChanged(this, width, height); + View p = getParent(); + if (p != null) + p.preferenceChanged(this, width, height); } public int getBreakWeight(int axis, float pos, float len) { - return BadBreakWeight; + int weight = BadBreakWeight; + if (len > getPreferredSpan(axis)) + weight = GoodBreakWeight; + return weight; } public View breakView(int axis, int offset, float pos, float len) @@ -370,12 +381,18 @@ public abstract class View implements SwingConstants */ public void insertUpdate(DocumentEvent ev, Shape shape, ViewFactory vf) { - Element el = getElement(); - DocumentEvent.ElementChange ec = ev.getChange(el); - if (ec != null) - updateChildren(ec, ev, vf); - forwardUpdate(ec, ev, shape, vf); - updateLayout(ec, ev, shape); + if (getViewCount() > 0) + { + Element el = getElement(); + DocumentEvent.ElementChange ec = ev.getChange(el); + if (ec != null) + { + if (! updateChildren(ec, ev, vf)) + ec = null; + } + forwardUpdate(ec, ev, shape, vf); + updateLayout(ec, ev, shape); + } } /** @@ -429,12 +446,18 @@ public abstract class View implements SwingConstants */ public void changedUpdate(DocumentEvent ev, Shape shape, ViewFactory vf) { - Element el = getElement(); - DocumentEvent.ElementChange ec = ev.getChange(el); - if (ec != null) - updateChildren(ec, ev, vf); - forwardUpdate(ec, ev, shape, vf); - updateLayout(ec, ev, shape); + if (getViewCount() > 0) + { + Element el = getElement(); + DocumentEvent.ElementChange ec = ev.getChange(el); + if (ec != null) + { + if (! updateChildren(ec, ev, vf)) + ec = null; + } + forwardUpdate(ec, ev, shape, vf); + updateLayout(ec, ev, shape); + } } /** @@ -465,10 +488,15 @@ public abstract class View implements SwingConstants Element[] removed = ec.getChildrenRemoved(); int index = ec.getIndex(); - View[] newChildren = new View[added.length]; - for (int i = 0; i < added.length; ++i) - newChildren[i] = vf.create(added[i]); - replace(index, removed.length, newChildren); + View[] newChildren = null; + if (added != null) + { + newChildren = new View[added.length]; + for (int i = 0; i < added.length; ++i) + newChildren[i] = vf.create(added[i]); + } + int numRemoved = removed != null ? removed.length : 0; + replace(index, numRemoved, newChildren); return true; } @@ -598,10 +626,12 @@ public abstract class View implements SwingConstants DocumentEvent ev, Shape shape) { if (ec != null && shape != null) - preferenceChanged(null, true, true); - Container c = getContainer(); - if (c != null) - c.repaint(); + { + preferenceChanged(null, true, true); + Container c = getContainer(); + if (c != null) + c.repaint(); + } } /** @@ -750,7 +780,9 @@ public abstract class View implements SwingConstants */ public int viewToModel(float x, float y, Shape a) { - return viewToModel(x, y, a, new Position.Bias[0]); + Position.Bias[] biasRet = new Position.Bias[1]; + biasRet[0] = Position.Bias.Forward; + return viewToModel(x, y, a, biasRet); } /** diff --git a/libjava/classpath/javax/swing/text/WrappedPlainView.java b/libjava/classpath/javax/swing/text/WrappedPlainView.java index a6c369a4c25..00e12b1129e 100644 --- a/libjava/classpath/javax/swing/text/WrappedPlainView.java +++ b/libjava/classpath/javax/swing/text/WrappedPlainView.java @@ -83,7 +83,17 @@ public class WrappedPlainView extends BoxView implements TabExpander /** The height of the line (used while painting) **/ int lineHeight; - + + /** + * The base offset for tab calculations. + */ + private int tabBase; + + /** + * The tab size. + */ + private int tabSize; + /** * The instance returned by {@link #getLineBuffer()}. */ @@ -121,10 +131,13 @@ public class WrappedPlainView extends BoxView implements TabExpander */ public float nextTabStop(float x, int tabStop) { - JTextComponent host = (JTextComponent)getContainer(); - float tabSizePixels = getTabSize() - * host.getFontMetrics(host.getFont()).charWidth('m'); - return (float) (Math.floor(x / tabSizePixels) + 1) * tabSizePixels; + int next = (int) x; + if (tabSize != 0) + { + int numTabs = ((int) x - tabBase) / tabSize; + next = tabBase + (numTabs + 1) * tabSize; + } + return next; } /** @@ -274,44 +287,32 @@ public class WrappedPlainView extends BoxView implements TabExpander */ protected int calculateBreakPosition(int p0, int p1) { - Container c = getContainer(); - - int li = getLeftInset(); - int ti = getTopInset(); - - Rectangle alloc = new Rectangle(li, ti, - getWidth()-getRightInset()-li, - getHeight()-getBottomInset()-ti); - - // Mimic a behavior observed in the RI. - if (alloc.isEmpty()) - return 0; - - updateMetrics(); - + Segment s = new Segment(); try { - getDocument().getText(p0, p1 - p0, getLineBuffer()); + getDocument().getText(p0, p1 - p0, s); } - catch (BadLocationException ble) + catch (BadLocationException ex) { - // this shouldn't happen - throw new InternalError("Invalid offsets p0: " + p0 + " - p1: " + p1); + assert false : "Couldn't load text"; } - + int width = getWidth(); + int pos; if (wordWrap) - return Utilities.getBreakLocation(lineBuffer, metrics, alloc.x, - alloc.x + alloc.width, this, p0); + pos = p0 + Utilities.getBreakLocation(s, metrics, tabBase, + tabBase + width, this, p0); else - return p0 + Utilities.getTabbedTextOffset(lineBuffer, metrics, alloc.x, - alloc.x + alloc.width, this, 0, - true); + pos = p0 + Utilities.getTabbedTextOffset(s, metrics, tabBase, + tabBase + width, this, p0, + false); + return pos; } void updateMetrics() { Container component = getContainer(); metrics = component.getFontMetrics(component.getFont()); + tabSize = getTabSize()* metrics.charWidth('m'); } /** @@ -350,9 +351,15 @@ public class WrappedPlainView extends BoxView implements TabExpander */ public void insertUpdate (DocumentEvent e, Shape a, ViewFactory f) { - super.insertUpdate(e, a, viewFactory); + // Update children efficiently. + updateChildren(e, a); - // No repaint needed, as this is done by the WrappedLine instances. + // Notify children. + Rectangle r = a != null && isAllocationValid() ? getInsideAllocation(a) + : null; + View v = getViewAtPosition(e.getOffset(), r); + if (v != null) + v.insertUpdate(e, r, f); } /** @@ -361,9 +368,15 @@ public class WrappedPlainView extends BoxView implements TabExpander */ public void removeUpdate (DocumentEvent e, Shape a, ViewFactory f) { - super.removeUpdate(e, a, viewFactory); - - // No repaint needed, as this is done by the WrappedLine instances. + // Update children efficiently. + updateChildren(e, a); + + // Notify children. + Rectangle r = a != null && isAllocationValid() ? getInsideAllocation(a) + : null; + View v = getViewAtPosition(e.getOffset(), r); + if (v != null) + v.removeUpdate(e, r, f); } /** @@ -373,11 +386,39 @@ public class WrappedPlainView extends BoxView implements TabExpander */ public void changedUpdate (DocumentEvent e, Shape a, ViewFactory f) { - super.changedUpdate(e, a, viewFactory); - - // No repaint needed, as this is done by the WrappedLine instances. + // Update children efficiently. + updateChildren(e, a); } - + + /** + * Helper method. Updates the child views in response to + * insert/remove/change updates. This is here to be a little more efficient + * than the BoxView implementation. + * + * @param ev the document event + * @param a the shape + */ + private void updateChildren(DocumentEvent ev, Shape a) + { + Element el = getElement(); + DocumentEvent.ElementChange ec = ev.getChange(el); + if (ec != null) + { + Element[] removed = ec.getChildrenRemoved(); + Element[] added = ec.getChildrenAdded(); + View[] addedViews = new View[added.length]; + for (int i = 0; i < added.length; i++) + addedViews[i] = new WrappedLine(added[i]); + replace(ec.getIndex(), removed.length, addedViews); + if (a != null) + { + preferenceChanged(null, true, true); + getContainer().repaint(); + } + } + updateMetrics(); + } + class WrappedLineCreator implements ViewFactory { // Creates a new WrappedLine @@ -397,6 +438,9 @@ public class WrappedPlainView extends BoxView implements TabExpander */ public void paint(Graphics g, Shape a) { + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + tabBase = r.x; + JTextComponent comp = (JTextComponent)getContainer(); // Ensure metrics are up-to-date. updateMetrics(); @@ -434,7 +478,6 @@ public class WrappedPlainView extends BoxView implements TabExpander public WrappedLine(Element elem) { super(elem); - determineNumLines(); } /** @@ -449,10 +492,34 @@ public class WrappedPlainView extends BoxView implements TabExpander int currStart = getStartOffset(); int currEnd; int count = 0; + + // Determine layered highlights. + Container c = getContainer(); + LayeredHighlighter lh = null; + JTextComponent tc = null; + if (c instanceof JTextComponent) + { + tc = (JTextComponent) c; + Highlighter h = tc.getHighlighter(); + if (h instanceof LayeredHighlighter) + lh = (LayeredHighlighter) h; + } + while (currStart < end) { currEnd = calculateBreakPosition(currStart, end); + // Paint layered highlights, if any. + if (lh != null) + { + // Exclude trailing newline in last line. + if (currEnd == end) + lh.paintLayeredHighlights(g, currStart, currEnd - 1, s, tc, + this); + else + lh.paintLayeredHighlights(g, currStart, currEnd, s, tc, this); + + } drawLine(currStart, currEnd, g, rect.x, rect.y + metrics.getAscent()); rect.y += lineHeight; @@ -472,37 +539,29 @@ public class WrappedPlainView extends BoxView implements TabExpander } } - + /** * Calculates the number of logical lines that the Element * needs to be displayed and updates the variable numLines * accordingly. */ - void determineNumLines() + private int determineNumLines() { - numLines = 0; + int nLines = 0; int end = getEndOffset(); - if (end == 0) - return; - - int breakPoint; for (int i = getStartOffset(); i < end;) { - numLines ++; + nLines++; // careful: check that there's no off-by-one problem here // depending on which position calculateBreakPosition returns - breakPoint = calculateBreakPosition(i, end); - - if (breakPoint == 0) - return; + int breakPoint = calculateBreakPosition(i, end); - // If breakPoint is equal to the current index no further - // line is needed and we can end the loop. if (breakPoint == i) - break; + i = breakPoint + 1; else i = breakPoint; } + return nLines; } /** @@ -547,7 +606,7 @@ public class WrappedPlainView extends BoxView implements TabExpander // Throwing a BadLocationException is an observed behavior of the RI. if (rect.isEmpty()) throw new BadLocationException("Unable to calculate view coordinates " - + "when allocation area is empty.", 5); + + "when allocation area is empty.", pos); Segment s = getLineBuffer(); int lineHeight = metrics.getHeight(); @@ -624,7 +683,7 @@ public class WrappedPlainView extends BoxView implements TabExpander return currLineStart; if (y > rect.y + rect.height) - return end; + return end - 1; // Note: rect.x and rect.width do not represent the width of painted // text but the area where text *may* be painted. This means the width @@ -685,22 +744,14 @@ public class WrappedPlainView extends BoxView implements TabExpander */ void updateDamage (Rectangle a) { - // If the allocation area is empty we can't do anything useful. - // As determining the number of lines is impossible in that state we - // reset it to an invalid value which can then be recalculated at a - // later point. - if (a == null || a.isEmpty()) + int nLines = determineNumLines(); + if (numLines != nLines) { - numLines = 1; - return; + numLines = nLines; + preferenceChanged(this, false, true); + getContainer().repaint(); } - - int oldNumLines = numLines; - determineNumLines(); - - if (numLines != oldNumLines) - preferenceChanged(this, false, true); - else + else if (a != null) getContainer().repaint(a.x, a.y, a.width, a.height); } @@ -714,7 +765,8 @@ public class WrappedPlainView extends BoxView implements TabExpander */ public void insertUpdate (DocumentEvent changes, Shape a, ViewFactory f) { - updateDamage((Rectangle)a); + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + updateDamage(r); } /** @@ -736,7 +788,8 @@ public class WrappedPlainView extends BoxView implements TabExpander // However this seems to cause no trouble and as it reduces the // number of method calls it can stay this way. - updateDamage((Rectangle)a); + Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + updateDamage(r); } } } diff --git a/libjava/classpath/javax/swing/text/ZoneView.java b/libjava/classpath/javax/swing/text/ZoneView.java new file mode 100644 index 00000000000..6cabc6c200c --- /dev/null +++ b/libjava/classpath/javax/swing/text/ZoneView.java @@ -0,0 +1,442 @@ +/* ZoneView.java -- An effective BoxView subclass + Copyright (C) 2006 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. */ + + +package javax.swing.text; + +import java.awt.Shape; +import java.util.ArrayList; +import java.util.LinkedList; + +import javax.swing.event.DocumentEvent; + +/** + * A View implementation that delays loading of sub views until they are + * needed for display or internal transformations. This can be used for + * editors that need to handle large documents more effectivly than the + * standard {@link BoxView}. + * + * @author Roman Kennke (kennke@aicas.com) + * + * @since 1.3 + */ +public class ZoneView + extends BoxView +{ + + /** + * The default zone view implementation. The specs suggest that this is + * a subclass of AsyncBoxView, so do we. + */ + static class Zone + extends AsyncBoxView + { + /** + * The start position for this zone. + */ + private Position p0; + + /** + * The end position for this zone. + */ + private Position p1; + + /** + * Creates a new Zone for the specified element, start and end positions. + * + * @param el the element + * @param pos0 the start position + * @param pos1 the end position + * @param axis the major axis + */ + Zone(Element el, Position pos0, Position pos1, int axis) + { + super(el, axis); + p0 = pos0; + p1 = pos1; + } + + /** + * Returns the start offset of the zone. + * + * @return the start offset of the zone + */ + public int getStartOffset() + { + return p0.getOffset(); + } + + /** + * Returns the end offset of the zone. + * + * @return the end offset of the zone + */ + public int getEndOffset() + { + return p1.getOffset(); + } + } + + /** + * The maximumZoneSize. + */ + private int maximumZoneSize; + + /** + * The maximum number of loaded zones. + */ + private int maxZonesLoaded; + + /** + * A queue of loaded zones. When the number of loaded zones exceeds the + * maximum number of zones, the oldest zone(s) get unloaded. + */ + private LinkedList loadedZones; + + /** + * Creates a new ZoneView for the specified element and axis. + * + * @param element the element for which to create a ZoneView + * @param axis the major layout axis for the box + */ + public ZoneView(Element element, int axis) + { + super(element, axis); + maximumZoneSize = 8192; + maxZonesLoaded = 3; + loadedZones = new LinkedList(); + } + + /** + * Sets the maximum zone size. Note that zones might still become larger + * then the size specified when a singe child view is larger for itself, + * because zones are formed on child view boundaries. + * + * @param size the maximum zone size to set + * + * @see #getMaximumZoneSize() + */ + public void setMaximumZoneSize(int size) + { + maximumZoneSize = size; + } + + /** + * Returns the maximum zone size. Note that zones might still become larger + * then the size specified when a singe child view is larger for itself, + * because zones are formed on child view boundaries. + * + * @return the maximum zone size + * + * @see #setMaximumZoneSize(int) + */ + public int getMaximumZoneSize() + { + return maximumZoneSize; + } + + /** + * Sets the maximum number of zones that are allowed to be loaded at the + * same time. If the new number of allowed zones is smaller then the + * previous settings, this unloads all zones the aren't allowed to be + * loaded anymore. + * + * @param num the number of zones allowed to be loaded at the same time + * + * @throws IllegalArgumentException if num <= 0 + * + * @see #getMaxZonesLoaded() + */ + public void setMaxZonesLoaded(int num) + { + if (num < 1) + throw new IllegalArgumentException("Illegal number of zones"); + maxZonesLoaded = num; + unloadOldestZones(); + } + + /** + * Returns the number of zones that are allowed to be loaded. + * + * @return the number of zones that are allowed to be loaded + * + * @see #setMaxZonesLoaded(int) + */ + public int getMaxZonesLoaded() + { + return maxZonesLoaded; + } + + /** + * Gets called after a zone has been loaded. This unloads the oldest zone(s) + * when the maximum number of zones is reached. + * + * @param zone the zone that has been loaded + */ + protected void zoneWasLoaded(View zone) + { + loadedZones.addLast(zone); + unloadOldestZones(); + } + + /** + * This unloads the specified zone. This is implemented to simply remove + * all child views from that zone. + * + * @param zone the zone to be unloaded + */ + protected void unloadZone(View zone) + { + zone.removeAll(); + } + + /** + * Returns true when the specified zone is loaded, + * false otherwise. The default implementation checks if + * the zone view has child elements. + * + * @param zone the zone view to check + * + * @return true when the specified zone is loaded, + * false otherwise + */ + protected boolean isZoneLoaded(View zone) + { + return zone.getViewCount() > 0; + } + + /** + * Creates a zone for the specified range. Subclasses can override this + * to provide a custom implementation for the zones. + * + * @param p0 the start of the range + * @param p1 the end of the range + * + * @return the zone + */ + protected View createZone(int p0, int p1) + { + Document doc = getDocument(); + Position pos0 = null; + Position pos1 = null; + try + { + pos0 = doc.createPosition(p0); + pos1 = doc.createPosition(p1); + } + catch (BadLocationException ex) + { + assert false : "Must not happen"; + } + Zone zone = new Zone(getElement(), pos0, pos1, getAxis()); + return zone; + } + + // -------------------------------------------------------------------------- + // CompositeView methods. + // -------------------------------------------------------------------------- + + /** + * Overridden to not load all the child views. This methods creates + * initial zones without actually loading them. + * + * @param vf not used + */ + protected void loadChildren(ViewFactory vf) + { + int p0 = getStartOffset(); + int p1 = getEndOffset(); + append(createZone(p0, p1)); + checkZoneAt(p0); + } + + /** + * Returns the index of the child view at the document position + * pos. + * + * This overrides the CompositeView implementation because the ZoneView does + * not provide a one to one mapping from Elements to Views. + * + * @param pos the document position + * + * @return the index of the child view at the document position + * pos + */ + protected int getViewIndexAtPosition(int pos) + { + int index = -1; + boolean found = false; + if (pos >= getStartOffset() && pos <= getEndOffset()) + { + int upper = getViewCount() - 1; + int lower = 0; + index = (upper - lower) / 2 + lower; + int bias = 0; + do + { + View child = getView(index); + int childStart = child.getStartOffset(); + int childEnd = child.getEndOffset(); + if (pos >= childStart && pos < childEnd) + found = true; + else if (pos < childStart) + { + upper = index; + bias = -1; + } + else if (pos >= childEnd) + { + lower = index; + bias = 1; + } + if (! found) + { + int newIndex = (upper - lower) / 2 + lower; + if (newIndex == index) + index = newIndex + bias; + else + index = newIndex; + } + } while (upper != lower && ! found); + } + // If no child view actually covers the specified offset, reset index to + // -1. + if (! found) + index = -1; + return index; + } + + // -------------------------------------------------------------------------- + // View methods. + // -------------------------------------------------------------------------- + + public void insertUpdate(DocumentEvent e, Shape a, ViewFactory vf) + { + // TODO: Implement this. + } + + public void removeUpdate(DocumentEvent e, Shape a, ViewFactory vf) + { + // TODO: Implement this. + } + + protected boolean updateChildren(DocumentEvent.ElementChange ec, + DocumentEvent e, ViewFactory vf) + { + // TODO: Implement this. + return false; + } + + // -------------------------------------------------------------------------- + // Internal helper methods. + // -------------------------------------------------------------------------- + + /** + * A helper method to unload the oldest zones when there are more loaded + * zones then allowed. + */ + private void unloadOldestZones() + { + int maxZones = getMaxZonesLoaded(); + while (loadedZones.size() > maxZones) + { + View zone = (View) loadedZones.removeFirst(); + unloadZone(zone); + } + } + + /** + * Checks if the zone view at position pos should be split + * (its size is greater than maximumZoneSize) and tries to split it. + * + * @param pos the document position to check + */ + private void checkZoneAt(int pos) + { + int viewIndex = getViewIndexAtPosition(pos); //, Position.Bias.Forward); + View view = getView(viewIndex); + int p0 = view.getStartOffset(); + int p1 = view.getEndOffset(); + if (p1 - p0 > maximumZoneSize) + splitZone(viewIndex, p0, p1); + } + + /** + * Tries to break the view at the specified index and inside the specified + * range into pieces that are acceptable with respect to the maximum zone + * size. + * + * @param index the index of the view to split + * @param p0 the start offset + * @param p1 the end offset + */ + private void splitZone(int index, int p0, int p1) + { + ArrayList newZones = new ArrayList(); + int p = p0; + do + { + p0 = p; + p = Math.min(getPreferredZoneEnd(p0), p1); + newZones.add(createZone(p0, p)); + } while (p < p1); + View[] newViews = new View[newZones.size()]; + newViews = (View[]) newZones.toArray(newViews); + replace(index, 1, newViews); + } + + /** + * Calculates the positions at which a zone split is performed. This + * tries to create zones sized close to half the maximum zone size. + * + * @param start the start offset + * + * @return the preferred end offset + */ + private int getPreferredZoneEnd(int start) + { + Element el = getElement(); + int index = el.getElementIndex(start + (maximumZoneSize / 2)); + Element child = el.getElement(index); + int p0 = child.getStartOffset(); + int p1 = child.getEndOffset(); + int end = p1; + if (p0 - start > maximumZoneSize && p0 > start) + end = p0; + return end; + } +} diff --git a/libjava/classpath/javax/swing/text/html/BRView.java b/libjava/classpath/javax/swing/text/html/BRView.java index 5521fed8edf..7d0d5164d49 100644 --- a/libjava/classpath/javax/swing/text/html/BRView.java +++ b/libjava/classpath/javax/swing/text/html/BRView.java @@ -44,8 +44,7 @@ import javax.swing.text.Element; * Handled the HTML BR tag. */ class BRView - extends NullView - + extends InlineView { /** * Creates the new BR view. @@ -66,6 +65,6 @@ class BRView if (axis == X_AXIS) return ForcedBreakWeight; else - return BadBreakWeight; + return super.getBreakWeight(axis, pos, len); } } diff --git a/libjava/classpath/javax/swing/text/html/BlockView.java b/libjava/classpath/javax/swing/text/html/BlockView.java index 6274e7b1756..b05c983e922 100644 --- a/libjava/classpath/javax/swing/text/html/BlockView.java +++ b/libjava/classpath/javax/swing/text/html/BlockView.java @@ -38,9 +38,12 @@ exception statement from your version. */ package javax.swing.text.html; +import gnu.javax.swing.text.html.css.Length; + import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Shape; +import java.util.HashMap; import javax.swing.SizeRequirements; import javax.swing.event.DocumentEvent; @@ -55,7 +58,106 @@ import javax.swing.text.ViewFactory; */ public class BlockView extends BoxView { - + + /** + * Stores information about child positioning according to the + * CSS attributes position, left, right, top and bottom. + */ + private static class PositionInfo + { + // TODO: Use enums when available. + + /** + * Static positioning. This is the default and is thus rarely really + * used. + */ + static final int STATIC = 0; + + /** + * Relative positioning. The box is teaked relative to its static + * computed bounds. + */ + static final int RELATIVE = 1; + + /** + * Absolute positioning. The box is moved relative to the parent's box. + */ + static final int ABSOLUTE = 2; + + /** + * Like ABSOLUTE, with some fixation against the viewport (not yet + * implemented). + */ + static final int FIXED = 3; + + /** + * The type according to the constants of this class. + */ + int type; + + /** + * The left constraint, null if not set. + */ + Length left; + + /** + * The right constraint, null if not set. + */ + Length right; + + /** + * The top constraint, null if not set. + */ + Length top; + + /** + * The bottom constraint, null if not set. + */ + Length bottom; + + /** + * Creates a new PositionInfo object. + * + * @param typ the type to set + * @param l the left constraint + * @param r the right constraint + * @param t the top constraint + * @param b the bottom constraint + */ + PositionInfo(int typ, Length l, Length r, Length t, Length b) + { + type = typ; + left = l; + right = r; + top = t; + bottom = b; + } + } + + /** + * The attributes for this view. + */ + private AttributeSet attributes; + + /** + * The box painter for this view. + * + * This is package private because the TableView needs access to it. + */ + StyleSheet.BoxPainter painter; + + /** + * The width and height as specified in the stylesheet, null if not + * specified. The first value is the X_AXIS, the second the Y_AXIS. You + * can index this directly by the X_AXIS and Y_AXIS constants. + */ + private Length[] cssSpans; + + /** + * Stores additional CSS layout information. + */ + private HashMap positionInfo; + /** * Creates a new view that represents an html box. * This can be used for a number of elements. @@ -66,8 +168,10 @@ public class BlockView extends BoxView public BlockView(Element elem, int axis) { super(elem, axis); + cssSpans = new Length[2]; + positionInfo = new HashMap(); } - + /** * Creates the parent view for this. It is called before * any other methods, if the parent view is working properly. @@ -99,12 +203,27 @@ public class BlockView extends BoxView protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r) { - SizeRequirements sr = super.calculateMajorAxisRequirements(axis, r); - // FIXME: adjust it if the CSS width or height attribute is specified - // and applicable - return sr; + if (r == null) + r = new SizeRequirements(); + + if (setCSSSpan(r, axis)) + { + // If we have set the span from CSS, then we need to adjust + // the margins. + SizeRequirements parent = super.calculateMajorAxisRequirements(axis, + null); + int margin = axis == X_AXIS ? getLeftInset() + getRightInset() + : getTopInset() + getBottomInset(); + r.minimum -= margin; + r.preferred -= margin; + r.maximum -= margin; + constrainSize(axis, r, parent); + } + else + r = super.calculateMajorAxisRequirements(axis, r); + return r; } - + /** * Calculates the requirements along the minor axis. * This is implemented to call the superclass and then @@ -118,12 +237,89 @@ public class BlockView extends BoxView protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r) { - SizeRequirements sr = super.calculateMinorAxisRequirements(axis, r); - // FIXME: adjust it if the CSS width or height attribute is specified - // and applicable. - return sr; + if (r == null) + r = new SizeRequirements(); + + if (setCSSSpan(r, axis)) + { + // If we have set the span from CSS, then we need to adjust + // the margins. + SizeRequirements parent = super.calculateMinorAxisRequirements(axis, + null); + int margin = axis == X_AXIS ? getLeftInset() + getRightInset() + : getTopInset() + getBottomInset(); + r.minimum -= margin; + r.preferred -= margin; + r.maximum -= margin; + constrainSize(axis, r, parent); + } + else + r = super.calculateMinorAxisRequirements(axis, r); + + // Apply text alignment if appropriate. + if (axis == X_AXIS) + { + Object o = getAttributes().getAttribute(CSS.Attribute.TEXT_ALIGN); + if (o != null) + { + String al = o.toString().trim(); + if (al.equals("center")) + r.alignment = 0.5f; + else if (al.equals("right")) + r.alignment = 1.0f; + else + r.alignment = 0.0f; + } + } + return r; + } + + /** + * Sets the span on the SizeRequirements object according to the + * according CSS span value, when it is set. + * + * @param r the size requirements + * @param axis the axis + * + * @return true when the CSS span has been set, + * false otherwise + */ + private boolean setCSSSpan(SizeRequirements r, int axis) + { + boolean ret = false; + Length span = cssSpans[axis]; + // We can't set relative CSS spans here because we don't know + // yet about the allocated span. Instead we use the view's + // normal requirements. + if (span != null && ! span.isPercentage()) + { + r.minimum = (int) span.getValue(); + r.preferred = (int) span.getValue(); + r.maximum = (int) span.getValue(); + ret = true; + } + return ret; } - + + /** + * Constrains the r requirements according to + * min. + * + * @param axis the axis + * @param r the requirements to constrain + * @param min the constraining requirements + */ + private void constrainSize(int axis, SizeRequirements r, + SizeRequirements min) + { + if (min.minimum > r.minimum) + { + r.minimum = min.minimum; + r.preferred = min.minimum; + r.maximum = Math.max(r.maximum, min.maximum); + } + } + /** * Lays out the box along the minor axis (the axis that is * perpendicular to the axis that it represents). The results @@ -142,10 +338,133 @@ public class BlockView extends BoxView protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans) { - // FIXME: Not implemented. - super.layoutMinorAxis(targetSpan, axis, offsets, spans); + int viewCount = getViewCount(); + for (int i = 0; i < viewCount; i++) + { + View view = getView(i); + int min = (int) view.getMinimumSpan(axis); + int max; + // Handle CSS span value of child. + Length length = cssSpans[axis]; + if (length != null) + { + min = Math.max((int) length.getValue(targetSpan), min); + max = min; + } + else + max = (int) view.getMaximumSpan(axis); + + if (max < targetSpan) + { + // Align child. + float align = view.getAlignment(axis); + offsets[i] = (int) ((targetSpan - max) * align); + spans[i] = max; + } + else + { + offsets[i] = 0; + spans[i] = Math.max(min, targetSpan); + } + + // Adjust according to CSS position info. + positionView(targetSpan, axis, i, offsets, spans); + } } - + + /** + * Overridden to perform additional CSS layout (absolute/relative + * positioning). + */ + protected void layoutMajorAxis(int targetSpan, int axis, + int[] offsets, int[] spans) + { + super.layoutMajorAxis(targetSpan, axis, offsets, spans); + + // Adjust according to CSS position info. + int viewCount = getViewCount(); + for (int i = 0; i < viewCount; i++) + { + positionView(targetSpan, axis, i, offsets, spans); + } + } + + /** + * Positions a view according to any additional CSS constraints. + * + * @param targetSpan the target span + * @param axis the axis + * @param i the index of the view + * @param offsets the offsets get placed here + * @param spans the spans get placed here + */ + private void positionView(int targetSpan, int axis, int i, int[] offsets, + int[] spans) + { + View view = getView(i); + PositionInfo pos = (PositionInfo) positionInfo.get(view); + if (pos != null) + { + int p0 = -1; + int p1 = -1; + if (axis == X_AXIS) + { + Length l = pos.left; + if (l != null) + p0 = (int) l.getValue(targetSpan); + l = pos.right; + if (l != null) + p1 = (int) l.getValue(targetSpan); + } + else + { + Length l = pos.top; + if (l != null) + p0 = (int) l.getValue(targetSpan); + l = pos.bottom; + if (l != null) + p1 = (int) l.getValue(targetSpan); + } + if (pos.type == PositionInfo.ABSOLUTE + || pos.type == PositionInfo.FIXED) + { + if (p0 != -1) + { + offsets[i] = p0; + if (p1 != -1) + { + // Overrides computed width. (Possibly overconstrained + // when the width attribute was set too.) + spans[i] = targetSpan - p1 - offsets[i]; + } + } + else if (p1 != -1) + { + // Preserve any computed width. + offsets[i] = targetSpan - p1 - spans[i]; + } + } + else if (pos.type == PositionInfo.RELATIVE) + { + if (p0 != -1) + { + offsets[i] += p0; + if (p1 != -1) + { + // Overrides computed width. (Possibly overconstrained + // when the width attribute was set too.) + spans[i] = spans[i] - p0 - p1 - offsets[i]; + } + } + else if (p1 != -1) + { + // Preserve any computed width. + offsets[i] -= p1; + } + } + } + } + /** * Paints using the given graphics configuration and shape. * This delegates to the css box painter to paint the @@ -156,14 +475,16 @@ public class BlockView extends BoxView */ public void paint(Graphics g, Shape a) { - Rectangle rect = (Rectangle) a; - // FIXME: not fully implemented - getStyleSheet().getBoxPainter(getAttributes()).paint(g, rect.x, rect.y, - rect.width, - rect.height, this); + Rectangle rect = a instanceof Rectangle ? (Rectangle) a : a.getBounds(); + + // Debug output. Shows blocks in green rectangles. + // g.setColor(Color.GREEN); + // g.drawRect(rect.x, rect.y, rect.width, rect.height); + + painter.paint(g, rect.x, rect.y, rect.width, rect.height, this); super.paint(g, a); } - + /** * Fetches the attributes to use when painting. * @@ -171,7 +492,9 @@ public class BlockView extends BoxView */ public AttributeSet getAttributes() { - return getStyleSheet().getViewAttributes(this); + if (attributes == null) + attributes = getStyleSheet().getViewAttributes(this); + return attributes; } /** @@ -200,14 +523,17 @@ public class BlockView extends BoxView public float getAlignment(int axis) { if (axis == X_AXIS) - return 0.0F; + return super.getAlignment(axis); if (axis == Y_AXIS) { if (getViewCount() == 0) return 0.0F; float prefHeight = getPreferredSpan(Y_AXIS); - float firstRowHeight = getView(0).getPreferredSpan(Y_AXIS); - return (firstRowHeight / 2.F) / prefHeight; + View first = getView(0); + float firstRowHeight = first.getPreferredSpan(Y_AXIS); + return prefHeight != 0 ? (firstRowHeight * first.getAlignment(Y_AXIS)) + / prefHeight + : 0; } throw new IllegalArgumentException("Invalid Axis"); } @@ -227,7 +553,8 @@ public class BlockView extends BoxView // If more elements were added, then need to set the properties for them int currPos = ev.getOffset(); - if (currPos <= getStartOffset() && (currPos + ev.getLength()) >= getEndOffset()) + if (currPos <= getStartOffset() + && (currPos + ev.getLength()) >= getEndOffset()) setPropertiesFromAttributes(); } @@ -284,9 +611,33 @@ public class BlockView extends BoxView */ protected void setPropertiesFromAttributes() { - // FIXME: Not implemented (need to use StyleSheet). + // Fetch attributes. + StyleSheet ss = getStyleSheet(); + attributes = ss.getViewAttributes(this); + + // Fetch painter. + painter = ss.getBoxPainter(attributes); + + // Update insets. + if (attributes != null) + { + setInsets((short) painter.getInset(TOP, this), + (short) painter.getInset(LEFT, this), + (short) painter.getInset(BOTTOM, this), + (short) painter.getInset(RIGHT, this)); + } + + // Fetch width and height. + float emBase = ss.getEMBase(attributes); + float exBase = ss.getEXBase(attributes); + cssSpans[X_AXIS] = (Length) attributes.getAttribute(CSS.Attribute.WIDTH); + if (cssSpans[X_AXIS] != null) + cssSpans[X_AXIS].setFontBases(emBase, exBase); + cssSpans[Y_AXIS] = (Length) attributes.getAttribute(CSS.Attribute.HEIGHT); + if (cssSpans[Y_AXIS] != null) + cssSpans[Y_AXIS].setFontBases(emBase, exBase); } - + /** * Gets the default style sheet. * @@ -294,8 +645,77 @@ public class BlockView extends BoxView */ protected StyleSheet getStyleSheet() { - StyleSheet styleSheet = new StyleSheet(); - styleSheet.importStyleSheet(getClass().getResource(HTMLEditorKit.DEFAULT_CSS)); - return styleSheet; + HTMLDocument doc = (HTMLDocument) getDocument(); + return doc.getStyleSheet(); + } + + /** + * Overridden to fetch additional CSS layout information. + */ + public void replace(int offset, int length, View[] views) + { + // First remove unneeded stuff. + for (int i = 0; i < length; i++) + { + View child = getView(i + offset); + positionInfo.remove(child); + } + + // Call super to actually replace the views. + super.replace(offset, length, views); + + // Now fetch the position infos for the new views. + for (int i = 0; i < views.length; i++) + { + fetchLayoutInfo(views[i]); + } + } + + /** + * Fetches and stores the layout info for the specified view. + * + * @param view the view for which the layout info is stored + */ + private void fetchLayoutInfo(View view) + { + AttributeSet atts = view.getAttributes(); + Object o = atts.getAttribute(CSS.Attribute.POSITION); + if (o != null && o instanceof String && ! o.equals("static")) + { + int type; + if (o.equals("relative")) + type = PositionInfo.RELATIVE; + else if (o.equals("absolute")) + type = PositionInfo.ABSOLUTE; + else if (o.equals("fixed")) + type = PositionInfo.FIXED; + else + type = PositionInfo.STATIC; + + if (type != PositionInfo.STATIC) + { + StyleSheet ss = getStyleSheet(); + float emBase = ss.getEMBase(atts); + float exBase = ss.getEXBase(atts); + Length left = (Length) atts.getAttribute(CSS.Attribute.LEFT); + if (left != null) + left.setFontBases(emBase, exBase); + Length right = (Length) atts.getAttribute(CSS.Attribute.RIGHT); + if (right != null) + right.setFontBases(emBase, exBase); + Length top = (Length) atts.getAttribute(CSS.Attribute.TOP); + if (top != null) + top.setFontBases(emBase, exBase); + Length bottom = (Length) atts.getAttribute(CSS.Attribute.BOTTOM); + if (bottom != null) + bottom.setFontBases(emBase, exBase); + if (left != null || right != null || top != null || bottom != null) + { + PositionInfo pos = new PositionInfo(type, left, right, top, + bottom); + positionInfo.put(view, pos); + } + } + } } } diff --git a/libjava/classpath/javax/swing/text/html/CSS.java b/libjava/classpath/javax/swing/text/html/CSS.java index c248e758ec2..77f94a60878 100644 --- a/libjava/classpath/javax/swing/text/html/CSS.java +++ b/libjava/classpath/javax/swing/text/html/CSS.java @@ -37,8 +37,19 @@ exception statement from your version. */ package javax.swing.text.html; +import gnu.javax.swing.text.html.css.BorderStyle; +import gnu.javax.swing.text.html.css.BorderWidth; +import gnu.javax.swing.text.html.css.CSSColor; +import gnu.javax.swing.text.html.css.FontSize; +import gnu.javax.swing.text.html.css.FontStyle; +import gnu.javax.swing.text.html.css.FontWeight; +import gnu.javax.swing.text.html.css.Length; + import java.io.Serializable; import java.util.HashMap; +import java.util.StringTokenizer; + +import javax.swing.text.MutableAttributeSet; /** * Provides CSS attributes to be used by the HTML view classes. The constants @@ -388,6 +399,36 @@ public class CSS implements Serializable public static final Attribute WORD_SPACING = new Attribute("word-spacing", true, "normal"); + // Some GNU Classpath specific extensions. + static final Attribute BORDER_TOP_STYLE = + new Attribute("border-top-style", false, null); + static final Attribute BORDER_BOTTOM_STYLE = + new Attribute("border-bottom-style", false, null); + static final Attribute BORDER_LEFT_STYLE = + new Attribute("border-left-style", false, null); + static final Attribute BORDER_RIGHT_STYLE = + new Attribute("border-right-style", false, null); + static final Attribute BORDER_TOP_COLOR = + new Attribute("border-top-color", false, null); + static final Attribute BORDER_BOTTOM_COLOR = + new Attribute("border-bottom-color", false, null); + static final Attribute BORDER_LEFT_COLOR = + new Attribute("border-left-color", false, null); + static final Attribute BORDER_RIGHT_COLOR = + new Attribute("border-right-color", false, null); + static final Attribute BORDER_SPACING = + new Attribute("border-spacing", false, null); + static final Attribute POSITION = + new Attribute("position", false, null); + static final Attribute LEFT = + new Attribute("left", false, null); + static final Attribute RIGHT = + new Attribute("right", false, null); + static final Attribute TOP = + new Attribute("top", false, null); + static final Attribute BOTTOM = + new Attribute("bottom", false, null); + /** * The attribute string. */ @@ -459,4 +500,237 @@ public class CSS implements Serializable return defaultValue; } } + + /** + * Maps attribute values (String) to some converter class, based on the + * key. + * + * @param att the key + * @param v the value + * + * @return the wrapped value + */ + static Object getValue(Attribute att, String v) + { + Object o; + if (att == Attribute.FONT_SIZE) + o = new FontSize(v); + else if (att == Attribute.FONT_WEIGHT) + o = new FontWeight(v); + else if (att == Attribute.FONT_STYLE) + o = new FontStyle(v); + else if (att == Attribute.COLOR || att == Attribute.BACKGROUND_COLOR + || att == Attribute.BORDER_COLOR + || att == Attribute.BORDER_TOP_COLOR + || att == Attribute.BORDER_BOTTOM_COLOR + || att == Attribute.BORDER_LEFT_COLOR + || att == Attribute.BORDER_RIGHT_COLOR) + o = new CSSColor(v); + else if (att == Attribute.MARGIN || att == Attribute.MARGIN_BOTTOM + || att == Attribute.MARGIN_LEFT || att == Attribute.MARGIN_RIGHT + || att == Attribute.MARGIN_TOP || att == Attribute.WIDTH + || att == Attribute.HEIGHT + || att == Attribute.PADDING || att == Attribute.PADDING_BOTTOM + || att == Attribute.PADDING_LEFT || att == Attribute.PADDING_RIGHT + || att == Attribute.PADDING_TOP + || att == Attribute.LEFT || att == Attribute.RIGHT + || att == Attribute.TOP || att == Attribute.BOTTOM) + o = new Length(v); + else if (att == Attribute.BORDER_WIDTH || att == Attribute.BORDER_TOP_WIDTH + || att == Attribute.BORDER_LEFT_WIDTH + || att == Attribute.BORDER_RIGHT_WIDTH + || att == Attribute.BORDER_BOTTOM_WIDTH) + o = new BorderWidth(v); + else + o = v; + return o; + } + + static void addInternal(MutableAttributeSet atts, Attribute a, String v) + { + if (a == Attribute.BACKGROUND) + parseBackgroundShorthand(atts, v); + else if (a == Attribute.PADDING) + parsePaddingShorthand(atts, v); + else if (a == Attribute.MARGIN) + parseMarginShorthand(atts, v); + else if (a == Attribute.BORDER || a == Attribute.BORDER_LEFT + || a == Attribute.BORDER_RIGHT || a == Attribute.BORDER_TOP + || a == Attribute.BORDER_BOTTOM) + parseBorderShorthand(atts, v, a); + } + + /** + * Parses the background shorthand and translates it to more specific + * background attributes. + * + * @param atts the attributes + * @param v the value + */ + private static void parseBackgroundShorthand(MutableAttributeSet atts, + String v) + { + StringTokenizer tokens = new StringTokenizer(v, " "); + while (tokens.hasMoreElements()) + { + String token = tokens.nextToken(); + if (CSSColor.isValidColor(token)) + atts.addAttribute(Attribute.BACKGROUND_COLOR, + new CSSColor(token)); + } + } + + /** + * Parses the padding shorthand and translates to the specific padding + * values. + * + * @param atts the attributes + * @param v the actual value + */ + private static void parsePaddingShorthand(MutableAttributeSet atts, String v) + { + StringTokenizer tokens = new StringTokenizer(v, " "); + int numTokens = tokens.countTokens(); + if (numTokens == 1) + { + Length l = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.PADDING_BOTTOM, l); + atts.addAttribute(Attribute.PADDING_LEFT, l); + atts.addAttribute(Attribute.PADDING_RIGHT, l); + atts.addAttribute(Attribute.PADDING_TOP, l); + } + else if (numTokens == 2) + { + Length l1 = new Length(tokens.nextToken()); + Length l2 = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.PADDING_BOTTOM, l1); + atts.addAttribute(Attribute.PADDING_TOP, l1); + atts.addAttribute(Attribute.PADDING_LEFT, l2); + atts.addAttribute(Attribute.PADDING_RIGHT, l2); + } + else if (numTokens == 3) + { + Length l1 = new Length(tokens.nextToken()); + Length l2 = new Length(tokens.nextToken()); + Length l3 = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.PADDING_TOP, l1); + atts.addAttribute(Attribute.PADDING_LEFT, l2); + atts.addAttribute(Attribute.PADDING_RIGHT, l2); + atts.addAttribute(Attribute.PADDING_BOTTOM, l3); + } + else + { + Length l1 = new Length(tokens.nextToken()); + Length l2 = new Length(tokens.nextToken()); + Length l3 = new Length(tokens.nextToken()); + Length l4 = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.PADDING_TOP, l1); + atts.addAttribute(Attribute.PADDING_RIGHT, l2); + atts.addAttribute(Attribute.PADDING_BOTTOM, l3); + atts.addAttribute(Attribute.PADDING_LEFT, l4); + } + } + + /** + * Parses the margin shorthand and translates to the specific margin + * values. + * + * @param atts the attributes + * @param v the actual value + */ + private static void parseMarginShorthand(MutableAttributeSet atts, String v) + { + StringTokenizer tokens = new StringTokenizer(v, " "); + int numTokens = tokens.countTokens(); + if (numTokens == 1) + { + Length l = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.MARGIN_BOTTOM, l); + atts.addAttribute(Attribute.MARGIN_LEFT, l); + atts.addAttribute(Attribute.MARGIN_RIGHT, l); + atts.addAttribute(Attribute.MARGIN_TOP, l); + } + else if (numTokens == 2) + { + Length l1 = new Length(tokens.nextToken()); + Length l2 = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.MARGIN_BOTTOM, l1); + atts.addAttribute(Attribute.MARGIN_TOP, l1); + atts.addAttribute(Attribute.MARGIN_LEFT, l2); + atts.addAttribute(Attribute.MARGIN_RIGHT, l2); + } + else if (numTokens == 3) + { + Length l1 = new Length(tokens.nextToken()); + Length l2 = new Length(tokens.nextToken()); + Length l3 = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.MARGIN_TOP, l1); + atts.addAttribute(Attribute.MARGIN_LEFT, l2); + atts.addAttribute(Attribute.MARGIN_RIGHT, l2); + atts.addAttribute(Attribute.MARGIN_BOTTOM, l3); + } + else + { + Length l1 = new Length(tokens.nextToken()); + Length l2 = new Length(tokens.nextToken()); + Length l3 = new Length(tokens.nextToken()); + Length l4 = new Length(tokens.nextToken()); + atts.addAttribute(Attribute.MARGIN_TOP, l1); + atts.addAttribute(Attribute.MARGIN_RIGHT, l2); + atts.addAttribute(Attribute.MARGIN_BOTTOM, l3); + atts.addAttribute(Attribute.MARGIN_LEFT, l4); + } + } + + /** + * Parses the CSS border shorthand attribute and translates it to the + * more specific border attributes. + * + * @param atts the attribute + * @param value the value + */ + private static void parseBorderShorthand(MutableAttributeSet atts, + String value, Attribute cssAtt) + { + StringTokenizer tokens = new StringTokenizer(value, " "); + while (tokens.hasMoreTokens()) + { + String token = tokens.nextToken(); + if (BorderStyle.isValidStyle(token)) + { + if (cssAtt == Attribute.BORDER_LEFT || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_LEFT_STYLE, token); + if (cssAtt == Attribute.BORDER_RIGHT || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_RIGHT_STYLE, token); + if (cssAtt == Attribute.BORDER_BOTTOM || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_BOTTOM_STYLE, token); + if (cssAtt == Attribute.BORDER_TOP || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_TOP_STYLE, token); + } + else if (BorderWidth.isValid(token)) + { + BorderWidth w = new BorderWidth(token); + if (cssAtt == Attribute.BORDER_LEFT || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_LEFT_WIDTH, w); + if (cssAtt == Attribute.BORDER_RIGHT || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_RIGHT_WIDTH, w); + if (cssAtt == Attribute.BORDER_BOTTOM || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_BOTTOM_WIDTH, w); + if (cssAtt == Attribute.BORDER_TOP || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_TOP_WIDTH, w); + } + else if (CSSColor.isValidColor(token)) + { + CSSColor c = new CSSColor(token); + if (cssAtt == Attribute.BORDER_LEFT || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_LEFT_COLOR, c); + if (cssAtt == Attribute.BORDER_RIGHT || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_RIGHT_COLOR, c); + if (cssAtt == Attribute.BORDER_BOTTOM || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_BOTTOM_COLOR, c); + if (cssAtt == Attribute.BORDER_TOP || cssAtt == Attribute.BORDER) + atts.addAttribute(Attribute.BORDER_TOP_COLOR, c); + } + } + } } diff --git a/libjava/classpath/javax/swing/text/html/CSSBorder.java b/libjava/classpath/javax/swing/text/html/CSSBorder.java new file mode 100644 index 00000000000..fff6b01a170 --- /dev/null +++ b/libjava/classpath/javax/swing/text/html/CSSBorder.java @@ -0,0 +1,421 @@ +/* CSSBorder.java -- A border for rendering CSS border styles + Copyright (C) 2006 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. */ + + +package javax.swing.text.html; + +import gnu.javax.swing.text.html.css.BorderWidth; +import gnu.javax.swing.text.html.css.CSSColor; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Insets; + +import javax.swing.border.Border; +import javax.swing.text.AttributeSet; + +/** + * A border implementation to render CSS border styles. + */ +class CSSBorder + implements Border +{ + + /** + * The CSS border styles. + */ + + private static final int STYLE_NOT_SET = -1; + private static final int STYLE_NONE = 0; + private static final int STYLE_HIDDEN = 1; + private static final int STYLE_DOTTED = 2; + private static final int STYLE_DASHED = 3; + private static final int STYLE_SOLID = 4; + private static final int STYLE_DOUBLE = 5; + private static final int STYLE_GROOVE = 6; + private static final int STYLE_RIDGE = 7; + private static final int STYLE_INSET = 8; + private static final int STYLE_OUTSET = 9; + + /** + * The left insets. + */ + private int left; + + /** + * The right insets. + */ + private int right; + + /** + * The top insets. + */ + private int top; + + /** + * The bottom insets. + */ + private int bottom; + + /** + * The border style on the left. + */ + private int leftStyle; + + /** + * The border style on the right. + */ + private int rightStyle; + + /** + * The border style on the top. + */ + private int topStyle; + + /** + * The color for the top border. + */ + private Color topColor; + + /** + * The color for the bottom border. + */ + private Color bottomColor; + + /** + * The color for the left border. + */ + private Color leftColor; + + /** + * The color for the right border. + */ + private Color rightColor; + + /** + * The border style on the bottom. + */ + private int bottomStyle; + + /** + * Creates a new CSS border and fetches its attributes from the specified + * attribute set. + * + * @param atts the attribute set that contains the border spec + */ + CSSBorder(AttributeSet atts, StyleSheet ss) + { + // Determine the border styles. + int style = getBorderStyle(atts, CSS.Attribute.BORDER_STYLE); + if (style == STYLE_NOT_SET) + style = STYLE_NONE; // Default to none. + topStyle = bottomStyle = leftStyle = rightStyle = style; + style = getBorderStyle(atts, CSS.Attribute.BORDER_TOP_STYLE); + if (style != STYLE_NOT_SET) + topStyle = style; + style = getBorderStyle(atts, CSS.Attribute.BORDER_BOTTOM_STYLE); + if (style != STYLE_NOT_SET) + bottomStyle = style; + style = getBorderStyle(atts, CSS.Attribute.BORDER_LEFT_STYLE); + if (style != STYLE_NOT_SET) + leftStyle = style; + style = getBorderStyle(atts, CSS.Attribute.BORDER_RIGHT_STYLE); + if (style != STYLE_NOT_SET) + rightStyle = style; + + // Determine the border colors. + Color color = getBorderColor(atts, CSS.Attribute.BORDER_COLOR); + if (color == null) + color = Color.BLACK; + topColor = bottomColor = leftColor = rightColor = color; + color = getBorderColor(atts, CSS.Attribute.BORDER_TOP_COLOR); + if (color != null) + topColor = color; + color = getBorderColor(atts, CSS.Attribute.BORDER_BOTTOM_COLOR); + if (color != null) + bottomColor = color; + color = getBorderColor(atts, CSS.Attribute.BORDER_LEFT_COLOR); + if (color != null) + leftColor = color; + color = getBorderColor(atts, CSS.Attribute.BORDER_RIGHT_COLOR); + if (color != null) + rightColor = color; + + // Determine the border widths. + int width = getBorderWidth(atts, CSS.Attribute.BORDER_WIDTH, ss); + if (width == -1) + width = 0; + top = bottom = left = right = width; + width = getBorderWidth(atts, CSS.Attribute.BORDER_TOP_WIDTH, ss); + if (width >= 0) + top = width; + width = getBorderWidth(atts, CSS.Attribute.BORDER_BOTTOM_WIDTH, ss); + if (width >= 0) + bottom = width; + width = getBorderWidth(atts, CSS.Attribute.BORDER_LEFT_WIDTH, ss); + if (width >= 0) + left = width; + width = getBorderWidth(atts, CSS.Attribute.BORDER_RIGHT_WIDTH, ss); + if (width >= 0) + right = width; + } + + /** + * Determines the border style for a given CSS attribute. + * + * @param atts the attribute set + * @param key the CSS key + * + * @return the border style according to the constants defined in this class + */ + private int getBorderStyle(AttributeSet atts, CSS.Attribute key) + { + int style = STYLE_NOT_SET; + Object o = atts.getAttribute(key); + if (o != null) + { + String cssStyle = o.toString(); + if (cssStyle.equals("none")) + style = STYLE_NONE; + else if (cssStyle.equals("hidden")) + style = STYLE_HIDDEN; + else if (cssStyle.equals("dotted")) + style = STYLE_DOTTED; + else if (cssStyle.equals("dashed")) + style = STYLE_DASHED; + else if (cssStyle.equals("solid")) + style = STYLE_SOLID; + else if (cssStyle.equals("double")) + style = STYLE_DOUBLE; + else if (cssStyle.equals("groove")) + style = STYLE_GROOVE; + else if (cssStyle.equals("ridge")) + style = STYLE_RIDGE; + else if (cssStyle.equals("inset")) + style = STYLE_INSET; + else if (cssStyle.equals("outset")) + style = STYLE_OUTSET; + } + return style; + } + + /** + * Determines the border color for the specified key. + * + * @param atts the attribute set from which to fetch the color + * @param key the CSS key + * + * @return the border color + */ + private Color getBorderColor(AttributeSet atts, CSS.Attribute key) + { + Object o = atts.getAttribute(key); + Color color = null; + if (o instanceof CSSColor) + { + CSSColor cssColor = (CSSColor) o; + color = cssColor.getValue(); + } + return color; + } + + /** + * Returns the width for the specified key. + * + * @param atts the attributes to fetch the width from + * @param key the CSS key + * + * @return the width, or -1 of none has been set + */ + private int getBorderWidth(AttributeSet atts, CSS.Attribute key, + StyleSheet ss) + { + int width = -1; + Object o = atts.getAttribute(key); + if (o instanceof BorderWidth) + { + BorderWidth w = (BorderWidth) o; + w.setFontBases(ss.getEMBase(atts), ss.getEXBase(atts)); + width = (int) ((BorderWidth) o).getValue(); + } + return width; + } + + /** + * Returns the border insets. + */ + public Insets getBorderInsets(Component c) + { + return new Insets(top, left, bottom, right); + } + + /** + * CSS borders are generally opaque so return true here. + */ + public boolean isBorderOpaque() + { + return true; + } + + public void paintBorder(Component c, Graphics g, int x, int y, int width, + int height) + { + // Top border. + paintBorderLine(g, x, y + top / 2, x + width, y + top / 2, topStyle, top, + topColor, false); + // Left border. + paintBorderLine(g, x + left / 2, y, x + left / 2, y + height, leftStyle, + left, leftColor, true); + // Bottom border. + paintBorderLine(g, x, y + height - bottom / 2, x + width, + y + height - bottom / 2, topStyle, bottom, bottomColor, + false); + // Right border. + paintBorderLine(g, x + width - right / 2, y, x + width - right / 2, + y + height, topStyle, right, rightColor, true); + + } + + private void paintBorderLine(Graphics g, int x1, int y1, int x2, int y2, + int style, int width, Color color, + boolean vertical) + { + switch (style) + { + case STYLE_DOTTED: + paintDottedLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_DASHED: + paintDashedLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_SOLID: + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_DOUBLE: + paintDoubleLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_GROOVE: + paintGrooveLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_RIDGE: + paintRidgeLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_OUTSET: + paintOutsetLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_INSET: + paintInsetLine(g, x1, y1, x2, y2, width, color, vertical); + break; + case STYLE_NONE: + case STYLE_HIDDEN: + default: + // Nothing to do in these cases. + } + } + + private void paintDottedLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + + private void paintDashedLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + + private void paintSolidLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + int x = Math.min(x1, x2); + int y = Math.min(y1, y1); + int w = Math.abs(x2 - x1); + int h = Math.abs(y2 - y1); + if (vertical) + { + w = width; + x -= width / 2; + } + else + { + h = width; + y -= width / 2; + } + g.setColor(color); + g.fillRect(x, y, w, h); + } + + private void paintDoubleLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + + private void paintGrooveLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + + private void paintRidgeLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + + private void paintOutsetLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + + private void paintInsetLine(Graphics g, int x1, int y1, int x2, int y2, + int width, Color color, boolean vertical) + { + // FIXME: Implement this. + paintSolidLine(g, x1, y1, x2, y2, width, color, vertical); + } + +} diff --git a/libjava/classpath/javax/swing/text/html/FormSubmitEvent.java b/libjava/classpath/javax/swing/text/html/FormSubmitEvent.java new file mode 100644 index 00000000000..bc7c36f4b27 --- /dev/null +++ b/libjava/classpath/javax/swing/text/html/FormSubmitEvent.java @@ -0,0 +1,123 @@ +/* FormSubmitEvent.java -- Event fired on form submit + Copyright (C) 2006 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. */ + + +package javax.swing.text.html; + +import java.net.URL; + +import javax.swing.text.Element; + +/** + * The event fired on form submit. + * + * @since 1.5 + */ +public class FormSubmitEvent + extends HTMLFrameHyperlinkEvent +{ + + // FIXME: Use enums when available. + /** + * The submit method. + */ + public static class MethodType + { + /** + * Indicates a form submit with HTTP method POST. + */ + public static final MethodType POST = new MethodType(); + + /** + * Indicates a form submit with HTTP method GET. + */ + public static final MethodType GET = new MethodType(); + + private MethodType() + { + } + } + + /** + * The submit method. + */ + private MethodType method; + + /** + * The actual submit data. + */ + private String data; + + /** + * Creates a new FormSubmitEvent. + * + * @param source the source + * @param type the type of hyperlink update + * @param url the action url + * @param el the associated element + * @param target the target attribute + * @param m the submit method + * @param d the submit data + */ + FormSubmitEvent(Object source, EventType type, URL url, Element el, + String target, MethodType m, String d) + { + super(source, type, url, el, target); + method = m; + data = d; + } + + /** + * Returns the submit data. + * + * @return the submit data + */ + public String getData() + { + return data; + } + + /** + * Returns the HTTP submit method. + * + * @return the HTTP submit method + */ + public MethodType getMethod() + { + return method; + } +} diff --git a/libjava/classpath/javax/swing/text/html/FormView.java b/libjava/classpath/javax/swing/text/html/FormView.java index d54021066d0..ef362bd3d9b 100644 --- a/libjava/classpath/javax/swing/text/html/FormView.java +++ b/libjava/classpath/javax/swing/text/html/FormView.java @@ -44,16 +44,36 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import javax.swing.ButtonModel; +import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; +import javax.swing.JComboBox; +import javax.swing.JEditorPane; +import javax.swing.JList; import javax.swing.JPasswordField; import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.SwingUtilities; import javax.swing.UIManager; +import javax.swing.event.HyperlinkEvent; import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; import javax.swing.text.ComponentView; +import javax.swing.text.Document; import javax.swing.text.Element; +import javax.swing.text.ElementIterator; import javax.swing.text.StyleConstants; /** @@ -104,6 +124,231 @@ public class FormView } } + /** + * Actually submits the form data. + */ + private class SubmitThread + extends Thread + { + /** + * The submit data. + */ + private String data; + + /** + * Creates a new SubmitThread. + * + * @param d the submit data + */ + SubmitThread(String d) + { + data = d; + } + + /** + * Actually performs the submit. + */ + public void run() + { + if (data.length() > 0) + { + final String method = getMethod(); + final URL actionURL = getActionURL(); + final String target = getTarget(); + URLConnection conn; + final JEditorPane editor = (JEditorPane) getContainer(); + final HTMLDocument doc = (HTMLDocument) editor.getDocument(); + HTMLEditorKit kit = (HTMLEditorKit) editor.getEditorKit(); + if (kit.isAutoFormSubmission()) + { + try + { + final URL url; + if (method != null && method.equals("post")) + { + // Perform POST. + url = actionURL; + conn = url.openConnection(); + postData(conn, data); + } + else + { + // Default to GET. + url = new URL(actionURL + "?" + data); + } + Runnable loadDoc = new Runnable() + { + public void run() + { + if (doc.isFrameDocument()) + { + editor.fireHyperlinkUpdate(createSubmitEvent(method, + actionURL, + target)); + } + else + { + try + { + editor.setPage(url); + } + catch (IOException ex) + { + // Oh well. + ex.printStackTrace(); + } + } + } + }; + SwingUtilities.invokeLater(loadDoc); + } + catch (MalformedURLException ex) + { + ex.printStackTrace(); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + else + { + editor.fireHyperlinkUpdate(createSubmitEvent(method,actionURL, + target)); + } + } + } + + /** + * Determines the submit method. + * + * @return the submit method + */ + private String getMethod() + { + AttributeSet formAtts = getFormAttributes(); + String method = null; + if (formAtts != null) + { + method = (String) formAtts.getAttribute(HTML.Attribute.METHOD); + } + return method; + } + + /** + * Determines the action URL. + * + * @return the action URL + */ + private URL getActionURL() + { + AttributeSet formAtts = getFormAttributes(); + HTMLDocument doc = (HTMLDocument) getElement().getDocument(); + URL url = doc.getBase(); + if (formAtts != null) + { + String action = + (String) formAtts.getAttribute(HTML.Attribute.ACTION); + if (action != null) + { + try + { + url = new URL(url, action); + } + catch (MalformedURLException ex) + { + url = null; + } + } + } + return url; + } + + /** + * Fetches the target attribute. + * + * @return the target attribute or _self if none is present + */ + private String getTarget() + { + AttributeSet formAtts = getFormAttributes(); + String target = null; + if (formAtts != null) + { + target = (String) formAtts.getAttribute(HTML.Attribute.TARGET); + if (target != null) + target = target.toLowerCase(); + } + if (target == null) + target = "_self"; + return target; + } + + /** + * Posts the form data over the specified connection. + * + * @param conn the connection + */ + private void postData(URLConnection conn, String data) + { + conn.setDoOutput(true); + PrintWriter out = null; + try + { + out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream())); + out.print(data); + out.flush(); + } + catch (IOException ex) + { + // Deal with this! + ex.printStackTrace(); + } + finally + { + if (out != null) + out.close(); + } + } + + /** + * Determines the attributes from the relevant form tag. + * + * @return the attributes from the relevant form tag, null + * when there is no form tag + */ + private AttributeSet getFormAttributes() + { + AttributeSet atts = null; + Element form = getFormElement(); + if (form != null) + atts = form.getAttributes(); + return atts; + } + + /** + * Creates the submit event that should be fired. + * + * This is package private to avoid accessor methods. + * + * @param method the submit method + * @param actionURL the action URL + * @param target the target + * + * @return the submit event + */ + FormSubmitEvent createSubmitEvent(String method, URL actionURL, + String target) + { + FormSubmitEvent.MethodType m = "post".equals(method) + ? FormSubmitEvent.MethodType.POST + : FormSubmitEvent.MethodType.GET; + return new FormSubmitEvent(FormView.this, + HyperlinkEvent.EventType.ACTIVATED, + actionURL, getElement(), target, m, data); + } + } + /** * If the value attribute of an <input type="submit">> * tag is not specified, then this string is used. @@ -124,6 +369,11 @@ public class FormView public static final String RESET = UIManager.getString("FormView.resetButtonText"); + /** + * If this is true, the maximum size is set to the preferred size. + */ + private boolean maxIsPreferred; + /** * Creates a new FormView. * @@ -141,39 +391,161 @@ public class FormView { Component comp = null; Element el = getElement(); - Object tag = el.getAttributes().getAttribute(StyleConstants.NameAttribute); + AttributeSet atts = el.getAttributes(); + Object tag = atts.getAttribute(StyleConstants.NameAttribute); + Object model = atts.getAttribute(StyleConstants.ModelAttribute); if (tag.equals(HTML.Tag.INPUT)) { - AttributeSet atts = el.getAttributes(); String type = (String) atts.getAttribute(HTML.Attribute.TYPE); - String value = (String) atts.getAttribute(HTML.Attribute.VALUE); if (type.equals("button")) - comp = new JButton(value); + { + String value = (String) atts.getAttribute(HTML.Attribute.VALUE); + JButton b = new JButton(value); + if (model != null) + { + b.setModel((ButtonModel) model); + b.addActionListener(this); + } + comp = b; + maxIsPreferred = true; + } else if (type.equals("checkbox")) - comp = new JCheckBox(value); + { + if (model instanceof ResetableToggleButtonModel) + { + ResetableToggleButtonModel m = + (ResetableToggleButtonModel) model; + JCheckBox c = new JCheckBox(); + c.setModel(m); + comp = c; + maxIsPreferred = true; + } + } else if (type.equals("image")) - comp = new JButton(value); // FIXME: Find out how to fetch the image. + { + String src = (String) atts.getAttribute(HTML.Attribute.SRC); + JButton b; + try + { + URL base = ((HTMLDocument) el.getDocument()).getBase(); + URL srcURL = new URL(base, src); + ImageIcon icon = new ImageIcon(srcURL); + b = new JButton(icon); + } + catch (MalformedURLException ex) + { + b = new JButton(src); + } + if (model != null) + { + b.setModel((ButtonModel) model); + b.addActionListener(this); + } + comp = b; + maxIsPreferred = true; + } else if (type.equals("password")) - comp = new JPasswordField(value); + { + int size = HTML.getIntegerAttributeValue(atts, HTML.Attribute.SIZE, + -1); + JTextField tf = new JPasswordField(); + if (size > 0) + tf.setColumns(size); + else + tf.setColumns(20); + if (model != null) + tf.setDocument((Document) model); + tf.addActionListener(this); + comp = tf; + maxIsPreferred = true; + } else if (type.equals("radio")) - comp = new JRadioButton(value); + { + if (model instanceof ResetableToggleButtonModel) + { + ResetableToggleButtonModel m = + (ResetableToggleButtonModel) model; + JRadioButton c = new JRadioButton(); + c.setModel(m); + comp = c; + maxIsPreferred = true; + } + } else if (type.equals("reset")) { - if (value == null || value.equals("")) - value = RESET; - comp = new JButton(value); + String value = (String) atts.getAttribute(HTML.Attribute.VALUE); + if (value == null) + value = UIManager.getString("FormView.resetButtonText"); + JButton b = new JButton(value); + if (model != null) + { + b.setModel((ButtonModel) model); + b.addActionListener(this); + } + comp = b; + maxIsPreferred = true; } else if (type.equals("submit")) { - if (value == null || value.equals("")) - value = SUBMIT; - comp = new JButton(value); + String value = (String) atts.getAttribute(HTML.Attribute.VALUE); + if (value == null) + value = UIManager.getString("FormView.submitButtonText"); + JButton b = new JButton(value); + if (model != null) + { + b.setModel((ButtonModel) model); + b.addActionListener(this); + } + comp = b; + maxIsPreferred = true; } else if (type.equals("text")) - comp = new JTextField(value); - + { + int size = HTML.getIntegerAttributeValue(atts, HTML.Attribute.SIZE, + -1); + JTextField tf = new JTextField(); + if (size > 0) + tf.setColumns(size); + else + tf.setColumns(20); + if (model != null) + tf.setDocument((Document) model); + tf.addActionListener(this); + comp = tf; + maxIsPreferred = true; + } + } + else if (tag == HTML.Tag.TEXTAREA) + { + JTextArea textArea = new JTextArea((Document) model); + int rows = HTML.getIntegerAttributeValue(atts, HTML.Attribute.ROWS, 1); + textArea.setRows(rows); + int cols = HTML.getIntegerAttributeValue(atts, HTML.Attribute.COLS, 20); + textArea.setColumns(cols); + maxIsPreferred = true; + comp = new JScrollPane(textArea, + JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); + } + else if (tag == HTML.Tag.SELECT) + { + if (model instanceof SelectListModel) + { + SelectListModel slModel = (SelectListModel) model; + JList list = new JList(slModel); + int size = HTML.getIntegerAttributeValue(atts, HTML.Attribute.SIZE, + 1); + list.setVisibleRowCount(size); + list.setSelectionModel(slModel.getSelectionModel()); + comp = new JScrollPane(list); + } + else if (model instanceof SelectComboBoxModel) + { + SelectComboBoxModel scbModel = (SelectComboBoxModel) model; + comp = new JComboBox(scbModel); + } + maxIsPreferred = true; } - // FIXME: Implement the remaining components. return comp; } @@ -188,16 +560,11 @@ public class FormView */ public float getMaximumSpan(int axis) { - // FIXME: The specs say that for some components the maximum span == the - // preferred span of the component. This should be figured out and - // implemented accordingly. float span; - if (axis == X_AXIS) - span = getComponent().getMaximumSize().width; - else if (axis == Y_AXIS) - span = getComponent().getMaximumSize().height; + if (maxIsPreferred) + span = getPreferredSpan(axis); else - throw new IllegalArgumentException("Invalid axis parameter"); + span = super.getMaximumSpan(axis); return span; } @@ -222,7 +589,9 @@ public class FormView AttributeSet atts = el.getAttributes(); String type = (String) atts.getAttribute(HTML.Attribute.TYPE); if (type.equals("submit")) - submitData(""); // FIXME: How to fetch the actual form data? + submitData(getFormData()); + else if (type.equals("reset")) + resetForm(); } // FIXME: Implement the remaining actions. } @@ -235,7 +604,8 @@ public class FormView */ protected void submitData(String data) { - // FIXME: Implement this. + SubmitThread submitThread = new SubmitThread(data); + submitThread.start(); } /** @@ -272,4 +642,229 @@ public class FormView } return data; } + + /** + * Determines and returns the enclosing form element if there is any. + * + * This is package private to avoid accessor methods. + * + * @return the enclosing form element, or null if there is no + * enclosing form element + */ + Element getFormElement() + { + Element form = null; + Element el = getElement(); + while (el != null && form == null) + { + AttributeSet atts = el.getAttributes(); + if (atts.getAttribute(StyleConstants.NameAttribute) == HTML.Tag.FORM) + form = el; + else + el = el.getParentElement(); + } + return form; + } + + /** + * Determines the form data that is about to be submitted. + * + * @return the form data + */ + private String getFormData() + { + Element form = getFormElement(); + StringBuilder b = new StringBuilder(); + if (form != null) + { + ElementIterator i = new ElementIterator(form); + Element next; + while ((next = i.next()) != null) + { + if (next.isLeaf()) + { + AttributeSet atts = next.getAttributes(); + String type = (String) atts.getAttribute(HTML.Attribute.TYPE); + if (type != null && type.equals("submit") + && next != getElement()) + { + // Skip this. This is not the actual submit trigger. + } + else if (type == null || ! type.equals("image")) + { + getElementFormData(next, b); + } + } + } + } + return b.toString(); + } + + /** + * Fetches the form data from the specified element and appends it to + * the data string. + * + * @param el the element from which to fetch form data + * @param b the data string + */ + private void getElementFormData(Element el, StringBuilder b) + { + AttributeSet atts = el.getAttributes(); + String name = (String) atts.getAttribute(HTML.Attribute.NAME); + if (name != null) + { + String value = null; + HTML.Tag tag = (HTML.Tag) atts.getAttribute(StyleConstants.NameAttribute); + if (tag == HTML.Tag.SELECT) + { + getSelectData(atts, b); + } + else + { + if (tag == HTML.Tag.INPUT) + value = getInputFormData(atts); + else if (tag == HTML.Tag.TEXTAREA) + value = getTextAreaData(atts); + if (name != null && value != null) + { + addData(b, name, value); + } + } + } + } + + /** + * Fetches form data from select boxes. + * + * @param atts the attributes of the element + * + * @param b the form data string to append to + */ + private void getSelectData(AttributeSet atts, StringBuilder b) + { + String name = (String) atts.getAttribute(HTML.Attribute.NAME); + if (name != null) + { + Object m = atts.getAttribute(StyleConstants.ModelAttribute); + if (m instanceof SelectListModel) + { + SelectListModel sl = (SelectListModel) m; + ListSelectionModel lsm = sl.getSelectionModel(); + for (int i = 0; i < sl.getSize(); i++) + { + if (lsm.isSelectedIndex(i)) + { + Option o = (Option) sl.getElementAt(i); + addData(b, name, o.getValue()); + } + } + } + else if (m instanceof SelectComboBoxModel) + { + SelectComboBoxModel scb = (SelectComboBoxModel) m; + Option o = (Option) scb.getSelectedItem(); + if (o != null) + addData(b, name, o.getValue()); + } + } + } + + /** + * Fetches form data from a textarea. + * + * @param atts the attributes + * + * @return the form data + */ + private String getTextAreaData(AttributeSet atts) + { + Document doc = (Document) atts.getAttribute(StyleConstants.ModelAttribute); + String data; + try + { + data = doc.getText(0, doc.getLength()); + } + catch (BadLocationException ex) + { + data = null; + } + return data; + } + + /** + * Fetches form data from an input tag. + * + * @param atts the attributes from which to fetch the data + * + * @return the field value + */ + private String getInputFormData(AttributeSet atts) + { + String type = (String) atts.getAttribute(HTML.Attribute.TYPE); + Object model = atts.getAttribute(StyleConstants.ModelAttribute); + String value = null; + if (type.equals("text") || type.equals("password")) + { + Document doc = (Document) model; + try + { + value = doc.getText(0, doc.getLength()); + } + catch (BadLocationException ex) + { + // Sigh. + assert false; + } + } + else if (type.equals("hidden") || type.equals("submit")) + { + value = (String) atts.getAttribute(HTML.Attribute.VALUE); + if (value == null) + value = ""; + } + // TODO: Implement the others. radio, checkbox and file. + return value; + } + + /** + * Actually adds the specified data to the string. It URL encodes + * the name and value and handles separation of the fields. + * + * @param b the string at which the form data to be added + * @param name the name of the field + * @param value the value + */ + private void addData(StringBuilder b, String name, String value) + { + if (b.length() > 0) + b.append('&'); + String encName = URLEncoder.encode(name); + b.append(encName); + b.append('='); + String encValue = URLEncoder.encode(value); + b.append(encValue); + } + + /** + * Resets the form data to their initial state. + */ + private void resetForm() + { + Element form = getFormElement(); + if (form != null) + { + ElementIterator iter = new ElementIterator(form); + Element next; + while ((next = iter.next()) != null) + { + if (next.isLeaf()) + { + AttributeSet atts = next.getAttributes(); + Object m = atts.getAttribute(StyleConstants.ModelAttribute); + if (m instanceof ResetableModel) + ((ResetableModel) m).reset(); + } + } + } + } } diff --git a/libjava/classpath/javax/swing/text/html/FrameSetView.java b/libjava/classpath/javax/swing/text/html/FrameSetView.java new file mode 100644 index 00000000000..e3252d79caf --- /dev/null +++ b/libjava/classpath/javax/swing/text/html/FrameSetView.java @@ -0,0 +1,274 @@ +/* FrameSetView.java -- Implements HTML frameset + Copyright (C) 2006 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. */ + + +package javax.swing.text.html; + +import java.util.StringTokenizer; + +import javax.swing.text.AttributeSet; +import javax.swing.text.BoxView; +import javax.swing.text.Element; +import javax.swing.text.View; +import javax.swing.text.ViewFactory; + +/** + * Implements HTML framesets. This is implemented as a vertical box that + * holds the rows of the frameset. Each row is again a horizontal box that + * holds the actual columns. + */ +public class FrameSetView + extends BoxView +{ + + /** + * A row of a frameset. + */ + private class FrameSetRow + extends BoxView + { + private int row; + FrameSetRow(Element el, int r) + { + super(el, X_AXIS); + row = r; + } + + protected void loadChildren(ViewFactory f) + { + // Load the columns here. + Element el = getElement(); + View[] columns = new View[numViews[X_AXIS]]; + int offset = row * numViews[X_AXIS]; + for (int c = 0; c < numViews[X_AXIS]; c++) + { + Element child = el.getElement(offset + c); + columns[c] = f.create(child); + } + replace(0, 0, columns); + } + + protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, + int[] spans) + { + int numRows = numViews[X_AXIS]; + int[] abs = absolute[X_AXIS]; + int[] rel = relative[X_AXIS]; + int[] perc = percent[X_AXIS]; + layoutViews(targetSpan, axis, offsets, spans, numRows, abs, rel, perc); + } + } + + /** + * Holds the absolute layout information for the views along one axis. The + * indices are absolute[axis][index], where axis is either X_AXIS (columns) + * or Y_AXIS (rows). Rows or columns that don't have absolute layout have + * a -1 in this array. + */ + int[][] absolute; + + /** + * Holds the relative (*) layout information for the views along one axis. + * The indices are relative[axis][index], where axis is either X_AXIS + * (columns) or Y_AXIS (rows). Rows or columns that don't have relative + * layout have a Float.NaN in this array. + */ + int[][] relative; + + /** + * Holds the relative (%) layout information for the views along one axis. + * The indices are relative[axis][index], where axis is either X_AXIS + * (columns) or Y_AXIS (rows). Rows or columns that don't have relative + * layout have a Float.NaN in this array. + * + * The percentage is divided by 100 so that we hold the actual fraction here. + */ + int[][] percent; + + /** + * The number of children in each direction. + */ + int[] numViews; + + FrameSetView(Element el) + { + super(el, Y_AXIS); + numViews = new int[2]; + absolute = new int[2][]; + relative = new int[2][]; + percent = new int[2][]; + } + + /** + * Loads the children and places them inside the grid. + */ + protected void loadChildren(ViewFactory f) + { + parseRowsCols(); + // Set up the rows. + View[] rows = new View[numViews[Y_AXIS]]; + for (int r = 0; r < numViews[Y_AXIS]; r++) + { + rows[r] = new FrameSetRow(getElement(), r); + } + replace(0, 0, rows); + } + + /** + * Parses the rows and cols attributes and sets up the layout info. + */ + private void parseRowsCols() + { + Element el = getElement(); + AttributeSet atts = el.getAttributes(); + String cols = (String) atts.getAttribute(HTML.Attribute.COLS); + if (cols == null) // Defaults to '100%' when not specified. + cols = "100%"; + parseLayout(cols, X_AXIS); + String rows = (String) atts.getAttribute(HTML.Attribute.ROWS); + if (rows == null) // Defaults to '100%' when not specified. + rows = "100%"; + parseLayout(rows, Y_AXIS); + } + + /** + * Parses the cols or rows attribute and places the layout info in the + * appropriate arrays. + * + * @param att the attributes to parse + * @param axis the axis + */ + private void parseLayout(String att, int axis) + { + StringTokenizer tokens = new StringTokenizer(att, ","); + numViews[axis] = tokens.countTokens(); + absolute[axis] = new int[numViews[axis]]; + relative[axis] = new int[numViews[axis]]; + percent[axis] = new int[numViews[axis]]; + for (int index = 0; tokens.hasMoreTokens(); index++) + { + String token = tokens.nextToken(); + int p = token.indexOf('%'); + int s = token.indexOf('*'); + if (p != -1) + { + // Percent value. + String number = token.substring(0, p); + try + { + percent[axis][index] = Integer.parseInt(number); + } + catch (NumberFormatException ex) + { + // Leave value as 0 then. + } + } + else if (s != -1) + { + // Star relative value. + String number = token.substring(0, s); + try + { + relative[axis][index] = Integer.parseInt(number); + } + catch (NumberFormatException ex) + { + // Leave value as 0 then. + } + } + else + { + // Absolute value. + try + { + absolute[axis][index] = Integer.parseInt(token); + } + catch (NumberFormatException ex) + { + // Leave value as 0 then. + } + } + } + } + + protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, + int[] spans) + { + int numRows = numViews[Y_AXIS]; + int[] abs = absolute[Y_AXIS]; + int[] rel = relative[Y_AXIS]; + int[] perc = percent[Y_AXIS]; + layoutViews(targetSpan, axis, offsets, spans, numRows, abs, rel, perc); + } + + void layoutViews(int targetSpan, int axis, int[] offsets, int[] spans, + int numViews, int[] abs, int[] rel, int[] perc) + { + // We need two passes. In the first pass we layout the absolute and + // percent values and accumulate the needed space. In the second pass + // the relative values are distributed and the offsets are set. + int total = 0; + int relTotal = 0; + for (int i = 0; i < numViews; i++) + { + if (abs[i] > 0) + { + spans[i] = abs[i]; + total += spans[i]; + } + else if (perc[i] > 0) + { + spans[i] = (targetSpan * perc[i]) / 100; + total += spans[i]; + } + else if (rel[i] > 0) + { + relTotal += rel[i]; + } + } + int offs = 0; + for (int i = 0; i < numViews; i++) + { + if (relTotal > 0 && rel[i] > 0) + { + spans[i] = targetSpan * (rel[i] / relTotal); + } + offsets[i] = offs; + offs += spans[i]; + } + } +} diff --git a/libjava/classpath/javax/swing/text/html/FrameView.java b/libjava/classpath/javax/swing/text/html/FrameView.java new file mode 100644 index 00000000000..cd4e44a98ce --- /dev/null +++ b/libjava/classpath/javax/swing/text/html/FrameView.java @@ -0,0 +1,233 @@ +/* FrameView.java -- Renders HTML frame tags + Copyright (C) 2006 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. */ + + +package javax.swing.text.html; + +import java.awt.Component; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.swing.JEditorPane; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import javax.swing.text.AttributeSet; +import javax.swing.text.ComponentView; +import javax.swing.text.Element; +import javax.swing.text.View; + +/** + * A view that is responsible for rendering HTML frame tags. + * This is accomplished by a specialized {@link ComponentView} + * that embeds a JEditorPane with an own document. + */ +class FrameView + extends ComponentView + implements HyperlinkListener +{ + + /** + * Creates a new FrameView for the specified element. + * + * @param el the element for the view + */ + FrameView(Element el) + { + super(el); + } + + /** + * Creates the element that will be embedded in the view. + * This will be a JEditorPane with the appropriate content set. + * + * @return the element that will be embedded in the view + */ + protected Component createComponent() + { + Element el = getElement(); + AttributeSet atts = el.getAttributes(); + JEditorPane html = new JEditorPane(); + html.addHyperlinkListener(this); + URL base = ((HTMLDocument) el.getDocument()).getBase(); + String srcAtt = (String) atts.getAttribute(HTML.Attribute.SRC); + if (srcAtt != null && ! srcAtt.equals("")) + { + try + { + URL page = new URL(base, srcAtt); + html.setPage(page); + ((HTMLDocument) html.getDocument()).setFrameDocument(true); + } + catch (MalformedURLException ex) + { + // Leave page empty. + } + catch (IOException ex) + { + // Leave page empty. + } + } + return html; + } + + /** + * Catches hyperlink events on that frame's editor and forwards it to + * the outermost editorpane. + */ + public void hyperlinkUpdate(HyperlinkEvent event) + { + JEditorPane outer = getTopEditorPane(); + if (outer != null) + { + if (event instanceof HTMLFrameHyperlinkEvent) + { + HTMLFrameHyperlinkEvent hfhe = (HTMLFrameHyperlinkEvent) event; + if (hfhe.getEventType() == HyperlinkEvent.EventType.ACTIVATED) + { + String target = hfhe.getTarget(); + if (event instanceof FormSubmitEvent) + { + handleFormSubmitEvent(hfhe, outer, target); + } + else // No FormSubmitEvent. + { + handleHyperlinkEvent(hfhe, outer, target); + } + } + } + else + { + // Simply forward this event. + outer.fireHyperlinkUpdate(event); + } + } + } + + /** + * Handles normal hyperlink events. + * + * @param event the event + * @param outer the top editor + * @param target the target + */ + private void handleHyperlinkEvent(HyperlinkEvent event, + JEditorPane outer, String target) + { + if (target.equals("_top")) + { + try + { + outer.setPage(event.getURL()); + } + catch (IOException ex) + { + // Well... + ex.printStackTrace(); + } + } + if (! outer.isEditable()) + { + outer.fireHyperlinkUpdate + (new HTMLFrameHyperlinkEvent(outer, + event.getEventType(), + event.getURL(), + event.getDescription(), + getElement(), + target)); + } + } + + /** + * Handles form submit events. + * + * @param event the event + * @param outer the top editor + * @param target the target + */ + private void handleFormSubmitEvent(HTMLFrameHyperlinkEvent event, + JEditorPane outer, + String target) + { + HTMLEditorKit kit = (HTMLEditorKit) outer.getEditorKit(); + if (kit != null && kit.isAutoFormSubmission()) + { + if (target.equals("_top")) + { + try + { + outer.setPage(event.getURL()); + } + catch (IOException ex) + { + // Well... + ex.printStackTrace(); + } + } + else + { + HTMLDocument doc = + (HTMLDocument) outer.getDocument(); + doc.processHTMLFrameHyperlinkEvent(event); + } + } + else + { + outer.fireHyperlinkUpdate(event); + } + } + + /** + * Determines the topmost editor in a nested frameset. + * + * @return the topmost editor in a nested frameset + */ + private JEditorPane getTopEditorPane() + { + View parent = getParent(); + View top = null; + while (parent != null) + { + if (parent instanceof FrameSetView) + top = parent; + } + JEditorPane editor = null; + if (top != null) + editor = (JEditorPane) top.getContainer(); + return editor; + } +} diff --git a/libjava/classpath/javax/swing/text/html/HTML.java b/libjava/classpath/javax/swing/text/html/HTML.java index 2c908f6fc6e..93c05daa2f8 100644 --- a/libjava/classpath/javax/swing/text/html/HTML.java +++ b/libjava/classpath/javax/swing/text/html/HTML.java @@ -464,6 +464,16 @@ public class HTML */ public static final Attribute WIDTH = new Attribute("width"); + /** + * This is used to reflect the pseudo class for the a tag. + */ + static final Attribute PSEUDO_CLASS = new Attribute("_pseudo"); + + /** + * This is used to reflect the dynamic class for the a tag. + */ + static final Attribute DYNAMIC_CLASS = new Attribute("_dynamic"); + /** * The attribute name. */ @@ -1119,8 +1129,8 @@ public class HTML static final int BLOCK = 2; static final int PREFORMATTED = 4; static final int SYNTHETIC = 8; - private static Map tagMap; - private static Map attrMap; + private static Map tagMap; + private static Map attrMap; /** * The public constructor (does nothing). It it seldom required to have @@ -1159,7 +1169,7 @@ public class HTML if (attrMap == null) { // Create the map on demand. - attrMap = new TreeMap(); + attrMap = new TreeMap(); Attribute[] attrs = getAllAttributeKeys(); @@ -1169,7 +1179,7 @@ public class HTML } } - return (Attribute) attrMap.get(attName.toLowerCase()); + return attrMap.get(attName.toLowerCase()); } /** @@ -1228,7 +1238,7 @@ public class HTML if (tagMap == null) { // Create the mao on demand. - tagMap = new TreeMap(); + tagMap = new TreeMap(); Tag[] tags = getAllTags(); @@ -1238,6 +1248,6 @@ public class HTML } } - return (Tag) tagMap.get(tagName.toLowerCase()); + return tagMap.get(tagName.toLowerCase()); } } diff --git a/libjava/classpath/javax/swing/text/html/HTMLDocument.java b/libjava/classpath/javax/swing/text/html/HTMLDocument.java index 0bfc338df45..f3d3ce3faaf 100644 --- a/libjava/classpath/javax/swing/text/html/HTMLDocument.java +++ b/libjava/classpath/javax/swing/text/html/HTMLDocument.java @@ -39,19 +39,22 @@ exception statement from your version. */ package javax.swing.text.html; import gnu.classpath.NotImplementedException; -import gnu.javax.swing.text.html.CharacterAttributeTranslator; -import gnu.javax.swing.text.html.parser.htmlAttributeSet; import java.io.IOException; import java.io.StringReader; +import java.net.MalformedURLException; import java.net.URL; +import java.util.ArrayList; import java.util.HashMap; import java.util.Stack; import java.util.Vector; +import javax.swing.ButtonGroup; +import javax.swing.DefaultButtonModel; import javax.swing.JEditorPane; +import javax.swing.ListSelectionModel; import javax.swing.event.DocumentEvent; -import javax.swing.event.HyperlinkEvent.EventType; +import javax.swing.event.UndoableEditEvent; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; @@ -60,6 +63,7 @@ import javax.swing.text.Element; import javax.swing.text.ElementIterator; import javax.swing.text.GapContent; import javax.swing.text.MutableAttributeSet; +import javax.swing.text.PlainDocument; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.html.HTML.Tag; @@ -87,16 +91,24 @@ public class HTMLDocument extends DefaultStyledDocument boolean preservesUnknownTags = true; int tokenThreshold = Integer.MAX_VALUE; HTMLEditorKit.Parser parser; - StyleSheet styleSheet; - AbstractDocument.Content content; - + + /** + * Indicates whether this document is inside a frame or not. + */ + private boolean frameDocument; + + /** + * Package private to avoid accessor methods. + */ + String baseTarget; + /** * Constructs an HTML document using the default buffer size and a default * StyleSheet. */ public HTMLDocument() { - this(null); + this(new GapContent(BUFFER_SIZE_DEFAULT), new StyleSheet()); } /** @@ -119,14 +131,7 @@ public class HTMLDocument extends DefaultStyledDocument */ public HTMLDocument(AbstractDocument.Content c, StyleSheet styles) { - this.content = c; - if (styles == null) - { - styles = new StyleSheet(); - styles.importStyleSheet(getClass().getResource(HTMLEditorKit. - DEFAULT_CSS)); - } - this.styleSheet = styles; + super(c, styles); } /** @@ -137,7 +142,7 @@ public class HTMLDocument extends DefaultStyledDocument */ public StyleSheet getStyleSheet() { - return styleSheet; + return (StyleSheet) getAttributeContext(); } /** @@ -191,8 +196,6 @@ public class HTMLDocument extends DefaultStyledDocument protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1) { - RunElement el = new RunElement(parent, a, p0, p1); - el.addAttribute(StyleConstants.NameAttribute, HTML.Tag.CONTENT); return new RunElement(parent, a, p0, p1); } @@ -269,7 +272,7 @@ public class HTMLDocument extends DefaultStyledDocument public void setBase(URL u) { baseURL = u; - styleSheet.setBase(u); + getStyleSheet().setBase(u); } /** @@ -374,11 +377,119 @@ public class HTMLDocument extends DefaultStyledDocument } public void processHTMLFrameHyperlinkEvent(HTMLFrameHyperlinkEvent event) - throws NotImplementedException { - // TODO: Implement this properly. + String target = event.getTarget(); + Element el = event.getSourceElement(); + URL url = event.getURL(); + if (target.equals("_self")) + { + updateFrame(el, url); + } + else if (target.equals("_parent")) + { + updateFrameSet(el.getParentElement(), url); + } + else + { + Element targetFrame = findFrame(target); + if (targetFrame != null) + updateFrame(targetFrame, url); + } } - + + /** + * Finds the named frame inside this document. + * + * @param target the name to look for + * + * @return the frame if there is a matching frame, null + * otherwise + */ + private Element findFrame(String target) + { + ElementIterator i = new ElementIterator(this); + Element next = null; + while ((next = i.next()) != null) + { + AttributeSet atts = next.getAttributes(); + if (atts.getAttribute(StyleConstants.NameAttribute) == HTML.Tag.FRAME) + { + String name = (String) atts.getAttribute(HTML.Attribute.NAME); + if (name != null && name.equals(target)) + break; + } + } + return next; + } + + /** + * Updates the frame that is represented by the specified element to + * refer to the specified URL. + * + * @param el the element + * @param url the new url + */ + private void updateFrame(Element el, URL url) + { + try + { + writeLock(); + DefaultDocumentEvent ev = + new DefaultDocumentEvent(el.getStartOffset(), 1, + DocumentEvent.EventType.CHANGE); + AttributeSet elAtts = el.getAttributes(); + AttributeSet copy = elAtts.copyAttributes(); + MutableAttributeSet matts = (MutableAttributeSet) elAtts; + ev.addEdit(new AttributeUndoableEdit(el, copy, false)); + matts.removeAttribute(HTML.Attribute.SRC); + matts.addAttribute(HTML.Attribute.SRC, url.toString()); + ev.end(); + fireChangedUpdate(ev); + fireUndoableEditUpdate(new UndoableEditEvent(this, ev)); + } + finally + { + writeUnlock(); + } + } + + /** + * Updates the frameset that is represented by the specified element + * to create a frame that refers to the specified URL. + * + * @param el the element + * @param url the url + */ + private void updateFrameSet(Element el, URL url) + { + int start = el.getStartOffset(); + int end = el.getEndOffset(); + + StringBuilder html = new StringBuilder(); + html.append("'); + if (getParser() == null) + setParser(new HTMLEditorKit().getParser()); + try + { + setOuterHTML(el, html.toString()); + } + catch (BadLocationException ex) + { + ex.printStackTrace(); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + /** * Gets an iterator for the given HTML.Tag. * @param t the requested HTML.Tag @@ -461,6 +572,8 @@ public class HTMLDocument extends DefaultStyledDocument String name = null; if (tag != null) name = tag.toString(); + if (name == null) + name = super.getName(); return name; } } @@ -497,6 +610,8 @@ public class HTMLDocument extends DefaultStyledDocument String name = null; if (tag != null) name = tag.toString(); + if (name == null) + name = super.getName(); return name; } @@ -518,24 +633,33 @@ public class HTMLDocument extends DefaultStyledDocument * @author Anthony Balkissoon abalkiss at redhat dot com */ public class HTMLReader extends HTMLEditorKit.ParserCallback - { + { + /** + * The maximum token threshold. We don't grow it larger than this. + */ + private static final int MAX_THRESHOLD = 10000; + + /** + * The threshold growth factor. + */ + private static final int GROW_THRESHOLD = 5; + /** * Holds the current character attribute set * */ protected MutableAttributeSet charAttr = new SimpleAttributeSet(); - protected Vector parseBuffer = new Vector(); - + protected Vector parseBuffer = new Vector(); + + /** + * The parse stack. It holds the current element tree path. + */ + private Stack parseStack = new Stack(); + /** * A stack for character attribute sets * */ Stack charAttrStack = new Stack(); - - /** - * The parse stack. This stack holds HTML.Tag objects that reflect the - * current position in the parsing process. - */ - Stack parseStack = new Stack(); /** A mapping between HTML.Tag objects and the actions that handle them **/ HashMap tagToAction; @@ -571,13 +695,68 @@ public class HTMLDocument extends DefaultStyledDocument /** A temporary variable that helps with the printing out of debug information **/ boolean debug = false; - - void print (String line) - { - if (debug) - System.out.println (line); - } - + + /** + * This is true when we are inside a pre tag. + */ + boolean inPreTag = false; + + /** + * This is true when we are inside a style tag. This will add text + * content inside this style tag beeing parsed as CSS. + * + * This is package private to avoid accessor methods. + */ + boolean inStyleTag = false; + + /** + * This is true when we are inside a <textarea> tag. Any text + * content will then be added to the text area. + * + * This is package private to avoid accessor methods. + */ + boolean inTextArea = false; + + /** + * This contains all stylesheets that are somehow read, either + * via embedded style tags, or via linked stylesheets. The + * elements will be String objects containing a stylesheet each. + */ + ArrayList styles; + + /** + * The document model for a textarea. + * + * This is package private to avoid accessor methods. + */ + ResetablePlainDocument textAreaDocument; + + /** + * The current model of a select tag. Can be a ComboBoxModel or a + * ListModel depending on the type of the select box. + */ + Object selectModel; + + /** + * The current option beeing read. + */ + Option option; + + /** + * The current number of options in the current select model. + */ + int numOptions; + + /** + * The current button groups mappings. + */ + HashMap buttonGroups; + + /** + * The token threshold. This gets increased while loading. + */ + private int threshold; + public class TagAction { /** @@ -633,13 +812,12 @@ public class HTMLDocument extends DefaultStyledDocument // Put the old attribute set on the stack. pushCharacterStyle(); - // Translate tag.. return if succesful. - if(CharacterAttributeTranslator.translateTag(charAttr, t, a)) - return; + // Initialize with link pseudo class. + if (t == HTML.Tag.A) + a.addAttribute(HTML.Attribute.PSEUDO_CLASS, "link"); // Just add the attributes in a. - if (a != null) - charAttr.addAttribute(t, a.copyAttributes()); + charAttr.addAttribute(t, a.copyAttributes()); } /** @@ -651,7 +829,11 @@ public class HTMLDocument extends DefaultStyledDocument popCharacterStyle(); } } - + + /** + * Processes elements that make up forms: <input>, <textarea>, + * <select> and <option>. + */ public class FormAction extends SpecialAction { /** @@ -659,10 +841,73 @@ public class HTMLDocument extends DefaultStyledDocument * of tags associated with this Action. */ public void start(HTML.Tag t, MutableAttributeSet a) - throws NotImplementedException { - // FIXME: Implement. - print ("FormAction.start not implemented"); + if (t == HTML.Tag.INPUT) + { + String type = (String) a.getAttribute(HTML.Attribute.TYPE); + if (type == null) + { + type = "text"; // Default to 'text' when nothing was specified. + a.addAttribute(HTML.Attribute.TYPE, type); + } + setModel(type, a); + } + else if (t == HTML.Tag.TEXTAREA) + { + inTextArea = true; + textAreaDocument = new ResetablePlainDocument(); + a.addAttribute(StyleConstants.ModelAttribute, textAreaDocument); + } + else if (t == HTML.Tag.SELECT) + { + int size = HTML.getIntegerAttributeValue(a, HTML.Attribute.SIZE, + 1); + boolean multi = a.getAttribute(HTML.Attribute.MULTIPLE) != null; + if (size > 1 || multi) + { + SelectListModel m = new SelectListModel(); + if (multi) + m.getSelectionModel().setSelectionMode(ListSelectionModel + .MULTIPLE_INTERVAL_SELECTION); + selectModel = m; + } + else + { + selectModel = new SelectComboBoxModel(); + } + a.addAttribute(StyleConstants.ModelAttribute, selectModel); + } + if (t == HTML.Tag.OPTION) + { + option = new Option(a); + if (selectModel instanceof SelectListModel) + { + SelectListModel m = (SelectListModel) selectModel; + m.addElement(option); + if (option.isSelected()) + { + m.getSelectionModel().addSelectionInterval(numOptions, + numOptions); + m.addInitialSelection(numOptions); + } + } + else if (selectModel instanceof SelectComboBoxModel) + { + SelectComboBoxModel m = (SelectComboBoxModel) selectModel; + m.addElement(option); + if (option.isSelected()) + { + m.setSelectedItem(option); + m.setInitialSelection(option); + } + } + numOptions++; + } + else + { + // Build the element. + super.start(t, a); + } } /** @@ -670,13 +915,106 @@ public class HTMLDocument extends DefaultStyledDocument * with this Action. */ public void end(HTML.Tag t) - throws NotImplementedException { - // FIXME: Implement. - print ("FormAction.end not implemented"); + if (t == HTML.Tag.OPTION) + { + option = null; + } + else + { + if (t == HTML.Tag.TEXTAREA) + { + inTextArea = false; + } + else if (t == HTML.Tag.SELECT) + { + selectModel = null; + numOptions = 0; + } + // Finish the element. + super.end(t); + } + } + + private void setModel(String type, MutableAttributeSet attrs) + { + if (type.equals("submit") || type.equals("reset") + || type.equals("image")) + { + // Create button. + attrs.addAttribute(StyleConstants.ModelAttribute, + new DefaultButtonModel()); + } + else if (type.equals("text") || type.equals("password")) + { + String text = (String) attrs.getAttribute(HTML.Attribute.VALUE); + ResetablePlainDocument doc = new ResetablePlainDocument(); + if (text != null) + { + doc.setInitialText(text); + try + { + doc.insertString(0, text, null); + } + catch (BadLocationException ex) + { + // Shouldn't happen. + assert false; + } + } + attrs.addAttribute(StyleConstants.ModelAttribute, doc); + } + else if (type.equals("file")) + { + attrs.addAttribute(StyleConstants.ModelAttribute, + new PlainDocument()); + } + else if (type.equals("checkbox") || type.equals("radio")) + { + ResetableToggleButtonModel model = + new ResetableToggleButtonModel(); + if (attrs.getAttribute(HTML.Attribute.SELECTED) != null) + { + model.setSelected(true); + model.setInitial(true); + } + if (type.equals("radio")) + { + String name = (String) attrs.getAttribute(HTML.Attribute.NAME); + if (name != null) + { + if (buttonGroups == null) + buttonGroups = new HashMap(); + ButtonGroup group = (ButtonGroup) buttonGroups.get(name); + if (group == null) + { + group = new ButtonGroup(); + buttonGroups.put(name, group); + } + model.setGroup(group); + } + } + attrs.addAttribute(StyleConstants.ModelAttribute, model); + } + } + } + + /** + * Called for form tags. + */ + class FormTagAction + extends BlockAction + { + /** + * Clears the button group mapping. + */ + public void end(HTML.Tag t) + { + super.end(t); + buttonGroups = null; } } - + /** * This action indicates that the content between starting and closing HTML * elements (like script - /script) should not be visible. The content is @@ -707,7 +1045,10 @@ public class HTMLDocument extends DefaultStyledDocument blockClose(t); } } - + + /** + * Handles <isindex> tags. + */ public class IsindexAction extends TagAction { /** @@ -715,10 +1056,10 @@ public class HTMLDocument extends DefaultStyledDocument * of tags associated with this Action. */ public void start(HTML.Tag t, MutableAttributeSet a) - throws NotImplementedException { - // FIXME: Implement. - print ("IsindexAction.start not implemented"); + blockOpen(HTML.Tag.IMPLIED, new SimpleAttributeSet()); + addSpecialElement(t, a); + blockClose(HTML.Tag.IMPLIED); } } @@ -730,7 +1071,7 @@ public class HTMLDocument extends DefaultStyledDocument */ public void start(HTML.Tag t, MutableAttributeSet a) { - blockOpen(t, a); + super.start(t, a); } /** @@ -739,10 +1080,13 @@ public class HTMLDocument extends DefaultStyledDocument */ public void end(HTML.Tag t) { - blockClose(t); + super.end(t); } } - + + /** + * This action is performed when a <pre> tag is parsed. + */ public class PreAction extends BlockAction { /** @@ -750,11 +1094,11 @@ public class HTMLDocument extends DefaultStyledDocument * of tags associated with this Action. */ public void start(HTML.Tag t, MutableAttributeSet a) - throws NotImplementedException { - // FIXME: Implement. - print ("PreAction.start not implemented"); - super.start(t, a); + inPreTag = true; + blockOpen(t, a); + a.addAttribute(CSS.Attribute.WHITE_SPACE, "pre"); + blockOpen(HTML.Tag.IMPLIED, a); } /** @@ -762,11 +1106,10 @@ public class HTMLDocument extends DefaultStyledDocument * with this Action. */ public void end(HTML.Tag t) - throws NotImplementedException { - // FIXME: Implement. - print ("PreAction.end not implemented"); - super.end(t); + blockClose(HTML.Tag.IMPLIED); + inPreTag = false; + blockClose(t); } } @@ -798,7 +1141,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("AreaAction.start not implemented"); } /** @@ -809,10 +1151,44 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("AreaAction.end not implemented"); } } - + + /** + * Converts HTML tags to CSS attributes. + */ + class ConvertAction + extends TagAction + { + + public void start(HTML.Tag tag, MutableAttributeSet atts) + { + pushCharacterStyle(); + charAttr.addAttribute(tag, atts.copyAttributes()); + StyleSheet styleSheet = getStyleSheet(); + // TODO: Add other tags here. + if (tag == HTML.Tag.FONT) + { + String color = (String) atts.getAttribute(HTML.Attribute.COLOR); + if (color != null) + styleSheet.addCSSAttribute(charAttr, CSS.Attribute.COLOR, color); + String face = (String) atts.getAttribute(HTML.Attribute.FACE); + if (face != null) + styleSheet.addCSSAttribute(charAttr, CSS.Attribute.FONT_FAMILY, + face); + String size = (String) atts.getAttribute(HTML.Attribute.SIZE); + if (size != null) + styleSheet.addCSSAttribute(charAttr, CSS.Attribute.FONT_SIZE, + size); + } + } + + public void end(HTML.Tag tag) + { + popCharacterStyle(); + } + } + class BaseAction extends TagAction { /** @@ -820,22 +1196,9 @@ public class HTMLDocument extends DefaultStyledDocument * of tags associated with this Action. */ public void start(HTML.Tag t, MutableAttributeSet a) - throws NotImplementedException { - // FIXME: Implement. - print ("BaseAction.start not implemented"); + baseTarget = (String) a.getAttribute(HTML.Attribute.TARGET); } - - /** - * Called when an end tag is seen for one of the types of tags associated - * with this Action. - */ - public void end(HTML.Tag t) - throws NotImplementedException - { - // FIXME: Implement. - print ("BaseAction.end not implemented"); - } } class HeadAction extends BlockAction @@ -848,7 +1211,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("HeadAction.start not implemented: "+t); super.start(t, a); } @@ -857,37 +1219,87 @@ public class HTMLDocument extends DefaultStyledDocument * with this Action. */ public void end(HTML.Tag t) - throws NotImplementedException { - // FIXME: Implement. - print ("HeadAction.end not implemented: "+t); + // We read in all the stylesheets that are embedded or referenced + // inside the header. + if (styles != null) + { + int numStyles = styles.size(); + for (int i = 0; i < numStyles; i++) + { + String style = (String) styles.get(i); + getStyleSheet().addRule(style); + } + } super.end(t); - } + } } - class LinkAction extends TagAction + class LinkAction extends HiddenAction { /** * This method is called when a start tag is seen for one of the types * of tags associated with this Action. */ public void start(HTML.Tag t, MutableAttributeSet a) - throws NotImplementedException { - // FIXME: Implement. - print ("LinkAction.start not implemented"); + super.start(t, a); + String type = (String) a.getAttribute(HTML.Attribute.TYPE); + if (type == null) + type = "text/css"; + if (type.equals("text/css")) + { + String rel = (String) a.getAttribute(HTML.Attribute.REL); + String media = (String) a.getAttribute(HTML.Attribute.MEDIA); + String title = (String) a.getAttribute(HTML.Attribute.TITLE); + if (media == null) + media = "all"; + else + media = media.toLowerCase(); + if (rel != null) + { + rel = rel.toLowerCase(); + if ((media.indexOf("all") != -1 + || media.indexOf("screen") != -1) + && (rel.equals("stylesheet"))) + { + String href = (String) a.getAttribute(HTML.Attribute.HREF); + URL url = null; + try + { + url = new URL(baseURL, href); + } + catch (MalformedURLException ex) + { + try + { + url = new URL(href); + } + catch (MalformedURLException ex2) + { + url = null; + } + } + if (url != null) + { + try + { + getStyleSheet().importStyleSheet(url); + } + catch (Exception ex) + { + // Don't let exceptions and runtime exceptions + // in CSS parsing disprupt the HTML parsing + // process. But inform the user/developer + // on the console about it. + ex.printStackTrace(); + } + } + } + } + } } - /** - * Called when an end tag is seen for one of the types of tags associated - * with this Action. - */ - public void end(HTML.Tag t) - throws NotImplementedException - { - // FIXME: Implement. - print ("LinkAction.end not implemented"); - } } class MapAction extends TagAction @@ -900,7 +1312,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("MapAction.start not implemented"); } /** @@ -911,7 +1322,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("MapAction.end not implemented"); } } @@ -925,7 +1335,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("MetaAction.start not implemented"); } /** @@ -936,10 +1345,9 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("MetaAction.end not implemented"); } } - + class StyleAction extends TagAction { /** @@ -947,10 +1355,8 @@ public class HTMLDocument extends DefaultStyledDocument * of tags associated with this Action. */ public void start(HTML.Tag t, MutableAttributeSet a) - throws NotImplementedException { - // FIXME: Implement. - print ("StyleAction.start not implemented"); + inStyleTag = true; } /** @@ -958,10 +1364,8 @@ public class HTMLDocument extends DefaultStyledDocument * with this Action. */ public void end(HTML.Tag t) - throws NotImplementedException { - // FIXME: Implement. - print ("StyleAction.end not implemented"); + inStyleTag = false; } } @@ -975,7 +1379,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("TitleAction.start not implemented"); } /** @@ -986,7 +1389,6 @@ public class HTMLDocument extends DefaultStyledDocument throws NotImplementedException { // FIXME: Implement. - print ("TitleAction.end not implemented"); } } @@ -998,13 +1400,11 @@ public class HTMLDocument extends DefaultStyledDocument public HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag) { - print ("HTMLReader created with pop: "+popDepth - + " push: "+pushDepth + " offset: "+offset - + " tag: "+insertTag); this.insertTag = insertTag; this.offset = offset; this.popDepth = popDepth; this.pushDepth = pushDepth; + threshold = getTokenThreshold(); initTags(); } @@ -1028,7 +1428,7 @@ public class HTMLDocument extends DefaultStyledDocument StyleAction styleAction = new StyleAction(); TitleAction titleAction = new TitleAction(); - + ConvertAction convertAction = new ConvertAction(); tagToAction.put(HTML.Tag.A, characterAction); tagToAction.put(HTML.Tag.ADDRESS, characterAction); tagToAction.put(HTML.Tag.APPLET, hiddenAction); @@ -1051,8 +1451,8 @@ public class HTMLDocument extends DefaultStyledDocument tagToAction.put(HTML.Tag.DL, blockAction); tagToAction.put(HTML.Tag.DT, paragraphAction); tagToAction.put(HTML.Tag.EM, characterAction); - tagToAction.put(HTML.Tag.FONT, characterAction); - tagToAction.put(HTML.Tag.FORM, blockAction); + tagToAction.put(HTML.Tag.FONT, convertAction); + tagToAction.put(HTML.Tag.FORM, new FormTagAction()); tagToAction.put(HTML.Tag.FRAME, specialAction); tagToAction.put(HTML.Tag.FRAMESET, blockAction); tagToAction.put(HTML.Tag.H1, paragraphAction); @@ -1142,18 +1542,28 @@ public class HTMLDocument extends DefaultStyledDocument */ public void flush() throws BadLocationException { - DefaultStyledDocument.ElementSpec[] elements; - elements = new DefaultStyledDocument.ElementSpec[parseBuffer.size()]; - parseBuffer.copyInto(elements); - parseBuffer.removeAllElements(); - if (offset == 0) - create(elements); - else - insert(offset, elements); + flushImpl(); + } - offset += HTMLDocument.this.getLength() - offset; + /** + * Flushes the buffer and handle partial inserts. + * + */ + private void flushImpl() + throws BadLocationException + { + int oldLen = getLength(); + int size = parseBuffer.size(); + ElementSpec[] elems = new ElementSpec[size]; + parseBuffer.copyInto(elems); + if (oldLen == 0) + create(elems); + else + insert(offset, elems); + parseBuffer.removeAllElements(); + offset += getLength() - oldLen; } - + /** * This method is called by the parser to indicate a block of * text was encountered. Should insert the text appropriately. @@ -1163,8 +1573,24 @@ public class HTMLDocument extends DefaultStyledDocument */ public void handleText(char[] data, int pos) { - if (data != null && data.length > 0) - addContent(data, 0, data.length); + if (shouldInsert() && data != null && data.length > 0) + { + if (inTextArea) + textAreaContent(data); + else if (inPreTag) + preContent(data); + else if (option != null) + option.setLabel(new String(data)); + else if (inStyleTag) + { + if (styles == null) + styles = new ArrayList(); + styles.add(new String(data)); + } + else + addContent(data, 0, data.length); + + } } /** @@ -1214,8 +1640,7 @@ public class HTMLDocument extends DefaultStyledDocument TagAction action = (TagAction) tagToAction.get(HTML.Tag.COMMENT); if (action != null) { - action.start(HTML.Tag.COMMENT, - htmlAttributeSet.EMPTY_HTML_ATTRIBUTE_SET); + action.start(HTML.Tag.COMMENT, new SimpleAttributeSet()); action.end(HTML.Tag.COMMENT); } } @@ -1277,7 +1702,6 @@ public class HTMLDocument extends DefaultStyledDocument public void handleEndOfLineString(String eol) { // FIXME: Implement. - print ("HTMLReader.handleEndOfLineString not implemented yet"); } /** @@ -1287,22 +1711,48 @@ public class HTMLDocument extends DefaultStyledDocument * @param data the text to add to the textarea */ protected void textAreaContent(char[] data) - throws NotImplementedException { - // FIXME: Implement. - print ("HTMLReader.textAreaContent not implemented yet"); + try + { + int offset = textAreaDocument.getLength(); + String text = new String(data); + textAreaDocument.setInitialText(text); + textAreaDocument.insertString(offset, text, null); + } + catch (BadLocationException ex) + { + // Must not happen as we insert at a model location that we + // got from the document itself. + assert false; + } } /** * Adds the given text that was encountered in a
       element.
      -     * 
      +     * This adds synthesized lines to hold the text runs.
      +     *
            * @param data the text
            */
           protected void preContent(char[] data)
      -      throws NotImplementedException
           {
      -      // FIXME: Implement
      -      print ("HTMLReader.preContent not implemented yet");
      +      int start = 0;
      +      for (int i = 0; i < data.length; i++)
      +        {
      +          if (data[i] == '\n')
      +            {
      +              addContent(data, start, i - start + 1);
      +              blockClose(HTML.Tag.IMPLIED);
      +              MutableAttributeSet atts = new SimpleAttributeSet();
      +              atts.addAttribute(CSS.Attribute.WHITE_SPACE, "pre");
      +              blockOpen(HTML.Tag.IMPLIED, atts);
      +              start = i + 1;
      +            }
      +        }
      +      if (start < data.length)
      +        {
      +          // Add remaining last line.
      +          addContent(data, start, data.length - start);
      +        }
           }
           
           /**
      @@ -1314,17 +1764,48 @@ public class HTMLDocument extends DefaultStyledDocument
            */
           protected void blockOpen(HTML.Tag t, MutableAttributeSet attr)
           {
      -      printBuffer();
      -      DefaultStyledDocument.ElementSpec element;
      +      if (inImpliedParagraph())
      +        blockClose(HTML.Tag.IMPLIED);
       
      +      // Push the new tag on top of the stack.
             parseStack.push(t);
      +
      +      DefaultStyledDocument.ElementSpec element;
      +
             AbstractDocument.AttributeContext ctx = getAttributeContext();
             AttributeSet copy = attr.copyAttributes();
             copy = ctx.addAttribute(copy, StyleConstants.NameAttribute, t);
             element = new DefaultStyledDocument.ElementSpec(copy,
                                      DefaultStyledDocument.ElementSpec.StartTagType);
             parseBuffer.addElement(element);
      -      printBuffer();
      +    }
      +
      +    /**
      +     * Returns true when we are currently inside a paragraph, either
      +     * a real one or an implied, false otherwise.
      +     *
      +     * @return
      +     */
      +    private boolean inParagraph()
      +    {
      +      boolean inParagraph = false;
      +      if (! parseStack.isEmpty())
      +        {
      +          HTML.Tag top = parseStack.peek();
      +          inParagraph = top == HTML.Tag.P || top == HTML.Tag.IMPLIED;
      +        }
      +      return inParagraph;
      +    }
      +
      +    private boolean inImpliedParagraph()
      +    {
      +      boolean inParagraph = false;
      +      if (! parseStack.isEmpty())
      +        {
      +          HTML.Tag top = parseStack.peek();
      +          inParagraph = top == HTML.Tag.IMPLIED;
      +        }
      +      return inParagraph;
           }
       
           /**
      @@ -1335,32 +1816,29 @@ public class HTMLDocument extends DefaultStyledDocument
            */
           protected void blockClose(HTML.Tag t)
           {
      -      printBuffer();
             DefaultStyledDocument.ElementSpec element;
       
      +      if (inImpliedParagraph() && t != HTML.Tag.IMPLIED)
      +        blockClose(HTML.Tag.IMPLIED);
      +
      +      // Pull the token from the stack.
      +      if (! parseStack.isEmpty()) // Just to be sure.
      +        parseStack.pop();
      +
             // If the previous tag is a start tag then we insert a synthetic
             // content tag.
             DefaultStyledDocument.ElementSpec prev;
      -      prev = (DefaultStyledDocument.ElementSpec)
      -	      parseBuffer.get(parseBuffer.size() - 1);
      -      if (prev.getType() == DefaultStyledDocument.ElementSpec.StartTagType)
      +      prev = parseBuffer.size() > 0 ? (DefaultStyledDocument.ElementSpec)
      +                                parseBuffer.get(parseBuffer.size() - 1) : null;
      +      if (prev != null &&
      +          prev.getType() == DefaultStyledDocument.ElementSpec.StartTagType)
               {
      -          AbstractDocument.AttributeContext ctx = getAttributeContext();
      -          AttributeSet attributes = ctx.getEmptySet();
      -          attributes = ctx.addAttribute(attributes, StyleConstants.NameAttribute,
      -                                        HTML.Tag.CONTENT);
      -          element = new DefaultStyledDocument.ElementSpec(attributes,
      -			  DefaultStyledDocument.ElementSpec.ContentType,
      -                                    new char[0], 0, 0);
      -          parseBuffer.add(element);
      +          addContent(new char[]{' '}, 0, 1);
               }
       
             element = new DefaultStyledDocument.ElementSpec(null,
       				DefaultStyledDocument.ElementSpec.EndTagType);
             parseBuffer.addElement(element);
      -      printBuffer();
      -      if (parseStack.size() > 0)
      -        parseStack.pop();
           }
           
           /**
      @@ -1389,6 +1867,11 @@ public class HTMLDocument extends DefaultStyledDocument
           protected void addContent(char[] data, int offs, int length,
                                     boolean generateImpliedPIfNecessary)
           {
      +      if (generateImpliedPIfNecessary && ! inParagraph())
      +        {
      +          blockOpen(HTML.Tag.IMPLIED, new SimpleAttributeSet());
      +        }
      +
             AbstractDocument.AttributeContext ctx = getAttributeContext();
             DefaultStyledDocument.ElementSpec element;
             AttributeSet attributes = null;
      @@ -1405,16 +1888,16 @@ public class HTMLDocument extends DefaultStyledDocument
                                       DefaultStyledDocument.ElementSpec.ContentType,
                                       data, offs, length);
             
      -      printBuffer();
             // Add the element to the buffer
             parseBuffer.addElement(element);
      -      printBuffer();
       
      -      if (parseBuffer.size() > HTMLDocument.this.getTokenThreshold())
      +      if (parseBuffer.size() > threshold)
               {
      +          if (threshold <= MAX_THRESHOLD)
      +            threshold *= GROW_THRESHOLD;
                 try
                   {
      -              flush();
      +              flushImpl();
                   }
                 catch (BadLocationException ble)
                   {
      @@ -1431,29 +1914,23 @@ public class HTMLDocument extends DefaultStyledDocument
            */
           protected void addSpecialElement(HTML.Tag t, MutableAttributeSet a)
           {
      +      if (t != HTML.Tag.FRAME && ! inParagraph())
      +        {
      +          blockOpen(HTML.Tag.IMPLIED, new SimpleAttributeSet());
      +        }
      +
             a.addAttribute(StyleConstants.NameAttribute, t);
             
      -      // Migrate from the rather htmlAttributeSet to the faster, lighter and 
      -      // unchangeable alternative implementation.
      -      AttributeSet copy = a.copyAttributes();
      -
             // The two spaces are required because some special elements like HR
             // must be broken. At least two characters are needed to break into the
             // two parts.
             DefaultStyledDocument.ElementSpec spec =
      -        new DefaultStyledDocument.ElementSpec(copy,
      +        new DefaultStyledDocument.ElementSpec(a.copyAttributes(),
       	  DefaultStyledDocument.ElementSpec.ContentType, 
      -          new char[] {' ', ' '}, 0, 2 );
      +          new char[] {' '}, 0, 1 );
             parseBuffer.add(spec);
           }
           
      -    void printBuffer()
      -    {      
      -      print ("\n*********BUFFER**********");
      -      for (int i = 0; i < parseBuffer.size(); i ++)
      -        print ("  "+parseBuffer.get(i));
      -      print ("***************************");
      -    }
         }
         
         /**
      @@ -1533,10 +2010,6 @@ public class HTMLDocument extends DefaultStyledDocument
             }
           };
             
      -    // Set the parent HTML tag.
      -    reader.parseStack.push(parent.getAttributes().getAttribute(
      -      StyleConstants.NameAttribute));
      -
           return reader;
         }   
         
      @@ -1728,4 +2201,98 @@ public void setOuterHTML(Element elem, String htmlText)
           // TODO charset
           getParser().parse(new StringReader(htmlText), reader, true);
         }
      +
      +  /**
      +   * Overridden to tag content with the synthetic HTML.Tag.CONTENT
      +   * tag.
      +   */
      +  protected void insertUpdate(DefaultDocumentEvent evt, AttributeSet att)
      +  {
      +    if (att == null)
      +      {
      +        SimpleAttributeSet sas = new SimpleAttributeSet();
      +        sas.addAttribute(StyleConstants.NameAttribute, HTML.Tag.CONTENT);
      +        att = sas;
      +      }
      +    super.insertUpdate(evt, att);
      +  }
      +
      +  /**
      +   * Returns true when this document is inside a frame,
      +   * false otherwise.
      +   *
      +   * @return true when this document is inside a frame,
      +   *         false otherwise
      +   */
      +  boolean isFrameDocument()
      +  {
      +    return frameDocument;
      +  }
      +
      +  /**
      +   * Set true when this document is inside a frame,
      +   * false otherwise.
      +   *
      +   * @param frameDoc true when this document is inside a frame,
      +   *                 false otherwise
      +   */
      +  void setFrameDocument(boolean frameDoc)
      +  {
      +    frameDocument = frameDoc;
      +  }
      +
      +  /**
      +   * Returns the target that is specified in the base tag, if this is the case.
      +   *
      +   * @return the target that is specified in the base tag, if this is the case
      +   */
      +  String getBaseTarget()
      +  {
      +    return baseTarget;
      +  }
      +
      +  /**
      +   * Updates the A tag's pseudo class value in response to a hyperlink
      +   * action.
      +   *
      +   * @param el the corresponding element
      +   * @param value the new value
      +   */
      +  void updateSpecialClass(Element el, HTML.Attribute cl, String value)
      +  {
      +    try
      +    {
      +      writeLock();
      +      DefaultDocumentEvent ev =
      +        new DefaultDocumentEvent(el.getStartOffset(), 1,
      +                                 DocumentEvent.EventType.CHANGE);
      +      AttributeSet elAtts = el.getAttributes();
      +      AttributeSet anchorAtts = (AttributeSet) elAtts.getAttribute(HTML.Tag.A);
      +      if (anchorAtts != null)
      +        {
      +          AttributeSet copy = elAtts.copyAttributes();
      +          StyleSheet ss = getStyleSheet();
      +          if (value != null)
      +            {
      +              anchorAtts = ss.addAttribute(anchorAtts, cl, value);
      +            }
      +          else
      +            {
      +              anchorAtts = ss.removeAttribute(anchorAtts, cl);
      +            }
      +          MutableAttributeSet matts = (MutableAttributeSet) elAtts;
      +          ev.addEdit(new AttributeUndoableEdit(el, copy, false));
      +          matts.removeAttribute(HTML.Tag.A);
      +          matts.addAttribute(HTML.Tag.A, anchorAtts);
      +          ev.end();
      +          fireChangedUpdate(ev);
      +          fireUndoableEditUpdate(new UndoableEditEvent(this, ev));
      +        }
      +    }
      +  finally
      +    {
      +      writeUnlock();
      +    }
      +  }
      +
       }
      diff --git a/libjava/classpath/javax/swing/text/html/HTMLEditorKit.java b/libjava/classpath/javax/swing/text/html/HTMLEditorKit.java
      index 5d77be8fdd4..0ede1c74ed9 100644
      --- a/libjava/classpath/javax/swing/text/html/HTMLEditorKit.java
      +++ b/libjava/classpath/javax/swing/text/html/HTMLEditorKit.java
      @@ -39,32 +39,38 @@ exception statement from your version. */
       package javax.swing.text.html;
       
       
      -import gnu.classpath.NotImplementedException;
      -
       import java.awt.event.ActionEvent;
       import java.awt.event.MouseAdapter;
       import java.awt.event.MouseEvent;
       import java.awt.event.MouseMotionListener;
       import java.awt.Cursor;
      +import java.awt.Point;
       
       import java.io.IOException;
      +import java.io.InputStream;
      +import java.io.InputStreamReader;
       import java.io.Reader;
       import java.io.Serializable;
       import java.io.StringReader;
       import java.io.Writer;
      +import java.net.MalformedURLException;
      +import java.net.URL;
       
       import javax.accessibility.Accessible;
       import javax.accessibility.AccessibleContext;
       
       import javax.swing.Action;
       import javax.swing.JEditorPane;
      +import javax.swing.SwingUtilities;
      +import javax.swing.event.HyperlinkEvent;
      +import javax.swing.text.AttributeSet;
       import javax.swing.text.BadLocationException;
       import javax.swing.text.Document;
       import javax.swing.text.EditorKit;
       import javax.swing.text.Element;
       import javax.swing.text.MutableAttributeSet;
       import javax.swing.text.StyleConstants;
      -import javax.swing.text.StyleContext;
      +import javax.swing.text.StyledDocument;
       import javax.swing.text.StyledEditorKit;
       import javax.swing.text.TextAction;
       import javax.swing.text.View;
      @@ -74,7 +80,7 @@ import javax.swing.text.html.parser.ParserDelegator;
       /* Move these imports here after javax.swing.text.html to make it compile
          with jikes.  */
       import gnu.javax.swing.text.html.parser.GnuParserDelegator;
      -import gnu.javax.swing.text.html.parser.HTML_401Swing;
      +import gnu.javax.swing.text.html.parser.HTML_401F;
       
       /**
        * @author Lillian Angel (langel at redhat dot com)
      @@ -92,7 +98,12 @@ public class HTMLEditorKit
           extends MouseAdapter
           implements MouseMotionListener, Serializable
           {
      -      
      +
      +      /**
      +       * The element of the last anchor tag.
      +       */
      +      private Element lastAnchorElement;
      +
             /**
              * Constructor
              */
      @@ -110,11 +121,14 @@ public class HTMLEditorKit
              */
             public void mouseClicked(MouseEvent e)
             {
      -        /*
      -         These MouseInputAdapter methods generate mouse appropriate events around
      -         hyperlinks (entering, exiting, and activating).
      -         */
      -        // FIXME: Not implemented.
      +        JEditorPane editor = (JEditorPane) e.getSource();
      +        if (! editor.isEditable() && SwingUtilities.isLeftMouseButton(e))
      +          {
      +            Point loc = e.getPoint();
      +            int pos = editor.viewToModel(loc);
      +            if (pos >= 0)
      +              activateLink(pos, editor, e.getX(), e.getY());
      +          }
             }
             
             /**
      @@ -124,11 +138,7 @@ public class HTMLEditorKit
              */
             public void mouseDragged(MouseEvent e)
             {
      -        /*
      -        These MouseInputAdapter methods generate mouse appropriate events around
      -        hyperlinks (entering, exiting, and activating).
      -        */
      -        // FIXME: Not implemented.     
      +        // Nothing to do here.
             }
             
             /**
      @@ -138,29 +148,159 @@ public class HTMLEditorKit
              */
             public void mouseMoved(MouseEvent e)
             {
      -        /*
      -        These MouseInputAdapter methods generate mouse appropriate events around
      -        hyperlinks (entering, exiting, and activating).
      -        */
      -        // FIXME: Not implemented.
      +        JEditorPane editor = (JEditorPane) e.getSource();
      +        HTMLEditorKit kit = (HTMLEditorKit) editor.getEditorKit();
      +        if (! editor.isEditable())
      +          {
      +            Document doc = editor.getDocument();
      +            if (doc instanceof HTMLDocument)
      +              {
      +                Cursor newCursor = kit.getDefaultCursor();
      +                HTMLDocument htmlDoc = (HTMLDocument) doc;
      +                Point loc = e.getPoint();
      +                int pos = editor.viewToModel(loc);
      +                Element el = htmlDoc.getCharacterElement(pos);
      +                if (pos < el.getStartOffset() || pos >= el.getEndOffset())
      +                  el = null;
      +                if (el != null)
      +                  {
      +                    AttributeSet aAtts = (AttributeSet)
      +                                   el.getAttributes().getAttribute(HTML.Tag.A);
      +                    if (aAtts != null)
      +                      {
      +                        if (el != lastAnchorElement)
      +                          {
      +                            if (lastAnchorElement != null)
      +                              htmlDoc.updateSpecialClass(lastAnchorElement,
      +                                                  HTML.Attribute.DYNAMIC_CLASS,
      +                                                  null);
      +                            lastAnchorElement = el;
      +                            htmlDoc.updateSpecialClass(el,
      +                                                  HTML.Attribute.DYNAMIC_CLASS,
      +                                                  "hover");
      +                          }
      +                        newCursor = kit.getLinkCursor();
      +                      }
      +                    else
      +                      {
      +                        if (lastAnchorElement != null)
      +                          htmlDoc.updateSpecialClass(lastAnchorElement,
      +                                              HTML.Attribute.DYNAMIC_CLASS,
      +                                              null);
      +                        lastAnchorElement = null;
      +                      }
      +                  }
      +                else
      +                  {
      +                    if (lastAnchorElement != null)
      +                      htmlDoc.updateSpecialClass(lastAnchorElement,
      +                                          HTML.Attribute.DYNAMIC_CLASS,
      +                                          null);
      +                    lastAnchorElement = null;
      +                  }
      +                if (editor.getCursor() != newCursor)
      +                  {
      +                    editor.setCursor(newCursor);
      +                  }
      +              }
      +          }
             }
      -      
      +
             /**
              * If the given position represents a link, then linkActivated is called
      -       * on the JEditorPane. Implemented to forward to the method with the same
      -       * name, but pos == editor == -1.
      -       * 
      -       * @param pos - the position
      -       * @param editor - the editor pane
      +       * on the JEditorPane.
      +       *
      +       * @param pos the position
      +       * @param editor the editor pane
      +       */
      +      protected void activateLink(int pos, JEditorPane editor)
      +      {
      +        activateLink(pos, editor);
      +      }
      +
      +      private void activateLink(int pos, JEditorPane editor, int x, int y)
      +      {
      +        // TODO: This is here for future extension for mapped links support.
      +        // For the time beeing we implement simple hyperlinks.
      +        Document doc = editor.getDocument();
      +        if (doc instanceof HTMLDocument)
      +          {
      +            HTMLDocument htmlDoc = (HTMLDocument) doc;
      +            Element el = htmlDoc.getCharacterElement(pos);
      +            AttributeSet atts = el.getAttributes();
      +            AttributeSet anchorAtts =
      +              (AttributeSet) atts.getAttribute(HTML.Tag.A);
      +            String href = null;
      +            if (anchorAtts != null)
      +              {
      +                href = (String) anchorAtts.getAttribute(HTML.Attribute.HREF);
      +                htmlDoc.updateSpecialClass(el, HTML.Attribute.PSEUDO_CLASS,
      +                                           "visited");
      +              }
      +            else
      +              {
      +                // TODO: Implement link maps here.
      +              }
      +            HyperlinkEvent event = null;
      +            if (href != null)
      +              event = createHyperlinkEvent(editor, htmlDoc, href,
      +                                           anchorAtts, el);
      +            if (event != null)
      +              editor.fireHyperlinkUpdate(event);
      +          }
      +        
      +      }
      +
      +      /**
      +       * Creates a HyperlinkEvent for the specified href and anchor if
      +       * possible. If for some reason this won't work, return null.
      +       *
      +       * @param editor the editor
      +       * @param doc the document
      +       * @param href the href link
      +       * @param anchor the anchor
      +       * @param el the element
      +       *
      +       * @return the hyperlink event, or null if we couldn't
      +       *         create one
              */
      -      protected void activateLink(int pos,
      -                                  JEditorPane editor)
      +      private HyperlinkEvent createHyperlinkEvent(JEditorPane editor,
      +                                                  HTMLDocument doc,
      +                                                  String href,
      +                                                  AttributeSet anchor,
      +                                                  Element el)
             {
      -        /*
      -          This method creates and fires a HyperlinkEvent if the document is an
      -          instance of HTMLDocument and the href tag of the link is not null.
      -         */
      -        // FIXME: Not implemented.
      +        URL url;
      +        try
      +          {
      +            URL base = doc.getBase();
      +            url = new URL(base, href);
      +            
      +          }
      +        catch (MalformedURLException ex)
      +          {
      +            url = null;
      +          }
      +        HyperlinkEvent ev;
      +        if (doc.isFrameDocument())
      +          {
      +            String target = null;
      +            if (anchor != null)
      +              target = (String) anchor.getAttribute(HTML.Attribute.TARGET);
      +            if (target == null || target.equals(""))
      +              target = doc.getBaseTarget();
      +            if (target == null || target.equals(""))
      +              target = "_self";
      +            ev = new HTMLFrameHyperlinkEvent(editor,
      +                                            HyperlinkEvent.EventType.ACTIVATED,
      +                                            url, href, el, target);
      +          }
      +        else
      +          {
      +            ev = new HyperlinkEvent(editor, HyperlinkEvent.EventType.ACTIVATED,
      +                                    url, href, el);
      +          }
      +        return ev;
             }
           }
         
      @@ -201,7 +341,7 @@ public class HTMLEditorKit
              * Tag to check for in the document.
              */
             protected HTML.Tag parentTag;
      -      
      +
             /**
              * Initializes all fields.
              * 
      @@ -305,20 +445,9 @@ public class HTMLEditorKit
                                             Element insertElement,
                                             String html, HTML.Tag parentTag,
                                             HTML.Tag addTag)
      -        throws NotImplementedException
             {
      -        /*
      -        As its name implies, this protected method is used when HTML is inserted at a
      -        boundary. (A boundary in this case is an offset in doc that exactly matches the
      -        beginning offset of the parentTag.) It performs the extra work required to keep
      -        the tag stack in shape and then calls insertHTML(). The editor and doc argu-
      -        ments are the editor pane and document where the HTML should go. The offset
      -        argument represents the cursor location or selection start in doc. The insert-
      -        Element and parentTag arguments are used to calculate the proper number of
      -        tag pops and pushes before inserting the HTML (via html and addTag, which are
      -        passed directly to insertHTML()).
      -        */
      -        // FIXME: not implemented
      +        insertAtBoundry(editor, doc, offset, insertElement,
      +                        html, parentTag, addTag);
             }
             
             /**
      @@ -344,8 +473,50 @@ public class HTMLEditorKit
                                            String html, HTML.Tag parentTag,
                                            HTML.Tag addTag)
             {
      -        insertAtBoundary(editor, doc, offset, insertElement,
      -                         html, parentTag, addTag);
      +        Element parent = insertElement;
      +        Element el;
      +        // Find common parent element.
      +        if (offset > 0 || insertElement == null)
      +          {
      +            el = doc.getDefaultRootElement();
      +            while (el != null && el.getStartOffset() != offset
      +                   && ! el.isLeaf())
      +              el = el.getElement(el.getElementIndex(offset));
      +            parent = el != null ? el.getParentElement() : null;
      +          }
      +        if (parent != null)
      +          {
      +            int pops = 0;
      +            int pushes = 0;
      +            if (offset == 0 && insertElement != null)
      +              {
      +                el = parent;
      +                while (el != null && ! el.isLeaf())
      +                  {
      +                    el = el.getElement(el.getElementIndex(offset));
      +                    pops++;
      +                  }
      +              }
      +            else
      +              {
      +                el = parent;
      +                offset--;
      +                while (el != null && ! el.isLeaf())
      +                  {
      +                    el = el.getElement(el.getElementIndex(offset));
      +                    pops++;
      +                  }
      +                el = parent;
      +                offset++;
      +                while (el != null && el != insertElement)
      +                  {
      +                    el = el.getElement(el.getElementIndex(offset));
      +                    pushes++;
      +                  }
      +              }
      +            pops = Math.max(0, pops - 1);
      +            insertHTML(editor, doc, offset, html, pops, pushes, addTag);
      +          }
             }
             
             /**
      @@ -355,16 +526,97 @@ public class HTMLEditorKit
              */
             public void actionPerformed(ActionEvent ae)
             {
      -        Object source = ae.getSource();
      -        if (source instanceof JEditorPane)
      +        JEditorPane source = getEditor(ae);
      +        if (source != null)
      +          {
      +            HTMLDocument d = getHTMLDocument(source);
      +            int offset = source.getSelectionStart();
      +            int length = d.getLength();
      +            boolean inserted = true;
      +            if (! tryInsert(source, d, offset, parentTag, addTag))
      +              {
      +                inserted = tryInsert(source, d, offset, alternateParentTag,
      +                                     alternateAddTag);
      +              }
      +            if (inserted)
      +              adjustSelection(source, d, offset, length);
      +          }
      +      }
      +
      +      /**
      +       * Tries to insert the html chunk to the specified addTag.
      +       *
      +       * @param pane the editor
      +       * @param doc the document
      +       * @param offset the offset at which to insert
      +       * @param tag the tag at which to insert
      +       * @param addTag the add tag
      +       *
      +       * @return true when the html has been inserted successfully,
      +       *         false otherwise
      +       */
      +      private boolean tryInsert(JEditorPane pane, HTMLDocument doc, int offset,
      +                                HTML.Tag tag, HTML.Tag addTag)
      +      {
      +        boolean inserted = false;
      +        Element el = findElementMatchingTag(doc, offset, tag);
      +        if (el != null && el.getStartOffset() == offset)
      +          {
      +            insertAtBoundary(pane, doc, offset, el, html, tag, addTag);
      +            inserted = true;
      +          }
      +        else if (offset > 0)
      +          {
      +            int depth = elementCountToTag(doc, offset - 1, tag);
      +            if (depth != -1)
      +              {
      +                insertHTML(pane, doc, offset, html, depth, 0, addTag);
      +                inserted = true;
      +              }
      +          }
      +        return inserted;
      +      }
      +
      +      /**
      +       * Adjusts the selection after an insertion has been performed.
      +       *
      +       * @param pane the editor pane
      +       * @param doc the document
      +       * @param offset the insert offset
      +       * @param oldLen the old document length
      +       */
      +      private void adjustSelection(JEditorPane pane, HTMLDocument doc,
      +                                   int offset, int oldLen)
      +      {
      +        int newLen = doc.getLength();
      +        if (newLen != oldLen && offset < newLen)
                 {
      -            JEditorPane pane = ((JEditorPane) source);
      -            Document d = pane.getDocument();
      -            if (d instanceof HTMLDocument)
      -              insertHTML(pane, (HTMLDocument) d, 0, html, 0, 0, addTag);
      -            // FIXME: is this correct parameters?
      +            if (offset > 0)
      +              {
      +                String text;
      +                try
      +                  {
      +                    text = doc.getText(offset - 1, 1);
      +                  }
      +                catch (BadLocationException ex)
      +                  {
      +                    text = null;
      +                  }
      +                if (text != null && text.length() > 0
      +                    && text.charAt(0) == '\n')
      +                  {
      +                    pane.select(offset, offset);
      +                  }
      +                else
      +                  {
      +                    pane.select(offset + 1, offset + 1);
      +                  }
      +              }
      +            else
      +              {
      +                pane.select(1, 1);
      +              }
                 }
      -        // FIXME: else not implemented
             }
         }
         
      @@ -540,53 +792,56 @@ public class HTMLEditorKit
               {
                 HTML.Tag tag = (HTML.Tag) attr;
       
      -          if (tag.equals(HTML.Tag.IMPLIED) || tag.equals(HTML.Tag.P)
      -              || tag.equals(HTML.Tag.H1) || tag.equals(HTML.Tag.H2)
      -              || tag.equals(HTML.Tag.H3) || tag.equals(HTML.Tag.H4)
      -              || tag.equals(HTML.Tag.H5) || tag.equals(HTML.Tag.H6)
      -              || tag.equals(HTML.Tag.DT))
      +          if (tag == HTML.Tag.IMPLIED || tag == HTML.Tag.P
      +              || tag == HTML.Tag.H1 || tag == HTML.Tag.H2
      +              || tag == HTML.Tag.H3 || tag == HTML.Tag.H4
      +              || tag == HTML.Tag.H5 || tag == HTML.Tag.H6
      +              || tag == HTML.Tag.DT)
                   view = new ParagraphView(element);
      -          else if (tag.equals(HTML.Tag.LI) || tag.equals(HTML.Tag.DL)
      -                   || tag.equals(HTML.Tag.DD) || tag.equals(HTML.Tag.BODY)
      -                   || tag.equals(HTML.Tag.HTML) || tag.equals(HTML.Tag.CENTER)
      -                   || tag.equals(HTML.Tag.DIV)
      -                   || tag.equals(HTML.Tag.BLOCKQUOTE)
      -                   || tag.equals(HTML.Tag.PRE))
      +          else if (tag == HTML.Tag.LI || tag == HTML.Tag.DL
      +                   || tag == HTML.Tag.DD || tag == HTML.Tag.BODY
      +                   || tag == HTML.Tag.HTML || tag == HTML.Tag.CENTER
      +                   || tag == HTML.Tag.DIV
      +                   || tag == HTML.Tag.BLOCKQUOTE
      +                   || tag == HTML.Tag.PRE
      +                   || tag == HTML.Tag.FORM
      +                   // Misplaced TD and TH tags get mapped as vertical block.
      +                   // Note that correctly placed tags get mapped in TableView.
      +                   || tag == HTML.Tag.TD || tag == HTML.Tag.TH)
                   view = new BlockView(element, View.Y_AXIS);
      -          else if (tag.equals(HTML.Tag.IMG))
      +          else if (tag == HTML.Tag.TR)
      +            // Misplaced TR tags get mapped as horizontal blocks.
      +            // Note that correctly placed tags get mapped in TableView.
      +            view = new BlockView(element, View.X_AXIS);
      +          else if (tag == HTML.Tag.IMG)
                   view = new ImageView(element);
                 
      -          // FIXME: Uncomment when the views have been implemented
      -          else if (tag.equals(HTML.Tag.CONTENT))
      +          else if (tag == HTML.Tag.CONTENT)
                   view = new InlineView(element);
                 else if (tag == HTML.Tag.HEAD)
                   view = new NullView(element);
      -          else if (tag.equals(HTML.Tag.TABLE))
      +          else if (tag == HTML.Tag.TABLE)
                   view = new javax.swing.text.html.TableView(element);
      -          else if (tag.equals(HTML.Tag.TD))
      -            view = new ParagraphView(element);
      -          else if (tag.equals(HTML.Tag.HR))
      +          else if (tag == HTML.Tag.HR)
                   view = new HRuleView(element);
      -          else if (tag.equals(HTML.Tag.BR))
      +          else if (tag == HTML.Tag.BR)
                   view = new BRView(element);
      +          else if (tag == HTML.Tag.INPUT || tag == HTML.Tag.SELECT
      +                   || tag == HTML.Tag.TEXTAREA)
      +            view = new FormView(element);
       
      -          /*
      -          else if (tag.equals(HTML.Tag.MENU) || tag.equals(HTML.Tag.DIR)
      -                   || tag.equals(HTML.Tag.UL) || tag.equals(HTML.Tag.OL))
      +          else if (tag == HTML.Tag.MENU || tag == HTML.Tag.DIR
      +                   || tag == HTML.Tag.UL || tag == HTML.Tag.OL)
                   view = new ListView(element);
      -          else if (tag.equals(HTML.Tag.INPUT) || tag.equals(HTML.Tag.SELECT)
      -                   || tag.equals(HTML.Tag.TEXTAREA))
      -            view = new FormView(element);
      -          else if (tag.equals(HTML.Tag.OBJECT))
      -            view = new ObjectView(element);
      -          else if (tag.equals(HTML.Tag.FRAMESET))
      +          else if (tag == HTML.Tag.FRAMESET)
                   view = new FrameSetView(element);
      -          else if (tag.equals(HTML.Tag.FRAME))
      -            view = new FrameView(element); */
      +          else if (tag == HTML.Tag.FRAME)
      +            view = new FrameView(element);
      +          else if (tag == HTML.Tag.OBJECT)
      +            view = new ObjectView(element);
               }
             if (view == null)
               {
      -          System.err.println("missing tag->view mapping for: " + element);
                 view = new NullView(element);
               }
             return view;
      @@ -797,14 +1052,42 @@ public class HTMLEditorKit
         /**
          * Actions for HTML 
          */
      -  private static final Action[] defaultActions = {
      -    // FIXME: Add default actions for html
      +  private static final Action[] defaultActions =
      +  {
      +    new InsertHTMLTextAction("InsertTable",
      +                             "
      ", + HTML.Tag.BODY, HTML.Tag.TABLE), + new InsertHTMLTextAction("InsertTableRow", + "
      ", + HTML.Tag.TABLE, HTML.Tag.TR, + HTML.Tag.BODY, HTML.Tag.TABLE), + new InsertHTMLTextAction("InsertTableCell", + "
      ", + HTML.Tag.TR, HTML.Tag.TD, + HTML.Tag.BODY, HTML.Tag.TABLE), + new InsertHTMLTextAction("InsertUnorderedList", + "
      ", + HTML.Tag.BODY, HTML.Tag.UL), + new InsertHTMLTextAction("InsertUnorderedListItem", + "
      ", + HTML.Tag.UL, HTML.Tag.LI, + HTML.Tag.BODY, HTML.Tag.UL), + new InsertHTMLTextAction("InsertOrderedList", + "
      ", + HTML.Tag.BODY, HTML.Tag.OL), + new InsertHTMLTextAction("InsertOrderedListItem", + "
      ", + HTML.Tag.OL, HTML.Tag.LI, + HTML.Tag.BODY, HTML.Tag.OL), + new InsertHTMLTextAction("InsertPre", + "
      ", HTML.Tag.BODY, HTML.Tag.PRE)
      +    // TODO: The reference impl has an InsertHRAction too.
         };
         
         /**
          * The current style sheet.
          */
      -  StyleSheet styleSheet;
      +  private StyleSheet styleSheet;
         
         /**
          * The ViewFactory for HTMLFactory.
      @@ -829,12 +1112,7 @@ public class HTMLEditorKit
         /**
          * The mouse listener used for links.
          */
      -  LinkController mouseListener;
      -  
      -  /**
      -   * Style context for this editor.
      -   */
      -  StyleContext styleContext;
      +  private LinkController linkController;
         
         /** The content type */
         String contentType = "text/html";
      @@ -844,17 +1122,22 @@ public class HTMLEditorKit
         
         /** The editor pane used. */
         JEditorPane editorPane;
      -    
      +
      +  /**
      +   * Whether or not the editor kit handles form submissions.
      +   *
      +   * @see #isAutoFormSubmission()
      +   * @see #setAutoFormSubmission(boolean)
      +   */
      +  private boolean autoFormSubmission;
      +
         /**
          * Constructs an HTMLEditorKit, creates a StyleContext, and loads the style sheet.
          */
         public HTMLEditorKit()
         {
      -    super();    
      -    styleContext = new StyleContext();
      -    styleSheet = new StyleSheet();
      -    styleSheet.importStyleSheet(getClass().getResource(DEFAULT_CSS));
      -    // FIXME: Set inputAttributes with default.css    
      +    linkController = new LinkController();
      +    autoFormSubmission = true;
         }
         
         /**
      @@ -877,8 +1160,15 @@ public class HTMLEditorKit
          */
         public Document createDefaultDocument()
         {
      -    HTMLDocument document = new HTMLDocument(getStyleSheet());
      +    // Protect the shared stylesheet.
      +    StyleSheet styleSheet = getStyleSheet();
      +    StyleSheet ss = new StyleSheet();
      +    ss.addStyleSheet(styleSheet);
      +
      +    HTMLDocument document = new HTMLDocument(ss);
           document.setParser(getParser());
      +    document.setAsynchronousLoadPriority(4);
      +    document.setTokenThreshold(100);
           return document;
         }
       
      @@ -892,7 +1182,7 @@ public class HTMLEditorKit
         {
           if (parser == null)
             {
      -        parser = new GnuParserDelegator(HTML_401Swing.getInstance());
      +        parser = new GnuParserDelegator(HTML_401F.getInstance());
             }
           return parser;
         }
      @@ -923,8 +1213,7 @@ public class HTMLEditorKit
           if (parser == null)
             throw new IOException("Parser is null.");
       
      -    ParserCallback pc = ((HTMLDocument) doc).getReader
      -                          (offset, popDepth, pushDepth, insertTag);
      +    ParserCallback pc = doc.getReader(offset, popDepth, pushDepth, insertTag);
       
           // FIXME: What should ignoreCharSet be set to?
           
      @@ -991,8 +1280,15 @@ public class HTMLEditorKit
         {
           if (doc instanceof HTMLDocument)
             {
      -        // FIXME: Not implemented. Use HTMLWriter.
      -        out.write(doc.getText(pos, len));
      +        HTMLWriter writer = new HTMLWriter(out, (HTMLDocument) doc, pos, len);
      +        writer.write();
      +      }
      +    else if (doc instanceof StyledDocument)
      +      {
      +        MinimalHTMLWriter writer = new MinimalHTMLWriter(out,
      +                                                         (StyledDocument) doc,
      +                                                         pos, len);
      +        writer.write();
             }
           else
             super.write(out, doc, pos, len);
      @@ -1017,7 +1313,9 @@ public class HTMLEditorKit
         public Object clone()
         {
           // FIXME: Need to clone all fields
      -    return (HTMLEditorKit) super.clone();
      +    HTMLEditorKit copy = (HTMLEditorKit) super.clone();
      +    copy.linkController = new LinkController();
      +    return copy;
         }
         
         /**
      @@ -1044,10 +1342,9 @@ public class HTMLEditorKit
         public void install(JEditorPane c)
         {
           super.install(c);
      -    mouseListener = new LinkController();
      -    c.addMouseListener(mouseListener);
      +    c.addMouseListener(linkController);
      +    c.addMouseMotionListener(linkController);
           editorPane = c;
      -    // FIXME: need to set up hyperlinklistener object
         }
         
         /**
      @@ -1059,8 +1356,8 @@ public class HTMLEditorKit
         public void deinstall(JEditorPane c)
         {
           super.deinstall(c);
      -    c.removeMouseListener(mouseListener);
      -    mouseListener = null;
      +    c.removeMouseListener(linkController);
      +    c.removeMouseMotionListener(linkController);
           editorPane = null;
         }
         
      @@ -1154,8 +1451,19 @@ public class HTMLEditorKit
         {
           if (styleSheet == null)
             {
      -        styleSheet = new StyleSheet();
      -        styleSheet.importStyleSheet(getClass().getResource(DEFAULT_CSS));
      +        try
      +          {
      +            styleSheet = new StyleSheet();
      +            Class c = HTMLEditorKit.class;
      +            InputStream in = c.getResourceAsStream(DEFAULT_CSS);
      +            InputStreamReader r = new InputStreamReader(in);
      +            styleSheet.loadRules(r,  null);
      +            r.close();
      +          }
      +        catch (IOException ex)
      +          {
      +            // No style available.
      +          }
             }
           return styleSheet;
         }
      @@ -1173,4 +1481,40 @@ public class HTMLEditorKit
         {
           styleSheet = s;
         }
      +
      +  /**
      +   * Returns true when forms should be automatically submitted
      +   * by the editor kit. Set this to false when you want to
      +   * intercept form submission. In this case you'd want to listen for
      +   * hyperlink events on the document and handle FormSubmitEvents specially.
      +   *
      +   * The default is true.
      +   *
      +   * @return true when forms should be automatically submitted
      +   *         by the editor kit, false otherwise
      +   *
      +   * @since 1.5
      +   *
      +   * @see #setAutoFormSubmission(boolean)
      +   * @see FormSubmitEvent
      +   */
      +  public boolean isAutoFormSubmission()
      +  {
      +    return autoFormSubmission;
      +  }
      +
      +  /**
      +   * Sets whether or not the editor kit should automatically submit forms.
      +   *  
      +   * @param auto true when the editor kit should handle form
      +   *        submission, false otherwise
      +   *
      +   * @since 1.5
      +   *
      +   * @see #isAutoFormSubmission()
      +   */
      +  public void setAutoFormSubmission(boolean auto)
      +  {
      +    autoFormSubmission = auto;
      +  }
       }
      diff --git a/libjava/classpath/javax/swing/text/html/HTMLWriter.java b/libjava/classpath/javax/swing/text/html/HTMLWriter.java
      new file mode 100644
      index 00000000000..44119c73286
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/HTMLWriter.java
      @@ -0,0 +1,1084 @@
      +/* HTMLWriter.java -- 
      +   Copyright (C) 2006 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. */
      +
      +package javax.swing.text.html;
      +
      +import java.io.IOException;
      +import java.io.Writer;
      +
      +import java.util.Enumeration;
      +import java.util.HashSet;
      +
      +import javax.swing.ComboBoxModel;
      +
      +import javax.swing.text.AbstractWriter;
      +import javax.swing.text.AttributeSet;
      +import javax.swing.text.BadLocationException;
      +import javax.swing.text.Document;
      +import javax.swing.text.Element;
      +import javax.swing.text.StyleConstants;
      +
      +import javax.swing.text.html.HTML;
      +import javax.swing.text.html.HTMLDocument;
      +import javax.swing.text.html.Option;
      +
      +/**
      + * HTMLWriter,
      + * A Writer for HTMLDocuments.
      + *
      + * @author David Fu (fchoong at netbeans.jp)
      + */
      +
      +public class HTMLWriter
      +  extends AbstractWriter
      +{
      +  /**
      +   * We keep a reference of the writer passed by the construct.
      +   */
      +  private Writer outWriter = null;
      +
      +  /**
      +   * We keep a reference of the HTMLDocument passed by the construct.
      +   */
      +  private HTMLDocument htmlDoc = null; 
      +
      +  /**
      +   * Used to keep track of which embeded has been written out.
      +   */
      +  private HashSet openEmbededTagHashSet = null;
      +
      +  private String new_line_str = "" + NEWLINE;
      +    
      +  private char[] html_entity_char_arr = {'<',    '>',    '&',     '"'};
      +
      +  private String[] html_entity_escape_str_arr = {"<", ">", "&", 
      +                                                 """};
      +
      +  // variables used to output Html Fragment
      +  private int doc_pos = -1;
      +  private int doc_len = -1;
      +  private int doc_offset_remaining = -1;
      +  private int doc_len_remaining = -1;
      +  private HashSet htmlFragmentParentHashSet = null;
      +  private Element startElem = null;
      +  private Element endElem = null;
      +  private boolean fg_pass_start_elem = false;
      +  private boolean fg_pass_end_elem = false;
      +
      +  /**
      +   * Constructs a HTMLWriter.
      +   *
      +   * @param writer writer to write output to
      +   * @param doc the HTMLDocument to output
      +   */
      +  public HTMLWriter(Writer writer, HTMLDocument doc)
      +  {
      +    super(writer, doc);
      +    outWriter = writer;
      +    htmlDoc = doc;
      +    openEmbededTagHashSet = new HashSet();
      +  } // public HTMLWriter(Writer writer, HTMLDocument doc)
      +
      +  /**
      +   * Constructs a HTMLWriter which outputs a Html Fragment.
      +   *
      +   * @param writer Writer to write output to
      +   * @param doc the javax.swing.text.html.HTMLDocument
      +   *        to output
      +   * @param pos position to start outputing the document
      +   * @param len amount to output the document
      +   */
      +  public HTMLWriter(Writer writer, HTMLDocument doc, int pos, int len)
      +  {
      +    super(writer, doc, pos, len);
      +    outWriter = writer;
      +    htmlDoc = doc;
      +    openEmbededTagHashSet = new HashSet();
      +
      +    doc_pos = pos;
      +    doc_offset_remaining = pos;
      +    doc_len = len;
      +    doc_len_remaining = len;
      +    htmlFragmentParentHashSet = new HashSet();
      +  } // public HTMLWriter(Writer writer, HTMLDocument doc, int pos, int len)
      +    
      +  /**
      +   * Call this method to start outputing HTML.
      +   *
      +   * @throws IOException on any I/O exceptions
      +   * @throws BadLocationException if a pos is not a valid position in the
      +   *                              html doc element
      +   */
      +  public void write()
      +    throws IOException, BadLocationException
      +  {
      +    Element rootElem = htmlDoc.getDefaultRootElement();
      +
      +    if (doc_pos == -1 && doc_len == -1)
      +      {
      +        // Normal traversal.
      +        traverse(rootElem);
      +      } // if(doc_pos == -1 && doc_len == -1)
      +    else    
      +      {
      +        // Html fragment traversal.
      +        if (doc_pos == -1 || doc_len == -1)
      +          throw new BadLocationException("Bad Location("
      +          + doc_pos + ", " + doc_len + ")", doc_pos);
      +
      +        startElem = htmlDoc.getCharacterElement(doc_pos);
      +
      +        int start_offset = startElem.getStartOffset(); 
      +
      +        // Positions before start_offset will not be traversed, and thus
      +        // will not be counted.
      +        if (start_offset > 0)
      +          doc_offset_remaining = doc_offset_remaining - start_offset;
      +
      +        Element tempParentElem = startElem;
      +
      +        while ((tempParentElem = tempParentElem.getParentElement()) != null)
      +          {
      +            if (!htmlFragmentParentHashSet.contains(tempParentElem))
      +              htmlFragmentParentHashSet.add(tempParentElem);
      +          } // while((tempParentElem = tempParentElem.getParentElement())
      +            //   != null)
      +
      +        // NOTE: 20061030 - fchoong - the last index should not be included.
      +        endElem = htmlDoc.getCharacterElement(doc_pos + doc_len - 1);
      +
      +        tempParentElem = endElem;
      +
      +        while ((tempParentElem = tempParentElem.getParentElement()) != null)
      +          {
      +            if (!htmlFragmentParentHashSet.contains(tempParentElem))
      +              htmlFragmentParentHashSet.add(tempParentElem);
      +          } // while((tempParentElem = tempParentElem.getParentElement())
      +            //   != null)
      +
      +        traverseHtmlFragment(rootElem);
      +
      +      } // else
      +
      +    // NOTE: close out remaining open embeded tags.
      +    Object[] tag_arr = openEmbededTagHashSet.toArray();
      +
      +    for (int i = 0; i < tag_arr.length; i++)
      +      {
      +        writeRaw("");
      +      } // for(int i = 0; i < tag_arr.length; i++)
      +
      +  } // public void write() throws IOException, BadLocationException
      +  
      +  /**
      +   * Writes all the attributes in the attrSet, except for attrbutes with
      +   * keys of javax.swing.text.html.HTML.Tag,
      +   * javax.swing.text.StyleConstants or
      +   * javax.swing.text.html.HTML.Attribute.ENDTAG.
      +   *
      +   * @param attrSet attrSet to write out
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  protected void writeAttributes(AttributeSet attrSet)
      +    throws IOException
      +  {
      +    Enumeration attrNameEnum = attrSet.getAttributeNames();
      +        
      +    while (attrNameEnum.hasMoreElements())
      +      {
      +        Object key = attrNameEnum.nextElement();
      +        Object value = attrSet.getAttribute(key);
      +            
      +        // HTML.Attribute.ENDTAG is an instance, not a class.
      +        if (!((key instanceof HTML.Tag) || (key instanceof StyleConstants)
      +          || (key == HTML.Attribute.ENDTAG)))
      +          {
      +            if (key == HTML.Attribute.SELECTED)
      +              writeRaw(" selected");
      +            else if (key == HTML.Attribute.CHECKED)
      +              writeRaw(" checked");
      +            else
      +              writeRaw(" " + key + "=\"" + value + "\"");
      +          } // if(!((key instanceof HTML.Tag) || (key instanceof
      +            //   StyleConstants) || (key == HTML.Attribute.ENDTAG)))
      +      } // while(attrNameEnum.hasMoreElements())
      +        
      +  } // protected void writeAttributes(AttributeSet attrSet) throws IOException
      +
      +  /**
      +   * Writes out an empty tag. i.e. a tag without any child elements.
      +   *
      +   * @param paramElem the element to output as an empty tag
      +   *
      +   * @throws IOException on any I/O exceptions
      +   * @throws BadLocationException if a pos is not a valid position in the
      +   *                              html doc element
      +   */
      +  protected void emptyTag(Element paramElem)
      +    throws IOException, BadLocationException
      +  {
      +    String elem_name = paramElem.getName();
      +    AttributeSet attrSet = paramElem.getAttributes();
      +
      +    writeRaw("<" + elem_name);
      +    writeAttributes(attrSet);
      +    writeRaw(">");
      +
      +    if (isBlockTag(attrSet))
      +      {
      +        writeRaw("");
      +      } // if(isBlockTag(attrSet))
      +        
      +  } // protected void emptyTag(Element paramElem)
      +    //   throws IOException, BadLocationException
      +    
      +  /**
      +   * Determines if it is a block tag or not.
      +   *
      +   * @param attrSet the attrSet of the element
      +   *
      +   * @return true if it is a block tag
      +   *         false if it is a not block tag
      +   */
      +  protected boolean isBlockTag(AttributeSet attrSet)
      +  {
      +    return ((HTML.Tag)
      +      attrSet.getAttribute(StyleConstants.NameAttribute)).isBlock();
      +  } // protected boolean isBlockTag(AttributeSet attrSet)
      +
      +  /**
      +   * Writes out a start tag. Synthesized elements are skipped.
      +   *
      +   * @param paramElem the element to output as a start tag
      +   * @throws IOException on any I/O exceptions
      +   * @throws BadLocationException if a pos is not a valid position in the
      +   *                              html doc element
      +   */
      +  protected void startTag(Element paramElem)
      +    throws IOException, BadLocationException
      +  {
      +    // NOTE: Sysnthesized elements do no call this method at all.
      +    String elem_name = paramElem.getName();
      +    AttributeSet attrSet = paramElem.getAttributes();
      +
      +    indent();
      +    writeRaw("<" + elem_name);
      +    writeAttributes(attrSet);
      +    writeRaw(">");
      +    writeLineSeparator(); // Extra formatting to look more like the RI.
      +    incrIndent();
      +
      +  } // protected void startTag(Element paramElem)
      +    //   throws IOException, BadLocationException
      +
      +  /**
      +   * Writes out the contents of a textarea.
      +   *
      +   * @param attrSet the attrSet of the element to output as a text area
      +   * @throws IOException on any I/O exceptions
      +   * @throws BadLocationException if a pos is not a valid position in the
      +   *                              html doc element
      +   */
      +  protected void textAreaContent(AttributeSet attrSet)
      +    throws IOException, BadLocationException
      +  {
      +    writeLineSeparator(); // Extra formatting to look more like the RI.
      +    indent();
      +    writeRaw("");
      +
      +    Document tempDocument = 
      +      (Document) attrSet.getAttribute(StyleConstants.ModelAttribute);
      +
      +    writeRaw(tempDocument.getText(0, tempDocument.getLength()));
      +    indent();
      +    writeRaw("");
      +
      +  } // protected void textAreaContent(AttributeSet attrSet)
      +    //   throws IOException, BadLocationException
      +
      +  /**
      +   * Writes out text, within the appropriate range if it is specified.
      +   *
      +   * @param paramElem the element to output as a text
      +   * @throws IOException on any I/O exceptions
      +   * @throws BadLocationException if a pos is not a valid position in the
      +   *                              html doc element
      +   */
      +  protected void text(Element paramElem)
      +    throws IOException, BadLocationException
      +  {
      +    int offset =  paramElem.getStartOffset();
      +    int len =  paramElem.getEndOffset() -  paramElem.getStartOffset();
      +    String txt_value = htmlDoc.getText(offset, len);
      +
      +    writeContent(txt_value);
      +
      +  } // protected void text(Element paramElem)
      +    //   throws IOException, BadLocationException
      +
      +  /**
      +   * Writes out the contents of a select element.
      +   *
      +   * @param attrSet the attrSet of the element to output as a select box
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  protected void selectContent(AttributeSet attrSet)
      +    throws IOException
      +  {
      +    writeLineSeparator(); // Extra formatting to look more like the RI.
      +    indent();
      +    writeRaw("");
      +    incrIndent();
      +    writeLineSeparator(); // extra formatting to look more like the RI.
      +
      +    ComboBoxModel comboBoxModel =
      +      (ComboBoxModel) attrSet.getAttribute(StyleConstants.ModelAttribute);
      +
      +    for (int i = 0; i < comboBoxModel.getSize(); i++)
      +      {
      +        writeOption((Option) comboBoxModel.getElementAt(i));
      +      } // for(int i = 0; i < comboBoxModel.getSize(); i++)
      +
      +    decrIndent();
      +    indent();
      +    writeRaw("");
      +
      +  } // protected void selectContent(AttributeSet attrSet) throws IOException
      +
      +  /**
      +   * Writes out the contents of an option element.
      +   *
      +   * @param option the option object to output as a select option
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  protected void writeOption(Option option)
      +    throws IOException
      +  {
      +    indent();
      +    writeRaw("");
      +
      +    writeContent(option.getLabel());
      +
      +    writeRaw("");
      +    writeLineSeparator(); // extra formatting to look more like the RI.
      +
      +  } // protected void writeOption(Option option) throws IOException
      +
      +  /**
      +   * Writes out an end tag.
      +   *
      +   * @param paramElem the element to output as an end tag
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  protected void endTag(Element paramElem)
      +    throws IOException
      +  {
      +    String elem_name = paramElem.getName();
      +
      +    //writeLineSeparator(); // Extra formatting to look more like the RI.
      +    decrIndent();
      +    indent();
      +    writeRaw("");
      +    writeLineSeparator(); // Extra formatting to look more like the RI.
      +
      +  } // protected void endTag(Element paramElem) throws IOException
      +
      +  /**
      +   * Writes out the comment.
      +   *
      +   * @param paramElem the element to output as a comment
      +   */
      +  protected void comment(Element paramElem)
      +    throws IOException, BadLocationException
      +  {
      +    AttributeSet attrSet = paramElem.getAttributes();
      +
      +    String comment_str = (String) attrSet.getAttribute(HTML.Attribute.COMMENT);
      +
      +    writeRaw("");
      +
      +  } // protected void comment(Element paramElem)
      +    //   throws IOException, BadLocationException
      +
      +  /**
      +   * Determines if element is a synthesized
      +   * javax.swing.text.Element or not.
      +   *
      +   * @param element the element to test
      +   *
      +   * @return true if it is a synthesized element,
      +   *         false if it is a not synthesized element
      +   */
      +  protected boolean synthesizedElement(Element element)
      +  {
      +    AttributeSet attrSet = element.getAttributes();
      +    Object tagType = attrSet.getAttribute(StyleConstants.NameAttribute);
      +
      +    if (tagType == HTML.Tag.CONTENT || tagType == HTML.Tag.COMMENT
      +        || tagType == HTML.Tag.IMPLIED)
      +      return true;
      +    else
      +      return false;
      +  } // protected boolean synthesizedElement(Element element)
      +
      +  /**
      +   * Determines if
      +   * javax.swing.text.StyleConstants.NameAttribute
      +   * matches tag or not.
      +   *
      +   * @param attrSet the javax.swing.text.AttributeSet of
      +   *        element to be matched
      +   * @param tag the HTML.Tag to match
      +   *
      +   * @return true if it matches,
      +   *         false if it does not match
      +   */
      +  protected boolean matchNameAttribute(AttributeSet attrSet, HTML.Tag tag)
      +  {
      +    Object tagType = attrSet.getAttribute(StyleConstants.NameAttribute);
      +
      +    if (tagType == tag)
      +      return true;
      +    else
      +      return false;
      +  } // protected boolean matchNameAttribute(AttributeSet attrSet,
      +    //   HTML.Tag tag)
      +
      +  /**
      +   * Writes out an embedded tag. The tags not already in
      +   * openEmbededTagHashSet will written out.
      +   *
      +   * @param attrSet the javax.swing.text.AttributeSet of
      +   *        the element to write out
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  protected void writeEmbeddedTags(AttributeSet attrSet)
      +    throws IOException
      +  {
      +    Enumeration attrNameEnum = attrSet.getAttributeNames();
      +
      +    while (attrNameEnum.hasMoreElements())
      +      {
      +        Object key = attrNameEnum.nextElement();
      +        Object value = attrSet.getAttribute(key);
      +
      +        if (key instanceof HTML.Tag)
      +          {
      +            if (!openEmbededTagHashSet.contains(key))
      +              {
      +                writeRaw("<" + key);
      +                writeAttributes((AttributeSet) value);
      +                writeRaw(">");
      +                openEmbededTagHashSet.add(key);
      +              } // if(!openEmbededTagHashSet.contains(key))
      +          } // if(key instanceof HTML.Tag)
      +      } // while(attrNameEnum.hasMoreElements())
      +
      +  } // protected void writeEmbeddedTags(AttributeSet attrSet)
      +    //   throws IOException
      +
      +  /**
      +   * Closes out an unwanted embedded tag. The tags from the
      +   *  openEmbededTagHashSet not found in attrSet will be written out.
      +   * 
      +   *  @param attrSet the AttributeSet of the element to write out
      +   * 
      +   *  @throws IOException on any I/O exceptions
      +   */
      +  protected void closeOutUnwantedEmbeddedTags(AttributeSet attrSet)
      +    throws IOException
      +  {
      +    Object[] tag_arr = openEmbededTagHashSet.toArray();
      +
      +    for (int i = 0; i < tag_arr.length; i++)
      +      {
      +        HTML.Tag key = (HTML.Tag) tag_arr[i];
      +            
      +        if (!attrSet.isDefined(key))
      +          {
      +            writeRaw("");
      +            openEmbededTagHashSet.remove(key);
      +          } // if(!attrSet.isDefined(key))
      +      } // for(int i = 0; i < tag_arr.length; i++)
      +
      +  } // protected void closeOutUnwantedEmbeddedTags(AttributeSet attrSet)
      +    //   throws IOException
      +
      +  /**
      +   * Writes out a line separator. Overwrites the parent to write out a new
      +   * line.
      +   *
      +   * @throws IOException on any I/O exceptions.
      +   */
      +  protected void writeLineSeparator()
      +    throws IOException
      +  {
      +    writeRaw(new_line_str);
      +  } // protected void writeLineSeparator() throws IOException
      +
      +  /**
      +   * Write to the writer. Character entites such as <, >
      +   * are escaped appropriately.
      +   *
      +   * @param chars char array to write out
      +   * @param off offset
      +   * @param len length
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  protected void output(char[] chars, int off, int len)
      +   throws IOException
      +  {
      +    StringBuffer strBuffer = new StringBuffer();
      +
      +    for (int i = 0; i < chars.length; i++)
      +      {
      +        if (isCharHtmlEntity(chars[i]))
      +          strBuffer.append(escapeCharHtmlEntity(chars[i]));
      +        else
      +          strBuffer.append(chars[i]);
      +      } // for(int i = 0; i < chars.length; i++)
      +
      +    writeRaw(strBuffer.toString());
      +
      +  } // protected void output(char[] chars, int off, int len)
      +    //   throws IOException
      + 
      +  //-------------------------------------------------------------------------
      +  // private methods
      +  
      +  /**
      +   * The main method used to traverse through the elements.
      +   *
      +   * @param paramElem element to traverse
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  private void traverse(Element paramElem)
      +    throws IOException, BadLocationException
      +  {
      +    Element currElem = paramElem;
      +
      +    AttributeSet attrSet = currElem.getAttributes();
      +
      +    closeOutUnwantedEmbeddedTags(attrSet);
      +
      +    // handle the tag
      +    if (synthesizedElement(paramElem))
      +      {
      +        if (matchNameAttribute(attrSet, HTML.Tag.CONTENT))
      +          {
      +            writeEmbeddedTags(attrSet);
      +            text(currElem);
      +          } // if(matchNameAttribute(attrSet, HTML.Tag.CONTENT))
      +        else if (matchNameAttribute(attrSet, HTML.Tag.COMMENT))
      +          {
      +            comment(currElem);
      +          } // else if(matchNameAttribute(attrSet, HTML.Tag.COMMENT))
      +        else if (matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
      +          {
      +            int child_elem_count = currElem.getElementCount();
      +                
      +            if (child_elem_count > 0)
      +              {
      +                for (int i = 0; i < child_elem_count; i++)
      +                  {
      +                    Element childElem = paramElem.getElement(i);
      +
      +                    traverse(childElem);
      +
      +                  } // for(int i = 0; i < child_elem_count; i++)
      +              } // if(child_elem_count > 0)
      +          } // else if(matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
      +      } // if(synthesizedElement(paramElem))
      +    else
      +      {
      +        // NOTE: 20061030 - fchoong - title is treated specially here.
      +        // based on RI behavior.
      +        if (matchNameAttribute(attrSet, HTML.Tag.TITLE))
      +          {
      +            boolean fg_is_end_tag = false;
      +            Enumeration attrNameEnum = attrSet.getAttributeNames();
      +
      +            while (attrNameEnum.hasMoreElements())
      +              {
      +                Object key = attrNameEnum.nextElement();
      +                Object value = attrSet.getAttribute(key);
      +
      +                if (key == HTML.Attribute.ENDTAG && value.equals("true"))
      +                  fg_is_end_tag = true;
      +              } // while(attrNameEnum.hasMoreElements())
      +
      +            if (fg_is_end_tag)
      +              writeRaw("");
      +            else
      +              {
      +                indent();
      +                writeRaw("");
      +
      +                String title_str = 
      +                  (String) htmlDoc.getProperty(HTMLDocument.TitleProperty);
      +
      +                if (title_str != null)
      +                  writeContent(title_str);
      +
      +              } // else
      +          } // if(matchNameAttribute(attrSet, HTML.Tag.TITLE))
      +        else if (matchNameAttribute(attrSet, HTML.Tag.PRE))
      +          {
      +            // We pursue more stringent formating here.
      +            attrSet = paramElem.getAttributes();
      +
      +            indent();
      +            writeRaw("<pre");
      +            writeAttributes(attrSet);
      +            writeRaw(">");
      +
      +            int child_elem_count = currElem.getElementCount();
      +
      +            for (int i = 0; i < child_elem_count; i++)
      +              {
      +                Element childElem = paramElem.getElement(i);
      +
      +                traverse(childElem);
      +
      +              } // for(int i = 0; i < child_elem_count; i++)
      +
      +            writeRaw("</pre>");
      +
      +          } // else if(matchNameAttribute(attrSet, HTML.Tag.PRE))
      +        else if (matchNameAttribute(attrSet, HTML.Tag.SELECT))
      +          {
      +            selectContent(attrSet);
      +          } // else if(matchNameAttribute(attrSet, HTML.Tag.SELECT))
      +        else if (matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
      +          {
      +            textAreaContent(attrSet);
      +          } // else if(matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
      +        else
      +          {
      +            int child_elem_count = currElem.getElementCount();
      +
      +            if (child_elem_count > 0)
      +              {
      +                startTag(currElem);
      +
      +                for (int i = 0; i < child_elem_count; i++)
      +                  {
      +                    Element childElem = paramElem.getElement(i);
      +
      +                    traverse(childElem);
      +
      +                  } // for(int i = 0; i < child_elem_count; i++)
      +
      +                  endTag(currElem);
      +
      +              } // if(child_elem_count > 0)
      +            else
      +              {
      +                emptyTag(currElem);
      +              } // else 
      +            } // else
      +          } // else
      +
      +  } // private void traverse(Element paramElem)
      +    //   throws IOException, BadLocationException
      +
      +  /**
      +   * The method used to traverse through a html fragment.
      +   *
      +   * @param paramElem element to traverse
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  private void traverseHtmlFragment(Element paramElem)
      +    throws IOException, BadLocationException
      +  {
      +    // NOTE: This method is similar to traverse(Element paramElem)
      +    Element currElem = paramElem;
      +
      +    boolean fg_is_fragment_parent_elem = false;
      +    boolean fg_is_start_and_end_elem = false;
      +
      +    if (htmlFragmentParentHashSet.contains(paramElem))
      +      fg_is_fragment_parent_elem = true;
      +
      +    if (paramElem == startElem)
      +      fg_pass_start_elem = true;
      +
      +    if (paramElem == startElem && paramElem == endElem)
      +      fg_is_start_and_end_elem = true;
      +
      +    AttributeSet attrSet = currElem.getAttributes();
      +
      +    closeOutUnwantedEmbeddedTags(attrSet);
      +
      +    if (fg_is_fragment_parent_elem || (fg_pass_start_elem
      +        && fg_pass_end_elem == false) || fg_is_start_and_end_elem)
      +    {
      +      // handle the tag
      +      if (synthesizedElement(paramElem))
      +        {
      +          if (matchNameAttribute(attrSet, HTML.Tag.CONTENT))
      +            {
      +              writeEmbeddedTags(attrSet);
      +
      +              int content_offset =  paramElem.getStartOffset();
      +              int content_length = currElem.getEndOffset() - content_offset;
      +
      +              if (doc_offset_remaining > 0)
      +                {
      +                  if (content_length > doc_offset_remaining)
      +                    {
      +                      int split_len = content_length;
      +
      +                      split_len = split_len - doc_offset_remaining;
      +
      +                      if (split_len > doc_len_remaining)
      +                        split_len = doc_len_remaining;
      +
      +                      // we need to split it.
      +                      String txt_value = htmlDoc.getText(content_offset
      +                        + doc_offset_remaining, split_len);
      +
      +                      writeContent(txt_value);
      +
      +                      doc_offset_remaining = 0; // the offset is used up.
      +                      doc_len_remaining = doc_len_remaining - split_len;
      +                    } // if(content_length > doc_offset_remaining)
      +                  else
      +                    {
      +                      // doc_offset_remaining is greater than the entire
      +                      //   length of content
      +                      doc_offset_remaining = doc_offset_remaining
      +                        - content_length;
      +                    }  // else
      +                } // if(doc_offset_remaining > 0)
      +              else if (content_length <= doc_len_remaining)
      +                {
      +                  // we can fit the entire content.
      +                  text(currElem);
      +                  doc_len_remaining = doc_len_remaining - content_length;
      +                } // else if(content_length <= doc_len_remaining)
      +              else
      +                {
      +                  // we need to split it.
      +                  String txt_value = htmlDoc.getText(content_offset,
      +                    doc_len_remaining);
      +
      +                  writeContent(txt_value);
      +
      +                  doc_len_remaining = 0;
      +                } // else
      +
      +            } // if(matchNameAttribute(attrSet, HTML.Tag.CONTENT))
      +          else if (matchNameAttribute(attrSet, HTML.Tag.COMMENT))
      +            {
      +              comment(currElem);
      +            } // else if(matchNameAttribute(attrSet, HTML.Tag.COMMENT))
      +          else if (matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
      +            {
      +              int child_elem_count = currElem.getElementCount();
      +
      +              if (child_elem_count > 0)
      +                {
      +                  for (int i = 0; i < child_elem_count; i++)
      +                    {
      +                      Element childElem = paramElem.getElement(i);
      +
      +                      traverseHtmlFragment(childElem);
      +
      +                    } // for(int i = 0; i < child_elem_count; i++)
      +                } // if(child_elem_count > 0)
      +            } // else if(matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
      +        } // if(synthesizedElement(paramElem))
      +      else
      +        { 
      +            // NOTE: 20061030 - fchoong - the isLeaf() condition seems to
      +            // generate the closest behavior to the RI.
      +            if (paramElem.isLeaf())
      +              {
      +                if (doc_offset_remaining > 0)
      +                  {
      +                    doc_offset_remaining--;
      +                  } // if(doc_offset_remaining > 0)
      +                else if (doc_len_remaining > 0)
      +                  {
      +                    doc_len_remaining--;
      +                  } // else if(doc_len_remaining > 0)
      +              } // if(paramElem.isLeaf())
      +
      +          // NOTE: 20061030 - fchoong - title is treated specially here.
      +          // based on RI behavior.
      +          if (matchNameAttribute(attrSet, HTML.Tag.TITLE))
      +            {
      +              boolean fg_is_end_tag = false;
      +              Enumeration attrNameEnum = attrSet.getAttributeNames();
      +
      +              while (attrNameEnum.hasMoreElements())
      +                {
      +                  Object key = attrNameEnum.nextElement();
      +                  Object value = attrSet.getAttribute(key);
      +
      +                  if (key == HTML.Attribute.ENDTAG && value.equals("true"))
      +                    fg_is_end_tag = true;
      +                } // while(attrNameEnum.hasMoreElements())
      +
      +              if (fg_is_end_tag)
      +                writeRaw("");
      +              else
      +                {
      +                  indent();
      +                  writeRaw("");
      +
      +                  String title_str = 
      +                    (String) htmlDoc.getProperty(HTMLDocument.TitleProperty);
      +
      +                  if (title_str != null)
      +                    writeContent(title_str);
      +
      +                } // else
      +            } // if(matchNameAttribute(attrSet, HTML.Tag.TITLE))
      +          else if (matchNameAttribute(attrSet, HTML.Tag.PRE))
      +            {
      +              // We pursue more stringent formating here.
      +              attrSet = paramElem.getAttributes();
      +
      +              indent();
      +              writeRaw("<pre");
      +              writeAttributes(attrSet);
      +              writeRaw(">");
      +
      +              int child_elem_count = currElem.getElementCount();
      +
      +              for (int i = 0; i < child_elem_count; i++)
      +                {
      +                  Element childElem = paramElem.getElement(i);
      +
      +                  traverseHtmlFragment(childElem);
      +
      +                } // for(int i = 0; i < child_elem_count; i++)
      +
      +              writeRaw("</pre>");
      +
      +            } // else if(matchNameAttribute(attrSet, HTML.Tag.PRE))
      +          else if (matchNameAttribute(attrSet, HTML.Tag.SELECT))
      +            {
      +              selectContent(attrSet);
      +            } // else if(matchNameAttribute(attrSet, HTML.Tag.SELECT))
      +          else if (matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
      +            {
      +              textAreaContent(attrSet);
      +            } // else if(matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
      +          else
      +            {
      +              int child_elem_count = currElem.getElementCount();
      +
      +              if (child_elem_count > 0)
      +                {
      +                  startTag(currElem);
      +
      +                  for (int i = 0; i < child_elem_count; i++)
      +                    {
      +                      Element childElem = paramElem.getElement(i);
      +
      +                      traverseHtmlFragment(childElem);
      +
      +                    } // for(int i = 0; i < child_elem_count; i++)
      +
      +                    endTag(currElem);
      +
      +                } // if(child_elem_count > 0)
      +              else
      +                {
      +                  emptyTag(currElem);
      +                } // else 
      +            } // else
      +        } // else
      +
      +    } // if(fg_is_fragment_parent_elem || (fg_pass_start_elem
      +      //   && fg_pass_end_elem == false) || fg_is_start_and_end_elem)
      +
      +    if (paramElem == endElem)
      +      fg_pass_end_elem = true;
      +
      +  } // private void traverseHtmlFragment(Element paramElem)
      +    //   throws IOException, BadLocationException
      +
      +  /**
      +   * Write to the writer without any modifications.
      +   *
      +   * @param param_str the str to write out
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  private void writeRaw(String param_str)
      +    throws IOException
      +  {
      +    super.output(param_str.toCharArray(), 0, param_str.length());
      +  } // private void writeRaw(char[] chars, int off, int len)
      +    //   throws IOException
      +
      +  /**
      +   * Write to the writer, escaping HTML character entitie where neccessary.
      +   *
      +   * @param param_str the str to write out
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  private void writeContent(String param_str)
      +    throws IOException
      +  {
      +    char[] str_char_arr = param_str.toCharArray();
      +
      +    if (hasHtmlEntity(param_str))
      +      output(str_char_arr, 0, str_char_arr.length);
      +    else
      +      super.output(str_char_arr, 0, str_char_arr.length);
      +
      +  } // private void writeContent(String param_str) throws IOException
      +
      +  /**
      +   * Use this for debugging. Writes out all attributes regardless of type.
      +   *
      +   * @param attrSet the <code>javax.swing.text.AttributeSet</code> to
      +   *        write out
      +   *
      +   * @throws IOException on any I/O exceptions
      +   */
      +  private void writeAllAttributes(AttributeSet attrSet)
      +    throws IOException
      +  {
      +    Enumeration attrNameEnum = attrSet.getAttributeNames();
      +
      +    while (attrNameEnum.hasMoreElements())
      +      {
      +        Object key = attrNameEnum.nextElement();
      +        Object value = attrSet.getAttribute(key);
      +
      +        writeRaw(" " + key + "=\"" + value + "\"");
      +        writeRaw(" " + key.getClass().toString() + "=\""
      +          + value.getClass().toString() + "\"");
      +      } // while(attrNameEnum.hasMoreElements())
      +
      +  } // private void writeAllAttributes(AttributeSet attrSet)
      +    //   throws IOException
      +
      +  /**
      +   * Tests if the str contains any html entities.
      +   *
      +   * @param param_str the str to test
      +   *
      +   * @return <code>true</code> if it has a html entity
      +   *         <code>false</code> if it does not have a html entity
      +   */
      +  private boolean hasHtmlEntity(String param_str)
      +  {
      +    boolean ret_bool = false;
      +
      +    for (int i = 0; i < html_entity_char_arr.length; i++)
      +      {
      +        if (param_str.indexOf(html_entity_char_arr[i]) != -1)
      +          {
      +            ret_bool = true;
      +            break;
      +          } // if(param_str.indexOf(html_entity_char_arr[i]) != -1)
      +      } // for(int i = 0; i < html_entity_char_arr.length; i++)
      +
      +    return ret_bool;
      +  } // private boolean hasHtmlEntity(String param_str)
      +
      +  /**
      +   * Tests if the char is a html entities.
      +   *
      +   * @param param_char the char to test
      +   *
      +   * @return <code>true</code> if it is a html entity
      +   *         <code>false</code> if it is not a html entity.
      +   */
      +  private boolean isCharHtmlEntity(char param_char)
      +  {
      +    boolean ret_bool = false;
      +
      +    for (int i = 0; i < html_entity_char_arr.length; i++)
      +      {
      +        if (param_char == html_entity_char_arr[i])
      +          {
      +            ret_bool = true;
      +            break;
      +          } // if(param_char == html_entity_char_arr[i])
      +      } // for(int i = 0; i < html_entity_char_arr.length; i++)
      +
      +      return ret_bool;
      +  } // private boolean hasHtmlEntity(String param_str)
      +
      +  /**
      +   * Escape html entities.
      +   *
      +   * @param param_char the char to escape
      +   *
      +   * @return escaped html entity. Original char is returned as a str if is
      +   *         is not a html entity
      +   */
      +  private String escapeCharHtmlEntity(char param_char)
      +  {
      +    String ret_str = "" + param_char;
      +
      +    for (int i = 0; i < html_entity_char_arr.length; i++)
      +      {
      +        if (param_char == html_entity_char_arr[i])
      +          {
      +            ret_str = html_entity_escape_str_arr[i];
      +            break;
      +          } // if(param_char == html_entity_char_arr[i])
      +      } // for(int i = 0; i < html_entity_char_arr.length; i++)
      +
      +      return ret_str;
      +  } // private String escapeCharHtmlEntity(char param_char)
      +
      +} // public class HTMLWriter extends AbstractWriter
      \ No newline at end of file
      diff --git a/libjava/classpath/javax/swing/text/html/ImageView.java b/libjava/classpath/javax/swing/text/html/ImageView.java
      index 84b021070a9..bf906e4500e 100644
      --- a/libjava/classpath/javax/swing/text/html/ImageView.java
      +++ b/libjava/classpath/javax/swing/text/html/ImageView.java
      @@ -1,18 +1,21 @@
       package javax.swing.text.html;
       
      -import gnu.javax.swing.text.html.CombinedAttributes;
       import gnu.javax.swing.text.html.ImageViewIconFactory;
      +import gnu.javax.swing.text.html.css.Length;
       
       import java.awt.Graphics;
       import java.awt.Image;
       import java.awt.MediaTracker;
       import java.awt.Rectangle;
       import java.awt.Shape;
      +import java.awt.Toolkit;
      +import java.awt.image.ImageObserver;
       import java.net.MalformedURLException;
       import java.net.URL;
       
       import javax.swing.Icon;
      -import javax.swing.ImageIcon;
      +import javax.swing.SwingUtilities;
      +import javax.swing.text.AbstractDocument;
       import javax.swing.text.AttributeSet;
       import javax.swing.text.BadLocationException;
       import javax.swing.text.Document;
      @@ -28,22 +31,97 @@ import javax.swing.text.html.HTML.Attribute;
        */
       public class ImageView extends View
       {
      +  /**
      +   * Tracks image loading state and performs the necessary layout updates.
      +   */
      +  class Observer
      +    implements ImageObserver
      +  {
      +
      +    public boolean imageUpdate(Image image, int flags, int x, int y, int width, int height)
      +    {
      +      boolean widthChanged = false;
      +      if ((flags & ImageObserver.WIDTH) != 0 && spans[X_AXIS] == null)
      +        widthChanged = true;
      +      boolean heightChanged = false;
      +      if ((flags & ImageObserver.HEIGHT) != 0 && spans[Y_AXIS] == null)
      +        heightChanged = true;
      +      if (widthChanged || heightChanged)
      +        safePreferenceChanged(ImageView.this, widthChanged, heightChanged);
      +      boolean ret = (flags & ALLBITS) != 0;
      +      return ret;
      +    }
      +    
      +  }
      +
         /**
          * True if the image loads synchronuosly (on demand). By default, the image
          * loads asynchronuosly.
          */
         boolean loadOnDemand;
      -  
      +
         /**
          * The image icon, wrapping the image,
          */
      -  ImageIcon imageIcon;
      +  Image image;
        
         /**
          * The image state.
          */
         byte imageState = MediaTracker.LOADING;
       
      +  /**
      +   * True when the image needs re-loading, false otherwise.
      +   */
      +  private boolean reloadImage;
      +
      +  /**
      +   * True when the image properties need re-loading, false otherwise.
      +   */
      +  private boolean reloadProperties;
      +
      +  /**
      +   * True when the width is set as CSS/HTML attribute.
      +   */
      +  private boolean haveWidth;
      +
      +  /**
      +   * True when the height is set as CSS/HTML attribute.
      +   */
      +  private boolean haveHeight;
      +
      +  /**
      +   * True when the image is currently loading.
      +   */
      +  private boolean loading;
      +
      +  /**
      +   * The current width of the image.
      +   */
      +  private int width;
      +
      +  /**
      +   * The current height of the image.
      +   */
      +  private int height;
      +
      +  /**
      +   * Our ImageObserver for tracking the loading state.
      +   */
      +  private ImageObserver observer;
      +
      +  /**
      +   * The CSS width and height.
      +   *
      +   * Package private to avoid synthetic accessor methods.
      +   */
      +  Length[] spans;
      +
      +  /**
      +   * The cached attributes.
      +   */
      +  private AttributeSet attributes;
      +
         /**
          * Creates the image view that represents the given element.
          * 
      @@ -52,25 +130,36 @@ public class ImageView extends View
         public ImageView(Element element)
         {
           super(element);
      +    spans = new Length[2];
      +    observer = new Observer();
      +    reloadProperties = true;
      +    reloadImage = true;
      +    loadOnDemand = false;
         }
        
         /**
          * Load or reload the image. This method initiates the image reloading. After
          * the image is ready, the repaint event will be scheduled. The current image,
          * if it already exists, will be discarded.
      -   * 
      -   * @param itsTime
      -   *          also load if the "on demand" property is set
          */
      -  void reloadImage(boolean itsTime)
      +  private void reloadImage()
         {
      -    URL url = getImageURL();
      -    if (url == null)
      -      imageState = (byte) MediaTracker.ERRORED;
      -    else if (!(loadOnDemand && !itsTime))
      -      imageIcon = new ImageIcon(url);
      -    else
      -      imageState = (byte) MediaTracker.LOADING;
      +    loading = true;
      +    reloadImage = false;
      +    haveWidth = false;
      +    haveHeight = false;
      +    image = null;
      +    width = 0;
      +    height = 0;
      +    try
      +      {
      +        loadImage();
      +        updateSize();
      +      }
      +    finally
      +      {
      +        loading = false;
      +      }
         }
         
         /**
      @@ -146,12 +235,9 @@ public class ImageView extends View
          */
         public AttributeSet getAttributes()
         {
      -    StyleSheet styles = getStyleSheet();
      -    if (styles == null)
      -      return super.getAttributes();
      -    else
      -      return CombinedAttributes.combine(super.getAttributes(),
      -                                        styles.getViewAttributes(this));
      +    if (attributes == null)
      +      attributes = getStyleSheet().getViewAttributes(this);
      +    return attributes;
         }
         
         /**
      @@ -159,10 +245,8 @@ public class ImageView extends View
          */
         public Image getImage()
         {
      -    if (imageIcon == null)
      -      return null;
      -    else
      -      return imageIcon.getImage();
      +    updateState();
      +    return image;
         }
         
         /**
      @@ -175,19 +259,22 @@ public class ImageView extends View
          */
         public URL getImageURL()
         {
      -    Object url = getAttributes().getAttribute(Attribute.SRC);
      -    if (url == null)
      -      return null;
      -
      -    try
      +    Element el = getElement();
      +    String src = (String) el.getAttributes().getAttribute(Attribute.SRC);
      +    URL url = null;
      +    if (src != null)
             {
      -        return new URL(url.toString());
      -      }
      -    catch (MalformedURLException e)
      -      {
      -        // The URL is malformed - no image.
      -        return null;
      +        URL base = ((HTMLDocument) getDocument()).getBase();
      +        try
      +          {
      +            url = new URL(base, src);
      +          }
      +        catch (MalformedURLException ex)
      +          {
      +            // Return null.
      +          }
             }
      +    return url;
         }
       
         /**
      @@ -242,9 +329,8 @@ public class ImageView extends View
       
           if (axis == View.X_AXIS)
             {
      -        Object w = attrs.getAttribute(Attribute.WIDTH);
      -        if (w != null)
      -          return Integer.parseInt(w.toString());
      +        if (spans[axis] != null)
      +          return spans[axis].getValue();
               else if (image != null)
                 return image.getWidth(getContainer());
               else
      @@ -252,9 +338,8 @@ public class ImageView extends View
             }
           else if (axis == View.Y_AXIS)
             {
      -        Object w = attrs.getAttribute(Attribute.HEIGHT);
      -        if (w != null)
      -          return Integer.parseInt(w.toString());
      +        if (spans[axis] != null)
      +          return spans[axis].getValue();
               else if (image != null)
                 return image.getHeight(getContainer());
               else
      @@ -271,11 +356,8 @@ public class ImageView extends View
          */
         protected StyleSheet getStyleSheet()
         {
      -    Document d = getElement().getDocument();
      -    if (d instanceof HTMLDocument)
      -      return ((HTMLDocument) d).getStyleSheet();
      -    else
      -      return null;
      +    HTMLDocument doc = (HTMLDocument) getDocument();
      +    return doc.getStyleSheet();
         }
       
         /**
      @@ -288,7 +370,7 @@ public class ImageView extends View
         {
           return getAltText();
         }
      -  
      +
         /**
          * Paints the image or one of the two image state icons. The image is resized
          * to the shape bounds. If there is no image available, the alternative text
      @@ -302,83 +384,22 @@ public class ImageView extends View
          */
         public void paint(Graphics g, Shape bounds)
         {
      -    Rectangle r = bounds.getBounds();
      -
      -    if (imageIcon == null)
      -
      -      {
      -        // Loading image on demand, rendering the loading icon so far.
      -        reloadImage(true);
      -         
      -        // The reloadImage sets the imageIcon, unless the URL is broken 
      -        // or malformed.
      -        if (imageIcon != null)
      -          {
      -            if (imageIcon.getImageLoadStatus() != MediaTracker.COMPLETE)
      -              {
      -                // Render "not ready" icon, unless the image is ready
      -                // immediately.
      -                renderIcon(g, r, getLoadingImageIcon());
      -                // Add the listener to repaint when the icon will be ready.
      -                imageIcon.setImageObserver(getContainer());
      -                return;
      -              }
      -          }
      -        else
      -          {
      -            renderIcon(g, r, getNoImageIcon());
      -            return;
      -          }
      -      }
      -
      -    imageState = (byte) imageIcon.getImageLoadStatus();
      -
      -    switch (imageState)
      -      {
      -      case MediaTracker.ABORTED:
      -      case MediaTracker.ERRORED:
      -        renderIcon(g, r, getNoImageIcon());
      -        break;
      -      case MediaTracker.LOADING:
      -      // If the image is not loaded completely, we still render it, as the
      -      // partial image may be available.
      -      case MediaTracker.COMPLETE:
      +    updateState();
      +    Rectangle r = bounds instanceof Rectangle ? (Rectangle) bounds
      +                                              : bounds.getBounds();
      +    Image image = getImage();
      +    if (image != null)
             {
      -        // Paint the scaled image.
      -        Image scaled = imageIcon.getImage().getScaledInstance(
      -                                                              r.width,
      -                                                              r.height,
      -                                                              Image.SCALE_DEFAULT);
      -        ImageIcon painter = new ImageIcon(scaled);
      -        painter.paintIcon(getContainer(), g, r.x, r.y);
      -      }
      -        break;
      +        g.drawImage(image, r.x, r.y, r.width, r.height, observer);
             }
      -  }
      -  
      -  /**
      -   * Render "no image" icon and the alternative "no image" text. The text is
      -   * rendered right from the icon and is aligned to the icon bottom.
      -   */
      -  private void renderIcon(Graphics g, Rectangle bounds, Icon icon)
      -  {
      -    Shape current = g.getClip();
      -    try
      +    else
             {
      -        g.setClip(bounds);
      +        Icon icon = getNoImageIcon();
               if (icon != null)
      -          {
      -            icon.paintIcon(getContainer(), g, bounds.x, bounds.y);
      -            g.drawString(getAltText(), bounds.x + icon.getIconWidth(),
      -                         bounds.y + icon.getIconHeight());
      -          }
      -      }
      -    finally
      -      {
      -        g.setClip(current);
      +          icon.paintIcon(getContainer(), g, r.x, r.y);
             }
         }
      -  
      +
         /**
          * Set if the image should be loaded only when needed (synchronuosly). By
          * default, the image loads asynchronuosly. If the image is not yet ready, the
      @@ -395,9 +416,20 @@ public class ImageView extends View
          */
         protected void setPropertiesFromAttributes()
         {
      -    // In the current implementation, nothing is cached yet, unless the image
      -    // itself.
      -    imageIcon = null;
      +    AttributeSet atts = getAttributes();
      +    StyleSheet ss = getStyleSheet();
      +    float emBase = ss.getEMBase(atts);
      +    float exBase = ss.getEXBase(atts);
      +    spans[X_AXIS] = (Length) atts.getAttribute(CSS.Attribute.WIDTH);
      +    if (spans[X_AXIS] != null)
      +      {
      +        spans[X_AXIS].setFontBases(emBase, exBase);
      +      }
      +    spans[Y_AXIS] = (Length) atts.getAttribute(CSS.Attribute.HEIGHT);
      +    if (spans[Y_AXIS] != null)
      +      {
      +        spans[Y_AXIS].setFontBases(emBase, exBase);
      +      }
         }
         
         /**
      @@ -433,9 +465,130 @@ public class ImageView extends View
          */
         public void setSize(float width, float height)
         {
      -    if (imageIcon == null)
      -      reloadImage(false);
      +    updateState();
      +    // TODO: Implement this when we have an alt view for the alt=... attribute.
         }  
      -  
       
      +  /**
      +   * This makes sure that the image and properties have been loaded.
      +   */
      +  private void updateState()
      +  {
      +    if (reloadImage)
      +      reloadImage();
      +    if (reloadProperties)
      +      setPropertiesFromAttributes();
      +  }
      +
      +  /**
      +   * Actually loads the image.
      +   */
      +  private void loadImage()
      +  {
      +    URL src = getImageURL();
      +    Image newImage = null;
      +    if (src != null)
      +      {
      +        // Call getImage(URL) to allow the toolkit caching of that image URL.
      +        Toolkit tk = Toolkit.getDefaultToolkit();
      +        newImage = tk.getImage(src);
      +        tk.prepareImage(newImage, -1, -1, observer);
      +        if (newImage != null && getLoadsSynchronously())
      +          {
      +            // Load image synchronously.
      +            MediaTracker tracker = new MediaTracker(getContainer());
      +            tracker.addImage(newImage, 0);
      +            try
      +              {
      +                tracker.waitForID(0);
      +              }
      +            catch (InterruptedException ex)
      +              {
      +                Thread.interrupted();
      +              }
      +            
      +          }
      +      }
      +    image = newImage;
      +  }
      +
      +  /**
      +   * Updates the size parameters of the image.
      +   */
      +  private void updateSize()
      +  {
      +    int newW = 0;
      +    int newH = 0;
      +    Image newIm = getImage();
      +    if (newIm != null)
      +      {
      +        AttributeSet atts = getAttributes();
      +        // Fetch width.
      +        Length l = spans[X_AXIS];
      +        if (l != null)
      +          {
      +            newW = (int) l.getValue();
      +            haveWidth = true;
      +          }
      +        else
      +          {
      +            newW = newIm.getWidth(observer);
      +          }
      +        // Fetch height.
      +        l = spans[Y_AXIS];
      +        if (l != null)
      +          {
      +            newH = (int) l.getValue();
      +            haveHeight = true;
      +          }
      +        else
      +          {
      +            newW = newIm.getWidth(observer);
      +          }
      +        // Go and trigger loading.
      +        Toolkit tk = Toolkit.getDefaultToolkit();
      +        if (haveWidth || haveHeight)
      +          tk.prepareImage(newIm, width, height, observer);
      +        else
      +          tk.prepareImage(newIm, -1, -1, observer);
      +      }
      +  }
      +
      +  /**
      +   * Calls preferenceChanged from the event dispatch thread and within
      +   * a read lock to protect us from threading issues.
      +   *
      +   * @param v the view
      +   * @param width true when the width changed
      +   * @param height true when the height changed
      +   */
      +  void safePreferenceChanged(final View v, final boolean width,
      +                             final boolean height)
      +  {
      +    if (SwingUtilities.isEventDispatchThread())
      +      {
      +        Document doc = getDocument();
      +        if (doc instanceof AbstractDocument)
      +          ((AbstractDocument) doc).readLock();
      +        try
      +          {
      +            preferenceChanged(v, width, height);
      +          }
      +        finally
      +          {
      +            if (doc instanceof AbstractDocument)
      +              ((AbstractDocument) doc).readUnlock();
      +          }
      +      }
      +    else
      +      {
      +        SwingUtilities.invokeLater(new Runnable()
      +        {
      +          public void run()
      +          {
      +            safePreferenceChanged(v, width, height);
      +          }
      +        });
      +      }
      +  }
       }
      diff --git a/libjava/classpath/javax/swing/text/html/InlineView.java b/libjava/classpath/javax/swing/text/html/InlineView.java
      index 77ec86e8263..58edc738526 100644
      --- a/libjava/classpath/javax/swing/text/html/InlineView.java
      +++ b/libjava/classpath/javax/swing/text/html/InlineView.java
      @@ -38,13 +38,17 @@ exception statement from your version. */
       
       package javax.swing.text.html;
       
      +import java.awt.FontMetrics;
       import java.awt.Shape;
      +import java.text.BreakIterator;
       
       import javax.swing.event.DocumentEvent;
       import javax.swing.text.AttributeSet;
      +import javax.swing.text.BadLocationException;
       import javax.swing.text.Document;
       import javax.swing.text.Element;
       import javax.swing.text.LabelView;
      +import javax.swing.text.Segment;
       import javax.swing.text.View;
       import javax.swing.text.ViewFactory;
       
      @@ -59,6 +63,23 @@ public class InlineView
         extends LabelView
       {
       
      +  /**
      +   * The attributes used by this view.
      +   */
      +  private AttributeSet attributes;
      +
      +  /**
      +   * The span of the longest word in this view.
      +   *
      +   * @see #getLongestWord()
      +   */
      +  private float longestWord;
      +
      +  /**
      +   * Indicates if we may wrap or not.
      +   */
      +  private boolean nowrap;
      +
         /**
          * Creates a new <code>InlineView</code> that renders the specified element.
          *
      @@ -115,6 +136,9 @@ public class InlineView
         public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
         {
           super.changedUpdate(e, a, f);
      +    StyleSheet ss = getStyleSheet();
      +    attributes = ss.getViewAttributes(this);
      +    preferenceChanged(null, true, true);
           setPropertiesFromAttributes();
         }
       
      @@ -126,15 +150,23 @@ public class InlineView
          */
         public AttributeSet getAttributes()
         {
      -    // FIXME: Implement this.
      -    return super.getAttributes();
      +    if (attributes == null)
      +      {
      +        StyleSheet ss = getStyleSheet();
      +        attributes = ss.getViewAttributes(this);
      +      }
      +    return attributes;
         }
       
         
         public int getBreakWeight(int axis, float pos, float len)
         {
      -    // FIXME: Implement this.
      -    return super.getBreakWeight(axis, pos, len);
      +    int weight;
      +    if (nowrap)
      +      weight = BadBreakWeight;
      +    else
      +      weight = super.getBreakWeight(axis, pos, len);
      +    return weight;
         }
       
         public View breakView(int axis, int offset, float pos, float len)
      @@ -143,10 +175,48 @@ public class InlineView
           return super.breakView(axis, offset, pos, len);
         }
       
      +  /**
      +   * Loads the character style properties from the stylesheet.
      +   */
         protected void setPropertiesFromAttributes()
         {
      -    // FIXME: Implement this.
           super.setPropertiesFromAttributes();
      +    AttributeSet atts = getAttributes();
      +    Object o = atts.getAttribute(CSS.Attribute.TEXT_DECORATION);
      +
      +    // Check for underline.
      +    boolean b = false;
      +    if (o != null && o.toString().contains("underline"))
      +      b = true;
      +    setUnderline(b);
      +
      +    // Check for line-through.
      +    b = false;
      +    if (o != null && o.toString().contains("line-through"))
      +      b = true;
      +    setStrikeThrough(b);
      +
      +    // Check for vertical alignment (subscript/superscript).
      +    o = atts.getAttribute(CSS.Attribute.VERTICAL_ALIGN);
      +
      +    // Subscript.
      +    b = false;
      +    if (o != null && o.toString().contains("sub"))
      +      b = true;
      +    setSubscript(b);
      +
      +    // Superscript.
      +    b = false;
      +    if (o != null && o.toString().contains("sup"))
      +      b = true;
      +    setSuperscript(b);
      +
      +    // Fetch nowrap setting.
      +    o = atts.getAttribute(CSS.Attribute.WHITE_SPACE);
      +    if (o != null && o.equals("nowrap"))
      +      nowrap = true;
      +    else
      +      nowrap = false;
         }
       
         /**
      @@ -163,4 +233,75 @@ public class InlineView
             styleSheet = ((HTMLDocument) doc).getStyleSheet();
           return styleSheet;
         }
      +
      +  /**
      +   * Returns the minimum span for the specified axis. This returns the
      +   * width of the longest word for the X axis and the super behaviour for
      +   * the Y axis. This is a slight deviation from the reference implementation.
      +   * IMO this should improve rendering behaviour so that an InlineView never
      +   * gets smaller than the longest word in it.
      +   */
      +  public float getMinimumSpan(int axis)
      +  {
      +    float min = super.getMinimumSpan(axis);
      +    if (axis == X_AXIS)
      +      min = Math.max(getLongestWord(), min);
      +    return min;
      +  }
      +
      +  /**
      +   * Returns the span of the longest word in this view.
      +   *
      +   * @return the span of the longest word in this view
      +   */
      +  private float getLongestWord()
      +  {
      +    if (longestWord == -1)
      +      longestWord = calculateLongestWord();
      +    return longestWord;
      +  }
      +
      +  /**
      +   * Calculates the span of the longest word in this view.
      +   *
      +   * @return the span of the longest word in this view
      +   */
      +  private float calculateLongestWord()
      +  {
      +    float span = 0;
      +    try
      +      {
      +        Document doc = getDocument();
      +        int p0 = getStartOffset();
      +        int p1 = getEndOffset();
      +        Segment s = new Segment();
      +        doc.getText(p0, p1 - p0, s);
      +        BreakIterator iter = BreakIterator.getWordInstance();
      +        iter.setText(s);
      +        int wordStart = p0;
      +        int wordEnd = p0;
      +        int start = iter.first();
      +        for (int end = iter.next(); end != BreakIterator.DONE;
      +             start = end, end = iter.next())
      +          {
      +            if ((end - start) > (wordEnd - wordStart))
      +              {
      +                wordStart = start;
      +                wordEnd = end;
      +              }
      +          }
      +        if (wordEnd - wordStart > 0)
      +          {
      +            FontMetrics fm = getFontMetrics();
      +            int offset = s.offset + wordStart - s.getBeginIndex();
      +            span = fm.charsWidth(s.array, offset, wordEnd - wordStart);
      +          }
      +      }
      +    catch (BadLocationException ex)
      +      {
      +        // Return 0.
      +      }
      +    return span;
      +  }
      +
       }
      diff --git a/libjava/classpath/javax/swing/text/html/ListView.java b/libjava/classpath/javax/swing/text/html/ListView.java
      index c07d3598c92..3e809bbd209 100644
      --- a/libjava/classpath/javax/swing/text/html/ListView.java
      +++ b/libjava/classpath/javax/swing/text/html/ListView.java
      @@ -94,9 +94,6 @@ public class ListView
         public void paint(Graphics g, Shape allocation)
         {
           super.paint(g, allocation);
      -    // FIXME: Why is this overridden? I think that painting would be done
      -    // by the superclass and the stylesheet... Maybe find out when this
      -    // stuff is implemented properly.
         }
       
         /**
      diff --git a/libjava/classpath/javax/swing/text/html/MultiAttributeSet.java b/libjava/classpath/javax/swing/text/html/MultiAttributeSet.java
      new file mode 100644
      index 00000000000..0f1145084e1
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/MultiAttributeSet.java
      @@ -0,0 +1,213 @@
      +/* MultiAttributeSet.java -- Multiplexes between a set of AttributeSets
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import java.util.Enumeration;
      +import java.util.NoSuchElementException;
      +
      +import javax.swing.text.AttributeSet;
      +import javax.swing.text.SimpleAttributeSet;
      +
      +/**
      + * An AttributeSet impl that multiplexes between a set of other AttributeSets.
      + *
      + * @author Roman Kennke (kennke@aicas.com)
      + */
      +class MultiAttributeSet
      +  implements AttributeSet
      +{
      +
      +  /**
      +   * The Enumeration for the multiplexed names.
      +   */
      +  private class MultiNameEnumeration
      +    implements Enumeration
      +  {
      +    /**
      +     * The index of the current AttributeSet.
      +     */
      +    private int index;
      +
      +    /**
      +     * The names Enumeration of the current AttributeSet.
      +     */
      +    private Enumeration current;
      +
      +    /**
      +     * Creates a new instance.
      +     */
      +    MultiNameEnumeration()
      +    {
      +      index = 0;
      +      current = multi[0].getAttributeNames();
      +    }
      +
      +    public boolean hasMoreElements()
      +    {
      +      return current.hasMoreElements() || index < multi.length - 1;
      +    }
      +
      +    public Object nextElement()
      +    {
      +      if (! current.hasMoreElements())
      +        {
      +          if (index < multi.length - 1)
      +            {
      +              index++;
      +              current = multi[index].getAttributeNames();
      +            }
      +          else
      +            throw new NoSuchElementException();
      +        }
      +      return current.nextElement();
      +    }
      +    
      +  }
      +
      +  /**
      +   * The AttributeSets to multiplex.
      +   */
      +  AttributeSet[] multi;
      +
      +  /**
      +   * Provided for subclasses that need to initialize via {@link #init}.
      +   */
      +  MultiAttributeSet()
      +  {
      +    // Nothing to do here.
      +  }
      +
      +  /**
      +   * Creates a new instance.
      +   *
      +   * @param m the AttributeSets to multiplex
      +   */
      +  MultiAttributeSet(AttributeSet[] m)
      +  {
      +    init(m);
      +  }
      +
      +  /**
      +   * Provided for subclasses to initialize the attribute set.
      +   *
      +   * @param m the attributes to multiplex
      +   */
      +  void init(AttributeSet[] m)
      +  {
      +    multi = m;
      +  }
      +
      +  public boolean containsAttribute(Object name, Object value)
      +  {
      +    boolean ret = false;
      +    for (int i = 0; i < multi.length && ret == false; i++)
      +      {
      +        if (multi[i].containsAttribute(name, value))
      +          ret = true;
      +      }
      +    return ret;
      +  }
      +
      +  public boolean containsAttributes(AttributeSet attributes)
      +  {
      +    boolean ret = true;
      +    Enumeration e = attributes.getAttributeNames();
      +    while (ret && e.hasMoreElements())
      +      {
      +        Object key = e.nextElement();
      +        ret = attributes.getAttribute(key).equals(getAttribute(key));
      +      }
      +    return ret;
      +  }
      +
      +  public AttributeSet copyAttributes()
      +  {
      +    SimpleAttributeSet copy = new SimpleAttributeSet();
      +    for (int i = 0; i < multi.length; i++)
      +      {
      +        copy.addAttributes(multi[i]);
      +      }
      +    return copy;
      +  }
      +
      +  public Object getAttribute(Object key)
      +  {
      +    Object ret = null;
      +    for (int i = 0; i < multi.length && ret == null; i++)
      +      {
      +        ret = multi[i].getAttribute(key);
      +      }
      +    return ret;
      +  }
      +
      +  public int getAttributeCount()
      +  {
      +    int n = 0;
      +    for (int i = 0; i < multi.length; i++)
      +      {
      +        n += multi[i].getAttributeCount();
      +      }
      +    return n;
      +  }
      +
      +  public Enumeration getAttributeNames()
      +  {
      +    return new MultiNameEnumeration();
      +  }
      +
      +  public AttributeSet getResolveParent()
      +  {
      +    return null;
      +  }
      +
      +  public boolean isDefined(Object attrName)
      +  {
      +    boolean ret = false;
      +    for (int i = 0; i < multi.length && ! ret; i++)
      +      ret = multi[i].isDefined(attrName);
      +    return ret;
      +  }
      +
      +  public boolean isEqual(AttributeSet attr)
      +  {
      +    return getAttributeCount() == attr.getAttributeCount()
      +           && containsAttributes(attr);
      +  }
      +
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/MultiStyle.java b/libjava/classpath/javax/swing/text/html/MultiStyle.java
      new file mode 100644
      index 00000000000..3937bff75a9
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/MultiStyle.java
      @@ -0,0 +1,136 @@
      +/* MultiStyle.java -- Multiplexes between several Styles
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import java.util.Enumeration;
      +
      +import javax.swing.event.ChangeListener;
      +import javax.swing.text.AttributeSet;
      +import javax.swing.text.SimpleAttributeSet;
      +import javax.swing.text.Style;
      +
      +/**
      + * A Style implementation that is able to multiplex between several other
      + * Styles. This is used for CSS style resolving.
      + * 
      + * @author Roman Kennke (kennke@aicas.com)
      + */
      +public class MultiStyle
      +  extends MultiAttributeSet
      +  implements Style
      +{
      +
      +  // FIXME: Fix the implementation to also return attributes that
      +  // are added to this style, etc. However, this is not really needed
      +  // now for CSS, but would be nice for correctness.
      +
      +  /**
      +   * The name of the style.
      +   */
      +  private String name;
      +
      +  /**
      +   * The attributes added to this style.
      +   */
      +  private SimpleAttributeSet attributes;
      +
      +  /**
      +   * Creates a new instance.
      +   *
      +   * @param n the name
      +   * @param m the styles to multiplex
      +   */
      +  public MultiStyle(String n, AttributeSet[] m)
      +  {
      +    super(m);
      +    name = n;
      +    attributes = new SimpleAttributeSet();
      +  }
      +
      +  /**
      +   * Returns the name of the style.
      +   *
      +   * @return the name of the style
      +   */
      +  public String getName()
      +  {
      +    return name;
      +  }
      +
      +  public void addChangeListener(ChangeListener listener)
      +  {
      +    // TODO: Implement.
      +  }
      +
      +  public void removeChangeListener(ChangeListener listener)
      +  {
      +    // TODO: Implement.
      +  }
      +
      +  public void addAttribute(Object name, Object value)
      +  {
      +    attributes.addAttribute(name, value);
      +  }
      +
      +  public void addAttributes(AttributeSet atts)
      +  {
      +    attributes.addAttributes(atts);
      +  }
      +
      +  public void removeAttribute(Object name)
      +  {
      +    attributes.removeAttribute(name);
      +  }
      +
      +  public void removeAttributes(Enumeration names)
      +  {
      +    attributes.removeAttribute(names);
      +  }
      +
      +  public void removeAttributes(AttributeSet atts)
      +  {
      +    attributes.removeAttribute(atts);
      +  }
      +
      +  public void setResolveParent(AttributeSet parent)
      +  {
      +    // TODO: Implement.
      +  }
      +
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/Option.java b/libjava/classpath/javax/swing/text/html/Option.java
      index 1def51b2f59..18d5c2bd86f 100644
      --- a/libjava/classpath/javax/swing/text/html/Option.java
      +++ b/libjava/classpath/javax/swing/text/html/Option.java
      @@ -72,10 +72,10 @@ public class Option
          */
         public Option(AttributeSet attr)
         {
      -    attributes = attr;
      +    // Protect the attribute set.
      +    attributes = attr.copyAttributes();
           label = null;
      -    selected = false;
      -    // FIXME: Probably initialize something using the attributes.
      +    selected = attr.getAttribute(HTML.Attribute.SELECTED) != null;
         }
       
         /**
      @@ -151,7 +151,9 @@ public class Option
          */
         public String getValue()
         {
      -    // FIXME: Return some attribute here if specified.
      -    return label;
      +    String value = (String) attributes.getAttribute(HTML.Attribute.VALUE);
      +    if (value == null)
      +      value = label;
      +    return value;
         }
       }
      diff --git a/libjava/classpath/javax/swing/text/html/ParagraphView.java b/libjava/classpath/javax/swing/text/html/ParagraphView.java
      index 2339f4e661d..d149627ff1c 100644
      --- a/libjava/classpath/javax/swing/text/html/ParagraphView.java
      +++ b/libjava/classpath/javax/swing/text/html/ParagraphView.java
      @@ -38,13 +38,17 @@ exception statement from your version. */
       
       package javax.swing.text.html;
       
      +import gnu.javax.swing.text.html.css.Length;
      +
       import java.awt.Graphics;
      +import java.awt.Rectangle;
       import java.awt.Shape;
       
       import javax.swing.SizeRequirements;
       import javax.swing.text.AttributeSet;
       import javax.swing.text.Document;
       import javax.swing.text.Element;
      +import javax.swing.text.StyleConstants;
       import javax.swing.text.View;
       
       /**
      @@ -55,9 +59,29 @@ import javax.swing.text.View;
        * @author Roman Kennke (kennke@aicas.com)
        */
       public class ParagraphView
      -    extends javax.swing.text.ParagraphView
      +  extends javax.swing.text.ParagraphView
       {
       
      +  /**
      +   * The attributes used by this view.
      +   */
      +  private AttributeSet attributes;
      +
      +  /**
      +   * The stylesheet's box painter.
      +   */
      +  private StyleSheet.BoxPainter painter;
      +
      +  /**
      +   * The width as specified in the stylesheet or null if not specified.
      +   */
      +  private Length cssWidth;
      +
      +  /**
      +   * The height as specified in the stylesheet or null if not specified.
      +   */
      +  private Length cssHeight;
      +
         /**
          * Creates a new ParagraphView for the specified element.
          *
      @@ -88,8 +112,11 @@ public class ParagraphView
          */
         public AttributeSet getAttributes()
         {
      -    // FIXME: Implement this multiplexing thing.
      -    return super.getAttributes();
      +    if (attributes == null)
      +      {
      +        attributes = getStyleSheet().getViewAttributes(this);
      +      }
      +    return attributes;
         }
       
         /**
      @@ -98,7 +125,44 @@ public class ParagraphView
          */
         protected void setPropertiesFromAttributes()
         {
      -    // FIXME: Implement this.
      +    super.setPropertiesFromAttributes();
      +
      +    // Fetch CSS attributes.
      +    attributes = getAttributes();
      +    if (attributes != null)
      +      {
      +        super.setPropertiesFromAttributes();
      +        Object o = attributes.getAttribute(CSS.Attribute.TEXT_ALIGN);
      +        if (o != null)
      +          {
      +            String align = o.toString();
      +            if (align.equals("left"))
      +              setJustification(StyleConstants.ALIGN_LEFT);
      +            else if (align.equals("right"))
      +              setJustification(StyleConstants.ALIGN_RIGHT);
      +            else if (align.equals("center"))
      +              setJustification(StyleConstants.ALIGN_CENTER);
      +            else if (align.equals("justify"))
      +              setJustification(StyleConstants.ALIGN_JUSTIFIED);
      +          }
      +
      +        // Fetch StyleSheet's box painter.
      +        painter = getStyleSheet().getBoxPainter(attributes);
      +        setInsets((short) painter.getInset(TOP, this),
      +                  (short) painter.getInset(LEFT, this),
      +                  (short) painter.getInset(BOTTOM, this),
      +                  (short) painter.getInset(RIGHT, this));
      +
      +        StyleSheet ss = getStyleSheet();
      +        float emBase = ss.getEMBase(attributes);
      +        float exBase = ss.getEXBase(attributes);
      +        cssWidth = (Length) attributes.getAttribute(CSS.Attribute.WIDTH);
      +        if (cssWidth != null)
      +          cssWidth.setFontBases(emBase, exBase);
      +        cssHeight = (Length) attributes.getAttribute(CSS.Attribute.WIDTH);
      +        if (cssHeight != null)
      +          cssHeight.setFontBases(emBase, exBase);
      +      }
         }
       
         /**
      @@ -129,8 +193,52 @@ public class ParagraphView
         protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                                   SizeRequirements r)
         {
      -    // FIXME: Implement the above specified behaviour.
      -    return super.calculateMinorAxisRequirements(axis, r);
      +    r = super.calculateMinorAxisRequirements(axis, r);
      +    if (! setCSSSpan(r, axis))
      +      {
      +        int margin = axis == X_AXIS ? getLeftInset() + getRightInset()
      +                                    : getTopInset() + getBottomInset();
      +        r.minimum -= margin;
      +        r.preferred -= margin;
      +        r.maximum -= margin;
      +      }
      +    return r;
      +  }
      +
      +  /**
      +   * Sets the span on the SizeRequirements object according to the
      +   * according CSS span value, when it is set.
      +   * 
      +   * @param r the size requirements
      +   * @param axis the axis
      +   *
      +   * @return <code>true</code> when the CSS span has been set,
      +   *         <code>false</code> otherwise
      +   */
      +  private boolean setCSSSpan(SizeRequirements r, int axis)
      +  {
      +    boolean ret = false;
      +    if (axis == X_AXIS)
      +      {
      +        if (cssWidth != null && ! cssWidth.isPercentage())
      +          {
      +            r.minimum = (int) cssWidth.getValue();
      +            r.preferred = (int) cssWidth.getValue();
      +            r.maximum = (int) cssWidth.getValue();
      +            ret = true;
      +          }
      +      }
      +    else
      +      {
      +        if (cssHeight != null && ! cssWidth.isPercentage())
      +          {
      +            r.minimum = (int) cssHeight.getValue();
      +            r.preferred = (int) cssHeight.getValue();
      +            r.maximum = (int) cssHeight.getValue();
      +            ret = true;
      +          }
      +      }
      +    return ret;
         }
       
         /**
      @@ -147,15 +255,20 @@ public class ParagraphView
         }
       
         /**
      -   * Paints this view. This delegates to the superclass after the coordinates
      -   * have been updated for tab calculations.
      +   * Paints this view. This paints the box using the stylesheet's
      +   * box painter for this view and delegates to the super class paint()
      +   * afterwards.
          *
          * @param g the graphics object
          * @param a the current allocation of this view
          */
         public void paint(Graphics g, Shape a)
         {
      -    // FIXME: Implement the above specified behaviour.
      +    if (a != null)
      +      {
      +        Rectangle r = a instanceof Rectangle ? (Rectangle) a : a.getBounds();
      +        painter.paint(g, r.x, r.y, r.width, r.height, this);
      +      }
           super.paint(g, a);
         }
       
      diff --git a/libjava/classpath/javax/swing/text/html/ResetableModel.java b/libjava/classpath/javax/swing/text/html/ResetableModel.java
      new file mode 100644
      index 00000000000..17f65b97d13
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/ResetableModel.java
      @@ -0,0 +1,50 @@
      +/* ResetableModel.java -- Form models that can be resetted
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +/**
      + * Form models that can be resetted implement this.
      + */
      +interface ResetableModel
      +{
      +  /**
      +   * Resets the model.
      +   */
      +  void reset();
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/ResetablePlainDocument.java b/libjava/classpath/javax/swing/text/html/ResetablePlainDocument.java
      new file mode 100644
      index 00000000000..6177f9b86cf
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/ResetablePlainDocument.java
      @@ -0,0 +1,82 @@
      +/* ResetablePlainDocument.java -- A plain document for use in the HTML renderer
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import javax.swing.text.BadLocationException;
      +import javax.swing.text.PlainDocument;
      +
      +/**
      + * A PlainDocument that can be resetted.
      + */
      +class ResetablePlainDocument
      +  extends PlainDocument
      +  implements ResetableModel
      +{
      +  /**
      +   * The initial text.
      +   */
      +  private String initial;
      +
      +  /**
      +   * Stores the initial text.
      +   *
      +   * @param text the initial text
      +   */
      +  void setInitialText(String text)
      +  {
      +    initial = text;
      +  }
      +
      +  /**
      +   * Resets the model.
      +   */
      +  public void reset()
      +  {
      +    try
      +      {
      +        replace(0, getLength(), initial, null);
      +      }
      +    catch (BadLocationException ex)
      +      {
      +        // Shouldn't happen.
      +        assert false;
      +      }
      +  }
      +
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/ResetableToggleButtonModel.java b/libjava/classpath/javax/swing/text/html/ResetableToggleButtonModel.java
      new file mode 100644
      index 00000000000..619c24e477c
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/ResetableToggleButtonModel.java
      @@ -0,0 +1,71 @@
      +/* ResetableToggleButtonModel.java -- A toggle button model with reset support
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import javax.swing.ButtonGroup;
      +import javax.swing.JToggleButton.ToggleButtonModel;
      +
      +class ResetableToggleButtonModel
      +  extends ToggleButtonModel
      +  implements ResetableModel
      +{
      +
      +  /**
      +   * The initial state.
      +   */
      +  private boolean initial;
      +
      +  /**
      +   * Sets the initial selection value.
      +   *
      +   * @param state the initial value
      +   */
      +  public void setInitial(boolean state)
      +  {
      +    initial = state;
      +  }
      +
      +  /**
      +   * Resets the model.
      +   */
      +  public void reset()
      +  {
      +    setSelected(initial);
      +  }
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/SelectComboBoxModel.java b/libjava/classpath/javax/swing/text/html/SelectComboBoxModel.java
      new file mode 100644
      index 00000000000..999746413c8
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/SelectComboBoxModel.java
      @@ -0,0 +1,84 @@
      +/* SelectComboBoxModel.java -- A special ComboBoxModel for use in HTML renderer
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import javax.swing.DefaultComboBoxModel;
      +
      +/**
      + * A special ComboBoxModel that supports storing the initial value so that
      + * the combobox can be resetted later.
      + */
      +class SelectComboBoxModel
      +  extends DefaultComboBoxModel
      +  implements ResetableModel
      +{
      +
      +  /**
      +   * The initial selection.
      +   */
      +  private Option initial;
      +
      +  /**
      +   * Sets the initial selection.
      +   *
      +   * @param option the initial selection
      +   */
      +  void setInitialSelection(Option option)
      +  {
      +    initial = option;
      +  }
      +
      +  /**
      +   * Returns the initial selection.
      +   *
      +   * @return the initial selection
      +   */
      +  Option getInitialSelection()
      +  {
      +    return initial;
      +  }
      +
      +  /**
      +   * Resets the model.
      +   */
      +  public void reset()
      +  {
      +    setSelectedItem(initial);
      +  }
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/SelectListModel.java b/libjava/classpath/javax/swing/text/html/SelectListModel.java
      new file mode 100644
      index 00000000000..23bfaa11b86
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/SelectListModel.java
      @@ -0,0 +1,106 @@
      +/* OptionListModel.java -- A special ListModel for use in the HTML renderer
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import java.util.BitSet;
      +
      +import javax.swing.DefaultListModel;
      +import javax.swing.DefaultListSelectionModel;
      +import javax.swing.ListSelectionModel;
      +
      +/**
      + * A special list model that encapsulates its selection model and supports
      + * storing of the initial value so that it can be resetted.
      + */
      +class SelectListModel
      +  extends DefaultListModel
      +  implements ResetableModel
      +{
      +  /**
      +   * The selection model.
      +   */
      +  private DefaultListSelectionModel selectionModel;
      +
      +  /**
      +   * The initial selection.
      +   */
      +  private BitSet initialSelection;
      +
      +  /**
      +   * Creates a new SelectListModel.
      +   */
      +  SelectListModel()
      +  {
      +    selectionModel = new DefaultListSelectionModel();
      +    initialSelection = new BitSet();
      +  }
      +
      +  /**
      +   * Sets the initial selection.
      +   *
      +   * @param init the initial selection
      +   */
      +  void addInitialSelection(int init)
      +  {
      +    initialSelection.set(init);
      +  }
      +
      +  /**
      +   * Resets the model.
      +   */
      +  public void reset()
      +  {
      +    selectionModel.clearSelection();
      +    for (int i = initialSelection.size(); i >= 0; i--)
      +      {
      +        if (initialSelection.get(i))
      +          selectionModel.addSelectionInterval(i, i);
      +      }
      +  }
      +
      +  /**
      +   * Returns the associated selection model.
      +   *
      +   * @return the associated selection model
      +   */
      +  ListSelectionModel getSelectionModel()
      +  {
      +    return selectionModel;
      +  }
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/StyleSheet.java b/libjava/classpath/javax/swing/text/html/StyleSheet.java
      index d92abde7825..01f19fd7bdd 100644
      --- a/libjava/classpath/javax/swing/text/html/StyleSheet.java
      +++ b/libjava/classpath/javax/swing/text/html/StyleSheet.java
      @@ -38,28 +38,47 @@ exception statement from your version. */
       
       package javax.swing.text.html;
       
      -import gnu.javax.swing.text.html.CharacterAttributeTranslator;
      +import gnu.javax.swing.text.html.css.BorderWidth;
      +import gnu.javax.swing.text.html.css.CSSColor;
      +import gnu.javax.swing.text.html.css.CSSParser;
      +import gnu.javax.swing.text.html.css.CSSParserCallback;
      +import gnu.javax.swing.text.html.css.FontSize;
      +import gnu.javax.swing.text.html.css.FontStyle;
      +import gnu.javax.swing.text.html.css.FontWeight;
      +import gnu.javax.swing.text.html.css.Length;
      +import gnu.javax.swing.text.html.css.Selector;
       
       import java.awt.Color;
       import java.awt.Font;
       import java.awt.Graphics;
      -
      +import java.awt.Rectangle;
      +import java.awt.Shape;
      +import java.awt.font.FontRenderContext;
      +import java.awt.geom.Rectangle2D;
      +import java.io.BufferedReader;
       import java.io.IOException;
      +import java.io.InputStream;
      +import java.io.InputStreamReader;
       import java.io.Reader;
       import java.io.Serializable;
       import java.io.StringReader;
      -
      -import java.net.MalformedURLException;
       import java.net.URL;
      -
      +import java.util.ArrayList;
      +import java.util.Collections;
       import java.util.Enumeration;
      -import java.util.Vector;
      +import java.util.HashMap;
      +import java.util.Iterator;
      +import java.util.List;
      +import java.util.Map;
       
      +import javax.swing.border.Border;
      +import javax.swing.event.ChangeListener;
       import javax.swing.text.AttributeSet;
       import javax.swing.text.Element;
       import javax.swing.text.MutableAttributeSet;
       import javax.swing.text.SimpleAttributeSet;
       import javax.swing.text.Style;
      +import javax.swing.text.StyleConstants;
       import javax.swing.text.StyleContext;
       import javax.swing.text.View;
       
      @@ -79,21 +98,168 @@ import javax.swing.text.View;
        *  
        *  The rules are stored as named styles, and other information is stored to 
        *  translate the context of an element to a rule.
      - * 
      + *
        * @author Lillian Angel (langel@redhat.com)
        */
       public class StyleSheet extends StyleContext
       {
       
      +  /**
      +   * Parses CSS stylesheets using the parser in gnu/javax/swing/html/css.
      +   *
      +   * This is package private to avoid accessor methods.
      +   */
      +  class CSSStyleSheetParserCallback
      +    implements CSSParserCallback
      +  {
      +    /**
      +     * The current styles.
      +     */
      +    private CSSStyle[] styles;
      +
      +    /**
      +     * The precedence of the stylesheet to be parsed.
      +     */
      +    private int precedence;
      +
      +    /**
      +     * Creates a new CSS parser. This parser parses a CSS stylesheet with
      +     * the specified precedence.
      +     *
      +     * @param prec the precedence, according to the constants defined in
      +     *        CSSStyle
      +     */
      +    CSSStyleSheetParserCallback(int prec)
      +    {
      +      precedence = prec;
      +    }
      +
      +    /**
      +     * Called at the beginning of a statement.
      +     *
      +     * @param sel the selector
      +     */
      +    public void startStatement(Selector[] sel)
      +    {
      +      styles = new CSSStyle[sel.length];
      +      for (int i = 0; i < sel.length; i++)
      +        styles[i] = new CSSStyle(precedence, sel[i]);
      +    }
      +
      +    /**
      +     * Called at the end of a statement.
      +     */
      +    public void endStatement()
      +    {
      +      for (int i = 0; i < styles.length; i++)
      +        css.add(styles[i]);
      +      styles = null;
      +    }
      +
      +    /**
      +     * Called when a declaration is parsed.
      +     *
      +     * @param property the property
      +     * @param value the value
      +     */
      +    public void declaration(String property, String value)
      +    {
      +      CSS.Attribute cssAtt = CSS.getAttribute(property);
      +      Object val = CSS.getValue(cssAtt, value);
      +      for (int i = 0; i < styles.length; i++)
      +        {
      +          CSSStyle style = styles[i];
      +          CSS.addInternal(style, cssAtt, value);
      +          if (cssAtt != null)
      +            style.addAttribute(cssAtt, val);
      +        }
      +    }
      +
      +  }
      +
      +  /**
      +   * Represents a style that is defined by a CSS rule.
      +   */
      +  private class CSSStyle
      +    extends SimpleAttributeSet
      +    implements Style, Comparable
      +  {
      +
      +    static final int PREC_UA = 0;
      +    static final int PREC_NORM = 100000;
      +    static final int PREC_AUTHOR_NORMAL = 200000;
      +    static final int PREC_AUTHOR_IMPORTANT = 300000;
      +    static final int PREC_USER_IMPORTANT = 400000;
      +
      +    /**
      +     * The priority of this style when matching CSS selectors.
      +     */
      +    private int precedence;
      +
      +    /**
      +     * The selector for this rule.
      +     *
      +     * This is package private to avoid accessor methods.
      +     */
      +    Selector selector;
      +
      +    CSSStyle(int prec, Selector sel)
      +    {
      +      precedence = prec;
      +      selector = sel;
      +    }
      +
      +    public String getName()
      +    {
      +      // TODO: Implement this for correctness.
      +      return null;
      +    }
      +
      +    public void addChangeListener(ChangeListener listener)
      +    {
      +      // TODO: Implement this for correctness.
      +    }
      +
      +    public void removeChangeListener(ChangeListener listener)
      +    {
      +      // TODO: Implement this for correctness.
      +    }
      +
      +    /**
      +     * Sorts the rule according to the style's precedence and the
      +     * selectors specificity.
      +     */
      +    public int compareTo(Object o)
      +    {
      +      CSSStyle other = (CSSStyle) o;
      +      return other.precedence + other.selector.getSpecificity()
      +             - precedence - selector.getSpecificity();
      +    }
      +    
      +  }
      +
         /** The base URL */
         URL base;
         
         /** Base font size (int) */
         int baseFontSize;
         
      -  /** The style sheets stored. */
      -  StyleSheet[] styleSheet;
      -  
      +  /**
      +   * The linked style sheets stored.
      +   */
      +  private ArrayList linked;
      +
      +  /**
      +   * Maps element names (selectors) to AttributSet (the corresponding style
      +   * information).
      +   */
      +  ArrayList css = new ArrayList();
      +
      +  /**
      +   * Maps selectors to their resolved styles.
      +   */
      +  private HashMap resolvedStyles;
      +
         /**
          * Constructs a StyleSheet.
          */
      @@ -101,6 +267,7 @@ public class StyleSheet extends StyleContext
         {
           super();
           baseFontSize = 4; // Default font size from CSS
      +    resolvedStyles = new HashMap();
         }
       
         /**
      @@ -114,10 +281,198 @@ public class StyleSheet extends StyleContext
          */
         public Style getRule(HTML.Tag t, Element e)
         {
      -    // FIXME: Not implemented.
      -    return null;
      +    // Create list of the element and all of its parents, starting
      +    // with the bottommost element.
      +    ArrayList path = new ArrayList();
      +    Element el;
      +    AttributeSet atts;
      +    for (el = e; el != null; el = el.getParentElement())
      +      path.add(el);
      +
      +    // Create fully qualified selector.
      +    StringBuilder selector = new StringBuilder();
      +    int count = path.size();
      +    // We append the actual element after this loop.
      +    for (int i = count - 1; i > 0; i--)
      +      {
      +        el = (Element) path.get(i);
      +        atts = el.getAttributes();
      +        Object name = atts.getAttribute(StyleConstants.NameAttribute);
      +        selector.append(name.toString());
      +        if (atts.isDefined(HTML.Attribute.ID))
      +          {
      +            selector.append('#');
      +            selector.append(atts.getAttribute(HTML.Attribute.ID));
      +          }
      +        if (atts.isDefined(HTML.Attribute.CLASS))
      +          {
      +            selector.append('.');
      +            selector.append(atts.getAttribute(HTML.Attribute.CLASS));
      +          }
      +        if (atts.isDefined(HTML.Attribute.DYNAMIC_CLASS))
      +          {
      +            selector.append(':');
      +            selector.append(atts.getAttribute(HTML.Attribute.DYNAMIC_CLASS));
      +          }
      +        if (atts.isDefined(HTML.Attribute.PSEUDO_CLASS))
      +          {
      +            selector.append(':');
      +            selector.append(atts.getAttribute(HTML.Attribute.PSEUDO_CLASS));
      +          }
      +        selector.append(' ');
      +      }
      +    selector.append(t.toString());
      +    el = (Element) path.get(0);
      +    atts = el.getAttributes();
      +    // For leaf elements, we have to fetch the tag specific attributes.
      +    if (el.isLeaf())
      +      {
      +        Object o = atts.getAttribute(t);
      +        if (o instanceof AttributeSet)
      +          atts = (AttributeSet) o;
      +        else
      +          atts = null;
      +      }
      +    if (atts != null)
      +      {
      +        if (atts.isDefined(HTML.Attribute.ID))
      +          {
      +            selector.append('#');
      +            selector.append(atts.getAttribute(HTML.Attribute.ID));
      +          }
      +        if (atts.isDefined(HTML.Attribute.CLASS))
      +          {
      +            selector.append('.');
      +            selector.append(atts.getAttribute(HTML.Attribute.CLASS));
      +          }
      +        if (atts.isDefined(HTML.Attribute.DYNAMIC_CLASS))
      +          {
      +            selector.append(':');
      +            selector.append(atts.getAttribute(HTML.Attribute.DYNAMIC_CLASS));
      +          }
      +        if (atts.isDefined(HTML.Attribute.PSEUDO_CLASS))
      +          {
      +            selector.append(':');
      +            selector.append(atts.getAttribute(HTML.Attribute.PSEUDO_CLASS));
      +          }
      +      }
      +    return getResolvedStyle(selector.toString(), path, t);
         }
      -  
      +
      +  /**
      +   * Fetches a resolved style. If there is no resolved style for the
      +   * specified selector, the resolve the style using
      +   * {@link #resolveStyle(String, List, HTML.Tag)}.
      +   * 
      +   * @param selector the selector for which to resolve the style
      +   * @param path the Element path, used in the resolving algorithm
      +   * @param tag the tag for which to resolve
      +   *
      +   * @return the resolved style
      +   */
      +  private Style getResolvedStyle(String selector, List path, HTML.Tag tag)
      +  {
      +    Style style = (Style) resolvedStyles.get(selector);
      +    if (style == null)
      +      style = resolveStyle(selector, path, tag);
      +    return style;
      +  }
      +
      +  /**
      +   * Resolves a style. This creates arrays that hold the tag names,
      +   * class and id attributes and delegates the work to
      +   * {@link #resolveStyle(String, String[], Map[])}.
      +   *
      +   * @param selector the selector
      +   * @param path the Element path
      +   * @param tag the tag
      +   *
      +   * @return the resolved style
      +   */
      +  private Style resolveStyle(String selector, List path, HTML.Tag tag)
      +  {
      +    int count = path.size();
      +    String[] tags = new String[count];
      +    Map[] attributes = new Map[count];
      +    for (int i = 0; i < count; i++)
      +      {
      +        Element el = (Element) path.get(i);
      +        AttributeSet atts = el.getAttributes();
      +        if (i == 0 && el.isLeaf())
      +          {
      +            Object o = atts.getAttribute(tag);
      +            if (o instanceof AttributeSet)
      +              atts = (AttributeSet) o;
      +            else
      +              atts = null;
      +          }
      +        if (atts != null)
      +          {
      +            HTML.Tag t =
      +              (HTML.Tag) atts.getAttribute(StyleConstants.NameAttribute);
      +            if (t != null)
      +              tags[i] = t.toString();
      +            else
      +              tags[i] = null;
      +            attributes[i] = attributeSetToMap(atts);
      +          }
      +        else
      +          {
      +            tags[i] = null;
      +            attributes[i] = null;
      +          }
      +      }
      +    tags[0] = tag.toString();
      +    return resolveStyle(selector, tags, attributes);
      +  }
      +
      +  /**
      +   * Performs style resolving.
      +   *
      +   * @param selector the selector
      +   * @param tags the tags
      +   * @param attributes the attributes of the tags
      +   *
      +   * @return the resolved style
      +   */
      +  private Style resolveStyle(String selector, String[] tags, Map[] attributes)
      +  {
      +    // FIXME: This style resolver is not correct. But it works good enough for
      +    // the default.css.
      +    int count = tags.length;
      +    ArrayList styles = new ArrayList();
      +    for (Iterator i = css.iterator(); i.hasNext();)
      +      {
      +        CSSStyle style = (CSSStyle) i.next();
      +        if (style.selector.matches(tags, attributes))
      +          styles.add(style);
      +      }
      +
      +    // Add styles from linked stylesheets.
      +    if (linked != null)
      +      {
      +        for (int i = linked.size() - 1; i >= 0; i--)
      +          {
      +            StyleSheet ss = (StyleSheet) linked.get(i);
      +            for (int j = ss.css.size() - 1; j >= 0; j--)
      +              {
      +                CSSStyle style = (CSSStyle) ss.css.get(j);
      +                if (style.selector.matches(tags, attributes))
      +                  styles.add(style);
      +              }
      +          }
      +      }
      +
      +    // Sort selectors.
      +    Collections.sort(styles);
      +    Style[] styleArray = new Style[styles.size()];
      +    styleArray = (Style[]) styles.toArray(styleArray);
      +    Style resolved = new MultiStyle(selector,
      +                                    (Style[]) styles.toArray(styleArray));
      +    resolvedStyles.put(selector, resolved);
      +    return resolved;
      +  }
      +
         /**
          * Gets the rule that best matches the selector. selector is a space
          * separated String of element names. The attributes of the returned 
      @@ -128,27 +483,40 @@ public class StyleSheet extends StyleContext
          */
         public Style getRule(String selector)
         {
      -    // FIXME: Not implemented.
      -    return null; 
      +    CSSStyle best = null;
      +    for (Iterator i = css.iterator(); i.hasNext();)
      +      {
      +        CSSStyle style = (CSSStyle) i.next();
      +        if (style.compareTo(best) < 0)
      +          best = style;
      +      }
      +    return best;
         }
         
         /**
      -   * Adds a set if rules to the sheet. The rules are expected to be in valid
      +   * Adds a set of rules to the sheet. The rules are expected to be in valid
          * CSS format. This is called as a result of parsing a <style> tag
          * 
          * @param rule - the rule to add to the sheet
          */
         public void addRule(String rule)
         {
      -    CssParser cp = new CssParser();
      +    CSSStyleSheetParserCallback cb =
      +      new CSSStyleSheetParserCallback(CSSStyle.PREC_AUTHOR_NORMAL);
      +    // FIXME: Handle ref.
      +    StringReader in = new StringReader(rule);
      +    CSSParser parser = new CSSParser(in, cb);
           try
      -    {
      -      cp.parse(base, new StringReader(rule), false, false);
      -    }
      -    catch (IOException io)
      -    {
      -      // Do nothing here.
      -    }
      +      {
      +        parser.parse();
      +      }
      +    catch (IOException ex)
      +      {
      +        // Shouldn't happen. And if, then don't let it bork the outside code.
      +      }
      +    // Clean up resolved styles cache so that the new styles are recognized
      +    // on next stylesheet request.
      +    resolvedStyles.clear();
         }
         
         /**
      @@ -176,10 +544,14 @@ public class StyleSheet extends StyleContext
          * parameter.
          * @throws IOException - For any IO error while reading
          */
      -  public void loadRules(Reader in, URL ref) throws IOException
      +  public void loadRules(Reader in, URL ref)
      +    throws IOException
         {
      -    CssParser cp = new CssParser();
      -    cp.parse(ref, in, false, false);
      +    CSSStyleSheetParserCallback cb =
      +      new CSSStyleSheetParserCallback(CSSStyle.PREC_UA);
      +    // FIXME: Handle ref.
      +    CSSParser parser = new CSSParser(in, cb);
      +    parser.parse();
         }
         
         /**
      @@ -191,8 +563,7 @@ public class StyleSheet extends StyleContext
          */
         public AttributeSet getViewAttributes(View v)
         {
      -    // FIXME: Not implemented.
      -    return null;
      +    return new ViewAttributeSet(v, this);
         }
         
         /**
      @@ -215,11 +586,9 @@ public class StyleSheet extends StyleContext
          */
         public void addStyleSheet(StyleSheet ss)
         {
      -    if (styleSheet == null)
      -      styleSheet = new StyleSheet[] {ss};
      -    else
      -      System.arraycopy(new StyleSheet[] {ss}, 0, styleSheet, 
      -                       styleSheet.length, 1);
      +    if (linked == null)
      +      linked = new ArrayList();
      +    linked.add(ss);
         }
         
         /**
      @@ -229,31 +598,9 @@ public class StyleSheet extends StyleContext
          */
         public void removeStyleSheet(StyleSheet ss)
         {
      -    if (styleSheet.length == 1 && styleSheet[0].equals(ss))
      -      styleSheet = null;
      -    else
      +    if (linked != null)
             {
      -        for (int i = 0; i < styleSheet.length; i++)
      -          {
      -            StyleSheet curr = styleSheet[i];
      -            if (curr.equals(ss))
      -              {
      -                StyleSheet[] tmp = new StyleSheet[styleSheet.length - 1];
      -                if (i != 0 && i != (styleSheet.length - 1))
      -                  {
      -                    System.arraycopy(styleSheet, 0, tmp, 0, i);
      -                    System.arraycopy(styleSheet, i + 1, tmp, i,
      -                                     styleSheet.length - i - 1);
      -                  }
      -                else if (i == 0)
      -                  System.arraycopy(styleSheet, 1, tmp, 0, styleSheet.length - 1);
      -                else
      -                  System.arraycopy(styleSheet, 0, tmp, 0, styleSheet.length - 1);
      -                
      -                styleSheet = tmp;
      -                break;
      -              }
      -          }
      +        linked.remove(ss);
             }
         }
         
      @@ -264,18 +611,41 @@ public class StyleSheet extends StyleContext
          */
         public StyleSheet[] getStyleSheets()
         {
      -    return styleSheet;
      +    StyleSheet[] linkedSS;
      +    if (linked != null)
      +      {
      +        linkedSS = new StyleSheet[linked.size()];
      +        linkedSS = (StyleSheet[]) linked.toArray(linkedSS);
      +      }
      +    else
      +      {
      +        linkedSS = null;
      +      }
      +    return linkedSS;
         }
         
         /**
          * Imports a style sheet from the url. The rules are directly added to the
      -   * receiver.
      +   * receiver. This is usually called when a <link> tag is resolved in an
      +   * HTML document.
          * 
      -   * @param url - the URL to import the StyleSheet from.
      +   * @param url the URL to import the StyleSheet from
          */
         public void importStyleSheet(URL url)
         {
      -    // FIXME: Not implemented
      +    try
      +      {
      +        InputStream in = url.openStream();
      +        Reader r = new BufferedReader(new InputStreamReader(in));
      +        CSSStyleSheetParserCallback cb =
      +          new CSSStyleSheetParserCallback(CSSStyle.PREC_AUTHOR_NORMAL);
      +        CSSParser parser = new CSSParser(r, cb);
      +        parser.parse();
      +      }
      +    catch (IOException ex)
      +      {
      +        // We can't do anything about it I guess.
      +      }
         }
         
         /**
      @@ -310,7 +680,9 @@ public class StyleSheet extends StyleContext
         public void addCSSAttribute(MutableAttributeSet attr, CSS.Attribute key,
                                     String value)
         {
      -    attr.addAttribute(key, value);
      +    Object val = CSS.getValue(key, value);
      +    CSS.addInternal(attr, key, value);
      +    attr.addAttribute(key, val);
         }
         
         /**
      @@ -340,8 +712,90 @@ public class StyleSheet extends StyleContext
          */
         public AttributeSet translateHTMLToCSS(AttributeSet htmlAttrSet)
         {
      -    // FIXME: Not implemented.
      -    return null;    
      +    AttributeSet cssAttr = htmlAttrSet.copyAttributes();
      +
      +    // The HTML align attribute maps directly to the CSS text-align attribute.
      +    Object o = htmlAttrSet.getAttribute(HTML.Attribute.ALIGN);
      +    if (o != null)
      +      cssAttr = addAttribute(cssAttr, CSS.Attribute.TEXT_ALIGN, o);
      +
      +    // The HTML width attribute maps directly to CSS width.
      +    o = htmlAttrSet.getAttribute(HTML.Attribute.WIDTH);
      +    if (o != null)
      +      cssAttr = addAttribute(cssAttr, CSS.Attribute.WIDTH,
      +                             new Length(o.toString()));
      +
      +    // The HTML height attribute maps directly to CSS height.
      +    o = htmlAttrSet.getAttribute(HTML.Attribute.HEIGHT);
      +    if (o != null)
      +      cssAttr = addAttribute(cssAttr, CSS.Attribute.HEIGHT,
      +                             new Length(o.toString()));
      +
      +    o = htmlAttrSet.getAttribute(HTML.Attribute.NOWRAP);
      +    if (o != null)
      +      cssAttr = addAttribute(cssAttr, CSS.Attribute.WHITE_SPACE, "nowrap");
      +
      +    // Map cellspacing attr of tables to CSS border-spacing.
      +    o = htmlAttrSet.getAttribute(HTML.Attribute.CELLSPACING);
      +    if (o != null)
      +      cssAttr = addAttribute(cssAttr, CSS.Attribute.BORDER_SPACING,
      +                             new Length(o.toString()));
      +
      +    // For table cells and headers, fetch the cellpadding value from the
      +    // parent table and set it as CSS padding attribute.
      +    HTML.Tag tag = (HTML.Tag)
      +                   htmlAttrSet.getAttribute(StyleConstants.NameAttribute);
      +    if ((tag == HTML.Tag.TD || tag == HTML.Tag.TH)
      +        && htmlAttrSet instanceof Element)
      +      {
      +        Element el = (Element) htmlAttrSet;
      +        AttributeSet tableAttrs = el.getParentElement().getParentElement()
      +                                  .getAttributes();
      +        o = tableAttrs.getAttribute(HTML.Attribute.CELLPADDING);
      +        if (o != null)
      +          {
      +            Length l = new Length(o.toString());
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.PADDING_BOTTOM, l);
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.PADDING_LEFT, l);
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.PADDING_RIGHT, l);
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.PADDING_TOP, l);
      +          }
      +        o = tableAttrs.getAttribute(HTML.Attribute.BORDER);
      +        cssAttr = translateBorder(cssAttr, o);
      +      }
      +
      +    // Translate border attribute.
      +    o = cssAttr.getAttribute(HTML.Attribute.BORDER);
      +    cssAttr = translateBorder(cssAttr, o);
      +
      +    // TODO: Add more mappings.
      +    return cssAttr;
      +  }
      +
      +  /**
      +   * Translates a HTML border attribute to a corresponding set of CSS
      +   * attributes.
      +   *
      +   * @param cssAttr the original set of CSS attributes to add to 
      +   * @param o the value of the border attribute
      +   *
      +   * @return the new set of CSS attributes
      +   */
      +  private AttributeSet translateBorder(AttributeSet cssAttr, Object o)
      +  {
      +    if (o != null)
      +      {
      +        BorderWidth l = new BorderWidth(o.toString());
      +        if (l.getValue() > 0)
      +          {
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.BORDER_WIDTH, l);
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.BORDER_STYLE,
      +                                   "solid");
      +            cssAttr = addAttribute(cssAttr, CSS.Attribute.BORDER_COLOR,
      +                                   new CSSColor("black"));
      +          }
      +      }
      +    return cssAttr;
         }
       
         /**
      @@ -416,10 +870,10 @@ public class StyleSheet extends StyleContext
          * @param names - the attribute names
          * @return the update attribute set
          */
      -  public AttributeSet removeAttributes(AttributeSet old, Enumeration names)
      +  public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
         {
           // FIXME: Not implemented.
      -    return super.removeAttributes(old, names);        
      +    return super.removeAttributes(old, names);
         }
         
         /**
      @@ -455,9 +909,95 @@ public class StyleSheet extends StyleContext
          */
         public Font getFont(AttributeSet a)
         {
      -    return super.getFont(a);    
      +    int realSize = getFontSize(a);
      +
      +    // Decrement size for subscript and superscript.
      +    Object valign = a.getAttribute(CSS.Attribute.VERTICAL_ALIGN);
      +    if (valign != null)
      +      {
      +        String v = valign.toString();
      +        if (v.contains("sup") || v.contains("sub"))
      +          realSize -= 2;
      +      }
      +
      +    // TODO: Convert font family.
      +    String family = "SansSerif";
      +
      +    int style = Font.PLAIN;
      +    FontWeight weight = (FontWeight) a.getAttribute(CSS.Attribute.FONT_WEIGHT);
      +    if (weight != null)
      +      style |= weight.getValue();
      +    FontStyle fStyle = (FontStyle) a.getAttribute(CSS.Attribute.FONT_STYLE);
      +    if (fStyle != null)
      +      style |= fStyle.getValue();
      +    return new Font(family, style, realSize);
         }
      -  
      +
      +  /**
      +   * Determines the EM base value based on the specified attributes.
      +   *
      +   * @param atts the attibutes
      +   *
      +   * @return the EM base value
      +   */
      +  float getEMBase(AttributeSet atts)
      +  {
      +    Font font = getFont(atts);
      +    FontRenderContext ctx = new FontRenderContext(null, false, false);
      +    Rectangle2D bounds = font.getStringBounds("M", ctx);
      +    return (float) bounds.getWidth();
      +  }
      +
      +  /**
      +   * Determines the EX base value based on the specified attributes.
      +   *
      +   * @param atts the attibutes
      +   *
      +   * @return the EX base value
      +   */
      +  float getEXBase(AttributeSet atts)
      +  {
      +    Font font = getFont(atts);
      +    FontRenderContext ctx = new FontRenderContext(null, false, false);
      +    Rectangle2D bounds = font.getStringBounds("x", ctx);
      +    return (float) bounds.getHeight();
      +  }
      +
      +  /**
      +   * Resolves the fontsize for a given set of attributes.
      +   *
      +   * @param atts the attributes
      +   *
      +   * @return the resolved font size
      +   */
      +  private int getFontSize(AttributeSet atts)
      +  {
      +    int size = 12;
      +    if (atts.isDefined(CSS.Attribute.FONT_SIZE))
      +      {
      +        FontSize fs = (FontSize) atts.getAttribute(CSS.Attribute.FONT_SIZE);
      +        if (fs.isRelative())
      +          {
      +            int parSize = 12;
      +            AttributeSet resolver = atts.getResolveParent();
      +            if (resolver != null)
      +              parSize = getFontSize(resolver);
      +            size = fs.getValue(parSize); 
      +          }
      +        else
      +          {
      +            size = fs.getValue();
      +          }
      +      }
      +    else
      +      {
      +        AttributeSet resolver = atts.getResolveParent();
      +        if (resolver != null)
      +          size = getFontSize(resolver);
      +      }
      +    return size;
      +  }
      +
         /**
          * Takes a set of attributes and turns it into a foreground
          * color specification. This is used to specify things like, brigher, more hue
      @@ -468,7 +1008,11 @@ public class StyleSheet extends StyleContext
          */
         public Color getForeground(AttributeSet a)
         {
      -    return super.getForeground(a);     
      +    CSSColor c = (CSSColor) a.getAttribute(CSS.Attribute.COLOR);
      +    Color color = null;
      +    if (c != null)
      +      color = c.getValue();
      +    return color;     
         }
         
         /**
      @@ -481,7 +1025,11 @@ public class StyleSheet extends StyleContext
          */
         public Color getBackground(AttributeSet a)
         {
      -    return super.getBackground(a);     
      +    CSSColor c = (CSSColor) a.getAttribute(CSS.Attribute.BACKGROUND_COLOR);
      +    Color color = null;
      +    if (c != null)
      +      color = c.getValue();
      +    return color;     
         }
         
         /**
      @@ -492,7 +1040,7 @@ public class StyleSheet extends StyleContext
          */
         public BoxPainter getBoxPainter(AttributeSet a)
         {
      -    return new BoxPainter(a);     
      +    return new BoxPainter(a, this);     
         }
         
         /**
      @@ -503,7 +1051,7 @@ public class StyleSheet extends StyleContext
          */
         public ListPainter getListPainter(AttributeSet a)
         {
      -    return new ListPainter(a);         
      +    return new ListPainter(a, this);         
         }
         
         /**
      @@ -595,7 +1143,7 @@ public class StyleSheet extends StyleContext
          */
         public Color stringToColor(String colorName)
         {
      -    return CharacterAttributeTranslator.getColor(colorName);
      +    return CSSColor.convertValue(colorName);
         }
         
         /**
      @@ -609,22 +1157,112 @@ public class StyleSheet extends StyleContext
          */
         public static class BoxPainter extends Object implements Serializable
         {
      -    
      +
           /**
      -     * Attribute set for painter
      +     * The left inset.
            */
      -    AttributeSet as;
      -    
      +    private float leftInset;
      +
      +    /**
      +     * The right inset.
      +     */
      +    private float rightInset;
      +
      +    /**
      +     * The top inset.
      +     */
      +    private float topInset;
      +
      +    /**
      +     * The bottom inset.
      +     */
      +    private float bottomInset;
      +
      +    /**
      +     * The border of the box.
      +     */
      +    private Border border;
      +
      +    private float leftPadding;
      +    private float rightPadding;
      +    private float topPadding;
      +    private float bottomPadding;
      +
      +    /**
      +     * The background color.
      +     */
      +    private Color background;
      +
           /**
            * Package-private constructor.
            * 
            * @param as - AttributeSet for painter
            */
      -    BoxPainter(AttributeSet as)
      +    BoxPainter(AttributeSet as, StyleSheet ss)
           {
      -      this.as = as;
      +      float emBase = ss.getEMBase(as);
      +      float exBase = ss.getEXBase(as);
      +      // Fetch margins.
      +      Length l = (Length) as.getAttribute(CSS.Attribute.MARGIN_LEFT);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          leftInset = l.getValue();
      +        }
      +      l = (Length) as.getAttribute(CSS.Attribute.MARGIN_RIGHT);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          rightInset = l.getValue();
      +        }
      +      l = (Length) as.getAttribute(CSS.Attribute.MARGIN_TOP);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          topInset = l.getValue();
      +        }
      +      l = (Length) as.getAttribute(CSS.Attribute.MARGIN_BOTTOM);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          bottomInset = l.getValue();
      +        }
      +
      +      // Fetch padding.
      +      l = (Length) as.getAttribute(CSS.Attribute.PADDING_LEFT);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          leftPadding = l.getValue();
      +        }
      +      l = (Length) as.getAttribute(CSS.Attribute.PADDING_RIGHT);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          rightPadding = l.getValue();
      +        }
      +      l = (Length) as.getAttribute(CSS.Attribute.PADDING_TOP);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          topPadding = l.getValue();
      +        }
      +      l = (Length) as.getAttribute(CSS.Attribute.PADDING_BOTTOM);
      +      if (l != null)
      +        {
      +          l.setFontBases(emBase, exBase);
      +          bottomPadding = l.getValue();
      +        }
      +
      +      // Determine border.
      +      border = new CSSBorder(as, ss);
      +
      +      // Determine background.
      +      background = ss.getBackground(as);
      +
           }
           
      +    
           /**
            * Gets the inset needed on a given side to account for the margin, border
            * and padding.
      @@ -638,8 +1276,37 @@ public class StyleSheet extends StyleContext
            */
           public float getInset(int size, View v)
           {
      -      // FIXME: Not implemented.
      -      return 0;       
      +      float inset;
      +      switch (size)
      +        {
      +        case View.TOP:
      +          inset = topInset;
      +          if (border != null)
      +            inset += border.getBorderInsets(null).top;
      +          inset += topPadding;
      +          break;
      +        case View.BOTTOM:
      +          inset = bottomInset;
      +          if (border != null)
      +            inset += border.getBorderInsets(null).bottom;
      +          inset += bottomPadding;
      +          break;
      +        case View.LEFT:
      +          inset = leftInset;
      +          if (border != null)
      +            inset += border.getBorderInsets(null).left;
      +          inset += leftPadding;
      +          break;
      +        case View.RIGHT:
      +          inset = rightInset;
      +          if (border != null)
      +            inset += border.getBorderInsets(null).right;
      +          inset += rightPadding;
      +          break;
      +        default:
      +          inset = 0.0F;
      +      }
      +      return inset;
           }
           
           /**
      @@ -655,7 +1322,19 @@ public class StyleSheet extends StyleContext
            */
           public void paint(Graphics g, float x, float y, float w, float h, View v)
           {
      -      // FIXME: Not implemented.
      +      int inX = (int) (x + leftInset);
      +      int inY = (int) (y + topInset);
      +      int inW = (int) (w - leftInset - rightInset);
      +      int inH = (int) (h - topInset - bottomInset);
      +      if (background != null)
      +        {
      +          g.setColor(background);
      +          g.fillRect(inX, inY, inW, inH);
      +        }
      +      if (border != null)
      +        {
      +          border.paintBorder(null, g, inX, inY, inW, inH);
      +        }
           }
         }
         
      @@ -666,24 +1345,41 @@ public class StyleSheet extends StyleContext
          * 
          * @author Lillian Angel (langel@redhat.com)
          */
      -  public static class ListPainter extends Object implements Serializable
      +  public static class ListPainter implements Serializable
         {
      -    
      +
           /**
            * Attribute set for painter
            */
      -    AttributeSet as;
      -    
      +    private AttributeSet attributes;
      +
      +    /**
      +     * The associated style sheet.
      +     */
      +    private StyleSheet styleSheet;
      +
      +    /**
      +     * The bullet type.
      +     */
      +    private String type;
      +
           /**
            * Package-private constructor.
            * 
            * @param as - AttributeSet for painter
            */
      -    ListPainter(AttributeSet as)
      +    ListPainter(AttributeSet as, StyleSheet ss)
           {
      -      this.as = as;
      +      attributes = as;
      +      styleSheet = ss;
      +      type = (String) as.getAttribute(CSS.Attribute.LIST_STYLE_TYPE);
           }
      -    
      +
      +    /**
      +     * Cached rectangle re-used in the paint method below.
      +     */
      +    private final Rectangle tmpRect = new Rectangle();
      +
           /**
            * Paints the CSS list decoration according to the attributes given.
            * 
      @@ -698,210 +1394,66 @@ public class StyleSheet extends StyleContext
           public void paint(Graphics g, float x, float y, float w, float h, View v,
                             int item)
           {
      -      // FIXME: Not implemented.
      -    }
      -  }
      -  
      -  /**
      -   * The parser callback for the CSSParser.
      -   */
      -  class CssParser implements CSSParser.CSSParserCallback
      -  {
      -    /** 
      -     * A vector of all the selectors. 
      -     * Each element is an array of all the selector tokens 
      -     * in a single rule. 
      -     */
      -    Vector selectors;
      -
      -    /** A vector of all the selector tokens in a rule. */
      -    Vector selectorTokens;
      -
      -    /**  Name of the current property. */
      -    String propertyName;
      -
      -    /** The set of CSS declarations */
      -    MutableAttributeSet declaration;
      -
      -    /** 
      -     * True if parsing a declaration, that is the Reader will not 
      -     * contain a selector. 
      -     */
      -    boolean parsingDeclaration;
      -
      -    /** True if the attributes are coming from a linked/imported style. */
      -    boolean isLink;
      -
      -    /** The base URL */
      -    URL base;
      -
      -    /** The parser */
      -    CSSParser parser;
      -
      -    /**
      -     * Constructor
      -     */
      -    CssParser()
      -    {
      -      selectors = new Vector();
      -      selectorTokens = new Vector();
      -      parser = new CSSParser();
      -      base = StyleSheet.this.base;
      -      declaration = new SimpleAttributeSet();
      -    }
      -
      -    /**
      -     * Parses the passed in CSS declaration into an AttributeSet.
      -     * 
      -     * @param s - the declaration
      -     * @return the set of attributes containing the property and value.
      -     */
      -    public AttributeSet parseDeclaration(String s)
      -    {
      -      try
      -      {
      -        return parseDeclaration(new StringReader(s));
      -      }
      -      catch (IOException e)
      -      {
      -         // Do nothing here.
      -      }
      -      return null;
      -    }
      -
      -    /**
      -     * Parses the passed in CSS declaration into an AttributeSet.
      -     * 
      -     * @param r - the reader
      -     * @return the attribute set
      -     * @throws IOException from the reader
      -     */
      -    public AttributeSet parseDeclaration(Reader r) throws IOException
      -    {
      -      parse(base, r, true, false);
      -      return declaration;
      -    }
      -
      -    /**
      -     * Parse the given CSS stream
      -     * 
      -     * @param base - the url
      -     * @param r - the reader
      -     * @param parseDec - True if parsing a declaration
      -     * @param isLink - True if parsing a link
      -     */
      -   public void parse(URL base, Reader r, boolean parseDec, boolean isLink) throws IOException
      -   {
      -     parsingDeclaration = parseDec;
      -     this.isLink = isLink;
      -     this.base = base;
      -     
      -     // flush out all storage
      -     propertyName = null;
      -     selectors.clear();
      -     selectorTokens.clear();
      -     declaration.removeAttributes(declaration);
      -     
      -     parser.parse(r, this, parseDec);
      -   }
      -
      -   /**
      -    * Invoked when a valid @import is encountered, 
      -    * will call importStyleSheet if a MalformedURLException 
      -    * is not thrown in creating the URL.
      -    *
      -    * @param s - the string after @import
      -    */ 
      -   public void handleImport(String s)
      -    {
      -      if (s != null)
      +      // FIXME: This is a very simplistic list rendering. We still need
      +      // to implement different bullet types (see type field) and custom
      +      // bullets via images.
      +      View itemView = v.getView(item);
      +      AttributeSet viewAtts = itemView.getAttributes();
      +      Object tag = viewAtts.getAttribute(StyleConstants.NameAttribute);
      +      // Only paint something here when the child view is an LI tag
      +      // and the calling view is some of the list tags then).
      +      if (tag != null && tag == HTML.Tag.LI)
               {
      -          try
      +          g.setColor(Color.BLACK);
      +          int centerX = (int) (x - 12);
      +          int centerY = -1;
      +          // For paragraphs (almost all cases) center bullet vertically
      +          // in the middle of the first line.
      +          tmpRect.setBounds((int) x, (int) y, (int) w, (int) h);
      +          if (itemView.getViewCount() > 0)
                   {
      -              if (s.startsWith("url(") && s.endsWith(")"))
      -                s = s.substring(4, s.length() - 1);
      -              if (s.indexOf("\"") >= 0)
      -                s = s.replaceAll("\"","");
      -
      -              URL url = new URL(s);
      -              if (url == null && base != null)
      -                url = new URL(base, s);
      -              
      -              importStyleSheet(url);
      +              View v1 = itemView.getView(0);
      +              if (v1 instanceof ParagraphView && v1.getViewCount() > 0)
      +                {             
      +                  Shape a1 = itemView.getChildAllocation(0, tmpRect);
      +                  Rectangle r1 = a1 instanceof Rectangle ? (Rectangle) a1
      +                                                         : a1.getBounds();
      +                  ParagraphView par = (ParagraphView) v1;
      +                  Shape a = par.getChildAllocation(0, r1);
      +                  if (a != null)
      +                    {
      +                      Rectangle r = a instanceof Rectangle ? (Rectangle) a
      +                                                           : a.getBounds();
      +                      centerY = (int) (r.height / 2 + r.y);
      +                    }
      +                }
                   }
      -          catch (MalformedURLException e)
      +          if (centerY == -1)
                   {
      -              // Do nothing here.
      +              centerY =(int) (h / 2 + y);
                   }
      +          g.fillOval(centerX - 3, centerY - 3, 6, 6);
               }
           }
      +  }
       
      -   /**
      -     * A selector has been encountered.
      -     * 
      -     * @param s - a selector (e.g. P or UL or even P,)
      -     */
      -   public void handleSelector(String s)
      -   {
      -     if (s.endsWith(","))
      -       s = s.substring(0, s.length() - 1);
      -     
      -     selectorTokens.addElement(s);
      -     addSelector();
      -   }
      -
      -   /**
      -    * Invoked when the start of a rule is encountered.
      -    */
      -   public void startRule()
      -   {
      -     addSelector();
      -   }
      -
      -   /**
      -    * Invoked when a property name is encountered.
      -    *
      -    * @param s - the property
      -    */
      -   public void handleProperty(String s)
      -   {
      -     propertyName = s;
      -   }
      -
      -  /**
      -   * Invoked when a property value is encountered.
      +  /**
      +   * Converts an AttributeSet to a Map. This is used for CSS resolving.
          *
      -   * @param s - the value
      -   */
      -   public void handleValue(String s)
      -   {
      -     // call addCSSAttribute
      -     // FIXME: Not implemented
      -   }
      -   
      -   /**
      -    * Invoked when the end of a rule is encountered.
      -    */
      -   public void endRule()
      -   {
      -     // FIXME: Not implemented
      -     // add rules
      -     propertyName = null;
      -   }
      -
      -   /**
      -    * Adds the selector to the vector.
      -    */
      -   private void addSelector()
      -   {
      -     int length = selectorTokens.size();
      -     if (length > 0)
      -       {
      -         Object[] sel = new Object[length];
      -         System.arraycopy(selectorTokens.toArray(), 0, sel, 0, length);
      -         selectors.add(sel);
      -         selectorTokens.clear();
      -       }
      -   }
      +   * @param atts the attributes to convert
      +   *
      +   * @return the converted map
      +   */
      +  private Map attributeSetToMap(AttributeSet atts)
      +  {
      +    HashMap map = new HashMap();
      +    Enumeration keys = atts.getAttributeNames();
      +    while (keys.hasMoreElements())
      +      {
      +        Object key = keys.nextElement();
      +        Object value = atts.getAttribute(key);
      +        map.put(key.toString(), value.toString());
      +      }
      +    return map;
         }
       }
      diff --git a/libjava/classpath/javax/swing/text/html/TableView.java b/libjava/classpath/javax/swing/text/html/TableView.java
      index c2edc8cdd64..f87d7b35fc5 100644
      --- a/libjava/classpath/javax/swing/text/html/TableView.java
      +++ b/libjava/classpath/javax/swing/text/html/TableView.java
      @@ -38,49 +38,318 @@ exception statement from your version. */
       
       package javax.swing.text.html;
       
      -import javax.swing.text.Document;
      +import java.awt.Graphics;
      +import java.awt.Rectangle;
      +import java.awt.Shape;
      +
      +import gnu.javax.swing.text.html.css.Length;
      +
      +import javax.swing.SizeRequirements;
      +import javax.swing.event.DocumentEvent;
      +import javax.swing.text.AttributeSet;
       import javax.swing.text.Element;
      +import javax.swing.text.StyleConstants;
       import javax.swing.text.View;
       import javax.swing.text.ViewFactory;
       
       /**
      - * A conrete implementation of TableView that renders HTML tables.
      - * 
      - * @author Roman Kennke (kennke@aicas.com)
      + * A view implementation that renders HTML tables.
      + *
      + * This is basically a vertical BoxView that contains the rows of the table
      + * and the rows are horizontal BoxViews that contain the actual columns.
        */
       class TableView
      -    extends javax.swing.text.TableView
      +  extends BlockView
      +  implements ViewFactory
       {
      +
         /**
          * Represents a single table row.
          */
      -  public class RowView extends TableRow
      +  class RowView
      +    extends BlockView
         {
           /**
      -     * Creates a new instance of the <code>RowView</code>.
      +     * Has true at column positions where an above row's cell overlaps into
      +     * this row.
      +     */
      +    boolean[] overlap;
      +
      +    /**
      +     * Stores the row index of this row.
      +     */
      +    int rowIndex;
      +
      +    /**
      +     * Creates a new RowView.
            *
      -     * @param el the element for which to create a row view
      +     * @param el the element for the row view
      +     */
      +    RowView(Element el)
      +    {
      +      super(el, X_AXIS);
      +    }
      +
      +    public void replace(int offset, int len, View[] views)
      +    {
      +      gridValid = false;
      +      super.replace(offset, len, views);
      +    }
      +
      +    /**
      +     * Overridden to make rows not resizable along the Y axis.
      +     */
      +    public float getMaximumSpan(int axis)
      +    {
      +      float span;
      +      if (axis == Y_AXIS)
      +        span = super.getPreferredSpan(axis);
      +      else
      +        span = Integer.MAX_VALUE;
      +      return span;
      +    }
      +
      +    public float getMinimumSpan(int axis)
      +    {
      +      float span;
      +      if (axis == X_AXIS)
      +        span = totalColumnRequirements.minimum;
      +      else
      +        span = super.getMinimumSpan(axis);
      +      return span;
      +    }
      +
      +    public float getPreferredSpan(int axis)
      +    {
      +      float span;
      +      if (axis == X_AXIS)
      +        span = totalColumnRequirements.preferred;
      +      else
      +        span = super.getPreferredSpan(axis);
      +      return span;
      +    }
      +
      +    /**
      +     * Calculates the overall size requirements for the row along the
      +     * major axis. This will be the sum of the column requirements.
      +     */
      +    protected SizeRequirements calculateMajorAxisRequirements(int axis,
      +                                                            SizeRequirements r)
      +    {
      +      if (r == null)
      +        r = new SizeRequirements();
      +      int adjust = (columnRequirements.length + 1) * cellSpacing;
      +      r.minimum = totalColumnRequirements.minimum + adjust;
      +      r.preferred = totalColumnRequirements.preferred + adjust;
      +      r.maximum = totalColumnRequirements.maximum + adjust;
      +      r.alignment = 0.0F;
      +      return r;
      +    }
      +
      +    /**
      +     * Lays out the columns in this row.
            */
      -    public RowView(Element el)
      +    protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets,
      +                                   int spans[])
           {
      -      super(el);
      +      super.layoutMinorAxis(targetSpan, axis, offsets, spans);
      +
      +      // Adjust columns that have rowSpan > 1.
      +      int numCols = getViewCount();
      +      for (int i = 0; i < numCols; i++)
      +        {
      +          View v = getView(i);
      +          if (v instanceof CellView)
      +            {
      +              CellView cell = (CellView) v;
      +              if (cell.rowSpan > 1)
      +                {
      +                  for (int r = 1; r < cell.rowSpan; r++)
      +                    {
      +                      spans[i] += TableView.this.getSpan(axis, rowIndex + r);
      +                      spans[i] += cellSpacing;
      +                    }
      +                }
      +            }
      +        }
           }
      -    
      +
      +    /**
      +     * Lays out the columns in this row.
      +     */
      +    protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets,
      +                                   int spans[])
      +    {
      +      updateGrid();
      +      int numCols = offsets.length;
      +      int realColumn = 0;
      +      int colCount = getViewCount();
      +      for (int i = 0; i < numColumns;)
      +        {
      +          if (! overlap[i] && realColumn < colCount)
      +            {
      +              View v = getView(realColumn);
      +              if (v instanceof CellView)
      +                {
      +                  CellView cv = (CellView) v;
      +                  offsets[realColumn] = columnOffsets[i];
      +                  spans[realColumn] = 0;
      +                  for (int j = 0; j < cv.colSpan; j++, i++)
      +                    {
      +                      spans[realColumn] += columnSpans[i];
      +                      if (j < cv.colSpan - 1)
      +                        spans[realColumn] += cellSpacing;
      +                    }
      +                }
      +              realColumn++;
      +            }
      +          else
      +            {
      +              i++;
      +            }
      +        }
      +    }
      +  }
      +
         /**
      -   * Get the associated style sheet from the document.
      -   * 
      -   * @return the associated style sheet.
      +   * A view that renders HTML table cells (TD and TH tags).
          */
      -    protected StyleSheet getStyleSheet()
      +  class CellView
      +    extends BlockView
      +  {
      +
      +    /**
      +     * The number of columns that this view spans.
      +     */
      +    int colSpan;
      +
      +    /**
      +     * The number of rows that this cell spans.
      +     */
      +    int rowSpan;
      +
      +    /**
      +     * Creates a new CellView for the specified element.
      +     *
      +     * @param el the element for which to create the colspan
      +     */
      +    CellView(Element el)
           {
      -      Document d = getElement().getDocument();
      -      if (d instanceof HTMLDocument)
      -        return ((HTMLDocument) d).getStyleSheet();
      -      else
      -        return null;
      -    }    
      +      super(el, Y_AXIS);
      +    }
      +
      +    protected SizeRequirements calculateMajorAxisRequirements(int axis,
      +                                                            SizeRequirements r)
      +    {
      +      r = super.calculateMajorAxisRequirements(axis, r);
      +      r.maximum = Integer.MAX_VALUE;
      +      return r;
      +    }
      +
      +    /**
      +     * Overridden to fetch the columnSpan attibute.
      +     */
      +    protected void setPropertiesFromAttributes()
      +    {
      +      super.setPropertiesFromAttributes();
      +      colSpan = 1;
      +      AttributeSet atts = getAttributes();
      +      Object o = atts.getAttribute(HTML.Attribute.COLSPAN);
      +      if (o != null)
      +        {
      +          try
      +            {
      +              colSpan = Integer.parseInt(o.toString());
      +            }
      +          catch (NumberFormatException ex)
      +            {
      +              // Couldn't parse the colspan, assume 1.
      +              colSpan = 1;
      +            }
      +        }
      +      rowSpan = 1;
      +      o = atts.getAttribute(HTML.Attribute.ROWSPAN);
      +      if (o != null)
      +        {
      +          try
      +            {
      +              rowSpan = Integer.parseInt(o.toString());
      +            }
      +          catch (NumberFormatException ex)
      +            {
      +              // Couldn't parse the colspan, assume 1.
      +              rowSpan = 1;
      +            }
      +        }
      +    }
         }
       
      +
      +  /**
      +   * The attributes of this view.
      +   */
      +  private AttributeSet attributes;
      +
      +  /**
      +   * The column requirements.
      +   *
      +   * Package private to avoid accessor methods.
      +   */
      +  SizeRequirements[] columnRequirements;
      +
      +  /**
      +   * The overall requirements across all columns.
      +   *
      +   * Package private to avoid accessor methods.
      +   */
      +  SizeRequirements totalColumnRequirements;
      +
      +  /**
      +   * The column layout, offsets.
      +   *
      +   * Package private to avoid accessor methods.
      +   */
      +  int[] columnOffsets;
      +
      +  /**
      +   * The column layout, spans.
      +   *
      +   * Package private to avoid accessor methods.
      +   */
      +  int[] columnSpans;
      +
      +  /**
      +   * The widths of the columns that have been explicitly specified.
      +   */
      +  Length[] columnWidths;
      +
      +  /**
      +   * The total number of columns.
      +   */
      +  int numColumns;
      +
      +  /**
      +   * The table width.
      +   */
      +  private Length width;
      +
      +  /**
      +   * Indicates if the grid setup is ok.
      +   */
      +  boolean gridValid = false;
      +
      +  /**
      +   * Additional space that is added _between_ table cells.
      +   *
      +   * This is package private to avoid accessor methods.
      +   */
      +  int cellSpacing;
      +
      +  /**
      +   * A cached Rectangle object for reuse in paint().
      +   */
      +  private Rectangle tmpRect;
      +
         /**
          * Creates a new HTML table view for the specified element.
          *
      @@ -88,50 +357,619 @@ class TableView
          */
         public TableView(Element el)
         {
      -    super(el);
      +    super(el, Y_AXIS);
      +    totalColumnRequirements = new SizeRequirements();
      +    tmpRect = new Rectangle();
         }
      -  
      +
         /**
      -   * Get the associated style sheet from the document.
      -   * 
      -   * @return the associated style sheet.
      +   * Implementation of the ViewFactory interface for creating the
      +   * child views correctly.
          */
      -  protected StyleSheet getStyleSheet()
      +  public View create(Element elem)
         {
      -    Document d = getElement().getDocument();
      -    if (d instanceof HTMLDocument)
      -      return ((HTMLDocument) d).getStyleSheet();
      +    View view = null;
      +    AttributeSet atts = elem.getAttributes();
      +    Object name = atts.getAttribute(StyleConstants.NameAttribute);
      +    AttributeSet pAtts = elem.getParentElement().getAttributes();
      +    Object pName = pAtts.getAttribute(StyleConstants.NameAttribute);
      +
      +    if (name == HTML.Tag.TR && pName == HTML.Tag.TABLE)
      +      view = new RowView(elem);
      +    else if ((name == HTML.Tag.TD || name == HTML.Tag.TH)
      +             && pName == HTML.Tag.TR)
      +      view = new CellView(elem);
      +    else if (name == HTML.Tag.CAPTION)
      +      view = new ParagraphView(elem);
           else
      -      return null;
      -  }  
      -  
      +      {
      +        // If we haven't mapped the element, then fall back to the standard
      +        // view factory.
      +        View parent = getParent();
      +        if (parent != null)
      +          {
      +            ViewFactory vf = parent.getViewFactory();
      +            if (vf != null)
      +              view = vf.create(elem);
      +          }
      +      }
      +    return view;
      +  }
      +
      +  /**
      +   * Returns this object as view factory so that we get our TR, TD, TH
      +   * and CAPTION subelements created correctly.
      +   */
      +  public ViewFactory getViewFactory()
      +  {
      +    return this;
      +  }
      +
      +  /**
      +   * Returns the attributes of this view. This is overridden to provide
      +   * the attributes merged with the CSS stuff.
      +   */
      +  public AttributeSet getAttributes()
      +  {
      +    if (attributes == null)
      +      attributes = getStyleSheet().getViewAttributes(this);
      +    return attributes;
      +  }
      +
      +  /**
      +   * Returns the stylesheet associated with this view.
      +   *
      +   * @return the stylesheet associated with this view
      +   */
      +  protected StyleSheet getStyleSheet()
      +  {
      +    HTMLDocument doc = (HTMLDocument) getDocument();
      +    return doc.getStyleSheet();
      +  }
      +
      +  /**
      +   * Overridden to calculate the size requirements according to the
      +   * columns distribution.
      +   */
      +  protected SizeRequirements calculateMinorAxisRequirements(int axis,
      +                                                            SizeRequirements r)
      +  {
      +    updateGrid();
      +    calculateColumnRequirements();
      +
      +    // Calculate the horizontal requirements according to the superclass.
      +    // This will return the maximum of the row's widths.
      +    r = super.calculateMinorAxisRequirements(axis, r);
      +
      +    // Try to set the CSS width if it fits.
      +    if (width != null)
      +      {
      +        int w = (int) width.getValue();
      +        if (r.minimum < w)
      +          r.minimum = w;
      +      }
      +
      +    // Adjust requirements when we have cell spacing.
      +    int adjust = (columnRequirements.length + 1) * cellSpacing;
      +    r.minimum += adjust;
      +    r.preferred += adjust;
      +
      +    // Apply the alignment.
      +    AttributeSet atts = getAttributes();
      +    Object o = atts.getAttribute(CSS.Attribute.TEXT_ALIGN);
      +    r.alignment = 0.0F;
      +    if (o != null)
      +      {
      +        String al = o.toString();
      +        if (al.equals("left"))
      +          r.alignment = 0.0F;
      +        else if (al.equals("center"))
      +          r.alignment = 0.5F;
      +        else if (al.equals("right"))
      +          r.alignment = 1.0F;
      +      }
      +
      +    // Make it not resize in the horizontal direction.
      +    r.maximum = r.preferred;
      +    return r;
      +  }
      +
      +  /**
      +   * Overridden to perform the table layout before calling the super
      +   * implementation.
      +   */
      +  protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, 
      +                                 int[] spans)
      +  {
      +    updateGrid();
      +
      +    // Mark all rows as invalid along their minor axis to force correct
      +    // layout of multi-row cells.
      +    int n = getViewCount();
      +    for (int i = 0; i < n; i++)
      +      {
      +        View row = getView(i);
      +        if (row instanceof RowView)
      +          ((RowView) row).layoutChanged(axis);
      +      }
      +
      +    layoutColumns(targetSpan);
      +    super.layoutMinorAxis(targetSpan, axis, offsets, spans);
      +  }
      +
      +  /**
      +   * Calculates the size requirements for the columns.
      +   */
      +  private void calculateColumnRequirements()
      +  {
      +    int numRows = getViewCount();
      +    totalColumnRequirements.minimum = 0;
      +    totalColumnRequirements.preferred = 0;
      +    totalColumnRequirements.maximum = 0;
      +
      +    // In this first pass we find out a suitable total width to fit in
      +    // all columns of all rows.
      +    for (int r = 0; r < numRows; r++)
      +      {
      +        View rowView = getView(r);
      +        int numCols;
      +        if (rowView instanceof RowView)
      +          numCols = ((RowView) rowView).getViewCount();
      +        else
      +          numCols = 0;
      +
      +        // We collect the normal (non-relative) column requirements in the
      +        // total variable and the relative requirements in the relTotal
      +        // variable. In the end we create the maximum of both to get the
      +        // real requirements.
      +        SizeRequirements total = new SizeRequirements();
      +        SizeRequirements relTotal = new SizeRequirements();
      +        float totalPercent = 0.F;
      +        int realCol = 0;
      +        for (int c = 0; c < numCols; c++)
      +          {
      +            View v = rowView.getView(c);
      +            if (v instanceof CellView)
      +              {
      +                CellView cellView = (CellView) v;
      +                int colSpan = cellView.colSpan;
      +                if (colSpan > 1)
      +                  {
      +                    int cellMin = (int) cellView.getMinimumSpan(X_AXIS);
      +                    int cellPref = (int) cellView.getPreferredSpan(X_AXIS);
      +                    int cellMax = (int) cellView.getMaximumSpan(X_AXIS);
      +                    int currentMin = 0;
      +                    int currentPref = 0;
      +                    long currentMax = 0;
      +                    for (int i = 0; i < colSpan; i++)
      +                      {
      +                        SizeRequirements req = columnRequirements[realCol];
      +                        currentMin += req.minimum;
      +                        currentPref += req.preferred;
      +                        currentMax += req.maximum;
      +                      }
      +                    int deltaMin = cellMin - currentMin;
      +                    int deltaPref = cellPref - currentPref;
      +                    int deltaMax = (int) (cellMax - currentMax);
      +                    // Distribute delta.
      +                    for (int i = 0; i < colSpan; i++)
      +                      {
      +                        SizeRequirements req = columnRequirements[realCol];
      +                        if (deltaMin > 0)
      +                          req.minimum += deltaMin / colSpan;
      +                        if (deltaPref > 0)
      +                          req.preferred += deltaPref / colSpan;
      +                        if (deltaMax > 0)
      +                          req.maximum += deltaMax / colSpan;
      +                        if (columnWidths[realCol] == null
      +                            || ! columnWidths[realCol].isPercentage())
      +                          {
      +                            total.minimum += req.minimum;
      +                            total.preferred += req.preferred;
      +                            total.maximum += req.maximum;
      +                          }
      +                        else
      +                          {
      +                            relTotal.minimum =
      +                              Math.max(relTotal.minimum,
      +                                     (int) (req.minimum
      +                                          * columnWidths[realCol].getValue()));
      +                            relTotal.preferred =
      +                              Math.max(relTotal.preferred,
      +                                     (int) (req.preferred
      +                                          * columnWidths[realCol].getValue()));
      +                            relTotal.maximum =
      +                              Math.max(relTotal.maximum,
      +                                     (int) (req.maximum
      +                                          * columnWidths[realCol].getValue()));
      +                            totalPercent += columnWidths[realCol].getValue();
      +                          }
      +                      }
      +                    realCol += colSpan;
      +                  }
      +                else
      +                  {
      +                    // Shortcut for colSpan == 1.
      +                    SizeRequirements req = columnRequirements[realCol];
      +                    req.minimum = Math.max(req.minimum,
      +                                        (int) cellView.getMinimumSpan(X_AXIS));
      +                    req.preferred = Math.max(req.preferred,
      +                                      (int) cellView.getPreferredSpan(X_AXIS));
      +                    req.maximum = Math.max(req.maximum,
      +                                        (int) cellView.getMaximumSpan(X_AXIS));
      +                    if (columnWidths[realCol] == null
      +                        || ! columnWidths[realCol].isPercentage())
      +                      {
      +                        total.minimum += columnRequirements[realCol].minimum;
      +                        total.preferred +=
      +                          columnRequirements[realCol].preferred;
      +                        total.maximum += columnRequirements[realCol].maximum;
      +                      }
      +                    else
      +                      {
      +                        relTotal.minimum =
      +                          Math.max(relTotal.minimum,
      +                                 (int) (req.minimum
      +                                        / columnWidths[c].getValue()));
      +                        relTotal.preferred =
      +                          Math.max(relTotal.preferred,
      +                                 (int) (req.preferred
      +                                        / columnWidths[c].getValue()));
      +                        relTotal.maximum =
      +                          Math.max(relTotal.maximum,
      +                                 (int) (req.maximum
      +                                        / columnWidths[c].getValue()));
      +                        totalPercent += columnWidths[c].getValue();
      +                      }
      +                    realCol += 1;
      +                  }
      +              }
      +          }
      +
      +        // Update the total requirements as follows:
      +        // 1. Multiply the absolute requirements with 1 - totalPercent. This
      +        //    gives the total requirements based on the wishes of the absolute
      +        //    cells.
      +        // 2. Take the maximum of this value and the total relative
      +        //    requirements. Now we should have enough space for whatever cell
      +        //    in this column.
      +        // 3. Take the maximum of this value and the previous maximum value.
      +        total.minimum *= 1.F / (1.F - totalPercent);
      +        total.preferred *= 1.F / (1.F - totalPercent);
      +        total.maximum *= 1.F / (1.F - totalPercent);
      +
      +        int rowTotalMin = Math.max(total.minimum, relTotal.minimum);
      +        int rowTotalPref = Math.max(total.preferred, relTotal.preferred);
      +        int rowTotalMax = Math.max(total.maximum, relTotal.maximum);
      +        totalColumnRequirements.minimum =
      +          Math.max(totalColumnRequirements.minimum, rowTotalMin);
      +        totalColumnRequirements.preferred =
      +          Math.max(totalColumnRequirements.preferred, rowTotalPref);
      +        totalColumnRequirements.maximum =
      +          Math.max(totalColumnRequirements.maximum, rowTotalMax);
      +      }
      +
      +    // Now we know what we want and can fix up the actual relative
      +    // column requirements.
      +    int numCols = columnRequirements.length;
      +    for (int i = 0; i < numCols; i++)
      +      {
      +        if (columnWidths[i] != null)
      +          {
      +            columnRequirements[i].minimum = (int)
      +              columnWidths[i].getValue(totalColumnRequirements.minimum);
      +            columnRequirements[i].preferred = (int)
      +              columnWidths[i].getValue(totalColumnRequirements.preferred);
      +            columnRequirements[i].maximum = (int)
      +              columnWidths[i].getValue(totalColumnRequirements.maximum);
      +          }
      +      }
      +  }
      +
         /**
      -   * Creates a view for a table row.
      -   * 
      -   * @param el the element that represents the table row
      -   * @return a view for rendering the table row 
      -   * (and instance of {@link RowView}).
      +   * Lays out the columns.
      +   *
      +   * @param targetSpan the target span into which the table is laid out
          */
      -  protected TableRow createTableRow(Element el) 
      +  private void layoutColumns(int targetSpan)
         {
      -    return new RowView(el);
      -  }  
      -  
      +    // Set the spans to the preferred sizes. Determine the space
      +    // that we have to adjust the sizes afterwards.
      +    long sumPref = 0;
      +    int n = columnRequirements.length;
      +    for (int i = 0; i < n; i++)
      +      {
      +        SizeRequirements col = columnRequirements[i];
      +        if (columnWidths[i] != null)
      +          columnSpans[i] = (int) columnWidths[i].getValue(targetSpan);
      +        else
      +          columnSpans[i] = col.preferred;
      +        sumPref += columnSpans[i];
      +      }
      +
      +    // Try to adjust the spans so that we fill the targetSpan.
      +    // For adjustments we have to use the targetSpan minus the cumulated
      +    // cell spacings.
      +    long diff = targetSpan - (n + 1) * cellSpacing - sumPref;
      +    float factor = 0.0F;
      +    int[] diffs = null;
      +    if (diff != 0)
      +      {
      +        long total = 0;
      +        diffs = new int[n];
      +        for (int i = 0; i < n; i++)
      +          {
      +            // Only adjust the width if we haven't set a column width here.
      +            if (columnWidths[i] == null)
      +              {
      +                SizeRequirements col = columnRequirements[i];
      +                int span;
      +                if (diff < 0)
      +                  {
      +                    span = col.minimum;
      +                    diffs[i] = columnSpans[i] - span;
      +                  }
      +                else
      +                  {
      +                    span = col.maximum;
      +                    diffs[i] = span - columnSpans[i];
      +                  }
      +                total += span;
      +              }
      +            else
      +              total += columnSpans[i];
      +          }
      +
      +        float maxAdjust = Math.abs(total - sumPref);
      +        factor = diff / maxAdjust;
      +        factor = Math.min(factor, 1.0F);
      +        factor = Math.max(factor, -1.0F);
      +      }
      +
      +    // Actually perform adjustments.
      +    int totalOffs = cellSpacing;
      +    for (int i = 0; i < n; i++)
      +      {
      +        columnOffsets[i] = totalOffs;
      +        if (diff != 0)
      +          {
      +            float adjust = factor * diffs[i];
      +            columnSpans[i] += Math.round(adjust);
      +          }
      +        // Avoid overflow here.
      +        totalOffs = (int) Math.min((long) totalOffs + (long) columnSpans[i]
      +                                   + (long) cellSpacing, Integer.MAX_VALUE);
      +      }
      +  }
      +
         /**
      -   * Loads the children of the Table. This completely bypasses the ViewFactory
      -   * and creates instances of TableRow instead.
      +   * Updates the arrays that contain the row and column data in response
      +   * to a change to the table structure.
          *
      -   * @param vf ignored
      +   * Package private to avoid accessor methods.
      +   */
      +  void updateGrid()
      +  {
      +    if (! gridValid)
      +      {
      +        AttributeSet atts = getAttributes();
      +        StyleSheet ss = getStyleSheet();
      +        float emBase = ss.getEMBase(atts);
      +        float exBase = ss.getEXBase(atts);
      +        int maxColumns = 0;
      +        int numRows = getViewCount();
      +        for (int r = 0; r < numRows; r++)
      +          {
      +            View rowView = getView(r);
      +            int numCols = 0;
      +            if (rowView instanceof RowView)
      +              {
      +                int numCells = ((RowView) rowView).getViewCount();
      +                for (int i = 0; i < numCells; i++)
      +                  {
      +                    View v = rowView.getView(i);
      +                    if (v instanceof CellView)
      +                      numCols += ((CellView) v).colSpan;
      +                  }
      +              }
      +            maxColumns = Math.max(numCols, maxColumns);
      +          }
      +        numColumns = maxColumns;
      +        columnWidths = new Length[maxColumns];
      +        int[] rowSpans = new int[maxColumns];
      +        for (int r = 0; r < numRows; r++)
      +          {
      +            View view = getView(r);
      +            if (view instanceof RowView)
      +              {
      +                RowView rowView = (RowView) view;
      +                rowView.rowIndex = r;
      +                rowView.overlap = new boolean[maxColumns];
      +                int colIndex = 0;
      +                int colCount = rowView.getViewCount();
      +                for (int c = 0; c < maxColumns;)
      +                  {
      +                    if (rowSpans[c] > 0)
      +                      {
      +                        rowSpans[c]--;
      +                        rowView.overlap[c] = true;
      +                        c++;
      +                      }
      +                    else if (colIndex < colCount)
      +                      {
      +                        View v = rowView.getView(colIndex);
      +                        colIndex++;
      +                        if (v instanceof CellView)
      +                          {
      +                            CellView cv = (CellView) v;
      +                            Object o =
      +                              cv.getAttributes().getAttribute(CSS.Attribute.WIDTH);
      +                            if (o != null && columnWidths[c] == null
      +                                && o instanceof Length)
      +                              {
      +                                columnWidths[c]= (Length) o;
      +                                columnWidths[c].setFontBases(emBase, exBase);
      +                              }
      +                            int rs = cv.rowSpan - 1;
      +                            for (int col = cv.colSpan - 1; col >= 0; col--)
      +                              {
      +                                rowSpans[c] = rs;
      +                                c++;
      +                              }
      +                          }
      +                      }
      +                    else
      +                      {
      +                        c++;
      +                      }
      +                  }
      +              }
      +          }
      +        columnRequirements = new SizeRequirements[maxColumns];
      +        for (int i = 0; i < maxColumns; i++)
      +          columnRequirements[i] = new SizeRequirements();
      +        columnOffsets = new int[maxColumns];
      +        columnSpans = new int[maxColumns];
      +
      +        gridValid = true;
      +      }
      +  }
      +
      +  /**
      +   * Overridden to restrict the table width to the preferred size.
      +   */
      +  public float getMaximumSpan(int axis)
      +  {
      +    float span;
      +    if (axis == X_AXIS)
      +      span = super.getPreferredSpan(axis);
      +    else
      +      span = super.getMaximumSpan(axis);
      +    return span;
      +  }
      +
      +  /**
      +   * Overridden to fetch the CSS attributes when view gets connected.
      +   */
      +  public void setParent(View parent)
      +  {
      +    super.setParent(parent);
      +    if (parent != null)
      +      setPropertiesFromAttributes();
      +  }
      +
      +  /**
      +   * Fetches CSS and HTML layout attributes.
      +   */
      +  protected void setPropertiesFromAttributes()
      +  {
      +    super.setPropertiesFromAttributes();
      +
      +    // Fetch and parse cell spacing.
      +    AttributeSet atts = getAttributes();
      +    StyleSheet ss = getStyleSheet();
      +    float emBase = ss.getEMBase(atts);
      +    float exBase = ss.getEXBase(atts);
      +    Object o = atts.getAttribute(CSS.Attribute.BORDER_SPACING);
      +    if (o != null && o instanceof Length)
      +      {
      +        Length l = (Length) o;
      +        l.setFontBases(emBase, exBase);
      +        cellSpacing = (int) l.getValue();
      +      }
      +    o = atts.getAttribute(CSS.Attribute.WIDTH);
      +    if (o != null && o instanceof Length)
      +      {
      +        width = (Length) o;
      +        width.setFontBases(emBase, exBase);
      +      }
      +  }
      +
      +  /**
      +   * Overridden to adjust for cellSpacing.
      +   */
      +  protected SizeRequirements calculateMajorAxisRequirements(int axis,
      +                                                            SizeRequirements r)
      +  {
      +    r = super.calculateMajorAxisRequirements(axis, r);
      +    int adjust = (getViewCount() + 1) * cellSpacing;
      +    r.minimum += adjust;
      +    r.preferred += adjust;
      +    r.maximum += adjust;
      +    return r;
      +  }
      +
      +  /**
      +   * Overridden to adjust for cellSpacing.
      +   */
      +  protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets,
      +                                 int spans[])
      +  {
      +    // Mark all rows as invalid along their minor axis to force correct
      +    // layout of multi-row cells.
      +    int n = getViewCount();
      +    for (int i = 0; i < n; i++)
      +      {
      +        View row = getView(i);
      +        if (row instanceof RowView)
      +          ((RowView) row).layoutChanged(axis);
      +      }
      +
      +    int adjust = (getViewCount() + 1) * cellSpacing;
      +    super.layoutMajorAxis(targetSpan - adjust, axis, offsets, spans);
      +    for (int i = 0; i < offsets.length; i++)
      +      {
      +        offsets[i] += (i + 1) * cellSpacing;
      +      }
      +  }
      +
      +  /**
      +   * Overridden to replace view factory with this one.
      +   */
      +  public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
      +  {
      +    super.insertUpdate(e, a, this);
      +  }
      +
      +  /**
      +   * Overridden to replace view factory with this one.
      +   */
      +  public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
      +  {
      +    super.removeUpdate(e, a, this);
      +  }
      +
      +  /**
      +   * Overridden to replace view factory with this one.
          */
      -  protected void loadChildren(ViewFactory vf)
      +  public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
         {
      -    Element el = getElement();
      -    int numChildren = el.getElementCount();
      -    View[] rows = new View[numChildren];
      -    for (int i = 0; i < numChildren; ++i)
      +    super.changedUpdate(e, a, this);
      +  }
      +
      +  public void replace(int offset, int len, View[] views)
      +  {
      +    gridValid = false;
      +    super.replace(offset, len, views);
      +  }
      +
      +  /**
      +   * We can't use the super class's paint() method because it might cut
      +   * off multi-row children. Instead we trigger painting for all rows
      +   * and let the rows sort out what to paint and what not.
      +   */
      +  public void paint(Graphics g, Shape a)
      +  {
      +    Rectangle rect = a instanceof Rectangle ? (Rectangle) a : a.getBounds();
      +    painter.paint(g, rect.x, rect.y, rect.width, rect.height, this);
      +    int nRows = getViewCount();
      +    Rectangle inside = getInsideAllocation(a);
      +    for (int r = 0; r < nRows; r++)
             {
      -        rows[i] = createTableRow(el.getElement(i));
      +        tmpRect.setBounds(inside);
      +        childAllocation(r, tmpRect);
      +        paintChild(g, tmpRect, r);
             }
      -    replace(0, getViewCount(), rows);
         }
      +
       }
      diff --git a/libjava/classpath/javax/swing/text/html/ViewAttributeSet.java b/libjava/classpath/javax/swing/text/html/ViewAttributeSet.java
      new file mode 100644
      index 00000000000..25db89fc405
      --- /dev/null
      +++ b/libjava/classpath/javax/swing/text/html/ViewAttributeSet.java
      @@ -0,0 +1,163 @@
      +/* ViewAttributeSet.java -- The AttributeSet used by HTML views
      +   Copyright (C) 2006 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. */
      +
      +
      +package javax.swing.text.html;
      +
      +import java.util.ArrayList;
      +import java.util.Enumeration;
      +
      +import javax.swing.text.AttributeSet;
      +import javax.swing.text.Element;
      +import javax.swing.text.StyleConstants;
      +import javax.swing.text.View;
      +
      +/**
      + * An AttributeSet implemenation that is used by the HTML views. This
      + * AttributeSet is created by StyleSheet.getViewAttributes() and combines
      + * the following attributes:
      + * - The original attributes of the View's element.
      + * - Any translated (HTML->CSS) attributes, as returned by
      + *   StyleSheet.translateHTMLToCS().
      + * - CSS Styles as resolved by the CSS stylesheet.
      + *
      + * In addition to that, it resolves attributes to the parent views, if
      + * a CSS attribute is requested that is inheritable.
      + *
      + * @author Roman Kennke (kennke@aicas.com)
      + */
      +class ViewAttributeSet
      +  extends MultiAttributeSet
      +{
      +
      +  /**
      +   * The view for which we are the AttributeSet.
      +   */
      +  private View view;
      +
      +  /**
      +   * The stylesheet to use.
      +   */
      +  private StyleSheet styleSheet;
      +
      +  /**
      +   * Creates a new instance.
      +   *
      +   * @param v the view for which to do the AttributeSet
      +   */
      +  ViewAttributeSet(View v, StyleSheet ss)
      +  {
      +    styleSheet = ss;
      +    view = v;
      +    ArrayList atts = new ArrayList();
      +
      +    Element el = v.getElement();
      +    AttributeSet elAtts = el.getAttributes();
      +    AttributeSet htmlAtts = styleSheet.translateHTMLToCSS(elAtts);
      +    if (htmlAtts.getAttributeCount() > 0)
      +      atts.add(htmlAtts);
      +
      +    if (el.isLeaf())
      +      {
      +        Enumeration n = elAtts.getAttributeNames();
      +        while (n.hasMoreElements())
      +          {
      +            Object key = n.nextElement();
      +            if (key instanceof HTML.Tag)
      +              {
      +                AttributeSet rule = styleSheet.getRule((HTML.Tag) key, el);
      +                if (rule != null)
      +                  atts.add(rule);
      +              }
      +          }
      +      }
      +    else
      +      {
      +        HTML.Tag tag =
      +          (HTML.Tag) elAtts.getAttribute(StyleConstants.NameAttribute);
      +        AttributeSet rule = styleSheet.getRule(tag, el); 
      +        if (rule != null)
      +          atts.add(rule);
      +      }
      +
      +    AttributeSet[] atts1 = new AttributeSet[atts.size()];
      +    atts1 = (AttributeSet[]) atts.toArray(atts1);
      +    init(atts1);
      +  }
      +
      +  /**
      +   * Fetches the attribute for the specific ckey. If the attribute
      +   * can't be found and the key is a CSS.Attribute that is inherited,
      +   * then the attribute is looked up in the resolve parent.
      +   */
      +  public Object getAttribute(Object key)
      +  {
      +    Object val = super.getAttribute(key);
      +    if (val == null)
      +      {
      +        // Didn't find value. If the key is a CSS.Attribute, and is
      +        // inherited, then ask the resolve parent.
      +        if (key instanceof CSS.Attribute)
      +          {
      +            CSS.Attribute cssKey = (CSS.Attribute) key;
      +            if (cssKey.isInherited())
      +              {
      +                AttributeSet resolveParent = getResolveParent();
      +                if (resolveParent != null)
      +                  val = resolveParent.getAttribute(cssKey);
      +              }
      +          }
      +      }
      +    return val;
      +  }
      +
      +  /**
      +   * Returns the resolve parent of this AttributeSet. This is the AttributeSet
      +   * returned by the parent view if available.
      +   */
      +  public AttributeSet getResolveParent()
      +  {
      +    AttributeSet parent = null;
      +    if (view != null)
      +      {
      +        View parentView = view.getParent();
      +        if (parentView != null)
      +          parent = parentView.getAttributes();
      +      }
      +    return parent;
      +  }
      +}
      diff --git a/libjava/classpath/javax/swing/text/html/parser/AttributeList.java b/libjava/classpath/javax/swing/text/html/parser/AttributeList.java
      index 5bca0bfa7db..d48266d4730 100644
      --- a/libjava/classpath/javax/swing/text/html/parser/AttributeList.java
      +++ b/libjava/classpath/javax/swing/text/html/parser/AttributeList.java
      @@ -122,7 +122,7 @@ public final class AttributeList
          * null, if this parameter was not specified.
          * Values, defined in DTD, are case insensitive.
          */
      -  public Vector values;
      +  public Vector<?> values;
       
         /**
          * The modifier of this attribute. This field contains one of the
      @@ -176,7 +176,7 @@ public final class AttributeList
          * Equals to null for the last attribute definition.
          */
         public AttributeList(String a_name, int a_type, int a_modifier,
      -                       String a_default, Vector allowed_values,
      +                       String a_default, Vector<?> allowed_values,
                              AttributeList a_next
                             )
         {
      @@ -251,7 +251,7 @@ public final class AttributeList
         /**
          * Get the allowed values of this attribute.
          */
      -  public Enumeration getValues()
      +  public Enumeration<?> getValues()
         {
           return values.elements();
         }
      diff --git a/libjava/classpath/javax/swing/text/html/parser/ContentModel.java b/libjava/classpath/javax/swing/text/html/parser/ContentModel.java
      index 70e9c2acbff..d5c4418de27 100644
      --- a/libjava/classpath/javax/swing/text/html/parser/ContentModel.java
      +++ b/libjava/classpath/javax/swing/text/html/parser/ContentModel.java
      @@ -151,13 +151,15 @@ public final class ContentModel
          * discarded.
          * @param elements - a vector to add the values to.
          */
      -  public void getElements(Vector elements)
      +  public void getElements(Vector<Element> elements)
         {
           ContentModel c = this;
       
           while (c != null)
             {
      -        elements.add(c.content);
      +        // FIXME: correct?
      +        if (c.content instanceof Element)
      +          elements.add((Element) c.content);
               c = c.next;
             }
         }
      diff --git a/libjava/classpath/javax/swing/text/html/parser/DTD.java b/libjava/classpath/javax/swing/text/html/parser/DTD.java
      index 16bc5b0d6af..ae3c184f153 100644
      --- a/libjava/classpath/javax/swing/text/html/parser/DTD.java
      +++ b/libjava/classpath/javax/swing/text/html/parser/DTD.java
      @@ -88,7 +88,7 @@ public class DTD
         /**
          * The table of existing available DTDs.
          */
      -  static Hashtable dtdHash = new Hashtable();
      +  static Hashtable<String,DTD> dtdHash = new Hashtable<String,DTD>();
       
         /**
          * The applet element for this DTD.
      @@ -148,12 +148,13 @@ public class DTD
         /**
          * The element for accessing all DTD elements by name.
          */
      -  public Hashtable elementHash = new Hashtable();
      +  public Hashtable<String,Element> elementHash =
      +    new Hashtable<String,Element>();
       
         /**
          * The entity table for accessing all DTD entities by name.
          */
      -  public Hashtable entityHash = new Hashtable();
      +  public Hashtable<Object, Entity> entityHash = new Hashtable<Object, Entity>();
       
         /**
          *  The name of this DTD.
      @@ -165,7 +166,7 @@ public class DTD
          * javax.swing.text.html.parser.Element#index field of all elements
          * in this vector is set to the element position in this vector.
          */
      -  public Vector elements = new Vector();
      +  public Vector<Element> elements = new Vector<Element>();
       
         /** Create a new DTD with the specified name. */
         protected DTD(String a_name)
      @@ -224,7 +225,7 @@ public class DTD
           String name = Entity.mapper.get(id);
       
           if (name != null)
      -      return (Entity) entityHash.get(name);
      +      return entityHash.get(name);
           else
             return null;
         }
      @@ -269,7 +270,7 @@ public class DTD
          */
         public void defineAttributes(String forElement, AttributeList attributes)
         {
      -    Element e = (Element) elementHash.get(forElement.toLowerCase());
      +    Element e = elementHash.get(forElement.toLowerCase());
       
           if (e == null)
             e = newElement(forElement);
      @@ -420,7 +421,7 @@ public class DTD
           if (allowed_values != null)
             {
               StringTokenizer st = new StringTokenizer(allowed_values, " \t|");
      -        Vector v = new Vector(st.countTokens());
      +        Vector<String> v = new Vector<String>(st.countTokens());
       
               while (st.hasMoreTokens())
                 v.add(st.nextToken());
      @@ -571,7 +572,7 @@ public class DTD
          */
         private Element newElement(String name)
         {
      -    Element e = (Element) elementHash.get(name.toLowerCase());
      +    Element e = elementHash.get(name.toLowerCase());
       
           if (e == null)
             {
      diff --git a/libjava/classpath/javax/swing/text/html/parser/DocumentParser.java b/libjava/classpath/javax/swing/text/html/parser/DocumentParser.java
      index 062606d17ba..f717d69cbda 100644
      --- a/libjava/classpath/javax/swing/text/html/parser/DocumentParser.java
      +++ b/libjava/classpath/javax/swing/text/html/parser/DocumentParser.java
      @@ -38,13 +38,13 @@ exception statement from your version. */
       
       package javax.swing.text.html.parser;
       
      -import gnu.javax.swing.text.html.parser.htmlAttributeSet;
       import javax.swing.text.html.parser.Parser;
       
       import java.io.IOException;
       import java.io.Reader;
       
       import javax.swing.text.BadLocationException;
      +import javax.swing.text.SimpleAttributeSet;
       import javax.swing.text.html.HTMLEditorKit;
       
       /**
      @@ -117,7 +117,7 @@ public class DocumentParser
           protected final void handleStartTag(TagElement tag)
           {
             parser.handleStartTag(tag);
      -      htmlAttributeSet attributes = gnu.getAttributes();
      +      SimpleAttributeSet attributes = gnu.getAttributes();
       
             if (tag.fictional())
               attributes.addAttribute(HTMLEditorKit.ParserCallback.IMPLIED,
      diff --git a/libjava/classpath/javax/swing/text/html/parser/ParserDelegator.java b/libjava/classpath/javax/swing/text/html/parser/ParserDelegator.java
      index 70636d92923..cdd339b8f21 100644
      --- a/libjava/classpath/javax/swing/text/html/parser/ParserDelegator.java
      +++ b/libjava/classpath/javax/swing/text/html/parser/ParserDelegator.java
      @@ -38,13 +38,13 @@ exception statement from your version. */
       package javax.swing.text.html.parser;
       
       import gnu.javax.swing.text.html.parser.HTML_401F;
      -import gnu.javax.swing.text.html.parser.htmlAttributeSet;
       
       import java.io.IOException;
       import java.io.Reader;
       import java.io.Serializable;
       
       import javax.swing.text.BadLocationException;
      +import javax.swing.text.SimpleAttributeSet;
       import javax.swing.text.html.HTMLEditorKit;
       import javax.swing.text.html.HTMLEditorKit.ParserCallback;
       
      @@ -93,7 +93,7 @@ public class ParserDelegator
       
           protected final void handleStartTag(TagElement tag)
           {
      -      htmlAttributeSet attributes = gnu.getAttributes();
      +      SimpleAttributeSet attributes = gnu.getAttributes();
       
             if (tag.fictional())
               attributes.addAttribute(ParserCallback.IMPLIED, Boolean.TRUE);
      diff --git a/libjava/classpath/javax/swing/tree/AbstractLayoutCache.java b/libjava/classpath/javax/swing/tree/AbstractLayoutCache.java
      index 155343f5bcc..4a6899fbeae 100644
      --- a/libjava/classpath/javax/swing/tree/AbstractLayoutCache.java
      +++ b/libjava/classpath/javax/swing/tree/AbstractLayoutCache.java
      @@ -149,9 +149,11 @@ public abstract class AbstractLayoutCache
         protected Rectangle getNodeDimensions(Object value, int row, int depth,
                                               boolean expanded, Rectangle bounds)
         {
      -    if (nodeDimensions == null)
      -      throw new InternalError("The NodeDimensions are not set");
      -    return nodeDimensions.getNodeDimensions(value, row, depth, expanded, bounds);
      +    Rectangle d = null;
      +    if (nodeDimensions != null)
      +      d = nodeDimensions.getNodeDimensions(value, row, depth, expanded,
      +					   bounds);
      +    return d;
         }
       
         /**
      @@ -224,7 +226,12 @@ public abstract class AbstractLayoutCache
          */
         public void setSelectionModel(TreeSelectionModel model)
         {
      +    if (treeSelectionModel != null)
      +      treeSelectionModel.setRowMapper(null);
           treeSelectionModel = model;
      +    if (treeSelectionModel != null)
      +      treeSelectionModel.setRowMapper(this);
      +    
         }
       
         /**
      @@ -337,7 +344,7 @@ public abstract class AbstractLayoutCache
          * 
          * @return Enumeration
          */
      -  public abstract Enumeration getVisiblePathsFrom(TreePath path);
      +  public abstract Enumeration<TreePath> getVisiblePathsFrom(TreePath path);
       
         /**
          * getVisibleChildCount
      @@ -425,9 +432,13 @@ public abstract class AbstractLayoutCache
          */
         public int[] getRowsForPaths(TreePath[] paths)
         {
      -    int[] rows = new int[paths.length];
      -    for (int i = 0; i < rows.length; i++)
      -      rows[i] = getRowForPath(paths[i]);
      +    int[] rows = null;
      +    if (paths != null)
      +      {
      +        rows = new int[paths.length];
      +        for (int i = 0; i < rows.length; i++)
      +          rows[i] = getRowForPath(paths[i]);
      +      }
           return rows;
         }
       
      @@ -440,6 +451,6 @@ public abstract class AbstractLayoutCache
          */
         protected boolean isFixedRowHeight()
         {
      -    return false; 
      +    return rowHeight > 0;
         }
       }
      diff --git a/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java b/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
      index 6951b960005..9f587946fc2 100644
      --- a/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
      +++ b/libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
      @@ -67,7 +67,7 @@ public class DefaultMutableTreeNode
          * An empty enumeration, returned by {@link #children()} if a node has no
          * children.
          */
      -  public static final Enumeration EMPTY_ENUMERATION =
      +  public static final Enumeration<TreeNode> EMPTY_ENUMERATION =
           EmptyEnumeration.getInstance();
       
         /**
      @@ -78,7 +78,7 @@ public class DefaultMutableTreeNode
         /**
          * The child nodes for this node (may be empty).
          */
      -  protected Vector children = new Vector();
      +  protected Vector<MutableTreeNode> children = new Vector<MutableTreeNode>();
       
         /**
          * userObject
      @@ -480,7 +480,7 @@ public class DefaultMutableTreeNode
         public TreeNode getSharedAncestor(DefaultMutableTreeNode node)
         {
           TreeNode current = this;
      -    ArrayList list = new ArrayList();
      +    ArrayList<TreeNode> list = new ArrayList<TreeNode>();
       
           while (current != null)
             {
      @@ -527,7 +527,7 @@ public class DefaultMutableTreeNode
               || children.size() == 0)
             return 0;
       
      -    Stack stack = new Stack();
      +    Stack<Integer> stack = new Stack<Integer>();
           stack.push(new Integer(0));
           TreeNode node = getChildAt(0);
           int depth = 0;
      @@ -765,7 +765,7 @@ public class DefaultMutableTreeNode
             throw new IllegalArgumentException();
           
           TreeNode parent = this;
      -    Vector nodes = new Vector();
      +    Vector<TreeNode> nodes = new Vector<TreeNode>();
           nodes.add(this);
       
           while (parent != node && parent != null)
      @@ -1148,7 +1148,7 @@ public class DefaultMutableTreeNode
          static class PostorderEnumeration implements Enumeration
          {
       
      -       Stack nodes = new Stack();
      +       Stack<TreeNode> nodes = new Stack<TreeNode>();
              Stack childrenEnums = new Stack();
       
              PostorderEnumeration(TreeNode node)
      diff --git a/libjava/classpath/javax/swing/tree/DefaultTreeCellEditor.java b/libjava/classpath/javax/swing/tree/DefaultTreeCellEditor.java
      index b0a4d8db823..4c10bfe1af2 100644
      --- a/libjava/classpath/javax/swing/tree/DefaultTreeCellEditor.java
      +++ b/libjava/classpath/javax/swing/tree/DefaultTreeCellEditor.java
      @@ -43,7 +43,6 @@ import java.awt.Component;
       import java.awt.Container;
       import java.awt.Dimension;
       import java.awt.Font;
      -import java.awt.FontMetrics;
       import java.awt.Graphics;
       import java.awt.Rectangle;
       import java.awt.event.ActionEvent;
      @@ -59,10 +58,10 @@ import javax.swing.Icon;
       import javax.swing.JTextField;
       import javax.swing.JTree;
       import javax.swing.SwingUtilities;
      +import javax.swing.Timer;
       import javax.swing.UIManager;
       import javax.swing.border.Border;
       import javax.swing.event.CellEditorListener;
      -import javax.swing.event.ChangeEvent;
       import javax.swing.event.EventListenerList;
       import javax.swing.event.TreeSelectionEvent;
       import javax.swing.event.TreeSelectionListener;
      @@ -76,12 +75,6 @@ import javax.swing.event.TreeSelectionListener;
       public class DefaultTreeCellEditor
         implements ActionListener, TreeCellEditor, TreeSelectionListener
       {
      -  /**
      -   * The number of the fast mouse clicks, required to start the editing 
      -   * session.
      -   */
      -  static int CLICK_COUNT_TO_START = 3;
      -  
         /**
          * This container that appears on the tree during editing session.
          * It contains the editing component displays various other editor - 
      @@ -99,7 +92,7 @@ public class DefaultTreeCellEditor
            */
           public EditorContainer()
           {
      -      // Do nothing here.
      +      setLayout(null);
           }
       
           /**
      @@ -111,12 +104,6 @@ public class DefaultTreeCellEditor
             // Do nothing here.
           }
          
      -    public void setBounds(Rectangle bounds)
      -    {
      -      super.setBounds(bounds);
      -      doLayout();
      -    }
      -
           /**
            * Overrides Container.paint to paint the node's icon and use the selection
            * color for the background.
      @@ -126,11 +113,20 @@ public class DefaultTreeCellEditor
            */
           public void paint(Graphics g)
           {
      +      // Paint editing icon.
             if (editingIcon != null)
               {
                 // From the previous version, the left margin is taken as half
                 // of the icon width.
      -          editingIcon.paintIcon(this, g, 0, 0);
      +          int y = Math.max(0, (getHeight() - editingIcon.getIconHeight()) / 2);
      +          editingIcon.paintIcon(this, g, 0, y);
      +        }
      +      // Paint border.
      +      Color c = getBorderSelectionColor();
      +      if (c != null)
      +        {
      +          g.setColor(c);
      +          g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
               }
             super.paint(g);
           }
      @@ -141,27 +137,33 @@ public class DefaultTreeCellEditor
            */
           public void doLayout()
           {
      -      // The offset of the editing component.
      -      int eOffset;
      +      if (editingComponent != null)
      +        {
      +          editingComponent.getPreferredSize();
      +          editingComponent.setBounds(offset, 0, getWidth() - offset,
      +                                     getHeight());
      +        }
      +      }
       
      -      // Move the component to the left, leaving room for the editing icon:
      -      if (editingIcon != null)
      -        eOffset = editingIcon.getIconWidth();
      +    public Dimension getPreferredSize()
      +    {
      +      Dimension dim;
      +      if (editingComponent != null)
      +        {
      +          dim = editingComponent.getPreferredSize();
      +          dim.width += offset + 5;
      +          if (renderer != null)
      +            {
      +              Dimension r = renderer.getPreferredSize();
      +              dim.height = Math.max(dim.height, r.height);
      +            }
      +          if (editingIcon != null)
      +            dim.height = Math.max(dim.height, editingIcon.getIconHeight());
      +          dim.width = Math.max(100, dim.width);
      +        }
             else
      -        eOffset = 0;
      -
      -      Rectangle bounds = getBounds();
      -      Component c = getComponent(0);
      -      c.setLocation(eOffset, 0);
      -
      -      // Span the editing component near over all window width.
      -      c.setSize(bounds.width - eOffset, bounds.height);
      -      /*
      -       * @specnote the Sun sets some more narrow editing component width (it is
      -       * not documented how does it is calculated). However as our text field is
      -       * still not able to auto - scroll horizontally, replicating such strategy
      -       * would prevent adding extra characters to the text being edited.
      -       */
      +        dim = new Dimension(0, 0);
      +      return dim;
           }
         }
       
      @@ -227,46 +229,15 @@ public class DefaultTreeCellEditor
            */
           public Dimension getPreferredSize()
           {
      -      String s = getText();
      -
      -      Font f = getFont();
      -
      -      if (f != null)
      +      Dimension size = super.getPreferredSize();
      +      if (renderer != null && DefaultTreeCellEditor.this.getFont() == null)
               {
      -          FontMetrics fm = getToolkit().getFontMetrics(f);
      -
      -          return new Dimension(SwingUtilities.computeStringWidth(fm, s),
      -                               fm.getHeight());
      +          size.height = renderer.getPreferredSize().height;
               }
             return renderer.getPreferredSize();
           }
         }
         
      -  /**
      -   * Listens for the events from the realEditor.
      -   */
      -  class RealEditorListener implements CellEditorListener
      -  {
      -    /**
      -     * The method is called when the editing has been cancelled.
      -     * @param event unused
      -     */
      -    public void editingCanceled(ChangeEvent event)
      -    {
      -      cancelCellEditing();
      -    }
      -
      -    /**
      -     * The method is called after completing the editing session.
      -     * 
      -     * @param event unused
      -     */
      -    public void editingStopped(ChangeEvent event)
      -    {
      -      stopCellEditing();
      -    }
      -  }
      -
         private EventListenerList listenerList = new EventListenerList();
         
         /**
      @@ -367,21 +338,14 @@ public class DefaultTreeCellEditor
         public DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer,
                                      TreeCellEditor editor)
         {
      -    setTree(tree);
           this.renderer = renderer;
      -    
      -    if (editor == null)
      -      editor = createTreeCellEditor();
      -    else
      -      editor.addCellEditorListener(new RealEditorListener());
      -    
           realEditor = editor;
      -    
      -    lastPath = tree.getLeadSelectionPath();
      -    tree.addTreeSelectionListener(this);
      +    if (realEditor == null)
      +      realEditor = createTreeCellEditor();
           editingContainer = createContainer();
      -    setFont(UIManager.getFont("Tree.font"));
      -    setBorderSelectionColor(UIManager.getColor("Tree.selectionBorderColor"));
      +    setTree(tree);
      +    Color c = UIManager.getColor("Tree.editorBorderSelectionColor");
      +    setBorderSelectionColor(c);
         }
       
         /**
      @@ -505,19 +469,36 @@ public class DefaultTreeCellEditor
          * @return the component for editing
          */
         public Component getTreeCellEditorComponent(JTree tree, Object value,
      -                                              boolean isSelected, boolean expanded,
      +                                              boolean isSelected,
      +                                              boolean expanded,
                                                     boolean leaf, int row)
         {
      -    if (realEditor == null)
      -      realEditor = createTreeCellEditor();
      -
      -    return realEditor.getTreeCellEditorComponent(tree, value, isSelected,
      -                                                        expanded, leaf, row);
      +    setTree(tree);
      +    lastRow = row;
      +    determineOffset(tree, value, isSelected, expanded, leaf, row);
      +    if (editingComponent != null)
      +      editingContainer.remove(editingComponent);
      +
      +    editingComponent = realEditor.getTreeCellEditorComponent(tree, value,
      +                                                             isSelected,
      +                                                             expanded, leaf,
      +                                                             row);
      +    Font f = getFont();
      +    if (f == null)
      +      {
      +        if (renderer != null)
      +          f = renderer.getFont();
      +        if (f == null)
      +          f = tree.getFont();
      +      }
      +    editingContainer.setFont(f);
      +    prepareForEditing();
      +    return editingContainer;
         }
       
         /**
          * Returns the value currently being edited (requests it from the
      -   * {@link realEditor}.
      +   * {@link #realEditor}.
          * 
          * @return the value currently being edited
          */
      @@ -535,16 +516,48 @@ public class DefaultTreeCellEditor
          * @return true if editing can be started
          */
         public boolean isCellEditable(EventObject event)
      -  { 
      -    if (editingComponent == null)
      -        configureEditingComponent(tree, renderer, realEditor);
      -    
      -    if (editingComponent != null && realEditor.isCellEditable(event))
      +  {
      +    boolean ret = false;
      +    boolean ed = false;
      +    if (event != null)
             {
      -        prepareForEditing();
      -        return true;
      +        if (event.getSource() instanceof JTree)
      +          {
      +            setTree((JTree) event.getSource());
      +            if (event instanceof MouseEvent)
      +              {
      +                MouseEvent me = (MouseEvent) event;
      +                TreePath path = tree.getPathForLocation(me.getX(), me.getY());
      +                ed = lastPath != null && path != null && lastPath.equals(path);
      +                if (path != null)
      +                  {
      +                    lastRow = tree.getRowForPath(path);
      +                    Object val = path.getLastPathComponent();
      +                    boolean isSelected = tree.isRowSelected(lastRow);
      +                    boolean isExpanded = tree.isExpanded(path);
      +                    TreeModel m = tree.getModel();
      +                    boolean isLeaf = m.isLeaf(val);
      +                    determineOffset(tree, val, isSelected, isExpanded, isLeaf,
      +                                    lastRow);
      +                  }
      +              }
      +          }
             }
      -    return false;
      +    if (! realEditor.isCellEditable(event))
      +      ret = false;
      +    else 
      +      {
      +        if (canEditImmediately(event))
      +          ret = true;
      +        else if (ed && shouldStartEditingTimer(event))
      +          startEditingTimer();
      +        else if (timer != null && timer.isRunning())
      +          timer.stop();
      +      }
      +    if (ret)
      +      prepareForEditing();
      +    return ret;
      +        
         }
       
         /**
      @@ -567,14 +580,13 @@ public class DefaultTreeCellEditor
          */
         public boolean stopCellEditing()
         {
      -    if (editingComponent != null)
      +    boolean ret = false;
      +    if (realEditor.stopCellEditing())
             {
      -        stopEditingTimer();
      -        tree.stopEditing();
      -        editingComponent = null;
      -        return true;
      +        finish();
      +        ret = true;
             }
      -    return false;
      +    return ret;
         }
       
         /**
      @@ -583,21 +595,15 @@ public class DefaultTreeCellEditor
          */
         public void cancelCellEditing()
         {
      -    if (editingComponent != null)
      -      {
      -        tree.cancelEditing();
      -        editingComponent = null;
      -      }
      -    stopEditingTimer();
      +    realEditor.cancelCellEditing();
      +    finish();
         }
      -  
      -  /**
      -   * Stop the editing timer, if it is installed and running.
      -   */
      -  private void stopEditingTimer()
      +
      +  private void finish()
         {
      -    if (timer != null && timer.isRunning())
      -      timer.stop();
      +    if (editingComponent != null)
      +      editingContainer.remove(editingComponent);
      +    editingComponent = null;
         }
       
         /**
      @@ -640,10 +646,18 @@ public class DefaultTreeCellEditor
          */
         public void valueChanged(TreeSelectionEvent e)
         {
      -    tPath = lastPath;
      -    lastPath = e.getNewLeadSelectionPath();
      -    lastRow = tree.getRowForPath(lastPath);
      -    stopCellEditing();
      +    if (tree != null)
      +      {
      +        if (tree.getSelectionCount() == 1)
      +          lastPath = tree.getSelectionPath();
      +        else
      +          lastPath = null;
      +      }
      +    // TODO: We really should do the following here, but can't due
      +    // to buggy DefaultTreeSelectionModel. This selection model
      +    // should only fire if the selection actually changes.
      +//    if (timer != null)
      +//      timer.stop();
         }
         
         /**
      @@ -653,6 +667,8 @@ public class DefaultTreeCellEditor
          */
         public void actionPerformed(ActionEvent e)
         {
      +    if (tree != null && lastPath != null)
      +      tree.startEditingAtPath(lastPath);
         }
       
         /**
      @@ -664,7 +680,17 @@ public class DefaultTreeCellEditor
          */
         protected void setTree(JTree newTree)
         {
      -    tree = newTree;
      +    if (tree != newTree)
      +      {
      +        if (tree != null)
      +          tree.removeTreeSelectionListener(this);
      +        tree = newTree;
      +        if (tree != null)
      +          tree.addTreeSelectionListener(this);
      +
      +        if (timer != null)
      +          timer.stop();
      +      }
         }
       
         /**
      @@ -675,10 +701,14 @@ public class DefaultTreeCellEditor
          */
         protected boolean shouldStartEditingTimer(EventObject event)
         {
      -    if ((event instanceof MouseEvent) && 
      -        ((MouseEvent) event).getClickCount() == 1)
      -      return true;
      -    return false;
      +    boolean ret = false;
      +    if (event instanceof MouseEvent)
      +      {
      +        MouseEvent me = (MouseEvent) event;
      +        ret = SwingUtilities.isLeftMouseButton(me) && me.getClickCount() == 1
      +              && inHitRegion(me.getX(), me.getY());
      +      }
      +    return ret;
         }
       
         /**
      @@ -686,8 +716,12 @@ public class DefaultTreeCellEditor
          */
         protected void startEditingTimer()
         {
      -    if (timer != null)
      -      timer.start();
      +    if (timer == null)
      +      {
      +        timer = new Timer(1200, this);
      +        timer.setRepeats(false);
      +      }
      +    timer.start();
         }
       
         /**
      @@ -723,7 +757,6 @@ public class DefaultTreeCellEditor
         protected boolean inHitRegion(int x, int y)
         {
           Rectangle bounds = tree.getPathBounds(lastPath);
      -    
           return bounds.contains(x, y);
         }
       
      @@ -739,13 +772,24 @@ public class DefaultTreeCellEditor
         protected void determineOffset(JTree tree, Object value, boolean isSelected,
                                        boolean expanded, boolean leaf, int row)
         {
      -    renderer.getTreeCellRendererComponent(tree, value, isSelected, expanded, 
      -                                          leaf, row, true);
      -    Icon c = renderer.getIcon();
      -    if (c != null)
      -        offset = renderer.getIconTextGap() + c.getIconWidth();
      +    if (renderer != null)
      +      {
      +        if (leaf)
      +          editingIcon = renderer.getLeafIcon();
      +        else if (expanded)
      +          editingIcon = renderer.getOpenIcon();
      +        else
      +          editingIcon = renderer.getClosedIcon();
      +        if (editingIcon != null)
      +          offset = renderer.getIconTextGap() + editingIcon.getIconWidth();
      +        else
      +          offset = renderer.getIconTextGap();
      +      }
           else
      -      offset = 0;
      +      {
      +        editingIcon = null;
      +        offset = 0;
      +      }
         }
       
         /**
      @@ -754,8 +798,8 @@ public class DefaultTreeCellEditor
          */
         protected void prepareForEditing()
         {
      -    editingContainer.removeAll();
      -    editingContainer.add(editingComponent);
      +    if (editingComponent != null)
      +      editingContainer.add(editingComponent);
         }
       
         /**
      @@ -776,10 +820,10 @@ public class DefaultTreeCellEditor
          */
         protected TreeCellEditor createTreeCellEditor()
         {
      -    DefaultCellEditor editor = new DefaultCellEditor(new DefaultTreeCellEditor.DefaultTextField(
      -                                  UIManager.getBorder("Tree.selectionBorder")));
      -    editor.addCellEditorListener(new RealEditorListener());
      -    editor.setClickCountToStart(CLICK_COUNT_TO_START);
      +    Border border = UIManager.getBorder("Tree.editorBorder");
      +    JTextField tf = new DefaultTreeCellEditor.DefaultTextField(border);
      +    DefaultCellEditor editor = new DefaultCellEditor(tf);
      +    editor.setClickCountToStart(1);
           realEditor = editor;
           return editor;
         }
      diff --git a/libjava/classpath/javax/swing/tree/DefaultTreeCellRenderer.java b/libjava/classpath/javax/swing/tree/DefaultTreeCellRenderer.java
      index e120b71c167..3766485abdb 100644
      --- a/libjava/classpath/javax/swing/tree/DefaultTreeCellRenderer.java
      +++ b/libjava/classpath/javax/swing/tree/DefaultTreeCellRenderer.java
      @@ -77,7 +77,7 @@ public class DefaultTreeCellRenderer
         protected boolean hasFocus;
       
         /**
      -   * drawsFocusBorderAroundIcon  // FIXME: is this used?
      +   * Indicates if the focus border is also drawn around the icon.
          */
         private boolean drawsFocusBorderAroundIcon;
       
      @@ -152,6 +152,8 @@ public class DefaultTreeCellRenderer
           setBackgroundNonSelectionColor(UIManager.getColor("Tree.textBackground"));
           setBackgroundSelectionColor(UIManager.getColor("Tree.selectionBackground"));
           setBorderSelectionColor(UIManager.getColor("Tree.selectionBorderColor"));
      +    Object val = UIManager.get("Tree.drawsFocusBorderAroundIcon");
      +    drawsFocusBorderAroundIcon = val != null && ((Boolean) val).booleanValue();
         }
       
         /**
      @@ -499,47 +501,65 @@ public class DefaultTreeCellRenderer
          */
         public void paint(Graphics g)
         {
      -    // paint background
      -    Rectangle vr = new Rectangle();
      -    Rectangle ir = new Rectangle();
      -    Rectangle tr = new Rectangle();
      -
      -    Insets insets = new Insets(0, 0, 0, 0);
      -    Border border = UIManager.getBorder("Tree.selectionBorder");
      -    if (border != null)
      -      insets = border.getBorderInsets(this);
      -
      -    FontMetrics fm = getToolkit().getFontMetrics(getFont());
      -    SwingUtilities.layoutCompoundLabel((JLabel) this, fm, getText(),
      -                                       getIcon(), getVerticalAlignment(),
      -                                       getHorizontalAlignment(),
      -                                       getVerticalTextPosition(),
      -                                       getHorizontalTextPosition(), vr, ir, tr,
      -                                       getIconTextGap());
      -
      -    // Reusing one rectangle.
      -    Rectangle bounds = getBounds(ir);
      -    
      -    bounds.x = tr.x - insets.left;
      -    bounds.width = tr.width + insets.left + insets.right;
      -    
      -    g.setColor(super.getBackground());
      -    g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);
      +    // Determine background color.
      +    Color bgColor;
      +    if (selected)
      +      bgColor = getBackgroundSelectionColor();
      +    else
      +      {
      +        bgColor = getBackgroundNonSelectionColor();
      +	if (bgColor == null)
      +          bgColor = getBackground();
      +      }
      +    // Paint background.
      +    int xOffset = -1;
      +    if (bgColor != null)
      +      {
      +        Icon i = getIcon();
      +	xOffset = getXOffset();
      +	g.setColor(bgColor);
      +	g.fillRect(xOffset, 0, getWidth() - xOffset, getHeight());
      +      }
       
      -    super.paint(g);
      -    
      -    // Paint the border of the focused element only (lead selection)
           if (hasFocus)
             {
      -        Color b = getBorderSelectionColor();
      -        if (b != null)
      -          {
      -            g.setColor(b);
      -            g.drawRect(bounds.x, bounds.y, bounds.width, bounds.height - 1);
      -          }
      +        if (drawsFocusBorderAroundIcon)
      +          xOffset = 0;
      +	else if (xOffset == -1)
      +          xOffset = getXOffset();
      +	paintFocus(g, xOffset, 0, getWidth() - xOffset, getHeight());
      +      }
      +    super.paint(g);
      +  }
      +
      +  /**
      +   * Paints the focus indicator.
      +   */
      +  private void paintFocus(Graphics g, int x, int y, int w, int h)
      +  {
      +    Color col = getBorderSelectionColor();
      +    if (col != null)
      +      {
      +        g.setColor(col);
      +	g.drawRect(x, y, w - 1, h - 1);
             }
         }
       
      +  /**
      +   * Determines the X offset of the label that is caused by
      +   * the icon.
      +   *
      +   * @return the X offset of the label
      +   */
      +  private int getXOffset()
      +  {
      +    Icon i = getIcon();
      +    int offs = 0;
      +    if (i != null && getText() != null)
      +      offs = i.getIconWidth() + Math.max(0, getIconTextGap() - 1);
      +    return offs;
      +  }
      +
         /**
          * Returns the preferred size of the cell.
          * 
      @@ -547,19 +567,9 @@ public class DefaultTreeCellRenderer
          */
         public Dimension getPreferredSize()
         {
      -    Rectangle vr = new Rectangle();
      -    Rectangle ir = new Rectangle();
      -    Rectangle tr = new Rectangle();
      -
      -    FontMetrics fm = getToolkit().getFontMetrics(getFont());
      -    SwingUtilities.layoutCompoundLabel((JLabel) this, fm, getText(),
      -                                       getIcon(), getVerticalAlignment(),
      -                                       getHorizontalAlignment(),
      -                                       getVerticalTextPosition(),
      -                                       getHorizontalTextPosition(), vr, ir, tr,
      -                                       getIconTextGap());
      -    Rectangle cr = ir.union(tr);
      -    return new Dimension(cr.width, cr.height);
      +    Dimension size = super.getPreferredSize();
      +    size.width += 3;
      +    return size;
         } 
       
         /**
      diff --git a/libjava/classpath/javax/swing/tree/DefaultTreeModel.java b/libjava/classpath/javax/swing/tree/DefaultTreeModel.java
      index 5819d15b627..afee7ea22fa 100644
      --- a/libjava/classpath/javax/swing/tree/DefaultTreeModel.java
      +++ b/libjava/classpath/javax/swing/tree/DefaultTreeModel.java
      @@ -210,17 +210,32 @@ public class DefaultTreeModel
         }
       
         /**
      -   * isLeaf
      +   * Returns if the specified node is a leaf or not. When
      +   * {@link #asksAllowsChildren} is true, then this checks if the TreeNode
      +   * allows children, otherwise it returns the TreeNode's <code>leaf</code>
      +   * property.
          * 
      -   * @param node TODO
      -   * @return boolean
      +   * @param node the node to check
      +   *
      +   * @return boolean <code>true</code> if the node is a leaf node,
      +   *         <code>false</code> otherwise
      +   *
      +   * @throws ClassCastException if the specified node is not a
      +   *         <code>TreeNode</code> instance
      +   *
      +   * @see TreeNode#getAllowsChildren()
      +   * @see TreeNode#isLeaf()
          */
         public boolean isLeaf(Object node)
         {
      -    if (node instanceof TreeNode)
      -      return ((TreeNode) node).isLeaf();
      +    // The RI throws a ClassCastException when node isn't a TreeNode, so do we.
      +    TreeNode treeNode = (TreeNode) node;
      +    boolean leaf;
      +    if (asksAllowsChildren)
      +      leaf = ! treeNode.getAllowsChildren();
           else
      -      return true;
      +      leaf = treeNode.isLeaf();
      +    return leaf;
         }
       
         /**
      @@ -600,7 +615,7 @@ public class DefaultTreeModel
          *
          * @since 1.3
          */
      -  public EventListener[] getListeners(Class listenerType)
      +  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
         {
           return listenerList.getListeners(listenerType);
         }
      diff --git a/libjava/classpath/javax/swing/tree/DefaultTreeSelectionModel.java b/libjava/classpath/javax/swing/tree/DefaultTreeSelectionModel.java
      index 0684ef76659..3d9c67728bd 100644
      --- a/libjava/classpath/javax/swing/tree/DefaultTreeSelectionModel.java
      +++ b/libjava/classpath/javax/swing/tree/DefaultTreeSelectionModel.java
      @@ -44,6 +44,7 @@ import java.io.ObjectInputStream;
       import java.io.ObjectOutputStream;
       import java.io.Serializable;
       import java.util.Arrays;
      +import java.util.BitSet;
       import java.util.EventListener;
       import java.util.HashSet;
       import java.util.Iterator;
      @@ -67,7 +68,39 @@ import javax.swing.event.TreeSelectionListener;
       public class DefaultTreeSelectionModel
           implements Cloneable, Serializable, TreeSelectionModel
       {
      -  
      +
      +  /**
      +   * According to the API docs, the method
      +   * {@link DefaultTreeSelectionModel#notifyPathChange} should
      +   * expect instances of a class PathPlaceHolder in the Vector parameter.
      +   * This seems to be a non-public class, so I can only make guesses about the
      +   * use of it.
      +   */
      +  private static class PathPlaceHolder
      +  {
      +    /**
      +     * The path that we wrap.
      +     */
      +    TreePath path;
      +
      +    /**
      +     * Indicates if the path is new or already in the selection.
      +     */
      +    boolean isNew;
      +
      +    /**
      +     * Creates a new instance.
      +     *
      +     * @param p the path to wrap
      +     * @param n if the path is new or already in the selection
      +     */
      +    PathPlaceHolder(TreePath p, boolean n)
      +    {
      +      path = p;
      +      isNew = n;
      +    }
      +  }
      +
         /**
          * Use serialVersionUID for interoperability.
          */
      @@ -123,13 +156,37 @@ public class DefaultTreeSelectionModel
          */
         protected int leadRow = -1;
       
      +  /**
      +   * A supporting datastructure that is used in addSelectionPaths() and
      +   * removeSelectionPaths(). It contains currently selected paths.
      +   *
      +   * @see #addSelectionPaths(TreePath[])
      +   * @see #removeSelectionPaths(TreePath[])
      +   * @see #setSelectionPaths(TreePath[])
      +   */
      +  private transient HashSet selectedPaths;
      +
      +  /**
      +   * A supporting datastructure that is used in addSelectionPaths() and
      +   * removeSelectionPaths(). It contains the paths that are added or removed.
      +   *
      +   * @see #addSelectionPaths(TreePath[])
      +   * @see #removeSelectionPaths(TreePath[])
      +   * @see #setSelectionPaths(TreePath[])
      +   */
      +  private transient HashSet tmpPaths;
      +
         /**
          * Constructs a new DefaultTreeSelectionModel.
          */
         public DefaultTreeSelectionModel()
         {
           setSelectionMode(DISCONTIGUOUS_TREE_SELECTION);
      +    listSelectionModel = new DefaultListSelectionModel();
           listenerList = new EventListenerList();
      +    leadIndex = -1;
      +    tmpPaths = new HashSet();
      +    selectedPaths = new HashSet();
         }
       
         /**
      @@ -144,12 +201,14 @@ public class DefaultTreeSelectionModel
         {
           DefaultTreeSelectionModel cloned = 
             (DefaultTreeSelectionModel) super.clone();
      -    
      -    // Clone the selection and the list selection model.
      +    cloned.changeSupport = null;
           cloned.selection = (TreePath[]) selection.clone();
      -    if (listSelectionModel != null)
      -      cloned.listSelectionModel 
      -        = (DefaultListSelectionModel) listSelectionModel.clone();
      +    cloned.listenerList = new EventListenerList();
      +    cloned.listSelectionModel =
      +      (DefaultListSelectionModel) listSelectionModel.clone();
      +    cloned.selectedPaths = new HashSet();
      +    cloned.tmpPaths = new HashSet();
      +
           return cloned;
         }
       
      @@ -209,6 +268,7 @@ public class DefaultTreeSelectionModel
         public void setRowMapper(RowMapper mapper)
         {
           rowMapper = mapper;
      +    resetRowSelection();
         }
       
         /**
      @@ -236,8 +296,18 @@ public class DefaultTreeSelectionModel
          */
         public void setSelectionMode(int mode)
         {
      +    int oldMode = selectionMode;
           selectionMode = mode;
      -    insureRowContinuity();
      +    // Make sure we have a valid selection mode.
      +    if (selectionMode != SINGLE_TREE_SELECTION
      +        && selectionMode != CONTIGUOUS_TREE_SELECTION
      +        && selectionMode != DISCONTIGUOUS_TREE_SELECTION)
      +      selectionMode = DISCONTIGUOUS_TREE_SELECTION;
      +
      +    // Fire property change event.
      +    if (oldMode != selectionMode && changeSupport != null)
      +      changeSupport.firePropertyChange(SELECTION_MODE_PROPERTY, oldMode,
      +                                       selectionMode);
         }
       
         /**
      @@ -262,32 +332,10 @@ public class DefaultTreeSelectionModel
          */
         public void setSelectionPath(TreePath path)
         {
      -    // The most frequently only one cell in the tree is selected.
      -    TreePath[] ose = selection;
      -    selection = new TreePath[] { path };
      -    TreePath oldLead = leadPath;
      -    leadIndex = 0;
      -    leadRow = getRow(path);
      -    leadPath = path;
      -
      -    TreeSelectionEvent event;
      -
      -    if (ose != null && ose.length > 0)
      -      {
      -        // The first item in the path list is the selected path.
      -        // The remaining items are unselected pathes.
      -        TreePath[] changed = new TreePath[ose.length + 1];
      -        boolean[] news = new boolean[changed.length];
      -        news[0] = true;
      -        changed[0] = path;
      -        System.arraycopy(ose, 0, changed, 1, ose.length);
      -        event = new TreeSelectionEvent(this, changed, news, oldLead, path);
      -      }
      -    else
      -      {
      -        event = new TreeSelectionEvent(this, path, true, oldLead, path);
      -      }
      -    fireValueChanged(event);
      +    TreePath[] paths = null;
      +    if (path != null)
      +      paths = new TreePath[]{ path };
      +    setSelectionPaths(paths);
         }
         
         /**
      @@ -307,7 +355,7 @@ public class DefaultTreeSelectionModel
               AbstractLayoutCache ama = (AbstractLayoutCache) mapper;
               return ama.getRowForPath(path);
             }
      -    else
      +    else if (mapper != null)
             {
               // Generic non optimized implementation.
               int[] rows = mapper.getRowsForPaths(new TreePath[] { path });
      @@ -316,6 +364,7 @@ public class DefaultTreeSelectionModel
               else
                 return rows[0];
             }
      +    return -1;
         }
       
         /**
      @@ -327,10 +376,90 @@ public class DefaultTreeSelectionModel
          */
         public void setSelectionPaths(TreePath[] paths)
         {
      -    // Must be called, as defined in JDK API 1.4.
      -    insureUniqueness();
      -    clearSelection();
      -    addSelectionPaths(paths);
      +    int oldLength = 0;
      +    if (selection != null)
      +      oldLength = selection.length;
      +    int newLength = 0;
      +    if (paths != null)
      +      newLength = paths.length;
      +    if (newLength > 0 || oldLength > 0)
      +      {
      +        // For SINGLE_TREE_SELECTION and for CONTIGUOUS_TREE_SELECTION with
      +        // a non-contiguous path, we only allow the first path element.
      +        if ((selectionMode == SINGLE_TREE_SELECTION && newLength > 1)
      +            || (selectionMode == CONTIGUOUS_TREE_SELECTION && newLength > 0
      +                && ! arePathsContiguous(paths)))
      +          {
      +            paths = new TreePath[] { paths[0] };
      +            newLength = 1;
      +          }
      +        // Find new paths.
      +        Vector changedPaths = null;
      +        tmpPaths.clear();
      +        int validPaths = 0;
      +        TreePath oldLeadPath = leadPath;
      +        for (int i = 0; i < newLength; i++)
      +          {
      +            if (paths[i] != null && ! tmpPaths.contains(paths[i]))
      +              {
      +                validPaths++;
      +                tmpPaths.add(paths[i]);
      +                if (! selectedPaths.contains(paths[i]))
      +                  {
      +                    if (changedPaths == null)
      +                      changedPaths = new Vector();
      +                    changedPaths.add(new PathPlaceHolder(paths[i], true));
      +                  }
      +                leadPath = paths[i];
      +              }
      +          }
      +        // Put together the new selection.
      +        TreePath[] newSelection = null;
      +        if (validPaths != 0)
      +          {
      +            if (validPaths != newLength)
      +              {
      +                // Some of the paths are already selected, put together
      +                // the new selection carefully.
      +                newSelection = new TreePath[validPaths];
      +                Iterator newPaths = tmpPaths.iterator();
      +                validPaths = 0;
      +                for (int i = 0; newPaths.hasNext(); i++)
      +                  newSelection[i] = (TreePath) newPaths.next();
      +              }
      +            else
      +              {
      +                newSelection = new TreePath[paths.length];
      +                System.arraycopy(paths, 0, newSelection, 0, paths.length);
      +              }
      +          }
      +
      +        // Find paths that have been selected, but are no more.
      +        for (int i = 0; i < oldLength; i++)
      +          {
      +            if (selection[i] != null && ! tmpPaths.contains(selection[i]))
      +              {
      +                if (changedPaths == null)
      +                  changedPaths = new Vector();
      +                changedPaths.add(new PathPlaceHolder(selection[i], false));
      +              }
      +          }
      +
      +        // Perform changes and notification.
      +        selection = newSelection;
      +        HashSet tmp = selectedPaths;
      +        selectedPaths = tmpPaths;
      +        tmpPaths = tmp;
      +        tmpPaths.clear();
      +
      +        // Not necessary, but required according to the specs and to tests.
      +        if (selection != null)
      +          insureUniqueness();
      +        updateLeadIndex();
      +        resetRowSelection();
      +        if (changedPaths != null && changedPaths.size() > 0)
      +          notifyPathChange(changedPaths, oldLeadPath);
      +      }
         }
       
         /**
      @@ -345,29 +474,10 @@ public class DefaultTreeSelectionModel
          */
         public void addSelectionPath(TreePath path)
         {
      -    if (! isPathSelected(path))
      +    if (path != null)
             {
      -        if (selectionMode == SINGLE_TREE_SELECTION || isSelectionEmpty()
      -            || ! canPathBeAdded(path))
      -          setSelectionPath(path);
      -        else
      -          {
      -            TreePath[] temp = new TreePath[selection.length + 1];
      -            System.arraycopy(selection, 0, temp, 0, selection.length);
      -            temp[temp.length - 1] = path;
      -            selection = new TreePath[temp.length];
      -            System.arraycopy(temp, 0, selection, 0, temp.length);
      -          }
      -      }
      -    
      -     if (path != leadPath)
      -       {
      -        TreePath oldLead = leadPath;
      -        leadPath = path;
      -        leadRow = getRow(path);
      -        leadIndex = selection.length - 1;
      -        fireValueChanged(new TreeSelectionEvent(this, path, true, oldLead,
      -                                                leadPath));
      +        TreePath[] add = new TreePath[]{ path };
      +        addSelectionPaths(add);
             }
         }
       
      @@ -380,37 +490,76 @@ public class DefaultTreeSelectionModel
          */
         public void addSelectionPaths(TreePath[] paths)
         {
      -    // Must be called, as defined in JDK API 1.4.
      -    insureUniqueness();
      -
      -    if (paths != null)
      +    int length = paths != null ? paths.length : 0;
      +    if (length > 0)
             {
      -        TreePath v0 = null;
      -        for (int i = 0; i < paths.length; i++)
      +        if (selectionMode == SINGLE_TREE_SELECTION)
      +          setSelectionPaths(paths);
      +        else if (selectionMode == CONTIGUOUS_TREE_SELECTION
      +                 &&  ! canPathsBeAdded(paths))
      +          {
      +            if (arePathsContiguous(paths))
      +              setSelectionPaths(paths);
      +            else
      +              setSelectionPaths(new TreePath[] { paths[0] });
      +          }
      +        else
                 {
      -            v0 = paths[i];
      -            if (! isPathSelected(v0))
      +            Vector changedPaths = null;
      +            tmpPaths.clear();
      +            int validPaths = 0;
      +            TreePath oldLeadPath = leadPath;
      +            int oldPaths = 0;
      +            if (selection != null)
      +              oldPaths = selection.length;
      +            int i;
      +            for (i = 0; i < length; i++)
                     {
      -                if (isSelectionEmpty())
      -                  setSelectionPath(v0);
      -                else
      +                if (paths[i] != null)
                         {
      -                    TreePath[] temp = new TreePath[selection.length + 1];
      -                    System.arraycopy(selection, 0, temp, 0, selection.length);
      -                    temp[temp.length - 1] = v0;
      -                    selection = new TreePath[temp.length];
      -                    System.arraycopy(temp, 0, selection, 0, temp.length);
      +                    if (! selectedPaths.contains(paths[i]))
      +                      {
      +                        validPaths++;
      +                        if (changedPaths == null)
      +                          changedPaths = new Vector();
      +                        changedPaths.add(new PathPlaceHolder(paths[i], true));
      +                        selectedPaths.add(paths[i]);
      +                        tmpPaths.add(paths[i]);
      +                      }
      +                    leadPath = paths[i];
                         }
      -               TreePath oldLead = leadPath;                
      -                leadPath = paths[paths.length - 1];
      -                leadRow = getRow(leadPath);
      -                leadIndex = selection.length - 1;
      -
      -                fireValueChanged(new TreeSelectionEvent(this, v0, true,
      -                                                        oldLead, leadPath));
                     }
      +            if (validPaths > 0)
      +              {
      +                TreePath[] newSelection = new TreePath[oldPaths + validPaths];
      +                if (oldPaths > 0)
      +                  System.arraycopy(selection, 0, newSelection, 0, oldPaths);
      +                if (validPaths != paths.length)
      +                  {
      +                    // Some of the paths are already selected, put together
      +                    // the new selection carefully.
      +                    Iterator newPaths = tmpPaths.iterator();
      +                    i = oldPaths;
      +                    while (newPaths.hasNext())
      +                      {
      +                        newSelection[i] = (TreePath) newPaths.next();
      +                        i++;
      +                      }
      +                  }
      +                else
      +                  System.arraycopy(paths, 0, newSelection, oldPaths,
      +                                   validPaths);
      +                selection = newSelection;
      +                insureUniqueness();
      +                updateLeadIndex();
      +                resetRowSelection();
      +                if (changedPaths != null && changedPaths.size() > 0)
      +                  notifyPathChange(changedPaths, oldLeadPath);
      +              }
      +            else
      +              leadPath = oldLeadPath;
      +            tmpPaths.clear();
                 }
      -        insureRowContinuity();
             }
         }
       
      @@ -422,36 +571,8 @@ public class DefaultTreeSelectionModel
          */
         public void removeSelectionPath(TreePath path)
         {
      -    if (isSelectionEmpty())
      -      return;
      -    
      -    int index = - 1;
      -    if (isPathSelected(path))
      -      {
      -        for (int i = 0; i < selection.length; i++)
      -          {
      -            if (selection[i].equals(path))
      -              {
      -                index = i;
      -                break;
      -              }
      -          }
      -        TreePath[] temp = new TreePath[selection.length - 1];
      -        System.arraycopy(selection, 0, temp, 0, index);
      -        System.arraycopy(selection, index + 1, temp, index, selection.length
      -                                                            - index - 1);
      -        selection = new TreePath[temp.length];
      -        System.arraycopy(temp, 0, selection, 0, temp.length);
      -        
      -        // If the removed path was the lead path, set the lead path to null.
      -        TreePath oldLead = leadPath;
      -        if (path != null && leadPath != null && path.equals(leadPath))
      -          leadPath = null;
      -
      -        fireValueChanged(new TreeSelectionEvent(this, path, false, oldLead,
      -                                                leadPath));
      -        insureRowContinuity();
      -      }
      +    if (path != null)
      +      removeSelectionPaths(new TreePath[]{ path });
         }
       
         /**
      @@ -462,40 +583,54 @@ public class DefaultTreeSelectionModel
          */
         public void removeSelectionPaths(TreePath[] paths)
         {
      -    if (isSelectionEmpty())
      -      return;
      -    if (paths != null)
      +    if (paths != null && selection != null && paths.length > 0)
             {
      -        int index = - 1;
      -        TreePath v0 = null;
      -        TreePath oldLead = leadPath;
      -        for (int i = 0; i < paths.length; i++)
      +        if (! canPathsBeRemoved(paths))
      +          clearSelection();
      +        else
                 {
      -            v0 = paths[i];
      -            if (isPathSelected(v0))
      +            Vector pathsToRemove = null;
      +            for (int i = paths.length - 1; i >= 0; i--)
                     {
      -                for (int x = 0; x < selection.length; x++)
      +                if (paths[i] != null && selectedPaths.contains(paths[i]))
                         {
      -                    if (selection[i].equals(v0))
      -                      {
      -                        index = x;
      -                        break;
      -                      }
      -                    if (leadPath != null && leadPath.equals(v0))
      +                    if (pathsToRemove == null)
      +                      pathsToRemove = new Vector();
      +                    selectedPaths.remove(paths[i]);
      +                    pathsToRemove.add(new PathPlaceHolder(paths[i],
      +                                                          false));
      +                  }
      +              }
      +            if (pathsToRemove != null)
      +              {
      +                int numRemove = pathsToRemove.size();
      +                TreePath oldLead = leadPath;
      +                if (numRemove == selection.length)
      +                  selection = null;
      +                else
      +                  {
      +                    selection = new TreePath[selection.length - numRemove];
      +                    Iterator keep = selectedPaths.iterator();
      +                    for (int valid = 0; keep.hasNext(); valid++)
      +                      selection[valid] = (TreePath) keep.next();
      +                  }
      +                // Update lead path.
      +                if (leadPath != null && ! selectedPaths.contains(leadPath))
      +                  {
      +                    if (selection != null)
      +                      leadPath = selection[selection.length - 1];
      +                    else
                             leadPath = null;
                         }
      -                TreePath[] temp = new TreePath[selection.length - 1];
      -                System.arraycopy(selection, 0, temp, 0, index);
      -                System.arraycopy(selection, index + 1, temp, index,
      -                                 selection.length - index - 1);
      -                selection = new TreePath[temp.length];
      -                System.arraycopy(temp, 0, selection, 0, temp.length);
      -
      -                fireValueChanged(new TreeSelectionEvent(this, v0, false,
      -                                                        oldLead, leadPath));
      +                else if (selection != null)
      +                  leadPath = selection[selection.length - 1];
      +                else
      +                  leadPath = null;
      +                updateLeadIndex();
      +                resetRowSelection();
      +                notifyPathChange(pathsToRemove, oldLead);
                     }
                 }
      -        insureRowContinuity();
             }
         }
       
      @@ -572,19 +707,22 @@ public class DefaultTreeSelectionModel
          */
         public void clearSelection()
         {
      -    if (! isSelectionEmpty())
      +    if (selection != null)
             {
      -        TreeSelectionEvent event = new TreeSelectionEvent(
      -          this, selection, new boolean[selection.length], leadPath, null);
      +        int selectionLength = selection.length;
      +        boolean[] news = new boolean[selectionLength];
      +        Arrays.fill(news, false);
      +        TreeSelectionEvent event = new TreeSelectionEvent(this, selection,
      +                                                          news, leadPath,
      +                                                          null);
               leadPath = null;
      +        leadIndex = 0;
      +        leadRow = 0;
      +        selectedPaths.clear();
               selection = null;
      +        resetRowSelection();
               fireValueChanged(event);
             }
      -    else
      -      {
      -        leadPath = null;
      -        selection = null;
      -      }
         }
       
         /**
      @@ -638,7 +776,7 @@ public class DefaultTreeSelectionModel
          * @return an array of listeners
          * @since 1.3
          */
      -  public EventListener[] getListeners(Class listenerType)
      +  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
         {
           return listenerList.getListeners(listenerType);
         }
      @@ -650,10 +788,43 @@ public class DefaultTreeSelectionModel
          */
         public int[] getSelectionRows()
         {
      -    if (rowMapper == null)
      -      return null;
      -    else
      -      return rowMapper.getRowsForPaths(selection);
      +    int[] rows = null;
      +    if (rowMapper != null && selection != null)
      +      {
      +        rows = rowMapper.getRowsForPaths(selection);
      +        if (rows != null)
      +          {
      +            // Find invisible rows.
      +            int invisible = 0;
      +            for (int i = rows.length - 1; i >= 0; i--)
      +              {
      +                if (rows[i] == -1)
      +                  invisible++;
      +                
      +              }
      +            // Clean up invisible rows.
      +            if (invisible > 0)
      +              {
      +                if (invisible == rows.length)
      +                  rows = null;
      +                else
      +                  {
      +                    int[] newRows = new int[rows.length - invisible];
      +                    int visCount = 0;
      +                    for (int i = rows.length - 1; i >= 0; i--)
      +                      {
      +                        if (rows[i] != -1)
      +                          {
      +                            newRows[visCount] = rows[i];
      +                            visCount++;
      +                          }
      +                      }
      +                    rows = newRows;
      +                  }
      +              }
      +          }
      +      }
      +    return rows;
         }
       
         /**
      @@ -663,16 +834,7 @@ public class DefaultTreeSelectionModel
          */
         public int getMinSelectionRow()
         {
      -    if ((rowMapper == null) || (selection == null) || (selection.length == 0))
      -      return - 1;
      -    else
      -      {
      -        int[] rows = rowMapper.getRowsForPaths(selection);
      -        int minRow = Integer.MAX_VALUE;
      -        for (int index = 0; index < rows.length; index++)
      -          minRow = Math.min(minRow, rows[index]);
      -        return minRow;
      -      }
      +    return listSelectionModel.getMinSelectionIndex();
         }
       
         /**
      @@ -682,16 +844,7 @@ public class DefaultTreeSelectionModel
          */
         public int getMaxSelectionRow()
         {
      -    if ((rowMapper == null) || (selection == null) || (selection.length == 0))
      -      return - 1;
      -    else
      -      {
      -        int[] rows = rowMapper.getRowsForPaths(selection);
      -        int maxRow = - 1;
      -        for (int index = 0; index < rows.length; index++)
      -          maxRow = Math.max(maxRow, rows[index]);
      -        return maxRow;
      -      }
      +    return listSelectionModel.getMaxSelectionIndex();
         }
       
         /**
      @@ -706,29 +859,7 @@ public class DefaultTreeSelectionModel
          */
         public boolean isRowSelected(int row)
         {
      -    // Return false if nothing is selected.
      -    if (isSelectionEmpty())
      -      return false;
      -
      -    RowMapper mapper = getRowMapper();
      -
      -    if (mapper instanceof AbstractLayoutCache)
      -      {
      -        // The absolute majority of cases, unless the TreeUI is very
      -        // seriously rewritten
      -        AbstractLayoutCache ama = (AbstractLayoutCache) mapper;
      -        TreePath path = ama.getPathForRow(row);
      -        return isPathSelected(path);
      -      }
      -    else
      -      {
      -        // Generic non optimized implementation.
      -        int[] rows = mapper.getRowsForPaths(selection);
      -        for (int i = 0; i < rows.length; i++)
      -          if (rows[i] == row)
      -            return true;
      -        return false;
      -      }
      +    return listSelectionModel.isSelectedIndex(row);
         }
       
         /**
      @@ -736,7 +867,32 @@ public class DefaultTreeSelectionModel
          */
         public void resetRowSelection()
         {
      -    // Nothing to do here.
      +    listSelectionModel.clearSelection();
      +    if (selection != null && rowMapper != null)
      +      {
      +        int[] rows = rowMapper.getRowsForPaths(selection);
      +        // Update list selection model.
      +        for (int i = 0; i < rows.length; i++)
      +          {
      +            int row = rows[i];
      +            if (row != -1)
      +              listSelectionModel.addSelectionInterval(row, row);
      +          }
      +        // Update lead selection.
      +        if (leadIndex != -1 && rows != null)
      +          leadRow = rows[leadIndex];
      +        else if (leadPath != null)
      +          {
      +            TreePath[] tmp = new TreePath[]{ leadPath };
      +            rows = rowMapper.getRowsForPaths(tmp);
      +            leadRow = rows != null ? rows[0] : -1;
      +          }
      +        else
      +          leadRow = -1;
      +        insureRowContinuity();
      +      }
      +    else
      +      leadRow = -1;
         }
       
         /**
      @@ -766,6 +922,8 @@ public class DefaultTreeSelectionModel
          */
         public void addPropertyChangeListener(PropertyChangeListener listener)
         {
      +    if (changeSupport == null)
      +      changeSupport = new SwingPropertyChangeSupport(this);
           changeSupport.addPropertyChangeListener(listener);
         }
       
      @@ -776,7 +934,8 @@ public class DefaultTreeSelectionModel
          */
         public void removePropertyChangeListener(PropertyChangeListener listener)
         {
      -    changeSupport.removePropertyChangeListener(listener);
      +    if (changeSupport != null)
      +      changeSupport.removePropertyChangeListener(listener);
         }
       
         /**
      @@ -787,7 +946,12 @@ public class DefaultTreeSelectionModel
          */
         public PropertyChangeListener[] getPropertyChangeListeners()
         {
      -    return changeSupport.getPropertyChangeListeners();
      +    PropertyChangeListener[] listeners = null;
      +    if (changeSupport != null)
      +      listeners = changeSupport.getPropertyChangeListeners();
      +    else
      +      listeners = new PropertyChangeListener[0];
      +    return listeners;
         }
       
         /**
      @@ -801,66 +965,40 @@ public class DefaultTreeSelectionModel
          */
         protected void insureRowContinuity()
         {
      -    if (selection == null || selection.length < 2)
      -      return;
      -    else if (selectionMode == CONTIGUOUS_TREE_SELECTION)
      +    if (selectionMode == CONTIGUOUS_TREE_SELECTION && selection != null
      +        && rowMapper != null)
             {
      -        if (rowMapper == null)
      -          // This is the best we can do without the row mapper:
      -          selectOne();
      -        else
      +        int min = listSelectionModel.getMinSelectionIndex();
      +        if (min != -1)
                 {
      -            int[] rows = rowMapper.getRowsForPaths(selection);
      -            Arrays.sort(rows);
      -            int i;
      -            for (i = 1; i < rows.length; i++)
      -              {
      -                if (rows[i - 1] != rows[i] - 1)
      -                  // Break if no longer continuous.
      -                  break;
      -              }
      -
      -            if (i < rows.length)
      +            int max = listSelectionModel.getMaxSelectionIndex();
      +            for (int i = min; i <= max; i++)
                     {
      -                TreePath[] ns = new TreePath[i];
      -                for (int j = 0; j < ns.length; j++)
      -                  ns[i] = getPath(j);
      -                setSelectionPaths(ns);
      +                if (! listSelectionModel.isSelectedIndex(i))
      +                  {
      +                    if (i == min)
      +                      clearSelection();
      +                    else
      +                      {
      +                        TreePath[] newSelection = new TreePath[i - min];
      +                        int[] rows = rowMapper.getRowsForPaths(selection);
      +                        for (int j = 0; j < rows.length; j++)
      +                          {
      +                            if (rows[j] < i)
      +                              newSelection[rows[j] - min] = selection[j];
      +                          }
      +                        setSelectionPaths(newSelection);
      +                        break;
      +                      }
      +                  }
                     }
                 }
             }
      -    else if (selectionMode == SINGLE_TREE_SELECTION)
      -      selectOne();
      +    else if (selectionMode == SINGLE_TREE_SELECTION && selection != null
      +        && selection.length > 1)
      +      setSelectionPath(selection[0]);
         }
         
      -  /**
      -   * Keep only one (normally last or leading) path in the selection.
      -   */
      -  private void selectOne()
      -  {
      -    if (leadIndex > 0 && leadIndex < selection.length)
      -      setSelectionPath(selection[leadIndex]);
      -    else
      -      setSelectionPath(selection[selection.length - 1]);
      -  }
      -  
      -  /**
      -   * Get path for the given row that must be in the current selection.
      -   */
      -  private TreePath getPath(int row)
      -  {
      -    if (rowMapper instanceof AbstractLayoutCache)
      -      return ((AbstractLayoutCache) rowMapper).getPathForRow(row);
      -    else
      -      {
      -        int[] rows = rowMapper.getRowsForPaths(selection);
      -        for (int i = 0; i < rows.length; i++)
      -          if (rows[i] == row)
      -            return selection[i];
      -      }
      -    throw new InternalError(row + " not in selection");
      -  }
      -
         /**
          * Returns <code>true</code> if the paths are contiguous (take subsequent
          * rows in the diplayed tree view. The method returns <code>true</code> if
      @@ -875,16 +1013,36 @@ public class DefaultTreeSelectionModel
           if (rowMapper == null || paths.length < 2)
             return true;
       
      -    int[] rows = rowMapper.getRowsForPaths(paths);
      -    
      -    // The patches may not be sorted.
      -    Arrays.sort(rows);
      -
      -    for (int i = 1; i < rows.length; i++)
      +    int length = paths.length;
      +    TreePath[] tmp = new TreePath[1];
      +    tmp[0] = paths[0];
      +    int min = rowMapper.getRowsForPaths(tmp)[0];
      +    BitSet selected = new BitSet();
      +    int valid = 0;
      +    for (int i = 0; i < length; i++)
             {
      -        if (rows[i - 1] != rows[i] - 1)
      -          return false;
      +        if (paths[i] != null)
      +          {
      +            tmp[0] = paths[i];
      +            int[] rows = rowMapper.getRowsForPaths(tmp);
      +            if (rows == null)
      +              return false; // No row mapping yet, can't be selected.
      +            int row = rows[0];
      +            if (row == -1 || row < (min - length) || row > (min + length))
      +              return false; // Not contiguous.
      +            min = Math.min(min, row);
      +            if (! selected.get(row))
      +              {
      +                selected.set(row);
      +                valid++;
      +              }
      +            
      +          }
             }
      +    int max = valid + min;
      +    for (int i = min; i < max; i++)
      +      if (! selected.get(i))
      +        return false; // Not contiguous.
           return true;
         }
       
      @@ -904,33 +1062,50 @@ public class DefaultTreeSelectionModel
          */
         protected boolean canPathsBeAdded(TreePath[] paths)
         {
      -    if (rowMapper == null || isSelectionEmpty()
      -        || selectionMode == DISCONTIGUOUS_TREE_SELECTION)
      +    if (paths == null || paths.length == 0 || rowMapper == null
      +        || selection == null || selectionMode == DISCONTIGUOUS_TREE_SELECTION)
             return true;
      -   
      -    TreePath [] all = new TreePath[paths.length + selection.length];
      -    System.arraycopy(paths, 0, all, 0, paths.length);
      -    System.arraycopy(selection, 0, all, paths.length, selection.length);
       
      -    return arePathsContiguous(all);
      +    BitSet selected = new BitSet();
      +    int min = listSelectionModel.getMinSelectionIndex();
      +    int max = listSelectionModel.getMaxSelectionIndex();
      +    TreePath[] tmp = new TreePath[1];
      +    if (min != -1)
      +      {
      +        // Set the bitmask of selected elements.
      +        for (int i = min; i <= max; i++)
      +          selected.set(i);
      +      }
      +    else
      +      {
      +        tmp[0] = paths[0];
      +        min = rowMapper.getRowsForPaths(tmp)[0];
      +        max = min;
      +      }
      +    // Mark new paths as selected.
      +    for (int i = paths.length - 1; i >= 0; i--)
      +      {
      +        if (paths[i] != null)
      +          {
      +            tmp[0] = paths[i];
      +            int[] rows = rowMapper.getRowsForPaths(tmp);
      +            if (rows == null)
      +              return false; // Now row mapping yet, can't be selected.
      +            int row = rows[0];
      +            if (row == -1)
      +              return false; // Now row mapping yet, can't be selected.
      +            min = Math.min(min, row);
      +            max = Math.max(max, row);
      +            selected.set(row);
      +          }
      +      }
      +    // Now look if the new selection would be contiguous.
      +    for (int i = min; i <= max; i++)
      +      if (! selected.get(i))
      +        return false;
      +    return true;
         }
         
      -  /**
      -   * Checks if the single path can be added to selection.
      -   */
      -  private boolean canPathBeAdded(TreePath path)
      -  {
      -    if (rowMapper == null || isSelectionEmpty()
      -        || selectionMode == DISCONTIGUOUS_TREE_SELECTION)
      -      return true;
      -
      -    TreePath[] all = new TreePath[selection.length + 1];
      -    System.arraycopy(selection, 0, all, 0, selection.length);
      -    all[all.length - 1] = path;
      -
      -    return arePathsContiguous(all);
      -  }
      -
         /**
          * Checks if the paths can be removed without breaking the continuity of the
          * selection according to selectionMode.
      @@ -966,20 +1141,23 @@ public class DefaultTreeSelectionModel
          * method will call listeners if invoked, but it is not called from the
          * implementation of this class.
          * 
      -   * @param vPathes the vector of the changed patches
      +   * @param vPaths the vector of the changed patches
          * @param oldLeadSelection the old selection index
          */
      -  protected void notifyPathChange(Vector vPathes, TreePath oldLeadSelection)
      +  protected void notifyPathChange(Vector vPaths, TreePath oldLeadSelection)
         {
      -    TreePath[] pathes = new TreePath[vPathes.size()];
      -    for (int i = 0; i < pathes.length; i++)
      -      pathes[i] = (TreePath) vPathes.get(i);
       
      -    boolean[] news = new boolean[pathes.length];
      -    for (int i = 0; i < news.length; i++)
      -      news[i] = isPathSelected(pathes[i]);
      +    int numChangedPaths = vPaths.size();
      +    boolean[] news = new boolean[numChangedPaths];
      +    TreePath[] paths = new TreePath[numChangedPaths];
      +    for (int i = 0; i < numChangedPaths; i++)
      +      {
      +        PathPlaceHolder p = (PathPlaceHolder) vPaths.get(i);
      +        news[i] = p.isNew;
      +        paths[i] = p.path;
      +      }
       
      -    TreeSelectionEvent event = new TreeSelectionEvent(this, pathes, news,
      +    TreeSelectionEvent event = new TreeSelectionEvent(this, paths, news,
                                                             oldLeadSelection,
                                                             leadPath);
           fireValueChanged(event);
      @@ -991,22 +1169,20 @@ public class DefaultTreeSelectionModel
          */
         protected void updateLeadIndex()
         {
      -    if (isSelectionEmpty())
      +    leadIndex = -1;
      +    if (leadPath != null)
             {
      -        leadRow = leadIndex = - 1;
      -      }
      -    else
      -      {
      -        leadRow = getRow(leadPath);
      -        for (int i = 0; i < selection.length; i++)
      +        leadRow = -1;
      +        if (selection == null)
      +          leadPath = null;
      +        else
                 {
      -            if (selection[i].equals(leadPath))
      +            for (int i = selection.length - 1; i >= 0 && leadIndex == -1; i--)
                     {
      -                leadIndex = i;
      -                break;
      +                if (selection[i] == leadPath)
      +                  leadIndex = i;
                     }
                 }
      -        leadIndex = leadRow;
             }
         }
       
      diff --git a/libjava/classpath/javax/swing/tree/FixedHeightLayoutCache.java b/libjava/classpath/javax/swing/tree/FixedHeightLayoutCache.java
      index a699a6c9f21..dff9298e8f5 100644
      --- a/libjava/classpath/javax/swing/tree/FixedHeightLayoutCache.java
      +++ b/libjava/classpath/javax/swing/tree/FixedHeightLayoutCache.java
      @@ -480,7 +480,7 @@ public class FixedHeightLayoutCache
          * @param parentPath the parent path
          * @return the enumeration over pathes
          */
      -  public Enumeration getVisiblePathsFrom(TreePath parentPath)
      +  public Enumeration<TreePath> getVisiblePathsFrom(TreePath parentPath)
         {
           if (dirty)
             update();
      diff --git a/libjava/classpath/javax/swing/tree/VariableHeightLayoutCache.java b/libjava/classpath/javax/swing/tree/VariableHeightLayoutCache.java
      index 0a787f7ca8c..8c70c13afd2 100644
      --- a/libjava/classpath/javax/swing/tree/VariableHeightLayoutCache.java
      +++ b/libjava/classpath/javax/swing/tree/VariableHeightLayoutCache.java
      @@ -40,6 +40,7 @@ package javax.swing.tree;
       import gnu.javax.swing.tree.GnuPath;
       
       import java.awt.Rectangle;
      +import java.util.ArrayList;
       import java.util.Enumeration;
       import java.util.HashSet;
       import java.util.Hashtable;
      @@ -60,8 +61,11 @@ import javax.swing.event.TreeModelEvent;
        * @author Audrius Meskauskas
        */
       public class VariableHeightLayoutCache
      -                extends AbstractLayoutCache
      +  extends AbstractLayoutCache
       {
      +
      +  private static final Rectangle RECT_CACHE = new Rectangle();
      +
         /**
          * The cached node record.
          */
      @@ -73,8 +77,8 @@ public class VariableHeightLayoutCache
             depth = aDepth;
             parent = aParent;
             node = aNode;
      -      
      -      isExpanded = expanded.contains(aNode); 
      +      isExpanded = expanded.contains(aNode);
      +      bounds = new Rectangle(0, -1, 0, 0);
           }
           
           /**
      @@ -102,7 +106,7 @@ public class VariableHeightLayoutCache
            * Using this field saves one hashtable access operation.
            */
           final boolean isExpanded;
      -    
      +
           /**
            * The cached bounds of the tree row.
            */
      @@ -160,11 +164,6 @@ public class VariableHeightLayoutCache
            */
           Rectangle getBounds()
           {
      -      // This method may be called in the context when the tree rectangle is
      -      // not known. To work around this, it is assumed near infinitely large.
      -      if (bounds == null)
      -        bounds = getNodeDimensions(node, row, depth, isExpanded, 
      -                                   new Rectangle());
             return bounds;      
           }
         }
      @@ -182,7 +181,7 @@ public class VariableHeightLayoutCache
         /**
          * Maps row numbers to nodes.
          */
      -  Hashtable row2node = new Hashtable();
      +  ArrayList row2node = new ArrayList();
         
         /**
          * If true, the row map must be recomputed before using.
      @@ -236,45 +235,54 @@ public class VariableHeightLayoutCache
             return;
       
           Object root = treeModel.getRoot();
      -
      -    if (rootVisible)
      -      {
      -        countRows(root, null, 0);
      -      }
      -    else
      -      {
      -        int sc = treeModel.getChildCount(root);
      -        for (int i = 0; i < sc; i++)
      -          {
      -            Object child = treeModel.getChild(root, i);
      -            countRows(child, root, 0);
      -          }
      -      }
      +    countRows(root, null, 0, 0);
           dirty = false;
         }
         
         /**
          * Recursively counts all rows in the tree.
          */
      -  private final void countRows(Object node, Object parent, int depth)
      +  private final int countRows(Object node, Object parent, int depth, int y)
         {
      -    Integer n = new Integer(row2node.size());
      -    row2node.put(n, node);
      -    
      -    NodeRecord nr = new NodeRecord(n.intValue(), depth, node, parent);
      +    boolean visible = node != treeModel.getRoot() || rootVisible;
      +    int row = row2node.size();
      +    if (visible)
      +      {
      +        row2node.add(node);
      +      }
      +    NodeRecord nr = new NodeRecord(row, depth, node, parent);
      +    NodeDimensions d = getNodeDimensions();
      +    Rectangle r = RECT_CACHE;
      +    if (d != null)
      +      r = d.getNodeDimensions(node, row, depth, nr.isExpanded, r);
      +    else
      +      r.setBounds(0, 0, 0, 0);
      +
      +    if (! visible)
      +      r.y = -1;
      +    else
      +      r.y = Math.max(0, y);
      +
      +    if (isFixedRowHeight())
      +      r.height = getRowHeight();
      +
      +    nr.bounds.setBounds(r);
           nodes.put(node, nr);
      -     
      -    // For expanded nodes
      +
      +    if (visible)
      +      y += r.height;
      +
      +    int sc = treeModel.getChildCount(node);
      +    int deeper = depth + 1;
           if (expanded.contains(node))
             {
      -        int sc = treeModel.getChildCount(node);
      -        int deeper = depth + 1;
               for (int i = 0; i < sc; i++)
                 {
                   Object child = treeModel.getChild(node, i);
      -            countRows(child, node, deeper);
      +            y = countRows(child, node, deeper, y);
                 }
             }
      +    return y;
         }
       
         /**
      @@ -309,10 +317,14 @@ public class VariableHeightLayoutCache
         public void setExpandedState(TreePath path, boolean isExpanded)
         {
           if (isExpanded)
      -      expanded.add(path.getLastPathComponent());
      +      {
      +        int length = path.getPathCount();
      +        for (int i = 0; i < length; i++)
      +          expanded.add(path.getPathComponent(i));
      +      }
           else
             expanded.remove(path.getLastPathComponent());
      -    
      +
           dirty = true;
         }
         
      @@ -339,25 +351,21 @@ public class VariableHeightLayoutCache
             return null;
           if (dirty)
             update();
      +
           Object last = path.getLastPathComponent();
      +    Rectangle result = null;
           NodeRecord r = (NodeRecord) nodes.get(last);
      -    if (r == null)
      -    // This node is not visible.
      -      {
      -        rect.x = rect.y = rect.width = rect.height = 0;
      -      }
      -    else
      +    if (r != null)
             {
      -        if (r.bounds == null)
      -          {
      -            Rectangle dim = getNodeDimensions(last, r.row, r.depth,
      -                                              r.isExpanded, rect);
      -            r.bounds = dim;
      -          }
      -
      -        rect.setRect(r.bounds);
      +        // The RI allows null arguments for rect, in which case a new Rectangle
      +        // is created.
      +        result = rect;
      +        if (result == null)
      +          result = new Rectangle(r.bounds);
      +        else
      +          result.setBounds(r.bounds);
             }
      -    return rect;
      +    return result;
         } 
       
         /**
      @@ -370,14 +378,17 @@ public class VariableHeightLayoutCache
         {
           if (dirty)
             update();
      -    Object last = row2node.get(new Integer(row));
      -    if (last == null)
      -      return null;
      -    else
      +
      +    TreePath path = null;
      +    // Search row in the nodes map. TODO: This is inefficient, optimize this.
      +    Enumeration nodesEnum = nodes.elements();
      +    while (nodesEnum.hasMoreElements() && path == null)
             {
      -        NodeRecord r = (NodeRecord) nodes.get(last);
      -        return r.getPath();
      +        NodeRecord record = (NodeRecord) nodesEnum.nextElement();
      +        if (record.row == row)
      +          path = record.getPath();
             }
      +    return path;
         } 
       
         /**
      @@ -390,7 +401,9 @@ public class VariableHeightLayoutCache
         {
           if (path == null)
             return -1;
      -    if (dirty) update();
      +
      +    if (dirty)
      +      update();
       
           NodeRecord r = (NodeRecord) nodes.get(path.getLastPathComponent());
           if (r == null)
      @@ -451,8 +464,8 @@ public class VariableHeightLayoutCache
         {
           if (y < r.y)
             return r.y - y;
      -    else if (y > r.y + r.height)
      -      return y - (r.y + r.height);
      +    else if (y > r.y + r.height - 1)
      +      return y - (r.y + r.height - 1);
           else
             return 0;
         }
      @@ -468,7 +481,7 @@ public class VariableHeightLayoutCache
          */
         public int getVisibleChildCount(TreePath path)  
         {
      -    if (isExpanded(path))
      +    if (! isExpanded(path) || treeModel == null)
             return 0; 
           else
             return treeModel.getChildCount(path.getLastPathComponent());
      @@ -481,7 +494,7 @@ public class VariableHeightLayoutCache
          * @param parentPath the parent path
          * @return the enumeration over pathes
          */
      -  public Enumeration getVisiblePathsFrom(TreePath parentPath)
      +  public Enumeration<TreePath> getVisiblePathsFrom(TreePath parentPath)
         {
           if (dirty)
             update();
      @@ -493,7 +506,7 @@ public class VariableHeightLayoutCache
             {
               node = parentPath.getPathComponent(i);
               nr = (NodeRecord) nodes.get(node);
      -        if (nr.row >= 0)
      +        if (nr != null && nr.row >= 0)
                 p.add(node);
             }
           return p.elements();
      @@ -558,15 +571,11 @@ public class VariableHeightLayoutCache
         public void setModel(TreeModel newModel)
         {
           treeModel = newModel;
      -    // We need to clear the table and update the layout,
      -    // so that we don't end up with wrong data in the tables.
      -    expanded.clear();
      -    update();
      +    dirty = true;
           if (treeModel != null)
             {
               // The root node is expanded by default.
               expanded.add(treeModel.getRoot());
      -        dirty = true;
             }
         }
         
      @@ -590,15 +599,14 @@ public class VariableHeightLayoutCache
         {
           if (dirty)
             update();
      -    totalHeight = 0;
      -    Enumeration en = nodes.elements();
      -    while (en.hasMoreElements())
      +    int height = 0;
      +    int rowCount = getRowCount();
      +    if (rowCount > 0)
             {
      -        NodeRecord nr = (NodeRecord) en.nextElement();
      -        Rectangle r = nr.getBounds();
      -        totalHeight += r.height;
      +        NodeRecord last = (NodeRecord) nodes.get(row2node.get(rowCount - 1));
      +        height = last.bounds.y + last.bounds.height;
             }
      -    return totalHeight;
      +    return height;
         }
       
         /**
      @@ -614,10 +622,36 @@ public class VariableHeightLayoutCache
           while (en.hasMoreElements())
             {
               NodeRecord nr = (NodeRecord) en.nextElement();
      -        Rectangle r = nr.getBounds();
      -        if (r.x + r.width > maximalWidth)
      -          maximalWidth = r.x + r.width;
      +        if (nr != null)
      +          {
      +            Rectangle r = nr.getBounds();
      +            int width = r.x + r.width;
      +            if (width > maximalWidth)
      +              maximalWidth = width;
      +          }
             }
           return maximalWidth;
         }
      +
      +  /**
      +   * Sets the node dimensions and invalidates the cached layout.
      +   *
      +   * @param dim the dimensions to set
      +   */
      +  public void setNodeDimensions(NodeDimensions dim)
      +  {
      +    super.setNodeDimensions(dim);
      +    dirty = true;
      +  }
      +
      +  /**
      +   * Sets the row height and marks the layout as invalid.
      +   *
      +   * @param height the row height to set
      +   */
      +  public void setRowHeight(int height)
      +  {
      +    super.setRowHeight(height);
      +    dirty = true;
      +  }
       }
      diff --git a/libjava/classpath/javax/swing/undo/CompoundEdit.java b/libjava/classpath/javax/swing/undo/CompoundEdit.java
      index e1cfbb619b3..fbff2a26418 100644
      --- a/libjava/classpath/javax/swing/undo/CompoundEdit.java
      +++ b/libjava/classpath/javax/swing/undo/CompoundEdit.java
      @@ -1,5 +1,5 @@
       /* CompoundEdit.java -- Combines multiple UndoableEdits.
      -   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
      +   Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
       
       This file is part of GNU Classpath.
       
      @@ -75,7 +75,7 @@ public class CompoundEdit
          * The <code>UndoableEdit</code>s being combined into a compound
          * editing action.
          */
      -  protected Vector edits;
      +  protected Vector<UndoableEdit> edits;
       
       
         /**
      @@ -92,7 +92,7 @@ public class CompoundEdit
          */
         public CompoundEdit()
         {
      -    edits = new Vector();
      +    edits = new Vector<UndoableEdit>();
           inProgress = true;
         }
         
      @@ -118,7 +118,7 @@ public class CompoundEdit
           super.undo();
       
           for (int i = edits.size() - 1; i >= 0; i--)
      -      ((UndoableEdit) edits.elementAt(i)).undo();
      +      edits.elementAt(i).undo();
         }
       
       
      @@ -143,7 +143,7 @@ public class CompoundEdit
           super.redo();
       
           for (int i = 0; i < edits.size(); i++)
      -      ((UndoableEdit) edits.elementAt(i)).redo();
      +      edits.elementAt(i).redo();
         }
       
         
      @@ -156,7 +156,7 @@ public class CompoundEdit
           if (edits.size() == 0)
             return null;
           else
      -      return (UndoableEdit) edits.elementAt(edits.size() - 1);
      +      return edits.elementAt(edits.size() - 1);
         }
       
       
      @@ -172,7 +172,7 @@ public class CompoundEdit
         public void die()
         {
           for (int i = edits.size() - 1; i >= 0; i--)
      -      ((UndoableEdit) edits.elementAt(i)).die();
      +      edits.elementAt(i).die();
       
           super.die();
         }
      @@ -316,7 +316,7 @@ public class CompoundEdit
         public boolean isSignificant()
         {
           for (int i = edits.size() - 1; i >= 0; i--)
      -      if (((UndoableEdit) edits.elementAt(i)).isSignificant())
      +      if (edits.elementAt(i).isSignificant())
               return true;
       
           return false;
      diff --git a/libjava/classpath/javax/swing/undo/StateEdit.java b/libjava/classpath/javax/swing/undo/StateEdit.java
      index 326abea1f4e..91fc88faa60 100644
      --- a/libjava/classpath/javax/swing/undo/StateEdit.java
      +++ b/libjava/classpath/javax/swing/undo/StateEdit.java
      @@ -121,14 +121,14 @@ public class StateEdit
          * The state of <code>object</code> at the time of constructing
          * this <code>StateEdit</code>.
          */
      -  protected Hashtable preState;
      +  protected Hashtable<Object, Object> preState;
       
       
         /**
          * The state of <code>object</code> at the time when {@link #end()}
          * was called.
          */
      -  protected Hashtable postState;
      +  protected Hashtable<Object, Object> postState;
       
       
         /**
      diff --git a/libjava/classpath/javax/swing/undo/StateEditable.java b/libjava/classpath/javax/swing/undo/StateEditable.java
      index 459025be7da..7e6cc97856f 100644
      --- a/libjava/classpath/javax/swing/undo/StateEditable.java
      +++ b/libjava/classpath/javax/swing/undo/StateEditable.java
      @@ -100,7 +100,7 @@ public interface StateEditable
          * @param state a hash table containing the relevant state
          * information.
          */
      -  void restoreState(Hashtable state);
      +  void restoreState(Hashtable<?, ?> state);
       
       
         /**
      @@ -110,5 +110,5 @@ public interface StateEditable
          * @param state a hash table for storing relevant state
          * information.
          */
      -  void storeState(Hashtable state);
      +  void storeState(Hashtable<Object, Object> state);
       }
      diff --git a/libjava/classpath/javax/swing/undo/UndoableEditSupport.java b/libjava/classpath/javax/swing/undo/UndoableEditSupport.java
      index 6d7bbea0728..b5a93341954 100644
      --- a/libjava/classpath/javax/swing/undo/UndoableEditSupport.java
      +++ b/libjava/classpath/javax/swing/undo/UndoableEditSupport.java
      @@ -69,7 +69,8 @@ public class UndoableEditSupport
         /**
          * The currently registered listeners.
          */
      -  protected Vector listeners = new Vector();
      +  protected Vector<UndoableEditListener> listeners =
      +    new Vector<UndoableEditListener>();
       
       
         /**
      @@ -148,7 +149,7 @@ public class UndoableEditSupport
         public synchronized UndoableEditListener[] getUndoableEditListeners()
         {
           UndoableEditListener[] result = new UndoableEditListener[listeners.size()];
      -    return (UndoableEditListener[]) listeners.toArray(result);
      +    return listeners.toArray(result);
         }
       
       
      diff --git a/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java b/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java
      index 0dc574e656b..9312e65e06d 100644
      --- a/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java
      +++ b/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java
      @@ -50,7 +50,7 @@ import javax.xml.validation.Schema;
        * Factory for obtaining document builders.
        * Instances of this class are <em>not</em> guaranteed to be thread safe.
        *
      - * @author (a href='mailto:dog@gnu.org'>Chris Burdess</a)
      + * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
        */
       public abstract class DocumentBuilderFactory
       {
      diff --git a/libjava/classpath/javax/xml/validation/SchemaFactory.java b/libjava/classpath/javax/xml/validation/SchemaFactory.java
      index 0042ea32348..0c24104445b 100644
      --- a/libjava/classpath/javax/xml/validation/SchemaFactory.java
      +++ b/libjava/classpath/javax/xml/validation/SchemaFactory.java
      @@ -37,8 +37,14 @@ exception statement from your version. */
       
       package javax.xml.validation;
       
      +import java.io.BufferedReader;
       import java.io.File;
      +import java.io.FileInputStream;
      +import java.io.InputStream;
      +import java.io.InputStreamReader;
      +import java.io.IOException;
       import java.net.URL;
      +import java.util.Properties;
       import javax.xml.XMLConstants;
       import javax.xml.transform.Source;
       import javax.xml.transform.stream.StreamSource;
      @@ -68,6 +74,71 @@ public abstract class SchemaFactory
          */
         public static final SchemaFactory newInstance(String schemaLanguage)
         {
      +    ClassLoader loader = Thread.currentThread().getContextClassLoader();
      +    if (loader == null)
      +      {
      +        loader = SchemaFactory.class.getClassLoader();
      +      }
      +    final String factoryClassName = "javax.xml.validation.SchemaFactory";
      +    String className = null;
      +    int count = 0;
      +    do
      +      {
      +        className = getFactoryClassName(loader, schemaLanguage, count++);
      +        if (className != null)
      +          {
      +            try
      +              {
      +                Class t = (loader != null) ? loader.loadClass(className) :
      +                    Class.forName(className);
      +                return (SchemaFactory) t.newInstance();
      +              }
      +            catch (Exception e)
      +              {
      +                // Ignore any errors and continue algorithm.
      +                // This method doesn't have a means of propagating
      +                // class instantiation errors.
      +                className = null;
      +              }
      +        }
      +    }
      +    while (className == null && count < 2);
      +    try
      +      {
      +        String serviceKey = "/META-INF/services/" + factoryClassName;
      +        InputStream in = (loader != null) ?
      +          loader.getResourceAsStream(serviceKey) :
      +          SchemaFactory.class.getResourceAsStream(serviceKey);
      +        if (in != null)
      +          {
      +            BufferedReader r =
      +              new BufferedReader(new InputStreamReader(in));
      +            try
      +              {
      +                for (String line = r.readLine(); line != null;
      +                        line = r.readLine())
      +                  {
      +                    Class t = (loader != null) ? loader.loadClass(className) :
      +                        Class.forName(className);
      +                    SchemaFactory ret = (SchemaFactory) t.newInstance();
      +                    if (ret.isSchemaLanguageSupported(schemaLanguage))
      +                      return ret;
      +                  }
      +              }
      +            catch (Exception e)
      +              {
      +                // Fall through. See above.
      +              }
      +            finally
      +              {
      +                r.close();
      +              }
      +          }
      +      }
      +    catch (IOException e)
      +      {
      +      }
      +    // Default schema factories for Classpath
           if (XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(schemaLanguage))
             return new gnu.xml.validation.xmlschema.XMLSchemaSchemaFactory();
           if (XMLConstants.RELAXNG_NS_URI.equals(schemaLanguage))
      @@ -75,6 +146,36 @@ public abstract class SchemaFactory
           throw new IllegalArgumentException(schemaLanguage);
         }
       
      +  private static String getFactoryClassName(ClassLoader loader,
      +          String schemaLanguage, int attempt)
      +  {
      +    final String factoryClassName = "javax.xml.validation.SchemaFactory";
      +    final String propertyName = factoryClassName + ":" + schemaLanguage;
      +    switch (attempt)
      +      {
      +        case 0:
      +          return System.getProperty(propertyName);
      +        case 1:
      +          try
      +            {
      +              File file = new File(System.getProperty("java.home"));
      +              file = new File(file, "lib");
      +              file = new File(file, "jaxp.properties");
      +              InputStream in = new FileInputStream(file);
      +              Properties props = new Properties();
      +              props.load(in);
      +              in.close();
      +              return props.getProperty(propertyName);
      +            }
      +          catch (IOException e)
      +            {
      +              return null;
      +            }
      +        default:
      +          return null;
      +      }
      +  }
      +
         /**
          * Indicates whether the specified schema language is supported.
          * @param schemaLanguage the URI of a schema language (see
      diff --git a/libjava/classpath/jvmti.h b/libjava/classpath/jvmti.h
      new file mode 100644
      index 00000000000..b26f7932e54
      --- /dev/null
      +++ b/libjava/classpath/jvmti.h
      @@ -0,0 +1,1819 @@
      +/* jvmti.h - Java Virtual Machine Tool Interface
      +   Copyright (C) 2006  Free Software Foundation
      +
      +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. */
      +
      +
      +/* Note: this file must be compilable by the C compiler (for now,
      +   assuming GNU C is ok).  This means you must never use `//'
      +   comments, and all C++-specific code must be conditional on
      +   __cplusplus.  */
      +
      +#ifndef _CLASSPATH_JVMTI_H
      +#define _CLASSPATH_JVMTI_H
      +#include <jni.h>
      +
      +#include "jvmti_md.h"
      +
      +/* The VM might define JVMTI base types */
      +#ifndef _CLASSPATH_VM_JVMTI_TYPES_DEFINED
      +
      +typedef jobject jthread;
      +typedef jobject jthreadGroup;
      +typedef jlong jlocation;
      +typedef struct _Jv_rawMonitorID *jrawMonitorID;
      +
      +#endif /* !_CLASSPATH_VM_JVMTI_TYPES_DEFINED */
      +
      +/* JVMTI Version */
      +#define JVMTI_VERSION_1_0 0x30010000
      +#define JVMTI_VERSION (JVMTI_VERSION_1_0 + 38)  /* Spec version is 1.0.38 */
      +
      +#ifdef __cplusplus
      +extern "C"
      +{
      +#endif
      +
      +/* These functions might be defined in libraries which we load; the
      +   JVMTI implementation calls them at the appropriate times.  */
      +extern JNIEXPORT jint JNICALL Agent_OnLoad (JavaVM *vm, char *options,
      +					    void *reserved);
      +extern JNIEXPORT void JNICALL Agent_OnUnload (JavaVM *vm);
      +
      +#ifdef __cplusplus
      +}
      +#endif
      +
      +/* Forward declarations */
      +typedef struct _jvmtiAddrLocationMap jvmtiAddrLocationMap;
      +#ifdef __cplusplus
      +typedef struct _Jv_JVMTIEnv jvmtiEnv;
      +#else
      +typedef const struct _Jv_jvmtiEnv *jvmtiEnv;
      +#endif
      +
      +/*
      + * Error constants
      + */
      +
      +typedef enum
      +{
      +  /* Universal Errors */
      +  JVMTI_ERROR_NONE = 0,
      +  JVMTI_ERROR_NULL_POINTER = 100,
      +  JVMTI_ERROR_OUT_OF_MEMORY = 110,
      +  JVMTI_ERROR_ACCESS_DENIED = 111,
      +  JVMTI_ERROR_WRONG_PHASE = 112,
      +  JVMTI_ERROR_INTERNAL = 113,
      +  JVMTI_ERROR_UNATTACHED_THREAD = 115,
      +  JVMTI_ERROR_INVALID_ENVIRONMENT = 116,
      +
      +  /* Function-specific Required Errors */
      +  JVMTI_ERROR_INVALID_PRIORITY = 12,
      +  JVMTI_ERROR_THREAD_NOT_SUSPENDED = 13,
      +  JVMTI_ERROR_THREAD_SUSPENDED = 14,
      +  JVMTI_ERROR_THREAD_NOT_ALIVE = 15,
      +  JVMTI_ERROR_CLASS_NOT_PREPARED = 22,
      +  JVMTI_ERROR_NO_MORE_FRAMES = 31,
      +  JVMTI_ERROR_OPAQUE_FRAME = 32,
      +  JVMTI_ERROR_DUPLICATE = 40,
      +  JVMTI_ERROR_NOT_FOUND = 41,
      +  JVMTI_ERROR_NOT_MONITOR_OWNER = 51,
      +  JVMTI_ERROR_INTERRUPT = 52,
      +  JVMTI_ERROR_UNMODIFIABLE_CLASS = 79,
      +  JVMTI_ERROR_NOT_AVAILABLE = 98,
      +  JVMTI_ERROR_ABSENT_INFORMATION = 101,
      +  JVMTI_ERROR_INVALID_EVENT_TYPE = 102,
      +  JVMTI_ERROR_NATIVE_METHOD = 104,
      +
      +  /* Function-specific Agent Errors */
      +  JVMTI_ERROR_INVALID_THREAD = 10,
      +  JVMTI_ERROR_INVALID_THREAD_GROUP = 11,
      +  JVMTI_ERROR_INVALID_OBJECT = 20,
      +  JVMTI_ERROR_INVALID_CLASS = 21,
      +  JVMTI_ERROR_INVALID_METHODID = 23,
      +  JVMTI_ERROR_INVALID_LOCATION = 24,
      +  JVMTI_ERROR_INVALID_FIELDID = 25,
      +  JVMTI_ERROR_TYPE_MISMATCH = 34,
      +  JVMTI_ERROR_INVALID_SLOT = 35,
      +  JVMTI_ERROR_INVALID_MONITOR = 50,
      +  JVMTI_ERROR_INVALID_CLASS_FORMAT = 60,
      +  JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION = 61,
      +  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED = 63,
      +  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED = 64,
      +  JVMTI_ERROR_INVALID_TYPESTATE = 65,
      +  JVMTI_ERROR_FAILS_VERIFICATION = 62,
      +  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED = 66,
      +  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED = 67,
      +  JVMTI_ERROR_UNSUPPORTED_VERSION = 68,
      +  JVMTI_ERROR_NAMES_DONT_MATCH = 69,
      +  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED = 70,
      +  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED = 71,
      +  JVMTI_ERROR_MUST_POSSESS_CAPABILITY = 99,
      +  JVMTI_ERROR_ILLEGAL_ARGUMENT = 103
      +} jvmtiError;
      +
      +/*
      + * Enumeration Definitions
      + */
      +
      +typedef enum
      +{
      +  JVMTI_DISABLE = 0,
      +  JVMTI_ENABLE = 1
      +} jvmtiEventMode;
      +
      +typedef enum
      +{
      +  JVMTI_HEAP_OBJECT_TAGGED = 1,
      +  JVMTI_HEAP_OBJECT_UNTAGGED = 2,
      +  JVMTI_HEAP_OBJECT_EITHER = 3
      +} jvmtiHeapObjectFilter;
      +
      +typedef enum
      +{
      +  JVMTI_HEAP_ROOT_JNI_GLOBAL = 1,
      +  JVMTI_HEAP_ROOT_SYSTEM_CLASS = 2,
      +  JVMTI_HEAP_ROOT_MONITOR = 3,
      +  JVMTI_HEAP_ROOT_STACK_LOCAL = 4,
      +  JVMTI_HEAP_ROOT_JNI_LOCAL = 5,
      +  JVMTI_HEAP_ROOT_THREAD = 6,
      +  JVMTI_HEAP_ROOT_OTHER = 7
      +} jvmtiHeapRootKind;
      +
      +typedef enum
      +{
      +  JVMTI_ITERATION_ABORT = 0,
      +  JVMTI_ITERATION_CONTINUE = 1,
      +  JVMTI_ITERATION_IGNORE = 2
      +} jvmtiIterationControl;
      +
      +typedef enum
      +{
      +  JVMTI_JLOCATION_OTHER = 0,
      +  JVMTI_JLOCATION_JVMBCI = 1,
      +  JVMTI_JLOCATION_MACHINEPC = 2
      +} jvmtiJlocationFormat;
      +
      +typedef enum
      +{
      +  JVMTI_REFERENCE_CLASS = 1,
      +  JVMTI_REFERENCE_FIELD = 2,
      +  JVMTI_REFERENCE_ARRAY_ELEMENT = 3,
      +  JVMTI_REFERENCE_CLASS_LOADER = 4,
      +  JVMTI_REFERENCE_SIGNERS = 5,
      +  JVMTI_REFERENCE_PROTECTION_DOMAIN = 6,
      +  JVMTI_REFERENCE_INTERFACE = 7,
      +  JVMTI_REFERENCE_STATIC_FIELD = 8,
      +  JVMTI_REFERENCE_CONSTANT_POOL = 9
      +} jvmtiObjectReferenceKind;
      +
      +typedef enum
      +{
      +  JVMTI_KIND_IN = 91,
      +  JVMTI_KIND_IN_PTR = 92,
      +  JVMTI_KIND_IN_BUF = 93,
      +  JVMTI_KIND_ALLOC_BUF = 94,
      +  JVMTI_KIND_ALLOC_ALLOC_BUF = 95,
      +  JVMTI_KIND_OUT = 96,
      +  JVMTI_KIND_OUT_BUF = 97
      +} jvmtiParamKind;
      +
      +typedef enum
      +{
      +  JVMTI_TYPE_JBYTE = 101,
      +  JVMTI_TYPE_JCHAR = 102,
      +  JVMTI_TYPE_JSHORT = 103,
      +  JVMTI_TYPE_JINT = 104,
      +  JVMTI_TYPE_JLONG = 105,
      +  JVMTI_TYPE_JFLOAT = 106,
      +  JVMTI_TYPE_JDOUBLE = 107,
      +  JVMTI_TYPE_JBOOLEAN = 108,
      +  JVMTI_TYPE_JOBJECT = 109,
      +  JVMTI_TYPE_JTHREAD = 110,
      +  JVMTI_TYPE_JCLASS = 111,
      +  JVMTI_TYPE_JVALUE = 112,
      +  JVMTI_TYPE_JFIELDID = 113,
      +  JVMTI_TYPE_JMETHODID = 114,
      +  JVMTI_TYPE_CCHAR = 115,
      +  JVMTI_TYPE_CVOID = 116,
      +  JVMTI_TYPE_JNIENV = 117
      +} jvmtiParamTypes;
      +
      +typedef enum
      +{
      +  JVMTI_PHASE_ONLOAD = 1,
      +  JVMTI_PHASE_PRIMORDIAL = 2,
      +  JVMTI_PHASE_LIVE = 4,
      +  JVMTI_PHASE_START = 6,
      +  JVMTI_PHASE_DEAD = 8
      +} jvmtiPhase;
      +
      +typedef enum
      +{
      +  JVMTI_TIMER_USER_CPU = 30,
      +  JVMTI_TIMER_TOTAL_CPU = 31,
      +  JVMTI_TIMER_ELAPSED = 32
      +} jvmtiTimerKind;
      +
      +typedef enum
      +{
      +  JVMTI_VERBOSE_OTHER = 0,
      +  JVMTI_VERBOSE_GC = 1,
      +  JVMTI_VERBOSE_CLASS = 2,
      +  JVMTI_VERBOSE_JNI = 4
      +} jvmtiVerboseFlag;
      +
      +/* Version information */
      +#define JVMTI_VERSION_INTERFACE_JNI 0x00000000
      +#define JVMTI_VERSION_INTERFACE_JVMTI 0x30000000
      +#define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
      +#define JVMTI_VERSION_MASK_MAJOR 0x0FFF0000
      +#define JVMTI_VERSION_MASK_MINOR 0x0000FF00
      +#define JVMTI_VERSION_MASK_MICRO 0x000000FF
      +#define JVMTI_VERSION_SHIFT_MAJOR 16
      +#define JVMTI_VERSION_SHIFT_MINOR 8
      +#define JVMTI_VERSION_SHIFT_MICRO 0
      +
      +/*
      + * Events and event callbacks
      + */
      +
      +typedef enum
      +{
      +  JVMTI_EVENT_VM_INIT = 50,
      +  JVMTI_EVENT_VM_DEATH = 51,
      +  JVMTI_EVENT_THREAD_START = 52,
      +  JVMTI_EVENT_THREAD_END = 53,
      +  JVMTI_EVENT_CLASS_FILE_LOAD_HOOK = 54,
      +  JVMTI_EVENT_CLASS_LOAD = 55,
      +  JVMTI_EVENT_CLASS_PREPARE = 56,
      +  JVMTI_EVENT_VM_START = 57,
      +  JVMTI_EVENT_EXCEPTION = 58,
      +  JVMTI_EVENT_EXCEPTION_CATCH = 59,
      +  JVMTI_EVENT_SINGLE_STEP =  60,
      +  JVMTI_EVENT_FRAME_POP = 61,
      +  JVMTI_EVENT_BREAKPOINT = 62,
      +  JVMTI_EVENT_FIELD_ACCESS = 63,
      +  JVMTI_EVENT_FIELD_MODIFICATION = 64,
      +  JVMTI_EVENT_METHOD_ENTRY = 65,
      +  JVMTI_EVENT_METHOD_EXIT = 66,
      +  JVMTI_EVENT_NATIVE_METHOD_BIND = 67,
      +  JVMTI_EVENT_COMPILED_METHOD_LOAD = 68,
      +  JVMTI_EVENT_COMPILED_METHOD_UNLOAD = 69,
      +  JVMTI_EVENT_DYNAMIC_CODE_GENERATED = 70,
      +  JVMTI_EVENT_DATA_DUMP_REQUEST = 71,
      +  JVMTI_EVENT_MONITOR_WAIT = 73,
      +  JVMTI_EVENT_MONITOR_WAITED = 74,
      +  JVMTI_EVENT_MONITOR_CONTENDED_ENTER = 75,
      +  JVMTI_EVENT_MONITOR_CONTENDED_ENTERED = 76,
      +  JVMTI_EVENT_GARBAGE_COLLECTION_START = 81,
      +  JVMTI_EVENT_GARBAGE_COLLECTION_FINISH = 82,
      +  JVMTI_EVENT_OBJECT_FREE = 83,
      +  JVMTI_EVENT_VM_OBJECT_ALLOC = 84
      +} jvmtiEvent;
      +
      +typedef void *jvmtiEventReserved;
      +
      +typedef void (JNICALL *jvmtiEventSingleStep)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jlocation location);
      +
      +typedef void (JNICALL *jvmtiEventBreakpoint)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jlocation location);
      +
      +typedef void (JNICALL *jvmtiEventFieldAccess)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jlocation location, jclass field_klass, jobject object, jfieldID field);
      +
      +typedef void (JNICALL *jvmtiEventFieldModification)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jlocation location, jclass field_klass, jobject object, jfieldID field,
      +   char signature_type, jvalue new_value);
      +
      +typedef void (JNICALL *jvmtiEventFramePop)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jboolean was_popped_by_exception);
      +
      +typedef void (JNICALL *jvmtiEventMethodEntry)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method);
      +
      +typedef void (JNICALL *jvmtiEventMethodExit)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jboolean was_popped_by_exception, jvalue return_value);
      +
      +typedef void (JNICALL *jvmtiEventNativeMethodBind)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   void *address, void **new_address_ptr);
      +
      +typedef void (JNICALL *jvmtiEventException)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jlocation location, jobject exception, jmethodID catch_method,
      +   jlocation catch_location);
      +
      +typedef void (JNICALL *jvmtiEventExceptionCatch)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method,
      +   jlocation location, jobject exception);
      +
      +typedef void (JNICALL *jvmtiEventThreadStart)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread);
      +
      +typedef void (JNICALL *jvmtiEventThreadEnd)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread);
      +
      +typedef void (JNICALL *jvmtiEventClassLoad)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass);
      +
      +typedef void (JNICALL *jvmtiEventClassPrepare)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thraed, jclass klass);
      +
      +typedef void (JNICALL *jvmtiEventClassFileLoadHook)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jclass class_being_redefined,
      +   jobject loader, const char *name, jobject protection_domain,
      +   jint class_data_len, const unsigned char *class_data,
      +   jint *new_class_data_len, unsigned char **new_class_data);
      +
      +typedef void (JNICALL *jvmtiEventVMStart)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env);
      +
      +typedef void (JNICALL *jvmtiEventVMInit)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread);
      +
      +typedef void (JNICALL *jvmtiEventVMDeath)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env);
      +
      +typedef void (JNICALL *jvmtiEventCompiledMethodLoad)
      +  (jvmtiEnv *jvmti_env, jmethodID method, jint code_size,
      +   const void *code_addr, jint map_length, const jvmtiAddrLocationMap *map,
      +   const void *compile_info);
      +
      +typedef void (JNICALL *jvmtiEventCompiledMethodUnload)
      +  (jvmtiEnv *jvmti_env, jmethodID method, const void *code_addr);
      +
      +typedef void (JNICALL *jvmtiEventDynamicCodeGenerated)
      +  (jvmtiEnv *jvmti_env, const char *name, const void *address, jint length);
      +
      +typedef void (JNICALL *jvmtiEventDataDumpRequest)
      +  (jvmtiEnv *jvmti_env);
      +
      +typedef void (JNICALL *jvmtiEventMonitorContendedEnter)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object);
      +
      +typedef void (JNICALL *jvmtiEventMonitorContendedEntered)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object);
      +
      +typedef void (JNICALL *jvmtiEventMonitorWait)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object,
      +   jlong timeout);
      +
      +typedef void (JNICALL *jvmtiEventMonitorWaited)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object,
      +   jboolean timed_out);
      +
      +typedef void (JNICALL *jvmtiEventVMObjectAlloc)
      +  (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object,
      +   jclass object_klass, jlong size);
      +
      +typedef void (JNICALL *jvmtiEventObjectFree)
      +  (jvmtiEnv *jvmti_env, jlong tag);
      +
      +typedef void (JNICALL *jvmtiEventGarbageCollectionStart)
      +  (jvmtiEnv *jvmti_env);
      +
      +typedef void (JNICALL *jvmtiEventGarbageCollectionFinish)
      +  (jvmtiEnv *jvmti_env);
      +
      +typedef struct
      +{
      +  jvmtiEventVMInit VMInit;
      +  jvmtiEventVMDeath VMDeath;
      +  jvmtiEventThreadStart ThreadStart;
      +  jvmtiEventThreadEnd ThreadEnd;
      +  jvmtiEventClassFileLoadHook ClassFileLoadHook;
      +  jvmtiEventClassLoad ClassLoad;
      +  jvmtiEventClassPrepare ClassPrepare;
      +  jvmtiEventVMStart VMStart;
      +  jvmtiEventException Exception;
      +  jvmtiEventExceptionCatch ExceptionCatch;
      +  jvmtiEventSingleStep SingleStep;
      +  jvmtiEventFramePop FramePop;
      +  jvmtiEventBreakpoint Breakpoint;
      +  jvmtiEventFieldAccess FieldAccess;
      +  jvmtiEventFieldModification FieldModification;
      +  jvmtiEventMethodEntry MethodEntry;
      +  jvmtiEventMethodExit MethodExit;
      +  jvmtiEventNativeMethodBind NativeMethodBind;
      +  jvmtiEventCompiledMethodLoad CompiledMethodLoad;
      +  jvmtiEventCompiledMethodUnload CompiledMethodUnload;
      +  jvmtiEventDynamicCodeGenerated DynamicCodeGenerated;
      +  jvmtiEventDataDumpRequest DataDumpRequest;
      +  jvmtiEventReserved reserved72;
      +  jvmtiEventMonitorWait MonitorWait;
      +  jvmtiEventMonitorWaited MonitorWaited;
      +  jvmtiEventMonitorContendedEnter MonitorContendedEnter;
      +  jvmtiEventMonitorContendedEntered MonitorContendedEntered;
      +  jvmtiEventReserved reserved77;
      +  jvmtiEventReserved reserved78;
      +  jvmtiEventReserved reserved79;
      +  jvmtiEventReserved reserved80;
      +  jvmtiEventGarbageCollectionStart GarbageCollectionStart;
      +  jvmtiEventGarbageCollectionFinish GarbageCollectionFinish;
      +  jvmtiEventObjectFree ObjectFree;
      +  jvmtiEventVMObjectAlloc VMObjectAlloc;
      +} jvmtiEventCallbacks;
      +
      +/*
      + * Function and Structure Type Definitions
      + */
      +
      +struct _jvmtiAddrLocationMap
      +{
      +  const void *start_address;
      +  jlocation location;
      +};
      +
      +typedef struct
      +{
      +  unsigned int can_tag_objects : 1;
      +  unsigned int can_generate_field_modification_events : 1;
      +  unsigned int can_generate_field_access_events : 1;
      +  unsigned int can_get_bytecodes : 1;
      +  unsigned int can_get_synthetic_attribute : 1;
      +  unsigned int can_get_owned_monitor_info : 1;
      +  unsigned int can_get_current_contended_monitor : 1;
      +  unsigned int can_get_monitor_info : 1;
      +  unsigned int can_pop_frame : 1;
      +  unsigned int can_redefine_classes : 1;
      +  unsigned int can_signal_thread : 1;
      +  unsigned int can_get_source_file_name : 1;
      +  unsigned int can_get_line_numbers : 1;
      +  unsigned int can_get_source_debug_extension : 1;
      +  unsigned int can_access_local_variables : 1;
      +  unsigned int can_maintain_original_method_order : 1;
      +  unsigned int can_generate_single_step_events : 1;
      +  unsigned int can_generate_exception_events : 1;
      +  unsigned int can_generate_frame_pop_events : 1;
      +  unsigned int can_generate_breakpoint_events : 1;
      +  unsigned int can_suspend : 1;
      +  unsigned int can_redefine_any_class : 1;
      +  unsigned int can_get_current_thread_cpu_time : 1;
      +  unsigned int can_get_thread_cpu_time : 1;
      +  unsigned int can_generate_method_entry_events : 1;
      +  unsigned int can_generate_method_exit_events : 1;
      +  unsigned int can_generate_all_class_hook_events : 1;
      +  unsigned int can_generate_compiled_method_load_events : 1;
      +  unsigned int can_generate_monitor_events : 1;
      +  unsigned int can_generate_vm_object_alloc_events : 1;
      +  unsigned int can_generate_native_method_bind_events : 1;
      +  unsigned int can_generate_garbage_collection_events : 1;
      +  unsigned int can_generate_object_free_events : 1;
      +  unsigned int : 15;
      +  unsigned int : 16;
      +  unsigned int : 16;
      +  unsigned int : 16;
      +  unsigned int : 16;
      +  unsigned int : 16;
      +} jvmtiCapabilities;
      +
      +typedef struct
      +{
      +  jclass klass;
      +  jint class_byte_count;
      +  const unsigned char *class_bytes;
      +} jvmtiClassDefinition;
      +
      +typedef struct
      +{
      +  char *name;
      +  jvmtiParamKind kind;
      +  jvmtiParamTypes base_type;
      +  jboolean null_ok;
      +} jvmtiParamInfo;
      +
      +typedef struct
      +{
      +  jint extension_event_index;
      +  char *id;
      +  char *short_description;
      +  jint param_count;
      +  jvmtiParamInfo* params;
      +} jvmtiExtensionEventInfo;
      +
      +typedef jvmtiError (JNICALL *jvmtiExtensionFunction)
      +  (jvmtiEnv *jvmti_enf, ...);
      +
      +typedef struct
      +{
      +  jvmtiExtensionFunction func;
      +  char *id;
      +  char *short_description;
      +  jint param_count;
      +  jvmtiParamInfo *params;
      +  jint error_count;
      +  jvmtiError *errors;
      +} jvmtiExtensionFunctionInfo;
      +
      +typedef struct
      +{
      +  jmethodID method;
      +  jlocation location;
      +} jvmtiFrameInfo;
      +
      +typedef struct
      +{
      +  jlocation start_location;
      +  jint line_number;
      +} jvmtiLineNumberEntry;
      +
      +typedef struct
      +{
      +  jlocation start_location;
      +  jint length;
      +  char *name;
      +  char *signature;
      +  char *generic_signature;
      +  jint slot;
      +} jvmtiLocalVariableEntry;
      +
      +typedef struct
      +{
      +  jthread owner;
      +  jint entry_count;
      +  jint waiter_count;
      +  jthread *waiters;
      +  jint notify_waiter_count;
      +  jthread *notify_waiters;
      +} jvmtiMonitorUsage;
      +
      +typedef struct
      +{
      +  jthread thread;
      +  jint state;
      +  jvmtiFrameInfo *frame_buffer;
      +  jint frame_count;
      +} jvmtiStackInfo;
      +
      +typedef struct
      +{
      +  jthreadGroup parent;
      +  char *name;
      +  jint max_priority;
      +  jboolean is_daemon;
      +} jvmtiThreadGroupInfo;
      +
      +typedef struct
      +{
      +  char *name;
      +  jint priority;
      +  jboolean is_daemon;
      +  jthreadGroup thread_group;
      +  jobject context_class_loader;
      +} jvmtiThreadInfo;
      +
      +typedef struct
      +{
      +  jlong max_value;
      +  jboolean may_skip_forward;
      +  jboolean may_skip_backward;
      +  jvmtiTimerKind kind;
      +  jlong reserved1;
      +  jlong reserved2;
      +} jvmtiTimerInfo;
      +
      +typedef void (JNICALL *jvmtiExtensionEvent)
      +  (jvmtiEnv *jvmti_env, ...);
      +
      +typedef jvmtiIterationControl (JNICALL *jvmtiHeapObjectCallback)
      +  (jlong class_tag, jlong size, jlong *tag_ptr, void *user_data);
      +
      +typedef jvmtiIterationControl (JNICALL *jvmtiHeapRootCallback)
      +  (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr,
      +   void *user_data);
      +
      +typedef jvmtiIterationControl (JNICALL *jvmtiObjectReferenceCallback)
      +  (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size,
      +   jlong *tag_ptr, jlong referrer_tag, jint referrer_index, void *user_data);
      +
      +typedef jvmtiIterationControl (JNICALL *jvmtiStackReferenceCallback)
      +  (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr,
      +   jlong thread_tag, jint depth, jmethodID method, jint slot, void *user_data);
      +
      +typedef void (JNICALL *jvmtiStartFunction)
      +  (jvmtiEnv *env, JNIEnv *jni_env, void *arg);
      +
      +/*
      + * JVM Tool Interface Base Types
      + */
      +typedef struct JNINativeInterface jniNativeInterface;
      +
      +struct _Jv_jvmtiEnv
      +{
      +  void *reserved1;
      +
      +  jvmtiError (JNICALL *SetEventNotificationMode) (jvmtiEnv *env,
      +						  jvmtiEventMode mode,
      +						  jvmtiEvent event_type,
      +						  jthread event_thread, ...);
      +  void *reserved3;
      +
      +  jvmtiError (JNICALL *GetAllThreads) (jvmtiEnv *env,
      +				       jint *threads_count_ptr,
      +				       jthread **threads_ptr);
      +
      +  jvmtiError (JNICALL *SuspendThread) (jvmtiEnv *env,
      +				       jthread thread);
      +
      +  jvmtiError (JNICALL *ResumeThread) (jvmtiEnv *env,
      +				      jthread thread);
      +
      +  jvmtiError (JNICALL *StopThread) (jvmtiEnv *env,
      +				    jthread thread,
      +                                    jobject exception);
      +
      +  jvmtiError (JNICALL *InterruptThread) (jvmtiEnv *env,
      +					 jthread thread);
      +
      +  jvmtiError (JNICALL *GetThreadInfo) (jvmtiEnv *env,
      +				       jthread thread,
      +				       jvmtiThreadInfo *info_ptr);
      +
      +  jvmtiError (JNICALL *GetOwnedMonitorInfo) (jvmtiEnv *env,
      +					     jthread thread,
      +					     jint *owned_monitor_count_ptr,
      +					     jobject **owned_monitors_ptr);
      +
      +  jvmtiError (JNICALL *GetCurrentContendedMonitor) (jvmtiEnv *env,
      +						    jthread thread,
      +						    jobject *monitor_ptr);
      +
      +  jvmtiError (JNICALL *RunAgentThread) (jvmtiEnv *env,
      +					jthread thread,
      +					jvmtiStartFunction proc,
      +					const void *arg,
      +					jint priority);
      +
      +  jvmtiError (JNICALL *GetTopThreadGroups) (jvmtiEnv *env,
      +					    jint *group_count_ptr,
      +					    jthreadGroup **groups_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadGroupInfo) (jvmtiEnv *env,
      +					    jthreadGroup group,
      +					    jvmtiThreadGroupInfo *info_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadGroupChildren) (jvmtiEnv *env,
      +						jthreadGroup group,
      +						jint *thread_count_ptr,
      +						jthread **threads_ptr,
      +						jint *group_count_ptr,
      +						jthreadGroup **groups_ptr);
      +  jvmtiError (JNICALL *GetFrameCount) (jvmtiEnv *env,
      +				       jthread thread,
      +				       jint *count_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadState) (jvmtiEnv *env,
      +					jthread thread,
      +					jint *thread_state_ptr);
      +
      +  void *reserved18;
      +
      +  jvmtiError (JNICALL *GetFrameLocation) (jvmtiEnv *env,
      +					  jthread thread,
      +					  jint depth,
      +					  jmethodID *method_ptr,
      +					  jlocation *location_ptr);
      +
      +  jvmtiError (JNICALL *NotifyPopFrame) (jvmtiEnv *env,
      +					jthread thread,
      +					jint depth);
      +
      +  jvmtiError (JNICALL *GetLocalObject) (jvmtiEnv *env,
      +					jthread thread,
      +					jint depth,
      +					jint slot,
      +					jobject *value_ptr);
      +
      +  jvmtiError (JNICALL *GetLocalInt) (jvmtiEnv *env,
      +				     jthread thread,
      +				     jint depth,
      +				     jint slot,
      +				     jint *value_ptr);
      +
      +  jvmtiError (JNICALL *GetLocalLong) (jvmtiEnv *env,
      +				      jthread thread,
      +				      jint depth,
      +				      jint slot,
      +				      jlong *value_ptr);
      +
      +  jvmtiError (JNICALL *GetLocalFloat) (jvmtiEnv *env,
      +				       jthread thread,
      +				       jint depth,
      +				       jint slot,
      +				       jfloat *value_ptr);
      +
      +  jvmtiError (JNICALL *GetLocalDouble) (jvmtiEnv *env,
      +					jthread thread,
      +					jint depth,
      +					jint slot,
      +					jdouble *value_ptr);
      +
      +  jvmtiError (JNICALL *SetLocalObject) (jvmtiEnv *env,
      +					jthread thread,
      +					jint depth,
      +					jint slot,
      +					jobject value);
      +
      +  jvmtiError (JNICALL *SetLocalInt) (jvmtiEnv *env,
      +				     jthread thread,
      +				     jint depth,
      +				     jint slot,
      +				     jint value);
      +
      +  jvmtiError (JNICALL *SetLocalLong) (jvmtiEnv *env,
      +				      jthread thread,
      +				      jint depth,
      +				      jint slot,
      +				      jlong value);
      +
      +  jvmtiError (JNICALL *SetLocalFloat) (jvmtiEnv *env,
      +				       jthread thread,
      +				       jint depth,
      +				       jint slot,
      +				       jfloat value);
      +
      +  jvmtiError (JNICALL *SetLocalDouble) (jvmtiEnv *env,
      +					jthread thread,
      +					jint depth,
      +					jint slot,
      +					jdouble value);
      +
      +  jvmtiError (JNICALL *CreateRawMonitor) (jvmtiEnv *env,
      +					  const char *name,
      +					  jrawMonitorID *monitor_ptr);
      +
      +  jvmtiError (JNICALL *DestroyRawMonitor) (jvmtiEnv *env,
      +					   jrawMonitorID monitor);
      +
      +  jvmtiError (JNICALL *RawMonitorEnter) (jvmtiEnv *env,
      +					 jrawMonitorID monitor);
      +
      +  jvmtiError (JNICALL *RawMonitorExit) (jvmtiEnv *env,
      +					jrawMonitorID monitor);
      +
      +  jvmtiError (JNICALL *RawMonitorWait) (jvmtiEnv *env,
      +					jrawMonitorID monitor,
      +                                        jlong millis);
      +
      +  jvmtiError (JNICALL *RawMonitorNotify) (jvmtiEnv *env,
      +					  jrawMonitorID monitor);
      +
      +  jvmtiError (JNICALL *RawMonitorNotifyAll) (jvmtiEnv *env,
      +					     jrawMonitorID monitor);
      +
      +  jvmtiError (JNICALL *SetBreakpoint) (jvmtiEnv *env,
      +				       jmethodID method,
      +				       jlocation location);
      +
      +  jvmtiError (JNICALL *ClearBreakpoint) (jvmtiEnv *env,
      +					 jmethodID method,
      +					 jlocation location);
      +
      +  void *reserved40;
      +
      +  jvmtiError (JNICALL *SetFieldAccessWatch) (jvmtiEnv *env,
      +					     jclass klass,
      +					     jfieldID field);
      +
      +  jvmtiError (JNICALL *ClearFieldAccessWatch) (jvmtiEnv *env,
      +					       jclass klass,
      +					       jfieldID field);
      +
      +  jvmtiError (JNICALL *SetFieldModificationWatch) (jvmtiEnv *env,
      +						   jclass klass,
      +						   jfieldID field);
      +
      +  jvmtiError (JNICALL *ClearFieldModificationWatch) (jvmtiEnv *env,
      +						     jclass klass,
      +						     jfieldID field);
      +
      +  void *reserved45;
      +
      +  jvmtiError (JNICALL *Allocate) (jvmtiEnv *env,
      +				  jlong size,
      +				  unsigned char **mem_ptr);
      +
      +  jvmtiError (JNICALL *Deallocate) (jvmtiEnv *env,
      +				    unsigned char *mem);
      +
      +  jvmtiError (JNICALL *GetClassSignature) (jvmtiEnv *env,
      +					   jclass klass,
      +					   char **signature_ptr,
      +					   char **generic_ptr);
      +
      +  jvmtiError (JNICALL *GetClassStatus) (jvmtiEnv *env,
      +					jclass klass,
      +					jint *status_ptr);
      +
      +  jvmtiError (JNICALL *GetSourceFileName) (jvmtiEnv *env,
      +					   jclass klass,
      +					   char **source_name_ptr);
      +
      +  jvmtiError (JNICALL *GetClassModifiers) (jvmtiEnv *env,
      +					   jclass klass,
      +					   jint *modifiers_ptr);
      +
      +  jvmtiError (JNICALL *GetClassMethods) (jvmtiEnv *env,
      +					 jclass klass,
      +					 jint *method_count_ptr,
      +					 jmethodID **methods_ptr);
      +
      +  jvmtiError (JNICALL *GetClassFields) (jvmtiEnv *env,
      +					jclass klass,
      +					jint *field_count_ptr,
      +					jfieldID **fields_ptr);
      +
      +  jvmtiError (JNICALL *GetImplementedInterfaces) (jvmtiEnv *env,
      +						  jclass klass,
      +						  jint *interface_count_ptr,
      +						  jclass **interfaces_ptr);
      +
      +  jvmtiError (JNICALL *IsInterface) (jvmtiEnv *env,
      +				     jclass klass,
      +				     jboolean *is_interface_ptr);
      +
      +  jvmtiError (JNICALL *IsArrayClass) (jvmtiEnv *env,
      +				      jclass klass,
      +				      jboolean *is_array_class_ptr);
      +
      +  jvmtiError (JNICALL *GetClassLoader) (jvmtiEnv *env,
      +					jclass klass,
      +					jobject *classloader_ptr);
      +
      +  jvmtiError (JNICALL *GetObjectHashCode) (jvmtiEnv *env,
      +					   jobject object,
      +					   jint *hash_code_ptr);
      +
      +  jvmtiError (JNICALL *GetObjectMonitorUsage) (jvmtiEnv *env,
      +					       jobject object,
      +					       jvmtiMonitorUsage *info_ptr);
      +
      +  jvmtiError (JNICALL *GetFieldName) (jvmtiEnv *env,
      +				      jclass klass,
      +				      jfieldID field,
      +				      char **name_ptr,
      +				      char **signature_ptr,
      +				      char **generic_ptr);
      +
      +  jvmtiError (JNICALL *GetFieldDeclaringClass) (jvmtiEnv *env,
      +						jclass klass,
      +						jfieldID field,
      +						jclass *declaring_class_ptr);
      +
      +  jvmtiError (JNICALL *GetFieldModifiers) (jvmtiEnv *env,
      +					   jclass klass,
      +					   jfieldID field,
      +					   jint *modifiers_ptr);
      +
      +  jvmtiError (JNICALL *IsFieldSynthetic) (jvmtiEnv *env,
      +					  jclass klass,
      +					  jfieldID field,
      +					  jboolean *is_synthetic_ptr);
      +
      +  jvmtiError (JNICALL *GetMethodName) (jvmtiEnv *env,
      +				       jmethodID method,
      +				       char **name_ptr,
      +				       char **signature_ptr,
      +				       char **generic_ptr);
      +
      +  jvmtiError (JNICALL *GetMethodDeclaringClass) (jvmtiEnv *env,
      +						 jmethodID method,
      +						 jclass *declaring_class_ptr);
      +
      +
      +  jvmtiError (JNICALL *GetMethodModifiers) (jvmtiEnv *env,
      +					    jmethodID method,
      +					    jint *modifiers_ptr);
      +
      +  void *reserved67;
      +
      +  jvmtiError (JNICALL *GetMaxLocals) (jvmtiEnv *env,
      +				      jmethodID method,
      +				      jint *max_ptr);
      +
      +  jvmtiError (JNICALL *GetArgumentsSize) (jvmtiEnv *env,
      +					  jmethodID method,
      +					  jint *size_ptr);
      +
      +  jvmtiError (JNICALL *GetLineNumberTable) (jvmtiEnv *env,
      +					    jmethodID method,
      +					    jint *entry_count_ptr,
      +					    jvmtiLineNumberEntry **table_ptr);
      +
      +  jvmtiError (JNICALL *GetMethodLocation) (jvmtiEnv *env,
      +					   jmethodID method,
      +					   jlocation *start_location_ptr,
      +					   jlocation *end_location_ptr);
      +
      +  jvmtiError (JNICALL *GetLocalVariableTable) (jvmtiEnv *env,
      +					       jmethodID method,
      +					       jint *entry_count_ptr,
      +					       jvmtiLocalVariableEntry **table_ptr);
      +
      +  void *reserved73;
      +
      +  void *reserved74;
      +
      +  jvmtiError (JNICALL *GetBytecodes) (jvmtiEnv *env,
      +				      jmethodID method,
      +				      jint *bytecode_count_ptr,
      +				      unsigned char **bytecodes_ptr);
      +
      +  jvmtiError (JNICALL *IsMethodNative) (jvmtiEnv *env,
      +					jmethodID method,
      +					jboolean *is_native_ptr);
      +
      +  jvmtiError (JNICALL *IsMethodSynthetic) (jvmtiEnv *env,
      +					   jmethodID method,
      +					   jboolean *is_synthetic_ptr);
      +
      +  jvmtiError (JNICALL *GetLoadedClasses) (jvmtiEnv *env,
      +					  jint *class_count_ptr,
      +					  jclass **classes_ptr);
      +
      +  jvmtiError (JNICALL *GetClassLoaderClasses) (jvmtiEnv *env,
      +					       jobject initiating_loader,
      +					       jint *class_count_ptr,
      +					       jclass **classes_ptr);
      +
      +  jvmtiError (JNICALL *PopFrame) (jvmtiEnv *env,
      +				  jthread thread);
      +
      +  void *reserved81;
      +
      +  void *reserved82;
      +
      +  void *reserved83;
      +
      +  void *reserved84;
      +
      +  void *reserved85;
      +
      +  void *reserved86;
      +
      +  jvmtiError (JNICALL *RedefineClasses) (jvmtiEnv *env,
      +					 jint class_count,
      +					 const jvmtiClassDefinition* class_definitions);
      +
      +  jvmtiError (JNICALL *GetVersionNumber) (jvmtiEnv *env,
      +					  jint *version_ptr);
      +
      +  jvmtiError (JNICALL *GetCapabilities) (jvmtiEnv *env,
      +					 jvmtiCapabilities *capabilities_ptr);
      +
      +  jvmtiError (JNICALL *GetSourceDebugExtension) (jvmtiEnv *env,
      +						 jclass klass,
      +						 char **source_debug_extension_ptr);
      +
      +  jvmtiError (JNICALL *IsMethodObsolete) (jvmtiEnv *env,
      +					  jmethodID method,
      +					  jboolean *is_obsolete_ptr);
      +
      +  jvmtiError (JNICALL *SuspendThreadList) (jvmtiEnv *env,
      +					   jint request_count,
      +					   const jthread *request_list,
      +					   jvmtiError *results);
      +
      +  jvmtiError (JNICALL *ResumeThreadList) (jvmtiEnv *env,
      +					  jint request_count,
      +					  const jthread *request_list,
      +					  jvmtiError *results);
      +
      +  void *reserved94;
      +
      +  void *reserved95;
      +
      +  void *reserved96;
      +
      +  void *reserved97;
      +
      +  void *reserved98;
      +
      +  void *reserved99;
      +
      +  jvmtiError (JNICALL *GetAllStackTraces) (jvmtiEnv *env,
      +					   jint max_frame_count,
      +					   jvmtiStackInfo **stack_info_ptr,
      +					   jint *thread_count_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadListStackTraces) (jvmtiEnv *env,
      +						  jint thread_count,
      +						  const jthread *thread_list,
      +						  jint max_frame_count,
      +						  jvmtiStackInfo **stack_info_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadLocalStorage) (jvmtiEnv *env,
      +					       jthread thread,
      +					       void **data_ptr);
      +
      +  jvmtiError (JNICALL *SetThreadLocalStorage) (jvmtiEnv *env,
      +					       jthread thread,
      +					       const void *data);
      +
      +  jvmtiError (JNICALL *GetStackTrace) (jvmtiEnv *env,
      +				       jthread thread,
      +				       jint start_depth,
      +				       jint max_frame_count,
      +				       jvmtiFrameInfo *frame_buffer,
      +				       jint *count_ptr);
      +
      +  void *reserved105;
      +
      +  jvmtiError (JNICALL *GetTag) (jvmtiEnv *env,
      +				jobject object,
      +				jlong *tag_ptr);
      +
      +  jvmtiError (JNICALL *SetTag) (jvmtiEnv *env,
      +				jobject object,
      +				jlong tag);
      +
      +  jvmtiError (JNICALL *ForceGarbageCollection) (jvmtiEnv *env);
      +
      +  jvmtiError (JNICALL *IterateOverObjectsReachableFromObject) (jvmtiEnv *env,
      +							       jobject object,
      +							       jvmtiObjectReferenceCallback object_reference_callback,
      +							       void *user_data);
      +
      +  jvmtiError (JNICALL *IterateOverReachableObjects) (jvmtiEnv *env,
      +						     jvmtiHeapRootCallback heap_root_callback,
      +						     jvmtiStackReferenceCallback stack_ref_callback,
      +						     jvmtiObjectReferenceCallback object_ref_callback,
      +						     void *user_data);
      +
      +  jvmtiError (JNICALL *IterateOverHeap) (jvmtiEnv *env,
      +					 jvmtiHeapObjectFilter object_filter,
      +					 jvmtiHeapObjectCallback heap_object_callback,
      +					 void *user_data);
      +
      +  jvmtiError (JNICALL *IterateOverInstanceOfClass) (jvmtiEnv *env,
      +						    jclass klass,
      +						    jvmtiHeapObjectFilter object_filter,
      +						    jvmtiHeapObjectCallback heap_object_callback,
      +						    void *user_data);
      +
      +  void *reserved113;
      +
      +  jvmtiError (JNICALL *GetObjectsWithTags) (jvmtiEnv *env,
      +					    jint tag_count,
      +					    const jlong *tags,
      +					    jint *count_ptr,
      +					    jobject **object_result_ptr,
      +					    jlong **tag_result_ptr);
      +
      +  void *reserved115;
      +
      +  void *reserved116;
      +
      +  void *reserved117;
      +
      +  void *reserved118;
      +
      +  void *reserved119;
      +
      +  jvmtiError (JNICALL *SetJNIFunctionTable) (jvmtiEnv *env,
      +					     const jniNativeInterface *function_table);
      +
      +  jvmtiError (JNICALL *GetJNIFunctionTable) (jvmtiEnv *env,
      +					     jniNativeInterface **function_table_ptr);
      +
      +  jvmtiError (JNICALL *SetEventCallbacks) (jvmtiEnv *env,
      +					   const jvmtiEventCallbacks *callbacks,
      +					   jint size_of_callbacks);
      +
      +  jvmtiError (JNICALL *GenerateEvents) (jvmtiEnv *env,
      +					jvmtiEvent event_type);
      +
      +  jvmtiError (JNICALL *GetExtensionFunctions) (jvmtiEnv *env,
      +					       jint *extension_count_ptr,
      +					       jvmtiExtensionFunctionInfo **extensions);
      +
      +  jvmtiError (JNICALL *GetExtensionEvents) (jvmtiEnv *env,
      +					    jint *extension_count_ptr,
      +					    jvmtiExtensionEventInfo **extensions);
      +
      +  jvmtiError (JNICALL *SetExtensionEventCallback) (jvmtiEnv *env,
      +						   jint extension_event_index,
      +						   jvmtiExtensionEvent callback);
      +
      +  jvmtiError (JNICALL *DisposeEnvironment) (jvmtiEnv *env);
      +
      +  jvmtiError (JNICALL *GetErrorName) (jvmtiEnv *env,
      +				      jvmtiError error,
      +				      char **name_ptr);
      +
      +  jvmtiError (JNICALL *GetJLocationFormat) (jvmtiEnv *env,
      +					    jvmtiJlocationFormat *format_ptr);
      +
      +  jvmtiError (JNICALL *GetSystemProperties) (jvmtiEnv *env,
      +					     jint *count_ptr,
      +					     char ***property_ptr);
      +
      +  jvmtiError (JNICALL *GetSystemProperty) (jvmtiEnv *env,
      +					   const char *property,
      +					   char **value_ptr);
      +
      +  jvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv *env,
      +					   const char *property,
      +					   const char *value);
      +
      +  jvmtiError (JNICALL *GetPhase) (jvmtiEnv *env,
      +				  jvmtiPhase *phase_ptr);
      +
      +  jvmtiError (JNICALL *GetCurrentThreadCpuTimerInfo) (jvmtiEnv *env,
      +						      jvmtiTimerInfo *info_ptr);
      +
      +  jvmtiError (JNICALL *GetCurrentThreadCpuTime) (jvmtiEnv *env,
      +						 jlong *nanos_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadCpuTimerInfo) (jvmtiEnv *env,
      +					       jvmtiTimerInfo *info_ptr);
      +
      +  jvmtiError (JNICALL *GetThreadCpuTime) (jvmtiEnv *env,
      +					  jthread thread,
      +					  jlong *nanos_ptr);
      +
      +  jvmtiError (JNICALL *GetTimerInfo) (jvmtiEnv *env,
      +				      jvmtiTimerInfo *info_ptr);
      +
      +  jvmtiError (JNICALL *GetTime) (jvmtiEnv *env,
      +				 jlong *nanos_ptr);
      +
      +  jvmtiError (JNICALL *GetPotentialCapabilities) (jvmtiEnv *env,
      +						  jvmtiCapabilities *capabilities_ptr);
      +
      +  void *reserved141;
      +
      +  jvmtiError (JNICALL *AddCapabilities) (jvmtiEnv *env,
      +					 const jvmtiCapabilities *capabilities_ptr);
      +
      +  jvmtiError (JNICALL *RelinquishCapabilities) (jvmtiEnv *env,
      +						const jvmtiCapabilities *capabilities_ptr);
      +
      +  jvmtiError (JNICALL *GetAvailableProcessors) (jvmtiEnv *env,
      +						jint *processor_count_ptr);
      +
      +  void *reserved145;
      +
      +  void *reserved146;
      +
      +  jvmtiError (JNICALL *GetEnvironmentLocalStorage) (jvmtiEnv *env,
      +						    void **data_ptr);
      +
      +  jvmtiError (JNICALL *SetEnvironmentLocalStorage) (jvmtiEnv *env,
      +						    const void *data);
      +
      +  jvmtiError (JNICALL *AddToBootstrapClassLoaderSearch) (jvmtiEnv *env,
      +							 const char *segment);
      +
      +  jvmtiError (JNICALL *SetVerboseFlag) (jvmtiEnv *env,
      +					jvmtiVerboseFlag flag,
      +					jboolean value);
      +
      +  void *reserved151;
      +
      +  void *reserved152;
      +
      +  void *reserved153;
      +
      +  jvmtiError (JNICALL *GetObjectSize) (jvmtiEnv *env,
      +				       jobject object,
      +				       jlong *size_ptr);
      +};
      +
      +#ifdef __cplusplus
      +class _Jv_JVMTIEnv
      +{
      + public:
      +  /* Method table */
      +  struct _Jv_jvmtiEnv *p;
      +
      +#ifdef _CLASSPATH_JVMTIENV_CONTENTS
      +  _CLASSPATH_JVMTIENV_CONTENTS
      +#endif
      +
      +  jvmtiError SetEventNotificationMode (jvmtiEventMode mode,
      +				       jvmtiEvent event_type,
      +				       jthread event_thread, ...)
      +  {
      +    va_list args;
      +    va_start (args, event_thread);
      +    jvmtiError result = p->SetEventNotificationMode (this, mode, event_type,
      +						     event_thread, args);
      +    va_end (args);
      +    return result;
      +  }
      +
      +  jvmtiError GetAllThreads (jint *threads_count_ptr, jthread **threads_ptr)
      +  { return p->GetAllThreads (this, threads_count_ptr, threads_ptr); }
      +
      +  jvmtiError SuspendThread (jthread thread)
      +  { return p->SuspendThread (this, thread); }
      +
      +  jvmtiError ResumeThread (jthread thread)
      +  { return p->ResumeThread (this, thread); }
      +
      +  jvmtiError StopThread (jthread thread, jobject exception)
      +  { return p->StopThread (this, thread, exception); }
      +
      +  jvmtiError InterruptThread (jthread thread)
      +  { return p->InterruptThread (this, thread); }
      +
      +  jvmtiError GetThreadInfo (jthread thread, jvmtiThreadInfo *info_ptr)
      +  { return p->GetThreadInfo (this, thread, info_ptr); }
      +
      +  jvmtiError GetOwnedMonitorInfo (jthread thread,
      +				  jint *owned_monitor_count_ptr,
      +				  jobject **owned_monitors_ptr)
      +  { 
      +    return p->GetOwnedMonitorInfo (this, thread, owned_monitor_count_ptr,
      +				   owned_monitors_ptr);
      +  }
      +
      +  jvmtiError GetCurrentContendedMonitor (jthread thread, jobject *monitor_ptr)
      +  { return p->GetCurrentContendedMonitor (this, thread, monitor_ptr); }
      +
      +  jvmtiError RunAgentThread (jthread thread, jvmtiStartFunction proc,
      +			     const void *arg, jint priority)
      +  { return p->RunAgentThread (this, thread, proc, arg, priority); }
      +
      +  jvmtiError GetTopThreadGroups (jint *group_count_ptr, 
      +				 jthreadGroup **groups_ptr)
      +  { return p->GetTopThreadGroups (this, group_count_ptr, groups_ptr); }
      +
      +  jvmtiError GetThreadGroupInfo (jthreadGroup group, 
      +				 jvmtiThreadGroupInfo *info_ptr)
      +  { return p->GetThreadGroupInfo (this, group, info_ptr); }
      +
      +  jvmtiError GetThreadGroupChildren (jthreadGroup group,
      +				     jint *thread_count_ptr,
      +				     jthread **threads_ptr,
      +				     jint *group_count_ptr,
      +				     jthreadGroup **groups_ptr)
      +  {
      +    return p->GetThreadGroupChildren (this, group, thread_count_ptr,
      +				      threads_ptr, group_count_ptr,
      +				      groups_ptr);
      +  }
      +
      +  jvmtiError GetFrameCount (jthread thread, jint *count_ptr)
      +  { return p->GetFrameCount (this, thread, count_ptr); }
      +
      +  jvmtiError GetThreadState (jthread thread, jint *thread_state_ptr)
      +  { return p->GetThreadState (this, thread, thread_state_ptr); }
      +
      +  jvmtiError GetFrameLocation (jthread thread, jint depth,
      +			       jmethodID *method_ptr, jlocation *location_ptr)
      +  {
      +    return p->GetFrameLocation (this, thread, depth, method_ptr,
      +				location_ptr);
      +  }
      +
      +  jvmtiError NotifyPopFrame (jthread thread, jint depth)
      +  { return p->NotifyPopFrame (this, thread, depth); }
      +
      +  jvmtiError GetLocalObject (jthread thread, jint depth, jint slot,
      +			     jobject *value_ptr)
      +  { return p->GetLocalObject (this, thread, depth, slot, value_ptr); }
      +
      +  jvmtiError GetLocalInt (jthread thread, jint depth, jint slot,
      +			  jint *value_ptr)
      +  { return p->GetLocalInt (this, thread, depth, slot, value_ptr); }
      +
      +  jvmtiError GetLocalLong (jthread thread, jint depth, jint slot,
      +			   jlong *value_ptr)
      +  { return p->GetLocalLong (this, thread, depth, slot, value_ptr); }
      +
      +  jvmtiError GetLocalFloat (jthread thread, jint depth, jint slot,
      +			    jfloat *value_ptr)
      +  { return p->GetLocalFloat (this, thread, depth, slot, value_ptr); }
      +
      +  jvmtiError GetLocalDouble (jthread thread, jint depth, jint slot,
      +			     jdouble *value_ptr)
      +  { return p->GetLocalDouble (this, thread, depth, slot, value_ptr); }
      +
      +  jvmtiError SetLocalObject (jthread thread, jint depth, jint slot,
      +			     jobject value)
      +  { return p->SetLocalObject (this, thread, depth, slot, value); }
      +
      +  jvmtiError SetLocalInt (jthread thread, jint depth, jint slot,
      +			  jint value)
      +  { return p->SetLocalInt (this, thread, depth, slot, value); }
      +
      +  jvmtiError SetLocalLong (jthread thread, jint depth, jint slot, 
      +			   jlong value)
      +  { return p->SetLocalLong (this, thread, depth, slot, value); }
      +
      +  jvmtiError SetLocalFloat (jthread thread, jint depth, jint slot,
      +			    jfloat value)
      +  { return p->SetLocalFloat (this, thread, depth, slot, value); }
      +
      +  jvmtiError SetLocalDouble (jthread thread, jint depth, jint slot,
      +			     jdouble value)
      +  { return p->SetLocalDouble (this, thread, depth, slot, value); }
      +
      +  jvmtiError CreateRawMonitor (const char *name, jrawMonitorID *monitor_ptr)
      +  { return p->CreateRawMonitor (this, name, monitor_ptr); }
      +
      +  jvmtiError DestroyRawMonitor (jrawMonitorID monitor)
      +  { return p->DestroyRawMonitor (this, monitor); }
      +
      +  jvmtiError RawMonitorEnter (jrawMonitorID monitor)
      +  { return p->RawMonitorEnter (this, monitor); }
      +
      +  jvmtiError RawMonitorExit (jrawMonitorID monitor)
      +  { return p->RawMonitorExit (this, monitor); }
      +
      +  jvmtiError RawMonitorWait (jrawMonitorID monitor, jlong millis)
      +  { return p->RawMonitorWait (this, monitor, millis); }
      +
      +  jvmtiError RawMonitorNotify (jrawMonitorID monitor)
      +  { return p->RawMonitorNotify (this, monitor); }
      +
      +  jvmtiError RawMonitorNotifyAll (jrawMonitorID monitor)
      +  { return p->RawMonitorNotifyAll (this, monitor); }
      +
      +  jvmtiError SetBreakpoint (jmethodID method, jlocation location)
      +  { return p->SetBreakpoint (this, method, location); }
      +
      +  jvmtiError ClearBreakpoint (jmethodID method, jlocation location)
      +  { return p->ClearBreakpoint (this, method, location); }
      +
      +  jvmtiError SetFieldAccessWatch (jclass klass, jfieldID field)
      +  { return p->SetFieldAccessWatch (this, klass, field); }
      +
      +  jvmtiError ClearFieldAccessWatch (jclass klass, jfieldID field)
      +  { return p->ClearFieldAccessWatch (this, klass, field); }
      +
      +  jvmtiError SetFieldModificationWatch (jclass klass, jfieldID field)
      +  { return p->SetFieldModificationWatch (this, klass, field); }
      +
      +  jvmtiError ClearFieldModificationWatch (jclass klass, jfieldID field)
      +  { return p->ClearFieldModificationWatch (this, klass, field); }
      +
      +  jvmtiError Allocate (jlong size, unsigned char **mem_ptr)
      +  { return p->Allocate (this, size, mem_ptr); }
      +
      +  jvmtiError Deallocate (unsigned char *mem)
      +  { return p->Deallocate (this, mem); }
      +
      +  jvmtiError GetClassSignature (jclass klass, char **signature_ptr,
      +				char **generic_ptr)
      +  { return p->GetClassSignature (this, klass, signature_ptr, generic_ptr); }
      +
      +  jvmtiError GetClassStatus (jclass klass, jint *status_ptr)
      +  { return p->GetClassStatus (this, klass, status_ptr); }
      +
      +  jvmtiError GetSourceFileName (jclass klass, char **source_name_ptr)
      +  { return p->GetSourceFileName (this, klass, source_name_ptr); }
      +
      +  jvmtiError GetClassModifiers (jclass klass, jint *modifiers_ptr)
      +  { return p->GetClassModifiers (this, klass, modifiers_ptr); }
      +
      +  jvmtiError GetClassMethods (jclass klass, jint *method_count_ptr,
      +			      jmethodID **methods_ptr)
      +  { return p->GetClassMethods (this, klass, method_count_ptr, methods_ptr); }
      +
      +  jvmtiError GetClassFields (jclass klass, jint *field_count_ptr,
      +			     jfieldID **fields_ptr)
      +  { return p->GetClassFields (this, klass, field_count_ptr, fields_ptr); }
      +
      +  jvmtiError GetImplementedInterfaces (jclass klass,
      +				       jint *interface_count_ptr,
      +				       jclass **interfaces_ptr)
      +  {
      +    return p->GetImplementedInterfaces (this, klass, interface_count_ptr,
      +					interfaces_ptr);
      +  }
      + 
      +  jvmtiError IsInterface (jclass klass, jboolean *is_interface_ptr)
      +  { return p->IsInterface (this, klass, is_interface_ptr); }
      +
      +  jvmtiError IsArrayClass (jclass klass, jboolean *is_array_class_ptr)
      +  { return p->IsArrayClass (this, klass, is_array_class_ptr); }
      +
      +  jvmtiError GetClassLoader (jclass klass, jobject *classloader_ptr)
      +  { return p->GetClassLoader (this, klass, classloader_ptr); }
      +
      +  jvmtiError GetObjectHashCode (jobject object, jint *hash_code_ptr)
      +  { return p->GetObjectHashCode (this, object, hash_code_ptr); }
      +
      +  jvmtiError GetObjectMonitorUsage (jobject object,
      +				    jvmtiMonitorUsage *info_ptr)
      +  { return p->GetObjectMonitorUsage (this, object, info_ptr); }
      +
      +  jvmtiError GetFieldName (jclass klass, jfieldID field, char **name_ptr,
      +			   char **signature_ptr, char **generic_ptr)
      +  {
      +    return p->GetFieldName (this, klass, field, name_ptr,
      +			    signature_ptr, generic_ptr);
      +  }
      +
      +  jvmtiError GetFieldDeclaringClass (jclass klass, jfieldID field,
      +				     jclass *declaring_class_ptr)
      +  {
      +    return p->GetFieldDeclaringClass (this, klass, field,
      +				      declaring_class_ptr);
      +  }
      +
      +  jvmtiError GetFieldModifiers (jclass klass, jfieldID field,
      +				jint *modifiers_ptr)
      +  { return p->GetFieldModifiers (this, klass, field, modifiers_ptr); }
      +
      +  jvmtiError IsFieldSynthetic (jclass klass, jfieldID field,
      +			       jboolean *is_synthetic_ptr)
      +  { return p->IsFieldSynthetic (this, klass, field, is_synthetic_ptr); }
      +
      +  jvmtiError GetMethodName (jmethodID method, char **name_ptr,
      +			    char **signature_ptr, char **generic_ptr)
      +  {
      +    return p->GetMethodName (this, method, name_ptr, signature_ptr,
      +			     generic_ptr);
      +  }
      +
      +  jvmtiError GetMethodDeclaringClass (jmethodID method,
      +				      jclass *declaring_class_ptr)
      +  { return p->GetMethodDeclaringClass (this, method, declaring_class_ptr); }
      +
      +
      +  jvmtiError GetMethodModifiers (jmethodID method, jint *modifiers_ptr)
      +  { return p->GetMethodModifiers (this, method, modifiers_ptr); }
      +
      +  jvmtiError GetMaxLocals (jmethodID method, jint *max_ptr)
      +  { return p->GetMaxLocals (this, method, max_ptr); }
      +
      +  jvmtiError GetArgumentsSize (jmethodID method, jint *size_ptr)
      +  { return p->GetArgumentsSize (this, method, size_ptr); }
      +
      +  jvmtiError GetLineNumberTable (jmethodID method, jint *entry_count_ptr,
      +				 jvmtiLineNumberEntry **table_ptr)
      +  { return p->GetLineNumberTable (this, method, entry_count_ptr, table_ptr); }
      +
      +  jvmtiError GetMethodLocation (jmethodID method,
      +				jlocation *start_location_ptr,
      +				jlocation *end_location_ptr)
      +  {
      +    return p->GetMethodLocation (this, method, start_location_ptr,
      +				 end_location_ptr);
      +  }
      +
      +  jvmtiError GetLocalVariableTable (jmethodID method, jint *entry_count_ptr,
      +				    jvmtiLocalVariableEntry **table_ptr)
      +  {
      +    return p->GetLocalVariableTable (this, method, entry_count_ptr,
      +				     table_ptr);
      +  }
      +
      +  jvmtiError GetBytecodes (jmethodID method, jint *bytecode_count_ptr,
      +			   unsigned char **bytecodes_ptr)
      +  {
      +    return p->GetBytecodes (this, method, bytecode_count_ptr,
      +			    bytecodes_ptr);
      +  }
      +
      +  jvmtiError IsMethodNative (jmethodID method, jboolean *is_native_ptr)
      +  { return p->IsMethodNative (this, method, is_native_ptr); }
      +
      +  jvmtiError IsMethodSynthetic (jmethodID method, jboolean *is_synthetic_ptr)
      +  { return p->IsMethodSynthetic (this, method, is_synthetic_ptr); }
      +
      +  jvmtiError GetLoadedClasses (jint *class_count_ptr, jclass **classes_ptr)
      +  { return p->GetLoadedClasses (this, class_count_ptr, classes_ptr); }
      +
      +  jvmtiError GetClassLoaderClasses (jobject initiating_loader,
      +				    jint *class_count_ptr,
      +				    jclass **classes_ptr)
      +  {
      +    return p->GetClassLoaderClasses (this, initiating_loader,
      +				     class_count_ptr, classes_ptr);
      +  }
      +
      +  jvmtiError PopFrame (jthread thread)
      +  { return p->PopFrame (this, thread); }
      +
      +  jvmtiError RedefineClasses (jint class_count,
      +			      const jvmtiClassDefinition* class_definitions)
      +  { return p->RedefineClasses (this, class_count, class_definitions); }
      +
      +  jvmtiError GetVersionNumber (jint *version_ptr)
      +  { return p->GetVersionNumber (this, version_ptr); }
      +
      +  jvmtiError GetCapabilities (jvmtiCapabilities *capabilities_ptr)
      +  { return p->GetCapabilities (this, capabilities_ptr); }
      +
      +  jvmtiError GetSourceDebugExtension (jclass klass,
      +				      char **source_debug_extension_ptr)
      +  {
      +    return p->GetSourceDebugExtension (this, klass,
      +				       source_debug_extension_ptr);
      +  }
      +
      +  jvmtiError IsMethodObsolete (jmethodID method, jboolean *is_obsolete_ptr)
      +  { return p->IsMethodObsolete (this, method, is_obsolete_ptr); }
      +
      +
      +  jvmtiError SuspendThreadList (jint request_count,
      +				const jthread *request_list,
      +				jvmtiError *results)
      +  { return p->SuspendThreadList (this, request_count, request_list, results); }
      +
      +  jvmtiError ResumeThreadList (jint request_count,
      +			       const jthread *request_list,
      +			       jvmtiError *results)
      +  { return p->ResumeThreadList (this, request_count, request_list, results); }
      +
      +  jvmtiError GetAllStackTraces (jint max_frame_count,
      +				jvmtiStackInfo **stack_info_ptr,
      +				jint *thread_count_ptr)
      +  {
      +    return p->GetAllStackTraces (this, max_frame_count, stack_info_ptr,
      +				 thread_count_ptr);
      +  }
      +
      +  jvmtiError GetThreadListStackTraces (jint thread_count,
      +				       const jthread *thread_list,
      +				       jint max_frame_count,
      +				       jvmtiStackInfo **stack_info_ptr)
      +  {
      +    return p->GetThreadListStackTraces (this, thread_count, thread_list,
      +					max_frame_count, stack_info_ptr);
      +  }
      +
      +  jvmtiError GetThreadLocalStorage (jthread thread, void **data_ptr)
      +  { return p->GetThreadLocalStorage (this, thread, data_ptr); }
      +
      +  jvmtiError SetThreadLocalStorage (jthread thread, const void *data)
      +  { return p->SetThreadLocalStorage (this, thread, data); }
      +
      +  jvmtiError GetStackTrace (jthread thread, jint start_depth,
      +			    jint max_frame_count,
      +			    jvmtiFrameInfo *frame_buffer, jint *count_ptr)
      +  {
      +    return p->GetStackTrace (this, thread, start_depth, max_frame_count,
      +			     frame_buffer, count_ptr);
      +  }
      +
      +  jvmtiError GetTag (jobject object, jlong *tag_ptr)
      +  { return p->GetTag (this, object, tag_ptr); }
      +
      +  jvmtiError SetTag (jobject object, jlong tag)
      +  { return p->SetTag (this, object, tag); }
      +
      +  jvmtiError ForceGarbageCollection (void)
      +  { return p->ForceGarbageCollection (this); }
      +
      +  jvmtiError IterateOverObjectsReachableFromObject (jobject object,
      +						    jvmtiObjectReferenceCallback object_reference_callback,
      +						    void *user_data)
      +  {
      +    return p->IterateOverObjectsReachableFromObject (this, object,
      +						     object_reference_callback,
      +						     user_data);
      +  }
      +
      +  jvmtiError IterateOverReachableObjects (jvmtiHeapRootCallback heap_root_callback,
      +					  jvmtiStackReferenceCallback stack_ref_callback,
      +					  jvmtiObjectReferenceCallback object_ref_callback,
      +					  void *user_data)
      +  {
      +    return p->IterateOverReachableObjects (this, heap_root_callback,
      +					   stack_ref_callback,
      +					   object_ref_callback,
      +					   user_data);
      +  }
      +
      +  jvmtiError IterateOverHeap (jvmtiHeapObjectFilter object_filter,
      +			      jvmtiHeapObjectCallback heap_object_callback,
      +			      void *user_data)
      +  {
      +    return p->IterateOverHeap (this, object_filter, heap_object_callback,
      +			       user_data);
      +  }
      +
      +  jvmtiError IterateOverInstanceOfClass (jclass klass,
      +					 jvmtiHeapObjectFilter object_filter,
      +					 jvmtiHeapObjectCallback heap_object_callback,
      +					 void *user_data)
      +  {
      +    return p->IterateOverInstanceOfClass (this, klass, object_filter,
      +					  heap_object_callback, user_data);
      +  }
      +
      +  jvmtiError GetObjectsWithTags (jint tag_count, const jlong *tags,
      +				 jint *count_ptr, jobject **object_result_ptr,
      +				 jlong **tag_result_ptr)
      +  {
      +    return p->GetObjectsWithTags (this, tag_count, tags, count_ptr,
      +				  object_result_ptr, tag_result_ptr);
      +  }
      +
      +  jvmtiError SetJNIFunctionTable (const jniNativeInterface *function_table)
      +  { return p->SetJNIFunctionTable (this, function_table); }
      +
      +  jvmtiError GetJNIFunctionTable (jniNativeInterface **function_table_ptr)
      +  { return p->GetJNIFunctionTable (this, function_table_ptr); }
      +
      +  jvmtiError SetEventCallbacks (const jvmtiEventCallbacks *callbacks,
      +				jint size_of_callbacks)
      +  { return p->SetEventCallbacks (this, callbacks, size_of_callbacks); }
      +
      +  jvmtiError GenerateEvents (jvmtiEvent event_type)
      +  { return p->GenerateEvents (this, event_type); }
      +
      +  jvmtiError GetExtensionFunctions (jint *extension_count_ptr,
      +				    jvmtiExtensionFunctionInfo **extensions)
      +  { return p->GetExtensionFunctions (this, extension_count_ptr, extensions); }
      +
      +  jvmtiError GetExtensionEvents (jint *extension_count_ptr,
      +				 jvmtiExtensionEventInfo **extensions)
      +  { return p->GetExtensionEvents (this, extension_count_ptr, extensions); }
      +
      +  jvmtiError SetExtensionEventCallback (jint extension_event_index,
      +					jvmtiExtensionEvent callback)
      +  {
      +    return p->SetExtensionEventCallback (this, extension_event_index,
      +					 callback);
      +  }
      +
      +  jvmtiError DisposeEnvironment (void)
      +  { return p->DisposeEnvironment (this); }
      +
      +  jvmtiError GetErrorName (jvmtiError error, char **name_ptr)
      +  { return p->GetErrorName (this, error, name_ptr); }
      +
      +  jvmtiError GetJLocationFormat (jvmtiJlocationFormat *format_ptr)
      +  { return p->GetJLocationFormat (this, format_ptr); }
      +
      +  jvmtiError GetSystemProperties (jint *count_ptr, char ***property_ptr)
      +  { return p->GetSystemProperties (this, count_ptr, property_ptr); }
      +
      +  jvmtiError GetSystemProperty (const char *property, char **value_ptr)
      +  { return p->GetSystemProperty (this, property, value_ptr); }
      +
      +  jvmtiError SetSystemProperty (const char *property, const char *value)
      +  { return p->SetSystemProperty (this, property, value); }
      +
      +  jvmtiError GetPhase (jvmtiPhase *phase_ptr)
      +  { return p->GetPhase (this, phase_ptr); }
      +
      +  jvmtiError GetCurrentThreadCpuTimerInfo (jvmtiTimerInfo *info_ptr)
      +  { return p->GetCurrentThreadCpuTimerInfo (this, info_ptr); }
      +
      +  jvmtiError GetCurrentThreadCpuTime (jlong *nanos_ptr)
      +  { return p->GetCurrentThreadCpuTime (this, nanos_ptr); }
      +
      +  jvmtiError GetThreadCpuTimerInfo (jvmtiTimerInfo *info_ptr)
      +  { return p->GetThreadCpuTimerInfo (this, info_ptr); }
      +
      +  jvmtiError GetThreadCpuTime (jthread thread, jlong *nanos_ptr)
      +  { return p->GetThreadCpuTime (this, thread, nanos_ptr); }
      +
      +  jvmtiError GetTimerInfo (jvmtiTimerInfo *info_ptr)
      +  { return p->GetTimerInfo (this, info_ptr); }
      +
      +  jvmtiError GetTime (jlong *nanos_ptr)
      +  {return p->GetTime (this, nanos_ptr); }
      +
      +  jvmtiError GetPotentialCapabilities (jvmtiCapabilities *capabilities_ptr)
      +  { return p->GetPotentialCapabilities (this, capabilities_ptr); }
      +
      +  jvmtiError AddCapabilities (const jvmtiCapabilities *capabilities_ptr)
      +  { return p->AddCapabilities (this, capabilities_ptr); }
      +
      +  jvmtiError RelinquishCapabilities (const jvmtiCapabilities *capabilities_ptr)
      +  { return p->RelinquishCapabilities (this, capabilities_ptr); }
      +
      +  jvmtiError GetAvailableProcessors (jint *processor_count_ptr)
      +  { return p->GetAvailableProcessors (this, processor_count_ptr); }
      +
      +  jvmtiError GetEnvironmentLocalStorage (void **data_ptr)
      +  { return p->GetEnvironmentLocalStorage (this, data_ptr); }
      +
      +  jvmtiError SetEnvironmentLocalStorage (const void *data)
      +  { return p->SetEnvironmentLocalStorage (this, data); }
      +
      +  jvmtiError AddToBootstrapClassLoaderSearch (const char *segment)
      +  { return p->AddToBootstrapClassLoaderSearch (this, segment); }
      +
      +  jvmtiError SetVerboseFlag (jvmtiVerboseFlag flag, jboolean value)
      +  { return p->SetVerboseFlag (this, flag, value); }
      +
      +  jvmtiError GetObjectSize (jobject object, jlong *size_ptr)
      +  { return p->GetObjectSize (this, object, size_ptr); }
      +};
      +#endif /* __cplusplus */
      +
      +/*
      + * Miscellaneous flags, constants, etc
      + */
      +
      +/* Class status flags */
      +#define JVMTI_CLASS_STATUS_VERIFIED 1
      +#define JVMTI_CLASS_STATUS_PREPARED 2
      +#define JVMTI_CLASS_STATUS_INITIALIZED 4
      +#define JVMTI_CLASS_STATUS_ERROR 8
      +#define JVMTI_CLASS_STATUS_ARRAY 16
      +#define JVMTI_CLASS_STATUS_PRIMITIVE 32
      +
      +/* Thread state flags */
      +#define JVMTI_THREAD_STATE_ALIVE 0x0001
      +#define JVMTI_THREAD_STATE_TERMINATED 0x0002
      +#define JVMTI_THREAD_STATE_RUNNABLE 0x0004
      +#define JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER 0x0400
      +#define JVMTI_THREAD_STATE_WAITING 0x0080
      +#define JVMTI_THREAD_STATE_WAITING_INDEFINITELY 0x0010
      +#define JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT 0x0020
      +#define JVMTI_THREAD_STATE_SLEEPING 0x0040
      +#define JVMTI_THREAD_STATE_IN_OBJECT_WAIT 0x0100
      +#define JVMTI_THREAD_STATE_PARKED 0x0200
      +#define JVMTI_THREAD_STATE_SUSPENDED 0x100000
      +#define JVMTI_THREAD_STATE_INTERRUPTED 0x200000
      +#define JVMTI_THREAD_STATE_IN_NATIVE 0x400000
      +#define JVMTI_THREAD_STATE_VENDOR_1 0x10000000
      +#define JVMTI_THREAD_STATE_VENDOR_2 0x20000000
      +#define JVMTI_THREAD_STATE_VENDOR_3 0x40000000
      +
      +/* java.lang.Thread.State conversion masks */
      +#define JVMTI_JAVA_LANG_THREAD_STATE_MASK		\
      +  (JVMTI_THREAD_STATE_TERMINATED			\
      +   | JVMTI_THREAD_STATE_ALIVE				\
      +   | JVMTI_THREAD_STATE_RUNNABLE			\
      +   | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER	\
      +   | JVMTI_THREAD_STATE_WAITING				\
      +   | JVMTI_THREAD_STATE_WAITING_INDEFINITELY		\
      +   | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT)
      +#define JVMTI_JAVA_LANG_THREAD_STATE_NEW 0
      +#define JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED JVMTI_THREAD_STATE_TERMINATED
      +#define JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE \
      +  (JVMTI_THREAD_STATE_ALIVE		      \
      +   | JVMTI_THREAD_STATE_RUNNABLE)
      +#define JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED	\
      +  (JVMTI_THREAD_STATE_ALIVE			\
      +   | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER)
      +#define JVMTI_JAVA_LANG_THREAD_STATE_WAITING	\
      +  (JVMTI_THREAD_STATE_ALIVE			\
      +   | JVMTI_THREAD_STATE_WAITING			\
      +   | JVMTI_THREAD_STATE_WAITING_INDEFINITELY)
      +#define JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING \
      +  (JVMTI_THREAD_STATE_ALIVE			   \
      +   | JVMTI_THREAD_STATE_WAITING			   \
      +   | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT)
      +
      +/* Thread priorities */
      +#define JVMTI_THREAD_MIN_PRIORITY 1
      +#define JVMTI_THREAD_NORM_PRIORITY 5
      +#define JVMTI_THREAD_MAX_PRIORITY 10
      +
      +/* Keep c-font-lock-extra-types in order: JNI followed by JVMTI,
      +   all in alphabetical order */
      +/* Local Variables: */
      +/* c-font-lock-extra-types: ("\\sw+_t"
      +   "JNIEnv" "JNINativeMethod" "JavaVM" "JavaVMOption" "jarray"
      +   "jboolean" "jbooleanArray" "jbyte" "jbyteArray" "jchar"  "jcharArray"
      +   "jclass" "jdouble" "jdoubleArray" "jfieldID" "jfloat" "jfloatArray"
      +   "jint" "jintArray" "jlong" "jlongArray" "jmethodID" "jobject" "jstring" "jthrowable"
      +   "jvalue" "jweak"
      +   "jvmtiEnv" "jvmtiError"
      +   "jthread" "jthreadGroup" "jlocation" "jrawMonitorID") */
      +/* End: */
      +#endif /* !_CLASSPATH_JVMTI_H */
      diff --git a/libjava/classpath/lib/.cvsignore b/libjava/classpath/lib/.cvsignore
      new file mode 100644
      index 00000000000..93f21e77a36
      --- /dev/null
      +++ b/libjava/classpath/lib/.cvsignore
      @@ -0,0 +1,38 @@
      +Makefile
      +Makefile.in
      +com
      +gnu
      +java
      +javax
      +kaffe
      +classes
      +classes.awt
      +classes.locale
      +classes.locale1
      +classes.locale2
      +classes.locale
      +classes.standard
      +classes.standardx
      +classes.xml
      +glibj.zip
      +deps.sh
      +gen-classlist.sh
      +mkdep.pl
      +errors.txt
      +headers.dep
      +classes.dep
      +makefile.dep
      +java.dep
      +compile-classes
      +mkcollections.pl
      +gen_nio.sh
      +classes.1
      +resources
      +org
      +sun
      +META-INF
      +Makefile.deps
      +lists
      +copy-vmresources.sh
      +classes.2
      +standard.omit
      diff --git a/libjava/classpath/lib/Makefile.am b/libjava/classpath/lib/Makefile.am
      index e7e2bd83c79..56b85aecc81 100644
      --- a/libjava/classpath/lib/Makefile.am
      +++ b/libjava/classpath/lib/Makefile.am
      @@ -5,20 +5,21 @@ JAVA_DEPEND = java.dep
       ## this file and restart the make process again
       sinclude $(JAVA_DEPEND)
       
      -## GCJ LOCAL: prune .svn directories
      -propertydirs :=  $(shell cd $(top_srcdir)/resource && $(FIND) gnu java javax org META-INF -type d ! -name CVS -print | fgrep -v .svn)
       propertyfiles :=  $(shell cd $(top_srcdir)/resource && $(FIND) gnu java javax org -name \*\.properties -print)
      +cssfiles := $(shell cd $(top_srcdir) && $(FIND) gnu java javax org -name \*\.css -print)
      +## GCJ LOCAL: prune .svn directories
       metafiles :=  $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name \*\.in -prune -o -type f -print | fgrep -v .svn)
       ## END GCJ LOCAL
       iconfiles :=  $(shell cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print)
       
      -compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:.:$(USER_CLASSLIB):$(PATH_TO_ESCHER)
      +compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:$(top_srcdir)/external/jsr166:.:$(USER_CLASSLIB):$(PATH_TO_ESCHER)
       
       # handling source to bytecode compiler programs like gcj, jikes  and kjc
       if FOUND_GCJ
      -## This should never be used when gcj is the compiler.
       ## See the compile-classes target.
      -JAVAC = exit 1
      +## There's no point in warning, and we always want debug info.
      +## GCJ LOCAL: use srcdir
      +JAVAC = $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath '' --classpath $(compile_classpath) -d $(srcdir) @classes
       else
       if FOUND_JIKES
       JAVAC = $(JIKES) $(JIKESWARNINGS) +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes
      @@ -45,11 +46,7 @@ COLLECTIONS = collections.jar
       
       collections.jar: mkcollections.pl
       	./mkcollections.pl $(top_srcdir)
      -if FOUND_GCJ
      -	$(GCJ) -C `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print`
      -else
       	$(JAVAC) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print`
      -endif
       	if test "$(FASTJAR)" != ""; then \
       	  $(FASTJAR) cf $@ $(COLLECTIONS_PREFIX); \
       	else \
      @@ -107,22 +104,26 @@ glibj.zip: classes compile-classes resources
       endif # USE_PREBUILT_GLIBJ_ZIP
       
       resources: copy-vmresources.sh
      -	if ! [ -e gnu ]; then mkdir gnu; fi
      -	if ! [ -e gnu/java ]; then mkdir gnu/java; fi
      -	if ! [ -e gnu/java/locale ]; then mkdir gnu/java/locale; fi
      -	if ! [ -e gnu/javax/swing/plaf/gtk/icons ]; then mkdir -p gnu/javax/swing/plaf/gtk/icons; fi
      -	list='$(propertydirs)'; for p in $$list; do \
      -	  if ! [ -e $$p ]; then mkdir $$p; fi; \
      +	@list='$(propertyfiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/resource/$$p $$p; \
       	done
      -	list='$(propertyfiles)'; for p in $$list; do \
      -	  cp -f $(top_srcdir)/resource/$$p $$p; \
      +	@list='$(cssfiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/$$p $$p; \
       	done
      -	list='$(metafiles)'; for p in $$list; do \
      -	  cp -f $(top_srcdir)/resource/$$p $$p; \
      +	@list='$(metafiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/resource/$$p $$p; \
       	done
      -	$(SHELL) ./copy-vmresources.sh
      -	list='$(iconfiles)'; for p in $$list; do \
      -	  cp -f $(top_srcdir)/$$p $$p; \
      +	@$(SHELL) ./copy-vmresources.sh
      +	@list='$(iconfiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/$$p $$p; \
       	done
       	touch resources
       
      @@ -152,22 +153,24 @@ endif # REGEN_PARSER
       
       $(JAVA_DEPEND): genclasses
       
      -if FOUND_GCJ
      -## When building with gcj, we do a recursive make.  We split this rule
      -## out specially, rather than simply defining JAVAC, so that GNU make
      -## will see the recursive make invocation and still allow parallel
      -## builds.
      -compile-classes: classes $(JAVA_SRCS) Makefile
      -	$(MAKE) -f $(srcdir)/Makefile.gcj \
      -	  GCJ='$(GCJ)' \
      -	  compile_classpath='$(top_builddir):$(compile_classpath)' \
      -	  top_srcdir=$(top_srcdir)
      -	touch compile-classes
      -else
      +# if FOUND_GCJ
      +# ## When building with gcj, we do a recursive make.  We split this rule
      +# ## out specially, rather than simply defining JAVAC, so that GNU make
      +# ## will see the recursive make invocation and still allow parallel
      +# ## builds.
      +# compile-classes: classes $(JAVA_SRCS) Makefile
      +# 	$(MAKE) -f $(srcdir)/Makefile.gcj \
      +# 	  GCJ='$(GCJ)' \
      +# 	  compile_classpath='$(top_builddir):$(compile_classpath)' \
      +# 	  top_srcdir=$(top_srcdir)
      +# 	touch compile-classes
      +# else
       compile-classes: classes $(JAVA_SRCS) Makefile
      +if JAVA_MAINTAINER_MODE
       	$(JAVAC)
      -	touch compile-classes
       endif
      +	touch compile-classes
      +# endif
       
       EXTRA_DIST = standard.omit.in mkcollections.pl.in Makefile.gcj split-for-gcj.sh
       CLEANFILES = compile-classes resources classes \
      diff --git a/libjava/classpath/lib/Makefile.gcj b/libjava/classpath/lib/Makefile.gcj
      index 7bac691e8eb..a7f3027efa6 100644
      --- a/libjava/classpath/lib/Makefile.gcj
      +++ b/libjava/classpath/lib/Makefile.gcj
      @@ -25,7 +25,7 @@ Makefile.deps: classes
       -include Makefile.deps $(all_deps_files)
       
       ## Like GCJ but include some common flags.
      -GCJF = $(GCJ) -Wno-deprecated --encoding=UTF-8 \
      +GCJF = $(GCJ) -fsource=1.5 -ftarget=1.5 -g -Wno-deprecated --encoding=UTF-8 \
           --bootclasspath '' --classpath $(compile_classpath) \
           -C -d .
       
      diff --git a/libjava/classpath/lib/Makefile.in b/libjava/classpath/lib/Makefile.in
      index bcc76110a6a..759cead840b 100644
      --- a/libjava/classpath/lib/Makefile.in
      +++ b/libjava/classpath/lib/Makefile.in
      @@ -44,12 +44,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
       ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
       am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
       	$(top_srcdir)/../../config/lead-dot.m4 \
      +	$(top_srcdir)/../../config/no-executables.m4 \
       	$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
       	$(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
       	$(top_srcdir)/m4/ax_create_stdint_h.m4 \
      -	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
      -	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
      -	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
      +	$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
      +	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
      +	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
      +	$(top_srcdir)/configure.ac
       am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
       	$(ACLOCAL_M4)
       mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
      @@ -162,6 +164,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
       INSTALL_SCRIPT = @INSTALL_SCRIPT@
       INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
       JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
      +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
      +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
       JAY = @JAY@
       JAY_SKELETON = @JAY_SKELETON@
       JIKES = @JIKES@
      @@ -283,24 +287,24 @@ target_alias = @target_alias@
       target_cpu = @target_cpu@
       target_os = @target_os@
       target_vendor = @target_vendor@
      -toolexeclibdir = @toolexeclibdir@
       vm_classes = @vm_classes@
       JAVA_DEPEND = java.dep
      -propertydirs := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java javax org META-INF -type d ! -name CVS -print | fgrep -v .svn)
       propertyfiles := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java javax org -name \*\.properties -print)
      +cssfiles := $(shell cd $(top_srcdir) && $(FIND) gnu java javax org -name \*\.css -print)
       metafiles := $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name \*\.in -prune -o -type f -print | fgrep -v .svn)
       iconfiles := $(shell cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print)
      -compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:.:$(USER_CLASSLIB):$(PATH_TO_ESCHER)
      +compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:$(top_srcdir)/external/jsr166:.:$(USER_CLASSLIB):$(PATH_TO_ESCHER)
       @FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(ECJ) -source 1.4 -encoding UTF-8 -warn:-deprecation,serial,unused -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes
       @FOUND_GCJX_TRUE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_FALSE@JAVAC = $(GCJX) -g -encoding UTF-8 -classpath .:$(USER_CLASSLIB) -d . @classes
       @FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@@FOUND_KJC_TRUE@JAVAC = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes
       @FOUND_GCJ_FALSE@@FOUND_JIKES_TRUE@JAVAC = $(JIKES) $(JIKESWARNINGS) +F $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(compile_classpath) -d . @classes
       
       # handling source to bytecode compiler programs like gcj, jikes  and kjc
      -@FOUND_GCJ_TRUE@JAVAC = exit 1
      +@FOUND_GCJ_TRUE@JAVAC = $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath '' --classpath $(compile_classpath) -d $(srcdir) @classes
       JAVAH = $(USER_JAVAH) -jni -classpath .:$(USER_CLASSLIB)
       @CREATE_COLLECTIONS_TRUE@COLLECTIONS = collections.jar
       @BUILD_CLASS_FILES_TRUE@noinst_DATA = genclasses compile-classes resources
      +# endif
       EXTRA_DIST = standard.omit.in mkcollections.pl.in Makefile.gcj split-for-gcj.sh
       CLEANFILES = compile-classes resources classes \
       	glibj.zip classes.1 classes.2 Makefile.deps \
      @@ -487,8 +491,7 @@ sinclude $(JAVA_DEPEND)
       
       @CREATE_COLLECTIONS_TRUE@collections.jar: mkcollections.pl
       @CREATE_COLLECTIONS_TRUE@	./mkcollections.pl $(top_srcdir)
      -@CREATE_COLLECTIONS_TRUE@@FOUND_GCJ_TRUE@	$(GCJ) -C `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print`
      -@CREATE_COLLECTIONS_TRUE@@FOUND_GCJ_FALSE@	$(JAVAC) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print`
      +@CREATE_COLLECTIONS_TRUE@	$(JAVAC) `$(FIND) $(COLLECTIONS_PREFIX) -name '*.java' -type f -print`
       @CREATE_COLLECTIONS_TRUE@	if test "$(FASTJAR)" != ""; then \
       @CREATE_COLLECTIONS_TRUE@	  $(FASTJAR) cf $@ $(COLLECTIONS_PREFIX); \
       @CREATE_COLLECTIONS_TRUE@	else \
      @@ -523,22 +526,26 @@ sinclude $(JAVA_DEPEND)
       @USE_PREBUILT_GLIBJ_ZIP_FALSE@	if test "$(FASTJAR)" != ""; then $(FASTJAR) cf glibj.zip gnu java javax org sun META-INF; fi
       
       resources: copy-vmresources.sh
      -	if ! [ -e gnu ]; then mkdir gnu; fi
      -	if ! [ -e gnu/java ]; then mkdir gnu/java; fi
      -	if ! [ -e gnu/java/locale ]; then mkdir gnu/java/locale; fi
      -	if ! [ -e gnu/javax/swing/plaf/gtk/icons ]; then mkdir -p gnu/javax/swing/plaf/gtk/icons; fi
      -	list='$(propertydirs)'; for p in $$list; do \
      -	  if ! [ -e $$p ]; then mkdir $$p; fi; \
      +	@list='$(propertyfiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/resource/$$p $$p; \
       	done
      -	list='$(propertyfiles)'; for p in $$list; do \
      -	  cp -f $(top_srcdir)/resource/$$p $$p; \
      +	@list='$(cssfiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/$$p $$p; \
       	done
      -	list='$(metafiles)'; for p in $$list; do \
      -	  cp -f $(top_srcdir)/resource/$$p $$p; \
      +	@list='$(metafiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/resource/$$p $$p; \
       	done
      -	$(SHELL) ./copy-vmresources.sh
      -	list='$(iconfiles)'; for p in $$list; do \
      -	  cp -f $(top_srcdir)/$$p $$p; \
      +	@$(SHELL) ./copy-vmresources.sh
      +	@list='$(iconfiles)'; for p in $$list; do \
      +          dirname=`dirname $$p`; \
      +          if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
      +	  cp $(top_srcdir)/$$p $$p; \
       	done
       	touch resources
       
      @@ -564,15 +571,21 @@ genclasses: gen-classlist.sh standard.omit $(top_builddir)/gnu/java/locale/Local
       
       $(JAVA_DEPEND): genclasses
       
      -@FOUND_GCJ_TRUE@compile-classes: classes $(JAVA_SRCS) Makefile
      -@FOUND_GCJ_TRUE@	$(MAKE) -f $(srcdir)/Makefile.gcj \
      -@FOUND_GCJ_TRUE@	  GCJ='$(GCJ)' \
      -@FOUND_GCJ_TRUE@	  compile_classpath='$(top_builddir):$(compile_classpath)' \
      -@FOUND_GCJ_TRUE@	  top_srcdir=$(top_srcdir)
      -@FOUND_GCJ_TRUE@	touch compile-classes
      -@FOUND_GCJ_FALSE@compile-classes: classes $(JAVA_SRCS) Makefile
      -@FOUND_GCJ_FALSE@	$(JAVAC)
      -@FOUND_GCJ_FALSE@	touch compile-classes
      +# if FOUND_GCJ
      +# ## When building with gcj, we do a recursive make.  We split this rule
      +# ## out specially, rather than simply defining JAVAC, so that GNU make
      +# ## will see the recursive make invocation and still allow parallel
      +# ## builds.
      +# compile-classes: classes $(JAVA_SRCS) Makefile
      +# 	$(MAKE) -f $(srcdir)/Makefile.gcj \
      +# 	  GCJ='$(GCJ)' \
      +# 	  compile_classpath='$(top_builddir):$(compile_classpath)' \
      +# 	  top_srcdir=$(top_srcdir)
      +# 	touch compile-classes
      +# else
      +compile-classes: classes $(JAVA_SRCS) Makefile
      +@JAVA_MAINTAINER_MODE_TRUE@	$(JAVAC)
      +	touch compile-classes
       
       clean-local:
       	-rm -rf gnu
      diff --git a/libjava/classpath/lib/gen-classlist.sh.in b/libjava/classpath/lib/gen-classlist.sh.in
      index 1d38956ddcb..1c704116b19 100755
      --- a/libjava/classpath/lib/gen-classlist.sh.in
      +++ b/libjava/classpath/lib/gen-classlist.sh.in
      @@ -25,15 +25,22 @@ echo "Adding java source files from srcdir '@top_srcdir@'."
        done) > ${top_builddir}/lib/classes.1
       
       # The same, but for the external code.
      -# Right now all external code is in org/.
      -for dir in @top_srcdir@/external/w3c_dom \
      -   @top_srcdir@/external/sax @top_srcdir@/external/relaxngDatatype; do
      -  (cd $dir
      -  @FIND@ org -follow -name '*.java' -print |
      -  sort -r | sed -e 's,/\([^/]*\)$, \1,' |
      -  while read pkg file; do
      -     echo $pkg $dir $pkg/$file
      -  done)
      +for dir in \
      +   @top_srcdir@/external/w3c_dom \
      +   @top_srcdir@/external/sax \
      +   @top_srcdir@/external/relaxngDatatype \
      +   @top_srcdir@/external/jsr166 \
      +   ; do
      +   (cd $dir
      +   for subdir in java javax gnu org sun; do
      +      if test -d $subdir; then
      +	 @FIND@ $subdir -follow -name '*.java' -print |
      +	 sort -r | sed -e 's,/\([^/]*\)$, \1,' |
      +	 while read pkg file; do
      +	    echo $pkg $dir $pkg/$file
      +	 done
      +      fi
      +   done)
       done >> ${top_builddir}/lib/classes.1
       
       # Generate files for the VM classes.
      @@ -55,7 +62,9 @@ for dir in $vm_dirlist; do
       done
       
       # Only include generated files once.
      -if test ! "${top_builddir}" -ef "@top_srcdir@"; then
      +abs_top_builddir=`cd "${top_builddir}"; pwd`
      +abs_top_srcdir=`cd "@top_srcdir@"; pwd`
      +if test "$abs_top_builddir" != "$abs_top_srcdir"; then
         echo "Adding generated files in builddir '${top_builddir}'."
         # Currently the only generated files are in gnu.*.
         (cd ${top_builddir}; @FIND@ gnu -follow -name '*.java' -print) |
      @@ -95,7 +104,7 @@ rm vm.add
       rm tmp.omit
       
       new=
      -if test -e ${top_builddir}/lib/classes.2; then
      +if test -f ${top_builddir}/lib/classes.2; then
         p=`diff ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1`
         if test "$p" != ""; then
           new="true"
      diff --git a/libjava/classpath/lib/gnu/CORBA/Asynchron.class b/libjava/classpath/lib/gnu/CORBA/Asynchron.class
      new file mode 100644
      index 00000000000..785a3af53d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Asynchron.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/BigDecimalHelper.class b/libjava/classpath/lib/gnu/CORBA/BigDecimalHelper.class
      new file mode 100644
      index 00000000000..89e1b94e81e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/BigDecimalHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/ByteArrayComparator.class b/libjava/classpath/lib/gnu/CORBA/ByteArrayComparator.class
      new file mode 100644
      index 00000000000..85adfcd3b6e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/ByteArrayComparator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrInput.class b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrInput.class
      new file mode 100644
      index 00000000000..74cf0f95395
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrInput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrOutput.class b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrOutput.class
      new file mode 100644
      index 00000000000..3da6e965b73
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractCdrOutput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataInput.class b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataInput.class
      new file mode 100644
      index 00000000000..b14322c5b44
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataInput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataOutput.class b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataOutput.class
      new file mode 100644
      index 00000000000..0a266486edc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/AbstractDataOutput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/AligningInput.class b/libjava/classpath/lib/gnu/CORBA/CDR/AligningInput.class
      new file mode 100644
      index 00000000000..90eeba64f5e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/AligningInput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/AligningOutput.class b/libjava/classpath/lib/gnu/CORBA/CDR/AligningOutput.class
      new file mode 100644
      index 00000000000..1c08c43371c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/AligningOutput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/ArrayValueHelper.class b/libjava/classpath/lib/gnu/CORBA/CDR/ArrayValueHelper.class
      new file mode 100644
      index 00000000000..d23c17b4b31
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/ArrayValueHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/BigEndianInputStream.class b/libjava/classpath/lib/gnu/CORBA/CDR/BigEndianInputStream.class
      new file mode 100644
      index 00000000000..7d6f7925c55
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/BigEndianInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/BigEndianOutputStream.class b/libjava/classpath/lib/gnu/CORBA/CDR/BigEndianOutputStream.class
      new file mode 100644
      index 00000000000..2481c133870
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/BigEndianOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/BufferedCdrOutput.class b/libjava/classpath/lib/gnu/CORBA/CDR/BufferedCdrOutput.class
      new file mode 100644
      index 00000000000..e0a737cd530
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/BufferedCdrOutput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/BufferredCdrInput.class b/libjava/classpath/lib/gnu/CORBA/CDR/BufferredCdrInput.class
      new file mode 100644
      index 00000000000..d44536091c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/BufferredCdrInput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/EncapsulationStream.class b/libjava/classpath/lib/gnu/CORBA/CDR/EncapsulationStream.class
      new file mode 100644
      index 00000000000..15c7a8ecf85
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/EncapsulationStream.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/HeadlessInput.class b/libjava/classpath/lib/gnu/CORBA/CDR/HeadlessInput.class
      new file mode 100644
      index 00000000000..ad9579001d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/HeadlessInput.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/IDLTypeHelper.class b/libjava/classpath/lib/gnu/CORBA/CDR/IDLTypeHelper.class
      new file mode 100644
      index 00000000000..c1a861d58e5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/IDLTypeHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianInputStream.class b/libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianInputStream.class
      new file mode 100644
      index 00000000000..c6cfcd242a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianOutputStream.class b/libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianOutputStream.class
      new file mode 100644
      index 00000000000..68855f67040
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/LittleEndianOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/UnknownExceptionCtxHandler.class b/libjava/classpath/lib/gnu/CORBA/CDR/UnknownExceptionCtxHandler.class
      new file mode 100644
      index 00000000000..d778d0d3781
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/UnknownExceptionCtxHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/VMVio.class b/libjava/classpath/lib/gnu/CORBA/CDR/VMVio.class
      new file mode 100644
      index 00000000000..45ca509ccc8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/VMVio.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class b/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class
      new file mode 100644
      index 00000000000..1d738de5f76
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/Vio.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class
      new file mode 100644
      index 00000000000..5df83dc7498
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$1.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Entry.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Entry.class
      new file mode 100644
      index 00000000000..2ed828f2daf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Entry.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class
      new file mode 100644
      index 00000000000..c449d002b2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime$Redirection.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class
      new file mode 100644
      index 00000000000..3744aa0fc1c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuRuntime.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CDR/gnuValueStream.class b/libjava/classpath/lib/gnu/CORBA/CDR/gnuValueStream.class
      new file mode 100644
      index 00000000000..7d2de8d74ce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CDR/gnuValueStream.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CdrEncapsCodecImpl.class b/libjava/classpath/lib/gnu/CORBA/CdrEncapsCodecImpl.class
      new file mode 100644
      index 00000000000..57fcd54ea81
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CdrEncapsCodecImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class b/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class
      new file mode 100644
      index 00000000000..87c0b3f3b17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CollocatedOrbs.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Connected_objects$cObject.class b/libjava/classpath/lib/gnu/CORBA/Connected_objects$cObject.class
      new file mode 100644
      index 00000000000..c99cb850ce1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Connected_objects$cObject.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Connected_objects.class b/libjava/classpath/lib/gnu/CORBA/Connected_objects.class
      new file mode 100644
      index 00000000000..4cbca85bad8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Connected_objects.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/CorbaList.class b/libjava/classpath/lib/gnu/CORBA/CorbaList.class
      new file mode 100644
      index 00000000000..3a72c1398ab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/CorbaList.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DefaultSocketFactory.class b/libjava/classpath/lib/gnu/CORBA/DefaultSocketFactory.class
      new file mode 100644
      index 00000000000..bab1e26a908
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DefaultSocketFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DefinitionKindHolder.class b/libjava/classpath/lib/gnu/CORBA/DefinitionKindHolder.class
      new file mode 100644
      index 00000000000..1213b2a4042
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DefinitionKindHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DuplicateNameHolder.class b/libjava/classpath/lib/gnu/CORBA/DuplicateNameHolder.class
      new file mode 100644
      index 00000000000..c4141074d02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DuplicateNameHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/AbstractAny.class b/libjava/classpath/lib/gnu/CORBA/DynAn/AbstractAny.class
      new file mode 100644
      index 00000000000..100fea31919
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/AbstractAny.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/DivideableAny.class b/libjava/classpath/lib/gnu/CORBA/DynAn/DivideableAny.class
      new file mode 100644
      index 00000000000..a2b42881116
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/DivideableAny.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/NameValuePairHolder.class b/libjava/classpath/lib/gnu/CORBA/DynAn/NameValuePairHolder.class
      new file mode 100644
      index 00000000000..abe1f1023de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/NameValuePairHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/RecordAny.class b/libjava/classpath/lib/gnu/CORBA/DynAn/RecordAny.class
      new file mode 100644
      index 00000000000..6afb7ebcc17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/RecordAny.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/UndivideableAny.class b/libjava/classpath/lib/gnu/CORBA/DynAn/UndivideableAny.class
      new file mode 100644
      index 00000000000..70cf1771b8b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/UndivideableAny.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/ValueChangeListener.class b/libjava/classpath/lib/gnu/CORBA/DynAn/ValueChangeListener.class
      new file mode 100644
      index 00000000000..a6802178d73
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/ValueChangeListener.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAny.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAny.class
      new file mode 100644
      index 00000000000..1c780c76985
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAny.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAnyFactory.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAnyFactory.class
      new file mode 100644
      index 00000000000..0be01daf51c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynAnyFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynArray.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynArray.class
      new file mode 100644
      index 00000000000..56c73a613ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynArray.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynEnum.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynEnum.class
      new file mode 100644
      index 00000000000..930e78e1551
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynEnum.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynFixed.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynFixed.class
      new file mode 100644
      index 00000000000..1f4a2e63468
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynFixed.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynSequence.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynSequence.class
      new file mode 100644
      index 00000000000..3ec77c4f276
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynSequence.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynStruct.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynStruct.class
      new file mode 100644
      index 00000000000..d2fd7db4197
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynStruct.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynUnion.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynUnion.class
      new file mode 100644
      index 00000000000..5e7f599bef1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynUnion.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class
      new file mode 100644
      index 00000000000..7389fb9ea8a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValue.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValueBox.class b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValueBox.class
      new file mode 100644
      index 00000000000..259cfea1302
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAn/gnuDynValueBox.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/DynAnySeqHolder.class b/libjava/classpath/lib/gnu/CORBA/DynAnySeqHolder.class
      new file mode 100644
      index 00000000000..7d7590257e7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/DynAnySeqHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/EmptyExceptionHolder.class b/libjava/classpath/lib/gnu/CORBA/EmptyExceptionHolder.class
      new file mode 100644
      index 00000000000..af7cb100bc7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/EmptyExceptionHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/ForwardRequestHelper.class b/libjava/classpath/lib/gnu/CORBA/ForwardRequestHelper.class
      new file mode 100644
      index 00000000000..24582ca8e88
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/ForwardRequestHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/CancelHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/CancelHeader.class
      new file mode 100644
      index 00000000000..748d3a8cdb1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/CancelHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/CharSets_OSF.class b/libjava/classpath/lib/gnu/CORBA/GIOP/CharSets_OSF.class
      new file mode 100644
      index 00000000000..ed33648bc78
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/CharSets_OSF.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/CloseMessage.class b/libjava/classpath/lib/gnu/CORBA/GIOP/CloseMessage.class
      new file mode 100644
      index 00000000000..d3cee3137c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/CloseMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class b/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class
      new file mode 100644
      index 00000000000..b78c989ce41
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/CodeSetServiceContext.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class b/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class
      new file mode 100644
      index 00000000000..63d4ba20655
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/ContextHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class b/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class
      new file mode 100644
      index 00000000000..a30c1d8ed62
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/ErrorMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/MessageHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/MessageHeader.class
      new file mode 100644
      index 00000000000..35147ecbaab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/MessageHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/ReplyHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/ReplyHeader.class
      new file mode 100644
      index 00000000000..941eb2e4b97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/ReplyHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/RequestHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/RequestHeader.class
      new file mode 100644
      index 00000000000..21fdb446625
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/RequestHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/ServiceContext.class b/libjava/classpath/lib/gnu/CORBA/GIOP/ServiceContext.class
      new file mode 100644
      index 00000000000..e7dbebf424d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/ServiceContext.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/CancelHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/CancelHeader.class
      new file mode 100644
      index 00000000000..41b8e764778
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/CancelHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/ReplyHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/ReplyHeader.class
      new file mode 100644
      index 00000000000..37f52f82a02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/ReplyHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/RequestHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/RequestHeader.class
      new file mode 100644
      index 00000000000..9bcc7b4bfa6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_0/RequestHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/ReplyHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/ReplyHeader.class
      new file mode 100644
      index 00000000000..3d7f81d01b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/ReplyHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/RequestHeader.class b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/RequestHeader.class
      new file mode 100644
      index 00000000000..76603214d10
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GIOP/v1_2/RequestHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/GeneralHolder.class b/libjava/classpath/lib/gnu/CORBA/GeneralHolder.class
      new file mode 100644
      index 00000000000..290badb06fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/GeneralHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/HolderLocator.class b/libjava/classpath/lib/gnu/CORBA/HolderLocator.class
      new file mode 100644
      index 00000000000..b9a3bc177b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/HolderLocator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.class b/libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.class
      new file mode 100644
      index 00000000000..3be7042133e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile.class b/libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile.class
      new file mode 100644
      index 00000000000..ffdb1728b26
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IOR$CodeSets_profile.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class b/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class
      new file mode 100644
      index 00000000000..d3fdd4a89fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IOR$Internet_profile.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IOR.class b/libjava/classpath/lib/gnu/CORBA/IOR.class
      new file mode 100644
      index 00000000000..b67542dc393
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IOR.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/ClientRequestInterceptors.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/ClientRequestInterceptors.class
      new file mode 100644
      index 00000000000..b7a849ec286
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/ClientRequestInterceptors.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/ForwardRequestHolder.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/ForwardRequestHolder.class
      new file mode 100644
      index 00000000000..f9f78ebfc5e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/ForwardRequestHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/IORInterceptors.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/IORInterceptors.class
      new file mode 100644
      index 00000000000..b6eda9e7fe0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/IORInterceptors.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class
      new file mode 100644
      index 00000000000..1b2bea62185
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/Registrator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/ServerRequestInterceptors.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/ServerRequestInterceptors.class
      new file mode 100644
      index 00000000000..1bc41867ded
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/ServerRequestInterceptors.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuClientRequestInfo.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuClientRequestInfo.class
      new file mode 100644
      index 00000000000..5dcc95643c3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuClientRequestInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class
      new file mode 100644
      index 00000000000..e7664a351a1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIcCurrent.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIorInfo.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIorInfo.class
      new file mode 100644
      index 00000000000..9cf539697c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuIorInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuServerRequestInfo.class b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuServerRequestInfo.class
      new file mode 100644
      index 00000000000..2331a17ff6c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Interceptor/gnuServerRequestInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IorDelegate.class b/libjava/classpath/lib/gnu/CORBA/IorDelegate.class
      new file mode 100644
      index 00000000000..f7c29adc237
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IorDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IorObject.class b/libjava/classpath/lib/gnu/CORBA/IorObject.class
      new file mode 100644
      index 00000000000..b0415f7e67d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IorObject.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/IorProvider.class b/libjava/classpath/lib/gnu/CORBA/IorProvider.class
      new file mode 100644
      index 00000000000..2d47a20a749
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/IorProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Minor.class b/libjava/classpath/lib/gnu/CORBA/Minor.class
      new file mode 100644
      index 00000000000..0ffafd84214
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Minor.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NameDynAnyPairHolder.class b/libjava/classpath/lib/gnu/CORBA/NameDynAnyPairHolder.class
      new file mode 100644
      index 00000000000..711d8ddf4f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NameDynAnyPairHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NameDynAnyPairSeqHolder.class b/libjava/classpath/lib/gnu/CORBA/NameDynAnyPairSeqHolder.class
      new file mode 100644
      index 00000000000..c68ffa75e33
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NameDynAnyPairSeqHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NameValuePairHolder.class b/libjava/classpath/lib/gnu/CORBA/NameValuePairHolder.class
      new file mode 100644
      index 00000000000..c62639ddcd7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NameValuePairHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NameValuePairSeqHolder.class b/libjava/classpath/lib/gnu/CORBA/NameValuePairSeqHolder.class
      new file mode 100644
      index 00000000000..ccd69b05741
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NameValuePairSeqHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/Binding_iterator_impl.class b/libjava/classpath/lib/gnu/CORBA/NamingService/Binding_iterator_impl.class
      new file mode 100644
      index 00000000000..699ecaa221b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/Binding_iterator_impl.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/Ext.class b/libjava/classpath/lib/gnu/CORBA/NamingService/Ext.class
      new file mode 100644
      index 00000000000..b94a7ff4de7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/Ext.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NameComponentComparator.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NameComponentComparator.class
      new file mode 100644
      index 00000000000..5b06b4528c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NameComponentComparator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class
      new file mode 100644
      index 00000000000..0cf077e89f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NameParser.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NameTransformer.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NameTransformer.class
      new file mode 100644
      index 00000000000..a65900972fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NameTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NameValidator.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NameValidator.class
      new file mode 100644
      index 00000000000..ffef004b468
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NameValidator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class
      new file mode 100644
      index 00000000000..d82940a577b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingMap.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class
      new file mode 100644
      index 00000000000..4694671cb6f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient$1.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class
      new file mode 100644
      index 00000000000..4037d10712b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/NamingServiceTransient.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class b/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class
      new file mode 100644
      index 00000000000..1495c4a9522
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/NamingService/TransientContext.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class b/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class
      new file mode 100644
      index 00000000000..4e97ba909b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/ObjectCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OctetHolder.class b/libjava/classpath/lib/gnu/CORBA/OctetHolder.class
      new file mode 100644
      index 00000000000..c3dd57adeac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OctetHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFocused.class b/libjava/classpath/lib/gnu/CORBA/OrbFocused.class
      new file mode 100644
      index 00000000000..153005bc56f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbFocused.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class
      new file mode 100644
      index 00000000000..2b33d364c38
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$1.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class
      new file mode 100644
      index 00000000000..bfe897d2bf4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$2.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$portServer.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$portServer.class
      new file mode 100644
      index 00000000000..459e5c35656
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$portServer.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class
      new file mode 100644
      index 00000000000..73f76bdec5e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional$sharedPortServer.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class b/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class
      new file mode 100644
      index 00000000000..ce4038d40fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbFunctional.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class b/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class
      new file mode 100644
      index 00000000000..0b91fe4d4a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/OrbRestricted.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/AOM$Obj.class b/libjava/classpath/lib/gnu/CORBA/Poa/AOM$Obj.class
      new file mode 100644
      index 00000000000..aca1817574e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/AOM$Obj.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class b/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class
      new file mode 100644
      index 00000000000..c361b7d1129
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/AOM.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/AccessiblePolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/AccessiblePolicy.class
      new file mode 100644
      index 00000000000..f16a829eca8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/AccessiblePolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/DynamicImpHandler.class b/libjava/classpath/lib/gnu/CORBA/Poa/DynamicImpHandler.class
      new file mode 100644
      index 00000000000..cacffe68c24
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/DynamicImpHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ForwardRequestHolder.class b/libjava/classpath/lib/gnu/CORBA/Poa/ForwardRequestHolder.class
      new file mode 100644
      index 00000000000..3fd93be8051
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/ForwardRequestHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class b/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class
      new file mode 100644
      index 00000000000..c1a615436e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/ForwardedServant.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/InvalidPolicyHolder.class b/libjava/classpath/lib/gnu/CORBA/Poa/InvalidPolicyHolder.class
      new file mode 100644
      index 00000000000..24af65c0af4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/InvalidPolicyHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class b/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class
      new file mode 100644
      index 00000000000..23b18895966
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/LocalDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class b/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class
      new file mode 100644
      index 00000000000..5c46cd7fcd7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/LocalRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/LocalServerRequest.class b/libjava/classpath/lib/gnu/CORBA/Poa/LocalServerRequest.class
      new file mode 100644
      index 00000000000..ff4005a7940
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/LocalServerRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class b/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class
      new file mode 100644
      index 00000000000..380a3915055
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/ORB_1_4.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class b/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class
      new file mode 100644
      index 00000000000..0f99e142800
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/ServantDelegateImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/StandardPolicies.class b/libjava/classpath/lib/gnu/CORBA/Poa/StandardPolicies.class
      new file mode 100644
      index 00000000000..8401d6130eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/StandardPolicies.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuAdapterActivator.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuAdapterActivator.class
      new file mode 100644
      index 00000000000..5443062282b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuAdapterActivator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuForwardRequest.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuForwardRequest.class
      new file mode 100644
      index 00000000000..d916d35d716
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuForwardRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuIdAssignmentPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuIdAssignmentPolicy.class
      new file mode 100644
      index 00000000000..990e51d4286
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuIdAssignmentPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuIdUniquenessPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuIdUniquenessPolicy.class
      new file mode 100644
      index 00000000000..7d6696a160f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuIdUniquenessPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuImplicitActivationPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuImplicitActivationPolicy.class
      new file mode 100644
      index 00000000000..80c09ade818
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuImplicitActivationPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuLifespanPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuLifespanPolicy.class
      new file mode 100644
      index 00000000000..5864cdf75c4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuLifespanPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA$RefTemplate.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA$RefTemplate.class
      new file mode 100644
      index 00000000000..fa7a1412bd2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA$RefTemplate.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class
      new file mode 100644
      index 00000000000..9a94dd328ff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOA.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOAManager.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOAManager.class
      new file mode 100644
      index 00000000000..8881d5db133
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPOAManager.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class
      new file mode 100644
      index 00000000000..8de62d0b68e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuPoaCurrent.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuRequestProcessingPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuRequestProcessingPolicy.class
      new file mode 100644
      index 00000000000..0fc5ba4a1cc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuRequestProcessingPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class
      new file mode 100644
      index 00000000000..56b89a3a0a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantObject.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantRetentionPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantRetentionPolicy.class
      new file mode 100644
      index 00000000000..40865eb8d26
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuServantRetentionPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Poa/gnuThreadPolicy.class b/libjava/classpath/lib/gnu/CORBA/Poa/gnuThreadPolicy.class
      new file mode 100644
      index 00000000000..bae7864c16c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Poa/gnuThreadPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/RawReply.class b/libjava/classpath/lib/gnu/CORBA/RawReply.class
      new file mode 100644
      index 00000000000..097a106907d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/RawReply.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/ResponseHandlerImpl.class b/libjava/classpath/lib/gnu/CORBA/ResponseHandlerImpl.class
      new file mode 100644
      index 00000000000..96a4b576bcd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/ResponseHandlerImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/SafeForDirectCalls.class b/libjava/classpath/lib/gnu/CORBA/SafeForDirectCalls.class
      new file mode 100644
      index 00000000000..d3fbd82b5cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/SafeForDirectCalls.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/ServiceDetailHolder.class b/libjava/classpath/lib/gnu/CORBA/ServiceDetailHolder.class
      new file mode 100644
      index 00000000000..226c3963aa5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/ServiceDetailHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/ServiceRequestAdapter.class b/libjava/classpath/lib/gnu/CORBA/ServiceRequestAdapter.class
      new file mode 100644
      index 00000000000..bc813062b99
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/ServiceRequestAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/SetOverrideTypeHolder.class b/libjava/classpath/lib/gnu/CORBA/SetOverrideTypeHolder.class
      new file mode 100644
      index 00000000000..df821bfd837
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/SetOverrideTypeHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/SimpleDelegate.class b/libjava/classpath/lib/gnu/CORBA/SimpleDelegate.class
      new file mode 100644
      index 00000000000..8cff1143472
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/SimpleDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/SocketRepository.class b/libjava/classpath/lib/gnu/CORBA/SocketRepository.class
      new file mode 100644
      index 00000000000..81448b3b117
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/SocketRepository.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/StreamBasedRequest.class b/libjava/classpath/lib/gnu/CORBA/StreamBasedRequest.class
      new file mode 100644
      index 00000000000..8cd3433d182
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/StreamBasedRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/StreamHolder.class b/libjava/classpath/lib/gnu/CORBA/StreamHolder.class
      new file mode 100644
      index 00000000000..5d06c9156af
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/StreamHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/StubLocator.class b/libjava/classpath/lib/gnu/CORBA/StubLocator.class
      new file mode 100644
      index 00000000000..bdd2ca7c258
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/StubLocator.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class b/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class
      new file mode 100644
      index 00000000000..091f5413ec3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/TypeCodeHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/TypeKindNamer.class b/libjava/classpath/lib/gnu/CORBA/TypeKindNamer.class
      new file mode 100644
      index 00000000000..d17efde8352
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/TypeKindNamer.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Unexpected.class b/libjava/classpath/lib/gnu/CORBA/Unexpected.class
      new file mode 100644
      index 00000000000..14e326e42be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Unexpected.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/Version.class b/libjava/classpath/lib/gnu/CORBA/Version.class
      new file mode 100644
      index 00000000000..1e420498640
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/Version.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/WCharHolder.class b/libjava/classpath/lib/gnu/CORBA/WCharHolder.class
      new file mode 100644
      index 00000000000..eb7a44e52e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/WCharHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/WStringHolder.class b/libjava/classpath/lib/gnu/CORBA/WStringHolder.class
      new file mode 100644
      index 00000000000..71343782852
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/WStringHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/_PolicyImplBase.class b/libjava/classpath/lib/gnu/CORBA/_PolicyImplBase.class
      new file mode 100644
      index 00000000000..f5520a7359e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/_PolicyImplBase.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuAny.class b/libjava/classpath/lib/gnu/CORBA/gnuAny.class
      new file mode 100644
      index 00000000000..266d5ba8259
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuAny.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuCodecFactory.class b/libjava/classpath/lib/gnu/CORBA/gnuCodecFactory.class
      new file mode 100644
      index 00000000000..d739ab5d3db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuCodecFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuContext.class b/libjava/classpath/lib/gnu/CORBA/gnuContext.class
      new file mode 100644
      index 00000000000..d5c34c6649f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuContext.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuContextList.class b/libjava/classpath/lib/gnu/CORBA/gnuContextList.class
      new file mode 100644
      index 00000000000..11d150dbf51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuContextList.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuEnvironment.class b/libjava/classpath/lib/gnu/CORBA/gnuEnvironment.class
      new file mode 100644
      index 00000000000..7bf0a1634d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuEnvironment.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuExceptionList.class b/libjava/classpath/lib/gnu/CORBA/gnuExceptionList.class
      new file mode 100644
      index 00000000000..4afd4167444
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuExceptionList.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuNVList.class b/libjava/classpath/lib/gnu/CORBA/gnuNVList.class
      new file mode 100644
      index 00000000000..d85ebd24911
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuNVList.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuNamedValue.class b/libjava/classpath/lib/gnu/CORBA/gnuNamedValue.class
      new file mode 100644
      index 00000000000..7453402da12
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuNamedValue.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class
      new file mode 100644
      index 00000000000..59c92986fb2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuRequest$1.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class
      new file mode 100644
      index 00000000000..81feb54a99d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuRequest$2.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuRequest.class b/libjava/classpath/lib/gnu/CORBA/gnuRequest.class
      new file mode 100644
      index 00000000000..c192425288a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/gnuValueHolder.class b/libjava/classpath/lib/gnu/CORBA/gnuValueHolder.class
      new file mode 100644
      index 00000000000..0e6db7efef8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/gnuValueHolder.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/interfaces/SocketFactory.class b/libjava/classpath/lib/gnu/CORBA/interfaces/SocketFactory.class
      new file mode 100644
      index 00000000000..b3bcb327532
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/interfaces/SocketFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/AliasTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/AliasTypeCode.class
      new file mode 100644
      index 00000000000..6da15c1abe7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/AliasTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/ArrayTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/ArrayTypeCode.class
      new file mode 100644
      index 00000000000..0ad4bb8329d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/ArrayTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/FixedTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/FixedTypeCode.class
      new file mode 100644
      index 00000000000..9dda03ad0df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/FixedTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/GeneralTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/GeneralTypeCode.class
      new file mode 100644
      index 00000000000..809ec3264e0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/GeneralTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/PrimitiveTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/PrimitiveTypeCode.class
      new file mode 100644
      index 00000000000..cce5b770b19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/PrimitiveTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode$Field.class b/libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode$Field.class
      new file mode 100644
      index 00000000000..5914e5f824c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode$Field.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode.class
      new file mode 100644
      index 00000000000..eafcacfee48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/RecordTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/RecursiveTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/RecursiveTypeCode.class
      new file mode 100644
      index 00000000000..0059b2f9ab4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/RecursiveTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/CORBA/typecodes/StringTypeCode.class b/libjava/classpath/lib/gnu/CORBA/typecodes/StringTypeCode.class
      new file mode 100644
      index 00000000000..0f81c868b67
      Binary files /dev/null and b/libjava/classpath/lib/gnu/CORBA/typecodes/StringTypeCode.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/LightweightRedirector.class b/libjava/classpath/lib/gnu/awt/LightweightRedirector.class
      new file mode 100644
      index 00000000000..ff065f5dbbb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/LightweightRedirector.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/j2d/AbstractGraphicsState.class b/libjava/classpath/lib/gnu/awt/j2d/AbstractGraphicsState.class
      new file mode 100644
      index 00000000000..b927ed5e29d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/j2d/AbstractGraphicsState.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/j2d/DirectRasterGraphics.class b/libjava/classpath/lib/gnu/awt/j2d/DirectRasterGraphics.class
      new file mode 100644
      index 00000000000..fc2165cade2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/j2d/DirectRasterGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class b/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class
      new file mode 100644
      index 00000000000..1e5afad2b97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/j2d/Graphics2DImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.class b/libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.class
      new file mode 100644
      index 00000000000..c2cc6bca111
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState.class b/libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState.class
      new file mode 100644
      index 00000000000..04551d055c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/j2d/IntegerGraphicsState.class differ
      diff --git a/libjava/classpath/lib/gnu/awt/j2d/MappedRaster.class b/libjava/classpath/lib/gnu/awt/j2d/MappedRaster.class
      new file mode 100644
      index 00000000000..8a63c469887
      Binary files /dev/null and b/libjava/classpath/lib/gnu/awt/j2d/MappedRaster.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/Configuration.class b/libjava/classpath/lib/gnu/classpath/Configuration.class
      new file mode 100644
      index 00000000000..16a411a5ef2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/Configuration.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/ListenerData.class b/libjava/classpath/lib/gnu/classpath/ListenerData.class
      new file mode 100644
      index 00000000000..2ab92adf60d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/ListenerData.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/NotImplementedException.class b/libjava/classpath/lib/gnu/classpath/NotImplementedException.class
      new file mode 100644
      index 00000000000..56130dfab87
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/NotImplementedException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/Pointer.class b/libjava/classpath/lib/gnu/classpath/Pointer.class
      new file mode 100644
      index 00000000000..a8fc21f3f6a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/Pointer.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/Pointer32.class b/libjava/classpath/lib/gnu/classpath/Pointer32.class
      new file mode 100644
      index 00000000000..e57e4da7542
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/Pointer32.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/Pointer64.class b/libjava/classpath/lib/gnu/classpath/Pointer64.class
      new file mode 100644
      index 00000000000..66c53d93b58
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/Pointer64.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class b/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class
      new file mode 100644
      index 00000000000..cd38e30f254
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/ServiceFactory$ServiceIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/ServiceFactory.class b/libjava/classpath/lib/gnu/classpath/ServiceFactory.class
      new file mode 100644
      index 00000000000..ea98d904484
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/ServiceFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/ServiceProviderLoadingAction.class b/libjava/classpath/lib/gnu/classpath/ServiceProviderLoadingAction.class
      new file mode 100644
      index 00000000000..3d1680839e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/ServiceProviderLoadingAction.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/SystemProperties.class b/libjava/classpath/lib/gnu/classpath/SystemProperties.class
      new file mode 100644
      index 00000000000..4ed22f83761
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/SystemProperties.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/VMStackWalker.class b/libjava/classpath/lib/gnu/classpath/VMStackWalker.class
      new file mode 100644
      index 00000000000..449d365ed5e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/VMStackWalker.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/Component.class b/libjava/classpath/lib/gnu/classpath/debug/Component.class
      new file mode 100644
      index 00000000000..70a3533fbbc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/Component.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/PreciseFilter.class b/libjava/classpath/lib/gnu/classpath/debug/PreciseFilter.class
      new file mode 100644
      index 00000000000..86cc273c0de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/PreciseFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/Simple1LineFormatter.class b/libjava/classpath/lib/gnu/classpath/debug/Simple1LineFormatter.class
      new file mode 100644
      index 00000000000..0a1b92a0d7e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/Simple1LineFormatter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/SystemLogger.class b/libjava/classpath/lib/gnu/classpath/debug/SystemLogger.class
      new file mode 100644
      index 00000000000..e40478eb4b0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/SystemLogger.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/TeeInputStream.class b/libjava/classpath/lib/gnu/classpath/debug/TeeInputStream.class
      new file mode 100644
      index 00000000000..7d22a760e8f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/TeeInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/TeeOutputStream.class b/libjava/classpath/lib/gnu/classpath/debug/TeeOutputStream.class
      new file mode 100644
      index 00000000000..3ec42ac2846
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/TeeOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/TeeReader.class b/libjava/classpath/lib/gnu/classpath/debug/TeeReader.class
      new file mode 100644
      index 00000000000..588fcca6a39
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/TeeReader.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/debug/TeeWriter.class b/libjava/classpath/lib/gnu/classpath/debug/TeeWriter.class
      new file mode 100644
      index 00000000000..46809bb747e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/debug/TeeWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class
      new file mode 100644
      index 00000000000..ce9e9a32bf2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp$1.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class
      new file mode 100644
      index 00000000000..e16ddb6b313
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/Jdwp.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ClassStatus.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ClassStatus.class
      new file mode 100644
      index 00000000000..939e212bd5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ClassStatus.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.class
      new file mode 100644
      index 00000000000..bf53f5d8bbd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.class
      new file mode 100644
      index 00000000000..2a8546819ce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.class
      new file mode 100644
      index 00000000000..0ca114da20a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.class
      new file mode 100644
      index 00000000000..2a7f1ce3623
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.class
      new file mode 100644
      index 00000000000..a5487a1fe40
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.class
      new file mode 100644
      index 00000000000..423d818497e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.class
      new file mode 100644
      index 00000000000..f33416322d5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.class
      new file mode 100644
      index 00000000000..07312b68429
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.class
      new file mode 100644
      index 00000000000..90c72fef553
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.class
      new file mode 100644
      index 00000000000..886bf971e6a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.class
      new file mode 100644
      index 00000000000..e720d5aaff9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.class
      new file mode 100644
      index 00000000000..6eb00671b80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.class
      new file mode 100644
      index 00000000000..01ab67df654
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.class
      new file mode 100644
      index 00000000000..00e831d9d76
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.class
      new file mode 100644
      index 00000000000..21bd487e028
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.class
      new file mode 100644
      index 00000000000..d86fb49a989
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.class
      new file mode 100644
      index 00000000000..0218b6ac69a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class
      new file mode 100644
      index 00000000000..a6228afe141
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$CommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Error.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Error.class
      new file mode 100644
      index 00000000000..4fb74b7d5d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Error.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$EventKind.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$EventKind.class
      new file mode 100644
      index 00000000000..cf86889f2b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$EventKind.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.class
      new file mode 100644
      index 00000000000..6ded49a4319
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ModKind.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ModKind.class
      new file mode 100644
      index 00000000000..8f9f5bd9e6a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ModKind.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepDepth.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepDepth.class
      new file mode 100644
      index 00000000000..1acc46cf4cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepDepth.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepSize.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepSize.class
      new file mode 100644
      index 00000000000..7331760f652
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$StepSize.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.class
      new file mode 100644
      index 00000000000..0d3d661fcbb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.class
      new file mode 100644
      index 00000000000..278ad885da2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Tag.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Tag.class
      new file mode 100644
      index 00000000000..f0c90313c4c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Tag.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.class
      new file mode 100644
      index 00000000000..2d3b9aa0234
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$TypeTag.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$TypeTag.class
      new file mode 100644
      index 00000000000..0cf5f139350
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$TypeTag.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Version.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Version.class
      new file mode 100644
      index 00000000000..f3601fe1967
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants$Version.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class
      new file mode 100644
      index 00000000000..6659ab9ff9a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/JdwpConstants.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class
      new file mode 100644
      index 00000000000..40c8c2da7c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class
      new file mode 100644
      index 00000000000..836eecd1980
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$IdFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$ReferenceKey.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$ReferenceKey.class
      new file mode 100644
      index 00000000000..d23f881a2f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager$ReferenceKey.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager.class
      new file mode 100644
      index 00000000000..55b765688d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/VMIdManager.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMMethod.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMMethod.class
      new file mode 100644
      index 00000000000..25cc9e0c40f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/VMMethod.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class
      new file mode 100644
      index 00000000000..7b7be23febc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/BreakpointEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/BreakpointEvent.class
      new file mode 100644
      index 00000000000..b7e1de9eabb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/BreakpointEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/ClassPrepareEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/ClassPrepareEvent.class
      new file mode 100644
      index 00000000000..e260ac89f56
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/ClassPrepareEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/ClassUnloadEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/ClassUnloadEvent.class
      new file mode 100644
      index 00000000000..c910a78e804
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/ClassUnloadEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/Event.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/Event.class
      new file mode 100644
      index 00000000000..d7230bd5ab3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/Event.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class
      new file mode 100644
      index 00000000000..49fd7f90d9f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/EventManager.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/EventRequest.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/EventRequest.class
      new file mode 100644
      index 00000000000..2b423e956d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/EventRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/ExceptionEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/ExceptionEvent.class
      new file mode 100644
      index 00000000000..3ce2f59cd27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/ExceptionEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/MethodEntryEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/MethodEntryEvent.class
      new file mode 100644
      index 00000000000..da1c51d5cfd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/MethodEntryEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/MethodExitEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/MethodExitEvent.class
      new file mode 100644
      index 00000000000..59f0f093041
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/MethodExitEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/SingleStepEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/SingleStepEvent.class
      new file mode 100644
      index 00000000000..8fc0e450b26
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/SingleStepEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadEndEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadEndEvent.class
      new file mode 100644
      index 00000000000..090a690a1bf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadEndEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadStartEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadStartEvent.class
      new file mode 100644
      index 00000000000..05fd3dcb570
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/ThreadStartEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/VmDeathEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/VmDeathEvent.class
      new file mode 100644
      index 00000000000..1bdcec4d586
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/VmDeathEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/VmInitEvent.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/VmInitEvent.class
      new file mode 100644
      index 00000000000..a9795032fbb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/VmInitEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.class
      new file mode 100644
      index 00000000000..a08cd3265ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.class
      new file mode 100644
      index 00000000000..0025509c612
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassMatchFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.class
      new file mode 100644
      index 00000000000..6f60ab9c941
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ConditionalFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ConditionalFilter.class
      new file mode 100644
      index 00000000000..d0471ff1ffe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ConditionalFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/CountFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/CountFilter.class
      new file mode 100644
      index 00000000000..0a01eab4902
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/CountFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.class
      new file mode 100644
      index 00000000000..8c8877a309b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.class
      new file mode 100644
      index 00000000000..5b6efd26597
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/IEventFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/IEventFilter.class
      new file mode 100644
      index 00000000000..4c99806ecee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/IEventFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.class
      new file mode 100644
      index 00000000000..9d4534a2b03
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.class
      new file mode 100644
      index 00000000000..1e8d19b24e6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/StepFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/StepFilter.class
      new file mode 100644
      index 00000000000..ce6d2fbaca9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/StepFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.class b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.class
      new file mode 100644
      index 00000000000..b9d6d01a9d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassException.class
      new file mode 100644
      index 00000000000..5ece4d57a57
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.class
      new file mode 100644
      index 00000000000..1c99c4b11ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidClassLoaderException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidCountException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidCountException.class
      new file mode 100644
      index 00000000000..7112f8bda36
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidCountException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidEventTypeException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidEventTypeException.class
      new file mode 100644
      index 00000000000..9101c09ab26
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidEventTypeException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidFieldException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidFieldException.class
      new file mode 100644
      index 00000000000..e87690b42d5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidFieldException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidLocationException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidLocationException.class
      new file mode 100644
      index 00000000000..337a73b0630
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidLocationException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidMethodException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidMethodException.class
      new file mode 100644
      index 00000000000..03a7ea9fdde
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidMethodException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidObjectException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidObjectException.class
      new file mode 100644
      index 00000000000..e1eeecf02f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidObjectException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidStringException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidStringException.class
      new file mode 100644
      index 00000000000..7973ac6e965
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidStringException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadException.class
      new file mode 100644
      index 00000000000..e12c51e51fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.class
      new file mode 100644
      index 00000000000..331d9a27cd3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/InvalidThreadGroupException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpException.class
      new file mode 100644
      index 00000000000..3076b0bc4b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.class
      new file mode 100644
      index 00000000000..7bdff533ece
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.class
      new file mode 100644
      index 00000000000..28a94b94c88
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/JdwpInternalErrorException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/NativeMethodException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/NativeMethodException.class
      new file mode 100644
      index 00000000000..585ae37c817
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/NativeMethodException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/NotImplementedException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/NotImplementedException.class
      new file mode 100644
      index 00000000000..8f7bf9c3f58
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/NotImplementedException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/exception/VmDeadException.class b/libjava/classpath/lib/gnu/classpath/jdwp/exception/VmDeadException.class
      new file mode 100644
      index 00000000000..ef8d5b27989
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/exception/VmDeadException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayId.class
      new file mode 100644
      index 00000000000..3511ffc9424
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.class
      new file mode 100644
      index 00000000000..079eac5e591
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ArrayReferenceTypeId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassLoaderId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassLoaderId.class
      new file mode 100644
      index 00000000000..09a781f0109
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassLoaderId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class
      new file mode 100644
      index 00000000000..91706216d2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassObjectId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassReferenceTypeId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassReferenceTypeId.class
      new file mode 100644
      index 00000000000..3d65d0da2f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ClassReferenceTypeId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.class
      new file mode 100644
      index 00000000000..d8bd1b9be61
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/JdwpId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/JdwpId.class
      new file mode 100644
      index 00000000000..322ea4ad73f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/JdwpId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ObjectId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ObjectId.class
      new file mode 100644
      index 00000000000..412d2d5d814
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ObjectId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class
      new file mode 100644
      index 00000000000..65ee9ea2f92
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ReferenceTypeId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/StringId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/StringId.class
      new file mode 100644
      index 00000000000..7cc0ed60e16
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/StringId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadGroupId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadGroupId.class
      new file mode 100644
      index 00000000000..2e28ff83cea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadGroupId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadId.class b/libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadId.class
      new file mode 100644
      index 00000000000..37782c54184
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/id/ThreadId.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.class
      new file mode 100644
      index 00000000000..7f0f3a4dade
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.class
      new file mode 100644
      index 00000000000..686bb6e19cc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class
      new file mode 100644
      index 00000000000..9902c528b95
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.class
      new file mode 100644
      index 00000000000..ce043ddb4db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.class
      new file mode 100644
      index 00000000000..18757d3f273
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/CommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/CommandSet.class
      new file mode 100644
      index 00000000000..226489de3a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/CommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/EventRequestCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/EventRequestCommandSet.class
      new file mode 100644
      index 00000000000..e1f284cd54d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/EventRequestCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/FieldCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/FieldCommandSet.class
      new file mode 100644
      index 00000000000..74685c062e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/FieldCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.class
      new file mode 100644
      index 00000000000..4cf81a22ab1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/MethodCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/MethodCommandSet.class
      new file mode 100644
      index 00000000000..bc2b3e71917
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/MethodCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.class
      new file mode 100644
      index 00000000000..3efdacfe6b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/PacketProcessor.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/PacketProcessor.class
      new file mode 100644
      index 00000000000..18234c60f7d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/PacketProcessor.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.class
      new file mode 100644
      index 00000000000..1eedfc1dbe1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/StackFrameCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/StackFrameCommandSet.class
      new file mode 100644
      index 00000000000..9e8d2a02bc4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/StackFrameCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.class
      new file mode 100644
      index 00000000000..106710539b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/StringReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.class
      new file mode 100644
      index 00000000000..d71fd305474
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.class
      new file mode 100644
      index 00000000000..7aea1a69560
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class b/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class
      new file mode 100644
      index 00000000000..d92898641f8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/ITransport.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/ITransport.class
      new file mode 100644
      index 00000000000..021cbcbc065
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/ITransport.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpCommandPacket.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpCommandPacket.class
      new file mode 100644
      index 00000000000..505622a7da1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpCommandPacket.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpConnection.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpConnection.class
      new file mode 100644
      index 00000000000..2f1c37d2fd5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpConnection.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpPacket.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpPacket.class
      new file mode 100644
      index 00000000000..17eee560910
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpPacket.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpReplyPacket.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpReplyPacket.class
      new file mode 100644
      index 00000000000..ccf01789e06
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/JdwpReplyPacket.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/SocketTransport.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/SocketTransport.class
      new file mode 100644
      index 00000000000..8d7f0932b02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/SocketTransport.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportException.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportException.class
      new file mode 100644
      index 00000000000..3064962dbb7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportException.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.class
      new file mode 100644
      index 00000000000..fae00826705
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory.class b/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory.class
      new file mode 100644
      index 00000000000..79dc3513ade
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/transport/TransportFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/JdwpString.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/JdwpString.class
      new file mode 100644
      index 00000000000..d37bc871685
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/JdwpString.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/LineTable.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/LineTable.class
      new file mode 100644
      index 00000000000..2d5f61ee0b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/LineTable.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/Location.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/Location.class
      new file mode 100644
      index 00000000000..593418c29b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/Location.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/MethodResult.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/MethodResult.class
      new file mode 100644
      index 00000000000..71f7f1f3781
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/MethodResult.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/Signature.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/Signature.class
      new file mode 100644
      index 00000000000..e9525687d3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/Signature.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class
      new file mode 100644
      index 00000000000..20293c12746
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class differ
      diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/util/VariableTable.class b/libjava/classpath/lib/gnu/classpath/jdwp/util/VariableTable.class
      new file mode 100644
      index 00000000000..7c653c3d6d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/classpath/jdwp/util/VariableTable.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/Core.class b/libjava/classpath/lib/gnu/gcj/Core.class
      new file mode 100644
      index 00000000000..8a26255f175
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/Core.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/RawData.class b/libjava/classpath/lib/gnu/gcj/RawData.class
      new file mode 100644
      index 00000000000..a00b1c488d4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/RawData.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/RawDataManaged.class b/libjava/classpath/lib/gnu/gcj/RawDataManaged.class
      new file mode 100644
      index 00000000000..7e5b982ce6c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/RawDataManaged.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/BytesToCharsetAdaptor.class b/libjava/classpath/lib/gnu/gcj/convert/BytesToCharsetAdaptor.class
      new file mode 100644
      index 00000000000..7efd0fe778b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/BytesToCharsetAdaptor.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/BytesToUnicode.class b/libjava/classpath/lib/gnu/gcj/convert/BytesToUnicode.class
      new file mode 100644
      index 00000000000..dc97d8454fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/BytesToUnicode.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/CharsetToBytesAdaptor.class b/libjava/classpath/lib/gnu/gcj/convert/CharsetToBytesAdaptor.class
      new file mode 100644
      index 00000000000..cf73dc114e6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/CharsetToBytesAdaptor.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Convert.class b/libjava/classpath/lib/gnu/gcj/convert/Convert.class
      new file mode 100644
      index 00000000000..baff2de415f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Convert.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/IOConverter.class b/libjava/classpath/lib/gnu/gcj/convert/IOConverter.class
      new file mode 100644
      index 00000000000..d283842bba1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/IOConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_8859_1.class b/libjava/classpath/lib/gnu/gcj/convert/Input_8859_1.class
      new file mode 100644
      index 00000000000..8da067f53d1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_8859_1.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_ASCII.class b/libjava/classpath/lib/gnu/gcj/convert/Input_ASCII.class
      new file mode 100644
      index 00000000000..584e27b984f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_ASCII.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_EUCJIS.class b/libjava/classpath/lib/gnu/gcj/convert/Input_EUCJIS.class
      new file mode 100644
      index 00000000000..4ff9c7d934c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_EUCJIS.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_JavaSrc.class b/libjava/classpath/lib/gnu/gcj/convert/Input_JavaSrc.class
      new file mode 100644
      index 00000000000..795dd8e29bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_JavaSrc.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_SJIS.class b/libjava/classpath/lib/gnu/gcj/convert/Input_SJIS.class
      new file mode 100644
      index 00000000000..b8d120cb0ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_SJIS.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_UTF8.class b/libjava/classpath/lib/gnu/gcj/convert/Input_UTF8.class
      new file mode 100644
      index 00000000000..c368e605a25
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_UTF8.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeBig.class b/libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeBig.class
      new file mode 100644
      index 00000000000..e3076866997
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeBig.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeLittle.class b/libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeLittle.class
      new file mode 100644
      index 00000000000..6d02c3174b5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_UnicodeLittle.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Input_iconv.class b/libjava/classpath/lib/gnu/gcj/convert/Input_iconv.class
      new file mode 100644
      index 00000000000..6700903f2ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Input_iconv.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_8859_1.class b/libjava/classpath/lib/gnu/gcj/convert/Output_8859_1.class
      new file mode 100644
      index 00000000000..8433e736146
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_8859_1.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_ASCII.class b/libjava/classpath/lib/gnu/gcj/convert/Output_ASCII.class
      new file mode 100644
      index 00000000000..659b00064f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_ASCII.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_EUCJIS.class b/libjava/classpath/lib/gnu/gcj/convert/Output_EUCJIS.class
      new file mode 100644
      index 00000000000..379ba3decb6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_EUCJIS.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_JavaSrc.class b/libjava/classpath/lib/gnu/gcj/convert/Output_JavaSrc.class
      new file mode 100644
      index 00000000000..842d5fac9eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_JavaSrc.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_SJIS.class b/libjava/classpath/lib/gnu/gcj/convert/Output_SJIS.class
      new file mode 100644
      index 00000000000..2ed3f80373c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_SJIS.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_UTF8.class b/libjava/classpath/lib/gnu/gcj/convert/Output_UTF8.class
      new file mode 100644
      index 00000000000..f89683a61eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_UTF8.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_UnicodeLittleUnmarked.class b/libjava/classpath/lib/gnu/gcj/convert/Output_UnicodeLittleUnmarked.class
      new file mode 100644
      index 00000000000..69320f86133
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_UnicodeLittleUnmarked.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/Output_iconv.class b/libjava/classpath/lib/gnu/gcj/convert/Output_iconv.class
      new file mode 100644
      index 00000000000..4f743793c9f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/Output_iconv.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/convert/UnicodeToBytes.class b/libjava/classpath/lib/gnu/gcj/convert/UnicodeToBytes.class
      new file mode 100644
      index 00000000000..354fb7f58f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/convert/UnicodeToBytes.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/io/DefaultMimeTypes.class b/libjava/classpath/lib/gnu/gcj/io/DefaultMimeTypes.class
      new file mode 100644
      index 00000000000..2d97570ad38
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/io/DefaultMimeTypes.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/io/MimeTypes.class b/libjava/classpath/lib/gnu/gcj/io/MimeTypes.class
      new file mode 100644
      index 00000000000..4d2cc671ae7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/io/MimeTypes.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/io/SimpleSHSStream.class b/libjava/classpath/lib/gnu/gcj/io/SimpleSHSStream.class
      new file mode 100644
      index 00000000000..bdd227ec1c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/io/SimpleSHSStream.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/jvmti/Breakpoint.class b/libjava/classpath/lib/gnu/gcj/jvmti/Breakpoint.class
      new file mode 100644
      index 00000000000..be2f539139b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/jvmti/Breakpoint.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class b/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class
      new file mode 100644
      index 00000000000..c0bf97744a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/jvmti/BreakpointManager.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/jvmti/Location.class b/libjava/classpath/lib/gnu/gcj/jvmti/Location.class
      new file mode 100644
      index 00000000000..37bcdd962af
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/jvmti/Location.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class
      new file mode 100644
      index 00000000000..1635a304040
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/BootClassLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/ExtensionClassLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/ExtensionClassLoader.class
      new file mode 100644
      index 00000000000..d0fee5eabd8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/ExtensionClassLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/FinalizerThread.class b/libjava/classpath/lib/gnu/gcj/runtime/FinalizerThread.class
      new file mode 100644
      index 00000000000..40e118d78bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/FinalizerThread.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class
      new file mode 100644
      index 00000000000..0503a71b279
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader$1.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class
      new file mode 100644
      index 00000000000..4aac103708c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/HelperClassLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/JNIWeakRef.class b/libjava/classpath/lib/gnu/gcj/runtime/JNIWeakRef.class
      new file mode 100644
      index 00000000000..02793559bc2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/JNIWeakRef.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/NameFinder$Addr2Line.class b/libjava/classpath/lib/gnu/gcj/runtime/NameFinder$Addr2Line.class
      new file mode 100644
      index 00000000000..9299252b2ad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/NameFinder$Addr2Line.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/NameFinder.class b/libjava/classpath/lib/gnu/gcj/runtime/NameFinder.class
      new file mode 100644
      index 00000000000..15d34ef9ab5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/NameFinder.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class
      new file mode 100644
      index 00000000000..e5f77e9cee6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$AccessMode.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.class
      new file mode 100644
      index 00000000000..ac8b998ccdd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class
      new file mode 100644
      index 00000000000..d6a39d0acfa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$HashIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$MapEntry.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$MapEntry.class
      new file mode 100644
      index 00000000000..c07e1c7b9ff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap$MapEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class
      new file mode 100644
      index 00000000000..ff84e010eea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/PersistentByteMap.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class
      new file mode 100644
      index 00000000000..6ed177b738e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class
      new file mode 100644
      index 00000000000..44636a57257
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/SharedLibLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/StringBuffer.class b/libjava/classpath/lib/gnu/gcj/runtime/StringBuffer.class
      new file mode 100644
      index 00000000000..69c43c39f80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/StringBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/runtime/SystemClassLoader.class b/libjava/classpath/lib/gnu/gcj/runtime/SystemClassLoader.class
      new file mode 100644
      index 00000000000..fc6e6a4030a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/runtime/SystemClassLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Fileset.class b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Fileset.class
      new file mode 100644
      index 00000000000..906431cb7a6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Fileset.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class
      new file mode 100644
      index 00000000000..c785ed41bf7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Tokenizer.class b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Tokenizer.class
      new file mode 100644
      index 00000000000..2ddd589f87e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Tokenizer.class differ
      diff --git a/libjava/classpath/lib/gnu/gcj/util/Debug.class b/libjava/classpath/lib/gnu/gcj/util/Debug.class
      new file mode 100644
      index 00000000000..ac8d1ecde36
      Binary files /dev/null and b/libjava/classpath/lib/gnu/gcj/util/Debug.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class
      new file mode 100644
      index 00000000000..cbc0f6fdbd0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class
      new file mode 100644
      index 00000000000..fb992fec655
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/AWTUtilities$VisibleComponentList.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class b/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class
      new file mode 100644
      index 00000000000..acf2f1ec1f6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/AWTUtilities.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/BitMaskExtent.class b/libjava/classpath/lib/gnu/java/awt/BitMaskExtent.class
      new file mode 100644
      index 00000000000..29e68738555
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/BitMaskExtent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$GeneralContext.class b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$GeneralContext.class
      new file mode 100644
      index 00000000000..0d25849129c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$GeneralContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class
      new file mode 100644
      index 00000000000..aa889bd088e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite$IntContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite.class b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite.class
      new file mode 100644
      index 00000000000..b379f7a71c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/BitwiseXORComposite.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/Buffers.class b/libjava/classpath/lib/gnu/java/awt/Buffers.class
      new file mode 100644
      index 00000000000..65e57b89f47
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/Buffers.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class b/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class
      new file mode 100644
      index 00000000000..b0a5b1497b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/ClasspathToolkit.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/ComponentDataBlitOp.class b/libjava/classpath/lib/gnu/java/awt/ComponentDataBlitOp.class
      new file mode 100644
      index 00000000000..e65cee5e097
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/ComponentDataBlitOp.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/ComponentReshapeEvent.class b/libjava/classpath/lib/gnu/java/awt/ComponentReshapeEvent.class
      new file mode 100644
      index 00000000000..533e2afd687
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/ComponentReshapeEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/EmbeddedWindow.class b/libjava/classpath/lib/gnu/java/awt/EmbeddedWindow.class
      new file mode 100644
      index 00000000000..39357c5236a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/EmbeddedWindow.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/EventModifier.class b/libjava/classpath/lib/gnu/java/awt/EventModifier.class
      new file mode 100644
      index 00000000000..d43d64e9386
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/EventModifier.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/GradientPaintContext.class b/libjava/classpath/lib/gnu/java/awt/GradientPaintContext.class
      new file mode 100644
      index 00000000000..5d143ffc32e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/GradientPaintContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/LowPriorityEvent.class b/libjava/classpath/lib/gnu/java/awt/LowPriorityEvent.class
      new file mode 100644
      index 00000000000..a35f4de610d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/LowPriorityEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/CieXyzConverter.class b/libjava/classpath/lib/gnu/java/awt/color/CieXyzConverter.class
      new file mode 100644
      index 00000000000..edf6d328842
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/CieXyzConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/ClutProfileConverter.class b/libjava/classpath/lib/gnu/java/awt/color/ClutProfileConverter.class
      new file mode 100644
      index 00000000000..d5d38bb1bbc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/ClutProfileConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class b/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class
      new file mode 100644
      index 00000000000..899c1588120
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/ColorLookUpTable.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/ColorSpaceConverter.class b/libjava/classpath/lib/gnu/java/awt/color/ColorSpaceConverter.class
      new file mode 100644
      index 00000000000..2ca97e2078b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/ColorSpaceConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/GrayProfileConverter.class b/libjava/classpath/lib/gnu/java/awt/color/GrayProfileConverter.class
      new file mode 100644
      index 00000000000..bac7ddc7cea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/GrayProfileConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/GrayScaleConverter.class b/libjava/classpath/lib/gnu/java/awt/color/GrayScaleConverter.class
      new file mode 100644
      index 00000000000..5c1d6fc423b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/GrayScaleConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/LinearRGBConverter.class b/libjava/classpath/lib/gnu/java/awt/color/LinearRGBConverter.class
      new file mode 100644
      index 00000000000..9dd3ecb53c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/LinearRGBConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/ProfileHeader.class b/libjava/classpath/lib/gnu/java/awt/color/ProfileHeader.class
      new file mode 100644
      index 00000000000..742a3e36214
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/ProfileHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/PyccConverter.class b/libjava/classpath/lib/gnu/java/awt/color/PyccConverter.class
      new file mode 100644
      index 00000000000..31e5c148e04
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/PyccConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/RgbProfileConverter.class b/libjava/classpath/lib/gnu/java/awt/color/RgbProfileConverter.class
      new file mode 100644
      index 00000000000..796c205631b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/RgbProfileConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/SrgbConverter.class b/libjava/classpath/lib/gnu/java/awt/color/SrgbConverter.class
      new file mode 100644
      index 00000000000..9b1bd7846a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/SrgbConverter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/TagEntry.class b/libjava/classpath/lib/gnu/java/awt/color/TagEntry.class
      new file mode 100644
      index 00000000000..8671cd128d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/TagEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/color/ToneReproductionCurve.class b/libjava/classpath/lib/gnu/java/awt/color/ToneReproductionCurve.class
      new file mode 100644
      index 00000000000..1058f507380
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/color/ToneReproductionCurve.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.class b/libjava/classpath/lib/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.class
      new file mode 100644
      index 00000000000..a98f2234b92
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.class b/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.class
      new file mode 100644
      index 00000000000..73098309d66
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.class b/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.class
      new file mode 100644
      index 00000000000..802f67c73a3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.class b/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.class
      new file mode 100644
      index 00000000000..e7460d52345
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class b/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class
      new file mode 100644
      index 00000000000..d1a4f5cc05d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/FontDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/FontFactory.class b/libjava/classpath/lib/gnu/java/awt/font/FontFactory.class
      new file mode 100644
      index 00000000000..9cbf8ad1ec8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/FontFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class b/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class
      new file mode 100644
      index 00000000000..15a63b46234
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/GNUGlyphVector.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class
      new file mode 100644
      index 00000000000..a9273d1fa70
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/AxisHints.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class
      new file mode 100644
      index 00000000000..d3db2fd0c47
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Constants.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class
      new file mode 100644
      index 00000000000..5324cebe34b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/GlyphHints.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class
      new file mode 100644
      index 00000000000..01014faf23a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Latin.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class
      new file mode 100644
      index 00000000000..ba60a11055f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinAxis.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class
      new file mode 100644
      index 00000000000..81c17e85d02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/LatinMetrics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class
      new file mode 100644
      index 00000000000..96ffa84e913
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class
      new file mode 100644
      index 00000000000..d909a152757
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Script.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class
      new file mode 100644
      index 00000000000..1e22288fe17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/ScriptMetrics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class
      new file mode 100644
      index 00000000000..a44b85c5781
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Segment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class b/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class
      new file mode 100644
      index 00000000000..04a11d86aae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/autofit/Width.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.class
      new file mode 100644
      index 00000000000..d070a3e8dde
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type0.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type0.class
      new file mode 100644
      index 00000000000..4f9d2e1089d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type0.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type12.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type12.class
      new file mode 100644
      index 00000000000..e7169e72749
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type12.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type4.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type4.class
      new file mode 100644
      index 00000000000..7b70521ef2e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap$Type4.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class
      new file mode 100644
      index 00000000000..a96ede9f3d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/CharGlyphMap.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/GlyphNamer.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/GlyphNamer.class
      new file mode 100644
      index 00000000000..31a1d649f9b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/GlyphNamer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork$Resource.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork$Resource.class
      new file mode 100644
      index 00000000000..2f54ec7154e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork$Resource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork.class
      new file mode 100644
      index 00000000000..fbb42510d34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/MacResourceFork.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/NameDecoder.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/NameDecoder.class
      new file mode 100644
      index 00000000000..c2e7a0b817e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/NameDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class
      new file mode 100644
      index 00000000000..de0cffd6a27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFont.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class
      new file mode 100644
      index 00000000000..6fe831dcce7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/OpenTypeFontFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class
      new file mode 100644
      index 00000000000..b5ce93d5972
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/Scaler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class
      new file mode 100644
      index 00000000000..55422175480
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Fixed.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class
      new file mode 100644
      index 00000000000..5528bd08e72
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.class
      new file mode 100644
      index 00000000000..d6ffe04c616
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.class
      new file mode 100644
      index 00000000000..1f218efd928
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class
      new file mode 100644
      index 00000000000..9315d0c6d51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphLocator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.class
      new file mode 100644
      index 00000000000..b29fa6ff2d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class
      new file mode 100644
      index 00000000000..933bf56b537
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/VirtualMachine.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/VirtualMachine.class
      new file mode 100644
      index 00000000000..2c2fef0ff2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/VirtualMachine.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class
      new file mode 100644
      index 00000000000..d362cb1f426
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Zone.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class
      new file mode 100644
      index 00000000000..d3f857f76cc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/ZonePathIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.class b/libjava/classpath/lib/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.class
      new file mode 100644
      index 00000000000..0d7d61bdc63
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/image/ImageDecoder.class b/libjava/classpath/lib/gnu/java/awt/image/ImageDecoder.class
      new file mode 100644
      index 00000000000..319ecbcffea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/image/ImageDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/image/XBMDecoder.class b/libjava/classpath/lib/gnu/java/awt/image/XBMDecoder.class
      new file mode 100644
      index 00000000000..b803a7abb7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/image/XBMDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class
      new file mode 100644
      index 00000000000..25b1e1e3d70
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/AbstractGraphics2D.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/AlphaCompositeContext.class b/libjava/classpath/lib/gnu/java/awt/java2d/AlphaCompositeContext.class
      new file mode 100644
      index 00000000000..0cc558f9521
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/AlphaCompositeContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class b/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class
      new file mode 100644
      index 00000000000..94b625a0c49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/CubicSegment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.class b/libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.class
      new file mode 100644
      index 00000000000..79e523895dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint.class b/libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint.class
      new file mode 100644
      index 00000000000..48e06a2d478
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/ImagePaint.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class b/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class
      new file mode 100644
      index 00000000000..378a9df0752
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/LineSegment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class
      new file mode 100644
      index 00000000000..a41557a60d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdge.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class
      new file mode 100644
      index 00000000000..772f42c1cff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/PolyEdgeComparator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class b/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class
      new file mode 100644
      index 00000000000..1cdd0b4b96a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/QuadSegment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/RasterGraphics.class b/libjava/classpath/lib/gnu/java/awt/java2d/RasterGraphics.class
      new file mode 100644
      index 00000000000..c52e502d6ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/RasterGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/Segment.class b/libjava/classpath/lib/gnu/java/awt/java2d/Segment.class
      new file mode 100644
      index 00000000000..18d241d4a83
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/Segment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/ShapeCache.class b/libjava/classpath/lib/gnu/java/awt/java2d/ShapeCache.class
      new file mode 100644
      index 00000000000..d82213949e5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/ShapeCache.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/java2d/TexturePaintContext.class b/libjava/classpath/lib/gnu/java/awt/java2d/TexturePaintContext.class
      new file mode 100644
      index 00000000000..e808da67d5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/java2d/TexturePaintContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class
      new file mode 100644
      index 00000000000..a0ed006b9fb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/EmbeddedWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/EmbeddedWindowPeer.class
      new file mode 100644
      index 00000000000..5dc239fd3f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/EmbeddedWindowPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class
      new file mode 100644
      index 00000000000..ebb93ecb277
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/GLightweightPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/NativeEventLoopRunningEvent.class b/libjava/classpath/lib/gnu/java/awt/peer/NativeEventLoopRunningEvent.class
      new file mode 100644
      index 00000000000..f49301a7d23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/NativeEventLoopRunningEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$Loader.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$Loader.class
      new file mode 100644
      index 00000000000..62f7c076f1b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$Loader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class
      new file mode 100644
      index 00000000000..33331c774c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class
      new file mode 100644
      index 00000000000..884957553cd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/AsyncImage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class
      new file mode 100644
      index 00000000000..26ac9f85f48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/BufferedImageGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class
      new file mode 100644
      index 00000000000..2c472c48685
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class
      new file mode 100644
      index 00000000000..c80d33b0a4e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class
      new file mode 100644
      index 00000000000..eb4bf173b5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class
      new file mode 100644
      index 00000000000..326d4355db4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class
      new file mode 100644
      index 00000000000..655eba16fc1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.class
      new file mode 100644
      index 00000000000..d9a29a2cdb2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class
      new file mode 100644
      index 00000000000..a3923958161
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class
      new file mode 100644
      index 00000000000..6362e5c07d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class
      new file mode 100644
      index 00000000000..f24f934b431
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.class
      new file mode 100644
      index 00000000000..64d47db6b38
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.class
      new file mode 100644
      index 00000000000..0807a240c95
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class
      new file mode 100644
      index 00000000000..90698647c89
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkFontPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class
      new file mode 100644
      index 00000000000..fd4492219aa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class
      new file mode 100644
      index 00000000000..e62ee53d652
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class
      new file mode 100644
      index 00000000000..eb61d5056b9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class
      new file mode 100644
      index 00000000000..7566b0bc4ba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class
      new file mode 100644
      index 00000000000..6328b156a3d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class
      new file mode 100644
      index 00000000000..54adeb7576e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class
      new file mode 100644
      index 00000000000..86b97376812
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class
      new file mode 100644
      index 00000000000..9b332f9184d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkPixbufDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkRobotPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkRobotPeer.class
      new file mode 100644
      index 00000000000..a3330885a21
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkRobotPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.class
      new file mode 100644
      index 00000000000..0494728ecb6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class
      new file mode 100644
      index 00000000000..87481e787dd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkButtonPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkButtonPeer.class
      new file mode 100644
      index 00000000000..a0e6f0a3cec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkButtonPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCanvasPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCanvasPeer.class
      new file mode 100644
      index 00000000000..f9d343cca0d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCanvasPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.class
      new file mode 100644
      index 00000000000..50d6dbeef8a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class
      new file mode 100644
      index 00000000000..511f60b4b74
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCheckboxPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkChoicePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkChoicePeer.class
      new file mode 100644
      index 00000000000..7efc35afa27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkChoicePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class
      new file mode 100644
      index 00000000000..863a1746ffc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboard.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class
      new file mode 100644
      index 00000000000..0e92e5d438b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkClipboardNotifier.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.class
      new file mode 100644
      index 00000000000..097713c014a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class
      new file mode 100644
      index 00000000000..9768413597a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkContainerPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkContainerPeer.class
      new file mode 100644
      index 00000000000..242bee5d57b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkContainerPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCursor.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCursor.class
      new file mode 100644
      index 00000000000..233d653bbe1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkCursor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkDialogPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkDialogPeer.class
      new file mode 100644
      index 00000000000..95a5653758c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkDialogPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.class
      new file mode 100644
      index 00000000000..4243902b29d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class
      new file mode 100644
      index 00000000000..c869a820d2f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFileDialogPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class
      new file mode 100644
      index 00000000000..f22c732c2a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkFramePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkGenericPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkGenericPeer.class
      new file mode 100644
      index 00000000000..956a5e1c989
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkGenericPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class
      new file mode 100644
      index 00000000000..07cfdeba7a1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class
      new file mode 100644
      index 00000000000..1879e9feb83
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkImageConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkLabelPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkLabelPeer.class
      new file mode 100644
      index 00000000000..9188160aaad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkLabelPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkListPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkListPeer.class
      new file mode 100644
      index 00000000000..30f3a9866a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkListPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class
      new file mode 100644
      index 00000000000..88ae463ff9a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMainThread.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuBarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuBarPeer.class
      new file mode 100644
      index 00000000000..8663b43a186
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuBarPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.class
      new file mode 100644
      index 00000000000..7da4f7ac48e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuItemPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuItemPeer.class
      new file mode 100644
      index 00000000000..0259bb5f42f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuItemPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuPeer.class
      new file mode 100644
      index 00000000000..28d7ed6bbf0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMenuPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class
      new file mode 100644
      index 00000000000..35c5677f5b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPanelPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPanelPeer.class
      new file mode 100644
      index 00000000000..4e2760f40c5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPanelPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.class
      new file mode 100644
      index 00000000000..fc9d1db17f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class
      new file mode 100644
      index 00000000000..afcc4a75d59
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollPanePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollbarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollbarPeer.class
      new file mode 100644
      index 00000000000..a3251facead
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkScrollbarPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class
      new file mode 100644
      index 00000000000..a01a65b8a51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkSelection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextAreaPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextAreaPeer.class
      new file mode 100644
      index 00000000000..122e3808c43
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextAreaPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextFieldPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextFieldPeer.class
      new file mode 100644
      index 00000000000..aa0a9ce610a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkTextFieldPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class
      new file mode 100644
      index 00000000000..685bdaa5986
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class
      new file mode 100644
      index 00000000000..1ccba58c9b5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkToolkit.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkVolatileImage.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkVolatileImage.class
      new file mode 100644
      index 00000000000..c219eaf07f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkVolatileImage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class
      new file mode 100644
      index 00000000000..49926397575
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class
      new file mode 100644
      index 00000000000..76c143e2333
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/gtk/VolatileImageGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.class b/libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.class
      new file mode 100644
      index 00000000000..83f88f9fb8a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessToolkit.class b/libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessToolkit.class
      new file mode 100644
      index 00000000000..609c79cf092
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/headless/HeadlessToolkit.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/MainQtThread.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/MainQtThread.class
      new file mode 100644
      index 00000000000..405283f49fb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/MainQtThread.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/NativeWrapper.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/NativeWrapper.class
      new file mode 100644
      index 00000000000..a11283bde1b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/NativeWrapper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QMatrix.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QMatrix.class
      new file mode 100644
      index 00000000000..3a514fe5b94
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QMatrix.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QPainterPath.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QPainterPath.class
      new file mode 100644
      index 00000000000..86e55c0cada
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QPainterPath.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QPen.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QPen.class
      new file mode 100644
      index 00000000000..2bb3ebb3ebc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QPen.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtAudioClip.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtAudioClip.class
      new file mode 100644
      index 00000000000..134f45c3498
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtAudioClip.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtButtonPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtButtonPeer.class
      new file mode 100644
      index 00000000000..5f1ae747e75
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtButtonPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtCanvasPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtCanvasPeer.class
      new file mode 100644
      index 00000000000..21f82b53c18
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtCanvasPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtCheckboxPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtCheckboxPeer.class
      new file mode 100644
      index 00000000000..c3bf72b2b08
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtCheckboxPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtChoicePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtChoicePeer.class
      new file mode 100644
      index 00000000000..3b95253e1a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtChoicePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentGraphics.class
      new file mode 100644
      index 00000000000..62adf5f30cd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.class
      new file mode 100644
      index 00000000000..753994d8f9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class
      new file mode 100644
      index 00000000000..f41b6b1a33e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtComponentPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtContainerPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtContainerPeer.class
      new file mode 100644
      index 00000000000..47bd94ed763
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtContainerPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtDialogPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtDialogPeer.class
      new file mode 100644
      index 00000000000..5123eea84c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtDialogPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.class
      new file mode 100644
      index 00000000000..db22dbc97d6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFileDialogPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFileDialogPeer.class
      new file mode 100644
      index 00000000000..0ea094826fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFileDialogPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontMetrics.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontMetrics.class
      new file mode 100644
      index 00000000000..f70900ce602
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontMetrics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontPeer.class
      new file mode 100644
      index 00000000000..dfdfde005b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFontPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFramePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFramePeer.class
      new file mode 100644
      index 00000000000..d658fe22eda
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtFramePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class
      new file mode 100644
      index 00000000000..922e7102897
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphicsEnvironment.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphicsEnvironment.class
      new file mode 100644
      index 00000000000..a13721aa2ae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtGraphicsEnvironment.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImage.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImage.class
      new file mode 100644
      index 00000000000..737657f91f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageConsumer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageConsumer.class
      new file mode 100644
      index 00000000000..dcbf9f85a61
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageDirectGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageDirectGraphics.class
      new file mode 100644
      index 00000000000..fd14c75902a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageDirectGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageGraphics.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageGraphics.class
      new file mode 100644
      index 00000000000..2729dea88a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtImageGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtLabelPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtLabelPeer.class
      new file mode 100644
      index 00000000000..afe1edccaab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtLabelPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtListPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtListPeer.class
      new file mode 100644
      index 00000000000..68aa5d1c301
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtListPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuBarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuBarPeer.class
      new file mode 100644
      index 00000000000..7486b331a07
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuBarPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuComponentPeer.class
      new file mode 100644
      index 00000000000..aa832f3a2ec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuComponentPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuItemPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuItemPeer.class
      new file mode 100644
      index 00000000000..daf3915702c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuItemPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuPeer.class
      new file mode 100644
      index 00000000000..cb09534d395
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtMenuPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtPanelPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtPanelPeer.class
      new file mode 100644
      index 00000000000..c2f879ad9ad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtPanelPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtPopupMenuPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtPopupMenuPeer.class
      new file mode 100644
      index 00000000000..ac7e26a97e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtPopupMenuPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.class
      new file mode 100644
      index 00000000000..fbe705535c5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread.class
      new file mode 100644
      index 00000000000..2a608811105
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtRepaintThread.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDevice.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDevice.class
      new file mode 100644
      index 00000000000..d3b13af2084
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDevice.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.class
      new file mode 100644
      index 00000000000..ea2937a54b9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollPanePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollPanePeer.class
      new file mode 100644
      index 00000000000..175f69d486e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollPanePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollbarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollbarPeer.class
      new file mode 100644
      index 00000000000..500b12a6752
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtScrollbarPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextAreaPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextAreaPeer.class
      new file mode 100644
      index 00000000000..56d5a334ca7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextAreaPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextFieldPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextFieldPeer.class
      new file mode 100644
      index 00000000000..63e4fb0b006
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtTextFieldPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class
      new file mode 100644
      index 00000000000..40669292c92
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtToolkit.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class
      new file mode 100644
      index 00000000000..d290cfd2d64
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class
      new file mode 100644
      index 00000000000..d3c5a27e32f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtVolatileImage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/qt/QtWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtWindowPeer.class
      new file mode 100644
      index 00000000000..ae9fa720e73
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/qt/QtWindowPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.class
      new file mode 100644
      index 00000000000..602b48fb91b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.class
      new file mode 100644
      index 00000000000..24adbb8af3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer.class
      new file mode 100644
      index 00000000000..8c8a09afeeb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingButtonPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingCanvasPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingCanvasPeer.class
      new file mode 100644
      index 00000000000..d5c8cec0157
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingCanvasPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponent.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponent.class
      new file mode 100644
      index 00000000000..75a9113d86e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class
      new file mode 100644
      index 00000000000..41c7972205c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingComponentPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingContainerPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingContainerPeer.class
      new file mode 100644
      index 00000000000..edf0a7d0b7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingContainerPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingFramePeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingFramePeer.class
      new file mode 100644
      index 00000000000..f70594d7b35
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingFramePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.class
      new file mode 100644
      index 00000000000..2334fe73c75
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer.class
      new file mode 100644
      index 00000000000..7d34f8504f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingLabelPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer$SwingList.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer$SwingList.class
      new file mode 100644
      index 00000000000..6351297a9d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer$SwingList.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer.class
      new file mode 100644
      index 00000000000..094a417f432
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingListPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.class
      new file mode 100644
      index 00000000000..0e5d050c32d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class
      new file mode 100644
      index 00000000000..6fa417b0fed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuBarPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.class
      new file mode 100644
      index 00000000000..a9eb8411f24
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer.class
      new file mode 100644
      index 00000000000..c571ead688b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuItemPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.class
      new file mode 100644
      index 00000000000..409c1f7ac5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer.class
      new file mode 100644
      index 00000000000..b7f8b64235d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingMenuPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingPanelPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingPanelPeer.class
      new file mode 100644
      index 00000000000..18e9842d89c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingPanelPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.class
      new file mode 100644
      index 00000000000..59edb75bbe0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer.class
      new file mode 100644
      index 00000000000..e8836be2637
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextAreaPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.class
      new file mode 100644
      index 00000000000..fe242f791dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer.class
      new file mode 100644
      index 00000000000..0250fba193b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingTextFieldPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingToolkit.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingToolkit.class
      new file mode 100644
      index 00000000000..f44acac3806
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingToolkit.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingWindowPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingWindowPeer.class
      new file mode 100644
      index 00000000000..f3f2f6fb9a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/peer/swing/SwingWindowPeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class
      new file mode 100644
      index 00000000000..fc1d805fe4b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterGraphics.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class
      new file mode 100644
      index 00000000000..823adb2464b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/print/JavaPrinterJob.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class b/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class
      new file mode 100644
      index 00000000000..a19303c4239
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/print/PostScriptGraphics2D.class differ
      diff --git a/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class b/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class
      new file mode 100644
      index 00000000000..3fcf170debf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/awt/print/SpooledDocument.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class b/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class
      new file mode 100644
      index 00000000000..c1d5b277caf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/BeanInfoEmbryo.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/DefaultExceptionListener.class b/libjava/classpath/lib/gnu/java/beans/DefaultExceptionListener.class
      new file mode 100644
      index 00000000000..447615f2ee7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/DefaultExceptionListener.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/DoubleKey.class b/libjava/classpath/lib/gnu/java/beans/DoubleKey.class
      new file mode 100644
      index 00000000000..23f32207594
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/DoubleKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/DummyAppletContext.class b/libjava/classpath/lib/gnu/java/beans/DummyAppletContext.class
      new file mode 100644
      index 00000000000..107f28451ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/DummyAppletContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/DummyAppletStub.class b/libjava/classpath/lib/gnu/java/beans/DummyAppletStub.class
      new file mode 100644
      index 00000000000..f15b6dd21bf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/DummyAppletStub.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/ExplicitBeanInfo.class b/libjava/classpath/lib/gnu/java/beans/ExplicitBeanInfo.class
      new file mode 100644
      index 00000000000..6ecc8847a49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/ExplicitBeanInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/IntrospectionIncubator.class b/libjava/classpath/lib/gnu/java/beans/IntrospectionIncubator.class
      new file mode 100644
      index 00000000000..8d714b5c02c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/IntrospectionIncubator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/AbstractContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractContext.class
      new file mode 100644
      index 00000000000..aacfd92f2e0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/AbstractCreatableObjectContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractCreatableObjectContext.class
      new file mode 100644
      index 00000000000..16cd898b203
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractCreatableObjectContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/AbstractElementHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractElementHandler.class
      new file mode 100644
      index 00000000000..f46cc064370
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractElementHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/AbstractObjectContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractObjectContext.class
      new file mode 100644
      index 00000000000..acb6cac35ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/AbstractObjectContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ArrayContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/ArrayContext.class
      new file mode 100644
      index 00000000000..0d859204211
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ArrayContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class
      new file mode 100644
      index 00000000000..c463af07fce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ArrayHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/AssemblyException.class b/libjava/classpath/lib/gnu/java/beans/decoder/AssemblyException.class
      new file mode 100644
      index 00000000000..7ebd9a2c23b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/AssemblyException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/BooleanHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/BooleanHandler.class
      new file mode 100644
      index 00000000000..ca089192694
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/BooleanHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ByteHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ByteHandler.class
      new file mode 100644
      index 00000000000..593c134a404
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ByteHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/CharHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/CharHandler.class
      new file mode 100644
      index 00000000000..66f9e156358
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/CharHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ClassHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ClassHandler.class
      new file mode 100644
      index 00000000000..3f46b96e284
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ClassHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ConstructorContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/ConstructorContext.class
      new file mode 100644
      index 00000000000..5eb460eedf3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ConstructorContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/Context.class b/libjava/classpath/lib/gnu/java/beans/decoder/Context.class
      new file mode 100644
      index 00000000000..8754b12fd37
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/Context.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/DecoderContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/DecoderContext.class
      new file mode 100644
      index 00000000000..e4de1f5def2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/DecoderContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/DoubleHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/DoubleHandler.class
      new file mode 100644
      index 00000000000..a9c063218ab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/DoubleHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/DummyContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/DummyContext.class
      new file mode 100644
      index 00000000000..9877814d6e8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/DummyContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/DummyHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/DummyHandler.class
      new file mode 100644
      index 00000000000..fdd55743363
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/DummyHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ElementHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ElementHandler.class
      new file mode 100644
      index 00000000000..c80530b6ef0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ElementHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/FloatHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/FloatHandler.class
      new file mode 100644
      index 00000000000..64158311e40
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/FloatHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/GrowableArrayContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/GrowableArrayContext.class
      new file mode 100644
      index 00000000000..18954269711
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/GrowableArrayContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/IndexContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/IndexContext.class
      new file mode 100644
      index 00000000000..6290b2973af
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/IndexContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/IntHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/IntHandler.class
      new file mode 100644
      index 00000000000..f7bf4d59493
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/IntHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/JavaHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/JavaHandler.class
      new file mode 100644
      index 00000000000..5a5f3b65d8c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/JavaHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/LongHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/LongHandler.class
      new file mode 100644
      index 00000000000..0ec0762a263
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/LongHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/MethodContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/MethodContext.class
      new file mode 100644
      index 00000000000..c2dc1151cf2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/MethodContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class b/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class
      new file mode 100644
      index 00000000000..8d04024bb81
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/MethodFinder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/NullHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/NullHandler.class
      new file mode 100644
      index 00000000000..2861be28771
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/NullHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ObjectContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/ObjectContext.class
      new file mode 100644
      index 00000000000..2efa16a940f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ObjectContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ObjectHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ObjectHandler.class
      new file mode 100644
      index 00000000000..4dc2d191fed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ObjectHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class
      new file mode 100644
      index 00000000000..60d8209c67e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class
      new file mode 100644
      index 00000000000..172160ffd54
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class
      new file mode 100644
      index 00000000000..745f552df2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class
      new file mode 100644
      index 00000000000..40b14a41a22
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class
      new file mode 100644
      index 00000000000..711db205b9f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$Creator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$Creator.class
      new file mode 100644
      index 00000000000..d1321619fda
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$Creator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class
      new file mode 100644
      index 00000000000..e07c444da61
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class
      new file mode 100644
      index 00000000000..7498fb0316a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class
      new file mode 100644
      index 00000000000..4bf147bd89c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class
      new file mode 100644
      index 00000000000..3bd67f5c40b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class
      new file mode 100644
      index 00000000000..0129d63545b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class
      new file mode 100644
      index 00000000000..b1ed7ad4fbb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class
      new file mode 100644
      index 00000000000..4574efc157f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class
      new file mode 100644
      index 00000000000..ed04aa5ba4e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class
      new file mode 100644
      index 00000000000..9f5b8049292
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class
      new file mode 100644
      index 00000000000..2368742b3df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class
      new file mode 100644
      index 00000000000..a6b6cc0df92
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PersistenceParser.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/PropertyContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/PropertyContext.class
      new file mode 100644
      index 00000000000..28a58910a0d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/PropertyContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/ShortHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/ShortHandler.class
      new file mode 100644
      index 00000000000..012ce512026
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/ShortHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/SimpleHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/SimpleHandler.class
      new file mode 100644
      index 00000000000..c549f8af827
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/SimpleHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/StaticMethodContext.class b/libjava/classpath/lib/gnu/java/beans/decoder/StaticMethodContext.class
      new file mode 100644
      index 00000000000..a1ee4aed140
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/StaticMethodContext.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/StringHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/StringHandler.class
      new file mode 100644
      index 00000000000..643ed3f395d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/StringHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/decoder/VoidHandler.class b/libjava/classpath/lib/gnu/java/beans/decoder/VoidHandler.class
      new file mode 100644
      index 00000000000..82b5e9885b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/decoder/VoidHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class
      new file mode 100644
      index 00000000000..5d010e752bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/ColorEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/FontEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/FontEditor.class
      new file mode 100644
      index 00000000000..976d05d7e7d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/FontEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeBooleanEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeBooleanEditor.class
      new file mode 100644
      index 00000000000..e59fdceca41
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeBooleanEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeByteEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeByteEditor.class
      new file mode 100644
      index 00000000000..acf80903d48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeByteEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeDoubleEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeDoubleEditor.class
      new file mode 100644
      index 00000000000..74f6a332217
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeDoubleEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeFloatEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeFloatEditor.class
      new file mode 100644
      index 00000000000..928dc783ff3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeFloatEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeIntEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeIntEditor.class
      new file mode 100644
      index 00000000000..8c95656ed57
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeIntEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeLongEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeLongEditor.class
      new file mode 100644
      index 00000000000..8c89201a7a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeLongEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/NativeShortEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/NativeShortEditor.class
      new file mode 100644
      index 00000000000..f24af87e905
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/NativeShortEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/editors/StringEditor.class b/libjava/classpath/lib/gnu/java/beans/editors/StringEditor.class
      new file mode 100644
      index 00000000000..da5999a779c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/editors/StringEditor.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/ArrayPersistenceDelegate.class b/libjava/classpath/lib/gnu/java/beans/encoder/ArrayPersistenceDelegate.class
      new file mode 100644
      index 00000000000..79f80a38423
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/ArrayPersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/ClassPersistenceDelegate.class b/libjava/classpath/lib/gnu/java/beans/encoder/ClassPersistenceDelegate.class
      new file mode 100644
      index 00000000000..70dfedff6e4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/ClassPersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/CollectionPersistenceDelegate.class b/libjava/classpath/lib/gnu/java/beans/encoder/CollectionPersistenceDelegate.class
      new file mode 100644
      index 00000000000..7d3450cf4da
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/CollectionPersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/Context.class b/libjava/classpath/lib/gnu/java/beans/encoder/Context.class
      new file mode 100644
      index 00000000000..24ca4c464f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/Context.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/GenericScannerState.class b/libjava/classpath/lib/gnu/java/beans/encoder/GenericScannerState.class
      new file mode 100644
      index 00000000000..2a7a74adfcb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/GenericScannerState.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/IgnoringScannerState.class b/libjava/classpath/lib/gnu/java/beans/encoder/IgnoringScannerState.class
      new file mode 100644
      index 00000000000..bfa63af3606
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/IgnoringScannerState.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/MapPersistenceDelegate.class b/libjava/classpath/lib/gnu/java/beans/encoder/MapPersistenceDelegate.class
      new file mode 100644
      index 00000000000..e69ab0aba72
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/MapPersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/ObjectId.class b/libjava/classpath/lib/gnu/java/beans/encoder/ObjectId.class
      new file mode 100644
      index 00000000000..595699c362e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/ObjectId.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/PrimitivePersistenceDelegate.class b/libjava/classpath/lib/gnu/java/beans/encoder/PrimitivePersistenceDelegate.class
      new file mode 100644
      index 00000000000..cef87423be6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/PrimitivePersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/ReportingScannerState.class b/libjava/classpath/lib/gnu/java/beans/encoder/ReportingScannerState.class
      new file mode 100644
      index 00000000000..7d04254cd53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/ReportingScannerState.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/Root$RootElement.class b/libjava/classpath/lib/gnu/java/beans/encoder/Root$RootElement.class
      new file mode 100644
      index 00000000000..654bdbb8dd9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/Root$RootElement.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/Root.class b/libjava/classpath/lib/gnu/java/beans/encoder/Root.class
      new file mode 100644
      index 00000000000..134b03eafaf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/Root.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/ScanEngine.class b/libjava/classpath/lib/gnu/java/beans/encoder/ScanEngine.class
      new file mode 100644
      index 00000000000..8a7bf56d26a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/ScanEngine.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/ScannerState.class b/libjava/classpath/lib/gnu/java/beans/encoder/ScannerState.class
      new file mode 100644
      index 00000000000..5a582aca229
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/ScannerState.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/StAXWriter.class b/libjava/classpath/lib/gnu/java/beans/encoder/StAXWriter.class
      new file mode 100644
      index 00000000000..c1799e02b73
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/StAXWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/Writer.class b/libjava/classpath/lib/gnu/java/beans/encoder/Writer.class
      new file mode 100644
      index 00000000000..52d08008154
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/Writer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/ArrayInstantiation.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ArrayInstantiation.class
      new file mode 100644
      index 00000000000..793ebbf999b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ArrayInstantiation.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Get.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Get.class
      new file mode 100644
      index 00000000000..a66241235f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Get.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Set.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Set.class
      new file mode 100644
      index 00000000000..54ef6bccfdf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/Array_Set.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/ClassResolution.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ClassResolution.class
      new file mode 100644
      index 00000000000..07dba7173e7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ClassResolution.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/Element.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/Element.class
      new file mode 100644
      index 00000000000..df059b790a4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/Element.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Get.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Get.class
      new file mode 100644
      index 00000000000..3e5d0d89452
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Get.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Set.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Set.class
      new file mode 100644
      index 00000000000..ca92bdef0d5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/List_Set.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/MethodInvocation.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/MethodInvocation.class
      new file mode 100644
      index 00000000000..bad42bcd117
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/MethodInvocation.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/NullObject.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/NullObject.class
      new file mode 100644
      index 00000000000..8ae465fb697
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/NullObject.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectInstantiation.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectInstantiation.class
      new file mode 100644
      index 00000000000..8c13ec149d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectInstantiation.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectReference.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectReference.class
      new file mode 100644
      index 00000000000..ad8d84eae5d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/ObjectReference.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/PrimitiveInstantiation.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/PrimitiveInstantiation.class
      new file mode 100644
      index 00000000000..dadb0b0cb39
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/PrimitiveInstantiation.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticFieldAccess.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticFieldAccess.class
      new file mode 100644
      index 00000000000..1ed966c5464
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticFieldAccess.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticMethodInvocation.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticMethodInvocation.class
      new file mode 100644
      index 00000000000..895d02399c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/StaticMethodInvocation.class differ
      diff --git a/libjava/classpath/lib/gnu/java/beans/encoder/elements/StringReference.class b/libjava/classpath/lib/gnu/java/beans/encoder/elements/StringReference.class
      new file mode 100644
      index 00000000000..5b0b7d794c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/beans/encoder/elements/StringReference.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/ASN1ParsingException.class b/libjava/classpath/lib/gnu/java/io/ASN1ParsingException.class
      new file mode 100644
      index 00000000000..a17e9703b87
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/ASN1ParsingException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/Base64InputStream.class b/libjava/classpath/lib/gnu/java/io/Base64InputStream.class
      new file mode 100644
      index 00000000000..a6c30791de6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/Base64InputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/ClassLoaderObjectInputStream.class b/libjava/classpath/lib/gnu/java/io/ClassLoaderObjectInputStream.class
      new file mode 100644
      index 00000000000..f5db7cc9604
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/ClassLoaderObjectInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/NullOutputStream.class b/libjava/classpath/lib/gnu/java/io/NullOutputStream.class
      new file mode 100644
      index 00000000000..f42efa75e7c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/NullOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/ObjectIdentityMap2Int.class b/libjava/classpath/lib/gnu/java/io/ObjectIdentityMap2Int.class
      new file mode 100644
      index 00000000000..80de46198f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/ObjectIdentityMap2Int.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/ObjectIdentityWrapper.class b/libjava/classpath/lib/gnu/java/io/ObjectIdentityWrapper.class
      new file mode 100644
      index 00000000000..6bd97540589
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/ObjectIdentityWrapper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/io/PlatformHelper.class b/libjava/classpath/lib/gnu/java/io/PlatformHelper.class
      new file mode 100644
      index 00000000000..76e89f2ce92
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/io/PlatformHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/ArrayHelper.class b/libjava/classpath/lib/gnu/java/lang/ArrayHelper.class
      new file mode 100644
      index 00000000000..48181d048b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/ArrayHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/CharData.class b/libjava/classpath/lib/gnu/java/lang/CharData.class
      new file mode 100644
      index 00000000000..44ea768e152
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/CharData.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/ClassHelper.class b/libjava/classpath/lib/gnu/java/lang/ClassHelper.class
      new file mode 100644
      index 00000000000..484c4a8ef80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/ClassHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/InstrumentationImpl.class b/libjava/classpath/lib/gnu/java/lang/InstrumentationImpl.class
      new file mode 100644
      index 00000000000..e8caf56aec9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/InstrumentationImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/MainThread.class b/libjava/classpath/lib/gnu/java/lang/MainThread.class
      new file mode 100644
      index 00000000000..128ba4e0815
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/MainThread.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/VMInstrumentationImpl.class b/libjava/classpath/lib/gnu/java/lang/VMInstrumentationImpl.class
      new file mode 100644
      index 00000000000..d5e8c809454
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/VMInstrumentationImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class
      new file mode 100644
      index 00000000000..2d188b25901
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/BeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/ClassLoadingMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/ClassLoadingMXBeanImpl.class
      new file mode 100644
      index 00000000000..b6d7413272e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/ClassLoadingMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/CompilationMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/CompilationMXBeanImpl.class
      new file mode 100644
      index 00000000000..748d54ffada
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/CompilationMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/GarbageCollectorMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/GarbageCollectorMXBeanImpl.class
      new file mode 100644
      index 00000000000..9291b170c93
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/GarbageCollectorMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class
      new file mode 100644
      index 00000000000..714075ef180
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/MemoryMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/MemoryManagerMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/MemoryManagerMXBeanImpl.class
      new file mode 100644
      index 00000000000..0f457326ea5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/MemoryManagerMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/MemoryPoolMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/MemoryPoolMXBeanImpl.class
      new file mode 100644
      index 00000000000..b9b285b53b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/MemoryPoolMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class
      new file mode 100644
      index 00000000000..9442a8a9dc8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/OperatingSystemMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class
      new file mode 100644
      index 00000000000..0a610d9d644
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/RuntimeMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class
      new file mode 100644
      index 00000000000..8d2f1b09365
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/ThreadMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMClassLoadingMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMClassLoadingMXBeanImpl.class
      new file mode 100644
      index 00000000000..988d4fb9f17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMClassLoadingMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMCompilationMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMCompilationMXBeanImpl.class
      new file mode 100644
      index 00000000000..cd743a65fc2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMCompilationMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.class
      new file mode 100644
      index 00000000000..7ab86e616d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMMemoryMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMMemoryMXBeanImpl.class
      new file mode 100644
      index 00000000000..80df17599fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMMemoryMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.class
      new file mode 100644
      index 00000000000..f5d09aeecef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.class
      new file mode 100644
      index 00000000000..422c850ba65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMRuntimeMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMRuntimeMXBeanImpl.class
      new file mode 100644
      index 00000000000..7eee11d9601
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMRuntimeMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class b/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class
      new file mode 100644
      index 00000000000..a0589e04554
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/management/VMThreadMXBeanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/ClassSignatureParser.class b/libjava/classpath/lib/gnu/java/lang/reflect/ClassSignatureParser.class
      new file mode 100644
      index 00000000000..cca4f03b466
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/ClassSignatureParser.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/FieldSignatureParser.class b/libjava/classpath/lib/gnu/java/lang/reflect/FieldSignatureParser.class
      new file mode 100644
      index 00000000000..0f86cfaab75
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/FieldSignatureParser.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/GenericArrayTypeImpl.class b/libjava/classpath/lib/gnu/java/lang/reflect/GenericArrayTypeImpl.class
      new file mode 100644
      index 00000000000..84f2433cbaa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/GenericArrayTypeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/GenericSignatureParser.class b/libjava/classpath/lib/gnu/java/lang/reflect/GenericSignatureParser.class
      new file mode 100644
      index 00000000000..11a8fa0af7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/GenericSignatureParser.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/MethodSignatureParser.class b/libjava/classpath/lib/gnu/java/lang/reflect/MethodSignatureParser.class
      new file mode 100644
      index 00000000000..29f54424411
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/MethodSignatureParser.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/ParameterizedTypeImpl.class b/libjava/classpath/lib/gnu/java/lang/reflect/ParameterizedTypeImpl.class
      new file mode 100644
      index 00000000000..a244f0f4313
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/ParameterizedTypeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/TypeImpl.class b/libjava/classpath/lib/gnu/java/lang/reflect/TypeImpl.class
      new file mode 100644
      index 00000000000..b580459f8ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/TypeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class b/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class
      new file mode 100644
      index 00000000000..80aa4cf7789
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/TypeSignature.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/TypeVariableImpl.class b/libjava/classpath/lib/gnu/java/lang/reflect/TypeVariableImpl.class
      new file mode 100644
      index 00000000000..78946cd10be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/TypeVariableImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class b/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class
      new file mode 100644
      index 00000000000..07d9a8da059
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class differ
      diff --git a/libjava/classpath/lib/gnu/java/lang/reflect/WildcardTypeImpl.class b/libjava/classpath/lib/gnu/java/lang/reflect/WildcardTypeImpl.class
      new file mode 100644
      index 00000000000..98b51a98f91
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/lang/reflect/WildcardTypeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/Calendar.class b/libjava/classpath/lib/gnu/java/locale/Calendar.class
      new file mode 100644
      index 00000000000..b7b8240e7de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/Calendar.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/Calendar_de.class b/libjava/classpath/lib/gnu/java/locale/Calendar_de.class
      new file mode 100644
      index 00000000000..4d8c8cd22fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/Calendar_de.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/Calendar_en.class b/libjava/classpath/lib/gnu/java/locale/Calendar_en.class
      new file mode 100644
      index 00000000000..a4bd37bd58c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/Calendar_en.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/Calendar_nl.class b/libjava/classpath/lib/gnu/java/locale/Calendar_nl.class
      new file mode 100644
      index 00000000000..12a29098390
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/Calendar_nl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleData.class b/libjava/classpath/lib/gnu/java/locale/LocaleData.class
      new file mode 100644
      index 00000000000..338cc8fc352
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleData.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class b/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class
      new file mode 100644
      index 00000000000..101cf04c4c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation.class
      new file mode 100644
      index 00000000000..c9f1dec7e33
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_af_ZA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_af_ZA.class
      new file mode 100644
      index 00000000000..729064cecc5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_af_ZA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_AE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_AE.class
      new file mode 100644
      index 00000000000..e3c7fc7ce71
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_AE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_BH.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_BH.class
      new file mode 100644
      index 00000000000..b141f210444
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_BH.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_DZ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_DZ.class
      new file mode 100644
      index 00000000000..fd6305f21b0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_DZ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_EG.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_EG.class
      new file mode 100644
      index 00000000000..f0cbb10854d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_EG.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IN.class
      new file mode 100644
      index 00000000000..b2330f00c80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IQ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IQ.class
      new file mode 100644
      index 00000000000..e95055012ad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_IQ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_JO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_JO.class
      new file mode 100644
      index 00000000000..716e7c3d1ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_JO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_KW.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_KW.class
      new file mode 100644
      index 00000000000..b24ade7af17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_KW.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LB.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LB.class
      new file mode 100644
      index 00000000000..a64387beb94
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LB.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LY.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LY.class
      new file mode 100644
      index 00000000000..8707922160b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_LY.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_MA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_MA.class
      new file mode 100644
      index 00000000000..204f9ad7759
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_MA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_OM.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_OM.class
      new file mode 100644
      index 00000000000..8f0e338b878
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_OM.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_QA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_QA.class
      new file mode 100644
      index 00000000000..d9419f3e396
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_QA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SD.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SD.class
      new file mode 100644
      index 00000000000..fe2446b0012
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SD.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SY.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SY.class
      new file mode 100644
      index 00000000000..f48749e819e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_SY.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_TN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_TN.class
      new file mode 100644
      index 00000000000..94d142985d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_TN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_YE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_YE.class
      new file mode 100644
      index 00000000000..277a3317448
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ar_YE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_be_BY.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_be_BY.class
      new file mode 100644
      index 00000000000..21f5f50c372
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_be_BY.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_bn_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_bn_IN.class
      new file mode 100644
      index 00000000000..f3ad3dff5f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_bn_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_br_FR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_br_FR.class
      new file mode 100644
      index 00000000000..08a98b7d84d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_br_FR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_bs_BA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_bs_BA.class
      new file mode 100644
      index 00000000000..358c91182ec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_bs_BA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ca_ES.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ca_ES.class
      new file mode 100644
      index 00000000000..a06e022c94d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ca_ES.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_cs_CZ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_cs_CZ.class
      new file mode 100644
      index 00000000000..269b02094eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_cs_CZ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_cy_GB.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_cy_GB.class
      new file mode 100644
      index 00000000000..43f59539d40
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_cy_GB.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_da_DK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_da_DK.class
      new file mode 100644
      index 00000000000..f8ab484deae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_da_DK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de.class
      new file mode 100644
      index 00000000000..35e50631876
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_AT.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_AT.class
      new file mode 100644
      index 00000000000..b4183d5e4cf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_AT.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_BE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_BE.class
      new file mode 100644
      index 00000000000..cdb4ed1df84
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_BE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_CH.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_CH.class
      new file mode 100644
      index 00000000000..03e0f52d6aa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_CH.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_DE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_DE.class
      new file mode 100644
      index 00000000000..a17a8d0d9ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_DE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_LU.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_LU.class
      new file mode 100644
      index 00000000000..01d8cefca45
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_de_LU.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_el_GR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_el_GR.class
      new file mode 100644
      index 00000000000..6801e4fa1ff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_el_GR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en.class
      new file mode 100644
      index 00000000000..9b0737af2f1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_AU.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_AU.class
      new file mode 100644
      index 00000000000..b4b4589a967
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_AU.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_BW.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_BW.class
      new file mode 100644
      index 00000000000..b335913c5b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_BW.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_CA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_CA.class
      new file mode 100644
      index 00000000000..fd3662fac6a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_CA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_DK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_DK.class
      new file mode 100644
      index 00000000000..b21a64e2ed0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_DK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_GB.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_GB.class
      new file mode 100644
      index 00000000000..726bc09d55e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_GB.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_HK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_HK.class
      new file mode 100644
      index 00000000000..d93fa78ddf6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_HK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IE.class
      new file mode 100644
      index 00000000000..29f94926666
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IN.class
      new file mode 100644
      index 00000000000..8b481d3a790
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_NZ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_NZ.class
      new file mode 100644
      index 00000000000..79da6e7893f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_NZ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_PH.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_PH.class
      new file mode 100644
      index 00000000000..34b0b6de6b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_PH.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_SG.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_SG.class
      new file mode 100644
      index 00000000000..bcac524b291
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_SG.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_US.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_US.class
      new file mode 100644
      index 00000000000..86ac887c5ba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_US.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZA.class
      new file mode 100644
      index 00000000000..ad39c7410b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZW.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZW.class
      new file mode 100644
      index 00000000000..c091717dde6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_en_ZW.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_AR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_AR.class
      new file mode 100644
      index 00000000000..89d7016db36
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_AR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_BO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_BO.class
      new file mode 100644
      index 00000000000..9fc3b4f1ea4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_BO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CL.class
      new file mode 100644
      index 00000000000..2b26bbb4751
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CO.class
      new file mode 100644
      index 00000000000..a8bdc90aeb7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CR.class
      new file mode 100644
      index 00000000000..d04fdc6af1e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_CR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_DO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_DO.class
      new file mode 100644
      index 00000000000..ab3b866e5b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_DO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_EC.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_EC.class
      new file mode 100644
      index 00000000000..e9bfefb3cd5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_EC.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_ES.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_ES.class
      new file mode 100644
      index 00000000000..d6949ff6b02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_ES.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_GT.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_GT.class
      new file mode 100644
      index 00000000000..d973bd51292
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_GT.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_HN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_HN.class
      new file mode 100644
      index 00000000000..22a9587b1fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_HN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_MX.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_MX.class
      new file mode 100644
      index 00000000000..14b1c58ae7f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_MX.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_NI.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_NI.class
      new file mode 100644
      index 00000000000..18e8b732dcf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_NI.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PA.class
      new file mode 100644
      index 00000000000..07e1832f4c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PE.class
      new file mode 100644
      index 00000000000..5c979a5bb19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PR.class
      new file mode 100644
      index 00000000000..9fd5d7e2b69
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PY.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PY.class
      new file mode 100644
      index 00000000000..a5c2920fd98
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_PY.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_SV.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_SV.class
      new file mode 100644
      index 00000000000..799972be2f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_SV.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_US.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_US.class
      new file mode 100644
      index 00000000000..98642cd3ba1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_US.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_UY.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_UY.class
      new file mode 100644
      index 00000000000..1d588f93a7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_UY.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_VE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_VE.class
      new file mode 100644
      index 00000000000..807553e5a72
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_es_VE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_et_EE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_et_EE.class
      new file mode 100644
      index 00000000000..24124993499
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_et_EE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_eu_ES.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_eu_ES.class
      new file mode 100644
      index 00000000000..19617158941
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_eu_ES.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fa_IR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fa_IR.class
      new file mode 100644
      index 00000000000..e66957fc387
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fa_IR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fi_FI.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fi_FI.class
      new file mode 100644
      index 00000000000..55c2ee410cf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fi_FI.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fo_FO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fo_FO.class
      new file mode 100644
      index 00000000000..a8dba36d778
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fo_FO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_BE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_BE.class
      new file mode 100644
      index 00000000000..ffaa796c44b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_BE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CA.class
      new file mode 100644
      index 00000000000..45f47a39afd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CH.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CH.class
      new file mode 100644
      index 00000000000..5d38b8e3add
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_CH.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_FR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_FR.class
      new file mode 100644
      index 00000000000..e9f94c3259d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_FR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_LU.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_LU.class
      new file mode 100644
      index 00000000000..d85f9c12833
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_fr_LU.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ga_IE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ga_IE.class
      new file mode 100644
      index 00000000000..49406bdd3c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ga_IE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gd_GB.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gd_GB.class
      new file mode 100644
      index 00000000000..783ca689b98
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gd_GB.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gl_ES.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gl_ES.class
      new file mode 100644
      index 00000000000..02d23282fa2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gl_ES.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gv_GB.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gv_GB.class
      new file mode 100644
      index 00000000000..7d8d888c205
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_gv_GB.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_he_IL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_he_IL.class
      new file mode 100644
      index 00000000000..cdf9faa6813
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_he_IL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hi_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hi_IN.class
      new file mode 100644
      index 00000000000..1455cf41094
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hi_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hr_HR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hr_HR.class
      new file mode 100644
      index 00000000000..a0b17507e09
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hr_HR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hu_HU.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hu_HU.class
      new file mode 100644
      index 00000000000..669990ff552
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_hu_HU.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_id_ID.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_id_ID.class
      new file mode 100644
      index 00000000000..f92f3f5b4ec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_id_ID.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_CH.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_CH.class
      new file mode 100644
      index 00000000000..84a8630b1ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_CH.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_IT.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_IT.class
      new file mode 100644
      index 00000000000..9ba8a69446d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_it_IT.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_iw_IL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_iw_IL.class
      new file mode 100644
      index 00000000000..72274174fe8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_iw_IL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ja_JP.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ja_JP.class
      new file mode 100644
      index 00000000000..80cd3d37019
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ja_JP.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ka_GE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ka_GE.class
      new file mode 100644
      index 00000000000..5fa3ef3ae47
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ka_GE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_kl_GL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_kl_GL.class
      new file mode 100644
      index 00000000000..b135dd6be12
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_kl_GL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ko_KR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ko_KR.class
      new file mode 100644
      index 00000000000..f15729b3774
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ko_KR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_kw_GB.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_kw_GB.class
      new file mode 100644
      index 00000000000..6455ce9cabd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_kw_GB.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_lt_LT.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_lt_LT.class
      new file mode 100644
      index 00000000000..a2d480d87f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_lt_LT.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_lv_LV.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_lv_LV.class
      new file mode 100644
      index 00000000000..7b1fb49fe94
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_lv_LV.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mi_NZ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mi_NZ.class
      new file mode 100644
      index 00000000000..b51852fecbd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mi_NZ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mk_MK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mk_MK.class
      new file mode 100644
      index 00000000000..fe192ab51fb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mk_MK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mr_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mr_IN.class
      new file mode 100644
      index 00000000000..1d3a552d3e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mr_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mt_MT.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mt_MT.class
      new file mode 100644
      index 00000000000..f2f84f2dffc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_mt_MT.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl.class
      new file mode 100644
      index 00000000000..9c0d94886a9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_BE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_BE.class
      new file mode 100644
      index 00000000000..dca6e00fcfe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_BE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_NL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_NL.class
      new file mode 100644
      index 00000000000..2b56f82dbed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nl_NL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nn_NO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nn_NO.class
      new file mode 100644
      index 00000000000..1bbdb0e6278
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_nn_NO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_no_NO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_no_NO.class
      new file mode 100644
      index 00000000000..7790732dc65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_no_NO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_oc_FR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_oc_FR.class
      new file mode 100644
      index 00000000000..7dcb834cf48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_oc_FR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pl_PL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pl_PL.class
      new file mode 100644
      index 00000000000..f74b3d0cd99
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pl_PL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_BR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_BR.class
      new file mode 100644
      index 00000000000..2723253fd7e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_BR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_PT.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_PT.class
      new file mode 100644
      index 00000000000..bf2692ee02a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_pt_PT.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ro_RO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ro_RO.class
      new file mode 100644
      index 00000000000..7e8a32cbd1b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ro_RO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_RU.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_RU.class
      new file mode 100644
      index 00000000000..ae37812879a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_RU.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_UA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_UA.class
      new file mode 100644
      index 00000000000..65f67e8d30d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ru_UA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_se_NO.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_se_NO.class
      new file mode 100644
      index 00000000000..df03a3f52c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_se_NO.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sk_SK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sk_SK.class
      new file mode 100644
      index 00000000000..a847f706658
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sk_SK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sl_SI.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sl_SI.class
      new file mode 100644
      index 00000000000..ceed0395b90
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sl_SI.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sq_AL.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sq_AL.class
      new file mode 100644
      index 00000000000..f2bf4fae11c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sq_AL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sr_YU.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sr_YU.class
      new file mode 100644
      index 00000000000..95386a25b35
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sr_YU.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_FI.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_FI.class
      new file mode 100644
      index 00000000000..352e9bf557d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_FI.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_SE.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_SE.class
      new file mode 100644
      index 00000000000..a9f6592fffc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_sv_SE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ta_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ta_IN.class
      new file mode 100644
      index 00000000000..0df44135d9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ta_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_te_IN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_te_IN.class
      new file mode 100644
      index 00000000000..7fda0919519
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_te_IN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tg_TJ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tg_TJ.class
      new file mode 100644
      index 00000000000..6f137d6aa90
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tg_TJ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tl_PH.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tl_PH.class
      new file mode 100644
      index 00000000000..8638b0b4b16
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tl_PH.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tr_TR.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tr_TR.class
      new file mode 100644
      index 00000000000..37eb8a3ac51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_tr_TR.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_uk_UA.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_uk_UA.class
      new file mode 100644
      index 00000000000..435c40fcfbc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_uk_UA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ur_PK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ur_PK.class
      new file mode 100644
      index 00000000000..f9f79c8c27d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_ur_PK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_uz_UZ.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_uz_UZ.class
      new file mode 100644
      index 00000000000..99520b036fb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_uz_UZ.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_vi_VN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_vi_VN.class
      new file mode 100644
      index 00000000000..537181b9971
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_vi_VN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_yi_US.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_yi_US.class
      new file mode 100644
      index 00000000000..59b99e01411
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_yi_US.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_CN.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_CN.class
      new file mode 100644
      index 00000000000..248fa2e5e1b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_CN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_HK.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_HK.class
      new file mode 100644
      index 00000000000..43826134f7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_HK.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_SG.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_SG.class
      new file mode 100644
      index 00000000000..8129928f8d1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_SG.class differ
      diff --git a/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_TW.class b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_TW.class
      new file mode 100644
      index 00000000000..075188639f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/locale/LocaleInformation_zh_TW.class differ
      diff --git a/libjava/classpath/lib/gnu/java/math/MPN.class b/libjava/classpath/lib/gnu/java/math/MPN.class
      new file mode 100644
      index 00000000000..1893134596e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/math/MPN.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/BASE64.class b/libjava/classpath/lib/gnu/java/net/BASE64.class
      new file mode 100644
      index 00000000000..45e8b6793e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/BASE64.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/CRLFInputStream.class b/libjava/classpath/lib/gnu/java/net/CRLFInputStream.class
      new file mode 100644
      index 00000000000..90ac71c5866
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/CRLFInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/CRLFOutputStream.class b/libjava/classpath/lib/gnu/java/net/CRLFOutputStream.class
      new file mode 100644
      index 00000000000..8133d6f5c9d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/CRLFOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class b/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class
      new file mode 100644
      index 00000000000..c8df6145f83
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/DefaultContentHandlerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/DefaultProxySelector.class b/libjava/classpath/lib/gnu/java/net/DefaultProxySelector.class
      new file mode 100644
      index 00000000000..7f1ac73b1b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/DefaultProxySelector.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/EmptyX509TrustManager.class b/libjava/classpath/lib/gnu/java/net/EmptyX509TrustManager.class
      new file mode 100644
      index 00000000000..ce58175f9f8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/EmptyX509TrustManager.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class b/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class
      new file mode 100644
      index 00000000000..ff5b5a4f491
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/GetLocalHostAction.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class b/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class
      new file mode 100644
      index 00000000000..6f6b28abb9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/HeaderFieldHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/ImageHandler.class b/libjava/classpath/lib/gnu/java/net/ImageHandler.class
      new file mode 100644
      index 00000000000..02848b621dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/ImageHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/IndexListParser.class b/libjava/classpath/lib/gnu/java/net/IndexListParser.class
      new file mode 100644
      index 00000000000..8aa7b07c034
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/IndexListParser.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/LineInputStream.class b/libjava/classpath/lib/gnu/java/net/LineInputStream.class
      new file mode 100644
      index 00000000000..3f8e906acac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/LineInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/PlainDatagramSocketImpl.class b/libjava/classpath/lib/gnu/java/net/PlainDatagramSocketImpl.class
      new file mode 100644
      index 00000000000..376931bdd68
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/PlainDatagramSocketImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketInputStream.class b/libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketInputStream.class
      new file mode 100644
      index 00000000000..c03ad3228a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketOutputStream.class b/libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketOutputStream.class
      new file mode 100644
      index 00000000000..4b93b302f00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/PlainSocketImpl$SocketOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/PlainSocketImpl.class b/libjava/classpath/lib/gnu/java/net/PlainSocketImpl.class
      new file mode 100644
      index 00000000000..7b9e3e8b878
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/PlainSocketImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/URLParseError.class b/libjava/classpath/lib/gnu/java/net/URLParseError.class
      new file mode 100644
      index 00000000000..d0b903cd36e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/URLParseError.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/FileResource.class b/libjava/classpath/lib/gnu/java/net/loader/FileResource.class
      new file mode 100644
      index 00000000000..a5bf750a841
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/FileResource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/FileURLLoader.class b/libjava/classpath/lib/gnu/java/net/loader/FileURLLoader.class
      new file mode 100644
      index 00000000000..96d33fa16fd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/FileURLLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class b/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class
      new file mode 100644
      index 00000000000..403e4e967e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/JarURLLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/JarURLResource.class b/libjava/classpath/lib/gnu/java/net/loader/JarURLResource.class
      new file mode 100644
      index 00000000000..1ceca69272c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/JarURLResource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/RemoteResource.class b/libjava/classpath/lib/gnu/java/net/loader/RemoteResource.class
      new file mode 100644
      index 00000000000..b11c6fca789
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/RemoteResource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/RemoteURLLoader.class b/libjava/classpath/lib/gnu/java/net/loader/RemoteURLLoader.class
      new file mode 100644
      index 00000000000..7b498aa4d4f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/RemoteURLLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/Resource.class b/libjava/classpath/lib/gnu/java/net/loader/Resource.class
      new file mode 100644
      index 00000000000..23565e1fb31
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/Resource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class b/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class
      new file mode 100644
      index 00000000000..f64dacb3ae7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/URLLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class b/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class
      new file mode 100644
      index 00000000000..a218ce9c490
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/loader/URLStreamHandlerCache.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class b/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class
      new file mode 100644
      index 00000000000..546291d3b56
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/local/LocalServerSocket.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class b/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class
      new file mode 100644
      index 00000000000..8a2707e1315
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/local/LocalSocket.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalSocketAddress.class b/libjava/classpath/lib/gnu/java/net/local/LocalSocketAddress.class
      new file mode 100644
      index 00000000000..fa23b4d4bc7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/local/LocalSocketAddress.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalInputStream.class b/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalInputStream.class
      new file mode 100644
      index 00000000000..63ed23d8d38
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.class b/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.class
      new file mode 100644
      index 00000000000..7c239d4ee28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl.class b/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl.class
      new file mode 100644
      index 00000000000..34b587ad0de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/local/LocalSocketImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/core/Connection.class b/libjava/classpath/lib/gnu/java/net/protocol/core/Connection.class
      new file mode 100644
      index 00000000000..339a3e87fa4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/core/Connection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/core/CoreInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/core/CoreInputStream.class
      new file mode 100644
      index 00000000000..ca3b397efd1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/core/CoreInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/core/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/core/Handler.class
      new file mode 100644
      index 00000000000..f4869133e31
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/core/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/file/Connection$StaticData.class b/libjava/classpath/lib/gnu/java/net/protocol/file/Connection$StaticData.class
      new file mode 100644
      index 00000000000..fd22f746a60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/file/Connection$StaticData.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/file/Connection.class b/libjava/classpath/lib/gnu/java/net/protocol/file/Connection.class
      new file mode 100644
      index 00000000000..522343b2efb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/file/Connection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/file/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/file/Handler.class
      new file mode 100644
      index 00000000000..d122e0c6e63
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/file/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/ActiveModeDTP.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/ActiveModeDTP.class
      new file mode 100644
      index 00000000000..ebd0caa719c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/ActiveModeDTP.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockInputStream.class
      new file mode 100644
      index 00000000000..ce1c6bafa54
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockOutputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockOutputStream.class
      new file mode 100644
      index 00000000000..086a3293cf2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/BlockOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedInputStream.class
      new file mode 100644
      index 00000000000..90704cdce65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedOutputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedOutputStream.class
      new file mode 100644
      index 00000000000..894d77070cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/CompressedOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTP.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTP.class
      new file mode 100644
      index 00000000000..007d01e24c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTP.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPInputStream.class
      new file mode 100644
      index 00000000000..9f3a4bcc973
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPOutputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPOutputStream.class
      new file mode 100644
      index 00000000000..4d48d3c2647
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/DTPOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class
      new file mode 100644
      index 00000000000..bca990e550e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPConnection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPException.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPException.class
      new file mode 100644
      index 00000000000..f52293ed605
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPResponse.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPResponse.class
      new file mode 100644
      index 00000000000..13e8a9fedaa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPResponse.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class
      new file mode 100644
      index 00000000000..94df65728c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class
      new file mode 100644
      index 00000000000..bb6e74b3600
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class
      new file mode 100644
      index 00000000000..29c476162c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/FTPURLConnection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/Handler.class
      new file mode 100644
      index 00000000000..685c9070ca7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/PassiveModeDTP.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/PassiveModeDTP.class
      new file mode 100644
      index 00000000000..611b0e3b6d4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/PassiveModeDTP.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamInputStream.class
      new file mode 100644
      index 00000000000..e97e4cbe4c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamOutputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamOutputStream.class
      new file mode 100644
      index 00000000000..bc74bf96d13
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/ftp/StreamOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Connection.class b/libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Connection.class
      new file mode 100644
      index 00000000000..f035395d0e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Connection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Handler.class
      new file mode 100644
      index 00000000000..f3104480ae4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/gcjlib/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Authenticator.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Authenticator.class
      new file mode 100644
      index 00000000000..318aa3a6a72
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Authenticator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.class b/libjava/classpath/lib/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.class
      new file mode 100644
      index 00000000000..0d7cf7af762
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class
      new file mode 100644
      index 00000000000..cfdd83395e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/ChunkedInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Cookie.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Cookie.class
      new file mode 100644
      index 00000000000..ecba5b060fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Cookie.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/CookieManager.class b/libjava/classpath/lib/gnu/java/net/protocol/http/CookieManager.class
      new file mode 100644
      index 00000000000..95d3b66bf3d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/CookieManager.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Credentials.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Credentials.class
      new file mode 100644
      index 00000000000..289b5015f60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Credentials.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class
      new file mode 100644
      index 00000000000..b30005ce21a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class
      new file mode 100644
      index 00000000000..6ca44acf866
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection$Pool.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class
      new file mode 100644
      index 00000000000..6fd6262a332
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPConnection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPDateFormat.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPDateFormat.class
      new file mode 100644
      index 00000000000..20079d60fb9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPDateFormat.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class
      new file mode 100644
      index 00000000000..0e0631d513d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class
      new file mode 100644
      index 00000000000..76f4e90ccff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/HTTPURLConnection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Handler.class
      new file mode 100644
      index 00000000000..22e8d09793c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class
      new file mode 100644
      index 00000000000..f6c26f3ebe4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers$HeaderElement.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class
      new file mode 100644
      index 00000000000..97bf2ad61a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Headers.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/LimitedLengthInputStream.class b/libjava/classpath/lib/gnu/java/net/protocol/http/LimitedLengthInputStream.class
      new file mode 100644
      index 00000000000..630f16a4c9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/LimitedLengthInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class
      new file mode 100644
      index 00000000000..67e49234e99
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Request.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/RequestBodyWriter.class b/libjava/classpath/lib/gnu/java/net/protocol/http/RequestBodyWriter.class
      new file mode 100644
      index 00000000000..96d9510d62f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/RequestBodyWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/Response.class b/libjava/classpath/lib/gnu/java/net/protocol/http/Response.class
      new file mode 100644
      index 00000000000..844d50c5ce9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/Response.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/ResponseHeaderHandler.class b/libjava/classpath/lib/gnu/java/net/protocol/http/ResponseHeaderHandler.class
      new file mode 100644
      index 00000000000..1a8bb81d858
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/ResponseHeaderHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class b/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class
      new file mode 100644
      index 00000000000..00cafb1bcd9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/http/SimpleCookieManager.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/https/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/https/Handler.class
      new file mode 100644
      index 00000000000..fba1da8d284
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/https/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class
      new file mode 100644
      index 00000000000..0efc688b18c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection$JarFileCache.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class
      new file mode 100644
      index 00000000000..d67ec4c0310
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/jar/Connection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class b/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class
      new file mode 100644
      index 00000000000..51ca4c3c468
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/net/protocol/jar/Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class b/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class
      new file mode 100644
      index 00000000000..eb59e72598f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/ChannelInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/ChannelOutputStream.class b/libjava/classpath/lib/gnu/java/nio/ChannelOutputStream.class
      new file mode 100644
      index 00000000000..7da924174ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/ChannelOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/ChannelReader.class b/libjava/classpath/lib/gnu/java/nio/ChannelReader.class
      new file mode 100644
      index 00000000000..45afa8cec12
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/ChannelReader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/ChannelWriter.class b/libjava/classpath/lib/gnu/java/nio/ChannelWriter.class
      new file mode 100644
      index 00000000000..eca45f64455
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/ChannelWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/DatagramChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/DatagramChannelImpl.class
      new file mode 100644
      index 00000000000..8ec3162f45c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/DatagramChannelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/DatagramChannelSelectionKey.class b/libjava/classpath/lib/gnu/java/nio/DatagramChannelSelectionKey.class
      new file mode 100644
      index 00000000000..3159eeb85b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/DatagramChannelSelectionKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class
      new file mode 100644
      index 00000000000..ffb2da7509b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/FileLockImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/InputStreamChannel.class b/libjava/classpath/lib/gnu/java/nio/InputStreamChannel.class
      new file mode 100644
      index 00000000000..7550dd6e78a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/InputStreamChannel.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/NIOConstants.class b/libjava/classpath/lib/gnu/java/nio/NIOConstants.class
      new file mode 100644
      index 00000000000..b1bb782e53a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/NIOConstants.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/NIODatagramSocket.class b/libjava/classpath/lib/gnu/java/nio/NIODatagramSocket.class
      new file mode 100644
      index 00000000000..a5175b5ac27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/NIODatagramSocket.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/NIOServerSocket.class b/libjava/classpath/lib/gnu/java/nio/NIOServerSocket.class
      new file mode 100644
      index 00000000000..48081b19f3b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/NIOServerSocket.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/NIOSocket.class b/libjava/classpath/lib/gnu/java/nio/NIOSocket.class
      new file mode 100644
      index 00000000000..5d18dd42c25
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/NIOSocket.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/OutputStreamChannel.class b/libjava/classpath/lib/gnu/java/nio/OutputStreamChannel.class
      new file mode 100644
      index 00000000000..4a32c59c1c0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/OutputStreamChannel.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class
      new file mode 100644
      index 00000000000..21dd064ad9e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SinkChannelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class
      new file mode 100644
      index 00000000000..e5dea7f33c4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/PipeImpl$SourceChannelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/PipeImpl.class b/libjava/classpath/lib/gnu/java/nio/PipeImpl.class
      new file mode 100644
      index 00000000000..a0459a1235c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/PipeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/SelectionKeyImpl.class b/libjava/classpath/lib/gnu/java/nio/SelectionKeyImpl.class
      new file mode 100644
      index 00000000000..f9070f668d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/SelectionKeyImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/SelectorImpl.class b/libjava/classpath/lib/gnu/java/nio/SelectorImpl.class
      new file mode 100644
      index 00000000000..7e0b5dafdc0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/SelectorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/SelectorProviderImpl.class b/libjava/classpath/lib/gnu/java/nio/SelectorProviderImpl.class
      new file mode 100644
      index 00000000000..aa0ff844141
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/SelectorProviderImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class
      new file mode 100644
      index 00000000000..6188d794caf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelSelectionKey.class b/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelSelectionKey.class
      new file mode 100644
      index 00000000000..aabae1ea38f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/ServerSocketChannelSelectionKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/SocketChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/SocketChannelImpl.class
      new file mode 100644
      index 00000000000..26c94fce092
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/SocketChannelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKey.class b/libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKey.class
      new file mode 100644
      index 00000000000..455861650c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKeyImpl.class b/libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKeyImpl.class
      new file mode 100644
      index 00000000000..648378a0d19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/SocketChannelSelectionKeyImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/VMChannel.class b/libjava/classpath/lib/gnu/java/nio/VMChannel.class
      new file mode 100644
      index 00000000000..8ee7d1cf8f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/VMChannel.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/VMChannelOwner.class b/libjava/classpath/lib/gnu/java/nio/VMChannelOwner.class
      new file mode 100644
      index 00000000000..e4dbde81e2d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/VMChannelOwner.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/VMPipe.class b/libjava/classpath/lib/gnu/java/nio/VMPipe.class
      new file mode 100644
      index 00000000000..19ccc258662
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/VMPipe.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/VMSelector.class b/libjava/classpath/lib/gnu/java/nio/VMSelector.class
      new file mode 100644
      index 00000000000..c022f8f92be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/VMSelector.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class b/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class
      new file mode 100644
      index 00000000000..817ba710b1e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/channels/FileChannelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class
      new file mode 100644
      index 00000000000..bb1dcbc58c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Decoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class
      new file mode 100644
      index 00000000000..d434b325092
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset$Encoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset.class b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset.class
      new file mode 100644
      index 00000000000..abbfcc29ec5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ByteCharset.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp424.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp424.class
      new file mode 100644
      index 00000000000..85f73b42322
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp424.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp437.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp437.class
      new file mode 100644
      index 00000000000..6799af3e1ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp437.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp737.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp737.class
      new file mode 100644
      index 00000000000..3dc1a6402f1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp737.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp775.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp775.class
      new file mode 100644
      index 00000000000..d571c10661a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp775.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp850.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp850.class
      new file mode 100644
      index 00000000000..7196ca2de2d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp850.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp852.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp852.class
      new file mode 100644
      index 00000000000..8373403213e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp852.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp855.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp855.class
      new file mode 100644
      index 00000000000..17c1793bd75
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp855.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp857.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp857.class
      new file mode 100644
      index 00000000000..a214f8effa3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp857.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp860.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp860.class
      new file mode 100644
      index 00000000000..8553e8d875c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp860.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp861.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp861.class
      new file mode 100644
      index 00000000000..634255c87ef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp861.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp862.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp862.class
      new file mode 100644
      index 00000000000..ef5df442108
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp862.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp863.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp863.class
      new file mode 100644
      index 00000000000..0e03ff4d4b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp863.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp864.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp864.class
      new file mode 100644
      index 00000000000..c982051bfb7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp864.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp865.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp865.class
      new file mode 100644
      index 00000000000..cb82993678a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp865.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp866.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp866.class
      new file mode 100644
      index 00000000000..16ca0f4cd82
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp866.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp869.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp869.class
      new file mode 100644
      index 00000000000..4b692542f23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp869.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Cp874.class b/libjava/classpath/lib/gnu/java/nio/charset/Cp874.class
      new file mode 100644
      index 00000000000..24ab44ca942
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Cp874.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class b/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class
      new file mode 100644
      index 00000000000..e64d2d57f78
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/EncodingHelper.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Decoder.class
      new file mode 100644
      index 00000000000..d4bb421d738
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Decoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Encoder.class
      new file mode 100644
      index 00000000000..0262718eb66
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1$Encoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1.class
      new file mode 100644
      index 00000000000..8447ee37479
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_13.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_13.class
      new file mode 100644
      index 00000000000..cc21df464c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_13.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_15.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_15.class
      new file mode 100644
      index 00000000000..89bf8bfd60e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_15.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_2.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_2.class
      new file mode 100644
      index 00000000000..71744a0ffdd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_2.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_3.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_3.class
      new file mode 100644
      index 00000000000..807b45e816b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_3.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_4.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_4.class
      new file mode 100644
      index 00000000000..e4fe0185583
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_4.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_5.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_5.class
      new file mode 100644
      index 00000000000..70601828b0e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_5.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_6.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_6.class
      new file mode 100644
      index 00000000000..4e7ed95828f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_6.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_7.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_7.class
      new file mode 100644
      index 00000000000..11c9523c7d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_7.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_8.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_8.class
      new file mode 100644
      index 00000000000..58f8954a97b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_8.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_9.class b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_9.class
      new file mode 100644
      index 00000000000..8c9a6fa38a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/ISO_8859_9.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/KOI_8.class b/libjava/classpath/lib/gnu/java/nio/charset/KOI_8.class
      new file mode 100644
      index 00000000000..32beb9e7867
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/KOI_8.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MS874.class b/libjava/classpath/lib/gnu/java/nio/charset/MS874.class
      new file mode 100644
      index 00000000000..20728d0b68f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MS874.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacCentralEurope.class b/libjava/classpath/lib/gnu/java/nio/charset/MacCentralEurope.class
      new file mode 100644
      index 00000000000..53a16c28317
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacCentralEurope.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacCroatian.class b/libjava/classpath/lib/gnu/java/nio/charset/MacCroatian.class
      new file mode 100644
      index 00000000000..531b25f6391
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacCroatian.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacCyrillic.class b/libjava/classpath/lib/gnu/java/nio/charset/MacCyrillic.class
      new file mode 100644
      index 00000000000..15818087052
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacCyrillic.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacDingbat.class b/libjava/classpath/lib/gnu/java/nio/charset/MacDingbat.class
      new file mode 100644
      index 00000000000..fe35fe8e123
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacDingbat.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacGreek.class b/libjava/classpath/lib/gnu/java/nio/charset/MacGreek.class
      new file mode 100644
      index 00000000000..3e88fad3a52
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacGreek.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacIceland.class b/libjava/classpath/lib/gnu/java/nio/charset/MacIceland.class
      new file mode 100644
      index 00000000000..5d72231184a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacIceland.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacRoman.class b/libjava/classpath/lib/gnu/java/nio/charset/MacRoman.class
      new file mode 100644
      index 00000000000..9185ccc6d81
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacRoman.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacRomania.class b/libjava/classpath/lib/gnu/java/nio/charset/MacRomania.class
      new file mode 100644
      index 00000000000..ff7cd8a13c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacRomania.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacSymbol.class b/libjava/classpath/lib/gnu/java/nio/charset/MacSymbol.class
      new file mode 100644
      index 00000000000..16996e6ff40
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacSymbol.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacThai.class b/libjava/classpath/lib/gnu/java/nio/charset/MacThai.class
      new file mode 100644
      index 00000000000..92a895a7887
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacThai.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/MacTurkish.class b/libjava/classpath/lib/gnu/java/nio/charset/MacTurkish.class
      new file mode 100644
      index 00000000000..177250741dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/MacTurkish.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class b/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class
      new file mode 100644
      index 00000000000..30aebbad4f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Provider$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Provider.class b/libjava/classpath/lib/gnu/java/nio/charset/Provider.class
      new file mode 100644
      index 00000000000..33fb54b6aaa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Provider.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Decoder.class
      new file mode 100644
      index 00000000000..afa2964f97e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Decoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Encoder.class
      new file mode 100644
      index 00000000000..6b770a24f00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII$Encoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII.class b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII.class
      new file mode 100644
      index 00000000000..7e33ad70eeb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/US_ASCII.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16.class
      new file mode 100644
      index 00000000000..8a2afa49ede
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16BE.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16BE.class
      new file mode 100644
      index 00000000000..7c61d7e0ff1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16BE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class
      new file mode 100644
      index 00000000000..ef6a6745589
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Decoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class
      new file mode 100644
      index 00000000000..f411c933c7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16Encoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_16LE.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16LE.class
      new file mode 100644
      index 00000000000..d692b5aeae4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_16LE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class
      new file mode 100644
      index 00000000000..4bd770bda8c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Decoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class
      new file mode 100644
      index 00000000000..a4bcdf24353
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8$Encoder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UTF_8.class b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8.class
      new file mode 100644
      index 00000000000..4185988fc57
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UTF_8.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/UnicodeLittle.class b/libjava/classpath/lib/gnu/java/nio/charset/UnicodeLittle.class
      new file mode 100644
      index 00000000000..ba587056b74
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/UnicodeLittle.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1250.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1250.class
      new file mode 100644
      index 00000000000..3cf9112ac60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1250.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1251.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1251.class
      new file mode 100644
      index 00000000000..55fdf449389
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1251.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1252.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1252.class
      new file mode 100644
      index 00000000000..8885cd85c7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1252.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1253.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1253.class
      new file mode 100644
      index 00000000000..522f9c3987e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1253.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1254.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1254.class
      new file mode 100644
      index 00000000000..a254778da8b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1254.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1255.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1255.class
      new file mode 100644
      index 00000000000..2326a628c88
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1255.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1256.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1256.class
      new file mode 100644
      index 00000000000..132aee77931
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1256.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1257.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1257.class
      new file mode 100644
      index 00000000000..9b2c6935ec3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1257.class differ
      diff --git a/libjava/classpath/lib/gnu/java/nio/charset/Windows1258.class b/libjava/classpath/lib/gnu/java/nio/charset/Windows1258.class
      new file mode 100644
      index 00000000000..dff7817b2ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/nio/charset/Windows1258.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectInputStream.class b/libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectInputStream.class
      new file mode 100644
      index 00000000000..4223c7d9968
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectOutputStream.class b/libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectOutputStream.class
      new file mode 100644
      index 00000000000..4956b2610a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/RMIMarshalledObjectOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/activation/ActivationSystemTransient.class b/libjava/classpath/lib/gnu/java/rmi/activation/ActivationSystemTransient.class
      new file mode 100644
      index 00000000000..3441be9c8d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/activation/ActivationSystemTransient.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class b/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class
      new file mode 100644
      index 00000000000..2399011b826
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/activation/BidiTable.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationGroup.class b/libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationGroup.class
      new file mode 100644
      index 00000000000..539b79a3d2c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationGroup.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationSystem.class b/libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationSystem.class
      new file mode 100644
      index 00000000000..db9506a6693
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/activation/DefaultActivationSystem.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl$RefProtector.class b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl$RefProtector.class
      new file mode 100644
      index 00000000000..0c23886f98b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl$RefProtector.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl.class b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl.class
      new file mode 100644
      index 00000000000..8595984fc7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Skel.class b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Skel.class
      new file mode 100644
      index 00000000000..f745a86fccd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Skel.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class
      new file mode 100644
      index 00000000000..af0f76e26f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.class b/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.class
      new file mode 100644
      index 00000000000..b4877483282
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class b/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class
      new file mode 100644
      index 00000000000..cab36a1241e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
      new file mode 100644
      index 00000000000..b3627694897
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Skel.class b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Skel.class
      new file mode 100644
      index 00000000000..2ac5aeebb60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Skel.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class
      new file mode 100644
      index 00000000000..3c75c888930
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/ActivatableRef.class b/libjava/classpath/lib/gnu/java/rmi/server/ActivatableRef.class
      new file mode 100644
      index 00000000000..3b3f048a052
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/ActivatableRef.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/ActivatableServerRef.class b/libjava/classpath/lib/gnu/java/rmi/server/ActivatableServerRef.class
      new file mode 100644
      index 00000000000..1e17e2acc4b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/ActivatableServerRef.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/CombinedClassLoader.class b/libjava/classpath/lib/gnu/java/rmi/server/CombinedClassLoader.class
      new file mode 100644
      index 00000000000..6d28f179e68
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/CombinedClassLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.class b/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.class
      new file mode 100644
      index 00000000000..3b7e35205b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class b/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class
      new file mode 100644
      index 00000000000..1f187b76794
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/ConnectionRunnerPool.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/ProtocolConstants.class b/libjava/classpath/lib/gnu/java/rmi/server/ProtocolConstants.class
      new file mode 100644
      index 00000000000..4859ff5ef5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/ProtocolConstants.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.class
      new file mode 100644
      index 00000000000..39323eb2a9d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.class
      new file mode 100644
      index 00000000000..fef7f673bd1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class
      new file mode 100644
      index 00000000000..b703c43827d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIClassLoaderImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class
      new file mode 100644
      index 00000000000..d00d777fbc4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIDefaultSocketFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIHashes.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIHashes.class
      new file mode 100644
      index 00000000000..1a661494888
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIHashes.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIIncomingThread.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIIncomingThread.class
      new file mode 100644
      index 00000000000..fecf25d8d1a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIIncomingThread.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class
      new file mode 100644
      index 00000000000..88a6fdec356
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class
      new file mode 100644
      index 00000000000..56721ea9898
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIObjectOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/RMIVoidValue.class b/libjava/classpath/lib/gnu/java/rmi/server/RMIVoidValue.class
      new file mode 100644
      index 00000000000..d6280beb4b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/RMIVoidValue.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class b/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class
      new file mode 100644
      index 00000000000..faa602b8bb2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/TripleKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class
      new file mode 100644
      index 00000000000..39f35efdc9b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnection.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class
      new file mode 100644
      index 00000000000..7d928f54f87
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class
      new file mode 100644
      index 00000000000..e5d55790973
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastConnectionManager.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRef.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRef.class
      new file mode 100644
      index 00000000000..47faa31897b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRef.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.class
      new file mode 100644
      index 00000000000..3079c045943
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.class
      new file mode 100644
      index 00000000000..3ea34588121
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class
      new file mode 100644
      index 00000000000..2f25fef2f43
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteCall.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteStub.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteStub.class
      new file mode 100644
      index 00000000000..546a9798e8d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastRemoteStub.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class
      new file mode 100644
      index 00000000000..16057467e8b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class
      new file mode 100644
      index 00000000000..9f20856e240
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/rmi/server/UnicastServerRef.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/Configuration.class b/libjava/classpath/lib/gnu/java/security/Configuration.class
      new file mode 100644
      index 00000000000..cad8db3bfb9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/Configuration.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/Engine.class b/libjava/classpath/lib/gnu/java/security/Engine.class
      new file mode 100644
      index 00000000000..b9b5a3f916d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/Engine.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/OID.class b/libjava/classpath/lib/gnu/java/security/OID.class
      new file mode 100644
      index 00000000000..db37e6964a9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/OID.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class b/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class
      new file mode 100644
      index 00000000000..c5168d406ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/PolicyFile$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/PolicyFile.class b/libjava/classpath/lib/gnu/java/security/PolicyFile.class
      new file mode 100644
      index 00000000000..9efb3e65393
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/PolicyFile.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/Properties$1.class b/libjava/classpath/lib/gnu/java/security/Properties$1.class
      new file mode 100644
      index 00000000000..2664158bd3f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/Properties$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/Properties.class b/libjava/classpath/lib/gnu/java/security/Properties.class
      new file mode 100644
      index 00000000000..aa0b0bbd2ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/Properties.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/Registry.class b/libjava/classpath/lib/gnu/java/security/Registry.class
      new file mode 100644
      index 00000000000..f2be0f46c1e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/Registry.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/Requires.class b/libjava/classpath/lib/gnu/java/security/Requires.class
      new file mode 100644
      index 00000000000..6df34241aa2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/Requires.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/action/GetPropertyAction.class b/libjava/classpath/lib/gnu/java/security/action/GetPropertyAction.class
      new file mode 100644
      index 00000000000..a2d0e38c47e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/action/GetPropertyAction.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/action/GetSecurityPropertyAction.class b/libjava/classpath/lib/gnu/java/security/action/GetSecurityPropertyAction.class
      new file mode 100644
      index 00000000000..d49ba7c80b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/action/GetSecurityPropertyAction.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/action/SetAccessibleAction.class b/libjava/classpath/lib/gnu/java/security/action/SetAccessibleAction.class
      new file mode 100644
      index 00000000000..d1714441c44
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/action/SetAccessibleAction.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/ber/BER.class b/libjava/classpath/lib/gnu/java/security/ber/BER.class
      new file mode 100644
      index 00000000000..f0486a3b244
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/ber/BER.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/ber/BEREncodingException.class b/libjava/classpath/lib/gnu/java/security/ber/BEREncodingException.class
      new file mode 100644
      index 00000000000..8f83eb28a96
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/ber/BEREncodingException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/ber/BERReader.class b/libjava/classpath/lib/gnu/java/security/ber/BERReader.class
      new file mode 100644
      index 00000000000..6e962fe13b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/ber/BERReader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/ber/BERValue.class b/libjava/classpath/lib/gnu/java/security/ber/BERValue.class
      new file mode 100644
      index 00000000000..2405fd71d29
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/ber/BERValue.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/der/BitString.class b/libjava/classpath/lib/gnu/java/security/der/BitString.class
      new file mode 100644
      index 00000000000..c70e401c456
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/der/BitString.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/der/DER.class b/libjava/classpath/lib/gnu/java/security/der/DER.class
      new file mode 100644
      index 00000000000..98e7a9ce72a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/der/DER.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/der/DEREncodingException.class b/libjava/classpath/lib/gnu/java/security/der/DEREncodingException.class
      new file mode 100644
      index 00000000000..ddcdeb26f9b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/der/DEREncodingException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/der/DERReader.class b/libjava/classpath/lib/gnu/java/security/der/DERReader.class
      new file mode 100644
      index 00000000000..20ebbdb87b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/der/DERReader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/der/DERValue.class b/libjava/classpath/lib/gnu/java/security/der/DERValue.class
      new file mode 100644
      index 00000000000..446fbd7b0f8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/der/DERValue.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/der/DERWriter.class b/libjava/classpath/lib/gnu/java/security/der/DERWriter.class
      new file mode 100644
      index 00000000000..4a09d076b90
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/der/DERWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/BaseHash.class b/libjava/classpath/lib/gnu/java/security/hash/BaseHash.class
      new file mode 100644
      index 00000000000..520cbd0c789
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/BaseHash.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/HashFactory.class b/libjava/classpath/lib/gnu/java/security/hash/HashFactory.class
      new file mode 100644
      index 00000000000..a023e1e53ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/HashFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Haval.class b/libjava/classpath/lib/gnu/java/security/hash/Haval.class
      new file mode 100644
      index 00000000000..ca0a624ef62
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Haval.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/IMessageDigest.class b/libjava/classpath/lib/gnu/java/security/hash/IMessageDigest.class
      new file mode 100644
      index 00000000000..eb1faf6b2ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/IMessageDigest.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/MD2.class b/libjava/classpath/lib/gnu/java/security/hash/MD2.class
      new file mode 100644
      index 00000000000..0062efab859
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/MD2.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/MD4.class b/libjava/classpath/lib/gnu/java/security/hash/MD4.class
      new file mode 100644
      index 00000000000..a426e3d6343
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/MD4.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/MD5.class b/libjava/classpath/lib/gnu/java/security/hash/MD5.class
      new file mode 100644
      index 00000000000..38c6515787e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/MD5.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/RipeMD128.class b/libjava/classpath/lib/gnu/java/security/hash/RipeMD128.class
      new file mode 100644
      index 00000000000..88e95d2dbaa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/RipeMD128.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/RipeMD160.class b/libjava/classpath/lib/gnu/java/security/hash/RipeMD160.class
      new file mode 100644
      index 00000000000..de071dec641
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/RipeMD160.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Sha160.class b/libjava/classpath/lib/gnu/java/security/hash/Sha160.class
      new file mode 100644
      index 00000000000..7bf70b05fbd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Sha160.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Sha256.class b/libjava/classpath/lib/gnu/java/security/hash/Sha256.class
      new file mode 100644
      index 00000000000..ffb909b7595
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Sha256.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Sha384.class b/libjava/classpath/lib/gnu/java/security/hash/Sha384.class
      new file mode 100644
      index 00000000000..dd338a97fc9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Sha384.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Sha512.class b/libjava/classpath/lib/gnu/java/security/hash/Sha512.class
      new file mode 100644
      index 00000000000..9e3e53e697e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Sha512.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Tiger.class b/libjava/classpath/lib/gnu/java/security/hash/Tiger.class
      new file mode 100644
      index 00000000000..36bd7277376
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Tiger.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/hash/Whirlpool.class b/libjava/classpath/lib/gnu/java/security/hash/Whirlpool.class
      new file mode 100644
      index 00000000000..d734a4d5beb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/hash/Whirlpool.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/HavalSpi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/HavalSpi.class
      new file mode 100644
      index 00000000000..51a42cdf075
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/HavalSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/MD2Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/MD2Spi.class
      new file mode 100644
      index 00000000000..1ea42682b62
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/MD2Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/MD4Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/MD4Spi.class
      new file mode 100644
      index 00000000000..919f6ad924b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/MD4Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/MD5Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/MD5Spi.class
      new file mode 100644
      index 00000000000..d7eac77350e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/MD5Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/MessageDigestAdapter.class b/libjava/classpath/lib/gnu/java/security/jce/hash/MessageDigestAdapter.class
      new file mode 100644
      index 00000000000..a5f8f7b5ba0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/MessageDigestAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD128Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD128Spi.class
      new file mode 100644
      index 00000000000..9e64e886cc6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD128Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD160Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD160Spi.class
      new file mode 100644
      index 00000000000..15dab49868b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/RipeMD160Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/Sha160Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha160Spi.class
      new file mode 100644
      index 00000000000..e608311d0d1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha160Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/Sha256Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha256Spi.class
      new file mode 100644
      index 00000000000..d8bbdad949c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha256Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/Sha384Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha384Spi.class
      new file mode 100644
      index 00000000000..3087553bc46
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha384Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/Sha512Spi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha512Spi.class
      new file mode 100644
      index 00000000000..19c6274b12e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/Sha512Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/TigerSpi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/TigerSpi.class
      new file mode 100644
      index 00000000000..314580c2232
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/TigerSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/hash/WhirlpoolSpi.class b/libjava/classpath/lib/gnu/java/security/jce/hash/WhirlpoolSpi.class
      new file mode 100644
      index 00000000000..76fb5647ab0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/hash/WhirlpoolSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/HavalRandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/HavalRandomSpi.class
      new file mode 100644
      index 00000000000..db9029bb143
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/HavalRandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/MD2RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/MD2RandomSpi.class
      new file mode 100644
      index 00000000000..b043f1baada
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/MD2RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/MD4RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/MD4RandomSpi.class
      new file mode 100644
      index 00000000000..2b314952ae3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/MD4RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/MD5RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/MD5RandomSpi.class
      new file mode 100644
      index 00000000000..6256b186976
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/MD5RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD128RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD128RandomSpi.class
      new file mode 100644
      index 00000000000..0ab8ce92632
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD128RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD160RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD160RandomSpi.class
      new file mode 100644
      index 00000000000..a05207414b9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/RipeMD160RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/SecureRandomAdapter.class b/libjava/classpath/lib/gnu/java/security/jce/prng/SecureRandomAdapter.class
      new file mode 100644
      index 00000000000..7bacedb0d5e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/SecureRandomAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/Sha160RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha160RandomSpi.class
      new file mode 100644
      index 00000000000..b26d8ecc29b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha160RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/Sha256RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha256RandomSpi.class
      new file mode 100644
      index 00000000000..4f95aec7165
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha256RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/Sha384RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha384RandomSpi.class
      new file mode 100644
      index 00000000000..010507d9234
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha384RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/Sha512RandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha512RandomSpi.class
      new file mode 100644
      index 00000000000..f31e348c2ae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/Sha512RandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/TigerRandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/TigerRandomSpi.class
      new file mode 100644
      index 00000000000..787b68bff17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/TigerRandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/prng/WhirlpoolRandomSpi.class b/libjava/classpath/lib/gnu/java/security/jce/prng/WhirlpoolRandomSpi.class
      new file mode 100644
      index 00000000000..abe86b01c15
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/prng/WhirlpoolRandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyFactory.class b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyFactory.class
      new file mode 100644
      index 00000000000..fa74bd74bc4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.class b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.class
      new file mode 100644
      index 00000000000..2ec3779a8ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/DSSParameters.class b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSParameters.class
      new file mode 100644
      index 00000000000..895c8f22183
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/DSSParametersGenerator.class b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSParametersGenerator.class
      new file mode 100644
      index 00000000000..393aaf0e420
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSParametersGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/DSSRawSignatureSpi.class b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSRawSignatureSpi.class
      new file mode 100644
      index 00000000000..c26cfe6f6fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/DSSRawSignatureSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/EncodedKeyFactory.class b/libjava/classpath/lib/gnu/java/security/jce/sig/EncodedKeyFactory.class
      new file mode 100644
      index 00000000000..9bf4ba4bccd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/EncodedKeyFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.class b/libjava/classpath/lib/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.class
      new file mode 100644
      index 00000000000..b82fa0b1a02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/MD2withRSA.class b/libjava/classpath/lib/gnu/java/security/jce/sig/MD2withRSA.class
      new file mode 100644
      index 00000000000..ee79076645c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/MD2withRSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/MD5withRSA.class b/libjava/classpath/lib/gnu/java/security/jce/sig/MD5withRSA.class
      new file mode 100644
      index 00000000000..c88c51d9916
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/MD5withRSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyFactory.class b/libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyFactory.class
      new file mode 100644
      index 00000000000..6f06edc69bf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.class b/libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.class
      new file mode 100644
      index 00000000000..70c34ed7e8b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.class b/libjava/classpath/lib/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.class
      new file mode 100644
      index 00000000000..f735eab972c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withDSS.class b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withDSS.class
      new file mode 100644
      index 00000000000..f4a23b615c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withDSS.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withRSA.class b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withRSA.class
      new file mode 100644
      index 00000000000..02df94ee7f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA160withRSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/SHA256withRSA.class b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA256withRSA.class
      new file mode 100644
      index 00000000000..d14df91c5c4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA256withRSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/SHA384withRSA.class b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA384withRSA.class
      new file mode 100644
      index 00000000000..05acfdf4610
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA384withRSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/SHA512withRSA.class b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA512withRSA.class
      new file mode 100644
      index 00000000000..c220000c6d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/SHA512withRSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/jce/sig/SignatureAdapter.class b/libjava/classpath/lib/gnu/java/security/jce/sig/SignatureAdapter.class
      new file mode 100644
      index 00000000000..299c7bfd0e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/jce/sig/SignatureAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/IKeyPairCodec.class b/libjava/classpath/lib/gnu/java/security/key/IKeyPairCodec.class
      new file mode 100644
      index 00000000000..b9c7a76d75a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/IKeyPairCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/IKeyPairGenerator.class b/libjava/classpath/lib/gnu/java/security/key/IKeyPairGenerator.class
      new file mode 100644
      index 00000000000..54396a643bc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/IKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/KeyPairCodecFactory.class b/libjava/classpath/lib/gnu/java/security/key/KeyPairCodecFactory.class
      new file mode 100644
      index 00000000000..b67f2337860
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/KeyPairCodecFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/KeyPairGeneratorFactory.class b/libjava/classpath/lib/gnu/java/security/key/KeyPairGeneratorFactory.class
      new file mode 100644
      index 00000000000..abafeeac050
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/KeyPairGeneratorFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSKey.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKey.class
      new file mode 100644
      index 00000000000..c5462e16559
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairGenerator.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairGenerator.class
      new file mode 100644
      index 00000000000..97938b62587
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.class
      new file mode 100644
      index 00000000000..6532a20ee74
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairRawCodec.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairRawCodec.class
      new file mode 100644
      index 00000000000..848cbfe39df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairX509Codec.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairX509Codec.class
      new file mode 100644
      index 00000000000..7ca18493b55
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSKeyPairX509Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class
      new file mode 100644
      index 00000000000..958c05228e4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPrivateKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class
      new file mode 100644
      index 00000000000..909a027c038
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/DSSPublicKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/dss/FIPS186.class b/libjava/classpath/lib/gnu/java/security/key/dss/FIPS186.class
      new file mode 100644
      index 00000000000..9be1d405fc3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/dss/FIPS186.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class
      new file mode 100644
      index 00000000000..c95e6c418fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class
      new file mode 100644
      index 00000000000..1c7f6fd4129
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPrivateKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class
      new file mode 100644
      index 00000000000..5d93064f5d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/GnuRSAPublicKey.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairGenerator.class b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairGenerator.class
      new file mode 100644
      index 00000000000..e09c4234183
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.class b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.class
      new file mode 100644
      index 00000000000..b8a5f4cf431
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairRawCodec.class b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairRawCodec.class
      new file mode 100644
      index 00000000000..15ccade3152
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairX509Codec.class b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairX509Codec.class
      new file mode 100644
      index 00000000000..f6b6573af65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/key/rsa/RSAKeyPairX509Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/pkcs/PKCS7Data.class b/libjava/classpath/lib/gnu/java/security/pkcs/PKCS7Data.class
      new file mode 100644
      index 00000000000..efd7a578933
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/pkcs/PKCS7Data.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/pkcs/PKCS7SignedData.class b/libjava/classpath/lib/gnu/java/security/pkcs/PKCS7SignedData.class
      new file mode 100644
      index 00000000000..5ec095a4325
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/pkcs/PKCS7SignedData.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/pkcs/SignerInfo.class b/libjava/classpath/lib/gnu/java/security/pkcs/SignerInfo.class
      new file mode 100644
      index 00000000000..604a7355239
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/pkcs/SignerInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/BasePRNG.class b/libjava/classpath/lib/gnu/java/security/prng/BasePRNG.class
      new file mode 100644
      index 00000000000..cd9b6aa3bd1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/BasePRNG.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/EntropySource.class b/libjava/classpath/lib/gnu/java/security/prng/EntropySource.class
      new file mode 100644
      index 00000000000..3810c893bcd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/EntropySource.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/IRandom.class b/libjava/classpath/lib/gnu/java/security/prng/IRandom.class
      new file mode 100644
      index 00000000000..f89eacbb9f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/IRandom.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/LimitReachedException.class b/libjava/classpath/lib/gnu/java/security/prng/LimitReachedException.class
      new file mode 100644
      index 00000000000..5a0e5048e01
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/LimitReachedException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/MDGenerator.class b/libjava/classpath/lib/gnu/java/security/prng/MDGenerator.class
      new file mode 100644
      index 00000000000..dc88d8dd935
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/MDGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/PRNGFactory.class b/libjava/classpath/lib/gnu/java/security/prng/PRNGFactory.class
      new file mode 100644
      index 00000000000..a2754327797
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/PRNGFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/RandomEvent.class b/libjava/classpath/lib/gnu/java/security/prng/RandomEvent.class
      new file mode 100644
      index 00000000000..fa3ee8ecd48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/RandomEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/prng/RandomEventListener.class b/libjava/classpath/lib/gnu/java/security/prng/RandomEventListener.class
      new file mode 100644
      index 00000000000..ca9c8fa214f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/prng/RandomEventListener.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/provider/CollectionCertStoreImpl.class b/libjava/classpath/lib/gnu/java/security/provider/CollectionCertStoreImpl.class
      new file mode 100644
      index 00000000000..c3dd00069f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/provider/CollectionCertStoreImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/provider/DefaultPolicy.class b/libjava/classpath/lib/gnu/java/security/provider/DefaultPolicy.class
      new file mode 100644
      index 00000000000..48a748c81ab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/provider/DefaultPolicy.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class b/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class
      new file mode 100644
      index 00000000000..2e949b0debe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/provider/Gnu$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/provider/Gnu.class b/libjava/classpath/lib/gnu/java/security/provider/Gnu.class
      new file mode 100644
      index 00000000000..642a24abac0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/provider/Gnu.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class b/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class
      new file mode 100644
      index 00000000000..4feb3469085
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/provider/PKIXCertPathValidatorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/provider/X509CertificateFactory.class b/libjava/classpath/lib/gnu/java/security/provider/X509CertificateFactory.class
      new file mode 100644
      index 00000000000..3fedb12ef53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/provider/X509CertificateFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/BaseSignature.class b/libjava/classpath/lib/gnu/java/security/sig/BaseSignature.class
      new file mode 100644
      index 00000000000..7267a24e8fd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/BaseSignature.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/ISignature.class b/libjava/classpath/lib/gnu/java/security/sig/ISignature.class
      new file mode 100644
      index 00000000000..24174a1aa8b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/ISignature.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/ISignatureCodec.class b/libjava/classpath/lib/gnu/java/security/sig/ISignatureCodec.class
      new file mode 100644
      index 00000000000..f998fd081c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/ISignatureCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/SignatureCodecFactory.class b/libjava/classpath/lib/gnu/java/security/sig/SignatureCodecFactory.class
      new file mode 100644
      index 00000000000..da49c576104
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/SignatureCodecFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/SignatureFactory.class b/libjava/classpath/lib/gnu/java/security/sig/SignatureFactory.class
      new file mode 100644
      index 00000000000..0e7bd568525
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/SignatureFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignature.class b/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignature.class
      new file mode 100644
      index 00000000000..4fc0e689424
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignature.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureRawCodec.class b/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureRawCodec.class
      new file mode 100644
      index 00000000000..a8e8cad5aa9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureX509Codec.class b/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureX509Codec.class
      new file mode 100644
      index 00000000000..99494c6c8dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/dss/DSSSignatureX509Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.class
      new file mode 100644
      index 00000000000..bbd18de8e5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.class
      new file mode 100644
      index 00000000000..e03cdaf8031
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PSS.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PSS.class
      new file mode 100644
      index 00000000000..5484fd578c5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/EMSA_PSS.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSA.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSA.class
      new file mode 100644
      index 00000000000..68c37239c80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSA.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.class
      new file mode 100644
      index 00000000000..f788cedc6d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.class
      new file mode 100644
      index 00000000000..7f8762a6e87
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.class
      new file mode 100644
      index 00000000000..faa4a94b65d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignature.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignature.class
      new file mode 100644
      index 00000000000..961bd7d3b67
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignature.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.class
      new file mode 100644
      index 00000000000..e9942689636
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/sig/rsa/RSASignatureFactory.class b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSASignatureFactory.class
      new file mode 100644
      index 00000000000..4d51e4c2c48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/sig/rsa/RSASignatureFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/Base64.class b/libjava/classpath/lib/gnu/java/security/util/Base64.class
      new file mode 100644
      index 00000000000..75ad3c941ab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/Base64.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/ByteArray.class b/libjava/classpath/lib/gnu/java/security/util/ByteArray.class
      new file mode 100644
      index 00000000000..beb2df45619
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/ByteArray.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/ByteBufferOutputStream.class b/libjava/classpath/lib/gnu/java/security/util/ByteBufferOutputStream.class
      new file mode 100644
      index 00000000000..2d7439a3c24
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/ByteBufferOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/DerUtil.class b/libjava/classpath/lib/gnu/java/security/util/DerUtil.class
      new file mode 100644
      index 00000000000..ef4b9150c84
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/DerUtil.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/ExpirableObject$Destroyer.class b/libjava/classpath/lib/gnu/java/security/util/ExpirableObject$Destroyer.class
      new file mode 100644
      index 00000000000..a3cf941eb21
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/ExpirableObject$Destroyer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/ExpirableObject.class b/libjava/classpath/lib/gnu/java/security/util/ExpirableObject.class
      new file mode 100644
      index 00000000000..44f30dd9090
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/ExpirableObject.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/FormatUtil.class b/libjava/classpath/lib/gnu/java/security/util/FormatUtil.class
      new file mode 100644
      index 00000000000..c3485f317ca
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/FormatUtil.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class
      new file mode 100644
      index 00000000000..518fc646877
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class
      new file mode 100644
      index 00000000000..e18daef73d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/IntegerUtil.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/PRNG.class b/libjava/classpath/lib/gnu/java/security/util/PRNG.class
      new file mode 100644
      index 00000000000..6e2d054ce1a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/PRNG.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/Prime.class b/libjava/classpath/lib/gnu/java/security/util/Prime.class
      new file mode 100644
      index 00000000000..0246963e34a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/Prime.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/Sequence.class b/libjava/classpath/lib/gnu/java/security/util/Sequence.class
      new file mode 100644
      index 00000000000..9ff5eaaefc2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/Sequence.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/SimpleList.class b/libjava/classpath/lib/gnu/java/security/util/SimpleList.class
      new file mode 100644
      index 00000000000..c30ecdea117
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/SimpleList.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/util/Util.class b/libjava/classpath/lib/gnu/java/security/util/Util.class
      new file mode 100644
      index 00000000000..896b4bfa72a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/util/Util.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/GnuPKIExtension.class b/libjava/classpath/lib/gnu/java/security/x509/GnuPKIExtension.class
      new file mode 100644
      index 00000000000..fbada1312e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/GnuPKIExtension.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/PolicyNodeImpl.class b/libjava/classpath/lib/gnu/java/security/x509/PolicyNodeImpl.class
      new file mode 100644
      index 00000000000..bfca58d7b44
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/PolicyNodeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/Util.class b/libjava/classpath/lib/gnu/java/security/x509/Util.class
      new file mode 100644
      index 00000000000..b21e8d818cf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/Util.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class b/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class
      new file mode 100644
      index 00000000000..8aba2259813
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X500DistinguishedName.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class b/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class
      new file mode 100644
      index 00000000000..5e2ce964ec4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X509CRL.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class b/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class
      new file mode 100644
      index 00000000000..04aa144a2cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X509CRLEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class b/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class
      new file mode 100644
      index 00000000000..c23f76eb00e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X509CRLSelectorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CertPath.class b/libjava/classpath/lib/gnu/java/security/x509/X509CertPath.class
      new file mode 100644
      index 00000000000..98e112e9d6e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X509CertPath.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class b/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class
      new file mode 100644
      index 00000000000..823a6578b0a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X509CertSelectorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class b/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class
      new file mode 100644
      index 00000000000..377554e1ffd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/X509Certificate.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class b/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class
      new file mode 100644
      index 00000000000..73bc76cac3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/AuthorityKeyIdentifier.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class b/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class
      new file mode 100644
      index 00000000000..5880c34fec0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/BasicConstraints.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class b/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class
      new file mode 100644
      index 00000000000..98b5b2fed23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/CRLNumber.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class b/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class
      new file mode 100644
      index 00000000000..f562f35fb3d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/CertificatePolicies.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class b/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class
      new file mode 100644
      index 00000000000..c4dcb1c8d91
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/ExtendedKeyUsage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class
      new file mode 100644
      index 00000000000..5d8e83288f1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension$Value.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class
      new file mode 100644
      index 00000000000..db1472dc5a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/Extension.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class
      new file mode 100644
      index 00000000000..9fb83d0e68e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/GeneralNames.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class b/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class
      new file mode 100644
      index 00000000000..15df55404d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/IssuerAlternativeNames.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class b/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class
      new file mode 100644
      index 00000000000..ca69c62a4f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/KeyUsage.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class
      new file mode 100644
      index 00000000000..79fe36cc65d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyConstraint.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class
      new file mode 100644
      index 00000000000..5d1da689c97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/PolicyMappings.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class b/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class
      new file mode 100644
      index 00000000000..483ce3ea57d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class b/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class
      new file mode 100644
      index 00000000000..2b5d1606ce0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/ReasonCode.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class
      new file mode 100644
      index 00000000000..75f97382f94
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectAlternativeNames.class differ
      diff --git a/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class
      new file mode 100644
      index 00000000000..2bb8d26c4ba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/security/x509/ext/SubjectKeyIdentifier.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class
      new file mode 100644
      index 00000000000..6d0fb150c5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/AttributedFormatBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/BaseBreakIterator.class b/libjava/classpath/lib/gnu/java/text/BaseBreakIterator.class
      new file mode 100644
      index 00000000000..3fe59cdb3f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/BaseBreakIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/CharacterBreakIterator.class b/libjava/classpath/lib/gnu/java/text/CharacterBreakIterator.class
      new file mode 100644
      index 00000000000..3f55a8f2cc6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/CharacterBreakIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/FormatBuffer.class b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class
      new file mode 100644
      index 00000000000..fa4394e044a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/FormatBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class
      new file mode 100644
      index 00000000000..0597d6e0183
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/FormatCharacterIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/LineBreakIterator.class b/libjava/classpath/lib/gnu/java/text/LineBreakIterator.class
      new file mode 100644
      index 00000000000..6c97fd54e21
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/LineBreakIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/SentenceBreakIterator.class b/libjava/classpath/lib/gnu/java/text/SentenceBreakIterator.class
      new file mode 100644
      index 00000000000..5b3975c3ea2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/SentenceBreakIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class
      new file mode 100644
      index 00000000000..de6b9d9dd17
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/StringFormatBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/text/WordBreakIterator.class b/libjava/classpath/lib/gnu/java/text/WordBreakIterator.class
      new file mode 100644
      index 00000000000..e1526fc3d62
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/text/WordBreakIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/DoubleEnumeration.class b/libjava/classpath/lib/gnu/java/util/DoubleEnumeration.class
      new file mode 100644
      index 00000000000..d26b3fe1013
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/DoubleEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/EmptyEnumeration.class b/libjava/classpath/lib/gnu/java/util/EmptyEnumeration.class
      new file mode 100644
      index 00000000000..808980d83cf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/EmptyEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class
      new file mode 100644
      index 00000000000..eb7c64a1df1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class
      new file mode 100644
      index 00000000000..b7bf52c692e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket.class
      new file mode 100644
      index 00000000000..08875e5b171
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakBucket.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class
      new file mode 100644
      index 00000000000..a889aae9727
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class
      new file mode 100644
      index 00000000000..0b205de2497
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/WeakIdentityHashMap.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class
      new file mode 100644
      index 00000000000..a1acf2525ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class b/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class
      new file mode 100644
      index 00000000000..6f7ec172e27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/EventDispatcher.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedFactory.class b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedFactory.class
      new file mode 100644
      index 00000000000..04da65abd4e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class
      new file mode 100644
      index 00000000000..d7082f4a270
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class
      new file mode 100644
      index 00000000000..7cb1c96f19f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/FileBasedPreferences.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedFactory.class b/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedFactory.class
      new file mode 100644
      index 00000000000..0c97da9c3c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class b/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class
      new file mode 100644
      index 00000000000..db5bd124f19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/GConfBasedPreferences.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedFactory.class b/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedFactory.class
      new file mode 100644
      index 00000000000..0520bb58e85
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class b/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class
      new file mode 100644
      index 00000000000..9f25fa47e7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/MemoryBasedPreferences.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/NodeReader.class b/libjava/classpath/lib/gnu/java/util/prefs/NodeReader.class
      new file mode 100644
      index 00000000000..9557a132dd2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/NodeReader.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/NodeWriter.class b/libjava/classpath/lib/gnu/java/util/prefs/NodeWriter.class
      new file mode 100644
      index 00000000000..929229e540a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/NodeWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class b/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class
      new file mode 100644
      index 00000000000..7a24d86aa6b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/prefs/gconf/GConfNativePeer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/BacktrackStack$Backtrack.class b/libjava/classpath/lib/gnu/java/util/regex/BacktrackStack$Backtrack.class
      new file mode 100644
      index 00000000000..34b9e51a650
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/BacktrackStack$Backtrack.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/BacktrackStack.class b/libjava/classpath/lib/gnu/java/util/regex/BacktrackStack.class
      new file mode 100644
      index 00000000000..b615849609e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/BacktrackStack.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/CharIndexed.class b/libjava/classpath/lib/gnu/java/util/regex/CharIndexed.class
      new file mode 100644
      index 00000000000..09beb399a25
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/CharIndexed.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharArray.class b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharArray.class
      new file mode 100644
      index 00000000000..2ede3d64525
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharArray.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharSequence.class b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharSequence.class
      new file mode 100644
      index 00000000000..351c0af1abe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedCharSequence.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/CharIndexedInputStream.class b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedInputStream.class
      new file mode 100644
      index 00000000000..cf5fd881cfe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/CharIndexedString.class b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedString.class
      new file mode 100644
      index 00000000000..0710442c602
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedString.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/CharIndexedStringBuffer.class b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedStringBuffer.class
      new file mode 100644
      index 00000000000..8dfff383393
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/CharIndexedStringBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE$CharExpression.class b/libjava/classpath/lib/gnu/java/util/regex/RE$CharExpression.class
      new file mode 100644
      index 00000000000..da1645dc711
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RE$CharExpression.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE$CharUnit.class b/libjava/classpath/lib/gnu/java/util/regex/RE$CharUnit.class
      new file mode 100644
      index 00000000000..4dd3fd602f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RE$CharUnit.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE$IntPair.class b/libjava/classpath/lib/gnu/java/util/regex/RE$IntPair.class
      new file mode 100644
      index 00000000000..8d2299f63e5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RE$IntPair.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE$NamedProperty.class b/libjava/classpath/lib/gnu/java/util/regex/RE$NamedProperty.class
      new file mode 100644
      index 00000000000..b9be6348bd0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RE$NamedProperty.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE$ParseCharClassResult.class b/libjava/classpath/lib/gnu/java/util/regex/RE$ParseCharClassResult.class
      new file mode 100644
      index 00000000000..e7e5fac75f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RE$ParseCharClassResult.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RE.class b/libjava/classpath/lib/gnu/java/util/regex/RE.class
      new file mode 100644
      index 00000000000..d2b08dade12
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RE.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/REException.class b/libjava/classpath/lib/gnu/java/util/regex/REException.class
      new file mode 100644
      index 00000000000..03dd2facb4a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/REException.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/REFilterInputStream.class b/libjava/classpath/lib/gnu/java/util/regex/REFilterInputStream.class
      new file mode 100644
      index 00000000000..46830048af8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/REFilterInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/REMatch.class b/libjava/classpath/lib/gnu/java/util/regex/REMatch.class
      new file mode 100644
      index 00000000000..aa08c348abc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/REMatch.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/REMatchEnumeration.class b/libjava/classpath/lib/gnu/java/util/regex/REMatchEnumeration.class
      new file mode 100644
      index 00000000000..d3f9af9c84e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/REMatchEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RESyntax.class b/libjava/classpath/lib/gnu/java/util/regex/RESyntax.class
      new file mode 100644
      index 00000000000..6c630cb677b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RESyntax.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/REToken.class b/libjava/classpath/lib/gnu/java/util/regex/REToken.class
      new file mode 100644
      index 00000000000..4d639446e7d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/REToken.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenAny.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenAny.class
      new file mode 100644
      index 00000000000..f41668e1ba9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenAny.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenBackRef.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenBackRef.class
      new file mode 100644
      index 00000000000..72d37f4d897
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenBackRef.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class
      new file mode 100644
      index 00000000000..0d9a72acdf6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenChar.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenEnd.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenEnd.class
      new file mode 100644
      index 00000000000..47cd3b90e59
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenEnd.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenEndOfPreviousMatch.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenEndOfPreviousMatch.class
      new file mode 100644
      index 00000000000..a5a3db55d13
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenEndOfPreviousMatch.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenEndSub.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenEndSub.class
      new file mode 100644
      index 00000000000..15fd74c5ad2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenEndSub.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenIndependent.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenIndependent.class
      new file mode 100644
      index 00000000000..ae764c80b6c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenIndependent.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenLookAhead.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenLookAhead.class
      new file mode 100644
      index 00000000000..a77b64b1951
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenLookAhead.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.class
      new file mode 100644
      index 00000000000..9c8b3a3deb7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind.class
      new file mode 100644
      index 00000000000..3e09060fd27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenLookBehind.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class
      new file mode 100644
      index 00000000000..109851311fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$1.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$Handler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$Handler.class
      new file mode 100644
      index 00000000000..64eefa696ce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class
      new file mode 100644
      index 00000000000..8ac5ab21aa0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class
      new file mode 100644
      index 00000000000..5807ea3d6b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class
      new file mode 100644
      index 00000000000..9a0cdb5359e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class
      new file mode 100644
      index 00000000000..fb099b6b9b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class
      new file mode 100644
      index 00000000000..c4e36ae6629
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenNamedProperty.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class
      new file mode 100644
      index 00000000000..2606bd63e0f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenOneOf.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenPOSIX.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenPOSIX.class
      new file mode 100644
      index 00000000000..6db3c463cf1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenPOSIX.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRange.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRange.class
      new file mode 100644
      index 00000000000..e5ec4b23bb8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRange.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class
      new file mode 100644
      index 00000000000..5fa7c5e5aac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$DoablesFinder.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class
      new file mode 100644
      index 00000000000..f73abcb1861
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControl.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class
      new file mode 100644
      index 00000000000..b13752e34a3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class
      new file mode 100644
      index 00000000000..cea639307b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$StackedInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.class
      new file mode 100644
      index 00000000000..cc1574552ae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class
      new file mode 100644
      index 00000000000..b3570c14063
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenRepeated.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenStart.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenStart.class
      new file mode 100644
      index 00000000000..c1bfc44dbf2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenStart.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/RETokenWordBoundary.class b/libjava/classpath/lib/gnu/java/util/regex/RETokenWordBoundary.class
      new file mode 100644
      index 00000000000..e83e5fd23fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/RETokenWordBoundary.class differ
      diff --git a/libjava/classpath/lib/gnu/java/util/regex/UncheckedRE.class b/libjava/classpath/lib/gnu/java/util/regex/UncheckedRE.class
      new file mode 100644
      index 00000000000..e9684862f53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/java/util/regex/UncheckedRE.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/RSACipherImpl.class b/libjava/classpath/lib/gnu/javax/crypto/RSACipherImpl.class
      new file mode 100644
      index 00000000000..154be44ca2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/RSACipherImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Assembly.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Assembly.class
      new file mode 100644
      index 00000000000..2d5c0e1d2d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Assembly.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class
      new file mode 100644
      index 00000000000..171e508bf8c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Cascade.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeStage.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeStage.class
      new file mode 100644
      index 00000000000..ca41b8b06a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeStage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeTransformer.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeTransformer.class
      new file mode 100644
      index 00000000000..64e5a14190b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/CascadeTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/DeflateTransformer.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/DeflateTransformer.class
      new file mode 100644
      index 00000000000..9b47c8c5650
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/DeflateTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Direction.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Direction.class
      new file mode 100644
      index 00000000000..fb994978e4b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Direction.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/LoopbackTransformer.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/LoopbackTransformer.class
      new file mode 100644
      index 00000000000..34ff3fc6e97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/LoopbackTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/ModeStage.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/ModeStage.class
      new file mode 100644
      index 00000000000..bb7f8859c78
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/ModeStage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Operation.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Operation.class
      new file mode 100644
      index 00000000000..69dbdacc54e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Operation.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/PaddingTransformer.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/PaddingTransformer.class
      new file mode 100644
      index 00000000000..24c6e27e98c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/PaddingTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Stage.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Stage.class
      new file mode 100644
      index 00000000000..03019f30ac8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Stage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/Transformer.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/Transformer.class
      new file mode 100644
      index 00000000000..e5850c4f081
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/Transformer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/assembly/TransformerException.class b/libjava/classpath/lib/gnu/javax/crypto/assembly/TransformerException.class
      new file mode 100644
      index 00000000000..6b37720404e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/assembly/TransformerException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Anubis.class
      new file mode 100644
      index 00000000000..81dca322c34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/BaseCipher.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/BaseCipher.class
      new file mode 100644
      index 00000000000..dc48fc22ee4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/BaseCipher.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Block.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Block.class
      new file mode 100644
      index 00000000000..c46c20d4872
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Block.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Context.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Context.class
      new file mode 100644
      index 00000000000..30d5f8eee93
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish$Context.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class
      new file mode 100644
      index 00000000000..ac561249f78
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5$Cast5Key.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5$Cast5Key.class
      new file mode 100644
      index 00000000000..bb7757f8070
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5$Cast5Key.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5.class
      new file mode 100644
      index 00000000000..bb4f9697352
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/CipherFactory.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/CipherFactory.class
      new file mode 100644
      index 00000000000..4548e23b01a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/CipherFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/DES$Context.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/DES$Context.class
      new file mode 100644
      index 00000000000..5edf6fbd833
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/DES$Context.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/DES.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/DES.class
      new file mode 100644
      index 00000000000..de8e57ef5e3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipher.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipher.class
      new file mode 100644
      index 00000000000..be921c15829
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipher.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipherSpi.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipherSpi.class
      new file mode 100644
      index 00000000000..4f686b20872
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/IBlockCipherSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Khazad.class
      new file mode 100644
      index 00000000000..40dd935901a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/NullCipher.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/NullCipher.class
      new file mode 100644
      index 00000000000..332e2914a6b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/NullCipher.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Rijndael.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Rijndael.class
      new file mode 100644
      index 00000000000..2e074e51f04
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Rijndael.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent$Key.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent$Key.class
      new file mode 100644
      index 00000000000..effa3851b2c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent$Key.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent.class
      new file mode 100644
      index 00000000000..6736a55b5fb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Square.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Square.class
      new file mode 100644
      index 00000000000..0900898d90b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class
      new file mode 100644
      index 00000000000..e1c47abef00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES$Context.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class
      new file mode 100644
      index 00000000000..a92b9620cc2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/Twofish.class
      new file mode 100644
      index 00000000000..74f36a673f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/cipher/WeakKeyException.class b/libjava/classpath/lib/gnu/javax/crypto/cipher/WeakKeyException.class
      new file mode 100644
      index 00000000000..2b13b7f453a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/cipher/WeakKeyException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/DiffieHellmanImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/DiffieHellmanImpl.class
      new file mode 100644
      index 00000000000..777d436d796
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/DiffieHellmanImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class
      new file mode 100644
      index 00000000000..13b01ac78da
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class
      new file mode 100644
      index 00000000000..746da7bb610
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuCrypto.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class
      new file mode 100644
      index 00000000000..039f92cb0b0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class
      new file mode 100644
      index 00000000000..cad5a40b7fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/GnuSasl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.class
      new file mode 100644
      index 00000000000..593f4c3bce0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.class
      new file mode 100644
      index 00000000000..bb69c04be6e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.class
      new file mode 100644
      index 00000000000..8f0da33e1b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.class
      new file mode 100644
      index 00000000000..0bbb39ca25b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.class
      new file mode 100644
      index 00000000000..a3238132001
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.class
      new file mode 100644
      index 00000000000..e1cd7d86c2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.class
      new file mode 100644
      index 00000000000..9fd94f73360
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.class
      new file mode 100644
      index 00000000000..23d2192b26c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.class
      new file mode 100644
      index 00000000000..f0b86274a1a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.class
      new file mode 100644
      index 00000000000..bfee628bffe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.class
      new file mode 100644
      index 00000000000..77213f4b154
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.class
      new file mode 100644
      index 00000000000..cc418647da5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.class b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.class
      new file mode 100644
      index 00000000000..4497929739d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.class
      new file mode 100644
      index 00000000000..34a075a3ba7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.class
      new file mode 100644
      index 00000000000..cdf9ac289d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.class
      new file mode 100644
      index 00000000000..7755f91c203
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.class
      new file mode 100644
      index 00000000000..e40e028002e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESSpi.class
      new file mode 100644
      index 00000000000..268adb81c16
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AESSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/ARCFourSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/ARCFourSpi.class
      new file mode 100644
      index 00000000000..f1bf06f8f49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/ARCFourSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AnubisSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AnubisSpi.class
      new file mode 100644
      index 00000000000..b1b9f438158
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/AnubisSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/BlowfishSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/BlowfishSpi.class
      new file mode 100644
      index 00000000000..4b5a1308e7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/BlowfishSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/Cast5Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/Cast5Spi.class
      new file mode 100644
      index 00000000000..767b8902d2d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/Cast5Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/CipherAdapter.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/CipherAdapter.class
      new file mode 100644
      index 00000000000..91f2649b852
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/CipherAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/DESSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/DESSpi.class
      new file mode 100644
      index 00000000000..91e1931b6c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/DESSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.class
      new file mode 100644
      index 00000000000..172c5bb2934
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KhazadSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KhazadSpi.class
      new file mode 100644
      index 00000000000..0c133eab682
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/KhazadSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/NullCipherSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/NullCipherSpi.class
      new file mode 100644
      index 00000000000..f6796be3adf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/NullCipherSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.class
      new file mode 100644
      index 00000000000..9aeda4489e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.class
      new file mode 100644
      index 00000000000..a3bb8bbbdf4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.class
      new file mode 100644
      index 00000000000..bad376a9460
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.class
      new file mode 100644
      index 00000000000..fd458d97c07
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.class
      new file mode 100644
      index 00000000000..ef111d4f87b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.class
      new file mode 100644
      index 00000000000..185d966ca3e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.class
      new file mode 100644
      index 00000000000..098c4a88693
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.class
      new file mode 100644
      index 00000000000..58d1c9eda3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.class
      new file mode 100644
      index 00000000000..9fc6cac7f28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.class
      new file mode 100644
      index 00000000000..c869e58b08b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.class
      new file mode 100644
      index 00000000000..5a2d9d07840
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.class
      new file mode 100644
      index 00000000000..5055d05711b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.class
      new file mode 100644
      index 00000000000..6d12fd65a02
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.class
      new file mode 100644
      index 00000000000..5af49f2fe50
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.class
      new file mode 100644
      index 00000000000..4deb7839cd8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.class
      new file mode 100644
      index 00000000000..cef6bf86d41
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.class
      new file mode 100644
      index 00000000000..dfcd56b27dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.class
      new file mode 100644
      index 00000000000..f1c4c31d3b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.class
      new file mode 100644
      index 00000000000..2b96c5e2153
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.class
      new file mode 100644
      index 00000000000..4cc7e61f2d6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.class
      new file mode 100644
      index 00000000000..01a5cc85c0b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.class
      new file mode 100644
      index 00000000000..951d2d461a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.class
      new file mode 100644
      index 00000000000..764c572d193
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.class
      new file mode 100644
      index 00000000000..76eab32ca78
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.class
      new file mode 100644
      index 00000000000..07eeee4c215
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.class
      new file mode 100644
      index 00000000000..36b90c57748
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.class
      new file mode 100644
      index 00000000000..ed4e239ce98
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.class
      new file mode 100644
      index 00000000000..1b5f8115fcd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.class
      new file mode 100644
      index 00000000000..5888670ae88
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.class
      new file mode 100644
      index 00000000000..83dc11485a3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.class
      new file mode 100644
      index 00000000000..d033ef089a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.class
      new file mode 100644
      index 00000000000..1f14a5c171b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.class
      new file mode 100644
      index 00000000000..46d45f3d30d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.class
      new file mode 100644
      index 00000000000..4e8b00de248
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.class
      new file mode 100644
      index 00000000000..2834bda6446
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.class
      new file mode 100644
      index 00000000000..93e1aebee9e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.class
      new file mode 100644
      index 00000000000..e9acdf5c7ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.class
      new file mode 100644
      index 00000000000..6dbd18e6b4c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.class
      new file mode 100644
      index 00000000000..422cf816dc3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.class
      new file mode 100644
      index 00000000000..a994a84b414
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.class
      new file mode 100644
      index 00000000000..7f40d2ea87c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.class
      new file mode 100644
      index 00000000000..fcd265c0095
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.class
      new file mode 100644
      index 00000000000..d7aa6abb85d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.class
      new file mode 100644
      index 00000000000..02f11062461
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.class
      new file mode 100644
      index 00000000000..ea3973338c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.class
      new file mode 100644
      index 00000000000..60ffacb16e7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.class
      new file mode 100644
      index 00000000000..6b23e1ed04c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.class
      new file mode 100644
      index 00000000000..675a03203c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.class
      new file mode 100644
      index 00000000000..eb13f91b568
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.class
      new file mode 100644
      index 00000000000..aec2baf7e6b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.class
      new file mode 100644
      index 00000000000..12a41e920b0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.class
      new file mode 100644
      index 00000000000..a5a201e45be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.class
      new file mode 100644
      index 00000000000..0ccba04988b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.class
      new file mode 100644
      index 00000000000..f2b60be6884
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.class
      new file mode 100644
      index 00000000000..53e3a02b28f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.class
      new file mode 100644
      index 00000000000..a633fe26ec0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.class
      new file mode 100644
      index 00000000000..0d15238d8ce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.class
      new file mode 100644
      index 00000000000..1e635f22990
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.class
      new file mode 100644
      index 00000000000..b478acce27e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.class
      new file mode 100644
      index 00000000000..1b1288aa535
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.class
      new file mode 100644
      index 00000000000..b8499e1c8b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.class
      new file mode 100644
      index 00000000000..f922f8199bc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.class
      new file mode 100644
      index 00000000000..17118c6d583
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.class
      new file mode 100644
      index 00000000000..789ab4d6d06
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.class
      new file mode 100644
      index 00000000000..8c0ad6765d1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.class
      new file mode 100644
      index 00000000000..a7a532635e7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.class
      new file mode 100644
      index 00000000000..3a04a90d341
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.class
      new file mode 100644
      index 00000000000..961cb32f90e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.class
      new file mode 100644
      index 00000000000..3eb8deaed0d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.class
      new file mode 100644
      index 00000000000..8ac55be5d27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.class
      new file mode 100644
      index 00000000000..91488005a71
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.class
      new file mode 100644
      index 00000000000..89754165e1c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.class
      new file mode 100644
      index 00000000000..2276d36f7ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.class
      new file mode 100644
      index 00000000000..17957937de1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.class
      new file mode 100644
      index 00000000000..d31fe635fad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.class
      new file mode 100644
      index 00000000000..9d12d74ba2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.class
      new file mode 100644
      index 00000000000..ea88cade8e4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.class
      new file mode 100644
      index 00000000000..254537a4b2d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.class
      new file mode 100644
      index 00000000000..23f036eebc1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.class
      new file mode 100644
      index 00000000000..ce38efe190b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.class
      new file mode 100644
      index 00000000000..a6750d9b9d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.class
      new file mode 100644
      index 00000000000..3c4bed0e852
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.class
      new file mode 100644
      index 00000000000..89a356e67b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.class
      new file mode 100644
      index 00000000000..25c9f924e10
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.class
      new file mode 100644
      index 00000000000..c1b509b42f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.class
      new file mode 100644
      index 00000000000..9632900ebed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.class
      new file mode 100644
      index 00000000000..aef1323e4ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.class
      new file mode 100644
      index 00000000000..09987b56230
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.class
      new file mode 100644
      index 00000000000..e3b64f532f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.class
      new file mode 100644
      index 00000000000..91b351de587
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.class
      new file mode 100644
      index 00000000000..811609ae3db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.class
      new file mode 100644
      index 00000000000..7ad49d92832
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.class
      new file mode 100644
      index 00000000000..0aa1d6376ef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.class
      new file mode 100644
      index 00000000000..e01232584e4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.class
      new file mode 100644
      index 00000000000..3b002970369
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.class
      new file mode 100644
      index 00000000000..6a5f44146f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.class
      new file mode 100644
      index 00000000000..5a40a1f5988
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.class
      new file mode 100644
      index 00000000000..c743a62cbc2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.class
      new file mode 100644
      index 00000000000..2a8b1776eff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.class
      new file mode 100644
      index 00000000000..1470121544d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.class
      new file mode 100644
      index 00000000000..2c776e85cfe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.class
      new file mode 100644
      index 00000000000..cbc2e47bb7f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.class
      new file mode 100644
      index 00000000000..cd0feeda22b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.class
      new file mode 100644
      index 00000000000..ad9d2541493
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.class
      new file mode 100644
      index 00000000000..e37e63f9f5d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.class
      new file mode 100644
      index 00000000000..5459f9a0edc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.class
      new file mode 100644
      index 00000000000..5f7786b9ada
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.class
      new file mode 100644
      index 00000000000..ba1edd4ede9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.class
      new file mode 100644
      index 00000000000..d4d3d7d5581
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.class
      new file mode 100644
      index 00000000000..1d608201cc1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.class
      new file mode 100644
      index 00000000000..c84ed67fc34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.class
      new file mode 100644
      index 00000000000..2645583248d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.class
      new file mode 100644
      index 00000000000..e5e01317a49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.class
      new file mode 100644
      index 00000000000..c02333fa0d6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.class
      new file mode 100644
      index 00000000000..25e9e19bf83
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.class
      new file mode 100644
      index 00000000000..1a74a38d9f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.class
      new file mode 100644
      index 00000000000..1f3e1ec07da
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.class
      new file mode 100644
      index 00000000000..9429d491e34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.class
      new file mode 100644
      index 00000000000..3f7ca86b8b0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.class
      new file mode 100644
      index 00000000000..354b5b25fb1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.class
      new file mode 100644
      index 00000000000..7fac486914f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.class
      new file mode 100644
      index 00000000000..14d17e983d4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.class
      new file mode 100644
      index 00000000000..5482386eb60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.class
      new file mode 100644
      index 00000000000..6d5c34e543c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.class
      new file mode 100644
      index 00000000000..f1096cce1dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.class
      new file mode 100644
      index 00000000000..2c761635f72
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.class
      new file mode 100644
      index 00000000000..f485a804102
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.class
      new file mode 100644
      index 00000000000..887c846443e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.class
      new file mode 100644
      index 00000000000..29b8389d627
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.class
      new file mode 100644
      index 00000000000..887dc9d13e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.class
      new file mode 100644
      index 00000000000..fda3802ebb5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.class
      new file mode 100644
      index 00000000000..794f2c113b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class
      new file mode 100644
      index 00000000000..f82f244bb56
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/PBES2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/RijndaelSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/RijndaelSpi.class
      new file mode 100644
      index 00000000000..225be83f675
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/RijndaelSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SerpentSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SerpentSpi.class
      new file mode 100644
      index 00000000000..c1791f9f0a9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SerpentSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SquareSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SquareSpi.class
      new file mode 100644
      index 00000000000..8d5c25c8431
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/SquareSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.class
      new file mode 100644
      index 00000000000..cd1e9b0cb6a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESSpi.class
      new file mode 100644
      index 00000000000..0feb2cb07dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TripleDESSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TwofishSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TwofishSpi.class
      new file mode 100644
      index 00000000000..e2d48984299
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/cipher/TwofishSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..14b129724f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..174f53e421f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..5550f50e1f8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..d176027eb50
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..b2e45be7c9d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..08f86a58ee7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..bc3ec363d4f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..e64eb900b28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..a8e7c2577fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..815b3ff6a5f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..7b5b0cc27c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..2a7b461693d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..cae0da3208d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..4ecb9f067e3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..d66c81e6fd3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..3d46a1c60cc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..327a65519e0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..408fe816246
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..9fa94579f18
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..4621cde694c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.class
      new file mode 100644
      index 00000000000..6f0d4497cb6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.class
      new file mode 100644
      index 00000000000..c4ad7fc780b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/keyring/GnuKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/jce/keyring/GnuKeyring.class
      new file mode 100644
      index 00000000000..4aa0694df0f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/keyring/GnuKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacHavalSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacHavalSpi.class
      new file mode 100644
      index 00000000000..5647594400a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacHavalSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD2Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD2Spi.class
      new file mode 100644
      index 00000000000..f87845df244
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD2Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD4Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD4Spi.class
      new file mode 100644
      index 00000000000..d7442b2e3e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD4Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD5Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD5Spi.class
      new file mode 100644
      index 00000000000..c2b04f19881
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacMD5Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.class
      new file mode 100644
      index 00000000000..1aeb2c6cebd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.class
      new file mode 100644
      index 00000000000..472f488f3bf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA160Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA160Spi.class
      new file mode 100644
      index 00000000000..e2114629bb8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA160Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA256Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA256Spi.class
      new file mode 100644
      index 00000000000..d5355c1999f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA256Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA384Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA384Spi.class
      new file mode 100644
      index 00000000000..eb31def4ecc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA384Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA512Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA512Spi.class
      new file mode 100644
      index 00000000000..b64fc623d90
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacSHA512Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacTigerSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacTigerSpi.class
      new file mode 100644
      index 00000000000..d995497a82f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacTigerSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.class
      new file mode 100644
      index 00000000000..6c56d2e8ee3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/MacAdapter.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/MacAdapter.class
      new file mode 100644
      index 00000000000..08d9ad164d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/MacAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacAnubisImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacAnubisImpl.class
      new file mode 100644
      index 00000000000..cd8c33c1adc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacAnubisImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.class
      new file mode 100644
      index 00000000000..aa2fb8251b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacCast5Impl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacCast5Impl.class
      new file mode 100644
      index 00000000000..10db59be166
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacCast5Impl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacDESImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacDESImpl.class
      new file mode 100644
      index 00000000000..4010a1097a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacDESImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.class
      new file mode 100644
      index 00000000000..f08262006e8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.class
      new file mode 100644
      index 00000000000..7988e67a1d5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.class
      new file mode 100644
      index 00000000000..255c05e1d14
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$DES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$DES.class
      new file mode 100644
      index 00000000000..471a25e1260
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$DES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.class
      new file mode 100644
      index 00000000000..6600160d4c3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.class
      new file mode 100644
      index 00000000000..7837efc974c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.class
      new file mode 100644
      index 00000000000..328f5dffb3a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Square.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Square.class
      new file mode 100644
      index 00000000000..cec0a630305
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Square.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.class
      new file mode 100644
      index 00000000000..d1f77800722
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.class
      new file mode 100644
      index 00000000000..c497e637eda
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl.class
      new file mode 100644
      index 00000000000..a0149939a98
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacKhazadImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacKhazadImpl.class
      new file mode 100644
      index 00000000000..b64d4926e00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacKhazadImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.class
      new file mode 100644
      index 00000000000..5d88093668b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSerpentImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSerpentImpl.class
      new file mode 100644
      index 00000000000..c47eb5404dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSerpentImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSquareImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSquareImpl.class
      new file mode 100644
      index 00000000000..4040fa8aee3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacSquareImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.class
      new file mode 100644
      index 00000000000..e6c390c610d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTwofishImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTwofishImpl.class
      new file mode 100644
      index 00000000000..ce7041da24a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/OMacTwofishImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/TMMH16Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/TMMH16Spi.class
      new file mode 100644
      index 00000000000..17a67ecc72a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/TMMH16Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/UHash32Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/UHash32Spi.class
      new file mode 100644
      index 00000000000..eaf7c1b1807
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/UHash32Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/mac/UMac32Spi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/UMac32Spi.class
      new file mode 100644
      index 00000000000..506ad50e2a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/mac/UMac32Spi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/params/BlockCipherParameters.class b/libjava/classpath/lib/gnu/javax/crypto/jce/params/BlockCipherParameters.class
      new file mode 100644
      index 00000000000..733b746319f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/params/BlockCipherParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/params/DEREncodingException.class b/libjava/classpath/lib/gnu/javax/crypto/jce/params/DEREncodingException.class
      new file mode 100644
      index 00000000000..ab9166b5be5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/params/DEREncodingException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/params/DERReader.class b/libjava/classpath/lib/gnu/javax/crypto/jce/params/DERReader.class
      new file mode 100644
      index 00000000000..e9489a5b224
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/params/DERReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/params/DERWriter.class b/libjava/classpath/lib/gnu/javax/crypto/jce/params/DERWriter.class
      new file mode 100644
      index 00000000000..d974a1510fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/params/DERWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.class
      new file mode 100644
      index 00000000000..1adddb1be0c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/prng/CSPRNGSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/CSPRNGSpi.class
      new file mode 100644
      index 00000000000..c10db7a1e0d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/CSPRNGSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/prng/FortunaImpl.class b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/FortunaImpl.class
      new file mode 100644
      index 00000000000..817c972c95d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/FortunaImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/prng/ICMRandomSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/ICMRandomSpi.class
      new file mode 100644
      index 00000000000..747f0032817
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/ICMRandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/prng/UMacRandomSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/UMacRandomSpi.class
      new file mode 100644
      index 00000000000..214773133bf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/prng/UMacRandomSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyFactory.class b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyFactory.class
      new file mode 100644
      index 00000000000..2111a7b9e06
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.class b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.class
      new file mode 100644
      index 00000000000..0a6560ca21b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParameters.class b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParameters.class
      new file mode 100644
      index 00000000000..39c15bce981
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParametersGenerator.class b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParametersGenerator.class
      new file mode 100644
      index 00000000000..b11159bed13
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/sig/DHParametersGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.class b/libjava/classpath/lib/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.class
      new file mode 100644
      index 00000000000..5156be2e8ec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/spec/TMMHParameterSpec.class b/libjava/classpath/lib/gnu/javax/crypto/jce/spec/TMMHParameterSpec.class
      new file mode 100644
      index 00000000000..890ba8ae194
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/spec/TMMHParameterSpec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.class b/libjava/classpath/lib/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.class
      new file mode 100644
      index 00000000000..64639b0a11c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/BaseKeyAgreementParty.class b/libjava/classpath/lib/gnu/javax/crypto/key/BaseKeyAgreementParty.class
      new file mode 100644
      index 00000000000..634d0bb7972
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/BaseKeyAgreementParty.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/GnuPBEKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/GnuPBEKey.class
      new file mode 100644
      index 00000000000..1b4c4293f80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/GnuPBEKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/GnuSecretKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/GnuSecretKey.class
      new file mode 100644
      index 00000000000..f19c4bc4ee9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/GnuSecretKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/IKeyAgreementParty.class b/libjava/classpath/lib/gnu/javax/crypto/key/IKeyAgreementParty.class
      new file mode 100644
      index 00000000000..96da8838ee2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/IKeyAgreementParty.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/IncomingMessage.class b/libjava/classpath/lib/gnu/javax/crypto/key/IncomingMessage.class
      new file mode 100644
      index 00000000000..2275acfffb9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/IncomingMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementException.class b/libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementException.class
      new file mode 100644
      index 00000000000..d56655ed3a6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementFactory.class b/libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementFactory.class
      new file mode 100644
      index 00000000000..9d26b5d0943
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/KeyAgreementFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/OutgoingMessage.class b/libjava/classpath/lib/gnu/javax/crypto/key/OutgoingMessage.class
      new file mode 100644
      index 00000000000..5bf101b6f8a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/OutgoingMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.class
      new file mode 100644
      index 00000000000..251a2997cdd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.class
      new file mode 100644
      index 00000000000..60a83476580
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.class
      new file mode 100644
      index 00000000000..f05804fd185
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.class
      new file mode 100644
      index 00000000000..eb5ce608d13
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.class
      new file mode 100644
      index 00000000000..cdc4b3e0d32
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanSender.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanSender.class
      new file mode 100644
      index 00000000000..71253615473
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/DiffieHellmanSender.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.class
      new file mode 100644
      index 00000000000..e321d6c1eea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalReceiver.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalReceiver.class
      new file mode 100644
      index 00000000000..24c52c99dcd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalReceiver.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalSender.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalSender.class
      new file mode 100644
      index 00000000000..6a1edcab3f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/ElGamalSender.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKey.class
      new file mode 100644
      index 00000000000..ae3a53fd4d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.class
      new file mode 100644
      index 00000000000..21708e4f450
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class
      new file mode 100644
      index 00000000000..ea6c6c3dbb9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPrivateKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class
      new file mode 100644
      index 00000000000..4ce1e3aa7a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/GnuDHPublicKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/dh/RFC2631.class b/libjava/classpath/lib/gnu/javax/crypto/key/dh/RFC2631.class
      new file mode 100644
      index 00000000000..6fde5f69b8b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/dh/RFC2631.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6Host.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6Host.class
      new file mode 100644
      index 00000000000..26a7ff42701
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6Host.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.class
      new file mode 100644
      index 00000000000..9122ca787b9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslClient.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslClient.class
      new file mode 100644
      index 00000000000..0255854fa80
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslClient.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslServer.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslServer.class
      new file mode 100644
      index 00000000000..401fed7a5ff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6SaslServer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSClient.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSClient.class
      new file mode 100644
      index 00000000000..158119e4f8a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSClient.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSServer.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSServer.class
      new file mode 100644
      index 00000000000..6278669cd2c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6TLSServer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6User.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6User.class
      new file mode 100644
      index 00000000000..c37bd3b210b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRP6User.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPAlgorithm.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPAlgorithm.class
      new file mode 100644
      index 00000000000..32cc96a1bdf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKey.class
      new file mode 100644
      index 00000000000..d98f9332e00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.class
      new file mode 100644
      index 00000000000..74565271313
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.class
      new file mode 100644
      index 00000000000..e34b81e38ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPrivateKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPrivateKey.class
      new file mode 100644
      index 00000000000..10b2065104d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPrivateKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPublicKey.class b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPublicKey.class
      new file mode 100644
      index 00000000000..8083719df0b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/key/srp6/SRPPublicKey.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/AuthenticatedEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/AuthenticatedEntry.class
      new file mode 100644
      index 00000000000..bdca3a13825
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/AuthenticatedEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/BaseKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/BaseKeyring.class
      new file mode 100644
      index 00000000000..d57b08a95e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/BaseKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/BinaryDataEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/BinaryDataEntry.class
      new file mode 100644
      index 00000000000..f2a5db7fac2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/BinaryDataEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/CertPathEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/CertPathEntry.class
      new file mode 100644
      index 00000000000..fe5083ff83e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/CertPathEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/CertificateEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/CertificateEntry.class
      new file mode 100644
      index 00000000000..d732dc661a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/CertificateEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/CompressedEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/CompressedEntry.class
      new file mode 100644
      index 00000000000..f1955ca0afb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/CompressedEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/EncryptedEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/EncryptedEntry.class
      new file mode 100644
      index 00000000000..c9125f334be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/EncryptedEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/Entry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/Entry.class
      new file mode 100644
      index 00000000000..15feb5cdb2e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/Entry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/EnvelopeEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/EnvelopeEntry.class
      new file mode 100644
      index 00000000000..d2ba95df2aa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/EnvelopeEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPrivateKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPrivateKeyring.class
      new file mode 100644
      index 00000000000..e270487ff75
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPrivateKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPublicKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPublicKeyring.class
      new file mode 100644
      index 00000000000..af49c02363b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/GnuPublicKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/IKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/IKeyring.class
      new file mode 100644
      index 00000000000..cbfd18fc5b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/IKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/IPrivateKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/IPrivateKeyring.class
      new file mode 100644
      index 00000000000..9c575e139d6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/IPrivateKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/IPublicKeyring.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/IPublicKeyring.class
      new file mode 100644
      index 00000000000..d494a27c4ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/IPublicKeyring.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/MalformedKeyringException.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/MalformedKeyringException.class
      new file mode 100644
      index 00000000000..62afc92739a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/MalformedKeyringException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.class
      new file mode 100644
      index 00000000000..a847d81a2e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/MeteredInputStream.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/MeteredInputStream.class
      new file mode 100644
      index 00000000000..e179a91954f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/MeteredInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.class
      new file mode 100644
      index 00000000000..ccc911035a1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordEncryptedEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordEncryptedEntry.class
      new file mode 100644
      index 00000000000..15f4eb45dda
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordEncryptedEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordProtectedEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordProtectedEntry.class
      new file mode 100644
      index 00000000000..1b2578e9b16
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/PasswordProtectedEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/PrimitiveEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/PrimitiveEntry.class
      new file mode 100644
      index 00000000000..ed589f5bdd5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/PrimitiveEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/PrivateKeyEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/PrivateKeyEntry.class
      new file mode 100644
      index 00000000000..024cdb30811
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/PrivateKeyEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class
      new file mode 100644
      index 00000000000..1a02d62dc28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/Properties.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/keyring/PublicKeyEntry.class b/libjava/classpath/lib/gnu/javax/crypto/keyring/PublicKeyEntry.class
      new file mode 100644
      index 00000000000..21447b519f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/keyring/PublicKeyEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/kwa/AESKeyWrap.class b/libjava/classpath/lib/gnu/javax/crypto/kwa/AESKeyWrap.class
      new file mode 100644
      index 00000000000..cc53cc89b33
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/kwa/AESKeyWrap.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.class b/libjava/classpath/lib/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.class
      new file mode 100644
      index 00000000000..2d15a56c879
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.class b/libjava/classpath/lib/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.class
      new file mode 100644
      index 00000000000..06256a9966a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/kwa/KeyUnwrappingException.class b/libjava/classpath/lib/gnu/javax/crypto/kwa/KeyUnwrappingException.class
      new file mode 100644
      index 00000000000..5fb8b4684d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/kwa/KeyUnwrappingException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.class b/libjava/classpath/lib/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.class
      new file mode 100644
      index 00000000000..1c3b89b8b60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/kwa/TripleDESKeyWrap.class b/libjava/classpath/lib/gnu/javax/crypto/kwa/TripleDESKeyWrap.class
      new file mode 100644
      index 00000000000..544e205e436
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/kwa/TripleDESKeyWrap.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/BaseMac.class b/libjava/classpath/lib/gnu/javax/crypto/mac/BaseMac.class
      new file mode 100644
      index 00000000000..d617c4426c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/BaseMac.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/HMac.class b/libjava/classpath/lib/gnu/javax/crypto/mac/HMac.class
      new file mode 100644
      index 00000000000..5cb2ef2c2e8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/HMac.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/HMacFactory.class b/libjava/classpath/lib/gnu/javax/crypto/mac/HMacFactory.class
      new file mode 100644
      index 00000000000..3d2608d1843
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/HMacFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/IMac.class b/libjava/classpath/lib/gnu/javax/crypto/mac/IMac.class
      new file mode 100644
      index 00000000000..21fcbdbd869
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/IMac.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/MacFactory.class b/libjava/classpath/lib/gnu/javax/crypto/mac/MacFactory.class
      new file mode 100644
      index 00000000000..c3ed66a258e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/MacFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/MacInputStream.class b/libjava/classpath/lib/gnu/javax/crypto/mac/MacInputStream.class
      new file mode 100644
      index 00000000000..b862aedb6c0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/MacInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/MacOutputStream.class b/libjava/classpath/lib/gnu/javax/crypto/mac/MacOutputStream.class
      new file mode 100644
      index 00000000000..87a03e55e0e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/MacOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/OMAC.class b/libjava/classpath/lib/gnu/javax/crypto/mac/OMAC.class
      new file mode 100644
      index 00000000000..449ad35b322
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/OMAC.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/TMMH16.class b/libjava/classpath/lib/gnu/javax/crypto/mac/TMMH16.class
      new file mode 100644
      index 00000000000..e245bda88d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/TMMH16.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class
      new file mode 100644
      index 00000000000..f6276a81a15
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L1Hash32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L2Hash32.class b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L2Hash32.class
      new file mode 100644
      index 00000000000..7f57ef27334
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L2Hash32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L3Hash32.class b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L3Hash32.class
      new file mode 100644
      index 00000000000..8f721424fca
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32$L3Hash32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32.class b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32.class
      new file mode 100644
      index 00000000000..afa01f824be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/UHash32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mac/UMac32.class b/libjava/classpath/lib/gnu/javax/crypto/mac/UMac32.class
      new file mode 100644
      index 00000000000..c0df13dc3a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mac/UMac32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/BaseMode.class b/libjava/classpath/lib/gnu/javax/crypto/mode/BaseMode.class
      new file mode 100644
      index 00000000000..f608e3f6363
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/BaseMode.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/CBC.class b/libjava/classpath/lib/gnu/javax/crypto/mode/CBC.class
      new file mode 100644
      index 00000000000..631dd8f3a83
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/CBC.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/CFB.class b/libjava/classpath/lib/gnu/javax/crypto/mode/CFB.class
      new file mode 100644
      index 00000000000..df8c22fbd37
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/CFB.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/CTR.class b/libjava/classpath/lib/gnu/javax/crypto/mode/CTR.class
      new file mode 100644
      index 00000000000..471a2bdc029
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/CTR.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/EAX.class b/libjava/classpath/lib/gnu/javax/crypto/mode/EAX.class
      new file mode 100644
      index 00000000000..3bc66f205ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/EAX.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/ECB.class b/libjava/classpath/lib/gnu/javax/crypto/mode/ECB.class
      new file mode 100644
      index 00000000000..cdd23851060
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/ECB.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/IAuthenticatedMode.class b/libjava/classpath/lib/gnu/javax/crypto/mode/IAuthenticatedMode.class
      new file mode 100644
      index 00000000000..c2778aca6b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/IAuthenticatedMode.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/ICM.class b/libjava/classpath/lib/gnu/javax/crypto/mode/ICM.class
      new file mode 100644
      index 00000000000..cbfff4b4f45
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/ICM.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/IMode.class b/libjava/classpath/lib/gnu/javax/crypto/mode/IMode.class
      new file mode 100644
      index 00000000000..fa3408e851d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/IMode.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/ModeFactory.class b/libjava/classpath/lib/gnu/javax/crypto/mode/ModeFactory.class
      new file mode 100644
      index 00000000000..81f85823a7e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/ModeFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/mode/OFB.class b/libjava/classpath/lib/gnu/javax/crypto/mode/OFB.class
      new file mode 100644
      index 00000000000..faf5fa22f6c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/mode/OFB.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/BasePad.class b/libjava/classpath/lib/gnu/javax/crypto/pad/BasePad.class
      new file mode 100644
      index 00000000000..8c8468361ff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/BasePad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/IPad.class b/libjava/classpath/lib/gnu/javax/crypto/pad/IPad.class
      new file mode 100644
      index 00000000000..772670851cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/IPad.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/ISO10126.class b/libjava/classpath/lib/gnu/javax/crypto/pad/ISO10126.class
      new file mode 100644
      index 00000000000..02c8a312efa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/ISO10126.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/PKCS1_V1_5.class b/libjava/classpath/lib/gnu/javax/crypto/pad/PKCS1_V1_5.class
      new file mode 100644
      index 00000000000..b7c141094f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/PKCS1_V1_5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/PKCS7.class b/libjava/classpath/lib/gnu/javax/crypto/pad/PKCS7.class
      new file mode 100644
      index 00000000000..c47e354005e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/PKCS7.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/PadFactory.class b/libjava/classpath/lib/gnu/javax/crypto/pad/PadFactory.class
      new file mode 100644
      index 00000000000..d63a84395db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/PadFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/SSL3.class b/libjava/classpath/lib/gnu/javax/crypto/pad/SSL3.class
      new file mode 100644
      index 00000000000..407a35c249a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/SSL3.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/TBC.class b/libjava/classpath/lib/gnu/javax/crypto/pad/TBC.class
      new file mode 100644
      index 00000000000..87fb7f43d67
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/TBC.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/TLS1.class b/libjava/classpath/lib/gnu/javax/crypto/pad/TLS1.class
      new file mode 100644
      index 00000000000..877195e7bb3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/TLS1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/pad/WrongPaddingException.class b/libjava/classpath/lib/gnu/javax/crypto/pad/WrongPaddingException.class
      new file mode 100644
      index 00000000000..b733e14c5eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/pad/WrongPaddingException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/ARCFour.class b/libjava/classpath/lib/gnu/javax/crypto/prng/ARCFour.class
      new file mode 100644
      index 00000000000..35a40c04b53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/ARCFour.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class
      new file mode 100644
      index 00000000000..c7592d24057
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class
      new file mode 100644
      index 00000000000..ebb8e4a2d3a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Poller.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Spinner.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Spinner.class
      new file mode 100644
      index 00000000000..937382eab7c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG$Spinner.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class
      new file mode 100644
      index 00000000000..537fe2f5fc7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/CSPRNG.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna$Generator.class b/libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna$Generator.class
      new file mode 100644
      index 00000000000..1b7c9283160
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna$Generator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna.class b/libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna.class
      new file mode 100644
      index 00000000000..b74d5da8738
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/Fortuna.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class b/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class
      new file mode 100644
      index 00000000000..9c38cdf1799
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/ICMGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/IPBE.class b/libjava/classpath/lib/gnu/javax/crypto/prng/IPBE.class
      new file mode 100644
      index 00000000000..6ddd98ad499
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/IPBE.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/PBKDF2.class b/libjava/classpath/lib/gnu/javax/crypto/prng/PBKDF2.class
      new file mode 100644
      index 00000000000..494e88a1ff4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/PBKDF2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/PRNGFactory.class b/libjava/classpath/lib/gnu/javax/crypto/prng/PRNGFactory.class
      new file mode 100644
      index 00000000000..fda72a8a709
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/PRNGFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/prng/UMacGenerator.class b/libjava/classpath/lib/gnu/javax/crypto/prng/UMacGenerator.class
      new file mode 100644
      index 00000000000..b82bbfbbfff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/prng/UMacGenerator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfo.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfo.class
      new file mode 100644
      index 00000000000..001a63e4e4d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfoProviderFactory.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfoProviderFactory.class
      new file mode 100644
      index 00000000000..91d180d1de8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/AuthInfoProviderFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class
      new file mode 100644
      index 00000000000..02f22f692f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientMechanism.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientMechanism.class
      new file mode 100644
      index 00000000000..ce05c73f4a1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/ClientMechanism.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ConfidentialityException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ConfidentialityException.class
      new file mode 100644
      index 00000000000..a16f1efeb37
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/ConfidentialityException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProvider.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProvider.class
      new file mode 100644
      index 00000000000..26f9af2e8db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.class
      new file mode 100644
      index 00000000000..0ece0848024
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/IllegalMechanismStateException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/IllegalMechanismStateException.class
      new file mode 100644
      index 00000000000..e4804d86707
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/IllegalMechanismStateException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/InputBuffer.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/InputBuffer.class
      new file mode 100644
      index 00000000000..25b4f11c5fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/InputBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/IntegrityException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/IntegrityException.class
      new file mode 100644
      index 00000000000..b8cbebd541e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/IntegrityException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchMechanismException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchMechanismException.class
      new file mode 100644
      index 00000000000..5296788baaf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchMechanismException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchUserException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchUserException.class
      new file mode 100644
      index 00000000000..c6f042dc363
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/NoSuchUserException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/OutputBuffer.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/OutputBuffer.class
      new file mode 100644
      index 00000000000..f163d3c1265
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/OutputBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslEncodingException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslEncodingException.class
      new file mode 100644
      index 00000000000..befd9ccb2f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslEncodingException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslInputStream.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslInputStream.class
      new file mode 100644
      index 00000000000..8672abc861a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslOutputStream.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslOutputStream.class
      new file mode 100644
      index 00000000000..06036018541
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslUtil.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslUtil.class
      new file mode 100644
      index 00000000000..8a4b0211405
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/SaslUtil.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class
      new file mode 100644
      index 00000000000..a7eb9b4a2d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerMechanism.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerMechanism.class
      new file mode 100644
      index 00000000000..165e46a3f30
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/ServerMechanism.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/UserAlreadyExistsException.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/UserAlreadyExistsException.class
      new file mode 100644
      index 00000000000..48614ee35e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/UserAlreadyExistsException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousClient.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousClient.class
      new file mode 100644
      index 00000000000..d455f55e268
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousClient.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousServer.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousServer.class
      new file mode 100644
      index 00000000000..6f7e3141bd3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousServer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.class
      new file mode 100644
      index 00000000000..266dd041e8f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.class
      new file mode 100644
      index 00000000000..ff24bb4a445
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Client.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Client.class
      new file mode 100644
      index 00000000000..aa53a44ca72
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Client.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.class
      new file mode 100644
      index 00000000000..745e176636d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Server.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Server.class
      new file mode 100644
      index 00000000000..6c51063967b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Server.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Util.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Util.class
      new file mode 100644
      index 00000000000..ac4fc0bc8c4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/CramMD5Util.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/PasswordFile.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/PasswordFile.class
      new file mode 100644
      index 00000000000..51523b5a7a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/crammd5/PasswordFile.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PasswordFile.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PasswordFile.class
      new file mode 100644
      index 00000000000..b7e4cc00b58
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PasswordFile.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.class
      new file mode 100644
      index 00000000000..f62e9f89c4e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainClient.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainClient.class
      new file mode 100644
      index 00000000000..928a8694f14
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainClient.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainRegistry.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainRegistry.class
      new file mode 100644
      index 00000000000..aa70f14be44
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainRegistry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainServer.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainServer.class
      new file mode 100644
      index 00000000000..8a5f810b0f6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/plain/PlainServer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/CALG.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/CALG.class
      new file mode 100644
      index 00000000000..fdc5ffa02a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/CALG.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ClientStore.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ClientStore.class
      new file mode 100644
      index 00000000000..9c800a17428
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ClientStore.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/IALG.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/IALG.class
      new file mode 100644
      index 00000000000..0ed3d23f017
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/IALG.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/KDF.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/KDF.class
      new file mode 100644
      index 00000000000..178af34da69
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/KDF.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class
      new file mode 100644
      index 00000000000..b92fe4f6dac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/PasswordFile.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRP.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRP.class
      new file mode 100644
      index 00000000000..76c863be696
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRP.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.class
      new file mode 100644
      index 00000000000..e5ec9572b53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class
      new file mode 100644
      index 00000000000..e20ffb6333f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPClient.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPRegistry.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPRegistry.class
      new file mode 100644
      index 00000000000..4bf66fe9ffc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPRegistry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPServer.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPServer.class
      new file mode 100644
      index 00000000000..c81ddc2ec85
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SRPServer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SecurityContext.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SecurityContext.class
      new file mode 100644
      index 00000000000..3830ff959e3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/SecurityContext.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ServerStore.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ServerStore.class
      new file mode 100644
      index 00000000000..9757964c614
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/ServerStore.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/StoreEntry.class b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/StoreEntry.class
      new file mode 100644
      index 00000000000..97ed0be25ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/crypto/sasl/srp/StoreEntry.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/IIOInputStream.class b/libjava/classpath/lib/gnu/javax/imageio/IIOInputStream.class
      new file mode 100644
      index 00000000000..6ae0df103d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/IIOInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPDecoder.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPDecoder.class
      new file mode 100644
      index 00000000000..50b29cb530f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPEncoder.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPEncoder.class
      new file mode 100644
      index 00000000000..efc1a6d6692
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPEncoder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPException.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPException.class
      new file mode 100644
      index 00000000000..ad67b890440
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPFileHeader.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPFileHeader.class
      new file mode 100644
      index 00000000000..a7f09556c9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPFileHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReader.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReader.class
      new file mode 100644
      index 00000000000..3a53ab1dd3b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReaderSpi.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReaderSpi.class
      new file mode 100644
      index 00000000000..edcfcda2bf4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageReaderSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriter.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriter.class
      new file mode 100644
      index 00000000000..23934b7a076
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriterSpi.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriterSpi.class
      new file mode 100644
      index 00000000000..d29770d6e16
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPImageWriterSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPInfoHeader.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPInfoHeader.class
      new file mode 100644
      index 00000000000..3088838a42c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/BMPInfoHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF16.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF16.class
      new file mode 100644
      index 00000000000..2f65103b73c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF16.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF32.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF32.class
      new file mode 100644
      index 00000000000..a49e61efe66
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeBF32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB1.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB1.class
      new file mode 100644
      index 00000000000..6bd47877e5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB24.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB24.class
      new file mode 100644
      index 00000000000..30db342f7f6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB24.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB4.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB4.class
      new file mode 100644
      index 00000000000..2723c69ddc8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB8.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB8.class
      new file mode 100644
      index 00000000000..280e069e117
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRGB8.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class
      new file mode 100644
      index 00000000000..1fd12dde785
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class
      new file mode 100644
      index 00000000000..3395c9dc940
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/DecodeRLE8.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB1.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB1.class
      new file mode 100644
      index 00000000000..645a36027a3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB16.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB16.class
      new file mode 100644
      index 00000000000..21fa35b8382
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB16.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB24.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB24.class
      new file mode 100644
      index 00000000000..aa42a130394
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB24.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB32.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB32.class
      new file mode 100644
      index 00000000000..fe373030d4f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB32.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB4.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB4.class
      new file mode 100644
      index 00000000000..eb279534f20
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB8.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB8.class
      new file mode 100644
      index 00000000000..8c0ca496473
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRGB8.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class
      new file mode 100644
      index 00000000000..bfe8f87be2f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class
      new file mode 100644
      index 00000000000..78d8bea4b8e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/bmp/EncodeRLE8.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile$GIFException.class b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile$GIFException.class
      new file mode 100644
      index 00000000000..ea01c212780
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile$GIFException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile.class b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile.class
      new file mode 100644
      index 00000000000..535f2062232
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFFile.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class
      new file mode 100644
      index 00000000000..28bc2583ca9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReaderSpi.class b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReaderSpi.class
      new file mode 100644
      index 00000000000..5db948a7d98
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/gif/GIFImageReaderSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/DCT.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/DCT.class
      new file mode 100644
      index 00000000000..2108bde0dcb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/DCT.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/HuffmanTable.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/HuffmanTable.class
      new file mode 100644
      index 00000000000..fa94d71675d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/HuffmanTable.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGComponent.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGComponent.class
      new file mode 100644
      index 00000000000..ca2e690e050
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGComponent.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class
      new file mode 100644
      index 00000000000..f834155317a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGException.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGException.class
      new file mode 100644
      index 00000000000..0ae6fd9a3fe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGFrame.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGFrame.class
      new file mode 100644
      index 00000000000..55349a9d929
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGFrame.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageInputStream.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageInputStream.class
      new file mode 100644
      index 00000000000..4dc722d41a9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReader.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReader.class
      new file mode 100644
      index 00000000000..748767500ec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.class
      new file mode 100644
      index 00000000000..aaa0460dd50
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarker.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarker.class
      new file mode 100644
      index 00000000000..3d677aaf920
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarker.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.class
      new file mode 100644
      index 00000000000..aafc5c4d564
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGScan.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGScan.class
      new file mode 100644
      index 00000000000..19532a9c02f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/JPEGScan.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.class
      new file mode 100644
      index 00000000000..c773e197059
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/jpeg/ZigZag.class b/libjava/classpath/lib/gnu/javax/imageio/jpeg/ZigZag.class
      new file mode 100644
      index 00000000000..12c6a8952c3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/jpeg/ZigZag.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGChunk.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGChunk.class
      new file mode 100644
      index 00000000000..e5bd013ae00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGChunk.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGData.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGData.class
      new file mode 100644
      index 00000000000..5186febbb4f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGData.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class
      new file mode 100644
      index 00000000000..ab6c3034e93
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGDecoder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGEncoder.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGEncoder.class
      new file mode 100644
      index 00000000000..6712c7ecacf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGEncoder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGException.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGException.class
      new file mode 100644
      index 00000000000..8db2224ce69
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGFile.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGFile.class
      new file mode 100644
      index 00000000000..85f16e07f3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGFile.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGFilter.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGFilter.class
      new file mode 100644
      index 00000000000..b419b9ba2cd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGGamma.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGGamma.class
      new file mode 100644
      index 00000000000..a806c42419c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGGamma.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGHeader.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGHeader.class
      new file mode 100644
      index 00000000000..7cfb2b44886
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class
      new file mode 100644
      index 00000000000..ea403864db7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGICCProfile.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReader.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReader.class
      new file mode 100644
      index 00000000000..250520747c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReaderSpi.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReaderSpi.class
      new file mode 100644
      index 00000000000..ac1c7e79645
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGImageReaderSpi.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGPalette.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGPalette.class
      new file mode 100644
      index 00000000000..b553c2ff0fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGPalette.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGPhys.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGPhys.class
      new file mode 100644
      index 00000000000..483336b8e60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGPhys.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/imageio/png/PNGTime.class b/libjava/classpath/lib/gnu/javax/imageio/png/PNGTime.class
      new file mode 100644
      index 00000000000..d8c2799cb70
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/imageio/png/PNGTime.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/management/Server$ServerInfo.class b/libjava/classpath/lib/gnu/javax/management/Server$ServerInfo.class
      new file mode 100644
      index 00000000000..644d5a40574
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/management/Server$ServerInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/management/Server$ServerInputStream.class b/libjava/classpath/lib/gnu/javax/management/Server$ServerInputStream.class
      new file mode 100644
      index 00000000000..536ac420c81
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/management/Server$ServerInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/management/Server$ServerNotificationListener.class b/libjava/classpath/lib/gnu/javax/management/Server$ServerNotificationListener.class
      new file mode 100644
      index 00000000000..769500cada3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/management/Server$ServerNotificationListener.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/management/Server.class b/libjava/classpath/lib/gnu/javax/management/Server.class
      new file mode 100644
      index 00000000000..54552f00585
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/management/Server.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/ContextContinuation.class b/libjava/classpath/lib/gnu/javax/naming/giop/ContextContinuation.class
      new file mode 100644
      index 00000000000..4a60d0b0e71
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/ContextContinuation.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class b/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class
      new file mode 100644
      index 00000000000..e31b24f799f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/CorbalocParser.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingEnumeration.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingEnumeration.class
      new file mode 100644
      index 00000000000..1936b365ecc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class
      new file mode 100644
      index 00000000000..71206978915
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class
      new file mode 100644
      index 00000000000..249ecb29f3a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceURLContext.class b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceURLContext.class
      new file mode 100644
      index 00000000000..c06abb85ec6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/GiopNamingServiceURLContext.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/ListBindingsEnumeration.class b/libjava/classpath/lib/gnu/javax/naming/giop/ListBindingsEnumeration.class
      new file mode 100644
      index 00000000000..e668e217069
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/ListBindingsEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/giop/ListEnumeration.class b/libjava/classpath/lib/gnu/javax/naming/giop/ListEnumeration.class
      new file mode 100644
      index 00000000000..0232cc693f8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/giop/ListEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.class b/libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.class
      new file mode 100644
      index 00000000000..778e0419661
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName.class b/libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName.class
      new file mode 100644
      index 00000000000..23f9833499e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/ictxImpl/trans/GnuName.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.class
      new file mode 100644
      index 00000000000..8f94219ca9e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ContextContinuation.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ContextContinuation.class
      new file mode 100644
      index 00000000000..c12490e32cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ContextContinuation.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.class
      new file mode 100644
      index 00000000000..cf7b508fc97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListEnumeration.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListEnumeration.class
      new file mode 100644
      index 00000000000..ebe526a4f1a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/ListEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiContinuation.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiContinuation.class
      new file mode 100644
      index 00000000000..f8b6df6dd28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiContinuation.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.class
      new file mode 100644
      index 00000000000..a16cb51ea63
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContext.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContext.class
      new file mode 100644
      index 00000000000..b9a5f28385a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContext.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.class b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.class
      new file mode 100644
      index 00000000000..86da48cb36b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/AbstractSessionContext.class b/libjava/classpath/lib/gnu/javax/net/ssl/AbstractSessionContext.class
      new file mode 100644
      index 00000000000..e6beaf07062
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/AbstractSessionContext.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/Base64.class b/libjava/classpath/lib/gnu/javax/net/ssl/Base64.class
      new file mode 100644
      index 00000000000..dbbea5b430b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/Base64.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/EntropySource.class b/libjava/classpath/lib/gnu/javax/net/ssl/EntropySource.class
      new file mode 100644
      index 00000000000..cb6337a8192
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/EntropySource.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/NullManagerParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/NullManagerParameters.class
      new file mode 100644
      index 00000000000..5c66d4bde0e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/NullManagerParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManager.class b/libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManager.class
      new file mode 100644
      index 00000000000..9dabfbe3f67
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManager.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManagerParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManagerParameters.class
      new file mode 100644
      index 00000000000..8b6418e6601
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/PreSharedKeyManagerParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class b/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class
      new file mode 100644
      index 00000000000..78dc1ff30be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/PrivateCredentials.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/SRPManagerParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/SRPManagerParameters.class
      new file mode 100644
      index 00000000000..f51aab7a1c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/SRPManagerParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/SRPTrustManager.class b/libjava/classpath/lib/gnu/javax/net/ssl/SRPTrustManager.class
      new file mode 100644
      index 00000000000..74bbe0727a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/SRPTrustManager.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/SSLCipherSuite.class b/libjava/classpath/lib/gnu/javax/net/ssl/SSLCipherSuite.class
      new file mode 100644
      index 00000000000..557e437300a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/SSLCipherSuite.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/SSLProtocolVersion.class b/libjava/classpath/lib/gnu/javax/net/ssl/SSLProtocolVersion.class
      new file mode 100644
      index 00000000000..e36144967ae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/SSLProtocolVersion.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/SSLRecordHandler.class b/libjava/classpath/lib/gnu/javax/net/ssl/SSLRecordHandler.class
      new file mode 100644
      index 00000000000..5c399712b0e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/SSLRecordHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/Session$ID.class b/libjava/classpath/lib/gnu/javax/net/ssl/Session$ID.class
      new file mode 100644
      index 00000000000..e9803984522
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/Session$ID.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/Session.class b/libjava/classpath/lib/gnu/javax/net/ssl/Session.class
      new file mode 100644
      index 00000000000..fce5c3c40d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/Session.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/SessionStoreException.class b/libjava/classpath/lib/gnu/javax/net/ssl/SessionStoreException.class
      new file mode 100644
      index 00000000000..71de739a91f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/SessionStoreException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/StaticTrustAnchors.class b/libjava/classpath/lib/gnu/javax/net/ssl/StaticTrustAnchors.class
      new file mode 100644
      index 00000000000..50b76a7c281
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/StaticTrustAnchors.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class
      new file mode 100644
      index 00000000000..9e6a7d2ed6a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class
      new file mode 100644
      index 00000000000..1b68307eaaf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.class
      new file mode 100644
      index 00000000000..d7c38ec5de5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.class
      new file mode 100644
      index 00000000000..2225d7d0afc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class
      new file mode 100644
      index 00000000000..063f2b20c95
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AbstractHandshake.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class
      new file mode 100644
      index 00000000000..c8403e8ad84
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Description.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class
      new file mode 100644
      index 00000000000..6cdbb324e23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert$Level.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class
      new file mode 100644
      index 00000000000..56c061916c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Alert.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class
      new file mode 100644
      index 00000000000..153a8a2ad3f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/AlertException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Builder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Builder.class
      new file mode 100644
      index 00000000000..71007f5b809
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Builder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class
      new file mode 100644
      index 00000000000..46876c90421
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Certificate.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateBuilder.class
      new file mode 100644
      index 00000000000..486ab65f8a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class
      new file mode 100644
      index 00000000000..29a529cd786
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class
      new file mode 100644
      index 00000000000..9423b74f6bf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class
      new file mode 100644
      index 00000000000..55e36481f6d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateRequestBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class
      new file mode 100644
      index 00000000000..a5b971d5bea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class
      new file mode 100644
      index 00000000000..51fd52164db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusType.class
      new file mode 100644
      index 00000000000..ab5d495b94d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateStatusType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateType.class
      new file mode 100644
      index 00000000000..3f39d010ab4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class
      new file mode 100644
      index 00000000000..a91b0f736d4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class
      new file mode 100644
      index 00000000000..5d6bd64d77b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$Iterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.class
      new file mode 100644
      index 00000000000..977b86b34ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class
      new file mode 100644
      index 00000000000..93c03fc4d6b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateURL.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class
      new file mode 100644
      index 00000000000..256517cc4f6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CertificateVerify.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherAlgorithm.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherAlgorithm.class
      new file mode 100644
      index 00000000000..8d24f3a7cf8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuite.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuite.class
      new file mode 100644
      index 00000000000..4f6e02f755f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuite.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class
      new file mode 100644
      index 00000000000..860010af4e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class
      new file mode 100644
      index 00000000000..d3e12e18dd7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CipherSuiteList.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class
      new file mode 100644
      index 00000000000..5aa251ed7f3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class
      new file mode 100644
      index 00000000000..5c4c4e4cfba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientCertificateTypeList.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class
      new file mode 100644
      index 00000000000..5279e3b19b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.class
      new file mode 100644
      index 00000000000..eb619058318
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class
      new file mode 100644
      index 00000000000..615693f3a14
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class
      new file mode 100644
      index 00000000000..1e1a5c222b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.class
      new file mode 100644
      index 00000000000..51a1a2b9508
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.class
      new file mode 100644
      index 00000000000..ae8f45ed816
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class
      new file mode 100644
      index 00000000000..c7a8f8760db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class
      new file mode 100644
      index 00000000000..abdc3cc54d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake$State.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class
      new file mode 100644
      index 00000000000..a8a202eb6d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHandshake.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class
      new file mode 100644
      index 00000000000..7e903493d27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHello.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloBuilder.class
      new file mode 100644
      index 00000000000..63b37365316
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloV2.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloV2.class
      new file mode 100644
      index 00000000000..82fb99371c5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientHelloV2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class
      new file mode 100644
      index 00000000000..13b5f4fbf91
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchange.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.class
      new file mode 100644
      index 00000000000..a18851baca4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientPSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientPSKParameters.class
      new file mode 100644
      index 00000000000..43c99e03767
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientPSKParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class
      new file mode 100644
      index 00000000000..776eb4a1898
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethod.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethod.class
      new file mode 100644
      index 00000000000..83819e2cf18
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethod.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class
      new file mode 100644
      index 00000000000..2b144ae754e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class
      new file mode 100644
      index 00000000000..a686a9d929e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/CompressionMethodList.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Constructed.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Constructed.class
      new file mode 100644
      index 00000000000..ab4fbda2eac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Constructed.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ContentType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ContentType.class
      new file mode 100644
      index 00000000000..b4d148a45d5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ContentType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Debug.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Debug.class
      new file mode 100644
      index 00000000000..cd47c506ed9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Debug.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class
      new file mode 100644
      index 00000000000..8523bdd1065
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DelegatedTask.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/DiffieHellman.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DiffieHellman.class
      new file mode 100644
      index 00000000000..587b65abcdd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/DiffieHellman.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/EmptyExchangeKeys.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/EmptyExchangeKeys.class
      new file mode 100644
      index 00000000000..5796f8b3ed4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/EmptyExchangeKeys.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class
      new file mode 100644
      index 00000000000..381d8668168
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExchangeKeys.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExchangeKeys.class
      new file mode 100644
      index 00000000000..6fe3431abe3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExchangeKeys.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class
      new file mode 100644
      index 00000000000..6bd8fd9be7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Type.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Value.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Value.class
      new file mode 100644
      index 00000000000..b3a089e811d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension$Value.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension.class
      new file mode 100644
      index 00000000000..aa43c5df3f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Extension.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class
      new file mode 100644
      index 00000000000..1192103f452
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class
      new file mode 100644
      index 00000000000..b63f29142c0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ExtensionList.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class
      new file mode 100644
      index 00000000000..50e67a23569
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Finished.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Body.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Body.class
      new file mode 100644
      index 00000000000..5cbbf3d53f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Body.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class
      new file mode 100644
      index 00000000000..fb1af75e5a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake$Type.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake.class
      new file mode 100644
      index 00000000000..85412abbdfa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Handshake.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class
      new file mode 100644
      index 00000000000..4fd04289230
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/HelloRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class
      new file mode 100644
      index 00000000000..ff278f3e56f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/InputSecurityParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class
      new file mode 100644
      index 00000000000..fdd87231b07
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class
      new file mode 100644
      index 00000000000..fb217bec666
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Jessie.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.class
      new file mode 100644
      index 00000000000..2e494b6c44b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/MacAlgorithm.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MacAlgorithm.class
      new file mode 100644
      index 00000000000..8dda1d5af3a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MacAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/MacException.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MacException.class
      new file mode 100644
      index 00000000000..aa3f3e4595a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MacException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class
      new file mode 100644
      index 00000000000..b9341fadb7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/MaxFragmentLength.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class
      new file mode 100644
      index 00000000000..c36422821d7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/OutputSecurityParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.class
      new file mode 100644
      index 00000000000..6068aed38f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.class
      new file mode 100644
      index 00000000000..876fc6da638
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ProtocolVersion.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ProtocolVersion.class
      new file mode 100644
      index 00000000000..e1943659012
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ProtocolVersion.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Random.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Random.class
      new file mode 100644
      index 00000000000..dca9cec7425
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Random.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Record.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Record.class
      new file mode 100644
      index 00000000000..82c3db5b089
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Record.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.class
      new file mode 100644
      index 00000000000..94c704bde66
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.class
      new file mode 100644
      index 00000000000..5a6957bfaf1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLContextImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLContextImpl.class
      new file mode 100644
      index 00000000000..7f3a8f7d9cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLContextImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class
      new file mode 100644
      index 00000000000..5a21dae612b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class
      new file mode 100644
      index 00000000000..1080d19c129
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLEngineImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLHMac.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLHMac.class
      new file mode 100644
      index 00000000000..e59baf6a675
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLHMac.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class
      new file mode 100644
      index 00000000000..c080983e716
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRandom.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRandom.class
      new file mode 100644
      index 00000000000..05a9336d9e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLRandom.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.class
      new file mode 100644
      index 00000000000..b6353ffeb89
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketImpl.class
      new file mode 100644
      index 00000000000..b9373981308
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLServerSocketImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.class
      new file mode 100644
      index 00000000000..de053ac51df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class
      new file mode 100644
      index 00000000000..ffeeabd64c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class
      new file mode 100644
      index 00000000000..807805ca940
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class
      new file mode 100644
      index 00000000000..0df84a5fc22
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class
      new file mode 100644
      index 00000000000..8c53151598d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLSocketImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.class
      new file mode 100644
      index 00000000000..31c271c9dd2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.class
      new file mode 100644
      index 00000000000..adbeaacb05d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class
      new file mode 100644
      index 00000000000..d8f64b27a95
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHParams.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHParams.class
      new file mode 100644
      index 00000000000..4633e65b471
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerDHParams.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.class
      new file mode 100644
      index 00000000000..c1c3bd9a649
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class
      new file mode 100644
      index 00000000000..1c50e6e1a7d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.class
      new file mode 100644
      index 00000000000..8f3bc829b19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.class
      new file mode 100644
      index 00000000000..e5a8be7b4f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class
      new file mode 100644
      index 00000000000..120d8119b5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake$State.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class
      new file mode 100644
      index 00000000000..092029d2bb5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHandshake.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class
      new file mode 100644
      index 00000000000..5f4bafbbe2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHello.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloBuilder.class
      new file mode 100644
      index 00000000000..d46e850802e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class
      new file mode 100644
      index 00000000000..8dfb2607528
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerHelloDone.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class
      new file mode 100644
      index 00000000000..ec0a6ae4550
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchange.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.class
      new file mode 100644
      index 00000000000..691f08ac949
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.class
      new file mode 100644
      index 00000000000..dfd4e75c4ae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class
      new file mode 100644
      index 00000000000..67f8df47ff1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$Iterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class
      new file mode 100644
      index 00000000000..2fbaf341fd8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$NameType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class
      new file mode 100644
      index 00000000000..14aa39f6a51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList$ServerName.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class
      new file mode 100644
      index 00000000000..feed520b9f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerNameList.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerPSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerPSKParameters.class
      new file mode 100644
      index 00000000000..fe9d7142e43
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerPSKParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSAParams.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSAParams.class
      new file mode 100644
      index 00000000000..e3e1b90569f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSAParams.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.class
      new file mode 100644
      index 00000000000..d68e2476d21
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.class
      new file mode 100644
      index 00000000000..d938211ac99
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class
      new file mode 100644
      index 00000000000..106f9ce1276
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SessionImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Signature.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Signature.class
      new file mode 100644
      index 00000000000..31d3f3d650e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Signature.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SignatureAlgorithm.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SignatureAlgorithm.class
      new file mode 100644
      index 00000000000..4cc244b3209
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SignatureAlgorithm.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class
      new file mode 100644
      index 00000000000..5e48767d17c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class
      new file mode 100644
      index 00000000000..6dfd010008c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/SimpleSessionContext.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSHMac.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSHMac.class
      new file mode 100644
      index 00000000000..22ce76a9f51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSHMac.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSRandom.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSRandom.class
      new file mode 100644
      index 00000000000..3e14e8a55e0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TLSRandom.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class
      new file mode 100644
      index 00000000000..c270beb33e7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TruncatedHMAC.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class
      new file mode 100644
      index 00000000000..aee80a9fbb5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class
      new file mode 100644
      index 00000000000..92955986e98
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class
      new file mode 100644
      index 00000000000..da386d6d1e6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class
      new file mode 100644
      index 00000000000..6fb51677d16
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/TrustedAuthorities.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class
      new file mode 100644
      index 00000000000..e1fe208606f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class
      new file mode 100644
      index 00000000000..7c58dce94c3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class
      new file mode 100644
      index 00000000000..e85173e938c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$WrappedBuffer.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$WrappedBuffer.class
      new file mode 100644
      index 00000000000..663d50bcb4d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util$WrappedBuffer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class
      new file mode 100644
      index 00000000000..f6142e3c45b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/Util.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class
      new file mode 100644
      index 00000000000..e5fa0f04f5d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class
      new file mode 100644
      index 00000000000..5e7b6e997de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X500PrincipalList.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class
      new file mode 100644
      index 00000000000..a8676d628b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory.class
      new file mode 100644
      index 00000000000..5a45271700a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509KeyManagerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class
      new file mode 100644
      index 00000000000..fcbf57006a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory.class b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory.class
      new file mode 100644
      index 00000000000..dda2c145703
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/net/ssl/provider/X509TrustManagerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/CupsIppOperation.class b/libjava/classpath/lib/gnu/javax/print/CupsIppOperation.class
      new file mode 100644
      index 00000000000..35b2608e33b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/CupsIppOperation.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/CupsMediaMapping.class b/libjava/classpath/lib/gnu/javax/print/CupsMediaMapping.class
      new file mode 100644
      index 00000000000..27cbc7cbc00
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/CupsMediaMapping.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/CupsPrintService.class b/libjava/classpath/lib/gnu/javax/print/CupsPrintService.class
      new file mode 100644
      index 00000000000..2598d34eac3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/CupsPrintService.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/CupsPrintServiceLookup.class b/libjava/classpath/lib/gnu/javax/print/CupsPrintServiceLookup.class
      new file mode 100644
      index 00000000000..5d5abd5448e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/CupsPrintServiceLookup.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/CupsServer.class b/libjava/classpath/lib/gnu/javax/print/CupsServer.class
      new file mode 100644
      index 00000000000..06f6c23bbc0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/CupsServer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrintAttributeException.class b/libjava/classpath/lib/gnu/javax/print/PrintAttributeException.class
      new file mode 100644
      index 00000000000..fb2f527a642
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrintAttributeException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrintFlavorException.class b/libjava/classpath/lib/gnu/javax/print/PrintFlavorException.class
      new file mode 100644
      index 00000000000..ace70f38fe1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrintFlavorException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrintUriException.class b/libjava/classpath/lib/gnu/javax/print/PrintUriException.class
      new file mode 100644
      index 00000000000..efc7ebebaf8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrintUriException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Color.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Color.class
      new file mode 100644
      index 00000000000..7c22d8e52f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Color.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.class
      new file mode 100644
      index 00000000000..f94ab1c46aa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.class
      new file mode 100644
      index 00000000000..f1d54d08a09
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.class
      new file mode 100644
      index 00000000000..364154fcbb8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class
      new file mode 100644
      index 00000000000..d1624662a83
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$AppearancePanel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.class
      new file mode 100644
      index 00000000000..6dce1bf64c8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.class
      new file mode 100644
      index 00000000000..b2bfa93a1eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.class
      new file mode 100644
      index 00000000000..c187f142352
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel.class
      new file mode 100644
      index 00000000000..6ae6977ffeb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$GeneralPanel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.class
      new file mode 100644
      index 00000000000..e39037012ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.class
      new file mode 100644
      index 00000000000..8b96fcd6ecf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.class
      new file mode 100644
      index 00000000000..36419521ae5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class
      new file mode 100644
      index 00000000000..73df9933a5f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog$PageSetupPanel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class b/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class
      new file mode 100644
      index 00000000000..9fc4db1730d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/PrinterDialog.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class b/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class
      new file mode 100644
      index 00000000000..07ffdabc27d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/DocPrintJobImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppDelimiterTag.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppDelimiterTag.class
      new file mode 100644
      index 00000000000..13792445694
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppDelimiterTag.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppException.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppException.class
      new file mode 100644
      index 00000000000..a7f5c0345b5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppMultiDocPrintService.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppMultiDocPrintService.class
      new file mode 100644
      index 00000000000..cf6f34e6bf4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppMultiDocPrintService.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class
      new file mode 100644
      index 00000000000..ebaf409b67d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
      new file mode 100644
      index 00000000000..ef631bbc2e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class
      new file mode 100644
      index 00000000000..aadef6cb135
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class
      new file mode 100644
      index 00000000000..a6d3829f4c4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class
      new file mode 100644
      index 00000000000..0653dc80c97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppStatusCode.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppStatusCode.class
      new file mode 100644
      index 00000000000..16ecc7b8b2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppStatusCode.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class
      new file mode 100644
      index 00000000000..a98c3c3f2ef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/IppValueTag.class b/libjava/classpath/lib/gnu/javax/print/ipp/IppValueTag.class
      new file mode 100644
      index 00000000000..75b174fb8d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/IppValueTag.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/MultiDocPrintJobImpl.class b/libjava/classpath/lib/gnu/javax/print/ipp/MultiDocPrintJobImpl.class
      new file mode 100644
      index 00000000000..4414b6260b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/MultiDocPrintJobImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/CharsetSyntax.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/CharsetSyntax.class
      new file mode 100644
      index 00000000000..bda6259ed1a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/CharsetSyntax.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DefaultValueAttribute.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DefaultValueAttribute.class
      new file mode 100644
      index 00000000000..57279beda55
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DefaultValueAttribute.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class
      new file mode 100644
      index 00000000000..a673700138b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class
      new file mode 100644
      index 00000000000..810d80dfde7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.class
      new file mode 100644
      index 00000000000..48b83e74607
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class
      new file mode 100644
      index 00000000000..ce51861aabd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class
      new file mode 100644
      index 00000000000..529bf4eebd0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class
      new file mode 100644
      index 00000000000..61158195de3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class
      new file mode 100644
      index 00000000000..70d93f6022e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class
      new file mode 100644
      index 00000000000..fd452d080ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class
      new file mode 100644
      index 00000000000..31904750b1d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class
      new file mode 100644
      index 00000000000..4c24ab0bae4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class
      new file mode 100644
      index 00000000000..5a5542fb612
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class
      new file mode 100644
      index 00000000000..175d9df5ed9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class
      new file mode 100644
      index 00000000000..1b569744f37
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class
      new file mode 100644
      index 00000000000..b0aaf09781a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class
      new file mode 100644
      index 00000000000..85ab6b4a025
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class
      new file mode 100644
      index 00000000000..06ea2a66c82
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class
      new file mode 100644
      index 00000000000..aa0d7a04528
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class
      new file mode 100644
      index 00000000000..52518aae293
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class
      new file mode 100644
      index 00000000000..ebb5f42d30a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class
      new file mode 100644
      index 00000000000..2bb5b6f6e15
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class
      new file mode 100644
      index 00000000000..bfe2a71b35d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class
      new file mode 100644
      index 00000000000..cb8fb466771
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class
      new file mode 100644
      index 00000000000..1d80bce239b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class
      new file mode 100644
      index 00000000000..66dc5e1025c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class
      new file mode 100644
      index 00000000000..dd4d0972aa3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class
      new file mode 100644
      index 00000000000..f05531cccb9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class
      new file mode 100644
      index 00000000000..26c28a9f320
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class
      new file mode 100644
      index 00000000000..bcb38baf778
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class
      new file mode 100644
      index 00000000000..473e134dd01
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class
      new file mode 100644
      index 00000000000..164c6fef2a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class
      new file mode 100644
      index 00000000000..d3fec69ffcb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class
      new file mode 100644
      index 00000000000..421196e8ce8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class
      new file mode 100644
      index 00000000000..95d28bd4603
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class
      new file mode 100644
      index 00000000000..db550ba8905
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class
      new file mode 100644
      index 00000000000..3c01302eaf7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class
      new file mode 100644
      index 00000000000..55c5a0bb008
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class
      new file mode 100644
      index 00000000000..1c79ec97fe3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class
      new file mode 100644
      index 00000000000..eb72871d84b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class
      new file mode 100644
      index 00000000000..f61ae2a2c9b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class
      new file mode 100644
      index 00000000000..ae13c0ebad4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class
      new file mode 100644
      index 00000000000..e699d06b143
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class
      new file mode 100644
      index 00000000000..1d5c711ec48
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class
      new file mode 100644
      index 00000000000..beff50151c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class
      new file mode 100644
      index 00000000000..f3fa0734ab5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class
      new file mode 100644
      index 00000000000..3732dcb9ee0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class
      new file mode 100644
      index 00000000000..583af160e22
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class
      new file mode 100644
      index 00000000000..178d41ac7e7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class
      new file mode 100644
      index 00000000000..90fdd259480
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class
      new file mode 100644
      index 00000000000..b5e02a44882
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class
      new file mode 100644
      index 00000000000..a29d08c318e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class
      new file mode 100644
      index 00000000000..52db096290e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class
      new file mode 100644
      index 00000000000..93ea94f318a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class
      new file mode 100644
      index 00000000000..561eaffb240
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class
      new file mode 100644
      index 00000000000..ac100801793
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class
      new file mode 100644
      index 00000000000..c90e6345f5f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class
      new file mode 100644
      index 00000000000..fcaa2fffddd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaInput.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaInput.class
      new file mode 100644
      index 00000000000..906d9aeeec4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaInput.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaOutput.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaOutput.class
      new file mode 100644
      index 00000000000..9dda2f230f2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/CorbaOutput.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.class
      new file mode 100644
      index 00000000000..37a9c8379ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/DelegateFactory.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/DelegateFactory.class
      new file mode 100644
      index 00000000000..4652d0654ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/DelegateFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/GetDelegateInstanceException.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/GetDelegateInstanceException.class
      new file mode 100644
      index 00000000000..d03037c7163
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/GetDelegateInstanceException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class
      new file mode 100644
      index 00000000000..01b7bb8b867
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class
      new file mode 100644
      index 00000000000..b4312276227
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class
      new file mode 100644
      index 00000000000..dcedc9ce289
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities$2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class
      new file mode 100644
      index 00000000000..403b5e6fa52
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/RmiUtilities.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/StubDelegateImpl.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/StubDelegateImpl.class
      new file mode 100644
      index 00000000000..a5c64c1b866
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/StubDelegateImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/TieTargetRecord.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/TieTargetRecord.class
      new file mode 100644
      index 00000000000..3869364453e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/TieTargetRecord.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class
      new file mode 100644
      index 00000000000..d2e50ba1c3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/UtilDelegateImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.class b/libjava/classpath/lib/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.class
      new file mode 100644
      index 00000000000..f4f068bd581
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/Password.class b/libjava/classpath/lib/gnu/javax/security/auth/Password.class
      new file mode 100644
      index 00000000000..df75b3a5470
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/Password.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/AWTCallbackHandler.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/AWTCallbackHandler.class
      new file mode 100644
      index 00000000000..e387600a32d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/AWTCallbackHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/AbstractCallbackHandler.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/AbstractCallbackHandler.class
      new file mode 100644
      index 00000000000..806be85bb3c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/AbstractCallbackHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/CertificateCallback.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/CertificateCallback.class
      new file mode 100644
      index 00000000000..c67139d1f27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/CertificateCallback.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/ConsoleCallbackHandler.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/ConsoleCallbackHandler.class
      new file mode 100644
      index 00000000000..ffaa77f35ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/ConsoleCallbackHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/DefaultCallbackHandler.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/DefaultCallbackHandler.class
      new file mode 100644
      index 00000000000..6626fed6adb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/DefaultCallbackHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class
      new file mode 100644
      index 00000000000..82895346434
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class
      new file mode 100644
      index 00000000000..3485c08d2ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/GnuCallbacks.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class
      new file mode 100644
      index 00000000000..54f86511b9d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class
      new file mode 100644
      index 00000000000..764f6246b9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class
      new file mode 100644
      index 00000000000..039dc83b575
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$3.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class
      new file mode 100644
      index 00000000000..48b477334b5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$4.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class
      new file mode 100644
      index 00000000000..9c232e86c65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$5.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class
      new file mode 100644
      index 00000000000..95590fe47a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$6.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class
      new file mode 100644
      index 00000000000..59ea0f712c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler$7.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class
      new file mode 100644
      index 00000000000..a8781c2c65b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/callback/SwingCallbackHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class b/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class
      new file mode 100644
      index 00000000000..a6318907f3d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileParser.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileTokenizer.class b/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileTokenizer.class
      new file mode 100644
      index 00000000000..751608e5faf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/login/ConfigFileTokenizer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class b/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class
      new file mode 100644
      index 00000000000..ca593c31c38
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/security/auth/login/GnuConfiguration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class
      new file mode 100644
      index 00000000000..b6849564508
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class
      new file mode 100644
      index 00000000000..1aca771aac3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class
      new file mode 100644
      index 00000000000..f618affed49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class
      new file mode 100644
      index 00000000000..967fbbdfca2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class
      new file mode 100644
      index 00000000000..f84357fb8fd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class
      new file mode 100644
      index 00000000000..021a78358ba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class
      new file mode 100644
      index 00000000000..e73ad93dae9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class
      new file mode 100644
      index 00000000000..e321d8daeb0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class
      new file mode 100644
      index 00000000000..09552ad627b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class
      new file mode 100644
      index 00000000000..df52c733f8f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class
      new file mode 100644
      index 00000000000..1759a93f3f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class
      new file mode 100644
      index 00000000000..895d98f4577
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/alsa/AlsaPortDevice.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class
      new file mode 100644
      index 00000000000..c928dad5665
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class
      new file mode 100644
      index 00000000000..94e1a759910
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class
      new file mode 100644
      index 00000000000..5c21bd45677
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class
      new file mode 100644
      index 00000000000..fba99b598bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class
      new file mode 100644
      index 00000000000..6eafee5759e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class
      new file mode 100644
      index 00000000000..89d7fd6c4e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class
      new file mode 100644
      index 00000000000..2669da8e3e4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class
      new file mode 100644
      index 00000000000..fc8191c97d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/dssi/DSSISynthesizer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.class b/libjava/classpath/lib/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.class
      new file mode 100644
      index 00000000000..0efae67cfe5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataInputStream.class b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataInputStream.class
      new file mode 100644
      index 00000000000..1dce70845d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataOutputStream.class b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataOutputStream.class
      new file mode 100644
      index 00000000000..5de7c501b06
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiDataOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileReader.class b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileReader.class
      new file mode 100644
      index 00000000000..00b1da899c5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileWriter.class b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileWriter.class
      new file mode 100644
      index 00000000000..1982f16ae34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/midi/file/MidiFileWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class
      new file mode 100644
      index 00000000000..5191a9dc7f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class
      new file mode 100644
      index 00000000000..cc0736d8716
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader$AUHeader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class
      new file mode 100644
      index 00000000000..b47ae8aa608
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/sampled/AU/AUReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class b/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class
      new file mode 100644
      index 00000000000..9bf00f74361
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/sound/sampled/WAV/WAVReader.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.class b/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.class
      new file mode 100644
      index 00000000000..1f1dc137d06
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.class b/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.class
      new file mode 100644
      index 00000000000..4b660932429
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel.class b/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel.class
      new file mode 100644
      index 00000000000..53b330b32ea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/plaf/gnu/GNULookAndFeel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/plaf/metal/CustomizableTheme.class b/libjava/classpath/lib/gnu/javax/swing/plaf/metal/CustomizableTheme.class
      new file mode 100644
      index 00000000000..c27ff08925e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/plaf/metal/CustomizableTheme.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class b/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class
      new file mode 100644
      index 00000000000..88aaece43ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/CharacterAttributeTranslator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.class b/libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.class
      new file mode 100644
      index 00000000000..94bf071d5bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes.class b/libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes.class
      new file mode 100644
      index 00000000000..34d9de70e97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/CombinedAttributes.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.class b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.class
      new file mode 100644
      index 00000000000..bf5601cfea6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.class b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.class
      new file mode 100644
      index 00000000000..b6a75d7c384
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class
      new file mode 100644
      index 00000000000..f97df57e087
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/ImageViewIconFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderStyle.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderStyle.class
      new file mode 100644
      index 00000000000..f51a09709d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderStyle.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderWidth.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderWidth.class
      new file mode 100644
      index 00000000000..caea7dec0d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/BorderWidth.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSColor.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSColor.class
      new file mode 100644
      index 00000000000..07ac9f9bbed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSColor.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSLexicalException.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSLexicalException.class
      new file mode 100644
      index 00000000000..e17935fe345
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSLexicalException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class
      new file mode 100644
      index 00000000000..40025b684dd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class
      new file mode 100644
      index 00000000000..fb05d08a33e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParser.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserCallback.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserCallback.class
      new file mode 100644
      index 00000000000..abfda1483cf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserCallback.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserException.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserException.class
      new file mode 100644
      index 00000000000..860cf3cdd9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSParserException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSScanner.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSScanner.class
      new file mode 100644
      index 00000000000..044cc5edf49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/CSSScanner.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontSize.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontSize.class
      new file mode 100644
      index 00000000000..a847e5c8f31
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontSize.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontStyle.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontStyle.class
      new file mode 100644
      index 00000000000..e66ae34b122
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontStyle.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontWeight.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontWeight.class
      new file mode 100644
      index 00000000000..a0c7f447c4e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/FontWeight.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/Length.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/Length.class
      new file mode 100644
      index 00000000000..b5b30964397
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/Length.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class b/libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class
      new file mode 100644
      index 00000000000..fb5de5c5040
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class
      new file mode 100644
      index 00000000000..96638d692c3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class
      new file mode 100644
      index 00000000000..fa8aa3b6146
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/GnuParserDelegator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class
      new file mode 100644
      index 00000000000..5d9889c62e0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class
      new file mode 100644
      index 00000000000..95b5278b73c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class
      new file mode 100644
      index 00000000000..d2342a5d5df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class
      new file mode 100644
      index 00000000000..e0c19152da6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/gnuDTD.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class
      new file mode 100644
      index 00000000000..8517b19d479
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class
      new file mode 100644
      index 00000000000..d4f6a65ff6f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlAttributeSet.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class
      new file mode 100644
      index 00000000000..2ed578a3f5f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator$hTag.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class
      new file mode 100644
      index 00000000000..32a21a5a288
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/htmlValidator.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.class
      new file mode 100644
      index 00000000000..192b3ad9e5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/TableRowContentModel.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/TableRowContentModel.class
      new file mode 100644
      index 00000000000..8599669972a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/TableRowContentModel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/list.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/list.class
      new file mode 100644
      index 00000000000..d90cc458729
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/list.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/noTagModel.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/noTagModel.class
      new file mode 100644
      index 00000000000..d95f8c6f7ce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/noTagModel.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/node.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/node.class
      new file mode 100644
      index 00000000000..f551dbf5977
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/node.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/transformer.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/transformer.class
      new file mode 100644
      index 00000000000..9b5e29a9466
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/models/transformer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class
      new file mode 100644
      index 00000000000..0db9a27ba30
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$1.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class
      new file mode 100644
      index 00000000000..546fddc6b50
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser$2.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class
      new file mode 100644
      index 00000000000..6c330e24eae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/Parser.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.class
      new file mode 100644
      index 00000000000..c6ee266838a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Buffer.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Buffer.class
      new file mode 100644
      index 00000000000..12e6aa89966
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Buffer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Constants.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Constants.class
      new file mode 100644
      index 00000000000..c4ffa342648
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Constants.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Location.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Location.class
      new file mode 100644
      index 00000000000..c43fb01a38e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Location.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ParseException.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ParseException.class
      new file mode 100644
      index 00000000000..dfa6e9b56de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ParseException.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Queue.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Queue.class
      new file mode 100644
      index 00000000000..dfe3cb347eb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Queue.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.class
      new file mode 100644
      index 00000000000..d7f253263a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Token.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Token.class
      new file mode 100644
      index 00000000000..e5b7a939742
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/Token.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/node.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/node.class
      new file mode 100644
      index 00000000000..9a3b6dcbee7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/node.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/pattern.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/pattern.class
      new file mode 100644
      index 00000000000..cea9d459946
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/low/pattern.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/parameterDefaulter.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/parameterDefaulter.class
      new file mode 100644
      index 00000000000..084edd742a9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/parameterDefaulter.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/textPreProcessor.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/textPreProcessor.class
      new file mode 100644
      index 00000000000..d9daa90ed49
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/support/textPreProcessor.class differ
      diff --git a/libjava/classpath/lib/gnu/javax/swing/tree/GnuPath.class b/libjava/classpath/lib/gnu/javax/swing/tree/GnuPath.class
      new file mode 100644
      index 00000000000..841cc89adef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/javax/swing/tree/GnuPath.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory$JaxpParser.class b/libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory$JaxpParser.class
      new file mode 100644
      index 00000000000..904351c6b5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory$JaxpParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory.class b/libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory.class
      new file mode 100644
      index 00000000000..49fa7f3e702
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/JAXPFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Adapter.class b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Adapter.class
      new file mode 100644
      index 00000000000..d34cb43c537
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Adapter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Attribute.class b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Attribute.class
      new file mode 100644
      index 00000000000..68cfbc16965
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver$Attribute.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class
      new file mode 100644
      index 00000000000..d690c175254
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/SAXDriver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$AttributeDecl.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$AttributeDecl.class
      new file mode 100644
      index 00000000000..8bb85a3f0ec
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$AttributeDecl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ElementDecl.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ElementDecl.class
      new file mode 100644
      index 00000000000..9fbede093bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ElementDecl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class
      new file mode 100644
      index 00000000000..2a0779ea5dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$EntityInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.class
      new file mode 100644
      index 00000000000..65a9cb98b3f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$Input.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$Input.class
      new file mode 100644
      index 00000000000..7347af6010d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser$Input.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class
      new file mode 100644
      index 00000000000..fddb3e796b3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.class
      new file mode 100644
      index 00000000000..5aadec5355b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/aelfred2/XmlReader.class b/libjava/classpath/lib/gnu/xml/aelfred2/XmlReader.class
      new file mode 100644
      index 00000000000..6330918d62c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/aelfred2/XmlReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class b/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class
      new file mode 100644
      index 00000000000..6b3c5ce78be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/Consumer$Backdoor.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/Consumer.class b/libjava/classpath/lib/gnu/xml/dom/Consumer.class
      new file mode 100644
      index 00000000000..b7dae3f68bc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/Consumer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DTDAttributeTypeInfo.class b/libjava/classpath/lib/gnu/xml/dom/DTDAttributeTypeInfo.class
      new file mode 100644
      index 00000000000..d7438845b4c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DTDAttributeTypeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DTDElementTypeInfo.class b/libjava/classpath/lib/gnu/xml/dom/DTDElementTypeInfo.class
      new file mode 100644
      index 00000000000..cd47fc332f6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DTDElementTypeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomAttr.class b/libjava/classpath/lib/gnu/xml/dom/DomAttr.class
      new file mode 100644
      index 00000000000..034639a9ea1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomAttr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomCDATASection.class b/libjava/classpath/lib/gnu/xml/dom/DomCDATASection.class
      new file mode 100644
      index 00000000000..c7b346bb93c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomCDATASection.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomCharacterData$EmptyNodeList.class b/libjava/classpath/lib/gnu/xml/dom/DomCharacterData$EmptyNodeList.class
      new file mode 100644
      index 00000000000..b3bdeb5e5e5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomCharacterData$EmptyNodeList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomCharacterData.class b/libjava/classpath/lib/gnu/xml/dom/DomCharacterData.class
      new file mode 100644
      index 00000000000..47cd710c753
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomCharacterData.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomComment.class b/libjava/classpath/lib/gnu/xml/dom/DomComment.class
      new file mode 100644
      index 00000000000..deb808dd57f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomComment.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDOMException.class b/libjava/classpath/lib/gnu/xml/dom/DomDOMException.class
      new file mode 100644
      index 00000000000..729a9446d60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDOMException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDoctype.class b/libjava/classpath/lib/gnu/xml/dom/DomDoctype.class
      new file mode 100644
      index 00000000000..7698d8f797a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDoctype.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocument.class b/libjava/classpath/lib/gnu/xml/dom/DomDocument.class
      new file mode 100644
      index 00000000000..9ff8f0d1ff9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDocument.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class
      new file mode 100644
      index 00000000000..41f2981c4b9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilderFactory.class b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilderFactory.class
      new file mode 100644
      index 00000000000..4e082d19a9d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilderFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocumentConfiguration.class b/libjava/classpath/lib/gnu/xml/dom/DomDocumentConfiguration.class
      new file mode 100644
      index 00000000000..1d0038f9d0a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDocumentConfiguration.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocumentFragment.class b/libjava/classpath/lib/gnu/xml/dom/DomDocumentFragment.class
      new file mode 100644
      index 00000000000..9bdd263ea24
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomDocumentFragment.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomElement.class b/libjava/classpath/lib/gnu/xml/dom/DomElement.class
      new file mode 100644
      index 00000000000..0800405b631
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomEntity.class b/libjava/classpath/lib/gnu/xml/dom/DomEntity.class
      new file mode 100644
      index 00000000000..554b701c682
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomEntity.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomEntityReference.class b/libjava/classpath/lib/gnu/xml/dom/DomEntityReference.class
      new file mode 100644
      index 00000000000..ebeb3f8a231
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomEntityReference.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomEvent$DomMutationEvent.class b/libjava/classpath/lib/gnu/xml/dom/DomEvent$DomMutationEvent.class
      new file mode 100644
      index 00000000000..d8932f652b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomEvent$DomMutationEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomEvent$DomUIEvent.class b/libjava/classpath/lib/gnu/xml/dom/DomEvent$DomUIEvent.class
      new file mode 100644
      index 00000000000..860ab7772a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomEvent$DomUIEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomEvent.class b/libjava/classpath/lib/gnu/xml/dom/DomEvent.class
      new file mode 100644
      index 00000000000..a2f853f54ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomEvent.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomExtern.class b/libjava/classpath/lib/gnu/xml/dom/DomExtern.class
      new file mode 100644
      index 00000000000..11ed4294340
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomExtern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomImpl.class b/libjava/classpath/lib/gnu/xml/dom/DomImpl.class
      new file mode 100644
      index 00000000000..62eabbb4f71
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomIterator.class b/libjava/classpath/lib/gnu/xml/dom/DomIterator.class
      new file mode 100644
      index 00000000000..1ca7fa2a979
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNSResolverContext.class b/libjava/classpath/lib/gnu/xml/dom/DomNSResolverContext.class
      new file mode 100644
      index 00000000000..3f76bc655d4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNSResolverContext.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNamedNodeMap.class b/libjava/classpath/lib/gnu/xml/dom/DomNamedNodeMap.class
      new file mode 100644
      index 00000000000..5ff3c7a8dbe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNamedNodeMap.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode$DomEventException.class b/libjava/classpath/lib/gnu/xml/dom/DomNode$DomEventException.class
      new file mode 100644
      index 00000000000..e2c1a29b51f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNode$DomEventException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode$ListenerRecord.class b/libjava/classpath/lib/gnu/xml/dom/DomNode$ListenerRecord.class
      new file mode 100644
      index 00000000000..71bf96f4167
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNode$ListenerRecord.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode$LiveNodeList.class b/libjava/classpath/lib/gnu/xml/dom/DomNode$LiveNodeList.class
      new file mode 100644
      index 00000000000..6be5e27c404
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNode$LiveNodeList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class b/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class
      new file mode 100644
      index 00000000000..b1006cefff4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNode$ShadowList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNode.class b/libjava/classpath/lib/gnu/xml/dom/DomNode.class
      new file mode 100644
      index 00000000000..61378095b2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNodeIterator.class b/libjava/classpath/lib/gnu/xml/dom/DomNodeIterator.class
      new file mode 100644
      index 00000000000..3875450ae4b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNodeIterator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNotation.class b/libjava/classpath/lib/gnu/xml/dom/DomNotation.class
      new file mode 100644
      index 00000000000..0eebc788ca5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNotation.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomNsNode.class b/libjava/classpath/lib/gnu/xml/dom/DomNsNode.class
      new file mode 100644
      index 00000000000..63a6addf9d2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomNsNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomProcessingInstruction.class b/libjava/classpath/lib/gnu/xml/dom/DomProcessingInstruction.class
      new file mode 100644
      index 00000000000..1ae20a37502
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomProcessingInstruction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomText.class b/libjava/classpath/lib/gnu/xml/dom/DomText.class
      new file mode 100644
      index 00000000000..fd371db59cb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomText.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomXPathExpression.class b/libjava/classpath/lib/gnu/xml/dom/DomXPathExpression.class
      new file mode 100644
      index 00000000000..0dc76e0e39a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomXPathExpression.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomXPathNSResolver.class b/libjava/classpath/lib/gnu/xml/dom/DomXPathNSResolver.class
      new file mode 100644
      index 00000000000..5f9db6e3fa3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomXPathNSResolver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/DomXPathResult.class b/libjava/classpath/lib/gnu/xml/dom/DomXPathResult.class
      new file mode 100644
      index 00000000000..09ab411c5f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/DomXPathResult.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ImplementationList.class b/libjava/classpath/lib/gnu/xml/dom/ImplementationList.class
      new file mode 100644
      index 00000000000..256e59d7959
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ImplementationList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class b/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class
      new file mode 100644
      index 00000000000..6ba53300369
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ImplementationSource.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/JAXPFactory$JAXPBuilder.class b/libjava/classpath/lib/gnu/xml/dom/JAXPFactory$JAXPBuilder.class
      new file mode 100644
      index 00000000000..5252a06311f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/JAXPFactory$JAXPBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/JAXPFactory.class b/libjava/classpath/lib/gnu/xml/dom/JAXPFactory.class
      new file mode 100644
      index 00000000000..aff36d2a486
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/JAXPFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAnchorElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAnchorElement.class
      new file mode 100644
      index 00000000000..5fd7d7de21b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAnchorElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAppletElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAppletElement.class
      new file mode 100644
      index 00000000000..7744e7c15f7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAppletElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAreaElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAreaElement.class
      new file mode 100644
      index 00000000000..674f85bbe7b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLAreaElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBRElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBRElement.class
      new file mode 100644
      index 00000000000..f7db7e404db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBRElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseElement.class
      new file mode 100644
      index 00000000000..4e58d2f09e5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseFontElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseFontElement.class
      new file mode 100644
      index 00000000000..ac899f1feb4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBaseFontElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBodyElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBodyElement.class
      new file mode 100644
      index 00000000000..ef2f3d1965d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLBodyElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLButtonElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLButtonElement.class
      new file mode 100644
      index 00000000000..93e0e4c798a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLButtonElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLCollection.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLCollection.class
      new file mode 100644
      index 00000000000..c1438b30b60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLCollection.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDListElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDListElement.class
      new file mode 100644
      index 00000000000..ee60476f0df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDListElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDirectoryElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDirectoryElement.class
      new file mode 100644
      index 00000000000..b80e6231623
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDirectoryElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDivElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDivElement.class
      new file mode 100644
      index 00000000000..6433f235d66
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDivElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class
      new file mode 100644
      index 00000000000..528c28d4a34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLDocument.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class
      new file mode 100644
      index 00000000000..d47e495ec21
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLEmbedElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLEmbedElement.class
      new file mode 100644
      index 00000000000..abbe2879731
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLEmbedElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFieldSetElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFieldSetElement.class
      new file mode 100644
      index 00000000000..3a26b4d036a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFieldSetElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFontElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFontElement.class
      new file mode 100644
      index 00000000000..a8b89f0ae13
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFontElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFormElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFormElement.class
      new file mode 100644
      index 00000000000..57e56179ea4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFormElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameElement.class
      new file mode 100644
      index 00000000000..396a7ce3e21
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameSetElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameSetElement.class
      new file mode 100644
      index 00000000000..291b20f97b1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLFrameSetElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHRElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHRElement.class
      new file mode 100644
      index 00000000000..de198963440
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHRElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadElement.class
      new file mode 100644
      index 00000000000..9b0e5c2fce7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadingElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadingElement.class
      new file mode 100644
      index 00000000000..851145ef67a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHeadingElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHtmlElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHtmlElement.class
      new file mode 100644
      index 00000000000..0ce08630506
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLHtmlElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIFrameElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIFrameElement.class
      new file mode 100644
      index 00000000000..2cdbaa635fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIFrameElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImageElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImageElement.class
      new file mode 100644
      index 00000000000..2ee11c579e4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImageElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImpl.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImpl.class
      new file mode 100644
      index 00000000000..51b462af2ba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLInputElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLInputElement.class
      new file mode 100644
      index 00000000000..22c5cb07f53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLInputElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIsIndexElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIsIndexElement.class
      new file mode 100644
      index 00000000000..b8281f93a2c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLIsIndexElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLIElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLIElement.class
      new file mode 100644
      index 00000000000..b16aac2a3e9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLIElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLabelElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLabelElement.class
      new file mode 100644
      index 00000000000..9cd0807d956
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLabelElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLegendElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLegendElement.class
      new file mode 100644
      index 00000000000..763de42e4c9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLegendElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLinkElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLinkElement.class
      new file mode 100644
      index 00000000000..bd92dc1c093
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLLinkElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMapElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMapElement.class
      new file mode 100644
      index 00000000000..6f3a25d011f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMapElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMenuElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMenuElement.class
      new file mode 100644
      index 00000000000..275ef2ccf2f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMenuElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMetaElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMetaElement.class
      new file mode 100644
      index 00000000000..d1202761511
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLMetaElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLModElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLModElement.class
      new file mode 100644
      index 00000000000..b9d1bbaae47
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLModElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOListElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOListElement.class
      new file mode 100644
      index 00000000000..b198cba8f45
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOListElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLObjectElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLObjectElement.class
      new file mode 100644
      index 00000000000..25f196249b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLObjectElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptGroupElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptGroupElement.class
      new file mode 100644
      index 00000000000..f34bf4d1059
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptGroupElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptionElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptionElement.class
      new file mode 100644
      index 00000000000..fa059bbb702
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLOptionElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParagraphElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParagraphElement.class
      new file mode 100644
      index 00000000000..389ecd8e9e2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParagraphElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParamElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParamElement.class
      new file mode 100644
      index 00000000000..8477d00e02f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParamElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class
      new file mode 100644
      index 00000000000..5a8f379c5df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLPreElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLPreElement.class
      new file mode 100644
      index 00000000000..9164532e88f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLPreElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLQuoteElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLQuoteElement.class
      new file mode 100644
      index 00000000000..6d5b2408a62
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLQuoteElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLScriptElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLScriptElement.class
      new file mode 100644
      index 00000000000..918b4e12ac3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLScriptElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLSelectElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLSelectElement.class
      new file mode 100644
      index 00000000000..64b41b728a6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLSelectElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLStyleElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLStyleElement.class
      new file mode 100644
      index 00000000000..4d7b9efe5c7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLStyleElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCaptionElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCaptionElement.class
      new file mode 100644
      index 00000000000..e1a373ebc4c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCaptionElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCellElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCellElement.class
      new file mode 100644
      index 00000000000..f145daebe73
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableCellElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableColElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableColElement.class
      new file mode 100644
      index 00000000000..00405fee201
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableColElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableElement.class
      new file mode 100644
      index 00000000000..2e32ae9fda8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableRowElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableRowElement.class
      new file mode 100644
      index 00000000000..1962a990f03
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableRowElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableSectionElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableSectionElement.class
      new file mode 100644
      index 00000000000..518fda89102
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTableSectionElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTextAreaElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTextAreaElement.class
      new file mode 100644
      index 00000000000..9ac42790fa6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTextAreaElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTitleElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTitleElement.class
      new file mode 100644
      index 00000000000..a6eb748069c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLTitleElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLUListElement.class b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLUListElement.class
      new file mode 100644
      index 00000000000..3f4840a3123
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/html2/DomHTMLUListElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSException.class b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSException.class
      new file mode 100644
      index 00000000000..1e5aadd0958
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSInput.class b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSInput.class
      new file mode 100644
      index 00000000000..ebff3b21f07
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSInput.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSOutput.class b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSOutput.class
      new file mode 100644
      index 00000000000..ef0f74d865c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSOutput.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class
      new file mode 100644
      index 00000000000..616257deb34
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/DomLSSerializer.class b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSSerializer.class
      new file mode 100644
      index 00000000000..d8b4b59043f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/DomLSSerializer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/FilteredSAXEventSink.class b/libjava/classpath/lib/gnu/xml/dom/ls/FilteredSAXEventSink.class
      new file mode 100644
      index 00000000000..dee62bfc95f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/FilteredSAXEventSink.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/ReaderInputStream.class b/libjava/classpath/lib/gnu/xml/dom/ls/ReaderInputStream.class
      new file mode 100644
      index 00000000000..2be7972948f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/ReaderInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/SAXEventSink.class b/libjava/classpath/lib/gnu/xml/dom/ls/SAXEventSink.class
      new file mode 100644
      index 00000000000..f5f281ea196
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/SAXEventSink.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/WriterOutputStream.class b/libjava/classpath/lib/gnu/xml/dom/ls/WriterOutputStream.class
      new file mode 100644
      index 00000000000..946908441d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/dom/ls/WriterOutputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeAttr.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeAttr.class
      new file mode 100644
      index 00000000000..b9bde45fbdc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeAttr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCDATASection.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCDATASection.class
      new file mode 100644
      index 00000000000..7944d0309cc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCDATASection.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCharacterData.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCharacterData.class
      new file mode 100644
      index 00000000000..1c746262886
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeCharacterData.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeComment.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeComment.class
      new file mode 100644
      index 00000000000..11801ef1a23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeComment.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMException.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMException.class
      new file mode 100644
      index 00000000000..63644b4110b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMStringList.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMStringList.class
      new file mode 100644
      index 00000000000..489ddafc656
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDOMStringList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocument.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocument.class
      new file mode 100644
      index 00000000000..fec965957a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocument.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.class
      new file mode 100644
      index 00000000000..f34c5fa075d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.class
      new file mode 100644
      index 00000000000..a6b1bb27854
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentFragment.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentFragment.class
      new file mode 100644
      index 00000000000..bacf0e76eff
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentFragment.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentType.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentType.class
      new file mode 100644
      index 00000000000..0ca7bd4c5ef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeDocumentType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeElement.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeElement.class
      new file mode 100644
      index 00000000000..8e398a215d8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeElement.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntity.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntity.class
      new file mode 100644
      index 00000000000..24197b0b881
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntity.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntityReference.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntityReference.class
      new file mode 100644
      index 00000000000..4a8f196072b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeEntityReference.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.class
      new file mode 100644
      index 00000000000..0ca72878a5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class
      new file mode 100644
      index 00000000000..9a6a5c69e97
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNodeList.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNodeList.class
      new file mode 100644
      index 00000000000..552641a98df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNodeList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNotation.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNotation.class
      new file mode 100644
      index 00000000000..f6b5d11d411
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeNotation.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.class
      new file mode 100644
      index 00000000000..7e0c32059f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeText.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeText.class
      new file mode 100644
      index 00000000000..79299bd1dc4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeText.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeTypeInfo.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeTypeInfo.class
      new file mode 100644
      index 00000000000..91918d9c64e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeTypeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathExpression.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathExpression.class
      new file mode 100644
      index 00000000000..6a9eeacbdb8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathExpression.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.class
      new file mode 100644
      index 00000000000..1ac3fe11903
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNodeList.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNodeList.class
      new file mode 100644
      index 00000000000..a8568c73105
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathNodeList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathResult.class b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathResult.class
      new file mode 100644
      index 00000000000..d8006e3e3f8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/dom/GnomeXPathResult.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeLocator.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeLocator.class
      new file mode 100644
      index 00000000000..3cd1ee602c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeLocator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParser.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParser.class
      new file mode 100644
      index 00000000000..458c7f04f9f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.class
      new file mode 100644
      index 00000000000..0b2f698567c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeXMLReader.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeXMLReader.class
      new file mode 100644
      index 00000000000..a12f58e3098
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/GnomeXMLReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class
      new file mode 100644
      index 00000000000..9cdd479f9b0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/Namespaces.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/StringArrayAttributes.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/StringArrayAttributes.class
      new file mode 100644
      index 00000000000..f3d4fba1ef8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/StringArrayAttributes.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/sax/XMLName.class b/libjava/classpath/lib/gnu/xml/libxmlj/sax/XMLName.class
      new file mode 100644
      index 00000000000..d66655ed28a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/sax/XMLName.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.class b/libjava/classpath/lib/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.class
      new file mode 100644
      index 00000000000..9c377bb5df3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class
      new file mode 100644
      index 00000000000..5595c3c834d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.class b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.class
      new file mode 100644
      index 00000000000..f64bb975b9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory.class b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory.class
      new file mode 100644
      index 00000000000..33872e17d2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/transform/GnomeTransformerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/transform/URIResolverEntityResolver.class b/libjava/classpath/lib/gnu/xml/libxmlj/transform/URIResolverEntityResolver.class
      new file mode 100644
      index 00000000000..799f455143a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/transform/URIResolverEntityResolver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/util/EmptyNodeList.class b/libjava/classpath/lib/gnu/xml/libxmlj/util/EmptyNodeList.class
      new file mode 100644
      index 00000000000..cbff97daa65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/util/EmptyNodeList.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/util/NamedInputStream.class b/libjava/classpath/lib/gnu/xml/libxmlj/util/NamedInputStream.class
      new file mode 100644
      index 00000000000..b0fa30cd37d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/util/NamedInputStream.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneDocumentType.class b/libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneDocumentType.class
      new file mode 100644
      index 00000000000..63c1435b662
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneDocumentType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneLocator.class b/libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneLocator.class
      new file mode 100644
      index 00000000000..c02bd6d6a53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/util/StandaloneLocator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.class b/libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.class
      new file mode 100644
      index 00000000000..69baedb3e32
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ.class b/libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ.class
      new file mode 100644
      index 00000000000..00aceaed4aa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/libxmlj/util/XMLJ.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/CallFilter$Requestor.class b/libjava/classpath/lib/gnu/xml/pipeline/CallFilter$Requestor.class
      new file mode 100644
      index 00000000000..6734da4eb58
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/CallFilter$Requestor.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/CallFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/CallFilter.class
      new file mode 100644
      index 00000000000..2a0abca2527
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/CallFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/DomConsumer$Handler.class b/libjava/classpath/lib/gnu/xml/pipeline/DomConsumer$Handler.class
      new file mode 100644
      index 00000000000..e9877fc80b6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/DomConsumer$Handler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/DomConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/DomConsumer.class
      new file mode 100644
      index 00000000000..024b879bc47
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/DomConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/EventConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/EventConsumer.class
      new file mode 100644
      index 00000000000..d6b45fca09c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/EventConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/EventFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/EventFilter.class
      new file mode 100644
      index 00000000000..ada998d556e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/EventFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/LinkFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/LinkFilter.class
      new file mode 100644
      index 00000000000..fff322f472e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/LinkFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/NSFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/NSFilter.class
      new file mode 100644
      index 00000000000..792319d9c13
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/NSFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class
      new file mode 100644
      index 00000000000..27c6977ba8a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Pipeline.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class
      new file mode 100644
      index 00000000000..4f2b6b85c54
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory$Stage.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class
      new file mode 100644
      index 00000000000..0f8ee98bee1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/PipelineFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class
      new file mode 100644
      index 00000000000..2e620356d3a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/TeeConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/TextConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/TextConsumer.class
      new file mode 100644
      index 00000000000..09a0ec47fa9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/TextConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.class
      new file mode 100644
      index 00000000000..60246a5676d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class
      new file mode 100644
      index 00000000000..8e0d5e56b96
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class
      new file mode 100644
      index 00000000000..e00c7ac40e8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$ElementInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class
      new file mode 100644
      index 00000000000..81e1374e8a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class
      new file mode 100644
      index 00000000000..0f2250722a4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class
      new file mode 100644
      index 00000000000..f2581c1f0da
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer$Recognizer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class
      new file mode 100644
      index 00000000000..cfaa0fd5bd3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/ValidationConsumer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/WellFormednessFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/WellFormednessFilter.class
      new file mode 100644
      index 00000000000..9fe9cae42ab
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/WellFormednessFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter$Scrubber.class b/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter$Scrubber.class
      new file mode 100644
      index 00000000000..0905ebdba07
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter$Scrubber.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class
      new file mode 100644
      index 00000000000..8e76a74d40e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/XIncludeFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/pipeline/XsltFilter.class b/libjava/classpath/lib/gnu/xml/pipeline/XsltFilter.class
      new file mode 100644
      index 00000000000..6209a5b8f26
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/pipeline/XsltFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/AttributeImpl.class b/libjava/classpath/lib/gnu/xml/stream/AttributeImpl.class
      new file mode 100644
      index 00000000000..b3ebe4577dc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/AttributeImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/BufferedReader.class b/libjava/classpath/lib/gnu/xml/stream/BufferedReader.class
      new file mode 100644
      index 00000000000..aba98124f50
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/BufferedReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/CRLFReader.class b/libjava/classpath/lib/gnu/xml/stream/CRLFReader.class
      new file mode 100644
      index 00000000000..d0d1f16f274
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/CRLFReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/CharactersImpl.class b/libjava/classpath/lib/gnu/xml/stream/CharactersImpl.class
      new file mode 100644
      index 00000000000..915b3be491c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/CharactersImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/CommentImpl.class b/libjava/classpath/lib/gnu/xml/stream/CommentImpl.class
      new file mode 100644
      index 00000000000..0122df27a2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/CommentImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/DTDImpl.class b/libjava/classpath/lib/gnu/xml/stream/DTDImpl.class
      new file mode 100644
      index 00000000000..e2487a5d006
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/DTDImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/EndDocumentImpl.class b/libjava/classpath/lib/gnu/xml/stream/EndDocumentImpl.class
      new file mode 100644
      index 00000000000..d017cf68b59
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/EndDocumentImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/EndElementImpl.class b/libjava/classpath/lib/gnu/xml/stream/EndElementImpl.class
      new file mode 100644
      index 00000000000..b7278bba827
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/EndElementImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/EntityDeclarationImpl.class b/libjava/classpath/lib/gnu/xml/stream/EntityDeclarationImpl.class
      new file mode 100644
      index 00000000000..a04e1348a2e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/EntityDeclarationImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/EntityReferenceImpl.class b/libjava/classpath/lib/gnu/xml/stream/EntityReferenceImpl.class
      new file mode 100644
      index 00000000000..d2c136a4038
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/EntityReferenceImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/FilteredEventReader.class b/libjava/classpath/lib/gnu/xml/stream/FilteredEventReader.class
      new file mode 100644
      index 00000000000..1fbee1aa2f9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/FilteredEventReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class b/libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class
      new file mode 100644
      index 00000000000..52af9eb1d38
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class b/libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class
      new file mode 100644
      index 00000000000..dc1e8a43861
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/NotationDeclarationImpl.class b/libjava/classpath/lib/gnu/xml/stream/NotationDeclarationImpl.class
      new file mode 100644
      index 00000000000..5dfe9b63aee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/NotationDeclarationImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/ProcessingInstructionImpl.class b/libjava/classpath/lib/gnu/xml/stream/ProcessingInstructionImpl.class
      new file mode 100644
      index 00000000000..c22ae475079
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/ProcessingInstructionImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/SAXParser.class b/libjava/classpath/lib/gnu/xml/stream/SAXParser.class
      new file mode 100644
      index 00000000000..10d7f073197
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/SAXParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class b/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class
      new file mode 100644
      index 00000000000..5013c5be9f0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/SAXParserFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/StartDocumentImpl.class b/libjava/classpath/lib/gnu/xml/stream/StartDocumentImpl.class
      new file mode 100644
      index 00000000000..46074a86be8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/StartDocumentImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/StartElementImpl.class b/libjava/classpath/lib/gnu/xml/stream/StartElementImpl.class
      new file mode 100644
      index 00000000000..05783549f56
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/StartElementImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/UnicodeReader.class b/libjava/classpath/lib/gnu/xml/stream/UnicodeReader.class
      new file mode 100644
      index 00000000000..75aa1182070
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/UnicodeReader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class b/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class
      new file mode 100644
      index 00000000000..f659aa6cad5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class
      new file mode 100644
      index 00000000000..1a19a8f4a2a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class
      new file mode 100644
      index 00000000000..b6336683457
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLEventImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLEventImpl.class
      new file mode 100644
      index 00000000000..187ee4f6e27
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLEventImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLEventReaderImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLEventReaderImpl.class
      new file mode 100644
      index 00000000000..bcc1376e172
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLEventReaderImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLEventWriterImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLEventWriterImpl.class
      new file mode 100644
      index 00000000000..9efa1e25116
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLEventWriterImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLInputFactoryImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLInputFactoryImpl.class
      new file mode 100644
      index 00000000000..5e8c60a8014
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLInputFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLOutputFactoryImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLOutputFactoryImpl.class
      new file mode 100644
      index 00000000000..62f20e369e3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLOutputFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class
      new file mode 100644
      index 00000000000..df7b43baf03
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class
      new file mode 100644
      index 00000000000..b3457c54270
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Attribute.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class
      new file mode 100644
      index 00000000000..8ca9de327de
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class
      new file mode 100644
      index 00000000000..95921cf64b5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class
      new file mode 100644
      index 00000000000..d6189eb3a47
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentParticle.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class
      new file mode 100644
      index 00000000000..405545d9604
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Doctype.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class
      new file mode 100644
      index 00000000000..30d2626e86f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class
      new file mode 100644
      index 00000000000..fcfaca7a49e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class
      new file mode 100644
      index 00000000000..e1a134fdba4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class
      new file mode 100644
      index 00000000000..ddd6c4c2abf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class
      new file mode 100644
      index 00000000000..63bc30f3a03
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser.class
      new file mode 100644
      index 00000000000..54792a1be55
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class b/libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class
      new file mode 100644
      index 00000000000..de4a722c113
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/AbstractNumberNode.class b/libjava/classpath/lib/gnu/xml/transform/AbstractNumberNode.class
      new file mode 100644
      index 00000000000..6a14d1be698
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/AbstractNumberNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ApplyImportsNode.class b/libjava/classpath/lib/gnu/xml/transform/ApplyImportsNode.class
      new file mode 100644
      index 00000000000..551bfc93d3a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ApplyImportsNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ApplyTemplatesNode.class b/libjava/classpath/lib/gnu/xml/transform/ApplyTemplatesNode.class
      new file mode 100644
      index 00000000000..bb84b9ed7bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ApplyTemplatesNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/AttributeNode.class b/libjava/classpath/lib/gnu/xml/transform/AttributeNode.class
      new file mode 100644
      index 00000000000..a73cf7ee874
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/AttributeNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/AttributeSet.class b/libjava/classpath/lib/gnu/xml/transform/AttributeSet.class
      new file mode 100644
      index 00000000000..fbdd9abb1b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/AttributeSet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/Bindings.class b/libjava/classpath/lib/gnu/xml/transform/Bindings.class
      new file mode 100644
      index 00000000000..bc75bd80e69
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/Bindings.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/CallTemplateNode.class b/libjava/classpath/lib/gnu/xml/transform/CallTemplateNode.class
      new file mode 100644
      index 00000000000..af045b2c671
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/CallTemplateNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ChooseNode.class b/libjava/classpath/lib/gnu/xml/transform/ChooseNode.class
      new file mode 100644
      index 00000000000..fa8495e5fd6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ChooseNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/CommentNode.class b/libjava/classpath/lib/gnu/xml/transform/CommentNode.class
      new file mode 100644
      index 00000000000..601e8fdbcb4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/CommentNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/CopyNode.class b/libjava/classpath/lib/gnu/xml/transform/CopyNode.class
      new file mode 100644
      index 00000000000..c74f384beeb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/CopyNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/CopyOfNode.class b/libjava/classpath/lib/gnu/xml/transform/CopyOfNode.class
      new file mode 100644
      index 00000000000..e15bc898a51
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/CopyOfNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/CurrentFunction.class b/libjava/classpath/lib/gnu/xml/transform/CurrentFunction.class
      new file mode 100644
      index 00000000000..8fb1b608d20
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/CurrentFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/DOMSourceLocator.class b/libjava/classpath/lib/gnu/xml/transform/DOMSourceLocator.class
      new file mode 100644
      index 00000000000..a52c3608669
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/DOMSourceLocator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class b/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class
      new file mode 100644
      index 00000000000..a4797a838c1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/DocumentFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class b/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class
      new file mode 100644
      index 00000000000..98e0bb87bd3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ElementAvailableFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ElementNode.class b/libjava/classpath/lib/gnu/xml/transform/ElementNode.class
      new file mode 100644
      index 00000000000..b6f5f4ae90e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ElementNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ErrorListenerErrorHandler.class b/libjava/classpath/lib/gnu/xml/transform/ErrorListenerErrorHandler.class
      new file mode 100644
      index 00000000000..2cf13cb72ed
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ErrorListenerErrorHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ForEachNode.class b/libjava/classpath/lib/gnu/xml/transform/ForEachNode.class
      new file mode 100644
      index 00000000000..1ba63386b77
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ForEachNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/FormatNumberFunction.class b/libjava/classpath/lib/gnu/xml/transform/FormatNumberFunction.class
      new file mode 100644
      index 00000000000..02e8c1cd282
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/FormatNumberFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class b/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class
      new file mode 100644
      index 00000000000..f73e2a5fbf6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/FunctionAvailableFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class b/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class
      new file mode 100644
      index 00000000000..d843772f094
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/GenerateIdFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/IfNode.class b/libjava/classpath/lib/gnu/xml/transform/IfNode.class
      new file mode 100644
      index 00000000000..4abd1d272a0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/IfNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/Key.class b/libjava/classpath/lib/gnu/xml/transform/Key.class
      new file mode 100644
      index 00000000000..a4c12046394
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/Key.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/KeyFunction.class b/libjava/classpath/lib/gnu/xml/transform/KeyFunction.class
      new file mode 100644
      index 00000000000..f8057652c93
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/KeyFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/LiteralNode.class b/libjava/classpath/lib/gnu/xml/transform/LiteralNode.class
      new file mode 100644
      index 00000000000..5c7c1e8e712
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/LiteralNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/MessageNode.class b/libjava/classpath/lib/gnu/xml/transform/MessageNode.class
      new file mode 100644
      index 00000000000..b07186678db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/MessageNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/NamespaceProxy.class b/libjava/classpath/lib/gnu/xml/transform/NamespaceProxy.class
      new file mode 100644
      index 00000000000..bfde993d73d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/NamespaceProxy.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/NodeNumberNode.class b/libjava/classpath/lib/gnu/xml/transform/NodeNumberNode.class
      new file mode 100644
      index 00000000000..eaf5e4a9cd3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/NodeNumberNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/NumberNode.class b/libjava/classpath/lib/gnu/xml/transform/NumberNode.class
      new file mode 100644
      index 00000000000..1f2a9c79df5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/NumberNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/OtherwiseNode.class b/libjava/classpath/lib/gnu/xml/transform/OtherwiseNode.class
      new file mode 100644
      index 00000000000..f6daf9e52ae
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/OtherwiseNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ParameterNode.class b/libjava/classpath/lib/gnu/xml/transform/ParameterNode.class
      new file mode 100644
      index 00000000000..7352637c78f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ParameterNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ProcessingInstructionNode.class b/libjava/classpath/lib/gnu/xml/transform/ProcessingInstructionNode.class
      new file mode 100644
      index 00000000000..9ce2b35e6bd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ProcessingInstructionNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class
      new file mode 100644
      index 00000000000..46a63395c04
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/SAXSerializer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXTemplatesHandler.class b/libjava/classpath/lib/gnu/xml/transform/SAXTemplatesHandler.class
      new file mode 100644
      index 00000000000..9264e76cf53
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/SAXTemplatesHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/SAXTransformerHandler.class b/libjava/classpath/lib/gnu/xml/transform/SAXTransformerHandler.class
      new file mode 100644
      index 00000000000..2a70ca1b6db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/SAXTransformerHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/SortKey.class b/libjava/classpath/lib/gnu/xml/transform/SortKey.class
      new file mode 100644
      index 00000000000..dbcaf406225
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/SortKey.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class b/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class
      new file mode 100644
      index 00000000000..cc3e5b80d20
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/StreamSerializer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/StrippingInstruction.class b/libjava/classpath/lib/gnu/xml/transform/StrippingInstruction.class
      new file mode 100644
      index 00000000000..6bf335d8200
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/StrippingInstruction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class b/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class
      new file mode 100644
      index 00000000000..595eccd76af
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/Stylesheet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/SystemPropertyFunction.class b/libjava/classpath/lib/gnu/xml/transform/SystemPropertyFunction.class
      new file mode 100644
      index 00000000000..ba2ba8cad79
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/SystemPropertyFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/Template.class b/libjava/classpath/lib/gnu/xml/transform/Template.class
      new file mode 100644
      index 00000000000..693eab11c74
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/Template.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/TemplateNode.class b/libjava/classpath/lib/gnu/xml/transform/TemplateNode.class
      new file mode 100644
      index 00000000000..507c38f0d28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/TemplateNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/TemplatesImpl.class b/libjava/classpath/lib/gnu/xml/transform/TemplatesImpl.class
      new file mode 100644
      index 00000000000..34e0f74af36
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/TemplatesImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/TextNode.class b/libjava/classpath/lib/gnu/xml/transform/TextNode.class
      new file mode 100644
      index 00000000000..dcea7b96ef5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/TextNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/TransformerFactoryImpl.class b/libjava/classpath/lib/gnu/xml/transform/TransformerFactoryImpl.class
      new file mode 100644
      index 00000000000..b7470cf85a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/TransformerFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/TransformerImpl.class b/libjava/classpath/lib/gnu/xml/transform/TransformerImpl.class
      new file mode 100644
      index 00000000000..55db4fe5ba1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/TransformerImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class b/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class
      new file mode 100644
      index 00000000000..f8a20b8adf4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/TransformerOutputProperties.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/URIResolverEntityResolver.class b/libjava/classpath/lib/gnu/xml/transform/URIResolverEntityResolver.class
      new file mode 100644
      index 00000000000..c69728c49a8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/URIResolverEntityResolver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/UnparsedEntityUriFunction.class b/libjava/classpath/lib/gnu/xml/transform/UnparsedEntityUriFunction.class
      new file mode 100644
      index 00000000000..470c75c99fc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/UnparsedEntityUriFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/ValueOfNode.class b/libjava/classpath/lib/gnu/xml/transform/ValueOfNode.class
      new file mode 100644
      index 00000000000..d583dcfd35e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/ValueOfNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/WhenNode.class b/libjava/classpath/lib/gnu/xml/transform/WhenNode.class
      new file mode 100644
      index 00000000000..fccfca9b54e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/WhenNode.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/WithParam.class b/libjava/classpath/lib/gnu/xml/transform/WithParam.class
      new file mode 100644
      index 00000000000..788a08467bb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/WithParam.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class b/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class
      new file mode 100644
      index 00000000000..554411177be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/XSLComparator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/transform/XSLURIResolver.class b/libjava/classpath/lib/gnu/xml/transform/XSLURIResolver.class
      new file mode 100644
      index 00000000000..5fc53be4fd5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/transform/XSLURIResolver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/DoParse$MyErrorHandler.class b/libjava/classpath/lib/gnu/xml/util/DoParse$MyErrorHandler.class
      new file mode 100644
      index 00000000000..eb178d755fb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/DoParse$MyErrorHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/DoParse.class b/libjava/classpath/lib/gnu/xml/util/DoParse.class
      new file mode 100644
      index 00000000000..7f87a146613
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/DoParse.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/DomParser.class b/libjava/classpath/lib/gnu/xml/util/DomParser.class
      new file mode 100644
      index 00000000000..6a42fea2371
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/DomParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/Resolver.class b/libjava/classpath/lib/gnu/xml/util/Resolver.class
      new file mode 100644
      index 00000000000..67f58619204
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/Resolver.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class
      new file mode 100644
      index 00000000000..2d27b394094
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class
      new file mode 100644
      index 00000000000..a1c13cc6aa9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class
      new file mode 100644
      index 00000000000..84517f3e8db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.class
      new file mode 100644
      index 00000000000..7ae3a25f3e5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class
      new file mode 100644
      index 00000000000..9f46375356d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class
      new file mode 100644
      index 00000000000..3f7845cd836
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class
      new file mode 100644
      index 00000000000..8e43b6c5e37
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/SAXNullTransformerFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class b/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class
      new file mode 100644
      index 00000000000..6ffce36b358
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/XCat$Catalog.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/XCat$DoneDelegation.class b/libjava/classpath/lib/gnu/xml/util/XCat$DoneDelegation.class
      new file mode 100644
      index 00000000000..3d8b904cbc5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/XCat$DoneDelegation.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class b/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class
      new file mode 100644
      index 00000000000..5c55575b1a4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/XCat$Loader.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/XCat.class b/libjava/classpath/lib/gnu/xml/util/XCat.class
      new file mode 100644
      index 00000000000..9e1af09ac3d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/XCat.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/XHTMLWriter.class b/libjava/classpath/lib/gnu/xml/util/XHTMLWriter.class
      new file mode 100644
      index 00000000000..717eb4f39d0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/XHTMLWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/util/XMLWriter.class b/libjava/classpath/lib/gnu/xml/util/XMLWriter.class
      new file mode 100644
      index 00000000000..65ac2d0eb62
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/util/XMLWriter.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/Annotation.class b/libjava/classpath/lib/gnu/xml/validation/datatype/Annotation.class
      new file mode 100644
      index 00000000000..155ce7dd990
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/Annotation.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/AnySimpleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/AnySimpleType.class
      new file mode 100644
      index 00000000000..2a2088e8601
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/AnySimpleType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/AnyType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/AnyType.class
      new file mode 100644
      index 00000000000..4d8dea99939
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/AnyType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/AnyURIType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/AnyURIType.class
      new file mode 100644
      index 00000000000..46e6aef3c41
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/AnyURIType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/AtomicSimpleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/AtomicSimpleType.class
      new file mode 100644
      index 00000000000..acc196e01f4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/AtomicSimpleType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/Base64BinaryType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/Base64BinaryType.class
      new file mode 100644
      index 00000000000..65a8ec99432
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/Base64BinaryType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class
      new file mode 100644
      index 00000000000..321f8973df0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/BooleanType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/ByteType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/ByteType.class
      new file mode 100644
      index 00000000000..d9d58a25a5b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/ByteType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class
      new file mode 100644
      index 00000000000..8537c0394a9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/DateTimeType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class
      new file mode 100644
      index 00000000000..8e2aba55a59
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/DateType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DecimalType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DecimalType.class
      new file mode 100644
      index 00000000000..ea1d9f4d280
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/DecimalType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class
      new file mode 100644
      index 00000000000..371fe616877
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/DoubleType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DurationType$Duration.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DurationType$Duration.class
      new file mode 100644
      index 00000000000..6fceee19587
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/DurationType$Duration.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/DurationType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/DurationType.class
      new file mode 100644
      index 00000000000..8103c76bee2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/DurationType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/EntitiesType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/EntitiesType.class
      new file mode 100644
      index 00000000000..26034eef8e1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/EntitiesType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/EntityType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/EntityType.class
      new file mode 100644
      index 00000000000..3f3dbf93422
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/EntityType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/EnumerationFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/EnumerationFacet.class
      new file mode 100644
      index 00000000000..64f07fd2f61
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/EnumerationFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/Facet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/Facet.class
      new file mode 100644
      index 00000000000..3032a8003e3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/Facet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class
      new file mode 100644
      index 00000000000..39741ba75cc
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/FloatType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/FractionDigitsFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/FractionDigitsFacet.class
      new file mode 100644
      index 00000000000..683ffd4ebd0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/FractionDigitsFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GDayType$GDay.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GDayType$GDay.class
      new file mode 100644
      index 00000000000..e64eded39c4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GDayType$GDay.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GDayType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GDayType.class
      new file mode 100644
      index 00000000000..fb39e466e70
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GDayType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.class
      new file mode 100644
      index 00000000000..3b9cf6ee68b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType.class
      new file mode 100644
      index 00000000000..80001ae83b2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthDayType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType$GMonth.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType$GMonth.class
      new file mode 100644
      index 00000000000..12e7280be0e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType$GMonth.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType.class
      new file mode 100644
      index 00000000000..b9d0b89a94b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GMonthType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.class
      new file mode 100644
      index 00000000000..ea64e7c4664
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType.class
      new file mode 100644
      index 00000000000..bc4606d9fe1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearMonthType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GYearType$GYear.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearType$GYear.class
      new file mode 100644
      index 00000000000..586112b08a2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearType$GYear.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/GYearType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearType.class
      new file mode 100644
      index 00000000000..17c15342912
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/GYearType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/HexBinaryType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/HexBinaryType.class
      new file mode 100644
      index 00000000000..9ff9248e6ef
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/HexBinaryType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/IDRefType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/IDRefType.class
      new file mode 100644
      index 00000000000..d18c802d280
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/IDRefType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/IDRefsType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/IDRefsType.class
      new file mode 100644
      index 00000000000..84caeeda571
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/IDRefsType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/IDType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/IDType.class
      new file mode 100644
      index 00000000000..cc0b69b7479
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/IDType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/IntType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/IntType.class
      new file mode 100644
      index 00000000000..e3a0fa55a91
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/IntType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/IntegerType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/IntegerType.class
      new file mode 100644
      index 00000000000..2efe2068ed1
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/IntegerType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/LanguageType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/LanguageType.class
      new file mode 100644
      index 00000000000..0ba7112e55d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/LanguageType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/LengthFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/LengthFacet.class
      new file mode 100644
      index 00000000000..ad35403df56
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/LengthFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/ListSimpleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/ListSimpleType.class
      new file mode 100644
      index 00000000000..17366313e06
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/ListSimpleType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/LongType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/LongType.class
      new file mode 100644
      index 00000000000..ef1b1bbe949
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/LongType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/MaxExclusiveFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/MaxExclusiveFacet.class
      new file mode 100644
      index 00000000000..d0df8875f23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/MaxExclusiveFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/MaxInclusiveFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/MaxInclusiveFacet.class
      new file mode 100644
      index 00000000000..ec68c3a66f5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/MaxInclusiveFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/MaxLengthFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/MaxLengthFacet.class
      new file mode 100644
      index 00000000000..bb9969d6d39
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/MaxLengthFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/MinExclusiveFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/MinExclusiveFacet.class
      new file mode 100644
      index 00000000000..3d5671496c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/MinExclusiveFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/MinInclusiveFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/MinInclusiveFacet.class
      new file mode 100644
      index 00000000000..bb77abf6542
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/MinInclusiveFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/MinLengthFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/MinLengthFacet.class
      new file mode 100644
      index 00000000000..49fdb410b23
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/MinLengthFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NCNameType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NCNameType.class
      new file mode 100644
      index 00000000000..de7aa264096
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NCNameType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NMTokenType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NMTokenType.class
      new file mode 100644
      index 00000000000..e741b06c3a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NMTokenType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NMTokensType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NMTokensType.class
      new file mode 100644
      index 00000000000..f0a0dffd706
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NMTokensType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NameType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NameType.class
      new file mode 100644
      index 00000000000..c06c6f14972
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NameType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NegativeIntegerType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NegativeIntegerType.class
      new file mode 100644
      index 00000000000..c6f5fba4a3d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NegativeIntegerType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NonNegativeIntegerType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NonNegativeIntegerType.class
      new file mode 100644
      index 00000000000..d262b84ae1b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NonNegativeIntegerType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NonPositiveIntegerType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NonPositiveIntegerType.class
      new file mode 100644
      index 00000000000..a3b9b762722
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NonPositiveIntegerType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NormalizedStringType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NormalizedStringType.class
      new file mode 100644
      index 00000000000..4cf49a60240
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NormalizedStringType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/NotationType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/NotationType.class
      new file mode 100644
      index 00000000000..bea3e1e0218
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/NotationType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/PatternFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/PatternFacet.class
      new file mode 100644
      index 00000000000..2ac44071b2d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/PatternFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/PositiveIntegerType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/PositiveIntegerType.class
      new file mode 100644
      index 00000000000..9d4f2a83e28
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/PositiveIntegerType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/QNameType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/QNameType.class
      new file mode 100644
      index 00000000000..0d6e5832a0d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/QNameType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/ShortType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/ShortType.class
      new file mode 100644
      index 00000000000..000e6e84613
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/ShortType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/SimpleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/SimpleType.class
      new file mode 100644
      index 00000000000..7151477bf5e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/SimpleType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/StringType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/StringType.class
      new file mode 100644
      index 00000000000..35cf9412357
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/StringType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType$Time.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType$Time.class
      new file mode 100644
      index 00000000000..008e0729a63
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType$Time.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class
      new file mode 100644
      index 00000000000..522aa1acefe
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TimeType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TokenType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TokenType.class
      new file mode 100644
      index 00000000000..03c3846295d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TokenType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TotalDigitsFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TotalDigitsFacet.class
      new file mode 100644
      index 00000000000..569d3583938
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TotalDigitsFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/Type.class b/libjava/classpath/lib/gnu/xml/validation/datatype/Type.class
      new file mode 100644
      index 00000000000..637eb4f2500
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/Type.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TypeBuilder.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TypeBuilder.class
      new file mode 100644
      index 00000000000..6c9ee2a353e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TypeBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibrary.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibrary.class
      new file mode 100644
      index 00000000000..37f6f8383c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibrary.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibraryFactory.class b/libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibraryFactory.class
      new file mode 100644
      index 00000000000..90fc6357d77
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/TypeLibraryFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/UnionSimpleType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/UnionSimpleType.class
      new file mode 100644
      index 00000000000..958b266ea3e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/UnionSimpleType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedByteType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedByteType.class
      new file mode 100644
      index 00000000000..d839b1e684c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedByteType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedIntType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedIntType.class
      new file mode 100644
      index 00000000000..12b0317169c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedIntType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedLongType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedLongType.class
      new file mode 100644
      index 00000000000..4264205e699
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedLongType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedShortType.class b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedShortType.class
      new file mode 100644
      index 00000000000..a6bf3ddade0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/UnsignedShortType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/datatype/WhiteSpaceFacet.class b/libjava/classpath/lib/gnu/xml/validation/datatype/WhiteSpaceFacet.class
      new file mode 100644
      index 00000000000..a8e452ff8e3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/datatype/WhiteSpaceFacet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/AnyNameNameClass.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/AnyNameNameClass.class
      new file mode 100644
      index 00000000000..64cd6ac1b9c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/AnyNameNameClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/AttributePattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/AttributePattern.class
      new file mode 100644
      index 00000000000..7e83bd124a7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/AttributePattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/ChoiceNameClass.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/ChoiceNameClass.class
      new file mode 100644
      index 00000000000..81ec7af80db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/ChoiceNameClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/ChoicePattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/ChoicePattern.class
      new file mode 100644
      index 00000000000..91b170ff262
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/ChoicePattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/DataPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/DataPattern.class
      new file mode 100644
      index 00000000000..1fda20dc748
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/DataPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/Define.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/Define.class
      new file mode 100644
      index 00000000000..41fee5eff5a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/Define.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/ElementPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/ElementPattern.class
      new file mode 100644
      index 00000000000..d351d4c0d60
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/ElementPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/EmptyPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/EmptyPattern.class
      new file mode 100644
      index 00000000000..53ced659dcf
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/EmptyPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class
      new file mode 100644
      index 00000000000..879ead3a456
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/FullSyntaxBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/Grammar.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/Grammar.class
      new file mode 100644
      index 00000000000..26630a9710f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/Grammar.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarException.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarException.class
      new file mode 100644
      index 00000000000..7ee2e47e2d5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarValidator.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarValidator.class
      new file mode 100644
      index 00000000000..a7ba34f578d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/GrammarValidator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/GroupPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/GroupPattern.class
      new file mode 100644
      index 00000000000..4593becd067
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/GroupPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/InterleavePattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/InterleavePattern.class
      new file mode 100644
      index 00000000000..ee085010dc9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/InterleavePattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/ListPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/ListPattern.class
      new file mode 100644
      index 00000000000..563ea50583e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/ListPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/NSNameNameClass.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/NSNameNameClass.class
      new file mode 100644
      index 00000000000..44526e8f873
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/NSNameNameClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/NameClass.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/NameClass.class
      new file mode 100644
      index 00000000000..9f68a9f83be
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/NameClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/NameNameClass.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/NameNameClass.class
      new file mode 100644
      index 00000000000..8508269730e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/NameNameClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/NotAllowedPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/NotAllowedPattern.class
      new file mode 100644
      index 00000000000..de7c1fdde94
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/NotAllowedPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/OneOrMorePattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/OneOrMorePattern.class
      new file mode 100644
      index 00000000000..a551b439860
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/OneOrMorePattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/Param.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/Param.class
      new file mode 100644
      index 00000000000..339ab0963ad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/Param.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/Pattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/Pattern.class
      new file mode 100644
      index 00000000000..8c4fa5331b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/Pattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.class
      new file mode 100644
      index 00000000000..9baf00beac7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/RefPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/RefPattern.class
      new file mode 100644
      index 00000000000..bc1088a01fa
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/RefPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/TextPattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/TextPattern.class
      new file mode 100644
      index 00000000000..4cf2b89a3b8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/TextPattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/relaxng/ValuePattern.class b/libjava/classpath/lib/gnu/xml/validation/relaxng/ValuePattern.class
      new file mode 100644
      index 00000000000..f27bc0dddce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/relaxng/ValuePattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/AnyAttribute.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/AnyAttribute.class
      new file mode 100644
      index 00000000000..3b05d7e2c2b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/AnyAttribute.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeDeclaration.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeDeclaration.class
      new file mode 100644
      index 00000000000..55d207a0892
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeDeclaration.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeUse.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeUse.class
      new file mode 100644
      index 00000000000..5df4ffda546
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/AttributeUse.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/ComplexType.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/ComplexType.class
      new file mode 100644
      index 00000000000..1249a43af09
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/ComplexType.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/ElementDeclaration.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/ElementDeclaration.class
      new file mode 100644
      index 00000000000..d56b4b83a93
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/ElementDeclaration.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/Particle.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/Particle.class
      new file mode 100644
      index 00000000000..cd48e71059e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/Particle.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/ValidationException.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/ValidationException.class
      new file mode 100644
      index 00000000000..f09a79ca306
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/ValidationException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchema.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchema.class
      new file mode 100644
      index 00000000000..393f3f2c3df
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchema.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.class
      new file mode 100644
      index 00000000000..e3294ea9b69
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaBuilder.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaBuilder.class
      new file mode 100644
      index 00000000000..04a824ba9c0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaBuilder.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.class
      new file mode 100644
      index 00000000000..a5c892cbf50
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.class
      new file mode 100644
      index 00000000000..60ac110b7c2
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.class
      new file mode 100644
      index 00000000000..edcc6149575
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.class
      new file mode 100644
      index 00000000000..7a457b6669c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidator.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidator.class
      new file mode 100644
      index 00000000000..823a554e09c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.class b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.class
      new file mode 100644
      index 00000000000..da9085fab52
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/AndExpr.class b/libjava/classpath/lib/gnu/xml/xpath/AndExpr.class
      new file mode 100644
      index 00000000000..42a921f32ce
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/AndExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/ArithmeticExpr.class b/libjava/classpath/lib/gnu/xml/xpath/ArithmeticExpr.class
      new file mode 100644
      index 00000000000..de7f2fcb684
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/ArithmeticExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/BooleanFunction.class b/libjava/classpath/lib/gnu/xml/xpath/BooleanFunction.class
      new file mode 100644
      index 00000000000..960604c8314
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/BooleanFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/CeilingFunction.class b/libjava/classpath/lib/gnu/xml/xpath/CeilingFunction.class
      new file mode 100644
      index 00000000000..361d12464db
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/CeilingFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/ConcatFunction.class b/libjava/classpath/lib/gnu/xml/xpath/ConcatFunction.class
      new file mode 100644
      index 00000000000..4c706a233c0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/ConcatFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Constant.class b/libjava/classpath/lib/gnu/xml/xpath/Constant.class
      new file mode 100644
      index 00000000000..f3e58753adb
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Constant.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/ContainsFunction.class b/libjava/classpath/lib/gnu/xml/xpath/ContainsFunction.class
      new file mode 100644
      index 00000000000..5fb6023a045
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/ContainsFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/CountFunction.class b/libjava/classpath/lib/gnu/xml/xpath/CountFunction.class
      new file mode 100644
      index 00000000000..fad78cae443
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/CountFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/DocumentOrderComparator.class b/libjava/classpath/lib/gnu/xml/xpath/DocumentOrderComparator.class
      new file mode 100644
      index 00000000000..8b375856f4d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/DocumentOrderComparator.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/EqualityExpr.class b/libjava/classpath/lib/gnu/xml/xpath/EqualityExpr.class
      new file mode 100644
      index 00000000000..fb3075b1939
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/EqualityExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Expr$ExprNodeSet.class b/libjava/classpath/lib/gnu/xml/xpath/Expr$ExprNodeSet.class
      new file mode 100644
      index 00000000000..ebf27e41d19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Expr$ExprNodeSet.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Expr.class b/libjava/classpath/lib/gnu/xml/xpath/Expr.class
      new file mode 100644
      index 00000000000..cc1e8c7c22a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Expr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/FalseFunction.class b/libjava/classpath/lib/gnu/xml/xpath/FalseFunction.class
      new file mode 100644
      index 00000000000..5c950ab1cc6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/FalseFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/FloorFunction.class b/libjava/classpath/lib/gnu/xml/xpath/FloorFunction.class
      new file mode 100644
      index 00000000000..e630680de5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/FloorFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Function.class b/libjava/classpath/lib/gnu/xml/xpath/Function.class
      new file mode 100644
      index 00000000000..eb4c96e1c39
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Function.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/FunctionCall.class b/libjava/classpath/lib/gnu/xml/xpath/FunctionCall.class
      new file mode 100644
      index 00000000000..e78249cf237
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/FunctionCall.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/IdFunction.class b/libjava/classpath/lib/gnu/xml/xpath/IdFunction.class
      new file mode 100644
      index 00000000000..701fe7e5d19
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/IdFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/LangFunction.class b/libjava/classpath/lib/gnu/xml/xpath/LangFunction.class
      new file mode 100644
      index 00000000000..454957c4487
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/LangFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/LastFunction.class b/libjava/classpath/lib/gnu/xml/xpath/LastFunction.class
      new file mode 100644
      index 00000000000..37765a7324a
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/LastFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class b/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class
      new file mode 100644
      index 00000000000..3e5d22afd6c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/LocalNameFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class
      new file mode 100644
      index 00000000000..ae556d205b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NameFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NameTest.class b/libjava/classpath/lib/gnu/xml/xpath/NameTest.class
      new file mode 100644
      index 00000000000..7786e0bd9b7
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NameTest.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NamespaceTest.class b/libjava/classpath/lib/gnu/xml/xpath/NamespaceTest.class
      new file mode 100644
      index 00000000000..dc83c9834d3
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NamespaceTest.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class
      new file mode 100644
      index 00000000000..d143bfd8dd0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NamespaceUriFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NegativeExpr.class b/libjava/classpath/lib/gnu/xml/xpath/NegativeExpr.class
      new file mode 100644
      index 00000000000..486a7ecbb1e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NegativeExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NodeTypeTest.class b/libjava/classpath/lib/gnu/xml/xpath/NodeTypeTest.class
      new file mode 100644
      index 00000000000..19dd1e7824f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NodeTypeTest.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NormalizeSpaceFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NormalizeSpaceFunction.class
      new file mode 100644
      index 00000000000..8077365c42e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NormalizeSpaceFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NotFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NotFunction.class
      new file mode 100644
      index 00000000000..a62c05e9646
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NotFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/NumberFunction.class b/libjava/classpath/lib/gnu/xml/xpath/NumberFunction.class
      new file mode 100644
      index 00000000000..49843d274dd
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/NumberFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/OrExpr.class b/libjava/classpath/lib/gnu/xml/xpath/OrExpr.class
      new file mode 100644
      index 00000000000..f693efc63d4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/OrExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/ParenthesizedExpr.class b/libjava/classpath/lib/gnu/xml/xpath/ParenthesizedExpr.class
      new file mode 100644
      index 00000000000..3204f7ab7ac
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/ParenthesizedExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Path.class b/libjava/classpath/lib/gnu/xml/xpath/Path.class
      new file mode 100644
      index 00000000000..9dfbb9f3557
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Path.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Pattern.class b/libjava/classpath/lib/gnu/xml/xpath/Pattern.class
      new file mode 100644
      index 00000000000..a4e620f6ac0
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Pattern.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/PositionFunction.class b/libjava/classpath/lib/gnu/xml/xpath/PositionFunction.class
      new file mode 100644
      index 00000000000..a3332267dea
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/PositionFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Predicate.class b/libjava/classpath/lib/gnu/xml/xpath/Predicate.class
      new file mode 100644
      index 00000000000..3dd2338f206
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Predicate.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/RelationalExpr.class b/libjava/classpath/lib/gnu/xml/xpath/RelationalExpr.class
      new file mode 100644
      index 00000000000..e1534ca8840
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/RelationalExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Root.class b/libjava/classpath/lib/gnu/xml/xpath/Root.class
      new file mode 100644
      index 00000000000..f72433e704e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Root.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/RoundFunction.class b/libjava/classpath/lib/gnu/xml/xpath/RoundFunction.class
      new file mode 100644
      index 00000000000..69af4c9bc7e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/RoundFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Selector.class b/libjava/classpath/lib/gnu/xml/xpath/Selector.class
      new file mode 100644
      index 00000000000..d31e58ca0ee
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Selector.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/StartsWithFunction.class b/libjava/classpath/lib/gnu/xml/xpath/StartsWithFunction.class
      new file mode 100644
      index 00000000000..e44af9f17ba
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/StartsWithFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Steps.class b/libjava/classpath/lib/gnu/xml/xpath/Steps.class
      new file mode 100644
      index 00000000000..e2feed64d04
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Steps.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/StringFunction.class b/libjava/classpath/lib/gnu/xml/xpath/StringFunction.class
      new file mode 100644
      index 00000000000..de96161567b
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/StringFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/StringLengthFunction.class b/libjava/classpath/lib/gnu/xml/xpath/StringLengthFunction.class
      new file mode 100644
      index 00000000000..ef7032bd1d9
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/StringLengthFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/SubstringAfterFunction.class b/libjava/classpath/lib/gnu/xml/xpath/SubstringAfterFunction.class
      new file mode 100644
      index 00000000000..df689d64aad
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/SubstringAfterFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/SubstringBeforeFunction.class b/libjava/classpath/lib/gnu/xml/xpath/SubstringBeforeFunction.class
      new file mode 100644
      index 00000000000..ccbe7c5fd93
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/SubstringBeforeFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/SubstringFunction.class b/libjava/classpath/lib/gnu/xml/xpath/SubstringFunction.class
      new file mode 100644
      index 00000000000..53746375c65
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/SubstringFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/SumFunction.class b/libjava/classpath/lib/gnu/xml/xpath/SumFunction.class
      new file mode 100644
      index 00000000000..e4fbcbea6c6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/SumFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/Test.class b/libjava/classpath/lib/gnu/xml/xpath/Test.class
      new file mode 100644
      index 00000000000..40eaeafb152
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/Test.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/TranslateFunction.class b/libjava/classpath/lib/gnu/xml/xpath/TranslateFunction.class
      new file mode 100644
      index 00000000000..afbe0b2d2a5
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/TranslateFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/TrueFunction.class b/libjava/classpath/lib/gnu/xml/xpath/TrueFunction.class
      new file mode 100644
      index 00000000000..00b08371877
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/TrueFunction.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/UnionExpr.class b/libjava/classpath/lib/gnu/xml/xpath/UnionExpr.class
      new file mode 100644
      index 00000000000..1d0f4c3be0f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/UnionExpr.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/VariableReference.class b/libjava/classpath/lib/gnu/xml/xpath/VariableReference.class
      new file mode 100644
      index 00000000000..43e13e0153d
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/VariableReference.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathFactoryImpl.class b/libjava/classpath/lib/gnu/xml/xpath/XPathFactoryImpl.class
      new file mode 100644
      index 00000000000..09d426b7341
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathFactoryImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class b/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class
      new file mode 100644
      index 00000000000..7da93cc9a7e
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathImpl.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyCheckClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyCheckClass.class
      new file mode 100644
      index 00000000000..8be1bbc8d92
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyCheckClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDefRedClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDefRedClass.class
      new file mode 100644
      index 00000000000..1fe427dbd35
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDefRedClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDgotoClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDgotoClass.class
      new file mode 100644
      index 00000000000..eb13d8206b4
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyDgotoClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyGindexClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyGindexClass.class
      new file mode 100644
      index 00000000000..ae12af85ade
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyGindexClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLenClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLenClass.class
      new file mode 100644
      index 00000000000..563f40d74a6
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLenClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLhsClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLhsClass.class
      new file mode 100644
      index 00000000000..61bb72ccb69
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyLhsClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyNameClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyNameClass.class
      new file mode 100644
      index 00000000000..345c33c482f
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyNameClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyRindexClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyRindexClass.class
      new file mode 100644
      index 00000000000..c1d94e25537
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyRindexClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YySindexClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YySindexClass.class
      new file mode 100644
      index 00000000000..1ac22ce4858
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YySindexClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyTableClass.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyTableClass.class
      new file mode 100644
      index 00000000000..66abc5a9871
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$YyTableClass.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyException.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyException.class
      new file mode 100644
      index 00000000000..11453366a5c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyException.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyInput.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyInput.class
      new file mode 100644
      index 00000000000..7b672736d12
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser$yyInput.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class b/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class
      new file mode 100644
      index 00000000000..b93bf0af60c
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathParser.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer$XPathToken.class b/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer$XPathToken.class
      new file mode 100644
      index 00000000000..00854233319
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer$XPathToken.class differ
      diff --git a/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class b/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class
      new file mode 100644
      index 00000000000..1f6743cbbe8
      Binary files /dev/null and b/libjava/classpath/lib/gnu/xml/xpath/XPathTokenizer.class differ
      diff --git a/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class b/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class
      new file mode 100644
      index 00000000000..941060f307d
      Binary files /dev/null and b/libjava/classpath/lib/java/applet/Applet$AccessibleApplet.class differ
      diff --git a/libjava/classpath/lib/java/applet/Applet$URLAudioClip.class b/libjava/classpath/lib/java/applet/Applet$URLAudioClip.class
      new file mode 100644
      index 00000000000..e402a4a14bd
      Binary files /dev/null and b/libjava/classpath/lib/java/applet/Applet$URLAudioClip.class differ
      diff --git a/libjava/classpath/lib/java/applet/Applet.class b/libjava/classpath/lib/java/applet/Applet.class
      new file mode 100644
      index 00000000000..f698f174783
      Binary files /dev/null and b/libjava/classpath/lib/java/applet/Applet.class differ
      diff --git a/libjava/classpath/lib/java/applet/AppletContext.class b/libjava/classpath/lib/java/applet/AppletContext.class
      new file mode 100644
      index 00000000000..4e3e677c1c8
      Binary files /dev/null and b/libjava/classpath/lib/java/applet/AppletContext.class differ
      diff --git a/libjava/classpath/lib/java/applet/AppletStub.class b/libjava/classpath/lib/java/applet/AppletStub.class
      new file mode 100644
      index 00000000000..95622ca5ebf
      Binary files /dev/null and b/libjava/classpath/lib/java/applet/AppletStub.class differ
      diff --git a/libjava/classpath/lib/java/applet/AudioClip.class b/libjava/classpath/lib/java/applet/AudioClip.class
      new file mode 100644
      index 00000000000..5a337f100be
      Binary files /dev/null and b/libjava/classpath/lib/java/applet/AudioClip.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTError.class b/libjava/classpath/lib/java/awt/AWTError.class
      new file mode 100644
      index 00000000000..1c2c2d68360
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTError.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTEvent.class b/libjava/classpath/lib/java/awt/AWTEvent.class
      new file mode 100644
      index 00000000000..c48dbf1ad43
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTEventMulticaster.class b/libjava/classpath/lib/java/awt/AWTEventMulticaster.class
      new file mode 100644
      index 00000000000..1e543de2941
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTEventMulticaster.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTException.class b/libjava/classpath/lib/java/awt/AWTException.class
      new file mode 100644
      index 00000000000..65a5c73c244
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTException.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class
      new file mode 100644
      index 00000000000..b82323aeaf1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTKeyStroke$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class
      new file mode 100644
      index 00000000000..a23cf24f820
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTKeyStroke$2.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class b/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class
      new file mode 100644
      index 00000000000..c6e66864b19
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTKeyStroke$3.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTKeyStroke.class b/libjava/classpath/lib/java/awt/AWTKeyStroke.class
      new file mode 100644
      index 00000000000..5695cda2d17
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTKeyStroke.class differ
      diff --git a/libjava/classpath/lib/java/awt/AWTPermission.class b/libjava/classpath/lib/java/awt/AWTPermission.class
      new file mode 100644
      index 00000000000..40d3e029d8f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AWTPermission.class differ
      diff --git a/libjava/classpath/lib/java/awt/ActiveEvent.class b/libjava/classpath/lib/java/awt/ActiveEvent.class
      new file mode 100644
      index 00000000000..759557aa292
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ActiveEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/Adjustable.class b/libjava/classpath/lib/java/awt/Adjustable.class
      new file mode 100644
      index 00000000000..64d46c13b49
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Adjustable.class differ
      diff --git a/libjava/classpath/lib/java/awt/AlphaComposite$1.class b/libjava/classpath/lib/java/awt/AlphaComposite$1.class
      new file mode 100644
      index 00000000000..4587a1736f7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AlphaComposite$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/AlphaComposite.class b/libjava/classpath/lib/java/awt/AlphaComposite.class
      new file mode 100644
      index 00000000000..78eba385519
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AlphaComposite.class differ
      diff --git a/libjava/classpath/lib/java/awt/AttributeValue.class b/libjava/classpath/lib/java/awt/AttributeValue.class
      new file mode 100644
      index 00000000000..43d074d0558
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/AttributeValue.class differ
      diff --git a/libjava/classpath/lib/java/awt/BasicStroke.class b/libjava/classpath/lib/java/awt/BasicStroke.class
      new file mode 100644
      index 00000000000..560647171aa
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/BasicStroke.class differ
      diff --git a/libjava/classpath/lib/java/awt/BorderLayout.class b/libjava/classpath/lib/java/awt/BorderLayout.class
      new file mode 100644
      index 00000000000..0a076d342ee
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/BorderLayout.class differ
      diff --git a/libjava/classpath/lib/java/awt/BufferCapabilities$FlipContents.class b/libjava/classpath/lib/java/awt/BufferCapabilities$FlipContents.class
      new file mode 100644
      index 00000000000..80d0199048d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/BufferCapabilities$FlipContents.class differ
      diff --git a/libjava/classpath/lib/java/awt/BufferCapabilities.class b/libjava/classpath/lib/java/awt/BufferCapabilities.class
      new file mode 100644
      index 00000000000..e0a4b670c68
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/BufferCapabilities.class differ
      diff --git a/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class b/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class
      new file mode 100644
      index 00000000000..bba52b1be95
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Button$AccessibleAWTButton.class differ
      diff --git a/libjava/classpath/lib/java/awt/Button.class b/libjava/classpath/lib/java/awt/Button.class
      new file mode 100644
      index 00000000000..1acfc276f01
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Button.class differ
      diff --git a/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class b/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class
      new file mode 100644
      index 00000000000..0a1b1b59c2d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Canvas$AccessibleAWTCanvas.class differ
      diff --git a/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class b/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class
      new file mode 100644
      index 00000000000..b2536002266
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Canvas$CanvasBltBufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class
      new file mode 100644
      index 00000000000..122ed3ab179
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Canvas$CanvasFlipBufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Canvas.class b/libjava/classpath/lib/java/awt/Canvas.class
      new file mode 100644
      index 00000000000..e10c2e82e41
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Canvas.class differ
      diff --git a/libjava/classpath/lib/java/awt/CardLayout.class b/libjava/classpath/lib/java/awt/CardLayout.class
      new file mode 100644
      index 00000000000..15b2e95e5e7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/CardLayout.class differ
      diff --git a/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class b/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class
      new file mode 100644
      index 00000000000..eaff0a1d38d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Checkbox$AccessibleAWTCheckbox.class differ
      diff --git a/libjava/classpath/lib/java/awt/Checkbox.class b/libjava/classpath/lib/java/awt/Checkbox.class
      new file mode 100644
      index 00000000000..a1dad185e3c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Checkbox.class differ
      diff --git a/libjava/classpath/lib/java/awt/CheckboxGroup.class b/libjava/classpath/lib/java/awt/CheckboxGroup.class
      new file mode 100644
      index 00000000000..d3318dc4946
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/CheckboxGroup.class differ
      diff --git a/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class b/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class
      new file mode 100644
      index 00000000000..b9249c1f48a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.class differ
      diff --git a/libjava/classpath/lib/java/awt/CheckboxMenuItem.class b/libjava/classpath/lib/java/awt/CheckboxMenuItem.class
      new file mode 100644
      index 00000000000..e4428250812
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/CheckboxMenuItem.class differ
      diff --git a/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class b/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class
      new file mode 100644
      index 00000000000..fa4121af6c8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Choice$AccessibleAWTChoice.class differ
      diff --git a/libjava/classpath/lib/java/awt/Choice.class b/libjava/classpath/lib/java/awt/Choice.class
      new file mode 100644
      index 00000000000..a790c17c7f7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Choice.class differ
      diff --git a/libjava/classpath/lib/java/awt/Color.class b/libjava/classpath/lib/java/awt/Color.class
      new file mode 100644
      index 00000000000..68857ce01aa
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Color.class differ
      diff --git a/libjava/classpath/lib/java/awt/ColorPaintContext$ColorRaster.class b/libjava/classpath/lib/java/awt/ColorPaintContext$ColorRaster.class
      new file mode 100644
      index 00000000000..677693124da
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ColorPaintContext$ColorRaster.class differ
      diff --git a/libjava/classpath/lib/java/awt/ColorPaintContext.class b/libjava/classpath/lib/java/awt/ColorPaintContext.class
      new file mode 100644
      index 00000000000..f0637671bf3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ColorPaintContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class
      new file mode 100644
      index 00000000000..938f39d68a4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class
      new file mode 100644
      index 00000000000..530ca77bf01
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class
      new file mode 100644
      index 00000000000..96ce9797bf4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class b/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class
      new file mode 100644
      index 00000000000..2701fffcf9f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class
      new file mode 100644
      index 00000000000..0fefc2186dc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class b/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class
      new file mode 100644
      index 00000000000..633d9af77bf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/Component.class b/libjava/classpath/lib/java/awt/Component.class
      new file mode 100644
      index 00000000000..0533b9c697d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Component.class differ
      diff --git a/libjava/classpath/lib/java/awt/ComponentOrientation.class b/libjava/classpath/lib/java/awt/ComponentOrientation.class
      new file mode 100644
      index 00000000000..37defe8d013
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ComponentOrientation.class differ
      diff --git a/libjava/classpath/lib/java/awt/Composite.class b/libjava/classpath/lib/java/awt/Composite.class
      new file mode 100644
      index 00000000000..76e23ac1370
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Composite.class differ
      diff --git a/libjava/classpath/lib/java/awt/CompositeContext.class b/libjava/classpath/lib/java/awt/CompositeContext.class
      new file mode 100644
      index 00000000000..e6c4c26e2b4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/CompositeContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.class b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.class
      new file mode 100644
      index 00000000000..a07e427861d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class
      new file mode 100644
      index 00000000000..1e8cf52b670
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class
      new file mode 100644
      index 00000000000..0d36436ecd8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$GfxPaintAllVisitor.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class
      new file mode 100644
      index 00000000000..1098464e2d3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class
      new file mode 100644
      index 00000000000..504e985c722
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$GfxPrintAllVisitor.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class
      new file mode 100644
      index 00000000000..d054e5e9a94
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$GfxPrintVisitor.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container$GfxVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxVisitor.class
      new file mode 100644
      index 00000000000..f9f85ae5215
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container$GfxVisitor.class differ
      diff --git a/libjava/classpath/lib/java/awt/Container.class b/libjava/classpath/lib/java/awt/Container.class
      new file mode 100644
      index 00000000000..12cc33e95c6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Container.class differ
      diff --git a/libjava/classpath/lib/java/awt/ContainerOrderFocusTraversalPolicy.class b/libjava/classpath/lib/java/awt/ContainerOrderFocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..b5b42caa5e9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ContainerOrderFocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Cursor.class b/libjava/classpath/lib/java/awt/Cursor.class
      new file mode 100644
      index 00000000000..72aff9a81ca
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Cursor.class differ
      diff --git a/libjava/classpath/lib/java/awt/DefaultFocusTraversalPolicy.class b/libjava/classpath/lib/java/awt/DefaultFocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..f366cbe3510
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/DefaultFocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.class b/libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.class
      new file mode 100644
      index 00000000000..45f07b9d465
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.class differ
      diff --git a/libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager.class b/libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager.class
      new file mode 100644
      index 00000000000..a4ca603f344
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/DefaultKeyboardFocusManager.class differ
      diff --git a/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class b/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class
      new file mode 100644
      index 00000000000..fd490883058
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Dialog$AccessibleAWTDialog.class differ
      diff --git a/libjava/classpath/lib/java/awt/Dialog.class b/libjava/classpath/lib/java/awt/Dialog.class
      new file mode 100644
      index 00000000000..dd13eb4bab9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Dialog.class differ
      diff --git a/libjava/classpath/lib/java/awt/Dimension.class b/libjava/classpath/lib/java/awt/Dimension.class
      new file mode 100644
      index 00000000000..ea55474ec13
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Dimension.class differ
      diff --git a/libjava/classpath/lib/java/awt/DisplayMode.class b/libjava/classpath/lib/java/awt/DisplayMode.class
      new file mode 100644
      index 00000000000..17358a5917f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/DisplayMode.class differ
      diff --git a/libjava/classpath/lib/java/awt/Event.class b/libjava/classpath/lib/java/awt/Event.class
      new file mode 100644
      index 00000000000..c6dd1c9985f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Event.class differ
      diff --git a/libjava/classpath/lib/java/awt/EventDispatchThread.class b/libjava/classpath/lib/java/awt/EventDispatchThread.class
      new file mode 100644
      index 00000000000..3b891f26935
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/EventDispatchThread.class differ
      diff --git a/libjava/classpath/lib/java/awt/EventQueue$Queue.class b/libjava/classpath/lib/java/awt/EventQueue$Queue.class
      new file mode 100644
      index 00000000000..580abceaf96
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/EventQueue$Queue.class differ
      diff --git a/libjava/classpath/lib/java/awt/EventQueue.class b/libjava/classpath/lib/java/awt/EventQueue.class
      new file mode 100644
      index 00000000000..51a92c34e5a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/EventQueue.class differ
      diff --git a/libjava/classpath/lib/java/awt/FileDialog.class b/libjava/classpath/lib/java/awt/FileDialog.class
      new file mode 100644
      index 00000000000..1587d0c5804
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/FileDialog.class differ
      diff --git a/libjava/classpath/lib/java/awt/FlowLayout.class b/libjava/classpath/lib/java/awt/FlowLayout.class
      new file mode 100644
      index 00000000000..4ce2004612d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/FlowLayout.class differ
      diff --git a/libjava/classpath/lib/java/awt/FocusTraversalPolicy.class b/libjava/classpath/lib/java/awt/FocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..57fdf4b72f6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/FocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Font.class b/libjava/classpath/lib/java/awt/Font.class
      new file mode 100644
      index 00000000000..c1f8b52e2f9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Font.class differ
      diff --git a/libjava/classpath/lib/java/awt/FontFormatException.class b/libjava/classpath/lib/java/awt/FontFormatException.class
      new file mode 100644
      index 00000000000..19946fd6871
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/FontFormatException.class differ
      diff --git a/libjava/classpath/lib/java/awt/FontMetrics.class b/libjava/classpath/lib/java/awt/FontMetrics.class
      new file mode 100644
      index 00000000000..0b1e6dba9b7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/FontMetrics.class differ
      diff --git a/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class b/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class
      new file mode 100644
      index 00000000000..9401dc3c189
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Frame$AccessibleAWTFrame.class differ
      diff --git a/libjava/classpath/lib/java/awt/Frame.class b/libjava/classpath/lib/java/awt/Frame.class
      new file mode 100644
      index 00000000000..c01f91ee7f4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Frame.class differ
      diff --git a/libjava/classpath/lib/java/awt/GradientPaint.class b/libjava/classpath/lib/java/awt/GradientPaint.class
      new file mode 100644
      index 00000000000..eba1d116fca
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GradientPaint.class differ
      diff --git a/libjava/classpath/lib/java/awt/Graphics.class b/libjava/classpath/lib/java/awt/Graphics.class
      new file mode 100644
      index 00000000000..31b6c9071b7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Graphics.class differ
      diff --git a/libjava/classpath/lib/java/awt/Graphics2D.class b/libjava/classpath/lib/java/awt/Graphics2D.class
      new file mode 100644
      index 00000000000..9dc56205be6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Graphics2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/GraphicsConfigTemplate.class b/libjava/classpath/lib/java/awt/GraphicsConfigTemplate.class
      new file mode 100644
      index 00000000000..372b3b5decb
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GraphicsConfigTemplate.class differ
      diff --git a/libjava/classpath/lib/java/awt/GraphicsConfiguration.class b/libjava/classpath/lib/java/awt/GraphicsConfiguration.class
      new file mode 100644
      index 00000000000..2887c1bb551
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GraphicsConfiguration.class differ
      diff --git a/libjava/classpath/lib/java/awt/GraphicsDevice.class b/libjava/classpath/lib/java/awt/GraphicsDevice.class
      new file mode 100644
      index 00000000000..43b711e27ba
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GraphicsDevice.class differ
      diff --git a/libjava/classpath/lib/java/awt/GraphicsEnvironment.class b/libjava/classpath/lib/java/awt/GraphicsEnvironment.class
      new file mode 100644
      index 00000000000..27aa4c06fad
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GraphicsEnvironment.class differ
      diff --git a/libjava/classpath/lib/java/awt/GridBagConstraints.class b/libjava/classpath/lib/java/awt/GridBagConstraints.class
      new file mode 100644
      index 00000000000..4e042d74ce8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GridBagConstraints.class differ
      diff --git a/libjava/classpath/lib/java/awt/GridBagLayout.class b/libjava/classpath/lib/java/awt/GridBagLayout.class
      new file mode 100644
      index 00000000000..2c406eb9978
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GridBagLayout.class differ
      diff --git a/libjava/classpath/lib/java/awt/GridBagLayoutInfo.class b/libjava/classpath/lib/java/awt/GridBagLayoutInfo.class
      new file mode 100644
      index 00000000000..1d24218988d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GridBagLayoutInfo.class differ
      diff --git a/libjava/classpath/lib/java/awt/GridLayout.class b/libjava/classpath/lib/java/awt/GridLayout.class
      new file mode 100644
      index 00000000000..66b4ff692ed
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/GridLayout.class differ
      diff --git a/libjava/classpath/lib/java/awt/HeadlessException.class b/libjava/classpath/lib/java/awt/HeadlessException.class
      new file mode 100644
      index 00000000000..e51c1cccaa7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/HeadlessException.class differ
      diff --git a/libjava/classpath/lib/java/awt/IllegalComponentStateException.class b/libjava/classpath/lib/java/awt/IllegalComponentStateException.class
      new file mode 100644
      index 00000000000..e54323b445c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/IllegalComponentStateException.class differ
      diff --git a/libjava/classpath/lib/java/awt/Image.class b/libjava/classpath/lib/java/awt/Image.class
      new file mode 100644
      index 00000000000..1e5376f34f8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Image.class differ
      diff --git a/libjava/classpath/lib/java/awt/ImageCapabilities.class b/libjava/classpath/lib/java/awt/ImageCapabilities.class
      new file mode 100644
      index 00000000000..a44063289ee
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ImageCapabilities.class differ
      diff --git a/libjava/classpath/lib/java/awt/Insets.class b/libjava/classpath/lib/java/awt/Insets.class
      new file mode 100644
      index 00000000000..82d22f105c1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Insets.class differ
      diff --git a/libjava/classpath/lib/java/awt/ItemSelectable.class b/libjava/classpath/lib/java/awt/ItemSelectable.class
      new file mode 100644
      index 00000000000..8c353f73383
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ItemSelectable.class differ
      diff --git a/libjava/classpath/lib/java/awt/JobAttributes$DefaultSelectionType.class b/libjava/classpath/lib/java/awt/JobAttributes$DefaultSelectionType.class
      new file mode 100644
      index 00000000000..6f8e4779fa2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/JobAttributes$DefaultSelectionType.class differ
      diff --git a/libjava/classpath/lib/java/awt/JobAttributes$DestinationType.class b/libjava/classpath/lib/java/awt/JobAttributes$DestinationType.class
      new file mode 100644
      index 00000000000..944d5ec8af5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/JobAttributes$DestinationType.class differ
      diff --git a/libjava/classpath/lib/java/awt/JobAttributes$DialogType.class b/libjava/classpath/lib/java/awt/JobAttributes$DialogType.class
      new file mode 100644
      index 00000000000..0657d71262b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/JobAttributes$DialogType.class differ
      diff --git a/libjava/classpath/lib/java/awt/JobAttributes$MultipleDocumentHandlingType.class b/libjava/classpath/lib/java/awt/JobAttributes$MultipleDocumentHandlingType.class
      new file mode 100644
      index 00000000000..ede25d6102d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/JobAttributes$MultipleDocumentHandlingType.class differ
      diff --git a/libjava/classpath/lib/java/awt/JobAttributes$SidesType.class b/libjava/classpath/lib/java/awt/JobAttributes$SidesType.class
      new file mode 100644
      index 00000000000..23984c1520c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/JobAttributes$SidesType.class differ
      diff --git a/libjava/classpath/lib/java/awt/JobAttributes.class b/libjava/classpath/lib/java/awt/JobAttributes.class
      new file mode 100644
      index 00000000000..7aec9160989
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/JobAttributes.class differ
      diff --git a/libjava/classpath/lib/java/awt/KeyEventDispatcher.class b/libjava/classpath/lib/java/awt/KeyEventDispatcher.class
      new file mode 100644
      index 00000000000..ad98fb896bf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/KeyEventDispatcher.class differ
      diff --git a/libjava/classpath/lib/java/awt/KeyEventPostProcessor.class b/libjava/classpath/lib/java/awt/KeyEventPostProcessor.class
      new file mode 100644
      index 00000000000..acf6c6ded8d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/KeyEventPostProcessor.class differ
      diff --git a/libjava/classpath/lib/java/awt/KeyboardFocusManager.class b/libjava/classpath/lib/java/awt/KeyboardFocusManager.class
      new file mode 100644
      index 00000000000..721cf56f637
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/KeyboardFocusManager.class differ
      diff --git a/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class b/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class
      new file mode 100644
      index 00000000000..9a85795de2a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Label$AccessibleAWTLabel.class differ
      diff --git a/libjava/classpath/lib/java/awt/Label.class b/libjava/classpath/lib/java/awt/Label.class
      new file mode 100644
      index 00000000000..1c6f5a5a051
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Label.class differ
      diff --git a/libjava/classpath/lib/java/awt/LayoutManager.class b/libjava/classpath/lib/java/awt/LayoutManager.class
      new file mode 100644
      index 00000000000..34b079f1542
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/LayoutManager.class differ
      diff --git a/libjava/classpath/lib/java/awt/LayoutManager2.class b/libjava/classpath/lib/java/awt/LayoutManager2.class
      new file mode 100644
      index 00000000000..fc4ad498ce6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/LayoutManager2.class differ
      diff --git a/libjava/classpath/lib/java/awt/LightweightDispatcher.class b/libjava/classpath/lib/java/awt/LightweightDispatcher.class
      new file mode 100644
      index 00000000000..f8377f8d877
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/LightweightDispatcher.class differ
      diff --git a/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class b/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class
      new file mode 100644
      index 00000000000..e8079ba4474
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.class differ
      diff --git a/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class b/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class
      new file mode 100644
      index 00000000000..35fda74954b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/List$AccessibleAWTList.class differ
      diff --git a/libjava/classpath/lib/java/awt/List.class b/libjava/classpath/lib/java/awt/List.class
      new file mode 100644
      index 00000000000..38022bf56d9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/List.class differ
      diff --git a/libjava/classpath/lib/java/awt/MediaTracker$MediaEntry.class b/libjava/classpath/lib/java/awt/MediaTracker$MediaEntry.class
      new file mode 100644
      index 00000000000..2195d3b7fc8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MediaTracker$MediaEntry.class differ
      diff --git a/libjava/classpath/lib/java/awt/MediaTracker.class b/libjava/classpath/lib/java/awt/MediaTracker.class
      new file mode 100644
      index 00000000000..b85cda41340
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MediaTracker.class differ
      diff --git a/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class b/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class
      new file mode 100644
      index 00000000000..a337003eccf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Menu$AccessibleAWTMenu.class differ
      diff --git a/libjava/classpath/lib/java/awt/Menu.class b/libjava/classpath/lib/java/awt/Menu.class
      new file mode 100644
      index 00000000000..d228702a916
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Menu.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class b/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class
      new file mode 100644
      index 00000000000..8b9fbbcc453
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuBar$AccessibleAWTMenuBar.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuBar.class b/libjava/classpath/lib/java/awt/MenuBar.class
      new file mode 100644
      index 00000000000..46df50581c8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuBar.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuComponent$AccessibleAWTMenuComponent.class b/libjava/classpath/lib/java/awt/MenuComponent$AccessibleAWTMenuComponent.class
      new file mode 100644
      index 00000000000..3c94d68691b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuComponent$AccessibleAWTMenuComponent.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuComponent.class b/libjava/classpath/lib/java/awt/MenuComponent.class
      new file mode 100644
      index 00000000000..f0d98fca07d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuComponent.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuContainer.class b/libjava/classpath/lib/java/awt/MenuContainer.class
      new file mode 100644
      index 00000000000..fce0285dd70
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuContainer.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class b/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class
      new file mode 100644
      index 00000000000..d9014fe6448
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuItem$AccessibleAWTMenuItem.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuItem.class b/libjava/classpath/lib/java/awt/MenuItem.class
      new file mode 100644
      index 00000000000..fe5895291c1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuItem.class differ
      diff --git a/libjava/classpath/lib/java/awt/MenuShortcut.class b/libjava/classpath/lib/java/awt/MenuShortcut.class
      new file mode 100644
      index 00000000000..44cbb58936c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MenuShortcut.class differ
      diff --git a/libjava/classpath/lib/java/awt/MouseInfo.class b/libjava/classpath/lib/java/awt/MouseInfo.class
      new file mode 100644
      index 00000000000..dd9eb3a962e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/MouseInfo.class differ
      diff --git a/libjava/classpath/lib/java/awt/PageAttributes$ColorType.class b/libjava/classpath/lib/java/awt/PageAttributes$ColorType.class
      new file mode 100644
      index 00000000000..c7dfcd5fd97
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PageAttributes$ColorType.class differ
      diff --git a/libjava/classpath/lib/java/awt/PageAttributes$MediaType.class b/libjava/classpath/lib/java/awt/PageAttributes$MediaType.class
      new file mode 100644
      index 00000000000..30f35d971d9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PageAttributes$MediaType.class differ
      diff --git a/libjava/classpath/lib/java/awt/PageAttributes$OrientationRequestedType.class b/libjava/classpath/lib/java/awt/PageAttributes$OrientationRequestedType.class
      new file mode 100644
      index 00000000000..a79bceccccf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PageAttributes$OrientationRequestedType.class differ
      diff --git a/libjava/classpath/lib/java/awt/PageAttributes$OriginType.class b/libjava/classpath/lib/java/awt/PageAttributes$OriginType.class
      new file mode 100644
      index 00000000000..f98e92249d5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PageAttributes$OriginType.class differ
      diff --git a/libjava/classpath/lib/java/awt/PageAttributes$PrintQualityType.class b/libjava/classpath/lib/java/awt/PageAttributes$PrintQualityType.class
      new file mode 100644
      index 00000000000..338ca80a825
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PageAttributes$PrintQualityType.class differ
      diff --git a/libjava/classpath/lib/java/awt/PageAttributes.class b/libjava/classpath/lib/java/awt/PageAttributes.class
      new file mode 100644
      index 00000000000..71691df5c67
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PageAttributes.class differ
      diff --git a/libjava/classpath/lib/java/awt/Paint.class b/libjava/classpath/lib/java/awt/Paint.class
      new file mode 100644
      index 00000000000..500bf4c6de1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Paint.class differ
      diff --git a/libjava/classpath/lib/java/awt/PaintContext.class b/libjava/classpath/lib/java/awt/PaintContext.class
      new file mode 100644
      index 00000000000..e282250a341
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PaintContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class b/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class
      new file mode 100644
      index 00000000000..d5003c7c91e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Panel$AccessibleAWTPanel.class differ
      diff --git a/libjava/classpath/lib/java/awt/Panel.class b/libjava/classpath/lib/java/awt/Panel.class
      new file mode 100644
      index 00000000000..1351688437a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Panel.class differ
      diff --git a/libjava/classpath/lib/java/awt/Point.class b/libjava/classpath/lib/java/awt/Point.class
      new file mode 100644
      index 00000000000..68f6f964fe2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Point.class differ
      diff --git a/libjava/classpath/lib/java/awt/PointerInfo.class b/libjava/classpath/lib/java/awt/PointerInfo.class
      new file mode 100644
      index 00000000000..b044a3985d5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PointerInfo.class differ
      diff --git a/libjava/classpath/lib/java/awt/Polygon$1.class b/libjava/classpath/lib/java/awt/Polygon$1.class
      new file mode 100644
      index 00000000000..06849f1c367
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Polygon$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/Polygon.class b/libjava/classpath/lib/java/awt/Polygon.class
      new file mode 100644
      index 00000000000..6425ac79e35
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Polygon.class differ
      diff --git a/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class b/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class
      new file mode 100644
      index 00000000000..64f469e6f4f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PopupMenu$AccessibleAWTPopupMenu.class differ
      diff --git a/libjava/classpath/lib/java/awt/PopupMenu.class b/libjava/classpath/lib/java/awt/PopupMenu.class
      new file mode 100644
      index 00000000000..25d87dda163
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PopupMenu.class differ
      diff --git a/libjava/classpath/lib/java/awt/PrintGraphics.class b/libjava/classpath/lib/java/awt/PrintGraphics.class
      new file mode 100644
      index 00000000000..92853709ded
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PrintGraphics.class differ
      diff --git a/libjava/classpath/lib/java/awt/PrintJob.class b/libjava/classpath/lib/java/awt/PrintJob.class
      new file mode 100644
      index 00000000000..7f8b88f2908
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/PrintJob.class differ
      diff --git a/libjava/classpath/lib/java/awt/Rectangle.class b/libjava/classpath/lib/java/awt/Rectangle.class
      new file mode 100644
      index 00000000000..d9811065108
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Rectangle.class differ
      diff --git a/libjava/classpath/lib/java/awt/RenderingHints$Key.class b/libjava/classpath/lib/java/awt/RenderingHints$Key.class
      new file mode 100644
      index 00000000000..f813f3c81aa
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/RenderingHints$Key.class differ
      diff --git a/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class b/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class
      new file mode 100644
      index 00000000000..84e5bdb90ab
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/RenderingHints$KeyImpl.class differ
      diff --git a/libjava/classpath/lib/java/awt/RenderingHints.class b/libjava/classpath/lib/java/awt/RenderingHints.class
      new file mode 100644
      index 00000000000..7afce724d42
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/RenderingHints.class differ
      diff --git a/libjava/classpath/lib/java/awt/Robot$1.class b/libjava/classpath/lib/java/awt/Robot$1.class
      new file mode 100644
      index 00000000000..90fe05b0d66
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Robot$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/Robot.class b/libjava/classpath/lib/java/awt/Robot.class
      new file mode 100644
      index 00000000000..d237b3a28a5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Robot.class differ
      diff --git a/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class b/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class
      new file mode 100644
      index 00000000000..8028ed5667a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ScrollPane$AccessibleAWTScrollPane.class differ
      diff --git a/libjava/classpath/lib/java/awt/ScrollPane.class b/libjava/classpath/lib/java/awt/ScrollPane.class
      new file mode 100644
      index 00000000000..ec4e3637b92
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ScrollPane.class differ
      diff --git a/libjava/classpath/lib/java/awt/ScrollPaneAdjustable.class b/libjava/classpath/lib/java/awt/ScrollPaneAdjustable.class
      new file mode 100644
      index 00000000000..61ee1732547
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/ScrollPaneAdjustable.class differ
      diff --git a/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class b/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class
      new file mode 100644
      index 00000000000..9816ac27a5f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Scrollbar$AccessibleAWTScrollBar.class differ
      diff --git a/libjava/classpath/lib/java/awt/Scrollbar.class b/libjava/classpath/lib/java/awt/Scrollbar.class
      new file mode 100644
      index 00000000000..d6ad5bd8d08
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Scrollbar.class differ
      diff --git a/libjava/classpath/lib/java/awt/Shape.class b/libjava/classpath/lib/java/awt/Shape.class
      new file mode 100644
      index 00000000000..347e1609b73
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Shape.class differ
      diff --git a/libjava/classpath/lib/java/awt/Stroke.class b/libjava/classpath/lib/java/awt/Stroke.class
      new file mode 100644
      index 00000000000..27e2461f929
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Stroke.class differ
      diff --git a/libjava/classpath/lib/java/awt/SystemColor.class b/libjava/classpath/lib/java/awt/SystemColor.class
      new file mode 100644
      index 00000000000..dedf23c1ba9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/SystemColor.class differ
      diff --git a/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class b/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class
      new file mode 100644
      index 00000000000..73aee8f1685
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TextArea$AccessibleAWTTextArea.class differ
      diff --git a/libjava/classpath/lib/java/awt/TextArea.class b/libjava/classpath/lib/java/awt/TextArea.class
      new file mode 100644
      index 00000000000..0729f1517df
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TextArea.class differ
      diff --git a/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class b/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class
      new file mode 100644
      index 00000000000..717c63720bc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TextComponent$AccessibleAWTTextComponent.class differ
      diff --git a/libjava/classpath/lib/java/awt/TextComponent.class b/libjava/classpath/lib/java/awt/TextComponent.class
      new file mode 100644
      index 00000000000..66928c35ede
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TextComponent.class differ
      diff --git a/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class b/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class
      new file mode 100644
      index 00000000000..b73147dd7f3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TextField$AccessibleAWTTextField.class differ
      diff --git a/libjava/classpath/lib/java/awt/TextField.class b/libjava/classpath/lib/java/awt/TextField.class
      new file mode 100644
      index 00000000000..f99e266949f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TextField.class differ
      diff --git a/libjava/classpath/lib/java/awt/TexturePaint.class b/libjava/classpath/lib/java/awt/TexturePaint.class
      new file mode 100644
      index 00000000000..83ff9e1b6d9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/TexturePaint.class differ
      diff --git a/libjava/classpath/lib/java/awt/Toolkit$1.class b/libjava/classpath/lib/java/awt/Toolkit$1.class
      new file mode 100644
      index 00000000000..74fdda086e5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Toolkit$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/Toolkit$2.class b/libjava/classpath/lib/java/awt/Toolkit$2.class
      new file mode 100644
      index 00000000000..a6fd5018360
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Toolkit$2.class differ
      diff --git a/libjava/classpath/lib/java/awt/Toolkit.class b/libjava/classpath/lib/java/awt/Toolkit.class
      new file mode 100644
      index 00000000000..1156a7835b6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Toolkit.class differ
      diff --git a/libjava/classpath/lib/java/awt/Transparency.class b/libjava/classpath/lib/java/awt/Transparency.class
      new file mode 100644
      index 00000000000..aa13410ccff
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Transparency.class differ
      diff --git a/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class b/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class
      new file mode 100644
      index 00000000000..0bc97fd1d21
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Window$AccessibleAWTWindow.class differ
      diff --git a/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class b/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class
      new file mode 100644
      index 00000000000..03433e90fdf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Window$WindowBltBufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class
      new file mode 100644
      index 00000000000..2f24d47d120
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Window$WindowFlipBufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/Window.class b/libjava/classpath/lib/java/awt/Window.class
      new file mode 100644
      index 00000000000..dc4ba0d7698
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/Window.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/CMMException.class b/libjava/classpath/lib/java/awt/color/CMMException.class
      new file mode 100644
      index 00000000000..03ce7757263
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/CMMException.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/ColorSpace.class b/libjava/classpath/lib/java/awt/color/ColorSpace.class
      new file mode 100644
      index 00000000000..7e6542bbbd8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/ColorSpace.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/ICC_ColorSpace.class b/libjava/classpath/lib/java/awt/color/ICC_ColorSpace.class
      new file mode 100644
      index 00000000000..4dd5cf3ad7a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/ICC_ColorSpace.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/ICC_Profile.class b/libjava/classpath/lib/java/awt/color/ICC_Profile.class
      new file mode 100644
      index 00000000000..6e698a6a889
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/ICC_Profile.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/ICC_ProfileGray.class b/libjava/classpath/lib/java/awt/color/ICC_ProfileGray.class
      new file mode 100644
      index 00000000000..9cb948845b9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/ICC_ProfileGray.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/ICC_ProfileRGB.class b/libjava/classpath/lib/java/awt/color/ICC_ProfileRGB.class
      new file mode 100644
      index 00000000000..fb93875d713
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/ICC_ProfileRGB.class differ
      diff --git a/libjava/classpath/lib/java/awt/color/ProfileDataException.class b/libjava/classpath/lib/java/awt/color/ProfileDataException.class
      new file mode 100644
      index 00000000000..81a5896d9e6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/color/ProfileDataException.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/Clipboard.class b/libjava/classpath/lib/java/awt/datatransfer/Clipboard.class
      new file mode 100644
      index 00000000000..f72038f74d6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/Clipboard.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/ClipboardOwner.class b/libjava/classpath/lib/java/awt/datatransfer/ClipboardOwner.class
      new file mode 100644
      index 00000000000..fdbac55887e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/ClipboardOwner.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class b/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class
      new file mode 100644
      index 00000000000..d324b362ff7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/DataFlavor.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/FlavorEvent.class b/libjava/classpath/lib/java/awt/datatransfer/FlavorEvent.class
      new file mode 100644
      index 00000000000..6104199288b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/FlavorEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/FlavorListener.class b/libjava/classpath/lib/java/awt/datatransfer/FlavorListener.class
      new file mode 100644
      index 00000000000..8a6d4f70a8b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/FlavorListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/FlavorMap.class b/libjava/classpath/lib/java/awt/datatransfer/FlavorMap.class
      new file mode 100644
      index 00000000000..283e1cd0660
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/FlavorMap.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/FlavorTable.class b/libjava/classpath/lib/java/awt/datatransfer/FlavorTable.class
      new file mode 100644
      index 00000000000..ec8e95df54b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/FlavorTable.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/MimeType.class b/libjava/classpath/lib/java/awt/datatransfer/MimeType.class
      new file mode 100644
      index 00000000000..28d191278a3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/MimeType.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/MimeTypeParseException.class b/libjava/classpath/lib/java/awt/datatransfer/MimeTypeParseException.class
      new file mode 100644
      index 00000000000..69f24fa8b24
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/MimeTypeParseException.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/StringSelection.class b/libjava/classpath/lib/java/awt/datatransfer/StringSelection.class
      new file mode 100644
      index 00000000000..278553e654e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/StringSelection.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class
      new file mode 100644
      index 00000000000..cfd7e14397c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/Transferable.class b/libjava/classpath/lib/java/awt/datatransfer/Transferable.class
      new file mode 100644
      index 00000000000..c0197554a10
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/Transferable.class differ
      diff --git a/libjava/classpath/lib/java/awt/datatransfer/UnsupportedFlavorException.class b/libjava/classpath/lib/java/awt/datatransfer/UnsupportedFlavorException.class
      new file mode 100644
      index 00000000000..5eddd5f15f2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/datatransfer/UnsupportedFlavorException.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/Autoscroll.class b/libjava/classpath/lib/java/awt/dnd/Autoscroll.class
      new file mode 100644
      index 00000000000..c4a7f7bb209
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/Autoscroll.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DnDConstants.class b/libjava/classpath/lib/java/awt/dnd/DnDConstants.class
      new file mode 100644
      index 00000000000..d62c7e410ae
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DnDConstants.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DnDEventMulticaster.class b/libjava/classpath/lib/java/awt/dnd/DnDEventMulticaster.class
      new file mode 100644
      index 00000000000..b5189734567
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DnDEventMulticaster.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragGestureEvent.class b/libjava/classpath/lib/java/awt/dnd/DragGestureEvent.class
      new file mode 100644
      index 00000000000..76158679c1b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragGestureEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragGestureListener.class b/libjava/classpath/lib/java/awt/dnd/DragGestureListener.class
      new file mode 100644
      index 00000000000..f1bf00b6d45
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragGestureListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragGestureRecognizer.class b/libjava/classpath/lib/java/awt/dnd/DragGestureRecognizer.class
      new file mode 100644
      index 00000000000..54c013e5b4f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragGestureRecognizer.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSource.class b/libjava/classpath/lib/java/awt/dnd/DragSource.class
      new file mode 100644
      index 00000000000..7feb64583bf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSource.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceAdapter.class b/libjava/classpath/lib/java/awt/dnd/DragSourceAdapter.class
      new file mode 100644
      index 00000000000..b7fbf90b4bc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceContext.class b/libjava/classpath/lib/java/awt/dnd/DragSourceContext.class
      new file mode 100644
      index 00000000000..54642267290
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceDragEvent.class b/libjava/classpath/lib/java/awt/dnd/DragSourceDragEvent.class
      new file mode 100644
      index 00000000000..3015a774e56
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceDragEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceDropEvent.class b/libjava/classpath/lib/java/awt/dnd/DragSourceDropEvent.class
      new file mode 100644
      index 00000000000..a7bc78a9086
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceDropEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceEvent.class b/libjava/classpath/lib/java/awt/dnd/DragSourceEvent.class
      new file mode 100644
      index 00000000000..ac3c1f68d60
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceListener.class b/libjava/classpath/lib/java/awt/dnd/DragSourceListener.class
      new file mode 100644
      index 00000000000..209520b8121
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DragSourceMotionListener.class b/libjava/classpath/lib/java/awt/dnd/DragSourceMotionListener.class
      new file mode 100644
      index 00000000000..9d606b48c6c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DragSourceMotionListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTarget$DropTargetAutoScroller.class b/libjava/classpath/lib/java/awt/dnd/DropTarget$DropTargetAutoScroller.class
      new file mode 100644
      index 00000000000..ae9b26129bc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTarget$DropTargetAutoScroller.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTarget.class b/libjava/classpath/lib/java/awt/dnd/DropTarget.class
      new file mode 100644
      index 00000000000..7b25c5b56c9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTarget.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetAdapter.class b/libjava/classpath/lib/java/awt/dnd/DropTargetAdapter.class
      new file mode 100644
      index 00000000000..4436ebcb67e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetContext$TransferableProxy.class b/libjava/classpath/lib/java/awt/dnd/DropTargetContext$TransferableProxy.class
      new file mode 100644
      index 00000000000..921235ed401
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetContext$TransferableProxy.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetContext.class b/libjava/classpath/lib/java/awt/dnd/DropTargetContext.class
      new file mode 100644
      index 00000000000..048bf4eab1f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetDragEvent.class b/libjava/classpath/lib/java/awt/dnd/DropTargetDragEvent.class
      new file mode 100644
      index 00000000000..220357182b7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetDragEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetDropEvent.class b/libjava/classpath/lib/java/awt/dnd/DropTargetDropEvent.class
      new file mode 100644
      index 00000000000..210fba75833
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetDropEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetEvent.class b/libjava/classpath/lib/java/awt/dnd/DropTargetEvent.class
      new file mode 100644
      index 00000000000..7d7027c7b47
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/DropTargetListener.class b/libjava/classpath/lib/java/awt/dnd/DropTargetListener.class
      new file mode 100644
      index 00000000000..97c74ba50c1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/DropTargetListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/InvalidDnDOperationException.class b/libjava/classpath/lib/java/awt/dnd/InvalidDnDOperationException.class
      new file mode 100644
      index 00000000000..3cbfa7c6291
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/InvalidDnDOperationException.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/MouseDragGestureRecognizer.class b/libjava/classpath/lib/java/awt/dnd/MouseDragGestureRecognizer.class
      new file mode 100644
      index 00000000000..0cde8b7ed71
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/MouseDragGestureRecognizer.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/peer/DragSourceContextPeer.class b/libjava/classpath/lib/java/awt/dnd/peer/DragSourceContextPeer.class
      new file mode 100644
      index 00000000000..441d7d064f0
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/peer/DragSourceContextPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/peer/DropTargetContextPeer.class b/libjava/classpath/lib/java/awt/dnd/peer/DropTargetContextPeer.class
      new file mode 100644
      index 00000000000..ef6b334e32e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/peer/DropTargetContextPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/dnd/peer/DropTargetPeer.class b/libjava/classpath/lib/java/awt/dnd/peer/DropTargetPeer.class
      new file mode 100644
      index 00000000000..895750c9833
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/dnd/peer/DropTargetPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/AWTEventListener.class b/libjava/classpath/lib/java/awt/event/AWTEventListener.class
      new file mode 100644
      index 00000000000..221d7748763
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/AWTEventListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/AWTEventListenerProxy.class b/libjava/classpath/lib/java/awt/event/AWTEventListenerProxy.class
      new file mode 100644
      index 00000000000..a6bfb77b084
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/AWTEventListenerProxy.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ActionEvent.class b/libjava/classpath/lib/java/awt/event/ActionEvent.class
      new file mode 100644
      index 00000000000..2fa8ea42b65
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ActionEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ActionListener.class b/libjava/classpath/lib/java/awt/event/ActionListener.class
      new file mode 100644
      index 00000000000..0471d3f3bb0
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ActionListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/AdjustmentEvent.class b/libjava/classpath/lib/java/awt/event/AdjustmentEvent.class
      new file mode 100644
      index 00000000000..70ce2f7fa37
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/AdjustmentEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/AdjustmentListener.class b/libjava/classpath/lib/java/awt/event/AdjustmentListener.class
      new file mode 100644
      index 00000000000..b4235947012
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/AdjustmentListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ComponentAdapter.class b/libjava/classpath/lib/java/awt/event/ComponentAdapter.class
      new file mode 100644
      index 00000000000..72763f746f9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ComponentAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ComponentEvent.class b/libjava/classpath/lib/java/awt/event/ComponentEvent.class
      new file mode 100644
      index 00000000000..08c2ede9db8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ComponentEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ComponentListener.class b/libjava/classpath/lib/java/awt/event/ComponentListener.class
      new file mode 100644
      index 00000000000..10c71883082
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ComponentListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ContainerAdapter.class b/libjava/classpath/lib/java/awt/event/ContainerAdapter.class
      new file mode 100644
      index 00000000000..5e17c40299b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ContainerAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ContainerEvent.class b/libjava/classpath/lib/java/awt/event/ContainerEvent.class
      new file mode 100644
      index 00000000000..ff071921053
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ContainerEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ContainerListener.class b/libjava/classpath/lib/java/awt/event/ContainerListener.class
      new file mode 100644
      index 00000000000..f8ccf49cf69
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ContainerListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/FocusAdapter.class b/libjava/classpath/lib/java/awt/event/FocusAdapter.class
      new file mode 100644
      index 00000000000..3db720ef74a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/FocusAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/FocusEvent.class b/libjava/classpath/lib/java/awt/event/FocusEvent.class
      new file mode 100644
      index 00000000000..031122b758d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/FocusEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/FocusListener.class b/libjava/classpath/lib/java/awt/event/FocusListener.class
      new file mode 100644
      index 00000000000..db8ff09d835
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/FocusListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/HierarchyBoundsAdapter.class b/libjava/classpath/lib/java/awt/event/HierarchyBoundsAdapter.class
      new file mode 100644
      index 00000000000..79aa2f93836
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/HierarchyBoundsAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/HierarchyBoundsListener.class b/libjava/classpath/lib/java/awt/event/HierarchyBoundsListener.class
      new file mode 100644
      index 00000000000..2642d35d4bd
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/HierarchyBoundsListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/HierarchyEvent.class b/libjava/classpath/lib/java/awt/event/HierarchyEvent.class
      new file mode 100644
      index 00000000000..b1efe7988ea
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/HierarchyEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/HierarchyListener.class b/libjava/classpath/lib/java/awt/event/HierarchyListener.class
      new file mode 100644
      index 00000000000..d6789af71e5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/HierarchyListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/InputEvent.class b/libjava/classpath/lib/java/awt/event/InputEvent.class
      new file mode 100644
      index 00000000000..f4fa20c5b39
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/InputEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/InputMethodEvent.class b/libjava/classpath/lib/java/awt/event/InputMethodEvent.class
      new file mode 100644
      index 00000000000..c1889bbb925
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/InputMethodEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/InputMethodListener.class b/libjava/classpath/lib/java/awt/event/InputMethodListener.class
      new file mode 100644
      index 00000000000..4d94869152c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/InputMethodListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/InvocationEvent.class b/libjava/classpath/lib/java/awt/event/InvocationEvent.class
      new file mode 100644
      index 00000000000..11a75ffcbb6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/InvocationEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ItemEvent.class b/libjava/classpath/lib/java/awt/event/ItemEvent.class
      new file mode 100644
      index 00000000000..5a913e69c77
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ItemEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/ItemListener.class b/libjava/classpath/lib/java/awt/event/ItemListener.class
      new file mode 100644
      index 00000000000..6bd6bb6da91
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/ItemListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/KeyAdapter.class b/libjava/classpath/lib/java/awt/event/KeyAdapter.class
      new file mode 100644
      index 00000000000..5c5a32fbb87
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/KeyAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/KeyEvent.class b/libjava/classpath/lib/java/awt/event/KeyEvent.class
      new file mode 100644
      index 00000000000..7b219839340
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/KeyEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/KeyListener.class b/libjava/classpath/lib/java/awt/event/KeyListener.class
      new file mode 100644
      index 00000000000..ef02711401e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/KeyListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseAdapter.class b/libjava/classpath/lib/java/awt/event/MouseAdapter.class
      new file mode 100644
      index 00000000000..321a7bc916b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseEvent.class b/libjava/classpath/lib/java/awt/event/MouseEvent.class
      new file mode 100644
      index 00000000000..9bd3051178e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseListener.class b/libjava/classpath/lib/java/awt/event/MouseListener.class
      new file mode 100644
      index 00000000000..381fa93f2ae
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseMotionAdapter.class b/libjava/classpath/lib/java/awt/event/MouseMotionAdapter.class
      new file mode 100644
      index 00000000000..a8317b653ff
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseMotionAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseMotionListener.class b/libjava/classpath/lib/java/awt/event/MouseMotionListener.class
      new file mode 100644
      index 00000000000..c862ac4ccba
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseMotionListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseWheelEvent.class b/libjava/classpath/lib/java/awt/event/MouseWheelEvent.class
      new file mode 100644
      index 00000000000..cdb4470a107
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseWheelEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/MouseWheelListener.class b/libjava/classpath/lib/java/awt/event/MouseWheelListener.class
      new file mode 100644
      index 00000000000..27d4cb3709b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/MouseWheelListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/PaintEvent.class b/libjava/classpath/lib/java/awt/event/PaintEvent.class
      new file mode 100644
      index 00000000000..138f249b430
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/PaintEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/TextEvent.class b/libjava/classpath/lib/java/awt/event/TextEvent.class
      new file mode 100644
      index 00000000000..5e7677909be
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/TextEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/TextListener.class b/libjava/classpath/lib/java/awt/event/TextListener.class
      new file mode 100644
      index 00000000000..023e38d7844
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/TextListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/WindowAdapter.class b/libjava/classpath/lib/java/awt/event/WindowAdapter.class
      new file mode 100644
      index 00000000000..17f1d762d05
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/WindowAdapter.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/WindowEvent.class b/libjava/classpath/lib/java/awt/event/WindowEvent.class
      new file mode 100644
      index 00000000000..38aa1d64017
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/WindowEvent.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/WindowFocusListener.class b/libjava/classpath/lib/java/awt/event/WindowFocusListener.class
      new file mode 100644
      index 00000000000..a6b51f9a4f2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/WindowFocusListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/WindowListener.class b/libjava/classpath/lib/java/awt/event/WindowListener.class
      new file mode 100644
      index 00000000000..81a4d4f9770
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/WindowListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/event/WindowStateListener.class b/libjava/classpath/lib/java/awt/event/WindowStateListener.class
      new file mode 100644
      index 00000000000..fbb7cd2140c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/event/WindowStateListener.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/FontRenderContext.class b/libjava/classpath/lib/java/awt/font/FontRenderContext.class
      new file mode 100644
      index 00000000000..2a70ec44ce5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/FontRenderContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/GlyphJustificationInfo.class b/libjava/classpath/lib/java/awt/font/GlyphJustificationInfo.class
      new file mode 100644
      index 00000000000..ce4951e58ae
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/GlyphJustificationInfo.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/GlyphMetrics.class b/libjava/classpath/lib/java/awt/font/GlyphMetrics.class
      new file mode 100644
      index 00000000000..689b1c0860d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/GlyphMetrics.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/GlyphVector.class b/libjava/classpath/lib/java/awt/font/GlyphVector.class
      new file mode 100644
      index 00000000000..37dffe624d9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/GlyphVector.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/GraphicAttribute.class b/libjava/classpath/lib/java/awt/font/GraphicAttribute.class
      new file mode 100644
      index 00000000000..579a766da43
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/GraphicAttribute.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class b/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class
      new file mode 100644
      index 00000000000..97af1d64bed
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/ImageGraphicAttribute.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/LineBreakMeasurer.class b/libjava/classpath/lib/java/awt/font/LineBreakMeasurer.class
      new file mode 100644
      index 00000000000..5219b788e38
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/LineBreakMeasurer.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/LineMetrics.class b/libjava/classpath/lib/java/awt/font/LineMetrics.class
      new file mode 100644
      index 00000000000..750960e9e17
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/LineMetrics.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/MultipleMaster.class b/libjava/classpath/lib/java/awt/font/MultipleMaster.class
      new file mode 100644
      index 00000000000..e64ad0c2398
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/MultipleMaster.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/NumericShaper.class b/libjava/classpath/lib/java/awt/font/NumericShaper.class
      new file mode 100644
      index 00000000000..01bbc22fac6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/NumericShaper.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/OpenType.class b/libjava/classpath/lib/java/awt/font/OpenType.class
      new file mode 100644
      index 00000000000..a751f1d9780
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/OpenType.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class b/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class
      new file mode 100644
      index 00000000000..9442a7479e0
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/ShapeGraphicAttribute.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TextAttribute.class b/libjava/classpath/lib/java/awt/font/TextAttribute.class
      new file mode 100644
      index 00000000000..ec4a9d2873e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TextAttribute.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TextHitInfo.class b/libjava/classpath/lib/java/awt/font/TextHitInfo.class
      new file mode 100644
      index 00000000000..cb1f3139ce3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TextHitInfo.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TextLayout$CaretPolicy.class b/libjava/classpath/lib/java/awt/font/TextLayout$CaretPolicy.class
      new file mode 100644
      index 00000000000..5b4117e5c89
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TextLayout$CaretPolicy.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TextLayout$Run.class b/libjava/classpath/lib/java/awt/font/TextLayout$Run.class
      new file mode 100644
      index 00000000000..09bb71dc8b9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TextLayout$Run.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TextLayout.class b/libjava/classpath/lib/java/awt/font/TextLayout.class
      new file mode 100644
      index 00000000000..bea832a12be
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TextLayout.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TextMeasurer.class b/libjava/classpath/lib/java/awt/font/TextMeasurer.class
      new file mode 100644
      index 00000000000..dbbb2a3ad7f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TextMeasurer.class differ
      diff --git a/libjava/classpath/lib/java/awt/font/TransformAttribute.class b/libjava/classpath/lib/java/awt/font/TransformAttribute.class
      new file mode 100644
      index 00000000000..d52f7a2503f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/font/TransformAttribute.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/AffineTransform.class b/libjava/classpath/lib/java/awt/geom/AffineTransform.class
      new file mode 100644
      index 00000000000..2da59944d37
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/AffineTransform.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D$ArcIterator.class b/libjava/classpath/lib/java/awt/geom/Arc2D$ArcIterator.class
      new file mode 100644
      index 00000000000..e1e4a4f5cd3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Arc2D$ArcIterator.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class b/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class
      new file mode 100644
      index 00000000000..3777bf17659
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Arc2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class b/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class
      new file mode 100644
      index 00000000000..74359a783b0
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Arc2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Arc2D.class b/libjava/classpath/lib/java/awt/geom/Arc2D.class
      new file mode 100644
      index 00000000000..ff01a0961fc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Arc2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class
      new file mode 100644
      index 00000000000..fc1e1f6c58b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator$IteratorSegment.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class
      new file mode 100644
      index 00000000000..c0510c73e35
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$AreaIterator.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class
      new file mode 100644
      index 00000000000..8425f445b11
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$CubicSegment.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$Intersection.class b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class
      new file mode 100644
      index 00000000000..c9408392097
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$Intersection.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class
      new file mode 100644
      index 00000000000..c770e64f49d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$LineSegment.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class
      new file mode 100644
      index 00000000000..f2f61d1eab7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$QuadSegment.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area$Segment.class b/libjava/classpath/lib/java/awt/geom/Area$Segment.class
      new file mode 100644
      index 00000000000..b3a1e8b3226
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area$Segment.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Area.class b/libjava/classpath/lib/java/awt/geom/Area.class
      new file mode 100644
      index 00000000000..c8c40b48a16
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Area.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class
      new file mode 100644
      index 00000000000..3aedc6bc736
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class
      new file mode 100644
      index 00000000000..503543bc8f8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class
      new file mode 100644
      index 00000000000..b185581c604
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class b/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class
      new file mode 100644
      index 00000000000..1557091b997
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/CubicCurve2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Dimension2D.class b/libjava/classpath/lib/java/awt/geom/Dimension2D.class
      new file mode 100644
      index 00000000000..35af578c46b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Dimension2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class
      new file mode 100644
      index 00000000000..b2e12a5700e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class
      new file mode 100644
      index 00000000000..b6ce49b4730
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Ellipse2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Ellipse2D.class b/libjava/classpath/lib/java/awt/geom/Ellipse2D.class
      new file mode 100644
      index 00000000000..2a782332a32
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Ellipse2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/FlatteningPathIterator.class b/libjava/classpath/lib/java/awt/geom/FlatteningPathIterator.class
      new file mode 100644
      index 00000000000..41ea2bcf972
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/FlatteningPathIterator.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class b/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class
      new file mode 100644
      index 00000000000..f71ffe500c4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/GeneralPath$GeneralPathIterator.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/GeneralPath.class b/libjava/classpath/lib/java/awt/geom/GeneralPath.class
      new file mode 100644
      index 00000000000..995e5535784
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/GeneralPath.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/IllegalPathStateException.class b/libjava/classpath/lib/java/awt/geom/IllegalPathStateException.class
      new file mode 100644
      index 00000000000..ffac54a35da
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/IllegalPathStateException.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$1.class b/libjava/classpath/lib/java/awt/geom/Line2D$1.class
      new file mode 100644
      index 00000000000..876a78dc9f0
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Line2D$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$Double.class b/libjava/classpath/lib/java/awt/geom/Line2D$Double.class
      new file mode 100644
      index 00000000000..f1fdb8f2e3c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Line2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Line2D$Float.class b/libjava/classpath/lib/java/awt/geom/Line2D$Float.class
      new file mode 100644
      index 00000000000..a022ae480e4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Line2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Line2D.class b/libjava/classpath/lib/java/awt/geom/Line2D.class
      new file mode 100644
      index 00000000000..5845bb5123b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Line2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/NoninvertibleTransformException.class b/libjava/classpath/lib/java/awt/geom/NoninvertibleTransformException.class
      new file mode 100644
      index 00000000000..c4a8580c38b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/NoninvertibleTransformException.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/PathIterator.class b/libjava/classpath/lib/java/awt/geom/PathIterator.class
      new file mode 100644
      index 00000000000..1abdb31e697
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/PathIterator.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Point2D$Double.class b/libjava/classpath/lib/java/awt/geom/Point2D$Double.class
      new file mode 100644
      index 00000000000..0e6019cdef9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Point2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Point2D$Float.class b/libjava/classpath/lib/java/awt/geom/Point2D$Float.class
      new file mode 100644
      index 00000000000..fbf7abc206a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Point2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Point2D.class b/libjava/classpath/lib/java/awt/geom/Point2D.class
      new file mode 100644
      index 00000000000..7cc6b35b655
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Point2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class
      new file mode 100644
      index 00000000000..93ba86abba4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class
      new file mode 100644
      index 00000000000..f0c92f7b436
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class
      new file mode 100644
      index 00000000000..f6b42b06da5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class b/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class
      new file mode 100644
      index 00000000000..8324a377fc6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/QuadCurve2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class
      new file mode 100644
      index 00000000000..4b38908f6a8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Rectangle2D$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D$Double.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D$Double.class
      new file mode 100644
      index 00000000000..ab68a5c690f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Rectangle2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D$Float.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D$Float.class
      new file mode 100644
      index 00000000000..3dc000fcd30
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Rectangle2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/Rectangle2D.class b/libjava/classpath/lib/java/awt/geom/Rectangle2D.class
      new file mode 100644
      index 00000000000..628b608ec10
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/Rectangle2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/RectangularShape.class b/libjava/classpath/lib/java/awt/geom/RectangularShape.class
      new file mode 100644
      index 00000000000..69458e3d750
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/RectangularShape.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class
      new file mode 100644
      index 00000000000..de604f003e8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class
      new file mode 100644
      index 00000000000..4b3a3f46c2b
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Double.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class
      new file mode 100644
      index 00000000000..c8ab25a649e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D$Float.class differ
      diff --git a/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class
      new file mode 100644
      index 00000000000..ff0e1fa28ee
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/geom/RoundRectangle2D.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/InputContext.class b/libjava/classpath/lib/java/awt/im/InputContext.class
      new file mode 100644
      index 00000000000..84acbd2666f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/InputContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/InputMethodHighlight.class b/libjava/classpath/lib/java/awt/im/InputMethodHighlight.class
      new file mode 100644
      index 00000000000..603a3a0e87a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/InputMethodHighlight.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/InputMethodRequests.class b/libjava/classpath/lib/java/awt/im/InputMethodRequests.class
      new file mode 100644
      index 00000000000..1e602d630ea
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/InputMethodRequests.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/InputSubset.class b/libjava/classpath/lib/java/awt/im/InputSubset.class
      new file mode 100644
      index 00000000000..ad26f37192a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/InputSubset.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/spi/InputMethod.class b/libjava/classpath/lib/java/awt/im/spi/InputMethod.class
      new file mode 100644
      index 00000000000..9f74de82a61
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/spi/InputMethod.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/spi/InputMethodContext.class b/libjava/classpath/lib/java/awt/im/spi/InputMethodContext.class
      new file mode 100644
      index 00000000000..c9c622c58ca
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/spi/InputMethodContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/im/spi/InputMethodDescriptor.class b/libjava/classpath/lib/java/awt/im/spi/InputMethodDescriptor.class
      new file mode 100644
      index 00000000000..4d3ef9ca9fe
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/im/spi/InputMethodDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/AffineTransformOp.class b/libjava/classpath/lib/java/awt/image/AffineTransformOp.class
      new file mode 100644
      index 00000000000..bc2eefe9293
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/AffineTransformOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class b/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class
      new file mode 100644
      index 00000000000..6fa585e6c09
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/AreaAveragingScaleFilter.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BandCombineOp.class b/libjava/classpath/lib/java/awt/image/BandCombineOp.class
      new file mode 100644
      index 00000000000..e56e395ca40
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BandCombineOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BandedSampleModel.class b/libjava/classpath/lib/java/awt/image/BandedSampleModel.class
      new file mode 100644
      index 00000000000..534e15f266f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BandedSampleModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BufferStrategy.class b/libjava/classpath/lib/java/awt/image/BufferStrategy.class
      new file mode 100644
      index 00000000000..117080e7058
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BufferStrategy.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BufferedImage$1.class b/libjava/classpath/lib/java/awt/image/BufferedImage$1.class
      new file mode 100644
      index 00000000000..75e331ef818
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BufferedImage$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BufferedImage.class b/libjava/classpath/lib/java/awt/image/BufferedImage.class
      new file mode 100644
      index 00000000000..c1156b6a6f3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BufferedImage.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BufferedImageFilter.class b/libjava/classpath/lib/java/awt/image/BufferedImageFilter.class
      new file mode 100644
      index 00000000000..cb8d712f4c1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BufferedImageFilter.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/BufferedImageOp.class b/libjava/classpath/lib/java/awt/image/BufferedImageOp.class
      new file mode 100644
      index 00000000000..e33b1a0a5fb
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/BufferedImageOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ByteLookupTable.class b/libjava/classpath/lib/java/awt/image/ByteLookupTable.class
      new file mode 100644
      index 00000000000..8fa3faabc00
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ByteLookupTable.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ColorConvertOp.class b/libjava/classpath/lib/java/awt/image/ColorConvertOp.class
      new file mode 100644
      index 00000000000..bc3fa08e914
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ColorConvertOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ColorModel$SRGBColorModel.class b/libjava/classpath/lib/java/awt/image/ColorModel$SRGBColorModel.class
      new file mode 100644
      index 00000000000..b9a971b2d5f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ColorModel$SRGBColorModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ColorModel.class b/libjava/classpath/lib/java/awt/image/ColorModel.class
      new file mode 100644
      index 00000000000..5806aabe368
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ColorModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ComponentColorModel.class b/libjava/classpath/lib/java/awt/image/ComponentColorModel.class
      new file mode 100644
      index 00000000000..e9be93f657e
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ComponentColorModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class b/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class
      new file mode 100644
      index 00000000000..74ba60a0881
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ComponentSampleModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ConvolveOp.class b/libjava/classpath/lib/java/awt/image/ConvolveOp.class
      new file mode 100644
      index 00000000000..f9b2ca14d7a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ConvolveOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/CropImageFilter.class b/libjava/classpath/lib/java/awt/image/CropImageFilter.class
      new file mode 100644
      index 00000000000..0be58d674f7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/CropImageFilter.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBuffer.class b/libjava/classpath/lib/java/awt/image/DataBuffer.class
      new file mode 100644
      index 00000000000..39af177d929
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBuffer.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBufferByte.class b/libjava/classpath/lib/java/awt/image/DataBufferByte.class
      new file mode 100644
      index 00000000000..6b411008cd2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBufferByte.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBufferDouble.class b/libjava/classpath/lib/java/awt/image/DataBufferDouble.class
      new file mode 100644
      index 00000000000..eb2bd40914f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBufferDouble.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBufferFloat.class b/libjava/classpath/lib/java/awt/image/DataBufferFloat.class
      new file mode 100644
      index 00000000000..842678d17b2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBufferFloat.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBufferInt.class b/libjava/classpath/lib/java/awt/image/DataBufferInt.class
      new file mode 100644
      index 00000000000..7aacea6dc56
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBufferInt.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBufferShort.class b/libjava/classpath/lib/java/awt/image/DataBufferShort.class
      new file mode 100644
      index 00000000000..0b126b07722
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBufferShort.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DataBufferUShort.class b/libjava/classpath/lib/java/awt/image/DataBufferUShort.class
      new file mode 100644
      index 00000000000..addb229f8cc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DataBufferUShort.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/DirectColorModel.class b/libjava/classpath/lib/java/awt/image/DirectColorModel.class
      new file mode 100644
      index 00000000000..a149ac63135
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/DirectColorModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/FilteredImageSource.class b/libjava/classpath/lib/java/awt/image/FilteredImageSource.class
      new file mode 100644
      index 00000000000..8c9705655d5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/FilteredImageSource.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ImageConsumer.class b/libjava/classpath/lib/java/awt/image/ImageConsumer.class
      new file mode 100644
      index 00000000000..4ee56a733d6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ImageConsumer.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ImageFilter.class b/libjava/classpath/lib/java/awt/image/ImageFilter.class
      new file mode 100644
      index 00000000000..b9f4a2d15ef
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ImageFilter.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ImageObserver.class b/libjava/classpath/lib/java/awt/image/ImageObserver.class
      new file mode 100644
      index 00000000000..22427c22106
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ImageObserver.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ImageProducer.class b/libjava/classpath/lib/java/awt/image/ImageProducer.class
      new file mode 100644
      index 00000000000..b7582dfa237
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ImageProducer.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ImagingOpException.class b/libjava/classpath/lib/java/awt/image/ImagingOpException.class
      new file mode 100644
      index 00000000000..a45bd1cbdfa
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ImagingOpException.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/IndexColorModel.class b/libjava/classpath/lib/java/awt/image/IndexColorModel.class
      new file mode 100644
      index 00000000000..c8f917f7d59
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/IndexColorModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/Kernel.class b/libjava/classpath/lib/java/awt/image/Kernel.class
      new file mode 100644
      index 00000000000..b5d70f5df00
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/Kernel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/LookupOp.class b/libjava/classpath/lib/java/awt/image/LookupOp.class
      new file mode 100644
      index 00000000000..657be12c04a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/LookupOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/LookupTable.class b/libjava/classpath/lib/java/awt/image/LookupTable.class
      new file mode 100644
      index 00000000000..af0e68f0a75
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/LookupTable.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/MemoryImageSource.class b/libjava/classpath/lib/java/awt/image/MemoryImageSource.class
      new file mode 100644
      index 00000000000..25ab31a45ef
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/MemoryImageSource.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/MultiPixelPackedSampleModel.class b/libjava/classpath/lib/java/awt/image/MultiPixelPackedSampleModel.class
      new file mode 100644
      index 00000000000..9fae4aba855
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/MultiPixelPackedSampleModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/PackedColorModel.class b/libjava/classpath/lib/java/awt/image/PackedColorModel.class
      new file mode 100644
      index 00000000000..0d90ac3c427
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/PackedColorModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class b/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class
      new file mode 100644
      index 00000000000..f12bf8d2c5c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/PixelGrabber$1.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/PixelGrabber.class b/libjava/classpath/lib/java/awt/image/PixelGrabber.class
      new file mode 100644
      index 00000000000..b4797bd79fa
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/PixelGrabber.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/PixelInterleavedSampleModel.class b/libjava/classpath/lib/java/awt/image/PixelInterleavedSampleModel.class
      new file mode 100644
      index 00000000000..9f456ec8235
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/PixelInterleavedSampleModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/RGBImageFilter.class b/libjava/classpath/lib/java/awt/image/RGBImageFilter.class
      new file mode 100644
      index 00000000000..c0573de77c7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/RGBImageFilter.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/Raster.class b/libjava/classpath/lib/java/awt/image/Raster.class
      new file mode 100644
      index 00000000000..054d9b364a6
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/Raster.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/RasterFormatException.class b/libjava/classpath/lib/java/awt/image/RasterFormatException.class
      new file mode 100644
      index 00000000000..2f76b3e50f2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/RasterFormatException.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/RasterOp.class b/libjava/classpath/lib/java/awt/image/RasterOp.class
      new file mode 100644
      index 00000000000..201a7803b05
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/RasterOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/RenderedImage.class b/libjava/classpath/lib/java/awt/image/RenderedImage.class
      new file mode 100644
      index 00000000000..de5e3efd00c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/RenderedImage.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ReplicateScaleFilter.class b/libjava/classpath/lib/java/awt/image/ReplicateScaleFilter.class
      new file mode 100644
      index 00000000000..a6aa9917a25
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ReplicateScaleFilter.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/RescaleOp.class b/libjava/classpath/lib/java/awt/image/RescaleOp.class
      new file mode 100644
      index 00000000000..5e96dfbbbbd
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/RescaleOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/SampleModel.class b/libjava/classpath/lib/java/awt/image/SampleModel.class
      new file mode 100644
      index 00000000000..fdb7ab3dcfc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/SampleModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/ShortLookupTable.class b/libjava/classpath/lib/java/awt/image/ShortLookupTable.class
      new file mode 100644
      index 00000000000..6011a335556
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/ShortLookupTable.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class b/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class
      new file mode 100644
      index 00000000000..52564fc4bf3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/SinglePixelPackedSampleModel.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/TileObserver.class b/libjava/classpath/lib/java/awt/image/TileObserver.class
      new file mode 100644
      index 00000000000..9aa292ab8af
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/TileObserver.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/VolatileImage.class b/libjava/classpath/lib/java/awt/image/VolatileImage.class
      new file mode 100644
      index 00000000000..5cf77025e95
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/VolatileImage.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/WritableRaster.class b/libjava/classpath/lib/java/awt/image/WritableRaster.class
      new file mode 100644
      index 00000000000..d80cfee662c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/WritableRaster.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/WritableRenderedImage.class b/libjava/classpath/lib/java/awt/image/WritableRenderedImage.class
      new file mode 100644
      index 00000000000..a28e08dbdb8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/WritableRenderedImage.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/ContextualRenderedImageFactory.class b/libjava/classpath/lib/java/awt/image/renderable/ContextualRenderedImageFactory.class
      new file mode 100644
      index 00000000000..acdf0cfec06
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/ContextualRenderedImageFactory.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/ParameterBlock.class b/libjava/classpath/lib/java/awt/image/renderable/ParameterBlock.class
      new file mode 100644
      index 00000000000..1b3573b9d50
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/ParameterBlock.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/RenderContext.class b/libjava/classpath/lib/java/awt/image/renderable/RenderContext.class
      new file mode 100644
      index 00000000000..4a42f233081
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/RenderContext.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/RenderableImage.class b/libjava/classpath/lib/java/awt/image/renderable/RenderableImage.class
      new file mode 100644
      index 00000000000..13e554c7a4a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/RenderableImage.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/RenderableImageOp.class b/libjava/classpath/lib/java/awt/image/renderable/RenderableImageOp.class
      new file mode 100644
      index 00000000000..2a7aedb5af2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/RenderableImageOp.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/RenderableImageProducer.class b/libjava/classpath/lib/java/awt/image/renderable/RenderableImageProducer.class
      new file mode 100644
      index 00000000000..339f8a429ea
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/RenderableImageProducer.class differ
      diff --git a/libjava/classpath/lib/java/awt/image/renderable/RenderedImageFactory.class b/libjava/classpath/lib/java/awt/image/renderable/RenderedImageFactory.class
      new file mode 100644
      index 00000000000..5b6801ab411
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/image/renderable/RenderedImageFactory.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ButtonPeer.class b/libjava/classpath/lib/java/awt/peer/ButtonPeer.class
      new file mode 100644
      index 00000000000..f0581ea3602
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ButtonPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/CanvasPeer.class b/libjava/classpath/lib/java/awt/peer/CanvasPeer.class
      new file mode 100644
      index 00000000000..0785476928c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/CanvasPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/CheckboxMenuItemPeer.class b/libjava/classpath/lib/java/awt/peer/CheckboxMenuItemPeer.class
      new file mode 100644
      index 00000000000..880dfbd17c2
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/CheckboxMenuItemPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/CheckboxPeer.class b/libjava/classpath/lib/java/awt/peer/CheckboxPeer.class
      new file mode 100644
      index 00000000000..843fe79980f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/CheckboxPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ChoicePeer.class b/libjava/classpath/lib/java/awt/peer/ChoicePeer.class
      new file mode 100644
      index 00000000000..d496c1f2c69
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ChoicePeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ComponentPeer.class b/libjava/classpath/lib/java/awt/peer/ComponentPeer.class
      new file mode 100644
      index 00000000000..37cd47ca2c1
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ComponentPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ContainerPeer.class b/libjava/classpath/lib/java/awt/peer/ContainerPeer.class
      new file mode 100644
      index 00000000000..97e8f987584
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ContainerPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/DialogPeer.class b/libjava/classpath/lib/java/awt/peer/DialogPeer.class
      new file mode 100644
      index 00000000000..39d9887e8f4
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/DialogPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/FileDialogPeer.class b/libjava/classpath/lib/java/awt/peer/FileDialogPeer.class
      new file mode 100644
      index 00000000000..502ef7da034
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/FileDialogPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/FontPeer.class b/libjava/classpath/lib/java/awt/peer/FontPeer.class
      new file mode 100644
      index 00000000000..74f5d9ae7b7
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/FontPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/FramePeer.class b/libjava/classpath/lib/java/awt/peer/FramePeer.class
      new file mode 100644
      index 00000000000..b8bc7585d5f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/FramePeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/LabelPeer.class b/libjava/classpath/lib/java/awt/peer/LabelPeer.class
      new file mode 100644
      index 00000000000..dab684df922
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/LabelPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/LightweightPeer.class b/libjava/classpath/lib/java/awt/peer/LightweightPeer.class
      new file mode 100644
      index 00000000000..37a38244d9c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/LightweightPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ListPeer.class b/libjava/classpath/lib/java/awt/peer/ListPeer.class
      new file mode 100644
      index 00000000000..817a2c2e8a8
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ListPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/MenuBarPeer.class b/libjava/classpath/lib/java/awt/peer/MenuBarPeer.class
      new file mode 100644
      index 00000000000..d1563ab3ee3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/MenuBarPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/MenuComponentPeer.class b/libjava/classpath/lib/java/awt/peer/MenuComponentPeer.class
      new file mode 100644
      index 00000000000..07de124cadf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/MenuComponentPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/MenuItemPeer.class b/libjava/classpath/lib/java/awt/peer/MenuItemPeer.class
      new file mode 100644
      index 00000000000..682201777ad
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/MenuItemPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/MenuPeer.class b/libjava/classpath/lib/java/awt/peer/MenuPeer.class
      new file mode 100644
      index 00000000000..6ac26847645
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/MenuPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/MouseInfoPeer.class b/libjava/classpath/lib/java/awt/peer/MouseInfoPeer.class
      new file mode 100644
      index 00000000000..a02bdce47e3
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/MouseInfoPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/PanelPeer.class b/libjava/classpath/lib/java/awt/peer/PanelPeer.class
      new file mode 100644
      index 00000000000..f24f5edf90f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/PanelPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/PopupMenuPeer.class b/libjava/classpath/lib/java/awt/peer/PopupMenuPeer.class
      new file mode 100644
      index 00000000000..d71742ec1e0
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/PopupMenuPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/RobotPeer.class b/libjava/classpath/lib/java/awt/peer/RobotPeer.class
      new file mode 100644
      index 00000000000..983c6d5114f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/RobotPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ScrollPanePeer.class b/libjava/classpath/lib/java/awt/peer/ScrollPanePeer.class
      new file mode 100644
      index 00000000000..2870529851d
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ScrollPanePeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/ScrollbarPeer.class b/libjava/classpath/lib/java/awt/peer/ScrollbarPeer.class
      new file mode 100644
      index 00000000000..19c5d229258
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/ScrollbarPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/TextAreaPeer.class b/libjava/classpath/lib/java/awt/peer/TextAreaPeer.class
      new file mode 100644
      index 00000000000..485b54ac88c
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/TextAreaPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/TextComponentPeer.class b/libjava/classpath/lib/java/awt/peer/TextComponentPeer.class
      new file mode 100644
      index 00000000000..d854876cc17
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/TextComponentPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/TextFieldPeer.class b/libjava/classpath/lib/java/awt/peer/TextFieldPeer.class
      new file mode 100644
      index 00000000000..ec17b2acddf
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/TextFieldPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/peer/WindowPeer.class b/libjava/classpath/lib/java/awt/peer/WindowPeer.class
      new file mode 100644
      index 00000000000..09f9d3415e5
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/peer/WindowPeer.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/Book.class b/libjava/classpath/lib/java/awt/print/Book.class
      new file mode 100644
      index 00000000000..10d8748d051
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/Book.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/NoPrinterJob.class b/libjava/classpath/lib/java/awt/print/NoPrinterJob.class
      new file mode 100644
      index 00000000000..fc2123bc36f
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/NoPrinterJob.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/PageFormat.class b/libjava/classpath/lib/java/awt/print/PageFormat.class
      new file mode 100644
      index 00000000000..ce914954afc
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/PageFormat.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/Pageable.class b/libjava/classpath/lib/java/awt/print/Pageable.class
      new file mode 100644
      index 00000000000..40beda57f41
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/Pageable.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/Paper.class b/libjava/classpath/lib/java/awt/print/Paper.class
      new file mode 100644
      index 00000000000..e52514093c9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/Paper.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/Printable.class b/libjava/classpath/lib/java/awt/print/Printable.class
      new file mode 100644
      index 00000000000..a9b56af9d97
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/Printable.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/PrinterAbortException.class b/libjava/classpath/lib/java/awt/print/PrinterAbortException.class
      new file mode 100644
      index 00000000000..06d7d59cf1a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/PrinterAbortException.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/PrinterException.class b/libjava/classpath/lib/java/awt/print/PrinterException.class
      new file mode 100644
      index 00000000000..909c44b1486
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/PrinterException.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/PrinterGraphics.class b/libjava/classpath/lib/java/awt/print/PrinterGraphics.class
      new file mode 100644
      index 00000000000..86b6950f535
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/PrinterGraphics.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/PrinterIOException.class b/libjava/classpath/lib/java/awt/print/PrinterIOException.class
      new file mode 100644
      index 00000000000..27b6f35ab3a
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/PrinterIOException.class differ
      diff --git a/libjava/classpath/lib/java/awt/print/PrinterJob.class b/libjava/classpath/lib/java/awt/print/PrinterJob.class
      new file mode 100644
      index 00000000000..2f31fd57da9
      Binary files /dev/null and b/libjava/classpath/lib/java/awt/print/PrinterJob.class differ
      diff --git a/libjava/classpath/lib/java/beans/AppletInitializer.class b/libjava/classpath/lib/java/beans/AppletInitializer.class
      new file mode 100644
      index 00000000000..e0b3ba42299
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/AppletInitializer.class differ
      diff --git a/libjava/classpath/lib/java/beans/BeanDescriptor.class b/libjava/classpath/lib/java/beans/BeanDescriptor.class
      new file mode 100644
      index 00000000000..b95fda619ff
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/BeanDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/BeanInfo.class b/libjava/classpath/lib/java/beans/BeanInfo.class
      new file mode 100644
      index 00000000000..53408ca1fc8
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/BeanInfo.class differ
      diff --git a/libjava/classpath/lib/java/beans/Beans.class b/libjava/classpath/lib/java/beans/Beans.class
      new file mode 100644
      index 00000000000..76fe24c89f8
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Beans.class differ
      diff --git a/libjava/classpath/lib/java/beans/Customizer.class b/libjava/classpath/lib/java/beans/Customizer.class
      new file mode 100644
      index 00000000000..4c550c7a349
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Customizer.class differ
      diff --git a/libjava/classpath/lib/java/beans/DefaultPersistenceDelegate.class b/libjava/classpath/lib/java/beans/DefaultPersistenceDelegate.class
      new file mode 100644
      index 00000000000..6c13217644f
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/DefaultPersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/java/beans/DesignMode.class b/libjava/classpath/lib/java/beans/DesignMode.class
      new file mode 100644
      index 00000000000..70c1d8367c3
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/DesignMode.class differ
      diff --git a/libjava/classpath/lib/java/beans/Encoder$1.class b/libjava/classpath/lib/java/beans/Encoder$1.class
      new file mode 100644
      index 00000000000..6bb7946d625
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Encoder$1.class differ
      diff --git a/libjava/classpath/lib/java/beans/Encoder.class b/libjava/classpath/lib/java/beans/Encoder.class
      new file mode 100644
      index 00000000000..69a258f6dca
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Encoder.class differ
      diff --git a/libjava/classpath/lib/java/beans/EventHandler.class b/libjava/classpath/lib/java/beans/EventHandler.class
      new file mode 100644
      index 00000000000..9e0c30b914a
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/EventHandler.class differ
      diff --git a/libjava/classpath/lib/java/beans/EventSetDescriptor.class b/libjava/classpath/lib/java/beans/EventSetDescriptor.class
      new file mode 100644
      index 00000000000..0241e553141
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/EventSetDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/ExceptionListener.class b/libjava/classpath/lib/java/beans/ExceptionListener.class
      new file mode 100644
      index 00000000000..897171e5a5f
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/ExceptionListener.class differ
      diff --git a/libjava/classpath/lib/java/beans/ExplicitInfo.class b/libjava/classpath/lib/java/beans/ExplicitInfo.class
      new file mode 100644
      index 00000000000..857e0c33ebc
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/ExplicitInfo.class differ
      diff --git a/libjava/classpath/lib/java/beans/Expression.class b/libjava/classpath/lib/java/beans/Expression.class
      new file mode 100644
      index 00000000000..d7082903c9a
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Expression.class differ
      diff --git a/libjava/classpath/lib/java/beans/FeatureDescriptor.class b/libjava/classpath/lib/java/beans/FeatureDescriptor.class
      new file mode 100644
      index 00000000000..4b3480160e5
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/FeatureDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/IndexedPropertyChangeEvent.class b/libjava/classpath/lib/java/beans/IndexedPropertyChangeEvent.class
      new file mode 100644
      index 00000000000..25748f37c9b
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/IndexedPropertyChangeEvent.class differ
      diff --git a/libjava/classpath/lib/java/beans/IndexedPropertyDescriptor.class b/libjava/classpath/lib/java/beans/IndexedPropertyDescriptor.class
      new file mode 100644
      index 00000000000..b15f18c0703
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/IndexedPropertyDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/IntrospectionException.class b/libjava/classpath/lib/java/beans/IntrospectionException.class
      new file mode 100644
      index 00000000000..1ce546d321e
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/IntrospectionException.class differ
      diff --git a/libjava/classpath/lib/java/beans/Introspector.class b/libjava/classpath/lib/java/beans/Introspector.class
      new file mode 100644
      index 00000000000..f6f290801ef
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Introspector.class differ
      diff --git a/libjava/classpath/lib/java/beans/MethodDescriptor.class b/libjava/classpath/lib/java/beans/MethodDescriptor.class
      new file mode 100644
      index 00000000000..e19b45f677e
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/MethodDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/ParameterDescriptor.class b/libjava/classpath/lib/java/beans/ParameterDescriptor.class
      new file mode 100644
      index 00000000000..061e648e615
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/ParameterDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/PersistenceDelegate.class b/libjava/classpath/lib/java/beans/PersistenceDelegate.class
      new file mode 100644
      index 00000000000..7612ea187f5
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PersistenceDelegate.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyChangeEvent.class b/libjava/classpath/lib/java/beans/PropertyChangeEvent.class
      new file mode 100644
      index 00000000000..405ba52f7a1
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyChangeEvent.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyChangeListener.class b/libjava/classpath/lib/java/beans/PropertyChangeListener.class
      new file mode 100644
      index 00000000000..336de4a3a73
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyChangeListener.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyChangeListenerProxy.class b/libjava/classpath/lib/java/beans/PropertyChangeListenerProxy.class
      new file mode 100644
      index 00000000000..6e9a0527abe
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyChangeListenerProxy.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyChangeSupport.class b/libjava/classpath/lib/java/beans/PropertyChangeSupport.class
      new file mode 100644
      index 00000000000..030b81a208b
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyChangeSupport.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyDescriptor.class b/libjava/classpath/lib/java/beans/PropertyDescriptor.class
      new file mode 100644
      index 00000000000..c4197ca89fc
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyEditor.class b/libjava/classpath/lib/java/beans/PropertyEditor.class
      new file mode 100644
      index 00000000000..d37a5823d91
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyEditor.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyEditorManager.class b/libjava/classpath/lib/java/beans/PropertyEditorManager.class
      new file mode 100644
      index 00000000000..3f0aef15be7
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyEditorManager.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyEditorSupport.class b/libjava/classpath/lib/java/beans/PropertyEditorSupport.class
      new file mode 100644
      index 00000000000..d0c495dd022
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyEditorSupport.class differ
      diff --git a/libjava/classpath/lib/java/beans/PropertyVetoException.class b/libjava/classpath/lib/java/beans/PropertyVetoException.class
      new file mode 100644
      index 00000000000..30a4aaaba16
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/PropertyVetoException.class differ
      diff --git a/libjava/classpath/lib/java/beans/SimpleBeanInfo.class b/libjava/classpath/lib/java/beans/SimpleBeanInfo.class
      new file mode 100644
      index 00000000000..496ecd600e3
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/SimpleBeanInfo.class differ
      diff --git a/libjava/classpath/lib/java/beans/Statement.class b/libjava/classpath/lib/java/beans/Statement.class
      new file mode 100644
      index 00000000000..c9eddc2cb44
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Statement.class differ
      diff --git a/libjava/classpath/lib/java/beans/VetoableChangeListener.class b/libjava/classpath/lib/java/beans/VetoableChangeListener.class
      new file mode 100644
      index 00000000000..dbca45eea90
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/VetoableChangeListener.class differ
      diff --git a/libjava/classpath/lib/java/beans/VetoableChangeListenerProxy.class b/libjava/classpath/lib/java/beans/VetoableChangeListenerProxy.class
      new file mode 100644
      index 00000000000..63ed47f3b5a
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/VetoableChangeListenerProxy.class differ
      diff --git a/libjava/classpath/lib/java/beans/VetoableChangeSupport.class b/libjava/classpath/lib/java/beans/VetoableChangeSupport.class
      new file mode 100644
      index 00000000000..bb27ac11e45
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/VetoableChangeSupport.class differ
      diff --git a/libjava/classpath/lib/java/beans/Visibility.class b/libjava/classpath/lib/java/beans/Visibility.class
      new file mode 100644
      index 00000000000..291bfc4b337
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/Visibility.class differ
      diff --git a/libjava/classpath/lib/java/beans/XMLDecoder.class b/libjava/classpath/lib/java/beans/XMLDecoder.class
      new file mode 100644
      index 00000000000..813af311c12
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/XMLDecoder.class differ
      diff --git a/libjava/classpath/lib/java/beans/XMLEncoder.class b/libjava/classpath/lib/java/beans/XMLEncoder.class
      new file mode 100644
      index 00000000000..3abe27c826a
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/XMLEncoder.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContext.class b/libjava/classpath/lib/java/beans/beancontext/BeanContext.class
      new file mode 100644
      index 00000000000..d3d5710a14d
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContext.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextChild.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextChild.class
      new file mode 100644
      index 00000000000..f0b3ed8f92a
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextChild.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextChildComponentProxy.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextChildComponentProxy.class
      new file mode 100644
      index 00000000000..4089781fef6
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextChildComponentProxy.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextChildSupport.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextChildSupport.class
      new file mode 100644
      index 00000000000..c6698f86083
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextChildSupport.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextContainerProxy.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextContainerProxy.class
      new file mode 100644
      index 00000000000..5e3750bc4bc
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextContainerProxy.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextEvent.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextEvent.class
      new file mode 100644
      index 00000000000..390216ddf6d
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextEvent.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class
      new file mode 100644
      index 00000000000..631c0dac898
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipEvent.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipListener.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipListener.class
      new file mode 100644
      index 00000000000..c6fa4fcec9f
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextMembershipListener.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextProxy.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextProxy.class
      new file mode 100644
      index 00000000000..82deaafa8e3
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextProxy.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceAvailableEvent.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceAvailableEvent.class
      new file mode 100644
      index 00000000000..9df6d17730a
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceAvailableEvent.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProvider.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProvider.class
      new file mode 100644
      index 00000000000..4b71ff33148
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProvider.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProviderBeanInfo.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProviderBeanInfo.class
      new file mode 100644
      index 00000000000..df17989c2bf
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceProviderBeanInfo.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedEvent.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedEvent.class
      new file mode 100644
      index 00000000000..261e673437e
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedEvent.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedListener.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedListener.class
      new file mode 100644
      index 00000000000..417c562f778
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServiceRevokedListener.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServices.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServices.class
      new file mode 100644
      index 00000000000..98a05f3e94c
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServices.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesListener.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesListener.class
      new file mode 100644
      index 00000000000..ca4a9a41a92
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesListener.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class
      new file mode 100644
      index 00000000000..e5f12c848fb
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.class
      new file mode 100644
      index 00000000000..53724e026a2
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.class
      new file mode 100644
      index 00000000000..4881c940616
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$Request.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$Request.class
      new file mode 100644
      index 00000000000..6fef7beb1a7
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$Request.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class
      new file mode 100644
      index 00000000000..9daefd69259
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class
      new file mode 100644
      index 00000000000..3a186951f74
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class
      new file mode 100644
      index 00000000000..5d0f1b87602
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextServicesSupport.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSChild.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSChild.class
      new file mode 100644
      index 00000000000..85298ff70a4
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSChild.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSIterator.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSIterator.class
      new file mode 100644
      index 00000000000..e976f883174
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport$BCSIterator.class differ
      diff --git a/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport.class b/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport.class
      new file mode 100644
      index 00000000000..3b745035bd6
      Binary files /dev/null and b/libjava/classpath/lib/java/beans/beancontext/BeanContextSupport.class differ
      diff --git a/libjava/classpath/lib/java/io/BufferedInputStream.class b/libjava/classpath/lib/java/io/BufferedInputStream.class
      new file mode 100644
      index 00000000000..ee9850be49e
      Binary files /dev/null and b/libjava/classpath/lib/java/io/BufferedInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/BufferedOutputStream.class b/libjava/classpath/lib/java/io/BufferedOutputStream.class
      new file mode 100644
      index 00000000000..d39a9d93d57
      Binary files /dev/null and b/libjava/classpath/lib/java/io/BufferedOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/BufferedReader.class b/libjava/classpath/lib/java/io/BufferedReader.class
      new file mode 100644
      index 00000000000..efe3c2caf90
      Binary files /dev/null and b/libjava/classpath/lib/java/io/BufferedReader.class differ
      diff --git a/libjava/classpath/lib/java/io/BufferedWriter.class b/libjava/classpath/lib/java/io/BufferedWriter.class
      new file mode 100644
      index 00000000000..167054da892
      Binary files /dev/null and b/libjava/classpath/lib/java/io/BufferedWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/ByteArrayInputStream.class b/libjava/classpath/lib/java/io/ByteArrayInputStream.class
      new file mode 100644
      index 00000000000..637f2e2adf8
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ByteArrayInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/ByteArrayOutputStream.class b/libjava/classpath/lib/java/io/ByteArrayOutputStream.class
      new file mode 100644
      index 00000000000..7f23a4b1262
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ByteArrayOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/CharArrayReader.class b/libjava/classpath/lib/java/io/CharArrayReader.class
      new file mode 100644
      index 00000000000..e4fe697a35f
      Binary files /dev/null and b/libjava/classpath/lib/java/io/CharArrayReader.class differ
      diff --git a/libjava/classpath/lib/java/io/CharArrayWriter.class b/libjava/classpath/lib/java/io/CharArrayWriter.class
      new file mode 100644
      index 00000000000..b5d557c6d89
      Binary files /dev/null and b/libjava/classpath/lib/java/io/CharArrayWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/CharConversionException.class b/libjava/classpath/lib/java/io/CharConversionException.class
      new file mode 100644
      index 00000000000..2c9b2e39397
      Binary files /dev/null and b/libjava/classpath/lib/java/io/CharConversionException.class differ
      diff --git a/libjava/classpath/lib/java/io/Closeable.class b/libjava/classpath/lib/java/io/Closeable.class
      new file mode 100644
      index 00000000000..e47f5e4dbbb
      Binary files /dev/null and b/libjava/classpath/lib/java/io/Closeable.class differ
      diff --git a/libjava/classpath/lib/java/io/DataInput.class b/libjava/classpath/lib/java/io/DataInput.class
      new file mode 100644
      index 00000000000..384a9febd30
      Binary files /dev/null and b/libjava/classpath/lib/java/io/DataInput.class differ
      diff --git a/libjava/classpath/lib/java/io/DataInputStream.class b/libjava/classpath/lib/java/io/DataInputStream.class
      new file mode 100644
      index 00000000000..6730b4a9241
      Binary files /dev/null and b/libjava/classpath/lib/java/io/DataInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/DataOutput.class b/libjava/classpath/lib/java/io/DataOutput.class
      new file mode 100644
      index 00000000000..0e4c74c1eb4
      Binary files /dev/null and b/libjava/classpath/lib/java/io/DataOutput.class differ
      diff --git a/libjava/classpath/lib/java/io/DataOutputStream.class b/libjava/classpath/lib/java/io/DataOutputStream.class
      new file mode 100644
      index 00000000000..228fbeb7401
      Binary files /dev/null and b/libjava/classpath/lib/java/io/DataOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/DeleteFileHelper$1.class b/libjava/classpath/lib/java/io/DeleteFileHelper$1.class
      new file mode 100644
      index 00000000000..c9ecae4ca58
      Binary files /dev/null and b/libjava/classpath/lib/java/io/DeleteFileHelper$1.class differ
      diff --git a/libjava/classpath/lib/java/io/DeleteFileHelper.class b/libjava/classpath/lib/java/io/DeleteFileHelper.class
      new file mode 100644
      index 00000000000..14570bd29eb
      Binary files /dev/null and b/libjava/classpath/lib/java/io/DeleteFileHelper.class differ
      diff --git a/libjava/classpath/lib/java/io/EOFException.class b/libjava/classpath/lib/java/io/EOFException.class
      new file mode 100644
      index 00000000000..48252ca0fbd
      Binary files /dev/null and b/libjava/classpath/lib/java/io/EOFException.class differ
      diff --git a/libjava/classpath/lib/java/io/Externalizable.class b/libjava/classpath/lib/java/io/Externalizable.class
      new file mode 100644
      index 00000000000..5de5c5ed66c
      Binary files /dev/null and b/libjava/classpath/lib/java/io/Externalizable.class differ
      diff --git a/libjava/classpath/lib/java/io/File.class b/libjava/classpath/lib/java/io/File.class
      new file mode 100644
      index 00000000000..06a7442a3a9
      Binary files /dev/null and b/libjava/classpath/lib/java/io/File.class differ
      diff --git a/libjava/classpath/lib/java/io/FileDescriptor.class b/libjava/classpath/lib/java/io/FileDescriptor.class
      new file mode 100644
      index 00000000000..a04a8a1998f
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileDescriptor.class differ
      diff --git a/libjava/classpath/lib/java/io/FileFilter.class b/libjava/classpath/lib/java/io/FileFilter.class
      new file mode 100644
      index 00000000000..6f80d89c9c4
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileFilter.class differ
      diff --git a/libjava/classpath/lib/java/io/FileInputStream.class b/libjava/classpath/lib/java/io/FileInputStream.class
      new file mode 100644
      index 00000000000..13b283e916d
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/FileNotFoundException.class b/libjava/classpath/lib/java/io/FileNotFoundException.class
      new file mode 100644
      index 00000000000..ceefd617fba
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileNotFoundException.class differ
      diff --git a/libjava/classpath/lib/java/io/FileOutputStream.class b/libjava/classpath/lib/java/io/FileOutputStream.class
      new file mode 100644
      index 00000000000..d01dbbec17c
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/FilePermission.class b/libjava/classpath/lib/java/io/FilePermission.class
      new file mode 100644
      index 00000000000..c5356442f25
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FilePermission.class differ
      diff --git a/libjava/classpath/lib/java/io/FileReader.class b/libjava/classpath/lib/java/io/FileReader.class
      new file mode 100644
      index 00000000000..ed97856c4ea
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileReader.class differ
      diff --git a/libjava/classpath/lib/java/io/FileWriter.class b/libjava/classpath/lib/java/io/FileWriter.class
      new file mode 100644
      index 00000000000..f8cbdfc2dfe
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FileWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/FilenameFilter.class b/libjava/classpath/lib/java/io/FilenameFilter.class
      new file mode 100644
      index 00000000000..4eaf5af0887
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FilenameFilter.class differ
      diff --git a/libjava/classpath/lib/java/io/FilterInputStream.class b/libjava/classpath/lib/java/io/FilterInputStream.class
      new file mode 100644
      index 00000000000..20e17edca82
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FilterInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/FilterOutputStream.class b/libjava/classpath/lib/java/io/FilterOutputStream.class
      new file mode 100644
      index 00000000000..958701f045a
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FilterOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/FilterReader.class b/libjava/classpath/lib/java/io/FilterReader.class
      new file mode 100644
      index 00000000000..3a2511e1d8e
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FilterReader.class differ
      diff --git a/libjava/classpath/lib/java/io/FilterWriter.class b/libjava/classpath/lib/java/io/FilterWriter.class
      new file mode 100644
      index 00000000000..393312c942e
      Binary files /dev/null and b/libjava/classpath/lib/java/io/FilterWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/Flushable.class b/libjava/classpath/lib/java/io/Flushable.class
      new file mode 100644
      index 00000000000..66335634686
      Binary files /dev/null and b/libjava/classpath/lib/java/io/Flushable.class differ
      diff --git a/libjava/classpath/lib/java/io/IOException.class b/libjava/classpath/lib/java/io/IOException.class
      new file mode 100644
      index 00000000000..8ace2958ee6
      Binary files /dev/null and b/libjava/classpath/lib/java/io/IOException.class differ
      diff --git a/libjava/classpath/lib/java/io/InputStream.class b/libjava/classpath/lib/java/io/InputStream.class
      new file mode 100644
      index 00000000000..6839fb8fc09
      Binary files /dev/null and b/libjava/classpath/lib/java/io/InputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/InputStreamReader.class b/libjava/classpath/lib/java/io/InputStreamReader.class
      new file mode 100644
      index 00000000000..8e752b9e606
      Binary files /dev/null and b/libjava/classpath/lib/java/io/InputStreamReader.class differ
      diff --git a/libjava/classpath/lib/java/io/InterruptedIOException.class b/libjava/classpath/lib/java/io/InterruptedIOException.class
      new file mode 100644
      index 00000000000..0025ea890ec
      Binary files /dev/null and b/libjava/classpath/lib/java/io/InterruptedIOException.class differ
      diff --git a/libjava/classpath/lib/java/io/InvalidClassException.class b/libjava/classpath/lib/java/io/InvalidClassException.class
      new file mode 100644
      index 00000000000..df3aa4d98b9
      Binary files /dev/null and b/libjava/classpath/lib/java/io/InvalidClassException.class differ
      diff --git a/libjava/classpath/lib/java/io/InvalidObjectException.class b/libjava/classpath/lib/java/io/InvalidObjectException.class
      new file mode 100644
      index 00000000000..dca02dfb540
      Binary files /dev/null and b/libjava/classpath/lib/java/io/InvalidObjectException.class differ
      diff --git a/libjava/classpath/lib/java/io/LineNumberInputStream.class b/libjava/classpath/lib/java/io/LineNumberInputStream.class
      new file mode 100644
      index 00000000000..f422337ca4b
      Binary files /dev/null and b/libjava/classpath/lib/java/io/LineNumberInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/LineNumberReader.class b/libjava/classpath/lib/java/io/LineNumberReader.class
      new file mode 100644
      index 00000000000..2b1f52dc642
      Binary files /dev/null and b/libjava/classpath/lib/java/io/LineNumberReader.class differ
      diff --git a/libjava/classpath/lib/java/io/NotActiveException.class b/libjava/classpath/lib/java/io/NotActiveException.class
      new file mode 100644
      index 00000000000..55fd435de77
      Binary files /dev/null and b/libjava/classpath/lib/java/io/NotActiveException.class differ
      diff --git a/libjava/classpath/lib/java/io/NotSerializableException.class b/libjava/classpath/lib/java/io/NotSerializableException.class
      new file mode 100644
      index 00000000000..f7bec05f427
      Binary files /dev/null and b/libjava/classpath/lib/java/io/NotSerializableException.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInput.class b/libjava/classpath/lib/java/io/ObjectInput.class
      new file mode 100644
      index 00000000000..f0d1a9ea8e4
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInput.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$1.class b/libjava/classpath/lib/java/io/ObjectInputStream$1.class
      new file mode 100644
      index 00000000000..43e3a0c23fc
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInputStream$1.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$2.class b/libjava/classpath/lib/java/io/ObjectInputStream$2.class
      new file mode 100644
      index 00000000000..053a354bde5
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInputStream$2.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class
      new file mode 100644
      index 00000000000..da4ee377470
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInputStream$GetField.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class
      new file mode 100644
      index 00000000000..ee951cfdb05
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInputStream$ValidatorAndPriority.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInputStream.class b/libjava/classpath/lib/java/io/ObjectInputStream.class
      new file mode 100644
      index 00000000000..d6ae861ea0c
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectInputValidation.class b/libjava/classpath/lib/java/io/ObjectInputValidation.class
      new file mode 100644
      index 00000000000..cfc25151e85
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectInputValidation.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectOutput.class b/libjava/classpath/lib/java/io/ObjectOutput.class
      new file mode 100644
      index 00000000000..ccc1902d67c
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectOutput.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream$1.class b/libjava/classpath/lib/java/io/ObjectOutputStream$1.class
      new file mode 100644
      index 00000000000..56e2f75d352
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectOutputStream$1.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class b/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class
      new file mode 100644
      index 00000000000..87df0f1cbec
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectOutputStream$PutField.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectOutputStream.class b/libjava/classpath/lib/java/io/ObjectOutputStream.class
      new file mode 100644
      index 00000000000..fb3f40a9d74
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$1.class b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class
      new file mode 100644
      index 00000000000..6279a244cd8
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$2.class b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class
      new file mode 100644
      index 00000000000..4c91ea650b2
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$InterfaceComparator.class b/libjava/classpath/lib/java/io/ObjectStreamClass$InterfaceComparator.class
      new file mode 100644
      index 00000000000..7c0ac37ee2f
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamClass$InterfaceComparator.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$MemberComparator.class b/libjava/classpath/lib/java/io/ObjectStreamClass$MemberComparator.class
      new file mode 100644
      index 00000000000..233aa690ae4
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamClass$MemberComparator.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass.class b/libjava/classpath/lib/java/io/ObjectStreamClass.class
      new file mode 100644
      index 00000000000..e0d9e7f21b2
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamClass.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamConstants.class b/libjava/classpath/lib/java/io/ObjectStreamConstants.class
      new file mode 100644
      index 00000000000..6fa614618ed
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamConstants.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamException.class b/libjava/classpath/lib/java/io/ObjectStreamException.class
      new file mode 100644
      index 00000000000..376b1710397
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamException.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamField$1.class b/libjava/classpath/lib/java/io/ObjectStreamField$1.class
      new file mode 100644
      index 00000000000..bdc0407212a
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamField$1.class differ
      diff --git a/libjava/classpath/lib/java/io/ObjectStreamField.class b/libjava/classpath/lib/java/io/ObjectStreamField.class
      new file mode 100644
      index 00000000000..7877ba80525
      Binary files /dev/null and b/libjava/classpath/lib/java/io/ObjectStreamField.class differ
      diff --git a/libjava/classpath/lib/java/io/OptionalDataException.class b/libjava/classpath/lib/java/io/OptionalDataException.class
      new file mode 100644
      index 00000000000..a1d6b6cf045
      Binary files /dev/null and b/libjava/classpath/lib/java/io/OptionalDataException.class differ
      diff --git a/libjava/classpath/lib/java/io/OutputStream.class b/libjava/classpath/lib/java/io/OutputStream.class
      new file mode 100644
      index 00000000000..48cb02fa457
      Binary files /dev/null and b/libjava/classpath/lib/java/io/OutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/OutputStreamWriter.class b/libjava/classpath/lib/java/io/OutputStreamWriter.class
      new file mode 100644
      index 00000000000..16013787972
      Binary files /dev/null and b/libjava/classpath/lib/java/io/OutputStreamWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/PipedInputStream.class b/libjava/classpath/lib/java/io/PipedInputStream.class
      new file mode 100644
      index 00000000000..b2c32046a97
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PipedInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/PipedOutputStream.class b/libjava/classpath/lib/java/io/PipedOutputStream.class
      new file mode 100644
      index 00000000000..480b7aa4a55
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PipedOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/PipedReader.class b/libjava/classpath/lib/java/io/PipedReader.class
      new file mode 100644
      index 00000000000..d63d4dee52d
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PipedReader.class differ
      diff --git a/libjava/classpath/lib/java/io/PipedWriter.class b/libjava/classpath/lib/java/io/PipedWriter.class
      new file mode 100644
      index 00000000000..d032a5e2364
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PipedWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/PrintStream.class b/libjava/classpath/lib/java/io/PrintStream.class
      new file mode 100644
      index 00000000000..c5db701b9df
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PrintStream.class differ
      diff --git a/libjava/classpath/lib/java/io/PrintWriter.class b/libjava/classpath/lib/java/io/PrintWriter.class
      new file mode 100644
      index 00000000000..1b4258ffb61
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PrintWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/PushbackInputStream.class b/libjava/classpath/lib/java/io/PushbackInputStream.class
      new file mode 100644
      index 00000000000..1d9c17e77e8
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PushbackInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/PushbackReader.class b/libjava/classpath/lib/java/io/PushbackReader.class
      new file mode 100644
      index 00000000000..c890c21685a
      Binary files /dev/null and b/libjava/classpath/lib/java/io/PushbackReader.class differ
      diff --git a/libjava/classpath/lib/java/io/RandomAccessFile.class b/libjava/classpath/lib/java/io/RandomAccessFile.class
      new file mode 100644
      index 00000000000..61322e8a56c
      Binary files /dev/null and b/libjava/classpath/lib/java/io/RandomAccessFile.class differ
      diff --git a/libjava/classpath/lib/java/io/Reader.class b/libjava/classpath/lib/java/io/Reader.class
      new file mode 100644
      index 00000000000..e18637f8728
      Binary files /dev/null and b/libjava/classpath/lib/java/io/Reader.class differ
      diff --git a/libjava/classpath/lib/java/io/SequenceInputStream.class b/libjava/classpath/lib/java/io/SequenceInputStream.class
      new file mode 100644
      index 00000000000..69f28ff7251
      Binary files /dev/null and b/libjava/classpath/lib/java/io/SequenceInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/Serializable.class b/libjava/classpath/lib/java/io/Serializable.class
      new file mode 100644
      index 00000000000..dbf1442165e
      Binary files /dev/null and b/libjava/classpath/lib/java/io/Serializable.class differ
      diff --git a/libjava/classpath/lib/java/io/SerializablePermission.class b/libjava/classpath/lib/java/io/SerializablePermission.class
      new file mode 100644
      index 00000000000..8b687ead5f6
      Binary files /dev/null and b/libjava/classpath/lib/java/io/SerializablePermission.class differ
      diff --git a/libjava/classpath/lib/java/io/StreamCorruptedException.class b/libjava/classpath/lib/java/io/StreamCorruptedException.class
      new file mode 100644
      index 00000000000..0c064216cba
      Binary files /dev/null and b/libjava/classpath/lib/java/io/StreamCorruptedException.class differ
      diff --git a/libjava/classpath/lib/java/io/StreamTokenizer.class b/libjava/classpath/lib/java/io/StreamTokenizer.class
      new file mode 100644
      index 00000000000..b9ee6f70965
      Binary files /dev/null and b/libjava/classpath/lib/java/io/StreamTokenizer.class differ
      diff --git a/libjava/classpath/lib/java/io/StringBufferInputStream.class b/libjava/classpath/lib/java/io/StringBufferInputStream.class
      new file mode 100644
      index 00000000000..5e56f154b2f
      Binary files /dev/null and b/libjava/classpath/lib/java/io/StringBufferInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/StringReader.class b/libjava/classpath/lib/java/io/StringReader.class
      new file mode 100644
      index 00000000000..a81a99b5f63
      Binary files /dev/null and b/libjava/classpath/lib/java/io/StringReader.class differ
      diff --git a/libjava/classpath/lib/java/io/StringWriter.class b/libjava/classpath/lib/java/io/StringWriter.class
      new file mode 100644
      index 00000000000..0206af0969a
      Binary files /dev/null and b/libjava/classpath/lib/java/io/StringWriter.class differ
      diff --git a/libjava/classpath/lib/java/io/SyncFailedException.class b/libjava/classpath/lib/java/io/SyncFailedException.class
      new file mode 100644
      index 00000000000..e8f7c7da63f
      Binary files /dev/null and b/libjava/classpath/lib/java/io/SyncFailedException.class differ
      diff --git a/libjava/classpath/lib/java/io/UTFDataFormatException.class b/libjava/classpath/lib/java/io/UTFDataFormatException.class
      new file mode 100644
      index 00000000000..1b4df0dd804
      Binary files /dev/null and b/libjava/classpath/lib/java/io/UTFDataFormatException.class differ
      diff --git a/libjava/classpath/lib/java/io/UnsupportedEncodingException.class b/libjava/classpath/lib/java/io/UnsupportedEncodingException.class
      new file mode 100644
      index 00000000000..aaac133dca8
      Binary files /dev/null and b/libjava/classpath/lib/java/io/UnsupportedEncodingException.class differ
      diff --git a/libjava/classpath/lib/java/io/VMObjectInputStream.class b/libjava/classpath/lib/java/io/VMObjectInputStream.class
      new file mode 100644
      index 00000000000..71147789f0b
      Binary files /dev/null and b/libjava/classpath/lib/java/io/VMObjectInputStream.class differ
      diff --git a/libjava/classpath/lib/java/io/VMObjectStreamClass.class b/libjava/classpath/lib/java/io/VMObjectStreamClass.class
      new file mode 100644
      index 00000000000..f73400c4c96
      Binary files /dev/null and b/libjava/classpath/lib/java/io/VMObjectStreamClass.class differ
      diff --git a/libjava/classpath/lib/java/io/WriteAbortedException.class b/libjava/classpath/lib/java/io/WriteAbortedException.class
      new file mode 100644
      index 00000000000..8ca44710d72
      Binary files /dev/null and b/libjava/classpath/lib/java/io/WriteAbortedException.class differ
      diff --git a/libjava/classpath/lib/java/io/Writer.class b/libjava/classpath/lib/java/io/Writer.class
      new file mode 100644
      index 00000000000..dcccbe06e22
      Binary files /dev/null and b/libjava/classpath/lib/java/io/Writer.class differ
      diff --git a/libjava/classpath/lib/java/lang/AbstractMethodError.class b/libjava/classpath/lib/java/lang/AbstractMethodError.class
      new file mode 100644
      index 00000000000..625357d5b7e
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/AbstractMethodError.class differ
      diff --git a/libjava/classpath/lib/java/lang/Appendable.class b/libjava/classpath/lib/java/lang/Appendable.class
      new file mode 100644
      index 00000000000..5e4f77eb9eb
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Appendable.class differ
      diff --git a/libjava/classpath/lib/java/lang/ArithmeticException.class b/libjava/classpath/lib/java/lang/ArithmeticException.class
      new file mode 100644
      index 00000000000..1be9eecd328
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ArithmeticException.class differ
      diff --git a/libjava/classpath/lib/java/lang/ArrayIndexOutOfBoundsException.class b/libjava/classpath/lib/java/lang/ArrayIndexOutOfBoundsException.class
      new file mode 100644
      index 00000000000..82bf0f0ee4d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ArrayIndexOutOfBoundsException.class differ
      diff --git a/libjava/classpath/lib/java/lang/ArrayStoreException.class b/libjava/classpath/lib/java/lang/ArrayStoreException.class
      new file mode 100644
      index 00000000000..4e20e87e3cf
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ArrayStoreException.class differ
      diff --git a/libjava/classpath/lib/java/lang/AssertionError.class b/libjava/classpath/lib/java/lang/AssertionError.class
      new file mode 100644
      index 00000000000..e81c3c60d33
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/AssertionError.class differ
      diff --git a/libjava/classpath/lib/java/lang/Boolean.class b/libjava/classpath/lib/java/lang/Boolean.class
      new file mode 100644
      index 00000000000..820c590167e
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Boolean.class differ
      diff --git a/libjava/classpath/lib/java/lang/Byte.class b/libjava/classpath/lib/java/lang/Byte.class
      new file mode 100644
      index 00000000000..1ace4ada996
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Byte.class differ
      diff --git a/libjava/classpath/lib/java/lang/CharSequence.class b/libjava/classpath/lib/java/lang/CharSequence.class
      new file mode 100644
      index 00000000000..8abd02a9331
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/CharSequence.class differ
      diff --git a/libjava/classpath/lib/java/lang/Character$Subset.class b/libjava/classpath/lib/java/lang/Character$Subset.class
      new file mode 100644
      index 00000000000..5a928021d65
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Character$Subset.class differ
      diff --git a/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class b/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class
      new file mode 100644
      index 00000000000..fddba6abbb1
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Character$UnicodeBlock.class differ
      diff --git a/libjava/classpath/lib/java/lang/Character.class b/libjava/classpath/lib/java/lang/Character.class
      new file mode 100644
      index 00000000000..3d41ebef22d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Character.class differ
      diff --git a/libjava/classpath/lib/java/lang/Class.class b/libjava/classpath/lib/java/lang/Class.class
      new file mode 100644
      index 00000000000..13b56116d94
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Class.class differ
      diff --git a/libjava/classpath/lib/java/lang/ClassCastException.class b/libjava/classpath/lib/java/lang/ClassCastException.class
      new file mode 100644
      index 00000000000..d7700242f35
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ClassCastException.class differ
      diff --git a/libjava/classpath/lib/java/lang/ClassCircularityError.class b/libjava/classpath/lib/java/lang/ClassCircularityError.class
      new file mode 100644
      index 00000000000..4651dab1e76
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ClassCircularityError.class differ
      diff --git a/libjava/classpath/lib/java/lang/ClassFormatError.class b/libjava/classpath/lib/java/lang/ClassFormatError.class
      new file mode 100644
      index 00000000000..a0a3352c440
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ClassFormatError.class differ
      diff --git a/libjava/classpath/lib/java/lang/ClassLoader$AnnotationsKey.class b/libjava/classpath/lib/java/lang/ClassLoader$AnnotationsKey.class
      new file mode 100644
      index 00000000000..5f0b96d7acf
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ClassLoader$AnnotationsKey.class differ
      diff --git a/libjava/classpath/lib/java/lang/ClassLoader.class b/libjava/classpath/lib/java/lang/ClassLoader.class
      new file mode 100644
      index 00000000000..5cbd090872a
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ClassLoader.class differ
      diff --git a/libjava/classpath/lib/java/lang/ClassNotFoundException.class b/libjava/classpath/lib/java/lang/ClassNotFoundException.class
      new file mode 100644
      index 00000000000..27239e48359
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ClassNotFoundException.class differ
      diff --git a/libjava/classpath/lib/java/lang/CloneNotSupportedException.class b/libjava/classpath/lib/java/lang/CloneNotSupportedException.class
      new file mode 100644
      index 00000000000..3b942f46479
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/CloneNotSupportedException.class differ
      diff --git a/libjava/classpath/lib/java/lang/Cloneable.class b/libjava/classpath/lib/java/lang/Cloneable.class
      new file mode 100644
      index 00000000000..313c5247485
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Cloneable.class differ
      diff --git a/libjava/classpath/lib/java/lang/Comparable.class b/libjava/classpath/lib/java/lang/Comparable.class
      new file mode 100644
      index 00000000000..3051c4fd10f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Comparable.class differ
      diff --git a/libjava/classpath/lib/java/lang/Compiler.class b/libjava/classpath/lib/java/lang/Compiler.class
      new file mode 100644
      index 00000000000..02bbf9ce22c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Compiler.class differ
      diff --git a/libjava/classpath/lib/java/lang/Deprecated.class b/libjava/classpath/lib/java/lang/Deprecated.class
      new file mode 100644
      index 00000000000..676228576f0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Deprecated.class differ
      diff --git a/libjava/classpath/lib/java/lang/Double.class b/libjava/classpath/lib/java/lang/Double.class
      new file mode 100644
      index 00000000000..d6757549165
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Double.class differ
      diff --git a/libjava/classpath/lib/java/lang/EcosProcess.class b/libjava/classpath/lib/java/lang/EcosProcess.class
      new file mode 100644
      index 00000000000..f306e4c87af
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/EcosProcess.class differ
      diff --git a/libjava/classpath/lib/java/lang/Enum.class b/libjava/classpath/lib/java/lang/Enum.class
      new file mode 100644
      index 00000000000..e7961262241
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Enum.class differ
      diff --git a/libjava/classpath/lib/java/lang/EnumConstantNotPresentException.class b/libjava/classpath/lib/java/lang/EnumConstantNotPresentException.class
      new file mode 100644
      index 00000000000..dd66f1cead0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/EnumConstantNotPresentException.class differ
      diff --git a/libjava/classpath/lib/java/lang/Error.class b/libjava/classpath/lib/java/lang/Error.class
      new file mode 100644
      index 00000000000..20eb8cb977c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Error.class differ
      diff --git a/libjava/classpath/lib/java/lang/Exception.class b/libjava/classpath/lib/java/lang/Exception.class
      new file mode 100644
      index 00000000000..cc0a6ce77eb
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Exception.class differ
      diff --git a/libjava/classpath/lib/java/lang/ExceptionInInitializerError.class b/libjava/classpath/lib/java/lang/ExceptionInInitializerError.class
      new file mode 100644
      index 00000000000..26ca8577673
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ExceptionInInitializerError.class differ
      diff --git a/libjava/classpath/lib/java/lang/Float.class b/libjava/classpath/lib/java/lang/Float.class
      new file mode 100644
      index 00000000000..42732a6f381
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Float.class differ
      diff --git a/libjava/classpath/lib/java/lang/IllegalAccessError.class b/libjava/classpath/lib/java/lang/IllegalAccessError.class
      new file mode 100644
      index 00000000000..ef0dedacf7d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IllegalAccessError.class differ
      diff --git a/libjava/classpath/lib/java/lang/IllegalAccessException.class b/libjava/classpath/lib/java/lang/IllegalAccessException.class
      new file mode 100644
      index 00000000000..e5dd5b449a7
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IllegalAccessException.class differ
      diff --git a/libjava/classpath/lib/java/lang/IllegalArgumentException.class b/libjava/classpath/lib/java/lang/IllegalArgumentException.class
      new file mode 100644
      index 00000000000..11a02e9e814
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IllegalArgumentException.class differ
      diff --git a/libjava/classpath/lib/java/lang/IllegalMonitorStateException.class b/libjava/classpath/lib/java/lang/IllegalMonitorStateException.class
      new file mode 100644
      index 00000000000..8e7de1e0774
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IllegalMonitorStateException.class differ
      diff --git a/libjava/classpath/lib/java/lang/IllegalStateException.class b/libjava/classpath/lib/java/lang/IllegalStateException.class
      new file mode 100644
      index 00000000000..08bcb4d3ab1
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IllegalStateException.class differ
      diff --git a/libjava/classpath/lib/java/lang/IllegalThreadStateException.class b/libjava/classpath/lib/java/lang/IllegalThreadStateException.class
      new file mode 100644
      index 00000000000..e75e16b1e47
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IllegalThreadStateException.class differ
      diff --git a/libjava/classpath/lib/java/lang/IncompatibleClassChangeError.class b/libjava/classpath/lib/java/lang/IncompatibleClassChangeError.class
      new file mode 100644
      index 00000000000..b5f1c8216d2
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IncompatibleClassChangeError.class differ
      diff --git a/libjava/classpath/lib/java/lang/IndexOutOfBoundsException.class b/libjava/classpath/lib/java/lang/IndexOutOfBoundsException.class
      new file mode 100644
      index 00000000000..b33f109955f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/IndexOutOfBoundsException.class differ
      diff --git a/libjava/classpath/lib/java/lang/InheritableThreadLocal.class b/libjava/classpath/lib/java/lang/InheritableThreadLocal.class
      new file mode 100644
      index 00000000000..3eea8f7bb47
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/InheritableThreadLocal.class differ
      diff --git a/libjava/classpath/lib/java/lang/InstantiationError.class b/libjava/classpath/lib/java/lang/InstantiationError.class
      new file mode 100644
      index 00000000000..9dd5fc20042
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/InstantiationError.class differ
      diff --git a/libjava/classpath/lib/java/lang/InstantiationException.class b/libjava/classpath/lib/java/lang/InstantiationException.class
      new file mode 100644
      index 00000000000..60311a8eb8f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/InstantiationException.class differ
      diff --git a/libjava/classpath/lib/java/lang/Integer.class b/libjava/classpath/lib/java/lang/Integer.class
      new file mode 100644
      index 00000000000..3fc97252e29
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Integer.class differ
      diff --git a/libjava/classpath/lib/java/lang/InternalError.class b/libjava/classpath/lib/java/lang/InternalError.class
      new file mode 100644
      index 00000000000..6e61654b539
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/InternalError.class differ
      diff --git a/libjava/classpath/lib/java/lang/InterruptedException.class b/libjava/classpath/lib/java/lang/InterruptedException.class
      new file mode 100644
      index 00000000000..6504769956f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/InterruptedException.class differ
      diff --git a/libjava/classpath/lib/java/lang/Iterable.class b/libjava/classpath/lib/java/lang/Iterable.class
      new file mode 100644
      index 00000000000..973203260c2
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Iterable.class differ
      diff --git a/libjava/classpath/lib/java/lang/LinkageError.class b/libjava/classpath/lib/java/lang/LinkageError.class
      new file mode 100644
      index 00000000000..b297fe1b51b
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/LinkageError.class differ
      diff --git a/libjava/classpath/lib/java/lang/Long.class b/libjava/classpath/lib/java/lang/Long.class
      new file mode 100644
      index 00000000000..df9dc0ce90f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Long.class differ
      diff --git a/libjava/classpath/lib/java/lang/Math.class b/libjava/classpath/lib/java/lang/Math.class
      new file mode 100644
      index 00000000000..612c3655535
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Math.class differ
      diff --git a/libjava/classpath/lib/java/lang/NegativeArraySizeException.class b/libjava/classpath/lib/java/lang/NegativeArraySizeException.class
      new file mode 100644
      index 00000000000..9749e1bf370
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NegativeArraySizeException.class differ
      diff --git a/libjava/classpath/lib/java/lang/NoClassDefFoundError.class b/libjava/classpath/lib/java/lang/NoClassDefFoundError.class
      new file mode 100644
      index 00000000000..58e72ba3058
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NoClassDefFoundError.class differ
      diff --git a/libjava/classpath/lib/java/lang/NoSuchFieldError.class b/libjava/classpath/lib/java/lang/NoSuchFieldError.class
      new file mode 100644
      index 00000000000..28df34afcbd
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NoSuchFieldError.class differ
      diff --git a/libjava/classpath/lib/java/lang/NoSuchFieldException.class b/libjava/classpath/lib/java/lang/NoSuchFieldException.class
      new file mode 100644
      index 00000000000..4ead8e6eec1
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NoSuchFieldException.class differ
      diff --git a/libjava/classpath/lib/java/lang/NoSuchMethodError.class b/libjava/classpath/lib/java/lang/NoSuchMethodError.class
      new file mode 100644
      index 00000000000..73d94719415
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NoSuchMethodError.class differ
      diff --git a/libjava/classpath/lib/java/lang/NoSuchMethodException.class b/libjava/classpath/lib/java/lang/NoSuchMethodException.class
      new file mode 100644
      index 00000000000..47cacd0af19
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NoSuchMethodException.class differ
      diff --git a/libjava/classpath/lib/java/lang/NullPointerException.class b/libjava/classpath/lib/java/lang/NullPointerException.class
      new file mode 100644
      index 00000000000..78457726131
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NullPointerException.class differ
      diff --git a/libjava/classpath/lib/java/lang/Number.class b/libjava/classpath/lib/java/lang/Number.class
      new file mode 100644
      index 00000000000..cb609da71e9
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Number.class differ
      diff --git a/libjava/classpath/lib/java/lang/NumberFormatException.class b/libjava/classpath/lib/java/lang/NumberFormatException.class
      new file mode 100644
      index 00000000000..447205f3e44
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/NumberFormatException.class differ
      diff --git a/libjava/classpath/lib/java/lang/Object.class b/libjava/classpath/lib/java/lang/Object.class
      new file mode 100644
      index 00000000000..40563bf1549
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Object.class differ
      diff --git a/libjava/classpath/lib/java/lang/OutOfMemoryError.class b/libjava/classpath/lib/java/lang/OutOfMemoryError.class
      new file mode 100644
      index 00000000000..c7bcaa02cb1
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/OutOfMemoryError.class differ
      diff --git a/libjava/classpath/lib/java/lang/Override.class b/libjava/classpath/lib/java/lang/Override.class
      new file mode 100644
      index 00000000000..15a0dd46663
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Override.class differ
      diff --git a/libjava/classpath/lib/java/lang/Package.class b/libjava/classpath/lib/java/lang/Package.class
      new file mode 100644
      index 00000000000..e0b732347d5
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Package.class differ
      diff --git a/libjava/classpath/lib/java/lang/PosixProcess$EOFInputStream.class b/libjava/classpath/lib/java/lang/PosixProcess$EOFInputStream.class
      new file mode 100644
      index 00000000000..b9e9c72bafb
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/PosixProcess$EOFInputStream.class differ
      diff --git a/libjava/classpath/lib/java/lang/PosixProcess$ProcessManager.class b/libjava/classpath/lib/java/lang/PosixProcess$ProcessManager.class
      new file mode 100644
      index 00000000000..4c4024141a7
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/PosixProcess$ProcessManager.class differ
      diff --git a/libjava/classpath/lib/java/lang/PosixProcess.class b/libjava/classpath/lib/java/lang/PosixProcess.class
      new file mode 100644
      index 00000000000..f7c52649fb9
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/PosixProcess.class differ
      diff --git a/libjava/classpath/lib/java/lang/Process.class b/libjava/classpath/lib/java/lang/Process.class
      new file mode 100644
      index 00000000000..b6c01653af3
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Process.class differ
      diff --git a/libjava/classpath/lib/java/lang/ProcessBuilder.class b/libjava/classpath/lib/java/lang/ProcessBuilder.class
      new file mode 100644
      index 00000000000..10bbc8183bd
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ProcessBuilder.class differ
      diff --git a/libjava/classpath/lib/java/lang/Readable.class b/libjava/classpath/lib/java/lang/Readable.class
      new file mode 100644
      index 00000000000..1c0e440b839
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Readable.class differ
      diff --git a/libjava/classpath/lib/java/lang/Runnable.class b/libjava/classpath/lib/java/lang/Runnable.class
      new file mode 100644
      index 00000000000..417dd2ed2f7
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Runnable.class differ
      diff --git a/libjava/classpath/lib/java/lang/Runtime.class b/libjava/classpath/lib/java/lang/Runtime.class
      new file mode 100644
      index 00000000000..620f1c8af9f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Runtime.class differ
      diff --git a/libjava/classpath/lib/java/lang/RuntimeException.class b/libjava/classpath/lib/java/lang/RuntimeException.class
      new file mode 100644
      index 00000000000..3e7f3434dd0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/RuntimeException.class differ
      diff --git a/libjava/classpath/lib/java/lang/RuntimePermission.class b/libjava/classpath/lib/java/lang/RuntimePermission.class
      new file mode 100644
      index 00000000000..2d30ce604e5
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/RuntimePermission.class differ
      diff --git a/libjava/classpath/lib/java/lang/SecurityException.class b/libjava/classpath/lib/java/lang/SecurityException.class
      new file mode 100644
      index 00000000000..f49f047647d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/SecurityException.class differ
      diff --git a/libjava/classpath/lib/java/lang/SecurityManager$1.class b/libjava/classpath/lib/java/lang/SecurityManager$1.class
      new file mode 100644
      index 00000000000..176f5ed9ec6
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/SecurityManager$1.class differ
      diff --git a/libjava/classpath/lib/java/lang/SecurityManager.class b/libjava/classpath/lib/java/lang/SecurityManager.class
      new file mode 100644
      index 00000000000..c8c93029712
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/SecurityManager.class differ
      diff --git a/libjava/classpath/lib/java/lang/Short.class b/libjava/classpath/lib/java/lang/Short.class
      new file mode 100644
      index 00000000000..0c6abf13070
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Short.class differ
      diff --git a/libjava/classpath/lib/java/lang/StackOverflowError.class b/libjava/classpath/lib/java/lang/StackOverflowError.class
      new file mode 100644
      index 00000000000..a661920e791
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/StackOverflowError.class differ
      diff --git a/libjava/classpath/lib/java/lang/StackTraceElement.class b/libjava/classpath/lib/java/lang/StackTraceElement.class
      new file mode 100644
      index 00000000000..623d8d9e2a9
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/StackTraceElement.class differ
      diff --git a/libjava/classpath/lib/java/lang/StrictMath.class b/libjava/classpath/lib/java/lang/StrictMath.class
      new file mode 100644
      index 00000000000..e56d06760df
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/StrictMath.class differ
      diff --git a/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class b/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class
      new file mode 100644
      index 00000000000..ffb4541d293
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/String$CaseInsensitiveComparator.class differ
      diff --git a/libjava/classpath/lib/java/lang/String.class b/libjava/classpath/lib/java/lang/String.class
      new file mode 100644
      index 00000000000..873c22c546d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/String.class differ
      diff --git a/libjava/classpath/lib/java/lang/StringBuffer.class b/libjava/classpath/lib/java/lang/StringBuffer.class
      new file mode 100644
      index 00000000000..6fca27a3fad
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/StringBuffer.class differ
      diff --git a/libjava/classpath/lib/java/lang/StringBuilder.class b/libjava/classpath/lib/java/lang/StringBuilder.class
      new file mode 100644
      index 00000000000..8636b53aa5d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/StringBuilder.class differ
      diff --git a/libjava/classpath/lib/java/lang/StringIndexOutOfBoundsException.class b/libjava/classpath/lib/java/lang/StringIndexOutOfBoundsException.class
      new file mode 100644
      index 00000000000..0debd302b6f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/StringIndexOutOfBoundsException.class differ
      diff --git a/libjava/classpath/lib/java/lang/SuppressWarnings.class b/libjava/classpath/lib/java/lang/SuppressWarnings.class
      new file mode 100644
      index 00000000000..9c41ba051e0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/SuppressWarnings.class differ
      diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class b/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class
      new file mode 100644
      index 00000000000..dd6d4c0d492
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/System$EnvironmentCollection.class differ
      diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentMap.class b/libjava/classpath/lib/java/lang/System$EnvironmentMap.class
      new file mode 100644
      index 00000000000..b06eeb938cb
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/System$EnvironmentMap.class differ
      diff --git a/libjava/classpath/lib/java/lang/System$EnvironmentSet.class b/libjava/classpath/lib/java/lang/System$EnvironmentSet.class
      new file mode 100644
      index 00000000000..6510f9563e4
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/System$EnvironmentSet.class differ
      diff --git a/libjava/classpath/lib/java/lang/System.class b/libjava/classpath/lib/java/lang/System.class
      new file mode 100644
      index 00000000000..dfc895a9f95
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/System.class differ
      diff --git a/libjava/classpath/lib/java/lang/Thread$State.class b/libjava/classpath/lib/java/lang/Thread$State.class
      new file mode 100644
      index 00000000000..a7d5a333f22
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Thread$State.class differ
      diff --git a/libjava/classpath/lib/java/lang/Thread$UncaughtExceptionHandler.class b/libjava/classpath/lib/java/lang/Thread$UncaughtExceptionHandler.class
      new file mode 100644
      index 00000000000..d4fa204a05a
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Thread$UncaughtExceptionHandler.class differ
      diff --git a/libjava/classpath/lib/java/lang/Thread.class b/libjava/classpath/lib/java/lang/Thread.class
      new file mode 100644
      index 00000000000..7c33d004474
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Thread.class differ
      diff --git a/libjava/classpath/lib/java/lang/ThreadDeath.class b/libjava/classpath/lib/java/lang/ThreadDeath.class
      new file mode 100644
      index 00000000000..4205d7d640c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ThreadDeath.class differ
      diff --git a/libjava/classpath/lib/java/lang/ThreadGroup.class b/libjava/classpath/lib/java/lang/ThreadGroup.class
      new file mode 100644
      index 00000000000..a9e5a1e7b23
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ThreadGroup.class differ
      diff --git a/libjava/classpath/lib/java/lang/ThreadLocal.class b/libjava/classpath/lib/java/lang/ThreadLocal.class
      new file mode 100644
      index 00000000000..35c7fb8e56c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ThreadLocal.class differ
      diff --git a/libjava/classpath/lib/java/lang/Throwable$StaticData.class b/libjava/classpath/lib/java/lang/Throwable$StaticData.class
      new file mode 100644
      index 00000000000..540bf1d49ad
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Throwable$StaticData.class differ
      diff --git a/libjava/classpath/lib/java/lang/Throwable.class b/libjava/classpath/lib/java/lang/Throwable.class
      new file mode 100644
      index 00000000000..3f3b5ffddfd
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Throwable.class differ
      diff --git a/libjava/classpath/lib/java/lang/TypeNotPresentException.class b/libjava/classpath/lib/java/lang/TypeNotPresentException.class
      new file mode 100644
      index 00000000000..de8756ef651
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/TypeNotPresentException.class differ
      diff --git a/libjava/classpath/lib/java/lang/UnknownError.class b/libjava/classpath/lib/java/lang/UnknownError.class
      new file mode 100644
      index 00000000000..434c66b3dd0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/UnknownError.class differ
      diff --git a/libjava/classpath/lib/java/lang/UnsatisfiedLinkError.class b/libjava/classpath/lib/java/lang/UnsatisfiedLinkError.class
      new file mode 100644
      index 00000000000..7381e8fb46e
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/UnsatisfiedLinkError.class differ
      diff --git a/libjava/classpath/lib/java/lang/UnsupportedClassVersionError.class b/libjava/classpath/lib/java/lang/UnsupportedClassVersionError.class
      new file mode 100644
      index 00000000000..fb59a023026
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/UnsupportedClassVersionError.class differ
      diff --git a/libjava/classpath/lib/java/lang/UnsupportedOperationException.class b/libjava/classpath/lib/java/lang/UnsupportedOperationException.class
      new file mode 100644
      index 00000000000..27f93ab84e9
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/UnsupportedOperationException.class differ
      diff --git a/libjava/classpath/lib/java/lang/VMClassLoader.class b/libjava/classpath/lib/java/lang/VMClassLoader.class
      new file mode 100644
      index 00000000000..1033291ffc3
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VMClassLoader.class differ
      diff --git a/libjava/classpath/lib/java/lang/VMCompiler.class b/libjava/classpath/lib/java/lang/VMCompiler.class
      new file mode 100644
      index 00000000000..4b968fb48df
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VMCompiler.class differ
      diff --git a/libjava/classpath/lib/java/lang/VMDouble.class b/libjava/classpath/lib/java/lang/VMDouble.class
      new file mode 100644
      index 00000000000..690c19e80f3
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VMDouble.class differ
      diff --git a/libjava/classpath/lib/java/lang/VMFloat.class b/libjava/classpath/lib/java/lang/VMFloat.class
      new file mode 100644
      index 00000000000..f2c252ea865
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VMFloat.class differ
      diff --git a/libjava/classpath/lib/java/lang/VMThrowable.class b/libjava/classpath/lib/java/lang/VMThrowable.class
      new file mode 100644
      index 00000000000..b561d559135
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VMThrowable.class differ
      diff --git a/libjava/classpath/lib/java/lang/VerifyError.class b/libjava/classpath/lib/java/lang/VerifyError.class
      new file mode 100644
      index 00000000000..9e7f7d0a346
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VerifyError.class differ
      diff --git a/libjava/classpath/lib/java/lang/VirtualMachineError.class b/libjava/classpath/lib/java/lang/VirtualMachineError.class
      new file mode 100644
      index 00000000000..d28aedfd4ed
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/VirtualMachineError.class differ
      diff --git a/libjava/classpath/lib/java/lang/Void.class b/libjava/classpath/lib/java/lang/Void.class
      new file mode 100644
      index 00000000000..28864579db1
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Void.class differ
      diff --git a/libjava/classpath/lib/java/lang/Win32Process.class b/libjava/classpath/lib/java/lang/Win32Process.class
      new file mode 100644
      index 00000000000..4ee8415b917
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/Win32Process.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/Annotation.class b/libjava/classpath/lib/java/lang/annotation/Annotation.class
      new file mode 100644
      index 00000000000..ffa644d1149
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/Annotation.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/AnnotationFormatError.class b/libjava/classpath/lib/java/lang/annotation/AnnotationFormatError.class
      new file mode 100644
      index 00000000000..9e033050ab0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/AnnotationFormatError.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/AnnotationTypeMismatchException.class b/libjava/classpath/lib/java/lang/annotation/AnnotationTypeMismatchException.class
      new file mode 100644
      index 00000000000..0a5969470c5
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/AnnotationTypeMismatchException.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/Documented.class b/libjava/classpath/lib/java/lang/annotation/Documented.class
      new file mode 100644
      index 00000000000..b0c3baf46df
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/Documented.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/ElementType.class b/libjava/classpath/lib/java/lang/annotation/ElementType.class
      new file mode 100644
      index 00000000000..09f77d0415c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/ElementType.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/IncompleteAnnotationException.class b/libjava/classpath/lib/java/lang/annotation/IncompleteAnnotationException.class
      new file mode 100644
      index 00000000000..3b13d92081b
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/IncompleteAnnotationException.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/Inherited.class b/libjava/classpath/lib/java/lang/annotation/Inherited.class
      new file mode 100644
      index 00000000000..5916ecf2b32
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/Inherited.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/Retention.class b/libjava/classpath/lib/java/lang/annotation/Retention.class
      new file mode 100644
      index 00000000000..3badb946e25
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/Retention.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/RetentionPolicy.class b/libjava/classpath/lib/java/lang/annotation/RetentionPolicy.class
      new file mode 100644
      index 00000000000..e0bed52dacd
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/RetentionPolicy.class differ
      diff --git a/libjava/classpath/lib/java/lang/annotation/Target.class b/libjava/classpath/lib/java/lang/annotation/Target.class
      new file mode 100644
      index 00000000000..1e7bf4c9820
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/annotation/Target.class differ
      diff --git a/libjava/classpath/lib/java/lang/instrument/ClassDefinition.class b/libjava/classpath/lib/java/lang/instrument/ClassDefinition.class
      new file mode 100644
      index 00000000000..e1d143fb6cf
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/instrument/ClassDefinition.class differ
      diff --git a/libjava/classpath/lib/java/lang/instrument/ClassFileTransformer.class b/libjava/classpath/lib/java/lang/instrument/ClassFileTransformer.class
      new file mode 100644
      index 00000000000..d52c8a89d5d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/instrument/ClassFileTransformer.class differ
      diff --git a/libjava/classpath/lib/java/lang/instrument/IllegalClassFormatException.class b/libjava/classpath/lib/java/lang/instrument/IllegalClassFormatException.class
      new file mode 100644
      index 00000000000..a11446d756f
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/instrument/IllegalClassFormatException.class differ
      diff --git a/libjava/classpath/lib/java/lang/instrument/Instrumentation.class b/libjava/classpath/lib/java/lang/instrument/Instrumentation.class
      new file mode 100644
      index 00000000000..62d3e0bdc43
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/instrument/Instrumentation.class differ
      diff --git a/libjava/classpath/lib/java/lang/instrument/UnmodifiableClassException.class b/libjava/classpath/lib/java/lang/instrument/UnmodifiableClassException.class
      new file mode 100644
      index 00000000000..c5c8e618ef5
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/instrument/UnmodifiableClassException.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/ClassLoadingMXBean.class b/libjava/classpath/lib/java/lang/management/ClassLoadingMXBean.class
      new file mode 100644
      index 00000000000..0682224ecdc
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/ClassLoadingMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/CompilationMXBean.class b/libjava/classpath/lib/java/lang/management/CompilationMXBean.class
      new file mode 100644
      index 00000000000..452295df969
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/CompilationMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/GarbageCollectorMXBean.class b/libjava/classpath/lib/java/lang/management/GarbageCollectorMXBean.class
      new file mode 100644
      index 00000000000..64c5b0a7f02
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/GarbageCollectorMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/ManagementFactory.class b/libjava/classpath/lib/java/lang/management/ManagementFactory.class
      new file mode 100644
      index 00000000000..0d022ca4273
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/ManagementFactory.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/ManagementPermission.class b/libjava/classpath/lib/java/lang/management/ManagementPermission.class
      new file mode 100644
      index 00000000000..194e9914c84
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/ManagementPermission.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/MemoryMXBean.class b/libjava/classpath/lib/java/lang/management/MemoryMXBean.class
      new file mode 100644
      index 00000000000..019e5899ec9
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MemoryMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/MemoryManagerMXBean.class b/libjava/classpath/lib/java/lang/management/MemoryManagerMXBean.class
      new file mode 100644
      index 00000000000..1ada025d038
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MemoryManagerMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/MemoryNotificationInfo.class b/libjava/classpath/lib/java/lang/management/MemoryNotificationInfo.class
      new file mode 100644
      index 00000000000..1b64e3c9d9b
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MemoryNotificationInfo.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/MemoryPoolMXBean.class b/libjava/classpath/lib/java/lang/management/MemoryPoolMXBean.class
      new file mode 100644
      index 00000000000..748378a200d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MemoryPoolMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/MemoryType.class b/libjava/classpath/lib/java/lang/management/MemoryType.class
      new file mode 100644
      index 00000000000..74f016552f3
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MemoryType.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/MemoryUsage.class b/libjava/classpath/lib/java/lang/management/MemoryUsage.class
      new file mode 100644
      index 00000000000..401f08c6543
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/MemoryUsage.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class b/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class
      new file mode 100644
      index 00000000000..b63966b93f9
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/OperatingSystemMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/RuntimeMXBean.class b/libjava/classpath/lib/java/lang/management/RuntimeMXBean.class
      new file mode 100644
      index 00000000000..292d8b8b077
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/RuntimeMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/ThreadInfo.class b/libjava/classpath/lib/java/lang/management/ThreadInfo.class
      new file mode 100644
      index 00000000000..4f878343ad6
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/ThreadInfo.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/ThreadMXBean.class b/libjava/classpath/lib/java/lang/management/ThreadMXBean.class
      new file mode 100644
      index 00000000000..af295c329df
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/ThreadMXBean.class differ
      diff --git a/libjava/classpath/lib/java/lang/management/VMManagementFactory.class b/libjava/classpath/lib/java/lang/management/VMManagementFactory.class
      new file mode 100644
      index 00000000000..98185d22de3
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/management/VMManagementFactory.class differ
      diff --git a/libjava/classpath/lib/java/lang/ref/PhantomReference.class b/libjava/classpath/lib/java/lang/ref/PhantomReference.class
      new file mode 100644
      index 00000000000..30e6eb00fa0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ref/PhantomReference.class differ
      diff --git a/libjava/classpath/lib/java/lang/ref/Reference.class b/libjava/classpath/lib/java/lang/ref/Reference.class
      new file mode 100644
      index 00000000000..4ae53b32d34
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ref/Reference.class differ
      diff --git a/libjava/classpath/lib/java/lang/ref/ReferenceQueue.class b/libjava/classpath/lib/java/lang/ref/ReferenceQueue.class
      new file mode 100644
      index 00000000000..21557e3280c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ref/ReferenceQueue.class differ
      diff --git a/libjava/classpath/lib/java/lang/ref/SoftReference.class b/libjava/classpath/lib/java/lang/ref/SoftReference.class
      new file mode 100644
      index 00000000000..50bbf52fcff
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ref/SoftReference.class differ
      diff --git a/libjava/classpath/lib/java/lang/ref/WeakReference.class b/libjava/classpath/lib/java/lang/ref/WeakReference.class
      new file mode 100644
      index 00000000000..634bd192a2e
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/ref/WeakReference.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/AccessibleObject.class b/libjava/classpath/lib/java/lang/reflect/AccessibleObject.class
      new file mode 100644
      index 00000000000..6f4023f2910
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/AccessibleObject.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/AnnotatedElement.class b/libjava/classpath/lib/java/lang/reflect/AnnotatedElement.class
      new file mode 100644
      index 00000000000..23294b2ca80
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/AnnotatedElement.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Array.class b/libjava/classpath/lib/java/lang/reflect/Array.class
      new file mode 100644
      index 00000000000..62952c3d14c
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Array.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Constructor.class b/libjava/classpath/lib/java/lang/reflect/Constructor.class
      new file mode 100644
      index 00000000000..a54f69aeec0
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Constructor.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Field.class b/libjava/classpath/lib/java/lang/reflect/Field.class
      new file mode 100644
      index 00000000000..24bfabdf732
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Field.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/GenericArrayType.class b/libjava/classpath/lib/java/lang/reflect/GenericArrayType.class
      new file mode 100644
      index 00000000000..d7a60be409d
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/GenericArrayType.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/GenericDeclaration.class b/libjava/classpath/lib/java/lang/reflect/GenericDeclaration.class
      new file mode 100644
      index 00000000000..89b7c79e2ec
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/GenericDeclaration.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/GenericSignatureFormatError.class b/libjava/classpath/lib/java/lang/reflect/GenericSignatureFormatError.class
      new file mode 100644
      index 00000000000..f2ffdbf0804
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/GenericSignatureFormatError.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/InvocationHandler.class b/libjava/classpath/lib/java/lang/reflect/InvocationHandler.class
      new file mode 100644
      index 00000000000..df9fec65128
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/InvocationHandler.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class b/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class
      new file mode 100644
      index 00000000000..fa53a89a74a
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/InvocationTargetException.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/MalformedParameterizedTypeException.class b/libjava/classpath/lib/java/lang/reflect/MalformedParameterizedTypeException.class
      new file mode 100644
      index 00000000000..e94c2466aaf
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/MalformedParameterizedTypeException.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Member.class b/libjava/classpath/lib/java/lang/reflect/Member.class
      new file mode 100644
      index 00000000000..aca4f3daaac
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Member.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Method.class b/libjava/classpath/lib/java/lang/reflect/Method.class
      new file mode 100644
      index 00000000000..0a0b45cd514
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Method.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Modifier.class b/libjava/classpath/lib/java/lang/reflect/Modifier.class
      new file mode 100644
      index 00000000000..b4f5a31b032
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Modifier.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/ParameterizedType.class b/libjava/classpath/lib/java/lang/reflect/ParameterizedType.class
      new file mode 100644
      index 00000000000..2edce1f8a03
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/ParameterizedType.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class
      new file mode 100644
      index 00000000000..99141353b96
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Proxy$ClassFactory.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class
      new file mode 100644
      index 00000000000..e595c2a1b1e
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyData.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class
      new file mode 100644
      index 00000000000..3df0e487390
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxySignature.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyType.class b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyType.class
      new file mode 100644
      index 00000000000..d43a4836ef4
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Proxy$ProxyType.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Proxy.class b/libjava/classpath/lib/java/lang/reflect/Proxy.class
      new file mode 100644
      index 00000000000..ee410035fe5
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Proxy.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/ReflectPermission.class b/libjava/classpath/lib/java/lang/reflect/ReflectPermission.class
      new file mode 100644
      index 00000000000..28fac663c26
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/ReflectPermission.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/Type.class b/libjava/classpath/lib/java/lang/reflect/Type.class
      new file mode 100644
      index 00000000000..fce84d93b80
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/Type.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/TypeVariable.class b/libjava/classpath/lib/java/lang/reflect/TypeVariable.class
      new file mode 100644
      index 00000000000..49cb372e307
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/TypeVariable.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/UndeclaredThrowableException.class b/libjava/classpath/lib/java/lang/reflect/UndeclaredThrowableException.class
      new file mode 100644
      index 00000000000..13c08d47221
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/UndeclaredThrowableException.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/VMProxy.class b/libjava/classpath/lib/java/lang/reflect/VMProxy.class
      new file mode 100644
      index 00000000000..69a3314d064
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/VMProxy.class differ
      diff --git a/libjava/classpath/lib/java/lang/reflect/WildcardType.class b/libjava/classpath/lib/java/lang/reflect/WildcardType.class
      new file mode 100644
      index 00000000000..f05e27764df
      Binary files /dev/null and b/libjava/classpath/lib/java/lang/reflect/WildcardType.class differ
      diff --git a/libjava/classpath/lib/java/math/BigDecimal.class b/libjava/classpath/lib/java/math/BigDecimal.class
      new file mode 100644
      index 00000000000..6ba16bad4c4
      Binary files /dev/null and b/libjava/classpath/lib/java/math/BigDecimal.class differ
      diff --git a/libjava/classpath/lib/java/math/BigInteger.class b/libjava/classpath/lib/java/math/BigInteger.class
      new file mode 100644
      index 00000000000..97bede685bc
      Binary files /dev/null and b/libjava/classpath/lib/java/math/BigInteger.class differ
      diff --git a/libjava/classpath/lib/java/math/MathContext.class b/libjava/classpath/lib/java/math/MathContext.class
      new file mode 100644
      index 00000000000..c9099e9eb11
      Binary files /dev/null and b/libjava/classpath/lib/java/math/MathContext.class differ
      diff --git a/libjava/classpath/lib/java/math/RoundingMode.class b/libjava/classpath/lib/java/math/RoundingMode.class
      new file mode 100644
      index 00000000000..84dff2c38bf
      Binary files /dev/null and b/libjava/classpath/lib/java/math/RoundingMode.class differ
      diff --git a/libjava/classpath/lib/java/net/Authenticator.class b/libjava/classpath/lib/java/net/Authenticator.class
      new file mode 100644
      index 00000000000..fcd17233d15
      Binary files /dev/null and b/libjava/classpath/lib/java/net/Authenticator.class differ
      diff --git a/libjava/classpath/lib/java/net/BindException.class b/libjava/classpath/lib/java/net/BindException.class
      new file mode 100644
      index 00000000000..6b8391227b9
      Binary files /dev/null and b/libjava/classpath/lib/java/net/BindException.class differ
      diff --git a/libjava/classpath/lib/java/net/ConnectException.class b/libjava/classpath/lib/java/net/ConnectException.class
      new file mode 100644
      index 00000000000..8dea4cef308
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ConnectException.class differ
      diff --git a/libjava/classpath/lib/java/net/ContentHandler.class b/libjava/classpath/lib/java/net/ContentHandler.class
      new file mode 100644
      index 00000000000..3eea635f56d
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ContentHandler.class differ
      diff --git a/libjava/classpath/lib/java/net/ContentHandlerFactory.class b/libjava/classpath/lib/java/net/ContentHandlerFactory.class
      new file mode 100644
      index 00000000000..7a4e8545044
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ContentHandlerFactory.class differ
      diff --git a/libjava/classpath/lib/java/net/DatagramPacket.class b/libjava/classpath/lib/java/net/DatagramPacket.class
      new file mode 100644
      index 00000000000..ffa036299e1
      Binary files /dev/null and b/libjava/classpath/lib/java/net/DatagramPacket.class differ
      diff --git a/libjava/classpath/lib/java/net/DatagramSocket.class b/libjava/classpath/lib/java/net/DatagramSocket.class
      new file mode 100644
      index 00000000000..033684ec72f
      Binary files /dev/null and b/libjava/classpath/lib/java/net/DatagramSocket.class differ
      diff --git a/libjava/classpath/lib/java/net/DatagramSocketImpl.class b/libjava/classpath/lib/java/net/DatagramSocketImpl.class
      new file mode 100644
      index 00000000000..bd8a144e49f
      Binary files /dev/null and b/libjava/classpath/lib/java/net/DatagramSocketImpl.class differ
      diff --git a/libjava/classpath/lib/java/net/DatagramSocketImplFactory.class b/libjava/classpath/lib/java/net/DatagramSocketImplFactory.class
      new file mode 100644
      index 00000000000..bbdd18598c3
      Binary files /dev/null and b/libjava/classpath/lib/java/net/DatagramSocketImplFactory.class differ
      diff --git a/libjava/classpath/lib/java/net/FileNameMap.class b/libjava/classpath/lib/java/net/FileNameMap.class
      new file mode 100644
      index 00000000000..ae390177a24
      Binary files /dev/null and b/libjava/classpath/lib/java/net/FileNameMap.class differ
      diff --git a/libjava/classpath/lib/java/net/HttpURLConnection.class b/libjava/classpath/lib/java/net/HttpURLConnection.class
      new file mode 100644
      index 00000000000..6450b95a852
      Binary files /dev/null and b/libjava/classpath/lib/java/net/HttpURLConnection.class differ
      diff --git a/libjava/classpath/lib/java/net/Inet4Address.class b/libjava/classpath/lib/java/net/Inet4Address.class
      new file mode 100644
      index 00000000000..b3a652bc637
      Binary files /dev/null and b/libjava/classpath/lib/java/net/Inet4Address.class differ
      diff --git a/libjava/classpath/lib/java/net/Inet6Address.class b/libjava/classpath/lib/java/net/Inet6Address.class
      new file mode 100644
      index 00000000000..d43e8a77e42
      Binary files /dev/null and b/libjava/classpath/lib/java/net/Inet6Address.class differ
      diff --git a/libjava/classpath/lib/java/net/InetAddress.class b/libjava/classpath/lib/java/net/InetAddress.class
      new file mode 100644
      index 00000000000..5a419625e76
      Binary files /dev/null and b/libjava/classpath/lib/java/net/InetAddress.class differ
      diff --git a/libjava/classpath/lib/java/net/InetSocketAddress.class b/libjava/classpath/lib/java/net/InetSocketAddress.class
      new file mode 100644
      index 00000000000..68caa5d5258
      Binary files /dev/null and b/libjava/classpath/lib/java/net/InetSocketAddress.class differ
      diff --git a/libjava/classpath/lib/java/net/JarURLConnection.class b/libjava/classpath/lib/java/net/JarURLConnection.class
      new file mode 100644
      index 00000000000..98b16c3d034
      Binary files /dev/null and b/libjava/classpath/lib/java/net/JarURLConnection.class differ
      diff --git a/libjava/classpath/lib/java/net/MalformedURLException.class b/libjava/classpath/lib/java/net/MalformedURLException.class
      new file mode 100644
      index 00000000000..6cee07b4584
      Binary files /dev/null and b/libjava/classpath/lib/java/net/MalformedURLException.class differ
      diff --git a/libjava/classpath/lib/java/net/MimeTypeMapper.class b/libjava/classpath/lib/java/net/MimeTypeMapper.class
      new file mode 100644
      index 00000000000..eb7f5b5a7a5
      Binary files /dev/null and b/libjava/classpath/lib/java/net/MimeTypeMapper.class differ
      diff --git a/libjava/classpath/lib/java/net/MulticastSocket.class b/libjava/classpath/lib/java/net/MulticastSocket.class
      new file mode 100644
      index 00000000000..f218e52e567
      Binary files /dev/null and b/libjava/classpath/lib/java/net/MulticastSocket.class differ
      diff --git a/libjava/classpath/lib/java/net/NetPermission.class b/libjava/classpath/lib/java/net/NetPermission.class
      new file mode 100644
      index 00000000000..6c77f388cd8
      Binary files /dev/null and b/libjava/classpath/lib/java/net/NetPermission.class differ
      diff --git a/libjava/classpath/lib/java/net/NetworkInterface.class b/libjava/classpath/lib/java/net/NetworkInterface.class
      new file mode 100644
      index 00000000000..f5db00bd612
      Binary files /dev/null and b/libjava/classpath/lib/java/net/NetworkInterface.class differ
      diff --git a/libjava/classpath/lib/java/net/NoRouteToHostException.class b/libjava/classpath/lib/java/net/NoRouteToHostException.class
      new file mode 100644
      index 00000000000..fc373e7800b
      Binary files /dev/null and b/libjava/classpath/lib/java/net/NoRouteToHostException.class differ
      diff --git a/libjava/classpath/lib/java/net/PasswordAuthentication.class b/libjava/classpath/lib/java/net/PasswordAuthentication.class
      new file mode 100644
      index 00000000000..c1a91a112e0
      Binary files /dev/null and b/libjava/classpath/lib/java/net/PasswordAuthentication.class differ
      diff --git a/libjava/classpath/lib/java/net/PortUnreachableException.class b/libjava/classpath/lib/java/net/PortUnreachableException.class
      new file mode 100644
      index 00000000000..900285ad240
      Binary files /dev/null and b/libjava/classpath/lib/java/net/PortUnreachableException.class differ
      diff --git a/libjava/classpath/lib/java/net/ProtocolException.class b/libjava/classpath/lib/java/net/ProtocolException.class
      new file mode 100644
      index 00000000000..aad8b24aef2
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ProtocolException.class differ
      diff --git a/libjava/classpath/lib/java/net/Proxy$Type.class b/libjava/classpath/lib/java/net/Proxy$Type.class
      new file mode 100644
      index 00000000000..7e0674a2d64
      Binary files /dev/null and b/libjava/classpath/lib/java/net/Proxy$Type.class differ
      diff --git a/libjava/classpath/lib/java/net/Proxy.class b/libjava/classpath/lib/java/net/Proxy.class
      new file mode 100644
      index 00000000000..9c7f6d87abd
      Binary files /dev/null and b/libjava/classpath/lib/java/net/Proxy.class differ
      diff --git a/libjava/classpath/lib/java/net/ProxySelector.class b/libjava/classpath/lib/java/net/ProxySelector.class
      new file mode 100644
      index 00000000000..bb713702c75
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ProxySelector.class differ
      diff --git a/libjava/classpath/lib/java/net/ResolverCache$Entry.class b/libjava/classpath/lib/java/net/ResolverCache$Entry.class
      new file mode 100644
      index 00000000000..4ef651145d3
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ResolverCache$Entry.class differ
      diff --git a/libjava/classpath/lib/java/net/ResolverCache.class b/libjava/classpath/lib/java/net/ResolverCache.class
      new file mode 100644
      index 00000000000..3e8eec89ffb
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ResolverCache.class differ
      diff --git a/libjava/classpath/lib/java/net/ServerSocket.class b/libjava/classpath/lib/java/net/ServerSocket.class
      new file mode 100644
      index 00000000000..51e194828dd
      Binary files /dev/null and b/libjava/classpath/lib/java/net/ServerSocket.class differ
      diff --git a/libjava/classpath/lib/java/net/Socket.class b/libjava/classpath/lib/java/net/Socket.class
      new file mode 100644
      index 00000000000..d833b437ef6
      Binary files /dev/null and b/libjava/classpath/lib/java/net/Socket.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketAddress.class b/libjava/classpath/lib/java/net/SocketAddress.class
      new file mode 100644
      index 00000000000..7372d9dc39e
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketAddress.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketException.class b/libjava/classpath/lib/java/net/SocketException.class
      new file mode 100644
      index 00000000000..574c0e6250b
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketException.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketImpl.class b/libjava/classpath/lib/java/net/SocketImpl.class
      new file mode 100644
      index 00000000000..dc05b76b502
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketImpl.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketImplFactory.class b/libjava/classpath/lib/java/net/SocketImplFactory.class
      new file mode 100644
      index 00000000000..c7ea6135b26
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketImplFactory.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketOptions.class b/libjava/classpath/lib/java/net/SocketOptions.class
      new file mode 100644
      index 00000000000..69e4f1f0a92
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketOptions.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketPermission.class b/libjava/classpath/lib/java/net/SocketPermission.class
      new file mode 100644
      index 00000000000..addeebec615
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketPermission.class differ
      diff --git a/libjava/classpath/lib/java/net/SocketTimeoutException.class b/libjava/classpath/lib/java/net/SocketTimeoutException.class
      new file mode 100644
      index 00000000000..8b83a276590
      Binary files /dev/null and b/libjava/classpath/lib/java/net/SocketTimeoutException.class differ
      diff --git a/libjava/classpath/lib/java/net/URI.class b/libjava/classpath/lib/java/net/URI.class
      new file mode 100644
      index 00000000000..4d328f3126a
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URI.class differ
      diff --git a/libjava/classpath/lib/java/net/URISyntaxException.class b/libjava/classpath/lib/java/net/URISyntaxException.class
      new file mode 100644
      index 00000000000..fc96d6f138f
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URISyntaxException.class differ
      diff --git a/libjava/classpath/lib/java/net/URL$1.class b/libjava/classpath/lib/java/net/URL$1.class
      new file mode 100644
      index 00000000000..7520f56903d
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URL$1.class differ
      diff --git a/libjava/classpath/lib/java/net/URL.class b/libjava/classpath/lib/java/net/URL.class
      new file mode 100644
      index 00000000000..0603d68c390
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URL.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$1.class b/libjava/classpath/lib/java/net/URLClassLoader$1.class
      new file mode 100644
      index 00000000000..4481e7b35d5
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$1.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$2.class b/libjava/classpath/lib/java/net/URLClassLoader$2.class
      new file mode 100644
      index 00000000000..64c9e24573b
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$2.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$CoreResource.class b/libjava/classpath/lib/java/net/URLClassLoader$CoreResource.class
      new file mode 100644
      index 00000000000..f3729420381
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$CoreResource.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$CoreURLLoader.class b/libjava/classpath/lib/java/net/URLClassLoader$CoreURLLoader.class
      new file mode 100644
      index 00000000000..050f529734c
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$CoreURLLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$FileResource.class b/libjava/classpath/lib/java/net/URLClassLoader$FileResource.class
      new file mode 100644
      index 00000000000..e7a12687ef3
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$FileResource.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$FileURLLoader.class b/libjava/classpath/lib/java/net/URLClassLoader$FileURLLoader.class
      new file mode 100644
      index 00000000000..d750821a99e
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$FileURLLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$JarURLLoader.class b/libjava/classpath/lib/java/net/URLClassLoader$JarURLLoader.class
      new file mode 100644
      index 00000000000..11c1e9dc61a
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$JarURLLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$JarURLResource.class b/libjava/classpath/lib/java/net/URLClassLoader$JarURLResource.class
      new file mode 100644
      index 00000000000..74ebc398101
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$JarURLResource.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$RemoteResource.class b/libjava/classpath/lib/java/net/URLClassLoader$RemoteResource.class
      new file mode 100644
      index 00000000000..19b703190ee
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$RemoteResource.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$RemoteURLLoader.class b/libjava/classpath/lib/java/net/URLClassLoader$RemoteURLLoader.class
      new file mode 100644
      index 00000000000..d32ac11656c
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$RemoteURLLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$Resource.class b/libjava/classpath/lib/java/net/URLClassLoader$Resource.class
      new file mode 100644
      index 00000000000..bb4d13a6ba0
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$Resource.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$SoResource.class b/libjava/classpath/lib/java/net/URLClassLoader$SoResource.class
      new file mode 100644
      index 00000000000..4e7417a7d63
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$SoResource.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$SoURLLoader.class b/libjava/classpath/lib/java/net/URLClassLoader$SoURLLoader.class
      new file mode 100644
      index 00000000000..403dfafd09c
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$SoURLLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader$URLLoader.class b/libjava/classpath/lib/java/net/URLClassLoader$URLLoader.class
      new file mode 100644
      index 00000000000..8b272bdb36d
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader$URLLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLClassLoader.class b/libjava/classpath/lib/java/net/URLClassLoader.class
      new file mode 100644
      index 00000000000..118acceca43
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLClassLoader.class differ
      diff --git a/libjava/classpath/lib/java/net/URLConnection.class b/libjava/classpath/lib/java/net/URLConnection.class
      new file mode 100644
      index 00000000000..ed9a6f9389d
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLConnection.class differ
      diff --git a/libjava/classpath/lib/java/net/URLDecoder.class b/libjava/classpath/lib/java/net/URLDecoder.class
      new file mode 100644
      index 00000000000..8c27d421871
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLDecoder.class differ
      diff --git a/libjava/classpath/lib/java/net/URLEncoder.class b/libjava/classpath/lib/java/net/URLEncoder.class
      new file mode 100644
      index 00000000000..4beca0018fb
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLEncoder.class differ
      diff --git a/libjava/classpath/lib/java/net/URLStreamHandler.class b/libjava/classpath/lib/java/net/URLStreamHandler.class
      new file mode 100644
      index 00000000000..2d21739bb28
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLStreamHandler.class differ
      diff --git a/libjava/classpath/lib/java/net/URLStreamHandlerFactory.class b/libjava/classpath/lib/java/net/URLStreamHandlerFactory.class
      new file mode 100644
      index 00000000000..5fd239f5cb7
      Binary files /dev/null and b/libjava/classpath/lib/java/net/URLStreamHandlerFactory.class differ
      diff --git a/libjava/classpath/lib/java/net/UnknownHostException.class b/libjava/classpath/lib/java/net/UnknownHostException.class
      new file mode 100644
      index 00000000000..129af71ea43
      Binary files /dev/null and b/libjava/classpath/lib/java/net/UnknownHostException.class differ
      diff --git a/libjava/classpath/lib/java/net/UnknownServiceException.class b/libjava/classpath/lib/java/net/UnknownServiceException.class
      new file mode 100644
      index 00000000000..70101d849f0
      Binary files /dev/null and b/libjava/classpath/lib/java/net/UnknownServiceException.class differ
      diff --git a/libjava/classpath/lib/java/net/VMInetAddress.class b/libjava/classpath/lib/java/net/VMInetAddress.class
      new file mode 100644
      index 00000000000..419535677b0
      Binary files /dev/null and b/libjava/classpath/lib/java/net/VMInetAddress.class differ
      diff --git a/libjava/classpath/lib/java/net/VMNetworkInterface.class b/libjava/classpath/lib/java/net/VMNetworkInterface.class
      new file mode 100644
      index 00000000000..5aa6ec55b0b
      Binary files /dev/null and b/libjava/classpath/lib/java/net/VMNetworkInterface.class differ
      diff --git a/libjava/classpath/lib/java/net/VMURLConnection.class b/libjava/classpath/lib/java/net/VMURLConnection.class
      new file mode 100644
      index 00000000000..b925d88c62e
      Binary files /dev/null and b/libjava/classpath/lib/java/net/VMURLConnection.class differ
      diff --git a/libjava/classpath/lib/java/nio/Buffer.class b/libjava/classpath/lib/java/nio/Buffer.class
      new file mode 100644
      index 00000000000..4d9ef52ee85
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/Buffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/BufferOverflowException.class b/libjava/classpath/lib/java/nio/BufferOverflowException.class
      new file mode 100644
      index 00000000000..33d782572d9
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/BufferOverflowException.class differ
      diff --git a/libjava/classpath/lib/java/nio/BufferUnderflowException.class b/libjava/classpath/lib/java/nio/BufferUnderflowException.class
      new file mode 100644
      index 00000000000..5e60e5cba60
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/BufferUnderflowException.class differ
      diff --git a/libjava/classpath/lib/java/nio/ByteBuffer.class b/libjava/classpath/lib/java/nio/ByteBuffer.class
      new file mode 100644
      index 00000000000..183f21fa877
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ByteBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/ByteBufferHelper.class b/libjava/classpath/lib/java/nio/ByteBufferHelper.class
      new file mode 100644
      index 00000000000..419c0e0b322
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ByteBufferHelper.class differ
      diff --git a/libjava/classpath/lib/java/nio/ByteBufferImpl.class b/libjava/classpath/lib/java/nio/ByteBufferImpl.class
      new file mode 100644
      index 00000000000..91c35308136
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ByteBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/ByteOrder.class b/libjava/classpath/lib/java/nio/ByteOrder.class
      new file mode 100644
      index 00000000000..23f94c49431
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ByteOrder.class differ
      diff --git a/libjava/classpath/lib/java/nio/CharBuffer.class b/libjava/classpath/lib/java/nio/CharBuffer.class
      new file mode 100644
      index 00000000000..2da715f4a4b
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/CharBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/CharBufferImpl.class b/libjava/classpath/lib/java/nio/CharBufferImpl.class
      new file mode 100644
      index 00000000000..e1beb2eaf02
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/CharBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/CharViewBufferImpl.class b/libjava/classpath/lib/java/nio/CharViewBufferImpl.class
      new file mode 100644
      index 00000000000..25e84f01cd4
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/CharViewBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadOnly.class b/libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadOnly.class
      new file mode 100644
      index 00000000000..c5e3561b682
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadOnly.class differ
      diff --git a/libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadWrite.class b/libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadWrite.class
      new file mode 100644
      index 00000000000..0d415d019e4
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/DirectByteBufferImpl$ReadWrite.class differ
      diff --git a/libjava/classpath/lib/java/nio/DirectByteBufferImpl.class b/libjava/classpath/lib/java/nio/DirectByteBufferImpl.class
      new file mode 100644
      index 00000000000..c6b685d8798
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/DirectByteBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/DoubleBuffer.class b/libjava/classpath/lib/java/nio/DoubleBuffer.class
      new file mode 100644
      index 00000000000..ed274620c77
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/DoubleBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/DoubleBufferImpl.class b/libjava/classpath/lib/java/nio/DoubleBufferImpl.class
      new file mode 100644
      index 00000000000..91f3dc2c7e1
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/DoubleBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/DoubleViewBufferImpl.class b/libjava/classpath/lib/java/nio/DoubleViewBufferImpl.class
      new file mode 100644
      index 00000000000..1e50947b6d3
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/DoubleViewBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/FloatBuffer.class b/libjava/classpath/lib/java/nio/FloatBuffer.class
      new file mode 100644
      index 00000000000..5dde0edc370
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/FloatBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/FloatBufferImpl.class b/libjava/classpath/lib/java/nio/FloatBufferImpl.class
      new file mode 100644
      index 00000000000..4cacfea09ef
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/FloatBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/FloatViewBufferImpl.class b/libjava/classpath/lib/java/nio/FloatViewBufferImpl.class
      new file mode 100644
      index 00000000000..09fa18e1caa
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/FloatViewBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/IntBuffer.class b/libjava/classpath/lib/java/nio/IntBuffer.class
      new file mode 100644
      index 00000000000..f604662e64a
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/IntBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/IntBufferImpl.class b/libjava/classpath/lib/java/nio/IntBufferImpl.class
      new file mode 100644
      index 00000000000..95b0c4d267c
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/IntBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/IntViewBufferImpl.class b/libjava/classpath/lib/java/nio/IntViewBufferImpl.class
      new file mode 100644
      index 00000000000..116807e8b22
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/IntViewBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/InvalidMarkException.class b/libjava/classpath/lib/java/nio/InvalidMarkException.class
      new file mode 100644
      index 00000000000..78b04874d7c
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/InvalidMarkException.class differ
      diff --git a/libjava/classpath/lib/java/nio/LongBuffer.class b/libjava/classpath/lib/java/nio/LongBuffer.class
      new file mode 100644
      index 00000000000..510b91eb0ef
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/LongBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/LongBufferImpl.class b/libjava/classpath/lib/java/nio/LongBufferImpl.class
      new file mode 100644
      index 00000000000..6c85f50580d
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/LongBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/LongViewBufferImpl.class b/libjava/classpath/lib/java/nio/LongViewBufferImpl.class
      new file mode 100644
      index 00000000000..381a3419b36
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/LongViewBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/MappedByteBuffer.class b/libjava/classpath/lib/java/nio/MappedByteBuffer.class
      new file mode 100644
      index 00000000000..ff12d90a2b9
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/MappedByteBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class b/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class
      new file mode 100644
      index 00000000000..ad5846f9294
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/MappedByteBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/ReadOnlyBufferException.class b/libjava/classpath/lib/java/nio/ReadOnlyBufferException.class
      new file mode 100644
      index 00000000000..358289b1fcb
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ReadOnlyBufferException.class differ
      diff --git a/libjava/classpath/lib/java/nio/ShortBuffer.class b/libjava/classpath/lib/java/nio/ShortBuffer.class
      new file mode 100644
      index 00000000000..40d4faf3839
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ShortBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/ShortBufferImpl.class b/libjava/classpath/lib/java/nio/ShortBufferImpl.class
      new file mode 100644
      index 00000000000..cb5b4f3f721
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ShortBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/ShortViewBufferImpl.class b/libjava/classpath/lib/java/nio/ShortViewBufferImpl.class
      new file mode 100644
      index 00000000000..5570a67d3e9
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/ShortViewBufferImpl.class differ
      diff --git a/libjava/classpath/lib/java/nio/VMDirectByteBuffer.class b/libjava/classpath/lib/java/nio/VMDirectByteBuffer.class
      new file mode 100644
      index 00000000000..27021f4b646
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/VMDirectByteBuffer.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/AlreadyConnectedException.class b/libjava/classpath/lib/java/nio/channels/AlreadyConnectedException.class
      new file mode 100644
      index 00000000000..0231c028cd2
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/AlreadyConnectedException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/AsynchronousCloseException.class b/libjava/classpath/lib/java/nio/channels/AsynchronousCloseException.class
      new file mode 100644
      index 00000000000..b8e55cf4621
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/AsynchronousCloseException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ByteChannel.class b/libjava/classpath/lib/java/nio/channels/ByteChannel.class
      new file mode 100644
      index 00000000000..b68871ff3a9
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ByteChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/CancelledKeyException.class b/libjava/classpath/lib/java/nio/channels/CancelledKeyException.class
      new file mode 100644
      index 00000000000..6c5ca90e8df
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/CancelledKeyException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/Channel.class b/libjava/classpath/lib/java/nio/channels/Channel.class
      new file mode 100644
      index 00000000000..10201b69aee
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/Channel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/Channels.class b/libjava/classpath/lib/java/nio/channels/Channels.class
      new file mode 100644
      index 00000000000..4e5a6f2631c
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/Channels.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ClosedByInterruptException.class b/libjava/classpath/lib/java/nio/channels/ClosedByInterruptException.class
      new file mode 100644
      index 00000000000..bd381b3f6c8
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ClosedByInterruptException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ClosedChannelException.class b/libjava/classpath/lib/java/nio/channels/ClosedChannelException.class
      new file mode 100644
      index 00000000000..7934e83faf1
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ClosedChannelException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ClosedSelectorException.class b/libjava/classpath/lib/java/nio/channels/ClosedSelectorException.class
      new file mode 100644
      index 00000000000..086e705d832
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ClosedSelectorException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ConnectionPendingException.class b/libjava/classpath/lib/java/nio/channels/ConnectionPendingException.class
      new file mode 100644
      index 00000000000..332739cb8e3
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ConnectionPendingException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/DatagramChannel.class b/libjava/classpath/lib/java/nio/channels/DatagramChannel.class
      new file mode 100644
      index 00000000000..ca3ecb35ec4
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/DatagramChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/FileChannel$MapMode.class b/libjava/classpath/lib/java/nio/channels/FileChannel$MapMode.class
      new file mode 100644
      index 00000000000..4d7fc068624
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/FileChannel$MapMode.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/FileChannel.class b/libjava/classpath/lib/java/nio/channels/FileChannel.class
      new file mode 100644
      index 00000000000..a96eda95934
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/FileChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/FileLock.class b/libjava/classpath/lib/java/nio/channels/FileLock.class
      new file mode 100644
      index 00000000000..605380da8ae
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/FileLock.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/FileLockInterruptionException.class b/libjava/classpath/lib/java/nio/channels/FileLockInterruptionException.class
      new file mode 100644
      index 00000000000..5d7073eca25
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/FileLockInterruptionException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/GatheringByteChannel.class b/libjava/classpath/lib/java/nio/channels/GatheringByteChannel.class
      new file mode 100644
      index 00000000000..a74b873ea69
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/GatheringByteChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/IllegalBlockingModeException.class b/libjava/classpath/lib/java/nio/channels/IllegalBlockingModeException.class
      new file mode 100644
      index 00000000000..f65eb9869ef
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/IllegalBlockingModeException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/IllegalSelectorException.class b/libjava/classpath/lib/java/nio/channels/IllegalSelectorException.class
      new file mode 100644
      index 00000000000..33234829f0b
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/IllegalSelectorException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/InterruptibleChannel.class b/libjava/classpath/lib/java/nio/channels/InterruptibleChannel.class
      new file mode 100644
      index 00000000000..309067b764d
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/InterruptibleChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/NoConnectionPendingException.class b/libjava/classpath/lib/java/nio/channels/NoConnectionPendingException.class
      new file mode 100644
      index 00000000000..727c3bdc113
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/NoConnectionPendingException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/NonReadableChannelException.class b/libjava/classpath/lib/java/nio/channels/NonReadableChannelException.class
      new file mode 100644
      index 00000000000..68f3e2d09cb
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/NonReadableChannelException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/NonWritableChannelException.class b/libjava/classpath/lib/java/nio/channels/NonWritableChannelException.class
      new file mode 100644
      index 00000000000..479e770f2f1
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/NonWritableChannelException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/NotYetBoundException.class b/libjava/classpath/lib/java/nio/channels/NotYetBoundException.class
      new file mode 100644
      index 00000000000..bd3d9dc64d7
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/NotYetBoundException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/NotYetConnectedException.class b/libjava/classpath/lib/java/nio/channels/NotYetConnectedException.class
      new file mode 100644
      index 00000000000..2da53ee8f27
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/NotYetConnectedException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/OverlappingFileLockException.class b/libjava/classpath/lib/java/nio/channels/OverlappingFileLockException.class
      new file mode 100644
      index 00000000000..a9ef46c9ecd
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/OverlappingFileLockException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/Pipe$SinkChannel.class b/libjava/classpath/lib/java/nio/channels/Pipe$SinkChannel.class
      new file mode 100644
      index 00000000000..a960160ee72
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/Pipe$SinkChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/Pipe$SourceChannel.class b/libjava/classpath/lib/java/nio/channels/Pipe$SourceChannel.class
      new file mode 100644
      index 00000000000..edeaf53b593
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/Pipe$SourceChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/Pipe.class b/libjava/classpath/lib/java/nio/channels/Pipe.class
      new file mode 100644
      index 00000000000..5a056fe7feb
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/Pipe.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ReadableByteChannel.class b/libjava/classpath/lib/java/nio/channels/ReadableByteChannel.class
      new file mode 100644
      index 00000000000..48e306ecf83
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ReadableByteChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ScatteringByteChannel.class b/libjava/classpath/lib/java/nio/channels/ScatteringByteChannel.class
      new file mode 100644
      index 00000000000..8c5b95e5783
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ScatteringByteChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/SelectableChannel.class b/libjava/classpath/lib/java/nio/channels/SelectableChannel.class
      new file mode 100644
      index 00000000000..17aff976a2e
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/SelectableChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/SelectionKey.class b/libjava/classpath/lib/java/nio/channels/SelectionKey.class
      new file mode 100644
      index 00000000000..f9bddf6e3b2
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/SelectionKey.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/Selector.class b/libjava/classpath/lib/java/nio/channels/Selector.class
      new file mode 100644
      index 00000000000..0469ab55c2d
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/Selector.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/ServerSocketChannel.class b/libjava/classpath/lib/java/nio/channels/ServerSocketChannel.class
      new file mode 100644
      index 00000000000..2ffe64fd27c
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/ServerSocketChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/SocketChannel.class b/libjava/classpath/lib/java/nio/channels/SocketChannel.class
      new file mode 100644
      index 00000000000..e53b0c337dc
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/SocketChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/UnresolvedAddressException.class b/libjava/classpath/lib/java/nio/channels/UnresolvedAddressException.class
      new file mode 100644
      index 00000000000..a53bb06cac8
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/UnresolvedAddressException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/UnsupportedAddressTypeException.class b/libjava/classpath/lib/java/nio/channels/UnsupportedAddressTypeException.class
      new file mode 100644
      index 00000000000..5ca872ec7a2
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/UnsupportedAddressTypeException.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/VMChannels.class b/libjava/classpath/lib/java/nio/channels/VMChannels.class
      new file mode 100644
      index 00000000000..2a265123265
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/VMChannels.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/WritableByteChannel.class b/libjava/classpath/lib/java/nio/channels/WritableByteChannel.class
      new file mode 100644
      index 00000000000..94c77798954
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/WritableByteChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/spi/AbstractInterruptibleChannel.class b/libjava/classpath/lib/java/nio/channels/spi/AbstractInterruptibleChannel.class
      new file mode 100644
      index 00000000000..37005d8c83f
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/spi/AbstractInterruptibleChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/spi/AbstractSelectableChannel.class b/libjava/classpath/lib/java/nio/channels/spi/AbstractSelectableChannel.class
      new file mode 100644
      index 00000000000..50292a1becb
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/spi/AbstractSelectableChannel.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/spi/AbstractSelectionKey.class b/libjava/classpath/lib/java/nio/channels/spi/AbstractSelectionKey.class
      new file mode 100644
      index 00000000000..a30204155e0
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/spi/AbstractSelectionKey.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/spi/AbstractSelector.class b/libjava/classpath/lib/java/nio/channels/spi/AbstractSelector.class
      new file mode 100644
      index 00000000000..6a8140211b6
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/spi/AbstractSelector.class differ
      diff --git a/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class b/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class
      new file mode 100644
      index 00000000000..cb10488e150
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/channels/spi/SelectorProvider.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CharacterCodingException.class b/libjava/classpath/lib/java/nio/charset/CharacterCodingException.class
      new file mode 100644
      index 00000000000..28858ad1841
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CharacterCodingException.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/Charset.class b/libjava/classpath/lib/java/nio/charset/Charset.class
      new file mode 100644
      index 00000000000..ae2b1191065
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/Charset.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CharsetDecoder.class b/libjava/classpath/lib/java/nio/charset/CharsetDecoder.class
      new file mode 100644
      index 00000000000..62f768df009
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CharsetDecoder.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CharsetEncoder.class b/libjava/classpath/lib/java/nio/charset/CharsetEncoder.class
      new file mode 100644
      index 00000000000..dec97fb1788
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CharsetEncoder.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CoderMalfunctionError.class b/libjava/classpath/lib/java/nio/charset/CoderMalfunctionError.class
      new file mode 100644
      index 00000000000..5c980951590
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CoderMalfunctionError.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$1.class b/libjava/classpath/lib/java/nio/charset/CoderResult$1.class
      new file mode 100644
      index 00000000000..687298887bf
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CoderResult$1.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$2.class b/libjava/classpath/lib/java/nio/charset/CoderResult$2.class
      new file mode 100644
      index 00000000000..84d8dae7af3
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CoderResult$2.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult$Cache.class b/libjava/classpath/lib/java/nio/charset/CoderResult$Cache.class
      new file mode 100644
      index 00000000000..4d885f09d59
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CoderResult$Cache.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CoderResult.class b/libjava/classpath/lib/java/nio/charset/CoderResult.class
      new file mode 100644
      index 00000000000..f68fd67eedf
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CoderResult.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/CodingErrorAction.class b/libjava/classpath/lib/java/nio/charset/CodingErrorAction.class
      new file mode 100644
      index 00000000000..8de598968d4
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/CodingErrorAction.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/IllegalCharsetNameException.class b/libjava/classpath/lib/java/nio/charset/IllegalCharsetNameException.class
      new file mode 100644
      index 00000000000..d31479f7208
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/IllegalCharsetNameException.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/MalformedInputException.class b/libjava/classpath/lib/java/nio/charset/MalformedInputException.class
      new file mode 100644
      index 00000000000..4d10b6da599
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/MalformedInputException.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/UnmappableCharacterException.class b/libjava/classpath/lib/java/nio/charset/UnmappableCharacterException.class
      new file mode 100644
      index 00000000000..e5a7bc2d033
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/UnmappableCharacterException.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/UnsupportedCharsetException.class b/libjava/classpath/lib/java/nio/charset/UnsupportedCharsetException.class
      new file mode 100644
      index 00000000000..3c8924b014e
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/UnsupportedCharsetException.class differ
      diff --git a/libjava/classpath/lib/java/nio/charset/spi/CharsetProvider.class b/libjava/classpath/lib/java/nio/charset/spi/CharsetProvider.class
      new file mode 100644
      index 00000000000..cdf4cbb912a
      Binary files /dev/null and b/libjava/classpath/lib/java/nio/charset/spi/CharsetProvider.class differ
      diff --git a/libjava/classpath/lib/java/rmi/AccessException.class b/libjava/classpath/lib/java/rmi/AccessException.class
      new file mode 100644
      index 00000000000..d0e3ccadf22
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/AccessException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/AlreadyBoundException.class b/libjava/classpath/lib/java/rmi/AlreadyBoundException.class
      new file mode 100644
      index 00000000000..66d4313c4a8
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/AlreadyBoundException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/ConnectException.class b/libjava/classpath/lib/java/rmi/ConnectException.class
      new file mode 100644
      index 00000000000..6e0019e62f3
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/ConnectException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/ConnectIOException.class b/libjava/classpath/lib/java/rmi/ConnectIOException.class
      new file mode 100644
      index 00000000000..d5ad7dc4775
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/ConnectIOException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/MarshalException.class b/libjava/classpath/lib/java/rmi/MarshalException.class
      new file mode 100644
      index 00000000000..0ba852d8d53
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/MarshalException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/MarshalledObject.class b/libjava/classpath/lib/java/rmi/MarshalledObject.class
      new file mode 100644
      index 00000000000..f09c1a6156a
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/MarshalledObject.class differ
      diff --git a/libjava/classpath/lib/java/rmi/Naming.class b/libjava/classpath/lib/java/rmi/Naming.class
      new file mode 100644
      index 00000000000..5d866075b78
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/Naming.class differ
      diff --git a/libjava/classpath/lib/java/rmi/NoSuchObjectException.class b/libjava/classpath/lib/java/rmi/NoSuchObjectException.class
      new file mode 100644
      index 00000000000..bf68ca4dfff
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/NoSuchObjectException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/NotBoundException.class b/libjava/classpath/lib/java/rmi/NotBoundException.class
      new file mode 100644
      index 00000000000..ef1cb98096e
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/NotBoundException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/RMISecurityException.class b/libjava/classpath/lib/java/rmi/RMISecurityException.class
      new file mode 100644
      index 00000000000..ff293e85385
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/RMISecurityException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/RMISecurityManager.class b/libjava/classpath/lib/java/rmi/RMISecurityManager.class
      new file mode 100644
      index 00000000000..41c59e9caed
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/RMISecurityManager.class differ
      diff --git a/libjava/classpath/lib/java/rmi/Remote.class b/libjava/classpath/lib/java/rmi/Remote.class
      new file mode 100644
      index 00000000000..a187a4943f2
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/Remote.class differ
      diff --git a/libjava/classpath/lib/java/rmi/RemoteException.class b/libjava/classpath/lib/java/rmi/RemoteException.class
      new file mode 100644
      index 00000000000..a5fcf1d4032
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/RemoteException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/ServerError.class b/libjava/classpath/lib/java/rmi/ServerError.class
      new file mode 100644
      index 00000000000..c93ff61d7b8
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/ServerError.class differ
      diff --git a/libjava/classpath/lib/java/rmi/ServerException.class b/libjava/classpath/lib/java/rmi/ServerException.class
      new file mode 100644
      index 00000000000..71628173564
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/ServerException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/ServerRuntimeException.class b/libjava/classpath/lib/java/rmi/ServerRuntimeException.class
      new file mode 100644
      index 00000000000..4ea3675a6b7
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/ServerRuntimeException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/StubNotFoundException.class b/libjava/classpath/lib/java/rmi/StubNotFoundException.class
      new file mode 100644
      index 00000000000..da6dd6441db
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/StubNotFoundException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/UnexpectedException.class b/libjava/classpath/lib/java/rmi/UnexpectedException.class
      new file mode 100644
      index 00000000000..ab4e7ca6df8
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/UnexpectedException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/UnknownHostException.class b/libjava/classpath/lib/java/rmi/UnknownHostException.class
      new file mode 100644
      index 00000000000..699bf69344a
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/UnknownHostException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/UnmarshalException.class b/libjava/classpath/lib/java/rmi/UnmarshalException.class
      new file mode 100644
      index 00000000000..7f95ac81653
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/UnmarshalException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/Activatable.class b/libjava/classpath/lib/java/rmi/activation/Activatable.class
      new file mode 100644
      index 00000000000..09eee6b76e9
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/Activatable.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivateFailedException.class b/libjava/classpath/lib/java/rmi/activation/ActivateFailedException.class
      new file mode 100644
      index 00000000000..ebac6ba5028
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivateFailedException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationDesc.class b/libjava/classpath/lib/java/rmi/activation/ActivationDesc.class
      new file mode 100644
      index 00000000000..c1c90dcc2dd
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationDesc.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationException.class b/libjava/classpath/lib/java/rmi/activation/ActivationException.class
      new file mode 100644
      index 00000000000..95f6167ba1a
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class b/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class
      new file mode 100644
      index 00000000000..26a0276563e
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationGroup.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.class b/libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.class
      new file mode 100644
      index 00000000000..d74b3c343cd
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc.class b/libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc.class
      new file mode 100644
      index 00000000000..7800656e70a
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationGroupDesc.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationGroupID.class b/libjava/classpath/lib/java/rmi/activation/ActivationGroupID.class
      new file mode 100644
      index 00000000000..d1d0cc9c5bc
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationGroupID.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationGroup_Stub.class b/libjava/classpath/lib/java/rmi/activation/ActivationGroup_Stub.class
      new file mode 100644
      index 00000000000..e56edd93b2b
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationGroup_Stub.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationID.class b/libjava/classpath/lib/java/rmi/activation/ActivationID.class
      new file mode 100644
      index 00000000000..84e0e5cb494
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationID.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationInstantiator.class b/libjava/classpath/lib/java/rmi/activation/ActivationInstantiator.class
      new file mode 100644
      index 00000000000..d3e9f4dc9cd
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationInstantiator.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationMonitor.class b/libjava/classpath/lib/java/rmi/activation/ActivationMonitor.class
      new file mode 100644
      index 00000000000..28e35559397
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationMonitor.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/ActivationSystem.class b/libjava/classpath/lib/java/rmi/activation/ActivationSystem.class
      new file mode 100644
      index 00000000000..17eeee7cd33
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/ActivationSystem.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/Activator.class b/libjava/classpath/lib/java/rmi/activation/Activator.class
      new file mode 100644
      index 00000000000..1610b115818
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/Activator.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/UnknownGroupException.class b/libjava/classpath/lib/java/rmi/activation/UnknownGroupException.class
      new file mode 100644
      index 00000000000..4d6cbbc81ad
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/UnknownGroupException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/activation/UnknownObjectException.class b/libjava/classpath/lib/java/rmi/activation/UnknownObjectException.class
      new file mode 100644
      index 00000000000..25bbb15a163
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/activation/UnknownObjectException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/dgc/DGC.class b/libjava/classpath/lib/java/rmi/dgc/DGC.class
      new file mode 100644
      index 00000000000..f3096baf027
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/dgc/DGC.class differ
      diff --git a/libjava/classpath/lib/java/rmi/dgc/Lease.class b/libjava/classpath/lib/java/rmi/dgc/Lease.class
      new file mode 100644
      index 00000000000..56b39780385
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/dgc/Lease.class differ
      diff --git a/libjava/classpath/lib/java/rmi/dgc/VMID.class b/libjava/classpath/lib/java/rmi/dgc/VMID.class
      new file mode 100644
      index 00000000000..35a992d8d27
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/dgc/VMID.class differ
      diff --git a/libjava/classpath/lib/java/rmi/registry/LocateRegistry.class b/libjava/classpath/lib/java/rmi/registry/LocateRegistry.class
      new file mode 100644
      index 00000000000..66d13c4585c
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/registry/LocateRegistry.class differ
      diff --git a/libjava/classpath/lib/java/rmi/registry/Registry.class b/libjava/classpath/lib/java/rmi/registry/Registry.class
      new file mode 100644
      index 00000000000..95dd4f7068c
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/registry/Registry.class differ
      diff --git a/libjava/classpath/lib/java/rmi/registry/RegistryHandler.class b/libjava/classpath/lib/java/rmi/registry/RegistryHandler.class
      new file mode 100644
      index 00000000000..91076eb3a48
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/registry/RegistryHandler.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/ExportException.class b/libjava/classpath/lib/java/rmi/server/ExportException.class
      new file mode 100644
      index 00000000000..fd025685325
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/ExportException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/LoaderHandler.class b/libjava/classpath/lib/java/rmi/server/LoaderHandler.class
      new file mode 100644
      index 00000000000..0ebf6708ad4
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/LoaderHandler.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/LogStream.class b/libjava/classpath/lib/java/rmi/server/LogStream.class
      new file mode 100644
      index 00000000000..ca93a877978
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/LogStream.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/ObjID.class b/libjava/classpath/lib/java/rmi/server/ObjID.class
      new file mode 100644
      index 00000000000..9fcf58ed959
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/ObjID.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/Operation.class b/libjava/classpath/lib/java/rmi/server/Operation.class
      new file mode 100644
      index 00000000000..d3b96a52d96
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/Operation.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RMIClassLoader.class b/libjava/classpath/lib/java/rmi/server/RMIClassLoader.class
      new file mode 100644
      index 00000000000..91061b9c452
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RMIClassLoader.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RMIClassLoaderSpi.class b/libjava/classpath/lib/java/rmi/server/RMIClassLoaderSpi.class
      new file mode 100644
      index 00000000000..2a767f3430c
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RMIClassLoaderSpi.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RMIClientSocketFactory.class b/libjava/classpath/lib/java/rmi/server/RMIClientSocketFactory.class
      new file mode 100644
      index 00000000000..f8cf43dbb86
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RMIClientSocketFactory.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RMIFailureHandler.class b/libjava/classpath/lib/java/rmi/server/RMIFailureHandler.class
      new file mode 100644
      index 00000000000..6e067199edf
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RMIFailureHandler.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RMIServerSocketFactory.class b/libjava/classpath/lib/java/rmi/server/RMIServerSocketFactory.class
      new file mode 100644
      index 00000000000..a27ab7a4f7e
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RMIServerSocketFactory.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RMISocketFactory.class b/libjava/classpath/lib/java/rmi/server/RMISocketFactory.class
      new file mode 100644
      index 00000000000..e854a29b8d7
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RMISocketFactory.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RemoteCall.class b/libjava/classpath/lib/java/rmi/server/RemoteCall.class
      new file mode 100644
      index 00000000000..d80635ef0e3
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RemoteCall.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RemoteObject.class b/libjava/classpath/lib/java/rmi/server/RemoteObject.class
      new file mode 100644
      index 00000000000..87dba3d9050
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RemoteObject.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RemoteObjectInvocationHandler.class b/libjava/classpath/lib/java/rmi/server/RemoteObjectInvocationHandler.class
      new file mode 100644
      index 00000000000..107de960a5f
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RemoteObjectInvocationHandler.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RemoteRef.class b/libjava/classpath/lib/java/rmi/server/RemoteRef.class
      new file mode 100644
      index 00000000000..37fc8b9fa03
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RemoteRef.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RemoteServer.class b/libjava/classpath/lib/java/rmi/server/RemoteServer.class
      new file mode 100644
      index 00000000000..e656db2bbcb
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RemoteServer.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/RemoteStub.class b/libjava/classpath/lib/java/rmi/server/RemoteStub.class
      new file mode 100644
      index 00000000000..3c560b3e73e
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/RemoteStub.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/ServerCloneException.class b/libjava/classpath/lib/java/rmi/server/ServerCloneException.class
      new file mode 100644
      index 00000000000..393449a4016
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/ServerCloneException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/ServerNotActiveException.class b/libjava/classpath/lib/java/rmi/server/ServerNotActiveException.class
      new file mode 100644
      index 00000000000..a8c77d5c3c0
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/ServerNotActiveException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/ServerRef.class b/libjava/classpath/lib/java/rmi/server/ServerRef.class
      new file mode 100644
      index 00000000000..455cf310afc
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/ServerRef.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/Skeleton.class b/libjava/classpath/lib/java/rmi/server/Skeleton.class
      new file mode 100644
      index 00000000000..4c90847b396
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/Skeleton.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/SkeletonMismatchException.class b/libjava/classpath/lib/java/rmi/server/SkeletonMismatchException.class
      new file mode 100644
      index 00000000000..04cf9194b82
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/SkeletonMismatchException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/SkeletonNotFoundException.class b/libjava/classpath/lib/java/rmi/server/SkeletonNotFoundException.class
      new file mode 100644
      index 00000000000..3b433cd1e12
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/SkeletonNotFoundException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/SocketSecurityException.class b/libjava/classpath/lib/java/rmi/server/SocketSecurityException.class
      new file mode 100644
      index 00000000000..df031c60aad
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/SocketSecurityException.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/UID.class b/libjava/classpath/lib/java/rmi/server/UID.class
      new file mode 100644
      index 00000000000..dcddb18e86e
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/UID.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class b/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class
      new file mode 100644
      index 00000000000..0798f7264f8
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/UnicastRemoteObject.class differ
      diff --git a/libjava/classpath/lib/java/rmi/server/Unreferenced.class b/libjava/classpath/lib/java/rmi/server/Unreferenced.class
      new file mode 100644
      index 00000000000..20ae1569249
      Binary files /dev/null and b/libjava/classpath/lib/java/rmi/server/Unreferenced.class differ
      diff --git a/libjava/classpath/lib/java/security/AccessControlContext.class b/libjava/classpath/lib/java/security/AccessControlContext.class
      new file mode 100644
      index 00000000000..8088ee91d04
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AccessControlContext.class differ
      diff --git a/libjava/classpath/lib/java/security/AccessControlException.class b/libjava/classpath/lib/java/security/AccessControlException.class
      new file mode 100644
      index 00000000000..ea2ade7e89a
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AccessControlException.class differ
      diff --git a/libjava/classpath/lib/java/security/AccessController.class b/libjava/classpath/lib/java/security/AccessController.class
      new file mode 100644
      index 00000000000..7d2ff3379cb
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AccessController.class differ
      diff --git a/libjava/classpath/lib/java/security/AlgorithmParameterGenerator.class b/libjava/classpath/lib/java/security/AlgorithmParameterGenerator.class
      new file mode 100644
      index 00000000000..7810eafc93a
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AlgorithmParameterGenerator.class differ
      diff --git a/libjava/classpath/lib/java/security/AlgorithmParameterGeneratorSpi.class b/libjava/classpath/lib/java/security/AlgorithmParameterGeneratorSpi.class
      new file mode 100644
      index 00000000000..c92e585cf42
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AlgorithmParameterGeneratorSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/AlgorithmParameters.class b/libjava/classpath/lib/java/security/AlgorithmParameters.class
      new file mode 100644
      index 00000000000..a9d77c910bf
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AlgorithmParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/AlgorithmParametersSpi.class b/libjava/classpath/lib/java/security/AlgorithmParametersSpi.class
      new file mode 100644
      index 00000000000..a094e3523c0
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AlgorithmParametersSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class b/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class
      new file mode 100644
      index 00000000000..49e969e5ca0
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AllPermission$AllPermissionCollection.class differ
      diff --git a/libjava/classpath/lib/java/security/AllPermission.class b/libjava/classpath/lib/java/security/AllPermission.class
      new file mode 100644
      index 00000000000..616e7a5e7bd
      Binary files /dev/null and b/libjava/classpath/lib/java/security/AllPermission.class differ
      diff --git a/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class b/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class
      new file mode 100644
      index 00000000000..23065c3eb65
      Binary files /dev/null and b/libjava/classpath/lib/java/security/BasicPermission$BasicPermissionCollection.class differ
      diff --git a/libjava/classpath/lib/java/security/BasicPermission.class b/libjava/classpath/lib/java/security/BasicPermission.class
      new file mode 100644
      index 00000000000..00b2d169aa3
      Binary files /dev/null and b/libjava/classpath/lib/java/security/BasicPermission.class differ
      diff --git a/libjava/classpath/lib/java/security/Certificate.class b/libjava/classpath/lib/java/security/Certificate.class
      new file mode 100644
      index 00000000000..5e9236053d1
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Certificate.class differ
      diff --git a/libjava/classpath/lib/java/security/CodeSource.class b/libjava/classpath/lib/java/security/CodeSource.class
      new file mode 100644
      index 00000000000..733d14d841c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/CodeSource.class differ
      diff --git a/libjava/classpath/lib/java/security/DigestException.class b/libjava/classpath/lib/java/security/DigestException.class
      new file mode 100644
      index 00000000000..26356144103
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DigestException.class differ
      diff --git a/libjava/classpath/lib/java/security/DigestInputStream.class b/libjava/classpath/lib/java/security/DigestInputStream.class
      new file mode 100644
      index 00000000000..bcfefac2176
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DigestInputStream.class differ
      diff --git a/libjava/classpath/lib/java/security/DigestOutputStream.class b/libjava/classpath/lib/java/security/DigestOutputStream.class
      new file mode 100644
      index 00000000000..44a74b6420c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DigestOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/security/DomainCombiner.class b/libjava/classpath/lib/java/security/DomainCombiner.class
      new file mode 100644
      index 00000000000..6cf02d079cb
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DomainCombiner.class differ
      diff --git a/libjava/classpath/lib/java/security/DummyKeyPairGenerator.class b/libjava/classpath/lib/java/security/DummyKeyPairGenerator.class
      new file mode 100644
      index 00000000000..4933178fa18
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DummyKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/java/security/DummyMessageDigest.class b/libjava/classpath/lib/java/security/DummyMessageDigest.class
      new file mode 100644
      index 00000000000..f83915d9949
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DummyMessageDigest.class differ
      diff --git a/libjava/classpath/lib/java/security/DummySignature.class b/libjava/classpath/lib/java/security/DummySignature.class
      new file mode 100644
      index 00000000000..712cc0340da
      Binary files /dev/null and b/libjava/classpath/lib/java/security/DummySignature.class differ
      diff --git a/libjava/classpath/lib/java/security/GeneralSecurityException.class b/libjava/classpath/lib/java/security/GeneralSecurityException.class
      new file mode 100644
      index 00000000000..77dca62f2d5
      Binary files /dev/null and b/libjava/classpath/lib/java/security/GeneralSecurityException.class differ
      diff --git a/libjava/classpath/lib/java/security/Guard.class b/libjava/classpath/lib/java/security/Guard.class
      new file mode 100644
      index 00000000000..a52f428e2b6
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Guard.class differ
      diff --git a/libjava/classpath/lib/java/security/GuardedObject.class b/libjava/classpath/lib/java/security/GuardedObject.class
      new file mode 100644
      index 00000000000..2b3b188850f
      Binary files /dev/null and b/libjava/classpath/lib/java/security/GuardedObject.class differ
      diff --git a/libjava/classpath/lib/java/security/Identity.class b/libjava/classpath/lib/java/security/Identity.class
      new file mode 100644
      index 00000000000..a2de474e5b4
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Identity.class differ
      diff --git a/libjava/classpath/lib/java/security/IdentityScope.class b/libjava/classpath/lib/java/security/IdentityScope.class
      new file mode 100644
      index 00000000000..8b1480e4f7e
      Binary files /dev/null and b/libjava/classpath/lib/java/security/IdentityScope.class differ
      diff --git a/libjava/classpath/lib/java/security/IntersectingDomainCombiner.class b/libjava/classpath/lib/java/security/IntersectingDomainCombiner.class
      new file mode 100644
      index 00000000000..6fe8af79b82
      Binary files /dev/null and b/libjava/classpath/lib/java/security/IntersectingDomainCombiner.class differ
      diff --git a/libjava/classpath/lib/java/security/InvalidAlgorithmParameterException.class b/libjava/classpath/lib/java/security/InvalidAlgorithmParameterException.class
      new file mode 100644
      index 00000000000..cec2e2c1e0c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/InvalidAlgorithmParameterException.class differ
      diff --git a/libjava/classpath/lib/java/security/InvalidKeyException.class b/libjava/classpath/lib/java/security/InvalidKeyException.class
      new file mode 100644
      index 00000000000..520793c9974
      Binary files /dev/null and b/libjava/classpath/lib/java/security/InvalidKeyException.class differ
      diff --git a/libjava/classpath/lib/java/security/InvalidParameterException.class b/libjava/classpath/lib/java/security/InvalidParameterException.class
      new file mode 100644
      index 00000000000..ff473f72e4d
      Binary files /dev/null and b/libjava/classpath/lib/java/security/InvalidParameterException.class differ
      diff --git a/libjava/classpath/lib/java/security/Key.class b/libjava/classpath/lib/java/security/Key.class
      new file mode 100644
      index 00000000000..e8ce277d1a2
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Key.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyException.class b/libjava/classpath/lib/java/security/KeyException.class
      new file mode 100644
      index 00000000000..03912d819e6
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyException.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyFactory.class b/libjava/classpath/lib/java/security/KeyFactory.class
      new file mode 100644
      index 00000000000..42a4c971625
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyFactory.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyFactorySpi.class b/libjava/classpath/lib/java/security/KeyFactorySpi.class
      new file mode 100644
      index 00000000000..a8183aa11a1
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyFactorySpi.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyManagementException.class b/libjava/classpath/lib/java/security/KeyManagementException.class
      new file mode 100644
      index 00000000000..173f42ca4e6
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyManagementException.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyPair.class b/libjava/classpath/lib/java/security/KeyPair.class
      new file mode 100644
      index 00000000000..9b47427c0af
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyPair.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyPairGenerator.class b/libjava/classpath/lib/java/security/KeyPairGenerator.class
      new file mode 100644
      index 00000000000..ad30b19d38b
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyPairGeneratorSpi.class b/libjava/classpath/lib/java/security/KeyPairGeneratorSpi.class
      new file mode 100644
      index 00000000000..c136552de6a
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyPairGeneratorSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyStore.class b/libjava/classpath/lib/java/security/KeyStore.class
      new file mode 100644
      index 00000000000..73563ee6d7a
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyStore.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyStoreException.class b/libjava/classpath/lib/java/security/KeyStoreException.class
      new file mode 100644
      index 00000000000..8a7c1bcd1ca
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyStoreException.class differ
      diff --git a/libjava/classpath/lib/java/security/KeyStoreSpi.class b/libjava/classpath/lib/java/security/KeyStoreSpi.class
      new file mode 100644
      index 00000000000..12a36ebc2ec
      Binary files /dev/null and b/libjava/classpath/lib/java/security/KeyStoreSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/MessageDigest.class b/libjava/classpath/lib/java/security/MessageDigest.class
      new file mode 100644
      index 00000000000..b2c9e734ea7
      Binary files /dev/null and b/libjava/classpath/lib/java/security/MessageDigest.class differ
      diff --git a/libjava/classpath/lib/java/security/MessageDigestSpi.class b/libjava/classpath/lib/java/security/MessageDigestSpi.class
      new file mode 100644
      index 00000000000..f04ecf852b7
      Binary files /dev/null and b/libjava/classpath/lib/java/security/MessageDigestSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/NoSuchAlgorithmException.class b/libjava/classpath/lib/java/security/NoSuchAlgorithmException.class
      new file mode 100644
      index 00000000000..931fffd411f
      Binary files /dev/null and b/libjava/classpath/lib/java/security/NoSuchAlgorithmException.class differ
      diff --git a/libjava/classpath/lib/java/security/NoSuchProviderException.class b/libjava/classpath/lib/java/security/NoSuchProviderException.class
      new file mode 100644
      index 00000000000..9f46364d393
      Binary files /dev/null and b/libjava/classpath/lib/java/security/NoSuchProviderException.class differ
      diff --git a/libjava/classpath/lib/java/security/Permission.class b/libjava/classpath/lib/java/security/Permission.class
      new file mode 100644
      index 00000000000..d9db3fae009
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Permission.class differ
      diff --git a/libjava/classpath/lib/java/security/PermissionCollection.class b/libjava/classpath/lib/java/security/PermissionCollection.class
      new file mode 100644
      index 00000000000..bb61795ca6c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/PermissionCollection.class differ
      diff --git a/libjava/classpath/lib/java/security/Permissions$1.class b/libjava/classpath/lib/java/security/Permissions$1.class
      new file mode 100644
      index 00000000000..c118bb9a1ce
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Permissions$1.class differ
      diff --git a/libjava/classpath/lib/java/security/Permissions$PermissionsHash.class b/libjava/classpath/lib/java/security/Permissions$PermissionsHash.class
      new file mode 100644
      index 00000000000..b011dc1af4b
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Permissions$PermissionsHash.class differ
      diff --git a/libjava/classpath/lib/java/security/Permissions.class b/libjava/classpath/lib/java/security/Permissions.class
      new file mode 100644
      index 00000000000..17b6636d6d6
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Permissions.class differ
      diff --git a/libjava/classpath/lib/java/security/Policy.class b/libjava/classpath/lib/java/security/Policy.class
      new file mode 100644
      index 00000000000..4bc47cf4306
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Policy.class differ
      diff --git a/libjava/classpath/lib/java/security/Principal.class b/libjava/classpath/lib/java/security/Principal.class
      new file mode 100644
      index 00000000000..b151339a4a2
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Principal.class differ
      diff --git a/libjava/classpath/lib/java/security/PrivateKey.class b/libjava/classpath/lib/java/security/PrivateKey.class
      new file mode 100644
      index 00000000000..1e24970535d
      Binary files /dev/null and b/libjava/classpath/lib/java/security/PrivateKey.class differ
      diff --git a/libjava/classpath/lib/java/security/PrivilegedAction.class b/libjava/classpath/lib/java/security/PrivilegedAction.class
      new file mode 100644
      index 00000000000..027abc8b819
      Binary files /dev/null and b/libjava/classpath/lib/java/security/PrivilegedAction.class differ
      diff --git a/libjava/classpath/lib/java/security/PrivilegedActionException.class b/libjava/classpath/lib/java/security/PrivilegedActionException.class
      new file mode 100644
      index 00000000000..55ce31ebbf0
      Binary files /dev/null and b/libjava/classpath/lib/java/security/PrivilegedActionException.class differ
      diff --git a/libjava/classpath/lib/java/security/PrivilegedExceptionAction.class b/libjava/classpath/lib/java/security/PrivilegedExceptionAction.class
      new file mode 100644
      index 00000000000..473f9c6bd2c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/PrivilegedExceptionAction.class differ
      diff --git a/libjava/classpath/lib/java/security/ProtectionDomain.class b/libjava/classpath/lib/java/security/ProtectionDomain.class
      new file mode 100644
      index 00000000000..cfac87e6aea
      Binary files /dev/null and b/libjava/classpath/lib/java/security/ProtectionDomain.class differ
      diff --git a/libjava/classpath/lib/java/security/Provider.class b/libjava/classpath/lib/java/security/Provider.class
      new file mode 100644
      index 00000000000..05a05bd6b21
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Provider.class differ
      diff --git a/libjava/classpath/lib/java/security/ProviderException.class b/libjava/classpath/lib/java/security/ProviderException.class
      new file mode 100644
      index 00000000000..040f714e733
      Binary files /dev/null and b/libjava/classpath/lib/java/security/ProviderException.class differ
      diff --git a/libjava/classpath/lib/java/security/PublicKey.class b/libjava/classpath/lib/java/security/PublicKey.class
      new file mode 100644
      index 00000000000..8220d30a3dd
      Binary files /dev/null and b/libjava/classpath/lib/java/security/PublicKey.class differ
      diff --git a/libjava/classpath/lib/java/security/SecureClassLoader.class b/libjava/classpath/lib/java/security/SecureClassLoader.class
      new file mode 100644
      index 00000000000..62736c8b066
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SecureClassLoader.class differ
      diff --git a/libjava/classpath/lib/java/security/SecureRandom.class b/libjava/classpath/lib/java/security/SecureRandom.class
      new file mode 100644
      index 00000000000..78bdc63f9fe
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SecureRandom.class differ
      diff --git a/libjava/classpath/lib/java/security/SecureRandomSpi.class b/libjava/classpath/lib/java/security/SecureRandomSpi.class
      new file mode 100644
      index 00000000000..b0c6d5edf76
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SecureRandomSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/Security.class b/libjava/classpath/lib/java/security/Security.class
      new file mode 100644
      index 00000000000..33419eb80c5
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Security.class differ
      diff --git a/libjava/classpath/lib/java/security/SecurityPermission.class b/libjava/classpath/lib/java/security/SecurityPermission.class
      new file mode 100644
      index 00000000000..b7bdffc4426
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SecurityPermission.class differ
      diff --git a/libjava/classpath/lib/java/security/Signature.class b/libjava/classpath/lib/java/security/Signature.class
      new file mode 100644
      index 00000000000..eed75c19d44
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Signature.class differ
      diff --git a/libjava/classpath/lib/java/security/SignatureException.class b/libjava/classpath/lib/java/security/SignatureException.class
      new file mode 100644
      index 00000000000..c6d97ff886b
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SignatureException.class differ
      diff --git a/libjava/classpath/lib/java/security/SignatureSpi.class b/libjava/classpath/lib/java/security/SignatureSpi.class
      new file mode 100644
      index 00000000000..426f987a9f3
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SignatureSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/SignedObject.class b/libjava/classpath/lib/java/security/SignedObject.class
      new file mode 100644
      index 00000000000..3f3cd5318ec
      Binary files /dev/null and b/libjava/classpath/lib/java/security/SignedObject.class differ
      diff --git a/libjava/classpath/lib/java/security/Signer.class b/libjava/classpath/lib/java/security/Signer.class
      new file mode 100644
      index 00000000000..61d61658962
      Binary files /dev/null and b/libjava/classpath/lib/java/security/Signer.class differ
      diff --git a/libjava/classpath/lib/java/security/UnrecoverableKeyException.class b/libjava/classpath/lib/java/security/UnrecoverableKeyException.class
      new file mode 100644
      index 00000000000..3976d41690d
      Binary files /dev/null and b/libjava/classpath/lib/java/security/UnrecoverableKeyException.class differ
      diff --git a/libjava/classpath/lib/java/security/UnresolvedPermission.class b/libjava/classpath/lib/java/security/UnresolvedPermission.class
      new file mode 100644
      index 00000000000..8304a0c2ff6
      Binary files /dev/null and b/libjava/classpath/lib/java/security/UnresolvedPermission.class differ
      diff --git a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class
      new file mode 100644
      index 00000000000..cded8e7fb56
      Binary files /dev/null and b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection$1.class differ
      diff --git a/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class
      new file mode 100644
      index 00000000000..ab046caca79
      Binary files /dev/null and b/libjava/classpath/lib/java/security/UnresolvedPermissionCollection.class differ
      diff --git a/libjava/classpath/lib/java/security/VMAccessControlState.class b/libjava/classpath/lib/java/security/VMAccessControlState.class
      new file mode 100644
      index 00000000000..a960fa9461d
      Binary files /dev/null and b/libjava/classpath/lib/java/security/VMAccessControlState.class differ
      diff --git a/libjava/classpath/lib/java/security/VMAccessController.class b/libjava/classpath/lib/java/security/VMAccessController.class
      new file mode 100644
      index 00000000000..d05cd9c8456
      Binary files /dev/null and b/libjava/classpath/lib/java/security/VMAccessController.class differ
      diff --git a/libjava/classpath/lib/java/security/VMSecureRandom$Spinner.class b/libjava/classpath/lib/java/security/VMSecureRandom$Spinner.class
      new file mode 100644
      index 00000000000..955a1f3db72
      Binary files /dev/null and b/libjava/classpath/lib/java/security/VMSecureRandom$Spinner.class differ
      diff --git a/libjava/classpath/lib/java/security/VMSecureRandom.class b/libjava/classpath/lib/java/security/VMSecureRandom.class
      new file mode 100644
      index 00000000000..08a44d63f80
      Binary files /dev/null and b/libjava/classpath/lib/java/security/VMSecureRandom.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/Acl.class b/libjava/classpath/lib/java/security/acl/Acl.class
      new file mode 100644
      index 00000000000..250e3f47f33
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/Acl.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/AclEntry.class b/libjava/classpath/lib/java/security/acl/AclEntry.class
      new file mode 100644
      index 00000000000..586a36e8165
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/AclEntry.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/AclNotFoundException.class b/libjava/classpath/lib/java/security/acl/AclNotFoundException.class
      new file mode 100644
      index 00000000000..55cd695dc8f
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/AclNotFoundException.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/Group.class b/libjava/classpath/lib/java/security/acl/Group.class
      new file mode 100644
      index 00000000000..b0d5a2c55c8
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/Group.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/LastOwnerException.class b/libjava/classpath/lib/java/security/acl/LastOwnerException.class
      new file mode 100644
      index 00000000000..e3bbdeea7f0
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/LastOwnerException.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/NotOwnerException.class b/libjava/classpath/lib/java/security/acl/NotOwnerException.class
      new file mode 100644
      index 00000000000..f11740fa345
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/NotOwnerException.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/Owner.class b/libjava/classpath/lib/java/security/acl/Owner.class
      new file mode 100644
      index 00000000000..0144a74e964
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/Owner.class differ
      diff --git a/libjava/classpath/lib/java/security/acl/Permission.class b/libjava/classpath/lib/java/security/acl/Permission.class
      new file mode 100644
      index 00000000000..f304848cb2f
      Binary files /dev/null and b/libjava/classpath/lib/java/security/acl/Permission.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CRL.class b/libjava/classpath/lib/java/security/cert/CRL.class
      new file mode 100644
      index 00000000000..bda9c3e7dc9
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CRL.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CRLException.class b/libjava/classpath/lib/java/security/cert/CRLException.class
      new file mode 100644
      index 00000000000..ab089611fd2
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CRLException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CRLSelector.class b/libjava/classpath/lib/java/security/cert/CRLSelector.class
      new file mode 100644
      index 00000000000..2fc15051ccf
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CRLSelector.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPath$CertPathRep.class b/libjava/classpath/lib/java/security/cert/CertPath$CertPathRep.class
      new file mode 100644
      index 00000000000..58cd7b03bcc
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPath$CertPathRep.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPath.class b/libjava/classpath/lib/java/security/cert/CertPath.class
      new file mode 100644
      index 00000000000..b16f484e059
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPath.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathBuilder.class b/libjava/classpath/lib/java/security/cert/CertPathBuilder.class
      new file mode 100644
      index 00000000000..fba37d76618
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathBuilder.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathBuilderException.class b/libjava/classpath/lib/java/security/cert/CertPathBuilderException.class
      new file mode 100644
      index 00000000000..a6b3c8c185b
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathBuilderException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathBuilderResult.class b/libjava/classpath/lib/java/security/cert/CertPathBuilderResult.class
      new file mode 100644
      index 00000000000..3abb577210a
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathBuilderResult.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathBuilderSpi.class b/libjava/classpath/lib/java/security/cert/CertPathBuilderSpi.class
      new file mode 100644
      index 00000000000..eea07821c45
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathBuilderSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathParameters.class b/libjava/classpath/lib/java/security/cert/CertPathParameters.class
      new file mode 100644
      index 00000000000..bfb72c44caa
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class b/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class
      new file mode 100644
      index 00000000000..5d058c21969
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathValidator$1.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidator.class b/libjava/classpath/lib/java/security/cert/CertPathValidator.class
      new file mode 100644
      index 00000000000..eb2b70d85fc
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathValidator.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidatorException.class b/libjava/classpath/lib/java/security/cert/CertPathValidatorException.class
      new file mode 100644
      index 00000000000..367c1cf0a80
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathValidatorException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidatorResult.class b/libjava/classpath/lib/java/security/cert/CertPathValidatorResult.class
      new file mode 100644
      index 00000000000..4aaf63c12c4
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathValidatorResult.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertPathValidatorSpi.class b/libjava/classpath/lib/java/security/cert/CertPathValidatorSpi.class
      new file mode 100644
      index 00000000000..adba53b0100
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertPathValidatorSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertSelector.class b/libjava/classpath/lib/java/security/cert/CertSelector.class
      new file mode 100644
      index 00000000000..84105e7efa5
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertSelector.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertStore$1.class b/libjava/classpath/lib/java/security/cert/CertStore$1.class
      new file mode 100644
      index 00000000000..19e537aa332
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertStore$1.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertStore.class b/libjava/classpath/lib/java/security/cert/CertStore.class
      new file mode 100644
      index 00000000000..7901487477c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertStore.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertStoreException.class b/libjava/classpath/lib/java/security/cert/CertStoreException.class
      new file mode 100644
      index 00000000000..c779edd8747
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertStoreException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertStoreParameters.class b/libjava/classpath/lib/java/security/cert/CertStoreParameters.class
      new file mode 100644
      index 00000000000..2ce983a70a0
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertStoreParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertStoreSpi.class b/libjava/classpath/lib/java/security/cert/CertStoreSpi.class
      new file mode 100644
      index 00000000000..ddc8407e1a2
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertStoreSpi.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/Certificate$CertificateRep.class b/libjava/classpath/lib/java/security/cert/Certificate$CertificateRep.class
      new file mode 100644
      index 00000000000..bd1da5fae2c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/Certificate$CertificateRep.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/Certificate.class b/libjava/classpath/lib/java/security/cert/Certificate.class
      new file mode 100644
      index 00000000000..c97a9678c66
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/Certificate.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateEncodingException.class b/libjava/classpath/lib/java/security/cert/CertificateEncodingException.class
      new file mode 100644
      index 00000000000..1bb15a73e7c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateEncodingException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateException.class b/libjava/classpath/lib/java/security/cert/CertificateException.class
      new file mode 100644
      index 00000000000..a453eda0913
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateExpiredException.class b/libjava/classpath/lib/java/security/cert/CertificateExpiredException.class
      new file mode 100644
      index 00000000000..4d0007db4b1
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateExpiredException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateFactory.class b/libjava/classpath/lib/java/security/cert/CertificateFactory.class
      new file mode 100644
      index 00000000000..8b0973e2b73
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateFactory.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateFactorySpi.class b/libjava/classpath/lib/java/security/cert/CertificateFactorySpi.class
      new file mode 100644
      index 00000000000..76ee2efbe64
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateFactorySpi.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateNotYetValidException.class b/libjava/classpath/lib/java/security/cert/CertificateNotYetValidException.class
      new file mode 100644
      index 00000000000..ffc55718528
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateNotYetValidException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CertificateParsingException.class b/libjava/classpath/lib/java/security/cert/CertificateParsingException.class
      new file mode 100644
      index 00000000000..f0e078a1f22
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CertificateParsingException.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/CollectionCertStoreParameters.class b/libjava/classpath/lib/java/security/cert/CollectionCertStoreParameters.class
      new file mode 100644
      index 00000000000..d9c59abda40
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/CollectionCertStoreParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/LDAPCertStoreParameters.class b/libjava/classpath/lib/java/security/cert/LDAPCertStoreParameters.class
      new file mode 100644
      index 00000000000..a9c8d581684
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/LDAPCertStoreParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PKIXBuilderParameters.class b/libjava/classpath/lib/java/security/cert/PKIXBuilderParameters.class
      new file mode 100644
      index 00000000000..b6b14258956
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PKIXBuilderParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PKIXCertPathBuilderResult.class b/libjava/classpath/lib/java/security/cert/PKIXCertPathBuilderResult.class
      new file mode 100644
      index 00000000000..383ea72a9bd
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PKIXCertPathBuilderResult.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PKIXCertPathChecker.class b/libjava/classpath/lib/java/security/cert/PKIXCertPathChecker.class
      new file mode 100644
      index 00000000000..eec2ae93c02
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PKIXCertPathChecker.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PKIXCertPathValidatorResult.class b/libjava/classpath/lib/java/security/cert/PKIXCertPathValidatorResult.class
      new file mode 100644
      index 00000000000..55b8c60d051
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PKIXCertPathValidatorResult.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PKIXParameters.class b/libjava/classpath/lib/java/security/cert/PKIXParameters.class
      new file mode 100644
      index 00000000000..07605e54d92
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PKIXParameters.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PolicyNode.class b/libjava/classpath/lib/java/security/cert/PolicyNode.class
      new file mode 100644
      index 00000000000..82179432d0d
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PolicyNode.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/PolicyQualifierInfo.class b/libjava/classpath/lib/java/security/cert/PolicyQualifierInfo.class
      new file mode 100644
      index 00000000000..5cbd3cabd84
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/PolicyQualifierInfo.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/TrustAnchor.class b/libjava/classpath/lib/java/security/cert/TrustAnchor.class
      new file mode 100644
      index 00000000000..f0139dcf516
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/TrustAnchor.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/X509CRL.class b/libjava/classpath/lib/java/security/cert/X509CRL.class
      new file mode 100644
      index 00000000000..51c1cb66617
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/X509CRL.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/X509CRLEntry.class b/libjava/classpath/lib/java/security/cert/X509CRLEntry.class
      new file mode 100644
      index 00000000000..06890e56c09
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/X509CRLEntry.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/X509CRLSelector.class b/libjava/classpath/lib/java/security/cert/X509CRLSelector.class
      new file mode 100644
      index 00000000000..7e1f08ca9a2
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/X509CRLSelector.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/X509CertSelector.class b/libjava/classpath/lib/java/security/cert/X509CertSelector.class
      new file mode 100644
      index 00000000000..0cad7da01ab
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/X509CertSelector.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/X509Certificate.class b/libjava/classpath/lib/java/security/cert/X509Certificate.class
      new file mode 100644
      index 00000000000..b8ccb1279b0
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/X509Certificate.class differ
      diff --git a/libjava/classpath/lib/java/security/cert/X509Extension.class b/libjava/classpath/lib/java/security/cert/X509Extension.class
      new file mode 100644
      index 00000000000..bb174624a0e
      Binary files /dev/null and b/libjava/classpath/lib/java/security/cert/X509Extension.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/DSAKey.class b/libjava/classpath/lib/java/security/interfaces/DSAKey.class
      new file mode 100644
      index 00000000000..e81b49ba714
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/DSAKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/DSAKeyPairGenerator.class b/libjava/classpath/lib/java/security/interfaces/DSAKeyPairGenerator.class
      new file mode 100644
      index 00000000000..bf5dfb4a840
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/DSAKeyPairGenerator.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/DSAParams.class b/libjava/classpath/lib/java/security/interfaces/DSAParams.class
      new file mode 100644
      index 00000000000..31c5d5c893a
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/DSAParams.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/DSAPrivateKey.class b/libjava/classpath/lib/java/security/interfaces/DSAPrivateKey.class
      new file mode 100644
      index 00000000000..eb1ce05a860
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/DSAPrivateKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/DSAPublicKey.class b/libjava/classpath/lib/java/security/interfaces/DSAPublicKey.class
      new file mode 100644
      index 00000000000..be3e820de3e
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/DSAPublicKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/RSAKey.class b/libjava/classpath/lib/java/security/interfaces/RSAKey.class
      new file mode 100644
      index 00000000000..2951abe650b
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/RSAKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/RSAMultiPrimePrivateCrtKey.class b/libjava/classpath/lib/java/security/interfaces/RSAMultiPrimePrivateCrtKey.class
      new file mode 100644
      index 00000000000..203f43c8818
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/RSAMultiPrimePrivateCrtKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/RSAPrivateCrtKey.class b/libjava/classpath/lib/java/security/interfaces/RSAPrivateCrtKey.class
      new file mode 100644
      index 00000000000..457c4cc6a26
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/RSAPrivateCrtKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/RSAPrivateKey.class b/libjava/classpath/lib/java/security/interfaces/RSAPrivateKey.class
      new file mode 100644
      index 00000000000..a1784672486
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/RSAPrivateKey.class differ
      diff --git a/libjava/classpath/lib/java/security/interfaces/RSAPublicKey.class b/libjava/classpath/lib/java/security/interfaces/RSAPublicKey.class
      new file mode 100644
      index 00000000000..2339eaf8b4c
      Binary files /dev/null and b/libjava/classpath/lib/java/security/interfaces/RSAPublicKey.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/AlgorithmParameterSpec.class b/libjava/classpath/lib/java/security/spec/AlgorithmParameterSpec.class
      new file mode 100644
      index 00000000000..db65a888ef9
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/AlgorithmParameterSpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/DSAParameterSpec.class b/libjava/classpath/lib/java/security/spec/DSAParameterSpec.class
      new file mode 100644
      index 00000000000..f6283440487
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/DSAParameterSpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/DSAPrivateKeySpec.class b/libjava/classpath/lib/java/security/spec/DSAPrivateKeySpec.class
      new file mode 100644
      index 00000000000..80a9d7bc15b
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/DSAPrivateKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/DSAPublicKeySpec.class b/libjava/classpath/lib/java/security/spec/DSAPublicKeySpec.class
      new file mode 100644
      index 00000000000..1dd26716dd7
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/DSAPublicKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/EncodedKeySpec.class b/libjava/classpath/lib/java/security/spec/EncodedKeySpec.class
      new file mode 100644
      index 00000000000..ec198d11d06
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/EncodedKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/InvalidKeySpecException.class b/libjava/classpath/lib/java/security/spec/InvalidKeySpecException.class
      new file mode 100644
      index 00000000000..b751f37fa22
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/InvalidKeySpecException.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/InvalidParameterSpecException.class b/libjava/classpath/lib/java/security/spec/InvalidParameterSpecException.class
      new file mode 100644
      index 00000000000..155b3e971f1
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/InvalidParameterSpecException.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/KeySpec.class b/libjava/classpath/lib/java/security/spec/KeySpec.class
      new file mode 100644
      index 00000000000..ef85d4b0819
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/KeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/PKCS8EncodedKeySpec.class b/libjava/classpath/lib/java/security/spec/PKCS8EncodedKeySpec.class
      new file mode 100644
      index 00000000000..238c8b9dcf9
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/PKCS8EncodedKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/PSSParameterSpec.class b/libjava/classpath/lib/java/security/spec/PSSParameterSpec.class
      new file mode 100644
      index 00000000000..04755ddfdd1
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/PSSParameterSpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/RSAKeyGenParameterSpec.class b/libjava/classpath/lib/java/security/spec/RSAKeyGenParameterSpec.class
      new file mode 100644
      index 00000000000..302add6f2c6
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/RSAKeyGenParameterSpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.class b/libjava/classpath/lib/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.class
      new file mode 100644
      index 00000000000..c5fb8c65243
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/RSAOtherPrimeInfo.class b/libjava/classpath/lib/java/security/spec/RSAOtherPrimeInfo.class
      new file mode 100644
      index 00000000000..537da042c00
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/RSAOtherPrimeInfo.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/RSAPrivateCrtKeySpec.class b/libjava/classpath/lib/java/security/spec/RSAPrivateCrtKeySpec.class
      new file mode 100644
      index 00000000000..7553f6f5493
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/RSAPrivateCrtKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/RSAPrivateKeySpec.class b/libjava/classpath/lib/java/security/spec/RSAPrivateKeySpec.class
      new file mode 100644
      index 00000000000..f1084e17139
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/RSAPrivateKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/RSAPublicKeySpec.class b/libjava/classpath/lib/java/security/spec/RSAPublicKeySpec.class
      new file mode 100644
      index 00000000000..d170ebecf62
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/RSAPublicKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/security/spec/X509EncodedKeySpec.class b/libjava/classpath/lib/java/security/spec/X509EncodedKeySpec.class
      new file mode 100644
      index 00000000000..8b4a83261d9
      Binary files /dev/null and b/libjava/classpath/lib/java/security/spec/X509EncodedKeySpec.class differ
      diff --git a/libjava/classpath/lib/java/sql/Array.class b/libjava/classpath/lib/java/sql/Array.class
      new file mode 100644
      index 00000000000..8ebf014ee40
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Array.class differ
      diff --git a/libjava/classpath/lib/java/sql/BatchUpdateException.class b/libjava/classpath/lib/java/sql/BatchUpdateException.class
      new file mode 100644
      index 00000000000..6a011822402
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/BatchUpdateException.class differ
      diff --git a/libjava/classpath/lib/java/sql/Blob.class b/libjava/classpath/lib/java/sql/Blob.class
      new file mode 100644
      index 00000000000..c5d78cf1140
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Blob.class differ
      diff --git a/libjava/classpath/lib/java/sql/CallableStatement.class b/libjava/classpath/lib/java/sql/CallableStatement.class
      new file mode 100644
      index 00000000000..107a156c480
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/CallableStatement.class differ
      diff --git a/libjava/classpath/lib/java/sql/Clob.class b/libjava/classpath/lib/java/sql/Clob.class
      new file mode 100644
      index 00000000000..937207f9cc6
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Clob.class differ
      diff --git a/libjava/classpath/lib/java/sql/Connection.class b/libjava/classpath/lib/java/sql/Connection.class
      new file mode 100644
      index 00000000000..d9adc68489a
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Connection.class differ
      diff --git a/libjava/classpath/lib/java/sql/DataTruncation.class b/libjava/classpath/lib/java/sql/DataTruncation.class
      new file mode 100644
      index 00000000000..79ba9faf317
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/DataTruncation.class differ
      diff --git a/libjava/classpath/lib/java/sql/DatabaseMetaData.class b/libjava/classpath/lib/java/sql/DatabaseMetaData.class
      new file mode 100644
      index 00000000000..5fc91e8506d
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/DatabaseMetaData.class differ
      diff --git a/libjava/classpath/lib/java/sql/Date.class b/libjava/classpath/lib/java/sql/Date.class
      new file mode 100644
      index 00000000000..5d82204f637
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Date.class differ
      diff --git a/libjava/classpath/lib/java/sql/Driver.class b/libjava/classpath/lib/java/sql/Driver.class
      new file mode 100644
      index 00000000000..8b7b6f2aa64
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Driver.class differ
      diff --git a/libjava/classpath/lib/java/sql/DriverManager.class b/libjava/classpath/lib/java/sql/DriverManager.class
      new file mode 100644
      index 00000000000..09bc56907b7
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/DriverManager.class differ
      diff --git a/libjava/classpath/lib/java/sql/DriverPropertyInfo.class b/libjava/classpath/lib/java/sql/DriverPropertyInfo.class
      new file mode 100644
      index 00000000000..86e7830417d
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/DriverPropertyInfo.class differ
      diff --git a/libjava/classpath/lib/java/sql/ParameterMetaData.class b/libjava/classpath/lib/java/sql/ParameterMetaData.class
      new file mode 100644
      index 00000000000..1d990a0e159
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/ParameterMetaData.class differ
      diff --git a/libjava/classpath/lib/java/sql/PreparedStatement.class b/libjava/classpath/lib/java/sql/PreparedStatement.class
      new file mode 100644
      index 00000000000..dda2c70e68c
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/PreparedStatement.class differ
      diff --git a/libjava/classpath/lib/java/sql/Ref.class b/libjava/classpath/lib/java/sql/Ref.class
      new file mode 100644
      index 00000000000..870e337e5ea
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Ref.class differ
      diff --git a/libjava/classpath/lib/java/sql/ResultSet.class b/libjava/classpath/lib/java/sql/ResultSet.class
      new file mode 100644
      index 00000000000..7f08c392dbb
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/ResultSet.class differ
      diff --git a/libjava/classpath/lib/java/sql/ResultSetMetaData.class b/libjava/classpath/lib/java/sql/ResultSetMetaData.class
      new file mode 100644
      index 00000000000..9f7e08050aa
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/ResultSetMetaData.class differ
      diff --git a/libjava/classpath/lib/java/sql/SQLData.class b/libjava/classpath/lib/java/sql/SQLData.class
      new file mode 100644
      index 00000000000..85a205f71d1
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/SQLData.class differ
      diff --git a/libjava/classpath/lib/java/sql/SQLException.class b/libjava/classpath/lib/java/sql/SQLException.class
      new file mode 100644
      index 00000000000..94cb2761b6b
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/SQLException.class differ
      diff --git a/libjava/classpath/lib/java/sql/SQLInput.class b/libjava/classpath/lib/java/sql/SQLInput.class
      new file mode 100644
      index 00000000000..0f7d735b585
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/SQLInput.class differ
      diff --git a/libjava/classpath/lib/java/sql/SQLOutput.class b/libjava/classpath/lib/java/sql/SQLOutput.class
      new file mode 100644
      index 00000000000..021bdf44989
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/SQLOutput.class differ
      diff --git a/libjava/classpath/lib/java/sql/SQLPermission.class b/libjava/classpath/lib/java/sql/SQLPermission.class
      new file mode 100644
      index 00000000000..d59957bddd7
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/SQLPermission.class differ
      diff --git a/libjava/classpath/lib/java/sql/SQLWarning.class b/libjava/classpath/lib/java/sql/SQLWarning.class
      new file mode 100644
      index 00000000000..ee6d7dc29e2
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/SQLWarning.class differ
      diff --git a/libjava/classpath/lib/java/sql/Savepoint.class b/libjava/classpath/lib/java/sql/Savepoint.class
      new file mode 100644
      index 00000000000..3628fe120fd
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Savepoint.class differ
      diff --git a/libjava/classpath/lib/java/sql/Statement.class b/libjava/classpath/lib/java/sql/Statement.class
      new file mode 100644
      index 00000000000..c383f68f691
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Statement.class differ
      diff --git a/libjava/classpath/lib/java/sql/Struct.class b/libjava/classpath/lib/java/sql/Struct.class
      new file mode 100644
      index 00000000000..89b43104c62
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Struct.class differ
      diff --git a/libjava/classpath/lib/java/sql/Time.class b/libjava/classpath/lib/java/sql/Time.class
      new file mode 100644
      index 00000000000..888edfc806e
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Time.class differ
      diff --git a/libjava/classpath/lib/java/sql/Timestamp.class b/libjava/classpath/lib/java/sql/Timestamp.class
      new file mode 100644
      index 00000000000..bfbac9d0617
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Timestamp.class differ
      diff --git a/libjava/classpath/lib/java/sql/Types.class b/libjava/classpath/lib/java/sql/Types.class
      new file mode 100644
      index 00000000000..5974e9cbbce
      Binary files /dev/null and b/libjava/classpath/lib/java/sql/Types.class differ
      diff --git a/libjava/classpath/lib/java/text/Annotation.class b/libjava/classpath/lib/java/text/Annotation.class
      new file mode 100644
      index 00000000000..7af7955e747
      Binary files /dev/null and b/libjava/classpath/lib/java/text/Annotation.class differ
      diff --git a/libjava/classpath/lib/java/text/AttributedCharacterIterator$Attribute.class b/libjava/classpath/lib/java/text/AttributedCharacterIterator$Attribute.class
      new file mode 100644
      index 00000000000..ddbbd52df23
      Binary files /dev/null and b/libjava/classpath/lib/java/text/AttributedCharacterIterator$Attribute.class differ
      diff --git a/libjava/classpath/lib/java/text/AttributedCharacterIterator.class b/libjava/classpath/lib/java/text/AttributedCharacterIterator.class
      new file mode 100644
      index 00000000000..2fb36a2bbdd
      Binary files /dev/null and b/libjava/classpath/lib/java/text/AttributedCharacterIterator.class differ
      diff --git a/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class
      new file mode 100644
      index 00000000000..f9419962f09
      Binary files /dev/null and b/libjava/classpath/lib/java/text/AttributedString$AttributeRange.class differ
      diff --git a/libjava/classpath/lib/java/text/AttributedString.class b/libjava/classpath/lib/java/text/AttributedString.class
      new file mode 100644
      index 00000000000..10bf0d721ac
      Binary files /dev/null and b/libjava/classpath/lib/java/text/AttributedString.class differ
      diff --git a/libjava/classpath/lib/java/text/AttributedStringIterator.class b/libjava/classpath/lib/java/text/AttributedStringIterator.class
      new file mode 100644
      index 00000000000..0d2a79733dd
      Binary files /dev/null and b/libjava/classpath/lib/java/text/AttributedStringIterator.class differ
      diff --git a/libjava/classpath/lib/java/text/Bidi.class b/libjava/classpath/lib/java/text/Bidi.class
      new file mode 100644
      index 00000000000..4e61cb80f8f
      Binary files /dev/null and b/libjava/classpath/lib/java/text/Bidi.class differ
      diff --git a/libjava/classpath/lib/java/text/BreakIterator.class b/libjava/classpath/lib/java/text/BreakIterator.class
      new file mode 100644
      index 00000000000..c49e8f40fc7
      Binary files /dev/null and b/libjava/classpath/lib/java/text/BreakIterator.class differ
      diff --git a/libjava/classpath/lib/java/text/CharacterIterator.class b/libjava/classpath/lib/java/text/CharacterIterator.class
      new file mode 100644
      index 00000000000..862cfd47702
      Binary files /dev/null and b/libjava/classpath/lib/java/text/CharacterIterator.class differ
      diff --git a/libjava/classpath/lib/java/text/ChoiceFormat.class b/libjava/classpath/lib/java/text/ChoiceFormat.class
      new file mode 100644
      index 00000000000..68a81e5eb4b
      Binary files /dev/null and b/libjava/classpath/lib/java/text/ChoiceFormat.class differ
      diff --git a/libjava/classpath/lib/java/text/CollationElementIterator.class b/libjava/classpath/lib/java/text/CollationElementIterator.class
      new file mode 100644
      index 00000000000..3c3176d8b22
      Binary files /dev/null and b/libjava/classpath/lib/java/text/CollationElementIterator.class differ
      diff --git a/libjava/classpath/lib/java/text/CollationKey.class b/libjava/classpath/lib/java/text/CollationKey.class
      new file mode 100644
      index 00000000000..da44773045f
      Binary files /dev/null and b/libjava/classpath/lib/java/text/CollationKey.class differ
      diff --git a/libjava/classpath/lib/java/text/Collator.class b/libjava/classpath/lib/java/text/Collator.class
      new file mode 100644
      index 00000000000..a997460fbe9
      Binary files /dev/null and b/libjava/classpath/lib/java/text/Collator.class differ
      diff --git a/libjava/classpath/lib/java/text/DateFormat$Field.class b/libjava/classpath/lib/java/text/DateFormat$Field.class
      new file mode 100644
      index 00000000000..0c681874a3c
      Binary files /dev/null and b/libjava/classpath/lib/java/text/DateFormat$Field.class differ
      diff --git a/libjava/classpath/lib/java/text/DateFormat.class b/libjava/classpath/lib/java/text/DateFormat.class
      new file mode 100644
      index 00000000000..ac98f50c4d1
      Binary files /dev/null and b/libjava/classpath/lib/java/text/DateFormat.class differ
      diff --git a/libjava/classpath/lib/java/text/DateFormatSymbols.class b/libjava/classpath/lib/java/text/DateFormatSymbols.class
      new file mode 100644
      index 00000000000..72c3fdfa4da
      Binary files /dev/null and b/libjava/classpath/lib/java/text/DateFormatSymbols.class differ
      diff --git a/libjava/classpath/lib/java/text/DecimalFormat.class b/libjava/classpath/lib/java/text/DecimalFormat.class
      new file mode 100644
      index 00000000000..41efb165bfa
      Binary files /dev/null and b/libjava/classpath/lib/java/text/DecimalFormat.class differ
      diff --git a/libjava/classpath/lib/java/text/DecimalFormatSymbols.class b/libjava/classpath/lib/java/text/DecimalFormatSymbols.class
      new file mode 100644
      index 00000000000..a88226feba5
      Binary files /dev/null and b/libjava/classpath/lib/java/text/DecimalFormatSymbols.class differ
      diff --git a/libjava/classpath/lib/java/text/FieldPosition.class b/libjava/classpath/lib/java/text/FieldPosition.class
      new file mode 100644
      index 00000000000..5c8e962dae1
      Binary files /dev/null and b/libjava/classpath/lib/java/text/FieldPosition.class differ
      diff --git a/libjava/classpath/lib/java/text/Format$Field.class b/libjava/classpath/lib/java/text/Format$Field.class
      new file mode 100644
      index 00000000000..72c598b2fb9
      Binary files /dev/null and b/libjava/classpath/lib/java/text/Format$Field.class differ
      diff --git a/libjava/classpath/lib/java/text/Format.class b/libjava/classpath/lib/java/text/Format.class
      new file mode 100644
      index 00000000000..8dae54e1b90
      Binary files /dev/null and b/libjava/classpath/lib/java/text/Format.class differ
      diff --git a/libjava/classpath/lib/java/text/MessageFormat$Field.class b/libjava/classpath/lib/java/text/MessageFormat$Field.class
      new file mode 100644
      index 00000000000..a020190401d
      Binary files /dev/null and b/libjava/classpath/lib/java/text/MessageFormat$Field.class differ
      diff --git a/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class b/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class
      new file mode 100644
      index 00000000000..30579ea40bc
      Binary files /dev/null and b/libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class differ
      diff --git a/libjava/classpath/lib/java/text/MessageFormat.class b/libjava/classpath/lib/java/text/MessageFormat.class
      new file mode 100644
      index 00000000000..96041451fe5
      Binary files /dev/null and b/libjava/classpath/lib/java/text/MessageFormat.class differ
      diff --git a/libjava/classpath/lib/java/text/NumberFormat$Field.class b/libjava/classpath/lib/java/text/NumberFormat$Field.class
      new file mode 100644
      index 00000000000..bc2baf09a70
      Binary files /dev/null and b/libjava/classpath/lib/java/text/NumberFormat$Field.class differ
      diff --git a/libjava/classpath/lib/java/text/NumberFormat.class b/libjava/classpath/lib/java/text/NumberFormat.class
      new file mode 100644
      index 00000000000..937e291e867
      Binary files /dev/null and b/libjava/classpath/lib/java/text/NumberFormat.class differ
      diff --git a/libjava/classpath/lib/java/text/ParseException.class b/libjava/classpath/lib/java/text/ParseException.class
      new file mode 100644
      index 00000000000..01bfb0af89d
      Binary files /dev/null and b/libjava/classpath/lib/java/text/ParseException.class differ
      diff --git a/libjava/classpath/lib/java/text/ParsePosition.class b/libjava/classpath/lib/java/text/ParsePosition.class
      new file mode 100644
      index 00000000000..6ab897dee9c
      Binary files /dev/null and b/libjava/classpath/lib/java/text/ParsePosition.class differ
      diff --git a/libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class b/libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class
      new file mode 100644
      index 00000000000..6a46c8d25de
      Binary files /dev/null and b/libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class differ
      diff --git a/libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class b/libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class
      new file mode 100644
      index 00000000000..f70f2a9b234
      Binary files /dev/null and b/libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class differ
      diff --git a/libjava/classpath/lib/java/text/RuleBasedCollator.class b/libjava/classpath/lib/java/text/RuleBasedCollator.class
      new file mode 100644
      index 00000000000..e15199eefb3
      Binary files /dev/null and b/libjava/classpath/lib/java/text/RuleBasedCollator.class differ
      diff --git a/libjava/classpath/lib/java/text/SimpleDateFormat$CompiledField.class b/libjava/classpath/lib/java/text/SimpleDateFormat$CompiledField.class
      new file mode 100644
      index 00000000000..559c5ce9dfe
      Binary files /dev/null and b/libjava/classpath/lib/java/text/SimpleDateFormat$CompiledField.class differ
      diff --git a/libjava/classpath/lib/java/text/SimpleDateFormat.class b/libjava/classpath/lib/java/text/SimpleDateFormat.class
      new file mode 100644
      index 00000000000..7ddd8faaafb
      Binary files /dev/null and b/libjava/classpath/lib/java/text/SimpleDateFormat.class differ
      diff --git a/libjava/classpath/lib/java/text/StringCharacterIterator.class b/libjava/classpath/lib/java/text/StringCharacterIterator.class
      new file mode 100644
      index 00000000000..698696b285d
      Binary files /dev/null and b/libjava/classpath/lib/java/text/StringCharacterIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractCollection.class b/libjava/classpath/lib/java/util/AbstractCollection.class
      new file mode 100644
      index 00000000000..439e2f88c2d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractCollection.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractList$1.class b/libjava/classpath/lib/java/util/AbstractList$1.class
      new file mode 100644
      index 00000000000..a3cc154b39f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractList$1.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractList$2.class b/libjava/classpath/lib/java/util/AbstractList$2.class
      new file mode 100644
      index 00000000000..3f7f650e714
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractList$2.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractList$3.class b/libjava/classpath/lib/java/util/AbstractList$3.class
      new file mode 100644
      index 00000000000..063c1462f3e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractList$3.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class b/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class
      new file mode 100644
      index 00000000000..138fade89eb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractList$RandomAccessSubList.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractList$SubList.class b/libjava/classpath/lib/java/util/AbstractList$SubList.class
      new file mode 100644
      index 00000000000..532527f9954
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractList$SubList.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractList.class b/libjava/classpath/lib/java/util/AbstractList.class
      new file mode 100644
      index 00000000000..5632eeb83f9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractList.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap$1.class b/libjava/classpath/lib/java/util/AbstractMap$1.class
      new file mode 100644
      index 00000000000..d851f1eae65
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap$2.class b/libjava/classpath/lib/java/util/AbstractMap$2.class
      new file mode 100644
      index 00000000000..5f73e7ab586
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap$2.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap$3.class b/libjava/classpath/lib/java/util/AbstractMap$3.class
      new file mode 100644
      index 00000000000..2511aba3f2e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap$3.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap$4.class b/libjava/classpath/lib/java/util/AbstractMap$4.class
      new file mode 100644
      index 00000000000..973ec3ec0ac
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap$4.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class b/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class
      new file mode 100644
      index 00000000000..edabfd84331
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap$SimpleEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class b/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class
      new file mode 100644
      index 00000000000..92d54d7cbdb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap$SimpleImmutableEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractMap.class b/libjava/classpath/lib/java/util/AbstractMap.class
      new file mode 100644
      index 00000000000..b81d99e3cea
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractMap.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractQueue.class b/libjava/classpath/lib/java/util/AbstractQueue.class
      new file mode 100644
      index 00000000000..65a84617690
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractSequentialList.class b/libjava/classpath/lib/java/util/AbstractSequentialList.class
      new file mode 100644
      index 00000000000..ff16cbbbe58
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractSequentialList.class differ
      diff --git a/libjava/classpath/lib/java/util/AbstractSet.class b/libjava/classpath/lib/java/util/AbstractSet.class
      new file mode 100644
      index 00000000000..7730cf62bf9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/AbstractSet.class differ
      diff --git a/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class b/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class
      new file mode 100644
      index 00000000000..7c3a8a8a36c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ArrayDeque$DeqIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class b/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class
      new file mode 100644
      index 00000000000..a21477b4355
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ArrayDeque$DescendingIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/ArrayDeque.class b/libjava/classpath/lib/java/util/ArrayDeque.class
      new file mode 100644
      index 00000000000..bd164b570a7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ArrayDeque.class differ
      diff --git a/libjava/classpath/lib/java/util/ArrayList.class b/libjava/classpath/lib/java/util/ArrayList.class
      new file mode 100644
      index 00000000000..e61f4d4094e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ArrayList.class differ
      diff --git a/libjava/classpath/lib/java/util/Arrays$ArrayList.class b/libjava/classpath/lib/java/util/Arrays$ArrayList.class
      new file mode 100644
      index 00000000000..98cdfd0e070
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Arrays$ArrayList.class differ
      diff --git a/libjava/classpath/lib/java/util/Arrays.class b/libjava/classpath/lib/java/util/Arrays.class
      new file mode 100644
      index 00000000000..5dcf6af3f41
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Arrays.class differ
      diff --git a/libjava/classpath/lib/java/util/BitSet.class b/libjava/classpath/lib/java/util/BitSet.class
      new file mode 100644
      index 00000000000..fb3ddb45d24
      Binary files /dev/null and b/libjava/classpath/lib/java/util/BitSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Calendar.class b/libjava/classpath/lib/java/util/Calendar.class
      new file mode 100644
      index 00000000000..f6d96a901ed
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Calendar.class differ
      diff --git a/libjava/classpath/lib/java/util/Collection.class b/libjava/classpath/lib/java/util/Collection.class
      new file mode 100644
      index 00000000000..9ecadba5644
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collection.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class
      new file mode 100644
      index 00000000000..a89df2e9dbd
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$1$SynchronizedMapEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$1.class b/libjava/classpath/lib/java/util/Collections$1.class
      new file mode 100644
      index 00000000000..05f7a9d776a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$1.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$2.class b/libjava/classpath/lib/java/util/Collections$2.class
      new file mode 100644
      index 00000000000..250ef65e9e9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$2.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$3.class b/libjava/classpath/lib/java/util/Collections$3.class
      new file mode 100644
      index 00000000000..b4b47469a4b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$3.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$4.class b/libjava/classpath/lib/java/util/Collections$4.class
      new file mode 100644
      index 00000000000..da444283677
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$4.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$5.class b/libjava/classpath/lib/java/util/Collections$5.class
      new file mode 100644
      index 00000000000..8555537723d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$5.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$6.class b/libjava/classpath/lib/java/util/Collections$6.class
      new file mode 100644
      index 00000000000..054c9112751
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$6.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$7.class b/libjava/classpath/lib/java/util/Collections$7.class
      new file mode 100644
      index 00000000000..9085dd5fd4d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$7.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$8.class b/libjava/classpath/lib/java/util/Collections$8.class
      new file mode 100644
      index 00000000000..fb009cb9f7f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$8.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$9.class b/libjava/classpath/lib/java/util/Collections$9.class
      new file mode 100644
      index 00000000000..c1d9438dfb4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$9.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedCollection.class b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class
      new file mode 100644
      index 00000000000..466d1fd3548
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedCollection.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class
      new file mode 100644
      index 00000000000..e7b49bccd06
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedList.class b/libjava/classpath/lib/java/util/Collections$CheckedList.class
      new file mode 100644
      index 00000000000..c2ffb7c7e71
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class
      new file mode 100644
      index 00000000000..ef7b4901627
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedListIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class
      new file mode 100644
      index 00000000000..d402ad1063b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedMap$CheckedEntrySet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedMap.class
      new file mode 100644
      index 00000000000..0a0dfd454dc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class
      new file mode 100644
      index 00000000000..205831a072f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedRandomAccessList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSet.class
      new file mode 100644
      index 00000000000..b30b3e602eb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class
      new file mode 100644
      index 00000000000..abe198c261f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedSortedMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class
      new file mode 100644
      index 00000000000..dc233e2ac83
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CheckedSortedSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$CopiesList.class b/libjava/classpath/lib/java/util/Collections$CopiesList.class
      new file mode 100644
      index 00000000000..237af598d9c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$CopiesList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$EmptyList.class b/libjava/classpath/lib/java/util/Collections$EmptyList.class
      new file mode 100644
      index 00000000000..5a72df5e753
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$EmptyList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$EmptyMap.class b/libjava/classpath/lib/java/util/Collections$EmptyMap.class
      new file mode 100644
      index 00000000000..2d727b7b764
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$EmptyMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$EmptySet.class b/libjava/classpath/lib/java/util/Collections$EmptySet.class
      new file mode 100644
      index 00000000000..c993f151567
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$EmptySet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$ReverseComparator.class b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class
      new file mode 100644
      index 00000000000..a043cf0d721
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$ReverseComparator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SingletonList.class b/libjava/classpath/lib/java/util/Collections$SingletonList.class
      new file mode 100644
      index 00000000000..a0ea2078b4a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SingletonList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SingletonMap.class b/libjava/classpath/lib/java/util/Collections$SingletonMap.class
      new file mode 100644
      index 00000000000..9cb211fd62f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SingletonMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SingletonSet.class b/libjava/classpath/lib/java/util/Collections$SingletonSet.class
      new file mode 100644
      index 00000000000..a4892de90c0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SingletonSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class
      new file mode 100644
      index 00000000000..af78e3b1b29
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedCollection.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class
      new file mode 100644
      index 00000000000..d5ae321e571
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class
      new file mode 100644
      index 00000000000..3ce19d4cedf
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class
      new file mode 100644
      index 00000000000..c0e64a69837
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedListIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class
      new file mode 100644
      index 00000000000..a50be837f6f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class
      new file mode 100644
      index 00000000000..e3e4e1e408f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedRandomAccessList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class
      new file mode 100644
      index 00000000000..fd1dd495afa
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class
      new file mode 100644
      index 00000000000..9e35d212bde
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class
      new file mode 100644
      index 00000000000..e8b69fcf7aa
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$SynchronizedSortedSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class
      new file mode 100644
      index 00000000000..b6a9ec47fea
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableCollection.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class
      new file mode 100644
      index 00000000000..43eadbaf8eb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class
      new file mode 100644
      index 00000000000..5d76cd2ee03
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class
      new file mode 100644
      index 00000000000..1795dcca995
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableListIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class
      new file mode 100644
      index 00000000000..58db3dbd71d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class
      new file mode 100644
      index 00000000000..4b9f103aecf
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class
      new file mode 100644
      index 00000000000..e6b60056ed0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class
      new file mode 100644
      index 00000000000..0563ff3cdaa
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableRandomAccessList.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class
      new file mode 100644
      index 00000000000..caf7d34c937
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class
      new file mode 100644
      index 00000000000..75d4635b80a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedMap.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class
      new file mode 100644
      index 00000000000..d4c72daa5a7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections$UnmodifiableSortedSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Collections.class b/libjava/classpath/lib/java/util/Collections.class
      new file mode 100644
      index 00000000000..9572ce591b0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Collections.class differ
      diff --git a/libjava/classpath/lib/java/util/Comparator.class b/libjava/classpath/lib/java/util/Comparator.class
      new file mode 100644
      index 00000000000..383c9ce2499
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Comparator.class differ
      diff --git a/libjava/classpath/lib/java/util/ConcurrentModificationException.class b/libjava/classpath/lib/java/util/ConcurrentModificationException.class
      new file mode 100644
      index 00000000000..af324dcdc8f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ConcurrentModificationException.class differ
      diff --git a/libjava/classpath/lib/java/util/Currency.class b/libjava/classpath/lib/java/util/Currency.class
      new file mode 100644
      index 00000000000..147415ca1e9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Currency.class differ
      diff --git a/libjava/classpath/lib/java/util/Date.class b/libjava/classpath/lib/java/util/Date.class
      new file mode 100644
      index 00000000000..2ff812bb8b1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Date.class differ
      diff --git a/libjava/classpath/lib/java/util/Deque.class b/libjava/classpath/lib/java/util/Deque.class
      new file mode 100644
      index 00000000000..f45e3eff305
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Deque.class differ
      diff --git a/libjava/classpath/lib/java/util/Dictionary.class b/libjava/classpath/lib/java/util/Dictionary.class
      new file mode 100644
      index 00000000000..1f57252efd2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Dictionary.class differ
      diff --git a/libjava/classpath/lib/java/util/DuplicateFormatFlagsException.class b/libjava/classpath/lib/java/util/DuplicateFormatFlagsException.class
      new file mode 100644
      index 00000000000..9387ef70d49
      Binary files /dev/null and b/libjava/classpath/lib/java/util/DuplicateFormatFlagsException.class differ
      diff --git a/libjava/classpath/lib/java/util/EmptyStackException.class b/libjava/classpath/lib/java/util/EmptyStackException.class
      new file mode 100644
      index 00000000000..4169a8be330
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EmptyStackException.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$1.class b/libjava/classpath/lib/java/util/EnumMap$1.class
      new file mode 100644
      index 00000000000..c544880ffd7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$2.class b/libjava/classpath/lib/java/util/EnumMap$2.class
      new file mode 100644
      index 00000000000..048e6c3bc00
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$2.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$3.class b/libjava/classpath/lib/java/util/EnumMap$3.class
      new file mode 100644
      index 00000000000..d4b4b6f8cc0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$3.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$4.class b/libjava/classpath/lib/java/util/EnumMap$4.class
      new file mode 100644
      index 00000000000..01952a957f5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$4.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$5.class b/libjava/classpath/lib/java/util/EnumMap$5.class
      new file mode 100644
      index 00000000000..216c7a62c6a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$5.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$6.class b/libjava/classpath/lib/java/util/EnumMap$6.class
      new file mode 100644
      index 00000000000..a57a5d4a457
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$6.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap$7.class b/libjava/classpath/lib/java/util/EnumMap$7.class
      new file mode 100644
      index 00000000000..eaf8913e466
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap$7.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumMap.class b/libjava/classpath/lib/java/util/EnumMap.class
      new file mode 100644
      index 00000000000..d345b6baaf3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumMap.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumSet$1.class b/libjava/classpath/lib/java/util/EnumSet$1.class
      new file mode 100644
      index 00000000000..750d7200ced
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumSet$1.class differ
      diff --git a/libjava/classpath/lib/java/util/EnumSet.class b/libjava/classpath/lib/java/util/EnumSet.class
      new file mode 100644
      index 00000000000..b3a728b8191
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EnumSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Enumeration.class b/libjava/classpath/lib/java/util/Enumeration.class
      new file mode 100644
      index 00000000000..5791585d193
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Enumeration.class differ
      diff --git a/libjava/classpath/lib/java/util/EventListener.class b/libjava/classpath/lib/java/util/EventListener.class
      new file mode 100644
      index 00000000000..23dbfb8c861
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EventListener.class differ
      diff --git a/libjava/classpath/lib/java/util/EventListenerProxy.class b/libjava/classpath/lib/java/util/EventListenerProxy.class
      new file mode 100644
      index 00000000000..fb3eaead1c1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EventListenerProxy.class differ
      diff --git a/libjava/classpath/lib/java/util/EventObject.class b/libjava/classpath/lib/java/util/EventObject.class
      new file mode 100644
      index 00000000000..0e97ead8287
      Binary files /dev/null and b/libjava/classpath/lib/java/util/EventObject.class differ
      diff --git a/libjava/classpath/lib/java/util/FormatFlagsConversionMismatchException.class b/libjava/classpath/lib/java/util/FormatFlagsConversionMismatchException.class
      new file mode 100644
      index 00000000000..fac05d4ead8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/FormatFlagsConversionMismatchException.class differ
      diff --git a/libjava/classpath/lib/java/util/Formattable.class b/libjava/classpath/lib/java/util/Formattable.class
      new file mode 100644
      index 00000000000..ad80eaf3b65
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Formattable.class differ
      diff --git a/libjava/classpath/lib/java/util/FormattableFlags.class b/libjava/classpath/lib/java/util/FormattableFlags.class
      new file mode 100644
      index 00000000000..a19cd5d6106
      Binary files /dev/null and b/libjava/classpath/lib/java/util/FormattableFlags.class differ
      diff --git a/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class b/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class
      new file mode 100644
      index 00000000000..d8cb5810412
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Formatter$BigDecimalLayoutForm.class differ
      diff --git a/libjava/classpath/lib/java/util/Formatter.class b/libjava/classpath/lib/java/util/Formatter.class
      new file mode 100644
      index 00000000000..44bda981046
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Formatter.class differ
      diff --git a/libjava/classpath/lib/java/util/FormatterClosedException.class b/libjava/classpath/lib/java/util/FormatterClosedException.class
      new file mode 100644
      index 00000000000..1de6d1bbb22
      Binary files /dev/null and b/libjava/classpath/lib/java/util/FormatterClosedException.class differ
      diff --git a/libjava/classpath/lib/java/util/GregorianCalendar.class b/libjava/classpath/lib/java/util/GregorianCalendar.class
      new file mode 100644
      index 00000000000..00022634a16
      Binary files /dev/null and b/libjava/classpath/lib/java/util/GregorianCalendar.class differ
      diff --git a/libjava/classpath/lib/java/util/HashMap$1.class b/libjava/classpath/lib/java/util/HashMap$1.class
      new file mode 100644
      index 00000000000..cb5fe463ad8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/HashMap$2.class b/libjava/classpath/lib/java/util/HashMap$2.class
      new file mode 100644
      index 00000000000..663a1352804
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashMap$2.class differ
      diff --git a/libjava/classpath/lib/java/util/HashMap$3.class b/libjava/classpath/lib/java/util/HashMap$3.class
      new file mode 100644
      index 00000000000..9129a0cd9d3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashMap$3.class differ
      diff --git a/libjava/classpath/lib/java/util/HashMap$HashEntry.class b/libjava/classpath/lib/java/util/HashMap$HashEntry.class
      new file mode 100644
      index 00000000000..4890b63dd5b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashMap$HashEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/HashMap$HashIterator.class b/libjava/classpath/lib/java/util/HashMap$HashIterator.class
      new file mode 100644
      index 00000000000..26b8b695958
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashMap$HashIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/HashMap.class b/libjava/classpath/lib/java/util/HashMap.class
      new file mode 100644
      index 00000000000..9b0dd1c02dc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashMap.class differ
      diff --git a/libjava/classpath/lib/java/util/HashSet.class b/libjava/classpath/lib/java/util/HashSet.class
      new file mode 100644
      index 00000000000..dc57e6058c3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/HashSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$1.class b/libjava/classpath/lib/java/util/Hashtable$1.class
      new file mode 100644
      index 00000000000..ba860884126
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$1.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$2.class b/libjava/classpath/lib/java/util/Hashtable$2.class
      new file mode 100644
      index 00000000000..bc131702c8c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$2.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$3.class b/libjava/classpath/lib/java/util/Hashtable$3.class
      new file mode 100644
      index 00000000000..d8eaac5cecb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$3.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class b/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class
      new file mode 100644
      index 00000000000..2a725d7b00b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$EntryEnumerator.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class b/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class
      new file mode 100644
      index 00000000000..dc026b72ecb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$EntryIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$HashEntry.class b/libjava/classpath/lib/java/util/Hashtable$HashEntry.class
      new file mode 100644
      index 00000000000..a189fc772ef
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$HashEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class b/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class
      new file mode 100644
      index 00000000000..06640f181cb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$KeyEnumerator.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class b/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class
      new file mode 100644
      index 00000000000..eb6773b7ee9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$KeyIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class b/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class
      new file mode 100644
      index 00000000000..053860b29c9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$ValueEnumerator.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class b/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class
      new file mode 100644
      index 00000000000..234afd5b349
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable$ValueIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/Hashtable.class b/libjava/classpath/lib/java/util/Hashtable.class
      new file mode 100644
      index 00000000000..2bc8ff66345
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Hashtable.class differ
      diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$1.class b/libjava/classpath/lib/java/util/IdentityHashMap$1.class
      new file mode 100644
      index 00000000000..ce61a897032
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IdentityHashMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$2.class b/libjava/classpath/lib/java/util/IdentityHashMap$2.class
      new file mode 100644
      index 00000000000..602c07c705c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IdentityHashMap$2.class differ
      diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$3.class b/libjava/classpath/lib/java/util/IdentityHashMap$3.class
      new file mode 100644
      index 00000000000..bf9677531e1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IdentityHashMap$3.class differ
      diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class
      new file mode 100644
      index 00000000000..55da9bb65bc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class
      new file mode 100644
      index 00000000000..94ce525e316
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IdentityHashMap$IdentityIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/IdentityHashMap.class b/libjava/classpath/lib/java/util/IdentityHashMap.class
      new file mode 100644
      index 00000000000..cbcbfd8395c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IdentityHashMap.class differ
      diff --git a/libjava/classpath/lib/java/util/IllegalFormatCodePointException.class b/libjava/classpath/lib/java/util/IllegalFormatCodePointException.class
      new file mode 100644
      index 00000000000..da60018aff4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IllegalFormatCodePointException.class differ
      diff --git a/libjava/classpath/lib/java/util/IllegalFormatConversionException.class b/libjava/classpath/lib/java/util/IllegalFormatConversionException.class
      new file mode 100644
      index 00000000000..360e8833a62
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IllegalFormatConversionException.class differ
      diff --git a/libjava/classpath/lib/java/util/IllegalFormatException.class b/libjava/classpath/lib/java/util/IllegalFormatException.class
      new file mode 100644
      index 00000000000..31d0c040f41
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IllegalFormatException.class differ
      diff --git a/libjava/classpath/lib/java/util/IllegalFormatFlagsException.class b/libjava/classpath/lib/java/util/IllegalFormatFlagsException.class
      new file mode 100644
      index 00000000000..e00e72df7ac
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IllegalFormatFlagsException.class differ
      diff --git a/libjava/classpath/lib/java/util/IllegalFormatPrecisionException.class b/libjava/classpath/lib/java/util/IllegalFormatPrecisionException.class
      new file mode 100644
      index 00000000000..262d90434d8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IllegalFormatPrecisionException.class differ
      diff --git a/libjava/classpath/lib/java/util/IllegalFormatWidthException.class b/libjava/classpath/lib/java/util/IllegalFormatWidthException.class
      new file mode 100644
      index 00000000000..9c5edc893ed
      Binary files /dev/null and b/libjava/classpath/lib/java/util/IllegalFormatWidthException.class differ
      diff --git a/libjava/classpath/lib/java/util/InputMismatchException.class b/libjava/classpath/lib/java/util/InputMismatchException.class
      new file mode 100644
      index 00000000000..907991adeee
      Binary files /dev/null and b/libjava/classpath/lib/java/util/InputMismatchException.class differ
      diff --git a/libjava/classpath/lib/java/util/InvalidPropertiesFormatException.class b/libjava/classpath/lib/java/util/InvalidPropertiesFormatException.class
      new file mode 100644
      index 00000000000..54d6c7ee9d7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/InvalidPropertiesFormatException.class differ
      diff --git a/libjava/classpath/lib/java/util/Iterator.class b/libjava/classpath/lib/java/util/Iterator.class
      new file mode 100644
      index 00000000000..968d125f413
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Iterator.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedHashMap$1.class b/libjava/classpath/lib/java/util/LinkedHashMap$1.class
      new file mode 100644
      index 00000000000..4236600ebf1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedHashMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class b/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class
      new file mode 100644
      index 00000000000..2cc9b02751f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedHashMap$LinkedHashEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedHashMap.class b/libjava/classpath/lib/java/util/LinkedHashMap.class
      new file mode 100644
      index 00000000000..a0fa4813702
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedHashMap.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedHashSet.class b/libjava/classpath/lib/java/util/LinkedHashSet.class
      new file mode 100644
      index 00000000000..4e1e3335d6e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedHashSet.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedList$Entry.class b/libjava/classpath/lib/java/util/LinkedList$Entry.class
      new file mode 100644
      index 00000000000..8ba88eac5e1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedList$Entry.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class b/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class
      new file mode 100644
      index 00000000000..2ae4fd4146d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedList$LinkedListItr.class differ
      diff --git a/libjava/classpath/lib/java/util/LinkedList.class b/libjava/classpath/lib/java/util/LinkedList.class
      new file mode 100644
      index 00000000000..cf4b687bcbc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/LinkedList.class differ
      diff --git a/libjava/classpath/lib/java/util/List.class b/libjava/classpath/lib/java/util/List.class
      new file mode 100644
      index 00000000000..e7628961dac
      Binary files /dev/null and b/libjava/classpath/lib/java/util/List.class differ
      diff --git a/libjava/classpath/lib/java/util/ListIterator.class b/libjava/classpath/lib/java/util/ListIterator.class
      new file mode 100644
      index 00000000000..8b0be20e25f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ListIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/ListResourceBundle.class b/libjava/classpath/lib/java/util/ListResourceBundle.class
      new file mode 100644
      index 00000000000..dbb833eb69d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ListResourceBundle.class differ
      diff --git a/libjava/classpath/lib/java/util/Locale.class b/libjava/classpath/lib/java/util/Locale.class
      new file mode 100644
      index 00000000000..a095ba8e211
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Locale.class differ
      diff --git a/libjava/classpath/lib/java/util/Map$Entry.class b/libjava/classpath/lib/java/util/Map$Entry.class
      new file mode 100644
      index 00000000000..c2abbac57e4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Map$Entry.class differ
      diff --git a/libjava/classpath/lib/java/util/Map.class b/libjava/classpath/lib/java/util/Map.class
      new file mode 100644
      index 00000000000..27285a3f2b8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Map.class differ
      diff --git a/libjava/classpath/lib/java/util/MissingFormatArgumentException.class b/libjava/classpath/lib/java/util/MissingFormatArgumentException.class
      new file mode 100644
      index 00000000000..94bf0670981
      Binary files /dev/null and b/libjava/classpath/lib/java/util/MissingFormatArgumentException.class differ
      diff --git a/libjava/classpath/lib/java/util/MissingFormatWidthException.class b/libjava/classpath/lib/java/util/MissingFormatWidthException.class
      new file mode 100644
      index 00000000000..6d292cfea81
      Binary files /dev/null and b/libjava/classpath/lib/java/util/MissingFormatWidthException.class differ
      diff --git a/libjava/classpath/lib/java/util/MissingResourceException.class b/libjava/classpath/lib/java/util/MissingResourceException.class
      new file mode 100644
      index 00000000000..a8e0e27a915
      Binary files /dev/null and b/libjava/classpath/lib/java/util/MissingResourceException.class differ
      diff --git a/libjava/classpath/lib/java/util/NavigableMap.class b/libjava/classpath/lib/java/util/NavigableMap.class
      new file mode 100644
      index 00000000000..68c6a269e4f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/NavigableMap.class differ
      diff --git a/libjava/classpath/lib/java/util/NavigableSet.class b/libjava/classpath/lib/java/util/NavigableSet.class
      new file mode 100644
      index 00000000000..72a65c50a60
      Binary files /dev/null and b/libjava/classpath/lib/java/util/NavigableSet.class differ
      diff --git a/libjava/classpath/lib/java/util/NoSuchElementException.class b/libjava/classpath/lib/java/util/NoSuchElementException.class
      new file mode 100644
      index 00000000000..79dae1aadd8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/NoSuchElementException.class differ
      diff --git a/libjava/classpath/lib/java/util/Observable.class b/libjava/classpath/lib/java/util/Observable.class
      new file mode 100644
      index 00000000000..7987b00421e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Observable.class differ
      diff --git a/libjava/classpath/lib/java/util/Observer.class b/libjava/classpath/lib/java/util/Observer.class
      new file mode 100644
      index 00000000000..0ed0f59caaa
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Observer.class differ
      diff --git a/libjava/classpath/lib/java/util/PriorityQueue$1.class b/libjava/classpath/lib/java/util/PriorityQueue$1.class
      new file mode 100644
      index 00000000000..3fe7f98518a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/PriorityQueue$1.class differ
      diff --git a/libjava/classpath/lib/java/util/PriorityQueue.class b/libjava/classpath/lib/java/util/PriorityQueue.class
      new file mode 100644
      index 00000000000..7ec78c17297
      Binary files /dev/null and b/libjava/classpath/lib/java/util/PriorityQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/Properties.class b/libjava/classpath/lib/java/util/Properties.class
      new file mode 100644
      index 00000000000..708973306ae
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Properties.class differ
      diff --git a/libjava/classpath/lib/java/util/PropertyPermission.class b/libjava/classpath/lib/java/util/PropertyPermission.class
      new file mode 100644
      index 00000000000..ca564617da9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/PropertyPermission.class differ
      diff --git a/libjava/classpath/lib/java/util/PropertyPermissionCollection.class b/libjava/classpath/lib/java/util/PropertyPermissionCollection.class
      new file mode 100644
      index 00000000000..10123c26b52
      Binary files /dev/null and b/libjava/classpath/lib/java/util/PropertyPermissionCollection.class differ
      diff --git a/libjava/classpath/lib/java/util/PropertyResourceBundle.class b/libjava/classpath/lib/java/util/PropertyResourceBundle.class
      new file mode 100644
      index 00000000000..f47155d1ceb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/PropertyResourceBundle.class differ
      diff --git a/libjava/classpath/lib/java/util/Queue.class b/libjava/classpath/lib/java/util/Queue.class
      new file mode 100644
      index 00000000000..37f4e93fc61
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Queue.class differ
      diff --git a/libjava/classpath/lib/java/util/Random.class b/libjava/classpath/lib/java/util/Random.class
      new file mode 100644
      index 00000000000..9af54208312
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Random.class differ
      diff --git a/libjava/classpath/lib/java/util/RandomAccess.class b/libjava/classpath/lib/java/util/RandomAccess.class
      new file mode 100644
      index 00000000000..bba9b034d59
      Binary files /dev/null and b/libjava/classpath/lib/java/util/RandomAccess.class differ
      diff --git a/libjava/classpath/lib/java/util/ResourceBundle$1.class b/libjava/classpath/lib/java/util/ResourceBundle$1.class
      new file mode 100644
      index 00000000000..3dda2d717f9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ResourceBundle$1.class differ
      diff --git a/libjava/classpath/lib/java/util/ResourceBundle$BundleKey.class b/libjava/classpath/lib/java/util/ResourceBundle$BundleKey.class
      new file mode 100644
      index 00000000000..db9c41cc3fd
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ResourceBundle$BundleKey.class differ
      diff --git a/libjava/classpath/lib/java/util/ResourceBundle.class b/libjava/classpath/lib/java/util/ResourceBundle.class
      new file mode 100644
      index 00000000000..e78dd748d3a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/ResourceBundle.class differ
      diff --git a/libjava/classpath/lib/java/util/Set.class b/libjava/classpath/lib/java/util/Set.class
      new file mode 100644
      index 00000000000..3a26c1fd40c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Set.class differ
      diff --git a/libjava/classpath/lib/java/util/SimpleTimeZone.class b/libjava/classpath/lib/java/util/SimpleTimeZone.class
      new file mode 100644
      index 00000000000..7009b48ce9b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/SimpleTimeZone.class differ
      diff --git a/libjava/classpath/lib/java/util/SortedMap.class b/libjava/classpath/lib/java/util/SortedMap.class
      new file mode 100644
      index 00000000000..2421a067517
      Binary files /dev/null and b/libjava/classpath/lib/java/util/SortedMap.class differ
      diff --git a/libjava/classpath/lib/java/util/SortedSet.class b/libjava/classpath/lib/java/util/SortedSet.class
      new file mode 100644
      index 00000000000..6cb2646e0d1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/SortedSet.class differ
      diff --git a/libjava/classpath/lib/java/util/Stack.class b/libjava/classpath/lib/java/util/Stack.class
      new file mode 100644
      index 00000000000..9f511234476
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Stack.class differ
      diff --git a/libjava/classpath/lib/java/util/StringTokenizer.class b/libjava/classpath/lib/java/util/StringTokenizer.class
      new file mode 100644
      index 00000000000..d68abe7072e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/StringTokenizer.class differ
      diff --git a/libjava/classpath/lib/java/util/TimeZone$1.class b/libjava/classpath/lib/java/util/TimeZone$1.class
      new file mode 100644
      index 00000000000..fdc1c6149b5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TimeZone$1.class differ
      diff --git a/libjava/classpath/lib/java/util/TimeZone.class b/libjava/classpath/lib/java/util/TimeZone.class
      new file mode 100644
      index 00000000000..b319aa78861
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TimeZone.class differ
      diff --git a/libjava/classpath/lib/java/util/Timer$Scheduler.class b/libjava/classpath/lib/java/util/Timer$Scheduler.class
      new file mode 100644
      index 00000000000..2a108b55ba4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Timer$Scheduler.class differ
      diff --git a/libjava/classpath/lib/java/util/Timer$TaskQueue.class b/libjava/classpath/lib/java/util/Timer$TaskQueue.class
      new file mode 100644
      index 00000000000..9d1786b483a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Timer$TaskQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/Timer.class b/libjava/classpath/lib/java/util/Timer.class
      new file mode 100644
      index 00000000000..00be67abe8e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Timer.class differ
      diff --git a/libjava/classpath/lib/java/util/TimerTask.class b/libjava/classpath/lib/java/util/TimerTask.class
      new file mode 100644
      index 00000000000..879170e4ab9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TimerTask.class differ
      diff --git a/libjava/classpath/lib/java/util/TooManyListenersException.class b/libjava/classpath/lib/java/util/TooManyListenersException.class
      new file mode 100644
      index 00000000000..c09c5948d55
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TooManyListenersException.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$1.class b/libjava/classpath/lib/java/util/TreeMap$1.class
      new file mode 100644
      index 00000000000..7b987c3f13a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$2.class b/libjava/classpath/lib/java/util/TreeMap$2.class
      new file mode 100644
      index 00000000000..33e2fe776ab
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$2.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$3.class b/libjava/classpath/lib/java/util/TreeMap$3.class
      new file mode 100644
      index 00000000000..bb58f20661b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$3.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$4.class b/libjava/classpath/lib/java/util/TreeMap$4.class
      new file mode 100644
      index 00000000000..eb51c9a5e24
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$4.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$5.class b/libjava/classpath/lib/java/util/TreeMap$5.class
      new file mode 100644
      index 00000000000..6fb5ff26535
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$5.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$6.class b/libjava/classpath/lib/java/util/TreeMap$6.class
      new file mode 100644
      index 00000000000..40db18b2c16
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$6.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$Node.class b/libjava/classpath/lib/java/util/TreeMap$Node.class
      new file mode 100644
      index 00000000000..ac2641db35b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$SubMap.class b/libjava/classpath/lib/java/util/TreeMap$SubMap.class
      new file mode 100644
      index 00000000000..a50e686d5e4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$SubMap.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class b/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class
      new file mode 100644
      index 00000000000..34a4d3998dd
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap$TreeIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeMap.class b/libjava/classpath/lib/java/util/TreeMap.class
      new file mode 100644
      index 00000000000..b7200153556
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeMap.class differ
      diff --git a/libjava/classpath/lib/java/util/TreeSet.class b/libjava/classpath/lib/java/util/TreeSet.class
      new file mode 100644
      index 00000000000..4ee139a625b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/TreeSet.class differ
      diff --git a/libjava/classpath/lib/java/util/UUID.class b/libjava/classpath/lib/java/util/UUID.class
      new file mode 100644
      index 00000000000..3dd44c7a07b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/UUID.class differ
      diff --git a/libjava/classpath/lib/java/util/UnknownFormatConversionException.class b/libjava/classpath/lib/java/util/UnknownFormatConversionException.class
      new file mode 100644
      index 00000000000..5ed847ab2fb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/UnknownFormatConversionException.class differ
      diff --git a/libjava/classpath/lib/java/util/UnknownFormatFlagsException.class b/libjava/classpath/lib/java/util/UnknownFormatFlagsException.class
      new file mode 100644
      index 00000000000..03a94ece9e7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/UnknownFormatFlagsException.class differ
      diff --git a/libjava/classpath/lib/java/util/VMTimeZone.class b/libjava/classpath/lib/java/util/VMTimeZone.class
      new file mode 100644
      index 00000000000..351461d5ab7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/VMTimeZone.class differ
      diff --git a/libjava/classpath/lib/java/util/Vector$1.class b/libjava/classpath/lib/java/util/Vector$1.class
      new file mode 100644
      index 00000000000..28cbc58120f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Vector$1.class differ
      diff --git a/libjava/classpath/lib/java/util/Vector.class b/libjava/classpath/lib/java/util/Vector.class
      new file mode 100644
      index 00000000000..7fd06aeb7ba
      Binary files /dev/null and b/libjava/classpath/lib/java/util/Vector.class differ
      diff --git a/libjava/classpath/lib/java/util/WeakHashMap$1.class b/libjava/classpath/lib/java/util/WeakHashMap$1.class
      new file mode 100644
      index 00000000000..cc3e25f4183
      Binary files /dev/null and b/libjava/classpath/lib/java/util/WeakHashMap$1.class differ
      diff --git a/libjava/classpath/lib/java/util/WeakHashMap$2.class b/libjava/classpath/lib/java/util/WeakHashMap$2.class
      new file mode 100644
      index 00000000000..8690612995f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/WeakHashMap$2.class differ
      diff --git a/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class
      new file mode 100644
      index 00000000000..4d676465744
      Binary files /dev/null and b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket$WeakEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class
      new file mode 100644
      index 00000000000..fb4a59c3a89
      Binary files /dev/null and b/libjava/classpath/lib/java/util/WeakHashMap$WeakBucket.class differ
      diff --git a/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class b/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class
      new file mode 100644
      index 00000000000..8cc0ada10db
      Binary files /dev/null and b/libjava/classpath/lib/java/util/WeakHashMap$WeakEntrySet.class differ
      diff --git a/libjava/classpath/lib/java/util/WeakHashMap.class b/libjava/classpath/lib/java/util/WeakHashMap.class
      new file mode 100644
      index 00000000000..5f7f75bda70
      Binary files /dev/null and b/libjava/classpath/lib/java/util/WeakHashMap.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class b/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class
      new file mode 100644
      index 00000000000..a69ed7f1802
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/AbstractExecutorService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class
      new file mode 100644
      index 00000000000..34448ad781f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue$Itr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class
      new file mode 100644
      index 00000000000..4e9a1fccaa5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ArrayBlockingQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/BlockingDeque.class b/libjava/classpath/lib/java/util/concurrent/BlockingDeque.class
      new file mode 100644
      index 00000000000..35619689722
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/BlockingDeque.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/BlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/BlockingQueue.class
      new file mode 100644
      index 00000000000..338b6ea0692
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/BlockingQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/BrokenBarrierException.class b/libjava/classpath/lib/java/util/concurrent/BrokenBarrierException.class
      new file mode 100644
      index 00000000000..136818101df
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/BrokenBarrierException.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Callable.class b/libjava/classpath/lib/java/util/concurrent/Callable.class
      new file mode 100644
      index 00000000000..26e4dc2b1d5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Callable.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CancellationException.class b/libjava/classpath/lib/java/util/concurrent/CancellationException.class
      new file mode 100644
      index 00000000000..93b8b04e070
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CancellationException.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CompletionService.class b/libjava/classpath/lib/java/util/concurrent/CompletionService.class
      new file mode 100644
      index 00000000000..bcce3cc7230
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CompletionService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class
      new file mode 100644
      index 00000000000..94d83ba4fda
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntryIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class
      new file mode 100644
      index 00000000000..f664cb31a98
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$EntrySet.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class
      new file mode 100644
      index 00000000000..008edb97cc0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class
      new file mode 100644
      index 00000000000..f839fe1e943
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$HashIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class
      new file mode 100644
      index 00000000000..930b0c4803e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeyIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class
      new file mode 100644
      index 00000000000..48d0d953fa8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$KeySet.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class
      new file mode 100644
      index 00000000000..72ce7d378ff
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Segment.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class
      new file mode 100644
      index 00000000000..9a1193be9c2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$ValueIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class
      new file mode 100644
      index 00000000000..8342fe8ac70
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$Values.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class
      new file mode 100644
      index 00000000000..f173a6a1104
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class
      new file mode 100644
      index 00000000000..4bae5273d71
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentHashMap.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class
      new file mode 100644
      index 00000000000..7bac7bf4c33
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Itr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class
      new file mode 100644
      index 00000000000..44fca278cae
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class
      new file mode 100644
      index 00000000000..1333e0fa891
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentLinkedQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentMap.class
      new file mode 100644
      index 00000000000..5159f3ebc5e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentMap.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentNavigableMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentNavigableMap.class
      new file mode 100644
      index 00000000000..3df542cdf20
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentNavigableMap.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class
      new file mode 100644
      index 00000000000..bd1678b24c6
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class
      new file mode 100644
      index 00000000000..127267ceda4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class
      new file mode 100644
      index 00000000000..ddd5e390895
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$EntrySet.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class
      new file mode 100644
      index 00000000000..6a7317f4f43
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class
      new file mode 100644
      index 00000000000..131f1521ce1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Index.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class
      new file mode 100644
      index 00000000000..ff829b70c02
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Iter.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class
      new file mode 100644
      index 00000000000..3a681f758c4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class
      new file mode 100644
      index 00000000000..45ec44cd570
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$KeySet.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class
      new file mode 100644
      index 00000000000..7932e012edd
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class
      new file mode 100644
      index 00000000000..d822acfb7e5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class
      new file mode 100644
      index 00000000000..f8029d104b0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class
      new file mode 100644
      index 00000000000..167f856d393
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class
      new file mode 100644
      index 00000000000..6f4fe850850
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class
      new file mode 100644
      index 00000000000..0df084c891e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$SubMap.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class
      new file mode 100644
      index 00000000000..090424a6d7f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class
      new file mode 100644
      index 00000000000..c41c1364338
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap$Values.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class
      new file mode 100644
      index 00000000000..0f97e2d1949
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListMap.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class
      new file mode 100644
      index 00000000000..0d0436c2e3a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ConcurrentSkipListSet.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class
      new file mode 100644
      index 00000000000..872141fd91e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArrayList.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArraySet.class b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArraySet.class
      new file mode 100644
      index 00000000000..39a19098a5e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CopyOnWriteArraySet.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CountDownLatch$Sync.class b/libjava/classpath/lib/java/util/concurrent/CountDownLatch$Sync.class
      new file mode 100644
      index 00000000000..3361dcf06e5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CountDownLatch$Sync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CountDownLatch.class b/libjava/classpath/lib/java/util/concurrent/CountDownLatch.class
      new file mode 100644
      index 00000000000..c53b629526d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CountDownLatch.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CyclicBarrier$Generation.class b/libjava/classpath/lib/java/util/concurrent/CyclicBarrier$Generation.class
      new file mode 100644
      index 00000000000..79eba5bda57
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CyclicBarrier$Generation.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class b/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class
      new file mode 100644
      index 00000000000..1d696dac898
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/CyclicBarrier.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class
      new file mode 100644
      index 00000000000..69cc1be2720
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/DelayQueue$Itr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/DelayQueue.class b/libjava/classpath/lib/java/util/concurrent/DelayQueue.class
      new file mode 100644
      index 00000000000..1cde5a1ebd9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/DelayQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Delayed.class b/libjava/classpath/lib/java/util/concurrent/Delayed.class
      new file mode 100644
      index 00000000000..b0d8f02946b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Delayed.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class b/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class
      new file mode 100644
      index 00000000000..9a09064198d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Exchanger$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class b/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class
      new file mode 100644
      index 00000000000..3cad8cba03a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Exchanger$Slot.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Exchanger.class b/libjava/classpath/lib/java/util/concurrent/Exchanger.class
      new file mode 100644
      index 00000000000..b09da8fe292
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Exchanger.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ExecutionException.class b/libjava/classpath/lib/java/util/concurrent/ExecutionException.class
      new file mode 100644
      index 00000000000..2e96d9e1f3e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ExecutionException.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executor.class b/libjava/classpath/lib/java/util/concurrent/Executor.class
      new file mode 100644
      index 00000000000..1825342ee4b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executor.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class
      new file mode 100644
      index 00000000000..ff161bcf09d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService$QueueingFuture.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class
      new file mode 100644
      index 00000000000..29a85f23714
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ExecutorCompletionService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ExecutorService.class b/libjava/classpath/lib/java/util/concurrent/ExecutorService.class
      new file mode 100644
      index 00000000000..715688e7c2c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ExecutorService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$1.class b/libjava/classpath/lib/java/util/concurrent/Executors$1.class
      new file mode 100644
      index 00000000000..160a59976c5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$1.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$2.class b/libjava/classpath/lib/java/util/concurrent/Executors$2.class
      new file mode 100644
      index 00000000000..1ba9e058c66
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$2.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$3.class b/libjava/classpath/lib/java/util/concurrent/Executors$3.class
      new file mode 100644
      index 00000000000..ac883943174
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$3.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$4.class b/libjava/classpath/lib/java/util/concurrent/Executors$4.class
      new file mode 100644
      index 00000000000..3710ff4a51d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$4.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$5.class b/libjava/classpath/lib/java/util/concurrent/Executors$5.class
      new file mode 100644
      index 00000000000..0e68c05ebeb
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$5.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$6.class b/libjava/classpath/lib/java/util/concurrent/Executors$6.class
      new file mode 100644
      index 00000000000..513629eaf2d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$6.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$DefaultThreadFactory.class b/libjava/classpath/lib/java/util/concurrent/Executors$DefaultThreadFactory.class
      new file mode 100644
      index 00000000000..bdd1e9d6207
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$DefaultThreadFactory.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedExecutorService.class b/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedExecutorService.class
      new file mode 100644
      index 00000000000..9e1743058a9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedExecutorService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class b/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class
      new file mode 100644
      index 00000000000..df0646e8f91
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$DelegatedScheduledExecutorService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class b/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class
      new file mode 100644
      index 00000000000..25c94828b63
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class
      new file mode 100644
      index 00000000000..4493b4361b2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallable.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class
      new file mode 100644
      index 00000000000..9fb1beeae7d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class
      new file mode 100644
      index 00000000000..4b9d5843db2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$PrivilegedThreadFactory.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class b/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class
      new file mode 100644
      index 00000000000..107b0dede3a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors$RunnableAdapter.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Executors.class b/libjava/classpath/lib/java/util/concurrent/Executors.class
      new file mode 100644
      index 00000000000..d9fda7804ce
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Executors.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Future.class b/libjava/classpath/lib/java/util/concurrent/Future.class
      new file mode 100644
      index 00000000000..c274956b924
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Future.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/FutureTask$Sync.class b/libjava/classpath/lib/java/util/concurrent/FutureTask$Sync.class
      new file mode 100644
      index 00000000000..923c93cfc37
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/FutureTask$Sync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/FutureTask.class b/libjava/classpath/lib/java/util/concurrent/FutureTask.class
      new file mode 100644
      index 00000000000..17fe0cc7df2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/FutureTask.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class
      new file mode 100644
      index 00000000000..58a725789e6
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$AbstractItr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class
      new file mode 100644
      index 00000000000..d6b87259a43
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$DescendingItr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class
      new file mode 100644
      index 00000000000..3436e467785
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Itr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class
      new file mode 100644
      index 00000000000..a8cf1938902
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class
      new file mode 100644
      index 00000000000..cd8bb1c18d2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingDeque.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class
      new file mode 100644
      index 00000000000..4870d6a3306
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Itr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class
      new file mode 100644
      index 00000000000..2d591b479ae
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class
      new file mode 100644
      index 00000000000..bf0851c3e80
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/LinkedBlockingQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class
      new file mode 100644
      index 00000000000..48da2c113c7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue$Itr.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class
      new file mode 100644
      index 00000000000..5184f2c139f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/PriorityBlockingQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/RejectedExecutionException.class b/libjava/classpath/lib/java/util/concurrent/RejectedExecutionException.class
      new file mode 100644
      index 00000000000..57f1c1a401e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/RejectedExecutionException.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/RejectedExecutionHandler.class b/libjava/classpath/lib/java/util/concurrent/RejectedExecutionHandler.class
      new file mode 100644
      index 00000000000..05e10edd111
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/RejectedExecutionHandler.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/RunnableFuture.class b/libjava/classpath/lib/java/util/concurrent/RunnableFuture.class
      new file mode 100644
      index 00000000000..bde8429163f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/RunnableFuture.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/RunnableScheduledFuture.class b/libjava/classpath/lib/java/util/concurrent/RunnableScheduledFuture.class
      new file mode 100644
      index 00000000000..79895789f04
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/RunnableScheduledFuture.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledExecutorService.class b/libjava/classpath/lib/java/util/concurrent/ScheduledExecutorService.class
      new file mode 100644
      index 00000000000..0266970951a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ScheduledExecutorService.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledFuture.class b/libjava/classpath/lib/java/util/concurrent/ScheduledFuture.class
      new file mode 100644
      index 00000000000..31ef0bcb3da
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ScheduledFuture.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class
      new file mode 100644
      index 00000000000..6aef91f7047
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$1.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class
      new file mode 100644
      index 00000000000..424908fa899
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class
      new file mode 100644
      index 00000000000..1870955841c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class
      new file mode 100644
      index 00000000000..af4be7284dc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ScheduledThreadPoolExecutor.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class b/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class
      new file mode 100644
      index 00000000000..8a216087fe3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Semaphore$FairSync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class b/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class
      new file mode 100644
      index 00000000000..60b43e7318e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Semaphore$NonfairSync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore$Sync.class b/libjava/classpath/lib/java/util/concurrent/Semaphore$Sync.class
      new file mode 100644
      index 00000000000..d5d17a761e8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Semaphore$Sync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/Semaphore.class b/libjava/classpath/lib/java/util/concurrent/Semaphore.class
      new file mode 100644
      index 00000000000..f8ede27ed36
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/Semaphore.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class
      new file mode 100644
      index 00000000000..30927f1d8a4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$EmptyIterator.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class
      new file mode 100644
      index 00000000000..017a009958e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$FifoWaitQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class
      new file mode 100644
      index 00000000000..65229c5c414
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$LifoWaitQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class
      new file mode 100644
      index 00000000000..8ad18e5da0c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class
      new file mode 100644
      index 00000000000..ad5ce500523
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class
      new file mode 100644
      index 00000000000..ff35ef69fe7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack$SNode.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class
      new file mode 100644
      index 00000000000..596ee4ed48b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$TransferStack.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$Transferer.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$Transferer.class
      new file mode 100644
      index 00000000000..683dbd0e2fd
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$Transferer.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$WaitQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$WaitQueue.class
      new file mode 100644
      index 00000000000..4376857a648
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue$WaitQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class
      new file mode 100644
      index 00000000000..e588a6a6c34
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/SynchronousQueue.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadFactory.class b/libjava/classpath/lib/java/util/concurrent/ThreadFactory.class
      new file mode 100644
      index 00000000000..4c7b03d82e9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadFactory.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.class
      new file mode 100644
      index 00000000000..1ac78c63b24
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.class
      new file mode 100644
      index 00000000000..36fca630afd
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.class
      new file mode 100644
      index 00000000000..a824a2cde1b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.class
      new file mode 100644
      index 00000000000..2158069a62a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$Worker.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$Worker.class
      new file mode 100644
      index 00000000000..b903f8aaf82
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor$Worker.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class
      new file mode 100644
      index 00000000000..f76017d3116
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/ThreadPoolExecutor.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class
      new file mode 100644
      index 00000000000..8218f2613d3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$1.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class
      new file mode 100644
      index 00000000000..405fe63c28b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$2.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class
      new file mode 100644
      index 00000000000..6e94184b3c3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$3.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class
      new file mode 100644
      index 00000000000..079bfb010c2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$4.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class
      new file mode 100644
      index 00000000000..50d5a6059fe
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$5.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class
      new file mode 100644
      index 00000000000..a2232a58b68
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$6.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class
      new file mode 100644
      index 00000000000..81d600f26c5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit$7.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeUnit.class b/libjava/classpath/lib/java/util/concurrent/TimeUnit.class
      new file mode 100644
      index 00000000000..cd4b852a2d9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeUnit.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/TimeoutException.class b/libjava/classpath/lib/java/util/concurrent/TimeoutException.class
      new file mode 100644
      index 00000000000..7438a73743f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/TimeoutException.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicBoolean.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicBoolean.class
      new file mode 100644
      index 00000000000..15962486e10
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicBoolean.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicInteger.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicInteger.class
      new file mode 100644
      index 00000000000..4130c91f22b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicInteger.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerArray.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerArray.class
      new file mode 100644
      index 00000000000..dd17939ab6c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerArray.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class
      new file mode 100644
      index 00000000000..53e2016bd69
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class
      new file mode 100644
      index 00000000000..8d308e62cb8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLong.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLong.class
      new file mode 100644
      index 00000000000..09ff7f24edc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLong.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongArray.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongArray.class
      new file mode 100644
      index 00000000000..c9bd82218ea
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongArray.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class
      new file mode 100644
      index 00000000000..d7a74744bd0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class
      new file mode 100644
      index 00000000000..fcb0248ba87
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class
      new file mode 100644
      index 00000000000..210ad225bc3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicLongFieldUpdater.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class
      new file mode 100644
      index 00000000000..edbf9a91a9b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class
      new file mode 100644
      index 00000000000..ec9b2541af9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicMarkableReference.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReference.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReference.class
      new file mode 100644
      index 00000000000..88235268362
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReference.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceArray.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceArray.class
      new file mode 100644
      index 00000000000..01351e4713e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceArray.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class
      new file mode 100644
      index 00000000000..8b08736f736
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class
      new file mode 100644
      index 00000000000..52637d075c4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class
      new file mode 100644
      index 00000000000..748d36df8c7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class
      new file mode 100644
      index 00000000000..0976ccb8dc4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/atomic/AtomicStampedReference.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractOwnableSynchronizer.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractOwnableSynchronizer.class
      new file mode 100644
      index 00000000000..571f6d143da
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractOwnableSynchronizer.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class
      new file mode 100644
      index 00000000000..4154702abd5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.class
      new file mode 100644
      index 00000000000..9990a3177c0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class
      new file mode 100644
      index 00000000000..0bad6f58f33
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class
      new file mode 100644
      index 00000000000..3d9ff37cd98
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.class
      new file mode 100644
      index 00000000000..caf62dd3855
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class
      new file mode 100644
      index 00000000000..f350fdaa9b5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/AbstractQueuedSynchronizer.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/Condition.class b/libjava/classpath/lib/java/util/concurrent/locks/Condition.class
      new file mode 100644
      index 00000000000..94057fe7727
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/Condition.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/Lock.class b/libjava/classpath/lib/java/util/concurrent/locks/Lock.class
      new file mode 100644
      index 00000000000..52097e97ecf
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/Lock.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/LockSupport.class b/libjava/classpath/lib/java/util/concurrent/locks/LockSupport.class
      new file mode 100644
      index 00000000000..86b2ae0e38d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/LockSupport.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReadWriteLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReadWriteLock.class
      new file mode 100644
      index 00000000000..e216ab413c9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReadWriteLock.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class
      new file mode 100644
      index 00000000000..981d4c0593a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$FairSync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class
      new file mode 100644
      index 00000000000..de58e12e64b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$NonfairSync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class
      new file mode 100644
      index 00000000000..e2e8a063bd6
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock$Sync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class
      new file mode 100644
      index 00000000000..99eb8178bab
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantLock.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class
      new file mode 100644
      index 00000000000..42bf02b2477
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class
      new file mode 100644
      index 00000000000..7ade70dcdd3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class
      new file mode 100644
      index 00000000000..902ae0f419d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.class
      new file mode 100644
      index 00000000000..11ae1ecd371
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class
      new file mode 100644
      index 00000000000..992969a4787
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class
      new file mode 100644
      index 00000000000..dfec8fcec0a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class
      new file mode 100644
      index 00000000000..09b514b71aa
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.class differ
      diff --git a/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class
      new file mode 100644
      index 00000000000..221e7097e2b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/concurrent/locks/ReentrantReadWriteLock.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/Attributes$Name.class b/libjava/classpath/lib/java/util/jar/Attributes$Name.class
      new file mode 100644
      index 00000000000..c91f94f3f54
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/Attributes$Name.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/Attributes.class b/libjava/classpath/lib/java/util/jar/Attributes.class
      new file mode 100644
      index 00000000000..a7e7569f52f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/Attributes.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarEntry.class b/libjava/classpath/lib/java/util/jar/JarEntry.class
      new file mode 100644
      index 00000000000..0ae4b9728b7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarException.class b/libjava/classpath/lib/java/util/jar/JarException.class
      new file mode 100644
      index 00000000000..7c42b7b1a16
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarException.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class b/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class
      new file mode 100644
      index 00000000000..77805bda356
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarFile$EntryInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class b/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class
      new file mode 100644
      index 00000000000..871be671067
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarFile$JarEnumeration.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarFile.class b/libjava/classpath/lib/java/util/jar/JarFile.class
      new file mode 100644
      index 00000000000..0ab0c3293be
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarFile.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarInputStream.class b/libjava/classpath/lib/java/util/jar/JarInputStream.class
      new file mode 100644
      index 00000000000..5646f3d67cc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/JarOutputStream.class b/libjava/classpath/lib/java/util/jar/JarOutputStream.class
      new file mode 100644
      index 00000000000..fc5cd4efbe8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/JarOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/jar/Manifest.class b/libjava/classpath/lib/java/util/jar/Manifest.class
      new file mode 100644
      index 00000000000..0f95a3a02ce
      Binary files /dev/null and b/libjava/classpath/lib/java/util/jar/Manifest.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/ConsoleHandler.class b/libjava/classpath/lib/java/util/logging/ConsoleHandler.class
      new file mode 100644
      index 00000000000..c1016c61ddc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/ConsoleHandler.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/ErrorManager.class b/libjava/classpath/lib/java/util/logging/ErrorManager.class
      new file mode 100644
      index 00000000000..a61eb2e4e60
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/ErrorManager.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/FileHandler$ostr.class b/libjava/classpath/lib/java/util/logging/FileHandler$ostr.class
      new file mode 100644
      index 00000000000..b89bb0edc3d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/FileHandler$ostr.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/FileHandler.class b/libjava/classpath/lib/java/util/logging/FileHandler.class
      new file mode 100644
      index 00000000000..7cb9151e1d5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/FileHandler.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/Filter.class b/libjava/classpath/lib/java/util/logging/Filter.class
      new file mode 100644
      index 00000000000..4f1182c5e5a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/Filter.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/Formatter.class b/libjava/classpath/lib/java/util/logging/Formatter.class
      new file mode 100644
      index 00000000000..f2179df367d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/Formatter.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/Handler.class b/libjava/classpath/lib/java/util/logging/Handler.class
      new file mode 100644
      index 00000000000..791448fd41f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/Handler.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/Level.class b/libjava/classpath/lib/java/util/logging/Level.class
      new file mode 100644
      index 00000000000..63159fcfe51
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/Level.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/LogManager$1.class b/libjava/classpath/lib/java/util/logging/LogManager$1.class
      new file mode 100644
      index 00000000000..39d0992a0ab
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/LogManager$1.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/LogManager.class b/libjava/classpath/lib/java/util/logging/LogManager.class
      new file mode 100644
      index 00000000000..7f93b8af931
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/LogManager.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/LogRecord.class b/libjava/classpath/lib/java/util/logging/LogRecord.class
      new file mode 100644
      index 00000000000..35fba9e9c25
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/LogRecord.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/Logger$1.class b/libjava/classpath/lib/java/util/logging/Logger$1.class
      new file mode 100644
      index 00000000000..75e2200420c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/Logger$1.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/Logger.class b/libjava/classpath/lib/java/util/logging/Logger.class
      new file mode 100644
      index 00000000000..ab5acbc9ea3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/Logger.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/LoggingMXBean.class b/libjava/classpath/lib/java/util/logging/LoggingMXBean.class
      new file mode 100644
      index 00000000000..07e36eea48b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/LoggingMXBean.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/LoggingPermission.class b/libjava/classpath/lib/java/util/logging/LoggingPermission.class
      new file mode 100644
      index 00000000000..e6d4caf8eb5
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/LoggingPermission.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/MemoryHandler.class b/libjava/classpath/lib/java/util/logging/MemoryHandler.class
      new file mode 100644
      index 00000000000..80e0099c73c
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/MemoryHandler.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/SimpleFormatter.class b/libjava/classpath/lib/java/util/logging/SimpleFormatter.class
      new file mode 100644
      index 00000000000..b484f73937d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/SimpleFormatter.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/SocketHandler.class b/libjava/classpath/lib/java/util/logging/SocketHandler.class
      new file mode 100644
      index 00000000000..fa90dee6f7e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/SocketHandler.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/StreamHandler.class b/libjava/classpath/lib/java/util/logging/StreamHandler.class
      new file mode 100644
      index 00000000000..daeda91edb3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/StreamHandler.class differ
      diff --git a/libjava/classpath/lib/java/util/logging/XMLFormatter.class b/libjava/classpath/lib/java/util/logging/XMLFormatter.class
      new file mode 100644
      index 00000000000..fd47a7d08c3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/logging/XMLFormatter.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class
      new file mode 100644
      index 00000000000..0f2ec9517e2
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$1.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class
      new file mode 100644
      index 00000000000..596a22a8895
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/AbstractPreferences$2.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class b/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class
      new file mode 100644
      index 00000000000..b8537d1745a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/AbstractPreferences.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/BackingStoreException.class b/libjava/classpath/lib/java/util/prefs/BackingStoreException.class
      new file mode 100644
      index 00000000000..70fc6df4e47
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/BackingStoreException.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/InvalidPreferencesFormatException.class b/libjava/classpath/lib/java/util/prefs/InvalidPreferencesFormatException.class
      new file mode 100644
      index 00000000000..5ac6f879942
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/InvalidPreferencesFormatException.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/NodeChangeEvent.class b/libjava/classpath/lib/java/util/prefs/NodeChangeEvent.class
      new file mode 100644
      index 00000000000..dff7ba5c7ad
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/NodeChangeEvent.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/NodeChangeListener.class b/libjava/classpath/lib/java/util/prefs/NodeChangeListener.class
      new file mode 100644
      index 00000000000..698f176aaea
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/NodeChangeListener.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/PreferenceChangeEvent.class b/libjava/classpath/lib/java/util/prefs/PreferenceChangeEvent.class
      new file mode 100644
      index 00000000000..6f4bc424e47
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/PreferenceChangeEvent.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/PreferenceChangeListener.class b/libjava/classpath/lib/java/util/prefs/PreferenceChangeListener.class
      new file mode 100644
      index 00000000000..ffcbb0207bc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/PreferenceChangeListener.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/Preferences$1.class b/libjava/classpath/lib/java/util/prefs/Preferences$1.class
      new file mode 100644
      index 00000000000..00f0be17c23
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/Preferences$1.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/Preferences.class b/libjava/classpath/lib/java/util/prefs/Preferences.class
      new file mode 100644
      index 00000000000..bf687b05cc0
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/Preferences.class differ
      diff --git a/libjava/classpath/lib/java/util/prefs/PreferencesFactory.class b/libjava/classpath/lib/java/util/prefs/PreferencesFactory.class
      new file mode 100644
      index 00000000000..2243ca51597
      Binary files /dev/null and b/libjava/classpath/lib/java/util/prefs/PreferencesFactory.class differ
      diff --git a/libjava/classpath/lib/java/util/regex/MatchResult.class b/libjava/classpath/lib/java/util/regex/MatchResult.class
      new file mode 100644
      index 00000000000..064c64a293a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/regex/MatchResult.class differ
      diff --git a/libjava/classpath/lib/java/util/regex/Matcher.class b/libjava/classpath/lib/java/util/regex/Matcher.class
      new file mode 100644
      index 00000000000..6cb429c6fb8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/regex/Matcher.class differ
      diff --git a/libjava/classpath/lib/java/util/regex/Pattern.class b/libjava/classpath/lib/java/util/regex/Pattern.class
      new file mode 100644
      index 00000000000..47e212b2226
      Binary files /dev/null and b/libjava/classpath/lib/java/util/regex/Pattern.class differ
      diff --git a/libjava/classpath/lib/java/util/regex/PatternSyntaxException.class b/libjava/classpath/lib/java/util/regex/PatternSyntaxException.class
      new file mode 100644
      index 00000000000..39d83b676e3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/regex/PatternSyntaxException.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/Adler32.class b/libjava/classpath/lib/java/util/zip/Adler32.class
      new file mode 100644
      index 00000000000..442ff469b1e
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/Adler32.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/CRC32.class b/libjava/classpath/lib/java/util/zip/CRC32.class
      new file mode 100644
      index 00000000000..648d071d88b
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/CRC32.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/CheckedInputStream.class b/libjava/classpath/lib/java/util/zip/CheckedInputStream.class
      new file mode 100644
      index 00000000000..ebc47507816
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/CheckedInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/CheckedOutputStream.class b/libjava/classpath/lib/java/util/zip/CheckedOutputStream.class
      new file mode 100644
      index 00000000000..c1cb1101af1
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/CheckedOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/Checksum.class b/libjava/classpath/lib/java/util/zip/Checksum.class
      new file mode 100644
      index 00000000000..f30eab3a199
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/Checksum.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/DataFormatException.class b/libjava/classpath/lib/java/util/zip/DataFormatException.class
      new file mode 100644
      index 00000000000..2cc399771e3
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/DataFormatException.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/Deflater.class b/libjava/classpath/lib/java/util/zip/Deflater.class
      new file mode 100644
      index 00000000000..7082243dd88
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/Deflater.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/DeflaterOutputStream.class b/libjava/classpath/lib/java/util/zip/DeflaterOutputStream.class
      new file mode 100644
      index 00000000000..7dc0cab62c4
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/DeflaterOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/GZIPInputStream.class b/libjava/classpath/lib/java/util/zip/GZIPInputStream.class
      new file mode 100644
      index 00000000000..a6509e756f8
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/GZIPInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/GZIPOutputStream.class b/libjava/classpath/lib/java/util/zip/GZIPOutputStream.class
      new file mode 100644
      index 00000000000..debc1c134e9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/GZIPOutputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/Inflater.class b/libjava/classpath/lib/java/util/zip/Inflater.class
      new file mode 100644
      index 00000000000..ec1bc7f84bc
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/Inflater.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/InflaterInputStream.class b/libjava/classpath/lib/java/util/zip/InflaterInputStream.class
      new file mode 100644
      index 00000000000..d0f6de8fcf7
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/InflaterInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipConstants.class b/libjava/classpath/lib/java/util/zip/ZipConstants.class
      new file mode 100644
      index 00000000000..485b7dac58f
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipConstants.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipEntry.class b/libjava/classpath/lib/java/util/zip/ZipEntry.class
      new file mode 100644
      index 00000000000..dc9b197e812
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipEntry.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipException.class b/libjava/classpath/lib/java/util/zip/ZipException.class
      new file mode 100644
      index 00000000000..dcc54826f05
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipException.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipFile$1.class b/libjava/classpath/lib/java/util/zip/ZipFile$1.class
      new file mode 100644
      index 00000000000..f37b498a13d
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipFile$1.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipFile$PartialInputStream.class b/libjava/classpath/lib/java/util/zip/ZipFile$PartialInputStream.class
      new file mode 100644
      index 00000000000..cc7dcd68600
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipFile$PartialInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class b/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class
      new file mode 100644
      index 00000000000..85c08376104
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipFile$ZipEntryEnumeration.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipFile.class b/libjava/classpath/lib/java/util/zip/ZipFile.class
      new file mode 100644
      index 00000000000..c73ebec6e4a
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipFile.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipInputStream.class b/libjava/classpath/lib/java/util/zip/ZipInputStream.class
      new file mode 100644
      index 00000000000..3865420d226
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipInputStream.class differ
      diff --git a/libjava/classpath/lib/java/util/zip/ZipOutputStream.class b/libjava/classpath/lib/java/util/zip/ZipOutputStream.class
      new file mode 100644
      index 00000000000..616b27120a9
      Binary files /dev/null and b/libjava/classpath/lib/java/util/zip/ZipOutputStream.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/Accessible.class b/libjava/classpath/lib/javax/accessibility/Accessible.class
      new file mode 100644
      index 00000000000..fe2199fd14a
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/Accessible.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleAction.class b/libjava/classpath/lib/javax/accessibility/AccessibleAction.class
      new file mode 100644
      index 00000000000..149eef17101
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleAction.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleAttributeSequence.class b/libjava/classpath/lib/javax/accessibility/AccessibleAttributeSequence.class
      new file mode 100644
      index 00000000000..2bd35220370
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleAttributeSequence.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleBundle.class b/libjava/classpath/lib/javax/accessibility/AccessibleBundle.class
      new file mode 100644
      index 00000000000..a99befe6fe3
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleBundle.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleComponent.class b/libjava/classpath/lib/javax/accessibility/AccessibleComponent.class
      new file mode 100644
      index 00000000000..73707b7a63c
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleComponent.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleContext.class b/libjava/classpath/lib/javax/accessibility/AccessibleContext.class
      new file mode 100644
      index 00000000000..5452cfac4d6
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleContext.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleEditableText.class b/libjava/classpath/lib/javax/accessibility/AccessibleEditableText.class
      new file mode 100644
      index 00000000000..8b3df93fcc4
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleEditableText.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleExtendedComponent.class b/libjava/classpath/lib/javax/accessibility/AccessibleExtendedComponent.class
      new file mode 100644
      index 00000000000..65f698c6fe7
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleExtendedComponent.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleExtendedTable.class b/libjava/classpath/lib/javax/accessibility/AccessibleExtendedTable.class
      new file mode 100644
      index 00000000000..8f5c69c1f4c
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleExtendedTable.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleExtendedText.class b/libjava/classpath/lib/javax/accessibility/AccessibleExtendedText.class
      new file mode 100644
      index 00000000000..a88e57ff2f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleExtendedText.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleHyperlink.class b/libjava/classpath/lib/javax/accessibility/AccessibleHyperlink.class
      new file mode 100644
      index 00000000000..2704bc4708b
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleHyperlink.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleHypertext.class b/libjava/classpath/lib/javax/accessibility/AccessibleHypertext.class
      new file mode 100644
      index 00000000000..c51f9b7de51
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleHypertext.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleIcon.class b/libjava/classpath/lib/javax/accessibility/AccessibleIcon.class
      new file mode 100644
      index 00000000000..6057d36ec03
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleIcon.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleKeyBinding.class b/libjava/classpath/lib/javax/accessibility/AccessibleKeyBinding.class
      new file mode 100644
      index 00000000000..fe9b740151b
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleKeyBinding.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleRelation.class b/libjava/classpath/lib/javax/accessibility/AccessibleRelation.class
      new file mode 100644
      index 00000000000..944cfb427da
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleRelation.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleRelationSet.class b/libjava/classpath/lib/javax/accessibility/AccessibleRelationSet.class
      new file mode 100644
      index 00000000000..43fb3c7b5de
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleRelationSet.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleResourceBundle.class b/libjava/classpath/lib/javax/accessibility/AccessibleResourceBundle.class
      new file mode 100644
      index 00000000000..63deb244e15
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleResourceBundle.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleRole.class b/libjava/classpath/lib/javax/accessibility/AccessibleRole.class
      new file mode 100644
      index 00000000000..d05eefb9166
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleRole.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleSelection.class b/libjava/classpath/lib/javax/accessibility/AccessibleSelection.class
      new file mode 100644
      index 00000000000..254cd3fb28c
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleSelection.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleState.class b/libjava/classpath/lib/javax/accessibility/AccessibleState.class
      new file mode 100644
      index 00000000000..513cebedf08
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleState.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleStateSet.class b/libjava/classpath/lib/javax/accessibility/AccessibleStateSet.class
      new file mode 100644
      index 00000000000..68fbea36061
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleStateSet.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleStreamable.class b/libjava/classpath/lib/javax/accessibility/AccessibleStreamable.class
      new file mode 100644
      index 00000000000..c133956ab7c
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleStreamable.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleTable.class b/libjava/classpath/lib/javax/accessibility/AccessibleTable.class
      new file mode 100644
      index 00000000000..68263adba35
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleTable.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleTableModelChange.class b/libjava/classpath/lib/javax/accessibility/AccessibleTableModelChange.class
      new file mode 100644
      index 00000000000..a45d84a143b
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleTableModelChange.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleText.class b/libjava/classpath/lib/javax/accessibility/AccessibleText.class
      new file mode 100644
      index 00000000000..d67789427ba
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleText.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleTextSequence.class b/libjava/classpath/lib/javax/accessibility/AccessibleTextSequence.class
      new file mode 100644
      index 00000000000..b0fd35da23e
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleTextSequence.class differ
      diff --git a/libjava/classpath/lib/javax/accessibility/AccessibleValue.class b/libjava/classpath/lib/javax/accessibility/AccessibleValue.class
      new file mode 100644
      index 00000000000..a44fc858760
      Binary files /dev/null and b/libjava/classpath/lib/javax/accessibility/AccessibleValue.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/BadPaddingException.class b/libjava/classpath/lib/javax/crypto/BadPaddingException.class
      new file mode 100644
      index 00000000000..57c28489f14
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/BadPaddingException.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/Cipher.class b/libjava/classpath/lib/javax/crypto/Cipher.class
      new file mode 100644
      index 00000000000..4d7b5a63913
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/Cipher.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/CipherInputStream.class b/libjava/classpath/lib/javax/crypto/CipherInputStream.class
      new file mode 100644
      index 00000000000..112cdecf4d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/CipherInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/CipherOutputStream.class b/libjava/classpath/lib/javax/crypto/CipherOutputStream.class
      new file mode 100644
      index 00000000000..d2d61e23bf1
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/CipherOutputStream.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/CipherSpi.class b/libjava/classpath/lib/javax/crypto/CipherSpi.class
      new file mode 100644
      index 00000000000..c1d63cf7d10
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/CipherSpi.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/EncryptedPrivateKeyInfo.class b/libjava/classpath/lib/javax/crypto/EncryptedPrivateKeyInfo.class
      new file mode 100644
      index 00000000000..60255e20619
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/EncryptedPrivateKeyInfo.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/ExemptionMechanism.class b/libjava/classpath/lib/javax/crypto/ExemptionMechanism.class
      new file mode 100644
      index 00000000000..55bf46537bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/ExemptionMechanism.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/ExemptionMechanismException.class b/libjava/classpath/lib/javax/crypto/ExemptionMechanismException.class
      new file mode 100644
      index 00000000000..8a46deba0e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/ExemptionMechanismException.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/ExemptionMechanismSpi.class b/libjava/classpath/lib/javax/crypto/ExemptionMechanismSpi.class
      new file mode 100644
      index 00000000000..dd1c33fe585
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/ExemptionMechanismSpi.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/IllegalBlockSizeException.class b/libjava/classpath/lib/javax/crypto/IllegalBlockSizeException.class
      new file mode 100644
      index 00000000000..9878806420b
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/IllegalBlockSizeException.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/KeyAgreement.class b/libjava/classpath/lib/javax/crypto/KeyAgreement.class
      new file mode 100644
      index 00000000000..52d8fc45a00
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/KeyAgreement.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/KeyAgreementSpi.class b/libjava/classpath/lib/javax/crypto/KeyAgreementSpi.class
      new file mode 100644
      index 00000000000..95abcb69217
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/KeyAgreementSpi.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/KeyGenerator.class b/libjava/classpath/lib/javax/crypto/KeyGenerator.class
      new file mode 100644
      index 00000000000..e508065d134
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/KeyGenerator.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/KeyGeneratorSpi.class b/libjava/classpath/lib/javax/crypto/KeyGeneratorSpi.class
      new file mode 100644
      index 00000000000..4cc1464740a
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/KeyGeneratorSpi.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/Mac.class b/libjava/classpath/lib/javax/crypto/Mac.class
      new file mode 100644
      index 00000000000..2a1ffec0790
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/Mac.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/MacSpi.class b/libjava/classpath/lib/javax/crypto/MacSpi.class
      new file mode 100644
      index 00000000000..358a03fec1f
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/MacSpi.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/NoSuchPaddingException.class b/libjava/classpath/lib/javax/crypto/NoSuchPaddingException.class
      new file mode 100644
      index 00000000000..633fc1ebffc
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/NoSuchPaddingException.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/NullCipher.class b/libjava/classpath/lib/javax/crypto/NullCipher.class
      new file mode 100644
      index 00000000000..2cb9e01273b
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/NullCipher.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/NullCipherImpl.class b/libjava/classpath/lib/javax/crypto/NullCipherImpl.class
      new file mode 100644
      index 00000000000..fe9d2eff44b
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/NullCipherImpl.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/SealedObject.class b/libjava/classpath/lib/javax/crypto/SealedObject.class
      new file mode 100644
      index 00000000000..fcf03fbb799
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/SealedObject.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/SecretKey.class b/libjava/classpath/lib/javax/crypto/SecretKey.class
      new file mode 100644
      index 00000000000..64e8d59657a
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/SecretKey.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/SecretKeyFactory.class b/libjava/classpath/lib/javax/crypto/SecretKeyFactory.class
      new file mode 100644
      index 00000000000..e457f1c3c58
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/SecretKeyFactory.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/SecretKeyFactorySpi.class b/libjava/classpath/lib/javax/crypto/SecretKeyFactorySpi.class
      new file mode 100644
      index 00000000000..b92dad3dc8d
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/SecretKeyFactorySpi.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/ShortBufferException.class b/libjava/classpath/lib/javax/crypto/ShortBufferException.class
      new file mode 100644
      index 00000000000..1e8ba487328
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/ShortBufferException.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/interfaces/DHKey.class b/libjava/classpath/lib/javax/crypto/interfaces/DHKey.class
      new file mode 100644
      index 00000000000..d370d21de21
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/interfaces/DHKey.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/interfaces/DHPrivateKey.class b/libjava/classpath/lib/javax/crypto/interfaces/DHPrivateKey.class
      new file mode 100644
      index 00000000000..57e0a02160c
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/interfaces/DHPrivateKey.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/interfaces/DHPublicKey.class b/libjava/classpath/lib/javax/crypto/interfaces/DHPublicKey.class
      new file mode 100644
      index 00000000000..498a26c35ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/interfaces/DHPublicKey.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/interfaces/PBEKey.class b/libjava/classpath/lib/javax/crypto/interfaces/PBEKey.class
      new file mode 100644
      index 00000000000..6871ebd2914
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/interfaces/PBEKey.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/DESKeySpec.class b/libjava/classpath/lib/javax/crypto/spec/DESKeySpec.class
      new file mode 100644
      index 00000000000..c95a112ef16
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/DESKeySpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/DESedeKeySpec.class b/libjava/classpath/lib/javax/crypto/spec/DESedeKeySpec.class
      new file mode 100644
      index 00000000000..d70c28fc310
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/DESedeKeySpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/DHGenParameterSpec.class b/libjava/classpath/lib/javax/crypto/spec/DHGenParameterSpec.class
      new file mode 100644
      index 00000000000..f47669432db
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/DHGenParameterSpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/DHParameterSpec.class b/libjava/classpath/lib/javax/crypto/spec/DHParameterSpec.class
      new file mode 100644
      index 00000000000..25b8df6db1e
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/DHParameterSpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/DHPrivateKeySpec.class b/libjava/classpath/lib/javax/crypto/spec/DHPrivateKeySpec.class
      new file mode 100644
      index 00000000000..2c717e1f20b
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/DHPrivateKeySpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/DHPublicKeySpec.class b/libjava/classpath/lib/javax/crypto/spec/DHPublicKeySpec.class
      new file mode 100644
      index 00000000000..fa0d95e3f11
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/DHPublicKeySpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/IvParameterSpec.class b/libjava/classpath/lib/javax/crypto/spec/IvParameterSpec.class
      new file mode 100644
      index 00000000000..9ad1e895b9c
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/IvParameterSpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/PBEKeySpec.class b/libjava/classpath/lib/javax/crypto/spec/PBEKeySpec.class
      new file mode 100644
      index 00000000000..c9e2ee820f3
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/PBEKeySpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/PBEParameterSpec.class b/libjava/classpath/lib/javax/crypto/spec/PBEParameterSpec.class
      new file mode 100644
      index 00000000000..5b586d236ce
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/PBEParameterSpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/RC2ParameterSpec.class b/libjava/classpath/lib/javax/crypto/spec/RC2ParameterSpec.class
      new file mode 100644
      index 00000000000..4c58c84102d
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/RC2ParameterSpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/RC5ParameterSpec.class b/libjava/classpath/lib/javax/crypto/spec/RC5ParameterSpec.class
      new file mode 100644
      index 00000000000..6acc9437818
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/RC5ParameterSpec.class differ
      diff --git a/libjava/classpath/lib/javax/crypto/spec/SecretKeySpec.class b/libjava/classpath/lib/javax/crypto/spec/SecretKeySpec.class
      new file mode 100644
      index 00000000000..a68b9352d93
      Binary files /dev/null and b/libjava/classpath/lib/javax/crypto/spec/SecretKeySpec.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/IIOException.class b/libjava/classpath/lib/javax/imageio/IIOException.class
      new file mode 100644
      index 00000000000..d71f8c283a0
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/IIOException.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/IIOImage.class b/libjava/classpath/lib/javax/imageio/IIOImage.class
      new file mode 100644
      index 00000000000..5dea6c5fb0d
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/IIOImage.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/IIOParam.class b/libjava/classpath/lib/javax/imageio/IIOParam.class
      new file mode 100644
      index 00000000000..3964639b694
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/IIOParam.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/IIOParamController.class b/libjava/classpath/lib/javax/imageio/IIOParamController.class
      new file mode 100644
      index 00000000000..bc138b67507
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/IIOParamController.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$1.class b/libjava/classpath/lib/javax/imageio/ImageIO$1.class
      new file mode 100644
      index 00000000000..aecb7d8db73
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$1.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class b/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class
      new file mode 100644
      index 00000000000..0f0891053f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$ImageReaderIterator.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class b/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class
      new file mode 100644
      index 00000000000..1637f289d4a
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$ImageWriterIterator.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class
      new file mode 100644
      index 00000000000..5155bca7667
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderFormatFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class
      new file mode 100644
      index 00000000000..aa88c00f26f
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderMIMETypeFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class
      new file mode 100644
      index 00000000000..51b2f1e52cf
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderObjectFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class
      new file mode 100644
      index 00000000000..a4250bf5257
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$ReaderSuffixFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class
      new file mode 100644
      index 00000000000..8e4fe3cdcbc
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$TranscoderFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class
      new file mode 100644
      index 00000000000..a1fcd80fc56
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterFormatFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class
      new file mode 100644
      index 00000000000..64f5bd49fc6
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterMIMETypeFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class
      new file mode 100644
      index 00000000000..1304c7f9388
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterObjectFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class b/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class
      new file mode 100644
      index 00000000000..9ff7d63bb1b
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO$WriterSuffixFilter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageIO.class b/libjava/classpath/lib/javax/imageio/ImageIO.class
      new file mode 100644
      index 00000000000..14c24cb382d
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageIO.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageReadParam.class b/libjava/classpath/lib/javax/imageio/ImageReadParam.class
      new file mode 100644
      index 00000000000..67cff3a68a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageReadParam.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageReader.class b/libjava/classpath/lib/javax/imageio/ImageReader.class
      new file mode 100644
      index 00000000000..85979dac171
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageReader.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageTranscoder.class b/libjava/classpath/lib/javax/imageio/ImageTranscoder.class
      new file mode 100644
      index 00000000000..2e5cb4a40a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageTranscoder.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageTypeSpecifier.class b/libjava/classpath/lib/javax/imageio/ImageTypeSpecifier.class
      new file mode 100644
      index 00000000000..17e94e7630f
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageTypeSpecifier.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageWriteParam.class b/libjava/classpath/lib/javax/imageio/ImageWriteParam.class
      new file mode 100644
      index 00000000000..942348b55b8
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageWriteParam.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/ImageWriter.class b/libjava/classpath/lib/javax/imageio/ImageWriter.class
      new file mode 100644
      index 00000000000..57e29cf5b6f
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/ImageWriter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/event/IIOReadProgressListener.class b/libjava/classpath/lib/javax/imageio/event/IIOReadProgressListener.class
      new file mode 100644
      index 00000000000..2728ff5eea0
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/event/IIOReadProgressListener.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/event/IIOReadUpdateListener.class b/libjava/classpath/lib/javax/imageio/event/IIOReadUpdateListener.class
      new file mode 100644
      index 00000000000..26b3560fee3
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/event/IIOReadUpdateListener.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/event/IIOReadWarningListener.class b/libjava/classpath/lib/javax/imageio/event/IIOReadWarningListener.class
      new file mode 100644
      index 00000000000..ecd17180544
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/event/IIOReadWarningListener.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/event/IIOWriteProgressListener.class b/libjava/classpath/lib/javax/imageio/event/IIOWriteProgressListener.class
      new file mode 100644
      index 00000000000..af4114f6b89
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/event/IIOWriteProgressListener.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/event/IIOWriteWarningListener.class b/libjava/classpath/lib/javax/imageio/event/IIOWriteWarningListener.class
      new file mode 100644
      index 00000000000..afede8bf4c4
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/event/IIOWriteWarningListener.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOInvalidTreeException.class b/libjava/classpath/lib/javax/imageio/metadata/IIOInvalidTreeException.class
      new file mode 100644
      index 00000000000..e2150693617
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOInvalidTreeException.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadata.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadata.class
      new file mode 100644
      index 00000000000..46f34c55403
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadata.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataController.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataController.class
      new file mode 100644
      index 00000000000..f90f96d1287
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataController.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormat.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormat.class
      new file mode 100644
      index 00000000000..299f194e3eb
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormat.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class
      new file mode 100644
      index 00000000000..e6b32672048
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$1.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.class
      new file mode 100644
      index 00000000000..8da0e36d9cf
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class
      new file mode 100644
      index 00000000000..f70d44e42ad
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class
      new file mode 100644
      index 00000000000..6e9c99c5837
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class
      new file mode 100644
      index 00000000000..3139d38fe53
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.class
      new file mode 100644
      index 00000000000..c6ddf8ed845
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class
      new file mode 100644
      index 00000000000..507733cb086
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class
      new file mode 100644
      index 00000000000..b36a4835394
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class
      new file mode 100644
      index 00000000000..3b7e3b4c44f
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class
      new file mode 100644
      index 00000000000..eebc68bb4a6
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataFormatImpl.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class
      new file mode 100644
      index 00000000000..a8e43ee3f3f
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONodeList.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONodeList.class
      new file mode 100644
      index 00000000000..cf8c8f501a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode$IIONodeList.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class
      new file mode 100644
      index 00000000000..001f1ff7db2
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/metadata/IIOMetadataNode.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/plugins/bmp/BMPImageWriteParam.class b/libjava/classpath/lib/javax/imageio/plugins/bmp/BMPImageWriteParam.class
      new file mode 100644
      index 00000000000..7701cf88b71
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/plugins/bmp/BMPImageWriteParam.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGHuffmanTable.class b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGHuffmanTable.class
      new file mode 100644
      index 00000000000..deac559a02a
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGHuffmanTable.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageReadParam.class b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageReadParam.class
      new file mode 100644
      index 00000000000..ba2a146aa6e
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageReadParam.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageWriteParam.class b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageWriteParam.class
      new file mode 100644
      index 00000000000..c734fcb59c4
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGImageWriteParam.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGQTable.class b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGQTable.class
      new file mode 100644
      index 00000000000..6f6d57646a1
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/plugins/jpeg/JPEGQTable.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class b/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class
      new file mode 100644
      index 00000000000..45073b1d67e
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/IIORegistry.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/IIOServiceProvider.class b/libjava/classpath/lib/javax/imageio/spi/IIOServiceProvider.class
      new file mode 100644
      index 00000000000..0d39087a442
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/IIOServiceProvider.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ImageInputStreamSpi.class b/libjava/classpath/lib/javax/imageio/spi/ImageInputStreamSpi.class
      new file mode 100644
      index 00000000000..32ba8ebfc73
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ImageInputStreamSpi.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ImageOutputStreamSpi.class b/libjava/classpath/lib/javax/imageio/spi/ImageOutputStreamSpi.class
      new file mode 100644
      index 00000000000..fedcfb430cc
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ImageOutputStreamSpi.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ImageReaderSpi.class b/libjava/classpath/lib/javax/imageio/spi/ImageReaderSpi.class
      new file mode 100644
      index 00000000000..4dc323ad9be
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ImageReaderSpi.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ImageReaderWriterSpi.class b/libjava/classpath/lib/javax/imageio/spi/ImageReaderWriterSpi.class
      new file mode 100644
      index 00000000000..60acc54c65b
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ImageReaderWriterSpi.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ImageTranscoderSpi.class b/libjava/classpath/lib/javax/imageio/spi/ImageTranscoderSpi.class
      new file mode 100644
      index 00000000000..7eee7996bf8
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ImageTranscoderSpi.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ImageWriterSpi.class b/libjava/classpath/lib/javax/imageio/spi/ImageWriterSpi.class
      new file mode 100644
      index 00000000000..2c17ba4d7c4
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ImageWriterSpi.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/RegisterableService.class b/libjava/classpath/lib/javax/imageio/spi/RegisterableService.class
      new file mode 100644
      index 00000000000..15fec31a076
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/RegisterableService.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class
      new file mode 100644
      index 00000000000..3cf058c554e
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$1.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class
      new file mode 100644
      index 00000000000..bec3d35381a
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$2.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$Filter.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$Filter.class
      new file mode 100644
      index 00000000000..e4a7a55a6e5
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry$Filter.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class
      new file mode 100644
      index 00000000000..dddf6f4f268
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/spi/ServiceRegistry.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/FileCacheImageInputStream.class b/libjava/classpath/lib/javax/imageio/stream/FileCacheImageInputStream.class
      new file mode 100644
      index 00000000000..b82fdb238a1
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/FileCacheImageInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class b/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class
      new file mode 100644
      index 00000000000..2bb32b78c71
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/FileCacheImageOutputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/FileImageInputStream.class b/libjava/classpath/lib/javax/imageio/stream/FileImageInputStream.class
      new file mode 100644
      index 00000000000..2c152b1bff8
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/FileImageInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/FileImageOutputStream.class b/libjava/classpath/lib/javax/imageio/stream/FileImageOutputStream.class
      new file mode 100644
      index 00000000000..a2d425acf49
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/FileImageOutputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/IIOByteBuffer.class b/libjava/classpath/lib/javax/imageio/stream/IIOByteBuffer.class
      new file mode 100644
      index 00000000000..204cbc83ef4
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/IIOByteBuffer.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/ImageInputStream.class b/libjava/classpath/lib/javax/imageio/stream/ImageInputStream.class
      new file mode 100644
      index 00000000000..40ddeaade68
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/ImageInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/ImageInputStreamImpl.class b/libjava/classpath/lib/javax/imageio/stream/ImageInputStreamImpl.class
      new file mode 100644
      index 00000000000..ae7a2ba72cb
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/ImageInputStreamImpl.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/ImageOutputStream.class b/libjava/classpath/lib/javax/imageio/stream/ImageOutputStream.class
      new file mode 100644
      index 00000000000..391b332fae0
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/ImageOutputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class b/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class
      new file mode 100644
      index 00000000000..dccf1f36f54
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/ImageOutputStreamImpl.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageInputStream.class b/libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageInputStream.class
      new file mode 100644
      index 00000000000..57dc68de425
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageOutputStream.class b/libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageOutputStream.class
      new file mode 100644
      index 00000000000..803f2fbed63
      Binary files /dev/null and b/libjava/classpath/lib/javax/imageio/stream/MemoryCacheImageOutputStream.class differ
      diff --git a/libjava/classpath/lib/javax/management/Attribute.class b/libjava/classpath/lib/javax/management/Attribute.class
      new file mode 100644
      index 00000000000..a0f23785227
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/Attribute.class differ
      diff --git a/libjava/classpath/lib/javax/management/AttributeList.class b/libjava/classpath/lib/javax/management/AttributeList.class
      new file mode 100644
      index 00000000000..528918c72bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/AttributeList.class differ
      diff --git a/libjava/classpath/lib/javax/management/AttributeNotFoundException.class b/libjava/classpath/lib/javax/management/AttributeNotFoundException.class
      new file mode 100644
      index 00000000000..d9b80fd651d
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/AttributeNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/management/BadAttributeValueExpException.class b/libjava/classpath/lib/javax/management/BadAttributeValueExpException.class
      new file mode 100644
      index 00000000000..976da8c0b64
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/BadAttributeValueExpException.class differ
      diff --git a/libjava/classpath/lib/javax/management/BadBinaryOpValueExpException.class b/libjava/classpath/lib/javax/management/BadBinaryOpValueExpException.class
      new file mode 100644
      index 00000000000..3955b88fc4f
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/BadBinaryOpValueExpException.class differ
      diff --git a/libjava/classpath/lib/javax/management/BadStringOperationException.class b/libjava/classpath/lib/javax/management/BadStringOperationException.class
      new file mode 100644
      index 00000000000..859d5a05384
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/BadStringOperationException.class differ
      diff --git a/libjava/classpath/lib/javax/management/DynamicMBean.class b/libjava/classpath/lib/javax/management/DynamicMBean.class
      new file mode 100644
      index 00000000000..e4925e8ac22
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/DynamicMBean.class differ
      diff --git a/libjava/classpath/lib/javax/management/InstanceAlreadyExistsException.class b/libjava/classpath/lib/javax/management/InstanceAlreadyExistsException.class
      new file mode 100644
      index 00000000000..98027dce75a
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/InstanceAlreadyExistsException.class differ
      diff --git a/libjava/classpath/lib/javax/management/InstanceNotFoundException.class b/libjava/classpath/lib/javax/management/InstanceNotFoundException.class
      new file mode 100644
      index 00000000000..1eb9c9bf5ee
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/InstanceNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/management/IntrospectionException.class b/libjava/classpath/lib/javax/management/IntrospectionException.class
      new file mode 100644
      index 00000000000..8c17c2519a2
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/IntrospectionException.class differ
      diff --git a/libjava/classpath/lib/javax/management/InvalidApplicationException.class b/libjava/classpath/lib/javax/management/InvalidApplicationException.class
      new file mode 100644
      index 00000000000..f860adebc4e
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/InvalidApplicationException.class differ
      diff --git a/libjava/classpath/lib/javax/management/InvalidAttributeValueException.class b/libjava/classpath/lib/javax/management/InvalidAttributeValueException.class
      new file mode 100644
      index 00000000000..fad97385897
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/InvalidAttributeValueException.class differ
      diff --git a/libjava/classpath/lib/javax/management/JMException.class b/libjava/classpath/lib/javax/management/JMException.class
      new file mode 100644
      index 00000000000..3a39a421acf
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/JMException.class differ
      diff --git a/libjava/classpath/lib/javax/management/JMRuntimeException.class b/libjava/classpath/lib/javax/management/JMRuntimeException.class
      new file mode 100644
      index 00000000000..a9eacfda8c1
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/JMRuntimeException.class differ
      diff --git a/libjava/classpath/lib/javax/management/ListenerNotFoundException.class b/libjava/classpath/lib/javax/management/ListenerNotFoundException.class
      new file mode 100644
      index 00000000000..e66803ae19c
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/ListenerNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class b/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class
      new file mode 100644
      index 00000000000..a5626b8a963
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanAttributeInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanConstructorInfo.class b/libjava/classpath/lib/javax/management/MBeanConstructorInfo.class
      new file mode 100644
      index 00000000000..4933f493244
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanConstructorInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanException.class b/libjava/classpath/lib/javax/management/MBeanException.class
      new file mode 100644
      index 00000000000..02d6dd6acdd
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanException.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class b/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class
      new file mode 100644
      index 00000000000..2c240dc4050
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanFeatureInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanInfo.class b/libjava/classpath/lib/javax/management/MBeanInfo.class
      new file mode 100644
      index 00000000000..9af29328708
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanNotificationInfo.class b/libjava/classpath/lib/javax/management/MBeanNotificationInfo.class
      new file mode 100644
      index 00000000000..af9c8cb3311
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanNotificationInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanOperationInfo.class b/libjava/classpath/lib/javax/management/MBeanOperationInfo.class
      new file mode 100644
      index 00000000000..522a1c0c1f5
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanOperationInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanParameterInfo.class b/libjava/classpath/lib/javax/management/MBeanParameterInfo.class
      new file mode 100644
      index 00000000000..59c7b922145
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanParameterInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanPermission$NameHolder.class b/libjava/classpath/lib/javax/management/MBeanPermission$NameHolder.class
      new file mode 100644
      index 00000000000..4610dca6635
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanPermission$NameHolder.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanPermission.class b/libjava/classpath/lib/javax/management/MBeanPermission.class
      new file mode 100644
      index 00000000000..15151ce5108
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanPermission.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanRegistration.class b/libjava/classpath/lib/javax/management/MBeanRegistration.class
      new file mode 100644
      index 00000000000..8c07efc3c59
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanRegistration.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanRegistrationException.class b/libjava/classpath/lib/javax/management/MBeanRegistrationException.class
      new file mode 100644
      index 00000000000..bb7a8a763d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanRegistrationException.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServer.class b/libjava/classpath/lib/javax/management/MBeanServer.class
      new file mode 100644
      index 00000000000..11945828739
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServer.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerBuilder.class b/libjava/classpath/lib/javax/management/MBeanServerBuilder.class
      new file mode 100644
      index 00000000000..efb5e6c958b
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerBuilder.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerConnection.class b/libjava/classpath/lib/javax/management/MBeanServerConnection.class
      new file mode 100644
      index 00000000000..2ca079e125e
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerConnection.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerDelegate.class b/libjava/classpath/lib/javax/management/MBeanServerDelegate.class
      new file mode 100644
      index 00000000000..325af96c49c
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerDelegateMBean.class b/libjava/classpath/lib/javax/management/MBeanServerDelegateMBean.class
      new file mode 100644
      index 00000000000..c607f165048
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerDelegateMBean.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerFactory.class b/libjava/classpath/lib/javax/management/MBeanServerFactory.class
      new file mode 100644
      index 00000000000..a0c655b84d0
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerFactory.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerNotification.class b/libjava/classpath/lib/javax/management/MBeanServerNotification.class
      new file mode 100644
      index 00000000000..ca952560dbc
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerNotification.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.class b/libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.class
      new file mode 100644
      index 00000000000..9d6fed42a07
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.class b/libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.class
      new file mode 100644
      index 00000000000..272e8d375ad
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanServerPermission.class b/libjava/classpath/lib/javax/management/MBeanServerPermission.class
      new file mode 100644
      index 00000000000..e69173d14d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanServerPermission.class differ
      diff --git a/libjava/classpath/lib/javax/management/MBeanTrustPermission.class b/libjava/classpath/lib/javax/management/MBeanTrustPermission.class
      new file mode 100644
      index 00000000000..e5d22c9677b
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MBeanTrustPermission.class differ
      diff --git a/libjava/classpath/lib/javax/management/MalformedObjectNameException.class b/libjava/classpath/lib/javax/management/MalformedObjectNameException.class
      new file mode 100644
      index 00000000000..d8e56b667ee
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/MalformedObjectNameException.class differ
      diff --git a/libjava/classpath/lib/javax/management/NotCompliantMBeanException.class b/libjava/classpath/lib/javax/management/NotCompliantMBeanException.class
      new file mode 100644
      index 00000000000..385f6b147da
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotCompliantMBeanException.class differ
      diff --git a/libjava/classpath/lib/javax/management/Notification.class b/libjava/classpath/lib/javax/management/Notification.class
      new file mode 100644
      index 00000000000..1518fdcbed9
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/Notification.class differ
      diff --git a/libjava/classpath/lib/javax/management/NotificationBroadcaster.class b/libjava/classpath/lib/javax/management/NotificationBroadcaster.class
      new file mode 100644
      index 00000000000..8127d65562e
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationBroadcaster.class differ
      diff --git a/libjava/classpath/lib/javax/management/NotificationEmitter.class b/libjava/classpath/lib/javax/management/NotificationEmitter.class
      new file mode 100644
      index 00000000000..b062f01fd59
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationEmitter.class differ
      diff --git a/libjava/classpath/lib/javax/management/NotificationFilter.class b/libjava/classpath/lib/javax/management/NotificationFilter.class
      new file mode 100644
      index 00000000000..9474e578153
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationFilter.class differ
      diff --git a/libjava/classpath/lib/javax/management/NotificationListener.class b/libjava/classpath/lib/javax/management/NotificationListener.class
      new file mode 100644
      index 00000000000..cbe2f1f58b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/NotificationListener.class differ
      diff --git a/libjava/classpath/lib/javax/management/ObjectInstance.class b/libjava/classpath/lib/javax/management/ObjectInstance.class
      new file mode 100644
      index 00000000000..5ab7cb91930
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/ObjectInstance.class differ
      diff --git a/libjava/classpath/lib/javax/management/ObjectName.class b/libjava/classpath/lib/javax/management/ObjectName.class
      new file mode 100644
      index 00000000000..9a94089fc8d
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/ObjectName.class differ
      diff --git a/libjava/classpath/lib/javax/management/OperationsException.class b/libjava/classpath/lib/javax/management/OperationsException.class
      new file mode 100644
      index 00000000000..09e6c442154
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/OperationsException.class differ
      diff --git a/libjava/classpath/lib/javax/management/QueryExp.class b/libjava/classpath/lib/javax/management/QueryExp.class
      new file mode 100644
      index 00000000000..b999c482151
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/QueryExp.class differ
      diff --git a/libjava/classpath/lib/javax/management/ReflectionException.class b/libjava/classpath/lib/javax/management/ReflectionException.class
      new file mode 100644
      index 00000000000..141b664e1e5
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/ReflectionException.class differ
      diff --git a/libjava/classpath/lib/javax/management/RuntimeErrorException.class b/libjava/classpath/lib/javax/management/RuntimeErrorException.class
      new file mode 100644
      index 00000000000..35c82a6c747
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/RuntimeErrorException.class differ
      diff --git a/libjava/classpath/lib/javax/management/RuntimeMBeanException.class b/libjava/classpath/lib/javax/management/RuntimeMBeanException.class
      new file mode 100644
      index 00000000000..a141ad87a00
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/RuntimeMBeanException.class differ
      diff --git a/libjava/classpath/lib/javax/management/RuntimeOperationsException.class b/libjava/classpath/lib/javax/management/RuntimeOperationsException.class
      new file mode 100644
      index 00000000000..ffa48a77523
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/RuntimeOperationsException.class differ
      diff --git a/libjava/classpath/lib/javax/management/ServiceNotFoundException.class b/libjava/classpath/lib/javax/management/ServiceNotFoundException.class
      new file mode 100644
      index 00000000000..25c4b5cb304
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/ServiceNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/management/StandardMBean.class b/libjava/classpath/lib/javax/management/StandardMBean.class
      new file mode 100644
      index 00000000000..7657a32b757
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/StandardMBean.class differ
      diff --git a/libjava/classpath/lib/javax/management/ValueExp.class b/libjava/classpath/lib/javax/management/ValueExp.class
      new file mode 100644
      index 00000000000..d90e781cc44
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/ValueExp.class differ
      diff --git a/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class b/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class
      new file mode 100644
      index 00000000000..493e9d2f9ff
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/loading/ClassLoaderRepository.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/ArrayType.class b/libjava/classpath/lib/javax/management/openmbean/ArrayType.class
      new file mode 100644
      index 00000000000..888874a904d
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/ArrayType.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeData.class b/libjava/classpath/lib/javax/management/openmbean/CompositeData.class
      new file mode 100644
      index 00000000000..8cd4c3c633d
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/CompositeData.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class b/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class
      new file mode 100644
      index 00000000000..c5e4d5f922f
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/CompositeDataSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/CompositeType.class b/libjava/classpath/lib/javax/management/openmbean/CompositeType.class
      new file mode 100644
      index 00000000000..3ed4d991f08
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/CompositeType.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/InvalidKeyException.class b/libjava/classpath/lib/javax/management/openmbean/InvalidKeyException.class
      new file mode 100644
      index 00000000000..6b0b1fec5e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/InvalidKeyException.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/InvalidOpenTypeException.class b/libjava/classpath/lib/javax/management/openmbean/InvalidOpenTypeException.class
      new file mode 100644
      index 00000000000..4fba7ac4312
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/InvalidOpenTypeException.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/KeyAlreadyExistsException.class b/libjava/classpath/lib/javax/management/openmbean/KeyAlreadyExistsException.class
      new file mode 100644
      index 00000000000..7ec6ca7868f
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/KeyAlreadyExistsException.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenDataException.class b/libjava/classpath/lib/javax/management/openmbean/OpenDataException.class
      new file mode 100644
      index 00000000000..076ed20e9f2
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenDataException.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfo.class
      new file mode 100644
      index 00000000000..0ac220955a7
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class
      new file mode 100644
      index 00000000000..8aec0490a78
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanAttributeInfoSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfo.class
      new file mode 100644
      index 00000000000..2a6a6265073
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class
      new file mode 100644
      index 00000000000..75bdacc524e
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanConstructorInfoSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfo.class
      new file mode 100644
      index 00000000000..8d04a395e0f
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class
      new file mode 100644
      index 00000000000..7e4265d3d42
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanInfoSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class
      new file mode 100644
      index 00000000000..5e6fd06fb23
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class
      new file mode 100644
      index 00000000000..93ed4002ab6
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanOperationInfoSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class
      new file mode 100644
      index 00000000000..b360ed8fe52
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfo.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class
      new file mode 100644
      index 00000000000..59ef03786b2
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenMBeanParameterInfoSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/OpenType.class b/libjava/classpath/lib/javax/management/openmbean/OpenType.class
      new file mode 100644
      index 00000000000..689f1ccf631
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/OpenType.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/SimpleType.class b/libjava/classpath/lib/javax/management/openmbean/SimpleType.class
      new file mode 100644
      index 00000000000..c33e9089c81
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/SimpleType.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularData.class b/libjava/classpath/lib/javax/management/openmbean/TabularData.class
      new file mode 100644
      index 00000000000..c6a70eaf474
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/TabularData.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class b/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class
      new file mode 100644
      index 00000000000..c940083ba28
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/TabularDataSupport.class differ
      diff --git a/libjava/classpath/lib/javax/management/openmbean/TabularType.class b/libjava/classpath/lib/javax/management/openmbean/TabularType.class
      new file mode 100644
      index 00000000000..c287c124107
      Binary files /dev/null and b/libjava/classpath/lib/javax/management/openmbean/TabularType.class differ
      diff --git a/libjava/classpath/lib/javax/naming/AuthenticationException.class b/libjava/classpath/lib/javax/naming/AuthenticationException.class
      new file mode 100644
      index 00000000000..84033a0442a
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/AuthenticationException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/AuthenticationNotSupportedException.class b/libjava/classpath/lib/javax/naming/AuthenticationNotSupportedException.class
      new file mode 100644
      index 00000000000..99f2374a131
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/AuthenticationNotSupportedException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/BinaryRefAddr.class b/libjava/classpath/lib/javax/naming/BinaryRefAddr.class
      new file mode 100644
      index 00000000000..8856b981f0b
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/BinaryRefAddr.class differ
      diff --git a/libjava/classpath/lib/javax/naming/Binding.class b/libjava/classpath/lib/javax/naming/Binding.class
      new file mode 100644
      index 00000000000..9ae8c3128fe
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/Binding.class differ
      diff --git a/libjava/classpath/lib/javax/naming/CannotProceedException.class b/libjava/classpath/lib/javax/naming/CannotProceedException.class
      new file mode 100644
      index 00000000000..8c66162cf75
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/CannotProceedException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/CommunicationException.class b/libjava/classpath/lib/javax/naming/CommunicationException.class
      new file mode 100644
      index 00000000000..6f1a73dbe33
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/CommunicationException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/CompositeName.class b/libjava/classpath/lib/javax/naming/CompositeName.class
      new file mode 100644
      index 00000000000..2a19869ac0d
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/CompositeName.class differ
      diff --git a/libjava/classpath/lib/javax/naming/CompoundName.class b/libjava/classpath/lib/javax/naming/CompoundName.class
      new file mode 100644
      index 00000000000..39592b0d194
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/CompoundName.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ConfigurationException.class b/libjava/classpath/lib/javax/naming/ConfigurationException.class
      new file mode 100644
      index 00000000000..56516219b70
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ConfigurationException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/Context.class b/libjava/classpath/lib/javax/naming/Context.class
      new file mode 100644
      index 00000000000..be82e6fecac
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/Context.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ContextNotEmptyException.class b/libjava/classpath/lib/javax/naming/ContextNotEmptyException.class
      new file mode 100644
      index 00000000000..3cd3d5e501e
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ContextNotEmptyException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/InitialContext.class b/libjava/classpath/lib/javax/naming/InitialContext.class
      new file mode 100644
      index 00000000000..a21349cc727
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/InitialContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/InsufficientResourcesException.class b/libjava/classpath/lib/javax/naming/InsufficientResourcesException.class
      new file mode 100644
      index 00000000000..7f89a0e9908
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/InsufficientResourcesException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/InterruptedNamingException.class b/libjava/classpath/lib/javax/naming/InterruptedNamingException.class
      new file mode 100644
      index 00000000000..b793d470767
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/InterruptedNamingException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/InvalidNameException.class b/libjava/classpath/lib/javax/naming/InvalidNameException.class
      new file mode 100644
      index 00000000000..f7e94ba0c91
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/InvalidNameException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/LimitExceededException.class b/libjava/classpath/lib/javax/naming/LimitExceededException.class
      new file mode 100644
      index 00000000000..6134203cde4
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/LimitExceededException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/LinkException.class b/libjava/classpath/lib/javax/naming/LinkException.class
      new file mode 100644
      index 00000000000..f95ae0fed58
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/LinkException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/LinkLoopException.class b/libjava/classpath/lib/javax/naming/LinkLoopException.class
      new file mode 100644
      index 00000000000..b7ff39f8a47
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/LinkLoopException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/LinkRef.class b/libjava/classpath/lib/javax/naming/LinkRef.class
      new file mode 100644
      index 00000000000..05641654973
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/LinkRef.class differ
      diff --git a/libjava/classpath/lib/javax/naming/MalformedLinkException.class b/libjava/classpath/lib/javax/naming/MalformedLinkException.class
      new file mode 100644
      index 00000000000..3456233271d
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/MalformedLinkException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/Name.class b/libjava/classpath/lib/javax/naming/Name.class
      new file mode 100644
      index 00000000000..ef74c5e0b48
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/Name.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NameAlreadyBoundException.class b/libjava/classpath/lib/javax/naming/NameAlreadyBoundException.class
      new file mode 100644
      index 00000000000..e3a8722e016
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NameAlreadyBoundException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NameClassPair.class b/libjava/classpath/lib/javax/naming/NameClassPair.class
      new file mode 100644
      index 00000000000..faae87c5e78
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NameClassPair.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NameNotFoundException.class b/libjava/classpath/lib/javax/naming/NameNotFoundException.class
      new file mode 100644
      index 00000000000..b8df4897ffa
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NameNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NameParser.class b/libjava/classpath/lib/javax/naming/NameParser.class
      new file mode 100644
      index 00000000000..f01ed0b438a
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NameParser.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NamingEnumeration.class b/libjava/classpath/lib/javax/naming/NamingEnumeration.class
      new file mode 100644
      index 00000000000..98b80ceac0b
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NamingEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NamingException.class b/libjava/classpath/lib/javax/naming/NamingException.class
      new file mode 100644
      index 00000000000..52bdc3ef577
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NamingException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NamingSecurityException.class b/libjava/classpath/lib/javax/naming/NamingSecurityException.class
      new file mode 100644
      index 00000000000..f5f6930d8eb
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NamingSecurityException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NoInitialContextException.class b/libjava/classpath/lib/javax/naming/NoInitialContextException.class
      new file mode 100644
      index 00000000000..db9a945b47f
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NoInitialContextException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NoPermissionException.class b/libjava/classpath/lib/javax/naming/NoPermissionException.class
      new file mode 100644
      index 00000000000..25283ea4c50
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NoPermissionException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/NotContextException.class b/libjava/classpath/lib/javax/naming/NotContextException.class
      new file mode 100644
      index 00000000000..80de75b5ee0
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/NotContextException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/OperationNotSupportedException.class b/libjava/classpath/lib/javax/naming/OperationNotSupportedException.class
      new file mode 100644
      index 00000000000..96d5ccde381
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/OperationNotSupportedException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/PartialResultException.class b/libjava/classpath/lib/javax/naming/PartialResultException.class
      new file mode 100644
      index 00000000000..291861fed24
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/PartialResultException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/RefAddr.class b/libjava/classpath/lib/javax/naming/RefAddr.class
      new file mode 100644
      index 00000000000..b85b848d497
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/RefAddr.class differ
      diff --git a/libjava/classpath/lib/javax/naming/Reference.class b/libjava/classpath/lib/javax/naming/Reference.class
      new file mode 100644
      index 00000000000..9f0c298dd86
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/Reference.class differ
      diff --git a/libjava/classpath/lib/javax/naming/Referenceable.class b/libjava/classpath/lib/javax/naming/Referenceable.class
      new file mode 100644
      index 00000000000..abee698e4d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/Referenceable.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ReferralException.class b/libjava/classpath/lib/javax/naming/ReferralException.class
      new file mode 100644
      index 00000000000..83c91264e3e
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ReferralException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ServiceUnavailableException.class b/libjava/classpath/lib/javax/naming/ServiceUnavailableException.class
      new file mode 100644
      index 00000000000..10fca7100f3
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ServiceUnavailableException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/SizeLimitExceededException.class b/libjava/classpath/lib/javax/naming/SizeLimitExceededException.class
      new file mode 100644
      index 00000000000..e5e027437a4
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/SizeLimitExceededException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/StringRefAddr.class b/libjava/classpath/lib/javax/naming/StringRefAddr.class
      new file mode 100644
      index 00000000000..86f8f80dd61
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/StringRefAddr.class differ
      diff --git a/libjava/classpath/lib/javax/naming/TimeLimitExceededException.class b/libjava/classpath/lib/javax/naming/TimeLimitExceededException.class
      new file mode 100644
      index 00000000000..9d9db128301
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/TimeLimitExceededException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/Attribute.class b/libjava/classpath/lib/javax/naming/directory/Attribute.class
      new file mode 100644
      index 00000000000..4ea25b876b6
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/Attribute.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/AttributeInUseException.class b/libjava/classpath/lib/javax/naming/directory/AttributeInUseException.class
      new file mode 100644
      index 00000000000..c7cae1e8a13
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/AttributeInUseException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/AttributeModificationException.class b/libjava/classpath/lib/javax/naming/directory/AttributeModificationException.class
      new file mode 100644
      index 00000000000..eb8b7052da5
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/AttributeModificationException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/Attributes.class b/libjava/classpath/lib/javax/naming/directory/Attributes.class
      new file mode 100644
      index 00000000000..737594d3351
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/Attributes.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.class b/libjava/classpath/lib/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.class
      new file mode 100644
      index 00000000000..7238d60114d
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttribute.class b/libjava/classpath/lib/javax/naming/directory/BasicAttribute.class
      new file mode 100644
      index 00000000000..15edbd82cf0
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/BasicAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class
      new file mode 100644
      index 00000000000..58864679714
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class b/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class
      new file mode 100644
      index 00000000000..20e9428e614
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/BasicAttributes.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/DirContext.class b/libjava/classpath/lib/javax/naming/directory/DirContext.class
      new file mode 100644
      index 00000000000..fdfc3bdc023
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/DirContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/InitialDirContext.class b/libjava/classpath/lib/javax/naming/directory/InitialDirContext.class
      new file mode 100644
      index 00000000000..cbf5f511a11
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/InitialDirContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/InvalidAttributeIdentifierException.class b/libjava/classpath/lib/javax/naming/directory/InvalidAttributeIdentifierException.class
      new file mode 100644
      index 00000000000..611da11bace
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/InvalidAttributeIdentifierException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/InvalidAttributeValueException.class b/libjava/classpath/lib/javax/naming/directory/InvalidAttributeValueException.class
      new file mode 100644
      index 00000000000..8b1f9e5314b
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/InvalidAttributeValueException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/InvalidAttributesException.class b/libjava/classpath/lib/javax/naming/directory/InvalidAttributesException.class
      new file mode 100644
      index 00000000000..21c061caa99
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/InvalidAttributesException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/InvalidSearchControlsException.class b/libjava/classpath/lib/javax/naming/directory/InvalidSearchControlsException.class
      new file mode 100644
      index 00000000000..8047bb0cbc0
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/InvalidSearchControlsException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/InvalidSearchFilterException.class b/libjava/classpath/lib/javax/naming/directory/InvalidSearchFilterException.class
      new file mode 100644
      index 00000000000..7bc6065d111
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/InvalidSearchFilterException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/ModificationItem.class b/libjava/classpath/lib/javax/naming/directory/ModificationItem.class
      new file mode 100644
      index 00000000000..0ac083b06df
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/ModificationItem.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/NoSuchAttributeException.class b/libjava/classpath/lib/javax/naming/directory/NoSuchAttributeException.class
      new file mode 100644
      index 00000000000..108c9ca19d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/NoSuchAttributeException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/SchemaViolationException.class b/libjava/classpath/lib/javax/naming/directory/SchemaViolationException.class
      new file mode 100644
      index 00000000000..9c766a1ee5c
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/SchemaViolationException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/SearchControls.class b/libjava/classpath/lib/javax/naming/directory/SearchControls.class
      new file mode 100644
      index 00000000000..7df5cffd843
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/SearchControls.class differ
      diff --git a/libjava/classpath/lib/javax/naming/directory/SearchResult.class b/libjava/classpath/lib/javax/naming/directory/SearchResult.class
      new file mode 100644
      index 00000000000..54e75caeaf7
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/directory/SearchResult.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/EventContext.class b/libjava/classpath/lib/javax/naming/event/EventContext.class
      new file mode 100644
      index 00000000000..8585af593f0
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/EventContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/EventDirContext.class b/libjava/classpath/lib/javax/naming/event/EventDirContext.class
      new file mode 100644
      index 00000000000..751d5089715
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/EventDirContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/NamespaceChangeListener.class b/libjava/classpath/lib/javax/naming/event/NamespaceChangeListener.class
      new file mode 100644
      index 00000000000..607ab9c49d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/NamespaceChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/NamingEvent.class b/libjava/classpath/lib/javax/naming/event/NamingEvent.class
      new file mode 100644
      index 00000000000..e1204e83d8d
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/NamingEvent.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/NamingExceptionEvent.class b/libjava/classpath/lib/javax/naming/event/NamingExceptionEvent.class
      new file mode 100644
      index 00000000000..0f61df4e1d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/NamingExceptionEvent.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/NamingListener.class b/libjava/classpath/lib/javax/naming/event/NamingListener.class
      new file mode 100644
      index 00000000000..894376def0c
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/NamingListener.class differ
      diff --git a/libjava/classpath/lib/javax/naming/event/ObjectChangeListener.class b/libjava/classpath/lib/javax/naming/event/ObjectChangeListener.class
      new file mode 100644
      index 00000000000..533600d2627
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/event/ObjectChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/Control.class b/libjava/classpath/lib/javax/naming/ldap/Control.class
      new file mode 100644
      index 00000000000..7f96c9d5eed
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/Control.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/ControlFactory.class b/libjava/classpath/lib/javax/naming/ldap/ControlFactory.class
      new file mode 100644
      index 00000000000..7248b9932ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/ControlFactory.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/ExtendedRequest.class b/libjava/classpath/lib/javax/naming/ldap/ExtendedRequest.class
      new file mode 100644
      index 00000000000..e7d13c72e32
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/ExtendedRequest.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/ExtendedResponse.class b/libjava/classpath/lib/javax/naming/ldap/ExtendedResponse.class
      new file mode 100644
      index 00000000000..4abf7ff7864
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/ExtendedResponse.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/HasControls.class b/libjava/classpath/lib/javax/naming/ldap/HasControls.class
      new file mode 100644
      index 00000000000..2037b418b84
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/HasControls.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class b/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class
      new file mode 100644
      index 00000000000..413245204b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/InitialLdapContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/LdapContext.class b/libjava/classpath/lib/javax/naming/ldap/LdapContext.class
      new file mode 100644
      index 00000000000..0507a8ec0b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/LdapContext.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/LdapReferralException.class b/libjava/classpath/lib/javax/naming/ldap/LdapReferralException.class
      new file mode 100644
      index 00000000000..2d53ba7e92d
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/LdapReferralException.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/StartTlsRequest.class b/libjava/classpath/lib/javax/naming/ldap/StartTlsRequest.class
      new file mode 100644
      index 00000000000..028f72bb899
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/StartTlsRequest.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/StartTlsResponse.class b/libjava/classpath/lib/javax/naming/ldap/StartTlsResponse.class
      new file mode 100644
      index 00000000000..1c62677bdb2
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/StartTlsResponse.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotification.class b/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotification.class
      new file mode 100644
      index 00000000000..b329c2bf9a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotification.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationEvent.class b/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationEvent.class
      new file mode 100644
      index 00000000000..893585b45e2
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationEvent.class differ
      diff --git a/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationListener.class b/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationListener.class
      new file mode 100644
      index 00000000000..19234b50e91
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/ldap/UnsolicitedNotificationListener.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/DirObjectFactory.class b/libjava/classpath/lib/javax/naming/spi/DirObjectFactory.class
      new file mode 100644
      index 00000000000..f81cb27190e
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/DirObjectFactory.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/DirStateFactory$Result.class b/libjava/classpath/lib/javax/naming/spi/DirStateFactory$Result.class
      new file mode 100644
      index 00000000000..94051c10e69
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/DirStateFactory$Result.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/DirStateFactory.class b/libjava/classpath/lib/javax/naming/spi/DirStateFactory.class
      new file mode 100644
      index 00000000000..98be8730539
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/DirStateFactory.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class b/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class
      new file mode 100644
      index 00000000000..22690420c96
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/DirectoryManager.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/InitialContextFactory.class b/libjava/classpath/lib/javax/naming/spi/InitialContextFactory.class
      new file mode 100644
      index 00000000000..643c2803e80
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/InitialContextFactory.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/InitialContextFactoryBuilder.class b/libjava/classpath/lib/javax/naming/spi/InitialContextFactoryBuilder.class
      new file mode 100644
      index 00000000000..fd2b6a77296
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/InitialContextFactoryBuilder.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/NamingManager.class b/libjava/classpath/lib/javax/naming/spi/NamingManager.class
      new file mode 100644
      index 00000000000..d0da69412ac
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/NamingManager.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/ObjectFactory.class b/libjava/classpath/lib/javax/naming/spi/ObjectFactory.class
      new file mode 100644
      index 00000000000..c51bf4fa211
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/ObjectFactory.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/ObjectFactoryBuilder.class b/libjava/classpath/lib/javax/naming/spi/ObjectFactoryBuilder.class
      new file mode 100644
      index 00000000000..0204736c061
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/ObjectFactoryBuilder.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/ResolveResult.class b/libjava/classpath/lib/javax/naming/spi/ResolveResult.class
      new file mode 100644
      index 00000000000..c0782d68221
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/ResolveResult.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/Resolver.class b/libjava/classpath/lib/javax/naming/spi/Resolver.class
      new file mode 100644
      index 00000000000..ffe96db71ff
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/Resolver.class differ
      diff --git a/libjava/classpath/lib/javax/naming/spi/StateFactory.class b/libjava/classpath/lib/javax/naming/spi/StateFactory.class
      new file mode 100644
      index 00000000000..0ce19e91b59
      Binary files /dev/null and b/libjava/classpath/lib/javax/naming/spi/StateFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/ServerSocketFactory.class b/libjava/classpath/lib/javax/net/ServerSocketFactory.class
      new file mode 100644
      index 00000000000..e568d1ada6c
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ServerSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/SocketFactory.class b/libjava/classpath/lib/javax/net/SocketFactory.class
      new file mode 100644
      index 00000000000..968ce789554
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/SocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/VanillaServerSocketFactory.class b/libjava/classpath/lib/javax/net/VanillaServerSocketFactory.class
      new file mode 100644
      index 00000000000..13e4e43ba89
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/VanillaServerSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/VanillaSocketFactory.class b/libjava/classpath/lib/javax/net/VanillaSocketFactory.class
      new file mode 100644
      index 00000000000..5f82c3c3b8f
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/VanillaSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/CertPathTrustManagerParameters.class b/libjava/classpath/lib/javax/net/ssl/CertPathTrustManagerParameters.class
      new file mode 100644
      index 00000000000..08009ef6259
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/CertPathTrustManagerParameters.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/HandshakeCompletedEvent.class b/libjava/classpath/lib/javax/net/ssl/HandshakeCompletedEvent.class
      new file mode 100644
      index 00000000000..c368229263d
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/HandshakeCompletedEvent.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/HandshakeCompletedListener.class b/libjava/classpath/lib/javax/net/ssl/HandshakeCompletedListener.class
      new file mode 100644
      index 00000000000..629e4e835a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/HandshakeCompletedListener.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/HostnameVerifier.class b/libjava/classpath/lib/javax/net/ssl/HostnameVerifier.class
      new file mode 100644
      index 00000000000..409d9047b4f
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/HostnameVerifier.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/HttpsURLConnection.class b/libjava/classpath/lib/javax/net/ssl/HttpsURLConnection.class
      new file mode 100644
      index 00000000000..d531508bb79
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/HttpsURLConnection.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManager.class b/libjava/classpath/lib/javax/net/ssl/KeyManager.class
      new file mode 100644
      index 00000000000..1a31080d6ee
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/KeyManager.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class
      new file mode 100644
      index 00000000000..e67cc75e87a
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory$1.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class
      new file mode 100644
      index 00000000000..7eb16a275da
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/KeyManagerFactorySpi.class b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactorySpi.class
      new file mode 100644
      index 00000000000..bbb4bb73245
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/KeyManagerFactorySpi.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/KeyStoreBuilderParameters.class b/libjava/classpath/lib/javax/net/ssl/KeyStoreBuilderParameters.class
      new file mode 100644
      index 00000000000..79faa07759c
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/KeyStoreBuilderParameters.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/ManagerFactoryParameters.class b/libjava/classpath/lib/javax/net/ssl/ManagerFactoryParameters.class
      new file mode 100644
      index 00000000000..8cc323af71d
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/ManagerFactoryParameters.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLContext.class b/libjava/classpath/lib/javax/net/ssl/SSLContext.class
      new file mode 100644
      index 00000000000..e6d4030e129
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLContext.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLContextSpi.class b/libjava/classpath/lib/javax/net/ssl/SSLContextSpi.class
      new file mode 100644
      index 00000000000..26f362ee778
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLContextSpi.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngine.class b/libjava/classpath/lib/javax/net/ssl/SSLEngine.class
      new file mode 100644
      index 00000000000..6ffe9e8153d
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLEngine.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class
      new file mode 100644
      index 00000000000..7b64db75c37
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$HandshakeStatus.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class
      new file mode 100644
      index 00000000000..312b09813a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult$Status.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class
      new file mode 100644
      index 00000000000..d905e82797d
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLEngineResult.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLException.class b/libjava/classpath/lib/javax/net/ssl/SSLException.class
      new file mode 100644
      index 00000000000..f8dacf19db0
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLException.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLHandshakeException.class b/libjava/classpath/lib/javax/net/ssl/SSLHandshakeException.class
      new file mode 100644
      index 00000000000..2006a223fce
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLHandshakeException.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLKeyException.class b/libjava/classpath/lib/javax/net/ssl/SSLKeyException.class
      new file mode 100644
      index 00000000000..213166ab461
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLKeyException.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLPeerUnverifiedException.class b/libjava/classpath/lib/javax/net/ssl/SSLPeerUnverifiedException.class
      new file mode 100644
      index 00000000000..75e0c883626
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLPeerUnverifiedException.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLPermission.class b/libjava/classpath/lib/javax/net/ssl/SSLPermission.class
      new file mode 100644
      index 00000000000..73354cfb2c1
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLPermission.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLProtocolException.class b/libjava/classpath/lib/javax/net/ssl/SSLProtocolException.class
      new file mode 100644
      index 00000000000..0b5d7c4142f
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLProtocolException.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLServerSocket.class b/libjava/classpath/lib/javax/net/ssl/SSLServerSocket.class
      new file mode 100644
      index 00000000000..a802a511459
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLServerSocket.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class b/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class
      new file mode 100644
      index 00000000000..4db450aec78
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSession.class b/libjava/classpath/lib/javax/net/ssl/SSLSession.class
      new file mode 100644
      index 00000000000..3276a462848
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSession.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSessionBindingEvent.class b/libjava/classpath/lib/javax/net/ssl/SSLSessionBindingEvent.class
      new file mode 100644
      index 00000000000..7b03ca83714
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSessionBindingEvent.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSessionBindingListener.class b/libjava/classpath/lib/javax/net/ssl/SSLSessionBindingListener.class
      new file mode 100644
      index 00000000000..d3683dd7def
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSessionBindingListener.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSessionContext.class b/libjava/classpath/lib/javax/net/ssl/SSLSessionContext.class
      new file mode 100644
      index 00000000000..7121b99cdab
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSessionContext.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSocket.class b/libjava/classpath/lib/javax/net/ssl/SSLSocket.class
      new file mode 100644
      index 00000000000..f00becbcde5
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSocket.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class b/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class
      new file mode 100644
      index 00000000000..ef49a9996d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/SSLSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/TrivialHostnameVerifier.class b/libjava/classpath/lib/javax/net/ssl/TrivialHostnameVerifier.class
      new file mode 100644
      index 00000000000..d03d64e9e73
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/TrivialHostnameVerifier.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManager.class b/libjava/classpath/lib/javax/net/ssl/TrustManager.class
      new file mode 100644
      index 00000000000..237f8ae654d
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/TrustManager.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class
      new file mode 100644
      index 00000000000..023245c4955
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory$1.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class
      new file mode 100644
      index 00000000000..f7cf2695ee0
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactory.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/TrustManagerFactorySpi.class b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactorySpi.class
      new file mode 100644
      index 00000000000..1d8612cba9b
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/TrustManagerFactorySpi.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/X509ExtendedKeyManager.class b/libjava/classpath/lib/javax/net/ssl/X509ExtendedKeyManager.class
      new file mode 100644
      index 00000000000..9d89fd6167b
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/X509ExtendedKeyManager.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/X509KeyManager.class b/libjava/classpath/lib/javax/net/ssl/X509KeyManager.class
      new file mode 100644
      index 00000000000..c13f1ea1f33
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/X509KeyManager.class differ
      diff --git a/libjava/classpath/lib/javax/net/ssl/X509TrustManager.class b/libjava/classpath/lib/javax/net/ssl/X509TrustManager.class
      new file mode 100644
      index 00000000000..a01e85003b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/net/ssl/X509TrustManager.class differ
      diff --git a/libjava/classpath/lib/javax/print/AttributeException.class b/libjava/classpath/lib/javax/print/AttributeException.class
      new file mode 100644
      index 00000000000..d5278db3139
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/AttributeException.class differ
      diff --git a/libjava/classpath/lib/javax/print/CancelablePrintJob.class b/libjava/classpath/lib/javax/print/CancelablePrintJob.class
      new file mode 100644
      index 00000000000..08ae422bf03
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/CancelablePrintJob.class differ
      diff --git a/libjava/classpath/lib/javax/print/Doc.class b/libjava/classpath/lib/javax/print/Doc.class
      new file mode 100644
      index 00000000000..a8cbecdbe79
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/Doc.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$BYTE_ARRAY.class b/libjava/classpath/lib/javax/print/DocFlavor$BYTE_ARRAY.class
      new file mode 100644
      index 00000000000..4e168694528
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$BYTE_ARRAY.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$CHAR_ARRAY.class b/libjava/classpath/lib/javax/print/DocFlavor$CHAR_ARRAY.class
      new file mode 100644
      index 00000000000..ffa7a661384
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$CHAR_ARRAY.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$INPUT_STREAM.class b/libjava/classpath/lib/javax/print/DocFlavor$INPUT_STREAM.class
      new file mode 100644
      index 00000000000..64bebbd33de
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$INPUT_STREAM.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$READER.class b/libjava/classpath/lib/javax/print/DocFlavor$READER.class
      new file mode 100644
      index 00000000000..c16b57949ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$READER.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$SERVICE_FORMATTED.class b/libjava/classpath/lib/javax/print/DocFlavor$SERVICE_FORMATTED.class
      new file mode 100644
      index 00000000000..4af2c7aba66
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$SERVICE_FORMATTED.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$STRING.class b/libjava/classpath/lib/javax/print/DocFlavor$STRING.class
      new file mode 100644
      index 00000000000..58c114b0761
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$STRING.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor$URL.class b/libjava/classpath/lib/javax/print/DocFlavor$URL.class
      new file mode 100644
      index 00000000000..230dce90726
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor$URL.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocFlavor.class b/libjava/classpath/lib/javax/print/DocFlavor.class
      new file mode 100644
      index 00000000000..4edf51019ee
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocFlavor.class differ
      diff --git a/libjava/classpath/lib/javax/print/DocPrintJob.class b/libjava/classpath/lib/javax/print/DocPrintJob.class
      new file mode 100644
      index 00000000000..a409bde0b35
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/DocPrintJob.class differ
      diff --git a/libjava/classpath/lib/javax/print/FlavorException.class b/libjava/classpath/lib/javax/print/FlavorException.class
      new file mode 100644
      index 00000000000..1963fefb6bc
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/FlavorException.class differ
      diff --git a/libjava/classpath/lib/javax/print/MultiDoc.class b/libjava/classpath/lib/javax/print/MultiDoc.class
      new file mode 100644
      index 00000000000..56b380b36f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/MultiDoc.class differ
      diff --git a/libjava/classpath/lib/javax/print/MultiDocPrintJob.class b/libjava/classpath/lib/javax/print/MultiDocPrintJob.class
      new file mode 100644
      index 00000000000..4e3fae46108
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/MultiDocPrintJob.class differ
      diff --git a/libjava/classpath/lib/javax/print/MultiDocPrintService.class b/libjava/classpath/lib/javax/print/MultiDocPrintService.class
      new file mode 100644
      index 00000000000..43d52b63a1f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/MultiDocPrintService.class differ
      diff --git a/libjava/classpath/lib/javax/print/PrintException.class b/libjava/classpath/lib/javax/print/PrintException.class
      new file mode 100644
      index 00000000000..73a3056d765
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/PrintException.class differ
      diff --git a/libjava/classpath/lib/javax/print/PrintService.class b/libjava/classpath/lib/javax/print/PrintService.class
      new file mode 100644
      index 00000000000..3eb58635966
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/PrintService.class differ
      diff --git a/libjava/classpath/lib/javax/print/PrintServiceLookup.class b/libjava/classpath/lib/javax/print/PrintServiceLookup.class
      new file mode 100644
      index 00000000000..a8c931f310f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/PrintServiceLookup.class differ
      diff --git a/libjava/classpath/lib/javax/print/ServiceUI.class b/libjava/classpath/lib/javax/print/ServiceUI.class
      new file mode 100644
      index 00000000000..0c047da7b81
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/ServiceUI.class differ
      diff --git a/libjava/classpath/lib/javax/print/ServiceUIFactory.class b/libjava/classpath/lib/javax/print/ServiceUIFactory.class
      new file mode 100644
      index 00000000000..b0e7b876233
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/ServiceUIFactory.class differ
      diff --git a/libjava/classpath/lib/javax/print/SimpleDoc.class b/libjava/classpath/lib/javax/print/SimpleDoc.class
      new file mode 100644
      index 00000000000..2f0976e909d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/SimpleDoc.class differ
      diff --git a/libjava/classpath/lib/javax/print/StreamPrintService.class b/libjava/classpath/lib/javax/print/StreamPrintService.class
      new file mode 100644
      index 00000000000..ea5c7826d5b
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/StreamPrintService.class differ
      diff --git a/libjava/classpath/lib/javax/print/StreamPrintServiceFactory.class b/libjava/classpath/lib/javax/print/StreamPrintServiceFactory.class
      new file mode 100644
      index 00000000000..9d7ebe38ed3
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/StreamPrintServiceFactory.class differ
      diff --git a/libjava/classpath/lib/javax/print/URIException.class b/libjava/classpath/lib/javax/print/URIException.class
      new file mode 100644
      index 00000000000..e6ea533072e
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/URIException.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/Attribute.class b/libjava/classpath/lib/javax/print/attribute/Attribute.class
      new file mode 100644
      index 00000000000..3dca6f70248
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/Attribute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSet.class
      new file mode 100644
      index 00000000000..a54b72b3dbe
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.class
      new file mode 100644
      index 00000000000..4cd7fa90e3d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class
      new file mode 100644
      index 00000000000..95e45307a4a
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class
      new file mode 100644
      index 00000000000..fab5c6fc274
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class
      new file mode 100644
      index 00000000000..37ebb16acd6
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class
      new file mode 100644
      index 00000000000..4cc539d39a6
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.class
      new file mode 100644
      index 00000000000..2024d152698
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class
      new file mode 100644
      index 00000000000..6e83f7e560e
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class
      new file mode 100644
      index 00000000000..0f973e1c157
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class
      new file mode 100644
      index 00000000000..5bfa550f965
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class
      new file mode 100644
      index 00000000000..43c2682da88
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class
      new file mode 100644
      index 00000000000..6ee0b8f8c42
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/AttributeSetUtilities.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/DateTimeSyntax.class b/libjava/classpath/lib/javax/print/attribute/DateTimeSyntax.class
      new file mode 100644
      index 00000000000..6702a30d56d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/DateTimeSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/DocAttribute.class b/libjava/classpath/lib/javax/print/attribute/DocAttribute.class
      new file mode 100644
      index 00000000000..a9367005110
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/DocAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/DocAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/DocAttributeSet.class
      new file mode 100644
      index 00000000000..43967044299
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/DocAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/EnumSyntax.class b/libjava/classpath/lib/javax/print/attribute/EnumSyntax.class
      new file mode 100644
      index 00000000000..b5bf3aa663b
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/EnumSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/HashAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/HashAttributeSet.class
      new file mode 100644
      index 00000000000..c077322f818
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/HashAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/HashDocAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/HashDocAttributeSet.class
      new file mode 100644
      index 00000000000..9f30b0ffbde
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/HashDocAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/HashPrintJobAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/HashPrintJobAttributeSet.class
      new file mode 100644
      index 00000000000..d0da1564d57
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/HashPrintJobAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/HashPrintRequestAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/HashPrintRequestAttributeSet.class
      new file mode 100644
      index 00000000000..83bb36a64f4
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/HashPrintRequestAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/HashPrintServiceAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/HashPrintServiceAttributeSet.class
      new file mode 100644
      index 00000000000..18701413dae
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/HashPrintServiceAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/IntegerSyntax.class b/libjava/classpath/lib/javax/print/attribute/IntegerSyntax.class
      new file mode 100644
      index 00000000000..d0adb1acbfb
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/IntegerSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/PrintJobAttribute.class b/libjava/classpath/lib/javax/print/attribute/PrintJobAttribute.class
      new file mode 100644
      index 00000000000..f415ad880a4
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/PrintJobAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/PrintJobAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/PrintJobAttributeSet.class
      new file mode 100644
      index 00000000000..3e35094df08
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/PrintJobAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/PrintRequestAttribute.class b/libjava/classpath/lib/javax/print/attribute/PrintRequestAttribute.class
      new file mode 100644
      index 00000000000..37098131e88
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/PrintRequestAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/PrintRequestAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/PrintRequestAttributeSet.class
      new file mode 100644
      index 00000000000..869a4d59b46
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/PrintRequestAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/PrintServiceAttribute.class b/libjava/classpath/lib/javax/print/attribute/PrintServiceAttribute.class
      new file mode 100644
      index 00000000000..326ee06c926
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/PrintServiceAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/PrintServiceAttributeSet.class b/libjava/classpath/lib/javax/print/attribute/PrintServiceAttributeSet.class
      new file mode 100644
      index 00000000000..97a51ec72d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/PrintServiceAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/ResolutionSyntax.class b/libjava/classpath/lib/javax/print/attribute/ResolutionSyntax.class
      new file mode 100644
      index 00000000000..74e84545627
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/ResolutionSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class
      new file mode 100644
      index 00000000000..9dde40793b7
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax$1.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class
      new file mode 100644
      index 00000000000..f25096bb24f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/SetOfIntegerSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/Size2DSyntax.class b/libjava/classpath/lib/javax/print/attribute/Size2DSyntax.class
      new file mode 100644
      index 00000000000..d26205fd844
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/Size2DSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/SupportedValuesAttribute.class b/libjava/classpath/lib/javax/print/attribute/SupportedValuesAttribute.class
      new file mode 100644
      index 00000000000..957bc1f1bde
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/SupportedValuesAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/TextSyntax.class b/libjava/classpath/lib/javax/print/attribute/TextSyntax.class
      new file mode 100644
      index 00000000000..1ebb5f99e85
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/TextSyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/URISyntax.class b/libjava/classpath/lib/javax/print/attribute/URISyntax.class
      new file mode 100644
      index 00000000000..eb36d72e996
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/URISyntax.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/UnmodifiableSetException.class b/libjava/classpath/lib/javax/print/attribute/UnmodifiableSetException.class
      new file mode 100644
      index 00000000000..ba0bdb50ef0
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/UnmodifiableSetException.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Chromaticity.class b/libjava/classpath/lib/javax/print/attribute/standard/Chromaticity.class
      new file mode 100644
      index 00000000000..603f64508e9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Chromaticity.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/ColorSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/ColorSupported.class
      new file mode 100644
      index 00000000000..07ddc1e58e9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/ColorSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Compression.class b/libjava/classpath/lib/javax/print/attribute/standard/Compression.class
      new file mode 100644
      index 00000000000..939a2f3076b
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Compression.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Copies.class b/libjava/classpath/lib/javax/print/attribute/standard/Copies.class
      new file mode 100644
      index 00000000000..a4396ac206e
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Copies.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/CopiesSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/CopiesSupported.class
      new file mode 100644
      index 00000000000..ab31fac3aa4
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/CopiesSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCompleted.class b/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCompleted.class
      new file mode 100644
      index 00000000000..fc0358e0e8c
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCompleted.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCreation.class b/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCreation.class
      new file mode 100644
      index 00000000000..c271f6b2b83
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtCreation.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtProcessing.class b/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtProcessing.class
      new file mode 100644
      index 00000000000..05e1adf2685
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/DateTimeAtProcessing.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Destination.class b/libjava/classpath/lib/javax/print/attribute/standard/Destination.class
      new file mode 100644
      index 00000000000..42854c064ff
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Destination.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/DocumentName.class b/libjava/classpath/lib/javax/print/attribute/standard/DocumentName.class
      new file mode 100644
      index 00000000000..f55b821572d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/DocumentName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Fidelity.class b/libjava/classpath/lib/javax/print/attribute/standard/Fidelity.class
      new file mode 100644
      index 00000000000..735ca849113
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Fidelity.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Finishings.class b/libjava/classpath/lib/javax/print/attribute/standard/Finishings.class
      new file mode 100644
      index 00000000000..b53435d2eac
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Finishings.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobHoldUntil.class b/libjava/classpath/lib/javax/print/attribute/standard/JobHoldUntil.class
      new file mode 100644
      index 00000000000..a2079e70685
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobHoldUntil.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobImpressions.class b/libjava/classpath/lib/javax/print/attribute/standard/JobImpressions.class
      new file mode 100644
      index 00000000000..6bac9fa619c
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobImpressions.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsCompleted.class b/libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsCompleted.class
      new file mode 100644
      index 00000000000..83d489cf1b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsCompleted.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsSupported.class
      new file mode 100644
      index 00000000000..7eef5dcaac5
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobImpressionsSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobKOctets.class b/libjava/classpath/lib/javax/print/attribute/standard/JobKOctets.class
      new file mode 100644
      index 00000000000..ff7742995ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobKOctets.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsProcessed.class b/libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsProcessed.class
      new file mode 100644
      index 00000000000..560307e27ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsProcessed.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsSupported.class
      new file mode 100644
      index 00000000000..8b10d859d5a
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobKOctetsSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheets.class b/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheets.class
      new file mode 100644
      index 00000000000..adc2d36b1ef
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheets.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsCompleted.class b/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsCompleted.class
      new file mode 100644
      index 00000000000..84373399de7
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsCompleted.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsSupported.class
      new file mode 100644
      index 00000000000..d631ebbea56
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobMediaSheetsSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobMessageFromOperator.class b/libjava/classpath/lib/javax/print/attribute/standard/JobMessageFromOperator.class
      new file mode 100644
      index 00000000000..b8d92b9ffeb
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobMessageFromOperator.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobName.class b/libjava/classpath/lib/javax/print/attribute/standard/JobName.class
      new file mode 100644
      index 00000000000..51ad2c12594
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobOriginatingUserName.class b/libjava/classpath/lib/javax/print/attribute/standard/JobOriginatingUserName.class
      new file mode 100644
      index 00000000000..6ce758cb64d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobOriginatingUserName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobPriority.class b/libjava/classpath/lib/javax/print/attribute/standard/JobPriority.class
      new file mode 100644
      index 00000000000..f40b9e1af9a
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobPriority.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobPrioritySupported.class b/libjava/classpath/lib/javax/print/attribute/standard/JobPrioritySupported.class
      new file mode 100644
      index 00000000000..7263fc7d99d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobPrioritySupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobSheets.class b/libjava/classpath/lib/javax/print/attribute/standard/JobSheets.class
      new file mode 100644
      index 00000000000..61a52d8b767
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobSheets.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobState.class b/libjava/classpath/lib/javax/print/attribute/standard/JobState.class
      new file mode 100644
      index 00000000000..31a09d87a0d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobState.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobStateReason.class b/libjava/classpath/lib/javax/print/attribute/standard/JobStateReason.class
      new file mode 100644
      index 00000000000..12a340af795
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobStateReason.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/JobStateReasons.class b/libjava/classpath/lib/javax/print/attribute/standard/JobStateReasons.class
      new file mode 100644
      index 00000000000..9098cf72a79
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/JobStateReasons.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Media.class b/libjava/classpath/lib/javax/print/attribute/standard/Media.class
      new file mode 100644
      index 00000000000..1d085f90a01
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Media.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaName.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaName.class
      new file mode 100644
      index 00000000000..6a5c6e6956b
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaPrintableArea.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaPrintableArea.class
      new file mode 100644
      index 00000000000..99c1c1d685d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaPrintableArea.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Engineering.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Engineering.class
      new file mode 100644
      index 00000000000..abebeb6c64f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Engineering.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$ISO.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$ISO.class
      new file mode 100644
      index 00000000000..7598b9dc31f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$ISO.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$JIS.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$JIS.class
      new file mode 100644
      index 00000000000..98cd1417e06
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$JIS.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$NA.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$NA.class
      new file mode 100644
      index 00000000000..755264937f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$NA.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Other.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Other.class
      new file mode 100644
      index 00000000000..3f1464a1681
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize$Other.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class
      new file mode 100644
      index 00000000000..7e1f36fee9d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSize.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaSizeName.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaSizeName.class
      new file mode 100644
      index 00000000000..91d14427556
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaSizeName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MediaTray.class b/libjava/classpath/lib/javax/print/attribute/standard/MediaTray.class
      new file mode 100644
      index 00000000000..fcd0a827f66
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MediaTray.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/MultipleDocumentHandling.class b/libjava/classpath/lib/javax/print/attribute/standard/MultipleDocumentHandling.class
      new file mode 100644
      index 00000000000..b951129f100
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/MultipleDocumentHandling.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/NumberOfDocuments.class b/libjava/classpath/lib/javax/print/attribute/standard/NumberOfDocuments.class
      new file mode 100644
      index 00000000000..a4adaf1153f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/NumberOfDocuments.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/NumberOfInterveningJobs.class b/libjava/classpath/lib/javax/print/attribute/standard/NumberOfInterveningJobs.class
      new file mode 100644
      index 00000000000..759f0caee5f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/NumberOfInterveningJobs.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/NumberUp.class b/libjava/classpath/lib/javax/print/attribute/standard/NumberUp.class
      new file mode 100644
      index 00000000000..5456684b938
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/NumberUp.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/NumberUpSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/NumberUpSupported.class
      new file mode 100644
      index 00000000000..fb9e4c8c453
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/NumberUpSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/OrientationRequested.class b/libjava/classpath/lib/javax/print/attribute/standard/OrientationRequested.class
      new file mode 100644
      index 00000000000..eac890a0288
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/OrientationRequested.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/OutputDeviceAssigned.class b/libjava/classpath/lib/javax/print/attribute/standard/OutputDeviceAssigned.class
      new file mode 100644
      index 00000000000..900479306d3
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/OutputDeviceAssigned.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PDLOverrideSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/PDLOverrideSupported.class
      new file mode 100644
      index 00000000000..8b0b9495c94
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PDLOverrideSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PageRanges.class b/libjava/classpath/lib/javax/print/attribute/standard/PageRanges.class
      new file mode 100644
      index 00000000000..917e9ba1b6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PageRanges.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinute.class b/libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinute.class
      new file mode 100644
      index 00000000000..ab7150429b7
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinute.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinuteColor.class b/libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinuteColor.class
      new file mode 100644
      index 00000000000..8402bbd857f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PagesPerMinuteColor.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PresentationDirection.class b/libjava/classpath/lib/javax/print/attribute/standard/PresentationDirection.class
      new file mode 100644
      index 00000000000..108401b1351
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PresentationDirection.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrintQuality.class b/libjava/classpath/lib/javax/print/attribute/standard/PrintQuality.class
      new file mode 100644
      index 00000000000..38511ca1ecc
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrintQuality.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterInfo.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterInfo.class
      new file mode 100644
      index 00000000000..9d4dfec8858
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterInfo.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterIsAcceptingJobs.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterIsAcceptingJobs.class
      new file mode 100644
      index 00000000000..b5645608771
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterIsAcceptingJobs.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterLocation.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterLocation.class
      new file mode 100644
      index 00000000000..3dc10226179
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterLocation.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterMakeAndModel.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMakeAndModel.class
      new file mode 100644
      index 00000000000..5035742c4d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMakeAndModel.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterMessageFromOperator.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMessageFromOperator.class
      new file mode 100644
      index 00000000000..0b9065b7fe2
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMessageFromOperator.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfo.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfo.class
      new file mode 100644
      index 00000000000..e8a4635d39f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfo.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfoManufacturer.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfoManufacturer.class
      new file mode 100644
      index 00000000000..df7de3b6506
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterMoreInfoManufacturer.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterName.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterName.class
      new file mode 100644
      index 00000000000..d94bfc0c34f
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterResolution.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterResolution.class
      new file mode 100644
      index 00000000000..5e24460c8a2
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterResolution.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterState.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterState.class
      new file mode 100644
      index 00000000000..11d67db360a
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterState.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReason.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReason.class
      new file mode 100644
      index 00000000000..0ace3664a35
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReason.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class
      new file mode 100644
      index 00000000000..2b2bbdde29e
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterStateReasons.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/PrinterURI.class b/libjava/classpath/lib/javax/print/attribute/standard/PrinterURI.class
      new file mode 100644
      index 00000000000..28124f05e7c
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/PrinterURI.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/QueuedJobCount.class b/libjava/classpath/lib/javax/print/attribute/standard/QueuedJobCount.class
      new file mode 100644
      index 00000000000..21e93f63a3e
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/QueuedJobCount.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/ReferenceUriSchemesSupported.class b/libjava/classpath/lib/javax/print/attribute/standard/ReferenceUriSchemesSupported.class
      new file mode 100644
      index 00000000000..6ec639def58
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/ReferenceUriSchemesSupported.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/RequestingUserName.class b/libjava/classpath/lib/javax/print/attribute/standard/RequestingUserName.class
      new file mode 100644
      index 00000000000..eaf96608a93
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/RequestingUserName.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Severity.class b/libjava/classpath/lib/javax/print/attribute/standard/Severity.class
      new file mode 100644
      index 00000000000..d7959b0e4f1
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Severity.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/SheetCollate.class b/libjava/classpath/lib/javax/print/attribute/standard/SheetCollate.class
      new file mode 100644
      index 00000000000..6e202fc7a97
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/SheetCollate.class differ
      diff --git a/libjava/classpath/lib/javax/print/attribute/standard/Sides.class b/libjava/classpath/lib/javax/print/attribute/standard/Sides.class
      new file mode 100644
      index 00000000000..ccc9789518d
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/attribute/standard/Sides.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintEvent.class b/libjava/classpath/lib/javax/print/event/PrintEvent.class
      new file mode 100644
      index 00000000000..589436ae042
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintEvent.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintJobAdapter.class b/libjava/classpath/lib/javax/print/event/PrintJobAdapter.class
      new file mode 100644
      index 00000000000..28559645c6e
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintJobAdapter.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintJobAttributeEvent.class b/libjava/classpath/lib/javax/print/event/PrintJobAttributeEvent.class
      new file mode 100644
      index 00000000000..dc6834fb7a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintJobAttributeEvent.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintJobAttributeListener.class b/libjava/classpath/lib/javax/print/event/PrintJobAttributeListener.class
      new file mode 100644
      index 00000000000..3404e303d3b
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintJobAttributeListener.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintJobEvent.class b/libjava/classpath/lib/javax/print/event/PrintJobEvent.class
      new file mode 100644
      index 00000000000..77ff6656b6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintJobEvent.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintJobListener.class b/libjava/classpath/lib/javax/print/event/PrintJobListener.class
      new file mode 100644
      index 00000000000..86549e6dc3b
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintJobListener.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintServiceAttributeEvent.class b/libjava/classpath/lib/javax/print/event/PrintServiceAttributeEvent.class
      new file mode 100644
      index 00000000000..4a5c9c898af
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintServiceAttributeEvent.class differ
      diff --git a/libjava/classpath/lib/javax/print/event/PrintServiceAttributeListener.class b/libjava/classpath/lib/javax/print/event/PrintServiceAttributeListener.class
      new file mode 100644
      index 00000000000..029a5b932f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/print/event/PrintServiceAttributeListener.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/ClassDesc.class b/libjava/classpath/lib/javax/rmi/CORBA/ClassDesc.class
      new file mode 100644
      index 00000000000..96fa9d591b1
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/ClassDesc.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/PortableRemoteObjectDelegate.class b/libjava/classpath/lib/javax/rmi/CORBA/PortableRemoteObjectDelegate.class
      new file mode 100644
      index 00000000000..432269bffd0
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/PortableRemoteObjectDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/Stub.class b/libjava/classpath/lib/javax/rmi/CORBA/Stub.class
      new file mode 100644
      index 00000000000..1c0d21cbfe0
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/Stub.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/StubDelegate.class b/libjava/classpath/lib/javax/rmi/CORBA/StubDelegate.class
      new file mode 100644
      index 00000000000..77f1aac0a77
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/StubDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/Tie.class b/libjava/classpath/lib/javax/rmi/CORBA/Tie.class
      new file mode 100644
      index 00000000000..c4c3b82e359
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/Tie.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/Util.class b/libjava/classpath/lib/javax/rmi/CORBA/Util.class
      new file mode 100644
      index 00000000000..1175824b71c
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/Util.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/UtilDelegate.class b/libjava/classpath/lib/javax/rmi/CORBA/UtilDelegate.class
      new file mode 100644
      index 00000000000..65077c71ac3
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/UtilDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/ValueHandler.class b/libjava/classpath/lib/javax/rmi/CORBA/ValueHandler.class
      new file mode 100644
      index 00000000000..29ee23f36c5
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/ValueHandler.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/CORBA/ValueHandlerMultiFormat.class b/libjava/classpath/lib/javax/rmi/CORBA/ValueHandlerMultiFormat.class
      new file mode 100644
      index 00000000000..6b2d632a8e7
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/CORBA/ValueHandlerMultiFormat.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/PortableRemoteObject.class b/libjava/classpath/lib/javax/rmi/PortableRemoteObject.class
      new file mode 100644
      index 00000000000..b74d1450c8e
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/PortableRemoteObject.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/ssl/SslRMIClientSocketFactory.class b/libjava/classpath/lib/javax/rmi/ssl/SslRMIClientSocketFactory.class
      new file mode 100644
      index 00000000000..4ba2d6fa060
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/ssl/SslRMIClientSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/rmi/ssl/SslRMIServerSocketFactory.class b/libjava/classpath/lib/javax/rmi/ssl/SslRMIServerSocketFactory.class
      new file mode 100644
      index 00000000000..9df26d505ed
      Binary files /dev/null and b/libjava/classpath/lib/javax/rmi/ssl/SslRMIServerSocketFactory.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/AuthPermission.class b/libjava/classpath/lib/javax/security/auth/AuthPermission.class
      new file mode 100644
      index 00000000000..54e75dcede2
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/AuthPermission.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/DestroyFailedException.class b/libjava/classpath/lib/javax/security/auth/DestroyFailedException.class
      new file mode 100644
      index 00000000000..7944f18966c
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/DestroyFailedException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/Destroyable.class b/libjava/classpath/lib/javax/security/auth/Destroyable.class
      new file mode 100644
      index 00000000000..fbb944150eb
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/Destroyable.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/Policy.class b/libjava/classpath/lib/javax/security/auth/Policy.class
      new file mode 100644
      index 00000000000..50a7e6fd9b2
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/Policy.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission$CredOwner.class b/libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission$CredOwner.class
      new file mode 100644
      index 00000000000..46678c4444b
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission$CredOwner.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission.class b/libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission.class
      new file mode 100644
      index 00000000000..0143ee8e8b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/PrivateCredentialPermission.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/RefreshFailedException.class b/libjava/classpath/lib/javax/security/auth/RefreshFailedException.class
      new file mode 100644
      index 00000000000..4968d0d82aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/RefreshFailedException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/Refreshable.class b/libjava/classpath/lib/javax/security/auth/Refreshable.class
      new file mode 100644
      index 00000000000..3005e5c2f47
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/Refreshable.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/Subject$SecureSet.class b/libjava/classpath/lib/javax/security/auth/Subject$SecureSet.class
      new file mode 100644
      index 00000000000..682125eeef6
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/Subject$SecureSet.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/Subject.class b/libjava/classpath/lib/javax/security/auth/Subject.class
      new file mode 100644
      index 00000000000..9c64e0c9714
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/Subject.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/SubjectDomainCombiner.class b/libjava/classpath/lib/javax/security/auth/SubjectDomainCombiner.class
      new file mode 100644
      index 00000000000..737a678b6ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/SubjectDomainCombiner.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/Callback.class b/libjava/classpath/lib/javax/security/auth/callback/Callback.class
      new file mode 100644
      index 00000000000..6e3a344b7bd
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/Callback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/CallbackHandler.class b/libjava/classpath/lib/javax/security/auth/callback/CallbackHandler.class
      new file mode 100644
      index 00000000000..b3b4d1f8193
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/CallbackHandler.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/ChoiceCallback.class b/libjava/classpath/lib/javax/security/auth/callback/ChoiceCallback.class
      new file mode 100644
      index 00000000000..17f5201ec03
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/ChoiceCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/ConfirmationCallback.class b/libjava/classpath/lib/javax/security/auth/callback/ConfirmationCallback.class
      new file mode 100644
      index 00000000000..2110442cb11
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/ConfirmationCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/LanguageCallback.class b/libjava/classpath/lib/javax/security/auth/callback/LanguageCallback.class
      new file mode 100644
      index 00000000000..683e182573a
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/LanguageCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/NameCallback.class b/libjava/classpath/lib/javax/security/auth/callback/NameCallback.class
      new file mode 100644
      index 00000000000..b71dd8ad83a
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/NameCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/PasswordCallback.class b/libjava/classpath/lib/javax/security/auth/callback/PasswordCallback.class
      new file mode 100644
      index 00000000000..5096aa3d912
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/PasswordCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/TextInputCallback.class b/libjava/classpath/lib/javax/security/auth/callback/TextInputCallback.class
      new file mode 100644
      index 00000000000..9ec60ddfac0
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/TextInputCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/TextOutputCallback.class b/libjava/classpath/lib/javax/security/auth/callback/TextOutputCallback.class
      new file mode 100644
      index 00000000000..84800e6656c
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/TextOutputCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/callback/UnsupportedCallbackException.class b/libjava/classpath/lib/javax/security/auth/callback/UnsupportedCallbackException.class
      new file mode 100644
      index 00000000000..5863eb6ea66
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/callback/UnsupportedCallbackException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class
      new file mode 100644
      index 00000000000..17b73dd3a06
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission$1.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class
      new file mode 100644
      index 00000000000..a5a555a3bbd
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/DelegationPermission.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/KerberosKey.class b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosKey.class
      new file mode 100644
      index 00000000000..89081783c30
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosKey.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/KerberosPrincipal.class b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosPrincipal.class
      new file mode 100644
      index 00000000000..1804ee09100
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosPrincipal.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class
      new file mode 100644
      index 00000000000..2b61c570d8e
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class b/libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class
      new file mode 100644
      index 00000000000..4e6b58739b4
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class
      new file mode 100644
      index 00000000000..f8d7e1e2a8e
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission$1.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class
      new file mode 100644
      index 00000000000..567a1dd3abf
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/kerberos/ServicePermission.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/AccountException.class b/libjava/classpath/lib/javax/security/auth/login/AccountException.class
      new file mode 100644
      index 00000000000..5e7b900b8db
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/AccountException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/AccountExpiredException.class b/libjava/classpath/lib/javax/security/auth/login/AccountExpiredException.class
      new file mode 100644
      index 00000000000..aa1bf7df2c7
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/AccountExpiredException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/AccountLockedException.class b/libjava/classpath/lib/javax/security/auth/login/AccountLockedException.class
      new file mode 100644
      index 00000000000..ba3576e1778
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/AccountLockedException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/AccountNotFoundException.class b/libjava/classpath/lib/javax/security/auth/login/AccountNotFoundException.class
      new file mode 100644
      index 00000000000..f06c1599824
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/AccountNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.class b/libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.class
      new file mode 100644
      index 00000000000..db80cbfb648
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry.class b/libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry.class
      new file mode 100644
      index 00000000000..5307843c287
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/AppConfigurationEntry.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class b/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class
      new file mode 100644
      index 00000000000..cfbe1eed07a
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/Configuration$1.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/Configuration.class b/libjava/classpath/lib/javax/security/auth/login/Configuration.class
      new file mode 100644
      index 00000000000..bd233be10df
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/Configuration.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/CredentialException.class b/libjava/classpath/lib/javax/security/auth/login/CredentialException.class
      new file mode 100644
      index 00000000000..82ad8b84e0f
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/CredentialException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/CredentialExpiredException.class b/libjava/classpath/lib/javax/security/auth/login/CredentialExpiredException.class
      new file mode 100644
      index 00000000000..e313d9d8f75
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/CredentialExpiredException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/CredentialNotFoundException.class b/libjava/classpath/lib/javax/security/auth/login/CredentialNotFoundException.class
      new file mode 100644
      index 00000000000..c4bdb4eb8be
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/CredentialNotFoundException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/FailedLoginException.class b/libjava/classpath/lib/javax/security/auth/login/FailedLoginException.class
      new file mode 100644
      index 00000000000..475f605ade3
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/FailedLoginException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/LoginContext.class b/libjava/classpath/lib/javax/security/auth/login/LoginContext.class
      new file mode 100644
      index 00000000000..72a220ca94e
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/LoginContext.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/LoginException.class b/libjava/classpath/lib/javax/security/auth/login/LoginException.class
      new file mode 100644
      index 00000000000..92a141422fc
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/LoginException.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/login/NullConfiguration.class b/libjava/classpath/lib/javax/security/auth/login/NullConfiguration.class
      new file mode 100644
      index 00000000000..2fb42c31936
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/login/NullConfiguration.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/spi/LoginModule.class b/libjava/classpath/lib/javax/security/auth/spi/LoginModule.class
      new file mode 100644
      index 00000000000..395adacbc08
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/spi/LoginModule.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class b/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class
      new file mode 100644
      index 00000000000..8b8b10bfe22
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/x500/X500Principal.class differ
      diff --git a/libjava/classpath/lib/javax/security/auth/x500/X500PrivateCredential.class b/libjava/classpath/lib/javax/security/auth/x500/X500PrivateCredential.class
      new file mode 100644
      index 00000000000..9ceb6eebf0e
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/auth/x500/X500PrivateCredential.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/Certificate.class b/libjava/classpath/lib/javax/security/cert/Certificate.class
      new file mode 100644
      index 00000000000..19e849833e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/Certificate.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/CertificateEncodingException.class b/libjava/classpath/lib/javax/security/cert/CertificateEncodingException.class
      new file mode 100644
      index 00000000000..7355f636d3a
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/CertificateEncodingException.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/CertificateException.class b/libjava/classpath/lib/javax/security/cert/CertificateException.class
      new file mode 100644
      index 00000000000..2682adc4315
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/CertificateException.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/CertificateExpiredException.class b/libjava/classpath/lib/javax/security/cert/CertificateExpiredException.class
      new file mode 100644
      index 00000000000..405b021ef70
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/CertificateExpiredException.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/CertificateNotYetValidException.class b/libjava/classpath/lib/javax/security/cert/CertificateNotYetValidException.class
      new file mode 100644
      index 00000000000..0abee4f8022
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/CertificateNotYetValidException.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/CertificateParsingException.class b/libjava/classpath/lib/javax/security/cert/CertificateParsingException.class
      new file mode 100644
      index 00000000000..232946f9dce
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/CertificateParsingException.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/X509CertBridge.class b/libjava/classpath/lib/javax/security/cert/X509CertBridge.class
      new file mode 100644
      index 00000000000..30f73b590e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/X509CertBridge.class differ
      diff --git a/libjava/classpath/lib/javax/security/cert/X509Certificate.class b/libjava/classpath/lib/javax/security/cert/X509Certificate.class
      new file mode 100644
      index 00000000000..07f0f3902c1
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/cert/X509Certificate.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/AuthenticationException.class b/libjava/classpath/lib/javax/security/sasl/AuthenticationException.class
      new file mode 100644
      index 00000000000..0469cc5186e
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/AuthenticationException.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/AuthorizeCallback.class b/libjava/classpath/lib/javax/security/sasl/AuthorizeCallback.class
      new file mode 100644
      index 00000000000..bb976ec1c37
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/AuthorizeCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/RealmCallback.class b/libjava/classpath/lib/javax/security/sasl/RealmCallback.class
      new file mode 100644
      index 00000000000..683a99b11ba
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/RealmCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/RealmChoiceCallback.class b/libjava/classpath/lib/javax/security/sasl/RealmChoiceCallback.class
      new file mode 100644
      index 00000000000..3f36f2b7303
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/RealmChoiceCallback.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/Sasl.class b/libjava/classpath/lib/javax/security/sasl/Sasl.class
      new file mode 100644
      index 00000000000..f730d3191f4
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/Sasl.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/SaslClient.class b/libjava/classpath/lib/javax/security/sasl/SaslClient.class
      new file mode 100644
      index 00000000000..670745bb65b
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/SaslClient.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/SaslClientFactory.class b/libjava/classpath/lib/javax/security/sasl/SaslClientFactory.class
      new file mode 100644
      index 00000000000..4e0aacdfc69
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/SaslClientFactory.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/SaslException.class b/libjava/classpath/lib/javax/security/sasl/SaslException.class
      new file mode 100644
      index 00000000000..2121acee357
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/SaslException.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/SaslServer.class b/libjava/classpath/lib/javax/security/sasl/SaslServer.class
      new file mode 100644
      index 00000000000..5170e56c69e
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/SaslServer.class differ
      diff --git a/libjava/classpath/lib/javax/security/sasl/SaslServerFactory.class b/libjava/classpath/lib/javax/security/sasl/SaslServerFactory.class
      new file mode 100644
      index 00000000000..8769c08450d
      Binary files /dev/null and b/libjava/classpath/lib/javax/security/sasl/SaslServerFactory.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/ControllerEventListener.class b/libjava/classpath/lib/javax/sound/midi/ControllerEventListener.class
      new file mode 100644
      index 00000000000..da0c409846d
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/ControllerEventListener.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Instrument.class b/libjava/classpath/lib/javax/sound/midi/Instrument.class
      new file mode 100644
      index 00000000000..98fff9ed2aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Instrument.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/InvalidMidiDataException.class b/libjava/classpath/lib/javax/sound/midi/InvalidMidiDataException.class
      new file mode 100644
      index 00000000000..0a4b24cfc3e
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/InvalidMidiDataException.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MetaEventListener.class b/libjava/classpath/lib/javax/sound/midi/MetaEventListener.class
      new file mode 100644
      index 00000000000..aad406108f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MetaEventListener.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MetaMessage.class b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class
      new file mode 100644
      index 00000000000..8ac24605748
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MetaMessage.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiChannel.class b/libjava/classpath/lib/javax/sound/midi/MidiChannel.class
      new file mode 100644
      index 00000000000..341a9bb2eb8
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiChannel.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class
      new file mode 100644
      index 00000000000..773d8316752
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiDevice$Info.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiDevice.class b/libjava/classpath/lib/javax/sound/midi/MidiDevice.class
      new file mode 100644
      index 00000000000..a299aa94f4e
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiDevice.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiEvent.class b/libjava/classpath/lib/javax/sound/midi/MidiEvent.class
      new file mode 100644
      index 00000000000..0bc17e6595b
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiEvent.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiFileFormat.class b/libjava/classpath/lib/javax/sound/midi/MidiFileFormat.class
      new file mode 100644
      index 00000000000..b6e2ce4482c
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiFileFormat.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiMessage.class b/libjava/classpath/lib/javax/sound/midi/MidiMessage.class
      new file mode 100644
      index 00000000000..8ddb8aab286
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiMessage.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiSystem.class b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class
      new file mode 100644
      index 00000000000..b25a832b35f
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiSystem.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/MidiUnavailableException.class b/libjava/classpath/lib/javax/sound/midi/MidiUnavailableException.class
      new file mode 100644
      index 00000000000..13a292367dd
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/MidiUnavailableException.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Patch.class b/libjava/classpath/lib/javax/sound/midi/Patch.class
      new file mode 100644
      index 00000000000..d633eedff32
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Patch.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Receiver.class b/libjava/classpath/lib/javax/sound/midi/Receiver.class
      new file mode 100644
      index 00000000000..965bd62c370
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Receiver.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Sequence.class b/libjava/classpath/lib/javax/sound/midi/Sequence.class
      new file mode 100644
      index 00000000000..5538228dea7
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Sequence.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Sequencer$SyncMode.class b/libjava/classpath/lib/javax/sound/midi/Sequencer$SyncMode.class
      new file mode 100644
      index 00000000000..5a38235843b
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Sequencer$SyncMode.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Sequencer.class b/libjava/classpath/lib/javax/sound/midi/Sequencer.class
      new file mode 100644
      index 00000000000..ae2a2d5e020
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Sequencer.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/ShortMessage.class b/libjava/classpath/lib/javax/sound/midi/ShortMessage.class
      new file mode 100644
      index 00000000000..58a4653bab7
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/ShortMessage.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Soundbank.class b/libjava/classpath/lib/javax/sound/midi/Soundbank.class
      new file mode 100644
      index 00000000000..d6cb8af2c24
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Soundbank.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class
      new file mode 100644
      index 00000000000..9d6077963fd
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/SoundbankResource.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Synthesizer.class b/libjava/classpath/lib/javax/sound/midi/Synthesizer.class
      new file mode 100644
      index 00000000000..bb4465a0cc3
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Synthesizer.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/SysexMessage.class b/libjava/classpath/lib/javax/sound/midi/SysexMessage.class
      new file mode 100644
      index 00000000000..98b6f6a3f90
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/SysexMessage.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Track.class b/libjava/classpath/lib/javax/sound/midi/Track.class
      new file mode 100644
      index 00000000000..48f61a4f035
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Track.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/Transmitter.class b/libjava/classpath/lib/javax/sound/midi/Transmitter.class
      new file mode 100644
      index 00000000000..41b968b49ff
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/Transmitter.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/VoiceStatus.class b/libjava/classpath/lib/javax/sound/midi/VoiceStatus.class
      new file mode 100644
      index 00000000000..23d64373016
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/VoiceStatus.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class b/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class
      new file mode 100644
      index 00000000000..9bd4b0c2f73
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/spi/MidiDeviceProvider.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/spi/MidiFileReader.class b/libjava/classpath/lib/javax/sound/midi/spi/MidiFileReader.class
      new file mode 100644
      index 00000000000..c85f4969508
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/spi/MidiFileReader.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/spi/MidiFileWriter.class b/libjava/classpath/lib/javax/sound/midi/spi/MidiFileWriter.class
      new file mode 100644
      index 00000000000..a1edb6663c0
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/spi/MidiFileWriter.class differ
      diff --git a/libjava/classpath/lib/javax/sound/midi/spi/SoundbankReader.class b/libjava/classpath/lib/javax/sound/midi/spi/SoundbankReader.class
      new file mode 100644
      index 00000000000..d2c63aba084
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/midi/spi/SoundbankReader.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat$Type.class b/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat$Type.class
      new file mode 100644
      index 00000000000..f3087e7ee45
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class b/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class
      new file mode 100644
      index 00000000000..9080a541521
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioFileFormat.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioFormat$Encoding.class b/libjava/classpath/lib/javax/sound/sampled/AudioFormat$Encoding.class
      new file mode 100644
      index 00000000000..e76624cd29e
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioFormat$Encoding.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class b/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class
      new file mode 100644
      index 00000000000..2d7d4ec3c49
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioFormat.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioInputStream$TargetInputStream.class b/libjava/classpath/lib/javax/sound/sampled/AudioInputStream$TargetInputStream.class
      new file mode 100644
      index 00000000000..24ad3615721
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioInputStream$TargetInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioInputStream.class b/libjava/classpath/lib/javax/sound/sampled/AudioInputStream.class
      new file mode 100644
      index 00000000000..7653aede88e
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioPermission.class b/libjava/classpath/lib/javax/sound/sampled/AudioPermission.class
      new file mode 100644
      index 00000000000..b6838116775
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioPermission.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class
      new file mode 100644
      index 00000000000..d2f9df90375
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/AudioSystem.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class
      new file mode 100644
      index 00000000000..2b34f328453
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/BooleanControl$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class b/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class
      new file mode 100644
      index 00000000000..66638a9a34c
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/BooleanControl.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Clip.class b/libjava/classpath/lib/javax/sound/sampled/Clip.class
      new file mode 100644
      index 00000000000..fbf12f30eb0
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Clip.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class
      new file mode 100644
      index 00000000000..e3cd87ceec0
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/CompoundControl$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class b/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class
      new file mode 100644
      index 00000000000..b7257a2c97f
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/CompoundControl.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Control$Type.class b/libjava/classpath/lib/javax/sound/sampled/Control$Type.class
      new file mode 100644
      index 00000000000..fde49fabef5
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Control$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Control.class b/libjava/classpath/lib/javax/sound/sampled/Control.class
      new file mode 100644
      index 00000000000..5dfef019310
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Control.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class b/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class
      new file mode 100644
      index 00000000000..fd9cc41a248
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/DataLine$Info.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/DataLine.class b/libjava/classpath/lib/javax/sound/sampled/DataLine.class
      new file mode 100644
      index 00000000000..06e2775e63e
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/DataLine.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class
      new file mode 100644
      index 00000000000..a3c7e7cd779
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/EnumControl$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/EnumControl.class b/libjava/classpath/lib/javax/sound/sampled/EnumControl.class
      new file mode 100644
      index 00000000000..9a14b3b41f0
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/EnumControl.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class b/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class
      new file mode 100644
      index 00000000000..31ab6794646
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/FloatControl$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/FloatControl.class b/libjava/classpath/lib/javax/sound/sampled/FloatControl.class
      new file mode 100644
      index 00000000000..342f907f3c8
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/FloatControl.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Line$Info.class b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class
      new file mode 100644
      index 00000000000..209f4f95589
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Line$Info.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Line.class b/libjava/classpath/lib/javax/sound/sampled/Line.class
      new file mode 100644
      index 00000000000..61cf116efcb
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Line.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/LineEvent$Type.class b/libjava/classpath/lib/javax/sound/sampled/LineEvent$Type.class
      new file mode 100644
      index 00000000000..a4125ba4a65
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/LineEvent$Type.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/LineEvent.class b/libjava/classpath/lib/javax/sound/sampled/LineEvent.class
      new file mode 100644
      index 00000000000..cb25c30d8ca
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/LineEvent.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/LineListener.class b/libjava/classpath/lib/javax/sound/sampled/LineListener.class
      new file mode 100644
      index 00000000000..1f88506b0cb
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/LineListener.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/LineUnavailableException.class b/libjava/classpath/lib/javax/sound/sampled/LineUnavailableException.class
      new file mode 100644
      index 00000000000..b234d582c83
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/LineUnavailableException.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Mixer$Info.class b/libjava/classpath/lib/javax/sound/sampled/Mixer$Info.class
      new file mode 100644
      index 00000000000..930c42d7543
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Mixer$Info.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Mixer.class b/libjava/classpath/lib/javax/sound/sampled/Mixer.class
      new file mode 100644
      index 00000000000..a079741b7db
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Mixer.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Port$Info.class b/libjava/classpath/lib/javax/sound/sampled/Port$Info.class
      new file mode 100644
      index 00000000000..e8a1cdd4f2c
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Port$Info.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/Port.class b/libjava/classpath/lib/javax/sound/sampled/Port.class
      new file mode 100644
      index 00000000000..24788902b60
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/Port.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/ReverbType.class b/libjava/classpath/lib/javax/sound/sampled/ReverbType.class
      new file mode 100644
      index 00000000000..63525a1845a
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/ReverbType.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/SourceDataLine.class b/libjava/classpath/lib/javax/sound/sampled/SourceDataLine.class
      new file mode 100644
      index 00000000000..1c8c0c87fbe
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/SourceDataLine.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/TargetDataLine.class b/libjava/classpath/lib/javax/sound/sampled/TargetDataLine.class
      new file mode 100644
      index 00000000000..7ce66777227
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/TargetDataLine.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/UnsupportedAudioFileException.class b/libjava/classpath/lib/javax/sound/sampled/UnsupportedAudioFileException.class
      new file mode 100644
      index 00000000000..c6ae28916fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/UnsupportedAudioFileException.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileReader.class b/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileReader.class
      new file mode 100644
      index 00000000000..4e2e4e5edd6
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileReader.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class b/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class
      new file mode 100644
      index 00000000000..cf5d8e438dd
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/spi/AudioFileWriter.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class b/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class
      new file mode 100644
      index 00000000000..6ecb4404113
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/spi/FormatConversionProvider.class differ
      diff --git a/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class b/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class
      new file mode 100644
      index 00000000000..aee30946f1b
      Binary files /dev/null and b/libjava/classpath/lib/javax/sound/sampled/spi/MixerProvider.class differ
      diff --git a/libjava/classpath/lib/javax/sql/ConnectionEvent.class b/libjava/classpath/lib/javax/sql/ConnectionEvent.class
      new file mode 100644
      index 00000000000..8345645c27c
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/ConnectionEvent.class differ
      diff --git a/libjava/classpath/lib/javax/sql/ConnectionEventListener.class b/libjava/classpath/lib/javax/sql/ConnectionEventListener.class
      new file mode 100644
      index 00000000000..48e29c20124
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/ConnectionEventListener.class differ
      diff --git a/libjava/classpath/lib/javax/sql/ConnectionPoolDataSource.class b/libjava/classpath/lib/javax/sql/ConnectionPoolDataSource.class
      new file mode 100644
      index 00000000000..6955eba58d5
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/ConnectionPoolDataSource.class differ
      diff --git a/libjava/classpath/lib/javax/sql/DataSource.class b/libjava/classpath/lib/javax/sql/DataSource.class
      new file mode 100644
      index 00000000000..1c9f7ced2d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/DataSource.class differ
      diff --git a/libjava/classpath/lib/javax/sql/PooledConnection.class b/libjava/classpath/lib/javax/sql/PooledConnection.class
      new file mode 100644
      index 00000000000..fcf55c69f18
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/PooledConnection.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSet.class b/libjava/classpath/lib/javax/sql/RowSet.class
      new file mode 100644
      index 00000000000..9300a983b94
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSet.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSetEvent.class b/libjava/classpath/lib/javax/sql/RowSetEvent.class
      new file mode 100644
      index 00000000000..695fe118019
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSetEvent.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSetInternal.class b/libjava/classpath/lib/javax/sql/RowSetInternal.class
      new file mode 100644
      index 00000000000..1cde9fc7d31
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSetInternal.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSetListener.class b/libjava/classpath/lib/javax/sql/RowSetListener.class
      new file mode 100644
      index 00000000000..6a5dc97043e
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSetListener.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSetMetaData.class b/libjava/classpath/lib/javax/sql/RowSetMetaData.class
      new file mode 100644
      index 00000000000..0ba95bb1518
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSetMetaData.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSetReader.class b/libjava/classpath/lib/javax/sql/RowSetReader.class
      new file mode 100644
      index 00000000000..f2a4b51cb70
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSetReader.class differ
      diff --git a/libjava/classpath/lib/javax/sql/RowSetWriter.class b/libjava/classpath/lib/javax/sql/RowSetWriter.class
      new file mode 100644
      index 00000000000..206000904ff
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/RowSetWriter.class differ
      diff --git a/libjava/classpath/lib/javax/sql/XAConnection.class b/libjava/classpath/lib/javax/sql/XAConnection.class
      new file mode 100644
      index 00000000000..86ab2c5f81c
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/XAConnection.class differ
      diff --git a/libjava/classpath/lib/javax/sql/XADataSource.class b/libjava/classpath/lib/javax/sql/XADataSource.class
      new file mode 100644
      index 00000000000..611cabecc73
      Binary files /dev/null and b/libjava/classpath/lib/javax/sql/XADataSource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractAction.class b/libjava/classpath/lib/javax/swing/AbstractAction.class
      new file mode 100644
      index 00000000000..8d2cdaf6759
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$1.class b/libjava/classpath/lib/javax/swing/AbstractButton$1.class
      new file mode 100644
      index 00000000000..1d5de118bef
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractButton$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class b/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class
      new file mode 100644
      index 00000000000..8e07d370ed2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractButton$AccessibleAbstractButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class b/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class
      new file mode 100644
      index 00000000000..540f0116e60
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractButton$ButtonChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractButton$EventHandler.class b/libjava/classpath/lib/javax/swing/AbstractButton$EventHandler.class
      new file mode 100644
      index 00000000000..370e7d3cebe
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractButton$EventHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractButton.class b/libjava/classpath/lib/javax/swing/AbstractButton.class
      new file mode 100644
      index 00000000000..cfbd15b15a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractCellEditor.class b/libjava/classpath/lib/javax/swing/AbstractCellEditor.class
      new file mode 100644
      index 00000000000..d33c2300bff
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractCellEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractListModel.class b/libjava/classpath/lib/javax/swing/AbstractListModel.class
      new file mode 100644
      index 00000000000..e569d3970a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractListModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/AbstractSpinnerModel.class b/libjava/classpath/lib/javax/swing/AbstractSpinnerModel.class
      new file mode 100644
      index 00000000000..9af9510cbd6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/AbstractSpinnerModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Action.class b/libjava/classpath/lib/javax/swing/Action.class
      new file mode 100644
      index 00000000000..19dd930f971
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Action.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ActionMap.class b/libjava/classpath/lib/javax/swing/ActionMap.class
      new file mode 100644
      index 00000000000..e77f7d59c6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ActionMap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/BorderFactory.class b/libjava/classpath/lib/javax/swing/BorderFactory.class
      new file mode 100644
      index 00000000000..899b235ceed
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/BorderFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/BoundedRangeModel.class b/libjava/classpath/lib/javax/swing/BoundedRangeModel.class
      new file mode 100644
      index 00000000000..25718220140
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/BoundedRangeModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class b/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class
      new file mode 100644
      index 00000000000..ad22919f878
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Box$AccessibleBox.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class b/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class
      new file mode 100644
      index 00000000000..a45d6ff0c2e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Box$Filler$AccessibleBoxFiller.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Box$Filler.class b/libjava/classpath/lib/javax/swing/Box$Filler.class
      new file mode 100644
      index 00000000000..b1337ef11e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Box$Filler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Box.class b/libjava/classpath/lib/javax/swing/Box.class
      new file mode 100644
      index 00000000000..83d2ebda7af
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Box.class differ
      diff --git a/libjava/classpath/lib/javax/swing/BoxLayout.class b/libjava/classpath/lib/javax/swing/BoxLayout.class
      new file mode 100644
      index 00000000000..ae04a89ca00
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/BoxLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ButtonGroup.class b/libjava/classpath/lib/javax/swing/ButtonGroup.class
      new file mode 100644
      index 00000000000..075241032ef
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ButtonGroup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ButtonModel.class b/libjava/classpath/lib/javax/swing/ButtonModel.class
      new file mode 100644
      index 00000000000..475947322ce
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ButtonModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/CellEditor.class b/libjava/classpath/lib/javax/swing/CellEditor.class
      new file mode 100644
      index 00000000000..96007a35b3d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/CellEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class b/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class
      new file mode 100644
      index 00000000000..2896e8d18e1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/CellRendererPane$AccessibleCellRendererPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/CellRendererPane.class b/libjava/classpath/lib/javax/swing/CellRendererPane.class
      new file mode 100644
      index 00000000000..08492c9bdd7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/CellRendererPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ComboBoxEditor.class b/libjava/classpath/lib/javax/swing/ComboBoxEditor.class
      new file mode 100644
      index 00000000000..85bd49e825d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ComboBoxEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ComboBoxModel.class b/libjava/classpath/lib/javax/swing/ComboBoxModel.class
      new file mode 100644
      index 00000000000..b71063fad98
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ComboBoxModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/CompatibilityFocusTraversalPolicy.class b/libjava/classpath/lib/javax/swing/CompatibilityFocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..ddfc8d650dd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/CompatibilityFocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ComponentInputMap.class b/libjava/classpath/lib/javax/swing/ComponentInputMap.class
      new file mode 100644
      index 00000000000..d096b1281bd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ComponentInputMap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DebugGraphics.class b/libjava/classpath/lib/javax/swing/DebugGraphics.class
      new file mode 100644
      index 00000000000..9534faf8694
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DebugGraphics.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultBoundedRangeModel.class b/libjava/classpath/lib/javax/swing/DefaultBoundedRangeModel.class
      new file mode 100644
      index 00000000000..a24281d3802
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultBoundedRangeModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultButtonModel.class b/libjava/classpath/lib/javax/swing/DefaultButtonModel.class
      new file mode 100644
      index 00000000000..dca5b10f024
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultButtonModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$EditorDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$EditorDelegate.class
      new file mode 100644
      index 00000000000..626f1fdf787
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$EditorDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class
      new file mode 100644
      index 00000000000..db05a1f026a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JCheckBoxDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class
      new file mode 100644
      index 00000000000..db5727c3aec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JComboBoxDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class
      new file mode 100644
      index 00000000000..55ba84034ed
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultCellEditor$JTextFieldDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultCellEditor.class b/libjava/classpath/lib/javax/swing/DefaultCellEditor.class
      new file mode 100644
      index 00000000000..3c842bc6af1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultCellEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class b/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class
      new file mode 100644
      index 00000000000..5c9277d2c79
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultComboBoxModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class b/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class
      new file mode 100644
      index 00000000000..c5202be5dca
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultDesktopManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultFocusManager.class b/libjava/classpath/lib/javax/swing/DefaultFocusManager.class
      new file mode 100644
      index 00000000000..95670804cd5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultFocusManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultListCellRenderer$UIResource.class b/libjava/classpath/lib/javax/swing/DefaultListCellRenderer$UIResource.class
      new file mode 100644
      index 00000000000..9ef635ccad8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultListCellRenderer$UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultListCellRenderer.class b/libjava/classpath/lib/javax/swing/DefaultListCellRenderer.class
      new file mode 100644
      index 00000000000..83f1ad19534
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultListCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultListModel.class b/libjava/classpath/lib/javax/swing/DefaultListModel.class
      new file mode 100644
      index 00000000000..54dc30cc4ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultListModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultListSelectionModel.class b/libjava/classpath/lib/javax/swing/DefaultListSelectionModel.class
      new file mode 100644
      index 00000000000..00e889a2343
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultListSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DefaultSingleSelectionModel.class b/libjava/classpath/lib/javax/swing/DefaultSingleSelectionModel.class
      new file mode 100644
      index 00000000000..bb97ffc6050
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DefaultSingleSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/DesktopManager.class b/libjava/classpath/lib/javax/swing/DesktopManager.class
      new file mode 100644
      index 00000000000..683d8ef5f0e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/DesktopManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/FocusManager$WrappingFocusManager.class b/libjava/classpath/lib/javax/swing/FocusManager$WrappingFocusManager.class
      new file mode 100644
      index 00000000000..ec7de01f39e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/FocusManager$WrappingFocusManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/FocusManager.class b/libjava/classpath/lib/javax/swing/FocusManager.class
      new file mode 100644
      index 00000000000..b7488db7fa6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/FocusManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/GrayFilter.class b/libjava/classpath/lib/javax/swing/GrayFilter.class
      new file mode 100644
      index 00000000000..0aaa03ba9b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/GrayFilter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Icon.class b/libjava/classpath/lib/javax/swing/Icon.class
      new file mode 100644
      index 00000000000..8386bf820d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Icon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ImageIcon$1.class b/libjava/classpath/lib/javax/swing/ImageIcon$1.class
      new file mode 100644
      index 00000000000..96518d938e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ImageIcon$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ImageIcon$AccessibleImageIcon.class b/libjava/classpath/lib/javax/swing/ImageIcon$AccessibleImageIcon.class
      new file mode 100644
      index 00000000000..e4cb57cf0af
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ImageIcon$AccessibleImageIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ImageIcon.class b/libjava/classpath/lib/javax/swing/ImageIcon.class
      new file mode 100644
      index 00000000000..337e4046424
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ImageIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/InputMap.class b/libjava/classpath/lib/javax/swing/InputMap.class
      new file mode 100644
      index 00000000000..96dbcbf3559
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/InputMap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/InputVerifier.class b/libjava/classpath/lib/javax/swing/InputVerifier.class
      new file mode 100644
      index 00000000000..c870f7361c4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/InputVerifier.class differ
      diff --git a/libjava/classpath/lib/javax/swing/InternalFrameFocusTraversalPolicy.class b/libjava/classpath/lib/javax/swing/InternalFrameFocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..7bef033ee96
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/InternalFrameFocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class b/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class
      new file mode 100644
      index 00000000000..cce1a78a3a7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JApplet$AccessibleJApplet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JApplet.class b/libjava/classpath/lib/javax/swing/JApplet.class
      new file mode 100644
      index 00000000000..dedd9a3f43a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JApplet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class b/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class
      new file mode 100644
      index 00000000000..1a4d39ed305
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JButton$AccessibleJButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JButton.class b/libjava/classpath/lib/javax/swing/JButton.class
      new file mode 100644
      index 00000000000..e58fa255390
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class b/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class
      new file mode 100644
      index 00000000000..12a30d9b03c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JCheckBox$AccessibleJCheckBox.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JCheckBox.class b/libjava/classpath/lib/javax/swing/JCheckBox.class
      new file mode 100644
      index 00000000000..f1e5047c61f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JCheckBox.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class
      new file mode 100644
      index 00000000000..cff8ca29dc0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class
      new file mode 100644
      index 00000000000..61aa5dac733
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JCheckBoxMenuItem.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class b/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class
      new file mode 100644
      index 00000000000..f99ba9800c5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JColorChooser$AccessibleJColorChooser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JColorChooser$DefaultOKCancelListener.class b/libjava/classpath/lib/javax/swing/JColorChooser$DefaultOKCancelListener.class
      new file mode 100644
      index 00000000000..dfb2da1521d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JColorChooser$DefaultOKCancelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JColorChooser$DefaultResetListener.class b/libjava/classpath/lib/javax/swing/JColorChooser$DefaultResetListener.class
      new file mode 100644
      index 00000000000..046775252a8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JColorChooser$DefaultResetListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JColorChooser.class b/libjava/classpath/lib/javax/swing/JColorChooser.class
      new file mode 100644
      index 00000000000..671cfca567e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JColorChooser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComboBox$1.class b/libjava/classpath/lib/javax/swing/JComboBox$1.class
      new file mode 100644
      index 00000000000..bf89068bc0c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComboBox$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class b/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class
      new file mode 100644
      index 00000000000..a5dadd997d4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComboBox$AccessibleJComboBox.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class b/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class
      new file mode 100644
      index 00000000000..6e3691d137b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComboBox$DefaultKeySelectionManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComboBox$KeySelectionManager.class b/libjava/classpath/lib/javax/swing/JComboBox$KeySelectionManager.class
      new file mode 100644
      index 00000000000..d0cc93a6898
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComboBox$KeySelectionManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComboBox.class b/libjava/classpath/lib/javax/swing/JComboBox.class
      new file mode 100644
      index 00000000000..503032ee53d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComboBox.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComponent$1.class b/libjava/classpath/lib/javax/swing/JComponent$1.class
      new file mode 100644
      index 00000000000..93aa102eee7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComponent$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.class b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.class
      new file mode 100644
      index 00000000000..e3ff2403e64
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.class b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.class
      new file mode 100644
      index 00000000000..04ef17a8bd7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class
      new file mode 100644
      index 00000000000..3369abda0da
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComponent$AccessibleJComponent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class b/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class
      new file mode 100644
      index 00000000000..de03869e5a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComponent$ActionListenerProxy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JComponent.class b/libjava/classpath/lib/javax/swing/JComponent.class
      new file mode 100644
      index 00000000000..38faa58d43d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JComponent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class b/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class
      new file mode 100644
      index 00000000000..1e391c98412
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JDesktopPane$AccessibleJDesktopPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JDesktopPane.class b/libjava/classpath/lib/javax/swing/JDesktopPane.class
      new file mode 100644
      index 00000000000..1796754c8aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JDesktopPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class b/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class
      new file mode 100644
      index 00000000000..ff7f96fd0b6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JDialog$AccessibleJDialog.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JDialog.class b/libjava/classpath/lib/javax/swing/JDialog.class
      new file mode 100644
      index 00000000000..6490589814b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JDialog.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$1.class b/libjava/classpath/lib/javax/swing/JEditorPane$1.class
      new file mode 100644
      index 00000000000..f4e5adaa8d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$2.class b/libjava/classpath/lib/javax/swing/JEditorPane$2.class
      new file mode 100644
      index 00000000000..6e31c329939
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class
      new file mode 100644
      index 00000000000..9136bf06ded
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class
      new file mode 100644
      index 00000000000..bad4a42ed97
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$EditorKitMapping.class b/libjava/classpath/lib/javax/swing/JEditorPane$EditorKitMapping.class
      new file mode 100644
      index 00000000000..16a82e06934
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$EditorKitMapping.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class
      new file mode 100644
      index 00000000000..92dbe6c6db0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class
      new file mode 100644
      index 00000000000..d1fdba2ad82
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class b/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class
      new file mode 100644
      index 00000000000..46e86e003e5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$PageLoader.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$PageStream.class b/libjava/classpath/lib/javax/swing/JEditorPane$PageStream.class
      new file mode 100644
      index 00000000000..cc7abeff0a3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$PageStream.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class b/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class
      new file mode 100644
      index 00000000000..52a08bda450
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane$PlainEditorKit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JEditorPane.class b/libjava/classpath/lib/javax/swing/JEditorPane.class
      new file mode 100644
      index 00000000000..3bb05c84787
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JEditorPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFileChooser$1.class b/libjava/classpath/lib/javax/swing/JFileChooser$1.class
      new file mode 100644
      index 00000000000..c6035233224
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFileChooser$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class b/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class
      new file mode 100644
      index 00000000000..8c821aa49be
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFileChooser$AccessibleJFileChooser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFileChooser.class b/libjava/classpath/lib/javax/swing/JFileChooser.class
      new file mode 100644
      index 00000000000..4725b19dbb1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFileChooser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatter.class b/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatter.class
      new file mode 100644
      index 00000000000..6745dda7b57
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class b/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class
      new file mode 100644
      index 00000000000..8dc1d25b7f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFormattedTextField$AbstractFormatterFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFormattedTextField.class b/libjava/classpath/lib/javax/swing/JFormattedTextField.class
      new file mode 100644
      index 00000000000..fb73ee2f557
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFormattedTextField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class b/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class
      new file mode 100644
      index 00000000000..cc23e67728c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFrame$AccessibleJFrame.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JFrame.class b/libjava/classpath/lib/javax/swing/JFrame.class
      new file mode 100644
      index 00000000000..828e84b040a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JFrame.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class b/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class
      new file mode 100644
      index 00000000000..ca22355cc5e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JInternalFrame$AccessibleJInternalFrame.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class b/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class
      new file mode 100644
      index 00000000000..b449e93a5fc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon.class b/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon.class
      new file mode 100644
      index 00000000000..8fac3b0791b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JInternalFrame$JDesktopIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JInternalFrame.class b/libjava/classpath/lib/javax/swing/JInternalFrame.class
      new file mode 100644
      index 00000000000..34e6d3e18dc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JInternalFrame.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class b/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class
      new file mode 100644
      index 00000000000..8946b03f8ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JLabel$AccessibleJLabel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JLabel.class b/libjava/classpath/lib/javax/swing/JLabel.class
      new file mode 100644
      index 00000000000..20256d03cd8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JLabel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class b/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class
      new file mode 100644
      index 00000000000..1e46eb03c81
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JLayeredPane$AccessibleJLayeredPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JLayeredPane.class b/libjava/classpath/lib/javax/swing/JLayeredPane.class
      new file mode 100644
      index 00000000000..6580cd0ded9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JLayeredPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList$1.class b/libjava/classpath/lib/javax/swing/JList$1.class
      new file mode 100644
      index 00000000000..42fb0c50324
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList$2.class b/libjava/classpath/lib/javax/swing/JList$2.class
      new file mode 100644
      index 00000000000..ab9936f9b34
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList$3.class b/libjava/classpath/lib/javax/swing/JList$3.class
      new file mode 100644
      index 00000000000..26127d16446
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList$AccessibleJList$AccessibleJListChild.class b/libjava/classpath/lib/javax/swing/JList$AccessibleJList$AccessibleJListChild.class
      new file mode 100644
      index 00000000000..31d2c948003
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList$AccessibleJList$AccessibleJListChild.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class b/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class
      new file mode 100644
      index 00000000000..c59bd511a0b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList$AccessibleJList.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList$ListListener.class b/libjava/classpath/lib/javax/swing/JList$ListListener.class
      new file mode 100644
      index 00000000000..3a77f552318
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList$ListListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JList.class b/libjava/classpath/lib/javax/swing/JList.class
      new file mode 100644
      index 00000000000..c2bfb22c23d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JList.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class b/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class
      new file mode 100644
      index 00000000000..ed7ce854701
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenu$AccessibleJMenu.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenu$ActionChangedListener.class b/libjava/classpath/lib/javax/swing/JMenu$ActionChangedListener.class
      new file mode 100644
      index 00000000000..c26366f2e5c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenu$ActionChangedListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenu$MenuChangeListener.class b/libjava/classpath/lib/javax/swing/JMenu$MenuChangeListener.class
      new file mode 100644
      index 00000000000..87bc69e1f72
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenu$MenuChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenu$WinListener.class b/libjava/classpath/lib/javax/swing/JMenu$WinListener.class
      new file mode 100644
      index 00000000000..9165f7253c7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenu$WinListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenu.class b/libjava/classpath/lib/javax/swing/JMenu.class
      new file mode 100644
      index 00000000000..a9048b4d7a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenu.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class b/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class
      new file mode 100644
      index 00000000000..e18ea98b571
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenuBar$AccessibleJMenuBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenuBar.class b/libjava/classpath/lib/javax/swing/JMenuBar.class
      new file mode 100644
      index 00000000000..92fb6702672
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenuBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenuItem$1.class b/libjava/classpath/lib/javax/swing/JMenuItem$1.class
      new file mode 100644
      index 00000000000..bdbf0198d2d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenuItem$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class b/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class
      new file mode 100644
      index 00000000000..53d942cc2d5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenuItem$AccessibleJMenuItem.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JMenuItem.class b/libjava/classpath/lib/javax/swing/JMenuItem.class
      new file mode 100644
      index 00000000000..40ea604e64d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JMenuItem.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$1.class b/libjava/classpath/lib/javax/swing/JOptionPane$1.class
      new file mode 100644
      index 00000000000..ab081131f05
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JOptionPane$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$2.class b/libjava/classpath/lib/javax/swing/JOptionPane$2.class
      new file mode 100644
      index 00000000000..0e91f40a8c3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JOptionPane$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class b/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class
      new file mode 100644
      index 00000000000..862460639ce
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JOptionPane$AccessibleJOptionPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JOptionPane$ValuePropertyHandler.class b/libjava/classpath/lib/javax/swing/JOptionPane$ValuePropertyHandler.class
      new file mode 100644
      index 00000000000..1204e5cc638
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JOptionPane$ValuePropertyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JOptionPane.class b/libjava/classpath/lib/javax/swing/JOptionPane.class
      new file mode 100644
      index 00000000000..1361ece20f8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JOptionPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class b/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class
      new file mode 100644
      index 00000000000..bf150651cb7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPanel$AccessibleJPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPanel.class b/libjava/classpath/lib/javax/swing/JPanel.class
      new file mode 100644
      index 00000000000..3327f966c07
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class b/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class
      new file mode 100644
      index 00000000000..ed73312d512
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPasswordField$AccessibleJPasswordField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPasswordField.class b/libjava/classpath/lib/javax/swing/JPasswordField.class
      new file mode 100644
      index 00000000000..98f7e241bd3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPasswordField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$1.class b/libjava/classpath/lib/javax/swing/JPopupMenu$1.class
      new file mode 100644
      index 00000000000..f1856f1b860
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPopupMenu$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$2.class b/libjava/classpath/lib/javax/swing/JPopupMenu$2.class
      new file mode 100644
      index 00000000000..4aae7a1c3ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPopupMenu$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class b/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class
      new file mode 100644
      index 00000000000..c54d3c7531a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPopupMenu$AccessibleJPopupMenu.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$ActionChangeListener.class b/libjava/classpath/lib/javax/swing/JPopupMenu$ActionChangeListener.class
      new file mode 100644
      index 00000000000..0699c204b9c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPopupMenu$ActionChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu$Separator.class b/libjava/classpath/lib/javax/swing/JPopupMenu$Separator.class
      new file mode 100644
      index 00000000000..30e53542570
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPopupMenu$Separator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JPopupMenu.class b/libjava/classpath/lib/javax/swing/JPopupMenu.class
      new file mode 100644
      index 00000000000..37103a576a8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JPopupMenu.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JProgressBar$1.class b/libjava/classpath/lib/javax/swing/JProgressBar$1.class
      new file mode 100644
      index 00000000000..cb2dd14d1a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JProgressBar$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class b/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class
      new file mode 100644
      index 00000000000..f6b14bd6e7e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JProgressBar$AccessibleJProgressBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JProgressBar.class b/libjava/classpath/lib/javax/swing/JProgressBar.class
      new file mode 100644
      index 00000000000..2ccf5e6bb7f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JProgressBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class b/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class
      new file mode 100644
      index 00000000000..00524ec2e5c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRadioButton$AccessibleJRadioButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRadioButton.class b/libjava/classpath/lib/javax/swing/JRadioButton.class
      new file mode 100644
      index 00000000000..027ac9eeedb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRadioButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class
      new file mode 100644
      index 00000000000..ff2f31ef7c5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class
      new file mode 100644
      index 00000000000..db31f6240d0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRadioButtonMenuItem.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class b/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class
      new file mode 100644
      index 00000000000..d6aec0e9edf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRootPane$AccessibleJRootPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRootPane$RootLayout.class b/libjava/classpath/lib/javax/swing/JRootPane$RootLayout.class
      new file mode 100644
      index 00000000000..380fda2cf75
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRootPane$RootLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JRootPane.class b/libjava/classpath/lib/javax/swing/JRootPane.class
      new file mode 100644
      index 00000000000..c1d0917111d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JRootPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class b/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class
      new file mode 100644
      index 00000000000..c5d0e5522fc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JScrollBar$AccessibleJScrollBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class b/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class
      new file mode 100644
      index 00000000000..e102fcbbd7b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JScrollBar$ScrollBarChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JScrollBar.class b/libjava/classpath/lib/javax/swing/JScrollBar.class
      new file mode 100644
      index 00000000000..050a5d2619f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JScrollBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class b/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class
      new file mode 100644
      index 00000000000..98f6a303b70
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JScrollPane$AccessibleJScrollPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JScrollPane$ScrollBar.class b/libjava/classpath/lib/javax/swing/JScrollPane$ScrollBar.class
      new file mode 100644
      index 00000000000..572bdb0a178
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JScrollPane$ScrollBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JScrollPane.class b/libjava/classpath/lib/javax/swing/JScrollPane.class
      new file mode 100644
      index 00000000000..6bd9efaa866
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JScrollPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class b/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class
      new file mode 100644
      index 00000000000..a1cf17fecfb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSeparator$AccessibleJSeparator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSeparator.class b/libjava/classpath/lib/javax/swing/JSeparator.class
      new file mode 100644
      index 00000000000..31e7ffbfc8c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSeparator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSlider$1.class b/libjava/classpath/lib/javax/swing/JSlider$1.class
      new file mode 100644
      index 00000000000..18fdf59abbf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSlider$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class b/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class
      new file mode 100644
      index 00000000000..fe64eba7ba0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSlider$AccessibleJSlider.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSlider$LabelUIResource.class b/libjava/classpath/lib/javax/swing/JSlider$LabelUIResource.class
      new file mode 100644
      index 00000000000..7019accc2c7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSlider$LabelUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSlider.class b/libjava/classpath/lib/javax/swing/JSlider.class
      new file mode 100644
      index 00000000000..81904b2f71c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSlider.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class
      new file mode 100644
      index 00000000000..f0f5617206a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$DateEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$DateEditorFormatter.class b/libjava/classpath/lib/javax/swing/JSpinner$DateEditorFormatter.class
      new file mode 100644
      index 00000000000..52508b0d909
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$DateEditorFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$DefaultEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$DefaultEditor.class
      new file mode 100644
      index 00000000000..e3b9c503c71
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$DefaultEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class
      new file mode 100644
      index 00000000000..677b39c25dc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$ListEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$ModelListener.class b/libjava/classpath/lib/javax/swing/JSpinner$ModelListener.class
      new file mode 100644
      index 00000000000..4689a7f67a8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$ModelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class b/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class
      new file mode 100644
      index 00000000000..4d9733fcda7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$NumberEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner$NumberEditorFormatter.class b/libjava/classpath/lib/javax/swing/JSpinner$NumberEditorFormatter.class
      new file mode 100644
      index 00000000000..279d6ca751f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner$NumberEditorFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSpinner.class b/libjava/classpath/lib/javax/swing/JSpinner.class
      new file mode 100644
      index 00000000000..ac2ecb6c5f3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSpinner.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class b/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class
      new file mode 100644
      index 00000000000..3e37bf659e3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSplitPane$AccessibleJSplitPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JSplitPane.class b/libjava/classpath/lib/javax/swing/JSplitPane.class
      new file mode 100644
      index 00000000000..2e9fff044f6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JSplitPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class b/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class
      new file mode 100644
      index 00000000000..4ea0de1df13
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTabbedPane$AccessibleJTabbedPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTabbedPane$ModelListener.class b/libjava/classpath/lib/javax/swing/JTabbedPane$ModelListener.class
      new file mode 100644
      index 00000000000..5b8d73e5151
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTabbedPane$ModelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTabbedPane$Page.class b/libjava/classpath/lib/javax/swing/JTabbedPane$Page.class
      new file mode 100644
      index 00000000000..e28c57d62a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTabbedPane$Page.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTabbedPane.class b/libjava/classpath/lib/javax/swing/JTabbedPane.class
      new file mode 100644
      index 00000000000..efd54431204
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTabbedPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.class
      new file mode 100644
      index 00000000000..25959aadd64
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.class
      new file mode 100644
      index 00000000000..97ff047d2a4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.class
      new file mode 100644
      index 00000000000..b6c6dc1803c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class
      new file mode 100644
      index 00000000000..7448b71d771
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class
      new file mode 100644
      index 00000000000..399752fdb0f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$AccessibleJTable.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$BooleanCellRenderer.class b/libjava/classpath/lib/javax/swing/JTable$BooleanCellRenderer.class
      new file mode 100644
      index 00000000000..5ec5ad8710e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$BooleanCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$DateCellRenderer.class b/libjava/classpath/lib/javax/swing/JTable$DateCellRenderer.class
      new file mode 100644
      index 00000000000..d9c191ee6b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$DateCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$DoubleCellRenderer.class b/libjava/classpath/lib/javax/swing/JTable$DoubleCellRenderer.class
      new file mode 100644
      index 00000000000..396d1d6ee23
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$DoubleCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$FloatCellRenderer.class b/libjava/classpath/lib/javax/swing/JTable$FloatCellRenderer.class
      new file mode 100644
      index 00000000000..fe32e21431c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$FloatCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$IconCellRenderer.class b/libjava/classpath/lib/javax/swing/JTable$IconCellRenderer.class
      new file mode 100644
      index 00000000000..40cf73d5976
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$IconCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$NumberCellRenderer.class b/libjava/classpath/lib/javax/swing/JTable$NumberCellRenderer.class
      new file mode 100644
      index 00000000000..d1897beeb1d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$NumberCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$TableColumnPropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/JTable$TableColumnPropertyChangeHandler.class
      new file mode 100644
      index 00000000000..644cb82cf98
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$TableColumnPropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable$TableTextField.class b/libjava/classpath/lib/javax/swing/JTable$TableTextField.class
      new file mode 100644
      index 00000000000..cf5a5f50eb8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable$TableTextField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTable.class b/libjava/classpath/lib/javax/swing/JTable.class
      new file mode 100644
      index 00000000000..315e368ff14
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTable.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class b/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class
      new file mode 100644
      index 00000000000..eb2cea250c6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextArea$AccessibleJTextArea.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextArea.class b/libjava/classpath/lib/javax/swing/JTextArea.class
      new file mode 100644
      index 00000000000..6ae5aff328f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextArea.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextField$1.class b/libjava/classpath/lib/javax/swing/JTextField$1.class
      new file mode 100644
      index 00000000000..e1779a187cc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextField$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextField$2.class b/libjava/classpath/lib/javax/swing/JTextField$2.class
      new file mode 100644
      index 00000000000..cc4895b1696
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextField$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class b/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class
      new file mode 100644
      index 00000000000..82f6f680d3f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextField$AccessibleJTextField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextField.class b/libjava/classpath/lib/javax/swing/JTextField.class
      new file mode 100644
      index 00000000000..70f42e6ff56
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTextPane.class b/libjava/classpath/lib/javax/swing/JTextPane.class
      new file mode 100644
      index 00000000000..d033c8d99ac
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTextPane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class b/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class
      new file mode 100644
      index 00000000000..481d5bd7975
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToggleButton$AccessibleJToggleButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToggleButton$ToggleButtonModel.class b/libjava/classpath/lib/javax/swing/JToggleButton$ToggleButtonModel.class
      new file mode 100644
      index 00000000000..a6c50d9d931
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToggleButton$ToggleButtonModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToggleButton.class b/libjava/classpath/lib/javax/swing/JToggleButton.class
      new file mode 100644
      index 00000000000..93fc984edf0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToggleButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class b/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class
      new file mode 100644
      index 00000000000..774d4642a9c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToolBar$AccessibleJToolBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToolBar$DefaultToolBarLayout.class b/libjava/classpath/lib/javax/swing/JToolBar$DefaultToolBarLayout.class
      new file mode 100644
      index 00000000000..59f1e071601
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToolBar$DefaultToolBarLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToolBar$Separator.class b/libjava/classpath/lib/javax/swing/JToolBar$Separator.class
      new file mode 100644
      index 00000000000..f046b5f0f18
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToolBar$Separator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToolBar.class b/libjava/classpath/lib/javax/swing/JToolBar.class
      new file mode 100644
      index 00000000000..6a6953bf300
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToolBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class b/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class
      new file mode 100644
      index 00000000000..95de6b2b6ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToolTip$AccessibleJToolTip.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JToolTip.class b/libjava/classpath/lib/javax/swing/JToolTip.class
      new file mode 100644
      index 00000000000..116ed28ce08
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JToolTip.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.class b/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.class
      new file mode 100644
      index 00000000000..c8135e7a931
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class b/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class
      new file mode 100644
      index 00000000000..3422e491fc7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree$AccessibleJTree.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree$DynamicUtilTreeNode.class b/libjava/classpath/lib/javax/swing/JTree$DynamicUtilTreeNode.class
      new file mode 100644
      index 00000000000..07a5163062f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree$DynamicUtilTreeNode.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree$EmptySelectionModel.class b/libjava/classpath/lib/javax/swing/JTree$EmptySelectionModel.class
      new file mode 100644
      index 00000000000..d6f42a94ea2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree$EmptySelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree$TreeModelHandler.class b/libjava/classpath/lib/javax/swing/JTree$TreeModelHandler.class
      new file mode 100644
      index 00000000000..b9f253a06ab
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree$TreeModelHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree$TreeSelectionRedirector.class b/libjava/classpath/lib/javax/swing/JTree$TreeSelectionRedirector.class
      new file mode 100644
      index 00000000000..282a983d60d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree$TreeSelectionRedirector.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JTree.class b/libjava/classpath/lib/javax/swing/JTree.class
      new file mode 100644
      index 00000000000..2570745c895
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JTree.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class b/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class
      new file mode 100644
      index 00000000000..0a8b5376ff6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JViewport$AccessibleJViewport.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JViewport$ViewListener.class b/libjava/classpath/lib/javax/swing/JViewport$ViewListener.class
      new file mode 100644
      index 00000000000..f00e1d9dbcf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JViewport$ViewListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JViewport.class b/libjava/classpath/lib/javax/swing/JViewport.class
      new file mode 100644
      index 00000000000..9d7a62b6d46
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JViewport.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class b/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class
      new file mode 100644
      index 00000000000..02c1613da11
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JWindow$AccessibleJWindow.class differ
      diff --git a/libjava/classpath/lib/javax/swing/JWindow.class b/libjava/classpath/lib/javax/swing/JWindow.class
      new file mode 100644
      index 00000000000..c1f07bc37d0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/JWindow.class differ
      diff --git a/libjava/classpath/lib/javax/swing/KeyStroke.class b/libjava/classpath/lib/javax/swing/KeyStroke.class
      new file mode 100644
      index 00000000000..36bea814788
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/KeyStroke.class differ
      diff --git a/libjava/classpath/lib/javax/swing/KeyboardManager.class b/libjava/classpath/lib/javax/swing/KeyboardManager.class
      new file mode 100644
      index 00000000000..c7605026eb7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/KeyboardManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.class b/libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.class
      new file mode 100644
      index 00000000000..06f7b389c85
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy.class b/libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..3260ce6e40f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/LayoutFocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ListCellRenderer.class b/libjava/classpath/lib/javax/swing/ListCellRenderer.class
      new file mode 100644
      index 00000000000..360e23d39e2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ListCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ListModel.class b/libjava/classpath/lib/javax/swing/ListModel.class
      new file mode 100644
      index 00000000000..63e4dd88fb7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ListModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ListSelectionModel.class b/libjava/classpath/lib/javax/swing/ListSelectionModel.class
      new file mode 100644
      index 00000000000..646ce27b5d1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ListSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/LookAndFeel$1.class b/libjava/classpath/lib/javax/swing/LookAndFeel$1.class
      new file mode 100644
      index 00000000000..ea75ce9c974
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/LookAndFeel$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/LookAndFeel.class b/libjava/classpath/lib/javax/swing/LookAndFeel.class
      new file mode 100644
      index 00000000000..a6324bdc5a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/LookAndFeel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/MenuElement.class b/libjava/classpath/lib/javax/swing/MenuElement.class
      new file mode 100644
      index 00000000000..a1f74ae881e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/MenuElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/MenuSelectionManager.class b/libjava/classpath/lib/javax/swing/MenuSelectionManager.class
      new file mode 100644
      index 00000000000..dd19ae966df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/MenuSelectionManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/MutableComboBoxModel.class b/libjava/classpath/lib/javax/swing/MutableComboBoxModel.class
      new file mode 100644
      index 00000000000..9bd0834ce47
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/MutableComboBoxModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/OverlayLayout.class b/libjava/classpath/lib/javax/swing/OverlayLayout.class
      new file mode 100644
      index 00000000000..36a5ef7bed5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/OverlayLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Popup$JWindowPopup.class b/libjava/classpath/lib/javax/swing/Popup$JWindowPopup.class
      new file mode 100644
      index 00000000000..3da22354b67
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Popup$JWindowPopup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Popup$LightweightPopup.class b/libjava/classpath/lib/javax/swing/Popup$LightweightPopup.class
      new file mode 100644
      index 00000000000..2b63a0a4280
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Popup$LightweightPopup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Popup.class b/libjava/classpath/lib/javax/swing/Popup.class
      new file mode 100644
      index 00000000000..f81002f448c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Popup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/PopupFactory.class b/libjava/classpath/lib/javax/swing/PopupFactory.class
      new file mode 100644
      index 00000000000..9058adaec1a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/PopupFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class b/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class
      new file mode 100644
      index 00000000000..555ce792bef
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ProgressMonitor$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitor$TimerListener.class b/libjava/classpath/lib/javax/swing/ProgressMonitor$TimerListener.class
      new file mode 100644
      index 00000000000..7452e05d3f1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ProgressMonitor$TimerListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitor.class b/libjava/classpath/lib/javax/swing/ProgressMonitor.class
      new file mode 100644
      index 00000000000..391ae29249f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ProgressMonitor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ProgressMonitorInputStream.class b/libjava/classpath/lib/javax/swing/ProgressMonitorInputStream.class
      new file mode 100644
      index 00000000000..4eea734ba66
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ProgressMonitorInputStream.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Renderer.class b/libjava/classpath/lib/javax/swing/Renderer.class
      new file mode 100644
      index 00000000000..ab10de9420a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Renderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorker.class b/libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorker.class
      new file mode 100644
      index 00000000000..25387601917
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorker.class differ
      diff --git a/libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorkerEvent.class b/libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorkerEvent.class
      new file mode 100644
      index 00000000000..17ccff4f009
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/RepaintManager$RepaintWorkerEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/RepaintManager.class b/libjava/classpath/lib/javax/swing/RepaintManager.class
      new file mode 100644
      index 00000000000..d9925f314f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/RepaintManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/RootPaneContainer.class b/libjava/classpath/lib/javax/swing/RootPaneContainer.class
      new file mode 100644
      index 00000000000..86c957ee002
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/RootPaneContainer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ScrollPaneConstants.class b/libjava/classpath/lib/javax/swing/ScrollPaneConstants.class
      new file mode 100644
      index 00000000000..5d291ad0acd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ScrollPaneConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ScrollPaneLayout$UIResource.class b/libjava/classpath/lib/javax/swing/ScrollPaneLayout$UIResource.class
      new file mode 100644
      index 00000000000..de7b6a92838
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ScrollPaneLayout$UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ScrollPaneLayout.class b/libjava/classpath/lib/javax/swing/ScrollPaneLayout.class
      new file mode 100644
      index 00000000000..de8d24f263a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ScrollPaneLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Scrollable.class b/libjava/classpath/lib/javax/swing/Scrollable.class
      new file mode 100644
      index 00000000000..abfd535f14d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Scrollable.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SingleSelectionModel.class b/libjava/classpath/lib/javax/swing/SingleSelectionModel.class
      new file mode 100644
      index 00000000000..4d13386a675
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SingleSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SizeRequirements.class b/libjava/classpath/lib/javax/swing/SizeRequirements.class
      new file mode 100644
      index 00000000000..8c0e5c834f4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SizeRequirements.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SizeSequence.class b/libjava/classpath/lib/javax/swing/SizeSequence.class
      new file mode 100644
      index 00000000000..934e9faaa80
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SizeSequence.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SortingFocusTraversalPolicy.class b/libjava/classpath/lib/javax/swing/SortingFocusTraversalPolicy.class
      new file mode 100644
      index 00000000000..1c620d97c20
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SortingFocusTraversalPolicy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpinnerDateModel.class b/libjava/classpath/lib/javax/swing/SpinnerDateModel.class
      new file mode 100644
      index 00000000000..c4c8a655ad1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpinnerDateModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpinnerListModel.class b/libjava/classpath/lib/javax/swing/SpinnerListModel.class
      new file mode 100644
      index 00000000000..3f686f5be03
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpinnerListModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpinnerModel.class b/libjava/classpath/lib/javax/swing/SpinnerModel.class
      new file mode 100644
      index 00000000000..57431dc00c8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpinnerModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpinnerNumberModel.class b/libjava/classpath/lib/javax/swing/SpinnerNumberModel.class
      new file mode 100644
      index 00000000000..aa5e0fc15a3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpinnerNumberModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$1.class b/libjava/classpath/lib/javax/swing/Spring$1.class
      new file mode 100644
      index 00000000000..ad8aedc1619
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$2.class b/libjava/classpath/lib/javax/swing/Spring$2.class
      new file mode 100644
      index 00000000000..f15a83d2911
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$3.class b/libjava/classpath/lib/javax/swing/Spring$3.class
      new file mode 100644
      index 00000000000..4dd892a5779
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$AddSpring.class b/libjava/classpath/lib/javax/swing/Spring$AddSpring.class
      new file mode 100644
      index 00000000000..f1502eab240
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$AddSpring.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$MaxSpring.class b/libjava/classpath/lib/javax/swing/Spring$MaxSpring.class
      new file mode 100644
      index 00000000000..9984c511c81
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$MaxSpring.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$MinusSpring.class b/libjava/classpath/lib/javax/swing/Spring$MinusSpring.class
      new file mode 100644
      index 00000000000..4e0a694841a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$MinusSpring.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring$SimpleSpring.class b/libjava/classpath/lib/javax/swing/Spring$SimpleSpring.class
      new file mode 100644
      index 00000000000..15cf67f7dfa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring$SimpleSpring.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Spring.class b/libjava/classpath/lib/javax/swing/Spring.class
      new file mode 100644
      index 00000000000..14b09ee65b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Spring.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$Constraints.class b/libjava/classpath/lib/javax/swing/SpringLayout$Constraints.class
      new file mode 100644
      index 00000000000..39fd462f3bb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpringLayout$Constraints.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredDimension.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredDimension.class
      new file mode 100644
      index 00000000000..61075d7fc14
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredDimension.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class
      new file mode 100644
      index 00000000000..1a1ce923f6b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredHeight.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class
      new file mode 100644
      index 00000000000..882868515cb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredSpring.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class
      new file mode 100644
      index 00000000000..7aa03dbc142
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpringLayout$DeferredWidth.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SpringLayout.class b/libjava/classpath/lib/javax/swing/SpringLayout.class
      new file mode 100644
      index 00000000000..0a6b9880e22
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SpringLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SwingConstants.class b/libjava/classpath/lib/javax/swing/SwingConstants.class
      new file mode 100644
      index 00000000000..f4dc6706207
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SwingConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SwingUtilities$OwnerFrame.class b/libjava/classpath/lib/javax/swing/SwingUtilities$OwnerFrame.class
      new file mode 100644
      index 00000000000..71c8e039550
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SwingUtilities$OwnerFrame.class differ
      diff --git a/libjava/classpath/lib/javax/swing/SwingUtilities.class b/libjava/classpath/lib/javax/swing/SwingUtilities.class
      new file mode 100644
      index 00000000000..756f001dad2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/SwingUtilities.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Timer$1.class b/libjava/classpath/lib/javax/swing/Timer$1.class
      new file mode 100644
      index 00000000000..e72b779b008
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Timer$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Timer$Task.class b/libjava/classpath/lib/javax/swing/Timer$Task.class
      new file mode 100644
      index 00000000000..7924b004b48
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Timer$Task.class differ
      diff --git a/libjava/classpath/lib/javax/swing/Timer.class b/libjava/classpath/lib/javax/swing/Timer.class
      new file mode 100644
      index 00000000000..60201c69dc1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/Timer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ToolTipManager$insideTimerAction.class b/libjava/classpath/lib/javax/swing/ToolTipManager$insideTimerAction.class
      new file mode 100644
      index 00000000000..4a034e94610
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ToolTipManager$insideTimerAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ToolTipManager$outsideTimerAction.class b/libjava/classpath/lib/javax/swing/ToolTipManager$outsideTimerAction.class
      new file mode 100644
      index 00000000000..afff9965983
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ToolTipManager$outsideTimerAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ToolTipManager$stillInsideTimerAction.class b/libjava/classpath/lib/javax/swing/ToolTipManager$stillInsideTimerAction.class
      new file mode 100644
      index 00000000000..4ea6dd045c3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ToolTipManager$stillInsideTimerAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ToolTipManager.class b/libjava/classpath/lib/javax/swing/ToolTipManager.class
      new file mode 100644
      index 00000000000..1f1ee99cfe7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ToolTipManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class b/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class
      new file mode 100644
      index 00000000000..358f741a0cf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/TransferHandler$PropertyTransferable.class differ
      diff --git a/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class b/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class
      new file mode 100644
      index 00000000000..74cf8d1805d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/TransferHandler$TransferAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/TransferHandler.class b/libjava/classpath/lib/javax/swing/TransferHandler.class
      new file mode 100644
      index 00000000000..edfe4ded48d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/TransferHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$1.class b/libjava/classpath/lib/javax/swing/UIDefaults$1.class
      new file mode 100644
      index 00000000000..32dea19aa83
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$2.class b/libjava/classpath/lib/javax/swing/UIDefaults$2.class
      new file mode 100644
      index 00000000000..9b29d3d0199
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$3.class b/libjava/classpath/lib/javax/swing/UIDefaults$3.class
      new file mode 100644
      index 00000000000..1179015a6da
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$4.class b/libjava/classpath/lib/javax/swing/UIDefaults$4.class
      new file mode 100644
      index 00000000000..6d6462f7959
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$ActiveValue.class b/libjava/classpath/lib/javax/swing/UIDefaults$ActiveValue.class
      new file mode 100644
      index 00000000000..2decb357fbc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$ActiveValue.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class b/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class
      new file mode 100644
      index 00000000000..53000f252ad
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$LazyInputMap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$LazyValue.class b/libjava/classpath/lib/javax/swing/UIDefaults$LazyValue.class
      new file mode 100644
      index 00000000000..c32e7cdad12
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$LazyValue.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class b/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class
      new file mode 100644
      index 00000000000..2a054b69942
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIDefaults.class b/libjava/classpath/lib/javax/swing/UIDefaults.class
      new file mode 100644
      index 00000000000..e98ebb0aee7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIDefaults.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIManager$LookAndFeelInfo.class b/libjava/classpath/lib/javax/swing/UIManager$LookAndFeelInfo.class
      new file mode 100644
      index 00000000000..e5c53185d6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIManager$LookAndFeelInfo.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.class b/libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.class
      new file mode 100644
      index 00000000000..b5d3a363b2e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults.class b/libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults.class
      new file mode 100644
      index 00000000000..287c124b8e9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIManager$MultiplexUIDefaults.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UIManager.class b/libjava/classpath/lib/javax/swing/UIManager.class
      new file mode 100644
      index 00000000000..2cfeef71fcd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UIManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/UnsupportedLookAndFeelException.class b/libjava/classpath/lib/javax/swing/UnsupportedLookAndFeelException.class
      new file mode 100644
      index 00000000000..e449f1fdbae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/UnsupportedLookAndFeelException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/ViewportLayout.class b/libjava/classpath/lib/javax/swing/ViewportLayout.class
      new file mode 100644
      index 00000000000..62302458a17
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/ViewportLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/WindowConstants.class b/libjava/classpath/lib/javax/swing/WindowConstants.class
      new file mode 100644
      index 00000000000..618deb3e545
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/WindowConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/AbstractBorder.class b/libjava/classpath/lib/javax/swing/border/AbstractBorder.class
      new file mode 100644
      index 00000000000..9efcb3d3d33
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/AbstractBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/BevelBorder.class b/libjava/classpath/lib/javax/swing/border/BevelBorder.class
      new file mode 100644
      index 00000000000..d2aed282c18
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/BevelBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/Border.class b/libjava/classpath/lib/javax/swing/border/Border.class
      new file mode 100644
      index 00000000000..8b4d2481f05
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/Border.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/CompoundBorder.class b/libjava/classpath/lib/javax/swing/border/CompoundBorder.class
      new file mode 100644
      index 00000000000..82217a91221
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/CompoundBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/EmptyBorder.class b/libjava/classpath/lib/javax/swing/border/EmptyBorder.class
      new file mode 100644
      index 00000000000..a52e69bcca7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/EmptyBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/EtchedBorder.class b/libjava/classpath/lib/javax/swing/border/EtchedBorder.class
      new file mode 100644
      index 00000000000..8d8546a6028
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/EtchedBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/LineBorder.class b/libjava/classpath/lib/javax/swing/border/LineBorder.class
      new file mode 100644
      index 00000000000..795532e5fcd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/LineBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/MatteBorder.class b/libjava/classpath/lib/javax/swing/border/MatteBorder.class
      new file mode 100644
      index 00000000000..5164f1d4bfa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/MatteBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/SoftBevelBorder.class b/libjava/classpath/lib/javax/swing/border/SoftBevelBorder.class
      new file mode 100644
      index 00000000000..7fddbd92369
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/SoftBevelBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/border/TitledBorder.class b/libjava/classpath/lib/javax/swing/border/TitledBorder.class
      new file mode 100644
      index 00000000000..6dc69c08eae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/border/TitledBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/AbstractColorChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/AbstractColorChooserPanel.class
      new file mode 100644
      index 00000000000..3fa69f6d7aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/AbstractColorChooserPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/ColorChooserComponentFactory.class b/libjava/classpath/lib/javax/swing/colorchooser/ColorChooserComponentFactory.class
      new file mode 100644
      index 00000000000..5bb8a500df2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/ColorChooserComponentFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/ColorSelectionModel.class b/libjava/classpath/lib/javax/swing/colorchooser/ColorSelectionModel.class
      new file mode 100644
      index 00000000000..c94ff4992ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/ColorSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultColorSelectionModel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultColorSelectionModel.class
      new file mode 100644
      index 00000000000..f17a4561ecf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultColorSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class
      new file mode 100644
      index 00000000000..573204b82d0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class
      new file mode 100644
      index 00000000000..9c3a41fec20
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class
      new file mode 100644
      index 00000000000..0d4856f6b82
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.class
      new file mode 100644
      index 00000000000..ce9f6d8f3e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.class
      new file mode 100644
      index 00000000000..d492677e53a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.class
      new file mode 100644
      index 00000000000..67df592db64
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class
      new file mode 100644
      index 00000000000..98f5b2af8d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultHSBChooserPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.class
      new file mode 100644
      index 00000000000..eda8457f94a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel.class
      new file mode 100644
      index 00000000000..34aef0e5a6f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultPreviewPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.class
      new file mode 100644
      index 00000000000..872e5bc8a49
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.class
      new file mode 100644
      index 00000000000..fcc40908952
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel.class
      new file mode 100644
      index 00000000000..9d217335d72
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultRGBChooserPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.class
      new file mode 100644
      index 00000000000..156c2e8ca60
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class
      new file mode 100644
      index 00000000000..717173ea7a9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class
      new file mode 100644
      index 00000000000..45720185a81
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.class
      new file mode 100644
      index 00000000000..11a2bad17ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class
      new file mode 100644
      index 00000000000..313df8e8da9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.class
      new file mode 100644
      index 00000000000..897baa18b40
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class
      new file mode 100644
      index 00000000000..3b0537db801
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/colorchooser/DefaultSwatchChooserPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/AncestorEvent.class b/libjava/classpath/lib/javax/swing/event/AncestorEvent.class
      new file mode 100644
      index 00000000000..3f46cc76c02
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/AncestorEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/AncestorListener.class b/libjava/classpath/lib/javax/swing/event/AncestorListener.class
      new file mode 100644
      index 00000000000..b9ca69323a3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/AncestorListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/CaretEvent.class b/libjava/classpath/lib/javax/swing/event/CaretEvent.class
      new file mode 100644
      index 00000000000..5396a896b99
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/CaretEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/CaretListener.class b/libjava/classpath/lib/javax/swing/event/CaretListener.class
      new file mode 100644
      index 00000000000..73e6ddc5e9e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/CaretListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/CellEditorListener.class b/libjava/classpath/lib/javax/swing/event/CellEditorListener.class
      new file mode 100644
      index 00000000000..3a7e3fa7542
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/CellEditorListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/ChangeEvent.class b/libjava/classpath/lib/javax/swing/event/ChangeEvent.class
      new file mode 100644
      index 00000000000..e1abba568fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/ChangeEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/ChangeListener.class b/libjava/classpath/lib/javax/swing/event/ChangeListener.class
      new file mode 100644
      index 00000000000..2f69ff18e38
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/ChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/DocumentEvent$ElementChange.class b/libjava/classpath/lib/javax/swing/event/DocumentEvent$ElementChange.class
      new file mode 100644
      index 00000000000..40efd183841
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/DocumentEvent$ElementChange.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/DocumentEvent$EventType.class b/libjava/classpath/lib/javax/swing/event/DocumentEvent$EventType.class
      new file mode 100644
      index 00000000000..456d077abf8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/DocumentEvent$EventType.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/DocumentEvent.class b/libjava/classpath/lib/javax/swing/event/DocumentEvent.class
      new file mode 100644
      index 00000000000..53ef89f83a6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/DocumentEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/DocumentListener.class b/libjava/classpath/lib/javax/swing/event/DocumentListener.class
      new file mode 100644
      index 00000000000..88438b9613c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/DocumentListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/EventListenerList.class b/libjava/classpath/lib/javax/swing/event/EventListenerList.class
      new file mode 100644
      index 00000000000..d51511eefcc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/EventListenerList.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/HyperlinkEvent$EventType.class b/libjava/classpath/lib/javax/swing/event/HyperlinkEvent$EventType.class
      new file mode 100644
      index 00000000000..acfdd0cdc2d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/HyperlinkEvent$EventType.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/HyperlinkEvent.class b/libjava/classpath/lib/javax/swing/event/HyperlinkEvent.class
      new file mode 100644
      index 00000000000..c6d30c902f1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/HyperlinkEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/HyperlinkListener.class b/libjava/classpath/lib/javax/swing/event/HyperlinkListener.class
      new file mode 100644
      index 00000000000..5c988af764e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/HyperlinkListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/InternalFrameAdapter.class b/libjava/classpath/lib/javax/swing/event/InternalFrameAdapter.class
      new file mode 100644
      index 00000000000..cc302960c30
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/InternalFrameAdapter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/InternalFrameEvent.class b/libjava/classpath/lib/javax/swing/event/InternalFrameEvent.class
      new file mode 100644
      index 00000000000..3517e0859b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/InternalFrameEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/InternalFrameListener.class b/libjava/classpath/lib/javax/swing/event/InternalFrameListener.class
      new file mode 100644
      index 00000000000..c77ebab5671
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/InternalFrameListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/ListDataEvent.class b/libjava/classpath/lib/javax/swing/event/ListDataEvent.class
      new file mode 100644
      index 00000000000..f1d5f9bfc6d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/ListDataEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/ListDataListener.class b/libjava/classpath/lib/javax/swing/event/ListDataListener.class
      new file mode 100644
      index 00000000000..0058a239952
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/ListDataListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/ListSelectionEvent.class b/libjava/classpath/lib/javax/swing/event/ListSelectionEvent.class
      new file mode 100644
      index 00000000000..1804b5bae5a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/ListSelectionEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/ListSelectionListener.class b/libjava/classpath/lib/javax/swing/event/ListSelectionListener.class
      new file mode 100644
      index 00000000000..95e4f6c6cd5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/ListSelectionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MenuDragMouseEvent.class b/libjava/classpath/lib/javax/swing/event/MenuDragMouseEvent.class
      new file mode 100644
      index 00000000000..bec6295bbbb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MenuDragMouseEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MenuDragMouseListener.class b/libjava/classpath/lib/javax/swing/event/MenuDragMouseListener.class
      new file mode 100644
      index 00000000000..430e55d7945
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MenuDragMouseListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MenuEvent.class b/libjava/classpath/lib/javax/swing/event/MenuEvent.class
      new file mode 100644
      index 00000000000..821bb5a3e56
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MenuEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MenuKeyEvent.class b/libjava/classpath/lib/javax/swing/event/MenuKeyEvent.class
      new file mode 100644
      index 00000000000..3967f676fd1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MenuKeyEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MenuKeyListener.class b/libjava/classpath/lib/javax/swing/event/MenuKeyListener.class
      new file mode 100644
      index 00000000000..a81b3b79cb4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MenuKeyListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MenuListener.class b/libjava/classpath/lib/javax/swing/event/MenuListener.class
      new file mode 100644
      index 00000000000..c38bc23497d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MenuListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MouseInputAdapter.class b/libjava/classpath/lib/javax/swing/event/MouseInputAdapter.class
      new file mode 100644
      index 00000000000..81730354313
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MouseInputAdapter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/MouseInputListener.class b/libjava/classpath/lib/javax/swing/event/MouseInputListener.class
      new file mode 100644
      index 00000000000..44194745f83
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/MouseInputListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/PopupMenuEvent.class b/libjava/classpath/lib/javax/swing/event/PopupMenuEvent.class
      new file mode 100644
      index 00000000000..b9984f96fb0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/PopupMenuEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/PopupMenuListener.class b/libjava/classpath/lib/javax/swing/event/PopupMenuListener.class
      new file mode 100644
      index 00000000000..54b71aeb285
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/PopupMenuListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/SwingPropertyChangeSupport.class b/libjava/classpath/lib/javax/swing/event/SwingPropertyChangeSupport.class
      new file mode 100644
      index 00000000000..cd403b88466
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/SwingPropertyChangeSupport.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TableColumnModelEvent.class b/libjava/classpath/lib/javax/swing/event/TableColumnModelEvent.class
      new file mode 100644
      index 00000000000..4fb4495e568
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TableColumnModelEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TableColumnModelListener.class b/libjava/classpath/lib/javax/swing/event/TableColumnModelListener.class
      new file mode 100644
      index 00000000000..74c798dfdbf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TableColumnModelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TableModelEvent.class b/libjava/classpath/lib/javax/swing/event/TableModelEvent.class
      new file mode 100644
      index 00000000000..c5fa2eefb30
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TableModelEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TableModelListener.class b/libjava/classpath/lib/javax/swing/event/TableModelListener.class
      new file mode 100644
      index 00000000000..544a0159da8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TableModelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeExpansionEvent.class b/libjava/classpath/lib/javax/swing/event/TreeExpansionEvent.class
      new file mode 100644
      index 00000000000..8d73138e867
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeExpansionEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeExpansionListener.class b/libjava/classpath/lib/javax/swing/event/TreeExpansionListener.class
      new file mode 100644
      index 00000000000..094ccf36e0e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeExpansionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeModelEvent.class b/libjava/classpath/lib/javax/swing/event/TreeModelEvent.class
      new file mode 100644
      index 00000000000..be213ad4529
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeModelEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeModelListener.class b/libjava/classpath/lib/javax/swing/event/TreeModelListener.class
      new file mode 100644
      index 00000000000..d3578cffe6b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeModelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeSelectionEvent.class b/libjava/classpath/lib/javax/swing/event/TreeSelectionEvent.class
      new file mode 100644
      index 00000000000..ff70bc2582e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeSelectionEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeSelectionListener.class b/libjava/classpath/lib/javax/swing/event/TreeSelectionListener.class
      new file mode 100644
      index 00000000000..38d1382c088
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeSelectionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/TreeWillExpandListener.class b/libjava/classpath/lib/javax/swing/event/TreeWillExpandListener.class
      new file mode 100644
      index 00000000000..30496d93e3a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/TreeWillExpandListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/UndoableEditEvent.class b/libjava/classpath/lib/javax/swing/event/UndoableEditEvent.class
      new file mode 100644
      index 00000000000..64ca87a9f6f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/UndoableEditEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/event/UndoableEditListener.class b/libjava/classpath/lib/javax/swing/event/UndoableEditListener.class
      new file mode 100644
      index 00000000000..a7cd8486367
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/event/UndoableEditListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/filechooser/FileFilter.class b/libjava/classpath/lib/javax/swing/filechooser/FileFilter.class
      new file mode 100644
      index 00000000000..ae1e44fd288
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/filechooser/FileFilter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/filechooser/FileSystemView.class b/libjava/classpath/lib/javax/swing/filechooser/FileSystemView.class
      new file mode 100644
      index 00000000000..93ffd025c04
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/filechooser/FileSystemView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/filechooser/FileView.class b/libjava/classpath/lib/javax/swing/filechooser/FileView.class
      new file mode 100644
      index 00000000000..be08e4701f4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/filechooser/FileView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/filechooser/UnixFileSystemView.class b/libjava/classpath/lib/javax/swing/filechooser/UnixFileSystemView.class
      new file mode 100644
      index 00000000000..95e4ca18742
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/filechooser/UnixFileSystemView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ActionMapUIResource.class b/libjava/classpath/lib/javax/swing/plaf/ActionMapUIResource.class
      new file mode 100644
      index 00000000000..db7b6648f14
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ActionMapUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.class
      new file mode 100644
      index 00000000000..44a0d4ccff2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.class
      new file mode 100644
      index 00000000000..0a6576f37ad
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.class
      new file mode 100644
      index 00000000000..f458c000345
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.class
      new file mode 100644
      index 00000000000..de5aa20b4ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$LineBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$LineBorderUIResource.class
      new file mode 100644
      index 00000000000..8167c2992a0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$LineBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.class
      new file mode 100644
      index 00000000000..bdfcf949f30
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.class
      new file mode 100644
      index 00000000000..08f4ec9e084
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/BorderUIResource.class b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource.class
      new file mode 100644
      index 00000000000..1d6fa8dedb2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/BorderUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/ButtonUI.class
      new file mode 100644
      index 00000000000..6cf64bd5fc4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ColorChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/ColorChooserUI.class
      new file mode 100644
      index 00000000000..38759f44153
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ColorChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ColorUIResource.class b/libjava/classpath/lib/javax/swing/plaf/ColorUIResource.class
      new file mode 100644
      index 00000000000..3a2e13134b1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ColorUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/ComboBoxUI.class
      new file mode 100644
      index 00000000000..e77c6a3ec0c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ComboBoxUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ComponentInputMapUIResource.class b/libjava/classpath/lib/javax/swing/plaf/ComponentInputMapUIResource.class
      new file mode 100644
      index 00000000000..e505fb1cde0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ComponentInputMapUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ComponentUI.class b/libjava/classpath/lib/javax/swing/plaf/ComponentUI.class
      new file mode 100644
      index 00000000000..0b708025a65
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ComponentUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/DesktopIconUI.class b/libjava/classpath/lib/javax/swing/plaf/DesktopIconUI.class
      new file mode 100644
      index 00000000000..9165b28c514
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/DesktopIconUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/DesktopPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/DesktopPaneUI.class
      new file mode 100644
      index 00000000000..a044d2b2510
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/DesktopPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/DimensionUIResource.class b/libjava/classpath/lib/javax/swing/plaf/DimensionUIResource.class
      new file mode 100644
      index 00000000000..b79a912db39
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/DimensionUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/FileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/FileChooserUI.class
      new file mode 100644
      index 00000000000..64c74274734
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/FileChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/FontUIResource.class b/libjava/classpath/lib/javax/swing/plaf/FontUIResource.class
      new file mode 100644
      index 00000000000..8ac86b06a94
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/FontUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/IconUIResource.class b/libjava/classpath/lib/javax/swing/plaf/IconUIResource.class
      new file mode 100644
      index 00000000000..2961df89e34
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/IconUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/InputMapUIResource.class b/libjava/classpath/lib/javax/swing/plaf/InputMapUIResource.class
      new file mode 100644
      index 00000000000..d90c81e4782
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/InputMapUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/InsetsUIResource.class b/libjava/classpath/lib/javax/swing/plaf/InsetsUIResource.class
      new file mode 100644
      index 00000000000..ecc8b8bce80
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/InsetsUIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/InternalFrameUI.class b/libjava/classpath/lib/javax/swing/plaf/InternalFrameUI.class
      new file mode 100644
      index 00000000000..ba683834782
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/InternalFrameUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/LabelUI.class b/libjava/classpath/lib/javax/swing/plaf/LabelUI.class
      new file mode 100644
      index 00000000000..fe823cbfae9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/LabelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ListUI.class b/libjava/classpath/lib/javax/swing/plaf/ListUI.class
      new file mode 100644
      index 00000000000..e0ae0e6f1a6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ListUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/MenuBarUI.class b/libjava/classpath/lib/javax/swing/plaf/MenuBarUI.class
      new file mode 100644
      index 00000000000..b4215420151
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/MenuBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/MenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/MenuItemUI.class
      new file mode 100644
      index 00000000000..f5d1fc6ce97
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/MenuItemUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/OptionPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/OptionPaneUI.class
      new file mode 100644
      index 00000000000..c19b39974fd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/OptionPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/PanelUI.class b/libjava/classpath/lib/javax/swing/plaf/PanelUI.class
      new file mode 100644
      index 00000000000..a188ac34b48
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/PanelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/PopupMenuUI.class b/libjava/classpath/lib/javax/swing/plaf/PopupMenuUI.class
      new file mode 100644
      index 00000000000..9aae8db64df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/PopupMenuUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ProgressBarUI.class b/libjava/classpath/lib/javax/swing/plaf/ProgressBarUI.class
      new file mode 100644
      index 00000000000..c4b108225b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ProgressBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/RootPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/RootPaneUI.class
      new file mode 100644
      index 00000000000..426484ea4f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/RootPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ScrollBarUI.class b/libjava/classpath/lib/javax/swing/plaf/ScrollBarUI.class
      new file mode 100644
      index 00000000000..ed1b3f8d953
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ScrollBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ScrollPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/ScrollPaneUI.class
      new file mode 100644
      index 00000000000..4496630e7e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ScrollPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/SeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/SeparatorUI.class
      new file mode 100644
      index 00000000000..56cb1063da7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/SeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/SliderUI.class b/libjava/classpath/lib/javax/swing/plaf/SliderUI.class
      new file mode 100644
      index 00000000000..40e7c5eb639
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/SliderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/SpinnerUI.class b/libjava/classpath/lib/javax/swing/plaf/SpinnerUI.class
      new file mode 100644
      index 00000000000..30db423d676
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/SpinnerUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/SplitPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/SplitPaneUI.class
      new file mode 100644
      index 00000000000..a62a5f48d56
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/SplitPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/TabbedPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/TabbedPaneUI.class
      new file mode 100644
      index 00000000000..75425e9b068
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/TabbedPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/TableHeaderUI.class b/libjava/classpath/lib/javax/swing/plaf/TableHeaderUI.class
      new file mode 100644
      index 00000000000..77712f6f564
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/TableHeaderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/TableUI.class b/libjava/classpath/lib/javax/swing/plaf/TableUI.class
      new file mode 100644
      index 00000000000..de0a647c395
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/TableUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/TextUI.class b/libjava/classpath/lib/javax/swing/plaf/TextUI.class
      new file mode 100644
      index 00000000000..637fa12c0e2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/TextUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ToolBarUI.class b/libjava/classpath/lib/javax/swing/plaf/ToolBarUI.class
      new file mode 100644
      index 00000000000..cb097cda3b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ToolBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ToolTipUI.class b/libjava/classpath/lib/javax/swing/plaf/ToolTipUI.class
      new file mode 100644
      index 00000000000..92d495a82a4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ToolTipUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/TreeUI.class b/libjava/classpath/lib/javax/swing/plaf/TreeUI.class
      new file mode 100644
      index 00000000000..99f36338d40
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/TreeUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/UIResource.class b/libjava/classpath/lib/javax/swing/plaf/UIResource.class
      new file mode 100644
      index 00000000000..d37b8c59c96
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/ViewportUI.class b/libjava/classpath/lib/javax/swing/plaf/ViewportUI.class
      new file mode 100644
      index 00000000000..e9d51c32f10
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/ViewportUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicArrowButton.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicArrowButton.class
      new file mode 100644
      index 00000000000..24f3c0a2144
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicArrowButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ButtonBorder.class
      new file mode 100644
      index 00000000000..7a7443d87f0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$FieldBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$FieldBorder.class
      new file mode 100644
      index 00000000000..fe3838d9497
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$FieldBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MarginBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MarginBorder.class
      new file mode 100644
      index 00000000000..10039500dbb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MarginBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.class
      new file mode 100644
      index 00000000000..dd96406486a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class
      new file mode 100644
      index 00000000000..dc76747778c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class
      new file mode 100644
      index 00000000000..27b85ba5dcd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.class
      new file mode 100644
      index 00000000000..2988ff6c102
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class
      new file mode 100644
      index 00000000000..94ac0efd9cb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class
      new file mode 100644
      index 00000000000..8ae464a7ef8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class
      new file mode 100644
      index 00000000000..1e76161a5b7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicBorders.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class
      new file mode 100644
      index 00000000000..012492bf577
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class
      new file mode 100644
      index 00000000000..348f244e45f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.class
      new file mode 100644
      index 00000000000..b97493de590
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class
      new file mode 100644
      index 00000000000..a736218c084
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonUI.class
      new file mode 100644
      index 00000000000..621c20fb6e0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.class
      new file mode 100644
      index 00000000000..a4b2f0741dc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxUI.class
      new file mode 100644
      index 00000000000..6b8fe29fc52
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicCheckBoxUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class
      new file mode 100644
      index 00000000000..a7c88e5ecf6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.class
      new file mode 100644
      index 00000000000..051f2ba14a8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.class
      new file mode 100644
      index 00000000000..c60cb86d95d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.class
      new file mode 100644
      index 00000000000..877a1ca960b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class
      new file mode 100644
      index 00000000000..d1e89b6ac6c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicColorChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.class
      new file mode 100644
      index 00000000000..65068f5d0f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor.class
      new file mode 100644
      index 00000000000..584f3f57f0d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.class
      new file mode 100644
      index 00000000000..87a2825e4db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer.class
      new file mode 100644
      index 00000000000..3c568c4cb46
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class
      new file mode 100644
      index 00000000000..5af949dc7e4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class
      new file mode 100644
      index 00000000000..9d34b1658ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class
      new file mode 100644
      index 00000000000..5a2febd575d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class
      new file mode 100644
      index 00000000000..a72e5670331
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class
      new file mode 100644
      index 00000000000..09385669bb8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..645929dd485
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class
      new file mode 100644
      index 00000000000..eac5c881cbf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboBoxUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class
      new file mode 100644
      index 00000000000..d1f23b8696c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class
      new file mode 100644
      index 00000000000..4d063ab39ae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class
      new file mode 100644
      index 00000000000..25c3f53991d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class
      new file mode 100644
      index 00000000000..e19deb97eb2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class
      new file mode 100644
      index 00000000000..0ac8de04144
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class
      new file mode 100644
      index 00000000000..2580330d0df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class
      new file mode 100644
      index 00000000000..f84670fd7f1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class
      new file mode 100644
      index 00000000000..ef5371338e3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..77991f8c688
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class
      new file mode 100644
      index 00000000000..eb13f2e5a9c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicComboPopup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class
      new file mode 100644
      index 00000000000..1009fe75a58
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class
      new file mode 100644
      index 00000000000..8c76fe274ba
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class
      new file mode 100644
      index 00000000000..49922ae5395
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.class
      new file mode 100644
      index 00000000000..60bf7d28619
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.class
      new file mode 100644
      index 00000000000..bbf96a2e1a6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..fec723e71cf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class
      new file mode 100644
      index 00000000000..368c162fc75
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopIconUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.class
      new file mode 100644
      index 00000000000..96da80278d5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.class
      new file mode 100644
      index 00000000000..98ad067b4e7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.class
      new file mode 100644
      index 00000000000..b44728a6c4e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.class
      new file mode 100644
      index 00000000000..da6c8026210
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.class
      new file mode 100644
      index 00000000000..b05290de919
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI.class
      new file mode 100644
      index 00000000000..5a380927810
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDesktopPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class
      new file mode 100644
      index 00000000000..55cc400c8c1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class
      new file mode 100644
      index 00000000000..4a5483b66d1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class
      new file mode 100644
      index 00000000000..b36b60abfb6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class
      new file mode 100644
      index 00000000000..39ad875dda9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicDirectoryModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicEditorPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicEditorPaneUI.class
      new file mode 100644
      index 00000000000..6eb2235ca14
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicEditorPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.class
      new file mode 100644
      index 00000000000..8ca7e20f85f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.class
      new file mode 100644
      index 00000000000..73241f21572
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.class
      new file mode 100644
      index 00000000000..094561bacda
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.class
      new file mode 100644
      index 00000000000..f62de1736c9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.class
      new file mode 100644
      index 00000000000..1634c3b5eb3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.class
      new file mode 100644
      index 00000000000..058f9488e75
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class
      new file mode 100644
      index 00000000000..ea8ebb0c309
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class
      new file mode 100644
      index 00000000000..1e87303914e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.class
      new file mode 100644
      index 00000000000..ddfb4358996
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.class
      new file mode 100644
      index 00000000000..ac37a3c03d5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class
      new file mode 100644
      index 00000000000..3b622d5c679
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFileChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicFormattedTextFieldUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFormattedTextFieldUI.class
      new file mode 100644
      index 00000000000..cdfdbbaf517
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicFormattedTextFieldUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class
      new file mode 100644
      index 00000000000..5c66a8c79db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicGraphicsUtils.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class
      new file mode 100644
      index 00000000000..2db9cf40556
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML$HTMLRootView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML.class
      new file mode 100644
      index 00000000000..5acae515c24
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicHTML.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class
      new file mode 100644
      index 00000000000..289de2fd2e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class
      new file mode 100644
      index 00000000000..2e6833a9ad4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.class
      new file mode 100644
      index 00000000000..4586a830462
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.class
      new file mode 100644
      index 00000000000..bd03ae40dd1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.class
      new file mode 100644
      index 00000000000..a35dd8af544
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.class
      new file mode 100644
      index 00000000000..67c3d0b5f2c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class
      new file mode 100644
      index 00000000000..2c53736ef7d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicIconFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.class
      new file mode 100644
      index 00000000000..fa6b2d54b7c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.class
      new file mode 100644
      index 00000000000..0b296f1d51e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.class
      new file mode 100644
      index 00000000000..996f4f7bcc2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.class
      new file mode 100644
      index 00000000000..d8895501827
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.class
      new file mode 100644
      index 00000000000..5b275c073b8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..ccbf313610d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.class
      new file mode 100644
      index 00000000000..183d434f0db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.class
      new file mode 100644
      index 00000000000..fce1d0f49c2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.class
      new file mode 100644
      index 00000000000..70d2c57de6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.class
      new file mode 100644
      index 00000000000..fc559188ffd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class
      new file mode 100644
      index 00000000000..24863c2573e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameTitlePane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.class
      new file mode 100644
      index 00000000000..9d397cc1a46
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class
      new file mode 100644
      index 00000000000..75ef5baea6d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.class
      new file mode 100644
      index 00000000000..0e3371a2ff7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.class
      new file mode 100644
      index 00000000000..bb0d894420a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.class
      new file mode 100644
      index 00000000000..dd3545d37e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.class
      new file mode 100644
      index 00000000000..8a27d60ed90
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.class
      new file mode 100644
      index 00000000000..d67c05aaa42
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.class
      new file mode 100644
      index 00000000000..fffccb6f930
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class
      new file mode 100644
      index 00000000000..50427df1be8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicInternalFrameUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class
      new file mode 100644
      index 00000000000..7d7f0934010
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class
      new file mode 100644
      index 00000000000..442a8dc0bfd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLabelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.class
      new file mode 100644
      index 00000000000..93d816ab3fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$FocusHandler.class
      new file mode 100644
      index 00000000000..319ebbb5448
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListAction.class
      new file mode 100644
      index 00000000000..a621d9e9ebf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListDataHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListDataHandler.class
      new file mode 100644
      index 00000000000..076e91ecebf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListDataHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.class
      new file mode 100644
      index 00000000000..53948408fdd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..27d3a557c87
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..84fe813e4e0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class
      new file mode 100644
      index 00000000000..3b01beb12bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicListUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class
      new file mode 100644
      index 00000000000..5d65f475d7a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class
      new file mode 100644
      index 00000000000..f1e83643af3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class
      new file mode 100644
      index 00000000000..c33c131193c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class
      new file mode 100644
      index 00000000000..4b0ee923fbb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class
      new file mode 100644
      index 00000000000..8fee22cb714
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$5.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class
      new file mode 100644
      index 00000000000..bc464c04884
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$6.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class
      new file mode 100644
      index 00000000000..118d59b91d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$7.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.class
      new file mode 100644
      index 00000000000..7e42900f2c8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.class
      new file mode 100644
      index 00000000000..33b363ef1cc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class
      new file mode 100644
      index 00000000000..9a866a547b2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicLookAndFeel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.class
      new file mode 100644
      index 00000000000..719b2f72d04
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.class
      new file mode 100644
      index 00000000000..26290e1ef19
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.class
      new file mode 100644
      index 00000000000..530bb04bf07
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..c9fa547948d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..006dd5642c1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class
      new file mode 100644
      index 00000000000..631dbab64d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.class
      new file mode 100644
      index 00000000000..2b12cc01a2a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.class
      new file mode 100644
      index 00000000000..97810c0e411
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.class
      new file mode 100644
      index 00000000000..1874c677fb8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.class
      new file mode 100644
      index 00000000000..ea17e2dd281
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..3f7a708be4b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..4399c92f1c0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class
      new file mode 100644
      index 00000000000..80809fd55ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuItemUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.class
      new file mode 100644
      index 00000000000..df186efe287
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.class
      new file mode 100644
      index 00000000000..96204b5d9e4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.class
      new file mode 100644
      index 00000000000..f43058ef142
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.class
      new file mode 100644
      index 00000000000..fa570080996
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..d5d9207097e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.class
      new file mode 100644
      index 00000000000..523ab53d102
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class
      new file mode 100644
      index 00000000000..4ebf02b3557
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicMenuUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class
      new file mode 100644
      index 00000000000..e2fdfbf5ec2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class
      new file mode 100644
      index 00000000000..b829634fa12
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class
      new file mode 100644
      index 00000000000..739bf32ff02
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class
      new file mode 100644
      index 00000000000..004c25063cf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.class
      new file mode 100644
      index 00000000000..8f7fce47507
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.class
      new file mode 100644
      index 00000000000..e3c1beb7131
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.class
      new file mode 100644
      index 00000000000..42727bdb711
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.class
      new file mode 100644
      index 00000000000..0db21e4a23c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..625d036f4b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class
      new file mode 100644
      index 00000000000..3cccaa7ed00
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicOptionPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPanelUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPanelUI.class
      new file mode 100644
      index 00000000000..899fbeaeb45
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPanelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPasswordFieldUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPasswordFieldUI.class
      new file mode 100644
      index 00000000000..ee3247166ec
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPasswordFieldUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class
      new file mode 100644
      index 00000000000..db1675d3690
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.class
      new file mode 100644
      index 00000000000..46a97d0027f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.class
      new file mode 100644
      index 00000000000..f5cbd4e705f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class
      new file mode 100644
      index 00000000000..a1f6381d864
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.class
      new file mode 100644
      index 00000000000..e6ac311fbc6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class
      new file mode 100644
      index 00000000000..9487aefacaa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicPopupMenuUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.class
      new file mode 100644
      index 00000000000..4afc274a609
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$Animator.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$Animator.class
      new file mode 100644
      index 00000000000..865f6e60f60
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$Animator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.class
      new file mode 100644
      index 00000000000..dd22e230608
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.class
      new file mode 100644
      index 00000000000..d417d225101
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..2f4640fcb28
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class
      new file mode 100644
      index 00000000000..f428c5e34ef
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicProgressBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.class
      new file mode 100644
      index 00000000000..8bc1dcd2f1d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class
      new file mode 100644
      index 00000000000..eb5d3d1c589
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRadioButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.class
      new file mode 100644
      index 00000000000..d3c9ab033b5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.class
      new file mode 100644
      index 00000000000..77a3c72cebc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI.class
      new file mode 100644
      index 00000000000..c52b0c7d70d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicRootPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class
      new file mode 100644
      index 00000000000..9a5b36b5519
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class
      new file mode 100644
      index 00000000000..c2dbcbf5333
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class
      new file mode 100644
      index 00000000000..90e07e71ae1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class
      new file mode 100644
      index 00000000000..8ce627da62a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class
      new file mode 100644
      index 00000000000..a0646f3b816
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$5.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class
      new file mode 100644
      index 00000000000..af7dd323e0f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$6.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class
      new file mode 100644
      index 00000000000..7081759b67e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.class
      new file mode 100644
      index 00000000000..e4d2945cd85
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..f1466a6b2d3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class
      new file mode 100644
      index 00000000000..6416310df57
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class
      new file mode 100644
      index 00000000000..3b4d8ae247a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class
      new file mode 100644
      index 00000000000..f0ec5c4744d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class
      new file mode 100644
      index 00000000000..9d2c615c512
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class
      new file mode 100644
      index 00000000000..58ad2057d0b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$10.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class
      new file mode 100644
      index 00000000000..e7eb3681302
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class
      new file mode 100644
      index 00000000000..82159aed60c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class
      new file mode 100644
      index 00000000000..74544cd51a3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class
      new file mode 100644
      index 00000000000..539992025b8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$5.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class
      new file mode 100644
      index 00000000000..6bfadf29333
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$6.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class
      new file mode 100644
      index 00000000000..750471ed79f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$7.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class
      new file mode 100644
      index 00000000000..5bf0bed7f95
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$8.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class
      new file mode 100644
      index 00000000000..f5156aeb042
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$9.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.class
      new file mode 100644
      index 00000000000..3b40bfda649
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.class
      new file mode 100644
      index 00000000000..1485b952e40
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..073955092a4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.class
      new file mode 100644
      index 00000000000..af23e05fba4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.class
      new file mode 100644
      index 00000000000..1b6a7291aa3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.class
      new file mode 100644
      index 00000000000..0134ead63fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class
      new file mode 100644
      index 00000000000..35c71e2ffef
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicScrollPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSeparatorUI.class
      new file mode 100644
      index 00000000000..5c8c9138766
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class
      new file mode 100644
      index 00000000000..27bb9f6b590
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class
      new file mode 100644
      index 00000000000..b0941f4c826
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class
      new file mode 100644
      index 00000000000..0a9d63bcbf4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class
      new file mode 100644
      index 00000000000..1bcdb96da85
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class
      new file mode 100644
      index 00000000000..4de2aee76e4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$5.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class
      new file mode 100644
      index 00000000000..4724dfc1c70
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$6.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.class
      new file mode 100644
      index 00000000000..50966e9a5b5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.class
      new file mode 100644
      index 00000000000..707b9646c30
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.class
      new file mode 100644
      index 00000000000..f12ca7c11b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.class
      new file mode 100644
      index 00000000000..49f71ee9ebc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..7689cb38f05
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class
      new file mode 100644
      index 00000000000..4d868f9d099
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$TrackListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$TrackListener.class
      new file mode 100644
      index 00000000000..5624a4a5306
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI$TrackListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class
      new file mode 100644
      index 00000000000..93fef654deb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSliderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class
      new file mode 100644
      index 00000000000..a81f3909171
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class
      new file mode 100644
      index 00000000000..8dae834040c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class
      new file mode 100644
      index 00000000000..2a822f94549
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class
      new file mode 100644
      index 00000000000..8a681f1eb9f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class
      new file mode 100644
      index 00000000000..b79ee535134
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$5.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.class
      new file mode 100644
      index 00000000000..163e6d8a49b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class
      new file mode 100644
      index 00000000000..fa01bcec69b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSpinnerUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.class
      new file mode 100644
      index 00000000000..e0a721549b7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.class
      new file mode 100644
      index 00000000000..8334c392eeb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.class
      new file mode 100644
      index 00000000000..eff8b334010
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class
      new file mode 100644
      index 00000000000..f3574e07c34
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.class
      new file mode 100644
      index 00000000000..45873b58848
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class
      new file mode 100644
      index 00000000000..e60a5d995a7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class
      new file mode 100644
      index 00000000000..f4ae0683908
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneDivider.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class
      new file mode 100644
      index 00000000000..7cda0e04837
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class
      new file mode 100644
      index 00000000000..42a1f7053a8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class
      new file mode 100644
      index 00000000000..ab26c8307be
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class
      new file mode 100644
      index 00000000000..aa0fd723367
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$4.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class
      new file mode 100644
      index 00000000000..616981193a0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$5.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class
      new file mode 100644
      index 00000000000..3c771c1614a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$6.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class
      new file mode 100644
      index 00000000000..df61f281927
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$7.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class
      new file mode 100644
      index 00000000000..8cb8c2a8bf6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$8.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.class
      new file mode 100644
      index 00000000000..82248171e09
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class
      new file mode 100644
      index 00000000000..7bfafb47034
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.class
      new file mode 100644
      index 00000000000..d5ecc0d1fa6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.class
      new file mode 100644
      index 00000000000..7da3e02ae2c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.class
      new file mode 100644
      index 00000000000..ff8cab1273a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.class
      new file mode 100644
      index 00000000000..efc2f798486
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.class
      new file mode 100644
      index 00000000000..eb859af714f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.class
      new file mode 100644
      index 00000000000..8b712d69949
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class
      new file mode 100644
      index 00000000000..7b2c4296bba
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class
      new file mode 100644
      index 00000000000..1b365ff2a6b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicSplitPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class
      new file mode 100644
      index 00000000000..fb13c4f0b16
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class
      new file mode 100644
      index 00000000000..71d6174c163
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.class
      new file mode 100644
      index 00000000000..fe868cd97df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.class
      new file mode 100644
      index 00000000000..7505ade3880
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.class
      new file mode 100644
      index 00000000000..53ef74f1912
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..67a9404726d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.class
      new file mode 100644
      index 00000000000..ff7576be6bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.class
      new file mode 100644
      index 00000000000..71d43596106
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.class
      new file mode 100644
      index 00000000000..a0e33cdfda8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.class
      new file mode 100644
      index 00000000000..0fc7b07b6af
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.class
      new file mode 100644
      index 00000000000..b244abe2d3d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.class
      new file mode 100644
      index 00000000000..11182ffd0f6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class
      new file mode 100644
      index 00000000000..af70ea982d6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class
      new file mode 100644
      index 00000000000..b6746e74db9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class
      new file mode 100644
      index 00000000000..85a4b91aced
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class
      new file mode 100644
      index 00000000000..f4a5e76c3d1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTabbedPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class
      new file mode 100644
      index 00000000000..db96992ccd8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..3ec79a6ac00
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI.class
      new file mode 100644
      index 00000000000..5ad0945bc15
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableHeaderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$FocusHandler.class
      new file mode 100644
      index 00000000000..18c4100eb39
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$KeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$KeyHandler.class
      new file mode 100644
      index 00000000000..65475db210f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$KeyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..9ef5b9951d6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..def45a1866b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class
      new file mode 100644
      index 00000000000..94be7170dc6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI$TableAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class
      new file mode 100644
      index 00000000000..b0822d66e8b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTableUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextAreaUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextAreaUI.class
      new file mode 100644
      index 00000000000..0ec9c66f8e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextAreaUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextFieldUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextFieldUI.class
      new file mode 100644
      index 00000000000..90b8bf77a03
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextFieldUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextPaneUI.class
      new file mode 100644
      index 00000000000..539115faf93
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicCaret.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicCaret.class
      new file mode 100644
      index 00000000000..7284598e04d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicCaret.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.class
      new file mode 100644
      index 00000000000..c0473e17fa0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$FocusHandler.class
      new file mode 100644
      index 00000000000..12f7f465162
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class
      new file mode 100644
      index 00000000000..d574a9624ca
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$Handler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class
      new file mode 100644
      index 00000000000..3b2834c17fc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI$RootView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class
      new file mode 100644
      index 00000000000..d2a6452b4c0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTextUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToggleButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToggleButtonUI.class
      new file mode 100644
      index 00000000000..828356f3fe8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToggleButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarSeparatorUI.class
      new file mode 100644
      index 00000000000..1b59fd39898
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarSeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class
      new file mode 100644
      index 00000000000..c0c73a659bc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.class
      new file mode 100644
      index 00000000000..4eef745d21a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.class
      new file mode 100644
      index 00000000000..4f00f40143b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.class
      new file mode 100644
      index 00000000000..6c256c9da74
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.class
      new file mode 100644
      index 00000000000..b66785c3b5b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.class
      new file mode 100644
      index 00000000000..9a85d145a57
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.class
      new file mode 100644
      index 00000000000..041113523d3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.class
      new file mode 100644
      index 00000000000..6d709ddbfa7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.class
      new file mode 100644
      index 00000000000..ce3221c6514
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class
      new file mode 100644
      index 00000000000..4eefae595bd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..5c57e7d3241
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI.class
      new file mode 100644
      index 00000000000..54812b35a28
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicToolTipUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class
      new file mode 100644
      index 00000000000..0c9f340b943
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class
      new file mode 100644
      index 00000000000..a396b4ad2e5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class
      new file mode 100644
      index 00000000000..ea7b7f4181b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class
      new file mode 100644
      index 00000000000..78ea5ad8ec4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class
      new file mode 100644
      index 00000000000..8ff4e3b040d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class
      new file mode 100644
      index 00000000000..c3a396a76df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class
      new file mode 100644
      index 00000000000..ee78f86aa92
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class
      new file mode 100644
      index 00000000000..782d88746d5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..16cb402eb8d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class
      new file mode 100644
      index 00000000000..18e4350dbcb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class
      new file mode 100644
      index 00000000000..92170ea3411
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class
      new file mode 100644
      index 00000000000..7f06636f520
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class
      new file mode 100644
      index 00000000000..dd367b56bc4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class
      new file mode 100644
      index 00000000000..a5af1b98b54
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class
      new file mode 100644
      index 00000000000..91c428336db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class
      new file mode 100644
      index 00000000000..5c71ab6cb10
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class
      new file mode 100644
      index 00000000000..f714a625cee
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class
      new file mode 100644
      index 00000000000..19b3d14b96e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class
      new file mode 100644
      index 00000000000..19530ef625e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class
      new file mode 100644
      index 00000000000..f9de62e54fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class
      new file mode 100644
      index 00000000000..6ca853bf960
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicTreeUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/BasicViewportUI.class b/libjava/classpath/lib/javax/swing/plaf/basic/BasicViewportUI.class
      new file mode 100644
      index 00000000000..6053ba65ac4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/BasicViewportUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/ComboPopup.class b/libjava/classpath/lib/javax/swing/plaf/basic/ComboPopup.class
      new file mode 100644
      index 00000000000..e9af3d4ad49
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/ComboPopup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/DefaultMenuLayout.class b/libjava/classpath/lib/javax/swing/plaf/basic/DefaultMenuLayout.class
      new file mode 100644
      index 00000000000..04306b42120
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/DefaultMenuLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/basic/SharedUIDefaults.class b/libjava/classpath/lib/javax/swing/plaf/basic/SharedUIDefaults.class
      new file mode 100644
      index 00000000000..551e604207b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/basic/SharedUIDefaults.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/DefaultMetalTheme.class b/libjava/classpath/lib/javax/swing/plaf/metal/DefaultMetalTheme.class
      new file mode 100644
      index 00000000000..8c91d728a8d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/DefaultMetalTheme.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ButtonBorder.class
      new file mode 100644
      index 00000000000..caacd83b81c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.class
      new file mode 100644
      index 00000000000..02ce3e1ae05
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.class
      new file mode 100644
      index 00000000000..e184e997abe
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.class
      new file mode 100644
      index 00000000000..9472c02b542
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.class
      new file mode 100644
      index 00000000000..d58e9bd495e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.class
      new file mode 100644
      index 00000000000..be1273ee1bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.class
      new file mode 100644
      index 00000000000..60809b63213
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PaletteBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PaletteBorder.class
      new file mode 100644
      index 00000000000..8c16cafbc87
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PaletteBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.class
      new file mode 100644
      index 00000000000..0fa010c86ed
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class
      new file mode 100644
      index 00000000000..b9836bb4b4d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.class
      new file mode 100644
      index 00000000000..bd2d3689ff4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.class
      new file mode 100644
      index 00000000000..b3f20be757f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.class
      new file mode 100644
      index 00000000000..d65caaaafae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class
      new file mode 100644
      index 00000000000..e5758fcd734
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class
      new file mode 100644
      index 00000000000..9a73598fd4f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.class
      new file mode 100644
      index 00000000000..6cc65db10b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class
      new file mode 100644
      index 00000000000..355eb063b22
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalBorders.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonListener.class
      new file mode 100644
      index 00000000000..ecea49d9ab4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class
      new file mode 100644
      index 00000000000..aa93c284e40
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class
      new file mode 100644
      index 00000000000..86d28441a0a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxUI.class
      new file mode 100644
      index 00000000000..5e5617b966d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalCheckBoxUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxButton.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxButton.class
      new file mode 100644
      index 00000000000..b7e43a5495f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.class
      new file mode 100644
      index 00000000000..ec2fa0e09fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.class
      new file mode 100644
      index 00000000000..b6b37439e3e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.class
      new file mode 100644
      index 00000000000..635ecb7eec5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class
      new file mode 100644
      index 00000000000..1ddca3bd4db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxIcon.class
      new file mode 100644
      index 00000000000..65cfdb08cc1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class
      new file mode 100644
      index 00000000000..61720f764b5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class
      new file mode 100644
      index 00000000000..db870fa5667
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class
      new file mode 100644
      index 00000000000..a6ff5bdd827
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class
      new file mode 100644
      index 00000000000..d14dcb63688
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalComboBoxUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalDesktopIconUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalDesktopIconUI.class
      new file mode 100644
      index 00000000000..f523996d951
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalDesktopIconUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.class
      new file mode 100644
      index 00000000000..5812e80e6bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.class
      new file mode 100644
      index 00000000000..347cf8f277c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class
      new file mode 100644
      index 00000000000..9762645920c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.class
      new file mode 100644
      index 00000000000..ab37b07eeee
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class
      new file mode 100644
      index 00000000000..cfc4c7d0b89
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.class
      new file mode 100644
      index 00000000000..96734ea31a1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.class
      new file mode 100644
      index 00000000000..48b33da80f5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.class
      new file mode 100644
      index 00000000000..7e67ceef572
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.class
      new file mode 100644
      index 00000000000..ef6f124c7e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.class
      new file mode 100644
      index 00000000000..22ca84fa642
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class
      new file mode 100644
      index 00000000000..fd71ac5075e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.class
      new file mode 100644
      index 00000000000..29fc30eef5a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.class
      new file mode 100644
      index 00000000000..a3e1ef8a0fb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.class
      new file mode 100644
      index 00000000000..efc50fccbda
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.class
      new file mode 100644
      index 00000000000..777f247c861
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class
      new file mode 100644
      index 00000000000..73c804100fb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.class
      new file mode 100644
      index 00000000000..a67ead94011
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.class
      new file mode 100644
      index 00000000000..e1f36a57dad
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class
      new file mode 100644
      index 00000000000..22634c7b06d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalFileChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class
      new file mode 100644
      index 00000000000..c90fcece004
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class
      new file mode 100644
      index 00000000000..764ee53161c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$2.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class
      new file mode 100644
      index 00000000000..28a0385ff13
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$3.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.class
      new file mode 100644
      index 00000000000..e88cd5f77c5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.class
      new file mode 100644
      index 00000000000..d72e34a2c64
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.class
      new file mode 100644
      index 00000000000..1fa4f1c79f6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.class
      new file mode 100644
      index 00000000000..b80fc2dea17
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.class
      new file mode 100644
      index 00000000000..79a93802757
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class
      new file mode 100644
      index 00000000000..4c2dfb539ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.class
      new file mode 100644
      index 00000000000..0a5a5c8ce40
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.class
      new file mode 100644
      index 00000000000..65a827a91de
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.class
      new file mode 100644
      index 00000000000..9cfa561d223
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.class
      new file mode 100644
      index 00000000000..168b94061f6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.class
      new file mode 100644
      index 00000000000..ac45a6c21bc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.class
      new file mode 100644
      index 00000000000..47972a750c0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.class
      new file mode 100644
      index 00000000000..ee01345496a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.class
      new file mode 100644
      index 00000000000..f86ff74fd32
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.class
      new file mode 100644
      index 00000000000..bafc958b41e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.class
      new file mode 100644
      index 00000000000..59e7310caa7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.class
      new file mode 100644
      index 00000000000..0e3f35d8f39
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.class
      new file mode 100644
      index 00000000000..cd1d4a774ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.class
      new file mode 100644
      index 00000000000..5101c61176b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.class
      new file mode 100644
      index 00000000000..6b90be38765
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class
      new file mode 100644
      index 00000000000..520a43892a2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.class
      new file mode 100644
      index 00000000000..2fe6af8056c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class
      new file mode 100644
      index 00000000000..27aabe6239c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.class
      new file mode 100644
      index 00000000000..cb378d422b8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class
      new file mode 100644
      index 00000000000..fdbcad09013
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalIconFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class
      new file mode 100644
      index 00000000000..f966b6607a7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.class
      new file mode 100644
      index 00000000000..0642de5fcf0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class
      new file mode 100644
      index 00000000000..4ee98141c8f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameTitlePane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class
      new file mode 100644
      index 00000000000..7c916d365f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class
      new file mode 100644
      index 00000000000..c518ed553ca
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalInternalFrameUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLabelUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLabelUI.class
      new file mode 100644
      index 00000000000..976afe64be7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLabelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class
      new file mode 100644
      index 00000000000..89b00a27c70
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class
      new file mode 100644
      index 00000000000..86e1c063749
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalLookAndFeel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class
      new file mode 100644
      index 00000000000..6e39160c608
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalMenuBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.class
      new file mode 100644
      index 00000000000..7c8b938ecb8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalProgressBarUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalProgressBarUI.class
      new file mode 100644
      index 00000000000..92f69efbceb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalProgressBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRadioButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRadioButtonUI.class
      new file mode 100644
      index 00000000000..b88c964eea6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRadioButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.class
      new file mode 100644
      index 00000000000..5aa6ae54f29
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class
      new file mode 100644
      index 00000000000..355f39d8adc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class
      new file mode 100644
      index 00000000000..08e5c9423e5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.class
      new file mode 100644
      index 00000000000..8759cde05dd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.class
      new file mode 100644
      index 00000000000..9ae62915587
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.class
      new file mode 100644
      index 00000000000..edeaa27ad7b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.class
      new file mode 100644
      index 00000000000..4599854f8f3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.class
      new file mode 100644
      index 00000000000..c0c0f4ccd87
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class
      new file mode 100644
      index 00000000000..20022fa7821
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class
      new file mode 100644
      index 00000000000..cfe2e72fc53
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalRootPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class
      new file mode 100644
      index 00000000000..6efbdc4d683
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI.class
      new file mode 100644
      index 00000000000..55524da4b61
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollButton.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollButton.class
      new file mode 100644
      index 00000000000..84f5c6487d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollPaneUI.class
      new file mode 100644
      index 00000000000..36adede517d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalScrollPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSeparatorUI.class
      new file mode 100644
      index 00000000000..50fe535ed26
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class
      new file mode 100644
      index 00000000000..eec02ebd62e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI.class
      new file mode 100644
      index 00000000000..8dd86d9d079
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSliderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.class
      new file mode 100644
      index 00000000000..f98cab8036e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider.class
      new file mode 100644
      index 00000000000..b85c734c7df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneDivider.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneUI.class
      new file mode 100644
      index 00000000000..8e7a5eeca25
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalSplitPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class
      new file mode 100644
      index 00000000000..5fb3e4aa01c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI.class
      new file mode 100644
      index 00000000000..7ac7cac40f5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTabbedPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTextFieldUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTextFieldUI.class
      new file mode 100644
      index 00000000000..19ffc27b416
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTextFieldUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTheme.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTheme.class
      new file mode 100644
      index 00000000000..13a569799aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTheme.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToggleButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToggleButtonUI.class
      new file mode 100644
      index 00000000000..25ed8e10779
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToggleButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class
      new file mode 100644
      index 00000000000..bb84912aea2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class
      new file mode 100644
      index 00000000000..20c56d2207e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class
      new file mode 100644
      index 00000000000..bea84a8e6d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class
      new file mode 100644
      index 00000000000..9ca5216e701
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolTipUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolTipUI.class
      new file mode 100644
      index 00000000000..5e98965c5f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalToolTipUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.class
      new file mode 100644
      index 00000000000..d17db4e543c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class
      new file mode 100644
      index 00000000000..84363d15dc9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalTreeUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class b/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class
      new file mode 100644
      index 00000000000..0d1dcf94eca
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/MetalUtils.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class b/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class
      new file mode 100644
      index 00000000000..c596b1f8ae2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/metal/OceanTheme.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiButtonUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiButtonUI.class
      new file mode 100644
      index 00000000000..d417f3d90d2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiButtonUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiColorChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiColorChooserUI.class
      new file mode 100644
      index 00000000000..40e9a80430f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiColorChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiComboBoxUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiComboBoxUI.class
      new file mode 100644
      index 00000000000..5e696ac3f7d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiComboBoxUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopIconUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopIconUI.class
      new file mode 100644
      index 00000000000..813ab7cd37e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopIconUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopPaneUI.class
      new file mode 100644
      index 00000000000..c4587c3c653
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiDesktopPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiFileChooserUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiFileChooserUI.class
      new file mode 100644
      index 00000000000..4f5783bd5d5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiFileChooserUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiInternalFrameUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiInternalFrameUI.class
      new file mode 100644
      index 00000000000..81c467b8825
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiInternalFrameUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiLabelUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiLabelUI.class
      new file mode 100644
      index 00000000000..4b080c529c7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiLabelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiListUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiListUI.class
      new file mode 100644
      index 00000000000..becf3bcd515
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiListUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiLookAndFeel.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiLookAndFeel.class
      new file mode 100644
      index 00000000000..4c57c94bf75
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiLookAndFeel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuBarUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuBarUI.class
      new file mode 100644
      index 00000000000..30646d3758c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuItemUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuItemUI.class
      new file mode 100644
      index 00000000000..b98068a2e86
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiMenuItemUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiOptionPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiOptionPaneUI.class
      new file mode 100644
      index 00000000000..82950b16e5f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiOptionPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiPanelUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiPanelUI.class
      new file mode 100644
      index 00000000000..537e9c5f8ca
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiPanelUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiPopupMenuUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiPopupMenuUI.class
      new file mode 100644
      index 00000000000..50e98eb75db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiPopupMenuUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiProgressBarUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiProgressBarUI.class
      new file mode 100644
      index 00000000000..ca7322a88c2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiProgressBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiRootPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiRootPaneUI.class
      new file mode 100644
      index 00000000000..17bca451a69
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiRootPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollBarUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollBarUI.class
      new file mode 100644
      index 00000000000..d65dbc33fe4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollPaneUI.class
      new file mode 100644
      index 00000000000..2d824c5e31f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiScrollPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiSeparatorUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSeparatorUI.class
      new file mode 100644
      index 00000000000..c7d27284438
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSeparatorUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiSliderUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSliderUI.class
      new file mode 100644
      index 00000000000..b7759489c40
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSliderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiSpinnerUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSpinnerUI.class
      new file mode 100644
      index 00000000000..2e646028e4e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSpinnerUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiSplitPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSplitPaneUI.class
      new file mode 100644
      index 00000000000..57be2358e64
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiSplitPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTabbedPaneUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTabbedPaneUI.class
      new file mode 100644
      index 00000000000..2e48a74f600
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTabbedPaneUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTableHeaderUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTableHeaderUI.class
      new file mode 100644
      index 00000000000..edda59cbead
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTableHeaderUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTableUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTableUI.class
      new file mode 100644
      index 00000000000..4e6210f1226
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTableUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class
      new file mode 100644
      index 00000000000..5ffcf8b5b54
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTextUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiToolBarUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiToolBarUI.class
      new file mode 100644
      index 00000000000..c17150719aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiToolBarUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiToolTipUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiToolTipUI.class
      new file mode 100644
      index 00000000000..9a4def17df4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiToolTipUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiTreeUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTreeUI.class
      new file mode 100644
      index 00000000000..efb43fe079d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiTreeUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/multi/MultiViewportUI.class b/libjava/classpath/lib/javax/swing/plaf/multi/MultiViewportUI.class
      new file mode 100644
      index 00000000000..643fb34b546
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/multi/MultiViewportUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/ColorType.class b/libjava/classpath/lib/javax/swing/plaf/synth/ColorType.class
      new file mode 100644
      index 00000000000..1c2511a3677
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/ColorType.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/Region.class b/libjava/classpath/lib/javax/swing/plaf/synth/Region.class
      new file mode 100644
      index 00000000000..c29c7dcc9e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/Region.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthConstants.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthConstants.class
      new file mode 100644
      index 00000000000..9dedcea0bc7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthContext.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthContext.class
      new file mode 100644
      index 00000000000..8ef9eb61414
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthContext.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthGraphicsUtils.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthGraphicsUtils.class
      new file mode 100644
      index 00000000000..a7a6733c417
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthGraphicsUtils.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthLookAndFeel.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthLookAndFeel.class
      new file mode 100644
      index 00000000000..c4d0994976f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthLookAndFeel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthPainter.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthPainter.class
      new file mode 100644
      index 00000000000..ad8ae277791
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthStyle.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthStyle.class
      new file mode 100644
      index 00000000000..710c129bb83
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthStyle.class differ
      diff --git a/libjava/classpath/lib/javax/swing/plaf/synth/SynthStyleFactory.class b/libjava/classpath/lib/javax/swing/plaf/synth/SynthStyleFactory.class
      new file mode 100644
      index 00000000000..b010e039348
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/plaf/synth/SynthStyleFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/AbstractTableModel.class b/libjava/classpath/lib/javax/swing/table/AbstractTableModel.class
      new file mode 100644
      index 00000000000..acb354bb252
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/AbstractTableModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer$UIResource.class b/libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer$UIResource.class
      new file mode 100644
      index 00000000000..59a68ae75c1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer$UIResource.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer.class b/libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer.class
      new file mode 100644
      index 00000000000..500f418190d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/DefaultTableCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/DefaultTableColumnModel.class b/libjava/classpath/lib/javax/swing/table/DefaultTableColumnModel.class
      new file mode 100644
      index 00000000000..a141c6d648e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/DefaultTableColumnModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class b/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class
      new file mode 100644
      index 00000000000..bc27c59ca1f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/DefaultTableModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.class b/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.class
      new file mode 100644
      index 00000000000..f261bf99a8c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class b/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class
      new file mode 100644
      index 00000000000..caa7f10d8a6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/JTableHeader$AccessibleJTableHeader.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/JTableHeader.class b/libjava/classpath/lib/javax/swing/table/JTableHeader.class
      new file mode 100644
      index 00000000000..7bbac17de8b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/JTableHeader.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/TableCellEditor.class b/libjava/classpath/lib/javax/swing/table/TableCellEditor.class
      new file mode 100644
      index 00000000000..efe03b2a787
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/TableCellEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/TableCellRenderer.class b/libjava/classpath/lib/javax/swing/table/TableCellRenderer.class
      new file mode 100644
      index 00000000000..9e9dbe2966f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/TableCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/TableColumn.class b/libjava/classpath/lib/javax/swing/table/TableColumn.class
      new file mode 100644
      index 00000000000..daf7d5dc6b6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/TableColumn.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/TableColumnModel.class b/libjava/classpath/lib/javax/swing/table/TableColumnModel.class
      new file mode 100644
      index 00000000000..fb3c12184ba
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/TableColumnModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/table/TableModel.class b/libjava/classpath/lib/javax/swing/table/TableModel.class
      new file mode 100644
      index 00000000000..1b5c1434250
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/table/TableModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class
      new file mode 100644
      index 00000000000..8085237f265
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AbstractElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$AttributeContext.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AttributeContext.class
      new file mode 100644
      index 00000000000..cdf353a2eb0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$AttributeContext.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class
      new file mode 100644
      index 00000000000..ce3b3c7f73c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class
      new file mode 100644
      index 00000000000..02beb2f4f5b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BidiRootElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class
      new file mode 100644
      index 00000000000..0f3938e918c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$BranchElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class
      new file mode 100644
      index 00000000000..7ab8a203315
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$Bypass.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$Content.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$Content.class
      new file mode 100644
      index 00000000000..c9bdc3f62fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$Content.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class
      new file mode 100644
      index 00000000000..ba8f7246bde
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$DefaultDocumentEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class
      new file mode 100644
      index 00000000000..e11f6c64d5f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$ElementEdit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class
      new file mode 100644
      index 00000000000..0f13f86fa32
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument$LeafElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractDocument.class b/libjava/classpath/lib/javax/swing/text/AbstractDocument.class
      new file mode 100644
      index 00000000000..a3ae0b5208e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractDocument.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AbstractWriter.class b/libjava/classpath/lib/javax/swing/text/AbstractWriter.class
      new file mode 100644
      index 00000000000..05b7e79ba1a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AbstractWriter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class
      new file mode 100644
      index 00000000000..19b477fcde0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildLocator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class
      new file mode 100644
      index 00000000000..34bbdd5fc9f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$ChildState.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class
      new file mode 100644
      index 00000000000..21bbf808714
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView$FlushTask.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class b/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class
      new file mode 100644
      index 00000000000..66149c460f3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AsyncBoxView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AttributeSet$CharacterAttribute.class b/libjava/classpath/lib/javax/swing/text/AttributeSet$CharacterAttribute.class
      new file mode 100644
      index 00000000000..359fbdc8548
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AttributeSet$CharacterAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AttributeSet$ColorAttribute.class b/libjava/classpath/lib/javax/swing/text/AttributeSet$ColorAttribute.class
      new file mode 100644
      index 00000000000..7a7966af5b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AttributeSet$ColorAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AttributeSet$FontAttribute.class b/libjava/classpath/lib/javax/swing/text/AttributeSet$FontAttribute.class
      new file mode 100644
      index 00000000000..ce4337de20f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AttributeSet$FontAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AttributeSet$ParagraphAttribute.class b/libjava/classpath/lib/javax/swing/text/AttributeSet$ParagraphAttribute.class
      new file mode 100644
      index 00000000000..7c982606cfa
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AttributeSet$ParagraphAttribute.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/AttributeSet.class b/libjava/classpath/lib/javax/swing/text/AttributeSet.class
      new file mode 100644
      index 00000000000..7fd29c4396c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/AttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/BadLocationException.class b/libjava/classpath/lib/javax/swing/text/BadLocationException.class
      new file mode 100644
      index 00000000000..98da09d6c38
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/BadLocationException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/BoxView.class b/libjava/classpath/lib/javax/swing/text/BoxView.class
      new file mode 100644
      index 00000000000..7a80c961517
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/BoxView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Caret.class b/libjava/classpath/lib/javax/swing/text/Caret.class
      new file mode 100644
      index 00000000000..ff6076d15c8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Caret.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ChangedCharSetException.class b/libjava/classpath/lib/javax/swing/text/ChangedCharSetException.class
      new file mode 100644
      index 00000000000..057a6872814
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ChangedCharSetException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ComponentView$1.class b/libjava/classpath/lib/javax/swing/text/ComponentView$1.class
      new file mode 100644
      index 00000000000..33102d9ab4d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ComponentView$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ComponentView$Interceptor.class b/libjava/classpath/lib/javax/swing/text/ComponentView$Interceptor.class
      new file mode 100644
      index 00000000000..809e777101b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ComponentView$Interceptor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ComponentView.class b/libjava/classpath/lib/javax/swing/text/ComponentView.class
      new file mode 100644
      index 00000000000..734e7cb7eb9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ComponentView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/CompositeView.class b/libjava/classpath/lib/javax/swing/text/CompositeView.class
      new file mode 100644
      index 00000000000..9f503c75dbf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/CompositeView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DateFormatter.class b/libjava/classpath/lib/javax/swing/text/DateFormatter.class
      new file mode 100644
      index 00000000000..c457e2c9ed8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DateFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret$BlinkTimerListener.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret$BlinkTimerListener.class
      new file mode 100644
      index 00000000000..8ef5ff13f9c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultCaret$BlinkTimerListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class
      new file mode 100644
      index 00000000000..bea4c5c1007
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultCaret$Bypass.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret$DocumentHandler.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret$DocumentHandler.class
      new file mode 100644
      index 00000000000..32bfbc44c47
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultCaret$DocumentHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret$PropertyChangeHandler.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret$PropertyChangeHandler.class
      new file mode 100644
      index 00000000000..11497e74b4e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultCaret$PropertyChangeHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultCaret.class b/libjava/classpath/lib/javax/swing/text/DefaultCaret.class
      new file mode 100644
      index 00000000000..89e12fde404
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultCaret.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class
      new file mode 100644
      index 00000000000..03db2322a64
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BackwardAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeepAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeepAction.class
      new file mode 100644
      index 00000000000..efb137b75f8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeepAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginAction.class
      new file mode 100644
      index 00000000000..b428801dafb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginLineAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginLineAction.class
      new file mode 100644
      index 00000000000..a0d6cf1e1e7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginLineAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginWordAction.class
      new file mode 100644
      index 00000000000..64bd8d6ad4a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$BeginWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CopyAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CopyAction.class
      new file mode 100644
      index 00000000000..93e9be5be3c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CopyAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CutAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CutAction.class
      new file mode 100644
      index 00000000000..80b43cb521e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$CutAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.class
      new file mode 100644
      index 00000000000..1b14036eb4e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.class
      new file mode 100644
      index 00000000000..2a74bf7f45f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.class
      new file mode 100644
      index 00000000000..88c01ad519c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class
      new file mode 100644
      index 00000000000..5594f37bd42
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$DownAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndAction.class
      new file mode 100644
      index 00000000000..a8319fac359
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndLineAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndLineAction.class
      new file mode 100644
      index 00000000000..3708263b999
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndLineAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndWordAction.class
      new file mode 100644
      index 00000000000..66f079ffca2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$EndWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class
      new file mode 100644
      index 00000000000..7ab3f6fdb74
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$ForwardAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertBreakAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertBreakAction.class
      new file mode 100644
      index 00000000000..1f7c364be4a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertBreakAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertContentAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertContentAction.class
      new file mode 100644
      index 00000000000..5701aaed52d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertContentAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertTabAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertTabAction.class
      new file mode 100644
      index 00000000000..f5a64f81b6b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$InsertTabAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$NextWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$NextWordAction.class
      new file mode 100644
      index 00000000000..bbf055fbf85
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$NextWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PasteAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PasteAction.class
      new file mode 100644
      index 00000000000..8ebb7f4ecf7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PasteAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PreviousWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PreviousWordAction.class
      new file mode 100644
      index 00000000000..7d2d4b0e4fd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$PreviousWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectAllAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectAllAction.class
      new file mode 100644
      index 00000000000..cf44390395f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectAllAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectLineAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectLineAction.class
      new file mode 100644
      index 00000000000..ccc5a6458bf
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectLineAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectWordAction.class
      new file mode 100644
      index 00000000000..54ed14cc54d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class
      new file mode 100644
      index 00000000000..f80454d6c82
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginAction.class
      new file mode 100644
      index 00000000000..4fbaf30209e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.class
      new file mode 100644
      index 00000000000..a127a5537e7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.class
      new file mode 100644
      index 00000000000..c9cb13f7d71
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class
      new file mode 100644
      index 00000000000..354f776118c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionDownAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndAction.class
      new file mode 100644
      index 00000000000..29fac6c4b03
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.class
      new file mode 100644
      index 00000000000..0f6d39be3a1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.class
      new file mode 100644
      index 00000000000..de30976ffee
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class
      new file mode 100644
      index 00000000000..8970a9a770a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionForwardAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.class
      new file mode 100644
      index 00000000000..3422529b42a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.class
      new file mode 100644
      index 00000000000..ad3ace407da
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class
      new file mode 100644
      index 00000000000..f17bba89852
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$SelectionUpAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class
      new file mode 100644
      index 00000000000..41abccfc771
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit$UpAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class
      new file mode 100644
      index 00000000000..36d462bf592
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultEditorKit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class
      new file mode 100644
      index 00000000000..f2eb6ccf61d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class
      new file mode 100644
      index 00000000000..34f31b2c3fe
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class b/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class
      new file mode 100644
      index 00000000000..cd6c220298b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultFormatterFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class
      new file mode 100644
      index 00000000000..12a44c2fd28
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class
      new file mode 100644
      index 00000000000..b5a07ad27d3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$HighlightEntry.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class
      new file mode 100644
      index 00000000000..6be9b03b26b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class
      new file mode 100644
      index 00000000000..cc105ee62df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultHighlighter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.class
      new file mode 100644
      index 00000000000..1d2bcd8ce23
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.class
      new file mode 100644
      index 00000000000..f64b587d337
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class
      new file mode 100644
      index 00000000000..d9bd130e70f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementBuffer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementSpec.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementSpec.class
      new file mode 100644
      index 00000000000..b82e7253033
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$ElementSpec.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class
      new file mode 100644
      index 00000000000..277c1a82e27
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$SectionElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class
      new file mode 100644
      index 00000000000..bfbd3b8330c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument$StyleChangeListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class
      new file mode 100644
      index 00000000000..7b337be5fd8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultStyledDocument.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DefaultTextUI.class b/libjava/classpath/lib/javax/swing/text/DefaultTextUI.class
      new file mode 100644
      index 00000000000..49557e64000
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DefaultTextUI.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Document.class b/libjava/classpath/lib/javax/swing/text/Document.class
      new file mode 100644
      index 00000000000..5ab171003b1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Document.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DocumentFilter$FilterBypass.class b/libjava/classpath/lib/javax/swing/text/DocumentFilter$FilterBypass.class
      new file mode 100644
      index 00000000000..bbf919d73f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DocumentFilter$FilterBypass.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/DocumentFilter.class b/libjava/classpath/lib/javax/swing/text/DocumentFilter.class
      new file mode 100644
      index 00000000000..a218a8d1773
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/DocumentFilter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/EditorKit.class b/libjava/classpath/lib/javax/swing/text/EditorKit.class
      new file mode 100644
      index 00000000000..69dcec6862a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/EditorKit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Element.class b/libjava/classpath/lib/javax/swing/text/Element.class
      new file mode 100644
      index 00000000000..570363d41b2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Element.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ElementIterator$ElementRef.class b/libjava/classpath/lib/javax/swing/text/ElementIterator$ElementRef.class
      new file mode 100644
      index 00000000000..577995ffe67
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ElementIterator$ElementRef.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ElementIterator.class b/libjava/classpath/lib/javax/swing/text/ElementIterator.class
      new file mode 100644
      index 00000000000..637badf0c0c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ElementIterator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class
      new file mode 100644
      index 00000000000..3d7afc62a65
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class
      new file mode 100644
      index 00000000000..d55c939b23f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/EmptyAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/FieldView$1.class b/libjava/classpath/lib/javax/swing/text/FieldView$1.class
      new file mode 100644
      index 00000000000..efb6ff46a0b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/FieldView$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/FieldView.class b/libjava/classpath/lib/javax/swing/text/FieldView.class
      new file mode 100644
      index 00000000000..9d418263272
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/FieldView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class b/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class
      new file mode 100644
      index 00000000000..a0935b8c622
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/FlowView$FlowStrategy.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/FlowView$LogicalView.class b/libjava/classpath/lib/javax/swing/text/FlowView$LogicalView.class
      new file mode 100644
      index 00000000000..986ef604d1f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/FlowView$LogicalView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/FlowView.class b/libjava/classpath/lib/javax/swing/text/FlowView.class
      new file mode 100644
      index 00000000000..96290080af6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/FlowView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class b/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class
      new file mode 100644
      index 00000000000..30f5260fb17
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GapContent$GapContentPosition.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$InsertUndo.class b/libjava/classpath/lib/javax/swing/text/GapContent$InsertUndo.class
      new file mode 100644
      index 00000000000..f93ebd0b84a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GapContent$InsertUndo.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class b/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class
      new file mode 100644
      index 00000000000..be06f267c50
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GapContent$Mark.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class b/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class
      new file mode 100644
      index 00000000000..8e149e7648f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GapContent$UndoPosRef.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GapContent$UndoRemove.class b/libjava/classpath/lib/javax/swing/text/GapContent$UndoRemove.class
      new file mode 100644
      index 00000000000..3ecf5adaa22
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GapContent$UndoRemove.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GapContent.class b/libjava/classpath/lib/javax/swing/text/GapContent.class
      new file mode 100644
      index 00000000000..e7049f20145
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GapContent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class b/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class
      new file mode 100644
      index 00000000000..0d82c97bf94
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GlyphView$DefaultGlyphPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class b/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class
      new file mode 100644
      index 00000000000..99cc4f7c7d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GlyphView$GlyphPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class b/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class
      new file mode 100644
      index 00000000000..494252752db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GlyphView$J2DGlyphPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/GlyphView.class b/libjava/classpath/lib/javax/swing/text/GlyphView.class
      new file mode 100644
      index 00000000000..7beb2ba0679
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/GlyphView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class b/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class
      new file mode 100644
      index 00000000000..e3a6714b0e2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Highlighter$Highlight.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Highlighter$HighlightPainter.class b/libjava/classpath/lib/javax/swing/text/Highlighter$HighlightPainter.class
      new file mode 100644
      index 00000000000..e41f610f199
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Highlighter$HighlightPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Highlighter.class b/libjava/classpath/lib/javax/swing/text/Highlighter.class
      new file mode 100644
      index 00000000000..0fbd97938f0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Highlighter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/IconView.class b/libjava/classpath/lib/javax/swing/text/IconView.class
      new file mode 100644
      index 00000000000..b26039157b2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/IconView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class b/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class
      new file mode 100644
      index 00000000000..dbf03823c08
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/InternationalFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class
      new file mode 100644
      index 00000000000..e1d0af2c71c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent$AccessibleJTextComponent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultKeymap.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultKeymap.class
      new file mode 100644
      index 00000000000..997fa67a757
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultKeymap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultTransferHandler.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultTransferHandler.class
      new file mode 100644
      index 00000000000..8533861a6e0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent$DefaultTransferHandler.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$KeyBinding.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$KeyBinding.class
      new file mode 100644
      index 00000000000..bf2683d47d4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent$KeyBinding.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapActionMap.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapActionMap.class
      new file mode 100644
      index 00000000000..8a4084e18db
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapActionMap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapWrapper.class b/libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapWrapper.class
      new file mode 100644
      index 00000000000..13d41ade175
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent$KeymapWrapper.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/JTextComponent.class b/libjava/classpath/lib/javax/swing/text/JTextComponent.class
      new file mode 100644
      index 00000000000..f09c72a5884
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/JTextComponent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Keymap.class b/libjava/classpath/lib/javax/swing/text/Keymap.class
      new file mode 100644
      index 00000000000..25ae0f367fe
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Keymap.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/LabelView.class b/libjava/classpath/lib/javax/swing/text/LabelView.class
      new file mode 100644
      index 00000000000..d3c1a6dde3a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/LabelView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class b/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class
      new file mode 100644
      index 00000000000..6a0619ff47f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/LayeredHighlighter$LayerPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/LayeredHighlighter.class b/libjava/classpath/lib/javax/swing/text/LayeredHighlighter.class
      new file mode 100644
      index 00000000000..cca3bf2328a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/LayeredHighlighter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/LayoutQueue.class b/libjava/classpath/lib/javax/swing/text/LayoutQueue.class
      new file mode 100644
      index 00000000000..83e7a1767d9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/LayoutQueue.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/MaskFormatter.class b/libjava/classpath/lib/javax/swing/text/MaskFormatter.class
      new file mode 100644
      index 00000000000..559193a6692
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/MaskFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/MutableAttributeSet.class b/libjava/classpath/lib/javax/swing/text/MutableAttributeSet.class
      new file mode 100644
      index 00000000000..bd96badde5e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/MutableAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class b/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class
      new file mode 100644
      index 00000000000..1ce6a3cce50
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/NavigationFilter$FilterBypass.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/NavigationFilter.class b/libjava/classpath/lib/javax/swing/text/NavigationFilter.class
      new file mode 100644
      index 00000000000..6fec1f4d90f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/NavigationFilter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/NumberFormatter.class b/libjava/classpath/lib/javax/swing/text/NumberFormatter.class
      new file mode 100644
      index 00000000000..1074629e649
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/NumberFormatter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ParagraphView$Row.class b/libjava/classpath/lib/javax/swing/text/ParagraphView$Row.class
      new file mode 100644
      index 00000000000..ab9c2654c5d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ParagraphView$Row.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ParagraphView.class b/libjava/classpath/lib/javax/swing/text/ParagraphView.class
      new file mode 100644
      index 00000000000..5787f0dd392
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ParagraphView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/PasswordView.class b/libjava/classpath/lib/javax/swing/text/PasswordView.class
      new file mode 100644
      index 00000000000..565d0122173
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/PasswordView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/PlainDocument.class b/libjava/classpath/lib/javax/swing/text/PlainDocument.class
      new file mode 100644
      index 00000000000..d368e00790f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/PlainDocument.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/PlainView.class b/libjava/classpath/lib/javax/swing/text/PlainView.class
      new file mode 100644
      index 00000000000..abfdc19898d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/PlainView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Position$Bias.class b/libjava/classpath/lib/javax/swing/text/Position$Bias.class
      new file mode 100644
      index 00000000000..2a0537c4407
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Position$Bias.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Position.class b/libjava/classpath/lib/javax/swing/text/Position.class
      new file mode 100644
      index 00000000000..f012482fff9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Position.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Segment.class b/libjava/classpath/lib/javax/swing/text/Segment.class
      new file mode 100644
      index 00000000000..05c0e8334d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Segment.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/SimpleAttributeSet.class b/libjava/classpath/lib/javax/swing/text/SimpleAttributeSet.class
      new file mode 100644
      index 00000000000..3c824ac1914
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/SimpleAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$InsertUndo.class b/libjava/classpath/lib/javax/swing/text/StringContent$InsertUndo.class
      new file mode 100644
      index 00000000000..9d51c6520dd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StringContent$InsertUndo.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$Mark.class b/libjava/classpath/lib/javax/swing/text/StringContent$Mark.class
      new file mode 100644
      index 00000000000..67d60a2a84f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StringContent$Mark.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$RemoveUndo.class b/libjava/classpath/lib/javax/swing/text/StringContent$RemoveUndo.class
      new file mode 100644
      index 00000000000..4fc5da651d2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StringContent$RemoveUndo.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class b/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class
      new file mode 100644
      index 00000000000..6059d22c681
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StringContent$StickyPosition.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class b/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class
      new file mode 100644
      index 00000000000..7e2c2d44814
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StringContent$UndoPosRef.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StringContent.class b/libjava/classpath/lib/javax/swing/text/StringContent.class
      new file mode 100644
      index 00000000000..702d514aefd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StringContent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Style.class b/libjava/classpath/lib/javax/swing/text/Style.class
      new file mode 100644
      index 00000000000..f1a81cfb7f2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Style.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class
      new file mode 100644
      index 00000000000..fc27c45be26
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleConstants$CharacterConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class
      new file mode 100644
      index 00000000000..7708186ad10
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleConstants$ColorConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class
      new file mode 100644
      index 00000000000..7fd6ac1cf97
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleConstants$FontConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class
      new file mode 100644
      index 00000000000..86b02b7853d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleConstants$ParagraphConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleConstants.class b/libjava/classpath/lib/javax/swing/text/StyleConstants.class
      new file mode 100644
      index 00000000000..608bff99481
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$1.class b/libjava/classpath/lib/javax/swing/text/StyleContext$1.class
      new file mode 100644
      index 00000000000..4cd8a5c34ee
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleContext$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$NamedStyle.class b/libjava/classpath/lib/javax/swing/text/StyleContext$NamedStyle.class
      new file mode 100644
      index 00000000000..4acf9cdb139
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleContext$NamedStyle.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$SimpleFontSpec.class b/libjava/classpath/lib/javax/swing/text/StyleContext$SimpleFontSpec.class
      new file mode 100644
      index 00000000000..6f05bbdfbc2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleContext$SimpleFontSpec.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class b/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class
      new file mode 100644
      index 00000000000..a4926f9f810
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleContext$SmallAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyleContext.class b/libjava/classpath/lib/javax/swing/text/StyleContext.class
      new file mode 100644
      index 00000000000..0940dedc938
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyleContext.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledDocument.class b/libjava/classpath/lib/javax/swing/text/StyledDocument.class
      new file mode 100644
      index 00000000000..3dc29db899b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledDocument.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class
      new file mode 100644
      index 00000000000..b07b5f9d7e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$AlignmentAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class
      new file mode 100644
      index 00000000000..26c3dd8d3b9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$BoldAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$CaretTracker.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$CaretTracker.class
      new file mode 100644
      index 00000000000..4e47402fb70
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$CaretTracker.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class
      new file mode 100644
      index 00000000000..3af0af3b9ed
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontFamilyAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class
      new file mode 100644
      index 00000000000..f0040b9a786
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$FontSizeAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class
      new file mode 100644
      index 00000000000..c558c738823
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ForegroundAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class
      new file mode 100644
      index 00000000000..1ba3c954860
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$ItalicAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledTextAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledTextAction.class
      new file mode 100644
      index 00000000000..93f945cea0c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledTextAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledViewFactory.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledViewFactory.class
      new file mode 100644
      index 00000000000..732142fa665
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$StyledViewFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class
      new file mode 100644
      index 00000000000..094bd861d17
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit$UnderlineAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class b/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class
      new file mode 100644
      index 00000000000..de57fff624d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/StyledEditorKit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TabExpander.class b/libjava/classpath/lib/javax/swing/text/TabExpander.class
      new file mode 100644
      index 00000000000..8ccec42d3e4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TabExpander.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TabSet.class b/libjava/classpath/lib/javax/swing/text/TabSet.class
      new file mode 100644
      index 00000000000..5f0b6405411
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TabSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TabStop.class b/libjava/classpath/lib/javax/swing/text/TabStop.class
      new file mode 100644
      index 00000000000..8c1ae34f448
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TabStop.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TabableView.class b/libjava/classpath/lib/javax/swing/text/TabableView.class
      new file mode 100644
      index 00000000000..ff97f36977a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TabableView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TableView$TableCell.class b/libjava/classpath/lib/javax/swing/text/TableView$TableCell.class
      new file mode 100644
      index 00000000000..c34ef73e7ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TableView$TableCell.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TableView$TableRow.class b/libjava/classpath/lib/javax/swing/text/TableView$TableRow.class
      new file mode 100644
      index 00000000000..debc2f3af5f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TableView$TableRow.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TableView.class b/libjava/classpath/lib/javax/swing/text/TableView.class
      new file mode 100644
      index 00000000000..b847e01fb48
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TableView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TextAction$HorizontalMovementAction.class b/libjava/classpath/lib/javax/swing/text/TextAction$HorizontalMovementAction.class
      new file mode 100644
      index 00000000000..69fb6f9eab9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TextAction$HorizontalMovementAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TextAction$VerticalMovementAction.class b/libjava/classpath/lib/javax/swing/text/TextAction$VerticalMovementAction.class
      new file mode 100644
      index 00000000000..46d5d0e7d91
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TextAction$VerticalMovementAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/TextAction.class b/libjava/classpath/lib/javax/swing/text/TextAction.class
      new file mode 100644
      index 00000000000..6086f9b7bad
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/TextAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/Utilities.class b/libjava/classpath/lib/javax/swing/text/Utilities.class
      new file mode 100644
      index 00000000000..21634649389
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/Utilities.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/View.class b/libjava/classpath/lib/javax/swing/text/View.class
      new file mode 100644
      index 00000000000..5eaa2fcc254
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/View.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ViewFactory.class b/libjava/classpath/lib/javax/swing/text/ViewFactory.class
      new file mode 100644
      index 00000000000..c7095d06114
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ViewFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class
      new file mode 100644
      index 00000000000..71d3cf04e1b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLine.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class
      new file mode 100644
      index 00000000000..4584e771cc4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/WrappedPlainView$WrappedLineCreator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class b/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class
      new file mode 100644
      index 00000000000..ee618df9480
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/WrappedPlainView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ZoneView$Zone.class b/libjava/classpath/lib/javax/swing/text/ZoneView$Zone.class
      new file mode 100644
      index 00000000000..028b41630fd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ZoneView$Zone.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/ZoneView.class b/libjava/classpath/lib/javax/swing/text/ZoneView.class
      new file mode 100644
      index 00000000000..875dce6d15a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/ZoneView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/BRView.class b/libjava/classpath/lib/javax/swing/text/html/BRView.class
      new file mode 100644
      index 00000000000..19fbd09ee88
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/BRView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/BlockView$PositionInfo.class b/libjava/classpath/lib/javax/swing/text/html/BlockView$PositionInfo.class
      new file mode 100644
      index 00000000000..0eabccb9d11
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/BlockView$PositionInfo.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/BlockView.class b/libjava/classpath/lib/javax/swing/text/html/BlockView.class
      new file mode 100644
      index 00000000000..3fd6a862524
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/BlockView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/CSS$Attribute.class b/libjava/classpath/lib/javax/swing/text/html/CSS$Attribute.class
      new file mode 100644
      index 00000000000..0779b12ac5d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/CSS$Attribute.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/CSS.class b/libjava/classpath/lib/javax/swing/text/html/CSS.class
      new file mode 100644
      index 00000000000..f280debf7f5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/CSS.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class b/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class
      new file mode 100644
      index 00000000000..35a0c37fe55
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/CSSBorder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/CSSParser$CSSParserCallback.class b/libjava/classpath/lib/javax/swing/text/html/CSSParser$CSSParserCallback.class
      new file mode 100644
      index 00000000000..54ae9959a79
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/CSSParser$CSSParserCallback.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/CSSParser.class b/libjava/classpath/lib/javax/swing/text/html/CSSParser.class
      new file mode 100644
      index 00000000000..6d5c4bf18a2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/CSSParser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent$MethodType.class b/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent$MethodType.class
      new file mode 100644
      index 00000000000..bb06e1a26e9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent$MethodType.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class b/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class
      new file mode 100644
      index 00000000000..8d88b68492a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FormSubmitEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$1.class b/libjava/classpath/lib/javax/swing/text/html/FormView$1.class
      new file mode 100644
      index 00000000000..e7150e51d57
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FormView$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$MouseEventListener.class b/libjava/classpath/lib/javax/swing/text/html/FormView$MouseEventListener.class
      new file mode 100644
      index 00000000000..36bcaf90f8e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FormView$MouseEventListener.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class b/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class
      new file mode 100644
      index 00000000000..0d165d5cc90
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FormView$SubmitThread.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FormView.class b/libjava/classpath/lib/javax/swing/text/html/FormView.class
      new file mode 100644
      index 00000000000..7106e678b19
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FormView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FrameSetView$FrameSetRow.class b/libjava/classpath/lib/javax/swing/text/html/FrameSetView$FrameSetRow.class
      new file mode 100644
      index 00000000000..3f42594ba1c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FrameSetView$FrameSetRow.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class b/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class
      new file mode 100644
      index 00000000000..94563153c10
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FrameSetView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/FrameView.class b/libjava/classpath/lib/javax/swing/text/html/FrameView.class
      new file mode 100644
      index 00000000000..3647ada8616
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/FrameView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HRuleView$Beginning.class b/libjava/classpath/lib/javax/swing/text/html/HRuleView$Beginning.class
      new file mode 100644
      index 00000000000..0bb2b9dd4fc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HRuleView$Beginning.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HRuleView.class b/libjava/classpath/lib/javax/swing/text/html/HRuleView.class
      new file mode 100644
      index 00000000000..f46068aa2e2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HRuleView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTML$Attribute.class b/libjava/classpath/lib/javax/swing/text/html/HTML$Attribute.class
      new file mode 100644
      index 00000000000..25f00b39294
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTML$Attribute.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class b/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class
      new file mode 100644
      index 00000000000..2682132d0b5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTML$Tag.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class b/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class
      new file mode 100644
      index 00000000000..ed609566277
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTML$UnknownTag.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTML.class b/libjava/classpath/lib/javax/swing/text/html/HTML.class
      new file mode 100644
      index 00000000000..26fdd6560ac
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTML.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class
      new file mode 100644
      index 00000000000..3d384fcacce
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class
      new file mode 100644
      index 00000000000..f6983d22edc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$BlockElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class
      new file mode 100644
      index 00000000000..17a861a4720
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class
      new file mode 100644
      index 00000000000..cfcdfed6a10
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class
      new file mode 100644
      index 00000000000..3a80c00a3b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class
      new file mode 100644
      index 00000000000..eac8191165e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class
      new file mode 100644
      index 00000000000..3bd220bace5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class
      new file mode 100644
      index 00000000000..9038189c271
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class
      new file mode 100644
      index 00000000000..6d96515e8cd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class
      new file mode 100644
      index 00000000000..3041c702579
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class
      new file mode 100644
      index 00000000000..17488d86e2c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class
      new file mode 100644
      index 00000000000..e203cc5efae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class
      new file mode 100644
      index 00000000000..13c0d252201
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class
      new file mode 100644
      index 00000000000..81ac765d8b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class
      new file mode 100644
      index 00000000000..dddcb3aa39e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class
      new file mode 100644
      index 00000000000..1d59925575a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class
      new file mode 100644
      index 00000000000..d7e98e8c4a4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class
      new file mode 100644
      index 00000000000..a89dee3160d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class
      new file mode 100644
      index 00000000000..f8b2c596cb1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class
      new file mode 100644
      index 00000000000..aa62c081213
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class
      new file mode 100644
      index 00000000000..67d7bd79125
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class
      new file mode 100644
      index 00000000000..c44c2b487a7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$HTMLReader.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class
      new file mode 100644
      index 00000000000..69a2c5f896d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$Iterator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class
      new file mode 100644
      index 00000000000..352cfc6af26
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$LeafIterator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class
      new file mode 100644
      index 00000000000..0ce0da0d4e4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument$RunElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class
      new file mode 100644
      index 00000000000..ff4b4494a17
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLDocument.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class
      new file mode 100644
      index 00000000000..b4fb846a70f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLFactory.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class
      new file mode 100644
      index 00000000000..fb0a05c54d6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class
      new file mode 100644
      index 00000000000..86637748adb
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class
      new file mode 100644
      index 00000000000..8d94d0ee483
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$LinkController.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class
      new file mode 100644
      index 00000000000..0024d89ae21
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$Parser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class
      new file mode 100644
      index 00000000000..881a9977f2b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit$ParserCallback.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class
      new file mode 100644
      index 00000000000..6d826cf4248
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class b/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class
      new file mode 100644
      index 00000000000..f5bf05f036c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLFrameHyperlinkEvent.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class b/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class
      new file mode 100644
      index 00000000000..25f8193c05a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class b/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class
      new file mode 100644
      index 00000000000..1785831cca1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ImageView$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ImageView$Observer.class b/libjava/classpath/lib/javax/swing/text/html/ImageView$Observer.class
      new file mode 100644
      index 00000000000..b919707dcfe
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ImageView$Observer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ImageView.class b/libjava/classpath/lib/javax/swing/text/html/ImageView.class
      new file mode 100644
      index 00000000000..dfd71640a9e
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ImageView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/InlineView.class b/libjava/classpath/lib/javax/swing/text/html/InlineView.class
      new file mode 100644
      index 00000000000..b29d69cbb1f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/InlineView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ListView.class b/libjava/classpath/lib/javax/swing/text/html/ListView.class
      new file mode 100644
      index 00000000000..cb6c12004e3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ListView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class b/libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class
      new file mode 100644
      index 00000000000..864c6d2597c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class b/libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class
      new file mode 100644
      index 00000000000..8ed0c9e12dc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class b/libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class
      new file mode 100644
      index 00000000000..535ec932b08
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/MultiStyle.class b/libjava/classpath/lib/javax/swing/text/html/MultiStyle.class
      new file mode 100644
      index 00000000000..3904a2c29c3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/MultiStyle.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/NullView.class b/libjava/classpath/lib/javax/swing/text/html/NullView.class
      new file mode 100644
      index 00000000000..9974854e5e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/NullView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ObjectView.class b/libjava/classpath/lib/javax/swing/text/html/ObjectView.class
      new file mode 100644
      index 00000000000..b2004547c1b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ObjectView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/Option.class b/libjava/classpath/lib/javax/swing/text/html/Option.class
      new file mode 100644
      index 00000000000..ea2adad2814
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/Option.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class b/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class
      new file mode 100644
      index 00000000000..6666ae95454
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ParagraphView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ResetableModel.class b/libjava/classpath/lib/javax/swing/text/html/ResetableModel.class
      new file mode 100644
      index 00000000000..b575bf74e01
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ResetableModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ResetablePlainDocument.class b/libjava/classpath/lib/javax/swing/text/html/ResetablePlainDocument.class
      new file mode 100644
      index 00000000000..9094df441a8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ResetablePlainDocument.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class b/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class
      new file mode 100644
      index 00000000000..1d21f8bcf8c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ResetableToggleButtonModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/SelectComboBoxModel.class b/libjava/classpath/lib/javax/swing/text/html/SelectComboBoxModel.class
      new file mode 100644
      index 00000000000..9811870ceae
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/SelectComboBoxModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/SelectListModel.class b/libjava/classpath/lib/javax/swing/text/html/SelectListModel.class
      new file mode 100644
      index 00000000000..1145a769734
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/SelectListModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class
      new file mode 100644
      index 00000000000..6541ceb6e2c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyle.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyle.class
      new file mode 100644
      index 00000000000..790a40929cd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyle.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class
      new file mode 100644
      index 00000000000..fdac1951550
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class
      new file mode 100644
      index 00000000000..fa48de61f66
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class b/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class
      new file mode 100644
      index 00000000000..10297ecac08
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/StyleSheet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class b/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class
      new file mode 100644
      index 00000000000..13eb086dd27
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class b/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class
      new file mode 100644
      index 00000000000..b16dedc8ecc
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/TableView.class b/libjava/classpath/lib/javax/swing/text/html/TableView.class
      new file mode 100644
      index 00000000000..0dfa3ef4b3f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/TableView.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class b/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class
      new file mode 100644
      index 00000000000..9f6957ee6b3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/ViewAttributeSet.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class
      new file mode 100644
      index 00000000000..ad5c0718fc5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class
      new file mode 100644
      index 00000000000..20291190cf5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/AttributeList.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/ContentModel.class b/libjava/classpath/lib/javax/swing/text/html/parser/ContentModel.class
      new file mode 100644
      index 00000000000..599a5cf4070
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/ContentModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/DTD.class b/libjava/classpath/lib/javax/swing/text/html/parser/DTD.class
      new file mode 100644
      index 00000000000..a73805875b5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/DTD.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/DTDConstants.class b/libjava/classpath/lib/javax/swing/text/html/parser/DTDConstants.class
      new file mode 100644
      index 00000000000..8cf09fd9cad
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/DTDConstants.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class
      new file mode 100644
      index 00000000000..92d8752193b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser$gnuParser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class
      new file mode 100644
      index 00000000000..6a70fbd5315
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/DocumentParser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class
      new file mode 100644
      index 00000000000..d3f745db417
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/Element$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Element.class b/libjava/classpath/lib/javax/swing/text/html/parser/Element.class
      new file mode 100644
      index 00000000000..a068f251f6c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/Element.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class
      new file mode 100644
      index 00000000000..6eeb20c28ea
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/Entity$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class b/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class
      new file mode 100644
      index 00000000000..9c880cf76f6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/Entity.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class b/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class
      new file mode 100644
      index 00000000000..85e12baf8f9
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/Parser$1.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class b/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class
      new file mode 100644
      index 00000000000..724947dffe7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/Parser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class
      new file mode 100644
      index 00000000000..004c1b2eefe
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator$gnuParser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class
      new file mode 100644
      index 00000000000..ab5aa696b32
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/ParserDelegator.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class b/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class
      new file mode 100644
      index 00000000000..68799b24b0f
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/html/parser/TagElement.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/ControlWordToken.class b/libjava/classpath/lib/javax/swing/text/rtf/ControlWordToken.class
      new file mode 100644
      index 00000000000..f6a4d24e091
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/ControlWordToken.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/RTFEditorKit.class b/libjava/classpath/lib/javax/swing/text/rtf/RTFEditorKit.class
      new file mode 100644
      index 00000000000..38637c8c306
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/RTFEditorKit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/RTFParseException.class b/libjava/classpath/lib/javax/swing/text/rtf/RTFParseException.class
      new file mode 100644
      index 00000000000..94fb912eb68
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/RTFParseException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/RTFParser.class b/libjava/classpath/lib/javax/swing/text/rtf/RTFParser.class
      new file mode 100644
      index 00000000000..279e1e009af
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/RTFParser.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/RTFScanner.class b/libjava/classpath/lib/javax/swing/text/rtf/RTFScanner.class
      new file mode 100644
      index 00000000000..f109f547ec7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/RTFScanner.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/TextToken.class b/libjava/classpath/lib/javax/swing/text/rtf/TextToken.class
      new file mode 100644
      index 00000000000..a9de6ed97f5
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/TextToken.class differ
      diff --git a/libjava/classpath/lib/javax/swing/text/rtf/Token.class b/libjava/classpath/lib/javax/swing/text/rtf/Token.class
      new file mode 100644
      index 00000000000..4d06562fcc8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/text/rtf/Token.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache$NodeDimensions.class b/libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache$NodeDimensions.class
      new file mode 100644
      index 00000000000..a0b4a990abd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache$NodeDimensions.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache.class b/libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache.class
      new file mode 100644
      index 00000000000..f9028637232
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/AbstractLayoutCache.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class
      new file mode 100644
      index 00000000000..d07fce4d2da
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class
      new file mode 100644
      index 00000000000..1d27efaf07c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class
      new file mode 100644
      index 00000000000..08e011a3845
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class
      new file mode 100644
      index 00000000000..77d649278f4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.class
      new file mode 100644
      index 00000000000..1acaf40d587
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.class
      new file mode 100644
      index 00000000000..d6d1d4d496d
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class
      new file mode 100644
      index 00000000000..39c241a3e06
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class
      new file mode 100644
      index 00000000000..2bb65379580
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeModel.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeModel.class
      new file mode 100644
      index 00000000000..5df4f0621d3
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.class
      new file mode 100644
      index 00000000000..03813c3bda6
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel.class b/libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel.class
      new file mode 100644
      index 00000000000..e62123a128b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/DefaultTreeSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/ExpandVetoException.class b/libjava/classpath/lib/javax/swing/tree/ExpandVetoException.class
      new file mode 100644
      index 00000000000..7a6a886c846
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/ExpandVetoException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class b/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class
      new file mode 100644
      index 00000000000..cb3ea86b321
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class b/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class
      new file mode 100644
      index 00000000000..56ffb9a9990
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/MutableTreeNode.class b/libjava/classpath/lib/javax/swing/tree/MutableTreeNode.class
      new file mode 100644
      index 00000000000..8bef869bba2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/MutableTreeNode.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/RowMapper.class b/libjava/classpath/lib/javax/swing/tree/RowMapper.class
      new file mode 100644
      index 00000000000..c5980b074d8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/RowMapper.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/TreeCellEditor.class b/libjava/classpath/lib/javax/swing/tree/TreeCellEditor.class
      new file mode 100644
      index 00000000000..2b597797085
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/TreeCellEditor.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/TreeCellRenderer.class b/libjava/classpath/lib/javax/swing/tree/TreeCellRenderer.class
      new file mode 100644
      index 00000000000..c321ddbc1e8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/TreeCellRenderer.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/TreeModel.class b/libjava/classpath/lib/javax/swing/tree/TreeModel.class
      new file mode 100644
      index 00000000000..3c277b50ced
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/TreeModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/TreeNode.class b/libjava/classpath/lib/javax/swing/tree/TreeNode.class
      new file mode 100644
      index 00000000000..b7cc5f7407c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/TreeNode.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/TreePath.class b/libjava/classpath/lib/javax/swing/tree/TreePath.class
      new file mode 100644
      index 00000000000..ba99e3f7bd2
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/TreePath.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/TreeSelectionModel.class b/libjava/classpath/lib/javax/swing/tree/TreeSelectionModel.class
      new file mode 100644
      index 00000000000..7c0b606c8b4
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/TreeSelectionModel.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.class b/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.class
      new file mode 100644
      index 00000000000..1d95a1927dd
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.class differ
      diff --git a/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class b/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class
      new file mode 100644
      index 00000000000..dae7a864f1c
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/AbstractUndoableEdit.class b/libjava/classpath/lib/javax/swing/undo/AbstractUndoableEdit.class
      new file mode 100644
      index 00000000000..ea96c60ff9a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/AbstractUndoableEdit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/CannotRedoException.class b/libjava/classpath/lib/javax/swing/undo/CannotRedoException.class
      new file mode 100644
      index 00000000000..7ba3fd369b8
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/CannotRedoException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/CannotUndoException.class b/libjava/classpath/lib/javax/swing/undo/CannotUndoException.class
      new file mode 100644
      index 00000000000..dbcb3b52811
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/CannotUndoException.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/CompoundEdit.class b/libjava/classpath/lib/javax/swing/undo/CompoundEdit.class
      new file mode 100644
      index 00000000000..c4f37b5a63a
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/CompoundEdit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/StateEdit.class b/libjava/classpath/lib/javax/swing/undo/StateEdit.class
      new file mode 100644
      index 00000000000..9a5067181d7
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/StateEdit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/StateEditable.class b/libjava/classpath/lib/javax/swing/undo/StateEditable.class
      new file mode 100644
      index 00000000000..fd5180f7de1
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/StateEditable.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/UndoManager.class b/libjava/classpath/lib/javax/swing/undo/UndoManager.class
      new file mode 100644
      index 00000000000..de96e03119b
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/UndoManager.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/UndoableEdit.class b/libjava/classpath/lib/javax/swing/undo/UndoableEdit.class
      new file mode 100644
      index 00000000000..0a469b738df
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/UndoableEdit.class differ
      diff --git a/libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class b/libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class
      new file mode 100644
      index 00000000000..494247e4249
      Binary files /dev/null and b/libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/HeuristicCommitException.class b/libjava/classpath/lib/javax/transaction/HeuristicCommitException.class
      new file mode 100644
      index 00000000000..e72dad5e052
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/HeuristicCommitException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/HeuristicMixedException.class b/libjava/classpath/lib/javax/transaction/HeuristicMixedException.class
      new file mode 100644
      index 00000000000..e8e0236cafa
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/HeuristicMixedException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/HeuristicRollbackException.class b/libjava/classpath/lib/javax/transaction/HeuristicRollbackException.class
      new file mode 100644
      index 00000000000..b0f5ecdb384
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/HeuristicRollbackException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/InvalidTransactionException.class b/libjava/classpath/lib/javax/transaction/InvalidTransactionException.class
      new file mode 100644
      index 00000000000..9143a2ebfd9
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/InvalidTransactionException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/NotSupportedException.class b/libjava/classpath/lib/javax/transaction/NotSupportedException.class
      new file mode 100644
      index 00000000000..f00d45b5da8
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/NotSupportedException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/RollbackException.class b/libjava/classpath/lib/javax/transaction/RollbackException.class
      new file mode 100644
      index 00000000000..71e854c1553
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/RollbackException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/Status.class b/libjava/classpath/lib/javax/transaction/Status.class
      new file mode 100644
      index 00000000000..320458e4d59
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/Status.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/Synchronization.class b/libjava/classpath/lib/javax/transaction/Synchronization.class
      new file mode 100644
      index 00000000000..bf49f29ba29
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/Synchronization.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/SystemException.class b/libjava/classpath/lib/javax/transaction/SystemException.class
      new file mode 100644
      index 00000000000..5a5241dcf09
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/SystemException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/Transaction.class b/libjava/classpath/lib/javax/transaction/Transaction.class
      new file mode 100644
      index 00000000000..3950b6f2bb8
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/Transaction.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/TransactionManager.class b/libjava/classpath/lib/javax/transaction/TransactionManager.class
      new file mode 100644
      index 00000000000..851953b935d
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/TransactionManager.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/TransactionRequiredException.class b/libjava/classpath/lib/javax/transaction/TransactionRequiredException.class
      new file mode 100644
      index 00000000000..803fbf2c4ef
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/TransactionRequiredException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/TransactionRolledbackException.class b/libjava/classpath/lib/javax/transaction/TransactionRolledbackException.class
      new file mode 100644
      index 00000000000..96f5fbd04d2
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/TransactionRolledbackException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/UserTransaction.class b/libjava/classpath/lib/javax/transaction/UserTransaction.class
      new file mode 100644
      index 00000000000..c86e0b79cad
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/UserTransaction.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/xa/XAException.class b/libjava/classpath/lib/javax/transaction/xa/XAException.class
      new file mode 100644
      index 00000000000..b029e4a49fe
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/xa/XAException.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/xa/XAResource.class b/libjava/classpath/lib/javax/transaction/xa/XAResource.class
      new file mode 100644
      index 00000000000..89e80143ccd
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/xa/XAResource.class differ
      diff --git a/libjava/classpath/lib/javax/transaction/xa/Xid.class b/libjava/classpath/lib/javax/transaction/xa/Xid.class
      new file mode 100644
      index 00000000000..fbc1bb6efb7
      Binary files /dev/null and b/libjava/classpath/lib/javax/transaction/xa/Xid.class differ
      diff --git a/libjava/classpath/lib/javax/xml/XMLConstants.class b/libjava/classpath/lib/javax/xml/XMLConstants.class
      new file mode 100644
      index 00000000000..37a98b90d9c
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/XMLConstants.class differ
      diff --git a/libjava/classpath/lib/javax/xml/datatype/DatatypeConfigurationException.class b/libjava/classpath/lib/javax/xml/datatype/DatatypeConfigurationException.class
      new file mode 100644
      index 00000000000..0d04b2e32fa
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/datatype/DatatypeConfigurationException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/datatype/DatatypeConstants$Field.class b/libjava/classpath/lib/javax/xml/datatype/DatatypeConstants$Field.class
      new file mode 100644
      index 00000000000..16608fbf6a5
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/datatype/DatatypeConstants$Field.class differ
      diff --git a/libjava/classpath/lib/javax/xml/datatype/DatatypeConstants.class b/libjava/classpath/lib/javax/xml/datatype/DatatypeConstants.class
      new file mode 100644
      index 00000000000..41c07b9a1ad
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/datatype/DatatypeConstants.class differ
      diff --git a/libjava/classpath/lib/javax/xml/datatype/DatatypeFactory.class b/libjava/classpath/lib/javax/xml/datatype/DatatypeFactory.class
      new file mode 100644
      index 00000000000..00b5df1affb
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/datatype/DatatypeFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/datatype/Duration.class b/libjava/classpath/lib/javax/xml/datatype/Duration.class
      new file mode 100644
      index 00000000000..2e89ae6a979
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/datatype/Duration.class differ
      diff --git a/libjava/classpath/lib/javax/xml/datatype/XMLGregorianCalendar.class b/libjava/classpath/lib/javax/xml/datatype/XMLGregorianCalendar.class
      new file mode 100644
      index 00000000000..acf9b9f05b7
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/datatype/XMLGregorianCalendar.class differ
      diff --git a/libjava/classpath/lib/javax/xml/namespace/NamespaceContext.class b/libjava/classpath/lib/javax/xml/namespace/NamespaceContext.class
      new file mode 100644
      index 00000000000..38ffeeec900
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/namespace/NamespaceContext.class differ
      diff --git a/libjava/classpath/lib/javax/xml/namespace/QName.class b/libjava/classpath/lib/javax/xml/namespace/QName.class
      new file mode 100644
      index 00000000000..c5f6eebc3cc
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/namespace/QName.class differ
      diff --git a/libjava/classpath/lib/javax/xml/parsers/DocumentBuilder.class b/libjava/classpath/lib/javax/xml/parsers/DocumentBuilder.class
      new file mode 100644
      index 00000000000..d2c08a7c395
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/parsers/DocumentBuilder.class differ
      diff --git a/libjava/classpath/lib/javax/xml/parsers/DocumentBuilderFactory.class b/libjava/classpath/lib/javax/xml/parsers/DocumentBuilderFactory.class
      new file mode 100644
      index 00000000000..79e8ac54944
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/parsers/DocumentBuilderFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/parsers/FactoryConfigurationError.class b/libjava/classpath/lib/javax/xml/parsers/FactoryConfigurationError.class
      new file mode 100644
      index 00000000000..3d5d62f3c3a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/parsers/FactoryConfigurationError.class differ
      diff --git a/libjava/classpath/lib/javax/xml/parsers/ParserConfigurationException.class b/libjava/classpath/lib/javax/xml/parsers/ParserConfigurationException.class
      new file mode 100644
      index 00000000000..0c3635a4e05
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/parsers/ParserConfigurationException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/parsers/SAXParser.class b/libjava/classpath/lib/javax/xml/parsers/SAXParser.class
      new file mode 100644
      index 00000000000..4f6bd6993ff
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/parsers/SAXParser.class differ
      diff --git a/libjava/classpath/lib/javax/xml/parsers/SAXParserFactory.class b/libjava/classpath/lib/javax/xml/parsers/SAXParserFactory.class
      new file mode 100644
      index 00000000000..ae7d1d26eb2
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/parsers/SAXParserFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/EventFilter.class b/libjava/classpath/lib/javax/xml/stream/EventFilter.class
      new file mode 100644
      index 00000000000..4fb63d7eb4f
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/EventFilter.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/FactoryConfigurationError.class b/libjava/classpath/lib/javax/xml/stream/FactoryConfigurationError.class
      new file mode 100644
      index 00000000000..3f466f1a946
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/FactoryConfigurationError.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/Location.class b/libjava/classpath/lib/javax/xml/stream/Location.class
      new file mode 100644
      index 00000000000..b58d446e6d3
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/Location.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/StreamFilter.class b/libjava/classpath/lib/javax/xml/stream/StreamFilter.class
      new file mode 100644
      index 00000000000..6f06644c2f6
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/StreamFilter.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class b/libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class
      new file mode 100644
      index 00000000000..3c4fbd41581
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLEventReader.class b/libjava/classpath/lib/javax/xml/stream/XMLEventReader.class
      new file mode 100644
      index 00000000000..a9c00e15a10
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLEventReader.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLEventWriter.class b/libjava/classpath/lib/javax/xml/stream/XMLEventWriter.class
      new file mode 100644
      index 00000000000..52df63a094f
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLEventWriter.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class b/libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class
      new file mode 100644
      index 00000000000..66894397c53
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class b/libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class
      new file mode 100644
      index 00000000000..6917a3b48ab
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLReporter.class b/libjava/classpath/lib/javax/xml/stream/XMLReporter.class
      new file mode 100644
      index 00000000000..3aedebbd163
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLReporter.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLResolver.class b/libjava/classpath/lib/javax/xml/stream/XMLResolver.class
      new file mode 100644
      index 00000000000..9c4430404e6
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLResolver.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLStreamConstants.class b/libjava/classpath/lib/javax/xml/stream/XMLStreamConstants.class
      new file mode 100644
      index 00000000000..d22089d1fd8
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLStreamConstants.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLStreamException.class b/libjava/classpath/lib/javax/xml/stream/XMLStreamException.class
      new file mode 100644
      index 00000000000..2830950292d
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLStreamException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLStreamReader.class b/libjava/classpath/lib/javax/xml/stream/XMLStreamReader.class
      new file mode 100644
      index 00000000000..d859604faca
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLStreamReader.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/XMLStreamWriter.class b/libjava/classpath/lib/javax/xml/stream/XMLStreamWriter.class
      new file mode 100644
      index 00000000000..ad0e75fb55b
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/XMLStreamWriter.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/Attribute.class b/libjava/classpath/lib/javax/xml/stream/events/Attribute.class
      new file mode 100644
      index 00000000000..58f2af2966a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/Attribute.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/Characters.class b/libjava/classpath/lib/javax/xml/stream/events/Characters.class
      new file mode 100644
      index 00000000000..462083f1c21
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/Characters.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/Comment.class b/libjava/classpath/lib/javax/xml/stream/events/Comment.class
      new file mode 100644
      index 00000000000..923f1b15254
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/Comment.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/DTD.class b/libjava/classpath/lib/javax/xml/stream/events/DTD.class
      new file mode 100644
      index 00000000000..07b6954a904
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/DTD.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/EndDocument.class b/libjava/classpath/lib/javax/xml/stream/events/EndDocument.class
      new file mode 100644
      index 00000000000..d7a4aa3df7e
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/EndDocument.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/EndElement.class b/libjava/classpath/lib/javax/xml/stream/events/EndElement.class
      new file mode 100644
      index 00000000000..77dcd712dcb
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/EndElement.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/EntityDeclaration.class b/libjava/classpath/lib/javax/xml/stream/events/EntityDeclaration.class
      new file mode 100644
      index 00000000000..3df5bb2ee27
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/EntityDeclaration.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/EntityReference.class b/libjava/classpath/lib/javax/xml/stream/events/EntityReference.class
      new file mode 100644
      index 00000000000..40776384bac
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/EntityReference.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/Namespace.class b/libjava/classpath/lib/javax/xml/stream/events/Namespace.class
      new file mode 100644
      index 00000000000..9871cf6c8a0
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/Namespace.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/NotationDeclaration.class b/libjava/classpath/lib/javax/xml/stream/events/NotationDeclaration.class
      new file mode 100644
      index 00000000000..a55800588aa
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/NotationDeclaration.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/ProcessingInstruction.class b/libjava/classpath/lib/javax/xml/stream/events/ProcessingInstruction.class
      new file mode 100644
      index 00000000000..4e89067fbfe
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/ProcessingInstruction.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/StartDocument.class b/libjava/classpath/lib/javax/xml/stream/events/StartDocument.class
      new file mode 100644
      index 00000000000..a5001129113
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/StartDocument.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/StartElement.class b/libjava/classpath/lib/javax/xml/stream/events/StartElement.class
      new file mode 100644
      index 00000000000..4a97abaec67
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/StartElement.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/events/XMLEvent.class b/libjava/classpath/lib/javax/xml/stream/events/XMLEvent.class
      new file mode 100644
      index 00000000000..567cced337e
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/events/XMLEvent.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/util/EventReaderDelegate.class b/libjava/classpath/lib/javax/xml/stream/util/EventReaderDelegate.class
      new file mode 100644
      index 00000000000..d308209e350
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/util/EventReaderDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/util/ReaderDelegate.class b/libjava/classpath/lib/javax/xml/stream/util/ReaderDelegate.class
      new file mode 100644
      index 00000000000..d8b79febcc4
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/util/ReaderDelegate.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/util/XMLEventAllocator.class b/libjava/classpath/lib/javax/xml/stream/util/XMLEventAllocator.class
      new file mode 100644
      index 00000000000..0e0b8988dcb
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/util/XMLEventAllocator.class differ
      diff --git a/libjava/classpath/lib/javax/xml/stream/util/XMLEventConsumer.class b/libjava/classpath/lib/javax/xml/stream/util/XMLEventConsumer.class
      new file mode 100644
      index 00000000000..6457a0ac2f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/stream/util/XMLEventConsumer.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/ErrorListener.class b/libjava/classpath/lib/javax/xml/transform/ErrorListener.class
      new file mode 100644
      index 00000000000..714ae34591e
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/ErrorListener.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/OutputKeys.class b/libjava/classpath/lib/javax/xml/transform/OutputKeys.class
      new file mode 100644
      index 00000000000..f6362257941
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/OutputKeys.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/Result.class b/libjava/classpath/lib/javax/xml/transform/Result.class
      new file mode 100644
      index 00000000000..a23f79eb6f0
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/Result.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/Source.class b/libjava/classpath/lib/javax/xml/transform/Source.class
      new file mode 100644
      index 00000000000..7bf553eb57a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/Source.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/SourceLocator.class b/libjava/classpath/lib/javax/xml/transform/SourceLocator.class
      new file mode 100644
      index 00000000000..3e5f647817f
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/SourceLocator.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/Templates.class b/libjava/classpath/lib/javax/xml/transform/Templates.class
      new file mode 100644
      index 00000000000..01737411b8e
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/Templates.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/Transformer.class b/libjava/classpath/lib/javax/xml/transform/Transformer.class
      new file mode 100644
      index 00000000000..1c1fd8cca84
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/Transformer.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/TransformerConfigurationException.class b/libjava/classpath/lib/javax/xml/transform/TransformerConfigurationException.class
      new file mode 100644
      index 00000000000..ee92b68b1d4
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/TransformerConfigurationException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/TransformerException.class b/libjava/classpath/lib/javax/xml/transform/TransformerException.class
      new file mode 100644
      index 00000000000..5429f7122db
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/TransformerException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/TransformerFactory.class b/libjava/classpath/lib/javax/xml/transform/TransformerFactory.class
      new file mode 100644
      index 00000000000..382869061c8
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/TransformerFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/TransformerFactoryConfigurationError.class b/libjava/classpath/lib/javax/xml/transform/TransformerFactoryConfigurationError.class
      new file mode 100644
      index 00000000000..e59b7858fd4
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/TransformerFactoryConfigurationError.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/URIResolver.class b/libjava/classpath/lib/javax/xml/transform/URIResolver.class
      new file mode 100644
      index 00000000000..e3edfb13261
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/URIResolver.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/dom/DOMLocator.class b/libjava/classpath/lib/javax/xml/transform/dom/DOMLocator.class
      new file mode 100644
      index 00000000000..2ce1f41d511
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/dom/DOMLocator.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/dom/DOMResult.class b/libjava/classpath/lib/javax/xml/transform/dom/DOMResult.class
      new file mode 100644
      index 00000000000..00a6e954c6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/dom/DOMResult.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/dom/DOMSource.class b/libjava/classpath/lib/javax/xml/transform/dom/DOMSource.class
      new file mode 100644
      index 00000000000..ac4ddc18f0f
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/dom/DOMSource.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/sax/SAXResult.class b/libjava/classpath/lib/javax/xml/transform/sax/SAXResult.class
      new file mode 100644
      index 00000000000..c1df2826b6a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/sax/SAXResult.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/sax/SAXSource.class b/libjava/classpath/lib/javax/xml/transform/sax/SAXSource.class
      new file mode 100644
      index 00000000000..2889f2e4b61
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/sax/SAXSource.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/sax/SAXTransformerFactory.class b/libjava/classpath/lib/javax/xml/transform/sax/SAXTransformerFactory.class
      new file mode 100644
      index 00000000000..9a4b08f7d73
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/sax/SAXTransformerFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/sax/TemplatesHandler.class b/libjava/classpath/lib/javax/xml/transform/sax/TemplatesHandler.class
      new file mode 100644
      index 00000000000..50de551c522
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/sax/TemplatesHandler.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/sax/TransformerHandler.class b/libjava/classpath/lib/javax/xml/transform/sax/TransformerHandler.class
      new file mode 100644
      index 00000000000..20c1fd5e1b0
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/sax/TransformerHandler.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/stream/StreamResult.class b/libjava/classpath/lib/javax/xml/transform/stream/StreamResult.class
      new file mode 100644
      index 00000000000..ce4646c4882
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/stream/StreamResult.class differ
      diff --git a/libjava/classpath/lib/javax/xml/transform/stream/StreamSource.class b/libjava/classpath/lib/javax/xml/transform/stream/StreamSource.class
      new file mode 100644
      index 00000000000..9eda514eee8
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/transform/stream/StreamSource.class differ
      diff --git a/libjava/classpath/lib/javax/xml/validation/Schema.class b/libjava/classpath/lib/javax/xml/validation/Schema.class
      new file mode 100644
      index 00000000000..c9b0278089e
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/validation/Schema.class differ
      diff --git a/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class b/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class
      new file mode 100644
      index 00000000000..3e8f620773a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/validation/SchemaFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/validation/SchemaFactoryLoader.class b/libjava/classpath/lib/javax/xml/validation/SchemaFactoryLoader.class
      new file mode 100644
      index 00000000000..6e360e4a922
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/validation/SchemaFactoryLoader.class differ
      diff --git a/libjava/classpath/lib/javax/xml/validation/TypeInfoProvider.class b/libjava/classpath/lib/javax/xml/validation/TypeInfoProvider.class
      new file mode 100644
      index 00000000000..35932f4b09e
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/validation/TypeInfoProvider.class differ
      diff --git a/libjava/classpath/lib/javax/xml/validation/Validator.class b/libjava/classpath/lib/javax/xml/validation/Validator.class
      new file mode 100644
      index 00000000000..270ad037256
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/validation/Validator.class differ
      diff --git a/libjava/classpath/lib/javax/xml/validation/ValidatorHandler.class b/libjava/classpath/lib/javax/xml/validation/ValidatorHandler.class
      new file mode 100644
      index 00000000000..7784273b132
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/validation/ValidatorHandler.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPath.class b/libjava/classpath/lib/javax/xml/xpath/XPath.class
      new file mode 100644
      index 00000000000..195cc03108b
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPath.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathConstants.class b/libjava/classpath/lib/javax/xml/xpath/XPathConstants.class
      new file mode 100644
      index 00000000000..8421df32bce
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathConstants.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathException.class b/libjava/classpath/lib/javax/xml/xpath/XPathException.class
      new file mode 100644
      index 00000000000..69b86dd4a1a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathExpression.class b/libjava/classpath/lib/javax/xml/xpath/XPathExpression.class
      new file mode 100644
      index 00000000000..7693d7c6844
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathExpression.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathExpressionException.class b/libjava/classpath/lib/javax/xml/xpath/XPathExpressionException.class
      new file mode 100644
      index 00000000000..9417526f01a
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathExpressionException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathFactory.class b/libjava/classpath/lib/javax/xml/xpath/XPathFactory.class
      new file mode 100644
      index 00000000000..bcd8cf0dc20
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathFactory.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathFactoryConfigurationException.class b/libjava/classpath/lib/javax/xml/xpath/XPathFactoryConfigurationException.class
      new file mode 100644
      index 00000000000..b8ea7044ccf
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathFactoryConfigurationException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathFunction.class b/libjava/classpath/lib/javax/xml/xpath/XPathFunction.class
      new file mode 100644
      index 00000000000..bb3c1bfcf25
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathFunction.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathFunctionException.class b/libjava/classpath/lib/javax/xml/xpath/XPathFunctionException.class
      new file mode 100644
      index 00000000000..1d910734fe4
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathFunctionException.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathFunctionResolver.class b/libjava/classpath/lib/javax/xml/xpath/XPathFunctionResolver.class
      new file mode 100644
      index 00000000000..9a2ca1782f7
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathFunctionResolver.class differ
      diff --git a/libjava/classpath/lib/javax/xml/xpath/XPathVariableResolver.class b/libjava/classpath/lib/javax/xml/xpath/XPathVariableResolver.class
      new file mode 100644
      index 00000000000..783419cafda
      Binary files /dev/null and b/libjava/classpath/lib/javax/xml/xpath/XPathVariableResolver.class differ
      diff --git a/libjava/classpath/lib/jazzlib/index.html b/libjava/classpath/lib/jazzlib/index.html
      new file mode 100644
      index 00000000000..72ac81613b2
      --- /dev/null
      +++ b/libjava/classpath/lib/jazzlib/index.html
      @@ -0,0 +1,47 @@
      +<html>
      +<head>
      +<title>A pure java implementation of java.util.zip library
      +
      +
      +

      A pure java implementation of the java.util.zip library

      + +This project provides an implementation of the java.util.zip classes. +

      +The code is pure java (no native code is used), and we aim to be compatible with existing java.util.zip implementations. Some code was borrowed from libgcj, almost all the rest was written by Jochen Hoenicke. +

      +There is very similar project at http://www.jcraft.com/jzlib/index.html.
      +Another project to implement bzip2 is at http://www.aftexsw.com/aftex/products/java/bzip/. +

      +For the latest source, see the classpath CVS repository. On this page you'll find source and binary releases of the code in both the net.sf.jazzlib and java.util.zip namespaces. +

      +The net.sf.jazzlib namespace is useful for situations where native code isn't allowed (such as in applets) and you need to use zip files. Builds in the java.util.zip namespace have a -juz suffix. +
      +

      License

      +This code is released under the GPL license with a special exception: +
      +As a special exception, if you link this library with other files to
      +produce an executable, this library does not by itself cause the
      +resulting executable to be covered by the GNU General Public License.
      +This exception does not however invalidate any other reasons why the
      +executable file might be covered by the GNU General Public License. 
      +
      +

      Latest release is 0.07

      +Download source or binary packages for all releases here. +

      +There is a md5sums file in each release that you can use to check the integrity of the files. The md5sums is also signed with my public key (finger jewel at debian.org), the signature is in md5sums.asc. +

      +

      Contact information and bug notification

      +You should post a message to the jazzlib-developers list (subscribe, archives) to report a bug or contact the developers. + +
      +The CVS repository for this project is part of the classpath project. +

      +The files in the SourceForge CVS repository should be considered to be of historical interest only. +

      +John Leuner (jewel at pixie.co.za)
      +13 May 2004 + +


      + SourceForge Logo + + \ No newline at end of file diff --git a/libjava/classpath/lib/jazzlib/makeJazzlibDist.sh b/libjava/classpath/lib/jazzlib/makeJazzlibDist.sh new file mode 100755 index 00000000000..5c75960a2ab --- /dev/null +++ b/libjava/classpath/lib/jazzlib/makeJazzlibDist.sh @@ -0,0 +1,121 @@ +#!/bin/zsh + +echo "----- Run this from the classpath/java/util/zip directory -----" +echo "----- -----" +echo "----- Options: -----" +echo "----- -----" +echo "----- juz -- build .tar.gz and .zip archives in java.util.zip namespace" +echo "----- jar -- build .jar file in java.util.zip and java.util.jar namespaces" +echo "----- -- build .tar.gz. and .zip archive for net.sf.jazzlib namespace" +echo "----- -----" +echo "----- Edit this script to change the release number -----" +echo "----- Do rm -rf dist when you're finished -----" +echo "----- 30 May 2002 John Leuner -----" + +RELEASE_NUMBER=07 + +# $1 is the archive command, eg "tar czvf" or "zip" or "jar cf" +# $2 is the archive suffix, eg ".zip" or ".tar.gz" +# $3 is the "-binary" flag, which may be empty +# $4 is the "-juz" suffix, which may be empty +# $5 is the set of files that need to be md5-summed +# $6 is the set of files in addition to $5 that are to be archived + +function create_archive { + md5sum ${=5} > md5sums + gpg --clearsign md5sums + ${=1} jazzlib${3}-0.$RELEASE_NUMBER${4}${2} ${=5} ${=6} + rm -f md5sums + rm -f md5sums.asc +} + +# $1 is the package name, ie java.util.zip or net.sf.jazzlib + +function make_javadoc { + rm -rf javadoc + mkdir javadoc + javadoc -sourcepath . -d javadoc/ $1 +} + +case "$1" in + juz) + mkdir -p dist/java/util/zip + + #make source archive + cp *.java dist/java/util/zip + pushd dist + + make_javadoc java.util.zip + + cp ../../../../COPYING . + + foo=(java/util/zip/*.java) + create_archive "tar czvf" ".tar.gz" "" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" + create_archive "zip" ".zip" "" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" + + popd + + #make binary distro second + cp ../../../lib/java/util/zip/*.class dist/java/util/zip + pushd dist + + foo=(java/util/zip/*.class) + create_archive "tar czvf" ".tar.gz" "-binary" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" + create_archive "zip" ".zip" "-binary" "-juz" "$foo" "javadoc md5sums md5sums.asc COPYING" + + popd + ;; + jar) + mkdir -p dist/java/util/zip + mkdir -p dist/java/util/jar + + #make binary distro second + cp ../../../lib/java/util/zip/*.class dist/java/util/zip + cp ../../../lib/java/util/zip/../jar/*.class dist/java/util/jar + pushd dist + + cp ../../../../COPYING . + foo=(java/util/zip/*.class) + foo=($foo java/util/jar/*.class) + + create_archive "fastjar cf" ".jar" "-binary" "-juz" "$foo" "md5sums md5sums.asc COPYING" + + popd + ;; + *) + #copy files to dist directory and make net.sf.jazzlib the package name + + mkdir -p dist/net/sf/jazzlib + cp *.java dist/net/sf/jazzlib + for i in dist/net/sf/jazzlib/*.java ; do + sed -e "s/java\.util\.zip/net.sf.jazzlib/" < $i > $i.tmp ; + mv $i.tmp $i; + done + + pushd dist + + make_javadoc "net.sf.jazzlib" + + cp ../../../../COPYING . + + foo=(net/sf/jazzlib/*.java) + create_archive "tar czvf" ".tar.gz" "" "" "$foo" "javadoc md5sums md5sums.asc COPYING" + create_archive "zip" ".zip" "" "" "$foo" "javadoc md5sums md5sums.asc COPYING" + + #compile the source + javac net/sf/jazzlib/*.java + + foo=(net/sf/jazzlib/*.class) + create_archive "tar czvf" ".tar.gz" "-binary" "" "$foo" "javadoc md5sums md5sums.asc COPYING" + create_archive "zip" ".zip" "-binary" "" "$foo" "javadoc md5sums md5sums.asc COPYING" + + #back to dir + popd + + ;; +esac +ls -la dist/{*.tar.gz,*.jar,*.zip} + + + + diff --git a/libjava/classpath/lib/mkdep.pl.in b/libjava/classpath/lib/mkdep.pl.in new file mode 100755 index 00000000000..b30fd7ae974 --- /dev/null +++ b/libjava/classpath/lib/mkdep.pl.in @@ -0,0 +1,336 @@ +#!@PERL@ +# +# Create a dependency file for use with make that will +# a) not have duplicate entries +# b) not include the source of a file as a dependency to separate file, +# just the class of the file +# c) use jikes .u files +# d) includes classes which need native compilation via simple parsing +# to find native methods requiring use of javah + +use strict; + +my ( $dir, $dep ) = ""; +my @dirs = ( 'java', 'javax', 'gnu' ); +my ( $depout ) = "makefile.dep"; +my ( $classout ) = "classes.dep"; +my ( $headerout ) = "headers.dep"; +my ( $javaout ) = "java.dep"; +my @deps = (); +my @natives = (); +use vars qw ( $classout $headerout @dirs @deps @natives $dir $dep $depout ); + +# main +{ + if ($#ARGV == 0) + { + if ($ARGV[0] =~ /^-h/) + { + findNativeFiles(); + writeNativeFile(); + } + elsif ($ARGV[0] =~ /^-d/) + { + foreach $dir (@dirs) + { + # find all .u files recursively and parse'm + findDepFiles($dir); + } + writeDepFile(); + } + elsif ($ARGV[0] =~ /^-c/) + { + findClassFiles(); + writeClassFile(); + } + elsif ($ARGV[0] =~ /^-j/) + { + findJavaFiles(); + writeJavaFile(); + } + } + else + { + print "Usage:\n"; + print "mkdep.pl -h \tfor header files\n"; + print "mkdep.pl -c \tfor a list of classes\n"; + print "mkdep.pl -j \tfor a list of java files\n"; + print "mkdep.pl -d \tfor dependency generation from jikes .u files\n"; + } +} + +sub writeNativeFile +{ + my ($i, $j, $k, $l) = ""; + my $top_srcdir = "../"; + if (defined $ENV{'top_srcdir'}) { + $top_srcdir = $ENV{'top_srcdir'}; + } + my $top_srcdir_regex = $top_srcdir; + if ($top_srcdir_regex !~ /.*\/$/) { + $top_srcdir_regex .= '/'; + } + $top_srcdir_regex =~ s/\./\\\./g; # replace . with \. + $top_srcdir_regex =~ s/\//\\\//g; # replace / with \/ +# print "regex is $top_srcdir_regex\n"; + open(MAKEDEP, ">$headerout") || die "Could not open file ", $headerout; + + # the HEADERS = ... stuff + if ($#natives > -1) + { + print MAKEDEP "CP_HEADERS = \\", "\n"; + foreach $i (0 .. $#natives-1) + { + $j = $natives[$i]; + $j =~ s/^$top_srcdir_regex//; # remove ../ or similar + $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ + $j =~ s/^vm\/reference\///; # remove vm/reference/ + $j =~ s/\//_/g; # replace / with _ + $j =~ s/\.java$/\.h/; # replace .java with .h + print MAKEDEP " \$(top_builddir)/include/", $j, " \\", "\n"; + } + $j = $natives[$#natives]; + $j =~ s/^$top_srcdir_regex//; # remove ../ + $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ + $j =~ s/^vm\/reference\///; # remove vm/reference/ + $j =~ s/\//_/g; # replace / with _ + $j =~ s/\.java/\.h/; # replace .java with .h + print MAKEDEP " \$(top_builddir)/include/", $j, "\n\n"; + + # print rules to make .h files + # y/x.h : z/x.class + # y/x.h : ../z/x.java + # javah -jni z.x + # mv y_x.h $(top_srcdir)/include + + # j = y/x.h + # k = z/x.class + # k = ../z/x.java + # l = z.x + foreach $i (0 .. $#natives-1) + { + $j = $natives[$i]; + $j =~ s/^$top_srcdir_regex//; # remove ../ + $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ + $j =~ s/^vm\/reference\///; # remove vm/reference/ +# $k = $l = $j; + $l = $j; + $j =~ s/\//_/g; # replace / with _ + $j =~ s/\.java$/\.h/; # replace .java with .h + + $k = $natives[$i]; # the original .java file +# $k =~ s/\.java$/\.class/; # replace .java with .class + + $l =~ s/\.java$//; # remove .class + $l =~ s/\//\./g; # replace / with . + + print MAKEDEP "\$(top_builddir)/include/", $j, " : ", $k, "\n"; + print MAKEDEP "\t\$(JAVAH) ", $l, "\n"; + print MAKEDEP "\tmv ", $j, " \$(top_builddir)/include\n\n"; + } + $j = $natives[$#natives]; + $j =~ s/^$top_srcdir_regex//; # remove ../ + $j =~ s/^(\.\.\/)+//g; # remove all preceding ../ + $j =~ s/^vm\/reference\///; # remove vm/reference/ +# $k = $l = $j; + $l = $j; + $j =~ s/\//_/g; # replace / with _ + $j =~ s/\.java/\.h/; # replace .java with .h + + $k = $natives[$#natives]; # the original .java file +# $k =~ s/\.java$/\.class/; # replace .java with .class + + $l =~ s/\.java$//; # remove .class + $l =~ s/\//\./g; # replace / with . + + print MAKEDEP "\$(top_builddir)/include/", $j, " : ", $k, "\n"; + print MAKEDEP "\t\$(JAVAH) ", $l, "\n"; + print MAKEDEP "\tmv ", $j, " \$(top_builddir)/include\n\n"; + } + close(MAKEDEP); +} + +sub writeJavaFile +{ + my ($i, $j, $class, $depend, $source, $depend_source) = ""; + + open(MAKEDEP, ">$javaout") || die "Could not open file ", $classout; + + # the JAVA_SRCS = ... stuff + if ($#natives > -1) + { + print MAKEDEP "JAVA_SRCS = \\", "\n"; + foreach $i (0 .. $#natives-1) + { + $j = $natives[$i]; + print MAKEDEP " ", $j, " \\", "\n"; + } + $j = $natives[$#natives]; + print MAKEDEP " ", $j, "\n\n"; + } + close(MAKEDEP); +} + +sub writeClassFile +{ + my ($i, $j, $class, $depend, $source, $depend_source) = ""; + + open(MAKEDEP, ">$classout") || die "Could not open file ", $classout; + + # the CLASSES = ... stuff + if ($#natives > -1) + { + print MAKEDEP "CLASSES = \\", "\n"; + foreach $i (0 .. $#natives-1) + { + $j = $natives[$i]; + $j =~ s/\.java$/\.class/; + print MAKEDEP " ", $j, " \\", "\n"; + } + $j = $natives[$#natives]; + $j =~ s/\.java$/\.class/; + print MAKEDEP " ", $j, "\n\n"; + } + close(MAKEDEP); +} + +sub writeDepFile +{ + my ($i, $j, $class, $depend, $source, $depend_source) = ""; + + open(MAKEDEP, ">$depout") || die "Could not open file ", $depout; + + # the class dependencies + foreach $i (@deps) + { + open(FILE, "<$i") || die "Could not open file ", $i, "\n"; + while() + { + chop; + ($class, $depend) = /(.+) : (.+)$/; + $source = $class; + $source =~ s/\.class$/\.java/; + if (($source eq $depend) || ($depend !~ /\.java$/)) + { + if ($depend =~ /^\.\.\/.+\.class$/) + { + $depend =~ s/^\.\.\///; + } + if (($depend =~ /\.java$/) && ($depend !~ /^\.\.\//)) + { + $depend = "../" . $depend; + } + print MAKEDEP $class, " : ", $depend, "\n"; + } + } + print MAKEDEP "\n"; + close(FILE); + } + close(MAKEDEP); +} + +sub findJavaFiles +{ + my ($file) = ""; + open(CLASSES, ") + { + chop; + $file = $_; + push @natives, $file; + } + close(CLASSES); +} + +sub findClassFiles +{ + my ($file) = ""; + open(CLASSES, ") + { + chop; + $file = $_; + $file =~ s/^\.\.\///; + push @natives, $file; + } + close(CLASSES); +} + +sub findNativeFiles +{ + my ($file) = ""; + open(CLASSES, ") + { + chop; + $file = $_; + if (hasNativeMethod($file)) + { + push @natives, $file; + } + + } + close(CLASSES); +} + +sub hasNativeMethod +{ + my ($file) = @_; + my ($line, $one, $two) = ""; + open(FILE, "<$file") || die "Could not open file ", $file, "\n"; + while() + { + chop; + $one = $two; + $two = $_; + + $line = $one . " " . $two; + if ( ($line =~ /^\s*public\s.*native\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*public\s.*native\s+\S+\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*protected\s.*native\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*protected\s.*native\s+\S+\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*private\s.*native\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*private\s.*native\s+\S+\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*abstract\s.*native\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*final\s.*native\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*synchronized\s.*native\s+\S+\s+\S+\s*\(/) || + ($line =~ /^\s*native\s.*/) ) + { + close(FILE); + return 1; + } + } + close(FILE); + return 0; +} + +sub findDepFiles +{ + + my ($dir) = @_; + my (@dirs) = (); + my (@local_deps) = (); + my (@entries) = (); + my ($i, $local_dep) = ""; + if (opendir(DIR, $dir)) + { + @entries = grep(-d "$dir/$_" && !/^\.\.?$/, readdir(DIR)); + foreach $i (@entries) + { + push @dirs, "$dir/$i"; + } + rewinddir(DIR); + @entries= grep(/\.u$/, readdir(DIR)); + closedir(DIR); + foreach $i (@entries) + { + push @local_deps, "$dir/$i"; + } + push @deps, @local_deps; + foreach $i (@dirs) + { + findDepFiles($i); + } + } +} + diff --git a/libjava/classpath/lib/org/ietf/jgss/ChannelBinding.class b/libjava/classpath/lib/org/ietf/jgss/ChannelBinding.class new file mode 100644 index 00000000000..75f6b026918 Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/ChannelBinding.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/GSSContext.class b/libjava/classpath/lib/org/ietf/jgss/GSSContext.class new file mode 100644 index 00000000000..9781403010f Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/GSSContext.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/GSSCredential.class b/libjava/classpath/lib/org/ietf/jgss/GSSCredential.class new file mode 100644 index 00000000000..f25e090786e Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/GSSCredential.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/GSSException.class b/libjava/classpath/lib/org/ietf/jgss/GSSException.class new file mode 100644 index 00000000000..15b83a9c11e Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/GSSException.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/GSSManager.class b/libjava/classpath/lib/org/ietf/jgss/GSSManager.class new file mode 100644 index 00000000000..a30da157dbe Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/GSSManager.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/GSSName.class b/libjava/classpath/lib/org/ietf/jgss/GSSName.class new file mode 100644 index 00000000000..7cfbc570fb4 Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/GSSName.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/MessageProp.class b/libjava/classpath/lib/org/ietf/jgss/MessageProp.class new file mode 100644 index 00000000000..b6db46cc1ae Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/MessageProp.class differ diff --git a/libjava/classpath/lib/org/ietf/jgss/Oid.class b/libjava/classpath/lib/org/ietf/jgss/Oid.class new file mode 100644 index 00000000000..a9202919bc9 Binary files /dev/null and b/libjava/classpath/lib/org/ietf/jgss/Oid.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ACTIVITY_COMPLETED.class b/libjava/classpath/lib/org/omg/CORBA/ACTIVITY_COMPLETED.class new file mode 100644 index 00000000000..6273c48d946 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ACTIVITY_COMPLETED.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ACTIVITY_REQUIRED.class b/libjava/classpath/lib/org/omg/CORBA/ACTIVITY_REQUIRED.class new file mode 100644 index 00000000000..56d40116c7c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ACTIVITY_REQUIRED.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ARG_IN.class b/libjava/classpath/lib/org/omg/CORBA/ARG_IN.class new file mode 100644 index 00000000000..81eb85f17fe Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ARG_IN.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ARG_INOUT.class b/libjava/classpath/lib/org/omg/CORBA/ARG_INOUT.class new file mode 100644 index 00000000000..e7824369210 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ARG_INOUT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ARG_OUT.class b/libjava/classpath/lib/org/omg/CORBA/ARG_OUT.class new file mode 100644 index 00000000000..32feb6b4e95 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ARG_OUT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Any.class b/libjava/classpath/lib/org/omg/CORBA/Any.class new file mode 100644 index 00000000000..241d9037cde Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Any.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/AnyHolder.class b/libjava/classpath/lib/org/omg/CORBA/AnyHolder.class new file mode 100644 index 00000000000..6280babb6cc Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/AnyHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/AnySeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/AnySeqHelper.class new file mode 100644 index 00000000000..6e86ff43e8b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/AnySeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/AnySeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/AnySeqHolder.class new file mode 100644 index 00000000000..ad1716813d7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/AnySeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_CONTEXT.class b/libjava/classpath/lib/org/omg/CORBA/BAD_CONTEXT.class new file mode 100644 index 00000000000..36940158e93 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_CONTEXT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_INV_ORDER.class b/libjava/classpath/lib/org/omg/CORBA/BAD_INV_ORDER.class new file mode 100644 index 00000000000..29af5229e28 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_INV_ORDER.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_OPERATION.class b/libjava/classpath/lib/org/omg/CORBA/BAD_OPERATION.class new file mode 100644 index 00000000000..59d5e89b700 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_OPERATION.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_PARAM.class b/libjava/classpath/lib/org/omg/CORBA/BAD_PARAM.class new file mode 100644 index 00000000000..fe6319d7220 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_PARAM.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY.class b/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY.class new file mode 100644 index 00000000000..683492ca5e5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_TYPE.class b/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_TYPE.class new file mode 100644 index 00000000000..aef3c3c78dd Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_TYPE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_VALUE.class b/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_VALUE.class new file mode 100644 index 00000000000..b796febb361 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_POLICY_VALUE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_QOS.class b/libjava/classpath/lib/org/omg/CORBA/BAD_QOS.class new file mode 100644 index 00000000000..733126a4e22 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_QOS.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BAD_TYPECODE.class b/libjava/classpath/lib/org/omg/CORBA/BAD_TYPECODE.class new file mode 100644 index 00000000000..ea7dc21e8e5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BAD_TYPECODE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BooleanHolder.class b/libjava/classpath/lib/org/omg/CORBA/BooleanHolder.class new file mode 100644 index 00000000000..c02b7bd9753 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BooleanHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BooleanSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/BooleanSeqHelper.class new file mode 100644 index 00000000000..9bbafe13a44 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BooleanSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/BooleanSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/BooleanSeqHolder.class new file mode 100644 index 00000000000..894048b4782 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/BooleanSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Bounds.class b/libjava/classpath/lib/org/omg/CORBA/Bounds.class new file mode 100644 index 00000000000..d3fddac0caf Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Bounds.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ByteHolder.class b/libjava/classpath/lib/org/omg/CORBA/ByteHolder.class new file mode 100644 index 00000000000..ec454370631 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ByteHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CODESET_INCOMPATIBLE.class b/libjava/classpath/lib/org/omg/CORBA/CODESET_INCOMPATIBLE.class new file mode 100644 index 00000000000..4c8429fc9f3 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CODESET_INCOMPATIBLE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/COMM_FAILURE.class b/libjava/classpath/lib/org/omg/CORBA/COMM_FAILURE.class new file mode 100644 index 00000000000..b290135f469 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/COMM_FAILURE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CTX_RESTRICT_SCOPE.class b/libjava/classpath/lib/org/omg/CORBA/CTX_RESTRICT_SCOPE.class new file mode 100644 index 00000000000..279f1c31ed6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CTX_RESTRICT_SCOPE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CharHolder.class b/libjava/classpath/lib/org/omg/CORBA/CharHolder.class new file mode 100644 index 00000000000..c24adb8cac8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CharHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CharSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/CharSeqHelper.class new file mode 100644 index 00000000000..bdeee597f2a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CharSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CharSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/CharSeqHolder.class new file mode 100644 index 00000000000..308a92667f9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CharSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CompletionStatus.class b/libjava/classpath/lib/org/omg/CORBA/CompletionStatus.class new file mode 100644 index 00000000000..1ff0902f75d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CompletionStatus.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CompletionStatusHelper.class b/libjava/classpath/lib/org/omg/CORBA/CompletionStatusHelper.class new file mode 100644 index 00000000000..dc612821244 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CompletionStatusHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Context.class b/libjava/classpath/lib/org/omg/CORBA/Context.class new file mode 100644 index 00000000000..6ceb2a9dd26 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Context.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ContextList.class b/libjava/classpath/lib/org/omg/CORBA/ContextList.class new file mode 100644 index 00000000000..7aa694f06af Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ContextList.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Current.class b/libjava/classpath/lib/org/omg/CORBA/Current.class new file mode 100644 index 00000000000..59062f75d15 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Current.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CurrentHelper$_CurrentStub.class b/libjava/classpath/lib/org/omg/CORBA/CurrentHelper$_CurrentStub.class new file mode 100644 index 00000000000..6a24ac2351e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CurrentHelper$_CurrentStub.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CurrentHelper.class b/libjava/classpath/lib/org/omg/CORBA/CurrentHelper.class new file mode 100644 index 00000000000..b08abfc7a7e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CurrentHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CurrentHolder.class b/libjava/classpath/lib/org/omg/CORBA/CurrentHolder.class new file mode 100644 index 00000000000..04b399deb89 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CurrentHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CurrentOperations.class b/libjava/classpath/lib/org/omg/CORBA/CurrentOperations.class new file mode 100644 index 00000000000..d9c71534320 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CurrentOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CustomMarshal.class b/libjava/classpath/lib/org/omg/CORBA/CustomMarshal.class new file mode 100644 index 00000000000..c8ccce25d49 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CustomMarshal.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/CustomValue.class b/libjava/classpath/lib/org/omg/CORBA/CustomValue.class new file mode 100644 index 00000000000..7e775ec43ff Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/CustomValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DATA_CONVERSION.class b/libjava/classpath/lib/org/omg/CORBA/DATA_CONVERSION.class new file mode 100644 index 00000000000..9f3cbe2eb16 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DATA_CONVERSION.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DataInputStream.class b/libjava/classpath/lib/org/omg/CORBA/DataInputStream.class new file mode 100644 index 00000000000..7d5e2716678 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DataInputStream.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DataOutputStream.class b/libjava/classpath/lib/org/omg/CORBA/DataOutputStream.class new file mode 100644 index 00000000000..f685386b9df Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DataOutputStream.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DefinitionKind.class b/libjava/classpath/lib/org/omg/CORBA/DefinitionKind.class new file mode 100644 index 00000000000..59cc3b23006 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DefinitionKind.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DefinitionKindHelper.class b/libjava/classpath/lib/org/omg/CORBA/DefinitionKindHelper.class new file mode 100644 index 00000000000..4f7cc619f31 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DefinitionKindHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DomainManager.class b/libjava/classpath/lib/org/omg/CORBA/DomainManager.class new file mode 100644 index 00000000000..3fd23b98a0e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DomainManager.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DomainManagerOperations.class b/libjava/classpath/lib/org/omg/CORBA/DomainManagerOperations.class new file mode 100644 index 00000000000..a605b00d883 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DomainManagerOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DoubleHolder.class b/libjava/classpath/lib/org/omg/CORBA/DoubleHolder.class new file mode 100644 index 00000000000..38bfcf152b7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DoubleHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DoubleSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/DoubleSeqHelper.class new file mode 100644 index 00000000000..3d6509ae921 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DoubleSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DoubleSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/DoubleSeqHolder.class new file mode 100644 index 00000000000..adfa0dd621a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DoubleSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynAny.class b/libjava/classpath/lib/org/omg/CORBA/DynAny.class new file mode 100644 index 00000000000..aec6c140456 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynAny.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/Invalid.class b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/Invalid.class new file mode 100644 index 00000000000..21c81153234 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/Invalid.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidSeq.class b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidSeq.class new file mode 100644 index 00000000000..60ca4c45088 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidSeq.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidValue.class b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidValue.class new file mode 100644 index 00000000000..877b4e14db2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/InvalidValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/TypeMismatch.class b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/TypeMismatch.class new file mode 100644 index 00000000000..e704f658422 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynAnyPackage/TypeMismatch.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynArray.class b/libjava/classpath/lib/org/omg/CORBA/DynArray.class new file mode 100644 index 00000000000..6ed14fbb095 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynArray.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynEnum.class b/libjava/classpath/lib/org/omg/CORBA/DynEnum.class new file mode 100644 index 00000000000..fc31a3ece1d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynEnum.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynFixed.class b/libjava/classpath/lib/org/omg/CORBA/DynFixed.class new file mode 100644 index 00000000000..4e07360689c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynFixed.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynSequence.class b/libjava/classpath/lib/org/omg/CORBA/DynSequence.class new file mode 100644 index 00000000000..9f78322ef00 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynSequence.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynStruct.class b/libjava/classpath/lib/org/omg/CORBA/DynStruct.class new file mode 100644 index 00000000000..db555c38b6b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynStruct.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynUnion.class b/libjava/classpath/lib/org/omg/CORBA/DynUnion.class new file mode 100644 index 00000000000..0d7705f6658 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynUnion.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynValue.class b/libjava/classpath/lib/org/omg/CORBA/DynValue.class new file mode 100644 index 00000000000..b88d8c9b4e2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/DynamicImplementation.class b/libjava/classpath/lib/org/omg/CORBA/DynamicImplementation.class new file mode 100644 index 00000000000..fa2902535ac Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/DynamicImplementation.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Environment.class b/libjava/classpath/lib/org/omg/CORBA/Environment.class new file mode 100644 index 00000000000..e9a2c4fe597 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Environment.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ExceptionList.class b/libjava/classpath/lib/org/omg/CORBA/ExceptionList.class new file mode 100644 index 00000000000..11175909a62 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ExceptionList.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/FREE_MEM.class b/libjava/classpath/lib/org/omg/CORBA/FREE_MEM.class new file mode 100644 index 00000000000..f8238569b1f Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/FREE_MEM.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/FieldNameHelper.class b/libjava/classpath/lib/org/omg/CORBA/FieldNameHelper.class new file mode 100644 index 00000000000..3d6c77446a0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/FieldNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/FixedHolder.class b/libjava/classpath/lib/org/omg/CORBA/FixedHolder.class new file mode 100644 index 00000000000..b06aad6c32c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/FixedHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/FloatHolder.class b/libjava/classpath/lib/org/omg/CORBA/FloatHolder.class new file mode 100644 index 00000000000..6eb06bc47d5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/FloatHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/FloatSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/FloatSeqHelper.class new file mode 100644 index 00000000000..396ed94414e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/FloatSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/FloatSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/FloatSeqHolder.class new file mode 100644 index 00000000000..35f1612f120 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/FloatSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IDLType.class b/libjava/classpath/lib/org/omg/CORBA/IDLType.class new file mode 100644 index 00000000000..8c5ed030e18 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IDLType.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IDLTypeHelper.class b/libjava/classpath/lib/org/omg/CORBA/IDLTypeHelper.class new file mode 100644 index 00000000000..0fc9e7d1305 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IDLTypeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IDLTypeOperations.class b/libjava/classpath/lib/org/omg/CORBA/IDLTypeOperations.class new file mode 100644 index 00000000000..64d8b18900a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IDLTypeOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IMP_LIMIT.class b/libjava/classpath/lib/org/omg/CORBA/IMP_LIMIT.class new file mode 100644 index 00000000000..0194e473882 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IMP_LIMIT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INITIALIZE.class b/libjava/classpath/lib/org/omg/CORBA/INITIALIZE.class new file mode 100644 index 00000000000..156ba25006d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INITIALIZE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INTERNAL.class b/libjava/classpath/lib/org/omg/CORBA/INTERNAL.class new file mode 100644 index 00000000000..bb0867fc0d1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INTERNAL.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INTF_REPOS.class b/libjava/classpath/lib/org/omg/CORBA/INTF_REPOS.class new file mode 100644 index 00000000000..404572b2f36 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INTF_REPOS.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INVALID_ACTIVITY.class b/libjava/classpath/lib/org/omg/CORBA/INVALID_ACTIVITY.class new file mode 100644 index 00000000000..7b6b898433a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INVALID_ACTIVITY.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INVALID_TRANSACTION.class b/libjava/classpath/lib/org/omg/CORBA/INVALID_TRANSACTION.class new file mode 100644 index 00000000000..5f61141d4b1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INVALID_TRANSACTION.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INV_FLAG.class b/libjava/classpath/lib/org/omg/CORBA/INV_FLAG.class new file mode 100644 index 00000000000..04a21b792d7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INV_FLAG.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INV_IDENT.class b/libjava/classpath/lib/org/omg/CORBA/INV_IDENT.class new file mode 100644 index 00000000000..97b0dbbe0e9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INV_IDENT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INV_OBJREF.class b/libjava/classpath/lib/org/omg/CORBA/INV_OBJREF.class new file mode 100644 index 00000000000..4132a243d37 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INV_OBJREF.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/INV_POLICY.class b/libjava/classpath/lib/org/omg/CORBA/INV_POLICY.class new file mode 100644 index 00000000000..82ea67b358d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/INV_POLICY.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IRObject.class b/libjava/classpath/lib/org/omg/CORBA/IRObject.class new file mode 100644 index 00000000000..7f43483982d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IRObject.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IRObjectOperations.class b/libjava/classpath/lib/org/omg/CORBA/IRObjectOperations.class new file mode 100644 index 00000000000..5b2554c5bc9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IRObjectOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IdentifierHelper.class b/libjava/classpath/lib/org/omg/CORBA/IdentifierHelper.class new file mode 100644 index 00000000000..17ba7e2fecf Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IdentifierHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/IntHolder.class b/libjava/classpath/lib/org/omg/CORBA/IntHolder.class new file mode 100644 index 00000000000..775f9947967 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/IntHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/LocalObject.class b/libjava/classpath/lib/org/omg/CORBA/LocalObject.class new file mode 100644 index 00000000000..f666fb8fc32 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/LocalObject.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/LongHolder.class b/libjava/classpath/lib/org/omg/CORBA/LongHolder.class new file mode 100644 index 00000000000..1620deacb60 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/LongHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/LongLongSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/LongLongSeqHelper.class new file mode 100644 index 00000000000..3cef2568d0c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/LongLongSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/LongLongSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/LongLongSeqHolder.class new file mode 100644 index 00000000000..b086be5c6a3 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/LongLongSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/LongSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/LongSeqHelper.class new file mode 100644 index 00000000000..adbc98874b0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/LongSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/LongSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/LongSeqHolder.class new file mode 100644 index 00000000000..c599b9bbfac Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/LongSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/MARSHAL.class b/libjava/classpath/lib/org/omg/CORBA/MARSHAL.class new file mode 100644 index 00000000000..90b1b6119ca Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/MARSHAL.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NO_IMPLEMENT.class b/libjava/classpath/lib/org/omg/CORBA/NO_IMPLEMENT.class new file mode 100644 index 00000000000..75de0f307e6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NO_IMPLEMENT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NO_MEMORY.class b/libjava/classpath/lib/org/omg/CORBA/NO_MEMORY.class new file mode 100644 index 00000000000..5ab11c43740 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NO_MEMORY.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NO_PERMISSION.class b/libjava/classpath/lib/org/omg/CORBA/NO_PERMISSION.class new file mode 100644 index 00000000000..c094264d35e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NO_PERMISSION.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NO_RESOURCES.class b/libjava/classpath/lib/org/omg/CORBA/NO_RESOURCES.class new file mode 100644 index 00000000000..b3160694b8a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NO_RESOURCES.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NO_RESPONSE.class b/libjava/classpath/lib/org/omg/CORBA/NO_RESPONSE.class new file mode 100644 index 00000000000..db37168d746 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NO_RESPONSE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NVList.class b/libjava/classpath/lib/org/omg/CORBA/NVList.class new file mode 100644 index 00000000000..98268674730 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NVList.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NameValuePair.class b/libjava/classpath/lib/org/omg/CORBA/NameValuePair.class new file mode 100644 index 00000000000..1b9aeb7a4fa Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NameValuePair.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NameValuePairHelper.class b/libjava/classpath/lib/org/omg/CORBA/NameValuePairHelper.class new file mode 100644 index 00000000000..e286a1f360c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NameValuePairHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/NamedValue.class b/libjava/classpath/lib/org/omg/CORBA/NamedValue.class new file mode 100644 index 00000000000..eb23677914a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/NamedValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/OBJECT_NOT_EXIST.class b/libjava/classpath/lib/org/omg/CORBA/OBJECT_NOT_EXIST.class new file mode 100644 index 00000000000..607b364f7ff Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/OBJECT_NOT_EXIST.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/OBJ_ADAPTER.class b/libjava/classpath/lib/org/omg/CORBA/OBJ_ADAPTER.class new file mode 100644 index 00000000000..5f8c0a5947b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/OBJ_ADAPTER.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/OMGVMCID.class b/libjava/classpath/lib/org/omg/CORBA/OMGVMCID.class new file mode 100644 index 00000000000..fe0fc4196b7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/OMGVMCID.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ORB.class b/libjava/classpath/lib/org/omg/CORBA/ORB.class new file mode 100644 index 00000000000..4dfd8539189 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ORB.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ORBPackage/InconsistentTypeCode.class b/libjava/classpath/lib/org/omg/CORBA/ORBPackage/InconsistentTypeCode.class new file mode 100644 index 00000000000..737416bc7f6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ORBPackage/InconsistentTypeCode.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ORBPackage/InvalidName.class b/libjava/classpath/lib/org/omg/CORBA/ORBPackage/InvalidName.class new file mode 100644 index 00000000000..5f37a2c7e74 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ORBPackage/InvalidName.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Object.class b/libjava/classpath/lib/org/omg/CORBA/Object.class new file mode 100644 index 00000000000..dd1a6cf6d93 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Object.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ObjectHelper.class b/libjava/classpath/lib/org/omg/CORBA/ObjectHelper.class new file mode 100644 index 00000000000..b288d39071a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ObjectHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ObjectHolder.class b/libjava/classpath/lib/org/omg/CORBA/ObjectHolder.class new file mode 100644 index 00000000000..7ae35d266b8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ObjectHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/OctetSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/OctetSeqHelper.class new file mode 100644 index 00000000000..92c230905c2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/OctetSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/OctetSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/OctetSeqHolder.class new file mode 100644 index 00000000000..40e881b0555 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/OctetSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PERSIST_STORE.class b/libjava/classpath/lib/org/omg/CORBA/PERSIST_STORE.class new file mode 100644 index 00000000000..e1c3bcdbc5b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PERSIST_STORE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PRIVATE_MEMBER.class b/libjava/classpath/lib/org/omg/CORBA/PRIVATE_MEMBER.class new file mode 100644 index 00000000000..85b6c53030a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PRIVATE_MEMBER.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PUBLIC_MEMBER.class b/libjava/classpath/lib/org/omg/CORBA/PUBLIC_MEMBER.class new file mode 100644 index 00000000000..fa240e5a8f1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PUBLIC_MEMBER.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ParameterMode.class b/libjava/classpath/lib/org/omg/CORBA/ParameterMode.class new file mode 100644 index 00000000000..e287d827552 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ParameterMode.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ParameterModeHelper.class b/libjava/classpath/lib/org/omg/CORBA/ParameterModeHelper.class new file mode 100644 index 00000000000..cc64f658952 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ParameterModeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ParameterModeHolder.class b/libjava/classpath/lib/org/omg/CORBA/ParameterModeHolder.class new file mode 100644 index 00000000000..07b0e3b3050 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ParameterModeHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Policy.class b/libjava/classpath/lib/org/omg/CORBA/Policy.class new file mode 100644 index 00000000000..1f9eaa7fdfb Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Policy.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyError.class b/libjava/classpath/lib/org/omg/CORBA/PolicyError.class new file mode 100644 index 00000000000..23dd44b513f Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyError.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyErrorCodeHelper.class b/libjava/classpath/lib/org/omg/CORBA/PolicyErrorCodeHelper.class new file mode 100644 index 00000000000..08c11441329 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyErrorCodeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyErrorHelper.class b/libjava/classpath/lib/org/omg/CORBA/PolicyErrorHelper.class new file mode 100644 index 00000000000..f92d197722a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyErrorHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyErrorHolder.class b/libjava/classpath/lib/org/omg/CORBA/PolicyErrorHolder.class new file mode 100644 index 00000000000..d4b90f3f2af Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyErrorHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyHelper.class b/libjava/classpath/lib/org/omg/CORBA/PolicyHelper.class new file mode 100644 index 00000000000..25393cdb4db Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyHolder.class b/libjava/classpath/lib/org/omg/CORBA/PolicyHolder.class new file mode 100644 index 00000000000..9bcec0e27bb Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyListHelper.class b/libjava/classpath/lib/org/omg/CORBA/PolicyListHelper.class new file mode 100644 index 00000000000..d86ee5c83e7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyListHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyListHolder.class b/libjava/classpath/lib/org/omg/CORBA/PolicyListHolder.class new file mode 100644 index 00000000000..684d1b430a3 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyListHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyOperations.class b/libjava/classpath/lib/org/omg/CORBA/PolicyOperations.class new file mode 100644 index 00000000000..a843bfdf950 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PolicyTypeHelper.class b/libjava/classpath/lib/org/omg/CORBA/PolicyTypeHelper.class new file mode 100644 index 00000000000..005457b1560 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PolicyTypeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Principal.class b/libjava/classpath/lib/org/omg/CORBA/Principal.class new file mode 100644 index 00000000000..af77c83aefe Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Principal.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/PrincipalHolder.class b/libjava/classpath/lib/org/omg/CORBA/PrincipalHolder.class new file mode 100644 index 00000000000..253b7e1f706 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/PrincipalHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/REBIND.class b/libjava/classpath/lib/org/omg/CORBA/REBIND.class new file mode 100644 index 00000000000..96b5717614f Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/REBIND.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/RepositoryIdHelper.class b/libjava/classpath/lib/org/omg/CORBA/RepositoryIdHelper.class new file mode 100644 index 00000000000..62dc935d93e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/RepositoryIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/Request.class b/libjava/classpath/lib/org/omg/CORBA/Request.class new file mode 100644 index 00000000000..fe550783922 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/Request.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ServerRequest.class b/libjava/classpath/lib/org/omg/CORBA/ServerRequest.class new file mode 100644 index 00000000000..62a4b47b485 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ServerRequest.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ServiceDetail.class b/libjava/classpath/lib/org/omg/CORBA/ServiceDetail.class new file mode 100644 index 00000000000..fc239d3ce12 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ServiceDetail.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ServiceDetailHelper.class b/libjava/classpath/lib/org/omg/CORBA/ServiceDetailHelper.class new file mode 100644 index 00000000000..75358eb949e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ServiceDetailHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ServiceInformation.class b/libjava/classpath/lib/org/omg/CORBA/ServiceInformation.class new file mode 100644 index 00000000000..ce2d5376a1f Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ServiceInformation.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ServiceInformationHelper.class b/libjava/classpath/lib/org/omg/CORBA/ServiceInformationHelper.class new file mode 100644 index 00000000000..bfaf1196889 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ServiceInformationHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ServiceInformationHolder.class b/libjava/classpath/lib/org/omg/CORBA/ServiceInformationHolder.class new file mode 100644 index 00000000000..1c7d2d241a2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ServiceInformationHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/SetOverrideType.class b/libjava/classpath/lib/org/omg/CORBA/SetOverrideType.class new file mode 100644 index 00000000000..bc56a6f95a8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/SetOverrideType.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/SetOverrideTypeHelper.class b/libjava/classpath/lib/org/omg/CORBA/SetOverrideTypeHelper.class new file mode 100644 index 00000000000..b043621ebb6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/SetOverrideTypeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ShortHolder.class b/libjava/classpath/lib/org/omg/CORBA/ShortHolder.class new file mode 100644 index 00000000000..c8fd60130d9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ShortHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ShortSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/ShortSeqHelper.class new file mode 100644 index 00000000000..02fce8f1028 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ShortSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ShortSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/ShortSeqHolder.class new file mode 100644 index 00000000000..47d73c5b3e8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ShortSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/StringHolder.class b/libjava/classpath/lib/org/omg/CORBA/StringHolder.class new file mode 100644 index 00000000000..18ba01a6154 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/StringHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/StringSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/StringSeqHelper.class new file mode 100644 index 00000000000..416407b552c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/StringSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/StringSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/StringSeqHolder.class new file mode 100644 index 00000000000..5c89f8ec2c0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/StringSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/StringValueHelper.class b/libjava/classpath/lib/org/omg/CORBA/StringValueHelper.class new file mode 100644 index 00000000000..9912113e8cf Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/StringValueHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/StructMember.class b/libjava/classpath/lib/org/omg/CORBA/StructMember.class new file mode 100644 index 00000000000..3d77b2a2c4d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/StructMember.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/StructMemberHelper.class b/libjava/classpath/lib/org/omg/CORBA/StructMemberHelper.class new file mode 100644 index 00000000000..5c5a0e2c7bd Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/StructMemberHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/SystemException.class b/libjava/classpath/lib/org/omg/CORBA/SystemException.class new file mode 100644 index 00000000000..940f7991325 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/SystemException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TCKind.class b/libjava/classpath/lib/org/omg/CORBA/TCKind.class new file mode 100644 index 00000000000..0cdaf690431 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TCKind.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TIMEOUT.class b/libjava/classpath/lib/org/omg/CORBA/TIMEOUT.class new file mode 100644 index 00000000000..bd13b9fa526 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TIMEOUT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_MODE.class b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_MODE.class new file mode 100644 index 00000000000..3e80be97c88 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_MODE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_REQUIRED.class b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_REQUIRED.class new file mode 100644 index 00000000000..41c83de81a7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_REQUIRED.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_ROLLEDBACK.class b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_ROLLEDBACK.class new file mode 100644 index 00000000000..005c4c262bf Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_ROLLEDBACK.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_UNAVAILABLE.class b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_UNAVAILABLE.class new file mode 100644 index 00000000000..35c4ac1c6ea Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TRANSACTION_UNAVAILABLE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TRANSIENT.class b/libjava/classpath/lib/org/omg/CORBA/TRANSIENT.class new file mode 100644 index 00000000000..e6e2c933c27 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TRANSIENT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TypeCode.class b/libjava/classpath/lib/org/omg/CORBA/TypeCode.class new file mode 100644 index 00000000000..a226a13c580 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TypeCode.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TypeCodeHolder.class b/libjava/classpath/lib/org/omg/CORBA/TypeCodeHolder.class new file mode 100644 index 00000000000..eec7eb74029 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TypeCodeHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/BadKind.class b/libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/BadKind.class new file mode 100644 index 00000000000..1cb6527aa16 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/BadKind.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/Bounds.class b/libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/Bounds.class new file mode 100644 index 00000000000..c24c5125210 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/TypeCodePackage/Bounds.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHelper.class new file mode 100644 index 00000000000..e48ca17d626 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHolder.class new file mode 100644 index 00000000000..3e9759fb91e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ULongLongSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ULongSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/ULongSeqHelper.class new file mode 100644 index 00000000000..055547ad555 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ULongSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ULongSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/ULongSeqHolder.class new file mode 100644 index 00000000000..de8c0a3b6b5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ULongSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UNKNOWN.class b/libjava/classpath/lib/org/omg/CORBA/UNKNOWN.class new file mode 100644 index 00000000000..1a67fcbe4e7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UNKNOWN.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY.class b/libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY.class new file mode 100644 index 00000000000..165aec3b785 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.class b/libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.class new file mode 100644 index 00000000000..77991d4cf18 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UShortSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/UShortSeqHelper.class new file mode 100644 index 00000000000..462900f9b60 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UShortSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UShortSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/UShortSeqHolder.class new file mode 100644 index 00000000000..a134da240e6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UShortSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UnionMember.class b/libjava/classpath/lib/org/omg/CORBA/UnionMember.class new file mode 100644 index 00000000000..7d83156b793 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UnionMember.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UnionMemberHelper.class b/libjava/classpath/lib/org/omg/CORBA/UnionMemberHelper.class new file mode 100644 index 00000000000..d696e43bcba Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UnionMemberHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UnknownUserException.class b/libjava/classpath/lib/org/omg/CORBA/UnknownUserException.class new file mode 100644 index 00000000000..f4b6615d6f8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UnknownUserException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHelper.class b/libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHelper.class new file mode 100644 index 00000000000..04fd69a47fc Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHolder.class b/libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHolder.class new file mode 100644 index 00000000000..0c7bcb87506 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UnknownUserExceptionHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/UserException.class b/libjava/classpath/lib/org/omg/CORBA/UserException.class new file mode 100644 index 00000000000..ed8baba4407 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/UserException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/VM_ABSTRACT.class b/libjava/classpath/lib/org/omg/CORBA/VM_ABSTRACT.class new file mode 100644 index 00000000000..28cc567c331 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/VM_ABSTRACT.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/VM_CUSTOM.class b/libjava/classpath/lib/org/omg/CORBA/VM_CUSTOM.class new file mode 100644 index 00000000000..fe8503c4ad1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/VM_CUSTOM.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/VM_NONE.class b/libjava/classpath/lib/org/omg/CORBA/VM_NONE.class new file mode 100644 index 00000000000..3793c8251f8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/VM_NONE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/VM_TRUNCATABLE.class b/libjava/classpath/lib/org/omg/CORBA/VM_TRUNCATABLE.class new file mode 100644 index 00000000000..c17ba788056 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/VM_TRUNCATABLE.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ValueBaseHelper.class b/libjava/classpath/lib/org/omg/CORBA/ValueBaseHelper.class new file mode 100644 index 00000000000..5e72f38c939 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ValueBaseHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ValueBaseHolder.class b/libjava/classpath/lib/org/omg/CORBA/ValueBaseHolder.class new file mode 100644 index 00000000000..7976f5e3e88 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ValueBaseHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ValueMember.class b/libjava/classpath/lib/org/omg/CORBA/ValueMember.class new file mode 100644 index 00000000000..c317aaafbd8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ValueMember.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/ValueMemberHelper.class b/libjava/classpath/lib/org/omg/CORBA/ValueMemberHelper.class new file mode 100644 index 00000000000..6dd4e17aa03 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/ValueMemberHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/VersionSpecHelper.class b/libjava/classpath/lib/org/omg/CORBA/VersionSpecHelper.class new file mode 100644 index 00000000000..9718810626b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/VersionSpecHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/VisibilityHelper.class b/libjava/classpath/lib/org/omg/CORBA/VisibilityHelper.class new file mode 100644 index 00000000000..5f9b920ab04 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/VisibilityHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WCharSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/WCharSeqHelper.class new file mode 100644 index 00000000000..42dd65a9b97 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WCharSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WCharSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/WCharSeqHolder.class new file mode 100644 index 00000000000..4b2fa2f452b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WCharSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WStringSeqHelper.class b/libjava/classpath/lib/org/omg/CORBA/WStringSeqHelper.class new file mode 100644 index 00000000000..434cf45029f Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WStringSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WStringSeqHolder.class b/libjava/classpath/lib/org/omg/CORBA/WStringSeqHolder.class new file mode 100644 index 00000000000..db4be911e9d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WStringSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WStringValueHelper.class b/libjava/classpath/lib/org/omg/CORBA/WStringValueHelper.class new file mode 100644 index 00000000000..6141425c7f6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WStringValueHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WrongTransaction.class b/libjava/classpath/lib/org/omg/CORBA/WrongTransaction.class new file mode 100644 index 00000000000..8bf2b631be4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WrongTransaction.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WrongTransactionHelper.class b/libjava/classpath/lib/org/omg/CORBA/WrongTransactionHelper.class new file mode 100644 index 00000000000..9c8fd658086 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WrongTransactionHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/WrongTransactionHolder.class b/libjava/classpath/lib/org/omg/CORBA/WrongTransactionHolder.class new file mode 100644 index 00000000000..fa842cf547e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/WrongTransactionHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class b/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class new file mode 100644 index 00000000000..1089845a36e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/_IDLTypeStub.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class b/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class new file mode 100644 index 00000000000..5e9267a9fd6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/_PolicyStub.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/ApplicationException.class b/libjava/classpath/lib/org/omg/CORBA/portable/ApplicationException.class new file mode 100644 index 00000000000..528ebbb2a15 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/ApplicationException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/BoxedValueHelper.class b/libjava/classpath/lib/org/omg/CORBA/portable/BoxedValueHelper.class new file mode 100644 index 00000000000..43ea1b1d0c1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/BoxedValueHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/CustomValue.class b/libjava/classpath/lib/org/omg/CORBA/portable/CustomValue.class new file mode 100644 index 00000000000..a06f1dfb473 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/CustomValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class b/libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class new file mode 100644 index 00000000000..d4900bef027 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/IDLEntity.class b/libjava/classpath/lib/org/omg/CORBA/portable/IDLEntity.class new file mode 100644 index 00000000000..c4f232e3a26 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/IDLEntity.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/IndirectionException.class b/libjava/classpath/lib/org/omg/CORBA/portable/IndirectionException.class new file mode 100644 index 00000000000..3e94ecc0796 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/IndirectionException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class b/libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class new file mode 100644 index 00000000000..a60458485e8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/InvokeHandler.class b/libjava/classpath/lib/org/omg/CORBA/portable/InvokeHandler.class new file mode 100644 index 00000000000..4ba4c20fe4f Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/InvokeHandler.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class b/libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class new file mode 100644 index 00000000000..3c4203072c4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/OutputStream.class b/libjava/classpath/lib/org/omg/CORBA/portable/OutputStream.class new file mode 100644 index 00000000000..6c8a629b4ee Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/OutputStream.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/RemarshalException.class b/libjava/classpath/lib/org/omg/CORBA/portable/RemarshalException.class new file mode 100644 index 00000000000..36d24fa1d73 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/RemarshalException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/ResponseHandler.class b/libjava/classpath/lib/org/omg/CORBA/portable/ResponseHandler.class new file mode 100644 index 00000000000..9d4456bde52 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/ResponseHandler.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/ServantObject.class b/libjava/classpath/lib/org/omg/CORBA/portable/ServantObject.class new file mode 100644 index 00000000000..79efe34094d Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/ServantObject.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/Streamable.class b/libjava/classpath/lib/org/omg/CORBA/portable/Streamable.class new file mode 100644 index 00000000000..4a965ae21ec Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/Streamable.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/StreamableValue.class b/libjava/classpath/lib/org/omg/CORBA/portable/StreamableValue.class new file mode 100644 index 00000000000..aac801248d2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/StreamableValue.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/UnknownException.class b/libjava/classpath/lib/org/omg/CORBA/portable/UnknownException.class new file mode 100644 index 00000000000..7d1451f060c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/UnknownException.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/ValueBase.class b/libjava/classpath/lib/org/omg/CORBA/portable/ValueBase.class new file mode 100644 index 00000000000..18a59c5ade0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/ValueBase.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA/portable/ValueFactory.class b/libjava/classpath/lib/org/omg/CORBA/portable/ValueFactory.class new file mode 100644 index 00000000000..ca077674d49 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA/portable/ValueFactory.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA_2_3/ORB.class b/libjava/classpath/lib/org/omg/CORBA_2_3/ORB.class new file mode 100644 index 00000000000..fea1383b731 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA_2_3/ORB.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA_2_3/portable/Delegate.class b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/Delegate.class new file mode 100644 index 00000000000..b3f57ec556c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/Delegate.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class new file mode 100644 index 00000000000..707fdbe5f3b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA_2_3/portable/ObjectImpl.class b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/ObjectImpl.class new file mode 100644 index 00000000000..ef1fb4b4ec5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/ObjectImpl.class differ diff --git a/libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class new file mode 100644 index 00000000000..7dd148569c1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/Binding.class b/libjava/classpath/lib/org/omg/CosNaming/Binding.class new file mode 100644 index 00000000000..d70850fe8bf Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/Binding.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingHelper.class b/libjava/classpath/lib/org/omg/CosNaming/BindingHelper.class new file mode 100644 index 00000000000..4638acc1cea Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingHolder.class b/libjava/classpath/lib/org/omg/CosNaming/BindingHolder.class new file mode 100644 index 00000000000..02a9ebd176e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingIterator.class b/libjava/classpath/lib/org/omg/CosNaming/BindingIterator.class new file mode 100644 index 00000000000..9bceec81737 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingIterator.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHelper.class b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHelper.class new file mode 100644 index 00000000000..6f4bbf5dfc7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHolder.class b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHolder.class new file mode 100644 index 00000000000..6b3a4c97fa6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorOperations.class b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorOperations.class new file mode 100644 index 00000000000..87e7ca41eb0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorPOA.class b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorPOA.class new file mode 100644 index 00000000000..e48edfa0133 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingIteratorPOA.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingListHelper.class b/libjava/classpath/lib/org/omg/CosNaming/BindingListHelper.class new file mode 100644 index 00000000000..ea612c8ad38 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingListHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingListHolder.class b/libjava/classpath/lib/org/omg/CosNaming/BindingListHolder.class new file mode 100644 index 00000000000..20367814575 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingListHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingType.class b/libjava/classpath/lib/org/omg/CosNaming/BindingType.class new file mode 100644 index 00000000000..8e4b93f1bc2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingType.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingTypeHelper.class b/libjava/classpath/lib/org/omg/CosNaming/BindingTypeHelper.class new file mode 100644 index 00000000000..49be7fbfa5b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingTypeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/BindingTypeHolder.class b/libjava/classpath/lib/org/omg/CosNaming/BindingTypeHolder.class new file mode 100644 index 00000000000..4457b08cf67 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/BindingTypeHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/IstringHelper.class b/libjava/classpath/lib/org/omg/CosNaming/IstringHelper.class new file mode 100644 index 00000000000..995487831fe Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/IstringHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NameComponent.class b/libjava/classpath/lib/org/omg/CosNaming/NameComponent.class new file mode 100644 index 00000000000..0911b99bae5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NameComponent.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NameComponentHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NameComponentHelper.class new file mode 100644 index 00000000000..465313d11c0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NameComponentHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NameComponentHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NameComponentHolder.class new file mode 100644 index 00000000000..8d25d8407de Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NameComponentHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NameHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NameHelper.class new file mode 100644 index 00000000000..236803e4c25 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NameHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NameHolder.class new file mode 100644 index 00000000000..8ebabc09ec3 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NameHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContext.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContext.class new file mode 100644 index 00000000000..81dac3a898a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContext.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExt.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExt.class new file mode 100644 index 00000000000..e15c49c8c58 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExt.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHelper.class new file mode 100644 index 00000000000..ba2e73e7869 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHolder.class new file mode 100644 index 00000000000..557d34868b0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtOperations.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtOperations.class new file mode 100644 index 00000000000..15d24fda36a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPOA.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPOA.class new file mode 100644 index 00000000000..4232306c61b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPOA.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.class new file mode 100644 index 00000000000..27c1454b638 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.class new file mode 100644 index 00000000000..d139ec4edaf Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.class new file mode 100644 index 00000000000..b9a73dfd5ec Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.class new file mode 100644 index 00000000000..cc79954250c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.class new file mode 100644 index 00000000000..fc6cbae5d1c Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.class new file mode 100644 index 00000000000..d01dea9f807 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextHelper.class new file mode 100644 index 00000000000..1dd0d29f7c1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextHolder.class new file mode 100644 index 00000000000..62e5e554afc Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextOperations.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextOperations.class new file mode 100644 index 00000000000..25c86bfaa46 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextOperations.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPOA.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPOA.class new file mode 100644 index 00000000000..27760f42c4b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPOA.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBound.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBound.class new file mode 100644 index 00000000000..dc87560a094 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBound.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.class new file mode 100644 index 00000000000..8c1dced9797 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.class new file mode 100644 index 00000000000..0a818278425 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceed.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceed.class new file mode 100644 index 00000000000..55d09f18ca5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceed.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.class new file mode 100644 index 00000000000..5a84c0138f1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.class new file mode 100644 index 00000000000..f9c6a20e5f7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidName.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidName.class new file mode 100644 index 00000000000..e61c917ad0a Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidName.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.class new file mode 100644 index 00000000000..75296619cae Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.class new file mode 100644 index 00000000000..1f46ccfd5a9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmpty.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmpty.class new file mode 100644 index 00000000000..800fd5348cd Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmpty.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.class new file mode 100644 index 00000000000..813858b497e Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.class new file mode 100644 index 00000000000..d791bd5bf69 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFound.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFound.class new file mode 100644 index 00000000000..29c48e20bf6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFound.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.class new file mode 100644 index 00000000000..1190bd77509 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.class new file mode 100644 index 00000000000..502132e6385 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReason.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReason.class new file mode 100644 index 00000000000..80e7d0e3c92 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReason.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.class new file mode 100644 index 00000000000..729fb72d709 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.class b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.class new file mode 100644 index 00000000000..772b53b3add Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorImplBase.class b/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorImplBase.class new file mode 100644 index 00000000000..2bc4a1a33f0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorImplBase.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class b/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class new file mode 100644 index 00000000000..d631bf3f467 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/_BindingIteratorStub.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtImplBase.class b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtImplBase.class new file mode 100644 index 00000000000..964365935e7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtImplBase.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class new file mode 100644 index 00000000000..00551d8035b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextExtStub.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextImplBase.class b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextImplBase.class new file mode 100644 index 00000000000..696990a037b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextImplBase.class differ diff --git a/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class new file mode 100644 index 00000000000..043b6f7605b Binary files /dev/null and b/libjava/classpath/lib/org/omg/CosNaming/_NamingContextStub.class differ diff --git a/libjava/classpath/lib/org/omg/Dynamic/Parameter.class b/libjava/classpath/lib/org/omg/Dynamic/Parameter.class new file mode 100644 index 00000000000..fed50ce0515 Binary files /dev/null and b/libjava/classpath/lib/org/omg/Dynamic/Parameter.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/AnySeqHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/AnySeqHelper.class new file mode 100644 index 00000000000..2abdf2bb613 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/AnySeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAny.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAny.class new file mode 100644 index 00000000000..458677f46af Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAny.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactory.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactory.class new file mode 100644 index 00000000000..3bbc3ce7ebf Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactory.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryHelper.class new file mode 100644 index 00000000000..6e78d70466d Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryOperations.class new file mode 100644 index 00000000000..86b8be5dabd Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.class new file mode 100644 index 00000000000..503b319155e Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.class new file mode 100644 index 00000000000..509fdb24154 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyHelper.class new file mode 100644 index 00000000000..91d5a91e7bf Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyOperations.class new file mode 100644 index 00000000000..5581d354753 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValue.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValue.class new file mode 100644 index 00000000000..1ba3db81e72 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValue.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.class new file mode 100644 index 00000000000..9a2fa22671b Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.class new file mode 100644 index 00000000000..a0a376fe0c7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.class new file mode 100644 index 00000000000..4eb8cf692c4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynAnySeqHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynAnySeqHelper.class new file mode 100644 index 00000000000..0d20bc3b567 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynAnySeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynArray.class b/libjava/classpath/lib/org/omg/DynamicAny/DynArray.class new file mode 100644 index 00000000000..5020891f99e Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynArray.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynArrayHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynArrayHelper.class new file mode 100644 index 00000000000..c207376dab4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynArrayHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynArrayOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynArrayOperations.class new file mode 100644 index 00000000000..5a8f1bae917 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynArrayOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynEnum.class b/libjava/classpath/lib/org/omg/DynamicAny/DynEnum.class new file mode 100644 index 00000000000..89403af1002 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynEnum.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynEnumHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynEnumHelper.class new file mode 100644 index 00000000000..df78cb05975 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynEnumHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynEnumOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynEnumOperations.class new file mode 100644 index 00000000000..485707f004b Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynEnumOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynFixed.class b/libjava/classpath/lib/org/omg/DynamicAny/DynFixed.class new file mode 100644 index 00000000000..4b7959709a8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynFixed.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynFixedHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynFixedHelper.class new file mode 100644 index 00000000000..d13af0faf22 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynFixedHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynFixedOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynFixedOperations.class new file mode 100644 index 00000000000..028007c3bde Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynFixedOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynSequence.class b/libjava/classpath/lib/org/omg/DynamicAny/DynSequence.class new file mode 100644 index 00000000000..96b8ef7c37f Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynSequence.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynSequenceHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynSequenceHelper.class new file mode 100644 index 00000000000..c64da94523b Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynSequenceHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynSequenceOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynSequenceOperations.class new file mode 100644 index 00000000000..66bdd7aa134 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynSequenceOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynStruct.class b/libjava/classpath/lib/org/omg/DynamicAny/DynStruct.class new file mode 100644 index 00000000000..a0875fd2d00 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynStruct.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynStructHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynStructHelper.class new file mode 100644 index 00000000000..2a3e6520ff1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynStructHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynStructOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynStructOperations.class new file mode 100644 index 00000000000..8a03e810bf0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynStructOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynUnion.class b/libjava/classpath/lib/org/omg/DynamicAny/DynUnion.class new file mode 100644 index 00000000000..f97d7beeb57 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynUnion.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynUnionHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynUnionHelper.class new file mode 100644 index 00000000000..f624ea49059 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynUnionHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynUnionOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynUnionOperations.class new file mode 100644 index 00000000000..04ac9ea406c Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynUnionOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValue.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValue.class new file mode 100644 index 00000000000..2a3ac74ee54 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValue.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValueBox.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValueBox.class new file mode 100644 index 00000000000..e86fe0ca649 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValueBox.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValueBoxOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValueBoxOperations.class new file mode 100644 index 00000000000..05ce9023410 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValueBoxOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValueCommon.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValueCommon.class new file mode 100644 index 00000000000..7bd8a4e4ea4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValueCommon.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValueCommonOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValueCommonOperations.class new file mode 100644 index 00000000000..55e9c058b97 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValueCommonOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValueHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValueHelper.class new file mode 100644 index 00000000000..feeab365be7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValueHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/DynValueOperations.class b/libjava/classpath/lib/org/omg/DynamicAny/DynValueOperations.class new file mode 100644 index 00000000000..26a6dad8604 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/DynValueOperations.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/FieldNameHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/FieldNameHelper.class new file mode 100644 index 00000000000..75c617c2ce9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/FieldNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPair.class b/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPair.class new file mode 100644 index 00000000000..cf7e0025b90 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPair.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairHelper.class new file mode 100644 index 00000000000..b83246e4c2d Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairSeqHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairSeqHelper.class new file mode 100644 index 00000000000..dcf5a77ecd0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/NameDynAnyPairSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/NameValuePair.class b/libjava/classpath/lib/org/omg/DynamicAny/NameValuePair.class new file mode 100644 index 00000000000..92a43f4296f Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/NameValuePair.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/NameValuePairHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/NameValuePairHelper.class new file mode 100644 index 00000000000..3425c4f4150 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/NameValuePairHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/NameValuePairSeqHelper.class b/libjava/classpath/lib/org/omg/DynamicAny/NameValuePairSeqHelper.class new file mode 100644 index 00000000000..6f5a36b2cfb Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/NameValuePairSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class new file mode 100644 index 00000000000..f86463f4847 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class new file mode 100644 index 00000000000..5e1fafded16 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class new file mode 100644 index 00000000000..4d3a705dd74 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class new file mode 100644 index 00000000000..c005cef95e1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class new file mode 100644 index 00000000000..9a6d99cd331 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class new file mode 100644 index 00000000000..6fe1051030b Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class new file mode 100644 index 00000000000..2cf9fa60d60 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class new file mode 100644 index 00000000000..c1428a3d7e4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class differ diff --git a/libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class b/libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class new file mode 100644 index 00000000000..a6f9e5d0718 Binary files /dev/null and b/libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodeSets.class b/libjava/classpath/lib/org/omg/IOP/CodeSets.class new file mode 100644 index 00000000000..6109b883143 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodeSets.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/Codec.class b/libjava/classpath/lib/org/omg/IOP/Codec.class new file mode 100644 index 00000000000..e42906370dd Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/Codec.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecFactory.class b/libjava/classpath/lib/org/omg/IOP/CodecFactory.class new file mode 100644 index 00000000000..2e41db477f6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecFactory.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecFactoryHelper.class b/libjava/classpath/lib/org/omg/IOP/CodecFactoryHelper.class new file mode 100644 index 00000000000..6d6d88623cc Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecFactoryHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecFactoryOperations.class b/libjava/classpath/lib/org/omg/IOP/CodecFactoryOperations.class new file mode 100644 index 00000000000..c33c151e99c Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecFactoryOperations.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.class b/libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.class new file mode 100644 index 00000000000..0e25aa501b6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.class b/libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.class new file mode 100644 index 00000000000..c058507929d Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecOperations.class b/libjava/classpath/lib/org/omg/IOP/CodecOperations.class new file mode 100644 index 00000000000..de771ce7a3f Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecOperations.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatch.class b/libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatch.class new file mode 100644 index 00000000000..95b341617b8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatch.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatchHelper.class b/libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatchHelper.class new file mode 100644 index 00000000000..68d86602f73 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecPackage/FormatMismatchHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.class b/libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.class new file mode 100644 index 00000000000..108645b425a Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.class b/libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.class new file mode 100644 index 00000000000..c66c4f4641b Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatch.class b/libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatch.class new file mode 100644 index 00000000000..b77ba837875 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatch.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatchHelper.class b/libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatchHelper.class new file mode 100644 index 00000000000..a22d353b1fc Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/CodecPackage/TypeMismatchHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ComponentIdHelper.class b/libjava/classpath/lib/org/omg/IOP/ComponentIdHelper.class new file mode 100644 index 00000000000..e728dd272a6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ComponentIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ENCODING_CDR_ENCAPS.class b/libjava/classpath/lib/org/omg/IOP/ENCODING_CDR_ENCAPS.class new file mode 100644 index 00000000000..978fce2d311 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ENCODING_CDR_ENCAPS.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/Encoding.class b/libjava/classpath/lib/org/omg/IOP/Encoding.class new file mode 100644 index 00000000000..7556fb37337 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/Encoding.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ExceptionDetailMessage.class b/libjava/classpath/lib/org/omg/IOP/ExceptionDetailMessage.class new file mode 100644 index 00000000000..68b7635be9e Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ExceptionDetailMessage.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/IOR.class b/libjava/classpath/lib/org/omg/IOP/IOR.class new file mode 100644 index 00000000000..bcd7eeeb11f Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/IOR.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/IORHelper.class b/libjava/classpath/lib/org/omg/IOP/IORHelper.class new file mode 100644 index 00000000000..fd40ff58064 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/IORHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/IORHolder.class b/libjava/classpath/lib/org/omg/IOP/IORHolder.class new file mode 100644 index 00000000000..5f6f159d7b6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/IORHolder.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHelper.class b/libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHelper.class new file mode 100644 index 00000000000..90a55f4873b Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHolder.class b/libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHolder.class new file mode 100644 index 00000000000..3e155593708 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/MultipleComponentProfileHolder.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ProfileIdHelper.class b/libjava/classpath/lib/org/omg/IOP/ProfileIdHelper.class new file mode 100644 index 00000000000..53d42b3969a Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ProfileIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/RMICustomMaxStreamFormat.class b/libjava/classpath/lib/org/omg/IOP/RMICustomMaxStreamFormat.class new file mode 100644 index 00000000000..c148217e591 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/RMICustomMaxStreamFormat.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ServiceContext.class b/libjava/classpath/lib/org/omg/IOP/ServiceContext.class new file mode 100644 index 00000000000..ce87e0d96ce Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ServiceContext.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ServiceContextHelper.class b/libjava/classpath/lib/org/omg/IOP/ServiceContextHelper.class new file mode 100644 index 00000000000..e89d8b70826 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ServiceContextHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ServiceContextHolder.class b/libjava/classpath/lib/org/omg/IOP/ServiceContextHolder.class new file mode 100644 index 00000000000..6a4f900a9e2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ServiceContextHolder.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ServiceContextListHelper.class b/libjava/classpath/lib/org/omg/IOP/ServiceContextListHelper.class new file mode 100644 index 00000000000..bbb4931dda4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ServiceContextListHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ServiceContextListHolder.class b/libjava/classpath/lib/org/omg/IOP/ServiceContextListHolder.class new file mode 100644 index 00000000000..9d8c1c99160 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ServiceContextListHolder.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/ServiceIdHelper.class b/libjava/classpath/lib/org/omg/IOP/ServiceIdHelper.class new file mode 100644 index 00000000000..6184d2d1994 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/ServiceIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.class b/libjava/classpath/lib/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.class new file mode 100644 index 00000000000..0e25b921311 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_CODE_SETS.class b/libjava/classpath/lib/org/omg/IOP/TAG_CODE_SETS.class new file mode 100644 index 00000000000..ec11356314b Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_CODE_SETS.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_INTERNET_IOP.class b/libjava/classpath/lib/org/omg/IOP/TAG_INTERNET_IOP.class new file mode 100644 index 00000000000..d91405894b1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_INTERNET_IOP.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_JAVA_CODEBASE.class b/libjava/classpath/lib/org/omg/IOP/TAG_JAVA_CODEBASE.class new file mode 100644 index 00000000000..4ad70a03c55 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_JAVA_CODEBASE.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.class b/libjava/classpath/lib/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.class new file mode 100644 index 00000000000..9e382231c52 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_ORB_TYPE.class b/libjava/classpath/lib/org/omg/IOP/TAG_ORB_TYPE.class new file mode 100644 index 00000000000..d22683e21cd Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_ORB_TYPE.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_POLICIES.class b/libjava/classpath/lib/org/omg/IOP/TAG_POLICIES.class new file mode 100644 index 00000000000..011cf550e58 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_POLICIES.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.class b/libjava/classpath/lib/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.class new file mode 100644 index 00000000000..509b595a269 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TaggedComponent.class b/libjava/classpath/lib/org/omg/IOP/TaggedComponent.class new file mode 100644 index 00000000000..ac20714f739 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TaggedComponent.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TaggedComponentHelper.class b/libjava/classpath/lib/org/omg/IOP/TaggedComponentHelper.class new file mode 100644 index 00000000000..cc440c77942 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TaggedComponentHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TaggedComponentHolder.class b/libjava/classpath/lib/org/omg/IOP/TaggedComponentHolder.class new file mode 100644 index 00000000000..f204f615b77 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TaggedComponentHolder.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TaggedProfile.class b/libjava/classpath/lib/org/omg/IOP/TaggedProfile.class new file mode 100644 index 00000000000..d5b79013613 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TaggedProfile.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TaggedProfileHelper.class b/libjava/classpath/lib/org/omg/IOP/TaggedProfileHelper.class new file mode 100644 index 00000000000..17061d4a1d6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TaggedProfileHelper.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TaggedProfileHolder.class b/libjava/classpath/lib/org/omg/IOP/TaggedProfileHolder.class new file mode 100644 index 00000000000..db3eb5f8683 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TaggedProfileHolder.class differ diff --git a/libjava/classpath/lib/org/omg/IOP/TransactionService.class b/libjava/classpath/lib/org/omg/IOP/TransactionService.class new file mode 100644 index 00000000000..2ae3b468276 Binary files /dev/null and b/libjava/classpath/lib/org/omg/IOP/TransactionService.class differ diff --git a/libjava/classpath/lib/org/omg/Messaging/SYNC_WITH_TRANSPORT.class b/libjava/classpath/lib/org/omg/Messaging/SYNC_WITH_TRANSPORT.class new file mode 100644 index 00000000000..e9d0ea24f3c Binary files /dev/null and b/libjava/classpath/lib/org/omg/Messaging/SYNC_WITH_TRANSPORT.class differ diff --git a/libjava/classpath/lib/org/omg/Messaging/SyncScopeHelper.class b/libjava/classpath/lib/org/omg/Messaging/SyncScopeHelper.class new file mode 100644 index 00000000000..c1da57963e6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/Messaging/SyncScopeHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ACTIVE.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ACTIVE.class new file mode 100644 index 00000000000..f62c2bb64c5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ACTIVE.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterManagerIdHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterManagerIdHelper.class new file mode 100644 index 00000000000..05fef01eb52 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterManagerIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterNameHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterNameHelper.class new file mode 100644 index 00000000000..e78eff0b72e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterStateHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterStateHelper.class new file mode 100644 index 00000000000..31b3082dfb7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/AdapterStateHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfo.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfo.class new file mode 100644 index 00000000000..fa6d2cb5423 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfo.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfoOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfoOperations.class new file mode 100644 index 00000000000..21f579a9fac Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInfoOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptor.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptor.class new file mode 100644 index 00000000000..a0da5d6c11a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptor.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.class new file mode 100644 index 00000000000..3f488761446 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/Current.class b/libjava/classpath/lib/org/omg/PortableInterceptor/Current.class new file mode 100644 index 00000000000..5bb5ae13fa5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/Current.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/CurrentHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/CurrentHelper.class new file mode 100644 index 00000000000..d705e2bc298 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/CurrentHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/CurrentOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/CurrentOperations.class new file mode 100644 index 00000000000..f277404f840 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/CurrentOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/DISCARDING.class b/libjava/classpath/lib/org/omg/PortableInterceptor/DISCARDING.class new file mode 100644 index 00000000000..a17951ffdca Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/DISCARDING.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequest.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequest.class new file mode 100644 index 00000000000..75dc5b3e8ea Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequest.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequestHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequestHelper.class new file mode 100644 index 00000000000..1586cf72764 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ForwardRequestHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/HOLDING.class b/libjava/classpath/lib/org/omg/PortableInterceptor/HOLDING.class new file mode 100644 index 00000000000..d8523871132 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/HOLDING.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/INACTIVE.class b/libjava/classpath/lib/org/omg/PortableInterceptor/INACTIVE.class new file mode 100644 index 00000000000..d9c8c70396c Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/INACTIVE.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInfo.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInfo.class new file mode 100644 index 00000000000..3993e938c90 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInfo.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInfoOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInfoOperations.class new file mode 100644 index 00000000000..72e5ab20d76 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInfoOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor.class new file mode 100644 index 00000000000..d00eb2eded8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptorOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptorOperations.class new file mode 100644 index 00000000000..da1fc220df4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0.class new file mode 100644 index 00000000000..8c05d479de6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.class new file mode 100644 index 00000000000..9ea358d095a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.class new file mode 100644 index 00000000000..c5f0a77c16b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.class new file mode 100644 index 00000000000..63fa9892a4f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/Interceptor.class b/libjava/classpath/lib/org/omg/PortableInterceptor/Interceptor.class new file mode 100644 index 00000000000..4984c4d3972 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/Interceptor.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/InterceptorOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/InterceptorOperations.class new file mode 100644 index 00000000000..8a4984a9c77 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/InterceptorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlot.class b/libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlot.class new file mode 100644 index 00000000000..dead3abd784 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlot.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlotHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlotHelper.class new file mode 100644 index 00000000000..f697ce5166a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/InvalidSlotHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/LOCATION_FORWARD.class b/libjava/classpath/lib/org/omg/PortableInterceptor/LOCATION_FORWARD.class new file mode 100644 index 00000000000..ed8d473c31e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/LOCATION_FORWARD.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/NON_EXISTENT.class b/libjava/classpath/lib/org/omg/PortableInterceptor/NON_EXISTENT.class new file mode 100644 index 00000000000..aa3216ccdd7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/NON_EXISTENT.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBIdHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBIdHelper.class new file mode 100644 index 00000000000..e2c94b8412b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfo.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfo.class new file mode 100644 index 00000000000..92e62b1e80e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfo.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoOperations.class new file mode 100644 index 00000000000..f12f9228ea6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.class new file mode 100644 index 00000000000..f872a4b568a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.class new file mode 100644 index 00000000000..bb483a9ab5f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.class new file mode 100644 index 00000000000..7e90bc1737a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.class new file mode 100644 index 00000000000..06a006b5f2f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.class new file mode 100644 index 00000000000..34ecdd04823 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializer.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializer.class new file mode 100644 index 00000000000..271a7d4f6b0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializer.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializerOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializerOperations.class new file mode 100644 index 00000000000..6c5788eeae9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ORBInitializerOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectIdHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectIdHelper.class new file mode 100644 index 00000000000..4cfc9cfad5b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactory.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactory.class new file mode 100644 index 00000000000..f5c1114155f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactory.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.class new file mode 100644 index 00000000000..77b24e7a2d7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.class new file mode 100644 index 00000000000..c1c714ee147 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplate.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplate.class new file mode 100644 index 00000000000..02bf2fbfb45 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplate.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.class new file mode 100644 index 00000000000..964b46c59c9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.class new file mode 100644 index 00000000000..92c3659c5cd Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.class new file mode 100644 index 00000000000..fb600584341 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.class new file mode 100644 index 00000000000..adaad2dcb39 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactory.class b/libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactory.class new file mode 100644 index 00000000000..3cfdecdc716 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactory.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactoryOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactoryOperations.class new file mode 100644 index 00000000000..980d6d27270 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/PolicyFactoryOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfo.class b/libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfo.class new file mode 100644 index 00000000000..279254ebb54 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfo.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfoOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfoOperations.class new file mode 100644 index 00000000000..ce12749a858 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/RequestInfoOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/SUCCESSFUL.class b/libjava/classpath/lib/org/omg/PortableInterceptor/SUCCESSFUL.class new file mode 100644 index 00000000000..1e9ce342eed Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/SUCCESSFUL.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.class b/libjava/classpath/lib/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.class new file mode 100644 index 00000000000..50894b2059c Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ServerIdHelper.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerIdHelper.class new file mode 100644 index 00000000000..5c85fbc7d9f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerIdHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfo.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfo.class new file mode 100644 index 00000000000..a04f5930074 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfo.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfoOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfoOperations.class new file mode 100644 index 00000000000..52366e313e3 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInfoOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptor.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptor.class new file mode 100644 index 00000000000..6cbd3de0cc2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptor.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.class b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.class new file mode 100644 index 00000000000..54b98bd5318 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/TRANSPORT_RETRY.class b/libjava/classpath/lib/org/omg/PortableInterceptor/TRANSPORT_RETRY.class new file mode 100644 index 00000000000..41eb816e0be Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/TRANSPORT_RETRY.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/USER_EXCEPTION.class b/libjava/classpath/lib/org/omg/PortableInterceptor/USER_EXCEPTION.class new file mode 100644 index 00000000000..ccde42904f9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/USER_EXCEPTION.class differ diff --git a/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class b/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class new file mode 100644 index 00000000000..c7d97cb2258 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/AdapterActivator.class b/libjava/classpath/lib/org/omg/PortableServer/AdapterActivator.class new file mode 100644 index 00000000000..3386cb87895 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/AdapterActivator.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/AdapterActivatorOperations.class b/libjava/classpath/lib/org/omg/PortableServer/AdapterActivatorOperations.class new file mode 100644 index 00000000000..522d77f99d1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/AdapterActivatorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/Current.class b/libjava/classpath/lib/org/omg/PortableServer/Current.class new file mode 100644 index 00000000000..314ba8fc81e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/Current.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/CurrentHelper.class b/libjava/classpath/lib/org/omg/PortableServer/CurrentHelper.class new file mode 100644 index 00000000000..3a79035c1c0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/CurrentHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/CurrentOperations.class b/libjava/classpath/lib/org/omg/PortableServer/CurrentOperations.class new file mode 100644 index 00000000000..992a9a1a6a9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/CurrentOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContext.class b/libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContext.class new file mode 100644 index 00000000000..65cc6667c7e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContext.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContextHelper.class b/libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContextHelper.class new file mode 100644 index 00000000000..2a84b31a0b9 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/CurrentPackage/NoContextHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/DynamicImplementation.class b/libjava/classpath/lib/org/omg/PortableServer/DynamicImplementation.class new file mode 100644 index 00000000000..181dafec033 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/DynamicImplementation.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ForwardRequest.class b/libjava/classpath/lib/org/omg/PortableServer/ForwardRequest.class new file mode 100644 index 00000000000..9d2fc9ce146 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ForwardRequest.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ForwardRequestHelper.class b/libjava/classpath/lib/org/omg/PortableServer/ForwardRequestHelper.class new file mode 100644 index 00000000000..f2759d58568 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ForwardRequestHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.class new file mode 100644 index 00000000000..412e80bef69 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.class new file mode 100644 index 00000000000..9152545a5bf Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.class new file mode 100644 index 00000000000..f293f42156b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicy.class new file mode 100644 index 00000000000..1ea60bb3ac1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyOperations.class new file mode 100644 index 00000000000..8ca64c3eb7f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyValue.class new file mode 100644 index 00000000000..5f28c46dd47 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IdAssignmentPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicy.class new file mode 100644 index 00000000000..05e41ed83f0 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyOperations.class new file mode 100644 index 00000000000..f1d2686e811 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyValue.class new file mode 100644 index 00000000000..be1654aa132 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/IdUniquenessPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicy.class new file mode 100644 index 00000000000..6ca99987849 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyOperations.class new file mode 100644 index 00000000000..0b56ff4f1ad Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyValue.class new file mode 100644 index 00000000000..6a947d402da Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ImplicitActivationPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/LIFESPAN_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/LIFESPAN_POLICY_ID.class new file mode 100644 index 00000000000..37d54b993a4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/LIFESPAN_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicy.class new file mode 100644 index 00000000000..3e91a61edb8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyOperations.class new file mode 100644 index 00000000000..846b5d5c70e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyValue.class new file mode 100644 index 00000000000..368b9e4b786 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/LifespanPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POA.class b/libjava/classpath/lib/org/omg/PortableServer/POA.class new file mode 100644 index 00000000000..a6efbc9d0e2 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POA.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAHelper.class new file mode 100644 index 00000000000..e66809f7f9d Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAManager.class b/libjava/classpath/lib/org/omg/PortableServer/POAManager.class new file mode 100644 index 00000000000..7b87924561c Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAManager.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAManagerOperations.class b/libjava/classpath/lib/org/omg/PortableServer/POAManagerOperations.class new file mode 100644 index 00000000000..91ed0cd09d1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAManagerOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactive.class b/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactive.class new file mode 100644 index 00000000000..c0ea5bd5c4b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactive.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.class new file mode 100644 index 00000000000..6e79f378b85 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/State.class b/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/State.class new file mode 100644 index 00000000000..76a3b3b6908 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAManagerPackage/State.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAOperations.class b/libjava/classpath/lib/org/omg/PortableServer/POAOperations.class new file mode 100644 index 00000000000..478941c0dc1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.class new file mode 100644 index 00000000000..5e9ffe5b944 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.class new file mode 100644 index 00000000000..2dfc3a1e33e Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistent.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistent.class new file mode 100644 index 00000000000..b09e0f48834 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistent.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.class new file mode 100644 index 00000000000..5de0e15b986 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicy.class new file mode 100644 index 00000000000..62e0779fc74 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.class new file mode 100644 index 00000000000..f37dd6c52e6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServant.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServant.class new file mode 100644 index 00000000000..b34ae168a1a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServant.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServantHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServantHelper.class new file mode 100644 index 00000000000..aceb6f39005 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/NoServantHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.class new file mode 100644 index 00000000000..735333ac4f8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.class new file mode 100644 index 00000000000..e3c87092904 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActive.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActive.class new file mode 100644 index 00000000000..12158c15c5b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActive.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.class new file mode 100644 index 00000000000..35c98fa61c8 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActive.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActive.class new file mode 100644 index 00000000000..05311dab760 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActive.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.class new file mode 100644 index 00000000000..e21d26b912c Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActive.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActive.class new file mode 100644 index 00000000000..9bb2d41298a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActive.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.class new file mode 100644 index 00000000000..21a32d107ca Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapter.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapter.class new file mode 100644 index 00000000000..435f57c7b1b Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapter.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapterHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapterHelper.class new file mode 100644 index 00000000000..098b707e3ae Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongAdapterHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicy.class new file mode 100644 index 00000000000..378e7cdb464 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicyHelper.class b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicyHelper.class new file mode 100644 index 00000000000..9419d796495 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/POAPackage/WrongPolicyHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.class new file mode 100644 index 00000000000..5d33c123cf5 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicy.class new file mode 100644 index 00000000000..69f179430e7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyOperations.class new file mode 100644 index 00000000000..f9c6bdf1a2f Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyValue.class new file mode 100644 index 00000000000..cf9025528a4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/RequestProcessingPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.class new file mode 100644 index 00000000000..99eac73fb47 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/Servant.class b/libjava/classpath/lib/org/omg/PortableServer/Servant.class new file mode 100644 index 00000000000..7baf1f12726 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/Servant.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantActivator.class b/libjava/classpath/lib/org/omg/PortableServer/ServantActivator.class new file mode 100644 index 00000000000..2e31cdcd3bb Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantActivator.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorHelper.class b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorHelper.class new file mode 100644 index 00000000000..8fe337b3834 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorOperations.class b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorOperations.class new file mode 100644 index 00000000000..6e5433d72d7 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA$delegator.class b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA$delegator.class new file mode 100644 index 00000000000..b6f0ca67762 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA$delegator.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA.class b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA.class new file mode 100644 index 00000000000..1d584195e83 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantActivatorPOA.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantLocator.class b/libjava/classpath/lib/org/omg/PortableServer/ServantLocator.class new file mode 100644 index 00000000000..10ae566e4ce Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantLocator.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorHelper.class b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorHelper.class new file mode 100644 index 00000000000..e85bcd71bcc Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorHelper.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorOperations.class b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorOperations.class new file mode 100644 index 00000000000..1a9b35a3112 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA$delegator.class b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA$delegator.class new file mode 100644 index 00000000000..77b49fe8abe Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA$delegator.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA.class b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA.class new file mode 100644 index 00000000000..7963edeab3a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPOA.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.class b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.class new file mode 100644 index 00000000000..808ffdff07d Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantManager.class b/libjava/classpath/lib/org/omg/PortableServer/ServantManager.class new file mode 100644 index 00000000000..6fc2ead96d1 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantManager.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantManagerOperations.class b/libjava/classpath/lib/org/omg/PortableServer/ServantManagerOperations.class new file mode 100644 index 00000000000..e24e934d968 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantManagerOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicy.class new file mode 100644 index 00000000000..33265730d15 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyOperations.class new file mode 100644 index 00000000000..7cac545db30 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyValue.class new file mode 100644 index 00000000000..1b04d669955 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ServantRetentionPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/THREAD_POLICY_ID.class b/libjava/classpath/lib/org/omg/PortableServer/THREAD_POLICY_ID.class new file mode 100644 index 00000000000..616b5c884c4 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/THREAD_POLICY_ID.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicy.class b/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicy.class new file mode 100644 index 00000000000..0d67177a924 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicy.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyOperations.class b/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyOperations.class new file mode 100644 index 00000000000..a290f224f85 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyOperations.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyValue.class b/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyValue.class new file mode 100644 index 00000000000..f810fd1d47a Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/ThreadPolicyValue.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class b/libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class new file mode 100644 index 00000000000..51fbbae24d6 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class b/libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class new file mode 100644 index 00000000000..24aa49d5e78 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class differ diff --git a/libjava/classpath/lib/org/omg/PortableServer/portable/Delegate.class b/libjava/classpath/lib/org/omg/PortableServer/portable/Delegate.class new file mode 100644 index 00000000000..6ceb6e0daa3 Binary files /dev/null and b/libjava/classpath/lib/org/omg/PortableServer/portable/Delegate.class differ diff --git a/libjava/classpath/lib/org/omg/SendingContext/RunTime.class b/libjava/classpath/lib/org/omg/SendingContext/RunTime.class new file mode 100644 index 00000000000..55fbc575e50 Binary files /dev/null and b/libjava/classpath/lib/org/omg/SendingContext/RunTime.class differ diff --git a/libjava/classpath/lib/org/omg/SendingContext/RunTimeOperations.class b/libjava/classpath/lib/org/omg/SendingContext/RunTimeOperations.class new file mode 100644 index 00000000000..c1ef821014c Binary files /dev/null and b/libjava/classpath/lib/org/omg/SendingContext/RunTimeOperations.class differ diff --git a/libjava/classpath/lib/org/omg/stub/java/rmi/_Remote_Stub.class b/libjava/classpath/lib/org/omg/stub/java/rmi/_Remote_Stub.class new file mode 100644 index 00000000000..021fbde7d53 Binary files /dev/null and b/libjava/classpath/lib/org/omg/stub/java/rmi/_Remote_Stub.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/Datatype.class b/libjava/classpath/lib/org/relaxng/datatype/Datatype.class new file mode 100644 index 00000000000..727dadd61b5 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/Datatype.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/DatatypeBuilder.class b/libjava/classpath/lib/org/relaxng/datatype/DatatypeBuilder.class new file mode 100644 index 00000000000..0842ac94c34 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/DatatypeBuilder.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/DatatypeException.class b/libjava/classpath/lib/org/relaxng/datatype/DatatypeException.class new file mode 100644 index 00000000000..05bf9ed8141 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/DatatypeException.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/DatatypeLibrary.class b/libjava/classpath/lib/org/relaxng/datatype/DatatypeLibrary.class new file mode 100644 index 00000000000..ac751295384 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/DatatypeLibrary.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/DatatypeLibraryFactory.class b/libjava/classpath/lib/org/relaxng/datatype/DatatypeLibraryFactory.class new file mode 100644 index 00000000000..1ea738d6556 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/DatatypeLibraryFactory.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/DatatypeStreamingValidator.class b/libjava/classpath/lib/org/relaxng/datatype/DatatypeStreamingValidator.class new file mode 100644 index 00000000000..bf48191b22e Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/DatatypeStreamingValidator.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/ValidationContext.class b/libjava/classpath/lib/org/relaxng/datatype/ValidationContext.class new file mode 100644 index 00000000000..f60648d5a96 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/ValidationContext.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class new file mode 100644 index 00000000000..20f833b7e16 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class new file mode 100644 index 00000000000..08e660a92ce Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.class new file mode 100644 index 00000000000..6b39f8064c5 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.class new file mode 100644 index 00000000000..64b8cc09988 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class new file mode 100644 index 00000000000..72fbfc32fa0 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader.class new file mode 100644 index 00000000000..9662f62cdec Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/DatatypeLibraryLoader.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.class new file mode 100644 index 00000000000..18ebd721f5e Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.class differ diff --git a/libjava/classpath/lib/org/relaxng/datatype/helpers/StreamingValidatorImpl.class b/libjava/classpath/lib/org/relaxng/datatype/helpers/StreamingValidatorImpl.class new file mode 100644 index 00000000000..39a497d2d74 Binary files /dev/null and b/libjava/classpath/lib/org/relaxng/datatype/helpers/StreamingValidatorImpl.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Attr.class b/libjava/classpath/lib/org/w3c/dom/Attr.class new file mode 100644 index 00000000000..1ff7f985b79 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Attr.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/CDATASection.class b/libjava/classpath/lib/org/w3c/dom/CDATASection.class new file mode 100644 index 00000000000..349b07a9f48 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/CDATASection.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/CharacterData.class b/libjava/classpath/lib/org/w3c/dom/CharacterData.class new file mode 100644 index 00000000000..94a4a68ef65 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/CharacterData.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Comment.class b/libjava/classpath/lib/org/w3c/dom/Comment.class new file mode 100644 index 00000000000..88657114f26 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Comment.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMConfiguration.class b/libjava/classpath/lib/org/w3c/dom/DOMConfiguration.class new file mode 100644 index 00000000000..d74b669757a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMConfiguration.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMError.class b/libjava/classpath/lib/org/w3c/dom/DOMError.class new file mode 100644 index 00000000000..703971cf49e Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMError.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMErrorHandler.class b/libjava/classpath/lib/org/w3c/dom/DOMErrorHandler.class new file mode 100644 index 00000000000..07d3c23a13c Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMErrorHandler.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMException.class b/libjava/classpath/lib/org/w3c/dom/DOMException.class new file mode 100644 index 00000000000..b6ad41d6c56 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMException.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMImplementation.class b/libjava/classpath/lib/org/w3c/dom/DOMImplementation.class new file mode 100644 index 00000000000..140b96dae03 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMImplementation.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMImplementationList.class b/libjava/classpath/lib/org/w3c/dom/DOMImplementationList.class new file mode 100644 index 00000000000..2673fc36fbd Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMImplementationList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMImplementationSource.class b/libjava/classpath/lib/org/w3c/dom/DOMImplementationSource.class new file mode 100644 index 00000000000..02389cb27e2 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMImplementationSource.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMLocator.class b/libjava/classpath/lib/org/w3c/dom/DOMLocator.class new file mode 100644 index 00000000000..a73d8ce1aec Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMLocator.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DOMStringList.class b/libjava/classpath/lib/org/w3c/dom/DOMStringList.class new file mode 100644 index 00000000000..d30c4eb087f Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DOMStringList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Document.class b/libjava/classpath/lib/org/w3c/dom/Document.class new file mode 100644 index 00000000000..8537d9d1a62 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Document.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DocumentFragment.class b/libjava/classpath/lib/org/w3c/dom/DocumentFragment.class new file mode 100644 index 00000000000..8c5f4ac3574 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DocumentFragment.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/DocumentType.class b/libjava/classpath/lib/org/w3c/dom/DocumentType.class new file mode 100644 index 00000000000..f825c1523dd Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/DocumentType.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Element.class b/libjava/classpath/lib/org/w3c/dom/Element.class new file mode 100644 index 00000000000..a7a3997fd4e Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Element.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Entity.class b/libjava/classpath/lib/org/w3c/dom/Entity.class new file mode 100644 index 00000000000..08e290b0ff3 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Entity.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/EntityReference.class b/libjava/classpath/lib/org/w3c/dom/EntityReference.class new file mode 100644 index 00000000000..05337119a5d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/EntityReference.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/NameList.class b/libjava/classpath/lib/org/w3c/dom/NameList.class new file mode 100644 index 00000000000..79f3c255de2 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/NameList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/NamedNodeMap.class b/libjava/classpath/lib/org/w3c/dom/NamedNodeMap.class new file mode 100644 index 00000000000..e90bfc641be Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/NamedNodeMap.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Node.class b/libjava/classpath/lib/org/w3c/dom/Node.class new file mode 100644 index 00000000000..5684f2520ea Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Node.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/NodeList.class b/libjava/classpath/lib/org/w3c/dom/NodeList.class new file mode 100644 index 00000000000..65e13f68f62 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/NodeList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Notation.class b/libjava/classpath/lib/org/w3c/dom/Notation.class new file mode 100644 index 00000000000..003e5740c68 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Notation.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ProcessingInstruction.class b/libjava/classpath/lib/org/w3c/dom/ProcessingInstruction.class new file mode 100644 index 00000000000..48a7bf07232 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ProcessingInstruction.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/Text.class b/libjava/classpath/lib/org/w3c/dom/Text.class new file mode 100644 index 00000000000..fd5bf5bfee7 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/Text.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/TypeInfo.class b/libjava/classpath/lib/org/w3c/dom/TypeInfo.class new file mode 100644 index 00000000000..b8f34b721a6 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/TypeInfo.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/UserDataHandler.class b/libjava/classpath/lib/org/w3c/dom/UserDataHandler.class new file mode 100644 index 00000000000..09ebf03cccf Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/UserDataHandler.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class new file mode 100644 index 00000000000..c6cc33659b7 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class new file mode 100644 index 00000000000..6b7def77001 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class new file mode 100644 index 00000000000..d36762500e9 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class new file mode 100644 index 00000000000..4e6b46fb869 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class new file mode 100644 index 00000000000..8c24a81a58d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/bootstrap/DOMImplementationRegistry.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSS2Properties.class b/libjava/classpath/lib/org/w3c/dom/css/CSS2Properties.class new file mode 100644 index 00000000000..0bff07ee668 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSS2Properties.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSCharsetRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSCharsetRule.class new file mode 100644 index 00000000000..e00dd474043 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSCharsetRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSFontFaceRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSFontFaceRule.class new file mode 100644 index 00000000000..baca5f88371 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSFontFaceRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSImportRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSImportRule.class new file mode 100644 index 00000000000..885b973b061 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSImportRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSMediaRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSMediaRule.class new file mode 100644 index 00000000000..2670322ed4f Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSMediaRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSPageRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSPageRule.class new file mode 100644 index 00000000000..b65d865a6c1 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSPageRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSPrimitiveValue.class b/libjava/classpath/lib/org/w3c/dom/css/CSSPrimitiveValue.class new file mode 100644 index 00000000000..0caa85ef512 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSPrimitiveValue.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSRule.class new file mode 100644 index 00000000000..239b88c0ee5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSRuleList.class b/libjava/classpath/lib/org/w3c/dom/css/CSSRuleList.class new file mode 100644 index 00000000000..4a79b00e584 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSRuleList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSStyleDeclaration.class b/libjava/classpath/lib/org/w3c/dom/css/CSSStyleDeclaration.class new file mode 100644 index 00000000000..2756453e944 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSStyleDeclaration.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSStyleRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSStyleRule.class new file mode 100644 index 00000000000..7527c9fe278 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSStyleRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSStyleSheet.class b/libjava/classpath/lib/org/w3c/dom/css/CSSStyleSheet.class new file mode 100644 index 00000000000..297c66f0fb1 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSStyleSheet.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSUnknownRule.class b/libjava/classpath/lib/org/w3c/dom/css/CSSUnknownRule.class new file mode 100644 index 00000000000..329979cc22d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSUnknownRule.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSValue.class b/libjava/classpath/lib/org/w3c/dom/css/CSSValue.class new file mode 100644 index 00000000000..e5e1789809f Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSValue.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/CSSValueList.class b/libjava/classpath/lib/org/w3c/dom/css/CSSValueList.class new file mode 100644 index 00000000000..7b98111dbfd Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/CSSValueList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/Counter.class b/libjava/classpath/lib/org/w3c/dom/css/Counter.class new file mode 100644 index 00000000000..be680c49c4b Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/Counter.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/DOMImplementationCSS.class b/libjava/classpath/lib/org/w3c/dom/css/DOMImplementationCSS.class new file mode 100644 index 00000000000..73c918f1c3c Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/DOMImplementationCSS.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/DocumentCSS.class b/libjava/classpath/lib/org/w3c/dom/css/DocumentCSS.class new file mode 100644 index 00000000000..c8a76c602c3 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/DocumentCSS.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/ElementCSSInlineStyle.class b/libjava/classpath/lib/org/w3c/dom/css/ElementCSSInlineStyle.class new file mode 100644 index 00000000000..b077d0d223b Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/ElementCSSInlineStyle.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/RGBColor.class b/libjava/classpath/lib/org/w3c/dom/css/RGBColor.class new file mode 100644 index 00000000000..e2b399d11c6 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/RGBColor.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/Rect.class b/libjava/classpath/lib/org/w3c/dom/css/Rect.class new file mode 100644 index 00000000000..9bb8cbd7b51 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/Rect.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/css/ViewCSS.class b/libjava/classpath/lib/org/w3c/dom/css/ViewCSS.class new file mode 100644 index 00000000000..74b7a997d6f Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/css/ViewCSS.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/DocumentEvent.class b/libjava/classpath/lib/org/w3c/dom/events/DocumentEvent.class new file mode 100644 index 00000000000..8466c9b74db Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/DocumentEvent.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/Event.class b/libjava/classpath/lib/org/w3c/dom/events/Event.class new file mode 100644 index 00000000000..7d906cacc71 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/Event.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/EventException.class b/libjava/classpath/lib/org/w3c/dom/events/EventException.class new file mode 100644 index 00000000000..c1edb4ba3cd Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/EventException.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/EventListener.class b/libjava/classpath/lib/org/w3c/dom/events/EventListener.class new file mode 100644 index 00000000000..6630f8e6f1d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/EventListener.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/EventTarget.class b/libjava/classpath/lib/org/w3c/dom/events/EventTarget.class new file mode 100644 index 00000000000..8eab3078bea Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/EventTarget.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/MouseEvent.class b/libjava/classpath/lib/org/w3c/dom/events/MouseEvent.class new file mode 100644 index 00000000000..53e18a10bce Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/MouseEvent.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/MutationEvent.class b/libjava/classpath/lib/org/w3c/dom/events/MutationEvent.class new file mode 100644 index 00000000000..1c7d925c426 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/MutationEvent.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/events/UIEvent.class b/libjava/classpath/lib/org/w3c/dom/events/UIEvent.class new file mode 100644 index 00000000000..edbc0b9d287 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/events/UIEvent.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLAnchorElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLAnchorElement.class new file mode 100644 index 00000000000..d97d1a34d2d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLAnchorElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLAppletElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLAppletElement.class new file mode 100644 index 00000000000..902fc0375b0 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLAppletElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLAreaElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLAreaElement.class new file mode 100644 index 00000000000..e98ef6caf7a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLAreaElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLBRElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBRElement.class new file mode 100644 index 00000000000..4f79f902c23 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBRElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseElement.class new file mode 100644 index 00000000000..4d88a303efc Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseFontElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseFontElement.class new file mode 100644 index 00000000000..9425db7d5c0 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBaseFontElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLBodyElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBodyElement.class new file mode 100644 index 00000000000..c24b897867a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLBodyElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLButtonElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLButtonElement.class new file mode 100644 index 00000000000..82cd95c7236 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLButtonElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLCollection.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLCollection.class new file mode 100644 index 00000000000..198818a5ff0 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLCollection.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLDListElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDListElement.class new file mode 100644 index 00000000000..d119b0bbde1 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDListElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLDirectoryElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDirectoryElement.class new file mode 100644 index 00000000000..8ac3813dd35 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDirectoryElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLDivElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDivElement.class new file mode 100644 index 00000000000..b793b122f4d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDivElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLDocument.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDocument.class new file mode 100644 index 00000000000..6ab518cf259 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLDocument.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLElement.class new file mode 100644 index 00000000000..5c685949e20 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLFieldSetElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFieldSetElement.class new file mode 100644 index 00000000000..60c8e114261 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFieldSetElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLFontElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFontElement.class new file mode 100644 index 00000000000..041d133f901 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFontElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLFormElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFormElement.class new file mode 100644 index 00000000000..6f0fc70f010 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFormElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameElement.class new file mode 100644 index 00000000000..98027df47a8 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameSetElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameSetElement.class new file mode 100644 index 00000000000..acb6eea3050 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLFrameSetElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLHRElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHRElement.class new file mode 100644 index 00000000000..cb369464934 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHRElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadElement.class new file mode 100644 index 00000000000..4d1d9d27ef2 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadingElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadingElement.class new file mode 100644 index 00000000000..7dec3e97ba1 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHeadingElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLHtmlElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHtmlElement.class new file mode 100644 index 00000000000..b0d9f0b2b97 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLHtmlElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLIFrameElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLIFrameElement.class new file mode 100644 index 00000000000..ad1f0ba2094 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLIFrameElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLImageElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLImageElement.class new file mode 100644 index 00000000000..db3786aee06 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLImageElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLInputElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLInputElement.class new file mode 100644 index 00000000000..45b2f2ab942 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLInputElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLIsIndexElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLIsIndexElement.class new file mode 100644 index 00000000000..306ee6392e7 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLIsIndexElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLLIElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLIElement.class new file mode 100644 index 00000000000..e309abc009b Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLIElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLLabelElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLabelElement.class new file mode 100644 index 00000000000..478882a400d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLabelElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLLegendElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLegendElement.class new file mode 100644 index 00000000000..ead0f416bd3 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLegendElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLLinkElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLinkElement.class new file mode 100644 index 00000000000..58bc1f2181b Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLLinkElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLMapElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLMapElement.class new file mode 100644 index 00000000000..dc90e7d09ca Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLMapElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLMenuElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLMenuElement.class new file mode 100644 index 00000000000..72fff70987d Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLMenuElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLMetaElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLMetaElement.class new file mode 100644 index 00000000000..303de700863 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLMetaElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLModElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLModElement.class new file mode 100644 index 00000000000..ed36efb33ad Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLModElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLOListElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOListElement.class new file mode 100644 index 00000000000..a3d4e02ef6a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOListElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLObjectElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLObjectElement.class new file mode 100644 index 00000000000..5e598bb3ed0 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLObjectElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptGroupElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptGroupElement.class new file mode 100644 index 00000000000..f761f41e011 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptGroupElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionElement.class new file mode 100644 index 00000000000..c63938392e5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionsCollection.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionsCollection.class new file mode 100644 index 00000000000..ab3364ceb22 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLOptionsCollection.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLParagraphElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLParagraphElement.class new file mode 100644 index 00000000000..4332a69860b Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLParagraphElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLParamElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLParamElement.class new file mode 100644 index 00000000000..de95836211a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLParamElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLPreElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLPreElement.class new file mode 100644 index 00000000000..df42293b04a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLPreElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLQuoteElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLQuoteElement.class new file mode 100644 index 00000000000..5eb553fdb65 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLQuoteElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLScriptElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLScriptElement.class new file mode 100644 index 00000000000..f7b8cab2bcc Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLScriptElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLSelectElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLSelectElement.class new file mode 100644 index 00000000000..1e5820d0782 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLSelectElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLStyleElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLStyleElement.class new file mode 100644 index 00000000000..4d63090ba30 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLStyleElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCaptionElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCaptionElement.class new file mode 100644 index 00000000000..675127efb96 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCaptionElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCellElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCellElement.class new file mode 100644 index 00000000000..2dc70df30c5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableCellElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableColElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableColElement.class new file mode 100644 index 00000000000..56a2f824438 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableColElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableElement.class new file mode 100644 index 00000000000..ffdb2320cf7 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableRowElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableRowElement.class new file mode 100644 index 00000000000..37e60fcf2ce Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableRowElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableSectionElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableSectionElement.class new file mode 100644 index 00000000000..0777a90b216 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTableSectionElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTextAreaElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTextAreaElement.class new file mode 100644 index 00000000000..0b11d084e1e Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTextAreaElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLTitleElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTitleElement.class new file mode 100644 index 00000000000..19898ab8645 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLTitleElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/html2/HTMLUListElement.class b/libjava/classpath/lib/org/w3c/dom/html2/HTMLUListElement.class new file mode 100644 index 00000000000..4b02b5f4738 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/html2/HTMLUListElement.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/DOMImplementationLS.class b/libjava/classpath/lib/org/w3c/dom/ls/DOMImplementationLS.class new file mode 100644 index 00000000000..2b5479c87e3 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/DOMImplementationLS.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSException.class b/libjava/classpath/lib/org/w3c/dom/ls/LSException.class new file mode 100644 index 00000000000..7f64d601cb8 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSException.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSInput.class b/libjava/classpath/lib/org/w3c/dom/ls/LSInput.class new file mode 100644 index 00000000000..b778c121062 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSInput.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSLoadEvent.class b/libjava/classpath/lib/org/w3c/dom/ls/LSLoadEvent.class new file mode 100644 index 00000000000..ae45f85c154 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSLoadEvent.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSOutput.class b/libjava/classpath/lib/org/w3c/dom/ls/LSOutput.class new file mode 100644 index 00000000000..2fb4be066c1 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSOutput.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSParser.class b/libjava/classpath/lib/org/w3c/dom/ls/LSParser.class new file mode 100644 index 00000000000..c12315558c4 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSParser.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSParserFilter.class b/libjava/classpath/lib/org/w3c/dom/ls/LSParserFilter.class new file mode 100644 index 00000000000..28edfdcdd3f Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSParserFilter.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSProgressEvent.class b/libjava/classpath/lib/org/w3c/dom/ls/LSProgressEvent.class new file mode 100644 index 00000000000..5986f976f59 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSProgressEvent.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSResourceResolver.class b/libjava/classpath/lib/org/w3c/dom/ls/LSResourceResolver.class new file mode 100644 index 00000000000..7b9f77b971a Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSResourceResolver.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSSerializer.class b/libjava/classpath/lib/org/w3c/dom/ls/LSSerializer.class new file mode 100644 index 00000000000..05753be6055 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSSerializer.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ls/LSSerializerFilter.class b/libjava/classpath/lib/org/w3c/dom/ls/LSSerializerFilter.class new file mode 100644 index 00000000000..b3aeaecdbec Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ls/LSSerializerFilter.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ranges/DocumentRange.class b/libjava/classpath/lib/org/w3c/dom/ranges/DocumentRange.class new file mode 100644 index 00000000000..fcf542e9b17 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ranges/DocumentRange.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ranges/Range.class b/libjava/classpath/lib/org/w3c/dom/ranges/Range.class new file mode 100644 index 00000000000..a8604967a09 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ranges/Range.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/ranges/RangeException.class b/libjava/classpath/lib/org/w3c/dom/ranges/RangeException.class new file mode 100644 index 00000000000..fa743a0d031 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/ranges/RangeException.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/stylesheets/DocumentStyle.class b/libjava/classpath/lib/org/w3c/dom/stylesheets/DocumentStyle.class new file mode 100644 index 00000000000..6d13a349230 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/stylesheets/DocumentStyle.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/stylesheets/LinkStyle.class b/libjava/classpath/lib/org/w3c/dom/stylesheets/LinkStyle.class new file mode 100644 index 00000000000..00082f811b5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/stylesheets/LinkStyle.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/stylesheets/MediaList.class b/libjava/classpath/lib/org/w3c/dom/stylesheets/MediaList.class new file mode 100644 index 00000000000..eb06e5d25f8 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/stylesheets/MediaList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheet.class b/libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheet.class new file mode 100644 index 00000000000..f3a6907d6b5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheet.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheetList.class b/libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheetList.class new file mode 100644 index 00000000000..f1ce31002a5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/stylesheets/StyleSheetList.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/traversal/DocumentTraversal.class b/libjava/classpath/lib/org/w3c/dom/traversal/DocumentTraversal.class new file mode 100644 index 00000000000..fb9b6381070 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/traversal/DocumentTraversal.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/traversal/NodeFilter.class b/libjava/classpath/lib/org/w3c/dom/traversal/NodeFilter.class new file mode 100644 index 00000000000..ae2acdab7ac Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/traversal/NodeFilter.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/traversal/NodeIterator.class b/libjava/classpath/lib/org/w3c/dom/traversal/NodeIterator.class new file mode 100644 index 00000000000..fa0265be9f7 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/traversal/NodeIterator.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/traversal/TreeWalker.class b/libjava/classpath/lib/org/w3c/dom/traversal/TreeWalker.class new file mode 100644 index 00000000000..08bdbea5135 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/traversal/TreeWalker.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/views/AbstractView.class b/libjava/classpath/lib/org/w3c/dom/views/AbstractView.class new file mode 100644 index 00000000000..fc2f1fe053c Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/views/AbstractView.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/views/DocumentView.class b/libjava/classpath/lib/org/w3c/dom/views/DocumentView.class new file mode 100644 index 00000000000..013d1716187 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/views/DocumentView.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/xpath/XPathEvaluator.class b/libjava/classpath/lib/org/w3c/dom/xpath/XPathEvaluator.class new file mode 100644 index 00000000000..4999764b45b Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/xpath/XPathEvaluator.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/xpath/XPathException.class b/libjava/classpath/lib/org/w3c/dom/xpath/XPathException.class new file mode 100644 index 00000000000..36379cb6ddf Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/xpath/XPathException.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/xpath/XPathExpression.class b/libjava/classpath/lib/org/w3c/dom/xpath/XPathExpression.class new file mode 100644 index 00000000000..097ab47a189 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/xpath/XPathExpression.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/xpath/XPathNSResolver.class b/libjava/classpath/lib/org/w3c/dom/xpath/XPathNSResolver.class new file mode 100644 index 00000000000..cd69c3824f5 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/xpath/XPathNSResolver.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/xpath/XPathNamespace.class b/libjava/classpath/lib/org/w3c/dom/xpath/XPathNamespace.class new file mode 100644 index 00000000000..b8d710461ef Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/xpath/XPathNamespace.class differ diff --git a/libjava/classpath/lib/org/w3c/dom/xpath/XPathResult.class b/libjava/classpath/lib/org/w3c/dom/xpath/XPathResult.class new file mode 100644 index 00000000000..4693afcf192 Binary files /dev/null and b/libjava/classpath/lib/org/w3c/dom/xpath/XPathResult.class differ diff --git a/libjava/classpath/lib/org/xml/sax/AttributeList.class b/libjava/classpath/lib/org/xml/sax/AttributeList.class new file mode 100644 index 00000000000..d91b8884d60 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/AttributeList.class differ diff --git a/libjava/classpath/lib/org/xml/sax/Attributes.class b/libjava/classpath/lib/org/xml/sax/Attributes.class new file mode 100644 index 00000000000..4459cfece7e Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/Attributes.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ContentHandler.class b/libjava/classpath/lib/org/xml/sax/ContentHandler.class new file mode 100644 index 00000000000..79234c195c5 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ContentHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/DTDHandler.class b/libjava/classpath/lib/org/xml/sax/DTDHandler.class new file mode 100644 index 00000000000..fca2bbabd4a Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/DTDHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/DocumentHandler.class b/libjava/classpath/lib/org/xml/sax/DocumentHandler.class new file mode 100644 index 00000000000..9db19d0ede5 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/DocumentHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/EntityResolver.class b/libjava/classpath/lib/org/xml/sax/EntityResolver.class new file mode 100644 index 00000000000..1a9f63264aa Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/EntityResolver.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ErrorHandler.class b/libjava/classpath/lib/org/xml/sax/ErrorHandler.class new file mode 100644 index 00000000000..5a1c6555353 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ErrorHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/HandlerBase.class b/libjava/classpath/lib/org/xml/sax/HandlerBase.class new file mode 100644 index 00000000000..555e6c51348 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/HandlerBase.class differ diff --git a/libjava/classpath/lib/org/xml/sax/InputSource.class b/libjava/classpath/lib/org/xml/sax/InputSource.class new file mode 100644 index 00000000000..799b3116673 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/InputSource.class differ diff --git a/libjava/classpath/lib/org/xml/sax/Locator.class b/libjava/classpath/lib/org/xml/sax/Locator.class new file mode 100644 index 00000000000..2f415ee4804 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/Locator.class differ diff --git a/libjava/classpath/lib/org/xml/sax/Parser.class b/libjava/classpath/lib/org/xml/sax/Parser.class new file mode 100644 index 00000000000..e644bf5416c Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/Parser.class differ diff --git a/libjava/classpath/lib/org/xml/sax/SAXException.class b/libjava/classpath/lib/org/xml/sax/SAXException.class new file mode 100644 index 00000000000..282aa37a784 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/SAXException.class differ diff --git a/libjava/classpath/lib/org/xml/sax/SAXNotRecognizedException.class b/libjava/classpath/lib/org/xml/sax/SAXNotRecognizedException.class new file mode 100644 index 00000000000..26692ef3bd7 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/SAXNotRecognizedException.class differ diff --git a/libjava/classpath/lib/org/xml/sax/SAXNotSupportedException.class b/libjava/classpath/lib/org/xml/sax/SAXNotSupportedException.class new file mode 100644 index 00000000000..c6fbe767135 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/SAXNotSupportedException.class differ diff --git a/libjava/classpath/lib/org/xml/sax/SAXParseException.class b/libjava/classpath/lib/org/xml/sax/SAXParseException.class new file mode 100644 index 00000000000..2e9400ca5bf Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/SAXParseException.class differ diff --git a/libjava/classpath/lib/org/xml/sax/XMLFilter.class b/libjava/classpath/lib/org/xml/sax/XMLFilter.class new file mode 100644 index 00000000000..91ce7d99acb Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/XMLFilter.class differ diff --git a/libjava/classpath/lib/org/xml/sax/XMLReader.class b/libjava/classpath/lib/org/xml/sax/XMLReader.class new file mode 100644 index 00000000000..b4c86d60780 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/XMLReader.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/Attributes2.class b/libjava/classpath/lib/org/xml/sax/ext/Attributes2.class new file mode 100644 index 00000000000..d531eda55f8 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/Attributes2.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/Attributes2Impl.class b/libjava/classpath/lib/org/xml/sax/ext/Attributes2Impl.class new file mode 100644 index 00000000000..5ce82fc1584 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/Attributes2Impl.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/DeclHandler.class b/libjava/classpath/lib/org/xml/sax/ext/DeclHandler.class new file mode 100644 index 00000000000..a5d9286e847 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/DeclHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/DefaultHandler2.class b/libjava/classpath/lib/org/xml/sax/ext/DefaultHandler2.class new file mode 100644 index 00000000000..72cbdde85b3 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/DefaultHandler2.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/EntityResolver2.class b/libjava/classpath/lib/org/xml/sax/ext/EntityResolver2.class new file mode 100644 index 00000000000..5b5501339ec Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/EntityResolver2.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/LexicalHandler.class b/libjava/classpath/lib/org/xml/sax/ext/LexicalHandler.class new file mode 100644 index 00000000000..a51f26074ac Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/LexicalHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/Locator2.class b/libjava/classpath/lib/org/xml/sax/ext/Locator2.class new file mode 100644 index 00000000000..4e64eb1482b Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/Locator2.class differ diff --git a/libjava/classpath/lib/org/xml/sax/ext/Locator2Impl.class b/libjava/classpath/lib/org/xml/sax/ext/Locator2Impl.class new file mode 100644 index 00000000000..f6cc7ae9529 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/ext/Locator2Impl.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/AttributeListImpl.class b/libjava/classpath/lib/org/xml/sax/helpers/AttributeListImpl.class new file mode 100644 index 00000000000..01caf28e19d Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/AttributeListImpl.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/AttributesImpl.class b/libjava/classpath/lib/org/xml/sax/helpers/AttributesImpl.class new file mode 100644 index 00000000000..c67bff4b2c4 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/AttributesImpl.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/DefaultHandler.class b/libjava/classpath/lib/org/xml/sax/helpers/DefaultHandler.class new file mode 100644 index 00000000000..6a4967942f9 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/DefaultHandler.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/LocatorImpl.class b/libjava/classpath/lib/org/xml/sax/helpers/LocatorImpl.class new file mode 100644 index 00000000000..0f54ec0b325 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/LocatorImpl.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport$Context.class b/libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport$Context.class new file mode 100644 index 00000000000..f109d720624 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport$Context.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport.class b/libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport.class new file mode 100644 index 00000000000..3bd96a4e7f6 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/NamespaceSupport.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/NewInstance.class b/libjava/classpath/lib/org/xml/sax/helpers/NewInstance.class new file mode 100644 index 00000000000..9fa91f989ec Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/NewInstance.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.class b/libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.class new file mode 100644 index 00000000000..5bc24d02679 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter.class b/libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter.class new file mode 100644 index 00000000000..cceb560dcec Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/ParserAdapter.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/ParserFactory.class b/libjava/classpath/lib/org/xml/sax/helpers/ParserFactory.class new file mode 100644 index 00000000000..ace29cbf024 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/ParserFactory.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/XMLFilterImpl.class b/libjava/classpath/lib/org/xml/sax/helpers/XMLFilterImpl.class new file mode 100644 index 00000000000..992aa341049 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/XMLFilterImpl.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.class b/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.class new file mode 100644 index 00000000000..5bcb439192d Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter.class b/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter.class new file mode 100644 index 00000000000..bd879f36543 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderAdapter.class differ diff --git a/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderFactory.class b/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderFactory.class new file mode 100644 index 00000000000..25c986c9b91 Binary files /dev/null and b/libjava/classpath/lib/org/xml/sax/helpers/XMLReaderFactory.class differ diff --git a/libjava/classpath/lib/standard.omit b/libjava/classpath/lib/standard.omit deleted file mode 100644 index 11d05c78161..00000000000 --- a/libjava/classpath/lib/standard.omit +++ /dev/null @@ -1,2 +0,0 @@ -gnu/test/.*java$ -gnu/java/awt/peer/x/.*java$ diff --git a/libjava/classpath/lib/sun/misc/Service.class b/libjava/classpath/lib/sun/misc/Service.class new file mode 100644 index 00000000000..09dc5f56fc4 Binary files /dev/null and b/libjava/classpath/lib/sun/misc/Service.class differ diff --git a/libjava/classpath/lib/sun/misc/ServiceConfigurationError.class b/libjava/classpath/lib/sun/misc/ServiceConfigurationError.class new file mode 100644 index 00000000000..30d7fed7c49 Binary files /dev/null and b/libjava/classpath/lib/sun/misc/ServiceConfigurationError.class differ diff --git a/libjava/classpath/lib/sun/misc/Unsafe.class b/libjava/classpath/lib/sun/misc/Unsafe.class new file mode 100644 index 00000000000..809f9b23a7c Binary files /dev/null and b/libjava/classpath/lib/sun/misc/Unsafe.class differ diff --git a/libjava/classpath/lib/sun/reflect/Reflection.class b/libjava/classpath/lib/sun/reflect/Reflection.class new file mode 100644 index 00000000000..fb6c0c7206a Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/Reflection.class differ diff --git a/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class b/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class new file mode 100644 index 00000000000..e70c2bbcd7b Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/annotation/AnnotationInvocationHandler.class differ diff --git a/libjava/classpath/lib/sun/reflect/annotation/AnnotationParser.class b/libjava/classpath/lib/sun/reflect/annotation/AnnotationParser.class new file mode 100644 index 00000000000..b86052c9d11 Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/annotation/AnnotationParser.class differ diff --git a/libjava/classpath/lib/sun/reflect/annotation/AnnotationType.class b/libjava/classpath/lib/sun/reflect/annotation/AnnotationType.class new file mode 100644 index 00000000000..3f7ee0bbdce Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/annotation/AnnotationType.class differ diff --git a/libjava/classpath/lib/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.class b/libjava/classpath/lib/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.class new file mode 100644 index 00000000000..31adaf53825 Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.class differ diff --git a/libjava/classpath/lib/sun/reflect/annotation/ExceptionProxy.class b/libjava/classpath/lib/sun/reflect/annotation/ExceptionProxy.class new file mode 100644 index 00000000000..7773618aacd Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/annotation/ExceptionProxy.class differ diff --git a/libjava/classpath/lib/sun/reflect/misc/ReflectUtil$MustBeNull.class b/libjava/classpath/lib/sun/reflect/misc/ReflectUtil$MustBeNull.class new file mode 100644 index 00000000000..a588d8ca5ec Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/misc/ReflectUtil$MustBeNull.class differ diff --git a/libjava/classpath/lib/sun/reflect/misc/ReflectUtil.class b/libjava/classpath/lib/sun/reflect/misc/ReflectUtil.class new file mode 100644 index 00000000000..428a0c110cb Binary files /dev/null and b/libjava/classpath/lib/sun/reflect/misc/ReflectUtil.class differ diff --git a/libjava/classpath/ltconfig b/libjava/classpath/ltconfig index 839b980fdb2..b00e0efc232 100755 --- a/libjava/classpath/ltconfig +++ b/libjava/classpath/ltconfig @@ -626,7 +626,7 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" - old_postinstall_cmds="~$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" fi # Source the script associated with the $tagname tag configuration. diff --git a/libjava/classpath/ltmain.sh b/libjava/classpath/ltmain.sh index a3c55f9a751..219823fc45d 100644 --- a/libjava/classpath/ltmain.sh +++ b/libjava/classpath/ltmain.sh @@ -3839,13 +3839,7 @@ extern \"C\" { fi # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S diff --git a/libjava/classpath/m4/acinclude.m4 b/libjava/classpath/m4/acinclude.m4 index ca1af929b1d..ead0090b4ba 100644 --- a/libjava/classpath/m4/acinclude.m4 +++ b/libjava/classpath/m4/acinclude.m4 @@ -458,16 +458,3 @@ AC_DEFUN([CLASSPATH_CHECK_ECJ], AC_PATH_PROG(ECJ, "ecj") fi ]) - -dnl ----------------------------------------------------------- -dnl GCJ LOCAL: Calculate toolexeclibdir -dnl ----------------------------------------------------------- -AC_DEFUN([CLASSPATH_TOOLEXECLIBDIR], -[ - multi_os_directory=`$CC -print-multi-os-directory` - case $multi_os_directory in - .) toolexeclibdir=${libdir} ;; # Avoid trailing /. - *) toolexeclibdir=${libdir}/${multi_os_directory} ;; - esac - AC_SUBST(toolexeclibdir) -]) diff --git a/libjava/classpath/m4/gcc_attribute.m4 b/libjava/classpath/m4/gcc_attribute.m4 new file mode 100644 index 00000000000..f0c25722b8e --- /dev/null +++ b/libjava/classpath/m4/gcc_attribute.m4 @@ -0,0 +1,133 @@ +dnl CACHED_TRY_COMPILE(,,,,,) +AC_DEFUN([CACHED_TRY_COMPILE],[ + AC_MSG_CHECKING($1) + AC_CACHE_VAL($2,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$3]], [[$4]])],[$2=yes],[$2=no]) + ]) + if test "x$$2" = xyes; then + true + $5 + else + true + $6 + fi +]) + +dnl GCC_ATTRIBUTE(,,,,,,[],[]) +AC_DEFUN([GCC_ATTRIBUTE],[ + CACHED_TRY_COMPILE(__attribute__(($1)),cv_c_gcc_attribute_$2,, + [extern int testfunction($3) __attribute__(($4))], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_GNUC25_$5,,$6) + $7, + AC_MSG_RESULT(no) + $8) +]) + + +AC_DEFUN([GCC_ATTRIBUTE_SUPPORTED],[ + GCC_ATTRIBUTE([,,],supported,[int x],[,,],ATTRIB,[Define if function attributes a la GCC 2.5 and higher are available.]) + AH_BOTTOM([/* GNU C attributes. */ +#ifndef FUNCATTR +#ifdef HAVE_GNUC25_ATTRIB +#define FUNCATTR(x) __attribute__(x) +#else +#define FUNCATTR(x) +#endif +#endif]) + +]) +AC_DEFUN([GCC_ATTRIBUTE_CONST],[ + AC_REQUIRE([GCC_ATTRIBUTE_SUPPORTED]) + GCC_ATTRIBUTE(const,const,[int x],const,CONST,[Define if constant functions a la GCC 2.5 and higher are available.]) + AH_BOTTOM([/* GNU C constant functions, or null. */ +#ifndef ATTRCONST +#ifdef HAVE_GNUC25_CONST +#define ATTRCONST const +#else +#define ATTRCONST +#endif +#endif +#ifndef CONSTANT +#define CONSTANT FUNCATTR((ATTRCONST)) +#endif]) +]) +AC_DEFUN([GCC_ATTRIBUTE_NORETURN],[ + AC_REQUIRE([GCC_ATTRIBUTE_SUPPORTED]) + GCC_ATTRIBUTE(noreturn,noreturn,[int x],noreturn,NORETURN,[Define if nonreturning functions a la GCC 2.5 and higher are available.]) + AH_BOTTOM([/* GNU C nonreturning functions, or null. */ +#ifndef ATTRNORETURN +#ifdef HAVE_GNUC25_NORETURN +#define ATTRNORETURN noreturn +#else /* ! HAVE_GNUC25_NORETURN */ +#define ATTRNORETURN +#endif /* HAVE_GNUC25_NORETURN */ +#endif /* ATTRNORETURN */ +#ifndef NONRETURNING +#define NONRETURNING FUNCATTR((ATTRNORETURN)) +#endif /* NONRETURNING */]) +]) +AC_DEFUN([GCC_ATTRIBUTE_UNUSED],[ + AC_REQUIRE([GCC_ATTRIBUTE_SUPPORTED]) + GCC_ATTRIBUTE(unused,unused,[int x],unused,UNUSED,[Define if unused variables la GCC 2.5 and higher are available.]) + AH_BOTTOM([/* GNU C unused functions, or null. */ +#ifndef ATTRUNUSED +#ifdef HAVE_GNUC25_UNUSED +#define ATTRUNUSED unused +#else +#define ATTRUNUSED +#endif +#endif +#ifndef UNUSED +#define UNUSED FUNCATTR((ATTRUNUSED)) +#endif]) +]) +AC_DEFUN([GCC_ATTRIBUTE_FORMAT],[ + AC_REQUIRE([GCC_ATTRIBUTE_SUPPORTED]) + GCC_ATTRIBUTE(format...,format,[char *y, ...],[format(printf,1,2)],PRINTFFORMAT,[Define if printf-format argument lists a la GCC are available.]) + AH_BOTTOM([/* GNU C printf formats, or null. */ +#ifndef ATTRPRINTF +#ifdef HAVE_GNUC25_PRINTFFORMAT +#define ATTRPRINTF(si,tc) format(printf,si,tc) +#else +#define ATTRPRINTF(si,tc) +#endif +#endif +#ifndef PRINTFFORMAT +#define PRINTFFORMAT(si,tc) FUNCATTR((ATTRPRINTF(si,tc))) +#endif + +#ifndef NONRETURNPRINTFFORMAT +#define NONRETURNPRINTFFORMAT(si,tc) FUNCATTR((ATTRPRINTF(si,tc),ATTRNORETURN)) +#endif]) +]) +AC_DEFUN([GCC_ATTRIBUTE_ALWAYS_INLINE],[ + AC_REQUIRE([GCC_ATTRIBUTE_SUPPORTED]) + GCC_ATTRIBUTE(always_inline,always_inline,[int x],always_inline,ALWAYS_INLINE,[Define if unconditional inlining of functions a la GCC 3.1 and higher are available.]) + AH_BOTTOM([/* GNU C constant functions, or null. */ +#ifndef ATTRALWAYS_INLINE +#ifdef HAVE_GNUC25_ALWAYS_INLINE +#define ATTRALWAYS_INLINE always_inline +#else +#define ATTRALWAYS_INLINE +#endif +#endif +#ifndef ALWAYS_INLINE +#define ALWAYS_INLINE FUNCATTR((ATTRALWAYS_INLINE)) +#endif]) +]) +AC_DEFUN([GCC_ATTRIBUTE_PACKED],[ + AC_REQUIRE([GCC_ATTRIBUTE_SUPPORTED]) + GCC_ATTRIBUTE(packed,packed,[int x],packed,PACKED,[Define if packing of struct members a la GCC 2.5 and higher is available.]) + AH_BOTTOM([/* GNU C constant functions, or null. */ +#ifndef ATTRPACKED +#ifdef HAVE_GNUC25_PACKED +#define ATTRPACKED packed +#else +#define ATTRPACKED +#endif +#endif +#ifndef PACKED +#define PACKED FUNCATTR((ATTRPACKED)) +#endif]) +]) diff --git a/libjava/classpath/native/.cvsignore b/libjava/classpath/native/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/Makefile.am b/libjava/classpath/native/Makefile.am index 25aa364d111..89b859eb7e9 100644 --- a/libjava/classpath/native/Makefile.am +++ b/libjava/classpath/native/Makefile.am @@ -12,6 +12,6 @@ if CREATE_PLUGIN PLUGINDIR = plugin endif -SUBDIRS = fdlibm $(JNIDIR) $(JAWTDIR) $(PLUGINDIR) target -DIST_SUBDIRS = fdlibm jni jawt plugin target +SUBDIRS = fdlibm $(JNIDIR) $(JAWTDIR) $(PLUGINDIR) +DIST_SUBDIRS = fdlibm jni jawt plugin diff --git a/libjava/classpath/native/Makefile.in b/libjava/classpath/native/Makefile.in index 73dd32becf5..907b847e82b 100644 --- a/libjava/classpath/native/Makefile.in +++ b/libjava/classpath/native/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -165,6 +167,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -286,13 +290,12 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ @CREATE_JNI_LIBRARIES_TRUE@JNIDIR = jni @CREATE_GTK_PEER_LIBRARIES_TRUE@JAWTDIR = jawt @CREATE_PLUGIN_TRUE@PLUGINDIR = plugin -SUBDIRS = fdlibm $(JNIDIR) $(JAWTDIR) $(PLUGINDIR) target -DIST_SUBDIRS = fdlibm jni jawt plugin target +SUBDIRS = fdlibm $(JNIDIR) $(JAWTDIR) $(PLUGINDIR) +DIST_SUBDIRS = fdlibm jni jawt plugin all: all-recursive .SUFFIXES: diff --git a/libjava/classpath/native/fdlibm/.cvsignore b/libjava/classpath/native/fdlibm/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/fdlibm/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/fdlibm/Makefile.in b/libjava/classpath/native/fdlibm/Makefile.in index cbd990ebb6b..48238aef59a 100644 --- a/libjava/classpath/native/fdlibm/Makefile.in +++ b/libjava/classpath/native/fdlibm/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -184,6 +186,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -305,7 +309,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ noinst_LTLIBRARIES = libfdlibm.la libfdlibm_la_SOURCES = \ diff --git a/libjava/classpath/native/fdlibm/mprec.h b/libjava/classpath/native/fdlibm/mprec.h index 7c7471bc8a9..0efa2d98904 100644 --- a/libjava/classpath/native/fdlibm/mprec.h +++ b/libjava/classpath/native/fdlibm/mprec.h @@ -100,7 +100,7 @@ union double_union * An alternative that might be better on some machines is * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) */ -#if defined(IEEE_8087) + defined(VAX) +#if defined(__IEEE_BYTES_LITTLE_ENDIAN) + defined(IEEE_8087) + defined(VAX) #define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \ ((unsigned short *)a)[0] = (unsigned short)c, a++) #else diff --git a/libjava/classpath/native/jawt/Makefile.am b/libjava/classpath/native/jawt/Makefile.am index c81e754297f..8d90352ed7d 100644 --- a/libjava/classpath/native/jawt/Makefile.am +++ b/libjava/classpath/native/jawt/Makefile.am @@ -1,8 +1,17 @@ -nativeexeclib_LTLIBRARIES = libjawt.la +## GCJ LOCAL: install this library in GCJ's versioned library +## directory +gcc_version := $(shell cat $(top_srcdir)/../../gcc/BASE-VER) +gcjversionedlibdir = $(libdir)/gcj-$(gcc_version) +gcjversionedlib_LTLIBRARIES = libjawt.la libjawt_la_SOURCES = jawt.c libjawt_la_LIBADD = $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la -libjawt_la_LDFLAGS = -avoid-version +## FIXME? +## libjawt_la_LDFLAGS = -avoid-version + +## GCJ LOCAL: encode the library path and use GCJ's library version +libjawt_la_LDFLAGS = -rpath $(gcjversionedlibdir) \ + -version-info `grep -v '^\#' $(top_srcdir)/../libtool-version` AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @PANGOFT2_LIBS@ @X_LIBS@ @XTEST_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jawt/Makefile.in b/libjava/classpath/native/jawt/Makefile.in index 77b45d73155..8cf2873696d 100644 --- a/libjava/classpath/native/jawt/Makefile.in +++ b/libjava/classpath/native/jawt/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -59,9 +61,9 @@ am__vpath_adj = case $$p in \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(nativeexeclibdir)" -nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) +am__installdirs = "$(DESTDIR)$(gcjversionedlibdir)" +gcjversionedlibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(gcjversionedlib_LTLIBRARIES) libjawt_la_DEPENDENCIES = \ $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la am_libjawt_la_OBJECTS = jawt.lo @@ -184,6 +186,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -305,12 +309,15 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -nativeexeclib_LTLIBRARIES = libjawt.la +gcc_version := $(shell cat $(top_srcdir)/../../gcc/BASE-VER) +gcjversionedlibdir = $(libdir)/gcj-$(gcc_version) +gcjversionedlib_LTLIBRARIES = libjawt.la libjawt_la_SOURCES = jawt.c libjawt_la_LIBADD = $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la -libjawt_la_LDFLAGS = -avoid-version +libjawt_la_LDFLAGS = -rpath $(gcjversionedlibdir) \ + -version-info `grep -v '^\#' $(top_srcdir)/../libtool-version` + AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @PANGOFT2_LIBS@ @X_LIBS@ @XTEST_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ @@ -352,35 +359,35 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-nativeexeclibLTLIBRARIES: $(nativeexeclib_LTLIBRARIES) +install-gcjversionedlibLTLIBRARIES: $(gcjversionedlib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(nativeexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(nativeexeclibdir)" - @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ + test -z "$(gcjversionedlibdir)" || $(mkdir_p) "$(DESTDIR)$(gcjversionedlibdir)" + @list='$(gcjversionedlib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nativeexeclibdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nativeexeclibdir)/$$f"; \ + echo " $(LIBTOOL) --mode=install $(gcjversionedlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(gcjversionedlibdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(gcjversionedlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(gcjversionedlibdir)/$$f"; \ else :; fi; \ done -uninstall-nativeexeclibLTLIBRARIES: +uninstall-gcjversionedlibLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ + @set -x; list='$(gcjversionedlib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(nativeexeclibdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(nativeexeclibdir)/$$p"; \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(gcjversionedlibdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(gcjversionedlibdir)/$$p"; \ done -clean-nativeexeclibLTLIBRARIES: - -test -z "$(nativeexeclib_LTLIBRARIES)" || rm -f $(nativeexeclib_LTLIBRARIES) - @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ +clean-gcjversionedlibLTLIBRARIES: + -test -z "$(gcjversionedlib_LTLIBRARIES)" || rm -f $(gcjversionedlib_LTLIBRARIES) + @list='$(gcjversionedlib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libjawt.la: $(libjawt_la_OBJECTS) $(libjawt_la_DEPENDENCIES) - $(LINK) -rpath $(nativeexeclibdir) $(libjawt_la_LDFLAGS) $(libjawt_la_OBJECTS) $(libjawt_la_LIBADD) $(LIBS) + $(LINK) -rpath $(gcjversionedlibdir) $(libjawt_la_LDFLAGS) $(libjawt_la_OBJECTS) $(libjawt_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -500,7 +507,7 @@ check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: - for dir in "$(DESTDIR)$(nativeexeclibdir)"; do \ + for dir in "$(DESTDIR)$(gcjversionedlibdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-am @@ -529,7 +536,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-nativeexeclibLTLIBRARIES \ +clean-am: clean-gcjversionedlibLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am @@ -548,9 +555,9 @@ info: info-am info-am: -install-data-am: +install-data-am: install-gcjversionedlibLTLIBRARIES -install-exec-am: install-nativeexeclibLTLIBRARIES +install-exec-am: install-info: install-info-am @@ -576,20 +583,21 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am uninstall-nativeexeclibLTLIBRARIES +uninstall-am: uninstall-gcjversionedlibLTLIBRARIES uninstall-info-am -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-nativeexeclibLTLIBRARIES install-strip installcheck \ +.PHONY: CTAGS GTAGS all all-am check check-am clean \ + clean-gcjversionedlibLTLIBRARIES clean-generic clean-libtool \ + ctags distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am \ + install-gcjversionedlibLTLIBRARIES install-info \ + install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-nativeexeclibLTLIBRARIES + tags uninstall uninstall-am \ + uninstall-gcjversionedlibLTLIBRARIES uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/libjava/classpath/native/jawt/jawt.c b/libjava/classpath/native/jawt/jawt.c index a4178685054..4ebb105d763 100644 --- a/libjava/classpath/native/jawt/jawt.c +++ b/libjava/classpath/native/jawt/jawt.c @@ -116,6 +116,8 @@ static JAWT_DrawingSurfaceInfo* surface->target); surface_info_x11->visualID = classpath_jawt_get_visualID (surface->env, surface->target); + surface_info_x11->depth = classpath_jawt_get_depth (surface->env, + surface->target); /* FIXME: also include bounding rectangle of drawing surface */ /* FIXME: also include current clipping region */ diff --git a/libjava/classpath/native/jni/.cvsignore b/libjava/classpath/native/jni/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/Makefile.am b/libjava/classpath/native/jni/Makefile.am index 2b205826c1b..1105407993f 100644 --- a/libjava/classpath/native/jni/Makefile.am +++ b/libjava/classpath/native/jni/Makefile.am @@ -1,7 +1,7 @@ ## Input file for automake to generate the Makefile.in used by configure if CREATE_CORE_JNI_LIBRARIES - JNIDIRS = java-io java-lang java-net java-nio java-util + JNIDIRS = native-lib java-io java-lang java-net java-nio java-util endif if CREATE_ALSA_LIBRARIES @@ -32,7 +32,8 @@ SUBDIRS = classpath $(JNIDIRS) \ $(ALSADIR) $(DSSIDIR) $(GTKDIR) $(CLASSPATH_QT_PEER_DIR) $(XMLJDIR) \ $(CLASSPATH_GCONF_PEER_DIR) DIST_SUBDIRS = classpath java-io java-lang java-net java-nio java-util \ - gtk-peer gconf-peer qt-peer xmlj midi-alsa midi-dssi + gtk-peer gconf-peer qt-peer xmlj midi-alsa midi-dssi \ + native-lib all-local: cd $(top_srcdir) && $(SHELL) ./scripts/check_jni_methods.sh diff --git a/libjava/classpath/native/jni/Makefile.in b/libjava/classpath/native/jni/Makefile.in index 61ae690f4da..705bb8107ed 100644 --- a/libjava/classpath/native/jni/Makefile.in +++ b/libjava/classpath/native/jni/Makefile.in @@ -41,12 +41,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -165,6 +167,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -286,9 +290,8 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -@CREATE_CORE_JNI_LIBRARIES_TRUE@JNIDIRS = java-io java-lang java-net java-nio java-util +@CREATE_CORE_JNI_LIBRARIES_TRUE@JNIDIRS = native-lib java-io java-lang java-net java-nio java-util @CREATE_ALSA_LIBRARIES_TRUE@ALSADIR = midi-alsa @CREATE_DSSI_LIBRARIES_TRUE@DSSIDIR = midi-dssi @CREATE_GTK_PEER_LIBRARIES_TRUE@GTKDIR = gtk-peer @@ -300,7 +303,8 @@ SUBDIRS = classpath $(JNIDIRS) \ $(CLASSPATH_GCONF_PEER_DIR) DIST_SUBDIRS = classpath java-io java-lang java-net java-nio java-util \ - gtk-peer gconf-peer qt-peer xmlj midi-alsa midi-dssi + gtk-peer gconf-peer qt-peer xmlj midi-alsa midi-dssi \ + native-lib all: all-recursive diff --git a/libjava/classpath/native/jni/classpath/.cvsignore b/libjava/classpath/native/jni/classpath/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/classpath/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/classpath/Makefile.in b/libjava/classpath/native/jni/classpath/Makefile.in index 435bb6d1647..681f5c1950e 100644 --- a/libjava/classpath/native/jni/classpath/Makefile.in +++ b/libjava/classpath/native/jni/classpath/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -175,6 +177,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -296,7 +300,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ # Header needed for jawt implementations such as the one found in ../gtk-peer. diff --git a/libjava/classpath/native/jni/classpath/classpath_jawt.h b/libjava/classpath/native/jni/classpath/classpath_jawt.h index 32a04dc5cd7..35c734a57a3 100644 --- a/libjava/classpath/native/jni/classpath/classpath_jawt.h +++ b/libjava/classpath/native/jni/classpath/classpath_jawt.h @@ -54,6 +54,7 @@ jint classpath_jawt_get_awt_version (void); Display* classpath_jawt_get_default_display (JNIEnv* env, jobject canvas); Drawable classpath_jawt_get_drawable (JNIEnv* env, jobject canvas); VisualID classpath_jawt_get_visualID (JNIEnv* env, jobject canvas); +int classpath_jawt_get_depth (JNIEnv* env, jobject canvas); jint classpath_jawt_lock (void); void classpath_jawt_unlock (void); diff --git a/libjava/classpath/native/jni/classpath/jcl.c b/libjava/classpath/native/jni/classpath/jcl.c index e28c6631bad..cd3f5161d06 100644 --- a/libjava/classpath/native/jni/classpath/jcl.c +++ b/libjava/classpath/native/jni/classpath/jcl.c @@ -1,5 +1,5 @@ /* jcl.c - Copyright (C) 1998, 2005 Free Software Foundation, Inc. + Copyright (C) 1998, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,6 +48,57 @@ exception statement from your version. */ #endif #endif +/* + * Cached Pointer class info. + */ +static jclass rawDataClass = NULL; +static jfieldID rawData_fid = NULL; +static jmethodID rawData_mid = NULL; + +/* + * JNI OnLoad constructor. + */ +JNIEXPORT jint JNICALL +JNI_OnLoad (JavaVM *vm, void *reserved __attribute__((unused))) +{ + JNIEnv *env; + void *envp; + + if ((*vm)->GetEnv (vm, &envp, JNI_VERSION_1_4) != JNI_OK) + { + return JNI_VERSION_1_4; + } + env = (JNIEnv *) envp; +#if SIZEOF_VOID_P == 8 + rawDataClass = (*env)->FindClass (env, "gnu/classpath/Pointer64"); + if (rawDataClass != NULL) + rawDataClass = (*env)->NewGlobalRef (env, rawDataClass); + + if (rawDataClass != NULL) + { + rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "J"); + rawData_mid = (*env)->GetMethodID (env, rawDataClass, "", "(J)V"); + } +#else +#if SIZEOF_VOID_P == 4 + rawDataClass = (*env)->FindClass (env, "gnu/classpath/Pointer32"); + if (rawDataClass != NULL) + rawDataClass = (*env)->NewGlobalRef (env, rawDataClass); + + if (rawDataClass != NULL) + { + rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "I"); + rawData_mid = (*env)->GetMethodID (env, rawDataClass, "", "(I)V"); + } +#else +#error "Pointer size is not supported." +#endif /* SIZEOF_VOID_P == 4 */ +#endif /* SIZEOF_VOID_P == 8 */ + + return JNI_VERSION_1_4; +} + + JNIEXPORT void JNICALL JCL_ThrowException (JNIEnv * env, const char *className, const char *errMsg) { @@ -183,78 +234,17 @@ JCL_FindClass (JNIEnv * env, const char *className) /* - * Build a Pointer object. The function caches the class type + * Build a Pointer object. */ -static jclass rawDataClass; -static jfieldID rawData_fid; -static jmethodID rawData_mid; - JNIEXPORT jobject JNICALL JCL_NewRawDataObject (JNIEnv * env, void *data) { - if (rawDataClass == NULL) + if (rawDataClass == NULL || rawData_mid == NULL) { - jclass tmp; -#if SIZEOF_VOID_P == 8 - rawDataClass = (*env)->FindClass (env, "gnu/classpath/Pointer64"); - if (rawDataClass == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to find internal class"); - return NULL; - } - - rawData_mid = (*env)->GetMethodID (env, rawDataClass, "", "(J)V"); - if (rawData_mid == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to find internal constructor"); - return NULL; - } - - rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "J"); - if (rawData_fid == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to find internal field"); - return NULL; - } -#else - rawDataClass = (*env)->FindClass (env, "gnu/classpath/Pointer32"); - if (rawDataClass == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to find internal class"); - return NULL; - } - - rawData_mid = (*env)->GetMethodID (env, rawDataClass, "", "(I)V"); - if (rawData_mid == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to find internal constructor"); - return NULL; - } - - rawData_fid = (*env)->GetFieldID (env, rawDataClass, "data", "I"); - if (rawData_fid == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to find internal field"); - return NULL; - } - -#endif - tmp = (*env)->NewGlobalRef (env, rawDataClass); - if (tmp == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "unable to create an internal global ref"); - return NULL; - } - (*env)->DeleteLocalRef(env, rawDataClass); - rawDataClass = tmp; + JCL_ThrowException (env, "java/lang/InternalError", + "Pointer class was not properly initialized"); + return NULL; } #if SIZEOF_VOID_P == 8 @@ -267,6 +257,13 @@ JCL_NewRawDataObject (JNIEnv * env, void *data) JNIEXPORT void * JNICALL JCL_GetRawData (JNIEnv * env, jobject rawdata) { + if (rawData_fid == NULL) + { + JCL_ThrowException (env, "java/lang/InternalError", + "Pointer class was not properly initialized"); + return NULL; + } + #if SIZEOF_VOID_P == 8 return (void *) (*env)->GetLongField (env, rawdata, rawData_fid); #else diff --git a/libjava/classpath/native/jni/gconf-peer/.cvsignore b/libjava/classpath/native/jni/gconf-peer/.cvsignore new file mode 100644 index 00000000000..799fc97856d --- /dev/null +++ b/libjava/classpath/native/jni/gconf-peer/.cvsignore @@ -0,0 +1,6 @@ +.deps +.libs +*.lo +*.la +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/gconf-peer/GConfNativePeer.c b/libjava/classpath/native/jni/gconf-peer/GConfNativePeer.c index a442226cae6..42986c33a89 100644 --- a/libjava/classpath/native/jni/gconf-peer/GConfNativePeer.c +++ b/libjava/classpath/native/jni/gconf-peer/GConfNativePeer.c @@ -108,8 +108,8 @@ static jclass get_jlist_reference (JNIEnv * env, jclass jlist_class); * Method: init_class * Signature: ()V */ -JNIEXPORT void -JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class +JNIEXPORT void JNICALL +Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class (JNIEnv *env, jclass clazz) { if (reference_count == 0) @@ -127,8 +127,8 @@ JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class * Method: init_id_chache * Signature: ()V */ -JNIEXPORT void -JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache +JNIEXPORT void JNICALL +Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache (JNIEnv *env, jclass clazz __attribute__ ((unused))) { reference_count++; @@ -157,16 +157,19 @@ JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache /* * Class: gnu_java_util_prefs_gconf_GConfNativePeer - * Method: gconf_client_gconf_client_all_keys + * Method: gconf_client_all_keys * Signature: (Ljava/lang/String;)Ljava/util/List; */ JNIEXPORT jobject JNICALL -Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys +Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys (JNIEnv *env, jclass clazz __attribute__ ((unused)), jstring node) { /* TODO: check all the calls to gdk_threads_enter/leave */ const char *dir = NULL; + const char *_val = NULL; + const char *_val_unescaped = NULL; + GError *err = NULL; GSList *entries = NULL; GSList *tmp; @@ -208,12 +211,18 @@ Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all tmp = entries; while (tmp != NULL) { - const char *_val = gconf_entry_get_key (tmp->data); + _val = gconf_entry_get_key (tmp->data); _val = strrchr (_val, '/'); ++_val; + + _val_unescaped = gconf_unescape_key (_val, strlen (_val)); + (*env)->CallBooleanMethod (env, jlist, jlist_add_id, - (*env)->NewStringUTF (env, _val)); + (*env)->NewStringUTF (env, _val_unescaped)); + tmp = g_slist_next (tmp); + + g_free ((gpointer) _val_unescaped); } /* clean up things */ @@ -226,14 +235,17 @@ Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all /* * Class: gnu_java_util_prefs_gconf_GConfNativePeer - * Method: gconf_client_gconf_client_all_nodes + * Method: gconf_client_all_nodes * Signature: (Ljava/lang/String;)Ljava/util/List; */ JNIEXPORT jobject JNICALL -Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes +Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes (JNIEnv *env, jclass clazz __attribute__ ((unused)), jstring node) { const char *dir = NULL; + const char *_val = NULL; + const char *_val_unescaped = NULL; + GError *err = NULL; GSList *entries = NULL; GSList *tmp; @@ -274,12 +286,19 @@ Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all tmp = entries; while (tmp != NULL) { - const char *_val = tmp->data; + _val = tmp->data; + _val = strrchr (_val, '/'); ++_val; + + _val_unescaped = gconf_unescape_key (_val, strlen (_val)); + (*env)->CallBooleanMethod (env, jlist, jlist_add_id, - (*env)->NewStringUTF (env, _val)); + (*env)->NewStringUTF (env, _val_unescaped)); + tmp = g_slist_next (tmp); + + g_free ((gpointer) _val_unescaped); } /* clean up things */ @@ -421,7 +440,7 @@ Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string gdk_threads_leave (); if (err != NULL) { - g_error_free (err); + g_error_free (err); err = NULL; result = JNI_FALSE; } @@ -511,8 +530,8 @@ Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists * Method: finalize_class * Signature: ()V */ -JNIEXPORT void -JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class +JNIEXPORT void JNICALL +Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class (JNIEnv *env, jclass clazz __attribute__ ((unused))) { if (reference_count == 0) @@ -534,6 +553,74 @@ JNICALL Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class reference_count--; } +/* + * Class: gnu_java_util_prefs_gconf_GConfNativePeer + * Method: Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + * Signature: (Ljava/lang/String;)Z + */ +JNIEXPORT jstring JNICALL +Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + (JNIEnv *env, jclass clazz __attribute__ ((unused)), jstring plain) +{ + const char *escaped = NULL; + const char *_plain = NULL; + jstring result = NULL; + + _plain = JCL_jstring_to_cstring (env, plain); + if (_plain == NULL) + { + return NULL; + } + + gdk_threads_enter (); + escaped = gconf_escape_key (_plain, strlen (_plain)); + gdk_threads_leave (); + + JCL_free_cstring (env, plain, _plain); + /* check for NULL, if so prevent string creation */ + if (escaped != NULL) + { + result = (*env)->NewStringUTF (env, escaped); + g_free ((gpointer) escaped); + } + + return result; +} + +/* + * Class: gnu_java_util_prefs_gconf_GConfNativePeer + * Method: Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * Signature: (Ljava/lang/String;)Z + */ +JNIEXPORT jstring JNICALL +Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + (JNIEnv *env, jclass clazz __attribute__ ((unused)), jstring escaped) +{ + const char *plain = NULL; + const char *_escaped = NULL; + jstring result = NULL; + + _escaped = JCL_jstring_to_cstring (env, escaped); + if (_escaped == NULL) + { + return NULL; + } + + gdk_threads_enter (); + plain = gconf_unescape_key (_escaped, strlen (_escaped)); + gdk_threads_leave (); + + JCL_free_cstring (env, escaped, _escaped); + /* check for NULL, if so prevent string creation */ + if (plain != NULL) + { + result = (*env)->NewStringUTF (env, plain); + g_free ((gpointer) plain); + } + + return result; +} + /* ***** END: NATIVE FUNCTIONS ***** */ /* ***** PRIVATE FUNCTIONS IMPLEMENTATION ***** */ diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.in b/libjava/classpath/native/jni/gconf-peer/Makefile.in index 2e95e299d60..2e4074c778f 100644 --- a/libjava/classpath/native/jni/gconf-peer/Makefile.in +++ b/libjava/classpath/native/jni/gconf-peer/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -185,6 +187,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -306,7 +310,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libgconfpeer.la libgconfpeer_la_SOURCES = GConfNativePeer.c diff --git a/libjava/classpath/native/jni/gtk-peer/GtkDragSourceContextPeer.c b/libjava/classpath/native/jni/gtk-peer/GtkDragSourceContextPeer.c index 6dfbfcce4a9..62ffa1395ea 100644 --- a/libjava/classpath/native/jni/gtk-peer/GtkDragSourceContextPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/GtkDragSourceContextPeer.c @@ -42,7 +42,8 @@ exception statement from your version. */ #include static GtkWidget * get_widget (GtkWidget *widget); - +static void connect_signals_for_widget (GtkWidget *widget); + #define ACTION_COPY 1 #define ACTION_MOVE 2 #define ACTION_COPY_OR_MOVE 3 @@ -63,21 +64,35 @@ static GtkWidget * get_widget (GtkWidget *widget); #define AWT_HAND_CURSOR 12 #define AWT_MOVE_CURSOR 13 +static jmethodID dragEnterID; +static jmethodID dragExitID; +static jmethodID dragDropEndID; +static jmethodID dragMouseMovedID; +static jmethodID dragOverID; +static jmethodID dragActionChangedID; +static jmethodID acceptDragID; +static jmethodID rejectDragID; +static jmethodID acceptDropID; +static jmethodID rejectDropID; +static jmethodID dropCompleteID; + GtkWidget *widget; +GtkWidget *tgt; +jobject *gref; +jobject javaObj; JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_create (JNIEnv *env, jobject obj, jobject comp) -{ - void *ptr; - +{ gdk_threads_enter (); - + + javaObj = obj; NSA_SET_GLOBAL_REF (env, obj); NSA_SET_GLOBAL_REF (env, comp); - ptr = NSA_GET_PTR (env, comp); - widget = get_widget (GTK_WIDGET (ptr)); + gref = NSA_GET_PTR (env, comp); + widget = get_widget (GTK_WIDGET (gref)); gdk_threads_leave (); } @@ -93,6 +108,7 @@ Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_nativeSetCursor gdk_threads_enter (); + javaObj = obj; ptr = NSA_GET_GLOBAL_REF (env, obj); switch (type) @@ -158,31 +174,81 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_connectSignals (JNIEnv *env, jobject obj, jobject comp) { - jobject *gref; - void *ptr; + jclass gtkdragsourcecontextpeer; + jclass gtkdroptargetcontextpeer; gdk_threads_enter (); - ptr = NSA_GET_GLOBAL_REF (env, obj); + javaObj = obj; gref = NSA_GET_GLOBAL_REF (env, comp); + + connect_signals_for_widget (widget); + + gtkdragsourcecontextpeer = (*cp_gtk_gdk_env())->FindClass (cp_gtk_gdk_env(), + "gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer"); + + dragEnterID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdragsourcecontextpeer, + "dragEnter", "(II)V"); + dragExitID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdragsourcecontextpeer, + "dragExit", "(III)V"); + dragDropEndID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdragsourcecontextpeer, + "dragDropEnd", "(IZII)V"); + dragMouseMovedID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdragsourcecontextpeer, + "dragMouseMoved", "(II)V"); + dragOverID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdragsourcecontextpeer, + "dragOver", "(II)V"); + dragActionChangedID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdragsourcecontextpeer, + "dragActionChanged", "(II)V"); + + + gtkdroptargetcontextpeer = (*cp_gtk_gdk_env())->FindClass (cp_gtk_gdk_env(), + "gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer"); + + acceptDragID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdroptargetcontextpeer, + "acceptDrag", "(I)V"); + rejectDragID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdroptargetcontextpeer, + "rejectDrag", "()V"); + acceptDropID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdroptargetcontextpeer, + "acceptDrop", "(I)V"); + rejectDropID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdroptargetcontextpeer, + "rejectDrop", "()V"); + dropCompleteID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), + gtkdroptargetcontextpeer, + "dropComplete", "(Z)V"); + + gdk_threads_leave (); +} + +static void +connect_signals_for_widget (GtkWidget *w) +{ + /* FIXME: Not implemented. */ + w = NULL; +} + +JNIEXPORT void JNICALL +Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_setTarget + (JNIEnv *env, jobject obj, jobject target) +{ + void *ptr; + + gdk_threads_enter (); + + javaObj = obj; + ptr = NSA_GET_PTR (env, target); + tgt = get_widget (GTK_WIDGET (ptr)); + connect_signals_for_widget (tgt); - /* Uncomment when needed: - g_signal_connect (G_OBJECT (widget), "drag_motion", - G_CALLBACK (drag_motion_cb), *gref); - g_signal_connect (G_OBJECT (widget), "drag_begin", - G_CALLBACK (drag_begin_cb), *gref); - g_signal_connect (G_OBJECT (widget), "drag_end", - G_CALLBACK (drag_end_cb), *gref); - g_signal_connect (G_OBJECT (widget), "drag_data_get", - G_CALLBACK (drag_data_get_cb), *gref); - g_signal_connect (G_OBJECT (widget), "drag_drop", - G_CALLBACK (drag_drop_cb), *gref); - g_signal_connect (G_OBJECT (widget), "drag_data_delete", - G_CALLBACK (drag_data_delete_cb), *gref); - g_signal_connect (G_OBJECT (widget), "drag_data_received", - G_CALLBACK (drag_data_received_cb), *gref); - */ - gdk_threads_leave (); } @@ -200,7 +266,8 @@ Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_nativeStartDrag GdkDragAction action = GDK_ACTION_DEFAULT; gdk_threads_enter (); - + + javaObj = obj; ptr = NSA_GET_GLOBAL_REF (env, obj); data = (*env)->GetStringUTFChars (env, target, NULL); @@ -225,7 +292,9 @@ Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_nativeStartDrag action = GDK_ACTION_DEFAULT; } - gtk_drag_highlight (widget); + gtk_drag_dest_set (widget, GTK_DEST_DEFAULT_ALL, tar, + sizeof (tar) / sizeof (GtkTargetEntry), + action); context = gtk_drag_begin (widget, gtk_target_list_new (tar, sizeof (tar) / sizeof (GtkTargetEntry)), action, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, event); @@ -235,6 +304,11 @@ Java_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer_nativeStartDrag image = cp_gtk_image_get_pixbuf (env, img); gtk_drag_set_icon_pixbuf (context, image, x, y); } + + if (tgt != NULL) + gtk_drag_dest_set (tgt, GTK_DEST_DEFAULT_ALL, tar, + sizeof (tar) / sizeof (GtkTargetEntry), + action); gdk_event_free (event); (*env)->ReleaseStringUTFChars (env, target, data); diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.am b/libjava/classpath/native/jni/gtk-peer/Makefile.am index b7e84144e7d..f925c18afce 100644 --- a/libjava/classpath/native/jni/gtk-peer/Makefile.am +++ b/libjava/classpath/native/jni/gtk-peer/Makefile.am @@ -1,4 +1,8 @@ -nativeexeclib_LTLIBRARIES = libgtkpeer.la +## GCJ LOCAL: install this library in GCJ's versioned library +## directory +gcc_version := $(shell cat $(top_srcdir)/../../gcc/BASE-VER) +gcjversionedlibdir = $(libdir)/gcj-$(gcc_version) +gcjversionedlib_LTLIBRARIES = libgtkpeer.la # GTK JNI sources. libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ @@ -49,9 +53,13 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ gtk_jawt.c \ gtkpeer.h +## GCJ LOCAL: encode the library path and use GCJ's library version +libgtkpeer_la_LDFLAGS = -rpath $(gcjversionedlibdir) \ + -version-info `grep -v '^\#' $(top_srcdir)/../libtool-version` + libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo -libgtkpeer_la_LDFLAGS = -avoid-version +## libgtkpeer_la_LDFLAGS = -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @FREETYPE2_LIBS@ \ @PANGOFT2_LIBS@ @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ @XTEST_LIBS@ diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.in b/libjava/classpath/native/jni/gtk-peer/Makefile.in index fbc85e99295..a7f523f2d8a 100644 --- a/libjava/classpath/native/jni/gtk-peer/Makefile.in +++ b/libjava/classpath/native/jni/gtk-peer/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -59,9 +61,9 @@ am__vpath_adj = case $$p in \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(nativeexeclibdir)" -nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) +am__installdirs = "$(DESTDIR)$(gcjversionedlibdir)" +gcjversionedlibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(gcjversionedlib_LTLIBRARIES) libgtkpeer_la_DEPENDENCIES = \ $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo @@ -224,6 +226,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -345,9 +349,10 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -nativeexeclib_LTLIBRARIES = libgtkpeer.la +gcc_version := $(shell cat $(top_srcdir)/../../gcc/BASE-VER) +gcjversionedlibdir = $(libdir)/gcj-$(gcc_version) +gcjversionedlib_LTLIBRARIES = libgtkpeer.la # GTK JNI sources. libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ @@ -398,10 +403,12 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \ gtk_jawt.c \ gtkpeer.h +libgtkpeer_la_LDFLAGS = -rpath $(gcjversionedlibdir) \ + -version-info `grep -v '^\#' $(top_srcdir)/../libtool-version` + libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \ $(top_builddir)/native/jni/classpath/jcl.lo -libgtkpeer_la_LDFLAGS = -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @FREETYPE2_LIBS@ \ @PANGOFT2_LIBS@ @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ @XTEST_LIBS@ @@ -446,35 +453,35 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-nativeexeclibLTLIBRARIES: $(nativeexeclib_LTLIBRARIES) +install-gcjversionedlibLTLIBRARIES: $(gcjversionedlib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(nativeexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(nativeexeclibdir)" - @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ + test -z "$(gcjversionedlibdir)" || $(mkdir_p) "$(DESTDIR)$(gcjversionedlibdir)" + @list='$(gcjversionedlib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nativeexeclibdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nativeexeclibdir)/$$f"; \ + echo " $(LIBTOOL) --mode=install $(gcjversionedlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(gcjversionedlibdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(gcjversionedlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(gcjversionedlibdir)/$$f"; \ else :; fi; \ done -uninstall-nativeexeclibLTLIBRARIES: +uninstall-gcjversionedlibLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ + @set -x; list='$(gcjversionedlib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(nativeexeclibdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(nativeexeclibdir)/$$p"; \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(gcjversionedlibdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(gcjversionedlibdir)/$$p"; \ done -clean-nativeexeclibLTLIBRARIES: - -test -z "$(nativeexeclib_LTLIBRARIES)" || rm -f $(nativeexeclib_LTLIBRARIES) - @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ +clean-gcjversionedlibLTLIBRARIES: + -test -z "$(gcjversionedlib_LTLIBRARIES)" || rm -f $(gcjversionedlib_LTLIBRARIES) + @list='$(gcjversionedlib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libgtkpeer.la: $(libgtkpeer_la_OBJECTS) $(libgtkpeer_la_DEPENDENCIES) - $(LINK) -rpath $(nativeexeclibdir) $(libgtkpeer_la_LDFLAGS) $(libgtkpeer_la_OBJECTS) $(libgtkpeer_la_LIBADD) $(LIBS) + $(LINK) -rpath $(gcjversionedlibdir) $(libgtkpeer_la_LDFLAGS) $(libgtkpeer_la_OBJECTS) $(libgtkpeer_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -635,7 +642,7 @@ check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: - for dir in "$(DESTDIR)$(nativeexeclibdir)"; do \ + for dir in "$(DESTDIR)$(gcjversionedlibdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-am @@ -664,7 +671,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-nativeexeclibLTLIBRARIES \ +clean-am: clean-gcjversionedlibLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am @@ -683,9 +690,9 @@ info: info-am info-am: -install-data-am: +install-data-am: install-gcjversionedlibLTLIBRARIES -install-exec-am: install-nativeexeclibLTLIBRARIES +install-exec-am: install-info: install-info-am @@ -711,20 +718,21 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am uninstall-nativeexeclibLTLIBRARIES +uninstall-am: uninstall-gcjversionedlibLTLIBRARIES uninstall-info-am -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-nativeexeclibLTLIBRARIES install-strip installcheck \ +.PHONY: CTAGS GTAGS all all-am check check-am clean \ + clean-gcjversionedlibLTLIBRARIES clean-generic clean-libtool \ + ctags distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am \ + install-gcjversionedlibLTLIBRARIES install-info \ + install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-nativeexeclibLTLIBRARIES + tags uninstall uninstall-am \ + uninstall-gcjversionedlibLTLIBRARIES uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/libjava/classpath/native/jni/gtk-peer/cairographics2d.h b/libjava/classpath/native/jni/gtk-peer/cairographics2d.h index 675bc0b1744..fc564a86a99 100644 --- a/libjava/classpath/native/jni/gtk-peer/cairographics2d.h +++ b/libjava/classpath/native/jni/gtk-peer/cairographics2d.h @@ -97,7 +97,8 @@ enum java_awt_rendering_hints_filter java_awt_rendering_hints_VALUE_INTERPOLATION_BILINEAR = 1, java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_SPEED = 2, java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_QUALITY = 3, - java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_DEFAULT = 4 + java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_DEFAULT = 4, + java_awt_rendering_hints_VALUE_INTERPOLATION_BICUBIC = 5 }; diff --git a/libjava/classpath/native/jni/gtk-peer/gdkfont.h b/libjava/classpath/native/jni/gtk-peer/gdkfont.h index cf233301547..5545bccaaf4 100644 --- a/libjava/classpath/native/jni/gtk-peer/gdkfont.h +++ b/libjava/classpath/native/jni/gtk-peer/gdkfont.h @@ -92,7 +92,10 @@ extern struct state_table *cp_gtk_native_text_layout_state_table; #define FONT_METRICS_DESCENT 2 #define FONT_METRICS_MAX_DESCENT 3 #define FONT_METRICS_MAX_ADVANCE 4 -#define NUM_FONT_METRICS 5 +#define FONT_METRICS_HEIGHT 5 +#define FONT_METRICS_UNDERLINE_OFFSET 6 +#define FONT_METRICS_UNDERLINE_THICKNESS 7 +#define NUM_FONT_METRICS 8 #define TEXT_METRICS_X_BEARING 0 #define TEXT_METRICS_Y_BEARING 1 diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c index 45cf4fbdaca..bd63ac36667 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c @@ -49,7 +49,6 @@ exception statement from your version. */ #include #include -static void install_font_peer(cairo_t *cr, struct peerfont *pfont); static void update_pattern_transform (struct cairographics2d *gr); /** @@ -134,7 +133,11 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient cairo_pattern_add_color_stop_rgba(pattern, 1.0, r2 / 255.0, g2 / 255.0, b2 / 255.0, a2 / 255.0); - extend = (cyclic == JNI_TRUE) ? CAIRO_EXTEND_REFLECT : CAIRO_EXTEND_NONE; + #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 2, 0) + extend = (cyclic == JNI_TRUE) ? CAIRO_EXTEND_REFLECT : CAIRO_EXTEND_PAD; + #else + extend = (cyclic == JNI_TRUE) ? CAIRO_EXTEND_REFLECT : CAIRO_EXTEND_NONE; + #endif cairo_pattern_set_extend( pattern, extend ); @@ -143,9 +146,10 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient } JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setTexturePixels +Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong pointer, jintArray jarr, jint w, jint h, jint stride) + jlong pointer, jintArray jarr, jint w, jint h, jint stride, jboolean repeat, + jint x, jint y) { struct cairographics2d *gr = NULL; jint *jpixels = NULL; @@ -180,15 +184,21 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setTexturePixels g_assert (gr->pattern_surface != NULL); gr->pattern = cairo_pattern_create_for_surface (gr->pattern_surface); g_assert (gr->pattern != NULL); - cairo_pattern_set_extend (gr->pattern, CAIRO_EXTEND_REPEAT); - cairo_set_source (gr->cr, gr->pattern); + + cairo_set_source_surface(gr->cr, gr->pattern_surface, x, y); + + if (repeat) + cairo_pattern_set_extend(cairo_get_source(gr->cr), CAIRO_EXTEND_REPEAT); + else + cairo_pattern_set_extend(cairo_get_source(gr->cr), CAIRO_EXTEND_NONE); } JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jlong pointer, jintArray java_pixels, - jint w, jint h, jint stride, jdoubleArray java_matrix, jdouble alpha) + jint w, jint h, jint stride, jdoubleArray java_matrix, jdouble alpha, + jint interpolation) { jint *native_pixels = NULL; jdouble *native_matrix = NULL; @@ -215,8 +225,28 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels p = cairo_pattern_create_for_surface (surf); cairo_pattern_set_matrix (p, &mat); - if (gr->pattern) - cairo_pattern_set_filter (p, cairo_pattern_get_filter (gr->pattern)); + switch ((enum java_awt_rendering_hints_filter) interpolation) + { + case java_awt_rendering_hints_VALUE_INTERPOLATION_NEAREST_NEIGHBOR: + cairo_pattern_set_filter (p, CAIRO_FILTER_NEAREST); + break; + case java_awt_rendering_hints_VALUE_INTERPOLATION_BILINEAR: + cairo_pattern_set_filter (p, CAIRO_FILTER_BILINEAR); + break; + case java_awt_rendering_hints_VALUE_INTERPOLATION_BICUBIC: + cairo_pattern_set_filter (p, CAIRO_FILTER_GAUSSIAN); + break; + case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_SPEED: + cairo_pattern_set_filter (p, CAIRO_FILTER_FAST); + break; + case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_DEFAULT: + cairo_pattern_set_filter (p, CAIRO_FILTER_NEAREST); + break; + case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_QUALITY: + cairo_pattern_set_filter (p, CAIRO_FILTER_BEST); + break; + } + cairo_set_source (gr->cr, p); if (alpha == 1.) cairo_paint (gr->cr); @@ -297,8 +327,6 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, font); g_assert (pfont != NULL); - install_font_peer(gr->cr, pfont); - glyphs = g_malloc( sizeof(cairo_glyph_t) * n); g_assert (glyphs != NULL); @@ -323,6 +351,37 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector } +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont +(JNIEnv *env __attribute__ ((unused)), jobject obj __attribute__ ((unused)), + jlong pointer, jobject font) +{ + struct cairographics2d *gr = NULL; + struct peerfont *pfont = NULL; + FT_Face face = NULL; + cairo_font_face_t *ft = NULL; + + gr = JLONG_TO_PTR(struct cairographics2d, pointer); + g_assert (gr != NULL); + + pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, font); + g_assert (pfont != NULL); + + face = pango_fc_font_lock_face( (PangoFcFont *)pfont->font ); + g_assert (face != NULL); + + ft = cairo_ft_font_face_create_for_ft_face (face, 0); + g_assert (ft != NULL); + + cairo_set_font_face (gr->cr, ft); + cairo_set_font_size (gr->cr, + (pango_font_description_get_size (pfont->desc) / + (double)PANGO_SCALE)); + + cairo_font_face_destroy (ft); + pango_fc_font_unlock_face((PangoFcFont *)pfont->font); +} + JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetOperator (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), @@ -678,37 +737,6 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip cairo_clip_preserve( gr->cr ); } -JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter -(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong pointer, jint filter) -{ - struct cairographics2d *gr = JLONG_TO_PTR(struct cairographics2d, pointer); - g_assert (gr != NULL); - - if (gr->pattern == NULL) - return; - - switch ((enum java_awt_rendering_hints_filter) filter) - { - case java_awt_rendering_hints_VALUE_INTERPOLATION_NEAREST_NEIGHBOR: - cairo_pattern_set_filter (gr->pattern, CAIRO_FILTER_NEAREST); - break; - case java_awt_rendering_hints_VALUE_INTERPOLATION_BILINEAR: - cairo_pattern_set_filter (gr->pattern, CAIRO_FILTER_BILINEAR); - break; - case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_SPEED: - cairo_pattern_set_filter (gr->pattern, CAIRO_FILTER_FAST); - break; - case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_DEFAULT: - cairo_pattern_set_filter (gr->pattern, CAIRO_FILTER_NEAREST); - break; - case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_QUALITY: - cairo_pattern_set_filter (gr->pattern, CAIRO_FILTER_BEST); - break; - } -} - JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawLine (JNIEnv *env __attribute__ ((unused)), jobject obj __attribute__ ((unused)), @@ -749,45 +777,6 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFillRect cairo_fill(gr->cr); } - -/************************** FONT STUFF ****************************/ -static void -install_font_peer(cairo_t *cr, - struct peerfont *pfont) -{ - cairo_font_face_t *ft; - FT_Face face = NULL; - - g_assert(cr != NULL); - g_assert(pfont != NULL); - - if (pfont->graphics_resource == NULL) - { - face = pango_fc_font_lock_face( (PangoFcFont *)pfont->font ); - g_assert (face != NULL); - - ft = cairo_ft_font_face_create_for_ft_face (face, 0); - g_assert (ft != NULL); - - cairo_set_font_face (cr, ft); - /* cairo_font_face_destroy (ft);*/ - cairo_set_font_size (cr, - (pango_font_description_get_size (pfont->desc) / - (double)PANGO_SCALE)); - ft = cairo_get_font_face (cr); - pango_fc_font_unlock_face( (PangoFcFont *)pfont->font ); - pfont->graphics_resource = ft; - } - else - { - ft = (cairo_font_face_t *) pfont->graphics_resource; - cairo_set_font_face (cr, ft); - cairo_set_font_size (cr, - (pango_font_description_get_size (pfont->desc) / - (double)PANGO_SCALE)); - } -} - static void update_pattern_transform (struct cairographics2d *gr) { diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c index a25f764b4dd..350cd345a1d 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c @@ -181,7 +181,8 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetPixels JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), - jlong surfacePointer, jlong context, jdoubleArray java_matrix, double alpha) + jlong surfacePointer, jlong context, jdoubleArray java_matrix, double alpha, + jint interpolation) { struct cairographics2d *gr = JLONG_TO_PTR(struct cairographics2d, context); cairo_t *cr = gr->cr; @@ -205,6 +206,27 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface p = cairo_pattern_create_for_surface (surface); cairo_pattern_set_matrix (p, &mat); + switch ((enum java_awt_rendering_hints_filter) interpolation) + { + case java_awt_rendering_hints_VALUE_INTERPOLATION_NEAREST_NEIGHBOR: + cairo_pattern_set_filter (p, CAIRO_FILTER_NEAREST); + break; + case java_awt_rendering_hints_VALUE_INTERPOLATION_BILINEAR: + cairo_pattern_set_filter (p, CAIRO_FILTER_BILINEAR); + break; + case java_awt_rendering_hints_VALUE_INTERPOLATION_BICUBIC: + cairo_pattern_set_filter (p, CAIRO_FILTER_GAUSSIAN); + break; + case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_SPEED: + cairo_pattern_set_filter (p, CAIRO_FILTER_FAST); + break; + case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_DEFAULT: + cairo_pattern_set_filter (p, CAIRO_FILTER_NEAREST); + break; + case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_QUALITY: + cairo_pattern_set_filter (p, CAIRO_FILTER_BEST); + break; + } cairo_set_source(cr, p); if (alpha == 1.0) diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c index ddaece1b278..0837ee13cdd 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c @@ -129,94 +129,48 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_releasePeerGraphicsResource JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics - (JNIEnv *env, jobject java_font, jdoubleArray java_metrics) +(JNIEnv *env, jobject java_font, jdoubleArray java_metrics) { + FT_Face face; struct peerfont *pfont = NULL; jdouble *native_metrics = NULL; - PangoFontMetrics *pango_metrics = NULL; - PangoLayout* layout = NULL; - PangoRectangle ink_rect; - PangoRectangle logical_rect; - PangoLayoutIter* iter = NULL; - int pango_ascent = 0; - int pango_descent = 0; - int pango_ink_ascent = 0; - int pango_ink_descent = 0; - int baseline = 0; - int java_ascent = 0; - int java_descent = 0; + short x_ppem; + short y_ppem; + short units_per_em; + double factorx; + double factory; gdk_threads_enter(); pfont = (struct peerfont *) NSA_GET_FONT_PTR (env, java_font); g_assert (pfont != NULL); - - pango_metrics - = pango_context_get_metrics (pfont->ctx, pfont->desc, - gtk_get_default_language ()); + face = pango_fc_font_lock_face ((PangoFcFont *)pfont->font); native_metrics = (*env)->GetDoubleArrayElements (env, java_metrics, NULL); g_assert (native_metrics != NULL); - pango_ascent = PANGO_PIXELS (pango_font_metrics_get_ascent (pango_metrics)); - pango_descent = PANGO_PIXELS (pango_font_metrics_get_descent (pango_metrics)); - - layout = pango_layout_new (pfont->ctx); - - /* Pango seems to produce ascent and descent values larger than - those that Sun produces for the same-sized font. It turns out - that an average of the "ink ascent" and "logical ascent" closely - approximates Sun's ascent values. Likewise for descent values. - This is expensive but we cache GdkFontMetrics so this should only - run once per Font instance. */ - pango_layout_set_text (layout, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL" - "MNOPQRSTUVWXYZ0123456789", -1); - pango_layout_set_font_description (layout, pfont->desc); - - pango_layout_get_pixel_extents (layout, &ink_rect, &logical_rect); - - iter = pango_layout_get_iter (layout); - - baseline = PANGO_PIXELS (pango_layout_iter_get_baseline (iter)); - - pango_ink_ascent = baseline - ink_rect.y; - pango_ink_descent = ink_rect.y + ink_rect.height - baseline; + x_ppem = face->size->metrics.x_ppem; + y_ppem = face->size->metrics.y_ppem; + units_per_em = face->units_per_EM; + factorx = units_per_em / x_ppem; + factory = units_per_em / y_ppem; + native_metrics[FONT_METRICS_ASCENT] = face->ascender / factory; + native_metrics[FONT_METRICS_MAX_ASCENT] = face->bbox.yMax / factory; + native_metrics[FONT_METRICS_DESCENT] = - face->descender / factory; + native_metrics[FONT_METRICS_MAX_DESCENT] = - face->bbox.yMin / factory; + native_metrics[FONT_METRICS_MAX_ADVANCE] = face->max_advance_width / factorx; + native_metrics[FONT_METRICS_HEIGHT] = face->height / factory; + native_metrics[FONT_METRICS_UNDERLINE_OFFSET] = + face->underline_position / factory; + native_metrics[FONT_METRICS_UNDERLINE_THICKNESS] = + face->underline_thickness / factory; - java_ascent = (pango_ascent + pango_ink_ascent) >> 1; - java_descent = (pango_descent + pango_ink_descent) >> 1; - - java_ascent = MAX(0, java_ascent); - java_descent = MAX(0, java_descent); - - pango_ascent = MAX(0, pango_ascent); - pango_descent = MAX(0, pango_descent); - - /* Pango monospaced fonts have smaller ascent metrics than Sun's so - we return the logical ascent for monospaced fonts. */ - if (!strcmp (pango_font_description_get_family (pfont->desc), - "Courier")) - native_metrics[FONT_METRICS_ASCENT] = pango_ascent; - else - native_metrics[FONT_METRICS_ASCENT] = java_ascent; - - native_metrics[FONT_METRICS_MAX_ASCENT] = pango_ascent; - - native_metrics[FONT_METRICS_DESCENT] = java_descent; - - native_metrics[FONT_METRICS_MAX_DESCENT] = pango_descent; - - native_metrics[FONT_METRICS_MAX_ADVANCE] - = PANGO_PIXELS (pango_font_metrics_get_approximate_char_width - (pango_metrics)); - (*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); - pango_font_metrics_unref (pango_metrics); - gdk_threads_leave(); } diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c index c8d9fb5512c..b92d017a5d4 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c @@ -210,7 +210,8 @@ query_formats (JNIEnv *env, jclass clazz) jobject jformat; GSList *formats, *f; GdkPixbufFormat *format; - char **ch, *name; + gchar **ch, *name; + gint count; jclass formatClass; jmethodID addExtensionID; @@ -240,14 +241,16 @@ query_formats (JNIEnv *env, jclass clazz) string = (*env)->NewStringUTF(env, name); g_assert(string != NULL); - jformat = (*env)->CallStaticObjectMethod + jformat = (*env)->CallStaticObjectMethod (env, clazz, registerFormatID, string, (jboolean) gdk_pixbuf_format_is_writable(format)); (*env)->DeleteLocalRef(env, string); + g_free(name); g_assert(jformat != NULL); - + ch = gdk_pixbuf_format_get_extensions(format); + count = 0; while (*ch) { string = (*env)->NewStringUTF(env, *ch); @@ -255,9 +258,12 @@ query_formats (JNIEnv *env, jclass clazz) (*env)->CallVoidMethod (env, jformat, addExtensionID, string); (*env)->DeleteLocalRef(env, string); ++ch; + ++count; } - + g_strfreev(ch - count); + ch = gdk_pixbuf_format_get_mime_types(format); + count = 0; while (*ch) { string = (*env)->NewStringUTF(env, *ch); @@ -265,12 +271,13 @@ query_formats (JNIEnv *env, jclass clazz) (*env)->CallVoidMethod (env, jformat, addMimeTypeID, string); (*env)->DeleteLocalRef(env, string); ++ch; + ++count; } - + g_strfreev(ch - count); (*env)->DeleteLocalRef(env, jformat); } - - g_slist_free(formats); + + g_slist_free(formats); } diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c index 6a9066cbe53..1099287e2ff 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c @@ -353,7 +353,7 @@ Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds /* ...and the label's size request. */ gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (child)), width, height); - if (widget->parent != NULL) + if (widget->parent != NULL && GTK_IS_FIXED (widget->parent)) gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); } diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c index 39524eea02c..d2025bb701f 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c @@ -659,16 +659,16 @@ Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds width = width < 0 ? 0 : width; height = height < 0 ? 0 : height; - if (GTK_IS_VIEWPORT (widget->parent)) - gtk_widget_set_size_request (widget, width, height); - else + if (!(width == 0 && height == 0)) { - if (!(width == 0 && height == 0)) - { - gtk_widget_set_size_request (widget, width, height); - if (widget->parent != NULL) - gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); - } + gtk_widget_set_size_request (widget, width, height); + /* The GTK_IS_FIXED check here prevents gtk_fixed_move being + called when our parent is a GtkScrolledWindow. In that + case though, moving the child widget is invalid since a + ScrollPane only has one child and that child is always + located at (0, 0) in viewport coordinates. */ + if (widget->parent != NULL && GTK_IS_FIXED (widget->parent)) + gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); } gdk_threads_leave (); diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c index 76696431424..144ca0e8a95 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c @@ -188,3 +188,47 @@ Java_gnu_java_awt_peer_gtk_GtkFramePeer_nativeSetIconImage gdk_threads_leave (); } + +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkFramePeer_maximize +(JNIEnv *env, jobject obj) +{ + void *ptr; + gdk_threads_enter (); + ptr = NSA_GET_PTR (env, obj); + gtk_window_maximize (GTK_WINDOW (ptr)); + gdk_threads_leave (); +} + +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkFramePeer_unmaximize +(JNIEnv *env, jobject obj) +{ + void *ptr; + gdk_threads_enter (); + ptr = NSA_GET_PTR (env, obj); + gtk_window_unmaximize (GTK_WINDOW (ptr)); + gdk_threads_leave (); +} + +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkFramePeer_iconify +(JNIEnv *env, jobject obj) +{ + void *ptr; + gdk_threads_enter (); + ptr = NSA_GET_PTR (env, obj); + gtk_window_iconify (GTK_WINDOW (ptr)); + gdk_threads_leave (); +} + +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkFramePeer_deiconify +(JNIEnv *env, jobject obj) +{ + void *ptr; + gdk_threads_enter (); + ptr = NSA_GET_PTR (env, obj); + gtk_window_deiconify (GTK_WINDOW (ptr)); + gdk_threads_leave (); +} diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c index 77021ceec0a..13473a9a8db 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c @@ -213,7 +213,7 @@ Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeBounds gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (widget)), width, height); - if (widget->parent != NULL) + if (widget->parent != NULL && GTK_IS_FIXED (widget->parent)) gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); } diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c index 8949fa92762..0f868eaed6a 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c @@ -77,8 +77,10 @@ struct state_table *cp_gtk_native_state_table; struct state_table *cp_gtk_native_global_ref_table; static jclass gtkgenericpeer; +static jclass gtktoolkit; static JavaVM *java_vm; static jmethodID printCurrentThreadID; +static jmethodID setRunningID; union env_union { @@ -99,7 +101,9 @@ GtkWindowGroup *cp_gtk_global_window_group; double cp_gtk_dpi_conversion_factor; static void init_glib_threads(JNIEnv *, jint); - +static gboolean post_set_running_flag (gpointer); +static gboolean set_running_flag (gpointer); +static gboolean clear_running_flag (gpointer); static void init_dpi_conversion_factor (void); static void dpi_changed_cb (GtkSettings *settings, GParamSpec *pspec); @@ -199,6 +203,10 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, cp_gtk_global_window_group = gtk_window_group_new (); init_dpi_conversion_factor (); + + gtktoolkit = (*env)->FindClass(env, "gnu/java/awt/peer/gtk/GtkMainThread"); + setRunningID = (*env)->GetStaticMethodID (env, gtktoolkit, + "setRunning", "(Z)V"); } @@ -324,11 +332,25 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain { gdk_threads_enter (); + gtk_init_add (post_set_running_flag, NULL); + gtk_quit_add (gtk_main_level (), clear_running_flag, NULL); + gtk_main (); gdk_threads_leave (); } +JNIEXPORT void JNICALL +Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkQuit +(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused))) +{ + gdk_threads_enter (); + + gtk_main_quit (); + + gdk_threads_leave (); +} + static jint gdk_color_to_java_color (GdkColor color); @@ -491,3 +513,28 @@ gdk_color_to_java_color (GdkColor gdk_color) return (jint) (0xff000000 | (red << 16) | (green << 8) | blue); } + +static gboolean +post_set_running_flag (gpointer data __attribute__((unused))) +{ + g_idle_add (set_running_flag, NULL); + return FALSE; +} + +static gboolean +set_running_flag (gpointer data __attribute__((unused))) +{ + (*cp_gtk_gdk_env ())->CallStaticVoidMethod (cp_gtk_gdk_env (), + gtktoolkit, + setRunningID, TRUE); + return FALSE; +} + +static gboolean +clear_running_flag (gpointer data __attribute__((unused))) +{ + (*cp_gtk_gdk_env ())->CallStaticVoidMethod (cp_gtk_gdk_env (), + gtktoolkit, + setRunningID, FALSE); + return FALSE; +} diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c index e391d64ecdd..3fb5331a23e 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c @@ -88,7 +88,7 @@ Java_gnu_java_awt_peer_gtk_GtkVolatileImage_init (JNIEnv *env, */ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkVolatileImage_destroy -(JNIEnv *env __attribute__((unused)), jobject obj __attribute((unused)), +(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jlong pointer) { GdkPixmap* pixmap = JLONG_TO_PTR(GdkPixmap, pointer); @@ -110,10 +110,12 @@ Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels /* jint *pixeldata, *jpixdata; */ jint *jpixdata; GdkPixmap *pixmap; + GdkPixbuf *pixbuf; jintArray jpixels; int width, height, depth, size; jclass cls; jfieldID field; + guchar *pixels; cls = (*env)->GetObjectClass (env, obj); field = (*env)->GetFieldID (env, cls, "width", "I"); @@ -131,11 +133,19 @@ Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels /* get depth in bytes */ depth = gdk_drawable_get_depth( pixmap ) >> 3; - size = width * height * 4; + size = width * height; jpixels = (*env)->NewIntArray ( env, size ); jpixdata = (*env)->GetIntArrayElements (env, jpixels, NULL); - /* memcpy (jpixdata, pixeldata, size * sizeof( jint )); */ - + + pixbuf = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, 8, width, height ); + gdk_pixbuf_get_from_drawable( pixbuf, pixmap, NULL, 0, 0, 0, 0, width, height ); + + if (pixbuf != NULL) + { + pixels = gdk_pixbuf_get_pixels(pixbuf); + memcpy (jpixdata, pixels, size * sizeof(jint)); + } + (*env)->ReleaseIntArrayElements (env, jpixels, jpixdata, 0); gdk_threads_leave(); @@ -148,7 +158,7 @@ Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels */ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeCopyArea -(JNIEnv *env __attribute__((unused)), jobject obj __attribute((unused)), +(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jlong pointer, jint x, jint y, jint w, jint h, jint dx, jint dy) { GdkPixbuf *pixbuf; @@ -169,7 +179,7 @@ Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeCopyArea JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeDrawVolatile -(JNIEnv *env __attribute__((unused)), jobject obj __attribute((unused)), +(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jlong pointer, jlong srcptr, jint x, jint y, jint w, jint h) { GdkPixmap *dst, *src; diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c index 3f288af5ce1..aa70b9d2dca 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c +++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c @@ -44,7 +44,6 @@ exception statement from your version. */ #include #include -#define AWT_WINDOW_OPENED 200 #define AWT_WINDOW_CLOSING 201 #define AWT_WINDOW_CLOSED 202 #define AWT_WINDOW_ICONIFIED 203 @@ -55,6 +54,10 @@ exception statement from your version. */ #define AWT_WINDOW_LOST_FOCUS 208 #define AWT_WINDOW_STATE_CHANGED 209 +#define AWT_FRAME_NORMAL 0 +#define AWT_FRAME_ICONIFIED 1 +#define AWT_FRAME_MAXIMIZED_BOTH 6 + /* Virtual Keys */ /* This list should be kept in the same order as the VK_ field declarations in KeyEvent.java. */ @@ -1046,7 +1049,6 @@ static gboolean window_delete_cb (GtkWidget *widget, GdkEvent *event, jobject peer); static void window_destroy_cb (GtkWidget *widget, GdkEvent *event, jobject peer); -static void window_show_cb (GtkWidget *widget, jobject peer); static void window_focus_state_change_cb (GtkWidget *widget, GParamSpec *pspec, jobject peer); @@ -1322,9 +1324,6 @@ Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals g_signal_connect (G_OBJECT (ptr), "destroy-event", G_CALLBACK (window_destroy_cb), *gref); - g_signal_connect (G_OBJECT (ptr), "show", - G_CALLBACK (window_show_cb), *gref); - g_signal_connect (G_OBJECT (ptr), "notify::has-toplevel-focus", G_CALLBACK (window_focus_state_change_cb), *gref); @@ -1660,16 +1659,6 @@ window_destroy_cb (GtkWidget *widget __attribute__((unused)), (jobject) NULL, (jint) 0); } -static void -window_show_cb (GtkWidget *widget __attribute__((unused)), - jobject peer) -{ - (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), peer, - postWindowEventID, - (jint) AWT_WINDOW_OPENED, - (jobject) NULL, (jint) 0); -} - static void window_focus_state_change_cb (GtkWidget *widget, GParamSpec *pspec __attribute__((unused)), @@ -1718,41 +1707,24 @@ window_window_state_cb (GtkWidget *widget __attribute__((unused)), GdkEvent *event, jobject peer) { - jint new_state; - - /* Handle WINDOW_ICONIFIED and WINDOW_DEICONIFIED events. */ - if (event->window_state.changed_mask & GDK_WINDOW_STATE_ICONIFIED) - { - /* We've either been iconified or deiconified. */ - if (event->window_state.new_window_state & GDK_WINDOW_STATE_ICONIFIED) - { - /* We've been iconified. */ - (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), peer, - postWindowEventID, - (jint) AWT_WINDOW_ICONIFIED, - (jobject) NULL, (jint) 0); - } - else - { - /* We've been deiconified. */ - (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), peer, - postWindowEventID, - (jint) AWT_WINDOW_DEICONIFIED, - (jobject) NULL, (jint) 0); - } - } - - /* Post a WINDOW_STATE_CHANGED event, passing the new frame state to - GtkWindowPeer. */ - new_state = AWT_FRAME_STATE_NORMAL; - - if (event->window_state.new_window_state & GDK_WINDOW_STATE_ICONIFIED) - new_state |= AWT_FRAME_STATE_ICONIFIED; + jint new_java_state = 0; + /* Put together the new state and let the java side figure out what + * to post */ + GdkWindowState new_state = event->window_state.new_window_state; + /* The window can be either iconfified, maximized, iconified + maximized + * or normal. */ + if ((new_state & GDK_WINDOW_STATE_ICONIFIED) != 0) + new_java_state |= AWT_FRAME_ICONIFIED; + if ((new_state & GDK_WINDOW_STATE_MAXIMIZED) != 0) + new_java_state |= AWT_FRAME_MAXIMIZED_BOTH; + if ((new_state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_ICONIFIED)) + == 0) + new_java_state = AWT_FRAME_NORMAL; (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), peer, postWindowEventID, (jint) AWT_WINDOW_STATE_CHANGED, - (jobject) NULL, new_state); + (jobject) NULL, new_java_state); return TRUE; } diff --git a/libjava/classpath/native/jni/gtk-peer/gtk_jawt.c b/libjava/classpath/native/jni/gtk-peer/gtk_jawt.c index 763db8d1e8b..2348a63fb04 100644 --- a/libjava/classpath/native/jni/gtk-peer/gtk_jawt.c +++ b/libjava/classpath/native/jni/gtk-peer/gtk_jawt.c @@ -120,6 +120,41 @@ classpath_jawt_get_visualID (JNIEnv* env, jobject canvas) return (VisualID) NULL; } +/* Does not require locking: meant to be called after the drawing + surface is locked. */ +int +classpath_jawt_get_depth (JNIEnv* env, jobject canvas) +{ + GtkWidget *widget; + GdkVisual *visual; + void *ptr; + jobject peer; + jclass class_id; + jmethodID method_id; + + class_id = (*env)->GetObjectClass (env, canvas); + + method_id = (*env)->GetMethodID (env, class_id, + "getPeer", + "()Ljava/awt/peer/ComponentPeer;"); + + peer = (*env)->CallObjectMethod (env, canvas, method_id); + + ptr = NSA_GET_PTR (env, peer); + + widget = GTK_WIDGET (ptr); + + if (GTK_WIDGET_REALIZED (widget)) + { + visual = gtk_widget_get_visual (widget); + g_assert (visual != NULL); + + return visual->depth; + } + else + return (VisualID) NULL; +} + /* Does not require locking: meant to be called after the drawing surface is locked. */ Drawable diff --git a/libjava/classpath/native/jni/java-io/.cvsignore b/libjava/classpath/native/jni/java-io/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/java-io/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/java-io/Makefile.am b/libjava/classpath/native/jni/java-io/Makefile.am index ac7cf287247..637c74c61f3 100644 --- a/libjava/classpath/native/jni/java-io/Makefile.am +++ b/libjava/classpath/native/jni/java-io/Makefile.am @@ -4,7 +4,8 @@ libjavaio_la_SOURCES = java_io_VMFile.c \ java_io_VMObjectInputStream.c \ java_io_VMObjectStreamClass.c -libjavaio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo +libjavaio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in index bf8d17a71a7..88f39846aa9 100644 --- a/libjava/classpath/native/jni/java-io/Makefile.in +++ b/libjava/classpath/native/jni/java-io/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -63,7 +65,8 @@ am__installdirs = "$(DESTDIR)$(nativeexeclibdir)" nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) libjavaio_la_DEPENDENCIES = \ - $(top_builddir)/native/jni/classpath/jcl.lo + $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la am_libjavaio_la_OBJECTS = java_io_VMFile.lo \ java_io_VMObjectInputStream.lo java_io_VMObjectStreamClass.lo libjavaio_la_OBJECTS = $(am_libjavaio_la_OBJECTS) @@ -185,6 +188,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -306,14 +311,15 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libjavaio.la libjavaio_la_SOURCES = java_io_VMFile.c \ java_io_VMObjectInputStream.c \ java_io_VMObjectStreamClass.c -libjavaio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo +libjavaio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la + AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ diff --git a/libjava/classpath/native/jni/java-io/java_io_VMFile.c b/libjava/classpath/native/jni/java-io/java_io_VMFile.c index 7a3fdaf43a8..de1320b0cab 100644 --- a/libjava/classpath/native/jni/java-io/java_io_VMFile.c +++ b/libjava/classpath/native/jni/java-io/java_io_VMFile.c @@ -38,17 +38,20 @@ exception statement from your version. */ /* do not move; needed here because of some macro definitions */ #include +#include #include #include +#if defined (HAVE_LSTAT) && defined (HAVE_READLINK) +#include +#include +#include +#endif + #include #include - -#include "target_native.h" -#ifndef WITHOUT_FILESYSTEM -#include "target_native_file.h" -#endif -#include "target_native_math_int.h" +#include "cpio.h" +#include "cpnative.h" #include "java_io_VMFile.h" @@ -75,26 +78,25 @@ Java_java_io_VMFile_create (JNIEnv * env, filename = JCL_jstring_to_cstring (env, name); if (filename == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_OPEN_CREATE (filename, fd, result); - if (result != TARGET_NATIVE_OK) + result = cpio_openFile (filename, &fd, CPFILE_FLAG_CREATE|CPFILE_FLAG_WRITE, CPFILE_PERMISSION_NORMAL); + if (result != CPNATIVE_OK) { - /* XXX ??? NYI */ - if (errno != EEXIST) + if (result != EEXIST) JCL_ThrowException (env, "java/io/IOException", - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); JCL_free_cstring (env, name, filename); - return (0); + return 0; } - TARGET_NATIVE_FILE_CLOSE (fd, result); + cpio_closeFile (fd); JCL_free_cstring (env, name, filename); - return (1); + return 1; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -123,22 +125,20 @@ Java_java_io_VMFile_canRead (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } /* The lazy man's way out. We actually do open the file for reading briefly to verify it can be done */ - TARGET_NATIVE_FILE_OPEN_READ (filename, fd, result); + result = cpio_openFile (filename, &fd, CPFILE_FLAG_READ, 0); (*env)->ReleaseStringUTFChars (env, name, filename); - if (result != TARGET_NATIVE_OK) - { - return (0); - } - TARGET_NATIVE_FILE_CLOSE (fd, result); + if (result != CPNATIVE_OK) + return 0; + cpio_closeFile (fd); - return (1); + return 1; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -167,22 +167,22 @@ Java_java_io_VMFile_canWrite (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } /* The lazy man's way out. We actually do open the file for writing briefly to verify it can be done */ - TARGET_NATIVE_FILE_OPEN_READWRITE (filename, fd, result); + result = cpio_openFile (filename, &fd, CPFILE_FLAG_READWRITE, 0); (*env)->ReleaseStringUTFChars (env, name, filename); - if (result != TARGET_NATIVE_OK) + if (result != CPNATIVE_OK) { - return (0); + return 0; } - TARGET_NATIVE_FILE_CLOSE (fd, result); + cpio_closeFile (fd); - return (1); + return 1; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -210,15 +210,15 @@ Java_java_io_VMFile_setReadOnly (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_SET_MODE_READONLY (filename, result); + result = cpio_setFileReadonly (filename); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return result == CPNATIVE_OK ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -246,15 +246,15 @@ Java_java_io_VMFile_exists (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_EXISTS (filename, result); + result = cpio_isFileExists (filename); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return result == CPNATIVE_OK ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -277,21 +277,22 @@ Java_java_io_VMFile_isFile (JNIEnv * env, #ifndef WITHOUT_FILESYSTEM const char *filename; int result; + jint entryType; /* Don't use the JCL convert function because it throws an exception on failure */ filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_IS_FILE (filename, result); + result = cpio_checkType (filename, &entryType); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return result == CPNATIVE_OK && entryType == CPFILE_FILE ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -313,21 +314,22 @@ Java_java_io_VMFile_isDirectory (JNIEnv * env, #ifndef WITHOUT_FILESYSTEM const char *filename; int result; + jint entryType; /* Don't use the JCL convert function because it throws an exception on failure */ filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } - - TARGET_NATIVE_FILE_IS_DIRECTORY (filename, result); + + result = cpio_checkType (filename, &entryType); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return result == CPNATIVE_OK && entryType == CPFILE_DIRECTORY ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -356,29 +358,26 @@ Java_java_io_VMFile_length (JNIEnv * env, on failure */ filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) - { - return (TARGET_NATIVE_MATH_INT_INT64_CONST_0); - } + return 0; /* open file for reading, get size and close file */ - TARGET_NATIVE_FILE_OPEN_READ (filename, tmpfd, result); - if (result != TARGET_NATIVE_OK) - { - return (TARGET_NATIVE_MATH_INT_INT64_CONST_0); - } - TARGET_NATIVE_FILE_SIZE (tmpfd, length, result); - if (result != TARGET_NATIVE_OK) + result = cpio_openFile (filename, &tmpfd, CPFILE_FLAG_READ, 0); + if (result != CPNATIVE_OK) + return 0; + + result = cpio_getFileSize (tmpfd, &length); + if (result != CPNATIVE_OK) { - TARGET_NATIVE_FILE_CLOSE (tmpfd, result); - return (TARGET_NATIVE_MATH_INT_INT64_CONST_0); + cpio_closeFile (tmpfd); + return 0; } - TARGET_NATIVE_FILE_CLOSE (tmpfd, result); + + result = cpio_closeFile (tmpfd); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == - TARGET_NATIVE_OK) ? length : TARGET_NATIVE_MATH_INT_INT64_CONST_0); + return result == CPNATIVE_OK ? length : 0; #else /* not WITHOUT_FILESYSTEM */ - return (TARGET_NATIVE_MATH_INT_INT64_CONST_0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -407,16 +406,15 @@ Java_java_io_VMFile_lastModified (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (TARGET_NATIVE_MATH_INT_INT64_CONST_0); + return 0; } - TARGET_NATIVE_FILE_GET_LAST_MODIFIED (filename, mtime, result); + result = cpio_getModificationTime (filename, &mtime); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == - TARGET_NATIVE_OK) ? mtime : TARGET_NATIVE_MATH_INT_INT64_CONST_0); + return result == CPNATIVE_OK ? mtime : 0; #else /* not WITHOUT_FILESYSTEM */ - return (TARGET_NATIVE_MATH_INT_INT64_CONST_0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -444,15 +442,15 @@ Java_java_io_VMFile_setLastModified (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_SET_LAST_MODIFIED (filename, newtime, result); + result = cpio_setModificationTime (filename, newtime); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return result == CPNATIVE_OK ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -481,15 +479,15 @@ Java_java_io_VMFile_delete (JNIEnv * env, filename = (*env)->GetStringUTFChars (env, name, 0); if (filename == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_DELETE (filename, result); + result = cpio_removeFile (filename); (*env)->ReleaseStringUTFChars (env, name, filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return result == CPNATIVE_OK ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -517,15 +515,15 @@ Java_java_io_VMFile_mkdir (JNIEnv * env, pathname = (*env)->GetStringUTFChars (env, name, 0); if (pathname == NULL) { - return (0); + return 0; } - TARGET_NATIVE_FILE_MAKE_DIR (pathname, result); + result = cpio_mkdir (pathname); (*env)->ReleaseStringUTFChars (env, name, pathname); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return (result == CPNATIVE_OK) ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -553,23 +551,23 @@ Java_java_io_VMFile_renameTo (JNIEnv * env, old_filename = (*env)->GetStringUTFChars (env, t, 0); if (old_filename == NULL) { - return (0); + return 0; } new_filename = (*env)->GetStringUTFChars (env, d, 0); if (new_filename == NULL) { (*env)->ReleaseStringUTFChars (env, t, old_filename); - return (0); + return 0; } - TARGET_NATIVE_FILE_RENAME (old_filename, new_filename, result); + result = cpio_rename (old_filename, new_filename); (*env)->ReleaseStringUTFChars (env, d, new_filename); (*env)->ReleaseStringUTFChars (env, t, old_filename); - return ((result == TARGET_NATIVE_OK) ? 1 : 0); + return (result == CPNATIVE_OK) ? 1 : 0; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } @@ -595,7 +593,7 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj int result; char **filelist; void *handle; - const char *filename; + char *filename = (char *) JCL_malloc (env, FILENAME_MAX); unsigned long int filelist_count, max_filelist_count; char **tmp_filelist; jclass str_clazz; @@ -608,32 +606,32 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj dirname = (*env)->GetStringUTFChars (env, name, 0); if (dirname == NULL) { - return (0); + return 0; } /* open directory for reading */ - TARGET_NATIVE_FILE_OPEN_DIR (dirname, handle, result); + result = cpio_openDir (dirname, &handle); (*env)->ReleaseStringUTFChars (env, name, dirname); - if (result != TARGET_NATIVE_OK) + if (result != CPNATIVE_OK) { - return (0); + return 0; } /* allocate filelist */ filelist = (char **) JCL_malloc (env, sizeof (char *) * REALLOC_SIZE); if (filelist == NULL) { - TARGET_NATIVE_FILE_CLOSE_DIR (handle, result); - return (0); + result = cpio_closeDir (handle); + return 0; } filelist_count = 0; max_filelist_count = REALLOC_SIZE; /* read the files from the directory */ - TARGET_NATIVE_FILE_READ_DIR (handle, filename, result); - while (result == TARGET_NATIVE_OK) + result = cpio_readDir (handle, filename); + while (result == CPNATIVE_OK) { if ((strcmp (filename, ".") != 0) && (strcmp (filename, "..") != 0)) { @@ -652,8 +650,8 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj JCL_free (env, filelist[i]); } JCL_free (env, filelist); - TARGET_NATIVE_FILE_CLOSE_DIR (handle, result); - return (0); + result = cpio_closeDir (handle); + return 0; } filelist = tmp_filelist; max_filelist_count += REALLOC_SIZE; @@ -668,11 +666,13 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj } /* read next directory entry */ - TARGET_NATIVE_FILE_READ_DIR (handle, filename, result); + result = cpio_readDir (handle, filename); } + JCL_free (env, filename); + /* close directory */ - TARGET_NATIVE_FILE_CLOSE_DIR (handle, result); + result = cpio_closeDir (handle); /* put the list of files into a Java String array and return it */ str_clazz = (*env)->FindClass (env, "java/lang/String"); @@ -683,7 +683,7 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj JCL_free (env, filelist[i]); } JCL_free (env, filelist); - return (0); + return 0; } filearray = (*env)->NewObjectArray (env, filelist_count, str_clazz, 0); if (filearray == NULL) @@ -693,8 +693,11 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj JCL_free (env, filelist[i]); } JCL_free (env, filelist); - return (0); + return 0; } + + (*env)->DeleteLocalRef (env, str_clazz); + for (i = 0; i < filelist_count; i++) { /* create new string */ @@ -708,7 +711,7 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj JCL_free (env, filelist[i]); } JCL_free (env, filelist); - return (0); + return 0; } /* save into array */ @@ -725,9 +728,9 @@ Java_java_io_VMFile_list (JNIEnv * env, jobject obj } JCL_free (env, filelist); - return (filearray); + return filearray; #else /* not WITHOUT_FILESYSTEM */ - return (0); + return 0; #endif /* not WITHOUT_FILESYSTEM */ } diff --git a/libjava/classpath/native/jni/java-lang/.cvsignore b/libjava/classpath/native/jni/java-lang/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/java-lang/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/java-lang/Makefile.am b/libjava/classpath/native/jni/java-lang/Makefile.am index 06deb62b810..366d72e4c12 100644 --- a/libjava/classpath/native/jni/java-lang/Makefile.am +++ b/libjava/classpath/native/jni/java-lang/Makefile.am @@ -7,7 +7,8 @@ libjavalang_la_SOURCES = java_lang_VMSystem.c \ java_lang_VMProcess.c libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \ - $(top_builddir)/native/jni/classpath/jcl.lo + $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la libjavalangreflect_la_SOURCES = java_lang_reflect_VMArray.c diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in index c8f3dabb291..4a99863f30b 100644 --- a/libjava/classpath/native/jni/java-lang/Makefile.in +++ b/libjava/classpath/native/jni/java-lang/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -64,7 +66,8 @@ nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) libjavalang_la_DEPENDENCIES = $(wildcard \ $(top_builddir)/native/fdlibm/*.lo) \ - $(top_builddir)/native/jni/classpath/jcl.lo + $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la am_libjavalang_la_OBJECTS = java_lang_VMSystem.lo java_lang_VMFloat.lo \ java_lang_VMDouble.lo java_lang_VMMath.lo \ java_lang_VMProcess.lo @@ -191,6 +194,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -312,7 +317,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la libjavalang_la_SOURCES = java_lang_VMSystem.c \ @@ -322,7 +326,8 @@ libjavalang_la_SOURCES = java_lang_VMSystem.c \ java_lang_VMProcess.c libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \ - $(top_builddir)/native/jni/classpath/jcl.lo + $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la libjavalangreflect_la_SOURCES = java_lang_reflect_VMArray.c AM_LDFLAGS = @CLASSPATH_MODULE@ diff --git a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c index 8435c3fdba7..2ee1f31466b 100644 --- a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c +++ b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c @@ -37,6 +37,7 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ +#include #include #include #include @@ -121,17 +122,8 @@ Java_java_lang_VMDouble_doubleToLongBits { jvalue val; jlong e, f; - val.d = doubleValue; - -#if defined(__IEEE_BYTES_LITTLE_ENDIAN) - /* On little endian ARM processors when using FPA, word order of - doubles is still big endian. So take that into account here. When - using VFP, word order of doubles follows byte order. */ - -#define SWAP_DOUBLE(a) (((a) << 32) | (((a) >> 32) & 0x00000000ffffffff)) - val.j = SWAP_DOUBLE(val.j); -#endif + val.d = doubleValue; e = val.j & 0x7ff0000000000000LL; f = val.j & 0x000fffffffffffffLL; @@ -153,11 +145,8 @@ Java_java_lang_VMDouble_doubleToRawLongBits jclass cls __attribute__ ((__unused__)), jdouble doubleValue) { jvalue val; - val.d = doubleValue; -#if defined(__IEEE_BYTES_LITTLE_ENDIAN) - val.j = SWAP_DOUBLE(val.j); -#endif + val.d = doubleValue; return val.j; } @@ -173,52 +162,139 @@ Java_java_lang_VMDouble_longBitsToDouble jclass cls __attribute__ ((__unused__)), jlong longValue) { jvalue val; - val.j = longValue; -#if defined(__IEEE_BYTES_LITTLE_ENDIAN) - val.j = SWAP_DOUBLE(val.j); -#endif + val.j = longValue; return val.d; } -/* - * Class: java_lang_VMDouble - * Method: toString - * Signature: (DZ)Ljava/lang/String; +/** + * Parse a double from a char array. */ -JNIEXPORT jstring JNICALL -Java_java_lang_VMDouble_toString - (JNIEnv * env, jclass cls __attribute__ ((__unused__)), jdouble value, jboolean isFloat) +static jdouble +parseDoubleFromChars(JNIEnv * env, const char * buf) { - char buffer[50], result[50]; - int decpt, sign; - char *s, *d; - int i; + char *endptr; + jdouble val = 0.0; + const char *p = buf, *end, *last_non_ws, *temp; + int ok = 1; #ifdef DEBUG - fprintf (stderr, "java.lang.VMDouble.toString (%g)\n", value); + fprintf (stderr, "java.lang.VMDouble.parseDouble (%s)\n", buf); #endif - if ((*env)->CallStaticBooleanMethod (env, clsDouble, isNaNID, value)) - return (*env)->NewStringUTF (env, "NaN"); + /* Trim the buffer, similar to String.trim(). First the leading + characters. */ + while (*p && *p <= ' ') + ++p; - if (value == POSITIVE_INFINITY) - return (*env)->NewStringUTF (env, "Infinity"); + /* Find the last non-whitespace character. This method is safe + even with multi-byte UTF-8 characters. */ + end = p; + last_non_ws = NULL; + while (*end) + { + if (*end > ' ') + last_non_ws = end; + ++end; + } - if (value == NEGATIVE_INFINITY) - return (*env)->NewStringUTF (env, "-Infinity"); + if (last_non_ws == NULL) + last_non_ws = p + strlen (p); + else + { + /* Skip past the last non-whitespace character. */ + ++last_non_ws; + } - _dtoa (value, 0, 20, &decpt, &sign, NULL, buffer, (int) isFloat); + /* Check for infinity and NaN */ + temp = p; + if (temp[0] == '+' || temp[0] == '-') + temp++; + if (strncmp ("Infinity", temp, (size_t) 8) == 0) + { + if (p[0] == '-') + return NEGATIVE_INFINITY; + return POSITIVE_INFINITY; + } + if (strncmp ("NaN", temp, (size_t) 3) == 0) + return NaN; + + /* Skip a trailing `f' or `d'. */ + if (last_non_ws > p + && (last_non_ws[-1] == 'f' + || last_non_ws[-1] == 'F' + || last_non_ws[-1] == 'd' || last_non_ws[-1] == 'D')) + --last_non_ws; + + if (last_non_ws > p) + { + struct _Jv_reent reent; + memset (&reent, 0, sizeof reent); + + val = _strtod_r (&reent, p, &endptr); + +#ifdef DEBUG + fprintf (stderr, "java.lang.VMDouble.parseDouble val = %g\n", val); + fprintf (stderr, "java.lang.VMDouble.parseDouble %i != %i ???\n", + endptr, last_non_ws); +#endif + if (endptr != last_non_ws) + ok = 0; + } + else + ok = 0; + + if (!ok) + { + val = 0.0; + JCL_ThrowException (env, + "java/lang/NumberFormatException", + "unable to parse double"); + } + + return val; +} + +#define MAXIMAL_DECIMAL_STRING_LENGTH 64 + +/** + * Use _dtoa to print a double or a float as a string with the given precision. + */ +static void +dtoa_toString +(char * buffer, jdouble value, jint precision, jboolean isFloat) +{ + const int DTOA_MODE = 2; + char result[MAXIMAL_DECIMAL_STRING_LENGTH]; + int decpt, sign; + char *s, *d; + int i; + + /* use mode 2 to get at the digit stream, all other modes are useless + * + * since mode 2 only gives us as many digits as we need in precision, we need to + * add the digits in front of the floating point to it, if there is more than one + * to be printed. That's the case if the value is going to be printed using the + * normal notation, i.e. if it is 0 or >= 1.0e-3 and < 1.0e7. + */ + int digits_in_front_of_floating_point = ceil(log10(value)); + + if (digits_in_front_of_floating_point > 1 && digits_in_front_of_floating_point < 7) + precision += digits_in_front_of_floating_point; + + _dtoa (value, DTOA_MODE, precision, &decpt, &sign, NULL, buffer, (int) isFloat); value = fabs (value); s = buffer; d = result; + /* Handle negative sign */ if (sign) *d++ = '-'; + /* Handle normal represenation */ if ((value >= 1e-3 && value < 1e7) || (value == 0)) { if (decpt <= 0) @@ -248,46 +324,111 @@ Java_java_lang_VMDouble_toString *d = 0; - return (*env)->NewStringUTF (env, result); } + /* Handle scientific representaiton */ + else + { + *d++ = *s++; + decpt--; + *d++ = '.'; + + if (*s == 0) + *d++ = '0'; - *d++ = *s++; - decpt--; - *d++ = '.'; + while (*s) + *d++ = *s++; - if (*s == 0) - *d++ = '0'; + *d++ = 'E'; - while (*s) - *d++ = *s++; + if (decpt < 0) + { + *d++ = '-'; + decpt = -decpt; + } - *d++ = 'E'; + { + char exp[4]; + char *e = exp + sizeof exp; + + *--e = 0; + do + { + *--e = '0' + decpt % 10; + decpt /= 10; + } + while (decpt > 0); + + while (*e) + *d++ = *e++; + } - if (decpt < 0) - { - *d++ = '-'; - decpt = -decpt; + *d = 0; } - { - char exp[4]; - char *e = exp + sizeof exp; + /* copy the result into the buffer */ + memcpy(buffer, result, MAXIMAL_DECIMAL_STRING_LENGTH); +} - *--e = 0; - do - { - *--e = '0' + decpt % 10; - decpt /= 10; - } - while (decpt > 0); +/* + * Class: java_lang_VMDouble + * Method: toString + * Signature: (DZ)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL +Java_java_lang_VMDouble_toString + (JNIEnv * env, jclass cls __attribute__ ((__unused__)), jdouble value, jboolean isFloat) +{ + char buf[MAXIMAL_DECIMAL_STRING_LENGTH]; + const jint MAXIMAL_FLOAT_PRECISION = 10; + const jint MAXIMAL_DOUBLE_PRECISION = 19; - while (*e) - *d++ = *e++; - } + jint maximal_precision; + jint least_necessary_precision = 2; + jboolean parsed_value_unequal; + + if ((*env)->CallStaticBooleanMethod (env, clsDouble, isNaNID, value)) + return (*env)->NewStringUTF (env, "NaN"); + + if (value == POSITIVE_INFINITY) + return (*env)->NewStringUTF (env, "Infinity"); + + if (value == NEGATIVE_INFINITY) + return (*env)->NewStringUTF (env, "-Infinity"); + + if (isFloat) + maximal_precision = MAXIMAL_FLOAT_PRECISION; + else + maximal_precision = MAXIMAL_DOUBLE_PRECISION; + + /* Try to find the 'good enough' precision, + * that results in enough digits being printed to be able to + * convert the number back into the original double, but no + * further digits. + */ + + do { + jdouble parsed_value; - *d = 0; + assert(least_necessary_precision <= maximal_precision); - return (*env)->NewStringUTF (env, result); + /* Convert the value to a string and back. */ + dtoa_toString(buf, value, least_necessary_precision, isFloat); + + parsed_value = parseDoubleFromChars(env, buf); + + /* Check whether the original value, and the value after conversion match. */ + /* We need to cast floats to float to make sure that our ineqality check works + * well for floats as well as for doubles. + */ + parsed_value_unequal = ( isFloat ? + (float) parsed_value != (float) value : + parsed_value != value); + + least_necessary_precision++; + } + while (parsed_value_unequal); + + return (*env)->NewStringUTF (env, buf); } /* @@ -301,7 +442,6 @@ Java_java_lang_VMDouble_parseDouble { jboolean isCopy; const char *buf; - char *endptr; jdouble val = 0.0; if (str == NULL) @@ -317,83 +457,7 @@ Java_java_lang_VMDouble_parseDouble } else { - const char *p = buf, *end, *last_non_ws, *temp; - int ok = 1; - -#ifdef DEBUG - fprintf (stderr, "java.lang.VMDouble.parseDouble (%s)\n", buf); -#endif - - /* Trim the buffer, similar to String.trim(). First the leading - characters. */ - while (*p && *p <= ' ') - ++p; - - /* Find the last non-whitespace character. This method is safe - even with multi-byte UTF-8 characters. */ - end = p; - last_non_ws = NULL; - while (*end) - { - if (*end > ' ') - last_non_ws = end; - ++end; - } - - if (last_non_ws == NULL) - last_non_ws = p + strlen (p); - else - { - /* Skip past the last non-whitespace character. */ - ++last_non_ws; - } - - /* Check for infinity and NaN */ - temp = p; - if (temp[0] == '+' || temp[0] == '-') - temp++; - if (strncmp ("Infinity", temp, (size_t) 8) == 0) - { - if (p[0] == '-') - return NEGATIVE_INFINITY; - return POSITIVE_INFINITY; - } - if (strncmp ("NaN", temp, (size_t) 3) == 0) - return NaN; - - /* Skip a trailing `f' or `d'. */ - if (last_non_ws > p - && (last_non_ws[-1] == 'f' - || last_non_ws[-1] == 'F' - || last_non_ws[-1] == 'd' || last_non_ws[-1] == 'D')) - --last_non_ws; - - if (last_non_ws > p) - { - struct _Jv_reent reent; - memset (&reent, 0, sizeof reent); - - val = _strtod_r (&reent, p, &endptr); - -#ifdef DEBUG - fprintf (stderr, "java.lang.VMDouble.parseDouble val = %g\n", val); - fprintf (stderr, "java.lang.VMDouble.parseDouble %i != %i ???\n", - endptr, last_non_ws); -#endif - if (endptr != last_non_ws) - ok = 0; - } - else - ok = 0; - - if (!ok) - { - val = 0.0; - JCL_ThrowException (env, - "java/lang/NumberFormatException", - "unable to parse double"); - } - + val = parseDoubleFromChars(env, buf); (*env)->ReleaseStringUTFChars (env, str, buf); } diff --git a/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c b/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c index f13a94f1889..a6076f2aea9 100644 --- a/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c +++ b/libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c @@ -38,7 +38,7 @@ exception statement from your version. */ #include #include "java_lang_VMProcess.h" -#include "gnu_java_nio_channels_FileChannelImpl.h" +#include "gnu_java_nio_FileChannelImpl.h" #include #include @@ -50,10 +50,8 @@ exception statement from your version. */ #include #include -#include - -#include "target_native.h" -#include "target_native_misc.h" +#include "cpnative.h" +#include "cpproc.h" /* Internal functions */ static char *copy_string (JNIEnv * env, jobject string); @@ -65,7 +63,6 @@ static char *copy_elem (JNIEnv * env, jobject stringArray, jint i); static char * copy_string (JNIEnv * env, jobject string) { - char errbuf[64]; const char *utf; jclass clazz; char *copy; @@ -89,12 +86,10 @@ copy_string (JNIEnv * env, jobject string) /* Copy it */ if ((copy = strdup (utf)) == NULL) { - TARGET_NATIVE_MISC_FORMAT_STRING1 (errbuf, sizeof (errbuf), - "strdup: %s", strerror (errno)); clazz = (*env)->FindClass (env, "java/lang/InternalError"); if ((*env)->ExceptionOccurred (env)) return NULL; - (*env)->ThrowNew (env, clazz, errbuf); + (*env)->ThrowNew (env, clazz, "strdup returned NULL"); (*env)->DeleteLocalRef (env, clazz); } @@ -131,8 +126,8 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this, jobjectArray envArray, jobject dirFile, jboolean redirect) { - int fds[3][2] = { {-1, -1}, {-1, -1}, {-1, -1} }; - jobject streams[3] = { NULL, NULL, NULL }; + int fds[CPIO_EXEC_NUM_PIPES]; + jobject streams[CPIO_EXEC_NUM_PIPES] = { NULL, NULL, NULL }; jobject dirString = NULL; char **newEnviron = NULL; jsize cmdArrayLen = 0; @@ -142,10 +137,11 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this, char *dir = NULL; pid_t pid = -1; char errbuf[64]; - jmethodID method; - jclass clazz; + jmethodID method, vmmethod; + jclass clazz, vmclazz; int i; int pipe_count = redirect ? 2 : 3; + int err; /* Check for null */ if (cmdArray == NULL) @@ -182,9 +178,7 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this, + (dirString != NULL ? 1 : 0)) * sizeof (*strings))) == NULL) { - TARGET_NATIVE_MISC_FORMAT_STRING1 (errbuf, - sizeof (errbuf), "malloc: %s", - strerror (errno)); + strncpy (errbuf, "malloc failed", sizeof(errbuf)); goto out_of_memory; } @@ -209,125 +203,43 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this, { if ((dir = copy_string (env, dirString)) == NULL) goto done; - strings[num_strings++] = dir; } /* Create inter-process pipes */ - for (i = 0; i < pipe_count; i++) - { - if (pipe (fds[i]) == -1) - { - TARGET_NATIVE_MISC_FORMAT_STRING1 (errbuf, - sizeof (errbuf), "pipe: %s", - strerror (errno)); - goto system_error; - } - } - - /* Set close-on-exec flag for parent's ends of pipes */ - (void) fcntl (fds[0][1], F_SETFD, 1); - (void) fcntl (fds[1][0], F_SETFD, 1); - if (pipe_count == 3) - (void) fcntl (fds[2][0], F_SETFD, 1); - - /* Fork into parent and child processes */ - if ((pid = fork ()) == (pid_t) - 1) + err = cpproc_forkAndExec(strings, newEnviron, fds, pipe_count, &pid, dir); + if (err != 0) { - TARGET_NATIVE_MISC_FORMAT_STRING1 (errbuf, - sizeof (errbuf), "fork: %s", - strerror (errno)); + strncpy(errbuf, cpnative_getErrorString (err), sizeof(errbuf)); goto system_error; } - /* Child becomes the new process */ - if (pid == 0) - { - char *const path = strings[0]; - - /* Move file descriptors to standard locations */ - if (fds[0][0] != 0) - { - if (dup2 (fds[0][0], 0) == -1) - { - fprintf (stderr, "dup2: %s", strerror (errno)); - exit (127); - } - close (fds[0][0]); - } - if (fds[1][1] != 1) - { - if (dup2 (fds[1][1], 1) == -1) - { - fprintf (stderr, "dup2: %s", strerror (errno)); - exit (127); - } - close (fds[1][1]); - } - if (pipe_count == 2) - { - /* Duplicate stdout to stderr. */ - if (dup2 (1, 2) == -1) - { - fprintf (stderr, "dup2: %s", strerror (errno)); - exit (127); - } - } - else if (fds[2][1] != 2) - { - if (dup2 (fds[2][1], 2) == -1) - { - fprintf (stderr, "dup2: %s", strerror (errno)); - exit (127); - } - close (fds[2][1]); - } - - /* Change into destination directory */ - if (dir != NULL && chdir (dir) == -1) - { - fprintf (stderr, "%s: %s", dir, strerror (errno)); - exit (127); - } - - /* Make argv[0] last component of executable pathname */ - /* XXX should use "file.separator" property here XXX */ - for (i = strlen (path); i > 0 && path[i - 1] != '/'; i--); - strings[0] = path + i; - - /* Set new environment */ - if (newEnviron != NULL) - environ = newEnviron; - - /* Execute new program (this will close the parent end of the pipes) */ - execvp (path, strings); - - /* Failed */ - fprintf (stderr, "%s: %s", path, strerror (errno)); - exit (127); - } - /* Create Input/OutputStream objects around parent file descriptors */ - clazz = (*env)->FindClass (env, "gnu/java/nio/channels/FileChannelImpl"); + vmclazz = (*env)->FindClass (env, "gnu/java/nio/VMChannel"); + clazz = (*env)->FindClass (env, "gnu/java/nio/FileChannelImpl"); if ((*env)->ExceptionOccurred (env)) goto done; - method = (*env)->GetMethodID (env, clazz, "", "(II)V"); + vmmethod = (*env)->GetMethodID (env, vmclazz, "", "(I)V"); + method = (*env)->GetMethodID (env, clazz, "", "(Lgnu/java/nio/VMChannel;I)V"); if ((*env)->ExceptionOccurred (env)) goto done; for (i = 0; i < pipe_count; i++) { /* Mode is WRITE (2) for in and READ (1) for out and err. */ - const int fd = fds[i][i == 0]; - const int mode = ((i == 0) - ? gnu_java_nio_channels_FileChannelImpl_WRITE - : gnu_java_nio_channels_FileChannelImpl_READ); + const int fd = fds[i]; + const int mode = ((i == CPIO_EXEC_STDIN) ? 2 : 1); jclass sclazz; jmethodID smethod; - jobject channel = (*env)->NewObject (env, clazz, method, fd, mode); + jobject vmchannel; + jobject channel; + vmchannel = (*env)->NewObject (env, vmclazz, vmmethod, fd); + if ((*env)->ExceptionOccurred (env)) + goto done; + channel = (*env)->NewObject (env, clazz, method, vmchannel, mode); if ((*env)->ExceptionOccurred (env)) goto done; - if (mode == gnu_java_nio_channels_FileChannelImpl_WRITE) + if (mode == gnu_java_nio_FileChannelImpl_WRITE) sclazz = (*env)->FindClass (env, "java/io/FileOutputStream"); else sclazz = (*env)->FindClass (env, "java/io/FileInputStream"); @@ -335,7 +247,7 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this, goto done; smethod = (*env)->GetMethodID (env, sclazz, "", - "(Lgnu/java/nio/channels/FileChannelImpl;)V"); + "(Lgnu/java/nio/FileChannelImpl;)V"); if ((*env)->ExceptionOccurred (env)) goto done; @@ -355,7 +267,10 @@ Java_java_lang_VMProcess_nativeSpawn (JNIEnv * env, jobject this, if ((*env)->ExceptionOccurred (env)) goto done; (*env)->CallVoidMethod (env, this, method, - streams[0], streams[1], streams[2], (jlong) pid); + streams[CPIO_EXEC_STDIN], + streams[CPIO_EXEC_STDOUT], + streams[CPIO_EXEC_STDERR], + (jlong) pid); if ((*env)->ExceptionOccurred (env)) goto done; @@ -365,15 +280,6 @@ done: * parent process. Our goal is to clean up the mess we created. */ - /* Close child's ends of pipes */ - for (i = 0; i < pipe_count; i++) - { - const int fd = fds[i][i != 0]; - - if (fd != -1) - close (fd); - } - /* * Close parent's ends of pipes if Input/OutputStreams never got created. * This can only happen in a failure case. If a Stream object @@ -382,7 +288,7 @@ done: */ for (i = 0; i < pipe_count; i++) { - const int fd = fds[i][i == 0]; + const int fd = fds[i]; if (fd != -1 && streams[i] == NULL) close (fd); @@ -392,7 +298,8 @@ done: while (num_strings > 0) free (strings[--num_strings]); free (strings); - + if (dir != NULL) + free(dir); /* Done */ return; @@ -431,19 +338,20 @@ Java_java_lang_VMProcess_nativeReap (JNIEnv * env, jclass clazz) jfieldID field; jint status; pid_t pid; + int err; /* Try to reap a child process, but don't block */ - if ((pid = waitpid ((pid_t) - 1, &status, WNOHANG)) == 0) + err = cpproc_waitpid((pid_t)-1, &status, &pid, WNOHANG); + if (err == 0 && pid == 0) return JNI_FALSE; /* Check result from waitpid() */ - if (pid == (pid_t) - 1) + if (err != 0) { - if (errno == ECHILD || errno == EINTR) + if (err == ECHILD || err == EINTR) return JNI_FALSE; - TARGET_NATIVE_MISC_FORMAT_STRING2 (ebuf, - sizeof (ebuf), "waitpid(%ld): %s", - (long) pid, strerror (errno)); + snprintf(ebuf, sizeof (ebuf), "waitpid(%ld): %s", + (long) pid, cpnative_getErrorString(errno)); clazz = (*env)->FindClass (env, "java/lang/InternalError"); if ((*env)->ExceptionOccurred (env)) return JNI_FALSE; @@ -485,12 +393,13 @@ JNIEXPORT void JNICALL Java_java_lang_VMProcess_nativeKill (JNIEnv * env, jclass clazz, jlong pid) { char ebuf[64]; - - if (kill ((pid_t) pid, SIGKILL) == -1) + int err; + + err = cpproc_kill((pid_t) pid, SIGKILL); + if (err != 0) { - TARGET_NATIVE_MISC_FORMAT_STRING2 (ebuf, - sizeof (ebuf), "kill(%ld): %s", - (long) pid, strerror (errno)); + snprintf (ebuf, sizeof (ebuf), "kill(%ld): %s", + (long) pid, cpnative_getErrorString (err)); clazz = (*env)->FindClass (env, "java/lang/InternalError"); if ((*env)->ExceptionOccurred (env)) return; diff --git a/libjava/classpath/native/jni/java-net/.cvsignore b/libjava/classpath/native/jni/java-net/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/java-net/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/java-net/Makefile.am b/libjava/classpath/native/jni/java-net/Makefile.am index 26bb64f73bf..1278b946c63 100644 --- a/libjava/classpath/native/jni/java-net/Makefile.am +++ b/libjava/classpath/native/jni/java-net/Makefile.am @@ -13,11 +13,12 @@ libjavanet_la_SOURCES = javanet.c \ java_net_VMInetAddress.c \ java_net_VMNetworkInterface.c \ java_net_VMURLConnection.c \ - gnu_java_net_VMPlainDatagramSocketImpl.c \ gnu_java_net_VMPlainSocketImpl.c \ $(local_sources) -libjavanet_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo $(LIBMAGIC) +libjavanet_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ + $(LIBMAGIC) AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jni/java-net/Makefile.in b/libjava/classpath/native/jni/java-net/Makefile.in index c427f8cd5bb..ec8f6a858d7 100644 --- a/libjava/classpath/native/jni/java-net/Makefile.in +++ b/libjava/classpath/native/jni/java-net/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -65,19 +67,17 @@ LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) am__DEPENDENCIES_1 = libjavanet_la_DEPENDENCIES = \ $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ $(am__DEPENDENCIES_1) am__libjavanet_la_SOURCES_DIST = javanet.c javanet.h \ java_net_VMInetAddress.c java_net_VMNetworkInterface.c \ - java_net_VMURLConnection.c \ - gnu_java_net_VMPlainDatagramSocketImpl.c \ - gnu_java_net_VMPlainSocketImpl.c \ + java_net_VMURLConnection.c gnu_java_net_VMPlainSocketImpl.c \ gnu_java_net_local_LocalSocketImpl.c local.c local.h @ENABLE_LOCAL_SOCKETS_FALSE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo @ENABLE_LOCAL_SOCKETS_TRUE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo \ @ENABLE_LOCAL_SOCKETS_TRUE@ local.lo am_libjavanet_la_OBJECTS = javanet.lo java_net_VMInetAddress.lo \ java_net_VMNetworkInterface.lo java_net_VMURLConnection.lo \ - gnu_java_net_VMPlainDatagramSocketImpl.lo \ gnu_java_net_VMPlainSocketImpl.lo $(am__objects_1) libjavanet_la_OBJECTS = $(am_libjavanet_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include @@ -198,6 +198,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -319,7 +321,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libjavanet.la @ENABLE_LOCAL_SOCKETS_FALSE@local_sources = gnu_java_net_local_LocalSocketImpl.c @@ -332,11 +333,13 @@ libjavanet_la_SOURCES = javanet.c \ java_net_VMInetAddress.c \ java_net_VMNetworkInterface.c \ java_net_VMURLConnection.c \ - gnu_java_net_VMPlainDatagramSocketImpl.c \ gnu_java_net_VMPlainSocketImpl.c \ $(local_sources) -libjavanet_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo $(LIBMAGIC) +libjavanet_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ + $(LIBMAGIC) + AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ @@ -409,7 +412,6 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_net_VMPlainDatagramSocketImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_net_VMPlainSocketImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_net_local_LocalSocketImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_net_VMInetAddress.Plo@am__quote@ diff --git a/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c b/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c deleted file mode 100644 index 1b3cb97e0d0..00000000000 --- a/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c +++ /dev/null @@ -1,399 +0,0 @@ -/* VMPlainDatagramSocketImpl.c - Native methods for PlainDatagramSocketImpl - Copyright (C) 2005, 2006 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. */ - -/* do not move; needed here because of some macro definitions */ -#include - -#include -#include -#include - -#include -#include - -#include "javanet.h" - -#include "target_native.h" -#ifndef WITHOUT_NETWORK - #include "target_native_network.h" -#endif /* WITHOUT_NETWORK */ - - -#include "gnu_java_net_VMPlainDatagramSocketImpl.h" - -/* - * Note that most of the functions in this module simply redirect to another - * internal function. Why? Because many of these functions are shared - * with PlainSocketImpl. - */ - -/*************************************************************************/ - -/* - * Creates a new datagram socket - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_create(JNIEnv *env, - jclass klass __attribute__ ((__unused__)) - , jobject obj) -{ - -#ifndef WITHOUT_NETWORK - _javanet_create(env, obj, 0); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * Close the socket. - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_close(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj) -{ - -#ifndef WITHOUT_NETWORK - _javanet_close(env, obj, 0); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * Connects to the specified destination. - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_connect(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jobject addr, jint port) -{ -#ifndef WITHOUT_NETWORK - - _javanet_connect(env, obj, addr, port, 0); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * This method binds the specified address to the specified local port. - * Note that we have to set the local address and local port public instance - * variables. - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_bind(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jint port, jobject addr) -{ - -#ifndef WITHOUT_NETWORK - _javanet_bind(env, obj, addr, port, 0); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * This method sets the specified option for a socket - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_setOption(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jint option_id, - jobject val) -{ - -#ifndef WITHOUT_NETWORK - _javanet_set_option(env, obj, option_id, val); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * This method sets the specified option for a socket - */ -JNIEXPORT jobject JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_getOption(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jint option_id) -{ - -#ifndef WITHOUT_NETWORK - return(_javanet_get_option(env, obj, option_id)); -#else /* not WITHOUT_NETWORK */ - return NULL; -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * Reads a buffer from a remote host - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_nativeReceive(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jbyteArray arr, - jint offset, - jint length, - jbyteArray receivedFromAddress, - jintArray receivedFromPort, - jintArray receivedLength) -{ -#ifndef WITHOUT_NETWORK - int addr, *port, *bytes_read; - char *addressBytes; - - addr = 0; - - port = (int*)(*env)->GetIntArrayElements(env, receivedFromPort, NULL); - if (port == NULL) - { - JCL_ThrowException(env, IO_EXCEPTION, "Internal error: could not access receivedFromPort array"); - return; - } - - bytes_read = (int*)(*env)->GetIntArrayElements(env, receivedLength, NULL); - if (bytes_read == NULL) - { - (*env)->ReleaseIntArrayElements(env, receivedFromPort, (jint*)port, 0); - JCL_ThrowException(env, IO_EXCEPTION, "Internal error: could not access receivedLength array"); - return; - } - - /* Receive the packet */ - /* should we try some sort of validation on the length? */ - (*bytes_read) = _javanet_recvfrom(env, obj, arr, offset, length, &addr, port); - - /* Special case the strange situation where the receiver didn't want any - bytes. */ - if (length == 0 && (*bytes_read) == -1) - *bytes_read = 0; - - if ((*bytes_read) == -1) - { - (*env)->ReleaseIntArrayElements(env, receivedFromPort, (jint*)port, 0); - (*env)->ReleaseIntArrayElements(env, receivedLength, (jint*)bytes_read, 0); - JCL_ThrowException(env, IO_EXCEPTION, "Internal error: receive"); - return; - } - - (*env)->ReleaseIntArrayElements(env, receivedFromPort, (jint*)port, 0); - (*env)->ReleaseIntArrayElements(env, receivedLength, (jint*)bytes_read, 0); - - if ((*env)->ExceptionOccurred(env)) - { - return; - } - - DBG("PlainDatagramSocketImpl.receive(): Received packet\n"); - - - /* Store the address */ - addressBytes = (char*)(*env)->GetPrimitiveArrayCritical(env, receivedFromAddress, NULL); - TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES(addr, - addressBytes[0], - addressBytes[1], - addressBytes[2], - addressBytes[3] - ); - (*env)->ReleasePrimitiveArrayCritical(env, receivedFromAddress, addressBytes, 0); - -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * Writes a buffer to the remote host - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_nativeSendTo(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jobject addr, - jint port, - jarray buf, - jint offset, - jint len) -{ -#ifndef WITHOUT_NETWORK - jint netAddress; - - /* check if address given, tr 7.3.2005 */ - if (addr != NULL) - { - netAddress = _javanet_get_netaddr(env, addr); - if ((*env)->ExceptionOccurred(env)) - { - return; - } - } - else - { - netAddress = 0; - } - - DBG("PlainDatagramSocketImpl.sendto(): have addr\n"); - - _javanet_sendto(env, obj, buf, offset, len, netAddress, port); - if ((*env)->ExceptionOccurred(env)) - { - return; - } - - DBG("PlainDatagramSocketImpl.sendto(): finished\n"); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * Joins a multicast group - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_join(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jobject addr) -{ -#ifndef WITHOUT_NETWORK - jint netAddress; - int fd; - int result; - - /* check if address given, tr 7.3.2005 */ - if (addr != NULL) - { - netAddress = _javanet_get_netaddr(env, addr); - if ((*env)->ExceptionOccurred(env)) - { - JCL_ThrowException(env, IO_EXCEPTION, "Internal error"); - return; - } - } - else - { - netAddress = 0; - } - - fd = _javanet_get_int_field(env, obj, "native_fd"); - if ((*env)->ExceptionOccurred(env)) - { - JCL_ThrowException(env, IO_EXCEPTION, "Internal error"); - return; - } - - DBG("PlainDatagramSocketImpl.join(): have native fd\n"); - - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP(fd,netAddress,result); - - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); - return; - } - - DBG("PlainDatagramSocketImpl.join(): finished\n"); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - -/*************************************************************************/ - -/* - * Leaves a multicast group - */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainDatagramSocketImpl_leave(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jobject addr) -{ -#ifndef WITHOUT_NETWORK - jint netAddress; - int fd; - int result; - - /* check if address given, tr 7.3.2005 */ - if (addr != NULL) - { - netAddress = _javanet_get_netaddr(env, addr); - if ((*env)->ExceptionOccurred(env)) - { - JCL_ThrowException(env, IO_EXCEPTION, "Internal error"); - return; - } - } - else - { - netAddress = 0; - } - - fd = _javanet_get_int_field(env, obj, "native_fd"); - if ((*env)->ExceptionOccurred(env)) - { JCL_ThrowException(env, IO_EXCEPTION, "Internal error"); return; } - - DBG("PlainDatagramSocketImpl.leave(): have native fd\n"); - - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP(fd,netAddress,result); - if (result!=TARGET_NATIVE_OK) - { - JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); - return; - } - - DBG("PlainDatagramSocketImpl.leave(): finished\n"); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} - diff --git a/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c b/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c index 3d48b9195c4..cdfbe739789 100644 --- a/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c +++ b/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c @@ -35,269 +35,930 @@ 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. */ -/* do not move; needed here because of some macro definitions */ -#include +#ifdef HAVE_CONFIG_H +#include +#endif /* HAVE_CONFIG_H */ + +#include + +#include +#include +#include +#include +#ifdef HAVE_IFADDRS_H +#include +#endif +#include +#include +#include +#include #include #include #include +#include #include #include +#include "cpnative.h" +#include "cpnet.h" +#include "cpio.h" #include "javanet.h" -#include "target_native.h" -#ifndef WITHOUT_NETWORK - #include "target_native_file.h" /* Get FIONREAD on Solaris. */ - #include "target_native_network.h" -#endif /* WITHOUT_NETWORK */ - #include "gnu_java_net_VMPlainSocketImpl.h" -/* - * Note that the functions in this module simply redirect to another - * internal function. Why? Because many of these functions are shared - * with PlainDatagramSocketImpl. The unshared ones were done the same - * way for consistency. - */ - -/*************************************************************************/ +#define THROW_NO_NETWORK(env) JCL_ThrowException (env, "java/lang/InternalError", "this platform not configured for network support") /* - * Creates a new stream or datagram socket + * Class: gnu_java_net_VMPlainSocketImpl + * Method: bind + * Signature: (I[BI)V */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_create(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj) +Java_gnu_java_net_VMPlainSocketImpl_bind (JNIEnv *env, + jclass clazz __attribute__((unused)), + jint fd, jbyteArray addr, jint port) { -#ifndef WITHOUT_NETWORK - _javanet_create(env, obj, JNI_TRUE); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ + struct sockaddr_in sockaddr; + jbyte *elems = NULL; + int ret; + + if (addr != NULL) + elems = (*env)->GetByteArrayElements (env, addr, NULL); + + memset(&sockaddr, 0, sizeof (struct sockaddr_in)); + sockaddr.sin_family = AF_INET; + sockaddr.sin_port = htons (port); + /* addr is already in network byte order. */ + if (elems != NULL) + sockaddr.sin_addr.s_addr = *((uint32_t *) elems); + else + sockaddr.sin_addr.s_addr = INADDR_ANY; + + /* bind(2) from BSD says bind will never return EINTR */ + /* bind is not a blocking system call */ + ret = bind (fd, (struct sockaddr *) &sockaddr, sizeof (struct sockaddr_in)); + + if (elems != NULL) + (*env)->ReleaseByteArrayElements (env, addr, elems, JNI_ABORT); + + if (-1 == ret) + JCL_ThrowException (env, BIND_EXCEPTION, strerror (errno)); + + cpio_closeOnExec(ret); } -/*************************************************************************/ /* - * Close the socket. Any underlying streams will be closed by this - * action as well. + * Class: gnu_java_net_VMPlainSocketImpl + * Method: bind6 + * Signature: (I[BI)V */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_close(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj) +Java_gnu_java_net_VMPlainSocketImpl_bind6 (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr, jint port) { -#ifndef WITHOUT_NETWORK - _javanet_close(env, obj, 1); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ + /* FIXME! Add check if we have IPv6! */ + struct sockaddr_in6 sockaddr; + jbyte *elems; + int ret; + + elems = (*env)->GetByteArrayElements (env, addr, NULL); + + memset (&sockaddr, 0, sizeof (struct sockaddr_in6)); + sockaddr.sin6_family = AF_INET6; + sockaddr.sin6_port = htons (port); + memcpy (&sockaddr.sin6_addr.s6_addr, elems, 16); + + /* bind(2) from BSD says bind will never return EINTR */ + /* bind is not a blocking system call */ + ret = bind (fd, (struct sockaddr *) &sockaddr, + sizeof (struct sockaddr_in6)); + + (*env)->ReleaseByteArrayElements (env, addr, elems, JNI_ABORT); + + if (-1 == ret) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); } -/*************************************************************************/ /* - * Connects to the specified destination. + * Class: gnu_java_net_VMPlainSocketImpl + * Method: listen + * Signature: (II)V */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_connect(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jobject addr, jint port) +Java_gnu_java_net_VMPlainSocketImpl_listen (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jint backlog) { -#ifndef WITHOUT_NETWORK - _javanet_connect(env, obj, addr, port, 1); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ + int ret; + + /* listen(2) says that this call will never return EINTR */ + /* listen is not a blocking system call */ + if ((ret = listen (fd, backlog)) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); } -/*************************************************************************/ -/* - * This method binds the specified address to the specified local port. - * Note that we have to set the local address and local port public instance - * variables. +/* These constants are also defined in java/net/SocketOptions.java. + * Except for CPNET_IP_TTL which is defined in + * vm/reference/gnu/java/net/VMPlainSocketImpl.java . */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_bind(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, jobject addr, - jint port) -{ -#ifndef WITHOUT_NETWORK - _javanet_bind(env, obj, addr, port, 1); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} +enum java_sockopt { + CPNET_SO_KEEPALIVE = 0x8, + CPNET_SO_LINGER = 0x80, + CPNET_SO_TIMEOUT = 0x1006, + CPNET_SO_BINDADDR = 0x0F, + CPNET_SO_SNDBUF = 0x1001, + CPNET_SO_RCVBUF = 0x1002, + CPNET_SO_REUSEADDR = 0x04, + CPNET_SO_BROADCAST = 0x20, + CPNET_SO_OOBINLINE = 0x1003, + CPNET_TCP_NODELAY = 0x01, + CPNET_IP_MULTICAST_IF = 0x10, + CPNET_IP_MULTICAST_IF2 = 0x1F, + CPNET_IP_MULTICAST_LOOP = 0x12, + CPNET_IP_TOS = 0x03, + CPNET_IP_TTL = 0x1E61 +}; -/*************************************************************************/ /* - * Starts listening on a socket with the specified number of pending - * connections allowed. + * Class: gnu_java_net_VMPlainSocketImpl + * Method: setOption + * Signature: (III)V */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_listen(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, jint queuelen) +Java_gnu_java_net_VMPlainSocketImpl_setOption (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jint option, jint value) { -#ifndef WITHOUT_NETWORK - _javanet_listen(env, obj, queuelen); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} + enum java_sockopt joption = (enum java_sockopt) option; + int optname = -1; + int level = SOL_SOCKET; + const int _value = value; + struct linger _linger; + struct timeval _timeo; + void *optval = (void *) &_value; + socklen_t optlen = sizeof (int); + + switch (joption) + { + case CPNET_IP_MULTICAST_LOOP: + level = IPPROTO_IP; + optname = IP_MULTICAST_LOOP; + break; + + case CPNET_SO_KEEPALIVE: + optname = SO_KEEPALIVE; + break; + + case CPNET_SO_LINGER: + optname = SO_LINGER; + if (_value == -1) + _linger.l_onoff = 0; + else + _linger.l_onoff = 1; + _linger.l_linger = _value; + optval = &_linger; + optlen = sizeof (struct linger); + break; + + case CPNET_SO_TIMEOUT: + optname = SO_RCVTIMEO; + _timeo.tv_sec = value / 1000; + _timeo.tv_usec = (value % 1000) * 1000; + optval = &_timeo; + optlen = sizeof (struct timeval); + break; + + case CPNET_SO_SNDBUF: + optname = SO_SNDBUF; + break; + + case CPNET_SO_RCVBUF: + optname = SO_RCVBUF; + break; + + case CPNET_SO_REUSEADDR: + optname = SO_REUSEADDR; + break; + + case CPNET_SO_BROADCAST: + optname = SO_BROADCAST; + break; + + case CPNET_SO_OOBINLINE: + optname = SO_OOBINLINE; + break; + + case CPNET_TCP_NODELAY: + level = IPPROTO_TCP; + optname = TCP_NODELAY; + break; + + case CPNET_IP_TOS: + level = IPPROTO_IP; + optname = IP_TOS; + break; + + case CPNET_IP_TTL: + level = IPPROTO_IP; + optname = IP_TTL; + break; + + case CPNET_SO_BINDADDR: + case CPNET_IP_MULTICAST_IF: + case CPNET_IP_MULTICAST_IF2: + JCL_ThrowException (env, IO_EXCEPTION, "argument not a boolean or integer option"); + return; + } -/*************************************************************************/ + if (setsockopt (fd, level, optname, (const void *) optval, optlen) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); +} /* - * Accepts a new connection and assigns it to the passed in SocketImpl - * object. Note that we assume this is a PlainSocketImpl just like us. + * Class: gnu_java_net_VMPlainSocketImpl + * Method: getOption + * Signature: (II)I */ -JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_accept(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, jobject impl) +JNIEXPORT jint JNICALL +Java_gnu_java_net_VMPlainSocketImpl_getOption (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jint option) { -#ifndef WITHOUT_NETWORK - _javanet_accept(env, obj, impl); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ -} + enum java_sockopt joption = (enum java_sockopt) option; + int optname = -1; + int level = SOL_SOCKET; + int value; + struct linger linger; + struct timeval timeo; + void *optval = &value; + socklen_t optlen = sizeof (int); + + switch (joption) + { + case CPNET_IP_MULTICAST_LOOP: + level = IPPROTO_IP; + optname = IP_MULTICAST_LOOP; + break; + + case CPNET_SO_KEEPALIVE: + optname = SO_KEEPALIVE; + break; + + case CPNET_SO_LINGER: + optname = SO_LINGER; + optval = &linger; + optlen = sizeof (struct linger); + break; + + case CPNET_SO_TIMEOUT: + optname = SO_RCVTIMEO; + optval = &timeo; + optlen = sizeof (struct timeval); + break; + + case CPNET_SO_SNDBUF: + optname = SO_SNDBUF; + break; + + case CPNET_SO_RCVBUF: + optname = SO_RCVBUF; + break; + + case CPNET_SO_REUSEADDR: + optname = SO_REUSEADDR; + break; + + case CPNET_SO_BROADCAST: + optname = SO_BROADCAST; + break; + + case CPNET_SO_OOBINLINE: + optname = SO_OOBINLINE; + break; + + case CPNET_TCP_NODELAY: + level = IPPROTO_TCP; + optname = TCP_NODELAY; + break; + + case CPNET_IP_TOS: + level = IPPROTO_IP; + optname = IP_TOS; + break; + + case CPNET_IP_TTL: + level = IPPROTO_IP; + optname = IP_TTL; + break; + + case CPNET_SO_BINDADDR: + case CPNET_IP_MULTICAST_IF: + case CPNET_IP_MULTICAST_IF2: + JCL_ThrowException (env, IO_EXCEPTION, "argument not a boolean or integer option"); + return -1; + } -/*************************************************************************/ + if (getsockopt (fd, level, optname, optval, &optlen) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); -JNIEXPORT jint JNICALL -Java_gnu_java_net_VMPlainSocketImpl_available(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj) + /* Returns the linger value if it is enabled or -1 in case + * it is disabled. This is how the Java API expects it. + */ + if (joption == CPNET_SO_LINGER) + return (linger.l_onoff) ? linger.l_linger : -1; + if (joption == CPNET_SO_TIMEOUT) + return (timeo.tv_sec * 1000) + (timeo.tv_usec / 1000); + + return value; +} + +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, + jint optionId __attribute__((unused)), + jobject addr) { -#ifndef WITHOUT_NETWORK - jclass cls; - jfieldID fid; - int fd; - int bytesAvailable; - int result; + int result; + cpnet_address *cpaddr = _javanet_get_ip_netaddr (env, addr); + + if ((*env)->ExceptionOccurred (env)) + return; + + result = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, + (struct sockaddr *) cpaddr->data, cpaddr->len); + + cpnet_freeAddress (env, cpaddr); - cls = (*env)->GetObjectClass(env, obj); - if (cls == 0) + if (result == -1) + JCL_ThrowException (env, SOCKET_EXCEPTION, cpnative_getErrorString (errno)); +} + +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6 (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, + jint optionId __attribute__((unused)), + jstring ifname) +{ +#ifdef HAVE_SETSOCKOPT +#ifdef HAVE_INET6 + int result; + const char *str_ifname = JCL_jstring_to_cstring (env, ifname); + u_int if_index; + + if ((*env)->ExceptionOccurred (env)) { - JCL_ThrowException(env, IO_EXCEPTION, "internal error"); - return 0; + JCL_free_cstring(env, ifname, str_ifname); + return; } - - fid = (*env)->GetFieldID(env, cls, "native_fd", "I"); - if (fid == 0) + + if_index = if_nametoindex(str_ifname); + if (!if_index) { - JCL_ThrowException(env, IO_EXCEPTION, "internal error"); - return 0; + JCL_free_cstring(env, ifname, str_ifname); + JCL_ThrowException (env, SOCKET_EXCEPTION, "interface does not exist"); + return; } - fd = (*env)->GetIntField(env, obj, fid); + result = setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, + (u_int *) &if_index, sizeof(if_index)); + + JCL_free_cstring(env, ifname, str_ifname); - TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE(fd,bytesAvailable,result); - if (result != TARGET_NATIVE_OK) + if (result == -1) + JCL_ThrowException (env, SOCKET_EXCEPTION, cpnative_getErrorString (errno)); +#else + (void) fd; + JCL_ThrowException (env, "java/lang/InternalError", + "IPv6 support not available"); +#endif /* HAVE_INET6 */ +#else + (void) fd; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ +} + +JNIEXPORT jobject JNICALL +Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, + jint optionId __attribute__((unused))) +{ + jobject obj; + cpnet_address *cpaddr; + int result = cpnet_getMulticastIF (env, fd, &cpaddr); + + if (result != CPNATIVE_OK) { - JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); - return 0; + JCL_ThrowException (env, SOCKET_EXCEPTION, + cpnative_getErrorString (result)); + return (0); } - return bytesAvailable; -#else /* not WITHOUT_NETWORK */ - return 0; -#endif /* not WITHOUT_NETWORK */ + obj = _javanet_create_inetaddress (env, cpaddr); + cpnet_freeAddress (env, cpaddr); + + return obj; } -/*************************************************************************/ /* - * This method sets the specified option for a socket + * Class: gnu_java_net_VMPlainSocketImpl + * Method: shutdownInput + * Signature: (I)V */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_setOption(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jint option_id, jobject val) +Java_gnu_java_net_VMPlainSocketImpl_shutdownInput (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) { -#ifndef WITHOUT_NETWORK - _javanet_set_option(env, obj, option_id, val); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ + if (shutdown (fd, SHUT_RD) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); +} + +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: shutdownOutput + * Signature: (I)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ + if (shutdown (fd, SHUT_WR) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); } -/*************************************************************************/ /* - * This method gets the specified option for a socket + * Class: gnu_java_net_VMPlainSocketImpl + * Method: sendUrgentData + * Signature: (II)V */ -JNIEXPORT jobject JNICALL -Java_gnu_java_net_VMPlainSocketImpl_getOption(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, - jint option_id) +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jint data) { -#ifndef WITHOUT_NETWORK - return(_javanet_get_option(env, obj, option_id)); -#else /* not WITHOUT_NETWORK */ - return NULL; -#endif /* not WITHOUT_NETWORK */ + const char x = (char) data; + + if (send (fd, &x, 1, MSG_OOB) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); } -/*************************************************************************/ /* - * Reads a buffer from a remote host + * Class: gnu_java_net_VMPlainSocketImpl + * Method: join + * Signature: (I[B)V */ -JNIEXPORT jint JNICALL -Java_gnu_java_net_VMPlainSocketImpl_read(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, jarray buf, - jint offset, jint len) +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_join (JNIEnv *env, + jclass clazz __attribute__((unused)), + jint fd, jbyteArray addr) { -#ifndef WITHOUT_NETWORK - return(_javanet_recvfrom(env, obj, buf, offset, len, 0, 0)); -#else /* not WITHOUT_NETWORK */ - return 0; -#endif /* not WITHOUT_NETWORK */ +#ifdef HAVE_SETSOCKOPT + struct ip_mreq maddr; + jbyte *addr_elems; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + maddr.imr_multiaddr.s_addr = * ((uint32_t *) addr_elems); + maddr.imr_interface.s_addr = INADDR_ANY; + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, + &maddr, sizeof (struct ip_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ } -/*************************************************************************/ /* - * Writes a buffer to the remote host + * Class: gnu_java_net_VMPlainSocketImpl + * Method: join6 + * Signature: (I[B)V */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_write(JNIEnv *env, - jclass klass __attribute__ ((__unused__)), - jobject obj, jarray buf, - jint offset, jint len) +Java_gnu_java_net_VMPlainSocketImpl_join6 (JNIEnv *env, + jclass clazz __attribute__((unused)), + jint fd, jbyteArray addr) { -#ifndef WITHOUT_NETWORK - _javanet_sendto(env, obj, buf, offset, len, 0, 0); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ +#ifdef HAVE_SETSOCKOPT +#ifdef HAVE_INET6 + struct ipv6_mreq maddr; + jbyte *addr_elems; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + memcpy (&(maddr.ipv6mr_multiaddr.s6_addr), addr_elems, 16); + maddr.ipv6mr_interface = 0; + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, + &maddr, sizeof (struct ipv6_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "IPv6 support not available"); +#endif /* HAVE_INET6 */ +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ } +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: leave + * Signature: (I[B)V + */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_shutdownInput (JNIEnv * env, - jclass klass __attribute__ ((__unused__)), - jobject this) +Java_gnu_java_net_VMPlainSocketImpl_leave (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr) { -#ifndef WITHOUT_NETWORK - _javanet_shutdownInput (env, this); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ +#ifdef HAVE_SETSOCKOPT + struct ip_mreq maddr; + jbyte *addr_elems; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + maddr.imr_multiaddr.s_addr = * ((uint32_t *) addr_elems); + maddr.imr_interface.s_addr = INADDR_ANY; + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, + &maddr, sizeof (struct ip_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ } +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: leave6 + * Signature: (I[B)V + */ JNIEXPORT void JNICALL -Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput (JNIEnv * env, - jclass klass __attribute__ ((__unused__)), - jobject this) +Java_gnu_java_net_VMPlainSocketImpl_leave6 (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr) { -#ifndef WITHOUT_NETWORK - _javanet_shutdownOutput (env, this); -#else /* not WITHOUT_NETWORK */ -#endif /* not WITHOUT_NETWORK */ +#ifdef HAVE_SETSOCKOPT +#ifdef HAVE_INET6 + struct ipv6_mreq maddr; + jbyte *addr_elems; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + memcpy (&(maddr.ipv6mr_multiaddr.s6_addr), addr_elems, 16); + maddr.ipv6mr_interface = 0; + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IPV6, IPV6_LEAVE_GROUP, + &maddr, sizeof (struct ipv6_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "IPv6 support not available"); +#endif /* HAVE_INET6 */ +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ } -/* end of file */ +static uint32_t getif_address (JNIEnv *env, const char *ifname); +static int getif_index (JNIEnv *env, const char *ifname); + +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: joinGroup + * Signature: (I[BILjava/lang/String;)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_joinGroup (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr, + jstring ifname) +{ +#ifdef HAVE_SETSOCKOPT + struct ip_mreq maddr; + jbyte *addr_elems; + const char *str_ifname; + + if (ifname != NULL) + { + str_ifname = JCL_jstring_to_cstring(env, ifname); + maddr.imr_interface.s_addr = getif_address (env, str_ifname); + JCL_free_cstring(env, ifname, str_ifname); + + if ((*env)->ExceptionCheck (env)) + return; + } + else + maddr.imr_interface.s_addr = INADDR_ANY; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + maddr.imr_multiaddr.s_addr = * ((uint32_t *) addr_elems); + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, + &maddr, sizeof (struct ip_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + +#else + (void) fd; + (void) addr; + (void) ifname; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ +} + +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: joinGroup6 + * Signature: (I[BILjava/lang/String;)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_joinGroup6 (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr, + jstring ifname) +{ +#ifdef HAVE_SETSOCKOPT +#ifdef HAVE_INET6 + struct ipv6_mreq maddr; + jbyte *addr_elems; + const char *str_ifname; + + if (ifname == NULL) + { + str_ifname = JCL_jstring_to_cstring(env, ifname); + maddr.ipv6mr_interface = getif_index (env, str_ifname); + JCL_free_cstring(env, ifname, str_ifname); + + if ((*env)->ExceptionCheck (env)) + return; + } + else + maddr.ipv6mr_interface = 0; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + memcpy (&(maddr.ipv6mr_multiaddr.s6_addr), addr_elems, 16); + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, + &maddr, sizeof (struct ipv6_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "IPv6 support not available"); +#endif /* HAVE_INET6 */ +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ +} + +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: leaveGroup + * Signature: (I[BILjava/lang/String;)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_leaveGroup (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr, + jstring ifname) +{ +#ifdef HAVE_SETSOCKOPT + struct ip_mreq maddr; + jbyte *addr_elems; + const char *str_ifname; + + if (ifname != NULL) + { + str_ifname = JCL_jstring_to_cstring(env, ifname); + maddr.imr_interface.s_addr = getif_address (env, str_ifname); + JCL_free_cstring(env, ifname, str_ifname); + + if ((*env)->ExceptionCheck (env)) + return; + } + else + maddr.imr_interface.s_addr = INADDR_ANY; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + maddr.imr_multiaddr.s_addr = * ((uint32_t *) addr_elems); + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, + &maddr, sizeof (struct ip_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + (void) ifname; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ +} + +/* + * Class: gnu_java_net_VMPlainSocketImpl + * Method: leaveGroup6 + * Signature: (I[BILjava/lang/String;)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6 (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jbyteArray addr, + jstring ifname) +{ +#ifdef HAVE_SETSOCKOPT +#ifdef HAVE_INET6 + struct ipv6_mreq maddr; + jbyte *addr_elems; + const char *str_ifname; + + if (ifname == NULL) + { + str_ifname = JCL_jstring_to_cstring(env, ifname); + maddr.ipv6mr_interface = getif_index (env, str_ifname); + JCL_free_cstring(env, ifname, str_ifname); + + if ((*env)->ExceptionCheck (env)) + return; + } + else + maddr.ipv6mr_interface = 0; + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + if (addr_elems == NULL) + return; + + memcpy (&(maddr.ipv6mr_multiaddr.s6_addr), addr_elems, 16); + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + if (-1 == setsockopt (fd, IPPROTO_IPV6, IPV6_LEAVE_GROUP, + &maddr, sizeof (struct ipv6_mreq))) + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "IPv6 support not available"); +#endif /* HAVE_INET6 */ +#else + (void) fd; + (void) addr; + JCL_ThrowException (env, "java/lang/InternalError", + "socket options not supported"); +#endif /* HAVE_SETSOCKOPT */ +} + +static uint32_t +getif_address (JNIEnv *env, const char *ifname) +{ +#if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS) + struct ifaddrs *ifaddrs, *i; + uint32_t addr = 0; + int foundaddr = 0; + + if (getifaddrs (&ifaddrs) == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return 0; + } + + for (i = ifaddrs; i != NULL; i = i->ifa_next) + { + if (strcmp (ifname, i->ifa_name) == 0) + { + /* Matched the name; see if there is an IPv4 address. */ + if (i->ifa_addr->sa_family == AF_INET) + { + foundaddr = 1; + addr = ((struct sockaddr_in *) i->ifa_addr)->sin_addr.s_addr; + break; + } + } + } + + if (!foundaddr) + JCL_ThrowException (env, SOCKET_EXCEPTION, "interface has no IPv4 address"); + + freeifaddrs (ifaddrs); + + return addr; +#else + (void) ifname; + JCL_ThrowException (env, "java/lang/InternalError", + "getifaddrs not available"); + return 0; +#endif /* HAVE_IFADDRS_H && HAVE_GETIFADDRS */ +} + +static int +getif_index (JNIEnv *env, const char *ifname) +{ +#if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS) + struct ifaddrs *ifaddrs, *i; + char *lastname = NULL; + int index = 1; + int foundname = 0; + + if (getifaddrs (&ifaddrs) == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return -1; + } + + lastname = ifaddrs->ifa_name; + for (i = ifaddrs; i != NULL; i = i->ifa_next) + { + if (strcmp (lastname, ifaddrs->ifa_name) != 0) + { + lastname = ifaddrs->ifa_name; + index++; + } + if (strcmp (ifname, ifaddrs->ifa_name) == 0) + { + foundname = 1; + break; + } + } + + if (!foundname) + JCL_ThrowException (env, SOCKET_EXCEPTION, + "no interface with that name"); + + freeifaddrs (ifaddrs); + + return index; +#else + (void) ifname; + JCL_ThrowException (env, "java/lang/InternalError", + "getifaddrs not available"); + return -1; +#endif /* HAVE_GETIFADDRS */ +} diff --git a/libjava/classpath/native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c b/libjava/classpath/native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c index 35fb6bcdcc7..f2b2f8e63b8 100644 --- a/libjava/classpath/native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c +++ b/libjava/classpath/native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c @@ -38,9 +38,7 @@ exception statement from your version. */ #define _GNU_SOURCE -#ifdef HAVE_CONFIG_H #include "config.h" -#endif /* HAVE_CONFIG_H */ #include diff --git a/libjava/classpath/native/jni/java-net/java_net_VMInetAddress.c b/libjava/classpath/native/jni/java-net/java_net_VMInetAddress.c index 86ac06e6f79..fc921ecef1f 100644 --- a/libjava/classpath/native/jni/java-net/java_net_VMInetAddress.c +++ b/libjava/classpath/native/jni/java-net/java_net_VMInetAddress.c @@ -45,13 +45,10 @@ exception statement from your version. */ #include #include +#include "cpnative.h" +#include "cpnet.h" #include "javanet.h" -#include "target_native.h" -#ifndef WITHOUT_NETWORK -#include "target_native_network.h" -#endif /* WITHOUT_NETWORK */ - #include "java_net_VMInetAddress.h" /*************************************************************************/ @@ -69,8 +66,8 @@ Java_java_net_VMInetAddress_getLocalHostname (JNIEnv * env, jstring retval; #ifndef WITHOUT_NETWORK - TARGET_NATIVE_NETWORK_GET_HOSTNAME (hostname, sizeof (hostname), result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getHostname (env, hostname, sizeof (hostname)); + if (result != CPNATIVE_OK) { strcpy (hostname, "localhost"); } @@ -94,6 +91,7 @@ Java_java_net_VMInetAddress_lookupInaddrAny (JNIEnv * env, __attribute__ ((__unused__))) { jarray IParray; + cpnet_address *addr; jbyte *octets; /* Allocate an array for the IP address */ @@ -108,11 +106,10 @@ Java_java_net_VMInetAddress_lookupInaddrAny (JNIEnv * env, octets = (*env)->GetByteArrayElements (env, IParray, 0); #ifndef WITHOUT_NETWORK - TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES (INADDR_ANY, - octets[0], - octets[1], - octets[2], octets[3]); - (*env)->ReleaseByteArrayElements (env, IParray, octets, 0); + addr = cpnet_newIPV4Address (env); + cpnet_setIPV4Any (addr); + cpnet_IPV4AddressToBytes (addr, octets); + cpnet_freeAddress (env, addr); #else /* not WITHOUT_NETWORK */ octets[0] = 0; octets[1] = 0; @@ -120,6 +117,8 @@ Java_java_net_VMInetAddress_lookupInaddrAny (JNIEnv * env, octets[3] = 0; #endif /* not WITHOUT_NETWORK */ + (*env)->ReleaseByteArrayElements (env, IParray, octets, 0); + return (IParray); } @@ -138,14 +137,14 @@ Java_java_net_VMInetAddress_getHostByAddr (JNIEnv * env, #ifndef WITHOUT_NETWORK jbyte *octets; jsize len; - int addr; + cpnet_address *addr; char hostname[255]; int result; jstring retval; /* Grab the byte[] array with the IP out of the input data */ len = (*env)->GetArrayLength (env, arr); - if (len != 4) + if (len != 4 && len != 16) { JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Bad IP Address"); return (jstring) NULL; @@ -158,21 +157,31 @@ Java_java_net_VMInetAddress_getHostByAddr (JNIEnv * env, return (jstring) NULL; } - /* Convert it to a 32 bit address */ - TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT (octets[0], - octets[1], - octets[2], octets[3], addr); + switch (len) + { + case 4: + addr = cpnet_newIPV4Address(env); + cpnet_bytesToIPV4Address (addr, octets); + break; + case 16: + addr = cpnet_newIPV6Address(env); + cpnet_bytesToIPV6Address (addr, octets); + break; + default: + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Bad IP Address"); + return (jstring) NULL; + + } /* Release some memory */ (*env)->ReleaseByteArrayElements (env, arr, octets, 0); /* Resolve the address and return the name */ - TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS (addr, hostname, - sizeof (hostname), result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getHostByAddr (env, addr, hostname, sizeof (hostname)); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (jstring) NULL; } @@ -194,16 +203,14 @@ Java_java_net_VMInetAddress_getHostByName (JNIEnv * env, { #ifndef WITHOUT_NETWORK const char *hostname; -/* FIXME: limitation of max. 64 addresses - how to make it more flexibale? */ - int addresses[64]; + cpnet_address **addresses; jsize addresses_count; int result; jclass arr_class; jobjectArray addrs; - int i; + jint i; jbyte *octets; jarray ret_octets; - int max_addresses; /* Grab the hostname string */ hostname = (*env)->GetStringUTFChars (env, host, 0); @@ -213,12 +220,8 @@ Java_java_net_VMInetAddress_getHostByName (JNIEnv * env, return (jobjectArray) NULL; } - max_addresses = sizeof (addresses) / sizeof (addresses[0]); - TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME (hostname, - addresses, - max_addresses, - addresses_count, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getHostByName (env, hostname, &addresses, &addresses_count); + if (result != CPNATIVE_OK || addresses_count == 0) { JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, (char *) hostname); return (jobjectArray) NULL; @@ -242,28 +245,144 @@ Java_java_net_VMInetAddress_getHostByName (JNIEnv * env, /* Now loop and copy in each address */ for (i = 0; i < addresses_count; i++) { - ret_octets = (*env)->NewByteArray (env, 4); - if (!ret_octets) + if (cpnet_isIPV6Address (addresses[i])) + { + ret_octets = (*env)->NewByteArray (env, 16); + + if (!ret_octets) + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + cpnet_freeAddresses (env, addresses, addresses_count); + return (jobjectArray) NULL; + } + + octets = (*env)->GetByteArrayElements (env, ret_octets, 0); + + cpnet_IPV6AddressToBytes (addresses[i], octets); + + (*env)->ReleaseByteArrayElements (env, ret_octets, octets, 0); + + (*env)->SetObjectArrayElement (env, addrs, i, ret_octets); + } + else if (cpnet_isIPV4Address (addresses[i])) + { + ret_octets = (*env)->NewByteArray (env, 4); + + if (!ret_octets) + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + cpnet_freeAddresses (env, addresses, addresses_count); + return (jobjectArray) NULL; + } + + octets = (*env)->GetByteArrayElements (env, ret_octets, 0); + + cpnet_IPV4AddressToBytes (addresses[i], octets); + + (*env)->ReleaseByteArrayElements (env, ret_octets, octets, 0); + + (*env)->SetObjectArrayElement (env, addrs, i, ret_octets); + } + else { JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + cpnet_freeAddresses (env, addresses, addresses_count); return (jobjectArray) NULL; } + } + + cpnet_freeAddresses (env, addresses, addresses_count); + + return (addrs); +#else /* not WITHOUT_NETWORK */ + return (jobjectArray) NULL; +#endif /* not WITHOUT_NETWORK */ +} + +/*************************************************************************/ + +/* + * Return the IP address represented by a literal address. + * Will return null if the literal address is not valid. + */ +JNIEXPORT jbyteArray JNICALL +Java_java_net_VMInetAddress_aton (JNIEnv *env, + jclass class + __attribute__ ((__unused__)), + jstring host) +{ +#ifndef WITHOUT_NETWORK + const char *hostname; + cpnet_address *address; + int result; + jbyte *octets; + jbyteArray ret_octets; + + hostname = (*env)->GetStringUTFChars (env, host, 0); + if (!hostname) + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Null hostname"); + return (jbyteArray) NULL; + } + + result = cpnet_aton (env, hostname, &address); + if (result != CPNATIVE_OK) + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + if (address) + cpnet_freeAddress (env, address); + return (jbyteArray) NULL; + } + if (!address) + return (jbyteArray) NULL; + if (cpnet_isIPV6Address (address)) + { + ret_octets = (jbyteArray) (*env)->NewByteArray (env, 16); + + if (!ret_octets) + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + cpnet_freeAddress (env, address); + return (jbyteArray) NULL; + } + octets = (*env)->GetByteArrayElements (env, ret_octets, 0); - TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES (addresses[i], - octets[0], - octets[1], - octets[2], octets[3]); + cpnet_IPV6AddressToBytes (address, octets); (*env)->ReleaseByteArrayElements (env, ret_octets, octets, 0); + } + else if (cpnet_isIPV4Address (address)) + { + ret_octets = (jbyteArray) (*env)->NewByteArray (env, 4); + + if (!ret_octets) + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + cpnet_freeAddress (env, address); + return (jbyteArray) NULL; + } + + octets = (*env)->GetByteArrayElements (env, ret_octets, 0); + + cpnet_IPV4AddressToBytes (address, octets); - (*env)->SetObjectArrayElement (env, addrs, i, ret_octets); + (*env)->ReleaseByteArrayElements (env, ret_octets, octets, 0); + } + else + { + JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); + cpnet_freeAddress (env, address); + return (jbyteArray) NULL; } - return (addrs); + cpnet_freeAddress (env, address); + + return (ret_octets); + #else /* not WITHOUT_NETWORK */ - return (jobjectArray) NULL; + return (jbyteArray) NULL; #endif /* not WITHOUT_NETWORK */ } diff --git a/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c b/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c index f05e9fcc5a2..b51bf68ecee 100644 --- a/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c +++ b/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c @@ -35,9 +35,17 @@ 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. */ -/* do not move; needed here because of some macro definitions */ +#ifdef HAVE_CONFIG_H #include +#endif /* HAVE_CONFIG_H */ +#include +#include +#ifdef HAVE_IFADDRS_H +#include +#endif +#include +#include #include #include #include @@ -47,19 +55,197 @@ exception statement from your version. */ #include "java_net_VMNetworkInterface.h" -#include "javanet.h" + +static jmethodID java_net_VMNetworkInterface_init; +static jmethodID java_net_VMNetworkInterface_addAddress; /* - * Returns all local network interfaces as vector + * Initialize our static method ID's. + * + * Class: java_net_VMNetworkInterface + * Method: initIds + * Signature: ()V */ -JNIEXPORT jobject JNICALL -Java_java_net_VMNetworkInterface_getInterfaces (JNIEnv * env, - jclass class - __attribute__ ((__unused__))) +JNIEXPORT void JNICALL +Java_java_net_VMNetworkInterface_initIds (JNIEnv *env, jclass clazz) +{ + java_net_VMNetworkInterface_init = + (*env)->GetMethodID (env, clazz, "", "(Ljava/lang/String;)V"); + if (java_net_VMNetworkInterface_init == NULL) + { + if (!(*env)->ExceptionCheck (env)) + JCL_ThrowException (env, "java/lang/NoSuchMethodError", + "VMNetworkinterface.addAddress"); + return; + } + java_net_VMNetworkInterface_addAddress = + (*env)->GetMethodID (env, clazz, "addAddress", "(Ljava/nio/ByteBuffer;)V"); + if (java_net_VMNetworkInterface_addAddress == NULL) + { + if (!(*env)->ExceptionCheck (env)) + JCL_ThrowException (env, "java/lang/NoSuchMethodError", + "VMNetworkinterface.addAddress"); + } +} + +struct netif_entry +{ + char *name; + jobject netif; + int numaddrs; + struct netif_entry *next; +}; + +static void +free_netif_list (JNIEnv *env, struct netif_entry *list) { - JCL_ThrowException (env, IO_EXCEPTION, - "java.net.VMNetworkInterface.getInterfaces(): not implemented"); - return 0; + while (list != NULL) + { + struct netif_entry *e = list->next; + JCL_free (env, list); + list = e; + } +} + +/* + * Returns all local network interfaces as an array. + */ +JNIEXPORT jobjectArray JNICALL +Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env, jclass clazz) +{ +#if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS) + struct ifaddrs *ifaddrs, *i; + struct netif_entry *iflist = NULL, *e; + jobjectArray netifs; + int numifs = 0; + int k; + + if (getifaddrs (&ifaddrs) == -1) + { + JCL_ThrowException (env, "java/net/SocketException", strerror (errno)); + return NULL; + } + + for (i = ifaddrs; i != NULL; i = i->ifa_next) + { + if (iflist == NULL) + { + iflist = JCL_malloc (env, sizeof (struct netif_entry)); + if (iflist == NULL) + { + freeifaddrs (ifaddrs); + return NULL; + } + iflist->name = i->ifa_name; + iflist->numaddrs = 0; + iflist->next = NULL; + iflist->netif = (*env)->NewObject (env, clazz, java_net_VMNetworkInterface_init, + (*env)->NewStringUTF (env, i->ifa_name)); + if (iflist->netif == NULL) + { + freeifaddrs (ifaddrs); + JCL_free (env, iflist); + return NULL; + } + e = iflist; + } + else + { + struct netif_entry *p = NULL; + for (e = iflist; e != NULL; e = e->next) + { + if (strcmp (e->name, i->ifa_name) == 0) + break; + p = e; + } + + if (e == NULL) + { + p->next = (struct netif_entry *) JCL_malloc (env, sizeof (struct netif_entry)); + if (p->next == NULL) + { + free_netif_list (env, iflist); + freeifaddrs (ifaddrs); + return NULL; + } + e = p->next; + e->name = i->ifa_name; + e->numaddrs = 0; + e->next = NULL; + e->netif = (*env)->NewObject (env, clazz, java_net_VMNetworkInterface_init, + (*env)->NewStringUTF (env, i->ifa_name)); + if (e->netif == NULL) + { + free_netif_list (env, iflist); + freeifaddrs (ifaddrs); + return NULL; + } + } + } + + if (i->ifa_addr == NULL) + continue; + + if (i->ifa_addr->sa_family == AF_INET) + { + struct sockaddr_in *sin = (struct sockaddr_in *) i->ifa_addr; + jobject buffer = (*env)->NewDirectByteBuffer (env, &(sin->sin_addr.s_addr), 4); + (*env)->CallVoidMethod (env, e->netif, java_net_VMNetworkInterface_addAddress, + buffer); + if ((*env)->ExceptionCheck (env)) + { + free_netif_list (env, iflist); + freeifaddrs (ifaddrs); + return NULL; + } + (*env)->DeleteLocalRef (env, buffer); + e->numaddrs++; + } +#ifdef HAVE_INET6 + else if (i->ifa_addr->sa_family == AF_INET6) + { + struct sockaddr_in6 *sin = (struct sockaddr_in6 *) i->ifa_addr; + jobject buffer = (*env)->NewDirectByteBuffer (env, &(sin->sin6_addr.s6_addr), 16); + (*env)->CallVoidMethod (env, e->netif, java_net_VMNetworkInterface_addAddress, + buffer); + if ((*env)->ExceptionCheck (env)) + { + free_netif_list (env, iflist); + freeifaddrs (ifaddrs); + return NULL; + } + (*env)->DeleteLocalRef (env, buffer); + e->numaddrs++; + } +#endif /* HAVE_INET6 */ + } + + /* Count how many interfaces we have that have addresses. */ + for (e = iflist; e != NULL; e = e->next) + { + if (e->numaddrs != 0) + numifs++; + } + + netifs = (*env)->NewObjectArray (env, numifs, clazz, NULL); + k = 0; + for (e = iflist; e != NULL && k < numifs; e = e->next) + { + if (e->numaddrs != 0) + { + (*env)->SetObjectArrayElement (env, netifs, k, e->netif); + (*env)->DeleteLocalRef (env, e->netif); + k++; + } + } + + free_netif_list (env, iflist); + freeifaddrs (ifaddrs); + return netifs; +#else + JCL_ThrowException (env, "java/net/SocketException", "getifaddrs not supported"); + return NULL; +#endif /* HAVE_GETIFADDRS */ } /* end of file */ diff --git a/libjava/classpath/native/jni/java-net/javanet.c b/libjava/classpath/native/jni/java-net/javanet.c index e500c608431..1d2f7202a17 100644 --- a/libjava/classpath/native/jni/java-net/javanet.c +++ b/libjava/classpath/native/jni/java-net/javanet.c @@ -45,12 +45,10 @@ exception statement from your version. */ #include #include -#include "javanet.h" +#include "cpnative.h" +#include "cpnet.h" -#include "target_native.h" -#ifndef WITHOUT_NETWORK -#include "target_native_network.h" -#endif /* WITHOUT_NETWORK */ +#include "javanet.h" #ifndef WITHOUT_NETWORK /* Need to have some value for SO_TIMEOUT */ @@ -234,23 +232,20 @@ _javanet_create_integer (JNIEnv * env, jint val) /* * Builds an InetAddress object from a 32 bit address in host byte order */ -static jobject -_javanet_create_inetaddress (JNIEnv * env, int netaddr) +jobject +_javanet_create_inetaddress (JNIEnv * env, cpnet_address *netaddr) { #ifndef WITHOUT_NETWORK - unsigned char octets[4]; - char buf[16]; + jbyte octets[4]; + char buf[64]; jclass ia_cls; jmethodID mid; jstring ip_str; jobject ia; /* Build a string IP address */ - TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES (netaddr, - octets[0], - octets[1], - octets[2], octets[3]); - sprintf (buf, "%d.%d.%d.%d", octets[0], octets[1], octets[2], octets[3]); + cpnet_IPV4AddressToBytes(netaddr, octets); + sprintf (buf, "%d.%d.%d.%d", (int) (unsigned char)octets[0], (int)(unsigned char)octets[1], (int)(unsigned char)octets[2], (int)(unsigned char)octets[3]); DBG ("_javanet_create_inetaddress(): Created ip addr string\n"); /* Get an InetAddress object for this IP */ @@ -320,7 +315,7 @@ _javanet_set_remhost_addr (JNIEnv * env, jobject this, jobject ia) * InetAddress for the specified addr */ static void -_javanet_set_remhost (JNIEnv * env, jobject this, int netaddr) +_javanet_set_remhost (JNIEnv * env, jobject this, cpnet_address *netaddr) { jobject ia; @@ -338,19 +333,20 @@ _javanet_set_remhost (JNIEnv * env, jobject this, int netaddr) /*************************************************************************/ /* - * Returns a 32 bit Internet address for the passed in InetAddress object + * Returns an Internet address for the passed in InetAddress object */ -int -_javanet_get_netaddr (JNIEnv * env, jobject addr) +cpnet_address * +_javanet_get_ip_netaddr (JNIEnv * env, jobject addr) { #ifndef WITHOUT_NETWORK jclass cls = 0; jmethodID mid; jarray arr = 0; jbyte *octets; - int netaddr, len; + cpnet_address *netaddr; + jint len; - DBG ("_javanet_get_netaddr(): Entered _javanet_get_netaddr\n"); + DBG ("_javanet_get_ip_netaddr(): Entered _javanet_get_ip_netaddr\n"); if (addr == NULL) { @@ -368,36 +364,51 @@ _javanet_get_netaddr (JNIEnv * env, jobject addr) if (mid == NULL) return 0; - DBG ("_javanet_get_netaddr(): Got getAddress method\n"); + DBG ("_javanet_get_ip_netaddr(): Got getAddress method\n"); arr = (*env)->CallObjectMethod (env, addr, mid); if (arr == NULL) return 0; - DBG ("_javanet_get_netaddr(): Got the address\n"); + DBG ("_javanet_get_ip_netaddr(): Got the address\n"); - /* Turn the IP address into a 32 bit Internet address in network byte order */ + /* Turn the IP address into a system cpnet address. + * If the length is 4 then it is an IPV4 address, if it + * is 16 then it is an IPV6 address else it is an InternError. */ len = (*env)->GetArrayLength (env, arr); - if (len != 4) + if (len != 4 && len != 16) { JCL_ThrowException (env, IO_EXCEPTION, "Internal Error"); return 0; } - DBG ("_javanet_get_netaddr(): Length ok\n"); + DBG ("_javanet_get_ip_netaddr(): Length ok\n"); octets = (*env)->GetByteArrayElements (env, arr, 0); if (octets == NULL) return 0; - DBG ("_javanet_get_netaddr(): Grabbed bytes\n"); + DBG ("_javanet_get_ip_netaddr(): Grabbed bytes\n"); - TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT (octets[0], - octets[1], - octets[2], - octets[3], netaddr); + switch (len) + { + case 4: + netaddr = cpnet_newIPV4Address(env); + cpnet_bytesToIPV4Address(netaddr, octets); + break; + case 16: + netaddr = cpnet_newIPV6Address(env); + cpnet_bytesToIPV6Address(netaddr, octets); + break; + default: + /* This should not happen as we have checked before. + * But that way we shut the compiler warnings */ + JCL_ThrowException (env, IO_EXCEPTION, "Internal Error"); + return 0; + + } (*env)->ReleaseByteArrayElements (env, arr, octets, 0); - DBG ("_javanet_get_netaddr(): Done getting addr\n"); + DBG ("_javanet_get_ip_netaddr(): Done getting addr\n"); return netaddr; #else /* not WITHOUT_NETWORK */ @@ -419,29 +430,29 @@ _javanet_create (JNIEnv * env, jobject this, jboolean stream) if (stream) { /* create a stream socket */ - TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM (fd, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_openSocketStream(env, &fd, AF_INET); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } } else { /* create a datagram socket, set broadcast option */ - TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM (fd, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_openSocketDatagram (env, &fd, AF_INET); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST (fd, 1, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_setBroadcast(env, fd, 1); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } } @@ -458,13 +469,11 @@ _javanet_create (JNIEnv * env, jobject this, jboolean stream) /* Try to make sure we close the socket since close() won't work. */ do { - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); - if (result != TARGET_NATIVE_OK - && (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) + result = cpnet_close(env, fd); + if (result != CPNATIVE_OK && result != CPNATIVE_EINTR) return; } - while (result != TARGET_NATIVE_OK); + while (result != CPNATIVE_OK); return; } @@ -498,18 +507,16 @@ _javanet_close (JNIEnv * env, jobject this, int stream) "native_fd", -1); do { - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_close (env, fd); + if (result != CPNATIVE_OK) { /* Only throw an error when a "real" error occurs. */ - error = TARGET_NATIVE_LAST_ERROR (); - if (error != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL - && error != ENOTCONN && error != ECONNRESET && error != EBADF) + if (result != CPNATIVE_EINTR && result != ENOTCONN && result != ECONNRESET && result != EBADF) JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); } } - while (error == TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL); + while (error == CPNATIVE_EINTR); #else /* not WITHOUT_NETWORK */ #endif /* not WITHOUT_NETWORK */ @@ -525,20 +532,24 @@ _javanet_connect (JNIEnv * env, jobject this, jobject addr, jint port, jboolean stream) { #ifndef WITHOUT_NETWORK - int netaddr, fd; + cpnet_address *netaddr; + int fd; int result; - int local_address, local_port; - int remote_address, remote_port; + cpnet_address *local_addr; + cpnet_address *remote_addr; DBG ("_javanet_connect(): Entered _javanet_connect\n"); /* Pre-process input variables */ - netaddr = _javanet_get_netaddr (env, addr); + netaddr = _javanet_get_ip_netaddr (env, addr); if ((*env)->ExceptionOccurred (env)) return; if (port == -1) port = 0; + + cpnet_addressSetPort(netaddr, port); + DBG ("_javanet_connect(): Got network address\n"); /* Grab the real socket file descriptor */ @@ -554,29 +565,27 @@ _javanet_connect (JNIEnv * env, jobject this, jobject addr, jint port, /* Connect up */ do { - TARGET_NATIVE_NETWORK_SOCKET_CONNECT (fd, netaddr, port, result); - if (result != TARGET_NATIVE_OK - && (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) + result = cpnet_connect (env, fd, netaddr); + if (result != CPNATIVE_OK && result != CPNATIVE_EINTR) { JCL_ThrowException (env, CONNECT_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } } - while (result != TARGET_NATIVE_OK); - + while (result != CPNATIVE_OK); + DBG ("_javanet_connect(): Connected successfully\n"); /* Populate instance variables */ - TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO (fd, local_address, local_port, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getLocalAddr (env, fd, &local_addr); + if (result != CPNATIVE_OK) { + cpnet_freeAddress(env, netaddr); JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); + cpnet_close (env, fd); return; } @@ -584,63 +593,72 @@ _javanet_connect (JNIEnv * env, jobject this, jobject addr, jint port, if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); + cpnet_freeAddress(env, netaddr); + cpnet_freeAddress(env, local_addr); + cpnet_close (env, fd); return; } DBG ("_javanet_connect(): Created fd\n"); if (stream) _javanet_set_int_field (env, this, "java/net/SocketImpl", "localport", - local_port); + cpnet_addressGetPort(local_addr)); else _javanet_set_int_field (env, this, "java/net/DatagramSocketImpl", - "localPort", local_port); + "localPort", cpnet_addressGetPort(local_addr)); + cpnet_freeAddress (env, local_addr); if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); + cpnet_freeAddress(env, netaddr); + cpnet_close (env, fd); return; } DBG ("_javanet_connect(): Set the local port\n"); - TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO (fd, remote_address, - remote_port, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getRemoteAddr (env, fd, &remote_addr); + if (result != CPNATIVE_OK) { + cpnet_freeAddress(env, netaddr); JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); + cpnet_close (env, fd); return; } if (stream) { - if (remote_address == netaddr) + if (cpnet_isAddressEqual(remote_addr, netaddr)) { _javanet_set_remhost_addr (env, this, addr); } else { - _javanet_set_remhost (env, this, remote_address); + _javanet_set_remhost (env, this, remote_addr); } + cpnet_freeAddress(env, netaddr); + if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); + cpnet_freeAddress (env, remote_addr); + cpnet_close (env, fd); return; } DBG ("_javanet_connect(): Set the remote host\n"); _javanet_set_int_field (env, this, "java/net/SocketImpl", "port", - remote_port); + cpnet_addressGetPort(remote_addr)); + cpnet_freeAddress (env, remote_addr); + if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (fd, result); + cpnet_close (env, fd); return; } DBG ("_javanet_connect(): Set the remote port\n"); @@ -661,98 +679,59 @@ _javanet_bind (JNIEnv * env, jobject this, jobject addr, jint port, int stream) { #ifndef WITHOUT_NETWORK - jclass cls; - jmethodID mid; - jbyteArray arr = 0; - jbyte *octets; jint fd; - int tmpaddr; + cpnet_address *tmpaddr; + cpnet_address *local_addr; int result; - int local_address, local_port; DBG ("_javanet_bind(): Entering native bind()\n"); - - /* Get the address to connect to */ - cls = (*env)->GetObjectClass (env, addr); - if (cls == NULL) - return; - - mid = (*env)->GetMethodID (env, cls, "getAddress", "()[B"); - if (mid == NULL) - return; - - DBG ("_javanet_bind(): Past getAddress method id\n"); - - arr = (*env)->CallObjectMethod (env, addr, mid); - if ((arr == NULL) || (*env)->ExceptionOccurred (env)) - { - JCL_ThrowException (env, IO_EXCEPTION, - "Internal error: _javanet_bind()"); - return; - } - - DBG ("_javanet_bind(): Past call object method\n"); - - octets = (*env)->GetByteArrayElements (env, arr, 0); - if (octets == NULL) - return; - - DBG ("_javanet_bind(): Past grab array\n"); - - /* Get the native socket file descriptor */ + + /* Grab the real socket file descriptor */ fd = _javanet_get_int_field (env, this, "native_fd"); if (fd == -1) { - (*env)->ReleaseByteArrayElements (env, arr, octets, 0); JCL_ThrowException (env, IO_EXCEPTION, - "Internal error: _javanet_bind(): no native file descriptor"); + "Internal error: _javanet_connect(): no native file descriptor"); return; } - DBG ("_javanet_bind(): Past native_fd lookup\n"); - /* XXX NYI ??? */ - _javanet_set_option (env, this, SOCKOPT_SO_REUSEADDR, - _javanet_create_boolean (env, JNI_TRUE)); + cpnet_setReuseAddress (env, fd, 1); + /* Get the address to connect to */ + tmpaddr = _javanet_get_ip_netaddr (env, addr); + if ((*env)->ExceptionOccurred (env)) + return; - /* Bind the socket */ - TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT (octets[0], - octets[1], - octets[2], - octets[3], tmpaddr); - TARGET_NATIVE_NETWORK_SOCKET_BIND (fd, tmpaddr, port, result); - - if (result != TARGET_NATIVE_OK) + cpnet_addressSetPort (tmpaddr, port); + result = cpnet_bind(env, fd, tmpaddr); + cpnet_freeAddress (env, tmpaddr); + if (result != CPNATIVE_OK) { - char *errorstr = TARGET_NATIVE_LAST_ERROR_STRING (); - (*env)->ReleaseByteArrayElements (env, arr, octets, 0); - JCL_ThrowException (env, BIND_EXCEPTION, - errorstr); + cpnative_getErrorString (result)); return; } DBG ("_javanet_bind(): Past bind\n"); - (*env)->ReleaseByteArrayElements (env, arr, octets, 0); - /* Update instance variables, specifically the local port number */ - TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO (fd, local_address, local_port, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getLocalAddr (env, fd, &local_addr); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } if (stream) _javanet_set_int_field (env, this, "java/net/SocketImpl", - "localport", local_port); + "localport", cpnet_addressGetPort (local_addr)); else _javanet_set_int_field (env, this, "java/net/DatagramSocketImpl", - "localPort", local_port); + "localPort", cpnet_addressGetPort (local_addr)); DBG ("_javanet_bind(): Past update port number\n"); + cpnet_freeAddress (env, local_addr); + return; #else /* not WITHOUT_NETWORK */ #endif /* not WITHOUT_NETWORK */ @@ -781,11 +760,11 @@ _javanet_listen (JNIEnv * env, jobject this, jint queuelen) } /* Start listening */ - TARGET_NATIVE_NETWORK_SOCKET_LISTEN (fd, queuelen, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_listen (env, fd, queuelen); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } #else /* not WITHOUT_NETWORK */ @@ -804,8 +783,7 @@ _javanet_accept (JNIEnv * env, jobject this, jobject impl) #ifndef WITHOUT_NETWORK int fd, newfd; int result; - int local_address, local_port; - int remote_address, remote_port; + cpnet_address *remote_addr, *local_addr; /* Get the real file descriptor */ fd = _javanet_get_int_field (env, this, "native_fd"); @@ -819,24 +797,22 @@ _javanet_accept (JNIEnv * env, jobject this, jobject impl) /* Accept the connection */ do { - TARGET_NATIVE_NETWORK_SOCKET_ACCEPT (fd, newfd, result); - if (result != TARGET_NATIVE_OK - && (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) + result = cpnet_accept (env, fd, &newfd); + if (result != CPNATIVE_OK && result != CPNATIVE_EINTR) { - if (TARGET_NATIVE_LAST_ERROR () == EAGAIN) + if (result == ETIMEDOUT || result == EAGAIN) JCL_ThrowException (env, "java/net/SocketTimeoutException", - "Timeout"); + "Accept operation timed out"); else JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } } - while (result != TARGET_NATIVE_OK); + while (result != CPNATIVE_OK); /* Reset the inherited timeout. */ - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT (newfd, 0, result); + cpnet_setSocketTimeout (env, newfd, 0); /* Populate instance variables */ _javanet_set_int_field (env, impl, "gnu/java/net/PlainSocketImpl", @@ -847,24 +823,21 @@ _javanet_accept (JNIEnv * env, jobject this, jobject impl) /* Try to make sure we close the socket since close() won't work. */ do { - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); - if (result != TARGET_NATIVE_OK - && (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) + result = cpnet_close (env, newfd); + if (result != CPNATIVE_OK && result != CPNATIVE_EINTR) return; } - while (result != TARGET_NATIVE_OK); + while (result != CPNATIVE_OK); return; } - TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO (newfd, local_address, - local_port, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getLocalAddr (env, newfd, &local_addr); + if (result != CPNATIVE_OK) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); + cpnet_close (env, newfd); JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } @@ -872,44 +845,47 @@ _javanet_accept (JNIEnv * env, jobject this, jobject impl) if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); + cpnet_freeAddress (env, local_addr); + cpnet_close (env, newfd); return; } _javanet_set_int_field (env, impl, "java/net/SocketImpl", "localport", - local_port); + cpnet_addressGetPort (local_addr)); + cpnet_freeAddress (env, local_addr); if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); + cpnet_close (env, newfd); return; } - TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO (newfd, remote_address, - remote_port, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getRemoteAddr (env, newfd, &remote_addr); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); + cpnet_close (env, newfd); return; } - _javanet_set_remhost (env, impl, remote_address); + _javanet_set_remhost (env, impl, remote_addr); if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); + cpnet_close (env, newfd); + cpnet_freeAddress (env, remote_addr); return; } _javanet_set_int_field (env, impl, "java/net/SocketImpl", "port", - remote_port); + cpnet_addressGetPort (remote_addr)); + cpnet_freeAddress (env, remote_addr); if ((*env)->ExceptionOccurred (env)) { /* We don't care whether this succeeds. close() will cleanup later. */ - TARGET_NATIVE_NETWORK_SOCKET_CLOSE (newfd, result); + cpnet_close (env, newfd); return; } #else /* not WITHOUT_NETWORK */ @@ -934,13 +910,14 @@ _javanet_accept (JNIEnv * env, jobject this, jobject impl) */ int _javanet_recvfrom (JNIEnv * env, jobject this, jarray buf, int offset, - int len, int *addr, int *port) + int len, cpnet_address **addr) { #ifndef WITHOUT_NETWORK int fd; jbyte *p; - int from_address, from_port; - int received_bytes; + cpnet_address *from_addr; + jint received_bytes; + int result; DBG ("_javanet_recvfrom(): Entered _javanet_recvfrom\n"); @@ -962,36 +939,26 @@ _javanet_recvfrom (JNIEnv * env, jobject this, jarray buf, int offset, DBG ("_javanet_recvfrom(): Got buffer\n"); /* Read the data */ - from_address = 0; - from_port = 0; + from_addr = NULL; do { if (addr != NULL) { - TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT (fd, - p + offset, - len, - from_address, - from_port, - received_bytes); + result = cpnet_recvFrom (env, fd, p + offset, len, &from_addr, &received_bytes); } else { - TARGET_NATIVE_NETWORK_SOCKET_RECEIVE (fd, p + offset, len, - received_bytes); + result = cpnet_recv (env, fd, p + offset, len, &received_bytes); } } - while ((received_bytes == -1) && - (TARGET_NATIVE_LAST_ERROR () == - TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)); - - if (received_bytes == -1) + while (result == CPNATIVE_EINTR); + if (result != 0) { - if (TARGET_NATIVE_LAST_ERROR () == EAGAIN) - JCL_ThrowException (env, "java/net/SocketTimeoutException", "Timeout"); + if (result == EAGAIN || result == ETIMEDOUT) + JCL_ThrowException (env, "java/net/SocketTimeoutException", "Receive operation timed out"); else JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); /* Cleanup and return. */ (*env)->ReleaseByteArrayElements (env, buf, p, 0); @@ -1003,9 +970,7 @@ _javanet_recvfrom (JNIEnv * env, jobject this, jarray buf, int offset, /* Handle return addr case */ if (addr != NULL) { - (*addr) = from_address; - if (port != NULL) - (*port) = from_port; + (*addr) = from_addr; } /* zero bytes received means recv() noticed the other side orderly @@ -1013,7 +978,7 @@ _javanet_recvfrom (JNIEnv * env, jobject this, jarray buf, int offset, if (received_bytes == 0) received_bytes = -1; - return (received_bytes); + return received_bytes; #else /* not WITHOUT_NETWORK */ #endif /* not WITHOUT_NETWORK */ } @@ -1031,12 +996,13 @@ _javanet_recvfrom (JNIEnv * env, jobject this, jarray buf, int offset, */ void _javanet_sendto (JNIEnv * env, jobject this, jarray buf, int offset, int len, - int addr, int port) + cpnet_address *addr) { #ifndef WITHOUT_NETWORK int fd; jbyte *p; - int bytes_sent; + jint bytes_sent; + int result; /* Get the real file descriptor */ fd = _javanet_get_int_field (env, this, "native_fd"); @@ -1056,26 +1022,30 @@ _javanet_sendto (JNIEnv * env, jobject this, jarray buf, int offset, int len, while (len > 0) { /* Send the data */ - if (addr == 0) + if (addr == NULL) { DBG ("_javanet_sendto(): Sending....\n"); - TARGET_NATIVE_NETWORK_SOCKET_SEND (fd, p + offset, len, bytes_sent); + result = cpnet_send (env, fd, p + offset, len, &bytes_sent); } else { DBG ("_javanet_sendto(): Sending....\n"); - TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT (fd, p + offset, - len, addr, port, - bytes_sent); + result = cpnet_sendTo (env, fd, p + offset, len, addr, &bytes_sent); } + if (result == EDESTADDRREQ) + { + JCL_ThrowException (env, NULL_EXCEPTION, + "Socket is not connected and no address is given"); + break; + } + if (bytes_sent < 0) { - if (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL) + if (result != CPNATIVE_EINTR) { JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); break; } } @@ -1105,8 +1075,8 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) int optval; jclass cls; jmethodID mid; - int address; - int result; + cpnet_address * address; + int result = CPNATIVE_OK; /* Get the real file descriptor */ fd = _javanet_get_int_field (env, this, "native_fd"); @@ -1123,7 +1093,6 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) return; /* Process the option request */ - result = TARGET_NATIVE_ERROR; switch (option_id) { /* TCP_NODELAY case. val is a Boolean that tells us what to do */ @@ -1141,8 +1110,7 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if ((*env)->ExceptionOccurred (env)) return; - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY (fd, optval, - result); + result = cpnet_setSocketTCPNoDelay (env, fd, optval); break; /* SO_LINGER case. If val is a boolean, then it will always be set @@ -1153,8 +1121,7 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if (mid) { /* We are disabling linger */ - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER (fd, 1, 0, - result); + result = cpnet_setLinger (env, fd, JNI_FALSE, 0); } else { @@ -1175,15 +1142,13 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if ((*env)->ExceptionOccurred (env)) return; - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER (fd, 0, optval, - result); + result = cpnet_setLinger(env, fd, JNI_TRUE, optval); } break; /* SO_TIMEOUT case. Val will be an integer with the new value */ /* Not writable on Linux */ case SOCKOPT_SO_TIMEOUT: -#ifdef SO_TIMEOUT mid = (*env)->GetMethodID (env, cls, "intValue", "()I"); if (mid == NULL) { @@ -1196,10 +1161,7 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if ((*env)->ExceptionOccurred (env)) return; - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT (fd, optval, result); -#else - result = TARGET_NATIVE_OK; -#endif + result = cpnet_setSocketTimeout (env, fd, optval); break; case SOCKOPT_SO_SNDBUF: @@ -1218,11 +1180,9 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) return; if (option_id == SOCKOPT_SO_SNDBUF) - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF (fd, optval, - result); + result = cpnet_setSendBuf (env, fd, optval); else - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF (fd, optval, - result); + result = cpnet_setRecvBuf (env, fd, optval); break; /* TTL case. Val with be an Integer with the new time to live value */ @@ -1239,18 +1199,18 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if ((*env)->ExceptionOccurred (env)) return; - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL (fd, optval, result); + result = cpnet_setTTL (env, fd, optval); break; /* Multicast Interface case - val is InetAddress object */ case SOCKOPT_IP_MULTICAST_IF: - address = _javanet_get_netaddr (env, val); + address = _javanet_get_ip_netaddr (env, val); if ((*env)->ExceptionOccurred (env)) return; - - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF (fd, address, - result); + + result = cpnet_setMulticastIF (env, fd, address); + cpnet_freeAddress (env, address); break; case SOCKOPT_SO_REUSEADDR: @@ -1267,8 +1227,7 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if ((*env)->ExceptionOccurred (env)) return; - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS (fd, optval, - result); + result = cpnet_setReuseAddress (env, fd, optval); break; case SOCKOPT_SO_KEEPALIVE: @@ -1285,7 +1244,7 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) if ((*env)->ExceptionOccurred (env)) return; - TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE (fd, optval, result); + result = cpnet_setKeepAlive (env, fd, optval); break; case SOCKOPT_SO_BINDADDR: @@ -1298,10 +1257,10 @@ _javanet_set_option (JNIEnv * env, jobject this, jint option_id, jobject val) } /* Check to see if above operations succeeded */ - if (result != TARGET_NATIVE_OK) + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return; } #else /* not WITHOUT_NETWORK */ @@ -1319,8 +1278,9 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) #ifndef WITHOUT_NETWORK int fd; int flag, optval; - int address; + cpnet_address *address; int result; + jobject obj; /* Get the real file descriptor */ fd = _javanet_get_int_field (env, this, "native_fd"); @@ -1336,12 +1296,11 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) { /* TCP_NODELAY case. Return a Boolean indicating on or off */ case SOCKOPT_TCP_NODELAY: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY (fd, optval, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getSocketTCPNoDelay (env, fd, &optval); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } @@ -1355,17 +1314,17 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) /* SO_LINGER case. If disabled, return a Boolean object that represents false, else return an Integer that is the value of SO_LINGER */ case SOCKOPT_SO_LINGER: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER (fd, flag, optval, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getLinger (env, fd, &flag, &optval); + + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } - if (optval) - return (_javanet_create_integer (env, JNI_TRUE)); + if (flag) + return (_javanet_create_integer (env, optval)); else return (_javanet_create_boolean (env, JNI_FALSE)); @@ -1373,34 +1332,27 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) /* SO_TIMEOUT case. Return an Integer object with the timeout value */ case SOCKOPT_SO_TIMEOUT: -#ifdef SO_TIMEOUT - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT (fd, optval, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getSocketTimeout (env, fd, &optval); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } return (_javanet_create_integer (env, optval)); -#else - JCL_ThrowException (env, SOCKET_EXCEPTION, - "SO_TIMEOUT not supported on this platform"); - return (0); -#endif /* not SO_TIMEOUT */ break; case SOCKOPT_SO_SNDBUF: case SOCKOPT_SO_RCVBUF: if (option_id == SOCKOPT_SO_SNDBUF) - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF (fd, optval, - result); + result = cpnet_getSendBuf (env, fd, &optval); else - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF (fd, optval, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getRecvBuf (env, fd, &optval); + + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } @@ -1409,11 +1361,11 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) /* The TTL case. Return an Integer with the Time to Live value */ case SOCKOPT_IP_TTL: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL (fd, optval, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getTTL (env, fd, &optval); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } @@ -1422,61 +1374,64 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) /* Multicast interface case */ case SOCKOPT_IP_MULTICAST_IF: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF (fd, address, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getMulticastIF (env, fd, &address); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } - return (_javanet_create_inetaddress (env, address)); + obj = _javanet_create_inetaddress (env, address); + cpnet_freeAddress (env, address); + + return obj; break; case SOCKOPT_SO_BINDADDR: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS (fd, address, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getLocalAddr (env, fd, &address); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } - return (_javanet_create_inetaddress (env, address)); + obj = _javanet_create_inetaddress (env, address); + cpnet_freeAddress (env, address); + + return obj; break; case SOCKOPT_SO_REUSEADDR: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS (fd, optval, - result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getReuseAddress (env, fd, &optval); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } if (optval) - return (_javanet_create_boolean (env, JNI_TRUE)); + return _javanet_create_boolean (env, JNI_TRUE); else - return (_javanet_create_boolean (env, JNI_FALSE)); + return _javanet_create_boolean (env, JNI_FALSE); break; case SOCKOPT_SO_KEEPALIVE: - TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE (fd, optval, result); - if (result != TARGET_NATIVE_OK) + result = cpnet_getKeepAlive (env, fd, &optval); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); + cpnative_getErrorString (result)); return (0); } if (optval) - return (_javanet_create_boolean (env, JNI_TRUE)); + return _javanet_create_boolean (env, JNI_TRUE); else - return (_javanet_create_boolean (env, JNI_FALSE)); + return _javanet_create_boolean (env, JNI_FALSE); break; @@ -1493,6 +1448,7 @@ _javanet_get_option (JNIEnv * env, jobject this, jint option_id) void _javanet_shutdownInput (JNIEnv * env, jobject this) { + int result; int fd; /* Get the real file descriptor. */ @@ -1505,10 +1461,11 @@ _javanet_shutdownInput (JNIEnv * env, jobject this) } /* Shutdown input stream of socket. */ - if (shutdown (fd, SHUT_RD) == -1) + result = cpnet_shutdown (env, fd, CPNET_SHUTDOWN_READ); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING()); + cpnative_getErrorString (result)); return; } } @@ -1517,6 +1474,7 @@ void _javanet_shutdownOutput (JNIEnv * env, jobject this) { int fd; + int result; /* Get the real file descriptor. */ fd = _javanet_get_int_field (env, this, "native_fd"); @@ -1528,10 +1486,11 @@ _javanet_shutdownOutput (JNIEnv * env, jobject this) } /* Shutdown output stream of socket. */ - if (shutdown (fd, SHUT_WR) == -1) + result = cpnet_shutdown (env, fd, CPNET_SHUTDOWN_WRITE); + if (result != CPNATIVE_OK) { JCL_ThrowException (env, SOCKET_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING()); + cpnative_getErrorString (result)); return; } } diff --git a/libjava/classpath/native/jni/java-net/javanet.h b/libjava/classpath/native/jni/java-net/javanet.h index 030d41282ba..96dba881b54 100644 --- a/libjava/classpath/native/jni/java-net/javanet.h +++ b/libjava/classpath/native/jni/java-net/javanet.h @@ -41,6 +41,7 @@ exception statement from your version. */ #include #include "jcl.h" +#include "cpnet.h" /*************************************************************************/ @@ -54,6 +55,7 @@ exception statement from your version. */ #define CONNECT_EXCEPTION "java/net/ConnectException" #define SOCKET_EXCEPTION "java/net/SocketException" #define UNKNOWN_HOST_EXCEPTION "java/net/UnknownHostException" +#define NULL_EXCEPTION "java/lang/NullPointerException" /* Socket Option Identifiers - Don't change or binary compatibility with the JDK will be broken! These also need to @@ -78,15 +80,16 @@ exception statement from your version. */ */ extern int _javanet_get_int_field(JNIEnv *, jobject, const char *); -extern int _javanet_get_netaddr(JNIEnv *, jobject); +extern cpnet_address *_javanet_get_ip_netaddr(JNIEnv *, jobject); +extern jobject _javanet_create_inetaddress (JNIEnv *, cpnet_address *); extern void _javanet_create(JNIEnv *, jobject, jboolean); extern void _javanet_close(JNIEnv *, jobject, int); extern void _javanet_connect(JNIEnv *, jobject, jobject, jint, jboolean); extern void _javanet_bind(JNIEnv *, jobject, jobject, jint, int); extern void _javanet_listen(JNIEnv *, jobject, jint); extern void _javanet_accept(JNIEnv *, jobject, jobject); -extern int _javanet_recvfrom(JNIEnv *, jobject, jarray, int, int, int *, int *); -extern void _javanet_sendto(JNIEnv *, jobject, jarray, int, int, int, int); +extern int _javanet_recvfrom(JNIEnv *, jobject, jarray, int, int, cpnet_address **); +extern void _javanet_sendto(JNIEnv *, jobject, jarray, int, int, cpnet_address *); extern jobject _javanet_get_option(JNIEnv *, jobject, jint); extern void _javanet_set_option(JNIEnv *, jobject, jint, jobject); extern void _javanet_shutdownInput (JNIEnv *, jobject); diff --git a/libjava/classpath/native/jni/java-net/local.c b/libjava/classpath/native/jni/java-net/local.c index cdddd89efc3..c8ca91c2ab5 100644 --- a/libjava/classpath/native/jni/java-net/local.c +++ b/libjava/classpath/native/jni/java-net/local.c @@ -36,9 +36,7 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif /* HAVE_CONFIG_H */ #ifdef ENABLE_LOCAL_SOCKETS diff --git a/libjava/classpath/native/jni/java-nio/.cvsignore b/libjava/classpath/native/jni/java-nio/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/java-nio/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/java-nio/Makefile.am b/libjava/classpath/native/jni/java-nio/Makefile.am index c3f6caf6209..9f2db83f20f 100644 --- a/libjava/classpath/native/jni/java-nio/Makefile.am +++ b/libjava/classpath/native/jni/java-nio/Makefile.am @@ -3,15 +3,21 @@ nativeexeclib_LTLIBRARIES = libjavanio.la libjavanio_la_SOURCES = gnu_java_nio_VMPipe.c \ gnu_java_nio_VMChannel.c \ gnu_java_nio_VMSelector.c \ - gnu_java_nio_channels_FileChannelImpl.c \ gnu_java_nio_charset_iconv_IconvDecoder.c \ gnu_java_nio_charset_iconv_IconvEncoder.c \ java_nio_MappedByteBufferImpl.c \ - java_nio_VMDirectByteBuffer.c + java_nio_VMDirectByteBuffer.c \ + gnu_java_nio_EpollSelectorImpl.c \ + gnu_java_nio_KqueueSelectorImpl.c \ + javanio.h libjavanio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ $(LTLIBICONV) +# Directly included through javanio.h +EXTRA_DIST = javanio.c + AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ diff --git a/libjava/classpath/native/jni/java-nio/Makefile.in b/libjava/classpath/native/jni/java-nio/Makefile.in index bb3a5833946..147455caf85 100644 --- a/libjava/classpath/native/jni/java-nio/Makefile.in +++ b/libjava/classpath/native/jni/java-nio/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -65,14 +67,16 @@ LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) am__DEPENDENCIES_1 = libjavanio_la_DEPENDENCIES = \ $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ $(am__DEPENDENCIES_1) am_libjavanio_la_OBJECTS = gnu_java_nio_VMPipe.lo \ gnu_java_nio_VMChannel.lo gnu_java_nio_VMSelector.lo \ - gnu_java_nio_channels_FileChannelImpl.lo \ gnu_java_nio_charset_iconv_IconvDecoder.lo \ gnu_java_nio_charset_iconv_IconvEncoder.lo \ java_nio_MappedByteBufferImpl.lo \ - java_nio_VMDirectByteBuffer.lo + java_nio_VMDirectByteBuffer.lo \ + gnu_java_nio_EpollSelectorImpl.lo \ + gnu_java_nio_KqueueSelectorImpl.lo libjavanio_la_OBJECTS = $(am_libjavanio_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -192,6 +196,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -313,21 +319,26 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libjavanio.la libjavanio_la_SOURCES = gnu_java_nio_VMPipe.c \ gnu_java_nio_VMChannel.c \ gnu_java_nio_VMSelector.c \ - gnu_java_nio_channels_FileChannelImpl.c \ gnu_java_nio_charset_iconv_IconvDecoder.c \ gnu_java_nio_charset_iconv_IconvEncoder.c \ java_nio_MappedByteBufferImpl.c \ - java_nio_VMDirectByteBuffer.c + java_nio_VMDirectByteBuffer.c \ + gnu_java_nio_EpollSelectorImpl.c \ + gnu_java_nio_KqueueSelectorImpl.c \ + javanio.h libjavanio_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo \ + $(top_builddir)/native/jni/native-lib/libclasspathnative.la \ $(LTLIBICONV) + +# Directly included through javanio.h +EXTRA_DIST = javanio.c AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ @@ -400,10 +411,11 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_EpollSelectorImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_KqueueSelectorImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_VMChannel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_VMPipe.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_VMSelector.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_channels_FileChannelImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_charset_iconv_IconvDecoder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_nio_charset_iconv_IconvEncoder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_nio_MappedByteBufferImpl.Plo@am__quote@ diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c new file mode 100644 index 00000000000..d794e6d9fea --- /dev/null +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c @@ -0,0 +1,414 @@ +/* gnu_java_nio_EpollSelectorImpl.c -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +#ifdef HAVE_CONFIG_H +#include +#endif /* HAVE_CONFIG_H */ + +#ifdef HAVE_SYS_EPOLL_H +#include +#endif /* HAVE_SYS_EPOLL_H */ + +#include +#include +#include +#include + +#define IO_EXCEPTION "java/io/IOException" + +/* #define TRACE_EPOLL 1 */ + + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: epoll_supported + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_EpollSelectorImpl_epoll_1supported (JNIEnv *e __attribute__((unused)), + jclass c __attribute__((unused))) +{ +#ifdef HAVE_EPOLL_CREATE + return JNI_TRUE; +#else + return JNI_FALSE; +#endif /* HAVE_EPOLL_CREATE */ +} + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: sizeof_struct + * Signature: ()I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_EpollSelectorImpl_sizeof_1struct (JNIEnv *env, + jclass c __attribute__((unused))) +{ +#ifdef HAVE_EPOLL_CREATE + (void) env; +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: sizeof is %d\n", __FUNCTION__, sizeof (struct epoll_event)); +#endif /* TRACE_EPOLL */ + return sizeof (struct epoll_event); +#else + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); + return -1; +#endif /* HAVE_EPOLL_CREATE */ +} + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: epoll_create + * Signature: (I)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_EpollSelectorImpl_epoll_1create (JNIEnv *env, + jclass c __attribute__((unused)), + jint size) +{ +#ifdef HAVE_EPOLL_CREATE + int fd = epoll_create (size); + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: epoll_create returns %d\n", __FUNCTION__, fd); +#endif /* TRACE_EPOLL */ + + if (fd == -1) + { + if (ENOSYS == errno) + JCL_ThrowException (env, "java/lang/InternalError", + strerror (errno)); + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } + return fd; +#else + (void) size; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); + return -1; +#endif /* HAVE_EPOLL_CREATE */ +} + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: epoll_add + * Signature: (III)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_EpollSelectorImpl_epoll_1add (JNIEnv *env, + jclass c __attribute__((unused)), + jint efd, jint fd, jint ops) +{ +#ifdef HAVE_EPOLL_CREATE + struct epoll_event event; + + memset (&event, 0, sizeof (struct epoll_event)); + + if ((ops & gnu_java_nio_EpollSelectorImpl_OP_ACCEPT) != 0 + || (ops & gnu_java_nio_EpollSelectorImpl_OP_READ) != 0) + event.events = EPOLLIN; + + if ((ops & gnu_java_nio_EpollSelectorImpl_OP_CONNECT) != 0 + || (ops & gnu_java_nio_EpollSelectorImpl_OP_WRITE) != 0) + event.events |= EPOLLOUT; + + event.data.fd = fd; + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: adding struct epoll_event { events: %o; data.fd: %d } to %d\n", + __FUNCTION__, event.events, event.data.fd, efd); +#endif /* TRACE_EPOLL */ + + if (epoll_ctl (efd, EPOLL_CTL_ADD, fd, &event) == -1) + { + if (ENOSYS == errno) + JCL_ThrowException (env, "java/lang/InternalError", + strerror (errno)); + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } +#else + (void) efd; + (void) fd; + (void) ops; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); +#endif /* HAVE_EPOLL_CREATE */ +} + + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: epoll_modify + * Signature: (III)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_EpollSelectorImpl_epoll_1modify (JNIEnv *env, + jclass c __attribute__((unused)), + jint efd, jint fd, jint ops) +{ +#ifdef HAVE_EPOLL_CREATE + struct epoll_event event; + + memset (&event, 0, sizeof (struct epoll_event)); + + if ((ops & gnu_java_nio_EpollSelectorImpl_OP_ACCEPT) != 0 + || (ops & gnu_java_nio_EpollSelectorImpl_OP_READ) != 0) + event.events = EPOLLIN; + + if ((ops & gnu_java_nio_EpollSelectorImpl_OP_CONNECT) != 0 + || (ops & gnu_java_nio_EpollSelectorImpl_OP_WRITE) != 0) + event.events |= EPOLLOUT; + + event.data.fd = fd; + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: modding struct epoll_event { events: %o; data.fd: %d } on %d\n", + __FUNCTION__, event.events, event.data.fd, efd); +#endif /* TRACE_EPOLL */ + + if (epoll_ctl (efd, EPOLL_CTL_MOD, fd, &event) == -1) + { + if (ENOSYS == errno) + JCL_ThrowException (env, "java/lang/InternalError", + strerror (errno)); + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } +#else + (void) efd; + (void) fd; + (void) ops; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); +#endif /* HAVE_EPOLL_CREATE */ +} + + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: epoll_delete + * Signature: (II)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete (JNIEnv *env, + jclass c __attribute__((unused)), + jint efd, jint fd) +{ +#ifdef HAVE_EPOLL_CREATE + struct epoll_event event; + + memset (&event, 0, sizeof (struct epoll_event)); + event.data.fd = fd; + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: delete events on fd %d for %d\n", __FUNCTION__, fd, efd); +#endif /* TRACE_EPOLL */ + + /* Older kernel versions require a non-null `event' parameter, + * even though it is ignored by this call. + */ + if (epoll_ctl (efd, EPOLL_CTL_DEL, fd, &event) == -1) + { + if (ENOSYS == errno) + JCL_ThrowException (env, "java/lang/InternalError", + strerror (errno)); + /* XXX the docs here seem a little strange. If `fd' is closed, + epoll_ctl returns EBADF; but the docs say that this happens + only when efd is invalid. Go figure. + */ + else if (ENOENT == errno || EBADF == errno) + return; /* fd is closed; it's already removed. */ + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } +#else + (void) efd; + (void) fd; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); +#endif /* HAVE_EPOLL_CREATE */ +} + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: epoll_wait + * Signature: (ILjava/nio/ByteBuffer;II)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait (JNIEnv *env, + jclass c __attribute__((unused)), + jint efd, jobject nstate, + jint num_events, jint timeout) +{ +#ifdef HAVE_EPOLL_CREATE + void *p = (*env)->GetDirectBufferAddress (env, nstate); + struct epoll_event *events = (struct epoll_event *) p; + int ret; + + if (p == NULL) + { + if (!(*env)->ExceptionCheck (env)) + JCL_ThrowException (env, IO_EXCEPTION, "getting native state failed"); + return -1; + } + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: events: %p; num_events: %d; timeout: %d; efd: %d\n", + __FUNCTION__, p, num_events, timeout, efd); +#endif /* TRACE_EPOLL */ + + ret = epoll_wait (efd, events, num_events, timeout); + + if (ret == -1) + { + if (ENOSYS == errno) + JCL_ThrowException (env, "java/lang/InternalError", + strerror (errno)); + else if (EINTR == errno) + ret = 0; + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } + +#ifdef TRACE_EPOLL + fprintf (stderr, " epoll_wait returns %d\n", ret); + { + int i; + for (i = 0; i < ret; i++) + { + fprintf (stderr, " [%4i]: events: %o; data.fd: %d\n", i, events[i].events, + events[i].data.fd); + } + } + fflush (stderr); +#endif /* TRACE_EPOLL */ + + return ret; +#else + (void) efd; + (void) nstate; + (void) num_events; + (void) timeout; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); + return -1; +#endif /* HAVE_EPOLL_CREATE */ +} + + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: selected_fd + * Signature: (Ljava/nio/ByteBuffer;)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_EpollSelectorImpl_selected_1fd (JNIEnv *env, + jclass c __attribute__((unused)), + jobject value) +{ +#ifdef HAVE_EPOLL_CREATE + void *p = (*env)->GetDirectBufferAddress (env, value); + struct epoll_event *event = (struct epoll_event *) p; + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: event: %p\n", __FUNCTION__, p); +#endif /* TRACE_EPOLL */ + + if (p == NULL) + { + if (!(*env)->ExceptionCheck (env)) + JCL_ThrowException (env, "java/lang/InternalError", + "getting native state failed"); + return -1; + } + +#ifdef TRACE_EPOLL + fprintf (stderr, " data.fd: %d\n", event->data.fd); + fflush (stderr); +#endif /* TRACE_EPOLL */ + + return event->data.fd; +#else + (void) value; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); + return -1; +#endif /* HAVE_EPOLL_CREATE */ +} + + +/* + * Class: gnu_java_nio_EpollSelectorImpl + * Method: selected_ops + * Signature: (Ljava/nio/ByteBuffer;)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_EpollSelectorImpl_selected_1ops (JNIEnv *env, + jclass c __attribute__((unused)), + jobject value) +{ +#ifdef HAVE_EPOLL_CREATE + void *p = (*env)->GetDirectBufferAddress (env, value); + struct epoll_event *event = (struct epoll_event *) p; + int ret = 0; + +#ifdef TRACE_EPOLL + fprintf (stderr, "%s: event: %p\n", __FUNCTION__, p); +#endif /* TRACE_EPOLL */ + + if (p == NULL) + { + if (!(*env)->ExceptionCheck (env)) + JCL_ThrowException (env, "java/lang/InternalError", + "getting native state failed"); + return -1; + } + + if ((event->events & EPOLLIN) != 0) + ret |= gnu_java_nio_EpollSelectorImpl_OP_ACCEPT | gnu_java_nio_EpollSelectorImpl_OP_READ; + if ((event->events & EPOLLOUT) != 0) + ret |= gnu_java_nio_EpollSelectorImpl_OP_CONNECT | gnu_java_nio_EpollSelectorImpl_OP_WRITE; + +#ifdef TRACE_EPOLL + fprintf (stderr, " events: %o\n", event->events); + fflush (stderr); +#endif /* TRACE_EPOLL */ + + return ret; +#else + (void) value; + JCL_ThrowException (env, "java/lang/InternalError", "epoll support not available"); + return -1; +#endif /* HAVE_EPOLL_CREATE */ +} diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c new file mode 100644 index 00000000000..94e6db7f88e --- /dev/null +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c @@ -0,0 +1,387 @@ +/* gnu_java_nio_channel_KqueueSelectorImpl.c -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +#if HAVE_CONFIG_H +#include +#endif /* HAVE_CONFIG_H */ + +#include +#if HAVE_SYS_EVENT_H +#include +#endif /* HAVE_SYS_EVENT_H */ +#include +#include +#include +#include + +#include +#include + +#include + +#define KEY_OP_ACCEPT 16 +#define KEY_OP_CONNECT 8 +#define KEY_OP_READ 1 +#define KEY_OP_WRITE 4 + +/* XXX this requires -std=gnu99 or c99 */ +/* #ifdef TRACE_KQUEUE */ +/* #define TRACE(fmt, ...) fprintf (stderr, "%s: " fmt "\n", __FUNCTION__, __VA_ARGS__); */ +/* #else */ +/* #define TRACE(fmt, ...) */ +/* #endif */ + +/* #define TRACE_KQUEUE 1 */ + + +#define throw_not_supported(env) JCL_ThrowException (env, "java/lang/UnsupportedOperationException", "kqueue/kevent support not available") + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: kqueue_supported + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_kqueue_1supported (JNIEnv *env __attribute__((unused)), + jclass clazz __attribute__((unused))) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + return JNI_TRUE; +#else + return JNI_FALSE; +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: sizeof_struct_kevent + * Signature: ()I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_sizeof_1struct_1kevent +(JNIEnv *env __attribute__((unused)), jclass clazz __attribute__((unused))) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) +/* TRACE("return sizeof %lu", sizeof (struct kevent)); */ + return sizeof (struct kevent); +#else + throw_not_supported (env); + return -1; +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: implOpen + * Signature: ()I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_implOpen +(JNIEnv *env, jclass clazz __attribute__((unused))) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + int kq = kqueue (); +/* TRACE("kqueue returns %d", kq); */ + if (kq == -1) + JCL_ThrowException (env, "java/io/IOException", strerror (errno)); + return kq; +#else + throw_not_supported (env); + return -1; +#endif +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: implClose + * Signature: (I)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_implClose (JNIEnv *env, + jclass clazz __attribute__((unused)), + jint kq) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) +/* TRACE("closing %d", kq); */ + if (close (kq) != 0) + JCL_ThrowException (env, "java/io/IOException", strerror (errno)); +#else + (void) kq; + throw_not_supported (env); +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: kevent_set + * Signature: (Ljava/nio/ByteBuffer;IIIZ)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_kevent_1set (JNIEnv *env, + jclass clazz __attribute__((unused)), + jobject nstate, jint i, jint fd, + jint ops, jint active, jint key) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + struct kevent *kev; + short ident; + + kev = (struct kevent *) (*env)->GetDirectBufferAddress (env, nstate); + +#ifdef TRACE_KQUEUE + printf ("kevent_set fd:%d p:%p i:%d ops:%x active:%x key:%x\n", + fd, (void *) kev, i, ops, active, key); +#endif /* TRACE_KQUEUE */ + + if (kev == NULL) + { + JCL_ThrowException (env, "java/lang/InternalError", + "GetDirectBufferAddress returned NULL!"); + return; + } + + ident = fd; + memset (&kev[i], 0, sizeof (struct kevent)); + + if ((ops & KEY_OP_READ) || (ops & KEY_OP_ACCEPT)) + { + /* Add event if it wasn't previously added. */ + if (!(active & KEY_OP_READ) && !(active & KEY_OP_ACCEPT)) + EV_SET(&kev[i], ident, EVFILT_READ, EV_ADD, 0, 0, (void *) key); + } + else + { + /* Delete event if it was previously added */ + if ((active & KEY_OP_READ) || (active & KEY_OP_ACCEPT)) + EV_SET(&kev[i], ident, EVFILT_READ, EV_DELETE, 0, 0, (void *) key); + } + + /* Do the same thing for the write filter. */ + if ((ops & KEY_OP_WRITE) || (ops & KEY_OP_CONNECT)) + { + if (!(active & KEY_OP_WRITE) && !(active & KEY_OP_CONNECT)) + EV_SET(&kev[i], ident, EVFILT_WRITE, EV_ADD, 0, 0, (void *) key); + } + else + { + if ((active & KEY_OP_WRITE) || (active & KEY_OP_CONNECT)) + EV_SET(&kev[i], ident, EVFILT_WRITE, EV_DELETE, 0, 0, (void *) key); + } + +#ifdef TRACE_KQUEUE + printf (" set kevent %2d: ident:%u filter:%x flags:%o fflags:%o data:%p udata:%p\n", + i, (unsigned) kev[i].ident, kev[i].filter, kev[i].flags, kev[i].fflags, + (void *) kev[i].data, kev[i].udata); +#endif /* TRACE_KQUEUE */ +#else + (void) nstate; + (void) i; + (void) fd; + (void) ops; + (void) key; + (void) active; + throw_not_supported (env); +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: kevent + * Signature: (ILjava/nio/ByteBuffer;IJ)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_kevent (JNIEnv *env, + jobject this __attribute__((unused)), + jint kq, jobject nstate, jint nevents, + jint maxevents, jlong timeout) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + struct timespec tv; + struct timespec *t = NULL; + struct kevent *kev = (struct kevent *) (*env)->GetDirectBufferAddress (env, nstate); + int ret; + +#ifdef TRACE_KQUEUE + int i; + + printf ("[%d] kevent nevents:%d maxevents:%d timeout:%lld\n", kq, nevents, maxevents, timeout); + printf ("[%d] addding/deleting %d events\n", kq, nevents); + for (i = 0; i < nevents; i++) + { + printf ("[%d] kevent input [%d]: ident:%u filter:%x flags:%o fflags:%o data:%p udata:%p\n", + kq, i, (unsigned) kev[i].ident, kev[i].filter, kev[i].flags, kev[i].fflags, + (void *) kev[i].data, kev[i].udata); + } +#endif + +/* TRACE("events: %p; nevents: %d; timeout: %lld", (void *) kev, nevents, timeout); */ + + if (timeout != -1) + { + tv.tv_sec = timeout / 1000; + tv.tv_nsec = (timeout % 1000) * 1000; + t = &tv; + } + + ret = kevent (kq, (const struct kevent *) kev, nevents, kev, maxevents, t); + + if (ret == -1) + { + if (errno == EINTR) + ret = 0; + else + JCL_ThrowException (env, "java/io/IOException", strerror (errno)); + } + +#ifdef TRACE_KQUEUE + for (i = 0; i < ret; i++) + { + printf ("[%d] kevent output [%d]: ident:%u filter:%x flags:%o fflags:%o data:%p udata:%p\n", + kq, i, (unsigned) kev[i].ident, kev[i].filter, kev[i].flags, kev[i].fflags, + (void *) kev[i].data, kev[i].udata); + } +#endif + + return ret; +#else + (void) kq; + (void) nstate; + (void) nevents; + (void) maxevents; + (void) timeout; + throw_not_supported (env); + return -1; +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: fetch_key + * Signature: (Ljava/nio/ByteBuffer;)I; + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_fetch_1key (JNIEnv *env, + jclass clazz __attribute__((unused)), + jobject nstate) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + struct kevent *kev = (struct kevent *) (*env)->GetDirectBufferAddress (env, nstate); +/* TRACE("return key %p\n", kev->udata); */ + return (jint) kev->udata; +#else + (void) nstate; + throw_not_supported (env); + return -1; +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: ready_ops + * Signature: (Ljava/nio/ByteBuffer;I)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_ready_1ops (JNIEnv *env, + jclass clazz __attribute__((unused)), + jobject nstate, jint interest) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + struct kevent *kev = (struct kevent *) (*env)->GetDirectBufferAddress (env, nstate); + jint ready = 0; + + if ((kev->flags & EV_ERROR) == EV_ERROR) + { + printf ("!!! error selecting fd %d: %s", (int) (kev->ident), strerror ((int) (kev->data))); + return 0; + } + + /* We poll for READ for OP_READ and OP_ACCEPT. */ + if (kev->filter == EVFILT_READ) + { + ready = (interest & KEY_OP_READ) | (interest & KEY_OP_ACCEPT); +/* TRACE("filter EVFILT_READ. Ready ops set to %x", ready); */ + } + + /* Poll for WRITE for OP_WRITE and OP_CONNECT; I guess we *should* + get a WRITE event if we are connected, but I don't know if we do + for real. FIXME */ + if (kev->filter == EVFILT_WRITE) + { + ready = (interest & KEY_OP_WRITE) | (interest & KEY_OP_CONNECT); +/* TRACE("filter EVFILT_WRITE. Ready ops set to %x", ready); */ + } + + return ready; +#else + (void) nstate; + (void) interest; + throw_not_supported (env); + return -1; +#endif /* HAVE_KQUEUE && HAVE_KEVENT */ +} + + +/* + * Class: gnu_java_nio_KqueueSelectorImpl + * Method: check_eof + * Signature: (Ljava/nio/ByteBuffer;)Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_KqueueSelectorImpl_check_1eof (JNIEnv *env, + jclass clazz __attribute__((unused)), + jobject nstate) +{ +#if defined(HAVE_KQUEUE) && defined(HAVE_KEVENT) + struct kevent *kev = (struct kevent *) (*env)->GetDirectBufferAddress (env, nstate); + if ((kev->flags & EV_EOF) == EV_EOF) + return JNI_TRUE; + return JNI_FALSE; +#else + (void) nstate; + throw_not_supported (env); + return JNI_FALSE; +#endif +} diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c index 5571bed27a5..97eb38618c3 100644 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c @@ -36,25 +36,48 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ +#ifdef HAVE_CONFIG_H #include +#endif + +#include + +#include +#include +#include +#include +#include +#include + +#include + #include #include #include -#include #include #include #include +#include "cpio.h" #include "gnu_java_nio_VMChannel.h" +#include "javanio.h" #ifdef HAVE_FCNTL_H #include #endif /* HAVE_FCNTL_H */ +#define CONNECT_EXCEPTION "java/net/ConnectException" #define IO_EXCEPTION "java/io/IOException" +#define SOCKET_EXCEPTION "java/net/SocketException" +#define INTERRUPTED_IO_EXCEPTION "java/io/InterruptedIOException" #define NON_READABLE_CHANNEL_EXCEPTION "java/nio/channels/NonReadableChannelException" #define NON_WRITABLE_CHANNEL_EXCEPTION "java/nio/channels/NonWritableChannelException" +#define SOCKET_TIMEOUT_EXCEPTION "java/net/SocketTimeoutException" + +/* Align a value up or down to a multiple of the pagesize. */ +#define ALIGN_DOWN(p,s) ((p) - ((p) % (s))) +#define ALIGN_UP(p,s) ((p) + ((s) - ((p) % (s)))) /* * Limit to maximum of 16 buffers @@ -66,7 +89,7 @@ extern "C" { #endif -enum JCL_buffer_type { DIRECT, ARRAY, UNKNOWN }; +enum JCL_buffer_type { DIRECT, HEAP, ARRAY, UNKNOWN }; struct JCL_buffer { @@ -83,6 +106,7 @@ void JCL_print_buffer(JNIEnv *, struct JCL_buffer *); int JCL_init_buffer(JNIEnv *, struct JCL_buffer *, jobject); void JCL_release_buffer(JNIEnv *, struct JCL_buffer *, jobject, jint); void JCL_cleanup_buffers(JNIEnv *, struct JCL_buffer *, jint, jobjectArray, jint, jlong); +int JCL_thread_interrupted(JNIEnv *); static jfieldID address_fid; static jmethodID get_position_mid; @@ -92,33 +116,37 @@ static jmethodID set_limit_mid; static jmethodID has_array_mid; static jmethodID array_mid; static jmethodID array_offset_mid; +static jmethodID thread_interrupted_mid; +static jclass vm_channel_class; jmethodID get_method_id(JNIEnv *env, jclass clazz, const char *name, const char *sig) { jmethodID mid = (*env)->GetMethodID(env, clazz, name, sig); +/* NIODBG("name: %s; sig: %s", name, sig); */ if (mid == NULL) { - JCL_ThrowException(env, "java/lang/InternalError", name); + JCL_ThrowException(env, "java/lang/InternalError", name); return NULL; } return mid; } -void +inline void JCL_print_buffer(JNIEnv *env __attribute__((__unused__)), struct JCL_buffer *buf) { - fprintf(stdout, "Buffer - type: %d, ptr: %p\n", buf->type, buf->ptr); - fflush(stdout); + fprintf (stderr, "Buffer - type: %d, ptr: %p\n", buf->type, buf->ptr); } int JCL_init_buffer(JNIEnv *env, struct JCL_buffer *buf, jobject bbuf) { - jobject address = (*env)->GetObjectField(env, bbuf, address_fid); + void *addr = (*env)->GetDirectBufferAddress (env, bbuf); + +/* NIODBG("buf: %p; bbuf: %p; addr: %p", (void *) buf, bbuf, addr); */ buf->position = (*env)->CallIntMethod(env, bbuf, get_position_mid); buf->limit = (*env)->CallIntMethod(env, bbuf, get_limit_mid); @@ -126,11 +154,10 @@ JCL_init_buffer(JNIEnv *env, struct JCL_buffer *buf, jobject bbuf) buf->count = 0; buf->type = UNKNOWN; - if (address != NULL) + if (addr != NULL) { - buf->ptr = (jbyte *) JCL_GetRawData(env, address); + buf->ptr = (jbyte *) addr; buf->type = DIRECT; - (*env)->DeleteLocalRef(env, address); } else { @@ -148,7 +175,12 @@ JCL_init_buffer(JNIEnv *env, struct JCL_buffer *buf, jobject bbuf) } else { - return -1; + jobject address = (*env)->GetObjectField (env, bbuf, address_fid); + if (address == NULL) + return -1; /* XXX handle non-array, non-native buffers? */ + buf->ptr = (jbyte *) JCL_GetRawData(env, address); + buf->type = HEAP; + (*env)->DeleteLocalRef(env, address); } } @@ -160,6 +192,8 @@ JCL_release_buffer(JNIEnv *env, struct JCL_buffer *buf, jobject bbuf, jint action) { jbyteArray arr; + +/* NIODBG("buf: %p; bbuf: %p; action: %x", (void *) buf, bbuf, action); */ /* Set the position to the appropriate value */ if (buf->count > 0) @@ -173,6 +207,7 @@ JCL_release_buffer(JNIEnv *env, struct JCL_buffer *buf, jobject bbuf, switch (buf->type) { case DIRECT: + case HEAP: break; case ARRAY: arr = (*env)->CallObjectMethod(env, bbuf, array_mid); @@ -194,6 +229,9 @@ JCL_cleanup_buffers(JNIEnv *env, jlong num_bytes) { jint i; + +/* NIODBG("bi_list: %p; vec_len: %d; bbufs: %p; offset: %d; num_bytes: %lld", */ +/* (void *) bi_list, vec_len, bbufs, offset, num_bytes); */ /* Update all of the bbufs with the approriate information */ for (i = 0; i < vec_len; i++) @@ -217,13 +255,65 @@ JCL_cleanup_buffers(JNIEnv *env, } +int +JCL_thread_interrupted(JNIEnv *env) +{ + return (int) (*env)->CallStaticBooleanMethod(env, vm_channel_class, + thread_interrupted_mid); +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: stdin_fd + * Signature: ()I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_stdin_1fd (JNIEnv *env __attribute__((unused)), + jclass c __attribute__((unused))) +{ +/* NIODBG("%d", fileno (stdin)); */ + return fileno (stdin); +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: stdout_fd + * Signature: ()I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_stdout_1fd (JNIEnv *env __attribute__((unused)), + jclass c __attribute__((unused))) +{ +/* NIODBG("%d", fileno (stdout)); */ + return fileno (stdout); +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: stderr_fd + * Signature: ()I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_stderr_1fd (JNIEnv *env __attribute__((unused)), + jclass c __attribute__((unused))) +{ +/* NIODBG("%d", fileno (stderr)); */ + return fileno (stderr); +} + + JNIEXPORT void JNICALL Java_gnu_java_nio_VMChannel_initIDs (JNIEnv *env, - jclass clazz __attribute__ ((__unused__))) + jclass clazz) { jclass bufferClass = JCL_FindClass(env, "java/nio/Buffer"); jclass byteBufferClass = JCL_FindClass(env, "java/nio/ByteBuffer"); - + +/* NIODBG("%s", "..."); */ + address_fid = (*env)->GetFieldID(env, bufferClass, "address", "Lgnu/classpath/Pointer;"); if (address_fid == NULL) @@ -242,6 +332,11 @@ Java_gnu_java_nio_VMChannel_initIDs (JNIEnv *env, has_array_mid = get_method_id(env, byteBufferClass, "hasArray", "()Z"); array_mid = get_method_id(env, byteBufferClass, "array", "()[B"); array_offset_mid = get_method_id(env, byteBufferClass, "arrayOffset", "()I"); + + vm_channel_class = clazz; + thread_interrupted_mid = (*env)->GetStaticMethodID(env, clazz, + "isThreadInterrupted", + "()Z"); } JNIEXPORT void JNICALL @@ -252,6 +347,8 @@ Java_gnu_java_nio_VMChannel_setBlocking (JNIEnv *env, { int opts; +/* NIODBG("fd: %d; blocking: %d", fd, blocking); */ + opts = fcntl(fd, F_GETFL); if (opts < 0) { @@ -260,10 +357,10 @@ Java_gnu_java_nio_VMChannel_setBlocking (JNIEnv *env, return; } - if (blocking) - opts |= O_NONBLOCK; - else + if (blocking == JNI_TRUE) opts &= ~(O_NONBLOCK); + else + opts |= O_NONBLOCK; opts = fcntl(fd, F_SETFL, opts); @@ -275,16 +372,33 @@ Java_gnu_java_nio_VMChannel_setBlocking (JNIEnv *env, } } +/* Return true if fd is in non-blocking mode. */ +static jboolean +is_non_blocking_fd(jint fd) +{ + int opts; + opts = fcntl(fd, F_GETFL); + if (opts == -1) + { + /* Assume blocking on error. */ + return 0; + } + return (opts & O_NONBLOCK) != 0; +} JNIEXPORT jint JNICALL -Java_gnu_java_nio_VMChannel_read (JNIEnv *env, - jobject o __attribute__ ((__unused__)), - jint fd, - jobject bbuf) +Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2 (JNIEnv *env, + jobject o __attribute__ ((__unused__)), + jint fd, + jobject bbuf) { +#ifdef HAVE_READ jint len; ssize_t result; struct JCL_buffer buf; + int tmp_errno; + +/* NIODBG("fd: %d; bbuf: %p", fd, bbuf); */ if (JCL_init_buffer(env, &buf, bbuf) < 0) { @@ -292,26 +406,59 @@ Java_gnu_java_nio_VMChannel_read (JNIEnv *env, JCL_ThrowException (env, IO_EXCEPTION, "Buffer initialisation failed"); return -1; } - + len = buf.limit - buf.position; + + if (len == 0) + { + JCL_release_buffer (env, &buf, bbuf, JNI_ABORT); + return 0; + } - result = read(fd, &(buf.ptr[buf.position + buf.offset]), len); - buf.count = result; + do + { + result = cpnio_read (fd, &(buf.ptr[buf.position + buf.offset]), len); + tmp_errno = errno; + } + while (result == -1 && errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmp_errno; if (result == 0) - result = -1; /* End Of File */ + { + result = -1; + buf.count = 0; + } else if (result == -1) { buf.count = 0; - if (errno == EAGAIN) /* Non-blocking */ - result = 0; + if (errno == EAGAIN) + { + if (is_non_blocking_fd(fd)) + { + /* Non-blocking */ + result = 0; + } + else + { + /* Read timeout on a socket with SO_RCVTIMEO != 0. */ + JCL_release_buffer(env, &buf, bbuf, JNI_ABORT); + JCL_ThrowException(env, SOCKET_TIMEOUT_EXCEPTION, "read timed out"); + return -1; + } + } else if (errno == EBADF) /* Bad fd */ { JCL_release_buffer(env, &buf, bbuf, JNI_ABORT); JCL_ThrowException (env, NON_READABLE_CHANNEL_EXCEPTION, strerror(errno)); return -1; - } + } + else if (EINTR == errno) /* read interrupted */ + { + JCL_release_buffer(env, &buf, bbuf, JNI_ABORT); + JCL_ThrowException(env, INTERRUPTED_IO_EXCEPTION, strerror (errno)); + return -1; + } else { JCL_release_buffer(env, &buf, bbuf, JNI_ABORT); @@ -320,21 +467,32 @@ Java_gnu_java_nio_VMChannel_read (JNIEnv *env, } } else - - JCL_release_buffer(env, &buf, bbuf, JNI_COMMIT); + buf.count = result; + + JCL_release_buffer(env, &buf, bbuf, 0); return result; +#else + (void) fd; + (void) bbuf; + JCL_ThrowException (env, IO_EXCEPTION, "read not supported"); + return -1; +#endif /* HAVE_READ */ } JNIEXPORT jint JNICALL -Java_gnu_java_nio_VMChannel_write (JNIEnv *env, - jobject o __attribute__ ((__unused__)), - jint fd, - jobject bbuf) +Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2 (JNIEnv *env, + jobject o __attribute__ ((__unused__)), + jint fd, + jobject bbuf) { +#ifdef HAVE_WRITE jint len; ssize_t result; struct JCL_buffer buf; + int tmp_errno; + +/* NIODBG("fd: %d; bbuf: %p", fd, bbuf); */ if (JCL_init_buffer(env, &buf, bbuf) < 0) { @@ -342,16 +500,31 @@ Java_gnu_java_nio_VMChannel_write (JNIEnv *env, JCL_ThrowException (env, IO_EXCEPTION, "Buffer initialisation failed"); return -1; } - + len = buf.limit - buf.position; + + if (len == 0) + { + JCL_release_buffer (env, &buf, bbuf, JNI_ABORT); + return 0; + } - result = write(fd, &(buf.ptr[buf.position + buf.offset]), len); + do + { + result = cpnio_write (fd, &(buf.ptr[buf.position + buf.offset]), len); + tmp_errno = errno; + } + while (result == -1 && errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmp_errno; + buf.count = result; - + if (result == -1) { if (errno == EAGAIN) /* Non-blocking */ + { result = 0; + } else { JCL_release_buffer(env, &buf, bbuf, JNI_ABORT); @@ -362,7 +535,13 @@ Java_gnu_java_nio_VMChannel_write (JNIEnv *env, JCL_release_buffer(env, &buf, bbuf, JNI_ABORT); - return result; + return result; +#else + (void) fd; + (void) bbuf; + JCL_ThrowException (env, IO_EXCEPTION, "write not supported"); + return -1; +#endif /* HAVE_WRITE */ } @@ -390,7 +569,11 @@ Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, struct JCL_buffer bi_list[JCL_IOV_MAX]; ssize_t result; jint vec_len = length < JCL_IOV_MAX ? length : JCL_IOV_MAX; - jlong bytes_read = 0; + jlong bytes_read = 0; + int tmp_errno; + +/* NIODBG("fd: %d; bbufs: %p; offset: %d; length: %d", */ +/* fd, bbufs, offset, length); */ /* Build the vector of buffers to read into */ for (i = 0; i < vec_len; i++) @@ -401,7 +584,9 @@ Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, buf = &bi_list[i]; bbuf = (*env)->GetObjectArrayElement(env, bbufs, offset + i); - JCL_init_buffer(env, buf, bbuf); + JCL_init_buffer(env, buf, bbuf); + +/* JCL_print_buffer (env, buf); */ buffers[i].iov_base = &(buf->ptr[buf->position + buf->offset]); buffers[i].iov_len = buf->limit - buf->position; @@ -409,14 +594,33 @@ Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, } /* Work the scattering magic */ - result = readv(fd, buffers, vec_len); + do + { + result = cpnio_readv (fd, buffers, vec_len); + tmp_errno = errno; + } + while (result == -1 && errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmp_errno; bytes_read = (jlong) result; /* Handle the response */ if (result < 0) { - if (errno == EAGAIN) /* Non blocking */ - result = 0; + if (errno == EAGAIN) + { + if (is_non_blocking_fd(fd)) + { + /* Non-blocking */ + result = 0; + } + else + { + /* Read timeout on a socket with SO_RCVTIMEO != 0. */ + JCL_cleanup_buffers(env, bi_list, vec_len, bbufs, offset, bytes_read); + JCL_ThrowException(env, SOCKET_TIMEOUT_EXCEPTION, "read timed out"); + return -1; + } + } else if (errno == EBADF) /* Bad fd */ { JCL_cleanup_buffers(env, bi_list, vec_len, bbufs, offset, bytes_read); @@ -442,6 +646,7 @@ Java_gnu_java_nio_VMChannel_readScattering (JNIEnv *env, return (jlong) result; } + /* * Implementation of a gathering write. Will use the appropriate * vector based read call (currently readv on Linux). @@ -467,7 +672,10 @@ Java_gnu_java_nio_VMChannel_writeGathering (JNIEnv *env, ssize_t result; jint vec_len = length < JCL_IOV_MAX ? length : JCL_IOV_MAX; jlong bytes_written; + int tmp_errno; +/* NIODBG("fd: %d; bbufs: %p; offset: %d; length: %d", */ +/* fd, bbufs, offset, length); */ /* Build the vector of buffers to read into */ for (i = 0; i < vec_len; i++) @@ -480,13 +688,22 @@ Java_gnu_java_nio_VMChannel_writeGathering (JNIEnv *env, JCL_init_buffer(env, buf, bbuf); +/* JCL_print_buffer(env, buf); */ + buffers[i].iov_base = &(buf->ptr[buf->position + buf->offset]); buffers[i].iov_len = buf->limit - buf->position; (*env)->DeleteLocalRef(env, bbuf); } /* Work the gathering magic */ - result = writev(fd, buffers, vec_len); + do + { + result = cpnio_writev (fd, buffers, vec_len); + tmp_errno = errno; + } + while (result == -1 && tmp_errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmp_errno; + bytes_written = (jlong) result; if (result < 0) @@ -518,6 +735,1214 @@ Java_gnu_java_nio_VMChannel_writeGathering (JNIEnv *env, } +/* + * Class: gnu_java_nio_VMChannel + * Method: receive + * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_receive (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jobject dst, jobject addrPort) +{ +#ifdef HAVE_RECVFROM + char *addrPortPtr = (*env)->GetDirectBufferAddress (env, addrPort); + struct JCL_buffer buf; +#ifdef HAVE_INET6 + struct sockaddr_in6 sock_storage; + struct sockaddr_in6 *sock6; + socklen_t slen = sizeof (struct sockaddr_in6); +#else + struct sockaddr_in sock_storage; + socklen_t slen = sizeof (struct sockaddr_in); +#endif /* HAVE_INET6 */ + struct sockaddr *sockaddr = (struct sockaddr *) &sock_storage; + struct sockaddr_in *sock4; + int ret; + jint result = -1; + + if (JCL_init_buffer (env, &buf, dst) == -1) + JCL_ThrowException (env, IO_EXCEPTION, "loading buffer failed"); + + ret = cpnio_recvfrom (fd, &(buf.ptr[buf.position + buf.offset]), + buf.limit - buf.position, MSG_WAITALL, + sockaddr, &slen); + + if (-1 == ret) + { + JCL_release_buffer (env, &buf, dst, JNI_ABORT); + if (EINTR == errno) + JCL_ThrowException (env, "java/io/InterruptedIOException", strerror (errno)); + else if (EAGAIN == errno) + { + /* If the socket is in blocking mode, our timeout expired. */ + int val = fcntl (fd, F_GETFL, 0); + if (val == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + else if ((val & O_NONBLOCK) == 0) + JCL_ThrowException (env, "java/net/SocketTimeoutException", + "read timed out"); + } + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return 0; + } + + if (sockaddr->sa_family == AF_INET) + { + sock4 = (struct sockaddr_in *) sockaddr; + memcpy (addrPortPtr, &(sock4->sin_addr.s_addr), 4); + ;memcpy (addrPortPtr + 4, &(sock4->sin_port), 2); + result = 4; + } +#ifdef HAVE_INET6 + else if (sockaddr->sa_family == AF_INET6) + { + sock6 = (struct sockaddr_in6 *) sockaddr; + memcpy (addrPortPtr, &(sock6->sin6_addr.s6_addr), 16); + memcpy (addrPortPtr + 16, &(sock6->sin6_port), 2); + result = 16; + } +#endif /* HAVE_INET6 */ + else if (ret == 0) + { + result = 0; + } + else + { + JCL_ThrowException (env, "java/net/SocketException", + "unsupported address type returned"); + } + + buf.count += ret; + JCL_release_buffer (env, &buf, dst, 0); + return result; +#else + (void) fd; + (void) dst; + (void) addrPort; + JCL_ThrowException (env, IO_EXCEPTION, "recvfrom not supported"); +#endif /* HAVE_RECVFROM */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: send + * Signature: (Ljava/nio/ByteBuffer;[BI)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_send (JNIEnv *env, + jclass c __attribute__((unused)), + int fd, jobject src, jbyteArray addr, jint port) +{ +#ifdef HAVE_SENDTO + struct sockaddr_in sockaddr; + jbyte *elems; + struct JCL_buffer buf; + int ret; + +/* NIODBG("fd: %d; src: %p; addr: %p; port: %d", */ +/* fd, src, addr, port); */ + + if (JCL_init_buffer (env, &buf, src) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, "loading buffer failed"); + return -1; + } + +/* JCL_print_buffer (env, &buf); */ + + elems = (*env)->GetByteArrayElements (env, addr, NULL); + + sockaddr.sin_family = AF_INET; + sockaddr.sin_addr.s_addr = *((uint32_t *) elems); + sockaddr.sin_port = htons (port); + + do + { + ret = cpnio_sendto (fd, &(buf.ptr[buf.position + buf.offset]), + buf.limit - buf.position, + 0, (const struct sockaddr *) &sockaddr, + sizeof (struct sockaddr_in)); + } + while (-1 == ret && EINTR == errno); + + (*env)->ReleaseByteArrayElements (env, addr, elems, JNI_ABORT); + + if (-1 == ret) + { + if (errno != EAGAIN) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + JCL_release_buffer (env, &buf, src, JNI_ABORT); + return 0; + } + + buf.count += ret; + JCL_release_buffer (env, &buf, src, JNI_ABORT); + return ret; +#else + (void) fd; + (void) src; + (void) addr; + (void) port; +#endif /* HAVE_SENDTO */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: send6 + * Signature: (Ljava/nio/ByteBuffer;[BI)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_send6 (JNIEnv *env, + jclass c __attribute__((unused)), + int fd, jobject src, jbyteArray addr, jint port) +{ +#if defined(HAVE_SENDTO) && defined(HAVE_INET6) + struct sockaddr_in6 sockaddr; + jbyte *elems; + struct JCL_buffer buf; + int ret; + +/* NIODBG("fd: %d; src: %p; addr: %p; port: %d", */ +/* fd, src, addr, port); */ + + if (JCL_init_buffer (env, &buf, src) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, "loading buffer failed"); + return -1; + } + +/* JCL_print_buffer (env, &buf); */ + + elems = (*env)->GetByteArrayElements (env, addr, NULL); + + sockaddr.sin6_family = AF_INET6; + memcpy (&sockaddr.sin6_addr.s6_addr, elems, 16); + sockaddr.sin6_port = htons (port); + + do + { + ret = cpnio_sendto (fd, (const void *) (buf.ptr + buf.offset), + buf.limit - buf.position, + 0, (const struct sockaddr *) &sockaddr, + sizeof (struct sockaddr_in6)); + } + while (-1 == ret && EINTR == errno); + + (*env)->ReleaseByteArrayElements (env, addr, elems, JNI_ABORT); + + if (-1 == ret) + { + if (errno != EAGAIN) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + JCL_release_buffer (env, &buf, src, JNI_ABORT); + return 0; + } + + buf.count += ret; + JCL_release_buffer (env, &buf, src, JNI_ABORT); + return ret; +#else + (void) fd; + (void) src; + (void) addr; + (void) port; + JCL_ThrowException (env, IO_EXCEPTION, "IPv6 sendto not supported"); + return -1; +#endif /* HAVE_SENDTO && HAVE_INET6 */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: read + * Signature: (I)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_read__I (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ +#ifdef HAVE_READ + char in; + int ret; + int tmp_errno; + +/* NIODBG("fd: %d", fd); */ + + do + { + ret = cpnio_read (fd, &in, 1); + tmp_errno = errno; + } + while (ret == -1 && errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmp_errno; + + if (-1 == ret) + { + if (errno == EAGAIN && !is_non_blocking_fd(fd)) + { + /* Read timeout on a socket with SO_RCVTIMEO != 0. */ + JCL_ThrowException(env, SOCKET_TIMEOUT_EXCEPTION, "read timed out"); + } + else + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return -1; + } + + if (0 == ret) + return -1; + + return (in & 0xFF); +#else + (void) fd; + JCL_ThrowException (env, IO_EXCEPTION, "read not supported"); +#endif /* HAVE_READ */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: write + * Signature: (I)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_VMChannel_write__II (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jint data) +{ +#ifdef HAVE_WRITE + char out = (char) data; + int ret; + int tmp_errno; + +/* NIODBG("fd: %d; data: %d", fd, data); */ + + do + { + ret = cpnio_write (fd, &out, 1); + tmp_errno = errno; + } + while (ret == -1 && errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmp_errno; + + if (-1 == ret) + JCL_ThrowException(env, IO_EXCEPTION, strerror (errno)); +#else + (void) fd; + (void) data; + JCL_ThrowException (env, IO_EXCEPTION, "write not supported"); +#endif /* HAVE_WRITE */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: socket + * Signature: (Z)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_socket (JNIEnv *env, jclass clazz __attribute__((unused)), + jboolean stream) +{ +#ifdef HAVE_SOCKET + int ret; + + do + { + ret = cpnio_socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0); + } + while (-1 == ret && EINTR == errno); + + if (ret == -1) + JCL_ThrowException (env, "java/net/SocketException", strerror (errno)); +/* NIODBG("created socket %d", ret); */ + + return ret; +#else + (void) stream; + JCL_ThrowException (env, IO_EXCEPTION, "socket not supported"); + return -1; +#endif /* HAVE_SOCKET */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: connect + * Signature: (I[BI)Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_VMChannel_connect (JNIEnv *env, jclass clazz __attribute__((unused)), + jint fd, jbyteArray addr, jint port, jint timeout) +{ +#ifdef HAVE_CONNECT + struct sockaddr_in sockaddr; + struct timeval timeo; + int origflags = 0, flags; + jbyte *addr_elems; + int ret; + int tmpErrno; + + if ((*env)->GetArrayLength (env, addr) != 4) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, + "expecting 4-byte address"); + return JNI_FALSE; + } + + if (timeout > 0) + { + timeo.tv_sec = timeout / 1000; + timeo.tv_usec = (timeout % 1000) * 1000; + origflags = fcntl (fd, F_GETFL, 0); + if (origflags == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + /* Set nonblocking mode, if not already set. */ + if (!(origflags & O_NONBLOCK)) + { + flags = origflags | O_NONBLOCK; + if (fcntl (fd, F_SETFL, flags) == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + } + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + + memset (&sockaddr, 0, sizeof (struct sockaddr_in)); + sockaddr.sin_family = AF_INET; + sockaddr.sin_port = htons (port); + sockaddr.sin_addr.s_addr = *((uint32_t *) addr_elems); + + + do + { + ret = cpnio_connect (fd, (struct sockaddr *) &sockaddr, + sizeof (struct sockaddr_in)); + tmpErrno = errno; + } + while (ret == -1 && errno == EINTR && ! JCL_thread_interrupted(env)); + errno = tmpErrno; + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + /* If a timeout was specified, select on the file descriptor with + the timeout. */ + if (timeout > 0 && ret == -1) + { + /* Reset the non-blocking flag, if needed. */ + if (!(origflags & O_NONBLOCK)) + { + if (fcntl (fd, F_SETFL, origflags) == -1) + { + /* oops */ + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + if (EINPROGRESS == errno) + { + fd_set wrfds; + FD_ZERO(&wrfds); + FD_SET(fd, &wrfds); + ret = cpnio_select (fd + 1, NULL, &wrfds, NULL, &timeo); + if (ret == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + if (ret == 0) /* connect timed out */ + { + JCL_ThrowException (env, SOCKET_TIMEOUT_EXCEPTION, + "connect timed out"); + return JNI_FALSE; + } + return JNI_TRUE; /* Connected! */ + } + else if (ECONNREFUSED == errno) + { + JCL_ThrowException (env, CONNECT_EXCEPTION, + strerror (errno)); + return JNI_FALSE; + } + else + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + + if (ret == -1) + { + if (EINPROGRESS == errno) + return JNI_FALSE; + else if (ECONNREFUSED == errno) + { + JCL_ThrowException (env, CONNECT_EXCEPTION, + strerror (errno)); + return JNI_FALSE; + } + else + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + + return JNI_TRUE; +#else + (void) fd; + (void) addr; + (void) port; + (void) timeout; + JCL_ThrowException (env, SOCKET_EXCEPTION, "connect not supported"); + return JNI_FALSE; +#endif /* HAVE_CONNECT */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: connect6 + * Signature: (I[BI)Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_VMChannel_connect6 (JNIEnv *env, jclass clazz __attribute__((unused)), + jint fd, jbyteArray addr, jint port, int timeout) +{ +#if defined(HAVE_CONNECT) && defined(HAVE_INET6) + struct sockaddr_in6 sockaddr; + struct timeval timeo; + int flags, origflags = 0; + jbyte *addr_elems; + int ret; + + if (timeout > 0) + { + timeo.tv_sec = timeout / 1000; + timeo.tv_usec = (timeout % 1000) * 1000; + origflags = fcntl (fd, F_GETFL, 0); + if (origflags == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + /* Set nonblocking mode, if not already set. */ + if (!(origflags & O_NONBLOCK)) + { + flags = origflags | O_NONBLOCK; + if (fcntl (fd, F_SETFL, flags) == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + } + + addr_elems = (*env)->GetByteArrayElements (env, addr, NULL); + + memset (&sockaddr, 0, sizeof (struct sockaddr_in6)); + sockaddr.sin6_family = AF_INET6; + sockaddr.sin6_port = htons (port); + memcpy (&sockaddr.sin6_addr.s6_addr, addr_elems, 16); + + ret = cpnio_connect (fd, (struct sockaddr *) &sockaddr, + sizeof (struct sockaddr_in6)); + + (*env)->ReleaseByteArrayElements (env, addr, addr_elems, JNI_ABORT); + + /* If a timeout was specified, select on the file descriptor with + the timeout. */ + if (timeout > 0 && ret == -1) + { + /* Reset the non-blocking flag, if needed. */ + if (!(origflags & O_NONBLOCK)) + { + if (fcntl (fd, F_SETFL, origflags) == -1) + { + /* oops */ + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + if (EINPROGRESS == errno) + { + fd_set wrfds; + FD_ZERO(&wrfds); + FD_SET(fd, &wrfds); + ret = cpnio_select (fd + 1, NULL, &wrfds, NULL, &timeo); + if (ret == -1) + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + if (ret == 0) /* connect timed out */ + { + JCL_ThrowException (env, SOCKET_TIMEOUT_EXCEPTION, + "connect timed out"); + return JNI_FALSE; + } + return JNI_TRUE; /* Connected! */ + } + else if (ECONNREFUSED == errno) + { + JCL_ThrowException (env, CONNECT_EXCEPTION, + strerror (errno)); + return JNI_FALSE; + } + else + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + + if (ret == -1) + { + if (EAGAIN == errno) + return JNI_FALSE; + else if (ECONNREFUSED == errno) + { + JCL_ThrowException (env, CONNECT_EXCEPTION, + strerror (errno)); + return JNI_FALSE; + } + else + { + JCL_ThrowException (env, SOCKET_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + } + + return JNI_TRUE; +#else + (void) fd; + (void) addr; + (void) port; + (void) timeout; + JCL_ThrowException (env, SOCKET_EXCEPTION, "IPv6 connect not supported"); + return JNI_FALSE; +#endif /* HAVE_CONNECT && HAVE_INET6 */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: getsockname + * Signature: (ILjava/nio/ByteBuffer;)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_getsockname (JNIEnv *env, jclass clazz __attribute__((unused)), + jint fd, jobject name) +{ +#ifdef HAVE_GETSOCKNAME +#ifdef HAVE_INET6 + struct sockaddr_in6 *addr6; + struct sockaddr_in6 sock_storage; + socklen_t socklen = sizeof (struct sockaddr_in6); +#else + struct sockaddr_in sock_storage; + socklen_t socklen = sizeof (struct sockaddr_in); +#endif /* HAVE_INET6 */ + + struct sockaddr *sockaddr = (struct sockaddr *) &sock_storage; + struct sockaddr_in *addr4; + int ret; + char *nameptr = (*env)->GetDirectBufferAddress (env, name); + + ret = getsockname (fd, sockaddr, &socklen); + if (ret == -1) + { + JCL_ThrowException (env, "java/net/SocketException", strerror (errno)); + return 0; + } + + if (sockaddr->sa_family == AF_INET) + { + addr4 = (struct sockaddr_in *) sockaddr; + memcpy (nameptr, &(addr4->sin_addr.s_addr), 4); + memcpy (nameptr + 4, &(addr4->sin_port), 2); + return 4; + } + +#ifdef HAVE_INET6 + /* IPv6 */ + if (sockaddr->sa_family == AF_INET6) + { + addr6 = (struct sockaddr_in6 *) sockaddr; + memcpy (nameptr, &(addr6->sin6_addr.s6_addr), 16); + memcpy (nameptr + 16, &(addr6->sin6_port), 2); + return 16; + } +#endif /* HAVE_INET6 */ + JCL_ThrowException (env, IO_EXCEPTION, "unsupported address format"); + return -1; +#else + (void) fd; + (void) name; + JCL_ThrowException (env, IO_EXCEPTION, "getsockname not supported"); + return -1; +#endif /* HAVE_GETSOCKNAME */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: getpeername + * Signature: (ILjava/nio/ByteBuffer;)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_getpeername (JNIEnv *env, jclass clazz __attribute__((unused)), + jint fd, jobject name) +{ +#ifdef HAVE_GETPEERNAME +#ifdef HAVE_INET6 + struct sockaddr_in6 *addr6; + struct sockaddr_in6 sock_storage; + socklen_t socklen = sizeof (struct sockaddr_in6); +#else + struct sockaddr_in sock_storage; + socklen_t socklen = sizeof (struct sockaddr_in); +#endif /* HAVE_INET6 */ + + struct sockaddr *sockaddr = (struct sockaddr *) &sock_storage; + struct sockaddr_in *addr4; + int ret; + char *nameptr = (*env)->GetDirectBufferAddress (env, name); + + ret = getpeername (fd, sockaddr, &socklen); + if (ret == -1) + { + if (ENOTCONN != errno) + JCL_ThrowException (env, "java/net/SocketException", strerror (errno)); + return 0; + } + + if (sockaddr->sa_family == AF_INET) + { + addr4 = (struct sockaddr_in *) sockaddr; + memcpy (nameptr, &(addr4->sin_addr.s_addr), 4); + memcpy (nameptr + 4, &(addr4->sin_port), 2); + return 4; + } +#ifdef HAVE_INET6 + else if (sockaddr->sa_family == AF_INET6) + { + addr6 = (struct sockaddr_in6 *) sockaddr; + memcpy (nameptr, &(addr6->sin6_addr.s6_addr), 16); + memcpy (nameptr + 16, &(addr6->sin6_port), 2); + return 16; + } +#endif /* HAVE_INET6 */ + + JCL_ThrowException (env, "java/net/SocketException", + "unsupported address type"); + return -1; +#else + (void) fd; + (void) name; + JCL_ThrowException (env, IO_EXCEPTION, "getpeername not supported"); + return -1; +#endif /* HAVE_GETPEERNAME */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: accept + * Signature: (I)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_accept (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ +#ifdef HAVE_ACCEPT + int ret; + int tmp_errno = 0; + +#ifdef HAVE_INET6 + struct sockaddr_in6 addr; + socklen_t alen = sizeof (struct sockaddr_in6); +#else + struct sockaddr_in addr; + socklen_t alen = sizeof (struct sockaddr_in); +#endif /* HAVE_INET6 */ + + do + { + ret = cpnio_accept (fd, (struct sockaddr *) &addr, &alen); + tmp_errno = errno; + + if (ret == -1) + switch (tmp_errno) + { + case EINTR: + /* Check if interrupted by Thread.interrupt(). If not then some + * other unrelated signal interrupted the system function and + * we should start over again. + */ + if (JCL_thread_interrupted(env)) + { + JCL_ThrowException (env, "java/net/SocketException", strerror (tmp_errno)); + return -1; + } + break; +#if defined(EWOULDBLOCK) && defined(EAGAIN) && EWOULDBLOCK != EAGAIN + case EWOULDBLOCK: +#endif + case EAGAIN: + /* Socket in non-blocking mode and no pending connection. */ + return -1; + default: + JCL_ThrowException (env, "java/net/SocketException", strerror (tmp_errno)); + return -1; + } + else + break; + } + while (1); + + cpio_closeOnExec(ret); + + return ret; +#else + (void) fd; + JCL_ThrowException (env, IO_EXCEPTION, "accept not supported"); + return -1; +#endif /* HAVE_ACCEPT */ +} + + + +/* + * Class: gnu_java_nio_VMChannel + * Method: disconnect + * Signature: (I)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_VMChannel_disconnect (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ + struct sockaddr sockaddr; + + sockaddr.sa_family = AF_UNSPEC; + if (connect (fd, &sockaddr, sizeof (struct sockaddr)) == -1) + { + /* The expected error for a successful disconnect is EAFNOSUPPORT. */ + if (errno != EAFNOSUPPORT) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: close + * Signature: (I)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_VMChannel_close (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ + if (close (fd) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: available + * Signature: (I)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_available (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ + jint avail = 0; + +/* NIODBG("fd: %d", fd); */ + if (ioctl (fd, FIONREAD, &avail) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); +/* NIODBG("avail: %d", avail); */ + + return avail; +} + + +enum FileChannel_mode { + CPNIO_READ = 1, + CPNIO_WRITE = 2, + CPNIO_APPEND = 4, + CPNIO_EXCL = 8, + CPNIO_SYNC = 16, + CPNIO_DSYNC = 32 +}; + + +/* + * Class: gnu_java_nio_VMChannel + * Method: open + * Signature: (Ljava/lang/String;I)I + */ +JNIEXPORT jint JNICALL +Java_gnu_java_nio_VMChannel_open (JNIEnv *env, + jclass c __attribute__((unused)), + jstring path, jint mode) +{ + int nmode = 0; + int ret; + const char *npath; + mode_t mask = umask (0); + umask (mask); + + if ((mode & CPNIO_READ) && (mode & CPNIO_WRITE)) + nmode = O_RDWR; + else if (mode & CPNIO_WRITE) + nmode = O_WRONLY; + else + nmode = O_RDONLY; + + nmode = (nmode + | ((nmode == O_RDWR || nmode == O_WRONLY) ? O_CREAT : 0) + | ((mode & CPNIO_APPEND) ? O_APPEND : + ((nmode == O_RDWR || nmode == O_WRONLY) ? O_TRUNC : 0)) + | ((mode & CPNIO_EXCL) ? O_EXCL : 0) + | ((mode & CPNIO_SYNC) ? O_SYNC : 0)); + + npath = JCL_jstring_to_cstring (env, path); + +/* NIODBG("path: %s; mode: %x", npath, nmode); */ + + ret = open (npath, nmode, 0777 & ~mask); + +/* NIODBG("ret: %d\n", ret); */ + + JCL_free_cstring (env, path, npath); + + if (-1 == ret) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + + return ret; +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: position + * Signature: (I)J + */ +JNIEXPORT jlong JNICALL +Java_gnu_java_nio_VMChannel_position (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ +#ifdef HAVE_LSEEK + off_t ret; + + ret = lseek (fd, 0, SEEK_CUR); + + if (-1 == ret) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + + return (jlong) ret; +#else + JCL_ThrowException (env, IO_EXCEPTION, "position not supported"); + return -1; +#endif /* HAVE_LSEEK */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: seek + * Signature: (IJ)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_VMChannel_seek (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jlong pos) +{ +#ifdef HAVE_LSEEK + if (lseek (fd, (off_t) pos, SEEK_SET) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); +#else + JCL_ThrowException (env, IO_EXCEPTION, "seek not supported"); +#endif /* HAVE_LSEEK */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: truncate + * Signature: (IJ)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_VMChannel_truncate (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jlong len) +{ +#if defined(HAVE_FTRUNCATE) && defined(HAVE_LSEEK) + off_t pos = lseek (fd, 0, SEEK_CUR); + if (pos == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return; + } + if (ftruncate (fd, (off_t) len) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return; + } + if (pos > len) + { + if (lseek (fd, len, SEEK_SET) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } +#else + JCL_ThrowException (env, IO_EXCEPTION, "truncate not supported"); +#endif /* HAVE_FTRUNCATE && HAVE_LSEEK */ +} + + +/* + * Class: gnu_java_nio_VMChannel + * Method: lock + * Signature: (IJJZZ)Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_VMChannel_lock (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jlong pos, jlong len, + jboolean shared, jboolean wait) +{ +#if HAVE_FCNTL + struct flock fl; + + fl.l_start = (off_t) pos; + /* Long.MAX_VALUE means lock everything possible starting at pos. */ + if (len == 9223372036854775807LL) + fl.l_len = 0; + else + fl.l_len = (off_t) len; + fl.l_pid = getpid (); + fl.l_type = (shared ? F_RDLCK : F_WRLCK); + fl.l_whence = SEEK_SET; + + if (cpnio_fcntl (fd, (wait ? F_SETLKW : F_SETLK), (long) &fl) == -1) + { + if (errno != EAGAIN) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + + return JNI_TRUE; +#else + JCL_ThrowException (env, IO_EXCEPTION, "lock not supported"); + return JNI_FALSE; +#endif /* HAVE_FCNTL */ +} + +/* + * Class: gnu_java_nio_VMChannel + * Method: unlock + * Signature: (IJJ)V + */ +JNIEXPORT void JNICALL +Java_gnu_java_nio_VMChannel_unlock (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jlong pos, jlong len) +{ +#if HAVE_FCNTL + struct flock fl; + + fl.l_start = (off_t) pos; + fl.l_len = (off_t) len; + fl.l_pid = getpid (); + fl.l_type = F_UNLCK; + fl.l_whence = SEEK_SET; + + if (cpnio_fcntl (fd, F_SETLK, (long) &fl) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + } +#else + JCL_ThrowException (env, IO_EXCEPTION, "unlock not supported"); +#endif /* HAVE_FCNTL */ +} + +/* + * Class: gnu_java_nio_VMChannel + * Method: size + * Signature: (I)J + */ +JNIEXPORT jlong JNICALL +Java_gnu_java_nio_VMChannel_size (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd) +{ +#ifdef HAVE_FSTAT + struct stat st; + + if (fstat (fd, &st) == -1) + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + + return (jlong) st.st_size; +#else + JCL_ThrowException (env, IO_EXCEPTION, "size not supported"); + return 0; +#endif +} + +/* + * Class: gnu_java_nio_VMChannel + * Method: map + * Signature: (ICJI)Lgnu/classpath/Pointer; + */ +JNIEXPORT jobject JNICALL +Java_gnu_java_nio_VMChannel_map (JNIEnv *env, + jclass clazz __attribute__((unused)), + jint fd, jchar mode, jlong position, jint size) +{ +#ifdef HAVE_MMAP + jclass MappedByteBufferImpl_class; + jmethodID MappedByteBufferImpl_init = NULL; + jobject Pointer_instance; + volatile jobject buffer; + long pagesize; + int prot, flags; + void *p; + void *address; + +/* NIODBG("fd: %d; mode: %x; position: %lld; size: %d", */ +/* fd, mode, position, size); */ + + /* FIXME: should we just assume we're on an OS modern enough to + have 'sysconf'? And not check for 'getpagesize'? */ +#if defined(HAVE_GETPAGESIZE) + pagesize = getpagesize (); +#elif defined(HAVE_SYSCONF) + pagesize = sysconf (_SC_PAGESIZE); +#else + JCL_ThrowException (env, IO_EXCEPTION, + "can't determine memory page size"); + return NULL; +#endif /* HAVE_GETPAGESIZE/HAVE_SYSCONF */ + + if ((*env)->ExceptionOccurred (env)) + { + return NULL; + } + + prot = PROT_READ; + if (mode == '+' || mode == 'c') + { + /* When writing we need to make sure the file is big enough, + otherwise the result of mmap is undefined. */ + struct stat st; + if (fstat (fd, &st) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return NULL; + } + if (position + size > st.st_size) + { + if (ftruncate(fd, position + size) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return NULL; + } + } + prot |= PROT_WRITE; + } + + flags = (mode == 'c' ? MAP_PRIVATE : MAP_SHARED); + p = mmap (NULL, (size_t) ALIGN_UP (size, pagesize), prot, flags, + fd, ALIGN_DOWN (position, pagesize)); + if (p == MAP_FAILED) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return NULL; + } + + /* Unalign the mapped value back up, since we aligned offset + down to a multiple of the page size. */ + address = (void *) ((char *) p + (position % pagesize)); + + Pointer_instance = JCL_NewRawDataObject(env, address); + + MappedByteBufferImpl_class = (*env)->FindClass (env, + "java/nio/MappedByteBufferImpl"); + if (MappedByteBufferImpl_class != NULL) + { + MappedByteBufferImpl_init = + (*env)->GetMethodID (env, MappedByteBufferImpl_class, + "", "(Lgnu/classpath/Pointer;IZ)V"); + } + + if ((*env)->ExceptionOccurred (env)) + { + munmap (p, ALIGN_UP (size, pagesize)); + return NULL; + } + if (MappedByteBufferImpl_init == NULL) + { + JCL_ThrowException (env, "java/lang/InternalError", + "could not get MappedByteBufferImpl constructor"); + munmap (p, ALIGN_UP (size, pagesize)); + return NULL; + } + + buffer = (*env)->NewObject (env, MappedByteBufferImpl_class, + MappedByteBufferImpl_init, Pointer_instance, + (jint) size, mode == 'r'); + return buffer; +#else + (void) fd; + (void) mode; + (void) position; + (void) size; + JCL_ThrowException (env, IO_EXCEPTION, + "memory-mapped files not implemented"); + return 0; +#endif /* HAVE_MMAP */ +} + +/* + * Class: gnu_java_nio_VMChannel + * Method: flush + * Signature: (IZ)Z + */ +JNIEXPORT jboolean JNICALL +Java_gnu_java_nio_VMChannel_flush (JNIEnv *env, + jclass c __attribute__((unused)), + jint fd, jboolean metadata __attribute__((unused))) +{ +#ifdef HAVE_FSYNC + /* XXX blocking? */ + if (fsync (fd) == -1) + { + JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); + return JNI_FALSE; + } + return JNI_TRUE; +#else + JCL_ThrowException (env, IO_EXCEPTION, "flush not implemented"); + return JNI_TRUE; +#endif /* HAVE_FSYNC */ +} #ifdef __cplusplus diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMPipe.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMPipe.c index 369c5a3d650..cbaaa08348b 100644 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMPipe.c +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMPipe.c @@ -35,8 +35,14 @@ 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. */ + +#ifdef HAVE_CONFIG_H #include +#endif /* HAVE_CONFIG_H */ + #include +#include +#include #include #include @@ -45,12 +51,33 @@ exception statement from your version. */ #define IO_EXCEPTION "java/io/IOException" -JNIEXPORT void JNICALL -Java_gnu_java_nio_VMPipe_init (JNIEnv * env, - jclass cls __attribute__ ((__unused__)), - jobject self __attribute__ ((__unused__)), - jobject provider __attribute__ ((__unused__))) +/* + * Class: gnu_java_nio_VMPipe + * Method: pipe0 + * Signature: ()[I + */ +JNIEXPORT jintArray JNICALL +Java_gnu_java_nio_VMPipe_pipe0 (JNIEnv *env, + jclass c __attribute__((unused))) { - JCL_ThrowException (env, IO_EXCEPTION, - "gnu.java.nio.VMPipe.init(): not implemented"); + int fd[2]; + jintArray array; + jint* elem; + int ret; + + /* FIXME: autoconf this? */ + ret = pipe (fd); + + if (ret == -1) + { + JCL_ThrowException (env, "java/io/IOException", strerror (errno)); + return NULL; + } + + array = (*env)->NewIntArray (env, 2); + elem = (*env)->GetIntArrayElements (env, array, NULL); + elem[0] = fd[0]; + elem[1] = fd[1]; + (*env)->ReleaseIntArrayElements (env, array, elem, 0); + return array; } diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMSelector.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMSelector.c index f8a40aa7a15..74a408c7572 100644 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMSelector.c +++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMSelector.c @@ -219,7 +219,7 @@ Java_gnu_java_nio_VMSelector_select (JNIEnv * env, fd_set except_fds; struct timeval real_time_data; struct timeval *time_data = NULL; - char message_buf[BUF_SIZE + 1]; + char *message; /* If a legal timeout value isn't given, use NULL. * This means an infinite timeout. The specification @@ -270,7 +270,8 @@ Java_gnu_java_nio_VMSelector_select (JNIEnv * env, if (result < 0) { - +#if defined(HAVE_STRERROR_R) + char message_buf[BUF_SIZE+1]; int errorcode = -result; if (strerror_r (errorcode, message_buf, BUF_SIZE)) @@ -283,7 +284,12 @@ Java_gnu_java_nio_VMSelector_select (JNIEnv * env, return 0; } - JCL_ThrowException (env, "java/io/IOException", message_buf); + message = message_buf; +#else + message = strerror(errno); +#endif + + JCL_ThrowException (env, "java/io/IOException", message); return 0; } diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c deleted file mode 100644 index 5aed63f355d..00000000000 --- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c +++ /dev/null @@ -1,902 +0,0 @@ -/* gnu_java_nio_channels_FileChannelImpl.c - - Copyright (C) 2003, 2004, 2005, 2006 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. */ - -/* do not move; needed here because of some macro definitions */ -#include - -#include -#include - -#include -#include - -#include "target_native.h" -#ifndef WITHOUT_FILESYSTEM -#include "target_native_file.h" -#endif -#include "target_native_math_int.h" - -#include "gnu_java_nio_channels_FileChannelImpl.h" - -#ifdef HAVE_FCNTL_H -#include -#endif /* HAVE_FCNTL_H */ - -#ifdef HAVE_SYS_MMAN_H -#include -#endif /* HAVE_SYS_MMAN_H */ - -/* These values must be kept in sync with FileChannelImpl.java. */ -#define FILECHANNELIMPL_READ 1 -#define FILECHANNELIMPL_WRITE 2 -#define FILECHANNELIMPL_APPEND 4 - -/* These values must be kept in sync with FileChannelImpl.java. */ -/* #define FILECHANNELIMPL_FILESEEK_SET 0 */ -/* #define FILECHANNELIMPL_FILESEEK_CUR 1 */ -/* #define FILECHANNELIMPL_FILESEEK_END 2 */ - -#define FILECHANNELIMPL_FILEOPEN_FLAG_READ 1 -#define FILECHANNELIMPL_FILEOPEN_FLAG_WRITE 2 -#define FILECHANNELIMPL_FILEOPEN_FLAG_APPEND 4 -#define FILECHANNELIMPL_FILEOPEN_FLAG_EXCL 8 -#define FILECHANNELIMPL_FILEOPEN_FLAG_SYNC 16 -#define FILECHANNELIMPL_FILEOPEN_FLAG_DSYNC 32 - -#define IO_EXCEPTION "java/io/IOException" - -/* FIXME: This can't be right. Need converter macros. */ -#define CONVERT_JLONG_TO_INT(x) TARGET_NATIVE_MATH_INT_INT64_TO_INT32(x) -#define CONVERT_INT_TO_JLONG(x) TARGET_NATIVE_MATH_INT_INT32_TO_INT64(x) - -/* FIXME: This can't be right. Need converter macros. */ -#define CONVERT_JLONG_TO_OFF_T(x) TARGET_NATIVE_MATH_INT_INT64_TO_INT32(x) -#define CONVERT_OFF_T_TO_JLONG(x) TARGET_NATIVE_MATH_INT_INT32_TO_INT64(x) - -/* FIXME: This can't be right. Need converter macros */ -#define CONVERT_JINT_TO_INT(x) ((int)(x & 0xFFFFFFFF)) -#define CONVERT_INT_TO_JINT(x) ((int)(x & 0xFFFFFFFF)) - -/* FIXME: This can't be right. Need converter macros. */ -#define CONVERT_SSIZE_T_TO_JINT(x) ((jint)(x & 0xFFFFFFFF)) -#define CONVERT_JINT_TO_SSIZE_T(x) (x) - -/* Align a value up or down to a multiple of the pagesize. */ -#define ALIGN_DOWN(p,s) ((p) - ((p) % (s))) -#define ALIGN_UP(p,s) ((p) + ((s) - ((p) % (s)))) - -/* cached fieldID of gnu.java.nio.channels.FileChannelImpl.fd */ -static jfieldID native_fd_fieldID; - -static jint -get_native_fd (JNIEnv * env, jobject obj) -{ - return (*env)->GetIntField (env, obj, native_fd_fieldID); -} - -/* - * Library initialization routine. Called as part of java.io.FileDescriptor - * static initialization. - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_init (JNIEnv * env, - jclass clazz - __attribute__ ((__unused__))) -{ - jclass clazz_fc; - jfieldID field; - - /* Initialize native_fd_fieldID so we only compute it once! */ - clazz_fc = (*env)->FindClass (env, "gnu/java/nio/channels/FileChannelImpl"); - if (!clazz_fc) - { - JCL_ThrowException (env, IO_EXCEPTION, "Internal error"); - return; - } - - field = (*env)->GetFieldID (env, clazz_fc, "fd", "I"); - if (!field) - { - JCL_ThrowException (env, IO_EXCEPTION, "Internal error"); - return; - } - - native_fd_fieldID = field; -} - -/* - * Open the specified file and return a native file descriptor - */ -JNIEXPORT jint JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_open (JNIEnv * env, - jobject obj - __attribute__ ((__unused__)), - jstring name, jint mode) -{ - const char *filename; - int flags; - int permissions; - int native_fd; - int result; - - filename = JCL_jstring_to_cstring (env, name); - if (filename == NULL) - return (-1); /* Exception will already have been thrown */ - - /* get file/permission flags for open() */ - if ((mode & FILECHANNELIMPL_FILEOPEN_FLAG_READ) - && (mode & FILECHANNELIMPL_FILEOPEN_FLAG_WRITE)) - { - /* read/write */ - flags = - TARGET_NATIVE_FILE_FILEFLAG_CREATE | - TARGET_NATIVE_FILE_FILEFLAG_READWRITE; - permissions = TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL; - } - else if ((mode & FILECHANNELIMPL_FILEOPEN_FLAG_READ)) - { - /* read */ - flags = TARGET_NATIVE_FILE_FILEFLAG_READ; - permissions = TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL; - } - else - { - /* write */ - flags = - TARGET_NATIVE_FILE_FILEFLAG_CREATE | - TARGET_NATIVE_FILE_FILEFLAG_WRITE; - if ((mode & FILECHANNELIMPL_FILEOPEN_FLAG_APPEND)) - { - flags |= TARGET_NATIVE_FILE_FILEFLAG_APPEND; - } - else - { - flags |= TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE; - } - permissions = TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL; - } - - if ((mode & FILECHANNELIMPL_FILEOPEN_FLAG_SYNC)) - { - flags |= TARGET_NATIVE_FILE_FILEFLAG_SYNC; - } - - if ((mode & FILECHANNELIMPL_FILEOPEN_FLAG_DSYNC)) - { - flags |= TARGET_NATIVE_FILE_FILEFLAG_DSYNC; - } -#ifdef O_BINARY - flags |= TARGET_NATIVE_FILE_FILEFLAG_BINARY; -#endif - - TARGET_NATIVE_FILE_OPEN (filename, native_fd, flags, permissions, result); - - if (result != TARGET_NATIVE_OK) - { - char message[256]; /* Fixed size we don't need to malloc. */ - char *error_string = TARGET_NATIVE_LAST_ERROR_STRING (); - - snprintf(message, 256, "%s: %s", error_string, filename); - /* We are only allowed to throw FileNotFoundException. */ - JCL_ThrowException (env, - "java/io/FileNotFoundException", - message); - JCL_free_cstring (env, name, filename); - return TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1; - } - - JCL_free_cstring (env, name, filename); - return native_fd; -} - -/* - * Closes the specified file descriptor and return status code. - * Exception on error - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_implCloseChannel (JNIEnv * env, - jobject obj) -{ - int native_fd; - int result; - - native_fd = get_native_fd (env, obj); - - do - { - TARGET_NATIVE_FILE_CLOSE (native_fd, result); - if (result != TARGET_NATIVE_OK - && (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - } - while (result != TARGET_NATIVE_OK); -} - -/* - * Return number of bytes that can be read from the file w/o blocking. - * Exception on error - */ -JNIEXPORT jint JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_available (JNIEnv * env, - jobject obj) -{ - int native_fd; - jlong bytes_available; - int result; - - native_fd = get_native_fd (env, obj); - - do - { - TARGET_NATIVE_FILE_AVAILABLE (native_fd, bytes_available, result); - if (result != TARGET_NATIVE_OK - && (TARGET_NATIVE_LAST_ERROR () - != TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return 0; - } - } - while (result != TARGET_NATIVE_OK); - - /* FIXME NYI ??? why only jint and not jlong? */ - return TARGET_NATIVE_MATH_INT_INT64_TO_INT32 (bytes_available); -} - -JNIEXPORT jlong JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_size (JNIEnv * env, jobject obj) -{ - int native_fd; - jlong file_size; - int result; - - native_fd = get_native_fd (env, obj); - - TARGET_NATIVE_FILE_SIZE (native_fd, file_size, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1; - } - - return file_size; -} - -/* - * Return the current position of the file pointer - * Exception on error - */ -JNIEXPORT jlong JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_implPosition (JNIEnv * env, - jobject obj) -{ - int native_fd; - jlong current_offset; - int result; - - native_fd = get_native_fd (env, obj); - - TARGET_NATIVE_FILE_TELL (native_fd, current_offset, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1; - } - - return current_offset; -} - -/* - * Wrapper around lseek call. Return new file position - * Exception on error - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_seek (JNIEnv * env, jobject obj, - jlong offset) -{ - int native_fd; - jlong new_offset; - int result; - - native_fd = get_native_fd (env, obj); - -#if 0 - /* Should there be such an exception? All native layer macros should - be accepting 64bit-values if needed. It some target is not able - to handle such values it should simply operate with 32bit-values - and convert 64bit-values appriopated. In this case I assume - problems should not occurre: if some specific target is not able - to handle 64bit-values the system is limited to 32bit at all, thus - the application can not do a seek() or something else beyond the - 32bit limit. It this true? - */ - - /* FIXME: What do we do if offset > the max value of off_t on this 32bit - * system? How do we detect that and what do we do? */ - if (CONVERT_OFF_T_TO_JLONG (native_offset) != offset) - { - JCL_ThrowException (env, IO_EXCEPTION, - "Cannot represent position correctly on this system"); - } -#endif /* 0 */ - - result = TARGET_NATIVE_ERROR; - new_offset = TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1; - TARGET_NATIVE_FILE_SEEK_BEGIN (native_fd, offset, new_offset, result); - - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - } -} - -/* - * Set the length of the file - * Exception on error - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_implTruncate (JNIEnv * env, - jobject obj, - jlong len) -{ - int native_fd; - jlong file_size; - int bytes_written; - jlong save_offset, new_offset; - char data; - int result; - - native_fd = get_native_fd (env, obj); - -#if 0 - /* Should there be such an exception? All native layer macros should - be accepting 64bit-values if needed. It some target is not able - to handle such values it should simply operate with 32bit-values - and convert 64bit-values appriopated. In this case I assume - problems should not occurre: if some specific target is not able - to handle 64bit-values the system is limited to 32bit at all, thus - the application can not do a seek() or something else beyond the - 32bit limit. It this true? - */ - - /* FIXME: What do we do if len > the max value of off_t on this 32bit - * system? How do we detect that and what do we do? */ - if (CONVERT_OFF_T_TO_JLONG (native_len) != len) - { - JCL_ThrowException (env, IO_EXCEPTION, - "Cannot represent position correctly on this system"); - return; - } -#endif /* 0 */ - - /* get file size */ - TARGET_NATIVE_FILE_SIZE (native_fd, file_size, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - - /* Save off current position */ - TARGET_NATIVE_FILE_TELL (native_fd, save_offset, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - - if (TARGET_NATIVE_MATH_INT_INT64_LT (file_size, len)) - { - /* File is too short -- seek to one byte short of where we want, - * then write a byte */ - - /* move to position n-1 */ - TARGET_NATIVE_FILE_SEEK_BEGIN (native_fd, - TARGET_NATIVE_MATH_INT_INT64_SUB (len, - 1), - new_offset, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - - /* write a byte - Note: This will fail if we somehow get here in read only mode - * That shouldn't happen */ - data = '\0'; - TARGET_NATIVE_FILE_WRITE (native_fd, &data, 1, bytes_written, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - - /* Reposition file pointer to where we started if not beyond new len. */ - if (TARGET_NATIVE_MATH_INT_INT64_LT (save_offset, len)) - { - TARGET_NATIVE_FILE_SEEK_BEGIN (native_fd, save_offset, - new_offset, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - } - } - else if (TARGET_NATIVE_MATH_INT_INT64_GT (file_size, len)) - { - /* File is too long - use ftruncate if available */ -#ifdef HAVE_FTRUNCATE - TARGET_NATIVE_FILE_TRUNCATE (native_fd, len, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } -#else /* HAVE_FTRUNCATE */ - /* FIXME: Probably operation isn't supported, but this exception - * is too harsh as it will probably crash the program without need - JCL_ThrowException(env, "java/lang/UnsupportedOperationException", - "not implemented - can't shorten files on this platform"); - */ - JCL_ThrowException (env, IO_EXCEPTION, "Unable to shorten file length"); -#endif /* HAVE_FTRUNCATE */ - - /* Reposition file pointer when it now is beyond the end of file. */ - if (TARGET_NATIVE_MATH_INT_INT64_GT (save_offset, len)) - { - TARGET_NATIVE_FILE_SEEK_BEGIN (native_fd, len, new_offset, result); - if (result != TARGET_NATIVE_OK) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - } - } -} - -JNIEXPORT jobject JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_mapImpl (JNIEnv *env, jobject obj, - jchar mode, jlong position, jint size) -{ -#ifdef HAVE_MMAP - jclass MappedByteBufferImpl_class; - jmethodID MappedByteBufferImpl_init = NULL; - jobject Pointer_instance; - volatile jobject buffer; - long pagesize; - int prot, flags; - int fd; - void *p; - void *address; - - /* FIXME: should we just assume we're on an OS modern enough to - have 'sysconf'? And not check for 'getpagesize'? */ -#if defined(HAVE_GETPAGESIZE) - pagesize = getpagesize (); -#elif defined(HAVE_SYSCONF) - pagesize = sysconf (_SC_PAGESIZE); -#else - JCL_ThrowException (env, IO_EXCEPTION, - "can't determine memory page size"); - return NULL; -#endif /* HAVE_GETPAGESIZE/HAVE_SYSCONF */ - - if ((*env)->ExceptionOccurred (env)) - { - return NULL; - } - - fd = get_native_fd (env, obj); - - prot = PROT_READ; - if (mode == '+' || mode == 'c') - { - /* When writing we need to make sure the file is big enough, - otherwise the result of mmap is undefined. */ - jlong filesize; - filesize = Java_gnu_java_nio_channels_FileChannelImpl_size(env, obj); - if (filesize == -1) - return NULL; - if (position + size > filesize) - if (ftruncate(fd, position + size) == -1) - { - JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); - return NULL; - } - prot |= PROT_WRITE; - } - - flags = (mode == 'c' ? MAP_PRIVATE : MAP_SHARED); - p = mmap (NULL, (size_t) ALIGN_UP (size, pagesize), prot, flags, - fd, ALIGN_DOWN (position, pagesize)); - if (p == MAP_FAILED) - { - JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); - return NULL; - } - - /* Unalign the mapped value back up, since we aligned offset - down to a multiple of the page size. */ - address = (void *) ((char *) p + (position % pagesize)); - - Pointer_instance = JCL_NewRawDataObject(env, address); - - MappedByteBufferImpl_class = (*env)->FindClass (env, - "java/nio/MappedByteBufferImpl"); - if (MappedByteBufferImpl_class != NULL) - { - MappedByteBufferImpl_init = - (*env)->GetMethodID (env, MappedByteBufferImpl_class, - "", "(Lgnu/classpath/Pointer;IZ)V"); - } - - if ((*env)->ExceptionOccurred (env)) - { - munmap (p, ALIGN_UP (size, pagesize)); - return NULL; - } - if (MappedByteBufferImpl_init == NULL) - { - JCL_ThrowException (env, "java/lang/InternalError", - "could not get MappedByteBufferImpl constructor"); - munmap (p, ALIGN_UP (size, pagesize)); - return NULL; - } - - buffer = (*env)->NewObject (env, MappedByteBufferImpl_class, - MappedByteBufferImpl_init, Pointer_instance, - (jint) size, mode == 'r'); - return buffer; -#else - (void) obj; - (void) mode; - (void) position; - (void) size; - JCL_ThrowException (env, IO_EXCEPTION, - "memory-mapped files not implemented"); - return 0; -#endif /* HAVE_MMAP */ -} - -/* - * Read a single byte from the file descriptor - * Return byte read or -1 on eof, exception on error - */ -JNIEXPORT jint JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_read__ (JNIEnv * env, jobject obj) -{ - int native_fd; - char data; - ssize_t bytes_read; - int result; - - native_fd = get_native_fd (env, obj); - - bytes_read = 0; - do - { - TARGET_NATIVE_FILE_READ (native_fd, &data, 1, bytes_read, result); - if ((result == TARGET_NATIVE_OK) && (bytes_read == 0)) - { - return (-1); - } - if ((result != TARGET_NATIVE_OK) - && (TARGET_NATIVE_LAST_ERROR () != - TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return (-1); - } - } - while (result != TARGET_NATIVE_OK); - - return ((jint) (data & 0xFF)); -} - -/* - * Reads to a byte buffer from the specified file descriptor - * Return number of bytes read or -1 on eof, exception on error - */ -JNIEXPORT jint JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_read___3BII (JNIEnv * env, - jobject obj, - jbyteArray buffer, - jint offset, - jint length) -{ - int native_fd; - jbyte *bufptr; - ssize_t bytes_read; - ssize_t n; - int result; - - native_fd = get_native_fd (env, obj); - - /* Must return 0 if an attempt is made to read 0 bytes. */ - if (length == 0) - return 0; - - if (offset < 0) - { - JCL_ThrowException (env, IO_EXCEPTION, "negative offset"); - return -1; - } - - bufptr = (*env)->GetByteArrayElements (env, buffer, 0); - if (!bufptr) - { - JCL_ThrowException (env, IO_EXCEPTION, "Unexpected JNI error"); - return (-1); - } - - if (length + offset > (*env)->GetArrayLength (env, buffer)) - { - JCL_ThrowException (env, IO_EXCEPTION, - "length + offset > buffer.length"); - return -1; - } - - bytes_read = 0; - do - { - TARGET_NATIVE_FILE_READ (native_fd, (bufptr + offset + bytes_read), - (length - bytes_read), n, result); - if ((result == TARGET_NATIVE_OK) && (n == 0)) - { - (*env)->ReleaseByteArrayElements (env, buffer, bufptr, 0); - if (bytes_read == 0) - return -1; /* Signal end of file to Java */ - else - return CONVERT_SSIZE_T_TO_JINT (bytes_read); - } - if ((result != TARGET_NATIVE_OK) - && (TARGET_NATIVE_LAST_ERROR () != - TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - (*env)->ReleaseByteArrayElements (env, buffer, bufptr, 0); - return -1; - } - if (result == TARGET_NATIVE_OK) - bytes_read += n; - } - while (bytes_read < 1); - - (*env)->ReleaseByteArrayElements (env, buffer, bufptr, 0); - return CONVERT_SSIZE_T_TO_JINT (bytes_read); -} - -/* - * Writes a single byte to the specified file descriptor - * Return status code, exception on error - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_write__I (JNIEnv * env, - jobject obj, jint b) -{ - int native_fd; - char native_data; - ssize_t bytes_written; - int result; - - native_fd = get_native_fd (env, obj); - native_data = (char) (CONVERT_JINT_TO_INT (b) & 0xFF); - - do - { - TARGET_NATIVE_FILE_WRITE (native_fd, &native_data, 1, bytes_written, - result); - if ((result != TARGET_NATIVE_OK) - && (TARGET_NATIVE_LAST_ERROR () != - TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - return; - } - } - while (result != TARGET_NATIVE_OK); -} - -/* - * Copies all parts of a file to disk. - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_force (JNIEnv * env, - jobject obj) -{ - int native_fd; - int result; - native_fd = get_native_fd (env, obj); - TARGET_NATIVE_FILE_FSYNC (native_fd, result); - if (result != TARGET_NATIVE_OK) - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); -} - -/* - * Writes a byte buffer to the specified file descriptor - * Return status code, exception on error - */ -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_write___3BII (JNIEnv * env, - jobject obj, - jbyteArray buffer, - jint offset, - jint length) -{ - int native_fd; - jbyte *bufptr; - ssize_t bytes_written; - ssize_t n; - int result; - - native_fd = get_native_fd (env, obj); - - /* Just return if an attempt is made to write 0 bytes. */ - if (length == 0) - return; - - bufptr = (*env)->GetByteArrayElements (env, buffer, 0); - if (!bufptr) - { - JCL_ThrowException (env, IO_EXCEPTION, "Unexpected JNI error"); - return; - } - - bytes_written = 0; - while (bytes_written < CONVERT_JINT_TO_SSIZE_T (length)) - { - TARGET_NATIVE_FILE_WRITE (native_fd, (bufptr + offset + bytes_written), - (length - bytes_written), n, result); - if ((result != TARGET_NATIVE_OK) - && (TARGET_NATIVE_LAST_ERROR () != - TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL)) - { - JCL_ThrowException (env, IO_EXCEPTION, - TARGET_NATIVE_LAST_ERROR_STRING ()); - (*env)->ReleaseByteArrayElements (env, buffer, bufptr, 0); - return; - } - if (result == TARGET_NATIVE_OK) - bytes_written += n; - } - - (*env)->ReleaseByteArrayElements (env, buffer, bufptr, 0); -} - -JNIEXPORT jboolean JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_lock (JNIEnv *env, jobject obj, - jlong position, jlong size, - jboolean shared, jboolean wait) -{ -#ifdef HAVE_FCNTL - int fd = get_native_fd (env, obj); - int cmd = wait ? F_SETLKW : F_SETLK; - struct flock flock; - int ret; - - flock.l_type = shared ? F_RDLCK : F_WRLCK; - flock.l_whence = SEEK_SET; - flock.l_start = (off_t) position; - /* Long.MAX_VALUE means lock everything possible starting at pos. */ - if (size == 9223372036854775807LL) - flock.l_len = 0; - else - flock.l_len = (off_t) size; - - ret = fcntl (fd, cmd, &flock); - /* fprintf(stderr, "fd %d, wait %d, shared %d, ret %d, position %lld, size %lld, l_start %ld, l_len %ld\n", fd, wait, shared,ret, position, size, (long) flock.l_start, (long) flock.l_len); */ - if (ret) - { - /* Linux man pages for fcntl state that errno might be either - EACCES or EAGAIN if we try F_SETLK, and another process has - an overlapping lock. We should not get an unexpected errno. */ - if (errno != EACCES && errno != EAGAIN) - { - JCL_ThrowException (env, "java/lang/InternalError", - strerror (errno)); - } - return JNI_FALSE; - } - return JNI_TRUE; -#else - (void) obj; - (void) position; - (void) size; - (void) shared; - (void) wait; - JCL_ThrowException (env, "java/lang/UnsupportedOperationException", - "file locks not implemented on this platform"); - return JNI_FALSE; -#endif /* HAVE_FCNTL */ -} - -JNIEXPORT void JNICALL -Java_gnu_java_nio_channels_FileChannelImpl_unlock (JNIEnv *env, - jobject obj, - jlong position, - jlong length) -{ -#ifdef HAVE_FCNTL - int fd = get_native_fd (env, obj); - struct flock flock; - int ret; - - flock.l_type = F_UNLCK; - flock.l_whence = SEEK_SET; - flock.l_start = (off_t) position; - /* Long.MAX_VALUE means unlock everything possible starting at pos. */ - if (length == 9223372036854775807LL) - flock.l_len = 0; - else - flock.l_len = (off_t) length; - - ret = fcntl (fd, F_SETLK, &flock); - if (ret) - { - JCL_ThrowException (env, "java/lang/InternalError", - strerror (errno)); - } -#else - (void) obj; - (void) position; - (void) length; - JCL_ThrowException (env, "java/lang/UnsupportedOperationException", - "file locks not implemented on this platform"); -#endif /* HAVE_FCNTL */ -} diff --git a/libjava/classpath/native/jni/java-nio/java_nio_MappedByteBufferImpl.c b/libjava/classpath/native/jni/java-nio/java_nio_MappedByteBufferImpl.c index b4909198267..2a87d29507e 100644 --- a/libjava/classpath/native/jni/java-nio/java_nio_MappedByteBufferImpl.c +++ b/libjava/classpath/native/jni/java-nio/java_nio_MappedByteBufferImpl.c @@ -1,5 +1,5 @@ /* java_nio_MappedByteBufferImpl.c - Native methods for MappedByteBufferImpl - Copyright (C) 2004,2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ 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 @@ -43,7 +43,6 @@ exception statement from your version. */ #include "java_nio_MappedByteBufferImpl.h" -#include #include #include #ifdef HAVE_UNISTD_H diff --git a/libjava/classpath/native/jni/java-nio/javanio.c b/libjava/classpath/native/jni/java-nio/javanio.c new file mode 100644 index 00000000000..d9e4d4f1d95 --- /dev/null +++ b/libjava/classpath/native/jni/java-nio/javanio.c @@ -0,0 +1,122 @@ +/* javanio.c -- implementations of functions in javanio.h. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +/* + * Note, because these functions are trivial, and should be inlined, + * we include this file in the header, and do not compile it. + */ + +#include +#include +#include +#include +#include + +CPNIO_EXPORT ssize_t +cpnio_read (int fd, void *buf, size_t nbytes) +{ + return read (fd, buf, nbytes); +} + +CPNIO_EXPORT ssize_t +cpnio_readv (int fd, const struct iovec *iov, int iovcnt) +{ + return readv (fd, iov, iovcnt); +} + +CPNIO_EXPORT ssize_t +cpnio_write (int fd, const void *buf, size_t nbytes) +{ + return write (fd, buf, nbytes); +} + +CPNIO_EXPORT ssize_t +cpnio_writev (int fd, const struct iovec *iov, size_t iovcnt) +{ + return writev (fd, iov, iovcnt); +} + +CPNIO_EXPORT int +cpnio_socket (int domain, int type, int protocol) +{ + return socket (domain, type, protocol); +} + +CPNIO_EXPORT int +cpnio_connect (int fd, const struct sockaddr *addr, socklen_t addrlen) +{ + return connect (fd, addr, addrlen); +} + +CPNIO_EXPORT int +cpnio_accept (int fd, struct sockaddr *addr, socklen_t *addrlen) +{ + return accept (fd, addr, addrlen); +} + +CPNIO_EXPORT ssize_t +cpnio_sendto (int fd, const void *msg, size_t len, int flags, + const struct sockaddr *to, socklen_t tolen) +{ + return sendto (fd, msg, len, flags, to, tolen); +} + +CPNIO_EXPORT ssize_t +cpnio_recvfrom (int fd, void *buf, size_t len, int flags, + struct sockaddr *from, socklen_t *fromlen) +{ + return recvfrom (fd, buf, len, flags, from, fromlen); +} + +CPNIO_EXPORT int +cpnio_fcntl (int fd, int cmd, long arg) +{ +#ifdef HAVE_FCNTL + return fcntl (fd, cmd, arg); +#else + errno = ENOSUP; + return -1; +#endif /* HAVE_FCNTL */ +} + +CPNIO_EXPORT int +cpnio_select (int nfds, fd_set *readfds, fd_set *writefds, + fd_set *excepfds, struct timeval *timeo) +{ + return select (nfds, readfds, writefds, excepfds, timeo); +} diff --git a/libjava/classpath/native/jni/java-nio/javanio.h b/libjava/classpath/native/jni/java-nio/javanio.h new file mode 100644 index 00000000000..bdd11055ea8 --- /dev/null +++ b/libjava/classpath/native/jni/java-nio/javanio.h @@ -0,0 +1,332 @@ +/* javanio.h -- reference implementation of native functions. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a 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 of the License, 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; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, 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. */ + + +#ifndef __JAVANIO_H__ +#define __JAVANIO_H__ + +/** + * This header defines functions that are called by our JNI reference + * implementation of java.nio.*. In our reference implementation, these + * functions map exactly to their counterparts in POSIX; in implementations + * that can't use these functions directly (such as systems that use user-land + * threads, and thus can't call blocking system calls directly) can provide + * their own implementations suitable for their system. + */ + +/** + * This macro is used in all function prototypes below; if any additional + * keywords need to be added to a prototype, declare them in this macro. + */ +#define CPNIO_EXPORT static inline + +/** + * Read bytes from the given file descriptor into the given memory address, which + * has sufficient space for NBYTES bytes. + * + * \param fd The file descriptor to read from. + * \param buf The memory address to read bytes into. + * \param nbytes The number of bytes available to store in BUF. + * \return The number of bytes read, possibly zero, on success; return -1 on failure, + * and set ERRNO to an appropriate value. + * \see read(2) + * + * Allowed errno values: + * [EBADF] If FD is not a valid file descriptor, or is not open for reading. + * [EFAULT] If BUF points outside the process's address space. + * [EIO] An I/O error occurrs. + * [EINTR] If the read is interrupted by a signal. + * [EINVAL] If FD is negative. + * [EAGAIN] If FD was marked for non-blocking I/O, and no data were ready to + * be read. + */ +CPNIO_EXPORT ssize_t cpnio_read (int fd, void *buf, size_t nbytes); + +/* + * Read bytes from a file descriptor into a sequence of IO buffers. + * + * The iovec structure is defined as: + * + * struct iovec { + * char *iov_base; + * size_t iov_len; + * }; + * + * The call to _cp_readv should do a scattering read, where for each struct iovec + * in the supplied list, up to IOV_LEN bytes are read into IOV_BASE. The function + * returns the total number of bytes read into all supplied buffers. + * + * \param fd The file descriptor. + * \param iov A pointer to the head of a list of iovec structures. + * \param iovcnt The number of iovec structures pointed to by IOV. + * \return The total number of bytes read accross all buffers, possibly zero. On + * error, -1 is returned and ERRNO is set. + * \see readv(2) + * + * Allowed ERRNO values include all of those listed for _cp_read, as well as the + * following: + * [EINVAL] If IOVCNT overflows the maximum number of iovec structures + * this platform supports (usually 16), if any IOV_LEN value + * is negative, or if the sum of all IOV_LEN values is too + * large to be stored in a ssize_t (usually a 32-bit integer). + * [EFAULT] If part of IOV points outside the process's address space. + */ +CPNIO_EXPORT ssize_t cpnio_readv (int fd, const struct iovec *iov, int iovcnt); + +/* + * Write NBYTES bytes from BUF to the file descriptor FD, returning the number + * of bytes successfully written. + * + * \param fd The file descriptor. + * \param buf A pointer to the bytes to write. + * \param nbytes The maximum number of bytes to write. + * \return The number of bytes written to the file descriptor, possibly zero. -1 + * is returned if an error is encountered, and ERRNO will be set. + * \see write(2) + * + * Allowed ERRNO values: + * [EBADF] If FD is not a valid file descriptor or is not open for writing. + * [EPIPE] If FD is a pipe, when the other side is disconnected; if FD is a + * socket, when the peer is not connected. + * [EFBIG] When FD is a file, and writing to it overflows the process's + * or the system's maximim file size. + * [EFAULT] If the buffer to write points outside the process's address + * space. + * [EINVAL] If the descriptor FD is negative. + * [ENOSPC] If FD is a file, and there is insufficient space on the + * filesystem. + * [EDQUOT] If FD is a file, and the user's disk quota has been exceeded. + * [EIO] If an I/O error occurs. + * [EINTR] If the call is interrupted by a signal. + * [EAGAIN] If FD is in non-blocking mode, and no bytes could be immediately + * written. + */ +CPNIO_EXPORT ssize_t cpnio_write (int fd, const void *buf, size_t nbytes); + +/* + * Write data from a sequence of IOVCNT buffers IOV to a file descriptor FD. + * + * \param fd The file descriptor. + * \param iov The list of buffers to write. + * \param iovcnt The number of iovec structures pointed to by IOV. + * \return The total number of bytes written from the given buffers, possibly + * zero. -1 if an error occurs, and ERRNO will be set. + * \see writev(2) + * + * Allowed ERRNO values include those mentioned in _cp_write, as well as: + * [EDESTADDRREQ] If the descriptor is a datagram socket, and the peer is + * no longer available. + * [EINVAL] If IOVCNT is out of range, if any IOV_LEN value is + * negative, or if the sum of all IOVCNT IOV_LEN values + * will overflow a ssize_t. + * [ENOBUFS] If the mbuf pool is exhausted (???). + */ +CPNIO_EXPORT ssize_t cpnio_writev (int fd, const struct iovec *iov, size_t iovcnt); + +/** + * Open a new, unbound and unconnected socket. + * + * \param domain The socket domain. Implementations need only handle AF_INET. + * \param type The socket type; implementations need only handle types + * SOCK_STREAM (for streaming sockets) and SOCK_DGRAM (for datagram sockets). + * \param protocol This should always be 0. It can be ignored. + * \return A new file descriptor pointing to a newly created socket, or -1 on + * error, and ERRNO set. + * + * Allowed ERRNO values: + * [EPROTONOSUPPORT] If TYPE is unrecognized. + * [EMFILE] If a new file descriptor cannot be allocated, because + * the process's descriptor table is full. + * [ENFILE] Likewise, but when the system table is full. + * [EACCES] If this operation is not allowed. + * [ENOBUFS] If there is not enough buffer space available for the + * new socket. + */ +CPNIO_EXPORT int cpnio_socket (int domain, int type, int protocol); + +/** + * Connect a socket to a remote address. + * + * \param fd The file descriptor of the socket to connect. + * \param addr The address to connect to. In practice, this should be + * either a `struct sockaddr_in' or a `struct sockaddr_in6'. + * \param addrlen The size of the address structure passed by ADDR. + * \return Zero if the connect succeeds. -1 on error, and ERRNO should be set. + * + * Allowed ERRNO values: + * [EBADF] If FD is not a valid file descriptor. + * [ENOTSOCK] If FD is not a socket descriptor. + * [EADDRNOTAVAIL] If ADDR is not available for use to this process. + * [EAFNOSUPPORT] If the address family of ADDR is not supported. + * [EISCONN] If the socket is already connected. + * [ETIMEDOUT] If the connection could not be made in a reasonable + * amount of time. + * [ECONNREFUSED] If the connection attempt was rejected. + * [ENETUNREACH] If the network ADDR is on is unreachable. + * [EADDRINUSE] If the address is already in use. + * [EFAULT] If ADDR points outside the addressable space. + * [EINPROGRESS] If FD is in non-blocking mode, and the connection could + * not be completed immediately. + * [EALREADY] If FD is in non-blocking mode, and a connection attempt + * is still pending. + * [EACCESS] If ADDR is the broadcast address, and the socket option + * SO_BROADCAST is not set. + */ +CPNIO_EXPORT int cpnio_connect (int fd, const struct sockaddr *addr, socklen_t addrlen); + +/** + * Accept an incoming connection on a socket, returning a new socket for + * the connection, and storing the peer address in ADDR. + * + * \param fd The socket file descriptor. + * \param addr The structure to store the peer address in. + * \param addrlen The size of the data available in ADDR; upon return, the + * number of bytes stored in ADDR will be placed here. + * \return The new socket file descriptor, or -1 on error, and ERRNO set. + * + * Allowed ERRNO values: + * [EBADF] If FD is not a valid file descriptor. + * [ENOTSOCK] If FD in not a socket descriptor. + * [EOPNOTSUPP] If the socket is not a SOCK_STREAM socket. + * [EFAULT] If ADDR points outside the process's addressable space. + * [EWOULDBLOCK] If the socket is in non-blocking mode, and no connection + * attempt is currently ready. + * [EMFILE] If the process's descriptor table is full. + * [ENFILE] If the system's descriptor table is full. + */ +CPNIO_EXPORT int cpnio_accept (int fd, struct sockaddr *addr, socklen_t *addrlen); + +/** + * Send a datagram to the given address. + * + * \param fd The socket file descriptor. + * \param msg A pointer to the message to send. + * \param len The size of the message to send. + * \param flags Flags for sending. + * \param to The remote address to send the message to. + * \param tolen The size of the TO address structure. + * \return The number of bytes written, possibly zero, on success. Returns + * -1 on failure, and sets ERRNO. + * \see sendto(2) + * + * Allowed ERRNO values: + * [EBADF] + * [ENOTSOCK] + * [EFAULT] + * [EMSGSIZE] + * [EAGAIN] + * [ENOBUFS] + * [EACCES] + * [EHOSTUNREACH] + */ +CPNIO_EXPORT ssize_t cpnio_sendto (int fd, const void *msg, size_t len, int flags, + const struct sockaddr *to, socklen_t tolen); + +/** + * Receive a message on a socket, storing the remote host's address in + * FROM. + * + * \param fd The socket file descriptor. + * \param buf The buffer to store received bytes in. + * \param flags Flags to control the receive. + * \param from Where to store the remote address. + * \param fromlen Pointer to the size of FROM; on return, it will contain the + * size of the structure placed in FROM. + * \return The number of bytes received on success. -1 on error, and ERRNO will + * be set. + * \see recvfrom(2) + * + * Allewed ERRNO values: + * [EBADF] FD is not a valid file descriptor. + * [ENOTCONN] If the socket is stream-oriented, and no prior call to + * connect(2) was made. + * [ENOTSOCK] FD is not a socket. + * [EAGAIN] FD is in non-blocking mode, and no message was + * immediately available. + * [EINTR] The system call was interrupted by a signal. + * [EFAULT] BUF, FROM, or FROMLEN lie outside the process's address + * space. + */ +CPNIO_EXPORT ssize_t cpnio_recvfrom (int fd, void *buf, size_t len, int flags, + struct sockaddr *from, socklen_t *fromlen); + + +/** + * Control file descriptor properties. + * + * \param fd The file descriptor to control. + * \param cmd The command to execute. + * \param arg The command argument. + * \return A value other than -1, specific to CMD. On error, -1 is + * returned, and ERRNO is set. + * + * Allowed ERRNO values: + * FIXME + */ +CPNIO_EXPORT int cpnio_fcntl (int fd, int cmd, long arg); + + +/** + * Select from one of the given file descriptor sets a descriptor that + * is ready for the given operation (read, write, etc.). + * + * \param nfds A value one larger than the largest file + * descriptor. + * \param readfds A set of file descriptors to select for + * readability. + * \param writefds A set of file descriptors to select for + * writability. + * \param exceptfds A set of file descriptors to select for + * exceptional conditions. + * \param tm The selection timeout. + * \return The number of file descriptors selected, possibly zero, or + * -1 on error (and with ERRNO set). + */ +CPNIO_EXPORT int cpnio_select (int nfds, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, struct timeval *tm); + +/* + * We include the implementation file here, because our reference + * implementation is trivial, and the functions are declared extern + * inline. + * + * Implementations that need different implementations of these functions + * SHOULD remove this line, and compile javanio.c as a separate unit. + */ +#include "javanio.c" + +#endif /* __JAVANIO_H__ */ diff --git a/libjava/classpath/native/jni/java-util/.cvsignore b/libjava/classpath/native/jni/java-util/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/java-util/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/java-util/Makefile.in b/libjava/classpath/native/jni/java-util/Makefile.in index a592c5c018e..c929468bd97 100644 --- a/libjava/classpath/native/jni/java-util/Makefile.in +++ b/libjava/classpath/native/jni/java-util/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -183,6 +185,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -304,7 +308,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libjavautil.la libjavautil_la_SOURCES = java_util_VMTimeZone.c diff --git a/libjava/classpath/native/jni/midi-alsa/.cvsignore b/libjava/classpath/native/jni/midi-alsa/.cvsignore new file mode 100644 index 00000000000..483b2774465 --- /dev/null +++ b/libjava/classpath/native/jni/midi-alsa/.cvsignore @@ -0,0 +1,9 @@ +*.o +*.a +*.lo +*.la +.libs +.depsMakefile +Makefile.in +Makefile +.deps diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.in b/libjava/classpath/native/jni/midi-alsa/Makefile.in index 12346cee981..b93d060db20 100644 --- a/libjava/classpath/native/jni/midi-alsa/Makefile.in +++ b/libjava/classpath/native/jni/midi-alsa/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -186,6 +188,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -307,7 +311,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libgjsmalsa.la libgjsmalsa_la_SOURCES = gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.c \ diff --git a/libjava/classpath/native/jni/midi-dssi/.cvsignore b/libjava/classpath/native/jni/midi-dssi/.cvsignore new file mode 100644 index 00000000000..ac18ca27297 --- /dev/null +++ b/libjava/classpath/native/jni/midi-dssi/.cvsignore @@ -0,0 +1,9 @@ +*.o +*.a +*.lo +*.la +.libs +.depsMakefile +Makefile.in +.deps +Makefile diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.am b/libjava/classpath/native/jni/midi-dssi/Makefile.am index 48c8051ccc3..692579d46b3 100644 --- a/libjava/classpath/native/jni/midi-dssi/Makefile.am +++ b/libjava/classpath/native/jni/midi-dssi/Makefile.am @@ -9,4 +9,7 @@ libgjsmdssi_la_LDFLAGS = -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ +# No STRICT_WARNING_CFLAGS here as we use dlsym to load the address of +# a function,and ISO C prohibits casting void pointers, like those returned +# by dlsym, to function pointers. +AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.in b/libjava/classpath/native/jni/midi-dssi/Makefile.in index 053451be6e5..e6c42fa7782 100644 --- a/libjava/classpath/native/jni/midi-dssi/Makefile.in +++ b/libjava/classpath/native/jni/midi-dssi/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -186,6 +188,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -307,7 +311,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libgjsmdssi.la libgjsmdssi_la_SOURCES = gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c \ @@ -318,7 +321,10 @@ libgjsmdssi_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo -ljack libgjsmdssi_la_LDFLAGS = -avoid-version AM_LDFLAGS = @CLASSPATH_MODULE@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ +# No STRICT_WARNING_CFLAGS here as we use dlsym to load the address of +# a function,and ISO C prohibits casting void pointers, like those returned +# by dlsym, to function pointers. +AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ all: all-am .SUFFIXES: diff --git a/libjava/classpath/native/jni/midi-dssi/dssi_data.h b/libjava/classpath/native/jni/midi-dssi/dssi_data.h index 27a4e283119..f8243f29bd4 100644 --- a/libjava/classpath/native/jni/midi-dssi/dssi_data.h +++ b/libjava/classpath/native/jni/midi-dssi/dssi_data.h @@ -46,8 +46,6 @@ exception statement from your version. */ #include -#include "target_native.h" -#include "target_native_misc.h" #include "../classpath/jcl.h" /* Specify the size of the circular buffer. It only needs to be big diff --git a/libjava/classpath/native/jni/native-lib/.cvsignore b/libjava/classpath/native/jni/native-lib/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/native-lib/Makefile.am b/libjava/classpath/native/jni/native-lib/Makefile.am new file mode 100644 index 00000000000..beab77e5732 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/Makefile.am @@ -0,0 +1,12 @@ +noinst_LTLIBRARIES = libclasspathnative.la +libclasspathnative_la_SOURCES = cpnet.c \ + cpnet.h \ + cpio.c \ + cpio.h \ + cpnative.h \ + cpproc.h \ + cpproc.c + +AM_LDFLAGS = @CLASSPATH_MODULE@ +AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in new file mode 100644 index 00000000000..5dda1263e12 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/Makefile.in @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +subdir = native/jni/native-lib +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ + $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ + $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ + $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libclasspathnative_la_LIBADD = +am_libclasspathnative_la_OBJECTS = cpnet.lo cpio.lo cpproc.lo +libclasspathnative_la_OBJECTS = $(am_libclasspathnative_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libclasspathnative_la_SOURCES) +DIST_SOURCES = $(libclasspathnative_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ +BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@ +CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@ +CLASSPATH_MODULE = @CLASSPATH_MODULE@ +COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@ +CP = @CP@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@ +CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@ +CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@ +CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@ +CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@ +CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@ +CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@ +CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@ +CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@ +CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@ +CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@ +CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@ +CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@ +CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@ +CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@ +CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@ +CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@ +CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@ +CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@ +CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@ +CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@ +CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@ +CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@ +CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@ +CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@ +CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ +DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECJ = @ECJ@ +EGREP = @EGREP@ +ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ +ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@ +ERROR_CFLAGS = @ERROR_CFLAGS@ +EXAMPLESDIR = @EXAMPLESDIR@ +EXEEXT = @EXEEXT@ +FASTJAR = @FASTJAR@ +FIND = @FIND@ +FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ +FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ +FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ +FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ +FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ +FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ +FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ +FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ +FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ +FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ +FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ +FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ +FREETYPE2_LIBS = @FREETYPE2_LIBS@ +GCJ = @GCJ@ +GCJX = @GCJX@ +GCONF_CFLAGS = @GCONF_CFLAGS@ +GCONF_LIBS = @GCONF_LIBS@ +GDK_CFLAGS = @GDK_CFLAGS@ +GDK_LIBS = @GDK_LIBS@ +GJDOC = @GJDOC@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_LIBS = @GLIB_LIBS@ +GTK_CFLAGS = @GTK_CFLAGS@ +GTK_LIBS = @GTK_LIBS@ +INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ +INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@ +INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@ +INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ +JAY = @JAY@ +JAY_SKELETON = @JAY_SKELETON@ +JIKES = @JIKES@ +JIKESENCODING = @JIKESENCODING@ +JIKESWARNINGS = @JIKESWARNINGS@ +KJC = @KJC@ +LDFLAGS = @LDFLAGS@ +LIBDEBUG = @LIBDEBUG@ +LIBICONV = @LIBICONV@ +LIBMAGIC = @LIBMAGIC@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBVERSION = @LIBVERSION@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +MKDIR = @MKDIR@ +MOC = @MOC@ +MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ +MOZILLA_LIBS = @MOZILLA_LIBS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PATH_TO_ESCHER = @PATH_TO_ESCHER@ +PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PLUGIN_DIR = @PLUGIN_DIR@ +QT_CFLAGS = @QT_CFLAGS@ +QT_LIBS = @QT_LIBS@ +RANLIB = @RANLIB@ +REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ +REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ +REMOVE = @REMOVE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ +STRIP = @STRIP@ +USER_CLASSLIB = @USER_CLASSLIB@ +USER_JAVAH = @USER_JAVAH@ +USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ +USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ +USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@ +USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@ +USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ +USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ +USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ +USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@ +VERSION = @VERSION@ +VM_BINARY = @VM_BINARY@ +WARNING_CFLAGS = @WARNING_CFLAGS@ +XML_CFLAGS = @XML_CFLAGS@ +XML_LIBS = @XML_LIBS@ +XSLT_CFLAGS = @XSLT_CFLAGS@ +XSLT_LIBS = @XSLT_LIBS@ +XTEST_LIBS = @XTEST_LIBS@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +ZIP = @ZIP@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +default_toolkit = @default_toolkit@ +exec_prefix = @exec_prefix@ +glibjdir = @glibjdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +nativeexeclibdir = @nativeexeclibdir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +vm_classes = @vm_classes@ +noinst_LTLIBRARIES = libclasspathnative.la +libclasspathnative_la_SOURCES = cpnet.c \ + cpnet.h \ + cpio.c \ + cpio.h \ + cpnative.h \ + cpproc.h \ + cpproc.c + +AM_LDFLAGS = @CLASSPATH_MODULE@ +AM_CPPFLAGS = @CLASSPATH_INCLUDES@ +AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/jni/native-lib/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu native/jni/native-lib/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libclasspathnative.la: $(libclasspathnative_la_OBJECTS) $(libclasspathnative_la_DEPENDENCIES) + $(LINK) $(libclasspathnative_la_LDFLAGS) $(libclasspathnative_la_OBJECTS) $(libclasspathnative_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpnet.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpproc.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libjava/classpath/native/jni/native-lib/cpio.c b/libjava/classpath/native/jni/native-lib/cpio.c new file mode 100644 index 00000000000..2777a31b221 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpio.c @@ -0,0 +1,485 @@ +/* cpio.c - Common java file IO native functions + 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. */ + +/* do not move; needed here because of some macro definitions */ +#include + +#include +#include +#include +#include +#include +#include + +#include + +#if defined(HAVE_SYS_IOCTL_H) +#define BSD_COMP /* Get FIONREAD on Solaris2 */ +#include +#endif +#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */ +#include +#endif + +#if defined(HAVE_SYS_STAT_H) +#include +#endif + +#if defined(HAVE_FCNTL_H) +#include +#endif + +#if defined(HAVE_UNISTD_H) +#include +#endif + +#if defined(HAVE_SYS_SELECT_H) +#include +#endif + +#include + +#include "cpnative.h" +#include "cpio.h" + +/* Some POSIX systems don't have O_SYNC and O_DYSNC so we define them here. */ +#if !defined (O_SYNC) && defined (O_FSYNC) +#define O_SYNC O_FSYNC +#endif +#if !defined (O_DSYNC) && defined (O_FSYNC) +#define O_DSYNC O_FSYNC +#endif +/* If O_DSYNC is still not defined, use O_SYNC (needed for newlib). */ +#if !defined (O_DSYNC) +#define O_DSYNC O_SYNC +#endif + +JNIEXPORT int cpio_openFile (const char *filename, int *fd, int flags, int permissions) +{ + int sflags = 0; + int rwflags = flags & CPFILE_FLAG_READWRITE; + int perms; + + if (flags & CPFILE_FLAG_CREATE) + sflags |= O_CREAT; + if (flags & CPFILE_FLAG_APPEND) + sflags |= O_APPEND; + if (flags & CPFILE_FLAG_TRUNCATE) + sflags |= O_TRUNC; + if (flags & CPFILE_FLAG_SYNC) + sflags |= O_SYNC; + if (flags & CPFILE_FLAG_DSYNC) + sflags |= O_DSYNC; +#if defined(O_BINARY) + if (flags & CPFILE_FLAG_BINARY) + sflags |= O_BINARY; +#endif + + switch (rwflags) + { + case CPFILE_FLAG_READ: + sflags |= O_RDONLY; + break; + case CPFILE_FLAG_WRITE: + sflags |= O_WRONLY; + break; + case CPFILE_FLAG_READWRITE: + sflags |= O_RDWR; + break; + } + + if (permissions == CPFILE_PERMISSION_NORMAL) + perms = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); + else + perms = 0; + + *fd = open (filename, sflags, perms); + + if (*fd < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_closeFile (int fd) +{ + if (close (fd) < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_availableBytes (int fd, jlong *bytes_available) +{ +#if defined (FIONREAD) + ssize_t n; + + if (ioctl (fd, FIONREAD, (char *)&n) != 0) + return errno; + + *bytes_available = n; + return CPNATIVE_OK; +#elif defined(HAVE_FSTAT) + struct stat statBuffer; + off_t n; + int result; + + *bytes_available = 0 + if ((fstat (fd, &statBuffer) == 0) && S_ISREG (statBuffer.st_mode)) + { + n = lseek (fd, 0, SEEK_CUR); + if (n != -1) + { + *bytes_available = statBuffer.st_size - n; + result = 0; + } + else + { + result = errno; + } + } + else + { + result = errno; + } + + return result; +#elif defined(HAVE_SELECT) + fd_set filedescriptset; + struct timeval tv; + int result; + + *bytes_available = 0; + + FD_ZERO (&filedescriptset); + FD_SET (fd,&filedescriptset); + memset (&tv, 0, sizeof(tv)); + + switch (select (fd+1, &filedescriptset, NULL, NULL, &timeval)) \ + { + case -1: + result=errno; + break; + case 0: + *bytes_available = 0; + result = CPNATIVE_OK; + break; + default: + *bytes_available = 1; + result = CPNATIVE_OK; + break; + } + return result; + +#else + *bytes_available = 0; + return ENOTSUP; +#endif +} + +JNIEXPORT int cpio_getFileSize (int fd, jlong *filesize) +{ + struct stat statBuffer; + + if (fstat(fd, &statBuffer) < 0) + return errno; + + *filesize = statBuffer.st_size; + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_getFilePosition (int fd, jlong *offset) +{ + *offset = lseek (fd, 0, SEEK_CUR); + if (*offset < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_setFilePosition (int fd, jlong position) +{ + if (lseek (fd, position, SEEK_SET) < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_read (int fd, void *buffer, jint length, jint *bytes_read) +{ + *bytes_read = read (fd, buffer, length); + + if (*bytes_read < 0) + { + return errno; + } + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_write (int fd, const void *buffer, jint length, jint *bytes_written) +{ + *bytes_written = write (fd, buffer, length); + + if (*bytes_written < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_fsync (int fd) +{ + if (fsync (fd) < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_truncate (int fd, jlong size) +{ + if (ftruncate (fd, size) < 0) + return errno; + + return CPNATIVE_OK; +} + +JNIEXPORT int cpio_setFileSize (int native_fd, jlong new_size) +{ + jlong file_size; + jlong save_offset; + int result; + char data; + jint bytes_written; + + result = cpio_getFileSize (native_fd, &file_size); + if (result != CPNATIVE_OK) + return result; + + /* Save off current position */ + result = cpio_getFilePosition (native_fd, &save_offset); + if (result != CPNATIVE_OK) + return result; + + if (file_size < new_size) + { + /* File is too short -- seek to one byte short of where we want, + * then write a byte */ + + /* move to position n-1 */ + result = cpio_setFilePosition (native_fd, new_size-1); + if (result != CPNATIVE_OK) + return result; + + /* write a byte + Note: This will fail if we somehow get here in read only mode + * That shouldn't happen */ + data = '\0'; + result = cpio_write (native_fd, &data, 1, &bytes_written); + if (result != CPNATIVE_OK) + return result; + + /* Reposition file pointer to where we started if not beyond new len. */ + if (save_offset < new_size) + { + result = cpio_setFilePosition (native_fd, save_offset); + if (result != CPNATIVE_OK) + return result; + } + } + else if (new_size < file_size) + { + /* File is too long - use ftruncate if available */ + result = cpio_truncate (native_fd, new_size); + if (result != CPNATIVE_OK) + return result; + + /* Reposition file pointer when it now is beyond the end of file. */ + if (new_size < save_offset) + { + result = cpio_setFilePosition (native_fd, new_size); + if (result != CPNATIVE_OK) + return result; + } + } + + return CPNATIVE_OK; +} + +int cpio_setFileReadonly (const char *filename) +{ + struct stat statbuf; + + if (stat(filename, &statbuf) < 0) + return errno; + + if (chmod(filename, statbuf.st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH)) < 0) + return errno; + + return 0; +} + +int cpio_isFileExists (const char *filename) +{ + struct stat statbuf; + + if (stat(filename, &statbuf) < 0) + { + return errno; + } + + return 0; +} + +int cpio_checkType (const char *filename, jint *entryType) +{ + struct stat statbuf; + + if (stat(filename, &statbuf) < 0) + return errno; + + if (S_ISDIR(statbuf.st_mode)) + *entryType = CPFILE_DIRECTORY; + else + *entryType = CPFILE_FILE; + + return 0; +} + +int cpio_getModificationTime (const char *filename, jlong *mtime) +{ + struct stat statbuf; + + if (stat(filename, &statbuf) < 0) + return errno; + + *mtime = (jlong)statbuf.st_mtime * (jlong)1000; + + return 0; +} + +int cpio_setModificationTime (const char *filename, jlong mtime) +{ + struct stat statbuf; + struct utimbuf buf; + + if (stat(filename, &statbuf) < 0) + return errno; + + buf.actime = statbuf.st_atime; + buf.modtime = mtime / 1000; + + if (utime(filename, &buf) < 0) + return errno; + + return 0; +} + +int cpio_removeFile (const char *filename) +{ + if (unlink(filename) < 0 && rmdir(filename) < 0) + return errno; + + return 0; +} + +int cpio_mkdir (const char *path) +{ + if (mkdir(path, S_IRWXU | S_IRWXG | S_IRWXO) < 0) + return errno; + + return 0; +} + +int cpio_rename (const char *old_name, const char *new_name) +{ + if (rename(old_name, new_name) < 0) + return errno; + + return 0; +} + +int cpio_openDir (const char *dirname, void **handle) +{ + *handle = (void *)opendir(dirname); + if (*handle == NULL) + return errno; + + return 0; +} + +int cpio_closeDir (void *handle) +{ + closedir((DIR *)handle); + return 0; +} + + +int cpio_readDir (void *handle, char *filename) +{ +#ifdef HAVE_READDIR_R + struct dirent dent; +#endif /* HAVE_READDIR_R */ + struct dirent *dBuf; + +#ifdef HAVE_READDIR_R + readdir_r ((DIR *) handle, &dent, &dBuf); +#else + dBuf = readdir((DIR *)handle); +#endif /* HAVE_READDIR_R */ + + if (dBuf == NULL) + { + /* Some OS's (OS X) return NULL on end-of-dir, but + don't set errno to anything. */ + if (errno == 0) + return ENOENT; /* Whatever. */ + return errno; + } + + strncpy (filename, dBuf->d_name, FILENAME_MAX); + return 0; +} + + +int +cpio_closeOnExec(int fd) +{ + if (fcntl (fd, F_SETFD, FD_CLOEXEC) == -1) + return errno; + + return 0; +} diff --git a/libjava/classpath/native/jni/native-lib/cpio.h b/libjava/classpath/native/jni/native-lib/cpio.h new file mode 100644 index 00000000000..b388b5b501d --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpio.h @@ -0,0 +1,85 @@ +/* cpio.h - + Copyright (C) 2003, 2004, 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. */ + +#ifndef _CLASSPATH_IO_H_INCLUDED +#define _CLASSPATH_IO_H_INCLUDED + +#include + +#define CPFILE_FLAG_CREATE 0x0001 +#define CPFILE_FLAG_APPEND 0x0002 +#define CPFILE_FLAG_TRUNCATE 0x0004 +#define CPFILE_FLAG_SYNC 0x0008 +#define CPFILE_FLAG_DSYNC 0x0010 +#define CPFILE_FLAG_BINARY 0x0020 +#define CPFILE_FLAG_READ 0x0040 +#define CPFILE_FLAG_WRITE 0x0080 + +#define CPFILE_PERMISSION_NORMAL 1 + +#define CPFILE_FLAG_READWRITE (CPFILE_FLAG_READ|CPFILE_FLAG_WRITE) + +JNIEXPORT int cpio_openFile (const char *filename, int *fd, int flags, int permissions); +JNIEXPORT int cpio_closeFile (int fd); +JNIEXPORT int cpio_availableBytes (int fd, jlong *avail); +JNIEXPORT int cpio_getFileSize (int fd, jlong *filesize); +JNIEXPORT int cpio_setFileSize (int fd, jlong filesize); +JNIEXPORT int cpio_getFilePosition (int fd, jlong *position); +JNIEXPORT int cpio_setFilePosition (int fd, jlong position); +JNIEXPORT int cpio_read (int fd, void *data, jint len, jint *bytes_read); +JNIEXPORT int cpio_write (int fd, const void *data, jint len, jint *bytes_written); +JNIEXPORT int cpio_fsync (int fd); +JNIEXPORT int cpio_truncate (int fd, jlong size); +JNIEXPORT int cpio_closeOnExec(int fd); + +#define CPFILE_FILE 0 +#define CPFILE_DIRECTORY 1 + +JNIEXPORT int cpio_setFileReadonly (const char *filename); +JNIEXPORT int cpio_isFileExists (const char *filename); +JNIEXPORT int cpio_checkType (const char *filename, jint *entryType); +JNIEXPORT int cpio_getModificationTime (const char *filename, jlong *mtime); +JNIEXPORT int cpio_setModificationTime (const char *filename, jlong mtime); +JNIEXPORT int cpio_removeFile (const char *filename); +JNIEXPORT int cpio_mkdir (const char *filename); +JNIEXPORT int cpio_rename (const char *old_name, const char *new_name); + +JNIEXPORT int cpio_openDir (const char *dirname, void **handle); +JNIEXPORT int cpio_closeDir (void *handle); +JNIEXPORT int cpio_readDir (void *handle, char *filename); + +#endif diff --git a/libjava/classpath/native/jni/native-lib/cpnative.h b/libjava/classpath/native/jni/native-lib/cpnative.h new file mode 100644 index 00000000000..4ba7726036a --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpnative.h @@ -0,0 +1,49 @@ +/* cpnative.h - + Copyright (C) 2003, 2004, 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. */ + +#ifndef _CLASSPATH_NATIVE_H_INCLUDED +#define _CLASSPATH_NATIVE_H_INCLUDED + +#include +#include + +#define CPNATIVE_OK 0 +#define CPNATIVE_EINTR EINTR + +#define cpnative_getErrorString strerror + +#endif diff --git a/libjava/classpath/native/jni/native-lib/cpnet.c b/libjava/classpath/native/jni/native-lib/cpnet.c new file mode 100644 index 00000000000..85c4640e16f --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpnet.c @@ -0,0 +1,768 @@ +/* cpnet.c - + Copyright (C) 2003, 2004, 2005, 2006 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. */ + +#include "config.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cpnet.h" + +#define SOCKET_DEFAULT_TIMEOUT -1 /* milliseconds */ + +#if defined (HAVE_MSG_NOSIGNAL) +#define SOCKET_NOSIGNAL MSG_NOSIGNAL +#elif defined (HAVE_SO_NOSIGPIPE) +#define SOCKET_NOSIGNAL SO_NOSIGPIPE +#else +#error "No suitable flag found to ommit a SIGPIPE on signal errors with send()." +#endif + +static int socketTimeouts[FD_SETSIZE]; + +static jint waitForWritable(jint fd) +{ + struct timeval tv; + fd_set writeset; + int ret; + + + FD_ZERO(&writeset); + FD_SET(fd, &writeset); + if (socketTimeouts[fd] > 0) + { + tv.tv_sec = socketTimeouts[fd] / 1000; + tv.tv_usec = (socketTimeouts[fd] % 1000) * 1000; + ret = select(fd+1, NULL, &writeset, NULL, &tv); + } + else + ret = select(fd+1, NULL, &writeset, NULL, NULL); + + return (ret <= 0) ? -1 : 0; +} + +static jint waitForReadable(jint fd) +{ + struct timeval tv; + fd_set readset; + int ret; + + + FD_ZERO(&readset); + FD_SET(fd, &readset); + if (socketTimeouts[fd] > 0) + { + tv.tv_sec = socketTimeouts[fd] / 1000; + tv.tv_usec = (socketTimeouts[fd] % 1000) * 1000; + ret = select(fd+1, &readset, NULL, NULL, &tv); + } + else + ret = select(fd+1, &readset, NULL, NULL, NULL); + + return (ret <= 0) ? -1 : 0; +} + +jint cpnet_openSocketStream(JNIEnv *env UNUSED, jint *fd, jint family) +{ + *fd = socket(family, SOCK_STREAM, 0); + if (*fd == -1) + return errno; + + fcntl(*fd, F_SETFD, FD_CLOEXEC); + assert(*fd < FD_SETSIZE); + socketTimeouts[*fd] = SOCKET_DEFAULT_TIMEOUT; + return 0; +} + +jint cpnet_openSocketDatagram(JNIEnv *env UNUSED, jint *fd, jint family) +{ + *fd = socket(family, SOCK_DGRAM, 0); + if (*fd == -1) + return errno; + + fcntl(*fd, F_SETFD, FD_CLOEXEC); + assert(*fd < FD_SETSIZE); + socketTimeouts[*fd] = SOCKET_DEFAULT_TIMEOUT; + return 0; +} + +jint cpnet_shutdown (JNIEnv *env UNUSED, jint fd, jbyte flag) +{ + int ret; + int shut_flag = 0; + + if (flag == CPNET_SHUTDOWN_READ) + shut_flag = SHUT_RD; + else if (flag == CPNET_SHUTDOWN_WRITE) + shut_flag = SHUT_WR; + + ret = shutdown (fd, shut_flag); + if (ret != 0) + return errno; + return 0; +} + +jint cpnet_close(JNIEnv *env UNUSED, jint fd) +{ + if (close (fd) != 0) + return errno; + return 0; +} + +jint cpnet_listen(JNIEnv *env UNUSED, jint fd, jint queuelen) +{ + if (listen (fd, queuelen) != 0) + return errno; + return 0; +} + +jint cpnet_accept(JNIEnv *env UNUSED, jint fd, jint *newfd) +{ + if (waitForReadable (fd) < 0) + return ETIMEDOUT; + + *newfd = accept(fd, NULL, 0); + if (*newfd != 0) + return errno; + + return 0; +} + +jint cpnet_bind(JNIEnv *env UNUSED, jint fd, cpnet_address *addr) +{ + int ret; + + ret = bind(fd, (struct sockaddr *)addr->data, addr->len); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_connect(JNIEnv *env UNUSED, jint fd, cpnet_address *addr) +{ + int ret; + + /* TODO: implement socket time out */ + ret = connect(fd, (struct sockaddr *)addr->data, addr->len); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getLocalAddr(JNIEnv *env, jint fd, cpnet_address **addr) +{ + socklen_t slen = 1024; + int ret; + + *addr = JCL_malloc(env, slen); + + slen -= sizeof(jint); + ret = getsockname(fd, (struct sockaddr *)(*addr)->data, &slen ); + if (ret != 0) + { + int err = errno; + JCL_free(env, *addr); + return err; + } + + (*addr)->len = slen; + + return 0; +} + +jint cpnet_getRemoteAddr(JNIEnv *env, jint fd, cpnet_address **addr) +{ + socklen_t slen = 1024; + int ret; + + *addr = JCL_malloc(env, slen); + + slen -= sizeof(jint); + ret = getpeername(fd, (struct sockaddr *)(*addr)->data, &slen ); + if (ret != 0) + { + int err = errno; + JCL_free(env, *addr); + return err; + } + + (*addr)->len = slen; + + return 0; +} + +jint cpnet_setBroadcast(JNIEnv *env UNUSED, jint fd, jint flag) +{ + int ret; + + ret = setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &flag, sizeof(flag)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_send (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, jint *bytes_sent) +{ + ssize_t ret; + + if (waitForWritable(fd) < 0) + return ETIMEDOUT; + + ret = send(fd, data, len, SOCKET_NOSIGNAL); + if (ret < 0) + return errno; + + *bytes_sent = ret; + + return 0; +} + +jint cpnet_sendTo (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, cpnet_address *addr, jint *bytes_sent) +{ + ssize_t ret; + + if (waitForWritable(fd) < 0) + return ETIMEDOUT; + + ret = sendto(fd, data, len, SOCKET_NOSIGNAL, (struct sockaddr *)addr->data, + addr->len); + if (ret < 0) + return errno; + + *bytes_sent = ret; + return 0; +} + +jint cpnet_recv (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, jint *bytes_recv) +{ + ssize_t ret; + + if (waitForReadable(fd) < 0) + return ETIMEDOUT; + + ret = recv(fd, data, len, 0); + if (ret < 0) + return errno; + + *bytes_recv = ret; + + return 0; +} + +jint cpnet_recvFrom (JNIEnv *env, jint fd, jbyte *data, jint len, cpnet_address **addr, jint *bytes_recv) +{ + socklen_t slen = 1024; + ssize_t ret; + + if (waitForReadable(fd) < 0) + return ETIMEDOUT; + + *addr = JCL_malloc(env, slen); + + slen -= sizeof(jint); + ret = recvfrom(fd, data, len, 0, (struct sockaddr *) (*addr)->data, &slen); + if (ret < 0) + { + int err = errno; + JCL_free(env, *addr); + return err; + } + + (*addr)->len = slen; + *bytes_recv = ret; + + return 0; +} + +jint cpnet_setSocketTCPNoDelay (JNIEnv *env UNUSED, jint fd, jint nodelay) +{ + socklen_t len = sizeof(jint); + int ret; + + ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &nodelay, len); + if (ret < 0) + return errno; + + return 0; +} + +jint cpnet_getSocketTCPNoDelay (JNIEnv *env UNUSED, jint fd, jint *nodelay) +{ + socklen_t len = sizeof(jint); + int ret; + + ret = getsockopt(fd, IPPROTO_TCP, TCP_NODELAY, nodelay, &len); + if (ret < 0) + return errno; + + return 0; +} + +jint cpnet_setLinger (JNIEnv *env UNUSED, jint fd, jint flag, jint value) +{ + socklen_t len = sizeof(struct linger); + int ret; + struct linger __linger; + + if (flag) + { + __linger.l_onoff = 0; + } + else + { + __linger.l_linger = value; + __linger.l_onoff = 1; + } + + ret = setsockopt(fd, SOL_SOCKET, SO_LINGER, &__linger, len); + if (ret < 0) + return errno; + + return 0; +} + +jint cpnet_getLinger (JNIEnv *env UNUSED, jint fd, jint *flag, jint *value) +{ + socklen_t slen = sizeof(struct linger); + struct linger __linger; + int ret; + + ret = getsockopt(fd, SOL_SOCKET, SO_LINGER, &__linger, &slen); + if (ret != 0) + return errno; + + *flag = __linger.l_onoff; + *value = __linger.l_linger; + + return ret; +} + +jint cpnet_setSocketTimeout (JNIEnv *env UNUSED, jint fd, jint value) +{ + socketTimeouts[fd] = value; + return 0; +} + +jint cpnet_getSocketTimeout (JNIEnv *env UNUSED, jint fd, jint *value) +{ + *value = socketTimeouts[fd]; + return 0; +} + +jint cpnet_setSendBuf (JNIEnv *env UNUSED, jint fd, jint value) +{ + int ret; + + ret = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &value, sizeof(value)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getSendBuf (JNIEnv *env UNUSED, jint fd, jint *value) +{ + int ret; + socklen_t slen = sizeof(*value); + + ret = getsockopt(fd, SOL_SOCKET, SO_SNDBUF, value, &slen); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_setRecvBuf (JNIEnv *env UNUSED, jint fd, jint value) +{ + int ret; + + ret = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &value, sizeof(value)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getRecvBuf (JNIEnv *env UNUSED, jint fd, jint *value) +{ + int ret; + socklen_t slen = sizeof(*value); + + ret = getsockopt(fd, SOL_SOCKET, SO_RCVBUF, value, &slen); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_setTTL (JNIEnv *env UNUSED, jint fd, jint value) +{ + int ret; + + ret = setsockopt(fd, IPPROTO_IP, IP_TTL, &value, sizeof(value)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getTTL (JNIEnv *env UNUSED, jint fd, jint *value) +{ + int ret; + socklen_t slen = sizeof(*value); + + ret = getsockopt(fd, IPPROTO_IP, IP_TTL, value, &slen); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_setMulticastIF (JNIEnv *env UNUSED, jint fd, cpnet_address *addr) +{ + int ret; + + ret = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (struct sockaddr *)addr->data, addr->len); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getMulticastIF (JNIEnv *env, jint fd, cpnet_address **addr) +{ + socklen_t slen = 1024; + int ret; + + *addr = JCL_malloc(env, slen); + + slen -= sizeof(jint); + ret = getsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF, (struct sockaddr *)(*addr)->data, &slen); + (*addr)->len = slen; + + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_setReuseAddress (JNIEnv *env UNUSED, jint fd, jint reuse) +{ + int ret; + + ret = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getReuseAddress (JNIEnv *env UNUSED, jint fd, jint *reuse) +{ + int ret; + socklen_t slen = sizeof(*reuse); + + ret = getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, reuse, &slen); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_setKeepAlive (JNIEnv *env UNUSED, jint fd, jint keep) +{ + int ret; + + ret = setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &keep, sizeof(keep)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getKeepAlive (JNIEnv *env UNUSED, jint fd, jint *keep) +{ + int ret; + socklen_t slen = sizeof(*keep); + + ret = getsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, keep, &slen); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_addMembership (JNIEnv *env UNUSED, jint fd, cpnet_address *addr) +{ + struct ip_mreq req; + int ret; + + memset(&req, 0, sizeof(req)); + req.imr_multiaddr = ((struct sockaddr_in *)addr->data)->sin_addr; + req.imr_interface.s_addr = INADDR_ANY; + ret = setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &req, sizeof(req)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_dropMembership (JNIEnv *env UNUSED, jint fd, cpnet_address *addr) +{ + struct ip_mreq req; + int ret; + + memset(&req, 0, sizeof(req)); + req.imr_multiaddr = ((struct sockaddr_in *)addr->data)->sin_addr; + req.imr_interface.s_addr = INADDR_ANY; + ret = setsockopt(fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, &req, sizeof(req)); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getAvailableBytes (JNIEnv *env UNUSED, jint fd, jint *availableBytes) +{ + int ret; + + ret = ioctl(fd, FIONREAD, availableBytes); + if (ret != 0) + return errno; + + return 0; +} + +jint cpnet_getHostname (JNIEnv *env UNUSED, char *hostname, jint hostname_len) +{ + int ret; + + ret = gethostname(hostname, hostname_len); + if (ret != 0) + return errno; + + hostname[hostname_len-1] = 0; + return 0; +} + +jint cpnet_getHostByName (JNIEnv *env, const char *hostname, cpnet_address ***addresses, jint *addresses_count) +{ + struct hostent hret; + struct hostent *result; + jint buflen = 1024; + int herr = 0; + int ret = 0; + int counter = 0; + cpnet_address **addr_arr; + int i; + char *buf; + + do + { + buf = (char *)JCL_malloc(env, buflen); +#ifdef HAVE_GETHOSTBYNAME_R + ret = gethostbyname_r (hostname, &hret, buf, buflen, &result, &herr); +#else + hret.h_addr_list = NULL; + hret.h_addrtype = 0; + + result = gethostbyname (hostname); + if (result == NULL) + return -errno; + memcpy (&hret, result, sizeof (struct hostent)); +#endif + if (ret != 0 || result == NULL) + { + if (herr == ERANGE) + { + buflen *= 2; + JCL_free(env, buf); + continue; + } + JCL_free(env, buf); + + return -herr; + } + + break; + } + while (1); + + while (hret.h_addr_list[counter] != NULL) + counter++; + + *addresses_count = counter; + addr_arr = *addresses = JCL_malloc(env, sizeof(cpnet_address *) * counter); + switch (hret.h_addrtype) + { + case AF_INET: + for (i = 0; i < counter; i++) + { + addr_arr[i] = cpnet_newIPV4Address(env); + cpnet_bytesToIPV4Address(addr_arr[i], (jbyte *)hret.h_addr_list[i]); + } + break; + case AF_INET6: + for (i = 0; i < counter; i++) + { + addr_arr[i] = cpnet_newIPV6Address(env); + cpnet_bytesToIPV6Address(addr_arr[i], (jbyte *)hret.h_addr_list[i]); + } + break; + default: + *addresses_count = 0; + JCL_free(env, addr_arr); + break; + } + + JCL_free(env, buf); + + return 0; +} + +jint cpnet_getHostByAddr (JNIEnv *env UNUSED, cpnet_address *addr, char *hostname, jint hostname_len) +{ + union + { + struct sockaddr_in *addr_v4; + struct sockaddr_in6 *addr_v6; + char *data; + } haddr; + void *raw_addr; + int addr_type; + struct hostent *ret; + int addr_len; + + haddr.data = addr->data; + + if (haddr.addr_v4->sin_family == AF_INET) + { + raw_addr = &haddr.addr_v4->sin_addr; + addr_len = sizeof(haddr.addr_v4->sin_addr); + addr_type = AF_INET; + } + else if (haddr.addr_v6->sin6_family == AF_INET6) + { + raw_addr = &haddr.addr_v6->sin6_addr; + addr_type = AF_INET6; + addr_len = sizeof(haddr.addr_v6->sin6_addr); + } + else + return EINVAL; + + /* Here we do not have any thread safe call. VM implementors will have to + * do a big lock. Or it should be put on the Classpath VM interface. + */ + ret = gethostbyaddr(raw_addr, addr_len, addr_type); + if (ret == NULL) + { + /* The trouble here is how to distinguish the two cases ? */ + if (h_errno != 0) + return h_errno; + else + return errno; + + } + strncpy(hostname, ret->h_name, hostname_len); + + return 0; +} + +jint cpnet_aton (JNIEnv *env, const char *hostname, cpnet_address **addr) +{ + jbyte *bytes = NULL; +#ifdef HAVE_INET_PTON + jbyte inet6_addr[16]; +#endif + +#ifdef HAVE_INET_ATON + struct in_addr laddr; + if (inet_aton (hostname, &laddr)) + { + bytes = (jbyte *) &laddr; + } +#elif defined(HAVE_INET_ADDR) +#if ! HAVE_IN_ADDR_T + typedef jint in_addr_t; +#endif + in_addr_t laddr = inet_addr (hostname); + if (laddr != (in_addr_t)(-1)) + { + bytes = (jbyte *) &laddr; + } +#endif + if (bytes) + { + *addr = cpnet_newIPV4Address(env); + cpnet_bytesToIPV4Address(*addr, bytes); + return 0; + } + +#ifdef HAVE_INET_PTON + if (inet_pton (AF_INET6, hostname, inet6_addr) > 0) + { + *addr = cpnet_newIPV6Address(env); + cpnet_bytesToIPV6Address(*addr, inet6_addr); + return 0; + } +#endif + + *addr = NULL; + return 0; +} + +void cpnet_freeAddresses(JNIEnv * env, cpnet_address **addr, jint addresses_count) +{ + jint i; + + for (i = 0; i < addresses_count; i++) + cpnet_freeAddress(env, addr[i]); +} diff --git a/libjava/classpath/native/jni/native-lib/cpnet.h b/libjava/classpath/native/jni/native-lib/cpnet.h new file mode 100644 index 00000000000..3705c76ecd5 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpnet.h @@ -0,0 +1,209 @@ +/* cpnet.h - + Copyright (C) 2003, 2004, 2005, 2006 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. */ + +#ifndef _CLASSPATH_NET_H_INCLUDED +#define _CLASSPATH_NET_H_INCLUDED + +#include +#include +#include + +#include +#include +#include + +typedef struct { + jint len; + char data[1]; +} cpnet_address; + +#define CPNET_SHUTDOWN_READ 1 +#define CPNET_SHUTDOWN_WRITE 2 + +JNIEXPORT jint cpnet_openSocketStream(JNIEnv *env, jint *fd, jint family); +JNIEXPORT jint cpnet_openSocketDatagram(JNIEnv *env, jint *fd, jint family); +JNIEXPORT jint cpnet_shutdown (JNIEnv *env, jint fd, jbyte flag); +JNIEXPORT jint cpnet_close(JNIEnv *env, jint fd); +JNIEXPORT jint cpnet_listen(JNIEnv *env, jint fd, jint queuelen); +JNIEXPORT jint cpnet_accept(JNIEnv *env, jint fd, jint *newfd); +JNIEXPORT jint cpnet_bind(JNIEnv *env, jint fd, cpnet_address *addr); +JNIEXPORT jint cpnet_connect(JNIEnv *env, jint fd, cpnet_address *addr); +JNIEXPORT jint cpnet_getLocalAddr(JNIEnv *env, jint fd, cpnet_address **addr); +JNIEXPORT jint cpnet_getRemoteAddr(JNIEnv *env, jint fd, cpnet_address **addr); +JNIEXPORT jint cpnet_setBroadcast(JNIEnv *env, jint fd, jint flag); +JNIEXPORT jint cpnet_send (JNIEnv *env, jint fd, jbyte *data, jint len, jint *bytes_sent); +JNIEXPORT jint cpnet_sendTo (JNIEnv *env, jint fd, jbyte *data, jint len, cpnet_address *addr, jint *bytes_sent); +JNIEXPORT jint cpnet_recv (JNIEnv *env, jint fd, jbyte *data, jint len, jint *bytes_recv); +JNIEXPORT jint cpnet_recvFrom (JNIEnv *env, jint fd, jbyte *data, jint len, cpnet_address **addr, jint *bytes_recv); +JNIEXPORT jint cpnet_setSocketTCPNoDelay (JNIEnv *env, jint fd, jint nodelay); +JNIEXPORT jint cpnet_getSocketTCPNoDelay (JNIEnv *env, jint fd, jint *nodelay); +JNIEXPORT jint cpnet_setLinger (JNIEnv *env, jint fd, jint flag, jint value); +JNIEXPORT jint cpnet_getLinger (JNIEnv *env, jint fd, jint *flag, jint *value); +JNIEXPORT jint cpnet_setSocketTimeout (JNIEnv *env, jint fd, jint value); +JNIEXPORT jint cpnet_getSocketTimeout (JNIEnv *env, jint fd, jint *value); +JNIEXPORT jint cpnet_setSendBuf (JNIEnv *env, jint fd, jint value); +JNIEXPORT jint cpnet_getSendBuf (JNIEnv *env, jint fd, jint *value); +JNIEXPORT jint cpnet_setRecvBuf (JNIEnv *env, jint fd, jint value); +JNIEXPORT jint cpnet_getRecvBuf (JNIEnv *env, jint fd, jint *value); +JNIEXPORT jint cpnet_setTTL (JNIEnv *env, jint fd, jint value); +JNIEXPORT jint cpnet_getTTL (JNIEnv *env, jint fd, jint *value); +JNIEXPORT jint cpnet_setMulticastIF (JNIEnv *env, jint fd, cpnet_address *addr); +JNIEXPORT jint cpnet_getMulticastIF (JNIEnv *env, jint fd, cpnet_address **addr); +JNIEXPORT jint cpnet_setReuseAddress (JNIEnv *env, jint fd, jint reuse); +JNIEXPORT jint cpnet_getReuseAddress (JNIEnv *env, jint fd, jint *reuse); +JNIEXPORT jint cpnet_setKeepAlive (JNIEnv *env, jint fd, jint keep); +JNIEXPORT jint cpnet_getKeepAlive (JNIEnv *env, jint fd, jint *keep); +JNIEXPORT jint cpnet_getBindAddress (JNIEnv *env, jint fd, cpnet_address **addr); +JNIEXPORT jint cpnet_addMembership (JNIEnv *env, jint fd, cpnet_address *addr); +JNIEXPORT jint cpnet_dropMembership (JNIEnv *env, jint fd, cpnet_address *addr); +JNIEXPORT jint cpnet_getAvailableBytes (JNIEnv *env, jint fd, jint *availableBytes); +JNIEXPORT jint cpnet_getHostname (JNIEnv *env, char *hostname, jint hostname_len); +JNIEXPORT jint cpnet_getHostByName (JNIEnv *env, const char *hostname, cpnet_address ***adresses, jint *addresses_count); +JNIEXPORT jint cpnet_getHostByAddr (JNIEnv *env, cpnet_address *addr, char *hostname, jint hostname_len); +JNIEXPORT jint cpnet_aton (JNIEnv *env, const char *hostname, cpnet_address **addr); +JNIEXPORT void cpnet_freeAddresses(JNIEnv * env, cpnet_address **addr, jint addresses_count); + +static inline cpnet_address *cpnet_newIPV4Address(JNIEnv * env) +{ + cpnet_address *addr = (cpnet_address *)JCL_malloc(env, sizeof(cpnet_address) + sizeof(struct sockaddr_in)); + struct sockaddr_in *netaddr = (struct sockaddr_in *)&(addr->data[0]); + + addr->len = sizeof(struct sockaddr_in); + memset(netaddr, 0, addr->len); + netaddr->sin_family = AF_INET; + return addr; +} + +static inline void cpnet_setIPV4Any(cpnet_address *addr) +{ + struct sockaddr_in *netaddr = (struct sockaddr_in *)&(addr->data[0]); + + netaddr->sin_addr.s_addr = INADDR_ANY; +} + +static inline cpnet_address *cpnet_newIPV6Address(JNIEnv * env) +{ + cpnet_address * addr = (cpnet_address *)JCL_malloc(env, sizeof(cpnet_address) + sizeof(struct sockaddr_in6)); + struct sockaddr_in6 *netaddr = (struct sockaddr_in6 *)&(addr->data[0]); + + addr->len = sizeof(struct sockaddr_in6); + memset(netaddr, 0, addr->len); + netaddr->sin6_family = AF_INET6; + + return addr; +} + +static inline void cpnet_freeAddress(JNIEnv * env, cpnet_address *addr) +{ + JCL_free(env, addr); +} + +static inline void cpnet_addressSetPort(cpnet_address *addr, jint port) +{ + struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(addr->data[0]); + + ipaddr->sin_port = htons(port); +} + +static inline jint cpnet_addressGetPort(cpnet_address *addr) +{ + struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(addr->data[0]); + + return ntohs(ipaddr->sin_port); +} + +static inline jboolean cpnet_isAddressEqual(cpnet_address *addr1, cpnet_address *addr2) +{ + if (addr1->len != addr2->len) + return JNI_FALSE; + + return memcmp(addr1->data, addr2->data, addr1->len) == 0; +} + +static inline jboolean cpnet_isIPV6Address(cpnet_address *addr) +{ + struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(addr->data[0]); + + return ipaddr->sin_family == AF_INET6; +} + +static inline jboolean cpnet_isIPV4Address(cpnet_address *addr) +{ + struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(addr->data[0]); + + return ipaddr->sin_family == AF_INET; +} + +static inline void cpnet_IPV4AddressToBytes(cpnet_address *netaddr, jbyte *octets) +{ + struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(netaddr->data[0]); + unsigned long sysaddr = ntohl(ipaddr->sin_addr.s_addr); + + octets[0] = ((sysaddr >> 24) & 0xff); + octets[1] = ((sysaddr >> 16) & 0xff); + octets[2] = ((sysaddr >> 8) & 0xff); + octets[3] = (sysaddr & 0xff); +} + +static inline void cpnet_bytesToIPV4Address(cpnet_address *netaddr, jbyte *octets) +{ + jint sysaddr; + struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(netaddr->data[0]); + + sysaddr = ((jint)(unsigned char)octets[0]) << 24; + sysaddr |= ((jint)(unsigned char)octets[1]) << 16; + sysaddr |= ((jint)(unsigned char)octets[2]) << 8; + sysaddr |= ((jint)(unsigned char)octets[3]); + + ipaddr->sin_addr.s_addr = htonl(sysaddr); +} + +static inline void cpnet_IPV6AddressToBytes(cpnet_address *netaddr, jbyte *octets) +{ + struct sockaddr_in6 *ipaddr = (struct sockaddr_in6 *)&(netaddr->data[0]); + + memcpy(octets, &ipaddr->sin6_addr, 16); +} + +static inline void cpnet_bytesToIPV6Address(cpnet_address *netaddr, jbyte *octets) +{ + struct sockaddr_in6 *ipaddr = (struct sockaddr_in6 *)&(netaddr->data[0]); + + memcpy(&ipaddr->sin6_addr, octets, 16); +} + +#endif diff --git a/libjava/classpath/native/jni/native-lib/cpproc.c b/libjava/classpath/native/jni/native-lib/cpproc.c new file mode 100644 index 00000000000..b6e9030b562 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpproc.c @@ -0,0 +1,136 @@ +/* cpproc.c - + Copyright (C) 2003, 2004, 2005, 2006 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. */ + +#include "config.h" +#include +#include "cpproc.h" +#include +#include +#include +#include +#include +#include + +static void close_all_fds(int *fds, int numFds) +{ + int i; + + for (i = 0; i < numFds; i++) + close(fds[i]); +} + +int cpproc_forkAndExec (char * const *commandLine, char * const * newEnviron, + int *fds, int pipe_count, pid_t *out_pid, const char *wd) +{ + int local_fds[6]; + int i; + pid_t pid; + + for (i = 0; i < (pipe_count * 2); i += 2) + { + if (pipe(&local_fds[i]) < 0) + { + int err = errno; + + close_all_fds(local_fds, i); + + return err; + } + } + + pid = fork(); + + switch (pid) + { + case 0: + dup2(local_fds[0], 0); + dup2(local_fds[3], 1); + if (pipe_count == 3) + dup2(local_fds[5], 2); + else + dup2(1, 2); + + close_all_fds(local_fds, pipe_count * 2); + + chdir(wd); + if (newEnviron == NULL) + execvp(commandLine[0], commandLine); + else + execve(commandLine[0], commandLine, newEnviron); + + abort(); + + break; + case -1: + { + int err = errno; + + close_all_fds(local_fds, pipe_count * 2); + return err; + } + default: + close(local_fds[0]); + close(local_fds[3]); + if (pipe_count == 3) + close(local_fds[5]); + + fds[0] = local_fds[1]; + fds[1] = local_fds[2]; + fds[2] = local_fds[4]; + *out_pid = pid; + return 0; + } +} + +int cpproc_waitpid (pid_t pid, int *status, pid_t *outpid, int options) +{ + pid_t wp = waitpid(pid, status, options); + + if (wp < 0) + return errno; + + *outpid = wp; + return 0; +} + +int cpproc_kill (pid_t pid, int signal) +{ + if (kill(pid, signal) < 0) + return errno; + + return 0; +} diff --git a/libjava/classpath/native/jni/native-lib/cpproc.h b/libjava/classpath/native/jni/native-lib/cpproc.h new file mode 100644 index 00000000000..5e8db5800a2 --- /dev/null +++ b/libjava/classpath/native/jni/native-lib/cpproc.h @@ -0,0 +1,52 @@ +/* cpproc.h - + Copyright (C) 2006 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. */ +#ifndef _CLASSPATH_PROC_H_INCLUDED +#define _CLASSPATH_PROC_H_INCLUDED + +#include + +#define CPIO_EXEC_STDIN 0 +#define CPIO_EXEC_STDOUT 1 +#define CPIO_EXEC_STDERR 2 +#define CPIO_EXEC_NUM_PIPES 3 + +JNIEXPORT int cpproc_forkAndExec (char * const *commandLine, char * const * newEnviron, + int *fds, int pipe_count, pid_t *pid, const char *wd); +JNIEXPORT int cpproc_waitpid (pid_t pid, int *status, pid_t *outpid, int options); +JNIEXPORT int cpproc_kill (pid_t pid, int signal); + +#endif diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.am b/libjava/classpath/native/jni/qt-peer/Makefile.am index b123ed36e6c..1728b6b530e 100644 --- a/libjava/classpath/native/jni/qt-peer/Makefile.am +++ b/libjava/classpath/native/jni/qt-peer/Makefile.am @@ -1,7 +1,8 @@ # Qt AWT backend for Classpath # -nativeexeclib_LTLIBRARIES = libqtpeer.la +## GCJ LOCAL: don't install this library +noinst_LTLIBRARIES = libqtpeer.la AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.in b/libjava/classpath/native/jni/qt-peer/Makefile.in index 6171542c7b7..c60ea1938a2 100644 --- a/libjava/classpath/native/jni/qt-peer/Makefile.in +++ b/libjava/classpath/native/jni/qt-peer/Makefile.in @@ -45,26 +45,20 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(nativeexeclibdir)" -nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(nativeexeclib_LTLIBRARIES) +LTLIBRARIES = $(noinst_LTLIBRARIES) libqtpeer_la_LIBADD = am_libqtpeer_la_OBJECTS = componentevent.lo keybindings.lo \ mainqtthread.lo mainthreadinterface.lo nativewrapper.lo \ @@ -209,6 +203,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -330,9 +326,8 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -nativeexeclib_LTLIBRARIES = libqtpeer.la +noinst_LTLIBRARIES = libqtpeer.la AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@ AM_CPPFLAGS = @CLASSPATH_INCLUDES@ AM_CXXFLAGS = @QT_CFLAGS@ @@ -435,35 +430,17 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-nativeexeclibLTLIBRARIES: $(nativeexeclib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(nativeexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(nativeexeclibdir)" - @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nativeexeclibdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nativeexeclibdir)/$$f"; \ - else :; fi; \ - done - -uninstall-nativeexeclibLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @set -x; list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(nativeexeclibdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(nativeexeclibdir)/$$p"; \ - done -clean-nativeexeclibLTLIBRARIES: - -test -z "$(nativeexeclib_LTLIBRARIES)" || rm -f $(nativeexeclib_LTLIBRARIES) - @list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \ +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libqtpeer.la: $(libqtpeer_la_OBJECTS) $(libqtpeer_la_DEPENDENCIES) - $(CXXLINK) -rpath $(nativeexeclibdir) $(libqtpeer_la_LDFLAGS) $(libqtpeer_la_OBJECTS) $(libqtpeer_la_LIBADD) $(LIBS) + $(CXXLINK) $(libqtpeer_la_LDFLAGS) $(libqtpeer_la_OBJECTS) $(libqtpeer_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -624,9 +601,6 @@ check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: - for dir in "$(DESTDIR)$(nativeexeclibdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am @@ -656,7 +630,7 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am -clean-am: clean-generic clean-libtool clean-nativeexeclibLTLIBRARIES \ +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am @@ -677,7 +651,7 @@ info-am: install-data-am: -install-exec-am: install-nativeexeclibLTLIBRARIES +install-exec-am: install-info: install-info-am @@ -703,20 +677,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am uninstall-nativeexeclibLTLIBRARIES +uninstall-am: uninstall-info-am .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am install-man \ - install-nativeexeclibLTLIBRARIES install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-nativeexeclibLTLIBRARIES + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-info-am slotcallbacks.moc.h: slotcallbacks.cpp diff --git a/libjava/classpath/native/jni/xmlj/.cvsignore b/libjava/classpath/native/jni/xmlj/.cvsignore new file mode 100644 index 00000000000..e9f2658a694 --- /dev/null +++ b/libjava/classpath/native/jni/xmlj/.cvsignore @@ -0,0 +1,8 @@ +*.o +*.a +*.lo +*.la +.libs +.deps +Makefile +Makefile.in diff --git a/libjava/classpath/native/jni/xmlj/Makefile.in b/libjava/classpath/native/jni/xmlj/Makefile.in index a43311b3a82..3f3a1613cc0 100644 --- a/libjava/classpath/native/jni/xmlj/Makefile.in +++ b/libjava/classpath/native/jni/xmlj/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -185,6 +187,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -306,7 +310,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libxmlj.la libxmlj_la_SOURCES = \ diff --git a/libjava/classpath/native/plugin/Makefile.am b/libjava/classpath/native/plugin/Makefile.am index 59c4cb3f388..db94bb411bc 100644 --- a/libjava/classpath/native/plugin/Makefile.am +++ b/libjava/classpath/native/plugin/Makefile.am @@ -3,7 +3,7 @@ nativeexeclib_LTLIBRARIES = libgcjwebplugin.la libgcjwebplugin_la_SOURCES = gcjwebplugin.cc libgcjwebplugin_la_CXXFLAGS = \ - -Wall -DAPPLETVIEWER_EXECUTABLE="\"$(bindir)/gappletviewer\"" \ + -Wall -DAPPLETVIEWER_EXECUTABLE="\"$(bindir)/`echo gappletviewer | sed '$(program_transform_name)'`\"" \ $(MOZILLA_CFLAGS) $(GLIB_CFLAGS) $(GTK_CFLAGS) libgcjwebplugin_la_LDFLAGS = -avoid-version \ diff --git a/libjava/classpath/native/plugin/Makefile.in b/libjava/classpath/native/plugin/Makefile.in index 4a17afd5b29..be48ed28aae 100644 --- a/libjava/classpath/native/plugin/Makefile.in +++ b/libjava/classpath/native/plugin/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -183,6 +185,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -304,12 +308,11 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ nativeexeclib_LTLIBRARIES = libgcjwebplugin.la libgcjwebplugin_la_SOURCES = gcjwebplugin.cc libgcjwebplugin_la_CXXFLAGS = \ - -Wall -DAPPLETVIEWER_EXECUTABLE="\"$(bindir)/gappletviewer\"" \ + -Wall -DAPPLETVIEWER_EXECUTABLE="\"$(bindir)/`echo gappletviewer | sed '$(program_transform_name)'`\"" \ $(MOZILLA_CFLAGS) $(GLIB_CFLAGS) $(GTK_CFLAGS) libgcjwebplugin_la_LDFLAGS = -avoid-version \ diff --git a/libjava/classpath/native/plugin/gcjwebplugin.cc b/libjava/classpath/native/plugin/gcjwebplugin.cc index 1202c4719aa..bb2bfa22343 100644 --- a/libjava/classpath/native/plugin/gcjwebplugin.cc +++ b/libjava/classpath/native/plugin/gcjwebplugin.cc @@ -283,10 +283,6 @@ GCJ_New (NPMIMEType pluginType, NPP instance, uint16 mode, goto cleanup_done; } - // Initialize threads (needed for mutexes). - if (!g_thread_supported ()) - g_thread_init (NULL); - // data plugin_data_new (&data); if (data == NULL) @@ -1686,6 +1682,11 @@ NP_Initialize (NPNetscapeFuncs* browserTable, NPPluginFuncs* pluginTable) pluginTable->getvalue = NewNPP_GetValueProc (GCJ_GetValue); initialized = true; + + // Initialize threads (needed for mutexes). + if (!g_thread_supported ()) + g_thread_init (NULL); + plugin_instance_mutex = g_mutex_new (); PLUGIN_DEBUG ("NP_Initialize: using " APPLETVIEWER_EXECUTABLE "."); diff --git a/libjava/classpath/native/target/Linux/Makefile.am b/libjava/classpath/native/target/Linux/Makefile.am deleted file mode 100644 index bd267dc7f91..00000000000 --- a/libjava/classpath/native/target/Linux/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -## Input file for automake to generate the Makefile.in used by configure - -EXTRA_DIST = \ -target_native_io.h \ -target_native_misc.h \ -target_native.h \ -target_native_math_float.h \ -target_native_network.h \ -target_native_file.h \ -target_native_math_int.h diff --git a/libjava/classpath/native/target/Linux/Makefile.in b/libjava/classpath/native/target/Linux/Makefile.in deleted file mode 100644 index fad05c8e9d3..00000000000 --- a/libjava/classpath/native/target/Linux/Makefile.in +++ /dev/null @@ -1,454 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = native/target/Linux -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ - $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ - $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ -BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@ -CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@ -CLASSPATH_MODULE = @CLASSPATH_MODULE@ -COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@ -CP = @CP@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@ -CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@ -CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@ -CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@ -CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@ -CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@ -CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@ -CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@ -CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@ -CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@ -CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@ -CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@ -CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@ -CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@ -CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@ -CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@ -CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@ -CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@ -CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@ -CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@ -CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@ -CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@ -CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@ -CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@ -CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@ -CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATE = @DATE@ -DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ECJ = @ECJ@ -EGREP = @EGREP@ -ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ -ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@ -ERROR_CFLAGS = @ERROR_CFLAGS@ -EXAMPLESDIR = @EXAMPLESDIR@ -EXEEXT = @EXEEXT@ -FASTJAR = @FASTJAR@ -FIND = @FIND@ -FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ -FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ -FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ -FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ -FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ -FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ -FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ -FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ -FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ -FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ -FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ -FREETYPE2_LIBS = @FREETYPE2_LIBS@ -GCJ = @GCJ@ -GCJX = @GCJX@ -GCONF_CFLAGS = @GCONF_CFLAGS@ -GCONF_LIBS = @GCONF_LIBS@ -GDK_CFLAGS = @GDK_CFLAGS@ -GDK_LIBS = @GDK_LIBS@ -GJDOC = @GJDOC@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_LIBS = @GLIB_LIBS@ -GTK_CFLAGS = @GTK_CFLAGS@ -GTK_LIBS = @GTK_LIBS@ -INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ -INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@ -INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@ -INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ -JAY = @JAY@ -JAY_SKELETON = @JAY_SKELETON@ -JIKES = @JIKES@ -JIKESENCODING = @JIKESENCODING@ -JIKESWARNINGS = @JIKESWARNINGS@ -KJC = @KJC@ -LDFLAGS = @LDFLAGS@ -LIBDEBUG = @LIBDEBUG@ -LIBICONV = @LIBICONV@ -LIBMAGIC = @LIBMAGIC@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBVERSION = @LIBVERSION@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MKDIR = @MKDIR@ -MOC = @MOC@ -MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ -MOZILLA_LIBS = @MOZILLA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ -PANGOFT2_LIBS = @PANGOFT2_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PATH_TO_ESCHER = @PATH_TO_ESCHER@ -PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PLUGIN_DIR = @PLUGIN_DIR@ -QT_CFLAGS = @QT_CFLAGS@ -QT_LIBS = @QT_LIBS@ -RANLIB = @RANLIB@ -REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ -REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ -REMOVE = @REMOVE@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ -STRIP = @STRIP@ -USER_CLASSLIB = @USER_CLASSLIB@ -USER_JAVAH = @USER_JAVAH@ -USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ -USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ -USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@ -USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@ -USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ -USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ -USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ -USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@ -VERSION = @VERSION@ -VM_BINARY = @VM_BINARY@ -WARNING_CFLAGS = @WARNING_CFLAGS@ -XML_CFLAGS = @XML_CFLAGS@ -XML_LIBS = @XML_LIBS@ -XSLT_CFLAGS = @XSLT_CFLAGS@ -XSLT_LIBS = @XSLT_LIBS@ -XTEST_LIBS = @XTEST_LIBS@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -ZIP = @ZIP@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -default_toolkit = @default_toolkit@ -exec_prefix = @exec_prefix@ -glibjdir = @glibjdir@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -nativeexeclibdir = @nativeexeclibdir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ -vm_classes = @vm_classes@ -EXTRA_DIST = \ -target_native_io.h \ -target_native_misc.h \ -target_native.h \ -target_native_math_float.h \ -target_native_network.h \ -target_native_file.h \ -target_native_math_int.h - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/target/Linux/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu native/target/Linux/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libjava/classpath/native/target/Linux/target_native.h b/libjava/classpath/native/target/Linux/target_native.h deleted file mode 100644 index 4e1d5136d55..00000000000 --- a/libjava/classpath/native/target/Linux/target_native.h +++ /dev/null @@ -1,79 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target global defintions -Systems : all -*/ - -#ifndef __TARGET_NATIVE__ -#define __TARGET_NATIVE__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic.h" - -#endif /* __TARGET_NATIVE__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/Linux/target_native_file.h b/libjava/classpath/native/target/Linux/target_native_file.h deleted file mode 100644 index 0c40b4471b6..00000000000 --- a/libjava/classpath/native/target/Linux/target_native_file.h +++ /dev/null @@ -1,79 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target defintions of file functions -Systems : all -*/ - -#ifndef __TARGET_NATIVE_FILE__ -#define __TARGET_NATIVE_FILE__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic_file.h" - -#endif /* __TARGET_NATIVE_FILE__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/Linux/target_native_io.h b/libjava/classpath/native/target/Linux/target_native_io.h deleted file mode 100644 index 03f43adf579..00000000000 --- a/libjava/classpath/native/target/Linux/target_native_io.h +++ /dev/null @@ -1,78 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target defintions of miscellaneous functions -Systems : all -*/ - -#ifndef __TARGET_NATIVE_IO__ -#define __TARGET_NATIVE_IO__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic_io.h" - -#endif /* __TARGET_NATIVE_MISC__ */ - -/* end of file */ diff --git a/libjava/classpath/native/target/Linux/target_native_math_float.h b/libjava/classpath/native/target/Linux/target_native_math_float.h deleted file mode 100644 index 0f3455d2ae9..00000000000 --- a/libjava/classpath/native/target/Linux/target_native_math_float.h +++ /dev/null @@ -1,80 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target defintions of float/double constants/ - macros/functions -Systems : all -*/ - -#ifndef __TARGET_NATIVE_MATH_FLOAT__ -#define __TARGET_NATIVE_MATH_FLOAT__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic_math_float.h" - -#endif /* __TARGET_NATIVE_MATH_FLOAT__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/Linux/target_native_math_int.h b/libjava/classpath/native/target/Linux/target_native_math_int.h deleted file mode 100644 index 4c5fc671d05..00000000000 --- a/libjava/classpath/native/target/Linux/target_native_math_int.h +++ /dev/null @@ -1,80 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target defintions of int/int64 constants/ - macros/functions -Systems : all -*/ - -#ifndef __TARGET_NATIVE_MATH_INT__ -#define __TARGET_NATIVE_MATH_INT__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic_math_int.h" - -#endif /* __TARGET_NATIVE_MATH_INT__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/Linux/target_native_misc.h b/libjava/classpath/native/target/Linux/target_native_misc.h deleted file mode 100644 index 00bc7ac8da8..00000000000 --- a/libjava/classpath/native/target/Linux/target_native_misc.h +++ /dev/null @@ -1,79 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target defintions of miscellaneous functions -Systems : all -*/ - -#ifndef __TARGET_NATIVE_MISC__ -#define __TARGET_NATIVE_MISC__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic_misc.h" - -#endif /* __TARGET_NATIVE_MISC__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/Linux/target_native_network.h b/libjava/classpath/native/target/Linux/target_native_network.h deleted file mode 100644 index 23f9d0a6286..00000000000 --- a/libjava/classpath/native/target/Linux/target_native_network.h +++ /dev/null @@ -1,79 +0,0 @@ -/* ???.h - ??? - Copyright (C) 1998 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. */ - -/* -Description: Linux target defintions of network functions -Systems : all -*/ - -#ifndef __TARGET_NATIVE_NETWORK__ -#define __TARGET_NATIVE_NETWORK__ - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -/* include rest of definitions from generic file (do not move it to - another position!) */ -#include "target_generic_network.h" - -#endif /* __TARGET_NATIVE_NETWORK__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/Makefile.am b/libjava/classpath/native/target/Makefile.am deleted file mode 100644 index ba0ad791919..00000000000 --- a/libjava/classpath/native/target/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -## Input file for automake to generate the Makefile.in used by configure - -SUBDIRS = Linux generic - -EXTRA_DIST = readme.txt diff --git a/libjava/classpath/native/target/Makefile.in b/libjava/classpath/native/target/Makefile.in deleted file mode 100644 index a69acdc1cda..00000000000 --- a/libjava/classpath/native/target/Makefile.in +++ /dev/null @@ -1,604 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = native/target -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ - $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ - $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ -BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@ -CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@ -CLASSPATH_MODULE = @CLASSPATH_MODULE@ -COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@ -CP = @CP@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@ -CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@ -CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@ -CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@ -CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@ -CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@ -CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@ -CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@ -CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@ -CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@ -CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@ -CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@ -CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@ -CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@ -CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@ -CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@ -CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@ -CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@ -CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@ -CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@ -CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@ -CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@ -CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@ -CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@ -CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@ -CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATE = @DATE@ -DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ECJ = @ECJ@ -EGREP = @EGREP@ -ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ -ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@ -ERROR_CFLAGS = @ERROR_CFLAGS@ -EXAMPLESDIR = @EXAMPLESDIR@ -EXEEXT = @EXEEXT@ -FASTJAR = @FASTJAR@ -FIND = @FIND@ -FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ -FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ -FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ -FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ -FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ -FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ -FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ -FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ -FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ -FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ -FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ -FREETYPE2_LIBS = @FREETYPE2_LIBS@ -GCJ = @GCJ@ -GCJX = @GCJX@ -GCONF_CFLAGS = @GCONF_CFLAGS@ -GCONF_LIBS = @GCONF_LIBS@ -GDK_CFLAGS = @GDK_CFLAGS@ -GDK_LIBS = @GDK_LIBS@ -GJDOC = @GJDOC@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_LIBS = @GLIB_LIBS@ -GTK_CFLAGS = @GTK_CFLAGS@ -GTK_LIBS = @GTK_LIBS@ -INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ -INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@ -INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@ -INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ -JAY = @JAY@ -JAY_SKELETON = @JAY_SKELETON@ -JIKES = @JIKES@ -JIKESENCODING = @JIKESENCODING@ -JIKESWARNINGS = @JIKESWARNINGS@ -KJC = @KJC@ -LDFLAGS = @LDFLAGS@ -LIBDEBUG = @LIBDEBUG@ -LIBICONV = @LIBICONV@ -LIBMAGIC = @LIBMAGIC@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBVERSION = @LIBVERSION@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MKDIR = @MKDIR@ -MOC = @MOC@ -MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ -MOZILLA_LIBS = @MOZILLA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ -PANGOFT2_LIBS = @PANGOFT2_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PATH_TO_ESCHER = @PATH_TO_ESCHER@ -PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PLUGIN_DIR = @PLUGIN_DIR@ -QT_CFLAGS = @QT_CFLAGS@ -QT_LIBS = @QT_LIBS@ -RANLIB = @RANLIB@ -REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ -REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ -REMOVE = @REMOVE@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ -STRIP = @STRIP@ -USER_CLASSLIB = @USER_CLASSLIB@ -USER_JAVAH = @USER_JAVAH@ -USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ -USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ -USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@ -USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@ -USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ -USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ -USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ -USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@ -VERSION = @VERSION@ -VM_BINARY = @VM_BINARY@ -WARNING_CFLAGS = @WARNING_CFLAGS@ -XML_CFLAGS = @XML_CFLAGS@ -XML_LIBS = @XML_LIBS@ -XSLT_CFLAGS = @XSLT_CFLAGS@ -XSLT_LIBS = @XSLT_LIBS@ -XTEST_LIBS = @XTEST_LIBS@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -ZIP = @ZIP@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -default_toolkit = @default_toolkit@ -exec_prefix = @exec_prefix@ -glibjdir = @glibjdir@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -nativeexeclibdir = @nativeexeclibdir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ -vm_classes = @vm_classes@ -SUBDIRS = Linux generic -EXTRA_DIST = readme.txt -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/target/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu native/target/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libjava/classpath/native/target/generic/Makefile.am b/libjava/classpath/native/target/generic/Makefile.am deleted file mode 100644 index bc8413c3a75..00000000000 --- a/libjava/classpath/native/target/generic/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -## Input file for automake to generate the Makefile.in used by configure - -EXTRA_DIST = \ -target_generic_io.h \ -target_generic_misc.h \ -target_generic.h \ -target_generic_math_float.h \ -target_generic_network.h \ -target_generic_file.h \ -target_generic_math_int.h diff --git a/libjava/classpath/native/target/generic/Makefile.in b/libjava/classpath/native/target/generic/Makefile.in deleted file mode 100644 index 1acabd209a3..00000000000 --- a/libjava/classpath/native/target/generic/Makefile.in +++ /dev/null @@ -1,454 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = native/target/generic -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ - $(top_srcdir)/../../config/lead-dot.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ - $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ -BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@ -CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@ -CLASSPATH_MODULE = @CLASSPATH_MODULE@ -COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@ -CP = @CP@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@ -CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@ -CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@ -CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@ -CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@ -CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@ -CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@ -CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@ -CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@ -CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@ -CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@ -CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@ -CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@ -CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@ -CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@ -CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@ -CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@ -CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@ -CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@ -CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@ -CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@ -CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@ -CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@ -CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@ -CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@ -CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATE = @DATE@ -DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ECJ = @ECJ@ -EGREP = @EGREP@ -ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ -ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@ -ERROR_CFLAGS = @ERROR_CFLAGS@ -EXAMPLESDIR = @EXAMPLESDIR@ -EXEEXT = @EXEEXT@ -FASTJAR = @FASTJAR@ -FIND = @FIND@ -FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ -FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ -FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ -FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ -FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ -FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ -FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ -FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ -FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ -FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ -FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ -FREETYPE2_LIBS = @FREETYPE2_LIBS@ -GCJ = @GCJ@ -GCJX = @GCJX@ -GCONF_CFLAGS = @GCONF_CFLAGS@ -GCONF_LIBS = @GCONF_LIBS@ -GDK_CFLAGS = @GDK_CFLAGS@ -GDK_LIBS = @GDK_LIBS@ -GJDOC = @GJDOC@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_LIBS = @GLIB_LIBS@ -GTK_CFLAGS = @GTK_CFLAGS@ -GTK_LIBS = @GTK_LIBS@ -INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ -INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@ -INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@ -INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ -JAY = @JAY@ -JAY_SKELETON = @JAY_SKELETON@ -JIKES = @JIKES@ -JIKESENCODING = @JIKESENCODING@ -JIKESWARNINGS = @JIKESWARNINGS@ -KJC = @KJC@ -LDFLAGS = @LDFLAGS@ -LIBDEBUG = @LIBDEBUG@ -LIBICONV = @LIBICONV@ -LIBMAGIC = @LIBMAGIC@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBVERSION = @LIBVERSION@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MKDIR = @MKDIR@ -MOC = @MOC@ -MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ -MOZILLA_LIBS = @MOZILLA_LIBS@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ -PANGOFT2_LIBS = @PANGOFT2_LIBS@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PATH_TO_ESCHER = @PATH_TO_ESCHER@ -PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PLUGIN_DIR = @PLUGIN_DIR@ -QT_CFLAGS = @QT_CFLAGS@ -QT_LIBS = @QT_LIBS@ -RANLIB = @RANLIB@ -REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ -REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ -REMOVE = @REMOVE@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ -STRIP = @STRIP@ -USER_CLASSLIB = @USER_CLASSLIB@ -USER_JAVAH = @USER_JAVAH@ -USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ -USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ -USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@ -USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@ -USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ -USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ -USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ -USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@ -VERSION = @VERSION@ -VM_BINARY = @VM_BINARY@ -WARNING_CFLAGS = @WARNING_CFLAGS@ -XML_CFLAGS = @XML_CFLAGS@ -XML_LIBS = @XML_LIBS@ -XSLT_CFLAGS = @XSLT_CFLAGS@ -XSLT_LIBS = @XSLT_LIBS@ -XTEST_LIBS = @XTEST_LIBS@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -ZIP = @ZIP@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -default_toolkit = @default_toolkit@ -exec_prefix = @exec_prefix@ -glibjdir = @glibjdir@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -nativeexeclibdir = @nativeexeclibdir@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ -vm_classes = @vm_classes@ -EXTRA_DIST = \ -target_generic_io.h \ -target_generic_misc.h \ -target_generic.h \ -target_generic_math_float.h \ -target_generic_network.h \ -target_generic_file.h \ -target_generic_math_int.h - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/target/generic/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu native/target/generic/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libjava/classpath/native/target/generic/target_generic.h b/libjava/classpath/native/target/generic/target_generic.h deleted file mode 100644 index c2264330d28..00000000000 --- a/libjava/classpath/native/target/generic/target_generic.h +++ /dev/null @@ -1,171 +0,0 @@ -/* generic_math_int64.h - Native methods for 64bit math operations - Copyright (C) 1998 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. */ - -/* -Description: generic target global defintions -Systems : all -*/ - -#ifndef __TARGET_GENERIC__ -#define __TARGET_GENERIC__ - -/* check if target_native_network.h included */ -#ifndef __TARGET_NATIVE__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ -#define TARGET_NATIVE_OK 1 -#define TARGET_NATIVE_ERROR 0 - -#ifndef TARGET_NATIVE_ERROR_PERMISION_DENIED - #define TARGET_NATIVE_ERROR_PERMISION_DENIED EACCES -#endif -#ifndef TARGET_NATIVE_ERROR_BAD_FILE_DESCRIPTOR - #define TARGET_NATIVE_ERROR_BAD_FILE_DESCRIPTOR EBADF -#endif -#ifndef TARGET_NATIVE_ERROR_FILE_EXISTS - #define TARGET_NATIVE_ERROR_FILE_EXISTS EEXIST -#endif -#ifndef TARGET_NATIVE_ERROR_INPUT_OUTPUT - #define TARGET_NATIVE_ERROR_INPUT_OUTPUT EIO -#endif -#ifndef TARGET_NATIVE_ERROR_TOO_MANY_OPEN_FILES - #define TARGET_NATIVE_ERROR_TOO_MANY_OPEN_FILES EMFILE -#endif -#ifndef TARGET_NATIVE_ERROR_FILENAME_TO_LONG - #define TARGET_NATIVE_ERROR_FILENAME_TO_LONG ENAMETOOLONG -#endif -#ifndef TARGET_NATIVE_ERROR_NO_SUCH_DEVICE - #define TARGET_NATIVE_ERROR_NO_SUCH_DEVICE ENODEV -#endif -#ifndef TARGET_NATIVE_ERROR_NO_SUCH_FILE - #define TARGET_NATIVE_ERROR_NO_SUCH_FILE ENOENT -#endif -#ifndef TARGET_NATIVE_ERROR_NO_SPACE_LEFT - #define TARGET_NATIVE_ERROR_NO_SPACE_LEFT ENOSPC -#endif -#ifndef TARGET_NATIVE_ERROR_DIRECTORY_NOT_EMPTY - #define TARGET_NATIVE_ERROR_DIRECTORY_NOT_EMPTY ENOTEMPTY -#endif -#ifndef TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED - #define TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED EPERM -#endif -#ifndef TARGET_NATIVE_ERROR_READ_ONLY_FILE_SYSTEM - #define TARGET_NATIVE_ERROR_READ_ONLY_FILE_SYSTEM EROFS -#endif -#ifndef TARGET_NATIVE_ERROR_INVALID_SEEK - #define TARGET_NATIVE_ERROR_INVALID_SEEK ESPIPE -#endif -#ifndef TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL - #define TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL EINTR -#endif - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***********************************************************************\ -* Name : TARGET_NATIVE_LAST_ERROR -* Purpose : return last error code -* Input : - -* Output : - -* Return : error code -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_LAST_ERROR - #include - #define TARGET_NATIVE_LAST_ERROR() \ - errno -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_LAST_ERROR_STRING -* Purpose : return last error string -* Input : - -* Output : - -* Return : error string (read only!) -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_LAST_ERROR_STRING - #include - #include - #define TARGET_NATIVE_LAST_ERROR_STRING() \ - strerror(errno) -#endif - -#ifndef TARGET_NATIVE_LAST_ERROR_STRING_FORMAT - #include - #include - #define TARGET_NATIVE_LAST_ERROR_STRING_FORMAT(buffer,bufferSize,format) \ - do { \ - sprintf(buffer, "%s", format); \ - strcat(" (error: "); \ - strcat(strerror(errno)); \ - strcat(")"); \ - } while (0) -#endif - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/generic/target_generic_file.h b/libjava/classpath/native/target/generic/target_generic_file.h deleted file mode 100644 index cd90e733ced..00000000000 --- a/libjava/classpath/native/target/generic/target_generic_file.h +++ /dev/null @@ -1,844 +0,0 @@ -/* target_generic_file - Native methods for file operations - Copyright (C) 1998, 2004 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. */ - -/* -Description: generic target defintions of file functions -Systems : all -*/ - -#ifndef __TARGET_GENERIC_FILE__ -#define __TARGET_GENERIC_FILE__ - -#ifdef __cplusplus -extern "C" { -#endif - -/* check if target_native_file.h included */ -#ifndef __TARGET_NATIVE_FILE__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include -#include -#include - -#include "target_native.h" -#include "target_native_math_int.h" - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ -#ifndef TARGET_NATIVE_FILE_FILEFLAG_NONE - #define TARGET_NATIVE_FILE_FILEFLAG_NONE 0 -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_CREATE - #define TARGET_NATIVE_FILE_FILEFLAG_CREATE O_CREAT -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE - #define TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE (O_CREAT|O_EXCL) -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_READ - #define TARGET_NATIVE_FILE_FILEFLAG_READ O_RDONLY -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_WRITE - #define TARGET_NATIVE_FILE_FILEFLAG_WRITE O_WRONLY -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_READWRITE - #define TARGET_NATIVE_FILE_FILEFLAG_READWRITE O_RDWR -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE - #define TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE O_TRUNC -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_APPEND - #define TARGET_NATIVE_FILE_FILEFLAG_APPEND O_APPEND -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_SYNC - #if !defined (O_SYNC) && defined (O_FSYNC) - #define TARGET_NATIVE_FILE_FILEFLAG_SYNC O_FSYNC - #else - #define TARGET_NATIVE_FILE_FILEFLAG_SYNC O_SYNC - #endif -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_DSYNC - #ifdef O_DSYNC - #define TARGET_NATIVE_FILE_FILEFLAG_DSYNC 0 - #else - #define TARGET_NATIVE_FILE_FILEFLAG_DSYNC TARGET_NATIVE_FILE_FILEFLAG_SYNC - #endif -#endif -#ifndef TARGET_NATIVE_FILE_FILEFLAG_BINARY - #define TARGET_NATIVE_FILE_FILEFLAG_BINARY O_BINARY -#endif - -#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL - #define TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) -#endif - -#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_PRIVATE - #define TARGET_NATIVE_FILE_FILEPERMISSION_PRIVATE (S_IRUSR | S_IWUSR) -#endif - -#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_READONLY - #define TARGET_NATIVE_FILE_FILEPERMISSION_READONLY (~(S_IWRITE|S_IWGRP|S_IWOTH)) -#endif - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN -* Purpose : open a file -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : file is created if it does not exist -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN - #include - #include - #include - #define TARGET_NATIVE_FILE_OPEN(filename,filedescriptor,flags,permissions,result) \ - do { \ - filedescriptor=open(filename, \ - flags, \ - permissions \ - ); \ - if (filedescriptor >= 0) \ - fcntl (filedescriptor,F_SETFD,FD_CLOEXEC); \ - result=(filedescriptor>=0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN_CREATE -* Purpose : create a file -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : file is created if it does not exist -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN_CREATE - #define TARGET_NATIVE_FILE_OPEN_CREATE(filename,filedescriptor,result) \ - TARGET_NATIVE_FILE_OPEN(filename,\ - filedescriptor,\ - TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE, \ - TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \ - result \ - ) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN_READ -* Purpose : open an existing file for reading -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN_READ - #define TARGET_NATIVE_FILE_OPEN_READ(filename,filedescriptor,result) \ - TARGET_NATIVE_FILE_OPEN(filename, \ - filedescriptor,\ - TARGET_NATIVE_FILE_FILEFLAG_READ, \ - TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \ - result \ - ) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN_WRITE -* Purpose : open an existing file for writing -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN_WRITE - #define TARGET_NATIVE_FILE_OPEN_WRITE(filename,filedescriptor,result) \ - TARGET_NATIVE_FILE_OPEN(filename, \ - filedescriptor, \ - TARGET_NATIVE_FILE_FILEFLAG_WRITE, \ - TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \ - result \ - ) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN_READWRITE -* Purpose : create/open a file for reading/writing -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : file is created if it does not exist -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN_READWRITE - #define TARGET_NATIVE_FILE_OPEN_READWRITE(filename,filedescriptor,result) \ - TARGET_NATIVE_FILE_OPEN(filename, \ - filedescriptor, \ - TARGET_NATIVE_FILE_FILEFLAG_READWRITE, \ - TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \ - result \ - ) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN_READWRITE -* Purpose : create/open a file for append -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : file is created if it does not exist -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN_APPEND - #define TARGET_NATIVE_FILE_OPEN_APPEND(filename,filedescriptor,result) \ - TARGET_NATIVE_FILE_OPEN_APPEND(filename, \ - filedescriptor, \ - TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE|TARGET_NATIVE_FILE_FILEFLAG_APPEND, \ - TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \ - result \ - ) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_CLOSE -* Purpose : close a file -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_CLOSE - #include - #define TARGET_NATIVE_FILE_CLOSE(filedescriptor,result) \ - do { \ - result=(close(filedescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR -* Purpose : check if file-descriptor is valid -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR - #if defined(HAVE_FCNTL) - #include - #include - #define TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR(filedescriptor,result) \ - do { \ - result=(fcntl(filedescriptor,F_GETFL,0)!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while(0) - #elif defined(HAVE_FSTAT) - #include - #include - #include - #define TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR(filedescriptor,result) \ - do { \ - struct stat __stat; \ - \ - result=(fstat(filedescriptor,&__stat)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while(0) - #else - #error fcntl() nor fstat() available for checking if file descriptor is valid - #endif -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_TELL -* Purpose : get current file position -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_TELL - #include - #include - #define TARGET_NATIVE_FILE_TELL(filedescriptor,offset,result) \ - do { \ - offset=lseek(filedescriptor,TARGET_NATIVE_MATH_INT_INT64_CONST_0,SEEK_CUR); \ - result=((offset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_SEEK_BEGIN|CURRENT|END -* Purpose : set file position relativ to begin/current/end -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_SEEK_BEGIN - #include - #include - #define TARGET_NATIVE_FILE_SEEK_BEGIN(filedescriptor,offset,newoffset,result) \ - do { \ - newoffset=lseek(filedescriptor,offset,SEEK_SET); \ - result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif -#ifndef TARGET_NATIVE_FILE_SEEK_CURRENT - #include - #include - #define TARGET_NATIVE_FILE_SEEK_CURRENT(filedescriptor,offset,newoffset,result) \ - do { \ - newoffset=lseek(filedescriptor,offset,SEEK_CUR); \ - result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif -#ifndef TARGET_NATIVE_FILE_SEEK_END - #include - #include - #define TARGET_NATIVE_FILE_SEEK_END(filedescriptor,offset,newoffset,result) \ - do { \ - newoffset=lseek(filedescriptor,offset,SEEK_END); \ - result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_TRUNCATE -* Purpose : truncate a file -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_TRUNCATE - #include - #define TARGET_NATIVE_FILE_TRUNCATE(filedescriptor,offset,result) \ - do { \ - result=(ftruncate(filedescriptor,offset)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_SIZE -* Purpose : get size of file (in bytes) -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_SIZE - #include - #include - #include - #define TARGET_NATIVE_FILE_SIZE(filedescriptor,length,result) \ - do { \ - struct stat __statBuffer; \ - \ - result=(fstat(filedescriptor,&__statBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_size); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_AVAILABLE -* Purpose : get available bytes for read -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_AVAILABLE - #ifdef HAVE_SYS_IOCTL_H - #define BSD_COMP /* Get FIONREAD on Solaris2 */ - #include - #endif - #ifdef HAVE_SYS_FILIO_H /* Get FIONREAD on Solaris 2.5 */ - #include - #endif - #if defined (FIONREAD) - #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \ - do { \ - ssize_t __n; \ - \ - result=(ioctl(filedescriptor,FIONREAD,(char*)&__n)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__n); \ - } while (0) - #elif defined(HAVE_FSTAT) - #include - #include - #include - #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \ - do { \ - struct stat __statBuffer; \ - off_t __n; \ - \ - length=0; \ - \ - if ((fstat(filedescriptor,&__statBuffer)==0) && S_ISREG(__statBuffer.st_mode)) \ - { \ - __n=(lseek(filedescriptor,0,SEEK_CUR)); \ - if (__n!=-1) \ - { \ - length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_size-__n); \ - result=TARGET_NATIVE_OK; \ - } \ - else \ - { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } \ - else \ - { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) - #elif defined(HAVE_SELECT) - #include - #include - #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \ - do { \ - fd_set __filedescriptset; \ - struct timeval __timeval; \ - \ - length=0; \ - \ - FD_ZERO(&__filedescriptset); \ - FD_SET(filedescriptor,&__filedescriptset); \ - memset(&__timeval,0,sizeof(__timeval)); \ - switch (select(filedescriptor+1,&__filedescriptset,NULL,NULL,&__timeval)==0) \ - { \ - case -1: result=TARGET_NATIVE_ERROR; break; \ - case 0: length=JNI_JLONG_CONST_0; result=TARGET_NATIVE_OK; break; \ - default: length=JNI_JLONG_CONST_1; result=TARGET_NATIVE_OK; break; \ - } \ - } while (0) - #else - #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \ - do { \ - errno=TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED; \ - length=0; \ - result=TARGET_NATIVE_ERROR; \ - } while (0) - #endif -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_READ|WRITE -* Purpose : read/write from/to frile -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_READ - #include - #define TARGET_NATIVE_FILE_READ(filedescriptor,buffer,length,bytesRead,result) \ - do { \ - bytesRead=read(filedescriptor,buffer,length); \ - result=(bytesRead!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif -#ifndef TARGET_NATIVE_FILE_WRITE - #include - #define TARGET_NATIVE_FILE_WRITE(filedescriptor,buffer,length,bytesWritten,result) \ - do { \ - bytesWritten=write(filedescriptor,buffer,length); \ - result=(bytesWritten!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_SET_MODE_READONLY -* Purpose : set file mode to read-only -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_SET_MODE_READONLY - #include - #include - #include - #define TARGET_NATIVE_FILE_SET_MODE_READONLY(filename,result) \ - do { \ - struct stat __statBuffer; \ - \ - if (stat(filename,&__statBuffer)==0) { \ - result=(chmod(filename,__statBuffer.st_mode & TARGET_NATIVE_FILE_FILEPERMISSION_READONLY)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } else { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_EXISTS -* Purpose : check if file exists -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_EXISTS - #include - #include - #include - #define TARGET_NATIVE_FILE_EXISTS(filename,result) \ - do { \ - struct stat __statBuffer; \ - \ - result=(stat(filename,&__statBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_IS_FILE -* Purpose : check if directory entry is a file -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_IS_FILE - #include - #include - #include - #define TARGET_NATIVE_FILE_IS_FILE(filename,result) \ - do { \ - struct stat __statBuffer; \ - \ - result=((stat(filename,&__statBuffer)==0) && (S_ISREG(__statBuffer.st_mode)))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_IS_DIRECTORY -* Purpose : check if directory entry is a directory -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_IS_DIRECTORY - #include - #include - #include - #define TARGET_NATIVE_FILE_IS_DIRECTORY(filename,result) \ - do { \ - struct stat __statBuffer; \ - \ - result=((stat(filename,&__statBuffer)==0) && (S_ISDIR(__statBuffer.st_mode)))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_GET_LAST_MODIFIED -* Purpose : get last modification time of file (milliseconds) -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_GET_LAST_MODIFIED - #include - #include - #include - #define TARGET_NATIVE_FILE_GET_LAST_MODIFIED(filename,time,result) \ - do { \ - struct stat __statBuffer; \ - \ - time=TARGET_NATIVE_MATH_INT_INT64_CONST_0; \ - if (stat(filename,&__statBuffer)==0) { \ - time=TARGET_NATIVE_MATH_INT_INT64_MUL(TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_mtime), \ - TARGET_NATIVE_MATH_INT_INT32_TO_INT64(1000) \ - ); \ - result=TARGET_NATIVE_OK; \ - } else { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_SET_LAST_MODIFIED -* Purpose : set last modification time of file (milliseconds) -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_SET_LAST_MODIFIED - #include - #include - #include - #ifdef HAVE_UTIME_H - #include - #elif HAVE_SYS_UTIME_H - #include - #else - #error utime.h not found. Please check configuration. - #endif - #define TARGET_NATIVE_FILE_SET_LAST_MODIFIED(filename,time,result) \ - do { \ - struct stat __statBuffer; \ - struct utimbuf __utimeBuffer; \ - \ - if (stat(filename,&__statBuffer)==0) { \ - __utimeBuffer.actime =__statBuffer.st_atime; \ - __utimeBuffer.modtime=TARGET_NATIVE_MATH_INT_INT64_TO_INT32(TARGET_NATIVE_MATH_INT_INT64_DIV(time, \ - TARGET_NATIVE_MATH_INT_INT32_TO_INT64(1000) \ - ) \ - ); \ - result=(utime(filename,&__utimeBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } else { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_DELETE -* Purpose : delete a file,link or directory -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_DELETE - #define TARGET_NATIVE_FILE_DELETE(filename,result) \ - do { \ - result=((unlink(filename)==0) || (rmdir(filename)==0))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_RENAME -* Purpose : delete a file, link or directory -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_RENAME - #define TARGET_NATIVE_FILE_RENAME(oldfilename,newfilename,result) \ - do { \ - result=(rename(oldfilename,newfilename)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_MAKE_DIR -* Purpose : create new directory -* Input : name - directory name -* Output : result - 1 if successful, 0 otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_MAKE_DIR - #include - #define TARGET_NATIVE_FILE_MAKE_DIR(name,result) \ - do { \ - result=((mkdir(name,(S_IRWXO|S_IRWXG|S_IRWXU))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_GET_CWD -* Purpose : get current working directory -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_GET_CWD - #include - #define TARGET_NATIVE_FILE_GET_CWD(path,maxPathLength,result) \ - do {\ - result=(getcwd(path,maxPathLength)!=NULL)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_OPEN_DIR -* Purpose : open directory for reading entries. -* Input : - -* Output : handle - handle if not error, NULL otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_OPEN_DIR - #include - #include - #define TARGET_NATIVE_FILE_OPEN_DIR(filename,handle,result) \ - do { \ - handle=(void*)opendir(filename); \ - result=(handle!=NULL)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while(0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_CLOSE_DIR -* Purpose : close directory -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_CLOSE_DIR - #include - #include - #define TARGET_NATIVE_FILE_CLOSE_DIR(handle,result) \ - do { \ - closedir((DIR*)handle); \ - result=TARGET_NATIVE_OK; \ - } while(0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_READ_DIR -* Purpose : read directory entry -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -/* XXX ??? name als buffer? */ -#ifndef TARGET_NATIVE_FILE_READ_DIR - #include - #include - #define TARGET_NATIVE_FILE_READ_DIR(handle,name,result) \ - do { \ - struct dirent *__direntBuffer; \ - \ - name=NULL; \ - \ - __direntBuffer=readdir((DIR*)handle); \ - if (__direntBuffer!=NULL) { \ - name=__direntBuffer->d_name; \ - result=TARGET_NATIVE_OK; \ - } else { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FILE_FSYNC -* Purpose : do filesystem sync -* Input : - -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_FILE_FSYNC - #define TARGET_NATIVE_FILE_FSYNC(filedescriptor,result) \ - do { \ - result=(fsync(filedescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while(0) -#endif - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC_FILE__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/generic/target_generic_io.h b/libjava/classpath/native/target/generic/target_generic_io.h deleted file mode 100644 index cc24915ab19..00000000000 --- a/libjava/classpath/native/target/generic/target_generic_io.h +++ /dev/null @@ -1,82 +0,0 @@ -/* generic_math_int64.h - Native methods for 64bit math operations - Copyright (C) 1998 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. */ - -/* -Description: generic target defintions of miscellaneous functions -Systems : all -*/ - -#ifndef __TARGET_GENERIC_IO__ -#define __TARGET_GENERIC_IO__ - -/* check if target_native_io.h included */ -#ifndef __TARGET_NATIVE_IO__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include -#include - -#include "target_native.h" - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC_IO__ */ - -/* end of file */ diff --git a/libjava/classpath/native/target/generic/target_generic_math_float.h b/libjava/classpath/native/target/generic/target_generic_math_float.h deleted file mode 100644 index e2085e08028..00000000000 --- a/libjava/classpath/native/target/generic/target_generic_math_float.h +++ /dev/null @@ -1,130 +0,0 @@ -/* generic_math_int64.h - Native methods for 64bit math operations - Copyright (C) 1998 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. */ - -/* -Description: generic target defintions of float/double constants/ - macros/functions -Systems : all -*/ - -#ifndef __TARGET_GENERIC_MATH_FLOAT__ -#define __TARGET_GENERIC_MATH_FLOAT__ - -/* check if target_native_math_float.h included */ -#ifndef __TARGET_NATIVE_MATH_FLOAT__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include -#include - -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/* test float/double values for NaN,Inf */ -#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_ISNAN - #include - #define TARGET_NATIVE_MATH_FLOAT_FLOAT_ISNAN(f) isnan(f) -#endif -#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_ISINF - #include - #define TARGET_NATIVE_MATH_FLOAT_FLOAT_ISINF(f) isinf(f) -#endif -#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE - #include - #define TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE(f) finite(f) -#endif - -#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISNAN - #include - #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISNAN(d) isnan(d) -#endif -#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISINF - #include - #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISINF(d) isinf(d) -#endif -#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE - #include - #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE(d) finite(d) -#endif - -/* division, modulo operations (used to avoid unexcepted exceptions on some - targets; generic codes are direct operations without checks) -*/ -#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_DIV - #define TARGET_NATIVE_MATH_FLOAT_FLOAT_DIV(f0,f1) ((f0)/(f1)) -#endif -#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_MOD - #include - #define TARGET_NATIVE_MATH_FLOAT_FLOAT_MOD(f0,f1) ((jfloat)fmod((jdouble)(f0),(jdouble)(f1))) -#endif - -#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_DIV - #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_DIV(d0,d1) ((d0)/(d1)) -#endif -#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_MOD - #include - #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_MOD(d0,d1) fmod(d0,d1) -#endif - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC_MATH_FLOAT__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/generic/target_generic_math_int.h b/libjava/classpath/native/target/generic/target_generic_math_int.h deleted file mode 100644 index c6861487efd..00000000000 --- a/libjava/classpath/native/target/generic/target_generic_math_int.h +++ /dev/null @@ -1,260 +0,0 @@ -/* generic_math_int64.h - Native methods for 64bit math operations - Copyright (C) 1998 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. */ - -/* -Description: generic target defintions of int/int64 constants/ - macros/functions -Systems : all -*/ - -#ifndef __TARGET_GENERIC_MATH_INT__ -#define __TARGET_GENERIC_MATH_INT__ - -/* check if target_native_math_int.h included */ -#ifndef __TARGET_NATIVE_MATH_INT__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include -#include - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ -#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_0 - #define TARGET_NATIVE_MATH_INT_INT64_CONST_0 0LL -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_1 - #define TARGET_NATIVE_MATH_INT_INT64_CONST_1 1LL -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1 - #define TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1 -1LL -#endif - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/* math operations */ -#ifndef TARGET_NATIVE_MATH_INT_INT64_ADD - #define TARGET_NATIVE_MATH_INT_INT64_ADD(v1,v2) ((v1)+(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_SUB - #define TARGET_NATIVE_MATH_INT_INT64_SUB(v1,v2) ((v1)-(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_MUL - #define TARGET_NATIVE_MATH_INT_INT64_MUL(v1,v2) ((v1)*(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_DIV - #define TARGET_NATIVE_MATH_INT_INT64_DIV(v1,v2) ((v1)/(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_MOD - #define TARGET_NATIVE_MATH_INT_INT64_MOD(v1,v2) ((v1)%(v2)) -#endif - -#ifndef TARGET_NATIVE_MATH_INT_UINT64_ADD - #define TARGET_NATIVE_MATH_INT_UINT64_ADD(v1,v2) ((v1)+(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_SUB - #define TARGET_NATIVE_MATH_INT_UINT64_SUB(v1,v2) ((v1)-(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_MUL - #define TARGET_NATIVE_MATH_INT_UINT64_MUL(v1,v2) ((v1)*(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_DIV - #define TARGET_NATIVE_MATH_INT_UINT64_DIV(v1,v2) ((v1)/(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_MOD - #define TARGET_NATIVE_MATH_INT_UINT64_MOD(v1,v2) ((v1)%(v2)) -#endif - -/* bit operations */ -#ifndef TARGET_NATIVE_MATH_INT_INT64_AND - #define TARGET_NATIVE_MATH_INT_INT64_AND(v1,v2) ((v1)&(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_OR - #define TARGET_NATIVE_MATH_INT_INT64_OR(v1,v2) ((v1)|(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_XOR - #define TARGET_NATIVE_MATH_INT_INT64_XOR(v1,v2) ((v1)^(v2)) -#endif - -#ifndef TARGET_NATIVE_MATH_INT_UINT64_AND - #define TARGET_NATIVE_MATH_INT_UINT64_AND(v1,v2) ((v1)&(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_OR - #define TARGET_NATIVE_MATH_INT_UINT64_OR(v1,v2) ((v1)|(v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_XOR - #define TARGET_NATIVE_MATH_INT_UINT64_XOR(v1,v2) ((v1)^(v2)) -#endif - -/* shift operations */ -#ifndef TARGET_NATIVE_MATH_INT_INT64_SHIFTL - #define TARGET_NATIVE_MATH_INT_INT64_SHIFTL(v,l) ((v)<<(l)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_SHIFTR - #define TARGET_NATIVE_MATH_INT_INT64_SHIFTR(v,l) (((v)>>(l)) | (((v)>=0) ? 0 : (0xffffFFFFffffFFFFLL << (64-(l))))) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_SHIFTR - #define TARGET_NATIVE_MATH_INT_UINT64_SHIFTR(v,l) (((v)>>(l)) & ~(((v)>=0) ? 0 : (0xffffFFFFffffFFFFLL << (64-(l))))) -#endif - -/* negation */ -#ifndef TARGET_NATIVE_MATH_INT_INT64_NEG - #define TARGET_NATIVE_MATH_INT_INT64_NEG(v) (-(v)) -#endif - -/* increment/decrement routines */ -#ifndef TARGET_NATIVE_MATH_INT_INT64_INC - #define TARGET_NATIVE_MATH_INT_INT64_INC(v) { v++; } -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_DEC - #define TARGET_NATIVE_MATH_INT_INT64_DEC(v) { v--; } -#endif - -#ifndef TARGET_NATIVE_MATH_INT_UINT64_INC - #define TARGET_NATIVE_MATH_INT_UINT64_INC(v) { v++; } -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_DEC - #define TARGET_NATIVE_MATH_INT_UINT64_DEC(v) { v--; } -#endif - -/* comparison routines */ -#ifndef TARGET_NATIVE_MATH_INT_INT64_EQ - #define TARGET_NATIVE_MATH_INT_INT64_EQ(v1,v2) ((v1) == (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_NE - #define TARGET_NATIVE_MATH_INT_INT64_NE(v1,v2) ((v1) != (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_LT - #define TARGET_NATIVE_MATH_INT_INT64_LT(v1,v2) ((v1) < (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_LE - #define TARGET_NATIVE_MATH_INT_INT64_LE(v1,v2) ((v1) <= (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_GT - #define TARGET_NATIVE_MATH_INT_INT64_GT(v1,v2) ((v1) > (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_GE - #define TARGET_NATIVE_MATH_INT_INT64_GE(v1,v2) ((v1) >= (v2)) -#endif - -#ifndef TARGET_NATIVE_MATH_INT_UINT64_EQ - #define TARGET_NATIVE_MATH_INT_UINT64_EQ(v1,v2) ((v1) == (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_NE - #define TARGET_NATIVE_MATH_INT_UINT64_NE(v1,v2) ((v1) != (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_LT - #define TARGET_NATIVE_MATH_INT_UINT64_LT(v1,v2) ((v1) < (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_LE - #define TARGET_NATIVE_MATH_INT_UINT64_LE(v1,v2) ((v1) <= (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_GT - #define TARGET_NATIVE_MATH_INT_UINT64_GT(v1,v2) ((v1) > (v2)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_GE - #define TARGET_NATIVE_MATH_INT_UINT64_GE(v1,v2) ((v1) >= (v2)) -#endif - -/* type conversion routines */ -#ifndef TARGET_NATIVE_MATH_INT_INT32_TO_INT64 - #define TARGET_NATIVE_MATH_INT_INT32_TO_INT64(v) ((jlong)(v)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT32_TO_UINT64 - #define TARGET_NATIVE_MATH_INT_UINT32_TO_UINT64(v) ((jlong)(v)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32 - #define TARGET_NATIVE_MATH_INT_INT64_TO_INT32(v) ((jint )(v)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32 - #define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32(v) ((jint)(v)) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE - #define TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE(v) ((jdouble)(v)) -#endif - -/* combine/split int32 low/high values <-> int64 values */ -#ifndef TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64 - #define TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64(low,high,v) \ - do { \ - (v)=((((jlong)(high)) << 32) | ((((jlong)(low)) << 0) & 0x00000000ffffFFFFLL)); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64 - #define TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64(low,high,v) \ - do { \ - (v)=((((jlong)(high)) << 32) | ((((jlong)(low)) << 0) & 0x00000000ffffFFFFLL)); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH - #define TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH(v,low,high) \ - do { \ - (high)=((v) & 0xFFFFffff00000000L) >> 32; \ - (low) =((v) & 0x00000000FFFFffffL) >> 0; \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH - #define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH(v,low,high) \ - do { \ - (high)=((v) & 0xFFFFffff00000000L) >> 32; \ - (low) =((v) & 0x00000000FFFFffffL) >> 0; \ - } while (0) -#endif - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC_MATH_INT__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/generic/target_generic_misc.h b/libjava/classpath/native/target/generic/target_generic_misc.h deleted file mode 100644 index d51be15a849..00000000000 --- a/libjava/classpath/native/target/generic/target_generic_misc.h +++ /dev/null @@ -1,203 +0,0 @@ -/* generic_math_int64.h - Native methods for 64bit math operations - Copyright (C) 1998 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. */ - -/* -Description: generic target defintions of miscellaneous functions -Systems : all -*/ - -#ifndef __TARGET_GENERIC_MISC__ -#define __TARGET_GENERIC_MISC__ - -/* check if target_native_misc.h included */ -#ifndef __TARGET_NATIVE_MISC__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include -#include - -#include "target_native.h" - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***********************************************************************\ -* Name : TARGET_NATIVE_MISC_FORMAT_STRING -* Purpose : format a string (with a fixed number of) arguments -* Input : buffer - buffer for string -* bufferSize - size of buffer -* format - format string (like printf) -* args - optional arguments (GNU CPP only!) -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - this is a "safe" macro to format string; buffer- -* overflows will be avoided. Direct usage of e. g. -* snprintf() is not permitted because it is not ANSI C -* (not portable!) -* - do not use this routine in a function without -* variable number of arguments (ellipses), because -* va_list/va_start/va_end is used! -\***********************************************************************/ - -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING0 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING0(buffer,bufferSize,format) \ - do { \ - snprintf(buffer,bufferSize, "%s", format); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING1 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING1(buffer,bufferSize,format,arg1) \ - do { \ - snprintf(buffer,bufferSize,format,arg1); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING2 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING2(buffer,bufferSize,format,arg1,arg2) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING3 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING3(buffer,bufferSize,format,arg1,arg2,arg3) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING4 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING4(buffer,bufferSize,format,arg1,arg2,arg3,arg4) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING5 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING5(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING6 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING6(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING7 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING7(buffer,bufferSize,format,arg1,arg2,arg3,arg14,arg5,arg6,arg7) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING8 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING8(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); \ - } while (0) -#endif -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING9 - #include - #define TARGET_NATIVE_MISC_FORMAT_STRING9(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) \ - do { \ - snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_FORMAT_STRING_ELLIPSE -* Purpose : format a string with arguments -* Input : buffer - buffer for string -* bufferSize - size of buffer -* format - format string (like printf) -* Output : - -* Return : - -* Side-effect: unknown -* Notes : - this is a "safe" macro to format string; buffer- -* overflows will be avoided. Direct usage of e. g. -* snprintf() is not permitted because it is not ANSI C -* (not portable!) -* - do not use this routine in a function without -* variable number of arguments (ellipses), because -* va_list/va_start/va_end is used! -\***********************************************************************/ - -#ifndef TARGET_NATIVE_MISC_FORMAT_STRING_ELLIPSE - #include - #define TARGET_NATIVE_FORMAT_STRING_ELLIPSE(buffer,bufferSize,format) \ - do { \ - va_list __arguments; \ - \ - va_start(__arguments,format); \ - vsnprintf(buffer,bufferSize,format,__arguments); \ - va_end(__arguments); \ - } while (0) -#endif - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC_MISC__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/generic/target_generic_network.h b/libjava/classpath/native/target/generic/target_generic_network.h deleted file mode 100644 index 99bb5d76525..00000000000 --- a/libjava/classpath/native/target/generic/target_generic_network.h +++ /dev/null @@ -1,1289 +0,0 @@ -/* target_generic_network.h - Native methods for network operations. - Copyright (C) 1998, 2004, 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. */ - -/* -Description: generic target defintions of network functions -Systems : all -*/ - -#ifndef __TARGET_GENERIC_NETWORK__ -#define __TARGET_GENERIC_NETWORK__ - -/* check if target_native_network.h included */ -#ifndef __TARGET_NATIVE_NETWORK__ - #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! -#endif - -/****************************** Includes *******************************/ -/* do not move; needed here because of some macro definitions */ -#include "config.h" - -#include - -#include "target_native.h" - -/****************** Conditional compilation switches *******************/ - -/***************************** Constants *******************************/ - -/***************************** Datatypes *******************************/ - -/***************************** Variables *******************************/ - -/****************************** Macros *********************************/ - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT -* Purpose : convert IP adddress (4 parts) into integer (host-format -* 32bit) -* Input : n0,n1,n2,n3 - IP address parts -* Output : i - integer with IP address in host-format -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT - #define TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT(n0,n1,n2,n3,i) \ - do { \ - i=(((unsigned char)n0) << 24) | \ - (((unsigned char)n1) << 16) | \ - (((unsigned char)n2) << 8) | \ - (((unsigned char)n3) << 0); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES -* Purpose : convert IP adddress (4 parts) into integer (host-format -* 32bit) -* Input : n0,n1,n2,n3 - IP address parts -* Output : i - integer with IP address in host-format -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES - #define TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES(i,n0,n1,n2,n3) \ - do { \ - n0=(i & 0xFF000000) >> 24; \ - n1=(i & 0x00FF0000) >> 16; \ - n2=(i & 0x0000FF00) >> 8; \ - n3=(i & 0x000000FF) >> 0; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_GET_HOSTNAME -* Purpose : get hostname -* Input : maxNameLen - max. length of name -* Output : name - name (NUL terminated) -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME - #include - #define TARGET_NATIVE_NETWORK_GET_HOSTNAME(name,maxNameLen,result) \ - do { \ - result=(gethostname(name,maxNameLen-1)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - name[maxNameLen-1]='\0'; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS -* Purpose : get hostname by address -* Input : address - IP address (32bit, NOT network byte order!) -* maxNameLen - max. length of name -* Output : name - name (NUL terminated) -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -/* XXX NYI??? reentrant? */ -#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS - #include - #define TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS(address,name,maxNameLen,result) \ - do { \ - int __networkAddress; \ - struct hostent *__hostEntry; \ - \ - __networkAddress=htonl(address); \ - __hostEntry = gethostbyaddr((char*)&__networkAddress,sizeof(__networkAddress),AF_INET); \ - if (__hostEntry!=NULL) \ - { \ - strncpy(name,__hostEntry->h_name,maxNameLen-1); \ - name[maxNameLen]='\0'; \ - result=TARGET_NATIVE_OK; \ - } \ - else \ - { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME -* Purpose : get hostname by name -* Input : name - hostname -* maxAddressSize - max. size of address array -* Output : addresses - host adddresses (array, NOT in network -* byte order!) -* addressCount - number of entries in address array -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -/* XXX NYI??? reentrant? */ -#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME - #include - #define TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME(name,addresses,maxAddressSize,addressCount,result) \ - do { \ - struct hostent *__hostEntry; \ - \ - addressCount=0; \ - \ - __hostEntry = gethostbyname(name); \ - if (__hostEntry!=NULL) \ - { \ - while ((addressCounth_addr_list[addressCount]!=NULL)) \ - { \ - addresses[addressCount]=ntohl(*(int*)(__hostEntry->h_addr_list[addressCount])); \ - addressCount++; \ - } \ - result=TARGET_NATIVE_OK; \ - } \ - else \ - { \ - result=TARGET_NATIVE_ERROR; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM -* Purpose : open stream socket -* Input : - -* Output : socketDescriptor - socket descriptor -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM(socketDescriptor,result) \ - do { \ - socketDescriptor=socket(AF_INET,SOCK_STREAM,0); \ - fcntl(socketDescriptor,F_SETFD,FD_CLOEXEC); \ - result=(socketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM -* Purpose : open datagram socket -* Input : - -* Output : socketDescriptor - socket descriptor -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM(socketDescriptor,result) \ - do { \ - socketDescriptor=socket(AF_INET,SOCK_DGRAM,0); \ - fcntl(socketDescriptor,F_SETFD,FD_CLOEXEC); \ - result=(socketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_CLOSE -* Purpose : close socket -* Input : socketDescriptor - socket descriptor -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_CLOSE - #include - #define TARGET_NATIVE_NETWORK_SOCKET_CLOSE(socketDescriptor,result) \ - do { \ - result=(close(socketDescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_CONNECT -* Purpose : connect socket -* Input : socketDescriptor - socket descriptor -* address - address (network format???) -* port - port number (NOT in network byte order!) -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_CONNECT - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_CONNECT(socketDescriptor,address,port,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddress.sin_family = AF_INET; \ - __socketAddress.sin_addr.s_addr = htonl(address); \ - __socketAddress.sin_port = htons(((short)port)); \ - \ - result=(connect(socketDescriptor,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_BIND -* Purpose : bind socket -* Input : socketDescriptor - socket descriptor -* address - address (NOT ??? in network byte order!) -* port - port (NOT in network byte order!) -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -/* XXX ??? address in network byte order? */ -#ifndef TARGET_NATIVE_NETWORK_SOCKET_BIND - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_BIND(socketDescriptor,address,port,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddress.sin_family = AF_INET; \ - __socketAddress.sin_addr.s_addr = htonl(address); \ - __socketAddress.sin_port = htons(((short)port)); \ - \ - result=(bind(socketDescriptor,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_LISTEN -* Purpose : listen socket -* Input : socketDescriptor - socket descriptor -* maxQueueLength - max. number of pending connections -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -/* XXX ??? address in network byte order? */ -#ifndef TARGET_NATIVE_NETWORK_SOCKET_LISTEN - #include - #define TARGET_NATIVE_NETWORK_SOCKET_LISTEN(socketDescriptor,maxQueueLength,result) \ - do { \ - result=(listen(socketDescriptor,maxQueueLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_ACCEPT -* Purpose : accept socket -* Input : socketDescriptor - socket descriptor -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -/* XXX ??? address in network byte order? */ -#ifndef TARGET_NATIVE_NETWORK_SOCKET_ACCEPT - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_ACCEPT(socketDescriptor,newSocketDescriptor,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddressLength=sizeof(__socketAddress); \ - newSocketDescriptor=accept(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength); \ - result=(newSocketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO -* Purpose : get local socket data info -* Input : socketDescriptor - socket descriptor -* Output : localAddress - local address (NOT in network byte order!) -* localPort - local port number (NOT in network byte order!) -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO(socketDescriptor,localAddress,localPort,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - localAddress=0; \ - localPort =0; \ - \ - __socketAddressLength=sizeof(__socketAddress); \ - result=(getsockname(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - localAddress=ntohl(__socketAddress.sin_addr.s_addr); \ - localPort =ntohs(__socketAddress.sin_port); \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO -* Purpose : get remote socket data info -* Input : socketDescriptor - socket descriptor -* Output : remoteAddress - remote address (NOT in network byte order!) -* remotePort - remote port number (NOT in network byte order!) -* : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO(socketDescriptor,remoteAddress,remotePort,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - remoteAddress=0; \ - remotePort =0; \ - \ - __socketAddressLength=sizeof(__socketAddress); \ - result=(getpeername(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - remoteAddress=ntohl(__socketAddress.sin_addr.s_addr); \ - remotePort =ntohs(__socketAddress.sin_port); \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE -* Purpose : get number of available bytes for receive -* Input : socketDescriptor - socket descriptor -* Output : bytesAvailable - available bytes for receive -* : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE - #include - #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE(socketDescriptor,bytesAvailable,result) \ - do { \ - int __value; \ - \ - bytesAvailable=0; \ - \ - result=(ioctl(socketDescriptor,FIONREAD,&__value)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - bytesAvailable=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE -* Purpose : receive data from socket -* Input : socketDescriptor - socket descriptor -* maxLength - max. size of bfufer -* Output : buffer - received data -* bytesReceive - length of received data -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE(socketDescriptor,buffer,maxLength,bytesReceived) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddressLength=sizeof(__socketAddress); \ - bytesReceived=recv(socketDescriptor,buffer,maxLength,0); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT -* Purpose : receive data from socket -* Input : socketDescriptor - socket descriptor -* maxLength - max. size of bfufer -* Output : buffer - received data -* address - from address (NOT in network byte order!) -* port - from port (NOT in network byte order!) -* bytesReceive - length of received data -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT(socketDescriptor,buffer,maxLength,address,port,bytesReceived) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - port=0; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddressLength=sizeof(__socketAddress); \ - bytesReceived=recvfrom(socketDescriptor,buffer,maxLength,0,(struct sockaddr*)&__socketAddress,&__socketAddressLength); \ - if (__socketAddressLength==sizeof(__socketAddress)) \ - { \ - address=ntohl(__socketAddress.sin_addr.s_addr); \ - port =ntohs(__socketAddress.sin_port); \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SEND -* Purpose : send data to socket -* Input : socketDescriptor - socket descriptor -* : buffer - data to send -* length - length of data to send -* Output : bytesSent - number of bytes sent, -1 otherwise -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SEND - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SEND(socketDescriptor,buffer,length,bytesSent) \ - do { \ - bytesSent=send(socketDescriptor,buffer,length,0); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT -* Purpose : send data to socket -* Input : socketDescriptor - socket descriptor -* : buffer - data to send -* length - length of data to send -* Address - to address (NOT in network byte order!) -* Port - to port (NOT in network byte order!) -* Output : bytesSent - number of bytes sent, -1 otherwise -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT(socketDescriptor,buffer,length,address,port,bytesSent) \ - do { \ - struct sockaddr_in __socketAddress; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddress.sin_family = AF_INET; \ - __socketAddress.sin_addr.s_addr = htonl(address); \ - __socketAddress.sin_port = htons((short)port); \ - bytesSent=sendto(socketDescriptor,buffer,length,0,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress)); \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY -* Purpose : set socket option TCP_NODELAY -* Input : socketDescriptor - socket descriptor -* flag - 1 or 0 -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \ - do { \ - int __value; \ - \ - __value=flag; \ - result=(setsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER -* Purpose : set socket option SO_LINGER -* Input : socketDescriptor - socket descriptor -* flag - 1 or 0 -* value - linger value -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \ - do { \ - struct linger __linger; \ - \ - memset(&__linger,0,sizeof(__linger)); \ - if (flag) \ - { \ - __linger.l_onoff=0; \ - } \ - else \ - { \ - __linger.l_linger=value; \ - __linger.l_onoff =1; \ - } \ - result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,sizeof(__linger))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT -* Purpose : set socket option SO_TIMEOUT -* Input : socketDescriptor - socket descriptor -* flag - 1 or 0 -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT - #include - #include -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \ - do { \ - struct timeval __value; \ - \ - __value.tv_sec = flag / 1000; \ - __value.tv_usec = (flag % 1000) * 1000; \ - result = ( (setsockopt(socketDescriptor, SOL_SOCKET, SO_SNDTIMEO, &__value, sizeof(__value)) | \ - setsockopt(socketDescriptor, SOL_SOCKET, SO_RCVTIMEO, &__value, sizeof(__value))) == 0) ? TARGET_NATIVE_OK : TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF -* Purpose : set socket option SO_SNDBUF -* Input : socketDescriptor - socket descriptor -* size - size of send buffer -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \ - do { \ - int __value; \ - \ - __value=size; \ - result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF -* Purpose : set socket option SO_RCDBUF -* Input : socketDescriptor - socket descriptor -* size - size of receive buffer -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \ - do { \ - int __value; \ - \ - __value=size; \ - result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL -* Purpose : set socket option IP_TTL -* Input : socketDescriptor - socket descriptor -* value - value -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL(socketDescriptor,value,result) \ - do { \ - int __value; \ - \ - __value=value; \ - result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF -* Purpose : set socket option IP_MULTICAST_IF -* Input : socketDescriptor - socket descriptor -* address - integer with IP address in host-format -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddress.sin_family = AF_INET; \ - __socketAddress.sin_addr.s_addr = htonl(address); \ - result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS -* Purpose : set socket option REUSE_ADDRESS -* Input : socketDescriptor - socket descriptor -* flag - 1 or 0 -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \ - do { \ - int __value; \ - \ - __value=flag; \ - result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP -* Purpose : set socket option IP_ADD_MEMBERSHIP -* Input : socketDescriptor - socket descriptor -* address - network address (host-format) -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP(socketDescriptor,address,result) \ - do { \ - struct ip_mreq __request; \ - \ - memset(&__request,0,sizeof(__request)); \ - __request.imr_multiaddr.s_addr=htonl(address); \ - __request.imr_interface.s_addr=INADDR_ANY; \ - result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_ADD_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP -* Purpose : set socket option IP_DROP_MEMBERSHIP -* Input : socketDescriptor - socket descriptor -* address - network address (host-format) -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP(socketDescriptor,address,result) \ - do { \ - struct ip_mreq __request; \ - \ - memset(&__request,0,sizeof(__request)); \ - __request.imr_multiaddr.s_addr=htonl(address); \ - __request.imr_interface.s_addr=INADDR_ANY; \ - result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_DROP_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE -* Purpose : set socket option KEEP_ALIVE -* Input : socketDescriptor - socket descriptor -* flag - 1 or 0 -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \ - do { \ - int __value; \ - \ - __value=flag; \ - result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST -* Purpose : set socket option SO_BROADCAST -* Input : socketDescriptor - socket descriptor -* flag - 1 or 0 -* Output : result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST(socketDescriptor,flag,result) \ - do { \ - int __value; \ - \ - __value=flag; \ - result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - } while (0) -#endif - -/*---------------------------------------------------------------------*/ - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY -* Purpose : get socket option TCP_NODELAY -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - flag=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER -* Purpose : get socket option SO_LINGER -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* value - linger value -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \ - do { \ - struct linger __linger; \ - socklen_t __len; \ - \ - flag =0; \ - value=0; \ - \ - __len=sizeof(__linger); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag =__linger.l_onoff; \ - value=__linger.l_linger; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT -* Purpose : get socket option SO_TIMEOUT -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \ - do { \ - struct timeval __value; \ - socklen_t __len; \ - \ - flag=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_TIMEOUT,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag = (__value.tv_sec * 1000LL) + (__value.tv_usec / 1000LL); \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF -* Purpose : get socket option SO_SNDBUF -* Input : socketDescriptor - socket descriptor -* Output : size - size of send buffer -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - size=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - size=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF -* Purpose : get socket option SO_RCDBUF -* Input : socketDescriptor - socket descriptor -* Output : size - size of receive buffer -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - size=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - size=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL -* Purpose : get socket option IP_TTL -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL(socketDescriptor,flag,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - flag=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF -* Purpose : get socket option IP_MULTICAST_IF -* Input : socketDescriptor - socket descriptor -* Output : address - integer with IP address in host-format -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - address=0;\ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddress.sin_family = AF_INET; \ - __socketAddress.sin_addr.s_addr = htonl(address); \ - __socketAddressLength=sizeof(__socketAddress); \ - result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - address=ntohl(__socketAddress.sin_addr.s_addr); \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS -* Purpose : get socket option SOCKOPT_SO_BINDADDR -* Input : socketDescriptor - socket descriptor -* Output : address - integer with IP address in host-format -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS(socketDescriptor,address,result) \ - do { \ - struct sockaddr_in __socketAddress; \ - socklen_t __socketAddressLength; \ - \ - address=0;\ - \ - memset(&__socketAddress,0,sizeof(__socketAddress)); \ - __socketAddressLength=sizeof(__socketAddress); \ - result=(getsockname(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - address=ntohl(__socketAddress.sin_addr.s_addr); \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS -* Purpose : get socket option REUSE_ADDRESS -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - flag=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE -* Purpose : get socket option KEEP_ALIVE -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - flag=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag=__value; \ - } \ - } while (0) -#endif - -/***********************************************************************\ -* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST -* Purpose : get socket option SO_BROADCAST -* Input : socketDescriptor - socket descriptor -* Output : flag - 1 or 0 -* result - TARGET_NATIVE_OK if no error occurred, -* TARGET_NATIVE_ERROR otherwise -* Return : - -* Side-effect: unknown -* Notes : - -\***********************************************************************/ - -#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST - #include - #include - #include - #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST(socketDescriptor,flag,result) \ - do { \ - int __value; \ - socklen_t __len; \ - \ - flag=0; \ - \ - __len=sizeof(__value); \ - result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ - if (result==TARGET_NATIVE_OK) \ - { \ - flag=__value; \ - } \ - } while (0) -#endif - -/***************************** Functions *******************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __TARGET_GENERIC_NETWORK__ */ - -/* end of file */ - diff --git a/libjava/classpath/native/target/readme.txt b/libjava/classpath/native/target/readme.txt deleted file mode 100644 index 6fee79eba63..00000000000 --- a/libjava/classpath/native/target/readme.txt +++ /dev/null @@ -1,149 +0,0 @@ -The GNU classpath native layer -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To enable GNU classpath to run on a diverse array of different hardware -platforms, a new native software layer has been added. This layer hide all -machine and hardware dependent issues except common available definitions, -which are ANSI C functions. For each targets system where the GNU classpath -library is to be used, a specific set of native layer functions have to be -provided. A generic set of functions is provided for Unix like systems -(currently tested only with Linux). For a new target system, some or -all native layer functions have to be rewritten. The following scheme -illustrate the native layer. - - Java API - ---------------------- - | Java classes | - | -------------------- | - | C native functions | - | -------------------- | - >> | C native layer | << - | -------------------- | - | operating system | - | -------------------- | - | hardware | - ---------------------- - -The C native layer is implemented as a set of C pre-processor native macros. -These macros expand to the appropriated native code. Macros are used -instead function calls to give optimal performance and small code size. -Of course in special cases, a macro can also expand to a function call -if this is needed. This approach provide a flexible and efficient -implementation of the native layer. - -The naming pattern for native macros is like follows: - - TARGET_NATIVE__ - -where is a name of a module, e. g. FILE; is -the name of the specific native macro, e. g. OPEN_READ. - -The parameters for the macro use in general (with a few exceptions) the -scheme - - ,,..., - -where is input/output parameter and is the result -code TARGET_NATIVE_OK or TARGET_NATIVE_ERROR. Specific error codes -and error strings can be gotten with - - TARGET_NATIVE_LAST_ERROR and - TARGET_NATIVE_LAST_ERROR_STRING - -(see also file target_generic.h). - -For a single target system there exists two sets of native macros in -the files - - a) /target_native_.h - b) generic/target_generic_.h - -The macros in "a" are target specific implementations of native -functions, the macros in "b" are generic implementations (for Unix) of -the same native functions. If a native macro is not defined in the file -"a", then the definition in file "b" is used (there is a check to see if -a native macros is already defined elsewhere). This technique enables -"a" to 'overwrite' single generic native macros with specific native -macros for a specific target. In the default case, where only the -generic implementation of the native macros is used, the files in the -directory '' are empty except for the mandatory include of the -generic header file in the directory 'generic' at the end. Please -look at the existing Linux target specific files. - -The directory and file structure is as follows. - - native - ... - | - |--- target - | | - | |--- Linux - | | |--- target_native_.h - | | |--- ... - | | ... - | |--- ... - | |--- generic - | | |--- target_generic_.h - | | |--- ... - ... ... ... - - -Include hierarchy is as follows. - - native file - --> include 'target_native_.h' - ... - - ... - --> include 'target_generic_.h' - ... - - ... - -When writing native code, please take care with the following. - - - Use _only_ ANSI C specific functions directly which are available - on all target systems with the same parameters, e. g. strdup() is - not an ANSI C function, thus is is not available on all systems; mkdir() - expect on some systems different parameters. - - !!!Do NOT use this functions in your native code!!! - - Instead - - * if a function is not available, create a native macro in the file - - /target_native_.h - - * if it is a generic function, include a generic implementation in - - generic/target_generic_.h - - * Then use this macro in your native code. - - - Avoid _all_ OS specific data types and constants, e. g. structures or error - numbers. Instead, wrap them in a native macro and convert the values to - basic scalar types like char, int, double or long. - - - Take care with 64 bit values; the are machine dependent. Not all - target system support 64 bit operations. The macros in - target_generic_math_int.h give a set of macros implementing 64 bit - operations and constants. - - - Avoid - if possible - non-reentrant functions. Non-reentrant functions - cause strange problems on some multitasking systems. - - - Avoid - if possible - dynamic data types created by malloc() and similar - functions. Instead use (local) static variables to avoid stack usage. - On some target systems, dynamic memory management is either slow or even - dangerous. Moreover malloc()-calls can cause fragmentation of the system - memory, which could result in a system crash or an application failure. - -For some examples, please look in the current implementation for -Linux in the directory 'target/Linux' and the generic implementation in -the directory 'target/generic'. - - - aicas GmbH, February 2003 - - diff --git a/libjava/classpath/org/omg/CORBA/AnyHolder.java b/libjava/classpath/org/omg/CORBA/AnyHolder.java index 10f828aabe5..c24855480c7 100644 --- a/libjava/classpath/org/omg/CORBA/AnyHolder.java +++ b/libjava/classpath/org/omg/CORBA/AnyHolder.java @@ -1,5 +1,5 @@ /* AnyHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -83,7 +83,7 @@ public final class AnyHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For {@link Any}, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_any}. @@ -105,7 +105,7 @@ public final class AnyHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For {@link Any} the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_any(Any) }. diff --git a/libjava/classpath/org/omg/CORBA/AnySeqHelper.java b/libjava/classpath/org/omg/CORBA/AnySeqHelper.java index 8ebae7a193f..d06e5b8545e 100644 --- a/libjava/classpath/org/omg/CORBA/AnySeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/AnySeqHelper.java @@ -1,5 +1,5 @@ /* AnySeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/AnySeqHolder.java b/libjava/classpath/org/omg/CORBA/AnySeqHolder.java index b18a1457b15..0d21ed3bba9 100644 --- a/libjava/classpath/org/omg/CORBA/AnySeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/AnySeqHolder.java @@ -1,5 +1,5 @@ /* AnySeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -83,7 +83,7 @@ public final class AnySeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA longand then all Any's. * @@ -109,7 +109,7 @@ public final class AnySeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long and then all Any's. * diff --git a/libjava/classpath/org/omg/CORBA/BooleanHolder.java b/libjava/classpath/org/omg/CORBA/BooleanHolder.java index 73cfeb29613..a5b7bd8bc9e 100644 --- a/libjava/classpath/org/omg/CORBA/BooleanHolder.java +++ b/libjava/classpath/org/omg/CORBA/BooleanHolder.java @@ -1,5 +1,5 @@ /* BooleanHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,7 +91,7 @@ public final class BooleanHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For boolean, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_boolean}. @@ -113,7 +113,7 @@ public final class BooleanHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For boolean, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_boolean(boolean) }. diff --git a/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java b/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java index 41f93d10d73..3cb2538c3fe 100644 --- a/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java @@ -1,5 +1,5 @@ /* BooleanSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java b/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java index bdec3b79273..6144a17d6d8 100644 --- a/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java @@ -1,5 +1,5 @@ /* BooleanSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class BooleanSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_boolean_array }. @@ -111,7 +111,7 @@ public final class BooleanSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_boolean_array }. diff --git a/libjava/classpath/org/omg/CORBA/ByteHolder.java b/libjava/classpath/org/omg/CORBA/ByteHolder.java index c440822e58c..c590a433e19 100644 --- a/libjava/classpath/org/omg/CORBA/ByteHolder.java +++ b/libjava/classpath/org/omg/CORBA/ByteHolder.java @@ -1,5 +1,5 @@ /* ByteHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,7 +91,7 @@ public final class ByteHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For octet, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_octet}. @@ -113,7 +113,7 @@ public final class ByteHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For octet, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_octet(byte) }. diff --git a/libjava/classpath/org/omg/CORBA/CharHolder.java b/libjava/classpath/org/omg/CORBA/CharHolder.java index b8d0a3d6a31..6ef5210a33d 100644 --- a/libjava/classpath/org/omg/CORBA/CharHolder.java +++ b/libjava/classpath/org/omg/CORBA/CharHolder.java @@ -1,5 +1,5 @@ /* CharHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -90,7 +90,7 @@ public final class CharHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For char, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_char}. @@ -112,7 +112,7 @@ public final class CharHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For char, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_char(char) }. diff --git a/libjava/classpath/org/omg/CORBA/CharSeqHelper.java b/libjava/classpath/org/omg/CORBA/CharSeqHelper.java index 08406058ca8..4853f3d1609 100644 --- a/libjava/classpath/org/omg/CORBA/CharSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/CharSeqHelper.java @@ -1,5 +1,5 @@ /* CharSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/CharSeqHolder.java b/libjava/classpath/org/omg/CORBA/CharSeqHolder.java index a60483b5f0f..3fa5475a0f1 100644 --- a/libjava/classpath/org/omg/CORBA/CharSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/CharSeqHolder.java @@ -1,5 +1,5 @@ /* CharSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class CharSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_char_array }. @@ -111,7 +111,7 @@ public final class CharSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_char_array }. diff --git a/libjava/classpath/org/omg/CORBA/Context.java b/libjava/classpath/org/omg/CORBA/Context.java index e3f7363f4cf..01a7e9944b7 100644 --- a/libjava/classpath/org/omg/CORBA/Context.java +++ b/libjava/classpath/org/omg/CORBA/Context.java @@ -1,5 +1,5 @@ /* Context.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,7 +45,7 @@ package org.omg.CORBA; * used to represent information about various circumstances of the * invocation. A Context if first created by * {@link org.omg.CORBA.ORB#get_default_context() } and then invoking - * {@link create_child(String)} of the default context. + * {@link #create_child(String)} of the default context. * * The contexts are named. * @@ -66,7 +66,7 @@ public abstract class Context /** * Create a child of this Context, giving it a name. - * @param name a name of the child context. + * @param child a name of the child context. * * @return the newly created context. */ diff --git a/libjava/classpath/org/omg/CORBA/CurrentHelper.java b/libjava/classpath/org/omg/CORBA/CurrentHelper.java index f292449ecd1..36c5f186329 100644 --- a/libjava/classpath/org/omg/CORBA/CurrentHelper.java +++ b/libjava/classpath/org/omg/CORBA/CurrentHelper.java @@ -1,5 +1,5 @@ /* CurrentHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,9 +42,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CORBA/CustomValue.java b/libjava/classpath/org/omg/CORBA/CustomValue.java index 0e5809fd6ea..6814ab3c59d 100644 --- a/libjava/classpath/org/omg/CORBA/CustomValue.java +++ b/libjava/classpath/org/omg/CORBA/CustomValue.java @@ -1,5 +1,5 @@ /* CustomValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,7 @@ exception statement from your version. */ package org.omg.CORBA; +import org.omg.CORBA.portable.StreamableValue; import org.omg.CORBA.portable.ValueBase; /** @@ -50,7 +51,7 @@ import org.omg.CORBA.portable.ValueBase; * in the receiving context. * * If the value base does not implement this interface, it normally implements - * {@link org.omg.CORBA.portable.StremableValue} instead. + * {@link StreamableValue} instead. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ diff --git a/libjava/classpath/org/omg/CORBA/DataOutputStream.java b/libjava/classpath/org/omg/CORBA/DataOutputStream.java index 5e0f021fe80..20f1afbe21f 100644 --- a/libjava/classpath/org/omg/CORBA/DataOutputStream.java +++ b/libjava/classpath/org/omg/CORBA/DataOutputStream.java @@ -1,5 +1,5 @@ /* DataOutputStream.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -190,63 +190,63 @@ public interface DataOutputStream /** * Write array of Any's to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_any_array(Any[] seq, int offset, int length); /** * Write array of boolean's to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_boolean_array(boolean[] seq, int offset, int length); /** * Write array of narrow chars to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_char_array(char[] seq, int offset, int length); /** * Write array of wide chars to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_wchar_array(char[] seq, int offset, int length); /** * Write array of octets (bytes) to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_octet_array(byte[] seq, int offset, int length); /** * Write array of shorts (16 bit integers) to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_short_array(short[] seq, int offset, int length); /** * Write array of unsigned shorts (16 bit integers) to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_ushort_array(short[] seq, int offset, int length); /** * Write array of CORBA longs (java ints) to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_long_array(int[] seq, int offset, int length); /** * Write array of unsigned CORBA longs (java ints) to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_ulong_array(int[] seq, int offset, int length); @@ -254,28 +254,28 @@ public interface DataOutputStream * Write array of unsigned CORBA long longs (java longs) * to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_ulonglong_array(long[] seq, int offset, int length); /** * Write arrayo fo CORBA long longs (java ints) to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_longlong_array(long[] seq, int offset, int length); /** * Write array of floats to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_float_array(float[] seq, int offset, int length); /** * Write array of doubles to the output stream. * - * @param value a value to write. + * @param seq a value to write. */ void write_double_array(double[] seq, int offset, int length); } \ No newline at end of file diff --git a/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java b/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java index ef7e26725b3..05fe992872f 100644 --- a/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java +++ b/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java @@ -1,5 +1,5 @@ /* DefinitionKindHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,10 +40,7 @@ package org.omg.CORBA; import gnu.CORBA.DefinitionKindHolder; import gnu.CORBA.OrbRestricted; -import gnu.CORBA.gnuAny; -import gnu.CORBA.typecodes.PrimitiveTypeCode; -import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java b/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java index 7dc0526a4db..6bda64d76a9 100644 --- a/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java +++ b/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java @@ -1,5 +1,5 @@ /* DomainManagerOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,7 +41,7 @@ package org.omg.CORBA; /** * Provides the means to access the policies of the domain, with that - * the implementing {@link DomainManage} is associated. + * the implementing {@link DomainManager} is associated. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ diff --git a/libjava/classpath/org/omg/CORBA/DoubleHolder.java b/libjava/classpath/org/omg/CORBA/DoubleHolder.java index 65c8ebaf5e0..23ec513f975 100644 --- a/libjava/classpath/org/omg/CORBA/DoubleHolder.java +++ b/libjava/classpath/org/omg/CORBA/DoubleHolder.java @@ -1,5 +1,5 @@ /* DoubleHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,7 +91,7 @@ public final class DoubleHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For double, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_double}. @@ -113,7 +113,7 @@ public final class DoubleHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For double, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_double(double) }. diff --git a/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java b/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java index 2d9423fd095..6c971b7bea2 100644 --- a/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java @@ -1,5 +1,5 @@ /* DoubleSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java b/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java index 619e9215bb9..5d7fb1aedaa 100644 --- a/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java @@ -1,5 +1,5 @@ /* DoubleSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class DoubleSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_double_array }. @@ -111,7 +111,7 @@ public final class DoubleSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_double_array }. diff --git a/libjava/classpath/org/omg/CORBA/DynAny.java b/libjava/classpath/org/omg/CORBA/DynAny.java index 42b93341971..edafe435a7f 100644 --- a/libjava/classpath/org/omg/CORBA/DynAny.java +++ b/libjava/classpath/org/omg/CORBA/DynAny.java @@ -1,5 +1,5 @@ /* DynAny.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -280,7 +280,7 @@ public interface DynAny * Insert the {@link Any} value into the enclosed * {@link Any} inside this DynAny. * - * @param a_x the value being inserted. + * @param an_any the value being inserted. * @throws InvalidValue if the value type does not match the * typecode of the enclosed {@link Any}. */ @@ -458,7 +458,7 @@ public interface DynAny throws InvalidValue; /** - * Advances the internal pointer, described in the {@link current_component}, + * Advances the internal pointer, described in the {@link #current_component}, * one position forward. * * @return true if the pointer now points to the new component, @@ -468,13 +468,13 @@ public interface DynAny boolean next(); /** - * Moves the internal pointer, described in the {@link current_component}, + * Moves the internal pointer, described in the {@link #current_component}, * to the first component. */ void rewind(); /** - * Moves the internal pointer, described in the {@link current_component}, + * Moves the internal pointer, described in the {@link #current_component}, * to the given position. * * @param p the number of the internal component on that the internal diff --git a/libjava/classpath/org/omg/CORBA/DynSequence.java b/libjava/classpath/org/omg/CORBA/DynSequence.java index be7556705bb..6a5c77c0ba9 100644 --- a/libjava/classpath/org/omg/CORBA/DynSequence.java +++ b/libjava/classpath/org/omg/CORBA/DynSequence.java @@ -1,5 +1,5 @@ /* DynSequence.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -56,7 +56,7 @@ public interface DynSequence /** * Returns the number of elements, stored in the sequence. - * @return + * @return the length of the sequence */ int length(); diff --git a/libjava/classpath/org/omg/CORBA/DynValue.java b/libjava/classpath/org/omg/CORBA/DynValue.java index 24d28124651..5c67ffbbe41 100644 --- a/libjava/classpath/org/omg/CORBA/DynValue.java +++ b/libjava/classpath/org/omg/CORBA/DynValue.java @@ -1,5 +1,5 @@ /* DynValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -72,7 +72,7 @@ public interface DynValue /** * Get all members of the enclosed value type object. - * @return + * @return members, as an array of the name - value pairs. */ NameValuePair[] get_members(); diff --git a/libjava/classpath/org/omg/CORBA/DynamicImplementation.java b/libjava/classpath/org/omg/CORBA/DynamicImplementation.java index 3b1b4431905..24e6319fec5 100644 --- a/libjava/classpath/org/omg/CORBA/DynamicImplementation.java +++ b/libjava/classpath/org/omg/CORBA/DynamicImplementation.java @@ -1,5 +1,5 @@ /* DynamicImplementation.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -61,7 +61,7 @@ public class DynamicImplementation { /** * Invoke the method of the CORBA object. After converting the parameters, - * this method delegates call to the {@link ObjectImpl#invoke}. + * this method delegates call to the {@link ObjectImpl#_invoke}. * * @deprecated since 1.4. * diff --git a/libjava/classpath/org/omg/CORBA/FieldNameHelper.java b/libjava/classpath/org/omg/CORBA/FieldNameHelper.java index 6d6de43da67..1f884d72821 100644 --- a/libjava/classpath/org/omg/CORBA/FieldNameHelper.java +++ b/libjava/classpath/org/omg/CORBA/FieldNameHelper.java @@ -1,5 +1,5 @@ /* FieldNameHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,7 +55,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class FieldNameHelper { /** - * Insert the FieldName into Any (uses {@link Any.insert_string}). + * Insert the FieldName into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -66,7 +66,7 @@ public abstract class FieldNameHelper } /** - * Extract the FieldName from Any ((uses {@link Any.extract_string}). + * Extract the FieldName from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -104,7 +104,7 @@ public abstract class FieldNameHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param ostream the stream to write into. * @param value the string (FieldName) value to write. diff --git a/libjava/classpath/org/omg/CORBA/FixedHolder.java b/libjava/classpath/org/omg/CORBA/FixedHolder.java index 8913acc1755..a44cde52dbf 100644 --- a/libjava/classpath/org/omg/CORBA/FixedHolder.java +++ b/libjava/classpath/org/omg/CORBA/FixedHolder.java @@ -1,5 +1,5 @@ /* FixedHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,7 +39,6 @@ exception statement from your version. */ package org.omg.CORBA; import gnu.CORBA.typecodes.FixedTypeCode; -import gnu.CORBA.typecodes.PrimitiveTypeCode; import java.math.BigDecimal; @@ -88,7 +87,7 @@ public final class FixedHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For fixed, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_fixed}. @@ -112,7 +111,7 @@ public final class FixedHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For fixed, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_fixed(BigDecimal) }. diff --git a/libjava/classpath/org/omg/CORBA/FloatHolder.java b/libjava/classpath/org/omg/CORBA/FloatHolder.java index 1d6de16a192..8d765ced374 100644 --- a/libjava/classpath/org/omg/CORBA/FloatHolder.java +++ b/libjava/classpath/org/omg/CORBA/FloatHolder.java @@ -1,5 +1,5 @@ /* FloatHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,7 +91,7 @@ public final class FloatHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For float, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_float}. @@ -113,7 +113,7 @@ public final class FloatHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For float, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_float(float) }. diff --git a/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java b/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java index 1656dae440a..10850e022b4 100644 --- a/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java @@ -1,5 +1,5 @@ /* FloatSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java b/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java index dbab1ec08ba..b7e8efcc0d2 100644 --- a/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java @@ -1,5 +1,5 @@ /* FloatSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class FloatSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_float_array }. @@ -111,7 +111,7 @@ public final class FloatSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_float_array }. diff --git a/libjava/classpath/org/omg/CORBA/IdentifierHelper.java b/libjava/classpath/org/omg/CORBA/IdentifierHelper.java index 5c055f81290..deff909690e 100644 --- a/libjava/classpath/org/omg/CORBA/IdentifierHelper.java +++ b/libjava/classpath/org/omg/CORBA/IdentifierHelper.java @@ -1,5 +1,5 @@ /* IdentifierHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,7 +55,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class IdentifierHelper { /** - * Insert the Identifier into Any (uses {@link Any.insert_string}). + * Insert the Identifier into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -66,7 +66,7 @@ public abstract class IdentifierHelper } /** - * Extract the Identifier from Any ((uses {@link Any.extract_string}). + * Extract the Identifier from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -104,7 +104,7 @@ public abstract class IdentifierHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param ostream the stream to write into. * @param value the string (Identifier) value to write. diff --git a/libjava/classpath/org/omg/CORBA/IntHolder.java b/libjava/classpath/org/omg/CORBA/IntHolder.java index 4729535a7ec..a27cf435ce3 100644 --- a/libjava/classpath/org/omg/CORBA/IntHolder.java +++ b/libjava/classpath/org/omg/CORBA/IntHolder.java @@ -1,5 +1,5 @@ /* IntHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -90,7 +90,7 @@ public final class IntHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For long, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_long}. @@ -112,7 +112,7 @@ public final class IntHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For long, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_long(int) }. diff --git a/libjava/classpath/org/omg/CORBA/LocalObject.java b/libjava/classpath/org/omg/CORBA/LocalObject.java index 7c06e18249d..a3fd131caf6 100644 --- a/libjava/classpath/org/omg/CORBA/LocalObject.java +++ b/libjava/classpath/org/omg/CORBA/LocalObject.java @@ -1,5 +1,5 @@ /* LocalObject.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -253,12 +253,12 @@ public class LocalObject /** * This method is called from rmic generated stubs if the - * {@link Util#isLocal()}, called passing this as parameter, + * {@link Util#isLocal}, called passing this as parameter, * returns true. If the method returns null, the requested method is then * invoked on this. Else it is invoked on the returned object, * casting it into the interface that the local object implements. In this * case, the generated stub also later calls - * {@link _servant_postinvoke(ServantObject)}, passing that returned target + * {@link #_servant_postinvoke(ServantObject)}, passing that returned target * as parameter. * * @param operation the name of the method being invoked. @@ -275,7 +275,7 @@ public class LocalObject /** * This method is called from rmic generated stubs if the - * {@link Util#isLocal()}, called passing this as parameter, + * {@link Util#isLocal}, called passing this as parameter, * returns true, and the {@link #_servant_preinvoke} return non-null object. * The stub then invokes the requrested method on that returned object and * later calls _servant_postinvoke, passing that returned target as parameter. @@ -289,7 +289,7 @@ public class LocalObject /** * Invokes the operation. This method takes the OutputStream that was previously - * returned by a {@link _request()} and returns an InputStream which + * returned by a {@link #_request(String)} and returns an InputStream which * contains the reply. Up till jdk 1.5 inclusive this method is marked as * unimplemented. * @@ -304,7 +304,7 @@ public class LocalObject /** * While it may look that this should return true, the jdk 1.5 API states * that it must throw NO_IMPLEMENT instead. The rmi stubs do not call this - * method to check if the object is local; they call {@link Util#isLocal()} + * method to check if the object is local; they call {@link Util#isLocal} * instead (passing this as parameter). * * @return never. diff --git a/libjava/classpath/org/omg/CORBA/LongHolder.java b/libjava/classpath/org/omg/CORBA/LongHolder.java index ac249fed3c6..db412d96966 100644 --- a/libjava/classpath/org/omg/CORBA/LongHolder.java +++ b/libjava/classpath/org/omg/CORBA/LongHolder.java @@ -1,5 +1,5 @@ /* LongHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,7 +91,7 @@ public final class LongHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For long long, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_longlong}. @@ -113,7 +113,7 @@ public final class LongHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For long long, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_longlong(long) }. diff --git a/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java b/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java index 0e31c713647..1ba58d5d362 100644 --- a/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java @@ -1,5 +1,5 @@ /* LongLongSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java b/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java index e56acd4ad78..ebb83cfd012 100644 --- a/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java @@ -1,5 +1,5 @@ /* LongLongSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class LongLongSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_longlong_array }. @@ -111,7 +111,7 @@ public final class LongLongSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_longlong_array }. diff --git a/libjava/classpath/org/omg/CORBA/LongSeqHelper.java b/libjava/classpath/org/omg/CORBA/LongSeqHelper.java index 26b4e91c2a5..c33611da8e3 100644 --- a/libjava/classpath/org/omg/CORBA/LongSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/LongSeqHelper.java @@ -1,5 +1,5 @@ /* LongSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/LongSeqHolder.java b/libjava/classpath/org/omg/CORBA/LongSeqHolder.java index 2359eb0b2f6..79e94382d3d 100644 --- a/libjava/classpath/org/omg/CORBA/LongSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/LongSeqHolder.java @@ -1,5 +1,5 @@ /* LongSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,10 +87,10 @@ public final class LongSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA longand then calls the - * {@link org.omg.CORBA.portable.InputStream#input.read_long_array }. + * {@link org.omg.CORBA.portable.InputStream#read_long_array }. * * @param input the input stream to read from. */ @@ -102,10 +102,10 @@ public final class LongSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA longand then calls the - * {@link org.omg.CORBA.portable.OutputStream#input.write_long_array }. + * {@link org.omg.CORBA.portable.OutputStream#write_long_array }. * * @param output the output stream to write into. */ diff --git a/libjava/classpath/org/omg/CORBA/ORB.java b/libjava/classpath/org/omg/CORBA/ORB.java index af05488280f..89bc5376402 100644 --- a/libjava/classpath/org/omg/CORBA/ORB.java +++ b/libjava/classpath/org/omg/CORBA/ORB.java @@ -1,5 +1,5 @@ /* ORB.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,10 +41,8 @@ package org.omg.CORBA; import gnu.CORBA.OrbFocused; import gnu.CORBA.ObjectCreator; import gnu.CORBA.OrbRestricted; -import gnu.CORBA.gnuContext; import gnu.CORBA.typecodes.FixedTypeCode; import gnu.CORBA.typecodes.GeneralTypeCode; -import gnu.CORBA.typecodes.PrimitiveTypeCode; import gnu.CORBA.typecodes.RecordTypeCode; import gnu.CORBA.typecodes.RecursiveTypeCode; @@ -144,7 +142,7 @@ public abstract class ORB { /** * By default, {@link #init(String[], Properties)} and - * {@link #iinit(Applet, Properties)} return + * {@link #init(Applet, Properties)} return * the built-in fully functional ORB is returned. If the * props contains the property org.omg.CORBA.ORBClass, * the value of this property is used as a class name to instantiate @@ -209,6 +207,34 @@ public abstract class ORB throw new NO_IMPLEMENT(); } + /** + * Create a typecode, representing a tree-like structure. + * This structure contains a member that is a sequence of the same type, + * as the structure itself. You can imagine as if the folder definition + * contains a variable-length array of the enclosed (nested) folder + * definitions. In this way, it is possible to have a tree like + * structure that can be transferred via CORBA CDR stream. + * + * @deprecated It is easier and clearler to use a combination of + * create_recursive_tc and create_sequence_tc instead. + * + * @param bound the maximal expected number of the nested components + * on each node; 0 if not limited. + * + * @param offset the position of the field in the returned structure + * that contains the sequence of the structures of the same field. + * The members before this field are intialised using parameterless + * StructMember constructor. + * + * @return a typecode, defining a stucture, where a member at the + * offset position defines an array of the identical + * structures. + * + * @see #create_recursive_tc(String) + * @see #create_sequence_tc(int, TypeCode) + */ + public abstract TypeCode create_recursive_sequence_tc(int bound, int offset); + /** * Create alias typecode for the given typecode. */ @@ -496,7 +522,7 @@ public abstract class ORB */ public abstract Request get_next_response() throws WrongTransaction; - + /** * Create a new CDR output stream, where the parameter values can be written * during the method invocation. @@ -647,33 +673,6 @@ public abstract class ORB return t; } - /** - * Create a typecode, representing a tree-like structure. - * This structure contains a member that is a sequence of the same type, - * as the structure itself. You can imagine as if the folder definition - * contains a variable-length array of the enclosed (nested) folder - * definitions. In this way, it is possible to have a tree like - * structure that can be transferred via CORBA CDR stream. - * - * @deprecated It is easier and clearler to use a combination of - * create_recursive_tc and create_sequence_tc instead. - * - * @param bound the maximal expected number of the nested components - * on each node; 0 if not limited. - * - * @param offset the position of the field in the returned structure - * that contains the sequence of the structures of the same field. - * The members before this field are intialised using parameterless - * StructMember constructor. - * - * @return a typecode, defining a stucture, where a member at the - * offset position defines an array of the identical - * structures. - * - * @see #create_recursive_tc(String) - * @see #create_sequence_tc(int, TypeCode) - */ - public abstract TypeCode create_recursive_sequence_tc(int bound, int offset); /** * Create a typecode which serves as a placeholder for typcode, containing @@ -1238,4 +1237,4 @@ public abstract class ORB why ); } -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/CORBA/ObjectHelper.java b/libjava/classpath/org/omg/CORBA/ObjectHelper.java index f662a78880c..dbf43308029 100644 --- a/libjava/classpath/org/omg/CORBA/ObjectHelper.java +++ b/libjava/classpath/org/omg/CORBA/ObjectHelper.java @@ -1,5 +1,5 @@ /* ObjectHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,7 +40,6 @@ package org.omg.CORBA; import gnu.CORBA.Minor; import gnu.CORBA.OrbRestricted; -import gnu.CORBA.typecodes.PrimitiveTypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CORBA/ObjectHolder.java b/libjava/classpath/org/omg/CORBA/ObjectHolder.java index f79a89bef0d..235f1e66fcd 100644 --- a/libjava/classpath/org/omg/CORBA/ObjectHolder.java +++ b/libjava/classpath/org/omg/CORBA/ObjectHolder.java @@ -1,5 +1,5 @@ /* ObjectHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,7 +38,6 @@ exception statement from your version. */ package org.omg.CORBA; -import gnu.CORBA.typecodes.PrimitiveTypeCode; import gnu.CORBA.typecodes.RecordTypeCode; import org.omg.CORBA.portable.InputStream; @@ -98,10 +97,10 @@ public final class ObjectHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For org.omg.CORBA.Object, the * functionality is delegated to - * {@link org.omg.CORBA.portable.InputStream#read_Object}. + * {@link org.omg.CORBA.portable.InputStream#read_Object()}. * * @param input the input stream to read from. */ @@ -120,7 +119,7 @@ public final class ObjectHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For Object, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_Object(Object) }. diff --git a/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java b/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java index df7b22ff52f..e03dba07346 100644 --- a/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java @@ -1,5 +1,5 @@ /* OctetSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java b/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java index 62ea7381920..8c3e9cb6ddb 100644 --- a/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java @@ -1,5 +1,5 @@ /* OctetSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class OctetSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_octet_array }. @@ -111,7 +111,7 @@ public final class OctetSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_octet_array }. diff --git a/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java b/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java index 6feabdcfdb9..ecb9821dc35 100644 --- a/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java +++ b/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java @@ -1,5 +1,5 @@ /* PolicyErrorCodeHelper.java -- -Copyright (C) 2005 Free Software Foundation, Inc. +Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -57,7 +57,7 @@ public abstract class PolicyErrorCodeHelper { /** - * Delegates call to {@link Any.extract_short()}. + * Delegates call to {@link Any#extract_short()}. */ public static short extract(Any a) { @@ -75,7 +75,7 @@ public abstract class PolicyErrorCodeHelper } /** - * Delegates call to {@link Any.insert_short(short)}. + * Delegates call to {@link Any#insert_short(short)}. */ public static void insert(Any a, short that) { @@ -83,7 +83,7 @@ public abstract class PolicyErrorCodeHelper } /** - * Delegates call to {@link InputStream.read_short()}. + * Delegates call to {@link InputStream#read_short()}. */ public static short read(InputStream istream) { @@ -106,7 +106,7 @@ public abstract class PolicyErrorCodeHelper } /** - * Delegates call to {@link OutputStream#write_short()}. + * Delegates call to {@link OutputStream#write_short(short)}. */ public static void write(OutputStream ostream, short value) { diff --git a/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java b/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java index 27b5b465e53..213acafc7e5 100644 --- a/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java +++ b/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java @@ -1,5 +1,5 @@ /* PolicyErrorHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -59,8 +59,8 @@ public abstract class PolicyErrorHelper { /** * Create the PolicyError typecode. The typecode defines a structure, named - * "PolicyError", containing the {@link PolicyErrorCode} (alias int) field, - * named "reason". + * "PolicyError", containing the PolicyErrorCode (alias int, see + * {@link PolicyErrorCodeHelper}) field, named "reason". */ public static TypeCode type() { diff --git a/libjava/classpath/org/omg/CORBA/PolicyHelper.java b/libjava/classpath/org/omg/CORBA/PolicyHelper.java index 53b56244eb2..4f88cd78396 100644 --- a/libjava/classpath/org/omg/CORBA/PolicyHelper.java +++ b/libjava/classpath/org/omg/CORBA/PolicyHelper.java @@ -1,5 +1,5 @@ /* PolicyHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,9 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CORBA/PolicyListHelper.java b/libjava/classpath/org/omg/CORBA/PolicyListHelper.java index da0135c0222..54f2036759a 100644 --- a/libjava/classpath/org/omg/CORBA/PolicyListHelper.java +++ b/libjava/classpath/org/omg/CORBA/PolicyListHelper.java @@ -1,5 +1,5 @@ /* PolicyListHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,27 +41,19 @@ package org.omg.CORBA; import gnu.CORBA.Minor; import gnu.CORBA.OrbRestricted; -import org.omg.CORBA.Any; -import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; -import org.omg.CORBA.TypeCode; -import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; /** * The helper operations for the -* CORBA object {@link Policy[]}. +* CORBA object {@link Policy}[]. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public abstract class PolicyListHelper { /** - * Get the type code of the {@link Policy[]}. + * Get the type code of the {@link Policy}[]. */ public static TypeCode type() { diff --git a/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java b/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java index 7d5f9bf7656..575fe4aa309 100644 --- a/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java +++ b/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java @@ -1,5 +1,5 @@ /* PolicyTypeHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CORBA/PrincipalHolder.java b/libjava/classpath/org/omg/CORBA/PrincipalHolder.java index 270427f3fdd..56cd565aa76 100644 --- a/libjava/classpath/org/omg/CORBA/PrincipalHolder.java +++ b/libjava/classpath/org/omg/CORBA/PrincipalHolder.java @@ -1,5 +1,5 @@ /* PrincipalHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -86,7 +86,7 @@ public final class PrincipalHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For {@link Principal}, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_Principal}. @@ -108,7 +108,7 @@ public final class PrincipalHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For {@link Principal} the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_Principal(Principal)} diff --git a/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java b/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java index a392002fd23..033a96819d3 100644 --- a/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java +++ b/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java @@ -1,5 +1,5 @@ /* RepositoryIdHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,7 +55,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class RepositoryIdHelper { /** - * Insert the Repository Id into Any (uses {@link Any.insert_string}). + * Insert the Repository Id into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -66,7 +66,7 @@ public abstract class RepositoryIdHelper } /** - * Extract the Repository Id from Any ((uses {@link Any.extract_string}). + * Extract the Repository Id from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -104,7 +104,7 @@ public abstract class RepositoryIdHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param ostream the stream to write into. * @param value the string (Repository Id) value to write. diff --git a/libjava/classpath/org/omg/CORBA/Request.java b/libjava/classpath/org/omg/CORBA/Request.java index f299d426b8a..beec7869185 100644 --- a/libjava/classpath/org/omg/CORBA/Request.java +++ b/libjava/classpath/org/omg/CORBA/Request.java @@ -1,5 +1,5 @@ /* Request.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -137,7 +137,7 @@ public abstract class Request public abstract ContextList contexts(); /** - * Get the context, previously set using {@link #cts(Context)}. + * Get the context, previously set using {@link #ctx(Context)}. * The context contains the details about this request. */ public abstract Context ctx(); @@ -168,7 +168,7 @@ public abstract class Request /** * Allow to access the response that has been previously sent using - * {@link send_deferred()}. + * {@link #send_deferred()}. * * @throws WrongTransaction if the transaction scope mismatches. */ @@ -190,7 +190,7 @@ public abstract class Request /** * Check if the response is received to the request that was - * previously send using {@link send_deferred()}. + * previously send using {@link #send_deferred()}. * * @return true if the response has been already received, false otherwise. */ diff --git a/libjava/classpath/org/omg/CORBA/ShortHolder.java b/libjava/classpath/org/omg/CORBA/ShortHolder.java index dfc4721f3f9..59bd4cf333d 100644 --- a/libjava/classpath/org/omg/CORBA/ShortHolder.java +++ b/libjava/classpath/org/omg/CORBA/ShortHolder.java @@ -1,5 +1,5 @@ /* ShortHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -91,7 +91,7 @@ public final class ShortHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. For short, the functionality * is delegated to * {@link org.omg.CORBA.portable.InputStream#read_short}. @@ -113,7 +113,7 @@ public final class ShortHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * For short, the functionality * is delegated to * {@link org.omg.CORBA.portable.OutputStream#write_short(short) }. diff --git a/libjava/classpath/org/omg/CORBA/ShortSeqHelper.java b/libjava/classpath/org/omg/CORBA/ShortSeqHelper.java index 40124f216e9..5140bb96661 100644 --- a/libjava/classpath/org/omg/CORBA/ShortSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/ShortSeqHelper.java @@ -1,5 +1,5 @@ /* ShortSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/ShortSeqHolder.java b/libjava/classpath/org/omg/CORBA/ShortSeqHolder.java index 246d1ecf47e..b25024e9891 100644 --- a/libjava/classpath/org/omg/CORBA/ShortSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/ShortSeqHolder.java @@ -1,5 +1,5 @@ /* ShortSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class ShortSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_short_array }. @@ -111,7 +111,7 @@ public final class ShortSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_short_array }. diff --git a/libjava/classpath/org/omg/CORBA/StringSeqHelper.java b/libjava/classpath/org/omg/CORBA/StringSeqHelper.java index 4225c0bd12b..19f27292c0c 100644 --- a/libjava/classpath/org/omg/CORBA/StringSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/StringSeqHelper.java @@ -1,5 +1,5 @@ /* StringSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/StringSeqHolder.java b/libjava/classpath/org/omg/CORBA/StringSeqHolder.java index 71ac887e27b..1bc3281d353 100755 --- a/libjava/classpath/org/omg/CORBA/StringSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/StringSeqHolder.java @@ -1,5 +1,5 @@ /* StringSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class StringSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA longand then all strings. * @@ -113,7 +113,7 @@ public final class StringSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long and then all strings. * diff --git a/libjava/classpath/org/omg/CORBA/ULongLongSeqHelper.java b/libjava/classpath/org/omg/CORBA/ULongLongSeqHelper.java index 1148cb40865..b13f33cdf25 100644 --- a/libjava/classpath/org/omg/CORBA/ULongLongSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/ULongLongSeqHelper.java @@ -1,5 +1,5 @@ /* ULongLongSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/ULongLongSeqHolder.java b/libjava/classpath/org/omg/CORBA/ULongLongSeqHolder.java index 70b43bf7f45..cd9c023104b 100644 --- a/libjava/classpath/org/omg/CORBA/ULongLongSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/ULongLongSeqHolder.java @@ -1,5 +1,5 @@ /* ULongLongSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class ULongLongSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_ulonglong_array }. @@ -111,7 +111,7 @@ public final class ULongLongSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_ulonglong_array }. diff --git a/libjava/classpath/org/omg/CORBA/ULongSeqHelper.java b/libjava/classpath/org/omg/CORBA/ULongSeqHelper.java index dddc1323d7e..186350b2ce2 100644 --- a/libjava/classpath/org/omg/CORBA/ULongSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/ULongSeqHelper.java @@ -1,5 +1,5 @@ /* ULongSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/ULongSeqHolder.java b/libjava/classpath/org/omg/CORBA/ULongSeqHolder.java index 64d9db6ceee..35d9a4384ac 100644 --- a/libjava/classpath/org/omg/CORBA/ULongSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/ULongSeqHolder.java @@ -1,5 +1,5 @@ /* ULongSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class ULongSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_ulong_array }. @@ -111,7 +111,7 @@ public final class ULongSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_ulong_array }. diff --git a/libjava/classpath/org/omg/CORBA/UShortSeqHelper.java b/libjava/classpath/org/omg/CORBA/UShortSeqHelper.java index d1fc440a90d..0fcd4739fb7 100644 --- a/libjava/classpath/org/omg/CORBA/UShortSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/UShortSeqHelper.java @@ -1,5 +1,5 @@ /* UShortSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/UShortSeqHolder.java b/libjava/classpath/org/omg/CORBA/UShortSeqHolder.java index 47e33b9be02..3eb83c5242a 100644 --- a/libjava/classpath/org/omg/CORBA/UShortSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/UShortSeqHolder.java @@ -1,5 +1,5 @@ /* UShortSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class UShortSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.InputStream#read_ushort_array }. @@ -111,7 +111,7 @@ public final class UShortSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the * {@link org.omg.CORBA.portable.OutputStream#write_ushort_array }. diff --git a/libjava/classpath/org/omg/CORBA/ValueBaseHelper.java b/libjava/classpath/org/omg/CORBA/ValueBaseHelper.java index 1699d912d61..644666971ac 100644 --- a/libjava/classpath/org/omg/CORBA/ValueBaseHelper.java +++ b/libjava/classpath/org/omg/CORBA/ValueBaseHelper.java @@ -1,5 +1,5 @@ /* ValueBaseHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,9 @@ import gnu.CORBA.typecodes.RecordTypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.ValueBase; +import java.io.ObjectOutputStream; import java.io.Serializable; /** @@ -105,7 +107,7 @@ public abstract class ValueBaseHelper /** * Get the typecode of the value type. - * @return + * @return the typecode of the value type */ public static TypeCode type() { diff --git a/libjava/classpath/org/omg/CORBA/ValueBaseHolder.java b/libjava/classpath/org/omg/CORBA/ValueBaseHolder.java index 6f57d17c3f1..58f48536ff2 100644 --- a/libjava/classpath/org/omg/CORBA/ValueBaseHolder.java +++ b/libjava/classpath/org/omg/CORBA/ValueBaseHolder.java @@ -1,5 +1,5 @@ /* ValueBaseHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.CORBA; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.Streamable; +import org.omg.CORBA.portable.ValueBase; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/CORBA/VersionSpecHelper.java b/libjava/classpath/org/omg/CORBA/VersionSpecHelper.java index 9845702985a..74bdb7b7a16 100644 --- a/libjava/classpath/org/omg/CORBA/VersionSpecHelper.java +++ b/libjava/classpath/org/omg/CORBA/VersionSpecHelper.java @@ -1,5 +1,5 @@ /* VersionSpecHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,7 +55,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class VersionSpecHelper { /** - * Insert the VersionSpec into Any (uses {@link Any.insert_string}). + * Insert the VersionSpec into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -66,7 +66,7 @@ public abstract class VersionSpecHelper } /** - * Extract the VersionSpec from Any ((uses {@link Any.extract_string}). + * Extract the VersionSpec from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -104,7 +104,7 @@ public abstract class VersionSpecHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param ostream the stream to write into. * @param value the string (VersionSpec) value to write. diff --git a/libjava/classpath/org/omg/CORBA/WCharSeqHelper.java b/libjava/classpath/org/omg/CORBA/WCharSeqHelper.java index 4bb92989d05..fe4d41650a7 100644 --- a/libjava/classpath/org/omg/CORBA/WCharSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/WCharSeqHelper.java @@ -1,5 +1,5 @@ /* WCharSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/WCharSeqHolder.java b/libjava/classpath/org/omg/CORBA/WCharSeqHolder.java index 72a9cc8c1e3..a1b04d1efe4 100644 --- a/libjava/classpath/org/omg/CORBA/WCharSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/WCharSeqHolder.java @@ -1,5 +1,5 @@ /* WCharSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,10 +87,10 @@ public final class WCharSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA long) and then calls the - * {@link org.omg.CORBA.portable.InputStream#input.read_wchar_array }. + * {@link org.omg.CORBA.portable.InputStream#read_wchar_array }. * * @param input the input stream to read from. */ @@ -111,10 +111,10 @@ public final class WCharSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long) and then calls the - * {@link org.omg.CORBA.portable.OutputStream#input.write_wchar_array }. + * {@link org.omg.CORBA.portable.OutputStream#write_wchar_array }. * * @param output the output stream to write into. */ diff --git a/libjava/classpath/org/omg/CORBA/WStringSeqHelper.java b/libjava/classpath/org/omg/CORBA/WStringSeqHelper.java index 356cf0dd21c..ea8eac62742 100644 --- a/libjava/classpath/org/omg/CORBA/WStringSeqHelper.java +++ b/libjava/classpath/org/omg/CORBA/WStringSeqHelper.java @@ -1,5 +1,5 @@ /* WStringSeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,7 @@ import gnu.CORBA.typecodes.ArrayTypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.Streamable; /** * Provides static helper methods for working with diff --git a/libjava/classpath/org/omg/CORBA/WStringSeqHolder.java b/libjava/classpath/org/omg/CORBA/WStringSeqHolder.java index 68b77ff6a3a..b909210f3e8 100755 --- a/libjava/classpath/org/omg/CORBA/WStringSeqHolder.java +++ b/libjava/classpath/org/omg/CORBA/WStringSeqHolder.java @@ -1,5 +1,5 @@ /* WStringSeqHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -87,7 +87,7 @@ public final class WStringSeqHolder } /** - * Fill in the {@link value } field by reading the required data + * Fill in the {@link #value } field by reading the required data * from the given stream. This method first reads the array size * (as CORBA longand then all strings. * @@ -113,7 +113,7 @@ public final class WStringSeqHolder } /** - * Write the {@link value } field to the given stream. + * Write the {@link #value } field to the given stream. * This method first writes the array size * (as CORBA long and then all strings. * diff --git a/libjava/classpath/org/omg/CORBA/WrongTransactionHelper.java b/libjava/classpath/org/omg/CORBA/WrongTransactionHelper.java index 27368a4c03a..96673fd5792 100644 --- a/libjava/classpath/org/omg/CORBA/WrongTransactionHelper.java +++ b/libjava/classpath/org/omg/CORBA/WrongTransactionHelper.java @@ -1,5 +1,5 @@ /* WrongTransactionHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CORBA/_IDLTypeStub.java b/libjava/classpath/org/omg/CORBA/_IDLTypeStub.java index 6661b0c4702..de09b89a7b0 100644 --- a/libjava/classpath/org/omg/CORBA/_IDLTypeStub.java +++ b/libjava/classpath/org/omg/CORBA/_IDLTypeStub.java @@ -1,5 +1,5 @@ /* _IDLTypeStub.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. diff --git a/libjava/classpath/org/omg/CORBA/_PolicyStub.java b/libjava/classpath/org/omg/CORBA/_PolicyStub.java index 50481fe17a0..f633ccbaf65 100644 --- a/libjava/classpath/org/omg/CORBA/_PolicyStub.java +++ b/libjava/classpath/org/omg/CORBA/_PolicyStub.java @@ -1,5 +1,5 @@ /* _PolicyStub.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,8 +39,6 @@ exception statement from your version. */ package org.omg.CORBA; import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; -import org.omg.CORBA.ObjectHelper; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CORBA/portable/BoxedValueHelper.java b/libjava/classpath/org/omg/CORBA/portable/BoxedValueHelper.java index d869bdc1851..47c2b910680 100644 --- a/libjava/classpath/org/omg/CORBA/portable/BoxedValueHelper.java +++ b/libjava/classpath/org/omg/CORBA/portable/BoxedValueHelper.java @@ -1,5 +1,5 @@ /* BoxedValueHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,7 +63,7 @@ public interface BoxedValueHelper /** * Read this value type from the CDR stream. * - * @param is a stream to read from. + * @param istream is a stream to read from. * * @return a loaded value type. */ @@ -72,8 +72,8 @@ public interface BoxedValueHelper /** * Write this value type to the CDR stream. * - * @param os a stream to write to. + * @param ostream a stream to write to. * @param value a value to write. */ void write_value(OutputStream ostream, Serializable value); -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/CORBA/portable/Delegate.java b/libjava/classpath/org/omg/CORBA/portable/Delegate.java index fce04887e91..2f056ac3177 100644 --- a/libjava/classpath/org/omg/CORBA/portable/Delegate.java +++ b/libjava/classpath/org/omg/CORBA/portable/Delegate.java @@ -1,5 +1,5 @@ /* Delegate.java -- -Copyright (C) 2005 Free Software Foundation, Inc. +Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -242,7 +242,7 @@ public abstract class Delegate /** * Return the hashcode for this CORBA object. The default implementation - * delegates call to {@link #hash(int)}, passing Integer.MAX_VALUE as an + * delegates call to {@link #hash(org.omg.CORBA.Object, int)}, passing Integer.MAX_VALUE as an * argument. * * @param target the object, for that the hash code must be computed. @@ -408,7 +408,7 @@ public abstract class Delegate * * @param self the CORBA object, to that the string representation must be * returned. By default, the call is delegated to - * {@link java.lang.Object.toString()}. + * {@link java.lang.Object#toString()}. * * @return the string representation. */ diff --git a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java index f2f21a79e17..f1e348e5304 100644 --- a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java +++ b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java @@ -1,5 +1,5 @@ /* ObjectImpl.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,7 @@ exception statement from your version. */ package org.omg.CORBA.portable; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.Context; import org.omg.CORBA.ContextList; import org.omg.CORBA.DomainManager; @@ -156,9 +157,9 @@ public abstract class ObjectImpl * @throws BAD_PARAM if the policy of the given type is not * associated with this object, or if it is not supported by this ORB. */ - public Policy _get_policy(int type) + public Policy _get_policy(int a_policy_type) { - return delegate.get_policy(this, type); + return delegate.get_policy(this, a_policy_type); } /** @@ -173,7 +174,7 @@ public abstract class ObjectImpl * object. The returned value must not change during the object * lifetime. * - * @param maximum the maximal value to return. + * @param max the maximal value to return. * * @return the hashcode. */ @@ -204,7 +205,7 @@ public abstract class ObjectImpl /** * Check if this object can be referenced by the given repository id. * - * @param repositoryIdentifer the repository id. + * @param idl_id the repository id. * * @return true if the passed parameter is a repository id of this * CORBA object. @@ -233,8 +234,6 @@ public abstract class ObjectImpl /** * Returns true if the object is local. * - * @param self the object to check. - * * @return false, always (following 1.4 specs). Override to get * functionality. */ @@ -278,10 +277,8 @@ public abstract class ObjectImpl * Release the reply stream back to ORB after finishing reading the data * from it. * - * @param input the stream, normally returned by {@link #invoke} or + * @param stream the stream, normally returned by {@link #_invoke} or * {@link ApplicationException#getInputStream()}, can be null. - * - * @throws NO_IMPLEMENT, always (following the 1.4 specification). */ public void _releaseReply(InputStream stream) { @@ -292,7 +289,7 @@ public abstract class ObjectImpl /** * Create a request to invoke the method of this CORBA object. * - * @param operation the name of the method to invoke. + * @param method the name of the method to invoke. * * @return the request. */ @@ -304,7 +301,7 @@ public abstract class ObjectImpl /** * Create a request to invoke the method of this CORBA object. * - * @param operation the name of the method to invoke. + * @param method the name of the method to invoke. * @param response_expected specifies if this is one way message or the * response to the message is expected. * @@ -323,7 +320,6 @@ public abstract class ObjectImpl * * The default method returns without action. * - * @param self the object. * @param servant the servant. */ public void _servant_postinvoke(ServantObject servant) @@ -336,9 +332,8 @@ public abstract class ObjectImpl * The servant can also be casted to the expected type, calling the * required method directly. * - * @param self the object - * @param operation the operation - * @param expectedType the expected type of the servant. + * @param method the operation + * @param expected_type the expected type of the servant. * * This implementation always returns null; override for different * behavior. @@ -372,10 +367,10 @@ public abstract class ObjectImpl * them. */ public org.omg.CORBA.Object _set_policy_override(Policy[] policies, - SetOverrideType set_add + SetOverrideType how ) { - return delegate.set_policy_override(this, policies, set_add); + return delegate.set_policy_override(this, policies, how); } /** diff --git a/libjava/classpath/org/omg/CORBA/portable/ServantObject.java b/libjava/classpath/org/omg/CORBA/portable/ServantObject.java index b35dedc3529..253defc0a92 100644 --- a/libjava/classpath/org/omg/CORBA/portable/ServantObject.java +++ b/libjava/classpath/org/omg/CORBA/portable/ServantObject.java @@ -1,5 +1,5 @@ /* ServantObject.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,7 @@ package org.omg.CORBA.portable; * * @see ObjectImpl#_servant_preinvoke(String, Class) * @see ObjectImpl#_servant_postinvoke(ServantObject) - * @see Delegate#servant_preinvoke(org.omg.CORBA.Object, String operation, Class) + * @see Delegate#servant_preinvoke(org.omg.CORBA.Object, String, Class) * @see Delegate#servant_postinvoke(org.omg.CORBA.Object, ServantObject) * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) diff --git a/libjava/classpath/org/omg/CORBA/portable/StreamableValue.java b/libjava/classpath/org/omg/CORBA/portable/StreamableValue.java index ce9b2ca2840..7ab61a6d470 100644 --- a/libjava/classpath/org/omg/CORBA/portable/StreamableValue.java +++ b/libjava/classpath/org/omg/CORBA/portable/StreamableValue.java @@ -1,5 +1,5 @@ /* StreamableValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,7 @@ import java.io.Serializable; * If the value type does not provide the user defined methods for reading * and writing its content, it must implement this interface for reading * and writing the content in a default way. This is done by implementing - * the {@link Streamable#read} and {@link Streamable#write}. IDL compiler + * the {@link Streamable#_read} and {@link Streamable#_write}. IDL compiler * should generate the implementation of this interface automatically. * * @see CustomValue for specifying the user-defined io methods. diff --git a/libjava/classpath/org/omg/CORBA/portable/ValueFactory.java b/libjava/classpath/org/omg/CORBA/portable/ValueFactory.java index 339bcddb3f5..aaffe8684d9 100644 --- a/libjava/classpath/org/omg/CORBA/portable/ValueFactory.java +++ b/libjava/classpath/org/omg/CORBA/portable/ValueFactory.java @@ -59,4 +59,4 @@ public interface ValueFactory * the stream. */ Serializable read_value(org.omg.CORBA_2_3.portable.InputStream from_stream); -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/CORBA_2_3/ORB.java b/libjava/classpath/org/omg/CORBA_2_3/ORB.java index 82660fea705..0895b803788 100644 --- a/libjava/classpath/org/omg/CORBA_2_3/ORB.java +++ b/libjava/classpath/org/omg/CORBA_2_3/ORB.java @@ -1,5 +1,5 @@ /* ORB.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,12 +38,14 @@ exception statement from your version. */ package org.omg.CORBA_2_3; +import javax.rmi.CORBA.Tie; + import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.NO_IMPLEMENT; import org.omg.CORBA.portable.ValueFactory; /** - * This class should provide the {@link org.omg.CORBA.ORB) ORB extensions, + * This class should provide the {@link org.omg.CORBA.ORB}) ORB extensions, * defined in the OMG CORBA version 2.3 specification. However in the * Sun's API specification is written that this functionality is not * implemented at least at least till 1.4 inclusive. @@ -93,10 +95,9 @@ public abstract class ORB * * @param repository_id a repository id * - * @return never * @throws NO_IMPLEMENT, always. */ - public void unregister_value_factory(String id) + public void unregister_value_factory(String repository_id) { throw new NO_IMPLEMENT(); } @@ -117,7 +118,7 @@ public abstract class ORB } /** - * This method is called by RMI-IIOP {@link javax.rmi.Tie#orb(ORB)}, + * This method is called by RMI-IIOP {@link Tie#orb(ORB)}, * passing this as parameter. The ORB will try to connect * that tie as one of its objects. */ diff --git a/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java b/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java index 23055ef2d4d..349590eed2e 100644 --- a/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java +++ b/libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java @@ -1,5 +1,5 @@ /* InputStream.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -72,7 +72,7 @@ public abstract class InputStream * * As specified in OMG specification, this reads a single * boolean and then delegates either to {@link #read_Object()} (for false) - * or to {@link #read_Value()} (for true). + * or to {@link #read_value()} (for true). * * @return an abstract interface, unmarshaled from the stream. */ @@ -93,7 +93,7 @@ public abstract class InputStream * * As specified in OMG specification, this reads a single * boolean and then delegates either to {@link #read_Object(Class)} (for false) - * or to {@link #read_Value(Class)} (for true). + * or to {@link #read_value(Class)} (for true). * * @param clz a base class for the abstract interface. * @@ -125,8 +125,6 @@ public abstract class InputStream * {@link #read_value(Class)} or {@link #read_value(Serializable)} * instead. * - * @param repository_id a repository id of the value type. - * * @return an value type structure, unmarshaled from the stream */ public Serializable read_value() diff --git a/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java b/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java index 70f9a4913ba..f1369f78246 100644 --- a/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java +++ b/libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java @@ -1,5 +1,5 @@ /* OutputStream.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,8 @@ package org.omg.CORBA_2_3.portable; import gnu.CORBA.CDR.Vio; import org.omg.CORBA.portable.BoxedValueHelper; +import org.omg.CORBA.portable.CustomValue; +import org.omg.CORBA.portable.StreamableValue; import org.omg.CORBA.portable.ValueBase; import java.io.Serializable; @@ -92,7 +94,7 @@ public abstract class OutputStream * Writes a value type into the output stream. * * The value type must implement either {@link CustomValue} (for user-defined - * writing method) or {@link StramableValue} (for standard writing using code, + * writing method) or {@link StreamableValue} (for standard writing using code, * generated by IDL compiler). * * The written record will have a repository id, matching the class of the @@ -109,7 +111,7 @@ public abstract class OutputStream * Write value to the stream using the boxed value helper. * * The value type must implement either {@link CustomValue} - * (for user-defined writing method) or {@link StramableValue} + * (for user-defined writing method) or {@link StreamableValue} * (for standard writing using code, generated by IDL compiler). * * @param value a value to write. @@ -129,7 +131,7 @@ public abstract class OutputStream * writing two Id inheritance hierarchy. * * The value type must implement either {@link CustomValue} - * (for user-defined writing method) or {@link StramableValue} + * (for user-defined writing method) or {@link StreamableValue} * (for standard writing using code, generated by IDL compiler). * * @param value a value type object to write. @@ -144,7 +146,7 @@ public abstract class OutputStream * repository id. * * The value type must implement either {@link CustomValue} (for user-defined - * writing method) or {@link StramableValue} (for standard writing using code, + * writing method) or {@link StreamableValue} (for standard writing using code, * generated by IDL compiler). * * @param repository_id a repository id of the value type. diff --git a/libjava/classpath/org/omg/CosNaming/BindingIteratorHelper.java b/libjava/classpath/org/omg/CosNaming/BindingIteratorHelper.java index cb17d5748b3..5430905e5a0 100644 --- a/libjava/classpath/org/omg/CosNaming/BindingIteratorHelper.java +++ b/libjava/classpath/org/omg/CosNaming/BindingIteratorHelper.java @@ -1,5 +1,5 @@ /* BindingIteratorHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; @@ -126,15 +125,13 @@ public abstract class BindingIteratorHelper * performed to verify that the object actually supports the requested type. * The {@link BAD_OPERATION} will be thrown if unsupported operations are * invoked on the new returned reference, but no failure is expected at the - * time of the unchecked_narrow. + * time of the unchecked_narrow. See OMG issue 4158. * * @param obj the object to cast. * * @return the casted binding iterator. * * @since 1.5 - * - * @see OMG issue 4158. */ public static BindingIterator unchecked_narrow(org.omg.CORBA.Object obj) { diff --git a/libjava/classpath/org/omg/CosNaming/BindingType.java b/libjava/classpath/org/omg/CosNaming/BindingType.java index d78990349c0..480e7bb33ed 100644 --- a/libjava/classpath/org/omg/CosNaming/BindingType.java +++ b/libjava/classpath/org/omg/CosNaming/BindingType.java @@ -1,5 +1,5 @@ /* BindingType.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,7 +62,7 @@ public class BindingType /** * This constant means that the binding has been created by the - * means, different from the listed in {@link _ncontext} description. + * means, different from the listed in {@link #_ncontext} description. */ public static final int _nobject = 0; @@ -75,7 +75,7 @@ public class BindingType /** * This constant means that the binding has been created by the - * means, different from the listed in {@link _ncontext} description. + * means, different from the listed in {@link #_ncontext} description. */ public static final BindingType nobject = new BindingType(_nobject); @@ -101,7 +101,7 @@ public class BindingType * @param value the binding type code. * @return the matching binding type instance. * - * @throws BAD_KIND if there is no matching binding type for + * @throws BAD_PARAM if there is no matching binding type for * the passed value. */ public static BindingType from_int(int value) diff --git a/libjava/classpath/org/omg/CosNaming/BindingTypeHelper.java b/libjava/classpath/org/omg/CosNaming/BindingTypeHelper.java index 8f456ee70da..542f3e0e97b 100644 --- a/libjava/classpath/org/omg/CosNaming/BindingTypeHelper.java +++ b/libjava/classpath/org/omg/CosNaming/BindingTypeHelper.java @@ -1,5 +1,5 @@ /* BindingTypeHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CosNaming/IstringHelper.java b/libjava/classpath/org/omg/CosNaming/IstringHelper.java index b90b452e69f..df680f43627 100644 --- a/libjava/classpath/org/omg/CosNaming/IstringHelper.java +++ b/libjava/classpath/org/omg/CosNaming/IstringHelper.java @@ -1,5 +1,5 @@ /* IstringHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -59,7 +59,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class IstringHelper { /** - * Insert the IString into Any (uses {@link Any.insert_string}). + * Insert the IString into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -70,7 +70,7 @@ public abstract class IstringHelper } /** - * Extract the IString from Any ((uses {@link Any.extract_string}). + * Extract the IString from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -100,7 +100,7 @@ public abstract class IstringHelper /** * Calls {@link InputStream#read_string()}. * - * @param instream the stream to read from. + * @param istream the stream to read from. */ public static String read(InputStream istream) { @@ -108,7 +108,7 @@ public abstract class IstringHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param ostream the stream to write into. * @param value the string (IString) value to write. diff --git a/libjava/classpath/org/omg/CosNaming/NameComponentHelper.java b/libjava/classpath/org/omg/CosNaming/NameComponentHelper.java index 8127aa01d9c..0f7e73b45bd 100644 --- a/libjava/classpath/org/omg/CosNaming/NameComponentHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NameComponentHelper.java @@ -1,5 +1,5 @@ /* NameComponentHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -81,7 +81,7 @@ public abstract class NameComponentHelper /** * Get the repository Id of the {@link NameComponent}. - * @return + * @return "IDL:omg.org/CosNaming/NameComponent:1.0" */ public static String id() { diff --git a/libjava/classpath/org/omg/CosNaming/NameHelper.java b/libjava/classpath/org/omg/CosNaming/NameHelper.java index f66fa4f099d..d1dafb96064 100644 --- a/libjava/classpath/org/omg/CosNaming/NameHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NameHelper.java @@ -1,5 +1,5 @@ /* NameHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextExtHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextExtHelper.java index aca0e9dfd23..98d0b4a8c42 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextExtHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextExtHelper.java @@ -1,5 +1,5 @@ /* NamingContextExtHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; @@ -127,15 +126,13 @@ public abstract class NamingContextExtHelper * performed to verify that the object actually supports the requested type. * The {@link BAD_OPERATION} will be thrown if unsupported operations are * invoked on the new returned reference, but no failure is expected at the - * time of the unchecked_narrow. + * time of the unchecked_narrow. See OMG issue 4158. * * @param obj the object to cast. * * @return the casted NamingContextExt * * @since 1.5 - * - * @see OMG issue 4158. */ public static NamingContextExt unchecked_narrow(org.omg.CORBA.Object obj) { diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java index 81046074416..8333ff82633 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java @@ -1,5 +1,5 @@ /* AddressHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,7 +45,6 @@ import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.Streamable; /** * Helper operations for address. Address is directly mapped into diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java index c7f3849a0c1..ea17473e30c 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java @@ -1,5 +1,5 @@ /* InvalidAddressHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,7 +41,6 @@ package org.omg.CosNaming.NamingContextExtPackage; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; -import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java index 1149194624c..5ded186a65a 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java @@ -1,5 +1,5 @@ /* InvalidAddressHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,7 @@ import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.Streamable; +import org.omg.CosNaming.NamingContextPackage.NotEmpty; /** * The holder for the exception {@link InvalidAddress}. diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java index 06faa2ff940..f020cef8244 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java @@ -1,5 +1,5 @@ /* StringNameHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,11 +41,9 @@ package org.omg.CosNaming.NamingContextExtPackage; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.Streamable; /** * Helper operations for the string name. diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java index 173bb989eb7..b565530e553 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java @@ -1,5 +1,5 @@ /* URLStringHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,7 +41,6 @@ package org.omg.CosNaming.NamingContextExtPackage; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextHelper.java index 48b90c25ab0..6bbd0729f7e 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextHelper.java @@ -1,5 +1,5 @@ /* NamingContextHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; @@ -135,15 +134,11 @@ public abstract class NamingContextHelper * to verify that the object actually supports the requested type. The * {@link BAD_OPERATION} will be thrown if unsupported operations are invoked * on the new returned reference, but no failure is expected at the time of - * the unchecked_narrow. + * the unchecked_narrow. See OMG issue 4158. * * @param obj the object to cast. * * @return the casted NamingContext. - * - * @since 1.5 - * - * @see OMG issue 4158. */ public static NamingContext unchecked_narrow(org.omg.CORBA.Object obj) { diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java index f43111cb20b..1eaf50d1269 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java @@ -1,5 +1,5 @@ /* AlreadyBoundHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidName.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidName.java index 90ca3a5c5b3..59784ea1b86 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidName.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidName.java @@ -1,5 +1,5 @@ /* InvalidName.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,7 +40,6 @@ package org.omg.CosNaming.NamingContextPackage; import org.omg.CORBA.UserException; import org.omg.CORBA.portable.IDLEntity; -import org.omg.CosNaming.NameComponent; /** * The exception is thrown if the name has the zero length or is otherwise diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java index 5893332b804..b5a428cac2e 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java @@ -1,5 +1,5 @@ /* InvalidNameHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmpty.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmpty.java index 3fe98d56400..c80cfcc7acc 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmpty.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmpty.java @@ -71,4 +71,4 @@ public final class NotEmpty { super(why); } -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java index a9b802f9549..c4e06c39c16 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java @@ -1,5 +1,5 @@ /* NotEmptyHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java index 9d44dcbf383..ddc7701a58b 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java @@ -1,5 +1,5 @@ /* NotFoundReasonHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java index fc41b183392..a18801c66cb 100644 --- a/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java +++ b/libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java @@ -1,5 +1,5 @@ /* NotFoundReasonHolder.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -81,7 +81,9 @@ public final class NotFoundReasonHolder /** * Get the type code of {@link NotFoundReason}. - * @return + * + * @return the typecode of enumeration, allowed value names being + * "missing_node", "not_context" and "not_object" */ public TypeCode _type() { diff --git a/libjava/classpath/org/omg/CosNaming/_NamingContextExtImplBase.java b/libjava/classpath/org/omg/CosNaming/_NamingContextExtImplBase.java index 03630f8d674..617f7aec4ab 100644 --- a/libjava/classpath/org/omg/CosNaming/_NamingContextExtImplBase.java +++ b/libjava/classpath/org/omg/CosNaming/_NamingContextExtImplBase.java @@ -66,7 +66,7 @@ public abstract class _NamingContextExtImplBase extends _NamingContextImplBase implements NamingContextExt, InvokeHandler { - static Hashtable _methods = new Hashtable(); + static Hashtable _methods = new Hashtable(); static { @@ -234,4 +234,4 @@ public abstract class _NamingContextExtImplBase } gnu.CORBA.ServiceRequestAdapter.invoke(request, this, result); } -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/CosNaming/_NamingContextImplBase.java b/libjava/classpath/org/omg/CosNaming/_NamingContextImplBase.java index 33bddef5d74..1c2a56be60a 100644 --- a/libjava/classpath/org/omg/CosNaming/_NamingContextImplBase.java +++ b/libjava/classpath/org/omg/CosNaming/_NamingContextImplBase.java @@ -82,7 +82,7 @@ public abstract class _NamingContextImplBase * As there are quite many methods, it may be sensible to use the hashtable. * This field is also reused in NamingContextPOA. */ - static Hashtable methods = new Hashtable(); + static Hashtable methods = new Hashtable(); /** * Put all methods into the table. @@ -412,4 +412,4 @@ public abstract class _NamingContextImplBase gnu.CORBA.ServiceRequestAdapter.invoke(request, this, result); } -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/DynamicAny/AnySeqHelper.java b/libjava/classpath/org/omg/DynamicAny/AnySeqHelper.java index ddf1422ff17..31ed2ba0253 100644 --- a/libjava/classpath/org/omg/DynamicAny/AnySeqHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/AnySeqHelper.java @@ -1,5 +1,5 @@ /* AnySeqHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; +import org.omg.CORBA.AnySeqHolder; import org.omg.CORBA.ORB; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryHelper.java b/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryHelper.java index 97b54873fbd..612ba71c3f8 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryHelper.java @@ -1,5 +1,5 @@ /* DynAnyFactoryHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,9 +42,9 @@ package org.omg.DynamicAny; import gnu.CORBA.Minor; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -88,15 +88,13 @@ public abstract class DynAnyFactoryHelper * Narrow the given object to the DynAnyFactory. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See also OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynAnyFactory. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynAnyFactory unchecked_narrow(org.omg.CORBA.Object obj) { @@ -163,7 +161,7 @@ public abstract class DynAnyFactoryHelper * This should read DynAnyFactory from the CDR input stream, but (following * the JDK 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryOperations.java b/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryOperations.java index 058e369580d..c3cd919ade1 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryOperations.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryOperations.java @@ -1,5 +1,5 @@ /* DynAnyFactoryOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package org.omg.DynamicAny; import org.omg.CORBA.Any; +import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode; @@ -83,7 +84,7 @@ public interface DynAnyFactoryOperations * * * {@link Any} - * {@link Any} with no value and typecode of kind {@link TCKind.tk_null} + * {@link Any} with no value and typecode of kind {@link TCKind#tk_null} * {@link DynAny} * * diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java b/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java index 96dbb5fb63d..0184172265d 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java @@ -1,5 +1,5 @@ /* InconsistentTypeCodeHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyHelper.java b/libjava/classpath/org/omg/DynamicAny/DynAnyHelper.java index a238bf48baa..315cddbd2dc 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyHelper.java @@ -1,5 +1,5 @@ /* DynAnyHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,9 +41,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -86,15 +86,13 @@ public abstract class DynAnyHelper * Narrow the given object to the DynAny. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See also OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynAny. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynAny unchecked_narrow(org.omg.CORBA.Object obj) { @@ -160,7 +158,7 @@ public abstract class DynAnyHelper * This should read DynAny from the CDR input stream, but (following the JDK * 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyOperations.java b/libjava/classpath/org/omg/DynamicAny/DynAnyOperations.java index 0e743136d38..a009f4c8805 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyOperations.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyOperations.java @@ -1,5 +1,5 @@ /* DynAnyOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify @@ -263,7 +263,7 @@ public interface DynAnyOperations * Insert the {@link Any} value into the enclosed {@link Any} inside this * DynAny. * - * @param a_x the value being inserted. + * @param an_any the value being inserted. * @throws InvalidValue if the value type does not match the typecode of the * enclosed {@link Any}. */ @@ -452,7 +452,7 @@ public interface DynAnyOperations throws InvalidValue, TypeMismatch; /** - * Advances the internal pointer, described in the {@link current_component}, + * Advances the internal pointer, described in the {@link #current_component}, * one position forward. * * @return true if the pointer now points to the new component, false if there @@ -462,13 +462,13 @@ public interface DynAnyOperations boolean next(); /** - * Moves the internal pointer, described in the {@link current_component}, to + * Moves the internal pointer, described in the {@link #current_component}, to * the first component. */ void rewind(); /** - * Moves the internal pointer, described in the {@link current_component}, to + * Moves the internal pointer, described in the {@link #current_component}, to * the given position. * * @param p the number of the internal component on that the internal pointer @@ -537,4 +537,4 @@ public interface DynAnyOperations */ DynAny get_dyn_any() throws TypeMismatch, InvalidValue; -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java b/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java index 0258d358919..d27ad6a6b8b 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java @@ -1,5 +1,5 @@ /* InvalidValueHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java b/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java index 244a98aa0b8..7d4fc878938 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java @@ -1,5 +1,5 @@ /* TypeMismatchHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/DynamicAny/DynAnySeqHelper.java b/libjava/classpath/org/omg/DynamicAny/DynAnySeqHelper.java index 66208ea19ee..f7550fd7969 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynAnySeqHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynAnySeqHelper.java @@ -1,5 +1,5 @@ /* DynAnySeq.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,7 +51,7 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * A helper operations for the array of {@link DynAny} ({@link DynAnySeq}). + * A helper operations for the array of {@link DynAny} (DynAny[]). * Following the 1.5 JDK specifications, DynAny (and hence an sequence of * DynAny's) is always a local object, so the two methods of this helper * ({@link #read} and {@link #write} are not in use, always throwing @@ -133,7 +133,7 @@ public abstract class DynAnySeqHelper * The method should write this object to the CDR input stream, but * (following the JDK 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynArrayHelper.java b/libjava/classpath/org/omg/DynamicAny/DynArrayHelper.java index 26824d747ae..4cd3e3a52cf 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynArrayHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynArrayHelper.java @@ -1,5 +1,5 @@ /* DynArrayHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -85,16 +85,14 @@ public abstract class DynArrayHelper * Narrow the given object to the DynArray. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynArray. * * @since 1.5 - * - * @see OMG issue 4158. - */ + */ public static DynArray unchecked_narrow(org.omg.CORBA.Object obj) { return narrow(obj); @@ -159,7 +157,7 @@ public abstract class DynArrayHelper * This should read DynArray from the CDR input stream, but (following the JDK * 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynEnumHelper.java b/libjava/classpath/org/omg/DynamicAny/DynEnumHelper.java index 9af2e11948e..da63e844f91 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynEnumHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynEnumHelper.java @@ -1,5 +1,5 @@ /* DynEnumHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,9 +41,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -86,15 +86,13 @@ public abstract class DynEnumHelper * Narrow the given object to the DynEnum. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynEnum. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynEnum unchecked_narrow(org.omg.CORBA.Object obj) { @@ -160,7 +158,7 @@ public abstract class DynEnumHelper * This should read DynEnum from the CDR input stream, but (following the JDK * 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynFixedHelper.java b/libjava/classpath/org/omg/DynamicAny/DynFixedHelper.java index 4471bb26b03..e730d43bb85 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynFixedHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynFixedHelper.java @@ -1,5 +1,5 @@ /* DynFixedHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,9 +41,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -86,15 +86,13 @@ public abstract class DynFixedHelper * Narrow the given object to the DynFixed. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynFixed. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynFixed unchecked_narrow(org.omg.CORBA.Object obj) { @@ -160,7 +158,7 @@ public abstract class DynFixedHelper * This should read DynFixed from the CDR input stream, but (following the JDK * 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynSequenceHelper.java b/libjava/classpath/org/omg/DynamicAny/DynSequenceHelper.java index 0aa7cdd2ab9..f330108b0eb 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynSequenceHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynSequenceHelper.java @@ -1,5 +1,5 @@ /* DynSequenceHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -85,15 +85,13 @@ public abstract class DynSequenceHelper * Narrow the given object to the DynSequence. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynSequence. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynSequence unchecked_narrow(org.omg.CORBA.Object obj) { @@ -159,7 +157,7 @@ public abstract class DynSequenceHelper * This should read DynSequence from the CDR input stream, but (following the * JDK 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynStructHelper.java b/libjava/classpath/org/omg/DynamicAny/DynStructHelper.java index c683260f67d..077b7d09824 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynStructHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynStructHelper.java @@ -1,5 +1,5 @@ /* DynStructHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -85,15 +85,13 @@ public abstract class DynStructHelper * Narrow the given object to the DynStruct. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynStruct. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynStruct unchecked_narrow(org.omg.CORBA.Object obj) { @@ -159,7 +157,7 @@ public abstract class DynStructHelper * This should read DynStruct from the CDR input stream, but (following the * JDK 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynStructOperations.java b/libjava/classpath/org/omg/DynamicAny/DynStructOperations.java index 3b5af171044..03524b2f9ab 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynStructOperations.java +++ b/libjava/classpath/org/omg/DynamicAny/DynStructOperations.java @@ -1,5 +1,5 @@ /* DynStructOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify @@ -101,7 +101,7 @@ public interface DynStructOperations * @specnote The name-based value assignment is not supported by Sun's jdk * 1.4. * - * @param an array of NameDynValuePair's, each defining a single field in the + * @param value an array of NameDynValuePair's, each defining a single field in the * structure. * * @throws TypeMismatch if the member of the passed array has a different type @@ -125,7 +125,7 @@ public interface DynStructOperations * @specnote The name-based value assignment is not supported by Sun's jdk * 1.4. * - * @param an array of NameValuePair's, each defining a single field in the + * @param value an array of NameValuePair's, each defining a single field in the * structure. * * @throws TypeMismatch if the member of the passed array has a different type diff --git a/libjava/classpath/org/omg/DynamicAny/DynUnionHelper.java b/libjava/classpath/org/omg/DynamicAny/DynUnionHelper.java index e868ea41260..f1016d078af 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynUnionHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynUnionHelper.java @@ -1,5 +1,5 @@ /* DynUnionHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -85,15 +85,13 @@ public abstract class DynUnionHelper * Narrow the given object to the DynUnion. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynUnion. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynUnion unchecked_narrow(org.omg.CORBA.Object obj) { @@ -159,7 +157,7 @@ public abstract class DynUnionHelper * This should read DynUnion from the CDR input stream, but (following the JDK * 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/DynUnionOperations.java b/libjava/classpath/org/omg/DynamicAny/DynUnionOperations.java index c046e69e70e..30b891a2de9 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynUnionOperations.java +++ b/libjava/classpath/org/omg/DynamicAny/DynUnionOperations.java @@ -146,4 +146,4 @@ public interface DynUnionOperations */ void set_to_no_active_member() throws TypeMismatch; -} \ No newline at end of file +} diff --git a/libjava/classpath/org/omg/DynamicAny/DynValueHelper.java b/libjava/classpath/org/omg/DynamicAny/DynValueHelper.java index ad75bc31fe3..17d9bbc5a8b 100644 --- a/libjava/classpath/org/omg/DynamicAny/DynValueHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/DynValueHelper.java @@ -1,5 +1,5 @@ /* DynValueHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,9 @@ package org.omg.DynamicAny; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -85,15 +85,13 @@ public abstract class DynValueHelper * Narrow the given object to the DynValue. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted DynValue. * * @since 1.5 - * - * @see OMG issue 4158. */ public static DynValue unchecked_narrow(org.omg.CORBA.Object obj) { @@ -159,7 +157,7 @@ public abstract class DynValueHelper * This should read DynValue from the CDR input stream, but (following the JDK * 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/FieldNameHelper.java b/libjava/classpath/org/omg/DynamicAny/FieldNameHelper.java index f15b8adfa4f..fb5ea1c7fc7 100644 --- a/libjava/classpath/org/omg/DynamicAny/FieldNameHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/FieldNameHelper.java @@ -59,7 +59,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class FieldNameHelper { /** - * Insert the FieldName into Any (uses {@link Any.insert_string}). + * Insert the FieldName into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -70,7 +70,7 @@ public abstract class FieldNameHelper } /** - * Extract the FieldName from Any ((uses {@link Any.extract_string}). + * Extract the FieldName from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -100,7 +100,7 @@ public abstract class FieldNameHelper /** * Calls {@link InputStream#read_string()}. * - * @param instream the stream to read from. + * @param istream the stream to read from. */ public static String read(InputStream istream) { @@ -108,7 +108,7 @@ public abstract class FieldNameHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param ostream the stream to write into. * @param value the string (FieldName) value to write. diff --git a/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairHelper.java b/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairHelper.java index a9d9edba71a..4e133a51344 100644 --- a/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairHelper.java @@ -1,5 +1,5 @@ /* NameDynAnyPairHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -151,7 +151,7 @@ public abstract class NameDynAnyPairHelper * The method should write this object to the CDR input stream, but * (following the JDK 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java b/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java index 56e6104eca3..817ed8a70cc 100644 --- a/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java +++ b/libjava/classpath/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java @@ -1,5 +1,5 @@ /* NameDynAnyPairSeq.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -52,7 +52,7 @@ import org.omg.CORBA.portable.OutputStream; /** * A helper operations for the array of {@link NameDynAnyPair} - * ({@link NameDynAnyPairSeq}). + * (NameDynAnyPair[]). * * Following the 1.5 JDK specifications, DynAny (and hence the sequence * of structures, containing DynAny) is always a local object. @@ -132,7 +132,7 @@ public abstract class NameDynAnyPairSeqHelper * The method should write this object to the CDR input stream, but * (following the JDK 1.5 API) it does not. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/IOP/CodecFactoryHelper.java b/libjava/classpath/org/omg/IOP/CodecFactoryHelper.java index 89404f7d584..d3dc40935ae 100644 --- a/libjava/classpath/org/omg/IOP/CodecFactoryHelper.java +++ b/libjava/classpath/org/omg/IOP/CodecFactoryHelper.java @@ -1,5 +1,5 @@ /* CodecFactoryHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,10 +41,10 @@ package org.omg.IOP; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; @@ -120,15 +120,13 @@ public abstract class CodecFactoryHelper * Narrow the given object to the CodecFactory. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted CodecFactory. * * @since 1.5 - * - * @see OMG issue 4158. */ public static CodecFactory unchecked_narrow(org.omg.CORBA.Object obj) { @@ -141,7 +139,7 @@ public abstract class CodecFactoryHelper * * @specnote Suns implementation (1.4) throws this exception either. * - * @throws {@link MARSHAL}, minor code 0 and incomplete, always. + * @throws MARSHAL, minor code 0 and incomplete, always. */ public static CodecFactory read(InputStream input) { @@ -154,7 +152,7 @@ public abstract class CodecFactoryHelper * * @specnote Suns implementation (1.4) throws this exception either. * - * @throws {@link MARSHAL}, minor code 0 and incomplete, always. + * @throws MARSHAL, minor code 0 and incomplete, always. */ public static void write(OutputStream output, CodecFactory value) { diff --git a/libjava/classpath/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java b/libjava/classpath/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java index 8861e43da5f..2110f0d5b86 100644 --- a/libjava/classpath/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java +++ b/libjava/classpath/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java @@ -1,5 +1,5 @@ /* UnknownEncodingHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,7 +45,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.TCKind; import org.omg.CORBA.StructMember; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/IOP/CodecOperations.java b/libjava/classpath/org/omg/IOP/CodecOperations.java index 3dfae1207a7..873f546072a 100644 --- a/libjava/classpath/org/omg/IOP/CodecOperations.java +++ b/libjava/classpath/org/omg/IOP/CodecOperations.java @@ -1,5 +1,5 @@ /* CodecOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -66,7 +66,7 @@ public interface CodecOperations * by this {@link Codec} (wide char and wide string are not supported * by ENCODING_CDR_ENCAPS v 1.0). * - * @see decode(byte[]) + * @see #decode(byte[]) */ byte[] encode(Any that) throws InvalidTypeForEncoding; @@ -83,7 +83,7 @@ public interface CodecOperations * * @throws FormatMismatch on the invalid structure of the byte array. * - * @see encode(Any) + * @see #encode(Any) */ Any decode(byte[] them) throws FormatMismatch; @@ -96,7 +96,7 @@ public interface CodecOperations * @return the array, containing the encoded value alone (no preceeding * typecode). * - * @see decode_value(byte[], TypeCode) + * @see #decode_value(byte[], TypeCode) */ byte[] encode_value(Any that_value) throws InvalidTypeForEncoding; @@ -119,7 +119,7 @@ public interface CodecOperations * @throws TypeMismatch if discovered that the the byte array defines a * different structure. * - * @see encode_value(Any) + * @see #encode_value(Any) */ Any decode_value(byte[] them, TypeCode type) throws FormatMismatch, TypeMismatch; diff --git a/libjava/classpath/org/omg/IOP/CodecPackage/FormatMismatchHelper.java b/libjava/classpath/org/omg/IOP/CodecPackage/FormatMismatchHelper.java index 2a9295ae877..02097561747 100644 --- a/libjava/classpath/org/omg/IOP/CodecPackage/FormatMismatchHelper.java +++ b/libjava/classpath/org/omg/IOP/CodecPackage/FormatMismatchHelper.java @@ -1,5 +1,5 @@ /* FormatMismatchHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java b/libjava/classpath/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java index e2a8c905793..246a1b93ff0 100644 --- a/libjava/classpath/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java +++ b/libjava/classpath/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java @@ -1,5 +1,5 @@ /* InvalidTypeForEncodingHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/IOP/CodecPackage/TypeMismatchHelper.java b/libjava/classpath/org/omg/IOP/CodecPackage/TypeMismatchHelper.java index 432e84d24cb..88e00a243cb 100644 --- a/libjava/classpath/org/omg/IOP/CodecPackage/TypeMismatchHelper.java +++ b/libjava/classpath/org/omg/IOP/CodecPackage/TypeMismatchHelper.java @@ -1,5 +1,5 @@ /* TypeMismatchHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/IOP/ComponentIdHelper.java b/libjava/classpath/org/omg/IOP/ComponentIdHelper.java index 35ffd9a69e4..f94187698a4 100644 --- a/libjava/classpath/org/omg/IOP/ComponentIdHelper.java +++ b/libjava/classpath/org/omg/IOP/ComponentIdHelper.java @@ -1,5 +1,5 @@ /* ComponentIdHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/IOP/ExceptionDetailMessage.java b/libjava/classpath/org/omg/IOP/ExceptionDetailMessage.java index 167ab1ac7e9..92a068cbaf5 100644 --- a/libjava/classpath/org/omg/IOP/ExceptionDetailMessage.java +++ b/libjava/classpath/org/omg/IOP/ExceptionDetailMessage.java @@ -1,5 +1,5 @@ /* ExceptionDetailMessage.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,7 @@ package org.omg.IOP; * USER_EXCEPTION reply status, as the alternative to the stack trace * that might contain sensitive or unwanted information. The service * context contains the CDR-encapsulated wide string, usually - * returned by {@link Exception#getMessage}. + * returned by {@link Exception#getMessage()}. *

      * The applications may also send the more comprehensive UnknownExceptionInfo * ( = 9 ) service context that contains the thrown exception, written diff --git a/libjava/classpath/org/omg/IOP/MultipleComponentProfileHelper.java b/libjava/classpath/org/omg/IOP/MultipleComponentProfileHelper.java index 1c04ec54f9c..6a941dee6ad 100644 --- a/libjava/classpath/org/omg/IOP/MultipleComponentProfileHelper.java +++ b/libjava/classpath/org/omg/IOP/MultipleComponentProfileHelper.java @@ -1,5 +1,5 @@ /* MultipleComponentProfileHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.TCKind; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.portable.OutputStream; @@ -52,7 +51,7 @@ import org.omg.CORBA.portable.InputStream; /** * A helper operations for the array of {@link TaggedComponent} - * ({@link MultipleComponentProfile}). + * (MultipleComponentProfile). * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ diff --git a/libjava/classpath/org/omg/IOP/ProfileIdHelper.java b/libjava/classpath/org/omg/IOP/ProfileIdHelper.java index 340fa27d550..362b2dff35b 100644 --- a/libjava/classpath/org/omg/IOP/ProfileIdHelper.java +++ b/libjava/classpath/org/omg/IOP/ProfileIdHelper.java @@ -1,5 +1,5 @@ /* ProfileIdHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/IOP/ServiceContextListHelper.java b/libjava/classpath/org/omg/IOP/ServiceContextListHelper.java index 7875db29e1d..9de0b6ffd0d 100644 --- a/libjava/classpath/org/omg/IOP/ServiceContextListHelper.java +++ b/libjava/classpath/org/omg/IOP/ServiceContextListHelper.java @@ -1,5 +1,5 @@ /* ServiceContextListHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,21 +43,20 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** * The helper operations for the -* CORBA object {@link ServiceContext[]}. +* CORBA object {@link ServiceContext}[]. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public abstract class ServiceContextListHelper { /** - * Get the type code of the {@link ServiceContext[]}. + * Get the type code of the {@link ServiceContext}[]. */ public static TypeCode type() { diff --git a/libjava/classpath/org/omg/IOP/ServiceIdHelper.java b/libjava/classpath/org/omg/IOP/ServiceIdHelper.java index 084dbd06d97..9c4cbbe4a3d 100644 --- a/libjava/classpath/org/omg/IOP/ServiceIdHelper.java +++ b/libjava/classpath/org/omg/IOP/ServiceIdHelper.java @@ -1,5 +1,5 @@ /* ServiceIdHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; -import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/IOP/TAG_CODE_SETS.java b/libjava/classpath/org/omg/IOP/TAG_CODE_SETS.java index cc775248379..07c5c9c3200 100644 --- a/libjava/classpath/org/omg/IOP/TAG_CODE_SETS.java +++ b/libjava/classpath/org/omg/IOP/TAG_CODE_SETS.java @@ -1,5 +1,5 @@ /* TAG_CODE_SETS.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,7 @@ package org.omg.IOP; * profile provides information about the native and supported encodings * for the "narrow" (usually 8 bit) and "wide" (usually 16 bit) characters. * In Gnu Classpath implementation the class, responsible for providing - * this information is {@link gnu.CORBA.CharSets_OSF}. + * this information is {@link gnu.CORBA.GIOP.CharSets_OSF}. *

      *

      * If this profile is missing, it is assumed, that the "narrow" characters diff --git a/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInfoOperations.java b/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInfoOperations.java index 73efa122f2e..e4d70211a13 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInfoOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInfoOperations.java @@ -1,5 +1,5 @@ /* ClientRequestInfoOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package org.omg.PortableInterceptor; import org.omg.CORBA.Any; +import org.omg.CORBA.BAD_INV_ORDER; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.INV_POLICY; import org.omg.CORBA.Policy; @@ -285,8 +286,6 @@ public interface ClientRequestInfoOperations extends RequestInfoOperations * @param type the type of the policy being requested. * * @return should return the policy that applies to this operation. - * - * @throws NO_IMPLEMENT always. */ Policy get_request_policy(int type) throws INV_POLICY; diff --git a/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java b/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java index 4a60b77f5d1..efd98707bd6 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java @@ -1,5 +1,5 @@ /* ClientRequestInterceptorOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package org.omg.PortableInterceptor; +import org.omg.CORBA.SystemException; + /** * Defines operations, applicable to the client side request interceptor. The diff --git a/libjava/classpath/org/omg/PortableInterceptor/CurrentHelper.java b/libjava/classpath/org/omg/PortableInterceptor/CurrentHelper.java index e453f601021..88ab0e2708d 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/CurrentHelper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/CurrentHelper.java @@ -1,5 +1,5 @@ /* CurrentHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,13 +42,12 @@ import gnu.CORBA.Minor; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; -import org.omg.PortableServer.ServantActivator; /** * The helper operations for the CORBA object {@link Current}. @@ -123,15 +122,13 @@ public abstract class CurrentHelper * Narrow the given object to the Current. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See also OMG issue 4158. * * @param obj the object to cast. * * @return the casted Current. * * @since 1.5 - * - * @see OMG issue 4158. */ public static Current unchecked_narrow(org.omg.CORBA.Object obj) { diff --git a/libjava/classpath/org/omg/PortableInterceptor/IORInfo.java b/libjava/classpath/org/omg/PortableInterceptor/IORInfo.java index 9495d79ecec..ec7235102c8 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/IORInfo.java +++ b/libjava/classpath/org/omg/PortableInterceptor/IORInfo.java @@ -1,5 +1,5 @@ /* IORInfo.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,7 @@ import java.io.Serializable; * Provides the server-side ORB service possibility to add components to the new * IOR being created. Also, provides access to policies, applicable to the * object, referenced by that IOR. The ORB passes an instance of IORInfo as a - * parameter to {@link IORInterceptor#establish_components}. + * parameter to {@link IORInterceptorOperations#establish_components}. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ diff --git a/libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java b/libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java index 926974f1ab8..71fb928f791 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java @@ -1,5 +1,5 @@ /* IORInterceptor_3_0Helper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/PortableInterceptor/ORBIdHelper.java b/libjava/classpath/org/omg/PortableInterceptor/ORBIdHelper.java index 8332845a662..6b73b115133 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ORBIdHelper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ORBIdHelper.java @@ -1,5 +1,5 @@ /* ORBIdHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -58,7 +58,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class ORBIdHelper { /** - * Insert the ORB Id into Any (uses {@link Any.insert_string}). + * Insert the ORB Id into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -69,7 +69,7 @@ public abstract class ORBIdHelper } /** - * Extract the ORB Id from Any ((uses {@link Any.extract_string}). + * Extract the ORB Id from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -107,7 +107,7 @@ public abstract class ORBIdHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param output the stream to write into. * @param value the string (ORB Id) value to write. diff --git a/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoOperations.java b/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoOperations.java index 7b545ff8168..16710a08ab0 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoOperations.java @@ -1,5 +1,5 @@ /* ORBInitInfoOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package org.omg.PortableInterceptor; +import org.omg.CORBA.BAD_INV_ORDER; +import org.omg.CORBA.ORB; import org.omg.IOP.CodecFactory; import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName; @@ -90,7 +92,7 @@ public interface ORBInitInfoOperations throws DuplicateName; /** - * Allocate a slot on a {@link PortableInterceptor.Current}. While slots can + * Allocate a slot on a {@link Current} of this interceptor. While slots can * be allocated by this method, they cannot be initialized. * {@link CurrentOperations#get_slot} and {@link CurrentOperations#set_slot} * throw {@link org.omg.CORBA.BAD_INV_ORDER} while called from the interceptor @@ -103,8 +105,8 @@ public interface ORBInitInfoOperations /** * Returns the arguments passed to the ORB.init. * - * @return the first parameter, passed to the method - * {@link org.omg.CORBA.ORB#init}. + * @return the first parameter, passed to the methods from the group + * org.omg.CORBA.ORB#init(String[], ...). */ String[] arguments(); @@ -127,7 +129,7 @@ public interface ORBInitInfoOperations /** * Register the initial reference. The registered object will be accessible by - * the {@link ORB.resolve_initial_references} under the object_name. + * the {@link ORB#resolve_initial_references} under the object_name. * * @param object_name the name of the object to register. * @param object the object to register. diff --git a/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java b/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java index a87a3b747fd..329fcf56462 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java @@ -1,5 +1,5 @@ /* InvalidNameHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableInterceptor/ORBInitializerOperations.java b/libjava/classpath/org/omg/PortableInterceptor/ORBInitializerOperations.java index 90c2325f22b..d5dd771fd98 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ORBInitializerOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ORBInitializerOperations.java @@ -1,5 +1,5 @@ /* ORBInitializerOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -67,7 +67,7 @@ public interface ORBInitializerOperations * @param info the object describing ORB being created and containing methods * to register the interceptor. * - * @see ORBInitInfoOperations#register_initial_references + * @see ORBInitInfoOperations#register_initial_reference */ void post_init(ORBInitInfo info); } \ No newline at end of file diff --git a/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java b/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java index 72c864811f7..b9a237dce77 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java @@ -1,5 +1,5 @@ /* ObjectReferenceFactoryHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.ValueMember; import org.omg.CORBA.portable.InputStream; diff --git a/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java b/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java index 014c11308c2..0ea54ea5f30 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java @@ -1,5 +1,5 @@ /* ObjectReferenceTemplateHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.VM_ABSTRACT; import org.omg.CORBA.ValueMember; diff --git a/libjava/classpath/org/omg/PortableInterceptor/RequestInfoOperations.java b/libjava/classpath/org/omg/PortableInterceptor/RequestInfoOperations.java index f865a14d258..10b9662a634 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/RequestInfoOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/RequestInfoOperations.java @@ -1,5 +1,5 @@ /* RequestInfoOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,7 @@ package org.omg.PortableInterceptor; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_PARAM; +import org.omg.CORBA.NO_RESOURCES; import org.omg.CORBA.TypeCode; import org.omg.Dynamic.Parameter; import org.omg.IOP.ServiceContext; @@ -182,7 +183,7 @@ public interface RequestInfoOperations * the client. However up till JDK 1.5 inclusive this method always returns * SYNC_WITH_TRANSPORT. * - * @return {@link org.omg.Messaging.SYNC_WITH_TRANSPORT.value (1), always. + * @return {@link org.omg.Messaging.SYNC_WITH_TRANSPORT#value} (1), always. * * @specnote as defined in the Suns 1.5 JDK API. */ diff --git a/libjava/classpath/org/omg/PortableInterceptor/ServerIdHelper.java b/libjava/classpath/org/omg/PortableInterceptor/ServerIdHelper.java index e4f8fe9c28f..84ffdfa8e66 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ServerIdHelper.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ServerIdHelper.java @@ -1,5 +1,5 @@ /* ServerIdHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -58,7 +58,7 @@ import org.omg.CORBA.portable.OutputStream; public abstract class ServerIdHelper { /** - * Insert the Server Id into Any (uses {@link Any.insert_string}). + * Insert the Server Id into Any (uses {@link Any#insert_string}). * * @param a the Any to insert into. * @param that the string to insert. @@ -69,7 +69,7 @@ public abstract class ServerIdHelper } /** - * Extract the Server Id from Any ((uses {@link Any.extract_string}). + * Extract the Server Id from Any ((uses {@link Any#extract_string}). * * @param a the Any to extract from. */ @@ -107,7 +107,7 @@ public abstract class ServerIdHelper } /** - * Calls {@link OutputStream#write_string()}. + * Calls {@link OutputStream#write_string(String)}. * * @param output the stream to write into. * @param value the string (Server Id) value to write. diff --git a/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInfoOperations.java b/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInfoOperations.java index a9ee7d92032..52de9d824c0 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInfoOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInfoOperations.java @@ -1,5 +1,5 @@ /* ServerRequestInfoOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package org.omg.PortableInterceptor; import org.omg.CORBA.Any; +import org.omg.CORBA.BAD_INV_ORDER; import org.omg.CORBA.INV_POLICY; import org.omg.CORBA.Policy; import org.omg.IOP.ServiceContext; @@ -287,7 +288,7 @@ public interface ServerRequestInfoOperations /** * Checks if the servant is the given repository id. * - * @param the repository id to compare. + * @param id the repository id to compare. * * @return true if the servant repository id matches the parameter, false * otherwise. diff --git a/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java b/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java index b57ca28f7ac..ccba1a76efa 100644 --- a/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java +++ b/libjava/classpath/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java @@ -38,6 +38,8 @@ exception statement from your version. */ package org.omg.PortableInterceptor; +import org.omg.CORBA.SystemException; + /** * Defines operations, applicable to the server side request interceptor. The @@ -50,16 +52,16 @@ public interface ServerRequestInterceptorOperations { /** * ORB calls this method before invoking the servant manager. Operation - * parameters are not available at this point. The interceptor has possibility + * parameters are not available at this point. The interceptor has possibility * to forward the request by throwing {@link ForwardRequest}. - * - * @throws SystemException if it does, the receive_request_service_contexts is - * not called for the subsequent interceptors, calling send_exception instead. - * The completion status of such exception must be COMPLETED_NO. - * + * + * @throws SystemException if it does, the receive_request_service_contexts is + * not called for the subsequent interceptors, calling + * send_exception instead. The completion status of such exception + * must be COMPLETED_NO. * @throws ForwardRequest to forward the invocation to another target. The - * receive_request_service_contexts is not called for the subsequent - * interceptors, calling send_other instead. + * receive_request_service_contexts is not called for the subsequent + * interceptors, calling send_other instead. */ void receive_request_service_contexts(ServerRequestInfo info) throws ForwardRequest; diff --git a/libjava/classpath/org/omg/PortableServer/AdapterActivatorOperations.java b/libjava/classpath/org/omg/PortableServer/AdapterActivatorOperations.java index dcf7edd0463..d1091852e7a 100644 --- a/libjava/classpath/org/omg/PortableServer/AdapterActivatorOperations.java +++ b/libjava/classpath/org/omg/PortableServer/AdapterActivatorOperations.java @@ -1,5 +1,5 @@ /* AdapterActivatorOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package org.omg.PortableServer; +import org.omg.CORBA.OBJECT_NOT_EXIST; + /** * Defines the operations, applicable to the AdapterActivator. diff --git a/libjava/classpath/org/omg/PortableServer/CurrentHelper.java b/libjava/classpath/org/omg/PortableServer/CurrentHelper.java index 3afbf669b4b..f201e38bc1b 100644 --- a/libjava/classpath/org/omg/PortableServer/CurrentHelper.java +++ b/libjava/classpath/org/omg/PortableServer/CurrentHelper.java @@ -1,5 +1,5 @@ /* CurrentHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,9 +41,9 @@ package org.omg.PortableServer; import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.NO_IMPLEMENT; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/CurrentPackage/NoContextHelper.java b/libjava/classpath/org/omg/PortableServer/CurrentPackage/NoContextHelper.java index 02c74c535c5..4a2a9a6a096 100644 --- a/libjava/classpath/org/omg/PortableServer/CurrentPackage/NoContextHelper.java +++ b/libjava/classpath/org/omg/PortableServer/CurrentPackage/NoContextHelper.java @@ -1,5 +1,5 @@ /* NoContextHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/ForwardRequestHelper.java b/libjava/classpath/org/omg/PortableServer/ForwardRequestHelper.java index b30a2abebbb..d5d5751b9e7 100644 --- a/libjava/classpath/org/omg/PortableServer/ForwardRequestHelper.java +++ b/libjava/classpath/org/omg/PortableServer/ForwardRequestHelper.java @@ -1,5 +1,5 @@ /* ForwardRequestHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package org.omg.PortableServer; import gnu.CORBA.Minor; +import gnu.CORBA.ObjectCreator; import gnu.CORBA.OrbRestricted; import gnu.CORBA.Poa.ForwardRequestHolder; diff --git a/libjava/classpath/org/omg/PortableServer/IdAssignmentPolicyValue.java b/libjava/classpath/org/omg/PortableServer/IdAssignmentPolicyValue.java index ac81d389cdd..cc6f3962a08 100644 --- a/libjava/classpath/org/omg/PortableServer/IdAssignmentPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/IdAssignmentPolicyValue.java @@ -1,5 +1,5 @@ /* IdAssignmentPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/IdUniquenessPolicyValue.java b/libjava/classpath/org/omg/PortableServer/IdUniquenessPolicyValue.java index c0f281249b0..0294ee20997 100644 --- a/libjava/classpath/org/omg/PortableServer/IdUniquenessPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/IdUniquenessPolicyValue.java @@ -1,5 +1,5 @@ /* IdUniquenessPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicyValue.java b/libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicyValue.java index 9d81d5fab81..6631424c47d 100644 --- a/libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicyValue.java @@ -1,5 +1,5 @@ /* ImplicitActivationPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/LifespanPolicyValue.java b/libjava/classpath/org/omg/PortableServer/LifespanPolicyValue.java index 117eb5a3c9e..e1ab856b031 100644 --- a/libjava/classpath/org/omg/PortableServer/LifespanPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/LifespanPolicyValue.java @@ -1,5 +1,5 @@ /* LifespanPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/POA.java b/libjava/classpath/org/omg/PortableServer/POA.java index 863a12bf821..624d658da74 100644 --- a/libjava/classpath/org/omg/PortableServer/POA.java +++ b/libjava/classpath/org/omg/PortableServer/POA.java @@ -1,5 +1,5 @@ /* POA.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,8 +55,8 @@ import org.omg.CORBA.portable.IDLEntity; * strategies are possible. *

      * - * @see org.omg.CORBA.ORB.resolve_initial_references - * @see POAOperations.servant_to_reference + * @see org.omg.CORBA.ORB#resolve_initial_references + * @see POAOperations#servant_to_reference * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ diff --git a/libjava/classpath/org/omg/PortableServer/POAHelper.java b/libjava/classpath/org/omg/PortableServer/POAHelper.java index d6a951be52b..122cfb304c0 100644 --- a/libjava/classpath/org/omg/PortableServer/POAHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAHelper.java @@ -1,5 +1,5 @@ /* POAHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,9 +41,9 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import gnu.CORBA.OrbRestricted; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.TypeCode; -import org.omg.CORBA.ORB; import org.omg.CORBA.Any; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.MARSHAL; @@ -139,7 +139,7 @@ public abstract class POAHelper * it doesnot. The jdk 1.5 API specification defines that POA cannot be * exported. * - * @param input a org.omg.CORBA.portable stream to read from. + * @param output a org.omg.CORBA.portable stream to write into. * * @specenote Sun throws the same exception. * diff --git a/libjava/classpath/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java b/libjava/classpath/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java index e23d11997b4..e6a3068af0a 100644 --- a/libjava/classpath/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAManagerPackage/State.java b/libjava/classpath/org/omg/PortableServer/POAManagerPackage/State.java index 9e856098b0b..b32d420a85c 100644 --- a/libjava/classpath/org/omg/PortableServer/POAManagerPackage/State.java +++ b/libjava/classpath/org/omg/PortableServer/POAManagerPackage/State.java @@ -1,5 +1,5 @@ /* State.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,8 @@ package org.omg.PortableServer.POAManagerPackage; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; +import org.omg.CORBA.TRANSIENT; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; @@ -54,7 +56,7 @@ import java.io.Serializable; * receive and process requests. *
    • DISCARDING When the manager is in the discarding state, * the associated POAs discard all incoming requests. The sending clients - * receive the {@link org.omg.TRANSIENT} system exception, with standard + * receive the {@link TRANSIENT} system exception, with standard * minor code 1. This mode is needed for flow control, when the system is * flooded with requests. *
    • diff --git a/libjava/classpath/org/omg/PortableServer/POAOperations.java b/libjava/classpath/org/omg/PortableServer/POAOperations.java index 1c22ceed2e4..58d062d2bc6 100644 --- a/libjava/classpath/org/omg/PortableServer/POAOperations.java +++ b/libjava/classpath/org/omg/PortableServer/POAOperations.java @@ -1,5 +1,5 @@ /* POAOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,7 +38,11 @@ exception statement from your version. */ package org.omg.PortableServer; +import org.omg.CORBA.BAD_INV_ORDER; +import org.omg.CORBA.BAD_PARAM; +import org.omg.CORBA.OBJ_ADAPTER; import org.omg.CORBA.Policy; +import org.omg.CORBA.TRANSIENT; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.AdapterNonExistent; import org.omg.PortableServer.POAPackage.InvalidPolicy; @@ -107,7 +111,7 @@ public interface POAOperations * the Active Object Map using this Id a a key. If the servant * activator is set, its incarnate method will be called. In this case, * the passed servant in this method can be null; in this case, the servant, - * returned by {@link ServantLocatorOperations#incarnate} will + * returned by {@link ServantActivatorOperations#incarnate} will * be used. * * @param a_servant a servant that would serve the object with the @@ -129,7 +133,7 @@ public interface POAOperations * object with the provided Object Id. If the servant activator is * set, its incarnate method will be called. In this case, * the passed servant in this method can be null; in this case, the servant, - * returned by {@link ServantLocatorOperations#incarnate} will + * returned by {@link ServantActivatorOperations#incarnate} will * be used. * * @param an_Object_Id an object id for the given object. @@ -241,7 +245,7 @@ public interface POAOperations /** * Set a servant manager for this POA. * - * @param a servant manager being set. If the RETAIN policy applies, the + * @param a_manager servant manager being set. If the RETAIN policy applies, the * manager must implement a {@link ServantActivator}. If the NON_RETAIN * policy applies, the manager must implement a {@link ServantLocator}. * @@ -298,7 +302,7 @@ public interface POAOperations * @param the_Object_Id the object id. * * @throws ObjectNotActive if there is no active object with such Id. - * @throws WrongPolicy. This method requires either RETAIN or + * @throws WrongPolicy This method requires either RETAIN or * USE_DEFAULT_SERVANT policies and reaises the WrongPolicy if none of them * apply to this POA. */ @@ -328,7 +332,7 @@ public interface POAOperations * * @throws ObjectNotActive if none of the conditions above are satisfied. * @throws WrongAdapter if the object reference was not created with this POA. - * @throws WrongPolicy. This method requires either RETAIN or + * @throws WrongPolicy This method requires either RETAIN or * USE_DEFAULT_SERVANT policies and reaises the WrongPolicy if none of them * apply to this POA. */ @@ -408,7 +412,7 @@ public interface POAOperations /** * Set the adapter activator for this POA. * - * @param the activator being set. + * @param activator the activator being set. */ void the_activator(AdapterActivator activator); @@ -437,7 +441,7 @@ public interface POAOperations *

      Destroy this POA and all descendant POAs. The destroyed POAs can be * later re-created via {@link AdapterActivator} or by invoking * {@link #create_POA}. - * This differs from {@link PoaManagerOperations#deactivate} that does + * This differs from {@link POAManagerOperations#deactivate} that does * not allow recreation of the deactivated POAs. After deactivation, * recreation is only possible if the POAs were later destroyed. *

      @@ -462,7 +466,7 @@ public interface POAOperations /** * Create the IdUniquenessPolicy policy. * - * @param value states which one Id uniqueness policy will apply. + * @param a_value states which one Id uniqueness policy will apply. * * @return the created policy. */ @@ -471,7 +475,7 @@ public interface POAOperations /** * Create the ImplicitActivationPolicy policy. * - * @param value states which one activation policy will apply. + * @param a_value states which one activation policy will apply. * * @return the created policy. */ @@ -480,7 +484,7 @@ public interface POAOperations /** * Create the LifespanPolicy policy. * - * @param value states which one object lifespan policy will apply. + * @param a_value states which one object lifespan policy will apply. * * @return the created policy. */ @@ -489,7 +493,7 @@ public interface POAOperations /** * Create the RequestProcessingPolicy policy. * - * @param value states which one request processing policy will apply. + * @param a_value states which one request processing policy will apply. * * @return the created policy. */ @@ -498,7 +502,7 @@ public interface POAOperations /** * Create the ServantRetentionPolicy policy. * - * @param value states which one servant retention policy will apply. + * @param a_value states which one servant retention policy will apply. * * @return the created policy. */ @@ -507,7 +511,7 @@ public interface POAOperations /** * Create the ThreadPolicy policy. * - * @param value states which one thread policy will apply. + * @param a_value states which one thread policy will apply. * * @return the created policy. */ diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java index f616637ae26..6476eeaa5ac 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java @@ -1,5 +1,5 @@ /* AdapterAlreadyExistsHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java index bad920a5a4e..1c007fb43b9 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java @@ -1,5 +1,5 @@ /* AdapterNonExistentHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/InvalidPolicy.java b/libjava/classpath/org/omg/PortableServer/POAPackage/InvalidPolicy.java index 51ef615fbc2..470d9af4a0c 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/InvalidPolicy.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/InvalidPolicy.java @@ -69,7 +69,7 @@ public final class InvalidPolicy /** * Create InvalidPolicy with no explaining - * message and leaving {@link index} with default 0 value. + * message and leaving {@link #index} with default 0 value. */ public InvalidPolicy() { @@ -77,7 +77,7 @@ public final class InvalidPolicy /** * Create the InvalidPolicy with explaining - * message and initialisintg {@link index} to the passed value. + * message and initialisintg {@link #index} to the passed value. * * @param why a string, explaining, why this exception has been thrown. * @param a_index a value for index. @@ -90,7 +90,7 @@ public final class InvalidPolicy /** * Create the InvalidPolicy without explaining - * message and initialisintg {@link index} to the passed value. + * message and initialisintg {@link #index} to the passed value. * * @param a_index a value for index. */ diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/NoServantHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/NoServantHelper.java index b9afb8ed79e..56e8c4d16d9 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/NoServantHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/NoServantHelper.java @@ -1,5 +1,5 @@ /* NoServantHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java index bf5e9cd9ef2..7f2e1484c08 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java @@ -1,5 +1,5 @@ /* ObjectAlreadyActiveHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java index 2f5867cbdb5..4cdf80891cd 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java @@ -1,5 +1,5 @@ /* ObjectNotActiveHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java index 33ca0667482..30b0b52d021 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java @@ -1,5 +1,5 @@ /* ServantAlreadyActiveHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java index e86f4e948f7..f77ecfc50a6 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java @@ -1,5 +1,5 @@ /* ServantNotActiveHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java index 7650014c1f5..f1181fe61e5 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java @@ -1,5 +1,5 @@ /* WrongAdapterHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java b/libjava/classpath/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java index a9e7fc594d5..bd09c2e9643 100644 --- a/libjava/classpath/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java +++ b/libjava/classpath/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java @@ -1,5 +1,5 @@ /* WrongPolicyHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; -import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; diff --git a/libjava/classpath/org/omg/PortableServer/RequestProcessingPolicyValue.java b/libjava/classpath/org/omg/PortableServer/RequestProcessingPolicyValue.java index 0b1ce4d0bfa..2f22e309082 100644 --- a/libjava/classpath/org/omg/PortableServer/RequestProcessingPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/RequestProcessingPolicyValue.java @@ -1,5 +1,5 @@ /* RequestProcessingPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/Servant.java b/libjava/classpath/org/omg/PortableServer/Servant.java index 5c99ee1a0e3..24eb715a98d 100644 --- a/libjava/classpath/org/omg/PortableServer/Servant.java +++ b/libjava/classpath/org/omg/PortableServer/Servant.java @@ -80,7 +80,7 @@ import gnu.CORBA.Poa.gnuPOA; * The Servant type is a CORBA native type. *

      * - * @see POA.servant_to_reference(Servant) + * @see POA#servant_to_reference(Servant) * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ @@ -128,8 +128,7 @@ public abstract class Servant * Checks if the passed servant is an instance of the given CORBA IDL type. * By default, forwards the requet to the delegate. * - * @param a_servant a servant to check. - * @param an_id a repository ID, representing an IDL type for that the + * @param repository_id a repository ID, representing an IDL type for that the * servant must be checked. * * @return true if the servant is an instance of the given type, false @@ -166,7 +165,7 @@ public abstract class Servant * reference "RootPOA" for that orb. By default, forwards request to the * delegate. * - * @see ORB.resolve_initial_references + * @see ORB#resolve_initial_references */ public POA _default_POA() { @@ -214,7 +213,7 @@ public abstract class Servant * the given servant. This is important when the same servant serves * multiple objects. If the servant is not yet connected to the passed * orb, the method will try to connect it to that orb on POA, returned - * by the method {@link _default_POA}. That method can be overridden to + * by the method {@link #_default_POA}. That method can be overridden to * get poa where the object must be automatically connected when * calling this method. * diff --git a/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java b/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java index e1c4f09c869..48598aa20e0 100644 --- a/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java +++ b/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java @@ -1,5 +1,5 @@ /* ServantActivatorHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,7 +45,6 @@ import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; @@ -121,15 +120,13 @@ public abstract class ServantActivatorHelper * Narrow the given object to the ServantActivator. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted ServantActivator. * * @since 1.5 - * - * @see OMG issue 4158. */ public static ServantActivator unchecked_narrow(org.omg.CORBA.Object obj) { diff --git a/libjava/classpath/org/omg/PortableServer/ServantLocatorHelper.java b/libjava/classpath/org/omg/PortableServer/ServantLocatorHelper.java index 7bb933f7b9f..467464791da 100644 --- a/libjava/classpath/org/omg/PortableServer/ServantLocatorHelper.java +++ b/libjava/classpath/org/omg/PortableServer/ServantLocatorHelper.java @@ -1,5 +1,5 @@ /* ServantLocatorHelper.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,8 +43,8 @@ import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; @@ -121,15 +121,13 @@ public abstract class ServantLocatorHelper * Narrow the given object to the ServantLocator. For the objects that are * always local, this operation does not differ from the ordinary * {@link #narrow} (ClassCastException will be thrown if narrowing something - * different). + * different). See OMG issue 4158. * * @param obj the object to cast. * * @return the casted ServantLocator. * * @since 1.5 - * - * @see OMG issue 4158. */ public static ServantLocator unchecked_narrow(org.omg.CORBA.Object obj) { diff --git a/libjava/classpath/org/omg/PortableServer/ServantLocatorOperations.java b/libjava/classpath/org/omg/PortableServer/ServantLocatorOperations.java index 6ed214e2f27..58448c1af03 100644 --- a/libjava/classpath/org/omg/PortableServer/ServantLocatorOperations.java +++ b/libjava/classpath/org/omg/PortableServer/ServantLocatorOperations.java @@ -1,5 +1,5 @@ /* ServantLocatorOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -60,7 +60,7 @@ public interface ServantLocatorOperations * @param operation the name of the method or operation being invoked. * @param cookie_holder the holder where the servant manager can store * an arbitrary java.lang.Object. This object will be later passed as a - * cookie parameter for {@link postinvoke}, to create tie + * cookie parameter for {@link #postinvoke}, to create tie * between preinvoke and postinvoke. The application should not * suppose that each call of preinvoke is followed by the subsequent * postinvoke for the same invocation; under multi threaded policy these diff --git a/libjava/classpath/org/omg/PortableServer/ServantRetentionPolicyValue.java b/libjava/classpath/org/omg/PortableServer/ServantRetentionPolicyValue.java index 0b6ecf62fe1..607df1293a1 100644 --- a/libjava/classpath/org/omg/PortableServer/ServantRetentionPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/ServantRetentionPolicyValue.java @@ -1,5 +1,5 @@ /* ServantRetentionPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/ThreadPolicyValue.java b/libjava/classpath/org/omg/PortableServer/ThreadPolicyValue.java index 5c771a7d624..2ba1b8e821d 100644 --- a/libjava/classpath/org/omg/PortableServer/ThreadPolicyValue.java +++ b/libjava/classpath/org/omg/PortableServer/ThreadPolicyValue.java @@ -1,5 +1,5 @@ /* ThreadPolicyValue.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,7 @@ package org.omg.PortableServer; import gnu.CORBA.Minor; import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; import java.io.Serializable; diff --git a/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java b/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java index 6f907159380..f323f6d381c 100644 --- a/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java +++ b/libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java @@ -1,5 +1,5 @@ /* _ServantActivatorStub.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,18 +38,10 @@ exception statement from your version. */ package org.omg.PortableServer; -import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; -import org.omg.CORBA.ObjectHelper; -import org.omg.CORBA.portable.ApplicationException; -import org.omg.CORBA.portable.Delegate; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.ObjectImpl; -import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.RemarshalException; - import java.io.Serializable; +import org.omg.CORBA.portable.ObjectImpl; + /** *

      This ServantActivator stub is an optional base for the * servant activators. This stub cannot accept remote invocations, as diff --git a/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java b/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java index 8234ba2c79e..9f142e1e839 100644 --- a/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java +++ b/libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java @@ -1,5 +1,5 @@ /* _ServantLocatorStub.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. diff --git a/libjava/classpath/org/omg/PortableServer/portable/Delegate.java b/libjava/classpath/org/omg/PortableServer/portable/Delegate.java index 70e05e7bf05..3c61122b70c 100644 --- a/libjava/classpath/org/omg/PortableServer/portable/Delegate.java +++ b/libjava/classpath/org/omg/PortableServer/portable/Delegate.java @@ -1,5 +1,5 @@ /* DelegateOperations.java -- - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,11 +55,11 @@ public interface Delegate /** * Returns the root POA of the ORB instance, associated with this servant. * It is the same POA that would be returned by resolving the initial - * reference "RootPOA" for that orb. The default {@link Servant#default_POA} + * reference "RootPOA" for that orb. The default {@link Servant#_default_POA()} * method forwards call to the delegate can be overridden to * obtain the alternative default POA. * - * @see ORB.resolve_initial_references + * @see ORB#resolve_initial_references */ POA default_POA(Servant a_servant); diff --git a/libjava/classpath/org/omg/stub/java/rmi/_Remote_Stub.java b/libjava/classpath/org/omg/stub/java/rmi/_Remote_Stub.java index da597e9173f..0d0bac661dd 100644 --- a/libjava/classpath/org/omg/stub/java/rmi/_Remote_Stub.java +++ b/libjava/classpath/org/omg/stub/java/rmi/_Remote_Stub.java @@ -75,4 +75,4 @@ public final class _Remote_Stub return new String[] { "" }; } -} \ No newline at end of file +} diff --git a/libjava/classpath/resource/.cvsignore b/libjava/classpath/resource/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/resource/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/resource/META-INF/services/.cvsignore b/libjava/classpath/resource/META-INF/services/.cvsignore new file mode 100644 index 00000000000..00abb1c136f --- /dev/null +++ b/libjava/classpath/resource/META-INF/services/.cvsignore @@ -0,0 +1 @@ +java.util.prefs.PreferencesFactory diff --git a/libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory b/libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory deleted file mode 100644 index 8d05bb13ae6..00000000000 --- a/libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory +++ /dev/null @@ -1 +0,0 @@ -gnu.java.util.prefs.GConfBasedFactory diff --git a/libjava/classpath/resource/Makefile.am b/libjava/classpath/resource/Makefile.am index 09419642eac..4369810226f 100644 --- a/libjava/classpath/resource/Makefile.am +++ b/libjava/classpath/resource/Makefile.am @@ -1,7 +1,7 @@ ## used by automake to generate Makefile.in logging_DATA = java/util/logging/logging.properties -loggingdir = $(toolexeclibdir) +loggingdir = $(prefix)/lib security_DATA = java/security/classpath.security -securitydir = $(toolexeclibdir)/security +securitydir = $(prefix)/lib/security diff --git a/libjava/classpath/resource/Makefile.in b/libjava/classpath/resource/Makefile.in index b9be08aa0b2..118fe25dc71 100644 --- a/libjava/classpath/resource/Makefile.in +++ b/libjava/classpath/resource/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -168,6 +170,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -289,12 +293,11 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ logging_DATA = java/util/logging/logging.properties -loggingdir = $(toolexeclibdir) +loggingdir = $(prefix)/lib security_DATA = java/security/classpath.security -securitydir = $(toolexeclibdir)/security +securitydir = $(prefix)/lib/security all: all-am .SUFFIXES: diff --git a/libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties b/libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties deleted file mode 100644 index bbd7618a6b5..00000000000 --- a/libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties +++ /dev/null @@ -1,70 +0,0 @@ -# MessagesBundle.properties -- English language messages -# Copyright (C) 2004, 2006 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. - -gcjwebplugin.code_description=specify the code attribute -gcjwebplugin.codebase_description=specify the codebase attribute -gcjwebplugin.archive_description=specify the archive attribute -gcjwebplugin.width_description=specify the width attribute -gcjwebplugin.height_description=specify the height attribute -gcjwebplugin.param_description=specify the parameter arguments -gcjwebplugin.plugin_description=enable plugin mode -gcjwebplugin.verbose_description=enable verbose mode -gcjwebplugin.debug_description=enable debugging mode (not implemented) -gcjwebplugin.encoding_description=specify the HTML character encoding - -gcjwebplugin.no_input_files=appletviewer: no input files - -gcjwebplugin.menu_title=Applet -gcjwebplugin.menu_reload=Reload -gcjwebplugin.menu_restart=Restart -gcjwebplugin.menu_start=Start -gcjwebplugin.menu_stop=Stop -gcjwebplugin.menu_clone=Clone ... -gcjwebplugin.menu_quit=Quit -gcjwebplugin.menu_close=Close -gcjwebplugin.menu_tag=Tag ... -gcjwebplugin.menu_info=Info ... -gcjwebplugin.menu_edit=Edit -gcjwebplugin.menu_encoding=Character Encoding -gcjwebplugin.menu_print=Print ... -gcjwebplugin.menu_properties=Properties ... -gcjwebplugin.menu_cancel=Cancel -gcjwebplugin.menu_save=Save ... - -gcjwebplugin.console_title=GCJ web plugin console -gcjwebplugin.console_clear=Clear -gcjwebplugin.console_hide=Hide diff --git a/libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties b/libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties deleted file mode 100644 index 036b86f30cd..00000000000 --- a/libjava/classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties +++ /dev/null @@ -1,75 +0,0 @@ -# MessagesBundle_de.properties -- German language messages -# Copyright (C) 2004, 2006 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. - -# FIXME: rewrite this: -gcjwebplugin.help.0=Syntax: appletviewer [Optionen] .class | .html... | URL... -gcjwebplugin.help.1=Optionen: -gcjwebplugin.help.2= --help Diese Hilfe anzeigen and beenden -gcjwebplugin.help.3= --version Version anzeigen und beenden -gcjwebplugin.help.4= --code=[.class] Applet mit Klassen- oder Dateiname ausführen -gcjwebplugin.help.5= --codebase= Applet-Codebasis setzen -gcjwebplugin.help.6= --archive=.jar[,...] Archive zum Klassenlader hinzufügen -gcjwebplugin.help.7= --param=, Parameter an Applet übergeben -gcjwebplugin.help.8= --width= Setze Breite des Appletfensters -gcjwebplugin.help.9= --height= Setze Höhe des Appletfensters -gcjwebplugin.help.10= --plugin=, Pluginmodus einschalten -gcjwebplugin.help.11= -debug Starten des Applet-Viewers im Java-Debugger (nicht implementiert) -gcjwebplugin.help.12= -encoding Angabe der von HTML-Dateien verwendeten Zeichencodierung -gcjwebplugin.help.13= -J Übergeben des Arguments an den Java-Interpreter - -gcjwebplugin.no_input_files=appletviewer: keine Dateien angegeben - -gcjwebplugin.menu_title=Applet -gcjwebplugin.menu_reload=Neu laden -gcjwebplugin.menu_restart=Neu starten -gcjwebplugin.menu_start=Start -gcjwebplugin.menu_stop=Stop -gcjwebplugin.menu_clone=Klonen ... -gcjwebplugin.menu_quit=Beenden -gcjwebplugin.menu_tag=Tag ... -gcjwebplugin.menu_info=Informationen ... -gcjwebplugin.menu_edit=Bearbeiten -gcjwebplugin.menu_encoding=Zeichenkodierung -gcjwebplugin.menu_print=Drucken ... -gcjwebplugin.menu_properties=Eigenschaften ... -gcjwebplugin.menu_close=Schließen -gcjwebplugin.menu_cancel=Abbrechen -gcjwebplugin.menu_save=Speichern unter ... - -gcjwebplugin.console_title=GCJ web plugin Konsole -gcjwebplugin.console_clear=Löschen -gcjwebplugin.console_hide=Schließen diff --git a/libjava/classpath/resource/gnu/classpath/tools/appletviewer/messages.properties b/libjava/classpath/resource/gnu/classpath/tools/appletviewer/messages.properties new file mode 100644 index 00000000000..c826afa2197 --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/appletviewer/messages.properties @@ -0,0 +1,102 @@ +# messages.properties -- English language messages +# Copyright (C) 2004, 2006 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. + +Main.ErrorApplet=An error occurred while loading this applet. +Main.Usage=Usage: appletviewer [OPTION] -code CODE | URL... +Main.AppletTagOptions=Applet tag options +Main.CodeDescription=specify the code attribute +Main.CodeArgument=CODE +Main.CodebaseDescription=specify the codebase attribute +Main.CodebaseArgument=CODEBASE +Main.ArchiveDescription=specify the archive attribute +Main.ArchiveArgument=ARCHIVE +Main.WidthDescription=specify the width attribute +Main.WidthArgument=WIDTH +Main.HeightDescription=specify the height attribute +Main.HeightArgument=HEIGHT +Main.ParamDescription=specify the parameter arguments +Main.ParamArgument=NAME,VALUE +Main.PluginOption=Plugin option +Main.PluginDescription=enable plugin mode +Main.PluginArgument=INPUT,OUTPUT +Main.DebuggingOption=Debugging option +Main.VerboseDescription=enable verbose mode +Main.CompatibilityOptions=Compatibility options +Main.DebugDescription=enable debugging mode (not implemented) +Main.EncodingDescription=specify the HTML character encoding +Main.EncodingArgument=CHARSET +Main.SecurityWarning=WARNING: CURRENTLY GAPPLETVIEWER RUNS WITH NO\ + SECURITY MANAGER.\n\ +THIS MEANS THAT APPLETS YOU LOAD CAN DO ANYTHING A JAVA APPLICATION\n\ +THAT YOU DOWNLOAD AND RUN CAN DO. BE *VERY* CAREFUL WHICH APPLETS YOU RUN.\n\ +DO NOT USE GAPPLETVIEWER ON YOUR SYSTEM IF YOUR SYSTEM STORES IMPORTANT\ + DATA.\n\ +THIS DATA CAN BE DESTROYED OR STOLEN IF YOU LOAD A MALICIOUS APPLET. +Main.ContinuationPrompt=[press 'c' or 'C' to continue or anything else to quit] +Main.NoInputFiles=appletviewer: no input files +Main.RawArguments=Raw arguments: + +PluginAppletViewer.AppletViewerWrote=PIPE: applet viewer wrote: +PluginAppletViewer.AppletViewerRead=PIPE: applet viewer read: +PluginAppletViewer.AppletViewerExiting=appletviewer: exiting plugin applet\ + viewer + +StandaloneAppletContext.ShowDocumentError=showDocument is not implemented in\ + standalone mode + +StandaloneAppletViewer.ParsedAppletTags=Parsed applet tags: +StandaloneAppletViewer.Tag=tag +StandaloneAppletViewer.CodeOptionError=appletviewer: option '--code' requires\ + a class filename + +StandaloneAppletWindow.MenuTitle=Applet +StandaloneAppletWindow.MenuReload=Reload +StandaloneAppletWindow.MenuRestart=Restart +StandaloneAppletWindow.MenuStart=Start +StandaloneAppletWindow.MenuStop=Stop +StandaloneAppletWindow.MenuClone=Clone ... +StandaloneAppletWindow.MenuQuit=Quit +StandaloneAppletWindow.MenuClose=Close +StandaloneAppletWindow.MenuTag=Tag ... +StandaloneAppletWindow.MenuInfo=Info ... +StandaloneAppletWindow.MenuEdit=Edit +StandaloneAppletWindow.MenuEncoding=Character Encoding +StandaloneAppletWindow.MenuPrint=Print ... +StandaloneAppletWindow.MenuProperties=Properties ... +StandaloneAppletWindow.MenuCancel=Cancel +StandaloneAppletWindow.MenuSave=Save ... +StandaloneAppletWindow.WindowTitle=GNU Classpath Applet Viewer: diff --git a/libjava/classpath/resource/gnu/classpath/tools/common/Messages.properties b/libjava/classpath/resource/gnu/classpath/tools/common/Messages.properties new file mode 100644 index 00000000000..989fde74eee --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/common/Messages.properties @@ -0,0 +1,40 @@ +# MessagesBundle.properties -- English language messages +# Copyright (C) 2006 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. + +ClasspathToolParser.JArgument=pass argument to the Java runtime +ClasspathToolParser.JName=OPTION +ClasspathToolParser.VersionFormat={0} (GNU Classpath) {1}\n\nCopyright 2006 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions. There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/libjava/classpath/resource/gnu/classpath/tools/getopt/Messages.properties b/libjava/classpath/resource/gnu/classpath/tools/getopt/Messages.properties index 42827e6e33b..a747ab4b473 100644 --- a/libjava/classpath/resource/gnu/classpath/tools/getopt/Messages.properties +++ b/libjava/classpath/resource/gnu/classpath/tools/getopt/Messages.properties @@ -38,12 +38,9 @@ Parser.StdOptions=Standard options Parser.PrintHelp=print this help, then exit Parser.PrintVersion=print version number, then exit -Parser.JArgument=pass argument to the Java runtime -Parser.JName=OPTION Parser.ArgReqd=option ''{0}'' requires an argument Parser.Unrecognized=unrecognized option ''{0}'' Parser.NoArg=option ''{0}'' doesn''t allow an argument Parser.UnrecDash=unrecognized option ''-{0}'' Parser.TryHelpShort=Try ''{0} -help'' for more information Parser.TryHelpLong=Try ''{0} --help'' for more information -ClasspathToolParser.VersionFormat={0} (GNU Classpath) {1}\n\nCopyright 2006 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions. There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/libjava/classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties b/libjava/classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties new file mode 100644 index 00000000000..902166d5fdb --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties @@ -0,0 +1,33 @@ +# default locale messages for gnu.classpath.tools.jarsigner package + +Main.7=jarsigner: +Main.9=jarsigner error: +Main.70=JAR file [{0}] is NOT a file object +Main.72=JAR file [{0}] is NOT readable +#Main.85=Option '-keystore' is not defined or is an empty string, and 'user.home' is unknown +Main.85=Unable to locate a valid key store +Main.92=Enter key store password: +Main.6=Designated alias [{0}] MUST be known to the key store in use +Main.95=Designated alias [{0}] MUST be an Alias of a Key Entry +Main.97=Enter key password for <{0}>: +Main.99=Key associated with [{0}] MUST be a private key + +JarSigner.1=\ \ signing: +JarSigner.2=\ updating: +JarSigner.8=\ \ \ adding: +JarSigner.11=\ \ \ adding: +JarSigner.14=jar signed. + +JarVerifier.2=jar is not signed.--no signature files found. +JarVerifier.3=jar verification failed. +JarVerifier.4=jar partially verified --{0,numer} of {1,number} signers. +JarVerifier.7=jar verified --{0,number} signer(s). +JarVerifier.13=Signature Block missing for {0} +JarVerifier.14=At least one SignerInfo element MUST be present in a Signature Block (.DSA file) +JarVerifier.16=Missing EncryptedDigest in Signature Block (.DSA file) first SignerInfo element + +SFHelper.1=Helper is NOT finished +SFHelper.4=.SF file has NOT been generated +SFHelper.6=Unknown or unsupported private key algorithm +SFHelper.9=Helper is NOT ready +SFHelper.10=Helper is NOT started diff --git a/libjava/classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties b/libjava/classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties new file mode 100644 index 00000000000..2dd3ce2fc67 --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties @@ -0,0 +1,95 @@ +# default locale messages for gnu.classpath.tools.keytool package + +Main.6=keytool: +Main.8=keytool error: + +Command.19=Failed creating new file at {0} +Command.20=Unable to find a suitable signature algorithm named {0}, although we found a key-pair generation algorithm named {1} +Command.21=Enter key password for <{0}>: +Command.23=A correct key password MUST be provided +Command.24=Enter key store password: +#Command.36=Option '-keystore' is undefined, or is an empty string, and 'user.home' is unknown +Command.36=Unable to locate a valid key store +Command.40=Provider fully qualified class name: +Command.42=File object [{0}] exists but is NOT a file +Command.44=File [{0}] exists but is NOT writable +Command.46=File object [{0}] MUST be an existing readable file +Command.48=Signature algorithm is missing and private key is of unknown or unsupported type +Command.51=Validity period MUST be greater than zero +Command.52=Unable to get signature algorithm name +Command.60=Unknown or unsupported signature algorithm: {0} +Command.63=Saving key store at {0} +Command.66=Owner: {0} +Command.67=Issuer: {0} +Command.68=Serial number: {0,number} +Command.69=Valid from: {0,date,full} - {0,time,full} +Command.70=\ \ \ \ \ until: {0,date,full} - {0,time,full} +Command.71=Certificate fingerprints +Command.72=\ \ \ \ \ \ MD5: {0} +Command.73=\ \ SHA-160: {0} +Command.75=Alias [{0}] MUST be knwon to the key store +Command.77=Alias [{0}] MUST be associated with a Key Entry + +CertReqCmd.27=Certification request stored in {0} +CertReqCmd.28=Submit this to your CA + +DeleteCmd.19=Enter the Alias to delete: +DeleteCmd.20=Alias MUST NOT be null or an empty string + +GenKeyCmd.0=\nYou are about to enter information that will be incorporated into\n\ +your certificate request. This information is what is called a\n\ +Distinguished Name or DN. There are quite a few fields but you\n\ +can use supplied default values, displayed between brackets, by just\n\ +hitting , or blank the field by entering the <.> character\n\ +before hitting .\n\n +GenKeyCmd.6=The Sample Company +GenKeyCmd.7=Sydney +GenKeyCmd.8=NSW +GenKeyCmd.9=AU +GenKeyCmd.10=Common Name (hostname, IP, or your name): +GenKeyCmd.11=Organization Name (company) [{0}]: +GenKeyCmd.13=Organizational Unit Name (department, division): +GenKeyCmd.14=Locality Name (city, district) [{0}]: +GenKeyCmd.16=State or Province Name (full name) [{0}]: +GenKeyCmd.18=Country Name (2 letter code) [{0}]: +GenKeyCmd.54=Key size MUST be greater than zero + +StorePasswdCmd.19=Too many failed attempts +StorePasswdCmd.20=Enter new key store password: +StorePasswdCmd.21=Password MUST be at least 6 characters. +StorePasswdCmd.22=New password MUST be different than the old one. +StorePasswdCmd.23=Re-enter new key store password: +StorePasswdCmd.24=Passwords MUST be the same in both attempts. + +KeyPasswdCmd.24=Enter new key password for <{0}>: +KeyPasswdCmd.28=Re-enter new key password for <{0}>: + +KeyCloneCmd.23=Destination Alias MUST NOT exist in key store +KeyCloneCmd.26=Enter destination alias: +KeyCloneCmd.27=Destination alias MUST NOT be null nor empty +KeyCloneCmd.28=Enter new key password for <{0}> [{1}]: + +ListCmd.21=Key store type: {0} +ListCmd.22=Key store provider: {0} +ListCmd.24=Key store contains {0,number} entry(ies) +ListCmd.30=Alias name: {0} +ListCmd.31=Creation timestamp: {0,date,full} - {0,time,full} +ListCmd.32=Entry type: trusted-certificate +ListCmd.33=Entry type: key-entry +ListCmd.34=Alias [{0}] is unknown to the key store +ListCmd.38=Certificate chain length: {0,number} +ListCmd.39=Certificate[1]: +ListCmd.40=Certificate[{0,number}]: +ListCmd.42=******************************************* +ListCmd.43=-----BEGIN CERTIFICATE----- +ListCmd.44=-----END CERTIFICATE----- +ListCmd.45=Certificate fingerprint (MD5): {0} + +ImportCmd.34=Failed to establish chain-of-trust from reply +ImportCmd.37=Unable to find anchor certificate for {0} +ImportCmd.38=Public keys, in key store and certificate, MUST be of the same type +ImportCmd.32=Can this certificate be trusted? +ImportCmd.40=Key entry associated with {0} has an unknown or unsupported public key type {1} +ImportCmd.41=Public keys, in key store and certificate, MUST be the same +ImportCmd.29=Certificate was added to the key store +ImportCmd.28=Certificate was not added to the key store diff --git a/libjava/classpath/resource/gnu/classpath/tools/orbd/messages.properties b/libjava/classpath/resource/gnu/classpath/tools/orbd/messages.properties new file mode 100644 index 00000000000..b427d102bf1 --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/orbd/messages.properties @@ -0,0 +1,46 @@ +# messages.properties -- English language messages +# Copyright (C) 2006 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. + +Main.Usage=Usage: orbd [OPTIONS] +Main.ORBInitialPort=port on which persistent naming service is to be started +Main.Port=PORT +Main.IOR=file in which to store persistent naming service's IOR reference +Main.IORFile=FILE +Main.Restart=restart persistent naming service, clearing persistent naming database +Main.Directory=directory in which to store persistent data +Main.DirectoryArgument=DIRECTORY +Main.InternalError=orbd: internal error: diff --git a/libjava/classpath/resource/gnu/classpath/tools/rmic/messages.properties b/libjava/classpath/resource/gnu/classpath/tools/rmic/messages.properties new file mode 100644 index 00000000000..7be7cb0c732 --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/rmic/messages.properties @@ -0,0 +1,61 @@ +# messages.properties -- English language messages +# Copyright (C) 2006 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. + +Main.Usage:rmic [OPTIONS] CLASSNAME... +Main.NoWarn:show no warnings +Main.NoWrite:check for errors and do not write any files +Main.Verbose:show verbose output +Main.DirOpt:write generated files to given directory +Main.DirArg:DIRECTORY +Main.ClasspathOpt:where to find input classes +Main.ClasspathArg:PATH +Main.BootclasspathOpt:where to find classes used to run rmic (ignored) +Main.BootclasspathArg:PATH +Main.ExtdirsOpt:where to find extension classes used to run rmic (ignored) +Main.ExtdirsArg:PATH +Main.IIOP:generate stubs and ties for IIOP +Main.Always:always overwrite generated files (ignored) +Main.AlwaysGenerate:same as -always +Main.NoLocalStubs:do not create same-process stubs (ignored) +Main.POA:generate servant-based ties +Main.Keep:keep generated stub, skeleton and tie sources +Main.KeepGenerated:same as -keep +Main.v11:generate JDK 1.1 protocol stubs and skeletons +Main.v12:generate JDK 1.2 JRMP stubs (default) +Main.vcompat:generate JDK 1.1 protocol and JDK 1.2 JRMP stubs +Main.DebugInfo:include debugging information in generated classes +Main.InternalError:rmic: internal error: diff --git a/libjava/classpath/resource/gnu/classpath/tools/rmid/messages.properties b/libjava/classpath/resource/gnu/classpath/tools/rmid/messages.properties new file mode 100644 index 00000000000..234cea12a1e --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/rmid/messages.properties @@ -0,0 +1,50 @@ +# messages.properties -- English language messages +# Copyright (C) 2006 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. + +Main.Usage=Usage: rmid [OPTIONS] +Main.ControlGroup=Activation process control +Main.PortOption=port on which activation system is to be started +Main.Port=PORT +Main.Restart=restart activation system, clearing persistent naming database, if any +Main.Stop=stop activation system +Main.PersistenceGroup=Persistence +Main.Persistent=make activation system persistent +Main.Directory=directory in which to store persistent data +Main.DirectoryArgument=DIRECTORY +Main.DebugGroup=Debugging +Main.Verbose=log binding events to standard out +Main.InternalError=rmid: internal error: diff --git a/libjava/classpath/resource/gnu/classpath/tools/rmiregistry/messages.properties b/libjava/classpath/resource/gnu/classpath/tools/rmiregistry/messages.properties new file mode 100644 index 00000000000..46f7cfdb73f --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/rmiregistry/messages.properties @@ -0,0 +1,48 @@ +# messages.properties -- English language messages +# Copyright (C) 2006 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. + +Main.Usage=Usage: rmiregistry [OPTIONS] [PORT] +Main.ControlGroup=Registry process control +Main.Restart=restart RMI naming service, clearing persistent naming database, if any +Main.Stop=stop RMI naming service +Main.PersistenceGroup=Persistence +Main.Persistent=make RMI naming service persistent +Main.Directory=directory in which to store persistent data +Main.DirectoryArgument=DIRECTORY +Main.DebugGroup=Debugging +Main.Verbose=log binding events to standard out +Main.InternalError=rmiregistry: internal error: diff --git a/libjava/classpath/resource/gnu/classpath/tools/tnameserv/messages.properties b/libjava/classpath/resource/gnu/classpath/tools/tnameserv/messages.properties new file mode 100644 index 00000000000..3861e24ba08 --- /dev/null +++ b/libjava/classpath/resource/gnu/classpath/tools/tnameserv/messages.properties @@ -0,0 +1,43 @@ +# messages.properties -- English language messages +# Copyright (C) 2006 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. + +Main.Usage=Usage: tnameserv [OPTIONS] +Main.ORBInitialPort=port on which naming service is to be started +Main.Port=PORT +Main.IOR=file in which to store naming service's IOR reference +Main.IORFile=FILE +Main.InternalError=tnameserv: internal error: diff --git a/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties b/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties index ae8e141321b..f43bb6f8378 100644 --- a/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties +++ b/libjava/classpath/resource/gnu/java/util/regex/MessagesBundle_it.properties @@ -1,5 +1,5 @@ # Localized error messages for gnu.regexp, in Italian. -# $Id: MessagesBundle_it.properties,v 1.1 2006/07/19 19:47:07 rabbit78 Exp $ +# $Id: MessagesBundle_it.properties,v 1.2 2006/12/10 20:25:50 gnu_andrew Exp $ # Messaggi italiani per gnu.regexp. # # Attenzione: Questa traduzione fu scritto da un italo-americano. diff --git a/libjava/classpath/scripts/.cvsignore b/libjava/classpath/scripts/.cvsignore new file mode 100644 index 00000000000..190036bb1ae --- /dev/null +++ b/libjava/classpath/scripts/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +classpath.spec diff --git a/libjava/classpath/scripts/Makefile.in b/libjava/classpath/scripts/Makefile.in index 2c4ff902149..d8ad93bb7f9 100644 --- a/libjava/classpath/scripts/Makefile.in +++ b/libjava/classpath/scripts/Makefile.in @@ -42,12 +42,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -158,6 +160,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -279,7 +283,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ EXTRA_DIST = check_jni_methods.sh generate-locale-list.sh import-cacerts.sh all: all-am diff --git a/libjava/classpath/scripts/build_mathnamespace b/libjava/classpath/scripts/build_mathnamespace new file mode 100644 index 00000000000..a2e53a3284d --- /dev/null +++ b/libjava/classpath/scripts/build_mathnamespace @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "/* Warning ! This is a generated file. Use build_mathnamespace to regenerate it */" +while read fun;do + echo "#define ${fun} ClasspathMath_${fun}" +done diff --git a/libjava/classpath/scripts/check_jni_methods.sh b/libjava/classpath/scripts/check_jni_methods.sh index 4cc00cc17f3..b46e378214e 100755 --- a/libjava/classpath/scripts/check_jni_methods.sh +++ b/libjava/classpath/scripts/check_jni_methods.sh @@ -35,9 +35,6 @@ cat > $TMPFILE3 << EOF -Java_gnu_java_awt_peer_gtk_GtkMenuComponentPeer_dispose -Java_java_lang_VMSystem_arraycopy -Java_java_lang_VMSystem_identityHashCode --Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class --Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache --Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class EOF # Compare again silently. diff --git a/libjava/classpath/scripts/checkstyle-config.xml b/libjava/classpath/scripts/checkstyle-config.xml new file mode 100644 index 00000000000..498e7faddd3 --- /dev/null +++ b/libjava/classpath/scripts/checkstyle-config.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libjava/classpath/scripts/checkstyle-header.regex b/libjava/classpath/scripts/checkstyle-header.regex new file mode 100644 index 00000000000..15eb29a5092 --- /dev/null +++ b/libjava/classpath/scripts/checkstyle-header.regex @@ -0,0 +1,38 @@ +^/\* .*$ +^ .*$ +^ (Copyright \(C\) .*|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. \*/$ +^ *$ diff --git a/libjava/classpath/scripts/checkstyle-suppressions.xml b/libjava/classpath/scripts/checkstyle-suppressions.xml new file mode 100644 index 00000000000..68c620ce958 --- /dev/null +++ b/libjava/classpath/scripts/checkstyle-suppressions.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/libjava/classpath/scripts/checkstyle.css b/libjava/classpath/scripts/checkstyle.css new file mode 100644 index 00000000000..9d1fd8b7460 --- /dev/null +++ b/libjava/classpath/scripts/checkstyle.css @@ -0,0 +1,42 @@ +body { + color: black; + font-family: sans-serif; +} +h1 { + color: #990000; + border-width: 1px; + border-style: solid; + border-color: black; + padding: 0.2em; + background-color: #cccccc; + width: 100%; +} +h2 { + color: #990000; + border-width: 1px; + border-style: solid; + border-color: black; + padding: 0.2em; + background-color: #cccccc; + width: 100%; +} +h3 { + color: #990000; + border-width: 1px; + border-style: solid; + border-color: black; + padding: 0.2em; + background-color: #cccccc; + width: 100%; +} +table { + width: 100%; +} +th { + color: white; + background-color: #999999; + text-align: left; +} +td { + background-color: #cccccc; +} diff --git a/libjava/classpath/scripts/checkstyle2html.xsl b/libjava/classpath/scripts/checkstyle2html.xsl new file mode 100644 index 00000000000..89639876ad6 --- /dev/null +++ b/libjava/classpath/scripts/checkstyle2html.xsl @@ -0,0 +1,102 @@ + + + + + + + + + + + + Checkstyle results + + + +

      Checkstyle results

      +
      The following document contains the results of + Checkstyle.
      + +

      Summary

      + + + + + + + + + + +
      FilesInfosWarningsErrors
      + +

      Files

      + + + + + + + + +
      FileIWE
      + + + + + + + + + + + + + + + + + # + + + + + + + + + + + + + + +

      + + + + + + +

      + + + + + +
      ErrorLine
      +
      +
      + + + + + + + + + + diff --git a/libjava/classpath/scripts/classpath-build b/libjava/classpath/scripts/classpath-build new file mode 100755 index 00000000000..cd0e7d63e24 --- /dev/null +++ b/libjava/classpath/scripts/classpath-build @@ -0,0 +1,68 @@ +#!/bin/sh + +# cvs may timeout ... +set -e + +export CVS_RSH=ssh + +CLASSPATH_CVSSRCDIR=$HOME/src/cvs/classpath +CLASSPATH_SRCDIR=$HOME/src/classpath +CLASSPATH_BUILDDIR=$HOME/src/classpath/build + +DATE=`date +"%Y%m%d"` +OUTPUTDIR=$HOME/public_html/classpath/daily +LOGFILE=$OUTPUTDIR/classpath-$DATE.log + +echo -n > $LOGFILE + +if [ -d $CLASSPATH_CVSSRCDIR ] ; then + echo "update cvs source tree" >> $LOGFILE + cd $CLASSPATH_CVSSRCDIR + cvs -z 3 update >> $LOGFILE 2>&1 +fi + +if [ -d $CLASSPATH_SRCDIR ] ; then + + # delete old sources + echo "delete old source tree" >> $LOGFILE + + # workaround for automake safety behaviour with umask + chmod u+w -R $CLASSPATH_SRCDIR + + rm -rf $CLASSPATH_SRCDIR + +fi + +echo "copy cvs tree to source tree" >> $LOGFILE +cp -a $CLASSPATH_CVSSRCDIR $CLASSPATH_SRCDIR +cd $CLASSPATH_SRCDIR + +# patch version in configure.ac +if [ -f configure.ac ] ; then + mv configure.ac configure.ac.orig + sed "s/, \[.*cvs\]/, [$DATE]/" < configure.ac.orig > configure.ac +fi + +# generate autofriends stuff +./autogen.sh >> $LOGFILE 2>&1 + +# create build directory +mkdir build +cd build + +# configure and build classpath +export LD_LIBRARY_PATH=/usr/local/lib +../configure --prefix=$HOME/local/classpath --with-jikes=/usr/bin/jikes --enable-glibj=both --enable-jni --enable-gtk-peer --enable-regen-headers >> $LOGFILE 2>&1 +make >> $LOGFILE 2>&1 +make install >> $LOGFILE 2>&1 + +make dist >> $LOGFILE 2>&1 +#make distcheck >> $LOGFILE 2>&1 +cp classpath-$DATE.tar.gz $OUTPUTDIR + +cd $OUTPUTDIR +ln -sf classpath-$DATE.tar.gz LATEST-SNAPSHOT +ln -sf classpath-$DATE.log LATEST-BUILDLOG + +exit 0 + diff --git a/libjava/classpath/scripts/classpath-daily b/libjava/classpath/scripts/classpath-daily new file mode 100755 index 00000000000..c7405277346 --- /dev/null +++ b/libjava/classpath/scripts/classpath-daily @@ -0,0 +1,17 @@ +#!/bin/sh + +DATE=`date +"%Y%m%d"` +OUTPUTDIR=$HOME/public_html/classpath/daily +LOGFILE=$OUTPUTDIR/classpath-$DATE.log +FAILEDLOG=$OUTPUTDIR/classpath-failed-$DATE.log +MAIL="konqueror@gmx.de" + +/home/mkoch/bin/classpath-build + +if test "$?" = "1" ; then + tail --lines=100 $LOGFILE > $FAILEDLOG + + mail $MAIL -s "classpath daily snapshot $DATE FAILED" < $FAILEDLOG +else + mail $MAIL -s "classpath daily snapshot $DATE SUCCESSFUL" < /dev/null > /dev/null +fi diff --git a/libjava/classpath/scripts/classpath.spec.in b/libjava/classpath/scripts/classpath.spec.in index 80522748d6e..4120d25507c 100644 --- a/libjava/classpath/scripts/classpath.spec.in +++ b/libjava/classpath/scripts/classpath.spec.in @@ -1,4 +1,4 @@ -# $Id: classpath.spec.in,v 1.2 2005/07/04 14:31:01 ziga Exp $ +# $Id: classpath.spec.in,v 1.3 2006/12/10 20:25:50 gnu_andrew Exp $ %define version_num @PACKAGE_VERSION@ %define release_num 1 diff --git a/libjava/classpath/scripts/eclipse-gnu.xml b/libjava/classpath/scripts/eclipse-gnu.xml new file mode 100644 index 00000000000..60a1082ca1e --- /dev/null +++ b/libjava/classpath/scripts/eclipse-gnu.xml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libjava/classpath/scripts/jalopy-gnu.xml b/libjava/classpath/scripts/jalopy-gnu.xml new file mode 100644 index 00000000000..ad5c5abdffe --- /dev/null +++ b/libjava/classpath/scripts/jalopy-gnu.xml @@ -0,0 +1,378 @@ + + + + + 14 + + + + + false + + + [A-Z][a-zA-Z0-9]+ + [A-Z][a-zA-Z0-9]+ + + + [a-z][\w]+ + [a-z][\w]+ + [a-zA-Z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-zA-Z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-zA-Z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-zA-Z][\w]+ + + [A-Z][a-zA-Z0-9]+ + \w+ + + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + [a-z][\w]+ + + [a-z]+(?:\.[a-z]+)* + + [a-z][\w]+ + [a-z][\w]+ + + [a-z][\w]* + + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + 6 + + + + 30000 + 30000 + 30000 + 30000 + 30000 + 30000 + + true + + + 1 + + + + true + false + true + false + false + + + bak + 0 + + + + 0 + 0 + 1 + 0 +
      1
      +
      1
      + 1 + 1 + 1 + 1 +
      + + 0 + 0 + 0 + + 1 + 0 + 0 + + 0 + 0 +
      0
      +
      0
      + 2 +
      + 1 +
      + + + false + false + + + false + false + false + false + + + true + true + true + true + true + + + true + false + + + + true + true + + + + false + + + + false + false + false + + false + + 0 + 0 + 0 + 0 + + false + + + + + + + */ + * @throws $exceptionType$ DOCUMENT ME! + * @param $paramType$ DOCUMENT ME! + * @return DOCUMENT ME! + /**| * DOCUMENT ME! + + + + + false + false + false + + + - + false + false + + Inner Classes + Constructors + Instance fields + Instance initializers + Inner Interfaces + Methods + Static fields/initializers + + + + +
      + + 0 + false +
      +
      + + 0 + false +
      + + disabled + + + + 1 + *:0|gnu:1|java:1|javax:1|org:1 + + disabled + true + + + true + + true + true + + false + + + true + + + 1 + 2 + 2 + 0 + 0 + 55 + -1 + 2 + -1 + 0 + 8 + 2 + 1 + + + true + true + + + + false + false + false + false + true + false + + + + false + false + false + false + false + static|field|initializer|constructor|method|interface|class + false + + + true + public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp + + + + + true + true + true + + + true + false + false + false + + true + + + false + false + true + + + + true + false + + true + true + true + true + true + true + + false + false + + + + + + 0 + true + false + false + + false + + false + false + + false + + + true + false + false + false + + + false + false + false + + + + true + true + 79 + + + + false + false + false + + false + false + false + + + + false + + false + + +
      +
      + diff --git a/libjava/classpath/scripts/japi b/libjava/classpath/scripts/japi new file mode 100755 index 00000000000..52bcbc472a5 --- /dev/null +++ b/libjava/classpath/scripts/japi @@ -0,0 +1,135 @@ +#!/bin/sh + +CLASSPATH_CVS=~/japi/classpath +JAPIZE_DIR=~/japitools-0.9 +FTPROOT=~alpha/pub/gnu/classpath/nightly/tests +LOG=/tmp/japi.log +export PATH=${PATH}:/usr/java/j2sdk1.4.1/bin + +rm -f /tmp/japi.log > /dev/null 2>&1 + +classpath_checkout () +{ + if [ ! -d "${CLASSPATH_CVS}" ]; then + mkdir --parents ${CLASSPATH_CVS} + local dir=`dirname "${CLASSPATH_CVS}"` + cd "${dir}" + cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/classpath co classpath >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out classpath" + exit 1 + fi + fi +} + +classpath_update () +{ + cd "${CLASSPATH_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out classpath" + exit 1 + fi +} + +classpath_clean () +{ + if [ -d "${CLASSPATH_CVS}/build" ]; then + rm -rf "${CLASSPATH_CVS}/build" + fi +# if [ -d "${CLASSPATH_PREFIX}" ]; then +# rm -rf "${CLASSPATH_PREFIX}" +# fi + mkdir --parents "${CLASSPATH_CVS}/build" +# mkdir --parents "${CLASSPATH_PREFIX}" +} + +classpath_configure () +{ + cd "${CLASSPATH_CVS}" + aclocal >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running aclocal" + exit 1 + fi + autoheader >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running autoheader" + exit 1 + fi + automake >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running automake" + exit 1 + fi + autoconf >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running autoconf" + exit 1 + fi + cd "${CLASSPATH_CVS}/build" && ../configure --with-gcj >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error configuring" + exit 1 + fi +} + +classpath_build () +{ + cd "${CLASSPATH_CVS}/build" && make >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + + +japize_classpath () +{ + cd "${JAPIZE_DIR}/bin" && ./japize as classpath packages "${CLASSPATH_CVS}/build/lib/glibj.zip" +java +javax +org -java.awt.dnd.peer -java.awt.peer -org.apache -org.w3c.dom.css -org.w3c.dom.events -org.w3c.dom.html -org.w3c.dom.stylesheets -org.w3c.dom.traversal -org.w3c.dom.views -java.text.resources >> /tmp/japi.log 2>&1 + if [ $? -ne 0 ]; then + echo "Error running japize" + exit 1 + fi + cp -f "${JAPIZE_DIR}/bin/classpath.japi.gz" /tmp +} + +japicompat_classpath () +{ + today=`date` + echo "${today}" > /tmp/classpath-jdk11-compare.txt + cd "${JAPIZE_DIR}/bin" && ./japicompat -q jdk11.japi.gz classpath.japi.gz >> /tmp/classpath-jdk11-compare.txt + if [ $? -ne 0 ]; then + echo "Error running japicompat" + exit 1 + fi + echo "${today}" > /tmp/classpath-jdk13-compare.txt + cd "${JAPIZE_DIR}/bin" && ./japicompat -q jdk13.japi.gz classpath.japi.gz >> /tmp/classpath-jdk13-compare.txt + if [ $? -ne 0 ]; then + echo "Error running japicompat" + exit 1 + fi +} + +#-------------------------------------------------------------------- +# Update Classpath CVS +#-------------------------------------------------------------------- +classpath_checkout +classpath_update + +#-------------------------------------------------------------------- +# Build Classpath with GCJ 3.2 +#-------------------------------------------------------------------- +classpath_clean +classpath_configure +classpath_build + +#-------------------------------------------------------------------- +# Run japize on glibj.zip +#-------------------------------------------------------------------- +japize_classpath + +#-------------------------------------------------------------------- +# Run japicompat against jdk13 +#-------------------------------------------------------------------- +japicompat_classpath + diff --git a/libjava/classpath/scripts/kissme-mauve b/libjava/classpath/scripts/kissme-mauve new file mode 100755 index 00000000000..8a6ee22db66 --- /dev/null +++ b/libjava/classpath/scripts/kissme-mauve @@ -0,0 +1,346 @@ +#!/bin/sh + +CLASSPATH_CVS=~/mauve/classpath +CLASSPATH_PREFIX=~/mauve/root/classpath +MAUVE_CVS=~/mauve/mauve +KISSME_CVS=~/mauve/kissme +KISSME_PREFIX=~/mauve/root/kissme +KISSME_BIN=~/mauve/kissme/useful_scripts/kissme +LOG=/tmp/mauve.log +RESULTS=/tmp/kissme-mauve.txt +REPORT=/tmp/kissme-mauve-report.txt +TIMEOUT=30 + +rm -f ${LOG} > /dev/null 2>&1 +rm -f ${RESULTS} > /dev/null 2>&1 +today=`date` +echo "${today}" > ${LOG} +touch ${RESULTS} + + +_aclocal () +{ + aclocal "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running aclocal" + exit 1 + fi +} + +_autoheader () +{ + autoheader "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running autoheader" + exit 1 + fi +} + +_automake () +{ + automake "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running automake" + exit 1 + fi +} + +_autoconf () +{ + autoconf "$@" >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error running autoconf" + exit 1 + fi +} + +classpath_checkout () +{ + if [ ! -d "${CLASSPATH_CVS}" ]; then + mkdir --parents ${CLASSPATH_CVS} + local dir=`dirname "${CLASSPATH_CVS}"` + cd "${dir}" + cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/classpath co classpath >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out classpath" + exit 1 + fi + fi +} + +classpath_update () +{ + cd "${CLASSPATH_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out classpath" + exit 1 + fi +} + +classpath_clean () +{ + if [ -d "${CLASSPATH_CVS}/build" ]; then + rm -rf "${CLASSPATH_CVS}/build" + fi + if [ -d "${CLASSPATH_PREFIX}" ]; then + rm -rf "${CLASSPATH_PREFIX}" + fi + mkdir --parents "${CLASSPATH_CVS}/build" + mkdir --parents "${CLASSPATH_PREFIX}" +} + +classpath_configure () +{ + cd "${CLASSPATH_CVS}" + + _aclocal + _autoheader + _automake + _autoconf + + cd "${CLASSPATH_CVS}/build" && ../configure --prefix=${CLASSPATH_PREFIX} --with-gcj --enable-jni >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error configuring" + exit 1 + fi +} + +classpath_build () +{ + cd "${CLASSPATH_CVS}/build" && make >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +classpath_install () +{ + cd "${CLASSPATH_CVS}/build" && make install >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +kissme_checkout () +{ + if [ ! -d "${KISSME_CVS}" ]; then + mkdir --parents ${KISSME_CVS} + local dir=`dirname "${KISSME_CVS}"` + cd "${KISSME_CVS}" + cvs -z3 -d :pserver:anonymous@cvs.kissme.sourceforge.net:/cvsroot/kissme co . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out kissme" + exit 1 + fi + fi +} + +kissme_update () +{ + cd "${KISSME_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out kissme" + exit 1 + fi +} + +kissme_clean () +{ + if [ -d "${KISSME_CVS}/build" ]; then + rm -rf "${KISSME_CVS}/build" + fi + if [ -d "${KISSME_PREFIX}" ]; then + rm -rf "${KISSME_PREFIX}" + fi + mkdir --parents "${KISSME_CVS}/build" + mkdir --parents "${KISSME_PREFIX}" +} + +kissme_configure () +{ + cd "${KISSME_CVS}" + + _aclocal + _autoheader + _automake -a + _autoconf + + cd "${KISSME_CVS}" && ./configure --prefix=${KISSME_PREFIX} \ + --enable-use-zips --with-gnu-classpath=${CLASSPATH_CVS} \ + --with-gnu-classpath-build=${CLASSPATH_CVS}/build \ + --with-classpath-install-dir=${CLASSPATH_PREFIX} >> ${LOG} 2>&1 + + if [ $? -ne 0 ]; then + echo "Error configuring" + exit 1 + fi +} + +kissme_build () +{ + cd "${KISSME_CVS}" && make >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +kissme_install () +{ + cd "${KISSME_CVS}" && make install >> ${LOG} 2>&1 + if [ $? -ne 0 ]; then + echo "Error during make" + exit 1 + fi +} + +mauve_checkout () +{ + if [ ! -d "${MAUVE_CVS}" ]; then + mkdir --parents ${MAUVE_CVS} + local dir=`dirname "${MAUVE_CVS}"` + cd "${dir}" + cvs -z3 -d :pserver:anoncvs@sources.redhat.com:/cvs/mauve co mauve >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out mauve" + exit 1 + fi + fi +} + +mauve_update () +{ + cd "${MAUVE_CVS}" && cvs update -d -P . >> ${LOG} 2>/dev/null + if [ $? -ne 0 ]; then + echo "Error checking out mauve" + exit 1 + fi +} + +kissme_mauve () +{ + export JAVAC="jikes -bootclasspath ${CLASSPATH_PREFIX}/share/classpath/glibj.zip" + export JAVA="${KISSME_BIN}" + +# if [ -f "${KISSME_CVS}/useful_scripts/mauve-kissme" ]; then +# cp -f "${KISSME_CVS}/useful_scripts/mauve-kissme" "${MAUVE_CVS}" +# fi + + if [ -f "${CLASSPATH_CVS}/mauve-classpath" ]; then + cp -f "${CLASSPATH_CVS}/mauve-classpath" "${MAUVE_CVS}" + fi + + cd "${MAUVE_CVS}" + if [ $? -ne 0 ]; then + echo "Error configuring mauve" + exit 1 + fi + + _aclocal + _automake + _autoconf + + ./configure >> "${LOG}" 2>&1 + if [ $? -ne 0 ]; then + echo "Error configuring mauve" + exit 1 + fi + + # create class choices from key file + if [ -f classes ]; then + rm -f classes 2>/dev/null + fi + if [ -f choices ]; then + rm -f choices 2>/dev/null + fi + /bin/sh choose "${MAUVE_CVS}" classpath + if [ $? -ne 0 ]; then + echo "Error during choose for mauve" + exit 1 + fi + + # compile classes + compile=`cat "${MAUVE_CVS}/classes" | tr '.' '/' | awk '{print $1".java"}' | xargs` + ${JAVAC} -classpath "${MAUVE_CVS}" -d "${MAUVE_CVS}" ${compile} >> "${LOG}" 2>&1 + if [ $? -ne 0 ]; then + echo "Error during compile for mauve" + exit 1 + fi + + set -m + for i in `cat "${MAUVE_CVS}/classes"`; do + echo "$i" | ${JAVA} gnu.testlet.SimpleTestHarness -verbose >> "${RESULTS}" 2>&1 & + + vm_pid=$! + sleep ${TIMEOUT} && kill -9 $vm_pid > /dev/null 2>&1 && echo "FAIL: $i execution aborted" >> "${RESULTS}" & + kill_pid=$! + fg %- 2>/dev/null + kill -9 $kill_pid >/dev/null 2>&1 # && echo Test did not time out + done +} + +mauve_summary () +{ + if [ ! -f "${RESULTS}" ]; then + echo "Error creating summary" + exit 1 + fi + + pass_cnt=`grep PASS "${RESULTS}" | wc -l` + fail_cnt=`grep FAIL "${RESULTS}" | wc -l` + total_cnt=`expr $pass_cnt + $fail_cnt` + + today=`date` + echo "Mauve test results for Kissme" > "${REPORT}" + echo "Report generated on ${today}" >> "${REPORT}" + echo "" >> "${REPORT}" + echo "${fail_cnt} of ${total_cnt} tests failed." >> "${REPORT}" + echo "" >> "${REPORT}" + cat "${RESULTS}" >> "${REPORT}" +} + +#-------------------------------------------------------------------- +# Update Classpath CVS +#-------------------------------------------------------------------- +classpath_checkout +classpath_update + +#-------------------------------------------------------------------- +# Build Classpath with GCJ 3.2 +#-------------------------------------------------------------------- +classpath_clean +classpath_configure +classpath_build +classpath_install + +#-------------------------------------------------------------------- +# Update Kissme CVS +#-------------------------------------------------------------------- +kissme_checkout +kissme_update + +#-------------------------------------------------------------------- +# Build Kissme +#-------------------------------------------------------------------- +kissme_clean +kissme_configure +kissme_build +#kissme_install + +#-------------------------------------------------------------------- +# Update Mauve CVS +#-------------------------------------------------------------------- +mauve_checkout +mauve_update + +#-------------------------------------------------------------------- +# Execute Mauve +#-------------------------------------------------------------------- +kissme_mauve + +#-------------------------------------------------------------------- +# Create report +#-------------------------------------------------------------------- +mauve_summary diff --git a/libjava/classpath/scripts/loc b/libjava/classpath/scripts/loc new file mode 100755 index 00000000000..dc2f327035f --- /dev/null +++ b/libjava/classpath/scripts/loc @@ -0,0 +1,44 @@ +#!/bin/sh +# +# loc Find a class or package +# +# Usage: loc [-l] class-pattern [dirname] + +# -l Use system locate command instead of find. In that case, loc +# will ignore any directory to be searched. + +# Example: +# +# $ loc -l org.objectweb.jonas.common.JProp +# /var/lib/jonas/demoserver/ejbjars/autoload/mejb.jar +# /var/lib/jonas/lib/common/ow_jonas_bootstrap.jar +# /var/lib/jonas/eclipseserver/ejbjars/autoload/mejb.jar +# /var/lib/jonas/ejbjars/autoload/mejb.jar +# /var/cache/jonas/work/ejbjars/jonas/mejb_2005.09.15-17.01.52.jar +# /usr/src/redhat/BUILD/jonas-4.3.3/jonas/classes/common/org/objectweb/jonas/common/JProp.class + + +MODE=$1 +if test "$MODE" == "-l"; then + COMMAND='(locate \*.jar ; locate \*.war)' + shift +else + COMMAND='(find "$FOO" -name \*.jar -follow ; find "$FOO" -name \*.war -follow)' +fi + +FOO=$2 +if test "x$FOO" == "x"; then + FOO=/usr/share/java +fi + +eval "$COMMAND" 2>/dev/null | while read i; do + if (fastjar tf $i 2>/dev/null | grep $1) > /dev/null 2>&1 ; then + echo $i + fi +done + +if test "$MODE" != "-l"; then + find "$FOO" -name '*.class' 2>/dev/null | grep $1 +else + locate \*.class | grep $1 +fi diff --git a/libjava/classpath/scripts/math_symbols b/libjava/classpath/scripts/math_symbols new file mode 100644 index 00000000000..e676a5197dc --- /dev/null +++ b/libjava/classpath/scripts/math_symbols @@ -0,0 +1,69 @@ +acos +asin +atan +atan2 +cos +sin +tan +cosh +sinh +tanh +exp +frexp +ldexp +expm1 +log +log10 +log1p +modf +pow +sqrt +ceil +fabs +floor +fmod +erf +erfc +gamma +hypot +finite +j0 +j1 +jn +lgamma +y0 +y1 +yn +acosh +asinh +cbrt +logb +nextafter +remainder +logb +scalb +significand +logbf +scalbf +significandf +copysign +ilogb +rint +rintf +scalbn +__ieee754_sqrt +__ieee754_asin +__ieee754_asin +__ieee754_atan2 +__ieee754_exp +__ieee754_fmod +__ieee754_log +__ieee754_pow +__ieee754_rem_pio2 +__ieee754_remainder +__ieee754_scalb +__ieee754_acos +__kernel_cos +__kernel_sin +__kernel_tan +__kernel_rem_pio2 diff --git a/libjava/classpath/scripts/patches.pl b/libjava/classpath/scripts/patches.pl new file mode 100755 index 00000000000..57f134d9201 --- /dev/null +++ b/libjava/classpath/scripts/patches.pl @@ -0,0 +1,164 @@ +#!/usr/bin/perl -w +# Purpose is to move patches from upload directory to +# public patches directory. Any file not matching the correct +# pattern is deleted. Any patch file without a README and the +# file was last modified more than 120 minutes ago is deleted. +# Any README file without a patch file which was last modified +# more than 120 minutes ago is deleted. +# +# notes to self: as long as this runs as root do not worry +# about quota problems or disk space + +use strict; + +my ($upload_dir) = "/home/ftp/classpath/incoming"; +my ($public_dir) = "/home/ftp/classpath/pub/patches"; +my ($user) = "classpath"; +my ($group) = "classpath"; +my ($mode_dir) = "775"; +my ($mode_file) = "664"; +my (@patches) = (); + +use vars qw($upload_dir $public_dir @patches $user $group + $mode_dir $mode_file); + +# main +{ + @patches = &getPatches(); + &movePatches(@patches); +} + +#--------------------------------------------------------------- +# Purpose: To remove files not matching the correct pattern. +# To remove README files without patches (last modified greater +# than 2 hours). To remove patches without README files (last +# modified greater than 2 hours). +#--------------------------------------------------------------- +sub getPatches +{ + my (@patches) = (); + my (@entries) = (); + my (%maybe) = (); + my ($entry, $debug, $prefix, $junk, $file, $patch, $readme) = ""; + my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, + $mtime, $ctime, $blksize, $blocks) = ""; + + $debug = 1; + + opendir(INCOMING, "$upload_dir") || die "could not open $upload_dir\n"; + @entries = grep( !/^\.\S+/, readdir(INCOMING)); # no .* + closedir(INCOMING); + foreach $entry (sort @entries) + { + if (($entry eq ".") || ($entry eq "..")) { next; } + if (-d "$upload_dir/$entry") + { + print "Directory: $upload_dir/$entry/\n"; + } + elsif (-e "$upload_dir/$entry") + { + if ($entry eq ".message") { next; } + if ($entry eq "README") { next; } + if ($entry !~ /^\w+-\d\d\d\d\d\d-\d+\.patch\.(gz|README)$/) + { + print "REGEX FAILED: $entry\n"; + unlink("$upload_dir/$entry"); + } + else + { + ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, + $ctime,$blksize,$blocks) = stat("$upload_dir/$entry"); + if ($size > 512000) + { + print "LARGE PATCH: $entry\n"; + unlink("$upload_dir/$entry"); + } + else + { + ($prefix,$junk) = split(/(\.gz|\.README)/, $entry, 2); + $maybe{$prefix} += 1; + } + } + } + } + + foreach $entry (keys(%maybe)) + { + if ($maybe{$entry} == 2) + { + $patch = "$entry.gz"; + $readme = "$entry.README"; + + ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, + $ctime,$blksize,$blocks) = stat($patch); + if (time-$mtime > 900) + { + ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime, + $ctime,$blksize,$blocks) = stat($readme); + if (time-$mtime > 900) + { + $patches[$#patches+1] = $entry; + } + } + } + else + { + if (-e "$upload_dir/$entry.gz") + { + unlink("$upload_dir/$entry.gz"); + print "STALE PATCH: $entry.gz\n"; + } + elsif (-e "$upload_dir/$entry.README") + { + unlink("$upload_dir/$entry.README"); + print "STALE README: $entry.README\n"; + } + } + } + return (@patches); +} + +#--------------------------------------------------------------- +# Purpose: To move the patches to the proper directory and set +# the permissions correctly. +#--------------------------------------------------------------- +sub movePatches +{ + my (@patches) = @_; + my ($patch) = ""; + my ($fail) = 0; + + if (!(-d "$public_dir")) + { + system("mkdir -p $public_dir"); + system("chown $user.$group $public_dir"); + system("chmod $mode_dir $public_dir"); + } + foreach $patch (@patches) + { + if (-e "$public_dir/$patch.gz") + { + print "Patch exists: $public_dir/$patch.gz\n"; + $fail = 1; + } + if (-e "$public_dir/$patch.README") + { + print "README exists: $public_dir/$patch.README\n"; + $fail = 1; + } + if ($fail == 0) + { + system("mv $upload_dir/$patch.gz $public_dir/$patch.gz"); + system("mv $upload_dir/$patch.README $public_dir/$patch.README"); + system("chown $user.$group $public_dir/*"); + system("chmod $mode_file $public_dir/*"); + open(MAIL, "|mail -s \"Classpath: $patch uploaded\" core\@classpath.org") || die "could not open mail\n"; + print MAIL "GNU Classpath FTP Maintenance\n"; + print MAIL "\n"; + print MAIL "Added Files:\n"; + print MAIL "ftp://ftp.classpath.org/pub/patches/$patch.gz\n"; + print MAIL "ftp://ftp.classpath.org/pub/patches/$patch.README\n\n"; + close(MAIL); + } + } +} diff --git a/libjava/classpath/scripts/sanitize-jsr166 b/libjava/classpath/scripts/sanitize-jsr166 new file mode 100755 index 00000000000..d4ca8585b8b --- /dev/null +++ b/libjava/classpath/scripts/sanitize-jsr166 @@ -0,0 +1,6 @@ +#! /bin/sh + +# Sanitize a jsr166 download. + +# Remove code copyright Sun. +find . -name '*.java' -print | xargs grep -l 'Copyright.*Sun' | xargs rm diff --git a/libjava/classpath/scripts/timezones.pl b/libjava/classpath/scripts/timezones.pl new file mode 100755 index 00000000000..142ea4b7582 --- /dev/null +++ b/libjava/classpath/scripts/timezones.pl @@ -0,0 +1,366 @@ +#!/usr/bin/perl -w +# Create the timezone tables for java/util/TimeZone from the +# standard timezone sources by Arthur David Olson (as used by glibc) +# +# This needs the files from the package tzdata2000h which may be found +# at ftp://ftp.cs.mu.oz.au/pub/. + +$TIMEZONEDIR = "tzdata"; +@TIMEZONEFILES = ("africa", "antarctica", "asia", "australasia", + "europe", "northamerica", "pacificnew", "southamerica", + "../tzabbrevs"); + +# rules hash table: +# key is a rule name +# value is either "-" (no daylight savings) or a list of three elements: +# $value[0] = end savings rule (list containing MONTH, DAY and TIME) +# $value[1] = start savings rule (ditto) +# $value[2] = daylight offset in milliseconds +my %rules = ("-" => "-"); + +# timezones list, list of pairs: +# $timezones[$i][0] is a timezone name +# $timezones[$i][1] = raw offset in milliseconds +# $timezones[$i][2] = rule in the same format as the value of +# the rules table, but TIME in milliseconds +# $timezones[$i][3] = list of timezone names with this rule (aliases) +my @timezones = ( [ "GMT", 0, "-", [ "GMT", "UTC" ] ]); + + +# parse the offset of form +/-hh:mm:ss (:ss is optional) and return it +# in milliseconds against UTC +sub parseOffset($) { + my $offset = $_[0]; + $offset =~ /^([+-]?)(\d+)(:(\d+)(:(\d+))?)?$/ + or die "Can't parse offset $offset"; + my $seconds = $2 * 3600; + $seconds += $4 * 60 if ($3); + $seconds += $6 if ($3 && $5); + if ($1 eq "-") { + $seconds = - $seconds; + } + return $seconds * 1000; +} + +# parse the time of form +/-hh:mm:ss[swguz] (:ss is optional) and return it +# in milliseconds since midnight in local wall time + my $timezonename; +sub parseTime($$$) { + my ($rawoffset, $stdoffset, $time) = @_; + $time =~ /^([+-]?)(\d+):(\d+)(:(\d+))?([swguz]?)$/ + or die "Can't parse time $time"; + my ($hour, $min) = ($2, $3); + my $sec = ($4) ? $5 : 0; + my $millis = ((($hour * 60) + $min) * 60 + $sec) * 1000; + if ($1 eq "-") { + $millis = -$millis; + } + # Normally millis is in wall time, adjust for utc and standard time. + if ($6 =~ /[guz]/) { + $millis += $rawoffset + $stdoffset; + } elsif ($6 =~ /s/) { + $millis += $stdoffset; + } + return $millis; +} + +my %monthnames = + ( "Jan" => "1", + "Feb" => "2", + "Mar" => "3", + "Apr" => "4", + "May" => "5", + "Jun" => "6", + "Jul" => "7", + "Aug" => "8", + "Sep" => "9", + "Oct" => "10", + "Nov" => "11", + "Dec" => "12" ); +sub parseMonth($) { + my $month = $monthnames{"$_[0]"} or die "Unknown month $_[0]"; + return $month; +} + +my %weekdaynames = + ( "Sun" => "7", + "Mon" => "1", + "Tue" => "2", + "Wed" => "3", + "Thu" => "4", + "Fri" => "5", + "Sat" => "6" ); +sub parseWeekday($) { + my $weekday = $weekdaynames{"$_[0]"} or die "Unknown weekday $_[0]"; + return $weekday; +} + +my @weekdayjavanames = + ( "Calendar.SUNDAY", + "Calendar.MONDAY", + "Calendar.TUESDAY", + "Calendar.WEDNESDAY", + "Calendar.THURSDAY", + "Calendar.FRIDAY", + "Calendar.SATURDAY" ); +my @daysInMonths = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ); +sub parseDay($$$) { + my ($dayoffset, $month, $day) = @_; + if ($day =~ /^\d+$/) { + return "$day, 0"; + } elsif ($day =~ /^last([A-Z][a-z][a-z])$/) { + my $weekday = ( parseWeekday($1) + $dayoffset + 7 ) % 7; + if ($dayoffset) { + my $day = $daysInMonths[$month - 1] + $dayoffset; + warn "Can only approximate $day with dayoffset in $file" + if ($month == 2); + return "$day, -$weekdayjavanames[$weekday]"; + } else { + return "-1, $weekdayjavanames[$weekday]"; + } + } elsif ($day =~ /^([A-Z][a-z][a-z])>=(\d+)$/) { + my $start = $2 + $dayoffset; + my $weekday = ( parseWeekday($1) + $dayoffset + 7 ) % 7; + if (($start % 7) == 1) { + $start = ($start + 6) / 7; + return "$start, $weekdayjavanames[$weekday]"; + } else { + return "$start, -$weekdayjavanames[$weekday]"; + } + } else { + die "Unknown day $day"; + } +} + +my @monthjavanames = + ( "Calendar.JANUARY", + "Calendar.FEBRUARY", + "Calendar.MARCH", + "Calendar.APRIL", + "Calendar.MAY", + "Calendar.JUNE", + "Calendar.JULY", + "Calendar.AUGUST", + "Calendar.SEPTEMBER", + "Calendar.OCTOBER", + "Calendar.NOVEMBER", + "Calendar.DECEMBER" ); + +sub parseRule($$$) { + my ($rawoffset, $stdoffset, $rule) = @_; + my $monthnr = parseMonth($rule->[0]); + my $time = parseTime($rawoffset, $stdoffset, $rule->[2]); + my $dayoffset = 0; + while ($time < 0) { + $time += 24*3600*1000; + $dayoffset--; + } + while ($time > 24*3600*1000) { + $time -= 24*3600*1000; + $dayoffset++; + } + $day = parseDay($dayoffset, $monthnr, $rule->[1]); + return [ $monthjavanames[$monthnr-1], $day, $time ]; +} + + +sub ruleEquals($$) { + my ($rule1, $rule2) = @_; + # check month names + return (($rule1->[0] eq $rule2->[0]) + && ($rule1->[1] eq $rule2->[1]) + && ($rule1->[2] == $rule2->[2])); +} + +sub findAlias($$) { + my ($rawoffset, $rule) = @_; + foreach $tz (@timezones) { + my ($key, $tzoffset, $tzrule, $aliaslist) = @{$tz}; + next if ($tzoffset != $rawoffset); + if ($rule eq "-") { + return $tz if ($tzrule eq "-"); + } elsif ($tzrule ne "-") { + next if $rule->[2] != $tzrule->[2]; + if (ruleEquals($rule->[0], $tzrule->[0]) + && ruleEquals($rule->[1], $tzrule->[1])) { + return $tz; + } + } + } + return ""; +} + +sub makePretty($) { + my ($offset) = @_; + if (($offset % 3600) == 0) { + $offset /= 3600; + return "$offset * 3600"; + } else { + return "$offset"; + } +} + +sub tzcompare($$) { + my ($a, $b) = @_; + if (($a =~ /\//) != ($b =~ /\//)) { + return ($a =~ /\//) ? 1 : -1; + } else { + return $a cmp $b; + } +} + +foreach $file (@TIMEZONEFILES) { +# print STDERR "$file\n"; + open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file"; + my $in_time_zone = 0; + while () { + $_ = $1 if /^([^\#]*)\#/; + next if /^\s*$/; + my @entries = split; +# $, = ","; print "'$_' -> [",@entries,"]\n"; + if (!$in_time_zone) { + if ($entries[0] eq "Rule") { + # check if rule still applies + # column 3 is TO entry. + if ($entries[3] eq "max") { + my $rulename = $entries[1]; + my $month = $entries[5]; + my $day = $entries[6]; + my $time = $entries[7]; + if ($entries[8] eq "0") { + # This is the end time rule + $rules{"$rulename"}[0] = [ $month, $day, $time ]; + } else { + # This is the start time rule + $rules{"$rulename"}[1] = [ $month, $day, $time ]; + $rules{"$rulename"}[2] = parseOffset($entries[8]); + } + } + } elsif ($entries[0] eq "Zone") { + $in_time_zone = 1; + shift @entries; + $timezonename = shift @entries; + } elsif ($entries[0] eq "Remove") { + my $found = 0; + foreach $tz (@timezones) { + my @newaliases; + foreach $tzname (@{$tz->[3]}) { + if ($tzname eq $entries[1]) { + $found = 1; + } else { + push @newaliases, $tzname; + } + } + if ($found) { + if ($tz->[0] eq $entries[1]) { + $tz->[0] = $newaliases[0]; + } + $tz->[3] = \@newaliases; + last; + } + } + + die "Unknown link $_" if ! $found; + } elsif ($entries[0] eq "Link") { + my $alias = 0; + foreach $tz (@timezones) { + foreach $tzname (@{$tz->[3]}) { + if ($tzname eq $entries[1]) { + $alias = $tz; + last; + } + } + } + + die "Unknown link $_" if ! $alias; + die "@entries" if $entries[1] =~ /^\d+$/; + push @{$alias->[3]}, $entries[2]; + } else { + die "Unknown command: $_"; + } + } + if ($in_time_zone) { + die "early end of Zone: $_" if ($entries[0] =~ /^[A-Za-z]+/); + if (@entries <= 3) { +# print "found ZONE $timezonename $entries[0] $entries[1] $entries[2]\n"; + # This is the last line and the only we look at. + # other lines are for historic time zones. + my $rawoffset = parseOffset($entries[0]); + my $rule = $rules{"$entries[1]"} || "-"; + if ($rule ne "-") { + if (!defined($rule->[2])) { + $rule = "-"; + } else { + # now we can parse the time since we know raw offset. + my $savings = $rule->[2]; + my $endrule = parseRule($rawoffset, $savings, + $rule->[0]); + my $startrule = parseRule($rawoffset, $savings, + $rule->[1]); + $rule = [ $endrule, $startrule, $savings ]; +# print "start",@{$rule->[1]}, "end", @{$rule->[0]}, +# "offset", $rule->[2],"\n"; + } + } + my $alias = findAlias($rawoffset, $rule); + if ($alias) { + if (($alias->[0] =~ /\//) + && ($timezonename !~ /\//)) { + # alias is of Country/City form, timezonename not + # make timezonename the real zone name + $alias->[0] = $timezonename; + } + push @{$alias->[3]}, $timezonename; + } else { + push @timezones, [ $timezonename, $rawoffset, $rule, + [ $timezonename ] ]; + } + $in_time_zone = 0; + } + } + } + close INPUT; +} + +@timezones = sort { if ($a->[1] != $b->[1]) { $a->[1] <=> $b->[1] } + else { $a->[0] cmp $b->[0] } } @timezones; +for (@timezones) { + my ($name, $rawoffset, $rule, $aliaslist) = @{$_}; + my @aliases = sort { tzcompare($a, $b); } @{$aliaslist}; + $name = $aliases[0]; + $rawoffset = makePretty($rawoffset); + if ($rule eq "-") { + print <[0]}; + my ($startmonth, $startday, $starttime) = @{$rule->[1]}; + $endtime = makePretty($endtime); + $starttime = makePretty($starttime); + my $savings = $rule->[2]; + if ($savings == 3600 * 1000) { + print < +# +# usage: unicode-blocks.pl +# where is obtained from www.unicode.org (named Blocks-3.txt +# for Unicode version 3.0.0). + + +die "Usage: $0 " unless @ARGV == 1; +open (BLOCKS, $ARGV[0]) || die "Can't open Unicode block file: $!\n"; + +# A hash of added fields and the JDK they were added in, to automatically +# print @since tags. Maintaining this is optional (and tedious), but nice. +my %additions = ("SYRIAC" => "1.4", + "THAANA" => "1.4", + "SINHALA" => "1.4", + "MYANMAR" => "1.4", + "ETHIOPIC" => "1.4", + "CHEROKEE" => "1.4", + "UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS" => "1.4", + "OGHAM" => "1.4", + "RUNIC" => "1.4", + "KHMER" => "1.4", + "MONGOLIAN" => "1.4", + "BRAILLE_PATTERNS" => "1.4", + "CJK_RADICALS_SUPPLEMENT" => "1.4", + "KANGXI_RADICALS" => "1.4", + "IDEOGRAPHIC_DESCRIPTION_CHARACTERS" => "1.4", + "BOPOMOFO_EXTENDED" => "1.4", + "CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A" => "1.4", + "YI_SYLLABLES" => "1.4", + "YI_RADICALS" => "1.4", + "CYRILLIC_SUPPLEMENTARY" => "1.5", + "TAGALOG" => "1.5", + "HANUNOO" => "1.5", + "BUHID" => "1.5", + "TAGBANWA" => "1.5", + "LIMBU" => "1.5", + "TAI_LE" => "1.5", + "KHMER_SYMBOLS" => "1.5", + "PHONETIC_EXTENSIONS" => "1.5", + "MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A" => "1.5", + "SUPPLEMENTAL_ARROWS_A" => "1.5", + "SUPPLEMENTAL_ARROWS_B" => "1.5", + "MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B" => "1.5", + "SUPPLEMENTAL_MATHEMATICAL_OPERATORS" => "1.5", + "MISCELLANEOUS_SYMBOLS_AND_ARROWS" => "1.5", + "KATAKANA_PHONETIC_EXTENSIONS" => "1.5", + "YIJING_HEXAGRAM_SYMBOLS" => "1.5", + "VARIATION_SELECTORS" => "1.5", + "LINEAR_B_SYLLABARY" => "1.5", + "LINEAR_B_IDEOGRAMS" => "1.5", + "AEGEAN_NUMBERS" => "1.5", + "OLD_ITALIC" => "1.5", + "GOTHIC" => "1.5", + "UGARITIC" => "1.5", + "DESERET" => "1.5", + "SHAVIAN" => "1.5", + "OSMANYA" => "1.5", + "CYPRIOT_SYLLABARY" => "1.5", + "BYZANTINE_MUSICAL_SYMBOLS" => "1.5", + "MUSICAL_SYMBOLS" => "1.5", + "TAI_XUAN_JING_SYMBOLS" => "1.5", + "MATHEMATICAL_ALPHANUMERIC_SYMBOLS" => "1.5", + "CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B" => "1.5", + "CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT" => "1.5", + "TAGS" => "1.5", + "VARIATION_SELECTORS_SUPPLEMENT" => "1.5", + "SUPPLEMENTARY_PRIVATE_USE_AREA_A" => "1.5", + "SUPPLEMENTARY_PRIVATE_USE_AREA_B" => "1.5", + "HIGH_SURROGATES" => "1.5", + "HIGH_PRIVATE_USE_SURROGATES" => "1.5", + "LOW_SURROGATES" => "1.5" + ); + +print <<'EOF'; + /** + * A family of character subsets in the Unicode specification. A character + * is in at most one of these blocks. + * + * This inner class was generated automatically from + * $ARGV[0], by some perl scripts. + * This Unicode definition file can be found on the + * http://www.unicode.org website. + * JDK 1.5 uses Unicode version 4.0.0. + * + * @author scripts/unicode-blocks.pl (written by Eric Blake) + * @since 1.2 + */ + public static final class UnicodeBlock extends Subset + { + /** The start of the subset. */ + private final int start; + + /** The end of the subset. */ + private final int end; + + /** The canonical name of the block according to the Unicode standard. */ + private final String canonicalName; + + /** Enumeration for the forName() method */ + private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }; + + /** + * Constructor for strictly defined blocks. + * + * @param start the start character of the range + * @param end the end character of the range + * @param name the block name + * @param canonicalName the name of the block as defined in the Unicode + * standard. + */ + private UnicodeBlock(int start, int end, String name, + String canonicalName) + { + super(name); + this.start = start; + this.end = end; + this.canonicalName = canonicalName; + } + + /** + * Returns the Unicode character block which a character belongs to. + * Note: This method does not support the use of + * supplementary characters. For such support, of(int) + * should be used instead. + * + * @param ch the character to look up + * @return the set it belongs to, or null if it is not in one + */ + public static UnicodeBlock of(char ch) + { + return of((int) ch); + } + + /** + * Returns the Unicode character block which a code point belongs to. + * + * @param codePoint the character to look up + * @return the set it belongs to, or null if it is not in one. + * @throws IllegalArgumentException if the specified code point is + * invalid. + * @since 1.5 + */ + public static UnicodeBlock of(int codePoint) + { + if (codePoint > MAX_CODE_POINT) + throw new IllegalArgumentException("The supplied integer value is " + + "too large to be a codepoint."); + // Simple binary search for the correct block. + int low = 0; + int hi = sets.length - 1; + while (low <= hi) + { + int mid = (low + hi) >> 1; + UnicodeBlock b = sets[mid]; + if (codePoint < b.start) + hi = mid - 1; + else if (codePoint > b.end) + low = mid + 1; + else + return b; + } + return null; + } + + /** + *

      + * Returns the UnicodeBlock with the given name, as defined + * by the Unicode standard. The version of Unicode in use is defined by + * the Character class, and the names are given in the + * Blocks-.txt file corresponding to that version. + * The name may be specified in one of three ways: + *

      + *
        + *
      1. The canonical, human-readable name used by the Unicode standard. + * This is the name with all spaces and hyphens retained. For example, + * `Basic Latin' retrieves the block, UnicodeBlock.BASIC_LATIN.
      2. + *
      3. The canonical name with all spaces removed e.g. `BasicLatin'.
      4. + *
      5. The name used for the constants specified by this class, which + * is the canonical name with all spaces and hyphens replaced with + * underscores e.g. `BASIC_LATIN'
      6. + *
      + *

      + * The names are compared case-insensitively using the case comparison + * associated with the U.S. English locale. The method recognises the + * previous names used for blocks as well as the current ones. At + * present, this simply means that the deprecated `SURROGATES_AREA' + * will be recognised by this method (the of() methods + * only return one of the three new surrogate blocks). + *

      + * + * @param blockName the name of the block to look up. + * @return the specified block. + * @throws NullPointerException if the blockName is + * null. + * @throws IllegalArgumentException if the name does not match any Unicode + * block. + * @since 1.5 + */ + public static final UnicodeBlock forName(String blockName) + { + NameType type; + if (blockName.indexOf(' ') != -1) + type = NameType.CANONICAL; + else if (blockName.indexOf('_') != -1) + type = NameType.CONSTANT; + else + type = NameType.NO_SPACES; + Collator usCollator = Collator.getInstance(Locale.US); + usCollator.setStrength(Collator.PRIMARY); + /* Special case for deprecated blocks not in sets */ + switch (type) + { + case CANONICAL: + if (usCollator.compare(blockName, "Surrogates Area") == 0) + return SURROGATES_AREA; + break; + case NO_SPACES: + if (usCollator.compare(blockName, "SurrogatesArea") == 0) + return SURROGATES_AREA; + break; + case CONSTANT: + if (usCollator.compare(blockName, "SURROGATES_AREA") == 0) + return SURROGATES_AREA; + break; + } + /* Other cases */ + switch (type) + { + case CANONICAL: + for (UnicodeBlock block : sets) + if (usCollator.compare(blockName, block.canonicalName) == 0) + return block; + break; + case NO_SPACES: + for (UnicodeBlock block : sets) + { + String nsName = block.canonicalName.replaceAll(" ",""); + if (usCollator.compare(blockName, nsName) == 0) + return block; + } + break; + case CONSTANT: + for (UnicodeBlock block : sets) + if (usCollator.compare(blockName, block.toString()) == 0) + return block; + break; + } + throw new IllegalArgumentException("No Unicode block found for " + + blockName + "."); + } +EOF + +my @names = (); +while () { + next if /^\#/; + my ($range, $block) = split(/; /); + my ($start, $end) = split /\.\./, $range; + next unless defined $block; + chomp $block; + $block =~ s/ *$//; + + # Translate new Unicode names which have the old name in Java + $block = "Greek" if $block =~ /Greek and Coptic/; + $block = "Combining Marks for Symbols" + if $block =~ /Combining Diacritical Marks for Symbols/; + + (my $name = $block) =~ tr/a-z -/A-Z__/; + push @names, $name; + my $since = (defined $additions{$name} + ? "\n * \@since $additions{$name}" : ""); + print <HIGH_SURROGATES, + * HIGH_PRIVATE_USE_SURROGATES + * and LOW_SURROGATES, as defined + * by the Unicode standard, should be used in preference to + * this. These are also returned from calls to of(int) + * and of(char). + */ + \@Deprecated + public static final UnicodeBlock SURROGATES_AREA + = new UnicodeBlock(0xD800, 0xDFFF, + "SURROGATES_AREA", + "Surrogates Area"); + + /** + * The defined subsets. + */ + private static final UnicodeBlock sets[] = { +EOF + +foreach (@names) { + print " $_,\n"; +} + +print < +# updated to Unicode 4.0.0 by Anthony Balkissoon +# +# Usage: ./unicode-muncher +# where and are .txt files obtained from +# www.unicode.org (named UnicodeData-4.0.0.txt and SpecialCasing-4.0.0.txt for +# Unicode version 4.0.0), and is the final location for the +# Java interface gnu.java.lang.CharData. +# As of JDK 1.5, use Unicode version 4.0.0 for best results. + +## +## Convert a 16-bit integer to a Java source code String literal character +## +sub javaChar($) { + my ($char) = @_; + die "Out of range: $char\n" if $char < -0x8000 or $char > 0x10ffff; + $char += 0x10000 if $char < 0; + # Special case characters that must be escaped, or are shorter as ASCII + return sprintf("\\%03o", $char) if $char < 0x20; + return "\\\"" if $char == 0x22; + return "\\\\" if $char == 0x5c; + return pack("C", $char) if $char < 0x7f; + return sprintf("\\u%04x", $char); +} + +## +## Convert the text UnicodeData file from www.unicode.org into a Java +## interface with string constants holding the compressed information. +## +my @TYPECODES = qw(Cn Lu Ll Lt Lm Lo Mn Me Mc Nd Nl No Zs Zl Zp Cc Cf + SKIPPED Co Cs Pd Ps Pe Pc Po Sm Sc Sk So Pi Pf); +my @DIRCODES = qw(L R AL EN ES ET AN CS NSM BN B S WS ON LRE LRO RLE RLO PDF); + +my $NOBREAK_FLAG = 32; +my $MIRRORED_FLAG = 64; + +my %special = (); + +# infoArray is an array where each element is a list of character information +# for characters in a plane. The index of each list is equal to the plane +# that it corresponds to even though most of these lists will currently be +# empty. This is done so that that this script can be easily modified to +# accomodate future versions of Unicode. +my @infoArray = \((), (), (), (), (), (), (), (), + (), (), (), (), (), (), (), (), ()); + +# info is a reference to one of the lists in infoArray, depending on which +# plane we're currently parsing. +my $info; + +# titlecase is a string of ordered pairs of characters to store the titlecase +# conversions of characters that have them +my $titlecase = ""; + +# count is simply used to print "." to the screen every so often +my $count = 0; + +# range is used when the UnicodeData file blocks out ranges of code points +my $range = 0; + +# largeNums is an array of numerical values that are too large to fit +# into the 16 bit char where most numerical values are stored. +# What is stored in the char then is a number N such that (-N - 3) is +# the index into largeNums where the numerical value can be found. +my @largeNums = (); + +die "Usage: $0 " + unless @ARGV == 3; +$| = 1; +print "GNU Classpath Unicode Attribute Database Generator 2.1\n"; +print "Copyright (C) 1998, 2002 Free Software Foundation, Inc.\n"; + +################################################################################ +################################################################################ +## Stage 0: Parse the special casing file +print "Parsing special casing file\n"; +open (SPECIAL, "< $ARGV[1]") || die "Can't open special casing file: $!\n"; +while () { + next if /^\#/; + my ($ch, undef, undef, $upper) = split / *; */; + + # This grabs only the special casing for multi-char uppercase. Note that + # there are no multi-char lowercase, and that Sun ignores multi-char + # titlecase rules. This script omits 3 special cases in Unicode 3.0.0, + # which must be hardcoded in java.lang.String: + # \u03a3 (Sun ignores this special case) + # \u0049 - lowercases to \u0131, but only in Turkish locale + # \u0069 - uppercases to \u0130, but only in Turkish locale + next unless defined $upper and $upper =~ / /; + $special{hex $ch} = [map {hex} split ' ', $upper]; +} +close SPECIAL; + +################################################################################ +################################################################################ +## Stage 1: Parse the attribute file +print "Parsing attributes file"; +open (UNICODE, "< $ARGV[0]") || die "Can't open Unicode attribute file: $!\n"; +while () { + print "." unless $count++ % 1000; + chomp; + s/\r//g; + my ($ch, $name, $category, undef, $bidir, $decomp, undef, undef, $numeric, + $mirrored, undef, undef, $upcase, $lowcase, $title) = split ';'; + $ch = hex($ch); + + # plane tells us which Unicode code plane we're currently in and is an + # index into infoArray. + my $plane = int($ch / 0x10000); + my $planeBase = $plane * 0x10000; + $info = \@{$infoArray[$plane]}; + + my ($type, $numValue, $upperchar, $lowerchar, $direction); + + # Set the value of the $type variable, checking to make sure that it's valid + # and setting the mirrored and nobreak bits if necessary. + $type = 0; + while ($category !~ /^$TYPECODES[$type]$/) { + if (++$type == @TYPECODES) { + die "$ch: Unknown type: $category"; + } + } + $type |= $NOBREAK_FLAG if ($decomp =~ /noBreak/); + $type |= $MIRRORED_FLAG if ($mirrored =~ /Y/); + + # Set the value of the $numeric variable checking the special cases of + # large numbers or 'a' - 'z' values. + if ($numeric =~ /^[0-9]+$/) { + $numValue = $numeric; + # If numeric takes more than 16 bits to store we want to store that + # number in a separate array and store a number N in numValue such + # that (-N - 3) is the offset into the separate array containing the + # large numerical value. + if ($numValue >= 0x7fff) { + $numValue = -3 - @largeNums; + push @largeNums, $numeric; + } + } elsif ($numeric eq "") { + # Special case sequences of 'a'-'z' + if ($ch >= 0x0041 && $ch <= 0x005a) { + $numValue = $ch - 0x0037; + } elsif ($ch >= 0x0061 && $ch <= 0x007a) { + $numValue = $ch - 0x0057; + } elsif ($ch >= 0xff21 && $ch <= 0xff3a) { + $numValue = $ch - 0xff17; + } elsif ($ch >= 0xff41 && $ch <= 0xff5a) { + $numValue = $ch - 0xff37; + } else { + $numValue = -1; + } + } else { + $numValue = -2; + } + + # Set the uppercase and lowercase expansions for the character. + $upperchar = $upcase ? hex($upcase) - $ch : 0; + $lowerchar = $lowcase ? hex($lowcase) - $ch : 0; + + # If this character has a special titlecase expansion then append it to + # the titlecase String. + if ($title ne $upcase) { + my $titlechar = $title ? hex($title) : $ch; + $titlecase .= pack("n2", $ch, $titlechar); + } + + # Set the direction variable, use the lower 2 bits as a count of how many + # characters will be added to the String if this character undergoes an + # uppercase expansion. + $direction = 0; + while ($bidir !~ /^$DIRCODES[$direction]$/) { + if (++$direction == @DIRCODES) { + $direction = -1; + last; + } + } + $direction <<= 2; + $direction += $#{$special{$ch}} if defined $special{$ch}; + + # If the UnicodeData file blocks off ranges of code points give them all + # the same character information. + if ($range) { + die "Expecting end of range at $ch\n" unless $name =~ /Last>$/; + for ($range + 1 .. $ch - 1) { + $info->[$_ - $planeBase] = pack("n5", $type, $numValue, $upperchar, + $lowerchar, $direction); + } + $range = 0; + } elsif ($name =~ /First>$/) { + $range = $ch; + } + + # Store all this parsed information into the element in infoArray that info + # points to. + $info->[$ch - $planeBase] = pack("n5", $type, $numValue, $upperchar, $lowerchar, + $direction); +} +close UNICODE; + +################################################################################ +################################################################################ +## Stage 2: Compress the data structures +printf "\nCompressing data structures"; +$count = 0; + +# data is a String that will be used to create the DATA String containing +# character information and offsets into the attribute tables. +my @data = (); + +# charhashArray is an array of hashtables used so that we can reuse character +# attributes when characters share the same attributes ... this makes our +# attribute tables smaller. charhash is a pointer into this array. +my @charhashArray = ({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}); +my $charhash = (); + +# charinfoArray is an array of arrays, one per plane, for storing character +# information. charinfo is a pointer into this array. +my @charinfoArray = \((), (), (), (), (), (), (), (), + (), (), (), (), (), (), (), (), ()); +my $charinfo; + +# charlen is an array, one element per plane, that tells us how many unique +# character attributes there are for that plane. +my @charlen = (); + +for my $plane (0 .. 0x10) { + $info = \@{$infoArray[$plane]}; + my $planeBase = $plane * 0x10000; + $charhash = \%{$charhashArray[$plane]}; + $charinfo = \@{$charinfoArray[$plane]}; + + for my $ch ($planeBase .. $planeBase + 0xffff) { + my $index = $ch - $planeBase; + print "." unless $count++ % 0x1000; + $info->[$index] = pack("n5", 0, -1, 0, 0, -4) unless defined $info->[$index]; + + my ($type, $numVal, $upper, $lower, $direction) = unpack("n5", $info->[$index]); + if (! exists $charhash->{$info->[$index]}) { + # If we entered this loop that means the character we're looking at + # now has attributes that are unique from those that we've looked + # at so far for this plane. So we push its attributes into charinfo + # and store in charhash the offset into charinfo where these + # attributes can later be found. + push @{$charinfo}, [ $numVal, $upper, $lower, $direction ]; + $charhash->{$info->[$index]} = @{$charinfo} - 1; + # When the file is generaged, the number we just stored in charhas + # will be the upper 9 bits in the DATA String that are an offset + # into the attribute tables. + } + $data[$plane] .= pack("n", ($charhash->{$info->[$index]} << 7) | $type); + } + $charlen[$plane] = scalar(@{$charinfoArray[$plane]}); +} + +# the shift that results in the best compression of the table. This is an array +# because different shifts are better for the different tables for each plane. +my @bestshift; + +# an initial guess. +my $bestest = 1000000; +my @bestblkstr; +my @blksize = (); + +for my $plane (0 .. 0x10) { + print "\n\nplane: $plane\n"; + print "Unique character entries: $charlen[$plane]\n"; + $bestest = 1000000; + for my $i (3 .. 8) { + my $blksize = 1 << $i; + my %blocks = (); + my @blkarray = (); + my ($j, $k); + print "shift: $i"; + + for ($j = 0; $j < 0x10000; $j += $blksize) { + my $blkkey = substr $data[$plane], 2 * $j, 2 * $blksize; + if (! exists $blocks{$blkkey}) { + push @blkarray, $blkkey; + $blocks{$blkkey} = $#blkarray; + } + } + + my $blknum = @blkarray; + my $blocklen = $blknum * $blksize; + printf " before %5d", $blocklen; + + # Now we try to pack the blkarray as tight as possible by finding matching + # heads and tails. + for ($j = $blksize - 1; $j > 0; $j--) { + my %tails = (); + for $k (0 .. $#blkarray) { + next unless defined $blkarray[$k]; + my $len = length $blkarray[$k]; + my $tail = substr $blkarray[$k], $len - $j * 2; + if (exists $tails{$tail}) { + push @{$tails{$tail}}, $k; + } else { + $tails{$tail} = [ $k ]; + } + } + + # tails are calculated, now calculate the heads and merge. + BLOCK: + for $k (0 .. $#blkarray) { + next unless defined $blkarray[$k]; + my $tomerge = $k; + while (1) { + my $head = substr($blkarray[$tomerge], 0, $j * 2); + my $entry = $tails{$head}; + next BLOCK unless defined $entry; + + my $other = shift @{$entry}; + if ($other == $tomerge) { + if (@{$entry}) { + push @{$entry}, $other; + $other = shift @{$entry}; + } else { + push @{$entry}, $other; + next BLOCK; + } + } + if (@{$entry} == 0) { + delete $tails{$head}; + } + + # a match was found + my $merge = $blkarray[$other] + . substr($blkarray[$tomerge], $j * 2); + $blocklen -= $j; + $blknum--; + + if ($other < $tomerge) { + $blkarray[$tomerge] = undef; + $blkarray[$other] = $merge; + my $len = length $merge; + my $tail = substr $merge, $len - $j * 2; + $tails{$tail} = [ map { $_ == $tomerge ? $other : $_ } + @{$tails{$tail}} ]; + next BLOCK; + } + $blkarray[$tomerge] = $merge; + $blkarray[$other] = undef; + } + } + } + my $blockstr; + for $k (0 .. $#blkarray) { + $blockstr .= $blkarray[$k] if defined $blkarray[$k]; + } + + die "Unexpected $blocklen" if length($blockstr) != 2 * $blocklen; + my $estimate = 2 * $blocklen + (0x20000 >> $i); + + printf " after merge %5d: %6d bytes\n", $blocklen, $estimate; + if ($estimate < $bestest) { + $bestest = $estimate; + $bestshift[$plane] = $i; + $bestblkstr[$plane] = $blockstr; + } + } + $blksize[$plane] = 1 << $bestshift[$plane]; + print "best shift: ", $bestshift[$plane]; + print " blksize: ", $blksize[$plane]; +} +my @blocksArray = \((), (), (), (), (), (), (), (), + (), (), (), (), (), (), (), (), ()); + +for my $plane (0 .. 0x10) { + for (my $j = 0; $j < 0x10000; $j += $blksize[$plane]) { + my $blkkey = substr $data[$plane], 2 * $j, 2 * $blksize[$plane]; + my $index = index $bestblkstr[$plane], $blkkey; + while ($index & 1) { + die "not found: $j" if $index == -1; + $index = index $bestblkstr[$plane], $blkkey, $index + 1; + } + push @{$blocksArray[$plane]}, ($index / 2 - $j) & 0xffff; + } +} + +################################################################################ +################################################################################ +## Stage 3: Generate the file +for my $plane (0 .. 0x10) { + die "UTF-8 limit of blocks may be exceeded for plane $plane: " . scalar(@{$blocksArray[$plane]}) . "\n" + if @{$blocksArray[$plane]} > 0xffff / 3; + die "UTF-8 limit of data may be exceeded for plane $plane: " . length($bestblkstr[$plane]) . "\n" + if length($bestblkstr[$plane]) > 0xffff / 3; +} + +{ + print "\nGenerating $ARGV[2]."; + my ($i, $j); + + open OUTPUT, "> $ARGV[2]" or die "Failed creating output file: $!\n"; + print OUTPUT <$ARGV[0]
      and + * $ARGV[1], by some + * perl scripts. These Unicode definition files can be found on the + * http://www.unicode.org website. + * JDK 1.5 uses Unicode version 4.0.0. + * + * The data is stored as string constants, but Character will convert these + * Strings to their respective char[] components. The fields + * are stored in arrays of 17 elements each, one element per Unicode plane. + * BLOCKS stores the offset of a block of 2SHIFT + * characters within DATA. The DATA field, in turn, stores + * information about each character in the low order bits, and an offset + * into the attribute tables UPPER, LOWER, + * NUM_VALUE, and DIRECTION. Notice that the + * attribute tables are much smaller than 0xffff entries; as many characters + * in Unicode share common attributes. Numbers that are too large to fit + * into NUM_VALUE as 16 bit chars are stored in LARGENUMS and a number N is + * stored in NUM_VALUE such that (-N - 3) is the offset into LARGENUMS for + * the particular character. The DIRECTION table also contains a field for + * detecting characters with multi-character uppercase expansions. + * Next, there is a listing for TITLE exceptions (most characters + * just have the same title case as upper case). Finally, there are two + * tables for multi-character capitalization, UPPER_SPECIAL + * which lists the characters which are special cased, and + * UPPER_EXPAND, which lists their expansion. + * + * \@author scripts/unicode-muncher.pl (written by Jochen Hoenicke, + * Eric Blake) + * \@see Character + * \@see String + */ +public interface CharData +{ + /** + * The Unicode definition file that was parsed to build this database. + */ + String SOURCE = \"$ARGV[0]\"; + + /** + * The character shift amount to look up the block offset. In other words, + * (char) (BLOCKS.value[ch >> SHIFT[p]] + ch) is the index + * where ch is described in DATA if ch + * is in Unicode plane p. Note that p is simply + * the integer division of ch and 0x10000. + */ + int[] SHIFT +EOF + for ($i = 0; $i < @bestshift - 1; $i++) { + if ($i == 0){ + print OUTPUT " = new int[] {"; + } + print OUTPUT $bestshift[$i], ", "; + } + if (scalar(@bestshift) > 0){ + print OUTPUT $bestshift[-1], "}"; + } + else { + print OUTPUT " = null"; + } + print OUTPUT <DATA. + * Each entry has been adjusted so that the 16-bit sum with the desired + * character gives the actual index into DATA. + */ + String[] BLOCKS = new String[]{ +EOF + for ($plane = 0; $plane <= 0x10; $plane++) { + # The following if statement handles the cases of unassigned planes + # specially so we don't waste space with unused Strings. As of + # Unicode version 4.0.0 only planes 0, 1, 2, and 14 are used. If + # you are updating this script to work with a later version of + # Unicode you may have to alter this if statement. + if ($plane > 2 && $plane != 14) { + print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; + } + else { + for ($i = 0; $i < @{$blocksArray[$plane]} / 11; $i++) { + print OUTPUT $i ? "\n + " : " "; + print OUTPUT "\""; + for $j (0 .. 10) { + last if @{$blocksArray[$plane]} <= $i * 11 + $j; + my $val = $blocksArray[$plane]->[$i * 11 + $j]; + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + print OUTPUT ",\n\n"; + } + } + print OUTPUT < 0){ + print OUTPUT $largeNums[-1], "}"; + } + else { + print OUTPUT " = null"; + } + print OUTPUT < 2 && $plane != 14) { + print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; + } + else { + my $len = length($bestblkstr[$plane]) / 2; + for ($i = 0; $i < $len / 11; $i++) { + print OUTPUT $i ? "\n + " : " "; + print OUTPUT "\""; + for $j (0 .. 10) { + last if $len <= $i * 11 + $j; + my $val = unpack "n", substr($bestblkstr[$plane], 2 * ($i * 11 + $j), 2); + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + print OUTPUT ",\n\n"; + } + } + print OUTPUT < 2 && $plane != 14) { + print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; + } + else { + $len = @{$charinfoArray[$plane]}; + for ($i = 0; $i < $len / 11; $i++) { + print OUTPUT $i ? "\n + " : " "; + print OUTPUT "\""; + for $j (0 .. 10) { + last if $len <= $i * 11 + $j; + my $val = $charinfoArray[$plane]->[$i * 11 + $j][0]; + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + print OUTPUT ",\n\n"; + } + } + print OUTPUT < 2 && $plane != 14) { + print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; + } + else { + $len = @{$charinfoArray[$plane]}; + for ($i = 0; $i < $len / 11; $i++) { + print OUTPUT $i ? "\n + " : " "; + print OUTPUT "\""; + for $j (0 .. 10) { + last if $len <= $i * 11 + $j; + my $val = $charinfoArray[$plane]->[$i * 11 + $j][1]; + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + print OUTPUT ",\n\n"; + } + } + print OUTPUT < 2 && $plane != 14) { + print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; + } + else { + $len = @{$charinfoArray[$plane]}; + for ($i = 0; $i < $len / 11; $i++) { + print OUTPUT $i ? "\n + " : " "; + print OUTPUT "\""; + for $j (0 .. 10) { + last if $len <= $i * 11 + $j; + my $val = $charinfoArray[$plane]->[$i * 11 + $j][2]; + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + print OUTPUT ",\n\n"; + } + } + print OUTPUT < 2 && $plane != 14) { + print OUTPUT ($plane == 0x10) ? " \"\"}" : " \"\",\n\n"; + } + else { + $len = @{$charinfoArray[$plane]}; + for ($i = 0; $i < $len / 11; $i++) { + print OUTPUT $i ? "\n + " : " "; + print OUTPUT "\""; + for $j (0 .. 10) { + last if $len <= $i * 11 + $j; + my $val = $charinfoArray[$plane]->[$i * 11 + $j][3]; + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + print OUTPUT ",\n\n"; + } + } + print OUTPUT <UPPER to determine their titlecase). The listing + * is a sorted sequence of character pairs; converting the first character + * of the pair to titlecase produces the second character. + */ + String TITLE +EOF + + $len = length($titlecase) / 2; + for ($i = 0; $i < $len / 11; $i++) { + print OUTPUT $i ? "\n + \"" : " = \""; + for $j (0 .. 10) { + last if $len <= $i * 11 + $j; + my $val = unpack "n", substr($titlecase, 2 * ($i * 11 + $j), 2); + print OUTPUT javaChar($val); + } + print OUTPUT "\""; + } + + print OUTPUT < $b} keys %special; + my $expansion = ""; + my $offset = 0; + $len = @list; + for ($i = 0; $i < $len / 5; $i++) { + print OUTPUT $i ? "\n + \"" : " = \""; + for $j (0 .. 4) { + last if $len <= $i * 5 + $j; + my $ch = $list[$i * 5 + $j]; + print OUTPUT javaChar($ch); + print OUTPUT javaChar($offset); + $offset += @{$special{$ch}}; + $expansion .= pack "n*", @{$special{$ch}}; + } + print OUTPUT "\""; + } + + print OUTPUT <null for the system class + * loader. + * @return an iterator over the service providers. + */ + public static

      Iterator

      providers(Class

      c, ClassLoader cl) + { + return (Iterator

      ) ServiceFactory.lookupProviders(c, cl); + } + +} + diff --git a/libjava/classpath/sun/misc/ServiceConfigurationError.java b/libjava/classpath/sun/misc/ServiceConfigurationError.java new file mode 100644 index 00000000000..9c29d6e8c1e --- /dev/null +++ b/libjava/classpath/sun/misc/ServiceConfigurationError.java @@ -0,0 +1,64 @@ +/* ServiceConfigurationError.java -- An error from service configuration. + Copyright (C) 2006 Free Software Foundation + +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. */ + + +package sun.misc; + +public class ServiceConfigurationError + extends Error +{ + + /** + * Constructs a new {@link ServiceConfigurationError} + */ + public ServiceConfigurationError() + { + super(); + } + + /** + * Constructs a new {@link ServiceConfigurationError} + * with the specified message. + */ + public ServiceConfigurationError(String message) + { + super(message); + } + + +} + diff --git a/libjava/classpath/sun/reflect/annotation/AnnotationInvocationHandler.java b/libjava/classpath/sun/reflect/annotation/AnnotationInvocationHandler.java index ab9ad13d853..f132d81bad8 100644 --- a/libjava/classpath/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/libjava/classpath/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -39,11 +39,13 @@ exception statement from your version. */ package sun.reflect.annotation; import java.io.Serializable; +import java.lang.annotation.Annotation; import java.lang.annotation.AnnotationTypeMismatchException; import java.lang.annotation.IncompleteAnnotationException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.lang.reflect.Proxy; import java.util.Arrays; import java.util.Iterator; import java.util.Map; @@ -74,6 +76,24 @@ public final class AnnotationInvocationHandler this.memberValues = memberValues; } + public static Annotation create(Class type, Map memberValues) + { + for (Method m : type.getDeclaredMethods()) + { + String name = m.getName(); + if (! memberValues.containsKey(name)) + { + // FIXME: what to do about exceptions here? + memberValues.put(name, m.getDefaultValue()); + } + } + AnnotationInvocationHandler handler + = new AnnotationInvocationHandler(type, memberValues); + return (Annotation) Proxy.newProxyInstance(type.getClassLoader(), + new Class[] { type }, + handler); + } + /** * Compare an instance of AnnotationInvocationHandler with another object. * Note that the other object does not have to be an @@ -295,6 +315,38 @@ public final class AnnotationInvocationHandler return returnType; } + private Object arrayClone(Object obj) + { + if (obj instanceof boolean[]) + return ((boolean[]) obj).clone(); + + if (obj instanceof byte[]) + return ((byte[]) obj).clone(); + + if (obj instanceof char[]) + return ((char[]) obj).clone(); + + if (obj instanceof short[]) + return ((short[]) obj).clone(); + + if (obj instanceof int[]) + return ((int[]) obj).clone(); + + if (obj instanceof float[]) + return ((float[]) obj).clone(); + + if (obj instanceof long[]) + return ((long[]) obj).clone(); + + if (obj instanceof double[]) + return ((double[]) obj).clone(); + + if (obj instanceof Object[]) + return ((Object[]) obj).clone(); + + return obj; + } + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { @@ -325,6 +377,10 @@ public final class AnnotationInvocationHandler throw new AnnotationTypeMismatchException(method, val.getClass().getName()); } + if (val.getClass().isArray()) + { + val = arrayClone(val); + } return val; } } diff --git a/libjava/classpath/sun/reflect/annotation/AnnotationParser.java b/libjava/classpath/sun/reflect/annotation/AnnotationParser.java new file mode 100644 index 00000000000..a5452d09014 --- /dev/null +++ b/libjava/classpath/sun/reflect/annotation/AnnotationParser.java @@ -0,0 +1,57 @@ +/* sun.reflect.annotation.AnnotationParser + Copyright (C) 2006 + 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. */ + +package sun.reflect.annotation; + +import gnu.classpath.NotImplementedException; + +import java.lang.annotation.Annotation; + +import java.util.Map; + +public class AnnotationParser +{ + + public static Annotation annotationForMap(Class annoType, + Map map) + throws NotImplementedException + { + return null; + } + +} diff --git a/libjava/classpath/sun/reflect/annotation/AnnotationType.java b/libjava/classpath/sun/reflect/annotation/AnnotationType.java new file mode 100644 index 00000000000..38d8aa8603c --- /dev/null +++ b/libjava/classpath/sun/reflect/annotation/AnnotationType.java @@ -0,0 +1,52 @@ +/* sun.reflect.annotation.AnnotationType + Copyright (C) 2006 + 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. */ + +package sun.reflect.annotation; + +import gnu.classpath.NotImplementedException; + +public class AnnotationType +{ + + public static Class invocationHandlerReturnType(Class returnClass) + throws NotImplementedException + { + return null; + } + +} diff --git a/libjava/classpath/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java b/libjava/classpath/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java new file mode 100644 index 00000000000..33b0daefa35 --- /dev/null +++ b/libjava/classpath/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java @@ -0,0 +1,52 @@ +/* sun.reflect.annotation.EnumConstantNotPresentExceptionProxy + Copyright (C) 2006 + 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. */ + +package sun.reflect.annotation; + +import gnu.classpath.NotImplementedException; + +public class EnumConstantNotPresentExceptionProxy + extends ExceptionProxy +{ + + public EnumConstantNotPresentExceptionProxy(Class c, String s) + throws NotImplementedException + { + } + +} diff --git a/libjava/classpath/sun/reflect/annotation/ExceptionProxy.java b/libjava/classpath/sun/reflect/annotation/ExceptionProxy.java new file mode 100644 index 00000000000..8edb361533c --- /dev/null +++ b/libjava/classpath/sun/reflect/annotation/ExceptionProxy.java @@ -0,0 +1,46 @@ +/* sun.reflect.annotation.ExceptionProxy + Copyright (C) 2006 + 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. */ + +package sun.reflect.annotation; + +import gnu.classpath.NotImplementedException; + +public class ExceptionProxy +{ + +} diff --git a/libjava/classpath/tools/.cvsignore b/libjava/classpath/tools/.cvsignore index cf3688511ad..a013e8d1644 100644 --- a/libjava/classpath/tools/.cvsignore +++ b/libjava/classpath/tools/.cvsignore @@ -4,3 +4,16 @@ Makefile.in Makefile tools.zip appletviewer +.deps +gappletviewer +gjarsigner +gkeytool +gjar +gnative2ascii +gserialver +gjavah +gorbd +grmic +grmid +grmiregistry +gtnameserv diff --git a/libjava/classpath/tools/Makefile.am b/libjava/classpath/tools/Makefile.am index 01364f2411d..1d4cb6683ed 100755 --- a/libjava/classpath/tools/Makefile.am +++ b/libjava/classpath/tools/Makefile.am @@ -1,132 +1,133 @@ ## Input file for automake to generate the Makefile.in used by configure -GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip' +## GCJ LOCAL: use srcdir to find core classes. +GLIBJ_BOOTCLASSPATH='$(top_srcdir)/lib' +GLIBJ_CLASSPATH=$(srcdir)/asm +## END GCJ LOCAL # Setup the compiler to use the GNU Classpath library we just build if FOUND_GCJ -JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath $(GLIBJ_CLASSPATH) --classpath . -C -else -if FOUND_JIKES -JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(GLIBJ_CLASSPATH):. -else -if FOUND_GCJX -JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. +JCOMPILER = $(GCJ) -C -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH):. else if FOUND_ECJ -JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath .:$(GLIBJ_CLASSPATH) else error dunno how to setup the JCOMPILER and compile endif endif -endif -endif -## GCJ LOCAL: do not build and install wrapper binaries here, since -## the build ordering will not work. Instead build them in -## gcc/libjava/Makefile.am. -# if CREATE_WRAPPERS -# bin_SCRIPTS = -# bin_PROGRAMS = gappletviewer gjarsigner gkeytool \ -# gjar gnative2ascii gserialver -# -# if FOUND_GCJ -# LIBJVM = -lgcj -# else -# if FOUND_CACAO -# LIBJVM = -ljvm -# else -# LIBJVM = -# endif -# endif -# -# AM_CPPFLAGS = -Wall \ -# -I$(top_srcdir)/include \ -# -DTOOLS_ZIP="\"$(TOOLSdir)/$(TOOLS_ZIP)\"" -# -# gappletviewer_SOURCES = toolwrapper.c -# gappletviewer_CFLAGS = \ -# -DTOOLPACKAGE="\"appletviewer\"" \ -# -DTOOLNAME="\"gappletviewer\"" -# gappletviewer_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gjarsigner_SOURCES = toolwrapper.c -# gjarsigner_CFLAGS = \ -# -DTOOLPACKAGE="\"jarsigner\"" \ -# -DTOOLNAME="\"gjarsigner\"" -# gjarsigner_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gkeytool_SOURCES = toolwrapper.c -# gkeytool_CFLAGS = \ -# -DTOOLPACKAGE="\"keytool\"" \ -# -DTOOLNAME="\"gkeytool\"" -# gkeytool_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gjar_SOURCES = toolwrapper.c -# gjar_CFLAGS = \ -# -DTOOLPACKAGE="\"jar\"" \ -# -DTOOLNAME="\"gjar\"" -# gjar_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gnative2ascii_SOURCES = toolwrapper.c -# gnative2ascii_CFLAGS = \ -# -DTOOLPACKAGE="\"native2ascii\"" \ -# -DTOOLNAME="\"gnative2ascii\"" -# gnative2ascii_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gserialver_SOURCES = toolwrapper.c -# gserialver_CFLAGS = \ -# -DTOOLPACKAGE="\"serialver\"" \ -# -DTOOLNAME="\"gserialver\"" -# gserialver_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# else -# bin_SCRIPTS = gappletviewer gjarsigner gkeytool \ -# gjar gnative2ascii gserialver -# bin_PROGRAMS = -# endif -## END GCJ LOCAL +if CREATE_WRAPPERS +bin_SCRIPTS = +bin_PROGRAMS = gappletviewer gjarsigner gkeytool \ + gjar gnative2ascii gserialver gjavah grmiregistry \ + gtnameserv gorbd grmid grmic + + +AM_CPPFLAGS = -Wall \ + -I$(top_srcdir)/include \ + -DLIBJVM="\"$(libdir)/libjvm\"" \ + -DTOOLS_ZIP="\"$(TOOLSdir)/$(TOOLS_ZIP)\"" + +gappletviewer_SOURCES = toolwrapper.c +gappletviewer_CFLAGS = \ + -DTOOLPACKAGE="\"appletviewer\"" \ + -DTOOLNAME="\"gappletviewer\"" + +gjarsigner_SOURCES = toolwrapper.c +gjarsigner_CFLAGS = \ + -DTOOLPACKAGE="\"jarsigner\"" \ + -DTOOLNAME="\"gjarsigner\"" + +gkeytool_SOURCES = toolwrapper.c +gkeytool_CFLAGS = \ + -DTOOLPACKAGE="\"keytool\"" \ + -DTOOLNAME="\"gkeytool\"" + +gjar_SOURCES = toolwrapper.c +gjar_CFLAGS = \ + -DTOOLPACKAGE="\"jar\"" \ + -DTOOLNAME="\"gjar\"" + +gnative2ascii_SOURCES = toolwrapper.c +gnative2ascii_CFLAGS = \ + -DTOOLPACKAGE="\"native2ascii\"" \ + -DTOOLNAME="\"gnative2ascii\"" + +gserialver_SOURCES = toolwrapper.c +gserialver_CFLAGS = \ + -DTOOLPACKAGE="\"serialver\"" \ + -DTOOLNAME="\"gserialver\"" + +grmiregistry_SOURCES = toolwrapper.c +grmiregistry_CFLAGS = \ + -DTOOLPACKAGE="\"rmiregistry\"" \ + -DTOOLNAME="\"grmiregistry\"" + +gtnameserv_SOURCES = toolwrapper.c +gtnameserv_CFLAGS = \ + -DTOOLPACKAGE="\"tnameserv\"" \ + -DTOOLNAME="\"gtnameserv\"" + +gorbd_SOURCES = toolwrapper.c +gorbd_CFLAGS = \ + -DTOOLPACKAGE="\"orbd\"" \ + -DTOOLNAME="\"gorbd\"" + +grmid_SOURCES = toolwrapper.c +grmid_CFLAGS = \ + -DTOOLPACKAGE="\"rmid\"" \ + -DTOOLNAME="\"grmid\"" + +gjavah_SOURCES = toolwrapper.c +gjavah_CFLAGS = \ + -DTOOLPACKAGE="\"javah\"" \ + -DTOOLNAME="\"gjavah\"" + +grmic_SOURCES = toolwrapper.c +grmic_CFLAGS = \ + -DTOOLPACKAGE="\"rmic\"" \ + -DTOOLNAME="\"grmic\"" + +else +bin_SCRIPTS = gappletviewer gjarsigner gkeytool \ + gjar gnative2ascii gserialver gjavah grmiregistry \ + gtnameserv gorbd grmid grmic +bin_PROGRAMS = +endif EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \ - gjar.in gnative2ascii.in gserialver.in + gjar.in gnative2ascii.in gserialver.in gjavah.in grmiregistry.in \ + gtnameserv.in gorbd.in grmid.in grmic.in # All our example java source files -TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*.java $(srcdir)/gnu/classpath/tools/*/*.java $(srcdir)/gnu/classpath/tools/*/*/*.java +TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/commons/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/optimizer/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/signature/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/tree/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/tree/analysis/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/util/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/util/attrs/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/xml/*.java # The zip files with classes we want to produce. - -## GCJ LOCAL: rename this tools.jar for libgcj_tools_la_SOURCES in -## gcc/libjava/Makefile.am. -TOOLS_ZIP = tools.jar +TOOLS_ZIP = tools.zip # Extra objects that will not exist until configure-time BUILT_SOURCES = $(TOOLS_ZIP) -# The templates that must be included into the generated zip file. -GRMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/giop/grmic/templates/*.jav -RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmi/rmic/templates/*.jav - -TOOLS_TEMPLATES = $(GRMIC_TEMPLATES) $(RMIC_TEMPLATES) - -# This covers the built-in help texts, both for giop and rmic subpackages. -GIOP_HELPS = $(srcdir)/gnu/classpath/tools/giop/*.txt -RMI_HELPS = $(srcdir)/gnu/classpath/tools/rmi/*.txt - -TOOLS_HELPS = $(GIOP_HELPS) $(RMI_HELPS) - -# The tool specific README files. -READMES = $(srcdir)/gnu/classpath/tools/giop/README +# RMIC templates that must be included in the generated zip file. +RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmic/templates/*.jav # All the files we find "interesting" -ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(TOOLS_TEMPLATES) $(TOOLS_HELPS) +ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES) -## GCJ LOCAL: build tools.zip but do not install it. It is installed -## in gcc/libjava/Makefile.am. -# # Some architecture independent data to be installed. -# TOOLS_DATA = $(TOOLS_ZIP) -noinst_DATA = $(TOOLS_ZIP) +# Some architecture independent data to be installed. +TOOLS_DATA = $(TOOLS_ZIP) # Where we want these data files installed. -## GCJ LOCAL: install libgcj-tools.jar alongside libgcj.jar. -# TOOLSdir = $(datadir)/java +TOOLSdir = $(pkgdatadir) # Make sure everything is included in the distribution. dist-hook: @@ -146,26 +147,45 @@ dist-hook: # the class files. Always regenerate all .class files and remove them # immediately. And copy the template files we use to the classes dir # so they get also included. -## GCJ LOCAL: assume FASTJAR since we pass --with-fastjar to configure $(TOOLS_ZIP): $(TOOLS_JAVA_FILES) - mkdir -p classes/gnu/classpath/tools/giop/grmic/templates - mkdir -p classes/gnu/classpath/tools/rmi/rmic/templates - mkdir -p classes/gnu/classpath/tools/appletviewer - mkdir -p classes/gnu/classpath/tools/jarsigner - mkdir -p classes/gnu/classpath/tools/keytool - cp $(RMIC_TEMPLATES) classes/gnu/classpath/tools/rmi/rmic/templates - cp $(GRMIC_TEMPLATES) classes/gnu/classpath/tools/giop/grmic/templates - cp $(RMI_HELPS) classes/gnu/classpath/tools/rmi/ - cp $(GIOP_HELPS) classes/gnu/classpath/tools/giop/ - $(JCOMPILER) -d classes $(TOOLS_JAVA_FILES) +## GCJ LOCAL: put classes in srcdir +## @rm -rf classes asm +## mkdir classes asm + find $(srcdir)/external/asm -name '*.java' -print > asm.lst + find $(srcdir)/gnu/classpath/tools -name '*.java' -print > classes.lst + cat classes.lst asm.lst > all-classes.lst +if JAVA_MAINTAINER_MODE +## Compile ASM separately as it is latin-1 encoded. + AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \ + $$AC -g -w -d $(srcdir)/asm @asm.lst + $(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst +## Copy over tools resource files. + @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools -name \*.properties -print`; \ + for p in $$list; do \ + dirname=classes/`dirname $$p`; \ + if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ + echo " cp $(top_srcdir)/resource/$$p classes/$$p"; \ + cp $(top_srcdir)/resource/$$p classes/$$p; \ + done +endif + cp -pR $(srcdir)/asm . + cp -pR $(srcdir)/classes . +## END GCJ LOCAL +## First add classpath tools stuff. (cd classes; \ - $(FASTJAR) cf ../$(TOOLS_ZIP) .; \ + if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \ + if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(TOOLS_ZIP) .; fi; \ + cd ..) +## Now add ASM classes. + (cd asm; \ + if test "$(ZIP)" != ""; then $(ZIP) -u -r ../$(TOOLS_ZIP) .; fi; \ + if test "$(FASTJAR)" != ""; then $(FASTJAR) uf ../$(TOOLS_ZIP) .; fi; \ cd ..) - rm -rf classes + rm -rf asm classes classes.lst asm.lst # Zip file be gone! (and make sure the classes are gone too) clean-local: - rm -rf $(TOOLS_ZIP) classes + rm -rf $(TOOLS_ZIP) classes asm asm.lst # FIXME: remove this when GNU Classpath includes a bootstrap VM. installcheck-binSCRIPTS: diff --git a/libjava/classpath/tools/Makefile.in b/libjava/classpath/tools/Makefile.in index 9723e4235ba..a8ddc832444 100644 --- a/libjava/classpath/tools/Makefile.in +++ b/libjava/classpath/tools/Makefile.in @@ -14,6 +14,8 @@ @SET_MAKE@ + + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -37,31 +39,134 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ +@CREATE_WRAPPERS_TRUE@bin_PROGRAMS = gappletviewer$(EXEEXT) \ +@CREATE_WRAPPERS_TRUE@ gjarsigner$(EXEEXT) gkeytool$(EXEEXT) \ +@CREATE_WRAPPERS_TRUE@ gjar$(EXEEXT) gnative2ascii$(EXEEXT) \ +@CREATE_WRAPPERS_TRUE@ gserialver$(EXEEXT) gjavah$(EXEEXT) \ +@CREATE_WRAPPERS_TRUE@ grmiregistry$(EXEEXT) \ +@CREATE_WRAPPERS_TRUE@ gtnameserv$(EXEEXT) gorbd$(EXEEXT) \ +@CREATE_WRAPPERS_TRUE@ grmid$(EXEEXT) grmic$(EXEEXT) subdir = tools DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/appletviewer.in $(srcdir)/gappletviewer.in \ - $(srcdir)/gjar.in $(srcdir)/gjarsigner.in \ + $(srcdir)/gappletviewer.in $(srcdir)/gjar.in \ + $(srcdir)/gjarsigner.in $(srcdir)/gjavah.in \ $(srcdir)/gkeytool.in $(srcdir)/gnative2ascii.in \ - $(srcdir)/gserialver.in $(srcdir)/jarsigner.in \ - $(srcdir)/keytool.in + $(srcdir)/gorbd.in $(srcdir)/grmic.in $(srcdir)/grmid.in \ + $(srcdir)/grmiregistry.in $(srcdir)/gserialver.in \ + $(srcdir)/gtnameserv.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ + $(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = gappletviewer gjarsigner gkeytool gjar \ - gnative2ascii gserialver appletviewer jarsigner keytool -SOURCES = -DIST_SOURCES = -DATA = $(noinst_DATA) + gnative2ascii gserialver grmiregistry gtnameserv gorbd grmid \ + grmic gjavah +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(TOOLSdir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am__gappletviewer_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gappletviewer_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gappletviewer-toolwrapper.$(OBJEXT) +gappletviewer_OBJECTS = $(am_gappletviewer_OBJECTS) +gappletviewer_LDADD = $(LDADD) +am__gjar_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gjar_OBJECTS = gjar-toolwrapper.$(OBJEXT) +gjar_OBJECTS = $(am_gjar_OBJECTS) +gjar_LDADD = $(LDADD) +am__gjarsigner_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gjarsigner_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gjarsigner-toolwrapper.$(OBJEXT) +gjarsigner_OBJECTS = $(am_gjarsigner_OBJECTS) +gjarsigner_LDADD = $(LDADD) +am__gjavah_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gjavah_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gjavah-toolwrapper.$(OBJEXT) +gjavah_OBJECTS = $(am_gjavah_OBJECTS) +gjavah_LDADD = $(LDADD) +am__gkeytool_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gkeytool_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gkeytool-toolwrapper.$(OBJEXT) +gkeytool_OBJECTS = $(am_gkeytool_OBJECTS) +gkeytool_LDADD = $(LDADD) +am__gnative2ascii_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gnative2ascii_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gnative2ascii-toolwrapper.$(OBJEXT) +gnative2ascii_OBJECTS = $(am_gnative2ascii_OBJECTS) +gnative2ascii_LDADD = $(LDADD) +am__gorbd_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gorbd_OBJECTS = gorbd-toolwrapper.$(OBJEXT) +gorbd_OBJECTS = $(am_gorbd_OBJECTS) +gorbd_LDADD = $(LDADD) +am__grmic_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_grmic_OBJECTS = grmic-toolwrapper.$(OBJEXT) +grmic_OBJECTS = $(am_grmic_OBJECTS) +grmic_LDADD = $(LDADD) +am__grmid_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_grmid_OBJECTS = grmid-toolwrapper.$(OBJEXT) +grmid_OBJECTS = $(am_grmid_OBJECTS) +grmid_LDADD = $(LDADD) +am__grmiregistry_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_grmiregistry_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ grmiregistry-toolwrapper.$(OBJEXT) +grmiregistry_OBJECTS = $(am_grmiregistry_OBJECTS) +grmiregistry_LDADD = $(LDADD) +am__gserialver_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gserialver_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gserialver-toolwrapper.$(OBJEXT) +gserialver_OBJECTS = $(am_gserialver_OBJECTS) +gserialver_LDADD = $(LDADD) +am__gtnameserv_SOURCES_DIST = toolwrapper.c +@CREATE_WRAPPERS_TRUE@am_gtnameserv_OBJECTS = \ +@CREATE_WRAPPERS_TRUE@ gtnameserv-toolwrapper.$(OBJEXT) +gtnameserv_OBJECTS = $(am_gtnameserv_OBJECTS) +gtnameserv_LDADD = $(LDADD) +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(gappletviewer_SOURCES) $(gjar_SOURCES) \ + $(gjarsigner_SOURCES) $(gjavah_SOURCES) $(gkeytool_SOURCES) \ + $(gnative2ascii_SOURCES) $(gorbd_SOURCES) $(grmic_SOURCES) \ + $(grmid_SOURCES) $(grmiregistry_SOURCES) $(gserialver_SOURCES) \ + $(gtnameserv_SOURCES) +DIST_SOURCES = $(am__gappletviewer_SOURCES_DIST) \ + $(am__gjar_SOURCES_DIST) $(am__gjarsigner_SOURCES_DIST) \ + $(am__gjavah_SOURCES_DIST) $(am__gkeytool_SOURCES_DIST) \ + $(am__gnative2ascii_SOURCES_DIST) $(am__gorbd_SOURCES_DIST) \ + $(am__grmic_SOURCES_DIST) $(am__grmid_SOURCES_DIST) \ + $(am__grmiregistry_SOURCES_DIST) \ + $(am__gserialver_SOURCES_DIST) $(am__gtnameserv_SOURCES_DIST) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +TOOLSDATA_INSTALL = $(INSTALL_DATA) +DATA = $(TOOLS_DATA) +ETAGS = etags +CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ @@ -165,6 +270,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ JIKES = @JIKES@ @@ -286,112 +393,124 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip' -@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@JCOMPILER = $(ECJ) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . -@FOUND_GCJX_TRUE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. -@FOUND_GCJ_FALSE@@FOUND_JIKES_TRUE@JCOMPILER = $(JIKES) $(JIKESENCODING) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(GLIBJ_CLASSPATH):. +GLIBJ_BOOTCLASSPATH = '$(top_srcdir)/lib' +GLIBJ_CLASSPATH = $(srcdir)/asm +@FOUND_ECJ_TRUE@@FOUND_GCJ_FALSE@JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath .:$(GLIBJ_CLASSPATH) # Setup the compiler to use the GNU Classpath library we just build -@FOUND_GCJ_TRUE@JCOMPILER = $(GCJ) -encoding UTF-8 --bootclasspath $(GLIBJ_CLASSPATH) --classpath . -C - -# if CREATE_WRAPPERS -# bin_SCRIPTS = -# bin_PROGRAMS = gappletviewer gjarsigner gkeytool \ -# gjar gnative2ascii gserialver -# -# if FOUND_GCJ -# LIBJVM = -lgcj -# else -# if FOUND_CACAO -# LIBJVM = -ljvm -# else -# LIBJVM = -# endif -# endif -# -# AM_CPPFLAGS = -Wall \ -# -I$(top_srcdir)/include \ -# -DTOOLS_ZIP="\"$(TOOLSdir)/$(TOOLS_ZIP)\"" -# -# gappletviewer_SOURCES = toolwrapper.c -# gappletviewer_CFLAGS = \ -# -DTOOLPACKAGE="\"appletviewer\"" \ -# -DTOOLNAME="\"gappletviewer\"" -# gappletviewer_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gjarsigner_SOURCES = toolwrapper.c -# gjarsigner_CFLAGS = \ -# -DTOOLPACKAGE="\"jarsigner\"" \ -# -DTOOLNAME="\"gjarsigner\"" -# gjarsigner_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gkeytool_SOURCES = toolwrapper.c -# gkeytool_CFLAGS = \ -# -DTOOLPACKAGE="\"keytool\"" \ -# -DTOOLNAME="\"gkeytool\"" -# gkeytool_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gjar_SOURCES = toolwrapper.c -# gjar_CFLAGS = \ -# -DTOOLPACKAGE="\"jar\"" \ -# -DTOOLNAME="\"gjar\"" -# gjar_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gnative2ascii_SOURCES = toolwrapper.c -# gnative2ascii_CFLAGS = \ -# -DTOOLPACKAGE="\"native2ascii\"" \ -# -DTOOLNAME="\"gnative2ascii\"" -# gnative2ascii_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# gserialver_SOURCES = toolwrapper.c -# gserialver_CFLAGS = \ -# -DTOOLPACKAGE="\"serialver\"" \ -# -DTOOLNAME="\"gserialver\"" -# gserialver_LDFLAGS = -L$(libdir) $(LIBJVM) -# -# else -# bin_SCRIPTS = gappletviewer gjarsigner gkeytool \ -# gjar gnative2ascii gserialver -# bin_PROGRAMS = -# endif +@FOUND_GCJ_TRUE@JCOMPILER = $(GCJ) -C -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH):. +@CREATE_WRAPPERS_FALSE@bin_SCRIPTS = gappletviewer gjarsigner gkeytool \ +@CREATE_WRAPPERS_FALSE@ gjar gnative2ascii gserialver gjavah grmiregistry \ +@CREATE_WRAPPERS_FALSE@ gtnameserv gorbd grmid grmic + +@CREATE_WRAPPERS_TRUE@bin_SCRIPTS = +@CREATE_WRAPPERS_TRUE@AM_CPPFLAGS = -Wall \ +@CREATE_WRAPPERS_TRUE@ -I$(top_srcdir)/include \ +@CREATE_WRAPPERS_TRUE@ -DLIBJVM="\"$(libdir)/libjvm\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLS_ZIP="\"$(TOOLSdir)/$(TOOLS_ZIP)\"" + +@CREATE_WRAPPERS_TRUE@gappletviewer_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gappletviewer_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"appletviewer\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gappletviewer\"" + +@CREATE_WRAPPERS_TRUE@gjarsigner_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gjarsigner_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"jarsigner\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gjarsigner\"" + +@CREATE_WRAPPERS_TRUE@gkeytool_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gkeytool_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"keytool\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gkeytool\"" + +@CREATE_WRAPPERS_TRUE@gjar_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gjar_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"jar\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gjar\"" + +@CREATE_WRAPPERS_TRUE@gnative2ascii_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gnative2ascii_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"native2ascii\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gnative2ascii\"" + +@CREATE_WRAPPERS_TRUE@gserialver_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gserialver_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"serialver\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gserialver\"" + +@CREATE_WRAPPERS_TRUE@grmiregistry_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@grmiregistry_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"rmiregistry\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"grmiregistry\"" + +@CREATE_WRAPPERS_TRUE@gtnameserv_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gtnameserv_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"tnameserv\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gtnameserv\"" + +@CREATE_WRAPPERS_TRUE@gorbd_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gorbd_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"orbd\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gorbd\"" + +@CREATE_WRAPPERS_TRUE@grmid_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@grmid_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"rmid\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"grmid\"" + +@CREATE_WRAPPERS_TRUE@gjavah_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@gjavah_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"javah\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"gjavah\"" + +@CREATE_WRAPPERS_TRUE@grmic_SOURCES = toolwrapper.c +@CREATE_WRAPPERS_TRUE@grmic_CFLAGS = \ +@CREATE_WRAPPERS_TRUE@ -DTOOLPACKAGE="\"rmic\"" \ +@CREATE_WRAPPERS_TRUE@ -DTOOLNAME="\"grmic\"" + EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \ - gjar.in gnative2ascii.in gserialver.in + gjar.in gnative2ascii.in gserialver.in gjavah.in grmiregistry.in \ + gtnameserv.in gorbd.in grmid.in grmic.in # All our example java source files -TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*.java $(srcdir)/gnu/classpath/tools/*/*.java $(srcdir)/gnu/classpath/tools/*/*/*.java +TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/commons/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/optimizer/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/signature/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/tree/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/tree/analysis/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/util/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/util/attrs/*.java \ + $(srcdir)/external/asm/org/objectweb/asm/xml/*.java + # The zip files with classes we want to produce. -TOOLS_ZIP = tools.jar +TOOLS_ZIP = tools.zip # Extra objects that will not exist until configure-time BUILT_SOURCES = $(TOOLS_ZIP) -# The templates that must be included into the generated zip file. -GRMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/giop/grmic/templates/*.jav -RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmi/rmic/templates/*.jav -TOOLS_TEMPLATES = $(GRMIC_TEMPLATES) $(RMIC_TEMPLATES) - -# This covers the built-in help texts, both for giop and rmic subpackages. -GIOP_HELPS = $(srcdir)/gnu/classpath/tools/giop/*.txt -RMI_HELPS = $(srcdir)/gnu/classpath/tools/rmi/*.txt -TOOLS_HELPS = $(GIOP_HELPS) $(RMI_HELPS) - -# The tool specific README files. -READMES = $(srcdir)/gnu/classpath/tools/giop/README +# RMIC templates that must be included in the generated zip file. +RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmic/templates/*.jav # All the files we find "interesting" -ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(TOOLS_TEMPLATES) $(TOOLS_HELPS) +ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES) -# # Some architecture independent data to be installed. -# TOOLS_DATA = $(TOOLS_ZIP) -noinst_DATA = $(TOOLS_ZIP) +# Some architecture independent data to be installed. +TOOLS_DATA = $(TOOLS_ZIP) + +# Where we want these data files installed. +TOOLSdir = $(pkgdatadir) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: +.SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -433,12 +552,325 @@ gnative2ascii: $(top_builddir)/config.status $(srcdir)/gnative2ascii.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gserialver: $(top_builddir)/config.status $(srcdir)/gserialver.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -appletviewer: $(top_builddir)/config.status $(srcdir)/appletviewer.in +grmiregistry: $(top_builddir)/config.status $(srcdir)/grmiregistry.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +gtnameserv: $(top_builddir)/config.status $(srcdir)/gtnameserv.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +gorbd: $(top_builddir)/config.status $(srcdir)/gorbd.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +grmid: $(top_builddir)/config.status $(srcdir)/grmid.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -jarsigner: $(top_builddir)/config.status $(srcdir)/jarsigner.in +grmic: $(top_builddir)/config.status $(srcdir)/grmic.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -keytool: $(top_builddir)/config.status $(srcdir)/keytool.in +gjavah: $(top_builddir)/config.status $(srcdir)/gjavah.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done + +installcheck-binPROGRAMS: $(bin_PROGRAMS) + bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ + case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ + *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ + esac; \ + f=`echo "$$p" | \ + sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + for opt in --help --version; do \ + if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ + 2>c$${pid}_.err &2; bad=1; fi; \ + done; \ + done; rm -f c$${pid}_.???; exit $$bad +gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES) + @rm -f gappletviewer$(EXEEXT) + $(LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS) +gjar$(EXEEXT): $(gjar_OBJECTS) $(gjar_DEPENDENCIES) + @rm -f gjar$(EXEEXT) + $(LINK) $(gjar_LDFLAGS) $(gjar_OBJECTS) $(gjar_LDADD) $(LIBS) +gjarsigner$(EXEEXT): $(gjarsigner_OBJECTS) $(gjarsigner_DEPENDENCIES) + @rm -f gjarsigner$(EXEEXT) + $(LINK) $(gjarsigner_LDFLAGS) $(gjarsigner_OBJECTS) $(gjarsigner_LDADD) $(LIBS) +gjavah$(EXEEXT): $(gjavah_OBJECTS) $(gjavah_DEPENDENCIES) + @rm -f gjavah$(EXEEXT) + $(LINK) $(gjavah_LDFLAGS) $(gjavah_OBJECTS) $(gjavah_LDADD) $(LIBS) +gkeytool$(EXEEXT): $(gkeytool_OBJECTS) $(gkeytool_DEPENDENCIES) + @rm -f gkeytool$(EXEEXT) + $(LINK) $(gkeytool_LDFLAGS) $(gkeytool_OBJECTS) $(gkeytool_LDADD) $(LIBS) +gnative2ascii$(EXEEXT): $(gnative2ascii_OBJECTS) $(gnative2ascii_DEPENDENCIES) + @rm -f gnative2ascii$(EXEEXT) + $(LINK) $(gnative2ascii_LDFLAGS) $(gnative2ascii_OBJECTS) $(gnative2ascii_LDADD) $(LIBS) +gorbd$(EXEEXT): $(gorbd_OBJECTS) $(gorbd_DEPENDENCIES) + @rm -f gorbd$(EXEEXT) + $(LINK) $(gorbd_LDFLAGS) $(gorbd_OBJECTS) $(gorbd_LDADD) $(LIBS) +grmic$(EXEEXT): $(grmic_OBJECTS) $(grmic_DEPENDENCIES) + @rm -f grmic$(EXEEXT) + $(LINK) $(grmic_LDFLAGS) $(grmic_OBJECTS) $(grmic_LDADD) $(LIBS) +grmid$(EXEEXT): $(grmid_OBJECTS) $(grmid_DEPENDENCIES) + @rm -f grmid$(EXEEXT) + $(LINK) $(grmid_LDFLAGS) $(grmid_OBJECTS) $(grmid_LDADD) $(LIBS) +grmiregistry$(EXEEXT): $(grmiregistry_OBJECTS) $(grmiregistry_DEPENDENCIES) + @rm -f grmiregistry$(EXEEXT) + $(LINK) $(grmiregistry_LDFLAGS) $(grmiregistry_OBJECTS) $(grmiregistry_LDADD) $(LIBS) +gserialver$(EXEEXT): $(gserialver_OBJECTS) $(gserialver_DEPENDENCIES) + @rm -f gserialver$(EXEEXT) + $(LINK) $(gserialver_LDFLAGS) $(gserialver_OBJECTS) $(gserialver_LDADD) $(LIBS) +gtnameserv$(EXEEXT): $(gtnameserv_OBJECTS) $(gtnameserv_DEPENDENCIES) + @rm -f gtnameserv$(EXEEXT) + $(LINK) $(gtnameserv_LDFLAGS) $(gtnameserv_OBJECTS) $(gtnameserv_LDADD) $(LIBS) +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gappletviewer-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gjar-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gjarsigner-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gjavah-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkeytool-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnative2ascii-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gorbd-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grmic-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grmid-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grmiregistry-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gserialver-toolwrapper.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtnameserv-toolwrapper.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +gappletviewer-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gappletviewer_CFLAGS) $(CFLAGS) -MT gappletviewer-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gappletviewer-toolwrapper.Tpo" -c -o gappletviewer-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gappletviewer-toolwrapper.Tpo" "$(DEPDIR)/gappletviewer-toolwrapper.Po"; else rm -f "$(DEPDIR)/gappletviewer-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gappletviewer-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gappletviewer_CFLAGS) $(CFLAGS) -c -o gappletviewer-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gappletviewer-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gappletviewer_CFLAGS) $(CFLAGS) -MT gappletviewer-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gappletviewer-toolwrapper.Tpo" -c -o gappletviewer-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gappletviewer-toolwrapper.Tpo" "$(DEPDIR)/gappletviewer-toolwrapper.Po"; else rm -f "$(DEPDIR)/gappletviewer-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gappletviewer-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gappletviewer_CFLAGS) $(CFLAGS) -c -o gappletviewer-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gjar-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjar_CFLAGS) $(CFLAGS) -MT gjar-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gjar-toolwrapper.Tpo" -c -o gjar-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gjar-toolwrapper.Tpo" "$(DEPDIR)/gjar-toolwrapper.Po"; else rm -f "$(DEPDIR)/gjar-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gjar-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjar_CFLAGS) $(CFLAGS) -c -o gjar-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gjar-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjar_CFLAGS) $(CFLAGS) -MT gjar-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gjar-toolwrapper.Tpo" -c -o gjar-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gjar-toolwrapper.Tpo" "$(DEPDIR)/gjar-toolwrapper.Po"; else rm -f "$(DEPDIR)/gjar-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gjar-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjar_CFLAGS) $(CFLAGS) -c -o gjar-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gjarsigner-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjarsigner_CFLAGS) $(CFLAGS) -MT gjarsigner-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gjarsigner-toolwrapper.Tpo" -c -o gjarsigner-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gjarsigner-toolwrapper.Tpo" "$(DEPDIR)/gjarsigner-toolwrapper.Po"; else rm -f "$(DEPDIR)/gjarsigner-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gjarsigner-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjarsigner_CFLAGS) $(CFLAGS) -c -o gjarsigner-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gjarsigner-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjarsigner_CFLAGS) $(CFLAGS) -MT gjarsigner-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gjarsigner-toolwrapper.Tpo" -c -o gjarsigner-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gjarsigner-toolwrapper.Tpo" "$(DEPDIR)/gjarsigner-toolwrapper.Po"; else rm -f "$(DEPDIR)/gjarsigner-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gjarsigner-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjarsigner_CFLAGS) $(CFLAGS) -c -o gjarsigner-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gjavah-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjavah_CFLAGS) $(CFLAGS) -MT gjavah-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gjavah-toolwrapper.Tpo" -c -o gjavah-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gjavah-toolwrapper.Tpo" "$(DEPDIR)/gjavah-toolwrapper.Po"; else rm -f "$(DEPDIR)/gjavah-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gjavah-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjavah_CFLAGS) $(CFLAGS) -c -o gjavah-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gjavah-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjavah_CFLAGS) $(CFLAGS) -MT gjavah-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gjavah-toolwrapper.Tpo" -c -o gjavah-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gjavah-toolwrapper.Tpo" "$(DEPDIR)/gjavah-toolwrapper.Po"; else rm -f "$(DEPDIR)/gjavah-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gjavah-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gjavah_CFLAGS) $(CFLAGS) -c -o gjavah-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gkeytool-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkeytool_CFLAGS) $(CFLAGS) -MT gkeytool-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gkeytool-toolwrapper.Tpo" -c -o gkeytool-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkeytool-toolwrapper.Tpo" "$(DEPDIR)/gkeytool-toolwrapper.Po"; else rm -f "$(DEPDIR)/gkeytool-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gkeytool-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkeytool_CFLAGS) $(CFLAGS) -c -o gkeytool-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gkeytool-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkeytool_CFLAGS) $(CFLAGS) -MT gkeytool-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gkeytool-toolwrapper.Tpo" -c -o gkeytool-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkeytool-toolwrapper.Tpo" "$(DEPDIR)/gkeytool-toolwrapper.Po"; else rm -f "$(DEPDIR)/gkeytool-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gkeytool-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkeytool_CFLAGS) $(CFLAGS) -c -o gkeytool-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gnative2ascii-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gnative2ascii_CFLAGS) $(CFLAGS) -MT gnative2ascii-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gnative2ascii-toolwrapper.Tpo" -c -o gnative2ascii-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gnative2ascii-toolwrapper.Tpo" "$(DEPDIR)/gnative2ascii-toolwrapper.Po"; else rm -f "$(DEPDIR)/gnative2ascii-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gnative2ascii-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gnative2ascii_CFLAGS) $(CFLAGS) -c -o gnative2ascii-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gnative2ascii-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gnative2ascii_CFLAGS) $(CFLAGS) -MT gnative2ascii-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gnative2ascii-toolwrapper.Tpo" -c -o gnative2ascii-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gnative2ascii-toolwrapper.Tpo" "$(DEPDIR)/gnative2ascii-toolwrapper.Po"; else rm -f "$(DEPDIR)/gnative2ascii-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gnative2ascii-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gnative2ascii_CFLAGS) $(CFLAGS) -c -o gnative2ascii-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gorbd-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gorbd_CFLAGS) $(CFLAGS) -MT gorbd-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gorbd-toolwrapper.Tpo" -c -o gorbd-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gorbd-toolwrapper.Tpo" "$(DEPDIR)/gorbd-toolwrapper.Po"; else rm -f "$(DEPDIR)/gorbd-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gorbd-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gorbd_CFLAGS) $(CFLAGS) -c -o gorbd-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gorbd-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gorbd_CFLAGS) $(CFLAGS) -MT gorbd-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gorbd-toolwrapper.Tpo" -c -o gorbd-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gorbd-toolwrapper.Tpo" "$(DEPDIR)/gorbd-toolwrapper.Po"; else rm -f "$(DEPDIR)/gorbd-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gorbd-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gorbd_CFLAGS) $(CFLAGS) -c -o gorbd-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +grmic-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmic_CFLAGS) $(CFLAGS) -MT grmic-toolwrapper.o -MD -MP -MF "$(DEPDIR)/grmic-toolwrapper.Tpo" -c -o grmic-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/grmic-toolwrapper.Tpo" "$(DEPDIR)/grmic-toolwrapper.Po"; else rm -f "$(DEPDIR)/grmic-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='grmic-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmic_CFLAGS) $(CFLAGS) -c -o grmic-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +grmic-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmic_CFLAGS) $(CFLAGS) -MT grmic-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/grmic-toolwrapper.Tpo" -c -o grmic-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/grmic-toolwrapper.Tpo" "$(DEPDIR)/grmic-toolwrapper.Po"; else rm -f "$(DEPDIR)/grmic-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='grmic-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmic_CFLAGS) $(CFLAGS) -c -o grmic-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +grmid-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmid_CFLAGS) $(CFLAGS) -MT grmid-toolwrapper.o -MD -MP -MF "$(DEPDIR)/grmid-toolwrapper.Tpo" -c -o grmid-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/grmid-toolwrapper.Tpo" "$(DEPDIR)/grmid-toolwrapper.Po"; else rm -f "$(DEPDIR)/grmid-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='grmid-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmid_CFLAGS) $(CFLAGS) -c -o grmid-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +grmid-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmid_CFLAGS) $(CFLAGS) -MT grmid-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/grmid-toolwrapper.Tpo" -c -o grmid-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/grmid-toolwrapper.Tpo" "$(DEPDIR)/grmid-toolwrapper.Po"; else rm -f "$(DEPDIR)/grmid-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='grmid-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmid_CFLAGS) $(CFLAGS) -c -o grmid-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +grmiregistry-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmiregistry_CFLAGS) $(CFLAGS) -MT grmiregistry-toolwrapper.o -MD -MP -MF "$(DEPDIR)/grmiregistry-toolwrapper.Tpo" -c -o grmiregistry-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/grmiregistry-toolwrapper.Tpo" "$(DEPDIR)/grmiregistry-toolwrapper.Po"; else rm -f "$(DEPDIR)/grmiregistry-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='grmiregistry-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmiregistry_CFLAGS) $(CFLAGS) -c -o grmiregistry-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +grmiregistry-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmiregistry_CFLAGS) $(CFLAGS) -MT grmiregistry-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/grmiregistry-toolwrapper.Tpo" -c -o grmiregistry-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/grmiregistry-toolwrapper.Tpo" "$(DEPDIR)/grmiregistry-toolwrapper.Po"; else rm -f "$(DEPDIR)/grmiregistry-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='grmiregistry-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(grmiregistry_CFLAGS) $(CFLAGS) -c -o grmiregistry-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gserialver-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gserialver_CFLAGS) $(CFLAGS) -MT gserialver-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gserialver-toolwrapper.Tpo" -c -o gserialver-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gserialver-toolwrapper.Tpo" "$(DEPDIR)/gserialver-toolwrapper.Po"; else rm -f "$(DEPDIR)/gserialver-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gserialver-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gserialver_CFLAGS) $(CFLAGS) -c -o gserialver-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gserialver-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gserialver_CFLAGS) $(CFLAGS) -MT gserialver-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gserialver-toolwrapper.Tpo" -c -o gserialver-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gserialver-toolwrapper.Tpo" "$(DEPDIR)/gserialver-toolwrapper.Po"; else rm -f "$(DEPDIR)/gserialver-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gserialver-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gserialver_CFLAGS) $(CFLAGS) -c -o gserialver-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` + +gtnameserv-toolwrapper.o: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtnameserv_CFLAGS) $(CFLAGS) -MT gtnameserv-toolwrapper.o -MD -MP -MF "$(DEPDIR)/gtnameserv-toolwrapper.Tpo" -c -o gtnameserv-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gtnameserv-toolwrapper.Tpo" "$(DEPDIR)/gtnameserv-toolwrapper.Po"; else rm -f "$(DEPDIR)/gtnameserv-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gtnameserv-toolwrapper.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtnameserv_CFLAGS) $(CFLAGS) -c -o gtnameserv-toolwrapper.o `test -f 'toolwrapper.c' || echo '$(srcdir)/'`toolwrapper.c + +gtnameserv-toolwrapper.obj: toolwrapper.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtnameserv_CFLAGS) $(CFLAGS) -MT gtnameserv-toolwrapper.obj -MD -MP -MF "$(DEPDIR)/gtnameserv-toolwrapper.Tpo" -c -o gtnameserv-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gtnameserv-toolwrapper.Tpo" "$(DEPDIR)/gtnameserv-toolwrapper.Po"; else rm -f "$(DEPDIR)/gtnameserv-toolwrapper.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='toolwrapper.c' object='gtnameserv-toolwrapper.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gtnameserv_CFLAGS) $(CFLAGS) -c -o gtnameserv-toolwrapper.obj `if test -f 'toolwrapper.c'; then $(CYGPATH_W) 'toolwrapper.c'; else $(CYGPATH_W) '$(srcdir)/toolwrapper.c'; fi` mostlyclean-libtool: -rm -f *.lo @@ -449,12 +881,71 @@ clean-libtool: distclean-libtool: -rm -f libtool uninstall-info-am: +install-TOOLSDATA: $(TOOLS_DATA) + @$(NORMAL_INSTALL) + test -z "$(TOOLSdir)" || $(mkdir_p) "$(DESTDIR)$(TOOLSdir)" + @list='$(TOOLS_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(TOOLSDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(TOOLSdir)/$$f'"; \ + $(TOOLSDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(TOOLSdir)/$$f"; \ + done + +uninstall-TOOLSDATA: + @$(NORMAL_UNINSTALL) + @list='$(TOOLS_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(TOOLSdir)/$$f'"; \ + rm -f "$(DESTDIR)$(TOOLSdir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique tags: TAGS -TAGS: +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS -CTAGS: +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @@ -489,8 +980,11 @@ distdir: $(DISTFILES) check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(DATA) +all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(TOOLSdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am @@ -519,11 +1013,14 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am -clean-am: clean-generic clean-libtool clean-local mostlyclean-am +clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ + mostlyclean-am distclean: distclean-am + -rm -rf ./$(DEPDIR) -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags dvi: dvi-am @@ -535,23 +1032,25 @@ info: info-am info-am: -install-data-am: +install-data-am: install-TOOLSDATA -install-exec-am: +install-exec-am: install-binPROGRAMS install-binSCRIPTS install-info: install-info-am install-man: -installcheck-am: +installcheck-am: installcheck-binPROGRAMS installcheck-binSCRIPTS maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am -mostlyclean-am: mostlyclean-generic mostlyclean-libtool +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf: pdf-am @@ -561,22 +1060,25 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: uninstall-TOOLSDATA uninstall-binPROGRAMS \ + uninstall-binSCRIPTS uninstall-info-am -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local dist-hook distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-local ctags dist-hook \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-TOOLSDATA install-am \ + install-binPROGRAMS install-binSCRIPTS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installcheck-binPROGRAMS \ + installcheck-binSCRIPTS installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-info-am - -@FOUND_ECJ_FALSE@@FOUND_GCJX_FALSE@@FOUND_GCJ_FALSE@@FOUND_JIKES_FALSE@error dunno how to setup the JCOMPILER and compile + tags uninstall uninstall-TOOLSDATA uninstall-am \ + uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-info-am -# Where we want these data files installed. -# TOOLSdir = $(datadir)/java +@FOUND_ECJ_FALSE@@FOUND_GCJ_FALSE@error dunno how to setup the JCOMPILER and compile # Make sure everything is included in the distribution. dist-hook: @@ -597,24 +1099,34 @@ dist-hook: # immediately. And copy the template files we use to the classes dir # so they get also included. $(TOOLS_ZIP): $(TOOLS_JAVA_FILES) - mkdir -p classes/gnu/classpath/tools/giop/grmic/templates - mkdir -p classes/gnu/classpath/tools/rmi/rmic/templates - mkdir -p classes/gnu/classpath/tools/appletviewer - mkdir -p classes/gnu/classpath/tools/jarsigner - mkdir -p classes/gnu/classpath/tools/keytool - cp $(RMIC_TEMPLATES) classes/gnu/classpath/tools/rmi/rmic/templates - cp $(GRMIC_TEMPLATES) classes/gnu/classpath/tools/giop/grmic/templates - cp $(RMI_HELPS) classes/gnu/classpath/tools/rmi/ - cp $(GIOP_HELPS) classes/gnu/classpath/tools/giop/ - $(JCOMPILER) -d classes $(TOOLS_JAVA_FILES) + find $(srcdir)/external/asm -name '*.java' -print > asm.lst + find $(srcdir)/gnu/classpath/tools -name '*.java' -print > classes.lst + cat classes.lst asm.lst > all-classes.lst +@JAVA_MAINTAINER_MODE_TRUE@ AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \ +@JAVA_MAINTAINER_MODE_TRUE@ $$AC -g -w -d $(srcdir)/asm @asm.lst +@JAVA_MAINTAINER_MODE_TRUE@ $(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst +@JAVA_MAINTAINER_MODE_TRUE@ @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools -name \*.properties -print`; \ +@JAVA_MAINTAINER_MODE_TRUE@ for p in $$list; do \ +@JAVA_MAINTAINER_MODE_TRUE@ dirname=classes/`dirname $$p`; \ +@JAVA_MAINTAINER_MODE_TRUE@ if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \ +@JAVA_MAINTAINER_MODE_TRUE@ echo " cp $(top_srcdir)/resource/$$p classes/$$p"; \ +@JAVA_MAINTAINER_MODE_TRUE@ cp $(top_srcdir)/resource/$$p classes/$$p; \ +@JAVA_MAINTAINER_MODE_TRUE@ done + cp -pR $(srcdir)/asm . + cp -pR $(srcdir)/classes . (cd classes; \ - $(FASTJAR) cf ../$(TOOLS_ZIP) .; \ + if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \ + if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(TOOLS_ZIP) .; fi; \ + cd ..) + (cd asm; \ + if test "$(ZIP)" != ""; then $(ZIP) -u -r ../$(TOOLS_ZIP) .; fi; \ + if test "$(FASTJAR)" != ""; then $(FASTJAR) uf ../$(TOOLS_ZIP) .; fi; \ cd ..) - rm -rf classes + rm -rf asm classes classes.lst asm.lst # Zip file be gone! (and make sure the classes are gone too) clean-local: - rm -rf $(TOOLS_ZIP) classes + rm -rf $(TOOLS_ZIP) classes asm asm.lst # FIXME: remove this when GNU Classpath includes a bootstrap VM. installcheck-binSCRIPTS: diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/AnnotationVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/AnnotationVisitor.class new file mode 100644 index 00000000000..acb0481dd17 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/AnnotationVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/AnnotationWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/AnnotationWriter.class new file mode 100644 index 00000000000..69dd3cf357f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/AnnotationWriter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Attribute.class b/libjava/classpath/tools/asm/org/objectweb/asm/Attribute.class new file mode 100644 index 00000000000..d9bb13a7509 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Attribute.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/ByteVector.class b/libjava/classpath/tools/asm/org/objectweb/asm/ByteVector.class new file mode 100644 index 00000000000..a7b9ad75e6c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/ByteVector.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/ClassAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/ClassAdapter.class new file mode 100644 index 00000000000..81a4025992e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/ClassAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class b/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class new file mode 100644 index 00000000000..5fc42a0b7c0 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/ClassReader.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/ClassVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/ClassVisitor.class new file mode 100644 index 00000000000..f4345b3e50b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/ClassVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/ClassWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/ClassWriter.class new file mode 100644 index 00000000000..07de7fcc69f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/ClassWriter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Edge.class b/libjava/classpath/tools/asm/org/objectweb/asm/Edge.class new file mode 100644 index 00000000000..2cf713b4b9c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Edge.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/FieldVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/FieldVisitor.class new file mode 100644 index 00000000000..5f29c7b7b73 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/FieldVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/FieldWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/FieldWriter.class new file mode 100644 index 00000000000..b316b7be210 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/FieldWriter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Handler.class b/libjava/classpath/tools/asm/org/objectweb/asm/Handler.class new file mode 100644 index 00000000000..1cbcd3ff5ee Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Handler.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Item.class b/libjava/classpath/tools/asm/org/objectweb/asm/Item.class new file mode 100644 index 00000000000..5c0a0d0d09c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Item.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Label.class b/libjava/classpath/tools/asm/org/objectweb/asm/Label.class new file mode 100644 index 00000000000..0bd982b3cdd Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Label.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/MethodAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/MethodAdapter.class new file mode 100644 index 00000000000..3521003c509 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/MethodAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/MethodVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/MethodVisitor.class new file mode 100644 index 00000000000..d4bdd8f383a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/MethodVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class new file mode 100644 index 00000000000..9ec1d07de5e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/MethodWriter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Opcodes.class b/libjava/classpath/tools/asm/org/objectweb/asm/Opcodes.class new file mode 100644 index 00000000000..599491168d3 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Opcodes.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/Type.class b/libjava/classpath/tools/asm/org/objectweb/asm/Type.class new file mode 100644 index 00000000000..e96ca26ef21 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/Type.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapAttribute.class b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapAttribute.class new file mode 100644 index 00000000000..20bda686302 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapAttribute.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapFrame.class b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapFrame.class new file mode 100644 index 00000000000..0305d04dc6c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapFrame.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class new file mode 100644 index 00000000000..c1eb324568e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapTableAttribute.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapType.class b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapType.class new file mode 100644 index 00000000000..ea6999b997f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/attrs/StackMapType.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/AdviceAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/AdviceAdapter.class new file mode 100644 index 00000000000..54a93089a8c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/AdviceAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/EmptyVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/EmptyVisitor.class new file mode 100644 index 00000000000..47aa4b89449 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/EmptyVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class new file mode 100644 index 00000000000..5c2cd66bf06 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/GeneratorAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/LocalVariablesSorter.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/LocalVariablesSorter.class new file mode 100644 index 00000000000..de1a9db937a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/LocalVariablesSorter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/Method.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/Method.class new file mode 100644 index 00000000000..508cfb5fb4f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/Method.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder$Item.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder$Item.class new file mode 100644 index 00000000000..9048fab59ce Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder$Item.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.class new file mode 100644 index 00000000000..ae5f315b0ca Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/StaticInitMerger.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/StaticInitMerger.class new file mode 100644 index 00000000000..53614d1f44f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/StaticInitMerger.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/commons/TableSwitchGenerator.class b/libjava/classpath/tools/asm/org/objectweb/asm/commons/TableSwitchGenerator.class new file mode 100644 index 00000000000..3da3b099f0c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/commons/TableSwitchGenerator.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.class new file mode 100644 index 00000000000..ce439d21ede Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class new file mode 100644 index 00000000000..d04c8cd3711 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class new file mode 100644 index 00000000000..86a760c78b4 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ClassOptimizer.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Constant.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Constant.class new file mode 100644 index 00000000000..c9eb21e2eee Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Constant.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ConstantPool.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ConstantPool.class new file mode 100644 index 00000000000..a23ba657075 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/ConstantPool.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class new file mode 100644 index 00000000000..fd910c9a68f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/JarOptimizer.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/JarOptimizer.class new file mode 100644 index 00000000000..0d6c4bdb52a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/JarOptimizer.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class new file mode 100644 index 00000000000..8928af0258b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class new file mode 100644 index 00000000000..0aa907283c0 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/MethodOptimizer.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class new file mode 100644 index 00000000000..249a832f7ad Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/NameMapping.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker$ConstantComparator.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker$ConstantComparator.class new file mode 100644 index 00000000000..d03748d47b5 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker$ConstantComparator.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker.class b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker.class new file mode 100644 index 00000000000..bb87a280b7b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/optimizer/Shrinker.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureReader.class b/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureReader.class new file mode 100644 index 00000000000..b3c4b9d3efa Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureReader.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureVisitor.class new file mode 100644 index 00000000000..98826f133db Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureWriter.class new file mode 100644 index 00000000000..ec5f5271046 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/signature/SignatureWriter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/AbstractInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/AbstractInsnNode.class new file mode 100644 index 00000000000..1fee9f6c353 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/AbstractInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/AnnotationNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/AnnotationNode.class new file mode 100644 index 00000000000..4eee59d47ef Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/AnnotationNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class new file mode 100644 index 00000000000..463e22bc595 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/ClassNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldInsnNode.class new file mode 100644 index 00000000000..ef9f743bef4 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldNode.class new file mode 100644 index 00000000000..92797f61970 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/FieldNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/IincInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/IincInsnNode.class new file mode 100644 index 00000000000..10428be2e84 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/IincInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/InnerClassNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/InnerClassNode.class new file mode 100644 index 00000000000..35008f41a02 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/InnerClassNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/InsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/InsnNode.class new file mode 100644 index 00000000000..0eb12d987fa Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/InsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/IntInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/IntInsnNode.class new file mode 100644 index 00000000000..f89b8fda4ae Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/IntInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/JumpInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/JumpInsnNode.class new file mode 100644 index 00000000000..fc6e78364a5 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/JumpInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LabelNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LabelNode.class new file mode 100644 index 00000000000..2b375e49ea1 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LabelNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LdcInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LdcInsnNode.class new file mode 100644 index 00000000000..97a2e6d698b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LdcInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LineNumberNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LineNumberNode.class new file mode 100644 index 00000000000..5b0abc6e224 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LineNumberNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LocalVariableNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LocalVariableNode.class new file mode 100644 index 00000000000..7da757ccf66 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LocalVariableNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class new file mode 100644 index 00000000000..7d80188c8d0 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MemberNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MemberNode.class new file mode 100644 index 00000000000..541ac8976c9 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MemberNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodInsnNode.class new file mode 100644 index 00000000000..900d812b12c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class new file mode 100644 index 00000000000..17c75855293 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode$1.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class new file mode 100644 index 00000000000..d0f996e0680 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MethodNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.class new file mode 100644 index 00000000000..eff4e980c1d Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class new file mode 100644 index 00000000000..3d7edc3261e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TableSwitchInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/TryCatchBlockNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TryCatchBlockNode.class new file mode 100644 index 00000000000..ba882b3667c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TryCatchBlockNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/TypeInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TypeInsnNode.class new file mode 100644 index 00000000000..577ff0aaa8d Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/TypeInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/VarInsnNode.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/VarInsnNode.class new file mode 100644 index 00000000000..a86ac05705b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/VarInsnNode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Analyzer.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Analyzer.class new file mode 100644 index 00000000000..aa54fd6f4db Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Analyzer.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/AnalyzerException.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/AnalyzerException.class new file mode 100644 index 00000000000..1c0e6b13668 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/AnalyzerException.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class new file mode 100644 index 00000000000..cf4a4d256df Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicValue.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicValue.class new file mode 100644 index 00000000000..303e15543d6 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicValue.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class new file mode 100644 index 00000000000..6adddec004a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/BasicVerifier.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.class new file mode 100644 index 00000000000..c87cf330827 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowValue.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowValue.class new file mode 100644 index 00000000000..41bb76b983e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/DataflowValue.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class new file mode 100644 index 00000000000..297cfd50445 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Frame.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/IntMap.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/IntMap.class new file mode 100644 index 00000000000..467749a1f6a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/IntMap.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Interpreter.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Interpreter.class new file mode 100644 index 00000000000..a1afe42a012 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Interpreter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class new file mode 100644 index 00000000000..e7e8f053346 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SmallSet.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SmallSet.class new file mode 100644 index 00000000000..be09934203c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/SmallSet.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Subroutine.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Subroutine.class new file mode 100644 index 00000000000..3767ead89dd Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Subroutine.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Value.class b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Value.class new file mode 100644 index 00000000000..21de3a90e02 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/tree/analysis/Value.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.class new file mode 100644 index 00000000000..a819e6aaa0b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.class new file mode 100644 index 00000000000..7fe6b7e908f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierClassVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierClassVisitor.class new file mode 100644 index 00000000000..60cba834549 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierClassVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierFieldVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierFieldVisitor.class new file mode 100644 index 00000000000..d9885149129 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierFieldVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierMethodVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierMethodVisitor.class new file mode 100644 index 00000000000..43b18b737b0 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/ASMifierMethodVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/AbstractVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/AbstractVisitor.class new file mode 100644 index 00000000000..a9aff218f13 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/AbstractVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckAnnotationAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckAnnotationAdapter.class new file mode 100644 index 00000000000..b96505315e2 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckAnnotationAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class new file mode 100644 index 00000000000..ef09ba998f3 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckClassAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckFieldAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckFieldAdapter.class new file mode 100644 index 00000000000..db4b4b03bf4 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckFieldAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class new file mode 100644 index 00000000000..d07f5f2b4c1 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/CheckMethodAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAbstractVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAbstractVisitor.class new file mode 100644 index 00000000000..0f103e2aab6 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAbstractVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAnnotationVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAnnotationVisitor.class new file mode 100644 index 00000000000..50fc265f413 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceAnnotationVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class new file mode 100644 index 00000000000..65d8159b34a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceClassVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceFieldVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceFieldVisitor.class new file mode 100644 index 00000000000..0035c01c0bf Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceFieldVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceMethodVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceMethodVisitor.class new file mode 100644 index 00000000000..ffd4f263539 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceMethodVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceSignatureVisitor.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceSignatureVisitor.class new file mode 100644 index 00000000000..b045ab556cf Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/TraceSignatureVisitor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.class new file mode 100644 index 00000000000..ae2a692b57d Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.class new file mode 100644 index 00000000000..f69d0d46116 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMifiable.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMifiable.class new file mode 100644 index 00000000000..f1556bd52c3 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/ASMifiable.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/Traceable.class b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/Traceable.class new file mode 100644 index 00000000000..bfd9350a6ee Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/util/attrs/Traceable.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationDefaultRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationDefaultRule.class new file mode 100644 index 00000000000..af595a35fe9 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationDefaultRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class new file mode 100644 index 00000000000..688a8281059 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationParameterRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationRule.class new file mode 100644 index 00000000000..44cd0fd4d79 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueAnnotationRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueAnnotationRule.class new file mode 100644 index 00000000000..474ac94c17d Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueAnnotationRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueArrayRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueArrayRule.class new file mode 100644 index 00000000000..862a266da6b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueArrayRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueEnumRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueEnumRule.class new file mode 100644 index 00000000000..dbbce81bbc3 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueEnumRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueRule.class new file mode 100644 index 00000000000..bd4a2c2b516 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$AnnotationValueRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ClassRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ClassRule.class new file mode 100644 index 00000000000..c0dbd395b7b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ClassRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionRule.class new file mode 100644 index 00000000000..a4645efac7f Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionsRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionsRule.class new file mode 100644 index 00000000000..27e11293a99 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$ExceptionsRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$FieldRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$FieldRule.class new file mode 100644 index 00000000000..ccfe42a55ed Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$FieldRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InnerClassRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InnerClassRule.class new file mode 100644 index 00000000000..474e744d2be Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InnerClassRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfaceRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfaceRule.class new file mode 100644 index 00000000000..6be0d9c0fcb Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfaceRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfacesRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfacesRule.class new file mode 100644 index 00000000000..b6c288bb875 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$InterfacesRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LabelRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LabelRule.class new file mode 100644 index 00000000000..8c510cf4f0c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LabelRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LineNumberRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LineNumberRule.class new file mode 100644 index 00000000000..2bb1138a524 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LineNumberRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LocalVarRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LocalVarRule.class new file mode 100644 index 00000000000..b26b677c802 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LocalVarRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchLabelRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchLabelRule.class new file mode 100644 index 00000000000..74636c3711c Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchLabelRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchRule.class new file mode 100644 index 00000000000..88dbc85d80b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$LookupSwitchRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MaxRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MaxRule.class new file mode 100644 index 00000000000..e54e90e752e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MaxRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MethodRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MethodRule.class new file mode 100644 index 00000000000..85ee199f790 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$MethodRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Opcode.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Opcode.class new file mode 100644 index 00000000000..79606a85f92 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Opcode.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodeGroup.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodeGroup.class new file mode 100644 index 00000000000..215db6cf48b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodeGroup.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class new file mode 100644 index 00000000000..1417533a75a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OpcodesRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OuterClassRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OuterClassRule.class new file mode 100644 index 00000000000..52a6cc65b6a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$OuterClassRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class new file mode 100644 index 00000000000..080c1758266 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$Rule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$RuleSet.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$RuleSet.class new file mode 100644 index 00000000000..0b99b723f58 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$RuleSet.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$SourceRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$SourceRule.class new file mode 100644 index 00000000000..c27ffe1b320 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$SourceRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchLabelRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchLabelRule.class new file mode 100644 index 00000000000..8f2d4e4ae02 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchLabelRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchRule.class new file mode 100644 index 00000000000..c9844738e0d Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TableSwitchRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TryCatchRule.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TryCatchRule.class new file mode 100644 index 00000000000..45049a4d149 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler$TryCatchRule.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler.class new file mode 100644 index 00000000000..db263e35799 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/ASMContentHandler.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ASMContentHandlerFactory.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ASMContentHandlerFactory.class new file mode 100644 index 00000000000..091b66879ff Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ASMContentHandlerFactory.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ContentHandlerFactory.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ContentHandlerFactory.class new file mode 100644 index 00000000000..db46833eb06 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ContentHandlerFactory.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$EntryElement.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$EntryElement.class new file mode 100644 index 00000000000..8f5d5c63cf5 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$EntryElement.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$InputSlicingHandler.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$InputSlicingHandler.class new file mode 100644 index 00000000000..537603fb286 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$InputSlicingHandler.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$OutputSlicingHandler.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$OutputSlicingHandler.class new file mode 100644 index 00000000000..99f66cc4326 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$OutputSlicingHandler.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ProtectedInputStream.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ProtectedInputStream.class new file mode 100644 index 00000000000..6abc9359ee7 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ProtectedInputStream.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriter.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriter.class new file mode 100644 index 00000000000..ecf42b6621b Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriterFactory.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriterFactory.class new file mode 100644 index 00000000000..8fe15a1968e Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SAXWriterFactory.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SingleDocElement.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SingleDocElement.class new file mode 100644 index 00000000000..f553911ab3a Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SingleDocElement.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SubdocumentHandlerFactory.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SubdocumentHandlerFactory.class new file mode 100644 index 00000000000..1f469d18fd4 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$SubdocumentHandlerFactory.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$TransformerHandlerFactory.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$TransformerHandlerFactory.class new file mode 100644 index 00000000000..e1b60e17940 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$TransformerHandlerFactory.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ZipEntryElement.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ZipEntryElement.class new file mode 100644 index 00000000000..0ee908bf585 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor$ZipEntryElement.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor.class new file mode 100644 index 00000000000..cf09fc1b949 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/Processor.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAdapter.class new file mode 100644 index 00000000000..f5347601c35 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.class new file mode 100644 index 00000000000..ea703042661 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXClassAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXClassAdapter.class new file mode 100644 index 00000000000..492ee2c54ea Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXClassAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXCodeAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXCodeAdapter.class new file mode 100644 index 00000000000..a0656a5ef67 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXCodeAdapter.class differ diff --git a/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXFieldAdapter.class b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXFieldAdapter.class new file mode 100644 index 00000000000..7cdae94bb66 Binary files /dev/null and b/libjava/classpath/tools/asm/org/objectweb/asm/xml/SAXFieldAdapter.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletClassLoader.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletClassLoader.class new file mode 100644 index 00000000000..50e61a6a9fe Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletClassLoader.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletSecurityManager.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletSecurityManager.class new file mode 100644 index 00000000000..cab207c3fb4 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletSecurityManager.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletTag.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletTag.class new file mode 100644 index 00000000000..141d5108f1d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/AppletTag.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletContext.class new file mode 100644 index 00000000000..dbc0fb5480b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletContext.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletStub.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletStub.class new file mode 100644 index 00000000000..13f91ee97e8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/CommonAppletStub.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/ErrorApplet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/ErrorApplet.class new file mode 100644 index 00000000000..ed7bdf61ae0 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/ErrorApplet.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class new file mode 100644 index 00000000000..c02a09fb7d1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class new file mode 100644 index 00000000000..eab6a10f09a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class new file mode 100644 index 00000000000..7a912ded0e3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class new file mode 100644 index 00000000000..ce530d6f994 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class new file mode 100644 index 00000000000..bf524e75f56 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class new file mode 100644 index 00000000000..013b28f1473 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class new file mode 100644 index 00000000000..5b0fef7ce10 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class new file mode 100644 index 00000000000..affe0058d15 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class new file mode 100644 index 00000000000..0b71b1d87b3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class new file mode 100644 index 00000000000..e318aa38ec4 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main.class new file mode 100644 index 00000000000..b9af4c6fa5e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Messages.class new file mode 100644 index 00000000000..efc34dfc951 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletContext.class new file mode 100644 index 00000000000..1511a5e9b23 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletContext.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletViewer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletViewer.class new file mode 100644 index 00000000000..e8dc01ec5cf Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletViewer.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletWindow.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletWindow.class new file mode 100644 index 00000000000..3bf54aa891b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/PluginAppletWindow.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletContext.class new file mode 100644 index 00000000000..a307a7af4ce Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletContext.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.class new file mode 100644 index 00000000000..82bdc431b1a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class new file mode 100644 index 00000000000..c8c976ffe6e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.class new file mode 100644 index 00000000000..24810be38a3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/TagParser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/TagParser.class new file mode 100644 index 00000000000..a3fdc693ecb Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/appletviewer/TagParser.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/CallbackUtil.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/CallbackUtil.class new file mode 100644 index 00000000000..970232c7ea7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/CallbackUtil.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class new file mode 100644 index 00000000000..9c37fcc4337 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser.class new file mode 100644 index 00000000000..cedab4a0bc0 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ClasspathToolParser.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/Messages.class new file mode 100644 index 00000000000..9b3d765a117 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent$ExitTask.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent$ExitTask.class new file mode 100644 index 00000000000..36daccbc48b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent$ExitTask.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent.class new file mode 100644 index 00000000000..6a1e7519db7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/Persistent.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class new file mode 100644 index 00000000000..042f455123c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class new file mode 100644 index 00000000000..501720fe305 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil.class new file mode 100644 index 00000000000..a8e0e6c3152 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/ProviderUtil.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/common/SecurityProviderInfo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/common/SecurityProviderInfo.class new file mode 100644 index 00000000000..8715ab8d475 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/common/SecurityProviderInfo.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/FileArgumentCallback.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/FileArgumentCallback.class new file mode 100644 index 00000000000..de9d9a63a5a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/FileArgumentCallback.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Messages.class new file mode 100644 index 00000000000..f86b8f70c3b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Option.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Option.class new file mode 100644 index 00000000000..c97800034b2 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Option.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionException.class new file mode 100644 index 00000000000..9cc6b62186e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionException.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionGroup.class new file mode 100644 index 00000000000..2467f78167d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/OptionGroup.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class new file mode 100644 index 00000000000..a9ac25fd997 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class new file mode 100644 index 00000000000..ccf3542324e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class new file mode 100644 index 00000000000..373cf215c78 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser.class new file mode 100644 index 00000000000..d5fece3859b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/getopt/Parser.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Action.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Action.class new file mode 100644 index 00000000000..513df1ca3cf Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Action.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class new file mode 100644 index 00000000000..c8c24d231d1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Creator.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Entry.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Entry.class new file mode 100644 index 00000000000..d030d92ddd8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Entry.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Extractor.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Extractor.class new file mode 100644 index 00000000000..c0d819e4c73 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Extractor.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Indexer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Indexer.class new file mode 100644 index 00000000000..ddbaf6bc586 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Indexer.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Lister.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Lister.class new file mode 100644 index 00000000000..81cdaec2a65 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Lister.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class new file mode 100644 index 00000000000..1912cbdbdfd Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class new file mode 100644 index 00000000000..9bd0cbee854 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class new file mode 100644 index 00000000000..ddbd7f53730 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class new file mode 100644 index 00000000000..9dfd4c5c90f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class new file mode 100644 index 00000000000..8050a014e64 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class new file mode 100644 index 00000000000..126639456ef Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$HandleFile.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$HandleFile.class new file mode 100644 index 00000000000..16d4ed73859 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$HandleFile.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$JarParser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$JarParser.class new file mode 100644 index 00000000000..5a62fdc204d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$JarParser.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$ModeOption.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$ModeOption.class new file mode 100644 index 00000000000..3630f9b3c21 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main$ModeOption.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main.class new file mode 100644 index 00000000000..1c32274ee10 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Messages.class new file mode 100644 index 00000000000..6d26c66934a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Updater.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Updater.class new file mode 100644 index 00000000000..8fbd26661ad Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/Updater.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jar/WorkSet.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/WorkSet.class new file mode 100644 index 00000000000..4a71d615eac Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jar/WorkSet.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/HashUtils.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/HashUtils.class new file mode 100644 index 00000000000..4ece8879b1d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/HashUtils.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarSigner.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarSigner.class new file mode 100644 index 00000000000..3f0e38365e1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarSigner.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class new file mode 100644 index 00000000000..5987cbc9756 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/JarVerifier.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class new file mode 100644 index 00000000000..c74201ccaec Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class new file mode 100644 index 00000000000..0be4ac8b9cf Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class new file mode 100644 index 00000000000..2666f2b4b03 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$11.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class new file mode 100644 index 00000000000..c0299c25447 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$12.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class new file mode 100644 index 00000000000..b56ebdce985 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class new file mode 100644 index 00000000000..ea4fda71ddc Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class new file mode 100644 index 00000000000..68b4cb2357c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class new file mode 100644 index 00000000000..5a11e01c91c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class new file mode 100644 index 00000000000..1415524558b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class new file mode 100644 index 00000000000..a3c1d5b6dad Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class new file mode 100644 index 00000000000..a07cb626761 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class new file mode 100644 index 00000000000..00e37fd700b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParser.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParser.class new file mode 100644 index 00000000000..0c0d46acc72 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParser.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParserCallback.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParserCallback.class new file mode 100644 index 00000000000..44284f87eaf Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main$ToolParserCallback.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main.class new file mode 100644 index 00000000000..554f50bebcb Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Messages.class new file mode 100644 index 00000000000..154ff066f88 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class new file mode 100644 index 00000000000..edfb1e1a91f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/jarsigner/SFHelper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class new file mode 100644 index 00000000000..e759d12638c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniIncludePrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniIncludePrinter.class new file mode 100644 index 00000000000..13a0a99fef3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniIncludePrinter.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class new file mode 100644 index 00000000000..1f0d890b789 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class new file mode 100644 index 00000000000..c3cf12dda49 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/FieldHelper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/FieldHelper.class new file mode 100644 index 00000000000..430344c87c7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/FieldHelper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniHelper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniHelper.class new file mode 100644 index 00000000000..938789b9556 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniHelper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class new file mode 100644 index 00000000000..5124ee9cbab Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class new file mode 100644 index 00000000000..db0d6668438 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class new file mode 100644 index 00000000000..9f82c33ee84 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class new file mode 100644 index 00000000000..7b6b063d7db Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class new file mode 100644 index 00000000000..ef2f2cff33e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class new file mode 100644 index 00000000000..6ec567c1487 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class new file mode 100644 index 00000000000..a4a19b45b9d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class new file mode 100644 index 00000000000..68e8f836405 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class new file mode 100644 index 00000000000..ef7248bf94b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class new file mode 100644 index 00000000000..0bcc04437b1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class new file mode 100644 index 00000000000..9b90b1e6838 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class new file mode 100644 index 00000000000..8d0e8b0bf47 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class new file mode 100644 index 00000000000..ba3351cf081 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class new file mode 100644 index 00000000000..4f71d9ef104 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class new file mode 100644 index 00000000000..c20b0af67c8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class new file mode 100644 index 00000000000..45651970054 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PackageWrapper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PackageWrapper.class new file mode 100644 index 00000000000..68f16fb418b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PackageWrapper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class new file mode 100644 index 00000000000..49e070213f7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class new file mode 100644 index 00000000000..0613196320c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class new file mode 100644 index 00000000000..8e7c07f5904 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class new file mode 100644 index 00000000000..1e0725da07b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class new file mode 100644 index 00000000000..5791d4f8269 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class new file mode 100644 index 00000000000..4833679fb4b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Printer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Printer.class new file mode 100644 index 00000000000..76b2cbeedab Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Printer.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Text.class b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Text.class new file mode 100644 index 00000000000..e084d89a781 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/javah/Text.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class new file mode 100644 index 00000000000..480a1c9d8b7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class new file mode 100644 index 00000000000..ad59a9af0be Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class new file mode 100644 index 00000000000..4884326b5ab Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class new file mode 100644 index 00000000000..a58428d8c74 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class new file mode 100644 index 00000000000..f239807a0cb Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class new file mode 100644 index 00000000000..61a03e7b976 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class new file mode 100644 index 00000000000..35a37577d5a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CACertCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class new file mode 100644 index 00000000000..ef1bbbd1283 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class new file mode 100644 index 00000000000..67c78b1bb86 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class new file mode 100644 index 00000000000..1cdf2a85788 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class new file mode 100644 index 00000000000..f9e702d5090 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class new file mode 100644 index 00000000000..ed8250a9cac Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class new file mode 100644 index 00000000000..65c4affd736 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class new file mode 100644 index 00000000000..ad81c286e38 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class new file mode 100644 index 00000000000..1400cf48ef6 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class new file mode 100644 index 00000000000..88eea663a23 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class new file mode 100644 index 00000000000..dd012fa6956 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class new file mode 100644 index 00000000000..d5a3ec029c3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/CertReqCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command$ShutdownHook.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command$ShutdownHook.class new file mode 100644 index 00000000000..d1b0f5c3c1a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command$ShutdownHook.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class new file mode 100644 index 00000000000..f2db6a73d15 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Command.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class new file mode 100644 index 00000000000..6564bea183e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class new file mode 100644 index 00000000000..2d78cdb56fe Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class new file mode 100644 index 00000000000..c81db25c076 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class new file mode 100644 index 00000000000..f37a26d9d70 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class new file mode 100644 index 00000000000..fb5a2c2af7c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class new file mode 100644 index 00000000000..d1b39a09b1e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd.class new file mode 100644 index 00000000000..2abbe2a651b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/DeleteCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class new file mode 100644 index 00000000000..b51727b9e0b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class new file mode 100644 index 00000000000..d5642532f13 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class new file mode 100644 index 00000000000..21552f81385 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class new file mode 100644 index 00000000000..7e71fa1afea Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class new file mode 100644 index 00000000000..f4c8c50bd3f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class new file mode 100644 index 00000000000..28c32f2af51 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class new file mode 100644 index 00000000000..2134fb2ae22 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class new file mode 100644 index 00000000000..5ac0dd1471f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd.class new file mode 100644 index 00000000000..2d18e798168 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ExportCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class new file mode 100644 index 00000000000..ada9beb884b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class new file mode 100644 index 00000000000..029f2172941 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class new file mode 100644 index 00000000000..562a7304da5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$11.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class new file mode 100644 index 00000000000..05d69bf8129 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$12.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class new file mode 100644 index 00000000000..eeae7420b15 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class new file mode 100644 index 00000000000..420e5dfc333 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class new file mode 100644 index 00000000000..6fa45ba749a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class new file mode 100644 index 00000000000..32399766819 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class new file mode 100644 index 00000000000..6c83543c981 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class new file mode 100644 index 00000000000..46c3a8695de Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class new file mode 100644 index 00000000000..f9049f20a69 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class new file mode 100644 index 00000000000..67b6f737b1c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd.class new file mode 100644 index 00000000000..097bd1f94cc Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/GenKeyCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class new file mode 100644 index 00000000000..f8d2b79f016 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class new file mode 100644 index 00000000000..e94a186cb93 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class new file mode 100644 index 00000000000..5d8cfdbe996 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class new file mode 100644 index 00000000000..5ff96e7e330 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class new file mode 100644 index 00000000000..6d6bafcf38b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class new file mode 100644 index 00000000000..d3f2e5f2815 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd.class new file mode 100644 index 00000000000..bfc431eb604 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/IdentityDBCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class new file mode 100644 index 00000000000..0ed3a710875 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class new file mode 100644 index 00000000000..23893d93747 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class new file mode 100644 index 00000000000..a3533a2505d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class new file mode 100644 index 00000000000..3aefff632e1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class new file mode 100644 index 00000000000..c7725c60bc3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class new file mode 100644 index 00000000000..651d8030dcf Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class new file mode 100644 index 00000000000..8a1be6601db Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class new file mode 100644 index 00000000000..960686d0124 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class new file mode 100644 index 00000000000..767c99100fe Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class new file mode 100644 index 00000000000..64b14bc9a98 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class new file mode 100644 index 00000000000..1700c217067 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ImportCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class new file mode 100644 index 00000000000..b9b83293b2a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class new file mode 100644 index 00000000000..d052102e850 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class new file mode 100644 index 00000000000..c513808caa9 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class new file mode 100644 index 00000000000..7ec8d0cc451 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class new file mode 100644 index 00000000000..156a5d74743 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class new file mode 100644 index 00000000000..d9d9b9d5d42 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class new file mode 100644 index 00000000000..492ab509103 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class new file mode 100644 index 00000000000..ba86c6c7db1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class new file mode 100644 index 00000000000..2a7f85e20e5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd.class new file mode 100644 index 00000000000..579d75e9c45 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyCloneCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class new file mode 100644 index 00000000000..bee57e8fa48 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class new file mode 100644 index 00000000000..3e58af399ea Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class new file mode 100644 index 00000000000..77ea49d164c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class new file mode 100644 index 00000000000..6a233ce3aeb Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class new file mode 100644 index 00000000000..461a0e693b6 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class new file mode 100644 index 00000000000..b7aabe18791 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class new file mode 100644 index 00000000000..fbe08b8617d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class new file mode 100644 index 00000000000..9a72fcc4109 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd.class new file mode 100644 index 00000000000..13329d4c31b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/KeyPasswdCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class new file mode 100644 index 00000000000..ec625738595 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class new file mode 100644 index 00000000000..c0b2cada66d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class new file mode 100644 index 00000000000..a9c4006f857 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class new file mode 100644 index 00000000000..c3bdb3eee0f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class new file mode 100644 index 00000000000..9048e24081f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class new file mode 100644 index 00000000000..02364f5a3ad Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class new file mode 100644 index 00000000000..da2d5c9f35e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class new file mode 100644 index 00000000000..5cb87baf2d1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/ListCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$NoParseOption.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$NoParseOption.class new file mode 100644 index 00000000000..c545200c664 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$NoParseOption.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$ShutdownHook.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$ShutdownHook.class new file mode 100644 index 00000000000..c80502410db Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main$ShutdownHook.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class new file mode 100644 index 00000000000..725ed9bede7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Messages.class new file mode 100644 index 00000000000..60939a6c41e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class new file mode 100644 index 00000000000..026e85743e8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class new file mode 100644 index 00000000000..120329523e8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd.class new file mode 100644 index 00000000000..4bdc2e6eb96 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/PrintCertCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class new file mode 100644 index 00000000000..32dd134b2d6 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class new file mode 100644 index 00000000000..1a600bfc43f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class new file mode 100644 index 00000000000..bab1439cf4b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class new file mode 100644 index 00000000000..3b60c0e8650 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class new file mode 100644 index 00000000000..77c008e29e5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class new file mode 100644 index 00000000000..f19ac62642e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class new file mode 100644 index 00000000000..066666937c3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class new file mode 100644 index 00000000000..59ce68b19d5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class new file mode 100644 index 00000000000..ae973fbc564 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class new file mode 100644 index 00000000000..cb3c780c2f7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd.class new file mode 100644 index 00000000000..a9f5efb0f1c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/SelfCertCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class new file mode 100644 index 00000000000..0ec7554fdb8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class new file mode 100644 index 00000000000..d3af827e06a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class new file mode 100644 index 00000000000..4ba08d16d7c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class new file mode 100644 index 00000000000..56e81e0bb0c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class new file mode 100644 index 00000000000..3ce091dd279 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class new file mode 100644 index 00000000000..cd57d388608 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd.class b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd.class new file mode 100644 index 00000000000..fcd88bf5d45 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/keytool/StorePasswdCmd.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Messages.class new file mode 100644 index 00000000000..8162e115bc4 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class new file mode 100644 index 00000000000..9dfdb84bbc5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class new file mode 100644 index 00000000000..c289b9ded84 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$HandleFile.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$HandleFile.class new file mode 100644 index 00000000000..e7f6eab487c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$HandleFile.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII.class b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII.class new file mode 100644 index 00000000000..231dce25a14 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class new file mode 100644 index 00000000000..a10547aa200 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class new file mode 100644 index 00000000000..f010e80e866 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class new file mode 100644 index 00000000000..948c2695b42 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class new file mode 100644 index 00000000000..5ae24172043 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class new file mode 100644 index 00000000000..1edb963da34 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class new file mode 100644 index 00000000000..3f402a94dd5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Messages.class new file mode 100644 index 00000000000..f80eceb5513 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContext.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContext.class new file mode 100644 index 00000000000..fef9e8bf013 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContext.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContextMap.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContextMap.class new file mode 100644 index 00000000000..09d84c05e2c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContextMap.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap$Entry.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap$Entry.class new file mode 100644 index 00000000000..c37eee13d18 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap$Entry.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap.class b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap.class new file mode 100644 index 00000000000..93ccfd8e1fd Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentMap.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/AbstractMethodGenerator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/AbstractMethodGenerator.class new file mode 100644 index 00000000000..a930096be79 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/AbstractMethodGenerator.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class new file mode 100644 index 00000000000..42fa516a821 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class new file mode 100644 index 00000000000..302b5d94075 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class new file mode 100644 index 00000000000..d18117c043d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class new file mode 100644 index 00000000000..5a5fec49ca5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class new file mode 100644 index 00000000000..82784b8aad1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class new file mode 100644 index 00000000000..a1f7eeeaa75 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class new file mode 100644 index 00000000000..eaf143e7be1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class new file mode 100644 index 00000000000..1b88292d1cd Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class new file mode 100644 index 00000000000..445fbce6639 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class new file mode 100644 index 00000000000..ad7825eb9ff Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class new file mode 100644 index 00000000000..c7d50e665b1 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class new file mode 100644 index 00000000000..fb17a8ae4d5 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class new file mode 100644 index 00000000000..e6d5530f8e2 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class new file mode 100644 index 00000000000..4c97c226d3f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class new file mode 100644 index 00000000000..b7a91fb5a1a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class new file mode 100644 index 00000000000..923c3a9d4f9 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class new file mode 100644 index 00000000000..aa66ee3fef9 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class new file mode 100644 index 00000000000..4e07a58019a Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class new file mode 100644 index 00000000000..bf5788f2cf4 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class new file mode 100644 index 00000000000..963faad048e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class new file mode 100644 index 00000000000..60254da5668 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class new file mode 100644 index 00000000000..0ea52dd2513 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class new file mode 100644 index 00000000000..c0f4c2f4ee0 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class new file mode 100644 index 00000000000..a19b9b66f22 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class new file mode 100644 index 00000000000..a2571607744 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Messages.class new file mode 100644 index 00000000000..1a73827b360 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class new file mode 100644 index 00000000000..272018323c8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class new file mode 100644 index 00000000000..e3ebf5d1623 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class new file mode 100644 index 00000000000..731f27a5da7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmicBackend.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmicBackend.class new file mode 100644 index 00000000000..7c08d1aa492 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmicBackend.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class new file mode 100644 index 00000000000..b66e612058c Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class new file mode 100644 index 00000000000..1c267c9ae5e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class new file mode 100644 index 00000000000..c5a258b8202 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class new file mode 100644 index 00000000000..fe7aa9c8cae Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl.class new file mode 100644 index 00000000000..3633faaa8b3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.class new file mode 100644 index 00000000000..8b798b3ad38 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class new file mode 100644 index 00000000000..420e1a69aea Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class new file mode 100644 index 00000000000..9433c6c20c9 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class new file mode 100644 index 00000000000..0185eced0ed Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class new file mode 100644 index 00000000000..b3a9d245181 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class new file mode 100644 index 00000000000..3f27513f29d Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class new file mode 100644 index 00000000000..7f962c511c6 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main.class new file mode 100644 index 00000000000..6675d24516b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Messages.class new file mode 100644 index 00000000000..0c639221cf7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$AdaptedReader.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$AdaptedReader.class new file mode 100644 index 00000000000..e45236487d7 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$AdaptedReader.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$WriteToDiskTask.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$WriteToDiskTask.class new file mode 100644 index 00000000000..d2bf71d7b83 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable$WriteToDiskTask.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable.class new file mode 100644 index 00000000000..ea377e91407 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmid/PersistentBidiHashTable.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class new file mode 100644 index 00000000000..52143bbcfd6 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class new file mode 100644 index 00000000000..9c7052a21ab Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class new file mode 100644 index 00000000000..56426d64bd9 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class new file mode 100644 index 00000000000..7548abf4f51 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$4.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class new file mode 100644 index 00000000000..a697c94475f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$5.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class new file mode 100644 index 00000000000..92758c6ab85 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main$6.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main.class new file mode 100644 index 00000000000..ecd6540a28b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Messages.class new file mode 100644 index 00000000000..b100ea71619 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable$WriteToDiskTask.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable$WriteToDiskTask.class new file mode 100644 index 00000000000..f08619a5ee8 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable$WriteToDiskTask.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable.class new file mode 100644 index 00000000000..92304dccb85 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/PersistentHashTable.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class new file mode 100644 index 00000000000..bf6d1ced504 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.class new file mode 100644 index 00000000000..50d6faf3dea Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.class b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.class new file mode 100644 index 00000000000..19b12483e14 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/Messages.class new file mode 100644 index 00000000000..d670a68cfc3 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/Messages.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class new file mode 100644 index 00000000000..c8ce2a57b2b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class new file mode 100644 index 00000000000..18583dc1e06 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class new file mode 100644 index 00000000000..9a5b3a72f40 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class new file mode 100644 index 00000000000..f564268d81b Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class new file mode 100644 index 00000000000..bfe1d362f7e Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$1.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class new file mode 100644 index 00000000000..8fd28acb14f Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main$2.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main.class b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main.class new file mode 100644 index 00000000000..0b3d3c93e59 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Main.class differ diff --git a/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Messages.class b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Messages.class new file mode 100644 index 00000000000..c9b9175cca0 Binary files /dev/null and b/libjava/classpath/tools/classes/gnu/classpath/tools/tnameserv/Messages.class differ diff --git a/libjava/classpath/tools/external/README b/libjava/classpath/tools/external/README new file mode 100644 index 00000000000..5f0cd1ab2b4 --- /dev/null +++ b/libjava/classpath/tools/external/README @@ -0,0 +1,9 @@ +ASM is a bytecode processing library used by GNU Classpath's rmic and +javah tools. It is not maintained as part of GNU Classpath, but is +imported into the repository for simpler builds. + +The ASM project pages are at http://asm.objectweb.org/ + +The currently imported version is ASM 2.2.3. The sources were checked +out of CVS using the ASM_2_2_3 tag. I've only imported a subset of +the whole checkout: namely, LICENSE.txt and the sources themselves. diff --git a/libjava/classpath/tools/external/asm/LICENSE.txt b/libjava/classpath/tools/external/asm/LICENSE.txt new file mode 100644 index 00000000000..d0cd82defe0 --- /dev/null +++ b/libjava/classpath/tools/external/asm/LICENSE.txt @@ -0,0 +1,28 @@ + + ASM: a very small and fast Java bytecode manipulation framework + Copyright (c) 2000-2005 INRIA, France Telecom + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationVisitor.java new file mode 100644 index 00000000000..8226ae8cd7f --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationVisitor.java @@ -0,0 +1,88 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A visitor to visit a Java annotation. The methods of this interface must be + * called in the following order: (visit | visitEnum | + * visitAnnotation | visitArray)* visitEnd. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public interface AnnotationVisitor { + + /** + * Visits a primitive value of the annotation. + * + * @param name the value name. + * @param value the actual value, whose type must be {@link Byte}, + * {@link Boolean}, {@link Character}, {@link Short}, + * {@link Integer}, {@link Long}, {@link Float}, {@link Double}, + * {@link String} or {@link Type}. + */ + void visit(String name, Object value); + + /** + * Visits an enumeration value of the annotation. + * + * @param name the value name. + * @param desc the class descriptor of the enumeration class. + * @param value the actual enumeration value. + */ + void visitEnum(String name, String desc, String value); + + /** + * Visits a nested annotation value of the annotation. + * + * @param name the value name. + * @param desc the class descriptor of the nested annotation class. + * @return a non null visitor to visit the actual nested annotation value. + * The nested annotation value must be fully visited before + * calling other methods on this annotation visitor. + */ + AnnotationVisitor visitAnnotation(String name, String desc); + + /** + * Visits an array value of the annotation. + * + * @param name the value name. + * @return a non null visitor to visit the actual array value elements. The + * 'name' parameters passed to the methods of this visitor are + * ignored. All the array values must be visited before calling + * other methods on this annotation visitor. + */ + AnnotationVisitor visitArray(String name); + + /** + * Visits the end of the annotation. + */ + void visitEnd(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationWriter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationWriter.java new file mode 100644 index 00000000000..918e23419bf --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/AnnotationWriter.java @@ -0,0 +1,311 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * An {@link AnnotationVisitor} that generates annotations in bytecode form. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +final class AnnotationWriter implements AnnotationVisitor { + + /** + * The class writer to which this annotation must be added. + */ + private final ClassWriter cw; + + /** + * The number of values in this annotation. + */ + private int size; + + /** + * true if values are named, false otherwise. Annotation + * writers used for annotation default and annotation arrays use unnamed + * values. + */ + private final boolean named; + + /** + * The annotation values in bytecode form. This byte vector only contains + * the values themselves, i.e. the number of values must be stored as a + * unsigned short just before these bytes. + */ + private final ByteVector bv; + + /** + * The byte vector to be used to store the number of values of this + * annotation. See {@link #bv}. + */ + private final ByteVector parent; + + /** + * Where the number of values of this annotation must be stored in + * {@link #parent}. + */ + private final int offset; + + /** + * Next annotation writer. This field is used to store annotation lists. + */ + AnnotationWriter next; + + /** + * Previous annotation writer. This field is used to store annotation lists. + */ + AnnotationWriter prev; + + // ------------------------------------------------------------------------ + // Constructor + // ------------------------------------------------------------------------ + + /** + * Constructs a new {@link AnnotationWriter}. + * + * @param cw the class writer to which this annotation must be added. + * @param named true if values are named, false otherwise. + * @param bv where the annotation values must be stored. + * @param parent where the number of annotation values must be stored. + * @param offset where in parent the number of annotation values must + * be stored. + */ + AnnotationWriter( + final ClassWriter cw, + final boolean named, + final ByteVector bv, + final ByteVector parent, + final int offset) + { + this.cw = cw; + this.named = named; + this.bv = bv; + this.parent = parent; + this.offset = offset; + } + + // ------------------------------------------------------------------------ + // Implementation of the AnnotationVisitor interface + // ------------------------------------------------------------------------ + + public void visit(final String name, final Object value) { + ++size; + if (named) { + bv.putShort(cw.newUTF8(name)); + } + if (value instanceof String) { + bv.put12('s', cw.newUTF8((String) value)); + } else if (value instanceof Byte) { + bv.put12('B', cw.newInteger(((Byte) value).byteValue()).index); + } else if (value instanceof Boolean) { + int v = ((Boolean) value).booleanValue() ? 1 : 0; + bv.put12('Z', cw.newInteger(v).index); + } else if (value instanceof Character) { + bv.put12('C', cw.newInteger(((Character) value).charValue()).index); + } else if (value instanceof Short) { + bv.put12('S', cw.newInteger(((Short) value).shortValue()).index); + } else if (value instanceof Type) { + bv.put12('c', cw.newUTF8(((Type) value).getDescriptor())); + } else if (value instanceof byte[]) { + byte[] v = (byte[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('B', cw.newInteger(v[i]).index); + } + } else if (value instanceof boolean[]) { + boolean[] v = (boolean[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('Z', cw.newInteger(v[i] ? 1 : 0).index); + } + } else if (value instanceof short[]) { + short[] v = (short[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('S', cw.newInteger(v[i]).index); + } + } else if (value instanceof char[]) { + char[] v = (char[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('C', cw.newInteger(v[i]).index); + } + } else if (value instanceof int[]) { + int[] v = (int[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('I', cw.newInteger(v[i]).index); + } + } else if (value instanceof long[]) { + long[] v = (long[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('J', cw.newLong(v[i]).index); + } + } else if (value instanceof float[]) { + float[] v = (float[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('F', cw.newFloat(v[i]).index); + } + } else if (value instanceof double[]) { + double[] v = (double[]) value; + bv.put12('[', v.length); + for (int i = 0; i < v.length; i++) { + bv.put12('D', cw.newDouble(v[i]).index); + } + } else { + Item i = cw.newConstItem(value); + bv.put12(".s.IFJDCS".charAt(i.type), i.index); + } + } + + public void visitEnum( + final String name, + final String desc, + final String value) + { + ++size; + if (named) { + bv.putShort(cw.newUTF8(name)); + } + bv.put12('e', cw.newUTF8(desc)).putShort(cw.newUTF8(value)); + } + + public AnnotationVisitor visitAnnotation( + final String name, + final String desc) + { + ++size; + if (named) { + bv.putShort(cw.newUTF8(name)); + } + // write tag and type, and reserve space for values count + bv.put12('@', cw.newUTF8(desc)).putShort(0); + return new AnnotationWriter(cw, true, bv, bv, bv.length - 2); + } + + public AnnotationVisitor visitArray(final String name) { + ++size; + if (named) { + bv.putShort(cw.newUTF8(name)); + } + // write tag, and reserve space for array size + bv.put12('[', 0); + return new AnnotationWriter(cw, false, bv, bv, bv.length - 2); + } + + public void visitEnd() { + if (parent != null) { + byte[] data = parent.data; + data[offset] = (byte) (size >>> 8); + data[offset + 1] = (byte) size; + } + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Returns the size of this annotation writer list. + * + * @return the size of this annotation writer list. + */ + int getSize() { + int size = 0; + AnnotationWriter aw = this; + while (aw != null) { + size += aw.bv.length; + aw = aw.next; + } + return size; + } + + /** + * Puts the annotations of this annotation writer list into the given byte + * vector. + * + * @param out where the annotations must be put. + */ + void put(final ByteVector out) { + int n = 0; + int size = 2; + AnnotationWriter aw = this; + AnnotationWriter last = null; + while (aw != null) { + ++n; + size += aw.bv.length; + aw.visitEnd(); // in case user forgot to call visitEnd + aw.prev = last; + last = aw; + aw = aw.next; + } + out.putInt(size); + out.putShort(n); + aw = last; + while (aw != null) { + out.putByteArray(aw.bv.data, 0, aw.bv.length); + aw = aw.prev; + } + } + + /** + * Puts the given annotation lists into the given byte vector. + * + * @param panns an array of annotation writer lists. + * @param out where the annotations must be put. + */ + static void put(final AnnotationWriter[] panns, final ByteVector out) { + int size = 1 + 2 * panns.length; + for (int i = 0; i < panns.length; ++i) { + size += panns[i] == null ? 0 : panns[i].getSize(); + } + out.putInt(size).putByte(panns.length); + for (int i = 0; i < panns.length; ++i) { + AnnotationWriter aw = panns[i]; + AnnotationWriter last = null; + int n = 0; + while (aw != null) { + ++n; + aw.visitEnd(); // in case user forgot to call visitEnd + aw.prev = last; + last = aw; + aw = aw.next; + } + out.putShort(n); + aw = last; + while (aw != null) { + out.putByteArray(aw.bv.data, 0, aw.bv.length); + aw = aw.prev; + } + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Attribute.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Attribute.java new file mode 100644 index 00000000000..c55eb9324d0 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Attribute.java @@ -0,0 +1,254 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A non standard class, field, method or code attribute. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public class Attribute { + + /** + * The type of this attribute. + */ + public final String type; + + /** + * The raw value of this attribute, used only for unknown attributes. + */ + byte[] value; + + /** + * The next attribute in this attribute list. May be null. + */ + Attribute next; + + /** + * Constructs a new empty attribute. + * + * @param type the type of the attribute. + */ + protected Attribute(final String type) { + this.type = type; + } + + /** + * Returns true if this type of attribute is unknown. The default + * implementation of this method always returns true. + * + * @return true if this type of attribute is unknown. + */ + public boolean isUnknown() { + return true; + } + + /** + * Returns true if this type of attribute is a code attribute. + * + * @return true if this type of attribute is a code attribute. + */ + public boolean isCodeAttribute() { + return false; + } + + /** + * Returns the labels corresponding to this attribute. + * + * @return the labels corresponding to this attribute, or null if + * this attribute is not a code attribute that contains labels. + */ + protected Label[] getLabels() { + return null; + } + + /** + * Reads a {@link #type type} attribute. This method must return a new + * {@link Attribute} object, of type {@link #type type}, corresponding to + * the len bytes starting at the given offset, in the given class + * reader. + * + * @param cr the class that contains the attribute to be read. + * @param off index of the first byte of the attribute's content in {@link + * ClassReader#b cr.b}. The 6 attribute header bytes, containing the + * type and the length of the attribute, are not taken into account + * here. + * @param len the length of the attribute's content. + * @param buf buffer to be used to call + * {@link ClassReader#readUTF8 readUTF8}, + * {@link ClassReader#readClass(int,char[]) readClass} or + * {@link ClassReader#readConst readConst}. + * @param codeOff index of the first byte of code's attribute content in + * {@link ClassReader#b cr.b}, or -1 if the attribute to be read is + * not a code attribute. The 6 attribute header bytes, containing the + * type and the length of the attribute, are not taken into account + * here. + * @param labels the labels of the method's code, or null if the + * attribute to be read is not a code attribute. + * @return a new {@link Attribute} object corresponding to the given + * bytes. + */ + protected Attribute read( + ClassReader cr, + int off, + int len, + char[] buf, + int codeOff, + Label[] labels) + { + Attribute attr = new Attribute(type); + attr.value = new byte[len]; + System.arraycopy(cr.b, off, attr.value, 0, len); + return attr; + } + + /** + * Returns the byte array form of this attribute. + * + * @param cw the class to which this attribute must be added. This parameter + * can be used to add to the constant pool of this class the items + * that corresponds to this attribute. + * @param code the bytecode of the method corresponding to this code + * attribute, or null if this attribute is not a code + * attributes. + * @param len the length of the bytecode of the method corresponding to this + * code attribute, or null if this attribute is not a code + * attribute. + * @param maxStack the maximum stack size of the method corresponding to + * this code attribute, or -1 if this attribute is not a code + * attribute. + * @param maxLocals the maximum number of local variables of the method + * corresponding to this code attribute, or -1 if this attribute is + * not a code attribute. + * @return the byte array form of this attribute. + */ + protected ByteVector write( + ClassWriter cw, + byte[] code, + int len, + int maxStack, + int maxLocals) + { + ByteVector v = new ByteVector(); + v.data = value; + v.length = value.length; + return v; + } + + /** + * Returns the length of the attribute list that begins with this attribute. + * + * @return the length of the attribute list that begins with this attribute. + */ + final int getCount() { + int count = 0; + Attribute attr = this; + while (attr != null) { + count += 1; + attr = attr.next; + } + return count; + } + + /** + * Returns the size of all the attributes in this attribute list. + * + * @param cw the class writer to be used to convert the attributes into byte + * arrays, with the {@link #write write} method. + * @param code the bytecode of the method corresponding to these code + * attributes, or null if these attributes are not code + * attributes. + * @param len the length of the bytecode of the method corresponding to + * these code attributes, or null if these attributes are + * not code attributes. + * @param maxStack the maximum stack size of the method corresponding to + * these code attributes, or -1 if these attributes are not code + * attributes. + * @param maxLocals the maximum number of local variables of the method + * corresponding to these code attributes, or -1 if these attributes + * are not code attributes. + * @return the size of all the attributes in this attribute list. This size + * includes the size of the attribute headers. + */ + final int getSize( + final ClassWriter cw, + final byte[] code, + final int len, + final int maxStack, + final int maxLocals) + { + Attribute attr = this; + int size = 0; + while (attr != null) { + cw.newUTF8(attr.type); + size += attr.write(cw, code, len, maxStack, maxLocals).length + 6; + attr = attr.next; + } + return size; + } + + /** + * Writes all the attributes of this attribute list in the given byte + * vector. + * + * @param cw the class writer to be used to convert the attributes into byte + * arrays, with the {@link #write write} method. + * @param code the bytecode of the method corresponding to these code + * attributes, or null if these attributes are not code + * attributes. + * @param len the length of the bytecode of the method corresponding to + * these code attributes, or null if these attributes are + * not code attributes. + * @param maxStack the maximum stack size of the method corresponding to + * these code attributes, or -1 if these attributes are not code + * attributes. + * @param maxLocals the maximum number of local variables of the method + * corresponding to these code attributes, or -1 if these attributes + * are not code attributes. + * @param out where the attributes must be written. + */ + final void put( + final ClassWriter cw, + final byte[] code, + final int len, + final int maxStack, + final int maxLocals, + final ByteVector out) + { + Attribute attr = this; + while (attr != null) { + ByteVector b = attr.write(cw, code, len, maxStack, maxLocals); + out.putShort(cw.newUTF8(attr.type)).putInt(b.length); + out.putByteArray(b.data, 0, b.length); + attr = attr.next; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/ByteVector.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/ByteVector.java new file mode 100644 index 00000000000..270778b860e --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/ByteVector.java @@ -0,0 +1,293 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A dynamically extensible vector of bytes. This class is roughly equivalent to + * a DataOutputStream on top of a ByteArrayOutputStream, but is more efficient. + * + * @author Eric Bruneton + */ +public class ByteVector { + + /** + * The content of this vector. + */ + byte[] data; + + /** + * Actual number of bytes in this vector. + */ + int length; + + /** + * Constructs a new {@link ByteVector ByteVector} with a default initial + * size. + */ + public ByteVector() { + data = new byte[64]; + } + + /** + * Constructs a new {@link ByteVector ByteVector} with the given initial + * size. + * + * @param initialSize the initial size of the byte vector to be constructed. + */ + public ByteVector(final int initialSize) { + data = new byte[initialSize]; + } + + /** + * Puts a byte into this byte vector. The byte vector is automatically + * enlarged if necessary. + * + * @param b a byte. + * @return this byte vector. + */ + public ByteVector putByte(final int b) { + int length = this.length; + if (length + 1 > data.length) { + enlarge(1); + } + data[length++] = (byte) b; + this.length = length; + return this; + } + + /** + * Puts two bytes into this byte vector. The byte vector is automatically + * enlarged if necessary. + * + * @param b1 a byte. + * @param b2 another byte. + * @return this byte vector. + */ + ByteVector put11(final int b1, final int b2) { + int length = this.length; + if (length + 2 > data.length) { + enlarge(2); + } + byte[] data = this.data; + data[length++] = (byte) b1; + data[length++] = (byte) b2; + this.length = length; + return this; + } + + /** + * Puts a short into this byte vector. The byte vector is automatically + * enlarged if necessary. + * + * @param s a short. + * @return this byte vector. + */ + public ByteVector putShort(final int s) { + int length = this.length; + if (length + 2 > data.length) { + enlarge(2); + } + byte[] data = this.data; + data[length++] = (byte) (s >>> 8); + data[length++] = (byte) s; + this.length = length; + return this; + } + + /** + * Puts a byte and a short into this byte vector. The byte vector is + * automatically enlarged if necessary. + * + * @param b a byte. + * @param s a short. + * @return this byte vector. + */ + ByteVector put12(final int b, final int s) { + int length = this.length; + if (length + 3 > data.length) { + enlarge(3); + } + byte[] data = this.data; + data[length++] = (byte) b; + data[length++] = (byte) (s >>> 8); + data[length++] = (byte) s; + this.length = length; + return this; + } + + /** + * Puts an int into this byte vector. The byte vector is automatically + * enlarged if necessary. + * + * @param i an int. + * @return this byte vector. + */ + public ByteVector putInt(final int i) { + int length = this.length; + if (length + 4 > data.length) { + enlarge(4); + } + byte[] data = this.data; + data[length++] = (byte) (i >>> 24); + data[length++] = (byte) (i >>> 16); + data[length++] = (byte) (i >>> 8); + data[length++] = (byte) i; + this.length = length; + return this; + } + + /** + * Puts a long into this byte vector. The byte vector is automatically + * enlarged if necessary. + * + * @param l a long. + * @return this byte vector. + */ + public ByteVector putLong(final long l) { + int length = this.length; + if (length + 8 > data.length) { + enlarge(8); + } + byte[] data = this.data; + int i = (int) (l >>> 32); + data[length++] = (byte) (i >>> 24); + data[length++] = (byte) (i >>> 16); + data[length++] = (byte) (i >>> 8); + data[length++] = (byte) i; + i = (int) l; + data[length++] = (byte) (i >>> 24); + data[length++] = (byte) (i >>> 16); + data[length++] = (byte) (i >>> 8); + data[length++] = (byte) i; + this.length = length; + return this; + } + + /** + * Puts an UTF8 string into this byte vector. The byte vector is + * automatically enlarged if necessary. + * + * @param s a String. + * @return this byte vector. + */ + public ByteVector putUTF8(final String s) { + int charLength = s.length(); + if (length + 2 + charLength > data.length) { + enlarge(2 + charLength); + } + int len = length; + byte[] data = this.data; + // optimistic algorithm: instead of computing the byte length and then + // serializing the string (which requires two loops), we assume the byte + // length is equal to char length (which is the most frequent case), and + // we start serializing the string right away. During the serialization, + // if we find that this assumption is wrong, we continue with the + // general method. + data[len++] = (byte) (charLength >>> 8); + data[len++] = (byte) (charLength); + for (int i = 0; i < charLength; ++i) { + char c = s.charAt(i); + if (c >= '\001' && c <= '\177') { + data[len++] = (byte) c; + } else { + int byteLength = i; + for (int j = i; j < charLength; ++j) { + c = s.charAt(j); + if (c >= '\001' && c <= '\177') { + byteLength++; + } else if (c > '\u07FF') { + byteLength += 3; + } else { + byteLength += 2; + } + } + data[length] = (byte) (byteLength >>> 8); + data[length + 1] = (byte) (byteLength); + if (length + 2 + byteLength > data.length) { + length = len; + enlarge(2 + byteLength); + data = this.data; + } + for (int j = i; j < charLength; ++j) { + c = s.charAt(j); + if (c >= '\001' && c <= '\177') { + data[len++] = (byte) c; + } else if (c > '\u07FF') { + data[len++] = (byte) (0xE0 | c >> 12 & 0xF); + data[len++] = (byte) (0x80 | c >> 6 & 0x3F); + data[len++] = (byte) (0x80 | c & 0x3F); + } else { + data[len++] = (byte) (0xC0 | c >> 6 & 0x1F); + data[len++] = (byte) (0x80 | c & 0x3F); + } + } + break; + } + } + length = len; + return this; + } + + /** + * Puts an array of bytes into this byte vector. The byte vector is + * automatically enlarged if necessary. + * + * @param b an array of bytes. May be null to put len + * null bytes into this byte vector. + * @param off index of the fist byte of b that must be copied. + * @param len number of bytes of b that must be copied. + * @return this byte vector. + */ + public ByteVector putByteArray(final byte[] b, final int off, final int len) + { + if (length + len > data.length) { + enlarge(len); + } + if (b != null) { + System.arraycopy(b, off, data, length, len); + } + length += len; + return this; + } + + /** + * Enlarge this byte vector so that it can receive n more bytes. + * + * @param size number of additional bytes that this byte vector should be + * able to receive. + */ + private void enlarge(final int size) { + int length1 = 2 * data.length; + int length2 = length + size; + byte[] newData = new byte[length1 > length2 ? length1 : length2]; + System.arraycopy(data, 0, newData, 0, length); + data = newData; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassAdapter.java new file mode 100644 index 00000000000..5f12b08d542 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassAdapter.java @@ -0,0 +1,121 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * An empty {@link ClassVisitor} that delegates to another {@link ClassVisitor}. + * This class can be used as a super class to quickly implement usefull class + * adapter classes, just by overriding the necessary methods. + * + * @author Eric Bruneton + */ +public class ClassAdapter implements ClassVisitor { + + /** + * The {@link ClassVisitor} to which this adapter delegates calls. + */ + protected ClassVisitor cv; + + /** + * Constructs a new {@link ClassAdapter} object. + * + * @param cv the class visitor to which this adapter must delegate calls. + */ + public ClassAdapter(final ClassVisitor cv) { + this.cv = cv; + } + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + cv.visit(version, access, name, signature, superName, interfaces); + } + + public void visitSource(final String source, final String debug) { + cv.visitSource(source, debug); + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + cv.visitOuterClass(owner, name, desc); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + return cv.visitAnnotation(desc, visible); + } + + public void visitAttribute(final Attribute attr) { + cv.visitAttribute(attr); + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + cv.visitInnerClass(name, outerName, innerName, access); + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + return cv.visitField(access, name, desc, signature, value); + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + return cv.visitMethod(access, name, desc, signature, exceptions); + } + + public void visitEnd() { + cv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassReader.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassReader.java new file mode 100644 index 00000000000..6924b57dc6d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassReader.java @@ -0,0 +1,1606 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +import java.io.InputStream; +import java.io.IOException; + +/** + * A Java class parser to make a {@link ClassVisitor} visit an existing class. + * This class parses a byte array conforming to the Java class file format and + * calls the appropriate visit methods of a given class visitor for each field, + * method and bytecode instruction encountered. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public class ClassReader { + + /** + * The class to be parsed. The content of this array must not be + * modified. This field is intended for {@link Attribute} sub classes, and + * is normally not needed by class generators or adapters. + */ + public final byte[] b; + + /** + * The start index of each constant pool item in {@link #b b}, plus one. + * The one byte offset skips the constant pool item tag that indicates its + * type. + */ + private int[] items; + + /** + * The String objects corresponding to the CONSTANT_Utf8 items. This cache + * avoids multiple parsing of a given CONSTANT_Utf8 constant pool item, + * which GREATLY improves performances (by a factor 2 to 3). This caching + * strategy could be extended to all constant pool items, but its benefit + * would not be so great for these items (because they are much less + * expensive to parse than CONSTANT_Utf8 items). + */ + private String[] strings; + + /** + * Maximum length of the strings contained in the constant pool of the + * class. + */ + private int maxStringLength; + + /** + * Start index of the class header information (access, name...) in + * {@link #b b}. + */ + public final int header; + + // ------------------------------------------------------------------------ + // Constructors + // ------------------------------------------------------------------------ + + /** + * Constructs a new {@link ClassReader} object. + * + * @param b the bytecode of the class to be read. + */ + public ClassReader(final byte[] b) { + this(b, 0, b.length); + } + + /** + * Constructs a new {@link ClassReader} object. + * + * @param b the bytecode of the class to be read. + * @param off the start offset of the class data. + * @param len the length of the class data. + */ + public ClassReader(final byte[] b, final int off, final int len) { + this.b = b; + // parses the constant pool + items = new int[readUnsignedShort(off + 8)]; + int ll = items.length; + strings = new String[ll]; + int max = 0; + int index = off + 10; + for (int i = 1; i < ll; ++i) { + items[i] = index + 1; + int tag = b[index]; + int size; + switch (tag) { + case ClassWriter.FIELD: + case ClassWriter.METH: + case ClassWriter.IMETH: + case ClassWriter.INT: + case ClassWriter.FLOAT: + case ClassWriter.NAME_TYPE: + size = 5; + break; + case ClassWriter.LONG: + case ClassWriter.DOUBLE: + size = 9; + ++i; + break; + case ClassWriter.UTF8: + size = 3 + readUnsignedShort(index + 1); + if (size > max) { + max = size; + } + break; + // case ClassWriter.CLASS: + // case ClassWriter.STR: + default: + size = 3; + break; + } + index += size; + } + maxStringLength = max; + // the class header information starts just after the constant pool + header = index; + } + + /** + * Copies the constant pool data into the given {@link ClassWriter}. Should + * be called before the {@link #accept(ClassVisitor,boolean)} method. + * + * @param classWriter the {@link ClassWriter} to copy constant pool into. + */ + void copyPool(final ClassWriter classWriter) { + char[] buf = new char[maxStringLength]; + int ll = items.length; + Item[] items2 = new Item[ll]; + for (int i = 1; i < ll; i++) { + int index = items[i]; + int tag = b[index - 1]; + Item item = new Item(i); + int nameType; + switch (tag) { + case ClassWriter.FIELD: + case ClassWriter.METH: + case ClassWriter.IMETH: + nameType = items[readUnsignedShort(index + 2)]; + item.set(tag, + readClass(index, buf), + readUTF8(nameType, buf), + readUTF8(nameType + 2, buf)); + break; + + case ClassWriter.INT: + item.set(readInt(index)); + break; + + case ClassWriter.FLOAT: + item.set(Float.intBitsToFloat(readInt(index))); + break; + + case ClassWriter.NAME_TYPE: + item.set(tag, + readUTF8(index, buf), + readUTF8(index + 2, buf), + null); + break; + + case ClassWriter.LONG: + item.set(readLong(index)); + ++i; + break; + + case ClassWriter.DOUBLE: + item.set(Double.longBitsToDouble(readLong(index))); + ++i; + break; + + case ClassWriter.UTF8: { + String s = strings[i]; + if (s == null) { + index = items[i]; + s = strings[i] = readUTF(index + 2, + readUnsignedShort(index), + buf); + } + item.set(tag, s, null, null); + } + break; + + // case ClassWriter.STR: + // case ClassWriter.CLASS: + default: + item.set(tag, readUTF8(index, buf), null, null); + break; + } + + int index2 = item.hashCode % items2.length; + item.next = items2[index2]; + items2[index2] = item; + } + + int off = items[1] - 1; + classWriter.pool.putByteArray(b, off, header - off); + classWriter.items = items2; + classWriter.threshold = (int) (0.75d * ll); + classWriter.index = ll; + } + + /** + * Constructs a new {@link ClassReader} object. + * + * @param is an input stream from which to read the class. + * @throws IOException if a problem occurs during reading. + */ + public ClassReader(final InputStream is) throws IOException { + this(readClass(is)); + } + + /** + * Constructs a new {@link ClassReader} object. + * + * @param name the fully qualified name of the class to be read. + * @throws IOException if an exception occurs during reading. + */ + public ClassReader(final String name) throws IOException { + this(ClassLoader.getSystemResourceAsStream(name.replace('.', '/') + + ".class")); + } + + /** + * Reads the bytecode of a class. + * + * @param is an input stream from which to read the class. + * @return the bytecode read from the given input stream. + * @throws IOException if a problem occurs during reading. + */ + private static byte[] readClass(final InputStream is) throws IOException { + if (is == null) { + throw new IOException("Class not found"); + } + byte[] b = new byte[is.available()]; + int len = 0; + while (true) { + int n = is.read(b, len, b.length - len); + if (n == -1) { + if (len < b.length) { + byte[] c = new byte[len]; + System.arraycopy(b, 0, c, 0, len); + b = c; + } + return b; + } + len += n; + if (len == b.length) { + byte[] c = new byte[b.length + 1000]; + System.arraycopy(b, 0, c, 0, len); + b = c; + } + } + } + + // ------------------------------------------------------------------------ + // Public methods + // ------------------------------------------------------------------------ + + /** + * Makes the given visitor visit the Java class of this {@link ClassReader}. + * This class is the one specified in the constructor (see + * {@link #ClassReader(byte[]) ClassReader}). + * + * @param classVisitor the visitor that must visit this class. + * @param skipDebug true if the debug information of the class + * must not be visited. In this case the + * {@link MethodVisitor#visitLocalVariable visitLocalVariable} and + * {@link MethodVisitor#visitLineNumber visitLineNumber} methods will + * not be called. + */ + public void accept(final ClassVisitor classVisitor, final boolean skipDebug) + { + accept(classVisitor, new Attribute[0], skipDebug); + } + + /** + * Makes the given visitor visit the Java class of this {@link ClassReader}. + * This class is the one specified in the constructor (see + * {@link #ClassReader(byte[]) ClassReader}). + * + * @param classVisitor the visitor that must visit this class. + * @param attrs prototypes of the attributes that must be parsed during the + * visit of the class. Any attribute whose type is not equal to the + * type of one the prototypes will be ignored. + * @param skipDebug true if the debug information of the class + * must not be visited. In this case the + * {@link MethodVisitor#visitLocalVariable visitLocalVariable} and + * {@link MethodVisitor#visitLineNumber visitLineNumber} methods will + * not be called. + */ + public void accept( + final ClassVisitor classVisitor, + final Attribute[] attrs, + final boolean skipDebug) + { + byte[] b = this.b; // the bytecode array + char[] c = new char[maxStringLength]; // buffer used to read strings + int i, j, k; // loop variables + int u, v, w; // indexes in b + Attribute attr; + + int access; + String name; + String desc; + String attrName; + String signature; + int anns = 0; + int ianns = 0; + Attribute cattrs = null; + + // visits the header + u = header; + access = readUnsignedShort(u); + name = readClass(u + 2, c); + v = items[readUnsignedShort(u + 4)]; + String superClassName = v == 0 ? null : readUTF8(v, c); + String[] implementedItfs = new String[readUnsignedShort(u + 6)]; + w = 0; + u += 8; + for (i = 0; i < implementedItfs.length; ++i) { + implementedItfs[i] = readClass(u, c); + u += 2; + } + + // skips fields and methods + v = u; + i = readUnsignedShort(v); + v += 2; + for (; i > 0; --i) { + j = readUnsignedShort(v + 6); + v += 8; + for (; j > 0; --j) { + v += 6 + readInt(v + 2); + } + } + i = readUnsignedShort(v); + v += 2; + for (; i > 0; --i) { + j = readUnsignedShort(v + 6); + v += 8; + for (; j > 0; --j) { + v += 6 + readInt(v + 2); + } + } + // reads the class's attributes + signature = null; + String sourceFile = null; + String sourceDebug = null; + String enclosingOwner = null; + String enclosingName = null; + String enclosingDesc = null; + + i = readUnsignedShort(v); + v += 2; + for (; i > 0; --i) { + attrName = readUTF8(v, c); + if (attrName.equals("SourceFile")) { + sourceFile = readUTF8(v + 6, c); + } else if (attrName.equals("Deprecated")) { + access |= Opcodes.ACC_DEPRECATED; + } else if (attrName.equals("Synthetic")) { + access |= Opcodes.ACC_SYNTHETIC; + } else if (attrName.equals("Annotation")) { + access |= Opcodes.ACC_ANNOTATION; + } else if (attrName.equals("Enum")) { + access |= Opcodes.ACC_ENUM; + } else if (attrName.equals("InnerClasses")) { + w = v + 6; + } else if (attrName.equals("Signature")) { + signature = readUTF8(v + 6, c); + } else if (attrName.equals("SourceDebugExtension")) { + int len = readInt(v + 2); + sourceDebug = readUTF(v + 6, len, new char[len]); + } else if (attrName.equals("EnclosingMethod")) { + enclosingOwner = readClass(v + 6, c); + int item = readUnsignedShort(v + 8); + if (item != 0) { + enclosingName = readUTF8(items[item], c); + enclosingDesc = readUTF8(items[item] + 2, c); + } + } else if (attrName.equals("RuntimeVisibleAnnotations")) { + anns = v + 6; + } else if (attrName.equals("RuntimeInvisibleAnnotations")) { + ianns = v + 6; + } else { + attr = readAttribute(attrs, + attrName, + v + 6, + readInt(v + 2), + c, + -1, + null); + if (attr != null) { + attr.next = cattrs; + cattrs = attr; + } + } + v += 6 + readInt(v + 2); + } + // calls the visit method + classVisitor.visit(readInt(4), + access, + name, + signature, + superClassName, + implementedItfs); + + // calls the visitSource method + if (sourceFile != null || sourceDebug != null) { + classVisitor.visitSource(sourceFile, sourceDebug); + } + + // calls the visitOuterClass method + if (enclosingOwner != null) { + classVisitor.visitOuterClass(enclosingOwner, + enclosingName, + enclosingDesc); + } + + // visits the class annotations + for (i = 1; i >= 0; --i) { + v = i == 0 ? ianns : anns; + if (v != 0) { + j = readUnsignedShort(v); + v += 2; + for (; j > 0; --j) { + desc = readUTF8(v, c); + v += 2; + v = readAnnotationValues(v, + c, + classVisitor.visitAnnotation(desc, i != 0)); + } + } + } + + // visits the class attributes + while (cattrs != null) { + attr = cattrs.next; + cattrs.next = null; + classVisitor.visitAttribute(cattrs); + cattrs = attr; + } + + // class the visitInnerClass method + if (w != 0) { + i = readUnsignedShort(w); + w += 2; + for (; i > 0; --i) { + classVisitor.visitInnerClass(readUnsignedShort(w) == 0 + ? null + : readClass(w, c), readUnsignedShort(w + 2) == 0 + ? null + : readClass(w + 2, c), readUnsignedShort(w + 4) == 0 + ? null + : readUTF8(w + 4, c), readUnsignedShort(w + 6)); + w += 8; + } + } + + // visits the fields + i = readUnsignedShort(u); + u += 2; + for (; i > 0; --i) { + access = readUnsignedShort(u); + name = readUTF8(u + 2, c); + desc = readUTF8(u + 4, c); + // visits the field's attributes and looks for a ConstantValue + // attribute + int fieldValueItem = 0; + signature = null; + anns = 0; + ianns = 0; + cattrs = null; + + j = readUnsignedShort(u + 6); + u += 8; + for (; j > 0; --j) { + attrName = readUTF8(u, c); + if (attrName.equals("ConstantValue")) { + fieldValueItem = readUnsignedShort(u + 6); + } else if (attrName.equals("Synthetic")) { + access |= Opcodes.ACC_SYNTHETIC; + } else if (attrName.equals("Deprecated")) { + access |= Opcodes.ACC_DEPRECATED; + } else if (attrName.equals("Enum")) { + access |= Opcodes.ACC_ENUM; + } else if (attrName.equals("Signature")) { + signature = readUTF8(u + 6, c); + } else if (attrName.equals("RuntimeVisibleAnnotations")) { + anns = u + 6; + } else if (attrName.equals("RuntimeInvisibleAnnotations")) { + ianns = u + 6; + } else { + attr = readAttribute(attrs, + attrName, + u + 6, + readInt(u + 2), + c, + -1, + null); + if (attr != null) { + attr.next = cattrs; + cattrs = attr; + } + } + u += 6 + readInt(u + 2); + } + // reads the field's value, if any + Object value = (fieldValueItem == 0 + ? null + : readConst(fieldValueItem, c)); + // visits the field + FieldVisitor fv = classVisitor.visitField(access, + name, + desc, + signature, + value); + // visits the field annotations and attributes + if (fv != null) { + for (j = 1; j >= 0; --j) { + v = j == 0 ? ianns : anns; + if (v != 0) { + k = readUnsignedShort(v); + v += 2; + for (; k > 0; --k) { + desc = readUTF8(v, c); + v += 2; + v = readAnnotationValues(v, + c, + fv.visitAnnotation(desc, j != 0)); + } + } + } + while (cattrs != null) { + attr = cattrs.next; + cattrs.next = null; + fv.visitAttribute(cattrs); + cattrs = attr; + } + fv.visitEnd(); + } + } + + // visits the methods + i = readUnsignedShort(u); + u += 2; + for (; i > 0; --i) { + int u0 = u + 6; + access = readUnsignedShort(u); + name = readUTF8(u + 2, c); + desc = readUTF8(u + 4, c); + signature = null; + anns = 0; + ianns = 0; + int dann = 0; + int mpanns = 0; + int impanns = 0; + cattrs = null; + v = 0; + w = 0; + + // looks for Code and Exceptions attributes + j = readUnsignedShort(u + 6); + u += 8; + for (; j > 0; --j) { + attrName = readUTF8(u, c); + u += 2; + int attrSize = readInt(u); + u += 4; + if (attrName.equals("Code")) { + v = u; + } else if (attrName.equals("Exceptions")) { + w = u; + } else if (attrName.equals("Synthetic")) { + access |= Opcodes.ACC_SYNTHETIC; + } else if (attrName.equals("Varargs")) { + access |= Opcodes.ACC_VARARGS; + } else if (attrName.equals("Bridge")) { + access |= Opcodes.ACC_BRIDGE; + } else if (attrName.equals("Deprecated")) { + access |= Opcodes.ACC_DEPRECATED; + } else if (attrName.equals("Signature")) { + signature = readUTF8(u, c); + } else if (attrName.equals("AnnotationDefault")) { + dann = u; + } else if (attrName.equals("RuntimeVisibleAnnotations")) { + anns = u; + } else if (attrName.equals("RuntimeInvisibleAnnotations")) { + ianns = u; + } else if (attrName.equals("RuntimeVisibleParameterAnnotations")) + { + mpanns = u; + } else if (attrName.equals("RuntimeInvisibleParameterAnnotations")) + { + impanns = u; + } else { + attr = readAttribute(attrs, + attrName, + u, + attrSize, + c, + -1, + null); + if (attr != null) { + attr.next = cattrs; + cattrs = attr; + } + } + u += attrSize; + } + // reads declared exceptions + String[] exceptions; + if (w == 0) { + exceptions = null; + } else { + exceptions = new String[readUnsignedShort(w)]; + w += 2; + for (j = 0; j < exceptions.length; ++j) { + exceptions[j] = readClass(w, c); + w += 2; + } + } + + // visits the method's code, if any + MethodVisitor mv = classVisitor.visitMethod(access, + name, + desc, + signature, + exceptions); + + if (mv != null) { + /* + * if the returned MethodVisitor is in fact a MethodWriter, it + * means there is no method adapter between the reader and the + * writer. If, in addition, the writer's constant pool was + * copied from this reader (mw.cw.cr == this), and the signature + * and exceptions of the method have not been changed, then it + * is possible to skip all visit events and just copy the + * original code of the method to the writer (the access, name + * and descriptor can have been changed, this is not important + * since they are not copied as is from the reader). + */ + if (mv instanceof MethodWriter) { + MethodWriter mw = (MethodWriter) mv; + if (mw.cw.cr == this) { + if (signature == mw.signature) { + boolean sameExceptions = false; + if (exceptions == null) { + sameExceptions = mw.exceptionCount == 0; + } else { + if (exceptions.length == mw.exceptionCount) { + sameExceptions = true; + for (j = exceptions.length - 1; j >= 0; --j) + { + w -= 2; + if (mw.exceptions[j] != readUnsignedShort(w)) + { + sameExceptions = false; + break; + } + } + } + } + if (sameExceptions) { + /* + * we do not copy directly the code into + * MethodWriter to save a byte array copy + * operation. The real copy will be done in + * ClassWriter.toByteArray(). + */ + mw.classReaderOffset = u0; + mw.classReaderLength = u - u0; + continue; + } + } + } + } + if (dann != 0) { + AnnotationVisitor dv = mv.visitAnnotationDefault(); + readAnnotationValue(dann, c, null, dv); + dv.visitEnd(); + } + for (j = 1; j >= 0; --j) { + w = j == 0 ? ianns : anns; + if (w != 0) { + k = readUnsignedShort(w); + w += 2; + for (; k > 0; --k) { + desc = readUTF8(w, c); + w += 2; + w = readAnnotationValues(w, + c, + mv.visitAnnotation(desc, j != 0)); + } + } + } + if (mpanns != 0) { + readParameterAnnotations(mpanns, c, true, mv); + } + if (impanns != 0) { + readParameterAnnotations(impanns, c, false, mv); + } + while (cattrs != null) { + attr = cattrs.next; + cattrs.next = null; + mv.visitAttribute(cattrs); + cattrs = attr; + } + } + + if (mv != null && v != 0) { + int maxStack = readUnsignedShort(v); + int maxLocals = readUnsignedShort(v + 2); + int codeLength = readInt(v + 4); + v += 8; + + int codeStart = v; + int codeEnd = v + codeLength; + + mv.visitCode(); + + // 1st phase: finds the labels + int label; + Label[] labels = new Label[codeLength + 1]; + while (v < codeEnd) { + int opcode = b[v] & 0xFF; + switch (ClassWriter.TYPE[opcode]) { + case ClassWriter.NOARG_INSN: + case ClassWriter.IMPLVAR_INSN: + v += 1; + break; + case ClassWriter.LABEL_INSN: + label = v - codeStart + readShort(v + 1); + if (labels[label] == null) { + labels[label] = new Label(); + } + v += 3; + break; + case ClassWriter.LABELW_INSN: + label = v - codeStart + readInt(v + 1); + if (labels[label] == null) { + labels[label] = new Label(); + } + v += 5; + break; + case ClassWriter.WIDE_INSN: + opcode = b[v + 1] & 0xFF; + if (opcode == Opcodes.IINC) { + v += 6; + } else { + v += 4; + } + break; + case ClassWriter.TABL_INSN: + // skips 0 to 3 padding bytes + w = v - codeStart; + v = v + 4 - (w & 3); + // reads instruction + label = w + readInt(v); + v += 4; + if (labels[label] == null) { + labels[label] = new Label(); + } + j = readInt(v); + v += 4; + j = readInt(v) - j + 1; + v += 4; + for (; j > 0; --j) { + label = w + readInt(v); + v += 4; + if (labels[label] == null) { + labels[label] = new Label(); + } + } + break; + case ClassWriter.LOOK_INSN: + // skips 0 to 3 padding bytes + w = v - codeStart; + v = v + 4 - (w & 3); + // reads instruction + label = w + readInt(v); + v += 4; + if (labels[label] == null) { + labels[label] = new Label(); + } + j = readInt(v); + v += 4; + for (; j > 0; --j) { + v += 4; // skips key + label = w + readInt(v); + v += 4; + if (labels[label] == null) { + labels[label] = new Label(); + } + } + break; + case ClassWriter.VAR_INSN: + case ClassWriter.SBYTE_INSN: + case ClassWriter.LDC_INSN: + v += 2; + break; + case ClassWriter.SHORT_INSN: + case ClassWriter.LDCW_INSN: + case ClassWriter.FIELDORMETH_INSN: + case ClassWriter.TYPE_INSN: + case ClassWriter.IINC_INSN: + v += 3; + break; + case ClassWriter.ITFMETH_INSN: + v += 5; + break; + // case MANA_INSN: + default: + v += 4; + break; + } + } + // parses the try catch entries + j = readUnsignedShort(v); + v += 2; + for (; j > 0; --j) { + label = readUnsignedShort(v); + Label start = labels[label]; + if (start == null) { + labels[label] = start = new Label(); + } + label = readUnsignedShort(v + 2); + Label end = labels[label]; + if (end == null) { + labels[label] = end = new Label(); + } + label = readUnsignedShort(v + 4); + Label handler = labels[label]; + if (handler == null) { + labels[label] = handler = new Label(); + } + + int type = readUnsignedShort(v + 6); + if (type == 0) { + mv.visitTryCatchBlock(start, end, handler, null); + } else { + mv.visitTryCatchBlock(start, + end, + handler, + readUTF8(items[type], c)); + } + v += 8; + } + // parses the local variable, line number tables, and code + // attributes + int varTable = 0; + int varTypeTable = 0; + cattrs = null; + j = readUnsignedShort(v); + v += 2; + for (; j > 0; --j) { + attrName = readUTF8(v, c); + if (attrName.equals("LocalVariableTable")) { + if (!skipDebug) { + varTable = v + 6; + k = readUnsignedShort(v + 6); + w = v + 8; + for (; k > 0; --k) { + label = readUnsignedShort(w); + if (labels[label] == null) { + labels[label] = new Label(); + } + label += readUnsignedShort(w + 2); + if (labels[label] == null) { + labels[label] = new Label(); + } + w += 10; + } + } + } else if (attrName.equals("LocalVariableTypeTable")) { + varTypeTable = v + 6; + } else if (attrName.equals("LineNumberTable")) { + if (!skipDebug) { + k = readUnsignedShort(v + 6); + w = v + 8; + for (; k > 0; --k) { + label = readUnsignedShort(w); + if (labels[label] == null) { + labels[label] = new Label(); + } + labels[label].line = readUnsignedShort(w + 2); + w += 4; + } + } + } else { + for (k = 0; k < attrs.length; ++k) { + if (attrs[k].type.equals(attrName)) { + attr = attrs[k].read(this, + v + 6, + readInt(v + 2), + c, + codeStart - 8, + labels); + if (attr != null) { + attr.next = cattrs; + cattrs = attr; + } + } + } + } + v += 6 + readInt(v + 2); + } + + // 2nd phase: visits each instruction + v = codeStart; + Label l; + while (v < codeEnd) { + w = v - codeStart; + l = labels[w]; + if (l != null) { + mv.visitLabel(l); + if (!skipDebug && l.line > 0) { + mv.visitLineNumber(l.line, l); + } + } + int opcode = b[v] & 0xFF; + switch (ClassWriter.TYPE[opcode]) { + case ClassWriter.NOARG_INSN: + mv.visitInsn(opcode); + v += 1; + break; + case ClassWriter.IMPLVAR_INSN: + if (opcode > Opcodes.ISTORE) { + opcode -= 59; // ISTORE_0 + mv.visitVarInsn(Opcodes.ISTORE + (opcode >> 2), + opcode & 0x3); + } else { + opcode -= 26; // ILOAD_0 + mv.visitVarInsn(Opcodes.ILOAD + (opcode >> 2), + opcode & 0x3); + } + v += 1; + break; + case ClassWriter.LABEL_INSN: + mv.visitJumpInsn(opcode, labels[w + + readShort(v + 1)]); + v += 3; + break; + case ClassWriter.LABELW_INSN: + mv.visitJumpInsn(opcode - 33, labels[w + + readInt(v + 1)]); + v += 5; + break; + case ClassWriter.WIDE_INSN: + opcode = b[v + 1] & 0xFF; + if (opcode == Opcodes.IINC) { + mv.visitIincInsn(readUnsignedShort(v + 2), + readShort(v + 4)); + v += 6; + } else { + mv.visitVarInsn(opcode, + readUnsignedShort(v + 2)); + v += 4; + } + break; + case ClassWriter.TABL_INSN: + // skips 0 to 3 padding bytes + v = v + 4 - (w & 3); + // reads instruction + label = w + readInt(v); + v += 4; + int min = readInt(v); + v += 4; + int max = readInt(v); + v += 4; + Label[] table = new Label[max - min + 1]; + for (j = 0; j < table.length; ++j) { + table[j] = labels[w + readInt(v)]; + v += 4; + } + mv.visitTableSwitchInsn(min, + max, + labels[label], + table); + break; + case ClassWriter.LOOK_INSN: + // skips 0 to 3 padding bytes + v = v + 4 - (w & 3); + // reads instruction + label = w + readInt(v); + v += 4; + j = readInt(v); + v += 4; + int[] keys = new int[j]; + Label[] values = new Label[j]; + for (j = 0; j < keys.length; ++j) { + keys[j] = readInt(v); + v += 4; + values[j] = labels[w + readInt(v)]; + v += 4; + } + mv.visitLookupSwitchInsn(labels[label], + keys, + values); + break; + case ClassWriter.VAR_INSN: + mv.visitVarInsn(opcode, b[v + 1] & 0xFF); + v += 2; + break; + case ClassWriter.SBYTE_INSN: + mv.visitIntInsn(opcode, b[v + 1]); + v += 2; + break; + case ClassWriter.SHORT_INSN: + mv.visitIntInsn(opcode, readShort(v + 1)); + v += 3; + break; + case ClassWriter.LDC_INSN: + mv.visitLdcInsn(readConst(b[v + 1] & 0xFF, c)); + v += 2; + break; + case ClassWriter.LDCW_INSN: + mv.visitLdcInsn(readConst(readUnsignedShort(v + 1), + c)); + v += 3; + break; + case ClassWriter.FIELDORMETH_INSN: + case ClassWriter.ITFMETH_INSN: + int cpIndex = items[readUnsignedShort(v + 1)]; + String iowner = readClass(cpIndex, c); + cpIndex = items[readUnsignedShort(cpIndex + 2)]; + String iname = readUTF8(cpIndex, c); + String idesc = readUTF8(cpIndex + 2, c); + if (opcode < Opcodes.INVOKEVIRTUAL) { + mv.visitFieldInsn(opcode, iowner, iname, idesc); + } else { + mv.visitMethodInsn(opcode, iowner, iname, idesc); + } + if (opcode == Opcodes.INVOKEINTERFACE) { + v += 5; + } else { + v += 3; + } + break; + case ClassWriter.TYPE_INSN: + mv.visitTypeInsn(opcode, readClass(v + 1, c)); + v += 3; + break; + case ClassWriter.IINC_INSN: + mv.visitIincInsn(b[v + 1] & 0xFF, b[v + 2]); + v += 3; + break; + // case MANA_INSN: + default: + mv.visitMultiANewArrayInsn(readClass(v + 1, c), + b[v + 3] & 0xFF); + v += 4; + break; + } + } + l = labels[codeEnd - codeStart]; + if (l != null) { + mv.visitLabel(l); + } + + // visits the local variable tables + if (!skipDebug && varTable != 0) { + int[] typeTable = null; + if (varTypeTable != 0) { + w = varTypeTable; + k = readUnsignedShort(w) * 3; + w += 2; + typeTable = new int[k]; + while (k > 0) { + typeTable[--k] = w + 6; // signature + typeTable[--k] = readUnsignedShort(w + 8); // index + typeTable[--k] = readUnsignedShort(w); // start + w += 10; + } + } + w = varTable; + k = readUnsignedShort(w); + w += 2; + for (; k > 0; --k) { + int start = readUnsignedShort(w); + int length = readUnsignedShort(w + 2); + int index = readUnsignedShort(w + 8); + String vsignature = null; + if (typeTable != null) { + for (int a = 0; a < typeTable.length; a += 3) { + if (typeTable[a] == start + && typeTable[a + 1] == index) + { + vsignature = readUTF8(typeTable[a + 2], c); + break; + } + } + } + mv.visitLocalVariable(readUTF8(w + 4, c), + readUTF8(w + 6, c), + vsignature, + labels[start], + labels[start + length], + index); + w += 10; + } + } + // visits the other attributes + while (cattrs != null) { + attr = cattrs.next; + cattrs.next = null; + mv.visitAttribute(cattrs); + cattrs = attr; + } + // visits the max stack and max locals values + mv.visitMaxs(maxStack, maxLocals); + } + + if (mv != null) { + mv.visitEnd(); + } + } + + // visits the end of the class + classVisitor.visitEnd(); + } + + /** + * Reads parameter annotations and makes the given visitor visit them. + * + * @param v start offset in {@link #b b} of the annotations to be read. + * @param buf buffer to be used to call {@link #readUTF8 readUTF8}, + * {@link #readClass(int,char[]) readClass} or + * {@link #readConst readConst}. + * @param visible true if the annotations to be read are visible + * at runtime. + * @param mv the visitor that must visit the annotations. + */ + private void readParameterAnnotations( + int v, + final char[] buf, + final boolean visible, + final MethodVisitor mv) + { + int n = b[v++] & 0xFF; + for (int i = 0; i < n; ++i) { + int j = readUnsignedShort(v); + v += 2; + for (; j > 0; --j) { + String desc = readUTF8(v, buf); + v += 2; + AnnotationVisitor av = mv.visitParameterAnnotation(i, + desc, + visible); + v = readAnnotationValues(v, buf, av); + } + } + } + + /** + * Reads the values of an annotation and makes the given visitor visit them. + * + * @param v the start offset in {@link #b b} of the values to be read + * (including the unsigned short that gives the number of values). + * @param buf buffer to be used to call {@link #readUTF8 readUTF8}, + * {@link #readClass(int,char[]) readClass} or + * {@link #readConst readConst}. + * @param av the visitor that must visit the values. + * @return the end offset of the annotations values. + */ + private int readAnnotationValues( + int v, + final char[] buf, + final AnnotationVisitor av) + { + int i = readUnsignedShort(v); + v += 2; + for (; i > 0; --i) { + String name = readUTF8(v, buf); + v += 2; + v = readAnnotationValue(v, buf, name, av); + } + av.visitEnd(); + return v; + } + + /** + * Reads a value of an annotation and makes the given visitor visit it. + * + * @param v the start offset in {@link #b b} of the value to be read (not + * including the value name constant pool index). + * @param buf buffer to be used to call {@link #readUTF8 readUTF8}, + * {@link #readClass(int,char[]) readClass} or + * {@link #readConst readConst}. + * @param name the name of the value to be read. + * @param av the visitor that must visit the value. + * @return the end offset of the annotation value. + */ + private int readAnnotationValue( + int v, + final char[] buf, + final String name, + final AnnotationVisitor av) + { + int i; + switch (readByte(v++)) { + case 'I': // pointer to CONSTANT_Integer + case 'J': // pointer to CONSTANT_Long + case 'F': // pointer to CONSTANT_Float + case 'D': // pointer to CONSTANT_Double + av.visit(name, readConst(readUnsignedShort(v), buf)); + v += 2; + break; + case 'B': // pointer to CONSTANT_Byte + av.visit(name, + new Byte((byte) readInt(items[readUnsignedShort(v)]))); + v += 2; + break; + case 'Z': // pointer to CONSTANT_Boolean + boolean b = readInt(items[readUnsignedShort(v)]) == 0; + av.visit(name, b ? Boolean.FALSE : Boolean.TRUE); + v += 2; + break; + case 'S': // pointer to CONSTANT_Short + av.visit(name, + new Short((short) readInt(items[readUnsignedShort(v)]))); + v += 2; + break; + case 'C': // pointer to CONSTANT_Char + av.visit(name, + new Character((char) readInt(items[readUnsignedShort(v)]))); + v += 2; + break; + case 's': // pointer to CONSTANT_Utf8 + av.visit(name, readUTF8(v, buf)); + v += 2; + break; + case 'e': // enum_const_value + av.visitEnum(name, readUTF8(v, buf), readUTF8(v + 2, buf)); + v += 4; + break; + case 'c': // class_info + av.visit(name, Type.getType(readUTF8(v, buf))); + v += 2; + break; + case '@': // annotation_value + String desc = readUTF8(v, buf); + v += 2; + v = readAnnotationValues(v, buf, av.visitAnnotation(name, desc)); + break; + case '[': // array_value + int size = readUnsignedShort(v); + v += 2; + if (size == 0) { + av.visitArray(name).visitEnd(); + return v; + } + switch (readByte(v++)) { + case 'B': + byte[] bv = new byte[size]; + for (i = 0; i < size; i++) { + bv[i] = (byte) readInt(items[readUnsignedShort(v)]); + v += 3; + } + av.visit(name, bv); + --v; + break; + case 'Z': + boolean[] zv = new boolean[size]; + for (i = 0; i < size; i++) { + zv[i] = readInt(items[readUnsignedShort(v)]) != 0; + v += 3; + } + av.visit(name, zv); + --v; + break; + case 'S': + short[] sv = new short[size]; + for (i = 0; i < size; i++) { + sv[i] = (short) readInt(items[readUnsignedShort(v)]); + v += 3; + } + av.visit(name, sv); + --v; + break; + case 'C': + char[] cv = new char[size]; + for (i = 0; i < size; i++) { + cv[i] = (char) readInt(items[readUnsignedShort(v)]); + v += 3; + } + av.visit(name, cv); + --v; + break; + case 'I': + int[] iv = new int[size]; + for (i = 0; i < size; i++) { + iv[i] = readInt(items[readUnsignedShort(v)]); + v += 3; + } + av.visit(name, iv); + --v; + break; + case 'J': + long[] lv = new long[size]; + for (i = 0; i < size; i++) { + lv[i] = readLong(items[readUnsignedShort(v)]); + v += 3; + } + av.visit(name, lv); + --v; + break; + case 'F': + float[] fv = new float[size]; + for (i = 0; i < size; i++) { + fv[i] = Float.intBitsToFloat(readInt(items[readUnsignedShort(v)])); + v += 3; + } + av.visit(name, fv); + --v; + break; + case 'D': + double[] dv = new double[size]; + for (i = 0; i < size; i++) { + dv[i] = Double.longBitsToDouble(readLong(items[readUnsignedShort(v)])); + v += 3; + } + av.visit(name, dv); + --v; + break; + default: + v--; + AnnotationVisitor aav = av.visitArray(name); + for (i = size; i > 0; --i) { + v = readAnnotationValue(v, buf, null, aav); + } + aav.visitEnd(); + } + } + return v; + } + + /** + * Reads an attribute in {@link #b b}. + * + * @param attrs prototypes of the attributes that must be parsed during the + * visit of the class. Any attribute whose type is not equal to the + * type of one the prototypes is ignored (i.e. an empty + * {@link Attribute} instance is returned). + * @param type the type of the attribute. + * @param off index of the first byte of the attribute's content in + * {@link #b b}. The 6 attribute header bytes, containing the type + * and the length of the attribute, are not taken into account here + * (they have already been read). + * @param len the length of the attribute's content. + * @param buf buffer to be used to call {@link #readUTF8 readUTF8}, + * {@link #readClass(int,char[]) readClass} or + * {@link #readConst readConst}. + * @param codeOff index of the first byte of code's attribute content in + * {@link #b b}, or -1 if the attribute to be read is not a code + * attribute. The 6 attribute header bytes, containing the type and + * the length of the attribute, are not taken into account here. + * @param labels the labels of the method's code, or null if the + * attribute to be read is not a code attribute. + * @return the attribute that has been read, or null to skip this + * attribute. + */ + private Attribute readAttribute( + final Attribute[] attrs, + final String type, + final int off, + final int len, + final char[] buf, + final int codeOff, + final Label[] labels) + { + for (int i = 0; i < attrs.length; ++i) { + if (attrs[i].type.equals(type)) { + return attrs[i].read(this, off, len, buf, codeOff, labels); + } + } + return new Attribute(type).read(this, off, len, null, -1, null); + } + + // ------------------------------------------------------------------------ + // Utility methods: low level parsing + // ------------------------------------------------------------------------ + + /** + * Returns the start index of the constant pool item in {@link #b b}, plus + * one. This method is intended for {@link Attribute} sub classes, and is + * normally not needed by class generators or adapters. + * + * @param item the index a constant pool item. + * @return the start index of the constant pool item in {@link #b b}, plus + * one. + */ + public int getItem(final int item) { + return items[item]; + } + + /** + * Reads a byte value in {@link #b b}. This method is intended for + * {@link Attribute} sub classes, and is normally not needed by class + * generators or adapters. + * + * @param index the start index of the value to be read in {@link #b b}. + * @return the read value. + */ + public int readByte(final int index) { + return b[index] & 0xFF; + } + + /** + * Reads an unsigned short value in {@link #b b}. This method is + * intended for {@link Attribute} sub classes, and is normally not needed by + * class generators or adapters. + * + * @param index the start index of the value to be read in {@link #b b}. + * @return the read value. + */ + public int readUnsignedShort(final int index) { + byte[] b = this.b; + return ((b[index] & 0xFF) << 8) | (b[index + 1] & 0xFF); + } + + /** + * Reads a signed short value in {@link #b b}. This method is intended + * for {@link Attribute} sub classes, and is normally not needed by class + * generators or adapters. + * + * @param index the start index of the value to be read in {@link #b b}. + * @return the read value. + */ + public short readShort(final int index) { + byte[] b = this.b; + return (short) (((b[index] & 0xFF) << 8) | (b[index + 1] & 0xFF)); + } + + /** + * Reads a signed int value in {@link #b b}. This method is intended for + * {@link Attribute} sub classes, and is normally not needed by class + * generators or adapters. + * + * @param index the start index of the value to be read in {@link #b b}. + * @return the read value. + */ + public int readInt(final int index) { + byte[] b = this.b; + return ((b[index] & 0xFF) << 24) | ((b[index + 1] & 0xFF) << 16) + | ((b[index + 2] & 0xFF) << 8) | (b[index + 3] & 0xFF); + } + + /** + * Reads a signed long value in {@link #b b}. This method is intended + * for {@link Attribute} sub classes, and is normally not needed by class + * generators or adapters. + * + * @param index the start index of the value to be read in {@link #b b}. + * @return the read value. + */ + public long readLong(final int index) { + long l1 = readInt(index); + long l0 = readInt(index + 4) & 0xFFFFFFFFL; + return (l1 << 32) | l0; + } + + /** + * Reads an UTF8 string constant pool item in {@link #b b}. This method + * is intended for {@link Attribute} sub classes, and is normally not needed + * by class generators or adapters. + * + * @param index the start index of an unsigned short value in {@link #b b}, + * whose value is the index of an UTF8 constant pool item. + * @param buf buffer to be used to read the item. This buffer must be + * sufficiently large. It is not automatically resized. + * @return the String corresponding to the specified UTF8 item. + */ + public String readUTF8(int index, final char[] buf) { + int item = readUnsignedShort(index); + String s = strings[item]; + if (s != null) { + return s; + } + index = items[item]; + return strings[item] = readUTF(index + 2, readUnsignedShort(index), buf); + } + + /** + * Reads UTF8 string in {@link #b b}. + * + * @param index start offset of the UTF8 string to be read. + * @param utfLen length of the UTF8 string to be read. + * @param buf buffer to be used to read the string. This buffer must be + * sufficiently large. It is not automatically resized. + * @return the String corresponding to the specified UTF8 string. + */ + private String readUTF(int index, int utfLen, char[] buf) { + int endIndex = index + utfLen; + byte[] b = this.b; + int strLen = 0; + int c, d, e; + while (index < endIndex) { + c = b[index++] & 0xFF; + switch (c >> 4) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + // 0xxxxxxx + buf[strLen++] = (char) c; + break; + case 12: + case 13: + // 110x xxxx 10xx xxxx + d = b[index++]; + buf[strLen++] = (char) (((c & 0x1F) << 6) | (d & 0x3F)); + break; + default: + // 1110 xxxx 10xx xxxx 10xx xxxx + d = b[index++]; + e = b[index++]; + buf[strLen++] = (char) (((c & 0x0F) << 12) + | ((d & 0x3F) << 6) | (e & 0x3F)); + break; + } + } + return new String(buf, 0, strLen); + } + + /** + * Reads a class constant pool item in {@link #b b}. This method is + * intended for {@link Attribute} sub classes, and is normally not needed by + * class generators or adapters. + * + * @param index the start index of an unsigned short value in {@link #b b}, + * whose value is the index of a class constant pool item. + * @param buf buffer to be used to read the item. This buffer must be + * sufficiently large. It is not automatically resized. + * @return the String corresponding to the specified class item. + */ + public String readClass(final int index, final char[] buf) { + // computes the start index of the CONSTANT_Class item in b + // and reads the CONSTANT_Utf8 item designated by + // the first two bytes of this CONSTANT_Class item + return readUTF8(items[readUnsignedShort(index)], buf); + } + + /** + * Reads a numeric or string constant pool item in {@link #b b}. This + * method is intended for {@link Attribute} sub classes, and is normally not + * needed by class generators or adapters. + * + * @param item the index of a constant pool item. + * @param buf buffer to be used to read the item. This buffer must be + * sufficiently large. It is not automatically resized. + * @return the {@link Integer}, {@link Float}, {@link Long}, + * {@link Double}, {@link String} or {@link Type} corresponding to + * the given constant pool item. + */ + public Object readConst(final int item, final char[] buf) { + int index = items[item]; + switch (b[index - 1]) { + case ClassWriter.INT: + return new Integer(readInt(index)); + case ClassWriter.FLOAT: + return new Float(Float.intBitsToFloat(readInt(index))); + case ClassWriter.LONG: + return new Long(readLong(index)); + case ClassWriter.DOUBLE: + return new Double(Double.longBitsToDouble(readLong(index))); + case ClassWriter.CLASS: + String s = readUTF8(index, buf); + return Type.getType(s.charAt(0) == '[' ? s : "L" + s + ";"); + // case ClassWriter.STR: + default: + return readUTF8(index, buf); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassVisitor.java new file mode 100644 index 00000000000..749c4256b7a --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassVisitor.java @@ -0,0 +1,195 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A visitor to visit a Java class. The methods of this interface must be called + * in the following order: visit [ visitSource ] [ + * visitOuterClass ] ( visitAnnotation | + * visitAttribute )* (visitInnerClass | + * visitField | visitMethod )* visitEnd. + * + * @author Eric Bruneton + */ +public interface ClassVisitor { + + /** + * Visits the header of the class. + * + * @param version the class version. + * @param access the class's access flags (see {@link Opcodes}). This + * parameter also indicates if the class is deprecated. + * @param name the internal name of the class (see + * {@link Type#getInternalName() getInternalName}). + * @param signature the signature of this class. May be null if + * the class is not a generic one, and does not extend or implement + * generic classes or interfaces. + * @param superName the internal of name of the super class (see + * {@link Type#getInternalName() getInternalName}). For interfaces, + * the super class is {@link Object}. May be null, but + * only for the {@link Object} class. + * @param interfaces the internal names of the class's interfaces (see + * {@link Type#getInternalName() getInternalName}). May be + * null. + */ + void visit( + int version, + int access, + String name, + String signature, + String superName, + String[] interfaces); + + /** + * Visits the source of the class. + * + * @param source the name of the source file from which the class was + * compiled. May be null. + * @param debug additional debug information to compute the correspondance + * between source and compiled elements of the class. May be + * null. + */ + void visitSource(String source, String debug); + + /** + * Visits the enclosing class of the class. This method must be called only + * if the class has an enclosing class. + * + * @param owner internal name of the enclosing class of the class. + * @param name the name of the method that contains the class, or + * null if the class is not enclosed in a method of its + * enclosing class. + * @param desc the descriptor of the method that contains the class, or + * null if the class is not enclosed in a method of its + * enclosing class. + */ + void visitOuterClass(String owner, String name, String desc); + + /** + * Visits an annotation of the class. + * + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a non null visitor to visit the annotation values. + */ + AnnotationVisitor visitAnnotation(String desc, boolean visible); + + /** + * Visits a non standard attribute of the class. + * + * @param attr an attribute. + */ + void visitAttribute(Attribute attr); + + /** + * Visits information about an inner class. This inner class is not + * necessarily a member of the class being visited. + * + * @param name the internal name of an inner class (see + * {@link Type#getInternalName() getInternalName}). + * @param outerName the internal name of the class to which the inner class + * belongs (see {@link Type#getInternalName() getInternalName}). May + * be null. + * @param innerName the (simple) name of the inner class inside its + * enclosing class. May be null for anonymous inner + * classes. + * @param access the access flags of the inner class as originally declared + * in the enclosing class. + */ + void visitInnerClass( + String name, + String outerName, + String innerName, + int access); + + /** + * Visits a field of the class. + * + * @param access the field's access flags (see {@link Opcodes}). This + * parameter also indicates if the field is synthetic and/or + * deprecated. + * @param name the field's name. + * @param desc the field's descriptor (see {@link Type Type}). + * @param signature the field's signature. May be null if the + * field's type does not use generic types. + * @param value the field's initial value. This parameter, which may be + * null if the field does not have an initial value, must + * be an {@link Integer}, a {@link Float}, a {@link Long}, a + * {@link Double} or a {@link String} (for int, + * float, long or String fields + * respectively). This parameter is only used for static fields. + * Its value is ignored for non static fields, which must be + * initialized through bytecode instructions in constructors or + * methods. + * @return a visitor to visit field annotations and attributes, or + * null if this class visitor is not interested in + * visiting these annotations and attributes. + */ + FieldVisitor visitField( + int access, + String name, + String desc, + String signature, + Object value); + + /** + * Visits a method of the class. This method must return a new + * {@link MethodVisitor} instance (or null) each time it is + * called, i.e., it should not return a previously returned visitor. + * + * @param access the method's access flags (see {@link Opcodes}). This + * parameter also indicates if the method is synthetic and/or + * deprecated. + * @param name the method's name. + * @param desc the method's descriptor (see {@link Type Type}). + * @param signature the method's signature. May be null if the + * method parameters, return type and exceptions do not use generic + * types. + * @param exceptions the internal names of the method's exception classes + * (see {@link Type#getInternalName() getInternalName}). May be + * null. + * @return an object to visit the byte code of the method, or null + * if this class visitor is not interested in visiting the code of + * this method. + */ + MethodVisitor visitMethod( + int access, + String name, + String desc, + String signature, + String[] exceptions); + + /** + * Visits the end of the class. This method, which is the last one to be + * called, is used to inform the visitor that all the fields and methods of + * the class have been visited. + */ + void visitEnd(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassWriter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassWriter.java new file mode 100644 index 00000000000..22f4e5245dd --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/ClassWriter.java @@ -0,0 +1,1162 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A {@link ClassVisitor} that generates classes in bytecode form. More + * precisely this visitor generates a byte array conforming to the Java class + * file format. It can be used alone, to generate a Java class "from scratch", + * or with one or more {@link ClassReader ClassReader} and adapter class visitor + * to generate a modified class from one or more existing Java classes. + * + * @author Eric Bruneton + */ +public class ClassWriter implements ClassVisitor { + + /** + * The type of instructions without any argument. + */ + final static int NOARG_INSN = 0; + + /** + * The type of instructions with an signed byte argument. + */ + final static int SBYTE_INSN = 1; + + /** + * The type of instructions with an signed short argument. + */ + final static int SHORT_INSN = 2; + + /** + * The type of instructions with a local variable index argument. + */ + final static int VAR_INSN = 3; + + /** + * The type of instructions with an implicit local variable index argument. + */ + final static int IMPLVAR_INSN = 4; + + /** + * The type of instructions with a type descriptor argument. + */ + final static int TYPE_INSN = 5; + + /** + * The type of field and method invocations instructions. + */ + final static int FIELDORMETH_INSN = 6; + + /** + * The type of the INVOKEINTERFACE instruction. + */ + final static int ITFMETH_INSN = 7; + + /** + * The type of instructions with a 2 bytes bytecode offset label. + */ + final static int LABEL_INSN = 8; + + /** + * The type of instructions with a 4 bytes bytecode offset label. + */ + final static int LABELW_INSN = 9; + + /** + * The type of the LDC instruction. + */ + final static int LDC_INSN = 10; + + /** + * The type of the LDC_W and LDC2_W instructions. + */ + final static int LDCW_INSN = 11; + + /** + * The type of the IINC instruction. + */ + final static int IINC_INSN = 12; + + /** + * The type of the TABLESWITCH instruction. + */ + final static int TABL_INSN = 13; + + /** + * The type of the LOOKUPSWITCH instruction. + */ + final static int LOOK_INSN = 14; + + /** + * The type of the MULTIANEWARRAY instruction. + */ + final static int MANA_INSN = 15; + + /** + * The type of the WIDE instruction. + */ + final static int WIDE_INSN = 16; + + /** + * The instruction types of all JVM opcodes. + */ + static byte[] TYPE; + + /** + * The type of CONSTANT_Class constant pool items. + */ + final static int CLASS = 7; + + /** + * The type of CONSTANT_Fieldref constant pool items. + */ + final static int FIELD = 9; + + /** + * The type of CONSTANT_Methodref constant pool items. + */ + final static int METH = 10; + + /** + * The type of CONSTANT_InterfaceMethodref constant pool items. + */ + final static int IMETH = 11; + + /** + * The type of CONSTANT_String constant pool items. + */ + final static int STR = 8; + + /** + * The type of CONSTANT_Integer constant pool items. + */ + final static int INT = 3; + + /** + * The type of CONSTANT_Float constant pool items. + */ + final static int FLOAT = 4; + + /** + * The type of CONSTANT_Long constant pool items. + */ + final static int LONG = 5; + + /** + * The type of CONSTANT_Double constant pool items. + */ + final static int DOUBLE = 6; + + /** + * The type of CONSTANT_NameAndType constant pool items. + */ + final static int NAME_TYPE = 12; + + /** + * The type of CONSTANT_Utf8 constant pool items. + */ + final static int UTF8 = 1; + + /** + * The class reader from which this class writer was constructed, if any. + */ + ClassReader cr; + + /** + * Minor and major version numbers of the class to be generated. + */ + int version; + + /** + * Index of the next item to be added in the constant pool. + */ + int index; + + /** + * The constant pool of this class. + */ + ByteVector pool; + + /** + * The constant pool's hash table data. + */ + Item[] items; + + /** + * The threshold of the constant pool's hash table. + */ + int threshold; + + /** + * A reusable key used to look for items in the hash {@link #items items}. + */ + Item key; + + /** + * A reusable key used to look for items in the hash {@link #items items}. + */ + Item key2; + + /** + * A reusable key used to look for items in the hash {@link #items items}. + */ + Item key3; + + /** + * The access flags of this class. + */ + private int access; + + /** + * The constant pool item that contains the internal name of this class. + */ + private int name; + + /** + * The constant pool item that contains the signature of this class. + */ + private int signature; + + /** + * The constant pool item that contains the internal name of the super class + * of this class. + */ + private int superName; + + /** + * Number of interfaces implemented or extended by this class or interface. + */ + private int interfaceCount; + + /** + * The interfaces implemented or extended by this class or interface. More + * precisely, this array contains the indexes of the constant pool items + * that contain the internal names of these interfaces. + */ + private int[] interfaces; + + /** + * The index of the constant pool item that contains the name of the source + * file from which this class was compiled. + */ + private int sourceFile; + + /** + * The SourceDebug attribute of this class. + */ + private ByteVector sourceDebug; + + /** + * The constant pool item that contains the name of the enclosing class of + * this class. + */ + private int enclosingMethodOwner; + + /** + * The constant pool item that contains the name and descriptor of the + * enclosing method of this class. + */ + private int enclosingMethod; + + /** + * The runtime visible annotations of this class. + */ + private AnnotationWriter anns; + + /** + * The runtime invisible annotations of this class. + */ + private AnnotationWriter ianns; + + /** + * The non standard attributes of this class. + */ + private Attribute attrs; + + /** + * The number of entries in the InnerClasses attribute. + */ + private int innerClassesCount; + + /** + * The InnerClasses attribute. + */ + private ByteVector innerClasses; + + /** + * The fields of this class. These fields are stored in a linked list of + * {@link FieldWriter} objects, linked to each other by their + * {@link FieldWriter#next} field. This field stores the first element of + * this list. + */ + FieldWriter firstField; + + /** + * The fields of this class. These fields are stored in a linked list of + * {@link FieldWriter} objects, linked to each other by their + * {@link FieldWriter#next} field. This field stores the last element of + * this list. + */ + FieldWriter lastField; + + /** + * The methods of this class. These methods are stored in a linked list of + * {@link MethodWriter} objects, linked to each other by their + * {@link MethodWriter#next} field. This field stores the first element of + * this list. + */ + MethodWriter firstMethod; + + /** + * The methods of this class. These methods are stored in a linked list of + * {@link MethodWriter} objects, linked to each other by their + * {@link MethodWriter#next} field. This field stores the last element of + * this list. + */ + MethodWriter lastMethod; + + /** + * true if the maximum stack size and number of local variables + * must be automatically computed. + */ + private boolean computeMaxs; + + // ------------------------------------------------------------------------ + // Static initializer + // ------------------------------------------------------------------------ + + /** + * Computes the instruction types of JVM opcodes. + */ + static { + int i; + byte[] b = new byte[220]; + String s = "AAAAAAAAAAAAAAAABCKLLDDDDDEEEEEEEEEEEEEEEEEEEEAAAAAAAADD" + + "DDDEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + + "AAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAIIIIIIIIIIIIIIIIDNOAA" + + "AAAAGGGGGGGHAFBFAAFFAAQPIIJJIIIIIIIIIIIIIIIIII"; + for (i = 0; i < b.length; ++i) { + b[i] = (byte) (s.charAt(i) - 'A'); + } + TYPE = b; + + // code to generate the above string + // + // // SBYTE_INSN instructions + // b[Constants.NEWARRAY] = SBYTE_INSN; + // b[Constants.BIPUSH] = SBYTE_INSN; + // + // // SHORT_INSN instructions + // b[Constants.SIPUSH] = SHORT_INSN; + // + // // (IMPL)VAR_INSN instructions + // b[Constants.RET] = VAR_INSN; + // for (i = Constants.ILOAD; i <= Constants.ALOAD; ++i) { + // b[i] = VAR_INSN; + // } + // for (i = Constants.ISTORE; i <= Constants.ASTORE; ++i) { + // b[i] = VAR_INSN; + // } + // for (i = 26; i <= 45; ++i) { // ILOAD_0 to ALOAD_3 + // b[i] = IMPLVAR_INSN; + // } + // for (i = 59; i <= 78; ++i) { // ISTORE_0 to ASTORE_3 + // b[i] = IMPLVAR_INSN; + // } + // + // // TYPE_INSN instructions + // b[Constants.NEW] = TYPE_INSN; + // b[Constants.ANEWARRAY] = TYPE_INSN; + // b[Constants.CHECKCAST] = TYPE_INSN; + // b[Constants.INSTANCEOF] = TYPE_INSN; + // + // // (Set)FIELDORMETH_INSN instructions + // for (i = Constants.GETSTATIC; i <= Constants.INVOKESTATIC; ++i) { + // b[i] = FIELDORMETH_INSN; + // } + // b[Constants.INVOKEINTERFACE] = ITFMETH_INSN; + // + // // LABEL(W)_INSN instructions + // for (i = Constants.IFEQ; i <= Constants.JSR; ++i) { + // b[i] = LABEL_INSN; + // } + // b[Constants.IFNULL] = LABEL_INSN; + // b[Constants.IFNONNULL] = LABEL_INSN; + // b[200] = LABELW_INSN; // GOTO_W + // b[201] = LABELW_INSN; // JSR_W + // // temporary opcodes used internally by ASM - see Label and + // MethodWriter + // for (i = 202; i < 220; ++i) { + // b[i] = LABEL_INSN; + // } + // + // // LDC(_W) instructions + // b[Constants.LDC] = LDC_INSN; + // b[19] = LDCW_INSN; // LDC_W + // b[20] = LDCW_INSN; // LDC2_W + // + // // special instructions + // b[Constants.IINC] = IINC_INSN; + // b[Constants.TABLESWITCH] = TABL_INSN; + // b[Constants.LOOKUPSWITCH] = LOOK_INSN; + // b[Constants.MULTIANEWARRAY] = MANA_INSN; + // b[196] = WIDE_INSN; // WIDE + // + // for (i = 0; i < b.length; ++i) { + // System.err.print((char)('A' + b[i])); + // } + // System.err.println(); + } + + // ------------------------------------------------------------------------ + // Constructor + // ------------------------------------------------------------------------ + + /** + * Constructs a new {@link ClassWriter ClassWriter} object. + * + * @param computeMaxs true if the maximum stack size and the + * maximum number of local variables must be automatically computed. + * If this flag is true, then the arguments of the + * {@link MethodVisitor#visitMaxs visitMaxs} method of the + * {@link MethodVisitor} returned by the + * {@link #visitMethod visitMethod} method will be ignored, and + * computed automatically from the signature and the bytecode of each + * method. + */ + public ClassWriter(final boolean computeMaxs) { + this(computeMaxs, false); + } + + /** + * Constructs a new {@link ClassWriter} object. + * + * @param computeMaxs true if the maximum stack size and the + * maximum number of local variables must be automatically computed. + * If this flag is true, then the arguments of the + * {@link MethodVisitor#visitMaxs visitMaxs} method of the + * {@link MethodVisitor} returned by the + * {@link #visitMethod visitMethod} method will be ignored, and + * computed automatically from the signature and the bytecode of each + * method. + * @param skipUnknownAttributes Deprecated. The value of this + * parameter is ignored. + */ + public ClassWriter( + final boolean computeMaxs, + final boolean skipUnknownAttributes) + { + index = 1; + pool = new ByteVector(); + items = new Item[256]; + threshold = (int) (0.75d * items.length); + key = new Item(); + key2 = new Item(); + key3 = new Item(); + this.computeMaxs = computeMaxs; + } + + /** + * Constructs a new {@link ClassWriter} object and enables optimizations for + * "mostly add" bytecode transformations. These optimizations are the + * following: + * + *

      • The constant pool from the original class is copied as is in + * the new class, which saves time. New constant pool entries will be added + * at the end if necessary, but unused constant pool entries won't be + * removed.
      • Methods that are not transformed are copied as + * is in the new class, directly from the original class bytecode (i.e. + * without emitting visit events for all the method instructions), which + * saves a lot of time. Untransformed methods are detected by the + * fact that the {@link ClassReader} receives {@link MethodVisitor} objects + * that come from a {@link ClassWriter} (and not from a custom + * {@link ClassAdapter} or any other {@link ClassVisitor} instance).
      • + *
      + * + * @param classReader the {@link ClassReader} used to read the original + * class. It will be used to copy the entire constant pool from the + * original class and also to copy other fragments of original + * bytecode where applicable. + * @param computeMaxs true if the maximum stack size and the + * maximum number of local variables must be automatically computed. + * If this flag is true, then the arguments of the + * {@link MethodVisitor#visitMaxs visitMaxs} method of the + * {@link MethodVisitor} returned by the + * {@link #visitMethod visitMethod} method will be ignored, and + * computed automatically from the signature and the bytecode of each + * method. + */ + public ClassWriter( + final ClassReader classReader, + final boolean computeMaxs) + { + this(computeMaxs, false); + classReader.copyPool(this); + this.cr = classReader; + } + + // ------------------------------------------------------------------------ + // Implementation of the ClassVisitor interface + // ------------------------------------------------------------------------ + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + this.version = version; + this.access = access; + this.name = newClass(name); + if (signature != null) { + this.signature = newUTF8(signature); + } + this.superName = superName == null ? 0 : newClass(superName); + if (interfaces != null && interfaces.length > 0) { + interfaceCount = interfaces.length; + this.interfaces = new int[interfaceCount]; + for (int i = 0; i < interfaceCount; ++i) { + this.interfaces[i] = newClass(interfaces[i]); + } + } + } + + public void visitSource(final String file, final String debug) { + if (file != null) { + sourceFile = newUTF8(file); + } + if (debug != null) { + sourceDebug = new ByteVector().putUTF8(debug); + } + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + enclosingMethodOwner = newClass(owner); + if (name != null && desc != null) { + enclosingMethod = newNameType(name, desc); + } + } + + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + ByteVector bv = new ByteVector(); + // write type, and reserve space for values count + bv.putShort(newUTF8(desc)).putShort(0); + AnnotationWriter aw = new AnnotationWriter(this, true, bv, bv, 2); + if (visible) { + aw.next = anns; + anns = aw; + } else { + aw.next = ianns; + ianns = aw; + } + return aw; + } + + public void visitAttribute(final Attribute attr) { + attr.next = attrs; + attrs = attr; + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + if (innerClasses == null) { + innerClasses = new ByteVector(); + } + ++innerClassesCount; + innerClasses.putShort(name == null ? 0 : newClass(name)); + innerClasses.putShort(outerName == null ? 0 : newClass(outerName)); + innerClasses.putShort(innerName == null ? 0 : newUTF8(innerName)); + innerClasses.putShort(access); + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + return new FieldWriter(this, access, name, desc, signature, value); + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + return new MethodWriter(this, + access, + name, + desc, + signature, + exceptions, + computeMaxs); + } + + public void visitEnd() { + } + + // ------------------------------------------------------------------------ + // Other public methods + // ------------------------------------------------------------------------ + + /** + * Returns the bytecode of the class that was build with this class writer. + * + * @return the bytecode of the class that was build with this class writer. + */ + public byte[] toByteArray() { + // computes the real size of the bytecode of this class + int size = 24 + 2 * interfaceCount; + int nbFields = 0; + FieldWriter fb = firstField; + while (fb != null) { + ++nbFields; + size += fb.getSize(); + fb = fb.next; + } + int nbMethods = 0; + MethodWriter mb = firstMethod; + while (mb != null) { + ++nbMethods; + size += mb.getSize(); + mb = mb.next; + } + int attributeCount = 0; + if (signature != 0) { + ++attributeCount; + size += 8; + newUTF8("Signature"); + } + if (sourceFile != 0) { + ++attributeCount; + size += 8; + newUTF8("SourceFile"); + } + if (sourceDebug != null) { + ++attributeCount; + size += sourceDebug.length + 4; + newUTF8("SourceDebugExtension"); + } + if (enclosingMethodOwner != 0) { + ++attributeCount; + size += 10; + newUTF8("EnclosingMethod"); + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + ++attributeCount; + size += 6; + newUTF8("Deprecated"); + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (version & 0xffff) < Opcodes.V1_5) + { + ++attributeCount; + size += 6; + newUTF8("Synthetic"); + } + if (version == Opcodes.V1_4) { + if ((access & Opcodes.ACC_ANNOTATION) != 0) { + ++attributeCount; + size += 6; + newUTF8("Annotation"); + } + if ((access & Opcodes.ACC_ENUM) != 0) { + ++attributeCount; + size += 6; + newUTF8("Enum"); + } + } + if (innerClasses != null) { + ++attributeCount; + size += 8 + innerClasses.length; + newUTF8("InnerClasses"); + } + if (anns != null) { + ++attributeCount; + size += 8 + anns.getSize(); + newUTF8("RuntimeVisibleAnnotations"); + } + if (ianns != null) { + ++attributeCount; + size += 8 + ianns.getSize(); + newUTF8("RuntimeInvisibleAnnotations"); + } + if (attrs != null) { + attributeCount += attrs.getCount(); + size += attrs.getSize(this, null, 0, -1, -1); + } + size += pool.length; + // allocates a byte vector of this size, in order to avoid unnecessary + // arraycopy operations in the ByteVector.enlarge() method + ByteVector out = new ByteVector(size); + out.putInt(0xCAFEBABE).putInt(version); + out.putShort(index).putByteArray(pool.data, 0, pool.length); + out.putShort(access).putShort(name).putShort(superName); + out.putShort(interfaceCount); + for (int i = 0; i < interfaceCount; ++i) { + out.putShort(interfaces[i]); + } + out.putShort(nbFields); + fb = firstField; + while (fb != null) { + fb.put(out); + fb = fb.next; + } + out.putShort(nbMethods); + mb = firstMethod; + while (mb != null) { + mb.put(out); + mb = mb.next; + } + out.putShort(attributeCount); + if (signature != 0) { + out.putShort(newUTF8("Signature")).putInt(2).putShort(signature); + } + if (sourceFile != 0) { + out.putShort(newUTF8("SourceFile")).putInt(2).putShort(sourceFile); + } + if (sourceDebug != null) { + int len = sourceDebug.length - 2; + out.putShort(newUTF8("SourceDebugExtension")).putInt(len); + out.putByteArray(sourceDebug.data, 2, len); + } + if (enclosingMethodOwner != 0) { + out.putShort(newUTF8("EnclosingMethod")).putInt(4); + out.putShort(enclosingMethodOwner).putShort(enclosingMethod); + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + out.putShort(newUTF8("Deprecated")).putInt(0); + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (version & 0xffff) < Opcodes.V1_5) + { + out.putShort(newUTF8("Synthetic")).putInt(0); + } + if (version == Opcodes.V1_4) { + if ((access & Opcodes.ACC_ANNOTATION) != 0) { + out.putShort(newUTF8("Annotation")).putInt(0); + } + if ((access & Opcodes.ACC_ENUM) != 0) { + out.putShort(newUTF8("Enum")).putInt(0); + } + } + if (innerClasses != null) { + out.putShort(newUTF8("InnerClasses")); + out.putInt(innerClasses.length + 2).putShort(innerClassesCount); + out.putByteArray(innerClasses.data, 0, innerClasses.length); + } + if (anns != null) { + out.putShort(newUTF8("RuntimeVisibleAnnotations")); + anns.put(out); + } + if (ianns != null) { + out.putShort(newUTF8("RuntimeInvisibleAnnotations")); + ianns.put(out); + } + if (attrs != null) { + attrs.put(this, null, 0, -1, -1, out); + } + return out.data; + } + + // ------------------------------------------------------------------------ + // Utility methods: constant pool management + // ------------------------------------------------------------------------ + + /** + * Adds a number or string constant to the constant pool of the class being + * build. Does nothing if the constant pool already contains a similar item. + * + * @param cst the value of the constant to be added to the constant pool. + * This parameter must be an {@link Integer}, a {@link Float}, a + * {@link Long}, a {@link Double}, a {@link String} or a + * {@link Type}. + * @return a new or already existing constant item with the given value. + */ + Item newConstItem(final Object cst) { + if (cst instanceof Integer) { + int val = ((Integer) cst).intValue(); + return newInteger(val); + } else if (cst instanceof Byte) { + int val = ((Byte) cst).intValue(); + return newInteger(val); + } else if (cst instanceof Character) { + int val = ((Character) cst).charValue(); + return newInteger(val); + } else if (cst instanceof Short) { + int val = ((Short) cst).intValue(); + return newInteger(val); + } else if (cst instanceof Boolean) { + int val = ((Boolean) cst).booleanValue() ? 1 : 0; + return newInteger(val); + } else if (cst instanceof Float) { + float val = ((Float) cst).floatValue(); + return newFloat(val); + } else if (cst instanceof Long) { + long val = ((Long) cst).longValue(); + return newLong(val); + } else if (cst instanceof Double) { + double val = ((Double) cst).doubleValue(); + return newDouble(val); + } else if (cst instanceof String) { + return newString((String) cst); + } else if (cst instanceof Type) { + Type t = (Type) cst; + return newClassItem(t.getSort() == Type.OBJECT + ? t.getInternalName() + : t.getDescriptor()); + } else { + throw new IllegalArgumentException("value " + cst); + } + } + + /** + * Adds a number or string constant to the constant pool of the class being + * build. Does nothing if the constant pool already contains a similar item. + * This method is intended for {@link Attribute} sub classes, and is + * normally not needed by class generators or adapters. + * + * @param cst the value of the constant to be added to the constant pool. + * This parameter must be an {@link Integer}, a {@link Float}, a + * {@link Long}, a {@link Double} or a {@link String}. + * @return the index of a new or already existing constant item with the + * given value. + */ + public int newConst(final Object cst) { + return newConstItem(cst).index; + } + + /** + * Adds an UTF8 string to the constant pool of the class being build. Does + * nothing if the constant pool already contains a similar item. This + * method is intended for {@link Attribute} sub classes, and is normally not + * needed by class generators or adapters. + * + * @param value the String value. + * @return the index of a new or already existing UTF8 item. + */ + public int newUTF8(final String value) { + key.set(UTF8, value, null, null); + Item result = get(key); + if (result == null) { + pool.putByte(UTF8).putUTF8(value); + result = new Item(index++, key); + put(result); + } + return result.index; + } + + /** + * Adds a class reference to the constant pool of the class being build. + * Does nothing if the constant pool already contains a similar item. + * This method is intended for {@link Attribute} sub classes, and is + * normally not needed by class generators or adapters. + * + * @param value the internal name of the class. + * @return the index of a new or already existing class reference item. + */ + public int newClass(final String value) { + return newClassItem(value).index; + } + + /** + * Adds a class reference to the constant pool of the class being build. + * Does nothing if the constant pool already contains a similar item. + * This method is intended for {@link Attribute} sub classes, and is + * normally not needed by class generators or adapters. + * + * @param value the internal name of the class. + * @return a new or already existing class reference item. + */ + private Item newClassItem(final String value) { + key2.set(CLASS, value, null, null); + Item result = get(key2); + if (result == null) { + pool.put12(CLASS, newUTF8(value)); + result = new Item(index++, key2); + put(result); + } + return result; + } + + /** + * Adds a field reference to the constant pool of the class being build. + * Does nothing if the constant pool already contains a similar item. + * This method is intended for {@link Attribute} sub classes, and is + * normally not needed by class generators or adapters. + * + * @param owner the internal name of the field's owner class. + * @param name the field's name. + * @param desc the field's descriptor. + * @return the index of a new or already existing field reference item. + */ + public int newField(final String owner, final String name, final String desc) + { + key3.set(FIELD, owner, name, desc); + Item result = get(key3); + if (result == null) { + put122(FIELD, newClass(owner), newNameType(name, desc)); + result = new Item(index++, key3); + put(result); + } + return result.index; + } + + /** + * Adds a method reference to the constant pool of the class being build. + * Does nothing if the constant pool already contains a similar item. + * + * @param owner the internal name of the method's owner class. + * @param name the method's name. + * @param desc the method's descriptor. + * @param itf true if owner is an interface. + * @return a new or already existing method reference item. + */ + Item newMethodItem( + final String owner, + final String name, + final String desc, + final boolean itf) + { + int type = itf ? IMETH : METH; + key3.set(type, owner, name, desc); + Item result = get(key3); + if (result == null) { + put122(type, newClass(owner), newNameType(name, desc)); + result = new Item(index++, key3); + put(result); + } + return result; + } + + /** + * Adds a method reference to the constant pool of the class being build. + * Does nothing if the constant pool already contains a similar item. + * This method is intended for {@link Attribute} sub classes, and is + * normally not needed by class generators or adapters. + * + * @param owner the internal name of the method's owner class. + * @param name the method's name. + * @param desc the method's descriptor. + * @param itf true if owner is an interface. + * @return the index of a new or already existing method reference item. + */ + public int newMethod( + final String owner, + final String name, + final String desc, + final boolean itf) + { + return newMethodItem(owner, name, desc, itf).index; + } + + /** + * Adds an integer to the constant pool of the class being build. Does + * nothing if the constant pool already contains a similar item. + * + * @param value the int value. + * @return a new or already existing int item. + */ + Item newInteger(final int value) { + key.set(value); + Item result = get(key); + if (result == null) { + pool.putByte(INT).putInt(value); + result = new Item(index++, key); + put(result); + } + return result; + } + + /** + * Adds a float to the constant pool of the class being build. Does nothing + * if the constant pool already contains a similar item. + * + * @param value the float value. + * @return a new or already existing float item. + */ + Item newFloat(final float value) { + key.set(value); + Item result = get(key); + if (result == null) { + pool.putByte(FLOAT).putInt(Float.floatToIntBits(value)); + result = new Item(index++, key); + put(result); + } + return result; + } + + /** + * Adds a long to the constant pool of the class being build. Does nothing + * if the constant pool already contains a similar item. + * + * @param value the long value. + * @return a new or already existing long item. + */ + Item newLong(final long value) { + key.set(value); + Item result = get(key); + if (result == null) { + pool.putByte(LONG).putLong(value); + result = new Item(index, key); + put(result); + index += 2; + } + return result; + } + + /** + * Adds a double to the constant pool of the class being build. Does nothing + * if the constant pool already contains a similar item. + * + * @param value the double value. + * @return a new or already existing double item. + */ + Item newDouble(final double value) { + key.set(value); + Item result = get(key); + if (result == null) { + pool.putByte(DOUBLE).putLong(Double.doubleToLongBits(value)); + result = new Item(index, key); + put(result); + index += 2; + } + return result; + } + + /** + * Adds a string to the constant pool of the class being build. Does nothing + * if the constant pool already contains a similar item. + * + * @param value the String value. + * @return a new or already existing string item. + */ + private Item newString(final String value) { + key2.set(STR, value, null, null); + Item result = get(key2); + if (result == null) { + pool.put12(STR, newUTF8(value)); + result = new Item(index++, key2); + put(result); + } + return result; + } + + /** + * Adds a name and type to the constant pool of the class being build. Does + * nothing if the constant pool already contains a similar item. This + * method is intended for {@link Attribute} sub classes, and is normally not + * needed by class generators or adapters. + * + * @param name a name. + * @param desc a type descriptor. + * @return the index of a new or already existing name and type item. + */ + public int newNameType(final String name, final String desc) { + key2.set(NAME_TYPE, name, desc, null); + Item result = get(key2); + if (result == null) { + put122(NAME_TYPE, newUTF8(name), newUTF8(desc)); + result = new Item(index++, key2); + put(result); + } + return result.index; + } + + /** + * Returns the constant pool's hash table item which is equal to the given + * item. + * + * @param key a constant pool item. + * @return the constant pool's hash table item which is equal to the given + * item, or null if there is no such item. + */ + private Item get(final Item key) { + Item i = items[key.hashCode % items.length]; + while (i != null && !key.isEqualTo(i)) { + i = i.next; + } + return i; + } + + /** + * Puts the given item in the constant pool's hash table. The hash table + * must not already contains this item. + * + * @param i the item to be added to the constant pool's hash table. + */ + private void put(final Item i) { + if (index > threshold) { + int ll = items.length; + int nl = ll * 2 + 1; + Item[] newItems = new Item[nl]; + for (int l = ll - 1; l >= 0; --l) { + Item j = items[l]; + while (j != null) { + int index = j.hashCode % newItems.length; + Item k = j.next; + j.next = newItems[index]; + newItems[index] = j; + j = k; + } + } + items = newItems; + threshold = (int) (nl * 0.75); + } + int index = i.hashCode % items.length; + i.next = items[index]; + items[index] = i; + } + + /** + * Puts one byte and two shorts into the constant pool. + * + * @param b a byte. + * @param s1 a short. + * @param s2 another short. + */ + private void put122(final int b, final int s1, final int s2) { + pool.put12(b, s1).putShort(s2); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Edge.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Edge.java new file mode 100644 index 00000000000..c0bf108cee2 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Edge.java @@ -0,0 +1,57 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * An edge in the control flow graph of a method body. See {@link Label Label}. + * + * @author Eric Bruneton + */ +class Edge { + + /** + * The (relative) stack size in the basic block from which this edge + * originates. This size is equal to the stack size at the "jump" + * instruction to which this edge corresponds, relatively to the stack size + * at the beginning of the originating basic block. + */ + int stackSize; + + /** + * The successor block of the basic block from which this edge originates. + */ + Label successor; + + /** + * The next edge in the list of successors of the originating basic block. + * See {@link Label#successors successors}. + */ + Edge next; +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/FieldVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/FieldVisitor.java new file mode 100644 index 00000000000..0005034ca69 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/FieldVisitor.java @@ -0,0 +1,63 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A visitor to visit a Java field. The methods of this interface must be called + * in the following order: ( visitAnnotation | + * visitAttribute )* visitEnd. + * + * @author Eric Bruneton + */ +public interface FieldVisitor { + + /** + * Visits an annotation of the field. + * + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a non null visitor to visit the annotation values. + */ + AnnotationVisitor visitAnnotation(String desc, boolean visible); + + /** + * Visits a non standard attribute of the field. + * + * @param attr an attribute. + */ + void visitAttribute(Attribute attr); + + /** + * Visits the end of the field. This method, which is the last one to be + * called, is used to inform the visitor that all the annotations and + * attributes of the field have been visited. + */ + void visitEnd(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/FieldWriter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/FieldWriter.java new file mode 100644 index 00000000000..7eb3ed4fc60 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/FieldWriter.java @@ -0,0 +1,276 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * An {@link FieldVisitor} that generates Java fields in bytecode form. + * + * @author Eric Bruneton + */ +final class FieldWriter implements FieldVisitor { + + /** + * Next field writer (see {@link ClassWriter#firstField firstField}). + */ + FieldWriter next; + + /** + * The class writer to which this field must be added. + */ + private ClassWriter cw; + + /** + * Access flags of this field. + */ + private int access; + + /** + * The index of the constant pool item that contains the name of this + * method. + */ + private int name; + + /** + * The index of the constant pool item that contains the descriptor of this + * field. + */ + private int desc; + + /** + * The index of the constant pool item that contains the signature of this + * field. + */ + private int signature; + + /** + * The index of the constant pool item that contains the constant value of + * this field. + */ + private int value; + + /** + * The runtime visible annotations of this field. May be null. + */ + private AnnotationWriter anns; + + /** + * The runtime invisible annotations of this field. May be null. + */ + private AnnotationWriter ianns; + + /** + * The non standard attributes of this field. May be null. + */ + private Attribute attrs; + + // ------------------------------------------------------------------------ + // Constructor + // ------------------------------------------------------------------------ + + /** + * Constructs a new {@link FieldWriter}. + * + * @param cw the class writer to which this field must be added. + * @param access the field's access flags (see {@link Opcodes}). + * @param name the field's name. + * @param desc the field's descriptor (see {@link Type}). + * @param signature the field's signature. May be null. + * @param value the field's constant value. May be null. + */ + protected FieldWriter( + final ClassWriter cw, + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + if (cw.firstField == null) { + cw.firstField = this; + } else { + cw.lastField.next = this; + } + cw.lastField = this; + this.cw = cw; + this.access = access; + this.name = cw.newUTF8(name); + this.desc = cw.newUTF8(desc); + if (signature != null) { + this.signature = cw.newUTF8(signature); + } + if (value != null) { + this.value = cw.newConstItem(value).index; + } + } + + // ------------------------------------------------------------------------ + // Implementation of the FieldVisitor interface + // ------------------------------------------------------------------------ + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + ByteVector bv = new ByteVector(); + // write type, and reserve space for values count + bv.putShort(cw.newUTF8(desc)).putShort(0); + AnnotationWriter aw = new AnnotationWriter(cw, true, bv, bv, 2); + if (visible) { + aw.next = anns; + anns = aw; + } else { + aw.next = ianns; + ianns = aw; + } + return aw; + } + + public void visitAttribute(final Attribute attr) { + attr.next = attrs; + attrs = attr; + } + + public void visitEnd() { + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Returns the size of this field. + * + * @return the size of this field. + */ + int getSize() { + int size = 8; + if (value != 0) { + cw.newUTF8("ConstantValue"); + size += 8; + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (cw.version & 0xffff) < Opcodes.V1_5) + { + cw.newUTF8("Synthetic"); + size += 6; + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + cw.newUTF8("Deprecated"); + size += 6; + } + if (cw.version == Opcodes.V1_4 && (access & Opcodes.ACC_ENUM) != 0) { + cw.newUTF8("Enum"); + size += 6; + } + if (signature != 0) { + cw.newUTF8("Signature"); + size += 8; + } + if (anns != null) { + cw.newUTF8("RuntimeVisibleAnnotations"); + size += 8 + anns.getSize(); + } + if (ianns != null) { + cw.newUTF8("RuntimeInvisibleAnnotations"); + size += 8 + ianns.getSize(); + } + if (attrs != null) { + size += attrs.getSize(cw, null, 0, -1, -1); + } + return size; + } + + /** + * Puts the content of this field into the given byte vector. + * + * @param out where the content of this field must be put. + */ + void put(final ByteVector out) { + out.putShort(access).putShort(name).putShort(desc); + int attributeCount = 0; + if (value != 0) { + ++attributeCount; + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (cw.version & 0xffff) < Opcodes.V1_5) + { + ++attributeCount; + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + ++attributeCount; + } + if (cw.version == Opcodes.V1_4 && (access & Opcodes.ACC_ENUM) != 0) { + ++attributeCount; + } + if (signature != 0) { + ++attributeCount; + } + if (anns != null) { + ++attributeCount; + } + if (ianns != null) { + ++attributeCount; + } + if (attrs != null) { + attributeCount += attrs.getCount(); + } + out.putShort(attributeCount); + if (value != 0) { + out.putShort(cw.newUTF8("ConstantValue")); + out.putInt(2).putShort(value); + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (cw.version & 0xffff) < Opcodes.V1_5) + { + out.putShort(cw.newUTF8("Synthetic")).putInt(0); + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + out.putShort(cw.newUTF8("Deprecated")).putInt(0); + } + if (cw.version == Opcodes.V1_4 && (access & Opcodes.ACC_ENUM) != 0) { + out.putShort(cw.newUTF8("Enum")).putInt(0); + } + if (signature != 0) { + out.putShort(cw.newUTF8("Signature")); + out.putInt(2).putShort(signature); + } + if (anns != null) { + out.putShort(cw.newUTF8("RuntimeVisibleAnnotations")); + anns.put(out); + } + if (ianns != null) { + out.putShort(cw.newUTF8("RuntimeInvisibleAnnotations")); + ianns.put(out); + } + if (attrs != null) { + attrs.put(cw, null, 0, -1, -1, out); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Handler.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Handler.java new file mode 100644 index 00000000000..8bef8453114 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Handler.java @@ -0,0 +1,70 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * Information about an exception handler block. + * + * @author Eric Bruneton + */ +class Handler { + + /** + * Beginning of the exception handler's scope (inclusive). + */ + Label start; + + /** + * End of the exception handler's scope (exclusive). + */ + Label end; + + /** + * Beginning of the exception handler's code. + */ + Label handler; + + /** + * Internal name of the type of exceptions handled by this handler, or + * null to catch any exceptions. + */ + String desc; + + /** + * Constant pool index of the internal name of the type of exceptions + * handled by this handler, or 0 to catch any exceptions. + */ + int type; + + /** + * Next exception handler block info. + */ + Handler next; +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Item.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Item.java new file mode 100644 index 00000000000..4c5285f2f2c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Item.java @@ -0,0 +1,252 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A constant pool item. Constant pool items can be created with the 'newXXX' + * methods in the {@link ClassWriter} class. + * + * @author Eric Bruneton + */ +final class Item { + + /** + * Index of this item in the constant pool. + */ + int index; + + /** + * Type of this constant pool item. A single class is used to represent all + * constant pool item types, in order to minimize the bytecode size of this + * package. The value of this field is one of {@link ClassWriter#INT}, + * {@link ClassWriter#LONG}, {@link ClassWriter#FLOAT}, + * {@link ClassWriter#DOUBLE}, {@link ClassWriter#UTF8}, + * {@link ClassWriter#STR}, {@link ClassWriter#CLASS}, + * {@link ClassWriter#NAME_TYPE}, {@link ClassWriter#FIELD}, + * {@link ClassWriter#METH}, {@link ClassWriter#IMETH}. + */ + int type; + + /** + * Value of this item, for an integer item. + */ + int intVal; + + /** + * Value of this item, for a long item. + */ + long longVal; + + /** + * Value of this item, for a float item. + */ + float floatVal; + + /** + * Value of this item, for a double item. + */ + double doubleVal; + + /** + * First part of the value of this item, for items that do not hold a + * primitive value. + */ + String strVal1; + + /** + * Second part of the value of this item, for items that do not hold a + * primitive value. + */ + String strVal2; + + /** + * Third part of the value of this item, for items that do not hold a + * primitive value. + */ + String strVal3; + + /** + * The hash code value of this constant pool item. + */ + int hashCode; + + /** + * Link to another constant pool item, used for collision lists in the + * constant pool's hash table. + */ + Item next; + + /** + * Constructs an uninitialized {@link Item}. + */ + Item() { + } + + Item(int index) { + this.index = index; + } + + /** + * Constructs a copy of the given item. + * + * @param index index of the item to be constructed. + * @param i the item that must be copied into the item to be constructed. + */ + Item(final int index, final Item i) { + this.index = index; + type = i.type; + intVal = i.intVal; + longVal = i.longVal; + floatVal = i.floatVal; + doubleVal = i.doubleVal; + strVal1 = i.strVal1; + strVal2 = i.strVal2; + strVal3 = i.strVal3; + hashCode = i.hashCode; + } + + /** + * Sets this item to an integer item. + * + * @param intVal the value of this item. + */ + void set(final int intVal) { + this.type = ClassWriter.INT; + this.intVal = intVal; + this.hashCode = 0x7FFFFFFF & (type + intVal); + } + + /** + * Sets this item to a long item. + * + * @param longVal the value of this item. + */ + void set(final long longVal) { + this.type = ClassWriter.LONG; + this.longVal = longVal; + this.hashCode = 0x7FFFFFFF & (type + (int) longVal); + } + + /** + * Sets this item to a float item. + * + * @param floatVal the value of this item. + */ + void set(final float floatVal) { + this.type = ClassWriter.FLOAT; + this.floatVal = floatVal; + this.hashCode = 0x7FFFFFFF & (type + (int) floatVal); + } + + /** + * Sets this item to a double item. + * + * @param doubleVal the value of this item. + */ + void set(final double doubleVal) { + this.type = ClassWriter.DOUBLE; + this.doubleVal = doubleVal; + this.hashCode = 0x7FFFFFFF & (type + (int) doubleVal); + } + + /** + * Sets this item to an item that do not hold a primitive value. + * + * @param type the type of this item. + * @param strVal1 first part of the value of this item. + * @param strVal2 second part of the value of this item. + * @param strVal3 third part of the value of this item. + */ + void set( + final int type, + final String strVal1, + final String strVal2, + final String strVal3) + { + this.type = type; + this.strVal1 = strVal1; + this.strVal2 = strVal2; + this.strVal3 = strVal3; + switch (type) { + case ClassWriter.UTF8: + case ClassWriter.STR: + case ClassWriter.CLASS: + hashCode = 0x7FFFFFFF & (type + strVal1.hashCode()); + return; + case ClassWriter.NAME_TYPE: + hashCode = 0x7FFFFFFF & (type + strVal1.hashCode() + * strVal2.hashCode()); + return; + // ClassWriter.FIELD: + // ClassWriter.METH: + // ClassWriter.IMETH: + default: + hashCode = 0x7FFFFFFF & (type + strVal1.hashCode() + * strVal2.hashCode() * strVal3.hashCode()); + } + } + + /** + * Indicates if the given item is equal to this one. + * + * @param i the item to be compared to this one. + * @return true if the given item if equal to this one, + * false otherwise. + */ + boolean isEqualTo(final Item i) { + if (i.type == type) { + switch (type) { + case ClassWriter.INT: + return i.intVal == intVal; + case ClassWriter.LONG: + return i.longVal == longVal; + case ClassWriter.FLOAT: + return i.floatVal == floatVal; + case ClassWriter.DOUBLE: + return i.doubleVal == doubleVal; + case ClassWriter.UTF8: + case ClassWriter.STR: + case ClassWriter.CLASS: + return i.strVal1.equals(strVal1); + case ClassWriter.NAME_TYPE: + return i.strVal1.equals(strVal1) + && i.strVal2.equals(strVal2); + // ClassWriter.FIELD: + // ClassWriter.METH: + // ClassWriter.IMETH: + default: + return i.strVal1.equals(strVal1) + && i.strVal2.equals(strVal2) + && i.strVal3.equals(strVal3); + } + } + return false; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Label.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Label.java new file mode 100644 index 00000000000..79291f27cd1 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Label.java @@ -0,0 +1,299 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A label represents a position in the bytecode of a method. Labels are used + * for jump, goto, and switch instructions, and for try catch blocks. + * + * @author Eric Bruneton + */ +public class Label { + + /** + * The line number corresponding to this label, if known. + */ + int line; + + /** + * Indicates if the position of this label is known. + */ + boolean resolved; + + /** + * The position of this label in the code, if known. + */ + int position; + + /** + * If the label position has been updated, after instruction resizing. + */ + boolean resized; + + /** + * Number of forward references to this label, times two. + */ + private int referenceCount; + + /** + * Informations about forward references. Each forward reference is + * described by two consecutive integers in this array: the first one is the + * position of the first byte of the bytecode instruction that contains the + * forward reference, while the second is the position of the first byte of + * the forward reference itself. In fact the sign of the first integer + * indicates if this reference uses 2 or 4 bytes, and its absolute value + * gives the position of the bytecode instruction. + */ + private int[] srcAndRefPositions; + + /* + * Fields for the control flow graph analysis algorithm (used to compute the + * maximum stack size). A control flow graph contains one node per "basic + * block", and one edge per "jump" from one basic block to another. Each + * node (i.e., each basic block) is represented by the Label object that + * corresponds to the first instruction of this basic block. Each node also + * stores the list of it successors in the graph, as a linked list of Edge + * objects. + */ + + /** + * The stack size at the beginning of this basic block. This size is + * initially unknown. It is computed by the control flow analysis algorithm + * (see {@link MethodWriter#visitMaxs visitMaxs}). + */ + int beginStackSize; + + /** + * The (relative) maximum stack size corresponding to this basic block. This + * size is relative to the stack size at the beginning of the basic block, + * i.e., the true maximum stack size is equal to {@link #beginStackSize + * beginStackSize} + {@link #maxStackSize maxStackSize}. + */ + int maxStackSize; + + /** + * The successors of this node in the control flow graph. These successors + * are stored in a linked list of {@link Edge Edge} objects, linked to each + * other by their {@link Edge#next} field. + */ + Edge successors; + + /** + * The next basic block in the basic block stack. See + * {@link MethodWriter#visitMaxs visitMaxs}. + */ + Label next; + + /** + * true if this basic block has been pushed in the basic block + * stack. See {@link MethodWriter#visitMaxs visitMaxs}. + */ + boolean pushed; + + // ------------------------------------------------------------------------ + // Constructor + // ------------------------------------------------------------------------ + + /** + * Constructs a new label. + */ + public Label() { + } + + // ------------------------------------------------------------------------ + // Methods to compute offsets and to manage forward references + // ------------------------------------------------------------------------ + + /** + * Returns the offset corresponding to this label. This offset is computed + * from the start of the method's bytecode. This method is intended for + * {@link Attribute} sub classes, and is normally not needed by class + * generators or adapters. + * + * @return the offset corresponding to this label. + * @throws IllegalStateException if this label is not resolved yet. + */ + public int getOffset() { + if (!resolved) { + throw new IllegalStateException("Label offset position has not been resolved yet"); + } + return position; + } + + /** + * Puts a reference to this label in the bytecode of a method. If the + * position of the label is known, the offset is computed and written + * directly. Otherwise, a null offset is written and a new forward reference + * is declared for this label. + * + * @param owner the code writer that calls this method. + * @param out the bytecode of the method. + * @param source the position of first byte of the bytecode instruction that + * contains this label. + * @param wideOffset true if the reference must be stored in 4 + * bytes, or false if it must be stored with 2 bytes. + * @throws IllegalArgumentException if this label has not been created by + * the given code writer. + */ + void put( + final MethodWriter owner, + final ByteVector out, + final int source, + final boolean wideOffset) + { + if (resolved) { + if (wideOffset) { + out.putInt(position - source); + } else { + out.putShort(position - source); + } + } else { + if (wideOffset) { + addReference(-1 - source, out.length); + out.putInt(-1); + } else { + addReference(source, out.length); + out.putShort(-1); + } + } + } + + /** + * Adds a forward reference to this label. This method must be called only + * for a true forward reference, i.e. only if this label is not resolved + * yet. For backward references, the offset of the reference can be, and + * must be, computed and stored directly. + * + * @param sourcePosition the position of the referencing instruction. This + * position will be used to compute the offset of this forward + * reference. + * @param referencePosition the position where the offset for this forward + * reference must be stored. + */ + private void addReference( + final int sourcePosition, + final int referencePosition) + { + if (srcAndRefPositions == null) { + srcAndRefPositions = new int[6]; + } + if (referenceCount >= srcAndRefPositions.length) { + int[] a = new int[srcAndRefPositions.length + 6]; + System.arraycopy(srcAndRefPositions, + 0, + a, + 0, + srcAndRefPositions.length); + srcAndRefPositions = a; + } + srcAndRefPositions[referenceCount++] = sourcePosition; + srcAndRefPositions[referenceCount++] = referencePosition; + } + + /** + * Resolves all forward references to this label. This method must be called + * when this label is added to the bytecode of the method, i.e. when its + * position becomes known. This method fills in the blanks that where left + * in the bytecode by each forward reference previously added to this label. + * + * @param owner the code writer that calls this method. + * @param position the position of this label in the bytecode. + * @param data the bytecode of the method. + * @return true if a blank that was left for this label was to + * small to store the offset. In such a case the corresponding jump + * instruction is replaced with a pseudo instruction (using unused + * opcodes) using an unsigned two bytes offset. These pseudo + * instructions will need to be replaced with true instructions with + * wider offsets (4 bytes instead of 2). This is done in + * {@link MethodWriter#resizeInstructions}. + * @throws IllegalArgumentException if this label has already been resolved, + * or if it has not been created by the given code writer. + */ + boolean resolve( + final MethodWriter owner, + final int position, + final byte[] data) + { + boolean needUpdate = false; + this.resolved = true; + this.position = position; + int i = 0; + while (i < referenceCount) { + int source = srcAndRefPositions[i++]; + int reference = srcAndRefPositions[i++]; + int offset; + if (source >= 0) { + offset = position - source; + if (offset < Short.MIN_VALUE || offset > Short.MAX_VALUE) { + /* + * changes the opcode of the jump instruction, in order to + * be able to find it later (see resizeInstructions in + * MethodWriter). These temporary opcodes are similar to + * jump instruction opcodes, except that the 2 bytes offset + * is unsigned (and can therefore represent values from 0 to + * 65535, which is sufficient since the size of a method is + * limited to 65535 bytes). + */ + int opcode = data[reference - 1] & 0xFF; + if (opcode <= Opcodes.JSR) { + // changes IFEQ ... JSR to opcodes 202 to 217 + data[reference - 1] = (byte) (opcode + 49); + } else { + // changes IFNULL and IFNONNULL to opcodes 218 and 219 + data[reference - 1] = (byte) (opcode + 20); + } + needUpdate = true; + } + data[reference++] = (byte) (offset >>> 8); + data[reference] = (byte) offset; + } else { + offset = position + source + 1; + data[reference++] = (byte) (offset >>> 24); + data[reference++] = (byte) (offset >>> 16); + data[reference++] = (byte) (offset >>> 8); + data[reference] = (byte) offset; + } + } + return needUpdate; + } + + // ------------------------------------------------------------------------ + // Overriden Object methods + // ------------------------------------------------------------------------ + + /** + * Returns a string representation of this label. + * + * @return a string representation of this label. + */ + public String toString() { + return "L" + System.identityHashCode(this); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodAdapter.java new file mode 100644 index 00000000000..c7e127de793 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodAdapter.java @@ -0,0 +1,185 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * An empty {@link MethodVisitor} that delegates to another + * {@link MethodVisitor}. This class can be used as a super class to quickly + * implement usefull method adapter classes, just by overriding the necessary + * methods. + * + * @author Eric Bruneton + */ +public class MethodAdapter implements MethodVisitor { + + /** + * The {@link MethodVisitor} to which this adapter delegates calls. + */ + protected MethodVisitor mv; + + /** + * Constructs a new {@link MethodAdapter} object. + * + * @param mv the code visitor to which this adapter must delegate calls. + */ + public MethodAdapter(final MethodVisitor mv) { + this.mv = mv; + } + + public AnnotationVisitor visitAnnotationDefault() { + return mv.visitAnnotationDefault(); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + return mv.visitAnnotation(desc, visible); + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + return mv.visitParameterAnnotation(parameter, desc, visible); + } + + public void visitAttribute(final Attribute attr) { + mv.visitAttribute(attr); + } + + public void visitCode() { + mv.visitCode(); + } + + public void visitInsn(final int opcode) { + mv.visitInsn(opcode); + } + + public void visitIntInsn(final int opcode, final int operand) { + mv.visitIntInsn(opcode, operand); + } + + public void visitVarInsn(final int opcode, final int var) { + mv.visitVarInsn(opcode, var); + } + + public void visitTypeInsn(final int opcode, final String desc) { + mv.visitTypeInsn(opcode, desc); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + mv.visitFieldInsn(opcode, owner, name, desc); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + mv.visitMethodInsn(opcode, owner, name, desc); + } + + public void visitJumpInsn(final int opcode, final Label label) { + mv.visitJumpInsn(opcode, label); + } + + public void visitLabel(final Label label) { + mv.visitLabel(label); + } + + public void visitLdcInsn(final Object cst) { + mv.visitLdcInsn(cst); + } + + public void visitIincInsn(final int var, final int increment) { + mv.visitIincInsn(var, increment); + } + + public void visitTableSwitchInsn( + final int min, + final int max, + final Label dflt, + final Label labels[]) + { + mv.visitTableSwitchInsn(min, max, dflt, labels); + } + + public void visitLookupSwitchInsn( + final Label dflt, + final int keys[], + final Label labels[]) + { + mv.visitLookupSwitchInsn(dflt, keys, labels); + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + mv.visitMultiANewArrayInsn(desc, dims); + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + mv.visitTryCatchBlock(start, end, handler, type); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + mv.visitLocalVariable(name, desc, signature, start, end, index); + } + + public void visitLineNumber(final int line, final Label start) { + mv.visitLineNumber(line, start); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + mv.visitMaxs(maxStack, maxLocals); + } + + public void visitEnd() { + mv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodVisitor.java new file mode 100644 index 00000000000..3fccbdf1456 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodVisitor.java @@ -0,0 +1,334 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A visitor to visit a Java method. The methods of this interface must be + * called in the following order: [ visitAnnotationDefault ] ( + * visitAnnotation | visitParameterAnnotation | + * visitAttribute )* [ visitCode ( visitXInsn | + * visitLabel | visitTryCatchBlock | visitLocalVariable | + * visitLineNumber)* visitMaxs ] visitEnd. In + * addition, the visitXInsn and visitLabel + * methods must be called in the sequential order of the bytecode instructions + * of the visited code, and the visitLocalVariable and visitLineNumber + * methods must be called after the labels passed as arguments have been + * visited. + * + * @author Eric Bruneton + */ +public interface MethodVisitor { + + // ------------------------------------------------------------------------- + // Annotations and non standard attributes + // ------------------------------------------------------------------------- + + /** + * Visits the default value of this annotation interface method. + * + * @return a non null visitor to the visit the actual default value of this + * annotation interface method. The 'name' parameters passed to the + * methods of this annotation visitor are ignored. Moreover, exacly + * one visit method must be called on this annotation visitor, + * followed by visitEnd. + */ + AnnotationVisitor visitAnnotationDefault(); + + /** + * Visits an annotation of this method. + * + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a non null visitor to visit the annotation values. + */ + AnnotationVisitor visitAnnotation(String desc, boolean visible); + + /** + * Visits an annotation of a parameter this method. + * + * @param parameter the parameter index. + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a non null visitor to visit the annotation values. + */ + AnnotationVisitor visitParameterAnnotation( + int parameter, + String desc, + boolean visible); + + /** + * Visits a non standard attribute of this method. + * + * @param attr an attribute. + */ + void visitAttribute(Attribute attr); + + /** + * Starts the visit of the method's code, if any (i.e. non abstract method). + */ + void visitCode(); + + // ------------------------------------------------------------------------- + // Normal instructions + // ------------------------------------------------------------------------- + + /** + * Visits a zero operand instruction. + * + * @param opcode the opcode of the instruction to be visited. This opcode is + * either NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2, + * ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, + * FCONST_1, FCONST_2, DCONST_0, DCONST_1, IALOAD, LALOAD, FALOAD, + * DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IASTORE, LASTORE, FASTORE, + * DASTORE, AASTORE, BASTORE, CASTORE, SASTORE, POP, POP2, DUP, + * DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, LADD, FADD, + * DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, LDIV, + * FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, ISHL, + * LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR, + * I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, + * I2C, I2S, LCMP, FCMPL, FCMPG, DCMPL, DCMPG, IRETURN, LRETURN, + * FRETURN, DRETURN, ARETURN, RETURN, ARRAYLENGTH, ATHROW, + * MONITORENTER, or MONITOREXIT. + */ + void visitInsn(int opcode); + + /** + * Visits an instruction with a single int operand. + * + * @param opcode the opcode of the instruction to be visited. This opcode is + * either BIPUSH, SIPUSH or NEWARRAY. + * @param operand the operand of the instruction to be visited.
      + * When opcode is BIPUSH, operand value should be between + * Byte.MIN_VALUE and Byte.MAX_VALUE.
      + * When opcode is SIPUSH, operand value should be between + * Short.MIN_VALUE and Short.MAX_VALUE.
      + * When opcode is NEWARRAY, operand value should be one of + * {@link Opcodes#T_BOOLEAN}, {@link Opcodes#T_CHAR}, + * {@link Opcodes#T_FLOAT}, {@link Opcodes#T_DOUBLE}, + * {@link Opcodes#T_BYTE}, {@link Opcodes#T_SHORT}, + * {@link Opcodes#T_INT} or {@link Opcodes#T_LONG}. + */ + void visitIntInsn(int opcode, int operand); + + /** + * Visits a local variable instruction. A local variable instruction is an + * instruction that loads or stores the value of a local variable. + * + * @param opcode the opcode of the local variable instruction to be visited. + * This opcode is either ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE, + * LSTORE, FSTORE, DSTORE, ASTORE or RET. + * @param var the operand of the instruction to be visited. This operand is + * the index of a local variable. + */ + void visitVarInsn(int opcode, int var); + + /** + * Visits a type instruction. A type instruction is an instruction that + * takes a type descriptor as parameter. + * + * @param opcode the opcode of the type instruction to be visited. This + * opcode is either NEW, ANEWARRAY, CHECKCAST or INSTANCEOF. + * @param desc the operand of the instruction to be visited. This operand is + * must be a fully qualified class name in internal form, or the type + * descriptor of an array type (see {@link Type Type}). + */ + void visitTypeInsn(int opcode, String desc); + + /** + * Visits a field instruction. A field instruction is an instruction that + * loads or stores the value of a field of an object. + * + * @param opcode the opcode of the type instruction to be visited. This + * opcode is either GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD. + * @param owner the internal name of the field's owner class (see {@link + * Type#getInternalName() getInternalName}). + * @param name the field's name. + * @param desc the field's descriptor (see {@link Type Type}). + */ + void visitFieldInsn(int opcode, String owner, String name, String desc); + + /** + * Visits a method instruction. A method instruction is an instruction that + * invokes a method. + * + * @param opcode the opcode of the type instruction to be visited. This + * opcode is either INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or + * INVOKEINTERFACE. + * @param owner the internal name of the method's owner class (see {@link + * Type#getInternalName() getInternalName}). + * @param name the method's name. + * @param desc the method's descriptor (see {@link Type Type}). + */ + void visitMethodInsn(int opcode, String owner, String name, String desc); + + /** + * Visits a jump instruction. A jump instruction is an instruction that may + * jump to another instruction. + * + * @param opcode the opcode of the type instruction to be visited. This + * opcode is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, + * IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, + * IF_ACMPNE, GOTO, JSR, IFNULL or IFNONNULL. + * @param label the operand of the instruction to be visited. This operand + * is a label that designates the instruction to which the jump + * instruction may jump. + */ + void visitJumpInsn(int opcode, Label label); + + /** + * Visits a label. A label designates the instruction that will be visited + * just after it. + * + * @param label a {@link Label Label} object. + */ + void visitLabel(Label label); + + // ------------------------------------------------------------------------- + // Special instructions + // ------------------------------------------------------------------------- + + /** + * Visits a LDC instruction. + * + * @param cst the constant to be loaded on the stack. This parameter must be + * a non null {@link Integer}, a {@link Float}, a {@link Long}, a + * {@link Double} a {@link String} (or a {@link Type} for + * .class constants, for classes whose version is 49.0 or + * more). + */ + void visitLdcInsn(Object cst); + + /** + * Visits an IINC instruction. + * + * @param var index of the local variable to be incremented. + * @param increment amount to increment the local variable by. + */ + void visitIincInsn(int var, int increment); + + /** + * Visits a TABLESWITCH instruction. + * + * @param min the minimum key value. + * @param max the maximum key value. + * @param dflt beginning of the default handler block. + * @param labels beginnings of the handler blocks. labels[i] is + * the beginning of the handler block for the min + i key. + */ + void visitTableSwitchInsn(int min, int max, Label dflt, Label labels[]); + + /** + * Visits a LOOKUPSWITCH instruction. + * + * @param dflt beginning of the default handler block. + * @param keys the values of the keys. + * @param labels beginnings of the handler blocks. labels[i] is + * the beginning of the handler block for the keys[i] key. + */ + void visitLookupSwitchInsn(Label dflt, int keys[], Label labels[]); + + /** + * Visits a MULTIANEWARRAY instruction. + * + * @param desc an array type descriptor (see {@link Type Type}). + * @param dims number of dimensions of the array to allocate. + */ + void visitMultiANewArrayInsn(String desc, int dims); + + // ------------------------------------------------------------------------- + // Exceptions table entries, debug information, + // max stack size and max locals + // ------------------------------------------------------------------------- + + /** + * Visits a try catch block. + * + * @param start beginning of the exception handler's scope (inclusive). + * @param end end of the exception handler's scope (exclusive). + * @param handler beginning of the exception handler's code. + * @param type internal name of the type of exceptions handled by the + * handler, or null to catch any exceptions (for "finally" + * blocks). + */ + void visitTryCatchBlock(Label start, Label end, Label handler, String type); + + /** + * Visits a local variable declaration. + * + * @param name the name of a local variable. + * @param desc the type descriptor of this local variable. + * @param signature the type signature of this local variable. May be + * null if the local variable type does not use generic + * types. + * @param start the first instruction corresponding to the scope of this + * local variable (inclusive). + * @param end the last instruction corresponding to the scope of this local + * variable (exclusive). + * @param index the local variable's index. + * @throws IllegalArgumentException if one of the labels has not already + * been visited by this visitor (by the + * {@link #visitLabel visitLabel} method). + */ + void visitLocalVariable( + String name, + String desc, + String signature, + Label start, + Label end, + int index); + + /** + * Visits a line number declaration. + * + * @param line a line number. This number refers to the source file from + * which the class was compiled. + * @param start the first instruction corresponding to this line number. + * @throws IllegalArgumentException if start has not already been + * visited by this visitor (by the {@link #visitLabel visitLabel} + * method). + */ + void visitLineNumber(int line, Label start); + + /** + * Visits the maximum stack size and the maximum number of local variables + * of the method. + * + * @param maxStack maximum stack size of the method. + * @param maxLocals maximum number of local variables for the method. + */ + void visitMaxs(int maxStack, int maxLocals); + + /** + * Visits the end of the method. This method, which is the last one to be + * called, is used to inform the visitor that all the annotations and + * attributes of the method have been visited. + */ + void visitEnd(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodWriter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodWriter.java new file mode 100644 index 00000000000..e131c69abb9 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/MethodWriter.java @@ -0,0 +1,2022 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * A {@link MethodVisitor} that generates methods in bytecode form. Each visit + * method of this class appends the bytecode corresponding to the visited + * instruction to a byte vector, in the order these methods are called. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +class MethodWriter implements MethodVisitor { + + /** + * Next method writer (see {@link ClassWriter#firstMethod firstMethod}). + */ + MethodWriter next; + + /** + * The class writer to which this method must be added. + */ + ClassWriter cw; + + /** + * Access flags of this method. + */ + private int access; + + /** + * The index of the constant pool item that contains the name of this + * method. + */ + private int name; + + /** + * The index of the constant pool item that contains the descriptor of this + * method. + */ + private int desc; + + /** + * The descriptor of this method. + */ + private String descriptor; + + /** + * If not zero, indicates that the code of this method must be copied from + * the ClassReader associated to this writer in cw.cr. More + * precisely, this field gives the index of the first byte to copied from + * cw.cr.b. + */ + int classReaderOffset; + + /** + * If not zero, indicates that the code of this method must be copied from + * the ClassReader associated to this writer in cw.cr. More + * precisely, this field gives the number of bytes to copied from + * cw.cr.b. + */ + int classReaderLength; + + /** + * The signature of this method. + */ + String signature; + + /** + * Number of exceptions that can be thrown by this method. + */ + int exceptionCount; + + /** + * The exceptions that can be thrown by this method. More precisely, this + * array contains the indexes of the constant pool items that contain the + * internal names of these exception classes. + */ + int[] exceptions; + + /** + * The annotation default attribute of this method. May be null. + */ + private ByteVector annd; + + /** + * The runtime visible annotations of this method. May be null. + */ + private AnnotationWriter anns; + + /** + * The runtime invisible annotations of this method. May be null. + */ + private AnnotationWriter ianns; + + /** + * The runtime visible parameter annotations of this method. May be + * null. + */ + private AnnotationWriter[] panns; + + /** + * The runtime invisible parameter annotations of this method. May be + * null. + */ + private AnnotationWriter[] ipanns; + + /** + * The non standard attributes of the method. + */ + private Attribute attrs; + + /** + * The bytecode of this method. + */ + private ByteVector code = new ByteVector(); + + /** + * Maximum stack size of this method. + */ + private int maxStack; + + /** + * Maximum number of local variables for this method. + */ + private int maxLocals; + + /** + * Number of entries in the catch table of this method. + */ + private int catchCount; + + /** + * The catch table of this method. + */ + private Handler catchTable; + + /** + * The last element in the catchTable handler list. + */ + private Handler lastHandler; + + /** + * Number of entries in the LocalVariableTable attribute. + */ + private int localVarCount; + + /** + * The LocalVariableTable attribute. + */ + private ByteVector localVar; + + /** + * Number of entries in the LocalVariableTypeTable attribute. + */ + private int localVarTypeCount; + + /** + * The LocalVariableTypeTable attribute. + */ + private ByteVector localVarType; + + /** + * Number of entries in the LineNumberTable attribute. + */ + private int lineNumberCount; + + /** + * The LineNumberTable attribute. + */ + private ByteVector lineNumber; + + /** + * The non standard attributes of the method's code. + */ + private Attribute cattrs; + + /** + * Indicates if some jump instructions are too small and need to be resized. + */ + private boolean resize; + + /* + * Fields for the control flow graph analysis algorithm (used to compute the + * maximum stack size). A control flow graph contains one node per "basic + * block", and one edge per "jump" from one basic block to another. Each + * node (i.e., each basic block) is represented by the Label object that + * corresponds to the first instruction of this basic block. Each node also + * stores the list of its successors in the graph, as a linked list of Edge + * objects. + */ + + /** + * true if the maximum stack size and number of local variables + * must be automatically computed. + */ + private final boolean computeMaxs; + + /** + * The (relative) stack size after the last visited instruction. This size + * is relative to the beginning of the current basic block, i.e., the true + * stack size after the last visited instruction is equal to the {@link + * Label#beginStackSize beginStackSize} of the current basic block plus + * stackSize. + */ + private int stackSize; + + /** + * The (relative) maximum stack size after the last visited instruction. + * This size is relative to the beginning of the current basic block, i.e., + * the true maximum stack size after the last visited instruction is equal + * to the {@link Label#beginStackSize beginStackSize} of the current basic + * block plus stackSize. + */ + private int maxStackSize; + + /** + * The current basic block. This block is the basic block to which the next + * instruction to be visited must be added. + */ + private Label currentBlock; + + /** + * The basic block stack used by the control flow analysis algorithm. This + * stack is represented by a linked list of {@link Label Label} objects, + * linked to each other by their {@link Label#next} field. This stack must + * not be confused with the JVM stack used to execute the JVM instructions! + */ + private Label blockStack; + + /** + * The stack size variation corresponding to each JVM instruction. This + * stack variation is equal to the size of the values produced by an + * instruction, minus the size of the values consumed by this instruction. + */ + private final static int[] SIZE; + + // ------------------------------------------------------------------------ + // Static initializer + // ------------------------------------------------------------------------ + + /** + * Computes the stack size variation corresponding to each JVM instruction. + */ + static { + int i; + int[] b = new int[202]; + String s = "EFFFFFFFFGGFFFGGFFFEEFGFGFEEEEEEEEEEEEEEEEEEEEDEDEDDDDD" + + "CDCDEEEEEEEEEEEEEEEEEEEEBABABBBBDCFFFGGGEDCDCDCDCDCDCDCDCD" + + "CDCEEEEDDDDDDDCDCDCEFEFDDEEFFDEDEEEBDDBBDDDDDDCCCCCCCCEFED" + + "DDCDCDEEEEEEEEEEFEEEEEEDDEEDDEE"; + for (i = 0; i < b.length; ++i) { + b[i] = s.charAt(i) - 'E'; + } + SIZE = b; + + // code to generate the above string + // + // int NA = 0; // not applicable (unused opcode or variable size opcode) + // + // b = new int[] { + // 0, //NOP, // visitInsn + // 1, //ACONST_NULL, // - + // 1, //ICONST_M1, // - + // 1, //ICONST_0, // - + // 1, //ICONST_1, // - + // 1, //ICONST_2, // - + // 1, //ICONST_3, // - + // 1, //ICONST_4, // - + // 1, //ICONST_5, // - + // 2, //LCONST_0, // - + // 2, //LCONST_1, // - + // 1, //FCONST_0, // - + // 1, //FCONST_1, // - + // 1, //FCONST_2, // - + // 2, //DCONST_0, // - + // 2, //DCONST_1, // - + // 1, //BIPUSH, // visitIntInsn + // 1, //SIPUSH, // - + // 1, //LDC, // visitLdcInsn + // NA, //LDC_W, // - + // NA, //LDC2_W, // - + // 1, //ILOAD, // visitVarInsn + // 2, //LLOAD, // - + // 1, //FLOAD, // - + // 2, //DLOAD, // - + // 1, //ALOAD, // - + // NA, //ILOAD_0, // - + // NA, //ILOAD_1, // - + // NA, //ILOAD_2, // - + // NA, //ILOAD_3, // - + // NA, //LLOAD_0, // - + // NA, //LLOAD_1, // - + // NA, //LLOAD_2, // - + // NA, //LLOAD_3, // - + // NA, //FLOAD_0, // - + // NA, //FLOAD_1, // - + // NA, //FLOAD_2, // - + // NA, //FLOAD_3, // - + // NA, //DLOAD_0, // - + // NA, //DLOAD_1, // - + // NA, //DLOAD_2, // - + // NA, //DLOAD_3, // - + // NA, //ALOAD_0, // - + // NA, //ALOAD_1, // - + // NA, //ALOAD_2, // - + // NA, //ALOAD_3, // - + // -1, //IALOAD, // visitInsn + // 0, //LALOAD, // - + // -1, //FALOAD, // - + // 0, //DALOAD, // - + // -1, //AALOAD, // - + // -1, //BALOAD, // - + // -1, //CALOAD, // - + // -1, //SALOAD, // - + // -1, //ISTORE, // visitVarInsn + // -2, //LSTORE, // - + // -1, //FSTORE, // - + // -2, //DSTORE, // - + // -1, //ASTORE, // - + // NA, //ISTORE_0, // - + // NA, //ISTORE_1, // - + // NA, //ISTORE_2, // - + // NA, //ISTORE_3, // - + // NA, //LSTORE_0, // - + // NA, //LSTORE_1, // - + // NA, //LSTORE_2, // - + // NA, //LSTORE_3, // - + // NA, //FSTORE_0, // - + // NA, //FSTORE_1, // - + // NA, //FSTORE_2, // - + // NA, //FSTORE_3, // - + // NA, //DSTORE_0, // - + // NA, //DSTORE_1, // - + // NA, //DSTORE_2, // - + // NA, //DSTORE_3, // - + // NA, //ASTORE_0, // - + // NA, //ASTORE_1, // - + // NA, //ASTORE_2, // - + // NA, //ASTORE_3, // - + // -3, //IASTORE, // visitInsn + // -4, //LASTORE, // - + // -3, //FASTORE, // - + // -4, //DASTORE, // - + // -3, //AASTORE, // - + // -3, //BASTORE, // - + // -3, //CASTORE, // - + // -3, //SASTORE, // - + // -1, //POP, // - + // -2, //POP2, // - + // 1, //DUP, // - + // 1, //DUP_X1, // - + // 1, //DUP_X2, // - + // 2, //DUP2, // - + // 2, //DUP2_X1, // - + // 2, //DUP2_X2, // - + // 0, //SWAP, // - + // -1, //IADD, // - + // -2, //LADD, // - + // -1, //FADD, // - + // -2, //DADD, // - + // -1, //ISUB, // - + // -2, //LSUB, // - + // -1, //FSUB, // - + // -2, //DSUB, // - + // -1, //IMUL, // - + // -2, //LMUL, // - + // -1, //FMUL, // - + // -2, //DMUL, // - + // -1, //IDIV, // - + // -2, //LDIV, // - + // -1, //FDIV, // - + // -2, //DDIV, // - + // -1, //IREM, // - + // -2, //LREM, // - + // -1, //FREM, // - + // -2, //DREM, // - + // 0, //INEG, // - + // 0, //LNEG, // - + // 0, //FNEG, // - + // 0, //DNEG, // - + // -1, //ISHL, // - + // -1, //LSHL, // - + // -1, //ISHR, // - + // -1, //LSHR, // - + // -1, //IUSHR, // - + // -1, //LUSHR, // - + // -1, //IAND, // - + // -2, //LAND, // - + // -1, //IOR, // - + // -2, //LOR, // - + // -1, //IXOR, // - + // -2, //LXOR, // - + // 0, //IINC, // visitIincInsn + // 1, //I2L, // visitInsn + // 0, //I2F, // - + // 1, //I2D, // - + // -1, //L2I, // - + // -1, //L2F, // - + // 0, //L2D, // - + // 0, //F2I, // - + // 1, //F2L, // - + // 1, //F2D, // - + // -1, //D2I, // - + // 0, //D2L, // - + // -1, //D2F, // - + // 0, //I2B, // - + // 0, //I2C, // - + // 0, //I2S, // - + // -3, //LCMP, // - + // -1, //FCMPL, // - + // -1, //FCMPG, // - + // -3, //DCMPL, // - + // -3, //DCMPG, // - + // -1, //IFEQ, // visitJumpInsn + // -1, //IFNE, // - + // -1, //IFLT, // - + // -1, //IFGE, // - + // -1, //IFGT, // - + // -1, //IFLE, // - + // -2, //IF_ICMPEQ, // - + // -2, //IF_ICMPNE, // - + // -2, //IF_ICMPLT, // - + // -2, //IF_ICMPGE, // - + // -2, //IF_ICMPGT, // - + // -2, //IF_ICMPLE, // - + // -2, //IF_ACMPEQ, // - + // -2, //IF_ACMPNE, // - + // 0, //GOTO, // - + // 1, //JSR, // - + // 0, //RET, // visitVarInsn + // -1, //TABLESWITCH, // visiTableSwitchInsn + // -1, //LOOKUPSWITCH, // visitLookupSwitch + // -1, //IRETURN, // visitInsn + // -2, //LRETURN, // - + // -1, //FRETURN, // - + // -2, //DRETURN, // - + // -1, //ARETURN, // - + // 0, //RETURN, // - + // NA, //GETSTATIC, // visitFieldInsn + // NA, //PUTSTATIC, // - + // NA, //GETFIELD, // - + // NA, //PUTFIELD, // - + // NA, //INVOKEVIRTUAL, // visitMethodInsn + // NA, //INVOKESPECIAL, // - + // NA, //INVOKESTATIC, // - + // NA, //INVOKEINTERFACE, // - + // NA, //UNUSED, // NOT VISITED + // 1, //NEW, // visitTypeInsn + // 0, //NEWARRAY, // visitIntInsn + // 0, //ANEWARRAY, // visitTypeInsn + // 0, //ARRAYLENGTH, // visitInsn + // NA, //ATHROW, // - + // 0, //CHECKCAST, // visitTypeInsn + // 0, //INSTANCEOF, // - + // -1, //MONITORENTER, // visitInsn + // -1, //MONITOREXIT, // - + // NA, //WIDE, // NOT VISITED + // NA, //MULTIANEWARRAY, // visitMultiANewArrayInsn + // -1, //IFNULL, // visitJumpInsn + // -1, //IFNONNULL, // - + // NA, //GOTO_W, // - + // NA, //JSR_W, // - + // }; + // for (i = 0; i < b.length; ++i) { + // System.err.print((char)('E' + b[i])); + // } + // System.err.println(); + } + + // ------------------------------------------------------------------------ + // Constructor + // ------------------------------------------------------------------------ + + /** + * Constructs a new {@link MethodWriter}. + * + * @param cw the class writer in which the method must be added. + * @param access the method's access flags (see {@link Opcodes}). + * @param name the method's name. + * @param desc the method's descriptor (see {@link Type}). + * @param signature the method's signature. May be null. + * @param exceptions the internal names of the method's exceptions. May be + * null. + * @param computeMaxs true if the maximum stack size and number + * of local variables must be automatically computed. + */ + MethodWriter( + final ClassWriter cw, + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions, + final boolean computeMaxs) + { + if (cw.firstMethod == null) { + cw.firstMethod = this; + } else { + cw.lastMethod.next = this; + } + cw.lastMethod = this; + this.cw = cw; + this.access = access; + this.name = cw.newUTF8(name); + this.desc = cw.newUTF8(desc); + this.descriptor = desc; + this.signature = signature; + if (exceptions != null && exceptions.length > 0) { + exceptionCount = exceptions.length; + this.exceptions = new int[exceptionCount]; + for (int i = 0; i < exceptionCount; ++i) { + this.exceptions[i] = cw.newClass(exceptions[i]); + } + } + this.computeMaxs = computeMaxs; + if (computeMaxs) { + // updates maxLocals + int size = getArgumentsAndReturnSizes(desc) >> 2; + if ((access & Opcodes.ACC_STATIC) != 0) { + --size; + } + maxLocals = size; + // pushes the first block onto the stack of blocks to be visited + currentBlock = new Label(); + currentBlock.pushed = true; + blockStack = currentBlock; + } + } + + // ------------------------------------------------------------------------ + // Implementation of the MethodVisitor interface + // ------------------------------------------------------------------------ + + public AnnotationVisitor visitAnnotationDefault() { + annd = new ByteVector(); + return new AnnotationWriter(cw, false, annd, null, 0); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + ByteVector bv = new ByteVector(); + // write type, and reserve space for values count + bv.putShort(cw.newUTF8(desc)).putShort(0); + AnnotationWriter aw = new AnnotationWriter(cw, true, bv, bv, 2); + if (visible) { + aw.next = anns; + anns = aw; + } else { + aw.next = ianns; + ianns = aw; + } + return aw; + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + ByteVector bv = new ByteVector(); + // write type, and reserve space for values count + bv.putShort(cw.newUTF8(desc)).putShort(0); + AnnotationWriter aw = new AnnotationWriter(cw, true, bv, bv, 2); + if (visible) { + if (panns == null) { + panns = new AnnotationWriter[Type.getArgumentTypes(descriptor).length]; + } + aw.next = panns[parameter]; + panns[parameter] = aw; + } else { + if (ipanns == null) { + ipanns = new AnnotationWriter[Type.getArgumentTypes(descriptor).length]; + } + aw.next = ipanns[parameter]; + ipanns[parameter] = aw; + } + return aw; + } + + public void visitAttribute(final Attribute attr) { + if (attr.isCodeAttribute()) { + attr.next = cattrs; + cattrs = attr; + } else { + attr.next = attrs; + attrs = attr; + } + } + + public void visitCode() { + } + + public void visitInsn(final int opcode) { + if (computeMaxs) { + // updates current and max stack sizes + int size = stackSize + SIZE[opcode]; + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + // if opcode == ATHROW or xRETURN, ends current block (no successor) + if ((opcode >= Opcodes.IRETURN && opcode <= Opcodes.RETURN) + || opcode == Opcodes.ATHROW) + { + if (currentBlock != null) { + currentBlock.maxStackSize = maxStackSize; + currentBlock = null; + } + } + } + // adds the instruction to the bytecode of the method + code.putByte(opcode); + } + + public void visitIntInsn(final int opcode, final int operand) { + if (computeMaxs && opcode != Opcodes.NEWARRAY) { + // updates current and max stack sizes only if opcode == NEWARRAY + // (stack size variation = 0 for BIPUSH or SIPUSH) + int size = stackSize + 1; + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + } + // adds the instruction to the bytecode of the method + if (opcode == Opcodes.SIPUSH) { + code.put12(opcode, operand); + } else { // BIPUSH or NEWARRAY + code.put11(opcode, operand); + } + } + + public void visitVarInsn(final int opcode, final int var) { + if (computeMaxs) { + // updates current and max stack sizes + if (opcode == Opcodes.RET) { + // no stack change, but end of current block (no successor) + if (currentBlock != null) { + currentBlock.maxStackSize = maxStackSize; + currentBlock = null; + } + } else { // xLOAD or xSTORE + int size = stackSize + SIZE[opcode]; + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + } + // updates max locals + int n; + if (opcode == Opcodes.LLOAD || opcode == Opcodes.DLOAD + || opcode == Opcodes.LSTORE || opcode == Opcodes.DSTORE) + { + n = var + 2; + } else { + n = var + 1; + } + if (n > maxLocals) { + maxLocals = n; + } + } + // adds the instruction to the bytecode of the method + if (var < 4 && opcode != Opcodes.RET) { + int opt; + if (opcode < Opcodes.ISTORE) { + /* ILOAD_0 */ + opt = 26 + ((opcode - Opcodes.ILOAD) << 2) + var; + } else { + /* ISTORE_0 */ + opt = 59 + ((opcode - Opcodes.ISTORE) << 2) + var; + } + code.putByte(opt); + } else if (var >= 256) { + code.putByte(196 /* WIDE */).put12(opcode, var); + } else { + code.put11(opcode, var); + } + } + + public void visitTypeInsn(final int opcode, final String desc) { + if (computeMaxs && opcode == Opcodes.NEW) { + // updates current and max stack sizes only if opcode == NEW + // (stack size variation = 0 for ANEWARRAY, CHECKCAST, INSTANCEOF) + int size = stackSize + 1; + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + } + // adds the instruction to the bytecode of the method + code.put12(opcode, cw.newClass(desc)); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + if (computeMaxs) { + int size; + // computes the stack size variation + char c = desc.charAt(0); + switch (opcode) { + case Opcodes.GETSTATIC: + size = stackSize + (c == 'D' || c == 'J' ? 2 : 1); + break; + case Opcodes.PUTSTATIC: + size = stackSize + (c == 'D' || c == 'J' ? -2 : -1); + break; + case Opcodes.GETFIELD: + size = stackSize + (c == 'D' || c == 'J' ? 1 : 0); + break; + // case Constants.PUTFIELD: + default: + size = stackSize + (c == 'D' || c == 'J' ? -3 : -2); + break; + } + // updates current and max stack sizes + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + } + // adds the instruction to the bytecode of the method + code.put12(opcode, cw.newField(owner, name, desc)); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + boolean itf = opcode == Opcodes.INVOKEINTERFACE; + Item i = cw.newMethodItem(owner, name, desc, itf); + int argSize = i.intVal; + if (computeMaxs) { + /* + * computes the stack size variation. In order not to recompute + * several times this variation for the same Item, we use the intVal + * field of this item to store this variation, once it has been + * computed. More precisely this intVal field stores the sizes of + * the arguments and of the return value corresponding to desc. + */ + if (argSize == 0) { + // the above sizes have not been computed yet, so we compute + // them... + argSize = getArgumentsAndReturnSizes(desc); + // ... and we save them in order not to recompute them in the + // future + i.intVal = argSize; + } + int size; + if (opcode == Opcodes.INVOKESTATIC) { + size = stackSize - (argSize >> 2) + (argSize & 0x03) + 1; + } else { + size = stackSize - (argSize >> 2) + (argSize & 0x03); + } + // updates current and max stack sizes + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + } + // adds the instruction to the bytecode of the method + if (itf) { + if (!computeMaxs) { + if (argSize == 0) { + argSize = getArgumentsAndReturnSizes(desc); + i.intVal = argSize; + } + } + code.put12(Opcodes.INVOKEINTERFACE, i.index).put11(argSize >> 2, 0); + } else { + code.put12(opcode, i.index); + } + } + + public void visitJumpInsn(final int opcode, final Label label) { + if (computeMaxs) { + if (opcode == Opcodes.GOTO) { + // no stack change, but end of current block (with one new + // successor) + if (currentBlock != null) { + currentBlock.maxStackSize = maxStackSize; + addSuccessor(stackSize, label); + currentBlock = null; + } + } else if (opcode == Opcodes.JSR) { + if (currentBlock != null) { + addSuccessor(stackSize + 1, label); + } + } else { + // updates current stack size (max stack size unchanged because + // stack size variation always negative in this case) + stackSize += SIZE[opcode]; + if (currentBlock != null) { + addSuccessor(stackSize, label); + } + } + } + // adds the instruction to the bytecode of the method + if (label.resolved && label.position - code.length < Short.MIN_VALUE) { + /* + * case of a backward jump with an offset < -32768. In this case we + * automatically replace GOTO with GOTO_W, JSR with JSR_W and IFxxx + * with IFNOTxxx GOTO_W , where IFNOTxxx is the + * "opposite" opcode of IFxxx (i.e., IFNE for IFEQ) and where + * designates the instruction just after the GOTO_W. + */ + if (opcode == Opcodes.GOTO) { + code.putByte(200); // GOTO_W + } else if (opcode == Opcodes.JSR) { + code.putByte(201); // JSR_W + } else { + code.putByte(opcode <= 166 + ? ((opcode + 1) ^ 1) - 1 + : opcode ^ 1); + code.putShort(8); // jump offset + code.putByte(200); // GOTO_W + } + label.put(this, code, code.length - 1, true); + } else { + /* + * case of a backward jump with an offset >= -32768, or of a forward + * jump with, of course, an unknown offset. In these cases we store + * the offset in 2 bytes (which will be increased in + * resizeInstructions, if needed). + */ + code.putByte(opcode); + label.put(this, code, code.length - 1, false); + } + } + + public void visitLabel(final Label label) { + if (computeMaxs) { + if (currentBlock != null) { + // ends current block (with one new successor) + currentBlock.maxStackSize = maxStackSize; + addSuccessor(stackSize, label); + } + // begins a new current block, + // resets the relative current and max stack sizes + currentBlock = label; + stackSize = 0; + maxStackSize = 0; + } + // resolves previous forward references to label, if any + resize |= label.resolve(this, code.length, code.data); + } + + public void visitLdcInsn(final Object cst) { + Item i = cw.newConstItem(cst); + if (computeMaxs) { + int size; + // computes the stack size variation + if (i.type == ClassWriter.LONG || i.type == ClassWriter.DOUBLE) { + size = stackSize + 2; + } else { + size = stackSize + 1; + } + // updates current and max stack sizes + if (size > maxStackSize) { + maxStackSize = size; + } + stackSize = size; + } + // adds the instruction to the bytecode of the method + int index = i.index; + if (i.type == ClassWriter.LONG || i.type == ClassWriter.DOUBLE) { + code.put12(20 /* LDC2_W */, index); + } else if (index >= 256) { + code.put12(19 /* LDC_W */, index); + } else { + code.put11(Opcodes.LDC, index); + } + } + + public void visitIincInsn(final int var, final int increment) { + if (computeMaxs) { + // updates max locals only (no stack change) + int n = var + 1; + if (n > maxLocals) { + maxLocals = n; + } + } + // adds the instruction to the bytecode of the method + if ((var > 255) || (increment > 127) || (increment < -128)) { + code.putByte(196 /* WIDE */) + .put12(Opcodes.IINC, var) + .putShort(increment); + } else { + code.putByte(Opcodes.IINC).put11(var, increment); + } + } + + public void visitTableSwitchInsn( + final int min, + final int max, + final Label dflt, + final Label labels[]) + { + if (computeMaxs) { + // updates current stack size (max stack size unchanged) + --stackSize; + // ends current block (with many new successors) + if (currentBlock != null) { + currentBlock.maxStackSize = maxStackSize; + addSuccessor(stackSize, dflt); + for (int i = 0; i < labels.length; ++i) { + addSuccessor(stackSize, labels[i]); + } + currentBlock = null; + } + } + // adds the instruction to the bytecode of the method + int source = code.length; + code.putByte(Opcodes.TABLESWITCH); + while (code.length % 4 != 0) { + code.putByte(0); + } + dflt.put(this, code, source, true); + code.putInt(min).putInt(max); + for (int i = 0; i < labels.length; ++i) { + labels[i].put(this, code, source, true); + } + } + + public void visitLookupSwitchInsn( + final Label dflt, + final int keys[], + final Label labels[]) + { + if (computeMaxs) { + // updates current stack size (max stack size unchanged) + --stackSize; + // ends current block (with many new successors) + if (currentBlock != null) { + currentBlock.maxStackSize = maxStackSize; + addSuccessor(stackSize, dflt); + for (int i = 0; i < labels.length; ++i) { + addSuccessor(stackSize, labels[i]); + } + currentBlock = null; + } + } + // adds the instruction to the bytecode of the method + int source = code.length; + code.putByte(Opcodes.LOOKUPSWITCH); + while (code.length % 4 != 0) { + code.putByte(0); + } + dflt.put(this, code, source, true); + code.putInt(labels.length); + for (int i = 0; i < labels.length; ++i) { + code.putInt(keys[i]); + labels[i].put(this, code, source, true); + } + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + if (computeMaxs) { + // updates current stack size (max stack size unchanged because + // stack size variation always negative or null) + stackSize += 1 - dims; + } + // adds the instruction to the bytecode of the method + code.put12(Opcodes.MULTIANEWARRAY, cw.newClass(desc)).putByte(dims); + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + if (computeMaxs) { + // pushes handler block onto the stack of blocks to be visited + if (!handler.pushed) { + handler.beginStackSize = 1; + handler.pushed = true; + handler.next = blockStack; + blockStack = handler; + } + } + ++catchCount; + Handler h = new Handler(); + h.start = start; + h.end = end; + h.handler = handler; + h.desc = type; + h.type = type != null ? cw.newClass(type) : 0; + if (lastHandler == null) { + catchTable = h; + } else { + lastHandler.next = h; + } + lastHandler = h; + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + if (signature != null) { + if (localVarType == null) { + localVarType = new ByteVector(); + } + ++localVarTypeCount; + localVarType.putShort(start.position) + .putShort(end.position - start.position) + .putShort(cw.newUTF8(name)) + .putShort(cw.newUTF8(signature)) + .putShort(index); + } + if (localVar == null) { + localVar = new ByteVector(); + } + ++localVarCount; + localVar.putShort(start.position) + .putShort(end.position - start.position) + .putShort(cw.newUTF8(name)) + .putShort(cw.newUTF8(desc)) + .putShort(index); + + if(computeMaxs) { + // updates max locals + char c = desc.charAt(0); + int n = index + ( c=='L' || c=='D' ? 2 : 1); + if (n > maxLocals) { + maxLocals = n; + } + } + } + + public void visitLineNumber(final int line, final Label start) { + if (lineNumber == null) { + lineNumber = new ByteVector(); + } + ++lineNumberCount; + lineNumber.putShort(start.position); + lineNumber.putShort(line); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + if (computeMaxs) { + // true (non relative) max stack size + int max = 0; + /* + * control flow analysis algorithm: while the block stack is not + * empty, pop a block from this stack, update the max stack size, + * compute the true (non relative) begin stack size of the + * successors of this block, and push these successors onto the + * stack (unless they have already been pushed onto the stack). + * Note: by hypothesis, the {@link Label#beginStackSize} of the + * blocks in the block stack are the true (non relative) beginning + * stack sizes of these blocks. + */ + Label stack = blockStack; + while (stack != null) { + // pops a block from the stack + Label l = stack; + stack = stack.next; + // computes the true (non relative) max stack size of this block + int start = l.beginStackSize; + int blockMax = start + l.maxStackSize; + // updates the global max stack size + if (blockMax > max) { + max = blockMax; + } + // analyses the successors of the block + Edge b = l.successors; + while (b != null) { + l = b.successor; + // if this successor has not already been pushed onto the + // stack... + if (!l.pushed) { + // computes the true beginning stack size of this + // successor block + l.beginStackSize = start + b.stackSize; + // pushes this successor onto the stack + l.pushed = true; + l.next = stack; + stack = l; + } + b = b.next; + } + } + this.maxStack = max; + } else { + this.maxStack = maxStack; + this.maxLocals = maxLocals; + } + } + + public void visitEnd() { + } + + // ------------------------------------------------------------------------ + // Utility methods: control flow analysis algorithm + // ------------------------------------------------------------------------ + + /** + * Computes the size of the arguments and of the return value of a method. + * + * @param desc the descriptor of a method. + * @return the size of the arguments of the method (plus one for the + * implicit this argument), argSize, and the size of its return + * value, retSize, packed into a single int i = + * (argSize << 2) | retSize (argSize is therefore equal + * to i >> 2, and retSize to i & 0x03). + */ + private static int getArgumentsAndReturnSizes(final String desc) { + int n = 1; + int c = 1; + while (true) { + char car = desc.charAt(c++); + if (car == ')') { + car = desc.charAt(c); + return n << 2 + | (car == 'V' ? 0 : (car == 'D' || car == 'J' ? 2 : 1)); + } else if (car == 'L') { + while (desc.charAt(c++) != ';') { + } + n += 1; + } else if (car == '[') { + while ((car = desc.charAt(c)) == '[') { + ++c; + } + if (car == 'D' || car == 'J') { + n -= 1; + } + } else if (car == 'D' || car == 'J') { + n += 2; + } else { + n += 1; + } + } + } + + /** + * Adds a successor to the {@link #currentBlock currentBlock} block. + * + * @param stackSize the current (relative) stack size in the current block. + * @param successor the successor block to be added to the current block. + */ + private void addSuccessor(final int stackSize, final Label successor) { + Edge b = new Edge(); + // initializes the previous Edge object... + b.stackSize = stackSize; + b.successor = successor; + // ...and adds it to the successor list of the currentBlock block + b.next = currentBlock.successors; + currentBlock.successors = b; + } + + // ------------------------------------------------------------------------ + // Utility methods: dump bytecode array + // ------------------------------------------------------------------------ + + /** + * Returns the size of the bytecode of this method. + * + * @return the size of the bytecode of this method. + */ + final int getSize() { + if (classReaderOffset != 0) { + return 6 + classReaderLength; + } + if (resize) { + // replaces the temporary jump opcodes introduced by Label.resolve. + resizeInstructions(new int[0], new int[0], 0); + } + int size = 8; + if (code.length > 0) { + cw.newUTF8("Code"); + size += 18 + code.length + 8 * catchCount; + if (localVar != null) { + cw.newUTF8("LocalVariableTable"); + size += 8 + localVar.length; + } + if (localVarType != null) { + cw.newUTF8("LocalVariableTypeTable"); + size += 8 + localVarType.length; + } + if (lineNumber != null) { + cw.newUTF8("LineNumberTable"); + size += 8 + lineNumber.length; + } + if (cattrs != null) { + size += cattrs.getSize(cw, + code.data, + code.length, + maxStack, + maxLocals); + } + } + if (exceptionCount > 0) { + cw.newUTF8("Exceptions"); + size += 8 + 2 * exceptionCount; + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (cw.version & 0xffff) < Opcodes.V1_5) + { + cw.newUTF8("Synthetic"); + size += 6; + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + cw.newUTF8("Deprecated"); + size += 6; + } + if (cw.version == Opcodes.V1_4) { + if ((access & Opcodes.ACC_VARARGS) != 0) { + cw.newUTF8("Varargs"); + size += 6; + } + if ((access & Opcodes.ACC_BRIDGE) != 0) { + cw.newUTF8("Bridge"); + size += 6; + } + } + if (signature != null) { + cw.newUTF8("Signature"); + cw.newUTF8(signature); + size += 8; + } + if (annd != null) { + cw.newUTF8("AnnotationDefault"); + size += 6 + annd.length; + } + if (anns != null) { + cw.newUTF8("RuntimeVisibleAnnotations"); + size += 8 + anns.getSize(); + } + if (ianns != null) { + cw.newUTF8("RuntimeInvisibleAnnotations"); + size += 8 + ianns.getSize(); + } + if (panns != null) { + cw.newUTF8("RuntimeVisibleParameterAnnotations"); + size += 7 + 2 * panns.length; + for (int i = panns.length - 1; i >= 0; --i) { + size += panns[i] == null ? 0 : panns[i].getSize(); + } + } + if (ipanns != null) { + cw.newUTF8("RuntimeInvisibleParameterAnnotations"); + size += 7 + 2 * ipanns.length; + for (int i = ipanns.length - 1; i >= 0; --i) { + size += ipanns[i] == null ? 0 : ipanns[i].getSize(); + } + } + if (attrs != null) { + size += attrs.getSize(cw, null, 0, -1, -1); + } + return size; + } + + /** + * Puts the bytecode of this method in the given byte vector. + * + * @param out the byte vector into which the bytecode of this method must be + * copied. + */ + final void put(final ByteVector out) { + out.putShort(access).putShort(name).putShort(desc); + if (classReaderOffset != 0) { + out.putByteArray(cw.cr.b, classReaderOffset, classReaderLength); + return; + } + int attributeCount = 0; + if (code.length > 0) { + ++attributeCount; + } + if (exceptionCount > 0) { + ++attributeCount; + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (cw.version & 0xffff) < Opcodes.V1_5) + { + ++attributeCount; + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + ++attributeCount; + } + if (cw.version == Opcodes.V1_4) { + if ((access & Opcodes.ACC_VARARGS) != 0) { + ++attributeCount; + } + if ((access & Opcodes.ACC_BRIDGE) != 0) { + ++attributeCount; + } + } + if (signature != null) { + ++attributeCount; + } + if (annd != null) { + ++attributeCount; + } + if (anns != null) { + ++attributeCount; + } + if (ianns != null) { + ++attributeCount; + } + if (panns != null) { + ++attributeCount; + } + if (ipanns != null) { + ++attributeCount; + } + if (attrs != null) { + attributeCount += attrs.getCount(); + } + out.putShort(attributeCount); + if (code.length > 0) { + int size = 12 + code.length + 8 * catchCount; + if (localVar != null) { + size += 8 + localVar.length; + } + if (localVarType != null) { + size += 8 + localVarType.length; + } + if (lineNumber != null) { + size += 8 + lineNumber.length; + } + if (cattrs != null) { + size += cattrs.getSize(cw, + code.data, + code.length, + maxStack, + maxLocals); + } + out.putShort(cw.newUTF8("Code")).putInt(size); + out.putShort(maxStack).putShort(maxLocals); + out.putInt(code.length).putByteArray(code.data, 0, code.length); + out.putShort(catchCount); + if (catchCount > 0) { + Handler h = catchTable; + while (h != null) { + out.putShort(h.start.position) + .putShort(h.end.position) + .putShort(h.handler.position) + .putShort(h.type); + h = h.next; + } + } + attributeCount = 0; + if (localVar != null) { + ++attributeCount; + } + if (localVarType != null) { + ++attributeCount; + } + if (lineNumber != null) { + ++attributeCount; + } + if (cattrs != null) { + attributeCount += cattrs.getCount(); + } + out.putShort(attributeCount); + if (localVar != null) { + out.putShort(cw.newUTF8("LocalVariableTable")); + out.putInt(localVar.length + 2).putShort(localVarCount); + out.putByteArray(localVar.data, 0, localVar.length); + } + if (localVarType != null) { + out.putShort(cw.newUTF8("LocalVariableTypeTable")); + out.putInt(localVarType.length + 2).putShort(localVarTypeCount); + out.putByteArray(localVarType.data, 0, localVarType.length); + } + if (lineNumber != null) { + out.putShort(cw.newUTF8("LineNumberTable")); + out.putInt(lineNumber.length + 2).putShort(lineNumberCount); + out.putByteArray(lineNumber.data, 0, lineNumber.length); + } + if (cattrs != null) { + cattrs.put(cw, code.data, code.length, maxLocals, maxStack, out); + } + } + if (exceptionCount > 0) { + out.putShort(cw.newUTF8("Exceptions")) + .putInt(2 * exceptionCount + 2); + out.putShort(exceptionCount); + for (int i = 0; i < exceptionCount; ++i) { + out.putShort(exceptions[i]); + } + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0 + && (cw.version & 0xffff) < Opcodes.V1_5) + { + out.putShort(cw.newUTF8("Synthetic")).putInt(0); + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + out.putShort(cw.newUTF8("Deprecated")).putInt(0); + } + if (cw.version == Opcodes.V1_4) { + if ((access & Opcodes.ACC_VARARGS) != 0) { + out.putShort(cw.newUTF8("Varargs")).putInt(0); + } + if ((access & Opcodes.ACC_BRIDGE) != 0) { + out.putShort(cw.newUTF8("Bridge")).putInt(0); + } + } + if (signature != null) { + out.putShort(cw.newUTF8("Signature")) + .putInt(2) + .putShort(cw.newUTF8(signature)); + } + if (annd != null) { + out.putShort(cw.newUTF8("AnnotationDefault")); + out.putInt(annd.length); + out.putByteArray(annd.data, 0, annd.length); + } + if (anns != null) { + out.putShort(cw.newUTF8("RuntimeVisibleAnnotations")); + anns.put(out); + } + if (ianns != null) { + out.putShort(cw.newUTF8("RuntimeInvisibleAnnotations")); + ianns.put(out); + } + if (panns != null) { + out.putShort(cw.newUTF8("RuntimeVisibleParameterAnnotations")); + AnnotationWriter.put(panns, out); + } + if (ipanns != null) { + out.putShort(cw.newUTF8("RuntimeInvisibleParameterAnnotations")); + AnnotationWriter.put(ipanns, out); + } + if (attrs != null) { + attrs.put(cw, null, 0, -1, -1, out); + } + } + + // ------------------------------------------------------------------------ + // Utility methods: instruction resizing (used to handle GOTO_W and JSR_W) + // ------------------------------------------------------------------------ + + /** + * Resizes the designated instructions, while keeping jump offsets and + * instruction addresses consistent. This may require to resize other + * existing instructions, or even to introduce new instructions: for + * example, increasing the size of an instruction by 2 at the middle of a + * method can increases the offset of an IFEQ instruction from 32766 to + * 32768, in which case IFEQ 32766 must be replaced with IFNEQ 8 GOTO_W + * 32765. This, in turn, may require to increase the size of another jump + * instruction, and so on... All these operations are handled automatically + * by this method.

      This method must be called after all the method + * that is being built has been visited. In particular, the + * {@link Label Label} objects used to construct the method are no longer + * valid after this method has been called. + * + * @param indexes current positions of the instructions to be resized. Each + * instruction must be designated by the index of its last + * byte, plus one (or, in other words, by the index of the first + * byte of the next instruction). + * @param sizes the number of bytes to be added to the above + * instructions. More precisely, for each i < len, + * sizes[i] bytes will be added at the end of the + * instruction designated by indexes[i] or, if + * sizes[i] is negative, the last |sizes[i]| + * bytes of the instruction will be removed (the instruction size + * must not become negative or null). The gaps introduced by + * this method must be filled in "manually" in {@link #code code} + * method. + * @param len the number of instruction to be resized. Must be smaller than + * or equal to indexes.length and sizes.length. + * @return the indexes array, which now contains the new + * positions of the resized instructions (designated as above). + */ + private int[] resizeInstructions( + final int[] indexes, + final int[] sizes, + final int len) + { + byte[] b = code.data; // bytecode of the method + int u, v, label; // indexes in b + int i, j; // loop indexes + + /* + * 1st step: As explained above, resizing an instruction may require to + * resize another one, which may require to resize yet another one, and + * so on. The first step of the algorithm consists in finding all the + * instructions that need to be resized, without modifying the code. + * This is done by the following "fix point" algorithm: + * + * Parse the code to find the jump instructions whose offset will need + * more than 2 bytes to be stored (the future offset is computed from + * the current offset and from the number of bytes that will be inserted + * or removed between the source and target instructions). For each such + * instruction, adds an entry in (a copy of) the indexes and sizes + * arrays (if this has not already been done in a previous iteration!). + * + * If at least one entry has been added during the previous step, go + * back to the beginning, otherwise stop. + * + * In fact the real algorithm is complicated by the fact that the size + * of TABLESWITCH and LOOKUPSWITCH instructions depends on their + * position in the bytecode (because of padding). In order to ensure the + * convergence of the algorithm, the number of bytes to be added or + * removed from these instructions is over estimated during the previous + * loop, and computed exactly only after the loop is finished (this + * requires another pass to parse the bytecode of the method). + */ + int[] allIndexes = new int[len]; // copy of indexes + int[] allSizes = new int[len]; // copy of sizes + boolean[] resize; // instructions to be resized + int newOffset; // future offset of a jump instruction + + System.arraycopy(indexes, 0, allIndexes, 0, len); + System.arraycopy(sizes, 0, allSizes, 0, len); + resize = new boolean[code.length]; + + // 3 = loop again, 2 = loop ended, 1 = last pass, 0 = done + int state = 3; + do { + if (state == 3) { + state = 2; + } + u = 0; + while (u < b.length) { + int opcode = b[u] & 0xFF; // opcode of current instruction + int insert = 0; // bytes to be added after this instruction + + switch (ClassWriter.TYPE[opcode]) { + case ClassWriter.NOARG_INSN: + case ClassWriter.IMPLVAR_INSN: + u += 1; + break; + case ClassWriter.LABEL_INSN: + if (opcode > 201) { + // converts temporary opcodes 202 to 217, 218 and + // 219 to IFEQ ... JSR (inclusive), IFNULL and + // IFNONNULL + opcode = opcode < 218 ? opcode - 49 : opcode - 20; + label = u + readUnsignedShort(b, u + 1); + } else { + label = u + readShort(b, u + 1); + } + newOffset = getNewOffset(allIndexes, allSizes, u, label); + if (newOffset < Short.MIN_VALUE + || newOffset > Short.MAX_VALUE) + { + if (!resize[u]) { + if (opcode == Opcodes.GOTO + || opcode == Opcodes.JSR) + { + // two additional bytes will be required to + // replace this GOTO or JSR instruction with + // a GOTO_W or a JSR_W + insert = 2; + } else { + // five additional bytes will be required to + // replace this IFxxx instruction with + // IFNOTxxx GOTO_W , where IFNOTxxx + // is the "opposite" opcode of IFxxx (i.e., + // IFNE for IFEQ) and where designates + // the instruction just after the GOTO_W. + insert = 5; + } + resize[u] = true; + } + } + u += 3; + break; + case ClassWriter.LABELW_INSN: + u += 5; + break; + case ClassWriter.TABL_INSN: + if (state == 1) { + // true number of bytes to be added (or removed) + // from this instruction = (future number of padding + // bytes - current number of padding byte) - + // previously over estimated variation = + // = ((3 - newOffset%4) - (3 - u%4)) - u%4 + // = (-newOffset%4 + u%4) - u%4 + // = -(newOffset & 3) + newOffset = getNewOffset(allIndexes, allSizes, 0, u); + insert = -(newOffset & 3); + } else if (!resize[u]) { + // over estimation of the number of bytes to be + // added to this instruction = 3 - current number + // of padding bytes = 3 - (3 - u%4) = u%4 = u & 3 + insert = u & 3; + resize[u] = true; + } + // skips instruction + u = u + 4 - (u & 3); + u += 4 * (readInt(b, u + 8) - readInt(b, u + 4) + 1) + 12; + break; + case ClassWriter.LOOK_INSN: + if (state == 1) { + // like TABL_INSN + newOffset = getNewOffset(allIndexes, allSizes, 0, u); + insert = -(newOffset & 3); + } else if (!resize[u]) { + // like TABL_INSN + insert = u & 3; + resize[u] = true; + } + // skips instruction + u = u + 4 - (u & 3); + u += 8 * readInt(b, u + 4) + 8; + break; + case ClassWriter.WIDE_INSN: + opcode = b[u + 1] & 0xFF; + if (opcode == Opcodes.IINC) { + u += 6; + } else { + u += 4; + } + break; + case ClassWriter.VAR_INSN: + case ClassWriter.SBYTE_INSN: + case ClassWriter.LDC_INSN: + u += 2; + break; + case ClassWriter.SHORT_INSN: + case ClassWriter.LDCW_INSN: + case ClassWriter.FIELDORMETH_INSN: + case ClassWriter.TYPE_INSN: + case ClassWriter.IINC_INSN: + u += 3; + break; + case ClassWriter.ITFMETH_INSN: + u += 5; + break; + // case ClassWriter.MANA_INSN: + default: + u += 4; + break; + } + if (insert != 0) { + // adds a new (u, insert) entry in the allIndexes and + // allSizes arrays + int[] newIndexes = new int[allIndexes.length + 1]; + int[] newSizes = new int[allSizes.length + 1]; + System.arraycopy(allIndexes, + 0, + newIndexes, + 0, + allIndexes.length); + System.arraycopy(allSizes, 0, newSizes, 0, allSizes.length); + newIndexes[allIndexes.length] = u; + newSizes[allSizes.length] = insert; + allIndexes = newIndexes; + allSizes = newSizes; + if (insert > 0) { + state = 3; + } + } + } + if (state < 3) { + --state; + } + } while (state != 0); + + // 2nd step: + // copies the bytecode of the method into a new bytevector, updates the + // offsets, and inserts (or removes) bytes as requested. + + ByteVector newCode = new ByteVector(code.length); + + u = 0; + while (u < code.length) { + for (i = allIndexes.length - 1; i >= 0; --i) { + if (allIndexes[i] == u) { + if (i < len) { + if (sizes[i] > 0) { + newCode.putByteArray(null, 0, sizes[i]); + } else { + newCode.length += sizes[i]; + } + indexes[i] = newCode.length; + } + } + } + int opcode = b[u] & 0xFF; + switch (ClassWriter.TYPE[opcode]) { + case ClassWriter.NOARG_INSN: + case ClassWriter.IMPLVAR_INSN: + newCode.putByte(opcode); + u += 1; + break; + case ClassWriter.LABEL_INSN: + if (opcode > 201) { + // changes temporary opcodes 202 to 217 (inclusive), 218 + // and 219 to IFEQ ... JSR (inclusive), IFNULL and + // IFNONNULL + opcode = opcode < 218 ? opcode - 49 : opcode - 20; + label = u + readUnsignedShort(b, u + 1); + } else { + label = u + readShort(b, u + 1); + } + newOffset = getNewOffset(allIndexes, allSizes, u, label); + if (resize[u]) { + // replaces GOTO with GOTO_W, JSR with JSR_W and IFxxx + // with IFNOTxxx GOTO_W , where IFNOTxxx is + // the "opposite" opcode of IFxxx (i.e., IFNE for IFEQ) + // and where designates the instruction just after + // the GOTO_W. + if (opcode == Opcodes.GOTO) { + newCode.putByte(200); // GOTO_W + } else if (opcode == Opcodes.JSR) { + newCode.putByte(201); // JSR_W + } else { + newCode.putByte(opcode <= 166 + ? ((opcode + 1) ^ 1) - 1 + : opcode ^ 1); + newCode.putShort(8); // jump offset + newCode.putByte(200); // GOTO_W + // newOffset now computed from start of GOTO_W + newOffset -= 3; + } + newCode.putInt(newOffset); + } else { + newCode.putByte(opcode); + newCode.putShort(newOffset); + } + u += 3; + break; + case ClassWriter.LABELW_INSN: + label = u + readInt(b, u + 1); + newOffset = getNewOffset(allIndexes, allSizes, u, label); + newCode.putByte(opcode); + newCode.putInt(newOffset); + u += 5; + break; + case ClassWriter.TABL_INSN: + // skips 0 to 3 padding bytes + v = u; + u = u + 4 - (v & 3); + // reads and copies instruction + newCode.putByte(Opcodes.TABLESWITCH); + while (newCode.length % 4 != 0) { + newCode.putByte(0); + } + label = v + readInt(b, u); + u += 4; + newOffset = getNewOffset(allIndexes, allSizes, v, label); + newCode.putInt(newOffset); + j = readInt(b, u); + u += 4; + newCode.putInt(j); + j = readInt(b, u) - j + 1; + u += 4; + newCode.putInt(readInt(b, u - 4)); + for (; j > 0; --j) { + label = v + readInt(b, u); + u += 4; + newOffset = getNewOffset(allIndexes, allSizes, v, label); + newCode.putInt(newOffset); + } + break; + case ClassWriter.LOOK_INSN: + // skips 0 to 3 padding bytes + v = u; + u = u + 4 - (v & 3); + // reads and copies instruction + newCode.putByte(Opcodes.LOOKUPSWITCH); + while (newCode.length % 4 != 0) { + newCode.putByte(0); + } + label = v + readInt(b, u); + u += 4; + newOffset = getNewOffset(allIndexes, allSizes, v, label); + newCode.putInt(newOffset); + j = readInt(b, u); + u += 4; + newCode.putInt(j); + for (; j > 0; --j) { + newCode.putInt(readInt(b, u)); + u += 4; + label = v + readInt(b, u); + u += 4; + newOffset = getNewOffset(allIndexes, allSizes, v, label); + newCode.putInt(newOffset); + } + break; + case ClassWriter.WIDE_INSN: + opcode = b[u + 1] & 0xFF; + if (opcode == Opcodes.IINC) { + newCode.putByteArray(b, u, 6); + u += 6; + } else { + newCode.putByteArray(b, u, 4); + u += 4; + } + break; + case ClassWriter.VAR_INSN: + case ClassWriter.SBYTE_INSN: + case ClassWriter.LDC_INSN: + newCode.putByteArray(b, u, 2); + u += 2; + break; + case ClassWriter.SHORT_INSN: + case ClassWriter.LDCW_INSN: + case ClassWriter.FIELDORMETH_INSN: + case ClassWriter.TYPE_INSN: + case ClassWriter.IINC_INSN: + newCode.putByteArray(b, u, 3); + u += 3; + break; + case ClassWriter.ITFMETH_INSN: + newCode.putByteArray(b, u, 5); + u += 5; + break; + // case MANA_INSN: + default: + newCode.putByteArray(b, u, 4); + u += 4; + break; + } + } + + // updates the exception handler block labels + Handler h = catchTable; + while (h != null) { + getNewOffset(allIndexes, allSizes, h.start); + getNewOffset(allIndexes, allSizes, h.end); + getNewOffset(allIndexes, allSizes, h.handler); + h = h.next; + } + for (i = 0; i < 2; ++i) { + ByteVector bv = i == 0 ? localVar : localVarType; + if (bv != null) { + b = bv.data; + u = 0; + while (u < bv.length) { + label = readUnsignedShort(b, u); + newOffset = getNewOffset(allIndexes, allSizes, 0, label); + writeShort(b, u, newOffset); + label += readUnsignedShort(b, u + 2); + newOffset = getNewOffset(allIndexes, allSizes, 0, label) + - newOffset; + writeShort(b, u + 2, newOffset); + u += 10; + } + } + } + if (lineNumber != null) { + b = lineNumber.data; + u = 0; + while (u < lineNumber.length) { + writeShort(b, u, getNewOffset(allIndexes, + allSizes, + 0, + readUnsignedShort(b, u))); + u += 4; + } + } + // updates the labels of the other attributes + while (cattrs != null) { + Label[] labels = cattrs.getLabels(); + if (labels != null) { + for (i = labels.length - 1; i >= 0; --i) { + if (!labels[i].resized) { + labels[i].position = getNewOffset(allIndexes, + allSizes, + 0, + labels[i].position); + labels[i].resized = true; + } + } + } + } + + // replaces old bytecodes with new ones + code = newCode; + + // returns the positions of the resized instructions + return indexes; + } + + /** + * Reads an unsigned short value in the given byte array. + * + * @param b a byte array. + * @param index the start index of the value to be read. + * @return the read value. + */ + static int readUnsignedShort(final byte[] b, final int index) { + return ((b[index] & 0xFF) << 8) | (b[index + 1] & 0xFF); + } + + /** + * Reads a signed short value in the given byte array. + * + * @param b a byte array. + * @param index the start index of the value to be read. + * @return the read value. + */ + static short readShort(final byte[] b, final int index) { + return (short) (((b[index] & 0xFF) << 8) | (b[index + 1] & 0xFF)); + } + + /** + * Reads a signed int value in the given byte array. + * + * @param b a byte array. + * @param index the start index of the value to be read. + * @return the read value. + */ + static int readInt(final byte[] b, final int index) { + return ((b[index] & 0xFF) << 24) | ((b[index + 1] & 0xFF) << 16) + | ((b[index + 2] & 0xFF) << 8) | (b[index + 3] & 0xFF); + } + + /** + * Writes a short value in the given byte array. + * + * @param b a byte array. + * @param index where the first byte of the short value must be written. + * @param s the value to be written in the given byte array. + */ + static void writeShort(final byte[] b, final int index, final int s) { + b[index] = (byte) (s >>> 8); + b[index + 1] = (byte) s; + } + + /** + * Computes the future value of a bytecode offset.

      Note: it is possible + * to have several entries for the same instruction in the indexes + * and sizes: two entries (index=a,size=b) and (index=a,size=b') + * are equivalent to a single entry (index=a,size=b+b'). + * + * @param indexes current positions of the instructions to be resized. Each + * instruction must be designated by the index of its last + * byte, plus one (or, in other words, by the index of the first + * byte of the next instruction). + * @param sizes the number of bytes to be added to the above + * instructions. More precisely, for each i < len, + * sizes[i] bytes will be added at the end of the + * instruction designated by indexes[i] or, if + * sizes[i] is negative, the last |sizes[i]| + * bytes of the instruction will be removed (the instruction size + * must not become negative or null). + * @param begin index of the first byte of the source instruction. + * @param end index of the first byte of the target instruction. + * @return the future value of the given bytecode offset. + */ + static int getNewOffset( + final int[] indexes, + final int[] sizes, + final int begin, + final int end) + { + int offset = end - begin; + for (int i = 0; i < indexes.length; ++i) { + if (begin < indexes[i] && indexes[i] <= end) { + // forward jump + offset += sizes[i]; + } else if (end < indexes[i] && indexes[i] <= begin) { + // backward jump + offset -= sizes[i]; + } + } + return offset; + } + + /** + * Updates the offset of the given label. + * + * @param indexes current positions of the instructions to be resized. Each + * instruction must be designated by the index of its last + * byte, plus one (or, in other words, by the index of the first + * byte of the next instruction). + * @param sizes the number of bytes to be added to the above + * instructions. More precisely, for each i < len, + * sizes[i] bytes will be added at the end of the + * instruction designated by indexes[i] or, if + * sizes[i] is negative, the last |sizes[i]| + * bytes of the instruction will be removed (the instruction size + * must not become negative or null). + * @param label the label whose offset must be updated. + */ + static void getNewOffset( + final int[] indexes, + final int[] sizes, + final Label label) + { + if (!label.resized) { + label.position = getNewOffset(indexes, sizes, 0, label.position); + label.resized = true; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Opcodes.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Opcodes.java new file mode 100644 index 00000000000..94359a3c22d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Opcodes.java @@ -0,0 +1,295 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +/** + * Defines the JVM opcodes, access flags and array type codes. This interface + * does not define all the JVM opcodes because some opcodes are automatically + * handled. For example, the xLOAD and xSTORE opcodes are automatically replaced + * by xLOAD_n and xSTORE_n opcodes when possible. The xLOAD_n and xSTORE_n + * opcodes are therefore not defined in this interface. Likewise for LDC, + * automatically replaced by LDC_W or LDC2_W when necessary, WIDE, GOTO_W and + * JSR_W. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public interface Opcodes { + + // versions + + int V1_1 = 3 << 16 | 45; + int V1_2 = 0 << 16 | 46; + int V1_3 = 0 << 16 | 47; + int V1_4 = 0 << 16 | 48; + int V1_5 = 0 << 16 | 49; + int V1_6 = 0 << 16 | 50; + + // access flags + + int ACC_PUBLIC = 0x0001; // class, field, method + int ACC_PRIVATE = 0x0002; // class, field, method + int ACC_PROTECTED = 0x0004; // class, field, method + int ACC_STATIC = 0x0008; // field, method + int ACC_FINAL = 0x0010; // class, field, method + int ACC_SUPER = 0x0020; // class + int ACC_SYNCHRONIZED = 0x0020; // method + int ACC_VOLATILE = 0x0040; // field + int ACC_BRIDGE = 0x0040; // method + int ACC_VARARGS = 0x0080; // method + int ACC_TRANSIENT = 0x0080; // field + int ACC_NATIVE = 0x0100; // method + int ACC_INTERFACE = 0x0200; // class + int ACC_ABSTRACT = 0x0400; // class, method + int ACC_STRICT = 0x0800; // method + int ACC_SYNTHETIC = 0x1000; // class, field, method + int ACC_ANNOTATION = 0x2000; // class + int ACC_ENUM = 0x4000; // class(?) field inner + + // ASM specific pseudo access flags + + int ACC_DEPRECATED = 131072; // class, field, method + + // types for NEWARRAY + + int T_BOOLEAN = 4; + int T_CHAR = 5; + int T_FLOAT = 6; + int T_DOUBLE = 7; + int T_BYTE = 8; + int T_SHORT = 9; + int T_INT = 10; + int T_LONG = 11; + + // opcodes // visit method (- = idem) + + int NOP = 0; // visitInsn + int ACONST_NULL = 1; // - + int ICONST_M1 = 2; // - + int ICONST_0 = 3; // - + int ICONST_1 = 4; // - + int ICONST_2 = 5; // - + int ICONST_3 = 6; // - + int ICONST_4 = 7; // - + int ICONST_5 = 8; // - + int LCONST_0 = 9; // - + int LCONST_1 = 10; // - + int FCONST_0 = 11; // - + int FCONST_1 = 12; // - + int FCONST_2 = 13; // - + int DCONST_0 = 14; // - + int DCONST_1 = 15; // - + int BIPUSH = 16; // visitIntInsn + int SIPUSH = 17; // - + int LDC = 18; // visitLdcInsn + // int LDC_W = 19; // - + // int LDC2_W = 20; // - + int ILOAD = 21; // visitVarInsn + int LLOAD = 22; // - + int FLOAD = 23; // - + int DLOAD = 24; // - + int ALOAD = 25; // - + // int ILOAD_0 = 26; // - + // int ILOAD_1 = 27; // - + // int ILOAD_2 = 28; // - + // int ILOAD_3 = 29; // - + // int LLOAD_0 = 30; // - + // int LLOAD_1 = 31; // - + // int LLOAD_2 = 32; // - + // int LLOAD_3 = 33; // - + // int FLOAD_0 = 34; // - + // int FLOAD_1 = 35; // - + // int FLOAD_2 = 36; // - + // int FLOAD_3 = 37; // - + // int DLOAD_0 = 38; // - + // int DLOAD_1 = 39; // - + // int DLOAD_2 = 40; // - + // int DLOAD_3 = 41; // - + // int ALOAD_0 = 42; // - + // int ALOAD_1 = 43; // - + // int ALOAD_2 = 44; // - + // int ALOAD_3 = 45; // - + int IALOAD = 46; // visitInsn + int LALOAD = 47; // - + int FALOAD = 48; // - + int DALOAD = 49; // - + int AALOAD = 50; // - + int BALOAD = 51; // - + int CALOAD = 52; // - + int SALOAD = 53; // - + int ISTORE = 54; // visitVarInsn + int LSTORE = 55; // - + int FSTORE = 56; // - + int DSTORE = 57; // - + int ASTORE = 58; // - + // int ISTORE_0 = 59; // - + // int ISTORE_1 = 60; // - + // int ISTORE_2 = 61; // - + // int ISTORE_3 = 62; // - + // int LSTORE_0 = 63; // - + // int LSTORE_1 = 64; // - + // int LSTORE_2 = 65; // - + // int LSTORE_3 = 66; // - + // int FSTORE_0 = 67; // - + // int FSTORE_1 = 68; // - + // int FSTORE_2 = 69; // - + // int FSTORE_3 = 70; // - + // int DSTORE_0 = 71; // - + // int DSTORE_1 = 72; // - + // int DSTORE_2 = 73; // - + // int DSTORE_3 = 74; // - + // int ASTORE_0 = 75; // - + // int ASTORE_1 = 76; // - + // int ASTORE_2 = 77; // - + // int ASTORE_3 = 78; // - + int IASTORE = 79; // visitInsn + int LASTORE = 80; // - + int FASTORE = 81; // - + int DASTORE = 82; // - + int AASTORE = 83; // - + int BASTORE = 84; // - + int CASTORE = 85; // - + int SASTORE = 86; // - + int POP = 87; // - + int POP2 = 88; // - + int DUP = 89; // - + int DUP_X1 = 90; // - + int DUP_X2 = 91; // - + int DUP2 = 92; // - + int DUP2_X1 = 93; // - + int DUP2_X2 = 94; // - + int SWAP = 95; // - + int IADD = 96; // - + int LADD = 97; // - + int FADD = 98; // - + int DADD = 99; // - + int ISUB = 100; // - + int LSUB = 101; // - + int FSUB = 102; // - + int DSUB = 103; // - + int IMUL = 104; // - + int LMUL = 105; // - + int FMUL = 106; // - + int DMUL = 107; // - + int IDIV = 108; // - + int LDIV = 109; // - + int FDIV = 110; // - + int DDIV = 111; // - + int IREM = 112; // - + int LREM = 113; // - + int FREM = 114; // - + int DREM = 115; // - + int INEG = 116; // - + int LNEG = 117; // - + int FNEG = 118; // - + int DNEG = 119; // - + int ISHL = 120; // - + int LSHL = 121; // - + int ISHR = 122; // - + int LSHR = 123; // - + int IUSHR = 124; // - + int LUSHR = 125; // - + int IAND = 126; // - + int LAND = 127; // - + int IOR = 128; // - + int LOR = 129; // - + int IXOR = 130; // - + int LXOR = 131; // - + int IINC = 132; // visitIincInsn + int I2L = 133; // visitInsn + int I2F = 134; // - + int I2D = 135; // - + int L2I = 136; // - + int L2F = 137; // - + int L2D = 138; // - + int F2I = 139; // - + int F2L = 140; // - + int F2D = 141; // - + int D2I = 142; // - + int D2L = 143; // - + int D2F = 144; // - + int I2B = 145; // - + int I2C = 146; // - + int I2S = 147; // - + int LCMP = 148; // - + int FCMPL = 149; // - + int FCMPG = 150; // - + int DCMPL = 151; // - + int DCMPG = 152; // - + int IFEQ = 153; // visitJumpInsn + int IFNE = 154; // - + int IFLT = 155; // - + int IFGE = 156; // - + int IFGT = 157; // - + int IFLE = 158; // - + int IF_ICMPEQ = 159; // - + int IF_ICMPNE = 160; // - + int IF_ICMPLT = 161; // - + int IF_ICMPGE = 162; // - + int IF_ICMPGT = 163; // - + int IF_ICMPLE = 164; // - + int IF_ACMPEQ = 165; // - + int IF_ACMPNE = 166; // - + int GOTO = 167; // - + int JSR = 168; // - + int RET = 169; // visitVarInsn + int TABLESWITCH = 170; // visiTableSwitchInsn + int LOOKUPSWITCH = 171; // visitLookupSwitch + int IRETURN = 172; // visitInsn + int LRETURN = 173; // - + int FRETURN = 174; // - + int DRETURN = 175; // - + int ARETURN = 176; // - + int RETURN = 177; // - + int GETSTATIC = 178; // visitFieldInsn + int PUTSTATIC = 179; // - + int GETFIELD = 180; // - + int PUTFIELD = 181; // - + int INVOKEVIRTUAL = 182; // visitMethodInsn + int INVOKESPECIAL = 183; // - + int INVOKESTATIC = 184; // - + int INVOKEINTERFACE = 185; // - + // int UNUSED = 186; // NOT VISITED + int NEW = 187; // visitTypeInsn + int NEWARRAY = 188; // visitIntInsn + int ANEWARRAY = 189; // visitTypeInsn + int ARRAYLENGTH = 190; // visitInsn + int ATHROW = 191; // - + int CHECKCAST = 192; // visitTypeInsn + int INSTANCEOF = 193; // - + int MONITORENTER = 194; // visitInsn + int MONITOREXIT = 195; // - + // int WIDE = 196; // NOT VISITED + int MULTIANEWARRAY = 197; // visitMultiANewArrayInsn + int IFNULL = 198; // visitJumpInsn + int IFNONNULL = 199; // - + // int GOTO_W = 200; // - + // int JSR_W = 201; // - +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/Type.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/Type.java new file mode 100644 index 00000000000..cf8dbbf9930 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/Type.java @@ -0,0 +1,760 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm; + +import java.lang.reflect.Method; + +/** + * A Java type. This class can be used to make it easier to manipulate type and + * method descriptors. + * + * @author Eric Bruneton + * @author Chris Nokleberg + */ +public class Type { + + /** + * The sort of the void type. See {@link #getSort getSort}. + */ + public final static int VOID = 0; + + /** + * The sort of the boolean type. See {@link #getSort getSort}. + */ + public final static int BOOLEAN = 1; + + /** + * The sort of the char type. See {@link #getSort getSort}. + */ + public final static int CHAR = 2; + + /** + * The sort of the byte type. See {@link #getSort getSort}. + */ + public final static int BYTE = 3; + + /** + * The sort of the short type. See {@link #getSort getSort}. + */ + public final static int SHORT = 4; + + /** + * The sort of the int type. See {@link #getSort getSort}. + */ + public final static int INT = 5; + + /** + * The sort of the float type. See {@link #getSort getSort}. + */ + public final static int FLOAT = 6; + + /** + * The sort of the long type. See {@link #getSort getSort}. + */ + public final static int LONG = 7; + + /** + * The sort of the double type. See {@link #getSort getSort}. + */ + public final static int DOUBLE = 8; + + /** + * The sort of array reference types. See {@link #getSort getSort}. + */ + public final static int ARRAY = 9; + + /** + * The sort of object reference type. See {@link #getSort getSort}. + */ + public final static int OBJECT = 10; + + /** + * The void type. + */ + public final static Type VOID_TYPE = new Type(VOID); + + /** + * The boolean type. + */ + public final static Type BOOLEAN_TYPE = new Type(BOOLEAN); + + /** + * The char type. + */ + public final static Type CHAR_TYPE = new Type(CHAR); + + /** + * The byte type. + */ + public final static Type BYTE_TYPE = new Type(BYTE); + + /** + * The short type. + */ + public final static Type SHORT_TYPE = new Type(SHORT); + + /** + * The int type. + */ + public final static Type INT_TYPE = new Type(INT); + + /** + * The float type. + */ + public final static Type FLOAT_TYPE = new Type(FLOAT); + + /** + * The long type. + */ + public final static Type LONG_TYPE = new Type(LONG); + + /** + * The double type. + */ + public final static Type DOUBLE_TYPE = new Type(DOUBLE); + + // ------------------------------------------------------------------------ + // Fields + // ------------------------------------------------------------------------ + + /** + * The sort of this Java type. + */ + private final int sort; + + /** + * A buffer containing the descriptor of this Java type. This field is only + * used for reference types. + */ + private char[] buf; + + /** + * The offset of the descriptor of this Java type in {@link #buf buf}. This + * field is only used for reference types. + */ + private int off; + + /** + * The length of the descriptor of this Java type. + */ + private int len; + + // ------------------------------------------------------------------------ + // Constructors + // ------------------------------------------------------------------------ + + /** + * Constructs a primitive type. + * + * @param sort the sort of the primitive type to be constructed. + */ + private Type(final int sort) { + this.sort = sort; + this.len = 1; + } + + /** + * Constructs a reference type. + * + * @param sort the sort of the reference type to be constructed. + * @param buf a buffer containing the descriptor of the previous type. + * @param off the offset of this descriptor in the previous buffer. + * @param len the length of this descriptor. + */ + private Type(final int sort, final char[] buf, final int off, final int len) + { + this.sort = sort; + this.buf = buf; + this.off = off; + this.len = len; + } + + /** + * Returns the Java type corresponding to the given type descriptor. + * + * @param typeDescriptor a type descriptor. + * @return the Java type corresponding to the given type descriptor. + */ + public static Type getType(final String typeDescriptor) { + return getType(typeDescriptor.toCharArray(), 0); + } + + /** + * Returns the Java type corresponding to the given class. + * + * @param c a class. + * @return the Java type corresponding to the given class. + */ + public static Type getType(final Class c) { + if (c.isPrimitive()) { + if (c == Integer.TYPE) { + return INT_TYPE; + } else if (c == Void.TYPE) { + return VOID_TYPE; + } else if (c == Boolean.TYPE) { + return BOOLEAN_TYPE; + } else if (c == Byte.TYPE) { + return BYTE_TYPE; + } else if (c == Character.TYPE) { + return CHAR_TYPE; + } else if (c == Short.TYPE) { + return SHORT_TYPE; + } else if (c == Double.TYPE) { + return DOUBLE_TYPE; + } else if (c == Float.TYPE) { + return FLOAT_TYPE; + } else /* if (c == Long.TYPE) */{ + return LONG_TYPE; + } + } else { + return getType(getDescriptor(c)); + } + } + + /** + * Returns the Java types corresponding to the argument types of the given + * method descriptor. + * + * @param methodDescriptor a method descriptor. + * @return the Java types corresponding to the argument types of the given + * method descriptor. + */ + public static Type[] getArgumentTypes(final String methodDescriptor) { + char[] buf = methodDescriptor.toCharArray(); + int off = 1; + int size = 0; + while (true) { + char car = buf[off++]; + if (car == ')') { + break; + } else if (car == 'L') { + while (buf[off++] != ';') { + } + ++size; + } else if (car != '[') { + ++size; + } + } + Type[] args = new Type[size]; + off = 1; + size = 0; + while (buf[off] != ')') { + args[size] = getType(buf, off); + off += args[size].len; + size += 1; + } + return args; + } + + /** + * Returns the Java types corresponding to the argument types of the given + * method. + * + * @param method a method. + * @return the Java types corresponding to the argument types of the given + * method. + */ + public static Type[] getArgumentTypes(final Method method) { + Class[] classes = method.getParameterTypes(); + Type[] types = new Type[classes.length]; + for (int i = classes.length - 1; i >= 0; --i) { + types[i] = getType(classes[i]); + } + return types; + } + + /** + * Returns the Java type corresponding to the return type of the given + * method descriptor. + * + * @param methodDescriptor a method descriptor. + * @return the Java type corresponding to the return type of the given + * method descriptor. + */ + public static Type getReturnType(final String methodDescriptor) { + char[] buf = methodDescriptor.toCharArray(); + return getType(buf, methodDescriptor.indexOf(')') + 1); + } + + /** + * Returns the Java type corresponding to the return type of the given + * method. + * + * @param method a method. + * @return the Java type corresponding to the return type of the given + * method. + */ + public static Type getReturnType(final Method method) { + return getType(method.getReturnType()); + } + + /** + * Returns the Java type corresponding to the given type descriptor. + * + * @param buf a buffer containing a type descriptor. + * @param off the offset of this descriptor in the previous buffer. + * @return the Java type corresponding to the given type descriptor. + */ + private static Type getType(final char[] buf, final int off) { + int len; + switch (buf[off]) { + case 'V': + return VOID_TYPE; + case 'Z': + return BOOLEAN_TYPE; + case 'C': + return CHAR_TYPE; + case 'B': + return BYTE_TYPE; + case 'S': + return SHORT_TYPE; + case 'I': + return INT_TYPE; + case 'F': + return FLOAT_TYPE; + case 'J': + return LONG_TYPE; + case 'D': + return DOUBLE_TYPE; + case '[': + len = 1; + while (buf[off + len] == '[') { + ++len; + } + if (buf[off + len] == 'L') { + ++len; + while (buf[off + len] != ';') { + ++len; + } + } + return new Type(ARRAY, buf, off, len + 1); + // case 'L': + default: + len = 1; + while (buf[off + len] != ';') { + ++len; + } + return new Type(OBJECT, buf, off, len + 1); + } + } + + // ------------------------------------------------------------------------ + // Accessors + // ------------------------------------------------------------------------ + + /** + * Returns the sort of this Java type. + * + * @return {@link #VOID VOID}, {@link #BOOLEAN BOOLEAN}, + * {@link #CHAR CHAR}, {@link #BYTE BYTE}, {@link #SHORT SHORT}, + * {@link #INT INT}, {@link #FLOAT FLOAT}, {@link #LONG LONG}, + * {@link #DOUBLE DOUBLE}, {@link #ARRAY ARRAY} or + * {@link #OBJECT OBJECT}. + */ + public int getSort() { + return sort; + } + + /** + * Returns the number of dimensions of this array type. This method should + * only be used for an array type. + * + * @return the number of dimensions of this array type. + */ + public int getDimensions() { + int i = 1; + while (buf[off + i] == '[') { + ++i; + } + return i; + } + + /** + * Returns the type of the elements of this array type. This method should + * only be used for an array type. + * + * @return Returns the type of the elements of this array type. + */ + public Type getElementType() { + return getType(buf, off + getDimensions()); + } + + /** + * Returns the name of the class corresponding to this type. + * + * @return the fully qualified name of the class corresponding to this type. + */ + public String getClassName() { + switch (sort) { + case VOID: + return "void"; + case BOOLEAN: + return "boolean"; + case CHAR: + return "char"; + case BYTE: + return "byte"; + case SHORT: + return "short"; + case INT: + return "int"; + case FLOAT: + return "float"; + case LONG: + return "long"; + case DOUBLE: + return "double"; + case ARRAY: + StringBuffer b = new StringBuffer(getElementType().getClassName()); + for (int i = getDimensions(); i > 0; --i) { + b.append("[]"); + } + return b.toString(); + // case OBJECT: + default: + return new String(buf, off + 1, len - 2).replace('/', '.'); + } + } + + /** + * Returns the internal name of the class corresponding to this object type. + * The internal name of a class is its fully qualified name, where '.' are + * replaced by '/'. This method should only be used for an object type. + * + * @return the internal name of the class corresponding to this object type. + */ + public String getInternalName() { + return new String(buf, off + 1, len - 2); + } + + // ------------------------------------------------------------------------ + // Conversion to type descriptors + // ------------------------------------------------------------------------ + + /** + * Returns the descriptor corresponding to this Java type. + * + * @return the descriptor corresponding to this Java type. + */ + public String getDescriptor() { + StringBuffer buf = new StringBuffer(); + getDescriptor(buf); + return buf.toString(); + } + + /** + * Returns the descriptor corresponding to the given argument and return + * types. + * + * @param returnType the return type of the method. + * @param argumentTypes the argument types of the method. + * @return the descriptor corresponding to the given argument and return + * types. + */ + public static String getMethodDescriptor( + final Type returnType, + final Type[] argumentTypes) + { + StringBuffer buf = new StringBuffer(); + buf.append('('); + for (int i = 0; i < argumentTypes.length; ++i) { + argumentTypes[i].getDescriptor(buf); + } + buf.append(')'); + returnType.getDescriptor(buf); + return buf.toString(); + } + + /** + * Appends the descriptor corresponding to this Java type to the given + * string buffer. + * + * @param buf the string buffer to which the descriptor must be appended. + */ + private void getDescriptor(final StringBuffer buf) { + switch (sort) { + case VOID: + buf.append('V'); + return; + case BOOLEAN: + buf.append('Z'); + return; + case CHAR: + buf.append('C'); + return; + case BYTE: + buf.append('B'); + return; + case SHORT: + buf.append('S'); + return; + case INT: + buf.append('I'); + return; + case FLOAT: + buf.append('F'); + return; + case LONG: + buf.append('J'); + return; + case DOUBLE: + buf.append('D'); + return; + // case ARRAY: + // case OBJECT: + default: + buf.append(this.buf, off, len); + } + } + + // ------------------------------------------------------------------------ + // Direct conversion from classes to type descriptors, + // without intermediate Type objects + // ------------------------------------------------------------------------ + + /** + * Returns the internal name of the given class. The internal name of a + * class is its fully qualified name, where '.' are replaced by '/'. + * + * @param c an object class. + * @return the internal name of the given class. + */ + public static String getInternalName(final Class c) { + return c.getName().replace('.', '/'); + } + + /** + * Returns the descriptor corresponding to the given Java type. + * + * @param c an object class, a primitive class or an array class. + * @return the descriptor corresponding to the given class. + */ + public static String getDescriptor(final Class c) { + StringBuffer buf = new StringBuffer(); + getDescriptor(buf, c); + return buf.toString(); + } + + /** + * Returns the descriptor corresponding to the given method. + * + * @param m a {@link Method Method} object. + * @return the descriptor of the given method. + */ + public static String getMethodDescriptor(final Method m) { + Class[] parameters = m.getParameterTypes(); + StringBuffer buf = new StringBuffer(); + buf.append('('); + for (int i = 0; i < parameters.length; ++i) { + getDescriptor(buf, parameters[i]); + } + buf.append(')'); + getDescriptor(buf, m.getReturnType()); + return buf.toString(); + } + + /** + * Appends the descriptor of the given class to the given string buffer. + * + * @param buf the string buffer to which the descriptor must be appended. + * @param c the class whose descriptor must be computed. + */ + private static void getDescriptor(final StringBuffer buf, final Class c) { + Class d = c; + while (true) { + if (d.isPrimitive()) { + char car; + if (d == Integer.TYPE) { + car = 'I'; + } else if (d == Void.TYPE) { + car = 'V'; + } else if (d == Boolean.TYPE) { + car = 'Z'; + } else if (d == Byte.TYPE) { + car = 'B'; + } else if (d == Character.TYPE) { + car = 'C'; + } else if (d == Short.TYPE) { + car = 'S'; + } else if (d == Double.TYPE) { + car = 'D'; + } else if (d == Float.TYPE) { + car = 'F'; + } else /* if (d == Long.TYPE) */{ + car = 'J'; + } + buf.append(car); + return; + } else if (d.isArray()) { + buf.append('['); + d = d.getComponentType(); + } else { + buf.append('L'); + String name = d.getName(); + int len = name.length(); + for (int i = 0; i < len; ++i) { + char car = name.charAt(i); + buf.append(car == '.' ? '/' : car); + } + buf.append(';'); + return; + } + } + } + + // ------------------------------------------------------------------------ + // Corresponding size and opcodes + // ------------------------------------------------------------------------ + + /** + * Returns the size of values of this type. + * + * @return the size of values of this type, i.e., 2 for long and + * double, and 1 otherwise. + */ + public int getSize() { + return (sort == LONG || sort == DOUBLE ? 2 : 1); + } + + /** + * Returns a JVM instruction opcode adapted to this Java type. + * + * @param opcode a JVM instruction opcode. This opcode must be one of ILOAD, + * ISTORE, IALOAD, IASTORE, IADD, ISUB, IMUL, IDIV, IREM, INEG, ISHL, + * ISHR, IUSHR, IAND, IOR, IXOR and IRETURN. + * @return an opcode that is similar to the given opcode, but adapted to + * this Java type. For example, if this type is float and + * opcode is IRETURN, this method returns FRETURN. + */ + public int getOpcode(final int opcode) { + if (opcode == Opcodes.IALOAD || opcode == Opcodes.IASTORE) { + switch (sort) { + case BOOLEAN: + case BYTE: + return opcode + 5; + case CHAR: + return opcode + 6; + case SHORT: + return opcode + 7; + case INT: + return opcode; + case FLOAT: + return opcode + 2; + case LONG: + return opcode + 1; + case DOUBLE: + return opcode + 3; + // case ARRAY: + // case OBJECT: + default: + return opcode + 4; + } + } else { + switch (sort) { + case VOID: + return opcode + 5; + case BOOLEAN: + case CHAR: + case BYTE: + case SHORT: + case INT: + return opcode; + case FLOAT: + return opcode + 2; + case LONG: + return opcode + 1; + case DOUBLE: + return opcode + 3; + // case ARRAY: + // case OBJECT: + default: + return opcode + 4; + } + } + } + + // ------------------------------------------------------------------------ + // Equals, hashCode and toString + // ------------------------------------------------------------------------ + + /** + * Tests if the given object is equal to this type. + * + * @param o the object to be compared to this type. + * @return true if the given object is equal to this type. + */ + public boolean equals(final Object o) { + if (this == o) { + return true; + } + if (o == null || !(o instanceof Type)) { + return false; + } + Type t = (Type) o; + if (sort != t.sort) { + return false; + } + if (sort == Type.OBJECT || sort == Type.ARRAY) { + if (len != t.len) { + return false; + } + for (int i = off, j = t.off, end = i + len; i < end; i++, j++) { + if (buf[i] != t.buf[j]) { + return false; + } + } + } + return true; + } + + /** + * Returns a hash code value for this type. + * + * @return a hash code value for this type. + */ + public int hashCode() { + int hc = 13 * sort; + if (sort == Type.OBJECT || sort == Type.ARRAY) { + for (int i = off, end = i + len; i < end; i++) { + hc = 17 * (hc + buf[i]); + } + } + return hc; + } + + /** + * Returns a string representation of this type. + * + * @return the descriptor of this type. + */ + public String toString() { + return getDescriptor(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapAttribute.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapAttribute.java new file mode 100644 index 00000000000..4df2f7ddec1 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapAttribute.java @@ -0,0 +1,378 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.attrs; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ByteVector; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Label; + +/** + * StackMapAttribute is used by CDLC preverifier. Definition is given in + * appendix "CLDC Byte Code Typechecker Specification" from CDLC 1.1 + * specification.

      Note that this implementation does not calculate + * StackMapFrame structures from the method bytecode. If method code is changed + * or generated from scratch, then developer is responsible to prepare a correct + * StackMapFrame structures.

      The format of the stack map in the class + * file is given below. In the following,

      • if the length of the + * method's byte code1 is 65535 or less, then uoffset represents the + * type u2; otherwise uoffset represents the type u4.
      • If + * the maximum number of local variables for the method is 65535 or less, then + * ulocalvar represents the type u2; otherwise ulocalvar + * represents the type u4.
      • If the maximum size of the operand stack + * is 65535 or less, then ustack represents the type u2; otherwise + * ustack represents the type u4.
      + * + *
      + * stack_map { // attribute StackMap
      + *   u2 attribute_name_index;
      + *   u4 attribute_length
      + *   uoffset number_of_entries;
      + *   stack_map_frame entries[number_of_entries];
      + * }
      + * 
      + * + * Each stack map frame has the following format: + * + *
      + * stack_map_frame {
      + *   uoffset offset;
      + *   ulocalvar number_of_locals;
      + *   verification_type_info locals[number_of_locals];
      + *   ustack number_of_stack_items;
      + *   verification_type_info stack[number_of_stack_items];
      + * }
      + * 
      + * + * The verification_type_info structure consists of a one-byte tag + * followed by zero or more bytes, giving more information about the tag. Each + * verification_type_info structure specifies the verification type + * of one or two locations. + * + *
      + * union verification_type_info {
      + *   Top_variable_info;
      + *   Integer_variable_info;
      + *   Float_variable_info;
      + *   Long_variable_info;
      + *   Double_variable_info;
      + *   Null_variable_info;
      + *   UninitializedThis_variable_info;
      + *   Object_variable_info;
      + *   Uninitialized_variable_info;
      + * }
      + *      
      + * Top_variable_info {
      + *   u1 tag = ITEM_Top; // 0
      + * }
      + *      
      + * Integer_variable_info {
      + *   u1 tag = ITEM_Integer; // 1
      + * }
      + *      
      + * Float_variable_info {
      + *   u1 tag = ITEM_Float; // 2
      + * }
      + *      
      + * Long_variable_info {
      + *   u1 tag = ITEM_Long; // 4
      + * }
      + *      
      + * Double_variable_info {
      + *   u1 tag = ITEM_Double; // 3
      + * }
      + *      
      + * Null_variable_info {
      + *  u1 tag = ITEM_Null; // 5
      + * }
      + *      
      + * UninitializedThis_variable_info {
      + *   u1 tag = ITEM_UninitializedThis; // 6
      + * }
      + *      
      + * Object_variable_info {
      + *   u1 tag = ITEM_Object; // 7
      + *   u2 cpool_index;
      + * }
      + *      
      + * Uninitialized_variable_info {
      + *   u1 tag = ITEM_Uninitialized // 8
      + *   uoffset offset;
      + * }
      + * 
      + * + * @see JSR 139 : Connected + * Limited Device Configuration 1.1 + * + * @author Eugene Kuleshov + */ +public class StackMapAttribute extends Attribute { + + static final int MAX_SIZE = 65535; + + /** + * A List of StackMapFrame instances. + */ + public List frames = new ArrayList(); + + public StackMapAttribute() { + super("StackMap"); + } + + public StackMapAttribute(List frames) { + this(); + this.frames = frames; + } + + public List getFrames() { + return frames; + } + + public StackMapFrame getFrame(Label label) { + for (int i = 0; i < frames.size(); i++) { + StackMapFrame frame = (StackMapFrame) frames.get(i); + if (frame.label == label) { + return frame; + } + } + return null; + } + + public boolean isUnknown() { + return false; + } + + public boolean isCodeAttribute() { + return true; + } + + protected Attribute read( + ClassReader cr, + int off, + int len, + char[] buf, + int codeOff, + Label[] labels) + { + StackMapAttribute attr = new StackMapAttribute(); + // note that this is not the size of Code attribute + boolean isExtCodeSize = cr.readInt(codeOff + 4) > MAX_SIZE; + boolean isExtLocals = cr.readUnsignedShort(codeOff + 2) > MAX_SIZE; + boolean isExtStack = cr.readUnsignedShort(codeOff) > MAX_SIZE; + + int size = 0; + if (isExtCodeSize) { + size = cr.readInt(off); + off += 4; + } else { + size = cr.readUnsignedShort(off); + off += 2; + } + for (int i = 0; i < size; i++) { + int offset; + if (isExtCodeSize) { + offset = cr.readInt(off); + off += 4; + } else { + offset = cr.readUnsignedShort(off); + off += 2; + } + + Label label = getLabel(offset, labels); + List locals = new ArrayList(); + List stack = new ArrayList(); + + off = readTypeInfo(cr, + off, + locals, + labels, + buf, + isExtLocals, + isExtCodeSize); + off = readTypeInfo(cr, + off, + stack, + labels, + buf, + isExtStack, + isExtCodeSize); + + attr.frames.add(new StackMapFrame(label, locals, stack)); + } + return attr; + } + + private int readTypeInfo( + ClassReader cr, + int off, + List info, + Label[] labels, + char[] buf, + boolean isExt, + boolean isExtCode) + { + int n = 0; + if (isExt) { + n = cr.readInt(off); + off += 4; + } else { + n = cr.readUnsignedShort(off); + off += 2; + } + for (int j = 0; j < n; j++) { + int itemType = cr.readByte(off++); + StackMapType typeInfo = StackMapType.getTypeInfo(itemType); + info.add(typeInfo); + switch (itemType) { + case StackMapType.ITEM_Object: // + typeInfo.setObject(cr.readClass(off, buf)); + off += 2; + break; + case StackMapType.ITEM_Uninitialized: // + int offset; + if (isExtCode) { + offset = cr.readInt(off); + off += 4; + } else { + offset = cr.readUnsignedShort(off); + off += 2; + } + typeInfo.setLabel(getLabel(offset, labels)); + break; + } + } + return off; + } + + private void writeTypeInfo(ByteVector bv, ClassWriter cw, List info, int max) + { + if (max > StackMapAttribute.MAX_SIZE) { + bv.putInt(info.size()); + } else { + bv.putShort(info.size()); + } + for (int j = 0; j < info.size(); j++) { + StackMapType typeInfo = (StackMapType) info.get(j); + bv.putByte(typeInfo.getType()); + switch (typeInfo.getType()) { + case StackMapType.ITEM_Object: // + bv.putShort(cw.newClass(typeInfo.getObject())); + break; + + case StackMapType.ITEM_Uninitialized: // + bv.putShort(typeInfo.getLabel().getOffset()); + break; + + } + } + } + + private Label getLabel(int offset, Label[] labels) { + Label l = labels[offset]; + if (l != null) { + return l; + } + return labels[offset] = new Label(); + } + + protected ByteVector write( + ClassWriter cw, + byte[] code, + int len, + int maxStack, + int maxLocals) + { + ByteVector bv = new ByteVector(); + if (code != null && code.length > MAX_SIZE) { // TODO verify value + bv.putInt(frames.size()); + } else { + bv.putShort(frames.size()); + } + for (int i = 0; i < frames.size(); i++) { + writeFrame((StackMapFrame) frames.get(i), + cw, + maxStack, + maxLocals, + bv); + } + return bv; + } + + protected Label[] getLabels() { + HashSet labels = new HashSet(); + for (int i = 0; i < frames.size(); i++) { + getFrameLabels((StackMapFrame) frames.get(i), labels); + } + return (Label[]) labels.toArray(new Label[labels.size()]); + } + + private void writeFrame( + StackMapFrame frame, + ClassWriter cw, + int maxStack, + int maxLocals, + ByteVector bv) + { + bv.putShort(frame.label.getOffset()); + writeTypeInfo(bv, cw, frame.locals, maxLocals); + writeTypeInfo(bv, cw, frame.stack, maxStack); + } + + private void getFrameLabels(StackMapFrame frame, Set labels) { + labels.add(frame.label); + getTypeInfoLabels(labels, frame.locals); + getTypeInfoLabels(labels, frame.stack); + } + + private void getTypeInfoLabels(Set labels, List info) { + for (Iterator it = info.iterator(); it.hasNext();) { + StackMapType typeInfo = (StackMapType) it.next(); + if (typeInfo.getType() == StackMapType.ITEM_Uninitialized) { + labels.add(typeInfo.getLabel()); + } + } + } + + public String toString() { + StringBuffer sb = new StringBuffer("StackMap["); + for (int i = 0; i < frames.size(); i++) { + sb.append('\n').append('[').append(frames.get(i)).append(']'); + } + sb.append("\n]"); + return sb.toString(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapFrame.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapFrame.java new file mode 100644 index 00000000000..bdd464179aa --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapFrame.java @@ -0,0 +1,82 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.attrs; + +import java.util.List; + +import org.objectweb.asm.Label; + +/** + * Holds the state of the stack and local variables for a single execution + * branch. + * + * Note that Long and Double types are represented by two entries in locals + * and stack. Second entry should be always of type Top. + * + * @see JSR 139 : Connected + * Limited Device Configuration 1.1 + * + * @see "ClassFileFormat-Java6.fm Page 138 Friday, April 15, 2005 3:22 PM" + * + * @author Eugene Kuleshov + */ +public class StackMapFrame { + + /** + * A Label for frame offset within method bytecode. + */ + public Label label; + + /** + * A List of StackMapType instances that represent locals for + * this frame. + */ + public List locals; + + /** + * A List of StackMapType instances that represent stack for + * this frame. + */ + public List stack; + + public StackMapFrame(Label label, List locals, List stack) { + this.label = label; + this.locals = locals; + this.stack = stack; + } + + public String toString() { + StringBuffer sb = new StringBuffer("Frame:L"); + sb.append(System.identityHashCode(label)); + sb.append(" locals").append(locals); + sb.append(" stack").append(stack); + return sb.toString(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapTableAttribute.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapTableAttribute.java new file mode 100644 index 00000000000..c0aa9c8a818 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapTableAttribute.java @@ -0,0 +1,927 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.attrs; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ByteVector; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Label; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +/** + * The stack map attribute is used during the process of verification by + * typechecking (§4.11.1).

      A stack map attribute consists of zero or + * more stack map frames. Each stack map frame specifies (either explicitly or + * implicitly) a bytecode offset, the verification types (§4.11.1) for the local + * variables, and the verification types for the operand stack.

      The + * type checker deals with and manipulates the expected types of a method's + * local variables and operand stack. Throughout this section, a location refers + * to either a single local variable or to a single operand stack entry.
      + *
      We will use the terms stack frame map and type state interchangeably to + * describe a mapping from locations in the operand stack and local variables of + * a method to verification types. We will usually use the term stack frame map + * when such a mapping is provided in the class file, and the term type state + * when the mapping is inferred by the type checker.

      If a method's + * Code attribute does not have a StackMapTable attribute, it has an implicit + * stack map attribute. This implicit stack map attribute is equivalent to a + * StackMapTable attribute with number_of_entries equal to zero. A method's Code + * attribute may have at most one StackMapTable attribute, otherwise a + * java.lang.ClassFormatError is thrown.

      The format of the stack map + * in the class file is given below. In the following, if the length of the + * method's byte code is 65535 or less, then uoffset represents the type u2; + * otherwise uoffset represents the type u4. If the maximum number of local + * variables for the method is 65535 or less, then ulocalvar + * represents the type u2; otherwise ulocalvar represents the type u4. If the + * maximum size of the operand stack is 65535 or less, then ustack + * represents the type u2; otherwise ustack represents the type u4. + * + *
      + * stack_map { // attribute StackMapTable
      + *   u2 attribute_name_index;
      + *   u4 attribute_length
      + *   uoffset number_of_entries;
      + *   stack_map_frame entries[number_of_entries];
      + * }
      + * 
      + * + * Each stack_map_frame structure specifies the type state at a particular byte + * code offset. Each frame type specifies (explicitly or implicitly) a value, + * offset_delta, that is used to calulate the actual byte code offset at which + * it applies. The byte code offset at which the frame applies is given by + * adding 1 + offset_delta to the offset of the + * previous frame, unless the previous frame is the initial frame of the method, + * in which case the byte code offset is offset_delta.

      + * Note that the length of the byte codes is not the same as the length of + * the Code attribute. The byte codes are embedded in the Code attribute, along + * with other information.

      By using an offset delta rather than + * the actual byte code offset we ensure, by definition, that stack map frames + * are in the correctly sorted order. Furthermore, by consistently using the + * formula offset_delta + 1 for all explicit frames, we guarantee + * the absence of duplicates.

      All frame types, even full_frame, rely + * on the previous frame for some of their semantics. This raises the question + * of what is the very first frame? The initial frame is implicit, and computed + * from the method descriptor. See the Prolog code for methodInitialStacFrame. + *

      The stack_map_frame structure consists of a one-byte tag followed + * by zero or more bytes, giving more information, depending upon the tag.
      + *
      A stack map frame may belong to one of several frame types + * + *
      + * union stack_map_frame {
      + *   same_frame;
      + *   same_locals_1_stack_item_frame;
      + *   chop_frame;
      + *   same_frame_extended;
      + *   append_frame;
      + *   full_frame;
      + * }
      + * 
      + * + * The frame type same_frame is represented by tags in the range [0-63]. If the + * frame type is same_frame, it means the frame has exactly the same locals as + * the previous stack map frame and that the number of stack items is zero. The + * offset_delta value for the frame is the value of the tag field, frame_type. + * The form of such a frame is then: + * + *
      + * same_frame {
      + *   u1 frame_type = SAME;  // 0-63
      + * }
      + * 
      + * + * The frame type same_locals_1_stack_item_frame is represented by tags in the + * range [64, 127]. If the frame_type is same_locals_1_stack_item_frame, it + * means the frame has exactly the same locals as the previous stack map frame + * and that the number of stack items is 1. The offset_delta value for the frame + * is the value (frame_type - 64). There is a verification_type_info following + * the frame_type for the one stack item. The form of such a frame is then: + * + *
      + * same_locals_1_stack_item_frame {
      + *   u1 frame_type = SAME_LOCALS_1_STACK_ITEM;  // 64-127
      + *    verification_type_info stack[1];
      + * }
      + * 
      + * + * Tags in the range [128-247] are reserved for future use.

      The frame + * type chop_frame is represented by tags in the range [248-250]. If the + * frame_type is chop_frame, it means that the current locals are the same as + * the locals in the previous frame, except that the k last locals are absent. + * The value of k is given by the formula 251-frame_type.

      The form of + * such a frame is then: + * + *
      + * chop_frame {
      + *   u1 frame_type=CHOP;  // 248-250
      + *   uoffset offset_delta;
      + * }
      + * 
      + * + * The frame type same_frame_extended is represented by the tag value 251. If + * the frame type is same_frame_extended, it means the frame has exactly the + * same locals as the previous stack map frame and that the number of stack + * items is zero. The form of such a frame is then: + * + *
      + * same_frame_extended {
      + *   u1 frame_type = SAME_FRAME_EXTENDED;  // 251
      + *   uoffset offset_delta;
      + * }
      + * 
      + * + * The frame type append_frame is represented by tags in the range [252-254]. If + * the frame_type is append_frame, it means that the current locals are the same + * as the locals in the previous frame, except that k additional locals are + * defined. The value of k is given by the formula frame_type-251.

      The + * form of such a frame is then: + * + *
      + * append_frame {
      + *   u1 frame_type =APPEND;  // 252-254
      + *   uoffset offset_delta;
      + *   verification_type_info locals[frame_type -251];
      + * }
      + * 
      + * + * The 0th entry in locals represents the type of the first additional local + * variable. If locals[M] represents local variable N, then locals[M+1] + * represents local variable N+1 if locals[M] is one of Top_variable_info, + * Integer_variable_info, Float_variable_info, Null_variable_info, + * UninitializedThis_variable_info, Object_variable_info, or + * Uninitialized_variable_info, otherwise locals[M+1] represents local variable + * N+2. It is an error if, for any index i, locals[i] represents a local + * variable whose index is greater than the maximum number of local variables + * for the method.

      The frame type full_frame is represented by the tag + * value 255. The form of such a frame is then: + * + *
      + * full_frame {
      + *   u1 frame_type = FULL_FRAME;  // 255
      + *   uoffset offset_delta;
      + *   ulocalvar number_of_locals;
      + *   verification_type_info locals[number_of_locals];
      + *   ustack number_of_stack_items;
      + *   verification_type_info stack[number_of_stack_items];
      + * }
      + * 
      + * + * The 0th entry in locals represents the type of local variable 0. If locals[M] + * represents local variable N, then locals[M+1] represents local variable N+1 + * if locals[M] is one of Top_variable_info, Integer_variable_info, + * Float_variable_info, Null_variable_info, UninitializedThis_variable_info, + * Object_variable_info, or Uninitialized_variable_info, otherwise locals[M+1] + * represents local variable N+2. It is an error if, for any index i, locals[i] + * represents a local variable whose index is greater than the maximum number of + * local variables for the method.

      The 0th entry in stack represents + * the type of the bottom of the stack, and subsequent entries represent types + * of stack elements closer to the top of the operand stack. We shall refer to + * the bottom element of the stack as stack element 0, and to subsequent + * elements as stack element 1, 2 etc. If stack[M] represents stack element N, + * then stack[M+1] represents stack element N+1 if stack[M] is one of + * Top_variable_info, Integer_variable_info, Float_variable_info, + * Null_variable_info, UninitializedThis_variable_info, Object_variable_info, or + * Uninitialized_variable_info, otherwise stack[M+1] represents stack element + * N+2. It is an error if, for any index i, stack[i] represents a stack entry + * whose index is greater than the maximum operand stack size for the method. + *

      We say that an instruction in the byte code has a corresponding + * stack map frame if the offset in the offset field of the stack map frame is + * the same as the offset of the instruction in the byte codes.

      The + * verification_type_info structure consists of a one-byte tag followed by zero + * or more bytes, giving more information about the tag. Each + * verification_type_info structure specifies the verification type of one or + * two locations. + * + *
      + * union verification_type_info {
      + *   Top_variable_info;
      + *   Integer_variable_info;
      + *   Float_variable_info;
      + *   Long_variable_info;
      + *   Double_variable_info;
      + *   Null_variable_info;
      + *   UninitializedThis_variable_info;
      + *   Object_variable_info;
      + *   Uninitialized_variable_info;
      + * }
      + * 
      + * + * The Top_variable_info type indicates that the local variable has the + * verification type top (T.) + * + *
      + * Top_variable_info {
      + *   u1 tag = ITEM_Top; // 0
      + * }
      + * 
      + * + * The Integer_variable_info type indicates that the location contains the + * verification type int. + * + *
      + * Integer_variable_info {
      + *   u1 tag = ITEM_Integer; // 1
      + * }
      + * 
      + * + * The Float_variable_info type indicates that the location contains the + * verification type float. + * + *
      + * Float_variable_info {
      + *   u1 tag = ITEM_Float; // 2
      + * }
      + * 
      + * + * The Long_variable_info type indicates that the location contains the + * verification type long. If the location is a local variable, then: + * + *
      • It must not be the local variable with the highest index.
      • + *
      • The next higher numbered local variable contains the verification type + * T.
      + * + * If the location is an operand stack entry, then: + * + *
      • The current location must not be the topmost location of the + * operand stack.
      • the next location closer to the top of the operand + * stack contains the verification type T.
      + * + * This structure gives the contents of two locations in the operand stack or in + * the local variables. + * + *
      + * Long_variable_info {
      + *   u1 tag = ITEM_Long; // 4
      + * }
      + * 
      + * + * The Double_variable_info type indicates that the location contains the + * verification type double. If the location is a local variable, then: + * + *
      • It must not be the local variable with the highest index.
      • + *
      • The next higher numbered local variable contains the verification type + * T.
      + * + * If the location is an operand stack entry, then: + * + *
      • The current location must not be the topmost location of the + * operand stack.
      • the next location closer to the top of the operand + * stack contains the verification type T.
      + * + * This structure gives the contents of two locations in in the operand stack or + * in the local variables. + * + *
      + * Double_variable_info {
      + *   u1 tag = ITEM_Double; // 3
      + * }
      + * 
      + * + * The Null_variable_info type indicates that location contains the verification + * type null. + * + *
      + * Null_variable_info {
      + *   u1 tag = ITEM_Null; // 5
      + * }
      + * 
      + * + * The UninitializedThis_variable_info type indicates that the location contains + * the verification type uninitializedThis. + * + *
      + * UninitializedThis_variable_info {
      + *   u1 tag = ITEM_UninitializedThis; // 6
      + * }
      + * 
      + * + * The Object_variable_info type indicates that the location contains an + * instance of the class referenced by the constant pool entry. + * + *
      + * Object_variable_info {
      + *   u1 tag = ITEM_Object; // 7
      + *   u2 cpool_index;
      + * }
      + * 
      + * + * The Uninitialized_variable_info indicates that the location contains the + * verification type uninitialized(offset). The offset item indicates the offset + * of the new instruction that created the object being stored in the location. + * + *
      + * Uninitialized_variable_info {
      + *   u1 tag = ITEM_Uninitialized // 8
      + *   uoffset offset;
      + * }
      + * 
      + * + * @see "ClassFileFormat-Java6.fm Page 138 Friday, April 15, 2005 3:22 PM" + * + * @author Eugene Kuleshov + */ +public class StackMapTableAttribute extends Attribute { + /** + * Frame has exactly the same locals as the previous stack map frame and + * number of stack items is zero. + */ + public static final int SAME_FRAME = 0; // to 63 (0-3f) + + /** + * Frame has exactly the same locals as the previous stack map frame and + * number of stack items is 1 + */ + public static final int SAME_LOCALS_1_STACK_ITEM_FRAME = 64; // to 127 + + // (40-7f) + + /** + * Reserved for future use + */ + public static final int RESERVED = 128; + + /** + * Frame has exactly the same locals as the previous stack map frame and + * number of stack items is 1. Offset is bigger then 63; + */ + public static final int SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED = 247; // f7 + + /** + * Frame where current locals are the same as the locals in the previous + * frame, except that the k last locals are absent. The value of k is given + * by the formula 251-frame_type. + */ + public static final int CHOP_FRAME = 248; // to 250 (f8-fA) + + /** + * Frame has exactly the same locals as the previous stack map frame and + * number of stack items is zero. Offset is bigger then 63; + */ + public static final int SAME_FRAME_EXTENDED = 251; // fb + + /** + * Frame where current locals are the same as the locals in the previous + * frame, except that k additional locals are defined. The value of k is + * given by the formula frame_type-251. + */ + public static final int APPEND_FRAME = 252; // to 254 // fc-fe + + /** + * Full frame + */ + public static final int FULL_FRAME = 255; // ff + + private static final int MAX_SHORT = 65535; + + /** + * A List of StackMapFrame instances. + */ + private List frames; + + public StackMapTableAttribute() { + super("StackMapTable"); + } + + public StackMapTableAttribute(List frames) { + this(); + this.frames = frames; + } + + public List getFrames() { + return frames; + } + + public StackMapFrame getFrame(Label label) { + for (int i = 0; i < frames.size(); i++) { + StackMapFrame frame = (StackMapFrame) frames.get(i); + if (frame.label == label) { + return frame; + } + } + return null; + } + + public boolean isUnknown() { + return false; + } + + public boolean isCodeAttribute() { + return true; + } + + protected Attribute read( + ClassReader cr, + int off, + int len, + char[] buf, + int codeOff, + Label[] labels) + { + + ArrayList frames = new ArrayList(); + + // note that this is not the size of Code attribute + boolean isExtCodeSize = cr.readInt(codeOff + 4) > MAX_SHORT; + boolean isExtLocals = cr.readUnsignedShort(codeOff + 2) > MAX_SHORT; + boolean isExtStack = cr.readUnsignedShort(codeOff) > MAX_SHORT; + + int offset = 0; + + int methodOff = getMethodOff(cr, codeOff, buf); + StackMapFrame frame = new StackMapFrame(getLabel(offset, labels), + calculateLocals(cr.readClass(cr.header + 2, buf), // owner + cr.readUnsignedShort(methodOff), // method access + cr.readUTF8(methodOff + 2, buf), // method name + cr.readUTF8(methodOff + 4, buf)), // method desc + Collections.EMPTY_LIST); + frames.add(frame); + + // System.err.println( cr.readUTF8( methodOff + 2, buf)); + // System.err.println( offset +" delta:" + 0 +" : "+ frame); + + int size; + if (isExtCodeSize) { + size = cr.readInt(off); + off += 4; + } else { + size = cr.readUnsignedShort(off); + off += 2; + } + + for (; size > 0; size--) { + int tag = cr.readByte(off); // & 0xff; + off++; + + List stack; + List locals; + + int offsetDelta; + if (tag < SAME_LOCALS_1_STACK_ITEM_FRAME) { // SAME_FRAME + offsetDelta = tag; + + locals = new ArrayList(frame.locals); + stack = Collections.EMPTY_LIST; + + } else if (tag < RESERVED) { // SAME_LOCALS_1_STACK_ITEM_FRAME + offsetDelta = tag - SAME_LOCALS_1_STACK_ITEM_FRAME; + + locals = new ArrayList(frame.locals); + stack = new ArrayList(); + // read verification_type_info stack[1]; + off = readType(stack, isExtCodeSize, cr, off, labels, buf); + + } else { + if (isExtCodeSize) { + offsetDelta = cr.readInt(off); + off += 4; + } else { + offsetDelta = cr.readUnsignedShort(off); + off += 2; + } + + if (tag == SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED) { // SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED + locals = new ArrayList(frame.locals); + stack = new ArrayList(); + // read verification_type_info stack[1]; + off = readType(stack, isExtCodeSize, cr, off, labels, buf); + + } else if (tag >= CHOP_FRAME && tag < SAME_FRAME_EXTENDED) { // CHOP_FRAME + stack = Collections.EMPTY_LIST; + + int k = SAME_FRAME_EXTENDED - tag; + // copy locals from prev frame and chop last k + locals = new ArrayList(frame.locals.subList(0, + frame.locals.size() - k)); + + } else if (tag == SAME_FRAME_EXTENDED) { // SAME_FRAME_EXTENDED + stack = Collections.EMPTY_LIST; + locals = new ArrayList(frame.locals); + + } else if ( /* tag>=APPEND && */tag < FULL_FRAME) { // APPEND_FRAME + stack = Collections.EMPTY_LIST; + + // copy locals from prev frame and append new k + locals = new ArrayList(frame.locals); + for (int k = tag - SAME_FRAME_EXTENDED; k > 0; k--) { + off = readType(locals, + isExtCodeSize, + cr, + off, + labels, + buf); + } + + } else if (tag == FULL_FRAME) { // FULL_FRAME + // read verification_type_info locals[number_of_locals]; + locals = new ArrayList(); + off = readTypes(locals, + isExtLocals, + isExtCodeSize, + cr, + off, + labels, + buf); + + // read verification_type_info stack[number_of_stack_items]; + stack = new ArrayList(); + off = readTypes(stack, + isExtStack, + isExtCodeSize, + cr, + off, + labels, + buf); + + } else { + throw new RuntimeException("Unknown frame type " + tag + + " after offset " + offset); + + } + } + + offset += offsetDelta; + + Label offsetLabel = getLabel(offset, labels); + + frame = new StackMapFrame(offsetLabel, locals, stack); + frames.add(frame); + // System.err.println( tag +" " + offset +" delta:" + offsetDelta + + // " frameType:"+ frameType+" : "+ frame); + + offset++; + } + + return new StackMapTableAttribute(frames); + } + + protected ByteVector write( + ClassWriter cw, + byte[] code, + int len, + int maxStack, + int maxLocals) + { + ByteVector bv = new ByteVector(); + // TODO verify this value (MAX_SHORT) + boolean isExtCodeSize = code != null && code.length > MAX_SHORT; + writeSize(frames.size() - 1, bv, isExtCodeSize); + + if (frames.size() < 2) { + return bv; + } + + boolean isExtLocals = maxLocals > MAX_SHORT; + boolean isExtStack = maxStack > MAX_SHORT; + + // skip the first frame + StackMapFrame frame = (StackMapFrame) frames.get(0); + List locals = frame.locals; + int offset = frame.label.getOffset(); + + for (int i = 1; i < frames.size(); i++) { + frame = (StackMapFrame) frames.get(i); + + List clocals = frame.locals; + List cstack = frame.stack; + int coffset = frame.label.getOffset(); + + int clocalsSize = clocals.size(); + int cstackSize = cstack.size(); + + int localsSize = locals.size(); + + int delta = coffset - offset; + + int type = FULL_FRAME; + int k = 0; + if (cstackSize == 0) { + k = clocalsSize - localsSize; + switch (k) { + case -3: + case -2: + case -1: + type = CHOP_FRAME; // CHOP or FULL + localsSize = clocalsSize; // for full_frame check + break; + + case 0: + // SAME, SAME_EXTENDED or FULL + type = delta < 64 ? SAME_FRAME : SAME_FRAME_EXTENDED; + break; + + case 1: + case 2: + case 3: + type = APPEND_FRAME; // APPEND or FULL + break; + } + } else if (localsSize == clocalsSize && cstackSize == 1) { + // SAME_LOCAL_1_STACK or FULL + type = delta < 63 + ? SAME_LOCALS_1_STACK_ITEM_FRAME + : SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED; + } + + if (type != FULL_FRAME) { + // verify if stack and locals are the same + for (int j = 0; j < localsSize && type != FULL_FRAME; j++) { + if (!locals.get(j).equals(clocals.get(j))) + type = FULL_FRAME; + } + } + + switch (type) { + case SAME_FRAME: + bv.putByte(delta); + break; + + case SAME_LOCALS_1_STACK_ITEM_FRAME: + bv.putByte(SAME_LOCALS_1_STACK_ITEM_FRAME + delta); + writeTypeInfos(bv, cw, cstack, 0, 1); + break; + + case SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED: + bv.putByte(SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED); + writeSize(delta, bv, isExtCodeSize); + writeTypeInfos(bv, cw, cstack, 0, 1); + break; + + case SAME_FRAME_EXTENDED: + bv.putByte(SAME_FRAME_EXTENDED); + writeSize(delta, bv, isExtCodeSize); + break; + + case CHOP_FRAME: + bv.putByte(SAME_FRAME_EXTENDED + k); // negative k + writeSize(delta, bv, isExtCodeSize); + break; + + case APPEND_FRAME: + bv.putByte(SAME_FRAME_EXTENDED + k); // positive k + writeSize(delta, bv, isExtCodeSize); + writeTypeInfos(bv, + cw, + clocals, + clocalsSize - 1, + clocalsSize); + break; + + case FULL_FRAME: + bv.putByte(FULL_FRAME); + writeSize(delta, bv, isExtCodeSize); + writeSize(clocalsSize, bv, isExtLocals); + writeTypeInfos(bv, cw, clocals, 0, clocalsSize); + writeSize(cstackSize, bv, isExtStack); + writeTypeInfos(bv, cw, cstack, 0, cstackSize); + break; + + default: + throw new RuntimeException(); + } + offset = coffset + 1; // compensating non first offset + locals = clocals; + } + return bv; + } + + private void writeSize(int delta, ByteVector bv, boolean isExt) { + if (isExt) { + bv.putInt(delta); + } else { + bv.putShort(delta); + } + } + + private void writeTypeInfos( + ByteVector bv, + ClassWriter cw, + List info, + int start, + int end) + { + for (int j = start; j < end; j++) { + StackMapType typeInfo = (StackMapType) info.get(j); + bv.putByte(typeInfo.getType()); + + switch (typeInfo.getType()) { + case StackMapType.ITEM_Object: // + bv.putShort(cw.newClass(typeInfo.getObject())); + break; + + case StackMapType.ITEM_Uninitialized: // + bv.putShort(typeInfo.getLabel().getOffset()); + break; + + } + } + } + + public static int getMethodOff(ClassReader cr, int codeOff, char[] buf) { + int off = cr.header + 6; + + int interfacesCount = cr.readUnsignedShort(off); + off += 2 + interfacesCount * 2; + + int fieldsCount = cr.readUnsignedShort(off); + off += 2; + for (; fieldsCount > 0; --fieldsCount) { + int attrCount = cr.readUnsignedShort(off + 6); // field attributes + off += 8; + for (; attrCount > 0; --attrCount) { + off += 6 + cr.readInt(off + 2); + } + } + + int methodsCount = cr.readUnsignedShort(off); + off += 2; + for (; methodsCount > 0; --methodsCount) { + int methodOff = off; + int attrCount = cr.readUnsignedShort(off + 6); // method attributes + off += 8; + for (; attrCount > 0; --attrCount) { + String attrName = cr.readUTF8(off, buf); + off += 6; + if (attrName.equals("Code")) { + if (codeOff == off) { + return methodOff; + } + } + off += cr.readInt(off - 4); + } + } + + return -1; + } + + /** + * Use method signature and access flags to resolve initial locals state. + * + * @param className name of the method's owner class. + * @param access access flags of the method. + * @param methodName name of the method. + * @param methodDesc descriptor of the method. + * @return list of StackMapType instances representing locals + * for an initial frame. + */ + public static List calculateLocals( + String className, + int access, + String methodName, + String methodDesc) + { + List locals = new ArrayList(); + + // TODO + if ("".equals(methodName) + && !className.equals("java/lang/Object")) + { + StackMapType typeInfo = StackMapType.getTypeInfo(StackMapType.ITEM_UninitializedThis); + typeInfo.setObject(className); // this + locals.add(typeInfo); + } else if ((access & Opcodes.ACC_STATIC) == 0) { + StackMapType typeInfo = StackMapType.getTypeInfo(StackMapType.ITEM_Object); + typeInfo.setObject(className); // this + locals.add(typeInfo); + } + + Type[] types = Type.getArgumentTypes(methodDesc); + for (int i = 0; i < types.length; i++) { + Type t = types[i]; + StackMapType smt; + switch (t.getSort()) { + case Type.LONG: + smt = StackMapType.getTypeInfo(StackMapType.ITEM_Long); + break; + case Type.DOUBLE: + smt = StackMapType.getTypeInfo(StackMapType.ITEM_Double); + break; + + case Type.FLOAT: + smt = StackMapType.getTypeInfo(StackMapType.ITEM_Float); + break; + + case Type.ARRAY: + case Type.OBJECT: + smt = StackMapType.getTypeInfo(StackMapType.ITEM_Object); + smt.setObject(t.getDescriptor()); // TODO verify name + break; + + default: + smt = StackMapType.getTypeInfo(StackMapType.ITEM_Integer); + break; + } + } + + return locals; + } + + private int readTypes( + List info, + boolean isExt, + boolean isExtCodeSize, + ClassReader cr, + int off, + Label[] labels, + char[] buf) + { + int n = 0; + if (isExt) { + n = cr.readInt(off); + off += 4; + } else { + n = cr.readUnsignedShort(off); + off += 2; + } + + for (; n > 0; n--) { + off = readType(info, isExtCodeSize, cr, off, labels, buf); + } + return off; + } + + private int readType( + List info, + boolean isExtCodeSize, + ClassReader cr, + int off, + Label[] labels, + char[] buf) + { + int itemType = cr.readByte(off++); + StackMapType typeInfo = StackMapType.getTypeInfo(itemType); + info.add(typeInfo); + switch (itemType) { + // case StackMapType.ITEM_Long: // + // case StackMapType.ITEM_Double: // + // info.add(StackMapType.getTypeInfo(StackMapType.ITEM_Top)); + // break; + + case StackMapType.ITEM_Object: // + typeInfo.setObject(cr.readClass(off, buf)); + off += 2; + break; + + case StackMapType.ITEM_Uninitialized: // + int offset; + if (isExtCodeSize) { + offset = cr.readInt(off); + off += 4; + } else { + offset = cr.readUnsignedShort(off); + off += 2; + } + + typeInfo.setLabel(getLabel(offset, labels)); + break; + } + return off; + } + + private Label getLabel(int offset, Label[] labels) { + Label l = labels[offset]; + if (l != null) { + return l; + } + return labels[offset] = new Label(); + } + + public String toString() { + StringBuffer sb = new StringBuffer("StackMapTable["); + for (int i = 0; i < frames.size(); i++) { + sb.append('\n').append('[').append(frames.get(i)).append(']'); + } + sb.append("\n]"); + return sb.toString(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapType.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapType.java new file mode 100644 index 00000000000..ae3b8cee7e4 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/StackMapType.java @@ -0,0 +1,114 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.objectweb.asm.attrs; + +import org.objectweb.asm.Label; + +/** + * Verification type info used by {@link StackMapAttribute}. + * + * @see JSR 139 : Connected + * Limited Device Configuration 1.1 + * + * @see "ClassFileFormat-Java6.fm Page 138 Friday, April 15, 2005 3:22 PM" + * + * @author Eugene Kuleshov + */ + +public class StackMapType { + + public static final int ITEM_Top = 0; + public static final int ITEM_Integer = 1; + public static final int ITEM_Float = 2; + public static final int ITEM_Double = 3; + public static final int ITEM_Long = 4; + public static final int ITEM_Null = 5; + public static final int ITEM_UninitializedThis = 6; + public static final int ITEM_Object = 7; + public static final int ITEM_Uninitialized = 8; + + public static final String[] ITEM_NAMES = { + "Top", + "Integer", + "Float", + "Double", + "Long", + "Null", + "UninitializedThis", + "Object", + "Uninitialized" }; + + private int type; + private Label offset; + private String object; + + private StackMapType(int type) { + this.type = type; + } + + public int getType() { + return type; + } + + public static StackMapType getTypeInfo(int itemType) { + if (itemType < ITEM_Top || itemType > ITEM_Uninitialized) { + throw new IllegalArgumentException("" + itemType); + } + return new StackMapType(itemType); + } + + public void setLabel(Label offset) { + this.offset = offset; + } + + public void setObject(String object) { + this.object = object; + } + + public Label getLabel() { + return offset; + } + + public String getObject() { + return object; + } + + public String toString() { + StringBuffer sb = new StringBuffer(ITEM_NAMES[type]); + if (type == ITEM_Object) { + sb.append(":").append(object); + } + if (type == ITEM_Uninitialized) { + sb.append(":L").append(System.identityHashCode(offset)); + } + return sb.toString(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/package.html new file mode 100644 index 00000000000..51f0a02e8d3 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/package.html @@ -0,0 +1,48 @@ + + + +Provides an implementation for optional class, field and method attributes. + +

      + +By default ASM strips optional attributes, in order to keep them in +the bytecode that is being readed you should pass an array of required attribute +instances to {@link org.objectweb.asm.ClassReader#accept(org.objectweb.asm.ClassVisitor, org.objectweb.asm.Attribute[], boolean) ClassReader.accept()} method. +In order to add custom attributes to the manually constructed bytecode concrete +subclasses of the {@link org.objectweb.asm.Attribute Attribute} can be passed to +the visitAttribute methods of the +{@link org.objectweb.asm.ClassVisitor ClassVisitor}, +{@link org.objectweb.asm.FieldVisitor FieldVisitor} and +{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces. + +@since ASM 1.4.1 + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/AdviceAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/AdviceAdapter.java new file mode 100644 index 00000000000..141c8e2113c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/AdviceAdapter.java @@ -0,0 +1,643 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import java.util.ArrayList; +import java.util.HashMap; + +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +/** + * A MethodAdapter to dispatch method body instruction + *

      + * The behavior is like this: + *

        + * + *
      1. as long as the INVOKESPECIAL for the object initialization has not been + * reached, every bytecode instruction is dispatched in the ctor code visitor
      2. + * + *
      3. when this one is reached, it is only added in the ctor code visitor and + * a JP invoke is added
      4. + *
      5. after that, only the other code visitor receives the instructions
      6. + * + *
      + * + * @author Eugene Kuleshov + * @author Eric Bruneton + */ +public abstract class AdviceAdapter extends GeneratorAdapter implements Opcodes { + private static final Object THIS = new Object(); + private static final Object OTHER = new Object(); + + protected int methodAccess; + protected String methodDesc; + + private boolean constructor; + private boolean superInitialized; + private ArrayList stackFrame; + private HashMap branches; + + + /** + * Creates a new {@link AdviceAdapter}. + * + * @param mv the method visitor to which this adapter delegates calls. + * @param access the method's access flags (see {@link Opcodes}). + * @param name the method's name. + * @param desc the method's descriptor (see {@link Type Type}). + */ + public AdviceAdapter(MethodVisitor mv, int access, String name, String desc) { + super(mv, access, name, desc); + methodAccess = access; + methodDesc = desc; + + constructor = "".equals(name); + if (!constructor) { + superInitialized = true; + onMethodEnter(); + } else { + stackFrame = new ArrayList(); + branches = new HashMap(); + } + } + + public void visitLabel(Label label) { + mv.visitLabel(label); + + if (constructor && branches != null) { + ArrayList frame = (ArrayList) branches.get(label); + if (frame != null) { + stackFrame = frame; + branches.remove(label); + } + } + } + + public void visitInsn(int opcode) { + if (constructor) { + switch (opcode) { + case RETURN: // empty stack + onMethodExit(opcode); + break; + + case IRETURN: // 1 before n/a after + case FRETURN: // 1 before n/a after + case ARETURN: // 1 before n/a after + case ATHROW: // 1 before n/a after + popValue(); + popValue(); + onMethodExit(opcode); + break; + + case LRETURN: // 2 before n/a after + case DRETURN: // 2 before n/a after + popValue(); + popValue(); + onMethodExit(opcode); + break; + + case NOP: + case LALOAD: // remove 2 add 2 + case DALOAD: // remove 2 add 2 + case LNEG: + case DNEG: + case FNEG: + case INEG: + case L2D: + case D2L: + case F2I: + case I2B: + case I2C: + case I2S: + case I2F: + case Opcodes.ARRAYLENGTH: + break; + + case ACONST_NULL: + case ICONST_M1: + case ICONST_0: + case ICONST_1: + case ICONST_2: + case ICONST_3: + case ICONST_4: + case ICONST_5: + case FCONST_0: + case FCONST_1: + case FCONST_2: + case F2L: // 1 before 2 after + case F2D: + case I2L: + case I2D: + pushValue(OTHER); + break; + + case LCONST_0: + case LCONST_1: + case DCONST_0: + case DCONST_1: + pushValue(OTHER); + pushValue(OTHER); + break; + + case IALOAD: // remove 2 add 1 + case FALOAD: // remove 2 add 1 + case AALOAD: // remove 2 add 1 + case BALOAD: // remove 2 add 1 + case CALOAD: // remove 2 add 1 + case SALOAD: // remove 2 add 1 + case POP: + case IADD: + case FADD: + case ISUB: + case LSHL: // 3 before 2 after + case LSHR: // 3 before 2 after + case LUSHR: // 3 before 2 after + case L2I: // 2 before 1 after + case L2F: // 2 before 1 after + case D2I: // 2 before 1 after + case D2F: // 2 before 1 after + case FSUB: + case FMUL: + case FDIV: + case FREM: + case FCMPL: // 2 before 1 after + case FCMPG: // 2 before 1 after + case IMUL: + case IDIV: + case IREM: + case ISHL: + case ISHR: + case IUSHR: + case IAND: + case IOR: + case IXOR: + case MONITORENTER: + case MONITOREXIT: + popValue(); + break; + + case POP2: + case LSUB: + case LMUL: + case LDIV: + case LREM: + case LADD: + case LAND: + case LOR: + case LXOR: + case DADD: + case DMUL: + case DSUB: + case DDIV: + case DREM: + popValue(); + popValue(); + break; + + case IASTORE: + case FASTORE: + case AASTORE: + case BASTORE: + case CASTORE: + case SASTORE: + case LCMP: // 4 before 1 after + case DCMPL: + case DCMPG: + popValue(); + popValue(); + popValue(); + break; + + case LASTORE: + case DASTORE: + popValue(); + popValue(); + popValue(); + popValue(); + break; + + case DUP: + pushValue(peekValue()); + break; + + case DUP_X1: + // TODO optimize this + { + Object o1 = popValue(); + Object o2 = popValue(); + pushValue(o1); + pushValue(o2); + pushValue(o1); + } + break; + + case DUP_X2: + // TODO optimize this + { + Object o1 = popValue(); + Object o2 = popValue(); + Object o3 = popValue(); + pushValue(o1); + pushValue(o3); + pushValue(o2); + pushValue(o1); + } + break; + + case DUP2: + // TODO optimize this + { + Object o1 = popValue(); + Object o2 = popValue(); + pushValue(o2); + pushValue(o1); + pushValue(o2); + pushValue(o1); + } + break; + + case DUP2_X1: + // TODO optimize this + { + Object o1 = popValue(); + Object o2 = popValue(); + Object o3 = popValue(); + pushValue(o2); + pushValue(o1); + pushValue(o3); + pushValue(o2); + pushValue(o1); + } + break; + + case DUP2_X2: + // TODO optimize this + { + Object o1 = popValue(); + Object o2 = popValue(); + Object o3 = popValue(); + Object o4 = popValue(); + pushValue(o2); + pushValue(o1); + pushValue(o4); + pushValue(o3); + pushValue(o2); + pushValue(o1); + } + break; + + case SWAP: { + Object o1 = popValue(); + Object o2 = popValue(); + pushValue(o1); + pushValue(o2); + } + break; + } + } else { + switch (opcode) { + case RETURN: + case IRETURN: + case FRETURN: + case ARETURN: + case LRETURN: + case DRETURN: + case ATHROW: + onMethodExit(opcode); + break; + } + } + mv.visitInsn(opcode); + } + + public void visitVarInsn(int opcode, int var) { + super.visitVarInsn(opcode, var); + + if (constructor) { + switch (opcode) { + case ILOAD: + case FLOAD: + pushValue(OTHER); + break; + case LLOAD: + case DLOAD: + pushValue(OTHER); + pushValue(OTHER); + break; + case ALOAD: + pushValue(var == 0 ? THIS : OTHER); + break; + case ASTORE: + case ISTORE: + case FSTORE: + popValue(); + break; + case LSTORE: + case DSTORE: + popValue(); + popValue(); + break; + } + } + } + + public void visitFieldInsn( + int opcode, + String owner, + String name, + String desc) + { + mv.visitFieldInsn(opcode, owner, name, desc); + + if (constructor) { + char c = desc.charAt(0); + boolean longOrDouble = c == 'J' || c == 'D'; + switch (opcode) { + case GETSTATIC: + pushValue(OTHER); + if (longOrDouble) { + pushValue(OTHER); + } + break; + case PUTSTATIC: + popValue(); + if(longOrDouble) { + popValue(); + } + break; + case PUTFIELD: + popValue(); + if(longOrDouble) { + popValue(); + popValue(); + } + break; + // case GETFIELD: + default: + if (longOrDouble) { + pushValue(OTHER); + } + } + } + } + + public void visitIntInsn(int opcode, int operand) { + mv.visitIntInsn(opcode, operand); + + if (constructor) { + switch (opcode) { + case BIPUSH: + case SIPUSH: + pushValue(OTHER); + } + } + } + + public void visitLdcInsn(Object cst) { + mv.visitLdcInsn(cst); + + if (constructor) { + pushValue(OTHER); + if (cst instanceof Double || cst instanceof Long) { + pushValue(OTHER); + } + } + } + + public void visitMultiANewArrayInsn(String desc, int dims) { + mv.visitMultiANewArrayInsn(desc, dims); + + if (constructor) { + for (int i = 0; i < dims; i++) { + popValue(); + } + pushValue(OTHER); + } + } + + public void visitTypeInsn(int opcode, String name) { + mv.visitTypeInsn(opcode, name); + + // ANEWARRAY, CHECKCAST or INSTANCEOF don't change stack + if (constructor && opcode == NEW) { + pushValue(OTHER); + } + } + + public void visitMethodInsn( + int opcode, + String owner, + String name, + String desc) + { + mv.visitMethodInsn(opcode, owner, name, desc); + + if (constructor) { + Type[] types = Type.getArgumentTypes(desc); + for (int i = 0; i < types.length; i++) { + popValue(); + if (types[i].getSize() == 2) { + popValue(); + } + } + switch (opcode) { + // case INVOKESTATIC: + // break; + + case INVOKEINTERFACE: + case INVOKEVIRTUAL: + popValue(); // objectref + break; + + case INVOKESPECIAL: + Object type = popValue(); // objectref + if (type == THIS && !superInitialized) { + onMethodEnter(); + superInitialized = true; + // once super has been initialized it is no longer + // necessary to keep track of stack state + constructor = false; + } + break; + } + + Type returnType = Type.getReturnType(desc); + if (returnType != Type.VOID_TYPE) { + pushValue(OTHER); + if (returnType.getSize() == 2) { + pushValue(OTHER); + } + } + } + } + + public void visitJumpInsn(int opcode, Label label) { + mv.visitJumpInsn(opcode, label); + + if (constructor) { + switch (opcode) { + case IFEQ: + case IFNE: + case IFLT: + case IFGE: + case IFGT: + case IFLE: + case IFNULL: + case IFNONNULL: + popValue(); + break; + + case IF_ICMPEQ: + case IF_ICMPNE: + case IF_ICMPLT: + case IF_ICMPGE: + case IF_ICMPGT: + case IF_ICMPLE: + case IF_ACMPEQ: + case IF_ACMPNE: + popValue(); + popValue(); + break; + + case JSR: + pushValue(OTHER); + break; + } + addBranch(label); + } + } + + public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) { + mv.visitLookupSwitchInsn(dflt, keys, labels); + + if (constructor) { + popValue(); + addBranches(dflt, labels); + } + } + + public void visitTableSwitchInsn( + int min, + int max, + Label dflt, + Label[] labels) + { + mv.visitTableSwitchInsn(min, max, dflt, labels); + + if (constructor) { + popValue(); + addBranches(dflt, labels); + } + } + + private void addBranches(Label dflt, Label[] labels) { + addBranch(dflt); + for (int i = 0; i < labels.length; i++) { + addBranch(labels[i]); + } + } + + private void addBranch(Label label) { + if (branches.containsKey(label)) { + return; + } + ArrayList frame = new ArrayList(); + frame.addAll(stackFrame); + branches.put(label, frame); + } + + private Object popValue() { + return stackFrame.remove(stackFrame.size()-1); + } + + private Object peekValue() { + return stackFrame.get(stackFrame.size()-1); + } + + private void pushValue(Object o) { + stackFrame.add(o); + } + + /** + * Called at the beginning of the method or after super + * class class call in the constructor. + *

      + * + * Custom code can use or change all the local variables, + * but should not change state of the stack. + */ + protected abstract void onMethodEnter(); + + /** + * Called before explicit exit from the method using either + * return or throw. Top element on the stack contains the + * return value or exception instance. For example: + * + *
      +     *   public void onMethodExit(int opcode) {
      +     *     if(opcode==RETURN) {
      +     *         visitInsn(ACONST_NULL);
      +     *     } else if(opcode==ARETURN || opcode==ATHROW) {
      +     *         dup();
      +     *     } else {
      +     *         if(opcode==LRETURN || opcode==DRETURN) {
      +     *             dup2();
      +     *         } else {
      +     *             dup();
      +     *         }
      +     *         box(Type.getReturnType(this.methodDesc));
      +     *     }
      +     *     visitIntInsn(SIPUSH, opcode);
      +     *     visitMethodInsn(INVOKESTATIC, owner, "onExit", "(Ljava/lang/Object;I)V");
      +     *   }
      +     *
      +     *   // an actual call back method
      +     *   public static void onExit(int opcode, Object param) {
      +     *     ...
      +     * 
      + * + *

      + * + * Custom code can use or change all the local variables, + * but should not change state of the stack. + * + * @param opcode one of the RETURN, IRETURN, FRETURN, + * ARETURN, LRETURN, DRETURN or ATHROW + * + */ + protected abstract void onMethodExit(int opcode); + + // TODO onException, onMethodCall + +} + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/EmptyVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/EmptyVisitor.java new file mode 100644 index 00000000000..de7cdc4bf64 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/EmptyVisitor.java @@ -0,0 +1,211 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +/** + * An empty implementation of the ASM visitor interfaces. + * + * @author Eric Bruneton + */ +public class EmptyVisitor implements + ClassVisitor, + FieldVisitor, + MethodVisitor, + AnnotationVisitor +{ + + public void visit( + int version, + int access, + String name, + String signature, + String superName, + String[] interfaces) + { + } + + public void visitSource(String source, String debug) { + } + + public void visitOuterClass(String owner, String name, String desc) { + } + + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + return this; + } + + public void visitAttribute(Attribute attr) { + } + + public void visitInnerClass( + String name, + String outerName, + String innerName, + int access) + { + } + + public FieldVisitor visitField( + int access, + String name, + String desc, + String signature, + Object value) + { + return this; + } + + public MethodVisitor visitMethod( + int access, + String name, + String desc, + String signature, + String[] exceptions) + { + return this; + } + + public void visitEnd() { + } + + public AnnotationVisitor visitAnnotationDefault() { + return this; + } + + public AnnotationVisitor visitParameterAnnotation( + int parameter, + String desc, + boolean visible) + { + return this; + } + + public void visitCode() { + } + + public void visitInsn(int opcode) { + } + + public void visitIntInsn(int opcode, int operand) { + } + + public void visitVarInsn(int opcode, int var) { + } + + public void visitTypeInsn(int opcode, String desc) { + } + + public void visitFieldInsn( + int opcode, + String owner, + String name, + String desc) + { + } + + public void visitMethodInsn( + int opcode, + String owner, + String name, + String desc) + { + } + + public void visitJumpInsn(int opcode, Label label) { + } + + public void visitLabel(Label label) { + } + + public void visitLdcInsn(Object cst) { + } + + public void visitIincInsn(int var, int increment) { + } + + public void visitTableSwitchInsn( + int min, + int max, + Label dflt, + Label labels[]) + { + } + + public void visitLookupSwitchInsn(Label dflt, int keys[], Label labels[]) { + } + + public void visitMultiANewArrayInsn(String desc, int dims) { + } + + public void visitTryCatchBlock( + Label start, + Label end, + Label handler, + String type) + { + } + + public void visitLocalVariable( + String name, + String desc, + String signature, + Label start, + Label end, + int index) + { + } + + public void visitLineNumber(int line, Label start) { + } + + public void visitMaxs(int maxStack, int maxLocals) { + } + + public void visit(String name, Object value) { + } + + public void visitEnum(String name, String desc, String value) { + } + + public AnnotationVisitor visitAnnotation(String name, String desc) { + return this; + } + + public AnnotationVisitor visitArray(String name) { + return this; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/GeneratorAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/GeneratorAdapter.java new file mode 100644 index 00000000000..40b4db57779 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/GeneratorAdapter.java @@ -0,0 +1,1454 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +/** + * A {@link org.objectweb.asm.MethodAdapter} with convenient methods to generate + * code. For example, using this adapter, the class below + * + *
      + * public class Example {
      + *     public static void main(String[] args) {
      + *         System.out.println("Hello world!");
      + *     }
      + * }
      + * 
      + * + * can be generated as follows: + * + *
      + * ClassWriter cw = new ClassWriter(true);
      + * cw.visit(V1_1, ACC_PUBLIC, "Example", null, "java/lang/Object", null);
      + * 
      + * Method m = Method.getMethod("void <init> ()");
      + * GeneratorAdapter mg = new GeneratorAdapter(ACC_PUBLIC, m, null, null, cw);
      + * mg.loadThis();
      + * mg.invokeConstructor(Type.getType(Object.class), m);
      + * mg.returnValue();
      + * mg.endMethod();
      + * 
      + * m = Method.getMethod("void main (String[])");
      + * mg = new GeneratorAdapter(ACC_PUBLIC + ACC_STATIC, m, null, null, cw);
      + * mg.getStatic(Type.getType(System.class), "out", Type.getType(PrintStream.class));
      + * mg.push("Hello world!");
      + * mg.invokeVirtual(Type.getType(PrintStream.class), Method.getMethod("void println (String)"));
      + * mg.returnValue();
      + * mg.endMethod();
      + * 
      + * cw.visitEnd();
      + * 
      + * + * @author Juozas Baliuka + * @author Chris Nokleberg + * @author Eric Bruneton + */ +public class GeneratorAdapter extends LocalVariablesSorter { + + private final static Type BYTE_TYPE = Type.getType("Ljava/lang/Byte;"); + + private final static Type BOOLEAN_TYPE = Type.getType("Ljava/lang/Boolean;"); + + private final static Type SHORT_TYPE = Type.getType("Ljava/lang/Short;"); + + private final static Type CHARACTER_TYPE = Type.getType("Ljava/lang/Character;"); + + private final static Type INTEGER_TYPE = Type.getType("Ljava/lang/Integer;"); + + private final static Type FLOAT_TYPE = Type.getType("Ljava/lang/Float;"); + + private final static Type LONG_TYPE = Type.getType("Ljava/lang/Long;"); + + private final static Type DOUBLE_TYPE = Type.getType("Ljava/lang/Double;"); + + private final static Type NUMBER_TYPE = Type.getType("Ljava/lang/Number;"); + + private final static Type OBJECT_TYPE = Type.getType("Ljava/lang/Object;"); + + private final static Method BOOLEAN_VALUE = Method.getMethod("boolean booleanValue()"); + + private final static Method CHAR_VALUE = Method.getMethod("char charValue()"); + + private final static Method INT_VALUE = Method.getMethod("int intValue()"); + + private final static Method FLOAT_VALUE = Method.getMethod("float floatValue()"); + + private final static Method LONG_VALUE = Method.getMethod("long longValue()"); + + private final static Method DOUBLE_VALUE = Method.getMethod("double doubleValue()"); + + /** + * Constant for the {@link #math math} method. + */ + public final static int ADD = Opcodes.IADD; + + /** + * Constant for the {@link #math math} method. + */ + public final static int SUB = Opcodes.ISUB; + + /** + * Constant for the {@link #math math} method. + */ + public final static int MUL = Opcodes.IMUL; + + /** + * Constant for the {@link #math math} method. + */ + public final static int DIV = Opcodes.IDIV; + + /** + * Constant for the {@link #math math} method. + */ + public final static int REM = Opcodes.IREM; + + /** + * Constant for the {@link #math math} method. + */ + public final static int NEG = Opcodes.INEG; + + /** + * Constant for the {@link #math math} method. + */ + public final static int SHL = Opcodes.ISHL; + + /** + * Constant for the {@link #math math} method. + */ + public final static int SHR = Opcodes.ISHR; + + /** + * Constant for the {@link #math math} method. + */ + public final static int USHR = Opcodes.IUSHR; + + /** + * Constant for the {@link #math math} method. + */ + public final static int AND = Opcodes.IAND; + + /** + * Constant for the {@link #math math} method. + */ + public final static int OR = Opcodes.IOR; + + /** + * Constant for the {@link #math math} method. + */ + public final static int XOR = Opcodes.IXOR; + + /** + * Constant for the {@link #ifCmp ifCmp} method. + */ + public final static int EQ = Opcodes.IFEQ; + + /** + * Constant for the {@link #ifCmp ifCmp} method. + */ + public final static int NE = Opcodes.IFNE; + + /** + * Constant for the {@link #ifCmp ifCmp} method. + */ + public final static int LT = Opcodes.IFLT; + + /** + * Constant for the {@link #ifCmp ifCmp} method. + */ + public final static int GE = Opcodes.IFGE; + + /** + * Constant for the {@link #ifCmp ifCmp} method. + */ + public final static int GT = Opcodes.IFGT; + + /** + * Constant for the {@link #ifCmp ifCmp} method. + */ + public final static int LE = Opcodes.IFLE; + + /** + * Access flags of the method visited by this adapter. + */ + private final int access; + + /** + * Return type of the method visited by this adapter. + */ + private final Type returnType; + + /** + * Argument types of the method visited by this adapter. + */ + private final Type[] argumentTypes; + + /** + * Types of the local variables of the method visited by this adapter. + */ + private final List localTypes; + + /** + * Creates a new {@link GeneratorAdapter}. + * + * @param mv the method visitor to which this adapter delegates calls. + * @param access the method's access flags (see {@link Opcodes}). + * @param name the method's name. + * @param desc the method's descriptor (see {@link Type Type}). + */ + public GeneratorAdapter( + MethodVisitor mv, + int access, + String name, + String desc) + { + super(access, desc, mv); + this.access = access; + this.returnType = Type.getReturnType(desc); + this.argumentTypes = Type.getArgumentTypes(desc); + this.localTypes = new ArrayList(); + } + + /** + * Creates a new {@link GeneratorAdapter}. + * + * @param access access flags of the adapted method. + * @param method the adapted method. + * @param mv the method visitor to which this adapter delegates calls. + */ + public GeneratorAdapter( + final int access, + final Method method, + final MethodVisitor mv) + { + super(access, method.getDescriptor(), mv); + this.access = access; + this.returnType = method.getReturnType(); + this.argumentTypes = method.getArgumentTypes(); + this.localTypes = new ArrayList(); + } + + /** + * Creates a new {@link GeneratorAdapter}. + * + * @param access access flags of the adapted method. + * @param method the adapted method. + * @param signature the signature of the adapted method (may be + * null). + * @param exceptions the exceptions thrown by the adapted method (may be + * null). + * @param cv the class visitor to which this adapter delegates calls. + */ + public GeneratorAdapter( + final int access, + final Method method, + final String signature, + final Type[] exceptions, + final ClassVisitor cv) + { + this(access, method, cv.visitMethod(access, + method.getName(), + method.getDescriptor(), + signature, + getInternalNames(exceptions))); + } + + /** + * Returns the internal names of the given types. + * + * @param types a set of types. + * @return the internal names of the given types. + */ + private static String[] getInternalNames(final Type[] types) { + if (types == null) { + return null; + } + String[] names = new String[types.length]; + for (int i = 0; i < names.length; ++i) { + names[i] = types[i].getInternalName(); + } + return names; + } + + // ------------------------------------------------------------------------ + // Instructions to push constants on the stack + // ------------------------------------------------------------------------ + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. + */ + public void push(final boolean value) { + push(value ? 1 : 0); + } + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. + */ + public void push(final int value) { + if (value >= -1 && value <= 5) { + mv.visitInsn(Opcodes.ICONST_0 + value); + } else if (value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE) { + mv.visitIntInsn(Opcodes.BIPUSH, value); + } else if (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) { + mv.visitIntInsn(Opcodes.SIPUSH, value); + } else { + mv.visitLdcInsn(new Integer(value)); + } + } + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. + */ + public void push(final long value) { + if (value == 0L || value == 1L) { + mv.visitInsn(Opcodes.LCONST_0 + (int) value); + } else { + mv.visitLdcInsn(new Long(value)); + } + } + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. + */ + public void push(final float value) { + int bits = Float.floatToIntBits(value); + if (bits == 0L || bits == 0x3f800000 || bits == 0x40000000) { // 0..2 + mv.visitInsn(Opcodes.FCONST_0 + (int) value); + } else { + mv.visitLdcInsn(new Float(value)); + } + } + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. + */ + public void push(final double value) { + long bits = Double.doubleToLongBits(value); + if (bits == 0L || bits == 0x3ff0000000000000L) { // +0.0d and 1.0d + mv.visitInsn(Opcodes.DCONST_0 + (int) value); + } else { + mv.visitLdcInsn(new Double(value)); + } + } + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. May be null. + */ + public void push(final String value) { + if (value == null) { + mv.visitInsn(Opcodes.ACONST_NULL); + } else { + mv.visitLdcInsn(value); + } + } + + /** + * Generates the instruction to push the given value on the stack. + * + * @param value the value to be pushed on the stack. + */ + public void push(final Type value) { + if (value == null) { + mv.visitInsn(Opcodes.ACONST_NULL); + } else { + mv.visitLdcInsn(value); + } + } + + // ------------------------------------------------------------------------ + // Instructions to load and store method arguments + // ------------------------------------------------------------------------ + + /** + * Returns the index of the given method argument in the frame's local + * variables array. + * + * @param arg the index of a method argument. + * @return the index of the given method argument in the frame's local + * variables array. + */ + private int getArgIndex(final int arg) { + int index = ((access & Opcodes.ACC_STATIC) == 0 ? 1 : 0); + for (int i = 0; i < arg; i++) { + index += argumentTypes[i].getSize(); + } + return index; + } + + /** + * Generates the instruction to push a local variable on the stack. + * + * @param type the type of the local variable to be loaded. + * @param index an index in the frame's local variables array. + */ + private void loadInsn(final Type type, final int index) { + mv.visitVarInsn(type.getOpcode(Opcodes.ILOAD), index); + } + + /** + * Generates the instruction to store the top stack value in a local + * variable. + * + * @param type the type of the local variable to be stored. + * @param index an index in the frame's local variables array. + */ + private void storeInsn(final Type type, final int index) { + mv.visitVarInsn(type.getOpcode(Opcodes.ISTORE), index); + } + + /** + * Generates the instruction to load 'this' on the stack. + */ + public void loadThis() { + if ((access & Opcodes.ACC_STATIC) != 0) { + throw new IllegalStateException("no 'this' pointer within static method"); + } + mv.visitVarInsn(Opcodes.ALOAD, 0); + } + + /** + * Generates the instruction to load the given method argument on the stack. + * + * @param arg the index of a method argument. + */ + public void loadArg(final int arg) { + loadInsn(argumentTypes[arg], getArgIndex(arg)); + } + + /** + * Generates the instructions to load the given method arguments on the + * stack. + * + * @param arg the index of the first method argument to be loaded. + * @param count the number of method arguments to be loaded. + */ + public void loadArgs(final int arg, final int count) { + int index = getArgIndex(arg); + for (int i = 0; i < count; ++i) { + Type t = argumentTypes[arg + i]; + loadInsn(t, index); + index += t.getSize(); + } + } + + /** + * Generates the instructions to load all the method arguments on the stack. + */ + public void loadArgs() { + loadArgs(0, argumentTypes.length); + } + + /** + * Generates the instructions to load all the method arguments on the stack, + * as a single object array. + */ + public void loadArgArray() { + push(argumentTypes.length); + newArray(OBJECT_TYPE); + for (int i = 0; i < argumentTypes.length; i++) { + dup(); + push(i); + loadArg(i); + box(argumentTypes[i]); + arrayStore(OBJECT_TYPE); + } + } + + /** + * Generates the instruction to store the top stack value in the given + * method argument. + * + * @param arg the index of a method argument. + */ + public void storeArg(final int arg) { + storeInsn(argumentTypes[arg], getArgIndex(arg)); + } + + // ------------------------------------------------------------------------ + // Instructions to load and store local variables + // ------------------------------------------------------------------------ + + /** + * Creates a new local variable of the given type. + * + * @param type the type of the local variable to be created. + * @return the identifier of the newly created local variable. + */ + public int newLocal(final Type type) { + int local = super.newLocal(type.getSize()); + setLocalType(local, type); + return local; + } + + /** + * Returns the type of the given local variable. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + * @return the type of the given local variable. + */ + public Type getLocalType(final int local) { + return (Type) localTypes.get(local - firstLocal); + } + + /** + * Sets the current type of the given local variable. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + * @param type the type of the value being stored in the local variable + */ + private void setLocalType(final int local, final Type type) { + int index = local - firstLocal; + while (localTypes.size() < index + 1) + localTypes.add(null); + localTypes.set(index, type); + } + + /** + * Generates the instruction to load the given local variable on the stack. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + */ + public void loadLocal(final int local) { + loadInsn(getLocalType(local), local); + } + + /** + * Generates the instruction to load the given local variable on the stack. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + * @param type the type of this local variable. + */ + public void loadLocal(final int local, final Type type) { + setLocalType(local, type); + loadInsn(type, local); + } + + /** + * Generates the instruction to store the top stack value in the given local + * variable. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + */ + public void storeLocal(final int local) { + storeInsn(getLocalType(local), local); + } + + /** + * Generates the instruction to store the top stack value in the given local + * variable. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + * @param type the type of this local variable. + */ + public void storeLocal(final int local, final Type type) { + setLocalType(local, type); + storeInsn(type, local); + } + + /** + * Generates the instruction to load an element from an array. + * + * @param type the type of the array element to be loaded. + */ + public void arrayLoad(final Type type) { + mv.visitInsn(type.getOpcode(Opcodes.IALOAD)); + } + + /** + * Generates the instruction to store an element in an array. + * + * @param type the type of the array element to be stored. + */ + public void arrayStore(final Type type) { + mv.visitInsn(type.getOpcode(Opcodes.IASTORE)); + } + + // ------------------------------------------------------------------------ + // Instructions to manage the stack + // ------------------------------------------------------------------------ + + /** + * Generates a POP instruction. + */ + public void pop() { + mv.visitInsn(Opcodes.POP); + } + + /** + * Generates a POP2 instruction. + */ + public void pop2() { + mv.visitInsn(Opcodes.POP2); + } + + /** + * Generates a DUP instruction. + */ + public void dup() { + mv.visitInsn(Opcodes.DUP); + } + + /** + * Generates a DUP2 instruction. + */ + public void dup2() { + mv.visitInsn(Opcodes.DUP2); + } + + /** + * Generates a DUP_X1 instruction. + */ + public void dupX1() { + mv.visitInsn(Opcodes.DUP_X1); + } + + /** + * Generates a DUP_X2 instruction. + */ + public void dupX2() { + mv.visitInsn(Opcodes.DUP_X2); + } + + /** + * Generates a DUP2_X1 instruction. + */ + public void dup2X1() { + mv.visitInsn(Opcodes.DUP2_X1); + } + + /** + * Generates a DUP2_X2 instruction. + */ + public void dup2X2() { + mv.visitInsn(Opcodes.DUP2_X2); + } + + /** + * Generates a SWAP instruction. + */ + public void swap() { + mv.visitInsn(Opcodes.SWAP); + } + + /** + * Generates the instructions to swap the top two stack values. + * + * @param prev type of the top - 1 stack value. + * @param type type of the top stack value. + */ + public void swap(final Type prev, final Type type) { + if (type.getSize() == 1) { + if (prev.getSize() == 1) { + swap(); // same as dupX1(), pop(); + } else { + dupX2(); + pop(); + } + } else { + if (prev.getSize() == 1) { + dup2X1(); + pop2(); + } else { + dup2X2(); + pop2(); + } + } + } + + // ------------------------------------------------------------------------ + // Instructions to do mathematical and logical operations + // ------------------------------------------------------------------------ + + /** + * Generates the instruction to do the specified mathematical or logical + * operation. + * + * @param op a mathematical or logical operation. Must be one of ADD, SUB, + * MUL, DIV, REM, NEG, SHL, SHR, USHR, AND, OR, XOR. + * @param type the type of the operand(s) for this operation. + */ + public void math(final int op, final Type type) { + mv.visitInsn(type.getOpcode(op)); + } + + /** + * Generates the instructions to compute the bitwise negation of the top + * stack value. + */ + public void not() { + mv.visitInsn(Opcodes.ICONST_1); + mv.visitInsn(Opcodes.IXOR); + } + + /** + * Generates the instruction to increment the given local variable. + * + * @param local the local variable to be incremented. + * @param amount the amount by which the local variable must be incremented. + */ + public void iinc(final int local, final int amount) { + mv.visitIincInsn(local, amount); + } + + /** + * Generates the instructions to cast a numerical value from one type to + * another. + * + * @param from the type of the top stack value + * @param to the type into which this value must be cast. + */ + public void cast(final Type from, final Type to) { + if (from != to) { + if (from == Type.DOUBLE_TYPE) { + if (to == Type.FLOAT_TYPE) { + mv.visitInsn(Opcodes.D2F); + } else if (to == Type.LONG_TYPE) { + mv.visitInsn(Opcodes.D2L); + } else { + mv.visitInsn(Opcodes.D2I); + cast(Type.INT_TYPE, to); + } + } else if (from == Type.FLOAT_TYPE) { + if (to == Type.DOUBLE_TYPE) { + mv.visitInsn(Opcodes.F2D); + } else if (to == Type.LONG_TYPE) { + mv.visitInsn(Opcodes.F2L); + } else { + mv.visitInsn(Opcodes.F2I); + cast(Type.INT_TYPE, to); + } + } else if (from == Type.LONG_TYPE) { + if (to == Type.DOUBLE_TYPE) { + mv.visitInsn(Opcodes.L2D); + } else if (to == Type.FLOAT_TYPE) { + mv.visitInsn(Opcodes.L2F); + } else { + mv.visitInsn(Opcodes.L2I); + cast(Type.INT_TYPE, to); + } + } else { + if (to == Type.BYTE_TYPE) { + mv.visitInsn(Opcodes.I2B); + } else if (to == Type.CHAR_TYPE) { + mv.visitInsn(Opcodes.I2C); + } else if (to == Type.DOUBLE_TYPE) { + mv.visitInsn(Opcodes.I2D); + } else if (to == Type.FLOAT_TYPE) { + mv.visitInsn(Opcodes.I2F); + } else if (to == Type.LONG_TYPE) { + mv.visitInsn(Opcodes.I2L); + } else if (to == Type.SHORT_TYPE) { + mv.visitInsn(Opcodes.I2S); + } + } + } + } + + // ------------------------------------------------------------------------ + // Instructions to do boxing and unboxing operations + // ------------------------------------------------------------------------ + + /** + * Generates the instructions to box the top stack value. This value is + * replaced by its boxed equivalent on top of the stack. + * + * @param type the type of the top stack value. + */ + public void box(final Type type) { + if (type.getSort() == Type.OBJECT || type.getSort() == Type.ARRAY) { + return; + } + if (type == Type.VOID_TYPE) { + push((String) null); + } else { + Type boxed = type; + switch (type.getSort()) { + case Type.BYTE: + boxed = BYTE_TYPE; + break; + case Type.BOOLEAN: + boxed = BOOLEAN_TYPE; + break; + case Type.SHORT: + boxed = SHORT_TYPE; + break; + case Type.CHAR: + boxed = CHARACTER_TYPE; + break; + case Type.INT: + boxed = INTEGER_TYPE; + break; + case Type.FLOAT: + boxed = FLOAT_TYPE; + break; + case Type.LONG: + boxed = LONG_TYPE; + break; + case Type.DOUBLE: + boxed = DOUBLE_TYPE; + break; + } + newInstance(boxed); + if (type.getSize() == 2) { + // Pp -> Ppo -> oPpo -> ooPpo -> ooPp -> o + dupX2(); + dupX2(); + pop(); + } else { + // p -> po -> opo -> oop -> o + dupX1(); + swap(); + } + invokeConstructor(boxed, new Method("", + Type.VOID_TYPE, + new Type[] { type })); + } + } + + /** + * Generates the instructions to unbox the top stack value. This value is + * replaced by its unboxed equivalent on top of the stack. + * + * @param type the type of the top stack value. + */ + public void unbox(final Type type) { + Type t = NUMBER_TYPE; + Method sig = null; + switch (type.getSort()) { + case Type.VOID: + return; + case Type.CHAR: + t = CHARACTER_TYPE; + sig = CHAR_VALUE; + break; + case Type.BOOLEAN: + t = BOOLEAN_TYPE; + sig = BOOLEAN_VALUE; + break; + case Type.DOUBLE: + sig = DOUBLE_VALUE; + break; + case Type.FLOAT: + sig = FLOAT_VALUE; + break; + case Type.LONG: + sig = LONG_VALUE; + break; + case Type.INT: + case Type.SHORT: + case Type.BYTE: + sig = INT_VALUE; + } + if (sig == null) { + checkCast(type); + } else { + checkCast(t); + invokeVirtual(t, sig); + } + } + + // ------------------------------------------------------------------------ + // Instructions to jump to other instructions + // ------------------------------------------------------------------------ + + /** + * Creates a new {@link Label}. + * + * @return a new {@link Label}. + */ + public Label newLabel() { + return new Label(); + } + + /** + * Marks the current code position with the given label. + * + * @param label a label. + */ + public void mark(final Label label) { + mv.visitLabel(label); + } + + /** + * Marks the current code position with a new label. + * + * @return the label that was created to mark the current code position. + */ + public Label mark() { + Label label = new Label(); + mv.visitLabel(label); + return label; + } + + /** + * Generates the instructions to jump to a label based on the comparison of + * the top two stack values. + * + * @param type the type of the top two stack values. + * @param mode how these values must be compared. One of EQ, NE, LT, GE, GT, + * LE. + * @param label where to jump if the comparison result is true. + */ + public void ifCmp(final Type type, final int mode, final Label label) { + int intOp = -1; + int jumpMode = mode; + switch (mode) { + case GE: + jumpMode = LT; + break; + case LE: + jumpMode = GT; + break; + } + switch (type.getSort()) { + case Type.LONG: + mv.visitInsn(Opcodes.LCMP); + break; + case Type.DOUBLE: + mv.visitInsn(Opcodes.DCMPG); + break; + case Type.FLOAT: + mv.visitInsn(Opcodes.FCMPG); + break; + case Type.ARRAY: + case Type.OBJECT: + switch (mode) { + case EQ: + mv.visitJumpInsn(Opcodes.IF_ACMPEQ, label); + return; + case NE: + mv.visitJumpInsn(Opcodes.IF_ACMPNE, label); + return; + } + throw new IllegalArgumentException("Bad comparison for type " + + type); + default: + switch (mode) { + case EQ: + intOp = Opcodes.IF_ICMPEQ; + break; + case NE: + intOp = Opcodes.IF_ICMPNE; + break; + case GE: + intOp = Opcodes.IF_ICMPGE; + break; + case LT: + intOp = Opcodes.IF_ICMPLT; + break; + case LE: + intOp = Opcodes.IF_ICMPLE; + break; + case GT: + intOp = Opcodes.IF_ICMPGT; + break; + } + mv.visitJumpInsn(intOp, label); + return; + } + mv.visitJumpInsn(jumpMode, label); + } + + /** + * Generates the instructions to jump to a label based on the comparison of + * the top two integer stack values. + * + * @param mode how these values must be compared. One of EQ, NE, LT, GE, GT, + * LE. + * @param label where to jump if the comparison result is true. + */ + public void ifICmp(final int mode, final Label label) { + ifCmp(Type.INT_TYPE, mode, label); + } + + /** + * Generates the instructions to jump to a label based on the comparison of + * the top integer stack value with zero. + * + * @param mode how these values must be compared. One of EQ, NE, LT, GE, GT, + * LE. + * @param label where to jump if the comparison result is true. + */ + public void ifZCmp(final int mode, final Label label) { + mv.visitJumpInsn(mode, label); + } + + /** + * Generates the instruction to jump to the given label if the top stack + * value is null. + * + * @param label where to jump if the condition is true. + */ + public void ifNull(final Label label) { + mv.visitJumpInsn(Opcodes.IFNULL, label); + } + + /** + * Generates the instruction to jump to the given label if the top stack + * value is not null. + * + * @param label where to jump if the condition is true. + */ + public void ifNonNull(final Label label) { + mv.visitJumpInsn(Opcodes.IFNONNULL, label); + } + + /** + * Generates the instruction to jump to the given label. + * + * @param label where to jump if the condition is true. + */ + public void goTo(final Label label) { + mv.visitJumpInsn(Opcodes.GOTO, label); + } + + /** + * Generates a RET instruction. + * + * @param local a local variable identifier, as returned by {@link #newLocal + * newLocal}. + */ + public void ret(final int local) { + mv.visitVarInsn(Opcodes.RET, local); + } + + /** + * Generates the instructions for a switch statement. + * + * @param keys the switch case keys. + * @param generator a generator to generate the code for the switch cases. + */ + public void tableSwitch( + final int[] keys, + final TableSwitchGenerator generator) + { + float density; + if (keys.length == 0) { + density = 0; + } else { + density = (float) keys.length + / (keys[keys.length - 1] - keys[0] + 1); + } + tableSwitch(keys, generator, density >= 0.5f); + } + + /** + * Generates the instructions for a switch statement. + * + * @param keys the switch case keys. + * @param generator a generator to generate the code for the switch cases. + * @param useTable true to use a TABLESWITCH instruction, or + * false to use a LOOKUPSWITCH instruction. + */ + public void tableSwitch( + final int[] keys, + final TableSwitchGenerator generator, + final boolean useTable) + { + for (int i = 1; i < keys.length; ++i) { + if (keys[i] < keys[i - 1]) { + throw new IllegalArgumentException("keys must be sorted ascending"); + } + } + Label def = newLabel(); + Label end = newLabel(); + if (keys.length > 0) { + int len = keys.length; + int min = keys[0]; + int max = keys[len - 1]; + int range = max - min + 1; + if (useTable) { + Label[] labels = new Label[range]; + Arrays.fill(labels, def); + for (int i = 0; i < len; ++i) { + labels[keys[i] - min] = newLabel(); + } + mv.visitTableSwitchInsn(min, max, def, labels); + for (int i = 0; i < range; ++i) { + Label label = labels[i]; + if (label != def) { + mark(label); + generator.generateCase(i + min, end); + } + } + } else { + Label[] labels = new Label[len]; + for (int i = 0; i < len; ++i) { + labels[i] = newLabel(); + } + mv.visitLookupSwitchInsn(def, keys, labels); + for (int i = 0; i < len; ++i) { + mark(labels[i]); + generator.generateCase(keys[i], end); + } + } + } + mark(def); + generator.generateDefault(); + mark(end); + } + + /** + * Generates the instruction to return the top stack value to the caller. + */ + public void returnValue() { + mv.visitInsn(returnType.getOpcode(Opcodes.IRETURN)); + } + + // ------------------------------------------------------------------------ + // Instructions to load and store fields + // ------------------------------------------------------------------------ + + /** + * Generates a get field or set field instruction. + * + * @param opcode the instruction's opcode. + * @param ownerType the class in which the field is defined. + * @param name the name of the field. + * @param fieldType the type of the field. + */ + private void fieldInsn( + final int opcode, + final Type ownerType, + final String name, + final Type fieldType) + { + mv.visitFieldInsn(opcode, + ownerType.getInternalName(), + name, + fieldType.getDescriptor()); + } + + /** + * Generates the instruction to push the value of a static field on the + * stack. + * + * @param owner the class in which the field is defined. + * @param name the name of the field. + * @param type the type of the field. + */ + public void getStatic(final Type owner, final String name, final Type type) + { + fieldInsn(Opcodes.GETSTATIC, owner, name, type); + } + + /** + * Generates the instruction to store the top stack value in a static field. + * + * @param owner the class in which the field is defined. + * @param name the name of the field. + * @param type the type of the field. + */ + public void putStatic(final Type owner, final String name, final Type type) + { + fieldInsn(Opcodes.PUTSTATIC, owner, name, type); + } + + /** + * Generates the instruction to push the value of a non static field on the + * stack. + * + * @param owner the class in which the field is defined. + * @param name the name of the field. + * @param type the type of the field. + */ + public void getField(final Type owner, final String name, final Type type) { + fieldInsn(Opcodes.GETFIELD, owner, name, type); + } + + /** + * Generates the instruction to store the top stack value in a non static + * field. + * + * @param owner the class in which the field is defined. + * @param name the name of the field. + * @param type the type of the field. + */ + public void putField(final Type owner, final String name, final Type type) { + fieldInsn(Opcodes.PUTFIELD, owner, name, type); + } + + // ------------------------------------------------------------------------ + // Instructions to invoke methods + // ------------------------------------------------------------------------ + + /** + * Generates an invoke method instruction. + * + * @param opcode the instruction's opcode. + * @param type the class in which the method is defined. + * @param method the method to be invoked. + */ + private void invokeInsn( + final int opcode, + final Type type, + final Method method) + { + String owner = type.getSort() == Type.ARRAY + ? type.getDescriptor() + : type.getInternalName(); + mv.visitMethodInsn(opcode, + owner, + method.getName(), + method.getDescriptor()); + } + + /** + * Generates the instruction to invoke a normal method. + * + * @param owner the class in which the method is defined. + * @param method the method to be invoked. + */ + public void invokeVirtual(final Type owner, final Method method) { + invokeInsn(Opcodes.INVOKEVIRTUAL, owner, method); + } + + /** + * Generates the instruction to invoke a constructor. + * + * @param type the class in which the constructor is defined. + * @param method the constructor to be invoked. + */ + public void invokeConstructor(final Type type, final Method method) { + invokeInsn(Opcodes.INVOKESPECIAL, type, method); + } + + /** + * Generates the instruction to invoke a static method. + * + * @param owner the class in which the method is defined. + * @param method the method to be invoked. + */ + public void invokeStatic(final Type owner, final Method method) { + invokeInsn(Opcodes.INVOKESTATIC, owner, method); + } + + /** + * Generates the instruction to invoke an interface method. + * + * @param owner the class in which the method is defined. + * @param method the method to be invoked. + */ + public void invokeInterface(final Type owner, final Method method) { + invokeInsn(Opcodes.INVOKEINTERFACE, owner, method); + } + + // ------------------------------------------------------------------------ + // Instructions to create objects and arrays + // ------------------------------------------------------------------------ + + /** + * Generates a type dependent instruction. + * + * @param opcode the instruction's opcode. + * @param type the instruction's operand. + */ + private void typeInsn(final int opcode, final Type type) { + String desc; + if (type.getSort() == Type.ARRAY) { + desc = type.getDescriptor(); + } else { + desc = type.getInternalName(); + } + mv.visitTypeInsn(opcode, desc); + } + + /** + * Generates the instruction to create a new object. + * + * @param type the class of the object to be created. + */ + public void newInstance(final Type type) { + typeInsn(Opcodes.NEW, type); + } + + /** + * Generates the instruction to create a new array. + * + * @param type the type of the array elements. + */ + public void newArray(final Type type) { + int typ; + switch (type.getSort()) { + case Type.BOOLEAN: + typ = Opcodes.T_BOOLEAN; + break; + case Type.CHAR: + typ = Opcodes.T_CHAR; + break; + case Type.BYTE: + typ = Opcodes.T_BYTE; + break; + case Type.SHORT: + typ = Opcodes.T_SHORT; + break; + case Type.INT: + typ = Opcodes.T_INT; + break; + case Type.FLOAT: + typ = Opcodes.T_FLOAT; + break; + case Type.LONG: + typ = Opcodes.T_LONG; + break; + case Type.DOUBLE: + typ = Opcodes.T_DOUBLE; + break; + default: + typeInsn(Opcodes.ANEWARRAY, type); + return; + } + mv.visitIntInsn(Opcodes.NEWARRAY, typ); + } + + // ------------------------------------------------------------------------ + // Miscelaneous instructions + // ------------------------------------------------------------------------ + + /** + * Generates the instruction to compute the length of an array. + */ + public void arrayLength() { + mv.visitInsn(Opcodes.ARRAYLENGTH); + } + + /** + * Generates the instruction to throw an exception. + */ + public void throwException() { + mv.visitInsn(Opcodes.ATHROW); + } + + /** + * Generates the instructions to create and throw an exception. The + * exception class must have a constructor with a single String argument. + * + * @param type the class of the exception to be thrown. + * @param msg the detailed message of the exception. + */ + public void throwException(final Type type, final String msg) { + newInstance(type); + dup(); + push(msg); + invokeConstructor(type, Method.getMethod("void (String)")); + throwException(); + } + + /** + * Generates the instruction to check that the top stack value is of the + * given type. + * + * @param type a class or interface type. + */ + public void checkCast(final Type type) { + if (!type.equals(OBJECT_TYPE)) { + typeInsn(Opcodes.CHECKCAST, type); + } + } + + /** + * Generates the instruction to test if the top stack value is of the given + * type. + * + * @param type a class or interface type. + */ + public void instanceOf(final Type type) { + typeInsn(Opcodes.INSTANCEOF, type); + } + + /** + * Generates the instruction to get the monitor of the top stack value. + */ + public void monitorEnter() { + mv.visitInsn(Opcodes.MONITORENTER); + } + + /** + * Generates the instruction to release the monitor of the top stack value. + */ + public void monitorExit() { + mv.visitInsn(Opcodes.MONITOREXIT); + } + + // ------------------------------------------------------------------------ + // Non instructions + // ------------------------------------------------------------------------ + + /** + * Marks the end of the visited method. + */ + public void endMethod() { + if ((access & Opcodes.ACC_ABSTRACT) == 0) { + mv.visitMaxs(0, 0); + } + } + + /** + * Marks the start of an exception handler. + * + * @param start beginning of the exception handler's scope (inclusive). + * @param end end of the exception handler's scope (exclusive). + * @param exception internal name of the type of exceptions handled by the + * handler. + */ + public void catchException( + final Label start, + final Label end, + final Type exception) + { + mv.visitTryCatchBlock(start, end, mark(), exception.getInternalName()); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/LocalVariablesSorter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/LocalVariablesSorter.java new file mode 100644 index 00000000000..1253a0b5170 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/LocalVariablesSorter.java @@ -0,0 +1,136 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodAdapter; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +/** + * A {@link MethodAdapter} that renumbers local variables in their order of + * appearance. This adapter allows one to easily add new local variables to a + * method. + * + * @author Chris Nokleberg + * @author Eric Bruneton + */ +public class LocalVariablesSorter extends MethodAdapter { + + /** + * Mapping from old to new local variable indexes. A local variable at index + * i of size 1 is remapped to 'mapping[2*i]', while a local variable at + * index i of size 2 is remapped to 'mapping[2*i+1]'. + */ + private int[] mapping = new int[40]; + + protected final int firstLocal; + + private int nextLocal; + + public LocalVariablesSorter( + final int access, + final String desc, + final MethodVisitor mv) + { + super(mv); + Type[] args = Type.getArgumentTypes(desc); + nextLocal = ((Opcodes.ACC_STATIC & access) != 0) ? 0 : 1; + for (int i = 0; i < args.length; i++) { + nextLocal += args[i].getSize(); + } + firstLocal = nextLocal; + } + + public void visitVarInsn(final int opcode, final int var) { + int size; + switch (opcode) { + case Opcodes.LLOAD: + case Opcodes.LSTORE: + case Opcodes.DLOAD: + case Opcodes.DSTORE: + size = 2; + break; + default: + size = 1; + } + mv.visitVarInsn(opcode, remap(var, size)); + } + + public void visitIincInsn(final int var, final int increment) { + mv.visitIincInsn(remap(var, 1), increment); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + mv.visitMaxs(maxStack, nextLocal); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + int size = "J".equals(desc) || "D".equals(desc) ? 2 : 1; + mv.visitLocalVariable(name, desc, signature, start, end, remap(index, size)); + } + + // ------------- + + protected int newLocal(final int size) { + int var = nextLocal; + nextLocal += size; + return var; + } + + private int remap(final int var, final int size) { + if (var < firstLocal) { + return var; + } + int key = 2 * var + size - 1; + int length = mapping.length; + if (key >= length) { + int[] newMapping = new int[Math.max(2 * length, key + 1)]; + System.arraycopy(mapping, 0, newMapping, 0, length); + mapping = newMapping; + } + int value = mapping[key]; + if (value == 0) { + value = nextLocal + 1; + mapping[key] = value; + nextLocal += size; + } + return value - 1; + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/Method.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/Method.java new file mode 100644 index 00000000000..741e7b5be26 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/Method.java @@ -0,0 +1,220 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import java.util.HashMap; +import java.util.Map; + +import org.objectweb.asm.Type; + +/** + * A named method descriptor. + * + * @author Juozas Baliuka + * @author Chris Nokleberg + * @author Eric Bruneton + */ +public class Method { + + /** + * The method name. + */ + private final String name; + + /** + * The method descriptor. + */ + private final String desc; + + /** + * Maps primitive Java type names to their descriptors. + */ + private final static Map DESCRIPTORS; + + static { + DESCRIPTORS = new HashMap(); + DESCRIPTORS.put("void", "V"); + DESCRIPTORS.put("byte", "B"); + DESCRIPTORS.put("char", "C"); + DESCRIPTORS.put("double", "D"); + DESCRIPTORS.put("float", "F"); + DESCRIPTORS.put("int", "I"); + DESCRIPTORS.put("long", "J"); + DESCRIPTORS.put("short", "S"); + DESCRIPTORS.put("boolean", "Z"); + } + + /** + * Creates a new {@link Method}. + * + * @param name the method's name. + * @param desc the method's descriptor. + */ + public Method(final String name, final String desc) { + this.name = name; + this.desc = desc; + } + + /** + * Creates a new {@link Method}. + * + * @param name the method's name. + * @param returnType the method's return type. + * @param argumentTypes the method's argument types. + */ + public Method( + final String name, + final Type returnType, + final Type[] argumentTypes) + { + this(name, Type.getMethodDescriptor(returnType, argumentTypes)); + } + + /** + * Returns a {@link Method} corresponding to the given Java method + * declaration. + * + * @param method a Java method declaration, without argument names, of the + * form "returnType name (argumentType1, ... argumentTypeN)", where + * the types are in plain Java (e.g. "int", "float", + * "java.util.List", ...). + * @return a {@link Method} corresponding to the given Java method + * declaration. + * @throws IllegalArgumentException if method could not get + * parsed. + */ + public static Method getMethod(final String method) + throws IllegalArgumentException + { + int space = method.indexOf(' '); + int start = method.indexOf('(', space) + 1; + int end = method.indexOf(')', start); + if (space == -1 || start == -1 || end == -1) { + throw new IllegalArgumentException(); + } + // TODO: Check validity of returnType, methodName and arguments. + String returnType = method.substring(0, space); + String methodName = method.substring(space + 1, start - 1).trim(); + StringBuffer sb = new StringBuffer(); + sb.append('('); + int p; + do { + p = method.indexOf(',', start); + if (p == -1) { + sb.append(map(method.substring(start, end).trim())); + } else { + sb.append(map(method.substring(start, p).trim())); + start = p + 1; + } + } while (p != -1); + sb.append(')'); + sb.append(map(returnType)); + return new Method(methodName, sb.toString()); + } + + private static String map(final String type) { + if (type.equals("")) { + return type; + } + + StringBuffer sb = new StringBuffer(); + int index = 0; + while ((index = type.indexOf("[]", index) + 1) > 0) { + sb.append('['); + } + + String t = type.substring(0, type.length() - sb.length() * 2); + String desc = (String) DESCRIPTORS.get(t); + if (desc != null) { + sb.append(desc); + } else { + sb.append('L'); + if (t.indexOf('.') < 0) { + sb.append("java/lang/" + t); + } else { + sb.append(t.replace('.', '/')); + } + sb.append(';'); + } + return sb.toString(); + } + + /** + * Returns the name of the method described by this object. + * + * @return the name of the method described by this object. + */ + public String getName() { + return name; + } + + /** + * Returns the descriptor of the method described by this object. + * + * @return the descriptor of the method described by this object. + */ + public String getDescriptor() { + return desc; + } + + /** + * Returns the return type of the method described by this object. + * + * @return the return type of the method described by this object. + */ + public Type getReturnType() { + return Type.getReturnType(desc); + } + + /** + * Returns the argument types of the method described by this object. + * + * @return the argument types of the method described by this object. + */ + public Type[] getArgumentTypes() { + return Type.getArgumentTypes(desc); + } + + public String toString() { + return name + desc; + } + + public boolean equals(final Object o) { + if (!(o instanceof Method)) { + return false; + } + Method other = (Method) o; + return name.equals(other.name) && desc.equals(other.desc); + } + + public int hashCode() { + return name.hashCode() ^ desc.hashCode(); + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.java new file mode 100644 index 00000000000..800ad4b3cd2 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.java @@ -0,0 +1,490 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; + +import org.objectweb.asm.ClassAdapter; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * A {@link ClassAdapter} that adds a serial version unique identifier to a + * class if missing. Here is typical usage of this class: + * + *
      + *   ClassWriter cw = new ClassWriter(...);
      + *   ClassVisitor sv = new SerialVersionUIDAdder(cw);
      + *   ClassVisitor ca = new MyClassAdapter(sv);
      + *   new ClassReader(orginalClass).accept(ca, false);
      + * 
      + * + * The SVUID algorithm can be found http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/class.html: + * + *
      + * The serialVersionUID is computed using the signature of a stream of bytes
      + * that reflect the class definition. The National Institute of Standards and
      + * Technology (NIST) Secure Hash Algorithm (SHA-1) is used to compute a
      + * signature for the stream. The first two 32-bit quantities are used to form a
      + * 64-bit hash. A java.lang.DataOutputStream is used to convert primitive data
      + * types to a sequence of bytes. The values input to the stream are defined by
      + * the Java Virtual Machine (VM) specification for classes.
      + *
      + * The sequence of items in the stream is as follows:
      + *
      + * 1. The class name written using UTF encoding.
      + * 2. The class modifiers written as a 32-bit integer.
      + * 3. The name of each interface sorted by name written using UTF encoding.
      + * 4. For each field of the class sorted by field name (except private static
      + * and private transient fields):
      + * 1. The name of the field in UTF encoding.
      + * 2. The modifiers of the field written as a 32-bit integer.
      + * 3. The descriptor of the field in UTF encoding
      + * 5. If a class initializer exists, write out the following:
      + * 1. The name of the method, <clinit>, in UTF encoding.
      + * 2. The modifier of the method, java.lang.reflect.Modifier.STATIC,
      + * written as a 32-bit integer.
      + * 3. The descriptor of the method, ()V, in UTF encoding.
      + * 6. For each non-private constructor sorted by method name and signature:
      + * 1. The name of the method, <init>, in UTF encoding.
      + * 2. The modifiers of the method written as a 32-bit integer.
      + * 3. The descriptor of the method in UTF encoding.
      + * 7. For each non-private method sorted by method name and signature:
      + * 1. The name of the method in UTF encoding.
      + * 2. The modifiers of the method written as a 32-bit integer.
      + * 3. The descriptor of the method in UTF encoding.
      + * 8. The SHA-1 algorithm is executed on the stream of bytes produced by
      + * DataOutputStream and produces five 32-bit values sha[0..4].
      + *
      + * 9. The hash value is assembled from the first and second 32-bit values of 
      + * the SHA-1 message digest. If the result of the message digest, the five
      + * 32-bit words H0 H1 H2 H3 H4, is in an array of five int values named 
      + * sha, the hash value would be computed as follows:
      + *
      + * long hash = ((sha[0] >>> 24) & 0xFF) |
      + * ((sha[0] >>> 16) & 0xFF) << 8 |
      + * ((sha[0] >>> 8) & 0xFF) << 16 |
      + * ((sha[0] >>> 0) & 0xFF) << 24 |
      + * ((sha[1] >>> 24) & 0xFF) << 32 |
      + * ((sha[1] >>> 16) & 0xFF) << 40 |
      + * ((sha[1] >>> 8) & 0xFF) << 48 |
      + * ((sha[1] >>> 0) & 0xFF) << 56;
      + * 
      + * + * @author Rajendra Inamdar, Vishal Vishnoi + */ +public class SerialVersionUIDAdder extends ClassAdapter { + + /** + * Flag that indicates if we need to compute SVUID. + */ + protected boolean computeSVUID; + + /** + * Set to true if the class already has SVUID. + */ + protected boolean hasSVUID; + + /** + * Classes access flags. + */ + protected int access; + + /** + * Internal name of the class + */ + protected String name; + + /** + * Interfaces implemented by the class. + */ + protected String[] interfaces; + + /** + * Collection of fields. (except private static and private transient + * fields) + */ + protected Collection svuidFields; + + /** + * Set to true if the class has static initializer. + */ + protected boolean hasStaticInitializer; + + /** + * Collection of non-private constructors. + */ + protected Collection svuidConstructors; + + /** + * Collection of non-private methods. + */ + protected Collection svuidMethods; + + /** + * Creates a new {@link SerialVersionUIDAdder}. + * + * @param cv a {@link ClassVisitor} to which this visitor will delegate + * calls. + */ + public SerialVersionUIDAdder(final ClassVisitor cv) { + super(cv); + svuidFields = new ArrayList(); + svuidConstructors = new ArrayList(); + svuidMethods = new ArrayList(); + } + + // ------------------------------------------------------------------------ + // Overriden methods + // ------------------------------------------------------------------------ + + /* + * Visit class header and get class name, access , and intefraces + * informatoin (step 1,2, and 3) for SVUID computation. + */ + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + computeSVUID = (access & Opcodes.ACC_INTERFACE) == 0; + + if (computeSVUID) { + this.name = name; + this.access = access; + this.interfaces = interfaces; + } + + super.visit(version, access, name, signature, superName, interfaces); + } + + /* + * Visit the methods and get constructor and method information (step 5 and + * 7). Also determince if there is a class initializer (step 6). + */ + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + if (computeSVUID) { + if (name.equals("")) { + hasStaticInitializer = true; + } + /* + * Remembers non private constructors and methods for SVUID + * computation For constructor and method modifiers, only the + * ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, ACC_FINAL, + * ACC_SYNCHRONIZED, ACC_NATIVE, ACC_ABSTRACT and ACC_STRICT flags + * are used. + */ + int mods = access + & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PRIVATE + | Opcodes.ACC_PROTECTED | Opcodes.ACC_STATIC + | Opcodes.ACC_FINAL | Opcodes.ACC_SYNCHRONIZED + | Opcodes.ACC_NATIVE | Opcodes.ACC_ABSTRACT | Opcodes.ACC_STRICT); + + // all non private methods + if ((access & Opcodes.ACC_PRIVATE) == 0) { + if (name.equals("")) { + svuidConstructors.add(new Item(name, mods, desc)); + } else if (!name.equals("")) { + svuidMethods.add(new Item(name, mods, desc)); + } + } + } + + return cv.visitMethod(access, name, desc, signature, exceptions); + } + + /* + * Gets class field information for step 4 of the alogrithm. Also determines + * if the class already has a SVUID. + */ + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + if (computeSVUID) { + if (name.equals("serialVersionUID")) { + // since the class already has SVUID, we won't be computing it. + computeSVUID = false; + hasSVUID = true; + } + /* + * Remember field for SVUID computation For field modifiers, only + * the ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, + * ACC_FINAL, ACC_VOLATILE, and ACC_TRANSIENT flags are used when + * computing serialVersionUID values. + */ + int mods = access + & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PRIVATE + | Opcodes.ACC_PROTECTED | Opcodes.ACC_STATIC + | Opcodes.ACC_FINAL | Opcodes.ACC_VOLATILE | Opcodes.ACC_TRANSIENT); + + if (((access & Opcodes.ACC_PRIVATE) == 0) + || ((access & (Opcodes.ACC_STATIC | Opcodes.ACC_TRANSIENT)) == 0)) + { + svuidFields.add(new Item(name, mods, desc)); + } + } + + return super.visitField(access, name, desc, signature, value); + } + + /* + * Add the SVUID if class doesn't have one + */ + public void visitEnd() { + // compute SVUID and add it to the class + if (computeSVUID && !hasSVUID) { + try { + cv.visitField(Opcodes.ACC_FINAL + Opcodes.ACC_STATIC, + "serialVersionUID", + "J", + null, + new Long(computeSVUID())); + } catch (Throwable e) { + throw new RuntimeException("Error while computing SVUID for " + + name, e); + } + } + + super.visitEnd(); + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Returns the value of SVUID if the class doesn't have one already. Please + * note that 0 is returned if the class already has SVUID, thus use + * isHasSVUID to determine if the class already had an SVUID. + * + * @return Returns the serial version UID + * @throws IOException + */ + protected long computeSVUID() throws IOException { + if (hasSVUID) { + return 0; + } + + ByteArrayOutputStream bos = null; + DataOutputStream dos = null; + long svuid = 0; + + try { + bos = new ByteArrayOutputStream(); + dos = new DataOutputStream(bos); + + /* + * 1. The class name written using UTF encoding. + */ + dos.writeUTF(name.replace('/', '.')); + + /* + * 2. The class modifiers written as a 32-bit integer. + */ + dos.writeInt(access + & (Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL + | Opcodes.ACC_INTERFACE | Opcodes.ACC_ABSTRACT)); + + /* + * 3. The name of each interface sorted by name written using UTF + * encoding. + */ + Arrays.sort(interfaces); + for (int i = 0; i < interfaces.length; i++) { + dos.writeUTF(interfaces[i].replace('/', '.')); + } + + /* + * 4. For each field of the class sorted by field name (except + * private static and private transient fields): + * + * 1. The name of the field in UTF encoding. 2. The modifiers of the + * field written as a 32-bit integer. 3. The descriptor of the field + * in UTF encoding + * + * Note that field signatutes are not dot separated. Method and + * constructor signatures are dot separated. Go figure... + */ + writeItems(svuidFields, dos, false); + + /* + * 5. If a class initializer exists, write out the following: 1. The + * name of the method, , in UTF encoding. 2. The modifier of + * the method, java.lang.reflect.Modifier.STATIC, written as a + * 32-bit integer. 3. The descriptor of the method, ()V, in UTF + * encoding. + */ + if (hasStaticInitializer) { + dos.writeUTF(""); + dos.writeInt(Opcodes.ACC_STATIC); + dos.writeUTF("()V"); + } // if.. + + /* + * 6. For each non-private constructor sorted by method name and + * signature: 1. The name of the method, , in UTF encoding. 2. + * The modifiers of the method written as a 32-bit integer. 3. The + * descriptor of the method in UTF encoding. + */ + writeItems(svuidConstructors, dos, true); + + /* + * 7. For each non-private method sorted by method name and + * signature: 1. The name of the method in UTF encoding. 2. The + * modifiers of the method written as a 32-bit integer. 3. The + * descriptor of the method in UTF encoding. + */ + writeItems(svuidMethods, dos, true); + + dos.flush(); + + /* + * 8. The SHA-1 algorithm is executed on the stream of bytes + * produced by DataOutputStream and produces five 32-bit values + * sha[0..4]. + */ + byte[] hashBytes = computeSHAdigest(bos.toByteArray()); + + /* + * 9. The hash value is assembled from the first and second 32-bit + * values of the SHA-1 message digest. If the result of the message + * digest, the five 32-bit words H0 H1 H2 H3 H4, is in an array of + * five int values named sha, the hash value would be computed as + * follows: + * + * long hash = ((sha[0] >>> 24) & 0xFF) | ((sha[0] >>> 16) & 0xFF) << + * 8 | ((sha[0] >>> 8) & 0xFF) << 16 | ((sha[0] >>> 0) & 0xFF) << + * 24 | ((sha[1] >>> 24) & 0xFF) << 32 | ((sha[1] >>> 16) & 0xFF) << + * 40 | ((sha[1] >>> 8) & 0xFF) << 48 | ((sha[1] >>> 0) & 0xFF) << + * 56; + */ + for (int i = Math.min(hashBytes.length, 8) - 1; i >= 0; i--) { + svuid = (svuid << 8) | (hashBytes[i] & 0xFF); + } + } finally { + // close the stream (if open) + if (dos != null) { + dos.close(); + } + } + + return svuid; + } + + /** + * Returns the SHA-1 message digest of the given value. + * + * @param value the value whose SHA message digest must be computed. + * @return the SHA-1 message digest of the given value. + */ + protected byte[] computeSHAdigest(byte[] value) { + try { + return MessageDigest.getInstance("SHA").digest(value); + } catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + + /** + * Sorts the items in the collection and writes it to the data output stream + * + * @param itemCollection collection of items + * @param dos a DataOutputStream value + * @param dotted a boolean value + * @exception IOException if an error occurs + */ + private void writeItems( + final Collection itemCollection, + final DataOutputStream dos, + final boolean dotted) throws IOException + { + int size = itemCollection.size(); + Item items[] = (Item[]) itemCollection.toArray(new Item[size]); + Arrays.sort(items); + for (int i = 0; i < size; i++) { + dos.writeUTF(items[i].name); + dos.writeInt(items[i].access); + dos.writeUTF(dotted + ? items[i].desc.replace('/', '.') + : items[i].desc); + } + } + + // ------------------------------------------------------------------------ + // Inner classes + // ------------------------------------------------------------------------ + + static class Item implements Comparable { + + String name; + + int access; + + String desc; + + Item(final String name, final int access, final String desc) { + this.name = name; + this.access = access; + this.desc = desc; + } + + public int compareTo(final Object o) { + Item other = (Item) o; + int retVal = name.compareTo(other.name); + if (retVal == 0) { + retVal = desc.compareTo(other.desc); + } + return retVal; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/StaticInitMerger.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/StaticInitMerger.java new file mode 100644 index 00000000000..9aabe44cad2 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/StaticInitMerger.java @@ -0,0 +1,99 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import org.objectweb.asm.ClassAdapter; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * A {@link ClassAdapter} that merges clinit methods into a single one. + * + * @author Eric Bruneton + */ +public class StaticInitMerger extends ClassAdapter { + + private String name; + + private MethodVisitor clinit; + + private String prefix; + + private int counter; + + public StaticInitMerger(final String prefix, final ClassVisitor cv) { + super(cv); + this.prefix = prefix; + } + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + cv.visit(version, access, name, signature, superName, interfaces); + this.name = name; + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + MethodVisitor mv; + if (name.equals("")) { + int a = Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC; + String n = prefix + counter++; + mv = cv.visitMethod(a, n, desc, signature, exceptions); + + if (clinit == null) { + clinit = cv.visitMethod(a, name, desc, null, null); + } + clinit.visitMethodInsn(Opcodes.INVOKESTATIC, this.name, n, desc); + } else { + mv = cv.visitMethod(access, name, desc, signature, exceptions); + } + return mv; + } + + public void visitEnd() { + if (clinit != null) { + clinit.visitInsn(Opcodes.RETURN); + clinit.visitMaxs(0, 0); + } + cv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/TableSwitchGenerator.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/TableSwitchGenerator.java new file mode 100644 index 00000000000..73d8d926bb7 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/TableSwitchGenerator.java @@ -0,0 +1,55 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.commons; + +import org.objectweb.asm.Label; + +/** + * A code generator for switch statements. + * + * @author Juozas Baliuka + * @author Chris Nokleberg + * @author Eric Bruneton + */ +public interface TableSwitchGenerator { + + /** + * Generates the code for a switch case. + * + * @param key the switch case key. + * @param end a label that corresponds to the end of the switch statement. + */ + void generateCase(int key, Label end); + + /** + * Generates the code for the default switch case. + */ + void generateDefault(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html new file mode 100644 index 00000000000..33c860bb31b --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html @@ -0,0 +1,33 @@ + + + +Provides some useful class and method adapters. + \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java new file mode 100644 index 00000000000..e35fead24cb --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java @@ -0,0 +1,150 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Type; + +/** + * An {@link AnnotationVisitor} that collects the {@link Constant}s of the + * annotations it visits. + * + * @author Eric Bruneton + */ +public class AnnotationConstantsCollector implements AnnotationVisitor { + + private AnnotationVisitor av; + + private ConstantPool cp; + + public AnnotationConstantsCollector( + final AnnotationVisitor av, + final ConstantPool cp) + { + this.av = av; + this.cp = cp; + } + + public void visit(final String name, final Object value) { + if (name != null) { + cp.newUTF8(name); + } + if (value instanceof Byte) { + cp.newInteger(((Byte) value).byteValue()); + } else if (value instanceof Boolean) { + cp.newInteger(((Boolean) value).booleanValue() ? 1 : 0); + } else if (value instanceof Character) { + cp.newInteger(((Character) value).charValue()); + } else if (value instanceof Short) { + cp.newInteger(((Short) value).shortValue()); + } else if (value instanceof Type) { + cp.newUTF8(((Type) value).getDescriptor()); + } else if (value instanceof byte[]) { + byte[] v = (byte[]) value; + for (int i = 0; i < v.length; i++) { + cp.newInteger(v[i]); + } + } else if (value instanceof boolean[]) { + boolean[] v = (boolean[]) value; + for (int i = 0; i < v.length; i++) { + cp.newInteger(v[i] ? 1 : 0); + } + } else if (value instanceof short[]) { + short[] v = (short[]) value; + for (int i = 0; i < v.length; i++) { + cp.newInteger(v[i]); + } + } else if (value instanceof char[]) { + char[] v = (char[]) value; + for (int i = 0; i < v.length; i++) { + cp.newInteger(v[i]); + } + } else if (value instanceof int[]) { + int[] v = (int[]) value; + for (int i = 0; i < v.length; i++) { + cp.newInteger(v[i]); + } + } else if (value instanceof long[]) { + long[] v = (long[]) value; + for (int i = 0; i < v.length; i++) { + cp.newLong(v[i]); + } + } else if (value instanceof float[]) { + float[] v = (float[]) value; + for (int i = 0; i < v.length; i++) { + cp.newFloat(v[i]); + } + } else if (value instanceof double[]) { + double[] v = (double[]) value; + for (int i = 0; i < v.length; i++) { + cp.newDouble(v[i]); + } + } else { + cp.newConst(value); + } + av.visit(name, value); + } + + public void visitEnum( + final String name, + final String desc, + final String value) + { + if (name != null) { + cp.newUTF8(name); + } + cp.newUTF8(desc); + cp.newUTF8(value); + av.visitEnum(name, desc, value); + } + + public AnnotationVisitor visitAnnotation( + final String name, + final String desc) + { + if (name != null) { + cp.newUTF8(name); + } + cp.newUTF8(desc); + return new AnnotationConstantsCollector(av.visitAnnotation(name, desc), + cp); + } + + public AnnotationVisitor visitArray(final String name) { + if (name != null) { + cp.newUTF8(name); + } + return new AnnotationConstantsCollector(av.visitArray(name), cp); + } + + public void visitEnd() { + av.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.java new file mode 100644 index 00000000000..9cfc6de31ee --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.java @@ -0,0 +1,212 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassAdapter; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * A {@link ClassVisitor} that collects the {@link Constant}s of the classes it + * visits. + * + * @author Eric Bruneton + */ +public class ClassConstantsCollector extends ClassAdapter { + + private ConstantPool cp; + + public ClassConstantsCollector(final ClassVisitor cv, final ConstantPool cp) + { + super(cv); + this.cp = cp; + } + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + cp.newUTF8("Deprecated"); + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0) { + cp.newUTF8("Synthetic"); + } + cp.newClass(name); + if (signature != null) { + cp.newUTF8("Signature"); + cp.newUTF8(signature); + } + if (superName != null) { + cp.newClass(superName); + } + if (interfaces != null) { + for (int i = 0; i < interfaces.length; ++i) { + cp.newClass(interfaces[i]); + } + } + cv.visit(version, access, name, signature, superName, interfaces); + } + + public void visitSource(final String source, final String debug) { + if (source != null) { + cp.newUTF8("SourceFile"); + cp.newUTF8(source); + } + if (debug != null) { + cp.newUTF8("SourceDebugExtension"); + } + cv.visitSource(source, debug); + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + cp.newUTF8("EnclosingMethod"); + cp.newClass(owner); + if (name != null && desc != null) { + cp.newNameType(name, desc); + } + cv.visitOuterClass(owner, name, desc); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + cp.newUTF8(desc); + if (visible) { + cp.newUTF8("RuntimeVisibleAnnotations"); + } else { + cp.newUTF8("RuntimeInvisibleAnnotations"); + } + return new AnnotationConstantsCollector(cv.visitAnnotation(desc, + visible), cp); + } + + public void visitAttribute(final Attribute attr) { + // can do nothing + cv.visitAttribute(attr); + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + cp.newUTF8("InnerClasses"); + if (name != null) { + cp.newClass(name); + } + if (outerName != null) { + cp.newClass(outerName); + } + if (innerName != null) { + cp.newClass(innerName); + } + cv.visitInnerClass(name, outerName, innerName, access); + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + if ((access & Opcodes.ACC_SYNTHETIC) != 0) { + cp.newUTF8("Synthetic"); + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + cp.newUTF8("Deprecated"); + } + cp.newUTF8(name); + cp.newUTF8(desc); + if (signature != null) { + cp.newUTF8("Signature"); + cp.newUTF8(signature); + } + if (value != null) { + cp.newConst(value); + } + return new FieldConstantsCollector(cv.visitField(access, + name, + desc, + signature, + value), cp); + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + if ((access & Opcodes.ACC_SYNTHETIC) != 0) { + cp.newUTF8("Synthetic"); + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + cp.newUTF8("Deprecated"); + } + cp.newUTF8(name); + cp.newUTF8(desc); + if (signature != null) { + cp.newUTF8("Signature"); + cp.newUTF8(signature); + } + if (exceptions != null) { + cp.newUTF8("Exceptions"); + for (int i = 0; i < exceptions.length; ++i) { + cp.newClass(exceptions[i]); + } + } + return new MethodConstantsCollector(cv.visitMethod(access, + name, + desc, + signature, + exceptions), cp); + } + + public void visitEnd() { + cv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassOptimizer.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassOptimizer.java new file mode 100644 index 00000000000..153b07ac286 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ClassOptimizer.java @@ -0,0 +1,182 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassAdapter; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * A {@link ClassAdapter} that renames fields and methods, and removes debug + * info. + * + * @author Eric Bruneton + */ +public class ClassOptimizer extends ClassAdapter { + + private NameMapping mapping; + + private String className; + + private String pkgName; + + public ClassOptimizer(final ClassVisitor cv, final NameMapping mapping) { + super(cv); + this.mapping = mapping; + } + + public String getClassName() { + return className; + } + + // ------------------------------------------------------------------------ + // Overriden methods + // ------------------------------------------------------------------------ + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + className = name; + pkgName = name.substring(0, name.lastIndexOf('/')); + cv.visit(version, + access, + mapping.map(name), + null, + mapping.map(superName), + interfaces); + } + + public void visitSource(final String source, final String debug) { + // remove debug info + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + // remove debug info + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + throw new UnsupportedOperationException(); + } + + public void visitAttribute(final Attribute attr) { + // remove non standard attribute + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + // remove debug info + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + String s = className + "." + name; + if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) == 0) { + if ((access & Opcodes.ACC_FINAL) != 0 + && (access & Opcodes.ACC_STATIC) != 0 && desc.equals("I")) + { + return null; + } + if (pkgName.equals("org/objectweb/asm") + && mapping.map(s).equals(name)) + { + System.out.println("INFO: " + s + " could be renamed"); + } + cv.visitField(access, + mapping.map(s), + mapping.fix(desc), + null, + value); + } else { + if (!mapping.map(s).equals(name)) { + throw new RuntimeException("The public or protected field " + s + + " must not be renamed."); + } + cv.visitField(access, name, desc, null, value); + } + return null; // remove debug info + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + String s = className + "." + name + desc; + if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) == 0) { + if (pkgName.equals("org/objectweb/asm") && !name.startsWith("<") + && mapping.map(s).equals(name)) + { + System.out.println("INFO: " + s + " could be renamed"); + } + return new MethodOptimizer(cv.visitMethod(access, + mapping.map(s), + mapping.fix(desc), + null, + exceptions), mapping); + } else { + if (!mapping.map(s).equals(name)) { + throw new RuntimeException("The public or protected method " + + s + " must not be renamed."); + } + return new MethodOptimizer(cv.visitMethod(access, + name, + desc, + null, + exceptions), mapping); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Constant.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Constant.java new file mode 100644 index 00000000000..b07b7c2d3f5 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Constant.java @@ -0,0 +1,265 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.ClassWriter; + +/** + * A constant pool item. + * + * @author Eric Bruneton + */ +class Constant { + + /** + * Type of this constant pool item. A single class is used to represent all + * constant pool item types, in order to minimize the bytecode size of this + * package. The value of this field is I, J, F, D, S, s, C, T, G, M, or N + * (for Constant Integer, Long, Float, Double, STR, UTF8, Class, NameType, + * Fieldref, Methodref, or InterfaceMethodref constant pool items + * respectively). + */ + char type; + + /** + * Value of this item, for an integer item. + */ + int intVal; + + /** + * Value of this item, for a long item. + */ + long longVal; + + /** + * Value of this item, for a float item. + */ + float floatVal; + + /** + * Value of this item, for a double item. + */ + double doubleVal; + + /** + * First part of the value of this item, for items that do not hold a + * primitive value. + */ + String strVal1; + + /** + * Second part of the value of this item, for items that do not hold a + * primitive value. + */ + String strVal2; + + /** + * Third part of the value of this item, for items that do not hold a + * primitive value. + */ + String strVal3; + + /** + * The hash code value of this constant pool item. + */ + int hashCode; + + public Constant() { + } + + public Constant(final Constant i) { + type = i.type; + intVal = i.intVal; + longVal = i.longVal; + floatVal = i.floatVal; + doubleVal = i.doubleVal; + strVal1 = i.strVal1; + strVal2 = i.strVal2; + strVal3 = i.strVal3; + hashCode = i.hashCode; + } + + /** + * Sets this item to an integer item. + * + * @param intVal the value of this item. + */ + void set(final int intVal) { + this.type = 'I'; + this.intVal = intVal; + this.hashCode = 0x7FFFFFFF & (type + intVal); + } + + /** + * Sets this item to a long item. + * + * @param longVal the value of this item. + */ + void set(final long longVal) { + this.type = 'J'; + this.longVal = longVal; + this.hashCode = 0x7FFFFFFF & (type + (int) longVal); + } + + /** + * Sets this item to a float item. + * + * @param floatVal the value of this item. + */ + void set(final float floatVal) { + this.type = 'F'; + this.floatVal = floatVal; + this.hashCode = 0x7FFFFFFF & (type + (int) floatVal); + } + + /** + * Sets this item to a double item. + * + * @param doubleVal the value of this item. + */ + void set(final double doubleVal) { + this.type = 'D'; + this.doubleVal = doubleVal; + this.hashCode = 0x7FFFFFFF & (type + (int) doubleVal); + } + + /** + * Sets this item to an item that do not hold a primitive value. + * + * @param type the type of this item. + * @param strVal1 first part of the value of this item. + * @param strVal2 second part of the value of this item. + * @param strVal3 third part of the value of this item. + */ + void set( + final char type, + final String strVal1, + final String strVal2, + final String strVal3) + { + this.type = type; + this.strVal1 = strVal1; + this.strVal2 = strVal2; + this.strVal3 = strVal3; + switch (type) { + case 's': + case 'S': + case 'C': + hashCode = 0x7FFFFFFF & (type + strVal1.hashCode()); + return; + case 'T': + hashCode = 0x7FFFFFFF & (type + strVal1.hashCode() + * strVal2.hashCode()); + return; + // case 'G': + // case 'M': + // case 'N': + default: + hashCode = 0x7FFFFFFF & (type + strVal1.hashCode() + * strVal2.hashCode() * strVal3.hashCode()); + } + } + + void write(final ClassWriter cw) { + switch (type) { + case 'I': + cw.newConst(new Integer(intVal)); + break; + case 'J': + cw.newConst(new Long(longVal)); + break; + case 'F': + cw.newConst(new Float(floatVal)); + break; + case 'D': + cw.newConst(new Double(doubleVal)); + break; + case 'S': + cw.newConst(strVal1); + break; + case 's': + cw.newUTF8(strVal1); + break; + case 'C': + cw.newClass(strVal1); + break; + case 'T': + cw.newNameType(strVal1, strVal2); + break; + case 'G': + cw.newField(strVal1, strVal2, strVal3); + break; + case 'M': + cw.newMethod(strVal1, strVal2, strVal3, false); + break; + case 'N': + cw.newMethod(strVal1, strVal2, strVal3, true); + break; + } + } + + public boolean equals(final Object o) { + if (!(o instanceof Constant)) { + return false; + } + Constant c = (Constant) o; + if (c.type == type) { + switch (type) { + case 'I': + return c.intVal == intVal; + case 'J': + return c.longVal == longVal; + case 'F': + return c.floatVal == floatVal; + case 'D': + return c.doubleVal == doubleVal; + case 's': + case 'S': + case 'C': + return c.strVal1.equals(strVal1); + case 'T': + return c.strVal1.equals(strVal1) + && c.strVal2.equals(strVal2); + // case 'G': + // case 'M': + // case 'N': + default: + return c.strVal1.equals(strVal1) + && c.strVal2.equals(strVal2) + && c.strVal3.equals(strVal3); + } + } + return false; + } + + public int hashCode() { + return hashCode; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ConstantPool.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ConstantPool.java new file mode 100644 index 00000000000..c918bef0f8e --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/ConstantPool.java @@ -0,0 +1,198 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import java.util.HashMap; + +import org.objectweb.asm.Type; + +/** + * A constant pool. + * + * @author Eric Bruneton + */ +public class ConstantPool extends HashMap { + + private Constant key1 = new Constant(); + + private Constant key2 = new Constant(); + + private Constant key3 = new Constant(); + + public Constant newInteger(final int value) { + key1.set(value); + Constant result = get(key1); + if (result == null) { + result = new Constant(key1); + put(result); + } + return result; + } + + public Constant newFloat(final float value) { + key1.set(value); + Constant result = get(key1); + if (result == null) { + result = new Constant(key1); + put(result); + } + return result; + } + + public Constant newLong(final long value) { + key1.set(value); + Constant result = get(key1); + if (result == null) { + result = new Constant(key1); + put(result); + } + return result; + } + + public Constant newDouble(final double value) { + key1.set(value); + Constant result = get(key1); + if (result == null) { + result = new Constant(key1); + put(result); + } + return result; + } + + public Constant newUTF8(final String value) { + key1.set('s', value, null, null); + Constant result = get(key1); + if (result == null) { + result = new Constant(key1); + put(result); + } + return result; + } + + private Constant newString(final String value) { + key2.set('S', value, null, null); + Constant result = get(key2); + if (result == null) { + newUTF8(value); + result = new Constant(key2); + put(result); + } + return result; + } + + public Constant newClass(final String value) { + key2.set('C', value, null, null); + Constant result = get(key2); + if (result == null) { + newUTF8(value); + result = new Constant(key2); + put(result); + } + return result; + } + + public Constant newConst(final Object cst) { + if (cst instanceof Integer) { + int val = ((Integer) cst).intValue(); + return newInteger(val); + } else if (cst instanceof Float) { + float val = ((Float) cst).floatValue(); + return newFloat(val); + } else if (cst instanceof Long) { + long val = ((Long) cst).longValue(); + return newLong(val); + } else if (cst instanceof Double) { + double val = ((Double) cst).doubleValue(); + return newDouble(val); + } else if (cst instanceof String) { + return newString((String) cst); + } else if (cst instanceof Type) { + Type t = (Type) cst; + return newClass(t.getSort() == Type.OBJECT + ? t.getInternalName() + : t.getDescriptor()); + } else { + throw new IllegalArgumentException("value " + cst); + } + } + + public Constant newField( + final String owner, + final String name, + final String desc) + { + key3.set('G', owner, name, desc); + Constant result = get(key3); + if (result == null) { + newClass(owner); + newNameType(name, desc); + result = new Constant(key3); + put(result); + } + return result; + } + + public Constant newMethod( + final String owner, + final String name, + final String desc, + final boolean itf) + { + key3.set(itf ? 'N' : 'M', owner, name, desc); + Constant result = get(key3); + if (result == null) { + newClass(owner); + newNameType(name, desc); + result = new Constant(key3); + put(result); + } + return result; + } + + public Constant newNameType(final String name, final String desc) { + key2.set('T', name, desc, null); + Constant result = get(key2); + if (result == null) { + newUTF8(name); + newUTF8(desc); + result = new Constant(key2); + put(result); + } + return result; + } + + private Constant get(final Constant key) { + return (Constant) get((Object) key); + } + + private void put(final Constant cst) { + put(cst, cst); + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.java new file mode 100644 index 00000000000..e5e9b7682ff --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.java @@ -0,0 +1,76 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.FieldVisitor; + +/** + * A {@link FieldVisitor} that collects the {@link Constant}s of the fields it + * visits. + * + * @author Eric Bruneton + */ +public class FieldConstantsCollector implements FieldVisitor { + + private FieldVisitor fv; + + private ConstantPool cp; + + public FieldConstantsCollector(final FieldVisitor fv, final ConstantPool cp) + { + this.fv = fv; + this.cp = cp; + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + cp.newUTF8(desc); + if (visible) { + cp.newUTF8("RuntimeVisibleAnnotations"); + } else { + cp.newUTF8("RuntimeInvisibleAnnotations"); + } + return new AnnotationConstantsCollector(fv.visitAnnotation(desc, + visible), cp); + } + + public void visitAttribute(final Attribute attr) { + // can do nothing + fv.visitAttribute(attr); + } + + public void visitEnd() { + fv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/JarOptimizer.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/JarOptimizer.java new file mode 100644 index 00000000000..8302d99f75f --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/JarOptimizer.java @@ -0,0 +1,87 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; + +/** + * A Jar file optimizer. + * + * @author Eric Bruneton + */ +public class JarOptimizer { + + public static void main(final String[] args) throws IOException { + File f = new File(args[0]); + optimize(f); + } + + static void optimize(final File f) throws IOException { + if (f.isDirectory()) { + File[] files = f.listFiles(); + for (int i = 0; i < files.length; ++i) { + optimize(files[i]); + } + } else if (f.getName().endsWith(".jar")) { + File g = new File(f.getParentFile(), f.getName() + ".new"); + ZipFile zf = new ZipFile(f); + ZipOutputStream out = new ZipOutputStream(new FileOutputStream(g)); + Enumeration e = zf.entries(); + byte[] buf = new byte[10000]; + while (e.hasMoreElements()) { + ZipEntry ze = (ZipEntry) e.nextElement(); + if (ze.isDirectory()) { + continue; + } + out.putNextEntry(ze); + InputStream is = zf.getInputStream(ze); + int n; + do { + n = is.read(buf, 0, buf.length); + if (n != -1) { + out.write(buf, 0, n); + } + } while (n != -1); + out.closeEntry(); + } + out.close(); + zf.close(); + f.delete(); + g.renameTo(f); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.java new file mode 100644 index 00000000000..dc7b1c1d6ac --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.java @@ -0,0 +1,168 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodAdapter; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * An {@link MethodVisitor} that collects the {@link Constant}s of the methods + * it visits. + * + * @author Eric Bruneton + */ +public class MethodConstantsCollector extends MethodAdapter { + + private ConstantPool cp; + + public MethodConstantsCollector( + final MethodVisitor mv, + final ConstantPool cp) + { + super(mv); + this.cp = cp; + } + + public AnnotationVisitor visitAnnotationDefault() { + cp.newUTF8("AnnotationDefault"); + return new AnnotationConstantsCollector(mv.visitAnnotationDefault(), cp); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + cp.newUTF8(desc); + if (visible) { + cp.newUTF8("RuntimeVisibleAnnotations"); + } else { + cp.newUTF8("RuntimeInvisibleAnnotations"); + } + return new AnnotationConstantsCollector(mv.visitAnnotation(desc, + visible), cp); + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + cp.newUTF8(desc); + if (visible) { + cp.newUTF8("RuntimeVisibleParameterAnnotations"); + } else { + cp.newUTF8("RuntimeInvisibleParameterAnnotations"); + } + return new AnnotationConstantsCollector(mv.visitParameterAnnotation(parameter, + desc, + visible), + cp); + } + + public void visitTypeInsn(final int opcode, final String desc) { + cp.newClass(desc); + mv.visitTypeInsn(opcode, desc); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + cp.newField(owner, name, desc); + mv.visitFieldInsn(opcode, owner, name, desc); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + boolean itf = opcode == Opcodes.INVOKEINTERFACE; + cp.newMethod(owner, name, desc, itf); + mv.visitMethodInsn(opcode, owner, name, desc); + } + + public void visitLdcInsn(final Object cst) { + cp.newConst(cst); + mv.visitLdcInsn(cst); + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + cp.newClass(desc); + mv.visitMultiANewArrayInsn(desc, dims); + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + if (type != null) { + cp.newClass(type); + } + mv.visitTryCatchBlock(start, end, handler, type); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + if (signature != null) { + cp.newUTF8("LocalVariableTypeTable"); + cp.newUTF8(name); + cp.newUTF8(signature); + } + cp.newUTF8("LocalVariableTable"); + cp.newUTF8(name); + cp.newUTF8(desc); + mv.visitLocalVariable(name, desc, signature, start, end, index); + } + + public void visitLineNumber(final int line, final Label start) { + cp.newUTF8("LineNumberTable"); + mv.visitLineNumber(line, start); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + cp.newUTF8("Code"); + mv.visitMaxs(maxStack, maxLocals); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodOptimizer.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodOptimizer.java new file mode 100644 index 00000000000..91fa98b2a2f --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/MethodOptimizer.java @@ -0,0 +1,108 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodAdapter; +import org.objectweb.asm.MethodVisitor; + +/** + * A {@link MethodAdapter} that renames fields and methods, and removes debug + * info. + * + * @author Eric Bruneton + */ +public class MethodOptimizer extends MethodAdapter { + + private NameMapping mapping; + + public MethodOptimizer(final MethodVisitor mv, final NameMapping mapping) { + super(mv); + this.mapping = mapping; + } + + // ------------------------------------------------------------------------ + // Overriden methods + // ------------------------------------------------------------------------ + + public AnnotationVisitor visitAnnotationDefault() { + throw new UnsupportedOperationException(); + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + throw new UnsupportedOperationException(); + } + + public void visitTypeInsn(final int opcode, final String desc) { + mv.visitTypeInsn(opcode, desc.startsWith("[") + ? mapping.fix(desc) + : mapping.map(desc)); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + mv.visitFieldInsn(opcode, mapping.map(owner), mapping.map(owner + "." + + name), mapping.fix(desc)); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + mv.visitMethodInsn(opcode, mapping.map(owner), mapping.map(owner + "." + + name + desc), mapping.fix(desc)); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + // remove debug info + } + + public void visitLineNumber(final int line, final Label start) { + // remove debug info + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/NameMapping.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/NameMapping.java new file mode 100644 index 00000000000..9cefb1ffe18 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/NameMapping.java @@ -0,0 +1,101 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import java.io.FileInputStream; +import java.io.IOException; +import java.util.HashSet; +import java.util.Properties; +import java.util.Set; + +import org.objectweb.asm.Type; + +/** + * A mapping from names to names, used to rename classes, fields and methods. + * + * @author Eric Bruneton + */ +public class NameMapping extends Properties { + + public final Set unused; + + public NameMapping(final String file) throws IOException { + load(new FileInputStream(file)); + unused = new HashSet(keySet()); + } + + public String map(final String name) { + String s = (String) get(name); + if (s == null) { + int p = name.indexOf('.'); + if (p != -1) { + int q = name.indexOf('('); + if (q != -1) { + s = name.substring(p + 1, q); + } else { + s = name.substring(p + 1); + } + } else { + s = name; + } + } else { + unused.remove(name); + } + return s; + } + + public String fix(final String desc) { + if (desc.startsWith("(")) { + Type[] arguments = Type.getArgumentTypes(desc); + Type result = Type.getReturnType(desc); + for (int i = 0; i < arguments.length; ++i) { + arguments[i] = fix(arguments[i]); + } + result = fix(result); + return Type.getMethodDescriptor(result, arguments); + } else { + return fix(Type.getType(desc)).getDescriptor(); + } + } + + private Type fix(final Type t) { + if (t.getSort() == Type.OBJECT) { + return Type.getType("L" + map(t.getInternalName()) + ";"); + } else if (t.getSort() == Type.ARRAY) { + String s = fix(t.getElementType()).getDescriptor(); + for (int i = 0; i < t.getDimensions(); ++i) { + s = "[" + s; + } + return Type.getType(s); + } else { + return t; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Shrinker.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Shrinker.java new file mode 100644 index 00000000000..94e4068f0e5 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/Shrinker.java @@ -0,0 +1,168 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.optimizer; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Comparator; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeSet; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; + +/** + * A class file shrinker utility. + * + * @author Eric Bruneton + */ +public class Shrinker { + + public static void main(final String[] args) throws IOException { + NameMapping mapping = new NameMapping(args[0]); + File f = new File(args[1]); + File d = new File(args[2]); + optimize(f, d, mapping); + Iterator i = mapping.unused.iterator(); + while (i.hasNext()) { + System.out.println("INFO: unused mapping " + i.next()); + } + } + + static void optimize(final File f, final File d, final NameMapping mapping) + throws IOException + { + if (f.isDirectory()) { + File[] files = f.listFiles(); + for (int i = 0; i < files.length; ++i) { + optimize(files[i], d, mapping); + } + } else if (f.getName().endsWith(".class")) { + ConstantPool cp = new ConstantPool(); + ClassReader cr = new ClassReader(new FileInputStream(f)); + ClassWriter cw = new ClassWriter(false); + ClassConstantsCollector ccc = new ClassConstantsCollector(cw, cp); + ClassOptimizer co = new ClassOptimizer(ccc, mapping); + cr.accept(co, true); + + Set constants = new TreeSet(new ConstantComparator()); + constants.addAll(cp.values()); + + cr = new ClassReader(cw.toByteArray()); + cw = new ClassWriter(false); + Iterator i = constants.iterator(); + while (i.hasNext()) { + Constant c = (Constant) i.next(); + c.write(cw); + } + cr.accept(cw, true); + + String n = mapping.map(co.getClassName()); + File g = new File(d, n + ".class"); + if (!g.exists() || g.lastModified() < f.lastModified()) { + g.getParentFile().mkdirs(); + OutputStream os = new FileOutputStream(g); + os.write(cw.toByteArray()); + os.close(); + } + } + } + + static class ConstantComparator implements Comparator { + + public int compare(final Object o1, final Object o2) { + Constant c1 = (Constant) o1; + Constant c2 = (Constant) o2; + int d = getSort(c1) - getSort(c2); + if (d == 0) { + switch (c1.type) { + case 'I': + return new Integer(c1.intVal).compareTo(new Integer(c2.intVal)); + case 'J': + return new Long(c1.longVal).compareTo(new Long(c2.longVal)); + case 'F': + return new Float(c1.floatVal).compareTo(new Float(c2.floatVal)); + case 'D': + return new Double(c1.doubleVal).compareTo(new Double(c2.doubleVal)); + case 's': + case 'S': + case 'C': + return c1.strVal1.compareTo(c2.strVal1); + case 'T': + d = c1.strVal1.compareTo(c2.strVal1); + if (d == 0) { + d = c1.strVal2.compareTo(c2.strVal2); + } + break; + default: + d = c1.strVal1.compareTo(c2.strVal1); + if (d == 0) { + d = c1.strVal2.compareTo(c2.strVal2); + if (d == 0) { + d = c1.strVal3.compareTo(c2.strVal3); + } + } + } + } + return d; + } + + private int getSort(Constant c) { + switch (c.type) { + case 'I': + return 0; + case 'J': + return 1; + case 'F': + return 2; + case 'D': + return 3; + case 's': + return 4; + case 'S': + return 5; + case 'C': + return 6; + case 'T': + return 7; + case 'G': + return 8; + case 'M': + return 9; + default: + return 10; + } + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties new file mode 100644 index 00000000000..868780bdd2d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties @@ -0,0 +1,225 @@ +# class mappings + +#org/objectweb/asm/Edge=org/objectweb/asm/a +#org/objectweb/asm/Item=org/objectweb/asm/b +#org/objectweb/asm/FieldWriter=org/objectweb/asm/c +#org/objectweb/asm/MethodWriter=org/objectweb/asm/d +#org/objectweb/asm/AnnotationWriter=org/objectweb/asm/e + +# field mappings + +org/objectweb/asm/AnnotationWriter.cw=a +org/objectweb/asm/AnnotationWriter.size=b +org/objectweb/asm/AnnotationWriter.named=c +org/objectweb/asm/AnnotationWriter.bv=d +org/objectweb/asm/AnnotationWriter.parent=e +org/objectweb/asm/AnnotationWriter.offset=f +org/objectweb/asm/AnnotationWriter.next=g +org/objectweb/asm/AnnotationWriter.prev=h + +org/objectweb/asm/Attribute.next=a +org/objectweb/asm/Attribute.value=b + +org/objectweb/asm/ByteVector.data=a +org/objectweb/asm/ByteVector.length=b + +org/objectweb/asm/ClassReader.items=a +org/objectweb/asm/ClassReader.strings=c +org/objectweb/asm/ClassReader.maxStringLength=d +#org/objectweb/asm/ClassReader.header=e + +org/objectweb/asm/ClassWriter.TYPE=a +org/objectweb/asm/ClassWriter.version=b +org/objectweb/asm/ClassWriter.index=c +org/objectweb/asm/ClassWriter.pool=d +org/objectweb/asm/ClassWriter.items=e +org/objectweb/asm/ClassWriter.threshold=f +org/objectweb/asm/ClassWriter.key=g +org/objectweb/asm/ClassWriter.key2=h +org/objectweb/asm/ClassWriter.key3=i +org/objectweb/asm/ClassWriter.access=j +org/objectweb/asm/ClassWriter.name=k +org/objectweb/asm/ClassWriter.signature=l +org/objectweb/asm/ClassWriter.superName=m +org/objectweb/asm/ClassWriter.interfaceCount=n +org/objectweb/asm/ClassWriter.interfaces=o +org/objectweb/asm/ClassWriter.sourceFile=p +org/objectweb/asm/ClassWriter.sourceDebug=q +org/objectweb/asm/ClassWriter.enclosingMethodOwner=r +org/objectweb/asm/ClassWriter.enclosingMethod=s +org/objectweb/asm/ClassWriter.anns=t +org/objectweb/asm/ClassWriter.ianns=u +org/objectweb/asm/ClassWriter.attrs=v +org/objectweb/asm/ClassWriter.innerClassesCount=w +org/objectweb/asm/ClassWriter.innerClasses=x +org/objectweb/asm/ClassWriter.firstField=y +org/objectweb/asm/ClassWriter.lastField=z +org/objectweb/asm/ClassWriter.firstMethod=A +org/objectweb/asm/ClassWriter.lastMethod=B +org/objectweb/asm/ClassWriter.computeMaxs=C +org/objectweb/asm/ClassWriter.cr=D + +org/objectweb/asm/Edge.stackSize=a +org/objectweb/asm/Edge.successor=b +org/objectweb/asm/Edge.next=c + +org/objectweb/asm/Handler.start=a +org/objectweb/asm/Handler.end=b +org/objectweb/asm/Handler.handler=c +org/objectweb/asm/Handler.desc=d +org/objectweb/asm/Handler.type=e +org/objectweb/asm/Handler.next=f + +org/objectweb/asm/FieldWriter.next=a +org/objectweb/asm/FieldWriter.cw=b +org/objectweb/asm/FieldWriter.access=c +org/objectweb/asm/FieldWriter.name=d +org/objectweb/asm/FieldWriter.desc=e +org/objectweb/asm/FieldWriter.signature=f +org/objectweb/asm/FieldWriter.value=g +org/objectweb/asm/FieldWriter.anns=h +org/objectweb/asm/FieldWriter.ianns=i +org/objectweb/asm/FieldWriter.attrs=j + +org/objectweb/asm/Item.index=a +org/objectweb/asm/Item.type=b +org/objectweb/asm/Item.intVal=c +org/objectweb/asm/Item.longVal=d +org/objectweb/asm/Item.floatVal=e +org/objectweb/asm/Item.doubleVal=f +org/objectweb/asm/Item.strVal1=g +org/objectweb/asm/Item.strVal2=h +org/objectweb/asm/Item.strVal3=i +org/objectweb/asm/Item.hashCode=j +org/objectweb/asm/Item.next=k + +org/objectweb/asm/Label.resolved=a +org/objectweb/asm/Label.position=b +org/objectweb/asm/Label.resized=c +org/objectweb/asm/Label.referenceCount=d +org/objectweb/asm/Label.srcAndRefPositions=e +org/objectweb/asm/Label.beginStackSize=f +org/objectweb/asm/Label.maxStackSize=g +org/objectweb/asm/Label.successors=h +org/objectweb/asm/Label.next=i +org/objectweb/asm/Label.pushed=j +org/objectweb/asm/Label.line=k + +org/objectweb/asm/MethodWriter.next=a +org/objectweb/asm/MethodWriter.cw=b +org/objectweb/asm/MethodWriter.access=c +org/objectweb/asm/MethodWriter.name=d +org/objectweb/asm/MethodWriter.desc=e +org/objectweb/asm/MethodWriter.descriptor=f +org/objectweb/asm/MethodWriter.signature=g +org/objectweb/asm/MethodWriter.exceptionCount=h +org/objectweb/asm/MethodWriter.exceptions=i +org/objectweb/asm/MethodWriter.annd=j +org/objectweb/asm/MethodWriter.anns=k +org/objectweb/asm/MethodWriter.ianns=l +org/objectweb/asm/MethodWriter.panns=m +org/objectweb/asm/MethodWriter.ipanns=n +org/objectweb/asm/MethodWriter.attrs=o +org/objectweb/asm/MethodWriter.code=p +org/objectweb/asm/MethodWriter.maxStack=q +org/objectweb/asm/MethodWriter.maxLocals=r +org/objectweb/asm/MethodWriter.catchCount=s +org/objectweb/asm/MethodWriter.catchTable=t +org/objectweb/asm/MethodWriter.localVarCount=u +org/objectweb/asm/MethodWriter.localVar=v +org/objectweb/asm/MethodWriter.localVarTypeCount=w +org/objectweb/asm/MethodWriter.localVarType=x +org/objectweb/asm/MethodWriter.lineNumberCount=y +org/objectweb/asm/MethodWriter.lineNumber=z +org/objectweb/asm/MethodWriter.cattrs=A +org/objectweb/asm/MethodWriter.resize=B +org/objectweb/asm/MethodWriter.computeMaxs=C +org/objectweb/asm/MethodWriter.stackSize=D +org/objectweb/asm/MethodWriter.maxStackSize=E +org/objectweb/asm/MethodWriter.currentBlock=F +org/objectweb/asm/MethodWriter.blockStack=G +org/objectweb/asm/MethodWriter.SIZE=H +org/objectweb/asm/MethodWriter.classReaderOffset=I +org/objectweb/asm/MethodWriter.classReaderLength=J +org/objectweb/asm/MethodWriter.lastHandler=K + +org/objectweb/asm/Type.sort=a +org/objectweb/asm/Type.buf=b +org/objectweb/asm/Type.off=c +org/objectweb/asm/Type.len=d + +org/objectweb/asm/signature/SignatureReader.signature=a + +org/objectweb/asm/signature/SignatureWriter.buf=a +org/objectweb/asm/signature/SignatureWriter.hasFormals=b +org/objectweb/asm/signature/SignatureWriter.hasParameters=c +org/objectweb/asm/signature/SignatureWriter.argumentStack=d + +# method mappings + +org/objectweb/asm/AnnotationWriter.getSize()I=a +org/objectweb/asm/AnnotationWriter.put([Lorg/objectweb/asm/AnnotationWriter;Lorg/objectweb/asm/ByteVector;)V=a +org/objectweb/asm/AnnotationWriter.put(Lorg/objectweb/asm/ByteVector;)V=a + +org/objectweb/asm/Attribute.getCount()I=a +org/objectweb/asm/Attribute.getSize(Lorg/objectweb/asm/ClassWriter;[BIII)I=a +org/objectweb/asm/Attribute.put(Lorg/objectweb/asm/ClassWriter;[BIIILorg/objectweb/asm/ByteVector;)V=a + +org/objectweb/asm/ByteVector.enlarge(I)V=a +org/objectweb/asm/ByteVector.put11(II)Lorg/objectweb/asm/ByteVector;=a +org/objectweb/asm/ByteVector.put12(II)Lorg/objectweb/asm/ByteVector;=b + +org/objectweb/asm/ClassReader.copyPool(Lorg/objectweb/asm/ClassWriter;)V=a +org/objectweb/asm/ClassReader.readAnnotationValue(I[CLjava/lang/String;Lorg/objectweb/asm/AnnotationVisitor;)I=a +org/objectweb/asm/ClassReader.readAnnotationValues(I[CLorg/objectweb/asm/AnnotationVisitor;)I=a +org/objectweb/asm/ClassReader.readAttribute([Lorg/objectweb/asm/Attribute;Ljava/lang/String;II[CI[Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Attribute;=a +org/objectweb/asm/ClassReader.readClass(Ljava/io/InputStream;)[B=a +org/objectweb/asm/ClassReader.readParameterAnnotations(I[CZLorg/objectweb/asm/MethodVisitor;)V=a +org/objectweb/asm/ClassReader.readUTF(II[C)Ljava/lang/String;=a + +org/objectweb/asm/ClassWriter.get(Lorg/objectweb/asm/Item;)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newClassItem(Ljava/lang/String;)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newConstItem(Ljava/lang/Object;)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newDouble(D)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newFloat(F)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newInteger(I)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newLong(J)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newMethodItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/objectweb/asm/Item;=a +org/objectweb/asm/ClassWriter.newString(Ljava/lang/String;)Lorg/objectweb/asm/Item;=b +org/objectweb/asm/ClassWriter.put122(III)V=a +org/objectweb/asm/ClassWriter.put(Lorg/objectweb/asm/Item;)V=b + +org/objectweb/asm/FieldWriter.getSize()I=a +org/objectweb/asm/FieldWriter.put(Lorg/objectweb/asm/ByteVector;)V=a + +org/objectweb/asm/Item.isEqualTo(Lorg/objectweb/asm/Item;)Z=a +org/objectweb/asm/Item.set(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V=a +org/objectweb/asm/Item.set(D)V=a +org/objectweb/asm/Item.set(F)V=a +org/objectweb/asm/Item.set(I)V=a +org/objectweb/asm/Item.set(J)V=a + +org/objectweb/asm/Label.addReference(II)V=a +org/objectweb/asm/Label.put(Lorg/objectweb/asm/MethodWriter;Lorg/objectweb/asm/ByteVector;IZ)V=a +org/objectweb/asm/Label.resolve(Lorg/objectweb/asm/MethodWriter;I[B)Z=a + +org/objectweb/asm/MethodWriter.addSuccessor(ILorg/objectweb/asm/Label;)V=a +org/objectweb/asm/MethodWriter.getArgumentsAndReturnSizes(Ljava/lang/String;)I=a +org/objectweb/asm/MethodWriter.getNewOffset([I[III)I=a +org/objectweb/asm/MethodWriter.getSize()I=a +org/objectweb/asm/MethodWriter.put(Lorg/objectweb/asm/ByteVector;)V=a +org/objectweb/asm/MethodWriter.readInt([BI)I=a +org/objectweb/asm/MethodWriter.readShort([BI)S=b +org/objectweb/asm/MethodWriter.readUnsignedShort([BI)I=c +org/objectweb/asm/MethodWriter.resizeInstructions([I[II)[I=a +org/objectweb/asm/MethodWriter.writeShort([BII)V=a +org/objectweb/asm/MethodWriter.getNewOffset([I[ILorg/objectweb/asm/Label;)V=a + +org/objectweb/asm/Type.getType([CI)Lorg/objectweb/asm/Type;=a +org/objectweb/asm/Type.getDescriptor(Ljava/lang/StringBuffer;)V=a +org/objectweb/asm/Type.getDescriptor(Ljava/lang/StringBuffer;Ljava/lang/Class;)V=a + +org/objectweb/asm/signature/SignatureReader.parseType(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I=a + +org/objectweb/asm/signature/SignatureWriter.endFormals()V=a +org/objectweb/asm/signature/SignatureWriter.endArguments()V=b diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/package.html new file mode 100644 index 00000000000..1383dbee521 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/package.html @@ -0,0 +1,87 @@ + + + +Provides a small and fast bytecode manipulation framework. + +

      +The ASM framework is organized +around the {@link org.objectweb.asm.ClassVisitor ClassVisitor}, +{@link org.objectweb.asm.FieldVisitor FieldVisitor} and +{@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces, which allow +one to visit the fields and methods of a class, including the bytecode +instructions of each method. + +

      +In addition to these main interfaces, ASM provides a {@link +org.objectweb.asm.ClassReader ClassReader} class, that can parse an +existing class and make a given visitor visit it. ASM also provides +a {@link org.objectweb.asm.ClassWriter ClassWriter} class, which is +a visitor that generates Java class files. + +

      +In order to generate a class from scratch, only the {@link +org.objectweb.asm.ClassWriter ClassWriter} class is necessary. Indeed, +in order to generate a class, one must just call its visitXXX +methods with the appropriate arguments to generate the desired fields +and methods. See the "helloworld" example in the ASM distribution for +more details about class generation. + +

      +In order to modify existing classes, one must use a {@link +org.objectweb.asm.ClassReader ClassReader} class to analyze +the original class, a class modifier, and a {@link org.objectweb.asm.ClassWriter +ClassWriter} to construct the modified class. The class modifier +is just a {@link org.objectweb.asm.ClassVisitor ClassVisitor} +that delegates most of the work to another {@link org.objectweb.asm.ClassVisitor +ClassVisitor}, but that sometimes changes some parameter values, +or call additional methods, in order to implement the desired +modification process. In order to make it easier to implement such +class modifiers, ASM provides the {@link org.objectweb.asm.ClassAdapter +ClassAdapter} and {@link org.objectweb.asm.MethodAdapter MethodAdapter} +classes, which implement the {@link org.objectweb.asm.ClassVisitor ClassVisitor} +and {@link org.objectweb.asm.MethodVisitor MethodVisitor} interfaces by +delegating all work to other visitors. See the "adapt" example in the ASM +distribution for more details about class modification. + +

      +The size of the core ASM library, asm.jar, is only 31KB, which is much +more smaller than +the size of the BCEL library (350KB +without the class verifier), and than the size of the +SERP library (150KB). ASM is also +much more faster than these tools. Indeed the overhead of a load time class +transformation process is of the order of 60% with ASM, 700% or more with BCEL, +and 1100% or more with SERP (see the test/perf directory in the ASM +distribution)! + +@since ASM 1.3 + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureReader.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureReader.java new file mode 100644 index 00000000000..363692d8607 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureReader.java @@ -0,0 +1,233 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.signature; + +/** + * A type signature parser to make a signature visitor visit an existing + * signature. + * + * @author Thomas Hallgren + * @author Eric Bruneton + */ +public class SignatureReader { + + /** + * The signature to be read. + */ + private final String signature; + + /** + * Constructs a {@link SignatureReader} for the given signature. + * + * @param signature A ClassSignature, MethodTypeSignature, + * or FieldTypeSignature. + */ + public SignatureReader(final String signature) { + this.signature = signature; + } + + /** + * Makes the given visitor visit the signature of this + * {@link SignatureReader}. This signature is the one specified in the + * constructor (see {@link #SignatureReader(String) SignatureReader}). This + * method is intended to be called on a {@link SignatureReader} that was + * created using a ClassSignature (such as the + * signature parameter of the + * {@link org.objectweb.asm.ClassVisitor#visit ClassVisitor.visit} method) + * or a MethodTypeSignature (such as the signature + * parameter of the + * {@link org.objectweb.asm.ClassVisitor#visitMethod ClassVisitor.visitMethod} + * method). + * + * @param v the visitor that must visit this signature. + */ + public void accept(final SignatureVisitor v) { + String signature = this.signature; + int len = signature.length(); + int pos; + char c; + + if (signature.charAt(0) == '<') { + pos = 2; + do { + int end = signature.indexOf(':', pos); + v.visitFormalTypeParameter(signature.substring(pos - 1, end)); + pos = end + 1; + + c = signature.charAt(pos); + if (c == 'L' || c == '[' || c == 'T') { + pos = parseType(signature, pos, v.visitClassBound()); + } + + for (;;) { + if ((c = signature.charAt(pos++)) == ':') { + pos = parseType(signature, pos, v.visitInterfaceBound()); + } else { + break; + } + } + } while (c != '>'); + } else { + pos = 0; + } + + if (signature.charAt(pos) == '(') { + pos = pos + 1; + while (signature.charAt(pos) != ')') { + pos = parseType(signature, pos, v.visitParameterType()); + } + pos = parseType(signature, pos + 1, v.visitReturnType()); + while (pos < len) { + pos = parseType(signature, pos + 1, v.visitExceptionType()); + } + } else { + pos = parseType(signature, pos, v.visitSuperclass()); + while (pos < len) { + pos = parseType(signature, pos, v.visitInterface()); + } + } + } + + /** + * Makes the given visitor visit the signature of this + * {@link SignatureReader}. This signature is the one specified in the + * constructor (see {@link #SignatureReader(String) SignatureReader}). This + * method is intended to be called on a {@link SignatureReader} that was + * created using a FieldTypeSignature, such as the + * signature parameter of the + * {@link org.objectweb.asm.ClassVisitor#visitField + * ClassVisitor.visitField} or {@link + * org.objectweb.asm.MethodVisitor#visitLocalVariable + * MethodVisitor.visitLocalVariable} methods. + * + * @param v the visitor that must visit this signature. + */ + public void acceptType(final SignatureVisitor v) { + parseType(this.signature, 0, v); + } + + /** + * Parses a field type signature and makes the given visitor visit it. + * + * @param signature a string containing the signature that must be parsed. + * @param pos index of the first character of the signature to parsed. + * @param v the visitor that must visit this signature. + * @return the index of the first character after the parsed signature. + */ + private static int parseType( + final String signature, + int pos, + final SignatureVisitor v) + { + char c; + int start, end; + boolean visited, inner; + String name; + + switch (c = signature.charAt(pos++)) { + case 'Z': + case 'C': + case 'B': + case 'S': + case 'I': + case 'F': + case 'J': + case 'D': + case 'V': + v.visitBaseType(c); + return pos; + + case '[': + return parseType(signature, pos, v.visitArrayType()); + + case 'T': + end = signature.indexOf(';', pos); + v.visitTypeVariable(signature.substring(pos, end)); + return end + 1; + + default: // case 'L': + start = pos; + visited = false; + inner = false; + for (;;) { + switch (c = signature.charAt(pos++)) { + case '.': + case ';': + if (!visited) { + name = signature.substring(start, pos - 1); + if (inner) { + v.visitInnerClassType(name); + } else { + v.visitClassType(name); + } + } + if (c == ';') { + v.visitEnd(); + return pos; + } + start = pos; + visited = false; + inner = true; + break; + + case '<': + name = signature.substring(start, pos - 1); + if (inner) { + v.visitInnerClassType(name); + } else { + v.visitClassType(name); + } + visited = true; + top: for (;;) { + switch (c = signature.charAt(pos)) { + case '>': + break top; + case '*': + ++pos; + v.visitTypeArgument(); + break; + case '+': + case '-': + pos = parseType(signature, + pos + 1, + v.visitTypeArgument(c)); + break; + default: + pos = parseType(signature, + pos, + v.visitTypeArgument('=')); + break; + } + } + } + } + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureVisitor.java new file mode 100644 index 00000000000..8f087bd2ef7 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureVisitor.java @@ -0,0 +1,185 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.signature; + +/** + * A visitor to visit a generic signature. The methods of this interface must be + * called in one of the three following orders (the last one is the only valid + * order for a {@link SignatureVisitor} that is returned by a method of this + * interface):

      • ClassSignature = ( + * visitFormalTypeParameter + * visitClassBound? + * visitInterfaceBound* )* ( visitSuperClass + * visitInterface* )
      • + *
      • MethodSignature = ( visitFormalTypeParameter + * visitClassBound? + * visitInterfaceBound* )* ( visitParameterType* + * visitReturnType + * visitExceptionType* )
      • TypeSignature = + * visitBaseType | visitTypeVariable | + * visitArrayType | ( + * visitClassType visitTypeArgument* ( + * visitInnerClassType visitTypeArgument* )* + * visitEnd ) )
      + * + * @author Thomas Hallgren + * @author Eric Bruneton + */ +public interface SignatureVisitor { + + /** + * Wildcard for an "extends" type argument. + */ + char EXTENDS = '+'; + + /** + * Wildcard for a "super" type argument. + */ + char SUPER = '-'; + + /** + * Wildcard for a normal type argument. + */ + char INSTANCEOF = '='; + + /** + * Visits a formal type parameter. + * + * @param name the name of the formal parameter. + */ + void visitFormalTypeParameter(String name); + + /** + * Visits the class bound of the last visited formal type parameter. + * + * @return a non null visitor to visit the signature of the class bound. + */ + SignatureVisitor visitClassBound(); + + /** + * Visits an interface bound of the last visited formal type parameter. + * + * @return a non null visitor to visit the signature of the interface bound. + */ + SignatureVisitor visitInterfaceBound(); + + /** + * Visits the type of the super class. + * + * @return a non null visitor to visit the signature of the super class + * type. + */ + SignatureVisitor visitSuperclass(); + + /** + * Visits the type of an interface implemented by the class. + * + * @return a non null visitor to visit the signature of the interface type. + */ + SignatureVisitor visitInterface(); + + /** + * Visits the type of a method parameter. + * + * @return a non null visitor to visit the signature of the parameter type. + */ + SignatureVisitor visitParameterType(); + + /** + * Visits the return type of the method. + * + * @return a non null visitor to visit the signature of the return type. + */ + SignatureVisitor visitReturnType(); + + /** + * Visits the type of a method exception. + * + * @return a non null visitor to visit the signature of the exception type. + */ + SignatureVisitor visitExceptionType(); + + /** + * Visits a signature corresponding to a primitive type. + * + * @param descriptor the descriptor of the primitive type, or 'V' for + * void. + */ + void visitBaseType(char descriptor); + + /** + * Visits a signature corresponding to a type variable. + * + * @param name the name of the type variable. + */ + void visitTypeVariable(String name); + + /** + * Visits a signature corresponding to an array type. + * + * @return a non null visitor to visit the signature of the array element + * type. + */ + SignatureVisitor visitArrayType(); + + /** + * Starts the visit of a signature corresponding to a class or interface + * type. + * + * @param name the internal name of the class or interface. + */ + void visitClassType(String name); + + /** + * Visits an inner class. + * + * @param name the local name of the inner class in its enclosing class. + */ + void visitInnerClassType(String name); + + /** + * Visits an unbounded type argument of the last visited class or inner + * class type. + */ + void visitTypeArgument(); + + /** + * Visits a type argument of the last visited class or inner class type. + * + * @param wildcard '+', '-' or '='. + * @return a non null visitor to visit the signature of the type argument. + */ + SignatureVisitor visitTypeArgument(char wildcard); + + /** + * Ends the visit of a signature corresponding to a class or interface type. + */ + void visitEnd(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureWriter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureWriter.java new file mode 100644 index 00000000000..b78d666a59c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/SignatureWriter.java @@ -0,0 +1,207 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.signature; + +/** + * A signature visitor that generates signatures in string format. + * + * @author Thomas Hallgren + * @author Eric Bruneton + */ +public class SignatureWriter implements SignatureVisitor { + + /** + * Buffer used to construct the signature. + */ + private final StringBuffer buf = new StringBuffer(); + + /** + * Indicates if the signature contains formal type parameters. + */ + private boolean hasFormals; + + /** + * Indicates if the signature contains method parameter types. + */ + private boolean hasParameters; + + /** + * Stack used to keep track of class types that have arguments. Each element + * of this stack is a boolean encoded in one bit. The top of the stack is + * the lowest order bit. Pushing false = *2, pushing true = *2+1, popping = + * /2. + */ + private int argumentStack; + + /** + * Constructs a new {@link SignatureWriter} object. + */ + public SignatureWriter() { + } + + // ------------------------------------------------------------------------ + // Implementation of the SignatureVisitor interface + // ------------------------------------------------------------------------ + + public void visitFormalTypeParameter(String name) { + if (!hasFormals) { + hasFormals = true; + buf.append('<'); + } + buf.append(name); + buf.append(':'); + } + + public SignatureVisitor visitClassBound() { + return this; + } + + public SignatureVisitor visitInterfaceBound() { + buf.append(':'); + return this; + } + + public SignatureVisitor visitSuperclass() { + endFormals(); + return this; + } + + public SignatureVisitor visitInterface() { + return this; + } + + public SignatureVisitor visitParameterType() { + endFormals(); + if (!hasParameters) { + hasParameters = true; + buf.append('('); + } + return this; + } + + public SignatureVisitor visitReturnType() { + endFormals(); + if (!hasParameters) { + buf.append('('); + } + buf.append(')'); + return this; + } + + public SignatureVisitor visitExceptionType() { + buf.append('^'); + return this; + } + + public void visitBaseType(char descriptor) { + buf.append(descriptor); + } + + public void visitTypeVariable(String name) { + buf.append('T'); + buf.append(name); + buf.append(';'); + } + + public SignatureVisitor visitArrayType() { + buf.append('['); + return this; + } + + public void visitClassType(String name) { + buf.append('L'); + buf.append(name); + argumentStack *= 2; + } + + public void visitInnerClassType(String name) { + endArguments(); + buf.append('.'); + buf.append(name); + argumentStack *= 2; + } + + public void visitTypeArgument() { + if (argumentStack % 2 == 0) { + ++argumentStack; + buf.append('<'); + } + buf.append('*'); + } + + public SignatureVisitor visitTypeArgument(char wildcard) { + if (argumentStack % 2 == 0) { + ++argumentStack; + buf.append('<'); + } + if (wildcard != '=') { + buf.append(wildcard); + } + return this; + } + + public void visitEnd() { + endArguments(); + buf.append(';'); + } + + /** + * Returns the signature that was built by this signature writer. + * + * @return the signature that was built by this signature writer. + */ + public String toString() { + return buf.toString(); + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Ends the formal type parameters section of the signature. + */ + private void endFormals() { + if (hasFormals) { + hasFormals = false; + buf.append('>'); + } + } + + /** + * Ends the type arguments of a class or inner class type. + */ + private void endArguments() { + if (argumentStack % 2 == 1) { + buf.append('>'); + } + argumentStack /= 2; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html new file mode 100644 index 00000000000..21f103a30d5 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html @@ -0,0 +1,36 @@ + + + +Provides support for type signatures. + +@since ASM 2.0 + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AbstractInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AbstractInsnNode.java new file mode 100644 index 00000000000..1f695e00ef9 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AbstractInsnNode.java @@ -0,0 +1,143 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a bytecode instruction. + * + * @author Eric Bruneton + */ +public abstract class AbstractInsnNode { + + /** + * The type of {@link InsnNode} instructions. + */ + public final static int INSN = 0; + + /** + * The type of {@link IntInsnNode} instructions. + */ + public final static int INT_INSN = 1; + + /** + * The type of {@link VarInsnNode} instructions. + */ + public final static int VAR_INSN = 2; + + /** + * The type of {@link TypeInsnNode} instructions. + */ + public final static int TYPE_INSN = 3; + + /** + * The type of {@link FieldInsnNode} instructions. + */ + public final static int FIELD_INSN = 4; + + /** + * The type of {@link MethodInsnNode} instructions. + */ + public final static int METHOD_INSN = 5; + + /** + * The type of {@link JumpInsnNode} instructions. + */ + public final static int JUMP_INSN = 6; + + /** + * The type of {@link LabelNode} "instructions". + */ + public final static int LABEL = 7; + + /** + * The type of {@link LdcInsnNode} instructions. + */ + public final static int LDC_INSN = 8; + + /** + * The type of {@link IincInsnNode} instructions. + */ + public final static int IINC_INSN = 9; + + /** + * The type of {@link TableSwitchInsnNode} instructions. + */ + public final static int TABLESWITCH_INSN = 10; + + /** + * The type of {@link LookupSwitchInsnNode} instructions. + */ + public final static int LOOKUPSWITCH_INSN = 11; + + /** + * The type of {@link MultiANewArrayInsnNode} instructions. + */ + public final static int MULTIANEWARRAY_INSN = 12; + + /** + * The opcode of this instruction. + */ + protected int opcode; + + /** + * Constructs a new {@link AbstractInsnNode}. + * + * @param opcode the opcode of the instruction to be constructed. + */ + protected AbstractInsnNode(final int opcode) { + this.opcode = opcode; + } + + /** + * Returns the opcode of this instruction. + * + * @return the opcode of this instruction. + */ + public int getOpcode() { + return opcode; + } + + /** + * Returns the type of this instruction. + * + * @return the type of this instruction, i.e. one the constants defined in + * this class. + */ + public abstract int getType(); + + /** + * Makes the given code visitor visit this instruction. + * + * @param cv a code visitor. + */ + public abstract void accept(final MethodVisitor cv); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AnnotationNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AnnotationNode.java new file mode 100644 index 00000000000..4911e3e6e57 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/AnnotationNode.java @@ -0,0 +1,187 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import java.util.ArrayList; +import java.util.List; + +import org.objectweb.asm.AnnotationVisitor; + +/** + * A node that represents an annotationn. + * + * @author Eric Bruneton + */ +public class AnnotationNode implements AnnotationVisitor { + + /** + * The class descriptor of the annotation class. + */ + public String desc; + + /** + * The name value pairs of this annotation. Each name value pair is stored + * as two consecutive elements in the list. The name is a {@link String}, + * and the value may be a {@link Byte}, {@link Boolean}, {@link Character}, + * {@link Short}, {@link Integer}, {@link Long}, {@link Float}, + * {@link Double}, {@link String} or {@link org.objectweb.asm.Type}, or an + * two elements String array (for enumeration values), a + * {@link AnnotationNode}, or a {@link List} of values of one of the + * preceding types. The list may be null if there is no name + * value pair. + */ + public List values; + + /** + * Constructs a new {@link AnnotationNode}. + * + * @param desc the class descriptor of the annotation class. + */ + public AnnotationNode(final String desc) { + this.desc = desc; + } + + /** + * Constructs a new {@link AnnotationNode} to visit an array value. + * + * @param values where the visited values must be stored. + */ + AnnotationNode(final List values) { + this.values = values; + } + + // ------------------------------------------------------------------------ + // Implementation of the AnnotationVisitor interface + // ------------------------------------------------------------------------ + + public void visit(final String name, final Object value) { + if (values == null) { + values = new ArrayList(this.desc != null ? 2 : 1); + } + if (this.desc != null) { + values.add(name); + } + values.add(value); + } + + public void visitEnum( + final String name, + final String desc, + final String value) + { + if (values == null) { + values = new ArrayList(this.desc != null ? 2 : 1); + } + if (this.desc != null) { + values.add(name); + } + values.add(new String[] { desc, value }); + } + + public AnnotationVisitor visitAnnotation( + final String name, + final String desc) + { + if (values == null) { + values = new ArrayList(this.desc != null ? 2 : 1); + } + if (this.desc != null) { + values.add(name); + } + AnnotationNode annotation = new AnnotationNode(desc); + values.add(annotation); + return annotation; + } + + public AnnotationVisitor visitArray(final String name) { + if (values == null) { + values = new ArrayList(this.desc != null ? 2 : 1); + } + if (this.desc != null) { + values.add(name); + } + List array = new ArrayList(); + values.add(array); + return new AnnotationNode(array); + } + + public void visitEnd() { + } + + // ------------------------------------------------------------------------ + // Accept methods + // ------------------------------------------------------------------------ + + /** + * Makes the given visitor visit this annotation. + * + * @param av an annotation visitor. + */ + public void accept(final AnnotationVisitor av) { + if (values != null) { + for (int i = 0; i < values.size(); i += 2) { + String name = (String) values.get(i); + Object value = values.get(i + 1); + accept(av, name, value); + } + } + av.visitEnd(); + } + + /** + * Makes the given visitor visit a given annotation value. + * + * @param av an annotation visitor. + * @param name the value name. + * @param value the actual value. + */ + static void accept( + final AnnotationVisitor av, + final String name, + final Object value) + { + if (value instanceof String[]) { + String[] typeconst = (String[]) value; + av.visitEnum(name, typeconst[0], typeconst[1]); + } else if (value instanceof AnnotationNode) { + AnnotationNode an = (AnnotationNode) value; + an.accept(av.visitAnnotation(name, an.desc)); + } else if (value instanceof List) { + AnnotationVisitor v = av.visitArray(name); + List array = (List) value; + for (int j = 0; j < array.size(); ++j) { + accept(v, null, array.get(j)); + } + v.visitEnd(); + } else { + av.visit(name, value); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/ClassNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/ClassNode.java new file mode 100644 index 00000000000..0771c87dc85 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/ClassNode.java @@ -0,0 +1,283 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.FieldVisitor; + +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; + +/** + * A node that represents a class. + * + * @author Eric Bruneton + */ +public class ClassNode extends MemberNode implements ClassVisitor { + + /** + * The class version. + */ + public int version; + + /** + * The class's access flags (see {@link org.objectweb.asm.Opcodes}). This + * field also indicates if the class is deprecated. + */ + public int access; + + /** + * The internal name of the class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + */ + public String name; + + /** + * The signature of the class. Mayt be null. + */ + public String signature; + + /** + * The internal of name of the super class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). For + * interfaces, the super class is {@link Object}. May be null, + * but only for the {@link Object} class. + */ + public String superName; + + /** + * The internal names of the class's interfaces (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). This + * list is a list of {@link String} objects. + */ + public List interfaces; + + /** + * The name of the source file from which this class was compiled. May be + * null. + */ + public String sourceFile; + + /** + * Debug information to compute the correspondance between source and + * compiled elements of the class. May be null. + */ + public String sourceDebug; + + /** + * The internal name of the enclosing class of the class. May be + * null. + */ + public String outerClass; + + /** + * The name of the method that contains the class, or null if the + * class is not enclosed in a method. + */ + public String outerMethod; + + /** + * The descriptor of the method that contains the class, or null + * if the class is not enclosed in a method. + */ + public String outerMethodDesc; + + /** + * Informations about the inner classes of this class. This list is a list + * of {@link InnerClassNode} objects. + * + * @associates org.objectweb.asm.tree.InnerClassNode + */ + public List innerClasses; + + /** + * The fields of this class. This list is a list of {@link FieldNode} + * objects. + * + * @associates org.objectweb.asm.tree.FieldNode + */ + public List fields; + + /** + * The methods of this class. This list is a list of {@link MethodNode} + * objects. + * + * @associates org.objectweb.asm.tree.MethodNode + */ + public List methods; + + /** + * Constructs a new {@link ClassNode}. + */ + public ClassNode() { + this.interfaces = new ArrayList(); + this.innerClasses = new ArrayList(); + this.fields = new ArrayList(); + this.methods = new ArrayList(); + } + + // ------------------------------------------------------------------------ + // Implementation of the ClassVisitor interface + // ------------------------------------------------------------------------ + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + this.version = version; + this.access = access; + this.name = name; + this.signature = signature; + this.superName = superName; + if (interfaces != null) { + this.interfaces.addAll(Arrays.asList(interfaces)); + } + } + + public void visitSource(final String file, final String debug) { + sourceFile = file; + sourceDebug = debug; + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + outerClass = owner; + outerMethod = name; + outerMethodDesc = desc; + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + InnerClassNode icn = new InnerClassNode(name, + outerName, + innerName, + access); + innerClasses.add(icn); + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + FieldNode fn = new FieldNode(access, name, desc, signature, value); + fields.add(fn); + return fn; + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + MethodNode mn = new MethodNode(access, + name, + desc, + signature, + exceptions); + methods.add(mn); + return mn; + } + + public void visitEnd() { + } + + // ------------------------------------------------------------------------ + // Accept method + // ------------------------------------------------------------------------ + + /** + * Makes the given class visitor visit this class. + * + * @param cv a class visitor. + */ + public void accept(final ClassVisitor cv) { + // visits header + String[] interfaces = new String[this.interfaces.size()]; + this.interfaces.toArray(interfaces); + cv.visit(version, access, name, signature, superName, interfaces); + // visits source + if (sourceFile != null || sourceDebug != null) { + cv.visitSource(sourceFile, sourceDebug); + } + // visits outer class + if (outerClass != null) { + cv.visitOuterClass(outerClass, outerMethod, outerMethodDesc); + } + // visits attributes + int i, n; + n = visibleAnnotations == null ? 0 : visibleAnnotations.size(); + for (i = 0; i < n; ++i) { + AnnotationNode an = (AnnotationNode) visibleAnnotations.get(i); + an.accept(cv.visitAnnotation(an.desc, true)); + } + n = invisibleAnnotations == null ? 0 : invisibleAnnotations.size(); + for (i = 0; i < n; ++i) { + AnnotationNode an = (AnnotationNode) invisibleAnnotations.get(i); + an.accept(cv.visitAnnotation(an.desc, false)); + } + n = attrs == null ? 0 : attrs.size(); + for (i = 0; i < n; ++i) { + cv.visitAttribute((Attribute) attrs.get(i)); + } + // visits inner classes + for (i = 0; i < innerClasses.size(); ++i) { + ((InnerClassNode) innerClasses.get(i)).accept(cv); + } + // visits fields + for (i = 0; i < fields.size(); ++i) { + ((FieldNode) fields.get(i)).accept(cv); + } + // visits methods + for (i = 0; i < methods.size(); ++i) { + ((MethodNode) methods.get(i)).accept(cv); + } + // visits end + cv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldInsnNode.java new file mode 100644 index 00000000000..4399e3a25e1 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldInsnNode.java @@ -0,0 +1,97 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a field instruction. A field instruction is an + * instruction that loads or stores the value of a field of an object. + * + * @author Eric Bruneton + */ +public class FieldInsnNode extends AbstractInsnNode { + + /** + * The internal name of the field's owner class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + */ + public String owner; + + /** + * The field's name. + */ + public String name; + + /** + * The field's descriptor (see {@link org.objectweb.asm.Type}). + */ + public String desc; + + /** + * Constructs a new {@link FieldInsnNode}. + * + * @param opcode the opcode of the type instruction to be constructed. This + * opcode must be GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD. + * @param owner the internal name of the field's owner class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + * @param name the field's name. + * @param desc the field's descriptor (see {@link org.objectweb.asm.Type}). + */ + public FieldInsnNode( + final int opcode, + final String owner, + final String name, + final String desc) + { + super(opcode); + this.owner = owner; + this.name = name; + this.desc = desc; + } + + /** + * Sets the opcode of this instruction. + * + * @param opcode the new instruction opcode. This opcode must be GETSTATIC, + * PUTSTATIC, GETFIELD or PUTFIELD. + */ + public void setOpcode(final int opcode) { + this.opcode = opcode; + } + + public void accept(final MethodVisitor cv) { + cv.visitFieldInsn(opcode, owner, name, desc); + } + + public int getType() { + return FIELD_INSN; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldNode.java new file mode 100644 index 00000000000..c13ac9e22f1 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/FieldNode.java @@ -0,0 +1,123 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; + +/** + * A node that represents a field. + * + * @author Eric Bruneton + */ +public class FieldNode extends MemberNode implements FieldVisitor { + + /** + * The field's access flags (see {@link org.objectweb.asm.Opcodes}). This + * field also indicates if the field is synthetic and/or deprecated. + */ + public int access; + + /** + * The field's name. + */ + public String name; + + /** + * The field's descriptor (see {@link org.objectweb.asm.Type}). + */ + public String desc; + + /** + * The field's signature. May be null. + */ + public String signature; + + /** + * The field's initial value. This field, which may be null if + * the field does not have an initial value, must be an {@link Integer}, a + * {@link Float}, a {@link Long}, a {@link Double} or a {@link String}. + */ + public Object value; + + /** + * Constructs a new {@link FieldNode}. + * + * @param access the field's access flags (see + * {@link org.objectweb.asm.Opcodes}). This parameter also indicates + * if the field is synthetic and/or deprecated. + * @param name the field's name. + * @param desc the field's descriptor (see {@link org.objectweb.asm.Type}). + * @param signature the field's signature. + * @param value the field's initial value. This parameter, which may be + * null if the field does not have an initial value, must + * be an {@link Integer}, a {@link Float}, a {@link Long}, a + * {@link Double} or a {@link String}. + */ + public FieldNode( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + this.access = access; + this.name = name; + this.desc = desc; + this.signature = signature; + this.value = value; + } + + /** + * Makes the given class visitor visit this field. + * + * @param cv a class visitor. + */ + public void accept(final ClassVisitor cv) { + FieldVisitor fv = cv.visitField(access, name, desc, signature, value); + int i, n; + n = visibleAnnotations == null ? 0 : visibleAnnotations.size(); + for (i = 0; i < n; ++i) { + AnnotationNode an = (AnnotationNode) visibleAnnotations.get(i); + an.accept(fv.visitAnnotation(an.desc, true)); + } + n = invisibleAnnotations == null ? 0 : invisibleAnnotations.size(); + for (i = 0; i < n; ++i) { + AnnotationNode an = (AnnotationNode) invisibleAnnotations.get(i); + an.accept(fv.visitAnnotation(an.desc, false)); + } + n = attrs == null ? 0 : attrs.size(); + for (i = 0; i < n; ++i) { + fv.visitAttribute((Attribute) attrs.get(i)); + } + fv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IincInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IincInsnNode.java new file mode 100644 index 00000000000..e7e79dc5145 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IincInsnNode.java @@ -0,0 +1,71 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * A node that represents an IINC instruction. + * + * @author Eric Bruneton + */ +public class IincInsnNode extends AbstractInsnNode { + + /** + * Index of the local variable to be incremented. + */ + public int var; + + /** + * Amount to increment the local variable by. + */ + public int incr; + + /** + * Constructs a new {@link IincInsnNode}. + * + * @param var index of the local variable to be incremented. + * @param incr increment amount to increment the local variable by. + */ + public IincInsnNode(final int var, final int incr) { + super(Opcodes.IINC); + this.var = var; + this.incr = incr; + } + + public void accept(final MethodVisitor mv) { + mv.visitIincInsn(var, incr); + } + + public int getType() { + return IINC_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InnerClassNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InnerClassNode.java new file mode 100644 index 00000000000..a325317b46e --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InnerClassNode.java @@ -0,0 +1,101 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.ClassVisitor; + +/** + * A node that represents an inner class. + * + * @author Eric Bruneton + */ +public class InnerClassNode { + + /** + * The internal name of an inner class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + */ + public String name; + + /** + * The internal name of the class to which the inner class belongs (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). May + * be null. + */ + public String outerName; + + /** + * The (simple) name of the inner class inside its enclosing class. May be + * null for anonymous inner classes. + */ + public String innerName; + + /** + * The access flags of the inner class as originally declared in the + * enclosing class. + */ + public int access; + + /** + * Constructs a new {@link InnerClassNode}. + * + * @param name the internal name of an inner class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + * @param outerName the internal name of the class to which the inner class + * belongs (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + * May be null. + * @param innerName the (simple) name of the inner class inside its + * enclosing class. May be null for anonymous inner + * classes. + * @param access the access flags of the inner class as originally declared + * in the enclosing class. + */ + public InnerClassNode( + final String name, + final String outerName, + final String innerName, + final int access) + { + this.name = name; + this.outerName = outerName; + this.innerName = innerName; + this.access = access; + } + + /** + * Makes the given class visitor visit this inner class. + * + * @param cv a class visitor. + */ + public void accept(final ClassVisitor cv) { + cv.visitInnerClass(name, outerName, innerName, access); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InsnNode.java new file mode 100644 index 00000000000..434dd5b313d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/InsnNode.java @@ -0,0 +1,96 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a zero operand instruction. + * + * @author Eric Bruneton + */ +public class InsnNode extends AbstractInsnNode { + + private final static InsnNode[] INSNS; + + static { + INSNS = new InsnNode[255]; + for (int i = 0; i < INSNS.length; ++i) { + INSNS[i] = new InsnNode(i); + } + } + + /** + * Returns the {@link InsnNode} corresponding to the given opcode. + * + * @deprecated uses the constructor instead. + * + * @param opcode an instruction opcode. + * @return the {@link InsnNode} corresponding to the given opcode. + */ + public final static InsnNode getByOpcode(final int opcode) { + return INSNS[opcode]; + } + + /** + * Constructs a new {@link InsnNode}. + * + * @param opcode the opcode of the instruction to be constructed. This + * opcode must be NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, + * ICONST_2, ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, + * FCONST_0, FCONST_1, FCONST_2, DCONST_0, DCONST_1, IALOAD, LALOAD, + * FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IASTORE, LASTORE, + * FASTORE, DASTORE, AASTORE, BASTORE, CASTORE, SASTORE, POP, POP2, + * DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, LADD, + * FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, + * LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, + * ISHL, LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, + * LXOR, I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, + * I2B, I2C, I2S, LCMP, FCMPL, FCMPG, DCMPL, DCMPG, IRETURN, LRETURN, + * FRETURN, DRETURN, ARETURN, RETURN, ARRAYLENGTH, ATHROW, + * MONITORENTER, or MONITOREXIT. + */ + public InsnNode(final int opcode) { + super(opcode); + } + + /** + * Makes the given visitor visit this instruction. + * + * @param mv a method visitor. + */ + public void accept(final MethodVisitor mv) { + mv.visitInsn(opcode); + } + + public int getType() { + return INSN; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IntInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IntInsnNode.java new file mode 100644 index 00000000000..2c200a58567 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/IntInsnNode.java @@ -0,0 +1,75 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents an instruction with a single int operand. + * + * @author Eric Bruneton + */ +public class IntInsnNode extends AbstractInsnNode { + + /** + * The operand of this instruction. + */ + public int operand; + + /** + * Constructs a new {@link IntInsnNode}. + * + * @param opcode the opcode of the instruction to be constructed. This + * opcode must be BIPUSH, SIPUSH or NEWARRAY. + * @param operand the operand of the instruction to be constructed. + */ + public IntInsnNode(final int opcode, final int operand) { + super(opcode); + this.operand = operand; + } + + /** + * Sets the opcode of this instruction. + * + * @param opcode the new instruction opcode. This opcode must be BIPUSH, + * SIPUSH or NEWARRAY. + */ + public void setOpcode(final int opcode) { + this.opcode = opcode; + } + + public void accept(final MethodVisitor mv) { + mv.visitIntInsn(opcode, operand); + } + + public int getType() { + return INT_INSN; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/JumpInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/JumpInsnNode.java new file mode 100644 index 00000000000..5ab6e11ee53 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/JumpInsnNode.java @@ -0,0 +1,84 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a jump instruction. A jump instruction is an + * instruction that may jump to another instruction. + * + * @author Eric Bruneton + */ +public class JumpInsnNode extends AbstractInsnNode { + + /** + * The operand of this instruction. This operand is a label that designates + * the instruction to which this instruction may jump. + */ + public Label label; + + /** + * Constructs a new {@link JumpInsnNode}. + * + * @param opcode the opcode of the type instruction to be constructed. This + * opcode must be IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, + * IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, + * IF_ACMPNE, GOTO, JSR, IFNULL or IFNONNULL. + * @param label the operand of the instruction to be constructed. This + * operand is a label that designates the instruction to which the + * jump instruction may jump. + */ + public JumpInsnNode(final int opcode, final Label label) { + super(opcode); + this.label = label; + } + + /** + * Sets the opcode of this instruction. + * + * @param opcode the new instruction opcode. This opcode must be IFEQ, IFNE, + * IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, IF_ICMPNE, IF_ICMPLT, + * IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, IF_ACMPNE, GOTO, JSR, + * IFNULL or IFNONNULL. + */ + public void setOpcode(final int opcode) { + this.opcode = opcode; + } + + public void accept(final MethodVisitor mv) { + mv.visitJumpInsn(opcode, label); + } + + public int getType() { + return JUMP_INSN; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LabelNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LabelNode.java new file mode 100644 index 00000000000..5eead6e3380 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LabelNode.java @@ -0,0 +1,54 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +/** + * An {@link AbstractInsnNode} that encapsulates a {@link Label}. + */ +public class LabelNode extends AbstractInsnNode { + + public Label label; + + public LabelNode(final Label label) { + super(-1); + this.label = label; + } + + public void accept(final MethodVisitor cv) { + cv.visitLabel(label); + } + + public int getType() { + return LABEL; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LdcInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LdcInsnNode.java new file mode 100644 index 00000000000..ef955137109 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LdcInsnNode.java @@ -0,0 +1,68 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +/** + * A node that represents an LDC instruction. + * + * @author Eric Bruneton + */ +public class LdcInsnNode extends AbstractInsnNode { + + /** + * The constant to be loaded on the stack. This parameter must be a non null + * {@link Integer}, a {@link Float}, a {@link Long}, a {@link Double}, a + * {@link String} or a {@link org.objectweb.asm.Type}. + */ + public Object cst; + + /** + * Constructs a new {@link LdcInsnNode}. + * + * @param cst the constant to be loaded on the stack. This parameter must be + * a non null {@link Integer}, a {@link Float}, a {@link Long}, a + * {@link Double} or a {@link String}. + */ + public LdcInsnNode(final Object cst) { + super(Opcodes.LDC); + this.cst = cst; + } + + public void accept(final MethodVisitor mv) { + mv.visitLdcInsn(cst); + } + + public int getType() { + return LDC_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LineNumberNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LineNumberNode.java new file mode 100644 index 00000000000..0d4974749b6 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LineNumberNode.java @@ -0,0 +1,73 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a line number declaration. + * + * @author Eric Bruneton + */ +public class LineNumberNode { + + /** + * A line number. This number refers to the source file from which the class + * was compiled. + */ + public int line; + + /** + * The first instruction corresponding to this line number. + */ + public Label start; + + /** + * Constructs a new {@link LineNumberNode}. + * + * @param line a line number. This number refers to the source file from + * which the class was compiled. + * @param start the first instruction corresponding to this line number. + */ + public LineNumberNode(final int line, final Label start) { + this.line = line; + this.start = start; + } + + /** + * Makes the given visitor visit this line number declaration. + * + * @param mv a method visitor. + */ + public void accept(final MethodVisitor mv) { + mv.visitLineNumber(line, start); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LocalVariableNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LocalVariableNode.java new file mode 100644 index 00000000000..b9efe44e314 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LocalVariableNode.java @@ -0,0 +1,111 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Label; + +/** + * A node that represents a local variable declaration. + * + * @author Eric Bruneton + */ +public class LocalVariableNode { + + /** + * The name of a local variable. + */ + public String name; + + /** + * The type descriptor of this local variable. + */ + public String desc; + + /** + * The signature of this local variable. May be null. + */ + public String signature; + + /** + * The first instruction corresponding to the scope of this local variable + * (inclusive). + */ + public Label start; + + /** + * The last instruction corresponding to the scope of this local variable + * (exclusive). + */ + public Label end; + + /** + * The local variable's index. + */ + public int index; + + /** + * Constructs a new {@link LocalVariableNode}. + * + * @param name the name of a local variable. + * @param desc the type descriptor of this local variable. + * @param signature the signature of this local variable. May be + * null. + * @param start the first instruction corresponding to the scope of this + * local variable (inclusive). + * @param end the last instruction corresponding to the scope of this local + * variable (exclusive). + * @param index the local variable's index. + */ + public LocalVariableNode( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + this.name = name; + this.desc = desc; + this.signature = signature; + this.start = start; + this.end = end; + this.index = index; + } + + /** + * Makes the given visitor visit this local variable declaration. + * + * @param mv a method visitor. + */ + public void accept(final MethodVisitor mv) { + mv.visitLocalVariable(name, desc, signature, start, end, index); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.java new file mode 100644 index 00000000000..1c8e69fcc60 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.java @@ -0,0 +1,103 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Label; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.MethodVisitor; + +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; + +/** + * A node that represents a LOOKUPSWITCH instruction. + * + * @author Eric Bruneton + */ +public class LookupSwitchInsnNode extends AbstractInsnNode { + + /** + * Beginning of the default handler block. + */ + public Label dflt; + + /** + * The values of the keys. This list is a list of {@link Integer} objects. + */ + public List keys; + + /** + * Beginnings of the handler blocks. This list is a list of {@link Label} + * objects. + */ + public List labels; + + /** + * Constructs a new {@link LookupSwitchInsnNode}. + * + * @param dflt beginning of the default handler block. + * @param keys the values of the keys. + * @param labels beginnings of the handler blocks. labels[i] is + * the beginning of the handler block for the keys[i] key. + */ + public LookupSwitchInsnNode( + final Label dflt, + final int[] keys, + final Label[] labels) + { + super(Opcodes.LOOKUPSWITCH); + this.dflt = dflt; + this.keys = new ArrayList(keys == null ? 0 : keys.length); + this.labels = new ArrayList(labels == null ? 0 : labels.length); + if (keys != null) { + for (int i = 0; i < keys.length; ++i) { + this.keys.add(new Integer(keys[i])); + } + } + if (labels != null) { + this.labels.addAll(Arrays.asList(labels)); + } + } + + public void accept(final MethodVisitor mv) { + int[] keys = new int[this.keys.size()]; + for (int i = 0; i < keys.length; ++i) { + keys[i] = ((Integer) this.keys.get(i)).intValue(); + } + Label[] labels = new Label[this.labels.size()]; + this.labels.toArray(labels); + mv.visitLookupSwitchInsn(dflt, keys, labels); + } + + public int getType() { + return LOOKUPSWITCH_INSN; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MemberNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MemberNode.java new file mode 100644 index 00000000000..86b1c5c7bf8 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MemberNode.java @@ -0,0 +1,120 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import java.util.ArrayList; +import java.util.List; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; + +/** + * An abstract class, field or method node. + * + * @author Eric Bruneton + */ +public abstract class MemberNode { + + /** + * The runtime visible annotations of this class, field or method. This list + * is a list of {@link AnnotationNode} objects. May be null. + * + * @associates org.objectweb.asm.tree.AnnotationNode + * @label visible + */ + public List visibleAnnotations; + + /** + * The runtime invisible annotations of this class, field or method. This + * list is a list of {@link AnnotationNode} objects. May be null. + * + * @associates org.objectweb.asm.tree.AnnotationNode + * @label invisible + */ + public List invisibleAnnotations; + + /** + * The non standard attributes of this class, field or method. This list is + * a list of {@link Attribute} objects. May be null. + * + * @associates org.objectweb.asm.Attribute + */ + public List attrs; + + /** + * Constructs a new {@link MemberNode}. + */ + public MemberNode() { + } + + /** + * Visits an annotation of this class, field or method. + * + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a visitor to visit the annotation values. + */ + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + AnnotationNode an = new AnnotationNode(desc); + if (visible) { + if (visibleAnnotations == null) { + visibleAnnotations = new ArrayList(1); + } + visibleAnnotations.add(an); + } else { + if (invisibleAnnotations == null) { + invisibleAnnotations = new ArrayList(1); + } + invisibleAnnotations.add(an); + } + return an; + } + + /** + * Visits a non standard attribute of this class, field or method. + * + * @param attr an attribute. + */ + public void visitAttribute(final Attribute attr) { + if (attrs == null) { + attrs = new ArrayList(1); + } + attrs.add(attr); + } + + /** + * Visits the end of this class, field or method. + */ + public void visitEnd() { + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodInsnNode.java new file mode 100644 index 00000000000..714aabe6e9b --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodInsnNode.java @@ -0,0 +1,98 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a method instruction. A method instruction is an + * instruction that invokes a method. + * + * @author Eric Bruneton + */ +public class MethodInsnNode extends AbstractInsnNode { + + /** + * The internal name of the method's owner class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + */ + public String owner; + + /** + * The method's name. + */ + public String name; + + /** + * The method's descriptor (see {@link org.objectweb.asm.Type}). + */ + public String desc; + + /** + * Constructs a new {@link MethodInsnNode}. + * + * @param opcode the opcode of the type instruction to be constructed. This + * opcode must be INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or + * INVOKEINTERFACE. + * @param owner the internal name of the method's owner class (see + * {@link org.objectweb.asm.Type#getInternalName() getInternalName}). + * @param name the method's name. + * @param desc the method's descriptor (see {@link org.objectweb.asm.Type}). + */ + public MethodInsnNode( + final int opcode, + final String owner, + final String name, + final String desc) + { + super(opcode); + this.owner = owner; + this.name = name; + this.desc = desc; + } + + /** + * Sets the opcode of this instruction. + * + * @param opcode the new instruction opcode. This opcode must be + * INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE. + */ + public void setOpcode(final int opcode) { + this.opcode = opcode; + } + + public void accept(final MethodVisitor mv) { + mv.visitMethodInsn(opcode, owner, name, desc); + } + + public int getType() { + return METHOD_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodNode.java new file mode 100644 index 00000000000..f746bfa3ffd --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MethodNode.java @@ -0,0 +1,439 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; + +/** + * A node that represents a method. + * + * @author Eric Bruneton + */ +public class MethodNode extends MemberNode implements MethodVisitor { + + /** + * The method's access flags (see {@link Opcodes}). This field also + * indicates if the method is synthetic and/or deprecated. + */ + public int access; + + /** + * The method's name. + */ + public String name; + + /** + * The method's descriptor (see {@link Type}). + */ + public String desc; + + /** + * The method's signature. May be null. + */ + public String signature; + + /** + * The internal names of the method's exception classes (see + * {@link Type#getInternalName() getInternalName}). This list is a list of + * {@link String} objects. + */ + public List exceptions; + + /** + * The default value of this annotation interface method. This field must be + * a {@link Byte}, {@link Boolean}, {@link Character}, {@link Short}, + * {@link Integer}, {@link Long}, {@link Float}, {@link Double}, + * {@link String} or {@link Type}, or an two elements String array (for + * enumeration values), a {@link AnnotationNode}, or a {@link List} of + * values of one of the preceding types. May be null. + */ + public Object annotationDefault; + + /** + * The runtime visible parameter annotations of this method. These lists are + * lists of {@link AnnotationNode} objects. May be null. + * + * @associates org.objectweb.asm.tree.AnnotationNode + * @label invisible parameters + */ + public List[] visibleParameterAnnotations; + + /** + * The runtime invisible parameter annotations of this method. These lists + * are lists of {@link AnnotationNode} objects. May be null. + * + * @associates org.objectweb.asm.tree.AnnotationNode + * @label visible parameters + */ + public List[] invisibleParameterAnnotations; + + /** + * The instructions of this method. This list is a list of + * {@link AbstractInsnNode} objects. + * + * @associates org.objectweb.asm.tree.AbstractInsnNode + * @label instructions + */ + public List instructions; + + /** + * The try catch blocks of this method. This list is a list of + * {@link TryCatchBlockNode} objects. + * + * @associates org.objectweb.asm.tree.TryCatchBlockNode + */ + public List tryCatchBlocks; + + /** + * The maximum stack size of this method. + */ + public int maxStack; + + /** + * The maximum number of local variables of this method. + */ + public int maxLocals; + + /** + * The local variables of this method. This list is a list of + * {@link LocalVariableNode} objects. May be null + * + * @associates org.objectweb.asm.tree.LocalVariableNode + */ + public List localVariables; + + /** + * The line numbers of this method. This list is a list of + * {@link LineNumberNode} objects. May be null + * + * @associates org.objectweb.asm.tree.LineNumberNode + */ + public List lineNumbers; + + /** + * Constructs a new {@link MethodNode}. + * + * @param access the method's access flags (see {@link Opcodes}). This + * parameter also indicates if the method is synthetic and/or + * deprecated. + * @param name the method's name. + * @param desc the method's descriptor (see {@link Type}). + * @param signature the method's signature. May be null. + * @param exceptions the internal names of the method's exception classes + * (see {@link Type#getInternalName() getInternalName}). May be + * null. + */ + public MethodNode( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + this.access = access; + this.name = name; + this.desc = desc; + this.signature = signature; + this.exceptions = new ArrayList(exceptions == null + ? 0 + : exceptions.length); + boolean isAbstract = (access & Opcodes.ACC_ABSTRACT) != 0; + this.instructions = new ArrayList(isAbstract ? 0 : 24); + if (!isAbstract) { + this.localVariables = new ArrayList(5); + this.lineNumbers = new ArrayList(5); + } + this.tryCatchBlocks = new ArrayList(); + if (exceptions != null) { + this.exceptions.addAll(Arrays.asList(exceptions)); + } + } + + // ------------------------------------------------------------------------ + // Implementation of the MethodVisitor interface + // ------------------------------------------------------------------------ + + public AnnotationVisitor visitAnnotationDefault() { + return new AnnotationNode(new ArrayList(0) { + public boolean add(Object o) { + annotationDefault = o; + return super.add(o); + } + }); + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + AnnotationNode an = new AnnotationNode(desc); + if (visible) { + if (visibleParameterAnnotations == null) { + int params = Type.getArgumentTypes(this.desc).length; + visibleParameterAnnotations = new List[params]; + } + if (visibleParameterAnnotations[parameter] == null) { + visibleParameterAnnotations[parameter] = new ArrayList(1); + } + visibleParameterAnnotations[parameter].add(an); + } else { + if (invisibleParameterAnnotations == null) { + int params = Type.getArgumentTypes(this.desc).length; + invisibleParameterAnnotations = new List[params]; + } + if (invisibleParameterAnnotations[parameter] == null) { + invisibleParameterAnnotations[parameter] = new ArrayList(1); + } + invisibleParameterAnnotations[parameter].add(an); + } + return an; + } + + public void visitCode() { + } + + public void visitInsn(final int opcode) { + instructions.add(new InsnNode(opcode)); + } + + public void visitIntInsn(final int opcode, final int operand) { + instructions.add(new IntInsnNode(opcode, operand)); + } + + public void visitVarInsn(final int opcode, final int var) { + instructions.add(new VarInsnNode(opcode, var)); + } + + public void visitTypeInsn(final int opcode, final String desc) { + instructions.add(new TypeInsnNode(opcode, desc)); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + instructions.add(new FieldInsnNode(opcode, owner, name, desc)); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + instructions.add(new MethodInsnNode(opcode, owner, name, desc)); + } + + public void visitJumpInsn(final int opcode, final Label label) { + instructions.add(new JumpInsnNode(opcode, label)); + } + + public void visitLabel(final Label label) { + instructions.add(new LabelNode(label)); + } + + public void visitLdcInsn(final Object cst) { + instructions.add(new LdcInsnNode(cst)); + } + + public void visitIincInsn(final int var, final int increment) { + instructions.add(new IincInsnNode(var, increment)); + } + + public void visitTableSwitchInsn( + final int min, + final int max, + final Label dflt, + final Label[] labels) + { + instructions.add(new TableSwitchInsnNode(min, max, dflt, labels)); + } + + public void visitLookupSwitchInsn( + final Label dflt, + final int[] keys, + final Label[] labels) + { + instructions.add(new LookupSwitchInsnNode(dflt, keys, labels)); + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + instructions.add(new MultiANewArrayInsnNode(desc, dims)); + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + tryCatchBlocks.add(new TryCatchBlockNode(start, end, handler, type)); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + localVariables.add(new LocalVariableNode(name, + desc, + signature, + start, + end, + index)); + } + + public void visitLineNumber(final int line, final Label start) { + lineNumbers.add(new LineNumberNode(line, start)); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + this.maxStack = maxStack; + this.maxLocals = maxLocals; + } + + // ------------------------------------------------------------------------ + // Accept method + // ------------------------------------------------------------------------ + + /** + * Makes the given class visitor visit this method. + * + * @param cv a class visitor. + */ + public void accept(final ClassVisitor cv) { + String[] exceptions = new String[this.exceptions.size()]; + this.exceptions.toArray(exceptions); + MethodVisitor mv = cv.visitMethod(access, + name, + desc, + signature, + exceptions); + if (mv != null) { + accept(mv); + } + } + + /** + * Makes the given method visitor visit this method. + * + * @param mv a method visitor. + */ + public void accept(final MethodVisitor mv) { + // visits the method attributes + int i, j, n; + if (annotationDefault != null) { + AnnotationVisitor av = mv.visitAnnotationDefault(); + AnnotationNode.accept(av, null, annotationDefault); + av.visitEnd(); + } + n = visibleAnnotations == null ? 0 : visibleAnnotations.size(); + for (i = 0; i < n; ++i) { + AnnotationNode an = (AnnotationNode) visibleAnnotations.get(i); + an.accept(mv.visitAnnotation(an.desc, true)); + } + n = invisibleAnnotations == null ? 0 : invisibleAnnotations.size(); + for (i = 0; i < n; ++i) { + AnnotationNode an = (AnnotationNode) invisibleAnnotations.get(i); + an.accept(mv.visitAnnotation(an.desc, false)); + } + n = visibleParameterAnnotations == null + ? 0 + : visibleParameterAnnotations.length; + for (i = 0; i < n; ++i) { + List l = visibleParameterAnnotations[i]; + if (l == null) { + continue; + } + for (j = 0; j < l.size(); ++j) { + AnnotationNode an = (AnnotationNode) l.get(j); + an.accept(mv.visitParameterAnnotation(i, an.desc, true)); + } + } + n = invisibleParameterAnnotations == null + ? 0 + : invisibleParameterAnnotations.length; + for (i = 0; i < n; ++i) { + List l = invisibleParameterAnnotations[i]; + if (l == null) { + continue; + } + for (j = 0; j < l.size(); ++j) { + AnnotationNode an = (AnnotationNode) l.get(j); + an.accept(mv.visitParameterAnnotation(i, an.desc, false)); + } + } + n = attrs == null ? 0 : attrs.size(); + for (i = 0; i < n; ++i) { + mv.visitAttribute((Attribute) attrs.get(i)); + } + // visits the method's code + if (instructions.size() > 0) { + mv.visitCode(); + // visits try catch blocks + for (i = 0; i < tryCatchBlocks.size(); ++i) { + ((TryCatchBlockNode) tryCatchBlocks.get(i)).accept(mv); + } + // visits instructions + for (i = 0; i < instructions.size(); ++i) { + ((AbstractInsnNode) instructions.get(i)).accept(mv); + } + // visits local variables + n = localVariables == null ? 0 : localVariables.size(); + for (i = 0; i < n; ++i) { + ((LocalVariableNode) localVariables.get(i)).accept(mv); + } + // visits line numbers + n = lineNumbers == null ? 0 : lineNumbers.size(); + for (i = 0; i < n; ++i) { + ((LineNumberNode) lineNumbers.get(i)).accept(mv); + } + // visits maxs + mv.visitMaxs(maxStack, maxLocals); + } + mv.visitEnd(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.java new file mode 100644 index 00000000000..a9cb3c14a1c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.java @@ -0,0 +1,71 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a MULTIANEWARRAY instruction. + * + * @author Eric Bruneton + */ +public class MultiANewArrayInsnNode extends AbstractInsnNode { + + /** + * An array type descriptor (see {@link org.objectweb.asm.Type}). + */ + public String desc; + + /** + * Number of dimensions of the array to allocate. + */ + public int dims; + + /** + * Constructs a new {@link MultiANewArrayInsnNode}. + * + * @param desc an array type descriptor (see {@link org.objectweb.asm.Type}). + * @param dims number of dimensions of the array to allocate. + */ + public MultiANewArrayInsnNode(final String desc, final int dims) { + super(Opcodes.MULTIANEWARRAY); + this.desc = desc; + this.dims = dims; + } + + public void accept(final MethodVisitor mv) { + mv.visitMultiANewArrayInsn(desc, dims); + } + + public int getType() { + return MULTIANEWARRAY_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TableSwitchInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TableSwitchInsnNode.java new file mode 100644 index 00000000000..fa5e3f8207b --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TableSwitchInsnNode.java @@ -0,0 +1,102 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Label; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.MethodVisitor; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * A node that represents a TABLESWITCH instruction. + * + * @author Eric Bruneton + */ +public class TableSwitchInsnNode extends AbstractInsnNode { + + /** + * The minimum key value. + */ + public int min; + + /** + * The maximum key value. + */ + public int max; + + /** + * Beginning of the default handler block. + */ + public Label dflt; + + /** + * Beginnings of the handler blocks. This list is a list of {@link Label} + * objects. + */ + public List labels; + + /** + * Constructs a new {@link TableSwitchInsnNode}. + * + * @param min the minimum key value. + * @param max the maximum key value. + * @param dflt beginning of the default handler block. + * @param labels beginnings of the handler blocks. labels[i] is + * the beginning of the handler block for the min + i key. + */ + public TableSwitchInsnNode( + final int min, + final int max, + final Label dflt, + final Label[] labels) + { + super(Opcodes.TABLESWITCH); + this.min = min; + this.max = max; + this.dflt = dflt; + this.labels = new ArrayList(); + if (labels != null) { + this.labels.addAll(Arrays.asList(labels)); + } + } + + public void accept(final MethodVisitor mv) { + Label[] labels = new Label[this.labels.size()]; + this.labels.toArray(labels); + mv.visitTableSwitchInsn(min, max, dflt, labels); + } + + public int getType() { + return TABLESWITCH_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TryCatchBlockNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TryCatchBlockNode.java new file mode 100644 index 00000000000..18cd3102240 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TryCatchBlockNode.java @@ -0,0 +1,93 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a try catch block. + * + * @author Eric Bruneton + */ +public class TryCatchBlockNode { + + /** + * Beginning of the exception handler's scope (inclusive). + */ + public Label start; + + /** + * End of the exception handler's scope (exclusive). + */ + public Label end; + + /** + * Beginning of the exception handler's code. + */ + public Label handler; + + /** + * Internal name of the type of exceptions handled by the handler. May be + * null to catch any exceptions (for "finally" blocks). + */ + public String type; + + /** + * Constructs a new {@link TryCatchBlockNode}. + * + * @param start beginning of the exception handler's scope (inclusive). + * @param end end of the exception handler's scope (exclusive). + * @param handler beginning of the exception handler's code. + * @param type internal name of the type of exceptions handled by the + * handler, or null to catch any exceptions (for "finally" + * blocks). + */ + public TryCatchBlockNode( + final Label start, + final Label end, + final Label handler, + final String type) + { + this.start = start; + this.end = end; + this.handler = handler; + this.type = type; + } + + /** + * Makes the given visitor visit this try catch block. + * + * @param mv a method visitor. + */ + public void accept(final MethodVisitor mv) { + mv.visitTryCatchBlock(start, end, handler, type); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TypeInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TypeInsnNode.java new file mode 100644 index 00000000000..67c6b841eae --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/TypeInsnNode.java @@ -0,0 +1,78 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a type instruction. A type instruction is an + * instruction that takes a type descriptor as parameter. + * + * @author Eric Bruneton + */ +public class TypeInsnNode extends AbstractInsnNode { + + /** + * The operand of this instruction. This operand is a type descriptor (see + * {@link org.objectweb.asm.Type}). + */ + public String desc; + + /** + * Constructs a new {@link TypeInsnNode}. + * + * @param opcode the opcode of the type instruction to be constructed. This + * opcode must be NEW, ANEWARRAY, CHECKCAST or INSTANCEOF. + * @param desc the operand of the instruction to be constructed. This + * operand is a type descriptor (see {@link org.objectweb.asm.Type}). + */ + public TypeInsnNode(final int opcode, final String desc) { + super(opcode); + this.desc = desc; + } + + /** + * Sets the opcode of this instruction. + * + * @param opcode the new instruction opcode. This opcode must be NEW, + * ANEWARRAY, CHECKCAST or INSTANCEOF. + */ + public void setOpcode(final int opcode) { + this.opcode = opcode; + } + + public void accept(final MethodVisitor mv) { + mv.visitTypeInsn(opcode, desc); + } + + public int getType() { + return TYPE_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/VarInsnNode.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/VarInsnNode.java new file mode 100644 index 00000000000..2fe3a952a50 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/VarInsnNode.java @@ -0,0 +1,81 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree; + +import org.objectweb.asm.MethodVisitor; + +/** + * A node that represents a local variable instruction. A local variable + * instruction is an instruction that loads or stores the value of a local + * variable. + * + * @author Eric Bruneton + */ +public class VarInsnNode extends AbstractInsnNode { + + /** + * The operand of this instruction. This operand is the index of a local + * variable. + */ + public int var; + + /** + * Constructs a new {@link VarInsnNode}. + * + * @param opcode the opcode of the local variable instruction to be + * constructed. This opcode must be ILOAD, LLOAD, FLOAD, DLOAD, + * ALOAD, ISTORE, LSTORE, FSTORE, DSTORE, ASTORE or RET. + * @param var the operand of the instruction to be constructed. This operand + * is the index of a local variable. + */ + public VarInsnNode(final int opcode, final int var) { + super(opcode); + this.var = var; + } + + /** + * Sets the opcode of this instruction. + * + * @param opcode the new instruction opcode. This opcode must be ILOAD, + * LLOAD, FLOAD, DLOAD, ALOAD, ISTORE, LSTORE, FSTORE, DSTORE, ASTORE + * or RET. + */ + public void setOpcode(final int opcode) { + this.opcode = opcode; + } + + public void accept(final MethodVisitor mv) { + mv.visitVarInsn(opcode, var); + } + + public int getType() { + return VAR_INSN; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Analyzer.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Analyzer.java new file mode 100644 index 00000000000..9fd402831cc --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Analyzer.java @@ -0,0 +1,416 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.ArrayList; +import java.util.List; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Label; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.IincInsnNode; +import org.objectweb.asm.tree.JumpInsnNode; +import org.objectweb.asm.tree.LabelNode; +import org.objectweb.asm.tree.LookupSwitchInsnNode; +import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.TableSwitchInsnNode; +import org.objectweb.asm.tree.TryCatchBlockNode; +import org.objectweb.asm.tree.VarInsnNode; + +/** + * A semantic bytecode analyzer. + * + * @author Eric Bruneton + */ +public class Analyzer implements Opcodes { + + private Interpreter interpreter; + + private int n; + + private IntMap indexes; + + private List[] handlers; + + private Frame[] frames; + + private Subroutine[] subroutines; + + private boolean[] queued; + + private int[] queue; + + private int top; + + private boolean jsr; + + /** + * Constructs a new {@link Analyzer}. + * + * @param interpreter the interpreter to be used to symbolically interpret + * the bytecode instructions. + */ + public Analyzer(final Interpreter interpreter) { + this.interpreter = interpreter; + } + + /** + * Analyzes the given method. + * + * @param owner the internal name of the class to which the method belongs. + * @param m the method to be analyzed. + * @return the symbolic state of the execution stack frame at each bytecode + * instruction of the method. The size of the returned array is + * equal to the number of instructions (and labels) of the method. A + * given frame is null if and only if the corresponding + * instruction cannot be reached (dead code). + * @throws AnalyzerException if a problem occurs during the analysis. + */ + public Frame[] analyze(final String owner, final MethodNode m) + throws AnalyzerException + { + n = m.instructions.size(); + indexes = new IntMap(2 * n); + handlers = new List[n]; + frames = new Frame[n]; + subroutines = new Subroutine[n]; + queued = new boolean[n]; + queue = new int[n]; + top = 0; + + // computes instruction indexes + for (int i = 0; i < n; ++i) { + Object insn = m.instructions.get(i); + if (insn instanceof LabelNode) { + insn = ((LabelNode) insn).label; + } + indexes.put(insn, i); + } + + // computes exception handlers for each instruction + for (int i = 0; i < m.tryCatchBlocks.size(); ++i) { + TryCatchBlockNode tcb = (TryCatchBlockNode) m.tryCatchBlocks.get(i); + int begin = indexes.get(tcb.start); + int end = indexes.get(tcb.end); + for (int j = begin; j < end; ++j) { + List insnHandlers = handlers[j]; + if (insnHandlers == null) { + insnHandlers = new ArrayList(); + handlers[j] = insnHandlers; + } + insnHandlers.add(tcb); + } + } + + // initializes the data structures for the control flow analysis + // algorithm + Frame current = newFrame(m.maxLocals, m.maxStack); + Frame handler = newFrame(m.maxLocals, m.maxStack); + Type[] args = Type.getArgumentTypes(m.desc); + int local = 0; + if ((m.access & ACC_STATIC) == 0) { + Type ctype = Type.getType("L" + owner + ";"); + current.setLocal(local++, interpreter.newValue(ctype)); + } + for (int i = 0; i < args.length; ++i) { + current.setLocal(local++, interpreter.newValue(args[i])); + if (args[i].getSize() == 2) { + current.setLocal(local++, interpreter.newValue(null)); + } + } + while (local < m.maxLocals) { + current.setLocal(local++, interpreter.newValue(null)); + } + merge(0, current, null); + + // control flow analysis + while (top > 0) { + int insn = queue[--top]; + Frame f = frames[insn]; + Subroutine subroutine = subroutines[insn]; + queued[insn] = false; + + try { + Object o = m.instructions.get(insn); + jsr = false; + + if (o instanceof LabelNode) { + merge(insn + 1, f, subroutine); + } else { + AbstractInsnNode insnNode = (AbstractInsnNode) o; + int insnOpcode = insnNode.getOpcode(); + + current.init(f).execute(insnNode, interpreter); + subroutine = subroutine == null ? null : subroutine.copy(); + + if (insnNode instanceof JumpInsnNode) { + JumpInsnNode j = (JumpInsnNode) insnNode; + if (insnOpcode != GOTO && insnOpcode != JSR) { + merge(insn + 1, current, subroutine); + } + if (insnOpcode == JSR) { + jsr = true; + merge(indexes.get(j.label), + current, + new Subroutine(j.label, m.maxLocals, j)); + } else { + merge(indexes.get(j.label), current, subroutine); + } + } else if (insnNode instanceof LookupSwitchInsnNode) { + LookupSwitchInsnNode lsi = (LookupSwitchInsnNode) insnNode; + merge(indexes.get(lsi.dflt), current, subroutine); + for (int j = 0; j < lsi.labels.size(); ++j) { + Label label = (Label) lsi.labels.get(j); + merge(indexes.get(label), current, subroutine); + } + } else if (insnNode instanceof TableSwitchInsnNode) { + TableSwitchInsnNode tsi = (TableSwitchInsnNode) insnNode; + merge(indexes.get(tsi.dflt), current, subroutine); + for (int j = 0; j < tsi.labels.size(); ++j) { + Label label = (Label) tsi.labels.get(j); + merge(indexes.get(label), current, subroutine); + } + } else if (insnOpcode == RET) { + if (subroutine == null) { + throw new AnalyzerException("RET instruction outside of a sub routine"); + } + for (int i = 0; i < subroutine.callers.size(); ++i) { + int caller = indexes.get(subroutine.callers.get(i)); + merge(caller + 1, + frames[caller], + current, + subroutines[caller], + subroutine.access); + } + } else if (insnOpcode != ATHROW + && (insnOpcode < IRETURN || insnOpcode > RETURN)) + { + if (subroutine != null) { + if (insnNode instanceof VarInsnNode) { + int var = ((VarInsnNode) insnNode).var; + subroutine.access[var] = true; + if (insnOpcode == LLOAD || insnOpcode == DLOAD + || insnOpcode == LSTORE + || insnOpcode == DSTORE) + { + subroutine.access[var + 1] = true; + } + } else if (insnNode instanceof IincInsnNode) { + int var = ((IincInsnNode) insnNode).var; + subroutine.access[var] = true; + } + } + merge(insn + 1, current, subroutine); + } + } + + List insnHandlers = handlers[insn]; + if (insnHandlers != null) { + for (int i = 0; i < insnHandlers.size(); ++i) { + TryCatchBlockNode tcb = (TryCatchBlockNode) insnHandlers.get(i); + Type type; + if (tcb.type == null) { + type = Type.getType("Ljava/lang/Throwable;"); + } else { + type = Type.getType("L" + tcb.type + ";"); + } + handler.init(f); + handler.clearStack(); + handler.push(interpreter.newValue(type)); + merge(indexes.get(tcb.handler), handler, subroutine); + } + } + } catch (AnalyzerException e) { + throw new AnalyzerException("Error at instruction " + insn + + ": " + e.getMessage(), e); + } catch(Exception e) { + throw new AnalyzerException("Error at instruction " + insn + + ": " + e.getMessage(), e); + } + } + + return frames; + } + + /** + * Returns the symbolic stack frame for each instruction of the last + * recently analyzed method. + * + * @return the symbolic state of the execution stack frame at each bytecode + * instruction of the method. The size of the returned array is + * equal to the number of instructions (and labels) of the method. A + * given frame is null if the corresponding instruction + * cannot be reached, or if an error occured during the analysis of + * the method. + */ + public Frame[] getFrames() { + return frames; + } + + /** + * Returns the index of the given instruction. + * + * @param insn a {@link Label} or {@link AbstractInsnNode} of the last + * recently analyzed method. + * @return the index of the given instruction of the last recently analyzed + * method. + */ + public int getIndex(final Object insn) { + return indexes.get(insn); + } + + /** + * Returns the exception handlers for the given instruction. + * + * @param insn the index of an instruction of the last recently analyzed + * method. + * @return a list of {@link TryCatchBlockNode} objects. + */ + public List getHandlers(final int insn) { + return handlers[insn]; + } + + /** + * Constructs a new frame with the given size. + * + * @param nLocals the maximum number of local variables of the frame. + * @param nStack the maximum stack size of the frame. + * @return the created frame. + */ + protected Frame newFrame(final int nLocals, final int nStack) { + return new Frame(nLocals, nStack); + } + + /** + * Constructs a new frame that is identical to the given frame. + * + * @param src a frame. + * @return the created frame. + */ + protected Frame newFrame(final Frame src) { + return new Frame(src); + } + + /** + * Creates a control flow graph edge. The default implementation of this + * method does nothing. It can be overriden in order to construct the + * control flow graph of a method (this method is called by the + * {@link #analyze analyze} method during its visit of the method's code). + * + * @param frame the frame corresponding to an instruction. + * @param successor the frame corresponding to a successor instruction. + */ + protected void newControlFlowEdge(final Frame frame, final Frame successor) + { + } + + // ------------------------------------------------------------------------- + + private void merge( + final int insn, + final Frame frame, + final Subroutine subroutine) throws AnalyzerException + { + if (insn > n - 1) { + throw new AnalyzerException("Execution can fall off end of the code"); + } + + Frame oldFrame = frames[insn]; + Subroutine oldSubroutine = subroutines[insn]; + boolean changes = false; + + if (oldFrame == null) { + frames[insn] = newFrame(frame); + changes = true; + } else { + changes |= oldFrame.merge(frame, interpreter); + } + + newControlFlowEdge(frame, oldFrame); + + if (oldSubroutine == null) { + if (subroutine != null) { + subroutines[insn] = subroutine.copy(); + changes = true; + } + } else { + if (subroutine != null) { + changes |= oldSubroutine.merge(subroutine, !jsr); + } + } + if (changes && !queued[insn]) { + queued[insn] = true; + queue[top++] = insn; + } + } + + private void merge( + final int insn, + final Frame beforeJSR, + final Frame afterRET, + final Subroutine subroutineBeforeJSR, + final boolean[] access) throws AnalyzerException + { + if (insn > n - 1) { + throw new AnalyzerException("Execution can fall off end of the code"); + } + + Frame oldFrame = frames[insn]; + Subroutine oldSubroutine = subroutines[insn]; + boolean changes = false; + + afterRET.merge(beforeJSR, access); + + if (oldFrame == null) { + frames[insn] = newFrame(afterRET); + changes = true; + } else { + changes |= oldFrame.merge(afterRET, access); + } + + newControlFlowEdge(afterRET, oldFrame); + + if (oldSubroutine == null) { + if (subroutineBeforeJSR != null) { + subroutines[insn] = subroutineBeforeJSR.copy(); + changes = true; + } + } else { + if (subroutineBeforeJSR != null) { + changes |= oldSubroutine.merge(subroutineBeforeJSR, !jsr); + } + } + if (changes && !queued[insn]) { + queued[insn] = true; + queue[top++] = insn; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/AnalyzerException.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/AnalyzerException.java new file mode 100644 index 00000000000..3e0afac9797 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/AnalyzerException.java @@ -0,0 +1,56 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +/** + * Thrown if a problem occurs during the analysis of a method. + * + * @author Bing Ran + * @author Eric Bruneton + */ +public class AnalyzerException extends Exception { + + public AnalyzerException(final String msg) { + super(msg); + } + + public AnalyzerException(final String msg, final Throwable exception) { + super(msg, exception); + } + + public AnalyzerException( + final String msg, + final Object expected, + final Value encountered) + { + super((msg == null ? "Expected " : msg + ": expected ") + expected + + ", but found " + encountered); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.java new file mode 100644 index 00000000000..b92b57c2fee --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.java @@ -0,0 +1,335 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.List; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.FieldInsnNode; +import org.objectweb.asm.tree.IntInsnNode; +import org.objectweb.asm.tree.LdcInsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MultiANewArrayInsnNode; +import org.objectweb.asm.tree.TypeInsnNode; + +/** + * An {@link Interpreter} for {@link BasicValue} values. + * + * @author Eric Bruneton + * @author Bing Ran + */ +public class BasicInterpreter implements Opcodes, Interpreter { + + public Value newValue(final Type type) { + if (type == null) { + return BasicValue.UNINITIALIZED_VALUE; + } + switch (type.getSort()) { + case Type.VOID: + return null; + case Type.BOOLEAN: + case Type.CHAR: + case Type.BYTE: + case Type.SHORT: + case Type.INT: + return BasicValue.INT_VALUE; + case Type.FLOAT: + return BasicValue.FLOAT_VALUE; + case Type.LONG: + return BasicValue.LONG_VALUE; + case Type.DOUBLE: + return BasicValue.DOUBLE_VALUE; + case Type.ARRAY: + case Type.OBJECT: + return BasicValue.REFERENCE_VALUE; + default: + throw new RuntimeException("Internal error."); + } + } + + public Value newOperation(final AbstractInsnNode insn) { + switch (insn.getOpcode()) { + case ACONST_NULL: + return newValue(Type.getType("Lnull;")); + case ICONST_M1: + case ICONST_0: + case ICONST_1: + case ICONST_2: + case ICONST_3: + case ICONST_4: + case ICONST_5: + return BasicValue.INT_VALUE; + case LCONST_0: + case LCONST_1: + return BasicValue.LONG_VALUE; + case FCONST_0: + case FCONST_1: + case FCONST_2: + return BasicValue.FLOAT_VALUE; + case DCONST_0: + case DCONST_1: + return BasicValue.DOUBLE_VALUE; + case BIPUSH: + case SIPUSH: + return BasicValue.INT_VALUE; + case LDC: + Object cst = ((LdcInsnNode) insn).cst; + if (cst instanceof Integer) { + return BasicValue.INT_VALUE; + } else if (cst instanceof Float) { + return BasicValue.FLOAT_VALUE; + } else if (cst instanceof Long) { + return BasicValue.LONG_VALUE; + } else if (cst instanceof Double) { + return BasicValue.DOUBLE_VALUE; + } else if (cst instanceof Type) { + return newValue(Type.getType("Ljava/lang/Class;")); + } else { + return newValue(Type.getType(cst.getClass())); + } + case JSR: + return BasicValue.RETURNADDRESS_VALUE; + case GETSTATIC: + return newValue(Type.getType(((FieldInsnNode) insn).desc)); + case NEW: + return newValue(Type.getType("L" + ((TypeInsnNode) insn).desc + + ";")); + default: + throw new RuntimeException("Internal error."); + } + } + + public Value copyOperation(final AbstractInsnNode insn, final Value value) + throws AnalyzerException + { + return value; + } + + public Value unaryOperation(final AbstractInsnNode insn, final Value value) + throws AnalyzerException + { + switch (insn.getOpcode()) { + case INEG: + case IINC: + case L2I: + case F2I: + case D2I: + case I2B: + case I2C: + case I2S: + return BasicValue.INT_VALUE; + case FNEG: + case I2F: + case L2F: + case D2F: + return BasicValue.FLOAT_VALUE; + case LNEG: + case I2L: + case F2L: + case D2L: + return BasicValue.LONG_VALUE; + case DNEG: + case I2D: + case L2D: + case F2D: + return BasicValue.DOUBLE_VALUE; + case IFEQ: + case IFNE: + case IFLT: + case IFGE: + case IFGT: + case IFLE: + case TABLESWITCH: + case LOOKUPSWITCH: + case IRETURN: + case LRETURN: + case FRETURN: + case DRETURN: + case ARETURN: + case PUTSTATIC: + return null; + case GETFIELD: + return newValue(Type.getType(((FieldInsnNode) insn).desc)); + case NEWARRAY: + switch (((IntInsnNode) insn).operand) { + case T_BOOLEAN: + return newValue(Type.getType("[Z")); + case T_CHAR: + return newValue(Type.getType("[C")); + case T_BYTE: + return newValue(Type.getType("[B")); + case T_SHORT: + return newValue(Type.getType("[S")); + case T_INT: + return newValue(Type.getType("[I")); + case T_FLOAT: + return newValue(Type.getType("[F")); + case T_DOUBLE: + return newValue(Type.getType("[D")); + case T_LONG: + return newValue(Type.getType("[J")); + default: + throw new AnalyzerException("Invalid array type"); + } + case ANEWARRAY: + String desc = ((TypeInsnNode) insn).desc; + if (desc.charAt(0) == '[') { + return newValue(Type.getType("[" + desc)); + } else { + return newValue(Type.getType("[L" + desc + ";")); + } + case ARRAYLENGTH: + return BasicValue.INT_VALUE; + case ATHROW: + return null; + case CHECKCAST: + desc = ((TypeInsnNode) insn).desc; + if (desc.charAt(0) == '[') { + return newValue(Type.getType(desc)); + } else { + return newValue(Type.getType("L" + desc + ";")); + } + case INSTANCEOF: + return BasicValue.INT_VALUE; + case MONITORENTER: + case MONITOREXIT: + case IFNULL: + case IFNONNULL: + return null; + default: + throw new RuntimeException("Internal error."); + } + } + + public Value binaryOperation( + final AbstractInsnNode insn, + final Value value1, + final Value value2) throws AnalyzerException + { + switch (insn.getOpcode()) { + case IALOAD: + case BALOAD: + case CALOAD: + case SALOAD: + case IADD: + case ISUB: + case IMUL: + case IDIV: + case IREM: + case ISHL: + case ISHR: + case IUSHR: + case IAND: + case IOR: + case IXOR: + return BasicValue.INT_VALUE; + case FALOAD: + case FADD: + case FSUB: + case FMUL: + case FDIV: + case FREM: + return BasicValue.FLOAT_VALUE; + case LALOAD: + case LADD: + case LSUB: + case LMUL: + case LDIV: + case LREM: + case LSHL: + case LSHR: + case LUSHR: + case LAND: + case LOR: + case LXOR: + return BasicValue.LONG_VALUE; + case DALOAD: + case DADD: + case DSUB: + case DMUL: + case DDIV: + case DREM: + return BasicValue.DOUBLE_VALUE; + case AALOAD: + Type t = ((BasicValue) value1).getType(); + if (t != null && t.getSort() == Type.ARRAY) { + return newValue(t.getElementType()); + } else { + return BasicValue.REFERENCE_VALUE; + } + case LCMP: + case FCMPL: + case FCMPG: + case DCMPL: + case DCMPG: + return BasicValue.INT_VALUE; + case IF_ICMPEQ: + case IF_ICMPNE: + case IF_ICMPLT: + case IF_ICMPGE: + case IF_ICMPGT: + case IF_ICMPLE: + case IF_ACMPEQ: + case IF_ACMPNE: + case PUTFIELD: + return null; + default: + throw new RuntimeException("Internal error."); + } + } + + public Value ternaryOperation( + final AbstractInsnNode insn, + final Value value1, + final Value value2, + final Value value3) throws AnalyzerException + { + return null; + } + + public Value naryOperation(final AbstractInsnNode insn, final List values) + throws AnalyzerException + { + if (insn.getOpcode() == MULTIANEWARRAY) { + return newValue(Type.getType(((MultiANewArrayInsnNode) insn).desc)); + } else { + return newValue(Type.getReturnType(((MethodInsnNode) insn).desc)); + } + } + + public Value merge(final Value v, final Value w) { + if (!v.equals(w)) { + return BasicValue.UNINITIALIZED_VALUE; + } + return v; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicValue.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicValue.java new file mode 100644 index 00000000000..19cdb33a959 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicValue.java @@ -0,0 +1,105 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import org.objectweb.asm.Type; + +/** + * A {@link Value} that is represented by its type in a seven types type sytem. + * This type system distinguishes the UNINITIALZED, INT, FLOAT, LONG, DOUBLE, + * REFERENCE and RETURNADDRESS types. + * + * @author Eric Bruneton + */ +public class BasicValue implements Value { + + public final static Value UNINITIALIZED_VALUE = new BasicValue(null); + + public final static Value INT_VALUE = new BasicValue(Type.INT_TYPE); + + public final static Value FLOAT_VALUE = new BasicValue(Type.FLOAT_TYPE); + + public final static Value LONG_VALUE = new BasicValue(Type.LONG_TYPE); + + public final static Value DOUBLE_VALUE = new BasicValue(Type.DOUBLE_TYPE); + + public final static Value REFERENCE_VALUE = new BasicValue(Type.getType("Ljava/lang/Object;")); + + public final static Value RETURNADDRESS_VALUE = new BasicValue(null); + + private Type type; + + public BasicValue(final Type type) { + this.type = type; + } + + public Type getType() { + return type; + } + + public int getSize() { + return type == Type.LONG_TYPE || type == Type.DOUBLE_TYPE ? 2 : 1; + } + + public boolean isReference() { + return type != null + && (type.getSort() == Type.OBJECT || type.getSort() == Type.ARRAY); + } + + public boolean equals(final Object value) { + if (value == this) { + return true; + } else if (value instanceof BasicValue) { + if (type == null) { + return ((BasicValue) value).type == null; + } else { + return type.equals(((BasicValue) value).type); + } + } else { + return false; + } + } + + public int hashCode() { + return type == null ? 0 : type.hashCode(); + } + + public String toString() { + if (this == UNINITIALIZED_VALUE) { + return "."; + } else if (this == RETURNADDRESS_VALUE) { + return "A"; + } else if (this == REFERENCE_VALUE) { + return "R"; + } else { + return type.getDescriptor(); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicVerifier.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicVerifier.java new file mode 100644 index 00000000000..0a797d493e7 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/BasicVerifier.java @@ -0,0 +1,428 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.List; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.FieldInsnNode; +import org.objectweb.asm.tree.MethodInsnNode; + +/** + * An extended {@link BasicInterpreter} that checks that bytecode instructions + * are correctly used. + * + * @author Eric Bruneton + * @author Bing Ran + */ +public class BasicVerifier extends BasicInterpreter { + + public Value copyOperation(final AbstractInsnNode insn, final Value value) + throws AnalyzerException + { + Value expected; + switch (insn.getOpcode()) { + case ILOAD: + case ISTORE: + expected = BasicValue.INT_VALUE; + break; + case FLOAD: + case FSTORE: + expected = BasicValue.FLOAT_VALUE; + break; + case LLOAD: + case LSTORE: + expected = BasicValue.LONG_VALUE; + break; + case DLOAD: + case DSTORE: + expected = BasicValue.DOUBLE_VALUE; + break; + case ALOAD: + if (!((BasicValue) value).isReference()) { + throw new AnalyzerException(null, + "an object reference", + value); + } + return value; + case ASTORE: + if (!((BasicValue) value).isReference() + && value != BasicValue.RETURNADDRESS_VALUE) + { + throw new AnalyzerException(null, + "an object reference or a return address", + value); + } + return value; + default: + return value; + } + // type is necessarily a primitive type here, + // so value must be == to expected value + if (value != expected) { + throw new AnalyzerException(null, expected, value); + } + return value; + } + + public Value unaryOperation(final AbstractInsnNode insn, Value value) + throws AnalyzerException + { + Value expected; + switch (insn.getOpcode()) { + case INEG: + case IINC: + case I2F: + case I2L: + case I2D: + case I2B: + case I2C: + case I2S: + case IFEQ: + case IFNE: + case IFLT: + case IFGE: + case IFGT: + case IFLE: + case TABLESWITCH: + case LOOKUPSWITCH: + case IRETURN: + case NEWARRAY: + case ANEWARRAY: + expected = BasicValue.INT_VALUE; + break; + case FNEG: + case F2I: + case F2L: + case F2D: + case FRETURN: + expected = BasicValue.FLOAT_VALUE; + break; + case LNEG: + case L2I: + case L2F: + case L2D: + case LRETURN: + expected = BasicValue.LONG_VALUE; + break; + case DNEG: + case D2I: + case D2F: + case D2L: + case DRETURN: + expected = BasicValue.DOUBLE_VALUE; + break; + case GETFIELD: + expected = newValue(Type.getType("L" + + ((FieldInsnNode) insn).owner + ";")); + break; + case CHECKCAST: + if (!((BasicValue) value).isReference()) { + throw new AnalyzerException(null, + "an object reference", + value); + } + return super.unaryOperation(insn, value); + case ARRAYLENGTH: + if (!isArrayValue(value)) { + throw new AnalyzerException(null, + "an array reference", + value); + } + return super.unaryOperation(insn, value); + case ARETURN: + case ATHROW: + case INSTANCEOF: + case MONITORENTER: + case MONITOREXIT: + case IFNULL: + case IFNONNULL: + if (!((BasicValue) value).isReference()) { + throw new AnalyzerException(null, + "an object reference", + value); + } + return super.unaryOperation(insn, value); + case PUTSTATIC: + expected = newValue(Type.getType(((FieldInsnNode) insn).desc)); + break; + default: + throw new RuntimeException("Internal error."); + } + if (!isSubTypeOf(value, expected)) { + throw new AnalyzerException(null, expected, value); + } + return super.unaryOperation(insn, value); + } + + public Value binaryOperation( + final AbstractInsnNode insn, + final Value value1, + final Value value2) throws AnalyzerException + { + Value expected1; + Value expected2; + switch (insn.getOpcode()) { + case IALOAD: + expected1 = newValue(Type.getType("[I")); + expected2 = BasicValue.INT_VALUE; + break; + case BALOAD: + if (!isSubTypeOf(value1, newValue(Type.getType("[Z")))) { + expected1 = newValue(Type.getType("[B")); + } else { + expected1 = newValue(Type.getType("[Z")); + } + expected2 = BasicValue.INT_VALUE; + break; + case CALOAD: + expected1 = newValue(Type.getType("[C")); + expected2 = BasicValue.INT_VALUE; + break; + case SALOAD: + expected1 = newValue(Type.getType("[S")); + expected2 = BasicValue.INT_VALUE; + break; + case LALOAD: + expected1 = newValue(Type.getType("[J")); + expected2 = BasicValue.INT_VALUE; + break; + case FALOAD: + expected1 = newValue(Type.getType("[F")); + expected2 = BasicValue.INT_VALUE; + break; + case DALOAD: + expected1 = newValue(Type.getType("[D")); + expected2 = BasicValue.INT_VALUE; + break; + case AALOAD: + expected1 = newValue(Type.getType("[Ljava/lang/Object;")); + expected2 = BasicValue.INT_VALUE; + break; + case IADD: + case ISUB: + case IMUL: + case IDIV: + case IREM: + case ISHL: + case ISHR: + case IUSHR: + case IAND: + case IOR: + case IXOR: + case IF_ICMPEQ: + case IF_ICMPNE: + case IF_ICMPLT: + case IF_ICMPGE: + case IF_ICMPGT: + case IF_ICMPLE: + expected1 = BasicValue.INT_VALUE; + expected2 = BasicValue.INT_VALUE; + break; + case FADD: + case FSUB: + case FMUL: + case FDIV: + case FREM: + case FCMPL: + case FCMPG: + expected1 = BasicValue.FLOAT_VALUE; + expected2 = BasicValue.FLOAT_VALUE; + break; + case LADD: + case LSUB: + case LMUL: + case LDIV: + case LREM: + case LAND: + case LOR: + case LXOR: + case LCMP: + expected1 = BasicValue.LONG_VALUE; + expected2 = BasicValue.LONG_VALUE; + break; + case LSHL: + case LSHR: + case LUSHR: + expected1 = BasicValue.LONG_VALUE; + expected2 = BasicValue.INT_VALUE; + break; + case DADD: + case DSUB: + case DMUL: + case DDIV: + case DREM: + case DCMPL: + case DCMPG: + expected1 = BasicValue.DOUBLE_VALUE; + expected2 = BasicValue.DOUBLE_VALUE; + break; + case IF_ACMPEQ: + case IF_ACMPNE: + expected1 = BasicValue.REFERENCE_VALUE; + expected2 = BasicValue.REFERENCE_VALUE; + break; + case PUTFIELD: + FieldInsnNode fin = (FieldInsnNode) insn; + expected1 = newValue(Type.getType("L" + fin.owner + ";")); + expected2 = newValue(Type.getType(fin.desc)); + break; + default: + throw new RuntimeException("Internal error."); + } + if (!isSubTypeOf(value1, expected1)) { + throw new AnalyzerException("First argument", expected1, value1); + } else if (!isSubTypeOf(value2, expected2)) { + throw new AnalyzerException("Second argument", expected2, value2); + } + if (insn.getOpcode() == AALOAD) { + return getElementValue(value1); + } else { + return super.binaryOperation(insn, value1, value2); + } + } + + public Value ternaryOperation( + final AbstractInsnNode insn, + final Value value1, + final Value value2, + final Value value3) throws AnalyzerException + { + Value expected1; + Value expected3; + switch (insn.getOpcode()) { + case IASTORE: + expected1 = newValue(Type.getType("[I")); + expected3 = BasicValue.INT_VALUE; + break; + case BASTORE: + if (!isSubTypeOf(value1, newValue(Type.getType("[Z")))) { + expected1 = newValue(Type.getType("[B")); + } else { + expected1 = newValue(Type.getType("[Z")); + } + expected3 = BasicValue.INT_VALUE; + break; + case CASTORE: + expected1 = newValue(Type.getType("[C")); + expected3 = BasicValue.INT_VALUE; + break; + case SASTORE: + expected1 = newValue(Type.getType("[S")); + expected3 = BasicValue.INT_VALUE; + break; + case LASTORE: + expected1 = newValue(Type.getType("[J")); + expected3 = BasicValue.LONG_VALUE; + break; + case FASTORE: + expected1 = newValue(Type.getType("[F")); + expected3 = BasicValue.FLOAT_VALUE; + break; + case DASTORE: + expected1 = newValue(Type.getType("[D")); + expected3 = BasicValue.DOUBLE_VALUE; + break; + case AASTORE: + expected1 = value1; + expected3 = BasicValue.REFERENCE_VALUE; + break; + default: + throw new RuntimeException("Internal error."); + } + if (!isSubTypeOf(value1, expected1)) { + throw new AnalyzerException("First argument", "a " + expected1 + + " array reference", value1); + } else if (value2 != BasicValue.INT_VALUE) { + throw new AnalyzerException("Second argument", + BasicValue.INT_VALUE, + value2); + } else if (!isSubTypeOf(value3, expected3)) { + throw new AnalyzerException("Third argument", expected3, value3); + } + return null; + } + + public Value naryOperation(final AbstractInsnNode insn, final List values) + throws AnalyzerException + { + int opcode = insn.getOpcode(); + if (opcode == MULTIANEWARRAY) { + for (int i = 0; i < values.size(); ++i) { + if (values.get(i) != BasicValue.INT_VALUE) { + throw new AnalyzerException(null, + BasicValue.INT_VALUE, + (Value) values.get(i)); + } + } + } else { + int i = 0; + int j = 0; + if (opcode != INVOKESTATIC) { + String own = ((MethodInsnNode) insn).owner; + if (own.charAt(0) != '[') { // can happen with JDK1.5 clone() + own = "L" + own + ";"; + } + Type owner = Type.getType(own); + if (!isSubTypeOf((Value) values.get(i++), newValue(owner))) { + throw new AnalyzerException("Method owner", + newValue(owner), + (Value) values.get(0)); + } + } + Type[] args = Type.getArgumentTypes(((MethodInsnNode) insn).desc); + while (i < values.size()) { + Value expected = newValue(args[j++]); + Value encountered = (Value) values.get(i++); + if (!isSubTypeOf(encountered, expected)) { + throw new AnalyzerException("Argument " + j, + expected, + encountered); + } + } + } + return super.naryOperation(insn, values); + } + + protected boolean isArrayValue(final Value value) { + return ((BasicValue) value).isReference(); + } + + protected Value getElementValue(final Value objectArrayValue) + throws AnalyzerException + { + return BasicValue.REFERENCE_VALUE; + } + + protected boolean isSubTypeOf(final Value value, final Value expected) { + return value == expected; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.java new file mode 100644 index 00000000000..07edd74f920 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.java @@ -0,0 +1,174 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.FieldInsnNode; +import org.objectweb.asm.tree.LdcInsnNode; +import org.objectweb.asm.tree.MethodInsnNode; + +/** + * An {@link Interpreter} for {@link DataflowValue} values. + * + * @author Eric Bruneton + */ +public class DataflowInterpreter implements Opcodes, Interpreter { + + public Value newValue(final Type type) { + return new DataflowValue(type == null ? 1 : type.getSize()); + } + + public Value newOperation(final AbstractInsnNode insn) { + int size; + switch (insn.getOpcode()) { + case LCONST_0: + case LCONST_1: + case DCONST_0: + case DCONST_1: + size = 2; + break; + case LDC: + Object cst = ((LdcInsnNode) insn).cst; + size = cst instanceof Long || cst instanceof Double ? 2 : 1; + break; + case GETSTATIC: + size = Type.getType(((FieldInsnNode) insn).desc).getSize(); + break; + default: + size = 1; + } + return new DataflowValue(size, insn); + } + + public Value copyOperation(final AbstractInsnNode insn, final Value value) { + return new DataflowValue(value.getSize(), insn); + } + + public Value unaryOperation(final AbstractInsnNode insn, final Value value) + { + int size; + switch (insn.getOpcode()) { + case LNEG: + case DNEG: + case I2L: + case I2D: + case L2D: + case F2L: + case F2D: + case D2L: + size = 2; + break; + case GETFIELD: + size = Type.getType(((FieldInsnNode) insn).desc).getSize(); + break; + default: + size = 1; + } + return new DataflowValue(size, insn); + } + + public Value binaryOperation( + final AbstractInsnNode insn, + final Value value1, + final Value value2) + { + int size; + switch (insn.getOpcode()) { + case LALOAD: + case DALOAD: + case LADD: + case DADD: + case LSUB: + case DSUB: + case LMUL: + case DMUL: + case LDIV: + case DDIV: + case LREM: + case DREM: + case LSHL: + case LSHR: + case LUSHR: + case LAND: + case LOR: + case LXOR: + size = 2; + break; + default: + size = 1; + } + return new DataflowValue(size, insn); + } + + public Value ternaryOperation( + final AbstractInsnNode insn, + final Value value1, + final Value value2, + final Value value3) + { + return new DataflowValue(1, insn); + } + + public Value naryOperation(final AbstractInsnNode insn, final List values) { + int size; + if (insn.getOpcode() == MULTIANEWARRAY) { + size = 1; + } else { + size = Type.getReturnType(((MethodInsnNode) insn).desc).getSize(); + } + return new DataflowValue(size, insn); + } + + public Value merge(final Value v, final Value w) { + DataflowValue dv = (DataflowValue) v; + DataflowValue dw = (DataflowValue) w; + if (dv.insns instanceof SmallSet && dw.insns instanceof SmallSet) { + Set s = ((SmallSet) dv.insns).union((SmallSet) dw.insns); + if (s == dv.insns && dv.size == dw.size) { + return v; + } else { + return new DataflowValue(Math.min(dv.size, dw.size), s); + } + } + if (dv.size != dw.size || !dv.insns.containsAll(dw.insns)) { + Set s = new HashSet(); + s.addAll(dv.insns); + s.addAll(dw.insns); + return new DataflowValue(Math.min(dv.size, dw.size), s); + } + return v; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowValue.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowValue.java new file mode 100644 index 00000000000..0019d7f2c5d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/DataflowValue.java @@ -0,0 +1,92 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.Set; + +import org.objectweb.asm.tree.AbstractInsnNode; + +/** + * A {@link Value} that is represented by its type in a two types type system. + * This type system distinguishes the ONEWORD and TWOWORDS types. + * + * @author Eric Bruneton + */ +public class DataflowValue implements Value { + + /** + * The size of this value. + */ + public final int size; + + /** + * The instructions that can produce this value. For example, for the Java + * code below, the instructions that can produce the value of i + * at line 5 are the txo ISTORE instructions at line 1 and 3: + * + *
      +     * 1: i = 0;
      +     * 2: if (...) {
      +     * 3:   i = 1;
      +     * 4: }
      +     * 5: return i;
      +     * 
      + * + * This field is a set of {@link AbstractInsnNode} objects. + */ + public final Set insns; + + public DataflowValue(final int size) { + this(size, SmallSet.EMPTY_SET); + } + + public DataflowValue(final int size, final AbstractInsnNode insn) { + this.size = size; + this.insns = new SmallSet(insn, null); + } + + public DataflowValue(final int size, final Set insns) { + this.size = size; + this.insns = insns; + } + + public int getSize() { + return size; + } + + public boolean equals(final Object value) { + DataflowValue v = (DataflowValue) value; + return size == v.size && insns.equals(v.insns); + } + + public int hashCode() { + return insns.hashCode(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Frame.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Frame.java new file mode 100644 index 00000000000..bc2d873e94d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Frame.java @@ -0,0 +1,670 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.ArrayList; +import java.util.List; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.IincInsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MultiANewArrayInsnNode; +import org.objectweb.asm.tree.VarInsnNode; + +/** + * A symbolic execution stack frame. A stack frame contains a set of local + * variable slots, and an operand stack. Warning: long and double values are + * represented by two slots in local variables, and by one slot + * in the operand stack. + * + * @author Eric Bruneton + */ +public class Frame { + + /** + * The local variables and operand stack of this frame. + */ + private Value[] values; + + /** + * The number of local variables of this frame. + */ + private int locals; + + /** + * The number of elements in the operand stack. + */ + private int top; + + /** + * Constructs a new frame with the given size. + * + * @param nLocals the maximum number of local variables of the frame. + * @param nStack the maximum stack size of the frame. + */ + public Frame(final int nLocals, final int nStack) { + this.values = new Value[nLocals + nStack]; + this.locals = nLocals; + } + + /** + * Constructs a new frame that is identical to the given frame. + * + * @param src a frame. + */ + public Frame(final Frame src) { + this(src.locals, src.values.length - src.locals); + init(src); + } + + /** + * Copies the state of the given frame into this frame. + * + * @param src a frame. + * @return this frame. + */ + public Frame init(final Frame src) { + System.arraycopy(src.values, 0, values, 0, values.length); + top = src.top; + return this; + } + + /** + * Returns the maximum number of local variables of this frame. + * + * @return the maximum number of local variables of this frame. + */ + public int getLocals() { + return locals; + } + + /** + * Returns the value of the given local variable. + * + * @param i a local variable index. + * @return the value of the given local variable. + * @throws IndexOutOfBoundsException if the variable does not exist. + */ + public Value getLocal(final int i) throws IndexOutOfBoundsException { + if (i >= locals) { + throw new IndexOutOfBoundsException("Trying to access an inexistant local variable"); + } + return values[i]; + } + + /** + * Sets the value of the given local variable. + * + * @param i a local variable index. + * @param value the new value of this local variable. + * @throws IndexOutOfBoundsException if the variable does not exist. + */ + public void setLocal(final int i, final Value value) + throws IndexOutOfBoundsException + { + if (i >= locals) { + throw new IndexOutOfBoundsException("Trying to access an inexistant local variable"); + } + values[i] = value; + } + + /** + * Returns the number of values in the operand stack of this frame. Long and + * double values are treated as single values. + * + * @return the number of values in the operand stack of this frame. + */ + public int getStackSize() { + return top; + } + + /** + * Returns the value of the given operand stack slot. + * + * @param i the index of an operand stack slot. + * @return the value of the given operand stack slot. + * @throws IndexOutOfBoundsException if the operand stack slot does not + * exist. + */ + public Value getStack(final int i) throws IndexOutOfBoundsException { + if (i >= top) { + throw new IndexOutOfBoundsException("Trying to access an inexistant stack element"); + } + return values[i + locals]; + } + + /** + * Clears the operand stack of this frame. + */ + public void clearStack() { + top = 0; + } + + /** + * Pops a value from the operand stack of this frame. + * + * @return the value that has been popped from the stack. + * @throws IndexOutOfBoundsException if the operand stack is empty. + */ + public Value pop() throws IndexOutOfBoundsException { + if (top == 0) { + throw new IndexOutOfBoundsException("Cannot pop operand off an empty stack."); + } + return values[--top + locals]; + } + + /** + * Pushes a value into the operand stack of this frame. + * + * @param value the value that must be pushed into the stack. + * @throws IndexOutOfBoundsException if the operand stack is full. + */ + public void push(final Value value) throws IndexOutOfBoundsException { + if (top + locals >= values.length) { + throw new IndexOutOfBoundsException("Insufficient maximum stack size."); + } + values[top++ + locals] = value; + } + + public void execute( + final AbstractInsnNode insn, + final Interpreter interpreter) throws AnalyzerException + { + Value value1, value2, value3, value4; + List values; + int var; + + switch (insn.getOpcode()) { + case Opcodes.NOP: + break; + case Opcodes.ACONST_NULL: + case Opcodes.ICONST_M1: + case Opcodes.ICONST_0: + case Opcodes.ICONST_1: + case Opcodes.ICONST_2: + case Opcodes.ICONST_3: + case Opcodes.ICONST_4: + case Opcodes.ICONST_5: + case Opcodes.LCONST_0: + case Opcodes.LCONST_1: + case Opcodes.FCONST_0: + case Opcodes.FCONST_1: + case Opcodes.FCONST_2: + case Opcodes.DCONST_0: + case Opcodes.DCONST_1: + case Opcodes.BIPUSH: + case Opcodes.SIPUSH: + case Opcodes.LDC: + push(interpreter.newOperation(insn)); + break; + case Opcodes.ILOAD: + case Opcodes.LLOAD: + case Opcodes.FLOAD: + case Opcodes.DLOAD: + case Opcodes.ALOAD: + push(interpreter.copyOperation(insn, + getLocal(((VarInsnNode) insn).var))); + break; + case Opcodes.IALOAD: + case Opcodes.LALOAD: + case Opcodes.FALOAD: + case Opcodes.DALOAD: + case Opcodes.AALOAD: + case Opcodes.BALOAD: + case Opcodes.CALOAD: + case Opcodes.SALOAD: + value2 = pop(); + value1 = pop(); + push(interpreter.binaryOperation(insn, value1, value2)); + break; + case Opcodes.ISTORE: + case Opcodes.LSTORE: + case Opcodes.FSTORE: + case Opcodes.DSTORE: + case Opcodes.ASTORE: + value1 = interpreter.copyOperation(insn, pop()); + var = ((VarInsnNode) insn).var; + setLocal(var, value1); + if (value1.getSize() == 2) { + setLocal(var + 1, interpreter.newValue(null)); + } + if (var > 0) { + Value local = getLocal(var - 1); + if (local != null && local.getSize() == 2) { + setLocal(var + 1, interpreter.newValue(null)); + } + } + break; + case Opcodes.IASTORE: + case Opcodes.LASTORE: + case Opcodes.FASTORE: + case Opcodes.DASTORE: + case Opcodes.AASTORE: + case Opcodes.BASTORE: + case Opcodes.CASTORE: + case Opcodes.SASTORE: + value3 = pop(); + value2 = pop(); + value1 = pop(); + interpreter.ternaryOperation(insn, value1, value2, value3); + break; + case Opcodes.POP: + if (pop().getSize() == 2) { + throw new AnalyzerException("Illegal use of POP"); + } + break; + case Opcodes.POP2: + if (pop().getSize() == 1) { + if (pop().getSize() != 1) { + throw new AnalyzerException("Illegal use of POP2"); + } + } + break; + case Opcodes.DUP: + value1 = pop(); + if (value1.getSize() != 1) { + throw new AnalyzerException("Illegal use of DUP"); + } + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value1)); + break; + case Opcodes.DUP_X1: + value1 = pop(); + value2 = pop(); + if (value1.getSize() != 1 || value2.getSize() != 1) { + throw new AnalyzerException("Illegal use of DUP_X1"); + } + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + case Opcodes.DUP_X2: + value1 = pop(); + if (value1.getSize() == 1) { + value2 = pop(); + if (value2.getSize() == 1) { + value3 = pop(); + if (value3.getSize() == 1) { + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value3)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } else { + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } + throw new AnalyzerException("Illegal use of DUP_X2"); + case Opcodes.DUP2: + value1 = pop(); + if (value1.getSize() == 1) { + value2 = pop(); + if (value2.getSize() == 1) { + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } else { + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value1)); + break; + } + throw new AnalyzerException("Illegal use of DUP2"); + case Opcodes.DUP2_X1: + value1 = pop(); + if (value1.getSize() == 1) { + value2 = pop(); + if (value2.getSize() == 1) { + value3 = pop(); + if (value3.getSize() == 1) { + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value3)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } + } else { + value2 = pop(); + if (value2.getSize() == 1) { + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } + throw new AnalyzerException("Illegal use of DUP2_X1"); + case Opcodes.DUP2_X2: + value1 = pop(); + if (value1.getSize() == 1) { + value2 = pop(); + if (value2.getSize() == 1) { + value3 = pop(); + if (value3.getSize() == 1) { + value4 = pop(); + if (value4.getSize() == 1) { + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value4)); + push(interpreter.copyOperation(insn, value3)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } else { + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value3)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } + } else { + value2 = pop(); + if (value2.getSize() == 1) { + value3 = pop(); + if (value3.getSize() == 1) { + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value3)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } else { + push(interpreter.copyOperation(insn, value1)); + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + } + } + throw new AnalyzerException("Illegal use of DUP2_X2"); + case Opcodes.SWAP: + value2 = pop(); + value1 = pop(); + if (value1.getSize() != 1 || value2.getSize() != 1) { + throw new AnalyzerException("Illegal use of SWAP"); + } + push(interpreter.copyOperation(insn, value2)); + push(interpreter.copyOperation(insn, value1)); + break; + case Opcodes.IADD: + case Opcodes.LADD: + case Opcodes.FADD: + case Opcodes.DADD: + case Opcodes.ISUB: + case Opcodes.LSUB: + case Opcodes.FSUB: + case Opcodes.DSUB: + case Opcodes.IMUL: + case Opcodes.LMUL: + case Opcodes.FMUL: + case Opcodes.DMUL: + case Opcodes.IDIV: + case Opcodes.LDIV: + case Opcodes.FDIV: + case Opcodes.DDIV: + case Opcodes.IREM: + case Opcodes.LREM: + case Opcodes.FREM: + case Opcodes.DREM: + value2 = pop(); + value1 = pop(); + push(interpreter.binaryOperation(insn, value1, value2)); + break; + case Opcodes.INEG: + case Opcodes.LNEG: + case Opcodes.FNEG: + case Opcodes.DNEG: + push(interpreter.unaryOperation(insn, pop())); + break; + case Opcodes.ISHL: + case Opcodes.LSHL: + case Opcodes.ISHR: + case Opcodes.LSHR: + case Opcodes.IUSHR: + case Opcodes.LUSHR: + case Opcodes.IAND: + case Opcodes.LAND: + case Opcodes.IOR: + case Opcodes.LOR: + case Opcodes.IXOR: + case Opcodes.LXOR: + value2 = pop(); + value1 = pop(); + push(interpreter.binaryOperation(insn, value1, value2)); + break; + case Opcodes.IINC: + var = ((IincInsnNode) insn).var; + setLocal(var, interpreter.unaryOperation(insn, getLocal(var))); + break; + case Opcodes.I2L: + case Opcodes.I2F: + case Opcodes.I2D: + case Opcodes.L2I: + case Opcodes.L2F: + case Opcodes.L2D: + case Opcodes.F2I: + case Opcodes.F2L: + case Opcodes.F2D: + case Opcodes.D2I: + case Opcodes.D2L: + case Opcodes.D2F: + case Opcodes.I2B: + case Opcodes.I2C: + case Opcodes.I2S: + push(interpreter.unaryOperation(insn, pop())); + break; + case Opcodes.LCMP: + case Opcodes.FCMPL: + case Opcodes.FCMPG: + case Opcodes.DCMPL: + case Opcodes.DCMPG: + value2 = pop(); + value1 = pop(); + push(interpreter.binaryOperation(insn, value1, value2)); + break; + case Opcodes.IFEQ: + case Opcodes.IFNE: + case Opcodes.IFLT: + case Opcodes.IFGE: + case Opcodes.IFGT: + case Opcodes.IFLE: + interpreter.unaryOperation(insn, pop()); + break; + case Opcodes.IF_ICMPEQ: + case Opcodes.IF_ICMPNE: + case Opcodes.IF_ICMPLT: + case Opcodes.IF_ICMPGE: + case Opcodes.IF_ICMPGT: + case Opcodes.IF_ICMPLE: + case Opcodes.IF_ACMPEQ: + case Opcodes.IF_ACMPNE: + value2 = pop(); + value1 = pop(); + interpreter.binaryOperation(insn, value1, value2); + break; + case Opcodes.GOTO: + break; + case Opcodes.JSR: + push(interpreter.newOperation(insn)); + break; + case Opcodes.RET: + break; + case Opcodes.TABLESWITCH: + case Opcodes.LOOKUPSWITCH: + case Opcodes.IRETURN: + case Opcodes.LRETURN: + case Opcodes.FRETURN: + case Opcodes.DRETURN: + case Opcodes.ARETURN: + interpreter.unaryOperation(insn, pop()); + break; + case Opcodes.RETURN: + break; + case Opcodes.GETSTATIC: + push(interpreter.newOperation(insn)); + break; + case Opcodes.PUTSTATIC: + interpreter.unaryOperation(insn, pop()); + break; + case Opcodes.GETFIELD: + push(interpreter.unaryOperation(insn, pop())); + break; + case Opcodes.PUTFIELD: + value2 = pop(); + value1 = pop(); + interpreter.binaryOperation(insn, value1, value2); + break; + case Opcodes.INVOKEVIRTUAL: + case Opcodes.INVOKESPECIAL: + case Opcodes.INVOKESTATIC: + case Opcodes.INVOKEINTERFACE: + values = new ArrayList(); + String desc = ((MethodInsnNode) insn).desc; + for (int i = Type.getArgumentTypes(desc).length; i > 0; --i) { + values.add(0, pop()); + } + if (insn.getOpcode() != Opcodes.INVOKESTATIC) { + values.add(0, pop()); + } + if (Type.getReturnType(desc) == Type.VOID_TYPE) { + interpreter.naryOperation(insn, values); + } else { + push(interpreter.naryOperation(insn, values)); + } + break; + case Opcodes.NEW: + push(interpreter.newOperation(insn)); + break; + case Opcodes.NEWARRAY: + case Opcodes.ANEWARRAY: + case Opcodes.ARRAYLENGTH: + push(interpreter.unaryOperation(insn, pop())); + break; + case Opcodes.ATHROW: + interpreter.unaryOperation(insn, pop()); + break; + case Opcodes.CHECKCAST: + case Opcodes.INSTANCEOF: + push(interpreter.unaryOperation(insn, pop())); + break; + case Opcodes.MONITORENTER: + case Opcodes.MONITOREXIT: + interpreter.unaryOperation(insn, pop()); + break; + case Opcodes.MULTIANEWARRAY: + values = new ArrayList(); + for (int i = ((MultiANewArrayInsnNode) insn).dims; i > 0; --i) { + values.add(0, pop()); + } + push(interpreter.naryOperation(insn, values)); + break; + case Opcodes.IFNULL: + case Opcodes.IFNONNULL: + interpreter.unaryOperation(insn, pop()); + break; + default: + throw new RuntimeException("Illegal opcode"); + } + } + + /** + * Merges this frame with the given frame. + * + * @param frame a frame. + * @param interpreter the interpreter used to merge values. + * @return true if this frame has been changed as a result of the + * merge operation, or false otherwise. + * @throws AnalyzerException if the frames have incompatible sizes. + */ + public boolean merge(final Frame frame, final Interpreter interpreter) + throws AnalyzerException + { + if (top != frame.top) { + throw new AnalyzerException("Incompatible stack heights"); + } + boolean changes = false; + for (int i = 0; i < locals + top; ++i) { + Value v = interpreter.merge(values[i], frame.values[i]); + if (v != values[i]) { + values[i] = v; + changes |= true; + } + } + return changes; + } + + /** + * Merges this frame with the given frame (case of a RET instruction). + * + * @param frame a frame + * @param access the local variables that have been accessed by the + * subroutine to which the RET instruction corresponds. + * @return true if this frame has been changed as a result of the + * merge operation, or false otherwise. + */ + public boolean merge(final Frame frame, final boolean[] access) { + boolean changes = false; + for (int i = 0; i < locals; ++i) { + if (!access[i] && !values[i].equals(frame.values[i])) { + values[i] = frame.values[i]; + changes = true; + } + } + return changes; + } + + /** + * Returns a string representation of this frame. + * + * @return a string representation of this frame. + */ + public String toString() { + StringBuffer b = new StringBuffer(); + for (int i = 0; i < locals; ++i) { + b.append(values[i]).append(' '); + } + b.append(' '); + for (int i = 0; i < top; ++i) { + b.append(values[i + locals].toString()).append(' '); + } + return b.toString(); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/IntMap.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/IntMap.java new file mode 100644 index 00000000000..9528482e727 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/IntMap.java @@ -0,0 +1,73 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +/** + * A fixed size map of integer values. + * + * @author Eric Bruneton + */ +class IntMap { + + private int size; + + private Object[] keys; + + private int[] values; + + public IntMap(final int size) { + this.size = size; + this.keys = new Object[size]; + this.values = new int[size]; + } + + public int get(final Object key) { + int n = size; + int h = (key.hashCode() & 0x7FFFFFFF) % n; + int i = h; + while (keys[i] != key) { + i = (i + 1) % n; + if (i == h) { + throw new RuntimeException("Cannot find index of " + key); + } + } + return values[i]; + } + + public void put(final Object key, final int value) { + int n = size; + int i = (key.hashCode() & 0x7FFFFFFF) % n; + while (keys[i] != null) { + i = (i + 1) % n; + } + keys[i] = key; + values[i] = value; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Interpreter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Interpreter.java new file mode 100644 index 00000000000..f7a2f5301c3 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Interpreter.java @@ -0,0 +1,178 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.List; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; + +/** + * A semantic bytecode interpreter. More precisely, this interpreter only + * manages the computation of values from other values: it does not manage the + * transfer of values to or from the stack, and to or from the local variables. + * This separation allows a generic bytecode {@link Analyzer} to work with + * various semantic interpreters, without needing to duplicate the code to + * simulate the transfer of values. + * + * @author Eric Bruneton + */ +public interface Interpreter { + + /** + * Creates a new value that represents the given type. + * + * Called for method parameters (including this), + * exception handler variable and with null type + * for variables reserved by long and double types. + * + * @param type a primitive or reference type, or null to + * represent an uninitialized value. + * @return a value that represents the given type. The size of the returned + * value must be equal to the size of the given type. + */ + Value newValue(Type type); + + /** + * Interprets a bytecode instruction without arguments. This method is + * called for the following opcodes: + * + * ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, + * ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1, FCONST_2, DCONST_0, + * DCONST_1, BIPUSH, SIPUSH, LDC, JSR, GETSTATIC, NEW + * + * @param insn the bytecode instruction to be interpreted. + * @return the result of the interpretation of the given instruction. + * @throws AnalyzerException if an error occured during the interpretation. + */ + Value newOperation(AbstractInsnNode insn) throws AnalyzerException; + + /** + * Interprets a bytecode instruction that moves a value on the stack or to + * or from local variables. This method is called for the following opcodes: + * + * ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE, LSTORE, FSTORE, DSTORE, + * ASTORE, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP + * + * @param insn the bytecode instruction to be interpreted. + * @param value the value that must be moved by the instruction. + * @return the result of the interpretation of the given instruction. The + * returned value must be equal to the given value. + * @throws AnalyzerException if an error occured during the interpretation. + */ + Value copyOperation(AbstractInsnNode insn, Value value) + throws AnalyzerException; + + /** + * Interprets a bytecode instruction with a single argument. This method is + * called for the following opcodes: + * + * INEG, LNEG, FNEG, DNEG, IINC, I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, + * F2D, D2I, D2L, D2F, I2B, I2C, I2S, IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, + * TABLESWITCH, LOOKUPSWITCH, IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, + * PUTSTATIC, GETFIELD, NEWARRAY, ANEWARRAY, ARRAYLENGTH, ATHROW, CHECKCAST, + * INSTANCEOF, MONITORENTER, MONITOREXIT, IFNULL, IFNONNULL + * + * @param insn the bytecode instruction to be interpreted. + * @param value the argument of the instruction to be interpreted. + * @return the result of the interpretation of the given instruction. + * @throws AnalyzerException if an error occured during the interpretation. + */ + Value unaryOperation(AbstractInsnNode insn, Value value) + throws AnalyzerException; + + /** + * Interprets a bytecode instruction with two arguments. This method is + * called for the following opcodes: + * + * IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IADD, + * LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, + * LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, ISHL, LSHL, ISHR, LSHR, IUSHR, + * LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR, LCMP, FCMPL, FCMPG, DCMPL, + * DCMPG, IF_ICMPEQ, IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, + * IF_ACMPEQ, IF_ACMPNE, PUTFIELD + * + * @param insn the bytecode instruction to be interpreted. + * @param value1 the first argument of the instruction to be interpreted. + * @param value2 the second argument of the instruction to be interpreted. + * @return the result of the interpretation of the given instruction. + * @throws AnalyzerException if an error occured during the interpretation. + */ + Value binaryOperation(AbstractInsnNode insn, Value value1, Value value2) + throws AnalyzerException; + + /** + * Interprets a bytecode instruction with three arguments. This method is + * called for the following opcodes: + * + * IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE, SASTORE + * + * @param insn the bytecode instruction to be interpreted. + * @param value1 the first argument of the instruction to be interpreted. + * @param value2 the second argument of the instruction to be interpreted. + * @param value3 the third argument of the instruction to be interpreted. + * @return the result of the interpretation of the given instruction. + * @throws AnalyzerException if an error occured during the interpretation. + */ + Value ternaryOperation( + AbstractInsnNode insn, + Value value1, + Value value2, + Value value3) throws AnalyzerException; + + /** + * Interprets a bytecode instruction with a variable number of arguments. + * This method is called for the following opcodes: + * + * INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC, INVOKEINTERFACE, + * MULTIANEWARRAY + * + * @param insn the bytecode instruction to be interpreted. + * @param values the arguments of the instruction to be interpreted. + * @return the result of the interpretation of the given instruction. + * @throws AnalyzerException if an error occured during the interpretation. + */ + Value naryOperation(AbstractInsnNode insn, List values) + throws AnalyzerException; + + /** + * Merges two values. The merge operation must return a value that + * represents both values (for instance, if the two values are two types, + * the merged value must be a common super type of the two types. If the two + * values are integer intervals, the merged value must be an interval that + * contains the previous ones. Likewise for other types of values). + * + * @param v a value. + * @param w another value. + * @return the merged value. If the merged value is equal to v, + * this method must return v. + */ + Value merge(Value v, Value w); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.java new file mode 100644 index 00000000000..808b3f41cba --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.java @@ -0,0 +1,266 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.List; + +import org.objectweb.asm.Type; + +/** + * An extended {@link BasicVerifier} that performs more precise verifications. + * This verifier computes exact class types, instead of using a single "object + * reference" type (as done in the {@link BasicVerifier}). + * + * @author Eric Bruneton + * @author Bing Ran + */ +public class SimpleVerifier extends BasicVerifier { + + /** + * The class that is verified. + */ + private final Type currentClass; + + /** + * The super class of the class that is verified. + */ + private final Type currentSuperClass; + + /** + * The interfaces implemented by the class that is verified. + */ + private final List currentClassInterfaces; + + /** + * If the class that is verified is an interface. + */ + private final boolean isInterface; + + /** + * Constructs a new {@link SimpleVerifier}. + */ + public SimpleVerifier() { + this(null, null, false); + } + + /** + * Constructs a new {@link SimpleVerifier} to verify a specific class. This + * class will not be loaded into the JVM since it may be incorrect. + * + * @param currentClass the class that is verified. + * @param currentSuperClass the super class of the class that is verified. + * @param isInterface if the class that is verified is an interface. + */ + public SimpleVerifier( + final Type currentClass, + final Type currentSuperClass, + final boolean isInterface) + { + this(currentClass, currentSuperClass, null, isInterface); + } + + /** + * Constructs a new {@link SimpleVerifier} to verify a specific class. This + * class will not be loaded into the JVM since it may be incorrect. + * + * @param currentClass the class that is verified. + * @param currentSuperClass the super class of the class that is verified. + * @param currentClassInterfaces the interfaces implemented by the class + * that is verified. + * @param isInterface if the class that is verified is an interface. + */ + public SimpleVerifier( + final Type currentClass, + final Type currentSuperClass, + final List currentClassInterfaces, + final boolean isInterface) + { + this.currentClass = currentClass; + this.currentSuperClass = currentSuperClass; + this.currentClassInterfaces = currentClassInterfaces; + this.isInterface = isInterface; + } + + public Value newValue(final Type type) { + Value v = super.newValue(type); + if (v == BasicValue.REFERENCE_VALUE) { + v = new BasicValue(type); + } + return v; + } + + protected boolean isArrayValue(final Value value) { + Type t = ((BasicValue) value).getType(); + if (t != null) { + return t.getDescriptor().equals("Lnull;") + || t.getSort() == Type.ARRAY; + } + return false; + } + + protected Value getElementValue(final Value objectArrayValue) + throws AnalyzerException + { + Type arrayType = ((BasicValue) objectArrayValue).getType(); + if (arrayType != null) { + if (arrayType.getSort() == Type.ARRAY) { + return newValue(Type.getType(arrayType.getDescriptor() + .substring(1))); + } else if (arrayType.getDescriptor().equals("Lnull;")) { + return objectArrayValue; + } + } + throw new AnalyzerException("Not an array type"); + } + + protected boolean isSubTypeOf(final Value value, final Value expected) { + Type expectedType = ((BasicValue) expected).getType(); + Type type = ((BasicValue) value).getType(); + if (expectedType == null) { + return type == null; + } + switch (expectedType.getSort()) { + case Type.INT: + case Type.FLOAT: + case Type.LONG: + case Type.DOUBLE: + return type == expectedType; + case Type.ARRAY: + case Type.OBJECT: + if (expectedType.getDescriptor().equals("Lnull;")) { + return type.getSort() == Type.OBJECT + || type.getSort() == Type.ARRAY; + } + if (type.getDescriptor().equals("Lnull;")) { + return true; + } else if (type.getSort() == Type.OBJECT + || type.getSort() == Type.ARRAY) + { + return isAssignableFrom(expectedType, type); + } else { + return false; + } + default: + throw new RuntimeException("Internal error"); + } + } + + public Value merge(final Value v, final Value w) { + if (!v.equals(w)) { + Type t = ((BasicValue) v).getType(); + Type u = ((BasicValue) w).getType(); + if (t != null + && (t.getSort() == Type.OBJECT || t.getSort() == Type.ARRAY)) + { + if (u != null + && (u.getSort() == Type.OBJECT || u.getSort() == Type.ARRAY)) + { + if (t.getDescriptor().equals("Lnull;")) { + return w; + } + if (u.getDescriptor().equals("Lnull;")) { + return v; + } + if (isAssignableFrom(t, u)) { + return v; + } + if (isAssignableFrom(u, t)) { + return w; + } + // TODO case of array classes of the same dimension + // TODO should we look also for a common super interface? + // problem: there may be several possible common super + // interfaces + do { + if (t == null || isInterface(t)) { + return BasicValue.REFERENCE_VALUE; + } + t = getSuperClass(t); + if (isAssignableFrom(t, u)) { + return newValue(t); + } + } while (true); + } + } + return BasicValue.UNINITIALIZED_VALUE; + } + return v; + } + + private boolean isInterface(final Type t) { + if (currentClass != null && t.equals(currentClass)) { + return isInterface; + } + return getClass(t).isInterface(); + } + + private Type getSuperClass(final Type t) { + if (currentClass != null && t.equals(currentClass)) { + return currentSuperClass; + } + Class c = getClass(t).getSuperclass(); + return c == null ? null : Type.getType(c); + } + + private boolean isAssignableFrom(final Type t, final Type u) { + if (t.equals(u)) { + return true; + } + if (currentClass != null && t.equals(currentClass)) { + return isAssignableFrom(t, getSuperClass(u)); + } + if (currentClass != null && u.equals(currentClass)) { + if (isAssignableFrom(t, currentSuperClass)) { + return true; + } + if (currentClassInterfaces != null) { + for (int i = 0; i < currentClassInterfaces.size(); ++i) { + Type v = (Type) currentClassInterfaces.get(i); + if (isAssignableFrom(t, v)) { + return true; + } + } + } + return false; + } + return getClass(t).isAssignableFrom(getClass(u)); + } + + protected Class getClass(final Type t) { + try { + if (t.getSort() == Type.ARRAY) { + return Class.forName(t.getDescriptor().replace('/', '.')); + } + return Class.forName(t.getClassName()); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e.toString()); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SmallSet.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SmallSet.java new file mode 100644 index 00000000000..74bd590ef1c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/SmallSet.java @@ -0,0 +1,126 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.AbstractSet; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +/** + * A set of at most two elements. + * + * @author Eric Bruneton + */ +class SmallSet extends AbstractSet implements Iterator { + + // if e1 is null, e2 must be null; otherwise e2 must be different from e1 + + Object e1, e2; + + final static SmallSet EMPTY_SET = new SmallSet(null, null); + + SmallSet(Object e1, Object e2) { + this.e1 = e1; + this.e2 = e2; + } + + // ------------------------------------------------------------------------- + // Implementation of inherited abstract methods + // ------------------------------------------------------------------------- + + public Iterator iterator() { + return new SmallSet(e1, e2); + } + + public int size() { + return e1 == null ? 0 : (e2 == null ? 1 : 2); + } + + // ------------------------------------------------------------------------- + // Implementation of the Iterator interface + // ------------------------------------------------------------------------- + + public boolean hasNext() { + return e1 != null; + } + + public Object next() { + Object e = e1; + e1 = e2; + e2 = null; + return e; + } + + public void remove() { + } + + // ------------------------------------------------------------------------- + // Utility methods + // ------------------------------------------------------------------------- + + Set union(SmallSet s) { + if ((s.e1 == e1 && s.e2 == e2) || (s.e1 == e2 && s.e2 == e1)) { + return this; // if the two sets are equal, return this + } + if (s.e1 == null) { + return this; // if s is empty, return this + } + if (e1 == null) { + return s; // if this is empty, return s + } + if (s.e2 == null) { // s contains exactly one element + if (e2 == null) { + return new SmallSet(e1, s.e1); // necessarily e1 != s.e1 + } else if (s.e1 == e1 || s.e1 == e2) { // s is included in this + return this; + } + } + if (e2 == null) { // this contains exactly one element + // if (s.e2 == null) { // cannot happen + // return new SmallSet(e1, s.e1); // necessarily e1 != s.e1 + // } else + if (e1 == s.e1 || e1 == s.e2) { // this in included in s + return s; + } + } + // here we know that there are at least 3 distinct elements + HashSet r = new HashSet(4); + r.add(e1); + if (e2 != null) { + r.add(e2); + } + r.add(s.e1); + if (s.e2 != null) { + r.add(s.e2); + } + return r; + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Subroutine.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Subroutine.java new file mode 100644 index 00000000000..44120a7217b --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Subroutine.java @@ -0,0 +1,96 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +import java.util.ArrayList; +import java.util.List; + +import org.objectweb.asm.Label; +import org.objectweb.asm.tree.JumpInsnNode; + +/** + * A method subroutine (corresponds to a JSR instruction). + * + * @author Eric Bruneton + */ +class Subroutine { + + Label start; + + boolean[] access; + + List callers; + + private Subroutine() { + } + + public Subroutine( + final Label start, + final int maxLocals, + final JumpInsnNode caller) + { + this.start = start; + this.access = new boolean[maxLocals]; + this.callers = new ArrayList(); + callers.add(caller); + } + + public Subroutine copy() { + Subroutine result = new Subroutine(); + result.start = start; + result.access = new boolean[access.length]; + System.arraycopy(access, 0, result.access, 0, access.length); + result.callers = new ArrayList(callers); + return result; + } + + public boolean merge(final Subroutine subroutine, boolean checkOverlap) + throws AnalyzerException + { + if (checkOverlap && subroutine.start != start) { + throw new AnalyzerException("Overlapping sub routines"); + } + boolean changes = false; + for (int i = 0; i < access.length; ++i) { + if (subroutine.access[i] && !access[i]) { + access[i] = true; + changes = true; + } + } + for (int i = 0; i < subroutine.callers.size(); ++i) { + Object caller = subroutine.callers.get(i); + if (!callers.contains(caller)) { + callers.add(caller); + changes = true; + } + } + return changes; + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Value.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Value.java new file mode 100644 index 00000000000..6578b798665 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/Value.java @@ -0,0 +1,45 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.tree.analysis; + +/** + * An immutable symbolic value for semantic interpretation of bytecode. + * + * @author Eric Bruneton + */ +public interface Value { + + /** + * Returns the size of this value in words. + * + * @return either 1 or 2. + */ + int getSize(); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html new file mode 100644 index 00000000000..7c20f2e754c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html @@ -0,0 +1,36 @@ + + + +Provides a framework for static code analysis based on the asm.tree package. + +@since ASM 1.4.3 + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html new file mode 100644 index 00000000000..d455211518e --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html @@ -0,0 +1,149 @@ + + + + +

      +Provides an ASM visitor that constructs a tree representation of the +classes it visits. This class adapter can be useful to implement "complex" +class manipulation operations, i.e., operations that would be very hard to +implement without using a tree representation (such as optimizing the number +of local variables used by a method). +

      + +

      +However, this class adapter has a cost: it makes ASM bigger and slower. Indeed +it requires more than twenty new classes, and multiplies the time needed to +transform a class by almost two (it is almost two times faster to read, "modify" +and write a class with a ClassAdapter than with a ClassNode). This is why +this package is bundled in an optional asm-tree.jar library that +is separated from (but requires) the asm.jar library, which contains +the core ASM framework. This is also why it is recommanded +not to use this class adapter when it is possible. +

      + +

      +The root class is the ClassNode, that can be created from scratch or +from existing bytecode. For example: +

      + +
      +  ClassReader cr = new ClassReader(source);
      +  ClassNode cn = new ClassNode();
      +  cr.accept(cn, true);
      +
      + +

      +Now content of ClassNode can be modified and then +serialized back into bytecode: +

      + +
      +  ClassWriter cw = new ClassWriter(true);
      +  cn.accept(cw);
      +
      + +

      +Several strategies can be used to construct method code from scratch. The first +possibility is to create a MethodNode, and then create and add XXXInsnNode to +the instructions list: +

      + +
      +MethodNode m = new MethodNode(...);
      +m.instructions.add(new VarInsnNode(ALOAD, 0));
      +...
      +
      + +

      +Alternatively, you can use the fact that MethodNode is a MethodVisitor, and use +that to create the XXXInsnNode and add them to the instructions list through +the standard MethodVisitor interface: +

      + +
      +MethodNode m = new MethodNode(...);
      +m.visitVarInsn(ALOAD, 0);
      +...
      +
      + +

      +If you cannot generate all the instructions in sequential order, i.e. if you +need to keep some pointers in the instruction list to insert some instructions +at these places after other instructions have been generated, you can define +an InsnListInsnNode pseudo instruction class that will in fact contain an +instruction list, will possibly implement the MethodVisitor interface, and whose +accept method will call the accept method of all the instructions of its list. +

      + +
      +MethodNode m = new MethodNode(...);
      +m.visitVarInsn(ALOAD, 0);
      +InsnListInsnNode ptr = new InsnListInsnNode();
      +m.instructions.add(ptr);
      +m.visitVarInsn(ALOAD, 1);
      +ptr.visitXXXInsn(...); // inserts an instruction between ALOAD 0 and ALOAD 1
      +
      + +

      +If you need to insert instructions while iterating over an existing instruction +list, you can also use several strategies. The first one is to use a +ListIterator over the instruction list, and use its add method to insert +instructions: +

      + +
      +ListIterator i = m.instructions.listIterator();
      +while (i.hasNext()) {
      +    AbstractInsnNode n = (AbstractInsnNode) i.next();
      +    if (...) {
      +        i.add(new VarInsnNode(ALOAD, 0));
      +    }
      +}
      +
      + +

      +If you want to insert these instructions through the MethodVisitor interface, +you can define your own InsnListIterator class, that will implement both the +ListIterator and MethodVisitor interface. +

      + +

      +Another strategy is to use ListIterator.add to insert InsnListInsnNode pseudo +instructions, and then use these inserted pseudo instructions to insert an +arbitrary number of instructions at these places. +

      + +

      +@since ASM 1.3.3 +

      + + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.java new file mode 100644 index 00000000000..4ebc7fc097c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.java @@ -0,0 +1,226 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import java.util.HashMap; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.Type; +import org.objectweb.asm.util.attrs.ASMifiable; + +/** + * An abstract ASMifier visitor. + * + * @author Eric Bruneton + */ +public class ASMifierAbstractVisitor extends AbstractVisitor { + + /** + * The name of the variable for this visitor in the produced code. + */ + protected String name; + + /** + * The label names. This map associates String values to Label keys. It is + * used only in ASMifierMethodVisitor. + */ + HashMap labelNames; + + /** + * Constructs a new {@link ASMifierAbstractVisitor}. + * + * @param name the name of the variable for this visitor in the produced + * code. + */ + protected ASMifierAbstractVisitor(final String name) { + this.name = name; + } + + /** + * Prints the ASM code that generates the given annotation. + * + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a visitor to visit the annotation values. + */ + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + buf.setLength(0); + buf.append("{\n") + .append("av0 = ") + .append(name) + .append(".visitAnnotation("); + appendConstant(desc); + buf.append(", ").append(visible).append(");\n"); + text.add(buf.toString()); + ASMifierAnnotationVisitor av = new ASMifierAnnotationVisitor(0); + text.add(av.getText()); + text.add("}\n"); + return av; + } + + /** + * Prints the ASM code that generates the given attribute. + * + * @param attr an attribute. + */ + public void visitAttribute(final Attribute attr) { + buf.setLength(0); + if (attr instanceof ASMifiable) { + buf.append("{\n"); + buf.append("// ATTRIBUTE\n"); + ((ASMifiable) attr).asmify(buf, "attr", labelNames); + buf.append(name).append(".visitAttribute(attr);\n"); + buf.append("}\n"); + } else { + buf.append("// WARNING! skipped a non standard attribute of type \""); + buf.append(attr.type).append("\"\n"); + } + text.add(buf.toString()); + } + + /** + * Prints the ASM code to end the visit. + */ + public void visitEnd() { + buf.setLength(0); + buf.append(name).append(".visitEnd();\n"); + text.add(buf.toString()); + } + + /** + * Appends a string representation of the given constant to the given + * buffer. + * + * @param cst an {@link Integer}, {@link Float}, {@link Long}, + * {@link Double} or {@link String} object. May be null. + */ + void appendConstant(final Object cst) { + appendConstant(buf, cst); + } + + /** + * Appends a string representation of the given constant to the given + * buffer. + * + * @param buf a string buffer. + * @param cst an {@link Integer}, {@link Float}, {@link Long}, + * {@link Double} or {@link String} object. May be null. + */ + static void appendConstant(final StringBuffer buf, final Object cst) { + if (cst == null) { + buf.append("null"); + } else if (cst instanceof String) { + appendString(buf, (String) cst); + } else if (cst instanceof Type) { + buf.append("Type.getType(\""); + buf.append(((Type) cst).getDescriptor()); + buf.append("\")"); + } else if (cst instanceof Byte) { + buf.append("new Byte((byte)").append(cst).append(")"); + } else if (cst instanceof Boolean) { + buf.append("new Boolean(").append(cst).append(")"); + } else if (cst instanceof Short) { + buf.append("new Short((short)").append(cst).append(")"); + } else if (cst instanceof Character) { + int c = ((Character) cst).charValue(); + buf.append("new Character((char)").append(c).append(")"); + } else if (cst instanceof Integer) { + buf.append("new Integer(").append(cst).append(")"); + } else if (cst instanceof Float) { + buf.append("new Float(\"").append(cst).append("\")"); + } else if (cst instanceof Long) { + buf.append("new Long(").append(cst).append("L)"); + } else if (cst instanceof Double) { + buf.append("new Double(\"").append(cst).append("\")"); + } else if (cst instanceof byte[]) { + byte[] v = (byte[]) cst; + buf.append("new byte[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append(v[i]); + } + buf.append("}"); + } else if (cst instanceof boolean[]) { + boolean[] v = (boolean[]) cst; + buf.append("new boolean[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append(v[i]); + } + buf.append("}"); + } else if (cst instanceof short[]) { + short[] v = (short[]) cst; + buf.append("new short[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append("(short)").append(v[i]); + } + buf.append("}"); + } else if (cst instanceof char[]) { + char[] v = (char[]) cst; + buf.append("new char[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",") + .append("(char)") + .append((int) v[i]); + } + buf.append("}"); + } else if (cst instanceof int[]) { + int[] v = (int[]) cst; + buf.append("new int[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append(v[i]); + } + buf.append("}"); + } else if (cst instanceof long[]) { + long[] v = (long[]) cst; + buf.append("new long[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append(v[i]).append("L"); + } + buf.append("}"); + } else if (cst instanceof float[]) { + float[] v = (float[]) cst; + buf.append("new float[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append(v[i]).append("f"); + } + buf.append("}"); + } else if (cst instanceof double[]) { + double[] v = (double[]) cst; + buf.append("new double[] {"); + for (int i = 0; i < v.length; i++) { + buf.append(i == 0 ? "" : ",").append(v[i]).append("d"); + } + buf.append("}"); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.java new file mode 100644 index 00000000000..bb48e2cdffb --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.java @@ -0,0 +1,127 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; + +/** + * An {@link AnnotationVisitor} that prints the ASM code that generates the + * annotations it visits. + * + * @author Eric Bruneton + */ +public class ASMifierAnnotationVisitor extends AbstractVisitor implements + AnnotationVisitor +{ + + /** + * Identifier of the annotation visitor variable in the produced code. + */ + protected final int id; + + /** + * Constructs a new {@link ASMifierAnnotationVisitor}. + * + * @param id identifier of the annotation visitor variable in the produced + * code. + */ + public ASMifierAnnotationVisitor(final int id) { + this.id = id; + } + + // ------------------------------------------------------------------------ + // Implementation of the AnnotationVisitor interface + // ------------------------------------------------------------------------ + + public void visit(final String name, final Object value) { + buf.setLength(0); + buf.append("av").append(id).append(".visit("); + ASMifierAbstractVisitor.appendConstant(buf, name); + buf.append(", "); + ASMifierAbstractVisitor.appendConstant(buf, value); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitEnum( + final String name, + final String desc, + final String value) + { + buf.setLength(0); + buf.append("av").append(id).append(".visitEnum("); + ASMifierAbstractVisitor.appendConstant(buf, name); + buf.append(", "); + ASMifierAbstractVisitor.appendConstant(buf, desc); + buf.append(", "); + ASMifierAbstractVisitor.appendConstant(buf, value); + buf.append(");\n"); + text.add(buf.toString()); + } + + public AnnotationVisitor visitAnnotation( + final String name, + final String desc) + { + buf.setLength(0); + buf.append("{\n"); + buf.append("AnnotationVisitor av").append(id + 1).append(" = av"); + buf.append(id).append(".visitAnnotation("); + ASMifierAbstractVisitor.appendConstant(buf, name); + buf.append(", "); + ASMifierAbstractVisitor.appendConstant(buf, desc); + buf.append(");\n"); + text.add(buf.toString()); + ASMifierAnnotationVisitor av = new ASMifierAnnotationVisitor(id + 1); + text.add(av.getText()); + text.add("}\n"); + return av; + } + + public AnnotationVisitor visitArray(final String name) { + buf.setLength(0); + buf.append("{\n"); + buf.append("AnnotationVisitor av").append(id + 1).append(" = av"); + buf.append(id).append(".visitArray("); + ASMifierAbstractVisitor.appendConstant(buf, name); + buf.append(");\n"); + text.add(buf.toString()); + ASMifierAnnotationVisitor av = new ASMifierAnnotationVisitor(id + 1); + text.add(av.getText()); + text.add("}\n"); + return av; + } + + public void visitEnd() { + buf.setLength(0); + buf.append("av").append(id).append(".visitEnd();\n"); + text.add(buf.toString()); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierClassVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierClassVisitor.java new file mode 100644 index 00000000000..222325f0f1d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierClassVisitor.java @@ -0,0 +1,607 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import java.io.FileInputStream; +import java.io.PrintWriter; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; + +/** + * A {@link ClassVisitor} that prints the ASM code that generates the classes it + * visits. This class visitor can be used to quickly write ASM code to generate + * some given bytecode:
      • write the Java source code equivalent to the + * bytecode you want to generate;
      • compile it with javac;
      • + *
      • make a {@link ASMifierClassVisitor} visit this compiled class (see the + * {@link #main main} method);
      • edit the generated source code, if + * necessary.
      The source code printed when visiting the + * Hello class is the following:

      + * + *
      + * import org.objectweb.asm.*;
      + * 
      + * public class HelloDump implements Opcodes {
      + * 
      + *     public static byte[] dump() throws Exception {
      + * 
      + *         ClassWriter cw = new ClassWriter(false);
      + *         FieldVisitor fv;
      + *         MethodVisitor mv;
      + *         AnnotationVisitor av0;
      + * 
      + *         cw.visit(49,
      + *                 ACC_PUBLIC + ACC_SUPER,
      + *                 "Hello",
      + *                 null,
      + *                 "java/lang/Object",
      + *                 null);
      + * 
      + *         cw.visitSource("Hello.java", null);
      + * 
      + *         {
      + *             mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
      + *             mv.visitVarInsn(ALOAD, 0);
      + *             mv.visitMethodInsn(INVOKESPECIAL,
      + *                     "java/lang/Object",
      + *                     "<init>",
      + *                     "()V");
      + *             mv.visitInsn(RETURN);
      + *             mv.visitMaxs(1, 1);
      + *             mv.visitEnd();
      + *         }
      + *         {
      + *             mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC,
      + *                     "main",
      + *                     "([Ljava/lang/String;)V",
      + *                     null,
      + *                     null);
      + *             mv.visitFieldInsn(GETSTATIC,
      + *                     "java/lang/System",
      + *                     "out",
      + *                     "Ljava/io/PrintStream;");
      + *             mv.visitLdcInsn("hello");
      + *             mv.visitMethodInsn(INVOKEVIRTUAL,
      + *                     "java/io/PrintStream",
      + *                     "println",
      + *                     "(Ljava/lang/String;)V");
      + *             mv.visitInsn(RETURN);
      + *             mv.visitMaxs(2, 1);
      + *             mv.visitEnd();
      + *         }
      + *         cw.visitEnd();
      + * 
      + *         return cw.toByteArray();
      + *     }
      + * }
      + * 
      + * 
      + * + *
      where Hello is defined by:

      + * + *
      + * public class Hello {
      + * 
      + *     public static void main(String[] args) {
      + *         System.out.println("hello");
      + *     }
      + * }
      + * 
      + * + *
      + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public class ASMifierClassVisitor extends ASMifierAbstractVisitor implements + ClassVisitor +{ + + /** + * Pseudo access flag used to distinguish class access flags. + */ + private final static int ACCESS_CLASS = 262144; + + /** + * Pseudo access flag used to distinguish field access flags. + */ + private final static int ACCESS_FIELD = 524288; + + /** + * Pseudo access flag used to distinguish inner class flags. + */ + private static final int ACCESS_INNER = 1048576; + + /** + * The print writer to be used to print the class. + */ + protected final PrintWriter pw; + + /** + * Prints the ASM source code to generate the given class to the standard + * output.

      Usage: ASMifierClassVisitor [-debug] <fully qualified + * class name or class file name> + * + * @param args the command line arguments. + * + * @throws Exception if the class cannot be found, or if an IO exception + * occurs. + */ + public static void main(final String[] args) throws Exception { + int i = 0; + boolean skipDebug = true; + + boolean ok = true; + if (args.length < 1 || args.length > 2) { + ok = false; + } + if (ok && args[0].equals("-debug")) { + i = 1; + skipDebug = false; + if (args.length != 2) { + ok = false; + } + } + if (!ok) { + System.err.println("Prints the ASM code to generate the given class."); + System.err.println("Usage: ASMifierClassVisitor [-debug] " + + ""); + return; + } + ClassReader cr; + if (args[i].endsWith(".class") || args[i].indexOf('\\') > -1 + || args[i].indexOf('/') > -1) { + cr = new ClassReader(new FileInputStream(args[i])); + } else { + cr = new ClassReader(args[i]); + } + cr.accept(new ASMifierClassVisitor(new PrintWriter(System.out)), + getDefaultAttributes(), + skipDebug); + } + + /** + * Constructs a new {@link ASMifierClassVisitor} object. + * + * @param pw the print writer to be used to print the class. + */ + public ASMifierClassVisitor(final PrintWriter pw) { + super("cw"); + this.pw = pw; + } + + // ------------------------------------------------------------------------ + // Implementation of the ClassVisitor interface + // ------------------------------------------------------------------------ + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + String simpleName; + int n = name.lastIndexOf('/'); + if (n != -1) { + text.add("package asm." + name.substring(0, n).replace('/', '.') + + ";\n"); + simpleName = name.substring(n + 1); + } else { + simpleName = name; + } + text.add("import java.util.*;\n"); + text.add("import org.objectweb.asm.*;\n"); + text.add("import org.objectweb.asm.attrs.*;\n"); + text.add("public class " + simpleName + "Dump implements Opcodes {\n\n"); + text.add("public static byte[] dump () throws Exception {\n\n"); + text.add("ClassWriter cw = new ClassWriter(false);\n"); + text.add("FieldVisitor fv;\n"); + text.add("MethodVisitor mv;\n"); + text.add("AnnotationVisitor av0;\n\n"); + + buf.setLength(0); + buf.append("cw.visit("); + switch (version) { + case Opcodes.V1_1: + buf.append("V1_1"); + break; + case Opcodes.V1_2: + buf.append("V1_2"); + break; + case Opcodes.V1_3: + buf.append("V1_3"); + break; + case Opcodes.V1_4: + buf.append("V1_4"); + break; + case Opcodes.V1_5: + buf.append("V1_5"); + break; + case Opcodes.V1_6: + buf.append("V1_6"); + break; + default: + buf.append(version); + break; + } + buf.append(", "); + appendAccess(access | ACCESS_CLASS); + buf.append(", "); + appendConstant(name); + buf.append(", "); + appendConstant(signature); + buf.append(", "); + appendConstant(superName); + buf.append(", "); + if (interfaces != null && interfaces.length > 0) { + buf.append("new String[] {"); + for (int i = 0; i < interfaces.length; ++i) { + buf.append(i == 0 ? " " : ", "); + appendConstant(interfaces[i]); + } + buf.append(" }"); + } else { + buf.append("null"); + } + buf.append(");\n\n"); + text.add(buf.toString()); + } + + public void visitSource(final String file, final String debug) { + buf.setLength(0); + buf.append("cw.visitSource("); + appendConstant(file); + buf.append(", "); + appendConstant(debug); + buf.append(");\n\n"); + text.add(buf.toString()); + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + buf.setLength(0); + buf.append("cw.visitOuterClass("); + appendConstant(owner); + buf.append(", "); + appendConstant(name); + buf.append(", "); + appendConstant(desc); + buf.append(");\n\n"); + text.add(buf.toString()); + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + buf.setLength(0); + buf.append("cw.visitInnerClass("); + appendConstant(name); + buf.append(", "); + appendConstant(outerName); + buf.append(", "); + appendConstant(innerName); + buf.append(", "); + appendAccess(access | ACCESS_INNER); + buf.append(");\n\n"); + text.add(buf.toString()); + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + buf.setLength(0); + buf.append("{\n"); + buf.append("fv = cw.visitField("); + appendAccess(access | ACCESS_FIELD); + buf.append(", "); + appendConstant(name); + buf.append(", "); + appendConstant(desc); + buf.append(", "); + appendConstant(signature); + buf.append(", "); + appendConstant(value); + buf.append(");\n"); + text.add(buf.toString()); + ASMifierFieldVisitor aav = new ASMifierFieldVisitor(); + text.add(aav.getText()); + text.add("}\n"); + return aav; + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + buf.setLength(0); + buf.append("{\n"); + buf.append("mv = cw.visitMethod("); + appendAccess(access); + buf.append(", "); + appendConstant(name); + buf.append(", "); + appendConstant(desc); + buf.append(", "); + appendConstant(signature); + buf.append(", "); + if (exceptions != null && exceptions.length > 0) { + buf.append("new String[] {"); + for (int i = 0; i < exceptions.length; ++i) { + buf.append(i == 0 ? " " : ", "); + appendConstant(exceptions[i]); + } + buf.append(" }"); + } else { + buf.append("null"); + } + buf.append(");\n"); + text.add(buf.toString()); + ASMifierMethodVisitor acv = new ASMifierMethodVisitor(); + text.add(acv.getText()); + text.add("}\n"); + return acv; + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + buf.setLength(0); + buf.append("{\n"); + buf.append("av0 = cw.visitAnnotation("); + appendConstant(desc); + buf.append(", "); + buf.append(visible); + buf.append(");\n"); + text.add(buf.toString()); + ASMifierAnnotationVisitor av = new ASMifierAnnotationVisitor(0); + text.add(av.getText()); + text.add("}\n"); + return av; + } + + public void visitEnd() { + text.add("cw.visitEnd();\n\n"); + text.add("return cw.toByteArray();\n"); + text.add("}\n"); + text.add("}\n"); + printList(pw, text); + pw.flush(); + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Appends a string representation of the given access modifiers to {@link + * #buf buf}. + * + * @param access some access modifiers. + */ + void appendAccess(final int access) { + boolean first = true; + if ((access & Opcodes.ACC_PUBLIC) != 0) { + buf.append("ACC_PUBLIC"); + first = false; + } + if ((access & Opcodes.ACC_PRIVATE) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_PRIVATE"); + first = false; + } + if ((access & Opcodes.ACC_PROTECTED) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_PROTECTED"); + first = false; + } + if ((access & Opcodes.ACC_FINAL) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_FINAL"); + first = false; + } + if ((access & Opcodes.ACC_STATIC) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_STATIC"); + first = false; + } + if ((access & Opcodes.ACC_SYNCHRONIZED) != 0) { + if (!first) { + buf.append(" + "); + } + if ((access & ACCESS_CLASS) != 0) { + buf.append("ACC_SUPER"); + } else { + buf.append("ACC_SYNCHRONIZED"); + } + first = false; + } + if ((access & Opcodes.ACC_VOLATILE) != 0 + && (access & ACCESS_FIELD) != 0) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_VOLATILE"); + first = false; + } + if ((access & Opcodes.ACC_BRIDGE) != 0 && (access & ACCESS_CLASS) == 0 + && (access & ACCESS_FIELD) == 0) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_BRIDGE"); + first = false; + } + if ((access & Opcodes.ACC_VARARGS) != 0 && (access & ACCESS_CLASS) == 0 + && (access & ACCESS_FIELD) == 0) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_VARARGS"); + first = false; + } + if ((access & Opcodes.ACC_TRANSIENT) != 0 + && (access & ACCESS_FIELD) != 0) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_TRANSIENT"); + first = false; + } + if ((access & Opcodes.ACC_NATIVE) != 0 && (access & ACCESS_CLASS) == 0 + && (access & ACCESS_FIELD) == 0) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_NATIVE"); + first = false; + } + if ((access & Opcodes.ACC_ENUM) != 0 + && ((access & ACCESS_CLASS) != 0 + || (access & ACCESS_FIELD) != 0 || (access & ACCESS_INNER) != 0)) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_ENUM"); + first = false; + } + if ((access & Opcodes.ACC_ANNOTATION) != 0 + && ((access & ACCESS_CLASS) != 0)) + { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_ANNOTATION"); + first = false; + } + if ((access & Opcodes.ACC_ABSTRACT) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_ABSTRACT"); + first = false; + } + if ((access & Opcodes.ACC_INTERFACE) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_INTERFACE"); + first = false; + } + if ((access & Opcodes.ACC_STRICT) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_STRICT"); + first = false; + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_SYNTHETIC"); + first = false; + } + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + if (!first) { + buf.append(" + "); + } + buf.append("ACC_DEPRECATED"); + first = false; + } + if (first) { + buf.append("0"); + } + } + + /** + * Appends a string representation of the given constant to the given + * buffer. + * + * @param buf a string buffer. + * @param cst an {@link java.lang.Integer Integer}, {@link java.lang.Float + * Float}, {@link java.lang.Long Long}, + * {@link java.lang.Double Double} or {@link String String} object. + * May be null. + */ + static void appendConstant(final StringBuffer buf, final Object cst) { + if (cst == null) { + buf.append("null"); + } else if (cst instanceof String) { + AbstractVisitor.appendString(buf, (String) cst); + } else if (cst instanceof Type) { + buf.append("Type.getType(\"") + .append(((Type) cst).getDescriptor()) + .append("\")"); + } else if (cst instanceof Integer) { + buf.append("new Integer(").append(cst).append(")"); + } else if (cst instanceof Float) { + buf.append("new Float(\"").append(cst).append("\")"); + } else if (cst instanceof Long) { + buf.append("new Long(").append(cst).append("L)"); + } else if (cst instanceof Double) { + buf.append("new Double(\"").append(cst).append("\")"); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierFieldVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierFieldVisitor.java new file mode 100644 index 00000000000..9da152ca357 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierFieldVisitor.java @@ -0,0 +1,50 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.FieldVisitor; + +/** + * A {@link FieldVisitor} that prints the ASM code that generates the fields it + * visits. + * + * @author Eric Bruneton + */ +public class ASMifierFieldVisitor extends ASMifierAbstractVisitor implements + FieldVisitor +{ + + /** + * Constructs a new {@link ASMifierFieldVisitor}. + */ + public ASMifierFieldVisitor() { + super("fv"); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierMethodVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierMethodVisitor.java new file mode 100644 index 00000000000..33404d97525 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/ASMifierMethodVisitor.java @@ -0,0 +1,347 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.Opcodes; + +import java.util.HashMap; + +/** + * A {@link MethodVisitor} that prints the ASM code that generates the methods + * it visits. + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public class ASMifierMethodVisitor extends ASMifierAbstractVisitor implements + MethodVisitor +{ + + /** + * Constructs a new {@link ASMifierMethodVisitor} object. + */ + public ASMifierMethodVisitor() { + super("mv"); + this.labelNames = new HashMap(); + } + + public AnnotationVisitor visitAnnotationDefault() { + buf.setLength(0); + buf.append("{\n").append("av0 = mv.visitAnnotationDefault();\n"); + text.add(buf.toString()); + ASMifierAnnotationVisitor av = new ASMifierAnnotationVisitor(0); + text.add(av.getText()); + text.add("}\n"); + return av; + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + buf.setLength(0); + buf.append("{\n") + .append("av0 = mv.visitParameterAnnotation(") + .append(parameter) + .append(", "); + appendConstant(desc); + buf.append(", ").append(visible).append(");\n"); + text.add(buf.toString()); + ASMifierAnnotationVisitor av = new ASMifierAnnotationVisitor(0); + text.add(av.getText()); + text.add("}\n"); + return av; + } + + public void visitCode() { + text.add("mv.visitCode();\n"); + } + + public void visitInsn(final int opcode) { + buf.setLength(0); + buf.append("mv.visitInsn(").append(OPCODES[opcode]).append(");\n"); + text.add(buf.toString()); + } + + public void visitIntInsn(final int opcode, final int operand) { + buf.setLength(0); + buf.append("mv.visitIntInsn(") + .append(OPCODES[opcode]) + .append(", ") + .append(opcode == Opcodes.NEWARRAY + ? TYPES[operand] + : Integer.toString(operand)) + .append(");\n"); + text.add(buf.toString()); + } + + public void visitVarInsn(final int opcode, final int var) { + buf.setLength(0); + buf.append("mv.visitVarInsn(") + .append(OPCODES[opcode]) + .append(", ") + .append(var) + .append(");\n"); + text.add(buf.toString()); + } + + public void visitTypeInsn(final int opcode, final String desc) { + buf.setLength(0); + buf.append("mv.visitTypeInsn(").append(OPCODES[opcode]).append(", "); + appendConstant(desc); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + buf.setLength(0); + buf.append("mv.visitFieldInsn(").append(OPCODES[opcode]).append(", "); + appendConstant(owner); + buf.append(", "); + appendConstant(name); + buf.append(", "); + appendConstant(desc); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + buf.setLength(0); + buf.append("mv.visitMethodInsn(").append(OPCODES[opcode]).append(", "); + appendConstant(owner); + buf.append(", "); + appendConstant(name); + buf.append(", "); + appendConstant(desc); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitJumpInsn(final int opcode, final Label label) { + buf.setLength(0); + declareLabel(label); + buf.append("mv.visitJumpInsn(").append(OPCODES[opcode]).append(", "); + appendLabel(label); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitLabel(final Label label) { + buf.setLength(0); + declareLabel(label); + buf.append("mv.visitLabel("); + appendLabel(label); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitLdcInsn(final Object cst) { + buf.setLength(0); + buf.append("mv.visitLdcInsn("); + appendConstant(cst); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitIincInsn(final int var, final int increment) { + buf.setLength(0); + buf.append("mv.visitIincInsn(") + .append(var) + .append(", ") + .append(increment) + .append(");\n"); + text.add(buf.toString()); + } + + public void visitTableSwitchInsn( + final int min, + final int max, + final Label dflt, + final Label labels[]) + { + buf.setLength(0); + for (int i = 0; i < labels.length; ++i) { + declareLabel(labels[i]); + } + declareLabel(dflt); + + buf.append("mv.visitTableSwitchInsn(") + .append(min) + .append(", ") + .append(max) + .append(", "); + appendLabel(dflt); + buf.append(", new Label[] {"); + for (int i = 0; i < labels.length; ++i) { + buf.append(i == 0 ? " " : ", "); + appendLabel(labels[i]); + } + buf.append(" });\n"); + text.add(buf.toString()); + } + + public void visitLookupSwitchInsn( + final Label dflt, + final int keys[], + final Label labels[]) + { + buf.setLength(0); + for (int i = 0; i < labels.length; ++i) { + declareLabel(labels[i]); + } + declareLabel(dflt); + + buf.append("mv.visitLookupSwitchInsn("); + appendLabel(dflt); + buf.append(", new int[] {"); + for (int i = 0; i < keys.length; ++i) { + buf.append(i == 0 ? " " : ", ").append(keys[i]); + } + buf.append(" }, new Label[] {"); + for (int i = 0; i < labels.length; ++i) { + buf.append(i == 0 ? " " : ", "); + appendLabel(labels[i]); + } + buf.append(" });\n"); + text.add(buf.toString()); + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + buf.setLength(0); + buf.append("mv.visitMultiANewArrayInsn("); + appendConstant(desc); + buf.append(", ").append(dims).append(");\n"); + text.add(buf.toString()); + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + buf.setLength(0); + declareLabel(start); + declareLabel(end); + declareLabel(handler); + buf.append("mv.visitTryCatchBlock("); + appendLabel(start); + buf.append(", "); + appendLabel(end); + buf.append(", "); + appendLabel(handler); + buf.append(", "); + appendConstant(type); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + buf.setLength(0); + buf.append("mv.visitLocalVariable("); + appendConstant(name); + buf.append(", "); + appendConstant(desc); + buf.append(", "); + appendConstant(signature); + buf.append(", "); + appendLabel(start); + buf.append(", "); + appendLabel(end); + buf.append(", ").append(index).append(");\n"); + text.add(buf.toString()); + } + + public void visitLineNumber(final int line, final Label start) { + buf.setLength(0); + buf.append("mv.visitLineNumber(").append(line).append(", "); + appendLabel(start); + buf.append(");\n"); + text.add(buf.toString()); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + buf.setLength(0); + buf.append("mv.visitMaxs(") + .append(maxStack) + .append(", ") + .append(maxLocals) + .append(");\n"); + text.add(buf.toString()); + } + + /** + * Appends a declaration of the given label to {@link #buf buf}. This + * declaration is of the form "Label lXXX = new Label();". Does nothing if + * the given label has already been declared. + * + * @param l a label. + */ + private void declareLabel(final Label l) { + String name = (String) labelNames.get(l); + if (name == null) { + name = "l" + labelNames.size(); + labelNames.put(l, name); + buf.append("Label ").append(name).append(" = new Label();\n"); + } + } + + /** + * Appends the name of the given label to {@link #buf buf}. The given label + * must already have a name. One way to ensure this is to always + * call {@link #declareLabel declared} before calling this method. + * + * @param l a label. + */ + private void appendLabel(final Label l) { + buf.append((String) labelNames.get(l)); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/AbstractVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/AbstractVisitor.java new file mode 100644 index 00000000000..3e329f7fe4e --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/AbstractVisitor.java @@ -0,0 +1,201 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.util.attrs.ASMStackMapAttribute; +import org.objectweb.asm.util.attrs.ASMStackMapTableAttribute; + +/** + * An abstract visitor. + * + * @author Eric Bruneton + */ +public abstract class AbstractVisitor { + + /** + * The names of the Java Virtual Machine opcodes. + */ + public final static String[] OPCODES; + /** + * Types for operand parameter of the + * {@link org.objectweb.asm.MethodVisitor#visitIntInsn} method when + * opcode is NEWARRAY. + */ + public final static String[] TYPES; + + static { + String s = "NOP,ACONST_NULL,ICONST_M1,ICONST_0,ICONST_1,ICONST_2," + + "ICONST_3,ICONST_4,ICONST_5,LCONST_0,LCONST_1,FCONST_0," + + "FCONST_1,FCONST_2,DCONST_0,DCONST_1,BIPUSH,SIPUSH,LDC,,," + + "ILOAD,LLOAD,FLOAD,DLOAD,ALOAD,,,,,,,,,,,,,,,,,,,,,IALOAD," + + "LALOAD,FALOAD,DALOAD,AALOAD,BALOAD,CALOAD,SALOAD,ISTORE," + + "LSTORE,FSTORE,DSTORE,ASTORE,,,,,,,,,,,,,,,,,,,,,IASTORE," + + "LASTORE,FASTORE,DASTORE,AASTORE,BASTORE,CASTORE,SASTORE,POP," + + "POP2,DUP,DUP_X1,DUP_X2,DUP2,DUP2_X1,DUP2_X2,SWAP,IADD,LADD," + + "FADD,DADD,ISUB,LSUB,FSUB,DSUB,IMUL,LMUL,FMUL,DMUL,IDIV,LDIV," + + "FDIV,DDIV,IREM,LREM,FREM,DREM,INEG,LNEG,FNEG,DNEG,ISHL,LSHL," + + "ISHR,LSHR,IUSHR,LUSHR,IAND,LAND,IOR,LOR,IXOR,LXOR,IINC,I2L," + + "I2F,I2D,L2I,L2F,L2D,F2I,F2L,F2D,D2I,D2L,D2F,I2B,I2C,I2S,LCMP," + + "FCMPL,FCMPG,DCMPL,DCMPG,IFEQ,IFNE,IFLT,IFGE,IFGT,IFLE," + + "IF_ICMPEQ,IF_ICMPNE,IF_ICMPLT,IF_ICMPGE,IF_ICMPGT,IF_ICMPLE," + + "IF_ACMPEQ,IF_ACMPNE,GOTO,JSR,RET,TABLESWITCH,LOOKUPSWITCH," + + "IRETURN,LRETURN,FRETURN,DRETURN,ARETURN,RETURN,GETSTATIC," + + "PUTSTATIC,GETFIELD,PUTFIELD,INVOKEVIRTUAL,INVOKESPECIAL," + + "INVOKESTATIC,INVOKEINTERFACE,,NEW,NEWARRAY,ANEWARRAY," + + "ARRAYLENGTH,ATHROW,CHECKCAST,INSTANCEOF,MONITORENTER," + + "MONITOREXIT,,MULTIANEWARRAY,IFNULL,IFNONNULL,"; + OPCODES = new String[200]; + int i = 0; + int j = 0; + int l; + while ((l = s.indexOf(',', j)) > 0) { + OPCODES[i++] = j + 1 == l ? null : s.substring(j, l); + j = l + 1; + } + + s = "T_BOOLEAN,T_CHAR,T_FLOAT,T_DOUBLE,T_BYTE,T_SHORT,T_INT,T_LONG,"; + TYPES = new String[12]; + j = 0; + i = 4; + while ((l = s.indexOf(',', j)) > 0) { + TYPES[i++] = s.substring(j, l); + j = l + 1; + } + } + + /** + * The text to be printed. Since the code of methods is not necessarily + * visited in sequential order, one method after the other, but can be + * interlaced (some instructions from method one, then some instructions + * from method two, then some instructions from method one again...), it is + * not possible to print the visited instructions directly to a sequential + * stream. A class is therefore printed in a two steps process: a string + * tree is constructed during the visit, and printed to a sequential stream + * at the end of the visit. This string tree is stored in this field, as a + * string list that can contain other string lists, which can themselves + * contain other string lists, and so on. + */ + public final List text; + + /** + * A buffer that can be used to create strings. + */ + protected final StringBuffer buf; + + /** + * Constructs a new {@link AbstractVisitor}. + */ + protected AbstractVisitor() { + this.text = new ArrayList(); + this.buf = new StringBuffer(); + } + + /** + * Returns the text printed by this visitor. + * + * @return the text printed by this visitor. + */ + public List getText() { + return text; + } + + /** + * Appends a quoted string to a given buffer. + * + * @param buf the buffer where the string must be added. + * @param s the string to be added. + */ + public static void appendString(final StringBuffer buf, final String s) { + buf.append("\""); + for (int i = 0; i < s.length(); ++i) { + char c = s.charAt(i); + if (c == '\n') { + buf.append("\\n"); + } else if (c == '\r') { + buf.append("\\r"); + } else if (c == '\\') { + buf.append("\\\\"); + } else if (c == '"') { + buf.append("\\\""); + } else if (c < 0x20 || c > 0x7f) { + buf.append("\\u"); + if (c < 0x10) { + buf.append("000"); + } else if (c < 0x100) { + buf.append("00"); + } else if (c < 0x1000) { + buf.append("0"); + } + buf.append(Integer.toString(c, 16)); + } else { + buf.append(c); + } + } + buf.append("\""); + } + + /** + * Prints the given string tree. + * + * @param pw the writer to be used to print the tree. + * @param l a string tree, i.e., a string list that can contain other string + * lists, and so on recursively. + */ + void printList(final PrintWriter pw, final List l) { + for (int i = 0; i < l.size(); ++i) { + Object o = l.get(i); + if (o instanceof List) { + printList(pw, (List) o); + } else { + pw.print(o.toString()); + } + } + } + + /** + * Returns the default {@link ASMifiable} prototypes. + * + * @return the default {@link ASMifiable} prototypes. + */ + public static Attribute[] getDefaultAttributes() { + try { + return new Attribute[] { + new ASMStackMapAttribute(), + new ASMStackMapTableAttribute() }; + } catch (Exception e) { + return new Attribute[0]; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckAnnotationAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckAnnotationAdapter.java new file mode 100644 index 00000000000..d00933ca528 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckAnnotationAdapter.java @@ -0,0 +1,125 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Type; + +/** + * An {@link AnnotationVisitor} that checks that its methods are properly used. + * + * @author Eric Bruneton + */ +public class CheckAnnotationAdapter implements AnnotationVisitor { + + private AnnotationVisitor av; + + private boolean named; + + private boolean end; + + public CheckAnnotationAdapter(final AnnotationVisitor av) { + this(av, true); + } + + CheckAnnotationAdapter( + final AnnotationVisitor av, + final boolean named) + { + this.av = av; + this.named = named; + } + + public void visit(final String name, final Object value) { + checkEnd(); + checkName(name); + if (!(value instanceof Byte || value instanceof Boolean + || value instanceof Character || value instanceof Short + || value instanceof Integer || value instanceof Long + || value instanceof Float || value instanceof Double + || value instanceof String || value instanceof Type + || value instanceof byte[] || value instanceof boolean[] + || value instanceof char[] || value instanceof short[] + || value instanceof int[] || value instanceof long[] + || value instanceof float[] || value instanceof double[])) + { + throw new IllegalArgumentException("Invalid annotation value"); + } + av.visit(name, value); + } + + public void visitEnum( + final String name, + final String desc, + final String value) + { + checkEnd(); + checkName(name); + CheckMethodAdapter.checkDesc(desc, false); + if (value == null) { + throw new IllegalArgumentException("Invalid enum value"); + } + av.visitEnum(name, desc, value); + } + + public AnnotationVisitor visitAnnotation( + final String name, + final String desc) + { + checkEnd(); + checkName(name); + CheckMethodAdapter.checkDesc(desc, false); + return new CheckAnnotationAdapter(av.visitAnnotation(name, desc)); + } + + public AnnotationVisitor visitArray(final String name) { + checkEnd(); + checkName(name); + return new CheckAnnotationAdapter(av.visitArray(name), false); + } + + public void visitEnd() { + checkEnd(); + end = true; + av.visitEnd(); + } + + private void checkEnd() { + if (end) { + throw new IllegalStateException("Cannot call a visit method after visitEnd has been called"); + } + } + + private void checkName(final String name) { + if (named && name == null) { + throw new IllegalArgumentException("Annotation value name must not be null"); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckClassAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckClassAdapter.java new file mode 100644 index 00000000000..640e8b08308 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckClassAdapter.java @@ -0,0 +1,416 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import java.io.FileInputStream; +import java.io.PrintWriter; +import java.util.List; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.ClassAdapter; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.TryCatchBlockNode; +import org.objectweb.asm.tree.analysis.Analyzer; +import org.objectweb.asm.tree.analysis.SimpleVerifier; +import org.objectweb.asm.tree.analysis.Frame; + +/** + * A {@link ClassAdapter} that checks that its methods are properly used. More + * precisely this class adapter checks each method call individually, based + * only on its arguments, but does not check the sequence + * of method calls. For example, the invalid sequence + * visitField(ACC_PUBLIC, "i", "I", null) visitField(ACC_PUBLIC, + * "i", "D", null) + * will not be detected by this class adapter. + * + * @author Eric Bruneton + */ +public class CheckClassAdapter extends ClassAdapter { + + /** + * true if the visit method has been called. + */ + private boolean start; + + /** + * true if the visitSource method has been called. + */ + private boolean source; + + /** + * true if the visitOuterClass method has been called. + */ + private boolean outer; + + /** + * true if the visitEnd method has been called. + */ + private boolean end; + + /** + * Checks a given class.

      Usage: CheckClassAdapter <fully qualified + * class name or class file name> + * + * @param args the command line arguments. + * + * @throws Exception if the class cannot be found, or if an IO exception + * occurs. + */ + public static void main(final String[] args) throws Exception { + if (args.length != 1) { + System.err.println("Verifies the given class."); + System.err.println("Usage: CheckClassAdapter " + + ""); + return; + } + ClassReader cr; + if (args[0].endsWith(".class")) { + cr = new ClassReader(new FileInputStream(args[0])); + } else { + cr = new ClassReader(args[0]); + } + + verify(cr, false, new PrintWriter(System.err)); + } + + /** + * Checks a given class + * + * @param cr a ClassReader that contains bytecode for the analysis. + * @param dump true if bytecode should be printed out not only when errors are found. + * @param pw write where results going to be printed + */ + public static void verify(ClassReader cr, boolean dump, PrintWriter pw) { + ClassNode cn = new ClassNode(); + cr.accept(new CheckClassAdapter(cn), true); + + List methods = cn.methods; + for (int i = 0; i < methods.size(); ++i) { + MethodNode method = (MethodNode) methods.get(i); + if (method.instructions.size() > 0) { + Analyzer a = new Analyzer(new SimpleVerifier(Type.getType("L" + + cn.name + ";"), + Type.getType("L" + cn.superName + ";"), + (cn.access & Opcodes.ACC_INTERFACE) != 0)); + try { + a.analyze(cn.name, method); + if (!dump) { + continue; + } + } catch (Exception e) { + e.printStackTrace(); + } + Frame[] frames = a.getFrames(); + + TraceMethodVisitor mv = new TraceMethodVisitor(); + + pw.println(method.name + method.desc); + for (int j = 0; j < method.instructions.size(); ++j) { + ((AbstractInsnNode) method.instructions.get(j)).accept(mv); + + StringBuffer s = new StringBuffer(); + Frame f = frames[j]; + if (f == null) { + s.append('?'); + } else { + for (int k = 0; k < f.getLocals(); ++k) { + s.append(getShortName(f.getLocal(k).toString())) + .append(' '); + } + s.append(" : "); + for (int k = 0; k < f.getStackSize(); ++k) { + s.append(getShortName(f.getStack(k).toString())) + .append(' '); + } + } + while (s.length() < method.maxStack + method.maxLocals + 1) + { + s.append(' '); + } + pw.print(Integer.toString(j + 100000).substring(1)); + pw.print(" " + s + " : " + mv.buf); // mv.text.get(j)); + } + for (int j = 0; j < method.tryCatchBlocks.size(); ++j) { + ((TryCatchBlockNode) method.tryCatchBlocks.get(j)).accept(mv); + pw.print(" " + mv.buf); + } + pw.println(); + } + } + } + + private static String getShortName(String name) { + int n = name.lastIndexOf('/'); + int k = name.length(); + if(name.charAt(k-1)==';') k--; + return n==-1 ? name : name.substring(n+1, k); + } + + /** + * Constructs a new {@link CheckClassAdapter}. + * + * @param cv the class visitor to which this adapter must delegate calls. + */ + public CheckClassAdapter(final ClassVisitor cv) { + super(cv); + } + + // ------------------------------------------------------------------------ + // Implementation of the ClassVisitor interface + // ------------------------------------------------------------------------ + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + if (start) { + throw new IllegalStateException("visit must be called only once"); + } else { + start = true; + } + checkState(); + checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL + + Opcodes.ACC_SUPER + Opcodes.ACC_INTERFACE + + Opcodes.ACC_ABSTRACT + Opcodes.ACC_SYNTHETIC + + Opcodes.ACC_ANNOTATION + Opcodes.ACC_ENUM + + Opcodes.ACC_DEPRECATED); + CheckMethodAdapter.checkInternalName(name, "class name"); + if ("java/lang/Object".equals(name)) { + if (superName != null) { + throw new IllegalArgumentException("The super class name of the Object class must be 'null'"); + } + } else { + CheckMethodAdapter.checkInternalName(superName, "super class name"); + } + if (signature != null) { + // TODO + } + if ((access & Opcodes.ACC_INTERFACE) != 0) { + if (!"java/lang/Object".equals(superName)) { + throw new IllegalArgumentException("The super class name of interfaces must be 'java/lang/Object'"); + } + } + if (interfaces != null) { + for (int i = 0; i < interfaces.length; ++i) { + CheckMethodAdapter.checkInternalName(interfaces[i], + "interface name at index " + i); + } + } + cv.visit(version, access, name, signature, superName, interfaces); + } + + public void visitSource(final String file, final String debug) { + checkState(); + if (source) { + throw new IllegalStateException("visitSource can be called only once."); + } + source = true; + cv.visitSource(file, debug); + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + checkState(); + if (outer) { + throw new IllegalStateException("visitSource can be called only once."); + } + outer = true; + if (owner == null) { + throw new IllegalArgumentException("Illegal outer class owner"); + } + if (desc != null) { + CheckMethodAdapter.checkMethodDesc(desc); + } + cv.visitOuterClass(owner, name, desc); + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + checkState(); + CheckMethodAdapter.checkInternalName(name, "class name"); + if (outerName != null) { + CheckMethodAdapter.checkInternalName(outerName, "outer class name"); + } + if (innerName != null) { + CheckMethodAdapter.checkIdentifier(innerName, "inner class name"); + } + checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE + + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC + + Opcodes.ACC_FINAL + Opcodes.ACC_INTERFACE + + Opcodes.ACC_ABSTRACT + Opcodes.ACC_SYNTHETIC + + Opcodes.ACC_ANNOTATION + Opcodes.ACC_ENUM); + cv.visitInnerClass(name, outerName, innerName, access); + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + checkState(); + checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE + + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC + + Opcodes.ACC_FINAL + Opcodes.ACC_VOLATILE + + Opcodes.ACC_TRANSIENT + Opcodes.ACC_SYNTHETIC + + Opcodes.ACC_ENUM + Opcodes.ACC_DEPRECATED); + CheckMethodAdapter.checkIdentifier(name, "field name"); + CheckMethodAdapter.checkDesc(desc, false); + if (signature != null) { + // TODO + } + if (value != null) { + CheckMethodAdapter.checkConstant(value); + } + FieldVisitor av = cv.visitField(access, name, desc, signature, value); + return new CheckFieldAdapter(av); + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + checkState(); + checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE + + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC + + Opcodes.ACC_FINAL + Opcodes.ACC_SYNCHRONIZED + + Opcodes.ACC_BRIDGE + Opcodes.ACC_VARARGS + Opcodes.ACC_NATIVE + + Opcodes.ACC_ABSTRACT + Opcodes.ACC_STRICT + + Opcodes.ACC_SYNTHETIC + Opcodes.ACC_DEPRECATED); + CheckMethodAdapter.checkMethodIdentifier(name, "method name"); + CheckMethodAdapter.checkMethodDesc(desc); + if (signature != null) { + // TODO + } + if (exceptions != null) { + for (int i = 0; i < exceptions.length; ++i) { + CheckMethodAdapter.checkInternalName(exceptions[i], + "exception name at index " + i); + } + } + return new CheckMethodAdapter(cv.visitMethod(access, + name, + desc, + signature, + exceptions)); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + checkState(); + CheckMethodAdapter.checkDesc(desc, false); + return new CheckAnnotationAdapter(cv.visitAnnotation(desc, visible)); + } + + public void visitAttribute(final Attribute attr) { + checkState(); + if (attr == null) { + throw new IllegalArgumentException("Invalid attribute (must not be null)"); + } + cv.visitAttribute(attr); + } + + public void visitEnd() { + checkState(); + end = true; + cv.visitEnd(); + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Checks that the visit method has been called and that visitEnd has not + * been called. + */ + private void checkState() { + if (!start) { + throw new IllegalStateException("Cannot visit member before visit has been called."); + } + if (end) { + throw new IllegalStateException("Cannot visit member after visitEnd has been called."); + } + } + + /** + * Checks that the given access flags do not contain invalid flags. This + * method also checks that mutually incompatible flags are not set + * simultaneously. + * + * @param access the access flags to be checked + * @param possibleAccess the valid access flags. + */ + static void checkAccess(final int access, final int possibleAccess) { + if ((access & ~possibleAccess) != 0) { + throw new IllegalArgumentException("Invalid access flags: " + + access); + } + int pub = ((access & Opcodes.ACC_PUBLIC) != 0 ? 1 : 0); + int pri = ((access & Opcodes.ACC_PRIVATE) != 0 ? 1 : 0); + int pro = ((access & Opcodes.ACC_PROTECTED) != 0 ? 1 : 0); + if (pub + pri + pro > 1) { + throw new IllegalArgumentException("public private and protected are mutually exclusive: " + + access); + } + int fin = ((access & Opcodes.ACC_FINAL) != 0 ? 1 : 0); + int abs = ((access & Opcodes.ACC_ABSTRACT) != 0 ? 1 : 0); + if (fin + abs > 1) { + throw new IllegalArgumentException("final and abstract are mutually exclusive: " + + access); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckFieldAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckFieldAdapter.java new file mode 100644 index 00000000000..3e7c113b80a --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckFieldAdapter.java @@ -0,0 +1,75 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.FieldVisitor; + +/** + * A {@link FieldVisitor} that checks that its methods are properly used. + */ +public class CheckFieldAdapter implements FieldVisitor { + + private FieldVisitor fv; + + private boolean end; + + public CheckFieldAdapter(final FieldVisitor fv) { + this.fv = fv; + } + + public AnnotationVisitor visitAnnotation(final String desc, boolean visible) + { + checkEnd(); + CheckMethodAdapter.checkDesc(desc, false); + return new CheckAnnotationAdapter(fv.visitAnnotation(desc, visible)); + } + + public void visitAttribute(final Attribute attr) { + checkEnd(); + if (attr == null) { + throw new IllegalArgumentException("Invalid attribute (must not be null)"); + } + fv.visitAttribute(attr); + } + + public void visitEnd() { + checkEnd(); + end = true; + fv.visitEnd(); + } + + private void checkEnd() { + if (end) { + throw new IllegalStateException("Cannot call a visit method after visitEnd has been called"); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckMethodAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckMethodAdapter.java new file mode 100644 index 00000000000..1cd77c676ad --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/CheckMethodAdapter.java @@ -0,0 +1,942 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.MethodAdapter; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.Type; + +import java.util.HashMap; + +/** + * A {@link MethodAdapter} that checks that its methods are properly used. More + * precisely this code adapter checks each instruction individually (i.e., each + * visit method checks some preconditions based only on its arguments - + * such as the fact that the given opcode is correct for a given visit method), + * but does not check the sequence of instructions. For example, + * in a method whose signature is void m (), the invalid instruction + * IRETURN, or the invalid sequence IADD L2I will not be detected by + * this code adapter. + * + * @author Eric Bruneton + */ +public class CheckMethodAdapter extends MethodAdapter { + + /** + * true if the visitCode method has been called. + */ + private boolean startCode; + + /** + * true if the visitMaxs method has been called. + */ + private boolean endCode; + + /** + * true if the visitEnd method has been called. + */ + private boolean endMethod; + + /** + * The already visited labels. This map associate Integer values to Label + * keys. + */ + private HashMap labels; + + /** + * Code of the visit method to be used for each opcode. + */ + private final static int[] TYPE; + + static { + String s = "BBBBBBBBBBBBBBBBCCIAADDDDDAAAAAAAAAAAAAAAAAAAABBBBBBBBDD" + + "DDDAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" + + "BBBBBBBBBBBBBBBBBBBJBBBBBBBBBBBBBBBBBBBBHHHHHHHHHHHHHHHHD" + + "KLBBBBBBFFFFGGGGAECEBBEEBBAMHHAA"; + TYPE = new int[s.length()]; + for (int i = 0; i < TYPE.length; ++i) { + TYPE[i] = (s.charAt(i) - 'A' - 1); + } + } + + // code to generate the above string + // public static void main (String[] args) { + // int[] TYPE = new int[] { + // 0, //NOP + // 0, //ACONST_NULL + // 0, //ICONST_M1 + // 0, //ICONST_0 + // 0, //ICONST_1 + // 0, //ICONST_2 + // 0, //ICONST_3 + // 0, //ICONST_4 + // 0, //ICONST_5 + // 0, //LCONST_0 + // 0, //LCONST_1 + // 0, //FCONST_0 + // 0, //FCONST_1 + // 0, //FCONST_2 + // 0, //DCONST_0 + // 0, //DCONST_1 + // 1, //BIPUSH + // 1, //SIPUSH + // 7, //LDC + // -1, //LDC_W + // -1, //LDC2_W + // 2, //ILOAD + // 2, //LLOAD + // 2, //FLOAD + // 2, //DLOAD + // 2, //ALOAD + // -1, //ILOAD_0 + // -1, //ILOAD_1 + // -1, //ILOAD_2 + // -1, //ILOAD_3 + // -1, //LLOAD_0 + // -1, //LLOAD_1 + // -1, //LLOAD_2 + // -1, //LLOAD_3 + // -1, //FLOAD_0 + // -1, //FLOAD_1 + // -1, //FLOAD_2 + // -1, //FLOAD_3 + // -1, //DLOAD_0 + // -1, //DLOAD_1 + // -1, //DLOAD_2 + // -1, //DLOAD_3 + // -1, //ALOAD_0 + // -1, //ALOAD_1 + // -1, //ALOAD_2 + // -1, //ALOAD_3 + // 0, //IALOAD + // 0, //LALOAD + // 0, //FALOAD + // 0, //DALOAD + // 0, //AALOAD + // 0, //BALOAD + // 0, //CALOAD + // 0, //SALOAD + // 2, //ISTORE + // 2, //LSTORE + // 2, //FSTORE + // 2, //DSTORE + // 2, //ASTORE + // -1, //ISTORE_0 + // -1, //ISTORE_1 + // -1, //ISTORE_2 + // -1, //ISTORE_3 + // -1, //LSTORE_0 + // -1, //LSTORE_1 + // -1, //LSTORE_2 + // -1, //LSTORE_3 + // -1, //FSTORE_0 + // -1, //FSTORE_1 + // -1, //FSTORE_2 + // -1, //FSTORE_3 + // -1, //DSTORE_0 + // -1, //DSTORE_1 + // -1, //DSTORE_2 + // -1, //DSTORE_3 + // -1, //ASTORE_0 + // -1, //ASTORE_1 + // -1, //ASTORE_2 + // -1, //ASTORE_3 + // 0, //IASTORE + // 0, //LASTORE + // 0, //FASTORE + // 0, //DASTORE + // 0, //AASTORE + // 0, //BASTORE + // 0, //CASTORE + // 0, //SASTORE + // 0, //POP + // 0, //POP2 + // 0, //DUP + // 0, //DUP_X1 + // 0, //DUP_X2 + // 0, //DUP2 + // 0, //DUP2_X1 + // 0, //DUP2_X2 + // 0, //SWAP + // 0, //IADD + // 0, //LADD + // 0, //FADD + // 0, //DADD + // 0, //ISUB + // 0, //LSUB + // 0, //FSUB + // 0, //DSUB + // 0, //IMUL + // 0, //LMUL + // 0, //FMUL + // 0, //DMUL + // 0, //IDIV + // 0, //LDIV + // 0, //FDIV + // 0, //DDIV + // 0, //IREM + // 0, //LREM + // 0, //FREM + // 0, //DREM + // 0, //INEG + // 0, //LNEG + // 0, //FNEG + // 0, //DNEG + // 0, //ISHL + // 0, //LSHL + // 0, //ISHR + // 0, //LSHR + // 0, //IUSHR + // 0, //LUSHR + // 0, //IAND + // 0, //LAND + // 0, //IOR + // 0, //LOR + // 0, //IXOR + // 0, //LXOR + // 8, //IINC + // 0, //I2L + // 0, //I2F + // 0, //I2D + // 0, //L2I + // 0, //L2F + // 0, //L2D + // 0, //F2I + // 0, //F2L + // 0, //F2D + // 0, //D2I + // 0, //D2L + // 0, //D2F + // 0, //I2B + // 0, //I2C + // 0, //I2S + // 0, //LCMP + // 0, //FCMPL + // 0, //FCMPG + // 0, //DCMPL + // 0, //DCMPG + // 6, //IFEQ + // 6, //IFNE + // 6, //IFLT + // 6, //IFGE + // 6, //IFGT + // 6, //IFLE + // 6, //IF_ICMPEQ + // 6, //IF_ICMPNE + // 6, //IF_ICMPLT + // 6, //IF_ICMPGE + // 6, //IF_ICMPGT + // 6, //IF_ICMPLE + // 6, //IF_ACMPEQ + // 6, //IF_ACMPNE + // 6, //GOTO + // 6, //JSR + // 2, //RET + // 9, //TABLESWITCH + // 10, //LOOKUPSWITCH + // 0, //IRETURN + // 0, //LRETURN + // 0, //FRETURN + // 0, //DRETURN + // 0, //ARETURN + // 0, //RETURN + // 4, //GETSTATIC + // 4, //PUTSTATIC + // 4, //GETFIELD + // 4, //PUTFIELD + // 5, //INVOKEVIRTUAL + // 5, //INVOKESPECIAL + // 5, //INVOKESTATIC + // 5, //INVOKEINTERFACE + // -1, //UNUSED + // 3, //NEW + // 1, //NEWARRAY + // 3, //ANEWARRAY + // 0, //ARRAYLENGTH + // 0, //ATHROW + // 3, //CHECKCAST + // 3, //INSTANCEOF + // 0, //MONITORENTER + // 0, //MONITOREXIT + // -1, //WIDE + // 11, //MULTIANEWARRAY + // 6, //IFNULL + // 6, //IFNONNULL + // -1, //GOTO_W + // -1 //JSR_W + // }; + // for (int i = 0; i < TYPE.length; ++i) { + // System.out.print((char)(TYPE[i] + 1 + 'A')); + // } + // System.out.println(); + // } + + /** + * Constructs a new {@link CheckMethodAdapter} object. + * + * @param cv the code visitor to which this adapter must delegate calls. + */ + public CheckMethodAdapter(final MethodVisitor cv) { + super(cv); + this.labels = new HashMap(); + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + checkEndMethod(); + checkDesc(desc, false); + return new CheckAnnotationAdapter(mv.visitAnnotation(desc, visible)); + } + + public AnnotationVisitor visitAnnotationDefault() { + checkEndMethod(); + return new CheckAnnotationAdapter(mv.visitAnnotationDefault(), false); + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + checkEndMethod(); + checkDesc(desc, false); + return new CheckAnnotationAdapter(mv.visitParameterAnnotation(parameter, + desc, + visible)); + } + + public void visitAttribute(final Attribute attr) { + checkEndMethod(); + if (attr == null) { + throw new IllegalArgumentException("Invalid attribute (must not be null)"); + } + mv.visitAttribute(attr); + } + + public void visitCode() { + startCode = true; + mv.visitCode(); + } + + public void visitInsn(final int opcode) { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 0); + mv.visitInsn(opcode); + } + + public void visitIntInsn(final int opcode, final int operand) { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 1); + switch (opcode) { + case Opcodes.BIPUSH: + checkSignedByte(operand, "Invalid operand"); + break; + case Opcodes.SIPUSH: + checkSignedShort(operand, "Invalid operand"); + break; + // case Constants.NEWARRAY: + default: + if (operand < Opcodes.T_BOOLEAN || operand > Opcodes.T_LONG) { + throw new IllegalArgumentException("Invalid operand (must be an array type code T_...): " + + operand); + } + } + mv.visitIntInsn(opcode, operand); + } + + public void visitVarInsn(final int opcode, final int var) { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 2); + checkUnsignedShort(var, "Invalid variable index"); + mv.visitVarInsn(opcode, var); + } + + public void visitTypeInsn(final int opcode, final String desc) { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 3); + if (desc != null && desc.length() > 0 && desc.charAt(0) == '[') { + checkDesc(desc, false); + } else { + checkInternalName(desc, "type"); + } + if (opcode == Opcodes.NEW && desc.charAt(0) == '[') { + throw new IllegalArgumentException("NEW cannot be used to create arrays: " + + desc); + } + mv.visitTypeInsn(opcode, desc); + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 4); + checkInternalName(owner, "owner"); + checkIdentifier(name, "name"); + checkDesc(desc, false); + mv.visitFieldInsn(opcode, owner, name, desc); + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 5); + checkMethodIdentifier(name, "name"); + if (!name.equals("clone")) { + // In JDK1.5, clone method can be called on array class descriptors + checkInternalName(owner, "owner"); + } + checkMethodDesc(desc); + mv.visitMethodInsn(opcode, owner, name, desc); + } + + public void visitJumpInsn(final int opcode, final Label label) { + checkStartCode(); + checkEndCode(); + checkOpcode(opcode, 6); + checkLabel(label, false, "label"); + mv.visitJumpInsn(opcode, label); + } + + public void visitLabel(final Label label) { + checkStartCode(); + checkEndCode(); + checkLabel(label, false, "label"); + if (labels.get(label) != null) { + throw new IllegalArgumentException("Already visited label"); + } else { + labels.put(label, new Integer(labels.size())); + } + mv.visitLabel(label); + } + + public void visitLdcInsn(final Object cst) { + checkStartCode(); + checkEndCode(); + if (!(cst instanceof Type)) { + checkConstant(cst); + } + mv.visitLdcInsn(cst); + } + + public void visitIincInsn(final int var, final int increment) { + checkStartCode(); + checkEndCode(); + checkUnsignedShort(var, "Invalid variable index"); + checkSignedShort(increment, "Invalid increment"); + mv.visitIincInsn(var, increment); + } + + public void visitTableSwitchInsn( + final int min, + final int max, + final Label dflt, + final Label labels[]) + { + checkStartCode(); + checkEndCode(); + if (max < min) { + throw new IllegalArgumentException("Max = " + max + + " must be greater than or equal to min = " + min); + } + checkLabel(dflt, false, "default label"); + if (labels == null || labels.length != max - min + 1) { + throw new IllegalArgumentException("There must be max - min + 1 labels"); + } + for (int i = 0; i < labels.length; ++i) { + checkLabel(labels[i], false, "label at index " + i); + } + mv.visitTableSwitchInsn(min, max, dflt, labels); + } + + public void visitLookupSwitchInsn( + final Label dflt, + final int keys[], + final Label labels[]) + { + checkEndCode(); + checkStartCode(); + checkLabel(dflt, false, "default label"); + if (keys == null || labels == null || keys.length != labels.length) { + throw new IllegalArgumentException("There must be the same number of keys and labels"); + } + for (int i = 0; i < labels.length; ++i) { + checkLabel(labels[i], false, "label at index " + i); + } + mv.visitLookupSwitchInsn(dflt, keys, labels); + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + checkStartCode(); + checkEndCode(); + checkDesc(desc, false); + if (desc.charAt(0) != '[') { + throw new IllegalArgumentException("Invalid descriptor (must be an array type descriptor): " + + desc); + } + if (dims < 1) { + throw new IllegalArgumentException("Invalid dimensions (must be greater than 0): " + + dims); + } + if (dims > desc.lastIndexOf('[') + 1) { + throw new IllegalArgumentException("Invalid dimensions (must not be greater than dims(desc)): " + + dims); + } + mv.visitMultiANewArrayInsn(desc, dims); + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + checkStartCode(); + checkEndCode(); + if (type != null) { + checkInternalName(type, "type"); + } + mv.visitTryCatchBlock(start, end, handler, type); + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + checkStartCode(); + checkEndCode(); + checkIdentifier(name, "name"); + checkDesc(desc, false); + checkLabel(start, true, "start label"); + checkLabel(end, true, "end label"); + checkUnsignedShort(index, "Invalid variable index"); + int s = ((Integer) labels.get(start)).intValue(); + int e = ((Integer) labels.get(end)).intValue(); + if (e < s) { + throw new IllegalArgumentException("Invalid start and end labels (end must be greater than start)"); + } + mv.visitLocalVariable(name, desc, signature, start, end, index); + } + + public void visitLineNumber(final int line, final Label start) { + checkStartCode(); + checkEndCode(); + checkUnsignedShort(line, "Invalid line number"); + checkLabel(start, true, "start label"); + mv.visitLineNumber(line, start); + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + checkStartCode(); + checkEndCode(); + endCode = true; + checkUnsignedShort(maxStack, "Invalid max stack"); + checkUnsignedShort(maxLocals, "Invalid max locals"); + mv.visitMaxs(maxStack, maxLocals); + } + + public void visitEnd() { + checkEndMethod(); + endMethod = true; + mv.visitEnd(); + } + + // ------------------------------------------------------------------------- + + /** + * Checks that the visitCode method has been called. + */ + void checkStartCode() { + if (!startCode) { + throw new IllegalStateException("Cannot visit instructions before visitCode has been called."); + } + } + + /** + * Checks that the visitMaxs method has not been called. + */ + void checkEndCode() { + if (endCode) { + throw new IllegalStateException("Cannot visit instructions after visitMaxs has been called."); + } + } + + /** + * Checks that the visitEnd method has not been called. + */ + void checkEndMethod() { + if (endMethod) { + throw new IllegalStateException("Cannot visit elements after visitEnd has been called."); + } + } + + /** + * Checks that the type of the given opcode is equal to the given type. + * + * @param opcode the opcode to be checked. + * @param type the expected opcode type. + */ + static void checkOpcode(final int opcode, final int type) { + if (opcode < 0 || opcode > 199 || TYPE[opcode] != type) { + throw new IllegalArgumentException("Invalid opcode: " + opcode); + } + } + + /** + * Checks that the given value is a signed byte. + * + * @param value the value to be checked. + * @param msg an message to be used in case of error. + */ + static void checkSignedByte(final int value, final String msg) { + if (value < Byte.MIN_VALUE || value > Byte.MAX_VALUE) { + throw new IllegalArgumentException(msg + + " (must be a signed byte): " + value); + } + } + + /** + * Checks that the given value is a signed short. + * + * @param value the value to be checked. + * @param msg an message to be used in case of error. + */ + static void checkSignedShort(final int value, final String msg) { + if (value < Short.MIN_VALUE || value > Short.MAX_VALUE) { + throw new IllegalArgumentException(msg + + " (must be a signed short): " + value); + } + } + + /** + * Checks that the given value is an unsigned short. + * + * @param value the value to be checked. + * @param msg an message to be used in case of error. + */ + static void checkUnsignedShort(final int value, final String msg) { + if (value < 0 || value > 65535) { + throw new IllegalArgumentException(msg + + " (must be an unsigned short): " + value); + } + } + + /** + * Checks that the given value is an {@link Integer}, a{@link Float}, a + * {@link Long}, a {@link Double} or a {@link String}. + * + * @param cst the value to be checked. + */ + static void checkConstant(final Object cst) { + if (!(cst instanceof Integer) && !(cst instanceof Float) + && !(cst instanceof Long) && !(cst instanceof Double) + && !(cst instanceof String)) + { + throw new IllegalArgumentException("Invalid constant: " + cst); + } + } + + /** + * Checks that the given string is a valid Java identifier. + * + * @param name the string to be checked. + * @param msg a message to be used in case of error. + */ + static void checkIdentifier(final String name, final String msg) { + checkIdentifier(name, 0, -1, msg); + } + + /** + * Checks that the given substring is a valid Java identifier. + * + * @param name the string to be checked. + * @param start index of the first character of the identifier (inclusive). + * @param end index of the last character of the identifier (exclusive). -1 + * is equivalent to name.length() if name is not + * null. + * @param msg a message to be used in case of error. + */ + static void checkIdentifier( + final String name, + final int start, + final int end, + final String msg) + { + if (name == null || (end == -1 ? name.length() <= start : end <= start)) + { + throw new IllegalArgumentException("Invalid " + msg + + " (must not be null or empty)"); + } + if (!Character.isJavaIdentifierStart(name.charAt(start))) { + throw new IllegalArgumentException("Invalid " + msg + + " (must be a valid Java identifier): " + name); + } + int max = (end == -1 ? name.length() : end); + for (int i = start + 1; i < max; ++i) { + if (!Character.isJavaIdentifierPart(name.charAt(i))) { + throw new IllegalArgumentException("Invalid " + msg + + " (must be a valid Java identifier): " + name); + } + } + } + + /** + * Checks that the given string is a valid Java identifier or is equal to + * '<init>' or '<clinit>'. + * + * @param name the string to be checked. + * @param msg a message to be used in case of error. + */ + static void checkMethodIdentifier(final String name, final String msg) { + if (name == null || name.length() == 0) { + throw new IllegalArgumentException("Invalid " + msg + + " (must not be null or empty)"); + } + if (name.equals("") || name.equals("")) { + return; + } + if (!Character.isJavaIdentifierStart(name.charAt(0))) { + throw new IllegalArgumentException("Invalid " + + msg + + " (must be a '', '' or a valid Java identifier): " + + name); + } + for (int i = 1; i < name.length(); ++i) { + if (!Character.isJavaIdentifierPart(name.charAt(i))) { + throw new IllegalArgumentException("Invalid " + + msg + + " (must be '' or '' or a valid Java identifier): " + + name); + } + } + } + + /** + * Checks that the given string is a valid internal class name. + * + * @param name the string to be checked. + * @param msg a message to be used in case of error. + */ + static void checkInternalName(final String name, final String msg) { + checkInternalName(name, 0, -1, msg); + } + + /** + * Checks that the given substring is a valid internal class name. + * + * @param name the string to be checked. + * @param start index of the first character of the identifier (inclusive). + * @param end index of the last character of the identifier (exclusive). -1 + * is equivalent to name.length() if name is not + * null. + * @param msg a message to be used in case of error. + */ + static void checkInternalName( + final String name, + final int start, + final int end, + final String msg) + { + if (name == null || name.length() == 0) { + throw new IllegalArgumentException("Invalid " + msg + + " (must not be null or empty)"); + } + int max = (end == -1 ? name.length() : end); + try { + int begin = start; + int slash; + do { + slash = name.indexOf('/', begin + 1); + if (slash == -1 || slash > max) { + slash = max; + } + checkIdentifier(name, begin, slash, null); + begin = slash + 1; + } while (slash != max); + } catch (IllegalArgumentException _) { + throw new IllegalArgumentException("Invalid " + + msg + + " (must be a fully qualified class name in internal form): " + + name); + } + } + + /** + * Checks that the given string is a valid type descriptor. + * + * @param desc the string to be checked. + * @param canBeVoid true if V can be considered valid. + */ + static void checkDesc(final String desc, final boolean canBeVoid) { + int end = checkDesc(desc, 0, canBeVoid); + if (end != desc.length()) { + throw new IllegalArgumentException("Invalid descriptor: " + desc); + } + } + + /** + * Checks that a the given substring is a valid type descriptor. + * + * @param desc the string to be checked. + * @param start index of the first character of the identifier (inclusive). + * @param canBeVoid true if V can be considered valid. + * @return the index of the last character of the type decriptor, plus one. + */ + static int checkDesc( + final String desc, + final int start, + final boolean canBeVoid) + { + if (desc == null || start >= desc.length()) { + throw new IllegalArgumentException("Invalid type descriptor (must not be null or empty)"); + } + int index; + switch (desc.charAt(start)) { + case 'V': + if (canBeVoid) { + return start + 1; + } else { + throw new IllegalArgumentException("Invalid descriptor: " + + desc); + } + case 'Z': + case 'C': + case 'B': + case 'S': + case 'I': + case 'F': + case 'J': + case 'D': + return start + 1; + case '[': + index = start + 1; + while (index < desc.length() && desc.charAt(index) == '[') { + ++index; + } + if (index < desc.length()) { + return checkDesc(desc, index, false); + } else { + throw new IllegalArgumentException("Invalid descriptor: " + + desc); + } + case 'L': + index = desc.indexOf(';', start); + if (index == -1 || index - start < 2) { + throw new IllegalArgumentException("Invalid descriptor: " + + desc); + } + try { + checkInternalName(desc, start + 1, index, null); + } catch (IllegalArgumentException _) { + throw new IllegalArgumentException("Invalid descriptor: " + + desc); + } + return index + 1; + default: + throw new IllegalArgumentException("Invalid descriptor: " + + desc); + } + } + + /** + * Checks that the given string is a valid method descriptor. + * + * @param desc the string to be checked. + */ + static void checkMethodDesc(final String desc) { + if (desc == null || desc.length() == 0) { + throw new IllegalArgumentException("Invalid method descriptor (must not be null or empty)"); + } + if (desc.charAt(0) != '(' || desc.length() < 3) { + throw new IllegalArgumentException("Invalid descriptor: " + desc); + } + int start = 1; + if (desc.charAt(start) != ')') { + do { + if (desc.charAt(start) == 'V') { + throw new IllegalArgumentException("Invalid descriptor: " + + desc); + } + start = checkDesc(desc, start, false); + } while (start < desc.length() && desc.charAt(start) != ')'); + } + start = checkDesc(desc, start + 1, true); + if (start != desc.length()) { + throw new IllegalArgumentException("Invalid descriptor: " + desc); + } + } + + /** + * Checks that the given label is not null. This method can also check that + * the label has been visited. + * + * @param label the label to be checked. + * @param checkVisited true to check that the label has been + * visited. + * @param msg a message to be used in case of error. + */ + void checkLabel( + final Label label, + final boolean checkVisited, + final String msg) + { + if (label == null) { + throw new IllegalArgumentException("Invalid " + msg + + " (must not be null)"); + } + if (checkVisited && labels.get(label) == null) { + throw new IllegalArgumentException("Invalid " + msg + + " (must be visited first)"); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAbstractVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAbstractVisitor.java new file mode 100644 index 00000000000..4250c815c9a --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAbstractVisitor.java @@ -0,0 +1,180 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.util.attrs.Traceable; + +/** + * An abstract trace visitor. + * + * @author Eric Bruneton + */ +public abstract class TraceAbstractVisitor extends AbstractVisitor { + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for internal + * type names in bytecode notation. + */ + public final static int INTERNAL_NAME = 0; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for field + * descriptors, formatted in bytecode notation + */ + public final static int FIELD_DESCRIPTOR = 1; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for field + * signatures, formatted in bytecode notation + */ + public final static int FIELD_SIGNATURE = 2; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for method + * descriptors, formatted in bytecode notation + */ + public final static int METHOD_DESCRIPTOR = 3; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for method + * signatures, formatted in bytecode notation + */ + public final static int METHOD_SIGNATURE = 4; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for class + * signatures, formatted in bytecode notation + */ + public final static int CLASS_SIGNATURE = 5; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for field or + * method return value signatures, formatted in default Java notation + * (non-bytecode) + */ + public final static int TYPE_DECLARATION = 6; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for class + * signatures, formatted in default Java notation (non-bytecode) + */ + public final static int CLASS_DECLARATION = 7; + + /** + * Constant used in {@link #appendDescriptor appendDescriptor} for method + * parameter signatures, formatted in default Java notation (non-bytecode) + */ + public final static int PARAMETERS_DECLARATION = 8; + + /** + * Tab for class members. + */ + protected String tab = " "; + + /** + * Prints a disassembled view of the given annotation. + * + * @param desc the class descriptor of the annotation class. + * @param visible true if the annotation is visible at runtime. + * @return a visitor to visit the annotation values. + */ + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + buf.setLength(0); + buf.append(tab).append('@'); + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append('('); + text.add(buf.toString()); + TraceAnnotationVisitor tav = createTraceAnnotationVisitor(); + text.add(tav.getText()); + text.add(visible ? ")\n" : ") // invisible\n"); + return tav; + } + + /** + * Prints a disassembled view of the given attribute. + * + * @param attr an attribute. + */ + public void visitAttribute(final Attribute attr) { + buf.setLength(0); + buf.append(tab).append("ATTRIBUTE "); + appendDescriptor(-1, attr.type); + + if (attr instanceof Traceable) { + ((Traceable) attr).trace(buf, null); + } else { + buf.append(" : ").append(attr.toString()).append("\n"); + } + + text.add(buf.toString()); + } + + /** + * Does nothing. + */ + public void visitEnd() { + // does nothing + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + protected TraceAnnotationVisitor createTraceAnnotationVisitor() { + return new TraceAnnotationVisitor(); + } + + /** + * Appends an internal name, a type descriptor or a type signature to + * {@link #buf buf}. + * + * @param type indicates if desc is an internal name, a field descriptor, a + * method descriptor, a class signature, ... + * @param desc an internal name, type descriptor, or type signature. May be + * null. + */ + protected void appendDescriptor(final int type, final String desc) { + if (type == CLASS_SIGNATURE || type == FIELD_SIGNATURE + || type == METHOD_SIGNATURE) + { + if (desc != null) { + buf.append("// signature ").append(desc).append('\n'); + } + } else { + buf.append(desc); + } + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAnnotationVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAnnotationVisitor.java new file mode 100644 index 00000000000..827225b1ca3 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceAnnotationVisitor.java @@ -0,0 +1,272 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Type; + +/** + * An {@link AnnotationVisitor} that prints a disassembled view of the + * annotations it visits. + * + * @author Eric Bruneton + */ +public class TraceAnnotationVisitor extends TraceAbstractVisitor implements + AnnotationVisitor +{ + + /** + * The {@link AnnotationVisitor} to which this visitor delegates calls. May + * be null. + */ + protected AnnotationVisitor av; + + private int valueNumber = 0; + + /** + * Constructs a new {@link TraceAnnotationVisitor}. + */ + public TraceAnnotationVisitor() { + // ignore + } + + // ------------------------------------------------------------------------ + // Implementation of the AnnotationVisitor interface + // ------------------------------------------------------------------------ + + public void visit(final String name, final Object value) { + buf.setLength(0); + appendComa(valueNumber++); + + if (name != null) { + buf.append(name).append('='); + } + + if (value instanceof String) { + visitString((String) value); + } else if (value instanceof Type) { + visitType((Type) value); + } else if (value instanceof Byte) { + visitByte(((Byte) value).byteValue()); + } else if (value instanceof Boolean) { + visitBoolean(((Boolean) value).booleanValue()); + } else if (value instanceof Short) { + visitShort(((Short) value).shortValue()); + } else if (value instanceof Character) { + visitChar(((Character) value).charValue()); + } else if (value instanceof Integer) { + visitInt(((Integer) value).intValue()); + } else if (value instanceof Float) { + visitFloat(((Float) value).floatValue()); + } else if (value instanceof Long) { + visitLong(((Long) value).longValue()); + } else if (value instanceof Double) { + visitDouble(((Double) value).doubleValue()); + } else if (value.getClass().isArray()) { + buf.append('{'); + if (value instanceof byte[]) { + byte[] v = (byte[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitByte(v[i]); + } + } else if (value instanceof boolean[]) { + boolean[] v = (boolean[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitBoolean(v[i]); + } + } else if (value instanceof short[]) { + short[] v = (short[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitShort(v[i]); + } + } else if (value instanceof char[]) { + char[] v = (char[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitChar(v[i]); + } + } else if (value instanceof int[]) { + int[] v = (int[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitInt(v[i]); + } + } else if (value instanceof long[]) { + long[] v = (long[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitLong(v[i]); + } + } else if (value instanceof float[]) { + float[] v = (float[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitFloat(v[i]); + } + } else if (value instanceof double[]) { + double[] v = (double[]) value; + for (int i = 0; i < v.length; i++) { + appendComa(i); + visitDouble(v[i]); + } + } + buf.append('}'); + } else { + buf.append(value); + } + + text.add(buf.toString()); + + if (av != null) { + av.visit(name, value); + } + } + + private void visitInt(int value) { + buf.append(value); + } + + private void visitLong(long value) { + buf.append(value).append('L'); + } + + private void visitFloat(float value) { + buf.append(value).append('F'); + } + + private void visitDouble(double value) { + buf.append(value).append('D'); + } + + private void visitChar(char value) { + buf.append("(char)").append((int) value); + } + + private void visitShort(short value) { + buf.append("(short)").append(value); + } + + private void visitByte(byte value) { + buf.append("(byte)").append(value); + } + + private void visitBoolean(boolean value) { + buf.append(value); + } + + private void visitString(String value) { + appendString(buf, value); + } + + private void visitType(Type value) { + buf.append(value.getClassName()).append(".class"); + } + + public void visitEnum( + final String name, + final String desc, + final String value) + { + buf.setLength(0); + appendComa(valueNumber++); + if (name != null) { + buf.append(name).append('='); + } + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append('.').append(value); + text.add(buf.toString()); + + if (av != null) { + av.visitEnum(name, desc, value); + } + } + + public AnnotationVisitor visitAnnotation( + final String name, + final String desc) + { + buf.setLength(0); + appendComa(valueNumber++); + if (name != null) { + buf.append(name).append('='); + } + buf.append('@'); + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append('('); + text.add(buf.toString()); + TraceAnnotationVisitor tav = createTraceAnnotationVisitor(); + text.add(tav.getText()); + text.add(")"); + if (av != null) { + tav.av = av.visitAnnotation(name, desc); + } + return tav; + } + + public AnnotationVisitor visitArray(final String name) { + buf.setLength(0); + appendComa(valueNumber++); + if (name != null) { + buf.append(name).append('='); + } + buf.append('{'); + text.add(buf.toString()); + TraceAnnotationVisitor tav = createTraceAnnotationVisitor(); + text.add(tav.getText()); + text.add("}"); + if (av != null) { + tav.av = av.visitArray(name); + } + return tav; + } + + public void visitEnd() { + if (av != null) { + av.visitEnd(); + } + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + protected TraceAnnotationVisitor createTraceAnnotationVisitor() { + return new TraceAnnotationVisitor(); + } + + private void appendComa(int i) { + if (i != 0) { + buf.append(", "); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceClassVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceClassVisitor.java new file mode 100644 index 00000000000..9a727e50f38 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceClassVisitor.java @@ -0,0 +1,534 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import java.io.FileInputStream; +import java.io.PrintWriter; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.signature.SignatureReader; + +/** + * A {@link ClassVisitor} that prints a disassembled view of the classes it + * visits. This class visitor can be used alone (see the {@link #main main} + * method) to disassemble a class. It can also be used in the middle of class + * visitor chain to trace the class that is visited at a given point in this + * chain. This may be uselful for debugging purposes.

      The trace printed when + * visiting the Hello class is the following:

      + * + *
      + * // class version 49.0 (49)
      + * // access flags 33
      + * public class Hello {
      + *
      + *  // compiled from: Hello.java
      + *
      + *   // access flags 1
      + *   public <init> ()V
      + *     ALOAD 0
      + *     INVOKESPECIAL java/lang/Object <init> ()V
      + *     RETURN
      + *     MAXSTACK = 1
      + *     MAXLOCALS = 1
      + *
      + *   // access flags 9
      + *   public static main ([Ljava/lang/String;)V
      + *     GETSTATIC java/lang/System out Ljava/io/PrintStream;
      + *     LDC "hello"
      + *     INVOKEVIRTUAL java/io/PrintStream println (Ljava/lang/String;)V
      + *     RETURN
      + *     MAXSTACK = 2
      + *     MAXLOCALS = 1
      + * }
      + * 
      + * + *
      where Hello is defined by:

      + * + *
      + * public class Hello {
      + *
      + *     public static void main(String[] args) {
      + *         System.out.println("hello");
      + *     }
      + * }
      + * 
      + * + *
      + * + * @author Eric Bruneton + * @author Eugene Kuleshov + */ +public class TraceClassVisitor extends TraceAbstractVisitor implements + ClassVisitor +{ + + /** + * The {@link ClassVisitor} to which this visitor delegates calls. May be + * null. + */ + protected final ClassVisitor cv; + + /** + * The print writer to be used to print the class. + */ + protected final PrintWriter pw; + + /** + * Prints a disassembled view of the given class to the standard output.

      + * Usage: TraceClassVisitor [-debug] <fully qualified class name or class + * file name > + * + * @param args the command line arguments. + * + * @throws Exception if the class cannot be found, or if an IO exception + * occurs. + */ + public static void main(final String[] args) throws Exception { + int i = 0; + boolean skipDebug = true; + + boolean ok = true; + if (args.length < 1 || args.length > 2) { + ok = false; + } + if (ok && args[0].equals("-debug")) { + i = 1; + skipDebug = false; + if (args.length != 2) { + ok = false; + } + } + if (!ok) { + System.err.println("Prints a disassembled view of the given class."); + System.err.println("Usage: TraceClassVisitor [-debug] " + + ""); + return; + } + ClassReader cr; + if (args[i].endsWith(".class") || args[i].indexOf('\\') > -1 + || args[i].indexOf('/') > -1) + { + cr = new ClassReader(new FileInputStream(args[i])); + } else { + cr = new ClassReader(args[i]); + } + cr.accept(new TraceClassVisitor(new PrintWriter(System.out)), + getDefaultAttributes(), + skipDebug); + } + + /** + * Constructs a new {@link TraceClassVisitor}. + * + * @param pw the print writer to be used to print the class. + */ + public TraceClassVisitor(final PrintWriter pw) { + this(null, pw); + } + + /** + * Constructs a new {@link TraceClassVisitor}. + * + * @param cv the {@link ClassVisitor} to which this visitor delegates calls. + * May be null. + * @param pw the print writer to be used to print the class. + */ + public TraceClassVisitor(final ClassVisitor cv, final PrintWriter pw) { + this.cv = cv; + this.pw = pw; + } + + // ------------------------------------------------------------------------ + // Implementation of the ClassVisitor interface + // ------------------------------------------------------------------------ + + public void visit( + final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + int major = version & 0xFFFF; + int minor = version >>> 16; + buf.setLength(0); + buf.append("// class version ") + .append(major) + .append('.') + .append(minor) + .append(" (") + .append(version) + .append(")\n"); + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + buf.append("// DEPRECATED\n"); + } + buf.append("// access flags ").append(access).append('\n'); + + appendDescriptor(CLASS_SIGNATURE, signature); + if (signature != null) { + TraceSignatureVisitor sv = new TraceSignatureVisitor(access); + SignatureReader r = new SignatureReader(signature); + r.accept(sv); + buf.append("// declaration: ") + .append(name) + .append(sv.getDeclaration()) + .append('\n'); + } + + appendAccess(access & ~Opcodes.ACC_SUPER); + if ((access & Opcodes.ACC_ANNOTATION) != 0) { + buf.append("@interface "); + } else if ((access & Opcodes.ACC_INTERFACE) != 0) { + buf.append("interface "); + } else if ((access & Opcodes.ACC_ENUM) != 0) { + buf.append("enum "); + } else { + buf.append("class "); + } + appendDescriptor(INTERNAL_NAME, name); + + if (superName != null && !superName.equals("java/lang/Object")) { + buf.append(" extends "); + appendDescriptor(INTERNAL_NAME, superName); + buf.append(' '); + } + if (interfaces != null && interfaces.length > 0) { + buf.append(" implements "); + for (int i = 0; i < interfaces.length; ++i) { + appendDescriptor(INTERNAL_NAME, interfaces[i]); + buf.append(' '); + } + } + buf.append(" {\n\n"); + + text.add(buf.toString()); + + if (cv != null) { + cv.visit(version, access, name, signature, superName, interfaces); + } + } + + public void visitSource(final String file, final String debug) { + buf.setLength(0); + if (file != null) { + buf.append(tab) + .append("// compiled from: ") + .append(file) + .append('\n'); + } + if (debug != null) { + buf.append(tab) + .append("// debug info: ") + .append(debug) + .append('\n'); + } + if (buf.length() > 0) { + text.add(buf.toString()); + } + + if (cv != null) { + cv.visitSource(file, debug); + } + } + + public void visitOuterClass( + final String owner, + final String name, + final String desc) + { + buf.setLength(0); + buf.append(tab).append("OUTERCLASS "); + appendDescriptor(INTERNAL_NAME, owner); + // if enclosing name is null, so why should we show this info? + if (name != null) { + buf.append(' ').append(name).append(' '); + } else { + buf.append(' '); + } + appendDescriptor(METHOD_DESCRIPTOR, desc); + buf.append('\n'); + text.add(buf.toString()); + + if (cv != null) { + cv.visitOuterClass(owner, name, desc); + } + } + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + text.add("\n"); + AnnotationVisitor tav = super.visitAnnotation(desc, visible); + if (cv != null) { + ((TraceAnnotationVisitor) tav).av = cv.visitAnnotation(desc, + visible); + } + return tav; + } + + public void visitAttribute(final Attribute attr) { + text.add("\n"); + super.visitAttribute(attr); + + if (cv != null) { + cv.visitAttribute(attr); + } + } + + public void visitInnerClass( + final String name, + final String outerName, + final String innerName, + final int access) + { + buf.setLength(0); + buf.append(tab).append("// access flags ").append(access + & ~Opcodes.ACC_SUPER).append('\n'); + buf.append(tab); + appendAccess(access); + buf.append("INNERCLASS "); + if ((access & Opcodes.ACC_ENUM) != 0) { + buf.append("enum "); + } + appendDescriptor(INTERNAL_NAME, name); + buf.append(' '); + appendDescriptor(INTERNAL_NAME, outerName); + buf.append(' '); + appendDescriptor(INTERNAL_NAME, innerName); + buf.append('\n'); + text.add(buf.toString()); + + if (cv != null) { + cv.visitInnerClass(name, outerName, innerName, access); + } + } + + public FieldVisitor visitField( + final int access, + final String name, + final String desc, + final String signature, + final Object value) + { + buf.setLength(0); + buf.append('\n'); + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + buf.append(tab).append("// DEPRECATED\n"); + } + buf.append(tab).append("// access flags ").append(access).append('\n'); + if (signature != null) { + buf.append(tab); + appendDescriptor(FIELD_SIGNATURE, signature); + + TraceSignatureVisitor sv = new TraceSignatureVisitor(0); + SignatureReader r = new SignatureReader(signature); + r.acceptType(sv); + buf.append(tab) + .append("// declaration: ") + .append(sv.getDeclaration()) + .append('\n'); + } + + buf.append(tab); + appendAccess(access); + if ((access & Opcodes.ACC_ENUM) != 0) { + buf.append("enum "); + } + + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append(' ').append(name); + if (value != null) { + buf.append(" = "); + if (value instanceof String) { + buf.append("\"").append(value).append("\""); + } else { + buf.append(value); + } + } + + buf.append('\n'); + text.add(buf.toString()); + + TraceFieldVisitor tav = createTraceFieldVisitor(); + text.add(tav.getText()); + + if (cv != null) { + tav.fv = cv.visitField(access, name, desc, signature, value); + } + + return tav; + } + + public MethodVisitor visitMethod( + final int access, + final String name, + final String desc, + final String signature, + final String[] exceptions) + { + buf.setLength(0); + buf.append('\n'); + if ((access & Opcodes.ACC_DEPRECATED) != 0) { + buf.append(tab).append("// DEPRECATED\n"); + } + buf.append(tab).append("// access flags ").append(access).append('\n'); + buf.append(tab); + appendDescriptor(METHOD_SIGNATURE, signature); + + if (signature != null) { + TraceSignatureVisitor v = new TraceSignatureVisitor(0); + SignatureReader r = new SignatureReader(signature); + r.accept(v); + String genericDecl = v.getDeclaration(); + String genericReturn = v.getReturnType(); + String genericExceptions = v.getExceptions(); + + buf.append(tab) + .append("// declaration: ") + .append(genericReturn) + .append(' ') + .append(name) + .append(genericDecl); + if (genericExceptions != null) { + buf.append(" throws ").append(genericExceptions); + } + buf.append('\n'); + } + + appendAccess(access); + if ((access & Opcodes.ACC_NATIVE) != 0) { + buf.append("native "); + } + if ((access & Opcodes.ACC_VARARGS) != 0) { + buf.append("varargs "); + } + if ((access & Opcodes.ACC_BRIDGE) != 0) { + buf.append("bridge "); + } + + buf.append(name); + appendDescriptor(METHOD_DESCRIPTOR, desc); + if (exceptions != null && exceptions.length > 0) { + buf.append(" throws "); + for (int i = 0; i < exceptions.length; ++i) { + appendDescriptor(INTERNAL_NAME, exceptions[i]); + buf.append(' '); + } + } + + buf.append('\n'); + text.add(buf.toString()); + + TraceMethodVisitor tcv = createTraceMethodVisitor(); + text.add(tcv.getText()); + + if (cv != null) { + tcv.mv = cv.visitMethod(access, name, desc, signature, exceptions); + } + + return tcv; + } + + public void visitEnd() { + text.add("}\n"); + + printList(pw, text); + pw.flush(); + + if (cv != null) { + cv.visitEnd(); + } + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + protected TraceFieldVisitor createTraceFieldVisitor() { + return new TraceFieldVisitor(); + } + + protected TraceMethodVisitor createTraceMethodVisitor() { + return new TraceMethodVisitor(); + } + + /** + * Appends a string representation of the given access modifiers to {@link + * #buf buf}. + * + * @param access some access modifiers. + */ + private void appendAccess(final int access) { + if ((access & Opcodes.ACC_PUBLIC) != 0) { + buf.append("public "); + } + if ((access & Opcodes.ACC_PRIVATE) != 0) { + buf.append("private "); + } + if ((access & Opcodes.ACC_PROTECTED) != 0) { + buf.append("protected "); + } + if ((access & Opcodes.ACC_FINAL) != 0) { + buf.append("final "); + } + if ((access & Opcodes.ACC_STATIC) != 0) { + buf.append("static "); + } + if ((access & Opcodes.ACC_SYNCHRONIZED) != 0) { + buf.append("synchronized "); + } + if ((access & Opcodes.ACC_VOLATILE) != 0) { + buf.append("volatile "); + } + if ((access & Opcodes.ACC_TRANSIENT) != 0) { + buf.append("transient "); + } + // if ((access & Constants.ACC_NATIVE) != 0) { + // buf.append("native "); + // } + if ((access & Opcodes.ACC_ABSTRACT) != 0) { + buf.append("abstract "); + } + if ((access & Opcodes.ACC_STRICT) != 0) { + buf.append("strictfp "); + } + if ((access & Opcodes.ACC_SYNTHETIC) != 0) { + buf.append("synthetic "); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceFieldVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceFieldVisitor.java new file mode 100644 index 00000000000..7546a3c925e --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceFieldVisitor.java @@ -0,0 +1,78 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.FieldVisitor; + +/** + * A {@link FieldVisitor} that prints a disassembled view of the fields it + * visits. + * + * @author Eric Bruneton + */ +public class TraceFieldVisitor extends TraceAbstractVisitor implements + FieldVisitor +{ + + /** + * The {@link FieldVisitor} to which this visitor delegates calls. May be + * null. + */ + protected FieldVisitor fv; + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + AnnotationVisitor av = super.visitAnnotation(desc, visible); + if (fv != null) { + ((TraceAnnotationVisitor) av).av = fv.visitAnnotation(desc, visible); + } + return av; + } + + public void visitAttribute(final Attribute attr) { + super.visitAttribute(attr); + + if (fv != null) { + fv.visitAttribute(attr); + } + } + + public void visitEnd() { + super.visitEnd(); + + if (fv != null) { + fv.visitEnd(); + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceMethodVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceMethodVisitor.java new file mode 100644 index 00000000000..899f52ea79d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceMethodVisitor.java @@ -0,0 +1,486 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Label; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.signature.SignatureReader; +import org.objectweb.asm.util.attrs.Traceable; + +import java.util.HashMap; + +/** + * A {@link MethodVisitor} that prints a disassembled view of the methods it + * visits. + * + * @author Eric Bruneton + */ +public class TraceMethodVisitor extends TraceAbstractVisitor implements + MethodVisitor +{ + + /** + * The {@link MethodVisitor} to which this visitor delegates calls. May be + * null. + */ + protected MethodVisitor mv; + + /** + * Tab for bytecode instructions. + */ + protected String tab2 = " "; + + /** + * Tab for table and lookup switch instructions. + */ + protected String tab3 = " "; + + /** + * Tab for labels. + */ + protected String ltab = " "; + + /** + * The label names. This map associate String values to Label keys. + */ + protected final HashMap labelNames; + + /** + * Constructs a new {@link TraceMethodVisitor}. + */ + public TraceMethodVisitor() { + this(null); + } + + /** + * Constructs a new {@link TraceMethodVisitor}. + * + * @param mv the {@link MethodVisitor} to which this visitor delegates + * calls. May be null. + */ + public TraceMethodVisitor(final MethodVisitor mv) { + this.labelNames = new HashMap(); + this.mv = mv; + } + + // ------------------------------------------------------------------------ + // Implementation of the MethodVisitor interface + // ------------------------------------------------------------------------ + + public AnnotationVisitor visitAnnotation( + final String desc, + final boolean visible) + { + AnnotationVisitor av = super.visitAnnotation(desc, visible); + if (mv != null) { + ((TraceAnnotationVisitor) av).av = mv.visitAnnotation(desc, visible); + } + return av; + } + + public void visitAttribute(final Attribute attr) { + buf.setLength(0); + buf.append(tab).append("ATTRIBUTE "); + appendDescriptor(-1, attr.type); + + if (attr instanceof Traceable) { + ((Traceable) attr).trace(buf, labelNames); + } else { + buf.append(" : ").append(attr.toString()).append("\n"); + } + + text.add(buf.toString()); + if (mv != null) { + mv.visitAttribute(attr); + } + } + + public AnnotationVisitor visitAnnotationDefault() { + text.add(tab2 + "default="); + TraceAnnotationVisitor tav = new TraceAnnotationVisitor(); + text.add(tav.getText()); + text.add("\n"); + if (mv != null) { + tav.av = mv.visitAnnotationDefault(); + } + return tav; + } + + public AnnotationVisitor visitParameterAnnotation( + final int parameter, + final String desc, + final boolean visible) + { + buf.setLength(0); + buf.append(tab2).append('@'); + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append('('); + text.add(buf.toString()); + TraceAnnotationVisitor tav = new TraceAnnotationVisitor(); + text.add(tav.getText()); + text.add(visible ? ") // parameter " : ") // invisible, parameter "); + text.add(new Integer(parameter)); + text.add("\n"); + if (mv != null) { + tav.av = mv.visitParameterAnnotation(parameter, desc, visible); + } + return tav; + } + + public void visitCode() { + if (mv != null) { + mv.visitCode(); + } + } + + public void visitInsn(final int opcode) { + buf.setLength(0); + buf.append(tab2).append(OPCODES[opcode]).append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitInsn(opcode); + } + } + + public void visitIntInsn(final int opcode, final int operand) { + buf.setLength(0); + buf.append(tab2) + .append(OPCODES[opcode]) + .append(' ') + .append(opcode == Opcodes.NEWARRAY + ? TYPES[operand] + : Integer.toString(operand)) + .append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitIntInsn(opcode, operand); + } + } + + public void visitVarInsn(final int opcode, final int var) { + buf.setLength(0); + buf.append(tab2) + .append(OPCODES[opcode]) + .append(' ') + .append(var) + .append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitVarInsn(opcode, var); + } + } + + public void visitTypeInsn(final int opcode, final String desc) { + buf.setLength(0); + buf.append(tab2).append(OPCODES[opcode]).append(' '); + if (desc.startsWith("[")) { + appendDescriptor(FIELD_DESCRIPTOR, desc); + } else { + appendDescriptor(INTERNAL_NAME, desc); + } + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitTypeInsn(opcode, desc); + } + } + + public void visitFieldInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + buf.setLength(0); + buf.append(tab2).append(OPCODES[opcode]).append(' '); + appendDescriptor(INTERNAL_NAME, owner); + buf.append('.').append(name).append(" : "); + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitFieldInsn(opcode, owner, name, desc); + } + } + + public void visitMethodInsn( + final int opcode, + final String owner, + final String name, + final String desc) + { + buf.setLength(0); + buf.append(tab2).append(OPCODES[opcode]).append(' '); + appendDescriptor(INTERNAL_NAME, owner); + buf.append('.').append(name).append(' '); + appendDescriptor(METHOD_DESCRIPTOR, desc); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitMethodInsn(opcode, owner, name, desc); + } + } + + public void visitJumpInsn(final int opcode, final Label label) { + buf.setLength(0); + buf.append(tab2).append(OPCODES[opcode]).append(' '); + appendLabel(label); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitJumpInsn(opcode, label); + } + } + + public void visitLabel(final Label label) { + buf.setLength(0); + buf.append(ltab); + appendLabel(label); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitLabel(label); + } + } + + public void visitLdcInsn(final Object cst) { + buf.setLength(0); + buf.append(tab2).append("LDC "); + if (cst instanceof String) { + AbstractVisitor.appendString(buf, (String) cst); + } else if (cst instanceof Type) { + buf.append(((Type) cst).getDescriptor() + ".class"); + } else { + buf.append(cst); + } + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitLdcInsn(cst); + } + } + + public void visitIincInsn(final int var, final int increment) { + buf.setLength(0); + buf.append(tab2) + .append("IINC ") + .append(var) + .append(' ') + .append(increment) + .append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitIincInsn(var, increment); + } + } + + public void visitTableSwitchInsn( + final int min, + final int max, + final Label dflt, + final Label labels[]) + { + buf.setLength(0); + buf.append(tab2).append("TABLESWITCH\n"); + for (int i = 0; i < labels.length; ++i) { + buf.append(tab3).append(min + i).append(": "); + appendLabel(labels[i]); + buf.append('\n'); + } + buf.append(tab3).append("default: "); + appendLabel(dflt); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitTableSwitchInsn(min, max, dflt, labels); + } + } + + public void visitLookupSwitchInsn( + final Label dflt, + final int keys[], + final Label labels[]) + { + buf.setLength(0); + buf.append(tab2).append("LOOKUPSWITCH\n"); + for (int i = 0; i < labels.length; ++i) { + buf.append(tab3).append(keys[i]).append(": "); + appendLabel(labels[i]); + buf.append('\n'); + } + buf.append(tab3).append("default: "); + appendLabel(dflt); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitLookupSwitchInsn(dflt, keys, labels); + } + } + + public void visitMultiANewArrayInsn(final String desc, final int dims) { + buf.setLength(0); + buf.append(tab2).append("MULTIANEWARRAY "); + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append(' ').append(dims).append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitMultiANewArrayInsn(desc, dims); + } + } + + public void visitTryCatchBlock( + final Label start, + final Label end, + final Label handler, + final String type) + { + buf.setLength(0); + buf.append(tab2).append("TRYCATCHBLOCK "); + appendLabel(start); + buf.append(' '); + appendLabel(end); + buf.append(' '); + appendLabel(handler); + buf.append(' '); + appendDescriptor(INTERNAL_NAME, type); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitTryCatchBlock(start, end, handler, type); + } + } + + public void visitLocalVariable( + final String name, + final String desc, + final String signature, + final Label start, + final Label end, + final int index) + { + buf.setLength(0); + buf.append(tab2).append("LOCALVARIABLE ").append(name).append(' '); + appendDescriptor(FIELD_DESCRIPTOR, desc); + buf.append(' '); + appendLabel(start); + buf.append(' '); + appendLabel(end); + buf.append(' ').append(index).append('\n'); + + if (signature != null) { + buf.append(tab2); + appendDescriptor(FIELD_SIGNATURE, signature); + + TraceSignatureVisitor sv = new TraceSignatureVisitor(0); + SignatureReader r = new SignatureReader(signature); + r.acceptType(sv); + buf.append(tab2) + .append("// declaration: ") + .append(sv.getDeclaration()) + .append('\n'); + } + text.add(buf.toString()); + + if (mv != null) { + mv.visitLocalVariable(name, desc, signature, start, end, index); + } + } + + public void visitLineNumber(final int line, final Label start) { + buf.setLength(0); + buf.append(tab2).append("LINENUMBER ").append(line).append(' '); + appendLabel(start); + buf.append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitLineNumber(line, start); + } + } + + public void visitMaxs(final int maxStack, final int maxLocals) { + buf.setLength(0); + buf.append(tab2).append("MAXSTACK = ").append(maxStack).append('\n'); + text.add(buf.toString()); + + buf.setLength(0); + buf.append(tab2).append("MAXLOCALS = ").append(maxLocals).append('\n'); + text.add(buf.toString()); + + if (mv != null) { + mv.visitMaxs(maxStack, maxLocals); + } + } + + public void visitEnd() { + super.visitEnd(); + + if (mv != null) { + mv.visitEnd(); + } + } + + // ------------------------------------------------------------------------ + // Utility methods + // ------------------------------------------------------------------------ + + /** + * Appends the name of the given label to {@link #buf buf}. Creates a new + * label name if the given label does not yet have one. + * + * @param l a label. + */ + public void appendLabel(final Label l) { + String name = (String) labelNames.get(l); + if (name == null) { + name = "L" + labelNames.size(); + labelNames.put(l, name); + } + buf.append(name); + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceSignatureVisitor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceSignatureVisitor.java new file mode 100644 index 00000000000..c7145c0e86c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/TraceSignatureVisitor.java @@ -0,0 +1,300 @@ +/*** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.signature.SignatureVisitor; + +/** + * A {@link SignatureVisitor} that prints a disassembled view of the signature + * it visits. + * + * @author Eugene Kuleshov + * @author Eric Bruneton + */ +public class TraceSignatureVisitor implements SignatureVisitor { + + private StringBuffer declaration; + + private boolean isInterface; + + private boolean seenFormalParameter; + + private boolean seenInterfaceBound; + + private boolean seenParameter; + + private boolean seenInterface; + + private StringBuffer returnType; + + private StringBuffer exceptions; + + /** + * Stack used to keep track of class types that have arguments. Each element + * of this stack is a boolean encoded in one bit. The top of the stack is + * the lowest order bit. Pushing false = *2, pushing true = *2+1, popping = + * /2. + */ + private int argumentStack; + + /** + * Stack used to keep track of array class types. Each element of this stack + * is a boolean encoded in one bit. The top of the stack is the lowest order + * bit. Pushing false = *2, pushing true = *2+1, popping = /2. + */ + private int arrayStack; + + private String separator = ""; + + public TraceSignatureVisitor(int access) { + isInterface = (access & Opcodes.ACC_INTERFACE) != 0; + this.declaration = new StringBuffer(); + } + + private TraceSignatureVisitor(StringBuffer buf) { + this.declaration = buf; + } + + public void visitFormalTypeParameter(String name) { + declaration.append(seenFormalParameter ? ", " : "<").append(name); + seenFormalParameter = true; + seenInterfaceBound = false; + } + + public SignatureVisitor visitClassBound() { + separator = " extends "; + startType(); + return this; + } + + public SignatureVisitor visitInterfaceBound() { + separator = seenInterfaceBound ? ", " : " extends "; + seenInterfaceBound = true; + startType(); + return this; + } + + public SignatureVisitor visitSuperclass() { + endFormals(); + separator = " extends "; + startType(); + return this; + } + + public SignatureVisitor visitInterface() { + separator = seenInterface ? ", " : (isInterface + ? " extends " + : " implements "); + seenInterface = true; + startType(); + return this; + } + + public SignatureVisitor visitParameterType() { + endFormals(); + if (!seenParameter) { + seenParameter = true; + declaration.append('('); + } else { + declaration.append(", "); + } + startType(); + return this; + } + + public SignatureVisitor visitReturnType() { + endFormals(); + if (!seenParameter) { + declaration.append('('); + } else { + seenParameter = false; + } + declaration.append(')'); + returnType = new StringBuffer(); + return new TraceSignatureVisitor(returnType); + } + + public SignatureVisitor visitExceptionType() { + if (exceptions == null) { + exceptions = new StringBuffer(); + } else { + exceptions.append(", "); + } + // startType(); + return new TraceSignatureVisitor(exceptions); + } + + public void visitBaseType(char descriptor) { + switch (descriptor) { + case 'V': + declaration.append("void"); + break; + case 'B': + declaration.append("byte"); + break; + case 'J': + declaration.append("long"); + break; + case 'Z': + declaration.append("boolean"); + break; + case 'I': + declaration.append("int"); + break; + case 'S': + declaration.append("short"); + break; + case 'C': + declaration.append("char"); + break; + case 'F': + declaration.append("float"); + break; + // case 'D': + default: + declaration.append("double"); + break; + } + endType(); + } + + public void visitTypeVariable(String name) { + declaration.append(name); + endType(); + } + + public SignatureVisitor visitArrayType() { + startType(); + arrayStack |= 1; + return this; + } + + public void visitClassType(String name) { + if (!"java/lang/Object".equals(name)) { + declaration.append(separator).append(name.replace('/', '.')); + } else { + // Map + // or + // abstract public V get(Object key); (seen in Dictionary.class) + // should have Object + // but java.lang.String extends java.lang.Object is unnecessary + boolean needObjectClass = argumentStack % 2 == 1 || seenParameter; + if (needObjectClass) { + declaration.append(separator).append(name.replace('/', '.')); + } + } + separator = ""; + argumentStack *= 2; + } + + public void visitInnerClassType(String name) { + if (argumentStack % 2 == 1) { + declaration.append('>'); + } + argumentStack /= 2; + declaration.append('.'); + declaration.append(separator).append(name.replace('/', '.')); + separator = ""; + argumentStack *= 2; + } + + public void visitTypeArgument() { + if (argumentStack % 2 == 0) { + ++argumentStack; + declaration.append('<'); + } else { + declaration.append(", "); + } + declaration.append('?'); + } + + public SignatureVisitor visitTypeArgument(char tag) { + if (argumentStack % 2 == 0) { + ++argumentStack; + declaration.append('<'); + } else { + declaration.append(", "); + } + + if (tag == SignatureVisitor.EXTENDS) { + declaration.append("? extends "); + } else if (tag == SignatureVisitor.SUPER) { + declaration.append("? super "); + } + + startType(); + return this; + } + + public void visitEnd() { + if (argumentStack % 2 == 1) { + declaration.append('>'); + } + argumentStack /= 2; + endType(); + } + + public String getDeclaration() { + return declaration.toString(); + } + + public String getReturnType() { + return returnType == null ? null : returnType.toString(); + } + + public String getExceptions() { + return exceptions == null ? null : exceptions.toString(); + } + + // ----------------------------------------------- + + private void endFormals() { + if (seenFormalParameter) { + declaration.append('>'); + seenFormalParameter = false; + } + } + + private void startType() { + arrayStack *= 2; + } + + private void endType() { + if (arrayStack % 2 == 1) { + while (arrayStack % 2 == 1) { + arrayStack /= 2; + declaration.append("[]"); + } + } else { + arrayStack /= 2; + } + } +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.java new file mode 100644 index 00000000000..88c7af89900 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.java @@ -0,0 +1,223 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util.attrs; + +import java.util.List; +import java.util.Map; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.Label; +import org.objectweb.asm.attrs.StackMapAttribute; +import org.objectweb.asm.attrs.StackMapFrame; +import org.objectweb.asm.attrs.StackMapType; + +/** + * An {@link ASMifiable} {@link StackMapAttribute} sub class. + * + * @author Eugene Kuleshov + */ +public class ASMStackMapAttribute extends StackMapAttribute implements + ASMifiable, + Traceable +{ + /** + * Length of the attribute used for comparison + */ + private int len; + + public ASMStackMapAttribute() { + super(); + } + + public ASMStackMapAttribute(List frames, int len) { + super(frames); + this.len = len; + } + + protected Attribute read( + ClassReader cr, + int off, + int len, + char[] buf, + int codeOff, + Label[] labels) + { + StackMapAttribute attr = (StackMapAttribute) super.read(cr, + off, + len, + buf, + codeOff, + labels); + + return new ASMStackMapAttribute(attr.getFrames(), len); + } + + public void asmify(StringBuffer buf, String varName, Map labelNames) { + List frames = getFrames(); + buf.append("{\n"); + buf.append("StackMapAttribute ").append(varName).append("Attr"); + buf.append(" = new StackMapAttribute();\n"); + if (frames.size() > 0) { + for (int i = 0; i < frames.size(); i++) { + asmify((StackMapFrame) frames.get(i), buf, varName + "frame" + + i, labelNames); + } + } + buf.append(varName).append(".visitAttribute(").append(varName); + buf.append("Attr);\n}\n"); + } + + void asmify( + StackMapFrame f, + StringBuffer buf, + String varName, + Map labelNames) + { + declareLabel(buf, labelNames, f.label); + buf.append("{\n"); + + buf.append("StackMapFrame ") + .append(varName) + .append(" = new StackMapFrame();\n"); + + buf.append(varName) + .append(".label = ") + .append(labelNames.get(f.label)) + .append(";\n"); + + asmifyTypeInfo(buf, varName, labelNames, f.locals, "locals"); + asmifyTypeInfo(buf, varName, labelNames, f.stack, "stack"); + + buf.append("cvAttr.frames.add(").append(varName).append(");\n"); + buf.append("}\n"); + } + + void asmifyTypeInfo( + StringBuffer buf, + String varName, + Map labelNames, + List infos, + String field) + { + if (infos.size() > 0) { + buf.append("{\n"); + for (int i = 0; i < infos.size(); i++) { + StackMapType typeInfo = (StackMapType) infos.get(i); + String localName = varName + "Info" + i; + int type = typeInfo.getType(); + buf.append("StackMapType ") + .append(localName) + .append(" = StackMapType.getTypeInfo( StackMapType.ITEM_") + .append(StackMapType.ITEM_NAMES[type]) + .append(");\n"); + + switch (type) { + case StackMapType.ITEM_Object: // + buf.append(localName) + .append(".setObject(\"") + .append(typeInfo.getObject()) + .append("\");\n"); + break; + + case StackMapType.ITEM_Uninitialized: // + declareLabel(buf, labelNames, typeInfo.getLabel()); + buf.append(localName) + .append(".setLabel(") + .append(labelNames.get(typeInfo.getLabel())) + .append(");\n"); + break; + } + buf.append(varName) + .append(".") + .append(field) + .append(".add(") + .append(localName) + .append(");\n"); + } + buf.append("}\n"); + } + } + + static void declareLabel(StringBuffer buf, Map labelNames, Label l) { + String name = (String) labelNames.get(l); + if (name == null) { + name = "l" + labelNames.size(); + labelNames.put(l, name); + buf.append("Label ").append(name).append(" = new Label();\n"); + } + } + + public void trace(StringBuffer buf, Map labelNames) { + List frames = getFrames(); + buf.append("[\n"); + for (int i = 0; i < frames.size(); i++) { + StackMapFrame f = (StackMapFrame) frames.get(i); + + buf.append(" Frame:"); + appendLabel(buf, labelNames, f.label); + + buf.append(" locals["); + traceTypeInfo(buf, labelNames, f.locals); + buf.append("]"); + buf.append(" stack["); + traceTypeInfo(buf, labelNames, f.stack); + buf.append("]\n"); + } + buf.append(" ] length:").append(len).append("\n"); + } + + private void traceTypeInfo(StringBuffer buf, Map labelNames, List infos) { + String sep = ""; + for (int i = 0; i < infos.size(); i++) { + StackMapType t = (StackMapType) infos.get(i); + + buf.append(sep).append(StackMapType.ITEM_NAMES[t.getType()]); + sep = ", "; + if (t.getType() == StackMapType.ITEM_Object) { + buf.append(":").append(t.getObject()); + } + if (t.getType() == StackMapType.ITEM_Uninitialized) { + buf.append(":"); + appendLabel(buf, labelNames, t.getLabel()); + } + } + } + + protected void appendLabel(StringBuffer buf, Map labelNames, Label l) { + String name = (String) labelNames.get(l); + if (name == null) { + name = "L" + labelNames.size(); + labelNames.put(l, name); + } + buf.append(name); + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.java new file mode 100644 index 00000000000..b878357d6b5 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.java @@ -0,0 +1,214 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util.attrs; + +import java.util.List; +import java.util.Map; + +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.Label; +import org.objectweb.asm.attrs.StackMapTableAttribute; +import org.objectweb.asm.attrs.StackMapFrame; +import org.objectweb.asm.attrs.StackMapType; + +/** + * An {@link ASMifiable} {@link StackMapTableAttribute} sub class. + * + * @author Eugene Kuleshov + */ +public class ASMStackMapTableAttribute extends StackMapTableAttribute implements + ASMifiable, + Traceable +{ + /** + * Length of the attribute used for comparison + */ + private int len; + + public ASMStackMapTableAttribute() { + super(); + } + + public ASMStackMapTableAttribute(List frames, int len) { + super(frames); + this.len = len; + } + + protected Attribute read( + ClassReader cr, + int off, + int len, + char[] buf, + int codeOff, + Label[] labels) + { + StackMapTableAttribute attr = (StackMapTableAttribute) super.read(cr, + off, + len, + buf, + codeOff, + labels); + + return new ASMStackMapTableAttribute(attr.getFrames(), len); + } + + public void asmify(StringBuffer buf, String varName, Map labelNames) { + List frames = getFrames(); + if (frames.size() == 0) { + buf.append("List frames = Collections.EMPTY_LIST;\n"); + } else { + buf.append("List frames = new ArrayList();\n"); + for (int i = 0; i < frames.size(); i++) { + buf.append("{\n"); + StackMapFrame f = (StackMapFrame) frames.get(i); + declareLabel(buf, labelNames, f.label); + + String frameVar = varName + "frame" + i; + asmifyTypeInfo(buf, frameVar, labelNames, f.locals, "locals"); + asmifyTypeInfo(buf, frameVar, labelNames, f.stack, "stack"); + + buf.append("StackMapFrame ") + .append(frameVar) + .append(" = new StackMapFrame(") + .append(labelNames.get(f.label)) + .append(", locals, stack);\n"); + buf.append("frames.add(").append(frameVar).append(");\n"); + buf.append("}\n"); + } + } + buf.append("StackMapTableAttribute ").append(varName); + buf.append(" = new StackMapTableAttribute(frames);\n"); + } + + void asmifyTypeInfo( + StringBuffer buf, + String varName, + Map labelNames, + List infos, + String field) + { + if (infos.size() == 0) { + buf.append("List ") + .append(field) + .append(" = Collections.EMPTY_LIST;\n"); + } else { + buf.append("List ").append(field).append(" = new ArrayList();\n"); + buf.append("{\n"); + for (int i = 0; i < infos.size(); i++) { + StackMapType typeInfo = (StackMapType) infos.get(i); + String localName = varName + "Info" + i; + int type = typeInfo.getType(); + buf.append("StackMapType ") + .append(localName) + .append(" = StackMapType.getTypeInfo( StackMapType.ITEM_") + .append(StackMapType.ITEM_NAMES[type]) + .append(");\n"); + + switch (type) { + case StackMapType.ITEM_Object: // + buf.append(localName) + .append(".setObject(\"") + .append(typeInfo.getObject()) + .append("\");\n"); + break; + + case StackMapType.ITEM_Uninitialized: // + declareLabel(buf, labelNames, typeInfo.getLabel()); + buf.append(localName) + .append(".setLabel(") + .append(labelNames.get(typeInfo.getLabel())) + .append(");\n"); + break; + } + buf.append(field) + .append(".add(") + .append(localName) + .append(");\n"); + } + buf.append("}\n"); + } + } + + static void declareLabel(StringBuffer buf, Map labelNames, Label l) { + String name = (String) labelNames.get(l); + if (name == null) { + name = "l" + labelNames.size(); + labelNames.put(l, name); + buf.append("Label ").append(name).append(" = new Label();\n"); + } + } + + public void trace(StringBuffer buf, Map labelNames) { + List frames = getFrames(); + buf.append("[\n"); + for (int i = 0; i < frames.size(); i++) { + StackMapFrame f = (StackMapFrame) frames.get(i); + + buf.append(" Frame:"); + appendLabel(buf, labelNames, f.label); + + buf.append(" locals["); + traceTypeInfo(buf, labelNames, f.locals); + buf.append("]"); + buf.append(" stack["); + traceTypeInfo(buf, labelNames, f.stack); + buf.append("]\n"); + } + buf.append(" ] length:").append(len).append("\n"); + } + + private void traceTypeInfo(StringBuffer buf, Map labelNames, List infos) { + String sep = ""; + for (int i = 0; i < infos.size(); i++) { + StackMapType t = (StackMapType) infos.get(i); + + buf.append(sep).append(StackMapType.ITEM_NAMES[t.getType()]); + sep = ", "; + if (t.getType() == StackMapType.ITEM_Object) { + buf.append(":").append(t.getObject()); + } + if (t.getType() == StackMapType.ITEM_Uninitialized) { + buf.append(":"); + appendLabel(buf, labelNames, t.getLabel()); + } + } + } + + protected void appendLabel(StringBuffer buf, Map labelNames, Label l) { + String name = (String) labelNames.get(l); + if (name == null) { + name = "L" + labelNames.size(); + labelNames.put(l, name); + } + buf.append(name); + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMifiable.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMifiable.java new file mode 100644 index 00000000000..149d7daeeb1 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/ASMifiable.java @@ -0,0 +1,53 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util.attrs; + +import java.util.Map; + +/** + * An attribute that can print the ASM code to create an equivalent attribute. + * + * Implementation should print the ASM code that generates attribute data + * structures for current attribute state. + * + * @author Eugene Kuleshov + */ +public interface ASMifiable { + + /** + * Prints the ASM code to create an attribute equal to this attribute. + * + * @param buf A buffer used for printing Java code. + * @param varName name of the variable in a printed code used to store + * attribute instance. + * @param labelNames map of label instances to their names. + */ + void asmify(StringBuffer buf, String varName, Map labelNames); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/Traceable.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/Traceable.java new file mode 100644 index 00000000000..c40d2a62c3b --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/Traceable.java @@ -0,0 +1,52 @@ +/** + * ASM: a very small and fast Java bytecode manipulation framework + * Copyright (c) 2000-2005 INRIA, France Telecom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.util.attrs; + +import java.util.Map; + +/** + * An attribute that can print eadable representation of the attribute. + * + * Implementation should construct readable output from an attribute data + * structures for current attribute state. Such representation could be used in + * unit test assertions. + * + * @author Eugene Kuleshov + */ +public interface Traceable { + + /** + * Build a human readable representation of the attribute. + * + * @param buf A buffer used for printing Java code. + * @param labelNames map of label instances to their names. + */ + void trace(StringBuffer buf, Map labelNames); +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html new file mode 100644 index 00000000000..a21cb004a26 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html @@ -0,0 +1,36 @@ + + + +Provides attributes sub classes that can work with the ASMifier utility. + +@since ASM 1.4.3 + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html new file mode 100644 index 00000000000..e967b8b1040 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html @@ -0,0 +1,40 @@ + + + +Provides ASM visitors that can be useful for programming and +debugging purposes. These class visitors are normally not used by applications +at runtime. This is why they are bundled in an optional asm-util.jar +library that is separated from (but requires) the asm.jar library, +which contains the core ASM framework. + +@since ASM 1.3.2 + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java new file mode 100644 index 00000000000..1f6fee0ffab --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java @@ -0,0 +1,1215 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Label; +import org.objectweb.asm.Type; + +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * A {@link org.xml.sax.ContentHandler ContentHandler} that transforms XML + * document into Java class file. This class can be feeded by any kind of SAX + * 2.0 event producers, e.g. XML parser, XSLT or XPath engines, or custom code. + * + * @see org.objectweb.asm.xml.SAXClassAdapter + * @see org.objectweb.asm.xml.Processor + * + * @author Eugene Kuleshov + */ +public class ASMContentHandler extends DefaultHandler implements Opcodes { + /** + * Stack of the intermediate processing contexts. + */ + private List stack = new ArrayList(); + + /** + * Complete name of the current element. + */ + private String match = ""; + + /** + * true if the maximum stack size and number of local variables + * must be automatically computed. + */ + protected boolean computeMax; + + /** + * Output stream to write result bytecode. + */ + protected OutputStream os; + + /** + * Current instance of the {@link ClassWriter ClassWriter} used to write + * class bytecode. + */ + protected ClassWriter cw; + + /** + * Map of the active {@link Label Label} instances for current method. + */ + protected Map labels; + + private static final String BASE = "class"; + + private final RuleSet RULES = new RuleSet(); + { + RULES.add(BASE, new ClassRule()); + RULES.add(BASE + "/interfaces/interface", new InterfaceRule()); + RULES.add(BASE + "/interfaces", new InterfacesRule()); + RULES.add(BASE + "/outerclass", new OuterClassRule()); + RULES.add(BASE + "/innerclass", new InnerClassRule()); + RULES.add(BASE + "/source", new SourceRule()); + RULES.add(BASE + "/field", new FieldRule()); + + RULES.add(BASE + "/method", new MethodRule()); + RULES.add(BASE + "/method/exceptions/exception", new ExceptionRule()); + RULES.add(BASE + "/method/exceptions", new ExceptionsRule()); + + RULES.add(BASE + "/method/annotationDefault", + new AnnotationDefaultRule()); + + RULES.add(BASE + "/method/code/*", new OpcodesRule()); // opcodes + + RULES.add(BASE + "/method/code/TABLESWITCH", new TableSwitchRule()); + RULES.add(BASE + "/method/code/TABLESWITCH/label", + new TableSwitchLabelRule()); + RULES.add(BASE + "/method/code/LOOKUPSWITCH", new LookupSwitchRule()); + RULES.add(BASE + "/method/code/LOOKUPSWITCH/label", + new LookupSwitchLabelRule()); + + RULES.add(BASE + "/method/code/Label", new LabelRule()); + RULES.add(BASE + "/method/code/TryCatch", new TryCatchRule()); + RULES.add(BASE + "/method/code/LineNumber", new LineNumberRule()); + RULES.add(BASE + "/method/code/LocalVar", new LocalVarRule()); + RULES.add(BASE + "/method/code/Max", new MaxRule()); + + RULES.add("*/annotation", new AnnotationRule()); + RULES.add("*/parameterAnnotation", new AnnotationParameterRule()); + RULES.add("*/annotationValue", new AnnotationValueRule()); + RULES.add("*/annotationValueAnnotation", + new AnnotationValueAnnotationRule()); + RULES.add("*/annotationValueEnum", new AnnotationValueEnumRule()); + RULES.add("*/annotationValueArray", new AnnotationValueArrayRule()); + }; + + private static interface OpcodeGroup { + public static final int INSN = 0; + public static final int INSN_INT = 1; + public static final int INSN_VAR = 2; + public static final int INSN_TYPE = 3; + public static final int INSN_FIELD = 4; + public static final int INSN_METHOD = 5; + public static final int INSN_JUMP = 6; + public static final int INSN_LDC = 7; + public static final int INSN_IINC = 8; + public static final int INSN_MULTIANEWARRAY = 9; + } + + /** + * Map of the opcode names to opcode and opcode group + */ + static final Map OPCODES = new HashMap(); + static { + OPCODES.put("NOP", new Opcode(NOP, OpcodeGroup.INSN)); + OPCODES.put("ACONST_NULL", new Opcode(ACONST_NULL, OpcodeGroup.INSN)); + OPCODES.put("ICONST_M1", new Opcode(ICONST_M1, OpcodeGroup.INSN)); + OPCODES.put("ICONST_0", new Opcode(ICONST_0, OpcodeGroup.INSN)); + OPCODES.put("ICONST_1", new Opcode(ICONST_1, OpcodeGroup.INSN)); + OPCODES.put("ICONST_2", new Opcode(ICONST_2, OpcodeGroup.INSN)); + OPCODES.put("ICONST_3", new Opcode(ICONST_3, OpcodeGroup.INSN)); + OPCODES.put("ICONST_4", new Opcode(ICONST_4, OpcodeGroup.INSN)); + OPCODES.put("ICONST_5", new Opcode(ICONST_5, OpcodeGroup.INSN)); + OPCODES.put("LCONST_0", new Opcode(LCONST_0, OpcodeGroup.INSN)); + OPCODES.put("LCONST_1", new Opcode(LCONST_1, OpcodeGroup.INSN)); + OPCODES.put("FCONST_0", new Opcode(FCONST_0, OpcodeGroup.INSN)); + OPCODES.put("FCONST_1", new Opcode(FCONST_1, OpcodeGroup.INSN)); + OPCODES.put("FCONST_2", new Opcode(FCONST_2, OpcodeGroup.INSN)); + OPCODES.put("DCONST_0", new Opcode(DCONST_0, OpcodeGroup.INSN)); + OPCODES.put("DCONST_1", new Opcode(DCONST_1, OpcodeGroup.INSN)); + OPCODES.put("BIPUSH", new Opcode(BIPUSH, OpcodeGroup.INSN_INT)); + OPCODES.put("SIPUSH", new Opcode(SIPUSH, OpcodeGroup.INSN_INT)); + OPCODES.put("LDC", new Opcode(LDC, OpcodeGroup.INSN_LDC)); + OPCODES.put("ILOAD", new Opcode(ILOAD, OpcodeGroup.INSN_VAR)); + OPCODES.put("LLOAD", new Opcode(LLOAD, OpcodeGroup.INSN_VAR)); + OPCODES.put("FLOAD", new Opcode(FLOAD, OpcodeGroup.INSN_VAR)); + OPCODES.put("DLOAD", new Opcode(DLOAD, OpcodeGroup.INSN_VAR)); + OPCODES.put("ALOAD", new Opcode(ALOAD, OpcodeGroup.INSN_VAR)); + OPCODES.put("IALOAD", new Opcode(IALOAD, OpcodeGroup.INSN)); + OPCODES.put("LALOAD", new Opcode(LALOAD, OpcodeGroup.INSN)); + OPCODES.put("FALOAD", new Opcode(FALOAD, OpcodeGroup.INSN)); + OPCODES.put("DALOAD", new Opcode(DALOAD, OpcodeGroup.INSN)); + OPCODES.put("AALOAD", new Opcode(AALOAD, OpcodeGroup.INSN)); + OPCODES.put("BALOAD", new Opcode(BALOAD, OpcodeGroup.INSN)); + OPCODES.put("CALOAD", new Opcode(CALOAD, OpcodeGroup.INSN)); + OPCODES.put("SALOAD", new Opcode(SALOAD, OpcodeGroup.INSN)); + OPCODES.put("ISTORE", new Opcode(ISTORE, OpcodeGroup.INSN_VAR)); + OPCODES.put("LSTORE", new Opcode(LSTORE, OpcodeGroup.INSN_VAR)); + OPCODES.put("FSTORE", new Opcode(FSTORE, OpcodeGroup.INSN_VAR)); + OPCODES.put("DSTORE", new Opcode(DSTORE, OpcodeGroup.INSN_VAR)); + OPCODES.put("ASTORE", new Opcode(ASTORE, OpcodeGroup.INSN_VAR)); + OPCODES.put("IASTORE", new Opcode(IASTORE, OpcodeGroup.INSN)); + OPCODES.put("LASTORE", new Opcode(LASTORE, OpcodeGroup.INSN)); + OPCODES.put("FASTORE", new Opcode(FASTORE, OpcodeGroup.INSN)); + OPCODES.put("DASTORE", new Opcode(DASTORE, OpcodeGroup.INSN)); + OPCODES.put("AASTORE", new Opcode(AASTORE, OpcodeGroup.INSN)); + OPCODES.put("BASTORE", new Opcode(BASTORE, OpcodeGroup.INSN)); + OPCODES.put("CASTORE", new Opcode(CASTORE, OpcodeGroup.INSN)); + OPCODES.put("SASTORE", new Opcode(SASTORE, OpcodeGroup.INSN)); + OPCODES.put("POP", new Opcode(POP, OpcodeGroup.INSN)); + OPCODES.put("POP2", new Opcode(POP2, OpcodeGroup.INSN)); + OPCODES.put("DUP", new Opcode(DUP, OpcodeGroup.INSN)); + OPCODES.put("DUP_X1", new Opcode(DUP_X1, OpcodeGroup.INSN)); + OPCODES.put("DUP_X2", new Opcode(DUP_X2, OpcodeGroup.INSN)); + OPCODES.put("DUP2", new Opcode(DUP2, OpcodeGroup.INSN)); + OPCODES.put("DUP2_X1", new Opcode(DUP2_X1, OpcodeGroup.INSN)); + OPCODES.put("DUP2_X2", new Opcode(DUP2_X2, OpcodeGroup.INSN)); + OPCODES.put("SWAP", new Opcode(SWAP, OpcodeGroup.INSN)); + OPCODES.put("IADD", new Opcode(IADD, OpcodeGroup.INSN)); + OPCODES.put("LADD", new Opcode(LADD, OpcodeGroup.INSN)); + OPCODES.put("FADD", new Opcode(FADD, OpcodeGroup.INSN)); + OPCODES.put("DADD", new Opcode(DADD, OpcodeGroup.INSN)); + OPCODES.put("ISUB", new Opcode(ISUB, OpcodeGroup.INSN)); + OPCODES.put("LSUB", new Opcode(LSUB, OpcodeGroup.INSN)); + OPCODES.put("FSUB", new Opcode(FSUB, OpcodeGroup.INSN)); + OPCODES.put("DSUB", new Opcode(DSUB, OpcodeGroup.INSN)); + OPCODES.put("IMUL", new Opcode(IMUL, OpcodeGroup.INSN)); + OPCODES.put("LMUL", new Opcode(LMUL, OpcodeGroup.INSN)); + OPCODES.put("FMUL", new Opcode(FMUL, OpcodeGroup.INSN)); + OPCODES.put("DMUL", new Opcode(DMUL, OpcodeGroup.INSN)); + OPCODES.put("IDIV", new Opcode(IDIV, OpcodeGroup.INSN)); + OPCODES.put("LDIV", new Opcode(LDIV, OpcodeGroup.INSN)); + OPCODES.put("FDIV", new Opcode(FDIV, OpcodeGroup.INSN)); + OPCODES.put("DDIV", new Opcode(DDIV, OpcodeGroup.INSN)); + OPCODES.put("IREM", new Opcode(IREM, OpcodeGroup.INSN)); + OPCODES.put("LREM", new Opcode(LREM, OpcodeGroup.INSN)); + OPCODES.put("FREM", new Opcode(FREM, OpcodeGroup.INSN)); + OPCODES.put("DREM", new Opcode(DREM, OpcodeGroup.INSN)); + OPCODES.put("INEG", new Opcode(INEG, OpcodeGroup.INSN)); + OPCODES.put("LNEG", new Opcode(LNEG, OpcodeGroup.INSN)); + OPCODES.put("FNEG", new Opcode(FNEG, OpcodeGroup.INSN)); + OPCODES.put("DNEG", new Opcode(DNEG, OpcodeGroup.INSN)); + OPCODES.put("ISHL", new Opcode(ISHL, OpcodeGroup.INSN)); + OPCODES.put("LSHL", new Opcode(LSHL, OpcodeGroup.INSN)); + OPCODES.put("ISHR", new Opcode(ISHR, OpcodeGroup.INSN)); + OPCODES.put("LSHR", new Opcode(LSHR, OpcodeGroup.INSN)); + OPCODES.put("IUSHR", new Opcode(IUSHR, OpcodeGroup.INSN)); + OPCODES.put("LUSHR", new Opcode(LUSHR, OpcodeGroup.INSN)); + OPCODES.put("IAND", new Opcode(IAND, OpcodeGroup.INSN)); + OPCODES.put("LAND", new Opcode(LAND, OpcodeGroup.INSN)); + OPCODES.put("IOR", new Opcode(IOR, OpcodeGroup.INSN)); + OPCODES.put("LOR", new Opcode(LOR, OpcodeGroup.INSN)); + OPCODES.put("IXOR", new Opcode(IXOR, OpcodeGroup.INSN)); + OPCODES.put("LXOR", new Opcode(LXOR, OpcodeGroup.INSN)); + OPCODES.put("IINC", new Opcode(IINC, OpcodeGroup.INSN_IINC)); + OPCODES.put("I2L", new Opcode(I2L, OpcodeGroup.INSN)); + OPCODES.put("I2F", new Opcode(I2F, OpcodeGroup.INSN)); + OPCODES.put("I2D", new Opcode(I2D, OpcodeGroup.INSN)); + OPCODES.put("L2I", new Opcode(L2I, OpcodeGroup.INSN)); + OPCODES.put("L2F", new Opcode(L2F, OpcodeGroup.INSN)); + OPCODES.put("L2D", new Opcode(L2D, OpcodeGroup.INSN)); + OPCODES.put("F2I", new Opcode(F2I, OpcodeGroup.INSN)); + OPCODES.put("F2L", new Opcode(F2L, OpcodeGroup.INSN)); + OPCODES.put("F2D", new Opcode(F2D, OpcodeGroup.INSN)); + OPCODES.put("D2I", new Opcode(D2I, OpcodeGroup.INSN)); + OPCODES.put("D2L", new Opcode(D2L, OpcodeGroup.INSN)); + OPCODES.put("D2F", new Opcode(D2F, OpcodeGroup.INSN)); + OPCODES.put("I2B", new Opcode(I2B, OpcodeGroup.INSN)); + OPCODES.put("I2C", new Opcode(I2C, OpcodeGroup.INSN)); + OPCODES.put("I2S", new Opcode(I2S, OpcodeGroup.INSN)); + OPCODES.put("LCMP", new Opcode(LCMP, OpcodeGroup.INSN)); + OPCODES.put("FCMPL", new Opcode(FCMPL, OpcodeGroup.INSN)); + OPCODES.put("FCMPG", new Opcode(FCMPG, OpcodeGroup.INSN)); + OPCODES.put("DCMPL", new Opcode(DCMPL, OpcodeGroup.INSN)); + OPCODES.put("DCMPG", new Opcode(DCMPG, OpcodeGroup.INSN)); + OPCODES.put("IFEQ", new Opcode(IFEQ, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IFNE", new Opcode(IFNE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IFLT", new Opcode(IFLT, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IFGE", new Opcode(IFGE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IFGT", new Opcode(IFGT, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IFLE", new Opcode(IFLE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ICMPEQ", new Opcode(IF_ICMPEQ, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ICMPNE", new Opcode(IF_ICMPNE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ICMPLT", new Opcode(IF_ICMPLT, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ICMPGE", new Opcode(IF_ICMPGE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ICMPGT", new Opcode(IF_ICMPGT, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ICMPLE", new Opcode(IF_ICMPLE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ACMPEQ", new Opcode(IF_ACMPEQ, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IF_ACMPNE", new Opcode(IF_ACMPNE, OpcodeGroup.INSN_JUMP)); + OPCODES.put("GOTO", new Opcode(GOTO, OpcodeGroup.INSN_JUMP)); + OPCODES.put("JSR", new Opcode(JSR, OpcodeGroup.INSN_JUMP)); + OPCODES.put("RET", new Opcode(RET, OpcodeGroup.INSN_VAR)); + // OPCODES.put( "TABLESWITCH", new Opcode( TABLESWITCH, + // "visiTableSwitchInsn")); + // OPCODES.put( "LOOKUPSWITCH", new Opcode( LOOKUPSWITCH, + // "visitLookupSwitch")); + OPCODES.put("IRETURN", new Opcode(IRETURN, OpcodeGroup.INSN)); + OPCODES.put("LRETURN", new Opcode(LRETURN, OpcodeGroup.INSN)); + OPCODES.put("FRETURN", new Opcode(FRETURN, OpcodeGroup.INSN)); + OPCODES.put("DRETURN", new Opcode(DRETURN, OpcodeGroup.INSN)); + OPCODES.put("ARETURN", new Opcode(ARETURN, OpcodeGroup.INSN)); + OPCODES.put("RETURN", new Opcode(RETURN, OpcodeGroup.INSN)); + OPCODES.put("GETSTATIC", new Opcode(GETSTATIC, OpcodeGroup.INSN_FIELD)); + OPCODES.put("PUTSTATIC", new Opcode(PUTSTATIC, OpcodeGroup.INSN_FIELD)); + OPCODES.put("GETFIELD", new Opcode(GETFIELD, OpcodeGroup.INSN_FIELD)); + OPCODES.put("PUTFIELD", new Opcode(PUTFIELD, OpcodeGroup.INSN_FIELD)); + OPCODES.put("INVOKEVIRTUAL", new Opcode(INVOKEVIRTUAL, + OpcodeGroup.INSN_METHOD)); + OPCODES.put("INVOKESPECIAL", new Opcode(INVOKESPECIAL, + OpcodeGroup.INSN_METHOD)); + OPCODES.put("INVOKESTATIC", new Opcode(INVOKESTATIC, + OpcodeGroup.INSN_METHOD)); + OPCODES.put("INVOKEINTERFACE", new Opcode(INVOKEINTERFACE, + OpcodeGroup.INSN_METHOD)); + OPCODES.put("NEW", new Opcode(NEW, OpcodeGroup.INSN_TYPE)); + OPCODES.put("NEWARRAY", new Opcode(NEWARRAY, OpcodeGroup.INSN_INT)); + OPCODES.put("ANEWARRAY", new Opcode(ANEWARRAY, OpcodeGroup.INSN_TYPE)); + OPCODES.put("ARRAYLENGTH", new Opcode(ARRAYLENGTH, OpcodeGroup.INSN)); + OPCODES.put("ATHROW", new Opcode(ATHROW, OpcodeGroup.INSN)); + OPCODES.put("CHECKCAST", new Opcode(CHECKCAST, OpcodeGroup.INSN_TYPE)); + OPCODES.put("INSTANCEOF", new Opcode(INSTANCEOF, OpcodeGroup.INSN_TYPE)); + OPCODES.put("MONITORENTER", new Opcode(MONITORENTER, OpcodeGroup.INSN)); + OPCODES.put("MONITOREXIT", new Opcode(MONITOREXIT, OpcodeGroup.INSN)); + OPCODES.put("MULTIANEWARRAY", new Opcode(MULTIANEWARRAY, + OpcodeGroup.INSN_MULTIANEWARRAY)); + OPCODES.put("IFNULL", new Opcode(IFNULL, OpcodeGroup.INSN_JUMP)); + OPCODES.put("IFNONNULL", new Opcode(IFNONNULL, OpcodeGroup.INSN_JUMP)); + } + + /** + * Constructs a new {@link ASMContentHandler ASMContentHandler} object. + * + * @param os output stream to write generated class. + * @param computeMax true if the maximum stack size and the + * maximum number of local variables must be automatically computed. + * This value is passed to {@link ClassWriter ClassWriter} instance. + */ + public ASMContentHandler(OutputStream os, boolean computeMax) { + this.os = os; + this.computeMax = computeMax; + } + + /** + * Returns the bytecode of the class that was build with underneath class + * writer. + * + * @return the bytecode of the class that was build with underneath class + * writer or null if there are no classwriter created. + */ + public byte[] toByteArray() { + return cw == null ? null : cw.toByteArray(); + } + + /** + * Process notification of the start of an XML element being reached. + * + * @param ns - The Namespace URI, or the empty string if the element has no + * Namespace URI or if Namespace processing is not being performed. + * @param localName - The local name (without prefix), or the empty string + * if Namespace processing is not being performed. + * @param qName - The qualified name (with prefix), or the empty string if + * qualified names are not available. + * @param list - The attributes attached to the element. If there are no + * attributes, it shall be an empty Attributes object. + * @exception SAXException if a parsing error is to be reported + */ + public final void startElement( + String ns, + String localName, + String qName, + Attributes list) throws SAXException + { + // the actual element name is either in localName or qName, depending + // on whether the parser is namespace aware + String name = localName; + if (name == null || name.length() < 1) { + name = qName; + } + + // Compute the current matching rule + StringBuffer sb = new StringBuffer(match); + if (match.length() > 0) { + sb.append('/'); + } + sb.append(name); + match = sb.toString(); + + // Fire "begin" events for all relevant rules + Rule r = (Rule) RULES.match(match); + if (r != null) + r.begin(name, list); + } + + /** + * Process notification of the end of an XML element being reached. + * + * @param ns - The Namespace URI, or the empty string if the element has no + * Namespace URI or if Namespace processing is not being performed. + * @param localName - The local name (without prefix), or the empty string + * if Namespace processing is not being performed. + * @param qName - The qualified XML 1.0 name (with prefix), or the empty + * string if qualified names are not available. + * + * @exception SAXException if a parsing error is to be reported + */ + public final void endElement(String ns, String localName, String qName) + throws SAXException + { + // the actual element name is either in localName or qName, depending + // on whether the parser is namespace aware + String name = localName; + if (name == null || name.length() < 1) { + name = qName; + } + + // Fire "end" events for all relevant rules in reverse order + Rule r = (Rule) RULES.match(match); + if (r != null) + r.end(name); + + // Recover the previous match expression + int slash = match.lastIndexOf('/'); + if (slash >= 0) { + match = match.substring(0, slash); + } else { + match = ""; + } + } + + /** + * Process notification of the end of a document and write generated + * bytecode into output stream. + * + * @exception SAXException if parsing or writing error is to be reported. + */ + public final void endDocument() throws SAXException { + try { + os.write(cw.toByteArray()); + } catch (IOException ex) { + throw new SAXException(ex.toString(), ex); + } + } + + /** + * Return the top object on the stack without removing it. If there are no + * objects on the stack, return null. + * + * @return the top object on the stack without removing it. + */ + final Object peek() { + return stack.size() == 0 ? null : stack.get(stack.size() - 1); + } + + /** + * Return the n'th object down the stack, where 0 is the top element and + * [getCount()-1] is the bottom element. If the specified index is out of + * range, return null. + * + * @param n Index of the desired element, where 0 is the top of the stack, 1 + * is the next element down, and so on. + * @return the n'th object down the stack. + */ + final Object peek(int n) { + return stack.size() < (n + 1) ? null : stack.get(n); + } + + /** + * Pop the top object off of the stack, and return it. If there are no + * objects on the stack, return null. + * + * @return the top object off of the stack. + */ + final Object pop() { + return stack.size() == 0 ? null : stack.remove(stack.size() - 1); + } + + /** + * Push a new object onto the top of the object stack. + * + * @param object The new object + */ + final void push(Object object) { + stack.add(object); + } + + private static final class RuleSet { + private Map rules = new HashMap(); + + private List lpatterns = new ArrayList(); + + private List rpatterns = new ArrayList(); + + public void add(String path, Object rule) { + String pattern = path; + if (path.startsWith("*/")) { + pattern = path.substring(1); + lpatterns.add(pattern); + } else if (path.endsWith("/*")) { + pattern = path.substring(0, path.length() - 1); + rpatterns.add(pattern); + } + rules.put(pattern, rule); + } + + public Object match(String path) { + if (rules.containsKey(path)) { + return rules.get(path); + } + + int n = path.lastIndexOf('/'); + for (Iterator it = lpatterns.iterator(); it.hasNext();) { + String pattern = (String) it.next(); + if (path.substring(n).endsWith(pattern)) { + return rules.get(pattern); + } + } + + for (Iterator it = rpatterns.iterator(); it.hasNext();) { + String pattern = (String) it.next(); + if (path.startsWith(pattern)) { + return rules.get(pattern); + } + } + + return null; + } + + } + + /** + * Rule + */ + protected abstract class Rule { + + public void begin(String name, Attributes attrs) { + } + + public void end(String name) { + } + + protected final Object getValue(String desc, String val) { + Object value = null; + if (val != null) { + if (desc.equals("Ljava/lang/String;")) { + value = decode(val); + } else if ("Ljava/lang/Integer;".equals(desc) + || "I".equals(desc) || "S".equals(desc) + || "B".equals(desc) || "C".equals(desc) + || desc.equals("Z")) + { + value = new Integer(val); + + } else if ("Ljava/lang/Short;".equals(desc)) { + value = new Short(val); + + } else if ("Ljava/lang/Byte;".equals(desc)) { + value = new Byte(val); + + } else if ("Ljava/lang/Character;".equals(desc)) { + value = new Character(decode(val).charAt(0)); + + } else if ("Ljava/lang/Boolean;".equals(desc)) { + value = Boolean.valueOf(val); + + // } else if ("Ljava/lang/Integer;".equals(desc) + // || desc.equals("I")) + // { + // value = new Integer(val); + // } else if ("Ljava/lang/Character;".equals(desc) + // || desc.equals("C")) + // { + // value = new Character(decode(val).charAt(0)); + // } else if ("Ljava/lang/Short;".equals(desc) || + // desc.equals("S")) + // { + // value = Short.valueOf(val); + // } else if ("Ljava/lang/Byte;".equals(desc) || + // desc.equals("B")) + // { + // value = Byte.valueOf(val); + + } else if ("Ljava/lang/Long;".equals(desc) || desc.equals("J")) + { + value = new Long(val); + } else if ("Ljava/lang/Float;".equals(desc) || desc.equals("F")) + { + value = new Float(val); + } else if ("Ljava/lang/Double;".equals(desc) + || desc.equals("D")) + { + value = new Double(val); + } else if (Type.getDescriptor(Type.class).equals(desc)) { + value = Type.getType(val); + + // } else if ("[I".equals(desc)) { + // value = new int[0]; // TODO + // } else if ("[C".equals(desc)) { + // value = new char[0]; // TODO + // } else if ("[Z".equals(desc)) { + // value = new boolean[0]; // TODO + // } else if ("[S".equals(desc)) { + // value = new short[0]; // TODO + // } else if ("[B".equals(desc)) { + // value = new byte[0]; // TODO + // } else if ("[J".equals(desc)) { + // value = new long[0]; // TODO + // } else if ("[F".equals(desc)) { + // value = new float[0]; // TODO + // } else if ("[D".equals(desc)) { + // value = new double[0]; // TODO + + } else { + throw new RuntimeException("Invalid value:" + val + + " desc:" + desc + " ctx:" + this); + } + } + return value; + } + + private final String decode(String val) { + StringBuffer sb = new StringBuffer(val.length()); + try { + int n = 0; + while (n < val.length()) { + char c = val.charAt(n); + if (c == '\\') { + n++; + c = val.charAt(n); + if (c == '\\') { + sb.append('\\'); + } else { + n++; // skip 'u' + sb.append((char) Integer.parseInt(val.substring(n, + n + 4), 16)); + n += 3; + } + } else { + sb.append(c); + } + n++; + } + + } catch (RuntimeException ex) { + System.err.println(val + "\n" + ex.toString()); + ex.printStackTrace(); + throw ex; + } + return sb.toString(); + } + + protected final Label getLabel(Object label) { + Label lbl = (Label) labels.get(label); + if (lbl == null) { + lbl = new Label(); + labels.put(label, lbl); + } + return lbl; + } + + // TODO verify move to stack + protected final MethodVisitor getCodeVisitor() { + return (MethodVisitor) peek(); + } + + protected final int getAccess(String s) { + int access = 0; + if (s.indexOf("public") != -1) + access |= Opcodes.ACC_PUBLIC; + if (s.indexOf("private") != -1) + access |= Opcodes.ACC_PRIVATE; + if (s.indexOf("protected") != -1) + access |= Opcodes.ACC_PROTECTED; + if (s.indexOf("static") != -1) + access |= Opcodes.ACC_STATIC; + if (s.indexOf("final") != -1) + access |= Opcodes.ACC_FINAL; + if (s.indexOf("super") != -1) + access |= Opcodes.ACC_SUPER; + if (s.indexOf("synchronized") != -1) + access |= Opcodes.ACC_SYNCHRONIZED; + if (s.indexOf("volatile") != -1) + access |= Opcodes.ACC_VOLATILE; + if (s.indexOf("bridge") != -1) + access |= Opcodes.ACC_BRIDGE; + if (s.indexOf("varargs") != -1) + access |= Opcodes.ACC_VARARGS; + if (s.indexOf("transient") != -1) + access |= Opcodes.ACC_TRANSIENT; + if (s.indexOf("native") != -1) + access |= Opcodes.ACC_NATIVE; + if (s.indexOf("interface") != -1) + access |= Opcodes.ACC_INTERFACE; + if (s.indexOf("abstract") != -1) + access |= Opcodes.ACC_ABSTRACT; + if (s.indexOf("strict") != -1) + access |= Opcodes.ACC_STRICT; + if (s.indexOf("synthetic") != -1) + access |= Opcodes.ACC_SYNTHETIC; + if (s.indexOf("annotation") != -1) + access |= Opcodes.ACC_ANNOTATION; + if (s.indexOf("enum") != -1) + access |= Opcodes.ACC_ENUM; + if (s.indexOf("deprecated") != -1) + access |= Opcodes.ACC_DEPRECATED; + return access; + } + + } + + /** + * ClassRule + */ + private final class ClassRule extends Rule { + + public final void begin(String name, Attributes attrs) { + int major = Integer.parseInt(attrs.getValue("major")); + int minor = Integer.parseInt(attrs.getValue("minor")); + cw = new ClassWriter(computeMax); + Map vals = new HashMap(); + vals.put("version", new Integer(minor << 16 | major)); + vals.put("access", attrs.getValue("access")); + vals.put("name", attrs.getValue("name")); + vals.put("parent", attrs.getValue("parent")); + vals.put("source", attrs.getValue("source")); + vals.put("signature", attrs.getValue("signature")); + vals.put("interfaces", new ArrayList()); + push(vals); + // values will be extracted in InterfacesRule.end(); + } + + } + + private final class SourceRule extends Rule { + + public void begin(String name, Attributes attrs) { + String file = attrs.getValue("file"); + String debug = attrs.getValue("debug"); + cw.visitSource(file, debug); + } + + } + + /** + * InterfaceRule + */ + private final class InterfaceRule extends Rule { + + public final void begin(String name, Attributes attrs) { + ((List) ((Map) peek()).get("interfaces")).add(attrs.getValue("name")); + } + + } + + /** + * InterfacesRule + */ + private final class InterfacesRule extends Rule { + + public final void end(String element) { + Map vals = (Map) pop(); + int version = ((Integer) vals.get("version")).intValue(); + int access = getAccess((String) vals.get("access")); + String name = (String) vals.get("name"); + String signature = (String) vals.get("signature"); + String parent = (String) vals.get("parent"); + List infs = (List) vals.get("interfaces"); + String[] interfaces = (String[]) infs.toArray(new String[infs.size()]); + cw.visit(version, access, name, signature, parent, interfaces); + push(cw); + } + + } + + /** + * OuterClassRule + */ + private final class OuterClassRule extends Rule { + + public final void begin(String element, Attributes attrs) { + String owner = attrs.getValue("owner"); + String name = attrs.getValue("name"); + String desc = attrs.getValue("desc"); + cw.visitOuterClass(owner, name, desc); + } + + } + + /** + * InnerClassRule + */ + private final class InnerClassRule extends Rule { + + public final void begin(String element, Attributes attrs) { + int access = getAccess(attrs.getValue("access")); + String name = attrs.getValue("name"); + String outerName = attrs.getValue("outerName"); + String innerName = attrs.getValue("innerName"); + cw.visitInnerClass(name, outerName, innerName, access); + } + + } + + /** + * FieldRule + */ + private final class FieldRule extends Rule { + + public final void begin(String element, Attributes attrs) { + int access = getAccess(attrs.getValue("access")); + String name = attrs.getValue("name"); + String signature = attrs.getValue("signature"); + String desc = attrs.getValue("desc"); + Object value = getValue(desc, attrs.getValue("value")); + push(cw.visitField(access, name, desc, signature, value)); + } + + public void end(String name) { + ((FieldVisitor) pop()).visitEnd(); + } + + } + + /** + * MethodRule + */ + private final class MethodRule extends Rule { + + public final void begin(String name, Attributes attrs) { + labels = new HashMap(); + Map vals = new HashMap(); + vals.put("access", attrs.getValue("access")); + vals.put("name", attrs.getValue("name")); + vals.put("desc", attrs.getValue("desc")); + vals.put("signature", attrs.getValue("signature")); + vals.put("exceptions", new ArrayList()); + push(vals); + // values will be extracted in ExceptionsRule.end(); + } + + public final void end(String name) { + ((MethodVisitor) pop()).visitEnd(); + labels = null; + } + + } + + /** + * ExceptionRule + */ + private final class ExceptionRule extends Rule { + + public final void begin(String name, Attributes attrs) { + ((List) ((Map) peek()).get("exceptions")).add(attrs.getValue("name")); + } + + } + + /** + * ExceptionsRule + */ + private final class ExceptionsRule extends Rule { + + public final void end(String element) { + Map vals = (Map) pop(); + int access = getAccess((String) vals.get("access")); + String name = (String) vals.get("name"); + String desc = (String) vals.get("desc"); + String signature = (String) vals.get("signature"); + List excs = (List) vals.get("exceptions"); + String[] exceptions = (String[]) excs.toArray(new String[excs.size()]); + + push(cw.visitMethod(access, name, desc, signature, exceptions)); + } + + } + + /** + * TableSwitchRule + */ + private class TableSwitchRule extends Rule { + + public final void begin(String name, Attributes attrs) { + Map vals = new HashMap(); + vals.put("min", attrs.getValue("min")); + vals.put("max", attrs.getValue("max")); + vals.put("dflt", attrs.getValue("dflt")); + vals.put("labels", new ArrayList()); + push(vals); + } + + public final void end(String name) { + Map vals = (Map) pop(); + int min = Integer.parseInt((String) vals.get("min")); + int max = Integer.parseInt((String) vals.get("max")); + Label dflt = getLabel(vals.get("dflt")); + List lbls = (List) vals.get("labels"); + Label[] labels = (Label[]) lbls.toArray(new Label[lbls.size()]); + getCodeVisitor().visitTableSwitchInsn(min, max, dflt, labels); + } + + } + + /** + * TableSwitchLabelRule + */ + private final class TableSwitchLabelRule extends Rule { + + public final void begin(String name, Attributes attrs) { + ((List) ((Map) peek()).get("labels")).add(getLabel(attrs.getValue("name"))); + } + + } + + /** + * LookupSwitchRule + */ + private final class LookupSwitchRule extends Rule { + + public final void begin(String name, Attributes attrs) { + Map vals = new HashMap(); + vals.put("dflt", attrs.getValue("dflt")); + vals.put("labels", new ArrayList()); + vals.put("keys", new ArrayList()); + push(vals); + } + + public final void end(String name) { + Map vals = (Map) pop(); + Label dflt = getLabel(vals.get("dflt")); + List keyList = (List) vals.get("keys"); + List lbls = (List) vals.get("labels"); + Label[] labels = (Label[]) lbls.toArray(new Label[lbls.size()]); + int[] keys = new int[keyList.size()]; + for (int i = 0; i < keys.length; i++) { + keys[i] = Integer.parseInt((String) keyList.get(i)); + } + getCodeVisitor().visitLookupSwitchInsn(dflt, keys, labels); + } + + } + + /** + * LookupSwitchLabelRule + */ + private final class LookupSwitchLabelRule extends Rule { + + public final void begin(String name, Attributes attrs) { + Map vals = (Map) peek(); + ((List) vals.get("labels")).add(getLabel(attrs.getValue("name"))); + ((List) vals.get("keys")).add(attrs.getValue("key")); + } + + } + + /** + * LabelRule + */ + private final class LabelRule extends Rule { + + public final void begin(String name, Attributes attrs) { + getCodeVisitor().visitLabel(getLabel(attrs.getValue("name"))); + } + + } + + /** + * TryCatchRule + */ + private final class TryCatchRule extends Rule { + + public final void begin(String name, Attributes attrs) { + Label start = getLabel(attrs.getValue("start")); + Label end = getLabel(attrs.getValue("end")); + Label handler = getLabel(attrs.getValue("handler")); + String type = attrs.getValue("type"); + getCodeVisitor().visitTryCatchBlock(start, end, handler, type); + } + + } + + /** + * LineNumberRule + */ + private final class LineNumberRule extends Rule { + + public final void begin(String name, Attributes attrs) { + int line = Integer.parseInt(attrs.getValue("line")); + Label start = getLabel(attrs.getValue("start")); + getCodeVisitor().visitLineNumber(line, start); + } + + } + + /** + * LocalVarRule + */ + private final class LocalVarRule extends Rule { + + public final void begin(String element, Attributes attrs) { + String name = attrs.getValue("name"); + String desc = attrs.getValue("desc"); + String signature = attrs.getValue("signature"); + Label start = getLabel(attrs.getValue("start")); + Label end = getLabel(attrs.getValue("end")); + int var = Integer.parseInt(attrs.getValue("var")); + getCodeVisitor().visitLocalVariable(name, + desc, + signature, + start, + end, + var); + } + + } + + /** + * OpcodesRule + */ + private final class OpcodesRule extends Rule { + + // public boolean match( String match, String element) { + // return match.startsWith( path) && OPCODES.containsKey( element); + // } + + public final void begin(String element, Attributes attrs) { + Opcode o = ((Opcode) OPCODES.get(element)); + if (o == null) + return; + + switch (o.type) { + case OpcodeGroup.INSN: + getCodeVisitor().visitInsn(o.opcode); + break; + + case OpcodeGroup.INSN_FIELD: + getCodeVisitor().visitFieldInsn(o.opcode, + attrs.getValue("owner"), + attrs.getValue("name"), + attrs.getValue("desc")); + break; + + case OpcodeGroup.INSN_INT: + getCodeVisitor().visitIntInsn(o.opcode, + Integer.parseInt(attrs.getValue("value"))); + break; + + case OpcodeGroup.INSN_JUMP: + getCodeVisitor().visitJumpInsn(o.opcode, + getLabel(attrs.getValue("label"))); + break; + + case OpcodeGroup.INSN_METHOD: + getCodeVisitor().visitMethodInsn(o.opcode, + attrs.getValue("owner"), + attrs.getValue("name"), + attrs.getValue("desc")); + break; + + case OpcodeGroup.INSN_TYPE: + getCodeVisitor().visitTypeInsn(o.opcode, + attrs.getValue("desc")); + break; + + case OpcodeGroup.INSN_VAR: + getCodeVisitor().visitVarInsn(o.opcode, + Integer.parseInt(attrs.getValue("var"))); + break; + + case OpcodeGroup.INSN_IINC: + getCodeVisitor().visitIincInsn(Integer.parseInt(attrs.getValue("var")), + Integer.parseInt(attrs.getValue("inc"))); + break; + + case OpcodeGroup.INSN_LDC: + getCodeVisitor().visitLdcInsn(getValue(attrs.getValue("desc"), + attrs.getValue("cst"))); + break; + + case OpcodeGroup.INSN_MULTIANEWARRAY: + getCodeVisitor().visitMultiANewArrayInsn(attrs.getValue("desc"), + Integer.parseInt(attrs.getValue("dims"))); + break; + + default: + throw new RuntimeException("Invalid element: " + element + + " at " + match); + + } + } + } + + /** + * MaxRule + */ + private final class MaxRule extends Rule { + + public final void begin(String element, Attributes attrs) { + int maxStack = Integer.parseInt(attrs.getValue("maxStack")); + int maxLocals = Integer.parseInt(attrs.getValue("maxLocals")); + getCodeVisitor().visitMaxs(maxStack, maxLocals); + } + + } + + private final class AnnotationRule extends Rule { + + public void begin(String name, Attributes attrs) { + String desc = attrs.getValue("desc"); + boolean visible = Boolean.valueOf(attrs.getValue("visible")) + .booleanValue(); + + Object v = peek(); + if (v instanceof ClassVisitor) { + push(((ClassVisitor) v).visitAnnotation(desc, visible)); + } else if (v instanceof FieldVisitor) { + push(((FieldVisitor) v).visitAnnotation(desc, visible)); + } else if (v instanceof MethodVisitor) { + push(((MethodVisitor) v).visitAnnotation(desc, visible)); + } + } + + public void end(String name) { + ((AnnotationVisitor) pop()).visitEnd(); + } + + } + + private final class AnnotationParameterRule extends Rule { + + public void begin(String name, Attributes attrs) { + int parameter = Integer.parseInt(attrs.getValue("parameter")); + String desc = attrs.getValue("desc"); + boolean visible = Boolean.valueOf(attrs.getValue("visible")) + .booleanValue(); + + push(((MethodVisitor) peek()).visitParameterAnnotation(parameter, + desc, + visible)); + } + + public void end(String name) { + ((AnnotationVisitor) pop()).visitEnd(); + } + + } + + private final class AnnotationValueRule extends Rule { + + public void begin(String nm, Attributes attrs) { + String name = attrs.getValue("name"); + String desc = attrs.getValue("desc"); + String value = attrs.getValue("value"); + ((AnnotationVisitor) peek()).visit(name, getValue(desc, value)); + } + + } + + private final class AnnotationValueEnumRule extends Rule { + + public void begin(String nm, Attributes attrs) { + String name = attrs.getValue("name"); + String desc = attrs.getValue("desc"); + String value = attrs.getValue("value"); + ((AnnotationVisitor) peek()).visitEnum(name, desc, value); + } + + } + + private final class AnnotationValueAnnotationRule extends Rule { + + public void begin(String nm, Attributes attrs) { + String name = attrs.getValue("name"); + String desc = attrs.getValue("desc"); + push(((AnnotationVisitor) peek()).visitAnnotation(name, desc)); + } + + public void end(String name) { + ((AnnotationVisitor) pop()).visitEnd(); + } + + } + + private final class AnnotationValueArrayRule extends Rule { + + public void begin(String nm, Attributes attrs) { + String name = attrs.getValue("name"); + push(((AnnotationVisitor) peek()).visitArray(name)); + } + + public void end(String name) { + ((AnnotationVisitor) pop()).visitEnd(); + } + + } + + private final class AnnotationDefaultRule extends Rule { + + public void begin(String nm, Attributes attrs) { + push(((MethodVisitor) peek()).visitAnnotationDefault()); + } + + public void end(String name) { + ((AnnotationVisitor) pop()).visitEnd(); + } + + } + + /** + * Opcode + */ + private final static class Opcode { + public int opcode; + + public int type; + + public Opcode(int opcode, int type) { + this.opcode = opcode; + this.type = type; + } + + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/Processor.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/Processor.java new file mode 100644 index 00000000000..2baeb0f36fe --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/Processor.java @@ -0,0 +1,1048 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import java.io.BufferedOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; + +import javax.xml.transform.Source; +import javax.xml.transform.Templates; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.sax.SAXResult; +import javax.xml.transform.sax.SAXSource; +import javax.xml.transform.sax.SAXTransformerFactory; +import javax.xml.transform.sax.TransformerHandler; +import javax.xml.transform.stream.StreamSource; + +import org.objectweb.asm.ClassReader; + +import org.xml.sax.Attributes; +import org.xml.sax.ContentHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.ext.LexicalHandler; +import org.xml.sax.helpers.AttributesImpl; +import org.xml.sax.helpers.DefaultHandler; +import org.xml.sax.helpers.XMLReaderFactory; + +/** + * Processor is a command line tool that can be used for bytecode waving + * directed by XSL transformation.

      In order to use a concrete XSLT engine, + * system property javax.xml.transform.TransformerFactory must be set + * to one of the following values. + * + *

      + * + * + * + * + * + * + * + * + * + * + *
      jd.xsltjd.xml.xslt.trax.TransformerFactoryImpl
      Saxon net.sf.saxon.TransformerFactoryImpl
      Caucho com.caucho.xsl.Xsl
      Xalan interpeter org.apache.xalan.processor.TransformerFactory
      Xalan xsltc org.apache.xalan.xsltc.trax.TransformerFactoryImpl
      + * + * @author Eugene Kuleshov + */ +public class Processor { + + public static final int BYTECODE = 1; + + public static final int MULTI_XML = 2; + + public static final int SINGLE_XML = 3; + + private static final String SINGLE_XML_NAME = "classes.xml"; + + private int inRepresentation; + + private int outRepresentation; + + private InputStream input = null; + + private OutputStream output = null; + + private Source xslt = null; + + private boolean computeMax; + + private int n = 0; + + public Processor( + int inRepresenation, + int outRepresentation, + InputStream input, + OutputStream output, + Source xslt) + { + this.inRepresentation = inRepresenation; + this.outRepresentation = outRepresentation; + this.input = input; + this.output = output; + this.xslt = xslt; + this.computeMax = true; + } + + public int process() throws TransformerException, IOException, SAXException + { + ZipInputStream zis = new ZipInputStream(input); + final ZipOutputStream zos = new ZipOutputStream(output); + final OutputStreamWriter osw = new OutputStreamWriter(zos); + + Thread.currentThread() + .setContextClassLoader(getClass().getClassLoader()); + + TransformerFactory tf = TransformerFactory.newInstance(); + if (!tf.getFeature(SAXSource.FEATURE) + || !tf.getFeature(SAXResult.FEATURE)) + return 0; + + SAXTransformerFactory saxtf = (SAXTransformerFactory) tf; + Templates templates = null; + if (xslt != null) { + templates = saxtf.newTemplates(xslt); + } + + // configuring outHandlerFactory + // /////////////////////////////////////////////////////// + + EntryElement entryElement = getEntryElement(zos); + + ContentHandler outDocHandler = null; + switch (outRepresentation) { + case BYTECODE: + outDocHandler = new OutputSlicingHandler(new ASMContentHandlerFactory(zos, + computeMax), + entryElement, + false); + break; + + case MULTI_XML: + outDocHandler = new OutputSlicingHandler(new SAXWriterFactory(osw, + true), + entryElement, + true); + break; + + case SINGLE_XML: + ZipEntry outputEntry = new ZipEntry(SINGLE_XML_NAME); + zos.putNextEntry(outputEntry); + outDocHandler = new SAXWriter(osw, false); + break; + + } + + // configuring inputDocHandlerFactory + // ///////////////////////////////////////////////// + ContentHandler inDocHandler = null; + if (templates == null) { + inDocHandler = outDocHandler; + } else { + inDocHandler = new InputSlicingHandler("class", + outDocHandler, + new TransformerHandlerFactory(saxtf, + templates, + outDocHandler)); + } + ContentHandlerFactory inDocHandlerFactory = new SubdocumentHandlerFactory(inDocHandler); + + if (inDocHandler != null && inRepresentation != SINGLE_XML) { + inDocHandler.startDocument(); + inDocHandler.startElement("", + "classes", + "classes", + new AttributesImpl()); + } + + int i = 0; + ZipEntry ze = null; + while ((ze = zis.getNextEntry()) != null) { + update(ze.getName(), n++); + if (isClassEntry(ze)) { + processEntry(zis, ze, inDocHandlerFactory); + } else { + OutputStream os = entryElement.openEntry(getName(ze)); + copyEntry(zis, os); + entryElement.closeEntry(); + } + + i++; + } + + if (inDocHandler != null && inRepresentation != SINGLE_XML) { + inDocHandler.endElement("", "classes", "classes"); + inDocHandler.endDocument(); + } + + if (outRepresentation == SINGLE_XML) { + zos.closeEntry(); + } + zos.flush(); + zos.close(); + + return i; + } + + private void copyEntry(InputStream is, OutputStream os) throws IOException { + if (outRepresentation == SINGLE_XML) + return; + + byte[] buff = new byte[2048]; + int i; + while ((i = is.read(buff)) != -1) { + os.write(buff, 0, i); + } + } + + private boolean isClassEntry(ZipEntry ze) { + String name = ze.getName(); + return inRepresentation == SINGLE_XML && name.equals(SINGLE_XML_NAME) + || name.endsWith(".class") || name.endsWith(".class.xml"); + } + + private void processEntry( + final ZipInputStream zis, + ZipEntry ze, + ContentHandlerFactory handlerFactory) + { + ContentHandler handler = handlerFactory.createContentHandler(); + try { + + // if (CODE2ASM.equals(command)) { // read bytecode and process it + // // with TraceClassVisitor + // ClassReader cr = new ClassReader(readEntry(zis, ze)); + // cr.accept(new TraceClassVisitor(null, new PrintWriter(os)), + // false); + // } + + boolean singleInputDocument = inRepresentation == SINGLE_XML; + if (inRepresentation == BYTECODE) { // read bytecode and process it + // with handler + ClassReader cr = new ClassReader(readEntry(zis, ze)); + cr.accept(new SAXClassAdapter(handler, singleInputDocument), + false); + + } else { // read XML and process it with handler + XMLReader reader = XMLReaderFactory.createXMLReader(); + reader.setContentHandler(handler); + reader.parse(new InputSource(singleInputDocument + ? (InputStream) new ProtectedInputStream(zis) + : new ByteArrayInputStream(readEntry(zis, ze)))); + + } + } catch (Exception ex) { + update(ze.getName(), 0); + update(ex, 0); + } + } + + private EntryElement getEntryElement(ZipOutputStream zos) { + if (outRepresentation == SINGLE_XML) { + return new SingleDocElement(zos); + } + return new ZipEntryElement(zos); + } + + // private ContentHandlerFactory getHandlerFactory( + // OutputStream os, + // SAXTransformerFactory saxtf, + // Templates templates) + // { + // ContentHandlerFactory factory = null; + // if (templates == null) { + // if (outputRepresentation == BYTECODE) { // factory used to write + // // bytecode + // factory = new ASMContentHandlerFactory(os, computeMax); + // } else { // factory used to write XML + // factory = new SAXWriterFactory(os, true); + // } + // } else { + // if (outputRepresentation == BYTECODE) { // factory used to transform + // // and then write bytecode + // factory = new ASMTransformerHandlerFactory(saxtf, + // templates, + // os, + // computeMax); + // } else { // factory used to transformand then write XML + // factory = new TransformerHandlerFactory(saxtf, + // templates, + // os, + // outputRepresentation == SINGLE_XML); + // } + // } + // return factory; + // } + + private String getName(ZipEntry ze) { + String name = ze.getName(); + if (isClassEntry(ze)) { + if (inRepresentation != BYTECODE && outRepresentation == BYTECODE) { + name = name.substring(0, name.length() - 4); // .class.xml to + // .class + } else if (inRepresentation == BYTECODE + && outRepresentation != BYTECODE) + { + name = name.concat(".xml"); // .class to .class.xml + } + // } else if( CODE2ASM.equals( command)) { + // name = name.substring( 0, name.length()-6).concat( ".asm"); + } + return name; + } + + private byte[] readEntry(ZipInputStream zis, ZipEntry ze) + throws IOException + { + long size = ze.getSize(); + if (size > -1) { + byte[] buff = new byte[(int) size]; + int k = 0; + int n; + while(( n = zis.read(buff, k, buff.length-k)) > 0) { + k += n; + } + return buff; + } + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] buff = new byte[4096]; + int i; + while ((i = zis.read(buff)) != -1) { + bos.write(buff, 0, i); + } + return bos.toByteArray(); + } + + /* + * (non-Javadoc) + * + * @see java.util.Observer#update(java.util.Observable, java.lang.Object) + */ + protected void update(Object arg, int n) { + if (arg instanceof Throwable) { + ((Throwable) arg).printStackTrace(); + } else { + if ((n % 100) == 0) { + System.err.println(n + " " + arg); + } + } + } + + public static void main(String[] args) throws Exception { + if (args.length < 2) { + showUsage(); + return; + } + + int inRepresentation = getRepresentation(args[0]); + int outRepresentation = getRepresentation(args[1]); + + InputStream is = System.in; + OutputStream os = new BufferedOutputStream(System.out); + + Source xslt = null; + // boolean computeMax = true; + + for (int i = 2; i < args.length; i++) { + if ("-in".equals(args[i])) { + is = new FileInputStream(args[++i]); + + } else if ("-out".equals(args[i])) { + os = new BufferedOutputStream(new FileOutputStream(args[++i])); + + } else if ("-xslt".equals(args[i])) { + xslt = new StreamSource(new FileInputStream(args[++i])); + + // } else if( "-computemax".equals( args[ i].toLowerCase())) { + // computeMax = true; + + } else { + showUsage(); + return; + + } + } + + if (inRepresentation == 0 || outRepresentation == 0) { + showUsage(); + return; + } + + Processor m = new Processor(inRepresentation, + outRepresentation, + is, + os, + xslt); + + long l1 = System.currentTimeMillis(); + int n = m.process(); + long l2 = System.currentTimeMillis(); + System.err.println(n); + System.err.println("" + (l2 - l1) + "ms " + (1000f * n / (l2 - l1)) + + " resources/sec"); + } + + private static int getRepresentation(String s) { + if ("code".equals(s)) { + return BYTECODE; + } else if ("xml".equals(s)) { + return MULTI_XML; + } else if ("singlexml".equals(s)) { + return SINGLE_XML; + } + return 0; + } + + private static void showUsage() { + System.err.println("Usage: Main [-in ] [-out ] [-xslt ]"); + System.err.println(" when -in or -out is omitted sysin and sysout would be used"); + System.err.println(" and - code | xml | singlexml"); + } + + /** + * IputStream wrapper class used to protect input streams from being closed + * by some stupid XML parsers. + */ + private static final class ProtectedInputStream extends InputStream { + private final InputStream is; + + private ProtectedInputStream(InputStream is) { + super(); + this.is = is; + } + + public final void close() throws IOException { + } + + public final int read() throws IOException { + return is.read(); + } + + public final int read(byte[] b, int off, int len) throws IOException { + return is.read(b, off, len); + } + + public final int available() throws IOException { + return is.available(); + } + } + + /** + * A {@link ContentHandlerFactory ContentHandlerFactory} is used to create + * {@link org.xml.sax.ContentHandler ContentHandler} instances for concrete + * context. + */ + private static interface ContentHandlerFactory { + + /** + * Creates an instance of the content handler. + * + * @return content handler + */ + ContentHandler createContentHandler(); + + } + + /** + * SAXWriterFactory + */ + private static final class SAXWriterFactory implements + ContentHandlerFactory + { + private Writer w; + + private boolean optimizeEmptyElements; + + public SAXWriterFactory(Writer w, boolean optimizeEmptyElements) { + this.w = w; + this.optimizeEmptyElements = optimizeEmptyElements; + } + + public final ContentHandler createContentHandler() { + return new SAXWriter(w, optimizeEmptyElements); + } + + } + + /** + * ASMContentHandlerFactory + */ + private static final class ASMContentHandlerFactory implements + ContentHandlerFactory + { + private OutputStream os; + + private boolean computeMax; + + public ASMContentHandlerFactory(OutputStream os, boolean computeMax) { + this.os = os; + this.computeMax = computeMax; + } + + public final ContentHandler createContentHandler() { + return new ASMContentHandler(os, computeMax); + } + + } + + /** + * TransformerHandlerFactory + */ + private static final class TransformerHandlerFactory implements + ContentHandlerFactory + { + private SAXTransformerFactory saxtf; + + private Templates templates; + + private ContentHandler outputHandler; + + public TransformerHandlerFactory( + SAXTransformerFactory saxtf, + Templates templates, + ContentHandler outputHandler) + { + this.saxtf = saxtf; + this.templates = templates; + this.outputHandler = outputHandler; + } + + public final ContentHandler createContentHandler() { + try { + TransformerHandler handler = saxtf.newTransformerHandler(templates); + handler.setResult(new SAXResult(outputHandler)); + return handler; + } catch (TransformerConfigurationException ex) { + throw new RuntimeException(ex.toString()); + } + } + } + + /** + * SubdocumentHandlerFactory + */ + private final static class SubdocumentHandlerFactory implements + ContentHandlerFactory + { + private ContentHandler subdocumentHandler; + + public SubdocumentHandlerFactory(ContentHandler subdocumentHandler) { + this.subdocumentHandler = subdocumentHandler; + } + + public final ContentHandler createContentHandler() { + return subdocumentHandler; + } + + } + + /** + * A {@link org.xml.sax.ContentHandler ContentHandler} and + * {@link org.xml.sax.ext.LexicalHandler LexicalHandler} that serializes XML + * from SAX 2.0 events into {@link java.io.Writer Writer}. + * + *
      This implementation does not support namespaces, entity + * definitions (uncluding DTD), CDATA and text elements.
      + */ + private final static class SAXWriter extends DefaultHandler implements + LexicalHandler + { + private static final char[] OFF = " ".toCharArray(); + + private Writer w; + + private boolean optimizeEmptyElements; + + private boolean openElement = false; + + private int ident = 0; + + /** + * Creates SAXWriter. + * + * @param w writer + * @param optimizeEmptyElements if set to true, short + * XML syntax will be used for empty elements + */ + public SAXWriter(Writer w, boolean optimizeEmptyElements) { + this.w = w; + this.optimizeEmptyElements = optimizeEmptyElements; + } + + public final void startElement( + String ns, + String localName, + String qName, + Attributes atts) throws SAXException + { + try { + closeElement(); + + writeIdent(); + w.write("<".concat(qName)); + if (atts != null && atts.getLength() > 0) + writeAttributes(atts); + + if (!optimizeEmptyElements) { + w.write(">\n"); + } else { + openElement = true; + } + ident += 2; + + } catch (IOException ex) { + throw new SAXException(ex); + + } + } + + public final void endElement(String ns, String localName, String qName) + throws SAXException + { + ident -= 2; + try { + if (openElement) { + w.write("/>\n"); + openElement = false; + } else { + writeIdent(); + w.write("\n"); + } + + } catch (IOException ex) { + throw new SAXException(ex); + + } + } + + public final void endDocument() throws SAXException { + try { + w.flush(); + + } catch (IOException ex) { + throw new SAXException(ex); + + } + } + + public final void comment(char[] ch, int off, int len) + throws SAXException + { + try { + closeElement(); + + writeIdent(); + w.write("\n"); + + } catch (IOException ex) { + throw new SAXException(ex); + + } + } + + public final void startDTD(String arg0, String arg1, String arg2) + throws SAXException + { + } + + public final void endDTD() throws SAXException { + } + + public final void startEntity(String arg0) throws SAXException { + } + + public final void endEntity(String arg0) throws SAXException { + } + + public final void startCDATA() throws SAXException { + } + + public final void endCDATA() throws SAXException { + } + + private final void writeAttributes(Attributes atts) throws IOException { + StringBuffer sb = new StringBuffer(); + int len = atts.getLength(); + for (int i = 0; i < len; i++) { + sb.append(" ") + .append(atts.getLocalName(i)) + .append("=\"") + .append(esc(atts.getValue(i))) + .append("\""); + } + w.write(sb.toString()); + } + + /** + * Encode string with escaping. + * + * @param str string to encode. + * @return encoded string + */ + private final String esc(String str) { + StringBuffer sb = new StringBuffer(str.length()); + for (int i = 0; i < str.length(); i++) { + char ch = str.charAt(i); + switch (ch) { + case '&': + sb.append("&"); + break; + + case '<': + sb.append("<"); + break; + + case '>': + sb.append(">"); + break; + + case '\"': + sb.append("""); + break; + + default: + if (ch > 0x7f) { + sb.append("&#") + .append(Integer.toString(ch)) + .append(';'); + } else { + sb.append(ch); + } + + } + } + return sb.toString(); + } + + private final void writeIdent() throws IOException { + int n = ident; + while (n > 0) { + if (n > OFF.length) { + w.write(OFF); + n -= OFF.length; + } else { + w.write(OFF, 0, n); + n = 0; + } + } + } + + private final void closeElement() throws IOException { + if (openElement) { + w.write(">\n"); + } + openElement = false; + } + + } + + /** + * A {@link org.xml.sax.ContentHandler ContentHandler} that splits XML + * documents into smaller chunks. Each chunk is processed by the nested + * {@link org.xml.sax.ContentHandler ContentHandler} obtained from + * {@link java.net.ContentHandlerFactory ContentHandlerFactory}. This is + * useful for running XSLT engine against large XML document that will + * hardly fit into the memory all together.

      TODO use complete path for + * subdocumentRoot + */ + private final static class InputSlicingHandler extends DefaultHandler { + private String subdocumentRoot; + + private ContentHandler rootHandler; + + private ContentHandlerFactory subdocumentHandlerFactory; + + private boolean subdocument = false; + + private ContentHandler subdocumentHandler; + + /** + * Constructs a new {@link InputSlicingHandler SubdocumentHandler} + * object. + * + * @param subdocumentRoot name/path to the root element of the + * subdocument + * @param rootHandler content handler for the entire document + * (subdocument envelope). + * @param subdocumentHandlerFactory a + * {@link ContentHandlerFactory ContentHandlerFactory} used to + * create {@link ContentHandler ContentHandler} instances for + * subdocuments. + */ + public InputSlicingHandler( + String subdocumentRoot, + ContentHandler rootHandler, + ContentHandlerFactory subdocumentHandlerFactory) + { + this.subdocumentRoot = subdocumentRoot; + this.rootHandler = rootHandler; + this.subdocumentHandlerFactory = subdocumentHandlerFactory; + } + + public final void startElement( + String namespaceURI, + String localName, + String qName, + Attributes list) throws SAXException + { + if (subdocument) { + subdocumentHandler.startElement(namespaceURI, + localName, + qName, + list); + } else if (localName.equals(subdocumentRoot)) { + subdocumentHandler = subdocumentHandlerFactory.createContentHandler(); + subdocumentHandler.startDocument(); + subdocumentHandler.startElement(namespaceURI, + localName, + qName, + list); + subdocument = true; + } else if (rootHandler != null) { + rootHandler.startElement(namespaceURI, localName, qName, list); + } + } + + public final void endElement( + String namespaceURI, + String localName, + String qName) throws SAXException + { + if (subdocument) { + subdocumentHandler.endElement(namespaceURI, localName, qName); + if (localName.equals(subdocumentRoot)) { + subdocumentHandler.endDocument(); + subdocument = false; + } + } else if (rootHandler != null) { + rootHandler.endElement(namespaceURI, localName, qName); + } + } + + public final void startDocument() throws SAXException { + if (rootHandler != null) { + rootHandler.startDocument(); + } + } + + public final void endDocument() throws SAXException { + if (rootHandler != null) { + rootHandler.endDocument(); + + } + } + + public final void characters(char[] buff, int offset, int size) + throws SAXException + { + if (subdocument) { + subdocumentHandler.characters(buff, offset, size); + } else if (rootHandler != null) { + rootHandler.characters(buff, offset, size); + } + } + + } + + /** + * A {@link org.xml.sax.ContentHandler ContentHandler} that splits XML + * documents into smaller chunks. Each chunk is processed by the nested + * {@link org.xml.sax.ContentHandler ContentHandler} obtained from + * {@link java.net.ContentHandlerFactory ContentHandlerFactory}. This is + * useful for running XSLT engine against large XML document that will + * hardly fit into the memory all together.

      TODO use complete path for + * subdocumentRoot + */ + private static final class OutputSlicingHandler extends DefaultHandler { + private String subdocumentRoot; + + private ContentHandlerFactory subdocumentHandlerFactory; + + private EntryElement entryElement; + + private boolean isXml; + + private boolean subdocument = false; + + private ContentHandler subdocumentHandler; + + /** + * Constructs a new {@link OutputSlicingHandler SubdocumentHandler} + * object. + * + * @param subdocumentHandlerFactory a + * {@link ContentHandlerFactory ContentHandlerFactory} used to + * create {@link ContentHandler ContentHandler} instances for + * subdocuments. + * @param entryElement TODO. + * @param isXml TODO. + */ + public OutputSlicingHandler( + ContentHandlerFactory subdocumentHandlerFactory, + EntryElement entryElement, + boolean isXml) + { + this.subdocumentRoot = "class"; + this.subdocumentHandlerFactory = subdocumentHandlerFactory; + this.entryElement = entryElement; + this.isXml = isXml; + } + + public final void startElement( + String namespaceURI, + String localName, + String qName, + Attributes list) throws SAXException + { + if (subdocument) { + subdocumentHandler.startElement(namespaceURI, + localName, + qName, + list); + } else if (localName.equals(subdocumentRoot)) { + String name = list.getValue("name"); + if (name == null || name.length() == 0) + throw new SAXException("Class element without name attribute."); + try { + entryElement.openEntry(isXml + ? name.concat(".class.xml") + : name.concat(".class")); + } catch (IOException ex) { + throw new SAXException(ex.toString(), ex); + } + subdocumentHandler = subdocumentHandlerFactory.createContentHandler(); + subdocumentHandler.startDocument(); + subdocumentHandler.startElement(namespaceURI, + localName, + qName, + list); + subdocument = true; + } + } + + public final void endElement( + String namespaceURI, + String localName, + String qName) throws SAXException + { + if (subdocument) { + subdocumentHandler.endElement(namespaceURI, localName, qName); + if (localName.equals(subdocumentRoot)) { + subdocumentHandler.endDocument(); + subdocument = false; + try { + entryElement.closeEntry(); + } catch (IOException ex) { + throw new SAXException(ex.toString(), ex); + } + } + } + } + + public final void startDocument() throws SAXException { + } + + public final void endDocument() throws SAXException { + } + + public final void characters(char[] buff, int offset, int size) + throws SAXException + { + if (subdocument) { + subdocumentHandler.characters(buff, offset, size); + } + } + + } + + private static interface EntryElement { + + OutputStream openEntry(String name) throws IOException; + + void closeEntry() throws IOException; + + } + + private static final class SingleDocElement implements EntryElement { + private OutputStream os; + + public SingleDocElement(OutputStream os) { + this.os = os; + } + + public OutputStream openEntry(String name) throws IOException { + return os; + } + + public void closeEntry() throws IOException { + os.flush(); + } + + } + + private static final class ZipEntryElement implements EntryElement { + private ZipOutputStream zos; + + public ZipEntryElement(ZipOutputStream zos) { + this.zos = zos; + } + + public OutputStream openEntry(String name) throws IOException { + ZipEntry entry = new ZipEntry(name); + zos.putNextEntry(entry); + return zos; + } + + public void closeEntry() throws IOException { + zos.flush(); + zos.closeEntry(); + } + + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAdapter.java new file mode 100644 index 00000000000..c8f6ecb994b --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAdapter.java @@ -0,0 +1,91 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import org.xml.sax.Attributes; +import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; + +/** + * SAXAdapter + * + * @author Eugene Kuleshov + */ +public abstract class SAXAdapter { + private final ContentHandler h; + + public SAXAdapter(ContentHandler h) { + this.h = h; + } + + protected ContentHandler getContentHandler() { + return h; + } + + protected final void addEnd(String name) { + try { + h.endElement("", name, name); + } catch (SAXException ex) { + throw new RuntimeException(ex.toString()); + } + } + + protected final void addStart(String name, Attributes attrs) { + try { + h.startElement("", name, name, attrs); + } catch (SAXException ex) { + throw new RuntimeException(ex.toString()); + } + } + + protected final void addElement(String name, Attributes attrs) { + addStart(name, attrs); + addEnd(name); + } + + protected void addDocumentStart() { + try { + h.startDocument(); + } catch (SAXException ex) { + throw new RuntimeException(ex.getException()); + } + } + + protected void addDocumentEnd() { + try { + h.endDocument(); + } catch (SAXException ex) { + // ex.getException().printStackTrace(); + // ex.printStackTrace(); + throw new RuntimeException(ex.toString()); + } + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.java new file mode 100644 index 00000000000..e7382414b2c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.java @@ -0,0 +1,191 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Type; +import org.xml.sax.ContentHandler; +import org.xml.sax.helpers.AttributesImpl; + +/** + * SAXAnnotationAdapter + * + * @author Eugene Kuleshov + */ +public class SAXAnnotationAdapter extends SAXAdapter implements + AnnotationVisitor +{ + private final String elementName; + + public SAXAnnotationAdapter( + ContentHandler h, + String elementName, + int visible, + String name, + String desc) + { + this(h, elementName, visible, desc, name, -1); + } + + public SAXAnnotationAdapter( + ContentHandler h, + String elementName, + int visible, + int parameter, + String desc) + { + this(h, elementName, visible, desc, null, parameter); + } + + private SAXAnnotationAdapter( + ContentHandler h, + String elementName, + int visible, + String desc, + String name, + int parameter) + { + super(h); + this.elementName = elementName; + + AttributesImpl att = new AttributesImpl(); + if (name != null) + att.addAttribute("", "name", "name", "", name); + if (visible != 0) + att.addAttribute("", "visible", "visible", "", visible > 0 + ? "true" + : "false"); + if (parameter != -1) + att.addAttribute("", + "parameter", + "parameter", + "", + Integer.toString(parameter)); + if (desc != null) + att.addAttribute("", "desc", "desc", "", desc); + + addStart(elementName, att); + } + + public void visit(String name, Object value) { + Class c = value.getClass(); + if (c.isArray()) { + AnnotationVisitor av = visitArray(name); + if (value instanceof byte[]) { + byte[] b = (byte[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, new Byte(b[i])); + + } else if (value instanceof char[]) { + char[] b = (char[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, new Character(b[i])); + + } else if (value instanceof boolean[]) { + boolean[] b = (boolean[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, Boolean.valueOf(b[i])); + + } else if (value instanceof int[]) { + int[] b = (int[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, new Integer(b[i])); + + } else if (value instanceof long[]) { + long[] b = (long[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, new Long(b[i])); + + } else if (value instanceof float[]) { + float[] b = (float[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, new Float(b[i])); + + } else if (value instanceof double[]) { + double[] b = (double[]) value; + for (int i = 0; i < b.length; i++) + av.visit(null, new Double(b[i])); + + } + av.visitEnd(); + } else { + addValueElement("annotationValue", + name, + Type.getDescriptor(c), + value.toString()); + } + } + + public void visitEnum(String name, String desc, String value) { + addValueElement("annotationValueEnum", name, desc, value); + } + + public AnnotationVisitor visitAnnotation(String name, String desc) { + return new SAXAnnotationAdapter(getContentHandler(), + "annotationValueAnnotation", + 0, + name, + desc); + } + + public AnnotationVisitor visitArray(String name) { + return new SAXAnnotationAdapter(getContentHandler(), + "annotationValueArray", + 0, + name, + null); + } + + public void visitEnd() { + addEnd(elementName); + } + + private void addValueElement( + String element, + String name, + String desc, + String value) + { + AttributesImpl att = new AttributesImpl(); + if (name != null) + att.addAttribute("", "name", "name", "", name); + if (desc != null) + att.addAttribute("", "desc", "desc", "", desc); + if (value != null) + att.addAttribute("", + "value", + "value", + "", + SAXClassAdapter.encode(value)); + + addElement(element, att); + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXClassAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXClassAdapter.java new file mode 100644 index 00000000000..ba362d0606d --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXClassAdapter.java @@ -0,0 +1,351 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.xml.sax.ContentHandler; +import org.xml.sax.helpers.AttributesImpl; + +/** + * A {@link org.objectweb.asm.ClassVisitor ClassVisitor} that generates SAX 2.0 + * events from the visited class. It can feed any kind of + * {@link org.xml.sax.ContentHandler ContentHandler}, e.g. XML serializer, XSLT + * or XQuery engines. + * + * @see org.objectweb.asm.xml.Processor + * @see org.objectweb.asm.xml.ASMContentHandler + * + * @author Eugene Kuleshov + */ +public final class SAXClassAdapter extends SAXAdapter implements ClassVisitor { + private boolean singleDocument; + + /** + * Constructs a new {@link SAXClassAdapter SAXClassAdapter} object. + * + * @param h content handler that will be used to send SAX 2.0 events. + * @param singleDocument if true adapter will not produce + * {@link ContentHandler#startDocument() startDocument()} and + * {@link ContentHandler#endDocument() endDocument()} events. + */ + public SAXClassAdapter(ContentHandler h, boolean singleDocument) { + super(h); + this.singleDocument = singleDocument; + if (!singleDocument) { + addDocumentStart(); + } + } + + public void visitSource(String source, String debug) { + if (source == null && debug == null) { + return; + } + + AttributesImpl att = new AttributesImpl(); + if (source != null) + att.addAttribute("", "file", "file", "", encode(source)); + if (debug != null) + att.addAttribute("", "debug", "debug", "", encode(debug)); + + addElement("source", att); + } + + public void visitOuterClass(String owner, String name, String desc) { + AttributesImpl att = new AttributesImpl(); + att.addAttribute("", "owner", "owner", "", owner); + if (name != null) + att.addAttribute("", "name", "name", "", name); + if (desc != null) + att.addAttribute("", "desc", "desc", "", desc); + + addElement("outerclass", att); + } + + public final void visitAttribute(Attribute attr) { + // TODO Auto-generated SAXClassAdapter.visitAttribute + } + + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + return new SAXAnnotationAdapter(getContentHandler(), + "annotation", + visible ? 1 : -1, + null, + desc); + } + + public void visit( + int version, + int access, + String name, + String signature, + String superName, + String[] interfaces) + { + StringBuffer sb = new StringBuffer(); + if ((access & Opcodes.ACC_PUBLIC) != 0) + sb.append("public "); + if ((access & Opcodes.ACC_PRIVATE) != 0) + sb.append("private "); + if ((access & Opcodes.ACC_PROTECTED) != 0) + sb.append("protected "); + if ((access & Opcodes.ACC_FINAL) != 0) + sb.append("final "); + if ((access & Opcodes.ACC_SUPER) != 0) + sb.append("super "); + if ((access & Opcodes.ACC_INTERFACE) != 0) + sb.append("interface "); + if ((access & Opcodes.ACC_ABSTRACT) != 0) + sb.append("abstract "); + if ((access & Opcodes.ACC_SYNTHETIC) != 0) + sb.append("synthetic "); + if ((access & Opcodes.ACC_ANNOTATION) != 0) + sb.append("annotation "); + if ((access & Opcodes.ACC_ENUM) != 0) + sb.append("enum "); + if ((access & Opcodes.ACC_DEPRECATED) != 0) + sb.append("deprecated "); + + AttributesImpl att = new AttributesImpl(); + att.addAttribute("", "access", "access", "", sb.toString()); + if (name != null) + att.addAttribute("", "name", "name", "", name); + if (signature != null) + att.addAttribute("", + "signature", + "signature", + "", + encode(signature)); + if (superName != null) + att.addAttribute("", "parent", "parent", "", superName); + att.addAttribute("", + "major", + "major", + "", + Integer.toString(version & 0xFFFF)); + att.addAttribute("", + "minor", + "minor", + "", + Integer.toString(version >>> 16)); + addStart("class", att); + + addStart("interfaces", new AttributesImpl()); + if (interfaces != null && interfaces.length > 0) { + for (int i = 0; i < interfaces.length; i++) { + AttributesImpl att2 = new AttributesImpl(); + att2.addAttribute("", "name", "name", "", interfaces[i]); + addElement("interface", att2); + } + } + addEnd("interfaces"); + } + + public FieldVisitor visitField( + int access, + String name, + String desc, + String signature, + Object value) + { + StringBuffer sb = new StringBuffer(); + if ((access & Opcodes.ACC_PUBLIC) != 0) + sb.append("public "); + if ((access & Opcodes.ACC_PRIVATE) != 0) + sb.append("private "); + if ((access & Opcodes.ACC_PROTECTED) != 0) + sb.append("protected "); + if ((access & Opcodes.ACC_STATIC) != 0) + sb.append("static "); + if ((access & Opcodes.ACC_FINAL) != 0) + sb.append("final "); + if ((access & Opcodes.ACC_VOLATILE) != 0) + sb.append("volatile "); + if ((access & Opcodes.ACC_TRANSIENT) != 0) + sb.append("transient "); + if ((access & Opcodes.ACC_SYNTHETIC) != 0) + sb.append("synthetic "); + if ((access & Opcodes.ACC_ENUM) != 0) + sb.append("enum "); + if ((access & Opcodes.ACC_DEPRECATED) != 0) + sb.append("deprecated "); + + AttributesImpl att = new AttributesImpl(); + att.addAttribute("", "access", "access", "", sb.toString()); + att.addAttribute("", "name", "name", "", name); + att.addAttribute("", "desc", "desc", "", desc); + if (signature != null) + att.addAttribute("", + "signature", + "signature", + "", + encode(signature)); + if (value != null) { + att.addAttribute("", "value", "value", "", encode(value.toString())); + } + + return new SAXFieldAdapter(getContentHandler(), att); + } + + public MethodVisitor visitMethod( + int access, + String name, + String desc, + String signature, + String[] exceptions) + { + StringBuffer sb = new StringBuffer(); + if ((access & Opcodes.ACC_PUBLIC) != 0) + sb.append("public "); + if ((access & Opcodes.ACC_PRIVATE) != 0) + sb.append("private "); + if ((access & Opcodes.ACC_PROTECTED) != 0) + sb.append("protected "); + if ((access & Opcodes.ACC_STATIC) != 0) + sb.append("static "); + if ((access & Opcodes.ACC_FINAL) != 0) + sb.append("final "); + if ((access & Opcodes.ACC_SYNCHRONIZED) != 0) + sb.append("synchronized "); + if ((access & Opcodes.ACC_BRIDGE) != 0) + sb.append("bridge "); + if ((access & Opcodes.ACC_VARARGS) != 0) + sb.append("varargs "); + if ((access & Opcodes.ACC_NATIVE) != 0) + sb.append("native "); + if ((access & Opcodes.ACC_ABSTRACT) != 0) + sb.append("abstract "); + if ((access & Opcodes.ACC_STRICT) != 0) + sb.append("strict "); + if ((access & Opcodes.ACC_SYNTHETIC) != 0) + sb.append("synthetic "); + if ((access & Opcodes.ACC_DEPRECATED) != 0) + sb.append("deprecated "); + + AttributesImpl att = new AttributesImpl(); + att.addAttribute("", "access", "access", "", sb.toString()); + att.addAttribute("", "name", "name", "", name); + att.addAttribute("", "desc", "desc", "", desc); + if (signature != null) { + att.addAttribute("", "signature", "signature", "", signature); + } + addStart("method", att); + + addStart("exceptions", new AttributesImpl()); + if (exceptions != null && exceptions.length > 0) { + for (int i = 0; i < exceptions.length; i++) { + AttributesImpl att2 = new AttributesImpl(); + att2.addAttribute("", "name", "name", "", exceptions[i]); + addElement("exception", att2); + } + } + addEnd("exceptions"); + + return new SAXCodeAdapter(getContentHandler(), access); + } + + public final void visitInnerClass( + String name, + String outerName, + String innerName, + int access) + { + StringBuffer sb = new StringBuffer(); + if ((access & Opcodes.ACC_PUBLIC) != 0) + sb.append("public "); + if ((access & Opcodes.ACC_PRIVATE) != 0) + sb.append("private "); + if ((access & Opcodes.ACC_PROTECTED) != 0) + sb.append("protected "); + if ((access & Opcodes.ACC_STATIC) != 0) + sb.append("static "); + if ((access & Opcodes.ACC_FINAL) != 0) + sb.append("final "); + if ((access & Opcodes.ACC_SUPER) != 0) + sb.append("super "); + if ((access & Opcodes.ACC_INTERFACE) != 0) + sb.append("interface "); + if ((access & Opcodes.ACC_ABSTRACT) != 0) + sb.append("abstract "); + if ((access & Opcodes.ACC_SYNTHETIC) != 0) + sb.append("synthetic "); + if ((access & Opcodes.ACC_ANNOTATION) != 0) + sb.append("annotation "); + if ((access & Opcodes.ACC_ENUM) != 0) + sb.append("enum "); + if ((access & Opcodes.ACC_DEPRECATED) != 0) + sb.append("deprecated "); + + AttributesImpl att = new AttributesImpl(); + att.addAttribute("", "access", "access", "", sb.toString()); + if (name != null) + att.addAttribute("", "name", "name", "", name); + if (outerName != null) + att.addAttribute("", "outerName", "outerName", "", outerName); + if (innerName != null) + att.addAttribute("", "innerName", "innerName", "", innerName); + addElement("innerclass", att); + } + + public final void visitEnd() { + addEnd("class"); + if (!singleDocument) { + addDocumentEnd(); + } + } + + static final String encode(String s) { + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (c == '\\') { + sb.append("\\\\"); + } else if (c < 0x20 || c > 0x7f) { + sb.append("\\u"); + if (c < 0x10) { + sb.append("000"); + } else if (c < 0x100) { + sb.append("00"); + } else if (c < 0x1000) { + sb.append("0"); + } + sb.append(Integer.toString(c, 16)); + } else { + sb.append(c); + } + } + return sb.toString(); + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXCodeAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXCodeAdapter.java new file mode 100644 index 00000000000..abea7fbf41f --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXCodeAdapter.java @@ -0,0 +1,310 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import java.util.HashMap; +import java.util.Map; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Label; +import org.objectweb.asm.Type; +import org.objectweb.asm.util.AbstractVisitor; +import org.xml.sax.ContentHandler; +import org.xml.sax.helpers.AttributesImpl; + +/** + * A {@link MethodVisitor} that generates SAX 2.0 events from the visited + * method. + * + * @see org.objectweb.asm.xml.SAXClassAdapter + * @see org.objectweb.asm.xml.Processor + * + * @author Eugene Kuleshov + */ +public final class SAXCodeAdapter extends SAXAdapter implements MethodVisitor { + private Map labelNames; + + /** + * Constructs a new {@link SAXCodeAdapter SAXCodeAdapter} object. + * + * @param h content handler that will be used to send SAX 2.0 events. + * @param access + */ + public SAXCodeAdapter(ContentHandler h, int access) { + super(h); + labelNames = new HashMap(); + + if ((access & (Opcodes.ACC_ABSTRACT | Opcodes.ACC_INTERFACE | Opcodes.ACC_NATIVE)) == 0) + { + addStart("code", new AttributesImpl()); + } + } + + public final void visitCode() { + } + + public final void visitInsn(int opcode) { + addElement(AbstractVisitor.OPCODES[opcode], new AttributesImpl()); + } + + public final void visitIntInsn(int opcode, int operand) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "value", "value", "", Integer.toString(operand)); + addElement(AbstractVisitor.OPCODES[opcode], attrs); + } + + public final void visitVarInsn(int opcode, int var) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "var", "var", "", Integer.toString(var)); + addElement(AbstractVisitor.OPCODES[opcode], attrs); + } + + public final void visitTypeInsn(int opcode, String desc) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "desc", "desc", "", desc); + addElement(AbstractVisitor.OPCODES[opcode], attrs); + } + + public final void visitFieldInsn( + int opcode, + String owner, + String name, + String desc) + { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "owner", "owner", "", owner); + attrs.addAttribute("", "name", "name", "", name); + attrs.addAttribute("", "desc", "desc", "", desc); + addElement(AbstractVisitor.OPCODES[opcode], attrs); + } + + public final void visitMethodInsn( + int opcode, + String owner, + String name, + String desc) + { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "owner", "owner", "", owner); + attrs.addAttribute("", "name", "name", "", name); + attrs.addAttribute("", "desc", "desc", "", desc); + addElement(AbstractVisitor.OPCODES[opcode], attrs); + } + + public final void visitJumpInsn(int opcode, Label label) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "label", "label", "", getLabel(label)); + addElement(AbstractVisitor.OPCODES[opcode], attrs); + } + + public final void visitLabel(Label label) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "name", "name", "", getLabel(label)); + addElement("Label", attrs); + } + + public final void visitLdcInsn(Object cst) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", + "cst", + "cst", + "", + SAXClassAdapter.encode(cst.toString())); + attrs.addAttribute("", + "desc", + "desc", + "", + Type.getDescriptor(cst.getClass())); + addElement(AbstractVisitor.OPCODES[Opcodes.LDC], attrs); + } + + public final void visitIincInsn(int var, int increment) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "var", "var", "", Integer.toString(var)); + attrs.addAttribute("", "inc", "inc", "", Integer.toString(increment)); + addElement(AbstractVisitor.OPCODES[Opcodes.IINC], attrs); + } + + public final void visitTableSwitchInsn( + int min, + int max, + Label dflt, + Label[] labels) + { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "min", "min", "", Integer.toString(min)); + attrs.addAttribute("", "max", "max", "", Integer.toString(max)); + attrs.addAttribute("", "dflt", "dflt", "", getLabel(dflt)); + String o = AbstractVisitor.OPCODES[Opcodes.TABLESWITCH]; + addStart(o, attrs); + for (int i = 0; i < labels.length; i++) { + AttributesImpl att2 = new AttributesImpl(); + att2.addAttribute("", "name", "name", "", getLabel(labels[i])); + addElement("label", att2); + } + addEnd(o); + } + + public final void visitLookupSwitchInsn( + Label dflt, + int[] keys, + Label[] labels) + { + AttributesImpl att = new AttributesImpl(); + att.addAttribute("", "dflt", "dflt", "", getLabel(dflt)); + String o = AbstractVisitor.OPCODES[Opcodes.LOOKUPSWITCH]; + addStart(o, att); + for (int i = 0; i < labels.length; i++) { + AttributesImpl att2 = new AttributesImpl(); + att2.addAttribute("", "name", "name", "", getLabel(labels[i])); + att2.addAttribute("", "key", "key", "", Integer.toString(keys[i])); + addElement("label", att2); + } + addEnd(o); + } + + public final void visitMultiANewArrayInsn(String desc, int dims) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "desc", "desc", "", desc); + attrs.addAttribute("", "dims", "dims", "", Integer.toString(dims)); + addElement(AbstractVisitor.OPCODES[Opcodes.MULTIANEWARRAY], attrs); + } + + public final void visitTryCatchBlock( + Label start, + Label end, + Label handler, + String type) + { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "start", "start", "", getLabel(start)); + attrs.addAttribute("", "end", "end", "", getLabel(end)); + attrs.addAttribute("", "handler", "handler", "", getLabel(handler)); + if (type != null) + attrs.addAttribute("", "type", "type", "", type); + addElement("TryCatch", attrs); + } + + public final void visitMaxs(int maxStack, int maxLocals) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", + "maxStack", + "maxStack", + "", + Integer.toString(maxStack)); + attrs.addAttribute("", + "maxLocals", + "maxLocals", + "", + Integer.toString(maxLocals)); + addElement("Max", attrs); + + addEnd("code"); + } + + public void visitLocalVariable( + String name, + String desc, + String signature, + Label start, + Label end, + int index) + { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "name", "name", "", name); + attrs.addAttribute("", "desc", "desc", "", desc); + if (signature != null) + attrs.addAttribute("", + "signature", + "signature", + "", + SAXClassAdapter.encode(signature)); + attrs.addAttribute("", "start", "start", "", getLabel(start)); + attrs.addAttribute("", "end", "end", "", getLabel(end)); + attrs.addAttribute("", "var", "var", "", Integer.toString(index)); + addElement("LocalVar", attrs); + } + + public final void visitLineNumber(int line, Label start) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "line", "line", "", Integer.toString(line)); + attrs.addAttribute("", "start", "start", "", getLabel(start)); + addElement("LineNumber", attrs); + } + + public AnnotationVisitor visitAnnotationDefault() { + return new SAXAnnotationAdapter(getContentHandler(), + "annotationDefault", + 0, + null, + null); + } + + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + return new SAXAnnotationAdapter(getContentHandler(), + "annotation", + visible ? 1 : -1, + null, + desc); + } + + public AnnotationVisitor visitParameterAnnotation( + int parameter, + String desc, + boolean visible) + { + return new SAXAnnotationAdapter(getContentHandler(), + "parameterAnnotation", + visible ? 1 : -1, + parameter, + desc); + } + + public void visitEnd() { + addEnd("method"); + } + + public final void visitAttribute(Attribute attr) { + // TODO Auto-generated SAXCodeAdapter.visitAttribute + } + + private final String getLabel(Label label) { + String name = (String) labelNames.get(label); + if (name == null) { + name = Integer.toString(labelNames.size()); + labelNames.put(label, name); + } + return name; + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXFieldAdapter.java b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXFieldAdapter.java new file mode 100644 index 00000000000..eabf00dfc66 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/SAXFieldAdapter.java @@ -0,0 +1,77 @@ +/*** + * ASM XML Adapter + * Copyright (c) 2004, Eugene Kuleshov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.objectweb.asm.xml; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Attribute; +import org.objectweb.asm.FieldVisitor; +import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; + +/** + * SAXFieldAdapter + * + * @author Eugene Kuleshov + */ +public class SAXFieldAdapter implements FieldVisitor { + private final ContentHandler h; + + public SAXFieldAdapter(ContentHandler h, AttributesImpl att) { + this.h = h; + + try { + h.startElement("", "field", "field", att); + } catch (SAXException ex) { + throw new RuntimeException(ex.toString()); + } + } + + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + return new SAXAnnotationAdapter(h, + "annotation", + visible ? 1 : -1, + null, + desc); + } + + public void visitAttribute(Attribute attr) { + // TODO Auto-generated method stub + } + + public void visitEnd() { + try { + h.endElement("", "field", "field"); + } catch (SAXException ex) { + throw new RuntimeException(ex.toString()); + } + } + +} diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd new file mode 100644 index 00000000000..7859259e050 --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html new file mode 100644 index 00000000000..3bbb95f8c2c --- /dev/null +++ b/libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html @@ -0,0 +1,96 @@ + + + +Provides SAX 2.0 adapters for ASM +visitors to convert classes to and from XML. +These adapters can be chained with other SAX compliant content handlers and +filters, eg. XSLT or XQuery engines. This package is bundled as +a separate asm-xml.jar library and requires asm.jar. +

      +ASMContentHandler and SAXClassAdapter/SAXCodeAdapter +are using asm-xml.dtd. +Here is the example of bytecode to bytecode XSLT transformation. + +

      +    SAXTransformerFactory saxtf = ( SAXTransformerFactory) TransformerFactory.newInstance();
      +    Templates templates = saxtf.newTemplates( xsltSource);
      +
      +    TransformerHandler handler = saxtf.newTransformerHandler( templates);
      +    handler.setResult( new SAXResult( new ASMContentHandler( outputStream, computeMax)));
      +
      +    ClassReader cr = new ClassReader( bytecode);
      +    cr.accept( new SAXClassAdapter( handler, cr.getVersion(), false), false);
      +
      + +See JAXP and SAX documentation for more detils. + +

      +There are few illustrations of the bytecode transformation with XSLT in +examples directory. The following XSLT procesors has been tested. + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Engine +javax.xml.transform.TransformerFactory property +
      jd.xsltjd.xml.xslt.trax.TransformerFactoryImpl
      Saxonnet.sf.saxon.TransformerFactoryImpl
      Cauchocom.caucho.xsl.Xsl
      Xalan interpeterorg.apache.xalan.processor.TransformerFactory
      Xalan xsltcorg.apache.xalan.xsltc.trax.TransformerFactoryImpl
      +
      + +@since ASM 1.4.3 + + + diff --git a/libjava/classpath/tools/gjavah.in b/libjava/classpath/tools/gjavah.in new file mode 100644 index 00000000000..3140e21e4b6 --- /dev/null +++ b/libjava/classpath/tools/gjavah.in @@ -0,0 +1,47 @@ +#!/bin/sh + +## Copyright (C) 2006 Free Software Foundation, Inc. +## +## This file is a 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 of the License, 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; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, 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. +## +## +## A simple shell script to launch the GNU Classpath javah tool. +## + +prefix=@prefix@ +tools_dir=@datadir@/@PACKAGE@ +tools_cp=${tools_dir}/tools.zip + +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.javah.Main "$@" diff --git a/libjava/classpath/tools/gnu/classpath/tools/AbstractMethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/AbstractMethodGenerator.java deleted file mode 100644 index d82284988e9..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/AbstractMethodGenerator.java +++ /dev/null @@ -1,53 +0,0 @@ -/* AbstractMethodGenerator.java -- the abstract method generator - Copyright (C) 2006 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. */ - - -package gnu.classpath.tools; - -public interface AbstractMethodGenerator -{ - /** - * Generate this method for the Stub (remote caller) class. - */ - String generateStubMethod(); - - /** - * Generate this method for the Tie (remote servant) class. - */ - String generateTieMethod(); - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/HelpPrinter.java b/libjava/classpath/tools/gnu/classpath/tools/HelpPrinter.java deleted file mode 100644 index 89468918a08..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/HelpPrinter.java +++ /dev/null @@ -1,116 +0,0 @@ -/* HelpPrinter -- help message printer - Copyright (C) 2006 Free Software Foundation - -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. */ - -package gnu.classpath.tools; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; - -/** - * The shared class to print the help message and exit, when applicable. - * Support the --help key. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class HelpPrinter -{ - /** - * Check for the --help, -help and -? keys. If one is found, print help and - * exit the program. - * - * @param args the program arguments. - * @param helpResourcePath the path to the help resource, related to the - * HelpPrinter class. - */ - public static void checkHelpKey(String[] args, String helpResourcePath) - { - for (int i = 0; i < args.length; i++) - { - String a = args[i]; - if (a.equals("-?") || a.equalsIgnoreCase("-help") - || a.equalsIgnoreCase("--help")) - printHelpAndExit(helpResourcePath); - } - } - - /** - * Prints the contents of the resource specified by the designated path. - * - * @param helpResourcePath the path to a help resource, related to the - * HelpPrinter class. - */ - public static void printHelp(String helpResourcePath) - { - InputStream in = HelpPrinter.class.getResourceAsStream(helpResourcePath); - BufferedReader br = new BufferedReader(new InputStreamReader(in)); - try - { - String s; - while ((s = br.readLine()) != null) - System.out.println(s); - } - catch (IOException x) - { - System.err.print("Resource loading is broken:"); - x.printStackTrace(System.err); - } - finally - { - try - { - br.close(); - } - catch (IOException ignored) - { - } - } - } - - /** - * Prints the help message and terminates. - * - * @param helpResourcePath the path to the help resource, related to the - * HelpPrinter class. - */ - public static void printHelpAndExit(String helpResourcePath) - { - printHelp(helpResourcePath); - System.exit(0); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/AppletWarning.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/AppletWarning.java deleted file mode 100644 index b2376a4cb77..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/AppletWarning.java +++ /dev/null @@ -1,66 +0,0 @@ -/* AppletWarning -- a security warning message display dialog - Copyright (C) 2003, 2004, 2006 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. */ - -package gnu.classpath.tools.appletviewer; - -import javax.swing.JOptionPane; - -/** - * @author Michael Koch (konqueror@gmx.de) - */ -public class AppletWarning -{ - private static String TITLE = "WARNING"; - private static boolean showWarning = false; - - private static String MESSAGE = - "The current version of this applet plugin does not provide\n" + - "a security manager capable of handling Java (tm) applets. Applets\n" + - "have UNRESTRICTED access to your computer. This means they can do\n" + - "anything you can do, like deleting all your important data.\n\n" + - "Continue ?"; - - public static int show() - { - if (showWarning) - return JOptionPane.showConfirmDialog(null, MESSAGE, TITLE, - JOptionPane.YES_NO_OPTION, - JOptionPane.WARNING_MESSAGE); - else - return JOptionPane.YES_OPTION; - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java index bc0cc45e128..c41ac1d7c86 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java @@ -98,7 +98,8 @@ class CommonAppletStub } catch (MalformedURLException e) { - throw new RuntimeException("unknown codebase"); + throw new RuntimeException("Attempted to create" + + " invalid codebase URL.", e); } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java deleted file mode 100644 index 9c937cc779d..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java +++ /dev/null @@ -1,175 +0,0 @@ -/* ConsoleDialog -- a console dialog for applets - Copyright (C) 2003, 2004, 2006 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. */ - -package gnu.classpath.tools.appletviewer; - -import java.awt.BorderLayout; -import java.awt.Button; -import java.awt.FlowLayout; -import java.awt.Frame; -import java.awt.Panel; -import java.awt.TextArea; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintStream; - - -/** - * This class is a little dialog showing standard output and standard error output. - * - * @author Michael Koch (konqueror@gmx.de) - */ -public class ConsoleDialog extends Frame - implements ActionListener -{ - static class InternalOutputStream extends OutputStream - { - private ConsoleDialog console; - - public InternalOutputStream(ConsoleDialog console) - { - super(); - this.console = console; - } - - public void write(int data) throws IOException - { - console.print(String.valueOf((char) data)); - } - } - - private TextArea textArea; - private Button buttonClear; - private Button buttonHide; - private PrintStream printStream; - - /** - * Creates a console dialog object. - */ - public ConsoleDialog() - { - super(Main.messages.getString("gcjwebplugin.console_title")); - - setSize(400, 200); - setLayout(new BorderLayout()); - addWindowListener(new WindowAdapter() - { - public void windowClosing(WindowEvent event) - { - hide(); - } - }); - - textArea = new TextArea(); - textArea.setEditable(false); - add(textArea); - - Panel panel = new Panel(); - panel.setLayout(new FlowLayout()); - add(panel, BorderLayout.SOUTH); - - buttonClear = new Button(Main.messages.getString("gcjwebplugin.console_clear")); - buttonClear.addActionListener(this); - panel.add(buttonClear); - - buttonHide = new Button(Main.messages.getString("gcjwebplugin.console_hide")); - buttonHide.addActionListener(this); - panel.add(buttonHide); - - printStream = new PrintStream(new InternalOutputStream(this)); - clearTextArea(); - } - - /** - * Clears the content of the textarea and inserts the initial text. - */ - public void clearTextArea() - { - textArea.setText(""); - - println("java.vm.version: " + System.getProperty("java.vm.version")); - println("java.vm.vendor: " + System.getProperty("java.vm.vendor")); - } - - /** - * Print a message into the console dialog. - * - * @param message the message to print. - */ - public void print(String message) - { - textArea.append(message); - } - - /** - * Print a line into the console dialog. - * - * @param message the line to print. - */ - public void println(String message) - { - print(message + "\n"); - } - - /** - * Perform actions on button clicks inside the console dialog. - * - * @param event the event. - */ - public void actionPerformed(ActionEvent event) - { - if (event.getSource() == buttonHide) - hide(); // Hide console window. - else if (event.getSource() == buttonClear) - clearTextArea(); // Clear text area and insert standard messages. - } - - /** - * Returns a PrintStream object that prints into the - * console dialog. - * - * @return the PrintStream object. - */ - public PrintStream getPrintStream() - { - return printStream; - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Main.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Main.java index 1d9fed2b04d..a10b889bc97 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Main.java @@ -37,17 +37,19 @@ exception statement from your version. */ package gnu.classpath.tools.appletviewer; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; import gnu.classpath.tools.getopt.Parser; import java.applet.Applet; import java.awt.Dimension; +import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.net.URL; import java.util.ArrayList; @@ -58,12 +60,6 @@ import java.util.ResourceBundle; class Main { - /** - * The localized strings are kept in a separate file. - */ - public static final ResourceBundle messages = ResourceBundle.getBundle - ("gnu.classpath.tools.appletviewer.MessagesBundle"); - private static HashMap classLoaderCache = new HashMap(); private static ClassLoader getClassLoader(URL codebase, ArrayList archives) @@ -108,7 +104,7 @@ class Main } if (applet == null) - applet = new ErrorApplet("Error loading applet"); + applet = new ErrorApplet(Messages.getString ("Main.ErrorApplet")); return applet; } @@ -125,68 +121,72 @@ class Main public static void main(String[] args) throws IOException { parser = new ClasspathToolParser("appletviewer", true); - parser.setHeader("usage: appletviewer [OPTION] -code CODE | URL..."); + parser.setHeader(Messages.getString("Main.Usage")); - OptionGroup attributeGroup = new OptionGroup("Applet tag options"); + OptionGroup attributeGroup + = new OptionGroup(Messages.getString("Main.AppletTagOptions")); - attributeGroup.add(new Option("code", Main.messages.getString - ("gcjwebplugin.code_description"), - "CODE") + attributeGroup.add(new Option("code", + Messages.getString("Main.CodeDescription"), + Messages.getString("Main.CodeArgument")) { public void parsed(String argument) throws OptionException { code = argument; } }); - attributeGroup.add(new Option("codebase", Main.messages.getString - ("gcjwebplugin.codebase_description"), - "CODEBASE") + attributeGroup.add + (new Option("codebase", + Messages.getString("Main.CodebaseDescription"), + Messages.getString("Main.CodebaseArgument")) { public void parsed(String argument) throws OptionException { codebase = argument; } }); - attributeGroup.add(new Option("archive", Main.messages.getString - ("gcjwebplugin.archive_description"), - "ARCHIVE") + attributeGroup.add + (new Option("archive", + Messages.getString("Main.ArchiveDescription"), + Messages.getString("Main.ArchiveArgument")) { public void parsed(String argument) throws OptionException { archive = argument; } }); - attributeGroup.add(new Option("width", Main.messages.getString - ("gcjwebplugin.width_description"), - "WIDTH") + attributeGroup.add(new Option("width", + Messages.getString("Main.WidthDescription"), + Messages.getString("Main.WidthArgument")) { public void parsed(String argument) throws OptionException { dimensions.width = Integer.parseInt(argument); } }); - attributeGroup.add(new Option("height", Main.messages.getString - ("gcjwebplugin.height_description"), - "HEIGHT") + attributeGroup.add(new Option("height", + Messages.getString("Main.HeightDescription"), + Messages.getString("Main.HeightArgument")) { public void parsed(String argument) throws OptionException { dimensions.height = Integer.parseInt(argument); } }); - attributeGroup.add(new Option("param", Main.messages.getString - ("gcjwebplugin.param_description"), - "NAME,VALUE") + attributeGroup.add(new Option("param", + Messages.getString("Main.ParamDescription"), + Messages.getString("Main.ParamArgument")) { public void parsed(String argument) throws OptionException { parameters.add(argument); } }); - OptionGroup pluginGroup = new OptionGroup("Plugin option"); - pluginGroup.add(new Option("plugin", Main.messages.getString - ("gcjwebplugin.plugin_description"), - "INPUT,OUTPUT") + OptionGroup pluginGroup + = new OptionGroup(Messages.getString("Main.PluginOption")); + pluginGroup.add(new Option("plugin", + Messages.getString("Main.PluginDescription"), + Messages.getString("Main.PluginArgument")) { public void parsed(String argument) throws OptionException { @@ -196,29 +196,34 @@ class Main pipeOutName = argument.substring(comma + 1); } }); - OptionGroup debuggingGroup = new OptionGroup("Debugging option"); - debuggingGroup.add(new Option("verbose", Main.messages.getString - ("gcjwebplugin.verbose_description"), - (String) null) + OptionGroup debuggingGroup + = new OptionGroup(Messages.getString("Main.DebuggingOption")); + debuggingGroup.add + (new Option("verbose", + Messages.getString("Main.VerboseDescription"), + (String) null) { public void parsed(String argument) throws OptionException { verbose = true; } }); - OptionGroup compatibilityGroup = new OptionGroup("Compatibility options"); - compatibilityGroup.add(new Option("debug", Main.messages.getString - ("gcjwebplugin.debug_description"), - (String) null) + OptionGroup compatibilityGroup + = new OptionGroup(Messages.getString("Main.CompatibilityOptions")); + compatibilityGroup.add + (new Option("debug", + Messages.getString("Main.DebugDescription"), + (String) null) { public void parsed(String argument) throws OptionException { // Currently ignored. } }); - compatibilityGroup.add(new Option("encoding", Main.messages.getString - ("gcjwebplugin.encoding_description"), - "CHARSET") + compatibilityGroup.add + (new Option("encoding", + Messages.getString("Main.EncodingDescription"), + Messages.getString("Main.EncodingArgument")) { public void parsed(String argument) throws OptionException { @@ -249,6 +254,7 @@ class Main if (pluginMode) { + // Plugin will warn user about missing security manager. InputStream in; OutputStream out; @@ -259,13 +265,37 @@ class Main } else { + // Warn user about missing security manager. + System.err.println(Messages.getString("Main.SecurityWarning") + "\n"); + + System.err.println(Messages.getString("Main.ContinuationPrompt")); + + BufferedReader stdin + = new BufferedReader(new InputStreamReader(System.in)); + String response = null; + + try + { + response = stdin.readLine(); + } + catch (IOException e) + { + throw new RuntimeException("Failed to read response" + + " to continuation prompt.", e); + } + + if (!(response.equals("c") || response.equals("C"))) + { + System.exit(0); + } + if (code == null) { // The --code option wasn't given and there are no URL // arguments so we have nothing to work with. if (args.length == 0) { - System.err.println(Main.messages.getString("gcjwebplugin.no_input_files")); + System.err.println(Messages.getString("Main.NoInputFiles")); System.exit(1); } // Create a standalone appletviewer from a list of URLs. @@ -275,7 +305,8 @@ class Main { // Create a standalone appletviewer from the --code // option. - new StandaloneAppletViewer(code, codebase, archive, parameters, dimensions); + new StandaloneAppletViewer(code, codebase, archive, + parameters, dimensions); } } } @@ -284,7 +315,7 @@ class Main { if (verbose) { - System.out.println("raw arguments:"); + System.out.println(Messages.getString("Main.RawArguments")); for (int i = 0; i < args.length; i++) System.out.println(" " + args[i]); diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Messages.java new file mode 100644 index 00000000000..614a509fd53 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- localization support for appletviewer + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.appletviewer; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.appletviewer.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java index a0e6acd124c..bc445a6b33c 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java @@ -54,7 +54,7 @@ class PluginAppletContext extends CommonAppletContext } catch(IOException e) { - System.err.println("showDocument failed: " + e); + throw new RuntimeException("showDocument failed.", e); } } @@ -66,7 +66,7 @@ class PluginAppletContext extends CommonAppletContext } catch(IOException e) { - System.err.println("showDocument failed: " + e); + throw new RuntimeException("showStatus failed.", e); } } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java index fdb8097b44b..d77aad39223 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java @@ -141,7 +141,9 @@ class PluginAppletViewer pluginOutputStream.newLine(); pluginOutputStream.flush(); - System.err.println(" PIPE: applet viewer wrote: " + message); + System.err.println + (" " + Messages.getString("PluginAppletViewer.AppletViewerWrote") + + message); } /** @@ -155,7 +157,9 @@ class PluginAppletViewer { String message = pluginInputStream.readLine(); - System.err.println(" PIPE: applet viewer read: " + message); + System.err.println + (" " + Messages.getString("PluginAppletViewer.AppletViewerRead") + + message); if (message == null || message.equals("shutdown")) { @@ -163,7 +167,9 @@ class PluginAppletViewer pluginInputStream.close(); pluginOutputStream.close(); - System.err.println("appletviewer: exiting plugin applet viewer"); + System.err.println + (Messages.getString("PluginAppletViewer.AppletViewerExiting")); + System.exit(0); } diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java index 6d36e1cf0b9..283d547b801 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java @@ -428,10 +428,6 @@ class PluginAppletWindow if (contexts.get(tag.getCodeBase()) == null) contexts.put(tag.getCodeBase(), new PluginAppletContext()); - int result = AppletWarning.show(); - if (result == JOptionPane.NO_OPTION) - return; - add(applet); AppletContext context = (AppletContext) contexts.get(tag.getCodeBase()); diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java index a779f068ab6..48468f84d67 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java @@ -58,7 +58,8 @@ class StandaloneAppletContext extends CommonAppletContext public void showDocument(URL url, String target) { - System.err.println("showDocument is not implemented in standalone mode"); + System.err.println + (Messages.getString("StandaloneAppletContext.ShowDocumentError")); } // In standalone mode, there are potentially several windows, each diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java index 2b58f4b87e8..cc3a65cd72c 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java @@ -79,7 +79,8 @@ class StandaloneAppletViewer extends Main { if (!(code.equals("") || code.endsWith(".class"))) { - System.err.println("appletviewer: option '--code' requires a class filename"); + System.err.println + (Messages.getString("StandaloneAppletViewer.CodeOptionError")); System.exit(1); } @@ -118,13 +119,16 @@ class StandaloneAppletViewer extends Main { if (verbose) { - System.out.println("parsed applet tags:"); + System.out.println + (Messages.getString("StandaloneAppletViewer.ParsedAppletTags")); for (int i = 0; i < appletTags.size(); i++) { AppletTag tag = (AppletTag) appletTags.get(i); - System.out.println(" tag " + i + ":"); + System.out.println + (" " + Messages.getString("StandaloneAppletViewer.Tag") + + " " + i + ":"); System.out.println(tag); } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java index fd2a7c0d832..3a0a442825d 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java @@ -128,57 +128,57 @@ class StandaloneAppletWindow addHierarchyListener(this); addHierarchyBoundsListener(this); - restartItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_restart")); + restartItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuRestart")); restartItem.setEnabled(false); restartItem.addActionListener(this); - reloadItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_reload")); + reloadItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuReload")); reloadItem.setEnabled(false); reloadItem.addActionListener(this); - cancelItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_cancel")); + cancelItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuCancel")); cancelItem.setEnabled(false); cancelItem.addActionListener(this); - saveItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_save")); + saveItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuSave")); saveItem.setEnabled(false); saveItem.addActionListener(this); - startItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_start")); + startItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuStart")); startItem.setEnabled(false); startItem.addActionListener(this); - cloneItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_clone")); + cloneItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuClone")); cloneItem.setEnabled(false); cloneItem.addActionListener(this); - closeItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_close")); + closeItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuClose")); closeItem.setEnabled(false); closeItem.addActionListener(this); tagItem = - new MenuItem(Main.messages.getString("gcjwebplugin.menu_tag")); + new MenuItem(Messages.getString("StandaloneAppletWindow.MenuTag")); tagItem.setEnabled(false); tagItem.addActionListener(this); infoItem = - new MenuItem(Main.messages.getString("gcjwebplugin.menu_info")); + new MenuItem(Messages.getString("StandaloneAppletWindow.MenuInfo")); infoItem.setEnabled(false); infoItem.addActionListener(this); editItem = - new MenuItem(Main.messages.getString("gcjwebplugin.menu_edit")); + new MenuItem(Messages.getString("StandaloneAppletWindow.MenuEdit")); editItem.setEnabled(false); editItem.addActionListener(this); editItem.setEnabled(false); encodingItem = - new MenuItem(Main.messages.getString("gcjwebplugin.menu_encoding")); + new MenuItem(Messages.getString("StandaloneAppletWindow.MenuEncoding")); encodingItem.setEnabled(false); encodingItem.addActionListener(this); printItem = - new MenuItem(Main.messages.getString("gcjwebplugin.menu_print")); + new MenuItem(Messages.getString("StandaloneAppletWindow.MenuPrint")); printItem.setEnabled(false); printItem.addActionListener(this); propertiesItem = - new MenuItem(Main.messages.getString("gcjwebplugin.menu_properties")); + new MenuItem(Messages.getString("StandaloneAppletWindow.MenuProperties")); propertiesItem.setEnabled(false); propertiesItem.addActionListener(this); - quitItem = new MenuItem(Main.messages.getString("gcjwebplugin.menu_quit")); + quitItem = new MenuItem(Messages.getString("StandaloneAppletWindow.MenuQuit")); quitItem.addActionListener(this); MenuBar menuBar = new MenuBar(); - Menu menuApplet = new Menu(Main.messages.getString("gcjwebplugin.menu_title")); + Menu menuApplet = new Menu(Messages.getString("StandaloneAppletWindow.MenuTitle")); menuBar.add(menuApplet); menuApplet.add(restartItem); menuApplet.add(reloadItem); @@ -199,7 +199,8 @@ class StandaloneAppletWindow menuApplet.add(closeItem); menuApplet.add(quitItem); setMenuBar(menuBar); - setTitle("GNU Classpath Applet Viewer: " + tag.code); + setTitle(Messages.getString("StandaloneAppletWindow.WindowTitle") + + " " + tag.code); AppletContext context = (AppletContext) contexts.get(tag.codebase); ((StandaloneAppletContext) context).addApplet(applet); diff --git a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java index 68dce97e0ba..b5bdca70f9b 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java +++ b/libjava/classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java @@ -230,11 +230,65 @@ public class TagParser t.archives = parseArchives(val, t); val = t.archives.toString(); } - + val = unescapeString(val); t.parameters.put(key.toLowerCase(), val); } } + /** + * This method does the same thing as the g_strcompress function in glib. + * + * @param value + * @return value in its original one-byte equivalence. + */ + private static String unescapeString(String value) + { + String unescVal = ""; + for (int i = 0; i < value.length(); i++) + { + if (i == value.length() - 1) + { + unescVal = unescVal.concat(value.substring(i)); + break; + } + if (value.charAt(i) == '\\') + { + switch (value.charAt(i + 1)) + { + case 'b': + unescVal = unescVal.concat("\b"); + break; + case 'f': + unescVal = unescVal.concat("\f"); + break; + case 'n': + unescVal = unescVal.concat("\n"); + break; + case 'r': + unescVal = unescVal.concat("\r"); + break; + case 't': + unescVal = unescVal.concat("\t"); + break; + case '\\': + unescVal = unescVal.concat("\\"); + break; + case '\"': + unescVal = unescVal.concat("\""); + break; + default: + unescVal = unescVal.concat("\\"); + unescVal = unescVal.concat(value.substring(i + 1, i + 2)); + break; + } + i++; + } + else + unescVal = unescVal.concat(value.substring(i, i + 1)); + } + return unescVal; + } + /** * Parses the archive string and returns a list. * diff --git a/libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java b/libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java new file mode 100644 index 00000000000..e44b9011cfd --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/common/ClasspathToolParser.java @@ -0,0 +1,87 @@ +/* ClasspathToolParser.java -- Parser subclass for classpath tools + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.common; + +import java.text.MessageFormat; + +import gnu.classpath.Configuration; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.Parser; + +/** + * This is like the Parser class, but is specialized for use by + * tools distributed with GNU Classpath. In particular it automatically + * computes the version string using the program's name. + */ +public class ClasspathToolParser + extends Parser +{ + private static String getVersionString(String programName) + { + String fmt = (Messages.getString("ClasspathToolParser.VersionFormat")); //$NON-NLS-1$ + return MessageFormat.format(fmt, + new Object[] + { + programName, + Configuration.CLASSPATH_VERSION + }); + } + + public ClasspathToolParser(String programName) + { + this(programName, false); + } + + public ClasspathToolParser(String programName, boolean longOnly) + { + super(programName, getVersionString(programName), longOnly); + addFinal(new Option('J', + Messages.getString("ClasspathToolParser.JArgument"),//$NON-NLS-1$ + Messages.getString("ClasspathToolParser.JName"), //$NON-NLS-1$ + true) + { + public void parsed(String argument) throws OptionException + { + // -J should be handled by the wrapper binary. + // We add it here so that it shows up in the --help output. + } + }); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/common/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/common/Messages.java new file mode 100644 index 00000000000..1c92d348d2b --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/common/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- i18n support for tools common code + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.common; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.common.Messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/common/Persistent.java b/libjava/classpath/tools/gnu/classpath/tools/common/Persistent.java new file mode 100644 index 00000000000..5a2b48a8ddc --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/common/Persistent.java @@ -0,0 +1,87 @@ +/* PersistentBidiHasthable.java -- Constants for the persistent tables. + Copyright (C) 2006 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. */ + +package gnu.classpath.tools.common; + +import java.util.Timer; +import java.util.TimerTask; + +/** + * The static fields, shared by the multiple classes, implementing the + * persistent work. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public interface Persistent +{ + /** + * Sheduled termination task. + */ + static class ExitTask extends TimerTask + { + public void run() + { + System.exit(0); + } + } + + /** + * The timer, sheduling all disk database update events, shared by all + * instances. + */ + static Timer timer = new Timer(true); + + /** + * The longest time, in ms, after that the database content on the disk must + * be updated. The algorithm is written to avoid the very frequent writings to + * the disk. + */ + static long SAVE_AT_MOST_AFTER = 5000; + + /** + * States how long the database may stay not updated during the intensive + * operations, in ms. Otherwise the intensively used structure may never + * be stored to the disk. + */ + static long ALWAYS_UPDATE = 300000; + + /** + * Write the database content to the disk. + */ + void writeContent(); + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/ClasspathToolParser.java b/libjava/classpath/tools/gnu/classpath/tools/getopt/ClasspathToolParser.java deleted file mode 100644 index e712056ef98..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/getopt/ClasspathToolParser.java +++ /dev/null @@ -1,73 +0,0 @@ -/* ClasspathToolParser.java -- Parser subclass for classpath tools - Copyright (C) 2006 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. */ - - -package gnu.classpath.tools.getopt; - -import java.text.MessageFormat; - -import gnu.classpath.Configuration; - -/** - * This is like the Parser class, but is specialized for use by - * tools distributed with GNU Classpath. In particular it automatically - * computes the version string using the program's name. - */ -public class ClasspathToolParser - extends Parser -{ - private static String getVersionString(String programName) - { - String fmt = (Messages.getString("ClasspathToolParser.VersionFormat")); //$NON-NLS-1$ - return MessageFormat.format(fmt, - new Object[] - { - programName, - Configuration.CLASSPATH_VERSION - }); - } - - public ClasspathToolParser(String programName) - { - super(programName, getVersionString(programName)); - } - - public ClasspathToolParser(String programName, boolean longOnly) - { - super(programName, getVersionString(programName), longOnly); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/getopt/Messages.java index 3c963d786b3..19f10174332 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/getopt/Messages.java +++ b/libjava/classpath/tools/gnu/classpath/tools/getopt/Messages.java @@ -41,7 +41,7 @@ package gnu.classpath.tools.getopt; import java.util.MissingResourceException; import java.util.ResourceBundle; -public class Messages +class Messages { private static final String BUNDLE_NAME = "gnu.classpath.tools.getopt.Messages"; //$NON-NLS-1$ diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/Option.java b/libjava/classpath/tools/gnu/classpath/tools/getopt/Option.java index 6f775e4a105..53255811eb1 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/getopt/Option.java +++ b/libjava/classpath/tools/gnu/classpath/tools/getopt/Option.java @@ -44,7 +44,10 @@ package gnu.classpath.tools.getopt; * like '--verbose'; if the parser is working in "long option only" mode, then a * long flag has a single dash, like '-verbose'. Both a long and a short form * may be specified; it is not valid to have neither. A description is mandatory - * for options; this is used to automatically generate '--help' output. + * for options; this is used to automatically generate '--help' output. An option + * which takes an argument and which has a short form can also be "joined", in + * this case the option's argument can either be separated, like "-I path" or + * joined with the short option name, like "-Ipath". */ public abstract class Option { @@ -56,6 +59,8 @@ public abstract class Option private String argumentName; + private boolean joined; + /** * Create a new option with the given short name and description. * @@ -64,6 +69,8 @@ public abstract class Option */ protected Option(char shortName, String description) { + if (shortName == 0) + throw new IllegalArgumentException("short name must not be \\0"); this.shortName = shortName; this.description = description; } @@ -78,11 +85,33 @@ public abstract class Option */ protected Option(char shortName, String description, String argumentName) { + if (shortName == 0) + throw new IllegalArgumentException("short name must not be \\0"); this.shortName = shortName; this.description = description; this.argumentName = argumentName; } + /** + * Create a new option with the given short name and description. + * + * @param shortName the short name + * @param description the description + * @param argumentName the descriptive name of the argument, if this option + * takes an argument; otherwise null + * @param joined true if the short option is joined to its argument + */ + protected Option(char shortName, String description, String argumentName, + boolean joined) + { + if (shortName == 0) + throw new IllegalArgumentException("short name must not be \\0"); + this.shortName = shortName; + this.description = description; + this.argumentName = argumentName; + this.joined = joined; + } + /** * Create a new option with the given long name and description. The long name * should be specified without any leading dashes. @@ -122,6 +151,8 @@ public abstract class Option */ protected Option(String longName, char shortName, String description) { + if (shortName == 0) + throw new IllegalArgumentException("short name must not be \\0"); this.shortName = shortName; this.longName = longName; this.description = description; @@ -140,10 +171,35 @@ public abstract class Option protected Option(String longName, char shortName, String description, String argumentName) { + if (shortName == 0) + throw new IllegalArgumentException("short name must not be \\0"); + this.shortName = shortName; + this.longName = longName; + this.argumentName = argumentName; + this.description = description; + } + + /** + * Create a new option with the given short and long names and description. + * The long name should be specified without any leading dashes. + * + * @param longName the long name + * @param shortName the short name + * @param description the description + * @param argumentName the descriptive name of the argument, if this option + * takes an argument; otherwise null + * @param joined true if the short option is joined to its argument + */ + protected Option(String longName, char shortName, String description, + String argumentName, boolean joined) + { + if (shortName == 0) + throw new IllegalArgumentException("short name must not be \\0"); this.shortName = shortName; this.longName = longName; this.argumentName = argumentName; this.description = description; + this.joined = joined; } /** @@ -187,6 +243,16 @@ public abstract class Option return description; } + /** + * Return true if this is a "joined" option, false otherwise. + * Only the short form of an option can be joined; this will always + * return false for an option which does not have a short form. + */ + public boolean isJoined() + { + return joined; + } + /** * This is called by the parser when this option is recognized. It may be * called multiple times during a single parse. If this option takes an diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/OptionGroup.java b/libjava/classpath/tools/gnu/classpath/tools/getopt/OptionGroup.java index f7d966d9459..63853b2d0e4 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/getopt/OptionGroup.java +++ b/libjava/classpath/tools/gnu/classpath/tools/getopt/OptionGroup.java @@ -231,10 +231,7 @@ public class OptionGroup { if (argName != null) { - // This is a silly hack just for '-J'. We don't - // support joined options in general, but this option - // is filtered out before argument processing can see it. - if (option.getShortName() != 'J') + if (! option.isJoined()) { out.print(' '); ++column; diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/Parser.java b/libjava/classpath/tools/gnu/classpath/tools/getopt/Parser.java index 3c6cf6f46ac..b142836a5dc 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/getopt/Parser.java +++ b/libjava/classpath/tools/gnu/classpath/tools/getopt/Parser.java @@ -72,6 +72,8 @@ public class Parser private OptionGroup defaultGroup = new OptionGroup(); + private OptionGroup finalGroup; + // These are used while parsing. private int currentIndex; @@ -166,7 +168,7 @@ public class Parser this.longOnly = longOnly; // Put standard options in their own section near the end. - OptionGroup finalGroup = new OptionGroup(Messages.getString("Parser.StdOptions")); //$NON-NLS-1$ + finalGroup = new OptionGroup(Messages.getString("Parser.StdOptions")); //$NON-NLS-1$ finalGroup.add(new Option("help", Messages.getString("Parser.PrintHelp")) //$NON-NLS-1$ //$NON-NLS-2$ { public void parsed(String argument) throws OptionException @@ -183,15 +185,6 @@ public class Parser System.exit(0); } }); - finalGroup.add(new Option('J', Messages.getString("Parser.JArgument"), Messages.getString("Parser.JName")) //$NON-NLS-1$ //$NON-NLS-2$ - { - public void parsed(String argument) throws OptionException - { - // -J should be handled by the appletviewer wrapper binary. - // We add it here so that it shows up in the --help output. - // Note that there is a special case for this in OptionGroup. - } - }); add(finalGroup); add(defaultGroup); @@ -229,6 +222,18 @@ public class Parser defaultGroup.add(opt); } + /** + * This is like {@link #add(Option)}, but adds the option to the "final" + * group. This should be used sparingly, if at all; it is intended for + * other very generic options like --help or --version. + * @param opt the option to add + */ + protected synchronized void addFinal(Option opt) + { + options.add(opt); + finalGroup.add(opt); + } + /** * Add an option group to this parser. All the options in this group will be * recognized by the parser. @@ -314,11 +319,10 @@ public class Parser String option = real.substring(index); String justName = option; int eq = option.indexOf('='); - if (eq != - 1) + if (eq != -1) justName = option.substring(0, eq); - char shortName = 0; - if (justName.length() == 1) - shortName = justName.charAt(0); + boolean isPlainShort = justName.length() == 1; + char shortName = justName.charAt(0); Option found = null; for (int i = options.size() - 1; i >= 0; --i) { @@ -328,8 +332,14 @@ public class Parser found = opt; break; } - if (shortName != 0 && opt.getShortName() == shortName) + if ((isPlainShort || opt.isJoined()) + && opt.getShortName() == shortName) { + if (! isPlainShort) + { + // The rest of the option string is the argument. + eq = 0; + } found = opt; break; } @@ -343,7 +353,7 @@ public class Parser String argument = null; if (found.getTakesArgument()) { - if (eq == - 1) + if (eq == -1) argument = getArgument(real); else argument = option.substring(eq + 1); @@ -358,35 +368,42 @@ public class Parser found.parsed(argument); } - private void handleShortOption(char option) throws OptionException + private void handleShortOptions(String option) throws OptionException { - Option found = null; - for (int i = options.size() - 1; i >= 0; --i) + for (int charIndex = 1; charIndex < option.length(); ++charIndex) { - Option opt = (Option) options.get(i); - if (option == opt.getShortName()) + char optChar = option.charAt(charIndex); + Option found = null; + for (int i = options.size() - 1; i >= 0; --i) { - found = opt; - break; + Option opt = (Option) options.get(i); + if (optChar == opt.getShortName()) + { + found = opt; + break; + } } - } - if (found == null) - { - String msg = MessageFormat.format(Messages.getString("Parser.UnrecDash"), //$NON-NLS-1$ - new Object[] { "" + option }); //$NON-NLS-1$ - throw new OptionException(msg); - } - String argument = null; - if (found.getTakesArgument()) - argument = getArgument("-" + option); //$NON-NLS-1$ - found.parsed(argument); - } - - private void handleShortOptions(String option) throws OptionException - { - for (int i = 1; i < option.length(); ++i) - { - handleShortOption(option.charAt(i)); + if (found == null) + { + String msg = MessageFormat.format(Messages.getString("Parser.UnrecDash"), //$NON-NLS-1$ + new Object[] { "" + optChar }); //$NON-NLS-1$ + throw new OptionException(msg); + } + String argument = null; + if (found.getTakesArgument()) + { + // If this is a joined short option, and there are more + // characters left in this argument, use those as the + // argument. + if (found.isJoined() && charIndex + 1 < option.length()) + { + argument = option.substring(charIndex + 1); + charIndex = option.length(); + } + else + argument = getArgument("-" + optChar); //$NON-NLS-1$ + } + found.parsed(argument); } } diff --git a/libjava/classpath/tools/gnu/classpath/tools/getopt/package.html b/libjava/classpath/tools/gnu/classpath/tools/getopt/package.html new file mode 100644 index 00000000000..ce6d34a4370 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/getopt/package.html @@ -0,0 +1,49 @@ + + + + +GNU Classpath - gnu.classpath.tools.getopt + + +

      This package contains a GNU-style command line option parser. It +handles short and long options, options with arguments (optionally +joined to the option text), and a "long option only" mode. It also +automatically handles --help output.

      + + + diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.java b/libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.java deleted file mode 100644 index c910d7083c7..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.java +++ /dev/null @@ -1,189 +0,0 @@ -/* GRMIC.java -- GIOP support for RMIC. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - -package gnu.classpath.tools.giop; - -import gnu.classpath.tools.HelpPrinter; -import gnu.classpath.tools.giop.grmic.GiopRmicCompiler; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * The main class of the GIOP compiler to generate stubs and ties for - * javax.rmi package. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class GRMIC -{ - /** - * The version of the compiler. - */ - public static String VERSION = "0.0 alpha pre"; - - /** - * The GRMIC compiler methods - * - * @param args the compiler parameters. - */ - public static void main(String[] args) - { - boolean noWrite = false; - boolean verbose = false; - - String HelpPath = "giop/GRMIC.txt"; - - HelpPrinter.checkHelpKey(args, HelpPath); - - File output = new File("."); - - if (args.length == 0) - { - HelpPrinter.printHelpAndExit(HelpPath); - } - else - { - GiopRmicCompiler compiler = new GiopRmicCompiler(); - - int cl = - 1; - - Options: for (int i = 0; i < args.length; i++) - { - String c = args[i]; - if (c.equals("-poa")) - compiler.setPoaMode(true); - else if (c.equals("-impl")) - compiler.setPoaMode(false); - else if (c.equals("-v")) - { - printVersion(); - System.exit(0); - } - else if (c.equals("-nowrite")) - noWrite = true; - else if (c.equals("-nowarn")) - compiler.setWarnings(false); - else if (c.equals("-verbose")) - { - verbose = true; - compiler.setVerbose(true); - } - else if (c.equals("-force")) - { - compiler.setForce(true); - } - else if (c.equals("-d")) - { - int f = i + 1; - if (f < args.length) - { - output = new File(args[f]); - i++; - } - else - HelpPrinter.printHelpAndExit(HelpPath); - } - else if (c.equals("-classpath")) - { - int f = i + 1; - if (f < args.length) - { - compiler.setClassPath(args[f]); - i++; - } - else - HelpPrinter.printHelpAndExit(HelpPath); - } - else if (c.charAt(0) != '-') - // No more options - start of class list. - { - cl = i; - break Options; - } - } - - if (cl < 0) - HelpPrinter.printHelpAndExit(HelpPath); - - if (verbose) - System.out.println("Compiling to " + output.getAbsolutePath()); - - // Compile classes - Compile: for (int i = cl; i < args.length; i++) - { - if (args[i].charAt(0) != '-') - { - compiler.reset(); - Class c = compiler.loadClass(args[i]); - - compiler.compile(c); - String packag = compiler.getPackageName().replace('.', '/'); - File fw = new File(output, packag); - - // Generate stub. - String stub = compiler.generateStub(); - String subName = "_" + compiler.getStubName() + "_Stub.java"; - - compiler.reset(); - compiler.compile(c); - - // Generate tie - String tie = compiler.generateTie(); - String tieName = "_" + compiler.name(c) + "_Tie.java"; - - if (noWrite) - continue Compile; - - try - { - fw.mkdirs(); - OutputStream out = new FileOutputStream(new File(fw, - subName)); - out.write(stub.getBytes()); - out.close(); - - out = new FileOutputStream(new File(fw, tieName)); - out.write(tie.getBytes()); - out.close(); - } - catch (IOException ioex) - { - System.err.println("Output path not accessible"); - ioex.printStackTrace(); - System.exit(1); - } - } - } - } - } - - /** - * Print the version information. - */ - public static void printVersion() - { - System.out.println - ("grmic v "+VERSION+" - GIOP stub and tie generator for javax.rmi.* "); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.txt b/libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.txt deleted file mode 100644 index 875bcdbcf38..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/GRMIC.txt +++ /dev/null @@ -1,33 +0,0 @@ -GIOP stub and tie generator source code generator for javax.rmi.*, omg.org.* - -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -Usage: grmic - - where includes: - -poa Generate the Servant based ties (default) - -impl Generate the obsoleted ObjectImpl based ties - (for backward compatibility) - -nowarn Show no warnings - -nowrite Do not write any files (check for errors only) - -d Place generated files into the given folder - -classpath Specifies the path, where to find the classes being - compiled - - -help Print this help text - -v Print version - -verbose Verbose output - -force Try to generate code even if the input classes seem not - consistent with RMI specification. - - - and can include one or more non abstract classes that implement - Remote and are accessible via current class path. - -* This tool generates the source code that must be compiled with java compiler. -* GRMIC is invoked from RMIC if the -iiop or -giop keys are specified. - diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.java b/libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.java deleted file mode 100644 index 411b8997d49..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.java +++ /dev/null @@ -1,109 +0,0 @@ -/* IorParser.java -- IOR parser. - Copyright (C) 2006 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. -*/ - - -package gnu.classpath.tools.giop; - -import gnu.CORBA.IOR; -import gnu.classpath.tools.HelpPrinter; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import org.omg.CORBA.BAD_PARAM; - -/** - * Parses the information, encoded in the Interoperable Object References - * (IORs). - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class IorParser -{ - /** - * Parse and print IOR reference. The system exit code is 0 if the parsed - * IOR was correct, 1 if it was invalid or missing. - * - * @param args supports -f file to read IOR from the file. - */ - public static void main(String[] args) - { - boolean ok = false; - String HelpResource = "giop/IorParser.txt"; - HelpPrinter.checkHelpKey(args, HelpResource); - if (args.length == 0) - HelpPrinter.printHelpAndExit(HelpResource); - else if (args[0].equals("-f") && args.length==2) - { - File file = new File(args[1]); - if (!file.exists()) - System.err.println("The file "+file.getAbsolutePath()+" is missing."); - // Read IOR reference from file. - String ior = null; - try - { - FileReader fr = new FileReader(file); - BufferedReader br = new BufferedReader(fr); - ior = br.readLine(); - br.close(); - ok = parseAndPrint(ior); - } - catch (IOException e) - { - System.err.print("Unable to read the file "+file); - e.printStackTrace(); - } - - } - else if (args.length == 1) - ok = parseAndPrint(args[0]); - else - HelpPrinter.printHelpAndExit(HelpResource); - - if (ok) - System.exit(0); - else - System.exit(1); - } - - /** - * Parse and print IOR. - * - * @param ior the IOR string to anlyse. - * @return true if the passed value is a valid IOR, false otherwise. - */ - public static boolean parseAndPrint(String ior) - { - try - { - IOR gior = IOR.parse(ior); - System.out.println(gior.toStringFormatted()); - return true; - } - catch (BAD_PARAM e) - { - System.out.println("Invalid ior: "+e.getMessage()); - return false; - } - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.txt b/libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.txt deleted file mode 100644 index 3b04224f126..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/IorParser.txt +++ /dev/null @@ -1,10 +0,0 @@ -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -IOR (interoperable GIOP object reference) parser, - usage: IorParser -f ior_file - or: IorParser -f ior_string - diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/NameService.java b/libjava/classpath/tools/gnu/classpath/tools/giop/NameService.java deleted file mode 100644 index 7e13185f246..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/NameService.java +++ /dev/null @@ -1,75 +0,0 @@ -/* NameService.java -- Transient GIOP naming service. - Copyright (C) 2006 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. */ - -package gnu.classpath.tools.giop; - -import gnu.CORBA.NamingService.NamingServiceTransient; -import gnu.classpath.tools.HelpPrinter; - -/** - * The implementation of the transient naming service. The naming service - * is a kind of the network server that registers local and remote objects - * by name, and later can provide the object reference in response to the - * given name. - * - * GNU Classpath currently works with this naming service and is also - * interoperable with the Sun Microsystems naming services from releases 1.3 and - * 1.4, both transient tnameserv and persistent orbd. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class NameService -{ - /** - * Start the naming service on the current host at the given port. The - * parameter -org.omg.CORBA.ORBInitialPort NNN or -ORBInitialPort NNN, if - * present, specifies the port, on that the service must be started. If this - * key is not specified, the service starts at the port 900. - * - * The parameter -ior FILE_NAME, if present, forces to store the ior string of - * this naming service to the specified file. - * - * @param args the parameter string. - */ - public static void main(String[] args) - { - HelpPrinter.checkHelpKey(args, "giop/NamingService.txt"); - System.out.println("Please use --help for options."); - NamingServiceTransient.main(args); - } - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.java b/libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.java deleted file mode 100644 index df0c9539d6a..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.java +++ /dev/null @@ -1,186 +0,0 @@ -/* NamingServicePersistent.java -- The persistent naming service. - Copyright (C) 2006 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. */ - -package gnu.classpath.tools.giop; - -import gnu.CORBA.OrbFunctional; -import gnu.CORBA.IOR; -import gnu.CORBA.NamingService.Ext; -import gnu.classpath.tools.HelpPrinter; -import gnu.classpath.tools.giop.nameservice.PersistentContext; - -import org.omg.CosNaming.NamingContextExt; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; - -/** - * The server for the gnu classpath persistent naming service. - * - * GNU Classpath currently works with this naming service and is also - * interoperable with the Sun Microsystems naming services from releases 1.3 and - * 1.4, both transient tnameserv and persistent orbd. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class NameServicePersistent -{ - /** - * The default port (900), on that the naming service starts if no - * -ORBInitialPort is specified in the command line. - */ - public static final int PORT = 900; - - /** - * Get the object key for the naming service. The default key is the string - * "NameService" in ASCII. - * - * @return the byte array. - */ - public static byte[] getDefaultKey() - { - try - { // NameService - return "NameService".getBytes("UTF-8"); - } - catch (UnsupportedEncodingException ex) - { - throw new InternalError("UTF-8 unsupported"); - } - } - - /** - * Start the naming service on the current host at the given port. The - * parameter -org.omg.CORBA.ORBInitialPort NNN or -ORBInitialPort NNN, if - * present, specifies the port, on that the service must be started. If this - * key is not specified, the service starts at the port 900. The parameter - * -ior FILE_NAME, if present, forces to store the ior string of this naming - * service to the specified file. - * - * @param args the parameter string. - */ - public static void main(String[] args) - { - HelpPrinter.checkHelpKey(args, "giop/NameServicePersistent.txt"); - System.out.println("Please use --help for options."); - - int port = PORT; - String iorf = null; - boolean reset = false; - String folder = ""; - try - { - // Create and initialize the ORB - final OrbFunctional orb = new OrbFunctional(); - - for (int i = 0; i < args.length; i++) - { - if (i < args.length - 1) - { - if (args[i].endsWith("ORBInitialPort")) - port = Integer.parseInt(args[i + 1]); - - if (args[i].equals("-ior")) - iorf = args[i + 1]; - - if (args[i].equals("-folder")) - folder = args[i + 1]; - } - if (args[i].equals("-reset")) - reset = true; - } - - OrbFunctional.setPort(port); - - // Create the servant and register it with the ORB - File dataFolder = new File(folder); - System.out.println("Persistent data stored at " - + dataFolder.getAbsolutePath()); - dataFolder.mkdirs(); - - // / TODO support more starting modes. - NamingContextExt namer = new Ext( - new PersistentContext( - orb, - dataFolder, - reset)); - - // Case with the key "NameService". - orb.connect(namer, "NameService".getBytes()); - - // Storing the IOR reference. - String ior = orb.object_to_string(namer); - IOR iorr = IOR.parse(ior); - if (iorf != null) - { - FileOutputStream f = new FileOutputStream(iorf); - PrintStream p = new PrintStream(f); - p.print(ior); - p.close(); - } - - System.out.println("GNU Classpath persistent naming service " - + "started at " + iorr.Internet.host + ":" - + iorr.Internet.port + " key 'NameService'.\n\n" - + "Copyright (C) 2006 Free Software Foundation\n" - + "This tool comes with ABSOLUTELY NO WARRANTY. " - + "This is free software, and you are\nwelcome to " - + "redistribute it under conditions, defined in " - + "GNU Classpath license.\n\n" + ior); - - new Thread() - { - public void run() - { - // Wait for invocations from clients. - orb.run(); - } - }.start(); - } - catch (Exception e) - { - System.err.println("ERROR: " + e); - e.printStackTrace(System.out); - } - - // Restore the default value for allocating ports for the subsequent - // objects. - OrbFunctional.setPort(OrbFunctional.DEFAULT_INITIAL_PORT); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.txt b/libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.txt deleted file mode 100644 index 3de15f62a96..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/NameServicePersistent.txt +++ /dev/null @@ -1,28 +0,0 @@ -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -GNU Classpath GIOP persitent naming service. - usage: NameServicePersistent - - where includes: -* -org.omg.CORBA.ORBInitialPort NNN - or -ORBInitialPort NNN - specifies the port, on that the - service must be started. If this key - is not specified, the service starts - at the port 900. - -* -ior FILE_NAME - store the IOR reference to this naming - service to the specified file. The - IOR reference contains enough - information to locate the service - on the web. -* - folder FOLDER - store the persistent information - to the given folder -* - reset - discard any previously stored - persistent information (cold start) - - - diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/NamingService.txt b/libjava/classpath/tools/gnu/classpath/tools/giop/NamingService.txt deleted file mode 100644 index f57e4ac66a7..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/NamingService.txt +++ /dev/null @@ -1,21 +0,0 @@ -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -GNU Classpath GIOP naming service, usage: NameService - - where includes: -* -org.omg.CORBA.ORBInitialPort NNN or -* -ORBInitialPort NNN - specifies the port, on that the - service must be started. If this key - is not specified, the service starts - at the port 900. - -* -ior FILE_NAME - store the IOR reference to this naming - service to the specified file. The - IOR reference contains enough - information to locate the service - on the web. - diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/README b/libjava/classpath/tools/gnu/classpath/tools/giop/README deleted file mode 100644 index 94fc2f15825..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/README +++ /dev/null @@ -1,19 +0,0 @@ -This package defines GIOP tools for creating the applications that use this -protocol. It provides necessary support for org.omg.* and javax.rmi.* -packages. - -All GIOP tools support the --help option. - -The list of the currently available tools: - -* GRMIC - RMI-IIOP stub and tie generator. -* NameService - GIOP transient naming service (this tool is called - tnameserv in Sun's package). -* NameServicePersistent - - GIOP persistent naming service (this tool is called - orbd in Sun's package). -* IorParser - Parses the stringified form of the interoperable - object references (IOR's). -* RMIC - RMI stub and tie source code generator (complements - the ASM based bytecode generator in the separate - tools package). \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/CompilationError.java b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/CompilationError.java deleted file mode 100644 index d1fa814ee38..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/CompilationError.java +++ /dev/null @@ -1,52 +0,0 @@ -/* CompilationError.java -- Thrown on compilation error. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - -package gnu.classpath.tools.giop.grmic; - -/** - * This error is thrown when the target being compiled has illegal - * strutures. - * - * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) - */ -public class CompilationError extends Error -{ - /** - * Use serialVersionUID for interoperability. - */ - private static final long serialVersionUID = 1; - - /** - * Create error with explaining message and cause. - */ - public CompilationError(String message, Throwable cause) - { - super(message, cause); - } - - /** - * Create error with explaining message - */ - public CompilationError(String message) - { - super(message); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/Generator.java b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/Generator.java deleted file mode 100644 index 17ab821ecc9..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/Generator.java +++ /dev/null @@ -1,128 +0,0 @@ -/* Generator.java -- Generic code generator. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - -package gnu.classpath.tools.giop.grmic; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.StringReader; -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; - -/** - * Contains basic methods, used in code generation. - * - * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) - */ -public class Generator -{ - /** - * Get resource with the given name, as string. - * - * @param name the resource name - * @return the resourse string (in subfolder /templates). - */ - public String getResource(String name) - { - String resourcePath = "templates/" + name; - InputStream in = getClass().getResourceAsStream(resourcePath); - - if (in == null) - throw new InternalError(getClass().getName() + ": no resource " - + resourcePath); - - BufferedReader r = new BufferedReader(new InputStreamReader(in)); - StringBuffer b = new StringBuffer(); - - String s; - try - { - while ((s = r.readLine()) != null) - { - b.append(s); - b.append('\n'); - } - r.close(); - } - catch (IOException e) - { - InternalError ierr = new InternalError("No expected resource " + name); - ierr.initCause(e); - throw ierr; - } - - return b.toString(); - } - - /** - * Replace the variable references (starting from #) in the template string by - * the values, present in the given map. The strings, not present in the - * variable map, are ignored. - * - * @param template - * the template string - * @param variables - * the map of variables (name to value) to replace. - * @return the string with replaced values. - */ - public String replaceAll(String template, Map variables) - { - BufferedReader r = new BufferedReader(new StringReader(template)); - String s; - StringBuffer b = new StringBuffer(template.length()); - try - { - Iterator iter; - Collection vars = variables.keySet(); - while ((s = r.readLine()) != null) - { - // At least one variable must appear in the string to make - // the string scan sensible. - if (s.indexOf('#') >= 0) - { - iter = vars.iterator(); - String variable; - while (iter.hasNext()) - { - variable = (String) iter.next(); - if (s.indexOf(variable) >= 0) - s = s.replaceAll(variable, - (String) variables.get(variable)); - } - } - b.append(s); - b.append('\n'); - } - r.close(); - } - catch (IOException e) - { - // This should never happen. - InternalError ierr = new InternalError(""); - ierr.initCause(e); - throw ierr; - } - return b.toString(); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopIo.java b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopIo.java deleted file mode 100644 index 0e0df7bc57a..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopIo.java +++ /dev/null @@ -1,112 +0,0 @@ -/* GiopIo.java -- Generates GIOP input/output statements. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - -package gnu.classpath.tools.giop.grmic; - -import java.rmi.Remote; - -import org.omg.CORBA.portable.ObjectImpl; - -/** - * Generates the code for reading and writing data over GIOP stream. - * - * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) - */ -public class GiopIo -{ - /** - * Get the statement for writing the variable of the given type to the GIOP ({@link org.omg.CORBA_2_3.portable.OutputStream) stream. The - * stream is always named "out". - * - * @param c - * the class of the object being written - * @param variable - * the variable, where the object value is stored - * @param r - * the parent generator, used to name the class - * @return the write statement. - */ - public static String getWriteStatement(Class c, String variable, GiopRmicCompiler r) - { - if (c.equals(boolean.class)) - return "out.write_boolean(" + variable + ");"; - if (c.equals(byte.class)) - return "out.write_octet(" + variable + ");"; - else if (c.equals(short.class)) - return "out.write_int(" + variable + ");"; - else if (c.equals(int.class)) - return "out.write_long(" + variable + ");"; - else if (c.equals(long.class)) - return "out.write_long_long(" + variable + ");"; - else if (c.equals(double.class)) - return "out.write_double(" + variable + ");"; - else if (c.equals(float.class)) - return "out.write_float(" + variable + ");"; - else if (c.equals(char.class)) - return "out.write_char(" + variable + ");"; - else if (Remote.class.isAssignableFrom(c)) - return "Util.writeRemoteObject(out, " + variable + ");"; - else if (ObjectImpl.class.isAssignableFrom(c)) - return "out.write_Object(" + variable + ");"; - else - return "out.write_value(" + variable + ", " + r.name(c) + ".class);"; - } - - /** - * Get the statement for reading the value of the given type from to the GIOP ({@link org.omg.CORBA_2_3.portable.InputStream) stream. The - * stream is always named "in". - * - * @param c - * the class of the object being written - * @param r - * the parent generator, used to name the class - * @return the right side of the read statement. - */ - public static String getReadStatement(Class c, GiopRmicCompiler r) - { - if (c.equals(boolean.class)) - return "in.read_boolean();"; - else if (c.equals(byte.class)) - return "in.read_octet();"; - else if (c.equals(short.class)) - return "in.read_int();"; - else if (c.equals(int.class)) - return "in.read_long();"; - else if (c.equals(long.class)) - return "in.read_long_long();"; - else if (c.equals(double.class)) - return "in.read_double();"; - else if (c.equals(float.class)) - return "in.read_float();"; - else if (c.equals(char.class)) - return "in.read_char();"; - else if (Remote.class.isAssignableFrom(c)) - return "(" + r.name(c) - + ") PortableRemoteObject.narrow(in.read_Object()," + r.name(c) - + ".class);"; - else if (ObjectImpl.class.isAssignableFrom(c)) - return "in.read_Object();"; - else - return "(" + r.name(c) - + ") in.read_value(" + r.name(c) + ".class);"; - } - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java deleted file mode 100644 index 6d895a14cd3..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java +++ /dev/null @@ -1,593 +0,0 @@ -/* GiopRmicCompiler -- Central GIOP-based RMI stub and tie compiler class. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - -package gnu.classpath.tools.giop.grmic; - -import gnu.classpath.tools.AbstractMethodGenerator; - -import java.io.File; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Properties; -import java.util.StringTokenizer; -import java.util.TreeSet; - -/** - * Provides the extended rmic functionality to generate the POA - based classes - * for GIOP (javax.rmi.CORBA package). - * - * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) - */ -public class GiopRmicCompiler - extends Generator implements Comparator -{ - /** The package name. */ - protected String packag; - - /** - * The "basic" name (normally, the interface name, unless several Remote - - * derived interfaces are implemented. - */ - protected String name; - - /** - * The name (without package) of the class, passed as the parameter. - */ - protected String implName; - - /** - * The proposed name for the stub. - */ - protected String stubName; - - /** - * The Remote's, implemented by this class. - */ - protected Collection implementedRemotes = new HashSet(); - - /** - * The extra classes that must be imported. - */ - protected Collection extraImports = new HashSet(); - - /** - * The methods we must implement. - */ - protected Collection methods = new HashSet(); - - /** - * The map of all code generator variables. - */ - public Properties vars = new Properties(); - - /** - * If this flag is set (true by default), the compiler generates the Servant - * based classes. If set to false, the compiler generates the old style - * ObjectImpl based classes. - */ - protected boolean poaMode = true; - - /** - * If this flag is set (true by default), the compiler emits warnings. - */ - protected boolean warnings = true; - - /** - * Verbose output - */ - protected boolean verbose = false; - - /** - * Force mode - do not check the exceptions - */ - protected boolean force = false; - - /** - * The class loader to load the class being compiled. - */ - ClassLoader classLoader; - - /** - * Clear data, preparing for the next compilation. - */ - public void reset() - { - packag = name = implName = stubName = null; - implementedRemotes.clear(); - extraImports.clear(); - methods.clear(); - vars.clear(); - } - - /** - * Set the class path (handle the -classpath key) - * - * @param classPath the class path to set. - */ - public void setClassPath(String classPath) - { - classLoader = Thread.currentThread().getContextClassLoader(); - StringTokenizer tok = new StringTokenizer(classPath, File.pathSeparator, - true); - ArrayList urls = new ArrayList(tok.countTokens()); - String s = null; - try - { - while (tok.hasMoreTokens()) - { - s = tok.nextToken(); - if (s.equals(File.pathSeparator)) - urls.add(new File(".").toURL()); - else - { - urls.add(new File(s).toURL()); - if (tok.hasMoreTokens()) - { - // Skip the separator. - tok.nextToken(); - // If the classpath ended with a separator, - // append the current directory. - if (! tok.hasMoreTokens()) - urls.add(new File(".").toURL()); - } - } - } - } - catch (MalformedURLException ex) - { - System.err.println("Malformed path '" + s + "' in classpath '" - + classPath + "'"); - System.exit(1); - } - URL[] u = new URL[urls.size()]; - for (int i = 0; i < u.length; i++) - { - u[i] = (URL) urls.get(i); - } - - classLoader = new URLClassLoader(u, classLoader); - } - - /** - * Loads the class with the given name (uses class path, if applicable) - * - * @param name the name of the class. - */ - public Class loadClass(String name) - { - ClassLoader loader = classLoader; - if (loader == null) - loader = Thread.currentThread().getContextClassLoader(); - try - { - return loader.loadClass(name); - } - catch (ClassNotFoundException e) - { - System.err.println(name+" not found on "+loader); - System.exit(1); - // Unreacheable code. - return null; - } - } - - /** - * Compile the given class (the instance of Remote), generating the stub and - * tie for it. - * - * @param remote - * the class to compile. - */ - public synchronized void compile(Class remote) - { - reset(); - String s; - - // Get the package. - s = remote.getName(); - int p = s.lastIndexOf('.'); - if (p < 0) - { - // Root package. - packag = ""; - implName = name = s; - } - else - { - packag = s.substring(0, p); - implName = name = s.substring(p + 1); - } - - name = convertStubName(name); - - stubName = name; - - vars.put("#name", name); - vars.put("#package", packag); - vars.put("#implName", implName); - - if (verbose) - System.out.println("Package " + packag + ", name " + name + " impl " - + implName); - - // Get the implemented remotes. - Class[] interfaces = remote.getInterfaces(); - - for (int i = 0; i < interfaces.length; i++) - { - if (Remote.class.isAssignableFrom(interfaces[i])) - { - if (! interfaces[i].equals(Remote.class)) - { - implementedRemotes.add(interfaces[i]); - } - } - } - - vars.put("#idList", getIdList(implementedRemotes)); - - // Collect and process methods. - Iterator iter = implementedRemotes.iterator(); - - while (iter.hasNext()) - { - Class c = (Class) iter.next(); - Method[] m = c.getMethods(); - - // Check if throws RemoteException. - for (int i = 0; i < m.length; i++) - { - Class[] exc = m[i].getExceptionTypes(); - boolean remEx = false; - - for (int j = 0; j < exc.length; j++) - { - if (RemoteException.class.isAssignableFrom(exc[j])) - { - remEx = true; - break; - } - } - if (! remEx && !force) - throw new CompilationError(m[i].getName() + ", defined in " - + c.getName() - + ", does not throw " - + RemoteException.class.getName()); - AbstractMethodGenerator mm = createMethodGenerator(m[i]); - methods.add(mm); - } - } - } - - /** - * Create the method generator for the given method. - * - * @param m the method - * - * @return the created method generator - */ - protected AbstractMethodGenerator createMethodGenerator(Method m) - { - return new MethodGenerator(m, this); - } - - /** - * Get the name of the given class. The class is added to imports, if not - * already present and not from java.lang and not from the current package. - * - * @param nameIt - * the class to name - * @return the name of class as it should appear in java language - */ - public String name(Class nameIt) - { - if (nameIt.isArray()) - { - // Mesure dimensions: - int dimension = 0; - Class finalComponent = nameIt; - while (finalComponent.isArray()) - { - finalComponent = finalComponent.getComponentType(); - dimension++; - } - - StringBuffer brackets = new StringBuffer(); - - for (int i = 0; i < dimension; i++) - { - brackets.append("[]"); - } - - return name(finalComponent) + " " + brackets; - } - else - { - String n = nameIt.getName(); - if (! nameIt.isArray() && ! nameIt.isPrimitive()) - if (! n.startsWith("java.lang") - && ! (packag != null && n.startsWith(packag))) - extraImports.add(n); - - int p = n.lastIndexOf('.'); - if (p < 0) - return n; - else - return n.substring(p + 1); - } - } - - /** - * Get the RMI-style repository Id for the given class. - * - * @param c - * the interface, for that the repository Id must be created. - * @return the repository id - */ - public String getId(Class c) - { - return "RMI:" + c.getName() + ":0000000000000000"; - } - - /** - * Get repository Id string array declaration. - * - * @param remotes - * the collection of interfaces - * @return the fully formatted string array. - */ - public String getIdList(Collection remotes) - { - StringBuffer b = new StringBuffer(); - - // Keep the Ids sorted, ensuring, that the same order will be preserved - // between compilations. - TreeSet sortedIds = new TreeSet(); - - Iterator iter = remotes.iterator(); - while (iter.hasNext()) - { - sortedIds.add(getId((Class) iter.next())); - } - - iter = sortedIds.iterator(); - while (iter.hasNext()) - { - b.append(" \"" + iter.next() + "\""); - if (iter.hasNext()) - b.append(", \n"); - } - return b.toString(); - } - - /** - * Generate stub. Can only be called from {@link #compile}. - * - * @return the string, containing the text of the generated stub. - */ - public String generateStub() - { - String template = getResource("Stub.jav"); - - // Generate methods. - StringBuffer b = new StringBuffer(); - Iterator iter = methods.iterator(); - while (iter.hasNext()) - { - AbstractMethodGenerator m = (AbstractMethodGenerator) iter.next(); - b.append(m.generateStubMethod()); - } - - vars.put("#stub_methods", b.toString()); - vars.put("#imports", getImportStatements()); - vars.put("#interfaces", getAllInterfaces()); - - String output = replaceAll(template, vars); - return output; - } - - /** - * Get the list of all interfaces, implemented by the class, that are - * derived from Remote. - * - * @return the string - all interfaces. - */ - public String getAllInterfaces() - { - StringBuffer b = new StringBuffer(); - Iterator iter = implementedRemotes.iterator(); - - while (iter.hasNext()) - { - b.append(name((Class) iter.next())); - if (iter.hasNext()) - b.append(", "); - } - - return b.toString(); - } - - /** - * Generate Tie. Can only be called from {@link #compile}. - * - * @return the string, containing the text of the generated Tie. - */ - public String generateTie() - { - String template; - if (poaMode) - template = getResource("Tie.jav"); - else - template = getResource("ImplTie.jav"); - - // Generate methods. - HashFinder hashFinder = new HashFinder(); - - // Find the hash character position: - Iterator iter = methods.iterator(); - String[] names = new String[methods.size()]; - int p = 0; - - for (int i = 0; i < names.length; i++) - names[i] = ((MethodGenerator) iter.next()).getGiopMethodName(); - - int hashCharPosition = hashFinder.findHashCharPosition(names); - - iter = methods.iterator(); - while (iter.hasNext()) - ((MethodGenerator) iter.next()).hashCharPosition = hashCharPosition; - - vars.put("#hashCharPos", Integer.toString(hashCharPosition)); - - ArrayList sortedMethods = new ArrayList(methods); - Collections.sort(sortedMethods, this); - - iter = sortedMethods.iterator(); - - StringBuffer b = new StringBuffer(); - - MethodGenerator prev = null; - - while (iter.hasNext()) - { - MethodGenerator m = (MethodGenerator) iter.next(); - m.previous = prev; - m.hashCharPosition = hashCharPosition; - prev = m; - b.append(m.generateTieMethod()); - } - - vars.put("#tie_methods", b.toString()); - - vars.put("#imports", getImportStatements()); - - String output = replaceAll(template, vars); - return output; - } - - public int compare(Object a, Object b) - { - MethodGenerator g1 = (MethodGenerator) a; - MethodGenerator g2 = (MethodGenerator) b; - - return g1.getHashChar() - g2.getHashChar(); - } - - /** - * Import the extra classes, used as the method parameters and return values. - * - * @return the additional import block. - */ - protected String getImportStatements() - { - TreeSet imp = new TreeSet(); - - Iterator it = extraImports.iterator(); - while (it.hasNext()) - { - String ic = it.next().toString(); - imp.add("import " + ic + ";\n"); - } - - StringBuffer b = new StringBuffer(); - it = imp.iterator(); - - while (it.hasNext()) - { - b.append(it.next()); - } - return b.toString(); - } - - /** - * If this flag is set (true by default), the compiler generates the Servant - * based classes. If set to false, the compiler generates the old style - * ObjectImpl based classes. - */ - public void setPoaMode(boolean mode) - { - poaMode = mode; - } - - /** - * Set the verbose output mode (false by default) - * - * @param isVerbose the verbose output mode - */ - public void setVerbose(boolean isVerbose) - { - verbose = isVerbose; - } - - /** - * If this flag is set (true by default), the compiler emits warnings. - */ - public void setWarnings(boolean warn) - { - warnings = warn; - } - - /** - * Set the error ignore mode. - */ - public void setForce(boolean isforce) - { - force = isforce; - } - - /** - * Get the package name. - */ - public String getPackageName() - { - return packag; - } - - /** - * Get the proposed stub name - */ - public String getStubName() - { - return stubName; - } - - /** - * Additional processing of the stub name. - */ - public String convertStubName(String name) - { - // Drop the Impl suffix, if one exists. - if (name.endsWith("Impl")) - return name.substring(0, name.length() - "Impl".length()); - else - return name; - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/HashFinder.java b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/HashFinder.java deleted file mode 100644 index 2efdb1e76de..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/HashFinder.java +++ /dev/null @@ -1,84 +0,0 @@ -/* HashFinder.java -- finds the hash character. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - - -package gnu.classpath.tools.giop.grmic; - -import java.util.HashSet; - -/** - * This class finds the hash character (the most different character in - * the passed array of strings). This character is used to accelerate the - * method invocation by name. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class HashFinder -{ - /** - * Find the hash char position in the given collection of strings. - * - * @param strings the string collection - * - * @return the optimal hash character position, always less then the - * length of the shortest string. - */ - public int findHashCharPosition(String[] strings) - { - // Find the length of the shortest string: - - int l = strings[0].length(); - for (int i = 1; i < strings.length; i++) - { - if (strings[i].length() < l) - l = strings[i].length(); - } - - // Find the position with the smallest number of the matching characters: - HashSet[] charLists = new HashSet[l]; - - for (int i = 0; i < charLists.length; i++) - { - charLists[i] = new HashSet(strings.length); - } - - for (int i = 0; i < strings.length; i++) - for (int p = 0; p < l; p++) - { - charLists[p].add(new Integer(strings[i].charAt(p))); - } - - int m = 0; - int v = charLists[0].size(); - - for (int i = 1; i < charLists.length; i++) - { - // Replace on equality also, seeking the hash char closer to the end - // of line. - if (charLists[i].size()>=v) - { - m = i; - v = charLists[i].size(); - } - } - return m; - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java deleted file mode 100644 index 80148d51aff..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java +++ /dev/null @@ -1,285 +0,0 @@ -/* MethodGenerator.java -- Generates methods for GIOP rmic compiler. - Copyright (C) 2006 Free Software Foundation - -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. -*/ - -package gnu.classpath.tools.giop.grmic; - -import gnu.classpath.tools.AbstractMethodGenerator; - -import java.lang.reflect.Method; -import java.util.Properties; - -/** - * Keeps information about the single method and generates the code fragments, - * related to that method. - * - * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) - */ -public class MethodGenerator implements AbstractMethodGenerator -{ - /** - * The method being defined. - */ - Method method; - - /** - * The parent code generator. - */ - GiopRmicCompiler rmic; - - /** - * The previous method in the list, null for the first element. - * Used to avoid repretetive inclusion of the same hash code label. - */ - MethodGenerator previous = null; - - /** - * The hash character position. - */ - int hashCharPosition; - - /** - * Create the new method generator for the given method. - * - * @param aMethod - * the related method. - * @param aRmic - * the Rmic generator instance, where more class - related - * information is defined. - */ - public MethodGenerator(Method aMethod, GiopRmicCompiler aRmic) - { - method = aMethod; - rmic = aRmic; - } - - /** - * Get the method name. - * - * @return the name of the method. - */ - public String getGiopMethodName() - { - String m = method.getName(); - if (m.startsWith("get")) - return "_get_J" + m.substring("get".length()); - else if (m.startsWith("set")) - return "_set_J" + m.substring("set".length()); - else - return m; - } - - /** - * Get the method parameter declaration. - * - * @return the string - method parameter declaration. - */ - public String getArgumentList() - { - StringBuffer b = new StringBuffer(); - - Class[] args = method.getParameterTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(rmic.name(args[i])); - b.append(" p" + i); - if (i < args.length - 1) - b.append(", "); - } - return b.toString(); - } - - /** - * Get the method parameter list only (no type declarations). This is used to - * generate the method invocations statement. - * - * @return the string - method parameter list. - */ - public String getArgumentNames() - { - StringBuffer b = new StringBuffer(); - - Class[] args = method.getParameterTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(" p" + i); - if (i < args.length - 1) - b.append(", "); - } - return b.toString(); - } - - /** - * Get the list of exceptions, thrown by this method. - * - * @return the list of exceptions. - */ - public String getThrows() - { - StringBuffer b = new StringBuffer(); - - Class[] args = method.getExceptionTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(rmic.name(args[i])); - if (i < args.length - 1) - b.append(", "); - } - return b.toString(); - } - - /** - * Generate this method for the Stub class. - * - * @return the method body for the stub class. - */ - public String generateStubMethod() - { - String templateName; - - Properties vars = new Properties(rmic.vars); - vars.put("#return_type", rmic.name(method.getReturnType())); - vars.put("#method_name", method.getName()); - vars.put("#giop_method_name", getGiopMethodName()); - vars.put("#argument_list", getArgumentList()); - vars.put("#argument_names", getArgumentNames()); - - vars.put("#argument_write", getStubParaWriteStatement()); - - if (method.getReturnType().equals(void.class)) - vars.put("#read_return", "return;"); - else - vars.put("#read_return", - "return " - + GiopIo.getReadStatement(method.getReturnType(), rmic)); - String thr = getThrows(); - if (thr.length() > 0) - vars.put("#throws", "\n throws " + thr); - else - vars.put("#throws", ""); - - if (method.getReturnType().equals(void.class)) - templateName = "StubMethodVoid.jav"; - else - { - vars.put("#write_result", - GiopIo.getWriteStatement(method.getReturnType(), "result", - rmic)); - templateName = "StubMethod.jav"; - } - - String template = rmic.getResource(templateName); - String generated = rmic.replaceAll(template, vars); - return generated; - } - - /** - * Generate this method handling fragment for the Tie class. - * - * @return the fragment to handle this method for the Tie class. - */ - public String generateTieMethod() - { - String templateName; - - Properties vars = new Properties(rmic.vars); - vars.put("#return_type", rmic.name(method.getReturnType())); - vars.put("#method_name", method.getName()); - vars.put("#giop_method_name", getGiopMethodName()); - vars.put("#argument_list", getArgumentList()); - vars.put("#argument_names", getArgumentNames()); - - vars.put("#argument_write", getStubParaWriteStatement()); - - if (previous == null || previous.getHashChar()!=getHashChar()) - vars.put("#hashCodeLabel"," case '"+getHashChar()+"':"); - else - vars.put("#hashCodeLabel"," // also '"+getHashChar()+"':"); - - if (method.getReturnType().equals(void.class)) - templateName = "TieMethodVoid.jav"; - else - { - vars.put("#write_result", - GiopIo.getWriteStatement(method.getReturnType(), "result", - rmic)); - templateName = "TieMethod.jav"; - } - vars.put("#read_and_define_args", getRda()); - - String template = rmic.getResource(templateName); - String generated = rmic.replaceAll(template, vars); - return generated; - } - - /** - * Generate sentences for Reading and Defining Arguments. - * - * @return the sequence of sentences for reading and defining arguments. - */ - public String getRda() - { - StringBuffer b = new StringBuffer(); - Class[] args = method.getParameterTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(" "); - b.append(rmic.name(args[i])); - b.append(" "); - b.append("p"+i); - b.append(" = "); - b.append(GiopIo.getReadStatement(args[i], rmic)); - if (ithis, always. - */ - public org.omg.CORBA.Object thisObject() - { - return this; - } - - /** - * Deactivates this object, disconnecting it from the orb. - */ - public void deactivate() - { - _orb().disconnect(this); - _set_delegate(null); - target = null; - } - - /** - * Get the {@link ORB} where this {@link Servant} is connected. - * - * @return the ORB - */ - public ORB orb() - { - return _orb(); - } - - /** - * Connect this servant to the given ORB. - */ - public void orb(ORB orb) - { - orb.connect(this); - } - -/** - * This method is invoked by ORB in response to the remote call. It redirects - * the call to one of the methods in the target. - * - * @param method the name of the method to call. - * @param parameter_stream the input stream, from where the parameters must be - * read. - * @param reply the response hander, providing methods to return the result. - * - * @return the output stream, created by the response handler - * - * @throws SystemException if one occurs during method invocation. - */ - public OutputStream _invoke(String method, - org.omg.CORBA.portable.InputStream parameter_stream, - ResponseHandler reply) - { - try - { - InputStream in =(InputStream) parameter_stream; - -#tie_methods - - throw new BAD_OPERATION("No such method: '"+method+"'"); - } - catch (SystemException ex) - { - throw ex; - } - catch (Throwable ex) - { - throw new UnknownException(ex); - } - } -} \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav deleted file mode 100644 index 371e12d4486..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav +++ /dev/null @@ -1,47 +0,0 @@ -package #package; - -#imports -import java.rmi.UnexpectedException; - -import javax.rmi.CORBA.Stub; -import javax.rmi.CORBA.Util; - -import org.omg.CORBA.SystemException; -import org.omg.CORBA.portable.ApplicationException; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.RemarshalException; - -import org.omg.CORBA_2_3.portable.OutputStream; - -/** - * This class delegates its method calls to the remote GIOP object. - * It is normally generated with grmic. - */ -public class _#name_Stub extends Stub - implements #interfaces -{ - /** - * Use serialVersionUID for interoperability. - */ - private static final long serialVersionUID = 1; - - /** - * The array of repository ids, supported by this GIOP Object - */ - private static final String[] type_ids = - { -#idList - }; - - /** - * Return the array of repository ids, supported by this GIOP Object. - * - * @return the array of Ids. - */ - public String[] _ids() - { - return type_ids; - } - -#stub_methods -} \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav deleted file mode 100644 index 17636deb670..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav +++ /dev/null @@ -1,33 +0,0 @@ - /** @inheritDoc */ - public #return_type #method_name(#argument_list) #throws - { - try - { - InputStream in = null; - try - { - OutputStream out = - (OutputStream) _request("#giop_method_name", true); -#argument_write - in = _invoke(out); - #read_return - } - catch (ApplicationException ex) - { - in = ex.getInputStream(); - throw new UnexpectedException(in.read_string()); - } - catch (RemarshalException ex) - { - return #method_name(#argument_names); - } - finally - { - _releaseReply(in); - } - } - catch (SystemException ex) - { - throw Util.mapSystemException(ex); - } - } diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav deleted file mode 100644 index 0125a02b0a3..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav +++ /dev/null @@ -1,32 +0,0 @@ - /** @inheritDoc */ - public #return_type #method_name(#argument_list) #throws - { - try - { - InputStream in = null; - try - { - OutputStream out = - (OutputStream) _request("#giop_method_name", true); -#argument_write - in = _invoke(out); - } - catch (ApplicationException ex) - { - in = ex.getInputStream(); - throw new UnexpectedException(in.read_string()); - } - catch (RemarshalException ex) - { - #method_name(#argument_names); - } - finally - { - _releaseReply(in); - } - } - catch (SystemException ex) - { - throw Util.mapSystemException(ex); - } - } diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav deleted file mode 100644 index 797ae1401de..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav +++ /dev/null @@ -1,184 +0,0 @@ -package #package; - -#imports -import java.rmi.Remote; -import javax.rmi.PortableRemoteObject; -import javax.rmi.CORBA.Tie; - -import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; -import org.omg.CORBA.SystemException; -import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.ResponseHandler; -import org.omg.CORBA.portable.UnknownException; -import org.omg.PortableServer.Servant; -import org.omg.PortableServer.POA; -import org.omg.PortableServer.POAPackage.WrongPolicy; -import org.omg.PortableServer.POAPackage.ObjectNotActive; -import org.omg.PortableServer.POAPackage.ServantNotActive; - -import org.omg.CORBA_2_3.portable.InputStream; - -/** - * This class accepts remote calls to the served GIOP object and delegates them - * to the enclosed implementing class. Being servant, it must be connected to - * the ORB Poa. - * It is normally generated with grmic -poa - */ -public class _#nameImpl_Tie extends Servant implements Tie -{ - /** - * All decoded remote calls are forwarded to this target. - */ - #implName target; - - /** - * The array of repository ids, supported by this GIOP Object - */ - private static final String[] type_ids = - { -#idList - }; - - /** - * Get an array of all interfaces, supported by this - * {@link Servant}. - * - * @param poa unused - * @param objectId unused - * - * @return the array of Ids. - */ - public String[] _all_interfaces(POA poa, - byte[] objectId - ) - { - return type_ids; - } - - - /** - * Set the invocation target, where all received calls are finally - * forwarded. - * - * @param a_target the forwarding target - * - * @throws ClassCastException if the target is not an instance of - * #implName - */ - public void setTarget(Remote a_target) - { - this.target = (#implName) a_target; - } - - /** - * Get the invocation target, where all received calls are finally - * forwarded. - * - * @return the target, an instance of - * #implName - */ - public Remote getTarget() - { - return target; - } - - /** - * Return the actual GIOP object that would handle this request. - * - * @return the GIOP object. - */ - public org.omg.CORBA.Object thisObject() - { - return _this_object(); - } - - /** - * Deactivate this {@link Servant}. The WrongPolicy, ObjectNotActive - * and ServantNotActive exceptions, if thrown during deactivation, are - * catched and silently ignored. - */ - public void deactivate() - { - try - { - _poa().deactivate_object(_poa().servant_to_id(this)); - } - catch (WrongPolicy exception) - { - } - catch (ObjectNotActive exception) - { - } - catch (ServantNotActive exception) - { - } - } - - /** - * Get the {@link ORB} where this {@link Servant} is connected. - * - * @return the ORB - */ - public ORB orb() - { - return _orb(); - } - - /** - * Connect this servant to the given ORB. It is recommended to connect - * servant to the ORBs root or other POA rather than using this method. - */ - public void orb(ORB orb) - { - try - { - ((org.omg.CORBA_2_3.ORB) orb).set_delegate(this); - } - catch (ClassCastException e) - { - throw new org.omg.CORBA.BAD_PARAM( - "POA Servant requires an instance of org.omg.CORBA_2_3.ORB" - ); - } - } - -/** - * This method is invoked by ORB in response to the remote call. It redirects - * the call to one of the methods in the target. - * - * @param method the name of the method to call. - * @param parameter_stream the input stream, from where the parameters must be - * read. - * @param reply the response hander, providing methods to return the result. - * - * @return the output stream, created by the response handler - * - * @throws SystemException if one occurs during method invocation. - */ - public OutputStream _invoke(String method, - org.omg.CORBA.portable.InputStream parameter_stream, - ResponseHandler reply - ) throws SystemException - { - try - { - InputStream in =(InputStream) parameter_stream; - switch (method.charAt(#hashCharPos)) - { -#tie_methods - default: break; - } - - throw new BAD_OPERATION("No such method: '"+method+"'"); - } - catch (SystemException ex) - { - throw ex; - } - catch (Throwable ex) - { - throw new UnknownException(ex); - } - } -} \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav deleted file mode 100644 index 493f0009b48..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav +++ /dev/null @@ -1,11 +0,0 @@ - #hashCodeLabel - // #method_name - if (method.equals("#giop_method_name")) - { -#read_and_define_args - OutputStream out = reply.createReply(); - #return_type result = - target.#method_name(#argument_names); - #write_result - return out; - } diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav b/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav deleted file mode 100644 index 3db17da7c84..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav +++ /dev/null @@ -1,9 +0,0 @@ - #hashCodeLabel - // #method_name - if (method.equals("#giop_method_name")) - { -#read_and_define_args - OutputStream out = reply.createReply(); - target.#method_name(#argument_names); - return out; - } diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java b/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java deleted file mode 100644 index 9f0903f0ab8..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java +++ /dev/null @@ -1,152 +0,0 @@ -/* PersistentContext.java -- The persistent naming context. - Copyright (C) 2006 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. */ - - -package gnu.classpath.tools.giop.nameservice; - -import gnu.CORBA.NamingService.NameTransformer; -import gnu.CORBA.NamingService.TransientContext; - -import java.io.File; - -import org.omg.CORBA.ORB; -import org.omg.CosNaming.NameComponent; -import org.omg.CosNaming.NamingContext; -import org.omg.CosNaming.NamingContextPackage.AlreadyBound; -import org.omg.CosNaming.NamingContextPackage.CannotProceed; -import org.omg.CosNaming.NamingContextPackage.InvalidName; -import org.omg.CosNaming.NamingContextPackage.NotFound; - -/** - * This class implements the persistent naming service, defined by - * {@link NamingContext}. The 'persistent' means that the service remembers the - * mappings, stored between restarts. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class PersistentContext - extends TransientContext -{ - /** - * Use serial version UID for interoperability. - */ - private static final long serialVersionUID = 2; - - /** - * The folder, where the persistent context information is stored. - */ - File contextFolder; - - /** - * The uinque context identifier. - */ - static long num = System.currentTimeMillis(); - - /** - * The naming service orb. - */ - ORB orb; - - /** - * Create the persistent naming context that will store the files in the given - * folder of the local file system. This method also connects object to the - * passed ORB. - * - * @param an_orb the naming service ORB, used to obtain and produce the object - * stringified references. - * @param folder the folder, where the persistent information is stored. - * @param reset if true, the previous naming data are discarded. If false - * (normally expected), they are loaded from the persistent memory to - * provide the persistence. - */ - public PersistentContext(ORB an_orb, File folder, boolean reset) - { - super( - new PersistentContextMap(an_orb, new File(folder, "contexts.txt"), reset), - new PersistentMap(an_orb, new File(folder, "objects.txt"), reset)); - contextFolder = folder; - folder.mkdirs(); - orb = an_orb; - orb.connect(this); - } - - /** - * Get the unique context number; - * - * @return the context number - */ - static synchronized String getNum() - { - return Long.toHexString(num++); - } - - /** - * Create new persistent context. - */ - public NamingContext new_context() - { - File ctxFolder = new File(contextFolder, "ctx_"+getNum()); - return new PersistentContext(orb, ctxFolder, true); - } - - /** - * Create a new context and give it a given name (bound it) in the current - * context. The method benefits from passing the better readable context name. - * - * @param a_name the name being given to the new context. - * @return the newly created context. - * @throws AlreadyBound if the name is already in use. - * @throws InvalidName if the name has zero length or otherwise invalid. - */ - public NamingContext bind_new_context(NameComponent[] a_name) - throws NotFound, AlreadyBound, CannotProceed, InvalidName - { - if (named_contexts.containsKey(a_name[0]) - || named_objects.containsKey(a_name[0])) - throw new AlreadyBound(); - - NameTransformer transformer = new NameTransformer(); - - File ctxFolder = new File(contextFolder, - transformer.toString(a_name).replace('/', '.') - + ".v" + getNum()); - - NamingContext child = new PersistentContext(orb, ctxFolder, true); - bind_context(a_name, child); - return child; - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java b/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java deleted file mode 100644 index ce0188cf2b1..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java +++ /dev/null @@ -1,87 +0,0 @@ -/* PersistentContextMap.java -- The persistent context naming map - Copyright (C) 2006 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. */ - - -package gnu.classpath.tools.giop.nameservice; - -import java.io.File; - -import org.omg.CORBA.ORB; -import org.omg.CORBA.Object; - -/** - * The persistent context naming map for the persistent naming service. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class PersistentContextMap extends PersistentMap -{ - /** - * Create the persistent context map that stores information in the given - * file. - * - * @param an_orb the naming service ORB, used to obtain and produce the object - * stringified references. - * @param mapFile the file, where the persistent information is stored. - * @param reset if true, the previous naming data are discarded. If false - * (normally expected), they are loaded from the persistent memory to - * provide the persistence. - */ - public PersistentContextMap(ORB an_orb, File mapFile, boolean reset) - { - super(an_orb, mapFile, reset); - } - - /** - * This method expects the PersistentContext as its parameter. The returned - * description line is the name of the context parent folder. - */ - protected String object_to_string(Object object) - { - PersistentContext pc = (PersistentContext) object; - return pc.contextFolder.getAbsolutePath(); - } - - /** - * This method restores the PersistenContext. The description line is - * interpreted as the folder name, absolute path. - */ - protected Object string_to_object(String description) - { - return new PersistentContext(orb, new File(description), reset); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java b/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java deleted file mode 100644 index 6939ede17c2..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java +++ /dev/null @@ -1,454 +0,0 @@ -/* PersistentMap.java -- The persistent object naming map - Copyright (C) 2006 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. */ - - -package gnu.classpath.tools.giop.nameservice; - -import gnu.CORBA.NamingService.NamingMap; - -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.util.Iterator; -import java.util.Map; - -import org.omg.CORBA.ORB; -import org.omg.CosNaming.NameComponent; -import org.omg.CosNaming.NamingContextPackage.AlreadyBound; -import org.omg.CosNaming.NamingContextPackage.InvalidName; - -/** - * The persistent object naming map for the persistent naming service. The - * inherited (super.) naming map implementation is transient and is used as a - * cache. During the normal work, the naming map does not read from the disk, - * just stores the changes there. Map only reads from the disk when it starts. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class PersistentMap - extends NamingMap -{ - /** - * The data entry. - */ - public static class Entry - { - String id; - - String kind; - - String ior; - - /** - * Get the name component node. - */ - public NameComponent getComponent() - { - return new NameComponent(id, kind); - } - - /** - * Write the naming map entry to the output stream. - */ - public void write(OutputStream out) throws IOException - { - // Format: id.kind ior - out.write(getKey(id, kind).getBytes()); - out.write('\n'); - out.write(ior.getBytes()); - out.write('\n'); - out.close(); - } - - /** - * Read the name component from the input stream - */ - public boolean read(BufferedReader in) throws IOException - { - String key = in.readLine(); - String xior = in.readLine(); - - if (key != null && xior != null) - { - if (key.length() < 2) - { - // A single char key cannot have the kind part. - id = key; - kind = ""; - } - else - { - // Search for the id/kind splitter, dot: - int iks = - 1; - for (int i = 1; i < key.length(); i++) - { - if (key.charAt(i) == '.') - // The id is separated from kind by dot, unless preceeded by - // the - // escape character, \. - if (key.charAt(i - 1) != '\\') - { - iks = i; - break; - } - } - - // May also end by dot, if the kind field is missing. - if (iks < 0) - { - id = key; - kind = ""; - } - else if (iks == key.length() - 1) - { - id = key.substring(0, key.length() - 1); - kind = ""; - } - else - { - id = key.substring(0, iks); - kind = key.substring(iks + 1); - } - } - ior = xior; - return true; - } - else - return false; - } - - /** - * Get the key value from the name component. - * - * @param id the component id - * @param kind the component kind - * @return the key value - */ - public String getKey(String id, String kind) - { - StringBuffer b = new StringBuffer(id.length() + 8); - appEscaping(b, id); - b.append('.'); - if (kind != null && kind.length() > 0) - appEscaping(b, kind); - return b.toString(); - } - - /** - * Append the contents of the string to this string buffer, inserting the - * escape sequences, where required. - * - * @param b a buffer to append the contents to. - * @param s a string to append. - */ - void appEscaping(StringBuffer b, String s) - { - char c; - for (int i = 0; i < s.length(); i++) - { - c = s.charAt(i); - switch (c) - { - case '.': - case '/': - case '\\': - b.append('\\'); - b.append(c); - break; - - default: - b.append(c); - break; - } - } - } - } - - /** - * The file, where the persistent naming map stores the information. The - * format of this file is n*(id LF kind LF ior LFLF). - */ - public final File file; - - /** - * The naming service ORB, used to obtain and produce the object stringified - * references. - */ - ORB orb; - - /** - * If true, all existing data on the file system are discarded. - */ - boolean reset; - - /** - * Create the persistent map that stores information in the given file. - * - * @param an_orb the naming service ORB, used to obtain and produce the object - * stringified references. - * @param mapFile the file, where the persistent information is stored. - * @param a_reset if true, the previous naming data are discarded. If false - * (normally expected), they are loaded from the persistent memory to - * provide the persistence. - */ - public PersistentMap(ORB an_orb, File mapFile, boolean a_reset) - { - super(); - orb = an_orb; - file = mapFile; - reset = a_reset; - - // Initialise the persistent map with existing data. - if (file.exists() && ! reset) - { - - BufferedReader in; - try - { - FileInputStream fin = new FileInputStream(file); - in = new BufferedReader(new InputStreamReader(fin)); - Entry e = new Entry(); - boolean ok; - - while (e.read(in)) - { - org.omg.CORBA .Object object = string_to_object(e.ior); - orb.connect(object); - map.put(e.getComponent(), object); - } - } - catch (Exception ex) - { - InternalError ierr = new InternalError(file.getAbsolutePath()); - ierr.initCause(ex); - throw ierr; - } - } - } - - /** - * Restore object from its string description. - * - * @param description the string, describing the object - * - * @return the object. - */ - protected org.omg.CORBA.Object string_to_object(String description) - { - return orb.string_to_object(description); - } - - /** - * Convert the object to its string description - * - * @param object the object to convert - * @return the string description of the object - */ - protected String object_to_string(org.omg.CORBA .Object object) - { - return orb.object_to_string(object); - } - - /** - * Put the given GIOP object, specifying the given name as a key. If the entry - * with the given name already exists, or if the given object is already - * mapped under another name, the {@link AlreadyBound} exception will be - * thrown. - * - * @param name the name - * @param object the object - */ - public void bind(NameComponent name, org.omg.CORBA.Object object) - throws AlreadyBound, InvalidName - { - if (!containsKey(name)) - { - super.bind(name, object); - register(name, object); - } - else - throw new AlreadyBound(name.id + "." + name.kind); - } - - /** - * Put the given CORBA object, specifying the given name as a key. Remove all - * pre - existing mappings for the given name and object. - * - * @param name the name. - * @param object the object - */ - public void rebind(NameComponent name, org.omg.CORBA.Object object) - throws InvalidName - { - if (containsKey(name)) - { - org.omg.CORBA.Object existing = get(name); - String ior = object_to_string(object); - String xior = object_to_string(existing); - - // Same name and same ior - nothing to do. - if (ior.equals(xior)) - return; - else - remove(name); - } - - Iterator iter = entries().iterator(); - Map.Entry item; - - // Remove the existing mapping for the given object, if present. - while (iter.hasNext()) - { - item = (Map.Entry) iter.next(); - if (item.getValue().equals(object)) - iter.remove(); - } - - map.put(name, object); - register(name, object); - } - - /** - * Removes the given name, if present. - * - * @param name a name to remove. - */ - public void remove(NameComponent name) - { - super.remove(name); - unregister(name); - } - - /** - * Register this name - object pair in the persistent storage. - * - * @param name the name. - * @param object the object - */ - public void register(NameComponent name, org.omg.CORBA.Object object) - { - // If this key is already known, and this is the same object, - // then return without action. - String ior = object_to_string(object); - - synchronized (file) - { - try - { - FileOutputStream fou; - - if (! file.exists()) - fou = new FileOutputStream(file); - else - fou = new FileOutputStream(file, true); - - Entry e = new Entry(); - e.id = name.id; - e.kind = name.kind; - e.ior = ior; - e.write(fou); - fou.close(); - } - catch (Exception e) - { - InternalError ierr = new InternalError(file.getAbsolutePath()); - ierr.initCause(e); - throw ierr; - } - } - } - - /** - * Remove this name from the persistent storage. - * - * @param name the name to remove - */ - public void unregister(NameComponent name) - { - synchronized (file) - { - try - { - File nf = new File(file.getParent(), file.getName() + "_t"); - FileInputStream fin = new FileInputStream(file); - FileOutputStream fou = new FileOutputStream(nf); - BufferedOutputStream ou = new BufferedOutputStream(fou); - - BufferedReader in = new BufferedReader(new InputStreamReader(fin)); - String s; - String nk = name.kind; - if (nk == null) - nk = ""; - - Entry e = new Entry(); - - while (e.read(in)) - { - if (e.id.equals(name.id) && e.kind.equals(nk)) - { - // Do nothing - skip. - } - else - { - e.write(ou); - } - } - - File deleteIt = new File(file.getParent(), file.getName() + "_d"); - if (deleteIt.exists()) - deleteIt.delete(); - - if (! file.renameTo(deleteIt)) - throw new IOException(file.getAbsolutePath() + " rename failed"); - - if (! nf.renameTo(file)) - throw new IOException(file.getAbsolutePath() + " rename failed"); - } - catch (Exception e) - { - InternalError ierr = new InternalError(file.getAbsolutePath()); - ierr.initCause(e); - throw ierr; - } - } - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java b/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java index 55159660d46..294549327a6 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java @@ -142,15 +142,18 @@ public class Creator throws IOException { boolean isDirectory = file.isDirectory(); - InputStream inputStream = null; if (isDirectory) { if (filename.charAt(filename.length() - 1) != '/') filename += '/'; + writeFile(isDirectory, null, filename, verbose); } else - inputStream = new FileInputStream(file); - writeFile(isDirectory, inputStream, filename, verbose); + { + InputStream inputStream = new FileInputStream(file); + writeFile(isDirectory, inputStream, filename, verbose); + inputStream.close(); + } } private void addEntries(ArrayList result, Entry entry) diff --git a/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java b/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java index 8ea770bb63f..34f637204e7 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jar/Main.java @@ -38,7 +38,7 @@ package gnu.classpath.tools.jar; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.FileArgumentCallback; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; diff --git a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java index b6b50e7417a..0cff2fd856a 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/jarsigner/Main.java @@ -41,8 +41,8 @@ package gnu.classpath.tools.jarsigner; import gnu.classpath.Configuration; import gnu.classpath.SystemProperties; import gnu.classpath.tools.common.CallbackUtil; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.common.ProviderUtil; -import gnu.classpath.tools.getopt.ClasspathToolParser; import gnu.classpath.tools.getopt.FileArgumentCallback; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java new file mode 100644 index 00000000000..e238065c2c0 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/ClassWrapper.java @@ -0,0 +1,346 @@ +/* ClassWrapper.java - wrap ASM class objects + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; + +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.FieldNode; +import org.objectweb.asm.tree.MethodNode; + +public class ClassWrapper + extends ClassNode +{ + Main classpath; + + ClassWrapper superClass; + + ArrayList interfaceClasses; + + // The virtual table for this class. + ArrayList vtable; + + // A set of all the bridge method targets we've found. + HashSet bridgeTargets; + + // A set of all the method names in this class. + HashSet methodNames = new HashSet(); + + public ClassWrapper(Main classpath) + { + this.classpath = classpath; + } + + public boolean hasNativeMethod() + { + Iterator i = methods.iterator(); + while (i.hasNext()) + { + MethodNode method = (MethodNode) i.next(); + if (Modifier.isNative(method.access)) + return true; + } + return false; + } + + public boolean isThrowable() throws IOException + { + linkSupers(); + ClassWrapper self = this; + while (self != null) + { + if (self.name.equals("java/lang/Throwable")) + return true; + self = self.superClass; + } + return false; + } + + private void linkSupers() throws IOException + { + if (superName == null) + { + // Object, do nothing. + return; + } + if (superClass == null) + { + superClass = classpath.getClass(superName); + assert interfaceClasses == null; + interfaceClasses = new ArrayList(); + for (int i = 0; i < interfaces.size(); ++i) + { + String ifname = (String) interfaces.get(i); + ClassWrapper iface = classpath.getClass(ifname); + iface.linkSupers(); + interfaceClasses.add(iface); + } + } + superClass.linkSupers(); + } + + private int findSlot(MethodNode method) + { + for (int i = vtable.size() - 1; i >= 0; --i) + { + MethodNode base = (MethodNode) vtable.get(i); + if (MethodHelper.overrides(method, base)) + return i; + } + return - 1; + } + + private void addInterfaceMethods(ClassWrapper iface) + { + Iterator i = iface.methods.iterator(); + while (i.hasNext()) + { + MethodNode im = (MethodNode) i.next(); + int slot = findSlot(im); + if (slot == - 1) + { + vtable.add(im); + // Also add it to our local methods. + methods.add(im); + } + } + addInterfaces(iface); + } + + private void addInterfaces(ClassWrapper base) + { + if (base.interfaceClasses == null) + return; + Iterator i = base.interfaceClasses.iterator(); + while (i.hasNext()) + { + ClassWrapper iface = (ClassWrapper) i.next(); + addInterfaceMethods(iface); + } + } + + private void addLocalMethods() + { + Iterator i = methods.iterator(); + while (i.hasNext()) + { + MethodNode meth = (MethodNode) i.next(); + methodNames.add(meth.name); + if (Modifier.isStatic(meth.access)) + continue; + int slot = findSlot(meth); + if (slot == - 1) + vtable.add(meth); + else + vtable.set(slot, meth); + } + } + + private void makeVtable() throws IOException + { + if (vtable != null) + return; + if (superClass != null) + { + superClass.makeVtable(); + vtable = new ArrayList(superClass.vtable); + bridgeTargets = new HashSet(superClass.bridgeTargets); + } + else + { + // Object. + vtable = new ArrayList(); + bridgeTargets = new HashSet(); + } + addLocalMethods(); + addInterfaces(this); + + // Make a set of all the targets of bridge methods. + // We rename bridge methods to avoid problems with C++. + Iterator i = methods.iterator(); + while (i.hasNext()) + { + MethodNode m = (MethodNode) i.next(); + String desc = MethodHelper.getBridgeTarget(m); + if (desc != null) + bridgeTargets.add(m.name + desc); + } + } + + private void printFields(CniPrintStream out) + { + Iterator i = fields.iterator(); + ClassWrapper self = superClass; + while (i.hasNext()) + { + FieldNode f = (FieldNode) i.next(); + boolean hasMethodName = methodNames.contains(f.name); + if (FieldHelper.print(out, f, self, hasMethodName)) + self = null; + } + } + + private void printMethods(CniPrintStream out) throws IOException + { + makeVtable(); + + // A given method is either static, overrides a super method, or + // is already in vtable order. + Iterator i = methods.iterator(); + while (i.hasNext()) + { + MethodNode m = (MethodNode) i.next(); + boolean isTarget = bridgeTargets.contains(m.name + m.desc); + MethodHelper.print(out, m, this, isTarget); + } + } + + private void printTextList(PrintStream out, int what, ArrayList textList) + { + if (textList == null) + return; + Iterator i = textList.iterator(); + boolean first = true; + while (i.hasNext()) + { + Text item = (Text) i.next(); + if (item.type == what) + { + if (first) + { + out.println(); + first = false; + } + if (what == Text.FRIEND) + out.print(" friend "); + out.println(item.text); + } + } + } + + public void print(CniPrintStream out) + { + out.print("::" + name.replaceAll("/", "::")); + } + + // This prints the body of a class to a CxxPrintStream. + private void printContents(CniPrintStream out, ArrayList textList) + throws IOException + { + printTextList(out, Text.PREPEND, textList); + out.println(); + + out.print("class "); + // Don't use our print() -- we don't want the leading "::". + out.print(name.replaceAll("/", "::")); + if (superClass != null) + { + out.print(" : public "); + superClass.print(out); + } + out.println(); + out.println("{"); + + printTextList(out, Text.ADD, textList); + out.println(); + + // Note: methods must come first, as we build the list + // of method names while printing them. + printMethods(out); + printFields(out); + + out.setModifiers(Modifier.PUBLIC); + out.println(" static ::java::lang::Class class$;"); + + printTextList(out, Text.FRIEND, textList); + + out.print("}"); + if (Modifier.isInterface(access)) + out.print(" __attribute__ ((java_interface))"); + out.println(";"); + + printTextList(out, Text.APPEND, textList); + } + + public void printFully(PrintStream out) throws IOException + { + linkSupers(); + + ArrayList textList = classpath.getClassTextList(name); + + out.println("// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-"); + out.println(); + String xname = "__" + name.replaceAll("/", "_") + "__"; + out.println("#ifndef " + xname); + out.println("#define " + xname); + out.println(); + out.println("#pragma interface"); + out.println(); + + if (superClass != null) + { + out.print("#include <"); + out.print(superName); + out.println(".h>"); + } + + // Write the body of the stream here. This lets + // us emit the namespaces without a second pass. + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + CniPrintStream cxxOut = new CniPrintStream(bytes); + cxxOut.addClass(this); + printContents(cxxOut, textList); + cxxOut.printNamespaces(out); + bytes.writeTo(out); + + out.println(); + out.println("#endif // " + xname); + } + + public String toString() + { + return name; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/CniIncludePrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/CniIncludePrinter.java new file mode 100644 index 00000000000..fb007b13101 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/CniIncludePrinter.java @@ -0,0 +1,80 @@ +/* CniIncludePrinter.java - generate CNI header files + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; + +public class CniIncludePrinter + extends Printer +{ + protected CniIncludePrinter(Main classpath, File outFile, boolean isDir, + boolean force) + { + super(classpath, outFile, isDir, force); + } + + protected void writePreambleImpl(PrintStream ps) + { + // does nothing + } + + protected PrintStream getPrintStreamImpl(FileOutputStream fos, + ClassWrapper klass) + { + return new PrintStream(fos); + } + + public void printClass(ClassWrapper klass) throws IOException + { + // Never write Object or Class. This is a hack, maybe + // the user would like to see what they look like... + if (klass.name.equals("java/lang/Object") + || klass.name.equals("java/lang/Class")) + return; + PrintStream ps = getPrintStream(klass.name + ".h", klass); + if (ps == null) + return; + ps.println(); + klass.printFully(ps); + ps.close(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java b/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java new file mode 100644 index 00000000000..64ba537d4d3 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/CniPrintStream.java @@ -0,0 +1,243 @@ +/* CniPrintStream.java - PrintStream that emits CNI declarations + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.OutputStream; +import java.io.PrintStream; +import java.lang.reflect.Modifier; +import java.util.Arrays; +import java.util.HashSet; + +import org.objectweb.asm.Type; + +public class CniPrintStream + extends PrintStream +{ + int currentModifiers = Modifier.PRIVATE; + + // True if we saw an array type. + boolean sawArray; + + // All the classes referenced by this header. + HashSet allClasses = new HashSet(); + + String[] previousPackage = new String[0]; + + public CniPrintStream(OutputStream out) + { + super(out); + } + + public void addClass(ClassWrapper cw) + { + allClasses.add(cw.name); + } + + public void setModifiers(int newMods) + { + newMods &= (Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE); + if (newMods != currentModifiers) + { + switch (newMods) + { + case Modifier.PUBLIC: + println("public:"); + break; + case Modifier.PROTECTED: + println("public: // actually protected"); + break; + case Modifier.PRIVATE: + println("private:"); + break; + default: + println("public: // actually package-private"); + break; + } + currentModifiers = newMods; + } + } + + private String getName(Type type) + { + if (type == Type.BOOLEAN_TYPE) + return "jboolean"; + else if (type == Type.BYTE_TYPE) + return "jbyte"; + else if (type == Type.CHAR_TYPE) + return "jchar"; + else if (type == Type.SHORT_TYPE) + return "jshort"; + else if (type == Type.INT_TYPE) + return "jint"; + else if (type == Type.LONG_TYPE) + return "jlong"; + else if (type == Type.FLOAT_TYPE) + return "jfloat"; + else if (type == Type.DOUBLE_TYPE) + return "jdouble"; + else + { + assert type == Type.VOID_TYPE; + return "void"; + } + } + + public String getClassName(Type type) + { + String name = type.toString(); + name = name.substring(1, name.length() - 1); + // Add the plain class name; we'll handle it when + // we process namespaces. + allClasses.add(name); + return "::" + name.replaceAll("/", "::") + " *"; + } + + public void print(Type type) + { + int arrayCount = 0; + if (type.getSort() == Type.ARRAY) + { + arrayCount = type.getDimensions(); + for (int i = 0; i < arrayCount; ++i) + print("JArray< "); + type = type.getElementType(); + sawArray = true; + } + if (type.getSort() == Type.OBJECT) + { + print(getClassName(type)); + } + else + { + print(getName(type)); + } + if (arrayCount > 0) + { + while (arrayCount-- > 0) + { + print(" > *"); + } + } + } + + private void indent(PrintStream out, int n) + { + for (int i = 0; i < n; ++i) + { + out.print(" "); + } + } + + private void moveToPackage(PrintStream out, String[] pkgParts) + { + // Find greatest common part. + int commonIndex; + for (commonIndex = 0; commonIndex < previousPackage.length; ++commonIndex) + { + if (commonIndex >= pkgParts.length) + break; + if (! previousPackage[commonIndex].equals(pkgParts[commonIndex])) + break; + } + // Close old parts after the common part. + for (int j = previousPackage.length - 1; j >= commonIndex; --j) + { + indent(out, j + 1); + out.println("}"); + } + // Open new parts. + for (int j = commonIndex; j < pkgParts.length; ++j) + { + indent(out, j + 1); + out.print("namespace "); + out.println(pkgParts[j]); + indent(out, j + 1); + out.println("{"); + } + previousPackage = pkgParts; + } + + private void writeClass(PrintStream out, String klass) + { + int index = klass.lastIndexOf('/'); + String pkg = index == -1 ? "" : klass.substring(0, index); + String[] pkgParts = index == -1 ? new String[0] : pkg.split("/"); + String className = index == -1 ? klass : klass.substring(index + 1); + moveToPackage(out, pkgParts); + indent(out, pkgParts.length + 2); + out.print("class "); + out.print(className); + out.println(";"); + } + + public void printNamespaces(PrintStream out) + { + if (sawArray) + { + out.println("#include "); + out.println(); + } + + String[] classes = (String[]) allClasses.toArray(new String[0]); + Arrays.sort(classes); + + boolean first = true; + boolean seen = false; + for (int i = 0; i < classes.length; ++i) + { + String klass = classes[i]; + if (klass.startsWith("java/lang/") || klass.startsWith("java/io/") + || klass.startsWith("java/util/")) + continue; + if (first) + { + out.println("extern \"Java\""); + out.println("{"); + first = false; + seen = true; + } + writeClass(out, klass); + } + if (seen) + { + moveToPackage(out, new String[0]); + out.println("}"); + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java new file mode 100644 index 00000000000..d91f367c45c --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/CniStubPrinter.java @@ -0,0 +1,129 @@ +/* CniStubPrinter.java - Generate a CNI stub file + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.lang.reflect.Modifier; +import java.util.Iterator; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.MethodNode; + +public class CniStubPrinter + extends Printer +{ + protected CniStubPrinter(Main classpath, File outFile, boolean isDir, + boolean force) + { + super(classpath, outFile, isDir, force); + } + + private void printDecl(CniPrintStream out, String className, MethodNode method) + { + out.print(className); + out.print("::"); + out.print(method.name); + out.print("("); + Type[] argTypes = Type.getArgumentTypes(method.desc); + for (int j = 0; j < argTypes.length; ++j) + { + if (j > 0) + out.print(", "); + out.print(argTypes[j]); + } + out.print(")"); + } + + protected void writePreambleImpl(PrintStream out) + { + out.println("// This file is intended to give you a head start on implementing native"); + out.println("// methods using CNI."); + out.println("// Be aware: running 'gcjh -stubs' once more for this class may"); + out.println("// overwrite any edits you have made to this file."); + out.println(); + out.println("#include "); + out.println("#include "); + } + + protected PrintStream getPrintStreamImpl(FileOutputStream fos, + ClassWrapper klass) + { + return new CniPrintStream(fos); + } + + public void printClass(ClassWrapper klass) throws IOException + { + if (! klass.hasNativeMethod()) + return; + String className = klass.name.replaceAll("/", "::"); + CniPrintStream out = (CniPrintStream) getPrintStream(klass.name + ".cc", + klass); + if (out == null) + return; + out.println(); + out.println("#include <" + klass.name + ".h>"); + out.println(); + + Iterator i = klass.methods.iterator(); + boolean first = true; + while (i.hasNext()) + { + MethodNode method = (MethodNode) i.next(); + if (! Modifier.isNative(method.access)) + continue; + if (! first) + out.println(); + first = false; + out.print(Type.getReturnType(method.desc)); + out.println(); + printDecl(out, className, method); + out.println(); + out.println("{"); + out.print(" throw new ::java::lang::UnsupportedOperationException("); + out.print("JvNewStringLatin1 (\""); + printDecl(out, className, method); + out.println("\"));"); + out.println("}"); + } + out.close(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/FieldHelper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/FieldHelper.java new file mode 100644 index 00000000000..a9385e04d33 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/FieldHelper.java @@ -0,0 +1,99 @@ +/* FieldHelper.java - field helper methods for CNI + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.lang.reflect.Modifier; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.FieldNode; + +public class FieldHelper +{ + public static boolean print(CniPrintStream out, FieldNode field, + ClassWrapper superType, boolean hasMethodName) + { + out.setModifiers(field.access); + out.print(" "); + if (Modifier.isStatic(field.access)) + out.print("static "); + if (Modifier.isVolatile(field.access)) + out.print("volatile "); + if ((field.value instanceof Integer) || (field.value instanceof Long)) + out.print("const "); + out.print(Type.getType(field.desc)); + out.print(" "); + boolean result = false; + if (superType != null && ! Modifier.isStatic(field.access)) + { + out.print("__attribute__((aligned(__alignof__( "); + superType.print(out); + out.print(")))) "); + result = true; + } + out.print(Keywords.getCxxName(field.name)); + if (hasMethodName) + out.print("__"); + if (Modifier.isStatic(field.access)) + { + if (field.value instanceof Integer) + { + out.print(" = "); + int val = ((Integer) field.value).intValue(); + if (val == Integer.MIN_VALUE) + out.print("-" + Integer.MAX_VALUE + " - 1"); + else + out.print(val); + } + else if (field.value instanceof Long) + { + out.print(" = "); + long val = ((Long) field.value).longValue(); + if (val == Long.MIN_VALUE) + out.print("-" + Long.MAX_VALUE + "LL - 1"); + else + { + out.print(val); + out.print("LL"); + } + } + } + out.println(";"); + return result; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniHelper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniHelper.java new file mode 100644 index 00000000000..7c508997e18 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniHelper.java @@ -0,0 +1,120 @@ +/* JniHelper.java - name mangling and other JNI support + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.IOException; + +import org.objectweb.asm.Type; + +public class JniHelper +{ + public static String getName(Main classpath, Type type) throws IOException + { + if (type == Type.BOOLEAN_TYPE) + return "jboolean"; + else if (type == Type.BYTE_TYPE) + return "jbyte"; + else if (type == Type.CHAR_TYPE) + return "jchar"; + else if (type == Type.SHORT_TYPE) + return "jshort"; + else if (type == Type.INT_TYPE) + return "jint"; + else if (type == Type.LONG_TYPE) + return "jlong"; + else if (type == Type.FLOAT_TYPE) + return "jfloat"; + else if (type == Type.DOUBLE_TYPE) + return "jdouble"; + else if (type == Type.VOID_TYPE) + return "void"; + + if (type.getSort() == Type.ARRAY) + { + Type elt = type.getElementType(); + int eltSort = elt.getSort(); + if (type.getDimensions() == 1 && eltSort != Type.OBJECT) + return getName(classpath, elt) + "Array"; + return "jobjectArray"; + } + + // assert type.getSort() == Type.OBJECT; + String className = type.getClassName(); + // FIXME: is this correct? + if (className.equals("java/lang/Class") + || className.equals("java.lang.Class")) + return "jclass"; + if (className.equals("java/lang/String") + || className.equals("java.lang.String")) + return "jstring"; + + ClassWrapper klass = classpath.getClass(className); + if (klass.isThrowable()) + return "jthrowable"; + return "jobject"; + } + + public static String mangle(String name) + { + StringBuffer result = new StringBuffer(); + for (int i = 0; i < name.length(); ++i) + { + char c = name.charAt(i); + if (c == '_') + result.append("_1"); + else if (c == ';') + result.append("_2"); + else if (c == '[') + result.append("_3"); + else if (c == '/') + result.append("_"); + else if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') + || (c >= 'A' && c <= 'Z')) + result.append(c); + else + { + result.append("_0"); + // Sigh. + String hex = "0000" + Integer.toHexString(c); + result.append(hex.substring(hex.length() - 4)); + } + } + return result.toString(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java new file mode 100644 index 00000000000..f29bfc30050 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniIncludePrinter.java @@ -0,0 +1,158 @@ +/* JniIncludePrinter.java - Generate a JNI header file + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.lang.reflect.Modifier; +import java.util.Iterator; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.FieldNode; +import org.objectweb.asm.tree.MethodNode; + +public class JniIncludePrinter + extends Printer +{ + protected JniIncludePrinter(Main classpath, File outFile, boolean isDir, + boolean force) + { + super(classpath, outFile, isDir, force); + } + + private void writeFields(ClassWrapper klass, JniPrintStream out) + { + boolean wroteAny = false; + for (; klass != null; klass = klass.superClass) + { + Iterator i = klass.fields.iterator(); + while (i.hasNext()) + { + FieldNode field = (FieldNode) i.next(); + if (! Modifier.isStatic(field.access) + || ! Modifier.isFinal(field.access)) + continue; + if (! (field.value instanceof Integer) + && ! (field.value instanceof Long)) + continue; + + // Note that we don't want to mangle the field name. + String name = (JniHelper.mangle(klass.name) + "_" + field.name); + out.print("#undef "); + out.println(name); + out.print("#define "); + out.print(name); + out.print(" "); + out.print(field.value); + if (field.value instanceof Integer) + out.print("L"); + else if (field.value instanceof Long) + out.print("LL"); + out.println(); + wroteAny = true; + } + } + if (wroteAny) + out.println(); + } + + protected void writePreambleImpl(PrintStream out) + { + out.println("/* DO NOT EDIT THIS FILE - it is machine generated */"); + out.println(); + out.println("#include "); + } + + protected PrintStream getPrintStreamImpl(FileOutputStream fos, + ClassWrapper klass) + { + return new JniPrintStream(classpath, fos, klass); + } + + public void printClass(ClassWrapper klass) throws IOException + { + if (! klass.hasNativeMethod()) + return; + String xname = JniHelper.mangle(klass.name); + JniPrintStream out = (JniPrintStream) getPrintStream(klass.name + ".h", klass); + if (out == null) + return; + out.println(); + out.print("#ifndef __"); + out.print(xname); + out.println("__"); + out.print("#define __"); + out.print(xname); + out.println("__"); + out.println(); + out.println("#ifdef __cplusplus"); + out.println("extern \"C\""); + out.println("{"); + out.println("#endif"); + out.println(); + + Iterator i = klass.methods.iterator(); + while (i.hasNext()) + { + MethodNode method = (MethodNode) i.next(); + if (! Modifier.isNative(method.access)) + continue; + out.print("JNIEXPORT "); + out.print(Type.getReturnType(method.desc)); + out.print(" JNICALL "); + out.print(method, xname); + out.println(";"); + } + + out.println(); + + writeFields(klass, out); + + out.println("#ifdef __cplusplus"); + out.println("}"); + out.println("#endif"); + out.println(); + out.print("#endif /* __"); + out.print(xname); + out.println("__ */"); + out.close(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java new file mode 100644 index 00000000000..a0461f475fd --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniPrintStream.java @@ -0,0 +1,115 @@ +/* JniPrintStream.java - PrintStream that emits JNI declarations + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintStream; +import java.lang.reflect.Modifier; +import java.util.HashMap; +import java.util.Iterator; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.MethodNode; + +public class JniPrintStream + extends PrintStream +{ + Main classpath; + + // This is used to determine whether a method has an overload. + HashMap methodNameMap = new HashMap(); + + public JniPrintStream(Main classpath, OutputStream out, ClassWrapper klass) + { + super(out); + this.classpath = classpath; + computeOverloads(klass); + } + + private void computeOverloads(ClassWrapper klass) + { + Iterator i = klass.methods.iterator(); + while (i.hasNext()) + { + MethodNode method = (MethodNode) i.next(); + if (! Modifier.isNative(method.access)) + continue; + if (methodNameMap.containsKey(method.name)) + { + Integer val = (Integer) methodNameMap.get(method.name); + methodNameMap.put(method.name, new Integer(val.intValue() + 1)); + } + else + methodNameMap.put(method.name, new Integer(1)); + } + } + + public void print(Type type) throws IOException + { + print(JniHelper.getName(classpath, type)); + } + + public void print(MethodNode method, String className) throws IOException + { + print("Java_"); + print(className); + print("_"); + print(JniHelper.mangle(method.name)); + Integer overloadCount = (Integer) methodNameMap.get(method.name); + if (overloadCount.intValue() > 1) + { + print("__"); + int lastOffset = method.desc.lastIndexOf(')'); + print(JniHelper.mangle(method.desc.substring(1, lastOffset))); + } + print(" (JNIEnv *env"); + if (Modifier.isStatic(method.access)) + print(", jclass"); + else + print(", jobject"); + Type[] types = Type.getArgumentTypes(method.desc); + for (int i = 0; i < types.length; ++i) + { + print(", "); + print(types[i]); + } + print(")"); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java b/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java new file mode 100644 index 00000000000..4e7871008d7 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/JniStubPrinter.java @@ -0,0 +1,106 @@ +/* JniStubPrinter.java - Generate JNI stub files + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.lang.reflect.Modifier; +import java.util.Iterator; + +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.MethodNode; + +public class JniStubPrinter + extends Printer +{ + protected JniStubPrinter(Main classpath, File outFile, boolean isDir, + boolean force) + { + super(classpath, outFile, isDir, force); + } + + protected void writePreambleImpl(PrintStream out) + { + out.println("/* This file is intended to give you a head start on implementing native"); + out.println(" methods using JNI."); + out.println(" Be aware: running gcjh or compatible tool with '-stubs' option once more"); + out.println(" for the same input may overwrite any edits you have made to this file. */"); + } + + protected PrintStream getPrintStreamImpl(FileOutputStream fos, + ClassWrapper klass) + { + return new JniPrintStream(classpath, fos, klass); + } + + public void printClass(ClassWrapper klass) throws IOException + { + if (! klass.hasNativeMethod()) + return; + String xname = JniHelper.mangle(klass.name); + JniPrintStream out = (JniPrintStream) getPrintStream(klass.name + ".c", klass); + if (out == null) + return; + out.println(); + out.print("#include <"); + out.print(klass.name); + out.println(".h>"); + + Iterator i = klass.methods.iterator(); + while (i.hasNext()) + { + MethodNode method = (MethodNode) i.next(); + if (! Modifier.isNative(method.access)) + continue; + out.println(); + out.print(Type.getReturnType(method.desc)); + out.println(); + out.print(method, xname); + out.println(); + out.println("{"); + out.print(" (*env)->FatalError (env, \""); + out.print(method, xname); + out.println(" not implemented\");"); + out.println("}"); + } + out.close(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java new file mode 100644 index 00000000000..46543ba45df --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Keywords.java @@ -0,0 +1,85 @@ +/* Keywords.java - List of C++ keywords + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.util.HashSet; + +public class Keywords +{ + private static final String[] words = { "and", "and_eq", "asm", "auto", + "bitand", "bitor", "bool", "break", + "case", "catch", "char", "class", + "compl", "const", "const_cast", + "continue", "default", "delete", "do", + "double", "dynamic_cast", "else", + "enum", "explicit", "export", + "extern", "false", "float", "for", + "friend", "goto", "if", "inline", + "int", "long", "mutable", "namespace", + "new", "not", "not_eq", "operator", + "or", "or_eq", "private", "protected", + "public", "register", + "reinterpret_cast", "return", "short", + "signed", "sizeof", "static", + "static_cast", "struct", "switch", + "template", "this", "throw", "true", + "try", "typedef", "typeid", + "typename", "typeof", "union", + "unsigned", "using", "virtual", + "void", "volatile", "wchar_t", + "while", "xor", "xor_eq" }; + + private static final HashSet keywords; + static + { + keywords = new HashSet(); + for (int i = 0; i < words.length; ++i) + keywords.add(words[i]); + } + + public static String getCxxName(String name) + { + int i; + for (i = name.length() - 1; i >= 0 && name.charAt(i) == '$'; --i) + ; + if (keywords.contains(name.substring(0, i + 1))) + return name + "$"; + return name; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java new file mode 100644 index 00000000000..2cddbaae750 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java @@ -0,0 +1,441 @@ +/* Main.java - javah main program + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import gnu.classpath.tools.common.ClasspathToolParser; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.Parser; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; + +import org.objectweb.asm.ClassReader; + +public class Main +{ + // This is an option group for classpath-related options, + // and also is used for loading classes. + PathOptionGroup classpath = new PathOptionGroup(); + + // The output directory. + String outputDir; + + // The output file name used if/when -o option is used. + String outFileName; + + // The loader that we use to load class files. + URLClassLoader loader; + + // In -all mode, the name of the directory to scan. + String allDirectory; + + // True for verbose mode. + boolean verbose; + + // True if we're emitting stubs. + boolean stubs; + + // True if we're emitting CNI code. + boolean cni; + + // True if output files should always be written. + boolean force; + + // Map class names to class wrappers. + HashMap classMap = new HashMap(); + + // Map class names to lists of Text objects. + HashMap textMap = new HashMap(); + + void readCommandFile(String textFileName) throws OptionException + { + FileInputStream fis; + try + { + fis = new FileInputStream(textFileName); + } + catch (FileNotFoundException ignore) + { + throw new OptionException("file \"" + textFileName + "\" not found"); + } + BufferedReader reader = new BufferedReader(new InputStreamReader(fis)); + String currentClass = null; + ArrayList currentValues = null; + while (true) + { + String line; + try + { + line = reader.readLine(); + } + catch (IOException _) + { + break; + } + if (line == null) + break; + line = line.trim(); + if (line.length() == 0 || line.charAt(0) == '#') + continue; + int index = line.indexOf(' '); + String cmd = line.substring(0, index); + String value = line.substring(index + 1); + int cmdValue; + if ("class".equals(cmd)) + { + if (currentClass != null) + { + textMap.put(currentClass, currentValues); + } + currentClass = value; + currentValues = new ArrayList(); + continue; + } + if (currentClass == null) + throw new OptionException("no class set"); + if ("add".equals(cmd)) + cmdValue = Text.ADD; + else if ("append".equals(cmd)) + cmdValue = Text.APPEND; + else if ("prepend".equals(cmd)) + cmdValue = Text.PREPEND; + else if ("friend".equals(cmd)) + cmdValue = Text.FRIEND; + else + throw new OptionException("unrecognized command: " + cmd); + currentValues.add(new Text(cmdValue, value)); + } + if (currentClass != null) + { + textMap.put(currentClass, currentValues); + } + } + + void scanDirectory(File dir, final HashSet results) + { + File[] files = dir.listFiles(new FileFilter() + { + public boolean accept(File pathname) + { + if (pathname.isDirectory()) + { + scanDirectory(pathname, results); + return false; + } + return pathname.getName().endsWith(".class"); + } + }); + if (files != null) + results.addAll(Arrays.asList(files)); + } + + private Parser getParser() + { + ClasspathToolParser result = new ClasspathToolParser("javah", true); + result.setHeader("usage: javah [OPTIONS] CLASS..."); + result.add(classpath); + result.add(new Option('d', "Set output directory", "DIR") + { + public void parsed(String dir) throws OptionException + { + if (outputDir != null) + throw new OptionException("-d already seen"); + if (outFileName != null) + throw new OptionException("only one of -d or -o may be used"); + outputDir = dir; + } + }); + result.add(new Option('o', + "Set output file (only one of -d or -o may be used)", + "FILE") + { + public void parsed(String fileName) throws OptionException + { + if (outFileName != null) + throw new OptionException("-o already seen"); + if (outputDir != null) + throw new OptionException("only one of -d or -o may be used"); + outFileName = fileName; + } + }); + result.add(new Option("cmdfile", "Read command file", "FILE") + { + public void parsed(String file) throws OptionException + { + readCommandFile(file); + } + }); + result.add(new Option("all", "Operate on all class files under directory", + "DIR") + { + public void parsed(String arg) throws OptionException + { + // FIXME: lame restriction... + if (allDirectory != null) + throw new OptionException("-all already specified"); + allDirectory = arg; + } + }); + result.add(new Option("stubs", "Emit stub implementation") + { + public void parsed(String arg0) throws OptionException + { + stubs = true; + } + }); + result.add(new Option("jni", "Emit JNI stubs or header (default)") + { + public void parsed(String arg0) throws OptionException + { + if (cni) + throw new OptionException("only one of -jni or -cni may be used"); + cni = false; + } + }); + result.add(new Option("cni", "Emit CNI stubs or header (default JNI)") + { + public void parsed(String arg0) throws OptionException + { + cni = true; + } + }); + result.add(new Option("verbose", "Set verbose mode") + { + public void parsed(String arg0) throws OptionException + { + verbose = true; + } + }); + result.add(new Option("force", "Output files should always be written") + { + public void parsed(String arg0) throws OptionException + { + force = true; + } + }); + return result; + } + + private File makeOutputDirectory() throws IOException + { + File outputFile; + if (outputDir == null) + outputFile = new File("."); + else + outputFile = new File(outputDir); + return outputFile; + } + + /** + * @return The {@link File} object where the generated code will be written. + * Returns null if the option -force was + * specified on the command line and the designated file already + * exists. + * @throws IOException if outFileName is not a writable file. + */ + private File makeOutputFile() throws IOException + { + File result = new File(outFileName); + if (result.exists()) + { + if (! result.isFile()) + throw new IOException("'" + outFileName + "' is not a file"); + if (! force) + { + if (verbose) + System.err.println("["+ outFileName + + " already exists. Use -force to overwrite]"); + return null; + } + if (! result.delete()) + throw new IOException("Was unable to delete existing file: " + + outFileName); + } + return result; + } + + private void writeHeaders(ArrayList klasses, Printer printer) + throws IOException + { + Iterator i = klasses.iterator(); + while (i.hasNext()) + { + ClassWrapper klass = (ClassWrapper) i.next(); + if (verbose) + System.err.println("[writing " + klass + "]"); + printer.printClass(klass); + } + } + + private void run(String[] args) throws IOException + { + Parser p = getParser(); + String[] classNames = p.parse(args); + loader = classpath.getLoader(); + + boolean isDirectory = outFileName == null; + File outputFile = isDirectory ? makeOutputDirectory() : makeOutputFile(); + if (outputFile == null) + return; + + Printer printer; + if (! cni) + { + if (stubs) + printer = new JniStubPrinter(this, outputFile, isDirectory, force); + else + printer = new JniIncludePrinter(this, outputFile, isDirectory, force); + } + else + { + if (stubs) + printer = new CniStubPrinter(this, outputFile, isDirectory, force); + else + printer = new CniIncludePrinter(this, outputFile, isDirectory, force); + } + + // First we load all of the files. That way if + // there are references between the files we will + // be loading the set that the user asked for. + HashSet klasses = new HashSet(); + if (allDirectory != null) + scanDirectory(new File(allDirectory), klasses); + // Add the command-line arguments. We use the type of + // an item in 'klasses' to decide how to load each class. + for (int i = 0; i < classNames.length; ++i) + { + if (classNames[i].endsWith(".class")) + { + klasses.add(new File(classNames[i])); + } + else + { + klasses.add(classNames[i]); + } + } + + Iterator i = klasses.iterator(); + ArrayList results = new ArrayList(); + while (i.hasNext()) + { + // Let user specify either kind of class name or a + // file name. + Object item = i.next(); + ClassWrapper klass; + if (item instanceof File) + { + // Load class from file. + if (verbose) + System.err.println("[reading file " + item + "]"); + klass = getClass((File) item); + } + else + { + // Load class given the class name. + String className = ((String) item).replace('.', '/'); + if (verbose) + System.err.println("[reading class " + className + "]"); + klass = getClass(className); + } + results.add(klass); + } + + writeHeaders(results, printer); + } + + public ArrayList getClassTextList(String name) + { + return (ArrayList) textMap.get(name); + } + + private ClassWrapper readClass(InputStream is) throws IOException + { + ClassReader r = new ClassReader(is); + ClassWrapper result = new ClassWrapper(this); + r.accept(result, true); + is.close(); + return result; + } + + private ClassWrapper getClass(File fileName) throws IOException + { + InputStream is = new FileInputStream(fileName); + ClassWrapper result = readClass(is); + if (classMap.containsKey(result.name)) + throw new IllegalArgumentException("class " + result.name + + " already loaded"); + classMap.put(result.name, result); + return result; + } + + public ClassWrapper getClass(String name) throws IOException + { + if (! classMap.containsKey(name)) + { + String resource = name.replace('.', '/') + ".class"; + URL url = loader.findResource(resource); + if (url == null) + throw new IOException("can't find class file " + resource); + InputStream is = url.openStream(); + ClassWrapper result = readClass(is); + classMap.put(name, result); + } + return (ClassWrapper) classMap.get(name); + } + + public static void main(String[] args) throws IOException + { + Main m = new Main(); + m.run(args); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java new file mode 100644 index 00000000000..6657f115ac4 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/MethodHelper.java @@ -0,0 +1,130 @@ +/* MethodHelper.java - helper class for manipulating methods + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.lang.reflect.Modifier; +import java.util.Iterator; + +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; + +public class MethodHelper +{ + + public static boolean overrides(MethodNode derived, MethodNode base) + { + if (! derived.name.equals(base.name)) + return false; + if (! derived.desc.equals(base.desc)) + return false; + // FIXME: permission madness? + return true; + } + + public static String getBridgeTarget(MethodNode meth) + { + if ((meth.access & Opcodes.ACC_BRIDGE) == 0) + return null; + Iterator i = meth.instructions.iterator(); + while (i.hasNext()) + { + AbstractInsnNode insn = (AbstractInsnNode) i.next(); + if (! (insn instanceof MethodInsnNode)) + continue; + return ((MethodInsnNode) insn).desc; + } + return null; + } + + public static void print(CniPrintStream out, MethodNode meth, + ClassWrapper declarer, boolean isBridgeTarget) + { + if ("".equals(meth.name)) + return; + boolean isInit = "".equals(meth.name); + out.setModifiers(meth.access); + out.print(" "); + if (Modifier.isStatic(meth.access)) + out.print("static "); + // If a class is final then we might as well skip 'virtual'. + // The reason here is that it is safe in this case for C++ + // ABI code to generate a direct call. The method does end + // up in the vtable (for BC code) but we don't care. Also, + // the class can't be derived from anyway. + else if (! isInit && ! Modifier.isPrivate(meth.access) + && ! Modifier.isFinal(declarer.access)) + out.print("virtual "); + if (! isInit) + { + out.print(Type.getReturnType(meth.desc)); + out.print(" "); + if (isBridgeTarget) + { + out.print("target$"); + out.print(meth.name); + } + else + { + out.print(Keywords.getCxxName(meth.name)); + } + } + else + { + String name = declarer.name; + int index = name.lastIndexOf('/'); + name = name.substring(index + 1); + out.print(name); + } + out.print("("); + Type[] argTypes = Type.getArgumentTypes(meth.desc); + for (int i = 0; i < argTypes.length; ++i) + { + if (i > 0) + out.print(", "); + out.print(argTypes[i]); + } + out.print(")"); + if (Modifier.isAbstract(meth.access)) + out.print(" = 0"); + out.println(";"); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/PackageWrapper.java b/libjava/classpath/tools/gnu/classpath/tools/javah/PackageWrapper.java new file mode 100644 index 00000000000..11b38b20f96 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/PackageWrapper.java @@ -0,0 +1,54 @@ +/* PackageWrapper.java - represent a package + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +public class PackageWrapper +{ + // This is null if there is no parent package. + PackageWrapper parent; + + // Name of this package relative to its parent's name. + String name; + + public PackageWrapper(PackageWrapper parent, String name) + { + this.parent = parent; + this.name = name; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java b/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java new file mode 100644 index 00000000000..4287354aed6 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/PathOptionGroup.java @@ -0,0 +1,135 @@ +/* PathOptionGroup.java - handle classpath-setting options + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.OptionGroup; + +import java.io.File; +import java.io.FilenameFilter; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.StringTokenizer; + +public class PathOptionGroup + extends OptionGroup +{ + ArrayList classpath = new ArrayList(); + + ArrayList bootclasspath = new ArrayList(); + + void setPath(ArrayList list, String path) + { + list.clear(); + StringTokenizer st = new StringTokenizer(path, File.pathSeparator); + while (st.hasMoreTokens()) + { + list.add(st.nextToken()); + } + } + + void addExtDirs(ArrayList list, String path) + { + StringTokenizer tok = new StringTokenizer(path, File.pathSeparator); + while (tok.hasMoreTokens()) + { + File dir = new File(tok.nextToken()); + list.addAll(Arrays.asList(dir.list(new FilenameFilter() + { + public boolean accept(File dir, String name) + { + return name.endsWith(".zip") || name.endsWith(".jar"); + } + }))); + } + } + + public PathOptionGroup() + { + super("Class path options"); + + add(new Option("classpath", "Set the class path", "PATH") + { + public void parsed(String path) throws OptionException + { + setPath(classpath, path); + } + }); + add(new Option('I', "Add directory to class path", "DIR", true) + { + public void parsed(String path) throws OptionException + { + classpath.add(path); + } + }); + add(new Option("bootclasspath", "Set the boot class path", "PATH") + { + public void parsed(String path) throws OptionException + { + setPath(bootclasspath, path); + } + }); + add(new Option("extdirs", "Set the extension directory path", "PATH") + { + public void parsed(String path) throws OptionException + { + addExtDirs(classpath, path); + } + }); + } + + public URLClassLoader getLoader() throws MalformedURLException + { + ArrayList urls = new ArrayList(); + classpath.addAll(bootclasspath); + Iterator i = classpath.iterator(); + while (i.hasNext()) + { + String f = (String) i.next(); + urls.add(new File(f).toURL()); + } + URL[] urlArray = (URL[]) urls.toArray(new URL[0]); + return new URLClassLoader(urlArray); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Printer.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Printer.java new file mode 100644 index 00000000000..9c4b48d2e5c --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Printer.java @@ -0,0 +1,138 @@ +/* Print.java - abstract base class for printing classes + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; + +public abstract class Printer +{ + protected Main classpath; + + /** + * The {@link File} object that denotes either a directory (when the + * -d option was used), or a file (when the -o + * option was used) on the command line. + */ + protected File outputFileObject; + + /** + * Set to true if the field outputFileObject denotes + * a directory; i.e. for each input class file, one JNI header file will be + * generated in that directory. + *

      + * Set to false if the field outputFileObject + * denotes a file; i.e. all generated headers will be written to that file. + */ + protected boolean isDirectory; + + /** + * Set to true if the output file(s) should always be written. + *

      + * When set to false, the contents of the header/stub are only + * written to the file if it does not already exist. + */ + protected boolean force; + + /** + * Set to true if all output is directed to one file, and the + * common preamble text has already been generated. + */ + protected boolean wrotePreamble; + + protected Printer(Main classpath, File outFile, boolean isDir, boolean force) + { + this.classpath = classpath; + if (outFile == null) + throw new IllegalArgumentException("File argument MUST NOT be null"); + outputFileObject = outFile; + isDirectory = isDir; + if (! isDirectory) + { + File parent = outputFileObject.getParentFile(); + if (parent != null) + parent.mkdirs(); + } + this.force = force; + } + + public abstract void printClass(ClassWrapper klass) throws IOException; + + protected abstract void writePreambleImpl(PrintStream ps); + + protected abstract PrintStream getPrintStreamImpl(FileOutputStream fos, + ClassWrapper klass); + + protected PrintStream getPrintStream(String fullName, ClassWrapper klass) + throws FileNotFoundException + { + PrintStream result; + FileOutputStream fos; + if (isDirectory) + { + File outFile = new File(outputFileObject, fullName); + if (outFile.exists() && ! force) + return null; + File parent = outFile.getParentFile(); + if (parent != null) + parent.mkdirs(); + fos = new FileOutputStream(outFile); + result = getPrintStreamImpl(fos, klass); + writePreamble(result); + } + else + { + // the first time we open this file, wrotePreamble is false + fos = new FileOutputStream(outputFileObject, wrotePreamble); + result = getPrintStreamImpl(fos, klass); + if (! wrotePreamble) + writePreamble(result); + } + return result; + } + + protected void writePreamble(PrintStream out) + { + writePreambleImpl(out); + wrotePreamble = true; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Text.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Text.java new file mode 100644 index 00000000000..37a1ad66906 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Text.java @@ -0,0 +1,60 @@ +/* Text.java - convenience class for CNI header text insertions + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.javah; + +public class Text +{ + public static final int ADD = 0; + + public static final int APPEND = 1; + + public static final int FRIEND = 2; + + public static final int PREPEND = 3; + + public int type; + + public String text; + + public Text(int type, String text) + { + this.type = type; + this.text = text; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/CACertCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/CACertCmd.java index 2bf832beee0..a53a8b21ae3 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/CACertCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/CACertCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java index 692b1f69015..bdf3aac8f9e 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/Command.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/Command.java index bc5cff2aaba..af91e4a7151 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/Command.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/Command.java @@ -56,7 +56,6 @@ import gnu.java.security.hash.MD5; import gnu.java.security.hash.Sha160; import gnu.java.security.util.Util; import gnu.java.security.x509.X500DistinguishedName; -import gnu.javax.security.auth.callback.ConsoleCallbackHandler; import java.io.ByteArrayOutputStream; import java.io.File; @@ -1203,7 +1202,8 @@ abstract class Command *

      * If no installed providers were found, this method falls back on the GNU * provider, by-passing the Security search mechanism. The default console - * callback handler implementation is {@link ConsoleCallbackHandler}. + * callback handler implementation is + * {@link gnu.javax.security.auth.callback.ConsoleCallbackHandler}. * * @return a console-based {@link CallbackHandler}. */ diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/DeleteCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/DeleteCmd.java index 8107055d02b..53611b21cda 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/DeleteCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/DeleteCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java index 75f71801c9a..a07edc6316f 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/GenKeyCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/GenKeyCmd.java index 03a1555a8c6..79d3824af81 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/GenKeyCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/GenKeyCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; @@ -217,7 +217,6 @@ class GenKeyCmd extends Command protected String _providerClassName; private int keySize; private X500DistinguishedName distinguishedName; - private Parser cmdOptionsParser; // default 0-arguments constructor diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/IdentityDBCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/IdentityDBCmd.java index d0de589d933..ac0ee1329e9 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/IdentityDBCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/IdentityDBCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/ImportCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/ImportCmd.java index 3a6ed872bfb..18a21aa683d 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/ImportCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/ImportCmd.java @@ -40,7 +40,7 @@ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; import gnu.classpath.SystemProperties; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; @@ -207,7 +207,6 @@ class ImportCmd extends Command protected String _ksPassword; protected String _providerClassName; private CertificateFactory x509Factory; - private boolean imported; /** * Pathname to a GKR-type cacerts file to use when trustCACerts is true. This * is usually a file named "cacerts.gkr" located in lib/security in the folder diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyCloneCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyCloneCmd.java index 81549864b9e..973ed46ce51 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyCloneCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyCloneCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java index 89e6daa0249..5f91becd973 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java @@ -40,7 +40,7 @@ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; import gnu.classpath.SystemProperties; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java index 61cec01a4dc..7579c3f85c0 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/ListCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/Main.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/Main.java index 08d55556efd..2d5234ad0dd 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/Main.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/Main.java @@ -39,8 +39,8 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.common.ProviderUtil; -import gnu.classpath.tools.getopt.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; @@ -296,14 +296,6 @@ public class Main log.exiting(this.getClass().getName(), "teardown"); //$NON-NLS-1$ } - private void printHelp() - { - if (helpPrinted) - return; - - helpPrinted = true; - } - // Inner class(es) // ========================================================================== diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/PrintCertCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/PrintCertCmd.java index 2c5461b3619..2100a60261b 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/PrintCertCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/PrintCertCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/SelfCertCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/SelfCertCmd.java index 75f1e8299ed..f297046c79a 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/SelfCertCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/SelfCertCmd.java @@ -39,7 +39,7 @@ exception statement from your version. */ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/keytool/StorePasswdCmd.java b/libjava/classpath/tools/gnu/classpath/tools/keytool/StorePasswdCmd.java index 1313ec6abe7..489ecccb070 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/keytool/StorePasswdCmd.java +++ b/libjava/classpath/tools/gnu/classpath/tools/keytool/StorePasswdCmd.java @@ -40,7 +40,7 @@ package gnu.classpath.tools.keytool; import gnu.classpath.Configuration; import gnu.classpath.SystemProperties; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; import gnu.classpath.tools.getopt.OptionGroup; diff --git a/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java b/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java index 9508c103e08..622de6056ce 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java +++ b/libjava/classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java @@ -38,7 +38,7 @@ package gnu.classpath.tools.native2ascii; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.FileArgumentCallback; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java new file mode 100644 index 00000000000..91c50d7f8c7 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java @@ -0,0 +1,228 @@ +/* NamingServicePersistent.java -- The persistent naming service. + Copyright (C) 2006 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. */ + +package gnu.classpath.tools.orbd; + +import gnu.CORBA.OrbFunctional; +import gnu.CORBA.IOR; +import gnu.CORBA.NamingService.Ext; +import gnu.classpath.tools.common.ClasspathToolParser; +import gnu.classpath.tools.getopt.FileArgumentCallback; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.OptionGroup; +import gnu.classpath.tools.getopt.Parser; + +import org.omg.CosNaming.NamingContextExt; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileNotFoundException; +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; + +/** + * The server for the GNU Classpath persistent naming service. + * + * GNU Classpath currently works with this naming service and is also + * interoperable with the Sun Microsystems naming services from releases 1.3 and + * 1.4, both transient tnameserv and persistent orbd. + * + * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) + */ +public class Main +{ + /** + * The default port (900), on that the naming service starts if no + * -ORBInitialPort is specified in the command line. + */ + public static final int PORT = 900; + + private int port = PORT; + private String iorf; + private boolean cold; + private String directory = ""; + + /** + * Get the object key for the naming service. The default key is the string + * "NameService" in ASCII. + * + * @return the byte array. + */ + public static byte[] getDefaultKey() + { + try + { // NameService + return "NameService".getBytes("UTF-8"); + } + catch (UnsupportedEncodingException ex) + { + throw new InternalError("UTF-8 unsupported"); + } + } + + private Parser initializeParser() + { + Parser parser = new ClasspathToolParser("orbd", true); //$NON-NLS-1$ + parser.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ + + parser.add(new Option("ORBInitialPort", //$NON-NLS-1$ + Messages.getString("Main.ORBInitialPort"), //$NON-NLS-1$ + Messages.getString("Main.Port")) //$NON-NLS-1$ + { + public void parsed(String portArgument) throws OptionException + { + port = Integer.parseInt(portArgument); + } + }); + + parser.add(new Option("ior", //$NON-NLS-1$ + Messages.getString("Main.IOR"), //$NON-NLS-1$ + Messages.getString("Main.IORFile")) //$NON-NLS-1$ + { + public void parsed(String fileArgument) throws OptionException + { + iorf = fileArgument; + } + }); + parser.add(new Option("directory", //$NON-NLS-1$ + Messages.getString("Main.Directory"), //$NON-NLS-1$ + Messages.getString("Main.DirectoryArgument")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + directory = argument; + } + }); + parser.add(new Option("restart", //$NON-NLS-1$ + Messages.getString("Main.Restart")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + cold = true; + } + }); + + return parser; + } + + private void run(String[] args) + { + Parser parser = initializeParser(); + parser.parse(args); + + try + { + // Create and initialize the ORB + final OrbFunctional orb = new OrbFunctional(); + OrbFunctional.setPort(port); + + // Create the servant and register it with the ORB + File dataDirectory = new File(directory); + System.out.println("Persistent data stored at " + + dataDirectory.getAbsolutePath()); + dataDirectory.mkdirs(); + + // / TODO support more starting modes. + NamingContextExt namer = new Ext( + new PersistentContext( + orb, + dataDirectory, + cold)); + + // Case with the key "NameService". + orb.connect(namer, "NameService".getBytes()); + + // Storing the IOR reference. + String ior = orb.object_to_string(namer); + IOR iorr = IOR.parse(ior); + if (iorf != null) + { + FileOutputStream f = new FileOutputStream(iorf); + PrintStream p = new PrintStream(f); + p.print(ior); + p.close(); + } + + System.out.println("GNU Classpath persistent naming service " + + "started at " + iorr.Internet.host + ":" + + iorr.Internet.port + " key 'NameService'.\n\n" + + "Copyright (C) 2006 Free Software Foundation\n" + + "This tool comes with ABSOLUTELY NO WARRANTY. " + + "This is free software, and you are\nwelcome to " + + "redistribute it under conditions, defined in " + + "GNU Classpath license.\n\n" + ior); + + new Thread() + { + public void run() + { + // Wait for invocations from clients. + orb.run(); + } + }.start(); + } + catch (FileNotFoundException e) + { + throw new RuntimeException(e); + } + finally + { + // Restore the default value for allocating ports for the subsequent + // objects. + OrbFunctional.setPort(OrbFunctional.DEFAULT_INITIAL_PORT); + } + } + + /** + * The persistent naming service entry point. + */ + public static void main(String[] args) + { + Main orbdprogram = new Main(); + try + { + orbdprogram.run(args); + } + catch (Exception e) + { + System.err.println(Messages.getString("Main.InternalError")); //$NON-NLS-1$ + e.printStackTrace(System.err); + System.exit(1); + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/Messages.java new file mode 100644 index 00000000000..c9bb371ad3b --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- localization support for orbd + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.orbd; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.orbd.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContext.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContext.java new file mode 100644 index 00000000000..9b4f27a3d7d --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContext.java @@ -0,0 +1,152 @@ +/* PersistentContext.java -- The persistent naming context. + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.orbd; + +import gnu.CORBA.NamingService.NameTransformer; +import gnu.CORBA.NamingService.TransientContext; + +import java.io.File; + +import org.omg.CORBA.ORB; +import org.omg.CosNaming.NameComponent; +import org.omg.CosNaming.NamingContext; +import org.omg.CosNaming.NamingContextPackage.AlreadyBound; +import org.omg.CosNaming.NamingContextPackage.CannotProceed; +import org.omg.CosNaming.NamingContextPackage.InvalidName; +import org.omg.CosNaming.NamingContextPackage.NotFound; + +/** + * This class implements the persistent naming service, defined by + * {@link NamingContext}. The 'persistent' means that the service remembers the + * mappings, stored between restarts. + * + * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) + */ +public class PersistentContext + extends TransientContext +{ + /** + * Use serial version UID for interoperability. + */ + private static final long serialVersionUID = 2; + + /** + * The folder, where the persistent context information is stored. + */ + File contextFolder; + + /** + * The uinque context identifier. + */ + static long num = System.currentTimeMillis(); + + /** + * The naming service orb. + */ + ORB orb; + + /** + * Create the persistent naming context that will store the files in the given + * folder of the local file system. This method also connects object to the + * passed ORB. + * + * @param an_orb the naming service ORB, used to obtain and produce the object + * stringified references. + * @param folder the folder, where the persistent information is stored. + * @param reset if true, the previous naming data are discarded. If false + * (normally expected), they are loaded from the persistent memory to + * provide the persistence. + */ + public PersistentContext(ORB an_orb, File folder, boolean reset) + { + super( + new PersistentContextMap(an_orb, new File(folder, "contexts.txt"), reset), + new PersistentMap(an_orb, new File(folder, "objects.txt"), reset)); + contextFolder = folder; + folder.mkdirs(); + orb = an_orb; + orb.connect(this); + } + + /** + * Get the unique context number; + * + * @return the context number + */ + static synchronized String getNum() + { + return Long.toHexString(num++); + } + + /** + * Create new persistent context. + */ + public NamingContext new_context() + { + File ctxFolder = new File(contextFolder, "ctx_"+getNum()); + return new PersistentContext(orb, ctxFolder, true); + } + + /** + * Create a new context and give it a given name (bound it) in the current + * context. The method benefits from passing the better readable context name. + * + * @param a_name the name being given to the new context. + * @return the newly created context. + * @throws AlreadyBound if the name is already in use. + * @throws InvalidName if the name has zero length or otherwise invalid. + */ + public NamingContext bind_new_context(NameComponent[] a_name) + throws NotFound, AlreadyBound, CannotProceed, InvalidName + { + if (named_contexts.containsKey(a_name[0]) + || named_objects.containsKey(a_name[0])) + throw new AlreadyBound(); + + NameTransformer transformer = new NameTransformer(); + + File ctxFolder = new File(contextFolder, + transformer.toString(a_name).replace('/', '.') + + ".v" + getNum()); + + NamingContext child = new PersistentContext(orb, ctxFolder, true); + bind_context(a_name, child); + return child; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContextMap.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContextMap.java new file mode 100644 index 00000000000..e983ef30f7a --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentContextMap.java @@ -0,0 +1,87 @@ +/* PersistentContextMap.java -- The persistent context naming map + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.orbd; + +import java.io.File; + +import org.omg.CORBA.ORB; +import org.omg.CORBA.Object; + +/** + * The persistent context naming map for the persistent naming service. + * + * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) + */ +public class PersistentContextMap extends PersistentMap +{ + /** + * Create the persistent context map that stores information in the given + * file. + * + * @param an_orb the naming service ORB, used to obtain and produce the object + * stringified references. + * @param mapFile the file, where the persistent information is stored. + * @param reset if true, the previous naming data are discarded. If false + * (normally expected), they are loaded from the persistent memory to + * provide the persistence. + */ + public PersistentContextMap(ORB an_orb, File mapFile, boolean reset) + { + super(an_orb, mapFile, reset); + } + + /** + * This method expects the PersistentContext as its parameter. The returned + * description line is the name of the context parent folder. + */ + protected String object_to_string(Object object) + { + PersistentContext pc = (PersistentContext) object; + return pc.contextFolder.getAbsolutePath(); + } + + /** + * This method restores the PersistenContext. The description line is + * interpreted as the folder name, absolute path. + */ + protected Object string_to_object(String description) + { + return new PersistentContext(orb, new File(description), reset); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentMap.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentMap.java new file mode 100644 index 00000000000..6c6164d21f4 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/PersistentMap.java @@ -0,0 +1,454 @@ +/* PersistentMap.java -- The persistent object naming map + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.orbd; + +import gnu.CORBA.NamingService.NamingMap; + +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.util.Iterator; +import java.util.Map; + +import org.omg.CORBA.ORB; +import org.omg.CosNaming.NameComponent; +import org.omg.CosNaming.NamingContextPackage.AlreadyBound; +import org.omg.CosNaming.NamingContextPackage.InvalidName; + +/** + * The persistent object naming map for the persistent naming service. The + * inherited (super.) naming map implementation is transient and is used as a + * cache. During the normal work, the naming map does not read from the disk, + * just stores the changes there. Map only reads from the disk when it starts. + * + * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) + */ +public class PersistentMap + extends NamingMap +{ + /** + * The data entry. + */ + public static class Entry + { + String id; + + String kind; + + String ior; + + /** + * Get the name component node. + */ + public NameComponent getComponent() + { + return new NameComponent(id, kind); + } + + /** + * Write the naming map entry to the output stream. + */ + public void write(OutputStream out) throws IOException + { + // Format: id.kind ior + out.write(getKey(id, kind).getBytes()); + out.write('\n'); + out.write(ior.getBytes()); + out.write('\n'); + out.close(); + } + + /** + * Read the name component from the input stream + */ + public boolean read(BufferedReader in) throws IOException + { + String key = in.readLine(); + String xior = in.readLine(); + + if (key != null && xior != null) + { + if (key.length() < 2) + { + // A single char key cannot have the kind part. + id = key; + kind = ""; + } + else + { + // Search for the id/kind splitter, dot: + int iks = - 1; + for (int i = 1; i < key.length(); i++) + { + if (key.charAt(i) == '.') + // The id is separated from kind by dot, unless preceeded by + // the + // escape character, \. + if (key.charAt(i - 1) != '\\') + { + iks = i; + break; + } + } + + // May also end by dot, if the kind field is missing. + if (iks < 0) + { + id = key; + kind = ""; + } + else if (iks == key.length() - 1) + { + id = key.substring(0, key.length() - 1); + kind = ""; + } + else + { + id = key.substring(0, iks); + kind = key.substring(iks + 1); + } + } + ior = xior; + return true; + } + else + return false; + } + + /** + * Get the key value from the name component. + * + * @param id the component id + * @param kind the component kind + * @return the key value + */ + public String getKey(String id, String kind) + { + StringBuffer b = new StringBuffer(id.length() + 8); + appEscaping(b, id); + b.append('.'); + if (kind != null && kind.length() > 0) + appEscaping(b, kind); + return b.toString(); + } + + /** + * Append the contents of the string to this string buffer, inserting the + * escape sequences, where required. + * + * @param b a buffer to append the contents to. + * @param s a string to append. + */ + void appEscaping(StringBuffer b, String s) + { + char c; + for (int i = 0; i < s.length(); i++) + { + c = s.charAt(i); + switch (c) + { + case '.': + case '/': + case '\\': + b.append('\\'); + b.append(c); + break; + + default: + b.append(c); + break; + } + } + } + } + + /** + * The file, where the persistent naming map stores the information. The + * format of this file is n*(id LF kind LF ior LFLF). + */ + public final File file; + + /** + * The naming service ORB, used to obtain and produce the object stringified + * references. + */ + ORB orb; + + /** + * If true, all existing data on the file system are discarded. + */ + boolean reset; + + /** + * Create the persistent map that stores information in the given file. + * + * @param an_orb the naming service ORB, used to obtain and produce the object + * stringified references. + * @param mapFile the file, where the persistent information is stored. + * @param a_reset if true, the previous naming data are discarded. If false + * (normally expected), they are loaded from the persistent memory to + * provide the persistence. + */ + public PersistentMap(ORB an_orb, File mapFile, boolean a_reset) + { + super(); + orb = an_orb; + file = mapFile; + reset = a_reset; + + // Initialise the persistent map with existing data. + if (file.exists() && ! reset) + { + + BufferedReader in; + try + { + FileInputStream fin = new FileInputStream(file); + in = new BufferedReader(new InputStreamReader(fin)); + Entry e = new Entry(); + boolean ok; + + while (e.read(in)) + { + org.omg.CORBA .Object object = string_to_object(e.ior); + orb.connect(object); + map.put(e.getComponent(), object); + } + } + catch (Exception ex) + { + InternalError ierr = new InternalError(file.getAbsolutePath()); + ierr.initCause(ex); + throw ierr; + } + } + } + + /** + * Restore object from its string description. + * + * @param description the string, describing the object + * + * @return the object. + */ + protected org.omg.CORBA.Object string_to_object(String description) + { + return orb.string_to_object(description); + } + + /** + * Convert the object to its string description + * + * @param object the object to convert + * @return the string description of the object + */ + protected String object_to_string(org.omg.CORBA .Object object) + { + return orb.object_to_string(object); + } + + /** + * Put the given GIOP object, specifying the given name as a key. If the entry + * with the given name already exists, or if the given object is already + * mapped under another name, the {@link AlreadyBound} exception will be + * thrown. + * + * @param name the name + * @param object the object + */ + public void bind(NameComponent name, org.omg.CORBA.Object object) + throws AlreadyBound, InvalidName + { + if (!containsKey(name)) + { + super.bind(name, object); + register(name, object); + } + else + throw new AlreadyBound(name.id + "." + name.kind); + } + + /** + * Put the given CORBA object, specifying the given name as a key. Remove all + * pre - existing mappings for the given name and object. + * + * @param name the name. + * @param object the object + */ + public void rebind(NameComponent name, org.omg.CORBA.Object object) + throws InvalidName + { + if (containsKey(name)) + { + org.omg.CORBA.Object existing = get(name); + String ior = object_to_string(object); + String xior = object_to_string(existing); + + // Same name and same ior - nothing to do. + if (ior.equals(xior)) + return; + else + remove(name); + } + + Iterator iter = entries().iterator(); + Map.Entry item; + + // Remove the existing mapping for the given object, if present. + while (iter.hasNext()) + { + item = (Map.Entry) iter.next(); + if (item.getValue().equals(object)) + iter.remove(); + } + + map.put(name, object); + register(name, object); + } + + /** + * Removes the given name, if present. + * + * @param name a name to remove. + */ + public void remove(NameComponent name) + { + super.remove(name); + unregister(name); + } + + /** + * Register this name - object pair in the persistent storage. + * + * @param name the name. + * @param object the object + */ + public void register(NameComponent name, org.omg.CORBA.Object object) + { + // If this key is already known, and this is the same object, + // then return without action. + String ior = object_to_string(object); + + synchronized (file) + { + try + { + FileOutputStream fou; + + if (! file.exists()) + fou = new FileOutputStream(file); + else + fou = new FileOutputStream(file, true); + + Entry e = new Entry(); + e.id = name.id; + e.kind = name.kind; + e.ior = ior; + e.write(fou); + fou.close(); + } + catch (Exception e) + { + InternalError ierr = new InternalError(file.getAbsolutePath()); + ierr.initCause(e); + throw ierr; + } + } + } + + /** + * Remove this name from the persistent storage. + * + * @param name the name to remove + */ + public void unregister(NameComponent name) + { + synchronized (file) + { + try + { + File nf = new File(file.getParent(), file.getName() + "_t"); + FileInputStream fin = new FileInputStream(file); + FileOutputStream fou = new FileOutputStream(nf); + BufferedOutputStream ou = new BufferedOutputStream(fou); + + BufferedReader in = new BufferedReader(new InputStreamReader(fin)); + String s; + String nk = name.kind; + if (nk == null) + nk = ""; + + Entry e = new Entry(); + + while (e.read(in)) + { + if (e.id.equals(name.id) && e.kind.equals(nk)) + { + // Do nothing - skip. + } + else + { + e.write(ou); + } + } + + File deleteIt = new File(file.getParent(), file.getName() + "_d"); + if (deleteIt.exists()) + deleteIt.delete(); + + if (! file.renameTo(deleteIt)) + throw new IOException(file.getAbsolutePath() + " rename failed"); + + if (! nf.renameTo(file)) + throw new IOException(file.getAbsolutePath() + " rename failed"); + } + catch (Exception e) + { + InternalError ierr = new InternalError(file.getAbsolutePath()); + ierr.initCause(e); + throw ierr; + } + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/Persistent.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/Persistent.java deleted file mode 100644 index 5cd1efe91f7..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/Persistent.java +++ /dev/null @@ -1,87 +0,0 @@ -/* PersistentBidiHasthable.java -- Constants for the persistent tables. - Copyright (C) 2006 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. */ - -package gnu.classpath.tools.rmi; - -import java.util.Timer; -import java.util.TimerTask; - -/** - * The static fields, shared by the multiple classes, implementing the - * persistent work. - * - * @author Audrius Meskauskas (audriusa@bioinformatics.org) - */ -public interface Persistent -{ - /** - * Sheduled termination task. - */ - static class ExitTask extends TimerTask - { - public void run() - { - System.exit(0); - } - } - - /** - * The timer, sheduling all disk database update events, shared by all - * instances. - */ - static Timer timer = new Timer(true); - - /** - * The longest time, in ms, after that the database content on the disk must - * be updated. The algorithm is written to avoid the very frequent writings to - * the disk. - */ - static long SAVE_AT_MOST_AFTER = 5000; - - /** - * States how long the database may stay not updated during the intensive - * operations, in ms. Otherwise the intensively used structure may never - * be stored to the disk. - */ - static long ALWAYS_UPDATE = 300000; - - /** - * Write the database content to the disk. - */ - void writeContent(); - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java deleted file mode 100644 index 94b5bcbeeb7..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java +++ /dev/null @@ -1,268 +0,0 @@ -/* PersistentBidiHasthable.java -- Bidirectional persistent hash table. - Copyright (C) 2006 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. */ - -package gnu.classpath.tools.rmi; - -import gnu.classpath.tools.rmi.rmid.ActivationSystemImpl; -import gnu.java.rmi.activation.BidiTable; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.Map; -import java.util.TimerTask; - -/** - * The persistent bidirectional hash table, maps both a to b and b to a. The - * changes are written to dist after SAVE_AT_MOST_AFTER time from the latest - * database change or at most after ALWAYS_UPDATE, if the database is updated - * very frequently. To ensure that no information is lost, the shutdown method - * must be called before exit. - * - * @author Audrius Meskauskas (audriusa@bioinformatics.org) - */ -public class PersistentBidiHashTable extends BidiTable implements - Persistent -{ - class WriteToDiskTask extends TimerTask - { - /** - * Save the database. - */ - public void run() - { - writeContent(); - sheduled = null; - } - } - - /** - * Replaces instances of ActivationSystemImpl into the currently active - * instance of the ActivationSystemImpl - */ - class AdaptedReader extends ObjectInputStream - { - AdaptedReader(InputStream in) throws IOException - { - super(in); - enableResolveObject(true); - } - - protected Object resolveObject(Object obj) throws IOException - { - if (obj instanceof ActivationSystemImpl) - return ActivationSystemImpl.singleton2; - else - return obj; - } - } - - /** - * The database file. - */ - File database; - - /** - * The currently sheduled write to disk task, null if none. - */ - WriteToDiskTask sheduled = null; - - /** - * The time, when the disk database was last updated. - */ - long lastUpdated; - - /** - * Create the unitialised instance that must be initalised when - * ActivationSystemImpl.singleton2 is assigned. - */ - public PersistentBidiHashTable() - { - // Do not initalise the table fields - the initalise method must be - // called later. - super(0); - } - - /** - * Create a new persistent table that stores its information into the given - * file. The ActivationSystemImpl.singleton2 must be assigned. - * - * @param file - * the file, where the table stores its information. - * @param coldStart - * if true, the existing file with this name will be erased and - * ignored. Otherwise, it will be assumed that the file contains the - * persistent table information. - */ - public void init(File file, boolean coldStart) - { - try - { - database = file; - if (database.exists()) - { - if (coldStart) - { - k2v = new Hashtable(); - v2k = new Hashtable(); - database.delete(); - } - else - { - FileInputStream fi = new FileInputStream(file); - BufferedInputStream b = new BufferedInputStream(fi); - ObjectInputStream oin = new AdaptedReader(b); - - k2v = (Map) oin.readObject(); - oin.close(); - - v2k = new Hashtable(k2v.size()); - - // Reguild v2k from k2v: - Iterator en = k2v.keySet().iterator(); - Object key; - while (en.hasNext()) - { - key = en.next(); - v2k.put(k2v.get(key), key); - } - } - } - else - { - k2v = new Hashtable(); - v2k = new Hashtable(); - } - } - catch (Exception ioex) - { - InternalError ierr = new InternalError("Unable to intialize with file " - + file); - ierr.initCause(ioex); - throw ierr; - } - } - - /** - * Write the database content to the disk. - */ - public synchronized void writeContent() - { - try - { - FileOutputStream fou = new FileOutputStream(database); - BufferedOutputStream b = new BufferedOutputStream(fou); - ObjectOutputStream oout = new ObjectOutputStream(b); - oout.writeObject(k2v); - oout.close(); - } - catch (Exception ioex) - { - InternalError ierr = new InternalError( - "Failed to write database to disk: " - + database); - ierr.initCause(ioex); - throw ierr; - } - } - - /** - * Mark the modified database as modified. The database will be written after - * several seconds, unless another modification occurs. - */ - public void markDirty() - { - if (System.currentTimeMillis() - lastUpdated > ALWAYS_UPDATE) - { - // Force storing to disk under intensive operation. - writeContent(); - lastUpdated = System.currentTimeMillis(); - if (sheduled != null) - { - sheduled.cancel(); - sheduled = null; - } - } - else - { - // Otherwise coalesce the disk database copy update events. - if (sheduled != null) - sheduled.cancel(); - sheduled = new WriteToDiskTask(); - timer.schedule(sheduled, SAVE_AT_MOST_AFTER); - } - } - - /** - * Save the current database state to the disk before exit. - */ - public void shutdown() - { - if (sheduled != null) - { - writeContent(); - sheduled = null; - } - } - - /** - * Update the memory maps and mark as should be written to the disk. - */ - public void put(Object key, Object value) - { - super.put(key, value); - markDirty(); - } - - /** - * Update the memory maps and mark as should be written to the disk. - */ - public void removeKey(Object key) - { - super.removeKey(key); - markDirty(); - } - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentHashTable.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentHashTable.java deleted file mode 100644 index 925e829ffd0..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/PersistentHashTable.java +++ /dev/null @@ -1,246 +0,0 @@ -/* PersistentHasthable.java -- Persistent hash table. - Copyright (C) 2006 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. */ - -package gnu.classpath.tools.rmi; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.util.Hashtable; -import java.util.Map; -import java.util.TimerTask; - -/** - * The persistent hash table. The changes are written to dist after - * SAVE_AT_MOST_AFTER time from the latest database change or at most after - * ALWAYS_UPDATE, if the database is updated very frequently. To ensure that no - * information is lost, the shutdown method must be called before exit. - * - * @author Audrius Meskauskas (audriusa@bioinformatics.org) - */ -public class PersistentHashTable - extends Hashtable - implements Serializable, Persistent -{ - - /** - * Use serialVersionUID for interoperability - */ - private static final long serialVersionUID = 1; - - class WriteToDiskTask extends TimerTask - { - /** - * Save the database. - */ - public void run() - { - writeContent(); - sheduled = null; - } - } - - /** - * The database file. - */ - File database; - - /** - * The currently sheduled write to disk task, null if none. - */ - WriteToDiskTask sheduled = null; - - /** - * The time, when the disk database was last updated. - */ - long lastUpdated; - - /** - * Setting to false prevents the automated disk update. - * The initial value is true to prevent writing while reading and is set - * to false in createInstance. - */ - transient boolean ready; - - /** - * Use static method to obtain the instance. - */ - private PersistentHashTable(File file) - { - if (file == null) - throw new NullPointerException("Null file provided"); - database = file; - } - - /** - * Create a new persistent table that stores its information into the given - * file. - * - * @param file - * the file, where the table stores its information. - * @param coldStart - * if true, the existing file with this name will be erased and - * ignored. Otherwise, it will be assumed that the file contains the - * persistent table information. - */ - public static Map createInstance(File file, boolean coldStart) - { - try - { - PersistentHashTable k2v; - if (file.exists()) - { - if (coldStart) - { - file.delete(); - k2v = new PersistentHashTable(file); - } - else - { - FileInputStream fi = new FileInputStream(file); - BufferedInputStream b = new BufferedInputStream(fi); - ObjectInputStream oin = new ObjectInputStream(b); - - k2v = (PersistentHashTable) oin.readObject(); - oin.close(); - } - } - else - k2v = new PersistentHashTable(file); - - k2v.ready = true; - return k2v; - } - catch (Exception ioex) - { - InternalError ierr = new InternalError("Unable to intialize with file " - + file); - ierr.initCause(ioex); - throw ierr; - } - } - - - /** - * Write the database content to the disk. - */ - public synchronized void writeContent() - { - try - { - FileOutputStream fou = new FileOutputStream(database); - BufferedOutputStream b = new BufferedOutputStream(fou); - ObjectOutputStream oout = new ObjectOutputStream(b); - oout.writeObject(this); - oout.close(); - } - catch (Exception ioex) - { - InternalError ierr = new InternalError( - "Failed to write database to disk: "+ database); - ierr.initCause(ioex); - throw ierr; - } - } - - /** - * Mark the modified database as modified. The database will be written after - * several seconds, unless another modification occurs. - */ - public void markDirty() - { - if (System.currentTimeMillis() - lastUpdated > ALWAYS_UPDATE) - { - // Force storing to disk under intensive operation. - writeContent(); - lastUpdated = System.currentTimeMillis(); - if (sheduled != null) - { - sheduled.cancel(); - sheduled = null; - } - } - else - { - // Otherwise coalesce the disk database copy update events. - if (sheduled != null) - sheduled.cancel(); - sheduled = new WriteToDiskTask(); - timer.schedule(sheduled, SAVE_AT_MOST_AFTER); - } - } - - /** - * Save the current database state to the disk before exit. - */ - public void shutdown() - { - if (sheduled != null) - { - writeContent(); - sheduled = null; - } - } - - /** - * Update the memory maps and mark as should be written to the disk. - */ - public Object put(Object key, Object value) - { - super.put(key, value); - if (ready) - markDirty(); - return value; - } - - /** - * Update the memory maps and mark as should be written to the disk. - */ - public Object remove(Object key) - { - Object removed = super.remove(key); - if (ready) - markDirty(); - return removed; - } - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.java deleted file mode 100644 index 63f633f992e..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.java +++ /dev/null @@ -1,165 +0,0 @@ -/* REGISTY.java -- RMI registry starter. - Copyright (C) 2006 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. */ - - -package gnu.classpath.tools.rmi; - -import gnu.classpath.tools.HelpPrinter; -import gnu.classpath.tools.rmi.registry.RegistryImpl; -import gnu.java.rmi.server.UnicastServerRef; - -import java.io.File; -import java.rmi.NotBoundException; -import java.rmi.RemoteException; -import java.rmi.registry.LocateRegistry; -import java.rmi.registry.Registry; -import java.rmi.server.ObjID; -import java.rmi.server.RMIServerSocketFactory; -import java.util.Hashtable; -import java.util.Map; - -/** - * The optionally persistent RMI registry implementation. - * - * @author Audrius Meskauskas (audriusa@bioinformatics.org) - */ -public class REGISTRY -{ - /** - * The stop command. - */ - public static String STOP = "gnu.classpath.tools.rmi.registry.command.STOP"; - - /** - * If true, the registry prints registration events to console. - */ - public static boolean verbose = false; - - /** - * The RMI registry implementation entry point. - */ - public static void main(String[] args) - { - String HelpPath = "rmi/REGISTRY.txt"; - HelpPrinter.checkHelpKey(args, HelpPath); - - // Parse parameters: - String folder = "."; - boolean cold = false; - boolean trans = false; - boolean stop = false; - - int port = Registry.REGISTRY_PORT; - RMIServerSocketFactory ssf = null; - - for (int i = 0; i < args.length; i++) - { - String a = args[i]; - if (a.equals("-restart")) - cold = true; - else if (a.equals("-transient")) - trans = true; - else if (a.equals("-verbose")) - verbose = true; - else if (a.equals("-stop")) - stop = true; - else if (i < args.length - 1) - { - // The additional key parameter is possible. - if (a.equals("-port")) - port = Integer.parseInt(args[++i]); - else if (a.equals("-folder")) - folder = args[++i]; - } - } - - if (!stop) - { - Map table; - if (trans) - table = new Hashtable(); - else - { - // Start the system. - File dataFolder = new File(folder); - if (!dataFolder.exists()) - dataFolder.mkdirs(); - table = PersistentHashTable.createInstance( - new File(dataFolder, "rmiregistry.data"), cold); - } - - RegistryImpl system = new RegistryImpl(table); - - // We must export with the specific activation id that is only - // possible when going into the gnu.java.rmi - try - { - UnicastServerRef sref = new UnicastServerRef( - new ObjID(ObjID.REGISTRY_ID), port, ssf); - - sref.exportObject(system); - System.out.println("The RMI naming service is listening at " + port); - } - catch (Exception ex) - { - System.out.println("Failed to start RMI naming service at " + port); - } - } - else - { - // Stop the naming service. - try - { - Registry r = LocateRegistry.getRegistry(port); - // Search for this specific line will command to stop the registry. - - // Our service returns null, but any other service will thrown - // NotBoundException. - r.unbind(STOP); - } - catch (RemoteException e) - { - System.out.println("Failed to stop RMI naming service at " + port); - } - catch (NotBoundException e) - { - System.out.println("The naming service at port "+port+" is not a "+ - REGISTRY.class.getName()); - } - } - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.txt b/libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.txt deleted file mode 100644 index 7d8e192329f..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/REGISTRY.txt +++ /dev/null @@ -1,28 +0,0 @@ -The persistent RMI naming service, required for the remote method invocations -(packages java.rmi.*, java.rmi.Registry.*). - -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -Usage: rmiregistry - - where includes: - -port N Start the registry on the given local port. If this key - is not specified, the service starts on the port 1099. - -verbose Log binding events to stdout. - -stop Stop the running naming service at the given port. - - -transient Start transient registry service that does not write any - data to the disk. Such service looses the stored bindings if - restarted. If this key is not specified, the - persistent naming service is started. - -restart "Cold start:, clear the persistent naming database, if any. - -folder Folder Store the persistent binding file in the given folder. If this - key is not specified, the file with persistent bindings is - stored into the current folder. - - - diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.java deleted file mode 100644 index fa4d87c1707..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.java +++ /dev/null @@ -1,186 +0,0 @@ -/* RMIC.java -- RMI stub generator. - Copyright (C) 2006 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. -*/ - - -package gnu.classpath.tools.rmi; - -import gnu.classpath.tools.HelpPrinter; -import gnu.classpath.tools.giop.GRMIC; -import gnu.classpath.tools.rmi.rmic.RmicCompiler; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Generates the ordinary stubs (not GIOP based) for java.rmi.* package. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class RMIC -{ - /** - * The version of the compiler. - */ - public static String VERSION = "0.01 alpha pre"; - - /** - * The GRMIC compiler methods - * - * @param args the compiler parameters. - */ - public static void main(String[] args) - { - // Check for the -iiop or -giop keys. If one of these keys is present, - // forward all call to GRMIC. - for (int i = 0; i < args.length; i++) - { - if (args[i].equals("-giop") || args[i].equals("-iiop")) - { - GRMIC.main(args); - return; - } - } - - boolean noWrite = false; - boolean verbose = false; - - String HelpPath = "rmi/RMIC.txt"; - - HelpPrinter.checkHelpKey(args, HelpPath); - - File output = new File("."); - - if (args.length == 0) - { - HelpPrinter.printHelpAndExit(HelpPath); - } - else - { - RmicCompiler compiler = new RmicCompiler(); - - int cl = - 1; - - Options: for (int i = 0; i < args.length; i++) - { - String c = args[i]; - if (c.equals("-v")) - { - printVersion(); - System.exit(0); - } - else if (c.equals("-nowrite")) - noWrite = true; - else if (c.equals("-nowarn")) - compiler.setWarnings(false); - else if (c.equals("-verbose")) - { - verbose = true; - compiler.setVerbose(true); - } - else if (c.equals("-force")) - { - compiler.setForce(true); - } - else if (c.equals("-d")) - { - int f = i + 1; - if (f < args.length) - { - output = new File(args[f]); - i++; - } - else - HelpPrinter.printHelpAndExit(HelpPath); - } - else if (c.equals("-classpath")) - { - int f = i + 1; - if (f < args.length) - { - compiler.setClassPath(args[f]); - i++; - } - else - HelpPrinter.printHelpAndExit(HelpPath); - } - else if (c.charAt(0) != '-') - // No more options - start of class list. - { - cl = i; - break Options; - } - } - - if (cl < 0) - HelpPrinter.printHelpAndExit(HelpPath); - - if (verbose) - System.out.println("Compiling to " + output.getAbsolutePath()); - - // Compile classes - Compile: for (int i = cl; i < args.length; i++) - { - if (args[i].charAt(0) != '-') - { - compiler.reset(); - Class c = compiler.loadClass(args[i]); - - compiler.compile(c); - String packag = compiler.getPackageName().replace('.', '/'); - File fw = new File(output, packag); - - // Generate stub. - String stub = compiler.generateStub(); - String subName = compiler.getStubName() + "_Stub.java"; - - if (noWrite) - continue Compile; - - try - { - fw.mkdirs(); - OutputStream out = new FileOutputStream(new File(fw, - subName)); - out.write(stub.getBytes()); - out.close(); - } - catch (IOException ioex) - { - System.err.println("Output path not accessible"); - ioex.printStackTrace(); - System.exit(1); - } - } - } - } - } - - /** - * Print the version information. - */ - public static void printVersion() - { - System.out.println - ("rmic v "+VERSION+" - RMI stub generator for java.rmi.* "); - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.txt b/libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.txt deleted file mode 100644 index 882cca5538a..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMIC.txt +++ /dev/null @@ -1,45 +0,0 @@ -RMI stub and tie source code generator for java.rmi.*, javax.rmi.* - -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -Usage: rmic - - where includes: - -nowarn Show no warnings - -nowrite Do not write any files (check for errors only) - -d Place generated files into the given folder - -classpath Specifies the path, where to find the classes being - compiled - - -help Print this help text - -v Print version - -verbose Verbose output - -force Try to generate code even if the input classes seem not - consistent with RMI specification. - - -1.2 Generate v 1.2 stubs (default)* - - -iiop Generate stubs and ties for the GIOP based RMI package - extension, javax.rmi. With this key, the two additional - keys are accepted: - -poa Generate the Servant based ties (default) - -impl Generate the obsoleted ObjectImpl based ties - (for backward compatibility) - -help Show more details on the giop stub and tie generator - options. - -giop Same as -iiop* - - - and can include one or more non abstract classes that implement - Remote and are accessible via current class path. - -* This tool generates the source code that must be compiled with java compiler. -* The deprecated 1.1 version stubs are currently not supported (the v 1.2 - style stubs are always generated). -* -iiop is a standard key for this tool, but it is also a registered OMG mark - when giop is not. - diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.java deleted file mode 100644 index 81d09671a79..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.java +++ /dev/null @@ -1,189 +0,0 @@ -/* RMID.java -- the RMI activation daemon. - Copyright (c) 2006 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. */ - -package gnu.classpath.tools.rmi; - -import gnu.classpath.tools.HelpPrinter; -import gnu.classpath.tools.rmi.rmid.ActivationSystemImpl; -import gnu.java.rmi.activation.ActivationSystemTransient; -import gnu.java.rmi.server.UnicastServerRef; - -import java.io.File; -import java.net.InetAddress; -import java.rmi.Remote; -import java.rmi.activation.ActivationSystem; -import java.rmi.registry.LocateRegistry; -import java.rmi.registry.Registry; -import java.rmi.server.ObjID; -import java.rmi.server.RMIServerSocketFactory; - - -/** - * The persistent RMI activation daemon. - * - * @author Audrius Meskauskas (audriusa@bioinformatics.org) - */ -public class RMID -{ - /** - * The RMI server socket factory. - */ - static RMIServerSocketFactory ACTIVATION_REGISTY_SOCKET_FACTORY = null; - - /** - * The activation registry port. - */ - static int ACTIVATION_REGISTRY_PORT = ActivationSystem.SYSTEM_PORT; - - /** - * The activation system name. - */ - static String ACTIVATION_SYSTEM_NAME = "java.rmi.activation.ActivationSystem"; - - /** - * The RMI activation daemon entry point. - */ - public static void main(String[] args) - { - String HelpPath = "rmi/RMID.txt"; - HelpPrinter.checkHelpKey(args, HelpPath); - - // Parse parameters: - boolean stop = false; - String folder = "."; - boolean cold = false; - boolean trans = false; - - for (int i = 0; i < args.length; i++) - { - String a = args[i]; - if (a.equals("-verbose")) - ActivationSystemTransient.debug = true; - else if (a.equals("-stop")) - stop = true; - else if (a.equals("-restart")) - cold = true; - else if (a.equals("-transient")) - trans = true; - else if (i < args.length - 1) - { - // The additional key parameter is possible. - if (a.equals("-port")) - ACTIVATION_REGISTRY_PORT = Integer.parseInt(args[++i]); - else if (a.equals("-folder")) - folder = args[++i]; - } - } - - try - { - if (!stop) - { - // Start the system. - File dataFolder = new File(folder); - if (!dataFolder.exists()) - dataFolder.mkdirs(); - ActivationSystem system; - - if (trans) - system = ActivationSystemTransient.getInstance(); - else - system = ActivationSystemImpl.getInstance(dataFolder, cold); - - // We must export with the specific activation id that is only - // possible when going into the gnu.java.rmi.activation. - UnicastServerRef sref = new UnicastServerRef( - new ObjID(ObjID.ACTIVATOR_ID), ACTIVATION_REGISTRY_PORT, - ACTIVATION_REGISTY_SOCKET_FACTORY); - Remote systemStub = sref.exportObject(system); - - // Start the naming system on the activation system port - // (if not already running). - - Registry r; - try - { - // Expect the naming service running first. - // The local host may want to use the shared registry - r = LocateRegistry.getRegistry(ACTIVATION_REGISTRY_PORT); - r.rebind(ACTIVATION_SYSTEM_NAME, systemStub); - } - catch (Exception ex) - { - // The naming service is not running. Start it. - r = LocateRegistry.createRegistry(ACTIVATION_REGISTRY_PORT); - r.rebind(ACTIVATION_SYSTEM_NAME, systemStub); - } - String host = InetAddress.getLocalHost().getCanonicalHostName(); - System.out.println("The RMI daemon is listening on " + host + - " (port " - + ACTIVATION_REGISTRY_PORT + ")"); - - } - else - { - // Stop the activation system. - Registry r; - try - { - System.out.print("Stopping RMI daemon at " - + ACTIVATION_REGISTRY_PORT+" ... "); - // Expect the naming service running first. - // The local host may want to use the shared registry - r = LocateRegistry.getRegistry(ACTIVATION_REGISTRY_PORT); - ActivationSystem asys = - (ActivationSystem) r.lookup(ACTIVATION_SYSTEM_NAME); - asys.shutdown(); - System.out.println("OK."); - } - catch (Exception ex) - { - System.out.println("The RMI daemon seems not running at " - + ACTIVATION_REGISTRY_PORT); - if (ActivationSystemTransient.debug) - ex.printStackTrace(); - } - } - } - catch (Exception e) - { - System.out.println("Failed to start the RMI daemon."); - if (ActivationSystemTransient.debug) - e.printStackTrace(); - } - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.txt b/libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.txt deleted file mode 100644 index a62613fd4a2..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/RMID.txt +++ /dev/null @@ -1,30 +0,0 @@ -The persistent RMI activation daemon, support RMI object activation -(package java.rmi.activation.*). - -Copyright 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Please report bugs at http://www.gnu.org/software/classpath/bugs.html - -Usage: rmid - - where includes: - -port N Start the service on the given local port. If this key - is not specified, the service starts on the port 1098. - -verbose Log registration events to stdout. - -stop Stop the running activation service at the given port. - - -transient Start transient activation service that does not write any - data to the disk. Such service looses the stored activation - descriptors, if restarted. If this key is not specified, the - persistent naming service is started. - -restart "Cold start:, clear the activation descriptor database, if any. - -folder Folder Store the persistent descriptor file in the given folder. If this - key is not specified, the file with persistent activation - information is stored into the current folder. - -All activation groups are activated on the same virtual machine, where the -daemon is running. For security reasons, all the classes, required for -activation, must be available in the classpath of that machine. - \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java deleted file mode 100644 index 90bd3a6bdac..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java +++ /dev/null @@ -1,139 +0,0 @@ -/* RegistryImpl.java -- the RMI registry implementation - Copyright (c) 1996, 1997, 1998, 1999, 2002, 2005, 2006 - 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. */ - -package gnu.classpath.tools.rmi.registry; - -import gnu.classpath.tools.rmi.Persistent; -import gnu.classpath.tools.rmi.REGISTRY; - -import java.rmi.AccessException; -import java.rmi.AlreadyBoundException; -import java.rmi.NotBoundException; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.rmi.registry.Registry; -import java.util.ArrayList; -import java.util.Map; - -/** - * The optionally persistent registry implementation. - * - * @author Audrius Meskauskas (audriusa@bioinformatics.org) - */ -public class RegistryImpl implements Registry -{ - /** - * The binding table. - */ - Map bindings; - - /** - * Create the registry implementation that uses the given bidirectinal - * table to keep the data. - */ - public RegistryImpl(Map aTable) - { - bindings = aTable; - } - - /** @inheritDoc */ - public Remote lookup(String name) throws RemoteException, NotBoundException, - AccessException - { - Object obj = bindings.get(name); - if (obj == null) - throw new NotBoundException(name); - return ((Remote) obj); - } - - /** @inheritDoc */ - public void bind(String name, Remote obj) throws RemoteException, - AlreadyBoundException, AccessException - { - if (REGISTRY.verbose) - System.out.println("Bind "+name); - if (bindings.containsKey(name)) - throw new AlreadyBoundException(name); - bindings.put(name, obj); - } - - /** @inheritDoc */ - public void unbind(String name) throws RemoteException, NotBoundException, - AccessException - { - if (name.equals(REGISTRY.STOP)) - { - if (bindings instanceof Persistent) - ((Persistent) bindings).writeContent(); - // Terminate in 10 seconds. - System.out.println("Shutdown command received. Will terminate in 10 s"); - Persistent.timer.schedule(new Persistent.ExitTask(), 10000); - } - else - { - if (REGISTRY.verbose) - System.out.println("Unbind "+name); - - if (!bindings.containsKey(name)) - throw new NotBoundException(name); - else - bindings.remove(name); - } - } - - /** @inheritDoc */ - public void rebind(String name, Remote obj) throws RemoteException, - AccessException - { - if (REGISTRY.verbose) - System.out.println("Rebind "+name); - bindings.put(name, obj); - } - - /** @inheritDoc */ - public String[] list() throws RemoteException, AccessException - { - // Create a separated array to prevent race conditions. - ArrayList keys = new ArrayList(bindings.keySet()); - int n = keys.size(); - String[] rt = new String[n]; - for (int i = 0; i < n; i++) - rt[i] = (String) keys.get(i); - return rt; - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java deleted file mode 100644 index 36b7d94a595..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java +++ /dev/null @@ -1,278 +0,0 @@ -/* RegistryImpl_Skel.java - Copyright (C) 2002, 2006 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. */ - - -package gnu.classpath.tools.rmi.registry; - -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import java.rmi.MarshalException; -import java.rmi.Remote; -import java.rmi.UnmarshalException; -import java.rmi.server.Operation; -import java.rmi.server.RemoteCall; -import java.rmi.server.SkeletonMismatchException; - -/** - * This skeleton supports unlikely cases when the naming service is - * contacted from other interoperable java implementation that still uses - * the old style skeleton-dependent invocations. - */ -public final class RegistryImpl_Skel - implements java.rmi.server.Skeleton -{ - private static final long interfaceHash = 4905912898345647071L; - - /** - * Repeated multiple times. - */ - static final String EUM = "error unmarshalling arguments for Registry"; - - /** - * Repeated multiple times. - */ - static final String EMR = "error marshalling return from Registry"; - - private static final Operation[] operations = - { - new Operation("void bind(java.lang.String, Remote"), - new Operation("java.lang.String[] list("), - new Operation("Remote lookup(java.lang.String"), - new Operation("void rebind(java.lang.String, Remote"), - new Operation("void unbind(java.lang.String") - }; - - public Operation[] getOperations() - { - return ((Operation[]) operations.clone()); - } - - public void dispatch(Remote obj, RemoteCall call, - int opnum, long hash) throws java.lang.Exception - { - if (opnum < 0) - { - if (hash == 7583982177005850366L) - opnum = 0; - else if (hash == 2571371476350237748L) - opnum = 1; - else if (hash == -7538657168040752697L) - opnum = 2; - else if (hash == -8381844669958460146L) - opnum = 3; - else if (hash == 7305022919901907578L) - opnum = 4; - else - throw new SkeletonMismatchException("interface hash mismatch"); - } - else if (hash != interfaceHash) - throw new SkeletonMismatchException("interface hash mismatch"); - - RegistryImpl server = (RegistryImpl) obj; - switch (opnum) - { - case 0: - { - java.lang.String $param_0; - Remote $param_1; - try - { - ObjectInput in = call.getInputStream(); - $param_0 = (java.lang.String) in.readObject(); - $param_1 = (Remote) in.readObject(); - - } - catch (IOException e) - { - throw new UnmarshalException(EUM, e); - } - catch (java.lang.ClassCastException e) - { - throw new UnmarshalException(EUM, e); - } - finally - { - call.releaseInputStream(); - } - server.bind($param_0, $param_1); - try - { - ObjectOutput out = call.getResultStream(true); - } - catch (IOException e) - { - throw new MarshalException(EMR, e); - } - break; - } - - case 1: - { - try - { - ObjectInput in = call.getInputStream(); - - } - catch (IOException e) - { - throw new UnmarshalException(EUM, e); - } - finally - { - call.releaseInputStream(); - } - java.lang.String[] $result = server.list(); - try - { - ObjectOutput out = call.getResultStream(true); - out.writeObject($result); - } - catch (IOException e) - { - throw new MarshalException(EMR, e); - } - break; - } - - case 2: - { - java.lang.String $param_0; - try - { - ObjectInput in = call.getInputStream(); - $param_0 = (java.lang.String) in.readObject(); - - } - catch (IOException e) - { - throw new UnmarshalException(EUM, e); - } - catch (java.lang.ClassCastException e) - { - throw new UnmarshalException(EUM, e); - } - finally - { - call.releaseInputStream(); - } - Remote $result = server.lookup($param_0); - try - { - ObjectOutput out = call.getResultStream(true); - out.writeObject($result); - } - catch (IOException e) - { - throw new MarshalException(EMR, e); - } - break; - } - - case 3: - { - java.lang.String $param_0; - Remote $param_1; - try - { - ObjectInput in = call.getInputStream(); - $param_0 = (java.lang.String) in.readObject(); - $param_1 = (Remote) in.readObject(); - - } - catch (IOException e) - { - throw new UnmarshalException(EUM, e); - } - catch (java.lang.ClassCastException e) - { - throw new UnmarshalException(EUM, e); - } - finally - { - call.releaseInputStream(); - } - server.rebind($param_0, $param_1); - try - { - ObjectOutput out = call.getResultStream(true); - } - catch (IOException e) - { - throw new MarshalException(EMR, e); - } - break; - } - - case 4: - { - java.lang.String $param_0; - try - { - ObjectInput in = call.getInputStream(); - $param_0 = (java.lang.String) in.readObject(); - - } - catch (IOException e) - { - throw new UnmarshalException(EUM, e); - } - catch (java.lang.ClassCastException e) - { - throw new UnmarshalException(EUM, e); - } - finally - { - call.releaseInputStream(); - } - server.unbind($param_0); - try - { - ObjectOutput out = call.getResultStream(true); - } - catch (IOException e) - { - throw new MarshalException(EMR, e); - } - break; - } - - default: - throw new UnmarshalException("invalid method number"); - } - } -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java deleted file mode 100644 index d8cac5bfcb3..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java +++ /dev/null @@ -1,263 +0,0 @@ -/* RegistryImpl_Stub.java -- Registry stub. - Copyright (c) 2006 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. */ - -package gnu.classpath.tools.rmi.registry; - -import java.rmi.AccessException; -import java.rmi.AlreadyBoundException; -import java.rmi.NotBoundException; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.rmi.registry.Registry; - -import java.lang.reflect.Method; -import java.rmi.server.RemoteRef; -import java.rmi.server.RemoteStub; -import java.rmi.UnexpectedException; - -/** - * This class delegates its method calls to the remote RMI object, referenced - * by {@link RemoteRef}. - * - * It is normally generated with rmic. - */ -public final class RegistryImpl_Stub - extends RemoteStub - implements Registry -{ - /** - * Use serialVersionUID for interoperability - */ - private static final long serialVersionUID = 3; - - /** - * The explaining message for {@ling UnexpectedException}. - */ - private static final String exception_message = - "undeclared checked exception"; - - /* All remote methods, invoked by this stub: */ - private static final Method met_list; - private static final Method met_rebind; - private static final Method met_unbind; - private static final Method met_lookup; - private static final Method met_bind; - private static final Object[] NO_ARGS = new Object[0]; - static - { - final Class[] NO_ARGSc = new Class[0]; - try - { - met_list = - Registry.class.getMethod("list", NO_ARGSc); - met_rebind = - Registry.class.getMethod("rebind", new Class[] - { - String.class, Remote.class - }); - met_unbind = - Registry.class.getMethod("unbind", new Class[] - { - String.class - }); - met_lookup = - Registry.class.getMethod("lookup", new Class[] - { - String.class - }); - met_bind = - Registry.class.getMethod("bind", new Class[] - { - String.class, Remote.class - }); - - } - catch (NoSuchMethodException nex) - { - NoSuchMethodError err = new NoSuchMethodError( - "RegistryImpl_Stub class initialization failed"); - err.initCause(nex); - throw err; - } - } - - /** - * Create the instance for _RegistryImpl_Stub that forwards method calls to the - * remote object. - * - * @para the reference to the remote object. - */ - public RegistryImpl_Stub(RemoteRef reference) - { - super(reference); - } - - /* Methods */ - /** @inheritDoc */ - public String [] list() - throws RemoteException, AccessException - { - try - { - Object result = ref.invoke(this, met_list, - NO_ARGS, - 2571371476350237748L); - return (String []) result; - } - catch (RuntimeException e) - { - throw e; - } - catch (RemoteException e) - { - throw e; - } - catch (Exception e) - { - UnexpectedException uex = new UnexpectedException(exception_message); - uex.detail = e; - throw uex; - } - } - - /** @inheritDoc */ - public void rebind(String p0, Remote p1) - throws RemoteException, AccessException - { - try - { - ref.invoke(this, met_rebind, - new Object[] {p0, p1}, - -8381844669958460146L); - } - catch (RuntimeException e) - { - throw e; - } - catch (RemoteException e) - { - throw e; - } - catch (Exception e) - { - UnexpectedException uex = new UnexpectedException(exception_message); - uex.detail = e; - throw uex; - } - } - - /** @inheritDoc */ - public void unbind(String p0) - throws RemoteException, NotBoundException, AccessException - { - try - { - ref.invoke(this, met_unbind, - new Object[] {p0}, - 7305022919901907578L); - } - catch (RuntimeException e) - { - throw e; - } - catch (RemoteException e) - { - throw e; - } - catch (Exception e) - { - UnexpectedException uex = new UnexpectedException(exception_message); - uex.detail = e; - throw uex; - } - } - - /** @inheritDoc */ - public Remote lookup(String p0) - throws RemoteException, NotBoundException, AccessException - { - try - { - Object result = ref.invoke(this, met_lookup, - new Object[] {p0}, - -7538657168040752697L); - return (Remote) result; - } - catch (RuntimeException e) - { - throw e; - } - catch (RemoteException e) - { - throw e; - } - catch (Exception e) - { - UnexpectedException uex = new UnexpectedException(exception_message); - uex.detail = e; - throw uex; - } - } - - /** @inheritDoc */ - public void bind(String p0, Remote p1) - throws RemoteException, AlreadyBoundException, AccessException - { - try - { - ref.invoke(this, met_bind, - new Object[] {p0, p1}, - 7583982177005850366L); - } - catch (RuntimeException e) - { - throw e; - } - catch (RemoteException e) - { - throw e; - } - catch (Exception e) - { - UnexpectedException uex = new UnexpectedException(exception_message); - uex.detail = e; - throw uex; - } - } - - -} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java deleted file mode 100644 index 8da486571ce..00000000000 --- a/libjava/classpath/tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java +++ /dev/null @@ -1,287 +0,0 @@ -/* MethodGenerator.java -- Generates methods for rmi compiler. - Copyright (C) 2006 Free Software Foundation - - 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. -*/ - - -package gnu.classpath.tools.rmi.rmic; - -import gnu.classpath.tools.AbstractMethodGenerator; -import gnu.java.rmi.server.RMIHashes; - -import java.lang.reflect.Method; -import java.util.Properties; - -/** - * Keeps information about the single method and generates the code fragments, - * related to that method. - * - * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) - */ -public class RmiMethodGenerator - implements AbstractMethodGenerator -{ - /** - * The method being defined. - */ - Method method; - - /** - * The parent code generator. - */ - RmicCompiler rmic; - - /** - * Create the new method generator for the given method. - * - * @param aMethod the related method. - * @param aRmic the Rmic generator instance, where more class - related - * information is defined. - */ - public RmiMethodGenerator(Method aMethod, RmicCompiler aRmic) - { - method = aMethod; - rmic = aRmic; - if (method.getParameterTypes().length == 0) - rmic.addZeroSizeObjecArray = true; - } - - /** - * Get the method parameter declaration. - * - * @return the string - method parameter declaration. - */ - public String getArgumentList() - { - StringBuffer b = new StringBuffer(); - - Class[] args = method.getParameterTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(rmic.name(args[i])); - b.append(" p" + i); - if (i < args.length - 1) - b.append(", "); - } - return b.toString(); - } - - /** - * Get the method parameter list only (no type declarations). This is used to - * generate the method invocations statement. - * - * @return the string - method parameter list. - */ - public String getArgumentNames() - { - StringBuffer b = new StringBuffer(); - - Class[] args = method.getParameterTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(" p" + i); - if (i < args.length - 1) - b.append(", "); - } - return b.toString(); - } - - /** - * Get the list of exceptions, thrown by this method. - * - * @return the list of exceptions. - */ - public String getThrows() - { - StringBuffer b = new StringBuffer(); - - Class[] args = method.getExceptionTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(rmic.name(args[i])); - if (i < args.length - 1) - b.append(", "); - } - return b.toString(); - } - - /** - * Generate this method for the Stub class. - * - * @return the method body for the stub class. - */ - public String generateStubMethod() - { - String templateName; - - Properties vars = new Properties(rmic.vars); - vars.put("#return_type", rmic.name(method.getReturnType())); - vars.put("#method_name", method.getName()); - vars.put("#method_hash", getMethodHashCode()); - vars.put("#argument_list", getArgumentList()); - vars.put("#object_arg_list", getArgListAsObjectArray()); - vars.put("#declaring_class", rmic.name(method.getDeclaringClass())); - vars.put("#class_arg_list", getArgListAsClassArray()); - - String thr = getThrows(); - if (thr.length() > 0) - vars.put("#throws", "\n throws " + thr); - else - vars.put("#throws", ""); - - if (method.getReturnType().equals(void.class)) - templateName = "Stub_12MethodVoid.jav"; - else - { - templateName = "Stub_12Method.jav"; - vars.put("#return_statement", getReturnStatement()); - } - - String template = rmic.getResource(templateName); - String generated = rmic.replaceAll(template, vars); - return generated; - } - - /** - * Generate sentences for Reading and Defining Arguments. - * - * @return the sequence of sentences for reading and defining arguments. - */ - public String getStaticMethodDeclarations() - { - StringBuffer b = new StringBuffer(); - Class[] args = method.getParameterTypes(); - - for (int i = 0; i < args.length; i++) - { - b.append(" "); - b.append(rmic.name(args[i])); - b.append(" "); - b.append("p" + i); - b.append(" = "); - if (i < args.length - 1) - b.append("\n"); - } - return b.toString(); - } - - /** - * Get the write statement for writing parameters inside the stub. - * - * @return the write statement. - */ - public String getArgListAsObjectArray() - { - Class[] args = method.getParameterTypes(); - - if (args.length==0) - return "NO_ARGS"; - - StringBuffer b = new StringBuffer("new Object[] {"); - - for (int i = 0; i < args.length; i++) - { - if (!args[i].isPrimitive()) - b.append("p"+i); - else - { - b.append("new "+rmic.name(WrapUnWrapper.getWrappingClass(args[i]))); - b.append("(p"+i+")"); - } - if (i= args.length) + return false; + + for (int i = next; i < args.length; i++) + { + try + { + if (verbose) + System.out.println("[Processing class " + args[i] + ".class]"); + processClass(args[i].replace(File.separatorChar, '.')); + } + catch (IOException e) + { + errors.add(e); + } + catch (RMICException e) + { + errors.add(e); + } + } + if (errors.size() > 0) + { + for (Iterator it = errors.iterator(); it.hasNext(); ) + { + Exception ex = (Exception) it.next(); + logError(ex); + } + } + + return errorCount == 0; + } + + private void processClass(String cls) throws IOException, RMICException + { + // reset class specific vars + clazz = null; + classname = null; + classInternalName = null; + fullclassname = null; + remotemethods = null; + stubname = null; + skelname = null; + mRemoteInterfaces = new ArrayList(); + + analyzeClass(cls); + generateStub(); + if (need11Stubs) + generateSkel(); + } + + private void analyzeClass(String cname) + throws RMICException + { + if (verbose) + System.out.println("[analyze class " + cname + "]"); + int p = cname.lastIndexOf('.'); + if (p != -1) + classname = cname.substring(p + 1); + else + classname = cname; + fullclassname = cname; + + findClass(); + findRemoteMethods(); + } + + /** + * @deprecated + */ + public Exception getException() + { + return errors.size() == 0 ? null : (Exception) errors.get(0); + } + + private void findClass() + throws RMICException + { + ClassLoader cl = (loader == null + ? ClassLoader.getSystemClassLoader() + : loader); + try + { + clazz = Class.forName(fullclassname, false, cl); + } + catch (ClassNotFoundException cnfe) + { + throw new RMICException + ("Class " + fullclassname + " not found in classpath", cnfe); + } + + if (! Remote.class.isAssignableFrom(clazz)) + { + throw new RMICException + ("Class " + clazz.getName() + + " does not implement a remote interface."); + } + } + + private static Type[] typeArray(Class[] cls) + { + Type[] t = new Type[cls.length]; + for (int i = 0; i < cls.length; i++) + { + t[i] = Type.getType(cls[i]); + } + + return t; + } + + private static String[] internalNameArray(Type[] t) + { + String[] s = new String[t.length]; + for (int i = 0; i < t.length; i++) + { + s[i] = t[i].getInternalName(); + } + + return s; + } + + private static String[] internalNameArray(Class[] c) + { + return internalNameArray(typeArray(c)); + } + + private static final String forName = "class$"; + + private static Object param(Method m, int argIndex) + { + List l = new ArrayList(); + l.add(m); + l.add(new Integer(argIndex)); + return l; + } + + private static void generateClassForNamer(ClassVisitor cls) + { + MethodVisitor cv = + cls.visitMethod + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_SYNTHETIC, forName, + Type.getMethodDescriptor + (Type.getType(Class.class), new Type[] { Type.getType(String.class) }), + null, null); + + Label start = new Label(); + cv.visitLabel(start); + cv.visitVarInsn(Opcodes.ALOAD, 0); + cv.visitMethodInsn + (Opcodes.INVOKESTATIC, + Type.getInternalName(Class.class), + "forName", + Type.getMethodDescriptor + (Type.getType(Class.class), new Type[] { Type.getType(String.class) })); + cv.visitInsn(Opcodes.ARETURN); + + Label handler = new Label(); + cv.visitLabel(handler); + cv.visitVarInsn(Opcodes.ASTORE, 1); + cv.visitTypeInsn(Opcodes.NEW, typeArg(NoClassDefFoundError.class)); + cv.visitInsn(Opcodes.DUP); + cv.visitVarInsn(Opcodes.ALOAD, 1); + cv.visitMethodInsn + (Opcodes.INVOKEVIRTUAL, + Type.getInternalName(ClassNotFoundException.class), + "getMessage", + Type.getMethodDescriptor(Type.getType(String.class), new Type[] {})); + cv.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(NoClassDefFoundError.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(String.class) })); + cv.visitInsn(Opcodes.ATHROW); + cv.visitTryCatchBlock + (start, handler, handler, + Type.getInternalName(ClassNotFoundException.class)); + cv.visitMaxs(-1, -1); + } + + private void generateClassConstant(MethodVisitor cv, Class cls) { + if (cls.isPrimitive()) + { + Class boxCls; + if (cls.equals(Boolean.TYPE)) + boxCls = Boolean.class; + else if (cls.equals(Character.TYPE)) + boxCls = Character.class; + else if (cls.equals(Byte.TYPE)) + boxCls = Byte.class; + else if (cls.equals(Short.TYPE)) + boxCls = Short.class; + else if (cls.equals(Integer.TYPE)) + boxCls = Integer.class; + else if (cls.equals(Long.TYPE)) + boxCls = Long.class; + else if (cls.equals(Float.TYPE)) + boxCls = Float.class; + else if (cls.equals(Double.TYPE)) + boxCls = Double.class; + else if (cls.equals(Void.TYPE)) + boxCls = Void.class; + else + throw new IllegalArgumentException("unknown primitive type " + cls); + + cv.visitFieldInsn + (Opcodes.GETSTATIC, Type.getInternalName(boxCls), "TYPE", + Type.getDescriptor(Class.class)); + return; + } + cv.visitLdcInsn(cls.getName()); + cv.visitMethodInsn + (Opcodes.INVOKESTATIC, classInternalName, forName, + Type.getMethodDescriptor + (Type.getType(Class.class), + new Type[] { Type.getType(String.class) })); + } + + private void generateClassArray(MethodVisitor code, Class[] classes) + { + code.visitLdcInsn(new Integer(classes.length)); + code.visitTypeInsn(Opcodes.ANEWARRAY, typeArg(Class.class)); + for (int i = 0; i < classes.length; i++) + { + code.visitInsn(Opcodes.DUP); + code.visitLdcInsn(new Integer(i)); + generateClassConstant(code, classes[i]); + code.visitInsn(Opcodes.AASTORE); + } + } + + private void fillOperationArray(MethodVisitor clinit) + { + // Operations array + clinit.visitLdcInsn(new Integer(remotemethods.length)); + clinit.visitTypeInsn(Opcodes.ANEWARRAY, typeArg(Operation.class)); + clinit.visitFieldInsn + (Opcodes.PUTSTATIC, classInternalName, "operations", + Type.getDescriptor(Operation[].class)); + + for (int i = 0; i < remotemethods.length; i++) + { + Method m = remotemethods[i].meth; + + StringBuffer desc = new StringBuffer(); + desc.append(getPrettyName(m.getReturnType()) + " "); + desc.append(m.getName() + "("); + + // signature + Class[] sig = m.getParameterTypes(); + for (int j = 0; j < sig.length; j++) + { + desc.append(getPrettyName(sig[j])); + if (j + 1 < sig.length) + desc.append(", "); + } + + // push operations array + clinit.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, "operations", + Type.getDescriptor(Operation[].class)); + + // push array index + clinit.visitLdcInsn(new Integer(i)); + + // instantiate operation and leave a copy on the stack + clinit.visitTypeInsn(Opcodes.NEW, typeArg(Operation.class)); + clinit.visitInsn(Opcodes.DUP); + clinit.visitLdcInsn(desc.toString()); + clinit.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(Operation.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(String.class) })); + + // store in operations array + clinit.visitInsn(Opcodes.AASTORE); + } + } + + private void generateStaticMethodObjs(MethodVisitor clinit) + { + for (int i = 0; i < remotemethods.length; i++) + { + Method m = remotemethods[i].meth; + + /* + * $method_m.getName()_i = + * m.getDeclaringClass().class.getMethod + * (m.getName(), m.getParameterType()) + */ + String methodVar = "$method_" + m.getName() + "_" + i; + generateClassConstant(clinit, m.getDeclaringClass()); + clinit.visitLdcInsn(m.getName()); + generateClassArray(clinit, m.getParameterTypes()); + clinit.visitMethodInsn + (Opcodes.INVOKEVIRTUAL, + Type.getInternalName(Class.class), + "getMethod", + Type.getMethodDescriptor + (Type.getType(Method.class), + new Type[] { Type.getType(String.class), + Type.getType(Class[].class) })); + + clinit.visitFieldInsn + (Opcodes.PUTSTATIC, classInternalName, methodVar, + Type.getDescriptor(Method.class)); + } + } + + private void generateStub() + throws IOException + { + stubname = fullclassname + "_Stub"; + String stubclassname = classname + "_Stub"; + File file = new File((destination == null ? "." : destination) + + File.separator + + stubname.replace('.', File.separatorChar) + + ".class"); + + if (verbose) + System.out.println("[Generating class " + stubname + "]"); + + final ClassWriter stub = new ClassWriter(true); + classInternalName = stubname.replace('.', '/'); + final String superInternalName = + Type.getType(RemoteStub.class).getInternalName(); + + String[] remoteInternalNames = + internalNameArray((Class[]) mRemoteInterfaces.toArray(new Class[] {})); + stub.visit + (Opcodes.V1_2, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL, classInternalName, + null, superInternalName, remoteInternalNames); + + if (need12Stubs) + { + stub.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_FINAL, "serialVersionUID", + Type.LONG_TYPE.getDescriptor(), null, new Long(2L)); + } + + if (need11Stubs) + { + stub.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_FINAL, + "interfaceHash", Type.LONG_TYPE.getDescriptor(), null, + new Long(RMIHashes.getInterfaceHash(clazz))); + + if (need12Stubs) + { + stub.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC, "useNewInvoke", + Type.BOOLEAN_TYPE.getDescriptor(), null, null); + } + + stub.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_FINAL, + "operations", Type.getDescriptor(Operation[].class), null, null); + } + + // Set of method references. + if (need12Stubs) + { + for (int i = 0; i < remotemethods.length; i++) + { + Method m = remotemethods[i].meth; + String slotName = "$method_" + m.getName() + "_" + i; + stub.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC, slotName, + Type.getDescriptor(Method.class), null, null); + } + } + + MethodVisitor clinit = stub.visitMethod + (Opcodes.ACC_STATIC, "", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {}), null, null); + + if (need11Stubs) + { + fillOperationArray(clinit); + if (! need12Stubs) + clinit.visitInsn(Opcodes.RETURN); + } + + if (need12Stubs) + { + // begin of try + Label begin = new Label(); + + // beginning of catch + Label handler = new Label(); + clinit.visitLabel(begin); + + // Initialize the methods references. + if (need11Stubs) + { + /* + * RemoteRef.class.getMethod("invoke", new Class[] { + * Remote.class, Method.class, Object[].class, long.class }) + */ + generateClassConstant(clinit, RemoteRef.class); + clinit.visitLdcInsn("invoke"); + generateClassArray + (clinit, new Class[] { Remote.class, Method.class, + Object[].class, long.class }); + clinit.visitMethodInsn + (Opcodes.INVOKEVIRTUAL, + Type.getInternalName(Class.class), + "getMethod", + Type.getMethodDescriptor + (Type.getType(Method.class), + new Type[] { Type.getType(String.class), + Type.getType(Class[].class) })); + + // useNewInvoke = true + clinit.visitInsn(Opcodes.ICONST_1); + clinit.visitFieldInsn + (Opcodes.PUTSTATIC, classInternalName, "useNewInvoke", + Type.BOOLEAN_TYPE.getDescriptor()); + } + + generateStaticMethodObjs(clinit); + + // jump past handler + clinit.visitInsn(Opcodes.RETURN); + clinit.visitLabel(handler); + if (need11Stubs) + { + // useNewInvoke = false + clinit.visitInsn(Opcodes.ICONST_0); + clinit.visitFieldInsn + (Opcodes.PUTSTATIC, classInternalName, "useNewInvoke", + Type.BOOLEAN_TYPE.getDescriptor()); + clinit.visitInsn(Opcodes.RETURN); + } + else + { + // throw NoSuchMethodError + clinit.visitTypeInsn(Opcodes.NEW, typeArg(NoSuchMethodError.class)); + clinit.visitInsn(Opcodes.DUP); + clinit.visitLdcInsn("stub class initialization failed"); + clinit.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(NoSuchMethodError.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(String.class) })); + clinit.visitInsn(Opcodes.ATHROW); + } + + clinit.visitTryCatchBlock + (begin, handler, handler, + Type.getInternalName(NoSuchMethodException.class)); + + } + + clinit.visitMaxs(-1, -1); + + generateClassForNamer(stub); + + // Constructors + if (need11Stubs) + { + // no arg public constructor + MethodVisitor code = stub.visitMethod + (Opcodes.ACC_PUBLIC, "", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {}), + null, null); + code.visitVarInsn(Opcodes.ALOAD, 0); + code.visitMethodInsn + (Opcodes.INVOKESPECIAL, superInternalName, "", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {})); + code.visitInsn(Opcodes.RETURN); + + code.visitMaxs(-1, -1); + } + + // public RemoteRef constructor + MethodVisitor constructor = stub.visitMethod + (Opcodes.ACC_PUBLIC, "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] {Type.getType(RemoteRef.class)}), + null, null); + constructor.visitVarInsn(Opcodes.ALOAD, 0); + constructor.visitVarInsn(Opcodes.ALOAD, 1); + constructor.visitMethodInsn + (Opcodes.INVOKESPECIAL, superInternalName, "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] {Type.getType(RemoteRef.class)})); + constructor.visitInsn(Opcodes.RETURN); + constructor.visitMaxs(-1, -1); + + // Method implementations + for (int i = 0; i < remotemethods.length; i++) + { + Method m = remotemethods[i].meth; + Class[] sig = m.getParameterTypes(); + Class returntype = m.getReturnType(); + Class[] except = sortExceptions + ((Class[]) remotemethods[i].exceptions.toArray(new Class[0])); + + MethodVisitor code = stub.visitMethod + (Opcodes.ACC_PUBLIC, + m.getName(), + Type.getMethodDescriptor(Type.getType(returntype), typeArray(sig)), + null, + internalNameArray(typeArray(except))); + + final Variables var = new Variables(); + + // this and parameters are the declared vars + var.declare("this"); + for (int j = 0; j < sig.length; j++) + var.declare(param(m, j), size(sig[j])); + + Label methodTryBegin = new Label(); + code.visitLabel(methodTryBegin); + + if (need12Stubs) + { + Label oldInvoke = new Label(); + if (need11Stubs) + { + // if not useNewInvoke jump to old invoke + code.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, "useNewInvoke", + Type.getDescriptor(boolean.class)); + code.visitJumpInsn(Opcodes.IFEQ, oldInvoke); + } + + // this.ref + code.visitVarInsn(Opcodes.ALOAD, var.get("this")); + code.visitFieldInsn + (Opcodes.GETFIELD, Type.getInternalName(RemoteObject.class), + "ref", Type.getDescriptor(RemoteRef.class)); + + // "this" is first arg to invoke + code.visitVarInsn(Opcodes.ALOAD, var.get("this")); + + // method object is second arg to invoke + String methName = "$method_" + m.getName() + "_" + i; + code.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, methName, + Type.getDescriptor(Method.class)); + + // args to remote method are third arg to invoke + if (sig.length == 0) + code.visitInsn(Opcodes.ACONST_NULL); + else + { + // create arg Object[] (with boxed primitives) and push it + code.visitLdcInsn(new Integer(sig.length)); + code.visitTypeInsn(Opcodes.ANEWARRAY, typeArg(Object.class)); + + var.allocate("argArray"); + code.visitVarInsn(Opcodes.ASTORE, var.get("argArray")); + + for (int j = 0; j < sig.length; j++) + { + int size = size(sig[j]); + int insn = loadOpcode(sig[j]); + Class box = sig[j].isPrimitive() ? box(sig[j]) : null; + + code.visitVarInsn(Opcodes.ALOAD, var.get("argArray")); + code.visitLdcInsn(new Integer(j)); + + // put argument on stack + if (box != null) + { + code.visitTypeInsn(Opcodes.NEW, typeArg(box)); + code.visitInsn(Opcodes.DUP); + code.visitVarInsn(insn, var.get(param(m, j))); + code.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(box), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(sig[j]) })); + } + else + code.visitVarInsn(insn, var.get(param(m, j))); + + code.visitInsn(Opcodes.AASTORE); + } + + code.visitVarInsn(Opcodes.ALOAD, var.deallocate("argArray")); + } + + // push remote operation opcode + code.visitLdcInsn(new Long(remotemethods[i].hash)); + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteRef.class), + "invoke", + Type.getMethodDescriptor + (Type.getType(Object.class), + new Type[] { Type.getType(Remote.class), + Type.getType(Method.class), + Type.getType(Object[].class), + Type.LONG_TYPE })); + + if (! returntype.equals(Void.TYPE)) + { + int retcode = returnOpcode(returntype); + Class boxCls = + returntype.isPrimitive() ? box(returntype) : null; + code.visitTypeInsn + (Opcodes.CHECKCAST, typeArg(boxCls == null ? returntype : boxCls)); + if (returntype.isPrimitive()) + { + // unbox + code.visitMethodInsn + (Opcodes.INVOKEVIRTUAL, + Type.getType(boxCls).getInternalName(), + unboxMethod(returntype), + Type.getMethodDescriptor + (Type.getType(returntype), new Type[] {})); + } + + code.visitInsn(retcode); + } + else + code.visitInsn(Opcodes.RETURN); + + + if (need11Stubs) + code.visitLabel(oldInvoke); + } + + if (need11Stubs) + { + + // this.ref.newCall(this, operations, index, interfaceHash) + code.visitVarInsn(Opcodes.ALOAD, var.get("this")); + code.visitFieldInsn + (Opcodes.GETFIELD, + Type.getInternalName(RemoteObject.class), + "ref", + Type.getDescriptor(RemoteRef.class)); + + // "this" is first arg to newCall + code.visitVarInsn(Opcodes.ALOAD, var.get("this")); + + // operations is second arg to newCall + code.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, "operations", + Type.getDescriptor(Operation[].class)); + + // method index is third arg + code.visitLdcInsn(new Integer(i)); + + // interface hash is fourth arg + code.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, "interfaceHash", + Type.LONG_TYPE.getDescriptor()); + + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteRef.class), + "newCall", + Type.getMethodDescriptor + (Type.getType(RemoteCall.class), + new Type[] { Type.getType(RemoteObject.class), + Type.getType(Operation[].class), + Type.INT_TYPE, + Type.LONG_TYPE })); + + // store call object on stack and leave copy on stack + var.allocate("call"); + code.visitInsn(Opcodes.DUP); + code.visitVarInsn(Opcodes.ASTORE, var.get("call")); + + Label beginArgumentTryBlock = new Label(); + code.visitLabel(beginArgumentTryBlock); + + // ObjectOutput out = call.getOutputStream(); + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteCall.class), + "getOutputStream", + Type.getMethodDescriptor + (Type.getType(ObjectOutput.class), new Type[] {})); + + for (int j = 0; j < sig.length; j++) + { + // dup the ObjectOutput + code.visitInsn(Opcodes.DUP); + + // get j'th arg to remote method + code.visitVarInsn(loadOpcode(sig[j]), var.get(param(m, j))); + + Class argCls = + sig[j].isPrimitive() ? sig[j] : Object.class; + + // out.writeFoo + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(ObjectOutput.class), + writeMethod(sig[j]), + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(argCls) })); + } + + // pop ObjectOutput + code.visitInsn(Opcodes.POP); + + Label iohandler = new Label(); + Label endArgumentTryBlock = new Label(); + code.visitJumpInsn(Opcodes.GOTO, endArgumentTryBlock); + code.visitLabel(iohandler); + + // throw new MarshalException(msg, ioexception); + code.visitVarInsn(Opcodes.ASTORE, var.allocate("exception")); + code.visitTypeInsn(Opcodes.NEW, typeArg(MarshalException.class)); + code.visitInsn(Opcodes.DUP); + code.visitLdcInsn("error marshalling arguments"); + code.visitVarInsn(Opcodes.ALOAD, var.deallocate("exception")); + code.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(MarshalException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(String.class), + Type.getType(Exception.class) })); + code.visitInsn(Opcodes.ATHROW); + + code.visitLabel(endArgumentTryBlock); + code.visitTryCatchBlock + (beginArgumentTryBlock, iohandler, iohandler, + Type.getInternalName(IOException.class)); + + // this.ref.invoke(call) + code.visitVarInsn(Opcodes.ALOAD, var.get("this")); + code.visitFieldInsn + (Opcodes.GETFIELD, Type.getInternalName(RemoteObject.class), + "ref", Type.getDescriptor(RemoteRef.class)); + code.visitVarInsn(Opcodes.ALOAD, var.get("call")); + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteRef.class), + "invoke", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(RemoteCall.class) })); + + // handle return value + boolean needcastcheck = false; + + Label beginReturnTryCatch = new Label(); + code.visitLabel(beginReturnTryCatch); + + int returncode = returnOpcode(returntype); + + if (! returntype.equals(Void.TYPE)) + { + // call.getInputStream() + code.visitVarInsn(Opcodes.ALOAD, var.get("call")); + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteCall.class), + "getInputStream", + Type.getMethodDescriptor + (Type.getType(ObjectInput.class), new Type[] {})); + + Class readCls = + returntype.isPrimitive() ? returntype : Object.class; + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(ObjectInput.class), + readMethod(returntype), + Type.getMethodDescriptor + (Type.getType(readCls), new Type[] {})); + + boolean castresult = false; + + if (! returntype.isPrimitive()) + { + if (! returntype.equals(Object.class)) + castresult = true; + else + needcastcheck = true; + } + + if (castresult) + code.visitTypeInsn(Opcodes.CHECKCAST, typeArg(returntype)); + + // leave result on stack for return + } + + // this.ref.done(call) + code.visitVarInsn(Opcodes.ALOAD, var.get("this")); + code.visitFieldInsn + (Opcodes.GETFIELD, + Type.getInternalName(RemoteObject.class), + "ref", + Type.getDescriptor(RemoteRef.class)); + code.visitVarInsn(Opcodes.ALOAD, var.deallocate("call")); + code.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteRef.class), + "done", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(RemoteCall.class) })); + + // return; or return result; + code.visitInsn(returncode); + + // exception handler + Label handler = new Label(); + code.visitLabel(handler); + code.visitVarInsn(Opcodes.ASTORE, var.allocate("exception")); + + // throw new UnmarshalException(msg, e) + code.visitTypeInsn(Opcodes.NEW, typeArg(UnmarshalException.class)); + code.visitInsn(Opcodes.DUP); + code.visitLdcInsn("error unmarshalling return"); + code.visitVarInsn(Opcodes.ALOAD, var.deallocate("exception")); + code.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(UnmarshalException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(String.class), + Type.getType(Exception.class) })); + code.visitInsn(Opcodes.ATHROW); + + Label endReturnTryCatch = new Label(); + + // catch IOException + code.visitTryCatchBlock + (beginReturnTryCatch, handler, handler, + Type.getInternalName(IOException.class)); + + if (needcastcheck) + { + // catch ClassNotFoundException + code.visitTryCatchBlock + (beginReturnTryCatch, handler, handler, + Type.getInternalName(ClassNotFoundException.class)); + } + } + + Label rethrowHandler = new Label(); + code.visitLabel(rethrowHandler); + // rethrow declared exceptions + code.visitInsn(Opcodes.ATHROW); + + boolean needgeneral = true; + for (int j = 0; j < except.length; j++) + { + if (except[j] == Exception.class) + needgeneral = false; + } + + for (int j = 0; j < except.length; j++) + { + code.visitTryCatchBlock + (methodTryBegin, rethrowHandler, rethrowHandler, + Type.getInternalName(except[j])); + } + + if (needgeneral) + { + // rethrow unchecked exceptions + code.visitTryCatchBlock + (methodTryBegin, rethrowHandler, rethrowHandler, + Type.getInternalName(RuntimeException.class)); + + Label generalHandler = new Label(); + code.visitLabel(generalHandler); + String msg = "undeclared checked exception"; + + // throw new java.rmi.UnexpectedException(msg, e) + code.visitVarInsn(Opcodes.ASTORE, var.allocate("exception")); + code.visitTypeInsn(Opcodes.NEW, typeArg(UnexpectedException.class)); + code.visitInsn(Opcodes.DUP); + code.visitLdcInsn(msg); + code.visitVarInsn(Opcodes.ALOAD, var.deallocate("exception")); + code.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(UnexpectedException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type [] { Type.getType(String.class), + Type.getType(Exception.class) })); + code.visitInsn(Opcodes.ATHROW); + + code.visitTryCatchBlock + (methodTryBegin, rethrowHandler, generalHandler, + Type.getInternalName(Exception.class)); + } + + code.visitMaxs(-1, -1); + } + + stub.visitEnd(); + byte[] classData = stub.toByteArray(); + if (!noWrite) + { + if (file.exists()) + file.delete(); + if (file.getParentFile() != null) + file.getParentFile().mkdirs(); + FileOutputStream fos = new FileOutputStream(file); + fos.write(classData); + fos.flush(); + fos.close(); + } + } + + private void generateSkel() throws IOException + { + skelname = fullclassname + "_Skel"; + String skelclassname = classname + "_Skel"; + File file = new File(destination == null ? "" : destination + + File.separator + + skelname.replace('.', File.separatorChar) + + ".class"); + if (verbose) + System.out.println("[Generating class " + skelname + "]"); + + final ClassWriter skel = new ClassWriter(true); + classInternalName = skelname.replace('.', '/'); + skel.visit + (Opcodes.V1_1, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL, + classInternalName, Type.getInternalName(Object.class), null, + new String[] { Type.getType(Skeleton.class).getInternalName() }); + + skel.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_FINAL, "interfaceHash", + Type.LONG_TYPE.getDescriptor(), null, + new Long(RMIHashes.getInterfaceHash(clazz))); + + skel.visitField + (Opcodes.ACC_PRIVATE + Opcodes.ACC_STATIC + Opcodes.ACC_FINAL, "operations", + Type.getDescriptor(Operation[].class), null, null); + + MethodVisitor clinit = skel.visitMethod + (Opcodes.ACC_STATIC, "", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {}), null, null); + + fillOperationArray(clinit); + clinit.visitInsn(Opcodes.RETURN); + + clinit.visitMaxs(-1, -1); + + // no arg public constructor + MethodVisitor init = skel.visitMethod + (Opcodes.ACC_PUBLIC, "", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {}), null, null); + init.visitVarInsn(Opcodes.ALOAD, 0); + init.visitMethodInsn + (Opcodes.INVOKESPECIAL, Type.getInternalName(Object.class), "", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {})); + init.visitInsn(Opcodes.RETURN); + init.visitMaxs(-1, -1); + + /* + * public Operation[] getOperations() + * returns a clone of the operations array + */ + MethodVisitor getOp = skel.visitMethod + (Opcodes.ACC_PUBLIC, "getOperations", + Type.getMethodDescriptor + (Type.getType(Operation[].class), new Type[] {}), + null, null); + getOp.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, "operations", + Type.getDescriptor(Operation[].class)); + getOp.visitMethodInsn + (Opcodes.INVOKEVIRTUAL, Type.getInternalName(Object.class), + "clone", Type.getMethodDescriptor(Type.getType(Object.class), + new Type[] {})); + getOp.visitTypeInsn(Opcodes.CHECKCAST, typeArg(Operation[].class)); + getOp.visitInsn(Opcodes.ARETURN); + getOp.visitMaxs(-1, -1); + + // public void dispatch(Remote, RemoteCall, int opnum, long hash) + MethodVisitor dispatch = skel.visitMethod + (Opcodes.ACC_PUBLIC, + "dispatch", + Type.getMethodDescriptor + (Type.VOID_TYPE, + new Type[] { Type.getType(Remote.class), + Type.getType(RemoteCall.class), + Type.INT_TYPE, Type.LONG_TYPE }), null, + new String[] { Type.getInternalName(Exception.class) }); + + Variables var = new Variables(); + var.declare("this"); + var.declare("remoteobj"); + var.declare("remotecall"); + var.declare("opnum"); + var.declareWide("hash"); + + /* + * if opnum >= 0 + * XXX it is unclear why there is handling of negative opnums + */ + dispatch.visitVarInsn(Opcodes.ILOAD, var.get("opnum")); + Label nonNegativeOpnum = new Label(); + Label opnumSet = new Label(); + dispatch.visitJumpInsn(Opcodes.IFGE, nonNegativeOpnum); + + for (int i = 0; i < remotemethods.length; i++) + { + // assign opnum if hash matches supplied hash + dispatch.visitVarInsn(Opcodes.LLOAD, var.get("hash")); + dispatch.visitLdcInsn(new Long(remotemethods[i].hash)); + Label notIt = new Label(); + dispatch.visitInsn(Opcodes.LCMP); + dispatch.visitJumpInsn(Opcodes.IFNE, notIt); + + // opnum = + dispatch.visitLdcInsn(new Integer(i)); + dispatch.visitVarInsn(Opcodes.ISTORE, var.get("opnum")); + dispatch.visitJumpInsn(Opcodes.GOTO, opnumSet); + dispatch.visitLabel(notIt); + } + + // throw new SkeletonMismatchException + Label mismatch = new Label(); + dispatch.visitJumpInsn(Opcodes.GOTO, mismatch); + + dispatch.visitLabel(nonNegativeOpnum); + + // if opnum is already set, check that the hash matches the interface + dispatch.visitVarInsn(Opcodes.LLOAD, var.get("hash")); + dispatch.visitFieldInsn + (Opcodes.GETSTATIC, classInternalName, + "interfaceHash", Type.LONG_TYPE.getDescriptor()); + dispatch.visitInsn(Opcodes.LCMP); + dispatch.visitJumpInsn(Opcodes.IFEQ, opnumSet); + + dispatch.visitLabel(mismatch); + dispatch.visitTypeInsn + (Opcodes.NEW, typeArg(SkeletonMismatchException.class)); + dispatch.visitInsn(Opcodes.DUP); + dispatch.visitLdcInsn("interface hash mismatch"); + dispatch.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(SkeletonMismatchException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(String.class) })); + dispatch.visitInsn(Opcodes.ATHROW); + + // opnum has been set + dispatch.visitLabel(opnumSet); + + dispatch.visitVarInsn(Opcodes.ALOAD, var.get("remoteobj")); + dispatch.visitTypeInsn(Opcodes.CHECKCAST, typeArg(clazz)); + dispatch.visitVarInsn(Opcodes.ASTORE, var.get("remoteobj")); + + Label deflt = new Label(); + Label[] methLabels = new Label[remotemethods.length]; + for (int i = 0; i < methLabels.length; i++) + methLabels[i] = new Label(); + + // switch on opnum + dispatch.visitVarInsn(Opcodes.ILOAD, var.get("opnum")); + dispatch.visitTableSwitchInsn + (0, remotemethods.length - 1, deflt, methLabels); + + // Method dispatch + for (int i = 0; i < remotemethods.length; i++) + { + dispatch.visitLabel(methLabels[i]); + Method m = remotemethods[i].meth; + generateMethodSkel(dispatch, m, var); + } + + dispatch.visitLabel(deflt); + dispatch.visitTypeInsn(Opcodes.NEW, typeArg(UnmarshalException.class)); + dispatch.visitInsn(Opcodes.DUP); + dispatch.visitLdcInsn("invalid method number"); + dispatch.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(UnmarshalException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(String.class) })); + dispatch.visitInsn(Opcodes.ATHROW); + + dispatch.visitMaxs(-1, -1); + + skel.visitEnd(); + byte[] classData = skel.toByteArray(); + if (!noWrite) + { + if (file.exists()) + file.delete(); + if (file.getParentFile() != null) + file.getParentFile().mkdirs(); + FileOutputStream fos = new FileOutputStream(file); + fos.write(classData); + fos.flush(); + fos.close(); + } + } + + private void generateMethodSkel(MethodVisitor cv, Method m, Variables var) + { + Class[] sig = m.getParameterTypes(); + + Label readArgs = new Label(); + cv.visitLabel(readArgs); + + boolean needcastcheck = false; + + // ObjectInput in = call.getInputStream(); + cv.visitVarInsn(Opcodes.ALOAD, var.get("remotecall")); + cv.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteCall.class), "getInputStream", + Type.getMethodDescriptor + (Type.getType(ObjectInput.class), new Type[] {})); + cv.visitVarInsn(Opcodes.ASTORE, var.allocate("objectinput")); + + for (int i = 0; i < sig.length; i++) + { + // dup input stream + cv.visitVarInsn(Opcodes.ALOAD, var.get("objectinput")); + + Class readCls = sig[i].isPrimitive() ? sig[i] : Object.class; + + // in.readFoo() + cv.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(ObjectInput.class), + readMethod(sig[i]), + Type.getMethodDescriptor + (Type.getType(readCls), new Type [] {})); + + if (! sig[i].isPrimitive() && ! sig[i].equals(Object.class)) + { + needcastcheck = true; + cv.visitTypeInsn(Opcodes.CHECKCAST, typeArg(sig[i])); + } + + // store arg in variable + cv.visitVarInsn + (storeOpcode(sig[i]), var.allocate(param(m, i), size(sig[i]))); + } + + var.deallocate("objectinput"); + + Label doCall = new Label(); + Label closeInput = new Label(); + + cv.visitJumpInsn(Opcodes.JSR, closeInput); + cv.visitJumpInsn(Opcodes.GOTO, doCall); + + // throw new UnmarshalException + Label handler = new Label(); + cv.visitLabel(handler); + cv.visitVarInsn(Opcodes.ASTORE, var.allocate("exception")); + cv.visitTypeInsn(Opcodes.NEW, typeArg(UnmarshalException.class)); + cv.visitInsn(Opcodes.DUP); + cv.visitLdcInsn("error unmarshalling arguments"); + cv.visitVarInsn(Opcodes.ALOAD, var.deallocate("exception")); + cv.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(UnmarshalException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(String.class), + Type.getType(Exception.class) })); + cv.visitVarInsn(Opcodes.ASTORE, var.allocate("toThrow")); + cv.visitJumpInsn(Opcodes.JSR, closeInput); + cv.visitVarInsn(Opcodes.ALOAD, var.get("toThrow")); + cv.visitInsn(Opcodes.ATHROW); + + cv.visitTryCatchBlock + (readArgs, handler, handler, Type.getInternalName(IOException.class)); + if (needcastcheck) + { + cv.visitTryCatchBlock + (readArgs, handler, handler, + Type.getInternalName(ClassCastException.class)); + } + + // finally block + cv.visitLabel(closeInput); + cv.visitVarInsn(Opcodes.ASTORE, var.allocate("retAddress")); + cv.visitVarInsn(Opcodes.ALOAD, var.get("remotecall")); + cv.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteCall.class), + "releaseInputStream", + Type.getMethodDescriptor(Type.VOID_TYPE, new Type[] {})); + cv.visitVarInsn(Opcodes.RET, var.deallocate("retAddress")); + var.deallocate("toThrow"); + + // do the call using args stored as variables + cv.visitLabel(doCall); + cv.visitVarInsn(Opcodes.ALOAD, var.get("remoteobj")); + for (int i = 0; i < sig.length; i++) + cv.visitVarInsn(loadOpcode(sig[i]), var.deallocate(param(m, i))); + cv.visitMethodInsn + (Opcodes.INVOKEVIRTUAL, Type.getInternalName(clazz), m.getName(), + Type.getMethodDescriptor(m)); + + Class returntype = m.getReturnType(); + if (! returntype.equals(Void.TYPE)) + { + cv.visitVarInsn + (storeOpcode(returntype), var.allocate("result", size(returntype))); + } + + // write result to result stream + Label writeResult = new Label(); + cv.visitLabel(writeResult); + cv.visitVarInsn(Opcodes.ALOAD, var.get("remotecall")); + cv.visitInsn(Opcodes.ICONST_1); + cv.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(RemoteCall.class), + "getResultStream", + Type.getMethodDescriptor + (Type.getType(ObjectOutput.class), + new Type[] { Type.BOOLEAN_TYPE })); + + if (! returntype.equals(Void.TYPE)) + { + // out.writeFoo(result) + cv.visitVarInsn(loadOpcode(returntype), var.deallocate("result")); + Class writeCls = returntype.isPrimitive() ? returntype : Object.class; + cv.visitMethodInsn + (Opcodes.INVOKEINTERFACE, + Type.getInternalName(ObjectOutput.class), + writeMethod(returntype), + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(writeCls) })); + } + + cv.visitInsn(Opcodes.RETURN); + + // throw new MarshalException + Label marshalHandler = new Label(); + cv.visitLabel(marshalHandler); + cv.visitVarInsn(Opcodes.ASTORE, var.allocate("exception")); + cv.visitTypeInsn(Opcodes.NEW, typeArg(MarshalException.class)); + cv.visitInsn(Opcodes.DUP); + cv.visitLdcInsn("error marshalling return"); + cv.visitVarInsn(Opcodes.ALOAD, var.deallocate("exception")); + cv.visitMethodInsn + (Opcodes.INVOKESPECIAL, + Type.getInternalName(MarshalException.class), + "", + Type.getMethodDescriptor + (Type.VOID_TYPE, new Type[] { Type.getType(String.class), + Type.getType(Exception.class) })); + cv.visitInsn(Opcodes.ATHROW); + cv.visitTryCatchBlock + (writeResult, marshalHandler, marshalHandler, + Type.getInternalName(IOException.class)); + } + + private static String typeArg(Class cls) + { + if (cls.isArray()) + return Type.getDescriptor(cls); + + return Type.getInternalName(cls); + } + + private static String readMethod(Class cls) + { + if (cls.equals(Void.TYPE)) + throw new IllegalArgumentException("can not read void"); + + String method; + if (cls.equals(Boolean.TYPE)) + method = "readBoolean"; + else if (cls.equals(Byte.TYPE)) + method = "readByte"; + else if (cls.equals(Character.TYPE)) + method = "readChar"; + else if (cls.equals(Short.TYPE)) + method = "readShort"; + else if (cls.equals(Integer.TYPE)) + method = "readInt"; + else if (cls.equals(Long.TYPE)) + method = "readLong"; + else if (cls.equals(Float.TYPE)) + method = "readFloat"; + else if (cls.equals(Double.TYPE)) + method = "readDouble"; + else + method = "readObject"; + + return method; + } + + private static String writeMethod(Class cls) + { + if (cls.equals(Void.TYPE)) + throw new IllegalArgumentException("can not read void"); + + String method; + if (cls.equals(Boolean.TYPE)) + method = "writeBoolean"; + else if (cls.equals(Byte.TYPE)) + method = "writeByte"; + else if (cls.equals(Character.TYPE)) + method = "writeChar"; + else if (cls.equals(Short.TYPE)) + method = "writeShort"; + else if (cls.equals(Integer.TYPE)) + method = "writeInt"; + else if (cls.equals(Long.TYPE)) + method = "writeLong"; + else if (cls.equals(Float.TYPE)) + method = "writeFloat"; + else if (cls.equals(Double.TYPE)) + method = "writeDouble"; + else + method = "writeObject"; + + return method; + } + + private static int returnOpcode(Class cls) + { + int returncode; + if (cls.equals(Boolean.TYPE)) + returncode = Opcodes.IRETURN; + else if (cls.equals(Byte.TYPE)) + returncode = Opcodes.IRETURN; + else if (cls.equals(Character.TYPE)) + returncode = Opcodes.IRETURN; + else if (cls.equals(Short.TYPE)) + returncode = Opcodes.IRETURN; + else if (cls.equals(Integer.TYPE)) + returncode = Opcodes.IRETURN; + else if (cls.equals(Long.TYPE)) + returncode = Opcodes.LRETURN; + else if (cls.equals(Float.TYPE)) + returncode = Opcodes.FRETURN; + else if (cls.equals(Double.TYPE)) + returncode = Opcodes.DRETURN; + else if (cls.equals(Void.TYPE)) + returncode = Opcodes.RETURN; + else + returncode = Opcodes.ARETURN; + + return returncode; + } + + private static int loadOpcode(Class cls) + { + if (cls.equals(Void.TYPE)) + throw new IllegalArgumentException("can not load void"); + + int loadcode; + if (cls.equals(Boolean.TYPE)) + loadcode = Opcodes.ILOAD; + else if (cls.equals(Byte.TYPE)) + loadcode = Opcodes.ILOAD; + else if (cls.equals(Character.TYPE)) + loadcode = Opcodes.ILOAD; + else if (cls.equals(Short.TYPE)) + loadcode = Opcodes.ILOAD; + else if (cls.equals(Integer.TYPE)) + loadcode = Opcodes.ILOAD; + else if (cls.equals(Long.TYPE)) + loadcode = Opcodes.LLOAD; + else if (cls.equals(Float.TYPE)) + loadcode = Opcodes.FLOAD; + else if (cls.equals(Double.TYPE)) + loadcode = Opcodes.DLOAD; + else + loadcode = Opcodes.ALOAD; + + return loadcode; + } + + private static int storeOpcode(Class cls) + { + if (cls.equals(Void.TYPE)) + throw new IllegalArgumentException("can not load void"); + + int storecode; + if (cls.equals(Boolean.TYPE)) + storecode = Opcodes.ISTORE; + else if (cls.equals(Byte.TYPE)) + storecode = Opcodes.ISTORE; + else if (cls.equals(Character.TYPE)) + storecode = Opcodes.ISTORE; + else if (cls.equals(Short.TYPE)) + storecode = Opcodes.ISTORE; + else if (cls.equals(Integer.TYPE)) + storecode = Opcodes.ISTORE; + else if (cls.equals(Long.TYPE)) + storecode = Opcodes.LSTORE; + else if (cls.equals(Float.TYPE)) + storecode = Opcodes.FSTORE; + else if (cls.equals(Double.TYPE)) + storecode = Opcodes.DSTORE; + else + storecode = Opcodes.ASTORE; + + return storecode; + } + + private static String unboxMethod(Class primitive) + { + if (! primitive.isPrimitive()) + throw new IllegalArgumentException("can not unbox nonprimitive"); + + String method; + if (primitive.equals(Boolean.TYPE)) + method = "booleanValue"; + else if (primitive.equals(Byte.TYPE)) + method = "byteValue"; + else if (primitive.equals(Character.TYPE)) + method = "charValue"; + else if (primitive.equals(Short.TYPE)) + method = "shortValue"; + else if (primitive.equals(Integer.TYPE)) + method = "intValue"; + else if (primitive.equals(Long.TYPE)) + method = "longValue"; + else if (primitive.equals(Float.TYPE)) + method = "floatValue"; + else if (primitive.equals(Double.TYPE)) + method = "doubleValue"; + else + throw new IllegalStateException("unknown primitive class " + primitive); + + return method; + } + + public static Class box(Class cls) + { + if (! cls.isPrimitive()) + throw new IllegalArgumentException("can only box primitive"); + + Class box; + if (cls.equals(Boolean.TYPE)) + box = Boolean.class; + else if (cls.equals(Byte.TYPE)) + box = Byte.class; + else if (cls.equals(Character.TYPE)) + box = Character.class; + else if (cls.equals(Short.TYPE)) + box = Short.class; + else if (cls.equals(Integer.TYPE)) + box = Integer.class; + else if (cls.equals(Long.TYPE)) + box = Long.class; + else if (cls.equals(Float.TYPE)) + box = Float.class; + else if (cls.equals(Double.TYPE)) + box = Double.class; + else + throw new IllegalStateException("unknown primitive type " + cls); + + return box; + } + + private static int size(Class cls) { + if (cls.equals(Long.TYPE) || cls.equals(Double.TYPE)) + return 2; + else + return 1; + } + + /** + * Sort exceptions so the most general go last. + */ + private Class[] sortExceptions(Class[] except) + { + for (int i = 0; i < except.length; i++) + { + for (int j = i + 1; j < except.length; j++) + { + if (except[i].isAssignableFrom(except[j])) + { + Class tmp = except[i]; + except[i] = except[j]; + except[j] = tmp; + } + } + } + return (except); + } + + public void setup(boolean keep, boolean need11Stubs, boolean need12Stubs, + boolean iiop, boolean poa, boolean debug, boolean warnings, + boolean noWrite, boolean verbose, boolean force, String classpath, + String bootclasspath, String extdirs, String outputDirectory) + { + this.keep = keep; + this.need11Stubs = need11Stubs; + this.need12Stubs = need12Stubs; + this.verbose = verbose; + this.noWrite = noWrite; + + // Set up classpath. + this.classpath = classpath; + StringTokenizer st = + new StringTokenizer(classpath, File.pathSeparator); + URL[] u = new URL[st.countTokens()]; + for (int i = 0; i < u.length; i++) + { + String path = st.nextToken(); + File f = new File(path); + try + { + u[i] = f.toURL(); + } + catch (java.net.MalformedURLException mue) + { + logError("malformed classpath component " + path); + return; + } + } + loader = new URLClassLoader(u); + + destination = outputDirectory; + } + + private void findRemoteMethods() + throws RMICException + { + List rmeths = new ArrayList(); + for (Class cur = clazz; cur != null; cur = cur.getSuperclass()) + { + Class[] interfaces = cur.getInterfaces(); + for (int i = 0; i < interfaces.length; i++) + { + if (java.rmi.Remote.class.isAssignableFrom(interfaces[i])) + { + Class remoteInterface = interfaces[i]; + if (verbose) + System.out.println + ("[implements " + remoteInterface.getName() + "]"); + + // check if the methods declare RemoteExceptions + Method[] meths = remoteInterface.getMethods(); + for (int j = 0; j < meths.length; j++) + { + Method m = meths[j]; + Class[] exs = m.getExceptionTypes(); + + boolean throwsRemote = false; + for (int k = 0; k < exs.length; k++) + { + if (exs[k].isAssignableFrom(RemoteException.class)) + throwsRemote = true; + } + + if (! throwsRemote) + { + throw new RMICException + ("Method " + m + " in interface " + remoteInterface + + " does not throw a RemoteException"); + } + + rmeths.add(m); + } + + mRemoteInterfaces.add(remoteInterface); + } + } + } + + // intersect exceptions for doubly inherited methods + boolean[] skip = new boolean[rmeths.size()]; + for (int i = 0; i < skip.length; i++) + skip[i] = false; + List methrefs = new ArrayList(); + for (int i = 0; i < rmeths.size(); i++) + { + if (skip[i]) continue; + Method current = (Method) rmeths.get(i); + MethodRef ref = new MethodRef(current); + for (int j = i+1; j < rmeths.size(); j++) + { + Method other = (Method) rmeths.get(j); + if (ref.isMatch(other)) + { + ref.intersectExceptions(other); + skip[j] = true; + } + } + methrefs.add(ref); + } + + // Convert into a MethodRef array and sort them + remotemethods = (MethodRef[]) + methrefs.toArray(new MethodRef[methrefs.size()]); + Arrays.sort(remotemethods); + } + + /** + * Prints an error to System.err and increases the error count. + */ + private void logError(Exception theError) + { + logError(theError.getMessage()); + if (verbose) + theError.printStackTrace(System.err); + } + + /** + * Prints an error to System.err and increases the error count. + */ + private void logError(String theError) + { + errorCount++; + System.err.println("error: " + theError); + } + + private static String getPrettyName(Class cls) + { + StringBuffer str = new StringBuffer(); + for (int count = 0;; count++) + { + if (! cls.isArray()) + { + str.append(cls.getName()); + for (; count > 0; count--) + str.append("[]"); + return (str.toString()); + } + cls = cls.getComponentType(); + } + } + + private static class MethodRef + implements Comparable + { + Method meth; + long hash; + List exceptions; + private String sig; + + MethodRef(Method m) { + meth = m; + sig = Type.getMethodDescriptor(meth); + hash = RMIHashes.getMethodHash(m); + // add exceptions removing subclasses + exceptions = removeSubclasses(m.getExceptionTypes()); + } + + public int compareTo(Object obj) { + MethodRef that = (MethodRef) obj; + int name = this.meth.getName().compareTo(that.meth.getName()); + if (name == 0) { + return this.sig.compareTo(that.sig); + } + return name; + } + + public boolean isMatch(Method m) + { + if (!meth.getName().equals(m.getName())) + return false; + + Class[] params1 = meth.getParameterTypes(); + Class[] params2 = m.getParameterTypes(); + if (params1.length != params2.length) + return false; + + for (int i = 0; i < params1.length; i++) + if (!params1[i].equals(params2[i])) return false; + + return true; + } + + private static List removeSubclasses(Class[] classes) + { + List list = new ArrayList(); + for (int i = 0; i < classes.length; i++) + { + Class candidate = classes[i]; + boolean add = true; + for (int j = 0; j < classes.length; j++) + { + if (classes[j].equals(candidate)) + continue; + else if (classes[j].isAssignableFrom(candidate)) + add = false; + } + if (add) list.add(candidate); + } + + return list; + } + + public void intersectExceptions(Method m) + { + List incoming = removeSubclasses(m.getExceptionTypes()); + + List updated = new ArrayList(); + + for (int i = 0; i < exceptions.size(); i++) + { + Class outer = (Class) exceptions.get(i); + boolean addOuter = false; + for (int j = 0; j < incoming.size(); j++) + { + Class inner = (Class) incoming.get(j); + + if (inner.equals(outer) || inner.isAssignableFrom(outer)) + addOuter = true; + else if (outer.isAssignableFrom(inner)) + updated.add(inner); + } + + if (addOuter) + updated.add(outer); + } + + exceptions = updated; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java new file mode 100644 index 00000000000..176a09598d2 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/CompilationError.java @@ -0,0 +1,52 @@ +/* CompilationError.java -- Thrown on compilation error. + Copyright (C) 2006 Free Software Foundation + +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. +*/ + +package gnu.classpath.tools.rmic; + +/** + * This error is thrown when the target being compiled has illegal + * strutures. + * + * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) + */ +public class CompilationError extends Error +{ + /** + * Use serialVersionUID for interoperability. + */ + private static final long serialVersionUID = 1; + + /** + * Create error with explaining message and cause. + */ + public CompilationError(String message, Throwable cause) + { + super(message, cause); + } + + /** + * Create error with explaining message + */ + public CompilationError(String message) + { + super(message); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java new file mode 100644 index 00000000000..64eb2eaf66c --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Generator.java @@ -0,0 +1,128 @@ +/* Generator.java -- Generic code generator. + Copyright (C) 2006 Free Software Foundation + +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. +*/ + +package gnu.classpath.tools.rmic; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; + +/** + * Contains basic methods, used in code generation. + * + * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) + */ +public class Generator +{ + /** + * Get resource with the given name, as string. + * + * @param name the resource name + * @return the resourse string (in subfolder /templates). + */ + public String getResource(String name) + { + String resourcePath = "templates/" + name; + InputStream in = getClass().getResourceAsStream(resourcePath); + + if (in == null) + throw new InternalError(getClass().getName() + ": no resource " + + resourcePath); + + BufferedReader r = new BufferedReader(new InputStreamReader(in)); + StringBuffer b = new StringBuffer(); + + String s; + try + { + while ((s = r.readLine()) != null) + { + b.append(s); + b.append('\n'); + } + r.close(); + } + catch (IOException e) + { + InternalError ierr = new InternalError("No expected resource " + name); + ierr.initCause(e); + throw ierr; + } + + return b.toString(); + } + + /** + * Replace the variable references (starting from #) in the template string by + * the values, present in the given map. The strings, not present in the + * variable map, are ignored. + * + * @param template + * the template string + * @param variables + * the map of variables (name to value) to replace. + * @return the string with replaced values. + */ + public String replaceAll(String template, Map variables) + { + BufferedReader r = new BufferedReader(new StringReader(template)); + String s; + StringBuffer b = new StringBuffer(template.length()); + try + { + Iterator iter; + Collection vars = variables.keySet(); + while ((s = r.readLine()) != null) + { + // At least one variable must appear in the string to make + // the string scan sensible. + if (s.indexOf('#') >= 0) + { + iter = vars.iterator(); + String variable; + while (iter.hasNext()) + { + variable = (String) iter.next(); + if (s.indexOf(variable) >= 0) + s = s.replaceAll(variable, + (String) variables.get(variable)); + } + } + b.append(s); + b.append('\n'); + } + r.close(); + } + catch (IOException e) + { + // This should never happen. + InternalError ierr = new InternalError(""); + ierr.initCause(e); + throw ierr; + } + return b.toString(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java new file mode 100644 index 00000000000..0d77d1a787e --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/GiopIo.java @@ -0,0 +1,112 @@ +/* GiopIo.java -- Generates GIOP input/output statements. + Copyright (C) 2006 Free Software Foundation + +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. +*/ + +package gnu.classpath.tools.rmic; + +import java.rmi.Remote; + +import org.omg.CORBA.portable.ObjectImpl; + +/** + * Generates the code for reading and writing data over GIOP stream. + * + * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) + */ +public class GiopIo +{ + /** + * Get the statement for writing the variable of the given type to the GIOP ({@link org.omg.CORBA_2_3.portable.OutputStream) stream. The + * stream is always named "out". + * + * @param c + * the class of the object being written + * @param variable + * the variable, where the object value is stored + * @param r + * the parent generator, used to name the class + * @return the write statement. + */ + public static String getWriteStatement(Class c, String variable, SourceGiopRmicCompiler r) + { + if (c.equals(boolean.class)) + return "out.write_boolean(" + variable + ");"; + if (c.equals(byte.class)) + return "out.write_octet(" + variable + ");"; + else if (c.equals(short.class)) + return "out.write_int(" + variable + ");"; + else if (c.equals(int.class)) + return "out.write_long(" + variable + ");"; + else if (c.equals(long.class)) + return "out.write_long_long(" + variable + ");"; + else if (c.equals(double.class)) + return "out.write_double(" + variable + ");"; + else if (c.equals(float.class)) + return "out.write_float(" + variable + ");"; + else if (c.equals(char.class)) + return "out.write_char(" + variable + ");"; + else if (Remote.class.isAssignableFrom(c)) + return "Util.writeRemoteObject(out, " + variable + ");"; + else if (ObjectImpl.class.isAssignableFrom(c)) + return "out.write_Object(" + variable + ");"; + else + return "out.write_value(" + variable + ", " + r.name(c) + ".class);"; + } + + /** + * Get the statement for reading the value of the given type from to the GIOP ({@link org.omg.CORBA_2_3.portable.InputStream) stream. The + * stream is always named "in". + * + * @param c + * the class of the object being written + * @param r + * the parent generator, used to name the class + * @return the right side of the read statement. + */ + public static String getReadStatement(Class c, SourceGiopRmicCompiler r) + { + if (c.equals(boolean.class)) + return "in.read_boolean();"; + else if (c.equals(byte.class)) + return "in.read_octet();"; + else if (c.equals(short.class)) + return "in.read_int();"; + else if (c.equals(int.class)) + return "in.read_long();"; + else if (c.equals(long.class)) + return "in.read_long_long();"; + else if (c.equals(double.class)) + return "in.read_double();"; + else if (c.equals(float.class)) + return "in.read_float();"; + else if (c.equals(char.class)) + return "in.read_char();"; + else if (Remote.class.isAssignableFrom(c)) + return "(" + r.name(c) + + ") PortableRemoteObject.narrow(in.read_Object()," + r.name(c) + + ".class);"; + else if (ObjectImpl.class.isAssignableFrom(c)) + return "in.read_Object();"; + else + return "(" + r.name(c) + + ") in.read_value(" + r.name(c) + ".class);"; + } + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java new file mode 100644 index 00000000000..cf4d67f0cc0 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/HashFinder.java @@ -0,0 +1,84 @@ +/* HashFinder.java -- finds the hash character. + Copyright (C) 2006 Free Software Foundation + +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. +*/ + + +package gnu.classpath.tools.rmic; + +import java.util.HashSet; + +/** + * This class finds the hash character (the most different character in + * the passed array of strings). This character is used to accelerate the + * method invocation by name. + * + * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) + */ +public class HashFinder +{ + /** + * Find the hash char position in the given collection of strings. + * + * @param strings the string collection + * + * @return the optimal hash character position, always less then the + * length of the shortest string. + */ + public int findHashCharPosition(String[] strings) + { + // Find the length of the shortest string: + + int l = strings[0].length(); + for (int i = 1; i < strings.length; i++) + { + if (strings[i].length() < l) + l = strings[i].length(); + } + + // Find the position with the smallest number of the matching characters: + HashSet[] charLists = new HashSet[l]; + + for (int i = 0; i < charLists.length; i++) + { + charLists[i] = new HashSet(strings.length); + } + + for (int i = 0; i < strings.length; i++) + for (int p = 0; p < l; p++) + { + charLists[p].add(new Integer(strings[i].charAt(p))); + } + + int m = 0; + int v = charLists[0].size(); + + for (int i = 1; i < charLists.length; i++) + { + // Replace on equality also, seeking the hash char closer to the end + // of line. + if (charLists[i].size()>=v) + { + m = i; + v = charLists[i].size(); + } + } + return m; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java new file mode 100644 index 00000000000..12d1fa20eda --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Main.java @@ -0,0 +1,282 @@ +/* Main.java -- RMI stub generator. + Copyright (C) 2006 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. +*/ + +package gnu.classpath.tools.rmic; + +import gnu.classpath.tools.common.ClasspathToolParser; +import gnu.classpath.tools.getopt.FileArgumentCallback; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.OptionGroup; +import gnu.classpath.tools.getopt.Parser; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; + +/** + * Generates the ordinary stubs (not GIOP based) for java.rmi.* package. + * + * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) + */ +public class Main +{ + private boolean noWrite; + private boolean warnings = true; + private boolean verbose; + private boolean force; + private String classpath = "."; + private String outputDirectory = "."; + private boolean poa; + private boolean need11Stubs = false; + private boolean need12Stubs = true; + private boolean keep; + private boolean iiop; + /** + * Specifies whether or not JRMP mode was explicitly requested. + */ + private boolean jrmp; + + private Parser initializeParser() + { + Parser parser = new ClasspathToolParser("rmic", true); //$NON-NLS-1$ + parser.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ + + parser.add(new Option("nowarn", //$NON-NLS-1$ + Messages.getString("Main.NoWarn")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + warnings = false; + } + }); + parser.add(new Option("nowrite", //$NON-NLS-1$ + Messages.getString("Main.NoWrite")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + noWrite = true; + } + }); + parser.add(new Option("verbose", //$NON-NLS-1$ + Messages.getString("Main.Verbose")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + verbose = true; + } + }); + parser.add(new Option("d", //$NON-NLS-1$ + Messages.getString("Main.DirOpt"), //$NON-NLS-1$ + Messages.getString("Main.DirArg")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + outputDirectory = argument; + } + }); + parser.add(new Option("classpath", //$NON-NLS-1$ + Messages.getString("Main.ClasspathOpt"), //$NON-NLS-1$ + Messages.getString("Main.ClasspathArg")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + classpath = argument; + } + }); + parser.add(new Option("bootclasspath", //$NON-NLS-1$ + Messages.getString("Main.BootclasspathOpt"), //$NON-NLS-1$ + Messages.getString("Main.BootclasspathArg")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + } + }); + parser.add(new Option("extdirs", //$NON-NLS-1$ + Messages.getString("Main.ExtdirsOpt"), //$NON-NLS-1$ + Messages.getString("Main.ExtdirsArg")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + } + }); + parser.add(new Option("iiop", //$NON-NLS-1$ + Messages.getString("Main.IIOP")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + iiop = true; + } + }); + parser.add(new Option("always", //$NON-NLS-1$ + Messages.getString("Main.Always")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + force = true; + } + }); + parser.add(new Option("alwaysgenerate", //$NON-NLS-1$ + Messages.getString("Main.AlwaysGenerate")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + force = true; + } + }); + parser.add(new Option("nolocalstubs", //$NON-NLS-1$ + Messages.getString("Main.NoLocalStubs")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + } + }); + parser.add(new Option("poa", //$NON-NLS-1$ + Messages.getString("Main.POA")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + poa = true; + } + }); + parser.add(new Option("keep", //$NON-NLS-1$ + Messages.getString("Main.Keep")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + keep = true; + } + }); + parser.add(new Option("keepgenerated", //$NON-NLS-1$ + Messages.getString("Main.KeepGenerated")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + keep = true; + } + }); + parser.add(new Option("v1.1", //$NON-NLS-1$ + Messages.getString("Main.v11")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + need11Stubs = true; + need12Stubs = false; + jrmp = true; + } + }); + parser.add(new Option("v1.2", //$NON-NLS-1$ + Messages.getString("Main.v12")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + jrmp = true; + } + }); + parser.add(new Option("vcompat", //$NON-NLS-1$ + Messages.getString("Main.vcompat")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + need11Stubs = true; + need12Stubs = true; + jrmp = true; + } + }); + parser.add(new Option("g", //$NON-NLS-1$ + Messages.getString("Main.DebugInfo")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + } + }); + + return parser; + } + + private void run(String[] args) + { + Parser p = initializeParser(); + String[] files = p.parse(args); + + if (files.length == 0) + { + p.printHelp(); + System.exit(1); + } + + ArrayList backends = new ArrayList(); + + // FIXME: need an IDL RmicBackend + // FIXME: need a ClassGiopRmicCompiler RmicBackend + if (iiop) + { + backends.add(new SourceGiopRmicCompiler()); + + if (jrmp) + { + // Both IIOP and JRMP stubs were requested. + backends.add(new ClassRmicCompiler()); + // FIXME: SourceRmicCompiler should support v1.1 + if (keep) + backends.add(new SourceRmicCompiler()); + } + } + else + { + backends.add(new ClassRmicCompiler()); + if (keep) + backends.add(new SourceRmicCompiler()); + } + + for (int i = 0; i < backends.size(); i++) + { + RmicBackend b = (RmicBackend) backends.get(i); + b.setup(keep, need11Stubs, need12Stubs, + iiop, poa, false, warnings, + noWrite, verbose, force, classpath, + null, null, outputDirectory); + if (!b.run(files)) + System.exit(1); + } + } + + /** + * The RMI compiler entry point. + */ + public static void main(String[] args) + { + Main rmicprogram = new Main(); + try + { + rmicprogram.run(args); + } + catch (Exception e) + { + System.err.println(Messages.getString("Main.InternalError")); //$NON-NLS-1$ + e.printStackTrace(System.err); + System.exit(1); + } + } + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/Messages.java new file mode 100644 index 00000000000..5e67dd163c4 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- localization support for rmic + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.rmic; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.rmic.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java new file mode 100644 index 00000000000..335a0a65c30 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/MethodGenerator.java @@ -0,0 +1,285 @@ +/* MethodGenerator.java -- Generates methods for GIOP rmic compiler. + Copyright (C) 2006 Free Software Foundation + +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. +*/ + +package gnu.classpath.tools.rmic; + +import gnu.classpath.tools.rmic.AbstractMethodGenerator; + +import java.lang.reflect.Method; +import java.util.Properties; + +/** + * Keeps information about the single method and generates the code fragments, + * related to that method. + * + * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) + */ +public class MethodGenerator implements AbstractMethodGenerator +{ + /** + * The method being defined. + */ + Method method; + + /** + * The parent code generator. + */ + SourceGiopRmicCompiler rmic; + + /** + * The previous method in the list, null for the first element. + * Used to avoid repretetive inclusion of the same hash code label. + */ + MethodGenerator previous = null; + + /** + * The hash character position. + */ + int hashCharPosition; + + /** + * Create the new method generator for the given method. + * + * @param aMethod + * the related method. + * @param aRmic + * the Rmic generator instance, where more class - related + * information is defined. + */ + public MethodGenerator(Method aMethod, SourceGiopRmicCompiler aRmic) + { + method = aMethod; + rmic = aRmic; + } + + /** + * Get the method name. + * + * @return the name of the method. + */ + public String getGiopMethodName() + { + String m = method.getName(); + if (m.startsWith("get")) + return "_get_J" + m.substring("get".length()); + else if (m.startsWith("set")) + return "_set_J" + m.substring("set".length()); + else + return m; + } + + /** + * Get the method parameter declaration. + * + * @return the string - method parameter declaration. + */ + public String getArgumentList() + { + StringBuffer b = new StringBuffer(); + + Class[] args = method.getParameterTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(rmic.name(args[i])); + b.append(" p" + i); + if (i < args.length - 1) + b.append(", "); + } + return b.toString(); + } + + /** + * Get the method parameter list only (no type declarations). This is used to + * generate the method invocations statement. + * + * @return the string - method parameter list. + */ + public String getArgumentNames() + { + StringBuffer b = new StringBuffer(); + + Class[] args = method.getParameterTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(" p" + i); + if (i < args.length - 1) + b.append(", "); + } + return b.toString(); + } + + /** + * Get the list of exceptions, thrown by this method. + * + * @return the list of exceptions. + */ + public String getThrows() + { + StringBuffer b = new StringBuffer(); + + Class[] args = method.getExceptionTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(rmic.name(args[i])); + if (i < args.length - 1) + b.append(", "); + } + return b.toString(); + } + + /** + * Generate this method for the Stub class. + * + * @return the method body for the stub class. + */ + public String generateStubMethod() + { + String templateName; + + Properties vars = new Properties(rmic.vars); + vars.put("#return_type", rmic.name(method.getReturnType())); + vars.put("#method_name", method.getName()); + vars.put("#giop_method_name", getGiopMethodName()); + vars.put("#argument_list", getArgumentList()); + vars.put("#argument_names", getArgumentNames()); + + vars.put("#argument_write", getStubParaWriteStatement()); + + if (method.getReturnType().equals(void.class)) + vars.put("#read_return", "return;"); + else + vars.put("#read_return", + "return " + + GiopIo.getReadStatement(method.getReturnType(), rmic)); + String thr = getThrows(); + if (thr.length() > 0) + vars.put("#throws", "\n throws " + thr); + else + vars.put("#throws", ""); + + if (method.getReturnType().equals(void.class)) + templateName = "StubMethodVoid.jav"; + else + { + vars.put("#write_result", + GiopIo.getWriteStatement(method.getReturnType(), "result", + rmic)); + templateName = "StubMethod.jav"; + } + + String template = rmic.getResource(templateName); + String generated = rmic.replaceAll(template, vars); + return generated; + } + + /** + * Generate this method handling fragment for the Tie class. + * + * @return the fragment to handle this method for the Tie class. + */ + public String generateTieMethod() + { + String templateName; + + Properties vars = new Properties(rmic.vars); + vars.put("#return_type", rmic.name(method.getReturnType())); + vars.put("#method_name", method.getName()); + vars.put("#giop_method_name", getGiopMethodName()); + vars.put("#argument_list", getArgumentList()); + vars.put("#argument_names", getArgumentNames()); + + vars.put("#argument_write", getStubParaWriteStatement()); + + if (previous == null || previous.getHashChar()!=getHashChar()) + vars.put("#hashCodeLabel"," case '"+getHashChar()+"':"); + else + vars.put("#hashCodeLabel"," // also '"+getHashChar()+"':"); + + if (method.getReturnType().equals(void.class)) + templateName = "TieMethodVoid.jav"; + else + { + vars.put("#write_result", + GiopIo.getWriteStatement(method.getReturnType(), "result", + rmic)); + templateName = "TieMethod.jav"; + } + vars.put("#read_and_define_args", getRda()); + + String template = rmic.getResource(templateName); + String generated = rmic.replaceAll(template, vars); + return generated; + } + + /** + * Generate sentences for Reading and Defining Arguments. + * + * @return the sequence of sentences for reading and defining arguments. + */ + public String getRda() + { + StringBuffer b = new StringBuffer(); + Class[] args = method.getParameterTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(" "); + b.append(rmic.name(args[i])); + b.append(" "); + b.append("p"+i); + b.append(" = "); + b.append(GiopIo.getReadStatement(args[i], rmic)); + if (i + */ +public class RMICException + extends Exception +{ + /** + * Create an exception with a message. The cause remains uninitialized. + * + * @param message the message string + * @see #initCause(Throwable) + */ + public RMICException(String message) + { + super(message); + } + + /** + * Create an exception with a message and a cause. + * + * @param message the message string + * @param cause the cause of this exception + */ + public RMICException(String message, Throwable cause) + { + super(message, cause); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java new file mode 100644 index 00000000000..48abb8fade9 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java @@ -0,0 +1,287 @@ +/* MethodGenerator.java -- Generates methods for rmi compiler. + Copyright (C) 2006 Free Software Foundation + + 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. +*/ + + +package gnu.classpath.tools.rmic; + +import gnu.classpath.tools.rmic.AbstractMethodGenerator; +import gnu.java.rmi.server.RMIHashes; + +import java.lang.reflect.Method; +import java.util.Properties; + +/** + * Keeps information about the single method and generates the code fragments, + * related to that method. + * + * @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org) + */ +public class RmiMethodGenerator + implements AbstractMethodGenerator +{ + /** + * The method being defined. + */ + Method method; + + /** + * The parent code generator. + */ + SourceRmicCompiler rmic; + + /** + * Create the new method generator for the given method. + * + * @param aMethod the related method. + * @param aRmic the Rmic generator instance, where more class - related + * information is defined. + */ + public RmiMethodGenerator(Method aMethod, SourceRmicCompiler aRmic) + { + method = aMethod; + rmic = aRmic; + if (method.getParameterTypes().length == 0) + rmic.addZeroSizeObjecArray = true; + } + + /** + * Get the method parameter declaration. + * + * @return the string - method parameter declaration. + */ + public String getArgumentList() + { + StringBuffer b = new StringBuffer(); + + Class[] args = method.getParameterTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(rmic.name(args[i])); + b.append(" p" + i); + if (i < args.length - 1) + b.append(", "); + } + return b.toString(); + } + + /** + * Get the method parameter list only (no type declarations). This is used to + * generate the method invocations statement. + * + * @return the string - method parameter list. + */ + public String getArgumentNames() + { + StringBuffer b = new StringBuffer(); + + Class[] args = method.getParameterTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(" p" + i); + if (i < args.length - 1) + b.append(", "); + } + return b.toString(); + } + + /** + * Get the list of exceptions, thrown by this method. + * + * @return the list of exceptions. + */ + public String getThrows() + { + StringBuffer b = new StringBuffer(); + + Class[] args = method.getExceptionTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(rmic.name(args[i])); + if (i < args.length - 1) + b.append(", "); + } + return b.toString(); + } + + /** + * Generate this method for the Stub class. + * + * @return the method body for the stub class. + */ + public String generateStubMethod() + { + String templateName; + + Properties vars = new Properties(rmic.vars); + vars.put("#return_type", rmic.name(method.getReturnType())); + vars.put("#method_name", method.getName()); + vars.put("#method_hash", getMethodHashCode()); + vars.put("#argument_list", getArgumentList()); + vars.put("#object_arg_list", getArgListAsObjectArray()); + vars.put("#declaring_class", rmic.name(method.getDeclaringClass())); + vars.put("#class_arg_list", getArgListAsClassArray()); + + String thr = getThrows(); + if (thr.length() > 0) + vars.put("#throws", "\n throws " + thr); + else + vars.put("#throws", ""); + + if (method.getReturnType().equals(void.class)) + templateName = "Stub_12MethodVoid.jav"; + else + { + templateName = "Stub_12Method.jav"; + vars.put("#return_statement", getReturnStatement()); + } + + String template = rmic.getResource(templateName); + String generated = rmic.replaceAll(template, vars); + return generated; + } + + /** + * Generate sentences for Reading and Defining Arguments. + * + * @return the sequence of sentences for reading and defining arguments. + */ + public String getStaticMethodDeclarations() + { + StringBuffer b = new StringBuffer(); + Class[] args = method.getParameterTypes(); + + for (int i = 0; i < args.length; i++) + { + b.append(" "); + b.append(rmic.name(args[i])); + b.append(" "); + b.append("p" + i); + b.append(" = "); + if (i < args.length - 1) + b.append("\n"); + } + return b.toString(); + } + + /** + * Get the write statement for writing parameters inside the stub. + * + * @return the write statement. + */ + public String getArgListAsObjectArray() + { + Class[] args = method.getParameterTypes(); + + if (args.length==0) + return "NO_ARGS"; + + StringBuffer b = new StringBuffer("new Object[] {"); + + for (int i = 0; i < args.length; i++) + { + if (!args[i].isPrimitive()) + b.append("p"+i); + else + { + b.append("new "+rmic.name(WrapUnWrapper.getWrappingClass(args[i]))); + b.append("(p"+i+")"); + } + if (i 0) + { + Integer i = (Integer) free.iterator().next(); + free.remove(i); + names.put(name, i); + return i.intValue(); + } + + return allocateNew(name, size); + } + + public int deallocate(Object name) + { + if (! names.containsKey(name)) + throw new IllegalArgumentException("no variable " + name); + + if (declared.contains(name)) + throw new IllegalStateException(name + " can't be deallocated"); + + Integer i = (Integer) names.get(name); + names.remove(name); + free.add(i); + if (wides.remove(name)) + free.add(new Integer(i.intValue() + 1)); + return i.intValue(); + } + + public int get(Object name) + { + if (! names.containsKey(name)) + throw new IllegalArgumentException("no variable " + name); + + return ((Integer) names.get(name)).intValue(); + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java b/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java new file mode 100644 index 00000000000..c51925fa6b9 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/WrapUnWrapper.java @@ -0,0 +1,83 @@ +/* WrapUnWrapper.java -- Wrapper and unwrapper for primitive types. + Copyright (C) 2006 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. +*/ + + +package gnu.classpath.tools.rmic; + + +public class WrapUnWrapper +{ + /** + * Get the wrapper class for the primitive type + * + * @param primitive the class of the primitive type + * + * @return the wrapper class + */ + public static Class getWrappingClass(Class primitive) + { + if (primitive.equals(byte.class)) + return Byte.class; + if (primitive.equals(int.class)) + return Integer.class; + if (primitive.equals(long.class)) + return Long.class; + if (primitive.equals(boolean.class)) + return Boolean.class; + if (primitive.equals(double.class)) + return Double.class; + if (primitive.equals(float.class)) + return Float.class; + if (primitive.equals(char.class)) + return Character.class; + else + return null; + } + + /** + * Get the method, invocation of that would return the wrapped value. + * + * @param primitive the class of the primitive type. + * + * @return the wrapper method that unwraps the value to the primitive type. + */ + public static String getUnwrappingMethod(Class primitive) + { + if (primitive.equals(byte.class)) + return "byteValue()"; + if (primitive.equals(int.class)) + return "intValue()"; + if (primitive.equals(long.class)) + return "longValue()"; + if (primitive.equals(boolean.class)) + return "booleanValue()"; + if (primitive.equals(double.class)) + return "doubleValue()"; + if (primitive.equals(float.class)) + return "floatValue()"; + if (primitive.equals(char.class)) + return "charValue()"; + else + return null; + } + + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/ImplTie.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/ImplTie.jav new file mode 100644 index 00000000000..aff606b90cc --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/ImplTie.jav @@ -0,0 +1,152 @@ +package #package; + +#imports +import java.rmi.Remote; +import javax.rmi.PortableRemoteObject; +import javax.rmi.CORBA.Tie; + +import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.ORB; +import org.omg.CORBA.SystemException; +import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.ResponseHandler; +import org.omg.CORBA.portable.UnknownException; +import org.omg.PortableServer.Servant; + +import org.omg.CORBA_2_3.portable.ObjectImpl; +import org.omg.CORBA_2_3.portable.InputStream; + +// This Tie type is obsolete. Use the POA - based tie (key -poa). + +/** + * This class accepts remote calls to the served GIOP object and delegates them + * to the enclosed implementing class. Being derived from the ObjectImpl, + * it directly implements the GIOP Object. + * + * It is normally generated with grmic -impl + */ +public class _#nameImpl_Tie extends ObjectImpl implements Tie +{ + /** + * All decoded remote calls are forwarded to this target. + */ + #implName target; + + /** + * The array of repository ids, supported by this GIOP Object + */ + private static final String[] type_ids = + { +#idList + }; + + /** + * Get an array of all interfaces (repository ids), + * supported by this Object. + * + * @return the array of Ids. + */ + public String[] _ids() + { + return type_ids; + } + + /** + * Set the invocation target, where all received calls are finally + * forwarded. + * + * @param a_target the forwarding target + * + * @throws ClassCastException if the target is not an instance of + * #implName + */ + public void setTarget(Remote a_target) + { + this.target = (#implName) a_target; + } + + /** + * Get the invocation target, where all received calls are finally + * forwarded. + * + * @return the target, an instance of + * #implName + */ + public Remote getTarget() + { + return target; + } + + /** + * Return the actual GIOP object that would handle this request. + * + * @return this, always. + */ + public org.omg.CORBA.Object thisObject() + { + return this; + } + + /** + * Deactivates this object, disconnecting it from the orb. + */ + public void deactivate() + { + _orb().disconnect(this); + _set_delegate(null); + target = null; + } + + /** + * Get the {@link ORB} where this {@link Servant} is connected. + * + * @return the ORB + */ + public ORB orb() + { + return _orb(); + } + + /** + * Connect this servant to the given ORB. + */ + public void orb(ORB orb) + { + orb.connect(this); + } + +/** + * This method is invoked by ORB in response to the remote call. It redirects + * the call to one of the methods in the target. + * + * @param method the name of the method to call. + * @param parameter_stream the input stream, from where the parameters must be + * read. + * @param reply the response hander, providing methods to return the result. + * + * @return the output stream, created by the response handler + * + * @throws SystemException if one occurs during method invocation. + */ + public OutputStream _invoke(String method, + org.omg.CORBA.portable.InputStream parameter_stream, + ResponseHandler reply) + { + try + { + InputStream in =(InputStream) parameter_stream; + +#tie_methods + + throw new BAD_OPERATION("No such method: '"+method+"'"); + } + catch (SystemException ex) + { + throw ex; + } + catch (Throwable ex) + { + throw new UnknownException(ex); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub.jav new file mode 100644 index 00000000000..371e12d4486 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub.jav @@ -0,0 +1,47 @@ +package #package; + +#imports +import java.rmi.UnexpectedException; + +import javax.rmi.CORBA.Stub; +import javax.rmi.CORBA.Util; + +import org.omg.CORBA.SystemException; +import org.omg.CORBA.portable.ApplicationException; +import org.omg.CORBA.portable.InputStream; +import org.omg.CORBA.portable.RemarshalException; + +import org.omg.CORBA_2_3.portable.OutputStream; + +/** + * This class delegates its method calls to the remote GIOP object. + * It is normally generated with grmic. + */ +public class _#name_Stub extends Stub + implements #interfaces +{ + /** + * Use serialVersionUID for interoperability. + */ + private static final long serialVersionUID = 1; + + /** + * The array of repository ids, supported by this GIOP Object + */ + private static final String[] type_ids = + { +#idList + }; + + /** + * Return the array of repository ids, supported by this GIOP Object. + * + * @return the array of Ids. + */ + public String[] _ids() + { + return type_ids; + } + +#stub_methods +} \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethod.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethod.jav new file mode 100644 index 00000000000..17636deb670 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethod.jav @@ -0,0 +1,33 @@ + /** @inheritDoc */ + public #return_type #method_name(#argument_list) #throws + { + try + { + InputStream in = null; + try + { + OutputStream out = + (OutputStream) _request("#giop_method_name", true); +#argument_write + in = _invoke(out); + #read_return + } + catch (ApplicationException ex) + { + in = ex.getInputStream(); + throw new UnexpectedException(in.read_string()); + } + catch (RemarshalException ex) + { + return #method_name(#argument_names); + } + finally + { + _releaseReply(in); + } + } + catch (SystemException ex) + { + throw Util.mapSystemException(ex); + } + } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethodVoid.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethodVoid.jav new file mode 100644 index 00000000000..0125a02b0a3 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/StubMethodVoid.jav @@ -0,0 +1,32 @@ + /** @inheritDoc */ + public #return_type #method_name(#argument_list) #throws + { + try + { + InputStream in = null; + try + { + OutputStream out = + (OutputStream) _request("#giop_method_name", true); +#argument_write + in = _invoke(out); + } + catch (ApplicationException ex) + { + in = ex.getInputStream(); + throw new UnexpectedException(in.read_string()); + } + catch (RemarshalException ex) + { + #method_name(#argument_names); + } + finally + { + _releaseReply(in); + } + } + catch (SystemException ex) + { + throw Util.mapSystemException(ex); + } + } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12.jav new file mode 100644 index 00000000000..1c55a059799 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12.jav @@ -0,0 +1,62 @@ +package #package; + +#imports +import java.lang.reflect.Method; +import java.rmi.server.RemoteRef; +import java.rmi.server.RemoteStub; +import java.rmi.UnexpectedException; + +/** + * This class delegates its method calls to the remote RMI object, referenced + * by {@link RemoteRef}. + * + * It is normally generated with rmic. + */ +public final class #name_Stub + extends RemoteStub + implements #interfaces +{ + /** + * Use serialVersionUID for interoperability + */ + private static final long serialVersionUID = 2; + + /** + * The explaining message for {@ling UnexpectedException}. + */ + private static final String exception_message = + "undeclared checked exception"; + + /* All remote methods, invoked by this stub: */ +#stub_method_declarations + #zeroSizeObjecArray + static + { + #zeroSizeClassArray + try + { +#stub_method_initializations + } + catch (NoSuchMethodException nex) + { + NoSuchMethodError err = new NoSuchMethodError( + "#name_Stub class initialization failed"); + err.initCause(nex); + throw err; + } + } + + /** + * Create the instance for _#name_Stub that forwards method calls to the + * remote object. + * + * @para the reference to the remote object. + */ + public #name_Stub(RemoteRef reference) + { + super(reference); + } + + /* Methods */ +#stub_methods +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12Method.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12Method.jav new file mode 100644 index 00000000000..9aaf8f5adc0 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12Method.jav @@ -0,0 +1,26 @@ + /** @inheritDoc */ + public #return_type #method_name(#argument_list) #throws + { + try + { + Object result = ref.invoke(this, met_#method_name, + #object_arg_list, + #method_hash); + #return_statement + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12MethodVoid.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12MethodVoid.jav new file mode 100644 index 00000000000..860a93c8447 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Stub_12MethodVoid.jav @@ -0,0 +1,25 @@ + /** @inheritDoc */ + public void #method_name(#argument_list) #throws + { + try + { + ref.invoke(this, met_#method_name, + #object_arg_list, + #method_hash); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Tie.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Tie.jav new file mode 100644 index 00000000000..797ae1401de --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/Tie.jav @@ -0,0 +1,184 @@ +package #package; + +#imports +import java.rmi.Remote; +import javax.rmi.PortableRemoteObject; +import javax.rmi.CORBA.Tie; + +import org.omg.CORBA.BAD_OPERATION; +import org.omg.CORBA.ORB; +import org.omg.CORBA.SystemException; +import org.omg.CORBA.portable.OutputStream; +import org.omg.CORBA.portable.ResponseHandler; +import org.omg.CORBA.portable.UnknownException; +import org.omg.PortableServer.Servant; +import org.omg.PortableServer.POA; +import org.omg.PortableServer.POAPackage.WrongPolicy; +import org.omg.PortableServer.POAPackage.ObjectNotActive; +import org.omg.PortableServer.POAPackage.ServantNotActive; + +import org.omg.CORBA_2_3.portable.InputStream; + +/** + * This class accepts remote calls to the served GIOP object and delegates them + * to the enclosed implementing class. Being servant, it must be connected to + * the ORB Poa. + * It is normally generated with grmic -poa + */ +public class _#nameImpl_Tie extends Servant implements Tie +{ + /** + * All decoded remote calls are forwarded to this target. + */ + #implName target; + + /** + * The array of repository ids, supported by this GIOP Object + */ + private static final String[] type_ids = + { +#idList + }; + + /** + * Get an array of all interfaces, supported by this + * {@link Servant}. + * + * @param poa unused + * @param objectId unused + * + * @return the array of Ids. + */ + public String[] _all_interfaces(POA poa, + byte[] objectId + ) + { + return type_ids; + } + + + /** + * Set the invocation target, where all received calls are finally + * forwarded. + * + * @param a_target the forwarding target + * + * @throws ClassCastException if the target is not an instance of + * #implName + */ + public void setTarget(Remote a_target) + { + this.target = (#implName) a_target; + } + + /** + * Get the invocation target, where all received calls are finally + * forwarded. + * + * @return the target, an instance of + * #implName + */ + public Remote getTarget() + { + return target; + } + + /** + * Return the actual GIOP object that would handle this request. + * + * @return the GIOP object. + */ + public org.omg.CORBA.Object thisObject() + { + return _this_object(); + } + + /** + * Deactivate this {@link Servant}. The WrongPolicy, ObjectNotActive + * and ServantNotActive exceptions, if thrown during deactivation, are + * catched and silently ignored. + */ + public void deactivate() + { + try + { + _poa().deactivate_object(_poa().servant_to_id(this)); + } + catch (WrongPolicy exception) + { + } + catch (ObjectNotActive exception) + { + } + catch (ServantNotActive exception) + { + } + } + + /** + * Get the {@link ORB} where this {@link Servant} is connected. + * + * @return the ORB + */ + public ORB orb() + { + return _orb(); + } + + /** + * Connect this servant to the given ORB. It is recommended to connect + * servant to the ORBs root or other POA rather than using this method. + */ + public void orb(ORB orb) + { + try + { + ((org.omg.CORBA_2_3.ORB) orb).set_delegate(this); + } + catch (ClassCastException e) + { + throw new org.omg.CORBA.BAD_PARAM( + "POA Servant requires an instance of org.omg.CORBA_2_3.ORB" + ); + } + } + +/** + * This method is invoked by ORB in response to the remote call. It redirects + * the call to one of the methods in the target. + * + * @param method the name of the method to call. + * @param parameter_stream the input stream, from where the parameters must be + * read. + * @param reply the response hander, providing methods to return the result. + * + * @return the output stream, created by the response handler + * + * @throws SystemException if one occurs during method invocation. + */ + public OutputStream _invoke(String method, + org.omg.CORBA.portable.InputStream parameter_stream, + ResponseHandler reply + ) throws SystemException + { + try + { + InputStream in =(InputStream) parameter_stream; + switch (method.charAt(#hashCharPos)) + { +#tie_methods + default: break; + } + + throw new BAD_OPERATION("No such method: '"+method+"'"); + } + catch (SystemException ex) + { + throw ex; + } + catch (Throwable ex) + { + throw new UnknownException(ex); + } + } +} \ No newline at end of file diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethod.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethod.jav new file mode 100644 index 00000000000..493f0009b48 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethod.jav @@ -0,0 +1,11 @@ + #hashCodeLabel + // #method_name + if (method.equals("#giop_method_name")) + { +#read_and_define_args + OutputStream out = reply.createReply(); + #return_type result = + target.#method_name(#argument_names); + #write_result + return out; + } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethodVoid.jav b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethodVoid.jav new file mode 100644 index 00000000000..3db17da7c84 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmic/templates/TieMethodVoid.jav @@ -0,0 +1,9 @@ + #hashCodeLabel + // #method_name + if (method.equals("#giop_method_name")) + { +#read_and_define_args + OutputStream out = reply.createReply(); + target.#method_name(#argument_names); + return out; + } diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java b/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java new file mode 100644 index 00000000000..390117a0527 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java @@ -0,0 +1,243 @@ +/* ActivationSystemImpl.java -- implementation of the activation system. + Copyright (c) 2006 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. */ + +package gnu.classpath.tools.rmid; + +import gnu.classpath.tools.common.Persistent; +import gnu.java.rmi.activation.ActivationSystemTransient; + +import java.io.File; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.rmi.MarshalledObject; +import java.rmi.RemoteException; +import java.rmi.activation.ActivationDesc; +import java.rmi.activation.ActivationException; +import java.rmi.activation.ActivationGroupDesc; +import java.rmi.activation.ActivationGroupID; +import java.rmi.activation.ActivationID; +import java.rmi.activation.ActivationInstantiator; +import java.rmi.activation.ActivationMonitor; +import java.rmi.activation.ActivationSystem; +import java.rmi.activation.Activator; +import java.rmi.activation.UnknownGroupException; +import java.rmi.activation.UnknownObjectException; + +/** + * Implements the rmid activation system. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public class ActivationSystemImpl extends ActivationSystemTransient implements + ActivationSystem, Activator, ActivationMonitor, Serializable +{ + /** + * Use for interoperability. + */ + private static final long serialVersionUID = 1; + + /** + * The singleton instance of this class. + */ + public static ActivationSystemImpl singleton2; + + /** + * Obtain the singleton instance of this class. + * + * @param folder the folder, where the activation system will keep its files. + * @param cold do the cold start if true, hot (usual) if false. + */ + public static ActivationSystem getInstance(File folder, boolean cold) + { + if (singleton2 == null) + singleton2 = new ActivationSystemImpl(folder, cold); + return singleton2; + } + + /** + * Creates the group with transient maps. + * + * @param folder + * the folder, where the activation system will keep its files. + * @param cold + * do the cold start if true, hot (usual) if false. + */ + protected ActivationSystemImpl(File folder, boolean cold) + { + super(new PersistentBidiHashTable(), new PersistentBidiHashTable()); + singleton2 = this; + ((PersistentBidiHashTable) groupDescs).init( + new File(folder, "asi_objects.data"), cold); + ((PersistentBidiHashTable) descriptions).init( + new File(folder, "asi_groups.data"), cold); + } + + /** @inheritDoc */ + public MarshalledObject activate(ActivationID id, boolean force) + throws ActivationException, UnknownObjectException, RemoteException + { + return super.activate(id, force); + } + + /** @inheritDoc */ + public ActivationMonitor activeGroup(ActivationGroupID id, + ActivationInstantiator group, + long incarnation) + throws UnknownGroupException, ActivationException, RemoteException + { + return super.activeGroup(id, group, incarnation); + } + + /** @inheritDoc */ + public void activeObject(ActivationID id, MarshalledObject obj) + throws UnknownObjectException, RemoteException + { + super.activeObject(id, obj); + } + + /** @inheritDoc */ + public ActivationDesc getActivationDesc(ActivationID id) + throws ActivationException, UnknownObjectException, RemoteException + { + return super.getActivationDesc(id); + } + + public ActivationGroupDesc getActivationGroupDesc(ActivationGroupID groupId) + throws ActivationException, UnknownGroupException, RemoteException + { + return super.getActivationGroupDesc(groupId); + } + + /** @inheritDoc */ + public void inactiveGroup(ActivationGroupID groupId, long incarnation) + throws UnknownGroupException, RemoteException + { + super.inactiveGroup(groupId, incarnation); + } + + /** @inheritDoc */ + public void inactiveObject(ActivationID id) throws UnknownObjectException, + RemoteException + { + super.inactiveObject(id); + } + + /** @inheritDoc */ + public ActivationGroupID registerGroup(ActivationGroupDesc groupDesc) + throws ActivationException, RemoteException + { + return super.registerGroup(groupDesc); + } + + /** @inheritDoc */ + public ActivationID registerObject(ActivationDesc desc) + throws ActivationException, UnknownGroupException, RemoteException + { + return super.registerObject(desc); + } + + /** @inheritDoc */ + public ActivationDesc setActivationDesc(ActivationID id, ActivationDesc desc) + throws ActivationException, UnknownObjectException, + UnknownGroupException, RemoteException + { + return super.setActivationDesc(id, desc); + } + + /** @inheritDoc */ + public ActivationGroupDesc setActivationGroupDesc( + ActivationGroupID groupId, ActivationGroupDesc groupDesc) + throws ActivationException, UnknownGroupException, RemoteException + { + return super.setActivationGroupDesc(groupId, groupDesc); + } + + /** + * This method saves the state of the activation system and then + * terminates in 10 seconds. + */ + public void shutdown() throws RemoteException + { + super.shutdown(); + System.out.println("Shutdown command received. Will terminate in 10 s"); + Persistent.timer.schedule(new Persistent.ExitTask(), 10000); + } + + /** @inheritDoc */ + public void unregisterGroup(ActivationGroupID groupId) + throws ActivationException, UnknownGroupException, RemoteException + { + super.unregisterGroup(groupId); + } + + /** @inheritDoc */ + public void unregisterObject(ActivationID id) throws ActivationException, + UnknownObjectException, RemoteException + { + super.unregisterObject(id); + } + + /** + * Read the object from the input stream. + * + * @param in the stream to read from + * + * @throws IOException if thrown by the stream + * @throws ClassNotFoundException + */ + private void readObject(ObjectInputStream in) throws IOException, + ClassNotFoundException + { + // Read no fields. + } + + /** + * Write the object to the output stream. + * + * @param out the stream to write int + * @throws IOException if thrown by the stream + * @throws ClassNotFoundException + */ + private void writeObject(ObjectOutputStream out) throws IOException, + ClassNotFoundException + { + // Write no fields. + }; + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java b/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java new file mode 100644 index 00000000000..535f8ab92ac --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java @@ -0,0 +1,556 @@ +/* ActivationSystemImpl.java -- implementation of the activation system. + Copyright (c) 2006 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. */ + + +package gnu.classpath.tools.rmid; + +import java.rmi.MarshalledObject; +import java.rmi.RemoteException; +import java.rmi.activation.ActivationDesc; +import java.rmi.activation.ActivationException; +import java.rmi.activation.ActivationGroupDesc; +import java.rmi.activation.ActivationGroupID; +import java.rmi.activation.ActivationID; +import java.rmi.activation.ActivationInstantiator; +import java.rmi.activation.ActivationMonitor; +import java.rmi.activation.ActivationSystem; +import java.rmi.activation.Activator; +import java.rmi.activation.UnknownGroupException; +import java.rmi.activation.UnknownObjectException; + +import java.lang.reflect.Method; +import java.rmi.server.RemoteRef; +import java.rmi.server.RemoteStub; +import java.rmi.UnexpectedException; + +/** + * This class delegates its method calls to the remote RMI object, referenced + * by {@link RemoteRef}. + * + * It is normally generated with rmic. + */ +public final class ActivationSystemImpl_Stub + extends RemoteStub + implements ActivationMonitor, Activator, ActivationSystem +{ + /** + * Use serialVersionUID for interoperability + */ + private static final long serialVersionUID = 2; + + /** + * The explaining message for {@ling UnexpectedException}. + */ + private static final String exception_message = + "undeclared checked exception"; + + /* All remote methods, invoked by this stub: */ + private static final Method met_setActivationGroupDesc; + private static final Method met_inactiveGroup; + private static final Method met_unregisterObject; + private static final Method met_getActivationDesc; + private static final Method met_setActivationDesc; + private static final Method met_shutdown; + private static final Method met_activate; + private static final Method met_activeGroup; + private static final Method met_registerGroup; + private static final Method met_getActivationGroupDesc; + private static final Method met_activeObject; + private static final Method met_registerObject; + private static final Method met_inactiveObject; + private static final Method met_unregisterGroup; + private static final Object[] NO_ARGS = new Object[0]; + static + { + final Class[] NO_ARGSc = new Class[0]; + try + { + met_setActivationGroupDesc = + ActivationSystem.class.getMethod("setActivationGroupDesc", new Class[] + { + ActivationGroupID.class, ActivationGroupDesc.class + }); + met_inactiveGroup = + ActivationMonitor.class.getMethod("inactiveGroup", new Class[] + { + ActivationGroupID.class, long.class + }); + met_unregisterObject = + ActivationSystem.class.getMethod("unregisterObject", new Class[] + { + ActivationID.class + }); + met_getActivationDesc = + ActivationSystem.class.getMethod("getActivationDesc", new Class[] + { + ActivationID.class + }); + met_setActivationDesc = + ActivationSystem.class.getMethod("setActivationDesc", new Class[] + { + ActivationID.class, ActivationDesc.class + }); + met_shutdown = + ActivationSystem.class.getMethod("shutdown", NO_ARGSc); + met_activate = + Activator.class.getMethod("activate", new Class[] + { + ActivationID.class, boolean.class + }); + met_activeGroup = + ActivationSystem.class.getMethod("activeGroup", new Class[] + { + ActivationGroupID.class, ActivationInstantiator.class, long.class + }); + met_registerGroup = + ActivationSystem.class.getMethod("registerGroup", new Class[] + { + ActivationGroupDesc.class + }); + met_getActivationGroupDesc = + ActivationSystem.class.getMethod("getActivationGroupDesc", new Class[] + { + ActivationGroupID.class + }); + met_activeObject = + ActivationMonitor.class.getMethod("activeObject", new Class[] + { + ActivationID.class, MarshalledObject.class + }); + met_registerObject = + ActivationSystem.class.getMethod("registerObject", new Class[] + { + ActivationDesc.class + }); + met_inactiveObject = + ActivationMonitor.class.getMethod("inactiveObject", new Class[] + { + ActivationID.class + }); + met_unregisterGroup = + ActivationSystem.class.getMethod("unregisterGroup", new Class[] + { + ActivationGroupID.class + }); + + } + catch (NoSuchMethodException nex) + { + NoSuchMethodError err = new NoSuchMethodError( + "ActivationSystemImpl_Stub class initialization failed"); + err.initCause(nex); + throw err; + } + } + + /** + * Create the instance for _ActivationSystemImpl_Stub that forwards method calls to the + * remote object. + * + * @para the reference to the remote object. + */ + public ActivationSystemImpl_Stub(RemoteRef reference) + { + super(reference); + } + + /* Methods */ + /** @inheritDoc */ + public ActivationGroupDesc setActivationGroupDesc(ActivationGroupID p0, + ActivationGroupDesc p1) + throws ActivationException, UnknownGroupException, RemoteException + { + try + { + Object result = ref.invoke(this, met_setActivationGroupDesc, + new Object[] { p0, p1 }, + 1213918527826541191L); + return (ActivationGroupDesc) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void inactiveGroup(ActivationGroupID p0, long p1) + throws UnknownGroupException, RemoteException + { + try + { + ref.invoke(this, met_inactiveGroup, new Object[] { p0, new Long(p1) }, + -399287892768650944L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void unregisterObject(ActivationID p0) throws ActivationException, + UnknownObjectException, RemoteException + { + try + { + ref.invoke(this, met_unregisterObject, new Object[] { p0 }, + -6843850585331411084L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public ActivationDesc getActivationDesc(ActivationID p0) + throws ActivationException, UnknownObjectException, RemoteException + { + try + { + Object result = ref.invoke(this, met_getActivationDesc, + new Object[] { p0 }, 4830055440982622087L); + return (ActivationDesc) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public ActivationDesc setActivationDesc(ActivationID p0, ActivationDesc p1) + throws ActivationException, UnknownObjectException, + UnknownGroupException, RemoteException + { + try + { + Object result = ref.invoke(this, met_setActivationDesc, + new Object[] { p0, p1 }, + 7128043237057180796L); + return (ActivationDesc) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void shutdown() throws RemoteException + { + try + { + ref.invoke(this, met_shutdown, NO_ARGS, -7207851917985848402L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public MarshalledObject activate(ActivationID p0, boolean p1) + throws ActivationException, UnknownObjectException, RemoteException + { + try + { + Object result = ref.invoke(this, met_activate, + new Object[] { p0, new Boolean(p1) }, + -8767355154875805558L); + return (MarshalledObject) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public ActivationMonitor activeGroup(ActivationGroupID p0, + ActivationInstantiator p1, long p2) + throws UnknownGroupException, ActivationException, RemoteException + { + try + { + Object result = ref.invoke(this, met_activeGroup, + new Object[] { p0, p1, new Long(p2) }, + -4575843150759415294L); + return (ActivationMonitor) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public ActivationGroupID registerGroup(ActivationGroupDesc p0) + throws ActivationException, RemoteException + { + try + { + Object result = ref.invoke(this, met_registerGroup, + new Object[] { p0 }, 6921515268192657754L); + return (ActivationGroupID) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public ActivationGroupDesc getActivationGroupDesc(ActivationGroupID p0) + throws ActivationException, UnknownGroupException, RemoteException + { + try + { + Object result = ref.invoke(this, met_getActivationGroupDesc, + new Object[] { p0 }, -8701843806548736528L); + return (ActivationGroupDesc) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void activeObject(ActivationID p0, MarshalledObject p1) + throws UnknownObjectException, RemoteException + { + try + { + ref.invoke(this, met_activeObject, new Object[] { p0, p1 }, + 2543984342209939736L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public ActivationID registerObject(ActivationDesc p0) + throws ActivationException, UnknownGroupException, RemoteException + { + try + { + Object result = ref.invoke(this, met_registerObject, + new Object[] { p0 }, -3006759798994351347L); + return (ActivationID) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void inactiveObject(ActivationID p0) throws UnknownObjectException, + RemoteException + { + try + { + ref.invoke(this, met_inactiveObject, new Object[] { p0 }, + -4165404120701281807L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void unregisterGroup(ActivationGroupID p0) throws ActivationException, + UnknownGroupException, RemoteException + { + try + { + ref.invoke(this, met_unregisterGroup, new Object[] { p0 }, + 3768097077835970701L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmid/Main.java b/libjava/classpath/tools/gnu/classpath/tools/rmid/Main.java new file mode 100644 index 00000000000..d601b13f178 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmid/Main.java @@ -0,0 +1,259 @@ +/* Main.java -- the RMI activation daemon. + Copyright (c) 2006 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. */ + +package gnu.classpath.tools.rmid; + +import gnu.classpath.tools.rmid.ActivationSystemImpl; +import gnu.classpath.tools.common.ClasspathToolParser; +import gnu.classpath.tools.getopt.FileArgumentCallback; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.OptionGroup; +import gnu.classpath.tools.getopt.Parser; +import gnu.java.rmi.activation.ActivationSystemTransient; +import gnu.java.rmi.server.UnicastServerRef; + +import java.io.File; +import java.net.InetAddress; +import java.rmi.Remote; +import java.rmi.activation.ActivationSystem; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.rmi.server.ObjID; +import java.rmi.server.RMIServerSocketFactory; + + +/** + * The persistent RMI activation daemon. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public class Main +{ + /** + * The RMI server socket factory. + */ + static RMIServerSocketFactory ACTIVATION_REGISTY_SOCKET_FACTORY = null; + + /** + * The activation registry port. + */ + static int ACTIVATION_REGISTRY_PORT = ActivationSystem.SYSTEM_PORT; + + /** + * The activation system name. + */ + static String ACTIVATION_SYSTEM_NAME = "java.rmi.activation.ActivationSystem"; + + // Parse parameters: + private boolean stop = false; + private String directory = "."; + private boolean cold = false; + private boolean persistent = false; + + private Parser initializeParser() + { + Parser parser = new ClasspathToolParser("rmiregistry", true); //$NON-NLS-1$ + parser.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ + + + OptionGroup controlGroup + = new OptionGroup(Messages.getString("Main.ControlGroup")); //$NON-NLS-1$ + controlGroup.add(new Option("port", //$NON-NLS-1$ + Messages.getString("Main.PortOption"), //$NON-NLS-1$ + Messages.getString("Main.Port")) //$NON-NLS-1$ + { + public void parsed(String portArgument) throws OptionException + { + ACTIVATION_REGISTRY_PORT = Integer.parseInt(portArgument); + } + }); + controlGroup.add(new Option("restart", //$NON-NLS-1$ + Messages.getString("Main.Restart")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + cold = true; + } + }); + controlGroup.add(new Option("stop", //$NON-NLS-1$ + Messages.getString("Main.Stop")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + stop = true; + } + }); + parser.add(controlGroup); + + OptionGroup persistenceGroup + = new OptionGroup(Messages.getString("Main.PersistenceGroup")); //$NON-NLS-1$ + persistenceGroup.add(new Option("persistent", //$NON-NLS-1$ + Messages.getString("Main.Persistent")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + persistent = true; + } + }); + persistenceGroup.add(new Option("directory", //$NON-NLS-1$ + Messages.getString("Main.Directory"), //$NON-NLS-1$ + Messages.getString("Main.DirectoryArgument")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + directory = argument; + } + }); + parser.add(persistenceGroup); + + OptionGroup debuggingGroup + = new OptionGroup(Messages.getString("Main.DebugGroup")); //$NON-NLS-1$ + debuggingGroup.add(new Option("verbose", //$NON-NLS-1$ + Messages.getString ("Main.Verbose")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + ActivationSystemTransient.debug = true; + } + }); + parser.add(debuggingGroup); + + return parser; + } + + private void run(String[] args) + { + Parser p = initializeParser(); + p.parse(args); + + try + { + if (!stop) + { + // Start the system. + File dataDirectory = new File(directory); + if (!dataDirectory.exists()) + dataDirectory.mkdirs(); + ActivationSystem system; + + if (!persistent) + system = ActivationSystemTransient.getInstance(); + else + system = ActivationSystemImpl.getInstance(dataDirectory, cold); + + // We must export with the specific activation id that is only + // possible when going into the gnu.java.rmi.activation. + UnicastServerRef sref = new UnicastServerRef( + new ObjID(ObjID.ACTIVATOR_ID), ACTIVATION_REGISTRY_PORT, + ACTIVATION_REGISTY_SOCKET_FACTORY); + Remote systemStub = sref.exportObject(system); + + // Start the naming system on the activation system port + // (if not already running). + + Registry r; + try + { + // Expect the naming service running first. + // The local host may want to use the shared registry + r = LocateRegistry.getRegistry(ACTIVATION_REGISTRY_PORT); + r.rebind(ACTIVATION_SYSTEM_NAME, systemStub); + } + catch (Exception ex) + { + // The naming service is not running. Start it. + r = LocateRegistry.createRegistry(ACTIVATION_REGISTRY_PORT); + r.rebind(ACTIVATION_SYSTEM_NAME, systemStub); + } + String host = InetAddress.getLocalHost().getCanonicalHostName(); + System.out.println("The RMI daemon is listening on " + host + + " (port " + + ACTIVATION_REGISTRY_PORT + ")"); + + } + else + { + // Stop the activation system. + Registry r; + try + { + System.out.print("Stopping RMI daemon at " + + ACTIVATION_REGISTRY_PORT+" ... "); + // Expect the naming service running first. + // The local host may want to use the shared registry + r = LocateRegistry.getRegistry(ACTIVATION_REGISTRY_PORT); + ActivationSystem asys = + (ActivationSystem) r.lookup(ACTIVATION_SYSTEM_NAME); + asys.shutdown(); + System.out.println("OK."); + } + catch (Exception ex) + { + System.out.println("The RMI daemon seems not running at " + + ACTIVATION_REGISTRY_PORT); + if (ActivationSystemTransient.debug) + ex.printStackTrace(); + } + } + } + catch (Exception e) + { + System.out.println("Failed to start the RMI daemon."); + if (ActivationSystemTransient.debug) + e.printStackTrace(); + } + } + + /** + * The activation system entry point. + */ + public static void main(String[] args) + { + Main rmidprogram = new Main(); + try + { + rmidprogram.run(args); + } + catch (Exception e) + { + System.err.println(Messages.getString("Main.InternalError")); //$NON-NLS-1$ + e.printStackTrace(System.err); + System.exit(1); + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmid/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/rmid/Messages.java new file mode 100644 index 00000000000..4365c6de7ca --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmid/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- localization support for rmid + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.rmid; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.rmid.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java b/libjava/classpath/tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java new file mode 100644 index 00000000000..d213373d5ff --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java @@ -0,0 +1,269 @@ +/* PersistentBidiHasthable.java -- Bidirectional persistent hash table. + Copyright (C) 2006 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. */ + +package gnu.classpath.tools.rmid; + +import gnu.classpath.tools.common.Persistent; +import gnu.classpath.tools.rmid.ActivationSystemImpl; +import gnu.java.rmi.activation.BidiTable; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.TimerTask; + +/** + * The persistent bidirectional hash table, maps both a to b and b to a. The + * changes are written to dist after SAVE_AT_MOST_AFTER time from the latest + * database change or at most after ALWAYS_UPDATE, if the database is updated + * very frequently. To ensure that no information is lost, the shutdown method + * must be called before exit. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public class PersistentBidiHashTable extends BidiTable implements + Persistent +{ + class WriteToDiskTask extends TimerTask + { + /** + * Save the database. + */ + public void run() + { + writeContent(); + sheduled = null; + } + } + + /** + * Replaces instances of ActivationSystemImpl into the currently active + * instance of the ActivationSystemImpl + */ + class AdaptedReader extends ObjectInputStream + { + AdaptedReader(InputStream in) throws IOException + { + super(in); + enableResolveObject(true); + } + + protected Object resolveObject(Object obj) throws IOException + { + if (obj instanceof ActivationSystemImpl) + return ActivationSystemImpl.singleton2; + else + return obj; + } + } + + /** + * The database file. + */ + File database; + + /** + * The currently sheduled write to disk task, null if none. + */ + WriteToDiskTask sheduled = null; + + /** + * The time, when the disk database was last updated. + */ + long lastUpdated; + + /** + * Create the unitialised instance that must be initalised when + * ActivationSystemImpl.singleton2 is assigned. + */ + public PersistentBidiHashTable() + { + // Do not initalise the table fields - the initalise method must be + // called later. + super(0); + } + + /** + * Create a new persistent table that stores its information into the given + * file. The ActivationSystemImpl.singleton2 must be assigned. + * + * @param file + * the file, where the table stores its information. + * @param coldStart + * if true, the existing file with this name will be erased and + * ignored. Otherwise, it will be assumed that the file contains the + * persistent table information. + */ + public void init(File file, boolean coldStart) + { + try + { + database = file; + if (database.exists()) + { + if (coldStart) + { + k2v = new Hashtable(); + v2k = new Hashtable(); + database.delete(); + } + else + { + FileInputStream fi = new FileInputStream(file); + BufferedInputStream b = new BufferedInputStream(fi); + ObjectInputStream oin = new AdaptedReader(b); + + k2v = (Map) oin.readObject(); + oin.close(); + + v2k = new Hashtable(k2v.size()); + + // Reguild v2k from k2v: + Iterator en = k2v.keySet().iterator(); + Object key; + while (en.hasNext()) + { + key = en.next(); + v2k.put(k2v.get(key), key); + } + } + } + else + { + k2v = new Hashtable(); + v2k = new Hashtable(); + } + } + catch (Exception ioex) + { + InternalError ierr = new InternalError("Unable to intialize with file " + + file); + ierr.initCause(ioex); + throw ierr; + } + } + + /** + * Write the database content to the disk. + */ + public synchronized void writeContent() + { + try + { + FileOutputStream fou = new FileOutputStream(database); + BufferedOutputStream b = new BufferedOutputStream(fou); + ObjectOutputStream oout = new ObjectOutputStream(b); + oout.writeObject(k2v); + oout.close(); + } + catch (Exception ioex) + { + InternalError ierr = new InternalError( + "Failed to write database to disk: " + + database); + ierr.initCause(ioex); + throw ierr; + } + } + + /** + * Mark the modified database as modified. The database will be written after + * several seconds, unless another modification occurs. + */ + public void markDirty() + { + if (System.currentTimeMillis() - lastUpdated > ALWAYS_UPDATE) + { + // Force storing to disk under intensive operation. + writeContent(); + lastUpdated = System.currentTimeMillis(); + if (sheduled != null) + { + sheduled.cancel(); + sheduled = null; + } + } + else + { + // Otherwise coalesce the disk database copy update events. + if (sheduled != null) + sheduled.cancel(); + sheduled = new WriteToDiskTask(); + timer.schedule(sheduled, SAVE_AT_MOST_AFTER); + } + } + + /** + * Save the current database state to the disk before exit. + */ + public void shutdown() + { + if (sheduled != null) + { + writeContent(); + sheduled = null; + } + } + + /** + * Update the memory maps and mark as should be written to the disk. + */ + public void put(Object key, Object value) + { + super.put(key, value); + markDirty(); + } + + /** + * Update the memory maps and mark as should be written to the disk. + */ + public void removeKey(Object key) + { + super.removeKey(key); + markDirty(); + } + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Main.java b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Main.java new file mode 100644 index 00000000000..e5c41930de1 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Main.java @@ -0,0 +1,232 @@ +/* Main.java -- RMI registry starter. + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.rmiregistry; + +import gnu.classpath.tools.common.ClasspathToolParser; +import gnu.classpath.tools.getopt.FileArgumentCallback; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.OptionGroup; +import gnu.classpath.tools.getopt.Parser; +import gnu.classpath.tools.rmiregistry.RegistryImpl; +import gnu.java.rmi.server.UnicastServerRef; + +import java.io.File; +import java.rmi.NotBoundException; +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.rmi.server.ObjID; +import java.rmi.server.RMIServerSocketFactory; +import java.util.Hashtable; +import java.util.Map; + +/** + * The optionally persistent RMI registry implementation. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public class Main +{ + /** + * The stop command. + */ + public static String STOP = "gnu.classpath.tools.rmi.registry.command.STOP"; + + /** + * If true, the registry prints registration events to console. + */ + public static boolean verbose = false; + + /** + * Parsed parameters. + */ + private String directory = "."; + private boolean cold = false; + private boolean persistent = false; + private boolean stop = false; + private int port = Registry.REGISTRY_PORT; + private RMIServerSocketFactory ssf = null; + + private Parser initializeParser() + { + Parser parser = new ClasspathToolParser("rmiregistry", true); //$NON-NLS-1$ + parser.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ + + OptionGroup controlGroup + = new OptionGroup(Messages.getString("Main.ControlGroup")); //$NON-NLS-1$ + controlGroup.add(new Option("restart", //$NON-NLS-1$ + Messages.getString("Main.Restart")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + cold = true; + } + }); + controlGroup.add(new Option("stop", //$NON-NLS-1$ + Messages.getString("Main.Stop")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + stop = true; + } + }); + parser.add(controlGroup); + + OptionGroup persistenceGroup + = new OptionGroup(Messages.getString("Main.PersistenceGroup")); //$NON-NLS-1$ + persistenceGroup.add(new Option("persistent", //$NON-NLS-1$ + Messages.getString("Main.Persistent")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + persistent = true; + } + }); + persistenceGroup.add(new Option("directory", //$NON-NLS-1$ + Messages.getString("Main.Directory"), //$NON-NLS-1$ + Messages.getString("Main.DirectoryArgument")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + directory = argument; + } + }); + parser.add(persistenceGroup); + + OptionGroup debuggingGroup + = new OptionGroup(Messages.getString("Main.DebugGroup")); //$NON-NLS-1$ + debuggingGroup.add(new Option("verbose", //$NON-NLS-1$ + Messages.getString ("Main.Verbose")) //$NON-NLS-1$ + { + public void parsed(String argument) throws OptionException + { + verbose = true; + } + }); + parser.add(debuggingGroup); + + return parser; + } + + private void run(String[] args) + { + Parser p = initializeParser(); + p.parse(args, new FileArgumentCallback() + { + public void notifyFile(String portArgument) + { + port = Integer.parseInt(portArgument); + } + }); + + if (!stop) + { + Map table; + if (!persistent) + table = new Hashtable(); + else + { + // Start the system. + File dataDirectory = new File(directory); + if (!dataDirectory.exists()) + dataDirectory.mkdirs(); + table = PersistentHashTable.createInstance( + new File(dataDirectory, "rmiregistry.data"), cold); + } + + RegistryImpl system = new RegistryImpl(table); + + // We must export with the specific activation id that is only + // possible when going into the gnu.java.rmi + try + { + UnicastServerRef sref = new UnicastServerRef( + new ObjID(ObjID.REGISTRY_ID), port, ssf); + + sref.exportObject(system); + System.out.println("The RMI naming service is listening at " + port); + } + catch (Exception ex) + { + System.out.println("Failed to start RMI naming service at " + port); + } + } + else + { + // Stop the naming service. + try + { + Registry r = LocateRegistry.getRegistry(port); + // Search for this specific line will command to stop the registry. + + // Our service returns null, but any other service will thrown + // NotBoundException. + r.unbind(STOP); + } + catch (RemoteException e) + { + System.out.println("Failed to stop RMI naming service at " + port); + } + catch (NotBoundException e) + { + System.out.println("The naming service at port " + port + " is not a " + + Main.class.getName()); + } + } + } + + /** + * The RMI registry implementation entry point. + */ + public static void main(String[] args) + { + Main rmiregistryprogram = new Main(); + try + { + rmiregistryprogram.run(args); + } + catch (Exception e) + { + System.err.println(Messages.getString("Main.InternalError")); //$NON-NLS-1$ + e.printStackTrace(System.err); + System.exit(1); + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Messages.java new file mode 100644 index 00000000000..05bfcf62d23 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- localization support for rmiregistry + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.rmiregistry; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.rmiregistry.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java new file mode 100644 index 00000000000..89d66ce4ad7 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java @@ -0,0 +1,262 @@ +/* PersistentHasthable.java -- Persistent hash table. + Copyright (C) 2006 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. */ + +package gnu.classpath.tools.rmiregistry; + +import gnu.classpath.tools.common.Persistent; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.util.Hashtable; +import java.util.Map; +import java.util.TimerTask; + +/** + * The persistent hash table. The changes are written to dist after + * SAVE_AT_MOST_AFTER time from the latest database change or at most after + * ALWAYS_UPDATE, if the database is updated very frequently. To ensure that no + * information is lost, the shutdown method must be called before exit. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public class PersistentHashTable + extends Hashtable + implements Serializable, Persistent +{ + + /** + * Use serialVersionUID for interoperability + */ + private static final long serialVersionUID = 1; + + class WriteToDiskTask extends TimerTask + { + /** + * Save the database. + */ + public void run() + { + writeContent(); + sheduled = null; + } + } + + /** + * The database file. + */ + File database; + + /** + * The currently sheduled write to disk task, null if none. + */ + WriteToDiskTask sheduled = null; + + /** + * The time, when the disk database was last updated. + */ + long lastUpdated; + + /** + * Setting to false prevents the automated disk update. + * The initial value is true to prevent writing while reading and is set + * to false in createInstance. + */ + transient boolean ready; + + /** + * Use static method to obtain the instance. + */ + private PersistentHashTable(File file) + { + if (file == null) + throw new NullPointerException("Null file provided"); + database = file; + } + + /** + * Create a new persistent table that stores its information into the given + * file. + * + * @param file + * the file, where the table stores its information. + * @param coldStart + * if true, the existing file with this name will be erased and + * ignored. Otherwise, it will be assumed that the file contains the + * persistent table information. + */ + public static Map createInstance(File file, boolean coldStart) + { + try + { + PersistentHashTable k2v; + System.out.println ("Here1"); + if (file.exists()) + { + System.out.println ("Here2"); + if (coldStart) + { + System.out.println ("Here2.5"); + file.delete(); + k2v = new PersistentHashTable(file); + } + else + { + System.out.println ("Here3"); + FileInputStream fi = new FileInputStream(file); + System.out.println ("Here3.1"); + BufferedInputStream b = new BufferedInputStream(fi); + System.out.println ("Here3.2"); + ObjectInputStream oin = new ObjectInputStream(b); + System.out.println ("Here3.3"); + + System.out.println ("Here4"); + k2v = (PersistentHashTable) oin.readObject(); + oin.close(); + System.out.println ("Here5"); + } + } + else + { + System.out.println ("Here6"); + k2v = new PersistentHashTable(file); + System.out.println ("Here7"); + } + + System.out.println ("Here8"); + k2v.ready = true; + return k2v; + } + catch (Exception ioex) + { + InternalError ierr = new InternalError("Unable to intialize with file " + + file); + ierr.initCause(ioex); + throw ierr; + } + } + + + /** + * Write the database content to the disk. + */ + public synchronized void writeContent() + { + try + { + FileOutputStream fou = new FileOutputStream(database); + BufferedOutputStream b = new BufferedOutputStream(fou); + ObjectOutputStream oout = new ObjectOutputStream(b); + oout.writeObject(this); + oout.close(); + } + catch (Exception ioex) + { + InternalError ierr = new InternalError( + "Failed to write database to disk: "+ database); + ierr.initCause(ioex); + throw ierr; + } + } + + /** + * Mark the modified database as modified. The database will be written after + * several seconds, unless another modification occurs. + */ + public void markDirty() + { + if (System.currentTimeMillis() - lastUpdated > ALWAYS_UPDATE) + { + // Force storing to disk under intensive operation. + writeContent(); + lastUpdated = System.currentTimeMillis(); + if (sheduled != null) + { + sheduled.cancel(); + sheduled = null; + } + } + else + { + // Otherwise coalesce the disk database copy update events. + if (sheduled != null) + sheduled.cancel(); + sheduled = new WriteToDiskTask(); + timer.schedule(sheduled, SAVE_AT_MOST_AFTER); + } + } + + /** + * Save the current database state to the disk before exit. + */ + public void shutdown() + { + if (sheduled != null) + { + writeContent(); + sheduled = null; + } + } + + /** + * Update the memory maps and mark as should be written to the disk. + */ + public Object put(Object key, Object value) + { + super.put(key, value); + if (ready) + markDirty(); + return value; + } + + /** + * Update the memory maps and mark as should be written to the disk. + */ + public Object remove(Object key) + { + Object removed = super.remove(key); + if (ready) + markDirty(); + return removed; + } + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java new file mode 100644 index 00000000000..b93d3c1169e --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java @@ -0,0 +1,138 @@ +/* RegistryImpl.java -- the RMI registry implementation + Copyright (c) 1996, 1997, 1998, 1999, 2002, 2005, 2006 + 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. */ + +package gnu.classpath.tools.rmiregistry; + +import gnu.classpath.tools.common.Persistent; + +import java.rmi.AccessException; +import java.rmi.AlreadyBoundException; +import java.rmi.NotBoundException; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.rmi.registry.Registry; +import java.util.ArrayList; +import java.util.Map; + +/** + * The optionally persistent registry implementation. + * + * @author Audrius Meskauskas (audriusa@bioinformatics.org) + */ +public class RegistryImpl implements Registry +{ + /** + * The binding table. + */ + Map bindings; + + /** + * Create the registry implementation that uses the given bidirectinal + * table to keep the data. + */ + public RegistryImpl(Map aTable) + { + bindings = aTable; + } + + /** @inheritDoc */ + public Remote lookup(String name) throws RemoteException, NotBoundException, + AccessException + { + Object obj = bindings.get(name); + if (obj == null) + throw new NotBoundException(name); + return ((Remote) obj); + } + + /** @inheritDoc */ + public void bind(String name, Remote obj) throws RemoteException, + AlreadyBoundException, AccessException + { + if (Main.verbose) + System.out.println("Bind "+name); + if (bindings.containsKey(name)) + throw new AlreadyBoundException(name); + bindings.put(name, obj); + } + + /** @inheritDoc */ + public void unbind(String name) throws RemoteException, NotBoundException, + AccessException + { + if (name.equals(Main.STOP)) + { + if (bindings instanceof Persistent) + ((Persistent) bindings).writeContent(); + // Terminate in 10 seconds. + System.out.println("Shutdown command received. Will terminate in 10 s"); + Persistent.timer.schedule(new Persistent.ExitTask(), 10000); + } + else + { + if (Main.verbose) + System.out.println("Unbind "+name); + + if (!bindings.containsKey(name)) + throw new NotBoundException(name); + else + bindings.remove(name); + } + } + + /** @inheritDoc */ + public void rebind(String name, Remote obj) throws RemoteException, + AccessException + { + if (Main.verbose) + System.out.println("Rebind "+name); + bindings.put(name, obj); + } + + /** @inheritDoc */ + public String[] list() throws RemoteException, AccessException + { + // Create a separated array to prevent race conditions. + ArrayList keys = new ArrayList(bindings.keySet()); + int n = keys.size(); + String[] rt = new String[n]; + for (int i = 0; i < n; i++) + rt[i] = (String) keys.get(i); + return rt; + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java new file mode 100644 index 00000000000..5150debd1de --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java @@ -0,0 +1,278 @@ +/* RegistryImpl_Skel.java + Copyright (C) 2002, 2006 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. */ + + +package gnu.classpath.tools.rmiregistry; + +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.rmi.MarshalException; +import java.rmi.Remote; +import java.rmi.UnmarshalException; +import java.rmi.server.Operation; +import java.rmi.server.RemoteCall; +import java.rmi.server.SkeletonMismatchException; + +/** + * This skeleton supports unlikely cases when the naming service is + * contacted from other interoperable java implementation that still uses + * the old style skeleton-dependent invocations. + */ +public final class RegistryImpl_Skel + implements java.rmi.server.Skeleton +{ + private static final long interfaceHash = 4905912898345647071L; + + /** + * Repeated multiple times. + */ + static final String EUM = "error unmarshalling arguments for Registry"; + + /** + * Repeated multiple times. + */ + static final String EMR = "error marshalling return from Registry"; + + private static final Operation[] operations = + { + new Operation("void bind(java.lang.String, Remote"), + new Operation("java.lang.String[] list("), + new Operation("Remote lookup(java.lang.String"), + new Operation("void rebind(java.lang.String, Remote"), + new Operation("void unbind(java.lang.String") + }; + + public Operation[] getOperations() + { + return ((Operation[]) operations.clone()); + } + + public void dispatch(Remote obj, RemoteCall call, + int opnum, long hash) throws java.lang.Exception + { + if (opnum < 0) + { + if (hash == 7583982177005850366L) + opnum = 0; + else if (hash == 2571371476350237748L) + opnum = 1; + else if (hash == -7538657168040752697L) + opnum = 2; + else if (hash == -8381844669958460146L) + opnum = 3; + else if (hash == 7305022919901907578L) + opnum = 4; + else + throw new SkeletonMismatchException("interface hash mismatch"); + } + else if (hash != interfaceHash) + throw new SkeletonMismatchException("interface hash mismatch"); + + RegistryImpl server = (RegistryImpl) obj; + switch (opnum) + { + case 0: + { + java.lang.String $param_0; + Remote $param_1; + try + { + ObjectInput in = call.getInputStream(); + $param_0 = (java.lang.String) in.readObject(); + $param_1 = (Remote) in.readObject(); + + } + catch (IOException e) + { + throw new UnmarshalException(EUM, e); + } + catch (java.lang.ClassCastException e) + { + throw new UnmarshalException(EUM, e); + } + finally + { + call.releaseInputStream(); + } + server.bind($param_0, $param_1); + try + { + ObjectOutput out = call.getResultStream(true); + } + catch (IOException e) + { + throw new MarshalException(EMR, e); + } + break; + } + + case 1: + { + try + { + ObjectInput in = call.getInputStream(); + + } + catch (IOException e) + { + throw new UnmarshalException(EUM, e); + } + finally + { + call.releaseInputStream(); + } + java.lang.String[] $result = server.list(); + try + { + ObjectOutput out = call.getResultStream(true); + out.writeObject($result); + } + catch (IOException e) + { + throw new MarshalException(EMR, e); + } + break; + } + + case 2: + { + java.lang.String $param_0; + try + { + ObjectInput in = call.getInputStream(); + $param_0 = (java.lang.String) in.readObject(); + + } + catch (IOException e) + { + throw new UnmarshalException(EUM, e); + } + catch (java.lang.ClassCastException e) + { + throw new UnmarshalException(EUM, e); + } + finally + { + call.releaseInputStream(); + } + Remote $result = server.lookup($param_0); + try + { + ObjectOutput out = call.getResultStream(true); + out.writeObject($result); + } + catch (IOException e) + { + throw new MarshalException(EMR, e); + } + break; + } + + case 3: + { + java.lang.String $param_0; + Remote $param_1; + try + { + ObjectInput in = call.getInputStream(); + $param_0 = (java.lang.String) in.readObject(); + $param_1 = (Remote) in.readObject(); + + } + catch (IOException e) + { + throw new UnmarshalException(EUM, e); + } + catch (java.lang.ClassCastException e) + { + throw new UnmarshalException(EUM, e); + } + finally + { + call.releaseInputStream(); + } + server.rebind($param_0, $param_1); + try + { + ObjectOutput out = call.getResultStream(true); + } + catch (IOException e) + { + throw new MarshalException(EMR, e); + } + break; + } + + case 4: + { + java.lang.String $param_0; + try + { + ObjectInput in = call.getInputStream(); + $param_0 = (java.lang.String) in.readObject(); + + } + catch (IOException e) + { + throw new UnmarshalException(EUM, e); + } + catch (java.lang.ClassCastException e) + { + throw new UnmarshalException(EUM, e); + } + finally + { + call.releaseInputStream(); + } + server.unbind($param_0); + try + { + ObjectOutput out = call.getResultStream(true); + } + catch (IOException e) + { + throw new MarshalException(EMR, e); + } + break; + } + + default: + throw new UnmarshalException("invalid method number"); + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java new file mode 100644 index 00000000000..94d35e92fb3 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java @@ -0,0 +1,263 @@ +/* RegistryImpl_Stub.java -- Registry stub. + Copyright (c) 2006 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. */ + +package gnu.classpath.tools.rmiregistry; + +import java.rmi.AccessException; +import java.rmi.AlreadyBoundException; +import java.rmi.NotBoundException; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.rmi.registry.Registry; + +import java.lang.reflect.Method; +import java.rmi.server.RemoteRef; +import java.rmi.server.RemoteStub; +import java.rmi.UnexpectedException; + +/** + * This class delegates its method calls to the remote RMI object, referenced + * by {@link RemoteRef}. + * + * It is normally generated with rmic. + */ +public final class RegistryImpl_Stub + extends RemoteStub + implements Registry +{ + /** + * Use serialVersionUID for interoperability + */ + private static final long serialVersionUID = 3; + + /** + * The explaining message for {@ling UnexpectedException}. + */ + private static final String exception_message = + "undeclared checked exception"; + + /* All remote methods, invoked by this stub: */ + private static final Method met_list; + private static final Method met_rebind; + private static final Method met_unbind; + private static final Method met_lookup; + private static final Method met_bind; + private static final Object[] NO_ARGS = new Object[0]; + static + { + final Class[] NO_ARGSc = new Class[0]; + try + { + met_list = + Registry.class.getMethod("list", NO_ARGSc); + met_rebind = + Registry.class.getMethod("rebind", new Class[] + { + String.class, Remote.class + }); + met_unbind = + Registry.class.getMethod("unbind", new Class[] + { + String.class + }); + met_lookup = + Registry.class.getMethod("lookup", new Class[] + { + String.class + }); + met_bind = + Registry.class.getMethod("bind", new Class[] + { + String.class, Remote.class + }); + + } + catch (NoSuchMethodException nex) + { + NoSuchMethodError err = new NoSuchMethodError( + "RegistryImpl_Stub class initialization failed"); + err.initCause(nex); + throw err; + } + } + + /** + * Create the instance for _RegistryImpl_Stub that forwards method calls to the + * remote object. + * + * @para the reference to the remote object. + */ + public RegistryImpl_Stub(RemoteRef reference) + { + super(reference); + } + + /* Methods */ + /** @inheritDoc */ + public String [] list() + throws RemoteException, AccessException + { + try + { + Object result = ref.invoke(this, met_list, + NO_ARGS, + 2571371476350237748L); + return (String []) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void rebind(String p0, Remote p1) + throws RemoteException, AccessException + { + try + { + ref.invoke(this, met_rebind, + new Object[] {p0, p1}, + -8381844669958460146L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void unbind(String p0) + throws RemoteException, NotBoundException, AccessException + { + try + { + ref.invoke(this, met_unbind, + new Object[] {p0}, + 7305022919901907578L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public Remote lookup(String p0) + throws RemoteException, NotBoundException, AccessException + { + try + { + Object result = ref.invoke(this, met_lookup, + new Object[] {p0}, + -7538657168040752697L); + return (Remote) result; + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + /** @inheritDoc */ + public void bind(String p0, Remote p1) + throws RemoteException, AlreadyBoundException, AccessException + { + try + { + ref.invoke(this, met_bind, + new Object[] {p0, p1}, + 7583982177005850366L); + } + catch (RuntimeException e) + { + throw e; + } + catch (RemoteException e) + { + throw e; + } + catch (Exception e) + { + UnexpectedException uex = new UnexpectedException(exception_message); + uex.detail = e; + throw uex; + } + } + + +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java b/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java index b5a12ec927b..21e0a805a6f 100644 --- a/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java +++ b/libjava/classpath/tools/gnu/classpath/tools/serialver/SerialVer.java @@ -21,7 +21,7 @@ package gnu.classpath.tools.serialver; -import gnu.classpath.tools.getopt.ClasspathToolParser; +import gnu.classpath.tools.common.ClasspathToolParser; import gnu.classpath.tools.getopt.FileArgumentCallback; import gnu.classpath.tools.getopt.Option; import gnu.classpath.tools.getopt.OptionException; diff --git a/libjava/classpath/tools/gnu/classpath/tools/tnameserv/Main.java b/libjava/classpath/tools/gnu/classpath/tools/tnameserv/Main.java new file mode 100644 index 00000000000..460b7818532 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/tnameserv/Main.java @@ -0,0 +1,117 @@ +/* Main.java -- Transient GIOP naming service. + Copyright (C) 2006 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. */ + +package gnu.classpath.tools.tnameserv; + +import gnu.CORBA.NamingService.NamingServiceTransient; +import gnu.classpath.tools.common.ClasspathToolParser; +import gnu.classpath.tools.getopt.FileArgumentCallback; +import gnu.classpath.tools.getopt.Option; +import gnu.classpath.tools.getopt.OptionException; +import gnu.classpath.tools.getopt.OptionGroup; +import gnu.classpath.tools.getopt.Parser; + +/** + * The implementation of the transient naming service. The naming service + * is a kind of the network server that registers local and remote objects + * by name, and later can provide the object reference in response to the + * given name. + * + * GNU Classpath currently works with this naming service and is also + * interoperable with the Sun Microsystems naming services from releases 1.3 and + * 1.4, both transient tnameserv and persistent orbd. + * + * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) + */ +public class Main +{ + private int port = -1; + private String iorf; + + private Parser initializeParser() + { + Parser parser = new ClasspathToolParser("tnameserv", true); //$NON-NLS-1$ + parser.setHeader(Messages.getString("Main.Usage")); //$NON-NLS-1$ + + parser.add(new Option("ORBInitialPort", //$NON-NLS-1$ + Messages.getString("Main.ORBInitialPort"), //$NON-NLS-1$ + Messages.getString("Main.Port")) //$NON-NLS-1$ + { + public void parsed(String portArgument) throws OptionException + { + port = Integer.parseInt(portArgument); + } + }); + + parser.add(new Option("ior", //$NON-NLS-1$ + Messages.getString("Main.IOR"), //$NON-NLS-1$ + Messages.getString("Main.IORFile")) //$NON-NLS-1$ + { + public void parsed(String fileArgument) throws OptionException + { + iorf = fileArgument; + } + }); + + return parser; + } + + private void run(String[] args) + { + Parser p = initializeParser(); + p.parse(args); + NamingServiceTransient.start(port, iorf); + } + + /** + * The naming service entry point. + */ + public static void main(String[] args) + { + Main tnameservprogram = new Main(); + try + { + tnameservprogram.run(args); + } + catch (Exception e) + { + System.err.println(Messages.getString("Main.InternalError")); //$NON-NLS-1$ + e.printStackTrace(System.err); + System.exit(1); + } + } +} diff --git a/libjava/classpath/tools/gnu/classpath/tools/tnameserv/Messages.java b/libjava/classpath/tools/gnu/classpath/tools/tnameserv/Messages.java new file mode 100644 index 00000000000..505397302b4 --- /dev/null +++ b/libjava/classpath/tools/gnu/classpath/tools/tnameserv/Messages.java @@ -0,0 +1,67 @@ +/* Messages.java -- localization support for tnameserv + Copyright (C) 2006 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. */ + + +package gnu.classpath.tools.tnameserv; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME + = "gnu.classpath.tools.tnameserv.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE + = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/libjava/classpath/tools/gorbd.in b/libjava/classpath/tools/gorbd.in new file mode 100644 index 00000000000..ab1a19a8602 --- /dev/null +++ b/libjava/classpath/tools/gorbd.in @@ -0,0 +1,47 @@ +#!/bin/sh + +## Copyright (C) 2006 Free Software Foundation, Inc. +## +## This file is a 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 of the License, 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; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, 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. +## +## +## A simple shell script to launch the GNU Classpath orbd tool. +## + +prefix=@prefix@ +tools_dir=@datadir@/@PACKAGE@ +tools_cp=${tools_dir}/tools.zip + +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.orbd.Main "$@" diff --git a/libjava/classpath/tools/grmic.in b/libjava/classpath/tools/grmic.in new file mode 100644 index 00000000000..eabce0e498c --- /dev/null +++ b/libjava/classpath/tools/grmic.in @@ -0,0 +1,47 @@ +#!/bin/sh + +## Copyright (C) 2006 Free Software Foundation, Inc. +## +## This file is a 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 of the License, 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; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, 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. +## +## +## A simple shell script to launch the GNU Classpath rmic tool. +## + +prefix=@prefix@ +tools_dir=@datadir@/@PACKAGE@ +tools_cp=${tools_dir}/tools.zip + +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.rmic.Main "$@" diff --git a/libjava/classpath/tools/grmid.in b/libjava/classpath/tools/grmid.in new file mode 100644 index 00000000000..aa4e1432ad1 --- /dev/null +++ b/libjava/classpath/tools/grmid.in @@ -0,0 +1,47 @@ +#!/bin/sh + +## Copyright (C) 2006 Free Software Foundation, Inc. +## +## This file is a 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 of the License, 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; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, 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. +## +## +## A simple shell script to launch the GNU Classpath rmid tool. +## + +prefix=@prefix@ +tools_dir=@datadir@/@PACKAGE@ +tools_cp=${tools_dir}/tools.zip + +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.rmid.Main "$@" diff --git a/libjava/classpath/tools/grmiregistry.in b/libjava/classpath/tools/grmiregistry.in new file mode 100644 index 00000000000..5e2798fd3ad --- /dev/null +++ b/libjava/classpath/tools/grmiregistry.in @@ -0,0 +1,47 @@ +#!/bin/sh + +## Copyright (C) 2006 Free Software Foundation, Inc. +## +## This file is a 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 of the License, 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; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, 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. +## +## +## A simple shell script to launch the GNU Classpath rmiregistry tool. +## + +prefix=@prefix@ +tools_dir=@datadir@/@PACKAGE@ +tools_cp=${tools_dir}/tools.zip + +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.rmiregistry.Main "$@" diff --git a/libjava/classpath/tools/gtnameserv.in b/libjava/classpath/tools/gtnameserv.in new file mode 100644 index 00000000000..c8e7484f6ff --- /dev/null +++ b/libjava/classpath/tools/gtnameserv.in @@ -0,0 +1,47 @@ +#!/bin/sh + +## Copyright (C) 2006 Free Software Foundation, Inc. +## +## This file is a 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 of the License, 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; if not, write to the Free Software +## Foundation, Inc., 51 Franklin St, 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. +## +## +## A simple shell script to launch the GNU Classpath tnameserv tool. +## + +prefix=@prefix@ +tools_dir=@datadir@/@PACKAGE@ +tools_cp=${tools_dir}/tools.zip + +exec @VM_BINARY@ -Xbootclasspath/p:"${tools_cp}" gnu.classpath.tools.tnameserv.Main "$@" diff --git a/libjava/classpath/tools/toolwrapper.c b/libjava/classpath/tools/toolwrapper.c index 9ad14ac6d1b..41c07c690b8 100644 --- a/libjava/classpath/tools/toolwrapper.c +++ b/libjava/classpath/tools/toolwrapper.c @@ -37,6 +37,7 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ #include +#include #include #include #include "config.h" @@ -51,6 +52,9 @@ union env_union JNIEnv *jni_env; }; +/* Typedef for JNI_CreateJavaVM dlopen call. */ +typedef jint createVM (JavaVM **, void **, void *); + int main (int argc, const char** argv) { @@ -68,6 +72,10 @@ main (int argc, const char** argv) int non_vm_argc; int i; int classpath_found = 0; + /* Variables for JNI_CreateJavaVM dlopen call. */ + lt_dlhandle libjvm_handle = NULL; + createVM* libjvm_create = NULL; + int libjvm_error = 0; env = NULL; jvm = NULL; @@ -128,7 +136,7 @@ main (int argc, const char** argv) goto destroy; } - vm_args.options[vm_args.nOptions++].optionString = "-Djava.class.path=" TOOLS_ZIP; + vm_args.options[vm_args.nOptions++].optionString = "-Xbootclasspath/p:" TOOLS_ZIP; } /* Terminate vm_args.options with a NULL element. */ @@ -152,7 +160,27 @@ main (int argc, const char** argv) vm_args.version = JNI_VERSION_1_2; vm_args.ignoreUnrecognized = JNI_TRUE; - result = JNI_CreateJavaVM (&jvm, &tmp.void_env, &vm_args); + /* dlopen libjvm.so */ + libjvm_error = lt_dlinit (); + if (libjvm_error) + { + fprintf (stderr, TOOLNAME ": lt_dlinit failed.\n"); + goto destroy; + } + + libjvm_handle = lt_dlopenext (LIBJVM); + if (!libjvm_handle) + { + fprintf (stderr, TOOLNAME ": failed to open " LIBJVM "\n"); + goto destroy; + } + libjvm_create = (createVM*) lt_dlsym (libjvm_handle, "JNI_CreateJavaVM"); + if (!libjvm_create) + { + fprintf (stderr, TOOLNAME ": failed to load JNI_CreateJavaVM symbol from " LIBJVM "\n"); + goto destroy; + } + result = (*libjvm_create) (&jvm, &tmp.void_env, &vm_args); if (result < 0) { @@ -216,5 +244,15 @@ main (int argc, const char** argv) (*jvm)->DestroyJavaVM (jvm); } + /* libltdl cleanup */ + if (libjvm_handle) + { + if (lt_dlclose (libjvm_handle) != 0) + fprintf (stderr, TOOLNAME ": failed to close " LIBJVM "\n"); + } + + if (lt_dlexit () != 0) + fprintf (stderr, TOOLNAME ": lt_dlexit failed.\n"); + return 1; } diff --git a/libjava/classpath/vm/.cvsignore b/libjava/classpath/vm/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/vm/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/vm/reference/.cvsignore b/libjava/classpath/vm/reference/.cvsignore new file mode 100644 index 00000000000..282522db034 --- /dev/null +++ b/libjava/classpath/vm/reference/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java b/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java index e995c46341d..2214e757110 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java +++ b/libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java @@ -1,5 +1,5 @@ /* VMStackWalker.java -- Reference implementation of VM hooks for stack access - Copyright (C) 2005 Free Software Foundation + Copyright (C) 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -112,5 +112,20 @@ public final class VMStackWalker * is here to work around access permissions. */ public static native ClassLoader getClassLoader(Class cl); -} + /** + * Walk up the stack and return the first non-null class loader. + * If there aren't any non-null class loaders on the stack, return null. + */ + public static ClassLoader firstNonNullClassLoader() + { + Class[] stack = getClassContext(); + for (int i = 0; i < stack.length; i++) + { + ClassLoader loader = getClassLoader(stack[i]); + if (loader != null) + return loader; + } + return null; + } +} diff --git a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java index d4985bf2f2e..d8616063d19 100644 --- a/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java +++ b/libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java @@ -199,7 +199,7 @@ public class VMVirtualMachine * @return an array of virtual machine methods */ public static native VMMethod[] getAllClassMethods (Class klass) - throws JdwpException; + { return null; } /** * A factory method for getting valid virtual machine methods @@ -213,7 +213,7 @@ public class VMVirtualMachine * @throws JdwpException for any other error */ public static native VMMethod getClassMethod(Class klass, long id) - throws JdwpException; + { return null; } /** * Returns the thread's call stack diff --git a/libjava/classpath/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java b/libjava/classpath/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java index 193e3353517..43b9ae1a100 100644 --- a/libjava/classpath/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java +++ b/libjava/classpath/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java @@ -90,7 +90,7 @@ final class VMMemoryMXBeanImpl * information when memory is allocated and deallocated. The * format of the output is left up to the virtual machine. * - * @return true if verbose class loading output is on. + * @return true if verbose memory usage output is on. */ static native boolean isVerbose(); @@ -101,7 +101,7 @@ final class VMMemoryMXBeanImpl * may be called by multiple threads concurrently, but there * is only one global setting of verbosity that is affected. * - * @param verbose the new setting for verbose class loading + * @param verbose the new setting for verbose memory usage * output. */ static native void setVerbose(boolean verbose); diff --git a/libjava/classpath/vm/reference/gnu/java/net/VMPlainSocketImpl.java b/libjava/classpath/vm/reference/gnu/java/net/VMPlainSocketImpl.java index 76be558dcd4..916f9593087 100644 --- a/libjava/classpath/vm/reference/gnu/java/net/VMPlainSocketImpl.java +++ b/libjava/classpath/vm/reference/gnu/java/net/VMPlainSocketImpl.java @@ -38,15 +38,16 @@ exception statement from your version. */ package gnu.java.net; import java.io.IOException; +import java.net.Inet4Address; +import java.net.Inet6Address; import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.SocketAddress; +import java.net.NetworkInterface; import java.net.SocketException; -import java.net.SocketImpl; import java.net.SocketOptions; -import java.net.UnknownHostException; import gnu.classpath.Configuration; +import gnu.java.nio.VMChannel; /** * The VM interface for {@link gnu.java.net.PlainSocketImpl}. @@ -56,6 +57,12 @@ import gnu.classpath.Configuration; */ public final class VMPlainSocketImpl { + /** Option id for time to live + */ + private static final int CP_IP_TTL = 0x1E61; + + private final State nfd; + /** * Static initializer to load native library. */ @@ -66,249 +73,440 @@ public final class VMPlainSocketImpl System.loadLibrary("javanet"); } } + + public VMPlainSocketImpl() + { + // XXX consider adding security check here. + nfd = new State(); + } + + public VMPlainSocketImpl(VMChannel channel) throws IOException + { + this(); + nfd.setChannelFD(channel.getState()); + } + + public State getState() + { + return nfd; + } - /** - * Sets the specified option on a socket to the passed in object. - * The optionId parameter is one of the defined constants in - * the SocketImpl interface. - * - * @param socket the socket object - * @param optionId the identifier of the option - * @param value the value to set the option to + /** This method exists to hide the CP_IP_TTL value from + * higher levels. * - * @throws SocketException if an error occurs + * Always think of JNode ... :) */ - static native void setOption(PlainSocketImpl socket, int optionId, Object value) - throws SocketException; + public void setTimeToLive(int ttl) + throws SocketException + { + try + { + setOption(nfd.getNativeFD(), CP_IP_TTL, ttl); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } - /** - * Returns the current setting of the specified option. The optionId - * is one of the defined constants in this interface. - * - * @param socket the socket object - * @param optionId the option identifier - * - * @return the current value of the option - * - * @throws SocketException ff an error occurs - */ - static native Object getOption(PlainSocketImpl socket, int optionId) + public int getTimeToLive() + throws SocketException + { + try + { + return getOption(nfd.getNativeFD(), CP_IP_TTL); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } + + public void setOption(int optionId, Object optionValue) + throws SocketException + { + int value; + if (optionValue instanceof Integer) + value = ((Integer) optionValue).intValue(); + else if (optionValue instanceof Boolean) + // Switching off the linger behavior is done by setting + // the value to -1. This is how the Java API interprets + // it. + value = ((Boolean) optionValue).booleanValue() + ? 1 + : (optionId == SocketOptions.SO_LINGER) + ? -1 + : 0; + else + throw new IllegalArgumentException("option value type " + + optionValue.getClass().getName()); + + try + { + setOption(nfd.getNativeFD(), optionId, value); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } + + private static native void setOption(int fd, int id, int value) throws SocketException; - /** - * Creates a new socket that is not bound to any local address/port and - * is not connected to any remote address/port. - * - * @param socket the socket object - * - * @throws IOException if something goes wrong while creating the socket - */ - static native void create(PlainSocketImpl socket) throws IOException; + public void setMulticastInterface(int optionId, InetAddress addr) + throws SocketException + { + try + { + if (addr instanceof Inet4Address) + setMulticastInterface(nfd.getNativeFD(), optionId, (Inet4Address) addr); + else if (addr instanceof Inet6Address) + { + NetworkInterface iface = NetworkInterface.getByInetAddress(addr); + setMulticastInterface6(nfd.getNativeFD(), optionId, iface.getName()); + } + else + throw new SocketException("Unknown address format: " + addr); + } + catch (SocketException se) + { + throw se; + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } - /** - * Connects to the remote address and port specified as arguments. - * - * @param socket the socket object - * @param addr the remote address to connect to - * @param port the remote port to connect to - * - * @throws IOException if an error occurs - */ - static native void connect(PlainSocketImpl socket, InetAddress addr, - int port) throws IOException; + private static native void setMulticastInterface(int fd, + int optionId, + Inet4Address addr); - /** - * Binds to the specified port on the specified addr. Note that this addr - * must represent a local IP address. **** How bind to INADDR_ANY? **** - * - * @param socket the socket object - * @param addr the address to bind to - * @param port the port number to bind to - * - * @exception IOException If an error occurs - */ - static native void bind(PlainSocketImpl socket, InetAddress addr, int port) - throws IOException; + private static native void setMulticastInterface6(int fd, + int optionId, + String ifName); /** - * Starts listening for connections on a socket. The queueLen parameter - * is how many pending connections will queue up waiting to be serviced - * before being accepted. If the queue of pending requests exceeds this - * number, additional connections will be refused. - * - * @param socket the socket object - * @param queueLen the length of the pending connection queue + * Get a socket option. This implementation is only required to support + * socket options that are boolean values, which include: + * + * SocketOptions.IP_MULTICAST_LOOP + * SocketOptions.SO_BROADCAST + * SocketOptions.SO_KEEPALIVE + * SocketOptions.SO_OOBINLINE + * SocketOptions.SO_REUSEADDR + * SocketOptions.TCP_NODELAY + * + * and socket options that are integer values, which include: * - * @exception IOException if an error occurs + * SocketOptions.IP_TOS + * SocketOptions.SO_LINGER + * SocketOptions.SO_RCVBUF + * SocketOptions.SO_SNDBUF + * SocketOptions.SO_TIMEOUT + * + * @param optionId The option ID to fetch. + * @return A {@link Boolean} or {@link Integer} containing the socket + * option. + * @throws SocketException */ - static native void listen(PlainSocketImpl socket, int queueLen) - throws IOException; + public Object getOption(int optionId) throws SocketException + { + int value; + try + { + value = getOption(nfd.getNativeFD(), optionId); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + + switch (optionId) + { + case SocketOptions.IP_MULTICAST_LOOP: + case SocketOptions.SO_BROADCAST: + case SocketOptions.SO_KEEPALIVE: + case SocketOptions.SO_OOBINLINE: + case SocketOptions.SO_REUSEADDR: + case SocketOptions.TCP_NODELAY: + return Boolean.valueOf(value != 0); + + case SocketOptions.IP_TOS: + case SocketOptions.SO_LINGER: + case SocketOptions.SO_RCVBUF: + case SocketOptions.SO_SNDBUF: + case SocketOptions.SO_TIMEOUT: + return new Integer(value); + + default: + throw new SocketException("getting option " + optionId + + " not supported here"); + } + } + + private static native int getOption(int fd, int id) throws SocketException; /** - * Accepts a new connection on this socket. + * Returns an Inet4Address or Inet6Address instance belonging to the + * interface which is set as the multicast interface. * - * @param socket the socket object - * @param impl the socket object to accept this connection. + * The optionId is provided to make it possible that the native + * implementation may do something different depending on whether + * the value is SocketOptions.IP_MULTICAST_IF or + * SocketOptions.IP_MULTICAST_IF2. */ - static native void accept(PlainSocketImpl socket, SocketImpl impl) - throws IOException; + public InetAddress getMulticastInterface(int optionId) + throws SocketException + { + try + { + return getMulticastInterface(nfd.getNativeFD(), optionId); + } + catch (IOException ioe) + { + SocketException se = new SocketException(); + se.initCause(ioe); + throw se; + } + } + private static native InetAddress getMulticastInterface(int fd, + int optionId); + /** - * Returns the number of bytes that the caller can read from this socket - * without blocking. - * - * @param socket the socket object + * Binds this socket to the given local address and port. * - * @return the number of readable bytes before blocking - * - * @throws IOException If an error occurs + * @param address The address to bind to; the InetAddress is either + * an IPv4 or IPv6 address. + * @throws IOException If binding fails; for example, if the port + * in the given InetSocketAddress is privileged, and the current + * process has insufficient privileges. */ - static native int available(PlainSocketImpl socket) throws IOException; - + public void bind(InetSocketAddress address) throws IOException + { + InetAddress addr = address.getAddress(); + if (addr instanceof Inet4Address) + { + bind (nfd.getNativeFD(), addr.getAddress(), address.getPort()); + } + else if (addr instanceof Inet6Address) + bind6 (nfd.getNativeFD(), addr.getAddress(), address.getPort()); + else + throw new SocketException ("unsupported address type"); + } + /** - * Closes the socket. This will cause any InputStream or OutputStream - * objects for this Socket to be closed as well. - * - *

      - * Note that if the SO_LINGER option is set on this socket, then the - * operation could block. - *

      - * - * @param socket the socket object + * Native bind function for IPv4 addresses. The addr array must be + * exactly four bytes long. + * + * VMs without native support need not implement this. * - * @throws IOException if an error occurs + * @param fd The native file descriptor integer. + * @param addr The IPv4 address, in network byte order. + * @param port The port to bind to. + * @throws IOException */ - static native void close(PlainSocketImpl socket) throws IOException; - + private static native void bind(int fd, byte[] addr, int port) + throws IOException; + /** - * Internal method used by SocketInputStream for reading data from - * the connection. Reads up to len bytes of data into the buffer - * buf starting at offset bytes into the buffer. - * - * @param socket the socket object - * - * @return the actual number of bytes read or -1 if end of stream. + * Native bind function for IPv6 addresses. The addr array must be + * exactly sixteen bytes long. + * + * VMs without native support need not implement this. * - * @throws IOException if an error occurs + * @param fd The native file descriptor integer. + * @param addr The IPv6 address, in network byte order. + * @param port The port to bind to. + * @throws IOException */ - static native int read(PlainSocketImpl socket, byte[] buf, int offset, - int len) throws IOException; + private static native void bind6(int fd, byte[] addr, int port) + throws IOException; /** - * Internal method used by SocketInputStream for reading data from - * the connection. Reads and returns one byte of data. - * - * @param socket the socket object - * - * @return read byte or -1 if end of stream. + * Listen on this socket for incoming connections. * - * @throws IOException if an error occurs + * @param backlog The backlog of connections. + * @throws IOException If listening fails. + * @see gnu.java.nio.VMChannel#accept() */ - static int read(PlainSocketImpl socket) throws IOException + public void listen(int backlog) throws IOException { - byte[] buf = new byte[1]; - if (read(socket, buf, 0, 1) > 0) - return buf[0] & 0xFF; - else - return -1; + listen(nfd.getNativeFD(), backlog); } - + /** - * Internal method used by SocketOuputStream for writing data to - * the connection. Writes up to len bytes of data from the buffer - * buf starting at offset bytes into the buffer. + * Native listen function. VMs without native support need not implement + * this. * - * @param socket the socket object - * @param buf the buffer to write to the stream - * @param offset the start offset in the buffer - * @param len the number of bytes to write - * - * @throws IOException if an error occurs + * @param fd The file descriptor integer. + * @param backlog The listen backlog size. + * @throws IOException */ - static native void write(PlainSocketImpl socket, byte[] buf, int offset, - int len) throws IOException; + private static native void listen(int fd, int backlog) throws IOException; - /** - * Internal method used by SocketOuputStream for writing data to - * the connection. Writes exactly one byte to the socket. - * - * @param socket the socket object - * @param data the byte to write to the socket - * - * @throws IOException if an error occurs - */ - static void write(PlainSocketImpl socket, int data) - throws IOException + public void join(InetAddress group) throws IOException { - write(socket, new byte[]{ (byte) data }, 0, 1); + if (group instanceof Inet4Address) + join(nfd.getNativeFD(), group.getAddress()); + else if (group instanceof Inet6Address) + join6(nfd.getNativeFD(), group.getAddress()); + else + throw new IllegalArgumentException("unknown address type"); } + + private static native void join(int fd, byte[] addr) throws IOException; + + private static native void join6(int fd, byte[] addr) throws IOException; + + public void leave(InetAddress group) throws IOException + { + if (group instanceof Inet4Address) + leave(nfd.getNativeFD(), group.getAddress()); + else if (group instanceof Inet6Address) + leave6(nfd.getNativeFD(), group.getAddress()); + else + throw new IllegalArgumentException("unknown address type"); + } + + private static native void leave(int fd, byte[] addr) throws IOException; + + private static native void leave6(int fd, byte[] addr) throws IOException; - /** - * Sets the input stream for this socket to the end of the stream. Any - * attempts to read more bytes from the stream will return an EOF. - * - * @param socket the socket object - * - * @throws IOException if I/O errors occur - */ - static native void shutdownInput(PlainSocketImpl socket) throws IOException; - - /** - * Disables the output stream for this socket. Any attempt to write more - * data to the socket will throw an IOException. - * - * @param socket the socket object - * - * @throws IOException if I/O errors occur - */ - static native void shutdownOutput(PlainSocketImpl socket) throws IOException; - - /** - * Connects to the remote socket address with a specified timeout. - * - * @param socket the socket object - * @param address the remote address to connect to - * @param timeout the timeout to use for this connect, 0 means infinite. - * - * @throws IOException if an error occurs - */ - static synchronized void connect(PlainSocketImpl socket, - SocketAddress address, int timeout) + public void joinGroup(InetSocketAddress addr, NetworkInterface netif) throws IOException { - InetSocketAddress sockAddr = (InetSocketAddress) address; - InetAddress addr = sockAddr.getAddress(); - - if (addr == null) - throw new UnknownHostException(sockAddr.getHostName()); - - int port = sockAddr.getPort(); - - if (timeout < 0) - throw new IllegalArgumentException("negative timeout"); - - Object oldTimeoutObj = null; - try - { - oldTimeoutObj = getOption(socket, SocketOptions.SO_TIMEOUT); - setOption(socket, SocketOptions.SO_TIMEOUT, new Integer(timeout)); - connect(socket, addr, port); - } - finally - { - if (oldTimeoutObj != null) - setOption(socket, SocketOptions.SO_TIMEOUT, oldTimeoutObj); - } + InetAddress address = addr.getAddress(); + + if (address instanceof Inet4Address) + joinGroup(nfd.getNativeFD(), address.getAddress(), + netif != null ? netif.getName() : null); + else if (address instanceof Inet6Address) + joinGroup6(nfd.getNativeFD(), address.getAddress(), + netif != null ? netif.getName() : null); + else + throw new IllegalArgumentException("unknown address type"); } - + + private static native void joinGroup(int fd, byte[] addr, String ifname) + throws IOException; + + private static native void joinGroup6(int fd, byte[] addr, String ifname) + throws IOException; + + public void leaveGroup(InetSocketAddress addr, NetworkInterface netif) + throws IOException + { + InetAddress address = addr.getAddress(); + if (address instanceof Inet4Address) + leaveGroup(nfd.getNativeFD(), address.getAddress(), + netif != null ? netif.getName() : null); + else if (address instanceof Inet6Address) + leaveGroup6(nfd.getNativeFD(), address.getAddress(), + netif != null ? netif.getName() : null); + else + throw new IllegalArgumentException("unknown address type"); + } + + private static native void leaveGroup(int fd, byte[] addr, String ifname) + throws IOException; + + private static native void leaveGroup6(int fd, byte[] addr, String ifname) + throws IOException; + + + public void shutdownInput() throws IOException + { + shutdownInput(nfd.getNativeFD()); + } + + private static native void shutdownInput(int native_fd) throws IOException; + + public void shutdownOutput() throws IOException + { + shutdownOutput(nfd.getNativeFD()); + } + + private static native void shutdownOutput(int native_fd) throws IOException; + + public void sendUrgentData(int data) throws IOException + { + sendUrgentData(nfd.getNativeFD(), data); + } + + private static native void sendUrgentData(int natfive_fd, int data) throws IOException; + + public void close() throws IOException + { + nfd.close(); + } + + // Inner classes. + /** - * Send one byte of urgent data over the socket. - * - * @param socket the socket object - * @param data the byte to send + * Our wrapper for the native file descriptor. In this implementation, + * it is a simple wrapper around {@link VMChannel.State}, to simplify + * management of the native state. */ - static void sendUrgendData(PlainSocketImpl socket, int data) + public final class State { - throw new InternalError ("PlainSocketImpl::sendUrgentData not implemented"); + private VMChannel.State channelFd; + + State() + { + channelFd = null; + } + + public boolean isValid() + { + if (channelFd != null) + return channelFd.isValid(); + return false; + } + + public int getNativeFD() throws IOException + { + return channelFd.getNativeFD(); + } + + public void setChannelFD(final VMChannel.State nfd) throws IOException + { + if (this.channelFd != null && this.channelFd.isValid()) + throw new IOException("file descriptor already initialized"); + this.channelFd = nfd; + } + + public void close() throws IOException + { + if (channelFd == null) + throw new IOException("invalid file descriptor"); + channelFd.close(); + } + + protected void finalize() throws Throwable + { + try + { + if (isValid()) + close(); + } + finally + { + super.finalize(); + } + } } } + diff --git a/libjava/classpath/vm/reference/gnu/java/nio/VMChannel.java b/libjava/classpath/vm/reference/gnu/java/nio/VMChannel.java index fdea8ff6213..1f69877b6ba 100644 --- a/libjava/classpath/vm/reference/gnu/java/nio/VMChannel.java +++ b/libjava/classpath/vm/reference/gnu/java/nio/VMChannel.java @@ -39,13 +39,16 @@ exception statement from your version. */ package gnu.java.nio; import gnu.classpath.Configuration; -import gnu.java.net.PlainSocketImpl; -import gnu.java.nio.PipeImpl.SinkChannelImpl; -import gnu.java.nio.PipeImpl.SourceChannelImpl; -import gnu.java.nio.channels.FileChannelImpl; import java.io.IOException; +import java.net.Inet4Address; +import java.net.Inet6Address; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.net.SocketException; import java.nio.ByteBuffer; +import java.nio.MappedByteBuffer; /** * Native interface to support configuring of channel to run in a non-blocking @@ -54,33 +57,43 @@ import java.nio.ByteBuffer; * @author Michael Barker * */ -public class VMChannel +public final class VMChannel { - private final int fd; - - private VMChannel(int fd) - { - this.fd = fd; - } + /** + * Our reference implementation uses an integer to store the native + * file descriptor. Implementations without such support + */ + private final State nfd; - public static VMChannel getVMChannel(PlainSocketImpl socket) - { - return new VMChannel(socket.getNativeFD()); - } + private Kind kind; - public static VMChannel getVMChannel(SourceChannelImpl source) + public VMChannel() { - return new VMChannel(source.getNativeFD()); + // XXX consider adding security check here, so only Classpath + // code may create instances. + this.nfd = new State(); + kind = Kind.OTHER; } - public static VMChannel getVMChannel(SinkChannelImpl sink) + /** + * This constructor is used by the POSIX reference implementation; + * other virtual machines need not support it. + * + * Important: do not call this in library code that is + * not specific to Classpath's reference implementation. + * + * @param native_fd The native file descriptor integer. + * @throws IOException + */ + VMChannel(final int native_fd) throws IOException { - return new VMChannel(sink.getNativeFD()); + this(); + this.nfd.setNativeFD(native_fd); } - public static VMChannel getVMChannel(FileChannelImpl file) + public State getState() { - return new VMChannel(file.getNativeFD()); + return nfd; } static @@ -93,81 +106,151 @@ public class VMChannel initIDs(); } + public static VMChannel getStdin() throws IOException + { + return new VMChannel(stdin_fd()); + } + + public static VMChannel getStdout() throws IOException + { + return new VMChannel(stdout_fd()); + } + + public static VMChannel getStderr() throws IOException + { + return new VMChannel(stderr_fd()); + } + + private static native int stdin_fd(); + private static native int stdout_fd(); + private static native int stderr_fd(); + /** * Set the file descriptor to have the required blocking * setting. * - * @param fd - * @param blocking + * @param blocking The blocking flag to set. */ - public native void setBlocking(int fd, boolean blocking); + public void setBlocking(boolean blocking) throws IOException + { + setBlocking(nfd.getNativeFD(), blocking); + } - public void setBlocking(boolean blocking) + private static native void setBlocking(int fd, boolean blocking) + throws IOException; + + public int available() throws IOException { - setBlocking(fd, blocking); + return available(nfd.getNativeFD()); } + private static native int available(int native_fd) throws IOException; /** * Reads a byte buffer directly using the supplied file descriptor. - * Assumes that the buffer is a DirectBuffer. * - * @param fd Native file descriptor to read from. * @param dst Direct Byte Buffer to read to. * @return Number of bytes read. * @throws IOException If an error occurs or dst is not a direct buffers. */ - native int read(int fd, ByteBuffer dst) - throws IOException; - public int read(ByteBuffer dst) throws IOException { - return read(fd, dst); + return read(nfd.getNativeFD(), dst); + } + + private static native int read(int fd, ByteBuffer dst) throws IOException; + + /** + * Read a single byte. + * + * @return The byte read, or -1 on end of file. + * @throws IOException + */ + public int read() throws IOException + { + return read(nfd.getNativeFD()); } + private static native int read(int fd) throws IOException; + /** * Reads into byte buffers directly using the supplied file descriptor. * Assumes that the buffer list contains DirectBuffers. Will perform a * scattering read. * - * @param fd Native file descriptor to read from. * @param dsts An array direct byte buffers. * @param offset Index of the first buffer to read to. * @param length The number of buffers to read to. * @return Number of bytes read. * @throws IOException If an error occurs or the dsts are not direct buffers. */ - native long readScattering(int fd, ByteBuffer[] dsts, int offset, int length) - throws IOException; - public long readScattering(ByteBuffer[] dsts, int offset, int length) throws IOException { if (offset + length > dsts.length) throw new IndexOutOfBoundsException("offset + length > dsts.length"); + + return readScattering(nfd.getNativeFD(), dsts, offset, length); + } + + private static native long readScattering(int fd, ByteBuffer[] dsts, + int offset, int length) + throws IOException; + + /** + * Receive a datagram on this channel, returning the host address + * that sent the datagram. + * + * @param dst Where to store the datagram. + * @return The host address that sent the datagram. + * @throws IOException + */ + public SocketAddress receive(ByteBuffer dst) throws IOException + { + if (kind != Kind.SOCK_DGRAM) + throw new SocketException("not a datagram socket"); + ByteBuffer hostPort = ByteBuffer.allocateDirect(18); + int hostlen = receive(nfd.getNativeFD(), dst, hostPort); + if (hostlen == 0) + return null; + if (hostlen == 4) // IPv4 + { + byte[] addr = new byte[4]; + hostPort.get(addr); + int port = hostPort.getShort() & 0xFFFF; + return new InetSocketAddress(Inet4Address.getByAddress(addr), port); + } + if (hostlen == 16) // IPv6 + { + byte[] addr = new byte[16]; + hostPort.get(addr); + int port = hostPort.getShort() & 0xFFFF; + return new InetSocketAddress(Inet6Address.getByAddress(addr), port); + } - return readScattering(fd, dsts, offset, length); + throw new SocketException("host address received with invalid length: " + + hostlen); } + private static native int receive (int fd, ByteBuffer dst, ByteBuffer address) + throws IOException; + /** * Writes from a direct byte bufer using the supplied file descriptor. * Assumes the buffer is a DirectBuffer. * - * @param fd - * @param src + * @param src The source buffer. * @return Number of bytes written. * @throws IOException */ - native int write(int fd, ByteBuffer src) - throws IOException; - - public int write(ByteBuffer src) - throws IOException + public int write(ByteBuffer src) throws IOException { - return write(fd, src); + return write(nfd.getNativeFD(), src); } + private native int write(int fd, ByteBuffer src) throws IOException; + /** * Writes from byte buffers directly using the supplied file descriptor. * Assumes the that buffer list constains DirectBuffers. Will perform @@ -180,18 +263,488 @@ public class VMChannel * @return Number of bytes written. * @throws IOException */ - native long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length) - throws IOException; - public long writeGathering(ByteBuffer[] srcs, int offset, int length) throws IOException { if (offset + length > srcs.length) throw new IndexOutOfBoundsException("offset + length > srcs.length"); - return writeGathering(fd, srcs, offset, length); + // A gathering write is limited to 16 buffers; when writing, ensure + // that we have at least one buffer with something in it in the 16 + // buffer window starting at offset. + while (!srcs[offset].hasRemaining() && offset < srcs.length) + offset++; + + // There are no buffers with anything to write. + if (offset == srcs.length) + return 0; + + // If we advanced `offset' so far that we don't have `length' + // buffers left, reset length to only the remaining buffers. + if (length > srcs.length - offset) + length = srcs.length - offset; + + return writeGathering(nfd.getNativeFD(), srcs, offset, length); + } + + private native long writeGathering(int fd, ByteBuffer[] srcs, + int offset, int length) + throws IOException; + + /** + * Send a datagram to the given address. + * + * @param src The source buffer. + * @param dst The destination address. + * @return The number of bytes written. + * @throws IOException + */ + public int send(ByteBuffer src, InetSocketAddress dst) + throws IOException + { + InetAddress addr = dst.getAddress(); + if (addr == null) + throw new NullPointerException(); + if (addr instanceof Inet4Address) + return send(nfd.getNativeFD(), src, addr.getAddress(), dst.getPort()); + else if (addr instanceof Inet6Address) + return send6(nfd.getNativeFD(), src, addr.getAddress(), dst.getPort()); + else + throw new SocketException("unrecognized inet address type"); + } + + // Send to an IPv4 address. + private static native int send(int fd, ByteBuffer src, byte[] addr, int port) + throws IOException; + + // Send to an IPv6 address. + private static native int send6(int fd, ByteBuffer src, byte[] addr, int port) + throws IOException; + + /** + * Write a single byte. + * + * @param b The byte to write. + * @throws IOException + */ + public void write(int b) throws IOException + { + write(nfd.getNativeFD(), b); } + private static native void write(int fd, int b) throws IOException; + private native static void initIDs(); + // Network (socket) specific methods. + + /** + * Create a new socket. This method will initialize the native file + * descriptor state of this instance. + * + * @param stream Whether or not to create a streaming socket, or a datagram + * socket. + * @throws IOException If creating a new socket fails, or if this + * channel already has its native descriptor initialized. + */ + public void initSocket(boolean stream) throws IOException + { + if (nfd.isValid()) + throw new IOException("native FD already initialized"); + if (stream) + kind = Kind.SOCK_STREAM; + else + kind = Kind.SOCK_DGRAM; + nfd.setNativeFD(socket(stream)); + } + + /** + * Create a new socket, returning the native file descriptor. + * + * @param stream Set to true for streaming sockets; false for datagrams. + * @return The native file descriptor. + * @throws IOException If creating the socket fails. + */ + private static native int socket(boolean stream) throws IOException; + + /** + * Connect the underlying socket file descriptor to the remote host. + * + * @param saddr The address to connect to. + * @param timeout The connect timeout to use for blocking connects. + * @return True if the connection succeeded; false if the file descriptor + * is in non-blocking mode and the connection did not immediately + * succeed. + * @throws IOException If an error occurs while connecting. + */ + public boolean connect(InetSocketAddress saddr, int timeout) + throws SocketException + { + int fd; + + InetAddress addr = saddr.getAddress(); + + // Translates an IOException into a SocketException to conform + // to the throws clause. + try + { + fd = nfd.getNativeFD(); + } + catch (IOException ioe) + { + throw new SocketException(ioe.getMessage()); + } + + if (addr instanceof Inet4Address) + return connect(fd, addr.getAddress(), saddr.getPort(), + timeout); + if (addr instanceof Inet6Address) + return connect6(fd, addr.getAddress(), saddr.getPort(), + timeout); + throw new SocketException("unsupported internet address"); + } + + private static native boolean connect(int fd, byte[] addr, int port, int timeout) + throws SocketException; + + private static native boolean connect6(int fd, byte[] addr, int port, int timeout) + throws SocketException; + + /** + * Disconnect this channel, if it is a datagram socket. Disconnecting + * a datagram channel will disassociate it from any address, so the + * socket will remain open, but can send and receive datagrams from + * any address. + * + * @throws IOException If disconnecting this channel fails, or if this + * channel is not a datagram channel. + */ + public void disconnect() throws IOException + { + if (kind != Kind.SOCK_DGRAM) + throw new IOException("can only disconnect datagram channels"); + disconnect(nfd.getNativeFD()); + } + + private static native void disconnect(int fd) throws IOException; + + public InetSocketAddress getLocalAddress() throws IOException + { + if (!nfd.isValid()) + return null; + ByteBuffer name = ByteBuffer.allocateDirect(18); + int namelen = getsockname(nfd.getNativeFD(), name); + if (namelen == 0) // not bound + return null; // XXX return some wildcard? + if (namelen == 4) + { + byte[] addr = new byte[4]; + name.get(addr); + int port = name.getShort() & 0xFFFF; + return new InetSocketAddress(Inet4Address.getByAddress(addr), port); + } + if (namelen == 16) + { + byte[] addr = new byte[16]; + name.get(addr); + int port = name.getShort() & 0xFFFF; + return new InetSocketAddress(Inet6Address.getByAddress(addr), port); + } + throw new SocketException("invalid address length"); + } + + private static native int getsockname(int fd, ByteBuffer name) + throws IOException; + + /** + * Returns the socket address of the remote peer this channel is connected + * to, or null if this channel is not yet connected. + * + * @return The peer address. + * @throws IOException + */ + public InetSocketAddress getPeerAddress() throws IOException + { + if (!nfd.isValid()) + return null; + ByteBuffer name = ByteBuffer.allocateDirect(18); + int namelen = getpeername (nfd.getNativeFD(), name); + if (namelen == 0) // not connected yet + return null; + if (namelen == 4) // IPv4 + { + byte[] addr = new byte[4]; + name.get(addr); + int port = name.getShort() & 0xFFFF; + return new InetSocketAddress(Inet4Address.getByAddress(addr), port); + } + else if (namelen == 16) // IPv6 + { + byte[] addr = new byte[16]; + name.get(addr); + int port = name.getShort() & 0xFFFF; + return new InetSocketAddress(Inet6Address.getByAddress(addr), port); + } + throw new SocketException("invalid address length"); + } + + /* + * The format here is the peer address, followed by the port number. + * The returned value is the length of the peer address; thus, there + * will be LEN + 2 valid bytes put into NAME. + */ + private static native int getpeername(int fd, ByteBuffer name) + throws IOException; + + /** + * Accept an incoming connection, returning a new VMChannel, or null + * if the channel is nonblocking and no connection is pending. + * + * @return The accepted connection, or null. + * @throws IOException If an IO error occurs. + */ + public VMChannel accept() throws IOException + { + int new_fd = accept(nfd.getNativeFD()); + if (new_fd == -1) // non-blocking accept had no pending connection + return null; + return new VMChannel(new_fd); + } + + private static native int accept(int native_fd) throws IOException; + + // File-specific methods. + + /** + * Open a file at PATH, initializing the native state to operate on + * that open file. + * + * @param path The absolute file path. + * @throws IOException If the file cannot be opened, or if this + * channel was previously initialized. + */ + public void openFile(String path, int mode) throws IOException + { + if (nfd.isValid() || nfd.isClosed()) + throw new IOException("can't reinitialize this channel"); + int fd = open(path, mode); + nfd.setNativeFD(fd); + kind = Kind.FILE; + } + + private static native int open(String path, int mode) throws IOException; + + public long position() throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + return position(nfd.getNativeFD()); + } + + private static native long position(int fd) throws IOException; + + public void seek(long pos) throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + seek(nfd.getNativeFD(), pos); + } + + private static native void seek(int fd, long pos) throws IOException; + + public void truncate(long length) throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + truncate(nfd.getNativeFD(), length); + } + + private static native void truncate(int fd, long len) throws IOException; + + public boolean lock(long pos, long len, boolean shared, boolean wait) + throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + return lock(nfd.getNativeFD(), pos, len, shared, wait); + } + + private static native boolean lock(int fd, long pos, long len, + boolean shared, boolean wait) + throws IOException; + + public void unlock(long pos, long len) throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + unlock(nfd.getNativeFD(), pos, len); + } + + private static native void unlock(int fd, long pos, long len) throws IOException; + + public long size() throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + return size(nfd.getNativeFD()); + } + + private static native long size(int fd) throws IOException; + + public MappedByteBuffer map(char mode, long position, int size) + throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + return map(nfd.getNativeFD(), mode, position, size); + } + + private static native MappedByteBuffer map(int fd, char mode, + long position, int size) + throws IOException; + + public boolean flush(boolean metadata) throws IOException + { + if (kind != Kind.FILE) + throw new IOException("not a file"); + return flush(nfd.getNativeFD(), metadata); + } + + private static native boolean flush(int fd, boolean metadata) throws IOException; + + // Close. + + /** + * Close this socket. The socket is also automatically closed when this + * object is finalized. + * + * @throws IOException If closing the socket fails, or if this object has + * no open socket. + */ + public void close() throws IOException + { + nfd.close(); + } + + static native void close(int native_fd) throws IOException; + + /** + *

      Provides a simple mean for the JNI code to find out whether the + * current thread was interrupted by a call to Thread.interrupt().

      + * + * @return + */ + static boolean isThreadInterrupted() + { + return Thread.currentThread().isInterrupted(); + } + + // Inner classes. + + /** + * A wrapper for a native file descriptor integer. This tracks the state + * of an open file descriptor, and ensures that + * + * This class need not be fully supported by virtual machines; if a + * virtual machine does not use integer file descriptors, or does and + * wishes to hide that, then the methods of this class may be stubbed out. + * + * System-specific classes that depend on access to native file descriptor + * integers SHOULD declare this fact. + */ + public final class State + { + private int native_fd; + private boolean valid; + private boolean closed; + + State() + { + native_fd = -1; + valid = false; + closed = false; + } + + public boolean isValid() + { + return valid; + } + + public boolean isClosed() + { + return closed; + } + + public int getNativeFD() throws IOException + { + if (!valid) + throw new IOException("invalid file descriptor"); + return native_fd; + } + + void setNativeFD(final int native_fd) throws IOException + { + if (valid) + throw new IOException("file descriptor already initialized"); + this.native_fd = native_fd; + valid = true; + } + + public void close() throws IOException + { + if (!valid) + throw new IOException("invalid file descriptor"); + try + { + VMChannel.close(native_fd); + } + finally + { + valid = false; + closed = true; + } + } + + public String toString() + { + if (closed) + return "<>"; + if (!valid) + return "<>"; + return String.valueOf(native_fd); + } + + protected void finalize() throws Throwable + { + try + { + if (valid) + close(); + } + finally + { + super.finalize(); + } + } + } + + /** + * An enumeration of possible kinds of channel. + */ + static class Kind // XXX enum + { + /** A streaming (TCP) socket. */ + static final Kind SOCK_STREAM = new Kind(); + + /** A datagram (UDP) socket. */ + static final Kind SOCK_DGRAM = new Kind(); + + /** A file. */ + static final Kind FILE = new Kind(); + + /** Something else; not a socket or file. */ + static final Kind OTHER = new Kind(); + + private Kind() { } + } } diff --git a/libjava/classpath/vm/reference/gnu/java/nio/VMPipe.java b/libjava/classpath/vm/reference/gnu/java/nio/VMPipe.java index 11dd2aa7b4b..e5257c1cf96 100644 --- a/libjava/classpath/vm/reference/gnu/java/nio/VMPipe.java +++ b/libjava/classpath/vm/reference/gnu/java/nio/VMPipe.java @@ -38,7 +38,6 @@ exception statement from your version. */ package gnu.java.nio; import java.io.IOException; -import java.nio.channels.spi.SelectorProvider; import gnu.classpath.Configuration; /** @@ -58,7 +57,24 @@ final class VMPipe System.loadLibrary ("javanio"); } } - - static native void init(PipeImpl self, SelectorProvider provider) - throws IOException; + + /** + * Create a pipe, consisting of a readable VMChannel and a writable + * VMChannel. The readable channel is returned is the first element + * of the array, and the writable in the second. + * + * @return A pair of VMChannels; the first readable, the second + * writable. + * @throws IOException If the pipe cannot be created. + */ + static VMChannel[] pipe() throws IOException + { + VMChannel[] pipe = new VMChannel[2]; + int[] fds = pipe0(); + pipe[0] = new VMChannel(fds[0]); + pipe[1] = new VMChannel(fds[1]); + return pipe; + } + + private static native int[] pipe0() throws IOException; } diff --git a/libjava/classpath/vm/reference/java/io/VMFile.java b/libjava/classpath/vm/reference/java/io/VMFile.java index 2f48aad71f8..13d256d424a 100644 --- a/libjava/classpath/vm/reference/java/io/VMFile.java +++ b/libjava/classpath/vm/reference/java/io/VMFile.java @@ -38,6 +38,9 @@ exception statement from your version. */ package java.io; +import java.net.MalformedURLException; +import java.net.URL; + import gnu.classpath.Configuration; import gnu.java.io.PlatformHelper; @@ -209,6 +212,108 @@ final class VMFile } /** + * Returns the path as an absolute path name. The value returned is the + * current directory plus the separatory string plus the path of the file. + * The current directory is determined from the user.dir system + * property. + * + * @param path the path to convert to absolute path + * + * @return the absolute path that corresponds to path + */ + static String getAbsolutePath(String path) + { + if (File.separatorChar == '\\' + && path.length() > 0 && path.charAt (0) == '\\') + { + // On Windows, even if the path starts with a '\\' it is not + // really absolute until we prefix the drive specifier from + // the current working directory to it. + return System.getProperty ("user.dir").substring (0, 2) + path; + } + else if (File.separatorChar == '\\' + && path.length() > 1 && path.charAt (1) == ':' + && ((path.charAt (0) >= 'a' && path.charAt (0) <= 'z') + || (path.charAt (0) >= 'A' && path.charAt (0) <= 'Z'))) + { + // On Windows, a process has a current working directory for + // each drive and a path like "G:foo\bar" would mean the + // absolute path "G:\wombat\foo\bar" if "\wombat" is the + // working directory on the G drive. + String drvDir = null; + try + { + drvDir = new File (path.substring (0, 2)).getCanonicalPath(); + } + catch (IOException e) + { + drvDir = path.substring (0, 2) + "\\"; + } + + // Note: this would return "C:\\." for the path "C:.", if "\" + // is the working folder on the C drive, but this is + // consistent with what Sun's JRE 1.4.1.01 actually returns! + if (path.length() > 2) + return drvDir + '\\' + path.substring (2, path.length()); + else + return drvDir; + } + else if (path.equals("")) + return System.getProperty ("user.dir"); + else + return System.getProperty ("user.dir") + File.separatorChar + path; + } + + /** + * This method returns true if the path represents an absolute file + * path and false if it does not. The definition of an absolute path varies + * by system. As an example, on GNU systems, a path is absolute if it starts + * with a "/". + * + * @param path the path to check + * + * @return true if path represents an absolute file name, + * false otherwise. + */ + static boolean isAbsolute(String path) + { + if (File.separatorChar == '\\') + return path.startsWith(File.separator + File.separator) + || (path.length() > 2 + && ((path.charAt(0) >= 'a' && path.charAt(0) <= 'z') + || (path.charAt(0) >= 'A' && path.charAt(0) <= 'Z')) + && path.charAt(1) == ':' + && path.charAt(2) == '\\'); + else + return path.startsWith(File.separator); + } + + /** + * Returns a URL with the file: + * protocol that represents this file. The exact form of this URL is + * system dependent. + * + * @param file the file to convert to URL + * + * @return a URL for this object. + * + * @throws MalformedURLException if the URL cannot be created + * successfully. + */ + static URL toURL(File file) + throws MalformedURLException + { + // On Win32, Sun's JDK returns URLs of the form "file:/c:/foo/bar.txt", + // while on UNIX, it returns URLs of the form "file:/foo/bar.txt". + if (File.separatorChar == '\\') + return new URL ("file:/" + file.getAbsolutePath().replace ('\\', '/') + + (file.isDirectory() ? "/" : "")); + else + return new URL ("file:" + file.getAbsolutePath() + + (file.isDirectory() ? "/" : "")); + } + + /** * This method returns a canonical representation of the pathname of * this file. The actual form of the canonical representation is * system-dependent. On the GNU system, conversion to canonical diff --git a/libjava/classpath/vm/reference/java/io/VMObjectInputStream.java b/libjava/classpath/vm/reference/java/io/VMObjectInputStream.java index 5fb56fcd4c9..be0f8eb5235 100644 --- a/libjava/classpath/vm/reference/java/io/VMObjectInputStream.java +++ b/libjava/classpath/vm/reference/java/io/VMObjectInputStream.java @@ -40,10 +40,7 @@ exception statement from your version. */ package java.io; import gnu.classpath.Configuration; -import gnu.classpath.VMStackWalker; import java.lang.reflect.Constructor; -import java.security.AccessController; -import java.security.PrivilegedAction; final class VMObjectInputStream { @@ -55,42 +52,6 @@ final class VMObjectInputStream } } - /** - * PrivilegedAction needed for Class.getClassLoader() - */ - private static PrivilegedAction loaderAction = new PrivilegedAction() - { - /** - * Returns the first user defined class loader on the call stack, or the - * context class loader of the current thread, when no non-null class loader - * was found. - */ - public Object run() - { - Class[] ctx = VMStackWalker.getClassContext(); - - for (int i = 0; i < ctx.length; i++) - { - ClassLoader cl = ctx[i].getClassLoader(); - if (cl != null) - return cl; - } - return Thread.currentThread().getContextClassLoader(); - } - }; - - /** - * Returns the first user defined class loader on the call stack, or the - * context class loader of the current thread, when no non-null class loader - * was found. - * - * @return the class loader - */ - static ClassLoader currentClassLoader() - { - return (ClassLoader) AccessController.doPrivileged(loaderAction); - } - /** * Allocates a new Object of type clazz but without running the * default constructor on it. It then calls the given constructor on diff --git a/libjava/classpath/vm/reference/java/lang/VMClassLoader.java b/libjava/classpath/vm/reference/java/lang/VMClassLoader.java index 897df5186b3..e56152d0126 100644 --- a/libjava/classpath/vm/reference/java/lang/VMClassLoader.java +++ b/libjava/classpath/vm/reference/java/lang/VMClassLoader.java @@ -415,8 +415,9 @@ final class VMClassLoader { byte[] modifiedData = new byte[len]; System.arraycopy(data, offset, modifiedData, 0, len); + String jvmName = name.replace('.', '/'); modifiedData = - ((InstrumentationImpl)instrumenter).callTransformers(loader, name, + ((InstrumentationImpl)instrumenter).callTransformers(loader, jvmName, null, pd, modifiedData); return defineClass(loader, name, modifiedData, 0, modifiedData.length, diff --git a/libjava/classpath/vm/reference/java/lang/reflect/Constructor.java b/libjava/classpath/vm/reference/java/lang/reflect/Constructor.java index 521190b6656..eebee5f5d2a 100644 --- a/libjava/classpath/vm/reference/java/lang/reflect/Constructor.java +++ b/libjava/classpath/vm/reference/java/lang/reflect/Constructor.java @@ -77,11 +77,11 @@ import java.util.Arrays; * @since 1.1 * @status updated to 1.4 */ -public final class Constructor +public final class Constructor extends AccessibleObject implements GenericDeclaration, Member { - private Class clazz; + private Class clazz; private int slot; private static final int CONSTRUCTOR_MODIFIERS @@ -104,7 +104,7 @@ public final class Constructor * Gets the class that declared this constructor. * @return the class that declared this member */ - public Class getDeclaringClass() + public Class getDeclaringClass() { return clazz; } @@ -166,7 +166,7 @@ public final class Constructor * * @return a list of the types of the constructor's parameters */ - public native Class[] getParameterTypes(); + public native Class[] getParameterTypes(); /** * Get the exception types this constructor says it throws, in no particular @@ -175,7 +175,7 @@ public final class Constructor * * @return a list of the types in the constructor's throws clause */ - public native Class[] getExceptionTypes(); + public native Class[] getExceptionTypes(); /** * Compare two objects to see if they are semantically equivalent. @@ -244,8 +244,8 @@ public final class Constructor return sb.toString(); } - /* FIXME[GENERICS]: Add X extends GenericDeclaration and TypeVariable */ - static void addTypeParameters(StringBuilder sb, TypeVariable[] typeArgs) + static + void addTypeParameters(StringBuilder sb, TypeVariable[] typeArgs) { if (typeArgs.length == 0) return; @@ -313,15 +313,15 @@ public final class Constructor * @throws ExceptionInInitializerError if construction triggered class * initialization, which then failed */ - public Object newInstance(Object args[]) + public T newInstance(Object... args) throws InstantiationException, IllegalAccessException, InvocationTargetException { return constructNative(args, clazz, slot); } - private native Object constructNative(Object[] args, Class declaringClass, - int slot) + private native T constructNative(Object[] args, Class declaringClass, + int slot) throws InstantiationException, IllegalAccessException, InvocationTargetException; @@ -337,8 +337,7 @@ public final class Constructor * specification, version 3. * @since 1.5 */ - /* FIXME[GENERICS]: Add > */ - public TypeVariable[] getTypeParameters() + public TypeVariable>[] getTypeParameters() { String sig = getSignature(); if (sig == null) @@ -395,4 +394,3 @@ public final class Constructor return p.getGenericParameterTypes(); } } - diff --git a/libjava/classpath/vm/reference/java/lang/reflect/Field.java b/libjava/classpath/vm/reference/java/lang/reflect/Field.java index 5121700fede..5db1fa3ecc1 100644 --- a/libjava/classpath/vm/reference/java/lang/reflect/Field.java +++ b/libjava/classpath/vm/reference/java/lang/reflect/Field.java @@ -102,7 +102,7 @@ extends AccessibleObject implements Member * is a non-inherited member. * @return the class that declared this member */ - public Class getDeclaringClass() + public Class getDeclaringClass() { return declaringClass; } @@ -159,7 +159,7 @@ extends AccessibleObject implements Member * Gets the type of this field. * @return the type of this field */ - public native Class getType(); + public native Class getType(); /** * Compare two objects to see if they are semantically equivalent. @@ -213,7 +213,7 @@ extends AccessibleObject implements Member sb.append(getName()); return sb.toString(); } - + public String toGenericString() { StringBuilder sb = new StringBuilder(64); @@ -658,5 +658,4 @@ extends AccessibleObject implements Member * is no Signature attribute, return null. */ private native String getSignature(); - } diff --git a/libjava/classpath/vm/reference/java/lang/reflect/Method.java b/libjava/classpath/vm/reference/java/lang/reflect/Method.java index a9920241b17..c520f057024 100644 --- a/libjava/classpath/vm/reference/java/lang/reflect/Method.java +++ b/libjava/classpath/vm/reference/java/lang/reflect/Method.java @@ -104,7 +104,7 @@ extends AccessibleObject implements Member, GenericDeclaration * is a non-inherited member. * @return the class that declared this member */ - public Class getDeclaringClass() + public Class getDeclaringClass() { return declaringClass; } @@ -172,7 +172,7 @@ extends AccessibleObject implements Member, GenericDeclaration * Gets the return type of this method. * @return the type of this method */ - public native Class getReturnType(); + public native Class getReturnType(); /** * Get the parameter list for this method, in declaration order. If the @@ -180,7 +180,7 @@ extends AccessibleObject implements Member, GenericDeclaration * * @return a list of the types of the method's parameters */ - public native Class[] getParameterTypes(); + public native Class[] getParameterTypes(); /** * Get the exception types this method says it throws, in no particular @@ -189,7 +189,7 @@ extends AccessibleObject implements Member, GenericDeclaration * * @return a list of the types in the method's throws clause */ - public native Class[] getExceptionTypes(); + public native Class[] getExceptionTypes(); /** * Compare two objects to see if they are semantically equivalent. @@ -349,7 +349,7 @@ extends AccessibleObject implements Member, GenericDeclaration * @throws ExceptionInInitializerError if accessing a static method triggered * class initialization, which then failed */ - public Object invoke(Object o, Object[] args) + public Object invoke(Object o, Object... args) throws IllegalAccessException, InvocationTargetException { return invokeNative(o, args, declaringClass, slot); @@ -375,8 +375,7 @@ extends AccessibleObject implements Member, GenericDeclaration * specification, version 3. * @since 1.5 */ - /* FIXME[GENERICS]: Should be TypeVariable[] */ - public TypeVariable[] getTypeParameters() + public TypeVariable[] getTypeParameters() { String sig = getSignature(); if (sig == null) @@ -451,4 +450,3 @@ extends AccessibleObject implements Member, GenericDeclaration return p.getGenericReturnType(); } } - diff --git a/libjava/classpath/vm/reference/java/net/VMInetAddress.java b/libjava/classpath/vm/reference/java/net/VMInetAddress.java index 19f5d7d341c..a99c216b96c 100644 --- a/libjava/classpath/vm/reference/java/net/VMInetAddress.java +++ b/libjava/classpath/vm/reference/java/net/VMInetAddress.java @@ -84,4 +84,14 @@ class VMInetAddress implements Serializable */ public static native byte[][] getHostByName(String hostname) throws UnknownHostException; + + /** + * Return the IP address represented by a literal address. + * Will return null if the literal address is not valid. + * + * @param address the name of the host + * + * @return The IP address as a byte array + */ + public static native byte[] aton(String address); } diff --git a/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java b/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java index 47f803246d5..7f1e3ad9890 100644 --- a/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java +++ b/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java @@ -40,6 +40,9 @@ package java.net; import gnu.classpath.Configuration; +import java.nio.ByteBuffer; +import java.util.HashSet; +import java.util.Set; import java.util.Vector; /** @@ -54,22 +57,67 @@ import java.util.Vector; */ final class VMNetworkInterface { + String name; + Set addresses; + + VMNetworkInterface(String name) + { + this.name = name; + addresses = new HashSet(); + } + + /** + * Creates a dummy instance which represents any network + * interface. + */ + public VMNetworkInterface() + { + addresses = new HashSet(); + try + { + addresses.add(InetAddress.getByName("0.0.0.0")); + } + catch (UnknownHostException _) + { + // Cannot happen. + } + } + static - { - if (Configuration.INIT_LOAD_LIBRARY) - System.loadLibrary("javanet"); - } + { + if (Configuration.INIT_LOAD_LIBRARY) + System.loadLibrary("javanet"); + + initIds(); + } + + private static native void initIds(); /** - * Returns a Vector of InetAddresses. The returned value will be - * 'condensed', meaning that all elements with the same interface - * name will be collapesed into one InetAddress for that name - * containing all addresses before the returning the result to the - * user. This means the native method can be implemented in a naive - * way mapping each address/interface to a name even if that means - * that the Vector contains multiple InetAddresses with the same - * interface name. + * Return a list of VM network interface objects. + * + * @return The list of network interfaces. + * @throws SocketException */ - public static native Vector getInterfaces() + public static native VMNetworkInterface[] getVMInterfaces() throws SocketException; + + private void addAddress(ByteBuffer addr) + throws SocketException, UnknownHostException + { + if (addr.remaining() == 4) + { + byte[] ipv4 = new byte[4]; + addr.get(ipv4); + addresses.add(Inet4Address.getByAddress(ipv4)); + } + else if (addr.remaining() == 16) + { + byte[] ipv6 = new byte[16]; + addr.get(ipv6); + addresses.add(Inet6Address.getByAddress(ipv6)); + } + else + throw new SocketException("invalid interface address"); + } } diff --git a/libjava/classpath/vm/reference/java/nio/channels/VMChannels.java b/libjava/classpath/vm/reference/java/nio/channels/VMChannels.java index e58d7fbf92c..c833b6eecfd 100644 --- a/libjava/classpath/vm/reference/java/nio/channels/VMChannels.java +++ b/libjava/classpath/vm/reference/java/nio/channels/VMChannels.java @@ -40,7 +40,7 @@ package java.nio.channels; import gnu.java.nio.ChannelInputStream; import gnu.java.nio.ChannelOutputStream; -import gnu.java.nio.channels.FileChannelImpl; +import gnu.java.nio.FileChannelImpl; import java.io.FileInputStream; import java.io.FileOutputStream; diff --git a/libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java b/libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java index aa89c50ac9b..88a6f2515bf 100644 --- a/libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java +++ b/libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java @@ -51,9 +51,29 @@ public class ReflectUtil { } + /** + * Check if the current thread is allowed to access the package of + * the declaringClass. + * + * @param declaringClass class name to check access to + * @throws SecurityException if permission is denied + * @throws NullPointerException if declaringClass is null + */ public static void checkPackageAccess(Class declaringClass) { - // FIXME: not sure what to check here. + SecurityManager sm; + if ((sm = System.getSecurityManager()) != null) + { + while (declaringClass.isArray()) + declaringClass = declaringClass.getComponentType(); + String name = declaringClass.getName(); + int i = name.lastIndexOf('.'); + if (i != -1) // if declaringClass is a member of a package + { + name = name.substring(0, i); + sm.checkPackageAccess(name); + } + } } /** @@ -64,6 +84,7 @@ public class ReflectUtil * @param declarer the declaring class of the member * @param ignored unknown parameter; always null * @param modifiers the modifiers on the member + * @return true if access is granted, false otherwise */ public static void ensureMemberAccess(Class caller, Class declarer, diff --git a/libjava/configure b/libjava/configure index fec6c34b9a3..f104802a83c 100755 --- a/libjava/configure +++ b/libjava/configure @@ -310,7 +310,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_libsubdir build_subdir host_subdir target_subdir libgcj_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB JAR ZIP UNZIP BASH_JAR_TRUE BASH_JAR_FALSE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE GCJH INCLTDL LIBLTDL DIRLTDL LIBTOOL CXXCPP CPPFLAGS GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME INTERPRETER LIBFFI LIBFFIINCS PLATFORM_INNER_NAT_HDRS CPP EGREP USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC LIBGCJTESTSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS extra_ldflags_libjava GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADSTARTFILESPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE USE_LIBGCJ_BC_TRUE USE_LIBGCJ_BC_FALSE LIBGCJ_SPEC HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV PKG_CONFIG GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS CLASSPATH_SEPARATOR ac_ct_GCJ ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir dbexecdir GCJVERSION gxx_include_dir libstdcxx_incdir ALLOCA PERL SYSDEP_SOURCES LD_START_STATIC_SPEC LD_FINISH_STATIC_SPEC here LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_libsubdir build_subdir host_subdir target_subdir libgcj_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB JAR ZIP UNZIP BASH_JAR_TRUE BASH_JAR_FALSE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE X_AWT_TRUE X_AWT_FALSE GCJ_FOR_ECJX GCJH host_exeext INCLTDL LIBLTDL DIRLTDL LIBTOOL CXXCPP CPPFLAGS GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE ECJ_BUILD_JAR ECJ_JAR BUILD_ECJ1_TRUE BUILD_ECJ1_FALSE INSTALL_ECJ_JAR_TRUE INSTALL_ECJ_JAR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME INTERPRETER LIBFFI LIBFFIINCS PLATFORM CPP EGREP USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC LIBGCJTESTSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS extra_ldflags_libjava GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADSTARTFILESPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE USE_LIBGCJ_BC_TRUE USE_LIBGCJ_BC_FALSE LIBGCJ_SPEC HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV LIBMAGIC PKG_CONFIG GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS CLASSPATH_SEPARATOR ac_ct_GCJ ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE ENABLE_SHARED_TRUE ENABLE_SHARED_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir dbexecdir GCJVERSION gxx_include_dir libstdcxx_incdir ALLOCA PERL SYSDEP_SOURCES LD_START_STATIC_SPEC LD_FINISH_STATIC_SPEC here LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -855,6 +855,8 @@ Optional Features: --enable-multilib build many library versions (default) --enable-plugin build gcjwebplugin web browser plugin --enable-gconf-peer compile GConf native peers for util.preferences + --enable-java-maintainer-mode + allow rebuilding of .class and .h files --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-maintainer-mode enable make rules and dependencies not useful @@ -887,8 +889,10 @@ Optional Packages: configure in a subdirectory --with-cross-host=HOST configure with a cross compiler from HOST --with-newlib configure with newlib + --with-escher=ABS.PATH specify path to escher dir or JAR for X peers --with-gnu-ld assume the C compiler uses GNU ld default=no --with-pic try to use only PIC/non-PIC objects default=use both + --with-ecj-jar=FILE use preinstalled ecj jar --with-java-home=DIRECTORY value of java.home system property --with-win32-nlsapi=ansi or unicows or unicode @@ -1657,6 +1661,22 @@ else fi; +# Check whether --enable-java-maintainer-mode or --disable-java-maintainer-mode was given. +if test "${enable_java_maintainer_mode+set}" = set; then + enableval="$enable_java_maintainer_mode" + +fi; + + +if test "$enable_java_maintainer_mode" = yes; then + JAVA_MAINTAINER_MODE_TRUE= + JAVA_MAINTAINER_MODE_FALSE='#' +else + JAVA_MAINTAINER_MODE_TRUE='#' + JAVA_MAINTAINER_MODE_FALSE= +fi + + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. @@ -1672,7 +1692,6 @@ fi; # used in later tests. This may not be necessary in libjava; I don't know. - save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -fno-builtin" ac_ext=c @@ -2651,11 +2670,11 @@ if test -n "$ac_tool_prefix"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${glibcxx_cv_prog_CXX+set}" = set; then +if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then - glibcxx_cv_prog_CXX="$CXX" # Let the user override the test. + ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -2664,7 +2683,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - glibcxx_cv_prog_CXX="$ac_tool_prefix$ac_prog" + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -2673,7 +2692,7 @@ done fi fi -CXX=$glibcxx_cv_prog_CXX +CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 @@ -4053,7 +4072,7 @@ fi test -n "$AWK" && break done -for ac_prog in jar fastjar +for ac_prog in jar fastjar gjar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -4878,6 +4897,29 @@ _ACEOF fi fi; + +# Check whether --with-escher or --without-escher was given. +if test "${with_escher+set}" = set; then + withval="$with_escher" + +fi; +case "$with_escher" in +"") + use_escher=false + ;; +"no") + use_escher=false + ;; +"yes") + { { echo "$as_me:$LINENO: error: Please supply an absolute path to Escher library" >&5 +echo "$as_me: error: Please supply an absolute path to Escher library" >&2;} + { (exit 1); exit 1; }; } + ;; +*) + use_escher=true + ;; +esac + # Determine which AWT peer libraries to build # Check whether --enable-java-awt or --disable-java-awt was given. if test "${enable_java_awt+set}" = set; then @@ -4889,6 +4931,7 @@ peerlibs="`echo ${enable_java_awt} | tr ',' ' '`" use_xlib_awt="" use_gtk_awt="" use_qt_awt="" +use_x_awt="" # The default toolkit to use is the first one specified. TOOLKIT= @@ -4929,10 +4972,17 @@ for peer in $peerlibs ; do fi fi ;; + x) + use_x_awt=yes + if test -z "$TOOLKIT"; then + TOOLKIT=gnu.java.awt.peer.x.XToolkit + fi + ;; no) use_xlib_awt= use_gtk_awt= use_qt_awt= + use_x_awt= break ;; *) @@ -4952,12 +5002,37 @@ else fi + +if test "$use_x_awt" = yes; then + X_AWT_TRUE= + X_AWT_FALSE='#' +else + X_AWT_TRUE='#' + X_AWT_FALSE= +fi + + + +cat >>confdefs.h <<_ACEOF +#define AWT_TOOLKIT "$TOOLKIT" +_ACEOF + + + +cat >>confdefs.h <<_ACEOF +#define LIBGCJ_PREFIX "$prefix" +_ACEOF + + # Create standard.omit based on decisions we just made. cp $srcdir/standard.omit.in standard.omit if test "$use_xlib_awt" != yes; then echo gnu/awt/xlib >> standard.omit echo gnu/gcj/xlib >> standard.omit fi +if test "$use_x_awt" != yes; then + echo gnu/java/awt/peer/x >> standard.omit +fi if test -z "${with_multisubdir}"; then builddotdot=. @@ -4967,19 +5042,23 @@ fi NATIVE=yes -# Which gcj do we use? +# Which gcj and host gcj (for ecjx) do we use? which_gcj=default +host_exeext=${ac_exeext} +GCJ_FOR_ECJX= built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`" if test -n "${with_cross_host}"; then # We are being configured with a cross compiler. We can't # use ac_exeext, because that is for the target platform. NATIVE=no cross_host_exeext= + GCJ_FOR_ECJX="${with_cross_host}-gcj" case "${with_cross_host}" in *mingw* | *cygwin*) cross_host_exeext=.exe ;; esac + host_exeext=${cross_host_exeext} if test -x "${built_gcc_dir}/gcj${cross_host_exeext}"; then if test x"$build_noncanonical" = x"$with_cross_host"; then # Ordinary cross (host!=target and host=build) @@ -5028,6 +5107,8 @@ esac + + # Create it, so that compile/link tests don't fail test -f libgcj.spec || touch libgcj.spec @@ -5036,7 +5117,8 @@ test -f libgcj.spec || touch libgcj.spec # Set up to configure Classpath. # FIXME: no supported way to pass args in autoconf. ac_configure_args="$ac_configure_args --with-fastjar=$JAR" -ac_configure_args="$ac_configure_args --enable-tool-wrappers" +# Disable tool wrappers to avoid ltdl.h configure check. +ac_configure_args="$ac_configure_args --disable-tool-wrappers" ac_configure_args="$ac_configure_args --disable-load-library" ac_configure_args="$ac_configure_args --${LIBGCJDEBUG}-debug" ac_configure_args="$ac_configure_args --enable-default-toolkit=$TOOLKIT" @@ -5054,7 +5136,7 @@ if test "$gconf_enabled" != yes; then ac_configure_args="$ac_configure_args --enable-default-preferences-peer=gnu.java.util.prefs.FileBasedFactory" fi if test "$use_gtk_awt" != yes; then - ac_configure_args="$ac_configure_args --disable-gtk-peer" + ac_configure_args="$ac_configure_args --disable-gtk-peer --disable-plugin" fi if test "$use_qt_awt" != yes; then ac_configure_args="$ac_configure_args --disable-qt-peer" @@ -5062,6 +5144,20 @@ else # We need this as qt is disabled by default in classpath. ac_configure_args="$ac_configure_args --enable-qt-peer" fi +if test "$use_x_awt" != yes; then + ac_configure_args="$ac_configure_args --without-escher" +else + # We need this as escher is disabled by default in classpath. + if test "$use_escher" != true; then + { { echo "$as_me:$LINENO: error: Please supply an absolute path to the Escher library" >&5 +echo "$as_me: error: Please supply an absolute path to the Escher library" >&2;} + { (exit 1); exit 1; }; } + else + ac_configure_args="$ac_configure_args --with-escher=$with_escher" + fi +fi +# -Werror causes unavoidable problems in code using alsa. +ac_configure_args="$ac_configure_args --disable-Werror" # Only use libltdl for non-newlib builds. if test "x${with_newlib}" = "x" || test "x${with_newlib}" = "xno"; then @@ -5875,7 +5971,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 5878 "configure"' > conftest.$ac_ext + echo '#line 5974 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6773,6 +6869,45 @@ if test -z "$enable_hash_synchronization"; then fi +install_ecj_jar=no +ECJ_BUILD_JAR= +ECJ_JAR= + +# Check whether --with-ecj-jar or --without-ecj-jar was given. +if test "${with_ecj_jar+set}" = set; then + withval="$with_ecj_jar" + ECJ_JAR=$withval +else + if test -f $libgcj_basedir/../ecj.jar; then + ECJ_BUILD_JAR=$libgcj_basedir/../ecj.jar + ECJ_JAR='$(jardir)/ecj.jar' + install_ecj_jar=yes + fi +fi; + + + + +if test "$ECJ_JAR" != ""; then + BUILD_ECJ1_TRUE= + BUILD_ECJ1_FALSE='#' +else + BUILD_ECJ1_TRUE='#' + BUILD_ECJ1_FALSE= +fi + + + +if test $install_ecj_jar = yes; then + INSTALL_ECJ_JAR_TRUE= + INSTALL_ECJ_JAR_FALSE='#' +else + INSTALL_ECJ_JAR_TRUE='#' + INSTALL_ECJ_JAR_FALSE= +fi + + + # Check whether --with-java-home or --without-java-home was given. if test "${with_java_home+set}" = set; then withval="$with_java_home" @@ -6878,7 +7013,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then : else cat > conftest.$ac_ext << EOF -#line 6881 "configure" +#line 7016 "configure" struct S { ~S(); }; void bar(); void foo() @@ -7008,7 +7143,6 @@ if test "${with_ecos+set}" = set; then fi; -PLATFORM_INNER_NAT_HDRS= case "$TARGET_ECOS" in no) case "$host" in *mingw*) @@ -7048,7 +7182,6 @@ fi PLATFORM=Posix PLATFORMNET=Posix PLATFORMH=posix.h - PLATFORM_INNER_NAT_HDRS='java/lang/ConcreteProcess$$ProcessManager.h' ;; esac ;; @@ -7479,10 +7612,8 @@ test -d gnu || mkdir gnu ac_config_links="$ac_config_links java/io/natFile.cc:java/io/natFile${FILE-${PLATFORM}}.cc" -# Likewise for ConcreteProcess.java and natConcreteProcess.cc. +# Likewise for natConcreteProcess.cc. test -d java/lang || mkdir java/lang - ac_config_links="$ac_config_links java/lang/ConcreteProcess.java:java/lang/${PLATFORM}Process.java" - ac_config_links="$ac_config_links java/lang/natConcreteProcess.cc:java/lang/nat${PLATFORM}Process.cc" @@ -7633,7 +7764,7 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Intrinsic.h. + # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -7641,7 +7772,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -7668,7 +7799,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Intrinsic.h"; then + if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi @@ -7694,11 +7825,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -XtMalloc (0) +XrmInitialize () ; return 0; } @@ -13736,6 +13867,88 @@ fi fi + LIBMAGIC= + echo "$as_me:$LINENO: checking for magic_open in -lmagic" >&5 +echo $ECHO_N "checking for magic_open in -lmagic... $ECHO_C" >&6 +if test "${ac_cv_lib_magic_magic_open+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmagic $LIBS" +if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 +echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } +fi +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char magic_open (); +int +main () +{ +magic_open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_magic_magic_open=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_magic_magic_open=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_magic_magic_open" >&5 +echo "${ECHO_T}$ac_cv_lib_magic_magic_open" >&6 +if test $ac_cv_lib_magic_magic_open = yes; then + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MAGIC_OPEN 1 +_ACEOF + + LIBMAGIC="-lmagic" +fi + + + # Test for Gtk stuff, if asked for. if test "$use_gtk_awt" = yes; then @@ -15001,6 +15214,16 @@ fi +if test "$enable_shared" = yes; then + ENABLE_SHARED_TRUE= + ENABLE_SHARED_FALSE='#' +else + ENABLE_SHARED_TRUE='#' + ENABLE_SHARED_FALSE= +fi + + + if test "$NEEDS_DATA_START" = yes && test "$NATIVE" = yes; then NEEDS_DATA_START_TRUE= NEEDS_DATA_START_FALSE='#' @@ -15069,12 +15292,12 @@ _ACEOF cat >>confdefs.h <<\_ACEOF -#define JV_VERSION "1.4.2" +#define JV_VERSION "1.5.0" _ACEOF cat >>confdefs.h <<\_ACEOF -#define JV_API_VERSION "1.4" +#define JV_API_VERSION "1.5" _ACEOF @@ -15128,6 +15351,7 @@ esac + @@ -15135,7 +15359,7 @@ for ac_header in unistd.h bstring.h sys/time.h sys/types.h fcntl.h \ sys/ioctl.h sys/filio.h sys/stat.h sys/select.h \ sys/socket.h netinet/in.h arpa/inet.h netdb.h net/if.h \ pwd.h sys/config.h stdint.h langinfo.h locale.h \ - dirent.h sys/rw_lock.h ifaddrs.h + dirent.h sys/rw_lock.h magic.h ifaddrs.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -16549,17 +16773,12 @@ if test "${have_tls+set}" = set; then else if test "$cross_compiling" = yes; then - if test x$gcc_no_link = xyes; then - { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 -echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} - { (exit 1); exit 1; }; } -fi -cat >conftest.$ac_ext <<_ACEOF -__thread int a; int b; int main() { return a = b; } + cat >conftest.$ac_ext <<_ACEOF +__thread int foo; _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -16573,7 +16792,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16586,8 +16805,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 have_tls=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF @@ -16906,6 +17124,13 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +if test -z "${JAVA_MAINTAINER_MODE_TRUE}" && test -z "${JAVA_MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"JAVA_MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"JAVA_MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -16948,6 +17173,13 @@ echo "$as_me: error: conditional \"XLIB_AWT\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${X_AWT_TRUE}" && test -z "${X_AWT_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"X_AWT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"X_AWT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${am__fastdepGCJ_TRUE}" && test -z "${am__fastdepGCJ_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepGCJ\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -16962,6 +17194,20 @@ echo "$as_me: error: conditional \"TESTSUBDIR\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${BUILD_ECJ1_TRUE}" && test -z "${BUILD_ECJ1_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECJ1\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"BUILD_ECJ1\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_ECJ_JAR_TRUE}" && test -z "${INSTALL_ECJ_JAR_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_ECJ_JAR\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_ECJ_JAR\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${JAVA_HOME_SET_TRUE}" && test -z "${JAVA_HOME_SET_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"JAVA_HOME_SET\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -17046,6 +17292,13 @@ echo "$as_me: error: conditional \"NATIVE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${ENABLE_SHARED_TRUE}" && test -z "${ENABLE_SHARED_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SHARED\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ENABLE_SHARED\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${NEEDS_DATA_START_TRUE}" && test -z "${NEEDS_DATA_START_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"NEEDS_DATA_START\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -17521,7 +17774,6 @@ do "scripts/jar" ) CONFIG_FILES="$CONFIG_FILES scripts/jar" ;; "include/platform.h" ) CONFIG_LINKS="$CONFIG_LINKS include/platform.h:include/$PLATFORMH" ;; "java/io/natFile.cc" ) CONFIG_LINKS="$CONFIG_LINKS java/io/natFile.cc:java/io/natFile${FILE-${PLATFORM}}.cc" ;; - "java/lang/ConcreteProcess.java" ) CONFIG_LINKS="$CONFIG_LINKS java/lang/ConcreteProcess.java:java/lang/${PLATFORM}Process.java" ;; "java/lang/natConcreteProcess.cc" ) CONFIG_LINKS="$CONFIG_LINKS java/lang/natConcreteProcess.cc:java/lang/nat${PLATFORM}Process.cc" ;; "java/net/natVMInetAddress.cc" ) CONFIG_LINKS="$CONFIG_LINKS java/net/natVMInetAddress.cc:java/net/natVMInetAddress${PLATFORMNET}.cc" ;; "java/net/natVMNetworkInterface.cc" ) CONFIG_LINKS="$CONFIG_LINKS java/net/natVMNetworkInterface.cc:java/net/natVMNetworkInterface${PLATFORMNET}.cc" ;; @@ -17647,6 +17899,8 @@ s,@target_os@,$target_os,;t t s,@target_noncanonical@,$target_noncanonical,;t t s,@LN_S@,$LN_S,;t t s,@mkinstalldirs@,$mkinstalldirs,;t t +s,@JAVA_MAINTAINER_MODE_TRUE@,$JAVA_MAINTAINER_MODE_TRUE,;t t +s,@JAVA_MAINTAINER_MODE_FALSE@,$JAVA_MAINTAINER_MODE_FALSE,;t t s,@CC@,$CC,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t @@ -17714,7 +17968,11 @@ s,@LIBGCJDEBUG@,$LIBGCJDEBUG,;t t s,@TOOLKIT@,$TOOLKIT,;t t s,@XLIB_AWT_TRUE@,$XLIB_AWT_TRUE,;t t s,@XLIB_AWT_FALSE@,$XLIB_AWT_FALSE,;t t +s,@X_AWT_TRUE@,$X_AWT_TRUE,;t t +s,@X_AWT_FALSE@,$X_AWT_FALSE,;t t +s,@GCJ_FOR_ECJX@,$GCJ_FOR_ECJX,;t t s,@GCJH@,$GCJH,;t t +s,@host_exeext@,$host_exeext,;t t s,@INCLTDL@,$INCLTDL,;t t s,@LIBLTDL@,$LIBLTDL,;t t s,@DIRLTDL@,$DIRLTDL,;t t @@ -17729,13 +17987,19 @@ s,@am__fastdepGCJ_FALSE@,$am__fastdepGCJ_FALSE,;t t s,@subdirs@,$subdirs,;t t s,@TESTSUBDIR_TRUE@,$TESTSUBDIR_TRUE,;t t s,@TESTSUBDIR_FALSE@,$TESTSUBDIR_FALSE,;t t +s,@ECJ_BUILD_JAR@,$ECJ_BUILD_JAR,;t t +s,@ECJ_JAR@,$ECJ_JAR,;t t +s,@BUILD_ECJ1_TRUE@,$BUILD_ECJ1_TRUE,;t t +s,@BUILD_ECJ1_FALSE@,$BUILD_ECJ1_FALSE,;t t +s,@INSTALL_ECJ_JAR_TRUE@,$INSTALL_ECJ_JAR_TRUE,;t t +s,@INSTALL_ECJ_JAR_FALSE@,$INSTALL_ECJ_JAR_FALSE,;t t s,@JAVA_HOME_SET_TRUE@,$JAVA_HOME_SET_TRUE,;t t s,@JAVA_HOME_SET_FALSE@,$JAVA_HOME_SET_FALSE,;t t s,@JAVA_HOME@,$JAVA_HOME,;t t s,@INTERPRETER@,$INTERPRETER,;t t s,@LIBFFI@,$LIBFFI,;t t s,@LIBFFIINCS@,$LIBFFIINCS,;t t -s,@PLATFORM_INNER_NAT_HDRS@,$PLATFORM_INNER_NAT_HDRS,;t t +s,@PLATFORM@,$PLATFORM,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t s,@USING_WIN32_PLATFORM_TRUE@,$USING_WIN32_PLATFORM_TRUE,;t t @@ -17784,6 +18048,7 @@ s,@USING_GCC_TRUE@,$USING_GCC_TRUE,;t t s,@USING_GCC_FALSE@,$USING_GCC_FALSE,;t t s,@LIBICONV@,$LIBICONV,;t t s,@LTLIBICONV@,$LTLIBICONV,;t t +s,@LIBMAGIC@,$LIBMAGIC,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t s,@GTK_LIBS@,$GTK_LIBS,;t t @@ -17803,6 +18068,8 @@ s,@BACKTRACESPEC@,$BACKTRACESPEC,;t t s,@IEEESPEC@,$IEEESPEC,;t t s,@NATIVE_TRUE@,$NATIVE_TRUE,;t t s,@NATIVE_FALSE@,$NATIVE_FALSE,;t t +s,@ENABLE_SHARED_TRUE@,$ENABLE_SHARED_TRUE,;t t +s,@ENABLE_SHARED_FALSE@,$ENABLE_SHARED_FALSE,;t t s,@NEEDS_DATA_START_TRUE@,$NEEDS_DATA_START_TRUE,;t t s,@NEEDS_DATA_START_FALSE@,$NEEDS_DATA_START_FALSE,;t t s,@GCC_UNWIND_INCLUDE@,$GCC_UNWIND_INCLUDE,;t t diff --git a/libjava/configure.ac b/libjava/configure.ac index 9e6b06635e8..2b035a44e19 100644 --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -106,6 +106,11 @@ AC_ARG_ENABLE(gconf-peer, [gconf_enabled=no] ) +AC_ARG_ENABLE(java-maintainer-mode, + AS_HELP_STRING([--enable-java-maintainer-mode], + [allow rebuilding of .class and .h files])) +AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes) + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. GCC_NO_EXECUTABLES @@ -119,7 +124,6 @@ GCC_NO_EXECUTABLES # (5) For libstdc++-v3, -fno-builtin must be present here so that a # non-conflicting form of std::exit can be guessed by AC_PROG_CXX, and # used in later tests. This may not be necessary in libjava; I don't know. -m4_define([ac_cv_prog_CXX],[glibcxx_cv_prog_CXX]) m4_rename([_AC_ARG_VAR_PRECIOUS],[glibcxx_PRECIOUS]) m4_define([_AC_ARG_VAR_PRECIOUS],[]) save_CXXFLAGS="$CXXFLAGS" @@ -139,7 +143,7 @@ AC_CHECK_TOOL(LD, ld) AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, :) AC_PROG_AWK -AC_CHECK_PROGS([JAR], [jar fastjar], no) +AC_CHECK_PROGS([JAR], [jar fastjar gjar], no) AC_PATH_PROG([ZIP], [zip], no) AC_PATH_PROG([UNZIP], [unzip], unzip) AM_CONDITIONAL(BASH_JAR, test "$JAR" = no) @@ -196,6 +200,24 @@ AC_ARG_ENABLE(libgcj-debug, LIBGCJDEBUG="enable" fi]) +AC_ARG_WITH([escher], + AS_HELP_STRING([--with-escher=ABS.PATH], + [specify path to escher dir or JAR for X peers])) +case "$with_escher" in +"") + use_escher=false + ;; +"no") + use_escher=false + ;; +"yes") + AC_MSG_ERROR([Please supply an absolute path to Escher library]) + ;; +*) + use_escher=true + ;; +esac + # Determine which AWT peer libraries to build AC_ARG_ENABLE(java-awt, AS_HELP_STRING([--enable-java-awt], @@ -205,6 +227,7 @@ peerlibs="`echo ${enable_java_awt} | tr ',' ' '`" use_xlib_awt="" use_gtk_awt="" use_qt_awt="" +use_x_awt="" # The default toolkit to use is the first one specified. TOOLKIT= AC_SUBST(TOOLKIT) @@ -245,10 +268,17 @@ for peer in $peerlibs ; do fi fi ;; + x) + use_x_awt=yes + if test -z "$TOOLKIT"; then + TOOLKIT=gnu.java.awt.peer.x.XToolkit + fi + ;; no) use_xlib_awt= use_gtk_awt= use_qt_awt= + use_x_awt= break ;; *) @@ -258,6 +288,11 @@ for peer in $peerlibs ; do done AM_CONDITIONAL(XLIB_AWT, test "$use_xlib_awt" = yes) +AM_CONDITIONAL(X_AWT, test "$use_x_awt" = yes) + +AC_DEFINE_UNQUOTED(AWT_TOOLKIT, "$TOOLKIT", [Name of default AWT toolkit]) + +AC_DEFINE_UNQUOTED(LIBGCJ_PREFIX, "$prefix", [Installation prefix]) # Create standard.omit based on decisions we just made. cp $srcdir/standard.omit.in standard.omit @@ -265,6 +300,9 @@ if test "$use_xlib_awt" != yes; then echo gnu/awt/xlib >> standard.omit echo gnu/gcj/xlib >> standard.omit fi +if test "$use_x_awt" != yes; then + echo gnu/java/awt/peer/x >> standard.omit +fi if test -z "${with_multisubdir}"; then builddotdot=. @@ -274,19 +312,23 @@ fi NATIVE=yes -# Which gcj do we use? +# Which gcj and host gcj (for ecjx) do we use? which_gcj=default +host_exeext=${ac_exeext} +GCJ_FOR_ECJX= built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`" if test -n "${with_cross_host}"; then # We are being configured with a cross compiler. We can't # use ac_exeext, because that is for the target platform. NATIVE=no cross_host_exeext= + GCJ_FOR_ECJX="${with_cross_host}-gcj" case "${with_cross_host}" in *mingw* | *cygwin*) cross_host_exeext=.exe ;; esac + host_exeext=${cross_host_exeext} if test -x "${built_gcc_dir}/gcj${cross_host_exeext}"; then if test x"$build_noncanonical" = x"$with_cross_host"; then # Ordinary cross (host!=target and host=build) @@ -333,7 +375,9 @@ case "${which_gcj}" in ;; esac +AC_SUBST(GCJ_FOR_ECJX) AC_SUBST(GCJH) +AC_SUBST(host_exeext) # Create it, so that compile/link tests don't fail test -f libgcj.spec || touch libgcj.spec @@ -343,7 +387,8 @@ test -f libgcj.spec || touch libgcj.spec # Set up to configure Classpath. # FIXME: no supported way to pass args in autoconf. ac_configure_args="$ac_configure_args --with-fastjar=$JAR" -ac_configure_args="$ac_configure_args --enable-tool-wrappers" +# Disable tool wrappers to avoid ltdl.h configure check. +ac_configure_args="$ac_configure_args --disable-tool-wrappers" ac_configure_args="$ac_configure_args --disable-load-library" ac_configure_args="$ac_configure_args --${LIBGCJDEBUG}-debug" ac_configure_args="$ac_configure_args --enable-default-toolkit=$TOOLKIT" @@ -362,7 +407,7 @@ if test "$gconf_enabled" != yes; then ac_configure_args="$ac_configure_args --enable-default-preferences-peer=gnu.java.util.prefs.FileBasedFactory" fi if test "$use_gtk_awt" != yes; then - ac_configure_args="$ac_configure_args --disable-gtk-peer" + ac_configure_args="$ac_configure_args --disable-gtk-peer --disable-plugin" fi if test "$use_qt_awt" != yes; then ac_configure_args="$ac_configure_args --disable-qt-peer" @@ -370,6 +415,18 @@ else # We need this as qt is disabled by default in classpath. ac_configure_args="$ac_configure_args --enable-qt-peer" fi +if test "$use_x_awt" != yes; then + ac_configure_args="$ac_configure_args --without-escher" +else + # We need this as escher is disabled by default in classpath. + if test "$use_escher" != true; then + AC_MSG_ERROR([Please supply an absolute path to the Escher library]) + else + ac_configure_args="$ac_configure_args --with-escher=$with_escher" + fi +fi +# -Werror causes unavoidable problems in code using alsa. +ac_configure_args="$ac_configure_args --disable-Werror" dnl --with-gcj=$GCJ dnl --with-javah=$GCJH dnl gjdoc? @@ -435,6 +492,23 @@ if test -z "$enable_hash_synchronization"; then enable_hash_synchronization=$enable_hash_synchronization_default fi + +install_ecj_jar=no +ECJ_BUILD_JAR= +ECJ_JAR= +AC_ARG_WITH(ecj-jar, + AS_HELP_STRING([--with-ecj-jar=FILE], [use preinstalled ecj jar]), + [ECJ_JAR=$withval], + [if test -f $libgcj_basedir/../ecj.jar; then + ECJ_BUILD_JAR=$libgcj_basedir/../ecj.jar + ECJ_JAR='$(jardir)/ecj.jar' + install_ecj_jar=yes + fi]) +AC_SUBST(ECJ_BUILD_JAR) +AC_SUBST(ECJ_JAR) +AM_CONDITIONAL(BUILD_ECJ1, test "$ECJ_JAR" != "") +AM_CONDITIONAL(INSTALL_ECJ_JAR, test $install_ecj_jar = yes) + AC_ARG_WITH(java-home, AS_HELP_STRING([--with-java-home=DIRECTORY], [value of java.home system property]), @@ -599,7 +673,6 @@ AC_ARG_WITH(ecos, TARGET_ECOS="$with_ecos" ) -PLATFORM_INNER_NAT_HDRS= case "$TARGET_ECOS" in no) case "$host" in *mingw*) @@ -612,7 +685,6 @@ case "$TARGET_ECOS" in PLATFORM=Posix PLATFORMNET=Posix PLATFORMH=posix.h - PLATFORM_INNER_NAT_HDRS='java/lang/ConcreteProcess$$ProcessManager.h' ;; esac ;; @@ -623,7 +695,7 @@ case "$TARGET_ECOS" in PLATFORMH=posix.h ;; esac -AC_SUBST(PLATFORM_INNER_NAT_HDRS) +AC_SUBST(PLATFORM) AC_CONFIG_LINKS(include/platform.h:include/$PLATFORMH) AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, @@ -658,9 +730,8 @@ test -d java/io || mkdir java/io test -d gnu || mkdir gnu AC_CONFIG_LINKS(java/io/natFile.cc:java/io/natFile${FILE-${PLATFORM}}.cc) -# Likewise for ConcreteProcess.java and natConcreteProcess.cc. +# Likewise for natConcreteProcess.cc. test -d java/lang || mkdir java/lang -AC_CONFIG_LINKS(java/lang/ConcreteProcess.java:java/lang/${PLATFORM}Process.java) AC_CONFIG_LINKS(java/lang/natConcreteProcess.cc:java/lang/nat${PLATFORM}Process.cc) # Likewise for natVMInetAddress.cc and natVMNetworkInterface.cc. @@ -1157,6 +1228,12 @@ else AC_CHECK_LIB(z, deflate, ZLIBSPEC=-lz, ZLIBSPEC=) fi + LIBMAGIC= + AC_CHECK_LIB(magic, magic_open, [ + AC_DEFINE([HAVE_MAGIC_OPEN], 1, [Define if you have magic_open().]) + LIBMAGIC="-lmagic"]) + AC_SUBST(LIBMAGIC) + # Test for Gtk stuff, if asked for. if test "$use_gtk_awt" = yes; then PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4) @@ -1253,6 +1330,7 @@ AC_SUBST(BACKTRACESPEC) AC_SUBST(IEEESPEC) AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes) +AM_CONDITIONAL(ENABLE_SHARED, test "$enable_shared" = yes) AM_CONDITIONAL(NEEDS_DATA_START, test "$NEEDS_DATA_START" = yes && test "$NATIVE" = yes) AC_SUBST(GCC_UNWIND_INCLUDE) @@ -1308,8 +1386,8 @@ GCJVERSION=$gcjversion AC_SUBST(GCJVERSION) AC_DEFINE_UNQUOTED(GCJVERSION, "$GCJVERSION", [Short GCJ version ID]) -AC_DEFINE(JV_VERSION, "1.4.2", [Compatibility version string]) -AC_DEFINE(JV_API_VERSION, "1.4", [API compatibility version string]) +AC_DEFINE(JV_VERSION, "1.5.0", [Compatibility version string]) +AC_DEFINE(JV_API_VERSION, "1.5", [API compatibility version string]) TL_AC_GXX_INCLUDE_DIR @@ -1322,7 +1400,7 @@ AC_CHECK_HEADERS([unistd.h bstring.h sys/time.h sys/types.h fcntl.h \ sys/ioctl.h sys/filio.h sys/stat.h sys/select.h \ sys/socket.h netinet/in.h arpa/inet.h netdb.h net/if.h \ pwd.h sys/config.h stdint.h langinfo.h locale.h \ - dirent.h sys/rw_lock.h ifaddrs.h]) + dirent.h sys/rw_lock.h magic.h ifaddrs.h]) AC_CHECK_HEADERS(inttypes.h, [ AC_DEFINE(HAVE_INTTYPES_H, 1, [Define if is available]) AC_DEFINE(JV_HAVE_INTTYPES_H, 1, [Define if is available]) diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc index 03d73a2c266..12c6032862d 100644 --- a/libjava/defineclass.cc +++ b/libjava/defineclass.cc @@ -39,7 +39,11 @@ details. */ #include #include #include +#include +#include #include +#include +#include using namespace gcj; @@ -87,6 +91,10 @@ struct _Jv_ClassReader bool verify; + // original input data. + jbyteArray input_data; + jint input_offset; + // input data. unsigned char *bytes; int len; @@ -111,6 +119,10 @@ struct _Jv_ClassReader // True if this is a 1.5 class file. bool is_15; + // Buffer holding extra reflection data. + ::java::io::ByteArrayOutputStream *reflection_data; + ::java::io::DataOutputStream *data_stream; + /* check that the given number of input bytes are available */ inline void check (int num) @@ -126,7 +138,7 @@ struct _Jv_ClassReader pos += num; } - /* read an unsignend 1-byte unit */ + /* read an unsigned 1-byte unit */ inline static jint get1u (unsigned char* bytes) { return bytes[0]; @@ -226,6 +238,16 @@ struct _Jv_ClassReader throw_class_format_error ("erroneous type descriptor"); } + ::java::io::DataOutputStream *get_reflection_stream () + { + if (reflection_data == NULL) + { + reflection_data = new ::java::io::ByteArrayOutputStream(); + data_stream = new ::java::io::DataOutputStream(reflection_data); + } + return data_stream; + } + _Jv_ClassReader (jclass klass, jbyteArray data, jint offset, jint length, java::security::ProtectionDomain *pd, _Jv_Utf8Const **name_result) @@ -234,6 +256,8 @@ struct _Jv_ClassReader throw_internal_error ("arguments to _Jv_DefineClass"); verify = true; + input_data = data; + input_offset = offset; bytes = (unsigned char*) (elements (data)+offset); len = length; pos = 0; @@ -241,6 +265,8 @@ struct _Jv_ClassReader def = klass; found_name = name_result; + reflection_data = NULL; + data_stream = NULL; def->size_in_bytes = -1; def->vtable_method_count = -1; @@ -251,15 +277,26 @@ struct _Jv_ClassReader /** and here goes the parser members defined out-of-line */ void parse (); void read_constpool (); - void prepare_pool_entry (int index, unsigned char tag); + void prepare_pool_entry (int index, unsigned char tag, + bool rewrite = true); void read_fields (); void read_methods (); void read_one_class_attribute (); void read_one_method_attribute (int method); void read_one_code_attribute (int method); - void read_one_field_attribute (int field); + void read_one_field_attribute (int field, bool *); void throw_class_format_error (const char *msg); + void handleEnclosingMethod(int); + void handleGenericSignature(jv_attr_type, unsigned short, int); + void handleAnnotationElement(); + void handleAnnotation(); + void handleAnnotations(); + void handleMemberAnnotations(jv_attr_type, int, int); + void handleAnnotationDefault(int, int); + void handleParameterAnnotations(int, int); + void finish_reflection_data (); + /** check an utf8 entry, without creating a Utf8Const object */ bool is_attribute_name (int index, const char *name); @@ -269,9 +306,8 @@ struct _Jv_ClassReader void handleInterfacesBegin (int); void handleInterface (int, int); void handleFieldsBegin (int); - void handleField (int, int, int, int); - void handleFieldsEnd (); - void handleConstantValueAttribute (int,int); + void handleField (int, int, int, int, int *); + void handleConstantValueAttribute (int, int, bool *); void handleMethodsBegin (int); void handleMethod (int, int, int, int); void handleMethodsEnd (); @@ -377,13 +413,242 @@ _Jv_ClassReader::parse () if (pos != len) throw_class_format_error ("unused data before end of file"); + finish_reflection_data (); + // Tell everyone we're done. def->state = JV_STATE_READ; if (gcj::verbose_class_flag) _Jv_Linker::print_class_loaded (def); + ++gcj::loadedClasses; def->notifyAll (); } +void +_Jv_ClassReader::finish_reflection_data () +{ + if (data_stream == NULL) + return; + data_stream->writeByte(JV_DONE_ATTR); + data_stream->flush(); + int nbytes = reflection_data->count; + unsigned char *new_bytes = (unsigned char *) _Jv_AllocBytes (nbytes); + memcpy (new_bytes, elements (reflection_data->buf), nbytes); + def->reflection_data = new_bytes; +} + +void +_Jv_ClassReader::handleEnclosingMethod (int len) +{ + if (len != 4) + throw_class_format_error ("invalid EnclosingMethod attribute"); + // FIXME: only allow one... + + int class_index = read2u(); + check_tag (class_index, JV_CONSTANT_Class); + prepare_pool_entry (class_index, JV_CONSTANT_Class); + + int method_index = read2u(); + // Zero is ok and means no enclosing method. + if (method_index != 0) + { + check_tag (method_index, JV_CONSTANT_NameAndType); + prepare_pool_entry (method_index, JV_CONSTANT_NameAndType); + } + + ::java::io::DataOutputStream *stream = get_reflection_stream (); + stream->writeByte(JV_CLASS_ATTR); + stream->writeInt(5); + stream->writeByte(JV_ENCLOSING_METHOD_KIND); + stream->writeShort(class_index); + stream->writeShort(method_index); +} + +void +_Jv_ClassReader::handleGenericSignature (jv_attr_type type, + unsigned short index, + int len) +{ + if (len != 2) + throw_class_format_error ("invalid Signature attribute"); + + int cpool_idx = read2u(); + check_tag (cpool_idx, JV_CONSTANT_Utf8); + prepare_pool_entry (cpool_idx, JV_CONSTANT_Utf8, false); + + ::java::io::DataOutputStream *stream = get_reflection_stream (); + stream->writeByte(type); + int attrlen = 3; + if (type != JV_CLASS_ATTR) + attrlen += 2; + stream->writeInt(attrlen); + if (type != JV_CLASS_ATTR) + stream->writeShort(index); + stream->writeByte(JV_SIGNATURE_KIND); + stream->writeShort(cpool_idx); +} + +void +_Jv_ClassReader::handleAnnotationElement() +{ + int tag = read1u(); + switch (tag) + { + case 'B': + case 'C': + case 'S': + case 'Z': + case 'I': + { + int index = read2u(); + check_tag (index, JV_CONSTANT_Integer); + prepare_pool_entry (index, JV_CONSTANT_Integer); + } + break; + case 'D': + { + int index = read2u(); + check_tag (index, JV_CONSTANT_Double); + prepare_pool_entry (index, JV_CONSTANT_Double); + } + break; + case 'F': + { + int index = read2u(); + check_tag (index, JV_CONSTANT_Float); + prepare_pool_entry (index, JV_CONSTANT_Float); + } + break; + case 'J': + { + int index = read2u(); + check_tag (index, JV_CONSTANT_Long); + prepare_pool_entry (index, JV_CONSTANT_Long); + } + break; + case 's': + { + int index = read2u(); + // Despite what the JVM spec says, compilers generate a Utf8 + // constant here, not a String. + check_tag (index, JV_CONSTANT_Utf8); + prepare_pool_entry (index, JV_CONSTANT_Utf8, false); + } + break; + + case 'e': + { + int type_name_index = read2u(); + int const_name_index = read2u (); + check_tag (type_name_index, JV_CONSTANT_Utf8); + prepare_pool_entry (type_name_index, JV_CONSTANT_Utf8); + check_tag (const_name_index, JV_CONSTANT_Utf8); + prepare_pool_entry (const_name_index, JV_CONSTANT_Utf8, false); + } + break; + case 'c': + { + int index = read2u(); + check_tag (index, JV_CONSTANT_Utf8); + prepare_pool_entry (index, JV_CONSTANT_Utf8); + } + break; + case '@': + handleAnnotation(); + break; + case '[': + { + int n_array_elts = read2u (); + for (int i = 0; i < n_array_elts; ++i) + handleAnnotationElement(); + } + break; + default: + throw_class_format_error ("invalid annotation element"); + } +} + +void +_Jv_ClassReader::handleAnnotation() +{ + int type_index = read2u(); + check_tag (type_index, JV_CONSTANT_Utf8); + prepare_pool_entry (type_index, JV_CONSTANT_Utf8); + + int npairs = read2u(); + for (int i = 0; i < npairs; ++i) + { + int name_index = read2u(); + check_tag (name_index, JV_CONSTANT_Utf8); + prepare_pool_entry (name_index, JV_CONSTANT_Utf8, false); + handleAnnotationElement(); + } +} + +void +_Jv_ClassReader::handleAnnotations() +{ + int num = read2u(); + while (num--) + handleAnnotation(); +} + +void +_Jv_ClassReader::handleMemberAnnotations(jv_attr_type member_type, + int member_index, + int len) +{ + // We're going to copy the bytes in verbatim. But first we want to + // make sure the attribute is well-formed, and we want to prepare + // the constant pool. So, we save our starting point. + int orig_pos = pos; + + handleAnnotations(); + // FIXME: check that we read all LEN bytes? + + ::java::io::DataOutputStream *stream = get_reflection_stream (); + stream->writeByte(member_type); + int newLen = len + 1; + if (member_type != JV_CLASS_ATTR) + newLen += 2; + stream->writeInt(newLen); + stream->writeByte(JV_ANNOTATIONS_KIND); + if (member_type != JV_CLASS_ATTR) + stream->writeShort(member_index); + // Write the data as-is. + stream->write(input_data, input_offset + orig_pos, len); +} + +void +_Jv_ClassReader::handleAnnotationDefault(int member_index, int len) +{ + int orig_pos = pos; + handleAnnotationElement(); + + ::java::io::DataOutputStream *stream = get_reflection_stream (); + stream->writeByte(JV_METHOD_ATTR); + stream->writeInt(len + 3); + stream->writeByte(JV_ANNOTATION_DEFAULT_KIND); + stream->writeShort(member_index); + stream->write(input_data, input_offset + orig_pos, len); +} + +void +_Jv_ClassReader::handleParameterAnnotations(int member_index, int len) +{ + int orig_pos = pos; + + int n_params = read1u(); + for (int i = 0; i < n_params; ++i) + handleAnnotations(); + + ::java::io::DataOutputStream *stream = get_reflection_stream (); + stream->writeByte(JV_METHOD_ATTR); + stream->writeInt(len + 3); + stream->writeByte(JV_PARAMETER_ANNOTATIONS_KIND); + stream->writeShort(member_index); + stream->write(input_data, input_offset + orig_pos, len); +} + void _Jv_ClassReader::read_constpool () { tags = (unsigned char*) _Jv_AllocBytes (pool_count); @@ -444,6 +709,47 @@ void _Jv_ClassReader::read_fields () int fields_count = read2u (); handleFieldsBegin (fields_count); + // We want to sort the fields so that static fields come first, + // followed by instance fields. We do this before parsing the + // fields so that we can have the new indices available when + // creating the annotation data structures. + + // Allocate this on the heap in case there are a large number of + // fields. + int *fieldmap = (int *) _Jv_AllocBytes (fields_count * sizeof (int)); + int save_pos = pos; + int static_count = 0, instance_count = -1; + for (int i = 0; i < fields_count; ++i) + { + using namespace java::lang::reflect; + + int access_flags = read2u (); + skip (4); + int attributes_count = read2u (); + + if ((access_flags & Modifier::STATIC) != 0) + fieldmap[i] = static_count++; + else + fieldmap[i] = instance_count--; + + for (int j = 0; j < attributes_count; ++j) + { + skip (2); + int length = read4 (); + skip (length); + } + } + pos = save_pos; + + // In the loop above, instance fields are represented by negative + // numbers. Here we rewrite these to be proper offsets. + for (int i = 0; i < fields_count; ++i) + { + if (fieldmap[i] < 0) + fieldmap[i] = static_count - 1 - fieldmap[i]; + } + def->static_field_count = static_count; + for (int i = 0; i < fields_count; i++) { int access_flags = read2u (); @@ -457,15 +763,14 @@ void _Jv_ClassReader::read_fields () check_tag (descriptor_index, JV_CONSTANT_Utf8); prepare_pool_entry (descriptor_index, JV_CONSTANT_Utf8); - handleField (i, access_flags, name_index, descriptor_index); + handleField (i, access_flags, name_index, descriptor_index, fieldmap); + bool found_value = false; for (int j = 0; j < attributes_count; j++) { - read_one_field_attribute (i); + read_one_field_attribute (fieldmap[i], &found_value); } } - - handleFieldsEnd (); } bool @@ -479,7 +784,8 @@ _Jv_ClassReader::is_attribute_name (int index, const char *name) return !memcmp (bytes+offsets[index]+2, name, len); } -void _Jv_ClassReader::read_one_field_attribute (int field_index) +void _Jv_ClassReader::read_one_field_attribute (int field_index, + bool *found_value) { int name = read2u (); int length = read4 (); @@ -495,22 +801,23 @@ void _Jv_ClassReader::read_one_field_attribute (int field_index) || tags[cv] == JV_CONSTANT_Long || tags[cv] == JV_CONSTANT_Double || tags[cv] == JV_CONSTANT_String)) - { - handleConstantValueAttribute (field_index, cv); - } - else - { - throw_class_format_error ("erroneous ConstantValue attribute"); - } - - if (length != 2) + { + handleConstantValueAttribute (field_index, cv, found_value); + } + else + { throw_class_format_error ("erroneous ConstantValue attribute"); - } + } - else - { - skip (length); - } + if (length != 2) + throw_class_format_error ("erroneous ConstantValue attribute"); + } + else if (is_attribute_name (name, "Signature")) + handleGenericSignature(JV_FIELD_ATTR, field_index, length); + else if (is_attribute_name (name, "RuntimeVisibleAnnotations")) + handleMemberAnnotations(JV_FIELD_ATTR, field_index, length); + else + skip (length); } void _Jv_ClassReader::read_methods () @@ -634,7 +941,14 @@ void _Jv_ClassReader::read_one_method_attribute (int method_index) if ((pos - start_off) != length) throw_class_format_error ("code attribute too short"); } - + else if (is_attribute_name (name, "Signature")) + handleGenericSignature(JV_METHOD_ATTR, method_index, length); + else if (is_attribute_name (name, "RuntimeVisibleAnnotations")) + handleMemberAnnotations(JV_METHOD_ATTR, method_index, length); + else if (is_attribute_name (name, "RuntimeVisibleParameterAnnotations")) + handleParameterAnnotations(method_index, length); + else if (is_attribute_name (name, "AnnotationDefault")) + handleAnnotationDefault(method_index, length); else { /* ignore unknown attributes */ @@ -680,14 +994,28 @@ void _Jv_ClassReader::read_one_class_attribute () { int source_index = read2u (); check_tag (source_index, JV_CONSTANT_Utf8); - prepare_pool_entry (source_index, JV_CONSTANT_Utf8); + prepare_pool_entry (source_index, JV_CONSTANT_Utf8, false); def_interp->source_file_name = _Jv_NewStringUtf8Const (def->constants.data[source_index].utf8); } + else if (is_attribute_name (name, "Signature")) + handleGenericSignature(JV_CLASS_ATTR, 0, length); + else if (is_attribute_name (name, "EnclosingMethod")) + handleEnclosingMethod(length); + else if (is_attribute_name (name, "RuntimeVisibleAnnotations")) + handleMemberAnnotations(JV_CLASS_ATTR, 0, length); + else if (is_attribute_name (name, "InnerClasses")) + { + ::java::io::DataOutputStream *stream = get_reflection_stream (); + stream->writeByte(JV_CLASS_ATTR); + stream->writeInt(length + 1); + stream->writeByte(JV_INNER_CLASSES_KIND); + stream->write(input_data, input_offset + pos, length); + skip (length); + } else { - /* Currently, we ignore most class attributes. - FIXME: Add inner-classes attributes support. */ + /* Currently, we ignore most class attributes. */ skip (length); } } @@ -752,9 +1080,15 @@ void _Jv_ClassReader::handleConstantPool () } /* this is a recursive procedure, which will prepare pool entries as needed. - Which is how we avoid initializing those entries which go unused. */ + Which is how we avoid initializing those entries which go unused. + + REWRITE is true iff this pool entry is the Utf8 representation of a + class name or a signature. +*/ + void -_Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag) +_Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag, + bool rewrite) { /* these two, pool_data and pool_tags, point into the class structure we are currently defining */ @@ -775,25 +1109,29 @@ _Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag) { case JV_CONSTANT_Utf8: { - // If we came here, it is because some other tag needs this - // utf8-entry for type information! Thus, we translate /'s to .'s in - // order to accomondate gcj's internal representation. - int len = get2u (this_data); - char *buffer = (char*) __builtin_alloca (len); char *s = ((char*) this_data)+2; + pool_tags[index] = JV_CONSTANT_Utf8; + + if (! rewrite) + { + pool_data[index].utf8 = _Jv_makeUtf8Const (s, len); + break; + } - /* FIXME: avoid using a buffer here */ + // If REWRITE is set, it is because some other tag needs this + // utf8-entry for type information: it is a class or a + // signature. Thus, we translate /'s to .'s in order to + // accomondate gcj's internal representation. + char *buffer = (char*) __builtin_alloca (len); for (int i = 0; i < len; i++) { if (s[i] == '/') buffer[i] = '.'; else - buffer[i] = (char) s[i]; + buffer[i] = s[i]; } - pool_data[index].utf8 = _Jv_makeUtf8Const (buffer, len); - pool_tags[index] = JV_CONSTANT_Utf8; } break; @@ -861,8 +1199,7 @@ _Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag) _Jv_ushort type_index = get2u (this_data+2); check_tag (name_index, JV_CONSTANT_Utf8); - prepare_pool_entry (name_index, JV_CONSTANT_Utf8); - + prepare_pool_entry (name_index, JV_CONSTANT_Utf8, false); check_tag (type_index, JV_CONSTANT_Utf8); prepare_pool_entry (type_index, JV_CONSTANT_Utf8); @@ -1121,19 +1458,22 @@ void _Jv_ClassReader::handleFieldsBegin (int count) void _Jv_ClassReader::handleField (int field_no, int flags, int name, - int desc) + int desc, + int *fieldmap) { using namespace java::lang::reflect; _Jv_word *pool_data = def->constants.data; - _Jv_Field *field = &def->fields[field_no]; + _Jv_Field *field = &def->fields[fieldmap[field_no]]; _Jv_Utf8Const *field_name = pool_data[name].utf8; field->name = field_name; // Ignore flags we don't know about. - field->flags = flags & Modifier::ALL_FLAGS; + field->flags = flags & (Field::FIELD_MODIFIERS + | Modifier::SYNTHETIC + | Modifier::ENUM); _Jv_Utf8Const* sig = pool_data[desc].utf8; @@ -1143,7 +1483,7 @@ void _Jv_ClassReader::handleField (int field_no, for (int i = 0; i < field_no; ++i) { - if (_Jv_equalUtf8Consts (field_name, def->fields[i].name) + if (_Jv_equalUtf8Consts (field_name, def->fields[fieldmap[i]].name) && _Jv_equalUtf8Consts (sig, // We know the other fields are // unresolved. @@ -1174,7 +1514,8 @@ void _Jv_ClassReader::handleField (int field_no, void _Jv_ClassReader::handleConstantValueAttribute (int field_index, - int value) + int value, + bool *found_value) { using namespace java::lang::reflect; @@ -1189,10 +1530,10 @@ void _Jv_ClassReader::handleConstantValueAttribute (int field_index, } // do not allow multiple constant fields! - if (field->flags & _Jv_FIELD_CONSTANT_VALUE) + if (*found_value) throw_class_format_error ("field has multiple ConstantValue attributes"); - field->flags |= _Jv_FIELD_CONSTANT_VALUE; + *found_value = true; def_interp->field_initializers[field_index] = value; /* type check the initializer */ @@ -1203,53 +1544,6 @@ void _Jv_ClassReader::handleConstantValueAttribute (int field_index, /* FIXME: do the rest */ } -void _Jv_ClassReader::handleFieldsEnd () -{ - using namespace java::lang::reflect; - - // We need to reorganize the fields so that the static ones are first, - // to conform to GCJ class layout. - - int low = 0; - int high = def->field_count-1; - _Jv_Field *fields = def->fields; - _Jv_ushort *inits = def_interp->field_initializers; - - // this is kind of a raw version of quicksort. - while (low < high) - { - // go forward on low, while it's a static - while (low < high && (fields[low].flags & Modifier::STATIC) != 0) - low++; - - // go backwards on high, while it's a non-static - while (low < high && (fields[high].flags & Modifier::STATIC) == 0) - high--; - - if (low==high) - break; - - _Jv_Field tmp = fields[low]; - _Jv_ushort itmp = inits[low]; - - fields[low] = fields[high]; - inits[low] = inits[high]; - - fields[high] = tmp; - inits[high] = itmp; - - high -= 1; - low += 1; - } - - if ((fields[low].flags & Modifier::STATIC) != 0) - low += 1; - - def->static_field_count = low; -} - - - void _Jv_ClassReader::handleMethodsBegin (int count) { @@ -1278,7 +1572,7 @@ void _Jv_ClassReader::handleMethod _Jv_Method *method = &def->methods[mth_index]; check_tag (name, JV_CONSTANT_Utf8); - prepare_pool_entry (name, JV_CONSTANT_Utf8); + prepare_pool_entry (name, JV_CONSTANT_Utf8, false); method->name = pool_data[name].utf8; check_tag (desc, JV_CONSTANT_Utf8); @@ -1286,7 +1580,10 @@ void _Jv_ClassReader::handleMethod method->signature = pool_data[desc].utf8; // ignore unknown flags - method->accflags = accflags & Modifier::ALL_FLAGS; + method->accflags = accflags & (Method::METHOD_MODIFIERS + | Modifier::BRIDGE + | Modifier::SYNTHETIC + | Modifier::VARARGS); // Initialize... method->ncode = 0; diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in index 5236544a99d..356611822b5 100644 --- a/libjava/gcj/Makefile.in +++ b/libjava/gcj/Makefile.in @@ -91,6 +91,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -110,7 +112,11 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ +ENABLE_SHARED_FALSE = @ENABLE_SHARED_FALSE@ +ENABLE_SHARED_TRUE = @ENABLE_SHARED_TRUE@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@ @@ -121,6 +127,7 @@ GCJDEPMODE = @GCJDEPMODE@ GCJFLAGS = @GCJFLAGS@ GCJH = @GCJH@ GCJVERSION = @GCJVERSION@ +GCJ_FOR_ECJX = @GCJ_FOR_ECJX@ GCLIBS = @GCLIBS@ GCSPEC = @GCSPEC@ GCTESTSPEC = @GCTESTSPEC@ @@ -132,6 +139,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -140,6 +149,8 @@ JAR = @JAR@ JAVA_HOME = @JAVA_HOME@ JAVA_HOME_SET_FALSE = @JAVA_HOME_SET_FALSE@ JAVA_HOME_SET_TRUE = @JAVA_HOME_SET_TRUE@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JC1GCSPEC = @JC1GCSPEC@ LD = @LD@ LDFLAGS = @LDFLAGS@ @@ -158,6 +169,7 @@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ +LIBMAGIC = @LIBMAGIC@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ @@ -182,7 +194,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ -PLATFORM_INNER_NAT_HDRS = @PLATFORM_INNER_NAT_HDRS@ +PLATFORM = @PLATFORM@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -224,6 +236,8 @@ USING_WIN32_THREADS_TRUE = @USING_WIN32_THREADS_TRUE@ VERSION = @VERSION@ XLIB_AWT_FALSE = @XLIB_AWT_FALSE@ XLIB_AWT_TRUE = @XLIB_AWT_TRUE@ +X_AWT_FALSE = @X_AWT_FALSE@ +X_AWT_TRUE = @X_AWT_TRUE@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ @@ -269,6 +283,7 @@ here = @here@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ +host_exeext = @host_exeext@ host_os = @host_os@ host_subdir = @host_subdir@ host_vendor = @host_vendor@ diff --git a/libjava/gcj/field.h b/libjava/gcj/field.h index 8421bc7e046..2f483eb38eb 100644 --- a/libjava/gcj/field.h +++ b/libjava/gcj/field.h @@ -1,6 +1,6 @@ // field.h - Header file for fieldID instances. -*- c++ -*- -/* Copyright (C) 1998, 1999, 2000, 2004 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2004, 2006 Free Software Foundation This file is part of libgcj. @@ -17,7 +17,6 @@ details. */ #include #define _Jv_FIELD_UNRESOLVED_FLAG 0x8000 -#define _Jv_FIELD_CONSTANT_VALUE 0x4000 struct _Jv_Field { diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h index 61f5276c022..1e4e9488b59 100644 --- a/libjava/gcj/javaprims.h +++ b/libjava/gcj/javaprims.h @@ -133,6 +133,7 @@ extern "Java" class SyncFailedException; class UTFDataFormatException; class UnsupportedEncodingException; + class VMObjectInputStream; class VMObjectStreamClass; class WriteAbortedException; class Writer; @@ -157,15 +158,15 @@ extern "Java" class ClassCircularityError; class ClassFormatError; class ClassLoader; + class ClassLoader$AnnotationsKey; class ClassNotFoundException; class CloneNotSupportedException; class Cloneable; class Comparable; class Compiler; - class ConcreteProcess; - class ConcreteProcess$EOFInputStream; - class ConcreteProcess$ProcessManager; + class Deprecated; class Double; + class EcosProcess; class Enum; class EnumConstantNotPresentException; class Error; @@ -201,16 +202,21 @@ extern "Java" class NumberFormatException; class Object; class OutOfMemoryError; + class Override; class Package; + class PosixProcess; + class PosixProcess$EOFInputStream; + class PosixProcess$ProcessManager; class Process; + class ProcessBuilder; class Readable; class Runnable; class Runtime; class RuntimeException; class RuntimePermission; - class SecurityContext; class SecurityException; class SecurityManager; + class SecurityManager$1; class Short; class StackOverflowError; class StackTraceElement; @@ -220,8 +226,13 @@ extern "Java" class StringBuffer; class StringBuilder; class StringIndexOutOfBoundsException; + class SuppressWarnings; class System; + class System$EnvironmentCollection; + class System$EnvironmentMap; + class System$EnvironmentSet; class Thread; + class Thread$State; class Thread$UncaughtExceptionHandler; class ThreadDeath; class ThreadGroup; @@ -237,16 +248,23 @@ extern "Java" class VMCompiler; class VMDouble; class VMFloat; - class VMSecurityManager; class VMThrowable; class VerifyError; class VirtualMachineError; class Void; + class Win32Process; namespace annotation { class Annotation; class AnnotationFormatError; class AnnotationTypeMismatchException; + class Documented; + class ElementType; + class IncompleteAnnotationException; + class Inherited; + class Retention; + class RetentionPolicy; + class Target; } namespace instrument @@ -258,6 +276,26 @@ extern "Java" class UnmodifiableClassException; } + namespace management + { + class ClassLoadingMXBean; + class CompilationMXBean; + class GarbageCollectorMXBean; + class ManagementFactory; + class ManagementPermission; + class MemoryMXBean; + class MemoryManagerMXBean; + class MemoryNotificationInfo; + class MemoryPoolMXBean; + class MemoryType; + class MemoryUsage; + class OperatingSystemMXBean; + class RuntimeMXBean; + class ThreadInfo; + class ThreadMXBean; + class VMManagementFactory; + } + namespace ref { class PhantomReference; @@ -304,17 +342,22 @@ extern "Java" class AbstractList; class AbstractList$1; class AbstractList$2; + class AbstractList$3; class AbstractList$RandomAccessSubList; class AbstractList$SubList; - class AbstractList$SubList$3; class AbstractMap; class AbstractMap$1; - class AbstractMap$1$2; + class AbstractMap$2; class AbstractMap$3; - class AbstractMap$3$4; - class AbstractMap$BasicMapEntry; + class AbstractMap$4; + class AbstractMap$SimpleEntry; + class AbstractMap$SimpleImmutableEntry; + class AbstractQueue; class AbstractSequentialList; class AbstractSet; + class ArrayDeque; + class ArrayDeque$DeqIterator; + class ArrayDeque$DescendingIterator; class ArrayList; class Arrays; class Arrays$ArrayList; @@ -323,6 +366,25 @@ extern "Java" class Collection; class Collections; class Collections$1; + class Collections$1$SynchronizedMapEntry; + class Collections$2; + class Collections$3; + class Collections$4; + class Collections$5; + class Collections$6; + class Collections$7; + class Collections$8; + class Collections$9; + class Collections$CheckedCollection; + class Collections$CheckedIterator; + class Collections$CheckedList; + class Collections$CheckedListIterator; + class Collections$CheckedMap; + class Collections$CheckedMap$CheckedEntrySet; + class Collections$CheckedRandomAccessList; + class Collections$CheckedSet; + class Collections$CheckedSortedMap; + class Collections$CheckedSortedSet; class Collections$CopiesList; class Collections$EmptyList; class Collections$EmptyMap; @@ -330,17 +392,12 @@ extern "Java" class Collections$ReverseComparator; class Collections$SingletonList; class Collections$SingletonMap; - class Collections$SingletonMap$3; class Collections$SingletonSet; - class Collections$SingletonSet$2; class Collections$SynchronizedCollection; class Collections$SynchronizedIterator; class Collections$SynchronizedList; class Collections$SynchronizedListIterator; class Collections$SynchronizedMap; - class Collections$SynchronizedMap$4$SynchronizedMapEntry; - class Collections$SynchronizedMap$5; - class Collections$SynchronizedMap$5$6; class Collections$SynchronizedRandomAccessList; class Collections$SynchronizedSet; class Collections$SynchronizedSortedMap; @@ -351,8 +408,7 @@ extern "Java" class Collections$UnmodifiableListIterator; class Collections$UnmodifiableMap; class Collections$UnmodifiableMap$UnmodifiableEntrySet; - class Collections$UnmodifiableMap$UnmodifiableEntrySet$7; - class Collections$UnmodifiableMap$UnmodifiableEntrySet$7$8; + class Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry; class Collections$UnmodifiableRandomAccessList; class Collections$UnmodifiableSet; class Collections$UnmodifiableSortedMap; @@ -361,12 +417,30 @@ extern "Java" class ConcurrentModificationException; class Currency; class Date; + class Deque; class Dictionary; + class DuplicateFormatFlagsException; class EmptyStackException; + class EnumMap; + class EnumMap$1; + class EnumMap$2; + class EnumMap$3; + class EnumMap$4; + class EnumMap$5; + class EnumMap$6; + class EnumMap$7; + class EnumSet; + class EnumSet$1; class Enumeration; class EventListener; class EventListenerProxy; class EventObject; + class FormatFlagsConversionMismatchException; + class Formattable; + class FormattableFlags; + class Formatter; + class Formatter$BigDecimalLayoutForm; + class FormatterClosedException; class GregorianCalendar; class HashMap; class HashMap$1; @@ -392,6 +466,13 @@ extern "Java" class IdentityHashMap$3; class IdentityHashMap$IdentityEntry; class IdentityHashMap$IdentityIterator; + class IllegalFormatCodePointException; + class IllegalFormatConversionException; + class IllegalFormatException; + class IllegalFormatFlagsException; + class IllegalFormatPrecisionException; + class IllegalFormatWidthException; + class InputMismatchException; class InvalidPropertiesFormatException; class Iterator; class LinkedHashMap; @@ -407,17 +488,25 @@ extern "Java" class Locale; class Map; class Map$Entry; + class MissingFormatArgumentException; + class MissingFormatWidthException; class MissingResourceException; + class NavigableMap; + class NavigableSet; class NoSuchElementException; class Observable; class Observer; + class PriorityQueue; + class PriorityQueue$1; class Properties; class PropertyPermission; class PropertyPermissionCollection; class PropertyResourceBundle; + class Queue; class Random; class RandomAccess; class ResourceBundle; + class ResourceBundle$1; class ResourceBundle$BundleKey; class Set; class SimpleTimeZone; @@ -436,22 +525,205 @@ extern "Java" class TreeMap$1; class TreeMap$2; class TreeMap$3; + class TreeMap$4; + class TreeMap$5; + class TreeMap$6; class TreeMap$Node; class TreeMap$SubMap; - class TreeMap$SubMap$4; - class TreeMap$SubMap$5; - class TreeMap$SubMap$6; class TreeMap$TreeIterator; class TreeSet; + class UUID; + class UnknownFormatConversionException; + class UnknownFormatFlagsException; class VMTimeZone; class Vector; class Vector$1; class WeakHashMap; class WeakHashMap$1; + class WeakHashMap$2; class WeakHashMap$WeakBucket; class WeakHashMap$WeakBucket$WeakEntry; class WeakHashMap$WeakEntrySet; - class WeakHashMap$WeakEntrySet$2; + namespace concurrent + { + class AbstractExecutorService; + class ArrayBlockingQueue; + class ArrayBlockingQueue$Itr; + class BlockingDeque; + class BlockingQueue; + class BrokenBarrierException; + class Callable; + class CancellationException; + class CompletionService; + class ConcurrentHashMap; + class ConcurrentHashMap$EntryIterator; + class ConcurrentHashMap$EntrySet; + class ConcurrentHashMap$HashEntry; + class ConcurrentHashMap$HashIterator; + class ConcurrentHashMap$KeyIterator; + class ConcurrentHashMap$KeySet; + class ConcurrentHashMap$Segment; + class ConcurrentHashMap$ValueIterator; + class ConcurrentHashMap$Values; + class ConcurrentHashMap$WriteThroughEntry; + class ConcurrentLinkedQueue; + class ConcurrentLinkedQueue$Itr; + class ConcurrentLinkedQueue$Node; + class ConcurrentMap; + class ConcurrentNavigableMap; + class ConcurrentSkipListMap; + class ConcurrentSkipListMap$ComparableUsingComparator; + class ConcurrentSkipListMap$EntryIterator; + class ConcurrentSkipListMap$EntrySet; + class ConcurrentSkipListMap$HeadIndex; + class ConcurrentSkipListMap$Index; + class ConcurrentSkipListMap$Iter; + class ConcurrentSkipListMap$KeyIterator; + class ConcurrentSkipListMap$KeySet; + class ConcurrentSkipListMap$Node; + class ConcurrentSkipListMap$SubMap; + class ConcurrentSkipListMap$SubMap$SubMapEntryIterator; + class ConcurrentSkipListMap$SubMap$SubMapIter; + class ConcurrentSkipListMap$SubMap$SubMapKeyIterator; + class ConcurrentSkipListMap$SubMap$SubMapValueIterator; + class ConcurrentSkipListMap$ValueIterator; + class ConcurrentSkipListMap$Values; + class ConcurrentSkipListSet; + class CopyOnWriteArrayList; + class CopyOnWriteArraySet; + class CountDownLatch; + class CountDownLatch$Sync; + class CyclicBarrier; + class CyclicBarrier$Generation; + class DelayQueue; + class DelayQueue$Itr; + class Delayed; + class Exchanger; + class Exchanger$Node; + class Exchanger$Slot; + class ExecutionException; + class Executor; + class ExecutorCompletionService; + class ExecutorCompletionService$QueueingFuture; + class ExecutorService; + class Executors; + class Executors$1; + class Executors$2; + class Executors$3; + class Executors$4; + class Executors$5; + class Executors$6; + class Executors$DefaultThreadFactory; + class Executors$DelegatedExecutorService; + class Executors$DelegatedScheduledExecutorService; + class Executors$FinalizableDelegatedExecutorService; + class Executors$PrivilegedCallable; + class Executors$PrivilegedCallableUsingCurrentClassLoader; + class Executors$PrivilegedThreadFactory; + class Executors$RunnableAdapter; + class Future; + class FutureTask; + class FutureTask$Sync; + class LinkedBlockingDeque; + class LinkedBlockingDeque$AbstractItr; + class LinkedBlockingDeque$DescendingItr; + class LinkedBlockingDeque$Itr; + class LinkedBlockingDeque$Node; + class LinkedBlockingQueue; + class LinkedBlockingQueue$Itr; + class LinkedBlockingQueue$Node; + class PriorityBlockingQueue; + class PriorityBlockingQueue$Itr; + class RejectedExecutionException; + class RejectedExecutionHandler; + class RunnableFuture; + class RunnableScheduledFuture; + class ScheduledExecutorService; + class ScheduledFuture; + class ScheduledThreadPoolExecutor; + class ScheduledThreadPoolExecutor$1; + class ScheduledThreadPoolExecutor$DelayedWorkQueue; + class ScheduledThreadPoolExecutor$ScheduledFutureTask; + class Semaphore; + class Semaphore$FairSync; + class Semaphore$NonfairSync; + class Semaphore$Sync; + class SynchronousQueue; + class SynchronousQueue$EmptyIterator; + class SynchronousQueue$FifoWaitQueue; + class SynchronousQueue$LifoWaitQueue; + class SynchronousQueue$TransferQueue; + class SynchronousQueue$TransferQueue$QNode; + class SynchronousQueue$TransferStack; + class SynchronousQueue$TransferStack$SNode; + class SynchronousQueue$Transferer; + class SynchronousQueue$WaitQueue; + class ThreadFactory; + class ThreadPoolExecutor; + class ThreadPoolExecutor$AbortPolicy; + class ThreadPoolExecutor$CallerRunsPolicy; + class ThreadPoolExecutor$DiscardOldestPolicy; + class ThreadPoolExecutor$DiscardPolicy; + class ThreadPoolExecutor$Worker; + class TimeUnit; + class TimeUnit$1; + class TimeUnit$2; + class TimeUnit$3; + class TimeUnit$4; + class TimeUnit$5; + class TimeUnit$6; + class TimeUnit$7; + class TimeoutException; + namespace atomic + { + class AtomicBoolean; + class AtomicInteger; + class AtomicIntegerArray; + class AtomicIntegerFieldUpdater; + class AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl; + class AtomicLong; + class AtomicLongArray; + class AtomicLongFieldUpdater; + class AtomicLongFieldUpdater$CASUpdater; + class AtomicLongFieldUpdater$LockedUpdater; + class AtomicMarkableReference; + class AtomicMarkableReference$ReferenceBooleanPair; + class AtomicReference; + class AtomicReferenceArray; + class AtomicReferenceFieldUpdater; + class AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl; + class AtomicStampedReference; + class AtomicStampedReference$ReferenceIntegerPair; + } + + namespace locks + { + class AbstractOwnableSynchronizer; + class AbstractQueuedLongSynchronizer; + class AbstractQueuedLongSynchronizer$ConditionObject; + class AbstractQueuedLongSynchronizer$Node; + class AbstractQueuedSynchronizer; + class AbstractQueuedSynchronizer$ConditionObject; + class AbstractQueuedSynchronizer$Node; + class Condition; + class Lock; + class LockSupport; + class ReadWriteLock; + class ReentrantLock; + class ReentrantLock$FairSync; + class ReentrantLock$NonfairSync; + class ReentrantLock$Sync; + class ReentrantReadWriteLock; + class ReentrantReadWriteLock$FairSync; + class ReentrantReadWriteLock$NonfairSync; + class ReentrantReadWriteLock$ReadLock; + class ReentrantReadWriteLock$Sync; + class ReentrantReadWriteLock$Sync$HoldCounter; + class ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter; + class ReentrantReadWriteLock$WriteLock; + } + } + namespace jar { class Attributes; @@ -477,9 +749,11 @@ extern "Java" class Handler; class Level; class LogManager; + class LogManager$1; class LogRecord; class Logger; class Logger$1; + class LoggingMXBean; class LoggingPermission; class MemoryHandler; class SimpleFormatter; @@ -577,6 +851,7 @@ extern "C" jstring _Jv_NewStringLatin1(const char*, jsize) extern "C" jsize _Jv_GetStringUTFLength (jstring); extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *); extern "C" jint _Jv_hashUtf8String (const char*, int); +extern bool _Jv_is_proxy (void *pc); struct _Jv_VMOption { diff --git a/libjava/gnu/CORBA/Asynchron.h b/libjava/gnu/CORBA/Asynchron.h new file mode 100644 index 00000000000..c1b542ad287 --- /dev/null +++ b/libjava/gnu/CORBA/Asynchron.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Asynchron__ +#define __gnu_CORBA_Asynchron__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Asynchron; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Request; + } + } + } +} + +class gnu::CORBA::Asynchron : public ::java::lang::Object +{ + +public: + Asynchron(); + virtual void send_multiple_requests_oneway(JArray< ::org::omg::CORBA::Request * > *); + virtual void send_multiple_requests_deferred(JArray< ::org::omg::CORBA::Request * > *); + virtual jboolean poll_next_response(); + virtual ::org::omg::CORBA::Request * get_next_response(); +public: // actually package-private + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Asynchron__ diff --git a/libjava/gnu/CORBA/BigDecimalHelper.h b/libjava/gnu/CORBA/BigDecimalHelper.h new file mode 100644 index 00000000000..968a863f1bf --- /dev/null +++ b/libjava/gnu/CORBA/BigDecimalHelper.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_BigDecimalHelper__ +#define __gnu_CORBA_BigDecimalHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class BigDecimalHelper; + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } +} + +class gnu::CORBA::BigDecimalHelper : public ::java::lang::Object +{ + +public: + BigDecimalHelper(); + static void main(JArray< ::java::lang::String * > *); + static ::java::math::BigDecimal * read(::java::io::InputStream *, jint); + static void write(::java::io::OutputStream *, ::java::math::BigDecimal *); +private: + static ::java::math::BigDecimal * createFixed(jint, JArray< jbyte > *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_BigDecimalHelper__ diff --git a/libjava/gnu/CORBA/ByteArrayComparator.h b/libjava/gnu/CORBA/ByteArrayComparator.h new file mode 100644 index 00000000000..f619ba89f8f --- /dev/null +++ b/libjava/gnu/CORBA/ByteArrayComparator.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_ByteArrayComparator__ +#define __gnu_CORBA_ByteArrayComparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class ByteArrayComparator; + } + } +} + +class gnu::CORBA::ByteArrayComparator : public ::java::lang::Object +{ + +public: + ByteArrayComparator(); + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_ByteArrayComparator__ diff --git a/libjava/gnu/CORBA/CDR/AbstractCdrInput.h b/libjava/gnu/CORBA/CDR/AbstractCdrInput.h new file mode 100644 index 00000000000..a9c9adcf62c --- /dev/null +++ b/libjava/gnu/CORBA/CDR/AbstractCdrInput.h @@ -0,0 +1,185 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_AbstractCdrInput__ +#define __gnu_CORBA_CDR_AbstractCdrInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractDataInput; + class BufferredCdrInput; + class gnuRuntime; + } + namespace GIOP + { + class CodeSetServiceContext; + } + class Version; + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class AnySeqHolder; + class BooleanSeqHolder; + class CharSeqHolder; + class DoubleSeqHolder; + class FloatSeqHolder; + class LongLongSeqHolder; + class LongSeqHolder; + class ORB; + class Object; + class OctetSeqHolder; + class ShortSeqHolder; + class TypeCode; + class ULongLongSeqHolder; + class ULongSeqHolder; + class UShortSeqHolder; + class WCharSeqHolder; + } + } + } +} + +class gnu::CORBA::CDR::AbstractCdrInput : public ::org::omg::CORBA_2_3::portable::InputStream +{ + +public: + AbstractCdrInput(::java::io::InputStream *); + AbstractCdrInput(); + virtual void setBigEndian(jboolean); + virtual jboolean isBigEndian(); + virtual void cloneSettings(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual void setInputStream(::java::io::InputStream *); + virtual void setOffset(jint) = 0; + virtual void setOrb(::org::omg::CORBA::ORB *); + virtual void setVersion(::gnu::CORBA::Version *); + virtual void align(jint) = 0; + virtual jlong gnu_read_ulong(); + virtual jint gnu_read_ushort(); + virtual ::org::omg::CORBA::ORB * orb(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); + virtual ::org::omg::CORBA::Object * read_Object(); + virtual ::org::omg::CORBA::TypeCode * read_TypeCode(); + virtual ::org::omg::CORBA::Any * read_any(); + virtual jboolean read_boolean(); + virtual void read_boolean_array(JArray< jboolean > *, jint, jint); + virtual jchar read_char(); + virtual void read_char_array(JArray< jchar > *, jint, jint); + virtual jdouble read_double(); + virtual void read_double_array(JArray< jdouble > *, jint, jint); + virtual ::gnu::CORBA::CDR::BufferredCdrInput * read_encapsulation(); + virtual ::java::math::BigDecimal * read_fixed(); + virtual jfloat read_float(); + virtual void read_float_array(JArray< jfloat > *, jint, jint); + virtual jint read_long(); + virtual void read_long_array(JArray< jint > *, jint, jint); + virtual jlong read_longlong(); + virtual void read_longlong_array(JArray< jlong > *, jint, jint); + virtual jbyte read_octet(); + virtual void read_octet_array(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * read_sequence(); + virtual jshort read_short(); + virtual void read_short_array(JArray< jshort > *, jint, jint); + virtual ::java::lang::String * read_string(); + virtual jint read_ulong(); + virtual void read_ulong_array(JArray< jint > *, jint, jint); + virtual jlong read_ulonglong(); + virtual void read_ulonglong_array(JArray< jlong > *, jint, jint); + virtual jshort read_ushort(); + virtual void read_ushort_array(JArray< jshort > *, jint, jint); + virtual jchar read_wchar(); + virtual void read_wchar_array(JArray< jchar > *, jint, jint); + virtual ::java::lang::String * read_wstring(); + virtual ::java::lang::String * read_wstring_UTF_16(); + static jchar swap(jchar); + virtual void setCodeSet(::gnu::CORBA::GIOP::CodeSetServiceContext *); + virtual ::gnu::CORBA::GIOP::CodeSetServiceContext * getCodeSet(); + virtual ::org::omg::CORBA::Object * read_Object(::java::lang::Class *); + virtual ::java::io::Serializable * read_Value(); + virtual ::java::lang::Object * read_Abstract(); + virtual void read_char_array(::org::omg::CORBA::CharSeqHolder *, jint, jint); + virtual void read_wchar_array(::org::omg::CORBA::WCharSeqHolder *, jint, jint); +private: + JArray< jchar > * ensureArray(JArray< jchar > *, jint, jint); +public: + virtual void read_ulong_array(::org::omg::CORBA::ULongSeqHolder *, jint, jint); + virtual void read_long_array(::org::omg::CORBA::LongSeqHolder *, jint, jint); +private: + JArray< jint > * ensureArray(JArray< jint > *, jint, jint); +public: + virtual void read_float_array(::org::omg::CORBA::FloatSeqHolder *, jint, jint); +private: + JArray< jfloat > * ensureArray(JArray< jfloat > *, jint, jint); +public: + virtual void read_double_array(::org::omg::CORBA::DoubleSeqHolder *, jint, jint); +private: + JArray< jdouble > * ensureArray(JArray< jdouble > *, jint, jint); +public: + virtual void read_short_array(::org::omg::CORBA::ShortSeqHolder *, jint, jint); + virtual void read_ushort_array(::org::omg::CORBA::UShortSeqHolder *, jint, jint); +private: + JArray< jshort > * ensureArray(JArray< jshort > *, jint, jint); +public: + virtual void read_octet_array(::org::omg::CORBA::OctetSeqHolder *, jint, jint); +private: + JArray< jbyte > * ensureArray(JArray< jbyte > *, jint, jint); +public: + virtual void read_longlong_array(::org::omg::CORBA::LongLongSeqHolder *, jint, jint); + virtual void read_ulonglong_array(::org::omg::CORBA::ULongLongSeqHolder *, jint, jint); +private: + JArray< jlong > * ensureArray(JArray< jlong > *, jint, jint); +public: + virtual void read_boolean_array(::org::omg::CORBA::BooleanSeqHolder *, jint, jint); +private: + JArray< jboolean > * ensureArray(JArray< jboolean > *, jint, jint); +public: + virtual void read_any_array(::org::omg::CORBA::AnySeqHolder *, jint, jint); +private: + JArray< ::org::omg::CORBA::Any * > * ensureArray(JArray< ::org::omg::CORBA::Any * > *, jint, jint); +public: + virtual JArray< ::java::lang::String * > * _truncatable_ids(); + ::gnu::CORBA::CDR::gnuRuntime * __attribute__((aligned(__alignof__( ::org::omg::CORBA_2_3::portable::InputStream)))) runtime; +public: // actually protected + static ::java::lang::String * UNEXP_EOF; + ::gnu::CORBA::CDR::AbstractDataInput * b; + ::java::io::InputStream * actual_stream; + ::org::omg::CORBA::ORB * orb__; + ::gnu::CORBA::Version * giop; + ::gnu::CORBA::GIOP::CodeSetServiceContext * codeset; +private: + ::java::lang::String * narrow_charset; + ::java::lang::String * wide_charset; + jboolean narrow_native; + jboolean wide_native; + jboolean little_endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_AbstractCdrInput__ diff --git a/libjava/gnu/CORBA/CDR/AbstractCdrOutput.h b/libjava/gnu/CORBA/CDR/AbstractCdrOutput.h new file mode 100644 index 00000000000..b6d328be04a --- /dev/null +++ b/libjava/gnu/CORBA/CDR/AbstractCdrOutput.h @@ -0,0 +1,130 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_AbstractCdrOutput__ +#define __gnu_CORBA_CDR_AbstractCdrOutput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrOutput; + class AbstractDataOutput; + class BufferedCdrOutput; + class gnuRuntime; + } + namespace GIOP + { + class CodeSetServiceContext; + } + class Version; + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class ORB; + class Object; + class TypeCode; + } + } + } +} + +class gnu::CORBA::CDR::AbstractCdrOutput : public ::org::omg::CORBA_2_3::portable::OutputStream +{ + +public: + AbstractCdrOutput(::java::io::OutputStream *); + AbstractCdrOutput(); + virtual void setOffset(jint) = 0; + virtual void cloneSettings(::gnu::CORBA::CDR::AbstractCdrOutput *); + virtual void setCodeSet(::gnu::CORBA::GIOP::CodeSetServiceContext *); + virtual ::gnu::CORBA::GIOP::CodeSetServiceContext * getCodeSet(); + virtual void setOrb(::org::omg::CORBA::ORB *); + virtual void setOutputStream(::java::io::OutputStream *); + virtual void setVersion(::gnu::CORBA::Version *); + virtual void setBigEndian(jboolean); + virtual void align(jint) = 0; + virtual ::gnu::CORBA::CDR::AbstractCdrOutput * createEncapsulation(); + virtual ::org::omg::CORBA::ORB * orb(); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write_Context(::org::omg::CORBA::Context *, ::org::omg::CORBA::ContextList *); + virtual void write_Object(::org::omg::CORBA::Object *); + virtual void write_TypeCode(::org::omg::CORBA::TypeCode *); + virtual void write_any(::org::omg::CORBA::Any *); + virtual void write_boolean(jboolean); + virtual void write_boolean_array(JArray< jboolean > *, jint, jint); + virtual void write_char(jchar); + virtual void write_char_array(JArray< jchar > *, jint, jint); + virtual void write_double(jdouble); + virtual void write_double_array(JArray< jdouble > *, jint, jint); + virtual void write_fixed(::java::math::BigDecimal *); + virtual void write_float(jfloat); + virtual void write_float_array(JArray< jfloat > *, jint, jint); + virtual void write_long(jint); + virtual void write_long_array(JArray< jint > *, jint, jint); + virtual void write_longlong(jlong); + virtual void write_longlong_array(JArray< jlong > *, jint, jint); + virtual void write_octet(jbyte); + virtual void write_octet_array(JArray< jbyte > *, jint, jint); + virtual void write_sequence(JArray< jbyte > *); + virtual void write_sequence(::gnu::CORBA::CDR::BufferedCdrOutput *); + virtual void write_short(jshort); + virtual void write_short_array(JArray< jshort > *, jint, jint); + virtual void write_string(::java::lang::String *); + virtual void write_ulong(jint); + virtual void write_ulong_array(JArray< jint > *, jint, jint); + virtual void write_ulonglong(jlong); + virtual void write_ulonglong_array(JArray< jlong > *, jint, jint); + virtual void write_ushort(jshort); + virtual void write_ushort_array(JArray< jshort > *, jint, jint); + virtual void write_wchar(jchar); + virtual void write_wchar_array(JArray< jchar > *, jint, jint); + virtual void write_wstring(::java::lang::String *); + virtual void write_any_array(JArray< ::org::omg::CORBA::Any * > *, jint, jint); + virtual JArray< ::java::lang::String * > * _truncatable_ids(); + virtual void write_Abstract(::java::lang::Object *); + virtual void write_Value(::java::io::Serializable *); + ::gnu::CORBA::CDR::gnuRuntime * __attribute__((aligned(__alignof__( ::org::omg::CORBA_2_3::portable::OutputStream)))) runtime; +public: // actually protected + ::gnu::CORBA::CDR::AbstractDataOutput * b; + ::org::omg::CORBA::ORB * orb__; + ::gnu::CORBA::Version * giop; + ::gnu::CORBA::GIOP::CodeSetServiceContext * codeset; +private: + ::java::lang::String * narrow_charset; + ::java::lang::String * wide_charset; + jboolean narrow_native; + jboolean wide_native; + jboolean little_endian; + ::java::io::OutputStream * actual_stream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_AbstractCdrOutput__ diff --git a/libjava/gnu/CORBA/CDR/AbstractDataInput.h b/libjava/gnu/CORBA/CDR/AbstractDataInput.h new file mode 100644 index 00000000000..c4c147f3a17 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/AbstractDataInput.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_AbstractDataInput__ +#define __gnu_CORBA_CDR_AbstractDataInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractDataInput; + } + } + } +} + +class gnu::CORBA::CDR::AbstractDataInput : public ::java::lang::Object +{ + +public: + virtual jint read(JArray< jbyte > *) = 0; + virtual jint read(JArray< jbyte > *, jint, jint) = 0; + virtual jboolean readBoolean() = 0; + virtual jbyte readByte() = 0; + virtual jchar readChar() = 0; + virtual jdouble readDouble() = 0; + virtual jfloat readFloat() = 0; + virtual void readFully(JArray< jbyte > *) = 0; + virtual jint readInt() = 0; + virtual jlong readLong() = 0; + virtual jshort readShort() = 0; + virtual jint readUnsignedByte() = 0; + virtual jint readUnsignedShort() = 0; + virtual jint read() = 0; + virtual jint skipBytes(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_CDR_AbstractDataInput__ diff --git a/libjava/gnu/CORBA/CDR/AbstractDataOutput.h b/libjava/gnu/CORBA/CDR/AbstractDataOutput.h new file mode 100644 index 00000000000..08ba71438f7 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/AbstractDataOutput.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_AbstractDataOutput__ +#define __gnu_CORBA_CDR_AbstractDataOutput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractDataOutput; + } + } + } +} + +class gnu::CORBA::CDR::AbstractDataOutput : public ::java::lang::Object +{ + +public: + virtual void flush() = 0; + virtual void write(jint) = 0; + virtual void write(JArray< jbyte > *, jint, jint) = 0; + virtual void write(JArray< jbyte > *) = 0; + virtual void writeBoolean(jboolean) = 0; + virtual void writeByte(jint) = 0; + virtual void writeShort(jint) = 0; + virtual void writeChar(jint) = 0; + virtual void writeInt(jint) = 0; + virtual void writeLong(jlong) = 0; + virtual void writeFloat(jfloat) = 0; + virtual void writeDouble(jdouble) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_CDR_AbstractDataOutput__ diff --git a/libjava/gnu/CORBA/CDR/AligningInput.h b/libjava/gnu/CORBA/CDR/AligningInput.h new file mode 100644 index 00000000000..54e842019f8 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/AligningInput.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_AligningInput__ +#define __gnu_CORBA_CDR_AligningInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AligningInput; + } + } + } +} + +class gnu::CORBA::CDR::AligningInput : public ::java::io::ByteArrayInputStream +{ + +public: + AligningInput(JArray< jbyte > *); + virtual void setOffset(jint); + virtual void align(jint); + virtual JArray< jbyte > * getBuffer(); + virtual jint getPosition(); + virtual void seek(jint); +private: + jint __attribute__((aligned(__alignof__( ::java::io::ByteArrayInputStream)))) offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_AligningInput__ diff --git a/libjava/gnu/CORBA/CDR/AligningOutput.h b/libjava/gnu/CORBA/CDR/AligningOutput.h new file mode 100644 index 00000000000..2b889783e80 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/AligningOutput.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_AligningOutput__ +#define __gnu_CORBA_CDR_AligningOutput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AligningOutput; + } + } + } +} + +class gnu::CORBA::CDR::AligningOutput : public ::java::io::ByteArrayOutputStream +{ + +public: + AligningOutput(); + AligningOutput(jint); + virtual void setOffset(jint); + virtual void align(jint); + virtual void skip(jint); + virtual jint getPosition(); + virtual void seek(jint); + virtual JArray< jbyte > * getBuffer(); +private: + jint __attribute__((aligned(__alignof__( ::java::io::ByteArrayOutputStream)))) offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_AligningOutput__ diff --git a/libjava/gnu/CORBA/CDR/ArrayValueHelper.h b/libjava/gnu/CORBA/CDR/ArrayValueHelper.h new file mode 100644 index 00000000000..2da61214017 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/ArrayValueHelper.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_ArrayValueHelper__ +#define __gnu_CORBA_CDR_ArrayValueHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class ArrayValueHelper; + } + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class ValueHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::CDR::ArrayValueHelper : public ::java::lang::Object +{ + +public: // actually package-private + virtual jboolean written_as_object(); + ArrayValueHelper(::java::lang::Class *); +public: + virtual ::java::lang::String * get_id(); + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::InputStream *); + virtual void write_value(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); +public: // actually package-private + static ::javax::rmi::CORBA::ValueHandler * handler; + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) arrayClass; + ::java::lang::Class * component; + ::java::lang::String * componentId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_ArrayValueHelper__ diff --git a/libjava/gnu/CORBA/CDR/BigEndianInputStream.h b/libjava/gnu/CORBA/CDR/BigEndianInputStream.h new file mode 100644 index 00000000000..9feb32e9863 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/BigEndianInputStream.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_BigEndianInputStream__ +#define __gnu_CORBA_CDR_BigEndianInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BigEndianInputStream; + } + } + } +} + +class gnu::CORBA::CDR::BigEndianInputStream : public ::java::io::DataInputStream +{ + +public: + BigEndianInputStream(::java::io::InputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_BigEndianInputStream__ diff --git a/libjava/gnu/CORBA/CDR/BigEndianOutputStream.h b/libjava/gnu/CORBA/CDR/BigEndianOutputStream.h new file mode 100644 index 00000000000..12e14d8dda2 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/BigEndianOutputStream.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_BigEndianOutputStream__ +#define __gnu_CORBA_CDR_BigEndianOutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BigEndianOutputStream; + } + } + } +} + +class gnu::CORBA::CDR::BigEndianOutputStream : public ::java::io::DataOutputStream +{ + +public: + BigEndianOutputStream(::java::io::OutputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_BigEndianOutputStream__ diff --git a/libjava/gnu/CORBA/CDR/BufferedCdrOutput.h b/libjava/gnu/CORBA/CDR/BufferedCdrOutput.h new file mode 100644 index 00000000000..373a9e2c42c --- /dev/null +++ b/libjava/gnu/CORBA/CDR/BufferedCdrOutput.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_BufferedCdrOutput__ +#define __gnu_CORBA_CDR_BufferedCdrOutput__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AligningOutput; + class BufferedCdrOutput; + class gnuRuntime; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + } + } + } + } +} + +class gnu::CORBA::CDR::BufferedCdrOutput : public ::gnu::CORBA::CDR::AbstractCdrOutput +{ + +public: + BufferedCdrOutput(jint); + BufferedCdrOutput(); + virtual void setOffset(jint); + virtual void align(jint); + virtual ::org::omg::CORBA::portable::InputStream * create_input_stream(); + virtual void reset(); + virtual jint getPosition(); + virtual ::gnu::CORBA::CDR::gnuRuntime * getRunTime(); + virtual void setRunTime(::gnu::CORBA::CDR::gnuRuntime *); + virtual void seek(jint); +private: + static const jlong serialVersionUID = 1LL; +public: + ::gnu::CORBA::CDR::AligningOutput * __attribute__((aligned(__alignof__( ::gnu::CORBA::CDR::AbstractCdrOutput)))) buffer; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_BufferedCdrOutput__ diff --git a/libjava/gnu/CORBA/CDR/BufferredCdrInput.h b/libjava/gnu/CORBA/CDR/BufferredCdrInput.h new file mode 100644 index 00000000000..71a8e20b7ae --- /dev/null +++ b/libjava/gnu/CORBA/CDR/BufferredCdrInput.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_BufferredCdrInput__ +#define __gnu_CORBA_CDR_BufferredCdrInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AligningInput; + class BufferredCdrInput; + class gnuRuntime; + } + } + } +} + +class gnu::CORBA::CDR::BufferredCdrInput : public ::gnu::CORBA::CDR::AbstractCdrInput +{ + +public: + BufferredCdrInput(JArray< jbyte > *); + virtual void setOffset(jint); + virtual void align(jint); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual void reset(); + virtual jint getPosition(); + virtual void seek(jint); + virtual ::gnu::CORBA::CDR::gnuRuntime * getRunTime(); + virtual void setRunTime(::gnu::CORBA::CDR::gnuRuntime *); +private: + static const jlong serialVersionUID = 1LL; +public: + ::gnu::CORBA::CDR::AligningInput * __attribute__((aligned(__alignof__( ::gnu::CORBA::CDR::AbstractCdrInput)))) buffer; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_BufferredCdrInput__ diff --git a/libjava/gnu/CORBA/CDR/EncapsulationStream.h b/libjava/gnu/CORBA/CDR/EncapsulationStream.h new file mode 100644 index 00000000000..9b3a2d5f2d8 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/EncapsulationStream.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_EncapsulationStream__ +#define __gnu_CORBA_CDR_EncapsulationStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AligningOutput; + class EncapsulationStream; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::CDR::EncapsulationStream : public ::gnu::CORBA::CDR::AbstractCdrOutput +{ + +public: + EncapsulationStream(::org::omg::CORBA::portable::OutputStream *, jboolean); + virtual void setOffset(jint); + virtual void align(jint); + virtual void close(); + virtual ::org::omg::CORBA::portable::InputStream * create_input_stream(); + virtual void reset(); + static const jbyte BIG_ENDIAN = 0; + static const jbyte LITTLE_ENDIAN = 1; + ::gnu::CORBA::CDR::AligningOutput * __attribute__((aligned(__alignof__( ::gnu::CORBA::CDR::AbstractCdrOutput)))) buffer; + ::org::omg::CORBA::portable::OutputStream * parent; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_EncapsulationStream__ diff --git a/libjava/gnu/CORBA/CDR/HeadlessInput.h b/libjava/gnu/CORBA/CDR/HeadlessInput.h new file mode 100644 index 00000000000..2cc8e85a5d6 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/HeadlessInput.h @@ -0,0 +1,156 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_HeadlessInput__ +#define __gnu_CORBA_CDR_HeadlessInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferredCdrInput; + class HeadlessInput; + class gnuRuntime; + } + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class AnySeqHolder; + class BooleanSeqHolder; + class CharSeqHolder; + class Context; + class DoubleSeqHolder; + class FloatSeqHolder; + class LongLongSeqHolder; + class LongSeqHolder; + class ORB; + class Object; + class OctetSeqHolder; + class Principal; + class ShortSeqHolder; + class TypeCode; + class ULongLongSeqHolder; + class ULongSeqHolder; + class UShortSeqHolder; + class WCharSeqHolder; + namespace portable + { + class BoxedValueHelper; + class InputStream; + } + } + } + } +} + +class gnu::CORBA::CDR::HeadlessInput : public ::org::omg::CORBA_2_3::portable::InputStream +{ + +public: + HeadlessInput(::gnu::CORBA::CDR::BufferredCdrInput *, ::org::omg::CORBA::portable::InputStream *); + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::BoxedValueHelper *); + virtual ::java::io::Serializable * read_value(::java::lang::String *); + virtual ::java::io::Serializable * read_value(::java::io::Serializable *); + virtual ::java::io::Serializable * read_value(::java::lang::Class *); + virtual jint available(); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual ::org::omg::CORBA::ORB * orb(); + virtual ::java::lang::Object * read_abstract_interface(); + virtual ::java::lang::Object * read_abstract_interface(::java::lang::Class *); + virtual ::org::omg::CORBA::Any * read_any(); + virtual void read_boolean_array(JArray< jboolean > *, jint, jint); + virtual jboolean read_boolean(); + virtual void read_char_array(JArray< jchar > *, jint, jint); + virtual jchar read_char(); + virtual ::org::omg::CORBA::Context * read_Context(); + virtual void read_double_array(JArray< jdouble > *, jint, jint); + virtual jdouble read_double(); + virtual ::java::math::BigDecimal * read_fixed(); + virtual void read_float_array(JArray< jfloat > *, jint, jint); + virtual jfloat read_float(); + virtual void read_long_array(JArray< jint > *, jint, jint); + virtual jint read_long(); + virtual void read_longlong_array(JArray< jlong > *, jint, jint); + virtual jlong read_longlong(); + virtual ::org::omg::CORBA::Object * read_Object(); + virtual ::org::omg::CORBA::Object * read_Object(::java::lang::Class *); + virtual void read_octet_array(JArray< jbyte > *, jint, jint); + virtual jbyte read_octet(); + virtual ::org::omg::CORBA::Principal * read_Principal(); + virtual void read_short_array(JArray< jshort > *, jint, jint); + virtual jshort read_short(); + virtual ::java::lang::String * read_string(); + virtual ::org::omg::CORBA::TypeCode * read_TypeCode(); + virtual void read_ulong_array(JArray< jint > *, jint, jint); + virtual jint read_ulong(); + virtual void read_ulonglong_array(JArray< jlong > *, jint, jint); + virtual jlong read_ulonglong(); + virtual void read_ushort_array(JArray< jshort > *, jint, jint); + virtual jshort read_ushort(); + virtual ::java::io::Serializable * read_value(); + virtual void read_wchar_array(JArray< jchar > *, jint, jint); + virtual jchar read_wchar(); + virtual ::java::lang::String * read_wstring(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); + virtual void reset(); + virtual jlong skip(jlong); + virtual ::java::lang::String * toString(); + virtual JArray< ::java::lang::String * > * _truncatable_ids(); + virtual ::java::lang::Object * read_Abstract(); + virtual void read_any_array(::org::omg::CORBA::AnySeqHolder *, jint, jint); + virtual void read_boolean_array(::org::omg::CORBA::BooleanSeqHolder *, jint, jint); + virtual void read_char_array(::org::omg::CORBA::CharSeqHolder *, jint, jint); + virtual void read_double_array(::org::omg::CORBA::DoubleSeqHolder *, jint, jint); + virtual void read_float_array(::org::omg::CORBA::FloatSeqHolder *, jint, jint); + virtual void read_long_array(::org::omg::CORBA::LongSeqHolder *, jint, jint); + virtual void read_longlong_array(::org::omg::CORBA::LongLongSeqHolder *, jint, jint); + virtual void read_octet_array(::org::omg::CORBA::OctetSeqHolder *, jint, jint); + virtual void read_short_array(::org::omg::CORBA::ShortSeqHolder *, jint, jint); + virtual void read_ulong_array(::org::omg::CORBA::ULongSeqHolder *, jint, jint); + virtual void read_ulonglong_array(::org::omg::CORBA::ULongLongSeqHolder *, jint, jint); + virtual void read_ushort_array(::org::omg::CORBA::UShortSeqHolder *, jint, jint); + virtual ::java::io::Serializable * read_Value(); + virtual void read_wchar_array(::org::omg::CORBA::WCharSeqHolder *, jint, jint); + virtual jint getPosition(); + virtual ::gnu::CORBA::CDR::gnuRuntime * getRunTime(); + virtual void setRunTime(::gnu::CORBA::CDR::gnuRuntime *); + virtual void seek(jint); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + static const jint NONE = -1; +public: + jboolean __attribute__((aligned(__alignof__( ::org::omg::CORBA_2_3::portable::InputStream)))) subsequentCalls; +public: // actually package-private + ::gnu::CORBA::CDR::BufferredCdrInput * stream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_HeadlessInput__ diff --git a/libjava/gnu/CORBA/CDR/IDLTypeHelper.h b/libjava/gnu/CORBA/CDR/IDLTypeHelper.h new file mode 100644 index 00000000000..9c97fc8169b --- /dev/null +++ b/libjava/gnu/CORBA/CDR/IDLTypeHelper.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_IDLTypeHelper__ +#define __gnu_CORBA_CDR_IDLTypeHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class IDLTypeHelper; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::CDR::IDLTypeHelper : public ::java::lang::Object +{ + +public: + IDLTypeHelper(::java::lang::Class *); + virtual ::java::lang::String * get_id(); + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::InputStream *); + virtual void write_value(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); +public: // actually package-private + virtual ::java::lang::String * msg(); +public: // actually protected + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) helper; +public: // actually package-private + static JArray< ::java::lang::Object * > * ARGS_ID_V; + static JArray< ::java::lang::Class * > * ARGS_ID; + static JArray< ::java::lang::Class * > * ARGS_READ; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_IDLTypeHelper__ diff --git a/libjava/gnu/CORBA/CDR/LittleEndianInputStream.h b/libjava/gnu/CORBA/CDR/LittleEndianInputStream.h new file mode 100644 index 00000000000..d6a9a6e05dc --- /dev/null +++ b/libjava/gnu/CORBA/CDR/LittleEndianInputStream.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_LittleEndianInputStream__ +#define __gnu_CORBA_CDR_LittleEndianInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class LittleEndianInputStream; + } + } + } +} + +class gnu::CORBA::CDR::LittleEndianInputStream : public ::java::io::FilterInputStream +{ + +public: + LittleEndianInputStream(::java::io::InputStream *); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual jchar readChar(); + virtual jdouble readDouble(); + virtual jfloat readFloat(); + virtual void readFully(JArray< jbyte > *); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual jint readInt(); + virtual ::java::lang::String * readLine(); + virtual jlong readLong(); + virtual jshort readShort(); + virtual jint readUnsignedByte(); + virtual jint readUnsignedShort(); + virtual jint skipBytes(jint); +public: // actually protected + virtual jboolean convertToBoolean(jint); + virtual jbyte convertToByte(jint); + virtual jint convertToUnsignedByte(jint); + virtual jchar convertToChar(JArray< jbyte > *); + virtual jshort convertToShort(JArray< jbyte > *); + virtual jint convertToUnsignedShort(JArray< jbyte > *); + virtual jint convertToInt(JArray< jbyte > *); + virtual jlong convertToLong(JArray< jbyte > *); +public: + virtual ::java::lang::String * readUTF(); +public: // actually package-private + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_LittleEndianInputStream__ diff --git a/libjava/gnu/CORBA/CDR/LittleEndianOutputStream.h b/libjava/gnu/CORBA/CDR/LittleEndianOutputStream.h new file mode 100644 index 00000000000..3fb7db57c56 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/LittleEndianOutputStream.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_LittleEndianOutputStream__ +#define __gnu_CORBA_CDR_LittleEndianOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class LittleEndianOutputStream; + } + } + } +} + +class gnu::CORBA::CDR::LittleEndianOutputStream : public ::java::io::FilterOutputStream +{ + +public: + LittleEndianOutputStream(::java::io::OutputStream *); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeShort(jint); + virtual void writeChar(jint); + virtual void writeInt(jint); + virtual void writeLong(jlong); + virtual void writeFloat(jfloat); + virtual void writeDouble(jdouble); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_LittleEndianOutputStream__ diff --git a/libjava/gnu/CORBA/CDR/UnknownExceptionCtxHandler.h b/libjava/gnu/CORBA/CDR/UnknownExceptionCtxHandler.h new file mode 100644 index 00000000000..9f77414d40f --- /dev/null +++ b/libjava/gnu/CORBA/CDR/UnknownExceptionCtxHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_UnknownExceptionCtxHandler__ +#define __gnu_CORBA_CDR_UnknownExceptionCtxHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + class BufferredCdrInput; + class UnknownExceptionCtxHandler; + } + namespace GIOP + { + class ServiceContext; + } + } + } +} + +class gnu::CORBA::CDR::UnknownExceptionCtxHandler : public ::gnu::CORBA::CDR::Vio +{ + +public: + UnknownExceptionCtxHandler(); + static JArray< ::gnu::CORBA::GIOP::ServiceContext * > * addExceptionContext(JArray< ::gnu::CORBA::GIOP::ServiceContext * > *, ::java::lang::Throwable *, ::java::lang::Object *); + static void write(::gnu::CORBA::CDR::BufferedCdrOutput *, ::java::lang::Throwable *); + static ::java::lang::Throwable * read(::gnu::CORBA::CDR::BufferredCdrInput *, JArray< ::gnu::CORBA::GIOP::ServiceContext * > *); +public: // actually package-private + static ::java::lang::Object * createInstance(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::String *); + static ::java::lang::Object * _createInstance(::java::lang::String *, ::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_UnknownExceptionCtxHandler__ diff --git a/libjava/gnu/CORBA/CDR/VMVio.h b/libjava/gnu/CORBA/CDR/VMVio.h new file mode 100644 index 00000000000..e8267e80df9 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/VMVio.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_VMVio__ +#define __gnu_CORBA_CDR_VMVio__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class VMVio; + } + } + } +} + +class gnu::CORBA::CDR::VMVio : public ::java::lang::Object +{ + +public: + VMVio(); + static ::java::lang::Object * allocateObject(::java::lang::Class *, ::java::lang::Class *, ::java::lang::reflect::Constructor *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_VMVio__ diff --git a/libjava/gnu/CORBA/CDR/Vio.h b/libjava/gnu/CORBA/CDR/Vio.h new file mode 100644 index 00000000000..367a63d6cb4 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/Vio.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_Vio__ +#define __gnu_CORBA_CDR_Vio__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + class Vio; + } + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class ValueHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class WStringValueHelper; + namespace portable + { + class BoxedValueHelper; + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::CDR::Vio : public ::java::lang::Object +{ + +public: + Vio(); + static ::java::io::Serializable * read(::org::omg::CORBA::portable::InputStream *); + static ::java::io::Serializable * read(::org::omg::CORBA::portable::InputStream *, ::java::lang::String *); + static ::java::io::Serializable * read(::org::omg::CORBA::portable::InputStream *, ::java::lang::Class *); + static ::java::lang::Object * read(::org::omg::CORBA::portable::InputStream *, ::java::lang::Object *, ::org::omg::CORBA::portable::BoxedValueHelper *); + static ::java::io::Serializable * read(::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::BoxedValueHelper *); +public: // actually package-private + static ::java::lang::Object * read_instance(::org::omg::CORBA::portable::InputStream *, jint, ::java::lang::Object *, jint, ::org::omg::CORBA::portable::BoxedValueHelper *, ::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::String *); +private: + static ::gnu::CORBA::CDR::BufferedCdrOutput * createBuffer(::org::omg::CORBA::portable::InputStream *, jint); +public: + static jint readNestedValue(jint, ::org::omg::CORBA::portable::InputStream *, ::gnu::CORBA::CDR::BufferedCdrOutput *, jint); + static ::java::io::Serializable * readValue(::org::omg::CORBA::portable::InputStream *, jint, ::java::lang::Object *, ::org::omg::CORBA::portable::BoxedValueHelper *, ::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::String *); +public: // actually package-private + static ::java::lang::String * list(JArray< ::java::lang::String * > *); +public: + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, ::java::lang::Class *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, JArray< ::java::lang::String * > *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, ::java::lang::String *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, ::org::omg::CORBA::portable::BoxedValueHelper *); +private: + static void writeString(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); +public: // actually package-private + static void write_instance(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, ::java::lang::Object *, ::org::omg::CORBA::portable::BoxedValueHelper *); + static void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, ::org::omg::CORBA::portable::BoxedValueHelper *); + static jboolean writeSelf(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + static ::java::io::Serializable * readIndirection(::org::omg::CORBA::portable::InputStream *); + static void checkTag(jint); + static void throwIt(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Object * createInstance(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::String *); + static ::java::lang::Object * _createInstance(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * read_string(::org::omg::CORBA::portable::InputStream *); + static JArray< ::java::lang::String * > * read_string_array(::org::omg::CORBA::portable::InputStream *); + static void write_string(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static void write_string_array(::org::omg::CORBA::portable::OutputStream *, JArray< ::java::lang::String * > *); +public: + static ::org::omg::CORBA::portable::BoxedValueHelper * getHelper(::java::lang::Class *, ::java::lang::Object *); + static ::org::omg::CORBA::portable::BoxedValueHelper * getHelper(::java::lang::Class *, ::java::lang::String *); +public: // actually package-private + static ::org::omg::CORBA::portable::BoxedValueHelper * locateHelper(::java::lang::String *); + static jint getCurrentPosition(::org::omg::CORBA::portable::InputStream *); +public: + static ::java::lang::Object * instantiateAnyWay(::java::lang::Class *); + static jboolean USE_CHUNKING; + static const jint vt_VALUE_TAG = 2147483392; + static const jint vf_CODEBASE = 1; + static const jint vf_ID = 2; + static const jint vf_MULTIPLE_IDS = 4; + static const jint vf_CHUNKING = 8; + static const jint vt_INDIRECTION = -1; + static const jint vt_NULL = 0; +public: // actually package-private + static const jint INT_SIZE = 4; +public: + static ::org::omg::CORBA::WStringValueHelper * m_StringValueHelper; +public: // actually package-private + static ::javax::rmi::CORBA::ValueHandler * handler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_Vio__ diff --git a/libjava/gnu/CORBA/CDR/gnuRuntime$1.h b/libjava/gnu/CORBA/CDR/gnuRuntime$1.h new file mode 100644 index 00000000000..f20890e435a --- /dev/null +++ b/libjava/gnu/CORBA/CDR/gnuRuntime$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_gnuRuntime$1__ +#define __gnu_CORBA_CDR_gnuRuntime$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime; + class gnuRuntime$1; + } + } + } +} + +class gnu::CORBA::CDR::gnuRuntime$1 : public ::java::lang::Object +{ + +public: // actually package-private + gnuRuntime$1(::gnu::CORBA::CDR::gnuRuntime *); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ::gnu::CORBA::CDR::gnuRuntime * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_gnuRuntime$1__ diff --git a/libjava/gnu/CORBA/CDR/gnuRuntime$Entry.h b/libjava/gnu/CORBA/CDR/gnuRuntime$Entry.h new file mode 100644 index 00000000000..f6e157517c7 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/gnuRuntime$Entry.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_gnuRuntime$Entry__ +#define __gnu_CORBA_CDR_gnuRuntime$Entry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime$Entry; + } + } + } +} + +class gnu::CORBA::CDR::gnuRuntime$Entry : public ::java::lang::Object +{ + +public: // actually package-private + gnuRuntime$Entry(); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) at; + ::java::lang::Object * object; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_gnuRuntime$Entry__ diff --git a/libjava/gnu/CORBA/CDR/gnuRuntime$Redirection.h b/libjava/gnu/CORBA/CDR/gnuRuntime$Redirection.h new file mode 100644 index 00000000000..b9b58638822 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/gnuRuntime$Redirection.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_gnuRuntime$Redirection__ +#define __gnu_CORBA_CDR_gnuRuntime$Redirection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime$Redirection; + } + } + } +} + +class gnu::CORBA::CDR::gnuRuntime$Redirection : public ::gnu::CORBA::CDR::gnuRuntime$Entry +{ + +public: // actually package-private + gnuRuntime$Redirection(); +public: + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_gnuRuntime$Redirection__ diff --git a/libjava/gnu/CORBA/CDR/gnuRuntime.h b/libjava/gnu/CORBA/CDR/gnuRuntime.h new file mode 100644 index 00000000000..a120cba09f7 --- /dev/null +++ b/libjava/gnu/CORBA/CDR/gnuRuntime.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_gnuRuntime__ +#define __gnu_CORBA_CDR_gnuRuntime__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime; + } + } + } +} + +class gnu::CORBA::CDR::gnuRuntime : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuRuntime(::java::lang::String *, ::java::lang::Object *); + virtual void objectWritten(::java::lang::Object *, jint); + virtual jint isWrittenAt(::java::lang::Object *); + virtual void redirect(jint, jint); + virtual ::java::lang::Object * isObjectWrittenAt(jint, jint); + virtual void singleIdWritten(::java::lang::String *, jint); + virtual void multipleIdsWritten(JArray< ::java::lang::String * > *, jint); + virtual jint idWrittenAt(::java::lang::Object *); + virtual ::java::lang::String * getCodeBase(); + virtual void addCodeBase(::java::lang::String *); + virtual ::java::lang::String * dump(); +private: + static const jlong serialVersionUID = 1LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) sh_objects; + ::java::util::Map * sh_ids; + ::java::util::Map * positions; + ::java::lang::String * codebase; +public: + ::java::io::Serializable * target; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CDR_gnuRuntime__ diff --git a/libjava/gnu/CORBA/CDR/gnuValueStream.h b/libjava/gnu/CORBA/CDR/gnuValueStream.h new file mode 100644 index 00000000000..880cc61cdba --- /dev/null +++ b/libjava/gnu/CORBA/CDR/gnuValueStream.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CDR_gnuValueStream__ +#define __gnu_CORBA_CDR_gnuValueStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime; + class gnuValueStream; + } + } + } +} + +class gnu::CORBA::CDR::gnuValueStream : public ::java::lang::Object +{ + +public: + virtual jint getPosition() = 0; + virtual void seek(jint) = 0; + virtual ::gnu::CORBA::CDR::gnuRuntime * getRunTime() = 0; + virtual void setRunTime(::gnu::CORBA::CDR::gnuRuntime *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_CDR_gnuValueStream__ diff --git a/libjava/gnu/CORBA/CdrEncapsCodecImpl.h b/libjava/gnu/CORBA/CdrEncapsCodecImpl.h new file mode 100644 index 00000000000..8bdc15b9cf4 --- /dev/null +++ b/libjava/gnu/CORBA/CdrEncapsCodecImpl.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CdrEncapsCodecImpl__ +#define __gnu_CORBA_CdrEncapsCodecImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + class BufferredCdrInput; + } + class CdrEncapsCodecImpl; + class Version; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + } + } +} + +class gnu::CORBA::CdrEncapsCodecImpl : public ::org::omg::CORBA::LocalObject +{ + +public: + CdrEncapsCodecImpl(::org::omg::CORBA::ORB *, ::gnu::CORBA::Version *); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::Any * decode(JArray< jbyte > *); +private: + ::gnu::CORBA::CDR::BufferredCdrInput * createEncapsulation(JArray< jbyte > *, ::gnu::CORBA::CDR::BufferredCdrInput *); +public: + virtual JArray< jbyte > * encode(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * decode_value(JArray< jbyte > *, ::org::omg::CORBA::TypeCode *); +private: + ::org::omg::CORBA::Any * readAny(::org::omg::CORBA::TypeCode *, ::gnu::CORBA::CDR::BufferredCdrInput *); +public: + virtual JArray< jbyte > * encode_value(::org::omg::CORBA::Any *); +private: + ::gnu::CORBA::CDR::BufferedCdrOutput * createOutput(::org::omg::CORBA::Any *); + void checkTypePossibility(::java::lang::String *, ::org::omg::CORBA::TypeCode *); + ::gnu::CORBA::CDR::BufferredCdrInput * createInput(JArray< jbyte > *); +public: + virtual jboolean hasLengthIndicator(); + virtual void setUseLengthIndicator(jboolean); +private: + static const jlong serialVersionUID = 1LL; + jboolean __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) noWide; + ::gnu::CORBA::Version * version; +public: // actually protected + ::org::omg::CORBA::ORB * orb; +private: + jboolean lengthIndicator; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CdrEncapsCodecImpl__ diff --git a/libjava/gnu/CORBA/CollocatedOrbs.h b/libjava/gnu/CORBA/CollocatedOrbs.h new file mode 100644 index 00000000000..60a47556848 --- /dev/null +++ b/libjava/gnu/CORBA/CollocatedOrbs.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CollocatedOrbs__ +#define __gnu_CORBA_CollocatedOrbs__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class CollocatedOrbs; + class IOR; + class OrbFunctional; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + } + } +} + +class gnu::CORBA::CollocatedOrbs : public ::java::lang::Object +{ + +public: // actually package-private + CollocatedOrbs(); + static void registerOrb(::gnu::CORBA::OrbFunctional *); + static void unregisterOrb(::gnu::CORBA::OrbFunctional *); + static ::org::omg::CORBA::Object * searchLocalObject(::gnu::CORBA::IOR *); + static jboolean DIRECT_CALLS_ALLOWED; +private: + static ::java::util::ArrayList * orbs; +public: // actually package-private + static ::java::lang::String * localHost; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CollocatedOrbs__ diff --git a/libjava/gnu/CORBA/Connected_objects$cObject.h b/libjava/gnu/CORBA/Connected_objects$cObject.h new file mode 100644 index 00000000000..bc4be4505a0 --- /dev/null +++ b/libjava/gnu/CORBA/Connected_objects$cObject.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Connected_objects$cObject__ +#define __gnu_CORBA_Connected_objects$cObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Connected_objects; + class Connected_objects$cObject; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + } + } +} + +class gnu::CORBA::Connected_objects$cObject : public ::java::lang::Object +{ + +public: // actually package-private + Connected_objects$cObject(::gnu::CORBA::Connected_objects *, ::org::omg::CORBA::Object *, jint, JArray< jbyte > *, ::java::lang::Object *); +public: + ::org::omg::CORBA::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) object; + jint port; + JArray< jbyte > * key; + ::java::lang::Object * identity; +public: // actually package-private + ::gnu::CORBA::Connected_objects * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Connected_objects$cObject__ diff --git a/libjava/gnu/CORBA/Connected_objects.h b/libjava/gnu/CORBA/Connected_objects.h new file mode 100644 index 00000000000..f22aa0c8e04 --- /dev/null +++ b/libjava/gnu/CORBA/Connected_objects.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Connected_objects__ +#define __gnu_CORBA_Connected_objects__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Connected_objects; + class Connected_objects$cObject; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + } + } +} + +class gnu::CORBA::Connected_objects : public ::java::lang::Object +{ + +public: + Connected_objects(); + virtual ::gnu::CORBA::Connected_objects$cObject * getKey(::org::omg::CORBA::Object *); + virtual ::gnu::CORBA::Connected_objects$cObject * add(::org::omg::CORBA::Object *, jint); + virtual ::gnu::CORBA::Connected_objects$cObject * add(JArray< jbyte > *, ::org::omg::CORBA::Object *, jint, ::java::lang::Object *); + virtual ::gnu::CORBA::Connected_objects$cObject * get(JArray< jbyte > *); + virtual ::java::util::Set * entrySet(); + virtual void remove(::org::omg::CORBA::Object *); + virtual void remove(JArray< jbyte > *); +public: // actually protected + virtual JArray< jbyte > * generateObjectKey(::org::omg::CORBA::Object *); +private: + static jlong getFreeInstanceNumber(); +public: + virtual jint size(); +private: + static jlong free_object_number; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objects; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Connected_objects__ diff --git a/libjava/gnu/CORBA/CorbaList.h b/libjava/gnu/CORBA/CorbaList.h new file mode 100644 index 00000000000..26e4cadf8b4 --- /dev/null +++ b/libjava/gnu/CORBA/CorbaList.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_CorbaList__ +#define __gnu_CORBA_CorbaList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class CorbaList; + } + } +} + +class gnu::CORBA::CorbaList : public ::java::util::ArrayList +{ + +public: + CorbaList(jint); + CorbaList(); + virtual void drop(jint); + virtual ::java::lang::Object * item(jint); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_CorbaList__ diff --git a/libjava/gnu/CORBA/DefaultSocketFactory.h b/libjava/gnu/CORBA/DefaultSocketFactory.h new file mode 100644 index 00000000000..3fe423d0543 --- /dev/null +++ b/libjava/gnu/CORBA/DefaultSocketFactory.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DefaultSocketFactory__ +#define __gnu_CORBA_DefaultSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class DefaultSocketFactory; + } + } + namespace java + { + namespace net + { + class ServerSocket; + class Socket; + } + } +} + +class gnu::CORBA::DefaultSocketFactory : public ::java::lang::Object +{ + +public: + DefaultSocketFactory(); + virtual ::java::net::Socket * createClientSocket(::java::lang::String *, jint); + virtual ::java::net::ServerSocket * createServerSocket(jint); + static ::gnu::CORBA::DefaultSocketFactory * Singleton; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DefaultSocketFactory__ diff --git a/libjava/gnu/CORBA/DefinitionKindHolder.h b/libjava/gnu/CORBA/DefinitionKindHolder.h new file mode 100644 index 00000000000..3853f506a28 --- /dev/null +++ b/libjava/gnu/CORBA/DefinitionKindHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DefinitionKindHolder__ +#define __gnu_CORBA_DefinitionKindHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class DefinitionKindHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class DefinitionKind; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::DefinitionKindHolder : public ::java::lang::Object +{ + +public: + DefinitionKindHolder(::org::omg::CORBA::DefinitionKind *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::DefinitionKind * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DefinitionKindHolder__ diff --git a/libjava/gnu/CORBA/DuplicateNameHolder.h b/libjava/gnu/CORBA/DuplicateNameHolder.h new file mode 100644 index 00000000000..04e25dc76aa --- /dev/null +++ b/libjava/gnu/CORBA/DuplicateNameHolder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DuplicateNameHolder__ +#define __gnu_CORBA_DuplicateNameHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class DuplicateNameHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + namespace ORBInitInfoPackage + { + class DuplicateName; + } + } + } + } +} + +class gnu::CORBA::DuplicateNameHolder : public ::java::lang::Object +{ + +public: + DuplicateNameHolder(); + DuplicateNameHolder(::org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DuplicateNameHolder__ diff --git a/libjava/gnu/CORBA/DynAn/AbstractAny.h b/libjava/gnu/CORBA/DynAn/AbstractAny.h new file mode 100644 index 00000000000..12346310a65 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/AbstractAny.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_AbstractAny__ +#define __gnu_CORBA_DynAn_AbstractAny__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class AbstractAny; + class ValueChangeListener; + class gnuDynAnyFactory; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + } + } +} + +class gnu::CORBA::DynAn::AbstractAny : public ::org::omg::CORBA::LocalObject +{ + +public: + AbstractAny(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual ::org::omg::CORBA::Any * createAny(); +public: // actually protected + virtual void valueChanged(); +public: // actually package-private + virtual void checkType(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::java::lang::String * typeMismatch(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::java::lang::String * sizeMismatch(jint, jint); +private: + static const jlong serialVersionUID = 1LL; +public: + ::org::omg::CORBA::TypeCode * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) official_type; + ::org::omg::CORBA::TypeCode * final_type; + ::gnu::CORBA::DynAn::gnuDynAnyFactory * factory; + ::org::omg::CORBA::ORB * orb; +public: // actually package-private + jshort MINOR; + static ::java::lang::String * EMPTY; + static ::java::lang::String * SIZE; + static ::java::lang::String * ISNULL; + ::gnu::CORBA::DynAn::ValueChangeListener * listener; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_AbstractAny__ diff --git a/libjava/gnu/CORBA/DynAn/DivideableAny.h b/libjava/gnu/CORBA/DynAn/DivideableAny.h new file mode 100644 index 00000000000..1222d2ada9b --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/DivideableAny.h @@ -0,0 +1,107 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_DivideableAny__ +#define __gnu_CORBA_DynAn_DivideableAny__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class DivideableAny; + class gnuDynAnyFactory; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::DivideableAny : public ::gnu::CORBA::DynAn::AbstractAny +{ + +public: + DivideableAny(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual jboolean next(); + virtual void rewind(); + virtual jboolean seek(jint); +public: // actually protected + virtual ::org::omg::DynamicAny::DynAny * focused(); +public: + virtual jint component_count(); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual void destroy(); + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually protected + JArray< ::org::omg::DynamicAny::DynAny * > * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::AbstractAny)))) array; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_DivideableAny__ diff --git a/libjava/gnu/CORBA/DynAn/NameValuePairHolder.h b/libjava/gnu/CORBA/DynAn/NameValuePairHolder.h new file mode 100644 index 00000000000..26a6e5b4543 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/NameValuePairHolder.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_NameValuePairHolder__ +#define __gnu_CORBA_DynAn_NameValuePairHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class NameValuePairHolder; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class NameValuePair; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::DynAn::NameValuePairHolder : public ::java::lang::Object +{ + +public: + NameValuePairHolder(); + NameValuePairHolder(::org::omg::CORBA::NameValuePair *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::NameValuePair * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_NameValuePairHolder__ diff --git a/libjava/gnu/CORBA/DynAn/RecordAny.h b/libjava/gnu/CORBA/DynAn/RecordAny.h new file mode 100644 index 00000000000..77f3f5c7486 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/RecordAny.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_RecordAny__ +#define __gnu_CORBA_DynAn_RecordAny__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class RecordAny; + class gnuDynAnyFactory; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class gnu::CORBA::DynAn::RecordAny : public ::gnu::CORBA::DynAn::DivideableAny +{ + +public: + RecordAny(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual ::org::omg::CORBA::TCKind * current_member_kind(); + virtual ::java::lang::String * current_member_name(); + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * gnu_get_members_as_dyn_any(); + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * gnu_get_members(); + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); +private: + void checkName(::java::lang::String *, jint); + void checkType(::org::omg::CORBA::TypeCode *, jint); +public: + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); +public: // actually protected + virtual ::gnu::CORBA::DynAn::RecordAny * newInstance(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *) = 0; +public: + virtual ::org::omg::CORBA::Any * to_any(); + virtual void from_any(::org::omg::CORBA::Any *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::DivideableAny)))) fNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_RecordAny__ diff --git a/libjava/gnu/CORBA/DynAn/RecordAny.java b/libjava/gnu/CORBA/DynAn/RecordAny.java deleted file mode 100644 index 7cfabccd7ba..00000000000 --- a/libjava/gnu/CORBA/DynAn/RecordAny.java +++ /dev/null @@ -1,416 +0,0 @@ -/* RecordAny.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. */ - - -package gnu.CORBA.DynAn; - -import gnu.CORBA.Unexpected; -import gnu.CORBA.HolderLocator; - -import org.omg.CORBA.Any; -import org.omg.CORBA.ORB; -import org.omg.CORBA.TCKind; -import org.omg.CORBA.TypeCode; -import org.omg.CORBA.TypeCodePackage.BadKind; -import org.omg.CORBA.TypeCodePackage.Bounds; -import org.omg.CORBA.portable.Streamable; -import org.omg.DynamicAny.DynAny; -import org.omg.DynamicAny.DynAnyPackage.InvalidValue; -import org.omg.DynamicAny.DynAnyPackage.TypeMismatch; -import org.omg.DynamicAny.DynStruct; -import org.omg.DynamicAny.DynValueCommonOperations; -import org.omg.DynamicAny.NameDynAnyPair; -import org.omg.DynamicAny.NameValuePair; - -import java.io.Serializable; - -import java.lang.reflect.Field; - -/** - * A shared base for both dynamic structure an dynamic value final_type. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public abstract class RecordAny - extends DivideableAny - implements DynAny, Serializable -{ - /** - * Use serialVersionUID for interoperability. - */ - private static final long serialVersionUID = 1; - String[] fNames; - - /** - * Creates the structure with the given typecode. - * - * @param fields The DynAny's, representing the fields of the structure. - */ - public RecordAny(TypeCode oType, TypeCode aType, - gnuDynAnyFactory aFactory, ORB anOrb - ) - { - super(oType, aType, aFactory, anOrb); - } - - /** @inheritDoc */ - public TCKind current_member_kind() - throws TypeMismatch, InvalidValue - { - if (array.length == 0) - throw new TypeMismatch(EMPTY); - try - { - return final_type.member_type(pos).kind(); - } - catch (BadKind e) - { - TypeMismatch t = new TypeMismatch(); - t.initCause(e); - throw t; - } - catch (Bounds e) - { - InvalidValue t = new InvalidValue(); - t.initCause(e); - throw t; - } - } - - /** @inheritDoc */ - public String current_member_name() - throws TypeMismatch, InvalidValue - { - if (array.length == 0) - throw new TypeMismatch(EMPTY); - try - { - return final_type.member_name(pos); - } - catch (BadKind e) - { - TypeMismatch t = new TypeMismatch(); - t.initCause(e); - throw t; - } - catch (Bounds e) - { - InvalidValue t = new InvalidValue(); - t.initCause(e); - throw t; - } - } - - /** - * Get content of the structure. This method must be defined on a different - * name because get_members_as_dyn_any() throws exception only in some of the - * supported interfaces. - */ - public NameDynAnyPair[] gnu_get_members_as_dyn_any() - { - NameDynAnyPair[] r = new NameDynAnyPair[ array.length ]; - for (int i = 0; i < r.length; i++) - { - try - { - r [ i ] = new NameDynAnyPair(fNames [ i ], array [ i ]); - } - catch (Exception ex) - { - throw new Unexpected(ex); - } - } - return r; - } - - /** - * Get content of the structure. This method must be defined on a different - * name because get_members_as_dyn_any() throws exception only in some of the - * supported interfaces. - */ - public NameValuePair[] gnu_get_members() - { - NameValuePair[] r = new NameValuePair[ array.length ]; - for (int i = 0; i < r.length; i++) - { - try - { - r [ i ] = new NameValuePair(fNames [ i ], array [ i ].to_any()); - } - catch (Exception ex) - { - throw new Unexpected(ex); - } - } - return r; - } - - /** - * Set members from the provided array. - */ - public void set_members_as_dyn_any(NameDynAnyPair[] value) - throws TypeMismatch, InvalidValue - { - if (value.length != array.length) - throw new InvalidValue(sizeMismatch(array.length, value.length)); - - for (int i = 0; i < value.length; i++) - { - DynAny dynAny = value [ i ].value; - checkType(dynAny.type(), i); - checkName(value [ i ].id, i); - - array [ i ] = dynAny; - } - pos = 0; - } - - /** - * Check the name at the given position ("" matches everything). - */ - private void checkName(String xName, int i) - throws TypeMismatch - { - if (xName.length() > 0 && fNames [ i ].length() > 0) - if (!xName.equals(fNames [ i ])) - throw new TypeMismatch("Field name mismatch " + xName + " expected " + - fNames [ i ] - ); - } - - /** - * Check the type at the given position. - */ - private void checkType(TypeCode t, int i) - throws TypeMismatch - { - if (!array [ i ].type().equal(t)) - throw new TypeMismatch(typeMismatch(array [ i ].type(), t) + " field " + - i - ); - } - - /** - * Set members from the provided array. - */ - public void set_members(NameValuePair[] value) - throws TypeMismatch, InvalidValue - { - if (value.length != array.length) - throw new InvalidValue(sizeMismatch(array.length, value.length)); - - for (int i = 0; i < value.length; i++) - { - Any any = value [ i ].value; - checkType(any.type(), i); - checkName(value [ i ].id, i); - - array [ i ].from_any(any); - } - pos = 0; - } - - /** @inheritDoc */ - public void assign(DynAny from) - throws TypeMismatch - { - checkType(official_type, from.type()); - if (from instanceof DynStruct) - { - try - { - set_members_as_dyn_any(((DynStruct) from).get_members_as_dyn_any()); - } - catch (InvalidValue e) - { - TypeMismatch t = new TypeMismatch("Invalid value"); - t.initCause(e); - throw t; - } - } - else - throw new TypeMismatch("Not a DynStruct"); - } - - /** - * Create a copy. - */ - public DynAny copy() - { - DynAny[] c = new DynAny[ array.length ]; - for (int i = 0; i < c.length; i++) - { - c [ i ] = array [ i ].copy(); - } - - RecordAny d = newInstance(official_type, final_type, factory, orb); - d.array = c; - return d; - } - - /** - * Create a new instance when copying. - */ - protected abstract RecordAny newInstance(TypeCode oType, TypeCode aType, - gnuDynAnyFactory aFactory, - ORB anOrb - ); - - /** - * Done via reflection. - */ - public Any to_any() - { - try - { - Streamable sHolder = HolderLocator.createHolder(official_type); - - Class sHolderClass = sHolder.getClass(); - Field sHolderValue = sHolderClass.getField("value"); - Class sClass = sHolderValue.getType(); - - Object structure = sClass.newInstance(); - Object member; - Any am; - Field vread; - Field vwrite; - Streamable memberHolder; - - for (int i = 0; i < array.length; i++) - { - am = array [ i ].to_any(); - memberHolder = am.extract_Streamable(); - vwrite = structure.getClass().getField(final_type.member_name(i)); - vread = memberHolder.getClass().getField("value"); - member = vread.get(memberHolder); - vwrite.set(structure, member); - } - - Any g = createAny(); - sHolderValue.set(sHolder, structure); - g.insert_Streamable(sHolder); - g.type(official_type); - return g; - } - catch (Exception e) - { - throw new Unexpected(e); - } - } - - /** - * Done via reflection. - */ - public void from_any(Any an_any) - throws TypeMismatch, InvalidValue - { - checkType(official_type, an_any.type()); - try - { - Streamable s = an_any.extract_Streamable(); - if (s == null) - { - if (this instanceof DynValueCommonOperations) - { - ((DynValueCommonOperations) this).set_to_null(); - return; - } - else - throw new InvalidValue(ISNULL); - } - - Object structure = s.getClass().getField("value").get(s); - if (structure == null && (this instanceof DynValueCommonOperations)) - { - ((DynValueCommonOperations) this).set_to_null(); - return; - } - - Any member; - Streamable holder; - Object field; - TypeCode fType; - Field fField; - - for (int i = 0; i < array.length; i++) - { - fField = structure.getClass().getField(fNames [ i ]); - field = fField.get(structure); - fType = array [ i ].type(); - holder = HolderLocator.createHolder(fType); - - member = createAny(); - holder.getClass().getField("value").set(holder, field); - member.insert_Streamable(holder); - member.type(fType); - - array [ i ].from_any(member); - } - - if (this instanceof DynValueCommonOperations) - ((DynValueCommonOperations) this).set_to_value(); - } - catch (InvalidValue v) - { - throw v; - } - catch (NoSuchFieldException ex) - { - TypeMismatch v = - new TypeMismatch("holder value does not match typecode"); - v.initCause(ex); - throw v; - } - catch (Exception ex) - { - TypeMismatch t = new TypeMismatch(); - t.initCause(ex); - throw t; - } - } - -// GCJ LOCAL - package private delegates to work around bug in gnuDynValue. - int record_component_count() - { - return component_count(); - } - - boolean record_equal(DynAny o) - { - return equal(o); - } -} diff --git a/libjava/gnu/CORBA/DynAn/UndivideableAny.h b/libjava/gnu/CORBA/DynAn/UndivideableAny.h new file mode 100644 index 00000000000..dd827d6e8b4 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/UndivideableAny.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_UndivideableAny__ +#define __gnu_CORBA_DynAn_UndivideableAny__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class UndivideableAny; + class gnuDynAnyFactory; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::UndivideableAny : public ::gnu::CORBA::DynAn::AbstractAny +{ + +public: + UndivideableAny(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual void destroy(); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean next(); + virtual void rewind(); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_UndivideableAny__ diff --git a/libjava/gnu/CORBA/DynAn/ValueChangeListener.h b/libjava/gnu/CORBA/DynAn/ValueChangeListener.h new file mode 100644 index 00000000000..3a106d61409 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/ValueChangeListener.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_ValueChangeListener__ +#define __gnu_CORBA_DynAn_ValueChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class ValueChangeListener; + } + } + } +} + +class gnu::CORBA::DynAn::ValueChangeListener : public ::java::lang::Object +{ + +public: + virtual void changed() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_DynAn_ValueChangeListener__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynAny.h b/libjava/gnu/CORBA/DynAn/gnuDynAny.h new file mode 100644 index 00000000000..f8e0c0f3dd2 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynAny.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynAny__ +#define __gnu_CORBA_DynAn_gnuDynAny__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAny; + class gnuDynAnyFactory; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class Object; + class TCKind; + class TypeCode; + namespace portable + { + class Streamable; + } + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynAny : public ::gnu::CORBA::DynAn::AbstractAny +{ + +public: + gnuDynAny(::org::omg::CORBA::portable::Streamable *, ::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual void destroy(); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean next(); + virtual void rewind(); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); + virtual ::org::omg::CORBA::TypeCode * type(); +public: // actually protected + virtual jint getHashCodeSimple(jint); +public: + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); +private: + void check(::org::omg::CORBA::TCKind *); + static const jlong serialVersionUID = 1LL; +public: // actually protected + ::org::omg::CORBA::portable::Streamable * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::AbstractAny)))) holder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynAny__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynAnyFactory.h b/libjava/gnu/CORBA/DynAn/gnuDynAnyFactory.h new file mode 100644 index 00000000000..6bfc5d55e18 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynAnyFactory.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynAnyFactory__ +#define __gnu_CORBA_DynAn_gnuDynAnyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + } + namespace Poa + { + class ORB_1_4; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynArray; + class DynEnum; + class DynFixed; + class DynSequence; + class DynStruct; + class DynUnion; + class DynValue; + class DynValueBox; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynAnyFactory : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuDynAnyFactory(::gnu::CORBA::Poa::ORB_1_4 *); + virtual ::gnu::CORBA::Poa::ORB_1_4 * getOrb(); + virtual ::org::omg::DynamicAny::DynArray * create_array(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynSequence * create_sequence(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynStruct * create_structure(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynUnion * create_union(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynValue * create_value(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynValueBox * create_value_box(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynEnum * create_enumeration(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynFixed * create_fixed(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynAny * create_alias(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynAny * create_simple(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any_from_type_code(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any_from_type_code(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any(::org::omg::CORBA::Any *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::gnu::CORBA::Poa::ORB_1_4 * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) orb; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynAnyFactory__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynArray.h b/libjava/gnu/CORBA/DynAn/gnuDynArray.h new file mode 100644 index 00000000000..d14d9efc807 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynArray.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynArray__ +#define __gnu_CORBA_DynAn_gnuDynArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + class gnuDynArray; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynArray : public ::gnu::CORBA::DynAn::DivideableAny +{ + +public: + gnuDynArray(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *, jboolean); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual JArray< ::org::omg::CORBA::Any * > * get_elements(); + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any(); + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *); + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *); + virtual ::org::omg::CORBA::Any * to_any(); + virtual void from_any(::org::omg::CORBA::Any *); +public: // actually protected + virtual void checkArrayValid(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::org::omg::CORBA::TypeCode * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::DivideableAny)))) official_components; + ::org::omg::CORBA::TypeCode * final_components; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynArray__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynEnum.h b/libjava/gnu/CORBA/DynAn/gnuDynEnum.h new file mode 100644 index 00000000000..0aaebf60429 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynEnum.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynEnum__ +#define __gnu_CORBA_DynAn_gnuDynEnum__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + class gnuDynEnum; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynEnum : public ::gnu::CORBA::DynAn::UndivideableAny +{ + +public: + gnuDynEnum(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + gnuDynEnum(::gnu::CORBA::DynAn::gnuDynEnum *); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::java::lang::String * get_as_string(); + virtual jint get_as_ulong(); + virtual void set_as_string(::java::lang::String *); + virtual void set_as_ulong(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::UndivideableAny)))) values; + jint current; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynEnum__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynFixed.h b/libjava/gnu/CORBA/DynAn/gnuDynFixed.h new file mode 100644 index 00000000000..ced924bed17 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynFixed.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynFixed__ +#define __gnu_CORBA_DynAn_gnuDynFixed__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + class gnuDynFixed; + } + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynFixed : public ::gnu::CORBA::DynAn::UndivideableAny +{ + +public: + gnuDynFixed(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + gnuDynFixed(::gnu::CORBA::DynAn::gnuDynFixed *); + virtual ::java::lang::String * get_value(); + virtual jboolean set_value(::java::lang::String *); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + static ::java::math::BigDecimal * ZERO; + ::java::math::BigDecimal * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::UndivideableAny)))) value; + jint scale; + jint digits; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynFixed__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynSequence.h b/libjava/gnu/CORBA/DynAn/gnuDynSequence.h new file mode 100644 index 00000000000..cba3b1c5de0 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynSequence.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynSequence__ +#define __gnu_CORBA_DynAn_gnuDynSequence__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + class gnuDynSequence; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynSequence : public ::gnu::CORBA::DynAn::gnuDynArray +{ + +public: + gnuDynSequence(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual jint get_length(); + virtual void set_length(jint); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *); + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *); + virtual ::org::omg::DynamicAny::DynAny * copy(); +public: // actually package-private + virtual void checkBound(jint); +public: // actually protected + virtual void checkArrayValid(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::gnuDynArray)))) bound; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynSequence__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynStruct.h b/libjava/gnu/CORBA/DynAn/gnuDynStruct.h new file mode 100644 index 00000000000..76c32e28517 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynStruct.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynStruct__ +#define __gnu_CORBA_DynAn_gnuDynStruct__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class RecordAny; + class gnuDynAnyFactory; + class gnuDynStruct; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class TypeCode; + } + namespace DynamicAny + { + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynStruct : public ::gnu::CORBA::DynAn::RecordAny +{ + +public: + gnuDynStruct(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); +public: // actually protected + virtual ::gnu::CORBA::DynAn::RecordAny * newInstance(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); +public: + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any(); + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynStruct__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynUnion.h b/libjava/gnu/CORBA/DynAn/gnuDynUnion.h new file mode 100644 index 00000000000..a159c8c2b59 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynUnion.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynUnion__ +#define __gnu_CORBA_DynAn_gnuDynUnion__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + class gnuDynUnion; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynUnion : public ::gnu::CORBA::DynAn::DivideableAny +{ + +public: + gnuDynUnion(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual ::org::omg::CORBA::Any * to_any(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::TCKind * discriminator_kind(); + virtual ::org::omg::DynamicAny::DynAny * get_discriminator(); + virtual jboolean has_no_active_member(); + virtual ::org::omg::CORBA::TCKind * member_kind(); + virtual ::java::lang::String * member_name(); + virtual ::org::omg::DynamicAny::DynAny * member(); + virtual void set_discriminator(::org::omg::DynamicAny::DynAny *); + virtual void set_to_default_member(); + virtual void set_to_no_active_member(); + virtual void updateMember(); + virtual void changed(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::org::omg::DynamicAny::DynAny * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::DivideableAny)))) discriminator; + static ::java::lang::String * NOAM; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynUnion__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynValue.h b/libjava/gnu/CORBA/DynAn/gnuDynValue.h new file mode 100644 index 00000000000..852e69ca9df --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynValue.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynValue__ +#define __gnu_CORBA_DynAn_gnuDynValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class RecordAny; + class gnuDynAnyFactory; + class gnuDynValue; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynValue : public ::gnu::CORBA::DynAn::RecordAny +{ + +public: + gnuDynValue(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); +private: + void inheritFields(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind(); + virtual ::java::lang::String * current_member_name(); + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any(); + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members(); + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *); + virtual jboolean is_null(); + virtual void set_to_null(); + virtual void set_to_value(); +public: // actually protected + virtual ::gnu::CORBA::DynAn::RecordAny * newInstance(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); +public: + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); +public: // actually protected + virtual ::org::omg::DynamicAny::DynAny * focused(); +public: + virtual ::org::omg::CORBA::Any * to_any(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::java::io::Serializable * get_val(); + virtual void insert_val(::java::io::Serializable *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::RecordAny)))) isNull; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynValue__ diff --git a/libjava/gnu/CORBA/DynAn/gnuDynValue.java b/libjava/gnu/CORBA/DynAn/gnuDynValue.java deleted file mode 100644 index df952412512..00000000000 --- a/libjava/gnu/CORBA/DynAn/gnuDynValue.java +++ /dev/null @@ -1,386 +0,0 @@ -/* gnuDynValue.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. */ - - -package gnu.CORBA.DynAn; - -import gnu.CORBA.Minor; -import gnu.CORBA.Unexpected; - -import org.omg.CORBA.Any; -import org.omg.CORBA.BAD_PARAM; -import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.ORB; -import org.omg.CORBA.TCKind; -import org.omg.CORBA.TypeCode; -import org.omg.CORBA.VM_TRUNCATABLE; -import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.ValueFactory; -import org.omg.DynamicAny.DynAny; -import org.omg.DynamicAny.DynAnyPackage.InvalidValue; -import org.omg.DynamicAny.DynAnyPackage.TypeMismatch; -import org.omg.DynamicAny.DynStruct; -import org.omg.DynamicAny.DynValue; -import org.omg.DynamicAny.DynValueCommon; -import org.omg.DynamicAny.DynValueOperations; -import org.omg.DynamicAny.NameDynAnyPair; -import org.omg.DynamicAny.NameValuePair; - -import java.io.Serializable; - -/** - * Implementation of DynValue. - * - * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) - */ -public class gnuDynValue extends RecordAny implements DynValue, - Serializable -{ - /** - * Use serialVersionUID for interoperability. - */ - private static final long serialVersionUID = 1; - - /** - * If true, the value of this ValueType is set to null. - */ - boolean isNull; - - /** - * Create an instance. - */ - public gnuDynValue(TypeCode oType, TypeCode aType, - gnuDynAnyFactory aFactory, ORB anOrb - ) - { - super(oType, aType, aFactory, anOrb); - - // Initialise fields. The array of fields also includes all inherited - // fields. - try - { - array = new DynAny[ final_type.member_count() ]; - fNames = new String[ array.length ]; - for (int i = 0; i < array.length; i++) - { - array [ i ] = - factory.create_dyn_any_from_type_code(final_type.member_type(i)); - fNames [ i ] = final_type.member_name(i); - } - - // Search of inherited members. - if (final_type.type_modifier() == VM_TRUNCATABLE.value) - { - TypeCode parent = final_type.concrete_base_type(); - DynAny ancestor = factory.create_dyn_any_from_type_code(parent); - - if (ancestor instanceof DynValue) - { - // Add members of ancestor in front of the curren members. - DynValue anc = (DynValue) ancestor; - anc.set_to_value(); - - NameDynAnyPair[] aar = anc.get_members_as_dyn_any(); - inheritFields(aar); - } - else if (ancestor instanceof DynStruct) - { - // Add members of ancestor in front of the curren members. - DynStruct anc = (DynStruct) ancestor; - NameDynAnyPair[] aar = anc.get_members_as_dyn_any(); - inheritFields(aar); - } - else - throw new BAD_PARAM("The parent of " + final_type.id() + ", " + - parent.id() + ", is not structure nor value." - ); - } - } - catch (Exception e) - { - throw new Unexpected(e); - } - - set_to_null(); - } - - /** - * Inherit the provided fields. - */ - private void inheritFields(NameDynAnyPair[] aar) - { - DynAny[] nArray = new DynAny[ array.length + aar.length ]; - String[] nNames = new String[ array.length + aar.length ]; - int p = 0; - for (int i = 0; i < aar.length; i++) - { - nArray [ p ] = aar [ i ].value; - nNames [ p ] = aar [ i ].id; - p++; - } - - for (int i = 0; i < array.length; i++) - { - nArray [ p ] = array [ i ]; - nNames [ p ] = fNames [ i ]; - p++; - } - - array = nArray; - fNames = nNames; - } - - /** @inheritDoc */ - public TCKind current_member_kind() throws TypeMismatch, InvalidValue - { - if (isNull) - throw new TypeMismatch(ISNULL); - else - return super.current_member_kind(); - } - ; - - /** @inheritDoc */ - public String current_member_name() throws TypeMismatch, InvalidValue - { - if (isNull) - throw new TypeMismatch(ISNULL); - else - return super.current_member_name(); - } - ; - - /** @inheritDoc */ - public NameDynAnyPair[] get_members_as_dyn_any() throws InvalidValue - { - if (isNull) - throw new InvalidValue(ISNULL); - return super.gnu_get_members_as_dyn_any(); - } - ; - - /** @inheritDoc */ - public NameValuePair[] get_members() throws InvalidValue - { - if (isNull) - throw new InvalidValue(ISNULL); - else - return super.gnu_get_members(); - } - ; - - /** @inheritDoc */ - public void set_members_as_dyn_any(NameDynAnyPair[] value) - throws TypeMismatch, InvalidValue - { - super.set_members_as_dyn_any(value); - isNull = false; - } - ; - - /** @inheritDoc */ - public void set_members(NameValuePair[] value) - throws TypeMismatch, InvalidValue - { - super.set_members(value); - isNull = false; - } - ; - - /** @inheritDoc */ - public boolean is_null() - { - return isNull; - } - - /** @inheritDoc */ - public void set_to_null() - { - isNull = true; - valueChanged(); - } - - /** @inheritDoc */ - public void set_to_value() - { - isNull = false; - valueChanged(); - } - - /** - * Create a new instance. - */ - protected RecordAny newInstance(TypeCode oType, TypeCode aType, - gnuDynAnyFactory aFactory, ORB anOrb - ) - { - gnuDynValue v = new gnuDynValue(oType, aType, aFactory, anOrb); - if (isNull) - v.set_to_null(); - else - v.set_to_value(); - return v; - } - - /** - * Compare for equality, minding null values. - */ - public boolean equal(DynAny other) - { - if (other instanceof DynValueOperations) - { - DynValueCommon o = (DynValueCommon) other; - if (isNull) - return o.is_null() && o.type().equal(official_type); - else - return !o.is_null() && record_equal(other); // GCJ LOCAL bug #24938 - } - else - return false; - } - - /** - * Get the focused component, throwing exception if the current value is null. - */ - protected DynAny focused() throws InvalidValue, TypeMismatch - { - if (isNull) - throw new TypeMismatch(ISNULL); - else - return super.focused(); - } - - /** - * Convert into Any. - */ - public Any to_any() - { - if (isNull) - { - Any a0 = createAny(); - a0.type(orb.get_primitive_tc(TCKind.tk_null)); - return a0; - } - else - { - try - { - ValueFactory factory = - ((org.omg.CORBA_2_3.ORB) orb).lookup_value_factory(official_type.id()); - if (factory == null) - { - MARSHAL m = new MARSHAL("Factory for " + official_type.id() + - " not registered."); - m.minor = Minor.Factory; - throw m; - } - - OutputStream out = orb.create_output_stream(); - - for (int i = 0; i < array.length; i++) - array [ i ].to_any().write_value(out); - - org.omg.CORBA_2_3.portable.InputStream in = - (org.omg.CORBA_2_3.portable.InputStream) out.create_input_stream(); - Serializable v = factory.read_value(in); - - Any g = createAny(); - g.type(official_type); - g.insert_Value(v, official_type); - - return g; - } - catch (Exception e) - { - throw new Unexpected(e); - } - } - } - - /** @inheritDoc */ - public void assign(DynAny from) throws TypeMismatch - { - checkType(official_type, from.type()); - - if (from instanceof DynValue) - { - DynValue other = (DynValue) from; - if (other.is_null()) - set_to_null(); - else - { - set_to_value(); - try - { - DynValueOperations src = (DynValueOperations) from; - set_members_as_dyn_any(src.get_members_as_dyn_any()); - } - catch (InvalidValue e) - { - TypeMismatch t = new TypeMismatch("Invalid value"); - t.initCause(e); - throw t; - } - } - } - else - throw new TypeMismatch("Not a DynValue"); - } - - /** - * Get the number of components. - */ - public int component_count() - { - return isNull ? 0 : record_component_count(); // GCJ LOCAL bug #24938 - } - - /** {@inheritDoc} */ - public Serializable get_val() throws TypeMismatch, InvalidValue - { - return to_any().extract_Value(); - } - - /** {@inheritDoc} */ - public void insert_val(Serializable a_x) throws InvalidValue, TypeMismatch - { - Any a = to_any(); - a.insert_Value(a_x); - from_any(a); - valueChanged(); - } -} diff --git a/libjava/gnu/CORBA/DynAn/gnuDynValueBox.h b/libjava/gnu/CORBA/DynAn/gnuDynValueBox.h new file mode 100644 index 00000000000..da79ceba0b7 --- /dev/null +++ b/libjava/gnu/CORBA/DynAn/gnuDynValueBox.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAn_gnuDynValueBox__ +#define __gnu_CORBA_DynAn_gnuDynValueBox__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace DynAn + { + class gnuDynAnyFactory; + class gnuDynValueBox; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAn::gnuDynValueBox : public ::gnu::CORBA::DynAn::DivideableAny +{ + +public: + gnuDynValueBox(::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::TypeCode *, ::gnu::CORBA::DynAn::gnuDynAnyFactory *, ::org::omg::CORBA::ORB *); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_boxed_value(); + virtual ::org::omg::DynamicAny::DynAny * get_boxed_value_as_dyn_any(); + virtual ::java::io::Serializable * get_val(); + virtual void insert_val(::java::io::Serializable *); + virtual jboolean is_null(); + virtual void set_boxed_value(::org::omg::CORBA::Any *); + virtual void set_boxed_value_as_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void set_to_null(); + virtual void set_to_value(); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::org::omg::CORBA::TypeCode * __attribute__((aligned(__alignof__( ::gnu::CORBA::DynAn::DivideableAny)))) content; + ::java::lang::String * CONTENT; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAn_gnuDynValueBox__ diff --git a/libjava/gnu/CORBA/DynAnySeqHolder.h b/libjava/gnu/CORBA/DynAnySeqHolder.h new file mode 100644 index 00000000000..838733302a6 --- /dev/null +++ b/libjava/gnu/CORBA/DynAnySeqHolder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_DynAnySeqHolder__ +#define __gnu_CORBA_DynAnySeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class DynAnySeqHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class gnu::CORBA::DynAnySeqHolder : public ::java::lang::Object +{ + +public: + DynAnySeqHolder(); + DynAnySeqHolder(JArray< ::org::omg::DynamicAny::DynAny * > *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::DynamicAny::DynAny * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_DynAnySeqHolder__ diff --git a/libjava/gnu/CORBA/EmptyExceptionHolder.h b/libjava/gnu/CORBA/EmptyExceptionHolder.h new file mode 100644 index 00000000000..d8799999aed --- /dev/null +++ b/libjava/gnu/CORBA/EmptyExceptionHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_EmptyExceptionHolder__ +#define __gnu_CORBA_EmptyExceptionHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class EmptyExceptionHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::EmptyExceptionHolder : public ::java::lang::Object +{ + +public: + EmptyExceptionHolder(::java::lang::Throwable *, ::org::omg::CORBA::TypeCode *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + ::org::omg::CORBA::TypeCode * typecode; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_EmptyExceptionHolder__ diff --git a/libjava/gnu/CORBA/ForwardRequestHelper.h b/libjava/gnu/CORBA/ForwardRequestHelper.h new file mode 100644 index 00000000000..db527896ae7 --- /dev/null +++ b/libjava/gnu/CORBA/ForwardRequestHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_ForwardRequestHelper__ +#define __gnu_CORBA_ForwardRequestHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class ForwardRequestHelper; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class ForwardRequest; + } + } + } +} + +class gnu::CORBA::ForwardRequestHelper : public ::java::lang::Object +{ + +public: + ForwardRequestHelper(); + static ::org::omg::PortableServer::ForwardRequest * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::ForwardRequest *); + static ::org::omg::PortableServer::ForwardRequest * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::ForwardRequest *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_ForwardRequestHelper__ diff --git a/libjava/gnu/CORBA/GIOP/CancelHeader.h b/libjava/gnu/CORBA/GIOP/CancelHeader.h new file mode 100644 index 00000000000..14aeabf01c2 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/CancelHeader.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_CancelHeader__ +#define __gnu_CORBA_GIOP_CancelHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class CancelHeader; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::GIOP::CancelHeader : public ::java::lang::Object +{ + +public: + CancelHeader(); + virtual void read(::org::omg::CORBA::portable::InputStream *) = 0; + virtual void write(::org::omg::CORBA::portable::OutputStream *) = 0; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) request_id; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_CancelHeader__ diff --git a/libjava/gnu/CORBA/GIOP/CharSets_OSF.h b/libjava/gnu/CORBA/GIOP/CharSets_OSF.h new file mode 100644 index 00000000000..afac0d36a24 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/CharSets_OSF.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_CharSets_OSF__ +#define __gnu_CORBA_GIOP_CharSets_OSF__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class CharSets_OSF; + } + } + } +} + +class gnu::CORBA::GIOP::CharSets_OSF : public ::java::lang::Object +{ + +public: + CharSets_OSF(); + static jint getCode(::java::lang::String *); + static ::java::lang::String * getName(jint); + static JArray< jint > * getSupportedCharSets(); +private: + static void makeMap(); + static void put(jint, ::java::lang::String *); +public: + static const jint ASCII = 65568; + static const jint ISO8859_1 = 65537; + static const jint ISO8859_2 = 65538; + static const jint ISO8859_3 = 65539; + static const jint ISO8859_4 = 65540; + static const jint ISO8859_5 = 65541; + static const jint ISO8859_6 = 65542; + static const jint ISO8859_7 = 65543; + static const jint ISO8859_8 = 65544; + static const jint ISO8859_9 = 65545; + static const jint ISO8859_15_FDIS = 65551; + static const jint UTF8 = 83951617; + static const jint UTF16 = 65801; + static const jint UCS2 = 65792; + static const jint Cp1047 = 268567575; + static const jint Cp1250 = 268567778; + static const jint Cp1251 = 268567779; + static const jint Cp1252 = 268567780; + static const jint Cp1253 = 268567781; + static const jint Cp1254 = 268567782; + static const jint Cp1255 = 268567783; + static const jint Cp1256 = 268567784; + static const jint Cp1257 = 268567785; + static const jint Cp1363 = 268567891; + static const jint Cp1363C = 268567891; + static const jint Cp1381 = 268567909; + static const jint Cp1383 = 268567911; + static const jint Cp1386 = 268567914; + static const jint Cp33722 = 268600250; + static const jint Cp33722C = 268600250; + static const jint Cp930 = 268567458; + static const jint Cp943 = 268567471; + static const jint Cp943C = 268567471; + static const jint Cp949 = 268567477; + static const jint Cp949C = 268567477; + static const jint Cp950 = 268567478; + static const jint Cp964 = 268567492; + static const jint Cp970 = 268567498; + static const jint EUC_JP = 196624; + static const jint EUC_KR = 262154; + static const jint EUC_TW = 327696; + static const jint NATIVE_CHARACTER = 65537; + static const jint NATIVE_WIDE_CHARACTER = 65801; +private: + static ::java::util::Hashtable * code_to_string; + static ::java::util::Hashtable * string_to_code; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_CharSets_OSF__ diff --git a/libjava/gnu/CORBA/GIOP/CloseMessage.h b/libjava/gnu/CORBA/GIOP/CloseMessage.h new file mode 100644 index 00000000000..b9700f871d1 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/CloseMessage.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_CloseMessage__ +#define __gnu_CORBA_GIOP_CloseMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class CloseMessage; + } + } + } +} + +class gnu::CORBA::GIOP::CloseMessage : public ::gnu::CORBA::GIOP::MessageHeader +{ + +public: + CloseMessage(); + static void close(::java::io::OutputStream *); +private: + static const jlong serialVersionUID = 1LL; + static ::gnu::CORBA::GIOP::CloseMessage * Singleton; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_CloseMessage__ diff --git a/libjava/gnu/CORBA/GIOP/CodeSetServiceContext.h b/libjava/gnu/CORBA/GIOP/CodeSetServiceContext.h new file mode 100644 index 00000000000..6b3f1510dc7 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/CodeSetServiceContext.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_CodeSetServiceContext__ +#define __gnu_CORBA_GIOP_CodeSetServiceContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + class CodeSetServiceContext; + class ServiceContext; + } + class IOR$CodeSets_profile; + class IOR$CodeSets_profile$CodeSet_component; + } + } +} + +class gnu::CORBA::GIOP::CodeSetServiceContext : public ::gnu::CORBA::GIOP::ServiceContext +{ + +public: + CodeSetServiceContext(); + static ::gnu::CORBA::GIOP::CodeSetServiceContext * find(JArray< ::gnu::CORBA::GIOP::ServiceContext * > *); + static ::gnu::CORBA::GIOP::CodeSetServiceContext * negotiate(::gnu::CORBA::IOR$CodeSets_profile *); + virtual void readContext(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); +public: // actually protected + static jint negotiate(::gnu::CORBA::IOR$CodeSets_profile$CodeSet_component *, jint, jint); +private: + ::java::lang::String * name(jint); +public: + static const jint ID = 1; + static ::gnu::CORBA::GIOP::CodeSetServiceContext * STANDARD; + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::GIOP::ServiceContext)))) char_data; + jint wide_char_data; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_CodeSetServiceContext__ diff --git a/libjava/gnu/CORBA/GIOP/ContextHandler.h b/libjava/gnu/CORBA/GIOP/ContextHandler.h new file mode 100644 index 00000000000..80ec2afd52f --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/ContextHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_ContextHandler__ +#define __gnu_CORBA_GIOP_ContextHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class ContextHandler; + class ServiceContext; + } + } + } + namespace org + { + namespace omg + { + namespace IOP + { + class ServiceContext; + } + } + } +} + +class gnu::CORBA::GIOP::ContextHandler : public ::java::lang::Object +{ + +public: + ContextHandler(); + virtual void addContext(::org::omg::IOP::ServiceContext *, jboolean); +public: // actually protected + static JArray< ::gnu::CORBA::GIOP::ServiceContext * > * NO_CONTEXT; +public: + JArray< ::gnu::CORBA::GIOP::ServiceContext * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) service_context; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_ContextHandler__ diff --git a/libjava/gnu/CORBA/GIOP/ErrorMessage.h b/libjava/gnu/CORBA/GIOP/ErrorMessage.h new file mode 100644 index 00000000000..321991ab426 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/ErrorMessage.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_ErrorMessage__ +#define __gnu_CORBA_GIOP_ErrorMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class ErrorMessage; + } + class IOR; + class Version; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class gnu::CORBA::GIOP::ErrorMessage : public ::gnu::CORBA::GIOP::MessageHeader +{ + +public: + ErrorMessage(::gnu::CORBA::Version *); + virtual void send(::gnu::CORBA::IOR *, ::org::omg::CORBA::ORB *); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_ErrorMessage__ diff --git a/libjava/gnu/CORBA/GIOP/MessageHeader.h b/libjava/gnu/CORBA/GIOP/MessageHeader.h new file mode 100644 index 00000000000..232a5b36478 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/MessageHeader.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_MessageHeader__ +#define __gnu_CORBA_GIOP_MessageHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class CancelHeader; + class ErrorMessage; + class MessageHeader; + class ReplyHeader; + class RequestHeader; + } + class Version; + } + } + namespace java + { + namespace net + { + class Socket; + } + } +} + +class gnu::CORBA::GIOP::MessageHeader : public ::java::lang::Object +{ + +public: + MessageHeader(); + MessageHeader(jint, jint); + virtual jboolean isBigEndian(); + virtual jboolean moreFragmentsFollow(); + virtual void setBigEndian(jboolean); + virtual jint getHeaderSize(); + virtual ::java::lang::String * getTypeString(jint); + virtual ::gnu::CORBA::GIOP::ReplyHeader * create_reply_header(); + virtual ::gnu::CORBA::GIOP::RequestHeader * create_request_header(); + virtual ::gnu::CORBA::GIOP::CancelHeader * create_cancel_header(); + virtual ::gnu::CORBA::GIOP::ErrorMessage * create_error_message(); + virtual void read(::java::io::InputStream *); + virtual ::java::lang::String * toString(); + virtual void write(::java::io::OutputStream *); + virtual JArray< jbyte > * readMessage(::java::io::InputStream *, ::java::net::Socket *, jint, jint); +private: + static const jlong serialVersionUID = 1LL; +public: + static const jbyte REQUEST = 0; + static const jbyte REPLY = 1; + static const jbyte CANCEL_REQUEST = 2; + static const jbyte LOCATE_REQUEST = 3; + static const jbyte LOCATE_REPLY = 4; + static const jbyte CLOSE_CONNECTION = 5; + static const jbyte MESSAGE_ERROR = 6; + static const jbyte FRAGMENT = 7; + static JArray< jbyte > * MAGIC; +public: // actually protected + static JArray< ::java::lang::String * > * types; +public: + ::gnu::CORBA::Version * __attribute__((aligned(__alignof__( ::java::lang::Object)))) version; + jbyte flags; + jbyte message_type; + jint message_size; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_MessageHeader__ diff --git a/libjava/gnu/CORBA/GIOP/ReplyHeader.h b/libjava/gnu/CORBA/GIOP/ReplyHeader.h new file mode 100644 index 00000000000..5c10ad8967a --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/ReplyHeader.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_ReplyHeader__ +#define __gnu_CORBA_GIOP_ReplyHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + class ReplyHeader; + } + } + } +} + +class gnu::CORBA::GIOP::ReplyHeader : public ::gnu::CORBA::GIOP::ContextHandler +{ + +public: + ReplyHeader(); + virtual ::java::lang::String * getStatusString(); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *) = 0; + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *) = 0; + static const jint NO_EXCEPTION = 0; + static const jint USER_EXCEPTION = 1; + static const jint SYSTEM_EXCEPTION = 2; + static const jint LOCATION_FORWARD = 3; + static const jint LOCATION_FORWARD_PERM = 4; + static const jint NEEDS_ADDRESSING_MODE = 5; + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::GIOP::ContextHandler)))) reply_status; + jint request_id; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_ReplyHeader__ diff --git a/libjava/gnu/CORBA/GIOP/RequestHeader.h b/libjava/gnu/CORBA/GIOP/RequestHeader.h new file mode 100644 index 00000000000..69135b39f28 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/RequestHeader.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_RequestHeader__ +#define __gnu_CORBA_GIOP_RequestHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + class RequestHeader; + } + } + } +} + +class gnu::CORBA::GIOP::RequestHeader : public ::gnu::CORBA::GIOP::ContextHandler +{ + +public: + RequestHeader(); + static jint getNextId(); + virtual void setResponseExpected(jboolean) = 0; + virtual jboolean isResponseExpected() = 0; + virtual ::java::lang::String * bytes(JArray< jbyte > *); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *) = 0; + virtual ::java::lang::String * toString() = 0; + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *) = 0; +private: + static jint freeId; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::CORBA::GIOP::ContextHandler)))) operation; + JArray< jbyte > * object_key; + JArray< jbyte > * requesting_principal; + jint request_id; +public: // actually protected + jboolean response_expected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_RequestHeader__ diff --git a/libjava/gnu/CORBA/GIOP/ServiceContext.h b/libjava/gnu/CORBA/GIOP/ServiceContext.h new file mode 100644 index 00000000000..7cde097f684 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/ServiceContext.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_ServiceContext__ +#define __gnu_CORBA_GIOP_ServiceContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + class ServiceContext; + } + } + } + namespace org + { + namespace omg + { + namespace IOP + { + class ServiceContext; + } + } + } +} + +class gnu::CORBA::GIOP::ServiceContext : public ::java::lang::Object +{ + +public: + ServiceContext(); + ServiceContext(::org::omg::IOP::ServiceContext *); + static ::gnu::CORBA::GIOP::ServiceContext * read(::gnu::CORBA::CDR::AbstractCdrInput *); + static JArray< ::gnu::CORBA::GIOP::ServiceContext * > * readSequence(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static void writeSequence(::gnu::CORBA::CDR::AbstractCdrOutput *, JArray< ::gnu::CORBA::GIOP::ServiceContext * > *); + static void add(JArray< ::org::omg::IOP::ServiceContext * > *, ::org::omg::IOP::ServiceContext *, jboolean); + static JArray< ::gnu::CORBA::GIOP::ServiceContext * > * add(JArray< ::gnu::CORBA::GIOP::ServiceContext * > *, ::org::omg::IOP::ServiceContext *, jboolean); + static ::org::omg::IOP::ServiceContext * findContext(jint, JArray< ::org::omg::IOP::ServiceContext * > *); + static ::org::omg::IOP::ServiceContext * findContext(jint, JArray< ::gnu::CORBA::GIOP::ServiceContext * > *); + static ::gnu::CORBA::GIOP::ServiceContext * find(jint, JArray< ::gnu::CORBA::GIOP::ServiceContext * > *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 1LL; +public: + static const jint TransactionService = 0; + static const jint CodeSets = 1; + static const jint ChainBypassCheck = 2; + static const jint ChainBypassInfo = 3; + static const jint LogicalThreadId = 4; + static const jint BI_DIR_IIOP = 5; + static const jint SendingContextRunTime = 6; + static const jint INVOCATION_POLICIES = 7; + static const jint FORWARDED_IDENTITY = 8; + static const jint UnknownExceptionInfo = 9; + static const jint RTCorbaPriority = 10; + static const jint RTCorbaPriorityRange = 11; + static const jint FT_GROUP_VERSION = 12; + static const jint FT_REQUEST = 13; + static const jint ExceptionDetailMessage = 14; + static const jint SecurityAttributeService = 15; + static const jint ActivityService = 16; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) context_id; + JArray< jbyte > * context_data; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_ServiceContext__ diff --git a/libjava/gnu/CORBA/GIOP/v1_0/CancelHeader.h b/libjava/gnu/CORBA/GIOP/v1_0/CancelHeader.h new file mode 100644 index 00000000000..455da24217f --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/v1_0/CancelHeader.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_v1_0_CancelHeader__ +#define __gnu_CORBA_GIOP_v1_0_CancelHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + namespace v1_0 + { + class CancelHeader; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::GIOP::v1_0::CancelHeader : public ::gnu::CORBA::GIOP::CancelHeader +{ + +public: + CancelHeader(); + virtual void read(::org::omg::CORBA::portable::InputStream *); + virtual void write(::org::omg::CORBA::portable::OutputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_v1_0_CancelHeader__ diff --git a/libjava/gnu/CORBA/GIOP/v1_0/ReplyHeader.h b/libjava/gnu/CORBA/GIOP/v1_0/ReplyHeader.h new file mode 100644 index 00000000000..9c5755ed021 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/v1_0/ReplyHeader.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_v1_0_ReplyHeader__ +#define __gnu_CORBA_GIOP_v1_0_ReplyHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + namespace v1_0 + { + class ReplyHeader; + } + } + } + } +} + +class gnu::CORBA::GIOP::v1_0::ReplyHeader : public ::gnu::CORBA::GIOP::ReplyHeader +{ + +public: + ReplyHeader(); + virtual ::java::lang::String * getStatusString(); + virtual ::java::lang::String * contexts(); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_v1_0_ReplyHeader__ diff --git a/libjava/gnu/CORBA/GIOP/v1_0/RequestHeader.h b/libjava/gnu/CORBA/GIOP/v1_0/RequestHeader.h new file mode 100644 index 00000000000..0b732776b0c --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/v1_0/RequestHeader.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_v1_0_RequestHeader__ +#define __gnu_CORBA_GIOP_v1_0_RequestHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + namespace v1_0 + { + class RequestHeader; + } + } + } + } +} + +class gnu::CORBA::GIOP::v1_0::RequestHeader : public ::gnu::CORBA::GIOP::RequestHeader +{ + +public: + RequestHeader(); + virtual void setResponseExpected(jboolean); + virtual jboolean isResponseExpected(); + virtual ::java::lang::String * bytes(JArray< jbyte > *); + virtual ::java::lang::String * contexts(); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_v1_0_RequestHeader__ diff --git a/libjava/gnu/CORBA/GIOP/v1_2/ReplyHeader.h b/libjava/gnu/CORBA/GIOP/v1_2/ReplyHeader.h new file mode 100644 index 00000000000..633c59c7559 --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/v1_2/ReplyHeader.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_v1_2_ReplyHeader__ +#define __gnu_CORBA_GIOP_v1_2_ReplyHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + namespace v1_2 + { + class ReplyHeader; + } + } + } + } +} + +class gnu::CORBA::GIOP::v1_2::ReplyHeader : public ::gnu::CORBA::GIOP::v1_0::ReplyHeader +{ + +public: + ReplyHeader(); + virtual ::java::lang::String * getStatusString(); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_v1_2_ReplyHeader__ diff --git a/libjava/gnu/CORBA/GIOP/v1_2/RequestHeader.h b/libjava/gnu/CORBA/GIOP/v1_2/RequestHeader.h new file mode 100644 index 00000000000..368275c11ff --- /dev/null +++ b/libjava/gnu/CORBA/GIOP/v1_2/RequestHeader.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GIOP_v1_2_RequestHeader__ +#define __gnu_CORBA_GIOP_v1_2_RequestHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + namespace v1_2 + { + class RequestHeader; + } + } + } + } +} + +class gnu::CORBA::GIOP::v1_2::RequestHeader : public ::gnu::CORBA::GIOP::v1_0::RequestHeader +{ + +public: + RequestHeader(); + virtual void setResponseExpected(jboolean); + virtual jboolean isResponseExpected(); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); +private: + static const jlong serialVersionUID = 1LL; +public: + static const jshort KeyAddr = 0; + static const jshort ProfileAddr = 1; + static const jshort ReferenceAddr = 2; + jbyte __attribute__((aligned(__alignof__( ::gnu::CORBA::GIOP::v1_0::RequestHeader)))) response_flags; + jshort AddressingDisposition; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GIOP_v1_2_RequestHeader__ diff --git a/libjava/gnu/CORBA/GeneralHolder.h b/libjava/gnu/CORBA/GeneralHolder.h new file mode 100644 index 00000000000..fd3d4821e5c --- /dev/null +++ b/libjava/gnu/CORBA/GeneralHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_GeneralHolder__ +#define __gnu_CORBA_GeneralHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + } + class GeneralHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::GeneralHolder : public ::java::lang::Object +{ + +public: + GeneralHolder(::gnu::CORBA::CDR::BufferedCdrOutput *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); +public: // actually package-private + virtual ::org::omg::CORBA::portable::InputStream * getInputStream(); +public: + virtual ::gnu::CORBA::GeneralHolder * Clone(); +private: + ::gnu::CORBA::CDR::BufferedCdrOutput * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_GeneralHolder__ diff --git a/libjava/gnu/CORBA/HolderLocator.h b/libjava/gnu/CORBA/HolderLocator.h new file mode 100644 index 00000000000..78c96d71974 --- /dev/null +++ b/libjava/gnu/CORBA/HolderLocator.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_HolderLocator__ +#define __gnu_CORBA_HolderLocator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class HolderLocator; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class Streamable; + } + } + } + } +} + +class gnu::CORBA::HolderLocator : public ::java::lang::Object +{ + +public: + HolderLocator(); + static ::org::omg::CORBA::portable::Streamable * createHolder(::org::omg::CORBA::TypeCode *); +private: + static JArray< ::java::lang::Class * > * holders; + static JArray< ::java::lang::Class * > * seqHolders; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_HolderLocator__ diff --git a/libjava/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.h b/libjava/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.h new file mode 100644 index 00000000000..394d8a8930c --- /dev/null +++ b/libjava/gnu/CORBA/IOR$CodeSets_profile$CodeSet_component.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IOR$CodeSets_profile$CodeSet_component__ +#define __gnu_CORBA_IOR$CodeSets_profile$CodeSet_component__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR$CodeSets_profile$CodeSet_component; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::IOR$CodeSets_profile$CodeSet_component : public ::java::lang::Object +{ + +public: + IOR$CodeSets_profile$CodeSet_component(); + virtual void read(::org::omg::CORBA::portable::InputStream *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toStringFormatted(); + virtual void write(::org::omg::CORBA::portable::OutputStream *); +private: + ::java::lang::String * name(jint); +public: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) conversion; + jint native_set; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_IOR$CodeSets_profile$CodeSet_component__ diff --git a/libjava/gnu/CORBA/IOR$CodeSets_profile.h b/libjava/gnu/CORBA/IOR$CodeSets_profile.h new file mode 100644 index 00000000000..e38bdc4a32c --- /dev/null +++ b/libjava/gnu/CORBA/IOR$CodeSets_profile.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IOR$CodeSets_profile__ +#define __gnu_CORBA_IOR$CodeSets_profile__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + namespace GIOP + { + class CodeSetServiceContext; + } + class IOR$CodeSets_profile; + class IOR$CodeSets_profile$CodeSet_component; + } + } +} + +class gnu::CORBA::IOR$CodeSets_profile : public ::java::lang::Object +{ + +public: + IOR$CodeSets_profile(); + virtual void read(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static const jint TAG_CODE_SETS = 1; + ::gnu::CORBA::IOR$CodeSets_profile$CodeSet_component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) narrow; + ::gnu::CORBA::IOR$CodeSets_profile$CodeSet_component * wide; + ::gnu::CORBA::GIOP::CodeSetServiceContext * negotiated; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_IOR$CodeSets_profile__ diff --git a/libjava/gnu/CORBA/IOR$Internet_profile.h b/libjava/gnu/CORBA/IOR$Internet_profile.h new file mode 100644 index 00000000000..93e149e03d7 --- /dev/null +++ b/libjava/gnu/CORBA/IOR$Internet_profile.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IOR$Internet_profile__ +#define __gnu_CORBA_IOR$Internet_profile__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrOutput; + } + class IOR; + class IOR$CodeSets_profile; + class IOR$Internet_profile; + class Version; + } + } +} + +class gnu::CORBA::IOR$Internet_profile : public ::java::lang::Object +{ + +public: + IOR$Internet_profile(::gnu::CORBA::IOR *); + virtual ::java::lang::String * toString(); + virtual void write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static const jint TAG_INTERNET_IOP = 0; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) host; + ::gnu::CORBA::Version * version; + jint port; + ::gnu::CORBA::IOR$CodeSets_profile * CodeSets; +public: // actually package-private + ::java::util::ArrayList * components; + ::gnu::CORBA::IOR * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_IOR$Internet_profile__ diff --git a/libjava/gnu/CORBA/IOR.h b/libjava/gnu/CORBA/IOR.h new file mode 100644 index 00000000000..22cb1e1db74 --- /dev/null +++ b/libjava/gnu/CORBA/IOR.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IOR__ +#define __gnu_CORBA_IOR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class AbstractCdrInput; + class AbstractCdrOutput; + } + class IOR; + class IOR$Internet_profile; + } + } + namespace org + { + namespace omg + { + namespace IOP + { + class TaggedComponent; + class TaggedProfile; + } + } + } +} + +class gnu::CORBA::IOR : public ::java::lang::Object +{ + +public: + IOR(); + static ::gnu::CORBA::IOR * parse(::java::lang::String *); + virtual void _read(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual void _read_no_endian(::gnu::CORBA::CDR::AbstractCdrInput *); + virtual void _write(::gnu::CORBA::CDR::AbstractCdrOutput *); + static void write_null(::gnu::CORBA::CDR::AbstractCdrOutput *); + virtual void _write_no_endian(::gnu::CORBA::CDR::AbstractCdrOutput *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toStringFormatted(); + virtual ::java::lang::String * toStringifiedReference(); + virtual void add_ior_component(::org::omg::IOP::TaggedComponent *); + virtual void add_ior_component_to_profile(::org::omg::IOP::TaggedComponent *, jint); +private: + static void addComponentTo(::org::omg::IOP::TaggedProfile *, ::org::omg::IOP::TaggedComponent *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + static const jint FAILED = 10; + ::gnu::CORBA::IOR$Internet_profile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) Internet; + ::java::lang::String * Id; + JArray< jbyte > * key; +public: // actually package-private + ::java::util::ArrayList * profiles; +public: + jboolean Big_Endian; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_IOR__ diff --git a/libjava/gnu/CORBA/Interceptor/ClientRequestInterceptors.h b/libjava/gnu/CORBA/Interceptor/ClientRequestInterceptors.h new file mode 100644 index 00000000000..d5dc4b1ce1b --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/ClientRequestInterceptors.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_ClientRequestInterceptors__ +#define __gnu_CORBA_Interceptor_ClientRequestInterceptors__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class ClientRequestInterceptors; + class Registrator; + } + } + } + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class ClientRequestInfo; + class ClientRequestInterceptor; + } + } + } +} + +class gnu::CORBA::Interceptor::ClientRequestInterceptors : public ::java::lang::Object +{ + +public: + ClientRequestInterceptors(::gnu::CORBA::Interceptor::Registrator *); + virtual void receive_exception(::org::omg::PortableInterceptor::ClientRequestInfo *); + virtual void receive_other(::org::omg::PortableInterceptor::ClientRequestInfo *); + virtual void receive_reply(::org::omg::PortableInterceptor::ClientRequestInfo *); + virtual void send_poll(::org::omg::PortableInterceptor::ClientRequestInfo *); + virtual void send_request(::org::omg::PortableInterceptor::ClientRequestInfo *); + virtual void destroy(); + virtual ::java::lang::String * name(); +private: + JArray< ::org::omg::PortableInterceptor::ClientRequestInterceptor * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) interceptors; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_ClientRequestInterceptors__ diff --git a/libjava/gnu/CORBA/Interceptor/ForwardRequestHolder.h b/libjava/gnu/CORBA/Interceptor/ForwardRequestHolder.h new file mode 100644 index 00000000000..c58ee59986c --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/ForwardRequestHolder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_ForwardRequestHolder__ +#define __gnu_CORBA_Interceptor_ForwardRequestHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class ForwardRequestHolder; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ForwardRequest; + } + } + } +} + +class gnu::CORBA::Interceptor::ForwardRequestHolder : public ::java::lang::Object +{ + +public: + ForwardRequestHolder(); + ForwardRequestHolder(::org::omg::PortableInterceptor::ForwardRequest *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::PortableInterceptor::ForwardRequest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_ForwardRequestHolder__ diff --git a/libjava/gnu/CORBA/Interceptor/IORInterceptors.h b/libjava/gnu/CORBA/Interceptor/IORInterceptors.h new file mode 100644 index 00000000000..6a2a45a7538 --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/IORInterceptors.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_IORInterceptors__ +#define __gnu_CORBA_Interceptor_IORInterceptors__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class IORInterceptors; + class Registrator; + } + } + } + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class IORInfo; + class IORInterceptor; + class ObjectReferenceTemplate; + } + } + } +} + +class gnu::CORBA::Interceptor::IORInterceptors : public ::java::lang::Object +{ + +public: + IORInterceptors(::gnu::CORBA::Interceptor::Registrator *); + virtual void establish_components(::org::omg::PortableInterceptor::IORInfo *); + virtual void destroy(); + virtual ::java::lang::String * name(); + virtual void adapter_manager_state_changed(jint, jshort); + virtual void adapter_state_changed(JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *, jshort); + virtual void components_established(::org::omg::PortableInterceptor::IORInfo *); +private: + JArray< ::org::omg::PortableInterceptor::IORInterceptor * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) interceptors; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_IORInterceptors__ diff --git a/libjava/gnu/CORBA/Interceptor/Registrator.h b/libjava/gnu/CORBA/Interceptor/Registrator.h new file mode 100644 index 00000000000..8a5a3b03264 --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/Registrator.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_Registrator__ +#define __gnu_CORBA_Interceptor_Registrator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class Registrator; + } + namespace Poa + { + class ORB_1_4; + } + class gnuCodecFactory; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace IOP + { + class CodecFactory; + } + namespace PortableInterceptor + { + class ClientRequestInterceptor; + class IORInterceptor; + class Interceptor; + class PolicyFactory; + class ServerRequestInterceptor; + } + } + } +} + +class gnu::CORBA::Interceptor::Registrator : public ::org::omg::CORBA::LocalObject +{ + +public: + Registrator(::gnu::CORBA::Poa::ORB_1_4 *, ::java::util::Properties *, JArray< ::java::lang::String * > *); +private: + void checkProperties(::java::util::Properties *); + void checkFile(::java::lang::String *, ::java::lang::String *); +public: + virtual void pre_init(); + virtual ::java::util::Map * getRegisteredReferences(); + virtual void post_init(); + virtual JArray< ::org::omg::PortableInterceptor::ServerRequestInterceptor * > * getServerRequestInterceptors(); + virtual JArray< ::org::omg::PortableInterceptor::ClientRequestInterceptor * > * getClientRequestInterceptors(); + virtual JArray< ::org::omg::PortableInterceptor::IORInterceptor * > * getIORInterceptors(); + virtual void add_client_request_interceptor(::org::omg::PortableInterceptor::ClientRequestInterceptor *); + virtual void add_ior_interceptor(::org::omg::PortableInterceptor::IORInterceptor *); + virtual void add_server_request_interceptor(::org::omg::PortableInterceptor::ServerRequestInterceptor *); + virtual jint allocate_slot_id(); +private: + void add(::java::util::ArrayList *, ::org::omg::PortableInterceptor::Interceptor *); +public: + virtual JArray< ::java::lang::String * > * arguments(); + virtual ::org::omg::IOP::CodecFactory * codec_factory(); + virtual ::java::lang::String * orb_id(); + virtual void register_initial_reference(::java::lang::String *, ::org::omg::CORBA::Object *); + virtual void register_policy_factory(jint, ::org::omg::PortableInterceptor::PolicyFactory *); + virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *); + virtual jboolean hasClientRequestInterceptors(); + virtual jboolean hasServerRequestInterceptors(); + virtual jboolean hasIorInterceptors(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::String * m_prefix; +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) m_server; + ::java::util::ArrayList * m_client; + ::java::util::ArrayList * m_ior; +public: + ::java::util::Hashtable * m_policyFactories; + ::java::util::TreeMap * m_references; + ::java::util::ArrayList * m_initializers; +public: // actually package-private + ::gnu::CORBA::Poa::ORB_1_4 * orb; + JArray< ::java::lang::String * > * m_args; + ::gnu::CORBA::gnuCodecFactory * m_codecFactory; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_Registrator__ diff --git a/libjava/gnu/CORBA/Interceptor/ServerRequestInterceptors.h b/libjava/gnu/CORBA/Interceptor/ServerRequestInterceptors.h new file mode 100644 index 00000000000..fb78c57b968 --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/ServerRequestInterceptors.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_ServerRequestInterceptors__ +#define __gnu_CORBA_Interceptor_ServerRequestInterceptors__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class Registrator; + class ServerRequestInterceptors; + } + } + } + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class ServerRequestInfo; + class ServerRequestInterceptor; + } + } + } +} + +class gnu::CORBA::Interceptor::ServerRequestInterceptors : public ::java::lang::Object +{ + +public: + ServerRequestInterceptors(::gnu::CORBA::Interceptor::Registrator *); + virtual void receive_request_service_contexts(::org::omg::PortableInterceptor::ServerRequestInfo *); + virtual void receive_request(::org::omg::PortableInterceptor::ServerRequestInfo *); + virtual void send_exception(::org::omg::PortableInterceptor::ServerRequestInfo *); + virtual void send_other(::org::omg::PortableInterceptor::ServerRequestInfo *); + virtual void send_reply(::org::omg::PortableInterceptor::ServerRequestInfo *); + virtual void destroy(); + virtual ::java::lang::String * name(); +private: + JArray< ::org::omg::PortableInterceptor::ServerRequestInterceptor * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) interceptors; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_ServerRequestInterceptors__ diff --git a/libjava/gnu/CORBA/Interceptor/gnuClientRequestInfo.h b/libjava/gnu/CORBA/Interceptor/gnuClientRequestInfo.h new file mode 100644 index 00000000000..32dac2c45fb --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/gnuClientRequestInfo.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_gnuClientRequestInfo__ +#define __gnu_CORBA_Interceptor_gnuClientRequestInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class gnuClientRequestInfo; + } + class gnuRequest; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Policy; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + class TaggedComponent; + class TaggedProfile; + } + } + } +} + +class gnu::CORBA::Interceptor::gnuClientRequestInfo : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuClientRequestInfo(::gnu::CORBA::gnuRequest *); + virtual void add_request_service_context(::org::omg::IOP::ServiceContext *, jboolean); + virtual ::org::omg::IOP::TaggedProfile * effective_profile(); + virtual ::org::omg::CORBA::Object * effective_target(); + virtual ::org::omg::IOP::TaggedComponent * get_effective_component(jint); + virtual JArray< ::org::omg::IOP::TaggedComponent * > * get_effective_components(jint); + virtual ::org::omg::CORBA::Policy * get_request_policy(jint); + virtual ::java::lang::String * received_exception_id(); + virtual ::org::omg::CORBA::Any * received_exception(); + virtual ::org::omg::CORBA::Object * target(); + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments(); + virtual ::org::omg::CORBA::Any * result(); + virtual JArray< ::java::lang::String * > * contexts(); + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions(); + virtual ::org::omg::CORBA::Object * forward_reference(); + virtual JArray< ::java::lang::String * > * operation_context(); + virtual ::org::omg::CORBA::Any * get_slot(jint); + virtual ::java::lang::String * operation(); + virtual jshort reply_status(); + virtual jint request_id(); + virtual jboolean response_expected(); + virtual jshort sync_scope(); + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint); + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint); +private: + static const jlong serialVersionUID = 1LL; + ::gnu::CORBA::gnuRequest * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) request; +public: + ::org::omg::CORBA::Any * m_wrapped_exception; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_gnuClientRequestInfo__ diff --git a/libjava/gnu/CORBA/Interceptor/gnuIcCurrent.h b/libjava/gnu/CORBA/Interceptor/gnuIcCurrent.h new file mode 100644 index 00000000000..65d85eb9d7c --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/gnuIcCurrent.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_gnuIcCurrent__ +#define __gnu_CORBA_Interceptor_gnuIcCurrent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Interceptor + { + class gnuIcCurrent; + } + namespace Poa + { + class ORB_1_4; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + } + } + } +} + +class gnu::CORBA::Interceptor::gnuIcCurrent : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + gnuIcCurrent(::gnu::CORBA::Poa::ORB_1_4 *); + virtual JArray< ::java::lang::String * > * _ids(); + virtual void put(::java::lang::Thread *, JArray< ::org::omg::CORBA::Any * > *); + virtual jboolean has(::java::lang::Thread *); + virtual void remove(::java::lang::Thread *); +public: // actually package-private + virtual JArray< ::org::omg::CORBA::Any * > * get_slots(); +public: + virtual JArray< ::org::omg::CORBA::Any * > * clone_slots(); + virtual ::org::omg::CORBA::Any * get_slot(jint); + virtual void set_slot(jint, ::org::omg::CORBA::Any *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::gnu::CORBA::Poa::ORB_1_4 * __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::ObjectImpl)))) orb; +private: + ::java::util::Hashtable * threads; +public: // actually package-private + static JArray< ::org::omg::CORBA::Any * > * NO_SLOTS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_gnuIcCurrent__ diff --git a/libjava/gnu/CORBA/Interceptor/gnuIorInfo.h b/libjava/gnu/CORBA/Interceptor/gnuIorInfo.h new file mode 100644 index 00000000000..8e1adcf8126 --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/gnuIorInfo.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_gnuIorInfo__ +#define __gnu_CORBA_Interceptor_gnuIorInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + namespace Interceptor + { + class gnuIorInfo; + } + namespace Poa + { + class ORB_1_4; + class gnuPOA; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace IOP + { + class TaggedComponent; + } + namespace PortableInterceptor + { + class ObjectReferenceFactory; + class ObjectReferenceTemplate; + } + } + } +} + +class gnu::CORBA::Interceptor::gnuIorInfo : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuIorInfo(::gnu::CORBA::Poa::ORB_1_4 *, ::gnu::CORBA::Poa::gnuPOA *, ::gnu::CORBA::IOR *); + virtual void add_ior_component_to_profile(::org::omg::IOP::TaggedComponent *, jint); + virtual void add_ior_component(::org::omg::IOP::TaggedComponent *); + virtual ::org::omg::CORBA::Policy * get_effective_policy(jint); + virtual jshort state(); + virtual ::org::omg::PortableInterceptor::ObjectReferenceTemplate * adapter_template(); + virtual ::org::omg::PortableInterceptor::ObjectReferenceFactory * current_factory(); + virtual void current_factory(::org::omg::PortableInterceptor::ObjectReferenceFactory *); + virtual jint manager_id(); +private: + static const jlong serialVersionUID = 1LL; +public: + ::gnu::CORBA::Poa::ORB_1_4 * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) orb; + ::gnu::CORBA::Poa::gnuPOA * poa; +private: + ::gnu::CORBA::IOR * ior; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_gnuIorInfo__ diff --git a/libjava/gnu/CORBA/Interceptor/gnuServerRequestInfo.h b/libjava/gnu/CORBA/Interceptor/gnuServerRequestInfo.h new file mode 100644 index 00000000000..8164ea7233a --- /dev/null +++ b/libjava/gnu/CORBA/Interceptor/gnuServerRequestInfo.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Interceptor_gnuServerRequestInfo__ +#define __gnu_CORBA_Interceptor_gnuServerRequestInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class ReplyHeader; + class RequestHeader; + } + namespace Interceptor + { + class gnuServerRequestInfo; + } + namespace Poa + { + class gnuServantObject; + } + class gnuRequest; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Policy; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + } + } + } +} + +class gnu::CORBA::Interceptor::gnuServerRequestInfo : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuServerRequestInfo(::gnu::CORBA::Poa::gnuServantObject *, ::gnu::CORBA::GIOP::RequestHeader *, ::gnu::CORBA::GIOP::ReplyHeader *); + virtual void set_slot(jint, ::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_slot(jint); + virtual void reset(); + virtual JArray< jbyte > * object_id(); + virtual jboolean target_is_a(::java::lang::String *); + virtual JArray< jbyte > * adapter_id(); + virtual ::org::omg::CORBA::Policy * get_server_policy(jint); + virtual ::java::lang::String * target_most_derived_interface(); + virtual ::java::lang::String * operation(); + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions(); + virtual jshort reply_status(); + virtual jint request_id(); + virtual jboolean response_expected(); + virtual void add_reply_service_context(::org::omg::IOP::ServiceContext *, jboolean); + virtual ::org::omg::CORBA::Any * sending_exception(); + virtual ::org::omg::CORBA::Object * forward_reference(); + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint); + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint); + virtual JArray< ::java::lang::String * > * operation_context(); + virtual ::org::omg::CORBA::Any * result(); + virtual JArray< ::java::lang::String * > * contexts(); + virtual jshort sync_scope(); + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments(); + virtual JArray< ::java::lang::String * > * adapter_name(); + virtual ::java::lang::String * orb_id(); + virtual ::java::lang::String * server_id(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::gnu::CORBA::Poa::gnuServantObject * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) m_object; + static ::java::lang::String * not_available; + JArray< ::org::omg::CORBA::Any * > * m_slots; +public: + ::gnu::CORBA::GIOP::RequestHeader * m_request_header; + ::gnu::CORBA::GIOP::ReplyHeader * m_reply_header; + ::org::omg::CORBA::Object * m_forward_reference; + ::java::lang::Exception * m_sys_exception; + ::org::omg::CORBA::Any * m_usr_exception; + ::gnu::CORBA::gnuRequest * m_request; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Interceptor_gnuServerRequestInfo__ diff --git a/libjava/gnu/CORBA/IorDelegate.h b/libjava/gnu/CORBA/IorDelegate.h new file mode 100644 index 00000000000..176cac068dc --- /dev/null +++ b/libjava/gnu/CORBA/IorDelegate.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IorDelegate__ +#define __gnu_CORBA_IorDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferredCdrInput; + } + class IOR; + class IorDelegate; + class StreamBasedRequest; + class gnuRequest; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Request; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::IorDelegate : public ::gnu::CORBA::SimpleDelegate +{ + +public: + IorDelegate(::org::omg::CORBA::ORB *, ::gnu::CORBA::IOR *); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *); +public: // actually protected + virtual ::gnu::CORBA::gnuRequest * getRequestInstance(::org::omg::CORBA::Object *); +public: + virtual ::org::omg::CORBA::portable::InputStream * invoke(::org::omg::CORBA::Object *, ::org::omg::CORBA::portable::OutputStream *); +public: // actually package-private + virtual void showException(::gnu::CORBA::StreamBasedRequest *, ::gnu::CORBA::CDR::BufferredCdrInput *); +public: + virtual ::org::omg::CORBA::Request * request(::org::omg::CORBA::Object *, ::java::lang::String *); + virtual ::org::omg::CORBA::portable::OutputStream * request(::org::omg::CORBA::Object *, ::java::lang::String *, jboolean); + virtual void release(::org::omg::CORBA::Object *); + virtual void setIor(::gnu::CORBA::IOR *); + virtual jboolean is_local(::org::omg::CORBA::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_IorDelegate__ diff --git a/libjava/gnu/CORBA/IorObject.h b/libjava/gnu/CORBA/IorObject.h new file mode 100644 index 00000000000..c3fca11db19 --- /dev/null +++ b/libjava/gnu/CORBA/IorObject.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IorObject__ +#define __gnu_CORBA_IorObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + class IorObject; + class OrbFunctional; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class gnu::CORBA::IorObject : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + IorObject(::org::omg::CORBA::ORB *, ::gnu::CORBA::IOR *); + IorObject(::gnu::CORBA::OrbFunctional *, ::java::lang::String *); + virtual ::gnu::CORBA::IOR * getIor(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual void finalize(); + ::gnu::CORBA::IOR * __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::ObjectImpl)))) ior; + JArray< ::java::lang::String * > * id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_IorObject__ diff --git a/libjava/gnu/CORBA/IorProvider.h b/libjava/gnu/CORBA/IorProvider.h new file mode 100644 index 00000000000..b2440380831 --- /dev/null +++ b/libjava/gnu/CORBA/IorProvider.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_IorProvider__ +#define __gnu_CORBA_IorProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + class IorProvider; + } + } +} + +class gnu::CORBA::IorProvider : public ::java::lang::Object +{ + +public: + virtual ::gnu::CORBA::IOR * getIor() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_IorProvider__ diff --git a/libjava/gnu/CORBA/Minor.h b/libjava/gnu/CORBA/Minor.h new file mode 100644 index 00000000000..e37bd4cdf7d --- /dev/null +++ b/libjava/gnu/CORBA/Minor.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Minor__ +#define __gnu_CORBA_Minor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Minor; + } + } +} + +class gnu::CORBA::Minor : public ::java::lang::Object +{ + +public: + static const jint vendor = 1195573248; + static const jint Giop = 1195573249; + static const jint Header = 1195573250; + static const jint EOF = 1195573251; + static const jint CDR = 1195573253; + static const jint Value = 1195573254; + static const jint Forwarding = 1195573255; + static const jint Encapsulation = 1195573256; + static const jint Any = 1195573257; + static const jint UserException = 1195573258; + static const jint Inappropriate = 1195573259; + static const jint Negative = 1195573260; + static const jint Graph = 1195573262; + static const jint Boxed = 1195573263; + static const jint Instantiation = 1195573264; + static const jint ValueHeaderTag = 1195573265; + static const jint ValueHeaderFlags = 1195573266; + static const jint ClassCast = 1195573267; + static const jint Offset = 1195573268; + static const jint Chunks = 1195573269; + static const jint UnsupportedValue = 1195573270; + static const jint Factory = 1195573271; + static const jint UnsupportedAddressing = 1195573272; + static const jint IOR = 1195573273; + static const jint TargetConversion = 1195573274; + static const jint ValueFields = 1195573275; + static const jint NonSerializable = 1195573276; + static const jint Method = 1195573248; + static const jint Activation = 1195573258; + static const jint Policy = 1195573259; + static const jint Socket = 1195573260; + static const jint Enumeration = 1195573262; + static const jint PolicyType = 1195573263; + static const jint Ports = 1195573268; + static const jint Threads = 1195573269; + static const jint Missing_IOR = 1195573270; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_Minor__ diff --git a/libjava/gnu/CORBA/NameDynAnyPairHolder.h b/libjava/gnu/CORBA/NameDynAnyPairHolder.h new file mode 100644 index 00000000000..ca7a5a5de7e --- /dev/null +++ b/libjava/gnu/CORBA/NameDynAnyPairHolder.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NameDynAnyPairHolder__ +#define __gnu_CORBA_NameDynAnyPairHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class NameDynAnyPairHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameDynAnyPair; + } + } + } +} + +class gnu::CORBA::NameDynAnyPairHolder : public ::java::lang::Object +{ + +public: + NameDynAnyPairHolder(); + NameDynAnyPairHolder(::org::omg::DynamicAny::NameDynAnyPair *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::DynamicAny::NameDynAnyPair * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NameDynAnyPairHolder__ diff --git a/libjava/gnu/CORBA/NameDynAnyPairSeqHolder.h b/libjava/gnu/CORBA/NameDynAnyPairSeqHolder.h new file mode 100644 index 00000000000..0ffdb8704df --- /dev/null +++ b/libjava/gnu/CORBA/NameDynAnyPairSeqHolder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NameDynAnyPairSeqHolder__ +#define __gnu_CORBA_NameDynAnyPairSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class NameDynAnyPairSeqHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameDynAnyPair; + } + } + } +} + +class gnu::CORBA::NameDynAnyPairSeqHolder : public ::java::lang::Object +{ + +public: + NameDynAnyPairSeqHolder(); + NameDynAnyPairSeqHolder(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NameDynAnyPairSeqHolder__ diff --git a/libjava/gnu/CORBA/NameValuePairHolder.h b/libjava/gnu/CORBA/NameValuePairHolder.h new file mode 100644 index 00000000000..a8c14d0704a --- /dev/null +++ b/libjava/gnu/CORBA/NameValuePairHolder.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NameValuePairHolder__ +#define __gnu_CORBA_NameValuePairHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class NameValuePairHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameValuePair; + } + } + } +} + +class gnu::CORBA::NameValuePairHolder : public ::java::lang::Object +{ + +public: + NameValuePairHolder(); + NameValuePairHolder(::org::omg::DynamicAny::NameValuePair *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::DynamicAny::NameValuePair * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NameValuePairHolder__ diff --git a/libjava/gnu/CORBA/NameValuePairSeqHolder.h b/libjava/gnu/CORBA/NameValuePairSeqHolder.h new file mode 100644 index 00000000000..4b5ef47e2a9 --- /dev/null +++ b/libjava/gnu/CORBA/NameValuePairSeqHolder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NameValuePairSeqHolder__ +#define __gnu_CORBA_NameValuePairSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class NameValuePairSeqHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameValuePair; + } + } + } +} + +class gnu::CORBA::NameValuePairSeqHolder : public ::java::lang::Object +{ + +public: + NameValuePairSeqHolder(); + NameValuePairSeqHolder(JArray< ::org::omg::DynamicAny::NameValuePair * > *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::DynamicAny::NameValuePair * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NameValuePairSeqHolder__ diff --git a/libjava/gnu/CORBA/NamingService/Binding_iterator_impl.h b/libjava/gnu/CORBA/NamingService/Binding_iterator_impl.h new file mode 100644 index 00000000000..68caf386fdb --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/Binding_iterator_impl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_Binding_iterator_impl__ +#define __gnu_CORBA_NamingService_Binding_iterator_impl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class Binding_iterator_impl; + } + } + } + namespace org + { + namespace omg + { + namespace CosNaming + { + class Binding; + class BindingHolder; + class BindingListHolder; + } + } + } +} + +class gnu::CORBA::NamingService::Binding_iterator_impl : public ::org::omg::CosNaming::_BindingIteratorImplBase +{ + +public: + Binding_iterator_impl(JArray< ::org::omg::CosNaming::Binding * > *); + virtual void destroy(); + virtual jboolean next_n(jint, ::org::omg::CosNaming::BindingListHolder *); + virtual jboolean next_one(::org::omg::CosNaming::BindingHolder *); +private: + static ::org::omg::CosNaming::Binding * no_more_bindings; + JArray< ::org::omg::CosNaming::Binding * > * __attribute__((aligned(__alignof__( ::org::omg::CosNaming::_BindingIteratorImplBase)))) bindings; + jint p; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_Binding_iterator_impl__ diff --git a/libjava/gnu/CORBA/NamingService/Ext.h b/libjava/gnu/CORBA/NamingService/Ext.h new file mode 100644 index 00000000000..ec385a0b8c6 --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/Ext.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_Ext__ +#define __gnu_CORBA_NamingService_Ext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class Ext; + class NameTransformer; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + namespace portable + { + class Delegate; + } + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + } + } + } +} + +class gnu::CORBA::NamingService::Ext : public ::org::omg::CosNaming::_NamingContextExtImplBase +{ + +public: + Ext(::org::omg::CosNaming::NamingContext *); + virtual void _set_delegate(::org::omg::CORBA::portable::Delegate *); + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *); + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *); + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual void destroy(); + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *); + virtual ::org::omg::CosNaming::NamingContext * new_context(); + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *); + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *); + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual ::org::omg::CORBA::Object * resolve_str(::java::lang::String *); + virtual JArray< ::org::omg::CosNaming::NameComponent * > * to_name(::java::lang::String *); + virtual ::java::lang::String * to_string(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual ::java::lang::String * to_url(::java::lang::String *, ::java::lang::String *); + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *); +private: + ::org::omg::CosNaming::NamingContext * __attribute__((aligned(__alignof__( ::org::omg::CosNaming::_NamingContextExtImplBase)))) classic; + ::gnu::CORBA::NamingService::NameTransformer * converter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_Ext__ diff --git a/libjava/gnu/CORBA/NamingService/NameComponentComparator.h b/libjava/gnu/CORBA/NamingService/NameComponentComparator.h new file mode 100644 index 00000000000..dbf3186fa38 --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NameComponentComparator.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NameComponentComparator__ +#define __gnu_CORBA_NamingService_NameComponentComparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameComponentComparator; + } + } + } +} + +class gnu::CORBA::NamingService::NameComponentComparator : public ::java::lang::Object +{ + + NameComponentComparator(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); + jboolean equals(::java::lang::Object *); + static ::gnu::CORBA::NamingService::NameComponentComparator * singleton; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NameComponentComparator__ diff --git a/libjava/gnu/CORBA/NamingService/NameParser.h b/libjava/gnu/CORBA/NamingService/NameParser.h new file mode 100644 index 00000000000..d5bff788e3f --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NameParser.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NameParser__ +#define __gnu_CORBA_NamingService_NameParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameParser; + class NameTransformer; + } + class OrbFunctional; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + } + } +} + +class gnu::CORBA::NamingService::NameParser : public ::gnu::CORBA::NamingService::NameTransformer +{ + +public: + NameParser(); + virtual ::org::omg::CORBA::Object * corbaloc(::java::lang::String *, ::gnu::CORBA::OrbFunctional *); +private: + ::org::omg::CORBA::Object * corbaloc(::java::lang::String *, ::gnu::CORBA::OrbFunctional *, jint); +public: // actually package-private + virtual ::java::lang::String * readFile(::java::lang::String *); + virtual ::java::lang::String * readUrl(::java::lang::String *); +private: + ::org::omg::CORBA::Object * resolve(::org::omg::CORBA::Object *); + ::java::lang::String * readKey(::java::lang::String *); +public: // actually package-private + static void corbalocT(::java::lang::String *, ::gnu::CORBA::OrbFunctional *); +public: + static void main(JArray< ::java::lang::String * > *); + static ::java::lang::String * pxCORBALOC; + static ::java::lang::String * pxCORBANAME; + static ::java::lang::String * pxIOR; + static ::java::lang::String * pxFILE; + static ::java::lang::String * pxFTP; + static ::java::lang::String * pxHTTP; + static ::java::lang::String * IIOP; + static ::java::lang::String * RIR; + static const jint DEFAULT_PORT = 2809; + static ::java::lang::String * DEFAULT_NAME; +public: // actually package-private + static ::gnu::CORBA::NamingService::NameTransformer * converter; + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::NamingService::NameTransformer)))) p; + JArray< ::java::lang::String * > * t; + static ::gnu::CORBA::NamingService::NameParser * n; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NameParser__ diff --git a/libjava/gnu/CORBA/NamingService/NameTransformer.h b/libjava/gnu/CORBA/NamingService/NameTransformer.h new file mode 100644 index 00000000000..c628e17a990 --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NameTransformer.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NameTransformer__ +#define __gnu_CORBA_NamingService_NameTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameTransformer; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class IntHolder; + } + namespace CosNaming + { + class NameComponent; + } + } + } +} + +class gnu::CORBA::NamingService::NameTransformer : public ::java::lang::Object +{ + +public: + NameTransformer(); + virtual JArray< ::org::omg::CosNaming::NameComponent * > * toName(::java::lang::String *); + virtual ::java::lang::String * toString(JArray< ::org::omg::CosNaming::NameComponent * > *); +private: + void appEscaping(::java::lang::StringBuffer *, ::java::lang::String *); + void assertEndOfNode(::org::omg::CORBA::IntHolder *, JArray< ::java::lang::String * > *); + ::org::omg::CosNaming::NameComponent * readNode(::org::omg::CORBA::IntHolder *, JArray< ::java::lang::String * > *); + ::java::lang::String * readPart(::org::omg::CORBA::IntHolder *, JArray< ::java::lang::String * > *); +public: + static void main(JArray< ::java::lang::String * > *); + static ::java::lang::String * ESCAPE; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NameTransformer__ diff --git a/libjava/gnu/CORBA/NamingService/NameValidator.h b/libjava/gnu/CORBA/NamingService/NameValidator.h new file mode 100644 index 00000000000..6ec06279cca --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NameValidator.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NameValidator__ +#define __gnu_CORBA_NamingService_NameValidator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameValidator; + } + } + } + namespace org + { + namespace omg + { + namespace CosNaming + { + class NameComponent; + } + } + } +} + +class gnu::CORBA::NamingService::NameValidator : public ::java::lang::Object +{ + +public: + NameValidator(); + static void check(JArray< ::org::omg::CosNaming::NameComponent * > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NameValidator__ diff --git a/libjava/gnu/CORBA/NamingService/NamingMap.h b/libjava/gnu/CORBA/NamingService/NamingMap.h new file mode 100644 index 00000000000..601a891c45b --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NamingMap.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NamingMap__ +#define __gnu_CORBA_NamingService_NamingMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NamingMap; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace CosNaming + { + class NameComponent; + } + } + } +} + +class gnu::CORBA::NamingService::NamingMap : public ::java::lang::Object +{ + +public: + NamingMap(); + virtual void bind(::org::omg::CosNaming::NameComponent *, ::org::omg::CORBA::Object *); + virtual jboolean containsKey(::org::omg::CosNaming::NameComponent *); + virtual jboolean containsValue(::org::omg::CORBA::Object *); + virtual ::java::util::Set * entries(); + virtual ::org::omg::CORBA::Object * get(::org::omg::CosNaming::NameComponent *); + virtual void rebind(::org::omg::CosNaming::NameComponent *, ::org::omg::CORBA::Object *); + virtual void remove(::org::omg::CosNaming::NameComponent *); + virtual jint size(); +public: // actually protected + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NamingMap__ diff --git a/libjava/gnu/CORBA/NamingService/NamingServiceTransient$1.h b/libjava/gnu/CORBA/NamingService/NamingServiceTransient$1.h new file mode 100644 index 00000000000..118f7f02618 --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NamingServiceTransient$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NamingServiceTransient$1__ +#define __gnu_CORBA_NamingService_NamingServiceTransient$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NamingServiceTransient$1; + } + class OrbFunctional; + } + } +} + +class gnu::CORBA::NamingService::NamingServiceTransient$1 : public ::java::lang::Thread +{ + +public: // actually package-private + NamingServiceTransient$1(::gnu::CORBA::OrbFunctional *); +public: + void run(); +private: + ::gnu::CORBA::OrbFunctional * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) val$orb; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NamingServiceTransient$1__ diff --git a/libjava/gnu/CORBA/NamingService/NamingServiceTransient.h b/libjava/gnu/CORBA/NamingService/NamingServiceTransient.h new file mode 100644 index 00000000000..78e2b46f1a0 --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/NamingServiceTransient.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_NamingServiceTransient__ +#define __gnu_CORBA_NamingService_NamingServiceTransient__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NamingServiceTransient; + } + } + } +} + +class gnu::CORBA::NamingService::NamingServiceTransient : public ::java::lang::Object +{ + +public: + NamingServiceTransient(); + static JArray< jbyte > * getDefaultKey(); + static void start(jint, ::java::lang::String *); + static const jint PORT = 900; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_NamingServiceTransient__ diff --git a/libjava/gnu/CORBA/NamingService/TransientContext.h b/libjava/gnu/CORBA/NamingService/TransientContext.h new file mode 100644 index 00000000000..1cdfe919132 --- /dev/null +++ b/libjava/gnu/CORBA/NamingService/TransientContext.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_NamingService_TransientContext__ +#define __gnu_CORBA_NamingService_TransientContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NamingMap; + class TransientContext; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace CosNaming + { + class Binding; + class BindingIteratorHolder; + class BindingListHolder; + class BindingType; + class NameComponent; + class NamingContext; + } + } + } +} + +class gnu::CORBA::NamingService::TransientContext : public ::org::omg::CosNaming::_NamingContextImplBase +{ + +public: + TransientContext(); + TransientContext(::gnu::CORBA::NamingService::NamingMap *, ::gnu::CORBA::NamingService::NamingMap *); + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *); + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *); + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual void destroy(); + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *); + virtual ::org::omg::CosNaming::NamingContext * new_context(); + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *); + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *); + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *); +private: + JArray< ::org::omg::CosNaming::NameComponent * > * getSuffix(JArray< ::org::omg::CosNaming::NameComponent * > *); + ::org::omg::CosNaming::Binding * mkBinding(::java::lang::Object *, ::org::omg::CosNaming::BindingType *); + ::org::omg::CORBA::Object * resolveSubContext(JArray< ::org::omg::CosNaming::NameComponent * > *); + static const jlong serialVersionUID = 2LL; +public: // actually protected + ::gnu::CORBA::NamingService::NamingMap * __attribute__((aligned(__alignof__( ::org::omg::CosNaming::_NamingContextImplBase)))) named_contexts; + ::gnu::CORBA::NamingService::NamingMap * named_objects; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_NamingService_TransientContext__ diff --git a/libjava/gnu/CORBA/ObjectCreator.h b/libjava/gnu/CORBA/ObjectCreator.h new file mode 100644 index 00000000000..5d6613265b9 --- /dev/null +++ b/libjava/gnu/CORBA/ObjectCreator.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_ObjectCreator__ +#define __gnu_CORBA_ObjectCreator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace GIOP + { + class ServiceContext; + } + class ObjectCreator; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class SystemException; + class UserException; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::ObjectCreator : public ::java::lang::Object +{ + +public: + ObjectCreator(); + static ::java::lang::Object * createObject(::java::lang::String *, ::java::lang::String *); + static ::org::omg::CORBA::SystemException * readSystemException(::org::omg::CORBA::portable::InputStream *, JArray< ::gnu::CORBA::GIOP::ServiceContext * > *); + static ::org::omg::CORBA::UserException * readUserException(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *); + static ::java::lang::String * toHelperName(::java::lang::String *); + static void writeSystemException(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::SystemException *); +public: // actually protected + static ::java::lang::String * toClassName(::java::lang::String *, ::java::lang::String *); +public: + static ::java::lang::Class * Idl2class(::java::lang::String *); + static ::java::lang::Object * Idl2Object(::java::lang::String *); + static ::java::lang::String * getRepositoryId(::java::lang::Class *); + static jboolean insertWithHelper(::org::omg::CORBA::Any *, ::java::lang::Object *); + static jboolean insertSysException(::org::omg::CORBA::Any *, ::org::omg::CORBA::SystemException *); + static ::java::lang::String * getDefaultName(::java::lang::String *); + static void insertException(::org::omg::CORBA::Any *, ::java::lang::Throwable *); + static ::java::lang::Class * findHelper(::java::lang::String *); + static ::java::lang::Class * forName(::java::lang::String *); + static ::java::lang::String * OMG_PREFIX; + static ::java::lang::String * JAVA_PREFIX; + static ::java::lang::String * CLASSPATH_PREFIX; + static ::java::util::Map * m_names; + static ::java::util::Map * m_classes; + static ::java::util::Map * m_helpers; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_ObjectCreator__ diff --git a/libjava/gnu/CORBA/ObjectCreator.java b/libjava/gnu/CORBA/ObjectCreator.java deleted file mode 100644 index 9f215fc64ee..00000000000 --- a/libjava/gnu/CORBA/ObjectCreator.java +++ /dev/null @@ -1,596 +0,0 @@ -/* ObjectCreator.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. */ - - -package gnu.CORBA; - -import gnu.CORBA.CDR.UnknownExceptionCtxHandler; -import gnu.CORBA.CDR.BufferredCdrInput; -import gnu.CORBA.CDR.BufferedCdrOutput; -import gnu.CORBA.CDR.AbstractCdrInput; -import gnu.CORBA.GIOP.ServiceContext; -import gnu.CORBA.typecodes.RecordTypeCode; -// GCJ LOCAL - We don't have this yet. -// import gnu.classpath.VMStackWalker; - -import org.omg.CORBA.Any; -import org.omg.CORBA.CompletionStatus; -import org.omg.CORBA.CompletionStatusHelper; -import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.SystemException; -import org.omg.CORBA.TCKind; -import org.omg.CORBA.UNKNOWN; -import org.omg.CORBA.UserException; -import org.omg.CORBA.portable.IDLEntity; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.ValueBase; - -import java.lang.reflect.Method; -import java.util.Map; -import java.util.WeakHashMap; - -import javax.rmi.CORBA.Util; - -/** - * Creates java objects from the agreed IDL names for the simple case when the - * CORBA object is directly mapped into the locally defined java class. - * - * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) - */ -public class ObjectCreator -{ - /** - * The standard OMG prefix. - */ - public static final String OMG_PREFIX = "omg.org/"; - - /** - * The standard java prefix. - */ - public static final String JAVA_PREFIX = "org.omg."; - - /** - * The prefix for classes that are placed instide the gnu.CORBA namespace. - */ - public static final String CLASSPATH_PREFIX = "gnu.CORBA."; - - /** - * Maps classes to they IDL or RMI names. Computing RMI name is an expensive - * operations, so frequently used RMI keys are reused. The map must be weak to - * ensure that the class can be unloaded, when applicable. - */ - public static Map m_names = new WeakHashMap(); - - /** - * Maps IDL strings into known classes. The map must be weak to ensure that - * the class can be unloaded, when applicable. - */ - public static Map m_classes = new WeakHashMap(); - - /** - * Maps IDL types to they helpers. - */ - public static Map m_helpers = new WeakHashMap(); - - /** - * Try to instantiate an object with the given IDL name. The object must be - * mapped to the local java class. The omg.org domain must be mapped into the - * object in either org/omg or gnu/CORBA namespace. - * - * @param IDL name - * @return instantiated object instance or null if no such available. - */ - public static java.lang.Object createObject(String idl, String suffix) - { - synchronized (m_classes) - { - Class known = (Class) (suffix == null ? m_classes.get(idl) - : m_classes.get(idl + 0xff + suffix)); - Object object; - - if (known != null) - { - try - { - return known.newInstance(); - } - catch (Exception ex) - { - RuntimeException rex = new RuntimeException(idl + " suffix " - + suffix, ex); - throw rex; - } - } - else - { - if (suffix == null) - suffix = ""; - try - { - known = forName(toClassName(JAVA_PREFIX, idl) + suffix); - object = known.newInstance(); - } - catch (Exception ex) - { - try - { - known = forName(toClassName(CLASSPATH_PREFIX, idl) - + suffix); - object = known.newInstance(); - } - catch (Exception exex) - { - return null; - } - } - m_classes.put(idl + 0xff + suffix, known); - return object; - } - } - } - - /** - * Read the system exception from the given stream. - * - * @param input the CDR stream to read from. - * @param contexts the service contexts in request/reply header/ - * - * @return the exception that has been stored in the stream (IDL name, minor - * code and completion status). - */ - public static SystemException readSystemException(InputStream input, - ServiceContext[] contexts) - { - SystemException exception; - - String idl = input.read_string(); - int minor = input.read_ulong(); - CompletionStatus completed = CompletionStatusHelper.read(input); - - try - { - exception = (SystemException) createObject(idl, null); - exception.minor = minor; - exception.completed = completed; - } - catch (Exception ex) - { - UNKNOWN u = new UNKNOWN("Unsupported system exception " + idl, minor, - completed); - u.initCause(ex); - throw u; - } - - try - { - // If UnknownExceptionInfo is present in the contexts, read it and - // set as a cause of this exception. - ServiceContext uEx = ServiceContext.find( - ServiceContext.UnknownExceptionInfo, contexts); - - if (uEx != null) - { - BufferredCdrInput in = new BufferredCdrInput(uEx.context_data); - in.setOrb(in.orb()); - if (input instanceof AbstractCdrInput) - { - ((AbstractCdrInput) input).cloneSettings(in); - } - - Throwable t = UnknownExceptionCtxHandler.read(in, contexts); - exception.initCause(t); - } - } - catch (Exception ex) - { - // Unsupported context format. Do not terminate as the user program may - // not need it. - } - - return exception; - } - - /** - * Reads the user exception, having the given Id, from the input stream. The - * id is expected to be in the form like - * 'IDL:test/org/omg/CORBA/ORB/communication/ourUserException:1.0' - * - * @param idl the exception idl name. - * @param input the stream to read from. - * - * @return the loaded exception. - * @return null if the helper class cannot be found. - */ - public static UserException readUserException(String idl, InputStream input) - { - try - { - Class helperClass = findHelper(idl); - - Method read = helperClass.getMethod("read", - new Class[] { org.omg.CORBA.portable.InputStream.class }); - - return (UserException) read.invoke(null, new Object[] { input }); - } - catch (MARSHAL mex) - { - // This one is ok to throw - throw mex; - } - catch (Exception ex) - { - ex.printStackTrace(); - return null; - } - } - - /** - * Gets the helper class name from the string like - * 'IDL:test/org/omg/CORBA/ORB/communication/ourUserException:1.0' - * - * @param IDL the idl name. - */ - public static String toHelperName(String IDL) - { - String s = IDL; - int a = s.indexOf(':') + 1; - int b = s.lastIndexOf(':'); - - s = IDL.substring(a, b); - - if (s.startsWith(OMG_PREFIX)) - s = JAVA_PREFIX + s.substring(OMG_PREFIX.length()); - - return s.replace('/', '.') + "Helper"; - } - - /** - * Writes the system exception data to CDR output stream. - * - * @param output a stream to write data to. - * @param ex an exception to write. - */ - public static void writeSystemException(OutputStream output, - SystemException ex) - { - String exIDL = getRepositoryId(ex.getClass()); - output.write_string(exIDL); - output.write_ulong(ex.minor); - CompletionStatusHelper.write(output, ex.completed); - } - - /** - * Converts the given IDL name to class name. - * - * @param IDL the idl name. - * - */ - protected static String toClassName(String prefix, String IDL) - { - String s = IDL; - int a = s.indexOf(':') + 1; - int b = s.lastIndexOf(':'); - - s = IDL.substring(a, b); - - if (s.startsWith(OMG_PREFIX)) - s = prefix + s.substring(OMG_PREFIX.length()); - - return s.replace('/', '.'); - } - - /** - * Converts the given IDL name to class name and tries to load the matching - * class. The OMG prefix (omg.org) is replaced by the java prefix org.omg. No - * other prefixes are added. - * - * @param IDL the idl name. - * - * @return the matching class or null if no such is available. - */ - public static Class Idl2class(String IDL) - { - synchronized (m_classes) - { - Class c = (Class) m_classes.get(IDL); - - if (c != null) - return c; - else - { - String s = IDL; - int a = s.indexOf(':') + 1; - int b = s.lastIndexOf(':'); - - s = IDL.substring(a, b); - - if (s.startsWith(OMG_PREFIX)) - s = JAVA_PREFIX + s.substring(OMG_PREFIX.length()); - - String cn = s.replace('/', '.'); - - try - { - c = forName(cn); - m_classes.put(IDL, c); - return c; - } - catch (ClassNotFoundException ex) - { - return null; - } - } - } - } - - /** - * Converts the given IDL name to class name, tries to load the matching class - * and create an object instance with parameterless constructor. The OMG - * prefix (omg.org) is replaced by the java prefix org.omg. No other prefixes - * are added. - * - * @param IDL the idl name. - * - * @return instantiated object instance or null if such attempt was not - * successful. - */ - public static java.lang.Object Idl2Object(String IDL) - { - Class cx = Idl2class(IDL); - - try - { - if (cx != null) - return cx.newInstance(); - else - return null; - } - catch (Exception ex) - { - return null; - } - } - - /** - * Convert the class name to IDL or RMI name (repository id). If the class - * inherits from IDLEntity, ValueBase or SystemException, returns repository - * Id in the IDL:(..) form. If it does not, returns repository Id in the - * RMI:(..) form. - * - * @param cx the class for that the name must be computed. - * - * @return the idl or rmi name. - */ - public static synchronized String getRepositoryId(Class cx) - { - String name = (String) m_names.get(cx); - if (name != null) - return name; - - String cn = cx.getName(); - if (!(IDLEntity.class.isAssignableFrom(cx) - || ValueBase.class.isAssignableFrom(cx) || SystemException.class.isAssignableFrom(cx))) - { - // Not an IDL entity. - name = Util.createValueHandler().getRMIRepositoryID(cx); - } - else - { - if (cn.startsWith(JAVA_PREFIX)) - cn = OMG_PREFIX - + cn.substring(JAVA_PREFIX.length()).replace('.', '/'); - else if (cn.startsWith(CLASSPATH_PREFIX)) - cn = OMG_PREFIX - + cn.substring(CLASSPATH_PREFIX.length()).replace('.', '/'); - - name = "IDL:" + cn + ":1.0"; - } - m_names.put(cx, name); - return name; - } - - /** - * Insert the passed parameter into the given Any, assuming that the helper - * class is available. The helper class must have the "Helper" suffix and be - * in the same package as the class of the object being inserted. - * - * @param into the target to insert. - * - * @param object the object to insert. It can be any object as far as the - * corresponding helper is provided. - * - * @return true on success, false otherwise. - */ - public static boolean insertWithHelper(Any into, Object object) - { - try - { - String helperClassName = object.getClass().getName() + "Helper"; - Class helperClass = forName(helperClassName); - - Method insert = helperClass.getMethod("insert", new Class[] { - Any.class, object.getClass() }); - - insert.invoke(null, new Object[] { into, object }); - - return true; - } - catch (Exception exc) - { - // Failed due some reason. - return false; - } - } - - /** - * Insert the system exception into the given Any. - */ - public static boolean insertSysException(Any into, SystemException exception) - { - try - { - BufferedCdrOutput output = new BufferedCdrOutput(); - - String m_exception_id = getRepositoryId(exception.getClass()); - output.write_string(m_exception_id); - output.write_ulong(exception.minor); - CompletionStatusHelper.write(output, exception.completed); - - String name = getDefaultName(m_exception_id); - - GeneralHolder h = new GeneralHolder(output); - - into.insert_Streamable(h); - - RecordTypeCode r = new RecordTypeCode(TCKind.tk_except); - r.setId(m_exception_id); - r.setName(name); - into.type(r); - - return true; - } - catch (Exception ex) - { - ex.printStackTrace(); - return false; - } - } - - /** - * Get the type name from the IDL string. - */ - public static String getDefaultName(String idl) - { - int f1 = idl.lastIndexOf("/"); - int p1 = (f1 < 0) ? 0 : f1; - int p2 = idl.indexOf(":", p1); - if (p2 < 0) - p2 = idl.length(); - - String name = idl.substring(f1 + 1, p2); - return name; - } - - /** - * Insert this exception into the given Any. On failure, insert the UNKNOWN - * exception. - */ - public static void insertException(Any into, Throwable exception) - { - boolean ok = false; - if (exception instanceof SystemException) - ok = insertSysException(into, (SystemException) exception); - else if (exception instanceof UserException) - ok = insertWithHelper(into, exception); - - if (!ok) - ok = insertSysException(into, new UNKNOWN()); - if (!ok) - throw new InternalError("Exception wrapping broken"); - } - - /** - * Find helper for the class with the given name. - */ - public static Class findHelper(String idl) - { - synchronized (m_helpers) - { - Class c = (Class) m_helpers.get(idl); - if (c != null) - return c; - try - { - String helper = toHelperName(idl); - c = forName(helper); - - m_helpers.put(idl, c); - return c; - } - catch (Exception ex) - { - return null; - } - } - } - - /** - * Load the class with the given name. This method tries to use the context - * class loader first. If this fails, it searches for the suitable class - * loader in the caller stack trace. This method is a central point where all - * requests to find a class by name are delegated. - */ - public static Class forName(String className) throws ClassNotFoundException - { - try - { - return Class.forName(className, true, - Thread.currentThread().getContextClassLoader()); - } - catch (ClassNotFoundException nex) - { - /** - * Returns the first user defined class loader on the call stack, or - * null when no non-null class loader was found. - */ - -// GCJ LOCAL - We don't have VMStackWalker yet. -// We only try the SystemClassLoader for now. -// Class[] ctx = VMStackWalker.getClassContext(); -// for (int i = 0; i < ctx.length; i++) -// { -// // Since we live in a class loaded by the bootstrap -// // class loader, getClassLoader is safe to call without -// // needing to be wrapped in a privileged action. -// ClassLoader cl = ctx[i].getClassLoader(); - ClassLoader cl = ClassLoader.getSystemClassLoader(); - try - { - if (cl != null) - return Class.forName(className, true, cl); - } - catch (ClassNotFoundException nex2) - { - // Try next. - } -// } - - } - throw new ClassNotFoundException(className); - } -} diff --git a/libjava/gnu/CORBA/OctetHolder.h b/libjava/gnu/CORBA/OctetHolder.h new file mode 100644 index 00000000000..bfa0ca621b8 --- /dev/null +++ b/libjava/gnu/CORBA/OctetHolder.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OctetHolder__ +#define __gnu_CORBA_OctetHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class OctetHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::OctetHolder : public ::java::lang::Object +{ + +public: + OctetHolder(); + OctetHolder(jbyte); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_octet; +public: + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OctetHolder__ diff --git a/libjava/gnu/CORBA/OrbFocused.h b/libjava/gnu/CORBA/OrbFocused.h new file mode 100644 index 00000000000..ec756ea4918 --- /dev/null +++ b/libjava/gnu/CORBA/OrbFocused.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbFocused__ +#define __gnu_CORBA_OrbFocused__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + class OrbFocused; + class OrbFunctional$portServer; + } + } + namespace java + { + namespace applet + { + class Applet; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + } + } +} + +class gnu::CORBA::OrbFocused : public ::gnu::CORBA::Poa::ORB_1_4 +{ + +public: + OrbFocused(); + virtual void setPortRange(::java::lang::String *); + virtual void setPortRange(jint, jint); +public: // actually package-private + virtual jint getPortFromRange(jint); +public: // actually protected + virtual ::gnu::CORBA::OrbFunctional$portServer * getPortServer(jint); +public: + virtual void run(); + virtual jint getFreePort(); + virtual void connect_1_thread(::org::omg::CORBA::Object *, JArray< jbyte > *, ::java::lang::Object *); + virtual void startService(::gnu::CORBA::IOR *); +public: // actually protected + virtual void set_parameters(::java::applet::Applet *, ::java::util::Properties *); + virtual void set_parameters(JArray< ::java::lang::String * > *, ::java::util::Properties *); + virtual void useProperties(::java::util::Properties *); +public: + static ::java::lang::String * LISTENER_PORT; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::Poa::ORB_1_4)))) m_ports_from; + jint m_ports_to; + static const jint PARALLEL = 0; + static const jint SEQUENTIAL = 1; + ::java::util::Random * m_random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbFocused__ diff --git a/libjava/gnu/CORBA/OrbFunctional$1.h b/libjava/gnu/CORBA/OrbFunctional$1.h new file mode 100644 index 00000000000..28a1b7ec78a --- /dev/null +++ b/libjava/gnu/CORBA/OrbFunctional$1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbFunctional$1__ +#define __gnu_CORBA_OrbFunctional$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class OrbFunctional; + class OrbFunctional$1; + } + } +} + +class gnu::CORBA::OrbFunctional$1 : public ::java::lang::Thread +{ + +public: // actually package-private + OrbFunctional$1(::gnu::CORBA::OrbFunctional *, ::gnu::CORBA::OrbFunctional *); +public: + void run(); +public: // actually package-private + ::gnu::CORBA::OrbFunctional * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0; +private: + ::gnu::CORBA::OrbFunctional * val$THIS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbFunctional$1__ diff --git a/libjava/gnu/CORBA/OrbFunctional$2.h b/libjava/gnu/CORBA/OrbFunctional$2.h new file mode 100644 index 00000000000..eff695f189f --- /dev/null +++ b/libjava/gnu/CORBA/OrbFunctional$2.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbFunctional$2__ +#define __gnu_CORBA_OrbFunctional$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class OrbFunctional; + class OrbFunctional$2; + class OrbFunctional$portServer; + } + } + namespace java + { + namespace net + { + class Socket; + } + } +} + +class gnu::CORBA::OrbFunctional$2 : public ::java::lang::Thread +{ + +public: // actually package-private + OrbFunctional$2(::gnu::CORBA::OrbFunctional *, ::gnu::CORBA::OrbFunctional$portServer *, ::java::net::Socket *); +public: + void run(); +public: // actually package-private + ::gnu::CORBA::OrbFunctional * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0; +private: + ::gnu::CORBA::OrbFunctional$portServer * val$p; + ::java::net::Socket * val$service; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbFunctional$2__ diff --git a/libjava/gnu/CORBA/OrbFunctional$portServer.h b/libjava/gnu/CORBA/OrbFunctional$portServer.h new file mode 100644 index 00000000000..0ea05cb9186 --- /dev/null +++ b/libjava/gnu/CORBA/OrbFunctional$portServer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbFunctional$portServer__ +#define __gnu_CORBA_OrbFunctional$portServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class OrbFunctional; + class OrbFunctional$portServer; + } + } + namespace java + { + namespace net + { + class ServerSocket; + } + } +} + +class gnu::CORBA::OrbFunctional$portServer : public ::java::lang::Thread +{ + +public: // actually package-private + OrbFunctional$portServer(::gnu::CORBA::OrbFunctional *, jint); +public: + virtual void run(); +public: // actually package-private + virtual void tick(); +public: + virtual void close_now(); +public: // actually protected + virtual void finalize(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Thread)))) running_threads; + jint s_port; + ::java::net::ServerSocket * service; + jboolean terminated; + ::gnu::CORBA::OrbFunctional * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbFunctional$portServer__ diff --git a/libjava/gnu/CORBA/OrbFunctional$sharedPortServer.h b/libjava/gnu/CORBA/OrbFunctional$sharedPortServer.h new file mode 100644 index 00000000000..c0658968cdc --- /dev/null +++ b/libjava/gnu/CORBA/OrbFunctional$sharedPortServer.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbFunctional$sharedPortServer__ +#define __gnu_CORBA_OrbFunctional$sharedPortServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class OrbFunctional; + class OrbFunctional$sharedPortServer; + } + } +} + +class gnu::CORBA::OrbFunctional$sharedPortServer : public ::gnu::CORBA::OrbFunctional$portServer +{ + +public: // actually package-private + OrbFunctional$sharedPortServer(::gnu::CORBA::OrbFunctional *, jint); + virtual void tick(); + ::gnu::CORBA::OrbFunctional * __attribute__((aligned(__alignof__( ::gnu::CORBA::OrbFunctional$portServer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbFunctional$sharedPortServer__ diff --git a/libjava/gnu/CORBA/OrbFunctional.h b/libjava/gnu/CORBA/OrbFunctional.h new file mode 100644 index 00000000000..de005430f9d --- /dev/null +++ b/libjava/gnu/CORBA/OrbFunctional.h @@ -0,0 +1,167 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbFunctional__ +#define __gnu_CORBA_OrbFunctional__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Asynchron; + class Connected_objects; + class Connected_objects$cObject; + namespace GIOP + { + class MessageHeader; + class RequestHeader; + } + class IOR; + namespace NamingService + { + class NameParser; + } + class OrbFunctional; + class OrbFunctional$portServer; + namespace Poa + { + class gnuForwardRequest; + } + class ResponseHandlerImpl; + class Version; + namespace interfaces + { + class SocketFactory; + } + } + } + namespace java + { + namespace applet + { + class Applet; + } + namespace net + { + class ServerSocket; + class Socket; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + class Request; + class SystemException; + } + } + } +} + +class gnu::CORBA::OrbFunctional : public ::gnu::CORBA::OrbRestricted +{ + +public: + OrbFunctional(); + virtual void setMaxVersion(::gnu::CORBA::Version *); + virtual ::gnu::CORBA::Version * getMaxVersion(); + virtual jint getFreePort(); + static void setPort(jint); + virtual void connect(::org::omg::CORBA::Object *); + virtual void connect(::org::omg::CORBA::Object *, JArray< jbyte > *); + virtual void connect_1_thread(::org::omg::CORBA::Object *, JArray< jbyte > *, ::java::lang::Object *); + virtual void startService(::gnu::CORBA::IOR *); + virtual void destroy(); + virtual void disconnect(::org::omg::CORBA::Object *); + virtual void identityDestroyed(::java::lang::Object *); + virtual ::org::omg::CORBA::Object * find_local_object(::gnu::CORBA::IOR *); + virtual JArray< ::java::lang::String * > * list_initial_services(); + virtual ::java::lang::String * object_to_string(::org::omg::CORBA::Object *); + virtual ::gnu::CORBA::IOR * getLocalIor(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *); + virtual void run(); + virtual void ensureRunning(); + virtual void shutdown(jboolean); + virtual ::org::omg::CORBA::Object * string_to_object(::java::lang::String *); + virtual ::org::omg::CORBA::Object * ior_to_object(::gnu::CORBA::IOR *); +public: // actually protected + virtual ::org::omg::CORBA::Object * getDefaultNameService(); + virtual ::org::omg::CORBA::Object * find_connected_object(JArray< jbyte > *, jint); + virtual void set_parameters(::java::applet::Applet *, ::java::util::Properties *); + virtual void set_parameters(JArray< ::java::lang::String * > *, ::java::util::Properties *); + virtual ::gnu::CORBA::IOR * createIOR(::gnu::CORBA::Connected_objects$cObject *); + virtual void prepareObject(::org::omg::CORBA::Object *, ::gnu::CORBA::IOR *); +private: + void respond_to_client(::java::io::OutputStream *, ::gnu::CORBA::GIOP::MessageHeader *, ::gnu::CORBA::GIOP::RequestHeader *, ::gnu::CORBA::ResponseHandlerImpl *, ::org::omg::CORBA::SystemException *); + void forward_request(::java::io::OutputStream *, ::gnu::CORBA::GIOP::MessageHeader *, ::gnu::CORBA::GIOP::RequestHeader *, ::gnu::CORBA::Poa::gnuForwardRequest *); +public: // actually package-private + virtual void serve(::gnu::CORBA::OrbFunctional$portServer *, ::java::net::ServerSocket *); + virtual void serveStep(::java::net::Socket *, jboolean); +public: // actually protected + virtual void useProperties(::java::util::Properties *); +public: + virtual ::org::omg::CORBA::Request * get_next_response(); + virtual jboolean poll_next_response(); + virtual void send_multiple_requests_deferred(JArray< ::org::omg::CORBA::Request * > *); + virtual void send_multiple_requests_oneway(JArray< ::org::omg::CORBA::Request * > *); +public: // actually protected + virtual void finalize(); +public: + virtual jint countConnectedObjects(); + static jint DEFAULT_INITIAL_PORT; + static jint RANDOM_PORT_FROM; + static jint RANDOM_PORT_TO; + static jint RANDOM_PORT_ATTEMPTS; + static ::java::lang::String * LISTEN_ON; + static ::java::lang::String * REFERENCE; + static ::java::lang::String * NS_PORT; + static ::java::lang::String * NS_HOST; + static ::java::lang::String * NAME_SERVICE; + static ::java::lang::String * ORB_ID; + static ::java::lang::String * SERVER_ID; + static ::java::lang::String * START_READING_MESSAGE; + static ::java::lang::String * WHILE_READING; + static ::java::lang::String * AFTER_RECEIVING; + static ::java::lang::String * SERVER_ERROR_PAUSE; + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::CORBA::OrbRestricted)))) LOCAL_HOST; + jint TOUT_START_READING_MESSAGE; + jint TOUT_WHILE_READING; + jint TOUT_AFTER_RECEIVING; + jint TWAIT_SERVER_ERROR_PAUSE; + static jint TANDEM_REQUESTS; + ::java::lang::String * orb_id; + static ::java::lang::String * server_id; +public: // actually protected + ::gnu::CORBA::Connected_objects * connected_objects; + ::gnu::CORBA::Version * max_version; + jboolean running; + ::java::util::Map * initial_references; + ::java::util::ArrayList * portServers; +private: + ::java::lang::String * ns_host; + static jint Port; + jint ns_port; +public: // actually package-private + ::gnu::CORBA::NamingService::NameParser * nameParser; +public: // actually protected + ::gnu::CORBA::Asynchron * asynchron; + ::java::util::LinkedList * freed_ports; + ::java::util::Hashtable * identities; +private: + jint MAX_RUNNING_THREADS; +public: + ::gnu::CORBA::interfaces::SocketFactory * socketFactory; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbFunctional__ diff --git a/libjava/gnu/CORBA/OrbRestricted.h b/libjava/gnu/CORBA/OrbRestricted.h new file mode 100644 index 00000000000..5f8d51e110a --- /dev/null +++ b/libjava/gnu/CORBA/OrbRestricted.h @@ -0,0 +1,122 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_OrbRestricted__ +#define __gnu_CORBA_OrbRestricted__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class OrbRestricted; + } + } + namespace java + { + namespace applet + { + class Applet; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class Environment; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Request; + class StructMember; + class TCKind; + class TypeCode; + class UnionMember; + namespace portable + { + class OutputStream; + class ValueFactory; + } + } + namespace PortableInterceptor + { + class ClientRequestInterceptorOperations; + class IORInterceptor_3_0Operations; + class ServerRequestInterceptorOperations; + } + } + } +} + +class gnu::CORBA::OrbRestricted : public ::org::omg::CORBA_2_3::ORB +{ + +public: // actually protected + OrbRestricted(); +public: + virtual ::org::omg::CORBA::TypeCode * create_alias_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::Any * create_any(); + virtual ::org::omg::CORBA::TypeCode * create_array_tc(jint, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::ContextList * create_context_list(); + virtual ::org::omg::CORBA::TypeCode * create_enum_tc(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *); + virtual ::org::omg::CORBA::Environment * create_environment(); + virtual ::org::omg::CORBA::ExceptionList * create_exception_list(); + virtual ::org::omg::CORBA::TypeCode * create_exception_tc(::java::lang::String *, ::java::lang::String *, JArray< ::org::omg::CORBA::StructMember * > *); + virtual ::org::omg::CORBA::TypeCode * create_interface_tc(::java::lang::String *, ::java::lang::String *); + virtual ::org::omg::CORBA::NVList * create_list(jint); + virtual ::org::omg::CORBA::NamedValue * create_named_value(::java::lang::String *, ::org::omg::CORBA::Any *, jint); + virtual ::org::omg::CORBA::portable::OutputStream * create_output_stream(); + virtual ::org::omg::CORBA::TypeCode * create_sequence_tc(jint, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::TypeCode * create_string_tc(jint); + virtual ::org::omg::CORBA::TypeCode * create_struct_tc(::java::lang::String *, ::java::lang::String *, JArray< ::org::omg::CORBA::StructMember * > *); + virtual ::org::omg::CORBA::TypeCode * create_union_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *, JArray< ::org::omg::CORBA::UnionMember * > *); + virtual ::org::omg::CORBA::TypeCode * create_wstring_tc(jint); + virtual ::org::omg::CORBA::TypeCode * get_primitive_tc(::org::omg::CORBA::TCKind *); + virtual JArray< ::java::lang::String * > * list_initial_services(); + virtual ::java::lang::String * object_to_string(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *); + virtual void run(); + virtual void shutdown(jboolean); + virtual ::org::omg::CORBA::Object * string_to_object(::java::lang::String *); +public: // actually protected + virtual void set_parameters(::java::applet::Applet *, ::java::util::Properties *); + virtual void set_parameters(JArray< ::java::lang::String * > *, ::java::util::Properties *); +private: + void no(); +public: + virtual ::org::omg::CORBA::Request * get_next_response(); + virtual jboolean poll_next_response(); + virtual void send_multiple_requests_deferred(JArray< ::org::omg::CORBA::Request * > *); + virtual void send_multiple_requests_oneway(JArray< ::org::omg::CORBA::Request * > *); + virtual ::org::omg::CORBA::portable::ValueFactory * register_value_factory(::java::lang::String *, ::org::omg::CORBA::portable::ValueFactory *); + virtual void unregister_value_factory(::java::lang::String *); + virtual ::org::omg::CORBA::portable::ValueFactory * lookup_value_factory(::java::lang::String *); + virtual void destroy(); + virtual ::org::omg::CORBA::TypeCode * create_recursive_sequence_tc(jint, jint); + virtual ::org::omg::CORBA::Context * get_default_context(); + static ::org::omg::CORBA::ORB * Singleton; + ::org::omg::PortableInterceptor::IORInterceptor_3_0Operations * __attribute__((aligned(__alignof__( ::org::omg::CORBA_2_3::ORB)))) iIor; + ::org::omg::PortableInterceptor::ServerRequestInterceptorOperations * iServer; + ::org::omg::PortableInterceptor::ClientRequestInterceptorOperations * iClient; + jint icSlotSize; +public: // actually protected + ::java::util::Hashtable * factories; + ::java::util::Hashtable * policyFactories; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_OrbRestricted__ diff --git a/libjava/gnu/CORBA/Poa/AOM$Obj.h b/libjava/gnu/CORBA/Poa/AOM$Obj.h new file mode 100644 index 00000000000..67ee7df990c --- /dev/null +++ b/libjava/gnu/CORBA/Poa/AOM$Obj.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_AOM$Obj__ +#define __gnu_CORBA_Poa_AOM$Obj__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class AOM; + class AOM$Obj; + class gnuPOA; + class gnuServantObject; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class Servant; + } + } + } +} + +class gnu::CORBA::Poa::AOM$Obj : public ::java::lang::Object +{ + +public: // actually package-private + AOM$Obj(::gnu::CORBA::Poa::AOM *, ::gnu::CORBA::Poa::gnuServantObject *, JArray< jbyte > *, ::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::gnuPOA *); +public: + virtual void setServant(::org::omg::PortableServer::Servant *); + virtual ::org::omg::PortableServer::Servant * getServant(); + virtual jboolean isDeactiveted(); + virtual void setDeactivated(jboolean); + ::gnu::CORBA::Poa::gnuServantObject * __attribute__((aligned(__alignof__( ::java::lang::Object)))) object; + ::org::omg::PortableServer::Servant * servant; +public: // actually package-private + ::org::omg::PortableServer::Servant * primary_servant; +public: + ::gnu::CORBA::Poa::gnuPOA * poa; + JArray< jbyte > * key; + jboolean deactivated; +public: // actually package-private + ::gnu::CORBA::Poa::AOM * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_AOM$Obj__ diff --git a/libjava/gnu/CORBA/Poa/AOM.h b/libjava/gnu/CORBA/Poa/AOM.h new file mode 100644 index 00000000000..3c19649c0e9 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/AOM.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_AOM__ +#define __gnu_CORBA_Poa_AOM__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class AOM; + class AOM$Obj; + class ServantDelegateImpl; + class gnuPOA; + class gnuServantObject; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace PortableServer + { + class Servant; + } + } + } +} + +class gnu::CORBA::Poa::AOM : public ::java::lang::Object +{ + +public: + AOM(); + virtual ::gnu::CORBA::Poa::AOM$Obj * findObject(::org::omg::CORBA::Object *); + virtual ::gnu::CORBA::Poa::AOM$Obj * findServant(::org::omg::PortableServer::Servant *); + virtual ::gnu::CORBA::Poa::AOM$Obj * findServant(::org::omg::PortableServer::Servant *, jboolean); + virtual ::gnu::CORBA::Poa::AOM$Obj * add(::gnu::CORBA::Poa::gnuServantObject *, ::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::gnuPOA *); + virtual ::gnu::CORBA::Poa::AOM$Obj * add(JArray< jbyte > *, ::gnu::CORBA::Poa::gnuServantObject *, ::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::gnuPOA *); + virtual ::gnu::CORBA::Poa::AOM$Obj * add(::gnu::CORBA::Poa::ServantDelegateImpl *); + virtual void put(::gnu::CORBA::Poa::AOM$Obj *); + virtual ::gnu::CORBA::Poa::AOM$Obj * get(JArray< jbyte > *); + virtual ::java::util::Set * keySet(); + virtual void remove(JArray< jbyte > *); +public: // actually protected + virtual JArray< jbyte > * generateObjectKey(::org::omg::CORBA::Object *); +public: + static JArray< jbyte > * getFreeId(); +private: + static jlong free_id; +public: // actually package-private + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objects; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_AOM__ diff --git a/libjava/gnu/CORBA/Poa/AccessiblePolicy.h b/libjava/gnu/CORBA/Poa/AccessiblePolicy.h new file mode 100644 index 00000000000..54d1421227e --- /dev/null +++ b/libjava/gnu/CORBA/Poa/AccessiblePolicy.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_AccessiblePolicy__ +#define __gnu_CORBA_Poa_AccessiblePolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class AccessiblePolicy; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + } + } +} + +class gnu::CORBA::Poa::AccessiblePolicy : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getValue() = 0; + virtual jint getCode() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_Poa_AccessiblePolicy__ diff --git a/libjava/gnu/CORBA/Poa/DynamicImpHandler.h b/libjava/gnu/CORBA/Poa/DynamicImpHandler.h new file mode 100644 index 00000000000..e5750aa7fff --- /dev/null +++ b/libjava/gnu/CORBA/Poa/DynamicImpHandler.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_DynamicImpHandler__ +#define __gnu_CORBA_Poa_DynamicImpHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class DynamicImpHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace PortableServer + { + class DynamicImplementation; + } + } + } +} + +class gnu::CORBA::Poa::DynamicImpHandler : public ::java::lang::Object +{ + +public: + DynamicImpHandler(::org::omg::PortableServer::DynamicImplementation *); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + ::org::omg::PortableServer::DynamicImplementation * __attribute__((aligned(__alignof__( ::java::lang::Object)))) servant; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_DynamicImpHandler__ diff --git a/libjava/gnu/CORBA/Poa/ForwardRequestHolder.h b/libjava/gnu/CORBA/Poa/ForwardRequestHolder.h new file mode 100644 index 00000000000..5280da19d30 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/ForwardRequestHolder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_ForwardRequestHolder__ +#define __gnu_CORBA_Poa_ForwardRequestHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class ForwardRequestHolder; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class ForwardRequest; + } + } + } +} + +class gnu::CORBA::Poa::ForwardRequestHolder : public ::java::lang::Object +{ + +public: + ForwardRequestHolder(); + ForwardRequestHolder(::org::omg::PortableServer::ForwardRequest *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::PortableServer::ForwardRequest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_ForwardRequestHolder__ diff --git a/libjava/gnu/CORBA/Poa/ForwardedServant.h b/libjava/gnu/CORBA/Poa/ForwardedServant.h new file mode 100644 index 00000000000..46b24050a4e --- /dev/null +++ b/libjava/gnu/CORBA/Poa/ForwardedServant.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_ForwardedServant__ +#define __gnu_CORBA_Poa_ForwardedServant__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class ForwardedServant; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + namespace portable + { + class InputStream; + class ObjectImpl; + class OutputStream; + class ResponseHandler; + } + } + namespace PortableServer + { + class POA; + class Servant; + } + } + } +} + +class gnu::CORBA::Poa::ForwardedServant : public ::org::omg::PortableServer::Servant +{ + +public: // actually package-private + ForwardedServant(::org::omg::CORBA::portable::ObjectImpl *); +public: + static ::org::omg::PortableServer::Servant * create(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *); + ::org::omg::CORBA::portable::ObjectImpl * __attribute__((aligned(__alignof__( ::org::omg::PortableServer::Servant)))) ref; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_ForwardedServant__ diff --git a/libjava/gnu/CORBA/Poa/InvalidPolicyHolder.h b/libjava/gnu/CORBA/Poa/InvalidPolicyHolder.h new file mode 100644 index 00000000000..80b1533af91 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/InvalidPolicyHolder.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_InvalidPolicyHolder__ +#define __gnu_CORBA_Poa_InvalidPolicyHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class InvalidPolicyHolder; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class InvalidPolicy; + } + } + } + } +} + +class gnu::CORBA::Poa::InvalidPolicyHolder : public ::java::lang::Object +{ + +public: + InvalidPolicyHolder(); + InvalidPolicyHolder(::org::omg::PortableServer::POAPackage::InvalidPolicy *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::PortableServer::POAPackage::InvalidPolicy * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_InvalidPolicyHolder__ diff --git a/libjava/gnu/CORBA/Poa/LocalDelegate.h b/libjava/gnu/CORBA/Poa/LocalDelegate.h new file mode 100644 index 00000000000..4baca2ea637 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/LocalDelegate.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_LocalDelegate__ +#define __gnu_CORBA_Poa_LocalDelegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + namespace Poa + { + class LocalDelegate; + class gnuPOA; + class gnuServantObject; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Request; + namespace portable + { + class InputStream; + class InvokeHandler; + class OutputStream; + } + } + namespace PortableServer + { + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class gnu::CORBA::Poa::LocalDelegate : public ::org::omg::CORBA_2_3::portable::Delegate +{ + +public: + LocalDelegate(::gnu::CORBA::Poa::gnuServantObject *, ::gnu::CORBA::Poa::gnuPOA *, JArray< jbyte > *); + virtual ::gnu::CORBA::IOR * getIor(); + virtual ::org::omg::CORBA::Request * request(::org::omg::CORBA::Object *, ::java::lang::String *); + virtual void release(::org::omg::CORBA::Object *); + virtual jboolean is_equivalent(::org::omg::CORBA::Object *, ::org::omg::CORBA::Object *); + virtual jboolean non_existent(::org::omg::CORBA::Object *); + virtual jint hash(::org::omg::CORBA::Object *, jint); + virtual jboolean is_a(::org::omg::CORBA::Object *, ::java::lang::String *); + virtual ::org::omg::CORBA::Object * duplicate(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *); + virtual ::org::omg::CORBA::Object * get_interface_def(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::portable::OutputStream * request(::org::omg::CORBA::Object *, ::java::lang::String *, jboolean); + virtual ::org::omg::CORBA::portable::InvokeHandler * getHandler(::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *); + virtual ::org::omg::CORBA::ORB * orb(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::portable::InputStream * invoke(::org::omg::CORBA::Object *, ::org::omg::CORBA::portable::OutputStream *); + virtual void releaseReply(::org::omg::CORBA::Object *, ::org::omg::CORBA::portable::InputStream *); +public: // actually package-private + ::gnu::CORBA::Poa::gnuServantObject * __attribute__((aligned(__alignof__( ::org::omg::CORBA_2_3::portable::Delegate)))) object; + ::java::lang::String * operation; +public: + ::gnu::CORBA::Poa::gnuPOA * poa; +public: // actually package-private + JArray< jbyte > * Id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_LocalDelegate__ diff --git a/libjava/gnu/CORBA/Poa/LocalRequest.h b/libjava/gnu/CORBA/Poa/LocalRequest.h new file mode 100644 index 00000000000..8d78931cbe9 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/LocalRequest.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_LocalRequest__ +#define __gnu_CORBA_Poa_LocalRequest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + } + namespace GIOP + { + class MessageHeader; + } + namespace Poa + { + class LocalRequest; + class LocalServerRequest; + class gnuPOA; + class gnuServantObject; + } + class StreamBasedRequest; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class InvokeHandler; + class OutputStream; + } + } + namespace PortableServer + { + class POA; + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class gnu::CORBA::Poa::LocalRequest : public ::gnu::CORBA::gnuRequest +{ + +public: + LocalRequest(::gnu::CORBA::Poa::gnuServantObject *, ::gnu::CORBA::Poa::gnuPOA *, JArray< jbyte > *); +public: // actually package-private + virtual ::org::omg::CORBA::portable::InputStream * s_invoke(::org::omg::CORBA::portable::InvokeHandler *); +public: + virtual ::org::omg::CORBA::portable::InputStream * v_invoke(::org::omg::CORBA::portable::InvokeHandler *); + virtual void invoke(); + virtual ::org::omg::CORBA::portable::OutputStream * createExceptionReply(); + virtual ::org::omg::CORBA::portable::OutputStream * createReply(); +public: // actually package-private + virtual ::gnu::CORBA::CDR::BufferedCdrOutput * getBuffer(); + virtual jboolean isExceptionReply(); +private: + void prepareStream(); +public: + virtual ::gnu::CORBA::StreamBasedRequest * getParameterStream(); + virtual JArray< jbyte > * get_object_id(); + virtual ::org::omg::PortableServer::POA * get_POA(); +public: // actually package-private + ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder * __attribute__((aligned(__alignof__( ::gnu::CORBA::gnuRequest)))) cookie; + JArray< jbyte > * Id; +private: + static ::gnu::CORBA::GIOP::MessageHeader * header; +public: // actually package-private + jboolean exceptionReply; + ::gnu::CORBA::CDR::BufferedCdrOutput * buffer; + ::gnu::CORBA::Poa::gnuPOA * poa; + ::gnu::CORBA::Poa::gnuServantObject * object; + ::gnu::CORBA::Poa::LocalServerRequest * serverRequest; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_LocalRequest__ diff --git a/libjava/gnu/CORBA/Poa/LocalServerRequest.h b/libjava/gnu/CORBA/Poa/LocalServerRequest.h new file mode 100644 index 00000000000..a779429ec8f --- /dev/null +++ b/libjava/gnu/CORBA/Poa/LocalServerRequest.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_LocalServerRequest__ +#define __gnu_CORBA_Poa_LocalServerRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class LocalRequest; + class LocalServerRequest; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class NVList; + } + } + } +} + +class gnu::CORBA::Poa::LocalServerRequest : public ::org::omg::CORBA::ServerRequest +{ + +public: + LocalServerRequest(::gnu::CORBA::Poa::LocalRequest *); + virtual void params(::org::omg::CORBA::NVList *); + virtual ::org::omg::CORBA::Context * ctx(); + virtual ::java::lang::String * operation(); + virtual void arguments(::org::omg::CORBA::NVList *); + virtual void set_result(::org::omg::CORBA::Any *); + virtual ::java::lang::String * op_name(); + virtual void set_exception(::org::omg::CORBA::Any *); + virtual void result(::org::omg::CORBA::Any *); + virtual void except(::org::omg::CORBA::Any *); +public: // actually package-private + ::gnu::CORBA::Poa::LocalRequest * __attribute__((aligned(__alignof__( ::org::omg::CORBA::ServerRequest)))) request; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_LocalServerRequest__ diff --git a/libjava/gnu/CORBA/Poa/ORB_1_4.h b/libjava/gnu/CORBA/Poa/ORB_1_4.h new file mode 100644 index 00000000000..8e62bbe2e07 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/ORB_1_4.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_ORB_1_4__ +#define __gnu_CORBA_Poa_ORB_1_4__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Connected_objects$cObject; + namespace DynAn + { + class gnuDynAnyFactory; + } + class IOR; + namespace Interceptor + { + class gnuIcCurrent; + } + namespace Poa + { + class ORB_1_4; + class gnuPOA; + class gnuPoaCurrent; + } + } + } + namespace java + { + namespace applet + { + class Applet; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Policy; + } + } + } +} + +class gnu::CORBA::Poa::ORB_1_4 : public ::gnu::CORBA::OrbFunctional +{ + +public: + ORB_1_4(); + virtual ::java::lang::String * object_to_string(::org::omg::CORBA::Object *); + virtual void destroy(); +public: // actually protected + virtual void registerInterceptors(::java::util::Properties *, JArray< ::java::lang::String * > *); + virtual ::gnu::CORBA::IOR * createIOR(::gnu::CORBA::Connected_objects$cObject *); +public: + virtual ::org::omg::CORBA::Policy * create_policy(jint, ::org::omg::CORBA::Any *); +public: // actually protected + virtual void set_parameters(::java::applet::Applet *, ::java::util::Properties *); + virtual void set_parameters(JArray< ::java::lang::String * > *, ::java::util::Properties *); +public: + virtual void set_delegate(::java::lang::Object *); + ::gnu::CORBA::Poa::gnuPOA * __attribute__((aligned(__alignof__( ::gnu::CORBA::OrbFunctional)))) rootPOA; + ::gnu::CORBA::Poa::gnuPoaCurrent * currents; + ::gnu::CORBA::Interceptor::gnuIcCurrent * ic_current; + ::gnu::CORBA::DynAn::gnuDynAnyFactory * factory; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_ORB_1_4__ diff --git a/libjava/gnu/CORBA/Poa/ServantDelegateImpl.h b/libjava/gnu/CORBA/Poa/ServantDelegateImpl.h new file mode 100644 index 00000000000..e5fbd569667 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/ServantDelegateImpl.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_ServantDelegateImpl__ +#define __gnu_CORBA_Poa_ServantDelegateImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class ServantDelegateImpl; + class gnuPOA; + class gnuServantObject; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + } + namespace PortableServer + { + class POA; + class Servant; + } + } + } +} + +class gnu::CORBA::Poa::ServantDelegateImpl : public ::java::lang::Object +{ + +public: + ServantDelegateImpl(::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::gnuPOA *, JArray< jbyte > *); + virtual jboolean is_a(::org::omg::PortableServer::Servant *, ::java::lang::String *); + virtual ::org::omg::PortableServer::POA * default_POA(::org::omg::PortableServer::Servant *); + virtual ::org::omg::CORBA::ORB * orb(::org::omg::PortableServer::Servant *); + virtual ::org::omg::CORBA::Object * this_object(::org::omg::PortableServer::Servant *); + virtual ::org::omg::CORBA::Object * get_interface_def(::org::omg::PortableServer::Servant *); + virtual JArray< jbyte > * object_id(::org::omg::PortableServer::Servant *); + virtual jboolean non_existent(::org::omg::PortableServer::Servant *); + virtual ::org::omg::PortableServer::POA * poa(::org::omg::PortableServer::Servant *); +public: // actually package-private + virtual void same(::org::omg::PortableServer::Servant *); + ::org::omg::PortableServer::Servant * __attribute__((aligned(__alignof__( ::java::lang::Object)))) servant; + JArray< jbyte > * servant_id; + ::gnu::CORBA::Poa::gnuPOA * poa__; + ::gnu::CORBA::Poa::gnuServantObject * object; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_ServantDelegateImpl__ diff --git a/libjava/gnu/CORBA/Poa/StandardPolicies.h b/libjava/gnu/CORBA/Poa/StandardPolicies.h new file mode 100644 index 00000000000..6b7f9202fa7 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/StandardPolicies.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_StandardPolicies__ +#define __gnu_CORBA_Poa_StandardPolicies__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class AccessiblePolicy; + class StandardPolicies; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + } + } +} + +class gnu::CORBA::Poa::StandardPolicies : public ::java::lang::Object +{ + +public: + StandardPolicies(); + static JArray< ::org::omg::CORBA::Policy * > * rootPoa(); + static JArray< ::org::omg::CORBA::Policy * > * withDefault(JArray< ::org::omg::CORBA::Policy * > *); +private: + static JArray< ::gnu::CORBA::Poa::AccessiblePolicy * > * rootPOASet; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_StandardPolicies__ diff --git a/libjava/gnu/CORBA/Poa/gnuAdapterActivator.h b/libjava/gnu/CORBA/Poa/gnuAdapterActivator.h new file mode 100644 index 00000000000..b190e4815f9 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuAdapterActivator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuAdapterActivator__ +#define __gnu_CORBA_Poa_gnuAdapterActivator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuAdapterActivator; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + } + } + } +} + +class gnu::CORBA::Poa::gnuAdapterActivator : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuAdapterActivator(); + virtual jboolean unknown_adapter(::org::omg::PortableServer::POA *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuAdapterActivator__ diff --git a/libjava/gnu/CORBA/Poa/gnuForwardRequest.h b/libjava/gnu/CORBA/Poa/gnuForwardRequest.h new file mode 100644 index 00000000000..4609dcdd503 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuForwardRequest.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuForwardRequest__ +#define __gnu_CORBA_Poa_gnuForwardRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuForwardRequest; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + namespace portable + { + class ObjectImpl; + } + } + } + } +} + +class gnu::CORBA::Poa::gnuForwardRequest : public ::java::lang::RuntimeException +{ + +public: + gnuForwardRequest(::org::omg::CORBA::Object *); +private: + static const jlong serialVersionUID = -1LL; +public: + ::org::omg::CORBA::portable::ObjectImpl * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) forward_reference; + jbyte forwarding_code; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuForwardRequest__ diff --git a/libjava/gnu/CORBA/Poa/gnuIdAssignmentPolicy.h b/libjava/gnu/CORBA/Poa/gnuIdAssignmentPolicy.h new file mode 100644 index 00000000000..fd54bd3da5f --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuIdAssignmentPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuIdAssignmentPolicy__ +#define __gnu_CORBA_Poa_gnuIdAssignmentPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuIdAssignmentPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class IdAssignmentPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuIdAssignmentPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuIdAssignmentPolicy(::org::omg::PortableServer::IdAssignmentPolicyValue *); + virtual ::org::omg::PortableServer::IdAssignmentPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuIdAssignmentPolicy__ diff --git a/libjava/gnu/CORBA/Poa/gnuIdUniquenessPolicy.h b/libjava/gnu/CORBA/Poa/gnuIdUniquenessPolicy.h new file mode 100644 index 00000000000..563f1e37eb8 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuIdUniquenessPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuIdUniquenessPolicy__ +#define __gnu_CORBA_Poa_gnuIdUniquenessPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuIdUniquenessPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class IdUniquenessPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuIdUniquenessPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuIdUniquenessPolicy(::org::omg::PortableServer::IdUniquenessPolicyValue *); + virtual ::org::omg::PortableServer::IdUniquenessPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuIdUniquenessPolicy__ diff --git a/libjava/gnu/CORBA/Poa/gnuImplicitActivationPolicy.h b/libjava/gnu/CORBA/Poa/gnuImplicitActivationPolicy.h new file mode 100644 index 00000000000..229a10aa34c --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuImplicitActivationPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuImplicitActivationPolicy__ +#define __gnu_CORBA_Poa_gnuImplicitActivationPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuImplicitActivationPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class ImplicitActivationPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuImplicitActivationPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuImplicitActivationPolicy(::org::omg::PortableServer::ImplicitActivationPolicyValue *); + virtual ::org::omg::PortableServer::ImplicitActivationPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuImplicitActivationPolicy__ diff --git a/libjava/gnu/CORBA/Poa/gnuLifespanPolicy.h b/libjava/gnu/CORBA/Poa/gnuLifespanPolicy.h new file mode 100644 index 00000000000..6abc75b4221 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuLifespanPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuLifespanPolicy__ +#define __gnu_CORBA_Poa_gnuLifespanPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuLifespanPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class LifespanPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuLifespanPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuLifespanPolicy(::org::omg::PortableServer::LifespanPolicyValue *); + virtual ::org::omg::PortableServer::LifespanPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuLifespanPolicy__ diff --git a/libjava/gnu/CORBA/Poa/gnuPOA$RefTemplate.h b/libjava/gnu/CORBA/Poa/gnuPOA$RefTemplate.h new file mode 100644 index 00000000000..b7a34b05cca --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuPOA$RefTemplate.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuPOA$RefTemplate__ +#define __gnu_CORBA_Poa_gnuPOA$RefTemplate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuPOA; + class gnuPOA$RefTemplate; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + } + } +} + +class gnu::CORBA::Poa::gnuPOA$RefTemplate : public ::java::lang::Object +{ + +public: // actually package-private + gnuPOA$RefTemplate(::gnu::CORBA::Poa::gnuPOA *); +public: + virtual JArray< ::java::lang::String * > * adapter_name(); + virtual ::java::lang::String * orb_id(); + virtual ::java::lang::String * server_id(); + virtual ::org::omg::CORBA::Object * make_object(::java::lang::String *, JArray< jbyte > *); + virtual JArray< ::java::lang::String * > * _truncatable_ids(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m_adapter_name; + ::gnu::CORBA::Poa::gnuPOA * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuPOA$RefTemplate__ diff --git a/libjava/gnu/CORBA/Poa/gnuPOA.h b/libjava/gnu/CORBA/Poa/gnuPOA.h new file mode 100644 index 00000000000..85af4246799 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuPOA.h @@ -0,0 +1,187 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuPOA__ +#define __gnu_CORBA_Poa_gnuPOA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class AOM; + class AOM$Obj; + class ORB_1_4; + class ServantDelegateImpl; + class gnuPOA; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + class Policy; + class SetOverrideType; + } + namespace PortableInterceptor + { + class ObjectReferenceFactory; + class ObjectReferenceTemplate; + } + namespace PortableServer + { + class AdapterActivator; + class IdAssignmentPolicy; + class IdAssignmentPolicyValue; + class IdUniquenessPolicy; + class IdUniquenessPolicyValue; + class ImplicitActivationPolicy; + class ImplicitActivationPolicyValue; + class LifespanPolicy; + class LifespanPolicyValue; + class POA; + class POAManager; + class RequestProcessingPolicy; + class RequestProcessingPolicyValue; + class Servant; + class ServantActivator; + class ServantLocator; + class ServantManager; + class ServantRetentionPolicy; + class ServantRetentionPolicyValue; + class ThreadPolicy; + class ThreadPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuPOA : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuPOA(::gnu::CORBA::Poa::gnuPOA *, ::java::lang::String *, ::org::omg::PortableServer::POAManager *, JArray< ::org::omg::CORBA::Policy * > *, ::gnu::CORBA::Poa::ORB_1_4 *); + virtual void waitWhileRunning(); +public: // actually protected + virtual void etherealizeAll(); + virtual ::org::omg::PortableServer::POA * createPoaInstance(::java::lang::String *, ::org::omg::PortableServer::POAManager *, JArray< ::org::omg::CORBA::Policy * > *, ::gnu::CORBA::Poa::ORB_1_4 *); +public: + virtual jboolean applies(::java::lang::Object *); + virtual void required(::java::lang::Object *); + virtual void excluding(::java::lang::Object *); + virtual ::org::omg::PortableServer::POA * find_POA(::java::lang::String *, jboolean); + virtual JArray< jbyte > * activate_object(::org::omg::PortableServer::Servant *); + virtual void activate_object_with_id(JArray< jbyte > *, ::org::omg::PortableServer::Servant *); + virtual void activate_object_with_id(JArray< jbyte > *, ::org::omg::PortableServer::Servant *, jboolean); +private: + void locateServant(JArray< jbyte > *, ::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::AOM$Obj *, jboolean); +public: + virtual void deactivate_object(JArray< jbyte > *); + virtual ::org::omg::CORBA::Object * create_reference(::java::lang::String *); + virtual ::org::omg::CORBA::Object * create_reference_with_id(JArray< jbyte > *, ::java::lang::String *); + virtual ::org::omg::PortableServer::POA * create_POA(::java::lang::String *, ::org::omg::PortableServer::POAManager *, JArray< ::org::omg::CORBA::Policy * > *); + virtual ::org::omg::PortableServer::Servant * get_servant(); + virtual void set_servant(::org::omg::PortableServer::Servant *); + virtual void set_servant_manager(::org::omg::PortableServer::ServantManager *); + virtual ::org::omg::PortableServer::ServantManager * get_servant_manager(); + virtual JArray< jbyte > * id(); + virtual ::org::omg::CORBA::Object * id_to_reference(JArray< jbyte > *); + virtual ::org::omg::PortableServer::Servant * id_to_servant(JArray< jbyte > *); + virtual JArray< jbyte > * reference_to_id(::org::omg::CORBA::Object *); + virtual ::org::omg::PortableServer::Servant * reference_to_servant(::org::omg::CORBA::Object *); + virtual JArray< jbyte > * servant_to_id(::org::omg::PortableServer::Servant *); + virtual ::org::omg::CORBA::Object * servant_to_reference(::org::omg::PortableServer::Servant *); +private: + ::org::omg::PortableServer::Servant * incarnate(::gnu::CORBA::Poa::AOM$Obj *, JArray< jbyte > *, ::org::omg::PortableServer::Servant *, jboolean); +public: + virtual ::org::omg::PortableServer::POAManager * the_POAManager(); + virtual ::org::omg::PortableServer::AdapterActivator * the_activator(); + virtual void the_activator(::org::omg::PortableServer::AdapterActivator *); + virtual JArray< ::org::omg::PortableServer::POA * > * the_children(); + virtual ::java::lang::String * the_name(); + virtual ::org::omg::PortableServer::POA * the_parent(); + virtual ::org::omg::PortableServer::IdAssignmentPolicy * create_id_assignment_policy(::org::omg::PortableServer::IdAssignmentPolicyValue *); + virtual ::org::omg::PortableServer::IdUniquenessPolicy * create_id_uniqueness_policy(::org::omg::PortableServer::IdUniquenessPolicyValue *); + virtual ::org::omg::PortableServer::ImplicitActivationPolicy * create_implicit_activation_policy(::org::omg::PortableServer::ImplicitActivationPolicyValue *); + virtual ::org::omg::PortableServer::LifespanPolicy * create_lifespan_policy(::org::omg::PortableServer::LifespanPolicyValue *); + virtual ::org::omg::PortableServer::RequestProcessingPolicy * create_request_processing_policy(::org::omg::PortableServer::RequestProcessingPolicyValue *); + virtual ::org::omg::PortableServer::ServantRetentionPolicy * create_servant_retention_policy(::org::omg::PortableServer::ServantRetentionPolicyValue *); + virtual ::org::omg::PortableServer::ThreadPolicy * create_thread_policy(::org::omg::PortableServer::ThreadPolicyValue *); + virtual void destroy(jboolean, jboolean); +public: // actually protected + virtual void finalize(); +private: + void unregisterFromManager(); +public: + virtual ::org::omg::CORBA::Policy * _get_policy(jint); + virtual JArray< ::org::omg::CORBA::Policy * > * getPolicyArray(); + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *); + virtual ::org::omg::CORBA::ORB * orb(); +private: + void create_and_connect(JArray< jbyte > *, ::java::lang::String *, ::gnu::CORBA::Poa::ServantDelegateImpl *); +public: // actually package-private + virtual void checkDiscarding(); +public: // actually protected + virtual void connect_to_orb(JArray< jbyte > *, ::org::omg::CORBA::Object *); +public: + virtual ::java::lang::String * toString(); +public: // actually protected + virtual jboolean validatePolicies(JArray< ::org::omg::CORBA::Policy * > *); +public: + virtual ::gnu::CORBA::Poa::AOM$Obj * findObject(::org::omg::CORBA::Object *); + virtual ::gnu::CORBA::Poa::AOM$Obj * findKey(JArray< jbyte > *, JArray< jbyte > *); + virtual ::gnu::CORBA::Poa::AOM$Obj * findIorKey(JArray< jbyte > *); + virtual JArray< jbyte > * toIORKey(JArray< jbyte > *); + virtual JArray< jbyte > * idFormIor(JArray< jbyte > *); + virtual ::gnu::CORBA::Poa::AOM$Obj * findServant(::org::omg::PortableServer::Servant *); + virtual ::org::omg::PortableInterceptor::ObjectReferenceTemplate * getReferenceTemplate(); + virtual ::org::omg::PortableInterceptor::ObjectReferenceFactory * getReferenceFactory(); + virtual void setReferenceFactory(::org::omg::PortableInterceptor::ObjectReferenceFactory *); + virtual ::org::omg::CORBA::Object * make_object(::java::lang::String *, JArray< jbyte > *); + virtual JArray< ::java::lang::String * > * _truncatable_ids(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::org::omg::PortableInterceptor::ObjectReferenceTemplate * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) refTemplate; + static JArray< ::java::lang::String * > * ref_template_ids; +public: + ::gnu::CORBA::Poa::AOM * aom; +public: // actually package-private + ::java::util::ArrayList * children; + ::java::lang::String * name; + ::org::omg::PortableServer::POA * parent; + static const jint SIGNATURE = 1718773093; + ::org::omg::PortableServer::AdapterActivator * m_activator; + ::org::omg::PortableServer::POAManager * m_manager; + ::org::omg::PortableServer::ServantActivator * servant_activator; + ::org::omg::PortableServer::ServantLocator * servant_locator; + ::org::omg::PortableServer::Servant * default_servant; +private: + JArray< jbyte > * m_poa_id; + ::java::util::HashSet * m_policies; +public: // actually package-private + JArray< ::org::omg::CORBA::Policy * > * s_policies; + ::gnu::CORBA::Poa::ORB_1_4 * m_orb; + jboolean m_inDestruction; +public: + jboolean retain_servant; +public: // actually package-private + ::org::omg::PortableInterceptor::ObjectReferenceFactory * m_object_factory; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuPOA__ diff --git a/libjava/gnu/CORBA/Poa/gnuPOAManager.h b/libjava/gnu/CORBA/Poa/gnuPOAManager.h new file mode 100644 index 00000000000..b94576b3c6e --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuPOAManager.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuPOAManager__ +#define __gnu_CORBA_Poa_gnuPOAManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuPOA; + class gnuPOAManager; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAManagerPackage + { + class State; + } + } + } + } +} + +class gnu::CORBA::Poa::gnuPOAManager : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuPOAManager(); + virtual ::org::omg::PortableServer::POAManagerPackage::State * get_state(); + virtual void activate(); + virtual void hold_requests(jboolean); + virtual void deactivate(jboolean, jboolean); + virtual void discard_requests(jboolean); + virtual void waitForIdle(); + virtual void addPoa(::gnu::CORBA::Poa::gnuPOA *); + virtual void removePOA(::gnu::CORBA::Poa::gnuPOA *); + virtual void poaDestroyed(::gnu::CORBA::Poa::gnuPOA *); + virtual void notifyInterceptors(jint); +private: + static const jlong serialVersionUID = 1LL; + ::java::util::HashSet * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) POAs; +public: // actually package-private + ::org::omg::PortableServer::POAManagerPackage::State * state; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuPOAManager__ diff --git a/libjava/gnu/CORBA/Poa/gnuPoaCurrent.h b/libjava/gnu/CORBA/Poa/gnuPoaCurrent.h new file mode 100644 index 00000000000..63c88c6923b --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuPoaCurrent.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuPoaCurrent__ +#define __gnu_CORBA_Poa_gnuPoaCurrent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuPoaCurrent; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class CurrentOperations; + class POA; + } + } + } +} + +class gnu::CORBA::Poa::gnuPoaCurrent : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + gnuPoaCurrent(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual JArray< jbyte > * get_object_id(); + virtual ::org::omg::PortableServer::POA * get_POA(); + virtual void put(::java::lang::Thread *, ::org::omg::PortableServer::CurrentOperations *); + virtual jboolean has(::org::omg::PortableServer::POA *); + virtual jboolean has(::java::lang::Thread *); + virtual void remove(::java::lang::Thread *); +private: + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::ObjectImpl)))) threads; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuPoaCurrent__ diff --git a/libjava/gnu/CORBA/Poa/gnuRequestProcessingPolicy.h b/libjava/gnu/CORBA/Poa/gnuRequestProcessingPolicy.h new file mode 100644 index 00000000000..661a49b28b2 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuRequestProcessingPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuRequestProcessingPolicy__ +#define __gnu_CORBA_Poa_gnuRequestProcessingPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuRequestProcessingPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class RequestProcessingPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuRequestProcessingPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuRequestProcessingPolicy(::org::omg::PortableServer::RequestProcessingPolicyValue *); + virtual ::org::omg::PortableServer::RequestProcessingPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuRequestProcessingPolicy__ diff --git a/libjava/gnu/CORBA/Poa/gnuServantObject.h b/libjava/gnu/CORBA/Poa/gnuServantObject.h new file mode 100644 index 00000000000..8b5d761d1e5 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuServantObject.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuServantObject__ +#define __gnu_CORBA_Poa_gnuServantObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + namespace Poa + { + class ORB_1_4; + class gnuPOA; + class gnuServantObject; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + namespace portable + { + class InputStream; + class InvokeHandler; + class OutputStream; + class ResponseHandler; + } + } + namespace PortableServer + { + class POA; + class POAManager; + class Servant; + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class gnu::CORBA::Poa::gnuServantObject : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + gnuServantObject(JArray< ::java::lang::String * > *, JArray< jbyte > *, ::gnu::CORBA::Poa::gnuPOA *, ::gnu::CORBA::Poa::ORB_1_4 *); + virtual ::gnu::CORBA::IOR * getIor(); + gnuServantObject(::org::omg::PortableServer::Servant *, JArray< jbyte > *, ::gnu::CORBA::Poa::ORB_1_4 *, ::gnu::CORBA::Poa::gnuPOA *); + virtual void setServant(::org::omg::PortableServer::Servant *); + virtual ::org::omg::PortableServer::Servant * getServant(); + virtual ::org::omg::CORBA::portable::InvokeHandler * getHandler(::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *, jboolean); + virtual ::org::omg::CORBA::portable::InvokeHandler * servantToHandler(::org::omg::PortableServer::Servant *); + gnuServantObject(::org::omg::PortableServer::Servant *, ::gnu::CORBA::Poa::gnuPOA *); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::java::lang::String * toString(); + virtual jboolean _is_local(); + virtual jboolean _is_a(::java::lang::String *); + virtual ::org::omg::CORBA::ORB * _orb(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * get_object_id(); + virtual ::org::omg::PortableServer::POA * get_POA(); + virtual void _release(); + virtual void _releaseReply(::org::omg::CORBA::portable::InputStream *); + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *); +private: + ::org::omg::PortableServer::Servant * __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::ObjectImpl)))) servant; +public: + JArray< jbyte > * Id; + ::gnu::CORBA::Poa::gnuPOA * poa; + ::org::omg::PortableServer::POAManager * manager; + ::gnu::CORBA::Poa::ORB_1_4 * orb; + JArray< ::java::lang::String * > * repository_ids; +public: // actually package-private + jboolean noRetain; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuServantObject__ diff --git a/libjava/gnu/CORBA/Poa/gnuServantRetentionPolicy.h b/libjava/gnu/CORBA/Poa/gnuServantRetentionPolicy.h new file mode 100644 index 00000000000..9ac884715b3 --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuServantRetentionPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuServantRetentionPolicy__ +#define __gnu_CORBA_Poa_gnuServantRetentionPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuServantRetentionPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class ServantRetentionPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuServantRetentionPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuServantRetentionPolicy(::org::omg::PortableServer::ServantRetentionPolicyValue *); + virtual ::org::omg::PortableServer::ServantRetentionPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuServantRetentionPolicy__ diff --git a/libjava/gnu/CORBA/Poa/gnuThreadPolicy.h b/libjava/gnu/CORBA/Poa/gnuThreadPolicy.h new file mode 100644 index 00000000000..a52147d923e --- /dev/null +++ b/libjava/gnu/CORBA/Poa/gnuThreadPolicy.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Poa_gnuThreadPolicy__ +#define __gnu_CORBA_Poa_gnuThreadPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace Poa + { + class gnuThreadPolicy; + } + } + } + namespace org + { + namespace omg + { + namespace PortableServer + { + class ThreadPolicyValue; + } + } + } +} + +class gnu::CORBA::Poa::gnuThreadPolicy : public ::gnu::CORBA::_PolicyImplBase +{ + +public: + gnuThreadPolicy(::org::omg::PortableServer::ThreadPolicyValue *); + virtual ::org::omg::PortableServer::ThreadPolicyValue * value(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Poa_gnuThreadPolicy__ diff --git a/libjava/gnu/CORBA/RawReply.h b/libjava/gnu/CORBA/RawReply.h new file mode 100644 index 00000000000..65e6d4c04bc --- /dev/null +++ b/libjava/gnu/CORBA/RawReply.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_RawReply__ +#define __gnu_CORBA_RawReply__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferredCdrInput; + } + namespace GIOP + { + class MessageHeader; + } + class RawReply; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class gnu::CORBA::RawReply : public ::java::lang::Object +{ + +public: // actually package-private + RawReply(::org::omg::CORBA::ORB *, ::gnu::CORBA::GIOP::MessageHeader *, JArray< jbyte > *); + virtual ::gnu::CORBA::CDR::BufferredCdrInput * getStream(); + ::gnu::CORBA::GIOP::MessageHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) header; + ::org::omg::CORBA::ORB * orb; + JArray< jbyte > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_RawReply__ diff --git a/libjava/gnu/CORBA/ResponseHandlerImpl.h b/libjava/gnu/CORBA/ResponseHandlerImpl.h new file mode 100644 index 00000000000..99ca581b6aa --- /dev/null +++ b/libjava/gnu/CORBA/ResponseHandlerImpl.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_ResponseHandlerImpl__ +#define __gnu_CORBA_ResponseHandlerImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + } + namespace GIOP + { + class MessageHeader; + class ReplyHeader; + class RequestHeader; + } + class ResponseHandlerImpl; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + namespace portable + { + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::ResponseHandlerImpl : public ::java::lang::Object +{ + +public: // actually package-private + ResponseHandlerImpl(::org::omg::CORBA::ORB *, ::gnu::CORBA::GIOP::MessageHeader *, ::gnu::CORBA::GIOP::ReplyHeader *, ::gnu::CORBA::GIOP::RequestHeader *); +public: + virtual ::org::omg::CORBA::portable::OutputStream * createExceptionReply(); + virtual ::org::omg::CORBA::portable::OutputStream * createReply(); + virtual ::gnu::CORBA::CDR::BufferedCdrOutput * getBuffer(); + virtual jboolean isExceptionReply(); +private: + void prepareStream(); +public: + ::gnu::CORBA::GIOP::MessageHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) message_header; + ::org::omg::CORBA::ORB * orb; + ::gnu::CORBA::GIOP::ReplyHeader * reply_header; + ::gnu::CORBA::GIOP::RequestHeader * request_header; +private: + jboolean exceptionReply; + ::gnu::CORBA::CDR::BufferedCdrOutput * buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_ResponseHandlerImpl__ diff --git a/libjava/gnu/CORBA/SafeForDirectCalls.h b/libjava/gnu/CORBA/SafeForDirectCalls.h new file mode 100644 index 00000000000..23f774c195c --- /dev/null +++ b/libjava/gnu/CORBA/SafeForDirectCalls.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_SafeForDirectCalls__ +#define __gnu_CORBA_SafeForDirectCalls__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class SafeForDirectCalls; + } + } +} + +class gnu::CORBA::SafeForDirectCalls : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_SafeForDirectCalls__ diff --git a/libjava/gnu/CORBA/ServiceDetailHolder.h b/libjava/gnu/CORBA/ServiceDetailHolder.h new file mode 100644 index 00000000000..8181666a41f --- /dev/null +++ b/libjava/gnu/CORBA/ServiceDetailHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_ServiceDetailHolder__ +#define __gnu_CORBA_ServiceDetailHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class ServiceDetailHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ServiceDetail; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::ServiceDetailHolder : public ::java::lang::Object +{ + +public: + ServiceDetailHolder(::org::omg::CORBA::ServiceDetail *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::ServiceDetail * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_ServiceDetailHolder__ diff --git a/libjava/gnu/CORBA/ServiceRequestAdapter.h b/libjava/gnu/CORBA/ServiceRequestAdapter.h new file mode 100644 index 00000000000..2fd7a379569 --- /dev/null +++ b/libjava/gnu/CORBA/ServiceRequestAdapter.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_ServiceRequestAdapter__ +#define __gnu_CORBA_ServiceRequestAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + } + class ServiceRequestAdapter; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ServerRequest; + namespace portable + { + class InvokeHandler; + class OutputStream; + class Streamable; + } + } + } + } +} + +class gnu::CORBA::ServiceRequestAdapter : public ::java::lang::Object +{ + +public: + ServiceRequestAdapter(); + virtual ::org::omg::CORBA::portable::OutputStream * createExceptionReply(); + virtual ::org::omg::CORBA::portable::OutputStream * createReply(); + static void invoke(::org::omg::CORBA::ServerRequest *, ::org::omg::CORBA::portable::InvokeHandler *, ::org::omg::CORBA::portable::Streamable *); +public: // actually package-private + ::gnu::CORBA::CDR::BufferedCdrOutput * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reply; + jboolean isException; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_ServiceRequestAdapter__ diff --git a/libjava/gnu/CORBA/SetOverrideTypeHolder.h b/libjava/gnu/CORBA/SetOverrideTypeHolder.h new file mode 100644 index 00000000000..40aec98c9eb --- /dev/null +++ b/libjava/gnu/CORBA/SetOverrideTypeHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_SetOverrideTypeHolder__ +#define __gnu_CORBA_SetOverrideTypeHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class SetOverrideTypeHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class SetOverrideType; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::SetOverrideTypeHolder : public ::java::lang::Object +{ + +public: + SetOverrideTypeHolder(::org::omg::CORBA::SetOverrideType *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::SetOverrideType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_SetOverrideTypeHolder__ diff --git a/libjava/gnu/CORBA/SimpleDelegate.h b/libjava/gnu/CORBA/SimpleDelegate.h new file mode 100644 index 00000000000..2efe2b84361 --- /dev/null +++ b/libjava/gnu/CORBA/SimpleDelegate.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_SimpleDelegate__ +#define __gnu_CORBA_SimpleDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + class SimpleDelegate; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Request; + } + } + } +} + +class gnu::CORBA::SimpleDelegate : public ::org::omg::CORBA::portable::Delegate +{ + +public: + SimpleDelegate(::org::omg::CORBA::ORB *, ::gnu::CORBA::IOR *); + virtual void setIor(::gnu::CORBA::IOR *); + virtual ::gnu::CORBA::IOR * getIor(); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *); + virtual ::org::omg::CORBA::Object * duplicate(::org::omg::CORBA::Object *); + virtual jboolean equals(::org::omg::CORBA::Object *, ::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Object * get_interface_def(::org::omg::CORBA::Object *); + virtual jint hash(::org::omg::CORBA::Object *, jint); + virtual jint hashCode(::org::omg::CORBA::Object *); + virtual jboolean is_a(::org::omg::CORBA::Object *, ::java::lang::String *); + virtual jboolean is_equivalent(::org::omg::CORBA::Object *, ::org::omg::CORBA::Object *); + virtual jboolean is_local(::org::omg::CORBA::Object *); + virtual jboolean non_existent(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::ORB * orb(::org::omg::CORBA::Object *); + virtual void release(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Request * request(::org::omg::CORBA::Object *, ::java::lang::String *); +public: // actually protected + ::org::omg::CORBA::ORB * __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::Delegate)))) orb__; + ::gnu::CORBA::IOR * ior; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_SimpleDelegate__ diff --git a/libjava/gnu/CORBA/SocketRepository.h b/libjava/gnu/CORBA/SocketRepository.h new file mode 100644 index 00000000000..158fe4df10d --- /dev/null +++ b/libjava/gnu/CORBA/SocketRepository.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_SocketRepository__ +#define __gnu_CORBA_SocketRepository__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class SocketRepository; + } + } + namespace java + { + namespace net + { + class Socket; + } + } +} + +class gnu::CORBA::SocketRepository : public ::java::lang::Object +{ + +public: + SocketRepository(); + static void put_socket(::java::lang::Object *, ::java::net::Socket *); +private: + static void gc(); +public: // actually package-private + static jboolean not_reusable(::java::net::Socket *); +public: + static ::java::net::Socket * get_socket(::java::lang::Object *); +private: + static ::java::util::HashMap * sockets; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_SocketRepository__ diff --git a/libjava/gnu/CORBA/StreamBasedRequest.h b/libjava/gnu/CORBA/StreamBasedRequest.h new file mode 100644 index 00000000000..7afb2dad309 --- /dev/null +++ b/libjava/gnu/CORBA/StreamBasedRequest.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_StreamBasedRequest__ +#define __gnu_CORBA_StreamBasedRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class StreamBasedRequest; + class gnuRequest; + } + } +} + +class gnu::CORBA::StreamBasedRequest : public ::gnu::CORBA::CDR::BufferedCdrOutput +{ + +public: + StreamBasedRequest(); + ::gnu::CORBA::gnuRequest * __attribute__((aligned(__alignof__( ::gnu::CORBA::CDR::BufferedCdrOutput)))) request; + jboolean response_expected; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_StreamBasedRequest__ diff --git a/libjava/gnu/CORBA/StreamHolder.h b/libjava/gnu/CORBA/StreamHolder.h new file mode 100644 index 00000000000..f71e4ad6d07 --- /dev/null +++ b/libjava/gnu/CORBA/StreamHolder.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_StreamHolder__ +#define __gnu_CORBA_StreamHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class StreamHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::StreamHolder : public ::java::lang::Object +{ + +public: + StreamHolder(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); +public: // actually package-private + virtual ::org::omg::CORBA::portable::InputStream * getInputStream(); +public: // actually protected + ::org::omg::CORBA::portable::InputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_StreamHolder__ diff --git a/libjava/gnu/CORBA/StubLocator.h b/libjava/gnu/CORBA/StubLocator.h new file mode 100644 index 00000000000..591e30fe554 --- /dev/null +++ b/libjava/gnu/CORBA/StubLocator.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_StubLocator__ +#define __gnu_CORBA_StubLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class IOR; + class StubLocator; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + namespace portable + { + class ObjectImpl; + } + } + } + } +} + +class gnu::CORBA::StubLocator : public ::java::lang::Object +{ + +public: + StubLocator(); + static ::org::omg::CORBA::portable::ObjectImpl * search(::org::omg::CORBA::ORB *, ::gnu::CORBA::IOR *); +public: // actually protected + static ::org::omg::CORBA::portable::ObjectImpl * createDefaultStub(::org::omg::CORBA::ORB *, ::gnu::CORBA::IOR *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_StubLocator__ diff --git a/libjava/gnu/CORBA/TypeCodeHelper.h b/libjava/gnu/CORBA/TypeCodeHelper.h new file mode 100644 index 00000000000..eac0736adac --- /dev/null +++ b/libjava/gnu/CORBA/TypeCodeHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_TypeCodeHelper__ +#define __gnu_CORBA_TypeCodeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class TypeCodeHelper; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::TypeCodeHelper : public ::java::lang::Object +{ + +public: + TypeCodeHelper(); + static ::org::omg::CORBA::TypeCode * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::TypeCode *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_TypeCodeHelper__ diff --git a/libjava/gnu/CORBA/TypeKindNamer.h b/libjava/gnu/CORBA/TypeKindNamer.h new file mode 100644 index 00000000000..da2c87fd6d0 --- /dev/null +++ b/libjava/gnu/CORBA/TypeKindNamer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_TypeKindNamer__ +#define __gnu_CORBA_TypeKindNamer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class TypeKindNamer; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TCKind; + class TypeCode; + } + } + } +} + +class gnu::CORBA::TypeKindNamer : public ::java::lang::Object +{ + +public: + TypeKindNamer(); + static ::org::omg::CORBA::TypeCode * getPrimitveTC(::org::omg::CORBA::TCKind *); + static ::java::lang::String * nameIt(jint); + static ::java::lang::String * nameIt(::org::omg::CORBA::TypeCode *); +public: // actually protected + static JArray< ::java::lang::String * > * tk; + static JArray< ::org::omg::CORBA::TypeCode * > * primitveCodes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_TypeKindNamer__ diff --git a/libjava/gnu/CORBA/Unexpected.h b/libjava/gnu/CORBA/Unexpected.h new file mode 100644 index 00000000000..cadcd6159f0 --- /dev/null +++ b/libjava/gnu/CORBA/Unexpected.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Unexpected__ +#define __gnu_CORBA_Unexpected__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Unexpected; + } + } +} + +class gnu::CORBA::Unexpected : public ::java::lang::InternalError +{ + +public: + Unexpected(::java::lang::String *, ::java::lang::Exception *); + Unexpected(::java::lang::Exception *); + Unexpected(); + static void error(::java::lang::String *, ::java::lang::Exception *); + static void error(::java::lang::Exception *); + static void error(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::String * SHARED_MESSAGE; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Unexpected__ diff --git a/libjava/gnu/CORBA/Version.h b/libjava/gnu/CORBA/Version.h new file mode 100644 index 00000000000..0c8d910b9b2 --- /dev/null +++ b/libjava/gnu/CORBA/Version.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_Version__ +#define __gnu_CORBA_Version__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class Version; + } + } +} + +class gnu::CORBA::Version : public ::java::lang::Object +{ + +public: + Version(jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + static ::gnu::CORBA::Version * read_version(::java::io::InputStream *); + virtual jboolean same(::gnu::CORBA::Version *); + virtual jboolean since_inclusive(jint, jint); + virtual ::java::lang::String * toString(); + virtual jboolean until_inclusive(jint, jint); + virtual void write(::java::io::OutputStream *); +private: + static const jlong serialVersionUID = 1LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) major; + jint minor; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_Version__ diff --git a/libjava/gnu/CORBA/WCharHolder.h b/libjava/gnu/CORBA/WCharHolder.h new file mode 100644 index 00000000000..b5a66def959 --- /dev/null +++ b/libjava/gnu/CORBA/WCharHolder.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_WCharHolder__ +#define __gnu_CORBA_WCharHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class WCharHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::WCharHolder : public ::java::lang::Object +{ + +public: + WCharHolder(); + WCharHolder(jchar); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_char; +public: + jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_WCharHolder__ diff --git a/libjava/gnu/CORBA/WStringHolder.h b/libjava/gnu/CORBA/WStringHolder.h new file mode 100644 index 00000000000..5d26fdaa830 --- /dev/null +++ b/libjava/gnu/CORBA/WStringHolder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_WStringHolder__ +#define __gnu_CORBA_WStringHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class WStringHolder; + namespace typecodes + { + class StringTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::WStringHolder : public ::java::lang::Object +{ + +public: + WStringHolder(); + WStringHolder(::java::lang::String *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::gnu::CORBA::typecodes::StringTypeCode * t_string; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_WStringHolder__ diff --git a/libjava/gnu/CORBA/_PolicyImplBase.h b/libjava/gnu/CORBA/_PolicyImplBase.h new file mode 100644 index 00000000000..3cd33d7d43b --- /dev/null +++ b/libjava/gnu/CORBA/_PolicyImplBase.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA__PolicyImplBase__ +#define __gnu_CORBA__PolicyImplBase__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class _PolicyImplBase; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + } + } +} + +class gnu::CORBA::_PolicyImplBase : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _PolicyImplBase(jint, ::java::lang::Object *, jint, ::java::lang::String *); + virtual jint policy_type(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual ::java::lang::Object * getValue(); + virtual jint getCode(); + virtual void destroy(); + virtual ::java::lang::String * toString(); + virtual ::org::omg::CORBA::Policy * copy(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::ObjectImpl)))) ids; + jint type; + ::java::lang::Object * value; + jint policyCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA__PolicyImplBase__ diff --git a/libjava/gnu/CORBA/gnuAny.h b/libjava/gnu/CORBA/gnuAny.h new file mode 100644 index 00000000000..5047b420925 --- /dev/null +++ b/libjava/gnu/CORBA/gnuAny.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuAny__ +#define __gnu_CORBA_gnuAny__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuAny; + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ORB; + class Object; + class Principal; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + class Streamable; + } + } + } + } +} + +class gnu::CORBA::gnuAny : public ::org::omg::CORBA::Any +{ + +public: + gnuAny(); + virtual void setOrb(::org::omg::CORBA::ORB *); + virtual ::gnu::CORBA::gnuAny * Clone(); + virtual ::org::omg::CORBA::portable::InputStream * create_input_stream(); + virtual ::org::omg::CORBA::portable::OutputStream * create_output_stream(); + virtual jboolean equal(::org::omg::CORBA::Any *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::org::omg::CORBA::Object * extract_Object(); + virtual ::org::omg::CORBA::Principal * extract_Principal(); + virtual ::org::omg::CORBA::portable::Streamable * extract_Streamable(); + virtual ::org::omg::CORBA::TypeCode * extract_TypeCode(); + virtual ::java::io::Serializable * extract_Value(); + virtual ::org::omg::CORBA::Any * extract_any(); + virtual jboolean extract_boolean(); + virtual jchar extract_char(); + virtual jdouble extract_double(); + virtual ::java::math::BigDecimal * extract_fixed(); + virtual jfloat extract_float(); + virtual jint extract_long(); + virtual jlong extract_longlong(); + virtual jbyte extract_octet(); + virtual jshort extract_short(); + virtual ::java::lang::String * extract_string(); + virtual jint extract_ulong(); + virtual jlong extract_ulonglong(); + virtual jshort extract_ushort(); + virtual jchar extract_wchar(); + virtual ::java::lang::String * extract_wstring(); + virtual void insert_Object(::org::omg::CORBA::Object *, ::org::omg::CORBA::TypeCode *); + virtual void insert_Object(::org::omg::CORBA::Object *); + virtual void insert_Principal(::org::omg::CORBA::Principal *); + virtual void insert_Streamable(::org::omg::CORBA::portable::Streamable *); + virtual void insert_TypeCode(::org::omg::CORBA::TypeCode *); + virtual void insert_Value(::java::io::Serializable *, ::org::omg::CORBA::TypeCode *); + virtual void insert_Value(::java::io::Serializable *); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_fixed(::java::math::BigDecimal *, ::org::omg::CORBA::TypeCode *); + virtual void insert_fixed(::java::math::BigDecimal *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual ::org::omg::CORBA::ORB * orb(); + virtual void read_value(::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual void type(::org::omg::CORBA::TypeCode *); + virtual void write_value(::org::omg::CORBA::portable::OutputStream *); +public: // actually protected + virtual void check(jint); +private: + void resetTypes(); + static const jlong serialVersionUID = 1LL; +public: // actually protected + static ::org::omg::CORBA::TypeCode * nullType; + ::org::omg::CORBA::portable::Streamable * __attribute__((aligned(__alignof__( ::org::omg::CORBA::Any)))) has; + ::org::omg::CORBA::TypeCode * typecode; + jint xKind; +private: + ::org::omg::CORBA::ORB * orb__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuAny__ diff --git a/libjava/gnu/CORBA/gnuCodecFactory.h b/libjava/gnu/CORBA/gnuCodecFactory.h new file mode 100644 index 00000000000..51d52b3f511 --- /dev/null +++ b/libjava/gnu/CORBA/gnuCodecFactory.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuCodecFactory__ +#define __gnu_CORBA_gnuCodecFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuCodecFactory; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + namespace IOP + { + class Codec; + class Encoding; + } + } + } +} + +class gnu::CORBA::gnuCodecFactory : public ::org::omg::CORBA::LocalObject +{ + +public: + gnuCodecFactory(::org::omg::CORBA::ORB *); + virtual ::org::omg::IOP::Codec * create_codec(::org::omg::IOP::Encoding *); +private: + ::org::omg::CORBA::ORB * __attribute__((aligned(__alignof__( ::org::omg::CORBA::LocalObject)))) orb; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuCodecFactory__ diff --git a/libjava/gnu/CORBA/gnuContext.h b/libjava/gnu/CORBA/gnuContext.h new file mode 100644 index 00000000000..4d55ac54ac7 --- /dev/null +++ b/libjava/gnu/CORBA/gnuContext.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuContext__ +#define __gnu_CORBA_gnuContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuContext; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class NVList; + } + } + } +} + +class gnu::CORBA::gnuContext : public ::org::omg::CORBA::Context +{ + +public: + gnuContext(::java::lang::String *, ::org::omg::CORBA::Context *); + virtual ::java::lang::String * context_name(); + virtual ::org::omg::CORBA::Context * create_child(::java::lang::String *); + virtual void delete_values(::java::lang::String *); + virtual ::org::omg::CORBA::NVList * get_values(::java::lang::String *, jint, ::java::lang::String *); + virtual ::org::omg::CORBA::Context * parent(); + virtual void set_one_value(::java::lang::String *, ::org::omg::CORBA::Any *); + virtual void set_values(::org::omg::CORBA::NVList *); +public: // actually package-private + ::org::omg::CORBA::Context * __attribute__((aligned(__alignof__( ::org::omg::CORBA::Context)))) parent__; + ::java::util::Map * properties; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuContext__ diff --git a/libjava/gnu/CORBA/gnuContextList.h b/libjava/gnu/CORBA/gnuContextList.h new file mode 100644 index 00000000000..914d5029c2a --- /dev/null +++ b/libjava/gnu/CORBA/gnuContextList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuContextList__ +#define __gnu_CORBA_gnuContextList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class CorbaList; + class gnuContextList; + } + } +} + +class gnu::CORBA::gnuContextList : public ::org::omg::CORBA::ContextList +{ + +public: + gnuContextList(); + virtual void add(::java::lang::String *); + virtual jint count(); + virtual ::java::lang::String * item(jint); + virtual void remove(jint); +public: // actually package-private + ::gnu::CORBA::CorbaList * __attribute__((aligned(__alignof__( ::org::omg::CORBA::ContextList)))) strings; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuContextList__ diff --git a/libjava/gnu/CORBA/gnuEnvironment.h b/libjava/gnu/CORBA/gnuEnvironment.h new file mode 100644 index 00000000000..1557180ecf2 --- /dev/null +++ b/libjava/gnu/CORBA/gnuEnvironment.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuEnvironment__ +#define __gnu_CORBA_gnuEnvironment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuEnvironment; + } + } +} + +class gnu::CORBA::gnuEnvironment : public ::org::omg::CORBA::Environment +{ + +public: + gnuEnvironment(); + virtual void clear(); + virtual void exception(::java::lang::Exception *); + virtual ::java::lang::Exception * exception(); +public: // actually protected + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::org::omg::CORBA::Environment)))) exception__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuEnvironment__ diff --git a/libjava/gnu/CORBA/gnuExceptionList.h b/libjava/gnu/CORBA/gnuExceptionList.h new file mode 100644 index 00000000000..dd1b138604b --- /dev/null +++ b/libjava/gnu/CORBA/gnuExceptionList.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuExceptionList__ +#define __gnu_CORBA_gnuExceptionList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class CorbaList; + class gnuExceptionList; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + } + } + } +} + +class gnu::CORBA::gnuExceptionList : public ::org::omg::CORBA::ExceptionList +{ + +public: + gnuExceptionList(); + virtual void add(::org::omg::CORBA::TypeCode *); + virtual jint count(); + virtual ::org::omg::CORBA::TypeCode * item(jint); + virtual void remove(jint); +public: // actually protected + ::gnu::CORBA::CorbaList * __attribute__((aligned(__alignof__( ::org::omg::CORBA::ExceptionList)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuExceptionList__ diff --git a/libjava/gnu/CORBA/gnuNVList.h b/libjava/gnu/CORBA/gnuNVList.h new file mode 100644 index 00000000000..25d5e08b6c9 --- /dev/null +++ b/libjava/gnu/CORBA/gnuNVList.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuNVList__ +#define __gnu_CORBA_gnuNVList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class CorbaList; + class gnuNVList; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class NamedValue; + } + } + } +} + +class gnu::CORBA::gnuNVList : public ::org::omg::CORBA::NVList +{ + +public: + gnuNVList(); + gnuNVList(jint); + virtual ::org::omg::CORBA::NamedValue * add(jint); + virtual ::org::omg::CORBA::NamedValue * add_item(::java::lang::String *, jint); + virtual ::org::omg::CORBA::NamedValue * add_value(::java::lang::String *, ::org::omg::CORBA::Any *, jint); + virtual void add(::org::omg::CORBA::NamedValue *); + virtual jint count(); + virtual ::org::omg::CORBA::NamedValue * item(jint); + virtual void remove(jint); +public: // actually protected + ::gnu::CORBA::CorbaList * __attribute__((aligned(__alignof__( ::org::omg::CORBA::NVList)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuNVList__ diff --git a/libjava/gnu/CORBA/gnuNamedValue.h b/libjava/gnu/CORBA/gnuNamedValue.h new file mode 100644 index 00000000000..17386a3cc82 --- /dev/null +++ b/libjava/gnu/CORBA/gnuNamedValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuNamedValue__ +#define __gnu_CORBA_gnuNamedValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuNamedValue; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + } + } + } +} + +class gnu::CORBA::gnuNamedValue : public ::org::omg::CORBA::NamedValue +{ + +public: + gnuNamedValue(); + virtual void setFlags(jint); + virtual void setName(::java::lang::String *); + virtual void setValue(::org::omg::CORBA::Any *); + virtual jint flags(); + virtual ::java::lang::String * name(); + virtual ::org::omg::CORBA::Any * value(); +private: + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::org::omg::CORBA::NamedValue)))) m_value; + ::java::lang::String * m_name; + jint m_flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuNamedValue__ diff --git a/libjava/gnu/CORBA/gnuRequest$1.h b/libjava/gnu/CORBA/gnuRequest$1.h new file mode 100644 index 00000000000..821bf514e6e --- /dev/null +++ b/libjava/gnu/CORBA/gnuRequest$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuRequest$1__ +#define __gnu_CORBA_gnuRequest$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuRequest; + class gnuRequest$1; + } + } +} + +class gnu::CORBA::gnuRequest$1 : public ::java::lang::Thread +{ + +public: // actually package-private + gnuRequest$1(::gnu::CORBA::gnuRequest *); +public: + void run(); +public: // actually package-private + ::gnu::CORBA::gnuRequest * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuRequest$1__ diff --git a/libjava/gnu/CORBA/gnuRequest$2.h b/libjava/gnu/CORBA/gnuRequest$2.h new file mode 100644 index 00000000000..3b1663fdee2 --- /dev/null +++ b/libjava/gnu/CORBA/gnuRequest$2.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuRequest$2__ +#define __gnu_CORBA_gnuRequest$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuRequest; + class gnuRequest$2; + } + } +} + +class gnu::CORBA::gnuRequest$2 : public ::java::lang::Thread +{ + +public: // actually package-private + gnuRequest$2(::gnu::CORBA::gnuRequest *, ::gnu::CORBA::gnuRequest *); +public: + void run(); +public: // actually package-private + ::gnu::CORBA::gnuRequest * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0; +private: + ::gnu::CORBA::gnuRequest * val$cloned; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuRequest$2__ diff --git a/libjava/gnu/CORBA/gnuRequest.h b/libjava/gnu/CORBA/gnuRequest.h new file mode 100644 index 00000000000..70ebd77b9e0 --- /dev/null +++ b/libjava/gnu/CORBA/gnuRequest.h @@ -0,0 +1,184 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuRequest__ +#define __gnu_CORBA_gnuRequest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class BufferedCdrOutput; + class BufferredCdrInput; + } + namespace GIOP + { + class MessageHeader; + class ReplyHeader; + class RequestHeader; + } + class IOR; + class RawReply; + class StreamBasedRequest; + class Version; + class gnuNVList; + class gnuRequest; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class Environment; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Policy; + class SystemException; + class TypeCode; + } + namespace IOP + { + class ServiceContext; + class TaggedComponent; + class TaggedProfile; + } + namespace PortableInterceptor + { + class ClientRequestInfo; + class ClientRequestInterceptorOperations; + } + } + } +} + +class gnu::CORBA::gnuRequest : public ::org::omg::CORBA::Request +{ + +public: + gnuRequest(); + virtual void setIor(::gnu::CORBA::IOR *); + virtual ::gnu::CORBA::IOR * getIor(); + virtual void setORB(::org::omg::CORBA::ORB *); + virtual void setBigEndian(jboolean); + virtual void setOperation(::java::lang::String *); + virtual ::gnu::CORBA::StreamBasedRequest * getParameterStream(); + virtual ::gnu::CORBA::gnuRequest * Clone(); + virtual ::org::omg::CORBA::Any * add_in_arg(); + virtual ::org::omg::CORBA::Any * add_inout_arg(); + virtual ::org::omg::CORBA::Any * add_named_in_arg(::java::lang::String *); + virtual ::org::omg::CORBA::Any * add_named_inout_arg(::java::lang::String *); + virtual ::org::omg::CORBA::Any * add_named_out_arg(::java::lang::String *); + virtual ::org::omg::CORBA::Any * add_out_arg(); + virtual ::org::omg::CORBA::NVList * arguments(); + virtual ::org::omg::CORBA::ContextList * contexts(); + virtual ::org::omg::CORBA::Context * ctx(); + virtual void ctx(::org::omg::CORBA::Context *); + virtual ::org::omg::CORBA::Environment * env(); + virtual ::org::omg::CORBA::ExceptionList * exceptions(); + virtual void get_response(); + virtual void invoke(); + virtual ::java::lang::String * operation(); + virtual ::org::omg::CORBA::ORB * orb(); + virtual jboolean poll_response(); + virtual ::org::omg::CORBA::NamedValue * result(); + virtual ::org::omg::CORBA::Any * return_value(); + virtual void send_deferred(); + virtual void send_oneway(); + virtual void set_args(::org::omg::CORBA::NVList *); + virtual void set_context_list(::org::omg::CORBA::ContextList *); + virtual void set_environment(::org::omg::CORBA::Environment *); + virtual void set_exceptions(::org::omg::CORBA::ExceptionList *); + virtual void set_operation(::java::lang::String *); + virtual void set_result(::org::omg::CORBA::NamedValue *); + virtual void set_return_type(::org::omg::CORBA::TypeCode *); + virtual void set_target(::org::omg::CORBA::Object *); + virtual ::gnu::CORBA::RawReply * submit(); + virtual ::org::omg::CORBA::Object * target(); + virtual ::gnu::CORBA::Version * useVersion(::gnu::CORBA::Version *); + virtual void waitWhileBusy(); +private: + void p_invoke(); +public: // actually package-private + virtual void readExceptionId(::gnu::CORBA::CDR::BufferredCdrInput *); +public: // actually protected + virtual void write_parameter_buffer(::gnu::CORBA::GIOP::MessageHeader *, ::gnu::CORBA::CDR::BufferedCdrOutput *); + virtual void write_parameters(::gnu::CORBA::GIOP::MessageHeader *, ::gnu::CORBA::CDR::BufferedCdrOutput *); +public: + virtual void add_request_service_context(::org::omg::IOP::ServiceContext *, jboolean); + virtual ::org::omg::IOP::TaggedProfile * effective_profile(); + virtual ::org::omg::CORBA::Object * effective_target(); + virtual ::org::omg::IOP::TaggedComponent * get_effective_component(jint); + virtual JArray< ::org::omg::IOP::TaggedComponent * > * get_effective_components(jint); + virtual ::org::omg::CORBA::Policy * get_request_policy(jint); + virtual ::java::lang::String * received_exception_id(); + virtual ::org::omg::CORBA::Any * received_exception(); + virtual ::org::omg::CORBA::Object * forward_reference(); + virtual ::org::omg::CORBA::Any * get_slot(jint); + virtual jshort reply_status(); + virtual jint request_id(); + virtual jboolean response_expected(); + virtual jshort sync_scope(); + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint); + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint); + virtual JArray< ::java::lang::String * > * operation_context(); + virtual JArray< ::java::lang::String * > * ice_contexts(); + virtual void checkDii(); + static ::gnu::CORBA::Version * MAX_SUPPORTED; + static jint PAUSE_INITIAL; + static jint PAUSE_STEPS; + static jint PAUSE_MAX; +public: // actually package-private + ::org::omg::PortableInterceptor::ClientRequestInterceptorOperations * __attribute__((aligned(__alignof__( ::org::omg::CORBA::Request)))) m_interceptor; + ::org::omg::PortableInterceptor::ClientRequestInfo * m_info; +private: + static ::gnu::CORBA::RawReply * EMPTY; +public: // actually protected + ::org::omg::CORBA::Context * m_context; + ::org::omg::CORBA::ContextList * m_context_list; + ::org::omg::CORBA::Environment * m_environment; + ::org::omg::CORBA::ExceptionList * m_exceptions; + ::org::omg::CORBA::NamedValue * m_result; + ::java::lang::String * m_exception_id; + ::org::omg::CORBA::SystemException * m_sys_ex; + ::org::omg::CORBA::Object * m_target; + ::java::lang::String * m_operation; +public: + ::gnu::CORBA::IOR * m_forward_ior; + ::org::omg::CORBA::Object * m_forwarding_target; +public: // actually protected + jboolean complete; + jboolean oneWay; + jboolean running; + ::gnu::CORBA::gnuNVList * m_args; + ::gnu::CORBA::StreamBasedRequest * m_parameter_buffer; + JArray< ::org::omg::CORBA::Any * > * m_slots; + ::gnu::CORBA::GIOP::RequestHeader * m_rqh; + ::gnu::CORBA::GIOP::ReplyHeader * m_rph; +private: + ::gnu::CORBA::IOR * ior; + ::org::omg::CORBA::ORB * orb__; + jboolean Big_endian; +public: // actually package-private + ::gnu::CORBA::gnuRequest * redirected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuRequest__ diff --git a/libjava/gnu/CORBA/gnuValueHolder.h b/libjava/gnu/CORBA/gnuValueHolder.h new file mode 100644 index 00000000000..d26dc33bb80 --- /dev/null +++ b/libjava/gnu/CORBA/gnuValueHolder.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_gnuValueHolder__ +#define __gnu_CORBA_gnuValueHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class gnuValueHolder; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class BoxedValueHelper; + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::CORBA::gnuValueHolder : public ::org::omg::CORBA::ValueBaseHolder +{ + +public: + gnuValueHolder(::java::io::Serializable *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); +public: // actually package-private + virtual void findHelper(); + ::org::omg::CORBA::TypeCode * __attribute__((aligned(__alignof__( ::org::omg::CORBA::ValueBaseHolder)))) type; + ::org::omg::CORBA::portable::BoxedValueHelper * helper; + jboolean helper_NA; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_gnuValueHolder__ diff --git a/libjava/gnu/CORBA/interfaces/SocketFactory.h b/libjava/gnu/CORBA/interfaces/SocketFactory.h new file mode 100644 index 00000000000..b6c1cea3307 --- /dev/null +++ b/libjava/gnu/CORBA/interfaces/SocketFactory.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_interfaces_SocketFactory__ +#define __gnu_CORBA_interfaces_SocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace interfaces + { + class SocketFactory; + } + } + } + namespace java + { + namespace net + { + class ServerSocket; + class Socket; + } + } +} + +class gnu::CORBA::interfaces::SocketFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::ServerSocket * createServerSocket(jint) = 0; + virtual ::java::net::Socket * createClientSocket(::java::lang::String *, jint) = 0; + static ::java::lang::String * PROPERTY; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_CORBA_interfaces_SocketFactory__ diff --git a/libjava/gnu/CORBA/typecodes/AliasTypeCode.h b/libjava/gnu/CORBA/typecodes/AliasTypeCode.h new file mode 100644 index 00000000000..1615821829c --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/AliasTypeCode.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_AliasTypeCode__ +#define __gnu_CORBA_typecodes_AliasTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class AliasTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::AliasTypeCode : public ::gnu::CORBA::typecodes::PrimitiveTypeCode +{ + +public: + AliasTypeCode(::org::omg::CORBA::TypeCode *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::omg::CORBA::TypeCode * content_type(); + virtual jboolean equal(::org::omg::CORBA::TypeCode *); + virtual jboolean equivalent(::org::omg::CORBA::TypeCode *); + virtual ::java::lang::String * id(); + virtual ::java::lang::String * name(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::PrimitiveTypeCode)))) id__; + ::java::lang::String * name__; + ::org::omg::CORBA::TypeCode * aliasFor; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_AliasTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/ArrayTypeCode.h b/libjava/gnu/CORBA/typecodes/ArrayTypeCode.h new file mode 100644 index 00000000000..4565632d22a --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/ArrayTypeCode.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_ArrayTypeCode__ +#define __gnu_CORBA_typecodes_ArrayTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TCKind; + class TypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::ArrayTypeCode : public ::gnu::CORBA::typecodes::PrimitiveTypeCode +{ + +public: + ArrayTypeCode(::org::omg::CORBA::TCKind *); + ArrayTypeCode(::org::omg::CORBA::TCKind *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::TypeCode * content_type(); + virtual jboolean equal(::org::omg::CORBA::TypeCode *); + virtual ::java::lang::String * id(); + virtual jint length(); + virtual void setLength(jint); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::org::omg::CORBA::TypeCode * __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::PrimitiveTypeCode)))) of; +private: + jint length__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_ArrayTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/FixedTypeCode.h b/libjava/gnu/CORBA/typecodes/FixedTypeCode.h new file mode 100644 index 00000000000..2acd5e917d4 --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/FixedTypeCode.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_FixedTypeCode__ +#define __gnu_CORBA_typecodes_FixedTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class FixedTypeCode; + } + } + } + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::FixedTypeCode : public ::gnu::CORBA::typecodes::PrimitiveTypeCode +{ + +public: + FixedTypeCode(); + FixedTypeCode(::java::math::BigDecimal *); + virtual void setDigits(jint); + virtual void setScale(jint); + static jint countDigits(::java::math::BigDecimal *); + virtual jboolean equal(::org::omg::CORBA::TypeCode *); + virtual jshort fixed_digits(); + virtual jshort fixed_scale(); +private: + static const jlong serialVersionUID = 1LL; + jshort __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::PrimitiveTypeCode)))) digits; + jshort scale; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_FixedTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/GeneralTypeCode.h b/libjava/gnu/CORBA/typecodes/GeneralTypeCode.h new file mode 100644 index 00000000000..a522ad08794 --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/GeneralTypeCode.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_GeneralTypeCode__ +#define __gnu_CORBA_typecodes_GeneralTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class GeneralTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TCKind; + class TypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::GeneralTypeCode : public ::gnu::CORBA::typecodes::PrimitiveTypeCode +{ + +public: + GeneralTypeCode(::org::omg::CORBA::TCKind *); + virtual void setConcreteBase_type(::org::omg::CORBA::TypeCode *); + virtual void setContentType(::org::omg::CORBA::TypeCode *); + virtual void setId(::java::lang::String *); + virtual void setLength(jint); + virtual void setName(::java::lang::String *); + virtual void setTypeModifier(jint); + virtual ::org::omg::CORBA::TypeCode * concrete_base_type(); + virtual ::org::omg::CORBA::TypeCode * content_type(); + virtual jboolean equal(::org::omg::CORBA::TypeCode *); + virtual jboolean equivalent(::org::omg::CORBA::TypeCode *); + virtual ::java::lang::String * id(); + virtual jint length(); + virtual ::java::lang::String * name(); + virtual jshort type_modifier(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually protected + static jint UNSET; +private: + static ::java::util::BitSet * lengthAllowed; + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::PrimitiveTypeCode)))) id__; + ::java::lang::String * name__; + ::org::omg::CORBA::TypeCode * concrete_base_type__; + ::org::omg::CORBA::TypeCode * content_type__; + jint len; + jint type_modifier__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_GeneralTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/PrimitiveTypeCode.h b/libjava/gnu/CORBA/typecodes/PrimitiveTypeCode.h new file mode 100644 index 00000000000..dda2b7fc83e --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/PrimitiveTypeCode.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_PrimitiveTypeCode__ +#define __gnu_CORBA_typecodes_PrimitiveTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class PrimitiveTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TCKind; + class TypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::PrimitiveTypeCode : public ::org::omg::CORBA::TypeCode +{ + +public: + PrimitiveTypeCode(::org::omg::CORBA::TCKind *); + virtual ::org::omg::CORBA::TypeCode * concrete_base_type(); + virtual ::org::omg::CORBA::TypeCode * content_type(); + virtual jint default_index(); + virtual ::org::omg::CORBA::TypeCode * discriminator_type(); + virtual jboolean equal(::org::omg::CORBA::TypeCode *); + virtual jboolean equivalent(::org::omg::CORBA::TypeCode *); + virtual jshort fixed_digits(); + virtual jshort fixed_scale(); + virtual ::org::omg::CORBA::TypeCode * get_compact_typecode(); + virtual ::java::lang::String * id(); + virtual ::org::omg::CORBA::TCKind * kind(); + virtual jint length(); + virtual jint member_count(); + virtual ::org::omg::CORBA::Any * member_label(jint); + virtual ::java::lang::String * member_name(jint); + virtual ::org::omg::CORBA::TypeCode * member_type(jint); + virtual jshort member_visibility(jint); + virtual ::java::lang::String * name(); + virtual jshort type_modifier(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually protected + ::org::omg::CORBA::TCKind * __attribute__((aligned(__alignof__( ::org::omg::CORBA::TypeCode)))) kind__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_PrimitiveTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/RecordTypeCode$Field.h b/libjava/gnu/CORBA/typecodes/RecordTypeCode$Field.h new file mode 100644 index 00000000000..d5de501d0da --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/RecordTypeCode$Field.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_RecordTypeCode$Field__ +#define __gnu_CORBA_typecodes_RecordTypeCode$Field__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class RecordTypeCode$Field; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::RecordTypeCode$Field : public ::java::lang::Object +{ + +public: + RecordTypeCode$Field(); + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::java::lang::Object)))) label; + ::java::lang::String * name; + ::org::omg::CORBA::TypeCode * type; + jint visibility; + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_RecordTypeCode$Field__ diff --git a/libjava/gnu/CORBA/typecodes/RecordTypeCode.h b/libjava/gnu/CORBA/typecodes/RecordTypeCode.h new file mode 100644 index 00000000000..be711a89ea5 --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/RecordTypeCode.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_RecordTypeCode__ +#define __gnu_CORBA_typecodes_RecordTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + class CorbaList; + namespace typecodes + { + class RecordTypeCode; + class RecordTypeCode$Field; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class StructMember; + class TCKind; + class TypeCode; + class UnionMember; + class ValueMember; + } + } + } +} + +class gnu::CORBA::typecodes::RecordTypeCode : public ::gnu::CORBA::typecodes::GeneralTypeCode +{ + +public: + RecordTypeCode(::org::omg::CORBA::TCKind *); + virtual void setDefaultIndex(jint); + virtual void setDiscriminator_type(::org::omg::CORBA::TypeCode *); + virtual ::gnu::CORBA::typecodes::RecordTypeCode$Field * getField(jint); + virtual void add(::gnu::CORBA::typecodes::RecordTypeCode$Field *); + virtual void add(::org::omg::CORBA::StructMember *); + virtual void add(::org::omg::CORBA::ValueMember *); + virtual void add(::org::omg::CORBA::UnionMember *); + virtual jint default_index(); + virtual ::org::omg::CORBA::TypeCode * discriminator_type(); + virtual ::gnu::CORBA::typecodes::RecordTypeCode$Field * field(); + virtual jint member_count(); + virtual ::org::omg::CORBA::Any * member_label(jint); + virtual ::java::lang::String * member_name(jint); + virtual ::org::omg::CORBA::TypeCode * member_type(jint); + virtual jshort member_visibility(jint); +private: + static const jlong serialVersionUID = 1LL; +public: // actually protected + ::gnu::CORBA::CorbaList * __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::GeneralTypeCode)))) members; +private: + ::org::omg::CORBA::TypeCode * discriminator_type__; + jint default_index__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_RecordTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/RecursiveTypeCode.h b/libjava/gnu/CORBA/typecodes/RecursiveTypeCode.h new file mode 100644 index 00000000000..4fcc4febadd --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/RecursiveTypeCode.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_RecursiveTypeCode__ +#define __gnu_CORBA_typecodes_RecursiveTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class RecursiveTypeCode; + } + } + } +} + +class gnu::CORBA::typecodes::RecursiveTypeCode : public ::gnu::CORBA::typecodes::PrimitiveTypeCode +{ + +public: + RecursiveTypeCode(::java::lang::String *); + virtual ::java::lang::String * id(); +private: + static const jlong serialVersionUID = 1LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::PrimitiveTypeCode)))) the_id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_RecursiveTypeCode__ diff --git a/libjava/gnu/CORBA/typecodes/StringTypeCode.h b/libjava/gnu/CORBA/typecodes/StringTypeCode.h new file mode 100644 index 00000000000..6513b3cdd33 --- /dev/null +++ b/libjava/gnu/CORBA/typecodes/StringTypeCode.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_CORBA_typecodes_StringTypeCode__ +#define __gnu_CORBA_typecodes_StringTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class StringTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TCKind; + } + } + } +} + +class gnu::CORBA::typecodes::StringTypeCode : public ::gnu::CORBA::typecodes::PrimitiveTypeCode +{ + +public: + StringTypeCode(::org::omg::CORBA::TCKind *); + virtual void setLength(jint); + virtual jint length(); +private: + static const jlong serialVersionUID = 1LL; + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::typecodes::PrimitiveTypeCode)))) len; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_CORBA_typecodes_StringTypeCode__ diff --git a/libjava/gnu/awt/LightweightRedirector.h b/libjava/gnu/awt/LightweightRedirector.h new file mode 100644 index 00000000000..03474c0da41 --- /dev/null +++ b/libjava/gnu/awt/LightweightRedirector.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_LightweightRedirector__ +#define __gnu_awt_LightweightRedirector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace awt + { + class LightweightRedirector; + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class Component; + namespace event + { + class InputEvent; + class MouseEvent; + } + } + } +} + +class gnu::awt::LightweightRedirector : public ::java::lang::Object +{ + +public: + LightweightRedirector(); + virtual ::java::awt::AWTEvent * redirect(::java::awt::AWTEvent *); +public: // actually package-private + virtual ::java::awt::event::MouseEvent * redirectMouse(::java::awt::event::MouseEvent *); + virtual jint getButtonNumber(::java::awt::event::InputEvent *); + static const jint LAST_BUTTON_NUMBER = 3; + JArray< ::java::awt::Component * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) releaseTargets; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_awt_LightweightRedirector__ diff --git a/libjava/gnu/awt/j2d/AbstractGraphicsState.h b/libjava/gnu/awt/j2d/AbstractGraphicsState.h new file mode 100644 index 00000000000..973d9106a1f --- /dev/null +++ b/libjava/gnu/awt/j2d/AbstractGraphicsState.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_j2d_AbstractGraphicsState__ +#define __gnu_awt_j2d_AbstractGraphicsState__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace awt + { + namespace j2d + { + class AbstractGraphicsState; + class Graphics2DImpl; + } + } + } + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Image; + class Rectangle; + class Shape; + namespace image + { + class ImageObserver; + } + } + } +} + +class gnu::awt::j2d::AbstractGraphicsState : public ::java::lang::Object +{ + +public: + AbstractGraphicsState(); + virtual void setFrontend(::gnu::awt::j2d::Graphics2DImpl *); + virtual void dispose(); + virtual void setColor(::java::awt::Color *) = 0; + virtual void setPaintMode() = 0; + virtual void setXORMode(::java::awt::Color *) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual void setClip(::java::awt::Shape *) = 0; + virtual ::java::awt::Shape * getClip() = 0; + virtual ::java::awt::Rectangle * getClipBounds() = 0; + virtual void copyArea(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawLine(jint, jint, jint, jint) = 0; + virtual void fillRect(jint, jint, jint, jint) = 0; + virtual void clearRect(jint, jint, jint, jint) = 0; + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint) = 0; + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawOval(jint, jint, jint, jint) = 0; + virtual void fillOval(jint, jint, jint, jint) = 0; + virtual void drawArc(jint, jint, jint, jint, jint, jint) = 0; + virtual void fillArc(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void draw(::java::awt::Shape *) = 0; + virtual void fill(::java::awt::Shape *) = 0; + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean) = 0; + virtual void drawString(::java::lang::String *, jint, jint) = 0; + virtual void drawString(::java::lang::String *, jfloat, jfloat) = 0; + virtual void translate(jint, jint) = 0; + virtual void translate(jdouble, jdouble) = 0; + virtual void rotate(jdouble) = 0; + virtual void rotate(jdouble, jdouble, jdouble) = 0; + virtual void scale(jdouble, jdouble) = 0; + virtual void shear(jdouble, jdouble) = 0; + virtual ::java::lang::Object * clone(); +public: // actually package-private + ::gnu::awt::j2d::Graphics2DImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) frontend; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_awt_j2d_AbstractGraphicsState__ diff --git a/libjava/gnu/awt/j2d/DirectRasterGraphics.h b/libjava/gnu/awt/j2d/DirectRasterGraphics.h new file mode 100644 index 00000000000..4cb63f7f7d3 --- /dev/null +++ b/libjava/gnu/awt/j2d/DirectRasterGraphics.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_j2d_DirectRasterGraphics__ +#define __gnu_awt_j2d_DirectRasterGraphics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace awt + { + namespace j2d + { + class DirectRasterGraphics; + class MappedRaster; + } + } + } + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Image; + class Rectangle; + class Shape; + namespace image + { + class ImageObserver; + } + } + } +} + +class gnu::awt::j2d::DirectRasterGraphics : public ::java::lang::Object +{ + +public: + virtual void dispose() = 0; + virtual void setColor(::java::awt::Color *) = 0; + virtual void setPaintMode() = 0; + virtual void setXORMode(::java::awt::Color *) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual void setClip(::java::awt::Shape *) = 0; + virtual void copyArea(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawLine(jint, jint, jint, jint) = 0; + virtual void drawRect(jint, jint, jint, jint) = 0; + virtual void fillRect(jint, jint, jint, jint) = 0; + virtual void drawArc(jint, jint, jint, jint, jint, jint) = 0; + virtual void fillArc(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint, jint, jint) = 0; + virtual void drawString(::java::lang::String *, jint, jint) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::gnu::awt::j2d::MappedRaster * mapRaster(::java::awt::Rectangle *) = 0; + virtual void unmapRaster(::gnu::awt::j2d::MappedRaster *) = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_awt_j2d_DirectRasterGraphics__ diff --git a/libjava/gnu/awt/j2d/Graphics2DImpl.h b/libjava/gnu/awt/j2d/Graphics2DImpl.h new file mode 100644 index 00000000000..c7e8a8c1da0 --- /dev/null +++ b/libjava/gnu/awt/j2d/Graphics2DImpl.h @@ -0,0 +1,157 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_j2d_Graphics2DImpl__ +#define __gnu_awt_j2d_Graphics2DImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace awt + { + namespace j2d + { + class AbstractGraphicsState; + class Graphics2DImpl; + } + } + } + namespace java + { + namespace awt + { + class Color; + class Composite; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Paint; + class Rectangle; + class RenderingHints; + class RenderingHints$Key; + class Shape; + class Stroke; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ImageObserver; + class RenderedImage; + namespace renderable + { + class RenderableImage; + } + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class gnu::awt::j2d::Graphics2DImpl : public ::java::awt::Graphics2D +{ + +public: + Graphics2DImpl(::java::awt::GraphicsConfiguration *); + virtual void setState(::gnu::awt::j2d::AbstractGraphicsState *); + virtual ::java::lang::Object * clone(); + virtual ::java::awt::Graphics * create(); + virtual ::java::awt::Color * getColor(); + virtual void setColor(::java::awt::Color *); + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual void clipRect(jint, jint, jint, jint); + virtual void setClip(jint, jint, jint, jint); + virtual ::java::awt::Shape * getClip(); + virtual void setClip(::java::awt::Shape *); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual void drawLine(jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void clearRect(jint, jint, jint, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawOval(jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual void dispose(); + virtual void draw(::java::awt::Shape *); + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::lang::String *, jfloat, jfloat); + virtual void fill(::java::awt::Shape *); + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); + virtual void setPaint(::java::awt::Paint *); + virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *); + virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual void translate(jint, jint); + virtual void translate(jdouble, jdouble); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); + virtual void shear(jdouble, jdouble); + virtual void transform(::java::awt::geom::AffineTransform *); + virtual void setTransform(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual ::java::awt::Paint * getPaint(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getBackground(); + virtual void clip(::java::awt::Shape *); + virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); + virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat); + virtual void setComposite(::java::awt::Composite *); + virtual void setStroke(::java::awt::Stroke *); + virtual void setRenderingHints(::java::util::Map *); + virtual void addRenderingHints(::java::util::Map *); + virtual ::java::awt::Composite * getComposite(); + virtual ::java::awt::Stroke * getStroke(); + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); +public: // actually package-private + ::java::awt::GraphicsConfiguration * __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) config; + ::gnu::awt::j2d::AbstractGraphicsState * state; + ::java::awt::Color * fg; + ::java::awt::Color * bg; + ::java::awt::Font * font; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_awt_j2d_Graphics2DImpl__ diff --git a/libjava/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.h b/libjava/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.h new file mode 100644 index 00000000000..eaa7c93a8f6 --- /dev/null +++ b/libjava/gnu/awt/j2d/IntegerGraphicsState$ScreenCoupledImage.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_j2d_IntegerGraphicsState$ScreenCoupledImage__ +#define __gnu_awt_j2d_IntegerGraphicsState$ScreenCoupledImage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace awt + { + namespace j2d + { + class IntegerGraphicsState$ScreenCoupledImage; + } + } + } + namespace java + { + namespace awt + { + class GraphicsConfiguration; + } + } +} + +class gnu::awt::j2d::IntegerGraphicsState$ScreenCoupledImage : public ::java::lang::Object +{ + +public: + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_awt_j2d_IntegerGraphicsState$ScreenCoupledImage__ diff --git a/libjava/gnu/awt/j2d/IntegerGraphicsState.h b/libjava/gnu/awt/j2d/IntegerGraphicsState.h new file mode 100644 index 00000000000..9a226099355 --- /dev/null +++ b/libjava/gnu/awt/j2d/IntegerGraphicsState.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_j2d_IntegerGraphicsState__ +#define __gnu_awt_j2d_IntegerGraphicsState__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace awt + { + namespace j2d + { + class DirectRasterGraphics; + class IntegerGraphicsState; + } + } + } + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Image; + class Rectangle; + class Shape; + namespace image + { + class ImageObserver; + } + } + } +} + +class gnu::awt::j2d::IntegerGraphicsState : public ::gnu::awt::j2d::AbstractGraphicsState +{ + +public: + IntegerGraphicsState(::gnu::awt::j2d::DirectRasterGraphics *); + virtual ::java::lang::Object * clone(); + virtual void dispose(); + virtual void setColor(::java::awt::Color *); + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void setClip(::java::awt::Shape *); + virtual ::java::awt::Shape * getClip(); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual void drawLine(jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void clearRect(jint, jint, jint, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawOval(jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::lang::String *, jfloat, jfloat); + virtual void translate(jint, jint); + virtual void translate(jdouble, jdouble); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); + virtual void shear(jdouble, jdouble); +private: + void needAffineTransform(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::awt::j2d::AbstractGraphicsState)))) tx; + jint ty; + ::gnu::awt::j2d::DirectRasterGraphics * directGfx; + ::java::awt::Shape * clip; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_awt_j2d_IntegerGraphicsState__ diff --git a/libjava/gnu/awt/j2d/MappedRaster.h b/libjava/gnu/awt/j2d/MappedRaster.h new file mode 100644 index 00000000000..ab5a81e4b83 --- /dev/null +++ b/libjava/gnu/awt/j2d/MappedRaster.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_awt_j2d_MappedRaster__ +#define __gnu_awt_j2d_MappedRaster__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace awt + { + namespace j2d + { + class MappedRaster; + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class WritableRaster; + } + } + } +} + +class gnu::awt::j2d::MappedRaster : public ::java::lang::Object +{ + +public: + MappedRaster(::java::awt::image::WritableRaster *, ::java::awt::image::ColorModel *); + virtual ::java::awt::image::WritableRaster * getRaster(); + virtual ::java::awt::image::ColorModel * getColorModel(); +public: // actually package-private + ::java::awt::image::WritableRaster * __attribute__((aligned(__alignof__( ::java::lang::Object)))) raster; + ::java::awt::image::ColorModel * cm; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_awt_j2d_MappedRaster__ diff --git a/libjava/gnu/classpath/Configuration.h b/libjava/gnu/classpath/Configuration.h new file mode 100644 index 00000000000..e53026bb453 --- /dev/null +++ b/libjava/gnu/classpath/Configuration.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_Configuration__ +#define __gnu_classpath_Configuration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Configuration; + } + } +} + +class gnu::classpath::Configuration : public ::java::lang::Object +{ + + Configuration(); + static ::java::lang::String * classpath_home(); + static jboolean debug(); + static ::java::lang::String * toolkit(); +public: + static ::java::lang::String * CLASSPATH_HOME; + static ::java::lang::String * CLASSPATH_VERSION; + static jboolean DEBUG; + static const jboolean INIT_LOAD_LIBRARY = 0; + static ::java::lang::String * default_awt_peer_toolkit; + static const jboolean JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_Configuration__ diff --git a/libjava/gnu/classpath/Configuration.java b/libjava/gnu/classpath/Configuration.java new file mode 100644 index 00000000000..7c829539f17 --- /dev/null +++ b/libjava/gnu/classpath/Configuration.java @@ -0,0 +1,105 @@ +/* Configuration.java -- + Copyright (C) 1998, 2001, 2003, 2005, 2006 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. */ + +package gnu.classpath; + +/** + * This file defines compile-time constants that can be accessed by + * java code. It is pre-processed by configure. + */ +public final class Configuration +{ + private Configuration() + { + } + + private static native String classpath_home(); + private static native boolean debug(); + private static native String toolkit(); + + /** + * The value of CLASSPATH_HOME is the location that the classpath + * libraries and support files where installed in. It is set according to + * the argument for --prefix given to configure and used to set the + * System property gnu.classpath.home. + */ + public static final String CLASSPATH_HOME = classpath_home(); + + /** + * The release version number of GNU Classpath. + * It is set according to the value of 'version' in the configure[.in] file + * and used to set the System property gnu.classpath.version. + */ + public static final String CLASSPATH_VERSION = "0.93"; + + /** + * The value of DEBUG is substituted according to whether the + * "--enable-debug" argument was passed to configure. Code + * which is made conditional based on the value of this flag - typically + * code that generates debugging output - will be removed by the optimizer + * in a non-debug build. + */ + public static final boolean DEBUG = debug(); + + /** + * The value of LOAD_LIBRARY is substituted according to whether the + * "--enable-load-library" or "--disable-load-library" argument was passed + * to configure. By default, configure should define this is as true. + * If set to false, loadLibrary() calls to load native function + * implementations, typically found in static initializers of classes + * which contain native functions, will be omitted. This is useful for + * runtimes which pre-link their native function implementations and do + * not require additional shared libraries to be loaded. + */ + public static final boolean INIT_LOAD_LIBRARY = false; + + /** + * Name of default AWT peer library. + */ + public static final String default_awt_peer_toolkit = toolkit(); + + /** + * Whether to automatically run the init* methods in java.lang.System + * (the default) at class initialization time or whether to have the VM + * explicitly invoke them. + * + * The default is false, meaning the VM does not explicitly run the + * initializers. + * + */ + public static final boolean JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = false; +} diff --git a/libjava/gnu/classpath/ListenerData.h b/libjava/gnu/classpath/ListenerData.h new file mode 100644 index 00000000000..03be1ce5d87 --- /dev/null +++ b/libjava/gnu/classpath/ListenerData.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_ListenerData__ +#define __gnu_classpath_ListenerData__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class ListenerData; + } + } + namespace javax + { + namespace management + { + class NotificationFilter; + class NotificationListener; + } + } +} + +class gnu::classpath::ListenerData : public ::java::lang::Object +{ + +public: + ListenerData(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual ::javax::management::NotificationListener * getListener(); + virtual ::javax::management::NotificationFilter * getFilter(); + virtual ::java::lang::Object * getPassback(); + virtual jboolean equals(::java::lang::Object *); +private: + ::javax::management::NotificationListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener; + ::javax::management::NotificationFilter * filter; + ::java::lang::Object * passback; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_ListenerData__ diff --git a/libjava/gnu/classpath/NotImplementedException.h b/libjava/gnu/classpath/NotImplementedException.h new file mode 100644 index 00000000000..b81e112555f --- /dev/null +++ b/libjava/gnu/classpath/NotImplementedException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_NotImplementedException__ +#define __gnu_classpath_NotImplementedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class NotImplementedException; + } + } +} + +class gnu::classpath::NotImplementedException : public ::java::lang::RuntimeException +{ + + NotImplementedException(); + static const jlong serialVersionUID = 5112972057211125814LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_NotImplementedException__ diff --git a/libjava/gnu/classpath/Pointer.h b/libjava/gnu/classpath/Pointer.h new file mode 100644 index 00000000000..79d0eccc719 --- /dev/null +++ b/libjava/gnu/classpath/Pointer.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_Pointer__ +#define __gnu_classpath_Pointer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pointer; + } + } +} + +class gnu::classpath::Pointer : public ::java::lang::Object +{ + +public: + Pointer(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_Pointer__ diff --git a/libjava/gnu/classpath/Pointer32.h b/libjava/gnu/classpath/Pointer32.h new file mode 100644 index 00000000000..d704ee02e29 --- /dev/null +++ b/libjava/gnu/classpath/Pointer32.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_Pointer32__ +#define __gnu_classpath_Pointer32__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pointer32; + } + } +} + +class gnu::classpath::Pointer32 : public ::gnu::classpath::Pointer +{ + +public: + Pointer32(jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::classpath::Pointer)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_Pointer32__ diff --git a/libjava/gnu/classpath/Pointer64.h b/libjava/gnu/classpath/Pointer64.h new file mode 100644 index 00000000000..b44950cd56a --- /dev/null +++ b/libjava/gnu/classpath/Pointer64.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_Pointer64__ +#define __gnu_classpath_Pointer64__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pointer64; + } + } +} + +class gnu::classpath::Pointer64 : public ::gnu::classpath::Pointer +{ + +public: + Pointer64(jlong); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::gnu::classpath::Pointer)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_Pointer64__ diff --git a/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h b/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h new file mode 100644 index 00000000000..a64ca4ff668 --- /dev/null +++ b/libjava/gnu/classpath/ServiceFactory$ServiceIterator.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_ServiceFactory$ServiceIterator__ +#define __gnu_classpath_ServiceFactory$ServiceIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class ServiceFactory$ServiceIterator; + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class AccessControlContext; + } + } +} + +class gnu::classpath::ServiceFactory$ServiceIterator : public ::java::lang::Object +{ + +public: // actually package-private + ServiceFactory$ServiceIterator(::java::lang::Class *, ::java::util::Enumeration *, ::java::lang::ClassLoader *, ::java::security::AccessControlContext *); +public: + ::java::lang::Object * next(); + jboolean hasNext(); + void remove(); +private: + ::java::lang::Object * loadNextServiceProvider(); + void advanceReader(); + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spi; + ::java::util::Enumeration * urls; + ::java::lang::ClassLoader * loader; + ::java::security::AccessControlContext * securityContext; + ::java::io::BufferedReader * reader; + ::java::net::URL * currentURL; + ::java::lang::Object * nextProvider; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_ServiceFactory$ServiceIterator__ diff --git a/libjava/gnu/classpath/ServiceFactory.h b/libjava/gnu/classpath/ServiceFactory.h new file mode 100644 index 00000000000..fddad85b14f --- /dev/null +++ b/libjava/gnu/classpath/ServiceFactory.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_ServiceFactory__ +#define __gnu_classpath_ServiceFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class ServiceFactory; + } + } +} + +class gnu::classpath::ServiceFactory : public ::java::lang::Object +{ + + ServiceFactory(); +public: + static ::java::util::Iterator * lookupProviders(::java::lang::Class *, ::java::lang::ClassLoader *); + static ::java::util::Iterator * lookupProviders(::java::lang::Class *); +public: // actually package-private + static void log(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Throwable *); +private: + static ::java::util::logging::Logger * LOGGER; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_ServiceFactory__ diff --git a/libjava/gnu/classpath/ServiceProviderLoadingAction.h b/libjava/gnu/classpath/ServiceProviderLoadingAction.h new file mode 100644 index 00000000000..d6abfe5b6fd --- /dev/null +++ b/libjava/gnu/classpath/ServiceProviderLoadingAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_ServiceProviderLoadingAction__ +#define __gnu_classpath_ServiceProviderLoadingAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class ServiceProviderLoadingAction; + } + } +} + +class gnu::classpath::ServiceProviderLoadingAction : public ::java::lang::Object +{ + +public: // actually package-private + ServiceProviderLoadingAction(::java::lang::Class *, ::java::lang::String *, ::java::lang::ClassLoader *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spi; + ::java::lang::String * providerName; + ::java::lang::ClassLoader * loader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_ServiceProviderLoadingAction__ diff --git a/libjava/gnu/classpath/SystemProperties.h b/libjava/gnu/classpath/SystemProperties.h new file mode 100644 index 00000000000..290300af8fe --- /dev/null +++ b/libjava/gnu/classpath/SystemProperties.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_SystemProperties__ +#define __gnu_classpath_SystemProperties__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class SystemProperties; + } + } +} + +class gnu::classpath::SystemProperties : public ::java::lang::Object +{ + +public: + SystemProperties(); +private: + static void insertSystemProperties(::java::util::Properties *); +public: + static ::java::lang::String * getProperty(::java::lang::String *); + static ::java::lang::String * getProperty(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * setProperty(::java::lang::String *, ::java::lang::String *); + static ::java::util::Properties * getProperties(); + static void setProperties(::java::util::Properties *); +private: + static jboolean isWordsBigEndian(); +public: + static ::java::lang::String * remove(::java::lang::String *); +private: + static ::java::util::Properties * properties; + static ::java::util::Properties * defaultProperties; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_SystemProperties__ diff --git a/libjava/gnu/classpath/SystemProperties.java b/libjava/gnu/classpath/SystemProperties.java index 001663f0b71..e5ecdf77242 100644 --- a/libjava/gnu/classpath/SystemProperties.java +++ b/libjava/gnu/classpath/SystemProperties.java @@ -1,5 +1,5 @@ /* SystemProperties.java -- Manage the System properties. - Copyright (C) 2004, 2005 Free Software Foundation + Copyright (C) 2004, 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -154,4 +154,18 @@ public class SystemProperties * @return true if the system is big-endian. */ private static native boolean isWordsBigEndian(); + + /** + * Removes the supplied system property and its current value. + * If the specified property does not exist, nothing happens. + * + * @throws NullPointerException if the property name is null. + * @return the value of the removed property, or null if no + * such property exists. + */ + public static String remove(String name) + { + return (String) properties.remove(name); + } + } diff --git a/libjava/gnu/classpath/VMStackWalker.h b/libjava/gnu/classpath/VMStackWalker.h new file mode 100644 index 00000000000..bfe1845f810 --- /dev/null +++ b/libjava/gnu/classpath/VMStackWalker.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_VMStackWalker__ +#define __gnu_classpath_VMStackWalker__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class VMStackWalker; + } + namespace gcj + { + class RawData; + } + } +} + +class gnu::classpath::VMStackWalker : public ::java::lang::Object +{ + +public: + VMStackWalker(); + static JArray< ::java::lang::Class * > * getClassContext(); + static ::java::lang::Class * getCallingClass(); +private: + static ::java::lang::Class * getCallingClass(::gnu::gcj::RawData *); +public: + static ::java::lang::ClassLoader * getCallingClassLoader(); +private: + static ::java::lang::ClassLoader * getCallingClassLoader(::gnu::gcj::RawData *); +public: + static ::java::lang::ClassLoader * getClassLoader(::java::lang::Class *); + static ::java::lang::ClassLoader * firstNonNullClassLoader(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_VMStackWalker__ diff --git a/libjava/gnu/classpath/VMStackWalker.java b/libjava/gnu/classpath/VMStackWalker.java new file mode 100644 index 00000000000..0cf6ecdba6d --- /dev/null +++ b/libjava/gnu/classpath/VMStackWalker.java @@ -0,0 +1,138 @@ +/* VMStackWalker.java -- Reference implementation of VM hooks for stack access + Copyright (C) 2005, 2006 Free Software Foundation + +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. */ + +package gnu.classpath; + +import gnu.gcj.RawData; + +/** + * This class provides access to the classes on the Java stack + * for reflection and security purposes. + * + *

      + * This class is only available to privileged code (i.e., code loaded + * by the bootstrap loader). + * + * @author John Keiser + * @author Eric Blake + * @author Archie Cobbs + * @author Andrew Haley + * @author Gary Benson + */ +public final class VMStackWalker +{ + /** + * Get a list of all the classes currently executing methods on the + * Java stack. getClassContext()[0] is the class associated + * with the currently executing method, i.e., the method that called + * VMStackWalker.getClassContext() (possibly through + * reflection). So you may need to pop off these stack frames from + * the top of the stack: + *

        + *
      • VMStackWalker.getClassContext() + *
      • Method.invoke() + *
      + * + * @return an array of the declaring classes of each stack frame + */ + public static native Class[] getClassContext(); + + /** + * Get the class associated with the method invoking the method + * invoking this method, or null if the stack is not + * that deep (e.g., invoked via JNI invocation API). This method + * is an optimization for the expression getClassContext()[1] + * and should return the same result. + * + *

      + * When compiling to native code gcj translates calls to this + * method into calls to getCallingClass(addr), with + * addr being the address of the method calling this + * method. getCallingClass(addr) does not unwind the + * stack, so is therefore more efficient. + */ + public static native Class getCallingClass(); + + /** + * Get the class associated with the method invoking the method + * invoking this method, or null if the stack is not + * that deep (e.g., invoked via JNI invocation API). + * + * @param addr The address of the method invoking this method. + */ + private static native Class getCallingClass(RawData addr); + + /** + * Get the class loader associated with the Class returned by + * getCallingClass(), or null if no such class + * exists or it is the boot loader. This method is an optimization for the + * expression VMStackWalker.getClassLoader(getClassContext()[1]) + * and should return the same result. + * + *

      + * When compiling to native code gcj translates calls to this + * method into calls to getCallingClassLoader(addr), + * with addr being the address of the method calling + * this method. getCallingClassLoader(addr) does not + * unwind the stack, so is therefore more efficient. + */ + public static native ClassLoader getCallingClassLoader(); + + /** + * Get the class loader associated with the Class returned by + * getCallingClass(), or null if no + * such class exists or it is the boot loader. + * + * @param addr The address of the method invoking this method. + */ + private static native ClassLoader getCallingClassLoader(RawData addr); + + /** + * Retrieve the class's ClassLoader, or null if loaded + * by the bootstrap loader. I.e., this should return the same thing + * as {@link java.lang.VMClass#getClassLoader}. This duplicate version + * is here to work around access permissions. + */ + public static native ClassLoader getClassLoader(Class cl); + + /** + * Walk up the stack and return the first non-null class loader. + * If there aren't any non-null class loaders on the stack, return null. + */ + public static native ClassLoader firstNonNullClassLoader(); +} + diff --git a/libjava/gnu/classpath/debug/Component.h b/libjava/gnu/classpath/debug/Component.h new file mode 100644 index 00000000000..b6dd87e96b7 --- /dev/null +++ b/libjava/gnu/classpath/debug/Component.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_Component__ +#define __gnu_classpath_debug_Component__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class Component; + } + } + } +} + +class gnu::classpath::debug::Component : public ::java::util::logging::Level +{ + + Component(::java::lang::String *, jint); + Component(::java::lang::String *, jint, jint); +public: + static ::gnu::classpath::debug::Component * forName(::java::lang::String *); + jint startIndex(); + jint endIndex(); + static ::gnu::classpath::debug::Component * EVERYTHING; + static ::gnu::classpath::debug::Component * SSL; + static ::gnu::classpath::debug::Component * SSL_HANDSHAKE; + static ::gnu::classpath::debug::Component * SSL_RECORD_LAYER; + static ::gnu::classpath::debug::Component * SSL_KEY_EXCHANGE; + static ::gnu::classpath::debug::Component * SSL_DELEGATED_TASK; + static ::gnu::classpath::debug::Component * CRYPTO; + static ::gnu::classpath::debug::Component * X509; + static ::gnu::classpath::debug::Component * POLICY; + static ::gnu::classpath::debug::Component * IPP; +private: + jint __attribute__((aligned(__alignof__( ::java::util::logging::Level)))) startIndex__; + jint endIndex__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_Component__ diff --git a/libjava/gnu/classpath/debug/PreciseFilter.h b/libjava/gnu/classpath/debug/PreciseFilter.h new file mode 100644 index 00000000000..14fdfdb7cf1 --- /dev/null +++ b/libjava/gnu/classpath/debug/PreciseFilter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_PreciseFilter__ +#define __gnu_classpath_debug_PreciseFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class Component; + class PreciseFilter; + } + } + } +} + +class gnu::classpath::debug::PreciseFilter : public ::java::lang::Object +{ + + PreciseFilter(); +public: + void disable(::gnu::classpath::debug::Component *); + void enable(::gnu::classpath::debug::Component *); + jboolean isEnabled(::gnu::classpath::debug::Component *); + jboolean isLoggable(::java::util::logging::LogRecord *); + static ::gnu::classpath::debug::PreciseFilter * GLOBAL; +private: + ::java::util::BitSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_PreciseFilter__ diff --git a/libjava/gnu/classpath/debug/Simple1LineFormatter.h b/libjava/gnu/classpath/debug/Simple1LineFormatter.h new file mode 100644 index 00000000000..237dfac08b9 --- /dev/null +++ b/libjava/gnu/classpath/debug/Simple1LineFormatter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_Simple1LineFormatter__ +#define __gnu_classpath_debug_Simple1LineFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class Simple1LineFormatter; + } + } + } + namespace java + { + namespace text + { + class DateFormat; + class NumberFormat; + } + } +} + +class gnu::classpath::debug::Simple1LineFormatter : public ::java::util::logging::Formatter +{ + +public: + Simple1LineFormatter(); + virtual ::java::lang::String * format(::java::util::logging::LogRecord *); +private: + static ::java::lang::String * DAT_PATTERN; + static ::java::lang::String * THREAD_PATTERN; + static ::java::lang::String * SPACES_32; + static ::java::lang::String * SPACES_6; + static ::java::lang::String * LS; + ::java::text::DateFormat * __attribute__((aligned(__alignof__( ::java::util::logging::Formatter)))) dateFormat; + ::java::text::NumberFormat * threadFormat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_Simple1LineFormatter__ diff --git a/libjava/gnu/classpath/debug/SystemLogger.h b/libjava/gnu/classpath/debug/SystemLogger.h new file mode 100644 index 00000000000..dc367e39107 --- /dev/null +++ b/libjava/gnu/classpath/debug/SystemLogger.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_SystemLogger__ +#define __gnu_classpath_debug_SystemLogger__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + } +} + +class gnu::classpath::debug::SystemLogger : public ::java::util::logging::Logger +{ + +public: + static ::gnu::classpath::debug::SystemLogger * getSystemLogger(); +private: + SystemLogger(); +public: + void logv(::java::util::logging::Level *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + static ::gnu::classpath::debug::SystemLogger * SYSTEM; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_SystemLogger__ diff --git a/libjava/gnu/classpath/debug/TeeInputStream.h b/libjava/gnu/classpath/debug/TeeInputStream.h new file mode 100644 index 00000000000..293f0576388 --- /dev/null +++ b/libjava/gnu/classpath/debug/TeeInputStream.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_TeeInputStream__ +#define __gnu_classpath_debug_TeeInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class TeeInputStream; + } + } + } +} + +class gnu::classpath::debug::TeeInputStream : public ::java::io::InputStream +{ + +public: + TeeInputStream(::java::io::InputStream *, ::java::io::OutputStream *); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void close(); + virtual jboolean markSupported(); +private: + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; + ::java::io::OutputStream * out; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_TeeInputStream__ diff --git a/libjava/gnu/classpath/debug/TeeOutputStream.h b/libjava/gnu/classpath/debug/TeeOutputStream.h new file mode 100644 index 00000000000..24357808f4b --- /dev/null +++ b/libjava/gnu/classpath/debug/TeeOutputStream.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_TeeOutputStream__ +#define __gnu_classpath_debug_TeeOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class TeeOutputStream; + } + } + } +} + +class gnu::classpath::debug::TeeOutputStream : public ::java::io::OutputStream +{ + +public: + TeeOutputStream(::java::io::OutputStream *, ::java::io::OutputStream *); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void flush(); + virtual void close(); +private: + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) out; + ::java::io::OutputStream * sink; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_TeeOutputStream__ diff --git a/libjava/gnu/classpath/debug/TeeReader.h b/libjava/gnu/classpath/debug/TeeReader.h new file mode 100644 index 00000000000..5da674baa2d --- /dev/null +++ b/libjava/gnu/classpath/debug/TeeReader.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_TeeReader__ +#define __gnu_classpath_debug_TeeReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class TeeReader; + } + } + } +} + +class gnu::classpath::debug::TeeReader : public ::java::io::Reader +{ + +public: + TeeReader(::java::io::Reader *, ::java::io::Writer *); + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual void close(); + virtual jboolean markSupported(); +private: + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::io::Reader)))) in; + ::java::io::Writer * out; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_TeeReader__ diff --git a/libjava/gnu/classpath/debug/TeeWriter.h b/libjava/gnu/classpath/debug/TeeWriter.h new file mode 100644 index 00000000000..ee34cf0cd01 --- /dev/null +++ b/libjava/gnu/classpath/debug/TeeWriter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_debug_TeeWriter__ +#define __gnu_classpath_debug_TeeWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class TeeWriter; + } + } + } +} + +class gnu::classpath::debug::TeeWriter : public ::java::io::Writer +{ + +public: + TeeWriter(::java::io::Writer *, ::java::io::Writer *); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void flush(); + virtual void close(); +private: + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::io::Writer)))) out; + ::java::io::Writer * sink; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_debug_TeeWriter__ diff --git a/libjava/gnu/classpath/jdwp/Jdwp$1.h b/libjava/gnu/classpath/jdwp/Jdwp$1.h new file mode 100644 index 00000000000..7de29f0690c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/Jdwp$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_Jdwp$1__ +#define __gnu_classpath_jdwp_Jdwp$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class Jdwp; + class Jdwp$1; + } + } + } +} + +class gnu::classpath::jdwp::Jdwp$1 : public ::java::lang::Object +{ + +public: // actually package-private + Jdwp$1(::gnu::classpath::jdwp::Jdwp *); +public: + void run(); +public: // actually package-private + ::gnu::classpath::jdwp::Jdwp * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_Jdwp$1__ diff --git a/libjava/gnu/classpath/jdwp/Jdwp.h b/libjava/gnu/classpath/jdwp/Jdwp.h new file mode 100644 index 00000000000..0d851371f88 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/Jdwp.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_Jdwp__ +#define __gnu_classpath_jdwp_Jdwp__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class Jdwp; + namespace event + { + class Event; + class EventRequest; + } + namespace processor + { + class PacketProcessor; + } + namespace transport + { + class JdwpConnection; + } + } + } + } +} + +class gnu::classpath::jdwp::Jdwp : public ::java::lang::Thread +{ + +public: + Jdwp(); + static ::gnu::classpath::jdwp::Jdwp * getDefault(); + virtual ::java::lang::ThreadGroup * getJdwpThreadGroup(); + static jboolean suspendOnStartup(); + virtual void configure(::java::lang::String *); +private: + void _doInitialization(); +public: + virtual void shutdown(); + static void notify(::gnu::classpath::jdwp::event::Event *); + static void sendEvent(::gnu::classpath::jdwp::event::EventRequest *, ::gnu::classpath::jdwp::event::Event *); +private: + void _enforceSuspendPolicy(jbyte); +public: + virtual void subcomponentInitialized(); + virtual void run(); +private: + void _processConfigury(::java::lang::String *); +public: // actually package-private + static ::gnu::classpath::jdwp::processor::PacketProcessor * access$0(::gnu::classpath::jdwp::Jdwp *); +private: + static ::gnu::classpath::jdwp::Jdwp * _instance; +public: + static jboolean isDebugging; +private: + ::gnu::classpath::jdwp::processor::PacketProcessor * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) _packetProcessor; + ::java::lang::Thread * _ppThread; + ::java::util::HashMap * _properties; + static ::java::lang::String * _PROPERTY_SUSPEND; + ::gnu::classpath::jdwp::transport::JdwpConnection * _connection; + jboolean _shutdown; + ::java::lang::ThreadGroup * _group; + ::java::lang::Object * _initLock; + jint _initCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_Jdwp__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$ClassStatus.h b/libjava/gnu/classpath/jdwp/JdwpConstants$ClassStatus.h new file mode 100644 index 00000000000..4cc150269ee --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$ClassStatus.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$ClassStatus__ +#define __gnu_classpath_jdwp_JdwpConstants$ClassStatus__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$ClassStatus; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$ClassStatus : public ::java::lang::Object +{ + +public: + JdwpConstants$ClassStatus(); + static const jint VERIFIED = 1; + static const jint PREPARED = 2; + static const jint INITIALIZED = 4; + static const jint ERROR = 8; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$ClassStatus__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.h new file mode 100644 index 00000000000..940ada8884f --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayReference.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ArrayReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ArrayReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ArrayReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ArrayReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ArrayReference(); + static const jbyte CS_VALUE = 13; + static const jbyte LENGTH = 1; + static const jbyte GET_VALUES = 2; + static const jbyte SET_VALUES = 3; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ArrayReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.h new file mode 100644 index 00000000000..0115eb22f80 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ArrayType.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ArrayType__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ArrayType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ArrayType; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ArrayType : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ArrayType(); + static const jbyte CS_VALUE = 4; + static const jbyte NEW_INSTANCE = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ArrayType__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.h new file mode 100644 index 00000000000..372555093a0 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassLoaderReference.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassLoaderReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassLoaderReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ClassLoaderReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ClassLoaderReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ClassLoaderReference(); + static const jbyte CS_VALUE = 14; + static const jbyte VISIBLE_CLASSES = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassLoaderReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.h new file mode 100644 index 00000000000..73f215251ef --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassObjectReference.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassObjectReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassObjectReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ClassObjectReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ClassObjectReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ClassObjectReference(); + static const jbyte CS_VALUE = 17; + static const jbyte REFLECTED_TYPE = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassObjectReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.h new file mode 100644 index 00000000000..4d905545b8b --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ClassType.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassType__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ClassType; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ClassType : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ClassType(); + static const jbyte CS_VALUE = 3; + static const jbyte SUPERCLASS = 1; + static const jbyte SET_VALUES = 2; + static const jbyte INVOKE_METHOD = 3; + static const jbyte NEW_INSTANCE = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ClassType__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.h new file mode 100644 index 00000000000..74eba427212 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Event.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$Event__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$Event__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$Event; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$Event : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$Event(); + static const jbyte CS_VALUE = 64; + static const jbyte COMPOSITE = 100; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$Event__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.h new file mode 100644 index 00000000000..c486a61c1d7 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$EventRequest.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$EventRequest__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$EventRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$EventRequest; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$EventRequest : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$EventRequest(); + static const jbyte CS_VALUE = 15; + static const jbyte SET = 1; + static const jbyte CLEAR = 2; + static const jbyte CLEAR_ALL_BREAKPOINTS = 3; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$EventRequest__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.h new file mode 100644 index 00000000000..07949aadca5 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Field.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$Field__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$Field__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$Field; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$Field : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$Field(); + static const jbyte CS_VALUE = 8; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$Field__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.h new file mode 100644 index 00000000000..608072d09dc --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$InterfaceType.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$InterfaceType__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$InterfaceType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$InterfaceType; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$InterfaceType : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$InterfaceType(); + static const jbyte CS_VALUE = 5; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$InterfaceType__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.h new file mode 100644 index 00000000000..8b406651445 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$Method.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$Method__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$Method__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$Method; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$Method : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$Method(); + static const jbyte CS_VALUE = 6; + static const jbyte LINE_TABLE = 1; + static const jbyte VARIABLE_TABLE = 2; + static const jbyte BYTE_CODES = 3; + static const jbyte IS_OBSOLETE = 4; + static const jbyte VARIABLE_TABLE_WITH_GENERIC = 5; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$Method__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.h new file mode 100644 index 00000000000..3d9f5c4bdc9 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ObjectReference.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ObjectReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ObjectReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ObjectReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ObjectReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ObjectReference(); + static const jbyte CS_VALUE = 9; + static const jbyte REFERENCE_TYPE = 1; + static const jbyte GET_VALUES = 2; + static const jbyte SET_VALUES = 3; + static const jbyte MONITOR_INFO = 5; + static const jbyte INVOKE_METHOD = 6; + static const jbyte DISABLE_COLLECTION = 7; + static const jbyte ENABLE_COLLECTION = 8; + static const jbyte IS_COLLECTED = 9; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ObjectReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.h new file mode 100644 index 00000000000..dc4bd002a7c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ReferenceType.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ReferenceType__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ReferenceType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ReferenceType; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ReferenceType : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ReferenceType(); + static const jbyte CS_VALUE = 2; + static const jbyte SIGNATURE = 1; + static const jbyte CLASS_LOADER = 2; + static const jbyte MODIFIERS = 3; + static const jbyte FIELDS = 4; + static const jbyte METHODS = 5; + static const jbyte GET_VALUES = 6; + static const jbyte SOURCE_FILE = 7; + static const jbyte NESTED_TYPES = 8; + static const jbyte STATUS = 9; + static const jbyte INTERFACES = 10; + static const jbyte CLASS_OBJECT = 11; + static const jbyte SOURCE_DEBUG_EXTENSION = 12; + static const jbyte SIGNATURE_WITH_GENERIC = 13; + static const jbyte FIELDS_WITH_GENERIC = 14; + static const jbyte METHODS_WITH_GENERIC = 15; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ReferenceType__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.h new file mode 100644 index 00000000000..60f4072c655 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StackFrame.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$StackFrame__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$StackFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$StackFrame; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$StackFrame : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$StackFrame(); + static const jbyte CS_VALUE = 16; + static const jbyte GET_VALUES = 1; + static const jbyte SET_VALUES = 2; + static const jbyte THIS_OBJECT = 3; + static const jbyte POP_FRAMES = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$StackFrame__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.h new file mode 100644 index 00000000000..f795c3a8df3 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$StringReference.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$StringReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$StringReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$StringReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$StringReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$StringReference(); + static const jbyte CS_VALUE = 10; + static const jbyte VALUE = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$StringReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.h new file mode 100644 index 00000000000..3cf1f553c0c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadGroupReference.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ThreadGroupReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ThreadGroupReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ThreadGroupReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ThreadGroupReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ThreadGroupReference(); + static const jbyte CS_VALUE = 12; + static const jbyte NAME = 1; + static const jbyte PARENT = 2; + static const jbyte CHILDREN = 3; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ThreadGroupReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.h new file mode 100644 index 00000000000..603c6d1c4d5 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$ThreadReference.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$ThreadReference__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$ThreadReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$ThreadReference; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$ThreadReference : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$ThreadReference(); + static const jbyte CS_VALUE = 11; + static const jbyte NAME = 1; + static const jbyte SUSPEND = 2; + static const jbyte RESUME = 3; + static const jbyte STATUS = 4; + static const jbyte THREAD_GROUP = 5; + static const jbyte FRAMES = 6; + static const jbyte FRAME_COUNT = 7; + static const jbyte OWNED_MONITORS = 8; + static const jbyte CURRENT_CONTENDED_MONITOR = 9; + static const jbyte STOP = 10; + static const jbyte INTERRUPT = 11; + static const jbyte SUSPEND_COUNT = 12; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$ThreadReference__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.h new file mode 100644 index 00000000000..a6f69331d6f --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet$VirtualMachine.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet$VirtualMachine__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet$VirtualMachine__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet$VirtualMachine; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet$VirtualMachine : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet$VirtualMachine(); + static const jbyte CS_VALUE = 1; + static const jbyte VERSION = 1; + static const jbyte CLASSES_BY_SIGNATURE = 2; + static const jbyte ALL_CLASSES = 3; + static const jbyte ALL_THREADS = 4; + static const jbyte TOP_LEVEL_THREAD_GROUPS = 5; + static const jbyte DISPOSE = 6; + static const jbyte IDSIZES = 7; + static const jbyte SUSPEND = 8; + static const jbyte RESUME = 9; + static const jbyte EXIT = 10; + static const jbyte CREATE_STRING = 11; + static const jbyte CAPABILITIES = 12; + static const jbyte CLASS_PATHS = 13; + static const jbyte DISPOSE_OBJECTS = 14; + static const jbyte HOLD_EVENTS = 15; + static const jbyte RELEASE_EVENTS = 16; + static const jbyte CAPABILITIES_NEW = 17; + static const jbyte REDEFINE_CLASSES = 18; + static const jbyte SET_DEFAULT_STRATUM = 19; + static const jbyte ALL_CLASSES_WITH_GENERIC = 20; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet$VirtualMachine__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet.h b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet.h new file mode 100644 index 00000000000..3dc0bf1a226 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$CommandSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$CommandSet__ +#define __gnu_classpath_jdwp_JdwpConstants$CommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$CommandSet; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$CommandSet : public ::java::lang::Object +{ + +public: + JdwpConstants$CommandSet(); + static const jint MAXIMUM = 17; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$CommandSet__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$Error.h b/libjava/gnu/classpath/jdwp/JdwpConstants$Error.h new file mode 100644 index 00000000000..138a9160b5b --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$Error.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$Error__ +#define __gnu_classpath_jdwp_JdwpConstants$Error__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$Error; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$Error : public ::java::lang::Object +{ + +public: + JdwpConstants$Error(); + static const jshort NONE = 0; + static const jshort INVALID_THREAD = 10; + static const jshort INVALID_THREAD_GROUP = 11; + static const jshort INVALID_PRIORITY = 12; + static const jshort THREAD_NOT_SUSPENDED = 13; + static const jshort THREAD_SUSPENDED = 14; + static const jshort INVALID_OBJECT = 20; + static const jshort INVALID_CLASS = 21; + static const jshort CLASS_NOT_PREPARED = 22; + static const jshort INVALID_METHODID = 23; + static const jshort INVALID_LOCATION = 24; + static const jshort INVALID_FIELDID = 25; + static const jshort INVALID_FRAMEID = 30; + static const jshort NO_MORE_FRAMES = 31; + static const jshort OPAQUE_FRAME = 32; + static const jshort NOT_CURRENT_FRAME = 33; + static const jshort TYPE_MISMATCH = 34; + static const jshort INVALID_SLOT = 35; + static const jshort DUPLICATE = 40; + static const jshort NOT_FOUND = 41; + static const jshort INVALID_MONITOR = 50; + static const jshort NOT_MONITOR_OWNER = 51; + static const jshort INTERRUPT = 52; + static const jshort INVALID_CLASS_FORMAT = 60; + static const jshort CIRCULAR_CLASS_DEFINITION = 61; + static const jshort FAILS_VERIFICATION = 62; + static const jshort ADD_METHOD_NOT_IMPLEMENTED = 63; + static const jshort SCHEMA_CHANGE_NOT_IMPLEMENTED = 64; + static const jshort INVALID_TYPESTATE = 65; + static const jshort HIERARCHY_CHANGE_NOT_IMPLEMENTED = 66; + static const jshort DELETE_METHOD_NOT_IMPLEMENTED = 67; + static const jshort UNSUPPORTED_VERSION = 68; + static const jshort NAMES_DONT_MATCH = 69; + static const jshort CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 70; + static const jshort METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 71; + static const jshort NOT_IMPLEMENTED = 99; + static const jshort NULL_POINTER = 100; + static const jshort ABSENT_INFORMATION = 101; + static const jshort INVALID_EVENT_TYPE = 102; + static const jshort ILLEGAL_ARGUMENT = 103; + static const jshort OUT_OF_MEMORY = 110; + static const jshort ACCESS_DENIED = 111; + static const jshort VM_DEAD = 112; + static const jshort INTERNAL = 113; + static const jshort UNATTACHED_THREAD = 115; + static const jshort INVALID_TAG = 500; + static const jshort ALREADY_INVOKING = 502; + static const jshort INVALID_INDEX = 503; + static const jshort INVALID_LENGTH = 504; + static const jshort INVALID_STRING = 506; + static const jshort INVALID_CLASS_LOADER = 507; + static const jshort INVALID_ARRAY = 508; + static const jshort TRANSPORT_LOAD = 509; + static const jshort TRANSPORT_INIT = 510; + static const jshort NATIVE_METHOD = 511; + static const jshort INVALID_COUNT = 512; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$Error__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$EventKind.h b/libjava/gnu/classpath/jdwp/JdwpConstants$EventKind.h new file mode 100644 index 00000000000..bdb501c1b01 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$EventKind.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$EventKind__ +#define __gnu_classpath_jdwp_JdwpConstants$EventKind__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$EventKind; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$EventKind : public ::java::lang::Object +{ + +public: + JdwpConstants$EventKind(); + static const jbyte SINGLE_STEP = 1; + static const jbyte BREAKPOINT = 2; + static const jbyte FRAME_POP = 3; + static const jbyte EXCEPTION = 4; + static const jbyte USER_DEFINED = 5; + static const jbyte THREAD_START = 6; + static const jbyte THREAD_END = 7; + static const jbyte CLASS_PREPARE = 8; + static const jbyte CLASS_UNLOAD = 9; + static const jbyte CLASS_LOAD = 10; + static const jbyte FIELD_ACCESS = 20; + static const jbyte FIELD_MODIFICATION = 21; + static const jbyte EXCEPTION_CATCH = 30; + static const jbyte METHOD_ENTRY = 40; + static const jbyte METHOD_EXIT = 41; + static const jbyte VM_INIT = 90; + static const jbyte VM_DEATH = 99; + static const jbyte VM_DISCONNECTED = 100; + static const jbyte VM_START = 90; + static const jbyte THREAD_DEATH = 7; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$EventKind__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.h b/libjava/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.h new file mode 100644 index 00000000000..bcd412b9783 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$InvokeOptions.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$InvokeOptions__ +#define __gnu_classpath_jdwp_JdwpConstants$InvokeOptions__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$InvokeOptions; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$InvokeOptions : public ::java::lang::Object +{ + +public: + JdwpConstants$InvokeOptions(); + static const jint INVOKE_SINGLE_THREADED = 1; + static const jint INVOKE_NONVIRTUAL = 2; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$InvokeOptions__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$ModKind.h b/libjava/gnu/classpath/jdwp/JdwpConstants$ModKind.h new file mode 100644 index 00000000000..f2f087a7a54 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$ModKind.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$ModKind__ +#define __gnu_classpath_jdwp_JdwpConstants$ModKind__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$ModKind; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$ModKind : public ::java::lang::Object +{ + +public: + JdwpConstants$ModKind(); + static const jbyte COUNT = 1; + static const jbyte CONDITIONAL = 2; + static const jbyte THREAD_ONLY = 3; + static const jbyte CLASS_ONLY = 4; + static const jbyte CLASS_MATCH = 5; + static const jbyte CLASS_EXCLUDE = 6; + static const jbyte LOCATION_ONLY = 7; + static const jbyte EXCEPTION_ONLY = 8; + static const jbyte FIELD_ONLY = 9; + static const jbyte STEP = 10; + static const jbyte INSTANCE_ONLY = 11; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$ModKind__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$StepDepth.h b/libjava/gnu/classpath/jdwp/JdwpConstants$StepDepth.h new file mode 100644 index 00000000000..55d1b6227a1 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$StepDepth.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$StepDepth__ +#define __gnu_classpath_jdwp_JdwpConstants$StepDepth__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$StepDepth; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$StepDepth : public ::java::lang::Object +{ + +public: + JdwpConstants$StepDepth(); + static const jint INTO = 0; + static const jint OVER = 1; + static const jint OUT = 2; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$StepDepth__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$StepSize.h b/libjava/gnu/classpath/jdwp/JdwpConstants$StepSize.h new file mode 100644 index 00000000000..abd3a2507d6 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$StepSize.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$StepSize__ +#define __gnu_classpath_jdwp_JdwpConstants$StepSize__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$StepSize; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$StepSize : public ::java::lang::Object +{ + +public: + JdwpConstants$StepSize(); + static const jint MIN = 0; + static const jint LINE = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$StepSize__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.h b/libjava/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.h new file mode 100644 index 00000000000..8facf579536 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$SuspendPolicy.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$SuspendPolicy__ +#define __gnu_classpath_jdwp_JdwpConstants$SuspendPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$SuspendPolicy; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$SuspendPolicy : public ::java::lang::Object +{ + +public: + JdwpConstants$SuspendPolicy(); + static const jbyte NONE = 0; + static const jbyte EVENT_THREAD = 1; + static const jbyte ALL = 2; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$SuspendPolicy__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.h b/libjava/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.h new file mode 100644 index 00000000000..6c578097dfa --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$SuspendStatus.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$SuspendStatus__ +#define __gnu_classpath_jdwp_JdwpConstants$SuspendStatus__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$SuspendStatus; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$SuspendStatus : public ::java::lang::Object +{ + +public: + JdwpConstants$SuspendStatus(); + static const jbyte SUSPENDED = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$SuspendStatus__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$Tag.h b/libjava/gnu/classpath/jdwp/JdwpConstants$Tag.h new file mode 100644 index 00000000000..99c3df9bbaa --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$Tag.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$Tag__ +#define __gnu_classpath_jdwp_JdwpConstants$Tag__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$Tag; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$Tag : public ::java::lang::Object +{ + +public: + JdwpConstants$Tag(); + static const jbyte ARRAY = 91; + static const jbyte BYTE = 66; + static const jbyte CHAR = 67; + static const jbyte OBJECT = 76; + static const jbyte FLOAT = 70; + static const jbyte DOUBLE = 68; + static const jbyte INT = 73; + static const jbyte LONG = 74; + static const jbyte SHORT = 83; + static const jbyte VOID = 86; + static const jbyte BOOLEAN = 90; + static const jbyte STRING = 115; + static const jbyte THREAD = 116; + static const jbyte THREAD_GROUP = 103; + static const jbyte CLASS_LOADER = 108; + static const jbyte CLASS_OBJECT = 99; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$Tag__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.h b/libjava/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.h new file mode 100644 index 00000000000..411abad0c4b --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$ThreadStatus.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$ThreadStatus__ +#define __gnu_classpath_jdwp_JdwpConstants$ThreadStatus__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$ThreadStatus; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$ThreadStatus : public ::java::lang::Object +{ + +public: + JdwpConstants$ThreadStatus(); + static const jint ZOMBIE = 0; + static const jint RUNNING = 1; + static const jint SLEEPING = 2; + static const jint MONITOR = 3; + static const jint WAIT = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$ThreadStatus__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$TypeTag.h b/libjava/gnu/classpath/jdwp/JdwpConstants$TypeTag.h new file mode 100644 index 00000000000..426d3d23c39 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$TypeTag.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$TypeTag__ +#define __gnu_classpath_jdwp_JdwpConstants$TypeTag__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$TypeTag; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$TypeTag : public ::java::lang::Object +{ + +public: + JdwpConstants$TypeTag(); + static const jbyte CLASS = 1; + static const jbyte INTERFACE = 2; + static const jbyte ARRAY = 3; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$TypeTag__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants$Version.h b/libjava/gnu/classpath/jdwp/JdwpConstants$Version.h new file mode 100644 index 00000000000..293652fab44 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants$Version.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants$Version__ +#define __gnu_classpath_jdwp_JdwpConstants$Version__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants$Version; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants$Version : public ::java::lang::Object +{ + +public: + JdwpConstants$Version(); + static const jint MAJOR = 1; + static const jint MINOR = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants$Version__ diff --git a/libjava/gnu/classpath/jdwp/JdwpConstants.h b/libjava/gnu/classpath/jdwp/JdwpConstants.h new file mode 100644 index 00000000000..98f0b888e1e --- /dev/null +++ b/libjava/gnu/classpath/jdwp/JdwpConstants.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_JdwpConstants__ +#define __gnu_classpath_jdwp_JdwpConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class JdwpConstants; + } + } + } +} + +class gnu::classpath::jdwp::JdwpConstants : public ::java::lang::Object +{ + +public: + JdwpConstants(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_JdwpConstants__ diff --git a/libjava/gnu/classpath/jdwp/VMFrame.h b/libjava/gnu/classpath/jdwp/VMFrame.h new file mode 100644 index 00000000000..5278a192c6a --- /dev/null +++ b/libjava/gnu/classpath/jdwp/VMFrame.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_VMFrame__ +#define __gnu_classpath_jdwp_VMFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMFrame; + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::VMFrame : public ::java::lang::Object +{ + +public: + VMFrame(); + virtual ::gnu::classpath::jdwp::util::Location * getLocation(); + virtual ::java::lang::Object * getValue(jint); + virtual void setValue(jint, ::java::lang::Object *); + virtual ::java::lang::Object * getObject(); + virtual jlong getId(); + static const jint SIZE = 8; +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) obj; + ::gnu::classpath::jdwp::util::Location * loc; + jlong id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_VMFrame__ diff --git a/libjava/gnu/classpath/jdwp/VMIdManager$IdFactory.h b/libjava/gnu/classpath/jdwp/VMIdManager$IdFactory.h new file mode 100644 index 00000000000..f24d6b368c1 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/VMIdManager$IdFactory.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_VMIdManager$IdFactory__ +#define __gnu_classpath_jdwp_VMIdManager$IdFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMIdManager$IdFactory; + namespace id + { + class ObjectId; + class ReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::VMIdManager$IdFactory : public ::java::lang::Object +{ + + VMIdManager$IdFactory(); +public: + static ::gnu::classpath::jdwp::id::ObjectId * newObjectId(::java::lang::ref::SoftReference *); + static ::gnu::classpath::jdwp::id::ReferenceTypeId * newReferenceTypeId(::java::lang::ref::SoftReference *); +private: + static ::java::lang::Object * _idLock; + static ::java::lang::Object * _ridLock; + static jlong _lastId; + static jlong _lastRid; + static ::java::util::HashMap * _idList; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_VMIdManager$IdFactory__ diff --git a/libjava/gnu/classpath/jdwp/VMIdManager$ReferenceKey.h b/libjava/gnu/classpath/jdwp/VMIdManager$ReferenceKey.h new file mode 100644 index 00000000000..7acd047a6c7 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/VMIdManager$ReferenceKey.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_VMIdManager$ReferenceKey__ +#define __gnu_classpath_jdwp_VMIdManager$ReferenceKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMIdManager; + class VMIdManager$ReferenceKey; + } + } + } +} + +class gnu::classpath::jdwp::VMIdManager$ReferenceKey : public ::java::lang::ref::SoftReference +{ + +public: + VMIdManager$ReferenceKey(::gnu::classpath::jdwp::VMIdManager *, ::java::lang::Object *); + VMIdManager$ReferenceKey(::gnu::classpath::jdwp::VMIdManager *, ::java::lang::Object *, ::java::lang::ref::ReferenceQueue *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::ref::SoftReference)))) _hash; +public: // actually package-private + ::gnu::classpath::jdwp::VMIdManager * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_VMIdManager$ReferenceKey__ diff --git a/libjava/gnu/classpath/jdwp/VMIdManager.h b/libjava/gnu/classpath/jdwp/VMIdManager.h new file mode 100644 index 00000000000..22fc42f821c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/VMIdManager.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_VMIdManager__ +#define __gnu_classpath_jdwp_VMIdManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMIdManager; + namespace id + { + class ObjectId; + class ReferenceTypeId; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::VMIdManager : public ::java::lang::Object +{ + +public: + static ::gnu::classpath::jdwp::VMIdManager * getDefault(); +private: + VMIdManager(); + void _update(); +public: + virtual ::gnu::classpath::jdwp::id::ObjectId * getObjectId(::java::lang::Object *); + virtual ::gnu::classpath::jdwp::id::ObjectId * get(jlong); + virtual ::gnu::classpath::jdwp::id::ObjectId * readObjectId(::java::nio::ByteBuffer *); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * getReferenceTypeId(::java::lang::Class *); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * getReferenceType(jlong); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * readReferenceTypeId(::java::nio::ByteBuffer *); +private: + static ::gnu::classpath::jdwp::VMIdManager * _idm; + ::java::lang::ref::ReferenceQueue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _refQueue; + ::java::util::Hashtable * _oidTable; + ::java::util::Hashtable * _idTable; + ::java::util::Hashtable * _classTable; + ::java::util::Hashtable * _ridTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_VMIdManager__ diff --git a/libjava/gnu/classpath/jdwp/VMMethod.h b/libjava/gnu/classpath/jdwp/VMMethod.h new file mode 100644 index 00000000000..f1bf3d76cfd --- /dev/null +++ b/libjava/gnu/classpath/jdwp/VMMethod.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_VMMethod__ +#define __gnu_classpath_jdwp_VMMethod__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMMethod; + namespace util + { + class LineTable; + class VariableTable; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::VMMethod : public ::java::lang::Object +{ + +public: // actually protected + VMMethod(::java::lang::Class *, jlong); +public: + virtual jlong getId(); + virtual ::java::lang::Class * getDeclaringClass(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getSignature(); + virtual jint getModifiers(); + virtual ::gnu::classpath::jdwp::util::LineTable * getLineTable(); + virtual ::gnu::classpath::jdwp::util::VariableTable * getVariableTable(); + virtual ::java::lang::String * toString(); + virtual void writeId(::java::io::DataOutputStream *); + static ::gnu::classpath::jdwp::VMMethod * readId(::java::lang::Class *, ::java::nio::ByteBuffer *); + static const jint SIZE = 8; +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _class; + jlong _methodId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_VMMethod__ diff --git a/libjava/gnu/classpath/jdwp/VMVirtualMachine.h b/libjava/gnu/classpath/jdwp/VMVirtualMachine.h new file mode 100644 index 00000000000..a9a3b6df8e1 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/VMVirtualMachine.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_VMVirtualMachine__ +#define __gnu_classpath_jdwp_VMVirtualMachine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMFrame; + class VMMethod; + class VMVirtualMachine; + namespace event + { + class EventRequest; + } + namespace util + { + class MethodResult; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::VMVirtualMachine : public ::java::lang::Object +{ + +public: + VMVirtualMachine(); + static void initialize(); + static void suspendThread(::java::lang::Thread *); + static void suspendAllThreads(); + static void resumeThread(::java::lang::Thread *); + static void resumeAllThreads(); + static jint getSuspendCount(::java::lang::Thread *); + static jint getAllLoadedClassesCount(); + static ::java::util::Iterator * getAllLoadedClasses(); + static jint getClassStatus(::java::lang::Class *); + static JArray< ::gnu::classpath::jdwp::VMMethod * > * getAllClassMethods(::java::lang::Class *); + static ::gnu::classpath::jdwp::VMMethod * getClassMethod(::java::lang::Class *, jlong); + static ::java::util::ArrayList * getFrames(::java::lang::Thread *, jint, jint); + static ::gnu::classpath::jdwp::VMFrame * getFrame(::java::lang::Thread *, ::java::nio::ByteBuffer *); + static jint getFrameCount(::java::lang::Thread *); + static jint getThreadStatus(::java::lang::Thread *); + static ::java::util::ArrayList * getLoadRequests(::java::lang::ClassLoader *); + static ::gnu::classpath::jdwp::util::MethodResult * executeMethod(::java::lang::Object *, ::java::lang::Thread *, ::java::lang::Class *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jboolean); + static ::java::lang::String * getSourceFile(::java::lang::Class *); + static void registerEvent(::gnu::classpath::jdwp::event::EventRequest *); + static void unregisterEvent(::gnu::classpath::jdwp::event::EventRequest *); + static void clearEvents(jbyte); +private: + static ::java::util::Hashtable * _jdwp_suspend_counts; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_VMVirtualMachine__ diff --git a/libjava/gnu/classpath/jdwp/event/BreakpointEvent.h b/libjava/gnu/classpath/jdwp/event/BreakpointEvent.h new file mode 100644 index 00000000000..3a8bfd13fec --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/BreakpointEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_BreakpointEvent__ +#define __gnu_classpath_jdwp_event_BreakpointEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class BreakpointEvent; + } + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::event::BreakpointEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + BreakpointEvent(::java::lang::Thread *, ::gnu::classpath::jdwp::util::Location *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; + ::gnu::classpath::jdwp::util::Location * _location; + ::java::lang::Object * _instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_BreakpointEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/ClassPrepareEvent.h b/libjava/gnu/classpath/jdwp/event/ClassPrepareEvent.h new file mode 100644 index 00000000000..35d24ea99a4 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/ClassPrepareEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_ClassPrepareEvent__ +#define __gnu_classpath_jdwp_event_ClassPrepareEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class ClassPrepareEvent; + } + } + } + } +} + +class gnu::classpath::jdwp::event::ClassPrepareEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + ClassPrepareEvent(::java::lang::Thread *, ::java::lang::Class *, jint); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; + ::java::lang::Class * _class; + jint _status; +public: + static const jint STATUS_VERIFIED = 1; + static const jint STATUS_PREPARED = 2; + static const jint STATUS_INITIALIZED = 4; + static const jint STATUS_ERROR = 8; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_ClassPrepareEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/ClassUnloadEvent.h b/libjava/gnu/classpath/jdwp/event/ClassUnloadEvent.h new file mode 100644 index 00000000000..35447905d43 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/ClassUnloadEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_ClassUnloadEvent__ +#define __gnu_classpath_jdwp_event_ClassUnloadEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class ClassUnloadEvent; + } + } + } + } +} + +class gnu::classpath::jdwp::event::ClassUnloadEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + ClassUnloadEvent(::java::lang::String *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _signature; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_ClassUnloadEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/Event.h b/libjava/gnu/classpath/jdwp/event/Event.h new file mode 100644 index 00000000000..19dc07847c3 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/Event.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_Event__ +#define __gnu_classpath_jdwp_event_Event__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + class EventRequest; + } + namespace transport + { + class JdwpPacket; + } + } + } + } +} + +class gnu::classpath::jdwp::event::Event : public ::java::lang::Object +{ + +public: + Event(jbyte); + virtual jbyte getEventKind(); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *) = 0; +public: + virtual ::java::lang::Object * getParameter(jint) = 0; + virtual ::gnu::classpath::jdwp::transport::JdwpPacket * toPacket(::java::io::DataOutputStream *, ::gnu::classpath::jdwp::event::EventRequest *); + static const jint EVENT_CLASS = 1; + static const jint EVENT_THREAD = 2; + static const jint EVENT_LOCATION = 3; + static const jint EVENT_INSTANCE = 4; + static const jint EVENT_FIELD = 5; + static const jint EVENT_EXCEPTION_CLASS = 6; + static const jint EVENT_EXCEPTION_CAUGHT = 7; +private: + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) _eventKind; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_Event__ diff --git a/libjava/gnu/classpath/jdwp/event/EventManager.h b/libjava/gnu/classpath/jdwp/event/EventManager.h new file mode 100644 index 00000000000..081371148ee --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/EventManager.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_EventManager__ +#define __gnu_classpath_jdwp_event_EventManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + class EventManager; + class EventRequest; + } + } + } + } +} + +class gnu::classpath::jdwp::event::EventManager : public ::java::lang::Object +{ + +public: + static ::gnu::classpath::jdwp::event::EventManager * getDefault(); +private: + EventManager(); +public: + virtual ::gnu::classpath::jdwp::event::EventRequest * getEventRequest(::gnu::classpath::jdwp::event::Event *); + virtual void requestEvent(::gnu::classpath::jdwp::event::EventRequest *); + virtual void deleteRequest(jbyte, jint); + virtual void clearRequests(jbyte); + virtual ::gnu::classpath::jdwp::event::EventRequest * getRequest(jbyte, jint); + virtual ::java::util::Collection * getRequests(jbyte); +private: + static ::gnu::classpath::jdwp::event::EventManager * _instance; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _requests; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_EventManager__ diff --git a/libjava/gnu/classpath/jdwp/event/EventRequest.h b/libjava/gnu/classpath/jdwp/event/EventRequest.h new file mode 100644 index 00000000000..3a493a7c876 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/EventRequest.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_EventRequest__ +#define __gnu_classpath_jdwp_event_EventRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + class EventRequest; + namespace filters + { + class IEventFilter; + } + } + } + } + } +} + +class gnu::classpath::jdwp::event::EventRequest : public ::java::lang::Object +{ + +public: + EventRequest(jbyte, jbyte); + EventRequest(jint, jbyte, jbyte); + virtual void addFilter(::gnu::classpath::jdwp::event::filters::IEventFilter *); + virtual ::java::util::Collection * getFilters(); + virtual jbyte getSuspendPolicy(); + virtual jint getId(); + virtual void setId(jint); + virtual jbyte getEventKind(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); + static const jbyte EVENT_SINGLE_STEP = 1; + static const jbyte EVENT_BREAKPOINT = 2; + static const jbyte EVENT_FRAME_POP = 3; + static const jbyte EVENT_EXCEPTION = 4; + static const jbyte EVENT_USER_DEFINED = 5; + static const jbyte EVENT_THREAD_START = 6; + static const jbyte EVENT_THREAD_END = 7; + static const jbyte EVENT_CLASS_PREPARE = 8; + static const jbyte EVENT_CLASS_UNLOAD = 9; + static const jbyte EVENT_CLASS_LOAD = 10; + static const jbyte EVENT_FIELD_ACCESS = 20; + static const jbyte EVENT_FIELD_MODIFY = 21; + static const jbyte EVENT_METHOD_ENTRY = 40; + static const jbyte EVENT_METHOD_EXIT = 41; + static const jbyte EVENT_VM_INIT = 90; + static const jbyte EVENT_VM_DEATH = 99; + static const jbyte SUSPEND_NONE = 0; + static const jbyte SUSPEND_THREAD = 1; + static const jbyte SUSPEND_ALL = 2; +private: + static jint _last_id; + static ::java::lang::Object * _idLock; + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _filters; + jint _id; + jbyte _suspendPolicy; + jbyte _kind; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_EventRequest__ diff --git a/libjava/gnu/classpath/jdwp/event/ExceptionEvent.h b/libjava/gnu/classpath/jdwp/event/ExceptionEvent.h new file mode 100644 index 00000000000..02745b63129 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/ExceptionEvent.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_ExceptionEvent__ +#define __gnu_classpath_jdwp_event_ExceptionEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class ExceptionEvent; + } + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::event::ExceptionEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + ExceptionEvent(::java::lang::Throwable *, ::java::lang::Thread *, ::gnu::classpath::jdwp::util::Location *, ::gnu::classpath::jdwp::util::Location *, ::java::lang::Class *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(jint); + virtual void setCatchLoc(::gnu::classpath::jdwp::util::Location *); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _instance; + ::java::lang::Throwable * _exception; + ::java::lang::Thread * _thread; + ::gnu::classpath::jdwp::util::Location * _location; + ::gnu::classpath::jdwp::util::Location * _catchLocation; + ::java::lang::Class * _klass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_ExceptionEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/MethodEntryEvent.h b/libjava/gnu/classpath/jdwp/event/MethodEntryEvent.h new file mode 100644 index 00000000000..cb9c272b701 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/MethodEntryEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_MethodEntryEvent__ +#define __gnu_classpath_jdwp_event_MethodEntryEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class MethodEntryEvent; + } + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::event::MethodEntryEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + MethodEntryEvent(::java::lang::Thread *, ::gnu::classpath::jdwp::util::Location *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; + ::gnu::classpath::jdwp::util::Location * _location; + ::java::lang::Object * _instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_MethodEntryEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/MethodExitEvent.h b/libjava/gnu/classpath/jdwp/event/MethodExitEvent.h new file mode 100644 index 00000000000..89b01537e9c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/MethodExitEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_MethodExitEvent__ +#define __gnu_classpath_jdwp_event_MethodExitEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class MethodExitEvent; + } + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::event::MethodExitEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + MethodExitEvent(::java::lang::Thread *, ::gnu::classpath::jdwp::util::Location *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; + ::gnu::classpath::jdwp::util::Location * _location; + ::java::lang::Object * _instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_MethodExitEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/SingleStepEvent.h b/libjava/gnu/classpath/jdwp/event/SingleStepEvent.h new file mode 100644 index 00000000000..48190588836 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/SingleStepEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_SingleStepEvent__ +#define __gnu_classpath_jdwp_event_SingleStepEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class SingleStepEvent; + } + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::event::SingleStepEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + SingleStepEvent(::java::lang::Thread *, ::gnu::classpath::jdwp::util::Location *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; + ::gnu::classpath::jdwp::util::Location * _location; + ::java::lang::Object * _instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_SingleStepEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/ThreadEndEvent.h b/libjava/gnu/classpath/jdwp/event/ThreadEndEvent.h new file mode 100644 index 00000000000..b5b964eedde --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/ThreadEndEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_ThreadEndEvent__ +#define __gnu_classpath_jdwp_event_ThreadEndEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class ThreadEndEvent; + } + } + } + } +} + +class gnu::classpath::jdwp::event::ThreadEndEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + ThreadEndEvent(::java::lang::Thread *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_ThreadEndEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/ThreadStartEvent.h b/libjava/gnu/classpath/jdwp/event/ThreadStartEvent.h new file mode 100644 index 00000000000..f4f7afd6c44 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/ThreadStartEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_ThreadStartEvent__ +#define __gnu_classpath_jdwp_event_ThreadStartEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class ThreadStartEvent; + } + } + } + } +} + +class gnu::classpath::jdwp::event::ThreadStartEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + ThreadStartEvent(::java::lang::Thread *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _thread; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_ThreadStartEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/VmDeathEvent.h b/libjava/gnu/classpath/jdwp/event/VmDeathEvent.h new file mode 100644 index 00000000000..ae0b24ec235 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/VmDeathEvent.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_VmDeathEvent__ +#define __gnu_classpath_jdwp_event_VmDeathEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class VmDeathEvent; + } + } + } + } +} + +class gnu::classpath::jdwp::event::VmDeathEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + VmDeathEvent(); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_VmDeathEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/VmInitEvent.h b/libjava/gnu/classpath/jdwp/event/VmInitEvent.h new file mode 100644 index 00000000000..3a7db8811b9 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/VmInitEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_VmInitEvent__ +#define __gnu_classpath_jdwp_event_VmInitEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class VmInitEvent; + } + } + } + } +} + +class gnu::classpath::jdwp::event::VmInitEvent : public ::gnu::classpath::jdwp::event::Event +{ + +public: + VmInitEvent(::java::lang::Thread *); + virtual ::java::lang::Object * getParameter(jint); +public: // actually protected + virtual void _writeData(::java::io::DataOutputStream *); +private: + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::event::Event)))) _initialThread; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_VmInitEvent__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.h b/libjava/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.h new file mode 100644 index 00000000000..7a6796417b2 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_ClassExcludeFilter__ +#define __gnu_classpath_jdwp_event_filters_ClassExcludeFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class ClassExcludeFilter; + } + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::ClassExcludeFilter : public ::gnu::classpath::jdwp::event::filters::ClassMatchFilter +{ + +public: + ClassExcludeFilter(::java::lang::String *); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_ClassExcludeFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/ClassMatchFilter.h b/libjava/gnu/classpath/jdwp/event/filters/ClassMatchFilter.h new file mode 100644 index 00000000000..3670c26a6ee --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/ClassMatchFilter.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_ClassMatchFilter__ +#define __gnu_classpath_jdwp_event_filters_ClassMatchFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class ClassMatchFilter; + } + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::ClassMatchFilter : public ::java::lang::Object +{ + +public: + ClassMatchFilter(::java::lang::String *); + virtual ::java::lang::String * getPattern(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _pattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_ClassMatchFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.h b/libjava/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.h new file mode 100644 index 00000000000..6c887abeb1a --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_ClassOnlyFilter__ +#define __gnu_classpath_jdwp_event_filters_ClassOnlyFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class ClassOnlyFilter; + } + } + namespace id + { + class ReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::ClassOnlyFilter : public ::java::lang::Object +{ + +public: + ClassOnlyFilter(::gnu::classpath::jdwp::id::ReferenceTypeId *); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * getType(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::id::ReferenceTypeId * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_ClassOnlyFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/ConditionalFilter.h b/libjava/gnu/classpath/jdwp/event/filters/ConditionalFilter.h new file mode 100644 index 00000000000..23c5a14a2e8 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/ConditionalFilter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_ConditionalFilter__ +#define __gnu_classpath_jdwp_event_filters_ConditionalFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class ConditionalFilter; + } + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::ConditionalFilter : public ::java::lang::Object +{ + +public: + ConditionalFilter(::java::lang::Object *); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_ConditionalFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/CountFilter.h b/libjava/gnu/classpath/jdwp/event/filters/CountFilter.h new file mode 100644 index 00000000000..c3db4aeb8b8 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/CountFilter.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_CountFilter__ +#define __gnu_classpath_jdwp_event_filters_CountFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class CountFilter; + } + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::CountFilter : public ::java::lang::Object +{ + +public: + CountFilter(jint); + virtual jint getCount(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _count; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_CountFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.h b/libjava/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.h new file mode 100644 index 00000000000..4a84d43ef6a --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_ExceptionOnlyFilter__ +#define __gnu_classpath_jdwp_event_filters_ExceptionOnlyFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class ExceptionOnlyFilter; + } + } + namespace id + { + class ReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::ExceptionOnlyFilter : public ::java::lang::Object +{ + +public: + ExceptionOnlyFilter(::gnu::classpath::jdwp::id::ReferenceTypeId *, jboolean, jboolean); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * getType(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::id::ReferenceTypeId * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _refId; + jboolean _caught; + jboolean _uncaught; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_ExceptionOnlyFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.h b/libjava/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.h new file mode 100644 index 00000000000..2f6d577725d --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_FieldOnlyFilter__ +#define __gnu_classpath_jdwp_event_filters_FieldOnlyFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class FieldOnlyFilter; + } + } + namespace id + { + class ReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::FieldOnlyFilter : public ::java::lang::Object +{ + +public: + FieldOnlyFilter(::gnu::classpath::jdwp::id::ReferenceTypeId *, ::gnu::classpath::jdwp::id::ReferenceTypeId *); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * getType(); + virtual ::gnu::classpath::jdwp::id::ReferenceTypeId * getField(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::id::ReferenceTypeId * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _refId; + ::gnu::classpath::jdwp::id::ReferenceTypeId * _fieldId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_FieldOnlyFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/IEventFilter.h b/libjava/gnu/classpath/jdwp/event/filters/IEventFilter.h new file mode 100644 index 00000000000..0723bad2d73 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/IEventFilter.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_IEventFilter__ +#define __gnu_classpath_jdwp_event_filters_IEventFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class IEventFilter; + } + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::IEventFilter : public ::java::lang::Object +{ + +public: + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_classpath_jdwp_event_filters_IEventFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.h b/libjava/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.h new file mode 100644 index 00000000000..3b5aedf4b53 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_InstanceOnlyFilter__ +#define __gnu_classpath_jdwp_event_filters_InstanceOnlyFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class InstanceOnlyFilter; + } + } + namespace id + { + class ObjectId; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::InstanceOnlyFilter : public ::java::lang::Object +{ + +public: + InstanceOnlyFilter(::gnu::classpath::jdwp::id::ObjectId *); + virtual ::gnu::classpath::jdwp::id::ObjectId * getInstance(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::id::ObjectId * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_InstanceOnlyFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.h b/libjava/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.h new file mode 100644 index 00000000000..e5e0da92cc1 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_LocationOnlyFilter__ +#define __gnu_classpath_jdwp_event_filters_LocationOnlyFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class LocationOnlyFilter; + } + } + namespace util + { + class Location; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::LocationOnlyFilter : public ::java::lang::Object +{ + +public: + LocationOnlyFilter(::gnu::classpath::jdwp::util::Location *); + virtual ::gnu::classpath::jdwp::util::Location * getLocation(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::util::Location * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _location; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_LocationOnlyFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/StepFilter.h b/libjava/gnu/classpath/jdwp/event/filters/StepFilter.h new file mode 100644 index 00000000000..c434ae1421e --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/StepFilter.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_StepFilter__ +#define __gnu_classpath_jdwp_event_filters_StepFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class StepFilter; + } + } + namespace id + { + class ThreadId; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::StepFilter : public ::java::lang::Object +{ + +public: + StepFilter(::gnu::classpath::jdwp::id::ThreadId *, jint, jint); + virtual ::gnu::classpath::jdwp::id::ThreadId * getThread(); + virtual jint getSize(); + virtual jint getDepth(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::id::ThreadId * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _tid; + jint _size; + jint _depth; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_StepFilter__ diff --git a/libjava/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.h b/libjava/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.h new file mode 100644 index 00000000000..0c1a6eec402 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_event_filters_ThreadOnlyFilter__ +#define __gnu_classpath_jdwp_event_filters_ThreadOnlyFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + namespace filters + { + class ThreadOnlyFilter; + } + } + namespace id + { + class ThreadId; + } + } + } + } +} + +class gnu::classpath::jdwp::event::filters::ThreadOnlyFilter : public ::java::lang::Object +{ + +public: + ThreadOnlyFilter(::gnu::classpath::jdwp::id::ThreadId *); + virtual ::gnu::classpath::jdwp::id::ThreadId * getThread(); + virtual jboolean matches(::gnu::classpath::jdwp::event::Event *); +private: + ::gnu::classpath::jdwp::id::ThreadId * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _tid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_event_filters_ThreadOnlyFilter__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidClassException.h b/libjava/gnu/classpath/jdwp/exception/InvalidClassException.h new file mode 100644 index 00000000000..fb6028f7943 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidClassException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidClassException__ +#define __gnu_classpath_jdwp_exception_InvalidClassException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidClassException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidClassException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidClassException(jlong); + InvalidClassException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidClassException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidClassLoaderException.h b/libjava/gnu/classpath/jdwp/exception/InvalidClassLoaderException.h new file mode 100644 index 00000000000..201b5db3b6f --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidClassLoaderException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidClassLoaderException__ +#define __gnu_classpath_jdwp_exception_InvalidClassLoaderException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidClassLoaderException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidClassLoaderException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidClassLoaderException(jlong); + InvalidClassLoaderException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidClassLoaderException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidCountException.h b/libjava/gnu/classpath/jdwp/exception/InvalidCountException.h new file mode 100644 index 00000000000..b5bfea3d77c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidCountException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidCountException__ +#define __gnu_classpath_jdwp_exception_InvalidCountException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidCountException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidCountException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidCountException(jint); + InvalidCountException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidCountException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidEventTypeException.h b/libjava/gnu/classpath/jdwp/exception/InvalidEventTypeException.h new file mode 100644 index 00000000000..e5e7d129298 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidEventTypeException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidEventTypeException__ +#define __gnu_classpath_jdwp_exception_InvalidEventTypeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidEventTypeException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidEventTypeException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidEventTypeException(jbyte); + InvalidEventTypeException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidEventTypeException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidFieldException.h b/libjava/gnu/classpath/jdwp/exception/InvalidFieldException.h new file mode 100644 index 00000000000..31ebf4ac148 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidFieldException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidFieldException__ +#define __gnu_classpath_jdwp_exception_InvalidFieldException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidFieldException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidFieldException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidFieldException(jlong); + InvalidFieldException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidFieldException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidLocationException.h b/libjava/gnu/classpath/jdwp/exception/InvalidLocationException.h new file mode 100644 index 00000000000..8d44f50bccf --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidLocationException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidLocationException__ +#define __gnu_classpath_jdwp_exception_InvalidLocationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidLocationException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidLocationException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidLocationException(); + InvalidLocationException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidLocationException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidMethodException.h b/libjava/gnu/classpath/jdwp/exception/InvalidMethodException.h new file mode 100644 index 00000000000..c6d44ca5766 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidMethodException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidMethodException__ +#define __gnu_classpath_jdwp_exception_InvalidMethodException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidMethodException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidMethodException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidMethodException(jlong); + InvalidMethodException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidMethodException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidObjectException.h b/libjava/gnu/classpath/jdwp/exception/InvalidObjectException.h new file mode 100644 index 00000000000..20ea14f4f9e --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidObjectException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidObjectException__ +#define __gnu_classpath_jdwp_exception_InvalidObjectException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidObjectException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidObjectException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidObjectException(jlong); + InvalidObjectException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidObjectException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidStringException.h b/libjava/gnu/classpath/jdwp/exception/InvalidStringException.h new file mode 100644 index 00000000000..b31ef702bde --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidStringException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidStringException__ +#define __gnu_classpath_jdwp_exception_InvalidStringException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidStringException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidStringException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidStringException(::java::lang::String *); + InvalidStringException(jlong); + InvalidStringException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidStringException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidThreadException.h b/libjava/gnu/classpath/jdwp/exception/InvalidThreadException.h new file mode 100644 index 00000000000..72951401c2d --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidThreadException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidThreadException__ +#define __gnu_classpath_jdwp_exception_InvalidThreadException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidThreadException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidThreadException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidThreadException(jlong); + InvalidThreadException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidThreadException__ diff --git a/libjava/gnu/classpath/jdwp/exception/InvalidThreadGroupException.h b/libjava/gnu/classpath/jdwp/exception/InvalidThreadGroupException.h new file mode 100644 index 00000000000..c95db022066 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/InvalidThreadGroupException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_InvalidThreadGroupException__ +#define __gnu_classpath_jdwp_exception_InvalidThreadGroupException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class InvalidThreadGroupException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::InvalidThreadGroupException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + InvalidThreadGroupException(jlong); + InvalidThreadGroupException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_InvalidThreadGroupException__ diff --git a/libjava/gnu/classpath/jdwp/exception/JdwpException.h b/libjava/gnu/classpath/jdwp/exception/JdwpException.h new file mode 100644 index 00000000000..04869f2e48a --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/JdwpException.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_JdwpException__ +#define __gnu_classpath_jdwp_exception_JdwpException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class JdwpException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::JdwpException : public ::java::lang::Exception +{ + +public: + JdwpException(jshort, ::java::lang::Throwable *); + JdwpException(jshort, ::java::lang::String *); + virtual jshort getErrorCode(); +private: + jshort __attribute__((aligned(__alignof__( ::java::lang::Exception)))) _errorCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_JdwpException__ diff --git a/libjava/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.h b/libjava/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.h new file mode 100644 index 00000000000..035f3973853 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_JdwpIllegalArgumentException__ +#define __gnu_classpath_jdwp_exception_JdwpIllegalArgumentException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class JdwpIllegalArgumentException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::JdwpIllegalArgumentException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + JdwpIllegalArgumentException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_JdwpIllegalArgumentException__ diff --git a/libjava/gnu/classpath/jdwp/exception/JdwpInternalErrorException.h b/libjava/gnu/classpath/jdwp/exception/JdwpInternalErrorException.h new file mode 100644 index 00000000000..6829e26e6c4 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/JdwpInternalErrorException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_JdwpInternalErrorException__ +#define __gnu_classpath_jdwp_exception_JdwpInternalErrorException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class JdwpInternalErrorException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::JdwpInternalErrorException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + JdwpInternalErrorException(::java::lang::Throwable *); + JdwpInternalErrorException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_JdwpInternalErrorException__ diff --git a/libjava/gnu/classpath/jdwp/exception/NativeMethodException.h b/libjava/gnu/classpath/jdwp/exception/NativeMethodException.h new file mode 100644 index 00000000000..4f7a55c1f3c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/NativeMethodException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_NativeMethodException__ +#define __gnu_classpath_jdwp_exception_NativeMethodException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class NativeMethodException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::NativeMethodException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + NativeMethodException(jlong); + NativeMethodException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_NativeMethodException__ diff --git a/libjava/gnu/classpath/jdwp/exception/NotImplementedException.h b/libjava/gnu/classpath/jdwp/exception/NotImplementedException.h new file mode 100644 index 00000000000..4a99592fcc2 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/NotImplementedException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_NotImplementedException__ +#define __gnu_classpath_jdwp_exception_NotImplementedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class NotImplementedException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::NotImplementedException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + NotImplementedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_NotImplementedException__ diff --git a/libjava/gnu/classpath/jdwp/exception/VmDeadException.h b/libjava/gnu/classpath/jdwp/exception/VmDeadException.h new file mode 100644 index 00000000000..616f735b557 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/exception/VmDeadException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_exception_VmDeadException__ +#define __gnu_classpath_jdwp_exception_VmDeadException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace exception + { + class VmDeadException; + } + } + } + } +} + +class gnu::classpath::jdwp::exception::VmDeadException : public ::gnu::classpath::jdwp::exception::JdwpException +{ + +public: + VmDeadException(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_exception_VmDeadException__ diff --git a/libjava/gnu/classpath/jdwp/id/ArrayId.h b/libjava/gnu/classpath/jdwp/id/ArrayId.h new file mode 100644 index 00000000000..7e971e0bd6e --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ArrayId.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ArrayId__ +#define __gnu_classpath_jdwp_id_ArrayId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ArrayId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ArrayId : public ::gnu::classpath::jdwp::id::ObjectId +{ + +public: + ArrayId(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ArrayId__ diff --git a/libjava/gnu/classpath/jdwp/id/ArrayReferenceTypeId.h b/libjava/gnu/classpath/jdwp/id/ArrayReferenceTypeId.h new file mode 100644 index 00000000000..e52b1098fb5 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ArrayReferenceTypeId.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ArrayReferenceTypeId__ +#define __gnu_classpath_jdwp_id_ArrayReferenceTypeId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ArrayReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ArrayReferenceTypeId : public ::gnu::classpath::jdwp::id::ReferenceTypeId +{ + +public: + ArrayReferenceTypeId(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ArrayReferenceTypeId__ diff --git a/libjava/gnu/classpath/jdwp/id/ClassLoaderId.h b/libjava/gnu/classpath/jdwp/id/ClassLoaderId.h new file mode 100644 index 00000000000..16210026457 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ClassLoaderId.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ClassLoaderId__ +#define __gnu_classpath_jdwp_id_ClassLoaderId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ClassLoaderId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ClassLoaderId : public ::gnu::classpath::jdwp::id::ObjectId +{ + +public: + ClassLoaderId(); + virtual ::java::lang::ClassLoader * getClassLoader(); + static ::java::lang::Class * typeClass; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ClassLoaderId__ diff --git a/libjava/gnu/classpath/jdwp/id/ClassObjectId.h b/libjava/gnu/classpath/jdwp/id/ClassObjectId.h new file mode 100644 index 00000000000..5f628a46535 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ClassObjectId.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ClassObjectId__ +#define __gnu_classpath_jdwp_id_ClassObjectId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ClassObjectId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ClassObjectId : public ::gnu::classpath::jdwp::id::ObjectId +{ + +public: + ClassObjectId(); + virtual ::java::lang::Class * getClassObject(); + static ::java::lang::Class * typeClass; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ClassObjectId__ diff --git a/libjava/gnu/classpath/jdwp/id/ClassReferenceTypeId.h b/libjava/gnu/classpath/jdwp/id/ClassReferenceTypeId.h new file mode 100644 index 00000000000..f159722e388 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ClassReferenceTypeId.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ClassReferenceTypeId__ +#define __gnu_classpath_jdwp_id_ClassReferenceTypeId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ClassReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ClassReferenceTypeId : public ::gnu::classpath::jdwp::id::ReferenceTypeId +{ + +public: + ClassReferenceTypeId(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ClassReferenceTypeId__ diff --git a/libjava/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.h b/libjava/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.h new file mode 100644 index 00000000000..e1f2a9179d7 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_InterfaceReferenceTypeId__ +#define __gnu_classpath_jdwp_id_InterfaceReferenceTypeId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class InterfaceReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::InterfaceReferenceTypeId : public ::gnu::classpath::jdwp::id::ReferenceTypeId +{ + +public: + InterfaceReferenceTypeId(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_InterfaceReferenceTypeId__ diff --git a/libjava/gnu/classpath/jdwp/id/JdwpId.h b/libjava/gnu/classpath/jdwp/id/JdwpId.h new file mode 100644 index 00000000000..67e8c2c5323 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/JdwpId.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_JdwpId__ +#define __gnu_classpath_jdwp_id_JdwpId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class JdwpId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::JdwpId : public ::java::lang::Object +{ + +public: + JdwpId(jbyte); + virtual void setId(jlong); + virtual jlong getId(); + virtual ::java::lang::ref::SoftReference * getReference(); + virtual void setReference(::java::lang::ref::SoftReference *); + virtual jboolean equals(::gnu::classpath::jdwp::id::JdwpId *); + virtual void write(::java::io::DataOutputStream *) = 0; + virtual void writeTagged(::java::io::DataOutputStream *); + static const jint SIZE = 8; +public: // actually protected + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) _id; +private: + jbyte _tag; +public: // actually protected + ::java::lang::ref::SoftReference * _reference; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_JdwpId__ diff --git a/libjava/gnu/classpath/jdwp/id/ObjectId.h b/libjava/gnu/classpath/jdwp/id/ObjectId.h new file mode 100644 index 00000000000..724d92103a5 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ObjectId.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ObjectId__ +#define __gnu_classpath_jdwp_id_ObjectId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ObjectId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ObjectId : public ::gnu::classpath::jdwp::id::JdwpId +{ + +public: + ObjectId(); + ObjectId(jbyte); + virtual ::java::lang::Object * getObject(); + virtual void write(::java::io::DataOutputStream *); + virtual void disableCollection(); + virtual void enableCollection(); + static ::java::lang::Class * typeClass; +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::id::JdwpId)))) _handle; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ObjectId__ diff --git a/libjava/gnu/classpath/jdwp/id/ReferenceTypeId.h b/libjava/gnu/classpath/jdwp/id/ReferenceTypeId.h new file mode 100644 index 00000000000..0d8a884814d --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ReferenceTypeId.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ReferenceTypeId__ +#define __gnu_classpath_jdwp_id_ReferenceTypeId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ReferenceTypeId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ReferenceTypeId : public ::gnu::classpath::jdwp::id::JdwpId +{ + +public: + ReferenceTypeId(jbyte); + virtual ::java::lang::Class * getType(); + virtual void write(::java::io::DataOutputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ReferenceTypeId__ diff --git a/libjava/gnu/classpath/jdwp/id/StringId.h b/libjava/gnu/classpath/jdwp/id/StringId.h new file mode 100644 index 00000000000..901df280933 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/StringId.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_StringId__ +#define __gnu_classpath_jdwp_id_StringId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class StringId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::StringId : public ::gnu::classpath::jdwp::id::ObjectId +{ + +public: + StringId(); + virtual ::java::lang::String * getString(); + static ::java::lang::Class * typeClass; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_StringId__ diff --git a/libjava/gnu/classpath/jdwp/id/ThreadGroupId.h b/libjava/gnu/classpath/jdwp/id/ThreadGroupId.h new file mode 100644 index 00000000000..3f6b8f9e4eb --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ThreadGroupId.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ThreadGroupId__ +#define __gnu_classpath_jdwp_id_ThreadGroupId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ThreadGroupId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ThreadGroupId : public ::gnu::classpath::jdwp::id::ObjectId +{ + +public: + ThreadGroupId(); + virtual ::java::lang::ThreadGroup * getThreadGroup(); + static ::java::lang::Class * typeClass; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ThreadGroupId__ diff --git a/libjava/gnu/classpath/jdwp/id/ThreadId.h b/libjava/gnu/classpath/jdwp/id/ThreadId.h new file mode 100644 index 00000000000..ed625920507 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/id/ThreadId.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_id_ThreadId__ +#define __gnu_classpath_jdwp_id_ThreadId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace id + { + class ThreadId; + } + } + } + } +} + +class gnu::classpath::jdwp::id::ThreadId : public ::gnu::classpath::jdwp::id::ObjectId +{ + +public: + ThreadId(); + virtual ::java::lang::Thread * getThread(); + static ::java::lang::Class * typeClass; + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_id_ThreadId__ diff --git a/libjava/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.h new file mode 100644 index 00000000000..4bf187cda8f --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ArrayReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_ArrayReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ArrayReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ArrayReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ArrayReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeLength(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeGetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ArrayReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.h new file mode 100644 index 00000000000..6d7864aa4f9 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ArrayTypeCommandSet__ +#define __gnu_classpath_jdwp_processor_ArrayTypeCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ArrayTypeCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ArrayTypeCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ArrayTypeCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); + virtual void executeNewInstance(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ArrayTypeCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.h new file mode 100644 index 00000000000..3395a0eedef --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ClassLoaderReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_ClassLoaderReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ClassLoaderReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ClassLoaderReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ClassLoaderReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); + virtual void executeVisibleClasses(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ClassLoaderReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.h new file mode 100644 index 00000000000..67b4583a78d --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ClassObjectReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_ClassObjectReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ClassObjectReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ClassObjectReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ClassObjectReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); + virtual void executeReflectedType(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ClassObjectReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ClassTypeCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ClassTypeCommandSet.h new file mode 100644 index 00000000000..6967d32d747 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ClassTypeCommandSet.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ClassTypeCommandSet__ +#define __gnu_classpath_jdwp_processor_ClassTypeCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ClassTypeCommandSet; + } + namespace util + { + class MethodResult; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ClassTypeCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ClassTypeCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeSuperclass(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeInvokeMethod(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeNewInstance(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + ::gnu::classpath::jdwp::util::MethodResult * invokeMethod(::java::nio::ByteBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ClassTypeCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/CommandSet.h b/libjava/gnu/classpath/jdwp/processor/CommandSet.h new file mode 100644 index 00000000000..6833202dba2 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/CommandSet.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_CommandSet__ +#define __gnu_classpath_jdwp_processor_CommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMIdManager; + namespace processor + { + class CommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::CommandSet : public ::java::lang::Object +{ + +public: + CommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte) = 0; +public: // actually protected + ::gnu::classpath::jdwp::VMIdManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) idMan; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_CommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/EventRequestCommandSet.h b/libjava/gnu/classpath/jdwp/processor/EventRequestCommandSet.h new file mode 100644 index 00000000000..8a86b7bc983 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/EventRequestCommandSet.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_EventRequestCommandSet__ +#define __gnu_classpath_jdwp_processor_EventRequestCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class EventRequestCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::EventRequestCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + EventRequestCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeSet(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeClear(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeClearAllBreakpoints(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_EventRequestCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/FieldCommandSet.h b/libjava/gnu/classpath/jdwp/processor/FieldCommandSet.h new file mode 100644 index 00000000000..443cede87be --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/FieldCommandSet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_FieldCommandSet__ +#define __gnu_classpath_jdwp_processor_FieldCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class FieldCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::FieldCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + FieldCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_FieldCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.h b/libjava/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.h new file mode 100644 index 00000000000..2348e7966ba --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_InterfaceTypeCommandSet__ +#define __gnu_classpath_jdwp_processor_InterfaceTypeCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class InterfaceTypeCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::InterfaceTypeCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + InterfaceTypeCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_InterfaceTypeCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/MethodCommandSet.h b/libjava/gnu/classpath/jdwp/processor/MethodCommandSet.h new file mode 100644 index 00000000000..3dc3a67fa9b --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/MethodCommandSet.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_MethodCommandSet__ +#define __gnu_classpath_jdwp_processor_MethodCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class MethodCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::MethodCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + MethodCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeLineTable(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeVariableTable(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeByteCodes(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeIsObsolete(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeVariableTableWithGeneric(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_MethodCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.h new file mode 100644 index 00000000000..74a7aaa2406 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ObjectReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_ObjectReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ObjectReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ObjectReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ObjectReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeReferenceType(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeGetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeMonitorInfo(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeInvokeMethod(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeDisableCollection(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeEnableCollection(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeIsCollected(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ObjectReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/PacketProcessor.h b/libjava/gnu/classpath/jdwp/processor/PacketProcessor.h new file mode 100644 index 00000000000..d2e5057e362 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/PacketProcessor.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_PacketProcessor__ +#define __gnu_classpath_jdwp_processor_PacketProcessor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class CommandSet; + class PacketProcessor; + } + namespace transport + { + class JdwpConnection; + } + } + } + } +} + +class gnu::classpath::jdwp::processor::PacketProcessor : public ::java::lang::Object +{ + +public: + PacketProcessor(::gnu::classpath::jdwp::transport::JdwpConnection *); + virtual ::java::lang::Object * run(); + virtual void shutdown(); +private: + void _processOnePacket(); + ::gnu::classpath::jdwp::transport::JdwpConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _connection; + jboolean _shutdown; + JArray< ::gnu::classpath::jdwp::processor::CommandSet * > * _sets; + ::java::io::ByteArrayOutputStream * _outputBytes; + ::java::io::DataOutputStream * _os; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_PacketProcessor__ diff --git a/libjava/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.h new file mode 100644 index 00000000000..056a5ca9c05 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ReferenceTypeCommandSet__ +#define __gnu_classpath_jdwp_processor_ReferenceTypeCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ReferenceTypeCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ReferenceTypeCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ReferenceTypeCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeSignature(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeClassLoader(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeModifiers(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeFields(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeMethods(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeGetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSourceFile(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeNestedTypes(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeStatus(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeInterfaces(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeClassObject(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSourceDebugExtension(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSignatureWithGeneric(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeFieldWithGeneric(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeMethodsWithGeneric(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ReferenceTypeCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/StackFrameCommandSet.h b/libjava/gnu/classpath/jdwp/processor/StackFrameCommandSet.h new file mode 100644 index 00000000000..be634561094 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/StackFrameCommandSet.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_StackFrameCommandSet__ +#define __gnu_classpath_jdwp_processor_StackFrameCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class StackFrameCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::StackFrameCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + StackFrameCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeGetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSetValues(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeThisObject(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executePopFrames(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_StackFrameCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/StringReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/StringReferenceCommandSet.h new file mode 100644 index 00000000000..4904cbc0705 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/StringReferenceCommandSet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_StringReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_StringReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class StringReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::StringReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + StringReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeValue(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_StringReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.h new file mode 100644 index 00000000000..b7040d44d08 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ThreadGroupReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_ThreadGroupReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ThreadGroupReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ThreadGroupReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ThreadGroupReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeName(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeParent(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeChildren(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ThreadGroupReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.h b/libjava/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.h new file mode 100644 index 00000000000..c3248e91323 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_ThreadReferenceCommandSet__ +#define __gnu_classpath_jdwp_processor_ThreadReferenceCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class ThreadReferenceCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::ThreadReferenceCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + ThreadReferenceCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeName(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSuspend(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeResume(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeStatus(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeThreadGroup(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeFrames(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeFrameCount(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeOwnedMonitors(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeCurrentContendedMonitor(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeStop(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeInterrupt(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSuspendCount(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_ThreadReferenceCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.h b/libjava/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.h new file mode 100644 index 00000000000..c2eaf87873d --- /dev/null +++ b/libjava/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_processor_VirtualMachineCommandSet__ +#define __gnu_classpath_jdwp_processor_VirtualMachineCommandSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace processor + { + class VirtualMachineCommandSet; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::processor::VirtualMachineCommandSet : public ::gnu::classpath::jdwp::processor::CommandSet +{ + +public: + VirtualMachineCommandSet(); + virtual jboolean runCommand(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *, jbyte); +private: + void executeVersion(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeClassesBySignature(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeAllClasses(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeAllThreads(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeTopLevelThreadGroups(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeDispose(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeIDsizes(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSuspend(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeResume(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeExit(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeCreateString(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeCapabilities(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeClassPaths(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeDisposeObjects(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeHoldEvents(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeReleaseEvents(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeCapabilitiesNew(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeRedefineClasses(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeSetDefaultStratum(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + void executeAllClassesWithGeneric(::java::nio::ByteBuffer *, ::java::io::DataOutputStream *); + ::java::lang::ThreadGroup * getRootThreadGroup(::java::lang::ThreadGroup *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_processor_VirtualMachineCommandSet__ diff --git a/libjava/gnu/classpath/jdwp/transport/ITransport.h b/libjava/gnu/classpath/jdwp/transport/ITransport.h new file mode 100644 index 00000000000..572b61517c2 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/ITransport.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_ITransport__ +#define __gnu_classpath_jdwp_transport_ITransport__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class ITransport; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::ITransport : public ::java::lang::Object +{ + +public: + virtual void configure(::java::util::HashMap *) = 0; + virtual void initialize() = 0; + virtual void shutdown() = 0; + virtual ::java::io::InputStream * getInputStream() = 0; + virtual ::java::io::OutputStream * getOutputStream() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_classpath_jdwp_transport_ITransport__ diff --git a/libjava/gnu/classpath/jdwp/transport/JdwpCommandPacket.h b/libjava/gnu/classpath/jdwp/transport/JdwpCommandPacket.h new file mode 100644 index 00000000000..6d67ad48c52 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/JdwpCommandPacket.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_JdwpCommandPacket__ +#define __gnu_classpath_jdwp_transport_JdwpCommandPacket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class JdwpCommandPacket; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::JdwpCommandPacket : public ::gnu::classpath::jdwp::transport::JdwpPacket +{ + +public: + JdwpCommandPacket(); + JdwpCommandPacket(jbyte, jbyte); + virtual jint getLength(); + virtual jbyte getCommandSet(); + virtual void setCommandSet(jbyte); + virtual jbyte getCommand(); + virtual void setCommand(jbyte); +public: // actually protected + virtual jint myFromBytes(JArray< jbyte > *, jint); + virtual void myWrite(::java::io::DataOutputStream *); + jbyte __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::transport::JdwpPacket)))) _commandSet; + jbyte _command; +private: + static const jint MINIMUM_LENGTH = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_JdwpCommandPacket__ diff --git a/libjava/gnu/classpath/jdwp/transport/JdwpConnection.h b/libjava/gnu/classpath/jdwp/transport/JdwpConnection.h new file mode 100644 index 00000000000..aa6a0272a6f --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/JdwpConnection.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_JdwpConnection__ +#define __gnu_classpath_jdwp_transport_JdwpConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace event + { + class Event; + class EventRequest; + } + namespace transport + { + class ITransport; + class JdwpConnection; + class JdwpPacket; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::JdwpConnection : public ::java::lang::Thread +{ + +public: + JdwpConnection(::java::lang::ThreadGroup *, ::gnu::classpath::jdwp::transport::ITransport *); + virtual void initialize(); +private: + void _doHandshake(); +public: + virtual void run(); +private: + void _readOnePacket(); +public: + virtual ::gnu::classpath::jdwp::transport::JdwpPacket * getPacket(); + virtual void sendPacket(::gnu::classpath::jdwp::transport::JdwpPacket *); + virtual void sendEvent(::gnu::classpath::jdwp::event::EventRequest *, ::gnu::classpath::jdwp::event::Event *); + virtual void shutdown(); +private: + static JArray< jbyte > * _HANDSHAKE; + ::gnu::classpath::jdwp::transport::ITransport * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) _transport; + ::java::util::ArrayList * _commandQueue; + jboolean _shutdown; + ::java::io::DataInputStream * _inStream; + ::java::io::DataOutputStream * _outStream; + ::java::io::ByteArrayOutputStream * _bytes; + ::java::io::DataOutputStream * _doStream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_JdwpConnection__ diff --git a/libjava/gnu/classpath/jdwp/transport/JdwpPacket.h b/libjava/gnu/classpath/jdwp/transport/JdwpPacket.h new file mode 100644 index 00000000000..bace85265bd --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/JdwpPacket.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_JdwpPacket__ +#define __gnu_classpath_jdwp_transport_JdwpPacket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class JdwpPacket; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::JdwpPacket : public ::java::lang::Object +{ + +public: + JdwpPacket(); + JdwpPacket(::gnu::classpath::jdwp::transport::JdwpPacket *); + virtual jint getId(); + virtual void setId(jint); + virtual jbyte getFlags(); + virtual void setFlags(jbyte); + virtual JArray< jbyte > * getData(); + virtual void setData(JArray< jbyte > *); + virtual jint getLength(); +public: // actually protected + virtual jint myFromBytes(JArray< jbyte > *, jint) = 0; +public: + static ::gnu::classpath::jdwp::transport::JdwpPacket * fromBytes(JArray< jbyte > *); +public: // actually protected + virtual void myWrite(::java::io::DataOutputStream *) = 0; +public: + virtual void write(::java::io::DataOutputStream *); +public: // actually protected + static jint _last_id; + static const jint JDWP_FLAG_REPLY = 128; + static const jint MINIMUM_SIZE = 9; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _id; + jbyte _flags; + JArray< jbyte > * _data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_JdwpPacket__ diff --git a/libjava/gnu/classpath/jdwp/transport/JdwpReplyPacket.h b/libjava/gnu/classpath/jdwp/transport/JdwpReplyPacket.h new file mode 100644 index 00000000000..0235334683a --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/JdwpReplyPacket.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_JdwpReplyPacket__ +#define __gnu_classpath_jdwp_transport_JdwpReplyPacket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class JdwpPacket; + class JdwpReplyPacket; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::JdwpReplyPacket : public ::gnu::classpath::jdwp::transport::JdwpPacket +{ + +public: + JdwpReplyPacket(); + JdwpReplyPacket(::gnu::classpath::jdwp::transport::JdwpPacket *, jshort); + JdwpReplyPacket(::gnu::classpath::jdwp::transport::JdwpPacket *); + virtual jint getLength(); + virtual jshort getErrorCode(); + virtual void setErrorCode(jshort); +public: // actually protected + virtual jint myFromBytes(JArray< jbyte > *, jint); + virtual void myWrite(::java::io::DataOutputStream *); + jshort __attribute__((aligned(__alignof__( ::gnu::classpath::jdwp::transport::JdwpPacket)))) _errorCode; +private: + static const jint MINIMUM_LENGTH = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_JdwpReplyPacket__ diff --git a/libjava/gnu/classpath/jdwp/transport/SocketTransport.h b/libjava/gnu/classpath/jdwp/transport/SocketTransport.h new file mode 100644 index 00000000000..b5fe5c327cd --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/SocketTransport.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_SocketTransport__ +#define __gnu_classpath_jdwp_transport_SocketTransport__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class SocketTransport; + } + } + } + } + namespace java + { + namespace net + { + class Socket; + } + } +} + +class gnu::classpath::jdwp::transport::SocketTransport : public ::java::lang::Object +{ + +public: // actually package-private + SocketTransport(); +public: + virtual void configure(::java::util::HashMap *); + virtual void initialize(); + virtual void shutdown(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + static ::java::lang::String * NAME; +private: + static ::java::lang::String * _PROPERTY_ADDRESS; + static ::java::lang::String * _PROPERTY_SERVER; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _port; + ::java::lang::String * _host; + jboolean _server; + ::java::net::Socket * _socket; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_SocketTransport__ diff --git a/libjava/gnu/classpath/jdwp/transport/TransportException.h b/libjava/gnu/classpath/jdwp/transport/TransportException.h new file mode 100644 index 00000000000..18c405ceb0c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/TransportException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_TransportException__ +#define __gnu_classpath_jdwp_transport_TransportException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class TransportException; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::TransportException : public ::java::lang::Exception +{ + +public: + TransportException(::java::lang::String *); + TransportException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_TransportException__ diff --git a/libjava/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.h b/libjava/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.h new file mode 100644 index 00000000000..4900baa669c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/TransportFactory$TransportMethod.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_TransportFactory$TransportMethod__ +#define __gnu_classpath_jdwp_transport_TransportFactory$TransportMethod__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class TransportFactory$TransportMethod; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::TransportFactory$TransportMethod : public ::java::lang::Object +{ + +public: + TransportFactory$TransportMethod(::java::lang::String *, ::java::lang::Class *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::Class * clazz; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_TransportFactory$TransportMethod__ diff --git a/libjava/gnu/classpath/jdwp/transport/TransportFactory.h b/libjava/gnu/classpath/jdwp/transport/TransportFactory.h new file mode 100644 index 00000000000..e3e01986b6f --- /dev/null +++ b/libjava/gnu/classpath/jdwp/transport/TransportFactory.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_transport_TransportFactory__ +#define __gnu_classpath_jdwp_transport_TransportFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace transport + { + class ITransport; + class TransportFactory; + class TransportFactory$TransportMethod; + } + } + } + } +} + +class gnu::classpath::jdwp::transport::TransportFactory : public ::java::lang::Object +{ + +public: + TransportFactory(); + static ::gnu::classpath::jdwp::transport::ITransport * newInstance(::java::util::HashMap *); +private: + static ::java::lang::String * _TRANSPORT_PROPERTY; + static JArray< ::gnu::classpath::jdwp::transport::TransportFactory$TransportMethod * > * _transportMethods; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_transport_TransportFactory__ diff --git a/libjava/gnu/classpath/jdwp/util/JdwpString.h b/libjava/gnu/classpath/jdwp/util/JdwpString.h new file mode 100644 index 00000000000..0845ca8ce6c --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/JdwpString.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_JdwpString__ +#define __gnu_classpath_jdwp_util_JdwpString__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace util + { + class JdwpString; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::util::JdwpString : public ::java::lang::Object +{ + +public: + JdwpString(); + static void writeString(::java::io::DataOutputStream *, ::java::lang::String *); + static ::java::lang::String * readString(::java::nio::ByteBuffer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_JdwpString__ diff --git a/libjava/gnu/classpath/jdwp/util/LineTable.h b/libjava/gnu/classpath/jdwp/util/LineTable.h new file mode 100644 index 00000000000..6ca678c3a16 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/LineTable.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_LineTable__ +#define __gnu_classpath_jdwp_util_LineTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace util + { + class LineTable; + } + } + } + } +} + +class gnu::classpath::jdwp::util::LineTable : public ::java::lang::Object +{ + +public: + LineTable(jlong, jlong, JArray< jint > *, JArray< jlong > *); + virtual void write(::java::io::DataOutputStream *); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) start; + jlong end; + JArray< jint > * lineNum; + JArray< jlong > * lineCI; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_LineTable__ diff --git a/libjava/gnu/classpath/jdwp/util/Location.h b/libjava/gnu/classpath/jdwp/util/Location.h new file mode 100644 index 00000000000..4b742748250 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/Location.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_Location__ +#define __gnu_classpath_jdwp_util_Location__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + class VMMethod; + namespace util + { + class Location; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::util::Location : public ::java::lang::Object +{ + +public: + Location(::gnu::classpath::jdwp::VMMethod *, jlong); + Location(::java::nio::ByteBuffer *); + virtual void write(::java::io::DataOutputStream *); + static ::gnu::classpath::jdwp::util::Location * getEmptyLocation(); + virtual ::gnu::classpath::jdwp::VMMethod * getMethod(); + virtual jlong getIndex(); + virtual ::java::lang::String * toString(); +private: + ::gnu::classpath::jdwp::VMMethod * __attribute__((aligned(__alignof__( ::java::lang::Object)))) method; + jlong index; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_Location__ diff --git a/libjava/gnu/classpath/jdwp/util/MethodResult.h b/libjava/gnu/classpath/jdwp/util/MethodResult.h new file mode 100644 index 00000000000..c83d2c105a9 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/MethodResult.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_MethodResult__ +#define __gnu_classpath_jdwp_util_MethodResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace util + { + class MethodResult; + } + } + } + } +} + +class gnu::classpath::jdwp::util::MethodResult : public ::java::lang::Object +{ + +public: + MethodResult(); + virtual ::java::lang::Object * getReturnedValue(); + virtual void setReturnedValue(::java::lang::Object *); + virtual ::java::lang::Exception * getThrownException(); + virtual void setThrownException(::java::lang::Exception *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) returnedValue; + ::java::lang::Exception * thrownException; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_MethodResult__ diff --git a/libjava/gnu/classpath/jdwp/util/Signature.h b/libjava/gnu/classpath/jdwp/util/Signature.h new file mode 100644 index 00000000000..4ec84ce100a --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/Signature.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_Signature__ +#define __gnu_classpath_jdwp_util_Signature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace util + { + class Signature; + } + } + } + } +} + +class gnu::classpath::jdwp::util::Signature : public ::java::lang::Object +{ + +public: + Signature(); + static ::java::lang::String * computeClassSignature(::java::lang::Class *); + static ::java::lang::String * computeFieldSignature(::java::lang::reflect::Field *); + static ::java::lang::String * computeMethodSignature(::java::lang::reflect::Method *); +private: + static ::java::lang::String * _computeSignature(::java::lang::Class *, JArray< ::java::lang::Class * > *); + static void _addToSignature(::java::lang::StringBuffer *, ::java::lang::Class *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_Signature__ diff --git a/libjava/gnu/classpath/jdwp/util/Value.h b/libjava/gnu/classpath/jdwp/util/Value.h new file mode 100644 index 00000000000..01dda3fa878 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/Value.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_Value__ +#define __gnu_classpath_jdwp_util_Value__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace util + { + class Value; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::classpath::jdwp::util::Value : public ::java::lang::Object +{ + +public: + Value(); + static void writeUntaggedValue(::java::io::DataOutputStream *, ::java::lang::Object *); + static void writeTaggedValue(::java::io::DataOutputStream *, ::java::lang::Object *); +private: + static void writeValue(::java::io::DataOutputStream *, ::java::lang::Object *, jboolean); +public: + static ::java::lang::Object * getObj(::java::nio::ByteBuffer *); + static ::java::lang::Object * getUntaggedObj(::java::nio::ByteBuffer *, ::java::lang::Class *); + static ::java::lang::Object * getUntaggedObj(::java::nio::ByteBuffer *, jbyte); + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_Value__ diff --git a/libjava/gnu/classpath/jdwp/util/VariableTable.h b/libjava/gnu/classpath/jdwp/util/VariableTable.h new file mode 100644 index 00000000000..05b0477fed7 --- /dev/null +++ b/libjava/gnu/classpath/jdwp/util/VariableTable.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_classpath_jdwp_util_VariableTable__ +#define __gnu_classpath_jdwp_util_VariableTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace jdwp + { + namespace util + { + class VariableTable; + } + } + } + } +} + +class gnu::classpath::jdwp::util::VariableTable : public ::java::lang::Object +{ + +public: + VariableTable(jint, jint, JArray< jlong > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< jint > *, JArray< jint > *); + virtual void write(::java::io::DataOutputStream *); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) argCnt; + jlong slots; + JArray< jlong > * lineCI; + JArray< jint > * slot; + JArray< jint > * lengths; + JArray< ::java::lang::String * > * sigs; + JArray< ::java::lang::String * > * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_classpath_jdwp_util_VariableTable__ diff --git a/libjava/gnu/classpath/natConfiguration.cc b/libjava/gnu/classpath/natConfiguration.cc new file mode 100644 index 00000000000..7e1593cd6e5 --- /dev/null +++ b/libjava/gnu/classpath/natConfiguration.cc @@ -0,0 +1,39 @@ +// natConfiguration.cc - native code for configuration. + +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include +#include + +#include +#include + +#include + +jstring +gnu::classpath::Configuration::classpath_home() +{ + return JvNewStringLatin1(LIBGCJ_PREFIX); +} + +jboolean +gnu::classpath::Configuration::debug() +{ +#ifdef DEBUG + return true; +#else + return false; +#endif +} + +jstring +gnu::classpath::Configuration::toolkit() +{ + return JvNewStringLatin1(AWT_TOOLKIT); +} diff --git a/libjava/gnu/classpath/natSystemProperties.cc b/libjava/gnu/classpath/natSystemProperties.cc index 8196ea33f9f..089a14e5b4e 100644 --- a/libjava/gnu/classpath/natSystemProperties.cc +++ b/libjava/gnu/classpath/natSystemProperties.cc @@ -142,7 +142,7 @@ PrependVersionedLibdir (::java::lang::String* libpath) } void -gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties *newprops) +gnu::classpath::SystemProperties::insertSystemProperties (::java::util::Properties *newprops) { // A convenience define. #define SET(Prop,Val) \ @@ -156,7 +156,7 @@ gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties SET ("java.runtime.version", JV_VERSION); SET ("java.vendor", "Free Software Foundation, Inc."); SET ("java.vendor.url", "http://gcc.gnu.org/java/"); - SET ("java.class.version", "48.0"); + SET ("java.class.version", "49.0"); SET ("java.vm.specification.version", "1.0"); SET ("java.vm.specification.name", "Java(tm) Virtual Machine Specification"); SET ("java.vm.specification.vendor", "Sun Microsystems Inc."); diff --git a/libjava/gnu/classpath/natVMStackWalker.cc b/libjava/gnu/classpath/natVMStackWalker.cc new file mode 100644 index 00000000000..07ec48c030a --- /dev/null +++ b/libjava/gnu/classpath/natVMStackWalker.cc @@ -0,0 +1,80 @@ +// natVMStackWalker.cc + +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +JArray * +gnu::classpath::VMStackWalker::getClassContext(void) +{ + return _Jv_StackTrace::GetStackWalkerStack (); +} + +jclass +gnu::classpath::VMStackWalker::getCallingClass(void) +{ + return _Jv_StackTrace::GetStackWalkerCallingClass (); +} + +jclass +gnu::classpath::VMStackWalker::getCallingClass(::gnu::gcj::RawData *pc) +{ + void *f = _Unwind_FindEnclosingFunction (pc); + + // FIXME: it might well be a good idea to cache pc values here in + // order to avoid repeated invocations of + // _Unwind_FindEnclosingFunction, which is quite expensive. On the + // other hand, which not simply write a caching version of + // _Unwind_FindEnclosingFunction itself? That would probably be + // worthwhile. + + _Jv_StackTrace::UpdateNCodeMap (); + jclass klass = (jclass) _Jv_StackTrace::ncodeMap->get ((jobject) f); + + // If the caller is a compiled frame and the caller of the caller + // is an interpreted frame then klass will be null and we need to + // unwind the stack. + if (klass == NULL) + klass = _Jv_StackTrace::GetStackWalkerCallingClass (); + + return klass; +} + +::java::lang::ClassLoader * +gnu::classpath::VMStackWalker::getClassLoader(::java::lang::Class *c) +{ + return c->getClassLoaderInternal (); +} + +::java::lang::ClassLoader * +gnu::classpath::VMStackWalker::getCallingClassLoader(void) +{ + return + _Jv_StackTrace::GetStackWalkerCallingClass ()->getClassLoaderInternal (); +} + +::java::lang::ClassLoader * +gnu::classpath::VMStackWalker::getCallingClassLoader(::gnu::gcj::RawData *pc) +{ + return getCallingClass (pc)->getClassLoaderInternal (); +} + +::java::lang::ClassLoader * +gnu::classpath::VMStackWalker::firstNonNullClassLoader(void) +{ + return _Jv_StackTrace::GetStackWalkerFirstNonNullLoader (); +} diff --git a/libjava/gnu/gcj/Core.h b/libjava/gnu/gcj/Core.h new file mode 100644 index 00000000000..ba28bf11da3 --- /dev/null +++ b/libjava/gnu/gcj/Core.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_Core__ +#define __gnu_gcj_Core__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class Core; + class RawData; + } + } +} + +class gnu::gcj::Core : public ::java::lang::Object +{ + +public: + static ::gnu::gcj::Core * create(::java::lang::String *); + static ::gnu::gcj::Core * find(::java::lang::String *); +public: // actually package-private + Core(); +public: + ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ptr; + jint length; + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_Core__ diff --git a/libjava/gnu/gcj/RawData.h b/libjava/gnu/gcj/RawData.h new file mode 100644 index 00000000000..8cb1188d7aa --- /dev/null +++ b/libjava/gnu/gcj/RawData.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_RawData__ +#define __gnu_gcj_RawData__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } +} + +class gnu::gcj::RawData : public ::java::lang::Object +{ + + RawData(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_RawData__ diff --git a/libjava/gnu/gcj/RawDataManaged.h b/libjava/gnu/gcj/RawDataManaged.h new file mode 100644 index 00000000000..cb9673e2618 --- /dev/null +++ b/libjava/gnu/gcj/RawDataManaged.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_RawDataManaged__ +#define __gnu_gcj_RawDataManaged__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawDataManaged; + } + } +} + +class gnu::gcj::RawDataManaged : public ::java::lang::Object +{ + + RawDataManaged(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_RawDataManaged__ diff --git a/libjava/gnu/gcj/convert/BytesToCharsetAdaptor.h b/libjava/gnu/gcj/convert/BytesToCharsetAdaptor.h new file mode 100644 index 00000000000..f9d4a8830e8 --- /dev/null +++ b/libjava/gnu/gcj/convert/BytesToCharsetAdaptor.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_BytesToCharsetAdaptor__ +#define __gnu_gcj_convert_BytesToCharsetAdaptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class BytesToCharsetAdaptor; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + namespace charset + { + class Charset; + class CharsetDecoder; + } + } + } +} + +class gnu::gcj::convert::BytesToCharsetAdaptor : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + BytesToCharsetAdaptor(::java::nio::charset::Charset *); + BytesToCharsetAdaptor(::java::nio::charset::CharsetDecoder *); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual void done(); +private: + ::java::nio::charset::CharsetDecoder * __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) decoder; + ::java::nio::ByteBuffer * inBuf; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_BytesToCharsetAdaptor__ diff --git a/libjava/gnu/gcj/convert/BytesToUnicode.h b/libjava/gnu/gcj/convert/BytesToUnicode.h new file mode 100644 index 00000000000..15ff3ec55b9 --- /dev/null +++ b/libjava/gnu/gcj/convert/BytesToUnicode.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_BytesToUnicode__ +#define __gnu_gcj_convert_BytesToUnicode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class BytesToUnicode; + } + } + } +} + +class gnu::gcj::convert::BytesToUnicode : public ::gnu::gcj::convert::IOConverter +{ + +public: + BytesToUnicode(); + virtual ::java::lang::String * getName() = 0; + static ::gnu::gcj::convert::BytesToUnicode * getDefaultDecoder(); + static ::gnu::gcj::convert::BytesToUnicode * getDecoder(::java::lang::String *); + virtual void setInput(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jchar > *, jint, jint) = 0; + virtual void done(); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::gcj::convert::IOConverter)))) inbuffer; + jint inpos; + jint inlength; +public: // actually package-private + static ::java::lang::String * defaultEncoding; +private: + static const jint CACHE_SIZE = 4; + static JArray< ::gnu::gcj::convert::BytesToUnicode * > * decoderCache; + static jint currCachePos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_BytesToUnicode__ diff --git a/libjava/gnu/gcj/convert/CharsetToBytesAdaptor.h b/libjava/gnu/gcj/convert/CharsetToBytesAdaptor.h new file mode 100644 index 00000000000..4115ef4907d --- /dev/null +++ b/libjava/gnu/gcj/convert/CharsetToBytesAdaptor.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_CharsetToBytesAdaptor__ +#define __gnu_gcj_convert_CharsetToBytesAdaptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class CharsetToBytesAdaptor; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CharsetEncoder; + } + } + } +} + +class gnu::gcj::convert::CharsetToBytesAdaptor : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + CharsetToBytesAdaptor(::java::nio::charset::Charset *); + CharsetToBytesAdaptor(::java::nio::charset::CharsetEncoder *); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + virtual jint write(::java::lang::String *, jint, jint, jchar); +private: + void write(::java::nio::CharBuffer *); +public: + virtual jboolean havePendingBytes(); + virtual void setFinished(); + virtual void done(); +private: + ::java::nio::charset::CharsetEncoder * __attribute__((aligned(__alignof__( ::gnu::gcj::convert::UnicodeToBytes)))) encoder; + ::java::nio::ByteBuffer * outBuf; + jboolean closedEncoder; + jboolean hasBytes; + jboolean finished; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_CharsetToBytesAdaptor__ diff --git a/libjava/gnu/gcj/convert/Convert.h b/libjava/gnu/gcj/convert/Convert.h new file mode 100644 index 00000000000..8a77702240e --- /dev/null +++ b/libjava/gnu/gcj/convert/Convert.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Convert__ +#define __gnu_gcj_convert_Convert__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Convert; + } + } + } +} + +class gnu::gcj::convert::Convert : public ::java::lang::Object +{ + +public: + Convert(); +public: // actually package-private + static void error(::java::lang::String *); + static void help(); + static void version(); + static void missing(::java::lang::String *); +public: + static void main(JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Convert__ diff --git a/libjava/gnu/gcj/convert/IOConverter.h b/libjava/gnu/gcj/convert/IOConverter.h new file mode 100644 index 00000000000..66548598bc1 --- /dev/null +++ b/libjava/gnu/gcj/convert/IOConverter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_IOConverter__ +#define __gnu_gcj_convert_IOConverter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class IOConverter; + } + } + } +} + +class gnu::gcj::convert::IOConverter : public ::java::lang::Object +{ + +public: + IOConverter(); +private: + static jboolean iconv_init(); +public: // actually protected + static ::java::lang::String * canonicalize(::java::lang::String *); +private: + static ::java::util::Hashtable * hash; +public: // actually protected + static jboolean iconv_byte_swap; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_IOConverter__ diff --git a/libjava/gnu/gcj/convert/Input_8859_1.h b/libjava/gnu/gcj/convert/Input_8859_1.h new file mode 100644 index 00000000000..eccb4b34c13 --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_8859_1.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_8859_1__ +#define __gnu_gcj_convert_Input_8859_1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_8859_1; + } + } + } +} + +class gnu::gcj::convert::Input_8859_1 : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_8859_1(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_8859_1__ diff --git a/libjava/gnu/gcj/convert/Input_ASCII.h b/libjava/gnu/gcj/convert/Input_ASCII.h new file mode 100644 index 00000000000..fcc8c65a367 --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_ASCII.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_ASCII__ +#define __gnu_gcj_convert_Input_ASCII__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_ASCII; + } + } + } +} + +class gnu::gcj::convert::Input_ASCII : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_ASCII(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_ASCII__ diff --git a/libjava/gnu/gcj/convert/Input_EUCJIS.h b/libjava/gnu/gcj/convert/Input_EUCJIS.h new file mode 100644 index 00000000000..3a93c52db51 --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_EUCJIS.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_EUCJIS__ +#define __gnu_gcj_convert_Input_EUCJIS__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_EUCJIS; + } + } + } +} + +class gnu::gcj::convert::Input_EUCJIS : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_EUCJIS(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) codeset; + jint first_byte; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_EUCJIS__ diff --git a/libjava/gnu/gcj/convert/Input_JavaSrc.h b/libjava/gnu/gcj/convert/Input_JavaSrc.h new file mode 100644 index 00000000000..4509cf64a1e --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_JavaSrc.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_JavaSrc__ +#define __gnu_gcj_convert_Input_JavaSrc__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_JavaSrc; + } + } + } +} + +class gnu::gcj::convert::Input_JavaSrc : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_JavaSrc(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) state; + jint value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_JavaSrc__ diff --git a/libjava/gnu/gcj/convert/Input_SJIS.h b/libjava/gnu/gcj/convert/Input_SJIS.h new file mode 100644 index 00000000000..d2cacbe4388 --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_SJIS.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_SJIS__ +#define __gnu_gcj_convert_Input_SJIS__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_SJIS; + } + } + } +} + +class gnu::gcj::convert::Input_SJIS : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_SJIS(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) first_byte; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_SJIS__ diff --git a/libjava/gnu/gcj/convert/Input_UTF8.h b/libjava/gnu/gcj/convert/Input_UTF8.h new file mode 100644 index 00000000000..347513bda8f --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_UTF8.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_UTF8__ +#define __gnu_gcj_convert_Input_UTF8__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_UTF8; + } + } + } +} + +class gnu::gcj::convert::Input_UTF8 : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_UTF8(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) partial; + jint partial_bytes_expected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_UTF8__ diff --git a/libjava/gnu/gcj/convert/Input_UnicodeBig.h b/libjava/gnu/gcj/convert/Input_UnicodeBig.h new file mode 100644 index 00000000000..ec834edecf8 --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_UnicodeBig.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_UnicodeBig__ +#define __gnu_gcj_convert_Input_UnicodeBig__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_UnicodeBig; + } + } + } +} + +class gnu::gcj::convert::Input_UnicodeBig : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_UnicodeBig(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); +public: // actually package-private + jchar __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) partial; + jint partial_count; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_UnicodeBig__ diff --git a/libjava/gnu/gcj/convert/Input_UnicodeLittle.h b/libjava/gnu/gcj/convert/Input_UnicodeLittle.h new file mode 100644 index 00000000000..ddc3c0620bd --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_UnicodeLittle.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_UnicodeLittle__ +#define __gnu_gcj_convert_Input_UnicodeLittle__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Input_UnicodeLittle; + } + } + } +} + +class gnu::gcj::convert::Input_UnicodeLittle : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_UnicodeLittle(); + virtual ::java::lang::String * getName(); + virtual jint read(JArray< jchar > *, jint, jint); +public: // actually package-private + jchar __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) partial; + jint partial_count; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_UnicodeLittle__ diff --git a/libjava/gnu/gcj/convert/Input_iconv.h b/libjava/gnu/gcj/convert/Input_iconv.h new file mode 100644 index 00000000000..7fd8893f133 --- /dev/null +++ b/libjava/gnu/gcj/convert/Input_iconv.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Input_iconv__ +#define __gnu_gcj_convert_Input_iconv__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + namespace convert + { + class Input_iconv; + } + } + } +} + +class gnu::gcj::convert::Input_iconv : public ::gnu::gcj::convert::BytesToUnicode +{ + +public: + Input_iconv(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void finalize(); +private: + void init(::java::lang::String *); +public: + virtual jint read(JArray< jchar > *, jint, jint); + virtual void done(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::gcj::convert::BytesToUnicode)))) encoding; + ::gnu::gcj::RawData * handle; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Input_iconv__ diff --git a/libjava/gnu/gcj/convert/Output_8859_1.h b/libjava/gnu/gcj/convert/Output_8859_1.h new file mode 100644 index 00000000000..8dcd92d4548 --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_8859_1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_8859_1__ +#define __gnu_gcj_convert_Output_8859_1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_8859_1; + } + } + } +} + +class gnu::gcj::convert::Output_8859_1 : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_8859_1(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + virtual jint write(::java::lang::String *, jint, jint, JArray< jchar > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_8859_1__ diff --git a/libjava/gnu/gcj/convert/Output_ASCII.h b/libjava/gnu/gcj/convert/Output_ASCII.h new file mode 100644 index 00000000000..3dc551cbcb6 --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_ASCII.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_ASCII__ +#define __gnu_gcj_convert_Output_ASCII__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_ASCII; + } + } + } +} + +class gnu::gcj::convert::Output_ASCII : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_ASCII(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + virtual jint write(::java::lang::String *, jint, jint, JArray< jchar > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_ASCII__ diff --git a/libjava/gnu/gcj/convert/Output_EUCJIS.h b/libjava/gnu/gcj/convert/Output_EUCJIS.h new file mode 100644 index 00000000000..f1d925857fe --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_EUCJIS.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_EUCJIS__ +#define __gnu_gcj_convert_Output_EUCJIS__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_EUCJIS; + } + } + } +} + +class gnu::gcj::convert::Output_EUCJIS : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_EUCJIS(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + virtual jint write(::java::lang::String *, jint, jint, JArray< jchar > *); + virtual jboolean havePendingBytes(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::UnicodeToBytes)))) pending1; + jint pending2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_EUCJIS__ diff --git a/libjava/gnu/gcj/convert/Output_JavaSrc.h b/libjava/gnu/gcj/convert/Output_JavaSrc.h new file mode 100644 index 00000000000..8cea3739017 --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_JavaSrc.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_JavaSrc__ +#define __gnu_gcj_convert_Output_JavaSrc__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_JavaSrc; + } + } + } +} + +class gnu::gcj::convert::Output_JavaSrc : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_JavaSrc(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::UnicodeToBytes)))) todo; + jint pending_char; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_JavaSrc__ diff --git a/libjava/gnu/gcj/convert/Output_SJIS.h b/libjava/gnu/gcj/convert/Output_SJIS.h new file mode 100644 index 00000000000..5175d201631 --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_SJIS.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_SJIS__ +#define __gnu_gcj_convert_Output_SJIS__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_SJIS; + } + } + } +} + +class gnu::gcj::convert::Output_SJIS : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_SJIS(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + virtual jint write(::java::lang::String *, jint, jint, JArray< jchar > *); + virtual jboolean havePendingBytes(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::gcj::convert::UnicodeToBytes)))) pending; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_SJIS__ diff --git a/libjava/gnu/gcj/convert/Output_UTF8.h b/libjava/gnu/gcj/convert/Output_UTF8.h new file mode 100644 index 00000000000..167b62dba7e --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_UTF8.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_UTF8__ +#define __gnu_gcj_convert_Output_UTF8__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_UTF8; + } + } + } +} + +class gnu::gcj::convert::Output_UTF8 : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_UTF8(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + virtual jboolean havePendingBytes(); + jboolean __attribute__((aligned(__alignof__( ::gnu::gcj::convert::UnicodeToBytes)))) standardUTF8; +public: // actually package-private + jchar hi_part; + jint value; + jint bytes_todo; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_UTF8__ diff --git a/libjava/gnu/gcj/convert/Output_UnicodeLittleUnmarked.h b/libjava/gnu/gcj/convert/Output_UnicodeLittleUnmarked.h new file mode 100644 index 00000000000..747846bd0a9 --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_UnicodeLittleUnmarked.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_UnicodeLittleUnmarked__ +#define __gnu_gcj_convert_Output_UnicodeLittleUnmarked__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class Output_UnicodeLittleUnmarked; + } + } + } +} + +class gnu::gcj::convert::Output_UnicodeLittleUnmarked : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_UnicodeLittleUnmarked(); + virtual ::java::lang::String * getName(); + virtual jint write(JArray< jchar > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_UnicodeLittleUnmarked__ diff --git a/libjava/gnu/gcj/convert/Output_iconv.h b/libjava/gnu/gcj/convert/Output_iconv.h new file mode 100644 index 00000000000..a06f96b0d9f --- /dev/null +++ b/libjava/gnu/gcj/convert/Output_iconv.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_Output_iconv__ +#define __gnu_gcj_convert_Output_iconv__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + namespace convert + { + class Output_iconv; + } + } + } +} + +class gnu::gcj::convert::Output_iconv : public ::gnu::gcj::convert::UnicodeToBytes +{ + +public: + Output_iconv(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void finalize(); +private: + void init(::java::lang::String *); +public: + virtual jint write(JArray< jchar > *, jint, jint); + virtual void done(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::gcj::convert::UnicodeToBytes)))) encoding; + ::gnu::gcj::RawData * handle; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_Output_iconv__ diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.h b/libjava/gnu/gcj/convert/UnicodeToBytes.h new file mode 100644 index 00000000000..ea3a38ca507 --- /dev/null +++ b/libjava/gnu/gcj/convert/UnicodeToBytes.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_convert_UnicodeToBytes__ +#define __gnu_gcj_convert_UnicodeToBytes__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class UnicodeToBytes; + } + } + } +} + +class gnu::gcj::convert::UnicodeToBytes : public ::gnu::gcj::convert::IOConverter +{ + +public: + UnicodeToBytes(); + virtual ::java::lang::String * getName() = 0; + static ::gnu::gcj::convert::UnicodeToBytes * getDefaultEncoder(); + static ::gnu::gcj::convert::UnicodeToBytes * getEncoder(::java::lang::String *); + virtual void setOutput(JArray< jbyte > *, jint); + virtual jint write(JArray< jchar > *, jint, jint) = 0; + virtual jint write(::java::lang::String *, jint, jint, JArray< jchar > *); + virtual jboolean havePendingBytes(); + virtual void setFinished(); + virtual void done(); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::gcj::convert::IOConverter)))) buf; + jint count; +public: // actually package-private + static ::java::lang::String * defaultEncoding; +private: + static const jint CACHE_SIZE = 4; + static JArray< ::gnu::gcj::convert::UnicodeToBytes * > * encoderCache; + static jint currCachePos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_convert_UnicodeToBytes__ diff --git a/libjava/gnu/gcj/convert/Unicode_to_JIS.cc b/libjava/gnu/gcj/convert/Unicode_to_JIS.cc index ad99bb726af..10b3b7003db 100644 --- a/libjava/gnu/gcj/convert/Unicode_to_JIS.cc +++ b/libjava/gnu/gcj/convert/Unicode_to_JIS.cc @@ -1,5 +1,4 @@ /* This file is automatically generated. */ -#pragma GCC java_exceptions unsigned short Unicode_to_JIS[] = { /* branch: 0x0XXX */ 16, /* branch: 0x1XXX */ 0, diff --git a/libjava/gnu/gcj/convert/natIconv.cc b/libjava/gnu/gcj/convert/natIconv.cc index 6c64e2b4bf9..ad75a505ff8 100644 --- a/libjava/gnu/gcj/convert/natIconv.cc +++ b/libjava/gnu/gcj/convert/natIconv.cc @@ -1,6 +1,6 @@ // natIconv.cc -- Java side of iconv() reader. -/* Copyright (C) 2000, 2001, 2003 Free Software Foundation +/* Copyright (C) 2000, 2001, 2003, 2006 Free Software Foundation This file is part of libgcj. @@ -47,13 +47,13 @@ gnu::gcj::convert::Input_iconv::init (jstring encoding) iconv_t h = iconv_open ("UCS-2", buffer); if (h == (iconv_t) -1) - throw new java::io::UnsupportedEncodingException (encoding); + throw new ::java::io::UnsupportedEncodingException (encoding); JvAssert (h != NULL); handle = reinterpret_cast (h); #else /* HAVE_ICONV */ // If no iconv, just throw an exception. - throw new java::io::UnsupportedEncodingException (encoding); + throw new ::java::io::UnsupportedEncodingException (encoding); #endif /* HAVE_ICONV */ } @@ -96,7 +96,7 @@ gnu::gcj::convert::Input_iconv::read (jcharArray outbuffer, // some conversion might have taken place. So we fall through // to the normal case. if (errno != EINVAL && errno != E2BIG) - throw new java::io::CharConversionException (); + throw new ::java::io::CharConversionException (); } if (iconv_byte_swap) @@ -147,13 +147,13 @@ gnu::gcj::convert::Output_iconv::init (jstring encoding) iconv_t h = iconv_open (buffer, "UCS-2"); if (h == (iconv_t) -1) - throw new java::io::UnsupportedEncodingException (encoding); + throw new ::java::io::UnsupportedEncodingException (encoding); JvAssert (h != NULL); handle = reinterpret_cast (h); #else /* HAVE_ICONV */ // If no iconv, just throw an exception. - throw new java::io::UnsupportedEncodingException (encoding); + throw new ::java::io::UnsupportedEncodingException (encoding); #endif /* HAVE_ICONV */ } diff --git a/libjava/gnu/gcj/io/DefaultMimeTypes.h b/libjava/gnu/gcj/io/DefaultMimeTypes.h new file mode 100644 index 00000000000..5c09838b685 --- /dev/null +++ b/libjava/gnu/gcj/io/DefaultMimeTypes.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_io_DefaultMimeTypes__ +#define __gnu_gcj_io_DefaultMimeTypes__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace io + { + class DefaultMimeTypes; + } + } + } +} + +class gnu::gcj::io::DefaultMimeTypes : public ::java::lang::Object +{ + +public: + DefaultMimeTypes(); + static JArray< ::java::lang::String * > * types; + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_io_DefaultMimeTypes__ diff --git a/libjava/gnu/gcj/io/MimeTypes.h b/libjava/gnu/gcj/io/MimeTypes.h new file mode 100644 index 00000000000..8ff48701261 --- /dev/null +++ b/libjava/gnu/gcj/io/MimeTypes.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_io_MimeTypes__ +#define __gnu_gcj_io_MimeTypes__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace io + { + class MimeTypes; + } + } + } +} + +class gnu::gcj::io::MimeTypes : public ::java::lang::Object +{ + +public: + MimeTypes(); + static void fillFromFile(::java::util::Hashtable *, ::java::lang::String *); + static ::java::lang::String * getMimeTypeFromExtension(::java::lang::String *); +private: + static ::java::util::Hashtable * mime_types; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_io_MimeTypes__ diff --git a/libjava/gnu/gcj/io/SimpleSHSStream.h b/libjava/gnu/gcj/io/SimpleSHSStream.h new file mode 100644 index 00000000000..3cabc4aa046 --- /dev/null +++ b/libjava/gnu/gcj/io/SimpleSHSStream.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_io_SimpleSHSStream__ +#define __gnu_gcj_io_SimpleSHSStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace io + { + class SimpleSHSStream; + } + } + } +} + +class gnu::gcj::io::SimpleSHSStream : public ::java::io::DataOutputStream +{ + +public: // actually package-private + static JArray< jbyte > * shsFinal(JArray< jbyte > *); + static void shsUpdate(JArray< jbyte > *, JArray< jbyte > *, jint); + static JArray< jbyte > * shsInit(); +private: + void update(jbyte); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + SimpleSHSStream(::java::io::OutputStream *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::io::DataOutputStream)))) counter; + const jint SHS_BLOCKSIZE; + const jint SHS_DIGESTSIZE; + JArray< jbyte > * buf; + JArray< jbyte > * shs_info; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_io_SimpleSHSStream__ diff --git a/libjava/gnu/gcj/jvmti/Breakpoint.h b/libjava/gnu/gcj/jvmti/Breakpoint.h new file mode 100644 index 00000000000..ebdd8555366 --- /dev/null +++ b/libjava/gnu/gcj/jvmti/Breakpoint.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_jvmti_Breakpoint__ +#define __gnu_gcj_jvmti_Breakpoint__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawDataManaged; + namespace jvmti + { + class Breakpoint; + } + } + } +} + +class gnu::gcj::jvmti::Breakpoint : public ::java::lang::Object +{ + +public: + Breakpoint(jlong, jlong); +private: + void initialize_native(); +public: + virtual void install(); + virtual void remove(); + virtual ::gnu::gcj::RawDataManaged * getInsn(); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) method; + jlong location; + ::gnu::gcj::RawDataManaged * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_jvmti_Breakpoint__ diff --git a/libjava/gnu/gcj/jvmti/BreakpointManager.h b/libjava/gnu/gcj/jvmti/BreakpointManager.h new file mode 100644 index 00000000000..d53be50d24b --- /dev/null +++ b/libjava/gnu/gcj/jvmti/BreakpointManager.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_jvmti_BreakpointManager__ +#define __gnu_gcj_jvmti_BreakpointManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace jvmti + { + class Breakpoint; + class BreakpointManager; + } + } + } +} + +class gnu::gcj::jvmti::BreakpointManager : public ::java::lang::Object +{ + + BreakpointManager(); +public: + static ::gnu::gcj::jvmti::Breakpoint * newBreakpoint(jlong, jlong); + static void deleteBreakpoint(jlong, jlong); + static ::gnu::gcj::jvmti::Breakpoint * getBreakpoint(jlong, jlong); +private: + static ::gnu::gcj::jvmti::BreakpointManager * _instance; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) _breakpoints; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_jvmti_BreakpointManager__ diff --git a/libjava/gnu/gcj/jvmti/Location.h b/libjava/gnu/gcj/jvmti/Location.h new file mode 100644 index 00000000000..7a00a2d2662 --- /dev/null +++ b/libjava/gnu/gcj/jvmti/Location.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_jvmti_Location__ +#define __gnu_gcj_jvmti_Location__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace jvmti + { + class Location; + } + } + } +} + +class gnu::gcj::jvmti::Location : public ::java::lang::Object +{ + +public: + Location(jlong, jlong); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) method; + jlong location; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_jvmti_Location__ diff --git a/libjava/gnu/gcj/natCore.cc b/libjava/gnu/gcj/natCore.cc index 714e539085a..2d650f7101d 100644 --- a/libjava/gnu/gcj/natCore.cc +++ b/libjava/gnu/gcj/natCore.cc @@ -1,6 +1,6 @@ // natCore -- C++ side of Core -/* Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation +/* Copyright (C) 2001, 2002, 2003, 2005, 2006 Free Software Foundation This file is part of libgcj. @@ -115,6 +115,6 @@ gnu::gcj::Core::create (jstring name) { gnu::gcj::Core *core = _Jv_create_core (root, name); if (core == NULL) - throw new java::io::IOException (JvNewStringLatin1 ("can't open core")); + throw new ::java::io::IOException (JvNewStringLatin1 ("can't open core")); return core; } diff --git a/libjava/gnu/gcj/runtime/BootClassLoader.h b/libjava/gnu/gcj/runtime/BootClassLoader.h new file mode 100644 index 00000000000..dbfd1567162 --- /dev/null +++ b/libjava/gnu/gcj/runtime/BootClassLoader.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_BootClassLoader__ +#define __gnu_gcj_runtime_BootClassLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class BootClassLoader; + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::gcj::runtime::BootClassLoader : public ::gnu::gcj::runtime::HelperClassLoader +{ + +public: // actually package-private + BootClassLoader(::java::lang::String *); +public: + ::java::lang::Class * bootLoadClass(::java::lang::String *); + ::java::net::URL * bootGetResource(::java::lang::String *); + ::java::util::Enumeration * bootGetResources(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_BootClassLoader__ diff --git a/libjava/gnu/gcj/runtime/ExtensionClassLoader.h b/libjava/gnu/gcj/runtime/ExtensionClassLoader.h new file mode 100644 index 00000000000..ee17c2d845c --- /dev/null +++ b/libjava/gnu/gcj/runtime/ExtensionClassLoader.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_ExtensionClassLoader__ +#define __gnu_gcj_runtime_ExtensionClassLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class ExtensionClassLoader; + class SystemClassLoader; + } + } + } +} + +class gnu::gcj::runtime::ExtensionClassLoader : public ::gnu::gcj::runtime::HelperClassLoader +{ + + ExtensionClassLoader(); + void init(); +public: // actually package-private + static void initialize(); + static ::gnu::gcj::runtime::ExtensionClassLoader * instance; + static ::gnu::gcj::runtime::SystemClassLoader * system_instance; +public: + static ::java::lang::Class class$; + + friend class ::java::lang::ClassLoader; +}; + +#endif // __gnu_gcj_runtime_ExtensionClassLoader__ diff --git a/libjava/gnu/gcj/runtime/FinalizerThread.h b/libjava/gnu/gcj/runtime/FinalizerThread.h new file mode 100644 index 00000000000..572f89d598d --- /dev/null +++ b/libjava/gnu/gcj/runtime/FinalizerThread.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_FinalizerThread__ +#define __gnu_gcj_runtime_FinalizerThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class FinalizerThread; + } + } + } +} + +class gnu::gcj::runtime::FinalizerThread : public ::java::lang::Thread +{ + +public: + FinalizerThread(); +private: + void init(); +public: // actually package-private + static void finalizerReady(); +public: + void run(); +private: + static jboolean finalizer_ready; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_FinalizerThread__ diff --git a/libjava/gnu/gcj/runtime/HelperClassLoader$1.h b/libjava/gnu/gcj/runtime/HelperClassLoader$1.h new file mode 100644 index 00000000000..8b53b5afc4d --- /dev/null +++ b/libjava/gnu/gcj/runtime/HelperClassLoader$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_HelperClassLoader$1__ +#define __gnu_gcj_runtime_HelperClassLoader$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class HelperClassLoader; + class HelperClassLoader$1; + } + } + } +} + +class gnu::gcj::runtime::HelperClassLoader$1 : public ::java::lang::Object +{ + +public: // actually package-private + HelperClassLoader$1(::gnu::gcj::runtime::HelperClassLoader *); +public: + jboolean accept(::java::io::File *, ::java::lang::String *); +public: // actually package-private + ::gnu::gcj::runtime::HelperClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_HelperClassLoader$1__ diff --git a/libjava/gnu/gcj/runtime/HelperClassLoader.h b/libjava/gnu/gcj/runtime/HelperClassLoader.h new file mode 100644 index 00000000000..30311d3f861 --- /dev/null +++ b/libjava/gnu/gcj/runtime/HelperClassLoader.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_HelperClassLoader__ +#define __gnu_gcj_runtime_HelperClassLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class HelperClassLoader; + } + } + } +} + +class gnu::gcj::runtime::HelperClassLoader : public ::java::net::URLClassLoader +{ + +public: // actually package-private + HelperClassLoader(); + HelperClassLoader(::java::lang::ClassLoader *); + virtual void addDirectoriesFromProperty(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_HelperClassLoader__ diff --git a/libjava/gnu/gcj/runtime/JNIWeakRef.h b/libjava/gnu/gcj/runtime/JNIWeakRef.h new file mode 100644 index 00000000000..e23a59f6dbd --- /dev/null +++ b/libjava/gnu/gcj/runtime/JNIWeakRef.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_JNIWeakRef__ +#define __gnu_gcj_runtime_JNIWeakRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class JNIWeakRef; + } + } + } +} + +class gnu::gcj::runtime::JNIWeakRef : public ::java::lang::ref::WeakReference +{ + +public: + JNIWeakRef(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_JNIWeakRef__ diff --git a/libjava/gnu/gcj/runtime/NameFinder$Addr2Line.h b/libjava/gnu/gcj/runtime/NameFinder$Addr2Line.h new file mode 100644 index 00000000000..7d5b5a34264 --- /dev/null +++ b/libjava/gnu/gcj/runtime/NameFinder$Addr2Line.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_NameFinder$Addr2Line__ +#define __gnu_gcj_runtime_NameFinder$Addr2Line__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class NameFinder; + class NameFinder$Addr2Line; + } + } + } +} + +class gnu::gcj::runtime::NameFinder$Addr2Line : public ::java::lang::Object +{ + +public: // actually package-private + NameFinder$Addr2Line(::gnu::gcj::runtime::NameFinder *, ::java::lang::String *); + virtual void close(); + ::java::lang::Process * __attribute__((aligned(__alignof__( ::java::lang::Object)))) proc; + ::java::io::BufferedWriter * out; + ::java::io::BufferedReader * in; + ::gnu::gcj::runtime::NameFinder * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_NameFinder$Addr2Line__ diff --git a/libjava/gnu/gcj/runtime/NameFinder.h b/libjava/gnu/gcj/runtime/NameFinder.h new file mode 100644 index 00000000000..38fd98babe4 --- /dev/null +++ b/libjava/gnu/gcj/runtime/NameFinder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_NameFinder__ +#define __gnu_gcj_runtime_NameFinder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class NameFinder; + } + } + } +} + +class gnu::gcj::runtime::NameFinder : public ::java::lang::Object +{ + +public: // actually package-private + static jboolean showRaw(); + static jboolean removeUnknown(); +public: + NameFinder(); + virtual ::java::lang::String * getSourceFile(); + virtual jint getLineNum(); + virtual void lookup(::java::lang::String *, jlong); + static ::java::lang::String * demangleInterpreterMethod(::java::lang::String *, ::java::lang::String *); + virtual void close(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) binaryFile; + ::java::lang::String * sourceFile; + jint lineNum; + ::java::util::HashMap * procs; + static ::java::util::Set * blacklist; + static jboolean use_addr2line; + static jboolean show_raw; + static jboolean remove_unknown; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_NameFinder__ diff --git a/libjava/gnu/gcj/runtime/PersistentByteMap$AccessMode.h b/libjava/gnu/gcj/runtime/PersistentByteMap$AccessMode.h new file mode 100644 index 00000000000..2cd93fad80b --- /dev/null +++ b/libjava/gnu/gcj/runtime/PersistentByteMap$AccessMode.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_PersistentByteMap$AccessMode__ +#define __gnu_gcj_runtime_PersistentByteMap$AccessMode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class PersistentByteMap$AccessMode; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class FileChannel$MapMode; + } + } + } +} + +class gnu::gcj::runtime::PersistentByteMap$AccessMode : public ::java::lang::Object +{ + + PersistentByteMap$AccessMode(::java::nio::channels::FileChannel$MapMode *); +public: // actually package-private + static ::java::nio::channels::FileChannel$MapMode * access$0(::gnu::gcj::runtime::PersistentByteMap$AccessMode *); +private: + ::java::nio::channels::FileChannel$MapMode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mapMode; +public: + static ::gnu::gcj::runtime::PersistentByteMap$AccessMode * READ_ONLY; + static ::gnu::gcj::runtime::PersistentByteMap$AccessMode * READ_WRITE; + static ::gnu::gcj::runtime::PersistentByteMap$AccessMode * PRIVATE; + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_PersistentByteMap$AccessMode__ diff --git a/libjava/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.h b/libjava/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.h new file mode 100644 index 00000000000..39cad37d302 --- /dev/null +++ b/libjava/gnu/gcj/runtime/PersistentByteMap$ByteWrapper.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_PersistentByteMap$ByteWrapper__ +#define __gnu_gcj_runtime_PersistentByteMap$ByteWrapper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class PersistentByteMap; + class PersistentByteMap$ByteWrapper; + } + } + } +} + +class gnu::gcj::runtime::PersistentByteMap$ByteWrapper : public ::java::lang::Object +{ + +public: + PersistentByteMap$ByteWrapper(::gnu::gcj::runtime::PersistentByteMap *, JArray< jbyte > *); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bytes; + jint hash; + ::gnu::gcj::runtime::PersistentByteMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_PersistentByteMap$ByteWrapper__ diff --git a/libjava/gnu/gcj/runtime/PersistentByteMap$HashIterator.h b/libjava/gnu/gcj/runtime/PersistentByteMap$HashIterator.h new file mode 100644 index 00000000000..65df6ceea3b --- /dev/null +++ b/libjava/gnu/gcj/runtime/PersistentByteMap$HashIterator.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_PersistentByteMap$HashIterator__ +#define __gnu_gcj_runtime_PersistentByteMap$HashIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class PersistentByteMap; + class PersistentByteMap$HashIterator; + } + } + } +} + +class gnu::gcj::runtime::PersistentByteMap$HashIterator : public ::java::lang::Object +{ + +public: // actually package-private + PersistentByteMap$HashIterator(::gnu::gcj::runtime::PersistentByteMap *, jint); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) idx; + jint count; + jint type; +public: // actually package-private + ::gnu::gcj::runtime::PersistentByteMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_PersistentByteMap$HashIterator__ diff --git a/libjava/gnu/gcj/runtime/PersistentByteMap$MapEntry.h b/libjava/gnu/gcj/runtime/PersistentByteMap$MapEntry.h new file mode 100644 index 00000000000..7cb8b63f0f9 --- /dev/null +++ b/libjava/gnu/gcj/runtime/PersistentByteMap$MapEntry.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_PersistentByteMap$MapEntry__ +#define __gnu_gcj_runtime_PersistentByteMap$MapEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class PersistentByteMap$MapEntry; + } + } + } +} + +class gnu::gcj::runtime::PersistentByteMap$MapEntry : public ::java::lang::Object +{ + +public: + PersistentByteMap$MapEntry(jint, ::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * getKey(); + ::java::lang::Object * getValue(); + jint getBucket(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::Object * value; + jint bucket; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_PersistentByteMap$MapEntry__ diff --git a/libjava/gnu/gcj/runtime/PersistentByteMap.h b/libjava/gnu/gcj/runtime/PersistentByteMap.h new file mode 100644 index 00000000000..1bac1d2c086 --- /dev/null +++ b/libjava/gnu/gcj/runtime/PersistentByteMap.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_PersistentByteMap__ +#define __gnu_gcj_runtime_PersistentByteMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class PersistentByteMap; + class PersistentByteMap$AccessMode; + } + } + } + namespace java + { + namespace nio + { + class MappedByteBuffer; + namespace channels + { + class FileChannel; + } + } + } +} + +class gnu::gcj::runtime::PersistentByteMap : public ::java::lang::Object +{ + + PersistentByteMap(::java::io::File *); +public: + PersistentByteMap(::java::lang::String *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *); + PersistentByteMap(::java::io::File *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *); +private: + void init(::gnu::gcj::runtime::PersistentByteMap *, ::java::io::File *, jint, jint); +public: + static ::gnu::gcj::runtime::PersistentByteMap * emptyPersistentByteMap(::java::io::File *, jint, jint); +private: + jint getWord(jint); + void putWord(jint, jint); +public: + virtual ::java::util::Set * entrySet(); +private: + jint getBucket(jint); + jint getKeyPos(jint); + jint getValuePos(jint); + void putKeyPos(jint, jint); + void putValuePos(jint, jint); + JArray< jbyte > * getBytes(jint); + jint hash(JArray< jbyte > *); +public: + virtual JArray< jbyte > * get(JArray< jbyte > *); + virtual void put(JArray< jbyte > *, JArray< jbyte > *); +private: + jint addBytes(JArray< jbyte > *); +public: + virtual ::java::util::Iterator * iterator(jint); + virtual jint size(); + virtual jint stringTableSize(); + virtual jint capacity(); + virtual void force(); + virtual ::java::io::File * getFile(); + virtual void close(); + virtual void putAll(::gnu::gcj::runtime::PersistentByteMap *); +public: // actually package-private + static jint access$0(::gnu::gcj::runtime::PersistentByteMap *); + static jint access$1(::gnu::gcj::runtime::PersistentByteMap *); + static jint access$2(::gnu::gcj::runtime::PersistentByteMap *, jint); + static jint access$3(::gnu::gcj::runtime::PersistentByteMap *, jint); + static JArray< jbyte > * access$4(::gnu::gcj::runtime::PersistentByteMap *, jint); +private: + ::java::nio::MappedByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buf; + static const jint MAGIC = 0; + static const jint VERSION = 4; + static const jint CAPACITY = 8; + static const jint TABLE_BASE = 12; + static const jint STRING_BASE = 16; + static const jint STRING_SIZE = 20; + static const jint FILE_SIZE = 24; + static const jint ELEMENTS = 28; + static const jint INT_SIZE = 4; + static const jint TABLE_ENTRY_SIZE = 8; + jint capacity__; + jint table_base; + jint string_base; + jint string_size; + jint file_size; + jint elements; + jlong length; + ::java::io::File * name; + static const jint UNUSED_ENTRY = -1; +public: + static const jint KEYS = 0; + static const jint VALUES = 1; + static const jint ENTRIES = 2; +private: + ::java::util::HashMap * values; +public: // actually package-private + ::java::nio::channels::FileChannel * fc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_PersistentByteMap__ diff --git a/libjava/gnu/gcj/runtime/SharedLibHelper.h b/libjava/gnu/gcj/runtime/SharedLibHelper.h new file mode 100644 index 00000000000..b2900b7e0df --- /dev/null +++ b/libjava/gnu/gcj/runtime/SharedLibHelper.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_SharedLibHelper__ +#define __gnu_gcj_runtime_SharedLibHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class Core; + class RawData; + namespace runtime + { + class SharedLibHelper; + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class CodeSource; + class ProtectionDomain; + } + } +} + +class gnu::gcj::runtime::SharedLibHelper : public ::java::lang::Object +{ + +public: // actually package-private + SharedLibHelper(::java::lang::String *, ::java::lang::ClassLoader *, ::java::security::CodeSource *, ::java::security::ProtectionDomain *, jint); +public: + static ::gnu::gcj::runtime::SharedLibHelper * findHelper(::java::lang::String *); +public: // actually package-private + static void copyFile(::java::io::File *, ::java::io::File *); +public: + static ::gnu::gcj::runtime::SharedLibHelper * findHelper(::java::lang::ClassLoader *, ::java::lang::String *, ::java::security::CodeSource *, jboolean); + static ::gnu::gcj::runtime::SharedLibHelper * findHelper(::java::lang::ClassLoader *, ::java::lang::String *, ::java::security::CodeSource *, ::java::security::ProtectionDomain *, jboolean); + virtual void finalize(); + virtual ::java::lang::Class * findClass(::java::lang::String *); + virtual ::java::net::URL * findResource(::java::lang::String *); + virtual ::gnu::gcj::Core * findCore(::java::lang::String *); +public: // actually package-private + virtual void ensureInit(); + virtual jboolean hasResource(::java::lang::String *); + virtual void init(); + virtual void ensureSupersLinked(::java::lang::Class *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual void registerClass(::java::lang::String *, ::java::lang::Class *); + ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handler; + ::gnu::gcj::RawData * core_chain; + ::java::util::HashMap * classMap; + ::java::lang::ClassLoader * loader; + ::java::lang::String * baseName; + ::java::security::ProtectionDomain * domain; + jint flags; + jboolean initialized; + static ::java::util::HashMap * map; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_SharedLibHelper__ diff --git a/libjava/gnu/gcj/runtime/SharedLibLoader.h b/libjava/gnu/gcj/runtime/SharedLibLoader.h new file mode 100644 index 00000000000..8a439d3d3d7 --- /dev/null +++ b/libjava/gnu/gcj/runtime/SharedLibLoader.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_SharedLibLoader__ +#define __gnu_gcj_runtime_SharedLibLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class SharedLibHelper; + class SharedLibLoader; + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::gcj::runtime::SharedLibLoader : public ::java::lang::ClassLoader +{ + +public: + SharedLibLoader(::java::lang::String *, ::java::lang::ClassLoader *, jint); + SharedLibLoader(::java::lang::String *); + virtual ::java::lang::Class * findClass(::java::lang::String *); + virtual ::java::net::URL * findResource(::java::lang::String *); + virtual ::java::util::Enumeration * findResources(::java::lang::String *); +public: // actually package-private + ::gnu::gcj::runtime::SharedLibHelper * __attribute__((aligned(__alignof__( ::java::lang::ClassLoader)))) helper; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_SharedLibLoader__ diff --git a/libjava/gnu/gcj/runtime/StringBuffer.h b/libjava/gnu/gcj/runtime/StringBuffer.h new file mode 100644 index 00000000000..27a3a7e30fb --- /dev/null +++ b/libjava/gnu/gcj/runtime/StringBuffer.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_StringBuffer__ +#define __gnu_gcj_runtime_StringBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class StringBuffer; + } + } + } +} + +class gnu::gcj::runtime::StringBuffer : public ::java::lang::Object +{ + +public: + ::gnu::gcj::runtime::StringBuffer * append(jboolean); + ::gnu::gcj::runtime::StringBuffer * append(jchar); + ::gnu::gcj::runtime::StringBuffer * append(jint); + ::gnu::gcj::runtime::StringBuffer * append(jlong); + ::gnu::gcj::runtime::StringBuffer * append(jfloat); + ::gnu::gcj::runtime::StringBuffer * append(jdouble); + ::gnu::gcj::runtime::StringBuffer * append(::java::lang::Object *); + ::gnu::gcj::runtime::StringBuffer * append(::java::lang::String *); +private: + void ensureCapacity_unsynchronized(jint); +public: + StringBuffer(); + StringBuffer(jint); + StringBuffer(::java::lang::String *); + ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + JArray< jchar > * value; +private: + static const jint DEFAULT_CAPACITY = 16; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_StringBuffer__ diff --git a/libjava/gnu/gcj/runtime/SystemClassLoader.h b/libjava/gnu/gcj/runtime/SystemClassLoader.h new file mode 100644 index 00000000000..58c709659e8 --- /dev/null +++ b/libjava/gnu/gcj/runtime/SystemClassLoader.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_runtime_SystemClassLoader__ +#define __gnu_gcj_runtime_SystemClassLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class SystemClassLoader; + } + } + } +} + +class gnu::gcj::runtime::SystemClassLoader : public ::java::net::URLClassLoader +{ + +public: // actually package-private + SystemClassLoader(::java::lang::ClassLoader *); + void addClass(::java::lang::Class *); +public: // actually protected + ::java::lang::Class * findClass(::java::lang::String *); +public: // actually package-private + void init(); +private: + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader)))) nativeClasses; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_runtime_SystemClassLoader__ diff --git a/libjava/gnu/gcj/runtime/natSharedLibLoader.cc b/libjava/gnu/gcj/runtime/natSharedLibLoader.cc index e20ccb9e336..0d8d0e8341b 100644 --- a/libjava/gnu/gcj/runtime/natSharedLibLoader.cc +++ b/libjava/gnu/gcj/runtime/natSharedLibLoader.cc @@ -87,9 +87,9 @@ gnu::gcj::runtime::SharedLibHelper::init(void) if (flags==0) flags = RTLD_GLOBAL | RTLD_LAZY; - JvSynchronize dummy1(&java::lang::Class::class$); + JvSynchronize dummy1(&::java::lang::Class::class$); SharedLibDummy dummy2; - curLoader = ((void*)loader == java::lang::VMClassLoader::bootLoader + curLoader = ((void*)loader == ::java::lang::VMClassLoader::bootLoader ? NULL : loader); curHelper = this; _Jv_RegisterClassHook = _Jv_sharedlib_register_hook; @@ -98,13 +98,13 @@ gnu::gcj::runtime::SharedLibHelper::init(void) if (h == NULL) { const char *msg = dlerror(); - throw new java::lang::UnknownError(JvNewStringLatin1(msg)); + throw new ::java::lang::UnknownError(JvNewStringLatin1(msg)); } handler = (gnu::gcj::RawData*) h; #else const char *msg = "shared library class loading is not supported on this platform"; - throw new java::lang::UnsupportedOperationException(JvNewStringLatin1(msg)); + throw new ::java::lang::UnsupportedOperationException(JvNewStringLatin1(msg)); #endif } diff --git a/libjava/gnu/gcj/tools/gcj_dbtool/Fileset.h b/libjava/gnu/gcj/tools/gcj_dbtool/Fileset.h new file mode 100644 index 00000000000..fb9b2d69eed --- /dev/null +++ b/libjava/gnu/gcj/tools/gcj_dbtool/Fileset.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_tools_gcj_dbtool_Fileset__ +#define __gnu_gcj_tools_gcj_dbtool_Fileset__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace tools + { + namespace gcj_dbtool + { + class Fileset; + } + } + } + } +} + +class gnu::gcj::tools::gcj_dbtool::Fileset : public ::java::lang::Object +{ + +public: // actually package-private + Fileset(JArray< ::java::lang::String * > *, jint, jint); + Fileset(::java::io::InputStream *, jchar); + virtual ::java::util::Iterator * iterator(); + virtual jint size(); + ::java::util::LinkedHashSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) files; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_tools_gcj_dbtool_Fileset__ diff --git a/libjava/gnu/gcj/tools/gcj_dbtool/Main.h b/libjava/gnu/gcj/tools/gcj_dbtool/Main.h new file mode 100644 index 00000000000..4052bb34c00 --- /dev/null +++ b/libjava/gnu/gcj/tools/gcj_dbtool/Main.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_tools_gcj_dbtool_Main__ +#define __gnu_gcj_tools_gcj_dbtool_Main__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class PersistentByteMap; + } + namespace tools + { + namespace gcj_dbtool + { + class Fileset; + class Main; + } + } + } + } +} + +class gnu::gcj::tools::gcj_dbtool::Main : public ::java::lang::Object +{ + +public: + Main(); + static void main(JArray< ::java::lang::String * > *); +private: + static ::java::lang::String * getDbPathTail(); + static void insist(jboolean); + static void usage(::java::io::PrintStream *); + static ::gnu::gcj::runtime::PersistentByteMap * addJar(::java::io::File *, ::gnu::gcj::runtime::PersistentByteMap *, ::java::io::File *); +public: // actually package-private + static ::gnu::gcj::runtime::PersistentByteMap * resizeMap(::gnu::gcj::runtime::PersistentByteMap *, jint, jboolean); + static ::java::lang::String * bytesToString(JArray< jbyte > *); +private: + static ::gnu::gcj::tools::gcj_dbtool::Fileset * getFiles(JArray< ::java::lang::String * > *, jint, jboolean, jchar); + static jboolean verbose; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_tools_gcj_dbtool_Main__ diff --git a/libjava/gnu/gcj/tools/gcj_dbtool/Tokenizer.h b/libjava/gnu/gcj/tools/gcj_dbtool/Tokenizer.h new file mode 100644 index 00000000000..7c5c411bb94 --- /dev/null +++ b/libjava/gnu/gcj/tools/gcj_dbtool/Tokenizer.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_tools_gcj_dbtool_Tokenizer__ +#define __gnu_gcj_tools_gcj_dbtool_Tokenizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace tools + { + namespace gcj_dbtool + { + class Tokenizer; + } + } + } + } +} + +class gnu::gcj::tools::gcj_dbtool::Tokenizer : public ::java::lang::Object +{ + +public: // actually package-private + Tokenizer(::java::io::Reader *, jchar); + virtual jboolean isSeparator(jint); + virtual ::java::lang::String * nextToken(); + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) r; + jchar separator; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_tools_gcj_dbtool_Tokenizer__ diff --git a/libjava/gnu/gcj/util/Debug.h b/libjava/gnu/gcj/util/Debug.h new file mode 100644 index 00000000000..3ad59ef6d60 --- /dev/null +++ b/libjava/gnu/gcj/util/Debug.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_gcj_util_Debug__ +#define __gnu_gcj_util_Debug__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace util + { + class Debug; + } + } + } +} + +class gnu::gcj::util::Debug : public ::java::lang::Object +{ + +public: // actually package-private + Debug(::java::io::PrintStream *, jint, jint, jboolean); + Debug(::java::io::PrintStream *); + Debug(jint, jboolean); + Debug(jint); + Debug(); +private: + void indent(); + static JArray< ::java::lang::reflect::Field * > * getDeclaredFields(::java::lang::Class *); + static ::java::lang::Object * getField(::java::lang::Object *, ::java::lang::reflect::Field *); + static jlong getAddr(::java::lang::Object *); + JArray< ::java::lang::reflect::Field * > * internalGetFields(::java::lang::Class *); + static ::java::lang::Class * getItsClass(::java::lang::Object *); + void print(::java::lang::Object *); + void print0(::java::lang::Object *, ::java::lang::Class *); +public: + virtual void write(::java::lang::Object *); +private: + ::java::io::PrintStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + jint maxdepth; + jint maxArrayLength; + jboolean printStaticFields; + jint depth; + ::java::util::IdentityHashMap * h; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_gcj_util_Debug__ diff --git a/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h new file mode 100644 index 00000000000..27344b59b04 --- /dev/null +++ b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList$VisibleComponentIterator.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_AWTUtilities$VisibleComponentList$VisibleComponentIterator__ +#define __gnu_java_awt_AWTUtilities$VisibleComponentList$VisibleComponentIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class AWTUtilities$VisibleComponentList; + class AWTUtilities$VisibleComponentList$VisibleComponentIterator; + } + } + } +} + +class gnu::java::awt::AWTUtilities$VisibleComponentList$VisibleComponentIterator : public ::java::lang::Object +{ + +public: // actually package-private + AWTUtilities$VisibleComponentList$VisibleComponentIterator(::gnu::java::awt::AWTUtilities$VisibleComponentList *, jint); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual jboolean hasPrevious(); + virtual ::java::lang::Object * previous(); + virtual jint nextIndex(); + virtual jint previousIndex(); + virtual void remove(); + virtual void set(::java::lang::Object *); + virtual void add(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + jint listIndex; + ::gnu::java::awt::AWTUtilities$VisibleComponentList * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_AWTUtilities$VisibleComponentList$VisibleComponentIterator__ diff --git a/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h new file mode 100644 index 00000000000..53a5eb34024 --- /dev/null +++ b/libjava/gnu/java/awt/AWTUtilities$VisibleComponentList.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_AWTUtilities$VisibleComponentList__ +#define __gnu_java_awt_AWTUtilities$VisibleComponentList__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class AWTUtilities$VisibleComponentList; + } + } + } + namespace java + { + namespace awt + { + class Component; + } + } +} + +class gnu::java::awt::AWTUtilities$VisibleComponentList : public ::java::util::AbstractSequentialList +{ + +public: // actually package-private + AWTUtilities$VisibleComponentList(JArray< ::java::awt::Component * > *); +public: + virtual ::java::util::ListIterator * listIterator(jint); + virtual jint size(); +public: // actually package-private + JArray< ::java::awt::Component * > * __attribute__((aligned(__alignof__( ::java::util::AbstractSequentialList)))) components; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_AWTUtilities$VisibleComponentList__ diff --git a/libjava/gnu/java/awt/AWTUtilities.h b/libjava/gnu/java/awt/AWTUtilities.h new file mode 100644 index 00000000000..36db9855831 --- /dev/null +++ b/libjava/gnu/java/awt/AWTUtilities.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_AWTUtilities__ +#define __gnu_java_awt_AWTUtilities__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class AWTUtilities; + } + } + } + namespace java + { + namespace awt + { + class Component; + class Container; + class Font; + class FontMetrics; + class Insets; + class Point; + class Rectangle; + class Window; + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::AWTUtilities : public ::java::lang::Object +{ + +public: + AWTUtilities(); + static ::java::util::List * getVisibleChildren(::java::awt::Container *); + static ::java::awt::Rectangle * calculateInsetArea(::java::awt::Rectangle *, ::java::awt::Insets *, ::java::awt::Rectangle *); + static ::java::awt::Rectangle * getLocalBounds(::java::awt::Component *); + static ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + static ::java::awt::Container * getAncestorNamed(::java::lang::String *, ::java::awt::Component *); + static ::java::awt::Container * getAncestorOfClass(::java::lang::Class *, ::java::awt::Component *); + static ::java::awt::Window * windowForComponent(::java::awt::Component *); + static ::java::awt::Component * getRoot(::java::awt::Component *); + static jboolean isDescendingFrom(::java::awt::Component *, ::java::awt::Component *); + static ::java::awt::Component * getDeepestComponentAt(::java::awt::Component *, jint, jint); + static void convertPointToScreen(::java::awt::Point *, ::java::awt::Component *); + static void convertPointFromScreen(::java::awt::Point *, ::java::awt::Component *); + static ::java::awt::Point * convertPoint(::java::awt::Component *, jint, jint, ::java::awt::Component *); + static ::java::awt::Rectangle * convertRectangle(::java::awt::Component *, ::java::awt::Rectangle *, ::java::awt::Component *); + static ::java::awt::event::MouseEvent * convertMouseEvent(::java::awt::Component *, ::java::awt::event::MouseEvent *, ::java::awt::Component *); + static void invokeLater(::java::lang::Runnable *); + static void invokeAndWait(::java::lang::Runnable *); + static jboolean isEventDispatchThread(); +public: // actually package-private + static ::java::util::WeakHashMap * visibleChildrenCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_AWTUtilities__ diff --git a/libjava/gnu/java/awt/BitMaskExtent.h b/libjava/gnu/java/awt/BitMaskExtent.h new file mode 100644 index 00000000000..5d3fd637277 --- /dev/null +++ b/libjava/gnu/java/awt/BitMaskExtent.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_BitMaskExtent__ +#define __gnu_java_awt_BitMaskExtent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class BitMaskExtent; + } + } + } +} + +class gnu::java::awt::BitMaskExtent : public ::java::lang::Object +{ + +public: + BitMaskExtent(); + void setMask(jlong); + jlong toMask(); + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) leastSignificantBit; + jbyte bitWidth; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_BitMaskExtent__ diff --git a/libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h b/libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h new file mode 100644 index 00000000000..d67d1409df4 --- /dev/null +++ b/libjava/gnu/java/awt/BitwiseXORComposite$GeneralContext.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_BitwiseXORComposite$GeneralContext__ +#define __gnu_java_awt_BitwiseXORComposite$GeneralContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class BitwiseXORComposite$GeneralContext; + } + } + } + namespace java + { + namespace awt + { + class Color; + namespace image + { + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::BitwiseXORComposite$GeneralContext : public ::java::lang::Object +{ + +public: + BitwiseXORComposite$GeneralContext(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::Color *); + virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + virtual void dispose(); +public: // actually package-private + ::java::awt::image::ColorModel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) srcColorModel; + ::java::awt::image::ColorModel * dstColorModel; + ::java::awt::Color * xorColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_BitwiseXORComposite$GeneralContext__ diff --git a/libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h b/libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h new file mode 100644 index 00000000000..25d67e74a19 --- /dev/null +++ b/libjava/gnu/java/awt/BitwiseXORComposite$IntContext.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_BitwiseXORComposite$IntContext__ +#define __gnu_java_awt_BitwiseXORComposite$IntContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class BitwiseXORComposite$IntContext; + } + } + } + namespace java + { + namespace awt + { + class Color; + class RenderingHints; + namespace image + { + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::BitwiseXORComposite$IntContext : public ::gnu::java::awt::BitwiseXORComposite$GeneralContext +{ + +public: + BitwiseXORComposite$IntContext(::java::awt::image::ColorModel *, ::java::awt::Color *); + virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + static jboolean isSupported(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::RenderingHints *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_BitwiseXORComposite$IntContext__ diff --git a/libjava/gnu/java/awt/BitwiseXORComposite.h b/libjava/gnu/java/awt/BitwiseXORComposite.h new file mode 100644 index 00000000000..2dd89d6e5a4 --- /dev/null +++ b/libjava/gnu/java/awt/BitwiseXORComposite.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_BitwiseXORComposite__ +#define __gnu_java_awt_BitwiseXORComposite__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class BitwiseXORComposite; + } + } + } + namespace java + { + namespace awt + { + class Color; + class CompositeContext; + class RenderingHints; + namespace image + { + class ColorModel; + } + } + } +} + +class gnu::java::awt::BitwiseXORComposite : public ::java::lang::Object +{ + +public: + BitwiseXORComposite(::java::awt::Color *); + virtual ::java::awt::CompositeContext * createContext(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::RenderingHints *); +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::java::lang::Object)))) xorColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_BitwiseXORComposite__ diff --git a/libjava/gnu/java/awt/Buffers.h b/libjava/gnu/java/awt/Buffers.h new file mode 100644 index 00000000000..9456b130e36 --- /dev/null +++ b/libjava/gnu/java/awt/Buffers.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_Buffers__ +#define __gnu_java_awt_Buffers__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class Buffers; + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class DataBuffer; + } + } + } +} + +class gnu::java::awt::Buffers : public ::java::lang::Object +{ + +public: + Buffers(); + static ::java::awt::image::DataBuffer * createBuffer(jint, ::java::lang::Object *, jint); + static ::java::awt::image::DataBuffer * createBuffer(jint, jint); + static ::java::awt::image::DataBuffer * createBuffer(jint, jint, jint); + static ::java::awt::image::DataBuffer * createBufferFromData(jint, ::java::lang::Object *, jint); + static ::java::lang::Object * getData(::java::awt::image::DataBuffer *); + static ::java::lang::Object * getData(::java::awt::image::DataBuffer *, jint, ::java::lang::Object *, jint, jint); + static jint smallestAppropriateTransferType(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_Buffers__ diff --git a/libjava/gnu/java/awt/ClasspathToolkit.h b/libjava/gnu/java/awt/ClasspathToolkit.h new file mode 100644 index 00000000000..f3acd663871 --- /dev/null +++ b/libjava/gnu/java/awt/ClasspathToolkit.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_ClasspathToolkit__ +#define __gnu_java_awt_ClasspathToolkit__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class ClasspathToolkit; + class EmbeddedWindow; + namespace peer + { + class ClasspathFontPeer; + class EmbeddedWindowPeer; + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class GraphicsDevice; + class GraphicsEnvironment; + namespace peer + { + class RobotPeer; + } + } + } + namespace javax + { + namespace imageio + { + namespace spi + { + class IIORegistry; + } + } + } +} + +class gnu::java::awt::ClasspathToolkit : public ::java::awt::Toolkit +{ + +public: + ClasspathToolkit(); + virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment() = 0; + virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *) = 0; + virtual ::java::awt::Font * getFont(::java::lang::String *, ::java::util::Map *); + virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *) = 0; + virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *) = 0; + virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *) = 0; + virtual void registerImageIOSpis(::javax::imageio::spi::IIORegistry *); + virtual jint getMouseNumberOfButtons(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_ClasspathToolkit__ diff --git a/libjava/gnu/java/awt/ComponentDataBlitOp.h b/libjava/gnu/java/awt/ComponentDataBlitOp.h new file mode 100644 index 00000000000..0db1e05798f --- /dev/null +++ b/libjava/gnu/java/awt/ComponentDataBlitOp.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_ComponentDataBlitOp__ +#define __gnu_java_awt_ComponentDataBlitOp__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class ComponentDataBlitOp; + } + } + } + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class Raster; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::ComponentDataBlitOp : public ::java::lang::Object +{ + +public: + ComponentDataBlitOp(); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + static ::gnu::java::awt::ComponentDataBlitOp * INSTANCE; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_ComponentDataBlitOp__ diff --git a/libjava/gnu/java/awt/ComponentReshapeEvent.h b/libjava/gnu/java/awt/ComponentReshapeEvent.h new file mode 100644 index 00000000000..bfd6f830927 --- /dev/null +++ b/libjava/gnu/java/awt/ComponentReshapeEvent.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_ComponentReshapeEvent__ +#define __gnu_java_awt_ComponentReshapeEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class ComponentReshapeEvent; + } + } + } + namespace java + { + namespace awt + { + class Component; + } + } +} + +class gnu::java::awt::ComponentReshapeEvent : public ::java::awt::AWTEvent +{ + +public: + ComponentReshapeEvent(::java::awt::Component *, jint, jint, jint, jint); + jint __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) x; + jint y; + jint width; + jint height; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_ComponentReshapeEvent__ diff --git a/libjava/gnu/java/awt/EmbeddedWindow.h b/libjava/gnu/java/awt/EmbeddedWindow.h new file mode 100644 index 00000000000..5a251bfd3e9 --- /dev/null +++ b/libjava/gnu/java/awt/EmbeddedWindow.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_EmbeddedWindow__ +#define __gnu_java_awt_EmbeddedWindow__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class EmbeddedWindow; + } + } + } +} + +class gnu::java::awt::EmbeddedWindow : public ::java::awt::Frame +{ + +public: + EmbeddedWindow(); + EmbeddedWindow(jlong); + virtual void addNotify(); + virtual void setHandle(jlong); + virtual jlong getHandle(); +private: + jlong __attribute__((aligned(__alignof__( ::java::awt::Frame)))) handle; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_EmbeddedWindow__ diff --git a/libjava/gnu/java/awt/EventModifier.h b/libjava/gnu/java/awt/EventModifier.h new file mode 100644 index 00000000000..b6c21935f46 --- /dev/null +++ b/libjava/gnu/java/awt/EventModifier.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_EventModifier__ +#define __gnu_java_awt_EventModifier__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class EventModifier; + } + } + } +} + +class gnu::java::awt::EventModifier : public ::java::lang::Object +{ + + EventModifier(); +public: + static jint extend(jint); + static jint revert(jint); + static const jint OLD_MASK = 63; + static const jint NEW_MASK = 16320; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_EventModifier__ diff --git a/libjava/gnu/java/awt/GradientPaintContext.h b/libjava/gnu/java/awt/GradientPaintContext.h new file mode 100644 index 00000000000..a3aacbb6a07 --- /dev/null +++ b/libjava/gnu/java/awt/GradientPaintContext.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_GradientPaintContext__ +#define __gnu_java_awt_GradientPaintContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class GradientPaintContext; + } + } + } + namespace java + { + namespace awt + { + class Color; + namespace image + { + class ColorModel; + class Raster; + } + } + } +} + +class gnu::java::awt::GradientPaintContext : public ::java::lang::Object +{ + +public: + GradientPaintContext(jfloat, jfloat, ::java::awt::Color *, jfloat, jfloat, ::java::awt::Color *, jboolean); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint); + virtual void dispose(); +private: + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) x1; + jfloat y1; + ::java::awt::Color * c1; + jfloat x2; + jfloat y2; + ::java::awt::Color * c2; + jboolean cyclic; + jdouble length; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_GradientPaintContext__ diff --git a/libjava/gnu/java/awt/LowPriorityEvent.h b/libjava/gnu/java/awt/LowPriorityEvent.h new file mode 100644 index 00000000000..edec5345dfd --- /dev/null +++ b/libjava/gnu/java/awt/LowPriorityEvent.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_LowPriorityEvent__ +#define __gnu_java_awt_LowPriorityEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class LowPriorityEvent; + } + } + } +} + +class gnu::java::awt::LowPriorityEvent : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_LowPriorityEvent__ diff --git a/libjava/gnu/java/awt/color/CieXyzConverter.h b/libjava/gnu/java/awt/color/CieXyzConverter.h new file mode 100644 index 00000000000..95419637f33 --- /dev/null +++ b/libjava/gnu/java/awt/color/CieXyzConverter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_CieXyzConverter__ +#define __gnu_java_awt_color_CieXyzConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class CieXyzConverter; + } + } + } + } +} + +class gnu::java::awt::color::CieXyzConverter : public ::java::lang::Object +{ + +public: + CieXyzConverter(); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_CieXyzConverter__ diff --git a/libjava/gnu/java/awt/color/ClutProfileConverter.h b/libjava/gnu/java/awt/color/ClutProfileConverter.h new file mode 100644 index 00000000000..0b8ba5c8e14 --- /dev/null +++ b/libjava/gnu/java/awt/color/ClutProfileConverter.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_ClutProfileConverter__ +#define __gnu_java_awt_color_ClutProfileConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ClutProfileConverter; + class ColorLookUpTable; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ICC_Profile; + } + } + } +} + +class gnu::java::awt::color::ClutProfileConverter : public ::java::lang::Object +{ + +public: + ClutProfileConverter(::java::awt::color::ICC_Profile *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); +private: + ::gnu::java::awt::color::ColorLookUpTable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) toPCS; + ::gnu::java::awt::color::ColorLookUpTable * fromPCS; + jint nChannels; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_ClutProfileConverter__ diff --git a/libjava/gnu/java/awt/color/ColorLookUpTable.h b/libjava/gnu/java/awt/color/ColorLookUpTable.h new file mode 100644 index 00000000000..b61fc84f505 --- /dev/null +++ b/libjava/gnu/java/awt/color/ColorLookUpTable.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_ColorLookUpTable__ +#define __gnu_java_awt_color_ColorLookUpTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ColorLookUpTable; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ICC_Profile; + } + } + } +} + +class gnu::java::awt::color::ColorLookUpTable : public ::java::lang::Object +{ + +public: + ColorLookUpTable(::java::awt::color::ICC_Profile *, jint); +private: + void readClut16(JArray< jbyte > *); + void readClut8(JArray< jbyte > *); +public: // actually package-private + virtual JArray< jfloat > * lookup(JArray< jfloat > *); +private: + JArray< jfloat > * LabtoXYZ(JArray< jfloat > *); + JArray< jfloat > * XYZtoLab(JArray< jfloat > *); + static JArray< jfloat > * D50; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nIn; + jint nOut; + jint nInTableEntries; + jint nOutTableEntries; + jint gridpoints; + jint nClut; + JArray< JArray< jdouble > * > * inTable; + JArray< JArray< jshort > * > * outTable; + JArray< jdouble > * clut; + JArray< JArray< jfloat > * > * inMatrix; + jboolean useMatrix; + JArray< jint > * multiplier; + JArray< jint > * offsets; + jboolean inputLab; + jboolean outputLab; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_ColorLookUpTable__ diff --git a/libjava/gnu/java/awt/color/ColorSpaceConverter.h b/libjava/gnu/java/awt/color/ColorSpaceConverter.h new file mode 100644 index 00000000000..cc3b19ff47f --- /dev/null +++ b/libjava/gnu/java/awt/color/ColorSpaceConverter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_ColorSpaceConverter__ +#define __gnu_java_awt_color_ColorSpaceConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ColorSpaceConverter; + } + } + } + } +} + +class gnu::java::awt::color::ColorSpaceConverter : public ::java::lang::Object +{ + +public: + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *) = 0; + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *) = 0; + virtual JArray< jfloat > * toRGB(JArray< jfloat > *) = 0; + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_color_ColorSpaceConverter__ diff --git a/libjava/gnu/java/awt/color/GrayProfileConverter.h b/libjava/gnu/java/awt/color/GrayProfileConverter.h new file mode 100644 index 00000000000..b79d2b743a1 --- /dev/null +++ b/libjava/gnu/java/awt/color/GrayProfileConverter.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_GrayProfileConverter__ +#define __gnu_java_awt_color_GrayProfileConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ColorLookUpTable; + class GrayProfileConverter; + class GrayScaleConverter; + class ToneReproductionCurve; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ICC_ProfileGray; + } + } + } +} + +class gnu::java::awt::color::GrayProfileConverter : public ::java::lang::Object +{ + +public: + GrayProfileConverter(::java::awt::color::ICC_ProfileGray *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); +private: + ::gnu::java::awt::color::GrayScaleConverter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) gc; + ::gnu::java::awt::color::ToneReproductionCurve * trc; + ::gnu::java::awt::color::ColorLookUpTable * toPCS; + ::gnu::java::awt::color::ColorLookUpTable * fromPCS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_GrayProfileConverter__ diff --git a/libjava/gnu/java/awt/color/GrayScaleConverter.h b/libjava/gnu/java/awt/color/GrayScaleConverter.h new file mode 100644 index 00000000000..bcd8d26066c --- /dev/null +++ b/libjava/gnu/java/awt/color/GrayScaleConverter.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_GrayScaleConverter__ +#define __gnu_java_awt_color_GrayScaleConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class GrayScaleConverter; + } + } + } + } +} + +class gnu::java::awt::color::GrayScaleConverter : public ::java::lang::Object +{ + +public: + GrayScaleConverter(); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); +public: // actually package-private + JArray< jdouble > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) coeff; +private: + static JArray< jfloat > * D50; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_GrayScaleConverter__ diff --git a/libjava/gnu/java/awt/color/LinearRGBConverter.h b/libjava/gnu/java/awt/color/LinearRGBConverter.h new file mode 100644 index 00000000000..bff63b79115 --- /dev/null +++ b/libjava/gnu/java/awt/color/LinearRGBConverter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_LinearRGBConverter__ +#define __gnu_java_awt_color_LinearRGBConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class LinearRGBConverter; + } + } + } + } +} + +class gnu::java::awt::color::LinearRGBConverter : public ::java::lang::Object +{ + +public: + LinearRGBConverter(); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_LinearRGBConverter__ diff --git a/libjava/gnu/java/awt/color/ProfileHeader.h b/libjava/gnu/java/awt/color/ProfileHeader.h new file mode 100644 index 00000000000..744dc78298e --- /dev/null +++ b/libjava/gnu/java/awt/color/ProfileHeader.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_ProfileHeader__ +#define __gnu_java_awt_color_ProfileHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ProfileHeader; + } + } + } + } +} + +class gnu::java::awt::color::ProfileHeader : public ::java::lang::Object +{ + +public: + ProfileHeader(); + ProfileHeader(JArray< jbyte > *); + virtual void verifyHeader(jint); + virtual JArray< jbyte > * getData(jint); + virtual jint getSize(); + virtual void setSize(jint); + virtual jint getMajorVersion(); + virtual jint getMinorVersion(); + virtual jint getProfileClass(); + virtual void setProfileClass(jint); + virtual jint getColorSpace(); + virtual jint getProfileColorSpace(); + virtual void setColorSpace(jint); + virtual void setProfileColorSpace(jint); +private: + static const jint icMagicNumber = 1633907568; + static JArray< jint > * csTypeMap; +public: + static const jint HEADERSIZE = 128; +private: + static JArray< jint > * classMap; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) size; + jint cmmId; + jint majorVersion; + jint minorVersion; + jint profileClass; + jint colorSpace; + jint profileColorSpace; + JArray< jbyte > * timestamp; + jint platform; + jint flags; + jint magic; + jint manufacturerSig; + jint modelSig; + JArray< jbyte > * attributes; + jint intent; + JArray< jbyte > * illuminant; + jint creatorSig; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_ProfileHeader__ diff --git a/libjava/gnu/java/awt/color/PyccConverter.h b/libjava/gnu/java/awt/color/PyccConverter.h new file mode 100644 index 00000000000..ef9caebca8f --- /dev/null +++ b/libjava/gnu/java/awt/color/PyccConverter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_PyccConverter__ +#define __gnu_java_awt_color_PyccConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class PyccConverter; + } + } + } + } +} + +class gnu::java::awt::color::PyccConverter : public ::java::lang::Object +{ + +public: + PyccConverter(); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_PyccConverter__ diff --git a/libjava/gnu/java/awt/color/RgbProfileConverter.h b/libjava/gnu/java/awt/color/RgbProfileConverter.h new file mode 100644 index 00000000000..2998894b1c6 --- /dev/null +++ b/libjava/gnu/java/awt/color/RgbProfileConverter.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_RgbProfileConverter__ +#define __gnu_java_awt_color_RgbProfileConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ColorLookUpTable; + class RgbProfileConverter; + class ToneReproductionCurve; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ICC_ProfileRGB; + } + } + } +} + +class gnu::java::awt::color::RgbProfileConverter : public ::java::lang::Object +{ + +public: + RgbProfileConverter(::java::awt::color::ICC_ProfileRGB *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); +private: + JArray< JArray< jfloat > * > * invertMatrix(JArray< JArray< jfloat > * > *); + JArray< JArray< jfloat > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) matrix; + JArray< JArray< jfloat > * > * inv_matrix; + ::gnu::java::awt::color::ToneReproductionCurve * rTRC; + ::gnu::java::awt::color::ToneReproductionCurve * gTRC; + ::gnu::java::awt::color::ToneReproductionCurve * bTRC; + ::gnu::java::awt::color::ColorLookUpTable * toPCS; + ::gnu::java::awt::color::ColorLookUpTable * fromPCS; + static JArray< jfloat > * D50; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_RgbProfileConverter__ diff --git a/libjava/gnu/java/awt/color/SrgbConverter.h b/libjava/gnu/java/awt/color/SrgbConverter.h new file mode 100644 index 00000000000..2debe680450 --- /dev/null +++ b/libjava/gnu/java/awt/color/SrgbConverter.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_SrgbConverter__ +#define __gnu_java_awt_color_SrgbConverter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class SrgbConverter; + } + } + } + } +} + +class gnu::java::awt::color::SrgbConverter : public ::java::lang::Object +{ + +public: + SrgbConverter(); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + static JArray< jfloat > * XYZtoRGB(JArray< jfloat > *); + static JArray< jfloat > * RGBtoXYZ(JArray< jfloat > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_SrgbConverter__ diff --git a/libjava/gnu/java/awt/color/TagEntry.h b/libjava/gnu/java/awt/color/TagEntry.h new file mode 100644 index 00000000000..a464b32e6e1 --- /dev/null +++ b/libjava/gnu/java/awt/color/TagEntry.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_TagEntry__ +#define __gnu_java_awt_color_TagEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class TagEntry; + } + } + } + } +} + +class gnu::java::awt::color::TagEntry : public ::java::lang::Object +{ + +public: + TagEntry(jint, jint, jint, JArray< jbyte > *); + TagEntry(jint, JArray< jbyte > *); + virtual JArray< jbyte > * getData(); + virtual ::java::lang::String * hashKey(); + virtual ::java::lang::String * toString(); + virtual jint getSignature(); + virtual jint getSize(); + virtual jint getOffset(); + virtual void setOffset(jint); + static ::java::lang::String * tagHashKey(jint); + static const jint entrySize = 12; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) signature; + jint size; + jint offset; + JArray< jbyte > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_TagEntry__ diff --git a/libjava/gnu/java/awt/color/ToneReproductionCurve.h b/libjava/gnu/java/awt/color/ToneReproductionCurve.h new file mode 100644 index 00000000000..7c0edecb4a6 --- /dev/null +++ b/libjava/gnu/java/awt/color/ToneReproductionCurve.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_color_ToneReproductionCurve__ +#define __gnu_java_awt_color_ToneReproductionCurve__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ToneReproductionCurve; + } + } + } + } +} + +class gnu::java::awt::color::ToneReproductionCurve : public ::java::lang::Object +{ + +public: + ToneReproductionCurve(jfloat); + ToneReproductionCurve(JArray< jfloat > *); + ToneReproductionCurve(JArray< jshort > *); + virtual jfloat lookup(jfloat); + virtual jfloat reverseLookup(jfloat); + virtual void setupReverseTrc(); +private: + JArray< jfloat > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) trc; + jfloat gamma; + JArray< jfloat > * reverseTrc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_color_ToneReproductionCurve__ diff --git a/libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h b/libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h new file mode 100644 index 00000000000..13cf4aacee0 --- /dev/null +++ b/libjava/gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_dnd_GtkMouseDragGestureRecognizer__ +#define __gnu_java_awt_dnd_GtkMouseDragGestureRecognizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace dnd + { + class GtkMouseDragGestureRecognizer; + } + } + } + } + namespace java + { + namespace awt + { + class Component; + namespace dnd + { + class DragGestureListener; + class DragSource; + } + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::dnd::GtkMouseDragGestureRecognizer : public ::java::awt::dnd::MouseDragGestureRecognizer +{ + +public: + GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *); + GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *); + GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint); + GtkMouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + virtual void registerListeners(); + virtual void unregisterListeners(); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +private: + jint getDropActionFromEvent(::java::awt::event::MouseEvent *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_dnd_GtkMouseDragGestureRecognizer__ diff --git a/libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h new file mode 100644 index 00000000000..a53f91664d7 --- /dev/null +++ b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer__ +#define __gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace dnd + { + namespace peer + { + namespace gtk + { + class GtkDragSourceContextPeer; + class GtkDropTargetContextPeer; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Cursor; + class Image; + class Point; + namespace dnd + { + class DragGestureEvent; + class DragSourceContext; + } + namespace peer + { + class ComponentPeer; + } + } + } +} + +class gnu::java::awt::dnd::peer::gtk::GtkDragSourceContextPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer +{ + +public: // actually package-private + virtual void nativeStartDrag(::java::awt::Image *, jint, jint, jint, ::java::lang::String *); + virtual void connectSignals(::java::awt::peer::ComponentPeer *); + virtual void create(::java::awt::peer::ComponentPeer *); + virtual void nativeSetCursor(jint); + virtual void setTarget(::gnu::java::awt::dnd::peer::gtk::GtkDropTargetContextPeer *); +public: + GtkDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *); +public: // actually package-private + virtual ::java::awt::peer::ComponentPeer * getComponentPeer(::java::awt::Component *); +public: + virtual void startDrag(::java::awt::dnd::DragSourceContext *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *); + virtual ::java::awt::Cursor * getCursor(); + virtual void setCursor(::java::awt::Cursor *); + virtual void transferablesFlavorsChanged(); + virtual void dragEnter(jint, jint); + virtual void dragExit(jint, jint, jint); + virtual void dragDropEnd(jint, jboolean, jint, jint); + virtual void dragMouseMoved(jint, jint); + virtual void dragOver(jint, jint); + virtual void dragActionChanged(jint, jint); +private: + ::java::awt::peer::ComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkGenericPeer)))) peer; + ::java::awt::Cursor * cursor; + ::java::awt::dnd::DragSourceContext * context; +public: + static ::java::awt::Component * target; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer__ diff --git a/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h new file mode 100644 index 00000000000..2ddfeb536be --- /dev/null +++ b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_dnd_peer_gtk_GtkDropTargetContextPeer__ +#define __gnu_java_awt_dnd_peer_gtk_GtkDropTargetContextPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace dnd + { + namespace peer + { + namespace gtk + { + class GtkDropTargetContextPeer; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + namespace dnd + { + class DropTarget; + } + } + } +} + +class gnu::java::awt::dnd::peer::gtk::GtkDropTargetContextPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer +{ + +public: + GtkDropTargetContextPeer(::java::lang::Object *); + virtual void setTargetActions(jint); + virtual jint getTargetActions(); + virtual ::java::awt::dnd::DropTarget * getDropTarget(); + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors(); + virtual ::java::awt::datatransfer::Transferable * getTransferable(); + virtual jboolean isTransferableJVMLocal(); + virtual void acceptDrag(jint); + virtual void rejectDrag(); + virtual void acceptDrop(jint); + virtual void rejectDrop(); + virtual void dropComplete(jboolean); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_dnd_peer_gtk_GtkDropTargetContextPeer__ diff --git a/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h new file mode 100644 index 00000000000..a5797f2522e --- /dev/null +++ b/libjava/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_dnd_peer_gtk_GtkDropTargetPeer__ +#define __gnu_java_awt_dnd_peer_gtk_GtkDropTargetPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace dnd + { + namespace peer + { + namespace gtk + { + class GtkDropTargetPeer; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace dnd + { + class DropTarget; + } + } + } +} + +class gnu::java::awt::dnd::peer::gtk::GtkDropTargetPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer +{ + +public: + GtkDropTargetPeer(); + virtual void addDropTarget(::java::awt::dnd::DropTarget *); + virtual void removeDropTarget(::java::awt::dnd::DropTarget *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_dnd_peer_gtk_GtkDropTargetPeer__ diff --git a/libjava/gnu/java/awt/font/FontDelegate.h b/libjava/gnu/java/awt/font/FontDelegate.h new file mode 100644 index 00000000000..202529b547a --- /dev/null +++ b/libjava/gnu/java/awt/font/FontDelegate.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_FontDelegate__ +#define __gnu_java_awt_font_FontDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + class FontDelegate; + } + } + } + } + namespace java + { + namespace awt + { + class Font; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class GeneralPath; + class Point2D; + } + } + namespace text + { + class CharacterIterator; + } + } +} + +class gnu::java::awt::font::FontDelegate : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getFullName(::java::util::Locale *) = 0; + virtual ::java::lang::String * getFamilyName(::java::util::Locale *) = 0; + virtual ::java::lang::String * getSubFamilyName(::java::util::Locale *) = 0; + virtual ::java::lang::String * getPostScriptName() = 0; + virtual jint getNumGlyphs() = 0; + virtual jint getMissingGlyphCode() = 0; + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *) = 0; + virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0; + virtual ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean) = 0; + virtual ::java::lang::String * getGlyphName(jint) = 0; + virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; + virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_font_FontDelegate__ diff --git a/libjava/gnu/java/awt/font/FontFactory.h b/libjava/gnu/java/awt/font/FontFactory.h new file mode 100644 index 00000000000..660ca220962 --- /dev/null +++ b/libjava/gnu/java/awt/font/FontFactory.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_FontFactory__ +#define __gnu_java_awt_font_FontFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + class FontDelegate; + class FontFactory; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::FontFactory : public ::java::lang::Object +{ + + FontFactory(); +public: + static JArray< ::gnu::java::awt::font::FontDelegate * > * createFonts(::java::nio::ByteBuffer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_FontFactory__ diff --git a/libjava/gnu/java/awt/font/GNUGlyphVector.h b/libjava/gnu/java/awt/font/GNUGlyphVector.h new file mode 100644 index 00000000000..4d47e2addc2 --- /dev/null +++ b/libjava/gnu/java/awt/font/GNUGlyphVector.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_GNUGlyphVector__ +#define __gnu_java_awt_font_GNUGlyphVector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + class FontDelegate; + class GNUGlyphVector; + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Shape; + namespace font + { + class FontRenderContext; + class GlyphJustificationInfo; + class GlyphMetrics; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Point2D; + class Rectangle2D; + } + } + } +} + +class gnu::java::awt::font::GNUGlyphVector : public ::java::awt::font::GlyphVector +{ + +public: + GNUGlyphVector(::gnu::java::awt::font::FontDelegate *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual void performDefaultLayout(); + virtual jint getNumGlyphs(); + virtual jint getGlyphCode(jint); + virtual JArray< jint > * getGlyphCodes(jint, jint, JArray< jint > *); + virtual ::java::awt::geom::Rectangle2D * getLogicalBounds(); + virtual ::java::awt::geom::Rectangle2D * getVisualBounds(); + virtual ::java::awt::Shape * getOutline(); + virtual ::java::awt::Shape * getOutline(jfloat, jfloat); + virtual ::java::awt::Shape * getGlyphOutline(jint); + virtual ::java::awt::geom::Point2D * getGlyphPosition(jint); + virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *); + virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint); + virtual void setGlyphTransform(jint, ::java::awt::geom::AffineTransform *); + virtual jint getLayoutFlags(); + virtual JArray< jfloat > * getGlyphPositions(jint, jint, JArray< jfloat > *); +private: + jfloat getAscent(); + jfloat getDescent(); +public: + virtual ::java::awt::Shape * getGlyphLogicalBounds(jint); + virtual ::java::awt::Shape * getGlyphVisualBounds(jint); + virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint); + virtual ::java::awt::font::GlyphJustificationInfo * getGlyphJustificationInfo(jint); + virtual jboolean equals(::java::awt::font::GlyphVector *); +private: + void validate(); + ::gnu::java::awt::font::FontDelegate * __attribute__((aligned(__alignof__( ::java::awt::font::GlyphVector)))) fontDelegate; + ::java::awt::Font * font; + ::java::awt::font::FontRenderContext * renderContext; + JArray< jint > * glyphs; + jfloat fontSize; + ::java::awt::geom::AffineTransform * transform; + jboolean valid; + JArray< jfloat > * pos; + JArray< ::java::awt::geom::AffineTransform * > * transforms; + jint layoutFlags; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_GNUGlyphVector__ diff --git a/libjava/gnu/java/awt/font/autofit/AxisHints.h b/libjava/gnu/java/awt/font/autofit/AxisHints.h new file mode 100644 index 00000000000..29dad47f239 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/AxisHints.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_AxisHints__ +#define __gnu_java_awt_font_autofit_AxisHints__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class AxisHints; + class Segment; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::AxisHints : public ::java::lang::Object +{ + +public: // actually package-private + AxisHints(); + JArray< ::gnu::java::awt::font::autofit::Segment * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) segments; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_AxisHints__ diff --git a/libjava/gnu/java/awt/font/autofit/Constants.h b/libjava/gnu/java/awt/font/autofit/Constants.h new file mode 100644 index 00000000000..ae103683e0d --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Constants.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Constants__ +#define __gnu_java_awt_font_autofit_Constants__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Constants; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Constants : public ::java::lang::Object +{ + +public: + static const jint DIMENSION_HORZ = 0; + static const jint DIMENSION_VERT = 1; + static const jint DIMENSION_MAX = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_font_autofit_Constants__ diff --git a/libjava/gnu/java/awt/font/autofit/GlyphHints.h b/libjava/gnu/java/awt/font/autofit/GlyphHints.h new file mode 100644 index 00000000000..6a878d56c81 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/GlyphHints.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_GlyphHints__ +#define __gnu_java_awt_font_autofit_GlyphHints__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class AxisHints; + class GlyphHints; + class ScriptMetrics; + } + namespace opentype + { + namespace truetype + { + class Zone; + } + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::GlyphHints : public ::java::lang::Object +{ + +public: // actually package-private + GlyphHints(); + virtual void rescale(::gnu::java::awt::font::autofit::ScriptMetrics *); + virtual void reload(::gnu::java::awt::font::opentype::truetype::Zone *); + virtual void computeSegments(jint); + virtual void linkSegments(jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale; + jint xDelta; + jint yScale; + jint yDelta; + JArray< ::gnu::java::awt::font::autofit::AxisHints * > * axis; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_GlyphHints__ diff --git a/libjava/gnu/java/awt/font/autofit/Latin.h b/libjava/gnu/java/awt/font/autofit/Latin.h new file mode 100644 index 00000000000..af4c300d943 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Latin.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Latin__ +#define __gnu_java_awt_font_autofit_Latin__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class GlyphHints; + class Latin; + class LatinMetrics; + class ScriptMetrics; + } + namespace opentype + { + class OpenTypeFont; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object +{ + +public: // actually package-private + Latin(); +public: + virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *); + virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *); + virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *); + virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *); + virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *); +private: + void initWidths(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *, jchar); + void initBlues(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *); + jint constant(::gnu::java::awt::font::autofit::LatinMetrics *, jint); + static const jint MAX_WIDTHS = 16; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_Latin__ diff --git a/libjava/gnu/java/awt/font/autofit/LatinAxis.h b/libjava/gnu/java/awt/font/autofit/LatinAxis.h new file mode 100644 index 00000000000..631cd794a57 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/LatinAxis.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_LatinAxis__ +#define __gnu_java_awt_font_autofit_LatinAxis__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class LatinAxis; + class Width; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::LatinAxis : public ::java::lang::Object +{ + +public: // actually package-private + LatinAxis(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) scale; + jint delta; + jint widthCount; + JArray< ::gnu::java::awt::font::autofit::Width * > * widths; + jfloat edgeDistanceTreshold; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_LatinAxis__ diff --git a/libjava/gnu/java/awt/font/autofit/LatinMetrics.h b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h new file mode 100644 index 00000000000..a7a12fd4c7e --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_LatinMetrics__ +#define __gnu_java_awt_font_autofit_LatinMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class LatinAxis; + class LatinMetrics; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::LatinMetrics : public ::gnu::java::awt::font::autofit::ScriptMetrics +{ + +public: // actually package-private + LatinMetrics(); + JArray< ::gnu::java::awt::font::autofit::LatinAxis * > * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::autofit::ScriptMetrics)))) axis; + jint unitsPerEm; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_LatinMetrics__ diff --git a/libjava/gnu/java/awt/font/autofit/Scaler.h b/libjava/gnu/java/awt/font/autofit/Scaler.h new file mode 100644 index 00000000000..ffebc5a30dd --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Scaler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Scaler__ +#define __gnu_java_awt_font_autofit_Scaler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Scaler; + } + namespace opentype + { + class OpenTypeFont; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Scaler : public ::java::lang::Object +{ + +public: // actually package-private + Scaler(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale; + jint xDelta; + jint yScale; + jint yDelta; + ::gnu::java::awt::font::opentype::OpenTypeFont * face; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_Scaler__ diff --git a/libjava/gnu/java/awt/font/autofit/Script.h b/libjava/gnu/java/awt/font/autofit/Script.h new file mode 100644 index 00000000000..5a722896a80 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Script.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Script__ +#define __gnu_java_awt_font_autofit_Script__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class GlyphHints; + class Script; + class ScriptMetrics; + } + namespace opentype + { + class OpenTypeFont; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Script : public ::java::lang::Object +{ + +public: + virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *) = 0; + virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; + virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; + virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; + virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_font_autofit_Script__ diff --git a/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h new file mode 100644 index 00000000000..79ab128b5a5 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_ScriptMetrics__ +#define __gnu_java_awt_font_autofit_ScriptMetrics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Scaler; + class Script; + class ScriptMetrics; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::ScriptMetrics : public ::java::lang::Object +{ + +public: // actually package-private + ScriptMetrics(); + ::gnu::java::awt::font::autofit::Script * __attribute__((aligned(__alignof__( ::java::lang::Object)))) script; + ::gnu::java::awt::font::autofit::Scaler * scaler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_ScriptMetrics__ diff --git a/libjava/gnu/java/awt/font/autofit/Segment.h b/libjava/gnu/java/awt/font/autofit/Segment.h new file mode 100644 index 00000000000..4b2adef67b0 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Segment.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Segment__ +#define __gnu_java_awt_font_autofit_Segment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Segment; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Segment : public ::java::lang::Object +{ + +public: // actually package-private + Segment(); + ::gnu::java::awt::font::autofit::Segment * __attribute__((aligned(__alignof__( ::java::lang::Object)))) link; + jint index; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_Segment__ diff --git a/libjava/gnu/java/awt/font/autofit/Width.h b/libjava/gnu/java/awt/font/autofit/Width.h new file mode 100644 index 00000000000..23d21fe07c5 --- /dev/null +++ b/libjava/gnu/java/awt/font/autofit/Width.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_autofit_Width__ +#define __gnu_java_awt_font_autofit_Width__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace autofit + { + class Width; + } + } + } + } + } +} + +class gnu::java::awt::font::autofit::Width : public ::java::lang::Object +{ + +public: + Width(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) org; + jint cur; + jint fit; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_autofit_Width__ diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h new file mode 100644 index 00000000000..a5f784d7a7c --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Dummy.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Dummy__ +#define __gnu_java_awt_font_opentype_CharGlyphMap$Dummy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class CharGlyphMap$Dummy; + } + } + } + } + } +} + +class gnu::java::awt::font::opentype::CharGlyphMap$Dummy : public ::gnu::java::awt::font::opentype::CharGlyphMap +{ + + CharGlyphMap$Dummy(); +public: + jint getGlyph(jint); +public: // actually package-private + CharGlyphMap$Dummy(::gnu::java::awt::font::opentype::CharGlyphMap$Dummy *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Dummy__ diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h new file mode 100644 index 00000000000..0b5a45f9d99 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type0.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Type0__ +#define __gnu_java_awt_font_opentype_CharGlyphMap$Type0__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class CharGlyphMap$Type0; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::CharGlyphMap$Type0 : public ::gnu::java::awt::font::opentype::CharGlyphMap +{ + +public: + CharGlyphMap$Type0(::java::nio::ByteBuffer *); +private: + void readSingleTable(::java::nio::ByteBuffer *, jint, jint, jint); +public: + jint getGlyph(jint); +private: + static ::java::lang::String * getUpper129(jint, jint, jint); + JArray< jchar > * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::CharGlyphMap)))) glyphToUCS2; + static ::java::lang::String * UPPER_ARABIC; + static ::java::lang::String * UPPER_EAST_EUROPEAN_ROMAN; + static ::java::lang::String * UPPER_CROATIAN; + static ::java::lang::String * UPPER_CYRILLIC; + static ::java::lang::String * UPPER_FARSI; + static ::java::lang::String * UPPER_GREEK; + static ::java::lang::String * UPPER_HEBREW; + static ::java::lang::String * UPPER_ICELANDIC; + static ::java::lang::String * UPPER_ROMAN; + static ::java::lang::String * UPPER_ROMANIAN; + static ::java::lang::String * UPPER_TURKISH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Type0__ diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h new file mode 100644 index 00000000000..d1250fcbe8b --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type12.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Type12__ +#define __gnu_java_awt_font_opentype_CharGlyphMap$Type12__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class CharGlyphMap$Type12; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class IntBuffer; + } + } +} + +class gnu::java::awt::font::opentype::CharGlyphMap$Type12 : public ::gnu::java::awt::font::opentype::CharGlyphMap +{ + +public: // actually package-private + static jboolean isSupported(jint, jint); + CharGlyphMap$Type12(::java::nio::ByteBuffer *, jint, jint); +public: + jint getGlyph(jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::CharGlyphMap)))) numGroups; + ::java::nio::IntBuffer * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Type12__ diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h new file mode 100644 index 00000000000..30092003607 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap$Type4.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_CharGlyphMap$Type4__ +#define __gnu_java_awt_font_opentype_CharGlyphMap$Type4__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class CharGlyphMap$Type4; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + class ShortBuffer; + } + } +} + +class gnu::java::awt::font::opentype::CharGlyphMap$Type4 : public ::gnu::java::awt::font::opentype::CharGlyphMap +{ + +public: // actually package-private + static jboolean isSupported(jint, jint, jint); + static ::gnu::java::awt::font::opentype::CharGlyphMap$Type4 * readTable(::java::nio::ByteBuffer *, jint, jint); +private: + CharGlyphMap$Type4(jint, ::java::nio::CharBuffer *, ::java::nio::CharBuffer *, ::java::nio::ShortBuffer *, ::java::nio::CharBuffer *); +public: + jint getGlyph(jint); +private: + jint find(jchar); + ::java::nio::CharBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::CharGlyphMap)))) lastChar; + ::java::nio::CharBuffer * firstChar; + ::java::nio::ShortBuffer * idDelta; + ::java::nio::CharBuffer * rangeID; + jint numSegments; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_CharGlyphMap$Type4__ diff --git a/libjava/gnu/java/awt/font/opentype/CharGlyphMap.h b/libjava/gnu/java/awt/font/opentype/CharGlyphMap.h new file mode 100644 index 00000000000..d5baafb7231 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/CharGlyphMap.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_CharGlyphMap__ +#define __gnu_java_awt_font_opentype_CharGlyphMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class CharGlyphMap; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::CharGlyphMap : public ::java::lang::Object +{ + +public: + CharGlyphMap(); + virtual jint getGlyph(jint) = 0; + static ::gnu::java::awt::font::opentype::CharGlyphMap * forTable(::java::nio::ByteBuffer *); +private: + static const jint PLATFORM_UNICODE = 0; + static const jint PLATFORM_MACINTOSH = 1; + static const jint PLATFORM_MICROSOFT = 3; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_CharGlyphMap__ diff --git a/libjava/gnu/java/awt/font/opentype/GlyphNamer.h b/libjava/gnu/java/awt/font/opentype/GlyphNamer.h new file mode 100644 index 00000000000..55e47902f4d --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/GlyphNamer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_GlyphNamer__ +#define __gnu_java_awt_font_opentype_GlyphNamer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class GlyphNamer; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + class IntBuffer; + } + } +} + +class gnu::java::awt::font::opentype::GlyphNamer : public ::java::lang::Object +{ + + GlyphNamer(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); +public: + static ::gnu::java::awt::font::opentype::GlyphNamer * forTables(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); +public: // actually package-private + ::java::lang::String * getGlyphName(jint); +private: + void readZapf(jint); + void readPost(); + static ::java::lang::String * getAGLFNName(jchar); + static ::java::lang::String * getGlyphName(JArray< jchar > *); + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) postTable; + ::java::nio::ByteBuffer * zapfTable; + ::java::nio::IntBuffer * zapfOffsets; + jint zapfExtraInfo; + jint postFormat; + JArray< ::java::lang::String * > * glyphNames; + ::java::nio::CharBuffer * glyphCharacterCodes; + static JArray< ::java::lang::String * > * STANDARD_POSTSCRIPT_GLYPH_NAMES; + static ::java::lang::String * AGLFN_GLYPHS; + static ::java::lang::String * AGLFN_NAME_OFFSET; + static ::java::lang::String * AGLFN_NAMES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_GlyphNamer__ diff --git a/libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h b/libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h new file mode 100644 index 00000000000..d6ba8363450 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/MacResourceFork$Resource.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_MacResourceFork$Resource__ +#define __gnu_java_awt_font_opentype_MacResourceFork$Resource__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class MacResourceFork$Resource; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::MacResourceFork$Resource : public ::java::lang::Object +{ + + MacResourceFork$Resource(::java::nio::ByteBuffer *, jint, jshort, jint, jint); +public: + jint getType(); + jshort getID(); + ::java::nio::ByteBuffer * getContent(); + jint getLength(); +public: // actually package-private + MacResourceFork$Resource(::java::nio::ByteBuffer *, jint, jshort, jint, jint, ::gnu::java::awt::font::opentype::MacResourceFork$Resource *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jshort id; + jbyte attribute; + jint nameOffset; + jint dataOffset; + ::java::nio::ByteBuffer * buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_MacResourceFork$Resource__ diff --git a/libjava/gnu/java/awt/font/opentype/MacResourceFork.h b/libjava/gnu/java/awt/font/opentype/MacResourceFork.h new file mode 100644 index 00000000000..76ad0a65353 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/MacResourceFork.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_MacResourceFork__ +#define __gnu_java_awt_font_opentype_MacResourceFork__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class MacResourceFork; + class MacResourceFork$Resource; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::MacResourceFork : public ::java::lang::Object +{ + +public: + MacResourceFork(::java::nio::ByteBuffer *); + JArray< ::gnu::java::awt::font::opentype::MacResourceFork$Resource * > * getResources(jint); + ::gnu::java::awt::font::opentype::MacResourceFork$Resource * getResource(jint, jshort); +public: // actually package-private + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) types; + JArray< JArray< ::gnu::java::awt::font::opentype::MacResourceFork$Resource * > * > * resources; + ::java::nio::ByteBuffer * buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_MacResourceFork__ diff --git a/libjava/gnu/java/awt/font/opentype/NameDecoder.h b/libjava/gnu/java/awt/font/opentype/NameDecoder.h new file mode 100644 index 00000000000..a33ffa3ed6a --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/NameDecoder.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_NameDecoder__ +#define __gnu_java_awt_font_opentype_NameDecoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class NameDecoder; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::NameDecoder : public ::java::lang::Object +{ + +public: + NameDecoder(); + static ::java::lang::String * getName(::java::nio::ByteBuffer *, jint, ::java::util::Locale *); +private: + static jint getMacLanguageCode(::java::util::Locale *); + static jint getMicrosoftLanguageCode(::java::util::Locale *); + static jint findLanguageCode(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * decodeName(jint, jint, jint, ::java::nio::ByteBuffer *, jint, jint); + static ::java::lang::String * decodeName(::java::lang::String *, ::java::nio::ByteBuffer *, jint, jint); + static ::java::util::Locale * getMacLocale(jint); + static ::java::util::Locale * getWindowsLocale(jint); + static ::java::lang::String * getMacCharsetName(jint); + static ::java::lang::String * getMicrosoftCharsetName(jint); +public: + static ::java::util::Locale * getLocale(jint, jint, jint); + static ::java::lang::String * getCharsetName(jint, jint, jint); + static const jint NAME_COPYRIGHT = 0; + static const jint NAME_FAMILY = 1; + static const jint NAME_SUBFAMILY = 2; + static const jint NAME_UNIQUE = 3; + static const jint NAME_FULL = 4; + static const jint NAME_VERSION = 5; + static const jint NAME_POSTSCRIPT = 6; + static const jint NAME_TRADEMARK = 7; + static const jint NAME_MANUFACTURER = 8; + static const jint NAME_DESIGNER = 9; + static const jint NAME_DESCRIPTION = 10; + static const jint NAME_VENDOR_URL = 11; + static const jint NAME_DESIGNER_URL = 12; + static const jint NAME_LICENSE = 13; + static const jint NAME_LICENSE_URL = 14; + static const jint NAME_PREFERRED_FAMILY = 16; + static const jint NAME_PREFERRED_SUBFAMILY = 17; + static const jint NAME_FULL_MACCOMPATIBLE = 18; + static const jint NAME_SAMPLE_TEXT = 19; + static const jint NAME_POSTSCRIPT_CID = 20; +private: + static const jint PLATFORM_MACINTOSH = 1; + static const jint PLATFORM_MICROSOFT = 3; + static ::java::lang::String * macLanguageCodes; + static ::java::lang::String * microsoftLanguageCodes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_NameDecoder__ diff --git a/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h new file mode 100644 index 00000000000..149337c4c8a --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h @@ -0,0 +1,122 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_OpenTypeFont__ +#define __gnu_java_awt_font_opentype_OpenTypeFont__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class CharGlyphMap; + class GlyphNamer; + class OpenTypeFont; + class Scaler; + namespace truetype + { + class Zone; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class GeneralPath; + class Point2D; + } + } + namespace nio + { + class ByteBuffer; + } + namespace text + { + class CharacterIterator; + } + } +} + +class gnu::java::awt::font::opentype::OpenTypeFont : public ::java::lang::Object +{ + +public: // actually package-private + OpenTypeFont(::java::nio::ByteBuffer *, jint); +private: + jint getTableIndex(jint); +public: + ::java::lang::String * getFamilyName(::java::util::Locale *); + ::java::lang::String * getSubFamilyName(::java::util::Locale *); + ::java::lang::String * getFullName(::java::util::Locale *); + ::java::lang::String * getPostScriptName(); + jint getNumGlyphs(); + jint getMissingGlyphCode(); +private: + ::java::lang::String * getName(jint, ::java::util::Locale *); +public: + jint getVersion(); + ::java::nio::ByteBuffer * getFontTable(jint); + jint getFontTableSize(jint); +private: + ::gnu::java::awt::font::opentype::CharGlyphMap * getCharGlyphMap(); +public: + jint getGlyph(jint); + ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *); + void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *); + ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean); + ::gnu::java::awt::font::opentype::truetype::Zone * getRawGlyphOutline(jint, ::java::awt::geom::AffineTransform *); + ::java::lang::String * getGlyphName(jint); + jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean); + jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean); +public: // actually package-private + static ::java::lang::String * tagToString(jint); + static const jint TAG_OTTO = 1330926671; + static const jint TAG_SFNT = 1936092788; + static const jint TAG_TRUE = 1953658213; + static const jint TAG_TTCF = 1953784678; + static const jint TAG_ZAPF = 1516335206; + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buf; + jint numGlyphs; + JArray< jint > * tableTag; + JArray< jint > * tableStart; + JArray< jint > * tableLength; +private: + jint version; +public: + jint unitsPerEm; +private: + jfloat emsPerUnit; + ::gnu::java::awt::font::opentype::Scaler * scaler; + ::gnu::java::awt::font::opentype::CharGlyphMap * cmap; + ::gnu::java::awt::font::opentype::GlyphNamer * glyphNamer; + ::java::nio::ByteBuffer * nameTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_OpenTypeFont__ diff --git a/libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h b/libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h new file mode 100644 index 00000000000..d3562506d32 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/OpenTypeFontFactory.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_OpenTypeFontFactory__ +#define __gnu_java_awt_font_opentype_OpenTypeFontFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + class FontDelegate; + namespace opentype + { + class OpenTypeFontFactory; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::OpenTypeFontFactory : public ::java::lang::Object +{ + + OpenTypeFontFactory(); +public: + static JArray< ::gnu::java::awt::font::FontDelegate * > * createFonts(::java::nio::ByteBuffer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_OpenTypeFontFactory__ diff --git a/libjava/gnu/java/awt/font/opentype/Scaler.h b/libjava/gnu/java/awt/font/opentype/Scaler.h new file mode 100644 index 00000000000..a9118288ba2 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/Scaler.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_Scaler__ +#define __gnu_java_awt_font_opentype_Scaler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + class Scaler; + namespace truetype + { + class Zone; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class GeneralPath; + class Point2D; + } + } + } +} + +class gnu::java::awt::font::opentype::Scaler : public ::java::lang::Object +{ + +public: + Scaler(); + virtual ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean) = 0; + virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0; + virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; + virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0; + virtual ::gnu::java::awt::font::opentype::truetype::Zone * getRawOutline(jint, ::java::awt::geom::AffineTransform *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_Scaler__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h new file mode 100644 index 00000000000..e93546aca72 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_Fixed__ +#define __gnu_java_awt_font_opentype_truetype_Fixed__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class Fixed; + } + } + } + } + } + } +} + +class gnu::java::awt::font::opentype::truetype::Fixed : public ::java::lang::Object +{ + + Fixed(); +public: + static jint mul(jint, jint); + static jint div(jint, jint); + static jint ceil(jint); + static jint floor(jint); + static jint vectorLength(jint, jint); + static jint intValue(jint); + static jfloat floatValue(jint); + static jdouble doubleValue(jint); + static jint valueOf(jfloat); + static jint valueOf(jdouble); + static ::java::lang::String * toString(jint); + static ::java::lang::String * toString(jint, jint); + static const jint ONE = 64; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_Fixed__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h new file mode 100644 index 00000000000..2b0dd072428 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLoader__ +#define __gnu_java_awt_font_opentype_truetype_GlyphLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class GlyphLoader; + class GlyphLocator; + class GlyphMeasurer; + class VirtualMachine; + class Zone; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + } + } + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::GlyphLoader : public ::java::lang::Object +{ + +public: // actually package-private + GlyphLoader(::gnu::java::awt::font::opentype::truetype::GlyphLocator *, ::gnu::java::awt::font::opentype::truetype::VirtualMachine *, jint, jint, jint, ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer *); +public: + void loadGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *); + void loadGlyph(jint, ::java::awt::geom::AffineTransform *, ::gnu::java::awt::font::opentype::truetype::Zone *); +private: + void loadSubGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); + void loadSimpleGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); + void loadCompoundGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); + jdouble getDouble214(::java::nio::ByteBuffer *); + void loadFlags(jint, ::java::nio::ByteBuffer *); + void loadCoordinates(jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *); + void setPhantomPoints(jint, jint, ::gnu::java::awt::font::opentype::truetype::Zone *); + ::gnu::java::awt::font::opentype::truetype::GlyphLocator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glyphLocator; + ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer * glyphMeasurer; + ::gnu::java::awt::font::opentype::truetype::VirtualMachine * vm; + jint unitsPerEm; + JArray< jint > * contourEndPoints; + JArray< jbyte > * pointFlags; + static const jshort ARGS_ARE_WORDS = 1; + static const jshort ARGS_ARE_XY_VALUES = 2; + static const jshort ROUND_XY_TO_GRID = 4; + static const jshort WE_HAVE_A_SCALE = 8; + static const jshort MORE_COMPONENTS = 32; + static const jshort WE_HAVE_AN_X_AND_Y_SCALE = 64; + static const jshort WE_HAVE_A_TWO_BY_TWO = 128; + static const jshort WE_HAVE_INSTRUCTIONS = 256; + static const jshort USE_MY_METRICS = 512; + static const jshort OVERLAP_COMPOUND = 1024; + static const jshort SCALED_COMPONENT_OFFSET = 2048; + static const jshort UNSCALED_COMPONENT_OFFSET = 4096; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_GlyphLoader__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h new file mode 100644 index 00000000000..1e06f695361 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$FourByte.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLocator$FourByte__ +#define __gnu_java_awt_font_opentype_truetype_GlyphLocator$FourByte__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class GlyphLocator$FourByte; + } + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class IntBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::GlyphLocator$FourByte : public ::gnu::java::awt::font::opentype::truetype::GlyphLocator +{ + +public: // actually package-private + GlyphLocator$FourByte(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); +public: + ::java::nio::ByteBuffer * getGlyphData(jint); +public: // actually package-private + ::java::nio::IntBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::truetype::GlyphLocator)))) indexToLoc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_GlyphLocator$FourByte__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h new file mode 100644 index 00000000000..7489c5e4e91 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator$TwoByte.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLocator$TwoByte__ +#define __gnu_java_awt_font_opentype_truetype_GlyphLocator$TwoByte__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class GlyphLocator$TwoByte; + } + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::GlyphLocator$TwoByte : public ::gnu::java::awt::font::opentype::truetype::GlyphLocator +{ + +public: // actually package-private + GlyphLocator$TwoByte(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); +public: + ::java::nio::ByteBuffer * getGlyphData(jint); +public: // actually package-private + ::java::nio::CharBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::truetype::GlyphLocator)))) indexToLoc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_GlyphLocator$TwoByte__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h new file mode 100644 index 00000000000..aa93b65be1f --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLocator.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_GlyphLocator__ +#define __gnu_java_awt_font_opentype_truetype_GlyphLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class GlyphLocator; + } + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::GlyphLocator : public ::java::lang::Object +{ + +public: // actually package-private + GlyphLocator(); +public: + static ::gnu::java::awt::font::opentype::truetype::GlyphLocator * forTable(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual ::java::nio::ByteBuffer * getGlyphData(jint) = 0; +public: // actually protected + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glyfTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_GlyphLocator__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h new file mode 100644 index 00000000000..558584d4f98 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_GlyphMeasurer__ +#define __gnu_java_awt_font_opentype_truetype_GlyphMeasurer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class GlyphMeasurer; + } + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class ShortBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::GlyphMeasurer : public ::java::lang::Object +{ + +public: // actually package-private + GlyphMeasurer(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); +public: + jint getAscent(jboolean); + jint getDescent(jboolean); + jint getLineGap(jboolean); + jint getAdvanceWidth(jint, jboolean); + jint getAdvanceHeight(jint, jboolean); +private: + ::java::nio::ShortBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) horizontalGlyphMetrics; + ::java::nio::ShortBuffer * verticalGlyphMetrics; + jint numLongHorizontalMetricsEntries; + jint numLongVerticalMetricsEntries; + jint horizontalAscent; + jint verticalAscent; + jint horizontalDescent; + jint verticalDescent; + jint horizontalLineGap; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_GlyphMeasurer__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h new file mode 100644 index 00000000000..77ae20fb3ad --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_TrueTypeScaler__ +#define __gnu_java_awt_font_opentype_truetype_TrueTypeScaler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class GlyphLoader; + class GlyphMeasurer; + class TrueTypeScaler; + class Zone; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class GeneralPath; + class Point2D; + } + } + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::TrueTypeScaler : public ::gnu::java::awt::font::opentype::Scaler +{ + +public: + TrueTypeScaler(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean); + ::gnu::java::awt::font::opentype::truetype::Zone * getRawOutline(jint, ::java::awt::geom::AffineTransform *); + void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *); +private: + jfloat scaleFromFUnits(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean); +public: + jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean); + jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::opentype::Scaler)))) glyfTable; + ::gnu::java::awt::font::opentype::truetype::GlyphLoader * glyphLoader; + ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer * glyphMeasurer; + ::gnu::java::awt::font::opentype::truetype::Zone * glyphZone; + jint unitsPerEm; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_TrueTypeScaler__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h b/libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h new file mode 100644 index 00000000000..6193a6d4c93 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/VirtualMachine.h @@ -0,0 +1,153 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_VirtualMachine__ +#define __gnu_java_awt_font_opentype_truetype_VirtualMachine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class VirtualMachine; + class Zone; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + } + } + namespace nio + { + class ByteBuffer; + class ShortBuffer; + } + } +} + +class gnu::java::awt::font::opentype::truetype::VirtualMachine : public ::java::lang::Object +{ + +public: // actually package-private + VirtualMachine(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); +private: + void resetGraphicsState(); + void reloadControlValueTable(); + jint funitsToPixels(jint); +public: + virtual jboolean setup(jdouble, ::java::awt::geom::AffineTransform *, jboolean); +private: + void execute(::java::nio::ByteBuffer *, jint); + void dumpInstruction(::java::nio::ByteBuffer *); + static jchar getNibble(jint, jint); + static ::java::lang::String * getHex(jbyte); + static ::java::lang::String * getHex(jshort); + static void skipAfter(::java::nio::ByteBuffer *, jint, jint, jint, jint, jboolean); + static jint getInstructionLength(jint); + jboolean executeInstruction(::java::nio::ByteBuffer *); + void setRoundingMode(jint, jint); + void deltaC(JArray< jint > *, jint, jint, jint); + ::gnu::java::awt::font::opentype::truetype::Zone * getZone(jint); + jint getProjection(jint, jint); + jint getDualProjection(jint, jint); + jint getProjection(::gnu::java::awt::font::opentype::truetype::Zone *, jint); + jint getOriginalProjection(::gnu::java::awt::font::opentype::truetype::Zone *, jint); + void handleISECT(jint, jint, jint, jint, jint); + static jint muldiv(jint, jint, jint); + jint getFreeDotProj(); + void movePoint(::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint); + void dumpVectors(); + void handleIP(); + void handleMDAP(jint, jboolean); + void handleMIAP(jint, jint, jboolean); + void handleMIRP(jint, jint, jint); + jint round(jint, jint); + static jint nround(jint, jint); + jboolean isRotated(); + jboolean isStretched(); + jint getPixelsPerEM(); + void setProjectionVector(jshort, jshort); + void setFreedomVector(jshort, jshort); + void setDualVector(jshort, jshort); + jint applyCTM_x(jint, jint); + jint applyCTM_y(jint, jint); + static const jboolean PATENTED_HINTING = 0; + static const jboolean TRACE_EXECUTION = 0; + static const jshort ONE_214 = 16384; + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) storage; + JArray< jint > * stack; + jint maxStackElements; + jint sp; + JArray< ::java::nio::ByteBuffer * > * fdefBuffer; + JArray< jint > * fdefEntryPoint; + ::java::nio::ShortBuffer * controlValueTable; + JArray< jint > * cvt; + jint engineCompensation; + ::java::nio::ByteBuffer * fontProgram; + ::java::nio::ByteBuffer * preProgram; + jint numTwilightPoints; + jint pointSize; + ::java::awt::geom::AffineTransform * deviceTransform; + jint scaleX; + jint scaleY; + jint shearX; + jint shearY; + jboolean antialiased; + jint cvtCutIn; + jint deltaBase; + jint deltaShift; + jshort freeX; + jshort freeY; + jint loop; + jint minimumDistance; + jshort projX; + jshort projY; + jshort dualX; + jshort dualY; + jint rp0; + jint rp1; + jint rp2; + jboolean scanControl; + jint scanType; + jint singleWidthValue; + ::gnu::java::awt::font::opentype::truetype::Zone * zp0; + ::gnu::java::awt::font::opentype::truetype::Zone * zp1; + ::gnu::java::awt::font::opentype::truetype::Zone * zp2; + ::gnu::java::awt::font::opentype::truetype::Zone * twilightZone; + ::gnu::java::awt::font::opentype::truetype::Zone * glyphZone; + jboolean executeGlyphInstructions; + jboolean ignoreCVTProgram; + jint roundPeriod; + jint roundPhase; + jint roundThreshold; + jint cachedPixelsPerEM; + jint unitsPerEm; + static JArray< ::java::lang::String * > * INST_NAME; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_VirtualMachine__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Zone.h b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h new file mode 100644 index 00000000000..b3ff4f05959 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_Zone__ +#define __gnu_java_awt_font_opentype_truetype_Zone__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class Zone; + } + } + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class GeneralPath; + class PathIterator; + } + } + } +} + +class gnu::java::awt::font::opentype::truetype::Zone : public ::java::lang::Object +{ + +public: + Zone(jint); + jint getCapacity(); + jint getSize(); + jint getX(jint); + void setX(jint, jint, jboolean); + void setY(jint, jint, jboolean); + jint getY(jint); + jint getOriginalX(jint); + jint getOriginalY(jint); + void setOriginalX(jint, jint); + void setOriginalY(jint, jint); + void setNumPoints(jint); + jboolean isOnCurve(jint); + void setOnCurve(jint, jboolean); + jboolean isContourEnd(jint); + void setContourEnd(jint, jboolean); +public: // actually package-private + void transform(jdouble, ::java::awt::geom::AffineTransform *, jint, jint, jint); + void combineWithSubGlyph(::gnu::java::awt::font::opentype::truetype::Zone *, jint); +private: + void dump(); +public: + ::java::awt::geom::PathIterator * getPathIterator(); + ::java::awt::geom::GeneralPath * getPath(); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos; + JArray< jint > * origPos; + JArray< jbyte > * flags; + jint numPoints; + static const jint FLAG_TOUCHED_X = 1; + static const jint FLAG_TOUCHED_Y = 2; + static const jint FLAG_ON_CURVE = 4; + static const jint FLAG_CONTOUR_END = 8; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_Zone__ diff --git a/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h new file mode 100644 index 00000000000..fe610037981 --- /dev/null +++ b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_font_opentype_truetype_ZonePathIterator__ +#define __gnu_java_awt_font_opentype_truetype_ZonePathIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace font + { + namespace opentype + { + namespace truetype + { + class Zone; + class ZonePathIterator; + } + } + } + } + } + } +} + +class gnu::java::awt::font::opentype::truetype::ZonePathIterator : public ::java::lang::Object +{ + +public: // actually package-private + ZonePathIterator(::gnu::java::awt::font::opentype::truetype::Zone *); +public: + jint getWindingRule(); + jboolean isDone(); + void next(); +private: + jint getSuccessor(jint); +public: + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint getSegment(jint, JArray< jfloat > *); + jint getStartSegment(jint, JArray< jfloat > *); + static const jint EMIT_SEGMENT = 0; + static const jint EMIT_CLOSE = 1; + static const jint EMIT_MOVETO = 2; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) state; + ::gnu::java::awt::font::opentype::truetype::Zone * zone; + jint numPoints; + jint curPoint; + jint contourStart; +public: // actually package-private + JArray< jfloat > * floats; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_font_opentype_truetype_ZonePathIterator__ diff --git a/libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h b/libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h new file mode 100644 index 00000000000..611ead3b16e --- /dev/null +++ b/libjava/gnu/java/awt/image/ImageDecoder$DataInputStreamWrapper.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_image_ImageDecoder$DataInputStreamWrapper__ +#define __gnu_java_awt_image_ImageDecoder$DataInputStreamWrapper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace image + { + class ImageDecoder$DataInputStreamWrapper; + } + } + } + } +} + +class gnu::java::awt::image::ImageDecoder$DataInputStreamWrapper : public ::java::io::InputStream +{ + +public: // actually package-private + ImageDecoder$DataInputStreamWrapper(::java::io::DataInput *); +public: + virtual jint read(); +private: + ::java::io::DataInput * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) datainput; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_image_ImageDecoder$DataInputStreamWrapper__ diff --git a/libjava/gnu/java/awt/image/ImageDecoder.h b/libjava/gnu/java/awt/image/ImageDecoder.h new file mode 100644 index 00000000000..69af2a54eb2 --- /dev/null +++ b/libjava/gnu/java/awt/image/ImageDecoder.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_image_ImageDecoder__ +#define __gnu_java_awt_image_ImageDecoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace image + { + class ImageDecoder; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ImageConsumer; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::image::ImageDecoder : public ::java::lang::Object +{ + +public: + ImageDecoder(::java::lang::String *); + ImageDecoder(::java::net::URL *); + ImageDecoder(::java::io::InputStream *); + ImageDecoder(::java::io::DataInput *); + ImageDecoder(JArray< jbyte > *, jint, jint); + virtual void addConsumer(::java::awt::image::ImageConsumer *); + virtual jboolean isConsumer(::java::awt::image::ImageConsumer *); + virtual void removeConsumer(::java::awt::image::ImageConsumer *); + virtual void startProduction(::java::awt::image::ImageConsumer *); + virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *); + virtual void produce(::java::util::Vector *, ::java::io::InputStream *) = 0; +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumers; + ::java::lang::String * filename; + ::java::net::URL * url; + JArray< jbyte > * data; + jint offset; + jint length; + ::java::io::InputStream * input; + ::java::io::DataInput * datainput; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_image_ImageDecoder__ diff --git a/libjava/gnu/java/awt/image/XBMDecoder.h b/libjava/gnu/java/awt/image/XBMDecoder.h new file mode 100644 index 00000000000..0d33850d1eb --- /dev/null +++ b/libjava/gnu/java/awt/image/XBMDecoder.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_image_XBMDecoder__ +#define __gnu_java_awt_image_XBMDecoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace image + { + class XBMDecoder; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::image::XBMDecoder : public ::gnu::java::awt::image::ImageDecoder +{ + +public: + XBMDecoder(::java::lang::String *); + XBMDecoder(::java::net::URL *); + virtual void produce(::java::util::Vector *, ::java::io::InputStream *); + static JArray< jint > * getScanline(::java::io::Reader *, jint); +public: // actually package-private + ::java::io::BufferedReader * __attribute__((aligned(__alignof__( ::gnu::java::awt::image::ImageDecoder)))) reader; + static ::java::awt::image::ColorModel * cm; + static const jint black = -16777216; + static const jint transparent = 0; + static JArray< jint > * masktable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_image_XBMDecoder__ diff --git a/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h b/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h new file mode 100644 index 00000000000..b8933b32db9 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/AbstractGraphics2D.h @@ -0,0 +1,214 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_AbstractGraphics2D__ +#define __gnu_java_awt_java2d_AbstractGraphics2D__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class AbstractGraphics2D; + class ShapeCache; + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Composite; + class Font; + class FontMetrics; + class Graphics; + class Image; + class Paint; + class PaintContext; + class Rectangle; + class RenderingHints; + class RenderingHints$Key; + class Shape; + class Stroke; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ColorModel; + class ImageObserver; + class Raster; + class RenderedImage; + class WritableRaster; + namespace renderable + { + class RenderableImage; + } + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class gnu::java::awt::java2d::AbstractGraphics2D : public ::java::awt::Graphics2D +{ + +public: // actually protected + AbstractGraphics2D(); +public: + virtual void draw(::java::awt::Shape *); + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *); +private: + jboolean drawImageImpl(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *, ::java::awt::Rectangle *); +public: + virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); +private: + void drawRenderedImageImpl(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *, ::java::awt::Rectangle *); +public: + virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *); +private: + void drawRenderableImageImpl(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *, ::java::awt::Rectangle *); +public: + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::lang::String *, jfloat, jfloat); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat); + virtual void fill(::java::awt::Shape *); + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean); + virtual void setComposite(::java::awt::Composite *); + virtual void setPaint(::java::awt::Paint *); + virtual void setStroke(::java::awt::Stroke *); + virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *); + virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *); + virtual void setRenderingHints(::java::util::Map *); + virtual void addRenderingHints(::java::util::Map *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual void translate(jint, jint); + virtual void translate(jdouble, jdouble); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); + virtual void shear(jdouble, jdouble); + virtual void transform(::java::awt::geom::AffineTransform *); + virtual void setTransform(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual ::java::awt::Paint * getPaint(); + virtual ::java::awt::Composite * getComposite(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getBackground(); + virtual ::java::awt::Stroke * getStroke(); + virtual void clip(::java::awt::Shape *); + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); + virtual ::java::awt::Graphics * create(); +public: // actually protected + virtual ::java::lang::Object * clone(); +public: + virtual ::java::awt::Color * getColor(); + virtual void setColor(::java::awt::Color *); + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual void clipRect(jint, jint, jint, jint); + virtual void setClip(jint, jint, jint, jint); + virtual ::java::awt::Shape * getClip(); + virtual void setClip(::java::awt::Shape *); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual void drawLine(jint, jint, jint, jint); + virtual void drawRect(jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void clearRect(jint, jint, jint, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawOval(jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual void dispose(); +public: // actually protected + virtual void fillShape(::java::awt::Shape *, jboolean); + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::Rectangle * getDeviceBounds(); + virtual void rawDrawLine(jint, jint, jint, jint); + virtual void rawDrawRect(jint, jint, jint, jint); + virtual void rawDrawString(::java::lang::String *, jint, jint); + virtual void rawClearRect(jint, jint, jint, jint); + virtual void rawFillRect(jint, jint, jint, jint); + virtual jboolean rawDrawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void rawCopyArea(jint, jint, jint, jint, jint, jint); +private: + void copyAreaImpl(jint, jint, jint, jint, jint, jint); + void fillShapeImpl(::java::util::ArrayList *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *); +public: // actually protected + virtual void fillScanline(::java::awt::PaintContext *, jint, jint, jint); +private: + void fillShapeAntialias(::java::util::ArrayList *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *); + void fillScanlineAA(JArray< jint > *, jint, jint, jint, ::java::awt::PaintContext *, jint); +public: // actually protected + virtual void init(); + virtual ::java::awt::image::WritableRaster * getDestinationRaster(); + virtual void updateRaster(::java::awt::image::Raster *, jint, jint, jint, jint); +private: + void updateOptimization(); + static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *); + void updateClip(::java::awt::geom::AffineTransform *); + ::java::util::ArrayList * getSegments(::java::awt::Shape *, ::java::awt::geom::AffineTransform *, ::java::awt::geom::Rectangle2D *, jboolean); + ::gnu::java::awt::java2d::ShapeCache * getShapeCache(); + static const jint AA_SAMPLING = 8; + static ::java::lang::ThreadLocal * shapeCache; +public: // actually protected + ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) transform__; +private: + ::java::awt::Paint * paint; + ::java::awt::Color * background; + ::java::awt::Font * font; + ::java::awt::Composite * composite; + ::java::awt::Stroke * stroke; + ::java::awt::Shape * clip__; + ::java::awt::RenderingHints * renderingHints; + ::java::awt::image::WritableRaster * destinationRaster; + JArray< jint > * alpha; + JArray< ::java::util::ArrayList * > * edgeTable; + jboolean isOptimized; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_AbstractGraphics2D__ diff --git a/libjava/gnu/java/awt/java2d/AlphaCompositeContext.h b/libjava/gnu/java/awt/java2d/AlphaCompositeContext.h new file mode 100644 index 00000000000..9c591a4d9c8 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/AlphaCompositeContext.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_AlphaCompositeContext__ +#define __gnu_java_awt_java2d_AlphaCompositeContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class AlphaCompositeContext; + } + } + } + } + namespace java + { + namespace awt + { + class AlphaComposite; + namespace image + { + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::java2d::AlphaCompositeContext : public ::java::lang::Object +{ + +public: + AlphaCompositeContext(::java::awt::AlphaComposite *, ::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *); + virtual void dispose(); + virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); +private: + ::java::awt::AlphaComposite * __attribute__((aligned(__alignof__( ::java::lang::Object)))) composite; + ::java::awt::image::ColorModel * srcColorModel; + ::java::awt::image::ColorModel * dstColorModel; + jfloat fs; + jfloat fd; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_AlphaCompositeContext__ diff --git a/libjava/gnu/java/awt/java2d/CubicSegment.h b/libjava/gnu/java/awt/java2d/CubicSegment.h new file mode 100644 index 00000000000..c7ef3b29cbc --- /dev/null +++ b/libjava/gnu/java/awt/java2d/CubicSegment.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_CubicSegment__ +#define __gnu_java_awt_java2d_CubicSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class CubicSegment; + class Segment; + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + } + } + } +} + +class gnu::java::awt::java2d::CubicSegment : public ::gnu::java::awt::java2d::Segment +{ + +public: + CubicSegment(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + CubicSegment(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::lang::Object * clone(); + virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble); + virtual void reverse(); + virtual JArray< jdouble > * cp1(); + virtual JArray< jdouble > * cp2(); + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::gnu::java::awt::java2d::Segment)))) cp1__; + ::java::awt::geom::Point2D * cp2__; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_CubicSegment__ diff --git a/libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h b/libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h new file mode 100644 index 00000000000..b0a1d087d8a --- /dev/null +++ b/libjava/gnu/java/awt/java2d/ImagePaint$ImagePaintContext.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_ImagePaint$ImagePaintContext__ +#define __gnu_java_awt_java2d_ImagePaint$ImagePaintContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class ImagePaint; + class ImagePaint$ImagePaintContext; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::java2d::ImagePaint$ImagePaintContext : public ::java::lang::Object +{ + + ImagePaint$ImagePaintContext(::gnu::java::awt::java2d::ImagePaint *); +public: + virtual void dispose(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint); +private: + void ensureRasterSize(jint, jint); +public: // actually package-private + ImagePaint$ImagePaintContext(::gnu::java::awt::java2d::ImagePaint *, ::gnu::java::awt::java2d::ImagePaint$ImagePaintContext *); +private: + ::java::awt::image::WritableRaster * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target; +public: // actually package-private + ::gnu::java::awt::java2d::ImagePaint * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_ImagePaint$ImagePaintContext__ diff --git a/libjava/gnu/java/awt/java2d/ImagePaint.h b/libjava/gnu/java/awt/java2d/ImagePaint.h new file mode 100644 index 00000000000..e9e2ea2519d --- /dev/null +++ b/libjava/gnu/java/awt/java2d/ImagePaint.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_ImagePaint__ +#define __gnu_java_awt_java2d_ImagePaint__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class ImagePaint; + } + } + } + } + namespace java + { + namespace awt + { + class PaintContext; + class Rectangle; + class RenderingHints; + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class ColorModel; + class RenderedImage; + } + } + } +} + +class gnu::java::awt::java2d::ImagePaint : public ::java::lang::Object +{ + +public: // actually package-private + ImagePaint(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); +public: + virtual ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + virtual jint getTransparency(); +public: // actually package-private + ::java::awt::image::RenderedImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image; + ::java::awt::geom::AffineTransform * transform; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_ImagePaint__ diff --git a/libjava/gnu/java/awt/java2d/LineSegment.h b/libjava/gnu/java/awt/java2d/LineSegment.h new file mode 100644 index 00000000000..50f51e04bf3 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/LineSegment.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_LineSegment__ +#define __gnu_java_awt_java2d_LineSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class LineSegment; + class Segment; + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + } + } + } +} + +class gnu::java::awt::java2d::LineSegment : public ::gnu::java::awt::java2d::Segment +{ + +public: + LineSegment(jdouble, jdouble, jdouble, jdouble); + LineSegment(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::lang::Object * clone(); + virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble); + virtual void reverse(); + virtual JArray< jdouble > * cp1(); + virtual JArray< jdouble > * cp2(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_LineSegment__ diff --git a/libjava/gnu/java/awt/java2d/PolyEdge.h b/libjava/gnu/java/awt/java2d/PolyEdge.h new file mode 100644 index 00000000000..6698599d6ac --- /dev/null +++ b/libjava/gnu/java/awt/java2d/PolyEdge.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_PolyEdge__ +#define __gnu_java_awt_java2d_PolyEdge__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class PolyEdge; + } + } + } + } +} + +class gnu::java::awt::java2d::PolyEdge : public ::java::lang::Object +{ + +public: // actually package-private + PolyEdge(jdouble, jdouble, jdouble, jdouble, jboolean); +public: + virtual jint compareTo(::java::lang::Object *); + virtual ::java::lang::String * toString(); + jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) x0; + jdouble y0; + jdouble x1; + jdouble y1; +public: // actually package-private + jdouble slope; + jdouble xIntersection; + jboolean isClip; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_PolyEdge__ diff --git a/libjava/gnu/java/awt/java2d/PolyEdgeComparator.h b/libjava/gnu/java/awt/java2d/PolyEdgeComparator.h new file mode 100644 index 00000000000..b27bdaf906f --- /dev/null +++ b/libjava/gnu/java/awt/java2d/PolyEdgeComparator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_PolyEdgeComparator__ +#define __gnu_java_awt_java2d_PolyEdgeComparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class PolyEdgeComparator; + } + } + } + } +} + +class gnu::java::awt::java2d::PolyEdgeComparator : public ::java::lang::Object +{ + +public: + PolyEdgeComparator(); + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) y; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_PolyEdgeComparator__ diff --git a/libjava/gnu/java/awt/java2d/QuadSegment.h b/libjava/gnu/java/awt/java2d/QuadSegment.h new file mode 100644 index 00000000000..10752415374 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/QuadSegment.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_QuadSegment__ +#define __gnu_java_awt_java2d_QuadSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class QuadSegment; + class Segment; + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + class QuadCurve2D; + } + } + } +} + +class gnu::java::awt::java2d::QuadSegment : public ::gnu::java::awt::java2d::Segment +{ + +public: + QuadSegment(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + QuadSegment(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + QuadSegment(::java::awt::geom::QuadCurve2D *); + virtual ::java::lang::Object * clone(); + virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble); +private: + ::gnu::java::awt::java2d::QuadSegment * offsetSubdivided(::java::awt::geom::QuadCurve2D *, jboolean); + ::java::awt::geom::Point2D * lineIntersection(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jboolean); +public: + virtual void reverse(); + virtual JArray< jdouble > * cp1(); + virtual JArray< jdouble > * cp2(); + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::gnu::java::awt::java2d::Segment)))) cp; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_QuadSegment__ diff --git a/libjava/gnu/java/awt/java2d/RasterGraphics.h b/libjava/gnu/java/awt/java2d/RasterGraphics.h new file mode 100644 index 00000000000..41ab8d7dceb --- /dev/null +++ b/libjava/gnu/java/awt/java2d/RasterGraphics.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_RasterGraphics__ +#define __gnu_java_awt_java2d_RasterGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class RasterGraphics; + } + } + } + } + namespace java + { + namespace awt + { + class GraphicsConfiguration; + namespace image + { + class ColorModel; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::java2d::RasterGraphics : public ::gnu::java::awt::java2d::AbstractGraphics2D +{ + +public: + RasterGraphics(::java::awt::image::WritableRaster *, ::java::awt::image::ColorModel *); +public: // actually protected + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::WritableRaster * getDestinationRaster(); +public: + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); +private: + ::java::awt::image::WritableRaster * __attribute__((aligned(__alignof__( ::gnu::java::awt::java2d::AbstractGraphics2D)))) raster; + ::java::awt::image::ColorModel * colorModel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_RasterGraphics__ diff --git a/libjava/gnu/java/awt/java2d/Segment.h b/libjava/gnu/java/awt/java2d/Segment.h new file mode 100644 index 00000000000..3e771bbbc32 --- /dev/null +++ b/libjava/gnu/java/awt/java2d/Segment.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_Segment__ +#define __gnu_java_awt_java2d_Segment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class Segment; + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + } + } + } +} + +class gnu::java::awt::java2d::Segment : public ::java::lang::Object +{ + +public: + Segment(); + virtual void add(::gnu::java::awt::java2d::Segment *); + virtual void reverseAll(); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual JArray< jdouble > * normal(jdouble, jdouble, jdouble, jdouble); +public: + virtual void reverse() = 0; + virtual JArray< ::gnu::java::awt::java2d::Segment * > * getDisplacedSegments(jdouble) = 0; + virtual JArray< jdouble > * cp1() = 0; + virtual JArray< jdouble > * cp2() = 0; + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) P1; + ::java::awt::geom::Point2D * P2; + ::gnu::java::awt::java2d::Segment * first; + ::gnu::java::awt::java2d::Segment * next; + ::gnu::java::awt::java2d::Segment * last; +public: // actually protected + jdouble radius; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_Segment__ diff --git a/libjava/gnu/java/awt/java2d/ShapeCache.h b/libjava/gnu/java/awt/java2d/ShapeCache.h new file mode 100644 index 00000000000..ac7f3dacdba --- /dev/null +++ b/libjava/gnu/java/awt/java2d/ShapeCache.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_ShapeCache__ +#define __gnu_java_awt_java2d_ShapeCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class ShapeCache; + } + } + } + } + namespace java + { + namespace awt + { + class Polygon; + class Rectangle; + namespace geom + { + class Arc2D; + class Ellipse2D; + class Line2D; + class RoundRectangle2D; + } + } + } +} + +class gnu::java::awt::java2d::ShapeCache : public ::java::lang::Object +{ + +public: + ShapeCache(); + ::java::awt::geom::Line2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) line; + ::java::awt::Rectangle * rect; + ::java::awt::geom::RoundRectangle2D * roundRect; + ::java::awt::geom::Ellipse2D * ellipse; + ::java::awt::geom::Arc2D * arc; + ::java::awt::Polygon * polygon; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_ShapeCache__ diff --git a/libjava/gnu/java/awt/java2d/TexturePaintContext.h b/libjava/gnu/java/awt/java2d/TexturePaintContext.h new file mode 100644 index 00000000000..5074e62c16c --- /dev/null +++ b/libjava/gnu/java/awt/java2d/TexturePaintContext.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_java2d_TexturePaintContext__ +#define __gnu_java_awt_java2d_TexturePaintContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class TexturePaintContext; + } + } + } + } + namespace java + { + namespace awt + { + class Rectangle; + class TexturePaint; + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class gnu::java::awt::java2d::TexturePaintContext : public ::java::lang::Object +{ + +public: + TexturePaintContext(::java::awt::TexturePaint *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *); + virtual void dispose(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint); +private: + void ensureRasterSize(jint, jint); + ::java::awt::image::BufferedImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image; + ::java::awt::image::WritableRaster * paintRaster; + ::java::awt::geom::AffineTransform * transform; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_java2d_TexturePaintContext__ diff --git a/libjava/gnu/java/awt/peer/ClasspathFontPeer.h b/libjava/gnu/java/awt/peer/ClasspathFontPeer.h new file mode 100644 index 00000000000..80a09c17b90 --- /dev/null +++ b/libjava/gnu/java/awt/peer/ClasspathFontPeer.h @@ -0,0 +1,123 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_ClasspathFontPeer__ +#define __gnu_java_awt_peer_ClasspathFontPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class ClasspathToolkit; + namespace peer + { + class ClasspathFontPeer; + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class FontMetrics; + namespace font + { + class FontRenderContext; + class GlyphVector; + class LineMetrics; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + } + namespace text + { + class AttributedCharacterIterator$Attribute; + class CharacterIterator; + } + } +} + +class gnu::java::awt::peer::ClasspathFontPeer : public ::java::lang::Object +{ + +public: // actually protected + static ::gnu::java::awt::ClasspathToolkit * tk(); + static jboolean isLogicalFontName(::java::lang::String *); + static ::java::lang::String * logicalFontNameToFaceName(::java::lang::String *); + static ::java::lang::String * faceNameToFamilyName(::java::lang::String *); +public: + static void copyStyleToAttrs(jint, ::java::util::Map *); +public: // actually protected + static void copyFamilyToAttrs(::java::lang::String *, ::java::util::Map *); +public: + static void copySizeToAttrs(jfloat, ::java::util::Map *); +public: // actually protected + static void copyTransformToAttrs(::java::awt::geom::AffineTransform *, ::java::util::Map *); + virtual void setStandardAttributes(::java::lang::String *, ::java::lang::String *, jint, jfloat, ::java::awt::geom::AffineTransform *); + virtual void setStandardAttributes(::java::lang::String *, ::java::util::Map *); + virtual void getStandardAttributes(::java::util::Map *); +public: + ClasspathFontPeer(::java::lang::String *, ::java::util::Map *); + ClasspathFontPeer(::java::lang::String *, jint, jint); + virtual ::java::lang::String * getName(::java::awt::Font *); + virtual ::java::lang::String * getFamily(::java::awt::Font *); + virtual ::java::lang::String * getFamily(::java::awt::Font *, ::java::util::Locale *); + virtual ::java::lang::String * getFontName(::java::awt::Font *); + virtual ::java::lang::String * getFontName(::java::awt::Font *, ::java::util::Locale *); + virtual jfloat getSize(::java::awt::Font *); + virtual jboolean isPlain(::java::awt::Font *); + virtual jboolean isBold(::java::awt::Font *); + virtual jboolean isItalic(::java::awt::Font *); + virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jint, jfloat); + virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jfloat); + virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jint); + virtual ::java::awt::Font * deriveFont(::java::awt::Font *, jint, ::java::awt::geom::AffineTransform *); + virtual ::java::awt::Font * deriveFont(::java::awt::Font *, ::java::awt::geom::AffineTransform *); + virtual ::java::awt::Font * deriveFont(::java::awt::Font *, ::java::util::Map *); + virtual ::java::util::Map * getAttributes(::java::awt::Font *); + virtual JArray< ::java::text::AttributedCharacterIterator$Attribute * > * getAvailableAttributes(::java::awt::Font *); + virtual ::java::awt::geom::AffineTransform * getTransform(::java::awt::Font *); + virtual jboolean isTransformed(::java::awt::Font *); + virtual jfloat getItalicAngle(::java::awt::Font *); + virtual jint getStyle(::java::awt::Font *); + virtual jboolean canDisplay(::java::awt::Font *, jchar) = 0; + virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint) = 0; + virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *) = 0; + virtual ::java::lang::String * getPostScriptName(::java::awt::Font *) = 0; + virtual jint getNumGlyphs(::java::awt::Font *) = 0; + virtual jint getMissingGlyphCode(::java::awt::Font *) = 0; + virtual jbyte getBaselineFor(::java::awt::Font *, jchar) = 0; + virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint) = 0; + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *) = 0; + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *) = 0; + virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint) = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual jboolean hasUniformLineMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *) = 0; + virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *) = 0; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) logicalName; + ::java::lang::String * familyName; + ::java::lang::String * faceName; + jint style; + jfloat size; + ::java::awt::geom::AffineTransform * transform; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_ClasspathFontPeer__ diff --git a/libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h b/libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h new file mode 100644 index 00000000000..53715c43b5a --- /dev/null +++ b/libjava/gnu/java/awt/peer/EmbeddedWindowPeer.h @@ -0,0 +1,146 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_EmbeddedWindowPeer__ +#define __gnu_java_awt_peer_EmbeddedWindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class EmbeddedWindowPeer; + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class MenuBar; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + } + } + } +} + +class gnu::java::awt::peer::EmbeddedWindowPeer : public ::java::lang::Object +{ + +public: + virtual void embed(jlong) = 0; + virtual void setIconImage(::java::awt::Image *) = 0; + virtual void setMenuBar(::java::awt::MenuBar *) = 0; + virtual void setResizable(jboolean) = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual jint getState() = 0; + virtual void setState(jint) = 0; + virtual void setMaximizedBounds(::java::awt::Rectangle *) = 0; + virtual jboolean isRestackSupported() = 0; + virtual void setBoundsPrivate(jint, jint, jint, jint) = 0; + virtual void toBack() = 0; + virtual void toFront() = 0; + virtual void updateAlwaysOnTop() = 0; + virtual jboolean requestWindowFocus() = 0; + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_peer_EmbeddedWindowPeer__ diff --git a/libjava/gnu/java/awt/peer/GLightweightPeer.h b/libjava/gnu/java/awt/peer/GLightweightPeer.h new file mode 100644 index 00000000000..d9e6e58e6b1 --- /dev/null +++ b/libjava/gnu/java/awt/peer/GLightweightPeer.h @@ -0,0 +1,133 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_GLightweightPeer__ +#define __gnu_java_awt_peer_GLightweightPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class GLightweightPeer; + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + } + } + } +} + +class gnu::java::awt::peer::GLightweightPeer : public ::java::lang::Object +{ + +public: + GLightweightPeer(); + virtual ::java::awt::Insets * insets(); + virtual ::java::awt::Insets * getInsets(); + virtual void beginValidate(); + virtual void endValidate(); + virtual void beginLayout(); + virtual void endLayout(); + virtual jboolean isPaintPending(); + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(jint, jint); + virtual void disable(); + virtual void dispose(); + virtual void enable(); + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Toolkit * getToolkit(); + virtual void handleEvent(::java::awt::AWTEvent *); + virtual void hide(); + virtual jboolean isFocusable(); + virtual jboolean isFocusTraversable(); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * preferredSize(); + virtual void paint(::java::awt::Graphics *); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void print(::java::awt::Graphics *); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void requestFocus(); + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong); + virtual void reshape(jint, jint, jint, jint); + virtual void setBackground(::java::awt::Color *); + virtual void setBounds(jint, jint, jint, jint); + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setEventMask(jlong); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual void setVisible(jboolean); + virtual void show(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual jboolean isObscured(); + virtual jboolean canDetermineObscurity(); + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *); + virtual void updateCursorImmediately(); + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint); + virtual jboolean handlesWheelScrolling(); + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::Image * getBackBuffer(); + virtual void flip(::java::awt::BufferCapabilities$FlipContents *); + virtual void destroyBuffers(); + virtual jboolean isRestackSupported(); + virtual void cancelPendingPaint(jint, jint, jint, jint); + virtual void restack(); + virtual ::java::awt::Rectangle * getBounds(); + virtual void reparent(::java::awt::peer::ContainerPeer *); + virtual void setBounds(jint, jint, jint, jint, jint); + virtual jboolean isReparentSupported(); + virtual void layout(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_GLightweightPeer__ diff --git a/libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h b/libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h new file mode 100644 index 00000000000..48a10a74b2f --- /dev/null +++ b/libjava/gnu/java/awt/peer/NativeEventLoopRunningEvent.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_NativeEventLoopRunningEvent__ +#define __gnu_java_awt_peer_NativeEventLoopRunningEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class NativeEventLoopRunningEvent; + } + } + } + } +} + +class gnu::java::awt::peer::NativeEventLoopRunningEvent : public ::java::awt::AWTEvent +{ + +public: + NativeEventLoopRunningEvent(::java::lang::Object *); + virtual jboolean isRunning(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) running; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_NativeEventLoopRunningEvent__ diff --git a/libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h b/libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h new file mode 100644 index 00000000000..aa276f4e655 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/AsyncImage$Loader.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_AsyncImage$Loader__ +#define __gnu_java_awt_peer_gtk_AsyncImage$Loader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class AsyncImage; + class AsyncImage$Loader; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::gtk::AsyncImage$Loader : public ::java::lang::Object +{ + +public: // actually package-private + AsyncImage$Loader(::gnu::java::awt::peer::gtk::AsyncImage *, ::java::net::URL *); +public: + virtual void run(); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) url; +public: // actually package-private + ::gnu::java::awt::peer::gtk::AsyncImage * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_AsyncImage$Loader__ diff --git a/libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h b/libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h new file mode 100644 index 00000000000..86bfeae7a1b --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/AsyncImage$NullImageSource.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_AsyncImage$NullImageSource__ +#define __gnu_java_awt_peer_gtk_AsyncImage$NullImageSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class AsyncImage; + class AsyncImage$NullImageSource; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ImageConsumer; + } + } + } +} + +class gnu::java::awt::peer::gtk::AsyncImage$NullImageSource : public ::java::lang::Object +{ + +public: // actually package-private + AsyncImage$NullImageSource(::gnu::java::awt::peer::gtk::AsyncImage *); +public: + virtual void addConsumer(::java::awt::image::ImageConsumer *); + virtual jboolean isConsumer(::java::awt::image::ImageConsumer *); + virtual void removeConsumer(::java::awt::image::ImageConsumer *); + virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *); + virtual void startProduction(::java::awt::image::ImageConsumer *); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumers; +public: // actually package-private + ::gnu::java::awt::peer::gtk::AsyncImage * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_AsyncImage$NullImageSource__ diff --git a/libjava/gnu/java/awt/peer/gtk/AsyncImage.h b/libjava/gnu/java/awt/peer/gtk/AsyncImage.h new file mode 100644 index 00000000000..d1735ea4c4b --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/AsyncImage.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_AsyncImage__ +#define __gnu_java_awt_peer_gtk_AsyncImage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class AsyncImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Image; + namespace image + { + class ImageObserver; + class ImageProducer; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::gtk::AsyncImage : public ::java::awt::Image +{ + +public: // actually package-private + AsyncImage(::java::net::URL *); +public: + virtual void flush(); + virtual ::java::awt::Graphics * getGraphics(); + virtual jint getHeight(::java::awt::image::ImageObserver *); + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *); + virtual ::java::awt::image::ImageProducer * getSource(); + virtual jint getWidth(::java::awt::image::ImageObserver *); +public: // actually package-private + virtual void addObserver(::java::awt::image::ImageObserver *); + static ::java::awt::Image * realImage(::java::awt::Image *, ::java::awt::image::ImageObserver *); + virtual void notifyObservers(jint); + virtual jint checkImage(::java::awt::image::ImageObserver *); + ::java::awt::Image * __attribute__((aligned(__alignof__( ::java::awt::Image)))) realImage__; + ::java::util::HashSet * observers; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_AsyncImage__ diff --git a/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h b/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h new file mode 100644 index 00000000000..ef29b9b8060 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/BufferedImageGraphics.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_BufferedImageGraphics__ +#define __gnu_java_awt_peer_gtk_BufferedImageGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class BufferedImageGraphics; + class CairoSurface; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Graphics; + class GraphicsConfiguration; + class Image; + class Shape; + namespace font + { + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + class RenderedImage; + } + } + } +} + +class gnu::java::awt::peer::gtk::BufferedImageGraphics : public ::gnu::java::awt::peer::gtk::CairoGraphics2D +{ + +public: + BufferedImageGraphics(::java::awt::image::BufferedImage *); +public: // actually package-private + BufferedImageGraphics(::gnu::java::awt::peer::gtk::BufferedImageGraphics *); +private: + void updateBufferedImage(jint, jint, jint, jint); +public: + virtual ::java::awt::Graphics * create(); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * getRealBounds(); +public: + virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); +public: // actually protected + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +public: + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); +private: + jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *); + void createBuffer(); +public: // actually protected + virtual ::java::awt::image::ColorModel * getNativeCM(); + virtual ::java::awt::image::ColorModel * getBufferCM(); +private: + ::java::awt::image::BufferedImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) image; + ::java::awt::image::BufferedImage * buffer; + jboolean locked; + jint imageWidth; + jint imageHeight; +public: // actually package-private + ::gnu::java::awt::peer::gtk::CairoSurface * surface; + static ::java::util::WeakHashMap * bufferedImages; +private: + jlong cairo_t; + jboolean hasFastCM; + jboolean hasAlpha; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_BufferedImageGraphics__ diff --git a/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h b/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h new file mode 100644 index 00000000000..a20f47212dd --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/CairoGraphics2D.h @@ -0,0 +1,279 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_CairoGraphics2D__ +#define __gnu_java_awt_peer_gtk_CairoGraphics2D__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class CairoGraphics2D; + class GdkFontPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class BasicStroke; + class Color; + class Composite; + class CompositeContext; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Paint; + class Rectangle; + class RenderingHints; + class RenderingHints$Key; + class Shape; + class Stroke; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class PathIterator; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ColorModel; + class ImageObserver; + class Raster; + class RenderedImage; + namespace renderable + { + class RenderableImage; + } + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class gnu::java::awt::peer::gtk::CairoGraphics2D : public ::java::awt::Graphics2D +{ + +public: + CairoGraphics2D(); + virtual void setup(jlong); + virtual void copy(::gnu::java::awt::peer::gtk::CairoGraphics2D *, jlong); + virtual void finalize(); + virtual void dispose(); +private: + jlong init(jlong); +public: + virtual ::java::awt::Graphics * create() = 0; + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration() = 0; +public: // actually protected + virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint) = 0; + virtual ::java::awt::geom::Rectangle2D * getRealBounds() = 0; +public: + virtual void disposeNative(jlong); +private: + void drawPixels(jlong, JArray< jint > *, jint, jint, jint, JArray< jdouble > *, jdouble, jint); + void setGradient(jlong, jdouble, jdouble, jdouble, jdouble, jint, jint, jint, jint, jint, jint, jint, jint, jboolean); + void setPaintPixels(jlong, JArray< jint > *, jint, jint, jint, jboolean, jint, jint); + void cairoSetMatrix(jlong, JArray< jdouble > *); + void cairoScale(jlong, jdouble, jdouble); + void cairoSetOperator(jlong, jint); + void cairoSetRGBAColor(jlong, jdouble, jdouble, jdouble, jdouble); + void cairoSetFillRule(jlong, jint); + void cairoSetLine(jlong, jdouble, jint, jint, jdouble); + void cairoSetDash(jlong, JArray< jdouble > *, jint, jdouble); +public: // actually package-private + virtual void cairoDrawGlyphVector(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jfloat, jfloat, jint, JArray< jint > *, JArray< jfloat > *); +private: + void cairoSetFont(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *); + void cairoRelCurveTo(jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + void cairoRectangle(jlong, jdouble, jdouble, jdouble, jdouble); + void cairoArc(jlong, jdouble, jdouble, jdouble, jdouble, jdouble); + void cairoSave(jlong); + void cairoRestore(jlong); + void cairoNewPath(jlong); + void cairoClosePath(jlong); + void cairoMoveTo(jlong, jdouble, jdouble); + void cairoRelMoveTo(jlong, jdouble, jdouble); + void cairoLineTo(jlong, jdouble, jdouble); + void cairoRelLineTo(jlong, jdouble, jdouble); + void cairoCurveTo(jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + void cairoStroke(jlong); + void cairoFill(jlong, jdouble); + void cairoClip(jlong); + void cairoPreserveClip(jlong); + void cairoResetClip(jlong); + void cairoDrawLine(jlong, jdouble, jdouble, jdouble, jdouble); + void cairoDrawRect(jlong, jdouble, jdouble, jdouble, jdouble); + void cairoFillRect(jlong, jdouble, jdouble, jdouble, jdouble); +public: + virtual void setTransform(::java::awt::geom::AffineTransform *); +private: + void setTransformImpl(::java::awt::geom::AffineTransform *); +public: + virtual void transform(::java::awt::geom::AffineTransform *); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); + virtual void translate(jdouble, jdouble); + virtual void translate(jint, jint); + virtual void shear(jdouble, jdouble); + virtual void clip(::java::awt::Shape *); + virtual ::java::awt::Paint * getPaint(); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual void setPaint(::java::awt::Paint *); +public: // actually protected + virtual void setCustomPaint(::java::awt::Rectangle *); +public: + virtual ::java::awt::Stroke * getStroke(); + virtual void setStroke(::java::awt::Stroke *); +public: // actually protected + virtual ::java::awt::Rectangle * findStrokedBounds(::java::awt::Shape *); +public: + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual void setColor(::java::awt::Color *); +public: // actually package-private + virtual void updateColor(); +public: + virtual ::java::awt::Color * getColor(); + virtual void clipRect(jint, jint, jint, jint); + virtual ::java::awt::Shape * getClip(); + virtual ::java::awt::Rectangle * getClipBounds(); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * getClipInDevSpace(); +public: + virtual void setClip(jint, jint, jint, jint); + virtual void setClip(::java::awt::Shape *); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getBackground(); + virtual ::java::awt::Composite * getComposite(); + virtual void setComposite(::java::awt::Composite *); +public: // actually protected + virtual ::java::awt::image::ColorModel * getNativeCM() = 0; + virtual ::java::awt::image::ColorModel * getBufferCM(); +public: + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); +private: + void createPath(::java::awt::Shape *, jboolean); +public: + virtual void clearRect(jint, jint, jint, jint); + virtual void draw3DRect(jint, jint, jint, jint, jboolean); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void drawLine(jint, jint, jint, jint); + virtual void drawRect(jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawOval(jint, jint, jint, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *); + virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *); + virtual void setRenderingHints(::java::util::Map *); + virtual void addRenderingHints(::java::util::Map *); + virtual ::java::awt::RenderingHints * getRenderingHints(); +private: + jint getInterpolation(); +public: // actually protected + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +public: + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); + virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *); + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *); + virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual void drawString(::java::lang::String *, jfloat, jfloat); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); + virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat); + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual ::java::awt::FontMetrics * getFontMetrics(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::Font * getFont(); + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean); + virtual ::java::lang::String * toString(); +private: + jboolean drawRaster(::java::awt::image::ColorModel *, ::java::awt::image::Raster *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *); + jdouble shiftX(jdouble, jboolean); + jdouble shiftY(jdouble, jboolean); + void walkPath(::java::awt::geom::PathIterator *, jboolean); + ::java::util::Map * getDefaultHints(); +public: + static JArray< jint > * findSimpleIntegerArray(::java::awt::image::ColorModel *, ::java::awt::image::Raster *); +private: + void updateClip(::java::awt::geom::AffineTransform *); + static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) nativePointer; + ::java::awt::Paint * paint; + jboolean customPaint; + ::java::awt::Stroke * stroke; + ::java::awt::Color * fg; + ::java::awt::Color * bg; + ::java::awt::Shape * clip__; + ::java::awt::geom::AffineTransform * transform__; + ::java::awt::Font * font; + ::java::awt::Composite * comp; + ::java::awt::CompositeContext * compCtx; +private: + ::java::awt::RenderingHints * hints; +public: // actually protected + jboolean shiftDrawCalls; +private: + jboolean firstClip; + ::java::awt::Shape * originalClip; + static ::java::awt::BasicStroke * draw3DRectStroke; +public: // actually package-private + static ::java::awt::image::ColorModel * rgb32; + static ::java::awt::image::ColorModel * argb32; +public: + static const jint INTERPOLATION_NEAREST = 0; + static const jint INTERPOLATION_BILINEAR = 1; + static const jint INTERPOLATION_BICUBIC = 5; + static const jint ALPHA_INTERPOLATION_SPEED = 2; + static const jint ALPHA_INTERPOLATION_QUALITY = 3; + static const jint ALPHA_INTERPOLATION_DEFAULT = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_CairoGraphics2D__ diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h b/libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h new file mode 100644 index 00000000000..3373a83bdbd --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_CairoSurface$CairoDataBuffer__ +#define __gnu_java_awt_peer_gtk_CairoSurface$CairoDataBuffer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class CairoSurface; + class CairoSurface$CairoDataBuffer; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::CairoSurface$CairoDataBuffer : public ::java::awt::image::DataBuffer +{ + +public: + CairoSurface$CairoDataBuffer(::gnu::java::awt::peer::gtk::CairoSurface *); + virtual jint getElem(jint, jint); + virtual void setElem(jint, jint, jint); +public: // actually package-private + ::gnu::java::awt::peer::gtk::CairoSurface * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_CairoSurface$CairoDataBuffer__ diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurface.h b/libjava/gnu/java/awt/peer/gtk/CairoSurface.h new file mode 100644 index 00000000000..bc33bdb6391 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/CairoSurface.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_CairoSurface__ +#define __gnu_java_awt_peer_gtk_CairoSurface__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class CairoSurface; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics2D; + namespace image + { + class BufferedImage; + class ColorModel; + class SampleModel; + } + } + } +} + +class gnu::java::awt::peer::gtk::CairoSurface : public ::java::awt::image::WritableRaster +{ + + void create(jint, jint, jint); + void destroy(jlong, jlong); + jint nativeGetElem(jlong, jint); + void nativeSetElem(jlong, jint, jint); +public: + virtual void nativeDrawSurface(jlong, jlong, JArray< jdouble > *, jdouble, jint); + virtual void drawSurface(jlong, JArray< jdouble > *, jdouble, jint); +public: // actually package-private + virtual JArray< jint > * nativeGetPixels(jlong, jint); +public: + virtual JArray< jint > * getPixels(jint); +public: // actually package-private + virtual void nativeSetPixels(jlong, JArray< jint > *); +public: + virtual void setPixels(JArray< jint > *); +public: // actually package-private + virtual jlong getFlippedBuffer(jlong, jint); +public: + CairoSurface(jint, jint); +public: // actually package-private + CairoSurface(::gnu::java::awt::peer::gtk::GtkImage *); +public: + virtual void dispose(); +public: // actually protected + virtual void finalize(); +public: + virtual ::gnu::java::awt::peer::gtk::GtkImage * getGtkImage(); + static ::java::awt::image::BufferedImage * getBufferedImage(jint, jint); + static ::java::awt::image::BufferedImage * getBufferedImage(::gnu::java::awt::peer::gtk::GtkImage *); + static ::java::awt::image::BufferedImage * getBufferedImage(::gnu::java::awt::peer::gtk::CairoSurface *); + virtual ::java::awt::Graphics2D * getGraphics(); +public: // actually package-private + virtual jlong nativeNewCairoContext(jlong); +public: + virtual jlong newCairoContext(); +public: // actually package-private + virtual void copyAreaNative2(jlong, jint, jint, jint, jint, jint, jint, jint); +public: + virtual void copyAreaNative(jint, jint, jint, jint, jint, jint, jint); +public: // actually protected + static ::java::awt::image::SampleModel * createCairoSampleModel(jint, jint); +public: // actually package-private + static jint access$0(::gnu::java::awt::peer::gtk::CairoSurface *, jlong, jint); + static void access$1(::gnu::java::awt::peer::gtk::CairoSurface *, jlong, jint, jint); + jint __attribute__((aligned(__alignof__( ::java::awt::image::WritableRaster)))) width; + jint height; + jlong surfacePointer; + jlong bufferPointer; + static ::java::awt::image::ColorModel * cairoColorModel; + static ::java::awt::image::ColorModel * cairoCM_pre; + static ::java::awt::image::ColorModel * cairoCM_opaque; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_CairoSurface__ diff --git a/libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h b/libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h new file mode 100644 index 00000000000..938da7be0a7 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_CairoSurfaceGraphics__ +#define __gnu_java_awt_peer_gtk_CairoSurfaceGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class CairoSurface; + class CairoSurfaceGraphics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Graphics; + class GraphicsConfiguration; + class Image; + class Shape; + namespace font + { + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + class RenderedImage; + } + } + } +} + +class gnu::java::awt::peer::gtk::CairoSurfaceGraphics : public ::gnu::java::awt::peer::gtk::CairoGraphics2D +{ + +public: + CairoSurfaceGraphics(::gnu::java::awt::peer::gtk::CairoSurface *); +private: + CairoSurfaceGraphics(::gnu::java::awt::peer::gtk::CairoSurfaceGraphics *); +public: + virtual ::java::awt::Graphics * create(); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * getRealBounds(); +public: + virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); +public: // actually protected + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +public: + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); +private: + jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *); + void createBuffer(); +public: // actually protected + virtual ::java::awt::image::ColorModel * getNativeCM(); + virtual ::java::awt::image::ColorModel * getBufferCM(); + ::gnu::java::awt::peer::gtk::CairoSurface * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) surface; +private: + ::java::awt::image::BufferedImage * buffer; + jlong cairo_t; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_CairoSurfaceGraphics__ diff --git a/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h b/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h new file mode 100644 index 00000000000..fbc87a85658 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/ComponentGraphics.h @@ -0,0 +1,128 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_ComponentGraphics__ +#define __gnu_java_awt_peer_gtk_ComponentGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pointer; + } + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class ComponentGraphics; + class GtkComponentPeer; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Graphics; + class Graphics2D; + class GraphicsConfiguration; + class Image; + class Shape; + namespace font + { + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + class RenderedImage; + } + } + } +} + +class gnu::java::awt::peer::gtk::ComponentGraphics : public ::gnu::java::awt::peer::gtk::CairoGraphics2D +{ + +public: // actually package-private + ComponentGraphics(); +private: + ComponentGraphics(::gnu::java::awt::peer::gtk::GtkComponentPeer *); + ComponentGraphics(::gnu::java::awt::peer::gtk::ComponentGraphics *); + jlong initState(::gnu::java::awt::peer::gtk::GtkComponentPeer *); + void lock(); + void unlock(); +public: + virtual void dispose(); +private: + void disposeSurface(jlong); +public: // actually protected + virtual jlong initFromVolatile(jlong, jint, jint); +private: + void start_gdk_drawing(); + void end_gdk_drawing(); +public: + static jboolean hasXRender(); +private: + static ::gnu::classpath::Pointer * nativeGrab(::gnu::java::awt::peer::gtk::GtkComponentPeer *); + void copyAreaNative(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jint, jint, jint, jint, jint, jint); + void drawVolatile(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jlong, jint, jint, jint, jint, jint, jint, jint, jint); +public: + static ::gnu::java::awt::peer::gtk::GtkImage * grab(::gnu::java::awt::peer::gtk::GtkComponentPeer *); + static ::java::awt::Graphics2D * getComponentGraphics(::gnu::java::awt::peer::gtk::GtkComponentPeer *); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); + virtual ::java::awt::Graphics * create(); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * getRealBounds(); +public: + virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); +public: // actually protected + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +public: + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual void setClip(::java::awt::Shape *); +private: + jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *); + void createBuffer(); +public: // actually protected + virtual ::java::awt::image::ColorModel * getNativeCM(); +private: + static jboolean hasXRenderExtension; + ::gnu::java::awt::peer::gtk::GtkComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoGraphics2D)))) component; +public: // actually protected + jlong cairo_t; +private: + ::java::awt::image::BufferedImage * buffer; + ::java::awt::image::BufferedImage * componentBuffer; + static ::java::lang::ThreadLocal * hasLock; + static ::java::lang::Integer * ONE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_ComponentGraphics__ diff --git a/libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h b/libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h new file mode 100644 index 00000000000..7ba10f86f07 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_ComponentGraphicsCopy__ +#define __gnu_java_awt_peer_gtk_ComponentGraphicsCopy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class ComponentGraphicsCopy; + class GtkComponentPeer; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Image; + class Shape; + namespace font + { + class GlyphVector; + } + namespace geom + { + class AffineTransform; + } + namespace image + { + class ImageObserver; + class RenderedImage; + } + } + } +} + +class gnu::java::awt::peer::gtk::ComponentGraphicsCopy : public ::gnu::java::awt::peer::gtk::CairoSurfaceGraphics +{ + +public: // actually package-private + virtual void getPixbuf(::gnu::java::awt::peer::gtk::GtkComponentPeer *, ::gnu::java::awt::peer::gtk::GtkImage *); + virtual void copyPixbuf(::gnu::java::awt::peer::gtk::GtkComponentPeer *, ::gnu::java::awt::peer::gtk::GtkImage *, jint, jint, jint, jint); +public: + ComponentGraphicsCopy(jint, jint, ::gnu::java::awt::peer::gtk::GtkComponentPeer *); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); +public: // actually protected + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +public: + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); +private: + ::gnu::java::awt::peer::gtk::GtkComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::CairoSurfaceGraphics)))) component; + ::gnu::java::awt::peer::gtk::GtkImage * gtkimage; + jint width; + jint height; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_ComponentGraphicsCopy__ diff --git a/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h b/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h new file mode 100644 index 00000000000..312e69c0076 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_FreetypeGlyphVector__ +#define __gnu_java_awt_peer_gtk_FreetypeGlyphVector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class FreetypeGlyphVector; + class GdkFontPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Shape; + namespace font + { + class FontRenderContext; + class GlyphJustificationInfo; + class GlyphMetrics; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class GeneralPath; + class Point2D; + class Rectangle2D; + } + } + } +} + +class gnu::java::awt::peer::gtk::FreetypeGlyphVector : public ::java::awt::font::GlyphVector +{ + +public: + FreetypeGlyphVector(::java::awt::Font *, ::java::lang::String *, ::java::awt::font::FontRenderContext *); + FreetypeGlyphVector(::java::awt::Font *, JArray< jchar > *, jint, jint, ::java::awt::font::FontRenderContext *, jint); + FreetypeGlyphVector(::java::awt::Font *, JArray< jint > *, ::java::awt::font::FontRenderContext *); +private: + FreetypeGlyphVector(::gnu::java::awt::peer::gtk::FreetypeGlyphVector *); + void getGlyphs(); +public: + virtual JArray< jint > * getGlyphs(JArray< jint > *); +private: + ::java::awt::geom::Point2D * getKerning(jint, jint); + JArray< jdouble > * getMetricsNative(jint); + ::java::awt::geom::GeneralPath * getGlyphOutlineNative(jint); +public: + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::awt::font::GlyphVector *); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual void performDefaultLayout(); + virtual jint getGlyphCode(jint); + virtual JArray< jint > * getGlyphCodes(jint, jint, JArray< jint > *); + virtual ::java::awt::Shape * getGlyphLogicalBounds(jint); + virtual void setupGlyphMetrics(); + virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint); + virtual ::java::awt::Shape * getGlyphOutline(jint); + virtual ::java::awt::geom::Point2D * getGlyphPosition(jint); + virtual JArray< jfloat > * getGlyphPositions(jint, jint, JArray< jfloat > *); + virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint); + virtual ::java::awt::Shape * getGlyphVisualBounds(jint); + virtual ::java::awt::geom::Rectangle2D * getLogicalBounds(); + virtual jint getNumGlyphs(); + virtual ::java::awt::Shape * getOutline(); + virtual ::java::awt::font::GlyphJustificationInfo * getGlyphJustificationInfo(jint); + virtual ::java::awt::Shape * getOutline(jfloat, jfloat); + virtual ::java::awt::geom::Rectangle2D * getVisualBounds(); + virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *); + virtual void setGlyphTransform(jint, ::java::awt::geom::AffineTransform *); +private: + ::java::awt::Font * __attribute__((aligned(__alignof__( ::java::awt::font::GlyphVector)))) font; + ::gnu::java::awt::peer::gtk::GdkFontPeer * peer; + ::java::awt::geom::Rectangle2D * logicalBounds; + JArray< jfloat > * glyphPositions; + ::java::lang::String * s; + ::java::awt::font::FontRenderContext * frc; + jint nGlyphs; + JArray< jint > * glyphCodes; + JArray< ::java::awt::geom::AffineTransform * > * glyphTransforms; + JArray< ::java::awt::font::GlyphMetrics * > * metricsCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_FreetypeGlyphVector__ diff --git a/libjava/gnu/java/awt/peer/gtk/GThreadMutex.h b/libjava/gnu/java/awt/peer/gtk/GThreadMutex.h new file mode 100644 index 00000000000..9380a5dda27 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GThreadMutex.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GThreadMutex__ +#define __gnu_java_awt_peer_gtk_GThreadMutex__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GThreadMutex; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GThreadMutex : public ::java::lang::Object +{ + +public: // actually package-private + GThreadMutex(); + volatile jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) potentialLockers; + ::java::lang::Object * lockForPotentialLockers; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GThreadMutex__ diff --git a/libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h b/libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h new file mode 100644 index 00000000000..803f173cf77 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ +#define __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GThreadNativeMethodRunner; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GThreadNativeMethodRunner : public ::java::lang::Thread +{ + +public: // actually package-private + GThreadNativeMethodRunner(jlong, jlong, jboolean); +public: + virtual void run(); +private: + void nativeRun(jlong, jlong); + static jint registerThread(::java::lang::Thread *); +public: // actually package-private + static jint threadToThreadID(::java::lang::Thread *); + static ::java::lang::Thread * threadIDToThread(jint); +private: + void registerSelfJoinable(); +public: // actually package-private + static void deRegisterJoinable(::java::lang::Thread *); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Thread)))) funcPtr; + jlong funcArg; + static JArray< ::java::lang::ref::WeakReference * > * threads; + static ::java::util::Set * joinable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h b/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h new file mode 100644 index 00000000000..65ca7a2dea3 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkFontMetrics__ +#define __gnu_java_awt_peer_gtk_GdkFontMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkFontMetrics; + class GdkFontPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + } + } +} + +class gnu::java::awt::peer::gtk::GdkFontMetrics : public ::java::awt::FontMetrics +{ + + static ::java::awt::Font * initFont(::java::awt::Font *); +public: + GdkFontMetrics(::java::awt::Font *); + virtual jint stringWidth(::java::lang::String *); + virtual jint charWidth(jchar); + virtual jint charsWidth(JArray< jchar > *, jint, jint); + virtual jint getLeading(); + virtual jint getAscent(); + virtual jint getMaxAscent(); + virtual jint getDescent(); + virtual jint getMaxDescent(); + virtual jint getMaxAdvance(); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) font_metrics; +public: // actually package-private + ::gnu::java::awt::peer::gtk::GdkFontPeer * peer; + static const jint FONT_METRICS_ASCENT = 0; + static const jint FONT_METRICS_MAX_ASCENT = 1; + static const jint FONT_METRICS_DESCENT = 2; + static const jint FONT_METRICS_MAX_DESCENT = 3; + static const jint FONT_METRICS_MAX_ADVANCE = 4; + static const jint TEXT_METRICS_X_BEARING = 0; + static const jint TEXT_METRICS_Y_BEARING = 1; + static const jint TEXT_METRICS_WIDTH = 2; + static const jint TEXT_METRICS_HEIGHT = 3; + static const jint TEXT_METRICS_X_ADVANCE = 4; + static const jint TEXT_METRICS_Y_ADVANCE = 5; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkFontMetrics__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h new file mode 100644 index 00000000000..508a37d8d04 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontLineMetrics.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontLineMetrics__ +#define __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontLineMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkFontPeer; + class GdkFontPeer$GdkFontLineMetrics; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontLineMetrics : public ::java::awt::font::LineMetrics +{ + +public: + GdkFontPeer$GdkFontLineMetrics(::gnu::java::awt::peer::gtk::GdkFontPeer *, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jint); + virtual jfloat getAscent(); + virtual jint getBaselineIndex(); + virtual JArray< jfloat > * getBaselineOffsets(); + virtual jfloat getDescent(); + virtual jfloat getHeight(); + virtual jfloat getLeading(); + virtual jint getNumChars(); + virtual jfloat getStrikethroughOffset(); + virtual jfloat getStrikethroughThickness(); + virtual jfloat getUnderlineOffset(); + virtual jfloat getUnderlineThickness(); +private: + jint __attribute__((aligned(__alignof__( ::java::awt::font::LineMetrics)))) nchars; +public: // actually package-private + ::gnu::java::awt::peer::gtk::GdkFontPeer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontLineMetrics__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h new file mode 100644 index 00000000000..0c9961ba311 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer$GdkFontMetrics.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontMetrics__ +#define __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkFontPeer; + class GdkFontPeer$GdkFontMetrics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + } + } +} + +class gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontMetrics : public ::java::awt::FontMetrics +{ + +public: + GdkFontPeer$GdkFontMetrics(::gnu::java::awt::peer::gtk::GdkFontPeer *, ::java::awt::Font *); + virtual jint stringWidth(::java::lang::String *); + virtual jint charWidth(jchar); + virtual jint charsWidth(JArray< jchar > *, jint, jint); + virtual jint getHeight(); + virtual jint getLeading(); + virtual jint getAscent(); + virtual jint getMaxAscent(); + virtual jint getDescent(); + virtual jint getMaxDescent(); + virtual jint getMaxAdvance(); +public: // actually package-private + ::gnu::java::awt::peer::gtk::GdkFontPeer * __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkFontPeer$GdkFontMetrics__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h new file mode 100644 index 00000000000..903210aca3a --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h @@ -0,0 +1,142 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkFontPeer__ +#define __gnu_java_awt_peer_gtk_GdkFontPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkFontPeer; + class GdkFontPeer$GdkFontMetrics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class FontMetrics; + namespace font + { + class FontRenderContext; + class GlyphMetrics; + class GlyphVector; + class LineMetrics; + } + namespace geom + { + class Rectangle2D; + } + } + namespace nio + { + class ByteBuffer; + } + namespace text + { + class CharacterIterator; + } + } +} + +class gnu::java::awt::peer::gtk::GdkFontPeer : public ::gnu::java::awt::peer::ClasspathFontPeer +{ + +public: // actually package-private + static void initStaticState(); +private: + void initState(); + void dispose(); + void setFont(::java::lang::String *, jint, jint); +public: // actually package-private + virtual void getFontMetrics(JArray< jdouble > *); + virtual void getTextMetrics(::java::lang::String *, JArray< jdouble > *); + virtual void releasePeerGraphicsResource(); +public: // actually protected + virtual void finalize(); +private: + ::java::lang::String * buildString(::java::text::CharacterIterator *); + ::java::lang::String * buildString(::java::text::CharacterIterator *, jint, jint); + ::java::lang::String * buildString(JArray< jchar > *, jint, jint); +public: + GdkFontPeer(::java::lang::String *, jint); + GdkFontPeer(::java::lang::String *, jint, jint); + GdkFontPeer(::java::lang::String *, ::java::util::Map *); +public: // actually package-private + static ::java::awt::Font * initFont(::java::awt::Font *); +private: + void setupMetrics(); +public: + virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *); +private: + JArray< jbyte > * getTrueTypeTable(jbyte, jbyte, jbyte, jbyte); +public: + virtual ::java::lang::String * getPostScriptName(::java::awt::Font *); +private: + ::java::lang::String * getName(jint, ::java::util::Locale *); +public: + virtual jboolean canDisplay(::java::awt::Font *, jchar); + virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *); + virtual jbyte getBaselineFor(::java::awt::Font *, jchar); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *); + virtual jint getMissingGlyphCode(::java::awt::Font *); + virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint); + virtual jint getNumGlyphs(::java::awt::Font *); + virtual jboolean hasUniformLineMetrics(::java::awt::Font *); + virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::lang::String *, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); +public: // actually package-private + virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint); + virtual void putGlyphMetrics(jint, ::java::lang::Object *); + static ::java::awt::font::FontRenderContext * DEFAULT_CTX; + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) textLayoutCache; +private: + jint native_state; + ::java::util::HashMap * metricsCache; + static const jint FONT_METRICS_ASCENT = 0; + static const jint FONT_METRICS_MAX_ASCENT = 1; + static const jint FONT_METRICS_DESCENT = 2; + static const jint FONT_METRICS_MAX_DESCENT = 3; + static const jint FONT_METRICS_MAX_ADVANCE = 4; + static const jint FONT_METRICS_HEIGHT = 5; + static const jint FONT_METRICS_UNDERLINE_OFFSET = 6; + static const jint FONT_METRICS_UNDERLINE_THICKNESS = 7; +public: // actually package-private + jfloat ascent; + jfloat descent; + jfloat maxAscent; + jfloat maxDescent; + jfloat maxAdvance; + jfloat height; + jfloat underlineOffset; + jfloat underlineThickness; + ::gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontMetrics * metrics; +private: + ::java::nio::ByteBuffer * nameTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkFontPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h new file mode 100644 index 00000000000..d36580f0f58 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkGraphicsConfiguration__ +#define __gnu_java_awt_peer_gtk_GdkGraphicsConfiguration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkGraphicsConfiguration; + class GdkScreenGraphicsDevice; + } + } + } + } + } + namespace java + { + namespace awt + { + class BufferCapabilities; + class GraphicsDevice; + class ImageCapabilities; + class Rectangle; + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class ColorModel; + class VolatileImage; + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkGraphicsConfiguration : public ::java::awt::GraphicsConfiguration +{ + +public: + GdkGraphicsConfiguration(::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice *); + virtual ::java::awt::GraphicsDevice * getDevice(); + virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint); + virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint, jint); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::ColorModel * getColorModel(jint); + virtual ::java::awt::geom::AffineTransform * getDefaultTransform(); + virtual ::java::awt::geom::AffineTransform * getNormalizingTransform(); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::BufferCapabilities * getBufferCapabilities(); + virtual ::java::awt::ImageCapabilities * getImageCapabilities(); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, jint); +public: // actually package-private + ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * __attribute__((aligned(__alignof__( ::java::awt::GraphicsConfiguration)))) gdkScreenGraphicsDevice; + ::java::awt::image::ColorModel * opaqueColorModel; + ::java::awt::image::ColorModel * bitmaskColorModel; + ::java::awt::image::ColorModel * translucentColorModel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkGraphicsConfiguration__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h new file mode 100644 index 00000000000..8249a1e9a3e --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__ +#define __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkGraphicsEnvironment; + class GdkScreenGraphicsDevice; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Graphics2D; + class GraphicsDevice; + namespace image + { + class BufferedImage; + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkGraphicsEnvironment : public ::java::awt::GraphicsEnvironment +{ + +public: // actually package-private + static void initStaticState(); +public: + GdkGraphicsEnvironment(); +public: // actually package-private + virtual void nativeInitState(); +public: + virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices(); +private: + JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * > * nativeGetScreenDevices(); +public: + virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice(); +private: + ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * nativeGetDefaultScreenDevice(); +public: + virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *); +private: + jint nativeGetNumFontFamilies(); + void nativeGetFontFamilies(JArray< ::java::lang::String * > *); +public: + virtual JArray< ::java::awt::Font * > * getAllFonts(); + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(); + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *); +public: // actually package-private + virtual JArray< jint > * getMouseCoordinates(); +private: + jint __attribute__((aligned(__alignof__( ::java::awt::GraphicsEnvironment)))) native_state; + ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * defaultDevice; + JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice * > * devices; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h new file mode 100644 index 00000000000..197639f331e --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReader.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReader__ +#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkPixbufDecoder; + class GdkPixbufDecoder$GdkPixbufReader; + class GdkPixbufDecoder$GdkPixbufReaderSpi; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class ColorModel; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReadParam; + namespace metadata + { + class IIOMetadata; + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReader : public ::javax::imageio::ImageReader +{ + +public: + GdkPixbufDecoder$GdkPixbufReader(::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi *, ::java::lang::Object *); + GdkPixbufDecoder$GdkPixbufReader(::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi *, ::java::lang::Object *, ::gnu::java::awt::peer::gtk::GdkPixbufDecoder *); + virtual void setDimensions(jint, jint); + virtual void setProperties(::java::util::Hashtable *); + virtual void setColorModel(::java::awt::image::ColorModel *); + virtual void setHints(jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); + virtual void imageComplete(jint); + virtual ::java::awt::image::BufferedImage * getBufferedImage(); + virtual jint getNumImages(jboolean); + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint); + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata(); + virtual ::java::util::Iterator * getImageTypes(jint); + virtual jint getHeight(jint); + virtual jint getWidth(jint); + virtual void setInput(::java::lang::Object *, jboolean, jboolean); + virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *); +public: // actually package-private + ::gnu::java::awt::peer::gtk::GdkPixbufDecoder * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) dec; + ::java::awt::image::BufferedImage * bufferedImage; + ::java::awt::image::ColorModel * defaultModel; + jint width; + jint height; + ::java::lang::String * ext; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReader__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h new file mode 100644 index 00000000000..11816710361 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufReaderSpi.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReaderSpi__ +#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReaderSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkPixbufDecoder$GdkPixbufReaderSpi; + } + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageReader; + } + } +} + +class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi : public ::javax::imageio::spi::ImageReaderSpi +{ + +public: + GdkPixbufDecoder$GdkPixbufReaderSpi(); + virtual jboolean canDecodeInput(::java::lang::Object *); + virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *); + virtual ::java::lang::String * getDescription(::java::util::Locale *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufReaderSpi__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h new file mode 100644 index 00000000000..d88b2ae8a86 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriter.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriter__ +#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkPixbufDecoder$GdkPixbufWriter; + class GdkPixbufDecoder$GdkPixbufWriterSpi; + } + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageTypeSpecifier; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriter : public ::javax::imageio::ImageWriter +{ + +public: + GdkPixbufDecoder$GdkPixbufWriter(::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi *, ::java::lang::Object *); + virtual ::javax::imageio::metadata::IIOMetadata * convertImageMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *); + virtual ::javax::imageio::metadata::IIOMetadata * convertStreamMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageWriteParam *); + virtual ::javax::imageio::metadata::IIOMetadata * getDefaultImageMetadata(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *); + virtual ::javax::imageio::metadata::IIOMetadata * getDefaultStreamMetadata(::javax::imageio::ImageWriteParam *); + virtual void write(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +private: + void write(JArray< jbyte > *); +public: + virtual void run(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriter)))) ext; +private: + static ::java::lang::Object * DATADONE; + ::java::util::ArrayList * data; + ::java::io::IOException * exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriter__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h new file mode 100644 index 00000000000..d8ac5af3bfd --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$GdkPixbufWriterSpi.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriterSpi__ +#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriterSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkPixbufDecoder$GdkPixbufWriterSpi; + } + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + class ImageWriter; + } + } +} + +class gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi : public ::javax::imageio::spi::ImageWriterSpi +{ + +public: + GdkPixbufDecoder$GdkPixbufWriterSpi(); + virtual jboolean canEncodeImage(::javax::imageio::ImageTypeSpecifier *); + virtual ::javax::imageio::ImageWriter * createWriterInstance(::java::lang::Object *); + virtual ::java::lang::String * getDescription(::java::util::Locale *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$GdkPixbufWriterSpi__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h new file mode 100644 index 00000000000..03316f5395e --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder$ImageFormatSpec__ +#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder$ImageFormatSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkPixbufDecoder$ImageFormatSpec; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkPixbufDecoder$ImageFormatSpec : public ::java::lang::Object +{ + +public: + GdkPixbufDecoder$ImageFormatSpec(::java::lang::String *, jboolean); + virtual void addMimeType(::java::lang::String *); + virtual void addExtension(::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jboolean writable; + ::java::util::ArrayList * mimeTypes; + ::java::util::ArrayList * extensions; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder$ImageFormatSpec__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h new file mode 100644 index 00000000000..8f7066551cb --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkPixbufDecoder__ +#define __gnu_java_awt_peer_gtk_GdkPixbufDecoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkPixbufDecoder; + class GdkPixbufDecoder$GdkPixbufReaderSpi; + class GdkPixbufDecoder$GdkPixbufWriter; + class GdkPixbufDecoder$GdkPixbufWriterSpi; + class GdkPixbufDecoder$ImageFormatSpec; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + } + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace imageio + { + namespace spi + { + class IIORegistry; + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkPixbufDecoder : public ::gnu::java::awt::image::ImageDecoder +{ + +public: // actually package-private + static void initStaticState(); + virtual void initState(); + virtual void pumpBytes(JArray< jbyte > *, jint); + virtual void pumpDone(); + virtual void finish(jboolean); + static void streamImage(JArray< jint > *, ::java::lang::String *, jint, jint, jboolean, ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriter *); +public: + GdkPixbufDecoder(::java::io::DataInput *); + GdkPixbufDecoder(::java::io::InputStream *); + GdkPixbufDecoder(::java::lang::String *); + GdkPixbufDecoder(::java::net::URL *); + GdkPixbufDecoder(JArray< jbyte > *, jint, jint); +public: // actually package-private + virtual void areaPrepared(jint, jint); + virtual void areaUpdated(jint, jint, jint, jint, JArray< jint > *, jint); +public: + virtual void produce(::java::util::Vector *, ::java::io::InputStream *); + virtual void finalize(); + static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$ImageFormatSpec * registerFormat(::java::lang::String *, jboolean); +public: // actually package-private + static JArray< ::java::lang::String * > * getFormatNames(jboolean); + static JArray< ::java::lang::String * > * getFormatExtensions(jboolean); + static JArray< ::java::lang::String * > * getFormatMimeTypes(jboolean); + static ::java::lang::String * findFormatName(::java::lang::Object *, jboolean); +public: + static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi * getReaderSpi(); + static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi * getWriterSpi(); + static void registerSpis(::javax::imageio::spi::IIORegistry *); +public: // actually package-private + static ::java::lang::Object * pixbufLock; +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::image::ImageDecoder)))) native_state; + jboolean needsClose; +public: // actually package-private + ::java::util::Vector * curr; + static ::java::awt::image::ColorModel * cm; + static ::java::util::ArrayList * imageFormatSpecs; +private: + static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufReaderSpi * readerSpi; + static ::gnu::java::awt::peer::gtk::GdkPixbufDecoder$GdkPixbufWriterSpi * writerSpi; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkPixbufDecoder__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h b/libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h new file mode 100644 index 00000000000..d961df32f29 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkRobotPeer__ +#define __gnu_java_awt_peer_gtk_GdkRobotPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkRobotPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class GraphicsDevice; + class Rectangle; + namespace image + { + class ColorModel; + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkRobotPeer : public ::java::lang::Object +{ + +public: + GdkRobotPeer(::java::awt::GraphicsDevice *); +public: // actually package-private + virtual jboolean initXTest(); +public: + virtual void mouseMove(jint, jint); + virtual void mousePress(jint); + virtual void mouseRelease(jint); + virtual void mouseWheel(jint); + virtual void keyPress(jint); + virtual void keyRelease(jint); +public: // actually package-private + virtual JArray< jint > * nativeGetRGBPixels(jint, jint, jint, jint); +public: + virtual jint getRGBPixel(jint, jint); + virtual JArray< jint > * getRGBPixels(::java::awt::Rectangle *); +public: // actually package-private + static ::java::awt::image::ColorModel * cm; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkRobotPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h new file mode 100644 index 00000000000..5c27e4c255a --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice$X11DisplayMode.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice$X11DisplayMode__ +#define __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice$X11DisplayMode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkScreenGraphicsDevice$X11DisplayMode; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice$X11DisplayMode : public ::java::lang::Object +{ + +public: // actually package-private + GdkScreenGraphicsDevice$X11DisplayMode(jint, jint, JArray< jshort > *); + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rates; + jint width; + jint height; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice$X11DisplayMode__ diff --git a/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h new file mode 100644 index 00000000000..30c165f6e7e --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice__ +#define __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkGraphicsConfiguration; + class GdkGraphicsEnvironment; + class GdkScreenGraphicsDevice; + class GdkScreenGraphicsDevice$X11DisplayMode; + } + } + } + } + } + namespace java + { + namespace awt + { + class DisplayMode; + class GraphicsConfiguration; + class Rectangle; + class Window; + } + } +} + +class gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice : public ::java::awt::GraphicsDevice +{ + +public: // actually package-private + static void initStaticState(); + GdkScreenGraphicsDevice(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *); + virtual void init(); + virtual ::java::awt::DisplayMode * nativeGetFixedDisplayMode(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *); +public: + virtual jint getType(); + virtual ::java::lang::String * getIDstring(); +private: + ::java::lang::String * nativeGetIDString(); +public: + virtual JArray< ::java::awt::GraphicsConfiguration * > * getConfigurations(); + virtual ::java::awt::GraphicsConfiguration * getDefaultConfiguration(); + virtual ::java::awt::DisplayMode * getDisplayMode(); +public: // actually package-private + virtual jint nativeGetDisplayModeIndex(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *); + virtual jint nativeGetDisplayModeRate(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *); +public: + virtual JArray< ::java::awt::DisplayMode * > * getDisplayModes(); +public: // actually package-private + virtual JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice$X11DisplayMode * > * nativeGetDisplayModes(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *); +public: + virtual jboolean isFullScreenSupported(); + virtual jboolean isDisplayChangeSupported(); + virtual void setDisplayMode(::java::awt::DisplayMode *); +public: // actually package-private + virtual void nativeSetDisplayMode(::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment *, jint, jshort); +public: + virtual void setFullScreenWindow(::java::awt::Window *); + virtual ::java::awt::Window * getFullScreenWindow(); +public: // actually package-private + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::Rectangle * nativeGetBounds(); +private: + jint __attribute__((aligned(__alignof__( ::java::awt::GraphicsDevice)))) native_state; + ::java::awt::Window * fullscreenWindow; + jboolean oldWindowDecorationState; + ::java::awt::Rectangle * oldWindowBounds; + ::java::awt::Rectangle * bounds; + JArray< ::gnu::java::awt::peer::gtk::GdkGraphicsConfiguration * > * configurations; +public: // actually package-private + ::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment * env; + ::java::lang::String * idString; + JArray< ::gnu::java::awt::peer::gtk::GdkScreenGraphicsDevice$X11DisplayMode * > * displayModes; + ::java::awt::DisplayMode * fixedDisplayMode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h new file mode 100644 index 00000000000..6abd2674147 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkButtonPeer__ +#define __gnu_java_awt_peer_gtk_GtkButtonPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkButtonPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + } + } +} + +class gnu::java::awt::peer::gtk::GtkButtonPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(::java::lang::String *); +public: + virtual void connectSignals(); +public: // actually protected + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); +public: // actually package-private + virtual void gtkSetLabel(::java::lang::String *); + virtual void gtkWidgetSetForeground(jint, jint, jint); + virtual void gtkWidgetSetBackground(jint, jint, jint); + virtual void gtkActivate(); + virtual void gtkWidgetRequestFocus(); + virtual void setNativeBounds(jint, jint, jint, jint); + virtual void gtkWidgetGetPreferredDimensions(JArray< jint > *); +public: + GtkButtonPeer(::java::awt::Button *); +public: // actually package-private + virtual void create(); +public: + virtual void setLabel(::java::lang::String *); +public: // actually package-private + virtual void postActionEvent(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkButtonPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h new file mode 100644 index 00000000000..3808c2faebe --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkCanvasPeer__ +#define __gnu_java_awt_peer_gtk_GtkCanvasPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkCanvasPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Canvas; + class Dimension; + } + } +} + +class gnu::java::awt::peer::gtk::GtkCanvasPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(); +public: + GtkCanvasPeer(::java::awt::Canvas *); + virtual ::java::awt::Dimension * preferredSize(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkCanvasPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h new file mode 100644 index 00000000000..2a2f4559ca7 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer__ +#define __gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkCheckboxMenuItemPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class CheckboxMenuItem; + } + } +} + +class gnu::java::awt::peer::gtk::GtkCheckboxMenuItemPeer : public ::gnu::java::awt::peer::gtk::GtkMenuItemPeer +{ + +public: // actually protected + virtual void create(::java::lang::String *); +public: + GtkCheckboxMenuItemPeer(::java::awt::CheckboxMenuItem *); + virtual void setState(jboolean); +public: // actually protected + virtual void postMenuActionEvent(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h new file mode 100644 index 00000000000..e97d21f9d63 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkCheckboxPeer__ +#define __gnu_java_awt_peer_gtk_GtkCheckboxPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkCheckboxPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Checkbox; + class CheckboxGroup; + } + } +} + +class gnu::java::awt::peer::gtk::GtkCheckboxPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: + virtual void createCheckButton(); + virtual void createRadioButton(jlong); + virtual void addToGroup(jlong); + virtual void removeFromGroup(); + virtual void switchToGroup(jlong); + virtual void connectSignals(); +public: // actually protected + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); +public: // actually package-private + virtual void gtkButtonSetLabel(::java::lang::String *); + virtual void gtkToggleButtonSetActive(jboolean); +public: + GtkCheckboxPeer(::java::awt::Checkbox *); + virtual void create(); + virtual void setState(jboolean); + virtual void setLabel(::java::lang::String *); + virtual void setCheckboxGroup(::java::awt::CheckboxGroup *); + virtual void postItemEvent(::java::lang::Object *, jboolean); + virtual void addToGroupMap(jlong); + virtual void dispose(); + ::java::awt::CheckboxGroup * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkComponentPeer)))) current_group; +private: + jboolean currentState; + static ::java::util::WeakHashMap * groupMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkCheckboxPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h b/libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h new file mode 100644 index 00000000000..632fb406335 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkChoicePeer__ +#define __gnu_java_awt_peer_gtk_GtkChoicePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkChoicePeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class Choice; + } + } +} + +class gnu::java::awt::peer::gtk::GtkChoicePeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: + GtkChoicePeer(::java::awt::Choice *); +public: // actually package-private + virtual void create(); + virtual jint nativeGetSelected(); + virtual void connectSignals(); + virtual void selectNative(jint); + virtual void selectNativeUnlocked(jint); +public: + virtual void add(::java::lang::String *, jint); +public: // actually package-private + virtual void nativeRemove(jint); + virtual void nativeRemoveAll(); +public: + virtual void select(jint); + virtual void remove(jint); + virtual void removeAll(); + virtual void addItem(::java::lang::String *, jint); +public: // actually protected + virtual void postChoiceItemEvent(jint); +public: + virtual void handleEvent(::java::awt::AWTEvent *); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkComponentPeer)))) selected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkChoicePeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkClipboard.h b/libjava/gnu/java/awt/peer/gtk/GtkClipboard.h new file mode 100644 index 00000000000..24b275a7848 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkClipboard.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkClipboard__ +#define __gnu_java_awt_peer_gtk_GtkClipboard__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkClipboard; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace datatransfer + { + class ClipboardOwner; + class Transferable; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkClipboard : public ::java::awt::datatransfer::Clipboard +{ + + GtkClipboard(::java::lang::String *); +public: // actually package-private + static ::gnu::java::awt::peer::gtk::GtkClipboard * getClipboardInstance(); + static ::gnu::java::awt::peer::gtk::GtkClipboard * getSelectionInstance(); +private: + void setSystemContents(jboolean); +public: + virtual void setContents(::java::awt::datatransfer::Transferable *, ::java::awt::datatransfer::ClipboardOwner *); +private: + void advertiseContent(JArray< ::java::lang::String * > *, jboolean, jboolean, jboolean); + ::java::lang::String * provideText(); + ::gnu::java::awt::peer::gtk::GtkImage * provideImage(); + JArray< ::java::lang::String * > * provideURIs(); + JArray< jbyte > * provideContent(::java::lang::String *); + static jboolean initNativeState(::gnu::java::awt::peer::gtk::GtkClipboard *, ::gnu::java::awt::peer::gtk::GtkClipboard *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + static ::gnu::java::awt::peer::gtk::GtkClipboard * clipboard; + static ::gnu::java::awt::peer::gtk::GtkClipboard * selection; + static ::java::lang::String * stringMimeType; + static ::java::lang::String * imageMimeType; + static ::java::lang::String * filesMimeType; + static jboolean canCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkClipboard__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h b/libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h new file mode 100644 index 00000000000..59d04d0f849 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkClipboardNotifier.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkClipboardNotifier__ +#define __gnu_java_awt_peer_gtk_GtkClipboardNotifier__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkClipboard; + class GtkClipboardNotifier; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkClipboardNotifier : public ::java::lang::Thread +{ + + GtkClipboardNotifier(); +public: // actually package-private + static void announce(::gnu::java::awt::peer::gtk::GtkClipboard *); +public: + virtual void run(); +private: + static jboolean announceClipboardChange; + static jboolean announcePrimaryChange; + static ::gnu::java::awt::peer::gtk::GtkClipboardNotifier * notifier; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkClipboardNotifier__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h new file mode 100644 index 00000000000..c556b525095 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkComponentPeer$RepaintTimerTask__ +#define __gnu_java_awt_peer_gtk_GtkComponentPeer$RepaintTimerTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkComponentPeer$RepaintTimerTask; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + } + } +} + +class gnu::java::awt::peer::gtk::GtkComponentPeer$RepaintTimerTask : public ::java::util::TimerTask +{ + +public: // actually package-private + GtkComponentPeer$RepaintTimerTask(::java::awt::Component *, jint, jint, jint, jint); +public: + virtual void run(); +public: // actually package-private + static void schedule(jlong, jint, jint, jint, jint, ::java::awt::Component *); +private: + static ::java::util::Timer * repaintTimer; + jint __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) x; + jint y; + jint width; + jint height; + ::java::awt::Component * awtComponent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkComponentPeer$RepaintTimerTask__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h new file mode 100644 index 00000000000..d29f0366f40 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.h @@ -0,0 +1,198 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkComponentPeer__ +#define __gnu_java_awt_peer_gtk_GtkComponentPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkComponentPeer; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + class Window; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ComponentPeer; + class ContainerPeer; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkComponentPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer +{ + +public: // actually package-private + virtual jboolean isEnabled(); + static jboolean modalHasGrab(); + virtual JArray< jint > * gtkWidgetGetForeground(); + virtual JArray< jint > * gtkWidgetGetBackground(); + virtual void gtkWidgetGetDimensions(JArray< jint > *); + virtual void gtkWidgetGetPreferredDimensions(JArray< jint > *); + virtual void gtkWindowGetLocationOnScreen(JArray< jint > *); + virtual void gtkWidgetGetLocationOnScreen(JArray< jint > *); + virtual void gtkWidgetSetCursor(jint, ::gnu::java::awt::peer::gtk::GtkImage *, jint, jint); + virtual void gtkWidgetSetCursorUnlocked(jint, ::gnu::java::awt::peer::gtk::GtkImage *, jint, jint); + virtual void gtkWidgetSetBackground(jint, jint, jint); + virtual void gtkWidgetSetForeground(jint, jint, jint); + virtual void gtkWidgetSetSensitive(jboolean); + virtual void gtkWidgetSetParent(::java::awt::peer::ComponentPeer *); + virtual void gtkWidgetRequestFocus(); + virtual void gtkWidgetDispatchKeyEvent(jint, jlong, jint, jint, jint); + virtual jboolean gtkWidgetHasFocus(); + virtual jboolean gtkWidgetCanFocus(); + virtual void realize(); + virtual void setNativeEventMask(); + virtual void create(); + virtual void connectSignals(); +public: // actually protected + GtkComponentPeer(::java::awt::Component *); +public: // actually package-private + virtual void setParentAndBounds(); + virtual void setParent(); + virtual void setComponentBounds(); + virtual void setVisibleAndEnabled(); +public: + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(jint, jint); + virtual void disable(); + virtual void enable(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Toolkit * getToolkit(); + virtual void handleEvent(::java::awt::AWTEvent *); +public: // actually protected + virtual void paintComponent(::java::awt::event::PaintEvent *); + virtual void updateComponent(::java::awt::event::PaintEvent *); +public: + virtual jboolean isFocusTraversable(); + virtual ::java::awt::Dimension * minimumSize(); + virtual void paint(::java::awt::Graphics *); + virtual ::java::awt::Dimension * preferredSize(); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void print(::java::awt::Graphics *); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void requestFocus(); + virtual void reshape(jint, jint, jint, jint); + virtual void setBackground(::java::awt::Color *); +public: // actually package-private + virtual void setNativeBounds(jint, jint, jint, jint); +public: + virtual void setBounds(jint, jint, jint, jint); +public: // actually package-private + virtual void setCursor(); +public: + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual ::java::awt::Color * getForeground(); + virtual ::java::awt::Color * getBackground(); + virtual void setVisibleNative(jboolean); + virtual void setVisibleNativeUnlocked(jboolean); + virtual void setVisible(jboolean); + virtual void hide(); + virtual void show(); +public: // actually protected + virtual void postMouseEvent(jint, jlong, jint, jint, jint, jint, jboolean); + virtual void postMouseWheelEvent(jint, jlong, jint, jint, jint, jint, jboolean, jint, jint, jint); + virtual void postExposeEvent(jint, jint, jint, jint); + virtual void postKeyEvent(jint, jlong, jint, jint, jchar, jint); + virtual void postFocusEvent(jint, jboolean); + virtual void postItemEvent(::java::lang::Object *, jint); + virtual void postTextEvent(); +public: + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration(); + virtual void setEventMask(jlong); + virtual jboolean isFocusable(); + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong); +private: + ::java::awt::Window * getWindowFor(::java::awt::Component *); +public: // actually protected + virtual jboolean isLightweightDescendant(::java::awt::Component *); +public: + virtual jboolean isObscured(); + virtual jboolean canDetermineObscurity(); + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *); + virtual void updateCursorImmediately(); + virtual jboolean handlesWheelScrolling(); + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint); + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::Image * getBackBuffer(); + virtual void flip(::java::awt::BufferCapabilities$FlipContents *); + virtual void destroyBuffers(); + virtual ::java::lang::String * toString(); + virtual ::java::awt::Rectangle * getBounds(); + virtual void reparent(::java::awt::peer::ContainerPeer *); + virtual void setBounds(jint, jint, jint, jint, jint); + virtual jboolean isReparentSupported(); + virtual void layout(); +public: // actually package-private + ::java::awt::image::VolatileImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkGenericPeer)))) backBuffer; + ::java::awt::BufferCapabilities * caps; + ::java::awt::Component * awtComponent; + ::java::awt::Insets * insets; +private: + ::java::awt::Rectangle * currentPaintArea; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkComponentPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h new file mode 100644 index 00000000000..6097fc88c7c --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkContainerPeer__ +#define __gnu_java_awt_peer_gtk_GtkContainerPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkContainerPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Container; + class Font; + class Insets; + } + } +} + +class gnu::java::awt::peer::gtk::GtkContainerPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: + GtkContainerPeer(::java::awt::Container *); + virtual void beginValidate(); + virtual void endValidate(); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Insets * insets(); + virtual void setBounds(jint, jint, jint, jint); + virtual void setFont(::java::awt::Font *); + virtual void beginLayout(); + virtual void endLayout(); + virtual jboolean isPaintPending(); + virtual void setBackground(::java::awt::Color *); + virtual jboolean isRestackSupported(); + virtual void cancelPendingPaint(jint, jint, jint, jint); + virtual void restack(); +public: // actually package-private + ::java::awt::Container * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkComponentPeer)))) c; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkContainerPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkCursor.h b/libjava/gnu/java/awt/peer/gtk/GtkCursor.h new file mode 100644 index 00000000000..c0e63758557 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkCursor.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkCursor__ +#define __gnu_java_awt_peer_gtk_GtkCursor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkCursor; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Image; + class Point; + } + } +} + +class gnu::java::awt::peer::gtk::GtkCursor : public ::java::awt::Cursor +{ + +public: // actually package-private + GtkCursor(::java::awt::Image *, ::java::awt::Point *, ::java::lang::String *); + virtual ::gnu::java::awt::peer::gtk::GtkImage * getGtkImage(); + virtual ::java::awt::Point * getHotspot(); +private: + ::gnu::java::awt::peer::gtk::GtkImage * __attribute__((aligned(__alignof__( ::java::awt::Cursor)))) image; + ::java::awt::Point * hotspot; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkCursor__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h new file mode 100644 index 00000000000..d143f4775ad --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkDialogPeer__ +#define __gnu_java_awt_peer_gtk_GtkDialogPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkDialogPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dialog; + } + } +} + +class gnu::java::awt::peer::gtk::GtkDialogPeer : public ::gnu::java::awt::peer::gtk::GtkWindowPeer +{ + +public: + GtkDialogPeer(::java::awt::Dialog *); +public: // actually package-private + virtual void create(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkDialogPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h new file mode 100644 index 00000000000..6dea24e1715 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer__ +#define __gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class EmbeddedWindow; + namespace peer + { + namespace gtk + { + class GtkEmbeddedWindowPeer; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkEmbeddedWindowPeer : public ::gnu::java::awt::peer::gtk::GtkFramePeer +{ + +public: // actually package-private + virtual void create(jlong); + virtual void create(); + virtual void construct(jlong); +public: + virtual void embed(jlong); + GtkEmbeddedWindowPeer(::gnu::java::awt::EmbeddedWindow *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h new file mode 100644 index 00000000000..7bf3529ce37 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkFileDialogPeer__ +#define __gnu_java_awt_peer_gtk_GtkFileDialogPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkContainerPeer; + class GtkFileDialogPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class FileDialog; + namespace event + { + class PaintEvent; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkFileDialogPeer : public ::gnu::java::awt::peer::gtk::GtkDialogPeer +{ + +public: // actually package-private + virtual void create(::gnu::java::awt::peer::gtk::GtkContainerPeer *, jint); + virtual void connectSignals(); + virtual void nativeSetFile(::java::lang::String *); +public: + virtual ::java::lang::String * nativeGetDirectory(); + virtual void nativeSetDirectory(::java::lang::String *); +public: // actually package-private + virtual void nativeSetFilenameFilter(::java::io::FilenameFilter *); +public: + virtual void create(); + GtkFileDialogPeer(::java::awt::FileDialog *); +public: // actually package-private + virtual void setComponentBounds(); +public: + virtual void setFile(::java::lang::String *); + virtual void setDirectory(::java::lang::String *); + virtual void setFilenameFilter(::java::io::FilenameFilter *); +public: // actually package-private + virtual jboolean filenameFilterCallback(::java::lang::String *); +public: // actually protected + virtual void updateComponent(::java::awt::event::PaintEvent *); +public: // actually package-private + virtual void gtkHideFileDialog(); + virtual void gtkDisposeFileDialog(); + virtual void gtkSetFilename(::java::lang::String *); + static ::java::lang::String * FS; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkDialogPeer)))) currentFile; + ::java::lang::String * currentDirectory; + ::java::io::FilenameFilter * filter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkFileDialogPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h new file mode 100644 index 00000000000..c136fa917ca --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkFramePeer__ +#define __gnu_java_awt_peer_gtk_GtkFramePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkFramePeer; + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Frame; + class Image; + class MenuBar; + class Rectangle; + namespace peer + { + class MenuBarPeer; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkFramePeer : public ::gnu::java::awt::peer::gtk::GtkWindowPeer +{ + +public: // actually package-private + virtual jint getMenuBarHeight(::java::awt::peer::MenuBarPeer *); + virtual void setMenuBarWidthUnlocked(::java::awt::peer::MenuBarPeer *, jint); + virtual void setMenuBarWidth(::java::awt::peer::MenuBarPeer *, jint); + virtual void setMenuBarPeer(::java::awt::peer::MenuBarPeer *); + virtual void removeMenuBarPeer(); + virtual void gtkFixedSetVisible(jboolean); +private: + void maximize(); + void unmaximize(); + void iconify(); + void deiconify(); +public: // actually package-private + virtual jint getMenuBarHeight(); +public: + virtual void setMenuBar(::java::awt::MenuBar *); + virtual void setBounds(jint, jint, jint, jint); + virtual void setResizable(jboolean); +public: // actually protected + virtual void postInsetsChangedEvent(jint, jint, jint, jint); +public: + GtkFramePeer(::java::awt::Frame *); +public: // actually package-private + virtual void create(); + virtual void nativeSetIconImage(::gnu::java::awt::peer::gtk::GtkImage *); +public: + virtual void setIconImage(::java::awt::Image *); +public: // actually protected + virtual void postConfigureEvent(jint, jint, jint, jint); +public: + virtual jint getState(); + virtual void setState(jint); + virtual void setMaximizedBounds(::java::awt::Rectangle *); + virtual void setBoundsPrivate(jint, jint, jint, jint); + virtual jboolean requestWindowFocus(); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkWindowPeer)))) menuBarHeight; + ::java::awt::peer::MenuBarPeer * menuBar; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkFramePeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h new file mode 100644 index 00000000000..6c9c87dc1ef --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkGenericPeer__ +#define __gnu_java_awt_peer_gtk_GtkGenericPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkGenericPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class EventQueue; + class Font; + } + } +} + +class gnu::java::awt::peer::gtk::GtkGenericPeer : public ::java::lang::Object +{ + +public: + virtual void dispose(); +public: // actually package-private + static ::java::awt::EventQueue * q(); +public: // actually protected + GtkGenericPeer(::java::lang::Object *); + virtual void postActionEvent(::java::lang::String *, jint); +public: // actually package-private + static jint getUniqueInteger(); +public: // actually protected + virtual void gtkWidgetModifyFont(::java::awt::Font *); + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); +public: // actually package-private + static void printCurrentThread(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) native_state; +private: + static jint next_native_state; +public: // actually protected + ::java::lang::Object * awtWidget; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkGenericPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkImage.h b/libjava/gnu/java/awt/peer/gtk/GtkImage.h new file mode 100644 index 00000000000..4028d93f57d --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkImage.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkImage__ +#define __gnu_java_awt_peer_gtk_GtkImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pointer; + } + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Image; + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::gtk::GtkImage : public ::java::awt::Image +{ + + void initFromBuffer(jlong); +public: // actually package-private + virtual JArray< jint > * getPixels(); +private: + void setPixels(JArray< jint > *); + jboolean loadPixbuf(::java::lang::String *); + jboolean loadImageFromData(JArray< jbyte > *); + void createPixbuf(); + void freePixbuf(); + void createScaledPixbuf(::gnu::java::awt::peer::gtk::GtkImage *, jint); +public: + GtkImage(::java::awt::image::ImageProducer *); + GtkImage(); + GtkImage(::java::lang::String *); + GtkImage(JArray< jbyte > *); + GtkImage(::java::net::URL *); +private: + GtkImage(::gnu::java::awt::peer::gtk::GtkImage *, jint, jint, jint); +public: // actually package-private + GtkImage(::gnu::classpath::Pointer *); + GtkImage(jint, jint, jlong); + static ::gnu::java::awt::peer::gtk::GtkImage * getErrorImage(); +private: + void createFromPixbuf(); +public: + virtual void setImage(jint, jint, JArray< jint > *, ::java::util::Hashtable *); + virtual jint getWidth(::java::awt::image::ImageObserver *); + virtual jint getHeight(::java::awt::image::ImageObserver *); + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *); + virtual ::java::awt::image::ImageProducer * getSource(); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Image * getScaledInstance(jint, jint, jint); + virtual void flush(); + virtual void finalize(); + virtual jint checkImage(::java::awt::image::ImageObserver *); +private: + void deliver(); + jboolean addObserver(::java::awt::image::ImageObserver *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::Image)))) width; + jint height; + ::java::util::Hashtable * props; + jboolean isLoaded; + ::gnu::classpath::Pointer * pixbuf; + ::java::util::Vector * observers; + jboolean errorLoading; + ::java::awt::image::ImageProducer * source; + static ::java::awt::image::ColorModel * nativeModel; +private: + static ::gnu::java::awt::peer::gtk::GtkImage * errorImage; +public: // actually package-private + static ::java::lang::Object * pixbufLock; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkImage__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h b/libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h new file mode 100644 index 00000000000..aeccd061da2 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkImageConsumer.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkImageConsumer__ +#define __gnu_java_awt_peer_gtk_GtkImageConsumer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkImage; + class GtkImageConsumer; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class ImageProducer; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkImageConsumer : public ::java::lang::Object +{ + +public: + GtkImageConsumer(::gnu::java::awt::peer::gtk::GtkImage *, ::java::awt::image::ImageProducer *); + virtual void imageComplete(jint); + virtual void setColorModel(::java::awt::image::ColorModel *); + virtual void setDimensions(jint, jint); + virtual void setHints(jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); +private: + JArray< jint > * convertPixels(JArray< jbyte > *); +public: + virtual void setProperties(::java::util::Hashtable *); +private: + ::gnu::java::awt::peer::gtk::GtkImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target; + jint width; + jint height; + ::java::util::Hashtable * properties; + JArray< jint > * pixelCache; + ::java::awt::image::ImageProducer * source; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkImageConsumer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h new file mode 100644 index 00000000000..c80c6f47a13 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkLabelPeer__ +#define __gnu_java_awt_peer_gtk_GtkLabelPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkLabelPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Label; + } + } +} + +class gnu::java::awt::peer::gtk::GtkLabelPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(::java::lang::String *, jfloat); +public: // actually protected + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); +public: // actually package-private + virtual void nativeSetAlignment(jfloat); +public: + virtual void setNativeText(::java::lang::String *); +public: // actually package-private + virtual void setNativeBounds(jint, jint, jint, jint); + virtual void gtkWidgetGetPreferredDimensions(JArray< jint > *); + virtual void create(); +public: + virtual void setText(::java::lang::String *); + GtkLabelPeer(::java::awt::Label *); + virtual void setAlignment(jint); +public: // actually package-private + virtual jfloat getGtkAlignment(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkLabelPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkListPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkListPeer.h new file mode 100644 index 00000000000..8d8a7a0ac37 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkListPeer.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkListPeer__ +#define __gnu_java_awt_peer_gtk_GtkListPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkListPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class Dimension; + class List; + } + } +} + +class gnu::java::awt::peer::gtk::GtkListPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(); + virtual void create(jint); + virtual void connectSignals(); +public: // actually protected + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); +public: // actually package-private + virtual void gtkWidgetRequestFocus(); + virtual void getSize(jint, jint, JArray< jint > *); +public: + GtkListPeer(::java::awt::List *); +public: // actually package-private + virtual void append(JArray< ::java::lang::String * > *); +public: + virtual void add(::java::lang::String *, jint); + virtual void addItem(::java::lang::String *, jint); + virtual void clear(); + virtual void delItems(jint, jint); + virtual void deselect(jint); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual JArray< jint > * getSelectedIndexes(); + virtual void makeVisible(jint); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void removeAll(); + virtual void select(jint); + virtual void setMultipleMode(jboolean); + virtual void setMultipleSelections(jboolean); + virtual void handleEvent(::java::awt::AWTEvent *); +public: // actually protected + virtual void postItemEvent(jint, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkListPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMainThread.h b/libjava/gnu/java/awt/peer/gtk/GtkMainThread.h new file mode 100644 index 00000000000..159ec7838c2 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkMainThread.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkMainThread__ +#define __gnu_java_awt_peer_gtk_GtkMainThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkMainThread; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkMainThread : public ::java::lang::Thread +{ + + GtkMainThread(); +public: + virtual void run(); +private: + static void setRunning(jboolean); + static void startMainThread(); + static void endMainThread(); +public: + static void createWindow(); + static void destroyWindow(); +private: + static jint numberOfWindows; + static ::java::lang::Object * nWindowsLock; + static jboolean running; + static ::java::lang::Object * runningLock; +public: + static ::gnu::java::awt::peer::gtk::GtkMainThread * mainThread; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkMainThread__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h new file mode 100644 index 00000000000..916d6dd93ea --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkMenuBarPeer__ +#define __gnu_java_awt_peer_gtk_GtkMenuBarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkMenuBarPeer; + class GtkMenuPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Menu; + class MenuBar; + } + } +} + +class gnu::java::awt::peer::gtk::GtkMenuBarPeer : public ::gnu::java::awt::peer::gtk::GtkMenuComponentPeer +{ + +public: // actually protected + virtual void create(); +private: + void addMenu(::gnu::java::awt::peer::gtk::GtkMenuPeer *); +public: + GtkMenuBarPeer(::java::awt::MenuBar *); + virtual void addHelpMenu(::java::awt::Menu *); + virtual void delMenu(jint); + virtual void addMenu(::java::awt::Menu *); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkMenuComponentPeer)))) hasHelpMenu; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkMenuBarPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h new file mode 100644 index 00000000000..500f5a94d3f --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkMenuComponentPeer__ +#define __gnu_java_awt_peer_gtk_GtkMenuComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkMenuComponentPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class MenuComponent; + } + } +} + +class gnu::java::awt::peer::gtk::GtkMenuComponentPeer : public ::gnu::java::awt::peer::gtk::GtkGenericPeer +{ + +public: // actually protected + virtual void create() = 0; +private: + void setFont(); +public: + GtkMenuComponentPeer(::java::awt::MenuComponent *); + virtual void dispose(); + virtual void setFont(::java::awt::Font *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkMenuComponentPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h new file mode 100644 index 00000000000..e84841cc3df --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkMenuItemPeer__ +#define __gnu_java_awt_peer_gtk_GtkMenuItemPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkMenuItemPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class MenuItem; + } + } +} + +class gnu::java::awt::peer::gtk::GtkMenuItemPeer : public ::gnu::java::awt::peer::gtk::GtkMenuComponentPeer +{ + +public: // actually protected + virtual void create(::java::lang::String *); + virtual void connectSignals(); + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); + virtual void create(); +public: + GtkMenuItemPeer(::java::awt::MenuItem *); + virtual void disable(); + virtual void enable(); + virtual void setEnabled(jboolean); + virtual void setLabel(::java::lang::String *); +public: // actually protected + virtual void postMenuActionEvent(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkMenuItemPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h new file mode 100644 index 00000000000..1d1f84a90e8 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkMenuPeer__ +#define __gnu_java_awt_peer_gtk_GtkMenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkGenericPeer; + class GtkMenuPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Menu; + class MenuItem; + class MenuShortcut; + namespace peer + { + class MenuItemPeer; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkMenuPeer : public ::gnu::java::awt::peer::gtk::GtkMenuItemPeer +{ + +public: // actually protected + virtual void create(::java::lang::String *); +private: + void addItem(::java::awt::peer::MenuItemPeer *, jint, jboolean); +public: // actually package-private + virtual void setupAccelGroup(::gnu::java::awt::peer::gtk::GtkGenericPeer *); +private: + void addTearOff(); +public: // actually protected + virtual void connectSignals(); +public: + GtkMenuPeer(::java::awt::Menu *); + virtual void addItem(::java::awt::MenuItem *); + virtual void addItem(::java::awt::peer::MenuItemPeer *, ::java::awt::MenuShortcut *); + virtual void delItem(jint); + virtual void addSeparator(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkMenuPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h new file mode 100644 index 00000000000..8edc663497e --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkMouseInfoPeer__ +#define __gnu_java_awt_peer_gtk_GtkMouseInfoPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GdkGraphicsEnvironment; + class GtkMouseInfoPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Point; + class Window; + } + } +} + +class gnu::java::awt::peer::gtk::GtkMouseInfoPeer : public ::java::lang::Object +{ + +public: + GtkMouseInfoPeer(); + virtual jint fillPointWithCoords(::java::awt::Point *); + virtual jboolean isWindowUnderMouse(::java::awt::Window *); +private: + static ::gnu::java::awt::peer::gtk::GdkGraphicsEnvironment * gde; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkMouseInfoPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h new file mode 100644 index 00000000000..b4349ee5d06 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkPanelPeer__ +#define __gnu_java_awt_peer_gtk_GtkPanelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkPanelPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class Panel; + } + } +} + +class gnu::java::awt::peer::gtk::GtkPanelPeer : public ::gnu::java::awt::peer::gtk::GtkContainerPeer +{ + +public: // actually package-private + virtual void create(); +public: + GtkPanelPeer(::java::awt::Panel *); + virtual void handleEvent(::java::awt::AWTEvent *); +public: // actually package-private + virtual void connectSignals(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkPanelPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h new file mode 100644 index 00000000000..f62b014d77c --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkPopupMenuPeer__ +#define __gnu_java_awt_peer_gtk_GtkPopupMenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkGenericPeer; + class GtkPopupMenuPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Event; + class PopupMenu; + } + } +} + +class gnu::java::awt::peer::gtk::GtkPopupMenuPeer : public ::gnu::java::awt::peer::gtk::GtkMenuPeer +{ + +public: + GtkPopupMenuPeer(::java::awt::PopupMenu *); +public: // actually package-private + virtual void setupAccelGroup(::gnu::java::awt::peer::gtk::GtkGenericPeer *); + virtual void show(jint, jint, jlong); +public: + virtual void show(::java::awt::Component *, jint, jint); + virtual void show(::java::awt::Event *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkPopupMenuPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h b/libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h new file mode 100644 index 00000000000..051fd8334cb --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkScrollPanePeer__ +#define __gnu_java_awt_peer_gtk_GtkScrollPanePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkScrollPanePeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Adjustable; + class Dimension; + class ScrollPane; + } + } +} + +class gnu::java::awt::peer::gtk::GtkScrollPanePeer : public ::gnu::java::awt::peer::gtk::GtkContainerPeer +{ + +public: // actually package-private + virtual void create(jint, jint); + virtual void create(); + virtual void gtkScrolledWindowSetHScrollIncrement(jint); + virtual void gtkScrolledWindowSetVScrollIncrement(jint); +public: + GtkScrollPanePeer(::java::awt::ScrollPane *); +public: // actually package-private + virtual void setPolicy(jint); +public: + virtual void childResized(jint, jint); + virtual jint getHScrollbarHeight(); + virtual jint getVScrollbarWidth(); + virtual void setScrollPosition(jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual void setUnitIncrement(::java::awt::Adjustable *, jint); + virtual void setValue(::java::awt::Adjustable *, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkScrollPanePeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h new file mode 100644 index 00000000000..3557d624a07 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkScrollbarPeer__ +#define __gnu_java_awt_peer_gtk_GtkScrollbarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkScrollbarPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Scrollbar; + } + } +} + +class gnu::java::awt::peer::gtk::GtkScrollbarPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(); + virtual void create(jint, jint, jint, jint, jint, jint, jint); + virtual void connectSignals(); +public: + GtkScrollbarPeer(::java::awt::Scrollbar *); + virtual void setLineIncrement(jint); + virtual void setPageIncrement(jint); + virtual void setValues(jint, jint, jint, jint); +private: + void setBarValues(jint, jint, jint, jint); +public: // actually protected + virtual void postAdjustmentEvent(jint, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkScrollbarPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkSelection.h b/libjava/gnu/java/awt/peer/gtk/GtkSelection.h new file mode 100644 index 00000000000..5ed45d00c91 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkSelection.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkSelection__ +#define __gnu_java_awt_peer_gtk_GtkSelection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class Pointer; + } + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkClipboard; + class GtkSelection; + } + } + } + } + } + namespace java + { + namespace awt + { + class Image; + namespace datatransfer + { + class DataFlavor; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkSelection : public ::java::lang::Object +{ + +public: // actually package-private + GtkSelection(::gnu::java::awt::peer::gtk::GtkClipboard *); +public: + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors(); +private: + void mimeTypesAvailable(JArray< ::java::lang::String * > *); +public: + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); +private: + ::java::lang::String * getText(); + void textAvailable(::java::lang::String *); + ::java::awt::Image * getImage(); + void imageAvailable(::gnu::classpath::Pointer *); + ::java::util::List * getURIs(); + void urisAvailable(JArray< ::java::lang::String * > *); + JArray< jbyte > * getBytes(::java::lang::String *); + void bytesAvailable(JArray< jbyte > *); +public: + virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *); +private: + void requestText(jboolean); + void requestImage(jboolean); + void requestURIs(jboolean); + void requestBytes(jboolean, ::java::lang::String *); + void requestMimeTypes(jboolean); + static ::java::lang::Object * requestLock; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) clipboard; + jboolean requestInProgress; + jboolean mimeTypesDelivered; + JArray< ::java::awt::datatransfer::DataFlavor * > * dataFlavors; + jboolean textDelivered; + ::java::lang::String * text; + jboolean imageDelivered; + ::gnu::classpath::Pointer * imagePointer; + ::java::awt::Image * image; + jboolean urisDelivered; + ::java::util::List * uris; + jboolean bytesDelivered; + JArray< jbyte > * bytes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkSelection__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h new file mode 100644 index 00000000000..5d4b14ee5e7 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkTextAreaPeer__ +#define __gnu_java_awt_peer_gtk_GtkTextAreaPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkTextAreaPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + class TextArea; + namespace im + { + class InputMethodRequests; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkTextAreaPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(jint, jint, jint); +public: // actually protected + virtual void gtkWidgetModifyFont(::java::lang::String *, jint, jint); +public: // actually package-private + virtual void gtkWidgetRequestFocus(); +public: + virtual void connectSignals(); + virtual jint getCaretPosition(); + virtual void setCaretPosition(jint); + virtual jint getSelectionStart(); + virtual jint getSelectionEnd(); + virtual ::java::lang::String * getText(); + virtual void select(jint, jint); + virtual void setEditable(jboolean); + virtual void setText(::java::lang::String *); + virtual jint getIndexAtPoint(jint, jint); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jlong filterEvents(jlong); +public: // actually package-private + virtual void create(); +public: + GtkTextAreaPeer(::java::awt::TextArea *); + virtual void insert(::java::lang::String *, jint); + virtual void replaceRange(::java::lang::String *, jint, jint); + virtual ::java::awt::Dimension * getMinimumSize(jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(jint, jint); +public: // actually package-private + virtual jint getHScrollbarHeight(); + virtual jint getVScrollbarWidth(); +public: + virtual ::java::awt::Dimension * minimumSize(jint, jint); + virtual ::java::awt::Dimension * preferredSize(jint, jint); + virtual void replaceText(::java::lang::String *, jint, jint); + virtual void insertText(::java::lang::String *, jint); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); +private: + static jint DEFAULT_ROWS; + static jint DEFAULT_COLS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkTextAreaPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h new file mode 100644 index 00000000000..ddcf366aaa5 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkTextFieldPeer__ +#define __gnu_java_awt_peer_gtk_GtkTextFieldPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkTextFieldPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class Dimension; + class Rectangle; + class TextField; + namespace im + { + class InputMethodRequests; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkTextFieldPeer : public ::gnu::java::awt::peer::gtk::GtkComponentPeer +{ + +public: // actually package-private + virtual void create(jint); + virtual void gtkWidgetSetBackground(jint, jint, jint); + virtual void gtkWidgetSetForeground(jint, jint, jint); +public: + virtual void connectSignals(); + virtual jint getCaretPosition(); + virtual void setCaretPosition(jint); + virtual jint getSelectionStart(); + virtual jint getSelectionEnd(); + virtual ::java::lang::String * getText(); + virtual void select(jint, jint); + virtual void setEditable(jboolean); + virtual void setText(::java::lang::String *); + virtual jint getIndexAtPoint(jint, jint); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jlong filterEvents(jlong); +public: // actually package-private + virtual void create(); + virtual jint gtkEntryGetBorderWidth(); +public: + GtkTextFieldPeer(::java::awt::TextField *); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual void setEchoChar(jchar); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void setEchoCharacter(jchar); + virtual void handleEvent(::java::awt::AWTEvent *); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkTextFieldPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h new file mode 100644 index 00000000000..94bac6c75cc --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkToolkit$1__ +#define __gnu_java_awt_peer_gtk_GtkToolkit$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkToolkit$1; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkToolkit$1 : public ::java::lang::Thread +{ + +public: // actually package-private + GtkToolkit$1(::java::lang::String *); +public: + void run(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkToolkit$1__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h new file mode 100644 index 00000000000..c8d404bd4f2 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkToolkit$LRUCache.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkToolkit$LRUCache__ +#define __gnu_java_awt_peer_gtk_GtkToolkit$LRUCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkToolkit$LRUCache; + } + } + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkToolkit$LRUCache : public ::java::util::LinkedHashMap +{ + +public: + GtkToolkit$LRUCache(jint); +public: // actually protected + virtual jboolean removeEldestEntry(::java::util::Map$Entry *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::util::LinkedHashMap)))) max_entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkToolkit$LRUCache__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h b/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h new file mode 100644 index 00000000000..e02c3b6a9ed --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkToolkit.h @@ -0,0 +1,235 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkToolkit__ +#define __gnu_java_awt_peer_gtk_GtkToolkit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class EmbeddedWindow; + namespace peer + { + class ClasspathFontPeer; + class EmbeddedWindowPeer; + namespace gtk + { + class GtkComponentPeer; + class GtkToolkit; + class GtkToolkit$LRUCache; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + class Canvas; + class Checkbox; + class CheckboxMenuItem; + class Choice; + class Component; + class Cursor; + class Dialog; + class Dimension; + class EventQueue; + class FileDialog; + class Font; + class FontMetrics; + class Frame; + class GraphicsDevice; + class GraphicsEnvironment; + class Image; + class Label; + class List; + class Menu; + class MenuBar; + class MenuItem; + class Panel; + class Point; + class PopupMenu; + class PrintJob; + class Rectangle; + class ScrollPane; + class Scrollbar; + class TextArea; + class TextField; + class Window; + namespace datatransfer + { + class Clipboard; + } + namespace dnd + { + class DragGestureEvent; + class DragGestureListener; + class DragGestureRecognizer; + class DragSource; + namespace peer + { + class DragSourceContextPeer; + } + } + namespace im + { + class InputMethodHighlight; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + } + namespace peer + { + class ButtonPeer; + class CanvasPeer; + class CheckboxMenuItemPeer; + class CheckboxPeer; + class ChoicePeer; + class DialogPeer; + class FileDialogPeer; + class FontPeer; + class FramePeer; + class LabelPeer; + class ListPeer; + class MenuBarPeer; + class MenuItemPeer; + class MenuPeer; + class MouseInfoPeer; + class PanelPeer; + class PopupMenuPeer; + class RobotPeer; + class ScrollPanePeer; + class ScrollbarPeer; + class TextAreaPeer; + class TextFieldPeer; + class WindowPeer; + } + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace imageio + { + namespace spi + { + class IIORegistry; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkToolkit : public ::gnu::java::awt::ClasspathToolkit +{ + +public: // actually package-private + static void gtkInit(jint); + static void gtkMain(); + static void gtkQuit(); +public: + GtkToolkit(); + virtual void beep(); +private: + void getScreenSizeDimensions(JArray< jint > *); +public: + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); +public: // actually package-private + static ::java::awt::Image * imageOrError(::java::awt::Image *); +public: + virtual ::java::awt::Image * createImage(::java::lang::String *); + virtual ::java::awt::Image * createImage(::java::net::URL *); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint); + virtual ::java::awt::image::ImageProducer * createImageProducer(::java::net::URL *); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual JArray< ::java::lang::String * > * getFontList(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Image * getImage(::java::lang::String *); + virtual ::java::awt::Image * getImage(::java::net::URL *); + virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *); + virtual jint getScreenResolution(); + virtual ::java::awt::Dimension * getScreenSize(); + virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard(); + virtual ::java::awt::datatransfer::Clipboard * getSystemSelection(); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void sync(); +public: // actually protected + virtual void setComponentState(::java::awt::Component *, ::gnu::java::awt::peer::gtk::GtkComponentPeer *); + virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *); + virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *); + virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *); + virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *); + virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *); + virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *); + virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *); + virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *); + virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *); + virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *); + virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *); + virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *); + virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *); + virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *); + virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *); + virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *); + virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *); + virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *); + virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *); + virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *); +public: + virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *); +public: // actually protected + virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint); +private: + ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint, jint); +public: + virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *); +public: // actually protected + virtual ::java::awt::EventQueue * getSystemEventQueueImpl(); +public: + virtual ::java::awt::Cursor * createCustomCursor(::java::awt::Image *, ::java::awt::Point *, ::java::lang::String *); +public: // actually protected + virtual void loadSystemColors(JArray< jint > *); +public: + virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *); + virtual ::java::awt::dnd::DragGestureRecognizer * createDragGestureRecognizer(::java::lang::Class *, ::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment(); + virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *); + virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *); + virtual void registerImageIOSpis(::javax::imageio::spi::IIORegistry *); +public: // actually protected + virtual ::java::awt::peer::MouseInfoPeer * getMouseInfoPeer(); +public: + virtual jboolean isFrameStateSupported(jint); +private: + void checkHeadless(); +public: + virtual jint getMouseNumberOfButtons(); +private: + static ::java::awt::EventQueue * q; + ::gnu::java::awt::peer::gtk::GtkToolkit$LRUCache * __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathToolkit)))) fontCache; + ::gnu::java::awt::peer::gtk::GtkToolkit$LRUCache * imageCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkToolkit__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h b/libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h new file mode 100644 index 00000000000..308bc8e7df9 --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkVolatileImage.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkVolatileImage__ +#define __gnu_java_awt_peer_gtk_GtkVolatileImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkComponentPeer; + class GtkVolatileImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Graphics2D; + class GraphicsConfiguration; + class ImageCapabilities; + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + class SampleModel; + } + } + } +} + +class gnu::java::awt::peer::gtk::GtkVolatileImage : public ::java::awt::image::VolatileImage +{ + +public: // actually package-private + virtual jlong init(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jint, jint); + virtual void destroy(jlong); + virtual JArray< jint > * nativeGetPixels(jlong); +public: + virtual JArray< jint > * getPixels(); +public: // actually package-private + virtual void nativeCopyArea(jlong, jint, jint, jint, jint, jint, jint); +public: + virtual void copyArea(jint, jint, jint, jint, jint, jint); +public: // actually package-private + virtual void nativeDrawVolatile(jlong, jlong, jint, jint, jint, jint); +public: + virtual void drawVolatile(jlong, jint, jint, jint, jint); + GtkVolatileImage(::gnu::java::awt::peer::gtk::GtkComponentPeer *, jint, jint, ::java::awt::ImageCapabilities *); + GtkVolatileImage(jint, jint, ::java::awt::ImageCapabilities *); + GtkVolatileImage(jint, jint); + virtual void finalize(); + virtual void dispose(); + virtual ::java::awt::image::BufferedImage * getSnapshot(); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Graphics2D * createGraphics(); + virtual jint validate(::java::awt::GraphicsConfiguration *); + virtual jboolean contentsLost(); + virtual ::java::awt::ImageCapabilities * getCapabilities(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual jint getWidth(::java::awt::image::ImageObserver *); + virtual jint getHeight(::java::awt::image::ImageObserver *); + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *); +public: // actually protected + static ::java::awt::image::SampleModel * createGdkSampleModel(jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::image::VolatileImage)))) width; + jint height; +private: + ::java::awt::ImageCapabilities * caps; +public: // actually package-private + ::gnu::java::awt::peer::gtk::GtkComponentPeer * component; + static ::java::awt::image::ColorModel * gdkColorModel; + jlong nativePointer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkVolatileImage__ diff --git a/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h new file mode 100644 index 00000000000..da0c32556ae --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_GtkWindowPeer__ +#define __gnu_java_awt_peer_gtk_GtkWindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkWindowPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Rectangle; + class Window; + } + } +} + +class gnu::java::awt::peer::gtk::GtkWindowPeer : public ::gnu::java::awt::peer::gtk::GtkContainerPeer +{ + +public: // actually package-private + virtual void gtkWindowSetTitle(::java::lang::String *); + virtual void gtkWindowSetResizable(jboolean); + virtual void gtkWindowSetModal(jboolean); + virtual void gtkWindowSetAlwaysOnTop(jboolean); + virtual jboolean gtkWindowHasFocus(); + virtual void realize(); +public: + virtual void dispose(); +public: // actually package-private + virtual jint getX(); + virtual jint getY(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual void create(jint, jboolean, ::gnu::java::awt::peer::gtk::GtkWindowPeer *); + virtual void create(jint, jboolean); + virtual void create(); + virtual void setParent(); + virtual void setVisibleAndEnabled(); +public: + virtual void setVisibleNative(jboolean); + virtual void setVisibleNativeUnlocked(jboolean); +public: // actually package-private + virtual void connectSignals(); +public: + GtkWindowPeer(::java::awt::Window *); + virtual void toBack(); + virtual void toFront(); +public: // actually package-private + virtual void nativeSetBounds(jint, jint, jint, jint); + virtual void nativeSetBoundsUnlocked(jint, jint, jint, jint); + virtual void nativeSetLocation(jint, jint); + virtual void nativeSetLocationUnlocked(jint, jint); +public: // actually protected + virtual void setLocation(jint, jint); +public: + virtual void setBounds(jint, jint, jint, jint); + virtual void setTitle(::java::lang::String *); +public: // actually protected + virtual void setSize(jint, jint); +public: + virtual void setResizable(jboolean); +public: // actually protected + virtual void postInsetsChangedEvent(jint, jint, jint, jint); + virtual void postConfigureEvent(jint, jint, jint, jint); +public: + virtual void show(); +public: // actually package-private + virtual void postWindowEvent(jint, ::java::awt::Window *, jint); +public: + virtual void updateAlwaysOnTop(); +public: // actually protected + virtual void postExposeEvent(jint, jint, jint, jint); +public: + virtual jboolean requestWindowFocus(); + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong); + virtual ::java::awt::Graphics * getGraphics(); +public: // actually protected + virtual void postMouseEvent(jint, jlong, jint, jint, jint, jint, jboolean); +public: + virtual ::java::awt::Rectangle * getBounds(); +public: // actually protected + static const jint GDK_WINDOW_TYPE_HINT_NORMAL = 0; + static const jint GDK_WINDOW_TYPE_HINT_DIALOG = 1; + static const jint GDK_WINDOW_TYPE_HINT_MENU = 2; + static const jint GDK_WINDOW_TYPE_HINT_TOOLBAR = 3; + static const jint GDK_WINDOW_TYPE_HINT_SPLASHSCREEN = 4; + static const jint GDK_WINDOW_TYPE_HINT_UTILITY = 5; + static const jint GDK_WINDOW_TYPE_HINT_DOCK = 6; + static const jint GDK_WINDOW_TYPE_HINT_DESKTOP = 7; + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::GtkContainerPeer)))) windowState; +private: + jint x; + jint y; + jint width; + jint height; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_GtkWindowPeer__ diff --git a/libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h b/libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h new file mode 100644 index 00000000000..b7f0121d95a --- /dev/null +++ b/libjava/gnu/java/awt/peer/gtk/VolatileImageGraphics.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_gtk_VolatileImageGraphics__ +#define __gnu_java_awt_peer_gtk_VolatileImageGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace gtk + { + class GtkVolatileImage; + class VolatileImageGraphics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Graphics; + class GraphicsConfiguration; + class Image; + class Shape; + namespace font + { + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + } + } + } +} + +class gnu::java::awt::peer::gtk::VolatileImageGraphics : public ::gnu::java::awt::peer::gtk::ComponentGraphics +{ + +public: + VolatileImageGraphics(::gnu::java::awt::peer::gtk::GtkVolatileImage *); +private: + VolatileImageGraphics(::gnu::java::awt::peer::gtk::VolatileImageGraphics *); +public: + virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); + virtual ::java::awt::Graphics * create(); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); +public: // actually protected + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +public: + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * getRealBounds(); +private: + jboolean drawComposite(::java::awt::geom::Rectangle2D *, ::java::awt::image::ImageObserver *); + void createBuffer(); +public: // actually protected + virtual ::java::awt::image::ColorModel * getNativeCM(); +private: + ::gnu::java::awt::peer::gtk::GtkVolatileImage * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::gtk::ComponentGraphics)))) owner; + ::java::awt::image::BufferedImage * buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_gtk_VolatileImageGraphics__ diff --git a/libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h new file mode 100644 index 00000000000..fc1b98df6b7 --- /dev/null +++ b/libjava/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_headless_HeadlessGraphicsEnvironment__ +#define __gnu_java_awt_peer_headless_HeadlessGraphicsEnvironment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace headless + { + class HeadlessGraphicsEnvironment; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Graphics2D; + class GraphicsDevice; + namespace image + { + class BufferedImage; + } + } + } +} + +class gnu::java::awt::peer::headless::HeadlessGraphicsEnvironment : public ::java::awt::GraphicsEnvironment +{ + +public: + HeadlessGraphicsEnvironment(); + virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *); + virtual JArray< ::java::awt::Font * > * getAllFonts(); + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(); + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *); + virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice(); + virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_headless_HeadlessGraphicsEnvironment__ diff --git a/libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h b/libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h new file mode 100644 index 00000000000..d7a72173ef2 --- /dev/null +++ b/libjava/gnu/java/awt/peer/headless/HeadlessToolkit.h @@ -0,0 +1,188 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_headless_HeadlessToolkit__ +#define __gnu_java_awt_peer_headless_HeadlessToolkit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class EmbeddedWindow; + namespace peer + { + class ClasspathFontPeer; + class EmbeddedWindowPeer; + namespace headless + { + class HeadlessGraphicsEnvironment; + class HeadlessToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + class Canvas; + class Checkbox; + class CheckboxMenuItem; + class Choice; + class Dialog; + class Dimension; + class EventQueue; + class FileDialog; + class Font; + class FontMetrics; + class Frame; + class GraphicsDevice; + class GraphicsEnvironment; + class Image; + class Label; + class List; + class Menu; + class MenuBar; + class MenuItem; + class Panel; + class PopupMenu; + class PrintJob; + class ScrollPane; + class Scrollbar; + class TextArea; + class TextField; + class Window; + namespace datatransfer + { + class Clipboard; + } + namespace dnd + { + class DragGestureEvent; + namespace peer + { + class DragSourceContextPeer; + } + } + namespace im + { + class InputMethodHighlight; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + } + namespace peer + { + class ButtonPeer; + class CanvasPeer; + class CheckboxMenuItemPeer; + class CheckboxPeer; + class ChoicePeer; + class DialogPeer; + class FileDialogPeer; + class FontPeer; + class FramePeer; + class LabelPeer; + class ListPeer; + class MenuBarPeer; + class MenuItemPeer; + class MenuPeer; + class PanelPeer; + class PopupMenuPeer; + class RobotPeer; + class ScrollPanePeer; + class ScrollbarPeer; + class TextAreaPeer; + class TextFieldPeer; + class WindowPeer; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::headless::HeadlessToolkit : public ::gnu::java::awt::ClasspathToolkit +{ + +public: + HeadlessToolkit(); + virtual void beep(); + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); +public: // actually protected + virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *); + virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *); + virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *); + virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *); + virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *); + virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *); +public: + virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *); +public: // actually protected + virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *); + virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *); +public: + virtual ::java::awt::Image * createImage(::java::lang::String *); + virtual ::java::awt::Image * createImage(::java::net::URL *); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint); +public: // actually protected + virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *); + virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *); + virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *); + virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *); + virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *); + virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *); + virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *); + virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *); + virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *); + virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *); + virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *); + virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *); +public: + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual JArray< ::java::lang::String * > * getFontList(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); +public: // actually protected + virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint); +public: + virtual ::java::awt::Image * getImage(::java::lang::String *); + virtual ::java::awt::Image * getImage(::java::net::URL *); + virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *); + virtual jint getScreenResolution(); + virtual ::java::awt::Dimension * getScreenSize(); + virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard(); +public: // actually protected + virtual ::java::awt::EventQueue * getSystemEventQueueImpl(); +public: + virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void sync(); + virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *); + virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *); + virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *); + virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *); + virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment(); +private: + ::gnu::java::awt::peer::headless::HeadlessGraphicsEnvironment * __attribute__((aligned(__alignof__( ::gnu::java::awt::ClasspathToolkit)))) graphicsEnv; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_headless_HeadlessToolkit__ diff --git a/libjava/gnu/java/awt/peer/qt/MainQtThread.h b/libjava/gnu/java/awt/peer/qt/MainQtThread.h new file mode 100644 index 00000000000..9d3b746356a --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/MainQtThread.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_MainQtThread__ +#define __gnu_java_awt_peer_qt_MainQtThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class MainQtThread; + } + } + } + } + } +} + +class gnu::java::awt::peer::qt::MainQtThread : public ::java::lang::Thread +{ + +public: + MainQtThread(::java::lang::String *, jboolean); + virtual jboolean isRunning(); + virtual jlong init(::java::lang::String *, jboolean); + virtual void exec(jlong); + virtual void run(); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::lang::Thread)))) QApplicationPointer; + jlong mainThreadInterface; + ::java::lang::String * theme; +private: + jboolean running; + jboolean doublebuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_MainQtThread__ diff --git a/libjava/gnu/java/awt/peer/qt/NativeWrapper.h b/libjava/gnu/java/awt/peer/qt/NativeWrapper.h new file mode 100644 index 00000000000..0bf62e0d3de --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/NativeWrapper.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_NativeWrapper__ +#define __gnu_java_awt_peer_qt_NativeWrapper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class NativeWrapper; + } + } + } + } + } +} + +class gnu::java::awt::peer::qt::NativeWrapper : public ::java::lang::Object +{ + +public: + NativeWrapper(); +public: // actually protected + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeObject; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_NativeWrapper__ diff --git a/libjava/gnu/java/awt/peer/qt/QMatrix.h b/libjava/gnu/java/awt/peer/qt/QMatrix.h new file mode 100644 index 00000000000..7ff6bfbcafe --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QMatrix.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QMatrix__ +#define __gnu_java_awt_peer_qt_QMatrix__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QMatrix; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + } + } + } +} + +class gnu::java::awt::peer::qt::QMatrix : public ::gnu::java::awt::peer::qt::NativeWrapper +{ + +public: + QMatrix(::java::awt::geom::AffineTransform *); +private: + void init(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + JArray< jdouble > * getMatrix(); +public: + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual void dispose(); + virtual void finalize(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QMatrix__ diff --git a/libjava/gnu/java/awt/peer/qt/QPainterPath.h b/libjava/gnu/java/awt/peer/qt/QPainterPath.h new file mode 100644 index 00000000000..ffc104ea67e --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QPainterPath.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QPainterPath__ +#define __gnu_java_awt_peer_qt_QPainterPath__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QPainterPath; + } + } + } + } + } + namespace java + { + namespace awt + { + class Shape; + namespace geom + { + class GeneralPath; + } + } + } +} + +class gnu::java::awt::peer::qt::QPainterPath : public ::gnu::java::awt::peer::qt::NativeWrapper +{ + +public: // actually package-private + QPainterPath(); +public: + QPainterPath(::java::awt::Shape *); + QPainterPath(jdouble, jdouble, jdouble, jdouble); + QPainterPath(jdouble, jdouble, jdouble, jdouble, jboolean); + virtual ::java::awt::geom::GeneralPath * getPath(); +private: + void init(jint); + void moveTo(jdouble, jdouble); + void close(); + void lineTo(jdouble, jdouble); + void quadTo(jdouble, jdouble, jdouble, jdouble); + void cubicTo(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); +public: + virtual void dispose(); + virtual void finalize(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QPainterPath__ diff --git a/libjava/gnu/java/awt/peer/qt/QPen.h b/libjava/gnu/java/awt/peer/qt/QPen.h new file mode 100644 index 00000000000..973e24c313f --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QPen.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QPen__ +#define __gnu_java_awt_peer_qt_QPen__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QPen; + } + } + } + } + } + namespace java + { + namespace awt + { + class Stroke; + } + } +} + +class gnu::java::awt::peer::qt::QPen : public ::gnu::java::awt::peer::qt::NativeWrapper +{ + +public: + QPen(::java::awt::Stroke *); +private: + void init(jdouble, jint, jint, jdouble); +public: + virtual void dispose(); + virtual void finalize(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QPen__ diff --git a/libjava/gnu/java/awt/peer/qt/QtAudioClip.h b/libjava/gnu/java/awt/peer/qt/QtAudioClip.h new file mode 100644 index 00000000000..4e74b63a6e6 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtAudioClip.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtAudioClip__ +#define __gnu_java_awt_peer_qt_QtAudioClip__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtAudioClip; + } + } + } + } + } + namespace java + { + namespace awt + { + class Toolkit; + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::qt::QtAudioClip : public ::gnu::java::awt::peer::qt::NativeWrapper +{ + +public: + QtAudioClip(::java::lang::String *); + QtAudioClip(::java::net::URL *); +private: + void loadClip(::java::lang::String *); + void play(jboolean); + jboolean isAvailable(); + void checkForQt(); +public: + virtual void loop(); + virtual void play(); + virtual void stop(); + virtual void dispose(); + virtual void finalize(); +private: + static ::java::awt::Toolkit * t; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtAudioClip__ diff --git a/libjava/gnu/java/awt/peer/qt/QtButtonPeer.h b/libjava/gnu/java/awt/peer/qt/QtButtonPeer.h new file mode 100644 index 00000000000..5476a04ba60 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtButtonPeer.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtButtonPeer__ +#define __gnu_java_awt_peer_qt_QtButtonPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtButtonPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + } + } +} + +class gnu::java::awt::peer::qt::QtButtonPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtButtonPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Button *); + virtual void init(); +public: // actually protected + virtual void setup(); +public: // actually package-private + virtual void fireClick(jint); +public: + virtual void setLabel(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtButtonPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h b/libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h new file mode 100644 index 00000000000..1d8be8c36a6 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtCanvasPeer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtCanvasPeer__ +#define __gnu_java_awt_peer_qt_QtCanvasPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtCanvasPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Canvas; + class Dimension; + } + } +} + +class gnu::java::awt::peer::qt::QtCanvasPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtCanvasPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Canvas *); + virtual void init(); +public: // actually protected + virtual void setup(); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtCanvasPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h b/libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h new file mode 100644 index 00000000000..f90ce36e341 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtCheckboxPeer.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtCheckboxPeer__ +#define __gnu_java_awt_peer_qt_QtCheckboxPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtCheckboxPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Checkbox; + class CheckboxGroup; + } + } +} + +class gnu::java::awt::peer::qt::QtCheckboxPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtCheckboxPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Checkbox *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void fireToggle(jboolean); +public: + virtual void setCheckboxGroup(::java::awt::CheckboxGroup *); + virtual void setLabel(::java::lang::String *); + virtual void setState(jboolean); +private: + ::java::awt::CheckboxGroup * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtComponentPeer)))) group; + static ::java::util::WeakHashMap * groupMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtCheckboxPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtChoicePeer.h b/libjava/gnu/java/awt/peer/qt/QtChoicePeer.h new file mode 100644 index 00000000000..46a12c255e6 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtChoicePeer.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtChoicePeer__ +#define __gnu_java_awt_peer_qt_QtChoicePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtChoicePeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Choice; + } + } +} + +class gnu::java::awt::peer::qt::QtChoicePeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtChoicePeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Choice *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void fireChoice(jint); +public: + virtual void add(::java::lang::String *, jint); + virtual void addItem(::java::lang::String *, jint); + virtual void remove(jint); + virtual void removeAll(); + virtual void select(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtChoicePeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h b/libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h new file mode 100644 index 00000000000..733247abfec --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtComponentGraphics.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtComponentGraphics__ +#define __gnu_java_awt_peer_qt_QtComponentGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtComponentGraphics; + class QtComponentPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class GraphicsConfiguration; + } + } +} + +class gnu::java::awt::peer::qt::QtComponentGraphics : public ::gnu::java::awt::peer::qt::QtGraphics +{ + +public: + QtComponentGraphics(jlong, ::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint); +public: // actually package-private + QtComponentGraphics(::gnu::java::awt::peer::qt::QtComponentGraphics *); +public: + virtual ::java::awt::Graphics * create(); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); +private: + ::gnu::java::awt::peer::qt::QtComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtGraphics)))) peer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtComponentGraphics__ diff --git a/libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h b/libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h new file mode 100644 index 00000000000..90f962941d8 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtComponentPeer$RepaintTimerTask.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtComponentPeer$RepaintTimerTask__ +#define __gnu_java_awt_peer_qt_QtComponentPeer$RepaintTimerTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtComponentPeer; + class QtComponentPeer$RepaintTimerTask; + } + } + } + } + } +} + +class gnu::java::awt::peer::qt::QtComponentPeer$RepaintTimerTask : public ::java::util::TimerTask +{ + +public: // actually package-private + QtComponentPeer$RepaintTimerTask(::gnu::java::awt::peer::qt::QtComponentPeer *, ::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint); +public: + virtual void run(); +private: + jint __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) x; + jint y; + jint w; + jint h; + ::gnu::java::awt::peer::qt::QtComponentPeer * peer; +public: // actually package-private + ::gnu::java::awt::peer::qt::QtComponentPeer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtComponentPeer$RepaintTimerTask__ diff --git a/libjava/gnu/java/awt/peer/qt/QtComponentPeer.h b/libjava/gnu/java/awt/peer/qt/QtComponentPeer.h new file mode 100644 index 00000000000..f596e809c2a --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtComponentPeer.h @@ -0,0 +1,189 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtComponentPeer__ +#define __gnu_java_awt_peer_qt_QtComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtComponentPeer; + class QtContainerPeer; + class QtFontPeer; + class QtImage; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + } + } + } +} + +class gnu::java::awt::peer::qt::QtComponentPeer : public ::gnu::java::awt::peer::qt::NativeWrapper +{ + +public: // actually package-private + QtComponentPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *); +public: // actually protected + virtual void callInit(); + virtual void init(); + virtual void setup(); +public: // actually package-private + virtual void QtUpdate(); + virtual void QtUpdateArea(jint, jint, jint, jint); +private: + void disposeNative(); + void setGround(jint, jint, jint, jboolean); + void setBoundsNative(jint, jint, jint, jint); + void setCursor(jint); + ::java::awt::Color * getNativeBackground(); + void setFontNative(::gnu::java::awt::peer::qt::QtFontPeer *); + jint whichScreen(); + void reparentNative(::gnu::java::awt::peer::qt::QtContainerPeer *); + void getLocationOnScreenNative(::java::awt::Point *); + jboolean drawableComponent(); +public: // actually package-private + virtual void updateBounds(); + virtual void updateBackBuffer(jint, jint); +public: // actually protected + virtual void closeEvent(); + virtual void enterEvent(jint, jint, jint, jint); + virtual void focusInEvent(); + virtual void focusOutEvent(); + virtual void keyPressEvent(jint, jint, jint, jint); + virtual void keyReleaseEvent(jint, jint, jint, jint); + virtual void leaveEvent(jint, jint, jint, jint); + virtual void mouseDoubleClickEvent(jint, jint, jint, jint); + virtual void mouseMoveEvent(jint, jint, jint, jint); + virtual void mousePressEvent(jint, jint, jint, jint); + virtual void mouseReleaseEvent(jint, jint, jint, jint); + virtual void moveEvent(jint, jint, jint, jint); + virtual void resizeEvent(jint, jint, jint, jint); + virtual void showEvent(); + virtual void hideEvent(); +public: + virtual void setEventMask(jlong); + virtual jboolean canDetermineObscurity(); + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(jint, jint); + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *); + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint); + virtual void destroyBuffers(); + virtual void disable(); + virtual void dispose(); + virtual void enable(); + virtual void finalize(); + virtual void flip(::java::awt::BufferCapabilities$FlipContents *); + virtual ::java::awt::Image * getBackBuffer(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration(); + virtual ::java::awt::Point * getLocationOnScreen(); +private: + void getSizeNative(::java::awt::Dimension *, jboolean); + ::java::awt::Dimension * getSize(jboolean); +public: + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Toolkit * getToolkit(); + virtual jboolean handlesWheelScrolling(); + virtual void hide(); + virtual jboolean isFocusable(); + virtual jboolean isFocusTraversable(); + virtual jboolean isObscured(); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * preferredSize(); + virtual void requestFocus(); + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong); + virtual void reshape(jint, jint, jint, jint); + virtual void setBackground(::java::awt::Color *); + virtual void setBounds(jint, jint, jint, jint); + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual void setVisible(jboolean); + virtual void show(); + virtual void handleEvent(::java::awt::AWTEvent *); + virtual void paint(::java::awt::Graphics *); + virtual void paintBackBuffer(); + virtual void paintBackBuffer(jint, jint, jint, jint); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void print(::java::awt::Graphics *); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void updateCursorImmediately(); + virtual ::java::awt::Rectangle * getBounds(); + virtual void reparent(::java::awt::peer::ContainerPeer *); + virtual void setBounds(jint, jint, jint, jint, jint); + virtual jboolean isReparentSupported(); + virtual void layout(); +public: // actually protected + static const jint POPUP_TRIGGER = 3; + ::gnu::java::awt::peer::qt::QtToolkit * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::NativeWrapper)))) toolkit; +public: // actually package-private + ::java::awt::Component * owner; +private: + jlong eventMask; + jboolean hasMotionListeners; +public: // actually protected + ::gnu::java::awt::peer::qt::QtImage * backBuffer; + jlong qtApp; +private: + jboolean settingUp; + jboolean ignoreResize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtComponentPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtContainerPeer.h b/libjava/gnu/java/awt/peer/qt/QtContainerPeer.h new file mode 100644 index 00000000000..f9e60b3cc4d --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtContainerPeer.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtContainerPeer__ +#define __gnu_java_awt_peer_qt_QtContainerPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtContainerPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Insets; + } + } +} + +class gnu::java::awt::peer::qt::QtContainerPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtContainerPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: + virtual void beginLayout(); + virtual void beginValidate(); + virtual void endLayout(); + virtual void endValidate(); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Insets * insets(); + virtual jboolean isPaintPending(); + virtual jboolean isRestackSupported(); + virtual void cancelPendingPaint(jint, jint, jint, jint); + virtual void restack(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtContainerPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtDialogPeer.h b/libjava/gnu/java/awt/peer/qt/QtDialogPeer.h new file mode 100644 index 00000000000..483aa8e51c2 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtDialogPeer.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtDialogPeer__ +#define __gnu_java_awt_peer_qt_QtDialogPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtDialogPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dialog; + } + } +} + +class gnu::java::awt::peer::qt::QtDialogPeer : public ::gnu::java::awt::peer::qt::QtWindowPeer +{ + +public: + QtDialogPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Dialog *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: // actually package-private + virtual void setModal(jboolean); +private: + void setBoundsNative(jint, jint, jint, jint, jboolean); +public: + virtual void setResizable(jboolean); + virtual void setBounds(jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtDialogPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h b/libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h new file mode 100644 index 00000000000..5ee942d6f71 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__ +#define __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtEmbeddedWindowPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + } + } +} + +class gnu::java::awt::peer::qt::QtEmbeddedWindowPeer : public ::gnu::java::awt::peer::qt::QtFramePeer +{ + +public: + QtEmbeddedWindowPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: + virtual void embed(jlong); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtEmbeddedWindowPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h b/libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h new file mode 100644 index 00000000000..a87e72f1b6b --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtFileDialogPeer.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtFileDialogPeer__ +#define __gnu_java_awt_peer_qt_QtFileDialogPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtFileDialogPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class FileDialog; + } + } +} + +class gnu::java::awt::peer::qt::QtFileDialogPeer : public ::gnu::java::awt::peer::qt::QtDialogPeer +{ + +public: + QtFileDialogPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::FileDialog *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void setMode(jint); + void fileDialogDone(::java::lang::String *, ::java::lang::String *); +public: + virtual void setFile(::java::lang::String *); + virtual void setDirectory(::java::lang::String *); + virtual void setFilenameFilter(::java::io::FilenameFilter *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtFileDialogPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtFontMetrics.h b/libjava/gnu/java/awt/peer/qt/QtFontMetrics.h new file mode 100644 index 00000000000..a0655f2111f --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtFontMetrics.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtFontMetrics__ +#define __gnu_java_awt_peer_qt_QtFontMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtFontMetrics; + class QtFontPeer; + class QtGraphics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Graphics; + namespace geom + { + class Rectangle2D; + } + } + } +} + +class gnu::java::awt::peer::qt::QtFontMetrics : public ::java::awt::FontMetrics +{ + +public: + QtFontMetrics(::java::awt::Font *); + QtFontMetrics(::java::awt::Font *, ::java::awt::Graphics *); +public: // actually package-private + QtFontMetrics(::gnu::java::awt::peer::qt::QtFontPeer *, ::java::awt::Graphics *); +public: + QtFontMetrics(::gnu::java::awt::peer::qt::QtFontPeer *); +private: + void init(::gnu::java::awt::peer::qt::QtFontPeer *); + void initGraphics(::gnu::java::awt::peer::qt::QtFontPeer *, ::gnu::java::awt::peer::qt::QtGraphics *); + void dispose(); +public: // actually package-private + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *); + virtual jboolean canDisplay(jchar); +public: + virtual jint getAscent(); + virtual jint getDescent(); + virtual jint getHeight(); + virtual jint getLeading(); + virtual jint getMaxAdvance(); + virtual jint charWidth(jchar); + virtual jint charsWidth(JArray< jchar > *, jint, jint); + virtual jint stringWidth(::java::lang::String *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *, ::java::awt::Graphics *); +private: + jlong __attribute__((aligned(__alignof__( ::java::awt::FontMetrics)))) nativeObject; + ::gnu::java::awt::peer::qt::QtFontPeer * peer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtFontMetrics__ diff --git a/libjava/gnu/java/awt/peer/qt/QtFontPeer.h b/libjava/gnu/java/awt/peer/qt/QtFontPeer.h new file mode 100644 index 00000000000..11ca6ccf6c6 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtFontPeer.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtFontPeer__ +#define __gnu_java_awt_peer_qt_QtFontPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtFontMetrics; + class QtFontPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class FontMetrics; + namespace font + { + class FontRenderContext; + class GlyphVector; + class LineMetrics; + } + namespace geom + { + class Rectangle2D; + } + } + namespace text + { + class CharacterIterator; + } + } +} + +class gnu::java::awt::peer::qt::QtFontPeer : public ::gnu::java::awt::peer::ClasspathFontPeer +{ + +public: + QtFontPeer(::java::lang::String *, jint); + QtFontPeer(::java::lang::String *, jint, jint); + QtFontPeer(::java::lang::String *, ::java::util::Map *); + virtual void init(); +private: + void create(::java::lang::String *, jint, jint); +public: + virtual void dispose(); + virtual jboolean canDisplay(::java::awt::Font *, jchar); + virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint); + virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *); + virtual ::java::lang::String * getPostScriptName(::java::awt::Font *); + virtual jint getNumGlyphs(::java::awt::Font *); + virtual jint getMissingGlyphCode(::java::awt::Font *); + virtual jbyte getBaselineFor(::java::awt::Font *, jchar); + virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *); + virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual jboolean hasUniformLineMetrics(::java::awt::Font *); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *); +private: + jlong __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) nativeObject; + ::gnu::java::awt::peer::qt::QtFontMetrics * metrics; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtFontPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtFramePeer.h b/libjava/gnu/java/awt/peer/qt/QtFramePeer.h new file mode 100644 index 00000000000..1b0f39e68d5 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtFramePeer.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtFramePeer__ +#define __gnu_java_awt_peer_qt_QtFramePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtFramePeer; + class QtImage; + class QtMenuBarPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Image; + class Insets; + class MenuBar; + class Rectangle; + } + } +} + +class gnu::java::awt::peer::qt::QtFramePeer : public ::gnu::java::awt::peer::qt::QtWindowPeer +{ + +public: + QtFramePeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void setIcon(::gnu::java::awt::peer::qt::QtImage *); + void setMaximizedBounds(jint, jint); + void setMenu(::gnu::java::awt::peer::qt::QtMenuBarPeer *); + jint menuBarHeight(); +public: + virtual void destroy(); + virtual jint getState(); + virtual ::java::awt::Insets * getInsets(); + virtual void setIconImage(::java::awt::Image *); + virtual void setMaximizedBounds(::java::awt::Rectangle *); + virtual void setMenuBar(::java::awt::MenuBar *); + virtual void setResizable(jboolean); + virtual void setState(jint); + virtual void setBoundsPrivate(jint, jint, jint, jint); + virtual void updateAlwaysOnTop(); + virtual jboolean requestWindowFocus(); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtWindowPeer)))) theState; +public: // actually package-private + jlong frameObject; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtFramePeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtGraphics.h b/libjava/gnu/java/awt/peer/qt/QtGraphics.h new file mode 100644 index 00000000000..710248b0a44 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtGraphics.h @@ -0,0 +1,215 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtGraphics__ +#define __gnu_java_awt_peer_qt_QtGraphics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QMatrix; + class QPainterPath; + class QPen; + class QtFontPeer; + class QtGraphics; + class QtImage; + class QtVolatileImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Composite; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Paint; + class Rectangle; + class RenderingHints; + class RenderingHints$Key; + class Shape; + class Stroke; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ImageObserver; + class RenderedImage; + namespace renderable + { + class RenderableImage; + } + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class gnu::java::awt::peer::qt::QtGraphics : public ::java::awt::Graphics2D +{ + +public: // actually package-private + QtGraphics(); + QtGraphics(::gnu::java::awt::peer::qt::QtGraphics *); +public: // actually protected + virtual void setup(); +public: + virtual void delete$(); + virtual void dispose(); +private: + void resetClip(); +public: // actually protected + virtual void initImage(::gnu::java::awt::peer::qt::QtImage *); + virtual void initVolatileImage(::gnu::java::awt::peer::qt::QtVolatileImage *); +private: + void cloneNativeContext(::gnu::java::awt::peer::qt::QtGraphics *); + void setColor(jint, jint, jint, jint); + void drawNative(::gnu::java::awt::peer::qt::QPainterPath *); + void fillNative(::gnu::java::awt::peer::qt::QPainterPath *); + void setClipNative(::gnu::java::awt::peer::qt::QPainterPath *); + void setClipRectNative(jint, jint, jint, jint); + void intersectClipNative(::gnu::java::awt::peer::qt::QPainterPath *); + void intersectClipRectNative(jint, jint, jint, jint); + void setQtTransform(::gnu::java::awt::peer::qt::QMatrix *); + void setNativeStroke(::gnu::java::awt::peer::qt::QPen *); + void setNativeComposite(jint); + void drawStringNative(::java::lang::String *, jdouble, jdouble); + void setLinearGradient(jint, jint, jint, jint, jint, jint, jdouble, jdouble, jdouble, jdouble, jboolean); + void setAlphaNative(jdouble); + void setFontNative(::gnu::java::awt::peer::qt::QtFontPeer *); + ::gnu::java::awt::peer::qt::QPainterPath * getClipNative(); +public: // actually package-private + virtual void setAlpha(jdouble); +public: + virtual ::java::awt::Graphics * create() = 0; + virtual void copyArea(jint, jint, jint, jint, jint, jint) = 0; + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration() = 0; + virtual ::java::awt::Color * getColor(); + virtual void setColor(::java::awt::Color *); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getBackground(); + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void clip(::java::awt::Shape *); + virtual void clipRect(jint, jint, jint, jint); + virtual void setClip(jint, jint, jint, jint); + virtual ::java::awt::Shape * getClip(); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual void setClip(::java::awt::Shape *); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawLine(jint, jint, jint, jint); + virtual void drawRect(jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void clearRect(jint, jint, jint, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawOval(jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fill3DRect(jint, jint, jint, jint, jboolean); + virtual void draw3DRect(jint, jint, jint, jint, jboolean); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::lang::String *, jfloat, jfloat); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat); + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual void setTransform(::java::awt::geom::AffineTransform *); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); + virtual void shear(jdouble, jdouble); + virtual void transform(::java::awt::geom::AffineTransform *); + virtual void translate(jdouble, jdouble); + virtual void translate(jint, jint); + virtual void setStroke(::java::awt::Stroke *); + virtual ::java::awt::Stroke * getStroke(); + virtual void setComposite(::java::awt::Composite *); + virtual ::java::awt::Composite * getComposite(); + virtual void setPaint(::java::awt::Paint *); + virtual ::java::awt::Paint * getPaint(); + virtual void addRenderingHints(::java::util::Map *); + virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual void setRenderingHints(::java::util::Map *); + virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *); +private: + void updateRenderingHints(); +public: + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); + virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint); +public: // actually protected + jlong __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) nativeObject; +private: + static ::java::awt::geom::AffineTransform * identity; +public: // actually protected + ::java::awt::Font * font; + ::java::awt::Color * color; + ::java::awt::Color * bgcolor; + ::java::awt::Shape * clip__; + ::java::awt::Shape * initialClip; + ::java::awt::geom::AffineTransform * xform; + ::java::awt::Stroke * currentStroke; + jboolean nativeStroking; + ::java::awt::Composite * composite; + jdouble currentAlpha; + ::java::awt::Paint * currentPaint; + ::java::awt::RenderingHints * renderingHints; +public: // actually package-private + ::java::awt::Graphics * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtGraphics__ diff --git a/libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h new file mode 100644 index 00000000000..ec1e0c8a2ee --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtGraphicsEnvironment.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtGraphicsEnvironment__ +#define __gnu_java_awt_peer_qt_QtGraphicsEnvironment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtGraphicsEnvironment; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Graphics2D; + class GraphicsDevice; + namespace image + { + class BufferedImage; + } + } + } +} + +class gnu::java::awt::peer::qt::QtGraphicsEnvironment : public ::java::awt::GraphicsEnvironment +{ + +public: + QtGraphicsEnvironment(::gnu::java::awt::peer::qt::QtToolkit *); + virtual JArray< ::java::awt::Font * > * getAllFonts(); + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(); + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *); + virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice(); + virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *); + virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices(); + virtual ::gnu::java::awt::peer::qt::QtToolkit * getToolkit(); +public: // actually package-private + ::gnu::java::awt::peer::qt::QtToolkit * __attribute__((aligned(__alignof__( ::java::awt::GraphicsEnvironment)))) toolkit; + JArray< ::java::awt::GraphicsDevice * > * screens; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtGraphicsEnvironment__ diff --git a/libjava/gnu/java/awt/peer/qt/QtImage.h b/libjava/gnu/java/awt/peer/qt/QtImage.h new file mode 100644 index 00000000000..4c921b22881 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtImage.h @@ -0,0 +1,128 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtImage__ +#define __gnu_java_awt_peer_qt_QtImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QMatrix; + class QtComponentPeer; + class QtGraphics; + class QtImage; + class QtImageGraphics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Graphics; + class Image; + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::qt::QtImage : public ::java::awt::Image +{ + +public: + virtual void clear(); +private: + JArray< jint > * getPixels(); + void setPixels(JArray< jint > *); + jboolean loadImage(::java::lang::String *); + jboolean loadImageFromData(JArray< jbyte > *); + void createImage(); + void freeImage(); + void createScaledImage(::gnu::java::awt::peer::qt::QtImage *, jint); +public: // actually package-private + virtual void drawPixels(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jboolean); +private: + void drawPixelsScaled(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jboolean); + void drawPixelsTransformed(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *); +public: // actually package-private + virtual void drawPixelsScaledFlipped(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jboolean, jboolean, jint, jint, jint, jint, jint, jint, jint, jint, jboolean); +public: + QtImage(::java::awt::image::ImageProducer *); + QtImage(::java::net::URL *); + QtImage(::java::lang::String *); + QtImage(JArray< jbyte > *); + QtImage(jint, jint); +private: + QtImage(::gnu::java::awt::peer::qt::QtImage *, jint, jint, jint); +public: + virtual void setImage(jint, jint, JArray< jint > *, ::java::util::Hashtable *); + virtual jint getWidth(::java::awt::image::ImageObserver *); + virtual jint getHeight(::java::awt::image::ImageObserver *); + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *); + virtual ::java::awt::image::ImageProducer * getSource(); +public: // actually package-private + virtual void putPainter(::gnu::java::awt::peer::qt::QtImageGraphics *); + virtual void removePainter(::gnu::java::awt::peer::qt::QtImageGraphics *); +public: + virtual ::java::awt::Graphics * getGraphics(); +public: // actually package-private + virtual ::java::awt::Graphics * getDirectGraphics(::gnu::java::awt::peer::qt::QtComponentPeer *); +public: + virtual ::java::awt::Image * getScaledInstance(jint, jint, jint); + virtual void flush(); + virtual void finalize(); + virtual void dispose(); + virtual jint checkImage(::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual void copyArea(jint, jint, jint, jint, jint, jint); +private: + void deliver(); + jboolean addObserver(::java::awt::image::ImageObserver *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::Image)))) width; + jint height; + ::java::util::Hashtable * props; + jboolean isLoaded; + jlong nativeObject; + ::java::util::Vector * observers; + jboolean errorLoading; + ::java::awt::image::ImageProducer * source; + static ::java::awt::image::ColorModel * nativeModel; + ::java::util::WeakHashMap * painters; + jboolean killFlag; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtImage__ diff --git a/libjava/gnu/java/awt/peer/qt/QtImageConsumer.h b/libjava/gnu/java/awt/peer/qt/QtImageConsumer.h new file mode 100644 index 00000000000..8c929d4f671 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtImageConsumer.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtImageConsumer__ +#define __gnu_java_awt_peer_qt_QtImageConsumer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtImage; + class QtImageConsumer; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class ImageProducer; + } + } + } +} + +class gnu::java::awt::peer::qt::QtImageConsumer : public ::java::lang::Object +{ + +public: + QtImageConsumer(::gnu::java::awt::peer::qt::QtImage *, ::java::awt::image::ImageProducer *); + virtual void imageComplete(jint); + virtual void setColorModel(::java::awt::image::ColorModel *); + virtual void setDimensions(jint, jint); + virtual void setHints(jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); +private: + JArray< jint > * convertPixels(JArray< jbyte > *); +public: + virtual void setProperties(::java::util::Hashtable *); +private: + ::gnu::java::awt::peer::qt::QtImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target; + jint width; + jint height; + ::java::util::Hashtable * properties; + JArray< jint > * pixelCache; + ::java::awt::image::ImageProducer * source; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtImageConsumer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h b/libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h new file mode 100644 index 00000000000..d74e3244474 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtImageDirectGraphics.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtImageDirectGraphics__ +#define __gnu_java_awt_peer_qt_QtImageDirectGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtComponentPeer; + class QtImage; + class QtImageDirectGraphics; + class QtImageGraphics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Image; + class Shape; + namespace geom + { + class AffineTransform; + } + namespace image + { + class ImageObserver; + } + } + } +} + +class gnu::java::awt::peer::qt::QtImageDirectGraphics : public ::gnu::java::awt::peer::qt::QtImageGraphics +{ + +public: + QtImageDirectGraphics(::gnu::java::awt::peer::qt::QtImage *, ::gnu::java::awt::peer::qt::QtComponentPeer *); + QtImageDirectGraphics(::gnu::java::awt::peer::qt::QtImageGraphics *); +private: + void scheduleUpdate(); +public: + virtual void dispose(); + virtual void draw(::java::awt::Shape *); + virtual void fill(::java::awt::Shape *); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::lang::String *, jfloat, jfloat); + virtual void drawLine(jint, jint, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); +private: + ::gnu::java::awt::peer::qt::QtComponentPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtImageGraphics)))) peer; + jboolean modified; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtImageDirectGraphics__ diff --git a/libjava/gnu/java/awt/peer/qt/QtImageGraphics.h b/libjava/gnu/java/awt/peer/qt/QtImageGraphics.h new file mode 100644 index 00000000000..e5adb79123d --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtImageGraphics.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtImageGraphics__ +#define __gnu_java_awt_peer_qt_QtImageGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtImageGraphics; + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class GraphicsConfiguration; + class Image; + } + } +} + +class gnu::java::awt::peer::qt::QtImageGraphics : public ::gnu::java::awt::peer::qt::QtGraphics +{ + +public: + QtImageGraphics(::java::awt::Image *); +public: // actually package-private + QtImageGraphics(::gnu::java::awt::peer::qt::QtImageGraphics *); +public: + virtual void dispose(); + virtual ::java::awt::Graphics * create(); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); +public: // actually package-private + ::java::awt::Image * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtGraphics)))) parentImage; + ::java::util::Stack * owners; + ::gnu::java::awt::peer::qt::QtImageGraphics * topParent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtImageGraphics__ diff --git a/libjava/gnu/java/awt/peer/qt/QtLabelPeer.h b/libjava/gnu/java/awt/peer/qt/QtLabelPeer.h new file mode 100644 index 00000000000..af81168b4ea --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtLabelPeer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtLabelPeer__ +#define __gnu_java_awt_peer_qt_QtLabelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtLabelPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Label; + } + } +} + +class gnu::java::awt::peer::qt::QtLabelPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtLabelPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Label *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: + virtual void setAlignment(jint); + virtual void setText(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtLabelPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtListPeer.h b/libjava/gnu/java/awt/peer/qt/QtListPeer.h new file mode 100644 index 00000000000..0d4fbee97e4 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtListPeer.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtListPeer__ +#define __gnu_java_awt_peer_qt_QtListPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtListPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class List; + } + } +} + +class gnu::java::awt::peer::qt::QtListPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtListPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::List *); + virtual void init(); +public: // actually protected + virtual void setup(); +private: + void fireChoice(jint); + void itemDoubleClicked(jint, jint); + void select(jint, jboolean); +public: + virtual void add(::java::lang::String *, jint); + virtual void addItem(::java::lang::String *, jint); + virtual void clear(); + virtual void delItems(jint, jint); + virtual void deselect(jint); + virtual JArray< jint > * getSelectedIndexes(); + virtual void makeVisible(jint); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void removeAll(); + virtual void select(jint); + virtual void setMultipleMode(jboolean); + virtual void setMultipleSelections(jboolean); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual ::java::awt::Dimension * getMinimumSize(jint); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtComponentPeer)))) ignoreNextSelect; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtListPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h new file mode 100644 index 00000000000..57e6d546eec --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtMenuBarPeer.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtMenuBarPeer__ +#define __gnu_java_awt_peer_qt_QtMenuBarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtMenuBarPeer; + class QtMenuPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Menu; + class MenuBar; + } + } +} + +class gnu::java::awt::peer::qt::QtMenuBarPeer : public ::gnu::java::awt::peer::qt::QtMenuComponentPeer +{ + +public: + QtMenuBarPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::MenuBar *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: // actually package-private + virtual void addMenus(); +private: + void addMenu(::gnu::java::awt::peer::qt::QtMenuPeer *); + void addHelpMenu(::gnu::java::awt::peer::qt::QtMenuPeer *); + void delMenu(::gnu::java::awt::peer::qt::QtMenuPeer *); +public: + virtual void addMenu(::java::awt::Menu *); + virtual void addHelpMenu(::java::awt::Menu *); + virtual void delMenu(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtMenuBarPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h new file mode 100644 index 00000000000..3cab6458952 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtMenuComponentPeer.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtMenuComponentPeer__ +#define __gnu_java_awt_peer_qt_QtMenuComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtMenuComponentPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class MenuComponent; + } + } +} + +class gnu::java::awt::peer::qt::QtMenuComponentPeer : public ::gnu::java::awt::peer::qt::NativeWrapper +{ + +public: + QtMenuComponentPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::MenuComponent *); +public: // actually protected + virtual void callInit(); + virtual void init(); + virtual void setup(); +public: + virtual void finalize(); + virtual void dispose(); + virtual void setFont(::java::awt::Font *); +public: // actually protected + ::gnu::java::awt::peer::qt::QtToolkit * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::NativeWrapper)))) toolkit; + ::java::awt::MenuComponent * owner; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtMenuComponentPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h new file mode 100644 index 00000000000..10eee1aa20c --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtMenuItemPeer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtMenuItemPeer__ +#define __gnu_java_awt_peer_qt_QtMenuItemPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtMenuItemPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class MenuItem; + } + } +} + +class gnu::java::awt::peer::qt::QtMenuItemPeer : public ::gnu::java::awt::peer::qt::QtMenuComponentPeer +{ + +public: + QtMenuItemPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::MenuItem *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void create(::java::lang::String *, jboolean, jboolean); +public: + virtual void finalize(); + virtual void dispose(); +private: + void fireClick(jint); +public: + virtual void disable(); + virtual void enable(); + virtual void setEnabled(jboolean); + virtual void setLabel(::java::lang::String *); + virtual void setState(jboolean); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtMenuItemPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtMenuPeer.h b/libjava/gnu/java/awt/peer/qt/QtMenuPeer.h new file mode 100644 index 00000000000..79341a4fe2b --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtMenuPeer.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtMenuPeer__ +#define __gnu_java_awt_peer_qt_QtMenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtMenuItemPeer; + class QtMenuPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Menu; + class MenuItem; + } + } +} + +class gnu::java::awt::peer::qt::QtMenuPeer : public ::gnu::java::awt::peer::qt::QtMenuComponentPeer +{ + +public: + QtMenuPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Menu *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: // actually package-private + virtual void addItems(); +private: + void fireClick(); + void allowTearOff(); + void insertSeperator(); + void insertItem(::gnu::java::awt::peer::qt::QtMenuItemPeer *); + void insertMenu(::gnu::java::awt::peer::qt::QtMenuPeer *); + void delItem(jlong); + void add(jlong); +public: + virtual void addItem(::java::awt::MenuItem *); + virtual void addSeparator(); + virtual void delItem(jint); + virtual void disable(); + virtual void enable(); + virtual void setEnabled(jboolean); + virtual void setLabel(::java::lang::String *); +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::qt::QtMenuComponentPeer)))) items; + jboolean itemsAdded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtMenuPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtPanelPeer.h b/libjava/gnu/java/awt/peer/qt/QtPanelPeer.h new file mode 100644 index 00000000000..c0031ef50da --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtPanelPeer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtPanelPeer__ +#define __gnu_java_awt_peer_qt_QtPanelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtPanelPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + } + } +} + +class gnu::java::awt::peer::qt::QtPanelPeer : public ::gnu::java::awt::peer::qt::QtContainerPeer +{ + +public: + QtPanelPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtPanelPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h b/libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h new file mode 100644 index 00000000000..3b78bc97737 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtPopupMenuPeer.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtPopupMenuPeer__ +#define __gnu_java_awt_peer_qt_QtPopupMenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtPopupMenuPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Event; + class PopupMenu; + } + } +} + +class gnu::java::awt::peer::qt::QtPopupMenuPeer : public ::gnu::java::awt::peer::qt::QtMenuPeer +{ + +public: + QtPopupMenuPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::PopupMenu *); +private: + void showNative(jint, jint); +public: + virtual void show(::java::awt::Component *, jint, jint); + virtual void show(::java::awt::Event *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtPopupMenuPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h b/libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h new file mode 100644 index 00000000000..9cc516cda3e --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtRepaintThread$RepaintComponent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtRepaintThread$RepaintComponent__ +#define __gnu_java_awt_peer_qt_QtRepaintThread$RepaintComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtComponentPeer; + class QtRepaintThread$RepaintComponent; + } + } + } + } + } +} + +class gnu::java::awt::peer::qt::QtRepaintThread$RepaintComponent : public ::java::lang::Object +{ + +public: + QtRepaintThread$RepaintComponent(::gnu::java::awt::peer::qt::QtComponentPeer *); + QtRepaintThread$RepaintComponent(::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint); + ::gnu::java::awt::peer::qt::QtComponentPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) curr; + ::gnu::java::awt::peer::qt::QtRepaintThread$RepaintComponent * next; + jboolean paintAll; + jint x; + jint y; + jint w; + jint h; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtRepaintThread$RepaintComponent__ diff --git a/libjava/gnu/java/awt/peer/qt/QtRepaintThread.h b/libjava/gnu/java/awt/peer/qt/QtRepaintThread.h new file mode 100644 index 00000000000..e9d714cb68d --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtRepaintThread.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtRepaintThread__ +#define __gnu_java_awt_peer_qt_QtRepaintThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtComponentPeer; + class QtRepaintThread; + class QtRepaintThread$RepaintComponent; + } + } + } + } + } +} + +class gnu::java::awt::peer::qt::QtRepaintThread : public ::java::lang::Thread +{ + +public: + QtRepaintThread(); + virtual void run(); + virtual void queueComponent(::gnu::java::awt::peer::qt::QtComponentPeer *); + virtual void queueComponent(::gnu::java::awt::peer::qt::QtComponentPeer *, jint, jint, jint, jint); +public: // actually package-private + ::gnu::java::awt::peer::qt::QtRepaintThread$RepaintComponent * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) component; + jboolean busy; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtRepaintThread__ diff --git a/libjava/gnu/java/awt/peer/qt/QtScreenDevice.h b/libjava/gnu/java/awt/peer/qt/QtScreenDevice.h new file mode 100644 index 00000000000..179fa09bf67 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtScreenDevice.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtScreenDevice__ +#define __gnu_java_awt_peer_qt_QtScreenDevice__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtScreenDevice; + class QtScreenDeviceConfiguration; + } + } + } + } + } + namespace java + { + namespace awt + { + class DisplayMode; + class GraphicsConfigTemplate; + class GraphicsConfiguration; + class Rectangle; + class Window; + } + } +} + +class gnu::java::awt::peer::qt::QtScreenDevice : public ::java::awt::GraphicsDevice +{ + +public: + QtScreenDevice(jint); + virtual void init(jint); + virtual void dispose(); +public: // actually package-private + virtual ::java::awt::Rectangle * getBounds(); + virtual jint getDpiX(); + virtual jint getDpiY(); + virtual jint depth(); +public: + virtual ::java::awt::GraphicsConfiguration * getBestConfiguration(::java::awt::GraphicsConfigTemplate *); + virtual JArray< ::java::awt::GraphicsConfiguration * > * getConfigurations(); + virtual ::java::awt::GraphicsConfiguration * getDefaultConfiguration(); + virtual ::java::lang::String * getIDstring(); + virtual jint getType(); + virtual jboolean isDisplayChangeSupported(); + virtual jboolean isFullScreenSupported(); + virtual void setDisplayMode(::java::awt::DisplayMode *); + virtual void setFullScreenWindow(::java::awt::Window *); +private: + jlong __attribute__((aligned(__alignof__( ::java::awt::GraphicsDevice)))) nativeObject; + jint id; + ::java::lang::String * IDstring; +public: // actually package-private + ::gnu::java::awt::peer::qt::QtScreenDeviceConfiguration * config; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtScreenDevice__ diff --git a/libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h b/libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h new file mode 100644 index 00000000000..f9ec9e028cf --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtScreenDeviceConfiguration__ +#define __gnu_java_awt_peer_qt_QtScreenDeviceConfiguration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtScreenDevice; + class QtScreenDeviceConfiguration; + } + } + } + } + } + namespace java + { + namespace awt + { + class GraphicsDevice; + class ImageCapabilities; + class Rectangle; + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class ColorModel; + class VolatileImage; + } + } + } +} + +class gnu::java::awt::peer::qt::QtScreenDeviceConfiguration : public ::java::awt::GraphicsConfiguration +{ + +public: + QtScreenDeviceConfiguration(::gnu::java::awt::peer::qt::QtScreenDevice *); + virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint); + virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint, jint); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::ColorModel * getColorModel(jint); + virtual ::java::awt::geom::AffineTransform * getDefaultTransform(); + virtual ::java::awt::GraphicsDevice * getDevice(); + virtual ::java::awt::geom::AffineTransform * getNormalizingTransform(); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, jint); +private: + ::gnu::java::awt::peer::qt::QtScreenDevice * __attribute__((aligned(__alignof__( ::java::awt::GraphicsConfiguration)))) owner; + ::java::awt::Rectangle * bounds; + jdouble dpiX; + jdouble dpiY; + jint depth; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtScreenDeviceConfiguration__ diff --git a/libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h b/libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h new file mode 100644 index 00000000000..23877b3b51e --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtScrollPanePeer.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtScrollPanePeer__ +#define __gnu_java_awt_peer_qt_QtScrollPanePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtScrollPanePeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Adjustable; + class Insets; + class ScrollPane; + } + } +} + +class gnu::java::awt::peer::qt::QtScrollPanePeer : public ::gnu::java::awt::peer::qt::QtContainerPeer +{ + +public: + QtScrollPanePeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::ScrollPane *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void setPolicy(jint); +public: + virtual void childResized(jint, jint); + virtual jint getHScrollbarHeight(); + virtual jint getVScrollbarWidth(); + virtual void setScrollPosition(jint, jint); + virtual ::java::awt::Insets * getInsets(); + virtual void setUnitIncrement(::java::awt::Adjustable *, jint); + virtual void setValue(::java::awt::Adjustable *, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtScrollPanePeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h b/libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h new file mode 100644 index 00000000000..3e13597639f --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtScrollbarPeer.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtScrollbarPeer__ +#define __gnu_java_awt_peer_qt_QtScrollbarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtScrollbarPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Scrollbar; + } + } +} + +class gnu::java::awt::peer::qt::QtScrollbarPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtScrollbarPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Scrollbar *); + virtual void init(); +public: // actually protected + virtual void setup(); +private: + void setOrientation(jint); + void fireMoved(jint, jint); +public: + virtual void setLineIncrement(jint); + virtual void setPageIncrement(jint); + virtual void setValues(jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtScrollbarPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h b/libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h new file mode 100644 index 00000000000..42ee905580e --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtTextAreaPeer.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtTextAreaPeer__ +#define __gnu_java_awt_peer_qt_QtTextAreaPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtTextAreaPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + class TextArea; + namespace im + { + class InputMethodRequests; + } + } + } +} + +class gnu::java::awt::peer::qt::QtTextAreaPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtTextAreaPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::TextArea *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + jint getSelection(jboolean); + void textChanged(); +public: + virtual jlong filterEvents(jlong); + virtual jint getCaretPosition(); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jint getIndexAtPoint(jint, jint); + virtual ::java::awt::Dimension * getMinimumSize(jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(jint, jint); + virtual jint getSelectionEnd(); + virtual jint getSelectionStart(); + virtual ::java::lang::String * getText(); + virtual void insert(::java::lang::String *, jint); + virtual void insertText(::java::lang::String *, jint); + virtual ::java::awt::Dimension * minimumSize(jint, jint); + virtual ::java::awt::Dimension * preferredSize(jint, jint); + virtual void replaceRange(::java::lang::String *, jint, jint); + virtual void replaceText(::java::lang::String *, jint, jint); + virtual void setText(::java::lang::String *); + virtual void select(jint, jint); + virtual void setEditable(jboolean); + virtual void setCaretPosition(jint); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtTextAreaPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h b/libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h new file mode 100644 index 00000000000..123d95bb220 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtTextFieldPeer.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtTextFieldPeer__ +#define __gnu_java_awt_peer_qt_QtTextFieldPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtTextFieldPeer; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + class TextField; + namespace im + { + class InputMethodRequests; + } + } + } +} + +class gnu::java::awt::peer::qt::QtTextFieldPeer : public ::gnu::java::awt::peer::qt::QtComponentPeer +{ + +public: + QtTextFieldPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::TextField *); +public: // actually protected + virtual void init(); + virtual void setup(); +private: + void textChanged(); + jint getSelection(jboolean); + ::java::awt::Dimension * getMinimumSizeNative(jint); + ::java::awt::Dimension * getPreferredSizeNative(jint); +public: + virtual jlong filterEvents(jlong); + virtual jint getCaretPosition(); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jint getIndexAtPoint(jint, jint); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual jint getSelectionEnd(); + virtual jint getSelectionStart(); + virtual ::java::lang::String * getText(); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void select(jint, jint); + virtual void setCaretPosition(jint); + virtual void setEchoCharacter(jchar); + virtual void setEchoChar(jchar); + virtual void setEditable(jboolean); + virtual void setText(::java::lang::String *); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtTextFieldPeer__ diff --git a/libjava/gnu/java/awt/peer/qt/QtToolkit.h b/libjava/gnu/java/awt/peer/qt/QtToolkit.h new file mode 100644 index 00000000000..471794be6c9 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtToolkit.h @@ -0,0 +1,203 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtToolkit__ +#define __gnu_java_awt_peer_qt_QtToolkit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class EmbeddedWindow; + namespace peer + { + class ClasspathFontPeer; + class EmbeddedWindowPeer; + namespace qt + { + class MainQtThread; + class QtGraphicsEnvironment; + class QtRepaintThread; + class QtToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + class Canvas; + class Checkbox; + class CheckboxMenuItem; + class Choice; + class Dialog; + class Dimension; + class EventQueue; + class FileDialog; + class Font; + class FontMetrics; + class Frame; + class GraphicsDevice; + class GraphicsEnvironment; + class Image; + class Label; + class List; + class Menu; + class MenuBar; + class MenuItem; + class Panel; + class PopupMenu; + class PrintJob; + class ScrollPane; + class Scrollbar; + class TextArea; + class TextField; + class Window; + namespace datatransfer + { + class Clipboard; + } + namespace dnd + { + class DragGestureEvent; + namespace peer + { + class DragSourceContextPeer; + } + } + namespace event + { + class AWTEventListener; + } + namespace im + { + class InputMethodHighlight; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + } + namespace peer + { + class ButtonPeer; + class CanvasPeer; + class CheckboxMenuItemPeer; + class CheckboxPeer; + class ChoicePeer; + class DialogPeer; + class FileDialogPeer; + class FontPeer; + class FramePeer; + class LabelPeer; + class ListPeer; + class MenuBarPeer; + class MenuItemPeer; + class MenuPeer; + class PanelPeer; + class PopupMenuPeer; + class RobotPeer; + class ScrollPanePeer; + class ScrollbarPeer; + class TextAreaPeer; + class TextFieldPeer; + class WindowPeer; + } + } + namespace net + { + class URL; + } + } +} + +class gnu::java::awt::peer::qt::QtToolkit : public ::gnu::java::awt::ClasspathToolkit +{ + + static void initToolkit(); +public: + QtToolkit(); +public: // actually package-private + virtual JArray< ::java::lang::String * > * nativeFontFamilies(); + virtual jint numScreens(); + virtual jint defaultScreen(); +public: + virtual void beep(); + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); +public: // actually protected + virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *); + virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *); + virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *); + virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *); + virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *); +public: + virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *); +public: // actually protected + virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *); + virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *); +public: + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint); + virtual ::java::awt::Image * createImage(::java::lang::String *); + virtual ::java::awt::Image * createImage(::java::net::URL *); +public: // actually protected + virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *); + virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *); + virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *); + virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *); + virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *); + virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *); + virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *); + virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *); + virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *); + virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *); + virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *); + virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *); + virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *); +public: + virtual JArray< ::java::awt::event::AWTEventListener * > * getAWTEventListeners(); + virtual JArray< ::java::awt::event::AWTEventListener * > * getAWTEventListeners(jlong); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual JArray< ::java::lang::String * > * getFontList(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); +public: // actually protected + virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint); +public: + virtual ::java::awt::Image * getImage(::java::lang::String *); + virtual ::java::awt::Image * getImage(::java::net::URL *); + virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *); + virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard(); +public: // actually protected + virtual ::java::awt::EventQueue * getSystemEventQueueImpl(); +public: + virtual ::java::awt::Dimension * getScreenSize(); + virtual jint getScreenResolution(); + virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void sync(); + virtual ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment(); + virtual ::gnu::java::awt::peer::ClasspathFontPeer * getClasspathFontPeer(::java::lang::String *, ::java::util::Map *); + virtual ::java::awt::Font * createFont(jint, ::java::io::InputStream *); + virtual ::java::awt::peer::RobotPeer * createRobot(::java::awt::GraphicsDevice *); + virtual ::gnu::java::awt::peer::EmbeddedWindowPeer * createEmbeddedWindow(::gnu::java::awt::EmbeddedWindow *); + static ::java::awt::EventQueue * eventQueue; + static ::gnu::java::awt::peer::qt::QtRepaintThread * repaintThread; + static ::gnu::java::awt::peer::qt::MainQtThread * guiThread; + static ::gnu::java::awt::peer::qt::QtGraphicsEnvironment * graphicsEnv; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtToolkit__ diff --git a/libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h b/libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h new file mode 100644 index 00000000000..849b3b37fd4 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtVolatileImage$1.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtVolatileImage$1__ +#define __gnu_java_awt_peer_qt_QtVolatileImage$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtVolatileImage; + class QtVolatileImage$1; + } + } + } + } + } +} + +class gnu::java::awt::peer::qt::QtVolatileImage$1 : public ::java::awt::ImageCapabilities +{ + +public: // actually package-private + QtVolatileImage$1(::gnu::java::awt::peer::qt::QtVolatileImage *, jboolean); +public: + jboolean isTrueVolatile(); +public: // actually package-private + ::gnu::java::awt::peer::qt::QtVolatileImage * __attribute__((aligned(__alignof__( ::java::awt::ImageCapabilities)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtVolatileImage$1__ diff --git a/libjava/gnu/java/awt/peer/qt/QtVolatileImage.h b/libjava/gnu/java/awt/peer/qt/QtVolatileImage.h new file mode 100644 index 00000000000..4972e9faad6 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtVolatileImage.h @@ -0,0 +1,117 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtVolatileImage__ +#define __gnu_java_awt_peer_qt_QtVolatileImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QMatrix; + class QtGraphics; + class QtImage; + class QtImageGraphics; + class QtVolatileImage; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Graphics; + class Graphics2D; + class GraphicsConfiguration; + class Image; + class ImageCapabilities; + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + class ImageProducer; + } + } + } +} + +class gnu::java::awt::peer::qt::QtVolatileImage : public ::java::awt::image::VolatileImage +{ + +public: + virtual void clear(); +private: + JArray< jint > * getPixels(); + void createImage(); + void freeImage(); +public: + virtual void blit(::gnu::java::awt::peer::qt::QtImage *); + virtual void blit(::gnu::java::awt::peer::qt::QtImage *, jint, jint, jint, jint); +private: + void createScaledImage(::gnu::java::awt::peer::qt::QtVolatileImage *, jint); + void drawPixels(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jboolean); + void drawPixelsScaled(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jboolean); + void drawPixelsTransformed(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *); +public: // actually package-private + virtual void drawPixelsScaledFlipped(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jboolean, jboolean, jint, jint, jint, jint, jint, jint, jint, jint, jboolean); +public: + QtVolatileImage(jint, jint); +private: + QtVolatileImage(::gnu::java::awt::peer::qt::QtVolatileImage *, jint, jint, jint); +public: + virtual void finalize(); + virtual void dispose(); + virtual jint getWidth(::java::awt::image::ImageObserver *); + virtual jint getHeight(::java::awt::image::ImageObserver *); + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *); + virtual ::java::awt::image::ImageProducer * getSource(); +public: // actually package-private + virtual void putPainter(::gnu::java::awt::peer::qt::QtImageGraphics *); + virtual void removePainter(::gnu::java::awt::peer::qt::QtImageGraphics *); +public: + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Image * getScaledInstance(jint, jint, jint); + virtual void flush(); + virtual jint checkImage(::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, ::gnu::java::awt::peer::qt::QMatrix *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::gnu::java::awt::peer::qt::QtGraphics *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual jboolean contentsLost(); + virtual ::java::awt::Graphics2D * createGraphics(); + virtual ::java::awt::ImageCapabilities * getCapabilities(); + virtual jint getHeight(); + virtual ::java::awt::image::BufferedImage * getSnapshot(); + virtual jint getWidth(); + virtual jint validate(::java::awt::GraphicsConfiguration *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::image::VolatileImage)))) width; + jint height; + ::java::util::Hashtable * props; + jlong nativeObject; + static ::java::awt::image::ColorModel * nativeModel; + ::java::util::WeakHashMap * painters; + jboolean killFlag; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtVolatileImage__ diff --git a/libjava/gnu/java/awt/peer/qt/QtWindowPeer.h b/libjava/gnu/java/awt/peer/qt/QtWindowPeer.h new file mode 100644 index 00000000000..e451e3c6027 --- /dev/null +++ b/libjava/gnu/java/awt/peer/qt/QtWindowPeer.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_qt_QtWindowPeer__ +#define __gnu_java_awt_peer_qt_QtWindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace qt + { + class QtToolkit; + class QtWindowPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + } + } +} + +class gnu::java::awt::peer::qt::QtWindowPeer : public ::gnu::java::awt::peer::qt::QtContainerPeer +{ + +public: + QtWindowPeer(::gnu::java::awt::peer::qt::QtToolkit *, ::java::awt::Component *); +public: // actually protected + virtual void init(); + virtual void setup(); +public: + virtual void toBack(); + virtual void toFront(); + virtual void setTitle(::java::lang::String *); + virtual void updateAlwaysOnTop(); + virtual jboolean requestWindowFocus(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_qt_QtWindowPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h new file mode 100644 index 00000000000..1bc372511eb --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButton.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButton__ +#define __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingButtonPeer; + class SwingButtonPeer$SwingButton; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + class Container; + class Graphics; + class Image; + class Point; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + } + } +} + +class gnu::java::awt::peer::swing::SwingButtonPeer$SwingButton : public ::javax::swing::JButton +{ + +public: // actually package-private + SwingButtonPeer$SwingButton(::gnu::java::awt::peer::swing::SwingButtonPeer *, ::java::awt::Button *); +public: + virtual ::java::awt::Point * getLocationOnScreen(); + virtual jboolean isShowing(); + virtual ::java::awt::Image * createImage(jint, jint); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::javax::swing::JComponent * getJComponent(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); + virtual ::java::awt::Container * getParent(); +public: // actually package-private + ::java::awt::Button * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) button; + ::gnu::java::awt::peer::swing::SwingButtonPeer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButton__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h new file mode 100644 index 00000000000..c6a6f9a0f13 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer$SwingButtonListener.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButtonListener__ +#define __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButtonListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingButtonPeer; + class SwingButtonPeer$SwingButtonListener; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingButtonPeer$SwingButtonListener : public ::java::lang::Object +{ + +public: // actually package-private + SwingButtonPeer$SwingButtonListener(::gnu::java::awt::peer::swing::SwingButtonPeer *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::java::awt::peer::swing::SwingButtonPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingButtonPeer$SwingButtonListener__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h new file mode 100644 index 00000000000..cca199f8944 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingButtonPeer.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingButtonPeer__ +#define __gnu_java_awt_peer_swing_SwingButtonPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingButtonPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + } + } +} + +class gnu::java::awt::peer::swing::SwingButtonPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingButtonPeer(::java::awt::Button *); + virtual void setLabel(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingButtonPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h b/libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h new file mode 100644 index 00000000000..1fd853bb820 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingCanvasPeer.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingCanvasPeer__ +#define __gnu_java_awt_peer_swing_SwingCanvasPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingCanvasPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Canvas; + } + } +} + +class gnu::java::awt::peer::swing::SwingCanvasPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingCanvasPeer(::java::awt::Canvas *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingCanvasPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingComponent.h b/libjava/gnu/java/awt/peer/swing/SwingComponent.h new file mode 100644 index 00000000000..b9777c2b13f --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingComponent.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingComponent__ +#define __gnu_java_awt_peer_swing_SwingComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingComponent; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + } + } +} + +class gnu::java::awt::peer::swing::SwingComponent : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::JComponent * getJComponent() = 0; + virtual void handleMouseEvent(::java::awt::event::MouseEvent *) = 0; + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *) = 0; + virtual void handleKeyEvent(::java::awt::event::KeyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_awt_peer_swing_SwingComponent__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h b/libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h new file mode 100644 index 00000000000..af2d715d6b6 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingComponentPeer.h @@ -0,0 +1,146 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingComponentPeer__ +#define __gnu_java_awt_peer_swing_SwingComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingComponent; + class SwingComponentPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class KeyEvent; + class MouseEvent; + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingComponentPeer : public ::java::lang::Object +{ + +public: // actually protected + SwingComponentPeer(); + virtual void init(::java::awt::Component *, ::gnu::java::awt::peer::swing::SwingComponent *); +public: + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(jint, jint); + virtual void disable(); + virtual void dispose(); + virtual void enable(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Toolkit * getToolkit(); + virtual void handleEvent(::java::awt::AWTEvent *); + virtual void hide(); + virtual jboolean isFocusTraversable(); + virtual jboolean isFocusable(); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * preferredSize(); + virtual void paint(::java::awt::Graphics *); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void print(::java::awt::Graphics *); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void requestFocus(); + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong); + virtual void reshape(jint, jint, jint, jint); + virtual void setBackground(::java::awt::Color *); + virtual void setBounds(jint, jint, jint, jint); + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual void setVisible(jboolean); + virtual void show(); + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration(); + virtual void setEventMask(jlong); + virtual jboolean isObscured(); + virtual jboolean canDetermineObscurity(); + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *); + virtual void updateCursorImmediately(); + virtual jboolean handlesWheelScrolling(); + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint); + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::Image * getBackBuffer(); + virtual void flip(::java::awt::BufferCapabilities$FlipContents *); + virtual void destroyBuffers(); + virtual ::java::awt::Rectangle * getBounds(); + virtual void reparent(::java::awt::peer::ContainerPeer *); + virtual void setBounds(jint, jint, jint, jint, jint); + virtual jboolean isReparentSupported(); + virtual void layout(); +public: // actually protected + virtual void peerPaint(::java::awt::Graphics *, jboolean); + virtual void peerPaintComponent(::java::awt::Graphics *); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); +public: + virtual ::java::awt::Component * getComponent(); +public: // actually protected + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtComponent; + ::gnu::java::awt::peer::swing::SwingComponent * swingComponent; + ::java::awt::Font * peerFont; + ::java::awt::Rectangle * paintArea; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingComponentPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h b/libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h new file mode 100644 index 00000000000..40d783975bb --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingContainerPeer.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingContainerPeer__ +#define __gnu_java_awt_peer_swing_SwingContainerPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingContainerPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Container; + class Graphics; + class Image; + class Insets; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingContainerPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingContainerPeer(::java::awt::Container *); +public: // actually package-private + virtual void addHeavyweightDescendent(::java::awt::Component *); + virtual void removeHeavyweightDescendent(::java::awt::Component *); +public: + virtual ::java::awt::Insets * insets(); + virtual ::java::awt::Insets * getInsets(); + virtual void beginValidate(); + virtual void endValidate(); + virtual void beginLayout(); + virtual void endLayout(); + virtual jboolean isPaintPending(); + virtual jboolean isRestackSupported(); + virtual void cancelPendingPaint(jint, jint, jint, jint); + virtual void restack(); +public: // actually protected + virtual void peerPaint(::java::awt::Graphics *, jboolean); +private: + jboolean isDoubleBuffering(); +public: // actually protected + virtual void peerPaintChildren(::java::awt::Graphics *); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); +private: + ::java::awt::Component * getFocusOwner(); + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingComponentPeer)))) heavyweightDescendents; + ::java::awt::Image * backbuffer; + ::java::awt::Component * focusOwner; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingContainerPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingFramePeer.h b/libjava/gnu/java/awt/peer/swing/SwingFramePeer.h new file mode 100644 index 00000000000..2822fccb36f --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingFramePeer.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingFramePeer__ +#define __gnu_java_awt_peer_swing_SwingFramePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingFramePeer; + class SwingMenuBarPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Frame; + class Graphics; + class Image; + class Insets; + class MenuBar; + class Point; + class Rectangle; + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingFramePeer : public ::gnu::java::awt::peer::swing::SwingWindowPeer +{ + +public: + SwingFramePeer(::java::awt::Frame *); + virtual void setMenuBar(::java::awt::MenuBar *); +public: // actually protected + virtual void peerPaintComponent(::java::awt::Graphics *); +public: + virtual void setBounds(jint, jint, jint, jint); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Point * getMenuLocationOnScreen(); +public: // actually protected + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); +public: + virtual void setIconImage(::java::awt::Image *) = 0; + virtual void setResizable(jboolean) = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual jint getState() = 0; + virtual void setState(jint) = 0; + virtual void setMaximizedBounds(::java::awt::Rectangle *) = 0; + virtual void setBoundsPrivate(jint, jint, jint, jint) = 0; +public: // actually package-private + ::gnu::java::awt::peer::swing::SwingMenuBarPeer * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingWindowPeer)))) menuBar; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingFramePeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h new file mode 100644 index 00000000000..bc9eb617f78 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer$SwingLabel.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingLabelPeer$SwingLabel__ +#define __gnu_java_awt_peer_swing_SwingLabelPeer$SwingLabel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingLabelPeer; + class SwingLabelPeer$SwingLabel; + } + } + } + } + } + namespace java + { + namespace awt + { + class Container; + class Graphics; + class Image; + class Label; + class Point; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + } + } +} + +class gnu::java::awt::peer::swing::SwingLabelPeer$SwingLabel : public ::javax::swing::JLabel +{ + +public: // actually package-private + SwingLabelPeer$SwingLabel(::gnu::java::awt::peer::swing::SwingLabelPeer *, ::java::awt::Label *); +public: + virtual ::javax::swing::JComponent * getJComponent(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual jboolean isShowing(); + virtual ::java::awt::Image * createImage(jint, jint); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Container * getParent(); +public: // actually package-private + ::java::awt::Label * __attribute__((aligned(__alignof__( ::javax::swing::JLabel)))) label; + ::gnu::java::awt::peer::swing::SwingLabelPeer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingLabelPeer$SwingLabel__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h new file mode 100644 index 00000000000..a400853f722 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingLabelPeer.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingLabelPeer__ +#define __gnu_java_awt_peer_swing_SwingLabelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingLabelPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Label; + } + } +} + +class gnu::java::awt::peer::swing::SwingLabelPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingLabelPeer(::java::awt::Label *); + virtual void setText(::java::lang::String *); + virtual void setAlignment(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingLabelPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h b/libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h new file mode 100644 index 00000000000..507e1e942b9 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingListPeer$SwingList.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingListPeer$SwingList__ +#define __gnu_java_awt_peer_swing_SwingListPeer$SwingList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingListPeer; + class SwingListPeer$SwingList; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Container; + class Graphics; + class Image; + class Point; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + } + } +} + +class gnu::java::awt::peer::swing::SwingListPeer$SwingList : public ::javax::swing::JScrollPane +{ + +public: // actually package-private + SwingListPeer$SwingList(::gnu::java::awt::peer::swing::SwingListPeer *, ::java::awt::Component *); +public: + virtual ::javax::swing::JComponent * getJComponent(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual jboolean isLightweight(); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual jboolean isShowing(); + virtual ::java::awt::Image * createImage(jint, jint); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Container * getParent(); +public: // actually package-private + ::gnu::java::awt::peer::swing::SwingListPeer * __attribute__((aligned(__alignof__( ::javax::swing::JScrollPane)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingListPeer$SwingList__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingListPeer.h b/libjava/gnu/java/awt/peer/swing/SwingListPeer.h new file mode 100644 index 00000000000..fa6fde62453 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingListPeer.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingListPeer__ +#define __gnu_java_awt_peer_swing_SwingListPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingListPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class List; + } + } + namespace javax + { + namespace swing + { + class DefaultListModel; + class JList; + } + } +} + +class gnu::java::awt::peer::swing::SwingListPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingListPeer(::java::awt::List *); + virtual void add(::java::lang::String *, jint); + virtual void addItem(::java::lang::String *, jint); + virtual void clear(); + virtual void delItems(jint, jint); + virtual void deselect(jint); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual JArray< jint > * getSelectedIndexes(); + virtual void makeVisible(jint); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void removeAll(); + virtual void select(jint); + virtual void setMultipleMode(jboolean); + virtual void setMultipleSelections(jboolean); + virtual void reshape(jint, jint, jint, jint); +public: // actually protected + virtual void peerPaint(::java::awt::Graphics *, jboolean); +private: + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingComponentPeer)))) jList; + ::javax::swing::DefaultListModel * listModel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingListPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h new file mode 100644 index 00000000000..4ab74e8a19c --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer$SwingMenuBar.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingMenuBarPeer$SwingMenuBar__ +#define __gnu_java_awt_peer_swing_SwingMenuBarPeer$SwingMenuBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingMenuBarPeer; + class SwingMenuBarPeer$SwingMenuBar; + } + } + } + } + } + namespace java + { + namespace awt + { + class Container; + class Point; + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingMenuBarPeer$SwingMenuBar : public ::javax::swing::JMenuBar +{ + + SwingMenuBarPeer$SwingMenuBar(::gnu::java::awt::peer::swing::SwingMenuBarPeer *); +public: + virtual ::java::awt::Container * getParent(); + virtual jboolean isShowing(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual ::java::awt::Point * getLocationOnScreen(); +public: // actually package-private + SwingMenuBarPeer$SwingMenuBar(::gnu::java::awt::peer::swing::SwingMenuBarPeer *, ::gnu::java::awt::peer::swing::SwingMenuBarPeer$SwingMenuBar *); + ::gnu::java::awt::peer::swing::SwingMenuBarPeer * __attribute__((aligned(__alignof__( ::javax::swing::JMenuBar)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingMenuBarPeer$SwingMenuBar__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h new file mode 100644 index 00000000000..35794766916 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingMenuBarPeer.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingMenuBarPeer__ +#define __gnu_java_awt_peer_swing_SwingMenuBarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingFramePeer; + class SwingMenuBarPeer; + class SwingMenuBarPeer$SwingMenuBar; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Graphics; + class Menu; + class MenuBar; + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingMenuBarPeer : public ::java::lang::Object +{ + +public: + SwingMenuBarPeer(::java::awt::MenuBar *); + virtual void setFramePeer(::gnu::java::awt::peer::swing::SwingFramePeer *); + virtual void addMenu(::java::awt::Menu *); + virtual void addHelpMenu(::java::awt::Menu *); + virtual void delMenu(jint); + virtual void dispose(); + virtual void setFont(::java::awt::Font *); + virtual void setWidth(jint); + virtual void peerPaint(::java::awt::Graphics *); + virtual jint getHeight(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); +public: // actually package-private + ::java::awt::MenuBar * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtMenuBar; + ::gnu::java::awt::peer::swing::SwingMenuBarPeer$SwingMenuBar * menuBar; + ::gnu::java::awt::peer::swing::SwingFramePeer * framePeer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingMenuBarPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h new file mode 100644 index 00000000000..1aa993ba706 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer$SwingMenuItemListener.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingMenuItemPeer$SwingMenuItemListener__ +#define __gnu_java_awt_peer_swing_SwingMenuItemPeer$SwingMenuItemListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingMenuItemPeer; + class SwingMenuItemPeer$SwingMenuItemListener; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingMenuItemPeer$SwingMenuItemListener : public ::java::lang::Object +{ + + SwingMenuItemPeer$SwingMenuItemListener(::gnu::java::awt::peer::swing::SwingMenuItemPeer *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + SwingMenuItemPeer$SwingMenuItemListener(::gnu::java::awt::peer::swing::SwingMenuItemPeer *, ::gnu::java::awt::peer::swing::SwingMenuItemPeer$SwingMenuItemListener *); + ::gnu::java::awt::peer::swing::SwingMenuItemPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingMenuItemPeer$SwingMenuItemListener__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h new file mode 100644 index 00000000000..f79e2d27fcf --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingMenuItemPeer.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingMenuItemPeer__ +#define __gnu_java_awt_peer_swing_SwingMenuItemPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingMenuItemPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class MenuItem; + } + } + namespace javax + { + namespace swing + { + class JMenuItem; + } + } +} + +class gnu::java::awt::peer::swing::SwingMenuItemPeer : public ::java::lang::Object +{ + +public: + SwingMenuItemPeer(::java::awt::MenuItem *); + virtual void disable(); + virtual void enable(); + virtual void setEnabled(jboolean); + virtual void setLabel(::java::lang::String *); + virtual void dispose(); + virtual void setFont(::java::awt::Font *); +public: // actually package-private + ::java::awt::MenuItem * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtMenuItem; + ::javax::swing::JMenuItem * menuItem; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingMenuItemPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h new file mode 100644 index 00000000000..1de2beecc1c --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer$SwingMenu.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingMenuPeer$SwingMenu__ +#define __gnu_java_awt_peer_swing_SwingMenuPeer$SwingMenu__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingMenuPeer; + class SwingMenuPeer$SwingMenu; + } + } + } + } + } + namespace java + { + namespace awt + { + class Point; + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingMenuPeer$SwingMenu : public ::javax::swing::JMenu +{ + + SwingMenuPeer$SwingMenu(::gnu::java::awt::peer::swing::SwingMenuPeer *); +public: + virtual jboolean isShowing(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); +public: // actually package-private + SwingMenuPeer$SwingMenu(::gnu::java::awt::peer::swing::SwingMenuPeer *, ::gnu::java::awt::peer::swing::SwingMenuPeer$SwingMenu *); + ::gnu::java::awt::peer::swing::SwingMenuPeer * __attribute__((aligned(__alignof__( ::javax::swing::JMenu)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingMenuPeer$SwingMenu__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h new file mode 100644 index 00000000000..988b481392c --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingMenuPeer.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingMenuPeer__ +#define __gnu_java_awt_peer_swing_SwingMenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingMenuPeer; + class SwingMenuPeer$SwingMenu; + } + } + } + } + } + namespace java + { + namespace awt + { + class Font; + class Menu; + class MenuItem; + namespace event + { + class MouseEvent; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingMenuPeer : public ::java::lang::Object +{ + +public: + SwingMenuPeer(::java::awt::Menu *); + virtual void addItem(::java::awt::MenuItem *); + virtual void addSeparator(); + virtual void delItem(jint); + virtual void disable(); + virtual void enable(); + virtual void setEnabled(jboolean); + virtual void setLabel(::java::lang::String *); + virtual void dispose(); + virtual void setFont(::java::awt::Font *); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual jint getX(); + virtual jint getWidth(); +public: + virtual jint getY(); +public: // actually package-private + ::java::awt::Menu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) awtMenu; + ::gnu::java::awt::peer::swing::SwingMenuPeer$SwingMenu * menu; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingMenuPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h b/libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h new file mode 100644 index 00000000000..3b9f61b8a94 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingPanelPeer.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingPanelPeer__ +#define __gnu_java_awt_peer_swing_SwingPanelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingPanelPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Panel; + } + } +} + +class gnu::java::awt::peer::swing::SwingPanelPeer : public ::gnu::java::awt::peer::swing::SwingContainerPeer +{ + +public: + SwingPanelPeer(::java::awt::Panel *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingPanelPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h new file mode 100644 index 00000000000..6b283b69ef0 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer$SwingTextArea.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingTextArea__ +#define __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingTextArea__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingTextAreaPeer; + class SwingTextAreaPeer$SwingTextArea; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Container; + class Graphics; + class Image; + class Point; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + } + } +} + +class gnu::java::awt::peer::swing::SwingTextAreaPeer$SwingTextArea : public ::javax::swing::JScrollPane +{ + +public: // actually package-private + SwingTextAreaPeer$SwingTextArea(::gnu::java::awt::peer::swing::SwingTextAreaPeer *, ::java::awt::Component *); +public: + virtual ::javax::swing::JComponent * getJComponent(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual jboolean isLightweight(); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual jboolean isShowing(); + virtual ::java::awt::Image * createImage(jint, jint); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Container * getParent(); +public: // actually package-private + ::gnu::java::awt::peer::swing::SwingTextAreaPeer * __attribute__((aligned(__alignof__( ::javax::swing::JScrollPane)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingTextAreaPeer$SwingTextArea__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h new file mode 100644 index 00000000000..a9d4b8f60f8 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingTextAreaPeer.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingTextAreaPeer__ +#define __gnu_java_awt_peer_swing_SwingTextAreaPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingTextAreaPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + class TextArea; + namespace im + { + class InputMethodRequests; + } + } + } + namespace javax + { + namespace swing + { + class JTextArea; + } + } +} + +class gnu::java::awt::peer::swing::SwingTextAreaPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingTextAreaPeer(::java::awt::TextArea *); + virtual ::java::awt::Dimension * getMinimumSize(jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(jint, jint); + virtual void insert(::java::lang::String *, jint); + virtual void insertText(::java::lang::String *, jint); + virtual ::java::awt::Dimension * minimumSize(jint, jint); + virtual ::java::awt::Dimension * preferredSize(jint, jint); + virtual void replaceRange(::java::lang::String *, jint, jint); + virtual void replaceText(::java::lang::String *, jint, jint); + virtual jlong filterEvents(jlong); + virtual jint getCaretPosition(); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jint getIndexAtPoint(jint, jint); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); + virtual jint getSelectionEnd(); + virtual jint getSelectionStart(); + virtual ::java::lang::String * getText(); + virtual void select(jint, jint); + virtual void setCaretPosition(jint); + virtual void setEditable(jboolean); + virtual void setText(::java::lang::String *); +private: + ::javax::swing::JTextArea * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::swing::SwingComponentPeer)))) jTextArea; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingTextAreaPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h new file mode 100644 index 00000000000..08ac1387f7f --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer$SwingTextField.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingTextFieldPeer$SwingTextField__ +#define __gnu_java_awt_peer_swing_SwingTextFieldPeer$SwingTextField__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingTextFieldPeer; + class SwingTextFieldPeer$SwingTextField; + } + } + } + } + } + namespace java + { + namespace awt + { + class Container; + class Graphics; + class Image; + class Point; + class TextField; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + } + } +} + +class gnu::java::awt::peer::swing::SwingTextFieldPeer$SwingTextField : public ::javax::swing::JTextField +{ + +public: // actually package-private + SwingTextFieldPeer$SwingTextField(::gnu::java::awt::peer::swing::SwingTextFieldPeer *, ::java::awt::TextField *); +public: + virtual ::java::awt::Point * getLocationOnScreen(); + virtual jboolean isShowing(); + virtual ::java::awt::Image * createImage(jint, jint); + virtual ::javax::swing::JComponent * getJComponent(); + virtual void handleMouseEvent(::java::awt::event::MouseEvent *); + virtual void handleMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void handleKeyEvent(::java::awt::event::KeyEvent *); + virtual ::java::awt::Container * getParent(); + virtual ::java::awt::Graphics * getGraphics(); +public: // actually package-private + ::java::awt::TextField * __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) textField; + ::gnu::java::awt::peer::swing::SwingTextFieldPeer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingTextFieldPeer$SwingTextField__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h new file mode 100644 index 00000000000..43d26d5b3a2 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingTextFieldPeer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingTextFieldPeer__ +#define __gnu_java_awt_peer_swing_SwingTextFieldPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingTextFieldPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + class TextField; + namespace im + { + class InputMethodRequests; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingTextFieldPeer : public ::gnu::java::awt::peer::swing::SwingComponentPeer +{ + +public: + SwingTextFieldPeer(::java::awt::TextField *); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual void setEchoChar(jchar); + virtual void setEchoCharacter(jchar); + virtual jint getSelectionEnd(); + virtual jint getSelectionStart(); + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + virtual void select(jint, jint); + virtual void setEditable(jboolean); + virtual jint getCaretPosition(); + virtual void setCaretPosition(jint); + virtual jint getIndexAtPoint(jint, jint); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jlong filterEvents(jlong); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingTextFieldPeer__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingToolkit.h b/libjava/gnu/java/awt/peer/swing/SwingToolkit.h new file mode 100644 index 00000000000..c84bfe992c5 --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingToolkit.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingToolkit__ +#define __gnu_java_awt_peer_swing_SwingToolkit__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingToolkit; + } + } + } + } + } + namespace java + { + namespace awt + { + class Button; + class Canvas; + class Label; + class Menu; + class MenuBar; + class MenuItem; + class Panel; + class TextField; + namespace peer + { + class ButtonPeer; + class CanvasPeer; + class LabelPeer; + class MenuBarPeer; + class MenuItemPeer; + class MenuPeer; + class PanelPeer; + class TextFieldPeer; + } + } + } +} + +class gnu::java::awt::peer::swing::SwingToolkit : public ::gnu::java::awt::ClasspathToolkit +{ + +public: + SwingToolkit(); +public: // actually protected + virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *); + virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *); + virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *); + virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *); + virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *); + virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *); + virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *); + virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingToolkit__ diff --git a/libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h b/libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h new file mode 100644 index 00000000000..ce4e987158b --- /dev/null +++ b/libjava/gnu/java/awt/peer/swing/SwingWindowPeer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_peer_swing_SwingWindowPeer__ +#define __gnu_java_awt_peer_swing_SwingWindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + namespace swing + { + class SwingWindowPeer; + } + } + } + } + } + namespace java + { + namespace awt + { + class Window; + } + } +} + +class gnu::java::awt::peer::swing::SwingWindowPeer : public ::gnu::java::awt::peer::swing::SwingContainerPeer +{ + +public: + SwingWindowPeer(::java::awt::Window *); + virtual void toBack() = 0; + virtual void toFront() = 0; + virtual void updateAlwaysOnTop() = 0; + virtual jboolean requestWindowFocus() = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_peer_swing_SwingWindowPeer__ diff --git a/libjava/gnu/java/awt/print/JavaPrinterGraphics.h b/libjava/gnu/java/awt/print/JavaPrinterGraphics.h new file mode 100644 index 00000000000..7809034719b --- /dev/null +++ b/libjava/gnu/java/awt/print/JavaPrinterGraphics.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_print_JavaPrinterGraphics__ +#define __gnu_java_awt_print_JavaPrinterGraphics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace print + { + class JavaPrinterGraphics; + class SpooledDocument; + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Graphics; + class Image; + class Rectangle; + class Shape; + namespace geom + { + class AffineTransform; + } + namespace image + { + class ImageObserver; + } + namespace print + { + class PageFormat; + class Pageable; + class Printable; + class PrinterJob; + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class gnu::java::awt::print::JavaPrinterGraphics : public ::java::awt::Graphics +{ + +public: + JavaPrinterGraphics(::java::awt::print::PrinterJob *); + virtual ::gnu::java::awt::print::SpooledDocument * spoolPostScript(::java::awt::print::Printable *, ::java::awt::print::PageFormat *, ::java::awt::print::Pageable *); + virtual jint spoolPage(::java::io::PrintWriter *, ::java::awt::print::Printable *, ::java::awt::print::PageFormat *, jint); +private: + void initImage(::java::awt::print::PageFormat *); + void writePSHeader(::java::io::PrintWriter *); + void writePage(::java::io::PrintWriter *, ::java::awt::print::PageFormat *); + ::java::lang::String * colorTripleHex(jint); + void concatCTM(::java::io::PrintWriter *, ::java::awt::geom::AffineTransform *); +public: + virtual ::java::awt::print::PrinterJob * getPrinterJob(); + virtual void clearRect(jint, jint, jint, jint); + virtual void clipRect(jint, jint, jint, jint); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual ::java::awt::Graphics * create(); + virtual void dispose(); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual void drawLine(jint, jint, jint, jint); + virtual void drawOval(jint, jint, jint, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual ::java::awt::Shape * getClip(); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual ::java::awt::Color * getColor(); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void setClip(jint, jint, jint, jint); + virtual void setClip(::java::awt::Shape *); + virtual void setColor(::java::awt::Color *); + virtual void setFont(::java::awt::Font *); + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual void translate(jint, jint); +private: + ::java::awt::Graphics * __attribute__((aligned(__alignof__( ::java::awt::Graphics)))) g; + ::java::awt::print::PrinterJob * printerJob; + static jdouble DPI; + jint xSize; + jint ySize; + ::java::awt::Image * image; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_print_JavaPrinterGraphics__ diff --git a/libjava/gnu/java/awt/print/JavaPrinterJob.h b/libjava/gnu/java/awt/print/JavaPrinterJob.h new file mode 100644 index 00000000000..6275b13e49b --- /dev/null +++ b/libjava/gnu/java/awt/print/JavaPrinterJob.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_print_JavaPrinterJob__ +#define __gnu_java_awt_print_JavaPrinterJob__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace print + { + class JavaPrinterJob; + } + } + } + } + namespace java + { + namespace awt + { + namespace print + { + class PageFormat; + class Pageable; + class Printable; + } + } + } + namespace javax + { + namespace print + { + class DocPrintJob; + class PrintService; + namespace attribute + { + class PrintRequestAttributeSet; + } + } + } +} + +class gnu::java::awt::print::JavaPrinterJob : public ::java::awt::print::PrinterJob +{ + +public: + JavaPrinterJob(); +private: + void getPageAttributes(); +public: + virtual jint getCopies(); + virtual void setCopies(jint); + virtual ::java::lang::String * getJobName(); + virtual void setJobName(::java::lang::String *); + virtual ::java::lang::String * getUserName(); + virtual void cancel(); + virtual jboolean isCancelled(); + virtual ::java::awt::print::PageFormat * defaultPage(::java::awt::print::PageFormat *); + virtual ::java::awt::print::PageFormat * pageDialog(::java::awt::print::PageFormat *); + virtual void print(); + virtual void print(::javax::print::attribute::PrintRequestAttributeSet *); + virtual jboolean printDialog(); + virtual jboolean printDialog(::javax::print::attribute::PrintRequestAttributeSet *); + virtual void setPageable(::java::awt::print::Pageable *); + virtual void setPrintable(::java::awt::print::Printable *); + virtual void setPrintable(::java::awt::print::Printable *, ::java::awt::print::PageFormat *); + virtual ::java::awt::print::PageFormat * validatePage(::java::awt::print::PageFormat *); + virtual void setPrintService(::javax::print::PrintService *); +private: + ::javax::print::PrintService * __attribute__((aligned(__alignof__( ::java::awt::print::PrinterJob)))) printer; + ::javax::print::attribute::PrintRequestAttributeSet * attributes; + static JArray< ::javax::print::PrintService * > * services; + ::javax::print::DocPrintJob * printJob; + ::java::awt::print::Printable * printable; + ::java::awt::print::PageFormat * pageFormat; + ::java::awt::print::Pageable * pageable; + jboolean cancelled; + static ::java::lang::Class * copyClass; + static ::java::lang::Class * jobNameClass; + static ::java::lang::Class * userNameClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_print_JavaPrinterJob__ diff --git a/libjava/gnu/java/awt/print/PostScriptGraphics2D.h b/libjava/gnu/java/awt/print/PostScriptGraphics2D.h new file mode 100644 index 00000000000..46011044ad2 --- /dev/null +++ b/libjava/gnu/java/awt/print/PostScriptGraphics2D.h @@ -0,0 +1,211 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_print_PostScriptGraphics2D__ +#define __gnu_java_awt_print_PostScriptGraphics2D__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace print + { + class PostScriptGraphics2D; + class SpooledDocument; + } + } + } + } + namespace java + { + namespace awt + { + class Color; + class Composite; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Paint; + class Rectangle; + class RenderingHints; + class RenderingHints$Key; + class Shape; + class Stroke; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ImageObserver; + class RenderedImage; + namespace renderable + { + class RenderableImage; + } + } + namespace print + { + class PageFormat; + class Pageable; + class Printable; + class PrinterJob; + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class gnu::java::awt::print::PostScriptGraphics2D : public ::java::awt::Graphics2D +{ + +public: + PostScriptGraphics2D(::java::awt::print::PrinterJob *); + virtual ::gnu::java::awt::print::SpooledDocument * spoolPostScript(::java::awt::print::Printable *, ::java::awt::print::PageFormat *, ::java::awt::print::Pageable *); +private: + void writePSHeader(); + void setupFonts(); +public: + virtual jint spoolPage(::java::io::PrintWriter *, ::java::awt::print::Printable *, ::java::awt::print::PageFormat *, jint); +private: + void pushCTM(); + void popCTM(); +public: + virtual ::java::awt::Graphics * create(); + virtual void drawOval(jint, jint, jint, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void drawLine(jint, jint, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *); + virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *); + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::lang::String *, jfloat, jfloat); +private: + void drawStringPSFont(::java::lang::String *, jfloat, jfloat); + void saveAndInvertAxis(); + void restoreAxis(); + void drawStringShape(::java::awt::Shape *); +public: + virtual void setColor(::java::awt::Color *); + virtual void clearRect(jint, jint, jint, jint); + virtual void clipRect(jint, jint, jint, jint); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void dispose(); + virtual void setClip(jint, jint, jint, jint); + virtual void setClip(::java::awt::Shape *); + virtual ::java::awt::Shape * getClip(); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual ::java::awt::Color * getColor(); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::FontMetrics * getFontMetrics(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void setFont(::java::awt::Font *); +private: + void setPSFont(); +public: + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual void close(); + virtual void addRenderingHints(::java::util::Map *); +private: + void writeShape(::java::awt::Shape *); +public: + virtual void clip(::java::awt::Shape *); + virtual void draw(::java::awt::Shape *); + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat); + virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void fill(::java::awt::Shape *); + virtual ::java::awt::Color * getBackground(); + virtual ::java::awt::Composite * getComposite(); + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration(); + virtual ::java::awt::font::FontRenderContext * getFontRenderContext(); + virtual ::java::awt::Paint * getPaint(); + virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual ::java::awt::Stroke * getStroke(); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean); + virtual void setBackground(::java::awt::Color *); + virtual void setComposite(::java::awt::Composite *); + virtual void setPaint(::java::awt::Paint *); +private: + ::java::lang::String * colorTriple(::java::awt::Color *); + ::java::lang::String * colorTripleHex(::java::awt::Color *); + void writeGradient(); +public: + virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *); + virtual void setRenderingHints(::java::util::Map *); + virtual void setStroke(::java::awt::Stroke *); +private: + void concatCTM(::java::awt::geom::AffineTransform *); +public: + virtual void setTransform(::java::awt::geom::AffineTransform *); + virtual void transform(::java::awt::geom::AffineTransform *); + virtual void shear(jdouble, jdouble); + virtual void translate(jint, jint); + virtual void translate(jdouble, jdouble); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); +private: + ::java::awt::print::PrinterJob * __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) printerJob; + ::java::io::PrintWriter * out; + ::java::awt::geom::AffineTransform * currentTransform; + ::java::awt::geom::AffineTransform * pageTransform; + ::java::awt::RenderingHints * renderingHints; + ::java::awt::Paint * currentPaint; + ::java::awt::Shape * clipShape; + ::java::awt::Font * currentFont; + ::java::awt::Color * currentColor; + ::java::awt::Color * backgroundColor; + ::java::awt::Stroke * currentStroke; + static ::java::awt::Stroke * ordinaryStroke; + jfloat cx; + jfloat cy; + jboolean currentFontIsPS; + jdouble pageX; + jdouble pageY; + jdouble Y; + jboolean gradientOn; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_print_PostScriptGraphics2D__ diff --git a/libjava/gnu/java/awt/print/SpooledDocument.h b/libjava/gnu/java/awt/print/SpooledDocument.h new file mode 100644 index 00000000000..a49bb14c144 --- /dev/null +++ b/libjava/gnu/java/awt/print/SpooledDocument.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_awt_print_SpooledDocument__ +#define __gnu_java_awt_print_SpooledDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace print + { + class SpooledDocument; + } + } + } + } + namespace javax + { + namespace print + { + class DocFlavor; + namespace attribute + { + class DocAttributeSet; + } + } + } +} + +class gnu::java::awt::print::SpooledDocument : public ::java::lang::Object +{ + +public: + SpooledDocument(::java::io::File *); + virtual ::javax::print::attribute::DocAttributeSet * getAttributes(); + virtual ::javax::print::DocFlavor * getDocFlavor(); + virtual ::java::lang::Object * getPrintData(); + virtual ::java::io::Reader * getReaderForText(); + virtual ::java::io::InputStream * getStreamForBytes(); +private: + ::java::io::FileInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fis; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_awt_print_SpooledDocument__ diff --git a/libjava/gnu/java/beans/BeanInfoEmbryo.h b/libjava/gnu/java/beans/BeanInfoEmbryo.h new file mode 100644 index 00000000000..0e1fe163e8c --- /dev/null +++ b/libjava/gnu/java/beans/BeanInfoEmbryo.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_BeanInfoEmbryo__ +#define __gnu_java_beans_BeanInfoEmbryo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class BeanInfoEmbryo; + } + } + } + namespace java + { + namespace awt + { + class Image; + } + namespace beans + { + class BeanDescriptor; + class BeanInfo; + class EventSetDescriptor; + class IndexedPropertyDescriptor; + class MethodDescriptor; + class PropertyDescriptor; + } + } +} + +class gnu::java::beans::BeanInfoEmbryo : public ::java::lang::Object +{ + +public: + BeanInfoEmbryo(); + virtual ::java::beans::BeanInfo * getBeanInfo(); + virtual void setBeanDescriptor(::java::beans::BeanDescriptor *); + virtual void setAdditionalBeanInfo(JArray< ::java::beans::BeanInfo * > *); + virtual jboolean hasProperty(::java::beans::PropertyDescriptor *); + virtual void addProperty(::java::beans::PropertyDescriptor *); + virtual void addIndexedProperty(::java::beans::IndexedPropertyDescriptor *); + virtual jboolean hasEvent(::java::beans::EventSetDescriptor *); + virtual void addEvent(::java::beans::EventSetDescriptor *); + virtual jboolean hasMethod(::java::beans::MethodDescriptor *); + virtual void addMethod(::java::beans::MethodDescriptor *); + virtual void setDefaultPropertyName(::java::lang::String *); + virtual void setDefaultEventName(::java::lang::String *); + virtual void setIcons(JArray< ::java::awt::Image * > *); +public: // actually package-private + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) properties; + ::java::util::Hashtable * events; + ::java::util::Vector * methods; + ::java::beans::BeanDescriptor * beanDescriptor; + JArray< ::java::beans::BeanInfo * > * additionalBeanInfo; + JArray< ::java::awt::Image * > * im; + ::java::lang::String * defaultPropertyName; + ::java::lang::String * defaultEventName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_BeanInfoEmbryo__ diff --git a/libjava/gnu/java/beans/DefaultExceptionListener.h b/libjava/gnu/java/beans/DefaultExceptionListener.h new file mode 100644 index 00000000000..1815fe8f19b --- /dev/null +++ b/libjava/gnu/java/beans/DefaultExceptionListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_DefaultExceptionListener__ +#define __gnu_java_beans_DefaultExceptionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class DefaultExceptionListener; + } + } + } +} + +class gnu::java::beans::DefaultExceptionListener : public ::java::lang::Object +{ + +public: + DefaultExceptionListener(); + virtual void exceptionThrown(::java::lang::Exception *); + static ::gnu::java::beans::DefaultExceptionListener * INSTANCE; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_DefaultExceptionListener__ diff --git a/libjava/gnu/java/beans/DoubleKey.h b/libjava/gnu/java/beans/DoubleKey.h new file mode 100644 index 00000000000..c20d5689cfe --- /dev/null +++ b/libjava/gnu/java/beans/DoubleKey.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_DoubleKey__ +#define __gnu_java_beans_DoubleKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class DoubleKey; + } + } + } +} + +class gnu::java::beans::DoubleKey : public ::java::lang::Object +{ + +public: // actually package-private + DoubleKey(::java::lang::Class *, ::java::lang::String *); + virtual ::java::lang::Class * getType(); + virtual ::java::lang::String * getName(); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +public: // actually package-private + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_DoubleKey__ diff --git a/libjava/gnu/java/beans/DummyAppletContext.h b/libjava/gnu/java/beans/DummyAppletContext.h new file mode 100644 index 00000000000..095f50d476c --- /dev/null +++ b/libjava/gnu/java/beans/DummyAppletContext.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_DummyAppletContext__ +#define __gnu_java_beans_DummyAppletContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class DummyAppletContext; + } + } + } + namespace java + { + namespace applet + { + class Applet; + class AudioClip; + } + namespace awt + { + class Image; + } + namespace net + { + class URL; + } + } +} + +class gnu::java::beans::DummyAppletContext : public ::java::lang::Object +{ + +public: // actually package-private + DummyAppletContext(); +public: + virtual ::java::applet::AudioClip * getAudioClip(::java::net::URL *); + virtual ::java::awt::Image * getImage(::java::net::URL *); + virtual ::java::applet::Applet * getApplet(::java::lang::String *); + virtual ::java::util::Enumeration * getApplets(); + virtual void showDocument(::java::net::URL *); + virtual void showDocument(::java::net::URL *, ::java::lang::String *); + virtual void showStatus(::java::lang::String *); + virtual void setStream(::java::lang::String *, ::java::io::InputStream *); + virtual ::java::io::InputStream * getStream(::java::lang::String *); + virtual ::java::util::Iterator * getStreamKeys(); +private: + static ::java::util::Enumeration * EMPTY_ENUMERATION; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_DummyAppletContext__ diff --git a/libjava/gnu/java/beans/DummyAppletStub.h b/libjava/gnu/java/beans/DummyAppletStub.h new file mode 100644 index 00000000000..10ee9ffcd20 --- /dev/null +++ b/libjava/gnu/java/beans/DummyAppletStub.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_DummyAppletStub__ +#define __gnu_java_beans_DummyAppletStub__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class DummyAppletContext; + class DummyAppletStub; + } + } + } + namespace java + { + namespace applet + { + class AppletContext; + } + namespace net + { + class URL; + } + } +} + +class gnu::java::beans::DummyAppletStub : public ::java::lang::Object +{ + +public: + DummyAppletStub(::java::net::URL *, ::java::net::URL *); + virtual jboolean isActive(); + virtual ::java::net::URL * getDocumentBase(); + virtual ::java::net::URL * getCodeBase(); + virtual ::java::lang::String * getParameter(::java::lang::String *); + virtual ::java::applet::AppletContext * getAppletContext(); + virtual void appletResize(jint, jint); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) documentBase; + ::java::net::URL * codeBase; + ::gnu::java::beans::DummyAppletContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_DummyAppletStub__ diff --git a/libjava/gnu/java/beans/ExplicitBeanInfo.h b/libjava/gnu/java/beans/ExplicitBeanInfo.h new file mode 100644 index 00000000000..3fd0873958c --- /dev/null +++ b/libjava/gnu/java/beans/ExplicitBeanInfo.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_ExplicitBeanInfo__ +#define __gnu_java_beans_ExplicitBeanInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class ExplicitBeanInfo; + } + } + } + namespace java + { + namespace awt + { + class Image; + } + namespace beans + { + class BeanDescriptor; + class BeanInfo; + class EventSetDescriptor; + class MethodDescriptor; + class PropertyDescriptor; + } + } +} + +class gnu::java::beans::ExplicitBeanInfo : public ::java::lang::Object +{ + +public: + ExplicitBeanInfo(::java::beans::BeanDescriptor *, JArray< ::java::beans::BeanInfo * > *, JArray< ::java::beans::PropertyDescriptor * > *, jint, JArray< ::java::beans::EventSetDescriptor * > *, jint, JArray< ::java::beans::MethodDescriptor * > *, JArray< ::java::awt::Image * > *); + virtual ::java::beans::BeanDescriptor * getBeanDescriptor(); + virtual JArray< ::java::beans::EventSetDescriptor * > * getEventSetDescriptors(); + virtual jint getDefaultEventIndex(); + virtual JArray< ::java::beans::PropertyDescriptor * > * getPropertyDescriptors(); + virtual jint getDefaultPropertyIndex(); + virtual JArray< ::java::beans::MethodDescriptor * > * getMethodDescriptors(); + virtual JArray< ::java::beans::BeanInfo * > * getAdditionalBeanInfo(); + virtual ::java::awt::Image * getIcon(jint); +public: // actually protected + ::java::beans::BeanDescriptor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) beanDescriptor; + JArray< ::java::beans::EventSetDescriptor * > * eventSetDescriptors; + JArray< ::java::beans::PropertyDescriptor * > * propertyDescriptors; + JArray< ::java::beans::MethodDescriptor * > * methodDescriptors; + jint defaultPropertyIndex; + jint defaultEventIndex; + JArray< ::java::beans::BeanInfo * > * additionalBeanInfo; + JArray< ::java::awt::Image * > * icons; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_ExplicitBeanInfo__ diff --git a/libjava/gnu/java/beans/IntrospectionIncubator.h b/libjava/gnu/java/beans/IntrospectionIncubator.h new file mode 100644 index 00000000000..b9f11c393fb --- /dev/null +++ b/libjava/gnu/java/beans/IntrospectionIncubator.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_IntrospectionIncubator__ +#define __gnu_java_beans_IntrospectionIncubator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class BeanInfoEmbryo; + class IntrospectionIncubator; + } + } + } + namespace java + { + namespace beans + { + class BeanInfo; + } + } +} + +class gnu::java::beans::IntrospectionIncubator : public ::java::lang::Object +{ + +public: + IntrospectionIncubator(); + virtual void addMethod(::java::lang::reflect::Method *); + virtual void addMethods(JArray< ::java::lang::reflect::Method * > *); + virtual void setPropertyStopClass(::java::lang::Class *); + virtual void setEventStopClass(::java::lang::Class *); + virtual void setMethodStopClass(::java::lang::Class *); + virtual ::gnu::java::beans::BeanInfoEmbryo * getBeanInfoEmbryo(); + virtual ::java::beans::BeanInfo * getBeanInfo(); +public: // actually package-private + virtual void findAddRemovePairs(::gnu::java::beans::BeanInfoEmbryo *); + virtual void findXXX(::gnu::java::beans::BeanInfoEmbryo *, jint); + virtual void findXXXInt(::gnu::java::beans::BeanInfoEmbryo *, jint); + virtual void addToPropertyHash(::java::lang::String *, ::java::lang::reflect::Method *, jint); + virtual void addToListenerHash(::java::lang::String *, ::java::lang::reflect::Method *, jint); + static jboolean isReachable(::java::lang::Class *, ::java::lang::Class *); + static ::java::lang::String * capitalize(::java::lang::String *); + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) propertyMethods; + ::java::util::Hashtable * listenerMethods; + ::java::util::Vector * otherMethods; + ::java::lang::Class * propertyStopClass; + ::java::lang::Class * eventStopClass; + ::java::lang::Class * methodStopClass; + static const jint IS = 0; + static const jint GET_I = 1; + static const jint SET_I = 2; + static const jint GET = 3; + static const jint SET = 4; + static const jint ADD = 0; + static const jint REMOVE = 1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_IntrospectionIncubator__ diff --git a/libjava/gnu/java/beans/decoder/AbstractContext.h b/libjava/gnu/java/beans/decoder/AbstractContext.h new file mode 100644 index 00000000000..9b3f03c2ffd --- /dev/null +++ b/libjava/gnu/java/beans/decoder/AbstractContext.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_AbstractContext__ +#define __gnu_java_beans_decoder_AbstractContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractContext; + class Context; + } + } + } + } +} + +class gnu::java::beans::decoder::AbstractContext : public ::java::lang::Object +{ + +public: // actually package-private + AbstractContext(); +public: + virtual ::java::lang::String * getId(); + virtual void setId(::java::lang::String *); + virtual jboolean isStatement(); + virtual void setStatement(jboolean); + virtual void addParameterObject(::java::lang::Object *) = 0; + virtual void notifyStatement(::gnu::java::beans::decoder::Context *) = 0; + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *) = 0; + virtual jboolean subContextFailed() = 0; + virtual void set(jint, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * get(jint) = 0; + virtual ::java::lang::Object * getResult() = 0; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) isStatement__; + ::java::lang::String * id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_AbstractContext__ diff --git a/libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h b/libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h new file mode 100644 index 00000000000..77f96ba47d5 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_AbstractCreatableObjectContext__ +#define __gnu_java_beans_decoder_AbstractCreatableObjectContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractCreatableObjectContext; + class Context; + } + } + } + } +} + +class gnu::java::beans::decoder::AbstractCreatableObjectContext : public ::gnu::java::beans::decoder::AbstractObjectContext +{ + +public: // actually package-private + AbstractCreatableObjectContext(); +public: + virtual void addParameterObject(::java::lang::Object *); +public: // actually protected + virtual void addParameterObjectImpl(::java::lang::Object *) = 0; +public: + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); +public: // actually protected + virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *) = 0; +public: + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_AbstractCreatableObjectContext__ diff --git a/libjava/gnu/java/beans/decoder/AbstractElementHandler.h b/libjava/gnu/java/beans/decoder/AbstractElementHandler.h new file mode 100644 index 00000000000..e0abc31ed00 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/AbstractElementHandler.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_AbstractElementHandler__ +#define __gnu_java_beans_decoder_AbstractElementHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class Context; + class ElementHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::AbstractElementHandler : public ::java::lang::Object +{ + +public: // actually protected + AbstractElementHandler(::gnu::java::beans::decoder::ElementHandler *, jboolean); +public: + virtual void start(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); +public: // actually protected + virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *) = 0; +public: + virtual void end(::java::beans::ExceptionListener *); + virtual void notifyStatement(::java::beans::ExceptionListener *); + virtual void notifyContextFailed(); + virtual jboolean hasFailed(); +public: // actually protected + virtual void endElement(::java::lang::String *); +public: + virtual void characters(JArray< jchar > *, jint, jint); + virtual void putObject(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getObject(::java::lang::String *); + virtual ::java::lang::Class * instantiateClass(::java::lang::String *); + virtual jboolean isSubelementAllowed(::java::lang::String *); + virtual ::gnu::java::beans::decoder::Context * getContext(); + virtual ::gnu::java::beans::decoder::ElementHandler * getParent(); +private: + ::gnu::java::beans::decoder::Context * __attribute__((aligned(__alignof__( ::java::lang::Object)))) context; + ::gnu::java::beans::decoder::ElementHandler * parent; + jboolean hasFailed__; + ::java::lang::StringBuffer * buffer; + jboolean allowsSubelements; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_AbstractElementHandler__ diff --git a/libjava/gnu/java/beans/decoder/AbstractObjectContext.h b/libjava/gnu/java/beans/decoder/AbstractObjectContext.h new file mode 100644 index 00000000000..db4bee7a0d6 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/AbstractObjectContext.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_AbstractObjectContext__ +#define __gnu_java_beans_decoder_AbstractObjectContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractObjectContext; + } + } + } + } +} + +class gnu::java::beans::decoder::AbstractObjectContext : public ::gnu::java::beans::decoder::AbstractContext +{ + +public: // actually package-private + AbstractObjectContext(); +public: // actually protected + virtual void setObject(::java::lang::Object *); +public: + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) object; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_AbstractObjectContext__ diff --git a/libjava/gnu/java/beans/decoder/ArrayContext.h b/libjava/gnu/java/beans/decoder/ArrayContext.h new file mode 100644 index 00000000000..4184ed09be9 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ArrayContext.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ArrayContext__ +#define __gnu_java_beans_decoder_ArrayContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ArrayContext; + class Context; + } + } + } + } +} + +class gnu::java::beans::decoder::ArrayContext : public ::gnu::java::beans::decoder::AbstractContext +{ + +public: // actually package-private + ArrayContext(::java::lang::String *, ::java::lang::Class *, jint); +public: + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) array; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ArrayContext__ diff --git a/libjava/gnu/java/beans/decoder/ArrayHandler.h b/libjava/gnu/java/beans/decoder/ArrayHandler.h new file mode 100644 index 00000000000..eeacde937bf --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ArrayHandler.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ArrayHandler__ +#define __gnu_java_beans_decoder_ArrayHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ArrayHandler; + class Context; + class ElementHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::ArrayHandler : public ::gnu::java::beans::decoder::AbstractElementHandler +{ + +public: // actually package-private + ArrayHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); +private: + static ::java::util::HashMap * typeMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ArrayHandler__ diff --git a/libjava/gnu/java/beans/decoder/AssemblyException.h b/libjava/gnu/java/beans/decoder/AssemblyException.h new file mode 100644 index 00000000000..62f76f39cc4 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/AssemblyException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_AssemblyException__ +#define __gnu_java_beans_decoder_AssemblyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AssemblyException; + } + } + } + } +} + +class gnu::java::beans::decoder::AssemblyException : public ::java::lang::Exception +{ + +public: // actually package-private + AssemblyException(::java::lang::Throwable *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_AssemblyException__ diff --git a/libjava/gnu/java/beans/decoder/BooleanHandler.h b/libjava/gnu/java/beans/decoder/BooleanHandler.h new file mode 100644 index 00000000000..575bac03f3a --- /dev/null +++ b/libjava/gnu/java/beans/decoder/BooleanHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_BooleanHandler__ +#define __gnu_java_beans_decoder_BooleanHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class BooleanHandler; + class ElementHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::BooleanHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + BooleanHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_BooleanHandler__ diff --git a/libjava/gnu/java/beans/decoder/ByteHandler.h b/libjava/gnu/java/beans/decoder/ByteHandler.h new file mode 100644 index 00000000000..ef77b6b77d6 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ByteHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ByteHandler__ +#define __gnu_java_beans_decoder_ByteHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ByteHandler; + class ElementHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::ByteHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + ByteHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ByteHandler__ diff --git a/libjava/gnu/java/beans/decoder/CharHandler.h b/libjava/gnu/java/beans/decoder/CharHandler.h new file mode 100644 index 00000000000..dfd1b455a40 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/CharHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_CharHandler__ +#define __gnu_java_beans_decoder_CharHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class CharHandler; + class ElementHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::CharHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + CharHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_CharHandler__ diff --git a/libjava/gnu/java/beans/decoder/ClassHandler.h b/libjava/gnu/java/beans/decoder/ClassHandler.h new file mode 100644 index 00000000000..7c8ea8844aa --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ClassHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ClassHandler__ +#define __gnu_java_beans_decoder_ClassHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ClassHandler; + class ElementHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::ClassHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + ClassHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ClassHandler__ diff --git a/libjava/gnu/java/beans/decoder/ConstructorContext.h b/libjava/gnu/java/beans/decoder/ConstructorContext.h new file mode 100644 index 00000000000..187d7408693 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ConstructorContext.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ConstructorContext__ +#define __gnu_java_beans_decoder_ConstructorContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ConstructorContext; + class Context; + } + } + } + } +} + +class gnu::java::beans::decoder::ConstructorContext : public ::gnu::java::beans::decoder::AbstractCreatableObjectContext +{ + +public: // actually package-private + ConstructorContext(::java::lang::String *, ::java::lang::Class *); +public: // actually protected + virtual void addParameterObjectImpl(::java::lang::Object *); + virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractCreatableObjectContext)))) arguments; + ::java::lang::Class * klass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ConstructorContext__ diff --git a/libjava/gnu/java/beans/decoder/Context.h b/libjava/gnu/java/beans/decoder/Context.h new file mode 100644 index 00000000000..fa23e802937 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/Context.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_Context__ +#define __gnu_java_beans_decoder_Context__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + } + } + } + } +} + +class gnu::java::beans::decoder::Context : public ::java::lang::Object +{ + +public: + virtual void addParameterObject(::java::lang::Object *) = 0; + virtual void notifyStatement(::gnu::java::beans::decoder::Context *) = 0; + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *) = 0; + virtual jboolean subContextFailed() = 0; + virtual void set(jint, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * get(jint) = 0; + virtual ::java::lang::Object * getResult() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual jboolean isStatement() = 0; + virtual void setStatement(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_beans_decoder_Context__ diff --git a/libjava/gnu/java/beans/decoder/DecoderContext.h b/libjava/gnu/java/beans/decoder/DecoderContext.h new file mode 100644 index 00000000000..f1b70ef5d5b --- /dev/null +++ b/libjava/gnu/java/beans/decoder/DecoderContext.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_DecoderContext__ +#define __gnu_java_beans_decoder_DecoderContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class DecoderContext; + } + } + } + } + namespace java + { + namespace beans + { + class XMLDecoder; + } + } +} + +class gnu::java::beans::decoder::DecoderContext : public ::gnu::java::beans::decoder::AbstractContext +{ + +public: + DecoderContext(::java::beans::XMLDecoder *); + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); + virtual ::java::util::Iterator * iterator(); +private: + ::java::beans::XMLDecoder * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) decoder; + ::java::util::ArrayList * objects; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_DecoderContext__ diff --git a/libjava/gnu/java/beans/decoder/DoubleHandler.h b/libjava/gnu/java/beans/decoder/DoubleHandler.h new file mode 100644 index 00000000000..580b936a974 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/DoubleHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_DoubleHandler__ +#define __gnu_java_beans_decoder_DoubleHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class DoubleHandler; + class ElementHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::DoubleHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + DoubleHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_DoubleHandler__ diff --git a/libjava/gnu/java/beans/decoder/DummyContext.h b/libjava/gnu/java/beans/decoder/DummyContext.h new file mode 100644 index 00000000000..d8839a618ad --- /dev/null +++ b/libjava/gnu/java/beans/decoder/DummyContext.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_DummyContext__ +#define __gnu_java_beans_decoder_DummyContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class DummyContext; + } + } + } + } +} + +class gnu::java::beans::decoder::DummyContext : public ::gnu::java::beans::decoder::AbstractContext +{ + +public: + DummyContext(); + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); +private: + void fail(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_DummyContext__ diff --git a/libjava/gnu/java/beans/decoder/DummyHandler.h b/libjava/gnu/java/beans/decoder/DummyHandler.h new file mode 100644 index 00000000000..29ca81bad9f --- /dev/null +++ b/libjava/gnu/java/beans/decoder/DummyHandler.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_DummyHandler__ +#define __gnu_java_beans_decoder_DummyHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class DummyHandler; + class ElementHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::DummyHandler : public ::java::lang::Object +{ + +public: // actually package-private + DummyHandler(); +public: + virtual void start(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); + virtual void end(::java::beans::ExceptionListener *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual jboolean isSubelementAllowed(::java::lang::String *); + virtual ::java::lang::Class * instantiateClass(::java::lang::String *); + virtual void notifyStatement(::java::beans::ExceptionListener *); + virtual jboolean hasFailed(); + virtual ::gnu::java::beans::decoder::Context * getContext(); + virtual void notifyContextFailed(); + virtual void putObject(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getObject(::java::lang::String *); + virtual ::gnu::java::beans::decoder::ElementHandler * getParent(); +private: + void fail(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_DummyHandler__ diff --git a/libjava/gnu/java/beans/decoder/ElementHandler.h b/libjava/gnu/java/beans/decoder/ElementHandler.h new file mode 100644 index 00000000000..75df22500cb --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ElementHandler.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ElementHandler__ +#define __gnu_java_beans_decoder_ElementHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class ElementHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::ElementHandler : public ::java::lang::Object +{ + +public: + virtual void start(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *) = 0; + virtual void end(::java::beans::ExceptionListener *) = 0; + virtual void characters(JArray< jchar > *, jint, jint) = 0; + virtual jboolean isSubelementAllowed(::java::lang::String *) = 0; + virtual ::java::lang::Class * instantiateClass(::java::lang::String *) = 0; + virtual void notifyStatement(::java::beans::ExceptionListener *) = 0; + virtual jboolean hasFailed() = 0; + virtual ::gnu::java::beans::decoder::Context * getContext() = 0; + virtual void notifyContextFailed() = 0; + virtual void putObject(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *) = 0; + virtual ::gnu::java::beans::decoder::ElementHandler * getParent() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_beans_decoder_ElementHandler__ diff --git a/libjava/gnu/java/beans/decoder/FloatHandler.h b/libjava/gnu/java/beans/decoder/FloatHandler.h new file mode 100644 index 00000000000..9045ec51e1b --- /dev/null +++ b/libjava/gnu/java/beans/decoder/FloatHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_FloatHandler__ +#define __gnu_java_beans_decoder_FloatHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ElementHandler; + class FloatHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::FloatHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + FloatHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_FloatHandler__ diff --git a/libjava/gnu/java/beans/decoder/GrowableArrayContext.h b/libjava/gnu/java/beans/decoder/GrowableArrayContext.h new file mode 100644 index 00000000000..e6b4a79b4e3 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/GrowableArrayContext.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_GrowableArrayContext__ +#define __gnu_java_beans_decoder_GrowableArrayContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class GrowableArrayContext; + } + } + } + } +} + +class gnu::java::beans::decoder::GrowableArrayContext : public ::gnu::java::beans::decoder::AbstractContext +{ + +public: // actually package-private + GrowableArrayContext(::java::lang::String *, ::java::lang::Class *); +public: + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); +private: + static const jint INITIAL_SIZE = 16; + ::java::lang::Class * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) klass; + ::java::lang::Object * array; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_GrowableArrayContext__ diff --git a/libjava/gnu/java/beans/decoder/IndexContext.h b/libjava/gnu/java/beans/decoder/IndexContext.h new file mode 100644 index 00000000000..b4c3855be23 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/IndexContext.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_IndexContext__ +#define __gnu_java_beans_decoder_IndexContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class IndexContext; + } + } + } + } +} + +class gnu::java::beans::decoder::IndexContext : public ::gnu::java::beans::decoder::AbstractContext +{ + +public: // actually package-private + IndexContext(::java::lang::String *, jint); +public: + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractContext)))) result; + ::java::lang::Object * argument; + jint index; + jboolean isSetter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_IndexContext__ diff --git a/libjava/gnu/java/beans/decoder/IntHandler.h b/libjava/gnu/java/beans/decoder/IntHandler.h new file mode 100644 index 00000000000..181020628b8 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/IntHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_IntHandler__ +#define __gnu_java_beans_decoder_IntHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ElementHandler; + class IntHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::IntHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + IntHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_IntHandler__ diff --git a/libjava/gnu/java/beans/decoder/JavaHandler.h b/libjava/gnu/java/beans/decoder/JavaHandler.h new file mode 100644 index 00000000000..d79c9f54436 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/JavaHandler.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_JavaHandler__ +#define __gnu_java_beans_decoder_JavaHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class DummyHandler; + class JavaHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::JavaHandler : public ::gnu::java::beans::decoder::AbstractElementHandler +{ + +public: // actually package-private + JavaHandler(::gnu::java::beans::decoder::DummyHandler *, ::gnu::java::beans::decoder::Context *, ::java::lang::ClassLoader *); +public: // actually protected + virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); +public: + virtual ::java::lang::Object * getObject(::java::lang::String *); + virtual void putObject(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Class * instantiateClass(::java::lang::String *); +private: + ::gnu::java::beans::decoder::Context * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractElementHandler)))) context; + ::java::util::HashMap * objectMap; + ::java::lang::ClassLoader * classLoader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_JavaHandler__ diff --git a/libjava/gnu/java/beans/decoder/LongHandler.h b/libjava/gnu/java/beans/decoder/LongHandler.h new file mode 100644 index 00000000000..ca846310bb3 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/LongHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_LongHandler__ +#define __gnu_java_beans_decoder_LongHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ElementHandler; + class LongHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::LongHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + LongHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_LongHandler__ diff --git a/libjava/gnu/java/beans/decoder/MethodContext.h b/libjava/gnu/java/beans/decoder/MethodContext.h new file mode 100644 index 00000000000..7039130960f --- /dev/null +++ b/libjava/gnu/java/beans/decoder/MethodContext.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_MethodContext__ +#define __gnu_java_beans_decoder_MethodContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class MethodContext; + } + } + } + } +} + +class gnu::java::beans::decoder::MethodContext : public ::gnu::java::beans::decoder::AbstractCreatableObjectContext +{ + +public: // actually package-private + MethodContext(::java::lang::String *, ::java::lang::String *); +public: + virtual void addParameterObjectImpl(::java::lang::Object *); +public: // actually protected + virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractCreatableObjectContext)))) arguments; + ::java::lang::String * methodName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_MethodContext__ diff --git a/libjava/gnu/java/beans/decoder/MethodFinder.h b/libjava/gnu/java/beans/decoder/MethodFinder.h new file mode 100644 index 00000000000..02e8736af84 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/MethodFinder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_MethodFinder__ +#define __gnu_java_beans_decoder_MethodFinder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class MethodFinder; + } + } + } + } +} + +class gnu::java::beans::decoder::MethodFinder : public ::java::lang::Object +{ + + MethodFinder(); +public: // actually package-private + static ::java::lang::reflect::Method * getMethod(::java::lang::Class *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + static ::java::lang::reflect::Constructor * getConstructor(::java::lang::Class *, JArray< ::java::lang::Object * > *); +private: + static JArray< ::java::lang::Class * > * getArgumentTypes(JArray< ::java::lang::Object * > *); + static jboolean matchingArgumentTypes(JArray< ::java::lang::Class * > *, JArray< ::java::lang::Class * > *); + static ::java::util::HashMap * typeMapping; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_MethodFinder__ diff --git a/libjava/gnu/java/beans/decoder/NullHandler.h b/libjava/gnu/java/beans/decoder/NullHandler.h new file mode 100644 index 00000000000..9e76755e359 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/NullHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_NullHandler__ +#define __gnu_java_beans_decoder_NullHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ElementHandler; + class NullHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::NullHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + NullHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_NullHandler__ diff --git a/libjava/gnu/java/beans/decoder/ObjectContext.h b/libjava/gnu/java/beans/decoder/ObjectContext.h new file mode 100644 index 00000000000..7e654036f05 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ObjectContext.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ObjectContext__ +#define __gnu_java_beans_decoder_ObjectContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class ObjectContext; + } + } + } + } +} + +class gnu::java::beans::decoder::ObjectContext : public ::gnu::java::beans::decoder::AbstractObjectContext +{ + +public: // actually package-private + ObjectContext(::java::lang::Object *); + ObjectContext(::java::lang::String *, ::java::lang::Object *); + ObjectContext(); +public: + void addParameterObject(::java::lang::Object *); + void notifyStatement(::gnu::java::beans::decoder::Context *); + ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + jboolean subContextFailed(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ObjectContext__ diff --git a/libjava/gnu/java/beans/decoder/ObjectHandler.h b/libjava/gnu/java/beans/decoder/ObjectHandler.h new file mode 100644 index 00000000000..68898f25058 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ObjectHandler.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ObjectHandler__ +#define __gnu_java_beans_decoder_ObjectHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class ElementHandler; + class ObjectHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::ObjectHandler : public ::gnu::java::beans::decoder::AbstractElementHandler +{ + +public: // actually package-private + ObjectHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ObjectHandler__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h new file mode 100644 index 00000000000..50cecb45177 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ArrayHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$ArrayHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$ArrayHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$ArrayHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$ArrayHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$ArrayHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$ArrayHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h new file mode 100644 index 00000000000..d877d9cd73a --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$BooleanHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$BooleanHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$BooleanHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$BooleanHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$BooleanHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$BooleanHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$BooleanHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h new file mode 100644 index 00000000000..d3ef830f6e0 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ByteHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$ByteHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$ByteHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$ByteHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$ByteHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$ByteHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$ByteHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h new file mode 100644 index 00000000000..86438880146 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$CharHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$CharHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$CharHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$CharHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$CharHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$CharHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$CharHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h new file mode 100644 index 00000000000..38cde4cc9e5 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ClassHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$ClassHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$ClassHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$ClassHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$ClassHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$ClassHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$ClassHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h new file mode 100644 index 00000000000..69af77b1fce --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$Creator.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$Creator__ +#define __gnu_java_beans_decoder_PersistenceParser$Creator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser$Creator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$Creator : public ::java::lang::Object +{ + +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_beans_decoder_PersistenceParser$Creator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h new file mode 100644 index 00000000000..c78f28fab16 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$DoubleHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$DoubleHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$DoubleHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$DoubleHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$DoubleHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$DoubleHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$DoubleHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h new file mode 100644 index 00000000000..e11e994d6c9 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$FloatHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$FloatHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$FloatHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$FloatHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$FloatHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$FloatHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$FloatHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h new file mode 100644 index 00000000000..a3893aef3f1 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$IntHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$IntHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$IntHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$IntHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$IntHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$IntHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$IntHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h new file mode 100644 index 00000000000..69e03507f41 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$JavaHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$JavaHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$JavaHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$JavaHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$JavaHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$JavaHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$JavaHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h new file mode 100644 index 00000000000..7081871c6db --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$LongHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$LongHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$LongHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$LongHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$LongHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$LongHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$LongHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h new file mode 100644 index 00000000000..1db11b4c47c --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$NullHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$NullHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$NullHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$NullHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$NullHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$NullHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$NullHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h new file mode 100644 index 00000000000..4adfc87e5d6 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ObjectHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$ObjectHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$ObjectHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$ObjectHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$ObjectHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$ObjectHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$ObjectHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h new file mode 100644 index 00000000000..f217dc46c62 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$ShortHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$ShortHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$ShortHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$ShortHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$ShortHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$ShortHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$ShortHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h new file mode 100644 index 00000000000..5c9ec802af4 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$StringHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$StringHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$StringHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$StringHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$StringHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$StringHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$StringHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h b/libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h new file mode 100644 index 00000000000..9b696b4ec3e --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser$VoidHandlerCreator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser$VoidHandlerCreator__ +#define __gnu_java_beans_decoder_PersistenceParser$VoidHandlerCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class AbstractElementHandler; + class ElementHandler; + class PersistenceParser; + class PersistenceParser$VoidHandlerCreator; + } + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser$VoidHandlerCreator : public ::java::lang::Object +{ + +public: // actually package-private + PersistenceParser$VoidHandlerCreator(::gnu::java::beans::decoder::PersistenceParser *); +public: + virtual ::gnu::java::beans::decoder::AbstractElementHandler * createHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually package-private + ::gnu::java::beans::decoder::PersistenceParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser$VoidHandlerCreator__ diff --git a/libjava/gnu/java/beans/decoder/PersistenceParser.h b/libjava/gnu/java/beans/decoder/PersistenceParser.h new file mode 100644 index 00000000000..eb4017ac1a1 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PersistenceParser.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PersistenceParser__ +#define __gnu_java_beans_decoder_PersistenceParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class ElementHandler; + class JavaHandler; + class PersistenceParser; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + class XMLDecoder; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::PersistenceParser : public ::org::xml::sax::helpers::DefaultHandler +{ + +public: + PersistenceParser(::java::io::InputStream *, ::java::beans::ExceptionListener *, ::java::lang::ClassLoader *, ::java::beans::XMLDecoder *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); + virtual void set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * getResult(); + virtual void setId(::java::lang::String *); + virtual ::java::lang::String * getId(); + virtual jboolean isStatement(); + virtual void setStatement(jboolean); + virtual ::java::util::Iterator * iterator(); +private: + ::java::beans::ExceptionListener * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::DefaultHandler)))) exceptionListener; + jint skipElement; + ::java::util::HashMap * handlerCreators; + ::gnu::java::beans::decoder::ElementHandler * currentHandler; +public: // actually package-private + ::gnu::java::beans::decoder::JavaHandler * javaHandler; +private: + ::java::util::List * objects; + ::java::beans::XMLDecoder * decoder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PersistenceParser__ diff --git a/libjava/gnu/java/beans/decoder/PropertyContext.h b/libjava/gnu/java/beans/decoder/PropertyContext.h new file mode 100644 index 00000000000..cb335b39162 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/PropertyContext.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_PropertyContext__ +#define __gnu_java_beans_decoder_PropertyContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class PropertyContext; + } + } + } + } +} + +class gnu::java::beans::decoder::PropertyContext : public ::gnu::java::beans::decoder::AbstractObjectContext +{ + +public: // actually package-private + PropertyContext(::java::lang::String *, ::java::lang::String *); +public: + virtual void addParameterObject(::java::lang::Object *); + virtual void notifyStatement(::gnu::java::beans::decoder::Context *); + virtual ::java::lang::Object * endContext(::gnu::java::beans::decoder::Context *); + virtual jboolean subContextFailed(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractObjectContext)))) argument; + ::java::lang::String * propertyName; + ::java::lang::String * prefix; + jboolean methodCalled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_PropertyContext__ diff --git a/libjava/gnu/java/beans/decoder/ShortHandler.h b/libjava/gnu/java/beans/decoder/ShortHandler.h new file mode 100644 index 00000000000..0d5039ad233 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/ShortHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_ShortHandler__ +#define __gnu_java_beans_decoder_ShortHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ElementHandler; + class ShortHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::ShortHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + ShortHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_ShortHandler__ diff --git a/libjava/gnu/java/beans/decoder/SimpleHandler.h b/libjava/gnu/java/beans/decoder/SimpleHandler.h new file mode 100644 index 00000000000..189b6c8e944 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/SimpleHandler.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_SimpleHandler__ +#define __gnu_java_beans_decoder_SimpleHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class ElementHandler; + class ObjectContext; + class SimpleHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::SimpleHandler : public ::gnu::java::beans::decoder::AbstractElementHandler +{ + +public: // actually package-private + SimpleHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); +public: + virtual void endElement(::java::lang::String *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *) = 0; +private: + ::gnu::java::beans::decoder::ObjectContext * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractElementHandler)))) context; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_SimpleHandler__ diff --git a/libjava/gnu/java/beans/decoder/StaticMethodContext.h b/libjava/gnu/java/beans/decoder/StaticMethodContext.h new file mode 100644 index 00000000000..098d8e839a3 --- /dev/null +++ b/libjava/gnu/java/beans/decoder/StaticMethodContext.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_StaticMethodContext__ +#define __gnu_java_beans_decoder_StaticMethodContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class StaticMethodContext; + } + } + } + } +} + +class gnu::java::beans::decoder::StaticMethodContext : public ::gnu::java::beans::decoder::AbstractCreatableObjectContext +{ + +public: // actually package-private + StaticMethodContext(::java::lang::String *, ::java::lang::Class *, ::java::lang::String *); +public: + virtual void addParameterObjectImpl(::java::lang::Object *); +public: // actually protected + virtual ::java::lang::Object * createObject(::gnu::java::beans::decoder::Context *); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::gnu::java::beans::decoder::AbstractCreatableObjectContext)))) arguments; + ::java::lang::Class * klass; + ::java::lang::String * methodName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_StaticMethodContext__ diff --git a/libjava/gnu/java/beans/decoder/StringHandler.h b/libjava/gnu/java/beans/decoder/StringHandler.h new file mode 100644 index 00000000000..9c59db0807b --- /dev/null +++ b/libjava/gnu/java/beans/decoder/StringHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_StringHandler__ +#define __gnu_java_beans_decoder_StringHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class ElementHandler; + class StringHandler; + } + } + } + } +} + +class gnu::java::beans::decoder::StringHandler : public ::gnu::java::beans::decoder::SimpleHandler +{ + +public: // actually package-private + StringHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::java::lang::Object * parse(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_StringHandler__ diff --git a/libjava/gnu/java/beans/decoder/VoidHandler.h b/libjava/gnu/java/beans/decoder/VoidHandler.h new file mode 100644 index 00000000000..264d0c063fd --- /dev/null +++ b/libjava/gnu/java/beans/decoder/VoidHandler.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_decoder_VoidHandler__ +#define __gnu_java_beans_decoder_VoidHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace decoder + { + class Context; + class ElementHandler; + class VoidHandler; + } + } + } + } + namespace java + { + namespace beans + { + class ExceptionListener; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::java::beans::decoder::VoidHandler : public ::gnu::java::beans::decoder::AbstractElementHandler +{ + +public: // actually package-private + VoidHandler(::gnu::java::beans::decoder::ElementHandler *); +public: // actually protected + virtual ::gnu::java::beans::decoder::Context * startElement(::org::xml::sax::Attributes *, ::java::beans::ExceptionListener *); +private: + ::gnu::java::beans::decoder::Context * startElementImpl(::org::xml::sax::Attributes *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_decoder_VoidHandler__ diff --git a/libjava/gnu/java/beans/editors/ColorEditor.h b/libjava/gnu/java/beans/editors/ColorEditor.h new file mode 100644 index 00000000000..73322634c0b --- /dev/null +++ b/libjava/gnu/java/beans/editors/ColorEditor.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_ColorEditor__ +#define __gnu_java_beans_editors_ColorEditor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class ColorEditor; + } + } + } + } + namespace java + { + namespace awt + { + class Color; + } + } +} + +class gnu::java::beans::editors::ColorEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + ColorEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + virtual JArray< ::java::lang::String * > * getTags(); +public: // actually package-private + JArray< ::java::awt::Color * > * __attribute__((aligned(__alignof__( ::java::beans::PropertyEditorSupport)))) stdColors; + JArray< ::java::lang::String * > * stdColorNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_ColorEditor__ diff --git a/libjava/gnu/java/beans/editors/FontEditor.h b/libjava/gnu/java/beans/editors/FontEditor.h new file mode 100644 index 00000000000..da93ed5f667 --- /dev/null +++ b/libjava/gnu/java/beans/editors/FontEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_FontEditor__ +#define __gnu_java_beans_editors_FontEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class FontEditor; + } + } + } + } +} + +class gnu::java::beans::editors::FontEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + FontEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_FontEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeBooleanEditor.h b/libjava/gnu/java/beans/editors/NativeBooleanEditor.h new file mode 100644 index 00000000000..7921525df2a --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeBooleanEditor.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeBooleanEditor__ +#define __gnu_java_beans_editors_NativeBooleanEditor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeBooleanEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeBooleanEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeBooleanEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::beans::PropertyEditorSupport)))) tags; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeBooleanEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeByteEditor.h b/libjava/gnu/java/beans/editors/NativeByteEditor.h new file mode 100644 index 00000000000..38dd6fe8c02 --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeByteEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeByteEditor__ +#define __gnu_java_beans_editors_NativeByteEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeByteEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeByteEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeByteEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeByteEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeDoubleEditor.h b/libjava/gnu/java/beans/editors/NativeDoubleEditor.h new file mode 100644 index 00000000000..d37c220c8a4 --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeDoubleEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeDoubleEditor__ +#define __gnu_java_beans_editors_NativeDoubleEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeDoubleEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeDoubleEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeDoubleEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeDoubleEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeFloatEditor.h b/libjava/gnu/java/beans/editors/NativeFloatEditor.h new file mode 100644 index 00000000000..6d30d762f67 --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeFloatEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeFloatEditor__ +#define __gnu_java_beans_editors_NativeFloatEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeFloatEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeFloatEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeFloatEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeFloatEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeIntEditor.h b/libjava/gnu/java/beans/editors/NativeIntEditor.h new file mode 100644 index 00000000000..eddb16c3be5 --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeIntEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeIntEditor__ +#define __gnu_java_beans_editors_NativeIntEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeIntEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeIntEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeIntEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeIntEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeLongEditor.h b/libjava/gnu/java/beans/editors/NativeLongEditor.h new file mode 100644 index 00000000000..daf81c5bf6f --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeLongEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeLongEditor__ +#define __gnu_java_beans_editors_NativeLongEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeLongEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeLongEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeLongEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeLongEditor__ diff --git a/libjava/gnu/java/beans/editors/NativeShortEditor.h b/libjava/gnu/java/beans/editors/NativeShortEditor.h new file mode 100644 index 00000000000..3329ed709ac --- /dev/null +++ b/libjava/gnu/java/beans/editors/NativeShortEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_NativeShortEditor__ +#define __gnu_java_beans_editors_NativeShortEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class NativeShortEditor; + } + } + } + } +} + +class gnu::java::beans::editors::NativeShortEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + NativeShortEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_NativeShortEditor__ diff --git a/libjava/gnu/java/beans/editors/StringEditor.h b/libjava/gnu/java/beans/editors/StringEditor.h new file mode 100644 index 00000000000..48065824919 --- /dev/null +++ b/libjava/gnu/java/beans/editors/StringEditor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_editors_StringEditor__ +#define __gnu_java_beans_editors_StringEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace editors + { + class StringEditor; + } + } + } + } +} + +class gnu::java::beans::editors::StringEditor : public ::java::beans::PropertyEditorSupport +{ + +public: + StringEditor(); + virtual void setAsText(::java::lang::String *); + virtual ::java::lang::String * getAsText(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_editors_StringEditor__ diff --git a/libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h new file mode 100644 index 00000000000..489b404b051 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/ArrayPersistenceDelegate.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_ArrayPersistenceDelegate__ +#define __gnu_java_beans_encoder_ArrayPersistenceDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ArrayPersistenceDelegate; + } + } + } + } + namespace java + { + namespace beans + { + class Encoder; + class Expression; + } + } +} + +class gnu::java::beans::encoder::ArrayPersistenceDelegate : public ::java::beans::PersistenceDelegate +{ + +public: + ArrayPersistenceDelegate(); +public: // actually protected + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); + virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *); +private: + static ::java::util::HashMap * NULL_VALUES; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_ArrayPersistenceDelegate__ diff --git a/libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h new file mode 100644 index 00000000000..4ca1df820cb --- /dev/null +++ b/libjava/gnu/java/beans/encoder/ClassPersistenceDelegate.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_ClassPersistenceDelegate__ +#define __gnu_java_beans_encoder_ClassPersistenceDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ClassPersistenceDelegate; + } + } + } + } + namespace java + { + namespace beans + { + class Encoder; + class Expression; + } + } +} + +class gnu::java::beans::encoder::ClassPersistenceDelegate : public ::java::beans::PersistenceDelegate +{ + +public: + ClassPersistenceDelegate(); +public: // actually protected + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_ClassPersistenceDelegate__ diff --git a/libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h new file mode 100644 index 00000000000..99bd9dfb1c8 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/CollectionPersistenceDelegate.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_CollectionPersistenceDelegate__ +#define __gnu_java_beans_encoder_CollectionPersistenceDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class CollectionPersistenceDelegate; + } + } + } + } + namespace java + { + namespace beans + { + class Encoder; + class Expression; + } + } +} + +class gnu::java::beans::encoder::CollectionPersistenceDelegate : public ::java::beans::PersistenceDelegate +{ + +public: + CollectionPersistenceDelegate(); +public: // actually protected + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); + virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_CollectionPersistenceDelegate__ diff --git a/libjava/gnu/java/beans/encoder/Context.h b/libjava/gnu/java/beans/encoder/Context.h new file mode 100644 index 00000000000..420376f3edf --- /dev/null +++ b/libjava/gnu/java/beans/encoder/Context.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_Context__ +#define __gnu_java_beans_encoder_Context__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Context; + } + } + } + } +} + +class gnu::java::beans::encoder::Context : public ::java::lang::Object +{ + +public: // actually package-private + Context(::java::lang::String *, jint); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) state; + jint call; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_Context__ diff --git a/libjava/gnu/java/beans/encoder/GenericScannerState.h b/libjava/gnu/java/beans/encoder/GenericScannerState.h new file mode 100644 index 00000000000..75e54adc407 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/GenericScannerState.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_GenericScannerState__ +#define __gnu_java_beans_encoder_GenericScannerState__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Context; + class GenericScannerState; + class ObjectId; + class Root; + } + } + } + } +} + +class gnu::java::beans::encoder::GenericScannerState : public ::gnu::java::beans::encoder::ScannerState +{ + +public: // actually package-private + GenericScannerState(::gnu::java::beans::encoder::Root *); + GenericScannerState(::gnu::java::beans::encoder::Root *, jint); +public: // actually protected + virtual void enterImpl(::gnu::java::beans::encoder::Context *); +public: // actually package-private + virtual void methodInvocation(::java::lang::String *); + virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *); + virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *); + virtual void classResolution(::java::lang::String *); + virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *); + virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void arraySet(::java::lang::String *); + virtual void arrayGet(::java::lang::String *); + virtual void listGet(); + virtual void listSet(); + virtual void nullObject(); + virtual void stringReference(::java::lang::String *); + virtual void objectReference(::gnu::java::beans::encoder::ObjectId *); + virtual void end(); + virtual void enter(); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::ScannerState)))) skipElements; + jint initialSkipElements; +public: // actually package-private + ::gnu::java::beans::encoder::Root * root; + ::java::util::HashMap * skipValues; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_GenericScannerState__ diff --git a/libjava/gnu/java/beans/encoder/IgnoringScannerState.h b/libjava/gnu/java/beans/encoder/IgnoringScannerState.h new file mode 100644 index 00000000000..ef44b5c6a48 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/IgnoringScannerState.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_IgnoringScannerState__ +#define __gnu_java_beans_encoder_IgnoringScannerState__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class IgnoringScannerState; + class ObjectId; + } + } + } + } +} + +class gnu::java::beans::encoder::IgnoringScannerState : public ::gnu::java::beans::encoder::ScannerState +{ + +public: // actually package-private + IgnoringScannerState(); + virtual void methodInvocation(::java::lang::String *); + virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *); + virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *); + virtual void classResolution(::java::lang::String *); + virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *); + virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void arraySet(::java::lang::String *); + virtual void arrayGet(::java::lang::String *); + virtual void listGet(); + virtual void listSet(); + virtual void nullObject(); + virtual void stringReference(::java::lang::String *); + virtual void objectReference(::gnu::java::beans::encoder::ObjectId *); + virtual void end(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_IgnoringScannerState__ diff --git a/libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h b/libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h new file mode 100644 index 00000000000..0c99d67b6b1 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/MapPersistenceDelegate.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_MapPersistenceDelegate__ +#define __gnu_java_beans_encoder_MapPersistenceDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class MapPersistenceDelegate; + } + } + } + } + namespace java + { + namespace beans + { + class Encoder; + class Expression; + } + } +} + +class gnu::java::beans::encoder::MapPersistenceDelegate : public ::java::beans::PersistenceDelegate +{ + +public: + MapPersistenceDelegate(); +public: // actually protected + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); + virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_MapPersistenceDelegate__ diff --git a/libjava/gnu/java/beans/encoder/ObjectId.h b/libjava/gnu/java/beans/encoder/ObjectId.h new file mode 100644 index 00000000000..7447c77ce7a --- /dev/null +++ b/libjava/gnu/java/beans/encoder/ObjectId.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_ObjectId__ +#define __gnu_java_beans_encoder_ObjectId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ObjectId; + } + } + } + } +} + +class gnu::java::beans::encoder::ObjectId : public ::java::lang::Object +{ + +public: // actually package-private + ObjectId(::java::lang::Class *); +public: + virtual jboolean isUnused(); + virtual ::java::lang::String * toString(); + virtual void init(); +private: + static ::java::util::HashMap * nameIndices; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::lang::Class * klass; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_ObjectId__ diff --git a/libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h b/libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h new file mode 100644 index 00000000000..7102811bc8f --- /dev/null +++ b/libjava/gnu/java/beans/encoder/PrimitivePersistenceDelegate.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_PrimitivePersistenceDelegate__ +#define __gnu_java_beans_encoder_PrimitivePersistenceDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class PrimitivePersistenceDelegate; + } + } + } + } + namespace java + { + namespace beans + { + class Encoder; + class Expression; + } + } +} + +class gnu::java::beans::encoder::PrimitivePersistenceDelegate : public ::java::beans::PersistenceDelegate +{ + +public: + PrimitivePersistenceDelegate(); +public: // actually protected + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); + virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_PrimitivePersistenceDelegate__ diff --git a/libjava/gnu/java/beans/encoder/ReportingScannerState.h b/libjava/gnu/java/beans/encoder/ReportingScannerState.h new file mode 100644 index 00000000000..b613cedba59 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/ReportingScannerState.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_ReportingScannerState__ +#define __gnu_java_beans_encoder_ReportingScannerState__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ObjectId; + class ReportingScannerState; + } + } + } + } +} + +class gnu::java::beans::encoder::ReportingScannerState : public ::gnu::java::beans::encoder::ScannerState +{ + +public: // actually package-private + ReportingScannerState(); + virtual void methodInvocation(::java::lang::String *); + virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *); + virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *); + virtual void classResolution(::java::lang::String *); + virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *); + virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void arraySet(::java::lang::String *); + virtual void arrayGet(::java::lang::String *); + virtual void listGet(); + virtual void listSet(); + virtual void nullObject(); + virtual void stringReference(::java::lang::String *); + virtual void objectReference(::gnu::java::beans::encoder::ObjectId *); + virtual void end(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_ReportingScannerState__ diff --git a/libjava/gnu/java/beans/encoder/Root$RootElement.h b/libjava/gnu/java/beans/encoder/Root$RootElement.h new file mode 100644 index 00000000000..b25191fe1f6 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/Root$RootElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_Root$RootElement__ +#define __gnu_java_beans_encoder_Root$RootElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Root$RootElement; + class Writer; + } + } + } + } +} + +class gnu::java::beans::encoder::Root$RootElement : public ::gnu::java::beans::encoder::elements::Element +{ + +public: // actually package-private + Root$RootElement(); +public: + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + virtual void writeEnd(::gnu::java::beans::encoder::Writer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_Root$RootElement__ diff --git a/libjava/gnu/java/beans/encoder/Root.h b/libjava/gnu/java/beans/encoder/Root.h new file mode 100644 index 00000000000..08f587b87ff --- /dev/null +++ b/libjava/gnu/java/beans/encoder/Root.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_Root__ +#define __gnu_java_beans_encoder_Root__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Root; + class Writer; + namespace elements + { + class Element; + } + } + } + } + } +} + +class gnu::java::beans::encoder::Root : public ::java::lang::Object +{ + +public: + Root(); + virtual void addChild(::gnu::java::beans::encoder::elements::Element *); + virtual void end(); + virtual void deleteLast(); + virtual void traverse(::gnu::java::beans::encoder::Writer *); + virtual void close(::gnu::java::beans::encoder::Writer *); +private: + void traverse(::gnu::java::beans::encoder::Writer *, ::java::util::Iterator *); + ::java::util::Stack * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parents; + ::gnu::java::beans::encoder::elements::Element * rootElement; + ::gnu::java::beans::encoder::elements::Element * current; + jboolean started; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_Root__ diff --git a/libjava/gnu/java/beans/encoder/ScanEngine.h b/libjava/gnu/java/beans/encoder/ScanEngine.h new file mode 100644 index 00000000000..7d5b52d3766 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/ScanEngine.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_ScanEngine__ +#define __gnu_java_beans_encoder_ScanEngine__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ObjectId; + class Root; + class ScanEngine; + class ScannerState; + class Writer; + } + } + } + } + namespace java + { + namespace beans + { + class Expression; + class Statement; + } + } +} + +class gnu::java::beans::encoder::ScanEngine : public ::java::lang::Object +{ + +public: + ScanEngine(::java::io::OutputStream *); +private: + ::gnu::java::beans::encoder::ScannerState * register$(::java::lang::String *, ::gnu::java::beans::encoder::ScannerState *); + ::gnu::java::beans::encoder::ObjectId * retrieveId(::java::lang::Object *); +public: + virtual void writeExpression(::java::beans::Expression *); + virtual void end(); + virtual void revoke(); + virtual void writeStatement(::java::beans::Statement *); + virtual jboolean writeObject(::java::lang::Object *); + virtual void flush(); + virtual void close(); +private: + void transition(jint); +public: // actually package-private + virtual void methodInvocation(::java::lang::String *); + virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *); + virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *); + virtual void classResolution(::java::lang::String *); + virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *); + virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *); + virtual void arraySet(::java::lang::String *); + virtual void arrayGet(::java::lang::String *); + virtual void listSet(); + virtual void listGet(); + virtual void nullObject(); + virtual void stringReference(::java::lang::String *); + virtual void objectReference(::gnu::java::beans::encoder::ObjectId *); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) DEBUG; + ::java::util::HashMap * states; + ::java::util::Stack * parents; + ::gnu::java::beans::encoder::ScannerState * current; + ::gnu::java::beans::encoder::Root * root; + ::gnu::java::beans::encoder::Writer * writer; + ::java::util::IdentityHashMap * objects; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_ScanEngine__ diff --git a/libjava/gnu/java/beans/encoder/ScannerState.h b/libjava/gnu/java/beans/encoder/ScannerState.h new file mode 100644 index 00000000000..77caf12325d --- /dev/null +++ b/libjava/gnu/java/beans/encoder/ScannerState.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_ScannerState__ +#define __gnu_java_beans_encoder_ScannerState__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Context; + class ObjectId; + class ScannerState; + } + } + } + } +} + +class gnu::java::beans::encoder::ScannerState : public ::java::lang::Object +{ + +public: + ScannerState(); +public: // actually package-private + virtual void init(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void enter(::gnu::java::beans::encoder::Context *); +public: // actually protected + virtual void enterImpl(::gnu::java::beans::encoder::Context *); +public: // actually package-private + virtual ::gnu::java::beans::encoder::Context * context(); + virtual jint getCalls(); + virtual void putSuccessor(jint, ::java::lang::String *); + virtual ::java::lang::String * getSuccessor(jint); + virtual void setDefaultSuccessor(::java::lang::String *); + virtual void methodInvocation(::java::lang::String *) = 0; + virtual void staticMethodInvocation(::java::lang::String *, ::java::lang::String *) = 0; + virtual void staticFieldAccess(::java::lang::String *, ::java::lang::String *) = 0; + virtual void classResolution(::java::lang::String *) = 0; + virtual void objectInstantiation(::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *) = 0; + virtual void primitiveInstantiation(::java::lang::String *, ::java::lang::String *) = 0; + virtual void objectArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *) = 0; + virtual void primitiveArrayInstantiation(::java::lang::String *, ::java::lang::String *, ::gnu::java::beans::encoder::ObjectId *) = 0; + virtual void arraySet(::java::lang::String *) = 0; + virtual void arrayGet(::java::lang::String *) = 0; + virtual void listGet() = 0; + virtual void listSet() = 0; + virtual void nullObject() = 0; + virtual void stringReference(::java::lang::String *) = 0; + virtual void objectReference(::gnu::java::beans::encoder::ObjectId *) = 0; + virtual void end() = 0; + virtual void enter(); + static const jint TRANSITION_METHOD_INVOCATION = 0; + static const jint TRANSITION_STATIC_METHOD_INVOCATION = 1; + static const jint TRANSITION_STATIC_FIELD_ACCESS = 2; + static const jint TRANSITION_CLASS_RESOLUTION = 3; + static const jint TRANSITION_OBJECT_INSTANTIATION = 4; + static const jint TRANSITION_PRIMITIVE_INSTANTIATION = 5; + static const jint TRANSITION_OBJECT_ARRAY_INSTANTIATION = 6; + static const jint TRANSITION_PRIMITIVE_ARRAY_INSTANTIATION = 7; + static const jint TRANSITION_ARRAY_SET = 8; + static const jint TRANSITION_ARRAY_GET = 9; + static const jint TRANSITION_LIST_SET = 10; + static const jint TRANSITION_LIST_GET = 11; + static const jint TRANSITION_NULL_OBJECT = 12; + static const jint TRANSITION_STRING_REFERENCE = 13; + static const jint TRANSITION_OBJECT_REFERENCE = 14; + static const jint TRANSITION_FIRST = 0; + static const jint TRANSITION_LAST = 14; + static ::java::lang::String * DEFAULT_STATE_NAME; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultSuccessor; + static JArray< ::java::lang::String * > * transitionNames; + ::java::util::HashMap * transitions; + jint calls; + ::gnu::java::beans::encoder::Context * context__; + ::java::lang::String * name; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_ScannerState__ diff --git a/libjava/gnu/java/beans/encoder/StAXWriter.h b/libjava/gnu/java/beans/encoder/StAXWriter.h new file mode 100644 index 00000000000..06298b0d779 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/StAXWriter.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_StAXWriter__ +#define __gnu_java_beans_encoder_StAXWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class StAXWriter; + } + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class XMLStreamWriter; + } + } + } +} + +class gnu::java::beans::encoder::StAXWriter : public ::java::lang::Object +{ + +public: + StAXWriter(::java::io::OutputStream *); + virtual void flush(); + virtual void close(); + virtual void writePreamble(); + virtual void writeEnd(jboolean); + virtual void writeEndNoChildren(); + virtual void write(::java::lang::String *, jboolean); + virtual void write(::java::lang::String *, ::java::lang::String *); + virtual void writeNoChildren(::java::lang::String *, ::java::lang::String *); + virtual void write(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean); + virtual void write(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean); + virtual void write(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean); +public: // actually package-private + ::javax::xml::stream::XMLStreamWriter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) writer; + jint indent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_StAXWriter__ diff --git a/libjava/gnu/java/beans/encoder/Writer.h b/libjava/gnu/java/beans/encoder/Writer.h new file mode 100644 index 00000000000..21ac47d5876 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/Writer.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_Writer__ +#define __gnu_java_beans_encoder_Writer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + } + } + } + } +} + +class gnu::java::beans::encoder::Writer : public ::java::lang::Object +{ + +public: + virtual void writePreamble() = 0; + virtual void writeEnd(jboolean) = 0; + virtual void write(::java::lang::String *, jboolean) = 0; + virtual void write(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void write(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean) = 0; + virtual void write(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean) = 0; + virtual void write(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeNoChildren(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeEndNoChildren() = 0; + virtual void flush() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_beans_encoder_Writer__ diff --git a/libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h b/libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h new file mode 100644 index 00000000000..aaf8ab1189b --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/ArrayInstantiation.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_ArrayInstantiation__ +#define __gnu_java_beans_encoder_elements_ArrayInstantiation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class ArrayInstantiation; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::ArrayInstantiation : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + ArrayInstantiation(::java::lang::String *, ::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className; + ::java::lang::String * lengthAsString; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_ArrayInstantiation__ diff --git a/libjava/gnu/java/beans/encoder/elements/Array_Get.h b/libjava/gnu/java/beans/encoder/elements/Array_Get.h new file mode 100644 index 00000000000..73a0dd70256 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/Array_Get.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_Array_Get__ +#define __gnu_java_beans_encoder_elements_Array_Get__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class Array_Get; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::Array_Get : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + Array_Get(::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) indexAsString; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_Array_Get__ diff --git a/libjava/gnu/java/beans/encoder/elements/Array_Set.h b/libjava/gnu/java/beans/encoder/elements/Array_Set.h new file mode 100644 index 00000000000..353d5a00dd8 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/Array_Set.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_Array_Set__ +#define __gnu_java_beans_encoder_elements_Array_Set__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class Array_Set; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::Array_Set : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + Array_Set(::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) indexAsString; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_Array_Set__ diff --git a/libjava/gnu/java/beans/encoder/elements/ClassResolution.h b/libjava/gnu/java/beans/encoder/elements/ClassResolution.h new file mode 100644 index 00000000000..569602c5b1a --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/ClassResolution.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_ClassResolution__ +#define __gnu_java_beans_encoder_elements_ClassResolution__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class ClassResolution; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::ClassResolution : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + ClassResolution(::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + virtual void writeEnd(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_ClassResolution__ diff --git a/libjava/gnu/java/beans/encoder/elements/Element.h b/libjava/gnu/java/beans/encoder/elements/Element.h new file mode 100644 index 00000000000..5c53e7d1ed9 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/Element.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_Element__ +#define __gnu_java_beans_encoder_elements_Element__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ObjectId; + class Writer; + namespace elements + { + class Element; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::Element : public ::java::lang::Object +{ + +public: + Element(); + virtual void initId(::gnu::java::beans::encoder::ObjectId *); + virtual void addChild(::gnu::java::beans::encoder::elements::Element *); + virtual void removeLast(); + virtual ::java::util::Iterator * iterator(); + virtual void clear(); + virtual jboolean isEmpty(); + virtual ::gnu::java::beans::encoder::ObjectId * getId(); + virtual void writeStart(::gnu::java::beans::encoder::Writer *) = 0; + virtual void writeEnd(::gnu::java::beans::encoder::Writer *); +private: + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children; + ::gnu::java::beans::encoder::ObjectId * objectId; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_Element__ diff --git a/libjava/gnu/java/beans/encoder/elements/List_Get.h b/libjava/gnu/java/beans/encoder/elements/List_Get.h new file mode 100644 index 00000000000..cdd65d17631 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/List_Get.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_List_Get__ +#define __gnu_java_beans_encoder_elements_List_Get__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class List_Get; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::List_Get : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + List_Get(); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_List_Get__ diff --git a/libjava/gnu/java/beans/encoder/elements/List_Set.h b/libjava/gnu/java/beans/encoder/elements/List_Set.h new file mode 100644 index 00000000000..444fbac3611 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/List_Set.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_List_Set__ +#define __gnu_java_beans_encoder_elements_List_Set__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class List_Set; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::List_Set : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + List_Set(); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_List_Set__ diff --git a/libjava/gnu/java/beans/encoder/elements/MethodInvocation.h b/libjava/gnu/java/beans/encoder/elements/MethodInvocation.h new file mode 100644 index 00000000000..884d2c85752 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/MethodInvocation.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_MethodInvocation__ +#define __gnu_java_beans_encoder_elements_MethodInvocation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class MethodInvocation; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::MethodInvocation : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + MethodInvocation(::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) methodName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_MethodInvocation__ diff --git a/libjava/gnu/java/beans/encoder/elements/NullObject.h b/libjava/gnu/java/beans/encoder/elements/NullObject.h new file mode 100644 index 00000000000..9c1dca7a2d0 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/NullObject.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_NullObject__ +#define __gnu_java_beans_encoder_elements_NullObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class NullObject; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::NullObject : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + NullObject(); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + virtual void writeEnd(::gnu::java::beans::encoder::Writer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_NullObject__ diff --git a/libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h b/libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h new file mode 100644 index 00000000000..78881858822 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/ObjectInstantiation.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_ObjectInstantiation__ +#define __gnu_java_beans_encoder_elements_ObjectInstantiation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class ObjectInstantiation; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::ObjectInstantiation : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + ObjectInstantiation(::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_ObjectInstantiation__ diff --git a/libjava/gnu/java/beans/encoder/elements/ObjectReference.h b/libjava/gnu/java/beans/encoder/elements/ObjectReference.h new file mode 100644 index 00000000000..9ee28a604f4 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/ObjectReference.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_ObjectReference__ +#define __gnu_java_beans_encoder_elements_ObjectReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ObjectId; + class Writer; + namespace elements + { + class ObjectReference; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::ObjectReference : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + ObjectReference(::gnu::java::beans::encoder::ObjectId *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::gnu::java::beans::encoder::ObjectId * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_ObjectReference__ diff --git a/libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h b/libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h new file mode 100644 index 00000000000..1a04f344ced --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/PrimitiveInstantiation.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_PrimitiveInstantiation__ +#define __gnu_java_beans_encoder_elements_PrimitiveInstantiation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class PrimitiveInstantiation; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::PrimitiveInstantiation : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + PrimitiveInstantiation(::java::lang::String *, ::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + virtual void writeEnd(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) primitiveName; + ::java::lang::String * valueAsString; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_PrimitiveInstantiation__ diff --git a/libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h b/libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h new file mode 100644 index 00000000000..0761cd8503b --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/StaticFieldAccess.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_StaticFieldAccess__ +#define __gnu_java_beans_encoder_elements_StaticFieldAccess__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class StaticFieldAccess; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::StaticFieldAccess : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + StaticFieldAccess(::java::lang::String *, ::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className; + ::java::lang::String * fieldName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_StaticFieldAccess__ diff --git a/libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h b/libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h new file mode 100644 index 00000000000..982c7265439 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/StaticMethodInvocation.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_StaticMethodInvocation__ +#define __gnu_java_beans_encoder_elements_StaticMethodInvocation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class StaticMethodInvocation; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::StaticMethodInvocation : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + StaticMethodInvocation(::java::lang::String *, ::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) className; + ::java::lang::String * methodName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_StaticMethodInvocation__ diff --git a/libjava/gnu/java/beans/encoder/elements/StringReference.h b/libjava/gnu/java/beans/encoder/elements/StringReference.h new file mode 100644 index 00000000000..01b10747022 --- /dev/null +++ b/libjava/gnu/java/beans/encoder/elements/StringReference.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_beans_encoder_elements_StringReference__ +#define __gnu_java_beans_encoder_elements_StringReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class Writer; + namespace elements + { + class StringReference; + } + } + } + } + } +} + +class gnu::java::beans::encoder::elements::StringReference : public ::gnu::java::beans::encoder::elements::Element +{ + +public: + StringReference(::java::lang::String *); + virtual void writeStart(::gnu::java::beans::encoder::Writer *); + virtual void writeEnd(::gnu::java::beans::encoder::Writer *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::beans::encoder::elements::Element)))) string; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_beans_encoder_elements_StringReference__ diff --git a/libjava/gnu/java/io/ASN1ParsingException.h b/libjava/gnu/java/io/ASN1ParsingException.h new file mode 100644 index 00000000000..e29e63cad03 --- /dev/null +++ b/libjava/gnu/java/io/ASN1ParsingException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_ASN1ParsingException__ +#define __gnu_java_io_ASN1ParsingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class ASN1ParsingException; + } + } + } +} + +class gnu::java::io::ASN1ParsingException : public ::java::io::IOException +{ + +public: + ASN1ParsingException(); + ASN1ParsingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_ASN1ParsingException__ diff --git a/libjava/gnu/java/io/Base64InputStream.h b/libjava/gnu/java/io/Base64InputStream.h new file mode 100644 index 00000000000..22568f8001d --- /dev/null +++ b/libjava/gnu/java/io/Base64InputStream.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_Base64InputStream__ +#define __gnu_java_io_Base64InputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class Base64InputStream; + } + } + } +} + +class gnu::java::io::Base64InputStream : public ::java::io::FilterInputStream +{ + +public: + Base64InputStream(::java::io::InputStream *); + static JArray< jbyte > * decode(::java::lang::String *); + virtual jint available(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual jlong skip(jlong); +private: + static ::java::lang::String * BASE_64; + static const jchar BASE_64_PAD = 61; + jint __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) state; + jint temp; + jboolean eof; + JArray< jbyte > * one; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_Base64InputStream__ diff --git a/libjava/gnu/java/io/ClassLoaderObjectInputStream.h b/libjava/gnu/java/io/ClassLoaderObjectInputStream.h new file mode 100644 index 00000000000..e2cac0b6e8e --- /dev/null +++ b/libjava/gnu/java/io/ClassLoaderObjectInputStream.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_ClassLoaderObjectInputStream__ +#define __gnu_java_io_ClassLoaderObjectInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class ClassLoaderObjectInputStream; + } + } + } +} + +class gnu::java::io::ClassLoaderObjectInputStream : public ::java::io::ObjectInputStream +{ + +public: + ClassLoaderObjectInputStream(::java::io::InputStream *, ::java::lang::ClassLoader *); + virtual ::java::lang::Class * resolveClass(::java::lang::String *); +public: // actually package-private + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream)))) myClassLoader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_ClassLoaderObjectInputStream__ diff --git a/libjava/gnu/java/io/NullOutputStream.h b/libjava/gnu/java/io/NullOutputStream.h new file mode 100644 index 00000000000..d2e15e25d11 --- /dev/null +++ b/libjava/gnu/java/io/NullOutputStream.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_NullOutputStream__ +#define __gnu_java_io_NullOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class NullOutputStream; + } + } + } +} + +class gnu::java::io::NullOutputStream : public ::java::io::OutputStream +{ + +public: + NullOutputStream(); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void flush(); + virtual void close(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_NullOutputStream__ diff --git a/libjava/gnu/java/io/ObjectIdentityMap2Int.h b/libjava/gnu/java/io/ObjectIdentityMap2Int.h new file mode 100644 index 00000000000..7ffb5bae5f8 --- /dev/null +++ b/libjava/gnu/java/io/ObjectIdentityMap2Int.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_ObjectIdentityMap2Int__ +#define __gnu_java_io_ObjectIdentityMap2Int__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class ObjectIdentityMap2Int; + } + } + } +} + +class gnu::java::io::ObjectIdentityMap2Int : public ::java::lang::Object +{ + +public: + ObjectIdentityMap2Int(); +private: + void alloc(jint); +public: + virtual void put(::java::lang::Object *, jint); +private: + jint slot(::java::lang::Object *); + void rehash(); +public: + virtual jint get(::java::lang::Object *); + virtual void clear(); +private: + static JArray< jint > * PRIMES; + static ::java::lang::Object * NIL; + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objectTable; + JArray< jint > * intTable; + jint size; + jint cap; + jint limit; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_ObjectIdentityMap2Int__ diff --git a/libjava/gnu/java/io/ObjectIdentityWrapper.h b/libjava/gnu/java/io/ObjectIdentityWrapper.h new file mode 100644 index 00000000000..2718b94e29d --- /dev/null +++ b/libjava/gnu/java/io/ObjectIdentityWrapper.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_ObjectIdentityWrapper__ +#define __gnu_java_io_ObjectIdentityWrapper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class ObjectIdentityWrapper; + } + } + } +} + +class gnu::java::io::ObjectIdentityWrapper : public ::java::lang::Object +{ + +public: + ObjectIdentityWrapper(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) object; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_ObjectIdentityWrapper__ diff --git a/libjava/gnu/java/io/PlatformHelper.h b/libjava/gnu/java/io/PlatformHelper.h new file mode 100644 index 00000000000..31a5fdff918 --- /dev/null +++ b/libjava/gnu/java/io/PlatformHelper.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_io_PlatformHelper__ +#define __gnu_java_io_PlatformHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class PlatformHelper; + } + } + } +} + +class gnu::java::io::PlatformHelper : public ::java::lang::Object +{ + +public: + PlatformHelper(); + static jint beginWithRootPathPrefix(::java::lang::String *); + static jboolean isRootDirectory(::java::lang::String *); + static jboolean endWithSeparator(::java::lang::String *); + static ::java::lang::String * removeTailSeparator(::java::lang::String *); + static jint lastIndexOfSeparator(::java::lang::String *); + static jboolean isWindows; + static ::java::lang::String * separator; + static jchar separatorChar; + static ::java::lang::String * pathSeparator; + static jchar pathSeparatorChar; + static const jint INITIAL_MAX_PATH = 130; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_io_PlatformHelper__ diff --git a/libjava/gnu/java/lang/ArrayHelper.h b/libjava/gnu/java/lang/ArrayHelper.h new file mode 100644 index 00000000000..93b7578f57c --- /dev/null +++ b/libjava/gnu/java/lang/ArrayHelper.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_ArrayHelper__ +#define __gnu_java_lang_ArrayHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + class ArrayHelper; + } + } + } +} + +class gnu::java::lang::ArrayHelper : public ::java::lang::Object +{ + +public: + ArrayHelper(); + static jboolean contains(JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static jint indexOf(JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_ArrayHelper__ diff --git a/libjava/gnu/java/lang/CharData.h b/libjava/gnu/java/lang/CharData.h new file mode 100644 index 00000000000..0a16c891e94 --- /dev/null +++ b/libjava/gnu/java/lang/CharData.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_CharData__ +#define __gnu_java_lang_CharData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + class CharData; + } + } + } +} + +class gnu::java::lang::CharData : public ::java::lang::Object +{ + +public: + static ::java::lang::String * SOURCE; + static JArray< jint > * SHIFT; + static JArray< ::java::lang::String * > * BLOCKS; + static JArray< jint > * LARGENUMS; + static JArray< ::java::lang::String * > * DATA; + static JArray< ::java::lang::String * > * NUM_VALUE; + static JArray< ::java::lang::String * > * UPPER; + static JArray< ::java::lang::String * > * LOWER; + static JArray< ::java::lang::String * > * DIRECTION; + static ::java::lang::String * TITLE; + static ::java::lang::String * UPPER_SPECIAL; + static ::java::lang::String * UPPER_EXPAND; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_lang_CharData__ diff --git a/libjava/gnu/java/lang/ClassHelper.h b/libjava/gnu/java/lang/ClassHelper.h new file mode 100644 index 00000000000..d42070e9a00 --- /dev/null +++ b/libjava/gnu/java/lang/ClassHelper.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_ClassHelper__ +#define __gnu_java_lang_ClassHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + class ClassHelper; + } + } + } +} + +class gnu::java::lang::ClassHelper : public ::java::lang::Object +{ + +public: + ClassHelper(); + static ::java::lang::String * getTruncatedClassName(::java::lang::Class *); + static ::java::lang::String * getTruncatedName(::java::lang::String *); + static ::java::lang::String * getUserName(::java::lang::Class *); + static JArray< ::java::lang::reflect::Method * > * getAllMethods(::java::lang::Class *); + static JArray< ::java::lang::reflect::Field * > * getAllFields(::java::lang::Class *); +private: + static ::java::util::Map * allMethods; + static ::java::util::Map * allFields; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_ClassHelper__ diff --git a/libjava/gnu/java/lang/InstrumentationImpl.h b/libjava/gnu/java/lang/InstrumentationImpl.h new file mode 100644 index 00000000000..675626e9b31 --- /dev/null +++ b/libjava/gnu/java/lang/InstrumentationImpl.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_InstrumentationImpl__ +#define __gnu_java_lang_InstrumentationImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + class InstrumentationImpl; + } + } + } + namespace java + { + namespace security + { + class ProtectionDomain; + } + } +} + +class gnu::java::lang::InstrumentationImpl : public ::java::lang::Object +{ + +public: // actually package-private + InstrumentationImpl(); +public: + void addTransformer(::java::lang::instrument::ClassFileTransformer *); + jboolean removeTransformer(::java::lang::instrument::ClassFileTransformer *); + jboolean isRedefineClassesSupported(); + void redefineClasses(JArray< ::java::lang::instrument::ClassDefinition * > *); + JArray< ::java::lang::Class * > * getAllLoadedClasses(); + JArray< ::java::lang::Class * > * getInitiatedClasses(::java::lang::ClassLoader *); + jlong getObjectSize(::java::lang::Object *); + JArray< jbyte > * callTransformers(::java::lang::ClassLoader *, ::java::lang::String *, ::java::lang::Class *, ::java::security::ProtectionDomain *, JArray< jbyte > *); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) transformers; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_InstrumentationImpl__ diff --git a/libjava/gnu/java/lang/MainThread.h b/libjava/gnu/java/lang/MainThread.h new file mode 100644 index 00000000000..d92d04dc868 --- /dev/null +++ b/libjava/gnu/java/lang/MainThread.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_MainThread__ +#define __gnu_java_lang_MainThread__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + class MainThread; + } + } + } +} + +class gnu::java::lang::MainThread : public ::java::lang::Thread +{ + +public: + MainThread(::java::lang::Class *, JArray< ::java::lang::String * > *); + MainThread(::java::lang::String *, JArray< ::java::lang::String * > *, jboolean); + void run(); +private: + ::java::lang::String * getMain(::java::lang::String *); + void call_main(); +public: // actually package-private + static ::java::lang::Class * Kcert; + static ::java::lang::Class * Kfile; + static ::java::lang::Class * Khttp; + static ::java::lang::Class * Kjar; + static ::java::lang::Class * Klocale; + static ::java::lang::Class * Kcalendar; +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) klass; + ::java::lang::String * klass_name; + JArray< ::java::lang::String * > * args; + jboolean is_jar; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_MainThread__ diff --git a/libjava/gnu/java/lang/VMInstrumentationImpl.h b/libjava/gnu/java/lang/VMInstrumentationImpl.h new file mode 100644 index 00000000000..1b647a3ecfe --- /dev/null +++ b/libjava/gnu/java/lang/VMInstrumentationImpl.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_VMInstrumentationImpl__ +#define __gnu_java_lang_VMInstrumentationImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + class VMInstrumentationImpl; + } + } + } +} + +class gnu::java::lang::VMInstrumentationImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMInstrumentationImpl(); + static jboolean isRedefineClassesSupported(); + static void redefineClasses(::java::lang::instrument::Instrumentation *, JArray< ::java::lang::instrument::ClassDefinition * > *); + static JArray< ::java::lang::Class * > * getAllLoadedClasses(); + static JArray< ::java::lang::Class * > * getInitiatedClasses(::java::lang::ClassLoader *); + static jlong getObjectSize(::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_VMInstrumentationImpl__ diff --git a/libjava/gnu/java/lang/management/BeanImpl.h b/libjava/gnu/java/lang/management/BeanImpl.h new file mode 100644 index 00000000000..56b8a050cb3 --- /dev/null +++ b/libjava/gnu/java/lang/management/BeanImpl.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_BeanImpl__ +#define __gnu_java_lang_management_BeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class BeanImpl; + } + } + } + } + namespace javax + { + namespace management + { + class MBeanInfo; + class MBeanParameterInfo; + namespace openmbean + { + class OpenMBeanInfo; + class OpenMBeanParameterInfo; + class OpenType; + } + } + } +} + +class gnu::java::lang::management::BeanImpl : public ::javax::management::StandardMBean +{ + +public: // actually protected + BeanImpl(::java::lang::Class *); + virtual void cacheMBeanInfo(::javax::management::MBeanInfo *); + virtual void checkMonitorPermissions(); + virtual void checkControlPermissions(); +public: + virtual ::java::lang::Object * getAttribute(::java::lang::String *); +public: // actually protected + virtual ::javax::management::MBeanInfo * getCachedMBeanInfo(); +public: + virtual ::javax::management::MBeanInfo * getMBeanInfo(); +private: + ::javax::management::openmbean::OpenType * getTypeFromClass(::java::lang::Class *); + JArray< ::javax::management::openmbean::OpenMBeanParameterInfo * > * translateSignature(JArray< ::javax::management::MBeanParameterInfo * > *); + ::javax::management::openmbean::OpenMBeanParameterInfo * translate(::java::lang::String *); + ::javax::management::openmbean::OpenMBeanInfo * __attribute__((aligned(__alignof__( ::javax::management::StandardMBean)))) openInfo; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_BeanImpl__ diff --git a/libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h b/libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h new file mode 100644 index 00000000000..c03db232426 --- /dev/null +++ b/libjava/gnu/java/lang/management/ClassLoadingMXBeanImpl.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_ClassLoadingMXBeanImpl__ +#define __gnu_java_lang_management_ClassLoadingMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class ClassLoadingMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::ClassLoadingMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + ClassLoadingMXBeanImpl(); + jint getLoadedClassCount(); + jlong getTotalLoadedClassCount(); + jlong getUnloadedClassCount(); + jboolean isVerbose(); + void setVerbose(jboolean); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_ClassLoadingMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/CompilationMXBeanImpl.h b/libjava/gnu/java/lang/management/CompilationMXBeanImpl.h new file mode 100644 index 00000000000..c11d3fb8389 --- /dev/null +++ b/libjava/gnu/java/lang/management/CompilationMXBeanImpl.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_CompilationMXBeanImpl__ +#define __gnu_java_lang_management_CompilationMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class CompilationMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::CompilationMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + CompilationMXBeanImpl(); + ::java::lang::String * getName(); + jboolean isCompilationTimeMonitoringSupported(); + jlong getTotalCompilationTime(); +private: + static ::java::lang::String * COMPILER_NAME; + static ::java::lang::String * COMPILATION_TIME_SUPPORT; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_CompilationMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h b/libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h new file mode 100644 index 00000000000..cfefdb653e3 --- /dev/null +++ b/libjava/gnu/java/lang/management/GarbageCollectorMXBeanImpl.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_GarbageCollectorMXBeanImpl__ +#define __gnu_java_lang_management_GarbageCollectorMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class GarbageCollectorMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::GarbageCollectorMXBeanImpl : public ::gnu::java::lang::management::MemoryManagerMXBeanImpl +{ + +public: + GarbageCollectorMXBeanImpl(::java::lang::String *); + jlong getCollectionCount(); + jlong getCollectionTime(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_GarbageCollectorMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h b/libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h new file mode 100644 index 00000000000..0be0fe815ae --- /dev/null +++ b/libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_MemoryMXBeanImpl$ListenerData__ +#define __gnu_java_lang_management_MemoryMXBeanImpl$ListenerData__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class MemoryMXBeanImpl; + class MemoryMXBeanImpl$ListenerData; + } + } + } + } + namespace javax + { + namespace management + { + class NotificationFilter; + class NotificationListener; + } + } +} + +class gnu::java::lang::management::MemoryMXBeanImpl$ListenerData : public ::java::lang::Object +{ + +public: + MemoryMXBeanImpl$ListenerData(::gnu::java::lang::management::MemoryMXBeanImpl *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual ::javax::management::NotificationListener * getListener(); + virtual ::javax::management::NotificationFilter * getFilter(); + virtual ::java::lang::Object * getPassback(); + virtual jboolean equals(::java::lang::Object *); +private: + ::javax::management::NotificationListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener; + ::javax::management::NotificationFilter * filter; + ::java::lang::Object * passback; +public: // actually package-private + ::gnu::java::lang::management::MemoryMXBeanImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_MemoryMXBeanImpl$ListenerData__ diff --git a/libjava/gnu/java/lang/management/MemoryMXBeanImpl.h b/libjava/gnu/java/lang/management/MemoryMXBeanImpl.h new file mode 100644 index 00000000000..3c87a0f355b --- /dev/null +++ b/libjava/gnu/java/lang/management/MemoryMXBeanImpl.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_MemoryMXBeanImpl__ +#define __gnu_java_lang_management_MemoryMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class MemoryMXBeanImpl; + } + } + } + } + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + class NotificationFilter; + class NotificationListener; + namespace openmbean + { + class CompositeType; + } + } + } +} + +class gnu::java::lang::management::MemoryMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + MemoryMXBeanImpl(); + void gc(); + ::java::lang::management::MemoryUsage * getHeapMemoryUsage(); + ::java::lang::management::MemoryUsage * getNonHeapMemoryUsage(); + jint getObjectPendingFinalizationCount(); + jboolean isVerbose(); + void setVerbose(jboolean); + void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo(); + void removeNotificationListener(::javax::management::NotificationListener *); + void removeNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); +public: // actually package-private + void fireNotification(::java::lang::String *, ::java::lang::String *, jlong, jlong, jlong, jlong, jlong); + void fireThresholdExceededNotification(::java::lang::String *, jlong, jlong, jlong, jlong, jlong); + void fireCollectionThresholdExceededNotification(::java::lang::String *, jlong, jlong, jlong, jlong, jlong); +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) listeners; + jlong notificationCount; +public: + static ::javax::management::openmbean::CompositeType * notifType; + static ::javax::management::openmbean::CompositeType * usageType; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_MemoryMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h b/libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h new file mode 100644 index 00000000000..2ddbf70eac1 --- /dev/null +++ b/libjava/gnu/java/lang/management/MemoryManagerMXBeanImpl.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_MemoryManagerMXBeanImpl__ +#define __gnu_java_lang_management_MemoryManagerMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class MemoryManagerMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::MemoryManagerMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + MemoryManagerMXBeanImpl(::java::lang::String *); +public: // actually protected + MemoryManagerMXBeanImpl(::java::lang::String *, ::java::lang::Class *); +public: + virtual JArray< ::java::lang::String * > * getMemoryPoolNames(); + virtual ::java::lang::String * getName(); + virtual jboolean isValid(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_MemoryManagerMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h b/libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h new file mode 100644 index 00000000000..ff3734d2858 --- /dev/null +++ b/libjava/gnu/java/lang/management/MemoryPoolMXBeanImpl.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_MemoryPoolMXBeanImpl__ +#define __gnu_java_lang_management_MemoryPoolMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class MemoryPoolMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::MemoryPoolMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + MemoryPoolMXBeanImpl(::java::lang::String *); + ::java::lang::management::MemoryUsage * getCollectionUsage(); + jlong getCollectionUsageThreshold(); + jlong getCollectionUsageThresholdCount(); + JArray< ::java::lang::String * > * getMemoryManagerNames(); + ::java::lang::String * getName(); + ::java::lang::management::MemoryUsage * getPeakUsage(); + ::java::lang::management::MemoryType * getType(); + ::java::lang::management::MemoryUsage * getUsage(); + jlong getUsageThreshold(); + jlong getUsageThresholdCount(); + jboolean isCollectionUsageThresholdExceeded(); + jboolean isCollectionUsageThresholdSupported(); + jboolean isUsageThresholdExceeded(); + jboolean isUsageThresholdSupported(); + jboolean isValid(); + void resetPeakUsage(); + void setCollectionUsageThreshold(jlong); + void setUsageThreshold(jlong); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) name; + static ::java::lang::String * COLLECTION_USAGE_THRESHOLD; + static ::java::lang::String * USAGE_THRESHOLD; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_MemoryPoolMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h b/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h new file mode 100644 index 00000000000..41385fe2542 --- /dev/null +++ b/libjava/gnu/java/lang/management/OperatingSystemMXBeanImpl.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_OperatingSystemMXBeanImpl__ +#define __gnu_java_lang_management_OperatingSystemMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class OperatingSystemMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::OperatingSystemMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + OperatingSystemMXBeanImpl(); + ::java::lang::String * getArch(); + jint getAvailableProcessors(); + ::java::lang::String * getName(); + ::java::lang::String * getVersion(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_OperatingSystemMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h b/libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h new file mode 100644 index 00000000000..f46f6df2c5a --- /dev/null +++ b/libjava/gnu/java/lang/management/RuntimeMXBeanImpl.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_RuntimeMXBeanImpl__ +#define __gnu_java_lang_management_RuntimeMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class RuntimeMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::RuntimeMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + RuntimeMXBeanImpl(); + ::java::lang::String * getBootClassPath(); + ::java::lang::String * getClassPath(); + ::java::util::List * getInputArguments(); + ::java::lang::String * getLibraryPath(); + ::java::lang::String * getManagementSpecVersion(); + ::java::lang::String * getName(); + ::java::lang::String * getSpecName(); + ::java::lang::String * getSpecVendor(); + ::java::lang::String * getSpecVersion(); + jlong getStartTime(); + ::java::util::Map * getSystemProperties(); + jlong getUptime(); + ::java::lang::String * getVmName(); + ::java::lang::String * getVmVendor(); + ::java::lang::String * getVmVersion(); + jboolean isBootClassPathSupported(); +private: + static ::java::lang::String * SUN_BOOT_CLASS_PATH; + static ::java::lang::String * JAVA_BOOT_CLASS_PATH; + jlong __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) startTime; + ::java::lang::String * bootClassPath; + jboolean bootClassPathSupported; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_RuntimeMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h b/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h new file mode 100644 index 00000000000..3a8fd5f3033 --- /dev/null +++ b/libjava/gnu/java/lang/management/ThreadMXBeanImpl.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_ThreadMXBeanImpl__ +#define __gnu_java_lang_management_ThreadMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class ThreadMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::ThreadMXBeanImpl : public ::gnu::java::lang::management::BeanImpl +{ + +public: + ThreadMXBeanImpl(); + JArray< jlong > * findMonitorDeadlockedThreads(); + JArray< jlong > * getAllThreadIds(); + jlong getCurrentThreadCpuTime(); + jlong getCurrentThreadUserTime(); + jint getDaemonThreadCount(); + jint getPeakThreadCount(); + jint getThreadCount(); + jlong getThreadCpuTime(jlong); + ::java::lang::management::ThreadInfo * getThreadInfo(jlong); + JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *); + ::java::lang::management::ThreadInfo * getThreadInfo(jlong, jint); + JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jint); + jlong getThreadUserTime(jlong); + jlong getTotalStartedThreadCount(); + jboolean isCurrentThreadCpuTimeSupported(); + jboolean isThreadContentionMonitoringEnabled(); + jboolean isThreadContentionMonitoringSupported(); + jboolean isThreadCpuTimeEnabled(); + jboolean isThreadCpuTimeSupported(); + void resetPeakThreadCount(); + void setThreadContentionMonitoringEnabled(jboolean); + void setThreadCpuTimeEnabled(jboolean); +private: + static ::java::lang::String * CURRENT_THREAD_TIME_SUPPORT; + static ::java::lang::String * THREAD_TIME_SUPPORT; + static ::java::lang::String * CONTENTION_SUPPORT; + static ::java::lang::String * TIME_ENABLED; + jboolean __attribute__((aligned(__alignof__( ::gnu::java::lang::management::BeanImpl)))) timeEnabled; + jboolean contentionEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_ThreadMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h new file mode 100644 index 00000000000..b381004460f --- /dev/null +++ b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMClassLoadingMXBeanImpl__ +#define __gnu_java_lang_management_VMClassLoadingMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMClassLoadingMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMClassLoadingMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMClassLoadingMXBeanImpl(); + static jint getLoadedClassCount(); + static jlong getUnloadedClassCount(); + static jboolean isVerbose(); + static void setVerbose(jboolean); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMClassLoadingMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java index 77ddbf5eb51..c1c7d13dd44 100644 --- a/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java @@ -55,10 +55,7 @@ final class VMClassLoadingMXBeanImpl * * @return the number of loaded classes. */ - static int getLoadedClassCount() - { - return -1; - } + static native int getLoadedClassCount(); /** * Returns the number of classes that have been unloaded @@ -66,10 +63,7 @@ final class VMClassLoadingMXBeanImpl * * @return the number of unloaded classes. */ - static long getUnloadedClassCount() - { - return -1; - } + static native long getUnloadedClassCount(); /** * Returns true if the virtual machine will emit additional @@ -78,10 +72,7 @@ final class VMClassLoadingMXBeanImpl * * @return true if verbose class loading output is on. */ - static boolean isVerbose() - { - return false; - } + static native boolean isVerbose(); /** * Turns on or off the emission of additional information @@ -93,8 +84,6 @@ final class VMClassLoadingMXBeanImpl * @param verbose the new setting for verbose class loading * output. */ - static void setVerbose(boolean verbose) - { - } + static native void setVerbose(boolean verbose); } diff --git a/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h new file mode 100644 index 00000000000..31967e13424 --- /dev/null +++ b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMCompilationMXBeanImpl__ +#define __gnu_java_lang_management_VMCompilationMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMCompilationMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMCompilationMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMCompilationMXBeanImpl(); + static jlong getTotalCompilationTime(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMCompilationMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java index d529cdc8c44..b9b5bbcefc7 100644 --- a/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java @@ -61,9 +61,6 @@ final class VMCompilationMXBeanImpl * @return the number of milliseconds spent * compiling. */ - static long getTotalCompilationTime() - { - return -1; - } + static native long getTotalCompilationTime(); } diff --git a/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h new file mode 100644 index 00000000000..b01f97cd8a4 --- /dev/null +++ b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMGarbageCollectorMXBeanImpl__ +#define __gnu_java_lang_management_VMGarbageCollectorMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMGarbageCollectorMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMGarbageCollectorMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMGarbageCollectorMXBeanImpl(); + static jlong getCollectionCount(::java::lang::String *); + static jlong getCollectionTime(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMGarbageCollectorMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java index b56efa954c1..2a202849a8f 100644 --- a/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java @@ -61,10 +61,7 @@ final class VMGarbageCollectorMXBeanImpl * @return the number of collections made, or -1 if this is * undefined. */ - static long getCollectionCount(String name) - { - return -1; - } + static native long getCollectionCount(String name); /** * Returns the accumulated number of milliseconds this garbage @@ -78,9 +75,6 @@ final class VMGarbageCollectorMXBeanImpl * @return the accumulated number of milliseconds spent collecting, * or -1 if this is undefined. */ - static long getCollectionTime(String name) - { - return -1; - } + static native long getCollectionTime(String name); } diff --git a/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h new file mode 100644 index 00000000000..a31c551c36f --- /dev/null +++ b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMMemoryMXBeanImpl__ +#define __gnu_java_lang_management_VMMemoryMXBeanImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMMemoryMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMMemoryMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMMemoryMXBeanImpl(); + static ::java::lang::management::MemoryUsage * getHeapMemoryUsage(); + static ::java::lang::management::MemoryUsage * getNonHeapMemoryUsage(); + static jint getObjectPendingFinalizationCount(); + static jboolean isVerbose(); + static void setVerbose(jboolean); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMMemoryMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java index 660de5eb707..193e3353517 100644 --- a/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java @@ -76,20 +76,14 @@ final class VMMemoryMXBeanImpl * @return an {@link java.lang.management.MemoryUsage} instance * for non-heap memory. */ - static MemoryUsage getNonHeapMemoryUsage() - { - return null; - } + static native MemoryUsage getNonHeapMemoryUsage(); /** * Returns the number of objects ready to be garbage collected. * * @return the number of finalizable objects. */ - static int getObjectPendingFinalizationCount() - { - return -1; - } + static native int getObjectPendingFinalizationCount(); /** * Returns true if the virtual machine will emit additional @@ -98,10 +92,7 @@ final class VMMemoryMXBeanImpl * * @return true if verbose class loading output is on. */ - static boolean isVerbose() - { - return false; - } + static native boolean isVerbose(); /** * Turns on or off the emission of additional information @@ -113,8 +104,6 @@ final class VMMemoryMXBeanImpl * @param verbose the new setting for verbose class loading * output. */ - static void setVerbose(boolean verbose) - { - } + static native void setVerbose(boolean verbose); } diff --git a/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h new file mode 100644 index 00000000000..3a174c82a8a --- /dev/null +++ b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMMemoryManagerMXBeanImpl__ +#define __gnu_java_lang_management_VMMemoryManagerMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMMemoryManagerMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMMemoryManagerMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMMemoryManagerMXBeanImpl(); + static JArray< ::java::lang::String * > * getMemoryPoolNames(::java::lang::String *); + static jboolean isValid(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMMemoryManagerMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java index 2db4cf4c14b..0a4204a6d57 100644 --- a/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java @@ -90,9 +90,6 @@ final class VMMemoryManagerMXBeanImpl * @param name the name of the memory manager. * @return true if this memory manager is valid. */ - static boolean isValid(String name) - { - return false; - } + static native boolean isValid(String name); } diff --git a/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h new file mode 100644 index 00000000000..623162ee886 --- /dev/null +++ b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMMemoryPoolMXBeanImpl__ +#define __gnu_java_lang_management_VMMemoryPoolMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMMemoryPoolMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMMemoryPoolMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMMemoryPoolMXBeanImpl(); + static ::java::lang::management::MemoryUsage * getCollectionUsage(::java::lang::String *); + static jlong getCollectionUsageThreshold(::java::lang::String *); + static jlong getCollectionUsageThresholdCount(::java::lang::String *); + static JArray< ::java::lang::String * > * getMemoryManagerNames(::java::lang::String *); + static ::java::lang::management::MemoryUsage * getPeakUsage(::java::lang::String *); + static ::java::lang::String * getType(::java::lang::String *); + static ::java::lang::management::MemoryUsage * getUsage(::java::lang::String *); + static jlong getUsageThreshold(::java::lang::String *); + static jlong getUsageThresholdCount(::java::lang::String *); + static jboolean isValid(::java::lang::String *); + static void resetPeakUsage(::java::lang::String *); + static void setCollectionUsageThreshold(::java::lang::String *, jlong); + static void setUsageThreshold(::java::lang::String *, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMMemoryPoolMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java index d0f85b68425..723d4e89713 100644 --- a/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java @@ -59,10 +59,7 @@ final class VMMemoryPoolMXBeanImpl * containing the statistics or null * if this pool does not support such statistics. */ - static MemoryUsage getCollectionUsage(String name) - { - return null; - } + static native MemoryUsage getCollectionUsage(String name); /** * Returns the collection usage threshold for the specified pool. @@ -74,10 +71,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to obtain statistics on. * @return the collection usage threshold. */ - static long getCollectionUsageThreshold(String name) - { - return -1; - } + static native long getCollectionUsageThreshold(String name); /** * Returns the number of times the collection usage threshold @@ -90,10 +84,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to obtain statistics on. * @return the collection usage threshold count. */ - static long getCollectionUsageThresholdCount(String name) - { - return -1; - } + static native long getCollectionUsageThresholdCount(String name); /** * Returns an array of names of memory managers which manage @@ -102,10 +93,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to obtain statistics on. * @return a list of memory managers for the pool. */ - static String[] getMemoryManagerNames(String name) - { - return new String[0]; - } + static native String[] getMemoryManagerNames(String name); /** * Returns the peak usage level of the specified pool. @@ -115,22 +103,16 @@ final class VMMemoryPoolMXBeanImpl * @return a {@link java.lang.management.MemoryUsage} object * containing the statistics. */ - static MemoryUsage getPeakUsage(String name) - { - return null; - } + static native MemoryUsage getPeakUsage(String name); /** - * Returns the type of memory used by the specified pool. + * Returns the type of memory used by the specified pool. * The value must be either "HEAP" or "NON_HEAP". * * @param name the name of the pool to obtain statistics on. * @return the type of the given pool. */ - static String getType(String name) - { - return "HEAP"; - } + static native String getType(String name); /** * Returns the current usage level of the specified pool. @@ -140,10 +122,7 @@ final class VMMemoryPoolMXBeanImpl * @return a {@link java.lang.management.MemoryUsage} object * containing the statistics. */ - static MemoryUsage getUsage(String name) - { - return null; - } + static native MemoryUsage getUsage(String name); /** * Returns the usage threshold for the specified pool. @@ -156,10 +135,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to obtain statistics on. * @return the usage threshold. */ - static long getUsageThreshold(String name) - { - return -1; - } + static native long getUsageThreshold(String name); /** * Returns the number of times the usage threshold @@ -172,10 +148,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to obtain statistics on. * @return the usage threshold count. */ - static long getUsageThresholdCount(String name) - { - return -1; - } + static native long getUsageThresholdCount(String name); /** * Returns true if the specified pool is still valid i.e. @@ -184,10 +157,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to check the validity of. * @return true if the pool is valid. */ - static boolean isValid(String name) - { - return false; - } + static native boolean isValid(String name); /** * Resets the peak usage level to the current usage level for @@ -195,9 +165,7 @@ final class VMMemoryPoolMXBeanImpl * * @param name the name of the pool to reset the peak usage of. */ - static void resetPeakUsage(String name) - { - } + static native void resetPeakUsage(String name); /** * Sets the collection usage threshold for the specified @@ -210,9 +178,7 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to set the threshold of. * @param threshold the new threshold level. */ - static void setCollectionUsageThreshold(String name, long threshold) - { - } + static native void setCollectionUsageThreshold(String name, long threshold); /** * Sets the usage threshold for the specified pool to the supplied value. @@ -224,8 +190,6 @@ final class VMMemoryPoolMXBeanImpl * @param name the name of the pool to set the threshold of. * @param threshold the new threshold level. */ - static void setUsageThreshold(String name, long threshold) - { - } + static native void setUsageThreshold(String name, long threshold); } diff --git a/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h new file mode 100644 index 00000000000..9bd0e442250 --- /dev/null +++ b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMRuntimeMXBeanImpl__ +#define __gnu_java_lang_management_VMRuntimeMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMRuntimeMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMRuntimeMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMRuntimeMXBeanImpl(); + static JArray< ::java::lang::String * > * getInputArguments(); + static ::java::lang::String * getName(); + static jlong getStartTime(); +private: + static jlong getPID(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMRuntimeMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java index bbfceb6ffd7..05d368a9e24 100644 --- a/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMRuntimeMXBeanImpl.java @@ -39,6 +39,9 @@ package gnu.java.lang.management; import gnu.classpath.SystemProperties; +import java.net.InetAddress; +import java.net.UnknownHostException; + /** * Provides access to information about the virtual machine. * @@ -55,10 +58,7 @@ final class VMRuntimeMXBeanImpl * * @return the command-line arguments. */ - static String[] getInputArguments() - { - return new String[0]; - } + static native String[] getInputArguments(); /** * Returns a developer-chosen name for the virtual @@ -75,8 +75,18 @@ final class VMRuntimeMXBeanImpl */ static String getName() { + String hostName; + try + { + hostName = InetAddress.getLocalHost().getHostName(); + } + catch (UnknownHostException e) + { + hostName = "Unknown host"; + } return SystemProperties.getProperty("java.vm.name") + " " + - SystemProperties.getProperty("java.vm.version"); + SystemProperties.getProperty("java.vm.version") + " [" + + getPID() + "@" + hostName + "]"; } /** @@ -87,9 +97,13 @@ final class VMRuntimeMXBeanImpl * * @return the VM start time. */ - static long getStartTime() - { - return -1; - } + static native long getStartTime(); + + /** + * The process identifier of the runtime. + * + * @return the PID of the runtime. + */ + private static native long getPID(); } diff --git a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h new file mode 100644 index 00000000000..77577f7668e --- /dev/null +++ b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_management_VMThreadMXBeanImpl__ +#define __gnu_java_lang_management_VMThreadMXBeanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace management + { + class VMThreadMXBeanImpl; + } + } + } + } +} + +class gnu::java::lang::management::VMThreadMXBeanImpl : public ::java::lang::Object +{ + +public: // actually package-private + VMThreadMXBeanImpl(); + static JArray< jlong > * findMonitorDeadlockedThreads(); + static JArray< ::java::lang::Thread * > * getAllThreads(); + static JArray< jlong > * getAllThreadIds(); + static jlong getCurrentThreadCpuTime(); + static jlong getCurrentThreadUserTime(); + static jint getDaemonThreadCount(); + static jint getPeakThreadCount(); + static jint getThreadCount(); + static jlong getThreadCpuTime(jlong); + static ::java::lang::management::ThreadInfo * getThreadInfoForId(jlong, jint); + static jlong getThreadUserTime(jlong); + static jlong getTotalStartedThreadCount(); + static void resetPeakThreadCount(); +private: + static jint filled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_management_VMThreadMXBeanImpl__ diff --git a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java index 3478372c6c5..c5bcb631055 100644 --- a/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java +++ b/libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java @@ -64,10 +64,7 @@ final class VMThreadMXBeanImpl * * @return the ids of the deadlocked threads. */ - static long[] findMonitorDeadlockedThreads() - { - return new long[0]; - } + static native long[] findMonitorDeadlockedThreads(); /* This is the same as in Thread.getAllStackTraces() */ static Thread[] getAllThreads() @@ -110,10 +107,7 @@ final class VMThreadMXBeanImpl * @return the nanoseconds of CPU time used by * the current thread. */ - static long getCurrentThreadCpuTime() - { - return -1; - } + static native long getCurrentThreadCpuTime(); /** * Returns the number of nanoseconds of user time @@ -124,10 +118,7 @@ final class VMThreadMXBeanImpl * @return the nanoseconds of user time used by * the current thread. */ - static long getCurrentThreadUserTime() - { - return -1; - } + static native long getCurrentThreadUserTime(); /** * Returns the number of live daemon threads. @@ -151,10 +142,7 @@ final class VMThreadMXBeanImpl * * @return the peak number of live threads. */ - static int getPeakThreadCount() - { - return -1; - } + static native int getPeakThreadCount(); /** * Returns the number of live threads. @@ -177,10 +165,7 @@ final class VMThreadMXBeanImpl * @return the nanoseconds of CPU time used by * the thread. */ - static long getThreadCpuTime(long id) - { - return -1; - } + static native long getThreadCpuTime(long id); /** * Returns the {@link java.lang.management.ThreadInfo} @@ -190,10 +175,7 @@ final class VMThreadMXBeanImpl * @param maxDepth the depth of the stack trace. * @return the corresponding ThreadInfo. */ - static ThreadInfo getThreadInfoForId(long id, int maxDepth) - { - return null; - } + static native ThreadInfo getThreadInfoForId(long id, int maxDepth); /** * Returns the number of nanoseconds of user time @@ -205,10 +187,7 @@ final class VMThreadMXBeanImpl * @return the nanoseconds of user time used by * the thread. */ - static long getThreadUserTime(long id) - { - return -1; - } + static native long getThreadUserTime(long id); /** * Returns the total number of threads that have @@ -217,17 +196,12 @@ final class VMThreadMXBeanImpl * * @return the total number of threads started. */ - static long getTotalStartedThreadCount() - { - return -1; - } + static native long getTotalStartedThreadCount(); /** * Resets the peak thread count to the current * number of live threads. */ - static void resetPeakThreadCount() - { - } + static native void resetPeakThreadCount(); } diff --git a/libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc new file mode 100644 index 00000000000..5958b1f1dc9 --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc @@ -0,0 +1,49 @@ +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +/** + * @author Andrew John Hughes + * @date Sun 20 Aug 2006 */ +/* Written using online API docs for JDK 1.5 beta from http://java.sun.com. + * Status: Believed complete and correct. + */ + +#include + +#include + +#include + +jint +gnu::java::lang::management::VMClassLoadingMXBeanImpl::getLoadedClassCount () +{ + /* FIXME: We never unload, so this never goes down again */ + return ::gcj::loadedClasses; +} + + +jlong +gnu::java::lang::management::VMClassLoadingMXBeanImpl::getUnloadedClassCount () +{ + /* FIXME: We never unload, so this always == 0 */ + return ::gcj::unloadedClasses; +} + + +jboolean +gnu::java::lang::management::VMClassLoadingMXBeanImpl::isVerbose () +{ + return ::gcj::verbose_class_flag; +} + + +void +gnu::java::lang::management::VMClassLoadingMXBeanImpl::setVerbose (jboolean b) +{ + ::gcj::verbose_class_flag = b; +} diff --git a/libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc new file mode 100644 index 00000000000..4ccadcb3c1b --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMCompilationMXBeanImpl.cc @@ -0,0 +1,11 @@ +#include + +#include +#include +#include + +jlong +gnu::java::lang::management::VMCompilationMXBeanImpl::getTotalCompilationTime () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMCompilationMXBeanImpl::getTotalCompilationTime () not implemented")); +} diff --git a/libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc new file mode 100644 index 00000000000..3e4f999fefa --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc @@ -0,0 +1,18 @@ +#include + +#include +#include +#include + +jlong +gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionCount (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionCount (::java::lang::String *) not implemented")); +} + + +jlong +gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionTime (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMGarbageCollectorMXBeanImpl::getCollectionTime (::java::lang::String *) not implemented")); +} diff --git a/libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc new file mode 100644 index 00000000000..8b59815f551 --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMMemoryMXBeanImpl.cc @@ -0,0 +1,47 @@ +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +/** + * @author Andrew John Hughes + * @date Tue 08 Aug 2006 */ +/* + * Status: Stubbed. + */ + +#include + +#include +#include +#include + +::java::lang::management::MemoryUsage * +gnu::java::lang::management::VMMemoryMXBeanImpl::getNonHeapMemoryUsage () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::getNonHeapMemoryUsage () not implemented")); +} + + +jint +gnu::java::lang::management::VMMemoryMXBeanImpl::getObjectPendingFinalizationCount () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::getObjectPendingFinalizationCount () not implemented")); +} + + +jboolean +gnu::java::lang::management::VMMemoryMXBeanImpl::isVerbose () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::isVerbose () not implemented")); +} + + +void +gnu::java::lang::management::VMMemoryMXBeanImpl::setVerbose (jboolean) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryMXBeanImpl::setVerbose (jboolean) not implemented")); +} diff --git a/libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc new file mode 100644 index 00000000000..8d8a3e6e788 --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc @@ -0,0 +1,11 @@ +#include + +#include +#include +#include + +jboolean +gnu::java::lang::management::VMMemoryManagerMXBeanImpl::isValid (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryManagerMXBeanImpl::isValid (::java::lang::String *) not implemented")); +} diff --git a/libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc new file mode 100644 index 00000000000..b7a250955ad --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc @@ -0,0 +1,111 @@ +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +/** + * @author Andrew John Hughes + * @date Tue 08 Aug 2006 */ +/* Implemented for our sole pool, the heap (we ignore the name input). + * Status: Stubbed. + */ + +#include + +#include +#include +#include + +::java::lang::management::MemoryUsage * +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsage(jstring n) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsage (::java::lang::String *) not implemented")); +} + + +jlong +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThreshold (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThreshold (::java::lang::String *) not implemented")); +} + + +jlong +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThresholdCount (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getCollectionUsageThresholdCount (::java::lang::String *) not implemented")); +} + + +JArray< ::java::lang::String *> * +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getMemoryManagerNames(jstring n) +{ + return (JArray*) + JvNewObjectArray(1, &::java::lang::String::class$, JvNewStringLatin1("BoehmGC")); +} + + +::java::lang::management::MemoryUsage * +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getPeakUsage (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getPeakUsage (::java::lang::String *) not implemented")); +} + + +::java::lang::String * +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getType (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getType (::java::lang::String *) not implemented")); +} + + +::java::lang::management::MemoryUsage * +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsage (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsage (::java::lang::String *) not implemented")); +} + + +jlong +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThreshold (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThreshold (::java::lang::String *) not implemented")); +} + + +jlong +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThresholdCount (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::getUsageThresholdCount (::java::lang::String *) not implemented")); +} + + +jboolean +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::isValid (::java::lang::String *) +{ + return true; +} + + +void +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::resetPeakUsage (::java::lang::String *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::resetPeakUsage (::java::lang::String *) not implemented")); +} + + +void +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setCollectionUsageThreshold (::java::lang::String *, jlong) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setCollectionUsageThreshold (::java::lang::String *, jlong) not implemented")); +} + + +void +gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setUsageThreshold (::java::lang::String *, jlong) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMMemoryPoolMXBeanImpl::setUsageThreshold (::java::lang::String *, jlong) not implemented")); +} diff --git a/libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc new file mode 100644 index 00000000000..331079b0ffd --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc @@ -0,0 +1,39 @@ +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +/** + * @author Andrew John Hughes + * @date Wed 21 Jun 2006 */ +/* Written using online API docs for JDK 1.5 beta from http://java.sun.com. + * Status: Believed complete and correct. + */ + +#include + +#include + +#include + +#include + +JArray* gnu::java::lang::management::VMRuntimeMXBeanImpl::getInputArguments() +{ + return ::gcj::vmArgs; +} + +jlong gnu::java::lang::management::VMRuntimeMXBeanImpl::getStartTime() +{ + return ::gcj::startTime; +} + +jlong gnu::java::lang::management::VMRuntimeMXBeanImpl::getPID() +{ + return getpid(); +} + + diff --git a/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc b/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc new file mode 100644 index 00000000000..df05300ca2f --- /dev/null +++ b/libjava/gnu/java/lang/management/natVMThreadMXBeanImpl.cc @@ -0,0 +1,67 @@ +#include + +#include +#include +#include + +jlongArray +gnu::java::lang::management::VMThreadMXBeanImpl::findMonitorDeadlockedThreads () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::findMonitorDeadlockedThreads () not implemented")); +} + + +jlong +gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadCpuTime () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadCpuTime () not implemented")); +} + + +jlong +gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadUserTime () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getCurrentThreadUserTime () not implemented")); +} + + +jint +gnu::java::lang::management::VMThreadMXBeanImpl::getPeakThreadCount () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getPeakThreadCount () not implemented")); +} + + +jlong +gnu::java::lang::management::VMThreadMXBeanImpl::getThreadCpuTime (jlong) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getThreadCpuTime (jlong) not implemented")); +} + + +::java::lang::management::ThreadInfo * +gnu::java::lang::management::VMThreadMXBeanImpl::getThreadInfoForId (jlong, jint) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getThreadInfoForId (jlong, jint) not implemented")); +} + + +jlong +gnu::java::lang::management::VMThreadMXBeanImpl::getThreadUserTime (jlong) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getThreadUserTime (jlong) not implemented")); +} + + +jlong +gnu::java::lang::management::VMThreadMXBeanImpl::getTotalStartedThreadCount () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::getTotalStartedThreadCount () not implemented")); +} + + +void +gnu::java::lang::management::VMThreadMXBeanImpl::resetPeakThreadCount () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::lang::management::VMThreadMXBeanImpl::resetPeakThreadCount () not implemented")); +} diff --git a/libjava/gnu/java/lang/natMainThread.cc b/libjava/gnu/java/lang/natMainThread.cc index 99d5f95ffde..5cba24700a4 100644 --- a/libjava/gnu/java/lang/natMainThread.cc +++ b/libjava/gnu/java/lang/natMainThread.cc @@ -29,6 +29,10 @@ gnu::java::lang::MainThread::call_main (void) Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22); Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4); + // This is one of the few places where we might have access to an + // unlinked class. + _Jv_Linker::wait_for_state (klass, JV_STATE_LOADING); + _Jv_Method *meth = _Jv_LookupDeclaredMethod (klass, main_name, main_signature); diff --git a/libjava/gnu/java/lang/reflect/ClassSignatureParser.h b/libjava/gnu/java/lang/reflect/ClassSignatureParser.h new file mode 100644 index 00000000000..10c0f4d38df --- /dev/null +++ b/libjava/gnu/java/lang/reflect/ClassSignatureParser.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_ClassSignatureParser__ +#define __gnu_java_lang_reflect_ClassSignatureParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class ClassSignatureParser; + } + } + } + } +} + +class gnu::java::lang::reflect::ClassSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser +{ + +public: + ClassSignatureParser(::java::lang::Class *, ::java::lang::String *); + virtual JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters(); + virtual ::java::lang::reflect::Type * getSuperclassType(); + virtual JArray< ::java::lang::reflect::Type * > * getInterfaceTypes(); +private: + JArray< ::java::lang::reflect::TypeVariable * > * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) typeParameters; + ::java::lang::reflect::Type * superclassType; + JArray< ::java::lang::reflect::Type * > * interfaceTypes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_ClassSignatureParser__ diff --git a/libjava/gnu/java/lang/reflect/FieldSignatureParser.h b/libjava/gnu/java/lang/reflect/FieldSignatureParser.h new file mode 100644 index 00000000000..58b972a4381 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/FieldSignatureParser.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_FieldSignatureParser__ +#define __gnu_java_lang_reflect_FieldSignatureParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class FieldSignatureParser; + } + } + } + } +} + +class gnu::java::lang::reflect::FieldSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser +{ + +public: + FieldSignatureParser(::java::lang::Class *, ::java::lang::String *); + ::java::lang::reflect::Type * getFieldType(); +private: + ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_FieldSignatureParser__ diff --git a/libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h b/libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h new file mode 100644 index 00000000000..25a654d7731 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/GenericArrayTypeImpl.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_GenericArrayTypeImpl__ +#define __gnu_java_lang_reflect_GenericArrayTypeImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class GenericArrayTypeImpl; + } + } + } + } +} + +class gnu::java::lang::reflect::GenericArrayTypeImpl : public ::gnu::java::lang::reflect::TypeImpl +{ + +public: // actually package-private + GenericArrayTypeImpl(::java::lang::reflect::Type *); + ::java::lang::reflect::Type * resolve(); +public: + ::java::lang::reflect::Type * getGenericComponentType(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) componentType; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_GenericArrayTypeImpl__ diff --git a/libjava/gnu/java/lang/reflect/GenericSignatureParser.h b/libjava/gnu/java/lang/reflect/GenericSignatureParser.h new file mode 100644 index 00000000000..22e443b59de --- /dev/null +++ b/libjava/gnu/java/lang/reflect/GenericSignatureParser.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_GenericSignatureParser__ +#define __gnu_java_lang_reflect_GenericSignatureParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class GenericSignatureParser; + } + } + } + } +} + +class gnu::java::lang::reflect::GenericSignatureParser : public ::java::lang::Object +{ + +public: // actually package-private + GenericSignatureParser(::java::lang::reflect::GenericDeclaration *, ::java::lang::ClassLoader *, ::java::lang::String *); + virtual JArray< ::java::lang::reflect::TypeVariable * > * readFormalTypeParameters(); +private: + ::java::lang::reflect::TypeVariable * readFormalTypeParameter(); +public: // actually package-private + virtual ::java::lang::reflect::Type * readFieldTypeSignature(); + virtual ::java::lang::reflect::Type * readClassTypeSignature(); +private: + JArray< ::java::lang::reflect::Type * > * readTypeArguments(); + ::java::lang::reflect::Type * readTypeArgument(); +public: // actually package-private + virtual ::java::lang::reflect::Type * readArrayTypeSignature(); + virtual ::java::lang::reflect::Type * readTypeVariableSignature(); +private: + ::java::lang::String * readIdentifier(); +public: // actually package-private + virtual jchar peekChar(); + virtual jchar readChar(); + virtual void consume(jchar); + virtual void end(); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader; + ::java::lang::reflect::GenericDeclaration * container; + ::java::lang::String * signature; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_GenericSignatureParser__ diff --git a/libjava/gnu/java/lang/reflect/MethodSignatureParser.h b/libjava/gnu/java/lang/reflect/MethodSignatureParser.h new file mode 100644 index 00000000000..3a684699573 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/MethodSignatureParser.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_MethodSignatureParser__ +#define __gnu_java_lang_reflect_MethodSignatureParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class MethodSignatureParser; + } + } + } + } +} + +class gnu::java::lang::reflect::MethodSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser +{ + +public: + MethodSignatureParser(::java::lang::reflect::Method *, ::java::lang::String *); + MethodSignatureParser(::java::lang::reflect::Constructor *, ::java::lang::String *); +private: + MethodSignatureParser(::java::lang::reflect::GenericDeclaration *, ::java::lang::ClassLoader *, ::java::lang::String *); +public: + virtual JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters(); + virtual JArray< ::java::lang::reflect::Type * > * getGenericParameterTypes(); + virtual ::java::lang::reflect::Type * getGenericReturnType(); + virtual JArray< ::java::lang::reflect::Type * > * getGenericExceptionTypes(); +private: + ::java::lang::reflect::Type * readTypeSignature(); + JArray< ::java::lang::reflect::TypeVariable * > * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) typeParameters; + JArray< ::java::lang::reflect::Type * > * argTypes; + ::java::lang::reflect::Type * retType; + JArray< ::java::lang::reflect::Type * > * throwsSigs; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_MethodSignatureParser__ diff --git a/libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h b/libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h new file mode 100644 index 00000000000..0f43af60eb8 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/ParameterizedTypeImpl.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_ParameterizedTypeImpl__ +#define __gnu_java_lang_reflect_ParameterizedTypeImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class ParameterizedTypeImpl; + } + } + } + } +} + +class gnu::java::lang::reflect::ParameterizedTypeImpl : public ::gnu::java::lang::reflect::TypeImpl +{ + +public: // actually package-private + ParameterizedTypeImpl(::java::lang::String *, ::java::lang::ClassLoader *, ::java::lang::reflect::Type *, JArray< ::java::lang::reflect::Type * > *); + ::java::lang::reflect::Type * resolve(); +public: + JArray< ::java::lang::reflect::Type * > * getActualTypeArguments(); + ::java::lang::reflect::Type * getRawType(); + ::java::lang::reflect::Type * getOwnerType(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) rawTypeName; + ::java::lang::ClassLoader * loader; + ::java::lang::Class * rawType; + ::java::lang::reflect::Type * owner; + JArray< ::java::lang::reflect::Type * > * typeArgs; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_ParameterizedTypeImpl__ diff --git a/libjava/gnu/java/lang/reflect/TypeImpl.h b/libjava/gnu/java/lang/reflect/TypeImpl.h new file mode 100644 index 00000000000..42c3f3af853 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/TypeImpl.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_TypeImpl__ +#define __gnu_java_lang_reflect_TypeImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class TypeImpl; + } + } + } + } +} + +class gnu::java::lang::reflect::TypeImpl : public ::java::lang::Object +{ + +public: // actually package-private + TypeImpl(); + virtual ::java::lang::reflect::Type * resolve() = 0; + static void resolve(JArray< ::java::lang::reflect::Type * > *); + static ::java::lang::reflect::Type * resolve(::java::lang::reflect::Type *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_TypeImpl__ diff --git a/libjava/gnu/java/lang/reflect/TypeSignature.h b/libjava/gnu/java/lang/reflect/TypeSignature.h new file mode 100644 index 00000000000..82260585962 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/TypeSignature.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_TypeSignature__ +#define __gnu_java_lang_reflect_TypeSignature__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class TypeSignature; + } + } + } + } +} + +class gnu::java::lang::reflect::TypeSignature : public ::java::lang::Object +{ + +public: + TypeSignature(); + static ::java::lang::String * getEncodingOfClass(::java::lang::String *, jboolean); + static ::java::lang::String * getEncodingOfClass(::java::lang::Class *, jboolean); + static ::java::lang::String * getEncodingOfClass(::java::lang::Class *); + static ::java::lang::Class * getClassForEncoding(::java::lang::String *, jboolean); + static ::java::lang::Class * getClassForEncoding(::java::lang::String *, jboolean, ::java::lang::ClassLoader *); + static ::java::lang::Class * getClassForEncoding(::java::lang::String *); + static ::java::lang::String * getEncodingOfMethod(::java::lang::reflect::Method *); + static ::java::lang::String * getEncodingOfConstructor(::java::lang::reflect::Constructor *); + static ::java::lang::String * getEncodingOfMember(::java::lang::reflect::Member *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_TypeSignature__ diff --git a/libjava/gnu/java/lang/reflect/TypeVariableImpl.h b/libjava/gnu/java/lang/reflect/TypeVariableImpl.h new file mode 100644 index 00000000000..82ac58ab82d --- /dev/null +++ b/libjava/gnu/java/lang/reflect/TypeVariableImpl.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_TypeVariableImpl__ +#define __gnu_java_lang_reflect_TypeVariableImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class TypeVariableImpl; + } + } + } + } +} + +class gnu::java::lang::reflect::TypeVariableImpl : public ::gnu::java::lang::reflect::TypeImpl +{ + +public: // actually package-private + TypeVariableImpl(::java::lang::reflect::GenericDeclaration *, JArray< ::java::lang::reflect::Type * > *, ::java::lang::String *); + ::java::lang::reflect::Type * resolve(); +public: + JArray< ::java::lang::reflect::Type * > * getBounds(); + ::java::lang::reflect::GenericDeclaration * getGenericDeclaration(); + ::java::lang::String * getName(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::lang::reflect::GenericDeclaration * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) decl; + JArray< ::java::lang::reflect::Type * > * bounds; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_TypeVariableImpl__ diff --git a/libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h b/libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h new file mode 100644 index 00000000000..4fec000b5c0 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/UnresolvedTypeVariable.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_UnresolvedTypeVariable__ +#define __gnu_java_lang_reflect_UnresolvedTypeVariable__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class UnresolvedTypeVariable; + } + } + } + } +} + +class gnu::java::lang::reflect::UnresolvedTypeVariable : public ::gnu::java::lang::reflect::TypeImpl +{ + +public: // actually package-private + UnresolvedTypeVariable(::java::lang::reflect::GenericDeclaration *, ::java::lang::String *); + ::java::lang::reflect::Type * resolve(); +private: + static ::java::lang::reflect::GenericDeclaration * getParent(::java::lang::reflect::GenericDeclaration *); + ::java::lang::reflect::GenericDeclaration * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) decl; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_UnresolvedTypeVariable__ diff --git a/libjava/gnu/java/lang/reflect/WildcardTypeImpl.h b/libjava/gnu/java/lang/reflect/WildcardTypeImpl.h new file mode 100644 index 00000000000..b2eb19c3578 --- /dev/null +++ b/libjava/gnu/java/lang/reflect/WildcardTypeImpl.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_lang_reflect_WildcardTypeImpl__ +#define __gnu_java_lang_reflect_WildcardTypeImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace lang + { + namespace reflect + { + class WildcardTypeImpl; + } + } + } + } +} + +class gnu::java::lang::reflect::WildcardTypeImpl : public ::gnu::java::lang::reflect::TypeImpl +{ + +public: // actually package-private + WildcardTypeImpl(::java::lang::reflect::Type *, ::java::lang::reflect::Type *); + ::java::lang::reflect::Type * resolve(); +public: + JArray< ::java::lang::reflect::Type * > * getUpperBounds(); + JArray< ::java::lang::reflect::Type * > * getLowerBounds(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::TypeImpl)))) lower; + ::java::lang::reflect::Type * upper; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_lang_reflect_WildcardTypeImpl__ diff --git a/libjava/gnu/java/locale/Calendar.h b/libjava/gnu/java/locale/Calendar.h new file mode 100644 index 00000000000..b0d7eee75ff --- /dev/null +++ b/libjava/gnu/java/locale/Calendar.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_Calendar__ +#define __gnu_java_locale_Calendar__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class Calendar; + } + } + } +} + +class gnu::java::locale::Calendar : public ::java::util::ListResourceBundle +{ + +public: + Calendar(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static JArray< ::java::util::Locale * > * availableLocales; + static ::java::lang::String * calendarClass; + static ::java::lang::Integer * firstDayOfWeek; + static ::java::lang::Integer * minimalDaysInFirstWeek; + static ::java::util::Date * gregorianCutOver; + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_Calendar__ diff --git a/libjava/gnu/java/locale/Calendar_de.h b/libjava/gnu/java/locale/Calendar_de.h new file mode 100644 index 00000000000..77328560159 --- /dev/null +++ b/libjava/gnu/java/locale/Calendar_de.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_Calendar_de__ +#define __gnu_java_locale_Calendar_de__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class Calendar_de; + } + } + } +} + +class gnu::java::locale::Calendar_de : public ::java::util::ListResourceBundle +{ + +public: + Calendar_de(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_Calendar_de__ diff --git a/libjava/gnu/java/locale/Calendar_en.h b/libjava/gnu/java/locale/Calendar_en.h new file mode 100644 index 00000000000..523be552ae8 --- /dev/null +++ b/libjava/gnu/java/locale/Calendar_en.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_Calendar_en__ +#define __gnu_java_locale_Calendar_en__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class Calendar_en; + } + } + } +} + +class gnu::java::locale::Calendar_en : public ::java::util::ListResourceBundle +{ + +public: + Calendar_en(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_Calendar_en__ diff --git a/libjava/gnu/java/locale/Calendar_nl.h b/libjava/gnu/java/locale/Calendar_nl.h new file mode 100644 index 00000000000..01f75b188ff --- /dev/null +++ b/libjava/gnu/java/locale/Calendar_nl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_Calendar_nl__ +#define __gnu_java_locale_Calendar_nl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class Calendar_nl; + } + } + } +} + +class gnu::java::locale::Calendar_nl : public ::java::util::ListResourceBundle +{ + +public: + Calendar_nl(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_Calendar_nl__ diff --git a/libjava/gnu/java/locale/LocaleData.h b/libjava/gnu/java/locale/LocaleData.h new file mode 100644 index 00000000000..ab983a570f6 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleData.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleData__ +#define __gnu_java_locale_LocaleData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleData; + } + } + } +} + +class gnu::java::locale::LocaleData : public ::java::lang::Object +{ + +public: // actually package-private + LocaleData(); +public: + static JArray< ::java::lang::String * > * localeNames; + static JArray< ::java::lang::String * > * collatorLocaleNames; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleData__ diff --git a/libjava/gnu/java/locale/LocaleHelper.h b/libjava/gnu/java/locale/LocaleHelper.h new file mode 100644 index 00000000000..7a8389334ad --- /dev/null +++ b/libjava/gnu/java/locale/LocaleHelper.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleHelper__ +#define __gnu_java_locale_LocaleHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleHelper; + } + } + } +} + +class gnu::java::locale::LocaleHelper : public ::java::lang::Object +{ + +public: + LocaleHelper(); + static ::java::lang::String * getLocalizedString(::java::util::Locale *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + static JArray< ::java::util::Locale * > * getCollatorLocales(); + static jint getLocaleCount(); + static ::java::lang::String * getLocaleName(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleHelper__ diff --git a/libjava/gnu/java/locale/LocaleInformation.h b/libjava/gnu/java/locale/LocaleInformation.h new file mode 100644 index 00000000000..b8ccfeceb36 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation__ +#define __gnu_java_locale_LocaleInformation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation; + } + } + } +} + +class gnu::java::locale::LocaleInformation : public ::gnu::java::locale::LocaleInformation_en +{ + +public: + LocaleInformation(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation__ diff --git a/libjava/gnu/java/locale/LocaleInformation_af_ZA.h b/libjava/gnu/java/locale/LocaleInformation_af_ZA.h new file mode 100644 index 00000000000..9c5e11ffcc0 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_af_ZA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_af_ZA__ +#define __gnu_java_locale_LocaleInformation_af_ZA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_af_ZA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_af_ZA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_af_ZA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_af_ZA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_AE.h b/libjava/gnu/java/locale/LocaleInformation_ar_AE.h new file mode 100644 index 00000000000..a2cd814e9c7 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_AE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_AE__ +#define __gnu_java_locale_LocaleInformation_ar_AE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_AE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_AE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_AE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_AE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_BH.h b/libjava/gnu/java/locale/LocaleInformation_ar_BH.h new file mode 100644 index 00000000000..de1d231887a --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_BH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_BH__ +#define __gnu_java_locale_LocaleInformation_ar_BH__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_BH; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_BH : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_BH(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_BH__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_DZ.h b/libjava/gnu/java/locale/LocaleInformation_ar_DZ.h new file mode 100644 index 00000000000..8ffc0a4ef13 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_DZ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_DZ__ +#define __gnu_java_locale_LocaleInformation_ar_DZ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_DZ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_DZ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_DZ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_DZ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_EG.h b/libjava/gnu/java/locale/LocaleInformation_ar_EG.h new file mode 100644 index 00000000000..d8d31d00e94 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_EG.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_EG__ +#define __gnu_java_locale_LocaleInformation_ar_EG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_EG; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_EG : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_EG(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_EG__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_IN.h b/libjava/gnu/java/locale/LocaleInformation_ar_IN.h new file mode 100644 index 00000000000..5d0d7f6581f --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_IN__ +#define __gnu_java_locale_LocaleInformation_ar_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_IQ.h b/libjava/gnu/java/locale/LocaleInformation_ar_IQ.h new file mode 100644 index 00000000000..55c24a508e7 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_IQ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_IQ__ +#define __gnu_java_locale_LocaleInformation_ar_IQ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_IQ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_IQ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_IQ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_IQ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_JO.h b/libjava/gnu/java/locale/LocaleInformation_ar_JO.h new file mode 100644 index 00000000000..c4726d0b5c1 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_JO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_JO__ +#define __gnu_java_locale_LocaleInformation_ar_JO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_JO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_JO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_JO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_JO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_KW.h b/libjava/gnu/java/locale/LocaleInformation_ar_KW.h new file mode 100644 index 00000000000..0fb530020e2 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_KW.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_KW__ +#define __gnu_java_locale_LocaleInformation_ar_KW__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_KW; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_KW : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_KW(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_KW__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_LB.h b/libjava/gnu/java/locale/LocaleInformation_ar_LB.h new file mode 100644 index 00000000000..11b7c54d3b9 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_LB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_LB__ +#define __gnu_java_locale_LocaleInformation_ar_LB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_LB; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_LB : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_LB(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_LB__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_LY.h b/libjava/gnu/java/locale/LocaleInformation_ar_LY.h new file mode 100644 index 00000000000..1f4c4800b64 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_LY.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_LY__ +#define __gnu_java_locale_LocaleInformation_ar_LY__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_LY; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_LY : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_LY(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_LY__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_MA.h b/libjava/gnu/java/locale/LocaleInformation_ar_MA.h new file mode 100644 index 00000000000..df092d26d96 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_MA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_MA__ +#define __gnu_java_locale_LocaleInformation_ar_MA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_MA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_MA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_MA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_MA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_OM.h b/libjava/gnu/java/locale/LocaleInformation_ar_OM.h new file mode 100644 index 00000000000..692578c5b08 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_OM.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_OM__ +#define __gnu_java_locale_LocaleInformation_ar_OM__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_OM; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_OM : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_OM(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_OM__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_QA.h b/libjava/gnu/java/locale/LocaleInformation_ar_QA.h new file mode 100644 index 00000000000..9bf80ccd4f1 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_QA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_QA__ +#define __gnu_java_locale_LocaleInformation_ar_QA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_QA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_QA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_QA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_QA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_SD.h b/libjava/gnu/java/locale/LocaleInformation_ar_SD.h new file mode 100644 index 00000000000..817df472faa --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_SD.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_SD__ +#define __gnu_java_locale_LocaleInformation_ar_SD__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_SD; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_SD : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_SD(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_SD__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_SY.h b/libjava/gnu/java/locale/LocaleInformation_ar_SY.h new file mode 100644 index 00000000000..ee0df32fdd4 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_SY.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_SY__ +#define __gnu_java_locale_LocaleInformation_ar_SY__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_SY; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_SY : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_SY(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_SY__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_TN.h b/libjava/gnu/java/locale/LocaleInformation_ar_TN.h new file mode 100644 index 00000000000..248ace98d46 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_TN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_TN__ +#define __gnu_java_locale_LocaleInformation_ar_TN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_TN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_TN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_TN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_TN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ar_YE.h b/libjava/gnu/java/locale/LocaleInformation_ar_YE.h new file mode 100644 index 00000000000..8a9dbe8fdbc --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ar_YE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ar_YE__ +#define __gnu_java_locale_LocaleInformation_ar_YE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ar_YE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ar_YE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ar_YE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ar_YE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_be_BY.h b/libjava/gnu/java/locale/LocaleInformation_be_BY.h new file mode 100644 index 00000000000..51a72506f64 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_be_BY.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_be_BY__ +#define __gnu_java_locale_LocaleInformation_be_BY__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_be_BY; + } + } + } +} + +class gnu::java::locale::LocaleInformation_be_BY : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_be_BY(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_be_BY__ diff --git a/libjava/gnu/java/locale/LocaleInformation_bn_IN.h b/libjava/gnu/java/locale/LocaleInformation_bn_IN.h new file mode 100644 index 00000000000..24264ea85cc --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_bn_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_bn_IN__ +#define __gnu_java_locale_LocaleInformation_bn_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_bn_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_bn_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_bn_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_bn_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_br_FR.h b/libjava/gnu/java/locale/LocaleInformation_br_FR.h new file mode 100644 index 00000000000..251ae2f4a10 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_br_FR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_br_FR__ +#define __gnu_java_locale_LocaleInformation_br_FR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_br_FR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_br_FR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_br_FR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_br_FR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_bs_BA.h b/libjava/gnu/java/locale/LocaleInformation_bs_BA.h new file mode 100644 index 00000000000..a71855e8969 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_bs_BA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_bs_BA__ +#define __gnu_java_locale_LocaleInformation_bs_BA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_bs_BA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_bs_BA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_bs_BA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_bs_BA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ca_ES.h b/libjava/gnu/java/locale/LocaleInformation_ca_ES.h new file mode 100644 index 00000000000..659a2a1196b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ca_ES.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ca_ES__ +#define __gnu_java_locale_LocaleInformation_ca_ES__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ca_ES; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ca_ES : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ca_ES(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ca_ES__ diff --git a/libjava/gnu/java/locale/LocaleInformation_cs_CZ.h b/libjava/gnu/java/locale/LocaleInformation_cs_CZ.h new file mode 100644 index 00000000000..a871895e977 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_cs_CZ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_cs_CZ__ +#define __gnu_java_locale_LocaleInformation_cs_CZ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_cs_CZ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_cs_CZ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_cs_CZ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_cs_CZ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_cy_GB.h b/libjava/gnu/java/locale/LocaleInformation_cy_GB.h new file mode 100644 index 00000000000..150a1c4f14c --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_cy_GB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_cy_GB__ +#define __gnu_java_locale_LocaleInformation_cy_GB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_cy_GB; + } + } + } +} + +class gnu::java::locale::LocaleInformation_cy_GB : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_cy_GB(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_cy_GB__ diff --git a/libjava/gnu/java/locale/LocaleInformation_da_DK.h b/libjava/gnu/java/locale/LocaleInformation_da_DK.h new file mode 100644 index 00000000000..1f20d1bb6a1 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_da_DK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_da_DK__ +#define __gnu_java_locale_LocaleInformation_da_DK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_da_DK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_da_DK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_da_DK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_da_DK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_de.h b/libjava/gnu/java/locale/LocaleInformation_de.h new file mode 100644 index 00000000000..ed1bde66188 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_de.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_de__ +#define __gnu_java_locale_LocaleInformation_de__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_de; + } + } + } +} + +class gnu::java::locale::LocaleInformation_de : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_de(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static ::java::lang::String * collation_rules; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * eras; + static JArray< JArray< ::java::lang::String * > * > * zoneStrings; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * mediumDateFormat; + static ::java::lang::String * longDateFormat; + static ::java::lang::String * fullDateFormat; + static ::java::lang::String * defaultDateFormat; + static ::java::lang::String * shortTimeFormat; + static ::java::lang::String * mediumTimeFormat; + static ::java::lang::String * longTimeFormat; + static ::java::lang::String * fullTimeFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * monetarySeparator; + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_de__ diff --git a/libjava/gnu/java/locale/LocaleInformation_de_AT.h b/libjava/gnu/java/locale/LocaleInformation_de_AT.h new file mode 100644 index 00000000000..a8bdd954e9d --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_de_AT.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_de_AT__ +#define __gnu_java_locale_LocaleInformation_de_AT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_de_AT; + } + } + } +} + +class gnu::java::locale::LocaleInformation_de_AT : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_de_AT(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_de_AT__ diff --git a/libjava/gnu/java/locale/LocaleInformation_de_BE.h b/libjava/gnu/java/locale/LocaleInformation_de_BE.h new file mode 100644 index 00000000000..1b82c400722 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_de_BE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_de_BE__ +#define __gnu_java_locale_LocaleInformation_de_BE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_de_BE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_de_BE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_de_BE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_de_BE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_de_CH.h b/libjava/gnu/java/locale/LocaleInformation_de_CH.h new file mode 100644 index 00000000000..b1294cda235 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_de_CH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_de_CH__ +#define __gnu_java_locale_LocaleInformation_de_CH__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_de_CH; + } + } + } +} + +class gnu::java::locale::LocaleInformation_de_CH : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_de_CH(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_de_CH__ diff --git a/libjava/gnu/java/locale/LocaleInformation_de_DE.h b/libjava/gnu/java/locale/LocaleInformation_de_DE.h new file mode 100644 index 00000000000..fe3ae5e6334 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_de_DE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_de_DE__ +#define __gnu_java_locale_LocaleInformation_de_DE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_de_DE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_de_DE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_de_DE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_de_DE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_de_LU.h b/libjava/gnu/java/locale/LocaleInformation_de_LU.h new file mode 100644 index 00000000000..0a567655cd8 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_de_LU.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_de_LU__ +#define __gnu_java_locale_LocaleInformation_de_LU__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_de_LU; + } + } + } +} + +class gnu::java::locale::LocaleInformation_de_LU : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_de_LU(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_de_LU__ diff --git a/libjava/gnu/java/locale/LocaleInformation_el_GR.h b/libjava/gnu/java/locale/LocaleInformation_el_GR.h new file mode 100644 index 00000000000..da89dd3872c --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_el_GR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_el_GR__ +#define __gnu_java_locale_LocaleInformation_el_GR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_el_GR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_el_GR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_el_GR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_el_GR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en.h b/libjava/gnu/java/locale/LocaleInformation_en.h new file mode 100644 index 00000000000..0aeba5a2f8c --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en__ +#define __gnu_java_locale_LocaleInformation_en__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static ::java::lang::String * collation_rules; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * ampms; + static JArray< ::java::lang::String * > * eras; + static JArray< JArray< ::java::lang::String * > * > * zoneStrings; + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_AU.h b/libjava/gnu/java/locale/LocaleInformation_en_AU.h new file mode 100644 index 00000000000..0b6267b21ea --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_AU.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_AU__ +#define __gnu_java_locale_LocaleInformation_en_AU__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_AU; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_AU : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_AU(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_AU__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_BW.h b/libjava/gnu/java/locale/LocaleInformation_en_BW.h new file mode 100644 index 00000000000..95cd728346d --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_BW.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_BW__ +#define __gnu_java_locale_LocaleInformation_en_BW__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_BW; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_BW : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_BW(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_BW__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_CA.h b/libjava/gnu/java/locale/LocaleInformation_en_CA.h new file mode 100644 index 00000000000..d5d86f75d4f --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_CA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_CA__ +#define __gnu_java_locale_LocaleInformation_en_CA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_CA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_CA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_CA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_CA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_DK.h b/libjava/gnu/java/locale/LocaleInformation_en_DK.h new file mode 100644 index 00000000000..703921f29f2 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_DK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_DK__ +#define __gnu_java_locale_LocaleInformation_en_DK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_DK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_DK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_DK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_DK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_GB.h b/libjava/gnu/java/locale/LocaleInformation_en_GB.h new file mode 100644 index 00000000000..8ca4d334467 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_GB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_GB__ +#define __gnu_java_locale_LocaleInformation_en_GB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_GB; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_GB : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_GB(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_GB__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_HK.h b/libjava/gnu/java/locale/LocaleInformation_en_HK.h new file mode 100644 index 00000000000..84b99a2badd --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_HK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_HK__ +#define __gnu_java_locale_LocaleInformation_en_HK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_HK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_HK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_HK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_HK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_IE.h b/libjava/gnu/java/locale/LocaleInformation_en_IE.h new file mode 100644 index 00000000000..f7aad1a9a7e --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_IE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_IE__ +#define __gnu_java_locale_LocaleInformation_en_IE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_IE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_IE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_IE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_IE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_IN.h b/libjava/gnu/java/locale/LocaleInformation_en_IN.h new file mode 100644 index 00000000000..9e38fb2d824 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_IN__ +#define __gnu_java_locale_LocaleInformation_en_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_NZ.h b/libjava/gnu/java/locale/LocaleInformation_en_NZ.h new file mode 100644 index 00000000000..1493f27da60 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_NZ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_NZ__ +#define __gnu_java_locale_LocaleInformation_en_NZ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_NZ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_NZ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_NZ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_NZ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_PH.h b/libjava/gnu/java/locale/LocaleInformation_en_PH.h new file mode 100644 index 00000000000..e9251b117ed --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_PH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_PH__ +#define __gnu_java_locale_LocaleInformation_en_PH__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_PH; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_PH : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_PH(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_PH__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_SG.h b/libjava/gnu/java/locale/LocaleInformation_en_SG.h new file mode 100644 index 00000000000..7b46bb3e07c --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_SG.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_SG__ +#define __gnu_java_locale_LocaleInformation_en_SG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_SG; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_SG : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_SG(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_SG__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_US.h b/libjava/gnu/java/locale/LocaleInformation_en_US.h new file mode 100644 index 00000000000..9875c5b286f --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_US.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_US__ +#define __gnu_java_locale_LocaleInformation_en_US__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_US; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_US : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_US(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_US__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_ZA.h b/libjava/gnu/java/locale/LocaleInformation_en_ZA.h new file mode 100644 index 00000000000..88aef9206bc --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_ZA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_ZA__ +#define __gnu_java_locale_LocaleInformation_en_ZA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_ZA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_ZA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_ZA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_ZA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_en_ZW.h b/libjava/gnu/java/locale/LocaleInformation_en_ZW.h new file mode 100644 index 00000000000..05794a9a213 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_en_ZW.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_en_ZW__ +#define __gnu_java_locale_LocaleInformation_en_ZW__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_en_ZW; + } + } + } +} + +class gnu::java::locale::LocaleInformation_en_ZW : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_en_ZW(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_en_ZW__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_AR.h b/libjava/gnu/java/locale/LocaleInformation_es_AR.h new file mode 100644 index 00000000000..fc665e37c23 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_AR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_AR__ +#define __gnu_java_locale_LocaleInformation_es_AR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_AR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_AR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_AR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_AR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_BO.h b/libjava/gnu/java/locale/LocaleInformation_es_BO.h new file mode 100644 index 00000000000..5fc8d518570 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_BO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_BO__ +#define __gnu_java_locale_LocaleInformation_es_BO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_BO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_BO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_BO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_BO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_CL.h b/libjava/gnu/java/locale/LocaleInformation_es_CL.h new file mode 100644 index 00000000000..27d5bb4c3c9 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_CL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_CL__ +#define __gnu_java_locale_LocaleInformation_es_CL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_CL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_CL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_CL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_CL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_CO.h b/libjava/gnu/java/locale/LocaleInformation_es_CO.h new file mode 100644 index 00000000000..2bcae306959 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_CO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_CO__ +#define __gnu_java_locale_LocaleInformation_es_CO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_CO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_CO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_CO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_CO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_CR.h b/libjava/gnu/java/locale/LocaleInformation_es_CR.h new file mode 100644 index 00000000000..c051184dec6 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_CR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_CR__ +#define __gnu_java_locale_LocaleInformation_es_CR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_CR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_CR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_CR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_CR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_DO.h b/libjava/gnu/java/locale/LocaleInformation_es_DO.h new file mode 100644 index 00000000000..76e75996cfa --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_DO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_DO__ +#define __gnu_java_locale_LocaleInformation_es_DO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_DO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_DO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_DO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_DO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_EC.h b/libjava/gnu/java/locale/LocaleInformation_es_EC.h new file mode 100644 index 00000000000..cda5b98034f --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_EC.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_EC__ +#define __gnu_java_locale_LocaleInformation_es_EC__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_EC; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_EC : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_EC(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_EC__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_ES.h b/libjava/gnu/java/locale/LocaleInformation_es_ES.h new file mode 100644 index 00000000000..c3047114501 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_ES.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_ES__ +#define __gnu_java_locale_LocaleInformation_es_ES__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_ES; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_ES : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_ES(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_ES__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_GT.h b/libjava/gnu/java/locale/LocaleInformation_es_GT.h new file mode 100644 index 00000000000..36ed4e25f07 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_GT.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_GT__ +#define __gnu_java_locale_LocaleInformation_es_GT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_GT; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_GT : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_GT(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_GT__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_HN.h b/libjava/gnu/java/locale/LocaleInformation_es_HN.h new file mode 100644 index 00000000000..11369dd85db --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_HN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_HN__ +#define __gnu_java_locale_LocaleInformation_es_HN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_HN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_HN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_HN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_HN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_MX.h b/libjava/gnu/java/locale/LocaleInformation_es_MX.h new file mode 100644 index 00000000000..5c944f123aa --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_MX.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_MX__ +#define __gnu_java_locale_LocaleInformation_es_MX__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_MX; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_MX : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_MX(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_MX__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_NI.h b/libjava/gnu/java/locale/LocaleInformation_es_NI.h new file mode 100644 index 00000000000..e9733a2d3d6 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_NI.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_NI__ +#define __gnu_java_locale_LocaleInformation_es_NI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_NI; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_NI : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_NI(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_NI__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_PA.h b/libjava/gnu/java/locale/LocaleInformation_es_PA.h new file mode 100644 index 00000000000..3f47027613a --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_PA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_PA__ +#define __gnu_java_locale_LocaleInformation_es_PA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_PA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_PA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_PA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_PA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_PE.h b/libjava/gnu/java/locale/LocaleInformation_es_PE.h new file mode 100644 index 00000000000..e6aac1ea1c8 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_PE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_PE__ +#define __gnu_java_locale_LocaleInformation_es_PE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_PE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_PE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_PE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_PE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_PR.h b/libjava/gnu/java/locale/LocaleInformation_es_PR.h new file mode 100644 index 00000000000..8ee47388cd1 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_PR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_PR__ +#define __gnu_java_locale_LocaleInformation_es_PR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_PR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_PR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_PR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_PR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_PY.h b/libjava/gnu/java/locale/LocaleInformation_es_PY.h new file mode 100644 index 00000000000..24edae871b2 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_PY.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_PY__ +#define __gnu_java_locale_LocaleInformation_es_PY__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_PY; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_PY : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_PY(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_PY__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_SV.h b/libjava/gnu/java/locale/LocaleInformation_es_SV.h new file mode 100644 index 00000000000..8907f3d724a --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_SV.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_SV__ +#define __gnu_java_locale_LocaleInformation_es_SV__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_SV; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_SV : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_SV(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_SV__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_US.h b/libjava/gnu/java/locale/LocaleInformation_es_US.h new file mode 100644 index 00000000000..ad462d97115 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_US.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_US__ +#define __gnu_java_locale_LocaleInformation_es_US__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_US; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_US : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_US(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_US__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_UY.h b/libjava/gnu/java/locale/LocaleInformation_es_UY.h new file mode 100644 index 00000000000..7c0a1b6dbc9 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_UY.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_UY__ +#define __gnu_java_locale_LocaleInformation_es_UY__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_UY; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_UY : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_UY(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_UY__ diff --git a/libjava/gnu/java/locale/LocaleInformation_es_VE.h b/libjava/gnu/java/locale/LocaleInformation_es_VE.h new file mode 100644 index 00000000000..eafea044caa --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_es_VE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_es_VE__ +#define __gnu_java_locale_LocaleInformation_es_VE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_es_VE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_es_VE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_es_VE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_es_VE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_et_EE.h b/libjava/gnu/java/locale/LocaleInformation_et_EE.h new file mode 100644 index 00000000000..a267270629e --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_et_EE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_et_EE__ +#define __gnu_java_locale_LocaleInformation_et_EE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_et_EE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_et_EE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_et_EE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_et_EE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_eu_ES.h b/libjava/gnu/java/locale/LocaleInformation_eu_ES.h new file mode 100644 index 00000000000..107351cfa8b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_eu_ES.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_eu_ES__ +#define __gnu_java_locale_LocaleInformation_eu_ES__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_eu_ES; + } + } + } +} + +class gnu::java::locale::LocaleInformation_eu_ES : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_eu_ES(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_eu_ES__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fa_IR.h b/libjava/gnu/java/locale/LocaleInformation_fa_IR.h new file mode 100644 index 00000000000..e0f5c813300 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fa_IR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fa_IR__ +#define __gnu_java_locale_LocaleInformation_fa_IR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fa_IR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fa_IR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fa_IR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fa_IR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fi_FI.h b/libjava/gnu/java/locale/LocaleInformation_fi_FI.h new file mode 100644 index 00000000000..ec45eccaa62 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fi_FI.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fi_FI__ +#define __gnu_java_locale_LocaleInformation_fi_FI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fi_FI; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fi_FI : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fi_FI(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fi_FI__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fo_FO.h b/libjava/gnu/java/locale/LocaleInformation_fo_FO.h new file mode 100644 index 00000000000..ad6afd8de37 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fo_FO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fo_FO__ +#define __gnu_java_locale_LocaleInformation_fo_FO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fo_FO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fo_FO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fo_FO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fo_FO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fr_BE.h b/libjava/gnu/java/locale/LocaleInformation_fr_BE.h new file mode 100644 index 00000000000..dd2430b6ec2 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fr_BE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fr_BE__ +#define __gnu_java_locale_LocaleInformation_fr_BE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fr_BE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fr_BE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fr_BE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fr_BE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fr_CA.h b/libjava/gnu/java/locale/LocaleInformation_fr_CA.h new file mode 100644 index 00000000000..151f50ba0f3 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fr_CA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fr_CA__ +#define __gnu_java_locale_LocaleInformation_fr_CA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fr_CA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fr_CA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fr_CA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fr_CA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fr_CH.h b/libjava/gnu/java/locale/LocaleInformation_fr_CH.h new file mode 100644 index 00000000000..ae0c3be4899 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fr_CH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fr_CH__ +#define __gnu_java_locale_LocaleInformation_fr_CH__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fr_CH; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fr_CH : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fr_CH(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fr_CH__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fr_FR.h b/libjava/gnu/java/locale/LocaleInformation_fr_FR.h new file mode 100644 index 00000000000..71ce984ed4b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fr_FR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fr_FR__ +#define __gnu_java_locale_LocaleInformation_fr_FR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fr_FR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fr_FR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fr_FR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fr_FR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_fr_LU.h b/libjava/gnu/java/locale/LocaleInformation_fr_LU.h new file mode 100644 index 00000000000..f1a51b5260d --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_fr_LU.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_fr_LU__ +#define __gnu_java_locale_LocaleInformation_fr_LU__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_fr_LU; + } + } + } +} + +class gnu::java::locale::LocaleInformation_fr_LU : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_fr_LU(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_fr_LU__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ga_IE.h b/libjava/gnu/java/locale/LocaleInformation_ga_IE.h new file mode 100644 index 00000000000..63a0703dbb8 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ga_IE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ga_IE__ +#define __gnu_java_locale_LocaleInformation_ga_IE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ga_IE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ga_IE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ga_IE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ga_IE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_gd_GB.h b/libjava/gnu/java/locale/LocaleInformation_gd_GB.h new file mode 100644 index 00000000000..4ae0fd27df9 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_gd_GB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_gd_GB__ +#define __gnu_java_locale_LocaleInformation_gd_GB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_gd_GB; + } + } + } +} + +class gnu::java::locale::LocaleInformation_gd_GB : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_gd_GB(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_gd_GB__ diff --git a/libjava/gnu/java/locale/LocaleInformation_gl_ES.h b/libjava/gnu/java/locale/LocaleInformation_gl_ES.h new file mode 100644 index 00000000000..6daee1ba8e2 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_gl_ES.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_gl_ES__ +#define __gnu_java_locale_LocaleInformation_gl_ES__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_gl_ES; + } + } + } +} + +class gnu::java::locale::LocaleInformation_gl_ES : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_gl_ES(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_gl_ES__ diff --git a/libjava/gnu/java/locale/LocaleInformation_gv_GB.h b/libjava/gnu/java/locale/LocaleInformation_gv_GB.h new file mode 100644 index 00000000000..82b81dbbf40 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_gv_GB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_gv_GB__ +#define __gnu_java_locale_LocaleInformation_gv_GB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_gv_GB; + } + } + } +} + +class gnu::java::locale::LocaleInformation_gv_GB : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_gv_GB(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_gv_GB__ diff --git a/libjava/gnu/java/locale/LocaleInformation_he_IL.h b/libjava/gnu/java/locale/LocaleInformation_he_IL.h new file mode 100644 index 00000000000..f53e5d47b6e --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_he_IL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_he_IL__ +#define __gnu_java_locale_LocaleInformation_he_IL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_he_IL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_he_IL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_he_IL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_he_IL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_hi_IN.h b/libjava/gnu/java/locale/LocaleInformation_hi_IN.h new file mode 100644 index 00000000000..dcdbce454e6 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_hi_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_hi_IN__ +#define __gnu_java_locale_LocaleInformation_hi_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_hi_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_hi_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_hi_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_hi_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_hr_HR.h b/libjava/gnu/java/locale/LocaleInformation_hr_HR.h new file mode 100644 index 00000000000..ff1fd9fdd6a --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_hr_HR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_hr_HR__ +#define __gnu_java_locale_LocaleInformation_hr_HR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_hr_HR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_hr_HR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_hr_HR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_hr_HR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_hu_HU.h b/libjava/gnu/java/locale/LocaleInformation_hu_HU.h new file mode 100644 index 00000000000..e4521bb83eb --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_hu_HU.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_hu_HU__ +#define __gnu_java_locale_LocaleInformation_hu_HU__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_hu_HU; + } + } + } +} + +class gnu::java::locale::LocaleInformation_hu_HU : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_hu_HU(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_hu_HU__ diff --git a/libjava/gnu/java/locale/LocaleInformation_id_ID.h b/libjava/gnu/java/locale/LocaleInformation_id_ID.h new file mode 100644 index 00000000000..9cc9a6771bf --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_id_ID.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_id_ID__ +#define __gnu_java_locale_LocaleInformation_id_ID__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_id_ID; + } + } + } +} + +class gnu::java::locale::LocaleInformation_id_ID : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_id_ID(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_id_ID__ diff --git a/libjava/gnu/java/locale/LocaleInformation_it_CH.h b/libjava/gnu/java/locale/LocaleInformation_it_CH.h new file mode 100644 index 00000000000..9f4a532a70b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_it_CH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_it_CH__ +#define __gnu_java_locale_LocaleInformation_it_CH__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_it_CH; + } + } + } +} + +class gnu::java::locale::LocaleInformation_it_CH : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_it_CH(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_it_CH__ diff --git a/libjava/gnu/java/locale/LocaleInformation_it_IT.h b/libjava/gnu/java/locale/LocaleInformation_it_IT.h new file mode 100644 index 00000000000..9a609df670b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_it_IT.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_it_IT__ +#define __gnu_java_locale_LocaleInformation_it_IT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_it_IT; + } + } + } +} + +class gnu::java::locale::LocaleInformation_it_IT : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_it_IT(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_it_IT__ diff --git a/libjava/gnu/java/locale/LocaleInformation_iw_IL.h b/libjava/gnu/java/locale/LocaleInformation_iw_IL.h new file mode 100644 index 00000000000..4dffbed802e --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_iw_IL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_iw_IL__ +#define __gnu_java_locale_LocaleInformation_iw_IL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_iw_IL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_iw_IL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_iw_IL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_iw_IL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ja_JP.h b/libjava/gnu/java/locale/LocaleInformation_ja_JP.h new file mode 100644 index 00000000000..64fcc71d3dd --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ja_JP.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ja_JP__ +#define __gnu_java_locale_LocaleInformation_ja_JP__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ja_JP; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ja_JP : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ja_JP(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ja_JP__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ka_GE.h b/libjava/gnu/java/locale/LocaleInformation_ka_GE.h new file mode 100644 index 00000000000..b897c582455 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ka_GE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ka_GE__ +#define __gnu_java_locale_LocaleInformation_ka_GE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ka_GE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ka_GE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ka_GE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ka_GE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_kl_GL.h b/libjava/gnu/java/locale/LocaleInformation_kl_GL.h new file mode 100644 index 00000000000..1d0301c7a1f --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_kl_GL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_kl_GL__ +#define __gnu_java_locale_LocaleInformation_kl_GL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_kl_GL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_kl_GL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_kl_GL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_kl_GL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ko_KR.h b/libjava/gnu/java/locale/LocaleInformation_ko_KR.h new file mode 100644 index 00000000000..6521be5d65b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ko_KR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ko_KR__ +#define __gnu_java_locale_LocaleInformation_ko_KR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ko_KR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ko_KR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ko_KR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ko_KR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_kw_GB.h b/libjava/gnu/java/locale/LocaleInformation_kw_GB.h new file mode 100644 index 00000000000..b6ee13c9136 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_kw_GB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_kw_GB__ +#define __gnu_java_locale_LocaleInformation_kw_GB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_kw_GB; + } + } + } +} + +class gnu::java::locale::LocaleInformation_kw_GB : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_kw_GB(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_kw_GB__ diff --git a/libjava/gnu/java/locale/LocaleInformation_lt_LT.h b/libjava/gnu/java/locale/LocaleInformation_lt_LT.h new file mode 100644 index 00000000000..2cafbe194f8 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_lt_LT.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_lt_LT__ +#define __gnu_java_locale_LocaleInformation_lt_LT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_lt_LT; + } + } + } +} + +class gnu::java::locale::LocaleInformation_lt_LT : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_lt_LT(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_lt_LT__ diff --git a/libjava/gnu/java/locale/LocaleInformation_lv_LV.h b/libjava/gnu/java/locale/LocaleInformation_lv_LV.h new file mode 100644 index 00000000000..15cb631f4f3 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_lv_LV.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_lv_LV__ +#define __gnu_java_locale_LocaleInformation_lv_LV__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_lv_LV; + } + } + } +} + +class gnu::java::locale::LocaleInformation_lv_LV : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_lv_LV(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_lv_LV__ diff --git a/libjava/gnu/java/locale/LocaleInformation_mi_NZ.h b/libjava/gnu/java/locale/LocaleInformation_mi_NZ.h new file mode 100644 index 00000000000..1b08f9b23da --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_mi_NZ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_mi_NZ__ +#define __gnu_java_locale_LocaleInformation_mi_NZ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_mi_NZ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_mi_NZ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_mi_NZ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_mi_NZ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_mk_MK.h b/libjava/gnu/java/locale/LocaleInformation_mk_MK.h new file mode 100644 index 00000000000..9afa2f27a22 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_mk_MK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_mk_MK__ +#define __gnu_java_locale_LocaleInformation_mk_MK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_mk_MK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_mk_MK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_mk_MK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_mk_MK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_mr_IN.h b/libjava/gnu/java/locale/LocaleInformation_mr_IN.h new file mode 100644 index 00000000000..2334d894204 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_mr_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_mr_IN__ +#define __gnu_java_locale_LocaleInformation_mr_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_mr_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_mr_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_mr_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_mr_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_mt_MT.h b/libjava/gnu/java/locale/LocaleInformation_mt_MT.h new file mode 100644 index 00000000000..b0fd5420573 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_mt_MT.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_mt_MT__ +#define __gnu_java_locale_LocaleInformation_mt_MT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_mt_MT; + } + } + } +} + +class gnu::java::locale::LocaleInformation_mt_MT : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_mt_MT(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_mt_MT__ diff --git a/libjava/gnu/java/locale/LocaleInformation_nl.h b/libjava/gnu/java/locale/LocaleInformation_nl.h new file mode 100644 index 00000000000..3fa73ca0510 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_nl.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_nl__ +#define __gnu_java_locale_LocaleInformation_nl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_nl; + } + } + } +} + +class gnu::java::locale::LocaleInformation_nl : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_nl(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +private: + static ::java::lang::String * collation_rules; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * ampms; + static JArray< ::java::lang::String * > * eras; + static JArray< JArray< ::java::lang::String * > * > * zoneStrings; + static ::java::lang::String * localPatternChars; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * mediumDateFormat; + static ::java::lang::String * longDateFormat; + static ::java::lang::String * fullDateFormat; + static ::java::lang::String * defaultDateFormat; + static ::java::lang::String * shortTimeFormat; + static ::java::lang::String * mediumTimeFormat; + static ::java::lang::String * longTimeFormat; + static ::java::lang::String * fullTimeFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * exponential; + static ::java::lang::String * digit; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * infinity; + static ::java::lang::String * NaN; + static ::java::lang::String * minusSign; + static ::java::lang::String * monetarySeparator; + static ::java::lang::String * patternSeparator; + static ::java::lang::String * percent; + static ::java::lang::String * perMill; + static ::java::lang::String * zeroDigit; + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_nl__ diff --git a/libjava/gnu/java/locale/LocaleInformation_nl_BE.h b/libjava/gnu/java/locale/LocaleInformation_nl_BE.h new file mode 100644 index 00000000000..1fa50cb5eeb --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_nl_BE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_nl_BE__ +#define __gnu_java_locale_LocaleInformation_nl_BE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_nl_BE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_nl_BE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_nl_BE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_nl_BE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_nl_NL.h b/libjava/gnu/java/locale/LocaleInformation_nl_NL.h new file mode 100644 index 00000000000..370855a9a78 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_nl_NL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_nl_NL__ +#define __gnu_java_locale_LocaleInformation_nl_NL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_nl_NL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_nl_NL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_nl_NL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_nl_NL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_nn_NO.h b/libjava/gnu/java/locale/LocaleInformation_nn_NO.h new file mode 100644 index 00000000000..752fec2eb36 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_nn_NO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_nn_NO__ +#define __gnu_java_locale_LocaleInformation_nn_NO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_nn_NO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_nn_NO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_nn_NO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_nn_NO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_no_NO.h b/libjava/gnu/java/locale/LocaleInformation_no_NO.h new file mode 100644 index 00000000000..5d3443d0b66 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_no_NO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_no_NO__ +#define __gnu_java_locale_LocaleInformation_no_NO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_no_NO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_no_NO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_no_NO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_no_NO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_oc_FR.h b/libjava/gnu/java/locale/LocaleInformation_oc_FR.h new file mode 100644 index 00000000000..62730255ed0 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_oc_FR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_oc_FR__ +#define __gnu_java_locale_LocaleInformation_oc_FR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_oc_FR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_oc_FR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_oc_FR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_oc_FR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_pl_PL.h b/libjava/gnu/java/locale/LocaleInformation_pl_PL.h new file mode 100644 index 00000000000..39e32732284 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_pl_PL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_pl_PL__ +#define __gnu_java_locale_LocaleInformation_pl_PL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_pl_PL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_pl_PL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_pl_PL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_pl_PL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_pt_BR.h b/libjava/gnu/java/locale/LocaleInformation_pt_BR.h new file mode 100644 index 00000000000..974796c0149 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_pt_BR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_pt_BR__ +#define __gnu_java_locale_LocaleInformation_pt_BR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_pt_BR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_pt_BR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_pt_BR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_pt_BR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_pt_PT.h b/libjava/gnu/java/locale/LocaleInformation_pt_PT.h new file mode 100644 index 00000000000..891207418c0 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_pt_PT.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_pt_PT__ +#define __gnu_java_locale_LocaleInformation_pt_PT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_pt_PT; + } + } + } +} + +class gnu::java::locale::LocaleInformation_pt_PT : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_pt_PT(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_pt_PT__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ro_RO.h b/libjava/gnu/java/locale/LocaleInformation_ro_RO.h new file mode 100644 index 00000000000..854a9fa30dc --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ro_RO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ro_RO__ +#define __gnu_java_locale_LocaleInformation_ro_RO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ro_RO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ro_RO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ro_RO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ro_RO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ru_RU.h b/libjava/gnu/java/locale/LocaleInformation_ru_RU.h new file mode 100644 index 00000000000..c57be36e44e --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ru_RU.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ru_RU__ +#define __gnu_java_locale_LocaleInformation_ru_RU__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ru_RU; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ru_RU : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ru_RU(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ru_RU__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ru_UA.h b/libjava/gnu/java/locale/LocaleInformation_ru_UA.h new file mode 100644 index 00000000000..a4d8c03845c --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ru_UA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ru_UA__ +#define __gnu_java_locale_LocaleInformation_ru_UA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ru_UA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ru_UA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ru_UA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ru_UA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_se_NO.h b/libjava/gnu/java/locale/LocaleInformation_se_NO.h new file mode 100644 index 00000000000..4ca87729e63 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_se_NO.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_se_NO__ +#define __gnu_java_locale_LocaleInformation_se_NO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_se_NO; + } + } + } +} + +class gnu::java::locale::LocaleInformation_se_NO : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_se_NO(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_se_NO__ diff --git a/libjava/gnu/java/locale/LocaleInformation_sk_SK.h b/libjava/gnu/java/locale/LocaleInformation_sk_SK.h new file mode 100644 index 00000000000..c1142289e57 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_sk_SK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_sk_SK__ +#define __gnu_java_locale_LocaleInformation_sk_SK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_sk_SK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_sk_SK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_sk_SK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_sk_SK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_sl_SI.h b/libjava/gnu/java/locale/LocaleInformation_sl_SI.h new file mode 100644 index 00000000000..51aa0403dc5 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_sl_SI.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_sl_SI__ +#define __gnu_java_locale_LocaleInformation_sl_SI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_sl_SI; + } + } + } +} + +class gnu::java::locale::LocaleInformation_sl_SI : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_sl_SI(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_sl_SI__ diff --git a/libjava/gnu/java/locale/LocaleInformation_sq_AL.h b/libjava/gnu/java/locale/LocaleInformation_sq_AL.h new file mode 100644 index 00000000000..493cca5518e --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_sq_AL.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_sq_AL__ +#define __gnu_java_locale_LocaleInformation_sq_AL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_sq_AL; + } + } + } +} + +class gnu::java::locale::LocaleInformation_sq_AL : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_sq_AL(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_sq_AL__ diff --git a/libjava/gnu/java/locale/LocaleInformation_sr_YU.h b/libjava/gnu/java/locale/LocaleInformation_sr_YU.h new file mode 100644 index 00000000000..42349ca2dab --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_sr_YU.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_sr_YU__ +#define __gnu_java_locale_LocaleInformation_sr_YU__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_sr_YU; + } + } + } +} + +class gnu::java::locale::LocaleInformation_sr_YU : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_sr_YU(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_sr_YU__ diff --git a/libjava/gnu/java/locale/LocaleInformation_sv_FI.h b/libjava/gnu/java/locale/LocaleInformation_sv_FI.h new file mode 100644 index 00000000000..f5df7dcba91 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_sv_FI.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_sv_FI__ +#define __gnu_java_locale_LocaleInformation_sv_FI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_sv_FI; + } + } + } +} + +class gnu::java::locale::LocaleInformation_sv_FI : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_sv_FI(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_sv_FI__ diff --git a/libjava/gnu/java/locale/LocaleInformation_sv_SE.h b/libjava/gnu/java/locale/LocaleInformation_sv_SE.h new file mode 100644 index 00000000000..0a9e89c1db5 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_sv_SE.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_sv_SE__ +#define __gnu_java_locale_LocaleInformation_sv_SE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_sv_SE; + } + } + } +} + +class gnu::java::locale::LocaleInformation_sv_SE : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_sv_SE(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_sv_SE__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ta_IN.h b/libjava/gnu/java/locale/LocaleInformation_ta_IN.h new file mode 100644 index 00000000000..8ec6e611dbc --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ta_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ta_IN__ +#define __gnu_java_locale_LocaleInformation_ta_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ta_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ta_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ta_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ta_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_te_IN.h b/libjava/gnu/java/locale/LocaleInformation_te_IN.h new file mode 100644 index 00000000000..4942cb7cd4c --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_te_IN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_te_IN__ +#define __gnu_java_locale_LocaleInformation_te_IN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_te_IN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_te_IN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_te_IN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_te_IN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_tg_TJ.h b/libjava/gnu/java/locale/LocaleInformation_tg_TJ.h new file mode 100644 index 00000000000..ff642afcb55 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_tg_TJ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_tg_TJ__ +#define __gnu_java_locale_LocaleInformation_tg_TJ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_tg_TJ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_tg_TJ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_tg_TJ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_tg_TJ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_tl_PH.h b/libjava/gnu/java/locale/LocaleInformation_tl_PH.h new file mode 100644 index 00000000000..e8475692964 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_tl_PH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_tl_PH__ +#define __gnu_java_locale_LocaleInformation_tl_PH__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_tl_PH; + } + } + } +} + +class gnu::java::locale::LocaleInformation_tl_PH : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_tl_PH(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_tl_PH__ diff --git a/libjava/gnu/java/locale/LocaleInformation_tr_TR.h b/libjava/gnu/java/locale/LocaleInformation_tr_TR.h new file mode 100644 index 00000000000..19edf48cb38 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_tr_TR.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_tr_TR__ +#define __gnu_java_locale_LocaleInformation_tr_TR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_tr_TR; + } + } + } +} + +class gnu::java::locale::LocaleInformation_tr_TR : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_tr_TR(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_tr_TR__ diff --git a/libjava/gnu/java/locale/LocaleInformation_uk_UA.h b/libjava/gnu/java/locale/LocaleInformation_uk_UA.h new file mode 100644 index 00000000000..ace1c31b655 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_uk_UA.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_uk_UA__ +#define __gnu_java_locale_LocaleInformation_uk_UA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_uk_UA; + } + } + } +} + +class gnu::java::locale::LocaleInformation_uk_UA : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_uk_UA(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_uk_UA__ diff --git a/libjava/gnu/java/locale/LocaleInformation_ur_PK.h b/libjava/gnu/java/locale/LocaleInformation_ur_PK.h new file mode 100644 index 00000000000..dc7a5ccf316 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_ur_PK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_ur_PK__ +#define __gnu_java_locale_LocaleInformation_ur_PK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_ur_PK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_ur_PK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_ur_PK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_ur_PK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_uz_UZ.h b/libjava/gnu/java/locale/LocaleInformation_uz_UZ.h new file mode 100644 index 00000000000..ec8d3fb492f --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_uz_UZ.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_uz_UZ__ +#define __gnu_java_locale_LocaleInformation_uz_UZ__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_uz_UZ; + } + } + } +} + +class gnu::java::locale::LocaleInformation_uz_UZ : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_uz_UZ(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_uz_UZ__ diff --git a/libjava/gnu/java/locale/LocaleInformation_vi_VN.h b/libjava/gnu/java/locale/LocaleInformation_vi_VN.h new file mode 100644 index 00000000000..293c03b8179 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_vi_VN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_vi_VN__ +#define __gnu_java_locale_LocaleInformation_vi_VN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_vi_VN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_vi_VN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_vi_VN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_vi_VN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_yi_US.h b/libjava/gnu/java/locale/LocaleInformation_yi_US.h new file mode 100644 index 00000000000..613e0b2fa23 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_yi_US.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_yi_US__ +#define __gnu_java_locale_LocaleInformation_yi_US__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_yi_US; + } + } + } +} + +class gnu::java::locale::LocaleInformation_yi_US : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_yi_US(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_yi_US__ diff --git a/libjava/gnu/java/locale/LocaleInformation_zh_CN.h b/libjava/gnu/java/locale/LocaleInformation_zh_CN.h new file mode 100644 index 00000000000..cefd2446a5a --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_zh_CN.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_zh_CN__ +#define __gnu_java_locale_LocaleInformation_zh_CN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_zh_CN; + } + } + } +} + +class gnu::java::locale::LocaleInformation_zh_CN : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_zh_CN(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_zh_CN__ diff --git a/libjava/gnu/java/locale/LocaleInformation_zh_HK.h b/libjava/gnu/java/locale/LocaleInformation_zh_HK.h new file mode 100644 index 00000000000..f0e0c18a71b --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_zh_HK.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_zh_HK__ +#define __gnu_java_locale_LocaleInformation_zh_HK__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_zh_HK; + } + } + } +} + +class gnu::java::locale::LocaleInformation_zh_HK : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_zh_HK(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_zh_HK__ diff --git a/libjava/gnu/java/locale/LocaleInformation_zh_SG.h b/libjava/gnu/java/locale/LocaleInformation_zh_SG.h new file mode 100644 index 00000000000..39f28d1a823 --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_zh_SG.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_zh_SG__ +#define __gnu_java_locale_LocaleInformation_zh_SG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_zh_SG; + } + } + } +} + +class gnu::java::locale::LocaleInformation_zh_SG : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_zh_SG(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_zh_SG__ diff --git a/libjava/gnu/java/locale/LocaleInformation_zh_TW.h b/libjava/gnu/java/locale/LocaleInformation_zh_TW.h new file mode 100644 index 00000000000..32cf3db4eaf --- /dev/null +++ b/libjava/gnu/java/locale/LocaleInformation_zh_TW.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_locale_LocaleInformation_zh_TW__ +#define __gnu_java_locale_LocaleInformation_zh_TW__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace locale + { + class LocaleInformation_zh_TW; + } + } + } +} + +class gnu::java::locale::LocaleInformation_zh_TW : public ::java::util::ListResourceBundle +{ + +public: + LocaleInformation_zh_TW(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); +public: // actually package-private + static ::java::lang::String * decimalSeparator; + static ::java::lang::String * groupingSeparator; + static ::java::lang::String * numberFormat; + static ::java::lang::String * percentFormat; + static JArray< ::java::lang::String * > * weekdays; + static JArray< ::java::lang::String * > * shortWeekdays; + static JArray< ::java::lang::String * > * shortMonths; + static JArray< ::java::lang::String * > * months; + static JArray< ::java::lang::String * > * ampms; + static ::java::lang::String * shortDateFormat; + static ::java::lang::String * defaultTimeFormat; + static ::java::lang::String * currencySymbol; + static ::java::lang::String * intlCurrencySymbol; + static ::java::lang::String * currencyFormat; +private: + static JArray< JArray< ::java::lang::Object * > * > * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_locale_LocaleInformation_zh_TW__ diff --git a/libjava/gnu/java/math/MPN.h b/libjava/gnu/java/math/MPN.h new file mode 100644 index 00000000000..50289abae33 --- /dev/null +++ b/libjava/gnu/java/math/MPN.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_math_MPN__ +#define __gnu_java_math_MPN__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace math + { + class MPN; + } + } + } +} + +class gnu::java::math::MPN : public ::java::lang::Object +{ + +public: + MPN(); + static jint add_1(JArray< jint > *, JArray< jint > *, jint, jint); + static jint add_n(JArray< jint > *, JArray< jint > *, JArray< jint > *, jint); + static jint sub_n(JArray< jint > *, JArray< jint > *, JArray< jint > *, jint); + static jint mul_1(JArray< jint > *, JArray< jint > *, jint, jint); + static void mul(JArray< jint > *, JArray< jint > *, jint, JArray< jint > *, jint); + static jlong udiv_qrnnd(jlong, jint); + static jint divmod_1(JArray< jint > *, JArray< jint > *, jint, jint); + static jint submul_1(JArray< jint > *, jint, JArray< jint > *, jint, jint); + static void divide(JArray< jint > *, jint, JArray< jint > *, jint); + static jint chars_per_word(jint); + static jint count_leading_zeros(jint); + static jint set_str(JArray< jint > *, JArray< jbyte > *, jint, jint); + static jint cmp(JArray< jint > *, JArray< jint > *, jint); + static jint cmp(JArray< jint > *, jint, JArray< jint > *, jint); + static jint rshift(JArray< jint > *, JArray< jint > *, jint, jint, jint); + static void rshift0(JArray< jint > *, JArray< jint > *, jint, jint, jint); + static jlong rshift_long(JArray< jint > *, jint, jint); + static jint lshift(JArray< jint > *, jint, JArray< jint > *, jint, jint); + static jint findLowestBit(jint); + static jint findLowestBit(JArray< jint > *); + static jint gcd(JArray< jint > *, JArray< jint > *, jint); + static jint intLength(jint); + static jint intLength(JArray< jint > *, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_math_MPN__ diff --git a/libjava/gnu/java/net/BASE64.h b/libjava/gnu/java/net/BASE64.h new file mode 100644 index 00000000000..77616ba5136 --- /dev/null +++ b/libjava/gnu/java/net/BASE64.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_BASE64__ +#define __gnu_java_net_BASE64__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class BASE64; + } + } + } +} + +class gnu::java::net::BASE64 : public ::java::lang::Object +{ + + BASE64(); +public: + static JArray< jbyte > * encode(JArray< jbyte > *); + static JArray< jbyte > * decode(JArray< jbyte > *); + static void main(JArray< ::java::lang::String * > *); +private: + static JArray< jbyte > * src; + static JArray< jbyte > * dst; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_BASE64__ diff --git a/libjava/gnu/java/net/CRLFInputStream.h b/libjava/gnu/java/net/CRLFInputStream.h new file mode 100644 index 00000000000..1c4df5cccfc --- /dev/null +++ b/libjava/gnu/java/net/CRLFInputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_CRLFInputStream__ +#define __gnu_java_net_CRLFInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class CRLFInputStream; + } + } + } +} + +class gnu::java::net::CRLFInputStream : public ::java::io::InputStream +{ + +public: + CRLFInputStream(::java::io::InputStream *); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + jint indexOfCRLF(JArray< jbyte > *, jint, jint); +public: + static const jint CR = 13; + static const jint LF = 10; +public: // actually protected + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; +private: + jboolean doReset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_CRLFInputStream__ diff --git a/libjava/gnu/java/net/CRLFOutputStream.h b/libjava/gnu/java/net/CRLFOutputStream.h new file mode 100644 index 00000000000..594d7ae6fa1 --- /dev/null +++ b/libjava/gnu/java/net/CRLFOutputStream.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_CRLFOutputStream__ +#define __gnu_java_net_CRLFOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class CRLFOutputStream; + } + } + } +} + +class gnu::java::net::CRLFOutputStream : public ::java::io::FilterOutputStream +{ + +public: + CRLFOutputStream(::java::io::OutputStream *); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(::java::lang::String *); + virtual void writeln(); +public: // actually package-private + static ::java::lang::String * US_ASCII; +public: + static const jint CR = 13; + static const jint LF = 10; + static JArray< jbyte > * CRLF; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) last; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_CRLFOutputStream__ diff --git a/libjava/gnu/java/net/DefaultContentHandlerFactory.h b/libjava/gnu/java/net/DefaultContentHandlerFactory.h new file mode 100644 index 00000000000..06c3f6f5290 --- /dev/null +++ b/libjava/gnu/java/net/DefaultContentHandlerFactory.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_DefaultContentHandlerFactory__ +#define __gnu_java_net_DefaultContentHandlerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class DefaultContentHandlerFactory; + } + } + } + namespace java + { + namespace net + { + class ContentHandler; + } + } +} + +class gnu::java::net::DefaultContentHandlerFactory : public ::java::lang::Object +{ + +public: + DefaultContentHandlerFactory(); + virtual ::java::net::ContentHandler * createContentHandler(::java::lang::String *); +private: + static JArray< ::java::lang::String * > * known_image_types; + static ::java::util::HashSet * imageTypes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_DefaultContentHandlerFactory__ diff --git a/libjava/gnu/java/net/DefaultProxySelector.h b/libjava/gnu/java/net/DefaultProxySelector.h new file mode 100644 index 00000000000..11a4fce0968 --- /dev/null +++ b/libjava/gnu/java/net/DefaultProxySelector.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_DefaultProxySelector__ +#define __gnu_java_net_DefaultProxySelector__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class DefaultProxySelector; + } + } + } + namespace java + { + namespace net + { + class SocketAddress; + class URI; + } + } +} + +class gnu::java::net::DefaultProxySelector : public ::java::net::ProxySelector +{ + +public: + DefaultProxySelector(); + void connectFailed(::java::net::URI *, ::java::net::SocketAddress *, ::java::io::IOException *); + ::java::util::List * select(::java::net::URI *); +private: + static ::java::util::List * proxies; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_DefaultProxySelector__ diff --git a/libjava/gnu/java/net/EmptyX509TrustManager.h b/libjava/gnu/java/net/EmptyX509TrustManager.h new file mode 100644 index 00000000000..df08b8197fe --- /dev/null +++ b/libjava/gnu/java/net/EmptyX509TrustManager.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_EmptyX509TrustManager__ +#define __gnu_java_net_EmptyX509TrustManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class EmptyX509TrustManager; + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class gnu::java::net::EmptyX509TrustManager : public ::java::lang::Object +{ + +public: + EmptyX509TrustManager(); + virtual void checkClientTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *); + virtual void checkServerTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *); + virtual JArray< ::java::security::cert::X509Certificate * > * getAcceptedIssuers(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_EmptyX509TrustManager__ diff --git a/libjava/gnu/java/net/GetLocalHostAction.h b/libjava/gnu/java/net/GetLocalHostAction.h new file mode 100644 index 00000000000..7c82e46fa71 --- /dev/null +++ b/libjava/gnu/java/net/GetLocalHostAction.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_GetLocalHostAction__ +#define __gnu_java_net_GetLocalHostAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class GetLocalHostAction; + } + } + } +} + +class gnu::java::net::GetLocalHostAction : public ::java::lang::Object +{ + +public: + GetLocalHostAction(); + virtual ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_GetLocalHostAction__ diff --git a/libjava/gnu/java/net/HeaderFieldHelper.h b/libjava/gnu/java/net/HeaderFieldHelper.h new file mode 100644 index 00000000000..ace66785d40 --- /dev/null +++ b/libjava/gnu/java/net/HeaderFieldHelper.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_HeaderFieldHelper__ +#define __gnu_java_net_HeaderFieldHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class HeaderFieldHelper; + } + } + } +} + +class gnu::java::net::HeaderFieldHelper : public ::java::lang::Object +{ + +public: + HeaderFieldHelper(); + HeaderFieldHelper(jint); + virtual void addHeaderField(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getHeaderFieldKeyByIndex(jint); + virtual ::java::lang::String * getHeaderFieldValueByIndex(jint); + virtual ::java::lang::String * getHeaderFieldValueByKey(::java::lang::String *); + virtual ::java::util::Map * getHeaderFields(); + virtual jint getNumberOfEntries(); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) headerFieldKeys; + ::java::util::Vector * headerFieldValues; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_HeaderFieldHelper__ diff --git a/libjava/gnu/java/net/ImageHandler.h b/libjava/gnu/java/net/ImageHandler.h new file mode 100644 index 00000000000..41aba924a7d --- /dev/null +++ b/libjava/gnu/java/net/ImageHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_ImageHandler__ +#define __gnu_java_net_ImageHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class ImageHandler; + } + } + } + namespace java + { + namespace net + { + class URLConnection; + } + } +} + +class gnu::java::net::ImageHandler : public ::java::net::ContentHandler +{ + +public: // actually package-private + ImageHandler(); +public: + virtual ::java::lang::Object * getContent(::java::net::URLConnection *); +public: // actually package-private + static ::gnu::java::net::ImageHandler * instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_ImageHandler__ diff --git a/libjava/gnu/java/net/IndexListParser.h b/libjava/gnu/java/net/IndexListParser.h new file mode 100644 index 00000000000..2bbeec1b32e --- /dev/null +++ b/libjava/gnu/java/net/IndexListParser.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_IndexListParser__ +#define __gnu_java_net_IndexListParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class IndexListParser; + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::IndexListParser : public ::java::lang::Object +{ + +public: + IndexListParser(::java::util::jar::JarFile *, ::java::net::URL *, ::java::net::URL *); +public: // actually package-private + virtual void clearAll(); +public: + virtual ::java::lang::String * getVersionInfo(); + virtual jdouble getVersionNumber(); + virtual ::java::util::LinkedHashMap * getHeaders(); + static ::java::lang::String * JAR_INDEX_FILE; + static ::java::lang::String * JAR_INDEX_VERSION_KEY; +public: // actually package-private + jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) versionNumber; + ::java::util::LinkedHashMap * prefixes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_IndexListParser__ diff --git a/libjava/gnu/java/net/LineInputStream.h b/libjava/gnu/java/net/LineInputStream.h new file mode 100644 index 00000000000..194847efc18 --- /dev/null +++ b/libjava/gnu/java/net/LineInputStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_LineInputStream__ +#define __gnu_java_net_LineInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class LineInputStream; + } + } + } +} + +class gnu::java::net::LineInputStream : public ::java::io::InputStream +{ + +public: + LineInputStream(::java::io::InputStream *); + LineInputStream(::java::io::InputStream *, ::java::lang::String *); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * readLine(); +private: + jint indexOf(JArray< jbyte > *, jint, jbyte); +public: // actually protected + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; +private: + ::java::io::ByteArrayOutputStream * buf; + ::java::lang::String * encoding; + jboolean eof; + jboolean blockReads; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_LineInputStream__ diff --git a/libjava/gnu/java/net/PlainDatagramSocketImpl.h b/libjava/gnu/java/net/PlainDatagramSocketImpl.h new file mode 100644 index 00000000000..c57296fafe2 --- /dev/null +++ b/libjava/gnu/java/net/PlainDatagramSocketImpl.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_PlainDatagramSocketImpl__ +#define __gnu_java_net_PlainDatagramSocketImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainDatagramSocketImpl; + } + } + } + namespace java + { + namespace net + { + class DatagramPacket; + class InetAddress; + class NetworkInterface; + class SocketAddress; + } + } +} + +class gnu::java::net::PlainDatagramSocketImpl : public ::java::net::DatagramSocketImpl +{ + +public: + PlainDatagramSocketImpl(); +public: // actually protected + void finalize(); +public: + jint getNativeFD(); +public: // actually protected + void bind(jint, ::java::net::InetAddress *); + void connect(::java::net::InetAddress *, jint); + void disconnect(); + void create(); + jint peek(::java::net::InetAddress *); + jint peekData(::java::net::DatagramPacket *); + void setTimeToLive(jint); + jint getTimeToLive(); + void send(::java::net::DatagramPacket *); + void receive(::java::net::DatagramPacket *); +public: + void setOption(jint, ::java::lang::Object *); + ::java::lang::Object * getOption(jint); +private: + void mcastGrp(::java::net::InetAddress *, ::java::net::NetworkInterface *, jboolean); +public: // actually protected + void close(); + jbyte getTTL(); + void setTTL(jbyte); + void join(::java::net::InetAddress *); + void leave(::java::net::InetAddress *); + void joinGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *); + void leaveGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *); +public: // actually package-private + static const jint _Jv_TCP_NODELAY_ = 1; + static const jint _Jv_SO_BINDADDR_ = 15; + static const jint _Jv_SO_REUSEADDR_ = 4; + static const jint _Jv_SO_BROADCAST_ = 32; + static const jint _Jv_SO_OOBINLINE_ = 4099; + static const jint _Jv_IP_MULTICAST_IF_ = 16; + static const jint _Jv_IP_MULTICAST_IF2_ = 31; + static const jint _Jv_IP_MULTICAST_LOOP_ = 18; + static const jint _Jv_IP_TOS_ = 3; + static const jint _Jv_SO_LINGER_ = 128; + static const jint _Jv_SO_TIMEOUT_ = 4102; + static const jint _Jv_SO_SNDBUF_ = 4097; + static const jint _Jv_SO_RCVBUF_ = 4098; + static const jint _Jv_SO_KEEPALIVE_ = 8; + jint __attribute__((aligned(__alignof__( ::java::net::DatagramSocketImpl)))) native_fd; +private: + ::java::lang::Object * RECEIVE_LOCK; + ::java::lang::Object * SEND_LOCK; +public: // actually package-private + ::java::net::InetAddress * localAddress; + jint timeout; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_PlainDatagramSocketImpl__ diff --git a/libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h b/libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h new file mode 100644 index 00000000000..83ac40cf5a3 --- /dev/null +++ b/libjava/gnu/java/net/PlainSocketImpl$SocketInputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_PlainSocketImpl$SocketInputStream__ +#define __gnu_java_net_PlainSocketImpl$SocketInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + class PlainSocketImpl$SocketInputStream; + } + } + } +} + +class gnu::java::net::PlainSocketImpl$SocketInputStream : public ::java::io::InputStream +{ + +public: // actually package-private + PlainSocketImpl$SocketInputStream(::gnu::java::net::PlainSocketImpl *); +public: + jint available(); + void close(); + jint read(); + jint read(JArray< jbyte > *, jint, jint); +public: // actually package-private + ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_PlainSocketImpl$SocketInputStream__ diff --git a/libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h b/libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h new file mode 100644 index 00000000000..852e894f29e --- /dev/null +++ b/libjava/gnu/java/net/PlainSocketImpl$SocketOutputStream.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_PlainSocketImpl$SocketOutputStream__ +#define __gnu_java_net_PlainSocketImpl$SocketOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + class PlainSocketImpl$SocketOutputStream; + } + } + } +} + +class gnu::java::net::PlainSocketImpl$SocketOutputStream : public ::java::io::OutputStream +{ + +public: // actually package-private + PlainSocketImpl$SocketOutputStream(::gnu::java::net::PlainSocketImpl *); +public: + void close(); + void write(jint); + void write(JArray< jbyte > *, jint, jint); +public: // actually package-private + ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_PlainSocketImpl$SocketOutputStream__ diff --git a/libjava/gnu/java/net/PlainSocketImpl.h b/libjava/gnu/java/net/PlainSocketImpl.h new file mode 100644 index 00000000000..7f13ea610b6 --- /dev/null +++ b/libjava/gnu/java/net/PlainSocketImpl.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_PlainSocketImpl__ +#define __gnu_java_net_PlainSocketImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class SocketAddress; + class SocketImpl; + } + } +} + +class gnu::java::net::PlainSocketImpl : public ::java::net::SocketImpl +{ + +public: + jboolean isInChannelOperation(); + void setInChannelOperation(jboolean); + PlainSocketImpl(); +public: // actually protected + void finalize(); +public: + jint getNativeFD(); + void setOption(jint, ::java::lang::Object *); + ::java::lang::Object * getOption(jint); + void shutdownInput(); + void shutdownOutput(); +public: // actually protected + void create(jboolean); + void connect(::java::lang::String *, jint); + void connect(::java::net::InetAddress *, jint); + void connect(::java::net::SocketAddress *, jint); + void bind(::java::net::InetAddress *, jint); + void listen(jint); + void accept(::java::net::SocketImpl *); +private: + void accept(::gnu::java::net::PlainSocketImpl *); +public: // actually protected + jint available(); + void close(); + void sendUrgentData(jint); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); +public: // actually package-private + static const jint _Jv_TCP_NODELAY_ = 1; + static const jint _Jv_SO_BINDADDR_ = 15; + static const jint _Jv_SO_REUSEADDR_ = 4; + static const jint _Jv_SO_BROADCAST_ = 32; + static const jint _Jv_SO_OOBINLINE_ = 4099; + static const jint _Jv_IP_MULTICAST_IF_ = 16; + static const jint _Jv_IP_MULTICAST_IF2_ = 31; + static const jint _Jv_IP_MULTICAST_LOOP_ = 18; + static const jint _Jv_IP_TOS_ = 3; + static const jint _Jv_SO_LINGER_ = 128; + static const jint _Jv_SO_TIMEOUT_ = 4102; + static const jint _Jv_SO_SNDBUF_ = 4097; + static const jint _Jv_SO_RCVBUF_ = 4098; + static const jint _Jv_SO_KEEPALIVE_ = 8; + jint __attribute__((aligned(__alignof__( ::java::net::SocketImpl)))) native_fd; + jint timeout; + ::java::net::InetAddress * localAddress; +private: + ::java::io::InputStream * in; + ::java::io::OutputStream * out; + jboolean inChannelOperation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_PlainSocketImpl__ diff --git a/libjava/gnu/java/net/URLParseError.h b/libjava/gnu/java/net/URLParseError.h new file mode 100644 index 00000000000..c900dc0009d --- /dev/null +++ b/libjava/gnu/java/net/URLParseError.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_URLParseError__ +#define __gnu_java_net_URLParseError__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class URLParseError; + } + } + } +} + +class gnu::java::net::URLParseError : public ::java::lang::Error +{ + +public: + URLParseError(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_URLParseError__ diff --git a/libjava/gnu/java/net/loader/FileResource.h b/libjava/gnu/java/net/loader/FileResource.h new file mode 100644 index 00000000000..37f1d12cafb --- /dev/null +++ b/libjava/gnu/java/net/loader/FileResource.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_FileResource__ +#define __gnu_java_net_loader_FileResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class FileResource; + class FileURLLoader; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::loader::FileResource : public ::gnu::java::net::loader::Resource +{ + +public: + FileResource(::gnu::java::net::loader::FileURLLoader *, ::java::io::File *); + ::java::io::InputStream * getInputStream(); + jint getLength(); + ::java::net::URL * getURL(); +public: // actually package-private + ::java::io::File * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) file; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_FileResource__ diff --git a/libjava/gnu/java/net/loader/FileURLLoader.h b/libjava/gnu/java/net/loader/FileURLLoader.h new file mode 100644 index 00000000000..4592f7f9a90 --- /dev/null +++ b/libjava/gnu/java/net/loader/FileURLLoader.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_FileURLLoader__ +#define __gnu_java_net_loader_FileURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class FileURLLoader; + class Resource; + class URLStreamHandlerCache; + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLStreamHandlerFactory; + } + } +} + +class gnu::java::net::loader::FileURLLoader : public ::gnu::java::net::loader::URLLoader +{ + +public: + FileURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *); + ::gnu::java::net::loader::Resource * getResource(::java::lang::String *); +private: + ::java::io::File * walkPathComponents(::java::lang::String *); +public: // actually package-private + ::java::io::File * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) dir; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_FileURLLoader__ diff --git a/libjava/gnu/java/net/loader/JarURLLoader.h b/libjava/gnu/java/net/loader/JarURLLoader.h new file mode 100644 index 00000000000..68114ab3698 --- /dev/null +++ b/libjava/gnu/java/net/loader/JarURLLoader.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_JarURLLoader__ +#define __gnu_java_net_loader_JarURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class JarURLLoader; + class Resource; + class URLStreamHandlerCache; + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLStreamHandlerFactory; + } + } +} + +class gnu::java::net::loader::JarURLLoader : public ::gnu::java::net::loader::URLLoader +{ + + JarURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *, ::java::util::Set *); +public: + JarURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *); +private: + void initialize(); +public: + ::gnu::java::net::loader::Resource * getResource(::java::lang::String *); + ::java::util::jar::Manifest * getManifest(); + ::java::util::ArrayList * getClassPath(); +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) initialized; + ::java::util::jar::JarFile * jarfile; + ::java::net::URL * baseJarURL; + ::java::util::ArrayList * classPath; + ::java::util::Set * indexSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_JarURLLoader__ diff --git a/libjava/gnu/java/net/loader/JarURLResource.h b/libjava/gnu/java/net/loader/JarURLResource.h new file mode 100644 index 00000000000..e9fe6a63804 --- /dev/null +++ b/libjava/gnu/java/net/loader/JarURLResource.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_JarURLResource__ +#define __gnu_java_net_loader_JarURLResource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class JarURLLoader; + class JarURLResource; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::java::net::loader::JarURLResource : public ::gnu::java::net::loader::Resource +{ + +public: + JarURLResource(::gnu::java::net::loader::JarURLLoader *, ::java::lang::String *, ::java::util::jar::JarEntry *); + ::java::io::InputStream * getInputStream(); + jint getLength(); + JArray< ::java::security::cert::Certificate * > * getCertificates(); + ::java::net::URL * getURL(); +private: + ::java::util::jar::JarEntry * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) entry; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_JarURLResource__ diff --git a/libjava/gnu/java/net/loader/RemoteResource.h b/libjava/gnu/java/net/loader/RemoteResource.h new file mode 100644 index 00000000000..29ccf16a651 --- /dev/null +++ b/libjava/gnu/java/net/loader/RemoteResource.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_RemoteResource__ +#define __gnu_java_net_loader_RemoteResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class RemoteResource; + class RemoteURLLoader; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::loader::RemoteResource : public ::gnu::java::net::loader::Resource +{ + +public: + RemoteResource(::gnu::java::net::loader::RemoteURLLoader *, ::java::lang::String *, ::java::net::URL *, ::java::io::InputStream *, jint); + ::java::io::InputStream * getInputStream(); + jint getLength(); + ::java::net::URL * getURL(); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) url; + ::java::io::InputStream * stream; +public: // actually package-private + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_RemoteResource__ diff --git a/libjava/gnu/java/net/loader/RemoteURLLoader.h b/libjava/gnu/java/net/loader/RemoteURLLoader.h new file mode 100644 index 00000000000..2c051651b2b --- /dev/null +++ b/libjava/gnu/java/net/loader/RemoteURLLoader.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_RemoteURLLoader__ +#define __gnu_java_net_loader_RemoteURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class RemoteURLLoader; + class Resource; + class URLStreamHandlerCache; + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLStreamHandlerFactory; + } + } +} + +class gnu::java::net::loader::RemoteURLLoader : public ::gnu::java::net::loader::URLLoader +{ + +public: + RemoteURLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *); + ::gnu::java::net::loader::Resource * getResource(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) protocol; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_RemoteURLLoader__ diff --git a/libjava/gnu/java/net/loader/Resource.h b/libjava/gnu/java/net/loader/Resource.h new file mode 100644 index 00000000000..98b626f4ab8 --- /dev/null +++ b/libjava/gnu/java/net/loader/Resource.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_Resource__ +#define __gnu_java_net_loader_Resource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class Resource; + class URLLoader; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class CodeSource; + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::java::net::loader::Resource : public ::java::lang::Object +{ + +public: + Resource(::gnu::java::net::loader::URLLoader *); + virtual ::java::security::CodeSource * getCodeSource(); + virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); + virtual ::gnu::java::net::loader::URLLoader * getLoader(); + virtual ::java::net::URL * getURL() = 0; + virtual jint getLength() = 0; + virtual ::java::io::InputStream * getInputStream() = 0; +public: // actually package-private + ::gnu::java::net::loader::URLLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_Resource__ diff --git a/libjava/gnu/java/net/loader/URLLoader.h b/libjava/gnu/java/net/loader/URLLoader.h new file mode 100644 index 00000000000..76c294b1faa --- /dev/null +++ b/libjava/gnu/java/net/loader/URLLoader.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_URLLoader__ +#define __gnu_java_net_loader_URLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class Resource; + class URLLoader; + class URLStreamHandlerCache; + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLStreamHandlerFactory; + } + namespace security + { + class CodeSource; + } + } +} + +class gnu::java::net::loader::URLLoader : public ::java::lang::Object +{ + +public: + URLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *); + URLLoader(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *); + virtual ::java::net::URL * getBaseURL(); + virtual ::java::lang::Class * getClass(::java::lang::String *); + virtual ::gnu::java::net::loader::Resource * getResource(::java::lang::String *) = 0; + virtual ::java::util::jar::Manifest * getManifest(); + virtual ::java::util::ArrayList * getClassPath(); +public: // actually package-private + ::java::net::URLClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classloader; + ::java::net::URL * baseURL; + ::java::net::URLStreamHandlerFactory * factory; + ::gnu::java::net::loader::URLStreamHandlerCache * cache; + ::java::security::CodeSource * noCertCodeSource; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_URLLoader__ diff --git a/libjava/gnu/java/net/loader/URLStreamHandlerCache.h b/libjava/gnu/java/net/loader/URLStreamHandlerCache.h new file mode 100644 index 00000000000..a41d1d982bc --- /dev/null +++ b/libjava/gnu/java/net/loader/URLStreamHandlerCache.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_loader_URLStreamHandlerCache__ +#define __gnu_java_net_loader_URLStreamHandlerCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace loader + { + class URLStreamHandlerCache; + } + } + } + } + namespace java + { + namespace net + { + class URLStreamHandler; + class URLStreamHandlerFactory; + } + } +} + +class gnu::java::net::loader::URLStreamHandlerCache : public ::java::lang::Object +{ + +public: + URLStreamHandlerCache(); + virtual void add(::java::net::URLStreamHandlerFactory *); + virtual ::java::net::URLStreamHandler * get(::java::net::URLStreamHandlerFactory *, ::java::lang::String *); +private: + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) factoryCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_loader_URLStreamHandlerCache__ diff --git a/libjava/gnu/java/net/local/LocalServerSocket.h b/libjava/gnu/java/net/local/LocalServerSocket.h new file mode 100644 index 00000000000..35969bc6520 --- /dev/null +++ b/libjava/gnu/java/net/local/LocalServerSocket.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_local_LocalServerSocket__ +#define __gnu_java_net_local_LocalServerSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace local + { + class LocalServerSocket; + class LocalSocketImpl; + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class Socket; + class SocketAddress; + } + } +} + +class gnu::java::net::local::LocalServerSocket : public ::java::net::ServerSocket +{ + +public: + LocalServerSocket(); + LocalServerSocket(::java::net::SocketAddress *); + void bind(::java::net::SocketAddress *); + void bind(::java::net::SocketAddress *, jint); + ::java::net::InetAddress * getInetAddress(); + jint getLocalPort(); + ::java::net::SocketAddress * getLocalSocketAddress(); + ::java::net::Socket * accept(); + void close(); + jboolean isBound(); + jboolean isClosed(); + void setSoTimeout(jint); + jint getSoTimeout(); + void setReuseAddress(jboolean); + jboolean getReuseAddress(); + ::java::lang::String * toString(); + void setReceiveBufferSize(jint); + jint getReceiveBufferSize(); + void setSendBufferSize(jint); + jint getSendBufferSize(); +private: + ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::net::ServerSocket)))) myImpl; + jboolean closed; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_local_LocalServerSocket__ diff --git a/libjava/gnu/java/net/local/LocalSocket.h b/libjava/gnu/java/net/local/LocalSocket.h new file mode 100644 index 00000000000..c33f540a268 --- /dev/null +++ b/libjava/gnu/java/net/local/LocalSocket.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_local_LocalSocket__ +#define __gnu_java_net_local_LocalSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace local + { + class LocalSocket; + class LocalSocketAddress; + class LocalSocketImpl; + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class SocketAddress; + } + namespace nio + { + namespace channels + { + class SocketChannel; + } + } + } +} + +class gnu::java::net::local::LocalSocket : public ::java::net::Socket +{ + +public: + LocalSocket(); + LocalSocket(::gnu::java::net::local::LocalSocketAddress *); +public: // actually package-private + LocalSocket(jboolean); +public: + void bind(::java::net::SocketAddress *); + void connect(::java::net::SocketAddress *, jint); + ::java::net::InetAddress * getInetAddress(); + ::java::net::InetAddress * getLocalAddress(); + jint getPort(); + jint getLocalPort(); + ::java::nio::channels::SocketChannel * getChannel(); + ::java::net::SocketAddress * getLocalSocketAddress(); + ::java::net::SocketAddress * getRemoteSocketAddress(); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + void sendUrgentData(jint); + void close(); + void shutdownInput(); + void shutdownOutput(); + jboolean isClosed(); + jboolean isBound(); + jboolean isConnected(); + void setTcpNoDelay(jboolean); + jboolean getTcpNoDelay(); + void setSoLinger(jboolean, jint); + jint getSoLinger(); + void setOOBInline(jboolean); + jboolean getOOBInline(); + void setSoTimeout(jint); + jint getSoTimeout(); + void setSendBufferSize(jint); + jint getSendBufferSize(); + void setReceiveBufferSize(jint); + jint getReceiveBufferSize(); + void setKeepAlive(jboolean); + jboolean getKeepAlive(); + void setTrafficClass(jint); + jint getTrafficClass(); + void setReuseAddress(jboolean); + jboolean getReuseAddress(); +public: // actually package-private + ::gnu::java::net::local::LocalSocketImpl * getLocalImpl(); +private: + ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::net::Socket)))) localimpl; +public: // actually package-private + jboolean localClosed; + jboolean localConnected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_local_LocalSocket__ diff --git a/libjava/gnu/java/net/local/LocalSocketAddress.h b/libjava/gnu/java/net/local/LocalSocketAddress.h new file mode 100644 index 00000000000..ef095f61031 --- /dev/null +++ b/libjava/gnu/java/net/local/LocalSocketAddress.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_local_LocalSocketAddress__ +#define __gnu_java_net_local_LocalSocketAddress__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace local + { + class LocalSocketAddress; + } + } + } + } +} + +class gnu::java::net::local::LocalSocketAddress : public ::java::net::SocketAddress +{ + +public: + LocalSocketAddress(::java::lang::String *); + ::java::lang::String * getPath(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::SocketAddress)))) path; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_local_LocalSocketAddress__ diff --git a/libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h b/libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h new file mode 100644 index 00000000000..8b1de381772 --- /dev/null +++ b/libjava/gnu/java/net/local/LocalSocketImpl$LocalInputStream.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_local_LocalSocketImpl$LocalInputStream__ +#define __gnu_java_net_local_LocalSocketImpl$LocalInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace local + { + class LocalSocketImpl; + class LocalSocketImpl$LocalInputStream; + } + } + } + } +} + +class gnu::java::net::local::LocalSocketImpl$LocalInputStream : public ::java::io::InputStream +{ + +public: // actually package-private + LocalSocketImpl$LocalInputStream(::gnu::java::net::local::LocalSocketImpl *, ::gnu::java::net::local::LocalSocketImpl *); +public: + virtual jint available(); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual void close(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) impl; +public: // actually package-private + ::gnu::java::net::local::LocalSocketImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_local_LocalSocketImpl$LocalInputStream__ diff --git a/libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h b/libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h new file mode 100644 index 00000000000..e45600120a1 --- /dev/null +++ b/libjava/gnu/java/net/local/LocalSocketImpl$LocalOutputStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_local_LocalSocketImpl$LocalOutputStream__ +#define __gnu_java_net_local_LocalSocketImpl$LocalOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace local + { + class LocalSocketImpl; + class LocalSocketImpl$LocalOutputStream; + } + } + } + } +} + +class gnu::java::net::local::LocalSocketImpl$LocalOutputStream : public ::java::io::OutputStream +{ + +public: // actually package-private + LocalSocketImpl$LocalOutputStream(::gnu::java::net::local::LocalSocketImpl *, ::gnu::java::net::local::LocalSocketImpl *); +public: + virtual void close(); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); +private: + ::gnu::java::net::local::LocalSocketImpl * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) impl; +public: // actually package-private + ::gnu::java::net::local::LocalSocketImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_local_LocalSocketImpl$LocalOutputStream__ diff --git a/libjava/gnu/java/net/local/LocalSocketImpl.h b/libjava/gnu/java/net/local/LocalSocketImpl.h new file mode 100644 index 00000000000..517d9302761 --- /dev/null +++ b/libjava/gnu/java/net/local/LocalSocketImpl.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_local_LocalSocketImpl__ +#define __gnu_java_net_local_LocalSocketImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace local + { + class LocalSocketAddress; + class LocalSocketImpl; + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class SocketAddress; + class SocketImpl; + } + } +} + +class gnu::java::net::local::LocalSocketImpl : public ::java::net::SocketImpl +{ + +public: // actually package-private + LocalSocketImpl(); + LocalSocketImpl(jboolean); +public: + void setOption(jint, ::java::lang::Object *); + ::java::lang::Object * getOption(jint); +public: // actually protected + void create(jboolean); + void listen(jint); + void accept(::gnu::java::net::local::LocalSocketImpl *); + jint available(); + void close(); + void sendUrgentData(jint); + void shutdownInput(); + void shutdownOutput(); +public: // actually package-private + void unlink(); + void localBind(::gnu::java::net::local::LocalSocketAddress *); + void localConnect(::gnu::java::net::local::LocalSocketAddress *); + jint read(JArray< jbyte > *, jint, jint); + void write(JArray< jbyte > *, jint, jint); + void doCreate(); + ::gnu::java::net::local::LocalSocketAddress * getLocalAddress(); + ::gnu::java::net::local::LocalSocketAddress * getRemoteAddress(); +public: // actually protected + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + void accept(::java::net::SocketImpl *); + void connect(::java::lang::String *, jint); + void connect(::java::net::InetAddress *, jint); + void connect(::java::net::SocketAddress *, jint); + void bind(::java::net::InetAddress *, jint); + void bind(::java::net::SocketAddress *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::net::SocketImpl)))) created; + ::java::io::InputStream * in; + ::java::io::OutputStream * out; + jint socket_fd; + ::gnu::java::net::local::LocalSocketAddress * local; + ::gnu::java::net::local::LocalSocketAddress * remote; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_local_LocalSocketImpl__ diff --git a/libjava/gnu/java/net/protocol/core/Connection.h b/libjava/gnu/java/net/protocol/core/Connection.h new file mode 100644 index 00000000000..d09908b4c7d --- /dev/null +++ b/libjava/gnu/java/net/protocol/core/Connection.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_core_Connection__ +#define __gnu_java_net_protocol_core_Connection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class Core; + } + namespace java + { + namespace net + { + namespace protocol + { + namespace core + { + class Connection; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::protocol::core::Connection : public ::java::net::URLConnection +{ + +public: + Connection(::java::net::URL *); + virtual void connect(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::lang::String * getHeaderField(::java::lang::String *); + virtual ::java::util::Map * getHeaderFields(); + virtual ::java::lang::String * getHeaderField(jint); + virtual ::java::lang::String * getHeaderFieldKey(jint); +private: + ::java::lang::String * getKey(::java::lang::String *); + ::java::lang::String * getField(::java::lang::String *); + void getHeaders(); + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) hdrHash; + ::java::util::Vector * hdrVec; + jboolean gotHeaders; + ::gnu::gcj::Core * core; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_core_Connection__ diff --git a/libjava/gnu/java/net/protocol/core/CoreInputStream.h b/libjava/gnu/java/net/protocol/core/CoreInputStream.h new file mode 100644 index 00000000000..d6beb396584 --- /dev/null +++ b/libjava/gnu/java/net/protocol/core/CoreInputStream.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_core_CoreInputStream__ +#define __gnu_java_net_protocol_core_CoreInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class Core; + class RawData; + } + namespace java + { + namespace net + { + namespace protocol + { + namespace core + { + class CoreInputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::core::CoreInputStream : public ::java::io::InputStream +{ + + jint unsafeGetByte(jlong); + jint copyIntoByteArray(JArray< jbyte > *, jint, jint); +public: + CoreInputStream(::gnu::gcj::Core *); + virtual jint available(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +public: // actually protected + ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ptr; + jint pos; + jint mark__; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_core_CoreInputStream__ diff --git a/libjava/gnu/java/net/protocol/core/Handler.h b/libjava/gnu/java/net/protocol/core/Handler.h new file mode 100644 index 00000000000..364e21abb03 --- /dev/null +++ b/libjava/gnu/java/net/protocol/core/Handler.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_core_Handler__ +#define __gnu_java_net_protocol_core_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace core + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::core::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_core_Handler__ diff --git a/libjava/gnu/java/net/protocol/file/Connection$StaticData.h b/libjava/gnu/java/net/protocol/file/Connection$StaticData.h new file mode 100644 index 00000000000..46ed9ac9588 --- /dev/null +++ b/libjava/gnu/java/net/protocol/file/Connection$StaticData.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_file_Connection$StaticData__ +#define __gnu_java_net_protocol_file_Connection$StaticData__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace file + { + class Connection$StaticData; + } + } + } + } + } + namespace java + { + namespace text + { + class SimpleDateFormat; + } + } +} + +class gnu::java::net::protocol::file::Connection$StaticData : public ::java::lang::Object +{ + + Connection$StaticData(); +public: // actually package-private + static ::java::text::SimpleDateFormat * dateFormat; + static ::java::lang::String * lineSeparator; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_file_Connection$StaticData__ diff --git a/libjava/gnu/java/net/protocol/file/Connection.h b/libjava/gnu/java/net/protocol/file/Connection.h new file mode 100644 index 00000000000..160f80834ea --- /dev/null +++ b/libjava/gnu/java/net/protocol/file/Connection.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_file_Connection__ +#define __gnu_java_net_protocol_file_Connection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace file + { + class Connection; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class Permission; + } + } +} + +class gnu::java::net::protocol::file::Connection : public ::java::net::URLConnection +{ + +public: + Connection(::java::net::URL *); + static ::java::lang::String * unquote(::java::lang::String *); + virtual void connect(); +public: // actually package-private + virtual JArray< jbyte > * getDirectoryListing(); +public: + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + virtual jlong getLastModified(); + virtual ::java::lang::String * getHeaderField(::java::lang::String *); + virtual jint getContentLength(); + virtual ::java::security::Permission * getPermission(); +private: + static ::java::lang::String * DEFAULT_PERMISSION; + ::java::io::File * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) file; + JArray< jbyte > * directoryListing; + ::java::io::InputStream * inputStream; + ::java::io::OutputStream * outputStream; + ::java::io::FilePermission * permission; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_file_Connection__ diff --git a/libjava/gnu/java/net/protocol/file/Handler.h b/libjava/gnu/java/net/protocol/file/Handler.h new file mode 100644 index 00000000000..f3edf9a99f5 --- /dev/null +++ b/libjava/gnu/java/net/protocol/file/Handler.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_file_Handler__ +#define __gnu_java_net_protocol_file_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace file + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::file::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_file_Handler__ diff --git a/libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h b/libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h new file mode 100644 index 00000000000..4ea352a7322 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_ActiveModeDTP__ +#define __gnu_java_net_protocol_ftp_ActiveModeDTP__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class ActiveModeDTP; + class DTPInputStream; + class DTPOutputStream; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class ServerSocket; + class Socket; + } + } +} + +class gnu::java::net::protocol::ftp::ActiveModeDTP : public ::java::lang::Object +{ + +public: // actually package-private + ActiveModeDTP(::java::net::InetAddress *, jint, jint, jint); +public: + void run(); + void waitFor(); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + void setTransferMode(jint); + void complete(); + jboolean abort(); + void transferComplete(); +public: // actually package-private + ::java::net::ServerSocket * __attribute__((aligned(__alignof__( ::java::lang::Object)))) server; + ::java::net::Socket * socket; + ::gnu::java::net::protocol::ftp::DTPInputStream * in; + ::gnu::java::net::protocol::ftp::DTPOutputStream * out; + jboolean completed; + jboolean inProgress; + jint transferMode; + ::java::io::IOException * exception; + ::java::lang::Thread * acceptThread; + jint connectionTimeout; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_ActiveModeDTP__ diff --git a/libjava/gnu/java/net/protocol/ftp/BlockInputStream.h b/libjava/gnu/java/net/protocol/ftp/BlockInputStream.h new file mode 100644 index 00000000000..a6c0e18bf16 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/BlockInputStream.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_BlockInputStream__ +#define __gnu_java_net_protocol_ftp_BlockInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class BlockInputStream; + class DTP; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::BlockInputStream : public ::gnu::java::net::protocol::ftp::DTPInputStream +{ + +public: // actually package-private + BlockInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); +public: // actually package-private + virtual void readHeader(); + static const jint EOF = 64; + jint __attribute__((aligned(__alignof__( ::gnu::java::net::protocol::ftp::DTPInputStream)))) descriptor; + jint max; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_BlockInputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h b/libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h new file mode 100644 index 00000000000..dd712fd2afc --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/BlockOutputStream.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_BlockOutputStream__ +#define __gnu_java_net_protocol_ftp_BlockOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class BlockOutputStream; + class DTP; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::BlockOutputStream : public ::gnu::java::net::protocol::ftp::DTPOutputStream +{ + +public: // actually package-private + BlockOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void close(); +public: // actually package-private + static const jbyte RECORD = -128; + static const jbyte EOF = 64; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_BlockOutputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h b/libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h new file mode 100644 index 00000000000..75de07ded16 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/CompressedInputStream.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_CompressedInputStream__ +#define __gnu_java_net_protocol_ftp_CompressedInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class CompressedInputStream; + class DTP; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::CompressedInputStream : public ::gnu::java::net::protocol::ftp::DTPInputStream +{ + +public: // actually package-private + CompressedInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); +public: // actually package-private + virtual void readHeader(); + virtual void readCodeHeader(); + static const jint EOF = 64; + static const jint RAW = 0; + static const jint COMPRESSED = 128; + static const jint FILLER = 192; + jint __attribute__((aligned(__alignof__( ::gnu::java::net::protocol::ftp::DTPInputStream)))) descriptor; + jint max; + jint count; + jint state; + jint rep; + jint n; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_CompressedInputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h b/libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h new file mode 100644 index 00000000000..243ac7c7a59 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_CompressedOutputStream__ +#define __gnu_java_net_protocol_ftp_CompressedOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class CompressedOutputStream; + class DTP; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::CompressedOutputStream : public ::gnu::java::net::protocol::ftp::DTPOutputStream +{ + +public: // actually package-private + CompressedOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); +public: // actually package-private + virtual JArray< jbyte > * compress(JArray< jbyte > *, jint, jint); + virtual jint flush_compressed(JArray< jbyte > *, jint, jint, jbyte); + virtual jint flush_raw(JArray< jbyte > *, jint, JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * realloc(JArray< jbyte > *, jint); +public: + virtual void close(); +public: // actually package-private + static const jbyte RECORD = -128; + static const jbyte EOF = 64; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_CompressedOutputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/DTP.h b/libjava/gnu/java/net/protocol/ftp/DTP.h new file mode 100644 index 00000000000..132e9020afd --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/DTP.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_DTP__ +#define __gnu_java_net_protocol_ftp_DTP__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class DTP; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::DTP : public ::java::lang::Object +{ + +public: + virtual ::java::io::InputStream * getInputStream() = 0; + virtual ::java::io::OutputStream * getOutputStream() = 0; + virtual void setTransferMode(jint) = 0; + virtual void complete() = 0; + virtual jboolean abort() = 0; + virtual void transferComplete() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_net_protocol_ftp_DTP__ diff --git a/libjava/gnu/java/net/protocol/ftp/DTPInputStream.h b/libjava/gnu/java/net/protocol/ftp/DTPInputStream.h new file mode 100644 index 00000000000..257479948dd --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/DTPInputStream.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_DTPInputStream__ +#define __gnu_java_net_protocol_ftp_DTPInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class DTP; + class DTPInputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::DTPInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + DTPInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *); + virtual void setTransferComplete(jboolean); +public: + virtual void close(); +public: // actually package-private + ::gnu::java::net::protocol::ftp::DTP * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) dtp; + jboolean transferComplete; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_DTPInputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h b/libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h new file mode 100644 index 00000000000..1e59c7afbd9 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/DTPOutputStream.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_DTPOutputStream__ +#define __gnu_java_net_protocol_ftp_DTPOutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class DTP; + class DTPOutputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::DTPOutputStream : public ::java::io::FilterOutputStream +{ + +public: // actually package-private + DTPOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *); + virtual void setTransferComplete(jboolean); +public: + virtual void close(); +public: // actually package-private + ::gnu::java::net::protocol::ftp::DTP * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) dtp; + jboolean transferComplete; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_DTPOutputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/FTPConnection.h b/libjava/gnu/java/net/protocol/ftp/FTPConnection.h new file mode 100644 index 00000000000..d0b1183f910 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/FTPConnection.h @@ -0,0 +1,165 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_FTPConnection__ +#define __gnu_java_net_protocol_ftp_FTPConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class CRLFOutputStream; + class LineInputStream; + namespace protocol + { + namespace ftp + { + class DTP; + class FTPConnection; + class FTPResponse; + } + } + } + } + } + namespace java + { + namespace net + { + class Socket; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class TrustManager; + } + } + } +} + +class gnu::java::net::protocol::ftp::FTPConnection : public ::java::lang::Object +{ + +public: + FTPConnection(::java::lang::String *); + FTPConnection(::java::lang::String *, jint); + FTPConnection(::java::lang::String *, jint, jint, jint, jboolean); + virtual jboolean authenticate(::java::lang::String *, ::java::lang::String *); + virtual jboolean starttls(jboolean); + virtual jboolean starttls(jboolean, ::javax::net::ssl::TrustManager *); + virtual jboolean changeWorkingDirectory(::java::lang::String *); + virtual jboolean changeToParentDirectory(); + virtual void reinitialize(); + virtual void logout(); +public: // actually protected + virtual void initialiseDTP(); +public: + virtual void setPassive(jboolean); + virtual jint getRepresentationType(); + virtual void setRepresentationType(jint); + virtual jint getFileStructure(); + virtual void setFileStructure(jint); + virtual jint getTransferMode(); + virtual void setTransferMode(jint); + virtual ::java::io::InputStream * retrieve(::java::lang::String *); + virtual ::java::io::OutputStream * store(::java::lang::String *); + virtual ::java::io::OutputStream * append(::java::lang::String *); + virtual void allocate(jlong); + virtual jboolean rename(::java::lang::String *, ::java::lang::String *); + virtual jboolean abort(); + virtual jboolean delete$(::java::lang::String *); + virtual jboolean removeDirectory(::java::lang::String *); + virtual jboolean makeDirectory(::java::lang::String *); + virtual ::java::lang::String * getWorkingDirectory(); + virtual ::java::io::InputStream * list(::java::lang::String *); + virtual ::java::util::List * nameList(::java::lang::String *); + virtual ::java::lang::String * system(); + virtual void noop(); +public: // actually protected + virtual void send(::java::lang::String *); + virtual ::gnu::java::net::protocol::ftp::FTPResponse * getResponse(); + virtual ::gnu::java::net::protocol::ftp::FTPResponse * readResponse(); +public: // actually package-private + static jint parseCode(::java::lang::String *); +public: + static const jint FTP_PORT = 21; + static const jint FTP_DATA_PORT = 20; +public: // actually protected + static ::java::lang::String * USER; + static ::java::lang::String * PASS; + static ::java::lang::String * ACCT; + static ::java::lang::String * CWD; + static ::java::lang::String * CDUP; + static ::java::lang::String * SMNT; + static ::java::lang::String * REIN; + static ::java::lang::String * QUIT; + static ::java::lang::String * PORT; + static ::java::lang::String * PASV; + static ::java::lang::String * TYPE; + static ::java::lang::String * STRU; + static ::java::lang::String * MODE; + static ::java::lang::String * RETR; + static ::java::lang::String * STOR; + static ::java::lang::String * STOU; + static ::java::lang::String * APPE; + static ::java::lang::String * ALLO; + static ::java::lang::String * REST; + static ::java::lang::String * RNFR; + static ::java::lang::String * RNTO; + static ::java::lang::String * ABOR; + static ::java::lang::String * DELE; + static ::java::lang::String * RMD; + static ::java::lang::String * MKD; + static ::java::lang::String * PWD; + static ::java::lang::String * LIST; + static ::java::lang::String * NLST; + static ::java::lang::String * SITE; + static ::java::lang::String * SYST; + static ::java::lang::String * STAT; + static ::java::lang::String * HELP; + static ::java::lang::String * NOOP; + static ::java::lang::String * AUTH; + static ::java::lang::String * PBSZ; + static ::java::lang::String * PROT; + static ::java::lang::String * CCC; + static ::java::lang::String * TLS; +public: + static const jint TYPE_ASCII = 1; + static const jint TYPE_EBCDIC = 2; + static const jint TYPE_BINARY = 3; + static const jint STRUCTURE_FILE = 1; + static const jint STRUCTURE_RECORD = 2; + static const jint STRUCTURE_PAGE = 3; + static const jint MODE_STREAM = 1; + static const jint MODE_BLOCK = 2; + static const jint MODE_COMPRESSED = 3; +private: + static ::java::lang::String * US_ASCII; +public: // actually protected + ::java::net::Socket * __attribute__((aligned(__alignof__( ::java::lang::Object)))) socket; + ::gnu::java::net::LineInputStream * in; + ::gnu::java::net::CRLFOutputStream * out; + jint connectionTimeout; + jint timeout; + jboolean debug; + ::gnu::java::net::protocol::ftp::DTP * dtp; + jint representationType; + jint fileStructure; + jint transferMode; + jboolean passive; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_FTPConnection__ diff --git a/libjava/gnu/java/net/protocol/ftp/FTPException.h b/libjava/gnu/java/net/protocol/ftp/FTPException.h new file mode 100644 index 00000000000..b22c2f24ac3 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/FTPException.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_FTPException__ +#define __gnu_java_net_protocol_ftp_FTPException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class FTPException; + class FTPResponse; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::FTPException : public ::java::io::IOException +{ + +public: + FTPException(::gnu::java::net::protocol::ftp::FTPResponse *); + virtual ::gnu::java::net::protocol::ftp::FTPResponse * getResponse(); +public: // actually protected + ::gnu::java::net::protocol::ftp::FTPResponse * __attribute__((aligned(__alignof__( ::java::io::IOException)))) response; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_FTPException__ diff --git a/libjava/gnu/java/net/protocol/ftp/FTPResponse.h b/libjava/gnu/java/net/protocol/ftp/FTPResponse.h new file mode 100644 index 00000000000..b7faeb99744 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/FTPResponse.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_FTPResponse__ +#define __gnu_java_net_protocol_ftp_FTPResponse__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class FTPResponse; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::FTPResponse : public ::java::lang::Object +{ + +public: + FTPResponse(jint, ::java::lang::String *); + FTPResponse(jint, ::java::lang::String *, ::java::lang::String *); + jint getCode(); + ::java::lang::String * getMessage(); + ::java::lang::String * getData(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) code; + ::java::lang::String * message; + ::java::lang::String * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_FTPResponse__ diff --git a/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h new file mode 100644 index 00000000000..ab8c4e0c8da --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingInputStream.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingInputStream__ +#define __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class FTPURLConnection; + class FTPURLConnection$ClosingInputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::FTPURLConnection$ClosingInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + FTPURLConnection$ClosingInputStream(::gnu::java::net::protocol::ftp::FTPURLConnection *, ::java::io::InputStream *); +public: + virtual void close(); +public: // actually package-private + ::gnu::java::net::protocol::ftp::FTPURLConnection * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingInputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h new file mode 100644 index 00000000000..7cdb24cf0a2 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection$ClosingOutputStream.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingOutputStream__ +#define __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingOutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class FTPURLConnection; + class FTPURLConnection$ClosingOutputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::FTPURLConnection$ClosingOutputStream : public ::java::io::FilterOutputStream +{ + +public: // actually package-private + FTPURLConnection$ClosingOutputStream(::gnu::java::net::protocol::ftp::FTPURLConnection *, ::java::io::OutputStream *); +public: + virtual void close(); +public: // actually package-private + ::gnu::java::net::protocol::ftp::FTPURLConnection * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_FTPURLConnection$ClosingOutputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h new file mode 100644 index 00000000000..a4139287e7e --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/FTPURLConnection.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_FTPURLConnection__ +#define __gnu_java_net_protocol_ftp_FTPURLConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class FTPConnection; + class FTPURLConnection; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::protocol::ftp::FTPURLConnection : public ::java::net::URLConnection +{ + +public: + FTPURLConnection(::java::net::URL *); + virtual void connect(); + virtual void setDoInput(jboolean); + virtual void setDoOutput(jboolean); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + virtual ::java::lang::String * getRequestProperty(::java::lang::String *); + virtual ::java::util::Map * getRequestProperties(); +private: + void addRequestPropertyValue(::java::util::Map *, ::java::lang::String *); +public: + virtual void setRequestProperty(::java::lang::String *, ::java::lang::String *); + virtual void addRequestProperty(::java::lang::String *, ::java::lang::String *); +public: // actually protected + ::gnu::java::net::protocol::ftp::FTPConnection * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) connection; + jboolean passive; + jint representationType; + jint fileStructure; + jint transferMode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_FTPURLConnection__ diff --git a/libjava/gnu/java/net/protocol/ftp/Handler.h b/libjava/gnu/java/net/protocol/ftp/Handler.h new file mode 100644 index 00000000000..05839d6ab20 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/Handler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_Handler__ +#define __gnu_java_net_protocol_ftp_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::ftp::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual jint getDefaultPort(); +public: + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_Handler__ diff --git a/libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h b/libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h new file mode 100644 index 00000000000..01a4a8a7882 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_PassiveModeDTP__ +#define __gnu_java_net_protocol_ftp_PassiveModeDTP__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class DTPInputStream; + class DTPOutputStream; + class PassiveModeDTP; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + } +} + +class gnu::java::net::protocol::ftp::PassiveModeDTP : public ::java::lang::Object +{ + +public: // actually package-private + PassiveModeDTP(::java::lang::String *, jint, ::java::net::InetAddress *, jint, jint); +public: + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + void setTransferMode(jint); + void complete(); + jboolean abort(); + void transferComplete(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) address; + jint port; + ::java::net::Socket * socket; + ::gnu::java::net::protocol::ftp::DTPInputStream * in; + ::gnu::java::net::protocol::ftp::DTPOutputStream * out; + jboolean completed; + jboolean inProgress; + jint transferMode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_PassiveModeDTP__ diff --git a/libjava/gnu/java/net/protocol/ftp/StreamInputStream.h b/libjava/gnu/java/net/protocol/ftp/StreamInputStream.h new file mode 100644 index 00000000000..2a344be90aa --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/StreamInputStream.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_StreamInputStream__ +#define __gnu_java_net_protocol_ftp_StreamInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class DTP; + class StreamInputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::StreamInputStream : public ::gnu::java::net::protocol::ftp::DTPInputStream +{ + +public: // actually package-private + StreamInputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::InputStream *); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_StreamInputStream__ diff --git a/libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h b/libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h new file mode 100644 index 00000000000..7787c3b5e35 --- /dev/null +++ b/libjava/gnu/java/net/protocol/ftp/StreamOutputStream.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_ftp_StreamOutputStream__ +#define __gnu_java_net_protocol_ftp_StreamOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace ftp + { + class DTP; + class StreamOutputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::ftp::StreamOutputStream : public ::gnu::java::net::protocol::ftp::DTPOutputStream +{ + +public: // actually package-private + StreamOutputStream(::gnu::java::net::protocol::ftp::DTP *, ::java::io::OutputStream *); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_ftp_StreamOutputStream__ diff --git a/libjava/gnu/java/net/protocol/gcjlib/Connection.h b/libjava/gnu/java/net/protocol/gcjlib/Connection.h new file mode 100644 index 00000000000..9ecf032efe7 --- /dev/null +++ b/libjava/gnu/java/net/protocol/gcjlib/Connection.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_gcjlib_Connection__ +#define __gnu_java_net_protocol_gcjlib_Connection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class Core; + } + namespace java + { + namespace net + { + namespace protocol + { + namespace gcjlib + { + class Connection; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::protocol::gcjlib::Connection : public ::java::net::URLConnection +{ + +public: + Connection(::java::net::URL *); + virtual void connect(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::lang::String * getHeaderField(::java::lang::String *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) solib; + ::java::lang::String * name; + ::gnu::gcj::Core * core; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_gcjlib_Connection__ diff --git a/libjava/gnu/java/net/protocol/gcjlib/Handler.h b/libjava/gnu/java/net/protocol/gcjlib/Handler.h new file mode 100644 index 00000000000..40813aeb548 --- /dev/null +++ b/libjava/gnu/java/net/protocol/gcjlib/Handler.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_gcjlib_Handler__ +#define __gnu_java_net_protocol_gcjlib_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace gcjlib + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::gcjlib::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_gcjlib_Handler__ diff --git a/libjava/gnu/java/net/protocol/http/Authenticator.h b/libjava/gnu/java/net/protocol/http/Authenticator.h new file mode 100644 index 00000000000..c2390d2b3fc --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Authenticator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Authenticator__ +#define __gnu_java_net_protocol_http_Authenticator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Authenticator; + class Credentials; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::Authenticator : public ::java::lang::Object +{ + +public: + virtual ::gnu::java::net::protocol::http::Credentials * getCredentials(::java::lang::String *, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_net_protocol_http_Authenticator__ diff --git a/libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h b/libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h new file mode 100644 index 00000000000..2d9b51957c1 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_ByteArrayRequestBodyWriter__ +#define __gnu_java_net_protocol_http_ByteArrayRequestBodyWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class ByteArrayRequestBodyWriter; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::ByteArrayRequestBodyWriter : public ::java::lang::Object +{ + +public: + ByteArrayRequestBodyWriter(JArray< jbyte > *); + virtual jint getContentLength(); + virtual void reset(); + virtual jint write(JArray< jbyte > *); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_ByteArrayRequestBodyWriter__ diff --git a/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h b/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h new file mode 100644 index 00000000000..16a27056bcb --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/ChunkedInputStream.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_ChunkedInputStream__ +#define __gnu_java_net_protocol_http_ChunkedInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class ChunkedInputStream; + class Headers; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::ChunkedInputStream : public ::java::io::InputStream +{ + +public: + ChunkedInputStream(::java::io::InputStream *, ::gnu::java::net::protocol::http::Headers *); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint available(); + virtual void close(); +private: + static const jbyte CR = 13; + static const jbyte LF = 10; +public: // actually package-private + ::gnu::java::net::protocol::http::Headers * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) headers; +private: + ::java::io::InputStream * in; +public: // actually package-private + jint size; + jint count; + jboolean meta; + jboolean eof; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_ChunkedInputStream__ diff --git a/libjava/gnu/java/net/protocol/http/Cookie.h b/libjava/gnu/java/net/protocol/http/Cookie.h new file mode 100644 index 00000000000..3c23640600a --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Cookie.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Cookie__ +#define __gnu_java_net_protocol_http_Cookie__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Cookie; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::Cookie : public ::java::lang::Object +{ + +public: + Cookie(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, ::java::util::Date *); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getValue(); + virtual ::java::lang::String * getComment(); + virtual ::java::lang::String * getDomain(); + virtual ::java::lang::String * getPath(); + virtual jboolean isSecure(); + virtual ::java::util::Date * getExpiryDate(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(jboolean, jboolean); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * value; + ::java::lang::String * comment; + ::java::lang::String * domain; + ::java::lang::String * path; + jboolean secure; + ::java::util::Date * expires; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Cookie__ diff --git a/libjava/gnu/java/net/protocol/http/CookieManager.h b/libjava/gnu/java/net/protocol/http/CookieManager.h new file mode 100644 index 00000000000..f06ac974b44 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/CookieManager.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_CookieManager__ +#define __gnu_java_net_protocol_http_CookieManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Cookie; + class CookieManager; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::CookieManager : public ::java::lang::Object +{ + +public: + virtual void setCookie(::gnu::java::net::protocol::http::Cookie *) = 0; + virtual JArray< ::gnu::java::net::protocol::http::Cookie * > * getCookies(::java::lang::String *, jboolean, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_net_protocol_http_CookieManager__ diff --git a/libjava/gnu/java/net/protocol/http/Credentials.h b/libjava/gnu/java/net/protocol/http/Credentials.h new file mode 100644 index 00000000000..e877d54d998 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Credentials.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Credentials__ +#define __gnu_java_net_protocol_http_Credentials__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Credentials; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::Credentials : public ::java::lang::Object +{ + +public: + Credentials(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getUsername(); + virtual ::java::lang::String * getPassword(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) username; + ::java::lang::String * password; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Credentials__ diff --git a/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h new file mode 100644 index 00000000000..727cb83aebf --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool$Reaper.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__ +#define __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class HTTPConnection$Pool; + class HTTPConnection$Pool$Reaper; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::HTTPConnection$Pool$Reaper : public ::java::lang::Object +{ + +public: // actually package-private + HTTPConnection$Pool$Reaper(::gnu::java::net::protocol::http::HTTPConnection$Pool *); +public: + virtual void run(); +public: // actually package-private + ::gnu::java::net::protocol::http::HTTPConnection$Pool * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_HTTPConnection$Pool$Reaper__ diff --git a/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h new file mode 100644 index 00000000000..62aaa265b23 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/HTTPConnection$Pool.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_HTTPConnection$Pool__ +#define __gnu_java_net_protocol_http_HTTPConnection$Pool__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class HTTPConnection; + class HTTPConnection$Pool; + class HTTPConnection$Pool$Reaper; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::HTTPConnection$Pool : public ::java::lang::Object +{ + + HTTPConnection$Pool(); + static jboolean matches(::gnu::java::net::protocol::http::HTTPConnection *, ::java::lang::String *, jint, jboolean); +public: // actually package-private + virtual ::gnu::java::net::protocol::http::HTTPConnection * get(::java::lang::String *, jint, jboolean, jint, jint); + virtual void put(::gnu::java::net::protocol::http::HTTPConnection *); + virtual void removeOldest(); + static ::gnu::java::net::protocol::http::HTTPConnection$Pool * instance; + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) connectionPool; + jint maxConnections; + jint connectionTTL; + ::gnu::java::net::protocol::http::HTTPConnection$Pool$Reaper * reaper; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_HTTPConnection$Pool__ diff --git a/libjava/gnu/java/net/protocol/http/HTTPConnection.h b/libjava/gnu/java/net/protocol/http/HTTPConnection.h new file mode 100644 index 00000000000..e0d1c462841 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/HTTPConnection.h @@ -0,0 +1,128 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_HTTPConnection__ +#define __gnu_java_net_protocol_http_HTTPConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class CookieManager; + class HTTPConnection; + class HTTPConnection$Pool; + class Request; + } + } + } + } + } + namespace java + { + namespace net + { + class Socket; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedListener; + class SSLSocketFactory; + } + } + } +} + +class gnu::java::net::protocol::http::HTTPConnection : public ::java::lang::Object +{ + +public: + HTTPConnection(::java::lang::String *); + HTTPConnection(::java::lang::String *, jboolean); + HTTPConnection(::java::lang::String *, jboolean, jint, jint); + HTTPConnection(::java::lang::String *, jint); + HTTPConnection(::java::lang::String *, jint, jboolean); + HTTPConnection(::java::lang::String *, jint, jboolean, jint, jint); + virtual ::java::lang::String * getHostName(); + virtual jint getPort(); + virtual jboolean isSecure(); + virtual ::java::lang::String * getVersion(); + virtual void setVersion(jint, jint); + virtual void setProxy(::java::lang::String *, jint); + virtual jboolean isUsingProxy(); + virtual void setCookieManager(::gnu::java::net::protocol::http::CookieManager *); + virtual ::gnu::java::net::protocol::http::CookieManager * getCookieManager(); +public: // actually package-private + virtual void setPool(::gnu::java::net::protocol::http::HTTPConnection$Pool *); + virtual void release(); +public: + virtual ::gnu::java::net::protocol::http::Request * newRequest(::java::lang::String *, ::java::lang::String *); + virtual void close(); +public: // actually protected + virtual ::java::net::Socket * getSocket(); +public: // actually package-private + virtual ::javax::net::ssl::SSLSocketFactory * getSSLSocketFactory(); + virtual void setSSLSocketFactory(::javax::net::ssl::SSLSocketFactory *); +public: // actually protected + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + virtual void closeConnection(); + virtual ::java::lang::String * getURI(); +public: // actually package-private + virtual jint getNonceCount(::java::lang::String *); + virtual void incrementNonce(::java::lang::String *); + virtual void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); + virtual void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); +public: + static const jint HTTP_PORT = 80; + static const jint HTTPS_PORT = 443; +private: + static ::java::lang::String * userAgent; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hostname; + jint port; + jboolean secure; + jint connectionTimeout; + jint timeout; + ::java::lang::String * proxyHostname; + jint proxyPort; + jint majorVersion; + jint minorVersion; +private: + ::java::util::List * handshakeCompletedListeners; +public: // actually protected + ::java::net::Socket * socket; +private: + ::javax::net::ssl::SSLSocketFactory * sslSocketFactory; +public: // actually protected + ::java::io::InputStream * in; + ::java::io::OutputStream * out; +private: + ::java::util::Map * nonceCounts; +public: // actually protected + ::gnu::java::net::protocol::http::CookieManager * cookieManager; +private: + ::gnu::java::net::protocol::http::HTTPConnection$Pool * pool; +public: // actually package-private + jint useCount; + jlong timeLastUsed; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_HTTPConnection__ diff --git a/libjava/gnu/java/net/protocol/http/HTTPDateFormat.h b/libjava/gnu/java/net/protocol/http/HTTPDateFormat.h new file mode 100644 index 00000000000..2a305bac87c --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/HTTPDateFormat.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_HTTPDateFormat__ +#define __gnu_java_net_protocol_http_HTTPDateFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class HTTPDateFormat; + } + } + } + } + } + namespace java + { + namespace text + { + class FieldPosition; + class NumberFormat; + class ParsePosition; + } + } +} + +class gnu::java::net::protocol::http::HTTPDateFormat : public ::java::text::DateFormat +{ + +public: + HTTPDateFormat(); + virtual ::java::lang::StringBuffer * format(::java::util::Date *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::util::Date * parse(::java::lang::String *, ::java::text::ParsePosition *); +private: + jint skipWhitespace(::java::lang::String *, jint); + jint skipNonWhitespace(::java::lang::String *, jint); + jint skipTo(::java::lang::String *, jint, jchar); +public: + virtual void setCalendar(::java::util::Calendar *); + virtual void setNumberFormat(::java::text::NumberFormat *); +public: // actually package-private + static JArray< ::java::lang::String * > * DAYS_OF_WEEK; + static JArray< ::java::lang::String * > * MONTHS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_HTTPDateFormat__ diff --git a/libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h b/libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h new file mode 100644 index 00000000000..1e20e4ec9e4 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/HTTPURLConnection$1.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_HTTPURLConnection$1__ +#define __gnu_java_net_protocol_http_HTTPURLConnection$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Credentials; + class HTTPURLConnection; + class HTTPURLConnection$1; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::HTTPURLConnection$1 : public ::java::lang::Object +{ + +public: // actually package-private + HTTPURLConnection$1(::gnu::java::net::protocol::http::HTTPURLConnection *, ::gnu::java::net::protocol::http::Credentials *); +public: + ::gnu::java::net::protocol::http::Credentials * getCredentials(::java::lang::String *, jint); +public: // actually package-private + ::gnu::java::net::protocol::http::HTTPURLConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::gnu::java::net::protocol::http::Credentials * val$creds; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_HTTPURLConnection$1__ diff --git a/libjava/gnu/java/net/protocol/http/HTTPURLConnection.h b/libjava/gnu/java/net/protocol/http/HTTPURLConnection.h new file mode 100644 index 00000000000..460928e6b92 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/HTTPURLConnection.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_HTTPURLConnection__ +#define __gnu_java_net_protocol_http_HTTPURLConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class HTTPConnection; + class HTTPURLConnection; + class Headers; + class Request; + class Response; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedEvent; + } + } + } +} + +class gnu::java::net::protocol::http::HTTPURLConnection : public ::javax::net::ssl::HttpsURLConnection +{ + +public: + HTTPURLConnection(::java::net::URL *); + virtual void connect(); +public: // actually package-private + virtual ::gnu::java::net::protocol::http::HTTPConnection * getConnection(::java::lang::String *, jint, jboolean); +public: + virtual void disconnect(); + virtual jboolean usingProxy(); + virtual void setRequestMethod(::java::lang::String *); + virtual ::java::lang::String * getRequestProperty(::java::lang::String *); + virtual ::java::util::Map * getRequestProperties(); + virtual void setRequestProperty(::java::lang::String *, ::java::lang::String *); + virtual void addRequestProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::io::OutputStream * getOutputStream(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::InputStream * getErrorStream(); + virtual ::java::util::Map * getHeaderFields(); +public: // actually package-private + virtual ::java::lang::String * getStatusLine(::gnu::java::net::protocol::http::Response *); +public: + virtual ::java::lang::String * getHeaderField(jint); + virtual ::java::lang::String * getHeaderFieldKey(jint); + virtual ::java::lang::String * getHeaderField(::java::lang::String *); + virtual jlong getHeaderFieldDate(::java::lang::String *, jlong); + virtual ::java::lang::String * getContentType(); + virtual jint getResponseCode(); + virtual ::java::lang::String * getResponseMessage(); + virtual ::java::lang::String * getCipherSuite(); + virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates(); + virtual JArray< ::java::security::cert::Certificate * > * getServerCertificates(); + virtual void handshakeCompleted(::javax::net::ssl::HandshakeCompletedEvent *); + virtual void setReadTimeout(jint); +private: + ::gnu::java::net::protocol::http::HTTPConnection * __attribute__((aligned(__alignof__( ::javax::net::ssl::HttpsURLConnection)))) connection; +public: // actually package-private + ::java::lang::String * proxyHostname; + jint proxyPort; + ::java::lang::String * agent; + jboolean keepAlive; +private: + ::gnu::java::net::protocol::http::Request * request; + ::gnu::java::net::protocol::http::Headers * requestHeaders; + ::java::io::ByteArrayOutputStream * requestSink; + jboolean requestMethodSetExplicitly; + ::gnu::java::net::protocol::http::Response * response; + ::java::io::InputStream * responseSink; + ::java::io::InputStream * errorSink; + ::javax::net::ssl::HandshakeCompletedEvent * handshakeEvent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_HTTPURLConnection__ diff --git a/libjava/gnu/java/net/protocol/http/Handler.h b/libjava/gnu/java/net/protocol/http/Handler.h new file mode 100644 index 00000000000..bd96f2d8b1f --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Handler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Handler__ +#define __gnu_java_net_protocol_http_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::http::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual jint getDefaultPort(); +public: + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Handler__ diff --git a/libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h b/libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h new file mode 100644 index 00000000000..ecf4982f09b --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Headers$HeaderElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Headers$HeaderElement__ +#define __gnu_java_net_protocol_http_Headers$HeaderElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Headers$HeaderElement; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::Headers$HeaderElement : public ::java::lang::Object +{ + +public: // actually package-private + Headers$HeaderElement(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Headers$HeaderElement__ diff --git a/libjava/gnu/java/net/protocol/http/Headers.h b/libjava/gnu/java/net/protocol/http/Headers.h new file mode 100644 index 00000000000..d7c485c2511 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Headers.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Headers__ +#define __gnu_java_net_protocol_http_Headers__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Headers; + } + } + } + } + } + namespace java + { + namespace text + { + class DateFormat; + } + } +} + +class gnu::java::net::protocol::http::Headers : public ::java::lang::Object +{ + +public: + Headers(); +public: // actually package-private + virtual ::java::util::Iterator * iterator(); +public: + virtual ::java::lang::String * getValue(::java::lang::String *); + virtual jint getIntValue(::java::lang::String *); + virtual jlong getLongValue(::java::lang::String *); + virtual ::java::util::Date * getDateValue(::java::lang::String *); + virtual void put(::java::lang::String *, ::java::lang::String *); + virtual void putAll(::gnu::java::net::protocol::http::Headers *); + virtual void remove(::java::lang::String *); + virtual void parse(::java::io::InputStream *); + virtual void addValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::util::Map * getAsMap(); + virtual ::java::lang::String * getHeaderName(jint); + virtual ::java::lang::String * getHeaderValue(jint); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) headers; + static ::java::text::DateFormat * dateFormat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Headers__ diff --git a/libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h b/libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h new file mode 100644 index 00000000000..e70bbcc039d --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/LimitedLengthInputStream.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_LimitedLengthInputStream__ +#define __gnu_java_net_protocol_http_LimitedLengthInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class HTTPConnection; + class LimitedLengthInputStream; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::LimitedLengthInputStream : public ::java::io::InputStream +{ + + void handleClose(); +public: // actually package-private + LimitedLengthInputStream(::java::io::InputStream *, jlong, jboolean, ::gnu::java::net::protocol::http::HTTPConnection *, jboolean); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); + virtual jint available(); + virtual void close(); +private: + jlong __attribute__((aligned(__alignof__( ::java::io::InputStream)))) remainingLen; + jboolean restrictLen; + ::gnu::java::net::protocol::http::HTTPConnection * connection; + jboolean eof; + ::java::io::InputStream * in; + jboolean doClose; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_LimitedLengthInputStream__ diff --git a/libjava/gnu/java/net/protocol/http/Request.h b/libjava/gnu/java/net/protocol/http/Request.h new file mode 100644 index 00000000000..2cf4693cf25 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Request.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Request__ +#define __gnu_java_net_protocol_http_Request__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Authenticator; + class HTTPConnection; + class Headers; + class Request; + class RequestBodyWriter; + class Response; + class ResponseHeaderHandler; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::Request : public ::java::lang::Object +{ + +public: // actually protected + Request(::gnu::java::net::protocol::http::HTTPConnection *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::gnu::java::net::protocol::http::HTTPConnection * getConnection(); + virtual ::java::lang::String * getMethod(); + virtual ::java::lang::String * getPath(); + virtual ::java::lang::String * getRequestURI(); + virtual ::gnu::java::net::protocol::http::Headers * getHeaders(); + virtual ::java::lang::String * getHeader(::java::lang::String *); + virtual jint getIntHeader(::java::lang::String *); + virtual ::java::util::Date * getDateHeader(::java::lang::String *); + virtual void setHeader(::java::lang::String *, ::java::lang::String *); + virtual void setRequestBody(JArray< jbyte > *); + virtual void setRequestBodyWriter(::gnu::java::net::protocol::http::RequestBodyWriter *); + virtual void setResponseHeaderHandler(::java::lang::String *, ::gnu::java::net::protocol::http::ResponseHeaderHandler *); + virtual void setAuthenticator(::gnu::java::net::protocol::http::Authenticator *); + virtual ::gnu::java::net::protocol::http::Response * dispatch(); +public: // actually package-private + virtual ::gnu::java::net::protocol::http::Response * readResponse(::java::io::InputStream *); + virtual void notifyHeaderHandlers(::gnu::java::net::protocol::http::Headers *); +private: + ::java::io::InputStream * createResponseBodyStream(::gnu::java::net::protocol::http::Headers *, jint, jint, ::java::io::InputStream *, jboolean); +public: // actually package-private + virtual jboolean authenticate(::gnu::java::net::protocol::http::Response *, jint); + virtual ::java::util::Properties * parseAuthParams(::java::lang::String *); + virtual ::java::lang::String * unquote(::java::lang::String *); + virtual ::java::lang::String * getNonceCount(::java::lang::String *); + virtual JArray< jbyte > * generateNonce(); + virtual ::java::lang::String * toHexString(JArray< jbyte > *); + virtual void handleSetCookie(::java::lang::String *); +public: // actually protected + ::gnu::java::net::protocol::http::HTTPConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) connection; + ::java::lang::String * method; + ::java::lang::String * path; + ::gnu::java::net::protocol::http::Headers * requestHeaders; + ::gnu::java::net::protocol::http::RequestBodyWriter * requestBodyWriter; + ::java::util::Map * responseHeaderHandlers; + ::gnu::java::net::protocol::http::Authenticator * authenticator; +private: + jboolean dispatched; +public: // actually package-private + JArray< jbyte > * nonce; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Request__ diff --git a/libjava/gnu/java/net/protocol/http/RequestBodyWriter.h b/libjava/gnu/java/net/protocol/http/RequestBodyWriter.h new file mode 100644 index 00000000000..1bd32bc8637 --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/RequestBodyWriter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_RequestBodyWriter__ +#define __gnu_java_net_protocol_http_RequestBodyWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class RequestBodyWriter; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::RequestBodyWriter : public ::java::lang::Object +{ + +public: + virtual jint getContentLength() = 0; + virtual void reset() = 0; + virtual jint write(JArray< jbyte > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_net_protocol_http_RequestBodyWriter__ diff --git a/libjava/gnu/java/net/protocol/http/Response.h b/libjava/gnu/java/net/protocol/http/Response.h new file mode 100644 index 00000000000..928b212479b --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/Response.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_Response__ +#define __gnu_java_net_protocol_http_Response__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Headers; + class Response; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::Response : public ::java::lang::Object +{ + +public: // actually protected + Response(jint, jint, jint, ::java::lang::String *, ::gnu::java::net::protocol::http::Headers *, ::java::io::InputStream *); +public: + virtual jint getMajorVersion(); + virtual jint getMinorVersion(); + virtual jint getCode(); + virtual jint getCodeClass(); + virtual ::java::lang::String * getMessage(); + virtual ::gnu::java::net::protocol::http::Headers * getHeaders(); + virtual ::java::lang::String * getHeader(::java::lang::String *); + virtual jint getIntHeader(::java::lang::String *); + virtual jlong getLongHeader(::java::lang::String *); + virtual ::java::util::Date * getDateHeader(::java::lang::String *); + virtual jboolean isRedirect(); + virtual jboolean isError(); + virtual ::java::io::InputStream * getBody(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) majorVersion; + jint minorVersion; + jint code; + ::java::lang::String * message; + ::gnu::java::net::protocol::http::Headers * headers; + ::java::io::InputStream * body; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_Response__ diff --git a/libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h b/libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h new file mode 100644 index 00000000000..055c019a1fc --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_ResponseHeaderHandler__ +#define __gnu_java_net_protocol_http_ResponseHeaderHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class ResponseHeaderHandler; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::ResponseHeaderHandler : public ::java::lang::Object +{ + +public: + virtual void setValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_net_protocol_http_ResponseHeaderHandler__ diff --git a/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h b/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h new file mode 100644 index 00000000000..e8259a8a2cb --- /dev/null +++ b/libjava/gnu/java/net/protocol/http/SimpleCookieManager.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_http_SimpleCookieManager__ +#define __gnu_java_net_protocol_http_SimpleCookieManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace http + { + class Cookie; + class SimpleCookieManager; + } + } + } + } + } +} + +class gnu::java::net::protocol::http::SimpleCookieManager : public ::java::lang::Object +{ + +public: + SimpleCookieManager(); + virtual void setCookie(::gnu::java::net::protocol::http::Cookie *); + virtual JArray< ::gnu::java::net::protocol::http::Cookie * > * getCookies(::java::lang::String *, jboolean, ::java::lang::String *); +private: + void addCookies(::java::util::List *, ::java::lang::String *, jboolean, ::java::lang::String *, ::java::util::Date *); +public: // actually protected + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cookies; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_http_SimpleCookieManager__ diff --git a/libjava/gnu/java/net/protocol/https/Handler.h b/libjava/gnu/java/net/protocol/https/Handler.h new file mode 100644 index 00000000000..ce077f08f8e --- /dev/null +++ b/libjava/gnu/java/net/protocol/https/Handler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_https_Handler__ +#define __gnu_java_net_protocol_https_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace https + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::https::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual jint getDefaultPort(); +public: + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_https_Handler__ diff --git a/libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h b/libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h new file mode 100644 index 00000000000..03744bc671c --- /dev/null +++ b/libjava/gnu/java/net/protocol/jar/Connection$JarFileCache.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_jar_Connection$JarFileCache__ +#define __gnu_java_net_protocol_jar_Connection$JarFileCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace jar + { + class Connection$JarFileCache; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::net::protocol::jar::Connection$JarFileCache : public ::java::lang::Object +{ + +public: + Connection$JarFileCache(); + static ::java::util::jar::JarFile * get(::java::net::URL *, jboolean); +private: + static ::java::util::Hashtable * cache; + static const jint READBUFSIZE = 4096; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_jar_Connection$JarFileCache__ diff --git a/libjava/gnu/java/net/protocol/jar/Connection.h b/libjava/gnu/java/net/protocol/jar/Connection.h new file mode 100644 index 00000000000..5456919fbaf --- /dev/null +++ b/libjava/gnu/java/net/protocol/jar/Connection.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_jar_Connection__ +#define __gnu_java_net_protocol_jar_Connection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace jar + { + class Connection; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace text + { + class SimpleDateFormat; + } + } +} + +class gnu::java::net::protocol::jar::Connection : public ::java::net::JarURLConnection +{ + +public: // actually protected + Connection(::java::net::URL *); +public: + void connect(); + ::java::io::InputStream * getInputStream(); + ::java::util::jar::JarFile * getJarFile(); + ::java::lang::String * getHeaderField(::java::lang::String *); + jint getContentLength(); + jlong getLastModified(); +private: + static ::java::text::SimpleDateFormat * dateFormat; + ::java::util::jar::JarFile * __attribute__((aligned(__alignof__( ::java::net::JarURLConnection)))) jar_file; + ::java::util::jar::JarEntry * jar_entry; + ::java::net::URL * jar_url; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_jar_Connection__ diff --git a/libjava/gnu/java/net/protocol/jar/Handler.h b/libjava/gnu/java/net/protocol/jar/Handler.h new file mode 100644 index 00000000000..b5fb6b66e64 --- /dev/null +++ b/libjava/gnu/java/net/protocol/jar/Handler.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_net_protocol_jar_Handler__ +#define __gnu_java_net_protocol_jar_Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + namespace protocol + { + namespace jar + { + class Handler; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } +} + +class gnu::java::net::protocol::jar::Handler : public ::java::net::URLStreamHandler +{ + +public: + Handler(); +public: // actually protected + virtual ::java::net::URLConnection * openConnection(::java::net::URL *); + virtual void parseURL(::java::net::URL *, ::java::lang::String *, jint, jint); +private: + static ::java::lang::String * flat(::java::lang::String *); +public: // actually protected + virtual ::java::lang::String * toExternalForm(::java::net::URL *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_net_protocol_jar_Handler__ diff --git a/libjava/gnu/java/nio/ChannelInputStream.h b/libjava/gnu/java/nio/ChannelInputStream.h new file mode 100644 index 00000000000..bc43e23da5a --- /dev/null +++ b/libjava/gnu/java/nio/ChannelInputStream.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_ChannelInputStream__ +#define __gnu_java_nio_ChannelInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class ChannelInputStream; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class ReadableByteChannel; + } + } + } +} + +class gnu::java::nio::ChannelInputStream : public ::java::io::InputStream +{ + +public: + ChannelInputStream(::java::nio::channels::ReadableByteChannel *); + jint read(); +private: + ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) ch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_ChannelInputStream__ diff --git a/libjava/gnu/java/nio/ChannelOutputStream.h b/libjava/gnu/java/nio/ChannelOutputStream.h new file mode 100644 index 00000000000..7ff1b8d800a --- /dev/null +++ b/libjava/gnu/java/nio/ChannelOutputStream.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_ChannelOutputStream__ +#define __gnu_java_nio_ChannelOutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class ChannelOutputStream; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class WritableByteChannel; + } + } + } +} + +class gnu::java::nio::ChannelOutputStream : public ::java::io::OutputStream +{ + +public: + ChannelOutputStream(::java::nio::channels::WritableByteChannel *); + void write(jint); +private: + ::java::nio::channels::WritableByteChannel * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) ch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_ChannelOutputStream__ diff --git a/libjava/gnu/java/nio/ChannelReader.h b/libjava/gnu/java/nio/ChannelReader.h new file mode 100644 index 00000000000..337473f4fcd --- /dev/null +++ b/libjava/gnu/java/nio/ChannelReader.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_ChannelReader__ +#define __gnu_java_nio_ChannelReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class ChannelReader; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace channels + { + class ReadableByteChannel; + } + namespace charset + { + class CharsetDecoder; + } + } + } +} + +class gnu::java::nio::ChannelReader : public ::java::io::Reader +{ + +public: + ChannelReader(::java::nio::channels::ReadableByteChannel *, ::java::nio::charset::CharsetDecoder *, jint); + virtual jint read(JArray< jchar > *, jint, jint); + virtual void close(); +private: + static const jint DEFAULT_BUFFER_CAP = 8192; + ::java::nio::channels::ReadableByteChannel * __attribute__((aligned(__alignof__( ::java::io::Reader)))) channel; + ::java::nio::charset::CharsetDecoder * decoder; + ::java::nio::ByteBuffer * byteBuffer; + ::java::nio::CharBuffer * charBuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_ChannelReader__ diff --git a/libjava/gnu/java/nio/ChannelWriter.h b/libjava/gnu/java/nio/ChannelWriter.h new file mode 100644 index 00000000000..f78d294bd7b --- /dev/null +++ b/libjava/gnu/java/nio/ChannelWriter.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_ChannelWriter__ +#define __gnu_java_nio_ChannelWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class ChannelWriter; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace channels + { + class WritableByteChannel; + } + namespace charset + { + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::ChannelWriter : public ::java::io::Writer +{ + + void writeBuffer(); +public: + ChannelWriter(::java::nio::channels::WritableByteChannel *, ::java::nio::charset::CharsetEncoder *, jint); + virtual void flush(); + virtual void close(); + virtual void write(JArray< jchar > *, jint, jint); +private: + static const jint DEFAULT_BUFFER_CAP = 8192; + ::java::nio::channels::WritableByteChannel * __attribute__((aligned(__alignof__( ::java::io::Writer)))) byteChannel; + ::java::nio::charset::CharsetEncoder * enc; + ::java::nio::ByteBuffer * byteBuffer; + ::java::nio::CharBuffer * charBuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_ChannelWriter__ diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.h b/libjava/gnu/java/nio/DatagramChannelImpl.h new file mode 100644 index 00000000000..26595caa514 --- /dev/null +++ b/libjava/gnu/java/nio/DatagramChannelImpl.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_DatagramChannelImpl__ +#define __gnu_java_nio_DatagramChannelImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class DatagramChannelImpl; + class NIODatagramSocket; + } + } + } + namespace java + { + namespace net + { + class DatagramSocket; + class SocketAddress; + } + namespace nio + { + class ByteBuffer; + namespace channels + { + class DatagramChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::DatagramChannelImpl : public ::java::nio::channels::DatagramChannel +{ + +public: + jboolean isInChannelOperation(); + void setInChannelOperation(jboolean); +public: // actually protected + DatagramChannelImpl(::java::nio::channels::spi::SelectorProvider *); +public: + jint getNativeFD(); + ::java::net::DatagramSocket * socket(); +public: // actually protected + void implCloseSelectableChannel(); + void implConfigureBlocking(jboolean); +public: + ::java::nio::channels::DatagramChannel * connect(::java::net::SocketAddress *); + ::java::nio::channels::DatagramChannel * disconnect(); + jboolean isConnected(); + jint write(::java::nio::ByteBuffer *); + jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + jint read(::java::nio::ByteBuffer *); + jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + ::java::net::SocketAddress * receive(::java::nio::ByteBuffer *); + jint send(::java::nio::ByteBuffer *, ::java::net::SocketAddress *); +private: + ::gnu::java::nio::NIODatagramSocket * __attribute__((aligned(__alignof__( ::java::nio::channels::DatagramChannel)))) socket__; + jboolean inChannelOperation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_DatagramChannelImpl__ diff --git a/libjava/gnu/java/nio/DatagramChannelSelectionKey.h b/libjava/gnu/java/nio/DatagramChannelSelectionKey.h new file mode 100644 index 00000000000..629eed378e2 --- /dev/null +++ b/libjava/gnu/java/nio/DatagramChannelSelectionKey.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_DatagramChannelSelectionKey__ +#define __gnu_java_nio_DatagramChannelSelectionKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class DatagramChannelSelectionKey; + class SelectorImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + namespace spi + { + class AbstractSelectableChannel; + } + } + } + } +} + +class gnu::java::nio::DatagramChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl +{ + +public: + DatagramChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *); + jint getNativeFD(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_DatagramChannelSelectionKey__ diff --git a/libjava/gnu/java/nio/EpollSelectionKeyImpl.h b/libjava/gnu/java/nio/EpollSelectionKeyImpl.h new file mode 100644 index 00000000000..1674815153c --- /dev/null +++ b/libjava/gnu/java/nio/EpollSelectionKeyImpl.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_EpollSelectionKeyImpl__ +#define __gnu_java_nio_EpollSelectionKeyImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class EpollSelectionKeyImpl; + class EpollSelectorImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + } + } + } +} + +class gnu::java::nio::EpollSelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey +{ + +public: // actually package-private + EpollSelectionKeyImpl(::gnu::java::nio::EpollSelectorImpl *, ::java::nio::channels::SelectableChannel *, jint); +public: + virtual ::java::nio::channels::SelectableChannel * channel(); + virtual jint interestOps(); + virtual ::java::nio::channels::SelectionKey * interestOps(jint); + virtual jint readyOps(); + virtual ::java::nio::channels::Selector * selector(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) fd; +private: + ::gnu::java::nio::EpollSelectorImpl * selector__; + ::java::nio::channels::SelectableChannel * channel__; +public: // actually package-private + jint interestOps__; + jint selectedOps; + jint key; + jboolean valid; + jboolean cancelled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_EpollSelectionKeyImpl__ diff --git a/libjava/gnu/java/nio/FileLockImpl.h b/libjava/gnu/java/nio/FileLockImpl.h new file mode 100644 index 00000000000..ba1668be327 --- /dev/null +++ b/libjava/gnu/java/nio/FileLockImpl.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_FileLockImpl__ +#define __gnu_java_nio_FileLockImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class FileLockImpl; + namespace channels + { + class FileChannelImpl; + } + } + } + } +} + +class gnu::java::nio::FileLockImpl : public ::java::nio::channels::FileLock +{ + +public: + FileLockImpl(::gnu::java::nio::channels::FileChannelImpl *, jlong, jlong, jboolean); +public: // actually protected + void finalize(); +public: + jboolean isValid(); + void release(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::FileLock)))) valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_FileLockImpl__ diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java new file mode 100644 index 00000000000..673ca2522df --- /dev/null +++ b/libjava/gnu/java/nio/FileLockImpl.java @@ -0,0 +1,104 @@ +/* FileLockImpl.java -- FileLock associated with a FileChannelImpl. + Copyright (C) 2002, 2004, 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. */ + + +package gnu.java.nio; + +import gnu.java.nio.channels.FileChannelImpl; + +import java.io.IOException; +import java.nio.channels.FileLock; + +/** + * A FileLock associated with a FileChannelImpl. + * + * @author Michael Koch + * @since 1.4 + */ +public final class FileLockImpl extends FileLock +{ + /** + * Whether or not this lock is valid, false when channel is closed or + * release has been explicitly called. + */ + private boolean valid; + + public FileLockImpl (FileChannelImpl channel, long position, + long size, boolean shared) + { + super (channel, position, size, shared); + valid = true; + } + + /** + * Releases this lock. + */ + protected void finalize() + { + try + { + release(); + } + catch (IOException e) + { + // Ignore this. + } + } + + /** + * Whether or not this lock is valid, false when channel is closed or + * release has been explicitly called. + */ + public boolean isValid() + { + if (valid) + valid = channel().isOpen(); + return valid; + } + + /** + * Releases the lock if it is still valid. Marks this lock as invalid. + */ + public void release() throws IOException + { + if (isValid()) + { + valid = false; + ((FileChannelImpl) channel()).unlock(position(), size()); + } + } +} diff --git a/libjava/gnu/java/nio/InputStreamChannel.h b/libjava/gnu/java/nio/InputStreamChannel.h new file mode 100644 index 00000000000..b6631695d35 --- /dev/null +++ b/libjava/gnu/java/nio/InputStreamChannel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_InputStreamChannel__ +#define __gnu_java_nio_InputStreamChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class InputStreamChannel; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::nio::InputStreamChannel : public ::java::lang::Object +{ + +public: + InputStreamChannel(::java::io::InputStream *); + void close(); + jboolean isOpen(); + jint read(::java::nio::ByteBuffer *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed; + ::java::io::InputStream * in; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_InputStreamChannel__ diff --git a/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h b/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h new file mode 100644 index 00000000000..8a501b545cd --- /dev/null +++ b/libjava/gnu/java/nio/KqueueSelectionKeyImpl.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_KqueueSelectionKeyImpl__ +#define __gnu_java_nio_KqueueSelectionKeyImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class KqueueSelectionKeyImpl; + class KqueueSelectorImpl; + class VMChannelOwner; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + } + } + } +} + +class gnu::java::nio::KqueueSelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey +{ + +public: + KqueueSelectionKeyImpl(::gnu::java::nio::KqueueSelectorImpl *, ::java::nio::channels::SelectableChannel *); + virtual ::java::nio::channels::SelectableChannel * channel(); + virtual jint interestOps(); + virtual ::java::nio::channels::SelectionKey * interestOps(jint); + virtual jint readyOps(); + virtual ::java::nio::channels::Selector * selector(); + virtual ::java::lang::String * toString(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + virtual jboolean isReadActive(); + virtual jboolean isReadInterested(); + virtual jboolean isWriteActive(); + virtual jboolean isWriteInterested(); + virtual jboolean needCommitRead(); + virtual jboolean needCommitWrite(); + jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) interestOps__; + jint readyOps__; + jint activeOps; + jint key; + jint fd; +private: + ::gnu::java::nio::KqueueSelectorImpl * selector__; + ::java::nio::channels::SelectableChannel * channel__; + ::gnu::java::nio::VMChannelOwner * natChannel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_KqueueSelectionKeyImpl__ diff --git a/libjava/gnu/java/nio/NIOConstants.h b/libjava/gnu/java/nio/NIOConstants.h new file mode 100644 index 00000000000..a27e4286d0c --- /dev/null +++ b/libjava/gnu/java/nio/NIOConstants.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_NIOConstants__ +#define __gnu_java_nio_NIOConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class NIOConstants; + } + } + } +} + +class gnu::java::nio::NIOConstants : public ::java::lang::Object +{ + +public: + NIOConstants(); + static const jint DEFAULT_TIMEOUT = 50; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_NIOConstants__ diff --git a/libjava/gnu/java/nio/NIODatagramSocket.h b/libjava/gnu/java/nio/NIODatagramSocket.h new file mode 100644 index 00000000000..3e76ec9c4ae --- /dev/null +++ b/libjava/gnu/java/nio/NIODatagramSocket.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_NIODatagramSocket__ +#define __gnu_java_nio_NIODatagramSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainDatagramSocketImpl; + } + namespace nio + { + class DatagramChannelImpl; + class NIODatagramSocket; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class DatagramChannel; + } + } + } +} + +class gnu::java::nio::NIODatagramSocket : public ::java::net::DatagramSocket +{ + +public: + NIODatagramSocket(::gnu::java::net::PlainDatagramSocketImpl *, ::gnu::java::nio::DatagramChannelImpl *); + ::gnu::java::net::PlainDatagramSocketImpl * getPlainDatagramSocketImpl(); + ::java::nio::channels::DatagramChannel * getChannel(); +private: + ::gnu::java::net::PlainDatagramSocketImpl * __attribute__((aligned(__alignof__( ::java::net::DatagramSocket)))) impl; + ::gnu::java::nio::DatagramChannelImpl * channel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_NIODatagramSocket__ diff --git a/libjava/gnu/java/nio/NIOServerSocket.h b/libjava/gnu/java/nio/NIOServerSocket.h new file mode 100644 index 00000000000..908a664af76 --- /dev/null +++ b/libjava/gnu/java/nio/NIOServerSocket.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_NIOServerSocket__ +#define __gnu_java_nio_NIOServerSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + } + namespace nio + { + class NIOServerSocket; + class ServerSocketChannelImpl; + } + } + } + namespace java + { + namespace net + { + class Socket; + } + namespace nio + { + namespace channels + { + class ServerSocketChannel; + } + } + } +} + +class gnu::java::nio::NIOServerSocket : public ::java::net::ServerSocket +{ + +public: // actually protected + NIOServerSocket(::gnu::java::nio::ServerSocketChannelImpl *); +public: + ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl(); + ::java::nio::channels::ServerSocketChannel * getChannel(); + ::java::net::Socket * accept(); +private: + ::gnu::java::nio::ServerSocketChannelImpl * __attribute__((aligned(__alignof__( ::java::net::ServerSocket)))) channel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_NIOServerSocket__ diff --git a/libjava/gnu/java/nio/NIOSocket.h b/libjava/gnu/java/nio/NIOSocket.h new file mode 100644 index 00000000000..b987a6c9e96 --- /dev/null +++ b/libjava/gnu/java/nio/NIOSocket.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_NIOSocket__ +#define __gnu_java_nio_NIOSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + } + namespace nio + { + class NIOSocket; + class SocketChannelImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class SocketChannel; + } + } + } +} + +class gnu::java::nio::NIOSocket : public ::java::net::Socket +{ + +public: // actually protected + NIOSocket(::gnu::java::net::PlainSocketImpl *, ::gnu::java::nio::SocketChannelImpl *); +public: + ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl(); +public: // actually package-private + void setChannel(::gnu::java::nio::SocketChannelImpl *); +public: + ::java::nio::channels::SocketChannel * getChannel(); +private: + ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::net::Socket)))) impl; + ::gnu::java::nio::SocketChannelImpl * channel; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_NIOSocket__ diff --git a/libjava/gnu/java/nio/NIOSocket.java b/libjava/gnu/java/nio/NIOSocket.java new file mode 100644 index 00000000000..4d812bf44ba --- /dev/null +++ b/libjava/gnu/java/nio/NIOSocket.java @@ -0,0 +1,77 @@ +/* NIOSocket.java -- + Copyright (C) 2003 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. */ + + +package gnu.java.nio; + +import gnu.java.net.PlainSocketImpl; +import java.io.IOException; +import java.net.Socket; +import java.nio.channels.SocketChannel; + +/** + * @author Michael Koch + */ +public final class NIOSocket extends Socket +{ + private PlainSocketImpl impl; + private SocketChannelImpl channel; + + protected NIOSocket (PlainSocketImpl impl, SocketChannelImpl channel) + throws IOException + { + super (impl); + this.impl = impl; + this.channel = channel; + } + + public final PlainSocketImpl getPlainSocketImpl() + { + return impl; + } + + final void setChannel (SocketChannelImpl channel) + { + this.impl = channel.getPlainSocketImpl(); + this.channel = channel; + } + + public final SocketChannel getChannel() + { + return channel; + } +} diff --git a/libjava/gnu/java/nio/OutputStreamChannel.h b/libjava/gnu/java/nio/OutputStreamChannel.h new file mode 100644 index 00000000000..3a47ab97b1a --- /dev/null +++ b/libjava/gnu/java/nio/OutputStreamChannel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_OutputStreamChannel__ +#define __gnu_java_nio_OutputStreamChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class OutputStreamChannel; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::nio::OutputStreamChannel : public ::java::lang::Object +{ + +public: + OutputStreamChannel(::java::io::OutputStream *); + void close(); + jboolean isOpen(); + jint write(::java::nio::ByteBuffer *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed; + ::java::io::OutputStream * out; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_OutputStreamChannel__ diff --git a/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h b/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h new file mode 100644 index 00000000000..648de594b8d --- /dev/null +++ b/libjava/gnu/java/nio/PipeImpl$SinkChannelImpl.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_PipeImpl$SinkChannelImpl__ +#define __gnu_java_nio_PipeImpl$SinkChannelImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class PipeImpl$SinkChannelImpl; + class VMChannel; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::PipeImpl$SinkChannelImpl : public ::java::nio::channels::Pipe$SinkChannel +{ + +public: + PipeImpl$SinkChannelImpl(::java::nio::channels::spi::SelectorProvider *, jint); +public: // actually protected + void implCloseSelectableChannel(); + void implConfigureBlocking(jboolean); +public: + jint write(::java::nio::ByteBuffer *); + jlong write(JArray< ::java::nio::ByteBuffer * > *); + jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + jint getNativeFD(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe$SinkChannel)))) native_fd; + ::gnu::java::nio::VMChannel * vmch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_PipeImpl$SinkChannelImpl__ diff --git a/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h b/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h new file mode 100644 index 00000000000..fdc744bbf7a --- /dev/null +++ b/libjava/gnu/java/nio/PipeImpl$SourceChannelImpl.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_PipeImpl$SourceChannelImpl__ +#define __gnu_java_nio_PipeImpl$SourceChannelImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class PipeImpl$SourceChannelImpl; + class VMChannel; + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::PipeImpl$SourceChannelImpl : public ::java::nio::channels::Pipe$SourceChannel +{ + +public: + PipeImpl$SourceChannelImpl(::java::nio::channels::spi::SelectorProvider *, jint); +public: // actually protected + void implCloseSelectableChannel(); + void implConfigureBlocking(jboolean); +public: + jint read(::java::nio::ByteBuffer *); + jlong read(JArray< ::java::nio::ByteBuffer * > *); + jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + jint getNativeFD(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe$SourceChannel)))) native_fd; + ::gnu::java::nio::VMChannel * vmch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_PipeImpl$SourceChannelImpl__ diff --git a/libjava/gnu/java/nio/PipeImpl.h b/libjava/gnu/java/nio/PipeImpl.h new file mode 100644 index 00000000000..63bfafb56de --- /dev/null +++ b/libjava/gnu/java/nio/PipeImpl.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_PipeImpl__ +#define __gnu_java_nio_PipeImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class PipeImpl; + class PipeImpl$SinkChannelImpl; + class PipeImpl$SourceChannelImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class Pipe$SinkChannel; + class Pipe$SourceChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::PipeImpl : public ::java::nio::channels::Pipe +{ + +public: + PipeImpl(::java::nio::channels::spi::SelectorProvider *); + virtual ::java::nio::channels::Pipe$SinkChannel * sink(); + virtual ::java::nio::channels::Pipe$SourceChannel * source(); +private: + ::gnu::java::nio::PipeImpl$SinkChannelImpl * __attribute__((aligned(__alignof__( ::java::nio::channels::Pipe)))) sink__; + ::gnu::java::nio::PipeImpl$SourceChannelImpl * source__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_PipeImpl__ diff --git a/libjava/gnu/java/nio/PipeImpl.java b/libjava/gnu/java/nio/PipeImpl.java new file mode 100644 index 00000000000..cccaa39885f --- /dev/null +++ b/libjava/gnu/java/nio/PipeImpl.java @@ -0,0 +1,178 @@ +/* PipeImpl.java -- + Copyright (C) 2002, 2003, 2004, 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. */ + +package gnu.java.nio; + + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.Pipe; +import java.nio.channels.spi.SelectorProvider; + +class PipeImpl extends Pipe +{ + public static final class SourceChannelImpl extends Pipe.SourceChannel + { + private int native_fd; + private VMChannel vmch; + + public SourceChannelImpl (SelectorProvider selectorProvider, + int native_fd) + { + super (selectorProvider); + this.native_fd = native_fd; + vmch = VMChannel.getVMChannel(this); + } + + protected final void implCloseSelectableChannel() + throws IOException + { + throw new Error ("Not implemented"); + } + + protected void implConfigureBlocking (boolean blocking) + throws IOException + { + vmch.setBlocking(blocking); + } + + public final int read (ByteBuffer src) + throws IOException + { + return vmch.read(src); + } + + public final long read (ByteBuffer[] srcs) + throws IOException + { + return vmch.readScattering(srcs, 0, srcs.length); + } + + public final synchronized long read (ByteBuffer[] srcs, int offset, + int len) + throws IOException + { + if (offset < 0 + || offset > srcs.length + || len < 0 + || len > srcs.length - offset) + throw new IndexOutOfBoundsException(); + + return vmch.readScattering(srcs, offset, len); + } + + public final int getNativeFD() + { + return native_fd; + } + } + + public static final class SinkChannelImpl extends Pipe.SinkChannel + { + private int native_fd; + private VMChannel vmch; + + public SinkChannelImpl (SelectorProvider selectorProvider, + int native_fd) + { + super (selectorProvider); + this.native_fd = native_fd; + vmch = VMChannel.getVMChannel(this); + } + + protected final void implCloseSelectableChannel() + throws IOException + { + throw new Error ("Not implemented"); + } + + protected final void implConfigureBlocking (boolean blocking) + throws IOException + { + vmch.setBlocking(blocking); + } + + public final int write (ByteBuffer dst) + throws IOException + { + return vmch.write(dst); + } + + public final long write (ByteBuffer[] srcs) + throws IOException + { + return vmch.writeGathering(srcs, 0, srcs.length); + } + + public final synchronized long write (ByteBuffer[] srcs, int offset, int len) + throws IOException + { + if (offset < 0 + || offset > srcs.length + || len < 0 + || len > srcs.length - offset) + throw new IndexOutOfBoundsException(); + + return vmch.writeGathering(srcs, offset, len); + } + + public final int getNativeFD() + { + return native_fd; + } + } + + private SinkChannelImpl sink; + private SourceChannelImpl source; + + public PipeImpl (SelectorProvider provider) + throws IOException + { + super(); + VMPipe.init (this, provider); + } + + public Pipe.SinkChannel sink() + { + return sink; + } + + public Pipe.SourceChannel source() + { + return source; + } +} diff --git a/libjava/gnu/java/nio/SelectionKeyImpl.h b/libjava/gnu/java/nio/SelectionKeyImpl.h new file mode 100644 index 00000000000..29e0dca2cc7 --- /dev/null +++ b/libjava/gnu/java/nio/SelectionKeyImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_SelectionKeyImpl__ +#define __gnu_java_nio_SelectionKeyImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class SelectionKeyImpl; + class SelectorImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + } + } + } +} + +class gnu::java::nio::SelectionKeyImpl : public ::java::nio::channels::spi::AbstractSelectionKey +{ + +public: + SelectionKeyImpl(::java::nio::channels::SelectableChannel *, ::gnu::java::nio::SelectorImpl *); + virtual ::java::nio::channels::SelectableChannel * channel(); + virtual jint readyOps(); + virtual ::java::nio::channels::SelectionKey * readyOps(jint); + virtual jint interestOps(); + virtual ::java::nio::channels::SelectionKey * interestOps(jint); + virtual ::java::nio::channels::Selector * selector(); + virtual jint getNativeFD() = 0; +private: + jint __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelectionKey)))) readyOps__; + jint interestOps__; + ::gnu::java::nio::SelectorImpl * impl; +public: // actually package-private + ::java::nio::channels::SelectableChannel * ch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_SelectionKeyImpl__ diff --git a/libjava/gnu/java/nio/SelectorImpl.h b/libjava/gnu/java/nio/SelectorImpl.h new file mode 100644 index 00000000000..5db33c8aa0f --- /dev/null +++ b/libjava/gnu/java/nio/SelectorImpl.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_SelectorImpl__ +#define __gnu_java_nio_SelectorImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class SelectorImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + namespace spi + { + class AbstractSelectableChannel; + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::SelectorImpl : public ::java::nio::channels::spi::AbstractSelector +{ + +public: + SelectorImpl(::java::nio::channels::spi::SelectorProvider *); +public: // actually protected + virtual void finalize(); + virtual void implCloseSelector(); +public: + virtual ::java::util::Set * keys(); + virtual jint selectNow(); + virtual jint select(); +private: + JArray< jint > * getFDsAsArray(jint); +public: + virtual jint select(jlong); + virtual ::java::util::Set * selectedKeys(); + virtual ::java::nio::channels::Selector * wakeup(); +private: + void deregisterCancelledKeys(); +public: // actually protected + virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::SelectableChannel *, jint, ::java::lang::Object *); + virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::spi::AbstractSelectableChannel *, jint, ::java::lang::Object *); +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::nio::channels::spi::AbstractSelector)))) keys__; + ::java::util::Set * selected; + ::java::lang::Object * selectThreadMutex; + ::java::lang::Thread * selectThread; + jboolean unhandledWakeup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_SelectorImpl__ diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.h b/libjava/gnu/java/nio/SelectorProviderImpl.h new file mode 100644 index 00000000000..e2ad8e41d91 --- /dev/null +++ b/libjava/gnu/java/nio/SelectorProviderImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_SelectorProviderImpl__ +#define __gnu_java_nio_SelectorProviderImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class SelectorProviderImpl; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class DatagramChannel; + class Pipe; + class ServerSocketChannel; + class SocketChannel; + namespace spi + { + class AbstractSelector; + } + } + } + } +} + +class gnu::java::nio::SelectorProviderImpl : public ::java::nio::channels::spi::SelectorProvider +{ + +public: + SelectorProviderImpl(); + virtual ::java::nio::channels::DatagramChannel * openDatagramChannel(); + virtual ::java::nio::channels::Pipe * openPipe(); + virtual ::java::nio::channels::spi::AbstractSelector * openSelector(); + virtual ::java::nio::channels::ServerSocketChannel * openServerSocketChannel(); + virtual ::java::nio::channels::SocketChannel * openSocketChannel(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_SelectorProviderImpl__ diff --git a/libjava/gnu/java/nio/SelectorProviderImpl.java b/libjava/gnu/java/nio/SelectorProviderImpl.java new file mode 100644 index 00000000000..47521107e90 --- /dev/null +++ b/libjava/gnu/java/nio/SelectorProviderImpl.java @@ -0,0 +1,83 @@ +/* SelectorProviderImpl.java -- + Copyright (C) 2002, 2003 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. */ + +package gnu.java.nio; + +import java.io.IOException; +import java.nio.channels.DatagramChannel; +import java.nio.channels.Pipe; +import java.nio.channels.ServerSocketChannel; +import java.nio.channels.SocketChannel; +import java.nio.channels.spi.AbstractSelector; +import java.nio.channels.spi.SelectorProvider; + +public class SelectorProviderImpl extends SelectorProvider +{ + public SelectorProviderImpl () + { + } + + public DatagramChannel openDatagramChannel () + throws IOException + { + return new DatagramChannelImpl (this); + } + + public Pipe openPipe () + throws IOException + { + return new PipeImpl (this); + } + + public AbstractSelector openSelector () + throws IOException + { + return new SelectorImpl (this); + } + + public ServerSocketChannel openServerSocketChannel () + throws IOException + { + return new ServerSocketChannelImpl (this); + } + + public SocketChannel openSocketChannel () + throws IOException + { + return new SocketChannelImpl (this); + } +} diff --git a/libjava/gnu/java/nio/ServerSocketChannelImpl.h b/libjava/gnu/java/nio/ServerSocketChannelImpl.h new file mode 100644 index 00000000000..28f6d981127 --- /dev/null +++ b/libjava/gnu/java/nio/ServerSocketChannelImpl.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_ServerSocketChannelImpl__ +#define __gnu_java_nio_ServerSocketChannelImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class NIOServerSocket; + class ServerSocketChannelImpl; + } + } + } + namespace java + { + namespace net + { + class ServerSocket; + } + namespace nio + { + namespace channels + { + class SocketChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::ServerSocketChannelImpl : public ::java::nio::channels::ServerSocketChannel +{ + +public: // actually protected + ServerSocketChannelImpl(::java::nio::channels::spi::SelectorProvider *); +public: + jint getNativeFD(); + void finalizer(); +public: // actually protected + void implCloseSelectableChannel(); + void implConfigureBlocking(jboolean); +public: + ::java::nio::channels::SocketChannel * accept(); + ::java::net::ServerSocket * socket(); +private: + ::gnu::java::nio::NIOServerSocket * __attribute__((aligned(__alignof__( ::java::nio::channels::ServerSocketChannel)))) serverSocket; + jboolean connected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_ServerSocketChannelImpl__ diff --git a/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h new file mode 100644 index 00000000000..43e35932c9a --- /dev/null +++ b/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_ServerSocketChannelSelectionKey__ +#define __gnu_java_nio_ServerSocketChannelSelectionKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class SelectorImpl; + class ServerSocketChannelSelectionKey; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + namespace spi + { + class AbstractSelectableChannel; + } + } + } + } +} + +class gnu::java::nio::ServerSocketChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl +{ + +public: + ServerSocketChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *); + jint getNativeFD(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_ServerSocketChannelSelectionKey__ diff --git a/libjava/gnu/java/nio/SocketChannelImpl.h b/libjava/gnu/java/nio/SocketChannelImpl.h new file mode 100644 index 00000000000..b180918d6c6 --- /dev/null +++ b/libjava/gnu/java/nio/SocketChannelImpl.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_SocketChannelImpl__ +#define __gnu_java_nio_SocketChannelImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + } + namespace nio + { + class NIOSocket; + class SocketChannelImpl; + } + } + } + namespace java + { + namespace net + { + class Socket; + class SocketAddress; + } + namespace nio + { + class ByteBuffer; + namespace channels + { + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::SocketChannelImpl : public ::java::nio::channels::SocketChannel +{ + +public: // actually package-private + SocketChannelImpl(::java::nio::channels::spi::SelectorProvider *); + SocketChannelImpl(::java::nio::channels::spi::SelectorProvider *, ::gnu::java::nio::NIOSocket *); +public: + void finalizer(); +public: // actually package-private + ::gnu::java::net::PlainSocketImpl * getPlainSocketImpl(); + jint getNativeFD(); +public: // actually protected + void implCloseSelectableChannel(); + void implConfigureBlocking(jboolean); +public: + jboolean connect(::java::net::SocketAddress *); + jboolean finishConnect(); + jboolean isConnected(); + jboolean isConnectionPending(); + ::java::net::Socket * socket(); + jint read(::java::nio::ByteBuffer *); + jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + jint write(::java::nio::ByteBuffer *); + jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint); +private: + ::gnu::java::net::PlainSocketImpl * __attribute__((aligned(__alignof__( ::java::nio::channels::SocketChannel)))) impl; + ::gnu::java::nio::NIOSocket * socket__; + jboolean connectionPending; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_SocketChannelImpl__ diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.h b/libjava/gnu/java/nio/SocketChannelSelectionKey.h new file mode 100644 index 00000000000..f9d5f297f81 --- /dev/null +++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_SocketChannelSelectionKey__ +#define __gnu_java_nio_SocketChannelSelectionKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class SelectorImpl; + class SocketChannelSelectionKey; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + namespace spi + { + class AbstractSelectableChannel; + } + } + } + } +} + +class gnu::java::nio::SocketChannelSelectionKey : public ::gnu::java::nio::SelectionKeyImpl +{ + +public: + SocketChannelSelectionKey(::java::nio::channels::spi::AbstractSelectableChannel *, ::gnu::java::nio::SelectorImpl *); + jint getNativeFD(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_SocketChannelSelectionKey__ diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.java b/libjava/gnu/java/nio/SocketChannelSelectionKey.java index 13affef2474..75b4dfd87e5 100644 --- a/libjava/gnu/java/nio/SocketChannelSelectionKey.java +++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.java @@ -51,6 +51,8 @@ public final class SocketChannelSelectionKey public int getNativeFD() { - return ((SocketChannelImpl) ch).getNativeFD(); + NIOSocket socket = + (NIOSocket) ((SocketChannelImpl) ch).socket(); + return socket.getPlainSocketImpl().getNativeFD(); } } diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h new file mode 100644 index 00000000000..b3ab4900fe5 --- /dev/null +++ b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_SocketChannelSelectionKeyImpl__ +#define __gnu_java_nio_SocketChannelSelectionKeyImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class SelectorImpl; + class SocketChannelImpl; + class SocketChannelSelectionKeyImpl; + } + } + } +} + +class gnu::java::nio::SocketChannelSelectionKeyImpl : public ::gnu::java::nio::SelectionKeyImpl +{ + +public: + SocketChannelSelectionKeyImpl(::gnu::java::nio::SocketChannelImpl *, ::gnu::java::nio::SelectorImpl *); + virtual jint getNativeFD(); +public: // actually package-private + ::gnu::java::nio::SocketChannelImpl * __attribute__((aligned(__alignof__( ::gnu::java::nio::SelectionKeyImpl)))) ch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_SocketChannelSelectionKeyImpl__ diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java new file mode 100644 index 00000000000..30fb2dfba44 --- /dev/null +++ b/libjava/gnu/java/nio/SocketChannelSelectionKeyImpl.java @@ -0,0 +1,69 @@ +/* SocketChannelSelectionKey.java -- Selection key for Socket Channel + 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. */ + + +package gnu.java.nio; + + +/** + * @author Michael Barker + * + */ +public class SocketChannelSelectionKeyImpl extends SelectionKeyImpl +{ + + SocketChannelImpl ch; + + /** + * @param ch + * @param impl + */ + public SocketChannelSelectionKeyImpl(SocketChannelImpl ch, SelectorImpl impl) + { + super(ch, impl); + this.ch = (SocketChannelImpl) ch; + } + + /** + * Returns the native file/socket descriptor as an int. + */ + public int getNativeFD() + { + return ch.getPlainSocketImpl().getNativeFD(); + } + +} diff --git a/libjava/gnu/java/nio/VMChannel.h b/libjava/gnu/java/nio/VMChannel.h new file mode 100644 index 00000000000..288805137e0 --- /dev/null +++ b/libjava/gnu/java/nio/VMChannel.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_VMChannel__ +#define __gnu_java_nio_VMChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace net + { + class PlainSocketImpl; + } + namespace nio + { + class PipeImpl$SinkChannelImpl; + class PipeImpl$SourceChannelImpl; + class VMChannel; + namespace channels + { + class FileChannelImpl; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::nio::VMChannel : public ::java::lang::Object +{ + + VMChannel(jint); +public: + static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::net::PlainSocketImpl *); + static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::PipeImpl$SourceChannelImpl *); + static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::PipeImpl$SinkChannelImpl *); + static ::gnu::java::nio::VMChannel * getVMChannel(::gnu::java::nio::channels::FileChannelImpl *); + virtual void setBlocking(jint, jboolean); + virtual void setBlocking(jboolean); +public: // actually package-private + virtual jint read(jint, ::java::nio::ByteBuffer *); +public: + virtual jint read(::java::nio::ByteBuffer *); +public: // actually package-private + virtual jlong readScattering(jint, JArray< ::java::nio::ByteBuffer * > *, jint, jint); +public: + virtual jlong readScattering(JArray< ::java::nio::ByteBuffer * > *, jint, jint); +public: // actually package-private + virtual jint write(jint, ::java::nio::ByteBuffer *); +public: + virtual jint write(::java::nio::ByteBuffer *); +public: // actually package-private + virtual jlong writeGathering(jint, JArray< ::java::nio::ByteBuffer * > *, jint, jint); +public: + virtual jlong writeGathering(JArray< ::java::nio::ByteBuffer * > *, jint, jint); +private: + static void initIDs(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) fd; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_VMChannel__ diff --git a/libjava/gnu/java/nio/VMChannel.java b/libjava/gnu/java/nio/VMChannel.java index 23f44bbf964..fdea8ff6213 100644 --- a/libjava/gnu/java/nio/VMChannel.java +++ b/libjava/gnu/java/nio/VMChannel.java @@ -80,9 +80,19 @@ public class VMChannel public static VMChannel getVMChannel(FileChannelImpl file) { - return null; // XXX - return new VMChannel(file.getNativeFD()); + return new VMChannel(file.getNativeFD()); } + static + { + // load the shared library needed for native methods. + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary ("javanio"); + } + initIDs(); + } + /** * Set the file descriptor to have the required blocking * setting. @@ -90,10 +100,7 @@ public class VMChannel * @param fd * @param blocking */ - public void setBlocking(int fd, boolean blocking) - { - throw new RuntimeException("XXX - Implement me!"); - } + public native void setBlocking(int fd, boolean blocking); public void setBlocking(boolean blocking) { @@ -110,11 +117,8 @@ public class VMChannel * @return Number of bytes read. * @throws IOException If an error occurs or dst is not a direct buffers. */ - int read(int fd, ByteBuffer dst) - throws IOException - { - throw new IOException("XXX - Implement me!"); - } + native int read(int fd, ByteBuffer dst) + throws IOException; public int read(ByteBuffer dst) throws IOException @@ -134,11 +138,8 @@ public class VMChannel * @return Number of bytes read. * @throws IOException If an error occurs or the dsts are not direct buffers. */ - long readScattering(int fd, ByteBuffer[] dsts, int offset, int length) - throws IOException - { - throw new IOException("XXX - Implement me!"); - } + native long readScattering(int fd, ByteBuffer[] dsts, int offset, int length) + throws IOException; public long readScattering(ByteBuffer[] dsts, int offset, int length) throws IOException @@ -158,11 +159,8 @@ public class VMChannel * @return Number of bytes written. * @throws IOException */ - int write(int fd, ByteBuffer src) - throws IOException - { - throw new IOException("XXX - Implement me!"); - } + native int write(int fd, ByteBuffer src) + throws IOException; public int write(ByteBuffer src) throws IOException @@ -182,12 +180,9 @@ public class VMChannel * @return Number of bytes written. * @throws IOException */ - long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length) - throws IOException - { - throw new IOException("XXX - Implement me!"); - } - + native long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length) + throws IOException; + public long writeGathering(ByteBuffer[] srcs, int offset, int length) throws IOException { @@ -196,4 +191,7 @@ public class VMChannel return writeGathering(fd, srcs, offset, length); } + + private native static void initIDs(); + } diff --git a/libjava/gnu/java/nio/VMChannelOwner.h b/libjava/gnu/java/nio/VMChannelOwner.h new file mode 100644 index 00000000000..eca43b54391 --- /dev/null +++ b/libjava/gnu/java/nio/VMChannelOwner.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_VMChannelOwner__ +#define __gnu_java_nio_VMChannelOwner__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class VMChannel; + class VMChannelOwner; + } + } + } +} + +class gnu::java::nio::VMChannelOwner : public ::java::lang::Object +{ + +public: + virtual ::gnu::java::nio::VMChannel * getVMChannel() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_nio_VMChannelOwner__ diff --git a/libjava/gnu/java/nio/VMPipe.h b/libjava/gnu/java/nio/VMPipe.h new file mode 100644 index 00000000000..3a94c1e38aa --- /dev/null +++ b/libjava/gnu/java/nio/VMPipe.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_VMPipe__ +#define __gnu_java_nio_VMPipe__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class PipeImpl; + class VMPipe; + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class gnu::java::nio::VMPipe : public ::java::lang::Object +{ + +public: // actually package-private + VMPipe(); + static void init(::gnu::java::nio::PipeImpl *, ::java::nio::channels::spi::SelectorProvider *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_VMPipe__ diff --git a/libjava/gnu/java/nio/VMSelector.h b/libjava/gnu/java/nio/VMSelector.h new file mode 100644 index 00000000000..cc177ff9e64 --- /dev/null +++ b/libjava/gnu/java/nio/VMSelector.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_VMSelector__ +#define __gnu_java_nio_VMSelector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + class VMSelector; + } + } + } +} + +class gnu::java::nio::VMSelector : public ::java::lang::Object +{ + +public: + VMSelector(); +public: // actually package-private + static jint select(JArray< jint > *, JArray< jint > *, JArray< jint > *, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_VMSelector__ diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.h b/libjava/gnu/java/nio/channels/FileChannelImpl.h new file mode 100644 index 00000000000..34099c52ffb --- /dev/null +++ b/libjava/gnu/java/nio/channels/FileChannelImpl.h @@ -0,0 +1,118 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_channels_FileChannelImpl__ +#define __gnu_java_nio_channels_FileChannelImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace channels + { + class FileChannelImpl; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class MappedByteBuffer; + namespace channels + { + class FileChannel; + class FileChannel$MapMode; + class FileLock; + class ReadableByteChannel; + class WritableByteChannel; + } + } + } +} + +class gnu::java::nio::channels::FileChannelImpl : public ::java::nio::channels::FileChannel +{ + + static void init(); +public: + FileChannelImpl(); + static ::gnu::java::nio::channels::FileChannelImpl * create(::java::io::File *, jint); +private: + FileChannelImpl(::java::io::File *, jint); +public: // actually package-private + FileChannelImpl(jint, jint); +private: + jint open(::java::lang::String *, jint); +public: + jint available(); +private: + jlong implPosition(); + void seek(jlong); + void implTruncate(jlong); +public: + void unlock(jlong, jlong); + jlong size(); +public: // actually protected + void implCloseChannel(); + void finalize(); +public: + jint read(::java::nio::ByteBuffer *); + jint read(::java::nio::ByteBuffer *, jlong); + jint read(); + jint read(JArray< jbyte > *, jint, jint); + jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + jint write(::java::nio::ByteBuffer *); + jint write(::java::nio::ByteBuffer *, jlong); + void write(JArray< jbyte > *, jint, jint); + void write(jint); + jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint); + ::java::nio::MappedByteBuffer * mapImpl(jchar, jlong, jint); + ::java::nio::MappedByteBuffer * map(::java::nio::channels::FileChannel$MapMode *, jlong, jlong); + void force(jboolean); +private: + jint smallTransferTo(jlong, jint, ::java::nio::channels::WritableByteChannel *); +public: + jlong transferTo(jlong, jlong, ::java::nio::channels::WritableByteChannel *); +private: + jint smallTransferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jint); +public: + jlong transferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jlong); + ::java::nio::channels::FileLock * tryLock(jlong, jlong, jboolean); +private: + jboolean lock(jlong, jlong, jboolean, jboolean); +public: + ::java::nio::channels::FileLock * lock(jlong, jlong, jboolean); + jlong position(); + ::java::nio::channels::FileChannel * position(jlong); + ::java::nio::channels::FileChannel * truncate(jlong); + jint getNativeFD(); + static const jint READ = 1; + static const jint WRITE = 2; + static const jint APPEND = 4; + static const jint EXCL = 8; + static const jint SYNC = 16; + static const jint DSYNC = 32; +private: + jint __attribute__((aligned(__alignof__( ::java::nio::channels::FileChannel)))) fd; + jlong pos; + jint mode; +public: + static ::gnu::java::nio::channels::FileChannelImpl * in; + static ::gnu::java::nio::channels::FileChannelImpl * out; + static ::gnu::java::nio::channels::FileChannelImpl * err; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_channels_FileChannelImpl__ diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java index db68b596910..c1f79a43646 100644 --- a/libjava/gnu/java/nio/channels/FileChannelImpl.java +++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java @@ -533,4 +533,12 @@ public final class FileChannelImpl extends FileChannel return this; } + + /** + * @return The native file descriptor. + */ + public int getNativeFD() + { + return fd; + } } diff --git a/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h b/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h new file mode 100644 index 00000000000..584b15fe5ba --- /dev/null +++ b/libjava/gnu/java/nio/charset/ByteCharset$Decoder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ByteCharset$Decoder__ +#define __gnu_java_nio_charset_ByteCharset$Decoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ByteCharset; + class ByteCharset$Decoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::ByteCharset$Decoder : public ::java::nio::charset::CharsetDecoder +{ + +public: // actually package-private + ByteCharset$Decoder(::gnu::java::nio::charset::ByteCharset *); +public: // actually protected + ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *); +private: + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetDecoder)))) lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ByteCharset$Decoder__ diff --git a/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h b/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h new file mode 100644 index 00000000000..cc31ae43eec --- /dev/null +++ b/libjava/gnu/java/nio/charset/ByteCharset$Encoder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ByteCharset$Encoder__ +#define __gnu_java_nio_charset_ByteCharset$Encoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ByteCharset; + class ByteCharset$Encoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::ByteCharset$Encoder : public ::java::nio::charset::CharsetEncoder +{ + +public: // actually package-private + ByteCharset$Encoder(::gnu::java::nio::charset::ByteCharset *); +public: + jboolean canEncode(jchar); + jboolean canEncode(::java::lang::CharSequence *); +public: // actually protected + ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetEncoder)))) lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ByteCharset$Encoder__ diff --git a/libjava/gnu/java/nio/charset/ByteCharset.h b/libjava/gnu/java/nio/charset/ByteCharset.h new file mode 100644 index 00000000000..045e03fde28 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ByteCharset.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ByteCharset__ +#define __gnu_java_nio_charset_ByteCharset__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ByteCharset; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::ByteCharset : public ::java::nio::charset::Charset +{ + +public: // actually package-private + ByteCharset(::java::lang::String *, JArray< ::java::lang::String * > *); +public: + virtual jboolean contains(::java::nio::charset::Charset *); +public: // actually package-private + virtual JArray< jchar > * getLookupTable(); +public: + virtual ::java::nio::charset::CharsetDecoder * newDecoder(); + virtual ::java::nio::charset::CharsetEncoder * newEncoder(); +public: // actually protected + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::nio::charset::Charset)))) lookupTable; + static const jchar NONE = 65533; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ByteCharset__ diff --git a/libjava/gnu/java/nio/charset/Cp424.h b/libjava/gnu/java/nio/charset/Cp424.h new file mode 100644 index 00000000000..29ea29f6793 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp424.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp424__ +#define __gnu_java_nio_charset_Cp424__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp424; + } + } + } + } +} + +class gnu::java::nio::charset::Cp424 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp424(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp424__ diff --git a/libjava/gnu/java/nio/charset/Cp437.h b/libjava/gnu/java/nio/charset/Cp437.h new file mode 100644 index 00000000000..5593ff0ca6c --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp437.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp437__ +#define __gnu_java_nio_charset_Cp437__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp437; + } + } + } + } +} + +class gnu::java::nio::charset::Cp437 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp437(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp437__ diff --git a/libjava/gnu/java/nio/charset/Cp737.h b/libjava/gnu/java/nio/charset/Cp737.h new file mode 100644 index 00000000000..583075b7c02 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp737.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp737__ +#define __gnu_java_nio_charset_Cp737__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp737; + } + } + } + } +} + +class gnu::java::nio::charset::Cp737 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp737(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp737__ diff --git a/libjava/gnu/java/nio/charset/Cp775.h b/libjava/gnu/java/nio/charset/Cp775.h new file mode 100644 index 00000000000..995b7f6219d --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp775.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp775__ +#define __gnu_java_nio_charset_Cp775__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp775; + } + } + } + } +} + +class gnu::java::nio::charset::Cp775 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp775(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp775__ diff --git a/libjava/gnu/java/nio/charset/Cp850.h b/libjava/gnu/java/nio/charset/Cp850.h new file mode 100644 index 00000000000..e1a17dedada --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp850.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp850__ +#define __gnu_java_nio_charset_Cp850__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp850; + } + } + } + } +} + +class gnu::java::nio::charset::Cp850 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp850(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp850__ diff --git a/libjava/gnu/java/nio/charset/Cp852.h b/libjava/gnu/java/nio/charset/Cp852.h new file mode 100644 index 00000000000..e5ff8292d59 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp852.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp852__ +#define __gnu_java_nio_charset_Cp852__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp852; + } + } + } + } +} + +class gnu::java::nio::charset::Cp852 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp852(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp852__ diff --git a/libjava/gnu/java/nio/charset/Cp855.h b/libjava/gnu/java/nio/charset/Cp855.h new file mode 100644 index 00000000000..2ff372c7646 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp855.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp855__ +#define __gnu_java_nio_charset_Cp855__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp855; + } + } + } + } +} + +class gnu::java::nio::charset::Cp855 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp855(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp855__ diff --git a/libjava/gnu/java/nio/charset/Cp857.h b/libjava/gnu/java/nio/charset/Cp857.h new file mode 100644 index 00000000000..eba0a48a4fb --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp857.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp857__ +#define __gnu_java_nio_charset_Cp857__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp857; + } + } + } + } +} + +class gnu::java::nio::charset::Cp857 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp857(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp857__ diff --git a/libjava/gnu/java/nio/charset/Cp860.h b/libjava/gnu/java/nio/charset/Cp860.h new file mode 100644 index 00000000000..a93098358a8 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp860.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp860__ +#define __gnu_java_nio_charset_Cp860__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp860; + } + } + } + } +} + +class gnu::java::nio::charset::Cp860 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp860(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp860__ diff --git a/libjava/gnu/java/nio/charset/Cp861.h b/libjava/gnu/java/nio/charset/Cp861.h new file mode 100644 index 00000000000..04d202c7f45 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp861.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp861__ +#define __gnu_java_nio_charset_Cp861__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp861; + } + } + } + } +} + +class gnu::java::nio::charset::Cp861 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp861(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp861__ diff --git a/libjava/gnu/java/nio/charset/Cp862.h b/libjava/gnu/java/nio/charset/Cp862.h new file mode 100644 index 00000000000..8ddc349f5b7 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp862.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp862__ +#define __gnu_java_nio_charset_Cp862__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp862; + } + } + } + } +} + +class gnu::java::nio::charset::Cp862 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp862(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp862__ diff --git a/libjava/gnu/java/nio/charset/Cp863.h b/libjava/gnu/java/nio/charset/Cp863.h new file mode 100644 index 00000000000..76902574aa4 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp863.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp863__ +#define __gnu_java_nio_charset_Cp863__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp863; + } + } + } + } +} + +class gnu::java::nio::charset::Cp863 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp863(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp863__ diff --git a/libjava/gnu/java/nio/charset/Cp864.h b/libjava/gnu/java/nio/charset/Cp864.h new file mode 100644 index 00000000000..3f245f7ade2 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp864.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp864__ +#define __gnu_java_nio_charset_Cp864__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp864; + } + } + } + } +} + +class gnu::java::nio::charset::Cp864 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp864(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp864__ diff --git a/libjava/gnu/java/nio/charset/Cp865.h b/libjava/gnu/java/nio/charset/Cp865.h new file mode 100644 index 00000000000..78c43729e34 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp865.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp865__ +#define __gnu_java_nio_charset_Cp865__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp865; + } + } + } + } +} + +class gnu::java::nio::charset::Cp865 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp865(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp865__ diff --git a/libjava/gnu/java/nio/charset/Cp866.h b/libjava/gnu/java/nio/charset/Cp866.h new file mode 100644 index 00000000000..2c6375a9e7d --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp866.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp866__ +#define __gnu_java_nio_charset_Cp866__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp866; + } + } + } + } +} + +class gnu::java::nio::charset::Cp866 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp866(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp866__ diff --git a/libjava/gnu/java/nio/charset/Cp869.h b/libjava/gnu/java/nio/charset/Cp869.h new file mode 100644 index 00000000000..bc67408deed --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp869.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp869__ +#define __gnu_java_nio_charset_Cp869__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp869; + } + } + } + } +} + +class gnu::java::nio::charset::Cp869 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp869(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp869__ diff --git a/libjava/gnu/java/nio/charset/Cp874.h b/libjava/gnu/java/nio/charset/Cp874.h new file mode 100644 index 00000000000..590f84d7785 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Cp874.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Cp874__ +#define __gnu_java_nio_charset_Cp874__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Cp874; + } + } + } + } +} + +class gnu::java::nio::charset::Cp874 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Cp874(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Cp874__ diff --git a/libjava/gnu/java/nio/charset/EncodingHelper.h b/libjava/gnu/java/nio/charset/EncodingHelper.h new file mode 100644 index 00000000000..89cf7f1fe4c --- /dev/null +++ b/libjava/gnu/java/nio/charset/EncodingHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_EncodingHelper__ +#define __gnu_java_nio_charset_EncodingHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class EncodingHelper; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + } + } + } +} + +class gnu::java::nio::charset::EncodingHelper : public ::java::lang::Object +{ + +public: + EncodingHelper(); + static ::java::lang::String * getDefaultEncoding(); + static ::java::lang::String * getOldCanonical(::java::lang::String *); + static jboolean isISOLatin1(::java::lang::String *); + static ::java::nio::charset::Charset * getCharset(::java::lang::String *); +private: + static ::java::util::HashMap * canonicalNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_EncodingHelper__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h b/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h new file mode 100644 index 00000000000..8adb8b83bcd --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_1$Decoder.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_1$Decoder__ +#define __gnu_java_nio_charset_ISO_8859_1$Decoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_1$Decoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_1$Decoder : public ::java::nio::charset::CharsetDecoder +{ + +public: // actually package-private + ISO_8859_1$Decoder(::java::nio::charset::Charset *); +public: // actually protected + ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_1$Decoder__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h b/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h new file mode 100644 index 00000000000..47d2280cbb5 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_1$Encoder.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_1$Encoder__ +#define __gnu_java_nio_charset_ISO_8859_1$Encoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_1$Encoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_1$Encoder : public ::java::nio::charset::CharsetEncoder +{ + +public: // actually package-private + ISO_8859_1$Encoder(::java::nio::charset::Charset *); +public: + jboolean canEncode(jchar); + jboolean canEncode(::java::lang::CharSequence *); +public: // actually protected + ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_1$Encoder__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_1.h b/libjava/gnu/java/nio/charset/ISO_8859_1.h new file mode 100644 index 00000000000..dc03558f989 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_1__ +#define __gnu_java_nio_charset_ISO_8859_1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_1; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_1 : public ::java::nio::charset::Charset +{ + +public: // actually package-private + ISO_8859_1(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_1__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_13.h b/libjava/gnu/java/nio/charset/ISO_8859_13.h new file mode 100644 index 00000000000..dfe4240afb8 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_13.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_13__ +#define __gnu_java_nio_charset_ISO_8859_13__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_13; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_13 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_13(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_13__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_15.h b/libjava/gnu/java/nio/charset/ISO_8859_15.h new file mode 100644 index 00000000000..617e2271be8 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_15.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_15__ +#define __gnu_java_nio_charset_ISO_8859_15__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_15; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_15 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_15(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_15__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_2.h b/libjava/gnu/java/nio/charset/ISO_8859_2.h new file mode 100644 index 00000000000..e201ddc5528 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_2.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_2__ +#define __gnu_java_nio_charset_ISO_8859_2__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_2; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_2 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_2(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_2__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_3.h b/libjava/gnu/java/nio/charset/ISO_8859_3.h new file mode 100644 index 00000000000..3c468fd5228 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_3.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_3__ +#define __gnu_java_nio_charset_ISO_8859_3__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_3; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_3 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_3(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_3__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_4.h b/libjava/gnu/java/nio/charset/ISO_8859_4.h new file mode 100644 index 00000000000..f338bf002a5 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_4.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_4__ +#define __gnu_java_nio_charset_ISO_8859_4__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_4; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_4 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_4(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_4__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_5.h b/libjava/gnu/java/nio/charset/ISO_8859_5.h new file mode 100644 index 00000000000..4d626d022c2 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_5.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_5__ +#define __gnu_java_nio_charset_ISO_8859_5__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_5; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_5 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_5(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_5__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_6.h b/libjava/gnu/java/nio/charset/ISO_8859_6.h new file mode 100644 index 00000000000..0ce45f24d54 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_6.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_6__ +#define __gnu_java_nio_charset_ISO_8859_6__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_6; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_6 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_6(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_6__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_7.h b/libjava/gnu/java/nio/charset/ISO_8859_7.h new file mode 100644 index 00000000000..0c661fa92f5 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_7.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_7__ +#define __gnu_java_nio_charset_ISO_8859_7__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_7; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_7 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_7(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_7__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_8.h b/libjava/gnu/java/nio/charset/ISO_8859_8.h new file mode 100644 index 00000000000..96a255e43f6 --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_8.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_8__ +#define __gnu_java_nio_charset_ISO_8859_8__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_8; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_8 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_8(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_8__ diff --git a/libjava/gnu/java/nio/charset/ISO_8859_9.h b/libjava/gnu/java/nio/charset/ISO_8859_9.h new file mode 100644 index 00000000000..a5030b7888b --- /dev/null +++ b/libjava/gnu/java/nio/charset/ISO_8859_9.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_ISO_8859_9__ +#define __gnu_java_nio_charset_ISO_8859_9__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class ISO_8859_9; + } + } + } + } +} + +class gnu::java::nio::charset::ISO_8859_9 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + ISO_8859_9(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_ISO_8859_9__ diff --git a/libjava/gnu/java/nio/charset/KOI_8.h b/libjava/gnu/java/nio/charset/KOI_8.h new file mode 100644 index 00000000000..db07f142bd2 --- /dev/null +++ b/libjava/gnu/java/nio/charset/KOI_8.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_KOI_8__ +#define __gnu_java_nio_charset_KOI_8__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class KOI_8; + } + } + } + } +} + +class gnu::java::nio::charset::KOI_8 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + KOI_8(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_KOI_8__ diff --git a/libjava/gnu/java/nio/charset/MS874.h b/libjava/gnu/java/nio/charset/MS874.h new file mode 100644 index 00000000000..c22c860b642 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MS874.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MS874__ +#define __gnu_java_nio_charset_MS874__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MS874; + } + } + } + } +} + +class gnu::java::nio::charset::MS874 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MS874(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MS874__ diff --git a/libjava/gnu/java/nio/charset/MacCentralEurope.h b/libjava/gnu/java/nio/charset/MacCentralEurope.h new file mode 100644 index 00000000000..c91c915f0c5 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacCentralEurope.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacCentralEurope__ +#define __gnu_java_nio_charset_MacCentralEurope__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacCentralEurope; + } + } + } + } +} + +class gnu::java::nio::charset::MacCentralEurope : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacCentralEurope(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacCentralEurope__ diff --git a/libjava/gnu/java/nio/charset/MacCroatian.h b/libjava/gnu/java/nio/charset/MacCroatian.h new file mode 100644 index 00000000000..8c03767f2d8 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacCroatian.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacCroatian__ +#define __gnu_java_nio_charset_MacCroatian__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacCroatian; + } + } + } + } +} + +class gnu::java::nio::charset::MacCroatian : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacCroatian(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacCroatian__ diff --git a/libjava/gnu/java/nio/charset/MacCyrillic.h b/libjava/gnu/java/nio/charset/MacCyrillic.h new file mode 100644 index 00000000000..4190da579ce --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacCyrillic.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacCyrillic__ +#define __gnu_java_nio_charset_MacCyrillic__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacCyrillic; + } + } + } + } +} + +class gnu::java::nio::charset::MacCyrillic : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacCyrillic(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacCyrillic__ diff --git a/libjava/gnu/java/nio/charset/MacDingbat.h b/libjava/gnu/java/nio/charset/MacDingbat.h new file mode 100644 index 00000000000..05995390be0 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacDingbat.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacDingbat__ +#define __gnu_java_nio_charset_MacDingbat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacDingbat; + } + } + } + } +} + +class gnu::java::nio::charset::MacDingbat : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacDingbat(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacDingbat__ diff --git a/libjava/gnu/java/nio/charset/MacGreek.h b/libjava/gnu/java/nio/charset/MacGreek.h new file mode 100644 index 00000000000..df1f52fbb93 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacGreek.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacGreek__ +#define __gnu_java_nio_charset_MacGreek__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacGreek; + } + } + } + } +} + +class gnu::java::nio::charset::MacGreek : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacGreek(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacGreek__ diff --git a/libjava/gnu/java/nio/charset/MacIceland.h b/libjava/gnu/java/nio/charset/MacIceland.h new file mode 100644 index 00000000000..e8878e8ee38 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacIceland.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacIceland__ +#define __gnu_java_nio_charset_MacIceland__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacIceland; + } + } + } + } +} + +class gnu::java::nio::charset::MacIceland : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacIceland(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacIceland__ diff --git a/libjava/gnu/java/nio/charset/MacRoman.h b/libjava/gnu/java/nio/charset/MacRoman.h new file mode 100644 index 00000000000..a648b80cd4b --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacRoman.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacRoman__ +#define __gnu_java_nio_charset_MacRoman__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacRoman; + } + } + } + } +} + +class gnu::java::nio::charset::MacRoman : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacRoman(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacRoman__ diff --git a/libjava/gnu/java/nio/charset/MacRomania.h b/libjava/gnu/java/nio/charset/MacRomania.h new file mode 100644 index 00000000000..ecc89ed4fa4 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacRomania.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacRomania__ +#define __gnu_java_nio_charset_MacRomania__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacRomania; + } + } + } + } +} + +class gnu::java::nio::charset::MacRomania : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacRomania(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacRomania__ diff --git a/libjava/gnu/java/nio/charset/MacSymbol.h b/libjava/gnu/java/nio/charset/MacSymbol.h new file mode 100644 index 00000000000..e9ca0b1b407 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacSymbol.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacSymbol__ +#define __gnu_java_nio_charset_MacSymbol__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacSymbol; + } + } + } + } +} + +class gnu::java::nio::charset::MacSymbol : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacSymbol(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacSymbol__ diff --git a/libjava/gnu/java/nio/charset/MacThai.h b/libjava/gnu/java/nio/charset/MacThai.h new file mode 100644 index 00000000000..dbf916687cf --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacThai.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacThai__ +#define __gnu_java_nio_charset_MacThai__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacThai; + } + } + } + } +} + +class gnu::java::nio::charset::MacThai : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacThai(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacThai__ diff --git a/libjava/gnu/java/nio/charset/MacTurkish.h b/libjava/gnu/java/nio/charset/MacTurkish.h new file mode 100644 index 00000000000..077c35d2646 --- /dev/null +++ b/libjava/gnu/java/nio/charset/MacTurkish.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_MacTurkish__ +#define __gnu_java_nio_charset_MacTurkish__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class MacTurkish; + } + } + } + } +} + +class gnu::java::nio::charset::MacTurkish : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + MacTurkish(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_MacTurkish__ diff --git a/libjava/gnu/java/nio/charset/Provider$1.h b/libjava/gnu/java/nio/charset/Provider$1.h new file mode 100644 index 00000000000..880faccf5c6 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Provider$1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Provider$1__ +#define __gnu_java_nio_charset_Provider$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Provider$1; + } + } + } + } +} + +class gnu::java::nio::charset::Provider$1 : public ::java::lang::Object +{ + +public: // actually package-private + Provider$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Provider$1__ diff --git a/libjava/gnu/java/nio/charset/Provider.h b/libjava/gnu/java/nio/charset/Provider.h new file mode 100644 index 00000000000..04495ed8c73 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Provider.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Provider__ +#define __gnu_java_nio_charset_Provider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Provider; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + } + } + } +} + +class gnu::java::nio::charset::Provider : public ::java::nio::charset::spi::CharsetProvider +{ + +public: // actually package-private + Provider(); +private: + void loadExtended(); +public: + ::java::util::Iterator * charsets(); + ::java::nio::charset::Charset * charsetForName(::java::lang::String *); +private: + void addCharset(::java::nio::charset::Charset *); +public: + static ::gnu::java::nio::charset::Provider * provider(); +private: + static ::gnu::java::nio::charset::Provider * singleton; + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::nio::charset::spi::CharsetProvider)))) canonicalNames; + ::java::util::HashMap * charsets__; + jboolean extendedLoaded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Provider__ diff --git a/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h b/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h new file mode 100644 index 00000000000..c0c09bc32f7 --- /dev/null +++ b/libjava/gnu/java/nio/charset/US_ASCII$Decoder.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_US_ASCII$Decoder__ +#define __gnu_java_nio_charset_US_ASCII$Decoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class US_ASCII$Decoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::US_ASCII$Decoder : public ::java::nio::charset::CharsetDecoder +{ + +public: // actually package-private + US_ASCII$Decoder(::java::nio::charset::Charset *); +public: // actually protected + ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_US_ASCII$Decoder__ diff --git a/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h b/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h new file mode 100644 index 00000000000..7a30c343c6e --- /dev/null +++ b/libjava/gnu/java/nio/charset/US_ASCII$Encoder.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_US_ASCII$Encoder__ +#define __gnu_java_nio_charset_US_ASCII$Encoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class US_ASCII$Encoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::US_ASCII$Encoder : public ::java::nio::charset::CharsetEncoder +{ + +public: // actually package-private + US_ASCII$Encoder(::java::nio::charset::Charset *); +public: + jboolean canEncode(jchar); + jboolean canEncode(::java::lang::CharSequence *); +public: // actually protected + ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_US_ASCII$Encoder__ diff --git a/libjava/gnu/java/nio/charset/US_ASCII.h b/libjava/gnu/java/nio/charset/US_ASCII.h new file mode 100644 index 00000000000..297cf111426 --- /dev/null +++ b/libjava/gnu/java/nio/charset/US_ASCII.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_US_ASCII__ +#define __gnu_java_nio_charset_US_ASCII__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class US_ASCII; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::US_ASCII : public ::java::nio::charset::Charset +{ + +public: // actually package-private + US_ASCII(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_US_ASCII__ diff --git a/libjava/gnu/java/nio/charset/UTF_16.h b/libjava/gnu/java/nio/charset/UTF_16.h new file mode 100644 index 00000000000..afb0fd8faa9 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_16.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_16__ +#define __gnu_java_nio_charset_UTF_16__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_16; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::UTF_16 : public ::java::nio::charset::Charset +{ + +public: // actually package-private + UTF_16(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_16__ diff --git a/libjava/gnu/java/nio/charset/UTF_16BE.h b/libjava/gnu/java/nio/charset/UTF_16BE.h new file mode 100644 index 00000000000..8b2bccfed26 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_16BE.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_16BE__ +#define __gnu_java_nio_charset_UTF_16BE__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_16BE; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::UTF_16BE : public ::java::nio::charset::Charset +{ + +public: // actually package-private + UTF_16BE(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_16BE__ diff --git a/libjava/gnu/java/nio/charset/UTF_16Decoder.h b/libjava/gnu/java/nio/charset/UTF_16Decoder.h new file mode 100644 index 00000000000..b23c3e72b96 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_16Decoder.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_16Decoder__ +#define __gnu_java_nio_charset_UTF_16Decoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_16Decoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::UTF_16Decoder : public ::java::nio::charset::CharsetDecoder +{ + +public: // actually package-private + UTF_16Decoder(::java::nio::charset::Charset *, jint); +public: // actually protected + ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *); + void implReset(); +public: // actually package-private + static const jint BIG_ENDIAN = 0; + static const jint LITTLE_ENDIAN = 1; + static const jint UNKNOWN_ENDIAN = 2; + static const jint MAYBE_BIG_ENDIAN = 3; + static const jint MAYBE_LITTLE_ENDIAN = 4; +private: + static const jchar BYTE_ORDER_MARK = 65279; + static const jchar REVERSED_BYTE_ORDER_MARK = 65534; + jint __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetDecoder)))) originalByteOrder; + jint byteOrder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_16Decoder__ diff --git a/libjava/gnu/java/nio/charset/UTF_16Encoder.h b/libjava/gnu/java/nio/charset/UTF_16Encoder.h new file mode 100644 index 00000000000..9dc49948411 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_16Encoder.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_16Encoder__ +#define __gnu_java_nio_charset_UTF_16Encoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_16Encoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::UTF_16Encoder : public ::java::nio::charset::CharsetEncoder +{ + +public: // actually package-private + UTF_16Encoder(::java::nio::charset::Charset *, jint, jboolean); +public: // actually protected + ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *); + void implReset(); +public: // actually package-private + static const jint BIG_ENDIAN = 0; + static const jint LITTLE_ENDIAN = 1; +private: + static const jchar BYTE_ORDER_MARK = 65279; + ::java::nio::ByteOrder * __attribute__((aligned(__alignof__( ::java::nio::charset::CharsetEncoder)))) byteOrder; + jboolean useByteOrderMark; + jboolean needsByteOrderMark; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_16Encoder__ diff --git a/libjava/gnu/java/nio/charset/UTF_16LE.h b/libjava/gnu/java/nio/charset/UTF_16LE.h new file mode 100644 index 00000000000..8b5ee1b3566 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_16LE.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_16LE__ +#define __gnu_java_nio_charset_UTF_16LE__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_16LE; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::UTF_16LE : public ::java::nio::charset::Charset +{ + +public: // actually package-private + UTF_16LE(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_16LE__ diff --git a/libjava/gnu/java/nio/charset/UTF_8$Decoder.h b/libjava/gnu/java/nio/charset/UTF_8$Decoder.h new file mode 100644 index 00000000000..89ec73287d1 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_8$Decoder.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_8$Decoder__ +#define __gnu_java_nio_charset_UTF_8$Decoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_8$Decoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::UTF_8$Decoder : public ::java::nio::charset::CharsetDecoder +{ + +public: // actually package-private + UTF_8$Decoder(::java::nio::charset::Charset *); +public: // actually protected + ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *); +private: + static jboolean isContinuation(jbyte); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_8$Decoder__ diff --git a/libjava/gnu/java/nio/charset/UTF_8$Encoder.h b/libjava/gnu/java/nio/charset/UTF_8$Encoder.h new file mode 100644 index 00000000000..13745f2931e --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_8$Encoder.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_8$Encoder__ +#define __gnu_java_nio_charset_UTF_8$Encoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_8$Encoder; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CoderResult; + } + } + } +} + +class gnu::java::nio::charset::UTF_8$Encoder : public ::java::nio::charset::CharsetEncoder +{ + +public: // actually package-private + UTF_8$Encoder(::java::nio::charset::Charset *); +public: // actually protected + ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_8$Encoder__ diff --git a/libjava/gnu/java/nio/charset/UTF_8.h b/libjava/gnu/java/nio/charset/UTF_8.h new file mode 100644 index 00000000000..0be5e400a37 --- /dev/null +++ b/libjava/gnu/java/nio/charset/UTF_8.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UTF_8__ +#define __gnu_java_nio_charset_UTF_8__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UTF_8; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::UTF_8 : public ::java::nio::charset::Charset +{ + +public: // actually package-private + UTF_8(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UTF_8__ diff --git a/libjava/gnu/java/nio/charset/UnicodeLittle.h b/libjava/gnu/java/nio/charset/UnicodeLittle.h new file mode 100644 index 00000000000..8086fd8a64c --- /dev/null +++ b/libjava/gnu/java/nio/charset/UnicodeLittle.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_UnicodeLittle__ +#define __gnu_java_nio_charset_UnicodeLittle__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class UnicodeLittle; + } + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class gnu::java::nio::charset::UnicodeLittle : public ::java::nio::charset::Charset +{ + +public: // actually package-private + UnicodeLittle(); +public: + jboolean contains(::java::nio::charset::Charset *); + ::java::nio::charset::CharsetDecoder * newDecoder(); + ::java::nio::charset::CharsetEncoder * newEncoder(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_UnicodeLittle__ diff --git a/libjava/gnu/java/nio/charset/Windows1250.h b/libjava/gnu/java/nio/charset/Windows1250.h new file mode 100644 index 00000000000..3e0bdae7e56 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1250.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1250__ +#define __gnu_java_nio_charset_Windows1250__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1250; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1250 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1250(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1250__ diff --git a/libjava/gnu/java/nio/charset/Windows1251.h b/libjava/gnu/java/nio/charset/Windows1251.h new file mode 100644 index 00000000000..5671f5a47b6 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1251.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1251__ +#define __gnu_java_nio_charset_Windows1251__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1251; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1251 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1251(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1251__ diff --git a/libjava/gnu/java/nio/charset/Windows1252.h b/libjava/gnu/java/nio/charset/Windows1252.h new file mode 100644 index 00000000000..f1e18a51b91 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1252.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1252__ +#define __gnu_java_nio_charset_Windows1252__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1252; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1252 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1252(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1252__ diff --git a/libjava/gnu/java/nio/charset/Windows1253.h b/libjava/gnu/java/nio/charset/Windows1253.h new file mode 100644 index 00000000000..4c9199d6f6a --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1253.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1253__ +#define __gnu_java_nio_charset_Windows1253__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1253; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1253 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1253(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1253__ diff --git a/libjava/gnu/java/nio/charset/Windows1254.h b/libjava/gnu/java/nio/charset/Windows1254.h new file mode 100644 index 00000000000..d14346deb95 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1254.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1254__ +#define __gnu_java_nio_charset_Windows1254__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1254; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1254 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1254(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1254__ diff --git a/libjava/gnu/java/nio/charset/Windows1255.h b/libjava/gnu/java/nio/charset/Windows1255.h new file mode 100644 index 00000000000..e8367b4a475 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1255.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1255__ +#define __gnu_java_nio_charset_Windows1255__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1255; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1255 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1255(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1255__ diff --git a/libjava/gnu/java/nio/charset/Windows1256.h b/libjava/gnu/java/nio/charset/Windows1256.h new file mode 100644 index 00000000000..c29502bd4a9 --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1256.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1256__ +#define __gnu_java_nio_charset_Windows1256__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1256; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1256 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1256(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1256__ diff --git a/libjava/gnu/java/nio/charset/Windows1257.h b/libjava/gnu/java/nio/charset/Windows1257.h new file mode 100644 index 00000000000..6f9c0ec4a9c --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1257.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1257__ +#define __gnu_java_nio_charset_Windows1257__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1257; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1257 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1257(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1257__ diff --git a/libjava/gnu/java/nio/charset/Windows1258.h b/libjava/gnu/java/nio/charset/Windows1258.h new file mode 100644 index 00000000000..2c7ea3185ca --- /dev/null +++ b/libjava/gnu/java/nio/charset/Windows1258.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_nio_charset_Windows1258__ +#define __gnu_java_nio_charset_Windows1258__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace charset + { + class Windows1258; + } + } + } + } +} + +class gnu::java::nio::charset::Windows1258 : public ::gnu::java::nio::charset::ByteCharset +{ + +public: + Windows1258(); +private: + static JArray< jchar > * lookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_nio_charset_Windows1258__ diff --git a/libjava/gnu/java/nio/natVMChannel.cc b/libjava/gnu/java/nio/natVMChannel.cc new file mode 100644 index 00000000000..4b4da7896f2 --- /dev/null +++ b/libjava/gnu/java/nio/natVMChannel.cc @@ -0,0 +1,46 @@ +#include + +#include +#include +#include + +void +gnu::java::nio::VMChannel::setBlocking (jint, jboolean) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::setBlocking (jint, jboolean) not implemented")); +} + + +jint +gnu::java::nio::VMChannel::read (jint, ::java::nio::ByteBuffer *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::read (jint, ::java::nio::ByteBuffer *) not implemented")); +} + + +jlong +gnu::java::nio::VMChannel::readScattering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::readScattering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) not implemented")); +} + + +jint +gnu::java::nio::VMChannel::write (jint, ::java::nio::ByteBuffer *) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::write (jint, ::java::nio::ByteBuffer *) not implemented")); +} + + +jlong +gnu::java::nio::VMChannel::writeGathering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::writeGathering (jint, JArray< ::java::nio::ByteBuffer *> *, jint, jint) not implemented")); +} + + +void +gnu::java::nio::VMChannel::initIDs () +{ + throw new ::java::lang::UnsupportedOperationException (JvNewStringLatin1 ("gnu::java::nio::VMChannel::initIDs () not implemented")); +} diff --git a/libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h b/libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h new file mode 100644 index 00000000000..ad170da547c --- /dev/null +++ b/libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_RMIMarshalledObjectInputStream__ +#define __gnu_java_rmi_RMIMarshalledObjectInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + class RMIMarshalledObjectInputStream; + } + } + } +} + +class gnu::java::rmi::RMIMarshalledObjectInputStream : public ::gnu::java::rmi::server::RMIObjectInputStream +{ + +public: + RMIMarshalledObjectInputStream(JArray< jbyte > *, JArray< jbyte > *); +public: // actually protected + virtual ::java::lang::Object * getAnnotation(); +private: + ::java::io::ObjectInputStream * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::RMIObjectInputStream)))) locStream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_RMIMarshalledObjectInputStream__ diff --git a/libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h b/libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h new file mode 100644 index 00000000000..6a1c87e367f --- /dev/null +++ b/libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_RMIMarshalledObjectOutputStream__ +#define __gnu_java_rmi_RMIMarshalledObjectOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + class RMIMarshalledObjectOutputStream; + } + } + } +} + +class gnu::java::rmi::RMIMarshalledObjectOutputStream : public ::gnu::java::rmi::server::RMIObjectOutputStream +{ + +public: + RMIMarshalledObjectOutputStream(::java::io::OutputStream *); +public: // actually protected + virtual void setAnnotation(::java::lang::String *); +public: + virtual void flush(); + virtual JArray< jbyte > * getLocBytes(); +private: + ::java::io::ObjectOutputStream * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::RMIObjectOutputStream)))) locStream; + ::java::io::ByteArrayOutputStream * locBytesStream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_RMIMarshalledObjectOutputStream__ diff --git a/libjava/gnu/java/rmi/activation/ActivationSystemTransient.h b/libjava/gnu/java/rmi/activation/ActivationSystemTransient.h new file mode 100644 index 00000000000..81607a34f86 --- /dev/null +++ b/libjava/gnu/java/rmi/activation/ActivationSystemTransient.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_activation_ActivationSystemTransient__ +#define __gnu_java_rmi_activation_ActivationSystemTransient__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace activation + { + class ActivationSystemTransient; + class BidiTable; + } + } + } + } + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationDesc; + class ActivationGroupDesc; + class ActivationGroupID; + class ActivationID; + class ActivationInstantiator; + class ActivationMonitor; + class ActivationSystem; + } + } + } +} + +class gnu::java::rmi::activation::ActivationSystemTransient : public ::gnu::java::rmi::activation::DefaultActivationSystem +{ + +public: // actually protected + ActivationSystemTransient(::gnu::java::rmi::activation::BidiTable *, ::gnu::java::rmi::activation::BidiTable *); + ActivationSystemTransient(); +public: + static ::java::rmi::activation::ActivationSystem * getInstance(); + virtual ::java::rmi::MarshalledObject * activate(::java::rmi::activation::ActivationID *, jboolean); + virtual ::java::rmi::activation::ActivationMonitor * activeGroup(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationInstantiator *, jlong); + virtual ::java::rmi::activation::ActivationDesc * getActivationDesc(::java::rmi::activation::ActivationID *); + virtual ::java::rmi::activation::ActivationGroupDesc * getActivationGroupDesc(::java::rmi::activation::ActivationGroupID *); + virtual ::java::rmi::activation::ActivationGroupID * registerGroup(::java::rmi::activation::ActivationGroupDesc *); + virtual ::java::rmi::activation::ActivationID * registerObject(::java::rmi::activation::ActivationDesc *); + virtual ::java::rmi::activation::ActivationDesc * setActivationDesc(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *); + virtual ::java::rmi::activation::ActivationGroupDesc * setActivationGroupDesc(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationGroupDesc *); + virtual void shutdown(); + virtual void unregisterGroup(::java::rmi::activation::ActivationGroupID *); + virtual void unregisterObject(::java::rmi::activation::ActivationID *); + virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::MarshalledObject *); + virtual void inactiveGroup(::java::rmi::activation::ActivationGroupID *, jlong); + virtual void inactiveObject(::java::rmi::activation::ActivationID *); +public: // actually protected + ::gnu::java::rmi::activation::BidiTable * __attribute__((aligned(__alignof__( ::gnu::java::rmi::activation::DefaultActivationSystem)))) groupDescs; + ::gnu::java::rmi::activation::BidiTable * descriptions; + ::java::util::Map * groupInstantiators; + ::java::util::Map * activatedObjects; +public: // actually package-private + static jlong groupIncarnations; + static ::java::rmi::activation::ActivationSystem * singleton; +public: + static jboolean debug; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_activation_ActivationSystemTransient__ diff --git a/libjava/gnu/java/rmi/activation/BidiTable.h b/libjava/gnu/java/rmi/activation/BidiTable.h new file mode 100644 index 00000000000..74a78f11ade --- /dev/null +++ b/libjava/gnu/java/rmi/activation/BidiTable.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_activation_BidiTable__ +#define __gnu_java_rmi_activation_BidiTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace activation + { + class BidiTable; + } + } + } + } +} + +class gnu::java::rmi::activation::BidiTable : public ::java::lang::Object +{ + +public: + BidiTable(); +public: // actually protected + BidiTable(jint); +public: + virtual ::java::lang::Object * getKey(::java::lang::Object *); + virtual void put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual void removeKey(::java::lang::Object *); + virtual jboolean containsKey(::java::lang::Object *); + virtual void shutdown(); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * keys(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually protected + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k2v; + ::java::util::Map * v2k; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_activation_BidiTable__ diff --git a/libjava/gnu/java/rmi/activation/DefaultActivationGroup.h b/libjava/gnu/java/rmi/activation/DefaultActivationGroup.h new file mode 100644 index 00000000000..2f1cb0eec97 --- /dev/null +++ b/libjava/gnu/java/rmi/activation/DefaultActivationGroup.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_activation_DefaultActivationGroup__ +#define __gnu_java_rmi_activation_DefaultActivationGroup__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace activation + { + class DefaultActivationGroup; + } + } + } + } + namespace java + { + namespace rmi + { + class MarshalledObject; + class Remote; + namespace activation + { + class ActivationDesc; + class ActivationGroupID; + class ActivationID; + } + } + } +} + +class gnu::java::rmi::activation::DefaultActivationGroup : public ::java::rmi::activation::ActivationGroup +{ + +public: + DefaultActivationGroup(::java::rmi::activation::ActivationGroupID *, ::java::rmi::MarshalledObject *); + virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::Remote *); + virtual ::java::rmi::MarshalledObject * newInstance(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + static JArray< ::java::lang::Class * > * cConstructorTypes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_activation_DefaultActivationGroup__ diff --git a/libjava/gnu/java/rmi/activation/DefaultActivationSystem.h b/libjava/gnu/java/rmi/activation/DefaultActivationSystem.h new file mode 100644 index 00000000000..457c112ede1 --- /dev/null +++ b/libjava/gnu/java/rmi/activation/DefaultActivationSystem.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_activation_DefaultActivationSystem__ +#define __gnu_java_rmi_activation_DefaultActivationSystem__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace activation + { + class DefaultActivationSystem; + } + } + } + } + namespace java + { + namespace rmi + { + namespace activation + { + class ActivationSystem; + } + } + } +} + +class gnu::java::rmi::activation::DefaultActivationSystem : public ::java::lang::Object +{ + +public: + DefaultActivationSystem(); + static ::java::rmi::activation::ActivationSystem * get(); +public: // actually package-private + static ::java::rmi::activation::ActivationSystem * system; + static jint ACTIVATION_REGISTRY_PORT; + static ::java::lang::String * AS_PORT_PROPERTY; + static ::java::lang::String * ACTIVATION_SYSTEM_NAME; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_activation_DefaultActivationSystem__ diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h b/libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h new file mode 100644 index 00000000000..ed869a29027 --- /dev/null +++ b/libjava/gnu/java/rmi/dgc/DGCImpl$RefProtector.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_dgc_DGCImpl$RefProtector__ +#define __gnu_java_rmi_dgc_DGCImpl$RefProtector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class DGCImpl; + class DGCImpl$RefProtector; + } + } + } + } + namespace java + { + namespace rmi + { + namespace server + { + class ObjID; + } + } + } +} + +class gnu::java::rmi::dgc::DGCImpl$RefProtector : public ::java::util::TimerTask +{ + +public: // actually package-private + DGCImpl$RefProtector(::gnu::java::rmi::dgc::DGCImpl *, JArray< ::java::rmi::server::ObjID * > *, jlong); +public: + virtual void run(); +public: // actually package-private + JArray< ::java::util::Collection * > * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) references; + ::gnu::java::rmi::dgc::DGCImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_dgc_DGCImpl$RefProtector__ diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl.h b/libjava/gnu/java/rmi/dgc/DGCImpl.h new file mode 100644 index 00000000000..e0f91a1990e --- /dev/null +++ b/libjava/gnu/java/rmi/dgc/DGCImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_dgc_DGCImpl__ +#define __gnu_java_rmi_dgc_DGCImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class DGCImpl; + } + } + } + } + namespace java + { + namespace rmi + { + namespace dgc + { + class Lease; + class VMID; + } + namespace server + { + class ObjID; + } + } + } +} + +class gnu::java::rmi::dgc::DGCImpl : public ::gnu::java::rmi::server::UnicastServerRef +{ + +public: + DGCImpl(); + virtual ::java::rmi::dgc::Lease * dirty(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::Lease *); + virtual void clean(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::VMID *, jboolean); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + static const jlong LEASE_VALUE = 600000LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_dgc_DGCImpl__ diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h b/libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h new file mode 100644 index 00000000000..3133f2ca453 --- /dev/null +++ b/libjava/gnu/java/rmi/dgc/DGCImpl_Skel.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_dgc_DGCImpl_Skel__ +#define __gnu_java_rmi_dgc_DGCImpl_Skel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class DGCImpl_Skel; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class Operation; + class RemoteCall; + } + } + } +} + +class gnu::java::rmi::dgc::DGCImpl_Skel : public ::java::lang::Object +{ + +public: + DGCImpl_Skel(); + JArray< ::java::rmi::server::Operation * > * getOperations(); + void dispatch(::java::rmi::Remote *, ::java::rmi::server::RemoteCall *, jint, jlong); +private: + static const jlong interfaceHash = -669196253586618813LL; + static JArray< ::java::rmi::server::Operation * > * operations; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_dgc_DGCImpl_Skel__ diff --git a/libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h b/libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h new file mode 100644 index 00000000000..f37555ad924 --- /dev/null +++ b/libjava/gnu/java/rmi/dgc/DGCImpl_Stub.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_dgc_DGCImpl_Stub__ +#define __gnu_java_rmi_dgc_DGCImpl_Stub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class DGCImpl_Stub; + } + } + } + } + namespace java + { + namespace rmi + { + namespace dgc + { + class Lease; + class VMID; + } + namespace server + { + class ObjID; + class Operation; + class RemoteRef; + } + } + } +} + +class gnu::java::rmi::dgc::DGCImpl_Stub : public ::java::rmi::server::RemoteStub +{ + +public: + DGCImpl_Stub(); + DGCImpl_Stub(::java::rmi::server::RemoteRef *); + void clean(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::VMID *, jboolean); + ::java::rmi::dgc::Lease * dirty(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::Lease *); +private: + static const jlong serialVersionUID = 2LL; + static const jlong interfaceHash = -669196253586618813LL; + static jboolean useNewInvoke; + static JArray< ::java::rmi::server::Operation * > * operations; + static ::java::lang::reflect::Method * $method_clean_0; + static ::java::lang::reflect::Method * $method_dirty_1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_dgc_DGCImpl_Stub__ diff --git a/libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h new file mode 100644 index 00000000000..7d31934041a --- /dev/null +++ b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_dgc_LeaseRenewingTask$LeaseTimerTask__ +#define __gnu_java_rmi_dgc_LeaseRenewingTask$LeaseTimerTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class LeaseRenewingTask; + class LeaseRenewingTask$LeaseTimerTask; + } + } + } + } +} + +class gnu::java::rmi::dgc::LeaseRenewingTask$LeaseTimerTask : public ::java::util::TimerTask +{ + +public: // actually package-private + LeaseRenewingTask$LeaseTimerTask(::gnu::java::rmi::dgc::LeaseRenewingTask *); +public: + virtual void run(); +public: // actually package-private + ::gnu::java::rmi::dgc::LeaseRenewingTask * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_dgc_LeaseRenewingTask$LeaseTimerTask__ diff --git a/libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h new file mode 100644 index 00000000000..506bdcc14dd --- /dev/null +++ b/libjava/gnu/java/rmi/dgc/LeaseRenewingTask.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_dgc_LeaseRenewingTask__ +#define __gnu_java_rmi_dgc_LeaseRenewingTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class LeaseRenewingTask; + } + namespace server + { + class UnicastRef; + } + } + } + } + namespace java + { + namespace rmi + { + namespace dgc + { + class Lease; + } + } + } +} + +class gnu::java::rmi::dgc::LeaseRenewingTask : public ::java::lang::Object +{ + +public: + LeaseRenewingTask(::gnu::java::rmi::server::UnicastRef *); + static void scheduleLeases(::gnu::java::rmi::server::UnicastRef *); + virtual void schedule(::java::rmi::dgc::Lease *); + virtual void renew(); + virtual ::java::rmi::dgc::Lease * notifyDGC(::gnu::java::rmi::server::UnicastRef *); + static jlong REQUEST_LEASE_DURATION; +public: // actually package-private + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ref; + ::java::rmi::dgc::Lease * lease; + static ::java::util::Timer * timer; + static ::java::util::WeakHashMap * existingTasks; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_dgc_LeaseRenewingTask__ diff --git a/libjava/gnu/java/rmi/registry/RegistryImpl.h b/libjava/gnu/java/rmi/registry/RegistryImpl.h new file mode 100644 index 00000000000..d4ae0194564 --- /dev/null +++ b/libjava/gnu/java/rmi/registry/RegistryImpl.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_registry_RegistryImpl__ +#define __gnu_java_rmi_registry_RegistryImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace registry + { + class RegistryImpl; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class RMIClientSocketFactory; + class RMIServerSocketFactory; + } + } + } +} + +class gnu::java::rmi::registry::RegistryImpl : public ::java::rmi::server::UnicastRemoteObject +{ + +public: + RegistryImpl(jint); + RegistryImpl(jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + virtual ::java::rmi::Remote * lookup(::java::lang::String *); + virtual void bind(::java::lang::String *, ::java::rmi::Remote *); + virtual void unbind(::java::lang::String *); + virtual void rebind(::java::lang::String *, ::java::rmi::Remote *); + virtual JArray< ::java::lang::String * > * list(); + static void version(); + static void help(); + static void main(JArray< ::java::lang::String * > *); +private: + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::rmi::server::UnicastRemoteObject)))) bindings; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_registry_RegistryImpl__ diff --git a/libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h b/libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h new file mode 100644 index 00000000000..898d8e8887d --- /dev/null +++ b/libjava/gnu/java/rmi/registry/RegistryImpl_Skel.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_registry_RegistryImpl_Skel__ +#define __gnu_java_rmi_registry_RegistryImpl_Skel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace registry + { + class RegistryImpl_Skel; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class Operation; + class RemoteCall; + } + } + } +} + +class gnu::java::rmi::registry::RegistryImpl_Skel : public ::java::lang::Object +{ + +public: + RegistryImpl_Skel(); + JArray< ::java::rmi::server::Operation * > * getOperations(); + void dispatch(::java::rmi::Remote *, ::java::rmi::server::RemoteCall *, jint, jlong); +private: + static const jlong interfaceHash = 4905912898345647071LL; + static JArray< ::java::rmi::server::Operation * > * operations; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_registry_RegistryImpl_Skel__ diff --git a/libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h b/libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h new file mode 100644 index 00000000000..89834426478 --- /dev/null +++ b/libjava/gnu/java/rmi/registry/RegistryImpl_Stub.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_registry_RegistryImpl_Stub__ +#define __gnu_java_rmi_registry_RegistryImpl_Stub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace registry + { + class RegistryImpl_Stub; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class Operation; + class RemoteRef; + } + } + } +} + +class gnu::java::rmi::registry::RegistryImpl_Stub : public ::java::rmi::server::RemoteStub +{ + +public: + RegistryImpl_Stub(); + RegistryImpl_Stub(::java::rmi::server::RemoteRef *); + void bind(::java::lang::String *, ::java::rmi::Remote *); + JArray< ::java::lang::String * > * list(); + ::java::rmi::Remote * lookup(::java::lang::String *); + void rebind(::java::lang::String *, ::java::rmi::Remote *); + void unbind(::java::lang::String *); +private: + static const jlong serialVersionUID = 2LL; + static const jlong interfaceHash = 4905912898345647071LL; + static jboolean useNewInvoke; + static JArray< ::java::rmi::server::Operation * > * operations; + static ::java::lang::reflect::Method * $method_bind_0; + static ::java::lang::reflect::Method * $method_list_1; + static ::java::lang::reflect::Method * $method_lookup_2; + static ::java::lang::reflect::Method * $method_rebind_3; + static ::java::lang::reflect::Method * $method_unbind_4; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_registry_RegistryImpl_Stub__ diff --git a/libjava/gnu/java/rmi/rmic/Compile_gcj.java b/libjava/gnu/java/rmi/rmic/Compile_gcj.java deleted file mode 100644 index e22611bb3ad..00000000000 --- a/libjava/gnu/java/rmi/rmic/Compile_gcj.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - Copyright (c) 2001, 2003 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. */ - -package gnu.java.rmi.rmic; - -/** Subclass of Compiler that can be used to invoke gcj. */ -public class Compile_gcj extends CompilerProcess -{ - private static final String [] COMPILER_ARGS = - { - "gcj", - "-C" - }; - - public String[] computeArguments (String filename) - { - return computeTypicalArguments(COMPILER_ARGS, - getClasspath(), - getDestination(), - filename); - } -} diff --git a/libjava/gnu/java/rmi/rmic/Compile_jikes.java b/libjava/gnu/java/rmi/rmic/Compile_jikes.java deleted file mode 100644 index e70b50c910b..00000000000 --- a/libjava/gnu/java/rmi/rmic/Compile_jikes.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (c) 2003 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. */ - -package gnu.java.rmi.rmic; - -/** Subclass of Compiler that can be used to invoke jikes. */ -public class Compile_jikes extends CompilerProcess -{ - /** Compiler arguments to invoke jikes */ - private static final String [] COMPILER_ARGS = - { - "jikes" - }; - - /** Compute the command line for the process. */ - public String[] computeArguments (String filename) - { - return computeTypicalArguments(COMPILER_ARGS, - getClasspath(), - getDestination(), - filename); - } -} diff --git a/libjava/gnu/java/rmi/rmic/Compile_kjc.java b/libjava/gnu/java/rmi/rmic/Compile_kjc.java deleted file mode 100644 index 79f1a845c36..00000000000 --- a/libjava/gnu/java/rmi/rmic/Compile_kjc.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (c) 2003 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. */ - -package gnu.java.rmi.rmic; - -/** Subclass of Compiler that can be used to invoke kjc. */ -public class Compile_kjc extends CompilerProcess -{ - /** Compiler arguments to invoke kjc */ - private static final String [] COMPILER_ARGS = - { - "kjc" - }; - - /** Compute the command line for the process. */ - public String[] computeArguments (String filename) - { - return computeTypicalArguments(COMPILER_ARGS, - getClasspath(), - getDestination(), - filename); - } -} diff --git a/libjava/gnu/java/rmi/rmic/Compiler.java b/libjava/gnu/java/rmi/rmic/Compiler.java deleted file mode 100644 index fc1f8464fa6..00000000000 --- a/libjava/gnu/java/rmi/rmic/Compiler.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (c) 2001, 2003 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. */ - -package gnu.java.rmi.rmic; - -/** - * A Compiler object can be used to compile a .java file into a - * .class file. This is an abstract class; the - * getInstance() method is used to obtain the actual - * compiler object. - */ -public abstract class Compiler -{ - // Can't directly instantiate. - protected Compiler () - { - } - - /** Create a new compiler instance. */ - public static Compiler getInstance () - { - return getInstance (System.getProperty ("classpath.compiler", "gcj")); - } - - /** Create a new compiler instance given the name of the compiler. */ - public static Compiler getInstance (String name) - { - try - { - Class k = Class.forName (classPrefix + name); - return (Compiler) k.newInstance (); - } - catch (Throwable _) - { - } - return null; - } - - /** Get the directory where output files will be put. */ - public String getDestination () - { - return dest; - } - - /** Set the directory where output files will be put. */ - public void setDestination (String dest) - { - this.dest = dest; - } - - /** Get the classpath for compilation. */ - public String getClasspath () - { - return classpath; - } - - /** Set the classpath for compilation. */ - public void setClasspath (String classpath) - { - this.classpath = classpath; - } - - /** Compile the given file. Throws exception on error. */ - public abstract void compile (String name) throws Exception; - - /** The destination directory, or null if none set. */ - protected String dest; - - /** The classpath directory, or null if none set. */ - private String classpath; - - /** Class prefix used when trying to find instance. */ - private static final String classPrefix = "gnu.java.rmi.rmic.Compile_"; -} diff --git a/libjava/gnu/java/rmi/rmic/CompilerProcess.java b/libjava/gnu/java/rmi/rmic/CompilerProcess.java deleted file mode 100644 index d7b29987663..00000000000 --- a/libjava/gnu/java/rmi/rmic/CompilerProcess.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - Copyright (c) 2001, 2003 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. */ - -package gnu.java.rmi.rmic; - -import java.io.InputStream; - -/** - * Subclass of Compiler that can be subclassed to invoke a process to - * do its work. - */ -public abstract class CompilerProcess extends Compiler -{ - /** This is used to compute the command line for the process. */ - public abstract String[] computeArguments (String filename); - - /** - * This is used to compute the command line for the process. - * Most compilers typically arrange their arguments as in - * <compiler name and arguments> <optional destination> <filename>. - * This method builds an argument array out that. It should be used - * to define computeArguments for those compilers that follow the - * argument convention described above. - */ - public static String[] computeTypicalArguments(String[] compilerArgs, - String destination, String filename) - { - return computeTypicalArguments(compilerArgs, null, destination, filename); - } - /** - * This is used to compute the command line for the process. - * Most compilers typically arrange their arguments as in - * <compiler name and arguments> <optional destination> <filename>. - * This method builds an argument array out that. It should be used - * to define computeArguments for those compilers that follow the - * argument convention described above. - */ - public static String[] computeTypicalArguments(String[] compilerArgs, - String classpath, - String destination, - String filename) - { - /* length of compiler specific arguments */ - int len = compilerArgs.length; - - /* length of returned array of arguments */ - final int arglen = len + (classpath == null ? 0 : 2) + - (destination == null ? 0 : 2) + 1; - - /* Allocate String array for computed arguments. */ - String [] args = new String[arglen]; - - /* Fill in compiler arguments. */ - System.arraycopy(compilerArgs, 0, args, 0, len); - - /* Fill in classpath argument if necessary. */ - if (classpath != null) - { - args[len++] = "-classpath"; - args[len++] = classpath; - } - - /* Fill in destination argument if necessary. */ - if (destination != null) - { - args[len++] = "-d"; - args[len++] = destination; - } - - /* Fill in filename */ - args[arglen - 1] = filename; - - return args; - } - - public void compile (String name) throws Exception - { - String[] args = computeArguments (name); - Process p = Runtime.getRuntime ().exec (args); - - /* Print compiler output to System.out. Do this asynchronously so - that the compiler never blocks writing to its stdout. */ - { - final InputStream procin = p.getInputStream(); - final Thread copier = new Thread() - { - public void run() - { - try - { - for (int ch = procin.read(); ch != -1; ch = procin.read()) - System.out.print((char) ch); - } - catch (java.io.IOException _) - { - } - } - }; - - copier.start(); - } - - /* Collect compiler error output in a buffer. - * If compilation fails, it will be used for an error message. - */ - StringBuffer stderr = new StringBuffer(); - InputStream procerr = p.getErrorStream(); - for (int ch = procerr.read(); ch != -1; ch = procerr.read()) - stderr.append((char) ch); - - int result; - while (true) - { - try - { - result = p.waitFor (); - break; - } - catch (InterruptedException _) - { - } - } - if (result != 0) - { - // FIXME: wrong exception class. - throw new Exception ("compiler exited with status: " + result, - new RMICException(stderr.toString())); - } - } -} diff --git a/libjava/gnu/java/rmi/rmic/RMIC.java b/libjava/gnu/java/rmi/rmic/RMIC.java deleted file mode 100644 index 33ec9935b62..00000000000 --- a/libjava/gnu/java/rmi/rmic/RMIC.java +++ /dev/null @@ -1,1225 +0,0 @@ -/* RMIC.java -- - Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006 - 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. */ - - -package gnu.java.rmi.rmic; - -import gnu.java.rmi.server.RMIHashes; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.StringTokenizer; - - -public class RMIC -{ - private String[] args; - private int next; - private Exception exception; - private boolean keep = false; - private boolean need11Stubs = true; - private boolean need12Stubs = true; - private boolean compile = true; - private boolean verbose; - private String destination; - private PrintWriter out; - private TabbedWriter ctrl; - private Class clazz; - private String classname; - private String fullclassname; - private String fullstubname; - private String fullskelname; - private MethodRef[] remotemethods; - private String stubname; - private String skelname; - private ClassLoader loader; - private String classpath; - private int errorCount = 0; - private List mRemoteInterfaces; - - public RMIC(String[] a) - { - args = a; - } - - public static void main(String[] args) - { - RMIC r = new RMIC(args); - if (r.run() == false) - { - Exception e = r.getException(); - if (e != null) - e.printStackTrace(); - else - System.exit(1); - } - } - - public boolean run() - { - parseOptions(); - if (next >= args.length) - error("no class names found"); - for (int i = next; i < args.length; i++) - { - try - { - if (verbose) - System.out.println("[Processing class " + args[i] + ".class]"); - processClass(args[i].replace(File.separatorChar, '.')); - } - catch (Exception e) - { - exception = e; - return (false); - } - } - return (true); - } - - private boolean processClass(String cls) throws Exception - { - // reset class specific vars - clazz = null; - classname = null; - fullclassname = null; - remotemethods = null; - stubname = null; - fullstubname = null; - skelname = null; - fullskelname = null; - mRemoteInterfaces = new ArrayList(); - - errorCount = 0; - - analyzeClass(cls); - - if (errorCount > 0) - System.exit(1); - generateStub(); - if (need11Stubs) - generateSkel(); - if (compile) - { - compile(fullstubname); - if (need11Stubs) - compile(fullskelname); - } - if (! keep) - { - (new File(fullstubname)).delete(); - if (need11Stubs) - (new File(fullskelname)).delete(); - } - return (true); - } - - private void analyzeClass(String cname) throws Exception - { - if (verbose) - System.out.println("[analyze class " + cname + "]"); - int p = cname.lastIndexOf('.'); - if (p != -1) - classname = cname.substring(p + 1); - else - classname = cname; - fullclassname = cname; - - findClass(); - findRemoteMethods(); - } - - public Exception getException() - { - return (exception); - } - - private void findClass() throws ClassNotFoundException - { - try - { - ClassLoader cl = (loader == null - ? ClassLoader.getSystemClassLoader() - : loader); - clazz = Class.forName(fullclassname, false, cl); - } - catch (ClassNotFoundException cnfe) - { - System.err.println(fullclassname + " not found in " + classpath); - throw new RuntimeException(cnfe); - } - - if (! Remote.class.isAssignableFrom(clazz)) - { - logError("Class " + clazz.getName() + " is not a remote object. " - + "It does not implement an interface that is a " - + "java.rmi.Remote-interface."); - throw new RuntimeException - ("Class " + clazz.getName() + " is not a remote object. " - + "It does not implement an interface that is a " - + "java.rmi.Remote-interface."); - } - } - - private void generateStub() throws IOException - { - stubname = fullclassname + "_Stub"; - String stubclassname = classname + "_Stub"; - fullstubname = (destination == null ? "" : destination + File.separator) - + stubname.replace('.', File.separatorChar) + ".java"; - File file = new File(fullstubname); - if (file.getParentFile() != null) - file.getParentFile().mkdirs(); - ctrl = - new TabbedWriter(new FileWriter(file)); - out = new PrintWriter(ctrl); - - if (verbose) - System.out.println("[Generating class " + stubname + ".java]"); - - out.println("// Stub class generated by rmic - DO NOT EDIT!"); - out.println(); - if (fullclassname != classname) - { - String pname = - fullclassname.substring(0, fullclassname.lastIndexOf('.')); - out.println("package " + pname + ";"); - out.println(); - } - - out.print("public final class " + stubclassname); - ctrl.indent(); - out.println("extends java.rmi.server.RemoteStub"); - - // Output interfaces we implement - out.print("implements "); - Iterator iter = mRemoteInterfaces.iterator(); - while (iter.hasNext()) - { - /* Print remote interface. */ - Class iface = (Class) iter.next(); - out.print(iface.getName()); - - /* Print ", " if more remote interfaces follow. */ - if (iter.hasNext()) - out.print(", "); - } - ctrl.unindent(); - out.print("{"); - ctrl.indent(); - - // UID - if (need12Stubs) - { - out.println("private static final long serialVersionUID = 2L;"); - out.println(); - } - - // InterfaceHash - don't know how to calculate this - XXX - if (need11Stubs) - { - out.println("private static final long interfaceHash = " - + RMIHashes.getInterfaceHash(clazz) + "L;"); - out.println(); - if (need12Stubs) - { - out.println("private static boolean useNewInvoke;"); - out.println(); - } - - // Operation table - out.print("private static final java.rmi.server.Operation[] operations = {"); - - ctrl.indent(); - for (int i = 0; i < remotemethods.length; i++) - { - Method m = remotemethods[i].meth; - out.print("new java.rmi.server.Operation(\""); - out.print(getPrettyName(m.getReturnType()) + " "); - out.print(m.getName() + "("); - // Output signature - Class[] sig = m.getParameterTypes(); - for (int j = 0; j < sig.length; j++) - { - out.print(getPrettyName(sig[j])); - if (j + 1 < sig.length) - out.print(", "); - } - out.print(")\")"); - if (i + 1 < remotemethods.length) - out.println(","); - } - ctrl.unindent(); - out.println("};"); - out.println(); - } - - // Set of method references. - if (need12Stubs) - { - for (int i = 0; i < remotemethods.length; i++) - { - Method m = remotemethods[i].meth; - out.println("private static java.lang.reflect.Method $method_" - + m.getName() + "_" + i + ";"); - } - - // Initialize the methods references. - out.println(); - out.print("static {"); - ctrl.indent(); - - out.print("try {"); - ctrl.indent(); - - if (need11Stubs) - { - out.println("java.rmi.server.RemoteRef.class.getMethod(\"invoke\", new java.lang.Class[] { java.rmi.Remote.class, java.lang.reflect.Method.class, java.lang.Object[].class, long.class });"); - out.println("useNewInvoke = true;"); - } - - for (int i = 0; i < remotemethods.length; i++) - { - Method m = remotemethods[i].meth; - out.print("$method_" + m.getName() + "_" + i + " = "); - out.print(m.getDeclaringClass().getName() + ".class.getMethod(\"" - + m.getName() + "\""); - out.print(", new java.lang.Class[] {"); - // Output signature - Class[] sig = m.getParameterTypes(); - for (int j = 0; j < sig.length; j++) - { - out.print(getPrettyName(sig[j]) + ".class"); - if (j + 1 < sig.length) - out.print(", "); - } - out.println("});"); - } - ctrl.unindent(); - out.println("}"); - out.print("catch (java.lang.NoSuchMethodException e) {"); - ctrl.indent(); - if (need11Stubs) - out.print("useNewInvoke = false;"); - else - out.print("throw new java.lang.NoSuchMethodError(\"stub class initialization failed\");"); - - ctrl.unindent(); - out.print("}"); - - ctrl.unindent(); - out.println("}"); - out.println(); - } - - // Constructors - if (need11Stubs) - { - out.print("public " + stubclassname + "() {"); - ctrl.indent(); - out.print("super();"); - ctrl.unindent(); - out.println("}"); - } - - if (need12Stubs) - { - out.print("public " + stubclassname - + "(java.rmi.server.RemoteRef ref) {"); - ctrl.indent(); - out.print("super(ref);"); - ctrl.unindent(); - out.println("}"); - } - - // Method implementations - for (int i = 0; i < remotemethods.length; i++) - { - Method m = remotemethods[i].meth; - Class[] sig = m.getParameterTypes(); - Class returntype = m.getReturnType(); - Class[] except = sortExceptions(m.getExceptionTypes()); - - out.println(); - out.print("public " + getPrettyName(returntype) + " " + m.getName() - + "("); - for (int j = 0; j < sig.length; j++) - { - out.print(getPrettyName(sig[j])); - out.print(" $param_" + j); - if (j + 1 < sig.length) - out.print(", "); - } - out.print(") "); - out.print("throws "); - for (int j = 0; j < except.length; j++) - { - out.print(getPrettyName(except[j])); - if (j + 1 < except.length) - out.print(", "); - } - out.print(" {"); - ctrl.indent(); - - out.print("try {"); - ctrl.indent(); - - if (need12Stubs) - { - if (need11Stubs) - { - out.print("if (useNewInvoke) {"); - ctrl.indent(); - } - if (returntype != Void.TYPE) - out.print("java.lang.Object $result = "); - out.print("ref.invoke(this, $method_" + m.getName() + "_" + i - + ", "); - if (sig.length == 0) - out.print("null, "); - else - { - out.print("new java.lang.Object[] {"); - for (int j = 0; j < sig.length; j++) - { - if (sig[j] == Boolean.TYPE) - out.print("new java.lang.Boolean($param_" + j + ")"); - else if (sig[j] == Byte.TYPE) - out.print("new java.lang.Byte($param_" + j + ")"); - else if (sig[j] == Character.TYPE) - out.print("new java.lang.Character($param_" + j + ")"); - else if (sig[j] == Short.TYPE) - out.print("new java.lang.Short($param_" + j + ")"); - else if (sig[j] == Integer.TYPE) - out.print("new java.lang.Integer($param_" + j + ")"); - else if (sig[j] == Long.TYPE) - out.print("new java.lang.Long($param_" + j + ")"); - else if (sig[j] == Float.TYPE) - out.print("new java.lang.Float($param_" + j + ")"); - else if (sig[j] == Double.TYPE) - out.print("new java.lang.Double($param_" + j + ")"); - else - out.print("$param_" + j); - if (j + 1 < sig.length) - out.print(", "); - } - out.print("}, "); - } - out.print(Long.toString(remotemethods[i].hash) + "L"); - out.print(");"); - - if (returntype != Void.TYPE) - { - out.println(); - out.print("return ("); - if (returntype == Boolean.TYPE) - out.print("((java.lang.Boolean)$result).booleanValue()"); - else if (returntype == Byte.TYPE) - out.print("((java.lang.Byte)$result).byteValue()"); - else if (returntype == Character.TYPE) - out.print("((java.lang.Character)$result).charValue()"); - else if (returntype == Short.TYPE) - out.print("((java.lang.Short)$result).shortValue()"); - else if (returntype == Integer.TYPE) - out.print("((java.lang.Integer)$result).intValue()"); - else if (returntype == Long.TYPE) - out.print("((java.lang.Long)$result).longValue()"); - else if (returntype == Float.TYPE) - out.print("((java.lang.Float)$result).floatValue()"); - else if (returntype == Double.TYPE) - out.print("((java.lang.Double)$result).doubleValue()"); - else - out.print("(" + getPrettyName(returntype) + ")$result"); - out.print(");"); - } - - if (need11Stubs) - { - ctrl.unindent(); - out.println("}"); - out.print("else {"); - ctrl.indent(); - } - } - - if (need11Stubs) - { - out.println("java.rmi.server.RemoteCall call = ref.newCall((java.rmi.server.RemoteObject)this, operations, " - + i + ", interfaceHash);"); - out.print("try {"); - ctrl.indent(); - out.print("java.io.ObjectOutput out = call.getOutputStream();"); - for (int j = 0; j < sig.length; j++) - { - out.println(); - if (sig[j] == Boolean.TYPE) - out.print("out.writeBoolean("); - else if (sig[j] == Byte.TYPE) - out.print("out.writeByte("); - else if (sig[j] == Character.TYPE) - out.print("out.writeChar("); - else if (sig[j] == Short.TYPE) - out.print("out.writeShort("); - else if (sig[j] == Integer.TYPE) - out.print("out.writeInt("); - else if (sig[j] == Long.TYPE) - out.print("out.writeLong("); - else if (sig[j] == Float.TYPE) - out.print("out.writeFloat("); - else if (sig[j] == Double.TYPE) - out.print("out.writeDouble("); - else - out.print("out.writeObject("); - out.print("$param_" + j + ");"); - } - ctrl.unindent(); - out.println("}"); - out.print("catch (java.io.IOException e) {"); - ctrl.indent(); - out.print("throw new java.rmi.MarshalException(\"error marshalling arguments\", e);"); - ctrl.unindent(); - out.println("}"); - out.println("ref.invoke(call);"); - if (returntype != Void.TYPE) - out.println(getPrettyName(returntype) + " $result;"); - out.print("try {"); - ctrl.indent(); - out.print("java.io.ObjectInput in = call.getInputStream();"); - boolean needcastcheck = false; - if (returntype != Void.TYPE) - { - out.println(); - out.print("$result = "); - if (returntype == Boolean.TYPE) - out.print("in.readBoolean();"); - else if (returntype == Byte.TYPE) - out.print("in.readByte();"); - else if (returntype == Character.TYPE) - out.print("in.readChar();"); - else if (returntype == Short.TYPE) - out.print("in.readShort();"); - else if (returntype == Integer.TYPE) - out.print("in.readInt();"); - else if (returntype == Long.TYPE) - out.print("in.readLong();"); - else if (returntype == Float.TYPE) - out.print("in.readFloat();"); - else if (returntype == Double.TYPE) - out.print("in.readDouble();"); - else - { - if (returntype != Object.class) - out.print("(" + getPrettyName(returntype) + ")"); - else - needcastcheck = true; - out.print("in.readObject();"); - } - out.println(); - out.print("return ($result);"); - } - ctrl.unindent(); - out.println("}"); - out.print("catch (java.io.IOException e) {"); - ctrl.indent(); - out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling return\", e);"); - ctrl.unindent(); - out.println("}"); - if (needcastcheck) - { - out.print("catch (java.lang.ClassNotFoundException e) {"); - ctrl.indent(); - out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling return\", e);"); - ctrl.unindent(); - out.println("}"); - } - out.print("finally {"); - ctrl.indent(); - out.print("ref.done(call);"); - ctrl.unindent(); - out.print("}"); - - if (need12Stubs && need11Stubs) - { - ctrl.unindent(); - out.print("}"); - } - } - - ctrl.unindent(); - out.print("}"); - - boolean needgeneral = true; - for (int j = 0; j < except.length; j++) - { - out.println(); - out.print("catch (" + getPrettyName(except[j]) + " e) {"); - ctrl.indent(); - out.print("throw e;"); - ctrl.unindent(); - out.print("}"); - if (except[j] == Exception.class) - needgeneral = false; - } - if (needgeneral) - { - out.println(); - out.print("catch (java.lang.Exception e) {"); - ctrl.indent(); - out.print("throw new java.rmi.UnexpectedException(\"undeclared checked exception\", e);"); - ctrl.unindent(); - out.print("}"); - } - - ctrl.unindent(); - out.print("}"); - out.println(); - } - - ctrl.unindent(); - out.println("}"); - - out.close(); - } - - private void generateSkel() throws IOException - { - skelname = fullclassname + "_Skel"; - String skelclassname = classname + "_Skel"; - fullskelname = (destination == null ? "" : destination + File.separator) - + skelname.replace('.', File.separatorChar) + ".java"; - File file = new File(fullskelname); - if (file.getParentFile() != null) - file.getParentFile().mkdirs(); - ctrl = - new TabbedWriter(new FileWriter(file)); - out = new PrintWriter(ctrl); - - if (verbose) - System.out.println("[Generating class " + skelname + ".java]"); - - out.println("// Skel class generated by rmic - DO NOT EDIT!"); - out.println(); - if (fullclassname != classname) - { - String pname = - fullclassname.substring(0, fullclassname.lastIndexOf('.')); - out.println("package " + pname + ";"); - out.println(); - } - - out.print("public final class " + skelclassname); - ctrl.indent(); - - // Output interfaces we implement - out.print("implements java.rmi.server.Skeleton"); - - ctrl.unindent(); - out.print("{"); - ctrl.indent(); - - // Interface hash - don't know how to calculate this - XXX - out.println("private static final long interfaceHash = " - + RMIHashes.getInterfaceHash(clazz) + "L;"); - out.println(); - - // Operation table - out.print("private static final java.rmi.server.Operation[] operations = {"); - - ctrl.indent(); - for (int i = 0; i < remotemethods.length; i++) - { - Method m = remotemethods[i].meth; - out.print("new java.rmi.server.Operation(\""); - out.print(getPrettyName(m.getReturnType()) + " "); - out.print(m.getName() + "("); - // Output signature - Class[] sig = m.getParameterTypes(); - for (int j = 0; j < sig.length; j++) - { - out.print(getPrettyName(sig[j])); - if (j + 1 < sig.length) - out.print(", "); - } - out.print("\")"); - if (i + 1 < remotemethods.length) - out.println(","); - } - ctrl.unindent(); - out.println("};"); - - out.println(); - - // getOperations method - out.print("public java.rmi.server.Operation[] getOperations() {"); - ctrl.indent(); - out.print("return ((java.rmi.server.Operation[]) operations.clone());"); - ctrl.unindent(); - out.println("}"); - - out.println(); - - // Dispatch method - out.print("public void dispatch(java.rmi.Remote obj, java.rmi.server.RemoteCall call, int opnum, long hash) throws java.lang.Exception {"); - ctrl.indent(); - - out.print("if (opnum < 0) {"); - ctrl.indent(); - - for (int i = 0; i < remotemethods.length; i++) - { - out.print("if (hash == " + Long.toString(remotemethods[i].hash) - + "L) {"); - ctrl.indent(); - out.print("opnum = " + i + ";"); - ctrl.unindent(); - out.println("}"); - out.print("else "); - } - out.print("{"); - ctrl.indent(); - out.print("throw new java.rmi.server.SkeletonMismatchException(\"interface hash mismatch\");"); - ctrl.unindent(); - out.print("}"); - - ctrl.unindent(); - out.println("}"); - out.print("else if (hash != interfaceHash) {"); - ctrl.indent(); - out.print("throw new java.rmi.server.SkeletonMismatchException(\"interface hash mismatch\");"); - ctrl.unindent(); - out.println("}"); - - out.println(); - - out.println(fullclassname + " server = (" + fullclassname + ")obj;"); - out.println("switch (opnum) {"); - - // Method dispatch - for (int i = 0; i < remotemethods.length; i++) - { - Method m = remotemethods[i].meth; - out.println("case " + i + ":"); - out.print("{"); - ctrl.indent(); - - Class[] sig = m.getParameterTypes(); - for (int j = 0; j < sig.length; j++) - { - out.print(getPrettyName(sig[j])); - out.println(" $param_" + j + ";"); - } - - out.print("try {"); - boolean needcastcheck = false; - ctrl.indent(); - out.println("java.io.ObjectInput in = call.getInputStream();"); - for (int j = 0; j < sig.length; j++) - { - out.print("$param_" + j + " = "); - if (sig[j] == Boolean.TYPE) - out.print("in.readBoolean();"); - else if (sig[j] == Byte.TYPE) - out.print("in.readByte();"); - else if (sig[j] == Character.TYPE) - out.print("in.readChar();"); - else if (sig[j] == Short.TYPE) - out.print("in.readShort();"); - else if (sig[j] == Integer.TYPE) - out.print("in.readInt();"); - else if (sig[j] == Long.TYPE) - out.print("in.readLong();"); - else if (sig[j] == Float.TYPE) - out.print("in.readFloat();"); - else if (sig[j] == Double.TYPE) - out.print("in.readDouble();"); - else - { - if (sig[j] != Object.class) - { - out.print("(" + getPrettyName(sig[j]) + ")"); - needcastcheck = true; - } - out.print("in.readObject();"); - } - out.println(); - } - ctrl.unindent(); - out.println("}"); - out.print("catch (java.io.IOException e) {"); - ctrl.indent(); - out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling arguments\", e);"); - ctrl.unindent(); - out.println("}"); - if (needcastcheck) - { - out.print("catch (java.lang.ClassCastException e) {"); - ctrl.indent(); - out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling arguments\", e);"); - ctrl.unindent(); - out.println("}"); - } - out.print("finally {"); - ctrl.indent(); - out.print("call.releaseInputStream();"); - ctrl.unindent(); - out.println("}"); - - Class returntype = m.getReturnType(); - if (returntype != Void.TYPE) - out.print(getPrettyName(returntype) + " $result = "); - out.print("server." + m.getName() + "("); - for (int j = 0; j < sig.length; j++) - { - out.print("$param_" + j); - if (j + 1 < sig.length) - out.print(", "); - } - out.println(");"); - - out.print("try {"); - ctrl.indent(); - out.print("java.io.ObjectOutput out = call.getResultStream(true);"); - if (returntype != Void.TYPE) - { - out.println(); - if (returntype == Boolean.TYPE) - out.print("out.writeBoolean($result);"); - else if (returntype == Byte.TYPE) - out.print("out.writeByte($result);"); - else if (returntype == Character.TYPE) - out.print("out.writeChar($result);"); - else if (returntype == Short.TYPE) - out.print("out.writeShort($result);"); - else if (returntype == Integer.TYPE) - out.print("out.writeInt($result);"); - else if (returntype == Long.TYPE) - out.print("out.writeLong($result);"); - else if (returntype == Float.TYPE) - out.print("out.writeFloat($result);"); - else if (returntype == Double.TYPE) - out.print("out.writeDouble($result);"); - else - out.print("out.writeObject($result);"); - } - ctrl.unindent(); - out.println("}"); - out.print("catch (java.io.IOException e) {"); - ctrl.indent(); - out.print("throw new java.rmi.MarshalException(\"error marshalling return\", e);"); - ctrl.unindent(); - out.println("}"); - out.print("break;"); - - ctrl.unindent(); - out.println("}"); - out.println(); - } - - out.print("default:"); - ctrl.indent(); - out.print("throw new java.rmi.UnmarshalException(\"invalid method number\");"); - ctrl.unindent(); - out.print("}"); - - ctrl.unindent(); - out.print("}"); - - ctrl.unindent(); - out.println("}"); - - out.close(); - } - - private void compile(String name) throws Exception - { - Compiler comp = Compiler.getInstance(); - if (verbose) - System.out.println("[Compiling class " + name + "]"); - comp.setDestination(destination); - if (classpath != null) - comp.setClasspath(classpath); - comp.compile(name); - } - - private static String getPrettyName(Class cls) - { - StringBuffer str = new StringBuffer(); - for (int count = 0;; count++) - { - if (! cls.isArray()) - { - str.append(cls.getName()); - for (; count > 0; count--) - str.append("[]"); - return (str.toString()); - } - cls = cls.getComponentType(); - } - } - -/** - * Sort exceptions so the most general go last. - */ - private Class[] sortExceptions(Class[] except) - { - for (int i = 0; i < except.length; i++) - { - for (int j = i + 1; j < except.length; j++) - { - if (except[i].isAssignableFrom(except[j])) - { - Class tmp = except[i]; - except[i] = except[j]; - except[j] = tmp; - } - } - } - return (except); - } - -/** - * Process the options until we find the first argument. - */ - private void parseOptions() - { - for (;;) - { - if (next >= args.length || args[next].charAt(0) != '-') - break; - String arg = args[next]; - next++; - - // Accept `--' options if they look long enough. - if (arg.length() > 3 && arg.charAt(0) == '-' && arg.charAt(1) == '-') - arg = arg.substring(1); - - if (arg.equals("-keep")) - keep = true; - else if (arg.equals("-keepgenerated")) - keep = true; - else if (arg.equals("-v1.1")) - { - need11Stubs = true; - need12Stubs = false; - } - else if (arg.equals("-vcompat")) - { - need11Stubs = true; - need12Stubs = true; - } - else if (arg.equals("-v1.2")) - { - need11Stubs = false; - need12Stubs = true; - } - else if (arg.equals("-g")) - { - } - else if (arg.equals("-depend")) - { - } - else if (arg.equals("-nowarn")) - { - } - else if (arg.equals("-verbose")) - verbose = true; - else if (arg.equals("-nocompile")) - compile = false; - else if (arg.equals("-classpath")) - { - classpath = args[next]; - next++; - StringTokenizer st = - new StringTokenizer(classpath, File.pathSeparator); - URL[] u = new URL[st.countTokens()]; - for (int i = 0; i < u.length; i++) - { - String path = st.nextToken(); - File f = new File(path); - try - { - u[i] = f.toURL(); - } - catch (MalformedURLException mue) - { - error("malformed classpath component " + path); - } - } - loader = new URLClassLoader(u); - } - else if (arg.equals("-help")) - usage(); - else if (arg.equals("-version")) - { - System.out.println("rmic (" + System.getProperty("java.vm.name") - + ") " + System.getProperty("java.vm.version")); - System.out.println(); - System.out.println("Copyright 2006 Free Software Foundation, Inc."); - System.out.println("This is free software; see the source for copying conditions. There is NO"); - System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."); - System.exit(0); - } - else if (arg.equals("-d")) - { - destination = args[next]; - next++; - } - else if (arg.charAt(1) == 'J') - { - } - else - error("unrecognized option `" + arg + "'"); - } - } - - private void findRemoteMethods() { - List rmeths = new ArrayList(); - for (Class cur = clazz; cur != null; cur = cur.getSuperclass()) - { - Class[] interfaces = cur.getInterfaces(); - for (int i = 0; i < interfaces.length; i++) - { - if (java.rmi.Remote.class.isAssignableFrom(interfaces[i])) - { - Class remoteInterface = interfaces[i]; - if (verbose) - System.out.println - ("[implements " + remoteInterface.getName() + "]"); - - // check if the methods declare RemoteExceptions - Method[] meths = remoteInterface.getMethods(); - for (int j = 0; j < meths.length; j++) - { - Method m = meths[j]; - Class[] exs = m.getExceptionTypes(); - - boolean throwsRemote = false; - for (int k = 0; k < exs.length; k++) - { - if (exs[k].isAssignableFrom(RemoteException.class)) - throwsRemote = true; - } - - if (! throwsRemote) - { - logError("Method " + m - + " does not throw a RemoteException"); - continue; - } - - rmeths.add(m); - } - - mRemoteInterfaces.add(remoteInterface); - } - } - } - - // intersect exceptions for doubly inherited methods - boolean[] skip = new boolean[rmeths.size()]; - for (int i = 0; i < skip.length; i++) - skip[i] = false; - List methrefs = new ArrayList(); - for (int i = 0; i < rmeths.size(); i++) - { - if (skip[i]) continue; - Method current = (Method) rmeths.get(i); - MethodRef ref = new MethodRef(current); - for (int j = i+1; j < rmeths.size(); j++) - { - Method other = (Method) rmeths.get(j); - if (ref.isMatch(other)) - { - ref.intersectExceptions(other); - skip[j] = true; - } - } - methrefs.add(ref); - } - - // Convert into a MethodRef array and sort them - remotemethods = (MethodRef[]) - methrefs.toArray(new MethodRef[methrefs.size()]); - Arrays.sort(remotemethods); - } - -/** - * Prints an error to System.err and increases the error count. - * @param theError - */ - private void logError(String theError) - { - errorCount++; - System.err.println("error:" + theError); - } - - private static void error(String message) - { - System.err.println("rmic: " + message); - System.err.println("Try `rmic --help' for more information."); - System.exit(1); - } - - private static void usage() - { - System.out.println("Usage: rmic [OPTION]... CLASS...\n" + "\n" - + " -keep Don't delete any intermediate files\n" - + " -keepgenerated Same as -keep\n" - + " -v1.1 Java 1.1 style stubs only\n" - + " -vcompat Java 1.1 & Java 1.2 stubs\n" - + " -v1.2 Java 1.2 style stubs only\n" - + " -g * Generated debugging information\n" - + " -depend * Recompile out-of-date files\n" - + " -nowarn * Suppress warning messages\n" - + " -nocompile Don't compile the generated files\n" - + " -verbose Output what's going on\n" - + " -classpath * Use given path as classpath\n" - + " -d Specify where to place generated classes\n" - + " -J * Pass flag to Java\n" - + " -help Print this help, then exit\n" - + " -version Print version number, then exit\n" + "\n" - + " * Option currently ignored\n" - + "Long options can be used with `--option' form as well."); - System.exit(0); - } - - private static class MethodRef - implements Comparable - { - Method meth; - long hash; - List exceptions; - private String sig; - - MethodRef(Method m) - { - meth = m; - sig = m.getName(); // XXX should be full signature used to compute hash - hash = RMIHashes.getMethodHash(m); - // add exceptions removing subclasses - exceptions = removeSubclasses(m.getExceptionTypes()); - } - - public int compareTo(Object obj) - { - MethodRef that = (MethodRef) obj; - int name = this.meth.getName().compareTo(that.meth.getName()); - if (name == 0) { - return this.sig.compareTo(that.sig); - } - return name; - } - - public boolean isMatch(Method m) - { - if (!meth.getName().equals(m.getName())) - return false; - - Class[] params1 = meth.getParameterTypes(); - Class[] params2 = m.getParameterTypes(); - if (params1.length != params2.length) - return false; - - for (int i = 0; i < params1.length; i++) - if (!params1[i].equals(params2[i])) return false; - - return true; - } - - private static List removeSubclasses(Class[] classes) - { - List list = new ArrayList(); - for (int i = 0; i < classes.length; i++) - { - Class candidate = classes[i]; - boolean add = true; - for (int j = 0; j < classes.length; j++) - { - if (classes[j].equals(candidate)) - continue; - else if (classes[j].isAssignableFrom(candidate)) - add = false; - } - if (add) list.add(candidate); - } - - return list; - } - - public void intersectExceptions(Method m) - { - List incoming = removeSubclasses(m.getExceptionTypes()); - - List updated = new ArrayList(); - - for (int i = 0; i < exceptions.size(); i++) - { - Class outer = (Class) exceptions.get(i); - boolean addOuter = false; - for (int j = 0; j < incoming.size(); j++) - { - Class inner = (Class) incoming.get(j); - - if (inner.equals(outer) || inner.isAssignableFrom(outer)) - addOuter = true; - else if (outer.isAssignableFrom(inner)) - updated.add(inner); - } - - if (addOuter) - updated.add(outer); - } - - exceptions = updated; - } - } -} diff --git a/libjava/gnu/java/rmi/rmic/RMICException.java b/libjava/gnu/java/rmi/rmic/RMICException.java deleted file mode 100644 index 8d0387e07af..00000000000 --- a/libjava/gnu/java/rmi/rmic/RMICException.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - Copyright (c) 2003 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. */ - -package gnu.java.rmi.rmic; - -/** - * Thrown by the underlying compiler used by RMIC when it fails to compile a file. - * - * @author Dalibor Topic - */ - -public class RMICException extends Exception { - /** - * Create an exception with a message. The cause remains uninitialized. - * - * @param s the message string - * @see #initCause(Throwable) - */ - public RMICException(String message) { - super(message); - } - - /** - * Create an exception with a message and a cause. - * - * @param s the message string - * @param cause the cause of this exception - */ - public RMICException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/libjava/gnu/java/rmi/rmic/TabbedWriter.java b/libjava/gnu/java/rmi/rmic/TabbedWriter.java deleted file mode 100644 index 31107a5756e..00000000000 --- a/libjava/gnu/java/rmi/rmic/TabbedWriter.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - Copyright (c) 1996, 1997, 1998, 1999 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. */ - -package gnu.java.rmi.rmic; - -import java.io.FilterWriter; -import java.io.Writer; -import java.io.IOException; - -public class TabbedWriter - extends FilterWriter { - -private static final String defaultTabstring = " "; -private char[] tabstring; -private int tabs; - -public TabbedWriter(Writer o) { - this(o, defaultTabstring); -} - -public TabbedWriter(Writer o, String str) { - super(o); - tabs = 0; - tabstring = str.toCharArray(); -} - -public void write(int c) throws IOException { - out.write(c); - if (c == '\n') { - for (int i = 0; i < tabs; i++) { - out.write(tabstring, 0, tabstring.length); - } - } -} - -public void write(char cbuf[], int off, int len) throws IOException { - for (int i = 0; i < len; i++) { - write((int)cbuf[i+off]); - } -} - -public void write(String str, int off, int len) throws IOException { - write(str.toCharArray(), off, len); -} - -public void unindent() throws IOException { - unindent(1); -} - -public void unindent(int nr) throws IOException { - indent(-nr); -} - -public void indent() throws IOException { - indent(1); -} - -public void indent(int nr) throws IOException { - tabs += nr; - if (tabs < 0) { - tabs = 0; - } - write((int)'\n'); -} - -} diff --git a/libjava/gnu/java/rmi/server/ActivatableRef.h b/libjava/gnu/java/rmi/server/ActivatableRef.h new file mode 100644 index 00000000000..6a9025ae76b --- /dev/null +++ b/libjava/gnu/java/rmi/server/ActivatableRef.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_ActivatableRef__ +#define __gnu_java_rmi_server_ActivatableRef__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class ActivatableRef; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace activation + { + class ActivationID; + } + namespace server + { + class ObjID; + class RMIClientSocketFactory; + } + } + } +} + +class gnu::java::rmi::server::ActivatableRef : public ::gnu::java::rmi::server::UnicastRef +{ + +public: + ActivatableRef(); + ActivatableRef(::java::rmi::server::ObjID *, ::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *); + ActivatableRef(::java::rmi::server::ObjID *); + virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *); + virtual void readExternal(::java::io::ObjectInput *); + virtual void writeExternal(::java::io::ObjectOutput *); +public: // actually protected + virtual ::java::lang::Object * invokeCommon(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jint, jlong); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::java::rmi::activation::ActivationID * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::UnicastRef)))) actId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_ActivatableRef__ diff --git a/libjava/gnu/java/rmi/server/ActivatableServerRef.h b/libjava/gnu/java/rmi/server/ActivatableServerRef.h new file mode 100644 index 00000000000..5241331e966 --- /dev/null +++ b/libjava/gnu/java/rmi/server/ActivatableServerRef.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_ActivatableServerRef__ +#define __gnu_java_rmi_server_ActivatableServerRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class ActivatableServerRef; + class UnicastConnection; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace activation + { + class ActivationID; + } + namespace server + { + class ObjID; + class RMIServerSocketFactory; + } + } + } +} + +class gnu::java::rmi::server::ActivatableServerRef : public ::gnu::java::rmi::server::UnicastServerRef +{ + +public: + ActivatableServerRef(); + ActivatableServerRef(::java::rmi::server::ObjID *, ::java::rmi::activation::ActivationID *, jint, ::java::rmi::server::RMIServerSocketFactory *); + virtual void inactivate(); +public: // actually protected + virtual void activate(); +public: + virtual ::java::lang::Object * incomingMessageCall(::gnu::java::rmi::server::UnicastConnection *, jint, jlong); + virtual ::java::rmi::Remote * exportObject(::java::rmi::Remote *); + virtual ::java::rmi::Remote * exportClass(::java::lang::Class *); + virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *); + virtual void readExternal(::java::io::ObjectInput *); + virtual void writeExternal(::java::io::ObjectOutput *); +private: + static const jlong serialVersionUID = 1LL; +public: + ::java::rmi::activation::ActivationID * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::UnicastServerRef)))) actId; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_ActivatableServerRef__ diff --git a/libjava/gnu/java/rmi/server/CombinedClassLoader.h b/libjava/gnu/java/rmi/server/CombinedClassLoader.h new file mode 100644 index 00000000000..5d4c6c9e624 --- /dev/null +++ b/libjava/gnu/java/rmi/server/CombinedClassLoader.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_CombinedClassLoader__ +#define __gnu_java_rmi_server_CombinedClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class CombinedClassLoader; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::rmi::server::CombinedClassLoader : public ::java::lang::ClassLoader +{ + +public: + CombinedClassLoader(::java::util::Collection *); +public: // actually protected + virtual ::java::lang::Class * findClass(::java::lang::String *); + virtual ::java::net::URL * findResource(::java::lang::String *); + virtual ::java::util::Enumeration * findResources(::java::lang::String *); +public: // actually package-private + JArray< ::java::lang::ClassLoader * > * __attribute__((aligned(__alignof__( ::java::lang::ClassLoader)))) loaders; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_CombinedClassLoader__ diff --git a/libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h b/libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h new file mode 100644 index 00000000000..9b98afc9e13 --- /dev/null +++ b/libjava/gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_ConnectionRunnerPool$ConnectionRunner__ +#define __gnu_java_rmi_server_ConnectionRunnerPool$ConnectionRunner__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class ConnectionRunnerPool$ConnectionRunner; + class UnicastConnection; + } + } + } + } +} + +class gnu::java::rmi::server::ConnectionRunnerPool$ConnectionRunner : public ::java::lang::Thread +{ + +public: + ConnectionRunnerPool$ConnectionRunner(::java::lang::ThreadGroup *, ::java::lang::String *); + virtual void run(); + virtual void dispatch(::gnu::java::rmi::server::UnicastConnection *); +public: // actually package-private + virtual void exit(); +private: + ::gnu::java::rmi::server::UnicastConnection * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) conn; + volatile jboolean exiting; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_ConnectionRunnerPool$ConnectionRunner__ diff --git a/libjava/gnu/java/rmi/server/ConnectionRunnerPool.h b/libjava/gnu/java/rmi/server/ConnectionRunnerPool.h new file mode 100644 index 00000000000..eccfb38360b --- /dev/null +++ b/libjava/gnu/java/rmi/server/ConnectionRunnerPool.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_ConnectionRunnerPool__ +#define __gnu_java_rmi_server_ConnectionRunnerPool__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class ConnectionRunnerPool; + class ConnectionRunnerPool$ConnectionRunner; + class UnicastConnection; + } + } + } + } +} + +class gnu::java::rmi::server::ConnectionRunnerPool : public ::java::lang::Object +{ + +public: // actually package-private + ConnectionRunnerPool(); +public: + static void setSize(jint); + static void setMaxSize(jint); +private: + static ::gnu::java::rmi::server::ConnectionRunnerPool$ConnectionRunner * getConnectionRunner(); +public: + static void dispatchConnection(::gnu::java::rmi::server::UnicastConnection *); + static void exit(); +private: + static jint size; + static jint max_size; +public: // actually package-private + static ::java::util::ArrayList * freelist; +private: + static ::java::lang::ThreadGroup * group; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_ConnectionRunnerPool__ diff --git a/libjava/gnu/java/rmi/server/ProtocolConstants.h b/libjava/gnu/java/rmi/server/ProtocolConstants.h new file mode 100644 index 00000000000..d9b08e7f9df --- /dev/null +++ b/libjava/gnu/java/rmi/server/ProtocolConstants.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_ProtocolConstants__ +#define __gnu_java_rmi_server_ProtocolConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class ProtocolConstants; + } + } + } + } +} + +class gnu::java::rmi::server::ProtocolConstants : public ::java::lang::Object +{ + +public: + static const jint PROTOCOL_HEADER = 1246907721; + static const jint PROTOCOL_VERSION = 2; + static const jint STREAM_PROTOCOL = 75; + static const jint SINGLE_OP_PROTOCOL = 76; + static const jint MULTIPLEX_PROTOCOL = 77; + static const jint PROTOCOL_ACK = 78; + static const jint PROTOCOL_NACK = 79; + static const jint MESSAGE_CALL = 80; + static const jint MESSAGE_CALL_ACK = 81; + static const jint MESSAGE_PING = 82; + static const jint MESSAGE_PING_ACK = 83; + static const jint MESSAGE_DGCACK = 84; + static const jint RETURN_ACK = 1; + static const jint RETURN_NACK = 2; + static const jint DEFAULT_PROTOCOL = 75; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_rmi_server_ProtocolConstants__ diff --git a/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h new file mode 100644 index 00000000000..4afe1703993 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$CacheKey.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIClassLoaderImpl$CacheKey__ +#define __gnu_java_rmi_server_RMIClassLoaderImpl$CacheKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIClassLoaderImpl$CacheKey; + } + } + } + } +} + +class gnu::java::rmi::server::RMIClassLoaderImpl$CacheKey : public ::java::lang::Object +{ + +public: + RMIClassLoaderImpl$CacheKey(::java::lang::String *, ::java::lang::ClassLoader *); + virtual jboolean equals(::java::lang::Object *); +private: + jboolean equals(::java::lang::Object *, ::java::lang::Object *); +public: + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mCodeBase; + ::java::lang::ClassLoader * mContextClassLoader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIClassLoaderImpl$CacheKey__ diff --git a/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h new file mode 100644 index 00000000000..b1078ffb464 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl$MyClassLoader.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIClassLoaderImpl$MyClassLoader__ +#define __gnu_java_rmi_server_RMIClassLoaderImpl$MyClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIClassLoaderImpl$MyClassLoader; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } +} + +class gnu::java::rmi::server::RMIClassLoaderImpl$MyClassLoader : public ::java::net::URLClassLoader +{ + +public: // actually package-private + RMIClassLoaderImpl$MyClassLoader(JArray< ::java::net::URL * > *, ::java::lang::ClassLoader *, ::java::lang::String *); +private: + RMIClassLoaderImpl$MyClassLoader(JArray< ::java::net::URL * > *, ::java::lang::ClassLoader *); +public: + static ::java::lang::String * urlToAnnotation(JArray< ::java::net::URL * > *); + virtual ::java::lang::String * getClassAnnotation(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader)))) annotation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIClassLoaderImpl$MyClassLoader__ diff --git a/libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h new file mode 100644 index 00000000000..abcb8fc6981 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIClassLoaderImpl.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIClassLoaderImpl__ +#define __gnu_java_rmi_server_RMIClassLoaderImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIClassLoaderImpl; + class RMIClassLoaderImpl$MyClassLoader; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace rmi + { + namespace server + { + class RMIClassLoaderSpi; + } + } + } +} + +class gnu::java::rmi::server::RMIClassLoaderImpl : public ::java::rmi::server::RMIClassLoaderSpi +{ + + RMIClassLoaderImpl(); +public: + static ::java::rmi::server::RMIClassLoaderSpi * getInstance(); + virtual ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); + virtual ::java::lang::Class * loadProxyClass(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::ClassLoader *); + virtual ::java::lang::ClassLoader * getClassLoader(::java::lang::String *); + virtual ::java::lang::String * getClassAnnotation(::java::lang::Class *); +private: + static ::gnu::java::rmi::server::RMIClassLoaderImpl * instance; + static ::java::util::Map * cacheLoaders; + static ::java::util::Map * cacheAnnotations; + static ::gnu::java::rmi::server::RMIClassLoaderImpl$MyClassLoader * defaultClassLoader; + static ::java::lang::String * defaultAnnotation; + static ::java::net::URL * defaultCodebase; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIClassLoaderImpl__ diff --git a/libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h b/libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h new file mode 100644 index 00000000000..32da2951278 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIDefaultSocketFactory__ +#define __gnu_java_rmi_server_RMIDefaultSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIDefaultSocketFactory; + } + } + } + } + namespace java + { + namespace net + { + class ServerSocket; + class Socket; + } + } +} + +class gnu::java::rmi::server::RMIDefaultSocketFactory : public ::java::rmi::server::RMISocketFactory +{ + +public: + RMIDefaultSocketFactory(); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint); + virtual ::java::net::ServerSocket * createServerSocket(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIDefaultSocketFactory__ diff --git a/libjava/gnu/java/rmi/server/RMIHashes.h b/libjava/gnu/java/rmi/server/RMIHashes.h new file mode 100644 index 00000000000..0bb00ec1159 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIHashes.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIHashes__ +#define __gnu_java_rmi_server_RMIHashes__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIHashes; + } + } + } + } +} + +class gnu::java::rmi::server::RMIHashes : public ::java::lang::Object +{ + +public: + RMIHashes(); + static jlong getMethodHash(::java::lang::reflect::Method *); + static jlong getInterfaceHash(::java::lang::Class *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIHashes__ diff --git a/libjava/gnu/java/rmi/server/RMIIncomingThread.h b/libjava/gnu/java/rmi/server/RMIIncomingThread.h new file mode 100644 index 00000000000..5938877f22a --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIIncomingThread.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIIncomingThread__ +#define __gnu_java_rmi_server_RMIIncomingThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIIncomingThread; + } + } + } + } +} + +class gnu::java::rmi::server::RMIIncomingThread : public ::java::lang::Thread +{ + +public: + RMIIncomingThread(::java::lang::Runnable *, ::java::lang::String *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * getClientHost(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) clientHost; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIIncomingThread__ diff --git a/libjava/gnu/java/rmi/server/RMIObjectInputStream.h b/libjava/gnu/java/rmi/server/RMIObjectInputStream.h new file mode 100644 index 00000000000..3af69a2889b --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIObjectInputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIObjectInputStream__ +#define __gnu_java_rmi_server_RMIObjectInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIObjectInputStream; + } + } + } + } +} + +class gnu::java::rmi::server::RMIObjectInputStream : public ::java::io::ObjectInputStream +{ + +public: + RMIObjectInputStream(::java::io::InputStream *); +public: // actually protected + virtual ::java::lang::Class * resolveClass(::java::io::ObjectStreamClass *); + virtual ::java::lang::Object * getAnnotation(); + virtual ::java::lang::Class * resolveProxyClass(JArray< ::java::lang::String * > *); + virtual ::java::lang::Object * readValue(::java::lang::Class *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIObjectInputStream__ diff --git a/libjava/gnu/java/rmi/server/RMIObjectOutputStream.h b/libjava/gnu/java/rmi/server/RMIObjectOutputStream.h new file mode 100644 index 00000000000..6f6382d94b3 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIObjectOutputStream.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIObjectOutputStream__ +#define __gnu_java_rmi_server_RMIObjectOutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIObjectOutputStream; + } + } + } + } +} + +class gnu::java::rmi::server::RMIObjectOutputStream : public ::java::io::ObjectOutputStream +{ + +public: + RMIObjectOutputStream(::java::io::OutputStream *); +public: // actually protected + virtual void setAnnotation(::java::lang::String *); + virtual void annotateClass(::java::lang::Class *); + virtual void annotateProxyClass(::java::lang::Class *); + virtual ::java::lang::Object * replaceObject(::java::lang::Object *); + virtual void writeValue(::java::lang::Object *, ::java::lang::Class *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIObjectOutputStream__ diff --git a/libjava/gnu/java/rmi/server/RMIVoidValue.h b/libjava/gnu/java/rmi/server/RMIVoidValue.h new file mode 100644 index 00000000000..fab4664a9d4 --- /dev/null +++ b/libjava/gnu/java/rmi/server/RMIVoidValue.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_RMIVoidValue__ +#define __gnu_java_rmi_server_RMIVoidValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class RMIVoidValue; + } + } + } + } +} + +class gnu::java::rmi::server::RMIVoidValue : public ::java::lang::Object +{ + + RMIVoidValue(); +public: // actually package-private + static ::gnu::java::rmi::server::RMIVoidValue * INSTANCE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_RMIVoidValue__ diff --git a/libjava/gnu/java/rmi/server/TripleKey.h b/libjava/gnu/java/rmi/server/TripleKey.h new file mode 100644 index 00000000000..dbc2d429b05 --- /dev/null +++ b/libjava/gnu/java/rmi/server/TripleKey.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_TripleKey__ +#define __gnu_java_rmi_server_TripleKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class TripleKey; + } + } + } + } +} + +class gnu::java::rmi::server::TripleKey : public ::java::lang::Object +{ + +public: // actually package-private + TripleKey(::java::lang::String *, jint, ::java::lang::Object *); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) host; + jint port; + ::java::lang::Object * other; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_TripleKey__ diff --git a/libjava/gnu/java/rmi/server/UnicastConnection.h b/libjava/gnu/java/rmi/server/UnicastConnection.h new file mode 100644 index 00000000000..98f5d0d7b14 --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastConnection.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastConnection__ +#define __gnu_java_rmi_server_UnicastConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastConnection; + class UnicastConnectionManager; + } + } + } + } + namespace java + { + namespace net + { + class Socket; + } + } +} + +class gnu::java::rmi::server::UnicastConnection : public ::java::lang::Object +{ + +public: // actually package-private + UnicastConnection(::gnu::java::rmi::server::UnicastConnectionManager *, ::java::net::Socket *); + virtual void acceptConnection(); + virtual void makeConnection(jint); + virtual ::java::io::DataInputStream * getDataInputStream(); + virtual ::java::io::DataOutputStream * getDataOutputStream(); + virtual ::java::io::ObjectInputStream * getObjectInputStream(); + virtual ::java::io::ObjectInputStream * startObjectInputStream(); + virtual ::java::io::ObjectOutputStream * getObjectOutputStream(); + virtual ::java::io::ObjectOutputStream * startObjectOutputStream(); + virtual void disconnect(); + static jboolean isExpired(::gnu::java::rmi::server::UnicastConnection *, jlong); + static void resetTime(::gnu::java::rmi::server::UnicastConnection *); +public: + virtual void run(); +public: // actually package-private + ::gnu::java::rmi::server::UnicastConnectionManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) manager; + ::java::net::Socket * sock; + ::java::io::DataInputStream * din; + ::java::io::DataOutputStream * dout; + ::java::io::ObjectInputStream * oin; + ::java::io::ObjectOutputStream * oout; + jlong reviveTime; + jlong expireTime; +public: + static const jlong CONNECTION_TIMEOUT = 10000LL; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastConnection__ diff --git a/libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h b/libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h new file mode 100644 index 00000000000..cbfd5826f7c --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastConnectionManager$1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastConnectionManager$1__ +#define __gnu_java_rmi_server_UnicastConnectionManager$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastConnectionManager$1; + } + } + } + } +} + +class gnu::java::rmi::server::UnicastConnectionManager$1 : public ::java::lang::Object +{ + +public: // actually package-private + UnicastConnectionManager$1(); +public: + void run(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastConnectionManager$1__ diff --git a/libjava/gnu/java/rmi/server/UnicastConnectionManager.h b/libjava/gnu/java/rmi/server/UnicastConnectionManager.h new file mode 100644 index 00000000000..dd6b828317d --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastConnectionManager.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastConnectionManager__ +#define __gnu_java_rmi_server_UnicastConnectionManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastConnection; + class UnicastConnectionManager; + } + } + } + } + namespace java + { + namespace net + { + class ServerSocket; + } + namespace rmi + { + namespace server + { + class RMIClientSocketFactory; + class RMIServerSocketFactory; + class RMISocketFactory; + } + } + } +} + +class gnu::java::rmi::server::UnicastConnectionManager : public ::java::lang::Object +{ + + static void startScavenger(); + UnicastConnectionManager(::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *); + UnicastConnectionManager(jint, ::java::rmi::server::RMIServerSocketFactory *); +public: + static ::gnu::java::rmi::server::UnicastConnectionManager * getInstance(::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *); + static ::gnu::java::rmi::server::UnicastConnectionManager * getInstance(jint, ::java::rmi::server::RMIServerSocketFactory *); + virtual ::gnu::java::rmi::server::UnicastConnection * getConnection(); +private: + ::gnu::java::rmi::server::UnicastConnection * getServerConnection(); + ::gnu::java::rmi::server::UnicastConnection * getClientConnection(); +public: + virtual ::java::lang::String * toString(); + virtual void discardConnection(::gnu::java::rmi::server::UnicastConnection *); + virtual void startServer(); + virtual void stopServer(); + virtual void run(); +public: // actually package-private + virtual void write(::java::io::ObjectOutput *); + static ::gnu::java::rmi::server::UnicastConnectionManager * read(::java::io::ObjectInput *); +private: + static ::java::lang::String * localhost; + static ::java::util::Hashtable * servers; +public: // actually package-private + static ::java::util::Hashtable * clients; + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) connections; +private: + volatile ::java::lang::Thread * serverThread; + ::java::net::ServerSocket * ssock; +public: // actually package-private + ::java::lang::String * serverName; + jint serverPort; + static ::java::lang::Thread * scavenger; + ::java::lang::Object * serverobj; +private: + static ::java::rmi::server::RMISocketFactory * defaultSocketFactory; + ::java::rmi::server::RMIServerSocketFactory * serverFactory; + ::java::rmi::server::RMIClientSocketFactory * clientFactory; + static jint ncsock; + static jint nssock; + static jint ncmanager; + static jint nsmanager; + static const jboolean debug = 0; + static ::java::lang::Object * GLOBAL_LOCK; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastConnectionManager__ diff --git a/libjava/gnu/java/rmi/server/UnicastRef.h b/libjava/gnu/java/rmi/server/UnicastRef.h new file mode 100644 index 00000000000..089b35df924 --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastRef.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastRef__ +#define __gnu_java_rmi_server_UnicastRef__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastConnection; + class UnicastConnectionManager; + class UnicastRef; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace dgc + { + class Lease; + } + namespace server + { + class ObjID; + class Operation; + class RMIClientSocketFactory; + class RemoteCall; + class RemoteObject; + class RemoteRef; + } + } + } +} + +class gnu::java::rmi::server::UnicastRef : public ::java::lang::Object +{ + +public: + UnicastRef(); + UnicastRef(::java::rmi::server::ObjID *, ::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *); + UnicastRef(::java::rmi::server::ObjID *); + virtual ::java::lang::Object * invoke(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jlong); + virtual ::java::rmi::dgc::Lease * notifyDGC(::java::rmi::dgc::Lease *); +public: // actually protected + virtual ::java::lang::Object * invokeCommon(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jint, jlong); + virtual ::java::lang::Object * invokeCommon(::gnu::java::rmi::server::UnicastConnection *, ::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jint, jlong); +public: + virtual ::java::rmi::server::RemoteCall * newCall(::java::rmi::server::RemoteObject *, JArray< ::java::rmi::server::Operation * > *, jint, jlong); + virtual void invoke(::java::rmi::server::RemoteCall *); + virtual void done(::java::rmi::server::RemoteCall *); + virtual void writeExternal(::java::io::ObjectOutput *); + virtual void readExternal(::java::io::ObjectInput *); + virtual jboolean remoteEquals(::java::rmi::server::RemoteRef *); + virtual jint remoteHashCode(); + virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *); + virtual ::java::lang::String * remoteToString(); + virtual void dump(::gnu::java::rmi::server::UnicastConnection *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = 1LL; +public: + ::java::rmi::server::ObjID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objid; +public: // actually package-private + ::gnu::java::rmi::server::UnicastConnectionManager * manager; + static jlong dgcSequence; + static ::java::rmi::server::ObjID * dgcId; + JArray< ::java::rmi::server::ObjID * > * this_id; + static jint DIRTY; + static const jlong dgcInterfaceHash = -669196253586618813LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastRef__ diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h new file mode 100644 index 00000000000..acf348091ca --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectInputStream.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectInputStream__ +#define __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastRemoteCall; + class UnicastRemoteCall$DummyObjectInputStream; + } + } + } + } +} + +class gnu::java::rmi::server::UnicastRemoteCall$DummyObjectInputStream : public ::java::lang::Object +{ + +public: // actually package-private + UnicastRemoteCall$DummyObjectInputStream(::gnu::java::rmi::server::UnicastRemoteCall *); +public: + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual jchar readChar(); + virtual jdouble readDouble(); + virtual jfloat readFloat(); + virtual jint readInt(); + virtual jlong readLong(); + virtual jshort readShort(); + virtual ::java::lang::Object * readObject(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(); + virtual jlong skip(jlong); + virtual jint available(); + virtual void readFully(JArray< jbyte > *); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * readLine(); + virtual ::java::lang::String * readUTF(); + virtual jint readUnsignedByte(); + virtual jint readUnsignedShort(); + virtual jint skipBytes(jint); + virtual void close(); +public: // actually package-private + ::gnu::java::rmi::server::UnicastRemoteCall * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectInputStream__ diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h new file mode 100644 index 00000000000..7a903b64631 --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastRemoteCall$DummyObjectOutputStream.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectOutputStream__ +#define __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastRemoteCall; + class UnicastRemoteCall$DummyObjectOutputStream; + } + } + } + } +} + +class gnu::java::rmi::server::UnicastRemoteCall$DummyObjectOutputStream : public ::java::lang::Object +{ + +public: // actually package-private + UnicastRemoteCall$DummyObjectOutputStream(::gnu::java::rmi::server::UnicastRemoteCall *); +public: + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeChar(jint); + virtual void writeDouble(jdouble); + virtual void writeFloat(jfloat); + virtual void writeInt(jint); + virtual void writeLong(jlong); + virtual void writeShort(jint); + virtual void writeObject(::java::lang::Object *); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(jint); + virtual void writeBytes(::java::lang::String *); + virtual void writeChars(::java::lang::String *); + virtual void writeUTF(::java::lang::String *); + virtual void flush(); + virtual void close(); +public: // actually package-private + ::gnu::java::rmi::server::UnicastRemoteCall * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastRemoteCall$DummyObjectOutputStream__ diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteCall.h b/libjava/gnu/java/rmi/server/UnicastRemoteCall.h new file mode 100644 index 00000000000..d6808a6e32e --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastRemoteCall.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastRemoteCall__ +#define __gnu_java_rmi_server_UnicastRemoteCall__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastConnection; + class UnicastRemoteCall; + } + } + } + } + namespace java + { + namespace rmi + { + namespace server + { + class ObjID; + } + } + } +} + +class gnu::java::rmi::server::UnicastRemoteCall : public ::java::lang::Object +{ + +public: // actually package-private + UnicastRemoteCall(::gnu::java::rmi::server::UnicastConnection *); + UnicastRemoteCall(::gnu::java::rmi::server::UnicastConnection *, ::java::rmi::server::ObjID *, jint, jlong); + virtual ::gnu::java::rmi::server::UnicastConnection * getConnection(); +public: + virtual ::java::io::ObjectOutput * getOutputStream(); + virtual void releaseOutputStream(); + virtual ::java::io::ObjectInput * startInputStream(); + virtual ::java::io::ObjectInput * getInputStream(); + virtual void releaseInputStream(); + virtual ::java::io::ObjectOutput * getResultStream(jboolean); + virtual void executeCall(); + virtual void done(); +public: // actually package-private + virtual jboolean isReturnValue(); + virtual ::java::lang::Object * returnValue(); + virtual JArray< ::java::lang::Object * > * getArguments(); + virtual ::java::lang::Object * getObject(); + virtual jint getOpnum(); + virtual jlong getHash(); + virtual void setReturnValue(::java::lang::Object *); +private: + ::gnu::java::rmi::server::UnicastConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) conn; + ::java::lang::Object * result; + ::java::lang::Object * object; + jint opnum; + jlong hash; +public: // actually package-private + ::java::util::Vector * vec; + jint ptr; +private: + ::java::rmi::server::ObjID * objid; + ::java::io::ObjectOutput * oout; + ::java::io::ObjectInput * oin; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastRemoteCall__ diff --git a/libjava/gnu/java/rmi/server/UnicastRemoteStub.h b/libjava/gnu/java/rmi/server/UnicastRemoteStub.h new file mode 100644 index 00000000000..14c9e5a5a3d --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastRemoteStub.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastRemoteStub__ +#define __gnu_java_rmi_server_UnicastRemoteStub__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastRemoteStub; + } + } + } + } + namespace java + { + namespace rmi + { + namespace server + { + class RemoteRef; + class RemoteStub; + } + } + } +} + +class gnu::java::rmi::server::UnicastRemoteStub : public ::java::rmi::server::RemoteStub +{ + +public: + UnicastRemoteStub(); + static void setStubRef(::java::rmi::server::RemoteStub *, ::java::rmi::server::RemoteRef *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastRemoteStub__ diff --git a/libjava/gnu/java/rmi/server/UnicastServer.h b/libjava/gnu/java/rmi/server/UnicastServer.h new file mode 100644 index 00000000000..5ebf3633c9a --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastServer.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastServer__ +#define __gnu_java_rmi_server_UnicastServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace dgc + { + class DGCImpl; + } + namespace server + { + class ActivatableServerRef; + class UnicastConnection; + class UnicastServer; + class UnicastServerRef; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace activation + { + class ActivationID; + } + } + } +} + +class gnu::java::rmi::server::UnicastServer : public ::java::lang::Object +{ + +public: + UnicastServer(); + static void exportObject(::gnu::java::rmi::server::UnicastServerRef *); + static void registerActivatable(::gnu::java::rmi::server::ActivatableServerRef *); + static void exportActivatableObject(::gnu::java::rmi::server::ActivatableServerRef *); + static ::gnu::java::rmi::server::ActivatableServerRef * getActivatableRef(::java::rmi::activation::ActivationID *); + static void unregisterActivatable(::java::rmi::activation::ActivationID *); + static jboolean unexportObject(::gnu::java::rmi::server::UnicastServerRef *, jboolean); + static ::gnu::java::rmi::server::UnicastServerRef * getExportedRef(::java::rmi::Remote *); + static ::java::util::Collection * getExported(::java::lang::Object *); +private: + static void startDGC(); +public: + static void dispatch(::gnu::java::rmi::server::UnicastConnection *); +private: + static void incomingMessageCall(::gnu::java::rmi::server::UnicastConnection *); + static ::java::util::Map * objects; + static ::java::util::Map * refcache; +public: + static ::java::util::Map * actIds; +private: + static ::gnu::java::rmi::dgc::DGCImpl * dgc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastServer__ diff --git a/libjava/gnu/java/rmi/server/UnicastServerRef.h b/libjava/gnu/java/rmi/server/UnicastServerRef.h new file mode 100644 index 00000000000..62299d9cde2 --- /dev/null +++ b/libjava/gnu/java/rmi/server/UnicastServerRef.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_rmi_server_UnicastServerRef__ +#define __gnu_java_rmi_server_UnicastServerRef__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace rmi + { + namespace server + { + class UnicastConnection; + class UnicastServerRef; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class ObjID; + class RMIServerSocketFactory; + class RemoteRef; + class Skeleton; + } + } + } +} + +class gnu::java::rmi::server::UnicastServerRef : public ::gnu::java::rmi::server::UnicastRef +{ + +public: // actually package-private + UnicastServerRef(); +public: + UnicastServerRef(::java::rmi::server::ObjID *, jint, ::java::rmi::server::RMIServerSocketFactory *); + virtual ::java::rmi::Remote * exportObject(::java::rmi::Remote *); + virtual ::java::rmi::Remote * getStub(); + virtual jboolean unexportObject(::java::rmi::Remote *, jboolean); +public: // actually protected + virtual ::java::lang::Class * findStubSkelClass(::java::lang::Class *); + virtual ::java::lang::Object * getHelperClass(::java::lang::Class *, ::java::lang::String *); +public: + virtual ::java::lang::String * getClientHost(); +public: // actually protected + virtual void buildMethodHash(::java::lang::Class *, jboolean); +public: // actually package-private + virtual ::java::lang::Class * getMethodReturnType(jint, jlong); +public: + virtual ::java::lang::Object * incomingMessageCall(::gnu::java::rmi::server::UnicastConnection *, jint, jlong); +public: // actually package-private + virtual ::java::rmi::Remote * createProxyStub(::java::lang::Class *, ::java::rmi::server::RemoteRef *); +private: + static const jlong serialVersionUID = -5585608108300801246LL; + static JArray< ::java::lang::Class * > * stubprototype; +public: // actually package-private + ::java::rmi::Remote * __attribute__((aligned(__alignof__( ::gnu::java::rmi::server::UnicastRef)))) myself; +public: // actually protected + ::java::rmi::server::Skeleton * skel; + ::java::rmi::Remote * stub; + ::java::util::Hashtable * methods; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_rmi_server_UnicastServerRef__ diff --git a/libjava/gnu/java/security/Configuration.h b/libjava/gnu/java/security/Configuration.h new file mode 100644 index 00000000000..ea2bb7049a6 --- /dev/null +++ b/libjava/gnu/java/security/Configuration.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_Configuration__ +#define __gnu_java_security_Configuration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class Configuration; + } + } + } +} + +class gnu::java::security::Configuration : public ::java::lang::Object +{ + +public: + static const jboolean DEBUG = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_Configuration__ diff --git a/libjava/gnu/java/security/Engine.h b/libjava/gnu/java/security/Engine.h new file mode 100644 index 00000000000..53447ecb370 --- /dev/null +++ b/libjava/gnu/java/security/Engine.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_Engine__ +#define __gnu_java_security_Engine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class Engine; + } + } + } + namespace java + { + namespace security + { + class Provider; + } + } +} + +class gnu::java::security::Engine : public ::java::lang::Object +{ + + Engine(); +public: + static ::java::lang::Object * getInstance(::java::lang::String *, ::java::lang::String *, ::java::security::Provider *); + static ::java::lang::Object * getInstance(::java::lang::String *, ::java::lang::String *, ::java::security::Provider *, JArray< ::java::lang::Object * > *); +private: + static ::java::lang::reflect::Constructor * getCompatibleConstructor(::java::lang::Class *, JArray< ::java::lang::Object * > *); + static ::java::lang::String * ALG_ALIAS; + static const jint MAX_ALIASES = 5; + static JArray< ::java::lang::Object * > * NO_ARGS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_Engine__ diff --git a/libjava/gnu/java/security/OID.h b/libjava/gnu/java/security/OID.h new file mode 100644 index 00000000000..40347732d08 --- /dev/null +++ b/libjava/gnu/java/security/OID.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_OID__ +#define __gnu_java_security_OID__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + } + } + } +} + +class gnu::java::security::OID : public ::java::lang::Object +{ + +public: + OID(JArray< jint > *); + OID(JArray< jint > *, jboolean); + OID(::java::lang::String *); + OID(::java::lang::String *, jboolean); + OID(::java::io::InputStream *, jint); + OID(::java::io::InputStream *, jint, jboolean); + OID(JArray< jbyte > *); + OID(JArray< jbyte > *, jboolean); + virtual JArray< jint > * getIDs(); + virtual JArray< jbyte > * getDER(); + virtual ::gnu::java::security::OID * getParent(); + virtual ::gnu::java::security::OID * getChild(jint); + virtual ::gnu::java::security::OID * getRoot(); + virtual jboolean isRelative(); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +private: + static JArray< jint > * fromDER(JArray< jbyte > *, jboolean); + static JArray< jint > * fromString(::java::lang::String *); + static void encodeSubID(::java::io::ByteArrayOutputStream *, jint); +public: // actually package-private + static const jlong serialVersionUID = 5722492029044597779LL; +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components; + ::java::lang::String * strRep; + JArray< jbyte > * der; + jboolean relative; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_OID__ diff --git a/libjava/gnu/java/security/PolicyFile$1.h b/libjava/gnu/java/security/PolicyFile$1.h new file mode 100644 index 00000000000..22eb4898ef1 --- /dev/null +++ b/libjava/gnu/java/security/PolicyFile$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_PolicyFile$1__ +#define __gnu_java_security_PolicyFile$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class PolicyFile; + class PolicyFile$1; + } + } + } +} + +class gnu::java::security::PolicyFile$1 : public ::java::lang::Object +{ + +public: // actually package-private + PolicyFile$1(::gnu::java::security::PolicyFile *, ::java::util::List *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::java::security::PolicyFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::util::List * val$policyFiles; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_PolicyFile$1__ diff --git a/libjava/gnu/java/security/PolicyFile.h b/libjava/gnu/java/security/PolicyFile.h new file mode 100644 index 00000000000..768e3d98cb0 --- /dev/null +++ b/libjava/gnu/java/security/PolicyFile.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_PolicyFile__ +#define __gnu_java_security_PolicyFile__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class PolicyFile; + namespace action + { + class GetPropertyAction; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class CodeSource; + class PermissionCollection; + } + } +} + +class gnu::java::security::PolicyFile : public ::java::security::Policy +{ + +public: + PolicyFile(); + ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *); + void refresh(); + ::java::lang::String * toString(); +private: + void parse(::java::net::URL *); + static ::java::lang::String * expand(::java::lang::String *); + static void error(::java::net::URL *, ::java::io::StreamTokenizer *, ::java::lang::String *); +public: // actually protected + static ::java::util::logging::Logger * logger; +private: + static ::gnu::java::security::action::GetPropertyAction * prop; + static ::java::lang::String * fs; + static ::java::lang::String * DEFAULT_POLICY; + static ::java::lang::String * DEFAULT_USER_POLICY; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::security::Policy)))) cs2pc; + static const jint STATE_BEGIN = 0; + static const jint STATE_GRANT = 1; + static const jint STATE_PERMS = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_PolicyFile__ diff --git a/libjava/gnu/java/security/Properties$1.h b/libjava/gnu/java/security/Properties$1.h new file mode 100644 index 00000000000..43e0b2a8609 --- /dev/null +++ b/libjava/gnu/java/security/Properties$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_Properties$1__ +#define __gnu_java_security_Properties$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class Properties; + class Properties$1; + } + } + } +} + +class gnu::java::security::Properties$1 : public ::java::lang::Object +{ + +public: // actually package-private + Properties$1(::gnu::java::security::Properties *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::java::security::Properties * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_Properties$1__ diff --git a/libjava/gnu/java/security/Properties.h b/libjava/gnu/java/security/Properties.h new file mode 100644 index 00000000000..d28d18e9c13 --- /dev/null +++ b/libjava/gnu/java/security/Properties.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_Properties__ +#define __gnu_java_security_Properties__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class Properties; + } + } + } +} + +class gnu::java::security::Properties : public ::java::lang::Object +{ + + Properties(); +public: + static ::java::lang::String * getProperty(::java::lang::String *); + static void setProperty(::java::lang::String *, ::java::lang::String *); + static jboolean isReproducible(); + static jboolean checkForWeakKeys(); + static jboolean doRSABlinding(); + static void setReproducible(jboolean); + static void setCheckForWeakKeys(jboolean); + static void setDoRSABlinding(jboolean); +private: + static ::gnu::java::security::Properties * instance(); + void init(); + void handleBooleanProperty(::java::lang::String *); + static ::java::util::logging::Logger * log; +public: + static ::java::lang::String * VERSION; + static ::java::lang::String * PROPERTIES_FILE; + static ::java::lang::String * REPRODUCIBLE_PRNG; + static ::java::lang::String * CHECK_WEAK_KEYS; + static ::java::lang::String * DO_RSA_BLINDING; +private: + static ::java::lang::String * TRUE; + static ::java::lang::String * FALSE; + static ::java::util::HashMap * props; + static ::gnu::java::security::Properties * singleton; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) reproducible; + jboolean checkForWeakKeys__; + jboolean doRSABlinding__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_Properties__ diff --git a/libjava/gnu/java/security/Registry.h b/libjava/gnu/java/security/Registry.h new file mode 100644 index 00000000000..164bb9f8ebd --- /dev/null +++ b/libjava/gnu/java/security/Registry.h @@ -0,0 +1,187 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_Registry__ +#define __gnu_java_security_Registry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class Registry; + } + } + } +} + +class gnu::java::security::Registry : public ::java::lang::Object +{ + +public: + static ::java::lang::String * GNU_SECURITY; + static ::java::lang::String * GNU_CRYPTO; + static ::java::lang::String * GNU_SASL; + static ::java::lang::String * VERSION_STRING; + static ::java::lang::String * ANUBIS_CIPHER; + static ::java::lang::String * BLOWFISH_CIPHER; + static ::java::lang::String * DES_CIPHER; + static ::java::lang::String * KHAZAD_CIPHER; + static ::java::lang::String * RIJNDAEL_CIPHER; + static ::java::lang::String * SERPENT_CIPHER; + static ::java::lang::String * SQUARE_CIPHER; + static ::java::lang::String * TRIPLEDES_CIPHER; + static ::java::lang::String * TWOFISH_CIPHER; + static ::java::lang::String * CAST5_CIPHER; + static ::java::lang::String * NULL_CIPHER; + static ::java::lang::String * AES_CIPHER; + static ::java::lang::String * DESEDE_CIPHER; + static ::java::lang::String * CAST128_CIPHER; + static ::java::lang::String * CAST_128_CIPHER; + static ::java::lang::String * KWA_PREFIX; + static ::java::lang::String * AES_KWA; + static ::java::lang::String * AES128_KWA; + static ::java::lang::String * AES192_KWA; + static ::java::lang::String * AES256_KWA; + static ::java::lang::String * RIJNDAEL_KWA; + static ::java::lang::String * TRIPLEDES_KWA; + static ::java::lang::String * DESEDE_KWA; + static ::java::lang::String * WHIRLPOOL_HASH; + static ::java::lang::String * RIPEMD128_HASH; + static ::java::lang::String * RIPEMD160_HASH; + static ::java::lang::String * SHA160_HASH; + static ::java::lang::String * SHA256_HASH; + static ::java::lang::String * SHA384_HASH; + static ::java::lang::String * SHA512_HASH; + static ::java::lang::String * TIGER_HASH; + static ::java::lang::String * HAVAL_HASH; + static ::java::lang::String * MD5_HASH; + static ::java::lang::String * MD4_HASH; + static ::java::lang::String * MD2_HASH; + static ::java::lang::String * RIPEMD_128_HASH; + static ::java::lang::String * RIPEMD_160_HASH; + static ::java::lang::String * SHA_1_HASH; + static ::java::lang::String * SHA1_HASH; + static ::java::lang::String * SHA_HASH; + static ::java::lang::String * ECB_MODE; + static ::java::lang::String * CTR_MODE; + static ::java::lang::String * ICM_MODE; + static ::java::lang::String * OFB_MODE; + static ::java::lang::String * CBC_MODE; + static ::java::lang::String * CFB_MODE; + static ::java::lang::String * EAX_MODE; + static ::java::lang::String * PKCS5_PAD; + static ::java::lang::String * PKCS7_PAD; + static ::java::lang::String * TBC_PAD; + static ::java::lang::String * EME_PKCS1_V1_5_PAD; + static ::java::lang::String * SSL3_PAD; + static ::java::lang::String * TLS1_PAD; + static ::java::lang::String * ISO10126_PAD; + static ::java::lang::String * ARCFOUR_PRNG; + static ::java::lang::String * RC4_PRNG; + static ::java::lang::String * ICM_PRNG; + static ::java::lang::String * MD_PRNG; + static ::java::lang::String * UMAC_PRNG; + static ::java::lang::String * PBKDF2_PRNG_PREFIX; + static ::java::lang::String * CSPRNG_PRNG; + static ::java::lang::String * FORTUNA_PRNG; + static ::java::lang::String * FORTUNA_GENERATOR_PRNG; + static ::java::lang::String * DSS_KPG; + static ::java::lang::String * RSA_KPG; + static ::java::lang::String * DH_KPG; + static ::java::lang::String * SRP_KPG; + static ::java::lang::String * DSA_KPG; + static ::java::lang::String * DSS_SIG; + static ::java::lang::String * RSA_SIG_PREFIX; + static ::java::lang::String * RSA_PSS_ENCODING; + static ::java::lang::String * RSA_PSS_SIG; + static ::java::lang::String * RSA_PKCS1_V1_5_ENCODING; + static ::java::lang::String * RSA_PKCS1_V1_5_SIG; + static ::java::lang::String * DSA_SIG; + static ::java::lang::String * DH_KA; + static ::java::lang::String * ELGAMAL_KA; + static ::java::lang::String * SRP6_KA; + static ::java::lang::String * SRP_SASL_KA; + static ::java::lang::String * SRP_TLS_KA; + static ::java::lang::String * HMAC_NAME_PREFIX; + static ::java::lang::String * OMAC_PREFIX; + static ::java::lang::String * UHASH32; + static ::java::lang::String * UMAC32; + static ::java::lang::String * TMMH16; + static ::java::lang::String * RAW_ENCODING; + static ::java::lang::String * X509_ENCODING; + static ::java::lang::String * PKCS8_ENCODING; + static ::java::lang::String * ASN1_ENCODING; + static ::java::lang::String * RAW_ENCODING_SHORT_NAME; + static ::java::lang::String * X509_ENCODING_SORT_NAME; + static ::java::lang::String * PKCS8_ENCODING_SHORT_NAME; + static ::java::lang::String * ASN1_ENCODING_SHORT_NAME; + static const jint RAW_ENCODING_ID = 1; + static const jint X509_ENCODING_ID = 2; + static const jint PKCS8_ENCODING_ID = 3; + static const jint ASN1_ENCODING_ID = 4; + static ::java::lang::String * DSA_OID_STRING; + static ::java::lang::String * RSA_OID_STRING; + static ::java::lang::String * DH_OID_STRING; + static JArray< jbyte > * MAGIC_RAW_DSS_PUBLIC_KEY; + static JArray< jbyte > * MAGIC_RAW_DSS_PRIVATE_KEY; + static JArray< jbyte > * MAGIC_RAW_DSS_SIGNATURE; + static JArray< jbyte > * MAGIC_RAW_RSA_PUBLIC_KEY; + static JArray< jbyte > * MAGIC_RAW_RSA_PRIVATE_KEY; + static JArray< jbyte > * MAGIC_RAW_RSA_PSS_SIGNATURE; + static JArray< jbyte > * MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE; + static JArray< jbyte > * MAGIC_RAW_DH_PUBLIC_KEY; + static JArray< jbyte > * MAGIC_RAW_DH_PRIVATE_KEY; + static JArray< jbyte > * MAGIC_RAW_SRP_PUBLIC_KEY; + static JArray< jbyte > * MAGIC_RAW_SRP_PRIVATE_KEY; + static ::java::lang::String * SASL_PREFIX; + static ::java::lang::String * SASL_USERNAME; + static ::java::lang::String * SASL_PASSWORD; + static ::java::lang::String * SASL_AUTH_INFO_PROVIDER_PKGS; + static ::java::lang::String * SASL_AUTHORISATION_ID; + static ::java::lang::String * SASL_PROTOCOL; + static ::java::lang::String * SASL_SERVER_NAME; + static ::java::lang::String * SASL_CALLBACK_HANDLER; + static ::java::lang::String * SASL_CHANNEL_BINDING; + static const jint SASL_ONE_BYTE_MAX_LIMIT = 255; + static const jint SASL_TWO_BYTE_MAX_LIMIT = 65535; + static const jint SASL_FOUR_BYTE_MAX_LIMIT = 2147483383; + static const jint SASL_BUFFER_MAX_LIMIT = 2147483643; + static ::java::lang::String * SASL_ANONYMOUS_MECHANISM; + static ::java::lang::String * SASL_CRAM_MD5_MECHANISM; + static ::java::lang::String * SASL_PLAIN_MECHANISM; + static ::java::lang::String * SASL_SRP_MECHANISM; + static ::java::lang::String * SASL_HMAC_MD5_IALG; + static ::java::lang::String * SASL_HMAC_SHA_IALG; + static ::java::lang::String * QOP_AUTH; + static ::java::lang::String * QOP_AUTH_INT; + static ::java::lang::String * QOP_AUTH_CONF; + static ::java::lang::String * STRENGTH_HIGH; + static ::java::lang::String * STRENGTH_MEDIUM; + static ::java::lang::String * STRENGTH_LOW; + static ::java::lang::String * SERVER_AUTH_TRUE; + static ::java::lang::String * SERVER_AUTH_FALSE; + static ::java::lang::String * REUSE_TRUE; + static ::java::lang::String * REUSE_FALSE; + static JArray< jbyte > * GKR_MAGIC; + static const jint GKR_PRIVATE_KEYS = 1; + static const jint GKR_PUBLIC_CREDENTIALS = 2; + static const jint GKR_CERTIFICATES = 4; + static const jint GKR_HMAC_MD5_128 = 0; + static const jint GKR_HMAC_SHA_160 = 1; + static const jint GKR_HMAC_MD5_96 = 2; + static const jint GKR_HMAC_SHA_96 = 3; + static const jint GKR_CIPHER_AES_128_OFB = 0; + static const jint GKR_CIPHER_AES_128_CBC = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_Registry__ diff --git a/libjava/gnu/java/security/Requires.h b/libjava/gnu/java/security/Requires.h new file mode 100644 index 00000000000..879a873a259 --- /dev/null +++ b/libjava/gnu/java/security/Requires.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_Requires__ +#define __gnu_java_security_Requires__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class Requires; + } + } + } +} + +class gnu::java::security::Requires : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * permissionClass() = 0; + virtual ::java::lang::String * target() = 0; + virtual ::java::lang::String * action() = 0; + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_Requires__ diff --git a/libjava/gnu/java/security/action/GetPropertyAction.h b/libjava/gnu/java/security/action/GetPropertyAction.h new file mode 100644 index 00000000000..ce401be9db8 --- /dev/null +++ b/libjava/gnu/java/security/action/GetPropertyAction.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_action_GetPropertyAction__ +#define __gnu_java_security_action_GetPropertyAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace action + { + class GetPropertyAction; + } + } + } + } +} + +class gnu::java::security::action::GetPropertyAction : public ::java::lang::Object +{ + +public: + GetPropertyAction(); + GetPropertyAction(::java::lang::String *); + GetPropertyAction(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * target$run(); + virtual ::gnu::java::security::action::GetPropertyAction * setParameters(::java::lang::String *); + virtual ::gnu::java::security::action::GetPropertyAction * setParameters(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * run(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_action_GetPropertyAction__ diff --git a/libjava/gnu/java/security/action/GetSecurityPropertyAction.h b/libjava/gnu/java/security/action/GetSecurityPropertyAction.h new file mode 100644 index 00000000000..7308876d7cb --- /dev/null +++ b/libjava/gnu/java/security/action/GetSecurityPropertyAction.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_action_GetSecurityPropertyAction__ +#define __gnu_java_security_action_GetSecurityPropertyAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace action + { + class GetSecurityPropertyAction; + } + } + } + } +} + +class gnu::java::security::action::GetSecurityPropertyAction : public ::java::lang::Object +{ + +public: + GetSecurityPropertyAction(); + GetSecurityPropertyAction(::java::lang::String *); + GetSecurityPropertyAction(::java::lang::String *, ::java::lang::String *); + virtual ::gnu::java::security::action::GetSecurityPropertyAction * setParameters(::java::lang::String *); + virtual ::gnu::java::security::action::GetSecurityPropertyAction * setParameters(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * target$run(); + virtual ::java::lang::Object * run(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_action_GetSecurityPropertyAction__ diff --git a/libjava/gnu/java/security/action/SetAccessibleAction.h b/libjava/gnu/java/security/action/SetAccessibleAction.h new file mode 100644 index 00000000000..312a6161691 --- /dev/null +++ b/libjava/gnu/java/security/action/SetAccessibleAction.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_action_SetAccessibleAction__ +#define __gnu_java_security_action_SetAccessibleAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace action + { + class SetAccessibleAction; + } + } + } + } +} + +class gnu::java::security::action::SetAccessibleAction : public ::java::lang::Object +{ + +public: + SetAccessibleAction(); + SetAccessibleAction(::java::lang::reflect::AccessibleObject *); + virtual ::java::lang::Object * run(); + virtual ::gnu::java::security::action::SetAccessibleAction * setMember(::java::lang::reflect::AccessibleObject *); +public: // actually package-private + ::java::lang::reflect::AccessibleObject * __attribute__((aligned(__alignof__( ::java::lang::Object)))) member; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_action_SetAccessibleAction__ diff --git a/libjava/gnu/java/security/ber/BER.h b/libjava/gnu/java/security/ber/BER.h new file mode 100644 index 00000000000..ab1a66cce30 --- /dev/null +++ b/libjava/gnu/java/security/ber/BER.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_ber_BER__ +#define __gnu_java_security_ber_BER__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace ber + { + class BER; + class BERValue; + } + } + } + } +} + +class gnu::java::security::ber::BER : public ::java::lang::Object +{ + +public: + static ::gnu::java::security::ber::BERValue * END_OF_SEQUENCE; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_ber_BER__ diff --git a/libjava/gnu/java/security/ber/BEREncodingException.h b/libjava/gnu/java/security/ber/BEREncodingException.h new file mode 100644 index 00000000000..8eae41ecd72 --- /dev/null +++ b/libjava/gnu/java/security/ber/BEREncodingException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_ber_BEREncodingException__ +#define __gnu_java_security_ber_BEREncodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace ber + { + class BEREncodingException; + } + } + } + } +} + +class gnu::java::security::ber::BEREncodingException : public ::gnu::java::security::der::DEREncodingException +{ + +public: + BEREncodingException(); + BEREncodingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_ber_BEREncodingException__ diff --git a/libjava/gnu/java/security/ber/BERReader.h b/libjava/gnu/java/security/ber/BERReader.h new file mode 100644 index 00000000000..06c0242ceb6 --- /dev/null +++ b/libjava/gnu/java/security/ber/BERReader.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_ber_BERReader__ +#define __gnu_java_security_ber_BERReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace ber + { + class BERReader; + } + namespace der + { + class DERValue; + } + } + } + } +} + +class gnu::java::security::ber::BERReader : public ::gnu::java::security::der::DERReader +{ + +public: + BERReader(JArray< jbyte > *); + BERReader(JArray< jbyte > *, jint, jint); + BERReader(::java::io::InputStream *); + virtual ::gnu::java::security::der::DERValue * read(); + virtual jint peek(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_ber_BERReader__ diff --git a/libjava/gnu/java/security/ber/BERValue.h b/libjava/gnu/java/security/ber/BERValue.h new file mode 100644 index 00000000000..34c3e7a80cc --- /dev/null +++ b/libjava/gnu/java/security/ber/BERValue.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_ber_BERValue__ +#define __gnu_java_security_ber_BERValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace ber + { + class BERValue; + } + namespace der + { + class DERValue; + } + } + } + } +} + +class gnu::java::security::ber::BERValue : public ::gnu::java::security::der::DERValue +{ + +public: + BERValue(jint, ::java::lang::Object *, JArray< jbyte > *); + BERValue(jint, jint, ::java::lang::Object *, JArray< jbyte > *); + BERValue(jint, ::java::lang::Object *); + static jboolean isIndefinite(::gnu::java::security::der::DERValue *); + virtual jboolean getIndefinite(); + virtual jint getLength(); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::java::security::der::DERValue)))) indefinite; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_ber_BERValue__ diff --git a/libjava/gnu/java/security/der/BitString.h b/libjava/gnu/java/security/der/BitString.h new file mode 100644 index 00000000000..1bc7cbd60a9 --- /dev/null +++ b/libjava/gnu/java/security/der/BitString.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_der_BitString__ +#define __gnu_java_security_der_BitString__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace der + { + class BitString; + } + } + } + } +} + +class gnu::java::security::der::BitString : public ::java::lang::Object +{ + +public: + BitString(JArray< jbyte > *, jint, jboolean); + BitString(JArray< jbyte > *, jint, jint, jint, jboolean); + BitString(JArray< jbyte > *, jint, jint, jint); + BitString(JArray< jbyte > *, jint); + BitString(JArray< jbyte > *, jint, jint); + BitString(JArray< jbyte > *); + virtual JArray< jbyte > * toByteArray(); + virtual JArray< jbyte > * getShiftedByteArray(); + virtual jint getIgnoredBits(); + virtual jint size(); + virtual JArray< jboolean > * toBooleanArray(); + virtual ::java::lang::Object * clone(); + virtual jint compareTo(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bytes; + JArray< jbyte > * externBytes; + jint ignoredBits; + JArray< jboolean > * boolVal; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_der_BitString__ diff --git a/libjava/gnu/java/security/der/DER.h b/libjava/gnu/java/security/der/DER.h new file mode 100644 index 00000000000..1b59badbf3c --- /dev/null +++ b/libjava/gnu/java/security/der/DER.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_der_DER__ +#define __gnu_java_security_der_DER__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace der + { + class DER; + } + } + } + } +} + +class gnu::java::security::der::DER : public ::java::lang::Object +{ + +public: + static const jint UNIVERSAL = 0; + static const jint APPLICATION = 64; + static const jint CONTEXT = 128; + static const jint PRIVATE = 192; + static const jint CONSTRUCTED = 32; + static const jint ANY = 0; + static const jint BOOLEAN = 1; + static const jint INTEGER = 2; + static const jint BIT_STRING = 3; + static const jint OCTET_STRING = 4; + static const jint NULL = 5; + static const jint OBJECT_IDENTIFIER = 6; + static const jint REAL = 9; + static const jint ENUMERATED = 10; + static const jint RELATIVE_OID = 13; + static const jint SEQUENCE = 16; + static const jint SET = 17; + static ::java::lang::Object * CONSTRUCTED_VALUE; + static const jint NUMERIC_STRING = 18; + static const jint PRINTABLE_STRING = 19; + static const jint T61_STRING = 20; + static const jint VIDEOTEX_STRING = 21; + static const jint IA5_STRING = 22; + static const jint GRAPHIC_STRING = 25; + static const jint ISO646_STRING = 26; + static const jint GENERAL_STRING = 27; + static const jint UTF8_STRING = 12; + static const jint UNIVERSAL_STRING = 28; + static const jint BMP_STRING = 30; + static const jint UTC_TIME = 23; + static const jint GENERALIZED_TIME = 24; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_der_DER__ diff --git a/libjava/gnu/java/security/der/DEREncodingException.h b/libjava/gnu/java/security/der/DEREncodingException.h new file mode 100644 index 00000000000..dc417bf76e0 --- /dev/null +++ b/libjava/gnu/java/security/der/DEREncodingException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_der_DEREncodingException__ +#define __gnu_java_security_der_DEREncodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace der + { + class DEREncodingException; + } + } + } + } +} + +class gnu::java::security::der::DEREncodingException : public ::java::io::IOException +{ + +public: + DEREncodingException(); + DEREncodingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_der_DEREncodingException__ diff --git a/libjava/gnu/java/security/der/DERReader.h b/libjava/gnu/java/security/der/DERReader.h new file mode 100644 index 00000000000..7e59f85db35 --- /dev/null +++ b/libjava/gnu/java/security/der/DERReader.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_der_DERReader__ +#define __gnu_java_security_der_DERReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace der + { + class DERReader; + class DERValue; + } + } + } + } +} + +class gnu::java::security::der::DERReader : public ::java::lang::Object +{ + +public: + DERReader(JArray< jbyte > *); + DERReader(JArray< jbyte > *, jint, jint); + DERReader(::java::io::InputStream *); + static ::gnu::java::security::der::DERValue * read(JArray< jbyte > *); + virtual void skip(jint); + virtual ::gnu::java::security::der::DERValue * read(); +public: // actually protected + virtual jint readLength(); +private: + ::java::lang::Object * readUniversal(jint, jint); + static ::java::lang::String * makeString(jint, JArray< jbyte > *); + static ::java::lang::String * fromIso88591(JArray< jbyte > *); + static ::java::lang::String * fromUtf16Be(JArray< jbyte > *); + static ::java::lang::String * fromUtf8(JArray< jbyte > *); + ::java::util::Date * makeTime(jint, JArray< jbyte > *); +public: // actually protected + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; + ::java::io::ByteArrayOutputStream * encBuf; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_der_DERReader__ diff --git a/libjava/gnu/java/security/der/DERValue.h b/libjava/gnu/java/security/der/DERValue.h new file mode 100644 index 00000000000..a9572543bc5 --- /dev/null +++ b/libjava/gnu/java/security/der/DERValue.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_der_DERValue__ +#define __gnu_java_security_der_DERValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace der + { + class DERValue; + } + } + } + } +} + +class gnu::java::security::der::DERValue : public ::java::lang::Object +{ + +public: + DERValue(jint, jint, ::java::lang::Object *, JArray< jbyte > *); + DERValue(jint, ::java::lang::Object *); + virtual jint getExternalTag(); + virtual jint getTag(); + virtual jint getTagClass(); + virtual jboolean isConstructed(); + virtual jint getLength(); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::Object * getValueAs(jint); + virtual JArray< jbyte > * getEncoded(); + virtual jint getEncodedLength(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) tagClass; + jboolean constructed; + jint tag; + jint length; + ::java::lang::Object * value; + JArray< jbyte > * encoded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_der_DERValue__ diff --git a/libjava/gnu/java/security/der/DERWriter.h b/libjava/gnu/java/security/der/DERWriter.h new file mode 100644 index 00000000000..a7ea52c783c --- /dev/null +++ b/libjava/gnu/java/security/der/DERWriter.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_der_DERWriter__ +#define __gnu_java_security_der_DERWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class BitString; + class DERValue; + class DERWriter; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::der::DERWriter : public ::java::lang::Object +{ + + DERWriter(); +public: + static jint write(::java::io::OutputStream *, ::gnu::java::security::der::DERValue *); + static jint definiteEncodingSize(jint); +private: + static jint writeBoolean(::java::io::OutputStream *, ::java::lang::Boolean *); + static jint writeInteger(::java::io::OutputStream *, ::java::math::BigInteger *); + static jint writeSequence(::java::io::OutputStream *, ::java::util::List *); + static jint writeSet(::java::io::OutputStream *, ::java::util::Set *); + static jint writeOID(::java::io::OutputStream *, ::gnu::java::security::OID *); + static jint writeBitString(::java::io::OutputStream *, ::gnu::java::security::der::BitString *); + static jint writeString(::java::io::OutputStream *, jint, ::java::lang::String *); + static JArray< jbyte > * toIso88591(::java::lang::String *); + static JArray< jbyte > * toUtf16Be(::java::lang::String *); + static JArray< jbyte > * toUtf8(::java::lang::String *); + static jint writeDate(::java::io::OutputStream *, jint, ::java::util::Date *); +public: // actually package-private + static void writeLength(::java::io::OutputStream *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_der_DERWriter__ diff --git a/libjava/gnu/java/security/hash/BaseHash.h b/libjava/gnu/java/security/hash/BaseHash.h new file mode 100644 index 00000000000..f2ec075509e --- /dev/null +++ b/libjava/gnu/java/security/hash/BaseHash.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_BaseHash__ +#define __gnu_java_security_hash_BaseHash__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class BaseHash; + } + } + } + } +} + +class gnu::java::security::hash::BaseHash : public ::java::lang::Object +{ + +public: // actually protected + BaseHash(::java::lang::String *, jint, jint); +public: + virtual ::java::lang::String * name(); + virtual jint hashSize(); + virtual jint blockSize(); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *); + virtual void update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + virtual void reset(); + virtual ::java::lang::Object * clone() = 0; + virtual jboolean selfTest() = 0; +public: // actually protected + virtual JArray< jbyte > * padBuffer() = 0; + virtual JArray< jbyte > * getResult() = 0; + virtual void resetContext() = 0; + virtual void transform(JArray< jbyte > *, jint) = 0; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jint hashSize__; + jint blockSize__; + jlong count; + JArray< jbyte > * buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_BaseHash__ diff --git a/libjava/gnu/java/security/hash/HashFactory.h b/libjava/gnu/java/security/hash/HashFactory.h new file mode 100644 index 00000000000..265d03a4222 --- /dev/null +++ b/libjava/gnu/java/security/hash/HashFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_HashFactory__ +#define __gnu_java_security_hash_HashFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class HashFactory; + class IMessageDigest; + } + } + } + } +} + +class gnu::java::security::hash::HashFactory : public ::java::lang::Object +{ + + HashFactory(); +public: + static ::gnu::java::security::hash::IMessageDigest * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_HashFactory__ diff --git a/libjava/gnu/java/security/hash/Haval.h b/libjava/gnu/java/security/hash/Haval.h new file mode 100644 index 00000000000..648a293ca7f --- /dev/null +++ b/libjava/gnu/java/security/hash/Haval.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Haval__ +#define __gnu_java_security_hash_Haval__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Haval; + } + } + } + } +} + +class gnu::java::security::hash::Haval : public ::gnu::java::security::hash::BaseHash +{ + +public: + Haval(); + Haval(jint); + Haval(jint, jint); +private: + Haval(::gnu::java::security::hash::Haval *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + void tailorDigestBits(); + jint FF1(jint, jint, jint, jint, jint, jint, jint, jint, jint); + jint FF2(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + jint FF3(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + jint FF4(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + jint FF5(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + jint f1(jint, jint, jint, jint, jint, jint, jint); + jint f2(jint, jint, jint, jint, jint, jint, jint); + jint f3(jint, jint, jint, jint, jint, jint, jint); + jint f4(jint, jint, jint, jint, jint, jint, jint); + jint f5(jint, jint, jint, jint, jint, jint, jint); +public: + static const jint HAVAL_VERSION = 1; + static const jint HAVAL_128_BIT = 16; + static const jint HAVAL_160_BIT = 20; + static const jint HAVAL_192_BIT = 24; + static const jint HAVAL_224_BIT = 28; + static const jint HAVAL_256_BIT = 32; + static const jint HAVAL_3_ROUND = 3; + static const jint HAVAL_4_ROUND = 4; + static const jint HAVAL_5_ROUND = 5; +private: + static const jint BLOCK_SIZE = 128; + static ::java::lang::String * DIGEST0; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) rounds; + jint h0; + jint h1; + jint h2; + jint h3; + jint h4; + jint h5; + jint h6; + jint h7; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Haval__ diff --git a/libjava/gnu/java/security/hash/IMessageDigest.h b/libjava/gnu/java/security/hash/IMessageDigest.h new file mode 100644 index 00000000000..044a202705f --- /dev/null +++ b/libjava/gnu/java/security/hash/IMessageDigest.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_IMessageDigest__ +#define __gnu_java_security_hash_IMessageDigest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + } +} + +class gnu::java::security::hash::IMessageDigest : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual jint hashSize() = 0; + virtual jint blockSize() = 0; + virtual void update(jbyte) = 0; + virtual void update(JArray< jbyte > *) = 0; + virtual void update(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * digest() = 0; + virtual void reset() = 0; + virtual jboolean selfTest() = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_hash_IMessageDigest__ diff --git a/libjava/gnu/java/security/hash/MD2.h b/libjava/gnu/java/security/hash/MD2.h new file mode 100644 index 00000000000..f8a735a748f --- /dev/null +++ b/libjava/gnu/java/security/hash/MD2.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_MD2__ +#define __gnu_java_security_hash_MD2__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class MD2; + } + } + } + } +} + +class gnu::java::security::hash::MD2 : public ::gnu::java::security::hash::BaseHash +{ + +public: + MD2(); +private: + MD2(::gnu::java::security::hash::MD2 *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +public: // actually protected + virtual JArray< jbyte > * padBuffer(); + virtual void transform(JArray< jbyte > *, jint); +private: + void encryptBlock(JArray< jbyte > *, jint); + void updateCheckSumAndEncryptBlock(JArray< jbyte > *, jint); + static const jint DIGEST_LENGTH = 16; + static const jint BLOCK_LENGTH = 16; + static JArray< jbyte > * PI; + static ::java::lang::String * DIGEST0; + static ::java::lang::Boolean * valid; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) checksum; + JArray< jbyte > * work; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_MD2__ diff --git a/libjava/gnu/java/security/hash/MD4.h b/libjava/gnu/java/security/hash/MD4.h new file mode 100644 index 00000000000..64ea5922a62 --- /dev/null +++ b/libjava/gnu/java/security/hash/MD4.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_MD4__ +#define __gnu_java_security_hash_MD4__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class MD4; + } + } + } + } +} + +class gnu::java::security::hash::MD4 : public ::gnu::java::security::hash::BaseHash +{ + +public: + MD4(); +private: + MD4(::gnu::java::security::hash::MD4 *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +public: // actually protected + virtual JArray< jbyte > * padBuffer(); + virtual void transform(JArray< jbyte > *, jint); +private: + static const jint DIGEST_LENGTH = 16; + static const jint BLOCK_LENGTH = 64; + static const jint A = 1732584193; + static const jint B = -271733879; + static const jint C = -1732584194; + static const jint D = 271733878; + static ::java::lang::String * DIGEST0; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) a; + jint b; + jint c; + jint d; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_MD4__ diff --git a/libjava/gnu/java/security/hash/MD5.h b/libjava/gnu/java/security/hash/MD5.h new file mode 100644 index 00000000000..8f6376efeae --- /dev/null +++ b/libjava/gnu/java/security/hash/MD5.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_MD5__ +#define __gnu_java_security_hash_MD5__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class MD5; + } + } + } + } +} + +class gnu::java::security::hash::MD5 : public ::gnu::java::security::hash::BaseHash +{ + +public: + MD5(); +private: + MD5(::gnu::java::security::hash::MD5 *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jint h1; + jint h2; + jint h3; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_MD5__ diff --git a/libjava/gnu/java/security/hash/RipeMD128.h b/libjava/gnu/java/security/hash/RipeMD128.h new file mode 100644 index 00000000000..e2d3274d9f9 --- /dev/null +++ b/libjava/gnu/java/security/hash/RipeMD128.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_RipeMD128__ +#define __gnu_java_security_hash_RipeMD128__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class RipeMD128; + } + } + } + } +} + +class gnu::java::security::hash::RipeMD128 : public ::gnu::java::security::hash::BaseHash +{ + +public: + RipeMD128(); +private: + RipeMD128(::gnu::java::security::hash::RipeMD128 *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static JArray< jint > * R; + static JArray< jint > * Rp; + static JArray< jint > * S; + static JArray< jint > * Sp; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jint h1; + jint h2; + jint h3; + JArray< jint > * X; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_RipeMD128__ diff --git a/libjava/gnu/java/security/hash/RipeMD160.h b/libjava/gnu/java/security/hash/RipeMD160.h new file mode 100644 index 00000000000..f24e3fbd22f --- /dev/null +++ b/libjava/gnu/java/security/hash/RipeMD160.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_RipeMD160__ +#define __gnu_java_security_hash_RipeMD160__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class RipeMD160; + } + } + } + } +} + +class gnu::java::security::hash::RipeMD160 : public ::gnu::java::security::hash::BaseHash +{ + +public: + RipeMD160(); +private: + RipeMD160(::gnu::java::security::hash::RipeMD160 *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static JArray< jint > * R; + static JArray< jint > * Rp; + static JArray< jint > * S; + static JArray< jint > * Sp; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jint h1; + jint h2; + jint h3; + jint h4; + JArray< jint > * X; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_RipeMD160__ diff --git a/libjava/gnu/java/security/hash/Sha160.h b/libjava/gnu/java/security/hash/Sha160.h new file mode 100644 index 00000000000..96f261d5dd7 --- /dev/null +++ b/libjava/gnu/java/security/hash/Sha160.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Sha160__ +#define __gnu_java_security_hash_Sha160__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha160; + } + } + } + } +} + +class gnu::java::security::hash::Sha160 : public ::gnu::java::security::hash::BaseHash +{ + +public: + Sha160(); +private: + Sha160(::gnu::java::security::hash::Sha160 *); +public: + static JArray< jint > * G(jint, jint, jint, jint, jint, JArray< jbyte > *, jint); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static JArray< jint > * sha(jint, jint, jint, jint, jint, JArray< jbyte > *, jint); + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static JArray< jint > * w; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jint h1; + jint h2; + jint h3; + jint h4; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Sha160__ diff --git a/libjava/gnu/java/security/hash/Sha256.h b/libjava/gnu/java/security/hash/Sha256.h new file mode 100644 index 00000000000..628a43af1d5 --- /dev/null +++ b/libjava/gnu/java/security/hash/Sha256.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Sha256__ +#define __gnu_java_security_hash_Sha256__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha256; + } + } + } + } +} + +class gnu::java::security::hash::Sha256 : public ::gnu::java::security::hash::BaseHash +{ + +public: + Sha256(); +private: + Sha256(::gnu::java::security::hash::Sha256 *); +public: + static JArray< jint > * G(jint, jint, jint, jint, jint, jint, jint, jint, JArray< jbyte > *, jint); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static JArray< jint > * sha(jint, jint, jint, jint, jint, jint, jint, jint, JArray< jbyte > *, jint); + static JArray< jint > * k; + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static JArray< jint > * w; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jint h1; + jint h2; + jint h3; + jint h4; + jint h5; + jint h6; + jint h7; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Sha256__ diff --git a/libjava/gnu/java/security/hash/Sha384.h b/libjava/gnu/java/security/hash/Sha384.h new file mode 100644 index 00000000000..503da66b54d --- /dev/null +++ b/libjava/gnu/java/security/hash/Sha384.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Sha384__ +#define __gnu_java_security_hash_Sha384__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha384; + } + } + } + } +} + +class gnu::java::security::hash::Sha384 : public ::gnu::java::security::hash::BaseHash +{ + +public: + Sha384(); +private: + Sha384(::gnu::java::security::hash::Sha384 *); +public: + static JArray< jlong > * G(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static JArray< jlong > * sha(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint); + static JArray< jlong > * k; + static const jint BLOCK_SIZE = 128; + static ::java::lang::String * DIGEST0; + static JArray< jlong > * w; + static ::java::lang::Boolean * valid; + jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jlong h1; + jlong h2; + jlong h3; + jlong h4; + jlong h5; + jlong h6; + jlong h7; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Sha384__ diff --git a/libjava/gnu/java/security/hash/Sha512.h b/libjava/gnu/java/security/hash/Sha512.h new file mode 100644 index 00000000000..764ed786904 --- /dev/null +++ b/libjava/gnu/java/security/hash/Sha512.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Sha512__ +#define __gnu_java_security_hash_Sha512__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha512; + } + } + } + } +} + +class gnu::java::security::hash::Sha512 : public ::gnu::java::security::hash::BaseHash +{ + +public: + Sha512(); +private: + Sha512(::gnu::java::security::hash::Sha512 *); +public: + static JArray< jlong > * G(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void transform(JArray< jbyte > *, jint); + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); +public: + virtual jboolean selfTest(); +private: + static JArray< jlong > * sha(jlong, jlong, jlong, jlong, jlong, jlong, jlong, jlong, JArray< jbyte > *, jint); + static JArray< jlong > * k; + static const jint BLOCK_SIZE = 128; + static ::java::lang::String * DIGEST0; + static JArray< jlong > * w; + static ::java::lang::Boolean * valid; + jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) h0; + jlong h1; + jlong h2; + jlong h3; + jlong h4; + jlong h5; + jlong h6; + jlong h7; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Sha512__ diff --git a/libjava/gnu/java/security/hash/Tiger.h b/libjava/gnu/java/security/hash/Tiger.h new file mode 100644 index 00000000000..93136ce9042 --- /dev/null +++ b/libjava/gnu/java/security/hash/Tiger.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Tiger__ +#define __gnu_java_security_hash_Tiger__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Tiger; + } + } + } + } +} + +class gnu::java::security::hash::Tiger : public ::gnu::java::security::hash::BaseHash +{ + +public: + Tiger(); +private: + Tiger(::gnu::java::security::hash::Tiger *); +public: + virtual ::java::lang::Object * clone(); + virtual jboolean selfTest(); +public: // actually protected + virtual JArray< jbyte > * padBuffer(); + virtual JArray< jbyte > * getResult(); + virtual void resetContext(); + virtual void transform(JArray< jbyte > *, jint); +private: + static const jint HASH_SIZE = 24; + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static const jlong A = 81985529216486895LL; + static const jlong B = -81985529216486896LL; + static const jlong C = -1110518062304271993LL; + static JArray< jlong > * T1; + static JArray< jlong > * T2; + static JArray< jlong > * T3; + static JArray< jlong > * T4; + static ::java::lang::Boolean * valid; + jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) a; + jlong b; + jlong c; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Tiger__ diff --git a/libjava/gnu/java/security/hash/Whirlpool.h b/libjava/gnu/java/security/hash/Whirlpool.h new file mode 100644 index 00000000000..436ff6b70c2 --- /dev/null +++ b/libjava/gnu/java/security/hash/Whirlpool.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_hash_Whirlpool__ +#define __gnu_java_security_hash_Whirlpool__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Whirlpool; + } + } + } + } +} + +class gnu::java::security::hash::Whirlpool : public ::gnu::java::security::hash::BaseHash +{ + +public: + Whirlpool(); +private: + Whirlpool(::gnu::java::security::hash::Whirlpool *); +public: + ::java::lang::Object * clone(); +public: // actually protected + void transform(JArray< jbyte > *, jint); + JArray< jbyte > * padBuffer(); + JArray< jbyte > * getResult(); + void resetContext(); +public: + jboolean selfTest(); +private: + static ::java::util::logging::Logger * log; + static const jint BLOCK_SIZE = 64; + static ::java::lang::String * DIGEST0; + static const jint R = 10; + static ::java::lang::String * S_box; + static JArray< jlong > * T0; + static JArray< jlong > * T1; + static JArray< jlong > * T2; + static JArray< jlong > * T3; + static JArray< jlong > * T4; + static JArray< jlong > * T5; + static JArray< jlong > * T6; + static JArray< jlong > * T7; + static JArray< jlong > * rc; + static ::java::lang::Boolean * valid; + jlong __attribute__((aligned(__alignof__( ::gnu::java::security::hash::BaseHash)))) H0; + jlong H1; + jlong H2; + jlong H3; + jlong H4; + jlong H5; + jlong H6; + jlong H7; + jlong k00; + jlong k01; + jlong k02; + jlong k03; + jlong k04; + jlong k05; + jlong k06; + jlong k07; + jlong Kr0; + jlong Kr1; + jlong Kr2; + jlong Kr3; + jlong Kr4; + jlong Kr5; + jlong Kr6; + jlong Kr7; + jlong n0; + jlong n1; + jlong n2; + jlong n3; + jlong n4; + jlong n5; + jlong n6; + jlong n7; + jlong nn0; + jlong nn1; + jlong nn2; + jlong nn3; + jlong nn4; + jlong nn5; + jlong nn6; + jlong nn7; + jlong w0; + jlong w1; + jlong w2; + jlong w3; + jlong w4; + jlong w5; + jlong w6; + jlong w7; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_hash_Whirlpool__ diff --git a/libjava/gnu/java/security/jce/hash/HavalSpi.h b/libjava/gnu/java/security/jce/hash/HavalSpi.h new file mode 100644 index 00000000000..71d304a0f50 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/HavalSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_HavalSpi__ +#define __gnu_java_security_jce_hash_HavalSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class HavalSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::HavalSpi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + HavalSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_HavalSpi__ diff --git a/libjava/gnu/java/security/jce/hash/MD2Spi.h b/libjava/gnu/java/security/jce/hash/MD2Spi.h new file mode 100644 index 00000000000..88aeccdea71 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/MD2Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_MD2Spi__ +#define __gnu_java_security_jce_hash_MD2Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class MD2Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::MD2Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + MD2Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_MD2Spi__ diff --git a/libjava/gnu/java/security/jce/hash/MD4Spi.h b/libjava/gnu/java/security/jce/hash/MD4Spi.h new file mode 100644 index 00000000000..0bc60f7a383 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/MD4Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_MD4Spi__ +#define __gnu_java_security_jce_hash_MD4Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class MD4Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::MD4Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + MD4Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_MD4Spi__ diff --git a/libjava/gnu/java/security/jce/hash/MD5Spi.h b/libjava/gnu/java/security/jce/hash/MD5Spi.h new file mode 100644 index 00000000000..06e97fc9d09 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/MD5Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_MD5Spi__ +#define __gnu_java_security_jce_hash_MD5Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class MD5Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::MD5Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + MD5Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_MD5Spi__ diff --git a/libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h b/libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h new file mode 100644 index 00000000000..f12d4caa22f --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/MessageDigestAdapter.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_MessageDigestAdapter__ +#define __gnu_java_security_jce_hash_MessageDigestAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace jce + { + namespace hash + { + class MessageDigestAdapter; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::MessageDigestAdapter : public ::java::security::MessageDigestSpi +{ + +public: // actually protected + MessageDigestAdapter(::java::lang::String *); +private: + MessageDigestAdapter(::gnu::java::security::hash::IMessageDigest *); +public: + virtual ::java::lang::Object * clone(); + virtual jint engineGetDigestLength(); + virtual void engineUpdate(jbyte); + virtual void engineUpdate(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineDigest(); + virtual jint engineDigest(JArray< jbyte > *, jint, jint); + virtual void engineReset(); +private: + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::security::MessageDigestSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_MessageDigestAdapter__ diff --git a/libjava/gnu/java/security/jce/hash/RipeMD128Spi.h b/libjava/gnu/java/security/jce/hash/RipeMD128Spi.h new file mode 100644 index 00000000000..35f1979fed8 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/RipeMD128Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_RipeMD128Spi__ +#define __gnu_java_security_jce_hash_RipeMD128Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class RipeMD128Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::RipeMD128Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + RipeMD128Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_RipeMD128Spi__ diff --git a/libjava/gnu/java/security/jce/hash/RipeMD160Spi.h b/libjava/gnu/java/security/jce/hash/RipeMD160Spi.h new file mode 100644 index 00000000000..79f5e496064 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/RipeMD160Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_RipeMD160Spi__ +#define __gnu_java_security_jce_hash_RipeMD160Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class RipeMD160Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::RipeMD160Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + RipeMD160Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_RipeMD160Spi__ diff --git a/libjava/gnu/java/security/jce/hash/Sha160Spi.h b/libjava/gnu/java/security/jce/hash/Sha160Spi.h new file mode 100644 index 00000000000..d4fc3924e95 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/Sha160Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_Sha160Spi__ +#define __gnu_java_security_jce_hash_Sha160Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class Sha160Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::Sha160Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + Sha160Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_Sha160Spi__ diff --git a/libjava/gnu/java/security/jce/hash/Sha256Spi.h b/libjava/gnu/java/security/jce/hash/Sha256Spi.h new file mode 100644 index 00000000000..206ff8220ec --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/Sha256Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_Sha256Spi__ +#define __gnu_java_security_jce_hash_Sha256Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class Sha256Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::Sha256Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + Sha256Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_Sha256Spi__ diff --git a/libjava/gnu/java/security/jce/hash/Sha384Spi.h b/libjava/gnu/java/security/jce/hash/Sha384Spi.h new file mode 100644 index 00000000000..2270ffe824c --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/Sha384Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_Sha384Spi__ +#define __gnu_java_security_jce_hash_Sha384Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class Sha384Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::Sha384Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + Sha384Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_Sha384Spi__ diff --git a/libjava/gnu/java/security/jce/hash/Sha512Spi.h b/libjava/gnu/java/security/jce/hash/Sha512Spi.h new file mode 100644 index 00000000000..f193304e1af --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/Sha512Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_Sha512Spi__ +#define __gnu_java_security_jce_hash_Sha512Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class Sha512Spi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::Sha512Spi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + Sha512Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_Sha512Spi__ diff --git a/libjava/gnu/java/security/jce/hash/TigerSpi.h b/libjava/gnu/java/security/jce/hash/TigerSpi.h new file mode 100644 index 00000000000..42897e8a5d0 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/TigerSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_TigerSpi__ +#define __gnu_java_security_jce_hash_TigerSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class TigerSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::TigerSpi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + TigerSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_TigerSpi__ diff --git a/libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h b/libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h new file mode 100644 index 00000000000..a8d883e9019 --- /dev/null +++ b/libjava/gnu/java/security/jce/hash/WhirlpoolSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_hash_WhirlpoolSpi__ +#define __gnu_java_security_jce_hash_WhirlpoolSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace hash + { + class WhirlpoolSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::hash::WhirlpoolSpi : public ::gnu::java::security::jce::hash::MessageDigestAdapter +{ + +public: + WhirlpoolSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_hash_WhirlpoolSpi__ diff --git a/libjava/gnu/java/security/jce/prng/HavalRandomSpi.h b/libjava/gnu/java/security/jce/prng/HavalRandomSpi.h new file mode 100644 index 00000000000..727d444e92d --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/HavalRandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_HavalRandomSpi__ +#define __gnu_java_security_jce_prng_HavalRandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class HavalRandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::HavalRandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + HavalRandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_HavalRandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/MD2RandomSpi.h b/libjava/gnu/java/security/jce/prng/MD2RandomSpi.h new file mode 100644 index 00000000000..053a305aa12 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/MD2RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_MD2RandomSpi__ +#define __gnu_java_security_jce_prng_MD2RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class MD2RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::MD2RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + MD2RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_MD2RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/MD4RandomSpi.h b/libjava/gnu/java/security/jce/prng/MD4RandomSpi.h new file mode 100644 index 00000000000..0f11deb53bf --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/MD4RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_MD4RandomSpi__ +#define __gnu_java_security_jce_prng_MD4RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class MD4RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::MD4RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + MD4RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_MD4RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/MD5RandomSpi.h b/libjava/gnu/java/security/jce/prng/MD5RandomSpi.h new file mode 100644 index 00000000000..8e5cc27f880 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/MD5RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_MD5RandomSpi__ +#define __gnu_java_security_jce_prng_MD5RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class MD5RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::MD5RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + MD5RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_MD5RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h b/libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h new file mode 100644 index 00000000000..51afaea58a9 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/RipeMD128RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_RipeMD128RandomSpi__ +#define __gnu_java_security_jce_prng_RipeMD128RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class RipeMD128RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::RipeMD128RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + RipeMD128RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_RipeMD128RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h b/libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h new file mode 100644 index 00000000000..f590267fde4 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/RipeMD160RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_RipeMD160RandomSpi__ +#define __gnu_java_security_jce_prng_RipeMD160RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class RipeMD160RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::RipeMD160RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + RipeMD160RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_RipeMD160RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h b/libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h new file mode 100644 index 00000000000..71b29f7734d --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/SecureRandomAdapter.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_SecureRandomAdapter__ +#define __gnu_java_security_jce_prng_SecureRandomAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class SecureRandomAdapter; + } + } + namespace prng + { + class MDGenerator; + } + } + } + } +} + +class gnu::java::security::jce::prng::SecureRandomAdapter : public ::java::security::SecureRandomSpi +{ + +public: // actually protected + SecureRandomAdapter(::java::lang::String *); +public: + virtual JArray< jbyte > * engineGenerateSeed(jint); + virtual void engineNextBytes(JArray< jbyte > *); + virtual void engineSetSeed(JArray< jbyte > *); +private: + ::gnu::java::security::prng::MDGenerator * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee; + ::java::lang::String * mdName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_SecureRandomAdapter__ diff --git a/libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h new file mode 100644 index 00000000000..dc896ab567a --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/Sha160RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_Sha160RandomSpi__ +#define __gnu_java_security_jce_prng_Sha160RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class Sha160RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::Sha160RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + Sha160RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_Sha160RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h new file mode 100644 index 00000000000..73e676cea01 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/Sha256RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_Sha256RandomSpi__ +#define __gnu_java_security_jce_prng_Sha256RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class Sha256RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::Sha256RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + Sha256RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_Sha256RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h new file mode 100644 index 00000000000..2f76f6903ba --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/Sha384RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_Sha384RandomSpi__ +#define __gnu_java_security_jce_prng_Sha384RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class Sha384RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::Sha384RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + Sha384RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_Sha384RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h b/libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h new file mode 100644 index 00000000000..0209fec8333 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/Sha512RandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_Sha512RandomSpi__ +#define __gnu_java_security_jce_prng_Sha512RandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class Sha512RandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::Sha512RandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + Sha512RandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_Sha512RandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/TigerRandomSpi.h b/libjava/gnu/java/security/jce/prng/TigerRandomSpi.h new file mode 100644 index 00000000000..238685cc6ee --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/TigerRandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_TigerRandomSpi__ +#define __gnu_java_security_jce_prng_TigerRandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class TigerRandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::TigerRandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + TigerRandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_TigerRandomSpi__ diff --git a/libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h b/libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h new file mode 100644 index 00000000000..4d31a5e8d40 --- /dev/null +++ b/libjava/gnu/java/security/jce/prng/WhirlpoolRandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_prng_WhirlpoolRandomSpi__ +#define __gnu_java_security_jce_prng_WhirlpoolRandomSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace prng + { + class WhirlpoolRandomSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::prng::WhirlpoolRandomSpi : public ::gnu::java::security::jce::prng::SecureRandomAdapter +{ + +public: + WhirlpoolRandomSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_prng_WhirlpoolRandomSpi__ diff --git a/libjava/gnu/java/security/jce/sig/DSSKeyFactory.h b/libjava/gnu/java/security/jce/sig/DSSKeyFactory.h new file mode 100644 index 00000000000..139ee5ddf15 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/DSSKeyFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_DSSKeyFactory__ +#define __gnu_java_security_jce_sig_DSSKeyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class DSSKeyFactory; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + class PrivateKey; + class PublicKey; + namespace spec + { + class KeySpec; + } + } + } +} + +class gnu::java::security::jce::sig::DSSKeyFactory : public ::java::security::KeyFactorySpi +{ + +public: + DSSKeyFactory(); +public: // actually protected + virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *); + virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *); + virtual ::java::security::Key * engineTranslateKey(::java::security::Key *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_DSSKeyFactory__ diff --git a/libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h b/libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h new file mode 100644 index 00000000000..38a6a941920 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_DSSKeyPairGeneratorSpi__ +#define __gnu_java_security_jce_sig_DSSKeyPairGeneratorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class DSSKeyPairGeneratorSpi; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + namespace interfaces + { + class DSAParams; + } + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::java::security::jce::sig::DSSKeyPairGeneratorSpi : public ::gnu::java::security::jce::sig::KeyPairGeneratorAdapter +{ + +public: + DSSKeyPairGeneratorSpi(); + virtual void initialize(jint, ::java::security::SecureRandom *); + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void initialize(::java::security::interfaces::DSAParams *, ::java::security::SecureRandom *); + virtual void initialize(jint, jboolean, ::java::security::SecureRandom *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_DSSKeyPairGeneratorSpi__ diff --git a/libjava/gnu/java/security/jce/sig/DSSParameters.h b/libjava/gnu/java/security/jce/sig/DSSParameters.h new file mode 100644 index 00000000000..6d6f612bdcc --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/DSSParameters.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_DSSParameters__ +#define __gnu_java_security_jce_sig_DSSParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class DSSParameters; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::java::security::jce::sig::DSSParameters : public ::java::security::AlgorithmParametersSpi +{ + +public: + DSSParameters(); +public: // actually protected + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *); + virtual void engineInit(JArray< jbyte > *); + virtual void engineInit(JArray< jbyte > *, ::java::lang::String *); + virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *); + virtual JArray< jbyte > * engineGetEncoded(); + virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *); + virtual ::java::lang::String * engineToString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::security::AlgorithmParametersSpi)))) p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * g; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_DSSParameters__ diff --git a/libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h b/libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h new file mode 100644 index 00000000000..292069400ff --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/DSSParametersGenerator.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_DSSParametersGenerator__ +#define __gnu_java_security_jce_sig_DSSParametersGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class DSSParametersGenerator; + } + } + namespace key + { + namespace dss + { + class FIPS186; + } + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Provider; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::java::security::jce::sig::DSSParametersGenerator : public ::java::security::AlgorithmParameterGeneratorSpi +{ + +public: + DSSParametersGenerator(); +public: // actually protected + virtual void engineInit(jint, ::java::security::SecureRandom *); + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual ::java::security::AlgorithmParameters * engineGenerateParameters(); +private: + static ::java::security::Provider * GNU; + jint __attribute__((aligned(__alignof__( ::java::security::AlgorithmParameterGeneratorSpi)))) modulusLength; + ::java::security::SecureRandom * rnd; + ::gnu::java::security::key::dss::FIPS186 * fips; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_DSSParametersGenerator__ diff --git a/libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h b/libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h new file mode 100644 index 00000000000..d135b61f9b9 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/DSSRawSignatureSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_DSSRawSignatureSpi__ +#define __gnu_java_security_jce_sig_DSSRawSignatureSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class DSSRawSignatureSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::DSSRawSignatureSpi : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + DSSRawSignatureSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_DSSRawSignatureSpi__ diff --git a/libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h b/libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h new file mode 100644 index 00000000000..23dced6dbe8 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/EncodedKeyFactory.h @@ -0,0 +1,106 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_EncodedKeyFactory__ +#define __gnu_java_security_jce_sig_EncodedKeyFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class EncodedKeyFactory; + } + } + namespace key + { + namespace dss + { + class DSSPublicKey; + } + namespace rsa + { + class GnuRSAPublicKey; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + class PrivateKey; + class PublicKey; + namespace spec + { + class DSAPrivateKeySpec; + class DSAPublicKeySpec; + class KeySpec; + class RSAPrivateCrtKeySpec; + class RSAPublicKeySpec; + } + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPrivateKey; + class DHPublicKey; + } + namespace spec + { + class DHPrivateKeySpec; + class DHPublicKeySpec; + } + } + } +} + +class gnu::java::security::jce::sig::EncodedKeyFactory : public ::java::security::KeyFactorySpi +{ + +public: + EncodedKeyFactory(); +private: + static ::java::lang::Object * invokeConstructor(::java::lang::String *, JArray< ::java::lang::Object * > *); + static ::java::lang::Class * getConcreteClass(::java::lang::String *); + static ::java::lang::reflect::Constructor * getConcreteCtor(::java::lang::Class *); + static ::java::lang::Object * invokeValueOf(::java::lang::String *, JArray< jbyte > *); + static ::java::lang::reflect::Method * getValueOfMethod(::java::lang::Class *); +public: // actually protected + virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *); + virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *); + virtual ::java::security::Key * engineTranslateKey(::java::security::Key *); +private: + ::gnu::java::security::key::dss::DSSPublicKey * decodeDSSPublicKey(::java::security::spec::DSAPublicKeySpec *); + ::gnu::java::security::key::rsa::GnuRSAPublicKey * decodeRSAPublicKey(::java::security::spec::RSAPublicKeySpec *); + ::javax::crypto::interfaces::DHPublicKey * decodeDHPublicKey(::javax::crypto::spec::DHPublicKeySpec *); + ::javax::crypto::interfaces::DHPublicKey * decodeDHPublicKey(JArray< jbyte > *); + ::java::security::PrivateKey * decodeDSSPrivateKey(::java::security::spec::DSAPrivateKeySpec *); + ::java::security::PrivateKey * decodeRSAPrivateKey(::java::security::spec::RSAPrivateCrtKeySpec *); + ::javax::crypto::interfaces::DHPrivateKey * decodeDHPrivateKey(::javax::crypto::spec::DHPrivateKeySpec *); + ::javax::crypto::interfaces::DHPrivateKey * decodeDHPrivateKey(JArray< jbyte > *); + static ::java::util::logging::Logger * log; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_EncodedKeyFactory__ diff --git a/libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h b/libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h new file mode 100644 index 00000000000..9a7778408cb --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_KeyPairGeneratorAdapter__ +#define __gnu_java_security_jce_sig_KeyPairGeneratorAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class KeyPairGeneratorAdapter; + } + } + namespace key + { + class IKeyPairGenerator; + } + } + } + } + namespace java + { + namespace security + { + class KeyPair; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::java::security::jce::sig::KeyPairGeneratorAdapter : public ::java::security::KeyPairGenerator +{ + +public: // actually protected + KeyPairGeneratorAdapter(::java::lang::String *); +public: + virtual void initialize(jint, ::java::security::SecureRandom *) = 0; + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *) = 0; + virtual ::java::security::KeyPair * generateKeyPair(); +public: // actually protected + ::gnu::java::security::key::IKeyPairGenerator * __attribute__((aligned(__alignof__( ::java::security::KeyPairGenerator)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_KeyPairGeneratorAdapter__ diff --git a/libjava/gnu/java/security/jce/sig/MD2withRSA.h b/libjava/gnu/java/security/jce/sig/MD2withRSA.h new file mode 100644 index 00000000000..68ae75f3230 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/MD2withRSA.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_MD2withRSA__ +#define __gnu_java_security_jce_sig_MD2withRSA__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class MD2withRSA; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::MD2withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + MD2withRSA(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_MD2withRSA__ diff --git a/libjava/gnu/java/security/jce/sig/MD5withRSA.h b/libjava/gnu/java/security/jce/sig/MD5withRSA.h new file mode 100644 index 00000000000..919b74feafb --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/MD5withRSA.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_MD5withRSA__ +#define __gnu_java_security_jce_sig_MD5withRSA__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class MD5withRSA; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::MD5withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + MD5withRSA(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_MD5withRSA__ diff --git a/libjava/gnu/java/security/jce/sig/RSAKeyFactory.h b/libjava/gnu/java/security/jce/sig/RSAKeyFactory.h new file mode 100644 index 00000000000..8c10a0a125b --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/RSAKeyFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_RSAKeyFactory__ +#define __gnu_java_security_jce_sig_RSAKeyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class RSAKeyFactory; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + class PrivateKey; + class PublicKey; + namespace spec + { + class KeySpec; + } + } + } +} + +class gnu::java::security::jce::sig::RSAKeyFactory : public ::java::security::KeyFactorySpi +{ + +public: + RSAKeyFactory(); +public: // actually protected + virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *); + virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *); + virtual ::java::security::Key * engineTranslateKey(::java::security::Key *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_RSAKeyFactory__ diff --git a/libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h b/libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h new file mode 100644 index 00000000000..97f6aced88f --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_RSAKeyPairGeneratorSpi__ +#define __gnu_java_security_jce_sig_RSAKeyPairGeneratorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class RSAKeyPairGeneratorSpi; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::java::security::jce::sig::RSAKeyPairGeneratorSpi : public ::gnu::java::security::jce::sig::KeyPairGeneratorAdapter +{ + +public: + RSAKeyPairGeneratorSpi(); + virtual void initialize(jint, ::java::security::SecureRandom *); + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_RSAKeyPairGeneratorSpi__ diff --git a/libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h b/libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h new file mode 100644 index 00000000000..56ad41681f0 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_RSAPSSRawSignatureSpi__ +#define __gnu_java_security_jce_sig_RSAPSSRawSignatureSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class RSAPSSRawSignatureSpi; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::RSAPSSRawSignatureSpi : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + RSAPSSRawSignatureSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_RSAPSSRawSignatureSpi__ diff --git a/libjava/gnu/java/security/jce/sig/SHA160withDSS.h b/libjava/gnu/java/security/jce/sig/SHA160withDSS.h new file mode 100644 index 00000000000..fc595d46520 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/SHA160withDSS.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_SHA160withDSS__ +#define __gnu_java_security_jce_sig_SHA160withDSS__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class SHA160withDSS; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::SHA160withDSS : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + SHA160withDSS(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_SHA160withDSS__ diff --git a/libjava/gnu/java/security/jce/sig/SHA160withRSA.h b/libjava/gnu/java/security/jce/sig/SHA160withRSA.h new file mode 100644 index 00000000000..93a886c271c --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/SHA160withRSA.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_SHA160withRSA__ +#define __gnu_java_security_jce_sig_SHA160withRSA__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class SHA160withRSA; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::SHA160withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + SHA160withRSA(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_SHA160withRSA__ diff --git a/libjava/gnu/java/security/jce/sig/SHA256withRSA.h b/libjava/gnu/java/security/jce/sig/SHA256withRSA.h new file mode 100644 index 00000000000..9b736522ad8 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/SHA256withRSA.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_SHA256withRSA__ +#define __gnu_java_security_jce_sig_SHA256withRSA__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class SHA256withRSA; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::SHA256withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + SHA256withRSA(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_SHA256withRSA__ diff --git a/libjava/gnu/java/security/jce/sig/SHA384withRSA.h b/libjava/gnu/java/security/jce/sig/SHA384withRSA.h new file mode 100644 index 00000000000..db01a6e1452 --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/SHA384withRSA.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_SHA384withRSA__ +#define __gnu_java_security_jce_sig_SHA384withRSA__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class SHA384withRSA; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::SHA384withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + SHA384withRSA(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_SHA384withRSA__ diff --git a/libjava/gnu/java/security/jce/sig/SHA512withRSA.h b/libjava/gnu/java/security/jce/sig/SHA512withRSA.h new file mode 100644 index 00000000000..13ea935437c --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/SHA512withRSA.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_SHA512withRSA__ +#define __gnu_java_security_jce_sig_SHA512withRSA__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class SHA512withRSA; + } + } + } + } + } +} + +class gnu::java::security::jce::sig::SHA512withRSA : public ::gnu::java::security::jce::sig::SignatureAdapter +{ + +public: + SHA512withRSA(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_SHA512withRSA__ diff --git a/libjava/gnu/java/security/jce/sig/SignatureAdapter.h b/libjava/gnu/java/security/jce/sig/SignatureAdapter.h new file mode 100644 index 00000000000..68fdd64cb0f --- /dev/null +++ b/libjava/gnu/java/security/jce/sig/SignatureAdapter.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_jce_sig_SignatureAdapter__ +#define __gnu_java_security_jce_sig_SignatureAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace jce + { + namespace sig + { + class SignatureAdapter; + } + } + namespace sig + { + class ISignature; + class ISignatureCodec; + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::java::security::jce::sig::SignatureAdapter : public ::java::security::SignatureSpi +{ + +public: // actually protected + SignatureAdapter(::java::lang::String *, ::gnu::java::security::sig::ISignatureCodec *); +private: + SignatureAdapter(::gnu::java::security::sig::ISignature *, ::gnu::java::security::sig::ISignatureCodec *); +public: + virtual ::java::lang::Object * clone(); + virtual void engineInitVerify(::java::security::PublicKey *); + virtual void engineInitSign(::java::security::PrivateKey *); + virtual void engineInitSign(::java::security::PrivateKey *, ::java::security::SecureRandom *); + virtual void engineUpdate(jbyte); + virtual void engineUpdate(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineSign(); + virtual jint engineSign(JArray< jbyte > *, jint, jint); + virtual jboolean engineVerify(JArray< jbyte > *); + virtual void engineSetParameter(::java::lang::String *, ::java::lang::Object *); + virtual void engineSetParameter(::java::security::spec::AlgorithmParameterSpec *); + virtual ::java::lang::Object * engineGetParameter(::java::lang::String *); +private: + static ::java::util::logging::Logger * log; + ::gnu::java::security::sig::ISignature * __attribute__((aligned(__alignof__( ::java::security::SignatureSpi)))) adaptee; + ::gnu::java::security::sig::ISignatureCodec * codec; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_jce_sig_SignatureAdapter__ diff --git a/libjava/gnu/java/security/key/IKeyPairCodec.h b/libjava/gnu/java/security/key/IKeyPairCodec.h new file mode 100644 index 00000000000..61a4f1849ab --- /dev/null +++ b/libjava/gnu/java/security/key/IKeyPairCodec.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_IKeyPairCodec__ +#define __gnu_java_security_key_IKeyPairCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + class IKeyPairCodec; + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::IKeyPairCodec : public ::java::lang::Object +{ + +public: + virtual jint getFormatID() = 0; + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *) = 0; + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *) = 0; + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *) = 0; + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *) = 0; + static const jint RAW_FORMAT = 1; + static const jint X509_FORMAT = 2; + static const jint PKCS8_FORMAT = 3; + static const jint ASN1_FORMAT = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_key_IKeyPairCodec__ diff --git a/libjava/gnu/java/security/key/IKeyPairGenerator.h b/libjava/gnu/java/security/key/IKeyPairGenerator.h new file mode 100644 index 00000000000..1ae2a486190 --- /dev/null +++ b/libjava/gnu/java/security/key/IKeyPairGenerator.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_IKeyPairGenerator__ +#define __gnu_java_security_key_IKeyPairGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + class IKeyPairGenerator; + } + } + } + } + namespace java + { + namespace security + { + class KeyPair; + } + } +} + +class gnu::java::security::key::IKeyPairGenerator : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual void setup(::java::util::Map *) = 0; + virtual ::java::security::KeyPair * generate() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_key_IKeyPairGenerator__ diff --git a/libjava/gnu/java/security/key/KeyPairCodecFactory.h b/libjava/gnu/java/security/key/KeyPairCodecFactory.h new file mode 100644 index 00000000000..e6ac55fa93e --- /dev/null +++ b/libjava/gnu/java/security/key/KeyPairCodecFactory.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_KeyPairCodecFactory__ +#define __gnu_java_security_key_KeyPairCodecFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + class IKeyPairCodec; + class KeyPairCodecFactory; + } + } + } + } + namespace java + { + namespace security + { + class Key; + } + } +} + +class gnu::java::security::key::KeyPairCodecFactory : public ::java::lang::Object +{ + + KeyPairCodecFactory(); +public: + static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::lang::String *); + static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::lang::String *, ::java::lang::String *); + static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::lang::String *, jint); + static ::gnu::java::security::key::IKeyPairCodec * getInstance(::java::security::Key *); + static ::java::util::Set * getNames(); +private: + static ::gnu::java::security::key::IKeyPairCodec * makeInstance(::java::lang::String *); + static jboolean matches(::java::lang::Object *, ::java::lang::String *); + static ::gnu::java::security::key::IKeyPairCodec * getRawCodec(::java::lang::String *); + static ::gnu::java::security::key::IKeyPairCodec * getX509Codec(::java::lang::String *); + static ::gnu::java::security::key::IKeyPairCodec * getPKCS8Codec(::java::lang::String *); + static ::gnu::java::security::key::IKeyPairCodec * getRawCodec(::java::security::Key *); + static ::gnu::java::security::key::IKeyPairCodec * getX509Codec(::java::security::Key *); + static ::gnu::java::security::key::IKeyPairCodec * getPKCS8Codec(::java::security::Key *); + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_KeyPairCodecFactory__ diff --git a/libjava/gnu/java/security/key/KeyPairGeneratorFactory.h b/libjava/gnu/java/security/key/KeyPairGeneratorFactory.h new file mode 100644 index 00000000000..4d877a3154b --- /dev/null +++ b/libjava/gnu/java/security/key/KeyPairGeneratorFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_KeyPairGeneratorFactory__ +#define __gnu_java_security_key_KeyPairGeneratorFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + class IKeyPairGenerator; + class KeyPairGeneratorFactory; + } + } + } + } +} + +class gnu::java::security::key::KeyPairGeneratorFactory : public ::java::lang::Object +{ + + KeyPairGeneratorFactory(); +public: + static ::gnu::java::security::key::IKeyPairGenerator * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); +private: + static ::gnu::java::security::key::IKeyPairGenerator * makeInstance(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_KeyPairGeneratorFactory__ diff --git a/libjava/gnu/java/security/key/dss/DSSKey.h b/libjava/gnu/java/security/key/dss/DSSKey.h new file mode 100644 index 00000000000..de8ebb2500e --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSKey.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSKey__ +#define __gnu_java_security_key_dss_DSSKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace dss + { + class DSSKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class DSAParams; + } + } + } +} + +class gnu::java::security::key::dss::DSSKey : public ::java::lang::Object +{ + +public: // actually protected + DSSKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::java::security::interfaces::DSAParams * getParams(); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual JArray< jbyte > * getEncoded(jint) = 0; + virtual jboolean hasInheritedParameters(); +public: // actually protected + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * g; + jint defaultFormat; +private: + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSKey__ diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h b/libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h new file mode 100644 index 00000000000..e78abe027a5 --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSKeyPairGenerator.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSKeyPairGenerator__ +#define __gnu_java_security_key_dss_DSSKeyPairGenerator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace dss + { + class DSSKeyPairGenerator; + } + } + namespace util + { + class PRNG; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + class SecureRandom; + namespace spec + { + class DSAParameterSpec; + } + } + } +} + +class gnu::java::security::key::dss::DSSKeyPairGenerator : public ::java::lang::Object +{ + +public: + DSSKeyPairGenerator(); + virtual ::java::lang::String * name(); + virtual void setup(::java::util::Map *); + virtual ::java::security::KeyPair * generate(); +private: + ::java::math::BigInteger * nextX(); + void nextRandomBytes(JArray< jbyte > *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); + static ::java::util::logging::Logger * log; + static ::java::math::BigInteger * TWO; +public: + static ::java::lang::String * MODULUS_LENGTH; + static ::java::lang::String * USE_DEFAULTS; + static ::java::lang::String * STRICT_DEFAULTS; + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::String * DSS_PARAMETERS; + static ::java::lang::String * PREFERRED_ENCODING_FORMAT; + static const jint DEFAULT_MODULUS_LENGTH = 1024; +private: + static const jint DEFAULT_ENCODING_FORMAT = 1; + static JArray< jint > * T_SHS; +public: + static ::java::security::spec::DSAParameterSpec * KEY_PARAMS_512; + static ::java::security::spec::DSAParameterSpec * KEY_PARAMS_768; + static ::java::security::spec::DSAParameterSpec * KEY_PARAMS_1024; +private: + static ::java::math::BigInteger * TWO_POW_160; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) L; + ::java::security::SecureRandom * rnd; + ::java::math::BigInteger * seed; + ::java::math::BigInteger * counter; + ::java::math::BigInteger * p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * e; + ::java::math::BigInteger * g; + ::java::math::BigInteger * XKEY; + ::gnu::java::security::util::PRNG * prng; + jint preferredFormat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSKeyPairGenerator__ diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h b/libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h new file mode 100644 index 00000000000..98813dc7103 --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSKeyPairPKCS8Codec__ +#define __gnu_java_security_key_dss_DSSKeyPairPKCS8Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace key + { + namespace dss + { + class DSSKeyPairPKCS8Codec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::dss::DSSKeyPairPKCS8Codec : public ::java::lang::Object +{ + +public: + DSSKeyPairPKCS8Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); +private: + static ::java::util::logging::Logger * log; + static ::gnu::java::security::OID * DSA_ALG_OID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSKeyPairPKCS8Codec__ diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h b/libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h new file mode 100644 index 00000000000..cc22055d6dc --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSKeyPairRawCodec.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSKeyPairRawCodec__ +#define __gnu_java_security_key_dss_DSSKeyPairRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace dss + { + class DSSKeyPairRawCodec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::dss::DSSKeyPairRawCodec : public ::java::lang::Object +{ + +public: + DSSKeyPairRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSKeyPairRawCodec__ diff --git a/libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h b/libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h new file mode 100644 index 00000000000..c56ba1cf956 --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSKeyPairX509Codec.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSKeyPairX509Codec__ +#define __gnu_java_security_key_dss_DSSKeyPairX509Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace key + { + namespace dss + { + class DSSKeyPairX509Codec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::dss::DSSKeyPairX509Codec : public ::java::lang::Object +{ + +public: + DSSKeyPairX509Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); +private: + static ::gnu::java::security::OID * DSA_ALG_OID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSKeyPairX509Codec__ diff --git a/libjava/gnu/java/security/key/dss/DSSPrivateKey.h b/libjava/gnu/java/security/key/dss/DSSPrivateKey.h new file mode 100644 index 00000000000..b7816b86ac2 --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSPrivateKey.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSPrivateKey__ +#define __gnu_java_security_key_dss_DSSPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace dss + { + class DSSPrivateKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::key::dss::DSSPrivateKey : public ::gnu::java::security::key::dss::DSSKey +{ + +public: + DSSPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + DSSPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::gnu::java::security::key::dss::DSSPrivateKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getX(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::key::dss::DSSKey)))) x; + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSPrivateKey__ diff --git a/libjava/gnu/java/security/key/dss/DSSPublicKey.h b/libjava/gnu/java/security/key/dss/DSSPublicKey.h new file mode 100644 index 00000000000..bffd46237b6 --- /dev/null +++ b/libjava/gnu/java/security/key/dss/DSSPublicKey.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_DSSPublicKey__ +#define __gnu_java_security_key_dss_DSSPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace dss + { + class DSSPublicKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::key::dss::DSSPublicKey : public ::gnu::java::security::key::dss::DSSKey +{ + +public: + DSSPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + DSSPublicKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::gnu::java::security::key::dss::DSSPublicKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getY(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::key::dss::DSSKey)))) y; + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_DSSPublicKey__ diff --git a/libjava/gnu/java/security/key/dss/FIPS186.h b/libjava/gnu/java/security/key/dss/FIPS186.h new file mode 100644 index 00000000000..1b972d44843 --- /dev/null +++ b/libjava/gnu/java/security/key/dss/FIPS186.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_dss_FIPS186__ +#define __gnu_java_security_key_dss_FIPS186__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha160; + } + namespace key + { + namespace dss + { + class FIPS186; + } + } + namespace util + { + class PRNG; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class SecureRandom; + } + } +} + +class gnu::java::security::key::dss::FIPS186 : public ::java::lang::Object +{ + +public: + FIPS186(jint, ::java::security::SecureRandom *); + virtual JArray< ::java::math::BigInteger * > * generateParameters(); +private: + void nextRandomBytes(JArray< jbyte > *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); +public: + static const jint DSA_PARAMS_SEED = 0; + static const jint DSA_PARAMS_COUNTER = 1; + static const jint DSA_PARAMS_Q = 2; + static const jint DSA_PARAMS_P = 3; + static const jint DSA_PARAMS_E = 4; + static const jint DSA_PARAMS_G = 5; +private: + static ::java::math::BigInteger * TWO; + static ::java::math::BigInteger * TWO_POW_160; + ::gnu::java::security::hash::Sha160 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sha; + jint L; + ::java::security::SecureRandom * rnd; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_dss_FIPS186__ diff --git a/libjava/gnu/java/security/key/rsa/GnuRSAKey.h b/libjava/gnu/java/security/key/rsa/GnuRSAKey.h new file mode 100644 index 00000000000..77a57b0a654 --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/GnuRSAKey.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_GnuRSAKey__ +#define __gnu_java_security_key_rsa_GnuRSAKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace rsa + { + class GnuRSAKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::key::rsa::GnuRSAKey : public ::java::lang::Object +{ + +public: // actually protected + GnuRSAKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::java::math::BigInteger * getModulus(); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + virtual ::java::math::BigInteger * getN(); + virtual ::java::math::BigInteger * getPublicExponent(); + virtual ::java::math::BigInteger * getE(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual JArray< jbyte > * getEncoded(jint) = 0; +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) n; + ::java::math::BigInteger * e; +public: // actually protected + jint defaultFormat; +private: + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_GnuRSAKey__ diff --git a/libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h b/libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h new file mode 100644 index 00000000000..3033418ae07 --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/GnuRSAPrivateKey.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_GnuRSAPrivateKey__ +#define __gnu_java_security_key_rsa_GnuRSAPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace rsa + { + class GnuRSAPrivateKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::key::rsa::GnuRSAPrivateKey : public ::gnu::java::security::key::rsa::GnuRSAKey +{ + +public: + GnuRSAPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + GnuRSAPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + GnuRSAPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::gnu::java::security::key::rsa::GnuRSAPrivateKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getPrimeP(); + virtual ::java::math::BigInteger * getPrimeQ(); + virtual ::java::math::BigInteger * getPrimeExponentP(); + virtual ::java::math::BigInteger * getPrimeExponentQ(); + virtual ::java::math::BigInteger * getCrtCoefficient(); + virtual ::java::math::BigInteger * getPrivateExponent(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::key::rsa::GnuRSAKey)))) p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * d; + ::java::math::BigInteger * dP; + ::java::math::BigInteger * dQ; + ::java::math::BigInteger * qInv; + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_GnuRSAPrivateKey__ diff --git a/libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h b/libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h new file mode 100644 index 00000000000..149a685788e --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/GnuRSAPublicKey.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_GnuRSAPublicKey__ +#define __gnu_java_security_key_rsa_GnuRSAPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace rsa + { + class GnuRSAPublicKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::key::rsa::GnuRSAPublicKey : public ::gnu::java::security::key::rsa::GnuRSAKey +{ + +public: + GnuRSAPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *); + GnuRSAPublicKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::gnu::java::security::key::rsa::GnuRSAPublicKey * valueOf(JArray< jbyte > *); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::security::key::rsa::GnuRSAKey)))) str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_GnuRSAPublicKey__ diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h new file mode 100644 index 00000000000..b59d0be30a2 --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairGenerator.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_RSAKeyPairGenerator__ +#define __gnu_java_security_key_rsa_RSAKeyPairGenerator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace rsa + { + class RSAKeyPairGenerator; + } + } + namespace util + { + class PRNG; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + class SecureRandom; + } + } +} + +class gnu::java::security::key::rsa::RSAKeyPairGenerator : public ::java::lang::Object +{ + +public: + RSAKeyPairGenerator(); + virtual ::java::lang::String * name(); + virtual void setup(::java::util::Map *); + virtual ::java::security::KeyPair * generate(); +private: + void nextRandomBytes(JArray< jbyte > *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); + static ::java::util::logging::Logger * log; + static ::java::math::BigInteger * ONE; + static ::java::math::BigInteger * TWO; +public: + static ::java::lang::String * MODULUS_LENGTH; + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::String * RSA_PARAMETERS; + static ::java::lang::String * PREFERRED_ENCODING_FORMAT; +private: + static const jint DEFAULT_MODULUS_LENGTH = 1024; + static const jint DEFAULT_ENCODING_FORMAT = 1; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) L; + ::java::math::BigInteger * e; + ::java::security::SecureRandom * rnd; + ::gnu::java::security::util::PRNG * prng; + jint preferredFormat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_RSAKeyPairGenerator__ diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h new file mode 100644 index 00000000000..174fea9d432 --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_RSAKeyPairPKCS8Codec__ +#define __gnu_java_security_key_rsa_RSAKeyPairPKCS8Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace key + { + namespace rsa + { + class RSAKeyPairPKCS8Codec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::rsa::RSAKeyPairPKCS8Codec : public ::java::lang::Object +{ + +public: + RSAKeyPairPKCS8Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); +private: + static ::java::util::logging::Logger * log; + static ::gnu::java::security::OID * RSA_ALG_OID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_RSAKeyPairPKCS8Codec__ diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h new file mode 100644 index 00000000000..0715d81519d --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairRawCodec.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_RSAKeyPairRawCodec__ +#define __gnu_java_security_key_rsa_RSAKeyPairRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + namespace rsa + { + class RSAKeyPairRawCodec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::rsa::RSAKeyPairRawCodec : public ::java::lang::Object +{ + +public: + RSAKeyPairRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_RSAKeyPairRawCodec__ diff --git a/libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h b/libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h new file mode 100644 index 00000000000..53abc9e9f5d --- /dev/null +++ b/libjava/gnu/java/security/key/rsa/RSAKeyPairX509Codec.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_key_rsa_RSAKeyPairX509Codec__ +#define __gnu_java_security_key_rsa_RSAKeyPairX509Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace key + { + namespace rsa + { + class RSAKeyPairX509Codec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::key::rsa::RSAKeyPairX509Codec : public ::java::lang::Object +{ + +public: + RSAKeyPairX509Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); +private: + static ::java::util::logging::Logger * log; + static ::gnu::java::security::OID * RSA_ALG_OID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_key_rsa_RSAKeyPairX509Codec__ diff --git a/libjava/gnu/java/security/pkcs/PKCS7Data.h b/libjava/gnu/java/security/pkcs/PKCS7Data.h new file mode 100644 index 00000000000..5ec26a05f13 --- /dev/null +++ b/libjava/gnu/java/security/pkcs/PKCS7Data.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_pkcs_PKCS7Data__ +#define __gnu_java_security_pkcs_PKCS7Data__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace pkcs + { + class PKCS7Data; + } + } + } + } +} + +class gnu::java::security::pkcs::PKCS7Data : public ::java::lang::Object +{ + +public: + PKCS7Data(JArray< jbyte > *); + virtual JArray< jbyte > * getEncoded(); + static ::gnu::java::security::OID * PKCS7_DATA; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_pkcs_PKCS7Data__ diff --git a/libjava/gnu/java/security/pkcs/PKCS7SignedData.h b/libjava/gnu/java/security/pkcs/PKCS7SignedData.h new file mode 100644 index 00000000000..65b0b11e1c2 --- /dev/null +++ b/libjava/gnu/java/security/pkcs/PKCS7SignedData.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_pkcs_PKCS7SignedData__ +#define __gnu_java_security_pkcs_PKCS7SignedData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace ber + { + class BERReader; + } + namespace pkcs + { + class PKCS7Data; + class PKCS7SignedData; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace cert + { + class CRL; + class Certificate; + class X509CRL; + } + } + } +} + +class gnu::java::security::pkcs::PKCS7SignedData : public ::java::lang::Object +{ + +public: + PKCS7SignedData(::java::io::InputStream *); + PKCS7SignedData(::gnu::java::security::ber::BERReader *); + PKCS7SignedData(::java::util::Set *, ::gnu::java::security::pkcs::PKCS7Data *, JArray< ::java::security::cert::Certificate * > *, JArray< ::java::security::cert::X509CRL * > *, ::java::util::Set *); + virtual ::java::math::BigInteger * getVersion(); + virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); + virtual ::gnu::java::security::OID * getContentType(); + virtual JArray< jbyte > * getContent(); + virtual ::java::util::Set * getDigestAlgorithms(); + virtual ::java::util::Set * getSignerInfos(); + virtual void encode(::java::io::OutputStream *); +private: + static ::java::util::logging::Logger * log; +public: + static ::gnu::java::security::OID * PKCS7_SIGNED_DATA; +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) version; + ::java::util::Set * digestAlgorithms; + ::gnu::java::security::OID * contentType; + JArray< jbyte > * content; + JArray< ::java::security::cert::Certificate * > * certificates; + JArray< ::java::security::cert::CRL * > * crls; + ::java::util::Set * signerInfos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_pkcs_PKCS7SignedData__ diff --git a/libjava/gnu/java/security/pkcs/SignerInfo.h b/libjava/gnu/java/security/pkcs/SignerInfo.h new file mode 100644 index 00000000000..5a020cff7d4 --- /dev/null +++ b/libjava/gnu/java/security/pkcs/SignerInfo.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_pkcs_SignerInfo__ +#define __gnu_java_security_pkcs_SignerInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace ber + { + class BERReader; + } + namespace pkcs + { + class SignerInfo; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class gnu::java::security::pkcs::SignerInfo : public ::java::lang::Object +{ + +public: + SignerInfo(::gnu::java::security::ber::BERReader *); + SignerInfo(::javax::security::auth::x500::X500Principal *, ::java::math::BigInteger *, ::gnu::java::security::OID *, JArray< jbyte > *, ::gnu::java::security::OID *, JArray< jbyte > *, JArray< jbyte > *); + virtual ::java::math::BigInteger * getVersion(); + virtual ::java::math::BigInteger * getSerialNumber(); + virtual ::javax::security::auth::x500::X500Principal * getIssuer(); + virtual ::gnu::java::security::OID * getDigestAlgorithmId(); + virtual JArray< jbyte > * getDigestAlgorithmParams(); + virtual JArray< jbyte > * getAuthenticatedAttributes(); + virtual ::gnu::java::security::OID * getDigestEncryptionAlgorithmId(); + virtual JArray< jbyte > * getDigestEncryptionAlgorithmParams(); + virtual JArray< jbyte > * getEncryptedDigest(); + virtual JArray< jbyte > * getUnauthenticatedAttributes(); + virtual void encode(::java::io::OutputStream *); +private: + static ::java::util::logging::Logger * log; + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) version; + ::java::math::BigInteger * serialNumber; + ::javax::security::auth::x500::X500Principal * issuer; + ::gnu::java::security::OID * digestAlgorithmId; + JArray< jbyte > * digestAlgorithmParams; + JArray< jbyte > * authenticatedAttributes; + ::gnu::java::security::OID * digestEncryptionAlgorithmId; + JArray< jbyte > * digestEncryptionAlgorithmParams; + JArray< jbyte > * encryptedDigest; + JArray< jbyte > * unauthenticatedAttributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_pkcs_SignerInfo__ diff --git a/libjava/gnu/java/security/prng/BasePRNG.h b/libjava/gnu/java/security/prng/BasePRNG.h new file mode 100644 index 00000000000..4b20623ef84 --- /dev/null +++ b/libjava/gnu/java/security/prng/BasePRNG.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_BasePRNG__ +#define __gnu_java_security_prng_BasePRNG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class BasePRNG; + } + } + } + } +} + +class gnu::java::security::prng::BasePRNG : public ::java::lang::Object +{ + +public: // actually protected + BasePRNG(::java::lang::String *); +public: + virtual ::java::lang::String * name(); + virtual void init(::java::util::Map *); + virtual jbyte nextByte(); + virtual void nextBytes(JArray< jbyte > *); + virtual void nextBytes(JArray< jbyte > *, jint, jint); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); + virtual jboolean isInitialised(); +private: + jbyte nextByteInternal(); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(::java::util::Map *) = 0; + virtual void fillBlock() = 0; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jboolean initialised; + JArray< jbyte > * buffer; + jint ndx; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_prng_BasePRNG__ diff --git a/libjava/gnu/java/security/prng/EntropySource.h b/libjava/gnu/java/security/prng/EntropySource.h new file mode 100644 index 00000000000..8f7377ac8a4 --- /dev/null +++ b/libjava/gnu/java/security/prng/EntropySource.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_EntropySource__ +#define __gnu_java_security_prng_EntropySource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class EntropySource; + } + } + } + } +} + +class gnu::java::security::prng::EntropySource : public ::java::lang::Object +{ + +public: + virtual jdouble quality() = 0; + virtual JArray< jbyte > * nextBytes() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_prng_EntropySource__ diff --git a/libjava/gnu/java/security/prng/IRandom.h b/libjava/gnu/java/security/prng/IRandom.h new file mode 100644 index 00000000000..54a7373f64c --- /dev/null +++ b/libjava/gnu/java/security/prng/IRandom.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_IRandom__ +#define __gnu_java_security_prng_IRandom__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + } +} + +class gnu::java::security::prng::IRandom : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual void init(::java::util::Map *) = 0; + virtual jbyte nextByte() = 0; + virtual void nextBytes(JArray< jbyte > *, jint, jint) = 0; + virtual void addRandomByte(jbyte) = 0; + virtual void addRandomBytes(JArray< jbyte > *) = 0; + virtual void addRandomBytes(JArray< jbyte > *, jint, jint) = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_prng_IRandom__ diff --git a/libjava/gnu/java/security/prng/LimitReachedException.h b/libjava/gnu/java/security/prng/LimitReachedException.h new file mode 100644 index 00000000000..3dede836ce9 --- /dev/null +++ b/libjava/gnu/java/security/prng/LimitReachedException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_LimitReachedException__ +#define __gnu_java_security_prng_LimitReachedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class LimitReachedException; + } + } + } + } +} + +class gnu::java::security::prng::LimitReachedException : public ::java::lang::Exception +{ + +public: + LimitReachedException(); + LimitReachedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_prng_LimitReachedException__ diff --git a/libjava/gnu/java/security/prng/MDGenerator.h b/libjava/gnu/java/security/prng/MDGenerator.h new file mode 100644 index 00000000000..d14566c8943 --- /dev/null +++ b/libjava/gnu/java/security/prng/MDGenerator.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_MDGenerator__ +#define __gnu_java_security_prng_MDGenerator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace prng + { + class MDGenerator; + } + } + } + } +} + +class gnu::java::security::prng::MDGenerator : public ::gnu::java::security::prng::BasePRNG +{ + +public: + MDGenerator(); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); + virtual ::java::lang::Object * clone(); + static ::java::lang::String * MD_NAME; + static ::java::lang::String * SEEED; +private: + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) md; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_prng_MDGenerator__ diff --git a/libjava/gnu/java/security/prng/PRNGFactory.h b/libjava/gnu/java/security/prng/PRNGFactory.h new file mode 100644 index 00000000000..a1e3f28cd79 --- /dev/null +++ b/libjava/gnu/java/security/prng/PRNGFactory.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_PRNGFactory__ +#define __gnu_java_security_prng_PRNGFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + class PRNGFactory; + } + } + } + } +} + +class gnu::java::security::prng::PRNGFactory : public ::java::lang::Object +{ + +public: // actually protected + PRNGFactory(); +public: + static ::gnu::java::security::prng::IRandom * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_prng_PRNGFactory__ diff --git a/libjava/gnu/java/security/prng/RandomEvent.h b/libjava/gnu/java/security/prng/RandomEvent.h new file mode 100644 index 00000000000..2b26396339f --- /dev/null +++ b/libjava/gnu/java/security/prng/RandomEvent.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_RandomEvent__ +#define __gnu_java_security_prng_RandomEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class RandomEvent; + } + } + } + } +} + +class gnu::java::security::prng::RandomEvent : public ::java::util::EventObject +{ + +public: + RandomEvent(::java::lang::Object *, jbyte, jbyte, JArray< jbyte > *); + virtual jbyte getSourceNumber(); + virtual jbyte getPoolNumber(); + virtual JArray< jbyte > * getData(); +private: + jbyte __attribute__((aligned(__alignof__( ::java::util::EventObject)))) sourceNumber; + jbyte poolNumber; + JArray< jbyte > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_prng_RandomEvent__ diff --git a/libjava/gnu/java/security/prng/RandomEventListener.h b/libjava/gnu/java/security/prng/RandomEventListener.h new file mode 100644 index 00000000000..5aef74becb3 --- /dev/null +++ b/libjava/gnu/java/security/prng/RandomEventListener.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_prng_RandomEventListener__ +#define __gnu_java_security_prng_RandomEventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class RandomEvent; + class RandomEventListener; + } + } + } + } +} + +class gnu::java::security::prng::RandomEventListener : public ::java::lang::Object +{ + +public: + virtual void addRandomEvent(::gnu::java::security::prng::RandomEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_prng_RandomEventListener__ diff --git a/libjava/gnu/java/security/provider/CollectionCertStoreImpl.h b/libjava/gnu/java/security/provider/CollectionCertStoreImpl.h new file mode 100644 index 00000000000..947bfe5bef9 --- /dev/null +++ b/libjava/gnu/java/security/provider/CollectionCertStoreImpl.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_provider_CollectionCertStoreImpl__ +#define __gnu_java_security_provider_CollectionCertStoreImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace provider + { + class CollectionCertStoreImpl; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class CRLSelector; + class CertSelector; + class CertStoreParameters; + } + } + } +} + +class gnu::java::security::provider::CollectionCertStoreImpl : public ::java::security::cert::CertStoreSpi +{ + +public: + CollectionCertStoreImpl(::java::security::cert::CertStoreParameters *); + ::java::util::Collection * engineGetCertificates(::java::security::cert::CertSelector *); + ::java::util::Collection * engineGetCRLs(::java::security::cert::CRLSelector *); +private: + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::security::cert::CertStoreSpi)))) store; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_provider_CollectionCertStoreImpl__ diff --git a/libjava/gnu/java/security/provider/DefaultPolicy.h b/libjava/gnu/java/security/provider/DefaultPolicy.h new file mode 100644 index 00000000000..b2259548494 --- /dev/null +++ b/libjava/gnu/java/security/provider/DefaultPolicy.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_provider_DefaultPolicy__ +#define __gnu_java_security_provider_DefaultPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace provider + { + class DefaultPolicy; + } + } + } + } + namespace java + { + namespace security + { + class CodeSource; + class Permission; + class PermissionCollection; + } + } +} + +class gnu::java::security::provider::DefaultPolicy : public ::java::security::Policy +{ + +public: + DefaultPolicy(); + virtual ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *); + virtual void refresh(); +public: // actually package-private + static ::java::security::Permission * allPermission; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_provider_DefaultPolicy__ diff --git a/libjava/gnu/java/security/provider/Gnu$1.h b/libjava/gnu/java/security/provider/Gnu$1.h new file mode 100644 index 00000000000..6bcea38e593 --- /dev/null +++ b/libjava/gnu/java/security/provider/Gnu$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_provider_Gnu$1__ +#define __gnu_java_security_provider_Gnu$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace provider + { + class Gnu; + class Gnu$1; + } + } + } + } +} + +class gnu::java::security::provider::Gnu$1 : public ::java::lang::Object +{ + +public: // actually package-private + Gnu$1(::gnu::java::security::provider::Gnu *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::java::security::provider::Gnu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_provider_Gnu$1__ diff --git a/libjava/gnu/java/security/provider/Gnu.h b/libjava/gnu/java/security/provider/Gnu.h new file mode 100644 index 00000000000..78c78faa771 --- /dev/null +++ b/libjava/gnu/java/security/provider/Gnu.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_provider_Gnu__ +#define __gnu_java_security_provider_Gnu__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace provider + { + class Gnu; + } + } + } + } +} + +class gnu::java::security::provider::Gnu : public ::java::security::Provider +{ + +public: + Gnu(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_provider_Gnu__ diff --git a/libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h b/libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h new file mode 100644 index 00000000000..196a93a9acd --- /dev/null +++ b/libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_provider_PKIXCertPathValidatorImpl__ +#define __gnu_java_security_provider_PKIXCertPathValidatorImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace provider + { + class PKIXCertPathValidatorImpl; + } + namespace x509 + { + class PolicyNodeImpl; + } + } + } + } + namespace java + { + namespace security + { + class PublicKey; + namespace cert + { + class CertPath; + class CertPathParameters; + class CertPathValidatorResult; + class PKIXParameters; + class X509CRL; + class X509Certificate; + } + } + } +} + +class gnu::java::security::provider::PKIXCertPathValidatorImpl : public ::java::security::cert::CertPathValidatorSpi +{ + +public: + PKIXCertPathValidatorImpl(); + virtual ::java::security::cert::CertPathValidatorResult * engineValidate(::java::security::cert::CertPath *, ::java::security::cert::CertPathParameters *); +private: + static jboolean checkCRL(::java::security::cert::X509CRL *, JArray< ::java::security::cert::X509Certificate * > *, ::java::util::Date *, ::java::security::cert::X509Certificate *, ::java::security::PublicKey *, ::java::util::List *); + static ::java::util::Set * getCritExts(::java::security::cert::X509Certificate *); + static void basicSanity(JArray< ::java::security::cert::X509Certificate * > *, jint); + static void updatePolicyTree(::java::security::cert::X509Certificate *, ::gnu::java::security::x509::PolicyNodeImpl *, jint, ::java::security::cert::PKIXParameters *, jboolean); + jboolean checkExplicitPolicy(jint, ::java::util::List *); + static ::java::util::logging::Logger * log; +public: + static ::java::lang::String * ANY_POLICY; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_provider_PKIXCertPathValidatorImpl__ diff --git a/libjava/gnu/java/security/provider/X509CertificateFactory.h b/libjava/gnu/java/security/provider/X509CertificateFactory.h new file mode 100644 index 00000000000..67fdd90676a --- /dev/null +++ b/libjava/gnu/java/security/provider/X509CertificateFactory.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_provider_X509CertificateFactory__ +#define __gnu_java_security_provider_X509CertificateFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace provider + { + class X509CertificateFactory; + } + namespace x509 + { + class X509CRL; + class X509Certificate; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class CRL; + class CertPath; + class Certificate; + } + } + } +} + +class gnu::java::security::provider::X509CertificateFactory : public ::java::security::cert::CertificateFactorySpi +{ + +public: + X509CertificateFactory(); + virtual ::java::security::cert::Certificate * engineGenerateCertificate(::java::io::InputStream *); + virtual ::java::util::Collection * engineGenerateCertificates(::java::io::InputStream *); + virtual ::java::security::cert::CRL * engineGenerateCRL(::java::io::InputStream *); + virtual ::java::util::Collection * engineGenerateCRLs(::java::io::InputStream *); + virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::util::List *); + virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::io::InputStream *); + virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::io::InputStream *, ::java::lang::String *); + virtual ::java::util::Iterator * engineGetCertPathEncodings(); +private: + ::gnu::java::security::x509::X509Certificate * generateCert(::java::io::InputStream *); + ::gnu::java::security::x509::X509CRL * generateCRL(::java::io::InputStream *); +public: + static ::java::lang::String * BEGIN_CERTIFICATE; + static ::java::lang::String * END_CERTIFICATE; + static ::java::lang::String * BEGIN_X509_CRL; + static ::java::lang::String * END_X509_CRL; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_provider_X509CertificateFactory__ diff --git a/libjava/gnu/java/security/sig/BaseSignature.h b/libjava/gnu/java/security/sig/BaseSignature.h new file mode 100644 index 00000000000..2f4ab0e9844 --- /dev/null +++ b/libjava/gnu/java/security/sig/BaseSignature.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_BaseSignature__ +#define __gnu_java_security_sig_BaseSignature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace prng + { + class IRandom; + } + namespace sig + { + class BaseSignature; + } + namespace util + { + class PRNG; + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::sig::BaseSignature : public ::java::lang::Object +{ + +public: // actually protected + BaseSignature(::java::lang::String *, ::gnu::java::security::hash::IMessageDigest *); +public: + virtual ::java::lang::String * name(); + virtual void setupVerify(::java::util::Map *); + virtual void setupSign(::java::util::Map *); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual ::java::lang::Object * sign(); + virtual jboolean verify(::java::lang::Object *); + virtual ::java::lang::Object * clone() = 0; +public: // actually protected + virtual void setupForVerification(::java::security::PublicKey *) = 0; + virtual void setupForSigning(::java::security::PrivateKey *) = 0; + virtual ::java::lang::Object * generateSignature() = 0; + virtual jboolean verifySignature(::java::lang::Object *) = 0; + virtual void init(); + virtual void nextRandomBytes(JArray< jbyte > *); +private: + void setup(::java::util::Map *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) schemeName; + ::gnu::java::security::hash::IMessageDigest * md; + ::java::security::PublicKey * publicKey; + ::java::security::PrivateKey * privateKey; +private: + ::java::util::Random * rnd; + ::gnu::java::security::prng::IRandom * irnd; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_BaseSignature__ diff --git a/libjava/gnu/java/security/sig/ISignature.h b/libjava/gnu/java/security/sig/ISignature.h new file mode 100644 index 00000000000..b02f28f5f3e --- /dev/null +++ b/libjava/gnu/java/security/sig/ISignature.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_ISignature__ +#define __gnu_java_security_sig_ISignature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + class ISignature; + } + } + } + } +} + +class gnu::java::security::sig::ISignature : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual void setupVerify(::java::util::Map *) = 0; + virtual void setupSign(::java::util::Map *) = 0; + virtual void update(jbyte) = 0; + virtual void update(JArray< jbyte > *, jint, jint) = 0; + virtual ::java::lang::Object * sign() = 0; + virtual jboolean verify(::java::lang::Object *) = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::String * VERIFIER_KEY; + static ::java::lang::String * SIGNER_KEY; + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_sig_ISignature__ diff --git a/libjava/gnu/java/security/sig/ISignatureCodec.h b/libjava/gnu/java/security/sig/ISignatureCodec.h new file mode 100644 index 00000000000..8924c122493 --- /dev/null +++ b/libjava/gnu/java/security/sig/ISignatureCodec.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_ISignatureCodec__ +#define __gnu_java_security_sig_ISignatureCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + class ISignatureCodec; + } + } + } + } +} + +class gnu::java::security::sig::ISignatureCodec : public ::java::lang::Object +{ + +public: + virtual jint getFormatID() = 0; + virtual JArray< jbyte > * encodeSignature(::java::lang::Object *) = 0; + virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *) = 0; + static const jint RAW_FORMAT = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_sig_ISignatureCodec__ diff --git a/libjava/gnu/java/security/sig/SignatureCodecFactory.h b/libjava/gnu/java/security/sig/SignatureCodecFactory.h new file mode 100644 index 00000000000..56295cbe340 --- /dev/null +++ b/libjava/gnu/java/security/sig/SignatureCodecFactory.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_SignatureCodecFactory__ +#define __gnu_java_security_sig_SignatureCodecFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + class ISignatureCodec; + class SignatureCodecFactory; + } + } + } + } +} + +class gnu::java::security::sig::SignatureCodecFactory : public ::java::lang::Object +{ + + SignatureCodecFactory(); +public: + static ::gnu::java::security::sig::ISignatureCodec * getInstance(::java::lang::String *); + static ::gnu::java::security::sig::ISignatureCodec * getInstance(::java::lang::String *, ::java::lang::String *); + static ::gnu::java::security::sig::ISignatureCodec * getInstance(::java::lang::String *, jint); + static ::java::util::Set * getNames(); +private: + static ::gnu::java::security::sig::ISignatureCodec * getRawCodec(::java::lang::String *); + static ::gnu::java::security::sig::ISignatureCodec * getX509Codec(::java::lang::String *); + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_SignatureCodecFactory__ diff --git a/libjava/gnu/java/security/sig/SignatureFactory.h b/libjava/gnu/java/security/sig/SignatureFactory.h new file mode 100644 index 00000000000..344c34c84da --- /dev/null +++ b/libjava/gnu/java/security/sig/SignatureFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_SignatureFactory__ +#define __gnu_java_security_sig_SignatureFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + class ISignature; + class SignatureFactory; + } + } + } + } +} + +class gnu::java::security::sig::SignatureFactory : public ::java::lang::Object +{ + + SignatureFactory(); +public: + static ::gnu::java::security::sig::ISignature * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); +private: + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_SignatureFactory__ diff --git a/libjava/gnu/java/security/sig/dss/DSSSignature.h b/libjava/gnu/java/security/sig/dss/DSSSignature.h new file mode 100644 index 00000000000..96781ef3d1b --- /dev/null +++ b/libjava/gnu/java/security/sig/dss/DSSSignature.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_dss_DSSSignature__ +#define __gnu_java_security_sig_dss_DSSSignature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + namespace sig + { + namespace dss + { + class DSSSignature; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class PrivateKey; + class PublicKey; + namespace interfaces + { + class DSAPrivateKey; + class DSAPublicKey; + } + } + } +} + +class gnu::java::security::sig::dss::DSSSignature : public ::gnu::java::security::sig::BaseSignature +{ + +public: + DSSSignature(); +private: + DSSSignature(::gnu::java::security::sig::dss::DSSSignature *); +public: + static JArray< ::java::math::BigInteger * > * sign(::java::security::interfaces::DSAPrivateKey *, JArray< jbyte > *); + static JArray< ::java::math::BigInteger * > * sign(::java::security::interfaces::DSAPrivateKey *, JArray< jbyte > *, ::java::util::Random *); + static JArray< ::java::math::BigInteger * > * sign(::java::security::interfaces::DSAPrivateKey *, JArray< jbyte > *, ::gnu::java::security::prng::IRandom *); + static jboolean verify(::java::security::interfaces::DSAPublicKey *, JArray< jbyte > *, JArray< ::java::math::BigInteger * > *); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void setupForVerification(::java::security::PublicKey *); + virtual void setupForSigning(::java::security::PrivateKey *); + virtual ::java::lang::Object * generateSignature(); + virtual jboolean verifySignature(::java::lang::Object *); +private: + ::java::lang::Object * encodeSignature(::java::math::BigInteger *, ::java::math::BigInteger *); + JArray< ::java::math::BigInteger * > * decodeSignature(::java::lang::Object *); + JArray< ::java::math::BigInteger * > * computeRS(JArray< jbyte > *); + jboolean checkRS(JArray< ::java::math::BigInteger * > *, JArray< jbyte > *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_dss_DSSSignature__ diff --git a/libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h b/libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h new file mode 100644 index 00000000000..5229cdd311a --- /dev/null +++ b/libjava/gnu/java/security/sig/dss/DSSSignatureRawCodec.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_dss_DSSSignatureRawCodec__ +#define __gnu_java_security_sig_dss_DSSSignatureRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace dss + { + class DSSSignatureRawCodec; + } + } + } + } + } +} + +class gnu::java::security::sig::dss::DSSSignatureRawCodec : public ::java::lang::Object +{ + +public: + DSSSignatureRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodeSignature(::java::lang::Object *); + virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_dss_DSSSignatureRawCodec__ diff --git a/libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h b/libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h new file mode 100644 index 00000000000..d7428b37c8c --- /dev/null +++ b/libjava/gnu/java/security/sig/dss/DSSSignatureX509Codec.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_dss_DSSSignatureX509Codec__ +#define __gnu_java_security_sig_dss_DSSSignatureX509Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace dss + { + class DSSSignatureX509Codec; + } + } + } + } + } +} + +class gnu::java::security::sig::dss::DSSSignatureX509Codec : public ::java::lang::Object +{ + +public: + DSSSignatureX509Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodeSignature(::java::lang::Object *); + virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_dss_DSSSignatureX509Codec__ diff --git a/libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h b/libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h new file mode 100644 index 00000000000..a0c3987ab31 --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/EME_PKCS1_V1_5.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_EME_PKCS1_V1_5__ +#define __gnu_java_security_sig_rsa_EME_PKCS1_V1_5__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + namespace sig + { + namespace rsa + { + class EME_PKCS1_V1_5; + } + } + namespace util + { + class PRNG; + } + } + } + } + namespace java + { + namespace security + { + namespace interfaces + { + class RSAKey; + } + } + } +} + +class gnu::java::security::sig::rsa::EME_PKCS1_V1_5 : public ::java::lang::Object +{ + + EME_PKCS1_V1_5(jint); +public: + static ::gnu::java::security::sig::rsa::EME_PKCS1_V1_5 * getInstance(jint); + static ::gnu::java::security::sig::rsa::EME_PKCS1_V1_5 * getInstance(::java::security::interfaces::RSAKey *); + virtual JArray< jbyte > * encode(JArray< jbyte > *); + virtual JArray< jbyte > * encode(JArray< jbyte > *, ::gnu::java::security::prng::IRandom *); + virtual JArray< jbyte > * encode(JArray< jbyte > *, ::java::util::Random *); + virtual JArray< jbyte > * decode(JArray< jbyte > *); +private: + JArray< jbyte > * assembleEM(JArray< jbyte > *, JArray< jbyte > *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) k; + ::java::io::ByteArrayOutputStream * baos; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_EME_PKCS1_V1_5__ diff --git a/libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h b/libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h new file mode 100644 index 00000000000..780e29d8a6b --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_EMSA_PKCS1_V1_5__ +#define __gnu_java_security_sig_rsa_EMSA_PKCS1_V1_5__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace sig + { + namespace rsa + { + class EMSA_PKCS1_V1_5; + } + } + } + } + } +} + +class gnu::java::security::sig::rsa::EMSA_PKCS1_V1_5 : public ::java::lang::Object +{ + + EMSA_PKCS1_V1_5(::gnu::java::security::hash::IMessageDigest *); +public: + static ::gnu::java::security::sig::rsa::EMSA_PKCS1_V1_5 * getInstance(::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual JArray< jbyte > * encode(JArray< jbyte > *, jint); +private: + static JArray< jbyte > * MD2_PREFIX; + static JArray< jbyte > * MD5_PREFIX; + static JArray< jbyte > * SHA160_PREFIX; + static JArray< jbyte > * SHA256_PREFIX; + static JArray< jbyte > * SHA384_PREFIX; + static JArray< jbyte > * SHA512_PREFIX; + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hash; + jint hLen; + JArray< jbyte > * prefix; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_EMSA_PKCS1_V1_5__ diff --git a/libjava/gnu/java/security/sig/rsa/EMSA_PSS.h b/libjava/gnu/java/security/sig/rsa/EMSA_PSS.h new file mode 100644 index 00000000000..3a850323316 --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/EMSA_PSS.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_EMSA_PSS__ +#define __gnu_java_security_sig_rsa_EMSA_PSS__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace sig + { + namespace rsa + { + class EMSA_PSS; + } + } + } + } + } +} + +class gnu::java::security::sig::rsa::EMSA_PSS : public ::java::lang::Object +{ + + EMSA_PSS(::gnu::java::security::hash::IMessageDigest *); +public: + static ::gnu::java::security::sig::rsa::EMSA_PSS * getInstance(::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual JArray< jbyte > * encode(JArray< jbyte > *, jint, JArray< jbyte > *); + virtual jboolean decode(JArray< jbyte > *, JArray< jbyte > *, jint, jint); +private: + JArray< jbyte > * MGF(JArray< jbyte > *, jint); + static ::java::util::logging::Logger * log; + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hash; + jint hLen; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_EMSA_PSS__ diff --git a/libjava/gnu/java/security/sig/rsa/RSA.h b/libjava/gnu/java/security/sig/rsa/RSA.h new file mode 100644 index 00000000000..5ad5114911c --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSA.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSA__ +#define __gnu_java_security_sig_rsa_RSA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace rsa + { + class RSA; + } + } + namespace util + { + class PRNG; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class PrivateKey; + class PublicKey; + namespace interfaces + { + class RSAPrivateKey; + class RSAPublicKey; + } + } + } +} + +class gnu::java::security::sig::rsa::RSA : public ::java::lang::Object +{ + + RSA(); +public: + static ::java::math::BigInteger * sign(::java::security::PrivateKey *, ::java::math::BigInteger *); + static ::java::math::BigInteger * verify(::java::security::PublicKey *, ::java::math::BigInteger *); + static ::java::math::BigInteger * encrypt(::java::security::PublicKey *, ::java::math::BigInteger *); + static ::java::math::BigInteger * decrypt(::java::security::PrivateKey *, ::java::math::BigInteger *); + static JArray< jbyte > * I2OSP(::java::math::BigInteger *, jint); +private: + static ::java::math::BigInteger * RSAEP(::java::security::interfaces::RSAPublicKey *, ::java::math::BigInteger *); + static ::java::math::BigInteger * RSADP(::java::security::interfaces::RSAPrivateKey *, ::java::math::BigInteger *); + static ::java::math::BigInteger * newR(::java::math::BigInteger *); + static ::java::math::BigInteger * ZERO; + static ::java::math::BigInteger * ONE; + static ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSA__ diff --git a/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h new file mode 100644 index 00000000000..082229302bb --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5Signature__ +#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5Signature__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace sig + { + namespace rsa + { + class EMSA_PKCS1_V1_5; + class RSAPKCS1V1_5Signature; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::sig::rsa::RSAPKCS1V1_5Signature : public ::gnu::java::security::sig::BaseSignature +{ + +public: + RSAPKCS1V1_5Signature(); + RSAPKCS1V1_5Signature(::java::lang::String *); + RSAPKCS1V1_5Signature(::gnu::java::security::hash::IMessageDigest *); +private: + RSAPKCS1V1_5Signature(::gnu::java::security::sig::rsa::RSAPKCS1V1_5Signature *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void setupForVerification(::java::security::PublicKey *); + virtual void setupForSigning(::java::security::PrivateKey *); + virtual ::java::lang::Object * generateSignature(); + virtual jboolean verifySignature(::java::lang::Object *); +private: + ::gnu::java::security::sig::rsa::EMSA_PKCS1_V1_5 * __attribute__((aligned(__alignof__( ::gnu::java::security::sig::BaseSignature)))) pkcs1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5Signature__ diff --git a/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h new file mode 100644 index 00000000000..2fe018f9ef5 --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__ +#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace rsa + { + class RSAPKCS1V1_5SignatureRawCodec; + } + } + } + } + } +} + +class gnu::java::security::sig::rsa::RSAPKCS1V1_5SignatureRawCodec : public ::java::lang::Object +{ + +public: + RSAPKCS1V1_5SignatureRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodeSignature(::java::lang::Object *); + virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureRawCodec__ diff --git a/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h new file mode 100644 index 00000000000..4e9da2abc32 --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureX509Codec__ +#define __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureX509Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace rsa + { + class RSAPKCS1V1_5SignatureX509Codec; + } + } + } + } + } +} + +class gnu::java::security::sig::rsa::RSAPKCS1V1_5SignatureX509Codec : public ::java::lang::Object +{ + +public: + RSAPKCS1V1_5SignatureX509Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodeSignature(::java::lang::Object *); + virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSAPKCS1V1_5SignatureX509Codec__ diff --git a/libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h b/libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h new file mode 100644 index 00000000000..4360889721c --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSAPSSSignature.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSAPSSSignature__ +#define __gnu_java_security_sig_rsa_RSAPSSSignature__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace sig + { + namespace rsa + { + class EMSA_PSS; + class RSAPSSSignature; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::java::security::sig::rsa::RSAPSSSignature : public ::gnu::java::security::sig::BaseSignature +{ + +public: + RSAPSSSignature(); + RSAPSSSignature(::java::lang::String *); + RSAPSSSignature(::java::lang::String *, jint); + RSAPSSSignature(::gnu::java::security::hash::IMessageDigest *, jint); +private: + RSAPSSSignature(::gnu::java::security::sig::rsa::RSAPSSSignature *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void setupForVerification(::java::security::PublicKey *); + virtual void setupForSigning(::java::security::PrivateKey *); + virtual ::java::lang::Object * generateSignature(); + virtual jboolean verifySignature(::java::lang::Object *); +private: + static ::java::util::logging::Logger * log; + ::gnu::java::security::sig::rsa::EMSA_PSS * __attribute__((aligned(__alignof__( ::gnu::java::security::sig::BaseSignature)))) pss; + jint sLen; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSAPSSSignature__ diff --git a/libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h b/libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h new file mode 100644 index 00000000000..a7efde3400f --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSAPSSSignatureRawCodec__ +#define __gnu_java_security_sig_rsa_RSAPSSSignatureRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace rsa + { + class RSAPSSSignatureRawCodec; + } + } + } + } + } +} + +class gnu::java::security::sig::rsa::RSAPSSSignatureRawCodec : public ::java::lang::Object +{ + +public: + RSAPSSSignatureRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodeSignature(::java::lang::Object *); + virtual ::java::lang::Object * decodeSignature(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSAPSSSignatureRawCodec__ diff --git a/libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h b/libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h new file mode 100644 index 00000000000..c8b9b24973d --- /dev/null +++ b/libjava/gnu/java/security/sig/rsa/RSASignatureFactory.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_sig_rsa_RSASignatureFactory__ +#define __gnu_java_security_sig_rsa_RSASignatureFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + class ISignature; + namespace rsa + { + class RSASignatureFactory; + } + } + } + } + } +} + +class gnu::java::security::sig::rsa::RSASignatureFactory : public ::java::lang::Object +{ + + RSASignatureFactory(); +public: + static ::gnu::java::security::sig::ISignature * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); +private: + static ::gnu::java::security::sig::ISignature * getPSSSignature(::java::lang::String *); + static ::gnu::java::security::sig::ISignature * getPKCS1Signature(::java::lang::String *); + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_sig_rsa_RSASignatureFactory__ diff --git a/libjava/gnu/java/security/util/Base64.h b/libjava/gnu/java/security/util/Base64.h new file mode 100644 index 00000000000..e75b6b57b06 --- /dev/null +++ b/libjava/gnu/java/security/util/Base64.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_Base64__ +#define __gnu_java_security_util_Base64__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class Base64; + } + } + } + } +} + +class gnu::java::security::util::Base64 : public ::java::lang::Object +{ + + Base64(); +public: + static ::java::lang::String * encode(JArray< jbyte > *); + static ::java::lang::String * encode(JArray< jbyte > *, jint, jint, jboolean); + static JArray< jbyte > * decode(::java::lang::String *); + static JArray< jbyte > * decode(JArray< jbyte > *, jint, jint); +private: + static JArray< jbyte > * encode3to4(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + static jint decode4to3(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + static ::java::util::logging::Logger * log; + static const jint MAX_LINE_LENGTH = 76; + static const jbyte NEW_LINE = 10; + static const jbyte EQUALS_SIGN = 61; + static const jbyte WHITE_SPACE_ENC = -5; + static const jbyte EQUALS_SIGN_ENC = -1; + static JArray< jbyte > * ALPHABET; + static JArray< jbyte > * DECODABET; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_Base64__ diff --git a/libjava/gnu/java/security/util/ByteArray.h b/libjava/gnu/java/security/util/ByteArray.h new file mode 100644 index 00000000000..6eef185dc4f --- /dev/null +++ b/libjava/gnu/java/security/util/ByteArray.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_ByteArray__ +#define __gnu_java_security_util_ByteArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class ByteArray; + } + } + } + } +} + +class gnu::java::security::util::ByteArray : public ::java::lang::Object +{ + +public: + ByteArray(JArray< jbyte > *); + JArray< jbyte > * getValue(); + ::java::lang::String * toString(); + static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar); + static ::java::lang::String * formatInt(jint, jint, jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_ByteArray__ diff --git a/libjava/gnu/java/security/util/ByteBufferOutputStream.h b/libjava/gnu/java/security/util/ByteBufferOutputStream.h new file mode 100644 index 00000000000..cfb43d39953 --- /dev/null +++ b/libjava/gnu/java/security/util/ByteBufferOutputStream.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_ByteBufferOutputStream__ +#define __gnu_java_security_util_ByteBufferOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class ByteBufferOutputStream; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::java::security::util::ByteBufferOutputStream : public ::java::io::OutputStream +{ + +public: + ByteBufferOutputStream(); + ByteBufferOutputStream(jint); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(JArray< jbyte > *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::lang::String * toString(); +private: + void growBuffer(); + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_ByteBufferOutputStream__ diff --git a/libjava/gnu/java/security/util/DerUtil.h b/libjava/gnu/java/security/util/DerUtil.h new file mode 100644 index 00000000000..42ec67e7e5a --- /dev/null +++ b/libjava/gnu/java/security/util/DerUtil.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_DerUtil__ +#define __gnu_java_security_util_DerUtil__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace der + { + class DERValue; + } + namespace util + { + class DerUtil; + } + } + } + } +} + +class gnu::java::security::util::DerUtil : public ::java::lang::Object +{ + +public: + DerUtil(); + static void checkIsConstructed(::gnu::java::security::der::DERValue *, ::java::lang::String *); + static void checkIsBigInteger(::gnu::java::security::der::DERValue *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_DerUtil__ diff --git a/libjava/gnu/java/security/util/ExpirableObject$Destroyer.h b/libjava/gnu/java/security/util/ExpirableObject$Destroyer.h new file mode 100644 index 00000000000..8d39fbb7d6c --- /dev/null +++ b/libjava/gnu/java/security/util/ExpirableObject$Destroyer.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_ExpirableObject$Destroyer__ +#define __gnu_java_security_util_ExpirableObject$Destroyer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class ExpirableObject; + class ExpirableObject$Destroyer; + } + } + } + } +} + +class gnu::java::security::util::ExpirableObject$Destroyer : public ::java::util::TimerTask +{ + +public: // actually package-private + ExpirableObject$Destroyer(::gnu::java::security::util::ExpirableObject *, ::gnu::java::security::util::ExpirableObject *); +public: + void run(); +private: + ::gnu::java::security::util::ExpirableObject * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) target; +public: // actually package-private + ::gnu::java::security::util::ExpirableObject * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_ExpirableObject$Destroyer__ diff --git a/libjava/gnu/java/security/util/ExpirableObject.h b/libjava/gnu/java/security/util/ExpirableObject.h new file mode 100644 index 00000000000..094dc718acb --- /dev/null +++ b/libjava/gnu/java/security/util/ExpirableObject.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_ExpirableObject__ +#define __gnu_java_security_util_ExpirableObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class ExpirableObject; + class ExpirableObject$Destroyer; + } + } + } + } +} + +class gnu::java::security::util::ExpirableObject : public ::java::lang::Object +{ + +public: // actually protected + ExpirableObject(); + ExpirableObject(jlong); +public: + virtual void destroy(); +public: // actually protected + virtual void doDestroy() = 0; +public: + virtual jboolean isDestroyed() = 0; + static const jlong DEFAULT_TIMEOUT = 3600000LL; +private: + static ::java::util::Timer * EXPIRER; + ::gnu::java::security::util::ExpirableObject$Destroyer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) destroyer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_ExpirableObject__ diff --git a/libjava/gnu/java/security/util/FormatUtil.h b/libjava/gnu/java/security/util/FormatUtil.h new file mode 100644 index 00000000000..019395d1999 --- /dev/null +++ b/libjava/gnu/java/security/util/FormatUtil.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_FormatUtil__ +#define __gnu_java_security_util_FormatUtil__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class FormatUtil; + } + } + } + } +} + +class gnu::java::security::util::FormatUtil : public ::java::lang::Object +{ + + FormatUtil(); +public: + static ::java::lang::String * getEncodingName(jint); + static ::java::lang::String * getEncodingShortName(jint); + static jint getFormatID(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_FormatUtil__ diff --git a/libjava/gnu/java/security/util/IntegerUtil$1.h b/libjava/gnu/java/security/util/IntegerUtil$1.h new file mode 100644 index 00000000000..8c13f14dfe1 --- /dev/null +++ b/libjava/gnu/java/security/util/IntegerUtil$1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_IntegerUtil$1__ +#define __gnu_java_security_util_IntegerUtil$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class IntegerUtil$1; + } + } + } + } +} + +class gnu::java::security::util::IntegerUtil$1 : public ::java::util::LinkedHashMap +{ + +public: // actually package-private + IntegerUtil$1(jint, jfloat, jboolean); +public: + jboolean removeEldestEntry(::java::util::Map$Entry *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_IntegerUtil$1__ diff --git a/libjava/gnu/java/security/util/IntegerUtil.h b/libjava/gnu/java/security/util/IntegerUtil.h new file mode 100644 index 00000000000..96a7b24b2fd --- /dev/null +++ b/libjava/gnu/java/security/util/IntegerUtil.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_IntegerUtil__ +#define __gnu_java_security_util_IntegerUtil__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class IntegerUtil; + } + } + } + } +} + +class gnu::java::security::util::IntegerUtil : public ::java::lang::Object +{ + + IntegerUtil(); +public: + static ::java::lang::Integer * valueOf(::java::lang::String *); + static ::java::lang::Integer * valueOf(jint); +private: + static const jint CACHE_SIZE = 100; + static ::java::util::Map * cache; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_IntegerUtil__ diff --git a/libjava/gnu/java/security/util/PRNG.h b/libjava/gnu/java/security/util/PRNG.h new file mode 100644 index 00000000000..48b45d749d0 --- /dev/null +++ b/libjava/gnu/java/security/util/PRNG.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_PRNG__ +#define __gnu_java_security_util_PRNG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + namespace util + { + class PRNG; + } + } + } + } +} + +class gnu::java::security::util::PRNG : public ::java::lang::Object +{ + + PRNG(::gnu::java::security::prng::IRandom *); +public: + static ::gnu::java::security::util::PRNG * getInstance(); + virtual void nextBytes(JArray< jbyte > *); + virtual void nextBytes(JArray< jbyte > *, jint, jint); +private: + ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_PRNG__ diff --git a/libjava/gnu/java/security/util/Prime.h b/libjava/gnu/java/security/util/Prime.h new file mode 100644 index 00000000000..3dd531300d7 --- /dev/null +++ b/libjava/gnu/java/security/util/Prime.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_Prime__ +#define __gnu_java_security_util_Prime__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class Prime; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::util::Prime : public ::java::lang::Object +{ + +public: + Prime(); + static ::java::math::BigInteger * generateRandomPrime(jint, jint, ::java::math::BigInteger *); + static ::java::math::BigInteger * generateRandomPrime(::java::math::BigInteger *, ::java::math::BigInteger *, jint, jint, ::java::math::BigInteger *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_Prime__ diff --git a/libjava/gnu/java/security/util/Sequence.h b/libjava/gnu/java/security/util/Sequence.h new file mode 100644 index 00000000000..881c5ff90e5 --- /dev/null +++ b/libjava/gnu/java/security/util/Sequence.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_Sequence__ +#define __gnu_java_security_util_Sequence__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class Sequence; + } + } + } + } +} + +class gnu::java::security::util::Sequence : public ::java::util::AbstractList +{ + +public: + Sequence(jint); + Sequence(jint, jint); + Sequence(jint, jint, jint); + ::java::lang::Object * get(jint); + jint size(); + JArray< ::java::lang::Object * > * toArray(); +private: + JArray< ::java::lang::Integer * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) sequence; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_Sequence__ diff --git a/libjava/gnu/java/security/util/SimpleList.h b/libjava/gnu/java/security/util/SimpleList.h new file mode 100644 index 00000000000..dc3c1c77d84 --- /dev/null +++ b/libjava/gnu/java/security/util/SimpleList.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_SimpleList__ +#define __gnu_java_security_util_SimpleList__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class SimpleList; + } + } + } + } +} + +class gnu::java::security::util::SimpleList : public ::java::util::AbstractList +{ + +public: + SimpleList(::java::lang::Object *); + SimpleList(::java::lang::Object *, ::java::lang::Object *); + SimpleList(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + SimpleList(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + SimpleList(); + SimpleList(::java::util::Collection *); + jint size(); + ::java::lang::Object * get(jint); + ::java::lang::String * toString(); +private: + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) elements; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_SimpleList__ diff --git a/libjava/gnu/java/security/util/Util.h b/libjava/gnu/java/security/util/Util.h new file mode 100644 index 00000000000..5e7764e137c --- /dev/null +++ b/libjava/gnu/java/security/util/Util.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_util_Util__ +#define __gnu_java_security_util_Util__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class Util; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::util::Util : public ::java::lang::Object +{ + + Util(); +public: + static ::java::lang::String * toString(JArray< jbyte > *); + static ::java::lang::String * toString(JArray< jbyte > *, jint, jint); + static ::java::lang::String * toReversedString(JArray< jbyte > *); + static ::java::lang::String * toReversedString(JArray< jbyte > *, jint, jint); + static JArray< jbyte > * toBytesFromString(::java::lang::String *); + static JArray< jbyte > * toReversedBytesFromString(::java::lang::String *); + static jint fromDigit(jchar); + static ::java::lang::String * toString(jint); + static ::java::lang::String * toString(JArray< jint > *); + static ::java::lang::String * toString(jlong); + static ::java::lang::String * toUnicodeString(JArray< jbyte > *); + static ::java::lang::String * toUnicodeString(JArray< jbyte > *, jint, jint); + static ::java::lang::String * toUnicodeString(JArray< jint > *); + static JArray< jbyte > * toBytesFromUnicode(::java::lang::String *); + static ::java::lang::String * dumpString(JArray< jbyte > *, jint, jint, ::java::lang::String *); + static ::java::lang::String * dumpString(JArray< jbyte > *); + static ::java::lang::String * dumpString(JArray< jbyte > *, ::java::lang::String *); + static ::java::lang::String * dumpString(JArray< jbyte > *, jint, jint); + static ::java::lang::String * byteToString(jint); + static ::java::lang::String * toBase64(JArray< jbyte > *); + static JArray< jbyte > * fromBase64(::java::lang::String *); + static JArray< jbyte > * trim(::java::math::BigInteger *); + static ::java::lang::String * dump(::java::math::BigInteger *); +private: + static JArray< jchar > * HEX_DIGITS; + static ::java::lang::String * BASE64_CHARS; + static JArray< jchar > * BASE64_CHARSET; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_util_Util__ diff --git a/libjava/gnu/java/security/x509/GnuPKIExtension.h b/libjava/gnu/java/security/x509/GnuPKIExtension.h new file mode 100644 index 00000000000..d91dc7b03bd --- /dev/null +++ b/libjava/gnu/java/security/x509/GnuPKIExtension.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_GnuPKIExtension__ +#define __gnu_java_security_x509_GnuPKIExtension__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + class GnuPKIExtension; + namespace ext + { + class Extension; + } + } + } + } + } +} + +class gnu::java::security::x509::GnuPKIExtension : public ::java::lang::Object +{ + +public: + virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *) = 0; + virtual ::java::util::Collection * getExtensions() = 0; + virtual jboolean hasUnsupportedCriticalExtension() = 0; + virtual ::java::util::Set * getCriticalExtensionOIDs() = 0; + virtual ::java::util::Set * getNonCriticalExtensionOIDs() = 0; + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_security_x509_GnuPKIExtension__ diff --git a/libjava/gnu/java/security/x509/PolicyNodeImpl.h b/libjava/gnu/java/security/x509/PolicyNodeImpl.h new file mode 100644 index 00000000000..1786e4b2acc --- /dev/null +++ b/libjava/gnu/java/security/x509/PolicyNodeImpl.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_PolicyNodeImpl__ +#define __gnu_java_security_x509_PolicyNodeImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + class PolicyNodeImpl; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class PolicyNode; + class PolicyQualifierInfo; + } + } + } +} + +class gnu::java::security::x509::PolicyNodeImpl : public ::java::lang::Object +{ + +public: + PolicyNodeImpl(); + void addChild(::gnu::java::security::x509::PolicyNodeImpl *); + ::java::util::Iterator * getChildren(); + jint getDepth(); + void setDepth(jint); + void addAllExpectedPolicies(::java::util::Set *); + void addExpectedPolicy(::java::lang::String *); + ::java::util::Set * getExpectedPolicies(); + ::java::security::cert::PolicyNode * getParent(); + void addAllPolicyQualifiers(::java::util::Collection *); + void addPolicyQualifier(::java::security::cert::PolicyQualifierInfo *); + ::java::util::Set * getPolicyQualifiers(); + ::java::lang::String * getValidPolicy(); + void setValidPolicy(::java::lang::String *); + jboolean isCritical(); + void setCritical(jboolean); + void setReadOnly(); + ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) policy; + ::java::util::Set * expectedPolicies; + ::java::util::Set * qualifiers; + ::java::util::Set * children; + ::gnu::java::security::x509::PolicyNodeImpl * parent; + jint depth; + jboolean critical; + jboolean readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_PolicyNodeImpl__ diff --git a/libjava/gnu/java/security/x509/Util.h b/libjava/gnu/java/security/x509/Util.h new file mode 100644 index 00000000000..4a6d4c2f219 --- /dev/null +++ b/libjava/gnu/java/security/x509/Util.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_Util__ +#define __gnu_java_security_x509_Util__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + class Util; + } + } + } + } +} + +class gnu::java::security::x509::Util : public ::java::lang::Object +{ + +public: + Util(); + static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint); + static ::java::lang::String * toHexString(JArray< jbyte > *); + static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar); + static ::java::lang::String * toHexString(JArray< jbyte > *, jchar); + static ::java::lang::String * hexDump(JArray< jbyte > *, jint, jint, ::java::lang::String *); + static ::java::lang::String * hexDump(JArray< jbyte > *, ::java::lang::String *); + static ::java::lang::String * formatInt(jint, jint, jint); + static JArray< jbyte > * toByteArray(::java::lang::String *); + static ::java::lang::String * HEX; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_Util__ diff --git a/libjava/gnu/java/security/x509/X500DistinguishedName.h b/libjava/gnu/java/security/x509/X500DistinguishedName.h new file mode 100644 index 00000000000..c2e94966269 --- /dev/null +++ b/libjava/gnu/java/security/x509/X500DistinguishedName.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X500DistinguishedName__ +#define __gnu_java_security_x509_X500DistinguishedName__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class DERReader; + } + namespace x509 + { + class X500DistinguishedName; + } + } + } + } +} + +class gnu::java::security::x509::X500DistinguishedName : public ::java::lang::Object +{ + +public: + X500DistinguishedName(); + X500DistinguishedName(::java::lang::String *); + X500DistinguishedName(JArray< jbyte > *); + X500DistinguishedName(::java::io::InputStream *); + virtual ::java::lang::String * getName(); + virtual void newRelativeDistinguishedName(); + virtual jint size(); + virtual jint countComponents(); + virtual jboolean containsComponent(::gnu::java::security::OID *, ::java::lang::String *); + virtual ::java::lang::String * getComponent(::gnu::java::security::OID *); + virtual ::java::lang::String * getComponent(::gnu::java::security::OID *, jint); + virtual void putComponent(::gnu::java::security::OID *, ::java::lang::String *); + virtual void putComponent(::java::lang::String *, ::java::lang::String *); + virtual void setUnmodifiable(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual JArray< jbyte > * getDer(); +private: + void parseString(::java::lang::String *); + ::java::lang::String * readAttributeType(::java::io::Reader *); + ::java::lang::String * readAttributeValue(::java::io::Reader *); + void parseDer(::gnu::java::security::der::DERReader *); + static ::java::lang::String * compressWS(::java::lang::String *); +public: + static ::gnu::java::security::OID * CN; + static ::gnu::java::security::OID * C; + static ::gnu::java::security::OID * L; + static ::gnu::java::security::OID * ST; + static ::gnu::java::security::OID * STREET; + static ::gnu::java::security::OID * O; + static ::gnu::java::security::OID * OU; + static ::gnu::java::security::OID * T; + static ::gnu::java::security::OID * DNQ; + static ::gnu::java::security::OID * NAME; + static ::gnu::java::security::OID * GIVENNAME; + static ::gnu::java::security::OID * INITIALS; + static ::gnu::java::security::OID * GENERATION; + static ::gnu::java::security::OID * EMAIL; + static ::gnu::java::security::OID * DC; + static ::gnu::java::security::OID * UID; +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components; + ::java::util::Map * currentRdn; + jboolean fixed; + ::java::lang::String * stringRep; + JArray< jbyte > * encoded; + jint sep; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X500DistinguishedName__ diff --git a/libjava/gnu/java/security/x509/X509CRL.h b/libjava/gnu/java/security/x509/X509CRL.h new file mode 100644 index 00000000000..76d5e1e3181 --- /dev/null +++ b/libjava/gnu/java/security/x509/X509CRL.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X509CRL__ +#define __gnu_java_security_x509_X509CRL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + class X500DistinguishedName; + class X509CRL; + namespace ext + { + class Extension; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Principal; + class PublicKey; + class Signature; + namespace cert + { + class Certificate; + class X509CRLEntry; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class gnu::java::security::x509::X509CRL : public ::java::security::cert::X509CRL +{ + +public: + X509CRL(::java::io::InputStream *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * getEncoded(); + virtual void verify(::java::security::PublicKey *); + virtual void verify(::java::security::PublicKey *, ::java::lang::String *); + virtual jint getVersion(); + virtual ::java::security::Principal * getIssuerDN(); + virtual ::javax::security::auth::x500::X500Principal * getIssuerX500Principal(); + virtual ::java::util::Date * getThisUpdate(); + virtual ::java::util::Date * getNextUpdate(); + virtual ::java::security::cert::X509CRLEntry * getRevokedCertificate(::java::math::BigInteger *); + virtual ::java::util::Set * getRevokedCertificates(); + virtual JArray< jbyte > * getTBSCertList(); + virtual JArray< jbyte > * getSignature(); + virtual ::java::lang::String * getSigAlgName(); + virtual ::java::lang::String * getSigAlgOID(); + virtual JArray< jbyte > * getSigAlgParams(); + virtual jboolean hasUnsupportedCriticalExtension(); + virtual ::java::util::Set * getCriticalExtensionOIDs(); + virtual ::java::util::Set * getNonCriticalExtensionOIDs(); + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *); + virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *); + virtual ::java::util::Collection * getExtensions(); + virtual ::java::lang::String * toString(); + virtual jboolean isRevoked(::java::security::cert::Certificate *); +private: + void doVerify(::java::security::Signature *, ::java::security::PublicKey *); + void parse(::java::io::InputStream *); + static ::java::util::logging::Logger * log; + static ::gnu::java::security::OID * ID_DSA; + static ::gnu::java::security::OID * ID_DSA_WITH_SHA1; + static ::gnu::java::security::OID * ID_RSA; + static ::gnu::java::security::OID * ID_RSA_WITH_MD2; + static ::gnu::java::security::OID * ID_RSA_WITH_MD5; + static ::gnu::java::security::OID * ID_RSA_WITH_SHA1; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::security::cert::X509CRL)))) encoded; + JArray< jbyte > * tbsCRLBytes; + jint version; + ::gnu::java::security::OID * algId; + JArray< jbyte > * algParams; + ::java::util::Date * thisUpdate; + ::java::util::Date * nextUpdate; + ::gnu::java::security::x509::X500DistinguishedName * issuerDN; + ::java::util::HashMap * revokedCerts; + ::java::util::HashMap * extensions; + ::gnu::java::security::OID * sigAlg; + JArray< jbyte > * sigAlgParams; + JArray< jbyte > * rawSig; + JArray< jbyte > * signature; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X509CRL__ diff --git a/libjava/gnu/java/security/x509/X509CRLEntry.h b/libjava/gnu/java/security/x509/X509CRLEntry.h new file mode 100644 index 00000000000..7b272f75e02 --- /dev/null +++ b/libjava/gnu/java/security/x509/X509CRLEntry.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X509CRLEntry__ +#define __gnu_java_security_x509_X509CRLEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class DERReader; + } + namespace x509 + { + class X509CRLEntry; + namespace ext + { + class Extension; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::x509::X509CRLEntry : public ::java::security::cert::X509CRLEntry +{ + +public: // actually package-private + X509CRLEntry(jint, ::gnu::java::security::der::DERReader *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::math::BigInteger * getSerialNumber(); + virtual ::java::util::Date * getRevocationDate(); + virtual jboolean hasExtensions(); + virtual ::java::lang::String * toString(); + virtual jboolean hasUnsupportedCriticalExtension(); + virtual ::java::util::Set * getCriticalExtensionOIDs(); + virtual ::java::util::Set * getNonCriticalExtensionOIDs(); + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *); + virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *); + virtual ::java::util::Collection * getExtensions(); +private: + void parse(jint, ::gnu::java::security::der::DERReader *); + static ::java::util::logging::Logger * log; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::security::cert::X509CRLEntry)))) encoded; + ::java::math::BigInteger * serialNo; + ::java::util::Date * revocationDate; + ::java::util::HashMap * extensions; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X509CRLEntry__ diff --git a/libjava/gnu/java/security/x509/X509CRLSelectorImpl.h b/libjava/gnu/java/security/x509/X509CRLSelectorImpl.h new file mode 100644 index 00000000000..2fc953759ee --- /dev/null +++ b/libjava/gnu/java/security/x509/X509CRLSelectorImpl.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X509CRLSelectorImpl__ +#define __gnu_java_security_x509_X509CRLSelectorImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + class X509CRLSelectorImpl; + } + } + } + } + namespace java + { + namespace security + { + class Principal; + namespace cert + { + class CRL; + } + } + } +} + +class gnu::java::security::x509::X509CRLSelectorImpl : public ::java::lang::Object +{ + +public: + X509CRLSelectorImpl(); + virtual void addIssuerName(JArray< jbyte > *); + virtual void addIssuerName(::java::lang::String *); + virtual void addIssuerName(::java::security::Principal *); + virtual ::java::util::Collection * getIssuerNames(); + virtual ::java::lang::Object * clone(); + virtual jboolean match(::java::security::cert::CRL *); +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) issuerNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X509CRLSelectorImpl__ diff --git a/libjava/gnu/java/security/x509/X509CertPath.h b/libjava/gnu/java/security/x509/X509CertPath.h new file mode 100644 index 00000000000..5aaadc6dcbc --- /dev/null +++ b/libjava/gnu/java/security/x509/X509CertPath.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X509CertPath__ +#define __gnu_java_security_x509_X509CertPath__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + class X509CertPath; + } + } + } + } +} + +class gnu::java::security::x509::X509CertPath : public ::java::security::cert::CertPath +{ + +public: + X509CertPath(::java::util::List *); + X509CertPath(::java::io::InputStream *); + X509CertPath(::java::io::InputStream *, ::java::lang::String *); + virtual ::java::util::List * getCertificates(); + virtual JArray< jbyte > * getEncoded(); + virtual JArray< jbyte > * getEncoded(::java::lang::String *); + virtual ::java::util::Iterator * getEncodings(); +private: + void parse(::java::io::InputStream *, ::java::lang::String *); + JArray< jbyte > * encodePki(); + JArray< jbyte > * encodePKCS(); +public: + static ::java::util::List * ENCODINGS; +private: + static ::gnu::java::security::OID * PKCS7_SIGNED_DATA; + static ::gnu::java::security::OID * PKCS7_DATA; + ::java::util::List * __attribute__((aligned(__alignof__( ::java::security::cert::CertPath)))) path; + JArray< jbyte > * pkcs_encoded; + JArray< jbyte > * pki_encoded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X509CertPath__ diff --git a/libjava/gnu/java/security/x509/X509CertSelectorImpl.h b/libjava/gnu/java/security/x509/X509CertSelectorImpl.h new file mode 100644 index 00000000000..12a12af5a4e --- /dev/null +++ b/libjava/gnu/java/security/x509/X509CertSelectorImpl.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X509CertSelectorImpl__ +#define __gnu_java_security_x509_X509CertSelectorImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + class X509CertSelectorImpl; + } + } + } + } + namespace java + { + namespace security + { + class Principal; + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::java::security::x509::X509CertSelectorImpl : public ::java::lang::Object +{ + +public: + X509CertSelectorImpl(); + virtual void addIssuerName(JArray< jbyte > *); + virtual void addIssuerName(::java::lang::String *); + virtual void addIssuerName(::java::security::Principal *); + virtual ::java::util::Collection * getIssuerNames(); + virtual void addSubjectName(JArray< jbyte > *); + virtual void addSubjectName(::java::lang::String *); + virtual void addSubjectName(::java::security::Principal *); + virtual ::java::util::Collection * getSubjectNames(); + virtual ::java::lang::Object * clone(); + virtual jboolean match(::java::security::cert::Certificate *); +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) issuerNames; + ::java::util::Set * subjectNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X509CertSelectorImpl__ diff --git a/libjava/gnu/java/security/x509/X509Certificate.h b/libjava/gnu/java/security/x509/X509Certificate.h new file mode 100644 index 00000000000..024e4031255 --- /dev/null +++ b/libjava/gnu/java/security/x509/X509Certificate.h @@ -0,0 +1,140 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_X509Certificate__ +#define __gnu_java_security_x509_X509Certificate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class BitString; + } + namespace x509 + { + class X500DistinguishedName; + class X509Certificate; + namespace ext + { + class Extension; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Principal; + class PublicKey; + class Signature; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class gnu::java::security::x509::X509Certificate : public ::java::security::cert::X509Certificate +{ + +public: + X509Certificate(::java::io::InputStream *); +public: // actually protected + X509Certificate(); +public: + virtual void checkValidity(); + virtual void checkValidity(::java::util::Date *); + virtual jint getVersion(); + virtual ::java::math::BigInteger * getSerialNumber(); + virtual ::java::security::Principal * getIssuerDN(); + virtual ::javax::security::auth::x500::X500Principal * getIssuerX500Principal(); + virtual ::java::security::Principal * getSubjectDN(); + virtual ::javax::security::auth::x500::X500Principal * getSubjectX500Principal(); + virtual ::java::util::Date * getNotBefore(); + virtual ::java::util::Date * getNotAfter(); + virtual JArray< jbyte > * getTBSCertificate(); + virtual JArray< jbyte > * getSignature(); + virtual ::java::lang::String * getSigAlgName(); + virtual ::java::lang::String * getSigAlgOID(); + virtual JArray< jbyte > * getSigAlgParams(); + virtual JArray< jboolean > * getIssuerUniqueID(); + virtual JArray< jboolean > * getSubjectUniqueID(); + virtual JArray< jboolean > * getKeyUsage(); + virtual ::java::util::List * getExtendedKeyUsage(); + virtual jint getBasicConstraints(); + virtual ::java::util::Collection * getSubjectAlternativeNames(); + virtual ::java::util::Collection * getIssuerAlternativeNames(); + virtual jboolean hasUnsupportedCriticalExtension(); + virtual ::java::util::Set * getCriticalExtensionOIDs(); + virtual ::java::util::Set * getNonCriticalExtensionOIDs(); + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *); + virtual ::gnu::java::security::x509::ext::Extension * getExtension(::gnu::java::security::OID *); + virtual ::java::util::Collection * getExtensions(); + virtual JArray< jbyte > * getEncoded(); + virtual void verify(::java::security::PublicKey *); + virtual void verify(::java::security::PublicKey *, ::java::lang::String *); + virtual ::java::lang::String * toString(); + virtual ::java::security::PublicKey * getPublicKey(); + virtual jboolean equals(::java::lang::Object *); +private: + void doVerify(::java::security::Signature *, ::java::security::PublicKey *); + void parse(::java::io::InputStream *); + static ::java::util::logging::Logger * logger; +public: // actually protected + static ::gnu::java::security::OID * ID_DSA; + static ::gnu::java::security::OID * ID_DSA_WITH_SHA1; + static ::gnu::java::security::OID * ID_RSA; + static ::gnu::java::security::OID * ID_RSA_WITH_MD2; + static ::gnu::java::security::OID * ID_RSA_WITH_MD5; + static ::gnu::java::security::OID * ID_RSA_WITH_SHA1; + static ::gnu::java::security::OID * ID_ECDSA_WITH_SHA1; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::security::cert::X509Certificate)))) encoded; + JArray< jbyte > * tbsCertBytes; + jint version; + ::java::math::BigInteger * serialNo; + ::gnu::java::security::OID * algId; + JArray< jbyte > * algVal; + ::gnu::java::security::x509::X500DistinguishedName * issuer; + ::java::util::Date * notBefore; + ::java::util::Date * notAfter; + ::gnu::java::security::x509::X500DistinguishedName * subject; + ::java::security::PublicKey * subjectKey; + ::gnu::java::security::der::BitString * issuerUniqueId; + ::gnu::java::security::der::BitString * subjectUniqueId; + ::java::util::Map * extensions; + ::gnu::java::security::OID * sigAlgId; + JArray< jbyte > * sigAlgVal; + JArray< jbyte > * signature; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_X509Certificate__ diff --git a/libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h b/libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h new file mode 100644 index 00000000000..71b6f602182 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_AuthorityKeyIdentifier__ +#define __gnu_java_security_x509_ext_AuthorityKeyIdentifier__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class AuthorityKeyIdentifier; + class GeneralNames; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::x509::ext::AuthorityKeyIdentifier : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + AuthorityKeyIdentifier(JArray< jbyte > *); + virtual JArray< jbyte > * getKeyIdentifier(); + virtual ::gnu::java::security::x509::ext::GeneralNames * getAuthorityCertIssuer(); + virtual ::java::math::BigInteger * getAuthorityCertSerialNumber(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) keyIdentifier; + ::gnu::java::security::x509::ext::GeneralNames * authorityCertIssuer; + ::java::math::BigInteger * authorityCertSerialNumber; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_AuthorityKeyIdentifier__ diff --git a/libjava/gnu/java/security/x509/ext/BasicConstraints.h b/libjava/gnu/java/security/x509/ext/BasicConstraints.h new file mode 100644 index 00000000000..96fffb51210 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/BasicConstraints.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_BasicConstraints__ +#define __gnu_java_security_x509_ext_BasicConstraints__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class BasicConstraints; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::BasicConstraints : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + BasicConstraints(JArray< jbyte > *); + BasicConstraints(jboolean, jint); + virtual jboolean isCA(); + virtual jint getPathLengthConstraint(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) ca; + jint pathLenConstraint; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_BasicConstraints__ diff --git a/libjava/gnu/java/security/x509/ext/CRLNumber.h b/libjava/gnu/java/security/x509/ext/CRLNumber.h new file mode 100644 index 00000000000..ef56baae8ec --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/CRLNumber.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_CRLNumber__ +#define __gnu_java_security_x509_ext_CRLNumber__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class CRLNumber; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::java::security::x509::ext::CRLNumber : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + CRLNumber(JArray< jbyte > *); + CRLNumber(::java::math::BigInteger *); + virtual ::java::math::BigInteger * getNumber(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) number; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_CRLNumber__ diff --git a/libjava/gnu/java/security/x509/ext/CertificatePolicies.h b/libjava/gnu/java/security/x509/ext/CertificatePolicies.h new file mode 100644 index 00000000000..3e6724e6c46 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/CertificatePolicies.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_CertificatePolicies__ +#define __gnu_java_security_x509_ext_CertificatePolicies__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class CertificatePolicies; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::CertificatePolicies : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + CertificatePolicies(JArray< jbyte > *); + CertificatePolicies(::java::util::List *, ::java::util::Map *); + virtual ::java::util::List * getPolicies(); + virtual ::java::util::List * getPolicyQualifierInfos(::gnu::java::security::OID *); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) policies; + ::java::util::Map * policyQualifierInfos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_CertificatePolicies__ diff --git a/libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h b/libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h new file mode 100644 index 00000000000..61f5f1d0572 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_ExtendedKeyUsage__ +#define __gnu_java_security_x509_ext_ExtendedKeyUsage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class ExtendedKeyUsage; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::ExtendedKeyUsage : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + ExtendedKeyUsage(JArray< jbyte > *); + virtual ::java::util::List * getPurposeIds(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) purposeIds; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_ExtendedKeyUsage__ diff --git a/libjava/gnu/java/security/x509/ext/Extension$Value.h b/libjava/gnu/java/security/x509/ext/Extension$Value.h new file mode 100644 index 00000000000..04f069ea5b8 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/Extension$Value.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_Extension$Value__ +#define __gnu_java_security_x509_ext_Extension$Value__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + namespace ext + { + class Extension$Value; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::Extension$Value : public ::java::lang::Object +{ + +public: + Extension$Value(JArray< jbyte > *); +public: // actually protected + Extension$Value(); +public: + virtual JArray< jbyte > * getEncoded(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encoded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_Extension$Value__ diff --git a/libjava/gnu/java/security/x509/ext/Extension.h b/libjava/gnu/java/security/x509/ext/Extension.h new file mode 100644 index 00000000000..0e660f918a8 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/Extension.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_Extension__ +#define __gnu_java_security_x509_ext_Extension__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class DERValue; + } + namespace x509 + { + namespace ext + { + class Extension; + class Extension$Value; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::Extension : public ::java::lang::Object +{ + +public: + Extension(JArray< jbyte > *); + Extension(::gnu::java::security::OID *, ::gnu::java::security::x509::ext::Extension$Value *, jboolean); + virtual ::gnu::java::security::OID * getOid(); + virtual jboolean isCritical(); + virtual jboolean isSupported(); + virtual ::gnu::java::security::x509::ext::Extension$Value * getValue(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * toString(); + virtual ::gnu::java::security::der::DERValue * getDerValue(); +private: + void encode(); + static ::java::util::logging::Logger * log; +public: // actually protected + ::gnu::java::security::OID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) oid; + jboolean critical; + jboolean isSupported__; + ::gnu::java::security::x509::ext::Extension$Value * value; + JArray< jbyte > * encoded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_Extension__ diff --git a/libjava/gnu/java/security/x509/ext/GeneralNames.h b/libjava/gnu/java/security/x509/ext/GeneralNames.h new file mode 100644 index 00000000000..8765d18e71a --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/GeneralNames.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_GeneralNames__ +#define __gnu_java_security_x509_ext_GeneralNames__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + namespace ext + { + class GeneralNames; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::GeneralNames : public ::java::lang::Object +{ + +public: + GeneralNames(JArray< jbyte > *); + virtual ::java::util::List * getNames(); + virtual ::java::lang::String * toString(); + static const jint OTHER_NAME = 0; + static const jint RFC822_NAME = 1; + static const jint DNS_NAME = 2; + static const jint X400_ADDRESS = 3; + static const jint DIRECTORY_NAME = 4; + static const jint EDI_PARTY_NAME = 5; + static const jint URI = 6; + static const jint IP_ADDRESS = 7; + static const jint REGISTERED_ID = 8; +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_GeneralNames__ diff --git a/libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h b/libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h new file mode 100644 index 00000000000..50b3f35a687 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_IssuerAlternativeNames__ +#define __gnu_java_security_x509_ext_IssuerAlternativeNames__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class GeneralNames; + class IssuerAlternativeNames; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::IssuerAlternativeNames : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + IssuerAlternativeNames(JArray< jbyte > *); + virtual ::java::util::List * getNames(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::gnu::java::security::x509::ext::GeneralNames * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_IssuerAlternativeNames__ diff --git a/libjava/gnu/java/security/x509/ext/KeyUsage.h b/libjava/gnu/java/security/x509/ext/KeyUsage.h new file mode 100644 index 00000000000..4293755ad27 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/KeyUsage.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_KeyUsage__ +#define __gnu_java_security_x509_ext_KeyUsage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class BitString; + } + namespace x509 + { + namespace ext + { + class KeyUsage; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::KeyUsage : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + KeyUsage(JArray< jbyte > *); + virtual ::gnu::java::security::der::BitString * getKeyUsage(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; + static const jint DIGITAL_SIGNATURE = 0; + static const jint NON_REPUDIATION = 1; + static const jint KEY_ENCIPHERMENT = 2; + static const jint DATA_ENCIPHERMENT = 3; + static const jint KEY_AGREEMENT = 4; + static const jint KEY_CERT_SIGN = 5; + static const jint CRL_SIGN = 6; + static const jint ENCIPHER_ONLY = 7; + static const jint DECIPHER_ONLY = 8; +private: + ::gnu::java::security::der::BitString * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) keyUsage; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_KeyUsage__ diff --git a/libjava/gnu/java/security/x509/ext/PolicyConstraint.h b/libjava/gnu/java/security/x509/ext/PolicyConstraint.h new file mode 100644 index 00000000000..1846d461fd6 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/PolicyConstraint.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_PolicyConstraint__ +#define __gnu_java_security_x509_ext_PolicyConstraint__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class PolicyConstraint; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::PolicyConstraint : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + PolicyConstraint(JArray< jbyte > *); + virtual jint getRequireExplicitPolicy(); + virtual jint getInhibitPolicyMapping(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) requireExplicitPolicy; + jint inhibitPolicyMapping; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_PolicyConstraint__ diff --git a/libjava/gnu/java/security/x509/ext/PolicyMappings.h b/libjava/gnu/java/security/x509/ext/PolicyMappings.h new file mode 100644 index 00000000000..2741db3fa9a --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/PolicyMappings.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_PolicyMappings__ +#define __gnu_java_security_x509_ext_PolicyMappings__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class PolicyMappings; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::PolicyMappings : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + PolicyMappings(JArray< jbyte > *); + virtual ::gnu::java::security::OID * getSubjectDomainPolicy(::gnu::java::security::OID *); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::java::util::Map * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) mappings; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_PolicyMappings__ diff --git a/libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h b/libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h new file mode 100644 index 00000000000..0d14162b786 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_PrivateKeyUsagePeriod__ +#define __gnu_java_security_x509_ext_PrivateKeyUsagePeriod__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class PrivateKeyUsagePeriod; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::PrivateKeyUsagePeriod : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + PrivateKeyUsagePeriod(JArray< jbyte > *); + virtual ::java::util::Date * getNotBefore(); + virtual ::java::util::Date * getNotAfter(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::java::util::Date * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) notBefore; + ::java::util::Date * notAfter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_PrivateKeyUsagePeriod__ diff --git a/libjava/gnu/java/security/x509/ext/ReasonCode.h b/libjava/gnu/java/security/x509/ext/ReasonCode.h new file mode 100644 index 00000000000..03a3c454a2f --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/ReasonCode.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_ReasonCode__ +#define __gnu_java_security_x509_ext_ReasonCode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class ReasonCode; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::ReasonCode : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + ReasonCode(JArray< jbyte > *); + virtual jint getReasonCode(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; + jint __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) reason; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_ReasonCode__ diff --git a/libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h b/libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h new file mode 100644 index 00000000000..80e9ac05516 --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_SubjectAlternativeNames__ +#define __gnu_java_security_x509_ext_SubjectAlternativeNames__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class GeneralNames; + class SubjectAlternativeNames; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::SubjectAlternativeNames : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + SubjectAlternativeNames(JArray< jbyte > *); + virtual ::java::util::List * getNames(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + ::gnu::java::security::x509::ext::GeneralNames * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_SubjectAlternativeNames__ diff --git a/libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h b/libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h new file mode 100644 index 00000000000..46cb0f4d6af --- /dev/null +++ b/libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_security_x509_ext_SubjectKeyIdentifier__ +#define __gnu_java_security_x509_ext_SubjectKeyIdentifier__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace x509 + { + namespace ext + { + class SubjectKeyIdentifier; + } + } + } + } + } +} + +class gnu::java::security::x509::ext::SubjectKeyIdentifier : public ::gnu::java::security::x509::ext::Extension$Value +{ + +public: + SubjectKeyIdentifier(JArray< jbyte > *); + virtual JArray< jbyte > * getKeyIdentifier(); + virtual ::java::lang::String * toString(); + static ::gnu::java::security::OID * ID; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::x509::ext::Extension$Value)))) keyIdentifier; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_security_x509_ext_SubjectKeyIdentifier__ diff --git a/libjava/gnu/java/text/AttributedFormatBuffer.h b/libjava/gnu/java/text/AttributedFormatBuffer.h new file mode 100644 index 00000000000..a37b3996749 --- /dev/null +++ b/libjava/gnu/java/text/AttributedFormatBuffer.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_AttributedFormatBuffer__ +#define __gnu_java_text_AttributedFormatBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class AttributedFormatBuffer; + } + } + } + namespace java + { + namespace text + { + class AttributedCharacterIterator$Attribute; + } + } +} + +class gnu::java::text::AttributedFormatBuffer : public ::java::lang::Object +{ + +public: + AttributedFormatBuffer(::java::lang::StringBuffer *); + AttributedFormatBuffer(jint); + AttributedFormatBuffer(); +private: + void addAttribute(jint, ::java::text::AttributedCharacterIterator$Attribute *); +public: + virtual void append(::java::lang::String *); + virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *); + virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *); + virtual void append(jchar); + virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *); + virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *); + virtual ::java::text::AttributedCharacterIterator$Attribute * getDefaultAttribute(); + virtual void cutTail(jint); + virtual jint length(); + virtual void clear(); + virtual void sync(); + virtual ::java::lang::StringBuffer * getBuffer(); + virtual JArray< jint > * getRanges(); + virtual JArray< ::java::util::HashMap * > * getAttributes(); +private: + ::java::lang::StringBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::java::util::ArrayList * ranges; + ::java::util::ArrayList * attributes; + JArray< jint > * a_ranges; + JArray< ::java::util::HashMap * > * a_attributes; + jint startingRange; +public: // actually package-private + ::java::text::AttributedCharacterIterator$Attribute * defaultAttr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_AttributedFormatBuffer__ diff --git a/libjava/gnu/java/text/BaseBreakIterator.h b/libjava/gnu/java/text/BaseBreakIterator.h new file mode 100644 index 00000000000..50998950fcc --- /dev/null +++ b/libjava/gnu/java/text/BaseBreakIterator.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_BaseBreakIterator__ +#define __gnu_java_text_BaseBreakIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class BaseBreakIterator; + } + } + } + namespace java + { + namespace text + { + class CharacterIterator; + } + } +} + +class gnu::java::text::BaseBreakIterator : public ::java::text::BreakIterator +{ + +public: + BaseBreakIterator(); + virtual jint current(); + virtual jint first(); + virtual jint following(jint); + virtual ::java::text::CharacterIterator * getText(); + virtual jint last(); + virtual jint next(jint); + virtual void setText(::java::text::CharacterIterator *); +public: // actually protected + ::java::text::CharacterIterator * __attribute__((aligned(__alignof__( ::java::text::BreakIterator)))) iter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_BaseBreakIterator__ diff --git a/libjava/gnu/java/text/CharacterBreakIterator.h b/libjava/gnu/java/text/CharacterBreakIterator.h new file mode 100644 index 00000000000..39d681cbc7a --- /dev/null +++ b/libjava/gnu/java/text/CharacterBreakIterator.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_CharacterBreakIterator__ +#define __gnu_java_text_CharacterBreakIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class CharacterBreakIterator; + } + } + } +} + +class gnu::java::text::CharacterBreakIterator : public ::gnu::java::text::BaseBreakIterator +{ + +public: + virtual ::java::lang::Object * clone(); + CharacterBreakIterator(); +private: + CharacterBreakIterator(::gnu::java::text::CharacterBreakIterator *); + jboolean isL(jchar); + jboolean isV(jchar); + jboolean isT(jchar); + jboolean isLVT(jchar); + jboolean isHighSurrogate(jchar); + jboolean isLowSurrogate(jchar); +public: + virtual jint next(); + virtual jint previous(); +private: + static const jint LBase = 4352; + static const jint VBase = 4449; + static const jint TBase = 4519; + static const jint LCount = 19; + static const jint VCount = 21; + static const jint TCount = 28; + static const jint highSurrogateStart = 55296; + static const jint highSurrogateEnd = 56319; + static const jint lowSurrogateStart = 56320; + static const jint lowSurrogateEnd = 57343; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_CharacterBreakIterator__ diff --git a/libjava/gnu/java/text/FormatBuffer.h b/libjava/gnu/java/text/FormatBuffer.h new file mode 100644 index 00000000000..267cf6fb013 --- /dev/null +++ b/libjava/gnu/java/text/FormatBuffer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_FormatBuffer__ +#define __gnu_java_text_FormatBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class FormatBuffer; + } + } + } + namespace java + { + namespace text + { + class AttributedCharacterIterator$Attribute; + } + } +} + +class gnu::java::text::FormatBuffer : public ::java::lang::Object +{ + +public: + virtual void append(::java::lang::String *) = 0; + virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *) = 0; + virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *) = 0; + virtual void append(jchar) = 0; + virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *) = 0; + virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *) = 0; + virtual ::java::text::AttributedCharacterIterator$Attribute * getDefaultAttribute() = 0; + virtual void cutTail(jint) = 0; + virtual void clear() = 0; + virtual jint length() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_text_FormatBuffer__ diff --git a/libjava/gnu/java/text/FormatCharacterIterator.h b/libjava/gnu/java/text/FormatCharacterIterator.h new file mode 100644 index 00000000000..82c7fa02e4d --- /dev/null +++ b/libjava/gnu/java/text/FormatCharacterIterator.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_FormatCharacterIterator__ +#define __gnu_java_text_FormatCharacterIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class FormatCharacterIterator; + } + } + } + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class AttributedCharacterIterator$Attribute; + } + } +} + +class gnu::java::text::FormatCharacterIterator : public ::java::lang::Object +{ + +public: + FormatCharacterIterator(); + FormatCharacterIterator(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *); + virtual ::java::util::Set * getAllAttributeKeys(); + virtual ::java::util::Map * getAttributes(); + virtual ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *); + virtual jint getRunLimit(::java::util::Set *); + virtual jint getRunLimit(::java::text::AttributedCharacterIterator$Attribute *); + virtual jint getRunLimit(); + virtual jint getRunStart(::java::util::Set *); + virtual jint getRunStart(); + virtual jint getRunStart(::java::text::AttributedCharacterIterator$Attribute *); + virtual ::java::lang::Object * clone(); + virtual jchar current(); + virtual jchar first(); + virtual jint getBeginIndex(); + virtual jint getEndIndex(); + virtual jint getIndex(); + virtual jchar last(); + virtual jchar next(); + virtual jchar previous(); + virtual jchar setIndex(jint); + virtual void mergeAttributes(JArray< ::java::util::HashMap * > *, JArray< jint > *); + virtual void append(::java::text::AttributedCharacterIterator *); + virtual void append(::java::lang::String *, ::java::util::HashMap *); + virtual void append(::java::lang::String *); + virtual void addAttributes(::java::util::HashMap *, jint, jint); +private: + void debug(::java::lang::String *); + void dumpTable(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) formattedString; + jint charIndex; + jint attributeIndex; + JArray< jint > * ranges; + JArray< ::java::util::HashMap * > * attributes; + static const jboolean DEBUG = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_FormatCharacterIterator__ diff --git a/libjava/gnu/java/text/LineBreakIterator.h b/libjava/gnu/java/text/LineBreakIterator.h new file mode 100644 index 00000000000..0c4c428c564 --- /dev/null +++ b/libjava/gnu/java/text/LineBreakIterator.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_LineBreakIterator__ +#define __gnu_java_text_LineBreakIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class LineBreakIterator; + } + } + } +} + +class gnu::java::text::LineBreakIterator : public ::gnu::java::text::BaseBreakIterator +{ + +public: + virtual ::java::lang::Object * clone(); + LineBreakIterator(); +private: + LineBreakIterator(::gnu::java::text::LineBreakIterator *); + jboolean isNb(jchar); + jboolean isClose(jint); + jboolean isIdeo(jchar); +public: + virtual jint next(); + virtual jint previous(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_LineBreakIterator__ diff --git a/libjava/gnu/java/text/SentenceBreakIterator.h b/libjava/gnu/java/text/SentenceBreakIterator.h new file mode 100644 index 00000000000..ae54389004a --- /dev/null +++ b/libjava/gnu/java/text/SentenceBreakIterator.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_SentenceBreakIterator__ +#define __gnu_java_text_SentenceBreakIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class SentenceBreakIterator; + } + } + } +} + +class gnu::java::text::SentenceBreakIterator : public ::gnu::java::text::BaseBreakIterator +{ + +public: + virtual ::java::lang::Object * clone(); + SentenceBreakIterator(); +private: + SentenceBreakIterator(::gnu::java::text::SentenceBreakIterator *); +public: + virtual jint next(); +private: + jint previous_internal(); +public: + virtual jint previous(); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::text::BaseBreakIterator)))) period; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_SentenceBreakIterator__ diff --git a/libjava/gnu/java/text/StringFormatBuffer.h b/libjava/gnu/java/text/StringFormatBuffer.h new file mode 100644 index 00000000000..9ee5bf8cb7e --- /dev/null +++ b/libjava/gnu/java/text/StringFormatBuffer.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_StringFormatBuffer__ +#define __gnu_java_text_StringFormatBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class StringFormatBuffer; + } + } + } + namespace java + { + namespace text + { + class AttributedCharacterIterator$Attribute; + } + } +} + +class gnu::java::text::StringFormatBuffer : public ::java::lang::Object +{ + +public: + StringFormatBuffer(jint); + StringFormatBuffer(::java::lang::StringBuffer *); + virtual void append(::java::lang::String *); + virtual void append(::java::lang::String *, ::java::text::AttributedCharacterIterator$Attribute *); + virtual void append(::java::lang::String *, JArray< jint > *, JArray< ::java::util::HashMap * > *); + virtual void append(jchar); + virtual void append(jchar, ::java::text::AttributedCharacterIterator$Attribute *); + virtual void setDefaultAttribute(::java::text::AttributedCharacterIterator$Attribute *); + virtual ::java::text::AttributedCharacterIterator$Attribute * getDefaultAttribute(); + virtual void cutTail(jint); + virtual jint length(); + virtual void clear(); + virtual ::java::lang::StringBuffer * getBuffer(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::StringBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::java::text::AttributedCharacterIterator$Attribute * defaultAttr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_StringFormatBuffer__ diff --git a/libjava/gnu/java/text/WordBreakIterator.h b/libjava/gnu/java/text/WordBreakIterator.h new file mode 100644 index 00000000000..bcf75bdd937 --- /dev/null +++ b/libjava/gnu/java/text/WordBreakIterator.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_text_WordBreakIterator__ +#define __gnu_java_text_WordBreakIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class WordBreakIterator; + } + } + } +} + +class gnu::java::text::WordBreakIterator : public ::gnu::java::text::BaseBreakIterator +{ + +public: + virtual ::java::lang::Object * clone(); + WordBreakIterator(); +private: + WordBreakIterator(::gnu::java::text::WordBreakIterator *); + jboolean isHira(jchar); + jboolean isKata(jchar); + jboolean isHan(jchar); +public: + virtual jint next(); + virtual jint previous(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_text_WordBreakIterator__ diff --git a/libjava/gnu/java/util/DoubleEnumeration.h b/libjava/gnu/java/util/DoubleEnumeration.h new file mode 100644 index 00000000000..d1ec0ca3525 --- /dev/null +++ b/libjava/gnu/java/util/DoubleEnumeration.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_DoubleEnumeration__ +#define __gnu_java_util_DoubleEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class DoubleEnumeration; + } + } + } +} + +class gnu::java::util::DoubleEnumeration : public ::java::lang::Object +{ + +public: + DoubleEnumeration(::java::util::Enumeration *, ::java::util::Enumeration *); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasMore; + jboolean hasChecked; + ::java::util::Enumeration * e1; + ::java::util::Enumeration * e2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_DoubleEnumeration__ diff --git a/libjava/gnu/java/util/EmptyEnumeration.h b/libjava/gnu/java/util/EmptyEnumeration.h new file mode 100644 index 00000000000..78ab0fc1e78 --- /dev/null +++ b/libjava/gnu/java/util/EmptyEnumeration.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_EmptyEnumeration__ +#define __gnu_java_util_EmptyEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class EmptyEnumeration; + } + } + } +} + +class gnu::java::util::EmptyEnumeration : public ::java::lang::Object +{ + + EmptyEnumeration(); +public: + static ::gnu::java::util::EmptyEnumeration * getInstance(); + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +private: + static ::gnu::java::util::EmptyEnumeration * instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_EmptyEnumeration__ diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$1.h b/libjava/gnu/java/util/WeakIdentityHashMap$1.h new file mode 100644 index 00000000000..d71175c869f --- /dev/null +++ b/libjava/gnu/java/util/WeakIdentityHashMap$1.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_WeakIdentityHashMap$1__ +#define __gnu_java_util_WeakIdentityHashMap$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class WeakIdentityHashMap$1; + class WeakIdentityHashMap$WeakBucket$WeakEntry; + class WeakIdentityHashMap$WeakEntrySet; + } + } + } +} + +class gnu::java::util::WeakIdentityHashMap$1 : public ::java::lang::Object +{ + +public: // actually package-private + WeakIdentityHashMap$1(::gnu::java::util::WeakIdentityHashMap$WeakEntrySet *); +private: + void checkMod(); + ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * findNext(::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +public: // actually package-private + ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastEntry; + ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * nextEntry; + jint knownMod; + ::gnu::java::util::WeakIdentityHashMap$WeakEntrySet * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_WeakIdentityHashMap$1__ diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h new file mode 100644 index 00000000000..5a7c0dda2ae --- /dev/null +++ b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket$WeakEntry.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_WeakIdentityHashMap$WeakBucket$WeakEntry__ +#define __gnu_java_util_WeakIdentityHashMap$WeakBucket$WeakEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class WeakIdentityHashMap$WeakBucket; + class WeakIdentityHashMap$WeakBucket$WeakEntry; + } + } + } +} + +class gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry : public ::java::lang::Object +{ + +public: + WeakIdentityHashMap$WeakBucket$WeakEntry(::gnu::java::util::WeakIdentityHashMap$WeakBucket *, ::java::lang::Object *); + virtual ::gnu::java::util::WeakIdentityHashMap$WeakBucket * getBucket(); + virtual ::java::lang::Object * getKey(); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::Object * setValue(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::gnu::java::util::WeakIdentityHashMap$WeakBucket * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_WeakIdentityHashMap$WeakBucket$WeakEntry__ diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h new file mode 100644 index 00000000000..ec84addc698 --- /dev/null +++ b/libjava/gnu/java/util/WeakIdentityHashMap$WeakBucket.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_WeakIdentityHashMap$WeakBucket__ +#define __gnu_java_util_WeakIdentityHashMap$WeakBucket__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class WeakIdentityHashMap$WeakBucket; + class WeakIdentityHashMap$WeakBucket$WeakEntry; + } + } + } +} + +class gnu::java::util::WeakIdentityHashMap$WeakBucket : public ::java::lang::ref::WeakReference +{ + +public: + WeakIdentityHashMap$WeakBucket(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *, ::java::lang::Object *, jint); +public: // actually package-private + virtual ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * getEntry(); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::ref::WeakReference)))) value; + ::gnu::java::util::WeakIdentityHashMap$WeakBucket * next; + jint slot; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_WeakIdentityHashMap$WeakBucket__ diff --git a/libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h b/libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h new file mode 100644 index 00000000000..136c1dec243 --- /dev/null +++ b/libjava/gnu/java/util/WeakIdentityHashMap$WeakEntrySet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_WeakIdentityHashMap$WeakEntrySet__ +#define __gnu_java_util_WeakIdentityHashMap$WeakEntrySet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class WeakIdentityHashMap; + class WeakIdentityHashMap$WeakEntrySet; + } + } + } +} + +class gnu::java::util::WeakIdentityHashMap$WeakEntrySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + WeakIdentityHashMap$WeakEntrySet(::gnu::java::util::WeakIdentityHashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); +public: // actually package-private + static ::gnu::java::util::WeakIdentityHashMap * access$0(::gnu::java::util::WeakIdentityHashMap$WeakEntrySet *); + ::gnu::java::util::WeakIdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_WeakIdentityHashMap$WeakEntrySet__ diff --git a/libjava/gnu/java/util/WeakIdentityHashMap.h b/libjava/gnu/java/util/WeakIdentityHashMap.h new file mode 100644 index 00000000000..6bf3aeb7f85 --- /dev/null +++ b/libjava/gnu/java/util/WeakIdentityHashMap.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_WeakIdentityHashMap__ +#define __gnu_java_util_WeakIdentityHashMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + class WeakIdentityHashMap; + class WeakIdentityHashMap$WeakBucket; + class WeakIdentityHashMap$WeakBucket$WeakEntry; + class WeakIdentityHashMap$WeakEntrySet; + } + } + } +} + +class gnu::java::util::WeakIdentityHashMap : public ::java::util::AbstractMap +{ + +public: + WeakIdentityHashMap(); + WeakIdentityHashMap(jint); + WeakIdentityHashMap(jint, jfloat); + WeakIdentityHashMap(::java::util::Map *); +private: + jint hash(::java::lang::Object *); +public: // actually package-private + virtual void cleanQueue(); +private: + void rehash(); + ::gnu::java::util::WeakIdentityHashMap$WeakBucket$WeakEntry * internalGet(::java::lang::Object *); + void internalAdd(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + virtual void internalRemove(::gnu::java::util::WeakIdentityHashMap$WeakBucket *); +public: + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean containsKey(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual void clear(); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * keySet(); + virtual void putAll(::java::util::Map *); + virtual ::java::util::Collection * values(); +private: + static const jint DEFAULT_CAPACITY = 11; + static jfloat DEFAULT_LOAD_FACTOR; +public: // actually package-private + static ::java::lang::Object * NULL_KEY; +private: + ::java::lang::ref::ReferenceQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) queue; +public: // actually package-private + jint size__; +private: + jfloat loadFactor; + jint threshold; +public: // actually package-private + jint modCount; +private: + ::gnu::java::util::WeakIdentityHashMap$WeakEntrySet * theEntrySet; +public: // actually package-private + JArray< ::gnu::java::util::WeakIdentityHashMap$WeakBucket * > * buckets; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_WeakIdentityHashMap__ diff --git a/libjava/gnu/java/util/jar/JarUtils.h b/libjava/gnu/java/util/jar/JarUtils.h new file mode 100644 index 00000000000..4704582d0db --- /dev/null +++ b/libjava/gnu/java/util/jar/JarUtils.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_jar_JarUtils__ +#define __gnu_java_util_jar_JarUtils__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace jar + { + class JarUtils; + } + } + } + } +} + +class gnu::java::util::jar::JarUtils : public ::java::lang::Object +{ + +public: + JarUtils(); + static void readMFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::InputStream *); + static void readSFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::InputStream *); +private: + static void readMainSection(::java::util::jar::Attributes *, ::java::io::BufferedReader *); + static void readIndividualSections(::java::util::Map *, ::java::io::BufferedReader *); + static void readVersionInfo(::java::util::jar::Attributes *, ::java::io::BufferedReader *); + static ::java::lang::String * expectHeader(::java::lang::String *, ::java::io::BufferedReader *); + static void read_attributes(::java::util::jar::Attributes *, ::java::io::BufferedReader *); + static void readAttribute(::java::util::jar::Attributes *, ::java::lang::String *, ::java::io::BufferedReader *); + static ::java::lang::String * readHeaderValue(::java::lang::String *, ::java::io::BufferedReader *); + static ::java::util::jar::Attributes * readSectionName(::java::lang::String *, ::java::io::BufferedReader *, ::java::util::Map *); + static ::java::lang::String * expectHeader(::java::lang::String *, ::java::io::BufferedReader *, ::java::lang::String *); +public: + static void writeMFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::OutputStream *); + static void writeSFManifest(::java::util::jar::Attributes *, ::java::util::Map *, ::java::io::OutputStream *); +private: + static void writeVersionInfo(::java::util::jar::Attributes *, ::java::io::OutputStream *); + static void writeAttributeEntry(::java::util::Map$Entry *, ::java::io::OutputStream *); + static void writeHeader(::java::lang::String *, ::java::lang::String *, ::java::io::OutputStream *); + static ::java::util::logging::Logger * log; +public: + static ::java::lang::String * META_INF; + static ::java::lang::String * DSA_SUFFIX; + static ::java::lang::String * SF_SUFFIX; + static ::java::lang::String * NAME; + static ::java::lang::String * MANIFEST_VERSION; + static ::java::lang::String * SIGNATURE_VERSION; + static JArray< jbyte > * CRLF; +private: + static ::java::lang::String * DEFAULT_MF_VERSION; + static ::java::lang::String * DEFAULT_SF_VERSION; + static ::java::util::jar::Attributes$Name * CREATED_BY; + static ::java::lang::String * CREATOR; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_jar_JarUtils__ diff --git a/libjava/gnu/java/util/prefs/EventDispatcher.h b/libjava/gnu/java/util/prefs/EventDispatcher.h new file mode 100644 index 00000000000..235aabb5ccf --- /dev/null +++ b/libjava/gnu/java/util/prefs/EventDispatcher.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_EventDispatcher__ +#define __gnu_java_util_prefs_EventDispatcher__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class EventDispatcher; + } + } + } + } +} + +class gnu::java::util::prefs::EventDispatcher : public ::java::lang::Thread +{ + + EventDispatcher(); +public: + virtual void run(); + static void dispatch(::java::lang::Runnable *); +private: + static ::java::lang::Thread * dispatchThread; + static ::java::util::ArrayList * queue; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_EventDispatcher__ diff --git a/libjava/gnu/java/util/prefs/FileBasedFactory.h b/libjava/gnu/java/util/prefs/FileBasedFactory.h new file mode 100644 index 00000000000..9dfcca3512b --- /dev/null +++ b/libjava/gnu/java/util/prefs/FileBasedFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_FileBasedFactory__ +#define __gnu_java_util_prefs_FileBasedFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class FileBasedFactory; + } + } + } + } +} + +class gnu::java::util::prefs::FileBasedFactory : public ::java::lang::Object +{ + +public: + FileBasedFactory(); + virtual ::java::util::prefs::Preferences * systemRoot(); + virtual ::java::util::prefs::Preferences * userRoot(); +private: + static ::java::util::prefs::Preferences * systemPreferences; + static ::java::util::prefs::Preferences * userPreferences; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_FileBasedFactory__ diff --git a/libjava/gnu/java/util/prefs/FileBasedPreferences$1.h b/libjava/gnu/java/util/prefs/FileBasedPreferences$1.h new file mode 100644 index 00000000000..279738084ad --- /dev/null +++ b/libjava/gnu/java/util/prefs/FileBasedPreferences$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_FileBasedPreferences$1__ +#define __gnu_java_util_prefs_FileBasedPreferences$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class FileBasedPreferences; + class FileBasedPreferences$1; + } + } + } + } +} + +class gnu::java::util::prefs::FileBasedPreferences$1 : public ::java::lang::Object +{ + +public: // actually package-private + FileBasedPreferences$1(::gnu::java::util::prefs::FileBasedPreferences *); +public: + jboolean accept(::java::io::File *, ::java::lang::String *); +public: // actually package-private + ::gnu::java::util::prefs::FileBasedPreferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_FileBasedPreferences$1__ diff --git a/libjava/gnu/java/util/prefs/FileBasedPreferences.h b/libjava/gnu/java/util/prefs/FileBasedPreferences.h new file mode 100644 index 00000000000..0b699989fb0 --- /dev/null +++ b/libjava/gnu/java/util/prefs/FileBasedPreferences.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_FileBasedPreferences__ +#define __gnu_java_util_prefs_FileBasedPreferences__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class FileBasedPreferences; + } + } + } + } +} + +class gnu::java::util::prefs::FileBasedPreferences : public ::java::util::prefs::AbstractPreferences +{ + +public: // actually package-private + FileBasedPreferences(); + FileBasedPreferences(::gnu::java::util::prefs::FileBasedPreferences *, ::java::lang::String *); +private: + void load(); +public: + virtual jboolean isUserNode(); +public: // actually protected + virtual JArray< ::java::lang::String * > * childrenNamesSpi(); + virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *); + virtual JArray< ::java::lang::String * > * keysSpi(); + virtual ::java::lang::String * getSpi(::java::lang::String *); + virtual void putSpi(::java::lang::String *, ::java::lang::String *); + virtual void removeSpi(::java::lang::String *); + virtual void flushSpi(); + virtual void syncSpi(); + virtual void removeNodeSpi(); +private: + static ::java::lang::String * DATA_FILE; + ::java::io::File * __attribute__((aligned(__alignof__( ::java::util::prefs::AbstractPreferences)))) directory; + ::java::io::File * dataFile; + ::java::util::Properties * properties; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_FileBasedPreferences__ diff --git a/libjava/gnu/java/util/prefs/GConfBasedFactory.h b/libjava/gnu/java/util/prefs/GConfBasedFactory.h new file mode 100644 index 00000000000..eca98e33c1e --- /dev/null +++ b/libjava/gnu/java/util/prefs/GConfBasedFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_GConfBasedFactory__ +#define __gnu_java_util_prefs_GConfBasedFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class GConfBasedFactory; + } + } + } + } +} + +class gnu::java::util::prefs::GConfBasedFactory : public ::java::lang::Object +{ + +public: + GConfBasedFactory(); + virtual ::java::util::prefs::Preferences * systemRoot(); + virtual ::java::util::prefs::Preferences * userRoot(); +private: + static ::java::util::prefs::Preferences * systemPreferences; + static ::java::util::prefs::Preferences * userPreferences; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_GConfBasedFactory__ diff --git a/libjava/gnu/java/util/prefs/GConfBasedPreferences.h b/libjava/gnu/java/util/prefs/GConfBasedPreferences.h new file mode 100644 index 00000000000..54f9f011104 --- /dev/null +++ b/libjava/gnu/java/util/prefs/GConfBasedPreferences.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_GConfBasedPreferences__ +#define __gnu_java_util_prefs_GConfBasedPreferences__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class GConfBasedPreferences; + namespace gconf + { + class GConfNativePeer; + } + } + } + } + } + namespace java + { + namespace security + { + class Permission; + } + } +} + +class gnu::java::util::prefs::GConfBasedPreferences : public ::java::util::prefs::AbstractPreferences +{ + +public: + GConfBasedPreferences(); + GConfBasedPreferences(jboolean); + GConfBasedPreferences(::java::util::prefs::AbstractPreferences *, ::java::lang::String *, jboolean); +public: // actually protected + virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *); + virtual JArray< ::java::lang::String * > * childrenNamesSpi(); +public: + virtual void flush(); +public: // actually protected + virtual void flushSpi(); + virtual JArray< ::java::lang::String * > * keysSpi(); +private: + void postorderRemove(::java::lang::String *); +public: // actually protected + virtual void putSpi(::java::lang::String *, ::java::lang::String *); + virtual void removeNodeSpi(); + virtual void removeSpi(::java::lang::String *); +public: + virtual void sync(); +public: // actually protected + virtual void syncSpi(); + virtual ::java::lang::String * getSpi(::java::lang::String *); +public: + virtual jboolean isUserNode(); +private: + ::java::lang::String * getGConfKey(::java::lang::String *); + ::java::lang::String * getRealRoot(jboolean); + static ::java::security::Permission * PERMISSION; + static ::gnu::java::util::prefs::gconf::GConfNativePeer * backend; + static ::java::lang::String * DEFAULT_USER_ROOT; + static ::java::lang::String * DEFAULT_SYSTEM_ROOT; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::prefs::AbstractPreferences)))) node; + jboolean isUser; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_GConfBasedPreferences__ diff --git a/libjava/gnu/java/util/prefs/MemoryBasedFactory.h b/libjava/gnu/java/util/prefs/MemoryBasedFactory.h new file mode 100644 index 00000000000..7eb4c3d4b19 --- /dev/null +++ b/libjava/gnu/java/util/prefs/MemoryBasedFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_MemoryBasedFactory__ +#define __gnu_java_util_prefs_MemoryBasedFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class MemoryBasedFactory; + } + } + } + } +} + +class gnu::java::util::prefs::MemoryBasedFactory : public ::java::lang::Object +{ + +public: + MemoryBasedFactory(); + virtual ::java::util::prefs::Preferences * systemRoot(); + virtual ::java::util::prefs::Preferences * userRoot(); +private: + static ::java::util::prefs::Preferences * systemPreferences; + static ::java::util::prefs::Preferences * userPreferences; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_MemoryBasedFactory__ diff --git a/libjava/gnu/java/util/prefs/MemoryBasedPreferences.h b/libjava/gnu/java/util/prefs/MemoryBasedPreferences.h new file mode 100644 index 00000000000..5e73aa0eddd --- /dev/null +++ b/libjava/gnu/java/util/prefs/MemoryBasedPreferences.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_MemoryBasedPreferences__ +#define __gnu_java_util_prefs_MemoryBasedPreferences__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class MemoryBasedPreferences; + } + } + } + } +} + +class gnu::java::util::prefs::MemoryBasedPreferences : public ::java::util::prefs::AbstractPreferences +{ + +public: + MemoryBasedPreferences(::gnu::java::util::prefs::MemoryBasedPreferences *, ::java::lang::String *, jboolean); + virtual jboolean isUserNode(); +public: // actually protected + virtual JArray< ::java::lang::String * > * childrenNamesSpi(); + virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *); + virtual JArray< ::java::lang::String * > * keysSpi(); + virtual ::java::lang::String * getSpi(::java::lang::String *); + virtual void putSpi(::java::lang::String *, ::java::lang::String *); + virtual void removeSpi(::java::lang::String *); + virtual void flushSpi(); + virtual void syncSpi(); + virtual void removeNodeSpi(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::util::prefs::AbstractPreferences)))) isUser; + ::java::util::HashMap * entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_MemoryBasedPreferences__ diff --git a/libjava/gnu/java/util/prefs/NodeReader.h b/libjava/gnu/java/util/prefs/NodeReader.h new file mode 100644 index 00000000000..e62b0237573 --- /dev/null +++ b/libjava/gnu/java/util/prefs/NodeReader.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_NodeReader__ +#define __gnu_java_util_prefs_NodeReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class NodeReader; + } + } + } + } +} + +class gnu::java::util::prefs::NodeReader : public ::java::lang::Object +{ + +public: + NodeReader(::java::io::Reader *, ::java::util::prefs::PreferencesFactory *); + NodeReader(::java::io::InputStream *, ::java::util::prefs::PreferencesFactory *); + virtual void importPreferences(); +private: + void readPreferences(); + void readRoot(); + void readNodes(::java::util::prefs::Preferences *); + void readMap(::java::util::prefs::Preferences *); + void readEntries(::java::util::prefs::Preferences *); + void skipTill(::java::lang::String *); + ::java::lang::String * readTill(::java::lang::String *); + ::java::lang::String * nextTag(); + ::java::io::BufferedReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) br; + ::java::lang::String * line; + ::java::util::prefs::PreferencesFactory * factory; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_NodeReader__ diff --git a/libjava/gnu/java/util/prefs/NodeWriter.h b/libjava/gnu/java/util/prefs/NodeWriter.h new file mode 100644 index 00000000000..65b7380d007 --- /dev/null +++ b/libjava/gnu/java/util/prefs/NodeWriter.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_NodeWriter__ +#define __gnu_java_util_prefs_NodeWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + class NodeWriter; + } + } + } + } +} + +class gnu::java::util::prefs::NodeWriter : public ::java::lang::Object +{ + +public: + NodeWriter(::java::util::prefs::Preferences *, ::java::io::OutputStream *); + virtual void writePrefsTree(); + virtual void writePrefs(); +private: + void writeHeader(); + void writePreferences(); + void writeRoot(); + void writeRootMap(); + jint writeParents(); + void writeCloseParents(jint); + void writeNode(); + void writeNode(::java::util::prefs::Preferences *, jint); + void writeMap(::java::util::prefs::Preferences *, jint); + void writeEntries(::java::util::prefs::Preferences *, ::java::lang::String *); + void indent(jint); + ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prefs; + ::java::io::BufferedWriter * bw; + jboolean subtree; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_NodeWriter__ diff --git a/libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h b/libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h new file mode 100644 index 00000000000..5d0945a32dc --- /dev/null +++ b/libjava/gnu/java/util/prefs/gconf/GConfNativePeer.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_prefs_gconf_GConfNativePeer__ +#define __gnu_java_util_prefs_gconf_GConfNativePeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace prefs + { + namespace gconf + { + class GConfNativePeer; + } + } + } + } + } +} + +class gnu::java::util::prefs::gconf::GConfNativePeer : public ::java::lang::Object +{ + +public: + GConfNativePeer(); + jboolean nodeExist(::java::lang::String *); + void startWatchingNode(::java::lang::String *); + void stopWatchingNode(::java::lang::String *); + jboolean setString(::java::lang::String *, ::java::lang::String *); + jboolean unset(::java::lang::String *); + ::java::lang::String * getKey(::java::lang::String *); + ::java::util::List * getKeys(::java::lang::String *); + ::java::util::List * getChildrenNodes(::java::lang::String *); + static ::java::lang::String * escapeString(::java::lang::String *); + static ::java::lang::String * unescapeString(::java::lang::String *); + void suggestSync(); +public: // actually protected + void finalize(); +private: + static void init_id_cache(); + static void init_class(); + static void finalize_class(); +public: // actually protected + static jboolean gconf_client_dir_exists(::java::lang::String *); + static void gconf_client_add_dir(::java::lang::String *); + static void gconf_client_remove_dir(::java::lang::String *); + static jboolean gconf_client_set_string(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * gconf_client_get_string(::java::lang::String *); + static jboolean gconf_client_unset(::java::lang::String *); + static void gconf_client_suggest_sync(); + static ::java::util::List * gconf_client_all_nodes(::java::lang::String *); + static ::java::util::List * gconf_client_all_keys(::java::lang::String *); + static ::java::lang::String * gconf_escape_key(::java::lang::String *); + static ::java::lang::String * gconf_unescape_key(::java::lang::String *); +private: + static JArray< ::java::lang::Object * > * semaphore; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_prefs_gconf_GConfNativePeer__ diff --git a/libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h b/libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h new file mode 100644 index 00000000000..00d9e51fc9e --- /dev/null +++ b/libjava/gnu/java/util/regex/BacktrackStack$Backtrack.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_BacktrackStack$Backtrack__ +#define __gnu_java_util_regex_BacktrackStack$Backtrack__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class BacktrackStack$Backtrack; + class CharIndexed; + class REMatch; + class REToken; + } + } + } + } +} + +class gnu::java::util::regex::BacktrackStack$Backtrack : public ::java::lang::Object +{ + +public: // actually package-private + BacktrackStack$Backtrack(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *); + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::java::lang::Object)))) token; + ::gnu::java::util::regex::CharIndexed * input; + ::gnu::java::util::regex::REMatch * match; + ::java::lang::Object * param; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_BacktrackStack$Backtrack__ diff --git a/libjava/gnu/java/util/regex/BacktrackStack.h b/libjava/gnu/java/util/regex/BacktrackStack.h new file mode 100644 index 00000000000..94ab3fdd682 --- /dev/null +++ b/libjava/gnu/java/util/regex/BacktrackStack.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_BacktrackStack__ +#define __gnu_java_util_regex_BacktrackStack__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class BacktrackStack; + class BacktrackStack$Backtrack; + } + } + } + } +} + +class gnu::java::util::regex::BacktrackStack : public ::java::lang::Object +{ + +public: // actually package-private + BacktrackStack(); + jboolean empty(); + ::gnu::java::util::regex::BacktrackStack$Backtrack * peek(); + ::gnu::java::util::regex::BacktrackStack$Backtrack * pop(); + void clear(); + void push(::gnu::java::util::regex::BacktrackStack$Backtrack *); + JArray< ::gnu::java::util::regex::BacktrackStack$Backtrack * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stack; +private: + jint size; + jint capacity; + static const jint INITIAL_CAPACITY = 32; + static const jint CAPACITY_INCREMENT = 16; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_BacktrackStack__ diff --git a/libjava/gnu/java/util/regex/CharIndexed.h b/libjava/gnu/java/util/regex/CharIndexed.h new file mode 100644 index 00000000000..0f2687a6866 --- /dev/null +++ b/libjava/gnu/java/util/regex/CharIndexed.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_CharIndexed__ +#define __gnu_java_util_regex_CharIndexed__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + } + } + } + } +} + +class gnu::java::util::regex::CharIndexed : public ::java::lang::Object +{ + +public: + virtual jchar charAt(jint) = 0; + virtual jboolean move(jint) = 0; + virtual jboolean move1(jint) = 0; + virtual jboolean isValid() = 0; + virtual ::gnu::java::util::regex::CharIndexed * lookBehind(jint, jint) = 0; + virtual jint length() = 0; + virtual void setLastMatch(::gnu::java::util::regex::REMatch *) = 0; + virtual ::gnu::java::util::regex::REMatch * getLastMatch() = 0; + virtual void setHitEnd(::gnu::java::util::regex::REMatch *) = 0; + virtual jboolean hitEnd() = 0; + virtual jint getAnchor() = 0; + virtual void setAnchor(jint) = 0; + static const jchar OUT_OF_BOUNDS = 65535; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_java_util_regex_CharIndexed__ diff --git a/libjava/gnu/java/util/regex/CharIndexedCharArray.h b/libjava/gnu/java/util/regex/CharIndexedCharArray.h new file mode 100644 index 00000000000..30e97db5561 --- /dev/null +++ b/libjava/gnu/java/util/regex/CharIndexedCharArray.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_CharIndexedCharArray__ +#define __gnu_java_util_regex_CharIndexedCharArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexedCharArray; + } + } + } + } +} + +class gnu::java::util::regex::CharIndexedCharArray : public ::gnu::java::util::regex::CharIndexedCharSequence +{ + +public: // actually package-private + CharIndexedCharArray(JArray< jchar > *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_CharIndexedCharArray__ diff --git a/libjava/gnu/java/util/regex/CharIndexedCharSequence.h b/libjava/gnu/java/util/regex/CharIndexedCharSequence.h new file mode 100644 index 00000000000..f45b1460b97 --- /dev/null +++ b/libjava/gnu/java/util/regex/CharIndexedCharSequence.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_CharIndexedCharSequence__ +#define __gnu_java_util_regex_CharIndexedCharSequence__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class CharIndexedCharSequence; + class REMatch; + } + } + } + } +} + +class gnu::java::util::regex::CharIndexedCharSequence : public ::java::lang::Object +{ + +public: // actually package-private + CharIndexedCharSequence(::java::lang::CharSequence *, jint); +public: + virtual jchar charAt(jint); + virtual jboolean isValid(); + virtual jboolean move(jint); + virtual jboolean move1(jint); + virtual ::gnu::java::util::regex::CharIndexed * lookBehind(jint, jint); + virtual jint length(); + virtual void setLastMatch(::gnu::java::util::regex::REMatch *); + virtual ::gnu::java::util::regex::REMatch * getLastMatch(); + virtual void setHitEnd(::gnu::java::util::regex::REMatch *); + virtual jboolean hitEnd(); + virtual jint getAnchor(); + virtual void setAnchor(jint); +private: + ::java::lang::CharSequence * __attribute__((aligned(__alignof__( ::java::lang::Object)))) s; + jint anchor; + jint len; + ::gnu::java::util::regex::REMatch * lastMatch; + jint rightmostTriedPosition; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_CharIndexedCharSequence__ diff --git a/libjava/gnu/java/util/regex/CharIndexedInputStream.h b/libjava/gnu/java/util/regex/CharIndexedInputStream.h new file mode 100644 index 00000000000..46c8582669a --- /dev/null +++ b/libjava/gnu/java/util/regex/CharIndexedInputStream.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_CharIndexedInputStream__ +#define __gnu_java_util_regex_CharIndexedInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class CharIndexedInputStream; + class REMatch; + } + } + } + } +} + +class gnu::java::util::regex::CharIndexedInputStream : public ::java::lang::Object +{ + +public: // actually package-private + CharIndexedInputStream(::java::io::InputStream *, jint); +private: + jboolean next(); +public: + virtual jchar charAt(jint); + virtual jboolean move(jint); + virtual jboolean isValid(); + virtual ::gnu::java::util::regex::CharIndexed * lookBehind(jint, jint); + virtual jint length(); + virtual void setLastMatch(::gnu::java::util::regex::REMatch *); + virtual ::gnu::java::util::regex::REMatch * getLastMatch(); + virtual void setHitEnd(::gnu::java::util::regex::REMatch *); + virtual jboolean hitEnd(); + virtual jint getAnchor(); + virtual void setAnchor(jint); + virtual jboolean move1(jint); +private: + static const jint BUFFER_INCREMENT = 1024; + static const jint UNKNOWN = 2147483647; + ::java::io::BufferedInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) br; + jint index; + jint bufsize; + jint end; + jchar cached; + JArray< jchar > * lookBehind__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_CharIndexedInputStream__ diff --git a/libjava/gnu/java/util/regex/CharIndexedString.h b/libjava/gnu/java/util/regex/CharIndexedString.h new file mode 100644 index 00000000000..e250a31d8ac --- /dev/null +++ b/libjava/gnu/java/util/regex/CharIndexedString.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_CharIndexedString__ +#define __gnu_java_util_regex_CharIndexedString__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexedString; + } + } + } + } +} + +class gnu::java::util::regex::CharIndexedString : public ::gnu::java::util::regex::CharIndexedCharSequence +{ + +public: // actually package-private + CharIndexedString(::java::lang::String *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_CharIndexedString__ diff --git a/libjava/gnu/java/util/regex/CharIndexedStringBuffer.h b/libjava/gnu/java/util/regex/CharIndexedStringBuffer.h new file mode 100644 index 00000000000..497422bfa59 --- /dev/null +++ b/libjava/gnu/java/util/regex/CharIndexedStringBuffer.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_CharIndexedStringBuffer__ +#define __gnu_java_util_regex_CharIndexedStringBuffer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexedStringBuffer; + } + } + } + } +} + +class gnu::java::util::regex::CharIndexedStringBuffer : public ::gnu::java::util::regex::CharIndexedCharSequence +{ + +public: // actually package-private + CharIndexedStringBuffer(::java::lang::StringBuffer *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_CharIndexedStringBuffer__ diff --git a/libjava/gnu/java/util/regex/RE$CharExpression.h b/libjava/gnu/java/util/regex/RE$CharExpression.h new file mode 100644 index 00000000000..d39ea7bc54f --- /dev/null +++ b/libjava/gnu/java/util/regex/RE$CharExpression.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RE$CharExpression__ +#define __gnu_java_util_regex_RE$CharExpression__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RE$CharExpression; + } + } + } + } +} + +class gnu::java::util::regex::RE$CharExpression : public ::java::lang::Object +{ + + RE$CharExpression(); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + RE$CharExpression(::gnu::java::util::regex::RE$CharExpression *); + jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) ch; + ::java::lang::String * expr; + jint len; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RE$CharExpression__ diff --git a/libjava/gnu/java/util/regex/RE$CharUnit.h b/libjava/gnu/java/util/regex/RE$CharUnit.h new file mode 100644 index 00000000000..2ca308880e1 --- /dev/null +++ b/libjava/gnu/java/util/regex/RE$CharUnit.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RE$CharUnit__ +#define __gnu_java_util_regex_RE$CharUnit__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RE$CharUnit; + } + } + } + } +} + +class gnu::java::util::regex::RE$CharUnit : public ::java::lang::Object +{ + + RE$CharUnit(); +public: // actually package-private + RE$CharUnit(::gnu::java::util::regex::RE$CharUnit *); +public: + jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) ch; + jboolean bk; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RE$CharUnit__ diff --git a/libjava/gnu/java/util/regex/RE$IntPair.h b/libjava/gnu/java/util/regex/RE$IntPair.h new file mode 100644 index 00000000000..88019c2939d --- /dev/null +++ b/libjava/gnu/java/util/regex/RE$IntPair.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RE$IntPair__ +#define __gnu_java_util_regex_RE$IntPair__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RE$IntPair; + } + } + } + } +} + +class gnu::java::util::regex::RE$IntPair : public ::java::lang::Object +{ + + RE$IntPair(); +public: // actually package-private + RE$IntPair(::gnu::java::util::regex::RE$IntPair *); +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) first; + jint second; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RE$IntPair__ diff --git a/libjava/gnu/java/util/regex/RE$NamedProperty.h b/libjava/gnu/java/util/regex/RE$NamedProperty.h new file mode 100644 index 00000000000..a874f8500fa --- /dev/null +++ b/libjava/gnu/java/util/regex/RE$NamedProperty.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RE$NamedProperty__ +#define __gnu_java_util_regex_RE$NamedProperty__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RE$NamedProperty; + } + } + } + } +} + +class gnu::java::util::regex::RE$NamedProperty : public ::java::lang::Object +{ + + RE$NamedProperty(); +public: // actually package-private + RE$NamedProperty(::gnu::java::util::regex::RE$NamedProperty *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jboolean negate; + jint len; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RE$NamedProperty__ diff --git a/libjava/gnu/java/util/regex/RE$ParseCharClassResult.h b/libjava/gnu/java/util/regex/RE$ParseCharClassResult.h new file mode 100644 index 00000000000..539587703dc --- /dev/null +++ b/libjava/gnu/java/util/regex/RE$ParseCharClassResult.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RE$ParseCharClassResult__ +#define __gnu_java_util_regex_RE$ParseCharClassResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RE$ParseCharClassResult; + class RETokenOneOf; + } + } + } + } +} + +class gnu::java::util::regex::RE$ParseCharClassResult : public ::java::lang::Object +{ + + RE$ParseCharClassResult(); +public: // actually package-private + RE$ParseCharClassResult(::gnu::java::util::regex::RE$ParseCharClassResult *); + ::gnu::java::util::regex::RETokenOneOf * __attribute__((aligned(__alignof__( ::java::lang::Object)))) token; + jint index; + jboolean returnAtAndOperator; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RE$ParseCharClassResult__ diff --git a/libjava/gnu/java/util/regex/RE.h b/libjava/gnu/java/util/regex/RE.h new file mode 100644 index 00000000000..4d431958915 --- /dev/null +++ b/libjava/gnu/java/util/regex/RE.h @@ -0,0 +1,146 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RE__ +#define __gnu_java_util_regex_RE__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class RE; + class RE$CharExpression; + class RE$CharUnit; + class RE$IntPair; + class RE$NamedProperty; + class RE$ParseCharClassResult; + class REMatch; + class REMatchEnumeration; + class RESyntax; + class REToken; + class RETokenNamedProperty; + } + } + } + } +} + +class gnu::java::util::regex::RE : public ::gnu::java::util::regex::REToken +{ + +public: + static ::java::lang::String * version(); +public: // actually package-private + static ::java::lang::String * getLocalizedMessage(::java::lang::String *); +public: + RE(::java::lang::Object *); + RE(::java::lang::Object *, jint); + RE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *); +private: + RE(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::REToken *, jint, jint, jint, jint); + RE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *, jint, jint); +public: // actually protected + RE(); + virtual void initialize(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *, jint, jint); +private: + static ::gnu::java::util::regex::RE$ParseCharClassResult * parseCharClass(jint, JArray< jchar > *, jint, jint, jint, ::gnu::java::util::regex::RESyntax *, jint); + static jint getCharUnit(JArray< jchar > *, jint, ::gnu::java::util::regex::RE$CharUnit *, jboolean); + static jint parseInt(JArray< jchar > *, jint, jint, jint); + static ::gnu::java::util::regex::RE$CharExpression * getCharExpression(JArray< jchar > *, jint, jint, ::gnu::java::util::regex::RESyntax *); + static ::gnu::java::util::regex::RE$NamedProperty * getNamedProperty(JArray< jchar > *, jint, jint); + static ::gnu::java::util::regex::RETokenNamedProperty * getRETokenNamedProperty(jint, ::gnu::java::util::regex::RE$NamedProperty *, jboolean, jint); +public: + virtual jboolean isMatch(::java::lang::Object *); + virtual jboolean isMatch(::java::lang::Object *, jint); + virtual jboolean isMatch(::java::lang::Object *, jint, jint); +private: + jboolean isMatchImpl(::gnu::java::util::regex::CharIndexed *, jint, jint); +public: + virtual jint getNumSubs(); +public: // actually package-private + virtual void setUncle(::gnu::java::util::regex::REToken *); + virtual jboolean chain(::gnu::java::util::regex::REToken *); +public: + virtual jint getMinimumLength(); + virtual jint getMaximumLength(); + virtual JArray< ::gnu::java::util::regex::REMatch * > * getAllMatches(::java::lang::Object *); + virtual JArray< ::gnu::java::util::regex::REMatch * > * getAllMatches(::java::lang::Object *, jint); + virtual JArray< ::gnu::java::util::regex::REMatch * > * getAllMatches(::java::lang::Object *, jint, jint); +private: + JArray< ::gnu::java::util::regex::REMatch * > * getAllMatchesImpl(::gnu::java::util::regex::CharIndexed *, jint, jint); +public: // actually package-private + virtual jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +public: + virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *); + virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *, jint); + virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *, jint, jint); + virtual ::gnu::java::util::regex::REMatch * getMatch(::java::lang::Object *, jint, jint, ::java::lang::StringBuffer *); +public: // actually package-private + virtual ::gnu::java::util::regex::REMatch * getMatchImpl(::gnu::java::util::regex::CharIndexed *, jint, jint, ::java::lang::StringBuffer *); +public: + virtual ::gnu::java::util::regex::REMatchEnumeration * getMatchEnumeration(::java::lang::Object *); + virtual ::gnu::java::util::regex::REMatchEnumeration * getMatchEnumeration(::java::lang::Object *, jint); + virtual ::gnu::java::util::regex::REMatchEnumeration * getMatchEnumeration(::java::lang::Object *, jint, jint); + virtual ::java::lang::String * substitute(::java::lang::Object *, ::java::lang::String *); + virtual ::java::lang::String * substitute(::java::lang::Object *, ::java::lang::String *, jint); + virtual ::java::lang::String * substitute(::java::lang::Object *, ::java::lang::String *, jint, jint); +private: + ::java::lang::String * substituteImpl(::gnu::java::util::regex::CharIndexed *, ::java::lang::String *, jint, jint); +public: + virtual ::java::lang::String * substituteAll(::java::lang::Object *, ::java::lang::String *); + virtual ::java::lang::String * substituteAll(::java::lang::Object *, ::java::lang::String *, jint); + virtual ::java::lang::String * substituteAll(::java::lang::Object *, ::java::lang::String *, jint, jint); +private: + ::java::lang::String * substituteAllImpl(::gnu::java::util::regex::CharIndexed *, ::java::lang::String *, jint, jint); +public: + static ::java::lang::String * getReplacement(::java::lang::String *, ::gnu::java::util::regex::REMatch *, jint); +private: + void addToken(::gnu::java::util::regex::REToken *); + static ::gnu::java::util::regex::REToken * setRepeated(::gnu::java::util::regex::REToken *, jint, jint, jint); + static jint getPosixSet(JArray< jchar > *, jint, ::java::lang::StringBuffer *); + jint getMinMax(JArray< jchar > *, jint, ::gnu::java::util::regex::RE$IntPair *, ::gnu::java::util::regex::RESyntax *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual void dump(::java::lang::StringBuffer *); +public: + static ::gnu::java::util::regex::CharIndexed * makeCharIndexed(::java::lang::Object *, jint); +private: + static ::java::lang::String * VERSION; + static ::java::util::ResourceBundle * messages; + static ::java::lang::String * bundle; + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) firstToken; + ::gnu::java::util::regex::REToken * lastToken; + jint numSubs; + jint minimumLength; + jint maximumLength; +public: + static const jint REG_ICASE = 2; + static const jint REG_DOT_NEWLINE = 4; + static const jint REG_MULTILINE = 8; + static const jint REG_NOTBOL = 16; + static const jint REG_NOTEOL = 32; + static const jint REG_ANCHORINDEX = 64; + static const jint REG_NO_INTERPOLATE = 128; + static const jint REG_TRY_ENTIRE_MATCH = 256; + static const jint REG_REPLACE_USE_BACKSLASHESCAPE = 512; + static const jint REG_X_COMMENTS = 1024; + static const jint REG_ICASE_USASCII = 2048; + static const jint REG_FIX_STARTING_POSITION = 4096; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RE__ diff --git a/libjava/gnu/java/util/regex/REException.h b/libjava/gnu/java/util/regex/REException.h new file mode 100644 index 00000000000..da4560b2fe8 --- /dev/null +++ b/libjava/gnu/java/util/regex/REException.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_REException__ +#define __gnu_java_util_regex_REException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class REException; + } + } + } + } +} + +class gnu::java::util::regex::REException : public ::java::lang::Exception +{ + +public: // actually package-private + REException(::java::lang::String *, jint, jint); +public: + virtual jint getType(); + virtual jint getPosition(); + virtual ::java::lang::String * getMessage(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) type; + jint pos; +public: + static const jint REG_BADRPT = 1; + static const jint REG_BADBR = 2; + static const jint REG_EBRACE = 3; + static const jint REG_EBRACK = 4; + static const jint REG_ERANGE = 5; + static const jint REG_ECTYPE = 6; + static const jint REG_EPAREN = 7; + static const jint REG_ESUBREG = 8; + static const jint REG_EEND = 9; + static const jint REG_ESCAPE = 10; + static const jint REG_BADPAT = 11; + static const jint REG_ESIZE = 12; + static const jint REG_ESPACE = 13; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_REException__ diff --git a/libjava/gnu/java/util/regex/REFilterInputStream.h b/libjava/gnu/java/util/regex/REFilterInputStream.h new file mode 100644 index 00000000000..2bed2653615 --- /dev/null +++ b/libjava/gnu/java/util/regex/REFilterInputStream.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_REFilterInputStream__ +#define __gnu_java_util_regex_REFilterInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexedInputStream; + class RE; + class REFilterInputStream; + } + } + } + } +} + +class gnu::java::util::regex::REFilterInputStream : public ::java::io::FilterInputStream +{ + +public: + REFilterInputStream(::java::io::InputStream *, ::gnu::java::util::regex::RE *, ::java::lang::String *); + virtual jint read(); + virtual jboolean markSupported(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); +private: + ::gnu::java::util::regex::RE * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) expr; + ::java::lang::String * replace; + ::java::lang::String * buffer; + jint bufpos; + jint offset; + ::gnu::java::util::regex::CharIndexedInputStream * stream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_REFilterInputStream__ diff --git a/libjava/gnu/java/util/regex/REMatch.h b/libjava/gnu/java/util/regex/REMatch.h new file mode 100644 index 00000000000..363bb74a45b --- /dev/null +++ b/libjava/gnu/java/util/regex/REMatch.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_REMatch__ +#define __gnu_java_util_regex_REMatch__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class BacktrackStack; + class CharIndexed; + class REMatch; + } + } + } + } +} + +class gnu::java::util::regex::REMatch : public ::java::lang::Object +{ + +public: + ::java::lang::Object * clone(); +public: // actually package-private + void assignFrom(::gnu::java::util::regex::REMatch *); + REMatch(jint, jint, jint); + void finish(::gnu::java::util::regex::CharIndexed *); + void clear(jint); +public: + ::java::lang::String * toString(); + jint getStartIndex(); + jint getEndIndex(); + ::java::lang::String * toString(jint); + jint getSubStartIndex(jint); + jint getStartIndex(jint); + jint getSubEndIndex(jint); + jint getEndIndex(jint); + ::java::lang::String * substituteInto(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) matchedText; + ::gnu::java::util::regex::CharIndexed * matchedCharIndexed; +public: // actually package-private + jint eflags; + jint offset; + jint anchor; + jint index; + JArray< jint > * start; + JArray< jint > * start1; + JArray< jint > * end; + jboolean empty; + ::gnu::java::util::regex::BacktrackStack * backtrackStack; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_REMatch__ diff --git a/libjava/gnu/java/util/regex/REMatchEnumeration.h b/libjava/gnu/java/util/regex/REMatchEnumeration.h new file mode 100644 index 00000000000..caab8c81e2f --- /dev/null +++ b/libjava/gnu/java/util/regex/REMatchEnumeration.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_REMatchEnumeration__ +#define __gnu_java_util_regex_REMatchEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class RE; + class REMatch; + class REMatchEnumeration; + } + } + } + } +} + +class gnu::java::util::regex::REMatchEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + REMatchEnumeration(::gnu::java::util::regex::RE *, ::gnu::java::util::regex::CharIndexed *, jint, jint); +public: + virtual jboolean hasMoreElements(); + virtual jboolean hasMoreMatches(); + virtual jboolean hasMoreMatches(::java::lang::StringBuffer *); + virtual ::java::lang::Object * nextElement(); + virtual ::gnu::java::util::regex::REMatch * nextMatch(); +private: + static const jint YES = 1; + static const jint MAYBE = 0; + static const jint NO = -1; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) more; + ::gnu::java::util::regex::REMatch * match; + ::gnu::java::util::regex::RE * expr; + ::gnu::java::util::regex::CharIndexed * input; + jint eflags; + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_REMatchEnumeration__ diff --git a/libjava/gnu/java/util/regex/RESyntax.h b/libjava/gnu/java/util/regex/RESyntax.h new file mode 100644 index 00000000000..59c8de002e9 --- /dev/null +++ b/libjava/gnu/java/util/regex/RESyntax.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RESyntax__ +#define __gnu_java_util_regex_RESyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RESyntax; + } + } + } + } +} + +class gnu::java::util::regex::RESyntax : public ::java::lang::Object +{ + +public: + RESyntax(); + ::gnu::java::util::regex::RESyntax * makeFinal(); + RESyntax(::gnu::java::util::regex::RESyntax *); + jboolean get(jint); + ::gnu::java::util::regex::RESyntax * set(jint); + ::gnu::java::util::regex::RESyntax * clear(jint); + ::gnu::java::util::regex::RESyntax * setLineSeparator(::java::lang::String *); + ::java::lang::String * getLineSeparator(); +public: // actually package-private + static ::java::lang::String * DEFAULT_LINE_SEPARATOR; +private: + ::java::util::BitSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bits; + jboolean isFinal; + ::java::lang::String * lineSeparator; +public: + static const jint RE_BACKSLASH_ESCAPE_IN_LISTS = 0; + static const jint RE_BK_PLUS_QM = 1; + static const jint RE_CHAR_CLASSES = 2; + static const jint RE_CONTEXT_INDEP_ANCHORS = 3; + static const jint RE_CONTEXT_INDEP_OPS = 4; + static const jint RE_CONTEXT_INVALID_OPS = 5; + static const jint RE_DOT_NEWLINE = 6; + static const jint RE_DOT_NOT_NULL = 7; + static const jint RE_INTERVALS = 8; + static const jint RE_LIMITED_OPS = 9; + static const jint RE_NEWLINE_ALT = 10; + static const jint RE_NO_BK_BRACES = 11; + static const jint RE_NO_BK_PARENS = 12; + static const jint RE_NO_BK_REFS = 13; + static const jint RE_NO_BK_VBAR = 14; + static const jint RE_NO_EMPTY_RANGES = 15; + static const jint RE_UNMATCHED_RIGHT_PAREN_ORD = 16; + static const jint RE_HAT_LISTS_NOT_NEWLINE = 17; + static const jint RE_STINGY_OPS = 18; + static const jint RE_CHAR_CLASS_ESCAPES = 19; + static const jint RE_PURE_GROUPING = 20; + static const jint RE_LOOKAHEAD = 21; + static const jint RE_STRING_ANCHORS = 22; + static const jint RE_COMMENTS = 23; + static const jint RE_CHAR_CLASS_ESC_IN_LISTS = 24; + static const jint RE_POSSESSIVE_OPS = 25; + static const jint RE_EMBEDDED_FLAGS = 26; + static const jint RE_OCTAL_CHAR = 27; + static const jint RE_HEX_CHAR = 28; + static const jint RE_UNICODE_CHAR = 29; + static const jint RE_NAMED_PROPERTY = 30; + static const jint RE_NESTED_CHARCLASS = 31; +private: + static const jint BIT_TOTAL = 32; +public: + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_AWK; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_ED; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_EGREP; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_EMACS; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_GREP; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_AWK; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_BASIC; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_EGREP; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_EXTENDED; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_MINIMAL_BASIC; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_POSIX_MINIMAL_EXTENDED; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_SED; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL4; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL4_S; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL5; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_PERL5_S; + static ::gnu::java::util::regex::RESyntax * RE_SYNTAX_JAVA_1_4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RESyntax__ diff --git a/libjava/gnu/java/util/regex/REToken.h b/libjava/gnu/java/util/regex/REToken.h new file mode 100644 index 00000000000..49ef5aef0c7 --- /dev/null +++ b/libjava/gnu/java/util/regex/REToken.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_REToken__ +#define __gnu_java_util_regex_REToken__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class REToken; + } + } + } + } +} + +class gnu::java::util::regex::REToken : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + REToken(jint); +public: // actually package-private + virtual jint getMinimumLength(); + virtual jint getMaximumLength(); + virtual void setUncle(::gnu::java::util::regex::REToken *); + virtual jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual jboolean matchFake(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +private: + jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jboolean); +public: // actually package-private + virtual void setHitEnd(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +public: // actually protected + virtual jboolean next(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +public: // actually package-private + virtual ::gnu::java::util::regex::REToken * getNext(); + virtual ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual jboolean returnsFixedLengthMatches(); + virtual jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + virtual ::gnu::java::util::regex::REMatch * backtrack(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *); + virtual jboolean chain(::gnu::java::util::regex::REToken *); + virtual void dump(::java::lang::StringBuffer *) = 0; + virtual void dumpAll(::java::lang::StringBuffer *); +public: + virtual ::java::lang::String * toString(); + static jchar toLowerCase(jchar, jboolean); + static jchar toUpperCase(jchar, jboolean); +public: // actually protected + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__; + ::gnu::java::util::regex::REToken * uncle; + jint subIndex; + jboolean unicodeAware; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_REToken__ diff --git a/libjava/gnu/java/util/regex/RETokenAny.h b/libjava/gnu/java/util/regex/RETokenAny.h new file mode 100644 index 00000000000..d50be3d64fb --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenAny.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenAny__ +#define __gnu_java_util_regex_RETokenAny__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenAny; + } + } + } + } +} + +class gnu::java::util::regex::RETokenAny : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenAny(jint, jboolean, jboolean); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + jboolean matchOneChar(jchar); + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) newline; + jboolean matchNull; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenAny__ diff --git a/libjava/gnu/java/util/regex/RETokenBackRef.h b/libjava/gnu/java/util/regex/RETokenBackRef.h new file mode 100644 index 00000000000..33cf3b679c2 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenBackRef.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenBackRef__ +#define __gnu_java_util_regex_RETokenBackRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenBackRef; + } + } + } + } +} + +class gnu::java::util::regex::RETokenBackRef : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenBackRef(jint, jint, jboolean); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + void dump(::java::lang::StringBuffer *); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) num; + jboolean insens; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenBackRef__ diff --git a/libjava/gnu/java/util/regex/RETokenChar.h b/libjava/gnu/java/util/regex/RETokenChar.h new file mode 100644 index 00000000000..abff1cdd803 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenChar.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenChar__ +#define __gnu_java_util_regex_RETokenChar__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class REToken; + class RETokenChar; + } + } + } + } +} + +class gnu::java::util::regex::RETokenChar : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenChar(jint, jchar, jboolean); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +private: + jboolean matchOneString(::gnu::java::util::regex::CharIndexed *, jint); + jboolean charEquals(jchar, jchar); +public: // actually package-private + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + jboolean chain(::gnu::java::util::regex::REToken *); + void dump(::java::lang::StringBuffer *); +private: + JArray< jchar > * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) ch; + jboolean insens; + jint matchedLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenChar__ diff --git a/libjava/gnu/java/util/regex/RETokenEnd.h b/libjava/gnu/java/util/regex/RETokenEnd.h new file mode 100644 index 00000000000..cdcb5b06000 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenEnd.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenEnd__ +#define __gnu_java_util_regex_RETokenEnd__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenEnd; + } + } + } + } +} + +class gnu::java::util::regex::RETokenEnd : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenEnd(jint, ::java::lang::String *); + RETokenEnd(jint, ::java::lang::String *, jboolean); + void setFake(jboolean); + jint getMaximumLength(); + jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) newline; + jboolean check_java_line_terminators; + jboolean fake; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenEnd__ diff --git a/libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h b/libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h new file mode 100644 index 00000000000..72f54647e82 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenEndOfPreviousMatch.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenEndOfPreviousMatch__ +#define __gnu_java_util_regex_RETokenEndOfPreviousMatch__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenEndOfPreviousMatch; + } + } + } + } +} + +class gnu::java::util::regex::RETokenEndOfPreviousMatch : public ::gnu::java::util::regex::RETokenStart +{ + +public: // actually package-private + RETokenEndOfPreviousMatch(jint); + virtual jint getMaximumLength(); + virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual jboolean returnsFixedLengthmatches(); + virtual jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + virtual void dump(::java::lang::StringBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenEndOfPreviousMatch__ diff --git a/libjava/gnu/java/util/regex/RETokenEndSub.h b/libjava/gnu/java/util/regex/RETokenEndSub.h new file mode 100644 index 00000000000..50f3281cae7 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenEndSub.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenEndSub__ +#define __gnu_java_util_regex_RETokenEndSub__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenEndSub; + } + } + } + } +} + +class gnu::java::util::regex::RETokenEndSub : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenEndSub(jint); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + void setHitEnd(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + void dump(::java::lang::StringBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenEndSub__ diff --git a/libjava/gnu/java/util/regex/RETokenIndependent.h b/libjava/gnu/java/util/regex/RETokenIndependent.h new file mode 100644 index 00000000000..f13c6b3eb6c --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenIndependent.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenIndependent__ +#define __gnu_java_util_regex_RETokenIndependent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class REToken; + class RETokenIndependent; + } + } + } + } +} + +class gnu::java::util::regex::RETokenIndependent : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenIndependent(::gnu::java::util::regex::REToken *); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + void dump(::java::lang::StringBuffer *); + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) re; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenIndependent__ diff --git a/libjava/gnu/java/util/regex/RETokenLookAhead.h b/libjava/gnu/java/util/regex/RETokenLookAhead.h new file mode 100644 index 00000000000..64c147c530e --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenLookAhead.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenLookAhead__ +#define __gnu_java_util_regex_RETokenLookAhead__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class REToken; + class RETokenLookAhead; + } + } + } + } +} + +class gnu::java::util::regex::RETokenLookAhead : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenLookAhead(::gnu::java::util::regex::REToken *, jboolean); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + void dump(::java::lang::StringBuffer *); + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) re; + jboolean negative; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenLookAhead__ diff --git a/libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h b/libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h new file mode 100644 index 00000000000..83d9b477a23 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenLookBehind$RETokenMatchHereOnly.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenLookBehind$RETokenMatchHereOnly__ +#define __gnu_java_util_regex_RETokenLookBehind$RETokenMatchHereOnly__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenLookBehind$RETokenMatchHereOnly; + } + } + } + } +} + +class gnu::java::util::regex::RETokenLookBehind$RETokenMatchHereOnly : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + virtual jint getMaximumLength(); + RETokenLookBehind$RETokenMatchHereOnly(jint); + virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual void dump(::java::lang::StringBuffer *); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) index; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenLookBehind$RETokenMatchHereOnly__ diff --git a/libjava/gnu/java/util/regex/RETokenLookBehind.h b/libjava/gnu/java/util/regex/RETokenLookBehind.h new file mode 100644 index 00000000000..b07cf6ccc9f --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenLookBehind.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenLookBehind__ +#define __gnu_java_util_regex_RETokenLookBehind__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class REToken; + class RETokenLookBehind; + } + } + } + } +} + +class gnu::java::util::regex::RETokenLookBehind : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenLookBehind(::gnu::java::util::regex::REToken *, jboolean); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + void dump(::java::lang::StringBuffer *); + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) re; + jboolean negative; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenLookBehind__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$1.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$1.h new file mode 100644 index 00000000000..3ed8949cfdb --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty$1__ +#define __gnu_java_util_regex_RETokenNamedProperty$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenNamedProperty; + class RETokenNamedProperty$1; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty$1 : public ::gnu::java::util::regex::RETokenNamedProperty$Handler +{ + +public: // actually package-private + RETokenNamedProperty$1(::gnu::java::util::regex::RETokenNamedProperty *); +public: + jboolean includes(jchar); +public: // actually package-private + ::gnu::java::util::regex::RETokenNamedProperty * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty$1__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h new file mode 100644 index 00000000000..bc5efe1001c --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$Handler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty$Handler__ +#define __gnu_java_util_regex_RETokenNamedProperty$Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenNamedProperty$Handler; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty$Handler : public ::java::lang::Object +{ + + RETokenNamedProperty$Handler(); +public: + virtual jboolean includes(jchar) = 0; +public: // actually package-private + RETokenNamedProperty$Handler(::gnu::java::util::regex::RETokenNamedProperty$Handler *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty$Handler__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h new file mode 100644 index 00000000000..121acccad0d --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$POSIXHandler.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty$POSIXHandler__ +#define __gnu_java_util_regex_RETokenNamedProperty$POSIXHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenNamedProperty$POSIXHandler; + class RETokenPOSIX; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty$POSIXHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler +{ + +public: + RETokenNamedProperty$POSIXHandler(::java::lang::String *); + virtual jboolean includes(jchar); +private: + ::gnu::java::util::regex::RETokenPOSIX * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) retoken; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty$POSIXHandler__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h new file mode 100644 index 00000000000..c2890ed2386 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeBlockHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty$UnicodeBlockHandler__ +#define __gnu_java_util_regex_RETokenNamedProperty$UnicodeBlockHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenNamedProperty$UnicodeBlockHandler; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty$UnicodeBlockHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler +{ + +public: + RETokenNamedProperty$UnicodeBlockHandler(::java::lang::Character$UnicodeBlock *); + virtual jboolean includes(jchar); +private: + ::java::lang::Character$UnicodeBlock * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) block; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty$UnicodeBlockHandler__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h new file mode 100644 index 00000000000..af6c5aee0ae --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoriesHandler.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoriesHandler__ +#define __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoriesHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenNamedProperty$UnicodeCategoriesHandler; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty$UnicodeCategoriesHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler +{ + +public: + RETokenNamedProperty$UnicodeCategoriesHandler(JArray< jbyte > *); + virtual jboolean includes(jchar); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) categories; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoriesHandler__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h new file mode 100644 index 00000000000..f090dbd1ac0 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty$UnicodeCategoryHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoryHandler__ +#define __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoryHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenNamedProperty$UnicodeCategoryHandler; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty$UnicodeCategoryHandler : public ::gnu::java::util::regex::RETokenNamedProperty$Handler +{ + +public: + RETokenNamedProperty$UnicodeCategoryHandler(jbyte); + virtual jboolean includes(jchar); +private: + jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::RETokenNamedProperty$Handler)))) category; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty$UnicodeCategoryHandler__ diff --git a/libjava/gnu/java/util/regex/RETokenNamedProperty.h b/libjava/gnu/java/util/regex/RETokenNamedProperty.h new file mode 100644 index 00000000000..9f610cd7ade --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenNamedProperty.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenNamedProperty__ +#define __gnu_java_util_regex_RETokenNamedProperty__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenNamedProperty; + class RETokenNamedProperty$Handler; + } + } + } + } +} + +class gnu::java::util::regex::RETokenNamedProperty : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenNamedProperty(jint, ::java::lang::String *, jboolean, jboolean); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +private: + jboolean matchOneChar(jchar); +public: // actually package-private + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); +private: + ::gnu::java::util::regex::RETokenNamedProperty$Handler * getHandler(::java::lang::String *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) name; + jboolean insens; + jboolean negate; + ::gnu::java::util::regex::RETokenNamedProperty$Handler * handler; + static JArray< jbyte > * LETTER; + static JArray< jbyte > * MARK; + static JArray< jbyte > * SEPARATOR; + static JArray< jbyte > * SYMBOL; + static JArray< jbyte > * NUMBER; + static JArray< jbyte > * PUNCTUATION; + static JArray< jbyte > * OTHER; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenNamedProperty__ diff --git a/libjava/gnu/java/util/regex/RETokenOneOf.h b/libjava/gnu/java/util/regex/RETokenOneOf.h new file mode 100644 index 00000000000..dec0561b405 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenOneOf.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenOneOf__ +#define __gnu_java_util_regex_RETokenOneOf__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenOneOf; + } + } + } + } +} + +class gnu::java::util::regex::RETokenOneOf : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenOneOf(jint, ::java::lang::String *, jboolean, jboolean); + RETokenOneOf(jint, ::java::util::Vector *, jboolean); + RETokenOneOf(jint, ::java::util::Vector *, ::java::util::Vector *, jboolean); + jint getMinimumLength(); + jint getMaximumLength(); + jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + jboolean matchOneChar(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +private: + jboolean matchN(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jboolean); + jboolean matchP(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jboolean); + jboolean matchOneRE(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +public: // actually package-private + ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * backtrack(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *); +private: + ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); +public: // actually package-private + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) options; + jboolean negative; + jboolean matchesOneChar; + ::java::util::Vector * addition; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenOneOf__ diff --git a/libjava/gnu/java/util/regex/RETokenPOSIX.h b/libjava/gnu/java/util/regex/RETokenPOSIX.h new file mode 100644 index 00000000000..a6a40c09ab3 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenPOSIX.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenPOSIX__ +#define __gnu_java_util_regex_RETokenPOSIX__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenPOSIX; + } + } + } + } +} + +class gnu::java::util::regex::RETokenPOSIX : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + static jint intValue(::java::lang::String *); + RETokenPOSIX(jint, jint, jboolean, jboolean); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + jboolean matchOneChar(jchar); + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); + jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) type; + jboolean insens; + jboolean negated; + static const jint ALNUM = 0; + static const jint ALPHA = 1; + static const jint BLANK = 2; + static const jint CNTRL = 3; + static const jint DIGIT = 4; + static const jint GRAPH = 5; + static const jint LOWER = 6; + static const jint PRINT = 7; + static const jint PUNCT = 8; + static const jint SPACE = 9; + static const jint UPPER = 10; + static const jint XDIGIT = 11; + static JArray< ::java::lang::String * > * s_nameTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenPOSIX__ diff --git a/libjava/gnu/java/util/regex/RETokenRange.h b/libjava/gnu/java/util/regex/RETokenRange.h new file mode 100644 index 00000000000..22ff21a3f03 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRange.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRange__ +#define __gnu_java_util_regex_RETokenRange__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenRange; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRange : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenRange(jint, jchar, jchar, jboolean); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + jboolean matchOneChar(jchar); + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); +private: + jchar __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) lo; + jchar hi; + jboolean insens; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRange__ diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h b/libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h new file mode 100644 index 00000000000..8b92ce52743 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRepeated$DoablesFinder.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRepeated$DoablesFinder__ +#define __gnu_java_util_regex_RETokenRepeated$DoablesFinder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class REToken; + class RETokenRepeated$DoablesFinder; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRepeated$DoablesFinder : public ::java::lang::Object +{ + + RETokenRepeated$DoablesFinder(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * find(); +public: // actually package-private + virtual jboolean noMore(); + RETokenRepeated$DoablesFinder(::gnu::java::util::regex::REToken *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::gnu::java::util::regex::RETokenRepeated$DoablesFinder *); + static ::gnu::java::util::regex::REMatch * access$1(::gnu::java::util::regex::RETokenRepeated$DoablesFinder *); +private: + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tk; + ::gnu::java::util::regex::CharIndexed * input; + ::gnu::java::util::regex::REMatch * rematch; + jboolean findFirst; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRepeated$DoablesFinder__ diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h b/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h new file mode 100644 index 00000000000..5858aeda35f --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRepeated$FindMatchControl__ +#define __gnu_java_util_regex_RETokenRepeated$FindMatchControl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenRepeated$DoablesFinder; + class RETokenRepeated$FindMatchControl; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRepeated$FindMatchControl : public ::java::lang::Object +{ + +public: // actually package-private + RETokenRepeated$FindMatchControl(::gnu::java::util::regex::RETokenRepeated$DoablesFinder *); + ::gnu::java::util::regex::RETokenRepeated$DoablesFinder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) finder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRepeated$FindMatchControl__ diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.h b/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.h new file mode 100644 index 00000000000..11bf5c18225 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRepeated$FindMatchControlStack.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRepeated$FindMatchControlStack__ +#define __gnu_java_util_regex_RETokenRepeated$FindMatchControlStack__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RETokenRepeated$FindMatchControl; + class RETokenRepeated$FindMatchControlStack; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRepeated$FindMatchControlStack : public ::java::util::ArrayList +{ + + RETokenRepeated$FindMatchControlStack(); + void push(::gnu::java::util::regex::RETokenRepeated$FindMatchControl *); + ::gnu::java::util::regex::RETokenRepeated$FindMatchControl * pop(); + jboolean empty(); +public: // actually package-private + RETokenRepeated$FindMatchControlStack(::gnu::java::util::regex::RETokenRepeated$FindMatchControlStack *); + static void access$1(::gnu::java::util::regex::RETokenRepeated$FindMatchControlStack *, ::gnu::java::util::regex::RETokenRepeated$FindMatchControl *); + static jboolean access$2(::gnu::java::util::regex::RETokenRepeated$FindMatchControlStack *); + static ::gnu::java::util::regex::RETokenRepeated$FindMatchControl * access$3(::gnu::java::util::regex::RETokenRepeated$FindMatchControlStack *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRepeated$FindMatchControlStack__ diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h b/libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h new file mode 100644 index 00000000000..6253b64921f --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRepeated$StackedInfo.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRepeated$StackedInfo__ +#define __gnu_java_util_regex_RETokenRepeated$StackedInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenRepeated$DoablesFinder; + class RETokenRepeated$StackedInfo; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRepeated$StackedInfo : public ::gnu::java::util::regex::BacktrackStack$Backtrack +{ + +public: // actually package-private + RETokenRepeated$StackedInfo(::gnu::java::util::regex::CharIndexed *, jint, ::gnu::java::util::regex::REMatch *, JArray< jint > *, ::gnu::java::util::regex::RETokenRepeated$DoablesFinder *); + jint __attribute__((aligned(__alignof__( ::gnu::java::util::regex::BacktrackStack$Backtrack)))) numRepeats; + JArray< jint > * visited; + ::gnu::java::util::regex::RETokenRepeated$DoablesFinder * finder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRepeated$StackedInfo__ diff --git a/libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h b/libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h new file mode 100644 index 00000000000..5a6ef3b42d1 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRepeated$TryAnotherResult.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRepeated$TryAnotherResult__ +#define __gnu_java_util_regex_RETokenRepeated$TryAnotherResult__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class REMatch; + class RETokenRepeated$TryAnotherResult; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRepeated$TryAnotherResult : public ::java::lang::Object +{ + + RETokenRepeated$TryAnotherResult(); +public: // actually package-private + RETokenRepeated$TryAnotherResult(::gnu::java::util::regex::RETokenRepeated$TryAnotherResult *); + ::gnu::java::util::regex::REMatch * __attribute__((aligned(__alignof__( ::java::lang::Object)))) result; + jint status; + static const jint RESULT_FOUND = 1; + static const jint TRY_FURTHER = 2; + static const jint NOTHING_FOUND = 3; + JArray< jint > * visited; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRepeated$TryAnotherResult__ diff --git a/libjava/gnu/java/util/regex/RETokenRepeated.h b/libjava/gnu/java/util/regex/RETokenRepeated.h new file mode 100644 index 00000000000..17de5445b1f --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenRepeated.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenRepeated__ +#define __gnu_java_util_regex_RETokenRepeated__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class BacktrackStack; + class CharIndexed; + class REMatch; + class REToken; + class RETokenRepeated; + class RETokenRepeated$DoablesFinder; + class RETokenRepeated$FindMatchControlStack; + class RETokenRepeated$TryAnotherResult; + } + } + } + } +} + +class gnu::java::util::regex::RETokenRepeated : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenRepeated(jint, ::gnu::java::util::regex::REToken *, jint, jint); + void makeStingy(); + jboolean isStingy(); + void makePossessive(); + jboolean isPossessive(); + jint getMinimumLength(); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * backtrack(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *); +private: + ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::BacktrackStack *); + ::gnu::java::util::regex::REMatch * findMatch(::gnu::java::util::regex::BacktrackStack *, ::gnu::java::util::regex::RETokenRepeated$FindMatchControlStack *); + ::gnu::java::util::regex::RETokenRepeated$TryAnotherResult * tryAnother(::gnu::java::util::regex::BacktrackStack *, ::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint, ::gnu::java::util::regex::RETokenRepeated$DoablesFinder *, JArray< jint > *); +public: // actually package-private + jboolean match(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); +private: + static JArray< jint > * initVisited(); + static jboolean visitedContains(jint, JArray< jint > *); + static JArray< jint > * addVisited(jint, JArray< jint > *); + ::gnu::java::util::regex::REMatch * matchRest(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * findMatchFixedLength(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + ::gnu::java::util::regex::REMatch * backtrackFixedLength(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, ::java::lang::Object *); + ::gnu::java::util::regex::REMatch * findMatchFixedLength(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint, jint); +public: // actually package-private + void dump(::java::lang::StringBuffer *); +private: + ::gnu::java::util::regex::REToken * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) token; + jint min; + jint max; + jboolean stingy; + jboolean possessive; + jint tokenFixedLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenRepeated__ diff --git a/libjava/gnu/java/util/regex/RETokenStart.h b/libjava/gnu/java/util/regex/RETokenStart.h new file mode 100644 index 00000000000..da6ad7f38bd --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenStart.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenStart__ +#define __gnu_java_util_regex_RETokenStart__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenStart; + } + } + } + } +} + +class gnu::java::util::regex::RETokenStart : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenStart(jint, ::java::lang::String *); + RETokenStart(jint, ::java::lang::String *, jboolean); + virtual jint getMaximumLength(); + virtual ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + virtual jboolean returnsFixedLengthmatches(); + virtual jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + virtual void dump(::java::lang::StringBuffer *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) newline; + jboolean check_java_line_terminators; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenStart__ diff --git a/libjava/gnu/java/util/regex/RETokenWordBoundary.h b/libjava/gnu/java/util/regex/RETokenWordBoundary.h new file mode 100644 index 00000000000..1d3bb6b97c4 --- /dev/null +++ b/libjava/gnu/java/util/regex/RETokenWordBoundary.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_RETokenWordBoundary__ +#define __gnu_java_util_regex_RETokenWordBoundary__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + class RETokenWordBoundary; + } + } + } + } +} + +class gnu::java::util::regex::RETokenWordBoundary : public ::gnu::java::util::regex::REToken +{ + +public: // actually package-private + RETokenWordBoundary(jint, jint, jboolean); + jint getMaximumLength(); + ::gnu::java::util::regex::REMatch * matchThis(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *); + jboolean returnsFixedLengthMatches(); + jint findFixedLengthMatches(::gnu::java::util::regex::CharIndexed *, ::gnu::java::util::regex::REMatch *, jint); + void dump(::java::lang::StringBuffer *); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::java::util::regex::REToken)))) negated; + jint where; +public: // actually package-private + static const jint BEGIN = 1; + static const jint END = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_RETokenWordBoundary__ diff --git a/libjava/gnu/java/util/regex/UncheckedRE.h b/libjava/gnu/java/util/regex/UncheckedRE.h new file mode 100644 index 00000000000..23a2898891c --- /dev/null +++ b/libjava/gnu/java/util/regex/UncheckedRE.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_java_util_regex_UncheckedRE__ +#define __gnu_java_util_regex_UncheckedRE__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RESyntax; + class UncheckedRE; + } + } + } + } +} + +class gnu::java::util::regex::UncheckedRE : public ::gnu::java::util::regex::RE +{ + +public: + UncheckedRE(::java::lang::Object *); + UncheckedRE(::java::lang::Object *, jint); + UncheckedRE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_java_util_regex_UncheckedRE__ diff --git a/libjava/gnu/javax/crypto/RSACipherImpl.h b/libjava/gnu/javax/crypto/RSACipherImpl.h new file mode 100644 index 00000000000..9f677598751 --- /dev/null +++ b/libjava/gnu/javax/crypto/RSACipherImpl.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_RSACipherImpl__ +#define __gnu_javax_crypto_RSACipherImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace crypto + { + class RSACipherImpl; + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace interfaces + { + class RSAPrivateKey; + class RSAPublicKey; + } + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::RSACipherImpl : public ::javax::crypto::CipherSpi +{ + +public: + RSACipherImpl(); +public: // actually protected + virtual void engineSetMode(::java::lang::String *); + virtual void engineSetPadding(::java::lang::String *); + virtual jint engineGetBlockSize(); + virtual jint engineGetOutputSize(jint); + virtual jint engineGetKeySize(::java::security::Key *); + virtual JArray< jbyte > * engineGetIV(); + virtual ::java::security::AlgorithmParameters * engineGetParameters(); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); + virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint); + virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint); + virtual jint engineDoFinal(JArray< jbyte > *, jint); + virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); +private: + JArray< jbyte > * rsaDecrypt(::java::math::BigInteger *); + static ::gnu::classpath::debug::SystemLogger * logger; + static JArray< jbyte > * EMPTY; + jint __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) opmode; + ::java::security::interfaces::RSAPrivateKey * decipherKey; + ::java::security::interfaces::RSAPublicKey * blindingKey; + ::java::security::interfaces::RSAPublicKey * encipherKey; + ::java::security::SecureRandom * random; + JArray< jbyte > * dataBuffer; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_RSACipherImpl__ diff --git a/libjava/gnu/javax/crypto/assembly/Assembly.h b/libjava/gnu/javax/crypto/assembly/Assembly.h new file mode 100644 index 00000000000..81c2fece1f3 --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/Assembly.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_Assembly__ +#define __gnu_javax_crypto_assembly_Assembly__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Assembly; + class Direction; + class Operation; + class Transformer; + } + } + } + } +} + +class gnu::javax::crypto::assembly::Assembly : public ::java::lang::Object +{ + +public: + Assembly(); + virtual void addPreTransformer(::gnu::javax::crypto::assembly::Transformer *); + virtual void addPostTransformer(::gnu::javax::crypto::assembly::Transformer *); + virtual void init(::java::util::Map *); + virtual void reset(); + virtual JArray< jbyte > * update(jbyte); + virtual JArray< jbyte > * update(JArray< jbyte > *); + virtual JArray< jbyte > * update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * lastUpdate(); + virtual JArray< jbyte > * lastUpdate(jbyte); + virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *); + virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *, jint, jint); +private: + void wireTransformer(::gnu::javax::crypto::assembly::Transformer *, ::gnu::javax::crypto::assembly::Operation *); +public: + static ::java::lang::String * DIRECTION; +private: + ::gnu::javax::crypto::assembly::Direction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) wired; + ::gnu::javax::crypto::assembly::Transformer * head; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_Assembly__ diff --git a/libjava/gnu/javax/crypto/assembly/Cascade.h b/libjava/gnu/javax/crypto/assembly/Cascade.h new file mode 100644 index 00000000000..88f82383cdb --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/Cascade.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_Cascade__ +#define __gnu_javax_crypto_assembly_Cascade__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Cascade; + class Direction; + class Stage; + } + } + } + } +} + +class gnu::javax::crypto::assembly::Cascade : public ::java::lang::Object +{ + +public: + Cascade(); +private: + static jint lcm(jint, jint); +public: + virtual ::java::lang::Object * append(::gnu::javax::crypto::assembly::Stage *); + virtual ::java::lang::Object * prepend(::gnu::javax::crypto::assembly::Stage *); + virtual ::java::lang::Object * insert(jint, ::gnu::javax::crypto::assembly::Stage *); + virtual jint size(); + virtual ::java::util::Iterator * stages(); + virtual ::java::util::Set * blockSizes(); + virtual void init(::java::util::Map *); + virtual jint currentBlockSize(); + virtual void reset(); + virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual jboolean selfTest(); + static ::java::lang::String * DIRECTION; +public: // actually protected + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stages__; + ::java::util::LinkedList * stageKeys; + ::gnu::javax::crypto::assembly::Direction * wired; + jint blockSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_Cascade__ diff --git a/libjava/gnu/javax/crypto/assembly/CascadeStage.h b/libjava/gnu/javax/crypto/assembly/CascadeStage.h new file mode 100644 index 00000000000..b36ee47c91e --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/CascadeStage.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_CascadeStage__ +#define __gnu_javax_crypto_assembly_CascadeStage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Cascade; + class CascadeStage; + class Direction; + } + } + } + } +} + +class gnu::javax::crypto::assembly::CascadeStage : public ::gnu::javax::crypto::assembly::Stage +{ + +public: // actually package-private + CascadeStage(::gnu::javax::crypto::assembly::Cascade *, ::gnu::javax::crypto::assembly::Direction *); +public: + virtual ::java::util::Set * blockSizes(); +public: // actually package-private + virtual void initDelegate(::java::util::Map *); +public: + virtual jint currentBlockSize(); +public: // actually package-private + virtual void resetDelegate(); + virtual void updateDelegate(JArray< jbyte > *, jint, JArray< jbyte > *, jint); +public: + virtual jboolean selfTest(); +private: + ::gnu::javax::crypto::assembly::Cascade * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Stage)))) delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_CascadeStage__ diff --git a/libjava/gnu/javax/crypto/assembly/CascadeTransformer.h b/libjava/gnu/javax/crypto/assembly/CascadeTransformer.h new file mode 100644 index 00000000000..780d2582f7f --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/CascadeTransformer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_CascadeTransformer__ +#define __gnu_javax_crypto_assembly_CascadeTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Cascade; + class CascadeTransformer; + } + } + } + } +} + +class gnu::javax::crypto::assembly::CascadeTransformer : public ::gnu::javax::crypto::assembly::Transformer +{ + +public: // actually package-private + CascadeTransformer(::gnu::javax::crypto::assembly::Cascade *); + virtual void initDelegate(::java::util::Map *); + virtual jint delegateBlockSize(); + virtual void resetDelegate(); + virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * lastUpdateDelegate(); +private: + JArray< jbyte > * updateInternal(JArray< jbyte > *, jint, jint); + ::gnu::javax::crypto::assembly::Cascade * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Transformer)))) delegate; + jint blockSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_CascadeTransformer__ diff --git a/libjava/gnu/javax/crypto/assembly/DeflateTransformer.h b/libjava/gnu/javax/crypto/assembly/DeflateTransformer.h new file mode 100644 index 00000000000..7021c177e41 --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/DeflateTransformer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_DeflateTransformer__ +#define __gnu_javax_crypto_assembly_DeflateTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class DeflateTransformer; + } + } + } + } +} + +class gnu::javax::crypto::assembly::DeflateTransformer : public ::gnu::javax::crypto::assembly::Transformer +{ + +public: // actually package-private + DeflateTransformer(); + virtual void initDelegate(::java::util::Map *); + virtual jint delegateBlockSize(); + virtual void resetDelegate(); + virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * lastUpdateDelegate(); +private: + void compress(); + void decompress(JArray< jbyte > *, jint, jint); + ::java::util::zip::Deflater * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Transformer)))) compressor; + ::java::util::zip::Inflater * decompressor; + jint outputBlockSize; + JArray< jbyte > * zlibBuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_DeflateTransformer__ diff --git a/libjava/gnu/javax/crypto/assembly/Direction.h b/libjava/gnu/javax/crypto/assembly/Direction.h new file mode 100644 index 00000000000..207a55f0d5c --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/Direction.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_Direction__ +#define __gnu_javax_crypto_assembly_Direction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Direction; + } + } + } + } +} + +class gnu::javax::crypto::assembly::Direction : public ::java::lang::Object +{ + + Direction(jint); +public: + static ::gnu::javax::crypto::assembly::Direction * reverse(::gnu::javax::crypto::assembly::Direction *); + ::java::lang::String * toString(); + static ::gnu::javax::crypto::assembly::Direction * FORWARD; + static ::gnu::javax::crypto::assembly::Direction * REVERSED; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_Direction__ diff --git a/libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h b/libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h new file mode 100644 index 00000000000..bf6ccc90ccc --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_LoopbackTransformer__ +#define __gnu_javax_crypto_assembly_LoopbackTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class LoopbackTransformer; + } + } + } + } +} + +class gnu::javax::crypto::assembly::LoopbackTransformer : public ::gnu::javax::crypto::assembly::Transformer +{ + +public: // actually package-private + LoopbackTransformer(); +public: + void init(::java::util::Map *); + void reset(); + JArray< jbyte > * update(JArray< jbyte > *, jint, jint); + JArray< jbyte > * lastUpdate(); +public: // actually package-private + void initDelegate(::java::util::Map *); + jint delegateBlockSize(); + void resetDelegate(); + JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint); + JArray< jbyte > * lastUpdateDelegate(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_LoopbackTransformer__ diff --git a/libjava/gnu/javax/crypto/assembly/ModeStage.h b/libjava/gnu/javax/crypto/assembly/ModeStage.h new file mode 100644 index 00000000000..760df956cbe --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/ModeStage.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_ModeStage__ +#define __gnu_javax_crypto_assembly_ModeStage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Direction; + class ModeStage; + } + namespace mode + { + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::assembly::ModeStage : public ::gnu::javax::crypto::assembly::Stage +{ + +public: // actually package-private + ModeStage(::gnu::javax::crypto::mode::IMode *, ::gnu::javax::crypto::assembly::Direction *); +public: + virtual ::java::util::Set * blockSizes(); +public: // actually package-private + virtual void initDelegate(::java::util::Map *); +public: + virtual jint currentBlockSize(); +public: // actually package-private + virtual void resetDelegate(); + virtual void updateDelegate(JArray< jbyte > *, jint, JArray< jbyte > *, jint); +public: + virtual jboolean selfTest(); +private: + ::gnu::javax::crypto::mode::IMode * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Stage)))) delegate; + ::java::util::Set * cachedBlockSizes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_ModeStage__ diff --git a/libjava/gnu/javax/crypto/assembly/Operation.h b/libjava/gnu/javax/crypto/assembly/Operation.h new file mode 100644 index 00000000000..792a1bad5ba --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/Operation.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_Operation__ +#define __gnu_javax_crypto_assembly_Operation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Operation; + } + } + } + } +} + +class gnu::javax::crypto::assembly::Operation : public ::java::lang::Object +{ + + Operation(jint); +public: + ::java::lang::String * toString(); + static ::gnu::javax::crypto::assembly::Operation * PRE_PROCESSING; + static ::gnu::javax::crypto::assembly::Operation * POST_PROCESSING; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_Operation__ diff --git a/libjava/gnu/javax/crypto/assembly/PaddingTransformer.h b/libjava/gnu/javax/crypto/assembly/PaddingTransformer.h new file mode 100644 index 00000000000..6a16b608e11 --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/PaddingTransformer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_PaddingTransformer__ +#define __gnu_javax_crypto_assembly_PaddingTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class PaddingTransformer; + } + namespace pad + { + class IPad; + } + } + } + } +} + +class gnu::javax::crypto::assembly::PaddingTransformer : public ::gnu::javax::crypto::assembly::Transformer +{ + +public: // actually package-private + PaddingTransformer(::gnu::javax::crypto::pad::IPad *); + virtual void initDelegate(::java::util::Map *); + virtual jint delegateBlockSize(); + virtual void resetDelegate(); + virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * lastUpdateDelegate(); +private: + ::gnu::javax::crypto::pad::IPad * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Transformer)))) delegate; + jint outputBlockSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_PaddingTransformer__ diff --git a/libjava/gnu/javax/crypto/assembly/Stage.h b/libjava/gnu/javax/crypto/assembly/Stage.h new file mode 100644 index 00000000000..799ef5e695a --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/Stage.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_Stage__ +#define __gnu_javax_crypto_assembly_Stage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Cascade; + class Direction; + class Stage; + } + namespace mode + { + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::assembly::Stage : public ::java::lang::Object +{ + +public: // actually protected + Stage(::gnu::javax::crypto::assembly::Direction *); +public: + static ::gnu::javax::crypto::assembly::Stage * getInstance(::gnu::javax::crypto::mode::IMode *, ::gnu::javax::crypto::assembly::Direction *); + static ::gnu::javax::crypto::assembly::Stage * getInstance(::gnu::javax::crypto::assembly::Cascade *, ::gnu::javax::crypto::assembly::Direction *); + virtual ::java::util::Set * blockSizes() = 0; + virtual void init(::java::util::Map *); + virtual jint currentBlockSize() = 0; + virtual void reset(); + virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual jboolean selfTest() = 0; +public: // actually package-private + virtual void initDelegate(::java::util::Map *) = 0; + virtual void resetDelegate() = 0; + virtual void updateDelegate(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; +public: + static ::java::lang::String * DIRECTION; +public: // actually protected + ::gnu::javax::crypto::assembly::Direction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) forward; + ::gnu::javax::crypto::assembly::Direction * wired; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_Stage__ diff --git a/libjava/gnu/javax/crypto/assembly/Transformer.h b/libjava/gnu/javax/crypto/assembly/Transformer.h new file mode 100644 index 00000000000..1860d3d30dd --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/Transformer.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_Transformer__ +#define __gnu_javax_crypto_assembly_Transformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Cascade; + class Direction; + class Operation; + class Transformer; + } + namespace pad + { + class IPad; + } + } + } + } +} + +class gnu::javax::crypto::assembly::Transformer : public ::java::lang::Object +{ + +public: // actually protected + Transformer(); +public: + static ::gnu::javax::crypto::assembly::Transformer * getCascadeTransformer(::gnu::javax::crypto::assembly::Cascade *); + static ::gnu::javax::crypto::assembly::Transformer * getPaddingTransformer(::gnu::javax::crypto::pad::IPad *); + static ::gnu::javax::crypto::assembly::Transformer * getDeflateTransformer(); + virtual void setMode(::gnu::javax::crypto::assembly::Operation *); + virtual jboolean isPreProcessing(); + virtual jboolean isPostProcessing(); + virtual void init(::java::util::Map *); + virtual jint currentBlockSize(); + virtual void reset(); + virtual JArray< jbyte > * update(jbyte); + virtual JArray< jbyte > * update(JArray< jbyte > *); + virtual JArray< jbyte > * update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * lastUpdate(); + virtual JArray< jbyte > * lastUpdate(jbyte); + virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *); + virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *, jint, jint); +private: + JArray< jbyte > * forwardUpdate(JArray< jbyte > *, jint, jint); + JArray< jbyte > * inverseUpdate(JArray< jbyte > *, jint, jint); + JArray< jbyte > * preTransform(JArray< jbyte > *, jint, jint); + JArray< jbyte > * postTransform(JArray< jbyte > *, jint, jint); + JArray< jbyte > * lastForwardUpdate(); + JArray< jbyte > * lastInverseUpdate(); + JArray< jbyte > * preLastTransform(); + JArray< jbyte > * postLastTransform(); +public: // actually package-private + virtual void initDelegate(::java::util::Map *) = 0; + virtual jint delegateBlockSize() = 0; + virtual void resetDelegate() = 0; + virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * lastUpdateDelegate() = 0; +public: + static ::java::lang::String * DIRECTION; +public: // actually protected + ::gnu::javax::crypto::assembly::Direction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) wired; + ::gnu::javax::crypto::assembly::Operation * mode; + ::gnu::javax::crypto::assembly::Transformer * tail; + ::java::io::ByteArrayOutputStream * inBuffer; + ::java::io::ByteArrayOutputStream * outBuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_Transformer__ diff --git a/libjava/gnu/javax/crypto/assembly/TransformerException.h b/libjava/gnu/javax/crypto/assembly/TransformerException.h new file mode 100644 index 00000000000..cb9e92a4f99 --- /dev/null +++ b/libjava/gnu/javax/crypto/assembly/TransformerException.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_assembly_TransformerException__ +#define __gnu_javax_crypto_assembly_TransformerException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class TransformerException; + } + } + } + } +} + +class gnu::javax::crypto::assembly::TransformerException : public ::java::lang::Exception +{ + +public: + TransformerException(); + TransformerException(::java::lang::String *); + TransformerException(::java::lang::Throwable *); + TransformerException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::Throwable * getCause(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) _exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_assembly_TransformerException__ diff --git a/libjava/gnu/javax/crypto/cipher/Anubis.h b/libjava/gnu/javax/crypto/cipher/Anubis.h new file mode 100644 index 00000000000..b9a40b847f0 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Anubis.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Anubis__ +#define __gnu_javax_crypto_cipher_Anubis__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Anubis; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Anubis : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Anubis(); +private: + static void anubis(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< JArray< jint > * > *); +public: + ::java::lang::Object * clone(); + ::java::util::Iterator * blockSizes(); + ::java::util::Iterator * keySizes(); + ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + jboolean selfTest(); +private: + static ::java::util::logging::Logger * log; + static const jint DEFAULT_BLOCK_SIZE = 16; + static const jint DEFAULT_KEY_SIZE = 16; + static ::java::lang::String * Sd; + static JArray< jbyte > * S; + static JArray< jint > * T0; + static JArray< jint > * T1; + static JArray< jint > * T2; + static JArray< jint > * T3; + static JArray< jint > * T4; + static JArray< jint > * T5; + static JArray< jint > * rc; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Anubis__ diff --git a/libjava/gnu/javax/crypto/cipher/BaseCipher.h b/libjava/gnu/javax/crypto/cipher/BaseCipher.h new file mode 100644 index 00000000000..bb6437df611 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/BaseCipher.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_BaseCipher__ +#define __gnu_javax_crypto_cipher_BaseCipher__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class BaseCipher; + } + } + } + } +} + +class gnu::javax::crypto::cipher::BaseCipher : public ::java::lang::Object +{ + +public: // actually protected + BaseCipher(::java::lang::String *, jint, jint); +public: + virtual ::java::lang::Object * clone() = 0; + virtual ::java::lang::String * name(); + virtual jint defaultBlockSize(); + virtual jint defaultKeySize(); + virtual void init(::java::util::Map *); + virtual jint currentBlockSize(); + virtual void reset(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual jboolean selfTest(); +private: + jboolean testSymmetry(jint, jint); +public: // actually protected + virtual jboolean testKat(JArray< jbyte > *, JArray< jbyte > *); + virtual jboolean testKat(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); +public: + virtual ::java::util::Iterator * blockSizes() = 0; + virtual ::java::util::Iterator * keySizes() = 0; + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint) = 0; + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0; + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0; +private: + static ::java::util::logging::Logger * log; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jint defaultBlockSize__; + jint defaultKeySize__; + jint currentBlockSize__; + ::java::lang::Object * currentKey; + ::java::lang::Object * lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_BaseCipher__ diff --git a/libjava/gnu/javax/crypto/cipher/Blowfish$Block.h b/libjava/gnu/javax/crypto/cipher/Blowfish$Block.h new file mode 100644 index 00000000000..738cb373212 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Blowfish$Block.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Blowfish$Block__ +#define __gnu_javax_crypto_cipher_Blowfish$Block__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Blowfish; + class Blowfish$Block; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Blowfish$Block : public ::java::lang::Object +{ + + Blowfish$Block(::gnu::javax::crypto::cipher::Blowfish *); +public: // actually package-private + Blowfish$Block(::gnu::javax::crypto::cipher::Blowfish *, ::gnu::javax::crypto::cipher::Blowfish$Block *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) left; + jint right; + ::gnu::javax::crypto::cipher::Blowfish * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Blowfish$Block__ diff --git a/libjava/gnu/javax/crypto/cipher/Blowfish$Context.h b/libjava/gnu/javax/crypto/cipher/Blowfish$Context.h new file mode 100644 index 00000000000..74c9087eab5 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Blowfish$Context.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Blowfish$Context__ +#define __gnu_javax_crypto_cipher_Blowfish$Context__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Blowfish; + class Blowfish$Context; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Blowfish$Context : public ::java::lang::Object +{ + +public: // actually package-private + Blowfish$Context(::gnu::javax::crypto::cipher::Blowfish *); +private: + Blowfish$Context(::gnu::javax::crypto::cipher::Blowfish *, ::gnu::javax::crypto::cipher::Blowfish$Context *); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + JArray< jint > * s0; + JArray< jint > * s1; + JArray< jint > * s2; + JArray< jint > * s3; + ::gnu::javax::crypto::cipher::Blowfish * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Blowfish$Context__ diff --git a/libjava/gnu/javax/crypto/cipher/Blowfish.h b/libjava/gnu/javax/crypto/cipher/Blowfish.h new file mode 100644 index 00000000000..dac15df6ccb --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Blowfish.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Blowfish__ +#define __gnu_javax_crypto_cipher_Blowfish__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Blowfish; + class Blowfish$Block; + class Blowfish$Context; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Blowfish : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Blowfish(); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Iterator * keySizes(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); +private: + void blowfishEncrypt(::gnu::javax::crypto::cipher::Blowfish$Block *, ::gnu::javax::crypto::cipher::Blowfish$Context *); + void blowfishDecrypt(::gnu::javax::crypto::cipher::Blowfish$Block *, ::gnu::javax::crypto::cipher::Blowfish$Context *); +public: + virtual jboolean selfTest(); +private: + static const jint DEFAULT_BLOCK_SIZE = 8; + static const jint DEFAULT_KEY_SIZE = 8; + static const jint MAX_KEY_LENGTH = 56; + static JArray< jint > * P; +public: // actually package-private + static JArray< jint > * KS0; +private: + static JArray< jint > * KS1; + static JArray< jint > * KS2; + static JArray< jint > * KS3; + static ::java::lang::Boolean * valid; + static JArray< jbyte > * TV_KEY; + static JArray< jbyte > * TV_CT; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Blowfish__ diff --git a/libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h b/libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h new file mode 100644 index 00000000000..7f1ecc0561a --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Cast5$Cast5Key__ +#define __gnu_javax_crypto_cipher_Cast5$Cast5Key__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Cast5; + class Cast5$Cast5Key; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Cast5$Cast5Key : public ::java::lang::Object +{ + + Cast5$Cast5Key(::gnu::javax::crypto::cipher::Cast5 *); +public: // actually package-private + Cast5$Cast5Key(::gnu::javax::crypto::cipher::Cast5 *, ::gnu::javax::crypto::cipher::Cast5$Cast5Key *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) rounds; + jint Km0; + jint Km1; + jint Km2; + jint Km3; + jint Km4; + jint Km5; + jint Km6; + jint Km7; + jint Km8; + jint Km9; + jint Km10; + jint Km11; + jint Km12; + jint Km13; + jint Km14; + jint Km15; + jint Kr0; + jint Kr1; + jint Kr2; + jint Kr3; + jint Kr4; + jint Kr5; + jint Kr6; + jint Kr7; + jint Kr8; + jint Kr9; + jint Kr10; + jint Kr11; + jint Kr12; + jint Kr13; + jint Kr14; + jint Kr15; + ::gnu::javax::crypto::cipher::Cast5 * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Cast5$Cast5Key__ diff --git a/libjava/gnu/javax/crypto/cipher/Cast5.h b/libjava/gnu/javax/crypto/cipher/Cast5.h new file mode 100644 index 00000000000..40cebee7c72 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Cast5.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Cast5__ +#define __gnu_javax_crypto_cipher_Cast5__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Cast5; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Cast5 : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Cast5(); +private: + static JArray< jint > * unscramble(jint); +public: + virtual ::java::lang::Object * clone(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::util::Iterator * keySizes(); + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual jboolean selfTest(); +private: + jint f1(jint, jint, jint); + jint f2(jint, jint, jint); + jint f3(jint, jint, jint); + static const jint DEFAULT_BLOCK_SIZE = 8; + static const jint DEFAULT_KEY_SIZE = 5; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_PT; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; + static JArray< jint > * S1; + static JArray< jint > * S2; + static JArray< jint > * S3; + static JArray< jint > * S4; + static JArray< jint > * S5; + static JArray< jint > * S6; + static JArray< jint > * S7; + static JArray< jint > * S8; + static const jint _12_ROUNDS = 12; + static const jint _16_ROUNDS = 16; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Cast5__ diff --git a/libjava/gnu/javax/crypto/cipher/CipherFactory.h b/libjava/gnu/javax/crypto/cipher/CipherFactory.h new file mode 100644 index 00000000000..97f49ea79dd --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/CipherFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_CipherFactory__ +#define __gnu_javax_crypto_cipher_CipherFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class CipherFactory; + class IBlockCipher; + } + } + } + } +} + +class gnu::javax::crypto::cipher::CipherFactory : public ::java::lang::Object +{ + + CipherFactory(); +public: + static ::gnu::javax::crypto::cipher::IBlockCipher * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_CipherFactory__ diff --git a/libjava/gnu/javax/crypto/cipher/DES$Context.h b/libjava/gnu/javax/crypto/cipher/DES$Context.h new file mode 100644 index 00000000000..f25456f4d4d --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/DES$Context.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_DES$Context__ +#define __gnu_javax_crypto_cipher_DES$Context__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class DES; + class DES$Context; + } + } + } + } +} + +class gnu::javax::crypto::cipher::DES$Context : public ::java::lang::Object +{ + +public: // actually package-private + DES$Context(::gnu::javax::crypto::cipher::DES *); + JArray< jbyte > * getEncryptionKeyBytes(); + JArray< jbyte > * getDecryptionKeyBytes(); + JArray< jbyte > * toByteArray(JArray< jint > *); +private: + static const jint EXPANDED_KEY_SIZE = 32; +public: // actually package-private + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ek; + JArray< jint > * dk; + ::gnu::javax::crypto::cipher::DES * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_DES$Context__ diff --git a/libjava/gnu/javax/crypto/cipher/DES.h b/libjava/gnu/javax/crypto/cipher/DES.h new file mode 100644 index 00000000000..a5830d835d1 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/DES.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_DES__ +#define __gnu_javax_crypto_cipher_DES__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class DES; + } + } + } + } +} + +class gnu::javax::crypto::cipher::DES : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + DES(); + static void adjustParity(JArray< jbyte > *, jint); + static jboolean isParityAdjusted(JArray< jbyte > *, jint); + static jboolean isWeak(JArray< jbyte > *); + static jboolean isSemiWeak(JArray< jbyte > *); + static jboolean isPossibleWeak(JArray< jbyte > *); +private: + static void desFunc(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< jint > *); +public: + virtual ::java::lang::Object * clone(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::util::Iterator * keySizes(); + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + static const jint BLOCK_SIZE = 8; + static const jint KEY_SIZE = 8; +private: + static JArray< jint > * SP1; + static JArray< jint > * SP2; + static JArray< jint > * SP3; + static JArray< jint > * SP4; + static JArray< jint > * SP5; + static JArray< jint > * SP6; + static JArray< jint > * SP7; + static JArray< jint > * SP8; + static JArray< jbyte > * PARITY; + static JArray< jbyte > * ROTARS; + static JArray< jbyte > * PC1; + static JArray< jbyte > * PC2; +public: + static JArray< JArray< jbyte > * > * WEAK_KEYS; + static JArray< JArray< jbyte > * > * SEMIWEAK_KEYS; + static JArray< JArray< jbyte > * > * POSSIBLE_WEAK_KEYS; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_DES__ diff --git a/libjava/gnu/javax/crypto/cipher/IBlockCipher.h b/libjava/gnu/javax/crypto/cipher/IBlockCipher.h new file mode 100644 index 00000000000..662389b264c --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/IBlockCipher.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_IBlockCipher__ +#define __gnu_javax_crypto_cipher_IBlockCipher__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + } + } + } +} + +class gnu::javax::crypto::cipher::IBlockCipher : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual jint defaultBlockSize() = 0; + virtual jint defaultKeySize() = 0; + virtual ::java::util::Iterator * blockSizes() = 0; + virtual ::java::util::Iterator * keySizes() = 0; + virtual ::java::lang::Object * clone() = 0; + virtual void init(::java::util::Map *) = 0; + virtual jint currentBlockSize() = 0; + virtual void reset() = 0; + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual jboolean selfTest() = 0; + static ::java::lang::String * CIPHER_BLOCK_SIZE; + static ::java::lang::String * KEY_MATERIAL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_cipher_IBlockCipher__ diff --git a/libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h b/libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h new file mode 100644 index 00000000000..35e686dda51 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_IBlockCipherSpi__ +#define __gnu_javax_crypto_cipher_IBlockCipherSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipherSpi; + } + } + } + } +} + +class gnu::javax::crypto::cipher::IBlockCipherSpi : public ::java::lang::Object +{ + +public: + virtual ::java::util::Iterator * blockSizes() = 0; + virtual ::java::util::Iterator * keySizes() = 0; + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint) = 0; + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0; + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0; + virtual jboolean selfTest() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_cipher_IBlockCipherSpi__ diff --git a/libjava/gnu/javax/crypto/cipher/Khazad.h b/libjava/gnu/javax/crypto/cipher/Khazad.h new file mode 100644 index 00000000000..734bab28ec5 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Khazad.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Khazad__ +#define __gnu_javax_crypto_cipher_Khazad__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Khazad; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Khazad : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Khazad(); +private: + static void khazad(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< JArray< jint > * > *); +public: + ::java::lang::Object * clone(); + ::java::util::Iterator * blockSizes(); + ::java::util::Iterator * keySizes(); + ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + jboolean selfTest(); +private: + static ::java::util::logging::Logger * log; + static const jint DEFAULT_BLOCK_SIZE = 8; + static const jint DEFAULT_KEY_SIZE = 16; + static const jint R = 8; + static ::java::lang::String * Sd; + static JArray< jbyte > * S; + static JArray< jint > * T0; + static JArray< jint > * T1; + static JArray< jint > * T2; + static JArray< jint > * T3; + static JArray< jint > * T4; + static JArray< jint > * T5; + static JArray< jint > * T6; + static JArray< jint > * T7; + static JArray< JArray< jint > * > * rc; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Khazad__ diff --git a/libjava/gnu/javax/crypto/cipher/NullCipher.h b/libjava/gnu/javax/crypto/cipher/NullCipher.h new file mode 100644 index 00000000000..5199488c50e --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/NullCipher.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_NullCipher__ +#define __gnu_javax_crypto_cipher_NullCipher__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class NullCipher; + } + } + } + } +} + +class gnu::javax::crypto::cipher::NullCipher : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + NullCipher(); + ::java::lang::Object * clone(); + ::java::util::Iterator * blockSizes(); + ::java::util::Iterator * keySizes(); + ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + jboolean selfTest(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_NullCipher__ diff --git a/libjava/gnu/javax/crypto/cipher/Rijndael.h b/libjava/gnu/javax/crypto/cipher/Rijndael.h new file mode 100644 index 00000000000..2511bfe662b --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Rijndael.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Rijndael__ +#define __gnu_javax_crypto_cipher_Rijndael__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Rijndael; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Rijndael : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Rijndael(); + static jint getRounds(jint, jint); +private: + static void rijndaelEncrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + static void rijndaelDecrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + static void aesEncrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *); + static void aesDecrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *); +public: + ::java::lang::Object * clone(); + ::java::util::Iterator * blockSizes(); + ::java::util::Iterator * keySizes(); + ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + jboolean selfTest(); +private: + static ::java::util::logging::Logger * log; + static const jint DEFAULT_BLOCK_SIZE = 16; + static const jint DEFAULT_KEY_SIZE = 16; + static ::java::lang::String * SS; + static JArray< jbyte > * S; + static JArray< jbyte > * Si; + static JArray< jint > * T1; + static JArray< jint > * T2; + static JArray< jint > * T3; + static JArray< jint > * T4; + static JArray< jint > * T5; + static JArray< jint > * T6; + static JArray< jint > * T7; + static JArray< jint > * T8; + static JArray< jint > * U1; + static JArray< jint > * U2; + static JArray< jint > * U3; + static JArray< jint > * U4; + static JArray< jbyte > * rcon; + static JArray< JArray< JArray< jint > * > * > * shifts; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Rijndael__ diff --git a/libjava/gnu/javax/crypto/cipher/Serpent$Key.h b/libjava/gnu/javax/crypto/cipher/Serpent$Key.h new file mode 100644 index 00000000000..ee098e01ab2 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Serpent$Key.h @@ -0,0 +1,175 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Serpent$Key__ +#define __gnu_javax_crypto_cipher_Serpent$Key__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Serpent; + class Serpent$Key; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Serpent$Key : public ::java::lang::Object +{ + +public: // actually package-private + Serpent$Key(::gnu::javax::crypto::cipher::Serpent *); +private: + Serpent$Key(::gnu::javax::crypto::cipher::Serpent *, ::gnu::javax::crypto::cipher::Serpent$Key *); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) k0; + jint k1; + jint k2; + jint k3; + jint k4; + jint k5; + jint k6; + jint k7; + jint k8; + jint k9; + jint k10; + jint k11; + jint k12; + jint k13; + jint k14; + jint k15; + jint k16; + jint k17; + jint k18; + jint k19; + jint k20; + jint k21; + jint k22; + jint k23; + jint k24; + jint k25; + jint k26; + jint k27; + jint k28; + jint k29; + jint k30; + jint k31; + jint k32; + jint k33; + jint k34; + jint k35; + jint k36; + jint k37; + jint k38; + jint k39; + jint k40; + jint k41; + jint k42; + jint k43; + jint k44; + jint k45; + jint k46; + jint k47; + jint k48; + jint k49; + jint k50; + jint k51; + jint k52; + jint k53; + jint k54; + jint k55; + jint k56; + jint k57; + jint k58; + jint k59; + jint k60; + jint k61; + jint k62; + jint k63; + jint k64; + jint k65; + jint k66; + jint k67; + jint k68; + jint k69; + jint k70; + jint k71; + jint k72; + jint k73; + jint k74; + jint k75; + jint k76; + jint k77; + jint k78; + jint k79; + jint k80; + jint k81; + jint k82; + jint k83; + jint k84; + jint k85; + jint k86; + jint k87; + jint k88; + jint k89; + jint k90; + jint k91; + jint k92; + jint k93; + jint k94; + jint k95; + jint k96; + jint k97; + jint k98; + jint k99; + jint k100; + jint k101; + jint k102; + jint k103; + jint k104; + jint k105; + jint k106; + jint k107; + jint k108; + jint k109; + jint k110; + jint k111; + jint k112; + jint k113; + jint k114; + jint k115; + jint k116; + jint k117; + jint k118; + jint k119; + jint k120; + jint k121; + jint k122; + jint k123; + jint k124; + jint k125; + jint k126; + jint k127; + jint k128; + jint k129; + jint k130; + jint k131; + ::gnu::javax::crypto::cipher::Serpent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Serpent$Key__ diff --git a/libjava/gnu/javax/crypto/cipher/Serpent.h b/libjava/gnu/javax/crypto/cipher/Serpent.h new file mode 100644 index 00000000000..20b9a5bf779 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Serpent.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Serpent__ +#define __gnu_javax_crypto_cipher_Serpent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Serpent; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Serpent : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Serpent(); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::util::Iterator * keySizes(); + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual jboolean selfTest(); +private: + void sbox0(); + void sbox1(); + void sbox2(); + void sbox3(); + void sbox4(); + void sbox5(); + void sbox6(); + void sbox7(); + void sbox7noLT(); + void sboxI7noLT(); + void sboxI6(); + void sboxI5(); + void sboxI4(); + void sboxI3(); + void sboxI2(); + void sboxI1(); + void sboxI0(); + void sboxI7(); + void sbox0(jint, jint, jint, jint); + void sbox1(jint, jint, jint, jint); + void sbox2(jint, jint, jint, jint); + void sbox3(jint, jint, jint, jint); + void sbox4(jint, jint, jint, jint); + void sbox5(jint, jint, jint, jint); + void sbox6(jint, jint, jint, jint); + void sbox7(jint, jint, jint, jint); + static const jint DEFAULT_KEY_SIZE = 16; + static const jint DEFAULT_BLOCK_SIZE = 16; + static const jint ROUNDS = 32; + static const jint PHI = -1640531527; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::cipher::BaseCipher)))) x0; + jint x1; + jint x2; + jint x3; + jint x4; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Serpent__ diff --git a/libjava/gnu/javax/crypto/cipher/Square.h b/libjava/gnu/javax/crypto/cipher/Square.h new file mode 100644 index 00000000000..cae545c19c2 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Square.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Square__ +#define __gnu_javax_crypto_cipher_Square__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Square; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Square : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + Square(); +private: + static void square(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< JArray< jint > * > *, JArray< jint > *, JArray< jbyte > *); + static void transform(JArray< jint > *, JArray< jint > *); + static jint rot32L(jint, jint); + static jint rot32R(jint, jint); + static jint mul(jint, jint); +public: + ::java::lang::Object * clone(); + ::java::util::Iterator * blockSizes(); + ::java::util::Iterator * keySizes(); + ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + jboolean selfTest(); +private: + static const jint DEFAULT_BLOCK_SIZE = 16; + static const jint DEFAULT_KEY_SIZE = 16; + static const jint ROUNDS = 8; + static const jint ROOT = 501; + static JArray< jint > * OFFSET; + static ::java::lang::String * Sdata; + static JArray< jbyte > * Se; + static JArray< jbyte > * Sd; + static JArray< jint > * Te; + static JArray< jint > * Td; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Square__ diff --git a/libjava/gnu/javax/crypto/cipher/TripleDES$Context.h b/libjava/gnu/javax/crypto/cipher/TripleDES$Context.h new file mode 100644 index 00000000000..f2602150226 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/TripleDES$Context.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_TripleDES$Context__ +#define __gnu_javax_crypto_cipher_TripleDES$Context__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class DES$Context; + class TripleDES; + class TripleDES$Context; + } + } + } + } +} + +class gnu::javax::crypto::cipher::TripleDES$Context : public ::java::lang::Object +{ + + TripleDES$Context(::gnu::javax::crypto::cipher::TripleDES *); +public: // actually package-private + TripleDES$Context(::gnu::javax::crypto::cipher::TripleDES *, ::gnu::javax::crypto::cipher::TripleDES$Context *); + ::gnu::javax::crypto::cipher::DES$Context * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k1; + ::gnu::javax::crypto::cipher::DES$Context * k2; + ::gnu::javax::crypto::cipher::DES$Context * k3; + ::gnu::javax::crypto::cipher::TripleDES * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_TripleDES$Context__ diff --git a/libjava/gnu/javax/crypto/cipher/TripleDES.h b/libjava/gnu/javax/crypto/cipher/TripleDES.h new file mode 100644 index 00000000000..cbe5a6c5f36 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/TripleDES.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_TripleDES__ +#define __gnu_javax_crypto_cipher_TripleDES__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class DES; + class TripleDES; + } + } + } + } +} + +class gnu::javax::crypto::cipher::TripleDES : public ::gnu::javax::crypto::cipher::BaseCipher +{ + +public: + TripleDES(); + static void adjustParity(JArray< jbyte > *, jint); + static void adjustParity(jint, JArray< jbyte > *, jint); + static jboolean isParityAdjusted(JArray< jbyte > *, jint); + static jboolean isParityAdjusted(jint, JArray< jbyte > *, jint); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::util::Iterator * keySizes(); + virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + static const jint BLOCK_SIZE = 8; + static const jint KEY_SIZE = 24; +private: + ::gnu::javax::crypto::cipher::DES * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::cipher::BaseCipher)))) des; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_TripleDES__ diff --git a/libjava/gnu/javax/crypto/cipher/Twofish.h b/libjava/gnu/javax/crypto/cipher/Twofish.h new file mode 100644 index 00000000000..5c2d7cb9583 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/Twofish.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_Twofish__ +#define __gnu_javax_crypto_cipher_Twofish__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Twofish; + } + } + } + } +} + +class gnu::javax::crypto::cipher::Twofish : public ::gnu::javax::crypto::cipher::BaseCipher +{ + + static jint LFSR1(jint); + static jint LFSR2(jint); + static jint Mx_X(jint); + static jint Mx_Y(jint); +public: + Twofish(); +private: + static jint b0(jint); + static jint b1(jint); + static jint b2(jint); + static jint b3(jint); + static jint RS_MDS_Encode(jint, jint); + static jint RS_rem(jint); + static jint F32(jint, jint, JArray< jint > *); + static jint Fe32(JArray< jint > *, jint, jint); + static jint _b(jint, jint); +public: + ::java::lang::Object * clone(); + ::java::util::Iterator * blockSizes(); + ::java::util::Iterator * keySizes(); + ::java::lang::Object * makeKey(JArray< jbyte > *, jint); + void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint); + jboolean selfTest(); +private: + static ::java::util::logging::Logger * log; + static const jint DEFAULT_BLOCK_SIZE = 16; + static const jint DEFAULT_KEY_SIZE = 16; + static const jint MAX_ROUNDS = 16; + static const jint ROUNDS = 16; + static const jint INPUT_WHITEN = 0; + static const jint OUTPUT_WHITEN = 4; + static const jint ROUND_SUBKEYS = 8; + static const jint SK_STEP = 33686018; + static const jint SK_BUMP = 16843009; + static const jint SK_ROTL = 9; + static JArray< ::java::lang::String * > * Pm; + static JArray< JArray< jbyte > * > * P; + static const jint P_00 = 1; + static const jint P_01 = 0; + static const jint P_02 = 0; + static const jint P_03 = 1; + static const jint P_04 = 1; + static const jint P_10 = 0; + static const jint P_11 = 0; + static const jint P_12 = 1; + static const jint P_13 = 1; + static const jint P_14 = 0; + static const jint P_20 = 1; + static const jint P_21 = 1; + static const jint P_22 = 0; + static const jint P_23 = 0; + static const jint P_24 = 0; + static const jint P_30 = 0; + static const jint P_31 = 1; + static const jint P_32 = 1; + static const jint P_33 = 0; + static const jint P_34 = 1; + static const jint GF256_FDBK_2 = 180; + static const jint GF256_FDBK_4 = 90; + static JArray< JArray< jint > * > * MDS; + static const jint RS_GF_FDBK = 333; + static JArray< jbyte > * KAT_KEY; + static JArray< jbyte > * KAT_CT; + static ::java::lang::Boolean * valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_Twofish__ diff --git a/libjava/gnu/javax/crypto/cipher/WeakKeyException.h b/libjava/gnu/javax/crypto/cipher/WeakKeyException.h new file mode 100644 index 00000000000..42d12100fa9 --- /dev/null +++ b/libjava/gnu/javax/crypto/cipher/WeakKeyException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_cipher_WeakKeyException__ +#define __gnu_javax_crypto_cipher_WeakKeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class WeakKeyException; + } + } + } + } +} + +class gnu::javax::crypto::cipher::WeakKeyException : public ::java::security::InvalidKeyException +{ + +public: + WeakKeyException(); + WeakKeyException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_cipher_WeakKeyException__ diff --git a/libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h b/libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h new file mode 100644 index 00000000000..3cd0578dea9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_DiffieHellmanImpl__ +#define __gnu_javax_crypto_jce_DiffieHellmanImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class DiffieHellmanImpl; + } + } + } + } + namespace java + { + namespace security + { + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + namespace interfaces + { + class DHPrivateKey; + } + } + } +} + +class gnu::javax::crypto::jce::DiffieHellmanImpl : public ::javax::crypto::KeyAgreementSpi +{ + +public: + DiffieHellmanImpl(); +public: // actually protected + ::java::security::Key * engineDoPhase(::java::security::Key *, jboolean); + JArray< jbyte > * engineGenerateSecret(); + jint engineGenerateSecret(JArray< jbyte > *, jint); + ::javax::crypto::SecretKey * engineGenerateSecret(::java::lang::String *); + void engineInit(::java::security::Key *, ::java::security::SecureRandom *); + void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); +private: + void reset(); + void checkState(); + ::javax::crypto::interfaces::DHPrivateKey * __attribute__((aligned(__alignof__( ::javax::crypto::KeyAgreementSpi)))) key; + JArray< jbyte > * result; + jboolean last_phase_done; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_DiffieHellmanImpl__ diff --git a/libjava/gnu/javax/crypto/jce/GnuCrypto$1.h b/libjava/gnu/javax/crypto/jce/GnuCrypto$1.h new file mode 100644 index 00000000000..2ccd2941876 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/GnuCrypto$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_GnuCrypto$1__ +#define __gnu_javax_crypto_jce_GnuCrypto$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class GnuCrypto; + class GnuCrypto$1; + } + } + } + } +} + +class gnu::javax::crypto::jce::GnuCrypto$1 : public ::java::lang::Object +{ + +public: // actually package-private + GnuCrypto$1(::gnu::javax::crypto::jce::GnuCrypto *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::javax::crypto::jce::GnuCrypto * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_GnuCrypto$1__ diff --git a/libjava/gnu/javax/crypto/jce/GnuCrypto.h b/libjava/gnu/javax/crypto/jce/GnuCrypto.h new file mode 100644 index 00000000000..fa9cb5774f8 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/GnuCrypto.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_GnuCrypto__ +#define __gnu_javax_crypto_jce_GnuCrypto__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class GnuCrypto; + } + } + } + } +} + +class gnu::javax::crypto::jce::GnuCrypto : public ::java::security::Provider +{ + +public: + GnuCrypto(); + static ::java::util::Set * getCipherNames(); + static ::java::util::Set * getMacNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_GnuCrypto__ diff --git a/libjava/gnu/javax/crypto/jce/GnuSasl$1.h b/libjava/gnu/javax/crypto/jce/GnuSasl$1.h new file mode 100644 index 00000000000..fd07c636a3e --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/GnuSasl$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_GnuSasl$1__ +#define __gnu_javax_crypto_jce_GnuSasl$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class GnuSasl; + class GnuSasl$1; + } + } + } + } +} + +class gnu::javax::crypto::jce::GnuSasl$1 : public ::java::lang::Object +{ + +public: // actually package-private + GnuSasl$1(::gnu::javax::crypto::jce::GnuSasl *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::javax::crypto::jce::GnuSasl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_GnuSasl$1__ diff --git a/libjava/gnu/javax/crypto/jce/GnuSasl.h b/libjava/gnu/javax/crypto/jce/GnuSasl.h new file mode 100644 index 00000000000..bf624a12a6c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/GnuSasl.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_GnuSasl__ +#define __gnu_javax_crypto_jce_GnuSasl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class GnuSasl; + } + } + } + } +} + +class gnu::javax::crypto::jce::GnuSasl : public ::java::security::Provider +{ + +public: + GnuSasl(); + static ::java::util::Set * getSaslClientMechanismNames(); + static ::java::util::Set * getSaslServerMechanismNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_GnuSasl__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h new file mode 100644 index 00000000000..30227d8f302 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacHaval__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacHaval__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacHaval; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacHaval : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacHaval(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacHaval__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h new file mode 100644 index 00000000000..4d18fa3cf6b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD2__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacMD2; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacMD2 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacMD2(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD2__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h new file mode 100644 index 00000000000..b55a29dd0c7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD4__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD4__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacMD4; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacMD4 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacMD4(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD4__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h new file mode 100644 index 00000000000..2e8599cbc48 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD5__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacMD5; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacMD5 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacMD5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD5__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h new file mode 100644 index 00000000000..5bfcdf369fd --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD128__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD128__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacRipeMD128; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacRipeMD128 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacRipeMD128(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD128__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h new file mode 100644 index 00000000000..9e058d6d474 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD160__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD160__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacRipeMD160; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacRipeMD160 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacRipeMD160(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD160__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h new file mode 100644 index 00000000000..70529e146fc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA1__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacSHA1; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA1 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacSHA1(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA1__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h new file mode 100644 index 00000000000..002272c8407 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA256__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA256__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacSHA256; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA256 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacSHA256(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA256__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h new file mode 100644 index 00000000000..6df181d1c0a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA384__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA384__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacSHA384; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA384 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacSHA384(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA384__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h new file mode 100644 index 00000000000..e035c279ff9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA512__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA512__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacSHA512; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA512 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacSHA512(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA512__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h new file mode 100644 index 00000000000..bb08d2a96f5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacTiger__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacTiger__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacTiger; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacTiger : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacTiger(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacTiger__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h new file mode 100644 index 00000000000..4ad9b2e64a5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacWhirlpool__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacWhirlpool__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory$HMacWhirlpool; + } + } + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacWhirlpool : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory +{ + +public: + PBKDF2SecretKeyFactory$HMacWhirlpool(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacWhirlpool__ diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h new file mode 100644 index 00000000000..97ef99b6b35 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory__ +#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + class PBKDF2SecretKeyFactory; + } + } + } + } + namespace java + { + namespace security + { + namespace spec + { + class KeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory : public ::javax::crypto::SecretKeyFactorySpi +{ + +public: // actually protected + PBKDF2SecretKeyFactory(::java::lang::String *); + virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *); + virtual ::javax::crypto::SecretKey * engineTranslateKey(::javax::crypto::SecretKey *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::crypto::SecretKeyFactorySpi)))) macName; +private: + static const jint DEFAULT_ITERATION_COUNT = 1000; + static const jint DEFAULT_KEY_LEN = 32; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h new file mode 100644 index 00000000000..524f2f9b402 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_AES128KeyWrapSpi__ +#define __gnu_javax_crypto_jce_cipher_AES128KeyWrapSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class AES128KeyWrapSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::AES128KeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::AESKeyWrapSpi +{ + +public: + AES128KeyWrapSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_AES128KeyWrapSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h new file mode 100644 index 00000000000..b19897b29d1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_AES192KeyWrapSpi__ +#define __gnu_javax_crypto_jce_cipher_AES192KeyWrapSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class AES192KeyWrapSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::AES192KeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::AESKeyWrapSpi +{ + +public: + AES192KeyWrapSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_AES192KeyWrapSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h new file mode 100644 index 00000000000..f8770058754 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_AES256KeyWrapSpi__ +#define __gnu_javax_crypto_jce_cipher_AES256KeyWrapSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class AES256KeyWrapSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::AES256KeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::AESKeyWrapSpi +{ + +public: + AES256KeyWrapSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_AES256KeyWrapSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h new file mode 100644 index 00000000000..d20e50642d6 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_AESKeyWrapSpi__ +#define __gnu_javax_crypto_jce_cipher_AESKeyWrapSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class AESKeyWrapSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::AESKeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::KeyWrappingAlgorithmAdapter +{ + +public: // actually protected + AESKeyWrapSpi(::java::lang::String *, jint, ::java::lang::String *); + virtual jint getOutputSizeForWrap(jint); + virtual jint getOutputSizeForUnwrap(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_AESKeyWrapSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/AESSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AESSpi.h new file mode 100644 index 00000000000..dd73ecca801 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/AESSpi.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_AESSpi__ +#define __gnu_javax_crypto_jce_cipher_AESSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class AESSpi; + } + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::cipher::AESSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + AESSpi(); +public: // actually protected + void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_AESSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h b/libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h new file mode 100644 index 00000000000..677f8e9b560 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_ARCFourSpi__ +#define __gnu_javax_crypto_jce_cipher_ARCFourSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class ARCFourSpi; + } + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::cipher::ARCFourSpi : public ::javax::crypto::CipherSpi +{ + +public: + ARCFourSpi(); +public: // actually protected + virtual jint engineGetBlockSize(); + virtual void engineSetMode(::java::lang::String *); + virtual void engineSetPadding(::java::lang::String *); + virtual JArray< jbyte > * engineGetIV(); + virtual jint engineGetOutputSize(jint); + virtual ::java::security::AlgorithmParameters * engineGetParameters(); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); + virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint); + virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint); + virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); +private: + ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) keystream; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_ARCFourSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h new file mode 100644 index 00000000000..c7de4802802 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_AnubisSpi__ +#define __gnu_javax_crypto_jce_cipher_AnubisSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class AnubisSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::AnubisSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + AnubisSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_AnubisSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h b/libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h new file mode 100644 index 00000000000..aed783b58d7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_BlowfishSpi__ +#define __gnu_javax_crypto_jce_cipher_BlowfishSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class BlowfishSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::BlowfishSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + BlowfishSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_BlowfishSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h b/libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h new file mode 100644 index 00000000000..dbba171aaa2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_Cast5Spi__ +#define __gnu_javax_crypto_jce_cipher_Cast5Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class Cast5Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::Cast5Spi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + Cast5Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_Cast5Spi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h b/libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h new file mode 100644 index 00000000000..751abfe0158 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_CipherAdapter__ +#define __gnu_javax_crypto_jce_cipher_CipherAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace jce + { + namespace cipher + { + class CipherAdapter; + } + } + namespace mode + { + class IMode; + } + namespace pad + { + class IPad; + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::cipher::CipherAdapter : public ::javax::crypto::CipherSpi +{ + +public: // actually protected + CipherAdapter(::java::lang::String *, jint); + CipherAdapter(::java::lang::String *); + virtual void engineSetMode(::java::lang::String *); + virtual void engineSetPadding(::java::lang::String *); + virtual jint engineGetBlockSize(); + virtual jint engineGetOutputSize(jint); + virtual JArray< jbyte > * engineGetIV(); + virtual ::java::security::AlgorithmParameters * engineGetParameters(); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *); +private: + void engineInitHandler(jint, ::java::security::Key *, ::java::security::SecureRandom *); +public: // actually protected + virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); + virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint); + virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint); + virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); +private: + void reset(); +public: // actually protected + ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) cipher; + ::gnu::javax::crypto::mode::IMode * mode; + ::gnu::javax::crypto::pad::IPad * pad; + jint keyLen; + ::java::util::Map * attributes; + JArray< jbyte > * partBlock; + jint partLen; + jint blockLen; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_CipherAdapter__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/DESSpi.h b/libjava/gnu/javax/crypto/jce/cipher/DESSpi.h new file mode 100644 index 00000000000..59a2c919c3a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/DESSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_DESSpi__ +#define __gnu_javax_crypto_jce_cipher_DESSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class DESSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::DESSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + DESSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_DESSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h b/libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h new file mode 100644 index 00000000000..43a5a6e350d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_KeyWrappingAlgorithmAdapter__ +#define __gnu_javax_crypto_jce_cipher_KeyWrappingAlgorithmAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class KeyWrappingAlgorithmAdapter; + } + } + namespace kwa + { + class IKeyWrappingAlgorithm; + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::cipher::KeyWrappingAlgorithmAdapter : public ::javax::crypto::CipherSpi +{ + +public: // actually protected + KeyWrappingAlgorithmAdapter(::java::lang::String *, jint, jint, ::java::lang::String *); + virtual JArray< jbyte > * engineWrap(::java::security::Key *); + virtual ::java::security::Key * engineUnwrap(JArray< jbyte > *, ::java::lang::String *, jint); + virtual jint engineGetBlockSize(); + virtual JArray< jbyte > * engineGetIV(); + virtual jint engineGetOutputSize(jint); + virtual ::java::security::AlgorithmParameters * engineGetParameters(); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void engineSetMode(::java::lang::String *); + virtual void engineSetPadding(::java::lang::String *); + virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint); + virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint); + virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual jint getOutputSizeForWrap(jint); + virtual jint getOutputSizeForUnwrap(jint); +private: + void checkOpMode(jint); + JArray< jbyte > * checkAndGetKekBytes(::java::security::Key *); + void initAlgorithm(jint, JArray< jbyte > *, JArray< jbyte > *, ::java::security::SecureRandom *); + static ::java::util::logging::Logger * log; + static ::java::lang::String * NO_PADDING; +public: // actually protected + ::gnu::javax::crypto::kwa::IKeyWrappingAlgorithm * __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) kwAlgorithm; + jint kwaBlockSize; + jint kwaKeySize; + ::java::lang::String * supportedMode; + jint opmode; +public: // actually package-private + JArray< jbyte > * iv; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_KeyWrappingAlgorithmAdapter__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h b/libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h new file mode 100644 index 00000000000..76ace5867e1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_KhazadSpi__ +#define __gnu_javax_crypto_jce_cipher_KhazadSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class KhazadSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::KhazadSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + KhazadSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_KhazadSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h b/libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h new file mode 100644 index 00000000000..62c4749c50f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_NullCipherSpi__ +#define __gnu_javax_crypto_jce_cipher_NullCipherSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class NullCipherSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::NullCipherSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + NullCipherSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_NullCipherSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h new file mode 100644 index 00000000000..eb6bb4cd19a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h new file mode 100644 index 00000000000..c90eb389985 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h new file mode 100644 index 00000000000..c370b08db6a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h new file mode 100644 index 00000000000..6252b4b3488 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h new file mode 100644 index 00000000000..57eab6c4d8e --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h new file mode 100644 index 00000000000..cbec0119876 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h new file mode 100644 index 00000000000..242887a8f6c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h new file mode 100644 index 00000000000..e81b65b1f09 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h new file mode 100644 index 00000000000..1c4787f290f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h new file mode 100644 index 00000000000..42cd2c2b450 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval +{ + +public: + PBES2$HMacHaval$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h new file mode 100644 index 00000000000..96473880609 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacHaval; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacHaval(::java::lang::String *, jint); + PBES2$HMacHaval(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h new file mode 100644 index 00000000000..d8dc2947015 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h new file mode 100644 index 00000000000..777337be155 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h new file mode 100644 index 00000000000..a4874de7a64 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h new file mode 100644 index 00000000000..e89caead40b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h new file mode 100644 index 00000000000..8d1788e8ab4 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h new file mode 100644 index 00000000000..1385a24b1a2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h new file mode 100644 index 00000000000..b56ce910b82 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h new file mode 100644 index 00000000000..18b4f2646b9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h new file mode 100644 index 00000000000..925414bf6a9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h new file mode 100644 index 00000000000..1299150f977 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 +{ + +public: + PBES2$HMacMD2$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h new file mode 100644 index 00000000000..50db50fa6e9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD2; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacMD2(::java::lang::String *, jint); + PBES2$HMacMD2(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h new file mode 100644 index 00000000000..205e01ee0e1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h new file mode 100644 index 00000000000..8d03850489d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h new file mode 100644 index 00000000000..a5a2b230880 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h new file mode 100644 index 00000000000..8727bc74634 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h new file mode 100644 index 00000000000..10e3c7eea95 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h new file mode 100644 index 00000000000..8bf6693389b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h new file mode 100644 index 00000000000..5c921229c63 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h new file mode 100644 index 00000000000..a14ef595eb1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h new file mode 100644 index 00000000000..851eedfda1b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h new file mode 100644 index 00000000000..fe69d0d89ac --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 +{ + +public: + PBES2$HMacMD4$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h new file mode 100644 index 00000000000..95d6018ae32 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD4; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacMD4(::java::lang::String *, jint); + PBES2$HMacMD4(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h new file mode 100644 index 00000000000..0e51830bcd0 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h new file mode 100644 index 00000000000..758d607d209 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h new file mode 100644 index 00000000000..66546b8edf2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h new file mode 100644 index 00000000000..cc38df76f38 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h new file mode 100644 index 00000000000..14d6581df3d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h new file mode 100644 index 00000000000..1e3ee6cde38 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h new file mode 100644 index 00000000000..2678cb2caa8 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h new file mode 100644 index 00000000000..212cfac15a0 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h new file mode 100644 index 00000000000..9e7feddd13f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h new file mode 100644 index 00000000000..59933417c0a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 +{ + +public: + PBES2$HMacMD5$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h new file mode 100644 index 00000000000..27467b8ac18 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacMD5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacMD5(::java::lang::String *, jint); + PBES2$HMacMD5(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h new file mode 100644 index 00000000000..4accfd63e9b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h new file mode 100644 index 00000000000..dd5773e93ad --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h new file mode 100644 index 00000000000..ea8859b069f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h new file mode 100644 index 00000000000..8874aa0f17b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h new file mode 100644 index 00000000000..db5b01bb8c9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h new file mode 100644 index 00000000000..128eb9cf3b7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h new file mode 100644 index 00000000000..266eb25ef9b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h new file mode 100644 index 00000000000..7bcacce886c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h new file mode 100644 index 00000000000..172cb92e228 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h new file mode 100644 index 00000000000..77ca273c56c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 +{ + +public: + PBES2$HMacRipeMD128$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h new file mode 100644 index 00000000000..db5652b5893 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD128; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacRipeMD128(::java::lang::String *, jint); + PBES2$HMacRipeMD128(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h new file mode 100644 index 00000000000..a5c78d3348f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h new file mode 100644 index 00000000000..d5fb9ee5ca2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h new file mode 100644 index 00000000000..72d6031130b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h new file mode 100644 index 00000000000..9c0119beaf7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h new file mode 100644 index 00000000000..37045f28930 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h new file mode 100644 index 00000000000..e0a3b3f136a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h new file mode 100644 index 00000000000..e3fa0861951 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h new file mode 100644 index 00000000000..6d820e5e446 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h new file mode 100644 index 00000000000..40518b14719 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h new file mode 100644 index 00000000000..f2beac4eb46 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 +{ + +public: + PBES2$HMacRipeMD160$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h new file mode 100644 index 00000000000..416db1df6cb --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacRipeMD160; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacRipeMD160(::java::lang::String *, jint); + PBES2$HMacRipeMD160(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h new file mode 100644 index 00000000000..35f84425c90 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h new file mode 100644 index 00000000000..52cbbeb0f42 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h new file mode 100644 index 00000000000..9352b8d52b6 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h new file mode 100644 index 00000000000..c84c600b0dd --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h new file mode 100644 index 00000000000..2eb4abf1faa --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h new file mode 100644 index 00000000000..9b747864077 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h new file mode 100644 index 00000000000..c8af0ca28f5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h new file mode 100644 index 00000000000..a3f55daa1f2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h new file mode 100644 index 00000000000..3f629b2058d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h new file mode 100644 index 00000000000..3bda01a27c4 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 +{ + +public: + PBES2$HMacSHA1$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h new file mode 100644 index 00000000000..06e4c964f38 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA1; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacSHA1(::java::lang::String *, jint); + PBES2$HMacSHA1(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h new file mode 100644 index 00000000000..523bb3a63c3 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h new file mode 100644 index 00000000000..28fa73d7aed --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h new file mode 100644 index 00000000000..ab4b62b5913 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h new file mode 100644 index 00000000000..a8edc0c73c0 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h new file mode 100644 index 00000000000..4812a26ff40 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h new file mode 100644 index 00000000000..04221e0eef8 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h new file mode 100644 index 00000000000..69f68c5c828 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h new file mode 100644 index 00000000000..30a4207a9d9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h new file mode 100644 index 00000000000..e05e6bc1bc1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h new file mode 100644 index 00000000000..9e8b2c632d2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 +{ + +public: + PBES2$HMacSHA256$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h new file mode 100644 index 00000000000..7771d0b64d1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA256; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacSHA256(::java::lang::String *, jint); + PBES2$HMacSHA256(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h new file mode 100644 index 00000000000..8b32b776fe5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h new file mode 100644 index 00000000000..6818d600def --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h new file mode 100644 index 00000000000..80cf46574ff --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h new file mode 100644 index 00000000000..6d8e4797c89 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h new file mode 100644 index 00000000000..c0a597ea6b7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h new file mode 100644 index 00000000000..3444db06624 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h new file mode 100644 index 00000000000..3bb0a1c43d3 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h new file mode 100644 index 00000000000..2b8b4c31038 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h new file mode 100644 index 00000000000..a5388f0b133 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h new file mode 100644 index 00000000000..5b849efbadc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 +{ + +public: + PBES2$HMacSHA384$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h new file mode 100644 index 00000000000..1bdf6807d6a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA384; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacSHA384(::java::lang::String *, jint); + PBES2$HMacSHA384(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h new file mode 100644 index 00000000000..f338e2d9a36 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h new file mode 100644 index 00000000000..1ff4f701a93 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h new file mode 100644 index 00000000000..fada5cb87bc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h new file mode 100644 index 00000000000..9ecaadfb988 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h new file mode 100644 index 00000000000..466ccf0dde4 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h new file mode 100644 index 00000000000..f342c6938fe --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h new file mode 100644 index 00000000000..1c393d07e2d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h new file mode 100644 index 00000000000..f2f5601a64f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h new file mode 100644 index 00000000000..14b4b15cbbc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h new file mode 100644 index 00000000000..d492efc2078 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 +{ + +public: + PBES2$HMacSHA512$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h new file mode 100644 index 00000000000..f1db51acd89 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacSHA512; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacSHA512(::java::lang::String *, jint); + PBES2$HMacSHA512(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h new file mode 100644 index 00000000000..baa9f27c167 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h new file mode 100644 index 00000000000..bce1ed801af --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h new file mode 100644 index 00000000000..6e0bfe238c0 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h new file mode 100644 index 00000000000..d171bdf1dd0 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h new file mode 100644 index 00000000000..a6ff7997093 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h new file mode 100644 index 00000000000..15162434d54 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h new file mode 100644 index 00000000000..e7e49e51736 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h new file mode 100644 index 00000000000..052f90242b5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h new file mode 100644 index 00000000000..3477866e273 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h new file mode 100644 index 00000000000..b9a62a8a2bb --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger +{ + +public: + PBES2$HMacTiger$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h new file mode 100644 index 00000000000..2b1ca594107 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacTiger; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacTiger(::java::lang::String *, jint); + PBES2$HMacTiger(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h new file mode 100644 index 00000000000..c2f5d6b42c2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$AES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$AES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$AES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$AES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$AES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h new file mode 100644 index 00000000000..c8fd00f1e94 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Anubis__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Anubis(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h new file mode 100644 index 00000000000..03f922f236b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Blowfish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Blowfish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h new file mode 100644 index 00000000000..f9037b2589e --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Cast5__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Cast5(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h new file mode 100644 index 00000000000..788ad9daba3 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$DES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$DES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$DES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h new file mode 100644 index 00000000000..7738c886400 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Khazad__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Khazad(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h new file mode 100644 index 00000000000..2d53d0b7cb1 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Serpent__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Serpent(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h new file mode 100644 index 00000000000..ca4bb7f078e --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Square__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Square(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Square__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h new file mode 100644 index 00000000000..9a58b29f207 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$TripleDES__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$TripleDES(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h new file mode 100644 index 00000000000..8cb59ebafdc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Twofish__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool +{ + +public: + PBES2$HMacWhirlpool$Twofish(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h new file mode 100644 index 00000000000..d420db0ead6 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool__ +#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2$HMacWhirlpool; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool : public ::gnu::javax::crypto::jce::cipher::PBES2 +{ + +public: + PBES2$HMacWhirlpool(::java::lang::String *, jint); + PBES2$HMacWhirlpool(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2.h new file mode 100644 index 00000000000..15042c2287a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_PBES2__ +#define __gnu_javax_crypto_jce_cipher_PBES2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class PBES2; + } + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class PBEKey; + } + namespace spec + { + class SecretKeySpec; + } + } + } +} + +class gnu::javax::crypto::jce::cipher::PBES2 : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: // actually protected + PBES2(::java::lang::String *, jint, ::java::lang::String *); + PBES2(::java::lang::String *, ::java::lang::String *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); +private: + ::javax::crypto::spec::SecretKeySpec * genkey(::javax::crypto::interfaces::PBEKey *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::cipher::CipherAdapter)))) macName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_PBES2__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h b/libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h new file mode 100644 index 00000000000..6d13b2b7816 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_RijndaelSpi__ +#define __gnu_javax_crypto_jce_cipher_RijndaelSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class RijndaelSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::RijndaelSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + RijndaelSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_RijndaelSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h b/libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h new file mode 100644 index 00000000000..a7934c59e0a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_SerpentSpi__ +#define __gnu_javax_crypto_jce_cipher_SerpentSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class SerpentSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::SerpentSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + SerpentSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_SerpentSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h b/libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h new file mode 100644 index 00000000000..9fb25ca9c0b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_SquareSpi__ +#define __gnu_javax_crypto_jce_cipher_SquareSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class SquareSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::SquareSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + SquareSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_SquareSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h new file mode 100644 index 00000000000..7fcb2fdfd4e --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_TripleDESKeyWrapSpi__ +#define __gnu_javax_crypto_jce_cipher_TripleDESKeyWrapSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class TripleDESKeyWrapSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::TripleDESKeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::KeyWrappingAlgorithmAdapter +{ + +public: + TripleDESKeyWrapSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_TripleDESKeyWrapSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h b/libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h new file mode 100644 index 00000000000..fc5eb29899a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_TripleDESSpi__ +#define __gnu_javax_crypto_jce_cipher_TripleDESSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class TripleDESSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::TripleDESSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + TripleDESSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_TripleDESSpi__ diff --git a/libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h b/libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h new file mode 100644 index 00000000000..ff0caf6a663 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_cipher_TwofishSpi__ +#define __gnu_javax_crypto_jce_cipher_TwofishSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace cipher + { + class TwofishSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::cipher::TwofishSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter +{ + +public: + TwofishSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_cipher_TwofishSpi__ diff --git a/libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h new file mode 100644 index 00000000000..d961e5f0246 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_AnubisKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_AnubisKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class AnubisKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::AnubisKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + AnubisKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_AnubisKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..98d4e3f20fb --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_AnubisSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_AnubisSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class AnubisSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::AnubisSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + AnubisSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_AnubisSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h new file mode 100644 index 00000000000..28a40ee4a7f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_BlowfishKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_BlowfishKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class BlowfishKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::BlowfishKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + BlowfishKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_BlowfishKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..d88dcde83e0 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_BlowfishSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_BlowfishSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class BlowfishSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::BlowfishSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + BlowfishSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_BlowfishSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h new file mode 100644 index 00000000000..6dab8fe7d52 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_Cast5KeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_Cast5KeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class Cast5KeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::Cast5KeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + Cast5KeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_Cast5KeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h new file mode 100644 index 00000000000..8f5b7b84453 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_Cast5SecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_Cast5SecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class Cast5SecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::Cast5SecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + Cast5SecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_Cast5SecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h new file mode 100644 index 00000000000..59f82ea35f9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_DESKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_DESKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class DESKeyGeneratorImpl; + } + } + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::crypto::jce::key::DESKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + DESKeyGeneratorImpl(); +public: // actually protected + virtual ::javax::crypto::SecretKey * engineGenerateKey(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_DESKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..1886826e4fa --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_DESSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_DESSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class DESSecretKeyFactoryImpl; + } + } + } + } + } + namespace java + { + namespace security + { + namespace spec + { + class KeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::crypto::jce::key::DESSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + DESSecretKeyFactoryImpl(); +public: // actually protected + virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_DESSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..2521a3fc842 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_DESedeSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_DESedeSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class DESedeSecretKeyFactoryImpl; + } + } + } + } + } + namespace java + { + namespace security + { + namespace spec + { + class KeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::crypto::jce::key::DESedeSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + DESedeSecretKeyFactoryImpl(); +public: // actually protected + virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_DESedeSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h new file mode 100644 index 00000000000..732e311b656 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_KhazadKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_KhazadKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class KhazadKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::KhazadKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + KhazadKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_KhazadKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..258fae3ff43 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_KhazadSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_KhazadSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class KhazadSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::KhazadSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + KhazadSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_KhazadSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h new file mode 100644 index 00000000000..698a08dead2 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_RijndaelKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_RijndaelKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class RijndaelKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::RijndaelKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + RijndaelKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_RijndaelKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..f97734e7740 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_RijndaelSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_RijndaelSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class RijndaelSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::RijndaelSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + RijndaelSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_RijndaelSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h new file mode 100644 index 00000000000..87b5e58d787 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_SecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_SecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class SecretKeyFactoryImpl; + } + } + } + } + } + namespace java + { + namespace security + { + namespace spec + { + class KeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::crypto::jce::key::SecretKeyFactoryImpl : public ::javax::crypto::SecretKeyFactorySpi +{ + +public: // actually protected + SecretKeyFactoryImpl(); + virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *); + virtual ::javax::crypto::SecretKey * engineTranslateKey(::javax::crypto::SecretKey *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_SecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h new file mode 100644 index 00000000000..9658a14e878 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_SecretKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_SecretKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class SecretKeyGeneratorImpl; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl : public ::javax::crypto::KeyGeneratorSpi +{ + +public: // actually protected + SecretKeyGeneratorImpl(::java::lang::String *); + virtual ::javax::crypto::SecretKey * engineGenerateKey(); + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void engineInit(jint, ::java::security::SecureRandom *); + virtual void engineInit(::java::security::SecureRandom *); + jint __attribute__((aligned(__alignof__( ::javax::crypto::KeyGeneratorSpi)))) defaultKeySize; + ::java::util::List * keySizes; + ::java::lang::String * algorithm; + jboolean init; + jint currentKeySize; + ::java::security::SecureRandom * random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_SecretKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h new file mode 100644 index 00000000000..e74ccf64d84 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class SerpentKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::SerpentKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + SerpentKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..1d63cfafa81 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_SerpentSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_SerpentSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class SerpentSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::SerpentSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + SerpentSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_SerpentSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h new file mode 100644 index 00000000000..a3a34ea372c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_SquareKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_SquareKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class SquareKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::SquareKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + SquareKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_SquareKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..36ea771691e --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_SquareSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_SquareSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class SquareSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::SquareSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + SquareSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_SquareSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h new file mode 100644 index 00000000000..535df833760 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_TripleDESKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_TripleDESKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class TripleDESKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::TripleDESKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + TripleDESKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_TripleDESKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h new file mode 100644 index 00000000000..aa31ef4336b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_TwofishKeyGeneratorImpl__ +#define __gnu_javax_crypto_jce_key_TwofishKeyGeneratorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class TwofishKeyGeneratorImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::TwofishKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl +{ + +public: + TwofishKeyGeneratorImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_TwofishKeyGeneratorImpl__ diff --git a/libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h new file mode 100644 index 00000000000..13fad905af5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_key_TwofishSecretKeyFactoryImpl__ +#define __gnu_javax_crypto_jce_key_TwofishSecretKeyFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace key + { + class TwofishSecretKeyFactoryImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::key::TwofishSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl +{ + +public: + TwofishSecretKeyFactoryImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_key_TwofishSecretKeyFactoryImpl__ diff --git a/libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h b/libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h new file mode 100644 index 00000000000..4f9b6f90e21 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_keyring_GnuKeyring__ +#define __gnu_javax_crypto_jce_keyring_GnuKeyring__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace keyring + { + class GnuKeyring; + } + } + namespace keyring + { + class IKeyring; + class IPrivateKeyring; + class IPublicKeyring; + } + } + } + } + namespace java + { + namespace security + { + class Key; + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::jce::keyring::GnuKeyring : public ::java::security::KeyStoreSpi +{ + +public: + GnuKeyring(); + virtual ::java::util::Enumeration * engineAliases(); + virtual jboolean engineContainsAlias(::java::lang::String *); + virtual void engineDeleteEntry(::java::lang::String *); + virtual ::java::security::cert::Certificate * engineGetCertificate(::java::lang::String *); + virtual ::java::lang::String * engineGetCertificateAlias(::java::security::cert::Certificate *); + virtual void engineSetCertificateEntry(::java::lang::String *, ::java::security::cert::Certificate *); + virtual JArray< ::java::security::cert::Certificate * > * engineGetCertificateChain(::java::lang::String *); + virtual ::java::util::Date * engineGetCreationDate(::java::lang::String *); + virtual ::java::security::Key * engineGetKey(::java::lang::String *, JArray< jchar > *); + virtual void engineSetKeyEntry(::java::lang::String *, ::java::security::Key *, JArray< jchar > *, JArray< ::java::security::cert::Certificate * > *); + virtual void engineSetKeyEntry(::java::lang::String *, JArray< jbyte > *, JArray< ::java::security::cert::Certificate * > *); + virtual jboolean engineIsCertificateEntry(::java::lang::String *); + virtual jboolean engineIsKeyEntry(::java::lang::String *); + virtual void engineLoad(::java::io::InputStream *, JArray< jchar > *); + virtual void engineStore(::java::io::OutputStream *, JArray< jchar > *); + virtual jint engineSize(); +private: + void ensureLoaded(); + void loadPrivateKeyring(::java::io::InputStream *, JArray< jchar > *); + void loadPublicKeyring(::java::io::InputStream *, JArray< jchar > *); + ::java::util::Date * getCreationDate(::java::lang::String *, ::gnu::javax::crypto::keyring::IKeyring *); + void createNewKeyrings(); + static ::java::util::logging::Logger * log; + static ::java::lang::String * NOT_LOADED; + jboolean __attribute__((aligned(__alignof__( ::java::security::KeyStoreSpi)))) loaded; + ::gnu::javax::crypto::keyring::IPrivateKeyring * privateKR; + ::gnu::javax::crypto::keyring::IPublicKeyring * publicKR; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_keyring_GnuKeyring__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h b/libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h new file mode 100644 index 00000000000..4f5af339b70 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacHavalSpi__ +#define __gnu_javax_crypto_jce_mac_HMacHavalSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacHavalSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacHavalSpi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacHavalSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacHavalSpi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h new file mode 100644 index 00000000000..c584ddb5530 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacMD2Spi__ +#define __gnu_javax_crypto_jce_mac_HMacMD2Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacMD2Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacMD2Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacMD2Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacMD2Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h new file mode 100644 index 00000000000..7cf2e14dc1a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacMD4Spi__ +#define __gnu_javax_crypto_jce_mac_HMacMD4Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacMD4Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacMD4Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacMD4Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacMD4Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h new file mode 100644 index 00000000000..dd54fe25784 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacMD5Spi__ +#define __gnu_javax_crypto_jce_mac_HMacMD5Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacMD5Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacMD5Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacMD5Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacMD5Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h new file mode 100644 index 00000000000..195cf966779 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacRipeMD128Spi__ +#define __gnu_javax_crypto_jce_mac_HMacRipeMD128Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacRipeMD128Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacRipeMD128Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacRipeMD128Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacRipeMD128Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h new file mode 100644 index 00000000000..43dc02640ba --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacRipeMD160Spi__ +#define __gnu_javax_crypto_jce_mac_HMacRipeMD160Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacRipeMD160Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacRipeMD160Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacRipeMD160Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacRipeMD160Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h new file mode 100644 index 00000000000..83682077b1d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacSHA160Spi__ +#define __gnu_javax_crypto_jce_mac_HMacSHA160Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacSHA160Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacSHA160Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacSHA160Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacSHA160Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h new file mode 100644 index 00000000000..5ec8ab05e7a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacSHA256Spi__ +#define __gnu_javax_crypto_jce_mac_HMacSHA256Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacSHA256Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacSHA256Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacSHA256Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacSHA256Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h new file mode 100644 index 00000000000..2f6dbd9a8b9 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacSHA384Spi__ +#define __gnu_javax_crypto_jce_mac_HMacSHA384Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacSHA384Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacSHA384Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacSHA384Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacSHA384Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h new file mode 100644 index 00000000000..af69a4ebb4a --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacSHA512Spi__ +#define __gnu_javax_crypto_jce_mac_HMacSHA512Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacSHA512Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacSHA512Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacSHA512Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacSHA512Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h b/libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h new file mode 100644 index 00000000000..c085185b84f --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacTigerSpi__ +#define __gnu_javax_crypto_jce_mac_HMacTigerSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacTigerSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacTigerSpi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacTigerSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacTigerSpi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h b/libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h new file mode 100644 index 00000000000..102ce5173b5 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_HMacWhirlpoolSpi__ +#define __gnu_javax_crypto_jce_mac_HMacWhirlpoolSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class HMacWhirlpoolSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::HMacWhirlpoolSpi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + HMacWhirlpoolSpi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_HMacWhirlpoolSpi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/MacAdapter.h b/libjava/gnu/javax/crypto/jce/mac/MacAdapter.h new file mode 100644 index 00000000000..1d4cadde724 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/MacAdapter.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_MacAdapter__ +#define __gnu_javax_crypto_jce_mac_MacAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class MacAdapter; + } + } + namespace mac + { + class IMac; + } + } + } + } + namespace java + { + namespace security + { + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::mac::MacAdapter : public ::javax::crypto::MacSpi +{ + +public: // actually protected + MacAdapter(::java::lang::String *); +private: + MacAdapter(::gnu::javax::crypto::mac::IMac *, ::java::util::Map *); +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual JArray< jbyte > * engineDoFinal(); + virtual jint engineGetMacLength(); + virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual void engineReset(); + virtual void engineUpdate(jbyte); + virtual void engineUpdate(JArray< jbyte > *, jint, jint); + ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::javax::crypto::MacSpi)))) mac; + ::java::util::Map * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_MacAdapter__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h new file mode 100644 index 00000000000..958181598e8 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacAnubisImpl__ +#define __gnu_javax_crypto_jce_mac_OMacAnubisImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacAnubisImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacAnubisImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacAnubisImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacAnubisImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h new file mode 100644 index 00000000000..76e69d2ce9c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacBlowfishImpl__ +#define __gnu_javax_crypto_jce_mac_OMacBlowfishImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacBlowfishImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacBlowfishImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacBlowfishImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacBlowfishImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h b/libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h new file mode 100644 index 00000000000..9308b254e18 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacCast5Impl__ +#define __gnu_javax_crypto_jce_mac_OMacCast5Impl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacCast5Impl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacCast5Impl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacCast5Impl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacCast5Impl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h new file mode 100644 index 00000000000..614e64503bd --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacDESImpl__ +#define __gnu_javax_crypto_jce_mac_OMacDESImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacDESImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacDESImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacDESImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacDESImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h new file mode 100644 index 00000000000..6eacd2dae8b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Anubis__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Anubis__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Anubis; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Anubis : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Anubis(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Anubis__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h new file mode 100644 index 00000000000..597aefae411 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Blowfish__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Blowfish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Blowfish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Blowfish : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Blowfish(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Blowfish__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h new file mode 100644 index 00000000000..65b6f9d7995 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Cast5__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Cast5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Cast5; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Cast5 : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Cast5(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Cast5__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h new file mode 100644 index 00000000000..e5945e4ccd3 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$DES__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$DES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$DES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$DES : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$DES(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$DES__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h new file mode 100644 index 00000000000..e15074a3a66 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Khazad__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Khazad__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Khazad; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Khazad : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Khazad(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Khazad__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h new file mode 100644 index 00000000000..e337ef96b24 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Rijndael__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Rijndael__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Rijndael; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Rijndael : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Rijndael(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Rijndael__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h new file mode 100644 index 00000000000..8e5b0640cf4 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Serpent__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Serpent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Serpent; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Serpent : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Serpent(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Serpent__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h new file mode 100644 index 00000000000..0f90c75b34c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Square__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Square__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Square; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Square : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Square(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Square__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h new file mode 100644 index 00000000000..0b7d3d9e2fe --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$TripleDES__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$TripleDES__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$TripleDES; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$TripleDES : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$TripleDES(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$TripleDES__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h new file mode 100644 index 00000000000..c398f3de4cc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Twofish__ +#define __gnu_javax_crypto_jce_mac_OMacImpl$Twofish__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + class OMacImpl$Twofish; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl$Twofish : public ::gnu::javax::crypto::jce::mac::OMacImpl +{ + +public: + OMacImpl$Twofish(::gnu::javax::crypto::jce::mac::OMacImpl *); +public: // actually package-private + ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Twofish__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl.h new file mode 100644 index 00000000000..fce8e1ad0d7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacImpl__ +#define __gnu_javax_crypto_jce_mac_OMacImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: // actually protected + OMacImpl(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h new file mode 100644 index 00000000000..8177906460b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacKhazadImpl__ +#define __gnu_javax_crypto_jce_mac_OMacKhazadImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacKhazadImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacKhazadImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacKhazadImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacKhazadImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h new file mode 100644 index 00000000000..d785945f750 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacRijndaelImpl__ +#define __gnu_javax_crypto_jce_mac_OMacRijndaelImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacRijndaelImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacRijndaelImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacRijndaelImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacRijndaelImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h new file mode 100644 index 00000000000..d5a2f4cfd3c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacSerpentImpl__ +#define __gnu_javax_crypto_jce_mac_OMacSerpentImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacSerpentImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacSerpentImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacSerpentImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacSerpentImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h new file mode 100644 index 00000000000..b7952b33e05 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacSquareImpl__ +#define __gnu_javax_crypto_jce_mac_OMacSquareImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacSquareImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacSquareImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacSquareImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacSquareImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h new file mode 100644 index 00000000000..1c907e1d0f4 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacTripleDESImpl__ +#define __gnu_javax_crypto_jce_mac_OMacTripleDESImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacTripleDESImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacTripleDESImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacTripleDESImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacTripleDESImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h new file mode 100644 index 00000000000..24189f07983 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_OMacTwofishImpl__ +#define __gnu_javax_crypto_jce_mac_OMacTwofishImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class OMacTwofishImpl; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::OMacTwofishImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + OMacTwofishImpl(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_OMacTwofishImpl__ diff --git a/libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h b/libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h new file mode 100644 index 00000000000..e707008740d --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_TMMH16Spi__ +#define __gnu_javax_crypto_jce_mac_TMMH16Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class TMMH16Spi; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::mac::TMMH16Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + TMMH16Spi(); +public: // actually protected + void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_TMMH16Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h b/libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h new file mode 100644 index 00000000000..67449d49556 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_UHash32Spi__ +#define __gnu_javax_crypto_jce_mac_UHash32Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class UHash32Spi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::mac::UHash32Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + UHash32Spi(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_UHash32Spi__ diff --git a/libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h b/libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h new file mode 100644 index 00000000000..37daf31f82c --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_mac_UMac32Spi__ +#define __gnu_javax_crypto_jce_mac_UMac32Spi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace mac + { + class UMac32Spi; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::mac::UMac32Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter +{ + +public: + UMac32Spi(); +public: // actually protected + void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_mac_UMac32Spi__ diff --git a/libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h b/libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h new file mode 100644 index 00000000000..8a506c0cbdc --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_params_BlockCipherParameters__ +#define __gnu_javax_crypto_jce_params_BlockCipherParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace params + { + class BlockCipherParameters; + } + namespace spec + { + class BlockCipherParameterSpec; + } + } + } + } + } + namespace java + { + namespace security + { + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::params::BlockCipherParameters : public ::java::security::AlgorithmParametersSpi +{ + +public: + BlockCipherParameters(); +public: // actually protected + virtual JArray< jbyte > * engineGetEncoded(); + virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *); + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *); + virtual void engineInit(JArray< jbyte > *, ::java::lang::String *); + virtual void engineInit(JArray< jbyte > *); + virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *); + virtual ::java::lang::String * engineToString(); +private: + static ::java::util::logging::Logger * log; +public: // actually protected + ::gnu::javax::crypto::jce::spec::BlockCipherParameterSpec * __attribute__((aligned(__alignof__( ::java::security::AlgorithmParametersSpi)))) cipherSpec; +private: + static ::java::lang::String * DEFAULT_FORMAT; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_params_BlockCipherParameters__ diff --git a/libjava/gnu/javax/crypto/jce/params/DEREncodingException.h b/libjava/gnu/javax/crypto/jce/params/DEREncodingException.h new file mode 100644 index 00000000000..6d47c98e415 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/params/DEREncodingException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_params_DEREncodingException__ +#define __gnu_javax_crypto_jce_params_DEREncodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace params + { + class DEREncodingException; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::params::DEREncodingException : public ::java::io::IOException +{ + +public: + DEREncodingException(); + DEREncodingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_params_DEREncodingException__ diff --git a/libjava/gnu/javax/crypto/jce/params/DERReader.h b/libjava/gnu/javax/crypto/jce/params/DERReader.h new file mode 100644 index 00000000000..1a85bc48394 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/params/DERReader.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_params_DERReader__ +#define __gnu_javax_crypto_jce_params_DERReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace params + { + class DERReader; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::jce::params::DERReader : public ::java::lang::Object +{ + +public: + DERReader(); + DERReader(JArray< jbyte > *); + virtual void init(::java::lang::String *); + virtual void init(JArray< jbyte > *); + virtual jboolean hasMorePrimitives(); + virtual ::java::math::BigInteger * getBigInteger(); +private: + JArray< jbyte > * getPrimitive(); + jint translateLeadIdentifierByte(jbyte); + jint getIdentifier(jint); +public: // actually package-private + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) source; + jint pos; + static const jint UNIVERSAL = 1; + static const jint APPLICATION = 2; + static const jint CONTEXT_SPECIFIC = 3; + static const jint PRIVATE = 4; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_params_DERReader__ diff --git a/libjava/gnu/javax/crypto/jce/params/DERWriter.h b/libjava/gnu/javax/crypto/jce/params/DERWriter.h new file mode 100644 index 00000000000..742d4934cdf --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/params/DERWriter.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_params_DERWriter__ +#define __gnu_javax_crypto_jce_params_DERWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace params + { + class DERWriter; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::jce::params::DERWriter : public ::java::lang::Object +{ + +public: + DERWriter(); + virtual JArray< jbyte > * writeBigInteger(::java::math::BigInteger *); +private: + JArray< jbyte > * writePrimitive(jint, jint, jint, JArray< jbyte > *); +public: + virtual JArray< jbyte > * joinarrays(JArray< jbyte > *, JArray< jbyte > *); + virtual JArray< jbyte > * joinarrays(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); +private: + JArray< jbyte > * generateIdentifier(jint, jint); + jbyte translateLeadIdentifierByte(jint); + JArray< jbyte > * generateLength(jint); +public: // actually package-private + static const jint UNIVERSAL = 1; + static const jint APPLICATION = 2; + static const jint CONTEXT_SPECIFIC = 3; + static const jint PRIVATE = 4; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_params_DERWriter__ diff --git a/libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h b/libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h new file mode 100644 index 00000000000..e46dee30bc8 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_prng_ARCFourRandomSpi__ +#define __gnu_javax_crypto_jce_prng_ARCFourRandomSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace jce + { + namespace prng + { + class ARCFourRandomSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::prng::ARCFourRandomSpi : public ::java::security::SecureRandomSpi +{ + +public: + ARCFourRandomSpi(); + virtual JArray< jbyte > * engineGenerateSeed(jint); + virtual void engineNextBytes(JArray< jbyte > *); + virtual void engineSetSeed(JArray< jbyte > *); +private: + ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee; + jboolean virgin; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_prng_ARCFourRandomSpi__ diff --git a/libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h b/libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h new file mode 100644 index 00000000000..c499fa86962 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_prng_CSPRNGSpi__ +#define __gnu_javax_crypto_jce_prng_CSPRNGSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace jce + { + namespace prng + { + class CSPRNGSpi; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::prng::CSPRNGSpi : public ::java::security::SecureRandomSpi +{ + +public: + CSPRNGSpi(); +public: // actually protected + virtual JArray< jbyte > * engineGenerateSeed(jint); + virtual void engineNextBytes(JArray< jbyte > *); + virtual void engineSetSeed(JArray< jbyte > *); +private: + ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_prng_CSPRNGSpi__ diff --git a/libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h b/libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h new file mode 100644 index 00000000000..fefea283199 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_prng_FortunaImpl__ +#define __gnu_javax_crypto_jce_prng_FortunaImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace prng + { + class FortunaImpl; + } + } + namespace prng + { + class Fortuna; + } + } + } + } +} + +class gnu::javax::crypto::jce::prng::FortunaImpl : public ::java::security::SecureRandomSpi +{ + +public: + FortunaImpl(); +public: // actually protected + void engineSetSeed(JArray< jbyte > *); + void engineNextBytes(JArray< jbyte > *); + JArray< jbyte > * engineGenerateSeed(jint); +private: + ::gnu::javax::crypto::prng::Fortuna * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_prng_FortunaImpl__ diff --git a/libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h b/libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h new file mode 100644 index 00000000000..540349362d7 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_prng_ICMRandomSpi__ +#define __gnu_javax_crypto_jce_prng_ICMRandomSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace prng + { + class ICMRandomSpi; + } + } + namespace prng + { + class ICMGenerator; + } + } + } + } +} + +class gnu::javax::crypto::jce::prng::ICMRandomSpi : public ::java::security::SecureRandomSpi +{ + +public: + ICMRandomSpi(); +private: + static void resetLocalPRNG(); +public: + virtual JArray< jbyte > * engineGenerateSeed(jint); + virtual void engineNextBytes(JArray< jbyte > *); + virtual void engineSetSeed(JArray< jbyte > *); +private: + static ::java::util::logging::Logger * log; + static ::gnu::javax::crypto::prng::ICMGenerator * prng; + static ::java::lang::String * MSG; + static ::java::lang::String * RETRY; + static ::java::lang::String * LIMIT_REACHED_MSG; + static ::java::lang::String * RESEED; + ::gnu::javax::crypto::prng::ICMGenerator * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_prng_ICMRandomSpi__ diff --git a/libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h b/libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h new file mode 100644 index 00000000000..e27425a0b20 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_prng_UMacRandomSpi__ +#define __gnu_javax_crypto_jce_prng_UMacRandomSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace prng + { + class UMacRandomSpi; + } + } + namespace prng + { + class UMacGenerator; + } + } + } + } +} + +class gnu::javax::crypto::jce::prng::UMacRandomSpi : public ::java::security::SecureRandomSpi +{ + +public: + UMacRandomSpi(); +private: + static void resetLocalPRNG(); +public: + virtual JArray< jbyte > * engineGenerateSeed(jint); + virtual void engineNextBytes(JArray< jbyte > *); + virtual void engineSetSeed(JArray< jbyte > *); +private: + static ::java::util::logging::Logger * log; + static ::gnu::javax::crypto::prng::UMacGenerator * prng; + static ::java::lang::String * MSG; + static ::java::lang::String * RETRY; + ::gnu::javax::crypto::prng::UMacGenerator * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_prng_UMacRandomSpi__ diff --git a/libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h b/libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h new file mode 100644 index 00000000000..99e937310eb --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_sig_DHKeyFactory__ +#define __gnu_javax_crypto_jce_sig_DHKeyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace sig + { + class DHKeyFactory; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + class PrivateKey; + class PublicKey; + namespace spec + { + class KeySpec; + } + } + } +} + +class gnu::javax::crypto::jce::sig::DHKeyFactory : public ::java::security::KeyFactorySpi +{ + +public: + DHKeyFactory(); +public: // actually protected + virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *); + virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *); + virtual ::java::security::Key * engineTranslateKey(::java::security::Key *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_sig_DHKeyFactory__ diff --git a/libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h b/libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h new file mode 100644 index 00000000000..9421af83306 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_sig_DHKeyPairGeneratorSpi__ +#define __gnu_javax_crypto_jce_sig_DHKeyPairGeneratorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace sig + { + class DHKeyPairGeneratorSpi; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::sig::DHKeyPairGeneratorSpi : public ::gnu::java::security::jce::sig::KeyPairGeneratorAdapter +{ + +public: + DHKeyPairGeneratorSpi(); + virtual void initialize(jint, ::java::security::SecureRandom *); + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_sig_DHKeyPairGeneratorSpi__ diff --git a/libjava/gnu/javax/crypto/jce/sig/DHParameters.h b/libjava/gnu/javax/crypto/jce/sig/DHParameters.h new file mode 100644 index 00000000000..43f53fe8534 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/sig/DHParameters.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_sig_DHParameters__ +#define __gnu_javax_crypto_jce_sig_DHParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace sig + { + class DHParameters; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::sig::DHParameters : public ::java::security::AlgorithmParametersSpi +{ + +public: + DHParameters(); +public: // actually protected + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *); + virtual void engineInit(JArray< jbyte > *); + virtual void engineInit(JArray< jbyte > *, ::java::lang::String *); + virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *); + virtual JArray< jbyte > * engineGetEncoded(); + virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *); + virtual ::java::lang::String * engineToString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::security::AlgorithmParametersSpi)))) p; + ::java::math::BigInteger * g; + ::java::math::BigInteger * q; + jint l; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_sig_DHParameters__ diff --git a/libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h b/libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h new file mode 100644 index 00000000000..4c2b43b7e28 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_sig_DHParametersGenerator__ +#define __gnu_javax_crypto_jce_sig_DHParametersGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace sig + { + class DHParametersGenerator; + } + } + namespace key + { + namespace dh + { + class RFC2631; + } + } + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + class Provider; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::crypto::jce::sig::DHParametersGenerator : public ::java::security::AlgorithmParameterGeneratorSpi +{ + +public: + DHParametersGenerator(); +public: // actually protected + virtual void engineInit(jint, ::java::security::SecureRandom *); + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual ::java::security::AlgorithmParameters * engineGenerateParameters(); +private: + static ::java::security::Provider * GNU_CRYPTO; + jint __attribute__((aligned(__alignof__( ::java::security::AlgorithmParameterGeneratorSpi)))) modulusSize; + jint exponentSize; + ::java::security::SecureRandom * rnd; + ::gnu::javax::crypto::key::dh::RFC2631 * rfc2631; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_sig_DHParametersGenerator__ diff --git a/libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h b/libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h new file mode 100644 index 00000000000..166ed589751 --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_spec_BlockCipherParameterSpec__ +#define __gnu_javax_crypto_jce_spec_BlockCipherParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace spec + { + class BlockCipherParameterSpec; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::spec::BlockCipherParameterSpec : public ::java::lang::Object +{ + +public: + BlockCipherParameterSpec(JArray< jbyte > *, jint, jint); + BlockCipherParameterSpec(jint, jint); + virtual JArray< jbyte > * getIV(); + virtual jint getBlockSize(); + virtual jint getKeySize(); + virtual ::java::lang::String * toString(); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iv; + jint blockSize; + jint keySize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_spec_BlockCipherParameterSpec__ diff --git a/libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h b/libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h new file mode 100644 index 00000000000..26fca5d09af --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_spec_TMMHParameterSpec__ +#define __gnu_javax_crypto_jce_spec_TMMHParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace jce + { + namespace spec + { + class TMMHParameterSpec; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::spec::TMMHParameterSpec : public ::java::lang::Object +{ + +public: + TMMHParameterSpec(::gnu::java::security::prng::IRandom *, ::java::lang::Integer *, JArray< jbyte > *); + TMMHParameterSpec(::gnu::java::security::prng::IRandom *, ::java::lang::Integer *); + virtual ::gnu::java::security::prng::IRandom * getKeystream(); + virtual ::java::lang::Integer * getTagLength(); + virtual JArray< jbyte > * getPrefix(); +public: // actually protected + ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keystream; + ::java::lang::Integer * tagLength; + JArray< jbyte > * prefix; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_spec_TMMHParameterSpec__ diff --git a/libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h b/libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h new file mode 100644 index 00000000000..81c2c21e75b --- /dev/null +++ b/libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_jce_spec_UMac32ParameterSpec__ +#define __gnu_javax_crypto_jce_spec_UMac32ParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace jce + { + namespace spec + { + class UMac32ParameterSpec; + } + } + } + } + } +} + +class gnu::javax::crypto::jce::spec::UMac32ParameterSpec : public ::java::lang::Object +{ + +public: + UMac32ParameterSpec(JArray< jbyte > *); + virtual JArray< jbyte > * getNonce(); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nonce; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_jce_spec_UMac32ParameterSpec__ diff --git a/libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h b/libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h new file mode 100644 index 00000000000..20d76e63268 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_BaseKeyAgreementParty__ +#define __gnu_javax_crypto_key_BaseKeyAgreementParty__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + class BaseKeyAgreementParty; + class IncomingMessage; + class OutgoingMessage; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class SecureRandom; + } + } +} + +class gnu::javax::crypto::key::BaseKeyAgreementParty : public ::java::lang::Object +{ + +public: // actually protected + BaseKeyAgreementParty(::java::lang::String *); +public: + virtual ::java::lang::String * name(); + virtual void init(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * processMessage(::gnu::javax::crypto::key::IncomingMessage *); + virtual jboolean isComplete(); + virtual JArray< jbyte > * getSharedSecret(); + virtual void reset(); +public: // actually protected + virtual void engineInit(::java::util::Map *) = 0; + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *) = 0; + virtual JArray< jbyte > * engineSharedSecret() = 0; + virtual void engineReset() = 0; + virtual void nextRandomBytes(JArray< jbyte > *); +private: + ::gnu::java::security::util::PRNG * getDefaultPRNG(); +public: // actually protected + static ::java::math::BigInteger * TWO; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jboolean initialised; + jint step; + jboolean complete; + ::java::security::SecureRandom * rnd; + ::gnu::java::security::prng::IRandom * irnd; +private: + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_BaseKeyAgreementParty__ diff --git a/libjava/gnu/javax/crypto/key/GnuPBEKey.h b/libjava/gnu/javax/crypto/key/GnuPBEKey.h new file mode 100644 index 00000000000..e52cd5e3ca3 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/GnuPBEKey.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_GnuPBEKey__ +#define __gnu_javax_crypto_key_GnuPBEKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class GnuPBEKey; + } + } + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class PBEKeySpec; + } + } + } +} + +class gnu::javax::crypto::key::GnuPBEKey : public ::java::lang::Object +{ + +public: + GnuPBEKey(::javax::crypto::spec::PBEKeySpec *); + GnuPBEKey(JArray< jchar > *, JArray< jbyte > *, jint); + virtual jint getIterationCount(); + virtual JArray< jchar > * getPassword(); + virtual JArray< jbyte > * getSalt(); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * getFormat(); + virtual JArray< jbyte > * getEncoded(); +private: + ::javax::crypto::spec::PBEKeySpec * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spec; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_GnuPBEKey__ diff --git a/libjava/gnu/javax/crypto/key/GnuSecretKey.h b/libjava/gnu/javax/crypto/key/GnuSecretKey.h new file mode 100644 index 00000000000..b9a3133d675 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/GnuSecretKey.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_GnuSecretKey__ +#define __gnu_javax_crypto_key_GnuSecretKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class GnuSecretKey; + } + } + } + } +} + +class gnu::javax::crypto::key::GnuSecretKey : public ::java::lang::Object +{ + +public: + GnuSecretKey(JArray< jbyte > *, ::java::lang::String *); + GnuSecretKey(JArray< jbyte > *, jint, jint, ::java::lang::String *); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_GnuSecretKey__ diff --git a/libjava/gnu/javax/crypto/key/IKeyAgreementParty.h b/libjava/gnu/javax/crypto/key/IKeyAgreementParty.h new file mode 100644 index 00000000000..4fb301943a5 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/IKeyAgreementParty.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_IKeyAgreementParty__ +#define __gnu_javax_crypto_key_IKeyAgreementParty__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IKeyAgreementParty; + class IncomingMessage; + class OutgoingMessage; + } + } + } + } +} + +class gnu::javax::crypto::key::IKeyAgreementParty : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual void init(::java::util::Map *) = 0; + virtual ::gnu::javax::crypto::key::OutgoingMessage * processMessage(::gnu::javax::crypto::key::IncomingMessage *) = 0; + virtual jboolean isComplete() = 0; + virtual JArray< jbyte > * getSharedSecret() = 0; + virtual void reset() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_key_IKeyAgreementParty__ diff --git a/libjava/gnu/javax/crypto/key/IncomingMessage.h b/libjava/gnu/javax/crypto/key/IncomingMessage.h new file mode 100644 index 00000000000..ed3f33a57a6 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/IncomingMessage.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_IncomingMessage__ +#define __gnu_javax_crypto_key_IncomingMessage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace key + { + class IKeyPairCodec; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::javax::crypto::key::IncomingMessage : public ::java::lang::Object +{ + +public: + IncomingMessage(JArray< jbyte > *); +private: + IncomingMessage(); +public: + static ::gnu::javax::crypto::key::IncomingMessage * getInstance(JArray< jbyte > *); + static ::gnu::javax::crypto::key::IncomingMessage * getInstance(JArray< jbyte > *, jint, jint); + static jint twoBytesToLength(JArray< jbyte > *); + static jint fourBytesToLength(JArray< jbyte > *); + virtual jboolean hasMoreElements(); + virtual ::java::security::PublicKey * readPublicKey(); + virtual ::java::security::PrivateKey * readPrivateKey(); + virtual ::java::math::BigInteger * readMPI(); + virtual ::java::lang::String * readString(); +private: + ::gnu::java::security::key::IKeyPairCodec * getKeyPairCodec(jint); +public: // actually protected + ::java::io::ByteArrayInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_IncomingMessage__ diff --git a/libjava/gnu/javax/crypto/key/KeyAgreementException.h b/libjava/gnu/javax/crypto/key/KeyAgreementException.h new file mode 100644 index 00000000000..77bc760d1ba --- /dev/null +++ b/libjava/gnu/javax/crypto/key/KeyAgreementException.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_KeyAgreementException__ +#define __gnu_javax_crypto_key_KeyAgreementException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class KeyAgreementException; + } + } + } + } +} + +class gnu::javax::crypto::key::KeyAgreementException : public ::java::security::KeyManagementException +{ + +public: + KeyAgreementException(); + KeyAgreementException(::java::lang::String *); + KeyAgreementException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::Throwable * getCause(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::security::KeyManagementException)))) cause; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_KeyAgreementException__ diff --git a/libjava/gnu/javax/crypto/key/KeyAgreementFactory.h b/libjava/gnu/javax/crypto/key/KeyAgreementFactory.h new file mode 100644 index 00000000000..abbfd28711e --- /dev/null +++ b/libjava/gnu/javax/crypto/key/KeyAgreementFactory.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_KeyAgreementFactory__ +#define __gnu_javax_crypto_key_KeyAgreementFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IKeyAgreementParty; + class KeyAgreementFactory; + } + } + } + } +} + +class gnu::javax::crypto::key::KeyAgreementFactory : public ::java::lang::Object +{ + + KeyAgreementFactory(); +public: + static ::gnu::javax::crypto::key::IKeyAgreementParty * getPartyAInstance(::java::lang::String *); + static ::gnu::javax::crypto::key::IKeyAgreementParty * getPartyBInstance(::java::lang::String *); + static ::java::util::Set * getNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_KeyAgreementFactory__ diff --git a/libjava/gnu/javax/crypto/key/OutgoingMessage.h b/libjava/gnu/javax/crypto/key/OutgoingMessage.h new file mode 100644 index 00000000000..8f46a1e163a --- /dev/null +++ b/libjava/gnu/javax/crypto/key/OutgoingMessage.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_OutgoingMessage__ +#define __gnu_javax_crypto_key_OutgoingMessage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class OutgoingMessage; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Key; + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::javax::crypto::key::OutgoingMessage : public ::java::lang::Object +{ + +public: + OutgoingMessage(); + virtual JArray< jbyte > * toByteArray(); + virtual JArray< jbyte > * wrap(); + virtual void writePublicKey(::java::security::PublicKey *); + virtual void writePrivateKey(::java::security::PrivateKey *); + virtual void writeMPI(::java::math::BigInteger *); + virtual void writeString(::java::lang::String *); +private: + void writeKey(::java::security::Key *); + jint getKeyType(::java::security::Key *); + ::java::io::ByteArrayOutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_OutgoingMessage__ diff --git a/libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h b/libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h new file mode 100644 index 00000000000..17e0ccea0fc --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_DHKeyPairPKCS8Codec__ +#define __gnu_javax_crypto_key_dh_DHKeyPairPKCS8Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + } + } + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class DHKeyPairPKCS8Codec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::javax::crypto::key::dh::DHKeyPairPKCS8Codec : public ::java::lang::Object +{ + +public: + DHKeyPairPKCS8Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); +private: + static ::gnu::java::security::OID * DH_ALG_OID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_DHKeyPairPKCS8Codec__ diff --git a/libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h b/libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h new file mode 100644 index 00000000000..1c5507c9849 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_DHKeyPairRawCodec__ +#define __gnu_javax_crypto_key_dh_DHKeyPairRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class DHKeyPairRawCodec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::javax::crypto::key::dh::DHKeyPairRawCodec : public ::java::lang::Object +{ + +public: + DHKeyPairRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_DHKeyPairRawCodec__ diff --git a/libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h b/libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h new file mode 100644 index 00000000000..a52ab8adce1 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_DHKeyPairX509Codec__ +#define __gnu_javax_crypto_key_dh_DHKeyPairX509Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + } + } + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class DHKeyPairX509Codec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::javax::crypto::key::dh::DHKeyPairX509Codec : public ::java::lang::Object +{ + +public: + DHKeyPairX509Codec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); +private: + static ::gnu::java::security::OID * DH_ALG_OID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_DHKeyPairX509Codec__ diff --git a/libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h new file mode 100644 index 00000000000..c592f769a74 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_DiffieHellmanKeyAgreement__ +#define __gnu_javax_crypto_key_dh_DiffieHellmanKeyAgreement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class DiffieHellmanKeyAgreement; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPrivateKey; + } + } + } +} + +class gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement : public ::gnu::javax::crypto::key::BaseKeyAgreementParty +{ + +public: // actually protected + DiffieHellmanKeyAgreement(); + virtual JArray< jbyte > * engineSharedSecret(); + virtual void engineReset(); +public: + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::String * KA_DIFFIE_HELLMAN_OWNER_PRIVATE_KEY; +public: // actually protected + ::javax::crypto::interfaces::DHPrivateKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::BaseKeyAgreementParty)))) ownerKey; + ::java::math::BigInteger * ZZ; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_DiffieHellmanKeyAgreement__ diff --git a/libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h new file mode 100644 index 00000000000..56bae1b6f84 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_DiffieHellmanReceiver__ +#define __gnu_javax_crypto_key_dh_DiffieHellmanReceiver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace dh + { + class DiffieHellmanReceiver; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::dh::DiffieHellmanReceiver : public ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement +{ + +public: + DiffieHellmanReceiver(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); +private: + ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement)))) y; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_DiffieHellmanReceiver__ diff --git a/libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h new file mode 100644 index 00000000000..ff9ab29840d --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_DiffieHellmanSender__ +#define __gnu_javax_crypto_key_dh_DiffieHellmanSender__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace dh + { + class DiffieHellmanSender; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::dh::DiffieHellmanSender : public ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement +{ + +public: + DiffieHellmanSender(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); +private: + ::gnu::javax::crypto::key::OutgoingMessage * sendRandomSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement)))) x; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_DiffieHellmanSender__ diff --git a/libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h b/libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h new file mode 100644 index 00000000000..d167c7ce122 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_ElGamalKeyAgreement__ +#define __gnu_javax_crypto_key_dh_ElGamalKeyAgreement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class ElGamalKeyAgreement; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::dh::ElGamalKeyAgreement : public ::gnu::javax::crypto::key::BaseKeyAgreementParty +{ + +public: // actually protected + ElGamalKeyAgreement(); + virtual JArray< jbyte > * engineSharedSecret(); + virtual void engineReset(); +public: + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::String * KA_ELGAMAL_RECIPIENT_PRIVATE_KEY; + static ::java::lang::String * KA_ELGAMAL_RECIPIENT_PUBLIC_KEY; +public: // actually protected + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::BaseKeyAgreementParty)))) ZZ; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_ElGamalKeyAgreement__ diff --git a/libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h b/libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h new file mode 100644 index 00000000000..cba0013d314 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_ElGamalReceiver__ +#define __gnu_javax_crypto_key_dh_ElGamalReceiver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace dh + { + class ElGamalReceiver; + } + } + } + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPrivateKey; + } + } + } +} + +class gnu::javax::crypto::key::dh::ElGamalReceiver : public ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement +{ + +public: + ElGamalReceiver(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); +private: + ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::javax::crypto::interfaces::DHPrivateKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement)))) B; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_ElGamalReceiver__ diff --git a/libjava/gnu/javax/crypto/key/dh/ElGamalSender.h b/libjava/gnu/javax/crypto/key/dh/ElGamalSender.h new file mode 100644 index 00000000000..487867fd6c9 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/ElGamalSender.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_ElGamalSender__ +#define __gnu_javax_crypto_key_dh_ElGamalSender__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace dh + { + class ElGamalSender; + } + } + } + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPublicKey; + } + } + } +} + +class gnu::javax::crypto::key::dh::ElGamalSender : public ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement +{ + +public: + ElGamalSender(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); +private: + ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement)))) B; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_ElGamalSender__ diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHKey.h b/libjava/gnu/javax/crypto/key/dh/GnuDHKey.h new file mode 100644 index 00000000000..2d8f2922242 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/GnuDHKey.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_GnuDHKey__ +#define __gnu_javax_crypto_key_dh_GnuDHKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class GnuDHKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class gnu::javax::crypto::key::dh::GnuDHKey : public ::java::lang::Object +{ + +public: // actually protected + GnuDHKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::javax::crypto::spec::DHParameterSpec * getParams(); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + virtual ::java::math::BigInteger * getQ(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual JArray< jbyte > * getEncoded(jint) = 0; +public: // actually protected + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) q; + ::java::math::BigInteger * p; + ::java::math::BigInteger * g; + jint defaultFormat; +private: + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_GnuDHKey__ diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h b/libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h new file mode 100644 index 00000000000..aaab2bf5167 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_GnuDHKeyPairGenerator__ +#define __gnu_javax_crypto_key_dh_GnuDHKeyPairGenerator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha160; + } + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class GnuDHKeyPairGenerator; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + class SecureRandom; + } + } +} + +class gnu::javax::crypto::key::dh::GnuDHKeyPairGenerator : public ::java::lang::Object +{ + +public: + GnuDHKeyPairGenerator(); + virtual ::java::lang::String * name(); + virtual void setup(::java::util::Map *); + virtual ::java::security::KeyPair * generate(); +private: + void nextRandomBytes(JArray< jbyte > *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); + static ::java::util::logging::Logger * log; +public: + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::String * DH_PARAMETERS; + static ::java::lang::String * PRIME_SIZE; + static ::java::lang::String * EXPONENT_SIZE; + static ::java::lang::String * PREFERRED_ENCODING_FORMAT; + static const jint DEFAULT_PRIME_SIZE = 512; + static const jint DEFAULT_EXPONENT_SIZE = 160; +private: + static const jint DEFAULT_ENCODING_FORMAT = 1; + ::gnu::java::security::hash::Sha160 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sha; + ::java::security::SecureRandom * rnd; + jint l; + jint m; + ::java::math::BigInteger * seed; + ::java::math::BigInteger * counter; + ::java::math::BigInteger * q; + ::java::math::BigInteger * p; + ::java::math::BigInteger * j; + ::java::math::BigInteger * g; + ::gnu::java::security::util::PRNG * prng; + jint preferredFormat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_GnuDHKeyPairGenerator__ diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h b/libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h new file mode 100644 index 00000000000..142262255c5 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_GnuDHPrivateKey__ +#define __gnu_javax_crypto_key_dh_GnuDHPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class GnuDHPrivateKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::dh::GnuDHPrivateKey : public ::gnu::javax::crypto::key::dh::GnuDHKey +{ + +public: + GnuDHPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + GnuDHPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::gnu::javax::crypto::key::dh::GnuDHPrivateKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getX(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::GnuDHKey)))) x; + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_GnuDHPrivateKey__ diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h b/libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h new file mode 100644 index 00000000000..980e7f74b13 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_GnuDHPublicKey__ +#define __gnu_javax_crypto_key_dh_GnuDHPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class GnuDHPublicKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::dh::GnuDHPublicKey : public ::gnu::javax::crypto::key::dh::GnuDHKey +{ + +public: + GnuDHPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + GnuDHPublicKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::gnu::javax::crypto::key::dh::GnuDHPublicKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getY(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::GnuDHKey)))) y; + ::java::lang::String * str; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_GnuDHPublicKey__ diff --git a/libjava/gnu/javax/crypto/key/dh/RFC2631.h b/libjava/gnu/javax/crypto/key/dh/RFC2631.h new file mode 100644 index 00000000000..36f1f46c092 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/dh/RFC2631.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_dh_RFC2631__ +#define __gnu_javax_crypto_key_dh_RFC2631__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha160; + } + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class RFC2631; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class SecureRandom; + } + } +} + +class gnu::javax::crypto::key::dh::RFC2631 : public ::java::lang::Object +{ + +public: + RFC2631(jint, jint, ::java::security::SecureRandom *); + virtual JArray< ::java::math::BigInteger * > * generateParameters(); +private: + void nextRandomBytes(JArray< jbyte > *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); +public: + static const jint DH_PARAMS_SEED = 0; + static const jint DH_PARAMS_COUNTER = 1; + static const jint DH_PARAMS_Q = 2; + static const jint DH_PARAMS_P = 3; + static const jint DH_PARAMS_J = 4; + static const jint DH_PARAMS_G = 5; +private: + static ::java::math::BigInteger * TWO; + ::gnu::java::security::hash::Sha160 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sha; + jint m; + jint L; + ::java::security::SecureRandom * rnd; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_dh_RFC2631__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6Host.h b/libjava/gnu/javax/crypto/key/srp6/SRP6Host.h new file mode 100644 index 00000000000..34913f031b9 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6Host.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6Host__ +#define __gnu_javax_crypto_key_srp6_SRP6Host__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace srp6 + { + class SRP6Host; + } + } + namespace sasl + { + namespace srp + { + class SRPAuthInfoProvider; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyPair; + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6Host : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement +{ + +public: + SRP6Host(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); + virtual void engineReset(); +private: + ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::java::security::KeyPair * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) hostKeyPair; + ::gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider * passwordDB; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6Host__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h b/libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h new file mode 100644 index 00000000000..7479d7e68bd --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6KeyAgreement__ +#define __gnu_javax_crypto_key_srp6_SRP6KeyAgreement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRP6KeyAgreement; + } + } + namespace sasl + { + namespace srp + { + class SRP; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6KeyAgreement : public ::gnu::javax::crypto::key::BaseKeyAgreementParty +{ + +public: // actually protected + SRP6KeyAgreement(); + virtual JArray< jbyte > * engineSharedSecret(); + virtual void engineReset(); + virtual ::java::math::BigInteger * uValue(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::String * SHARED_MODULUS; + static ::java::lang::String * GENERATOR; + static ::java::lang::String * HASH_FUNCTION; + static ::java::lang::String * USER_IDENTITY; + static ::java::lang::String * USER_PASSWORD; + static ::java::lang::String * HOST_PASSWORD_DB; +public: // actually protected + static ::java::math::BigInteger * THREE; + ::gnu::javax::crypto::sasl::srp::SRP * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::BaseKeyAgreementParty)))) srp; + ::java::math::BigInteger * N; + ::java::math::BigInteger * g; + ::java::math::BigInteger * K; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6KeyAgreement__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h new file mode 100644 index 00000000000..1797415572d --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6SaslClient__ +#define __gnu_javax_crypto_key_srp6_SRP6SaslClient__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace srp6 + { + class SRP6SaslClient; + } + } + } + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6SaslClient : public ::gnu::javax::crypto::key::srp6::SRP6TLSClient +{ + +public: + SRP6SaslClient(); +public: // actually protected + virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6SaslClient__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h new file mode 100644 index 00000000000..5ac6a478e00 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6SaslServer__ +#define __gnu_javax_crypto_key_srp6_SRP6SaslServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace srp6 + { + class SRP6SaslServer; + } + } + } + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6SaslServer : public ::gnu::javax::crypto::key::srp6::SRP6TLSServer +{ + +public: + SRP6SaslServer(); +public: // actually protected + virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6SaslServer__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h new file mode 100644 index 00000000000..b5df35136a5 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6TLSClient__ +#define __gnu_javax_crypto_key_srp6_SRP6TLSClient__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace srp6 + { + class SRP6TLSClient; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyPair; + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6TLSClient : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement +{ + +public: + SRP6TLSClient(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); + virtual void engineReset(); +private: + ::gnu::javax::crypto::key::OutgoingMessage * sendIdentity(::gnu::javax::crypto::key::IncomingMessage *); +public: // actually protected + virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) I; + JArray< jbyte > * p; + ::java::security::KeyPair * userKeyPair; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6TLSClient__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h new file mode 100644 index 00000000000..facb7cbb759 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6TLSServer__ +#define __gnu_javax_crypto_key_srp6_SRP6TLSServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace srp6 + { + class SRP6TLSServer; + } + } + namespace sasl + { + namespace srp + { + class SRPAuthInfoProvider; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyPair; + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6TLSServer : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement +{ + +public: + SRP6TLSServer(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); + virtual void engineReset(); +private: + ::gnu::javax::crypto::key::OutgoingMessage * sendParameters(::gnu::javax::crypto::key::IncomingMessage *); +public: // actually protected + virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); +private: + ::java::security::KeyPair * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) hostKeyPair; + ::gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider * passwordDB; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6TLSServer__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6User.h b/libjava/gnu/javax/crypto/key/srp6/SRP6User.h new file mode 100644 index 00000000000..2d9f72510a5 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRP6User.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRP6User__ +#define __gnu_javax_crypto_key_srp6_SRP6User__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + class IncomingMessage; + class OutgoingMessage; + namespace srp6 + { + class SRP6User; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyPair; + } + } +} + +class gnu::javax::crypto::key::srp6::SRP6User : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement +{ + +public: + SRP6User(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *); + virtual void engineReset(); +private: + ::gnu::javax::crypto::key::OutgoingMessage * sendIdentity(::gnu::javax::crypto::key::IncomingMessage *); + ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) I; + JArray< jbyte > * p; + ::java::security::KeyPair * userKeyPair; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRP6User__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h b/libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h new file mode 100644 index 00000000000..534c681c8a7 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRPAlgorithm__ +#define __gnu_javax_crypto_key_srp6_SRPAlgorithm__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRPAlgorithm; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::srp6::SRPAlgorithm : public ::java::lang::Object +{ + + SRPAlgorithm(); +public: + static void checkParams(::java::math::BigInteger *, ::java::math::BigInteger *); + static ::java::math::BigInteger * N_2048; + static ::java::math::BigInteger * N_1536; + static ::java::math::BigInteger * N_1280; + static ::java::math::BigInteger * N_1024; + static ::java::math::BigInteger * N_768; + static ::java::math::BigInteger * N_640; + static ::java::math::BigInteger * N_512; + static ::java::math::BigInteger * N_384; + static ::java::math::BigInteger * N_264; +private: + static ::java::math::BigInteger * ZERO; + static ::java::math::BigInteger * ONE; + static ::java::math::BigInteger * TWO; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRPAlgorithm__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPKey.h b/libjava/gnu/javax/crypto/key/srp6/SRPKey.h new file mode 100644 index 00000000000..9c4ef51890c --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRPKey.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRPKey__ +#define __gnu_javax_crypto_key_srp6_SRPKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRPKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::srp6::SRPKey : public ::java::lang::Object +{ + +public: // actually protected + SRPKey(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + virtual ::java::math::BigInteger * getN(); + virtual ::java::math::BigInteger * getG(); + virtual jboolean equals(::java::lang::Object *); + virtual JArray< jbyte > * getEncoded(jint) = 0; +public: // actually protected + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) N; + ::java::math::BigInteger * g; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRPKey__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h new file mode 100644 index 00000000000..2be95fbb3a4 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRPKeyPairGenerator__ +#define __gnu_javax_crypto_key_srp6_SRPKeyPairGenerator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRPKeyPairGenerator; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + class SecureRandom; + } + } +} + +class gnu::javax::crypto::key::srp6::SRPKeyPairGenerator : public ::java::lang::Object +{ + +public: + SRPKeyPairGenerator(); + virtual ::java::lang::String * name(); + virtual void setup(::java::util::Map *); + virtual ::java::security::KeyPair * generate(); +private: + JArray< ::java::math::BigInteger * > * generateParameters(); + ::java::security::KeyPair * hostKeyPair(); + ::java::security::KeyPair * userKeyPair(); + void nextRandomBytes(JArray< jbyte > *); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); + static ::java::util::logging::Logger * log; + static ::java::math::BigInteger * ZERO; + static ::java::math::BigInteger * ONE; + static ::java::math::BigInteger * TWO; + static ::java::math::BigInteger * THREE; +public: + static ::java::lang::String * MODULUS_LENGTH; + static ::java::lang::String * USE_DEFAULTS; + static ::java::lang::String * SHARED_MODULUS; + static ::java::lang::String * GENERATOR; + static ::java::lang::String * USER_VERIFIER; + static ::java::lang::String * SOURCE_OF_RANDOMNESS; +private: + static const jint DEFAULT_MODULUS_LENGTH = 1024; + ::java::security::SecureRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rnd; + jint l; + ::java::math::BigInteger * N; + ::java::math::BigInteger * g; + ::java::math::BigInteger * v; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRPKeyPairGenerator__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h new file mode 100644 index 00000000000..3f6f0db75b9 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRPKeyPairRawCodec__ +#define __gnu_javax_crypto_key_srp6_SRPKeyPairRawCodec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRPKeyPairRawCodec; + } + } + } + } + } + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + } + } +} + +class gnu::javax::crypto::key::srp6::SRPKeyPairRawCodec : public ::java::lang::Object +{ + +public: + SRPKeyPairRawCodec(); + virtual jint getFormatID(); + virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *); + virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *); + virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *); + virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRPKeyPairRawCodec__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h b/libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h new file mode 100644 index 00000000000..af942a1eb88 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRPPrivateKey__ +#define __gnu_javax_crypto_key_srp6_SRPPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRPPrivateKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::srp6::SRPPrivateKey : public ::gnu::javax::crypto::key::srp6::SRPKey +{ + +public: + SRPPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + SRPPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); +public: // actually package-private + SRPPrivateKey(JArray< ::java::math::BigInteger * > *); +public: + static ::gnu::javax::crypto::key::srp6::SRPPrivateKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getX(); + virtual ::java::math::BigInteger * getV(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRPKey)))) X; + ::java::math::BigInteger * v; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRPPrivateKey__ diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h b/libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h new file mode 100644 index 00000000000..8b1b7b0d052 --- /dev/null +++ b/libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_key_srp6_SRPPublicKey__ +#define __gnu_javax_crypto_key_srp6_SRPPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace srp6 + { + class SRPPublicKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::key::srp6::SRPPublicKey : public ::gnu::javax::crypto::key::srp6::SRPKey +{ + +public: + SRPPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); +public: // actually package-private + SRPPublicKey(JArray< ::java::math::BigInteger * > *); +public: + static ::gnu::javax::crypto::key::srp6::SRPPublicKey * valueOf(JArray< jbyte > *); + virtual ::java::math::BigInteger * getY(); + virtual JArray< jbyte > * getEncoded(jint); + virtual jboolean equals(::java::lang::Object *); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRPKey)))) Y; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_key_srp6_SRPPublicKey__ diff --git a/libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h b/libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h new file mode 100644 index 00000000000..833bd3cb1f3 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_AuthenticatedEntry__ +#define __gnu_javax_crypto_keyring_AuthenticatedEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class AuthenticatedEntry; + class Properties; + } + namespace mac + { + class IMac; + } + } + } + } +} + +class gnu::javax::crypto::keyring::AuthenticatedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry +{ + +public: + AuthenticatedEntry(::java::lang::String *, jint, ::gnu::javax::crypto::keyring::Properties *); +private: + AuthenticatedEntry(); +public: + static ::gnu::javax::crypto::keyring::AuthenticatedEntry * decode(::java::io::DataInputStream *); + void authenticate(JArray< jbyte > *); + void verify(JArray< jbyte > *); +public: // actually protected + void encodePayload(); +private: + ::gnu::javax::crypto::mac::IMac * getMac(JArray< jbyte > *); +public: + static const jint TYPE = 2; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_AuthenticatedEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/BaseKeyring.h b/libjava/gnu/javax/crypto/keyring/BaseKeyring.h new file mode 100644 index 00000000000..6d5806ea75c --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/BaseKeyring.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_BaseKeyring__ +#define __gnu_javax_crypto_keyring_BaseKeyring__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class BaseKeyring; + class CompressedEntry; + class Entry; + class PasswordAuthenticatedEntry; + } + } + } + } +} + +class gnu::javax::crypto::keyring::BaseKeyring : public ::java::lang::Object +{ + +public: + BaseKeyring(); + virtual void load(::java::util::Map *); + virtual void store(::java::util::Map *); + virtual void reset(); + virtual jint size(); + virtual ::java::util::Enumeration * aliases(); + virtual jboolean containsAlias(::java::lang::String *); + virtual ::java::util::List * get(::java::lang::String *); + virtual void add(::gnu::javax::crypto::keyring::Entry *); + virtual void remove(::java::lang::String *); +public: // actually protected + virtual ::java::lang::String * fixAlias(::java::lang::String *); + virtual void load(::java::io::InputStream *, JArray< jchar > *) = 0; + virtual void store(::java::io::OutputStream *, JArray< jchar > *) = 0; + ::gnu::javax::crypto::keyring::PasswordAuthenticatedEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keyring; + ::gnu::javax::crypto::keyring::CompressedEntry * keyring2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_BaseKeyring__ diff --git a/libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h b/libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h new file mode 100644 index 00000000000..2235f18ede5 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_BinaryDataEntry__ +#define __gnu_javax_crypto_keyring_BinaryDataEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class BinaryDataEntry; + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::BinaryDataEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry +{ + +public: + BinaryDataEntry(::java::lang::String *, JArray< jbyte > *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *); +private: + BinaryDataEntry(); +public: + static ::gnu::javax::crypto::keyring::BinaryDataEntry * decode(::java::io::DataInputStream *); + virtual ::java::lang::String * getContentType(); + virtual JArray< jbyte > * getData(); +public: // actually protected + virtual void encodePayload(); +public: + static const jint TYPE = 9; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_BinaryDataEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/CertPathEntry.h b/libjava/gnu/javax/crypto/keyring/CertPathEntry.h new file mode 100644 index 00000000000..67501a94fc6 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/CertPathEntry.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_CertPathEntry__ +#define __gnu_javax_crypto_keyring_CertPathEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class CertPathEntry; + class Properties; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::keyring::CertPathEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry +{ + +public: + CertPathEntry(JArray< ::java::security::cert::Certificate * > *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *); +private: + CertPathEntry(); +public: + static ::gnu::javax::crypto::keyring::CertPathEntry * decode(::java::io::DataInputStream *); + JArray< ::java::security::cert::Certificate * > * getCertPath(); +public: // actually protected + void encodePayload(); +public: + static const jint TYPE = 8; +private: + JArray< ::java::security::cert::Certificate * > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) path; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_CertPathEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/CertificateEntry.h b/libjava/gnu/javax/crypto/keyring/CertificateEntry.h new file mode 100644 index 00000000000..48a4ecddf6b --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/CertificateEntry.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_CertificateEntry__ +#define __gnu_javax_crypto_keyring_CertificateEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class CertificateEntry; + class Properties; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::keyring::CertificateEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry +{ + +public: + CertificateEntry(::java::security::cert::Certificate *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *); +private: + CertificateEntry(); +public: + static ::gnu::javax::crypto::keyring::CertificateEntry * decode(::java::io::DataInputStream *); + ::java::security::cert::Certificate * getCertificate(); +public: // actually protected + void encodePayload(); +public: + static const jint TYPE = 5; +private: + ::java::security::cert::Certificate * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) certificate; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_CertificateEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/CompressedEntry.h b/libjava/gnu/javax/crypto/keyring/CompressedEntry.h new file mode 100644 index 00000000000..e674b970b56 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/CompressedEntry.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_CompressedEntry__ +#define __gnu_javax_crypto_keyring_CompressedEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class CompressedEntry; + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::CompressedEntry : public ::gnu::javax::crypto::keyring::EnvelopeEntry +{ + +public: + CompressedEntry(::gnu::javax::crypto::keyring::Properties *); +private: + CompressedEntry(); +public: + static ::gnu::javax::crypto::keyring::CompressedEntry * decode(::java::io::DataInputStream *); +public: // actually protected + virtual void encodePayload(); +public: + static const jint TYPE = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_CompressedEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/EncryptedEntry.h b/libjava/gnu/javax/crypto/keyring/EncryptedEntry.h new file mode 100644 index 00000000000..e45fe221eb8 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/EncryptedEntry.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_EncryptedEntry__ +#define __gnu_javax_crypto_keyring_EncryptedEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class EncryptedEntry; + class Properties; + } + namespace mode + { + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::keyring::EncryptedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry +{ + +public: + EncryptedEntry(::java::lang::String *, ::java::lang::String *, ::gnu::javax::crypto::keyring::Properties *); +private: + EncryptedEntry(); +public: + static ::gnu::javax::crypto::keyring::EncryptedEntry * decode(::java::io::DataInputStream *); + virtual void decrypt(JArray< jbyte > *, JArray< jbyte > *); + virtual void encrypt(JArray< jbyte > *, JArray< jbyte > *); + virtual void encodePayload(); +private: + ::gnu::javax::crypto::mode::IMode * getMode(JArray< jbyte > *, JArray< jbyte > *, jint); +public: + static const jint TYPE = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_EncryptedEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/Entry.h b/libjava/gnu/javax/crypto/keyring/Entry.h new file mode 100644 index 00000000000..3efab548a56 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/Entry.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_Entry__ +#define __gnu_javax_crypto_keyring_Entry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Entry; + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::Entry : public ::java::lang::Object +{ + +public: // actually protected + Entry(jint, ::gnu::javax::crypto::keyring::Properties *); + Entry(jint); +public: + virtual ::gnu::javax::crypto::keyring::Properties * getProperties(); + virtual JArray< jbyte > * getPayload(); + virtual void encode(::java::io::DataOutputStream *); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual void defaultDecode(::java::io::DataInputStream *); + virtual void encodePayload() = 0; +private: + static ::java::util::logging::Logger * log; + static JArray< ::java::lang::String * > * TYPES; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::gnu::javax::crypto::keyring::Properties * properties; + JArray< jbyte > * payload; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_Entry__ diff --git a/libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h b/libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h new file mode 100644 index 00000000000..29bbb061f5d --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_EnvelopeEntry__ +#define __gnu_javax_crypto_keyring_EnvelopeEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Entry; + class EnvelopeEntry; + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::EnvelopeEntry : public ::gnu::javax::crypto::keyring::Entry +{ + +public: + EnvelopeEntry(jint, ::gnu::javax::crypto::keyring::Properties *); +public: // actually protected + EnvelopeEntry(jint); +public: + virtual void add(::gnu::javax::crypto::keyring::Entry *); + virtual jboolean containsAlias(::java::lang::String *); + virtual jboolean containsEntry(::gnu::javax::crypto::keyring::Entry *); + virtual ::java::util::List * getEntries(); + virtual ::java::util::List * get(::java::lang::String *); + virtual ::java::lang::String * getAliasList(); + virtual jboolean remove(::gnu::javax::crypto::keyring::Entry *); + virtual jboolean remove(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual void encodePayload(); + virtual void setContainingEnvelope(::gnu::javax::crypto::keyring::EnvelopeEntry *); + virtual void decodeEnvelope(::java::io::DataInputStream *); +private: + void makeAliasList(); + static ::java::util::logging::Logger * log; +public: // actually protected + ::gnu::javax::crypto::keyring::EnvelopeEntry * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::Entry)))) containingEnvelope; + ::java::util::List * entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_EnvelopeEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h b/libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h new file mode 100644 index 00000000000..bb3317d5ea4 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_GnuPrivateKeyring__ +#define __gnu_javax_crypto_keyring_GnuPrivateKeyring__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class GnuPrivateKeyring; + } + } + } + } + namespace java + { + namespace security + { + class Key; + class PublicKey; + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::keyring::GnuPrivateKeyring : public ::gnu::javax::crypto::keyring::BaseKeyring +{ + +public: + GnuPrivateKeyring(::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, jint); + GnuPrivateKeyring(); + virtual jboolean containsPrivateKey(::java::lang::String *); + virtual ::java::security::Key * getPrivateKey(::java::lang::String *, JArray< jchar > *); + virtual void putPrivateKey(::java::lang::String *, ::java::security::Key *, JArray< jchar > *); + virtual jboolean containsPublicKey(::java::lang::String *); + virtual ::java::security::PublicKey * getPublicKey(::java::lang::String *); + virtual void putPublicKey(::java::lang::String *, ::java::security::PublicKey *); + virtual jboolean containsCertPath(::java::lang::String *); + virtual JArray< ::java::security::cert::Certificate * > * getCertPath(::java::lang::String *); + virtual void putCertPath(::java::lang::String *, JArray< ::java::security::cert::Certificate * > *); +public: // actually protected + virtual void load(::java::io::InputStream *, JArray< jchar > *); + virtual void store(::java::io::OutputStream *, JArray< jchar > *); +private: + static ::java::util::logging::Logger * log; +public: + static const jint USAGE = 3; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::BaseKeyring)))) mac; + jint maclen; + ::java::lang::String * cipher; + ::java::lang::String * mode; + jint keylen; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_GnuPrivateKeyring__ diff --git a/libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h b/libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h new file mode 100644 index 00000000000..47abbac37aa --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_GnuPublicKeyring__ +#define __gnu_javax_crypto_keyring_GnuPublicKeyring__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class GnuPublicKeyring; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::keyring::GnuPublicKeyring : public ::gnu::javax::crypto::keyring::BaseKeyring +{ + +public: + GnuPublicKeyring(::java::lang::String *, jint); + GnuPublicKeyring(); + virtual jboolean containsCertificate(::java::lang::String *); + virtual ::java::security::cert::Certificate * getCertificate(::java::lang::String *); + virtual void putCertificate(::java::lang::String *, ::java::security::cert::Certificate *); +public: // actually protected + virtual void load(::java::io::InputStream *, JArray< jchar > *); + virtual void store(::java::io::OutputStream *, JArray< jchar > *); +private: + static ::java::util::logging::Logger * log; +public: + static const jint USAGE = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_GnuPublicKeyring__ diff --git a/libjava/gnu/javax/crypto/keyring/IKeyring.h b/libjava/gnu/javax/crypto/keyring/IKeyring.h new file mode 100644 index 00000000000..a1827b31057 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/IKeyring.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_IKeyring__ +#define __gnu_javax_crypto_keyring_IKeyring__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Entry; + class IKeyring; + } + } + } + } +} + +class gnu::javax::crypto::keyring::IKeyring : public ::java::lang::Object +{ + +public: + virtual void load(::java::util::Map *) = 0; + virtual void store(::java::util::Map *) = 0; + virtual void reset() = 0; + virtual jint size() = 0; + virtual ::java::util::Enumeration * aliases() = 0; + virtual jboolean containsAlias(::java::lang::String *) = 0; + virtual ::java::util::List * get(::java::lang::String *) = 0; + virtual void add(::gnu::javax::crypto::keyring::Entry *) = 0; + virtual void remove(::java::lang::String *) = 0; + static ::java::lang::String * KEYRING_DATA_IN; + static ::java::lang::String * KEYRING_DATA_OUT; + static ::java::lang::String * KEYRING_PASSWORD; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_keyring_IKeyring__ diff --git a/libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h b/libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h new file mode 100644 index 00000000000..9f9cb25f607 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_IPrivateKeyring__ +#define __gnu_javax_crypto_keyring_IPrivateKeyring__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Entry; + class IPrivateKeyring; + } + } + } + } + namespace java + { + namespace security + { + class Key; + class PublicKey; + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::keyring::IPrivateKeyring : public ::java::lang::Object +{ + +public: + virtual jboolean containsPrivateKey(::java::lang::String *) = 0; + virtual ::java::security::Key * getPrivateKey(::java::lang::String *, JArray< jchar > *) = 0; + virtual void putPrivateKey(::java::lang::String *, ::java::security::Key *, JArray< jchar > *) = 0; + virtual jboolean containsPublicKey(::java::lang::String *) = 0; + virtual ::java::security::PublicKey * getPublicKey(::java::lang::String *) = 0; + virtual void putPublicKey(::java::lang::String *, ::java::security::PublicKey *) = 0; + virtual jboolean containsCertPath(::java::lang::String *) = 0; + virtual JArray< ::java::security::cert::Certificate * > * getCertPath(::java::lang::String *) = 0; + virtual void putCertPath(::java::lang::String *, JArray< ::java::security::cert::Certificate * > *) = 0; + virtual void load(::java::util::Map *) = 0; + virtual void store(::java::util::Map *) = 0; + virtual void reset() = 0; + virtual jint size() = 0; + virtual ::java::util::Enumeration * aliases() = 0; + virtual jboolean containsAlias(::java::lang::String *) = 0; + virtual ::java::util::List * get(::java::lang::String *) = 0; + virtual void add(::gnu::javax::crypto::keyring::Entry *) = 0; + virtual void remove(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_keyring_IPrivateKeyring__ diff --git a/libjava/gnu/javax/crypto/keyring/IPublicKeyring.h b/libjava/gnu/javax/crypto/keyring/IPublicKeyring.h new file mode 100644 index 00000000000..06029e27770 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/IPublicKeyring.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_IPublicKeyring__ +#define __gnu_javax_crypto_keyring_IPublicKeyring__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Entry; + class IPublicKeyring; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::crypto::keyring::IPublicKeyring : public ::java::lang::Object +{ + +public: + virtual jboolean containsCertificate(::java::lang::String *) = 0; + virtual ::java::security::cert::Certificate * getCertificate(::java::lang::String *) = 0; + virtual void putCertificate(::java::lang::String *, ::java::security::cert::Certificate *) = 0; + virtual void load(::java::util::Map *) = 0; + virtual void store(::java::util::Map *) = 0; + virtual void reset() = 0; + virtual jint size() = 0; + virtual ::java::util::Enumeration * aliases() = 0; + virtual jboolean containsAlias(::java::lang::String *) = 0; + virtual ::java::util::List * get(::java::lang::String *) = 0; + virtual void add(::gnu::javax::crypto::keyring::Entry *) = 0; + virtual void remove(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_keyring_IPublicKeyring__ diff --git a/libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h b/libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h new file mode 100644 index 00000000000..569911b5c5a --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_MalformedKeyringException__ +#define __gnu_javax_crypto_keyring_MalformedKeyringException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class MalformedKeyringException; + } + } + } + } +} + +class gnu::javax::crypto::keyring::MalformedKeyringException : public ::java::io::IOException +{ + +public: + MalformedKeyringException(); + MalformedKeyringException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_MalformedKeyringException__ diff --git a/libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h b/libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h new file mode 100644 index 00000000000..1d07ee24035 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_MaskableEnvelopeEntry__ +#define __gnu_javax_crypto_keyring_MaskableEnvelopeEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Entry; + class MaskableEnvelopeEntry; + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::MaskableEnvelopeEntry : public ::gnu::javax::crypto::keyring::EnvelopeEntry +{ + +public: + MaskableEnvelopeEntry(jint, ::gnu::javax::crypto::keyring::Properties *); +public: // actually protected + MaskableEnvelopeEntry(jint); + virtual void setMasked(jboolean); +public: + virtual jboolean isMasked(); + virtual void add(::gnu::javax::crypto::keyring::Entry *); + virtual jboolean containsEntry(::gnu::javax::crypto::keyring::Entry *); + virtual ::java::util::List * getEntries(); + virtual ::java::util::List * get(::java::lang::String *); + virtual jboolean remove(::gnu::javax::crypto::keyring::Entry *); + virtual jboolean remove(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::EnvelopeEntry)))) masked; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_MaskableEnvelopeEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/MeteredInputStream.h b/libjava/gnu/javax/crypto/keyring/MeteredInputStream.h new file mode 100644 index 00000000000..a6f3e4f0fee --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/MeteredInputStream.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_MeteredInputStream__ +#define __gnu_javax_crypto_keyring_MeteredInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class MeteredInputStream; + } + } + } + } +} + +class gnu::javax::crypto::keyring::MeteredInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + MeteredInputStream(::java::io::InputStream *, jint); +public: + jboolean limitReached(); + jint available(); + void close(); + void mark(jint); + jboolean markSupported(); + jint read(); + jint read(JArray< jbyte > *); + jint read(JArray< jbyte > *, jint, jint); + void reset(); + jlong skip(jlong); +private: + jint __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) count; + jint limit; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_MeteredInputStream__ diff --git a/libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h b/libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h new file mode 100644 index 00000000000..b4a539aed50 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_PasswordAuthenticatedEntry__ +#define __gnu_javax_crypto_keyring_PasswordAuthenticatedEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class PasswordAuthenticatedEntry; + class Properties; + } + namespace mac + { + class IMac; + } + } + } + } +} + +class gnu::javax::crypto::keyring::PasswordAuthenticatedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry +{ + +public: + PasswordAuthenticatedEntry(::java::lang::String *, jint, ::gnu::javax::crypto::keyring::Properties *); +private: + PasswordAuthenticatedEntry(); +public: + static ::gnu::javax::crypto::keyring::PasswordAuthenticatedEntry * decode(::java::io::DataInputStream *, JArray< jchar > *); + static ::gnu::javax::crypto::keyring::PasswordAuthenticatedEntry * decode(::java::io::DataInputStream *); + void verify(JArray< jchar > *); + void authenticate(JArray< jchar > *); + void encode(::java::io::DataOutputStream *, JArray< jchar > *); +public: // actually protected + void encodePayload(::java::io::DataOutputStream *); +private: + ::gnu::javax::crypto::mac::IMac * getMac(JArray< jchar > *); + static ::java::util::logging::Logger * log; +public: + static const jint TYPE = 3; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_PasswordAuthenticatedEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h b/libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h new file mode 100644 index 00000000000..b05b31af7ae --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_PasswordEncryptedEntry__ +#define __gnu_javax_crypto_keyring_PasswordEncryptedEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class PasswordEncryptedEntry; + class Properties; + } + namespace mode + { + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::keyring::PasswordEncryptedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry +{ + +public: + PasswordEncryptedEntry(::java::lang::String *, ::java::lang::String *, jint, ::gnu::javax::crypto::keyring::Properties *); +private: + PasswordEncryptedEntry(); +public: + static ::gnu::javax::crypto::keyring::PasswordEncryptedEntry * decode(::java::io::DataInputStream *, JArray< jchar > *); + static ::gnu::javax::crypto::keyring::PasswordEncryptedEntry * decode(::java::io::DataInputStream *); + virtual void decrypt(JArray< jchar > *); + virtual void encrypt(JArray< jchar > *); + virtual void encode(::java::io::DataOutputStream *, JArray< jchar > *); +public: // actually protected + virtual void encodePayload(); +private: + ::gnu::javax::crypto::mode::IMode * getMode(JArray< jchar > *, jint); + static ::java::util::logging::Logger * log; +public: + static const jint TYPE = 1; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_PasswordEncryptedEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h b/libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h new file mode 100644 index 00000000000..6b81878eb49 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_PasswordProtectedEntry__ +#define __gnu_javax_crypto_keyring_PasswordProtectedEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class PasswordProtectedEntry; + } + } + } + } +} + +class gnu::javax::crypto::keyring::PasswordProtectedEntry : public ::java::lang::Object +{ + +public: + virtual void encode(::java::io::DataOutputStream *, JArray< jchar > *) = 0; + static ::java::lang::Integer * ITERATION_COUNT; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_keyring_PasswordProtectedEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h b/libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h new file mode 100644 index 00000000000..16d9d0072f0 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_PrimitiveEntry__ +#define __gnu_javax_crypto_keyring_PrimitiveEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class PrimitiveEntry; + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::PrimitiveEntry : public ::gnu::javax::crypto::keyring::Entry +{ + +public: // actually protected + PrimitiveEntry(jint, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *); + PrimitiveEntry(jint); +public: + virtual ::java::lang::String * getAlias(); + virtual ::java::util::Date * getCreationDate(); + virtual jboolean equals(::java::lang::Object *); +public: // actually protected + virtual void makeCreationDate(); + ::java::util::Date * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::Entry)))) creationDate; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_PrimitiveEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h b/libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h new file mode 100644 index 00000000000..33f2f53335b --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_PrivateKeyEntry__ +#define __gnu_javax_crypto_keyring_PrivateKeyEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class PrivateKeyEntry; + class Properties; + } + } + } + } + namespace java + { + namespace security + { + class Key; + } + } +} + +class gnu::javax::crypto::keyring::PrivateKeyEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry +{ + +public: + PrivateKeyEntry(::java::security::Key *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *); +private: + PrivateKeyEntry(); +public: + static ::gnu::javax::crypto::keyring::PrivateKeyEntry * decode(::java::io::DataInputStream *); + ::java::security::Key * getKey(); +public: // actually protected + void encodePayload(); +public: + ::java::lang::String * toString(); + static const jint TYPE = 7; +private: + ::java::security::Key * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) key; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_PrivateKeyEntry__ diff --git a/libjava/gnu/javax/crypto/keyring/Properties.h b/libjava/gnu/javax/crypto/keyring/Properties.h new file mode 100644 index 00000000000..65d10a8d177 --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/Properties.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_Properties__ +#define __gnu_javax_crypto_keyring_Properties__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Properties; + } + } + } + } +} + +class gnu::javax::crypto::keyring::Properties : public ::java::lang::Object +{ + +public: + Properties(); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual jboolean containsKey(::java::lang::String *); + virtual jboolean containsValue(::java::lang::String *); + virtual ::java::lang::String * put(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * get(::java::lang::String *); + virtual ::java::lang::String * remove(::java::lang::String *); + virtual void decode(::java::io::DataInputStream *); + virtual void encode(::java::io::DataOutputStream *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * canonicalize(::java::lang::String *); + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) props; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_Properties__ diff --git a/libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h b/libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h new file mode 100644 index 00000000000..88d4744f65d --- /dev/null +++ b/libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_keyring_PublicKeyEntry__ +#define __gnu_javax_crypto_keyring_PublicKeyEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace keyring + { + class Properties; + class PublicKeyEntry; + } + } + } + } + namespace java + { + namespace security + { + class PublicKey; + } + } +} + +class gnu::javax::crypto::keyring::PublicKeyEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry +{ + +public: + PublicKeyEntry(::java::security::PublicKey *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *); +private: + PublicKeyEntry(); +public: + static ::gnu::javax::crypto::keyring::PublicKeyEntry * decode(::java::io::DataInputStream *); + ::java::security::PublicKey * getKey(); +public: // actually protected + void encodePayload(); +public: + static const jint TYPE = 6; +private: + ::java::security::PublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) key; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_keyring_PublicKeyEntry__ diff --git a/libjava/gnu/javax/crypto/kwa/AESKeyWrap.h b/libjava/gnu/javax/crypto/kwa/AESKeyWrap.h new file mode 100644 index 00000000000..6e1528a75dd --- /dev/null +++ b/libjava/gnu/javax/crypto/kwa/AESKeyWrap.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_kwa_AESKeyWrap__ +#define __gnu_javax_crypto_kwa_AESKeyWrap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class Rijndael; + } + namespace kwa + { + class AESKeyWrap; + } + } + } + } +} + +class gnu::javax::crypto::kwa::AESKeyWrap : public ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm +{ + +public: + AESKeyWrap(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint); +private: + static JArray< jbyte > * DEFAULT_IV; + ::gnu::javax::crypto::cipher::Rijndael * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm)))) aes; + JArray< jbyte > * iv; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_kwa_AESKeyWrap__ diff --git a/libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h b/libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h new file mode 100644 index 00000000000..34e13193163 --- /dev/null +++ b/libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_kwa_BaseKeyWrappingAlgorithm__ +#define __gnu_javax_crypto_kwa_BaseKeyWrappingAlgorithm__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace kwa + { + class BaseKeyWrappingAlgorithm; + } + } + } + } +} + +class gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm : public ::java::lang::Object +{ + +public: // actually protected + BaseKeyWrappingAlgorithm(::java::lang::String *); +public: + virtual ::java::lang::String * name(); + virtual void init(::java::util::Map *); + virtual jint wrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint); + virtual jint unwrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint); +public: // actually protected + virtual void engineInit(::java::util::Map *) = 0; + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint) = 0; + virtual ::gnu::java::security::util::PRNG * getDefaultPRNG(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; +private: + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_kwa_BaseKeyWrappingAlgorithm__ diff --git a/libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h b/libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h new file mode 100644 index 00000000000..56d032add60 --- /dev/null +++ b/libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_kwa_IKeyWrappingAlgorithm__ +#define __gnu_javax_crypto_kwa_IKeyWrappingAlgorithm__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace kwa + { + class IKeyWrappingAlgorithm; + } + } + } + } +} + +class gnu::javax::crypto::kwa::IKeyWrappingAlgorithm : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual void init(::java::util::Map *) = 0; + virtual jint wrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint) = 0; + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint) = 0; + virtual jint unwrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint) = 0; + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint) = 0; + static ::java::lang::String * KEY_ENCRYPTION_KEY_MATERIAL; + static ::java::lang::String * INITIAL_VALUE; + static ::java::lang::String * SOURCE_OF_RANDOMNESS; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_kwa_IKeyWrappingAlgorithm__ diff --git a/libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h b/libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h new file mode 100644 index 00000000000..b9d9039fbc2 --- /dev/null +++ b/libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_kwa_KeyUnwrappingException__ +#define __gnu_javax_crypto_kwa_KeyUnwrappingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace kwa + { + class KeyUnwrappingException; + } + } + } + } +} + +class gnu::javax::crypto::kwa::KeyUnwrappingException : public ::java::security::GeneralSecurityException +{ + +public: + KeyUnwrappingException(); + KeyUnwrappingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_kwa_KeyUnwrappingException__ diff --git a/libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h b/libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h new file mode 100644 index 00000000000..ab443dbe7e4 --- /dev/null +++ b/libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_kwa_KeyWrappingAlgorithmFactory__ +#define __gnu_javax_crypto_kwa_KeyWrappingAlgorithmFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace kwa + { + class IKeyWrappingAlgorithm; + class KeyWrappingAlgorithmFactory; + } + } + } + } +} + +class gnu::javax::crypto::kwa::KeyWrappingAlgorithmFactory : public ::java::lang::Object +{ + + KeyWrappingAlgorithmFactory(); +public: + static ::gnu::javax::crypto::kwa::IKeyWrappingAlgorithm * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); +private: + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_kwa_KeyWrappingAlgorithmFactory__ diff --git a/libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h b/libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h new file mode 100644 index 00000000000..5f23a70159c --- /dev/null +++ b/libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_kwa_TripleDESKeyWrap__ +#define __gnu_javax_crypto_kwa_TripleDESKeyWrap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class Sha160; + } + } + } + namespace javax + { + namespace crypto + { + namespace assembly + { + class Assembly; + } + namespace kwa + { + class TripleDESKeyWrap; + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + } + } +} + +class gnu::javax::crypto::kwa::TripleDESKeyWrap : public ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm +{ + +public: + TripleDESKeyWrap(); +public: // actually protected + virtual void engineInit(::java::util::Map *); + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint); +private: + void nextRandomBytes(JArray< jbyte > *); + static JArray< jbyte > * DEFAULT_IV; + ::gnu::javax::crypto::assembly::Assembly * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm)))) asm$; + ::java::util::HashMap * asmAttributes; + ::java::util::HashMap * modeAttributes; + ::gnu::java::security::hash::Sha160 * sha; + ::java::security::SecureRandom * rnd; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_kwa_TripleDESKeyWrap__ diff --git a/libjava/gnu/javax/crypto/mac/BaseMac.h b/libjava/gnu/javax/crypto/mac/BaseMac.h new file mode 100644 index 00000000000..aebe9313ed7 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/BaseMac.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_BaseMac__ +#define __gnu_javax_crypto_mac_BaseMac__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace crypto + { + namespace mac + { + class BaseMac; + } + } + } + } +} + +class gnu::javax::crypto::mac::BaseMac : public ::java::lang::Object +{ + +public: // actually protected + BaseMac(::java::lang::String *); + BaseMac(::java::lang::String *, ::gnu::java::security::hash::IMessageDigest *); +public: + virtual ::java::lang::String * name(); + virtual jint macSize(); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual ::java::lang::Object * clone(); + virtual void init(::java::util::Map *) = 0; + virtual JArray< jbyte > * digest() = 0; + virtual jboolean selfTest() = 0; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + ::gnu::java::security::hash::IMessageDigest * underlyingHash; + jint truncatedSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_BaseMac__ diff --git a/libjava/gnu/javax/crypto/mac/HMac.h b/libjava/gnu/javax/crypto/mac/HMac.h new file mode 100644 index 00000000000..c38a9e79546 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/HMac.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_HMac__ +#define __gnu_javax_crypto_mac_HMac__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace crypto + { + namespace mac + { + class HMac; + } + } + } + } +} + +class gnu::javax::crypto::mac::HMac : public ::gnu::javax::crypto::mac::BaseMac +{ + +public: // actually protected + HMac(::gnu::java::security::hash::IMessageDigest *); +public: + virtual ::java::lang::Object * clone(); + virtual void init(::java::util::Map *); + virtual void reset(); + virtual JArray< jbyte > * digest(); + virtual jboolean selfTest(); + static ::java::lang::String * USE_WITH_PKCS5_V2; +private: + static const jbyte IPAD_BYTE = 54; + static const jbyte OPAD_BYTE = 92; + static ::java::lang::Boolean * valid; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) macSize; + jint blockSize; + ::gnu::java::security::hash::IMessageDigest * ipadHash; + ::gnu::java::security::hash::IMessageDigest * opadHash; + JArray< jbyte > * ipad; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_HMac__ diff --git a/libjava/gnu/javax/crypto/mac/HMacFactory.h b/libjava/gnu/javax/crypto/mac/HMacFactory.h new file mode 100644 index 00000000000..e32104e7a1c --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/HMacFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_HMacFactory__ +#define __gnu_javax_crypto_mac_HMacFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class HMacFactory; + class IMac; + } + } + } + } +} + +class gnu::javax::crypto::mac::HMacFactory : public ::java::lang::Object +{ + + HMacFactory(); +public: + static ::gnu::javax::crypto::mac::IMac * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_HMacFactory__ diff --git a/libjava/gnu/javax/crypto/mac/IMac.h b/libjava/gnu/javax/crypto/mac/IMac.h new file mode 100644 index 00000000000..9bed61ae238 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/IMac.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_IMac__ +#define __gnu_javax_crypto_mac_IMac__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + } + } + } + } +} + +class gnu::javax::crypto::mac::IMac : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual jint macSize() = 0; + virtual void init(::java::util::Map *) = 0; + virtual void update(jbyte) = 0; + virtual void update(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * digest() = 0; + virtual void reset() = 0; + virtual jboolean selfTest() = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::String * MAC_KEY_MATERIAL; + static ::java::lang::String * TRUNCATED_SIZE; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_mac_IMac__ diff --git a/libjava/gnu/javax/crypto/mac/MacFactory.h b/libjava/gnu/javax/crypto/mac/MacFactory.h new file mode 100644 index 00000000000..141a59cf66b --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/MacFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_MacFactory__ +#define __gnu_javax_crypto_mac_MacFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + class MacFactory; + } + } + } + } +} + +class gnu::javax::crypto::mac::MacFactory : public ::java::lang::Object +{ + + MacFactory(); +public: + static ::gnu::javax::crypto::mac::IMac * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); +private: + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_MacFactory__ diff --git a/libjava/gnu/javax/crypto/mac/MacInputStream.h b/libjava/gnu/javax/crypto/mac/MacInputStream.h new file mode 100644 index 00000000000..52087df38af --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/MacInputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_MacInputStream__ +#define __gnu_javax_crypto_mac_MacInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + class MacInputStream; + } + } + } + } +} + +class gnu::javax::crypto::mac::MacInputStream : public ::java::io::FilterInputStream +{ + +public: + MacInputStream(::java::io::InputStream *, ::gnu::javax::crypto::mac::IMac *); + virtual ::gnu::javax::crypto::mac::IMac * getMac(); + virtual void setMac(::gnu::javax::crypto::mac::IMac *); + virtual void on(jboolean); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + jboolean __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) digesting; + ::gnu::javax::crypto::mac::IMac * mac; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_MacInputStream__ diff --git a/libjava/gnu/javax/crypto/mac/MacOutputStream.h b/libjava/gnu/javax/crypto/mac/MacOutputStream.h new file mode 100644 index 00000000000..936a59927de --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/MacOutputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_MacOutputStream__ +#define __gnu_javax_crypto_mac_MacOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + class MacOutputStream; + } + } + } + } +} + +class gnu::javax::crypto::mac::MacOutputStream : public ::java::io::FilterOutputStream +{ + +public: + MacOutputStream(::java::io::OutputStream *, ::gnu::javax::crypto::mac::IMac *); + virtual ::gnu::javax::crypto::mac::IMac * getMac(); + virtual void setMac(::gnu::javax::crypto::mac::IMac *); + virtual void on(jboolean); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); +private: + jboolean __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) digesting; + ::gnu::javax::crypto::mac::IMac * mac; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_MacOutputStream__ diff --git a/libjava/gnu/javax/crypto/mac/OMAC.h b/libjava/gnu/javax/crypto/mac/OMAC.h new file mode 100644 index 00000000000..e608c466c3b --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/OMAC.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_OMAC__ +#define __gnu_javax_crypto_mac_OMAC__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mac + { + class OMAC; + } + namespace mode + { + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::mac::OMAC : public ::java::lang::Object +{ + +public: + OMAC(::gnu::javax::crypto::cipher::IBlockCipher *); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * name(); + virtual jint macSize(); + virtual void init(::java::util::Map *); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + virtual void digest(JArray< jbyte > *, jint); + virtual void reset(); + virtual jboolean selfTest(); +private: + void process(); + static ::java::util::logging::Logger * log; + static const jbyte C1 = -121; + static const jbyte C2 = 27; + static JArray< jbyte > * KEY0; + static JArray< jbyte > * DIGEST0; + static ::java::lang::Boolean * valid; + ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipher; + ::java::lang::String * name__; + ::gnu::javax::crypto::mode::IMode * mode; + jint blockSize; + jint outputSize; + JArray< jbyte > * Lu; + JArray< jbyte > * Lu2; + JArray< jbyte > * M; + JArray< jbyte > * Y; + jboolean init__; + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_OMAC__ diff --git a/libjava/gnu/javax/crypto/mac/TMMH16.h b/libjava/gnu/javax/crypto/mac/TMMH16.h new file mode 100644 index 00000000000..9ca8a7a4fd5 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/TMMH16.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_TMMH16__ +#define __gnu_javax_crypto_mac_TMMH16__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace mac + { + class TMMH16; + } + } + } + } +} + +class gnu::javax::crypto::mac::TMMH16 : public ::gnu::javax::crypto::mac::BaseMac +{ + +public: + TMMH16(); + virtual jint macSize(); + virtual void init(::java::util::Map *); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + virtual void reset(); + virtual jboolean selfTest(); + virtual ::java::lang::Object * clone(); + virtual void update(jbyte, ::gnu::java::security::prng::IRandom *); + virtual void update(JArray< jbyte > *, jint, jint, ::gnu::java::security::prng::IRandom *); + virtual JArray< jbyte > * digest(::gnu::java::security::prng::IRandom *); +private: + jint getNextKeyWord(::gnu::java::security::prng::IRandom *); + void doFinalRound(::gnu::java::security::prng::IRandom *); +public: + static ::java::lang::String * TAG_LENGTH; + static ::java::lang::String * KEYSTREAM; + static ::java::lang::String * PREFIX; +private: + static const jint P = 65537; + static ::java::lang::Boolean * valid; + jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) tagWords; + ::gnu::java::security::prng::IRandom * keystream; + JArray< jbyte > * prefix; + jlong keyWords; + jlong msgLength; + jlong msgWords; + JArray< jint > * context; + JArray< jint > * K0; + JArray< jint > * Ki; + jint Mi; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_TMMH16__ diff --git a/libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h b/libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h new file mode 100644 index 00000000000..8df86621dad --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_UHash32$L1Hash32__ +#define __gnu_javax_crypto_mac_UHash32$L1Hash32__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class UHash32; + class UHash32$L1Hash32; + class UHash32$L2Hash32; + class UHash32$L3Hash32; + } + } + } + } +} + +class gnu::javax::crypto::mac::UHash32$L1Hash32 : public ::java::lang::Object +{ + +public: // actually package-private + UHash32$L1Hash32(::gnu::javax::crypto::mac::UHash32 *); +private: + UHash32$L1Hash32(::gnu::javax::crypto::mac::UHash32 *, ::gnu::javax::crypto::mac::UHash32$L1Hash32 *); +public: + virtual ::java::lang::Object * clone(); + virtual void init(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); + virtual void update(jbyte); + virtual JArray< jbyte > * digest(); + virtual void reset(); +private: + JArray< jbyte > * nh32(jint); + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + JArray< jbyte > * buffer; + jint count; + ::java::io::ByteArrayOutputStream * Y; + jlong totalCount; + ::gnu::javax::crypto::mac::UHash32$L2Hash32 * l2hash; + ::gnu::javax::crypto::mac::UHash32$L3Hash32 * l3hash; +public: // actually package-private + ::gnu::javax::crypto::mac::UHash32 * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_UHash32$L1Hash32__ diff --git a/libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h b/libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h new file mode 100644 index 00000000000..1971adda4c5 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_UHash32$L2Hash32__ +#define __gnu_javax_crypto_mac_UHash32$L2Hash32__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class UHash32; + class UHash32$L2Hash32; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::mac::UHash32$L2Hash32 : public ::java::lang::Object +{ + +public: // actually package-private + UHash32$L2Hash32(::gnu::javax::crypto::mac::UHash32 *, JArray< jbyte > *); +private: + UHash32$L2Hash32(::gnu::javax::crypto::mac::UHash32 *, ::gnu::javax::crypto::mac::UHash32$L2Hash32 *); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual void update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + virtual void reset(); +private: + JArray< jbyte > * yTo16bytes(); + void poly(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< jbyte > *, jint, jint); + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k64; + ::java::math::BigInteger * k128; + ::java::math::BigInteger * y; + jboolean highBound; + jlong bytesSoFar; + ::java::io::ByteArrayOutputStream * buffer; +public: // actually package-private + ::gnu::javax::crypto::mac::UHash32 * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_UHash32$L2Hash32__ diff --git a/libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h b/libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h new file mode 100644 index 00000000000..4e6b580b50b --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_UHash32$L3Hash32__ +#define __gnu_javax_crypto_mac_UHash32$L3Hash32__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class UHash32; + class UHash32$L3Hash32; + } + } + } + } +} + +class gnu::javax::crypto::mac::UHash32$L3Hash32 : public ::java::lang::Object +{ + +public: // actually package-private + UHash32$L3Hash32(::gnu::javax::crypto::mac::UHash32 *, JArray< jbyte > *, JArray< jbyte > *); +private: + UHash32$L3Hash32(::gnu::javax::crypto::mac::UHash32 *, JArray< jint > *); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual JArray< jbyte > * digest(JArray< jbyte > *); +private: + static const jlong PRIME_36 = 68719476731LL; + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k; +public: // actually package-private + ::gnu::javax::crypto::mac::UHash32 * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_UHash32$L3Hash32__ diff --git a/libjava/gnu/javax/crypto/mac/UHash32.h b/libjava/gnu/javax/crypto/mac/UHash32.h new file mode 100644 index 00000000000..0b2be15f463 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/UHash32.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_UHash32__ +#define __gnu_javax_crypto_mac_UHash32__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class UHash32; + class UHash32$L1Hash32; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::mac::UHash32 : public ::gnu::javax::crypto::mac::BaseMac +{ + +public: + UHash32(); +private: + UHash32(::gnu::javax::crypto::mac::UHash32 *); +public: // actually package-private + static ::java::math::BigInteger * prime(jint); +public: + virtual ::java::lang::Object * clone(); + virtual jint macSize(); + virtual void init(::java::util::Map *); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + virtual void reset(); + virtual jboolean selfTest(); +private: + static ::java::math::BigInteger * PRIME_19; + static ::java::math::BigInteger * PRIME_32; + static ::java::math::BigInteger * PRIME_36; + static ::java::math::BigInteger * PRIME_64; + static ::java::math::BigInteger * PRIME_128; +public: // actually package-private + static ::java::math::BigInteger * TWO; + static jlong BOUNDARY; + static ::java::math::BigInteger * LOWER_RANGE; + static ::java::math::BigInteger * UPPER_RANGE; + static JArray< jbyte > * ALL_ZEROES; + jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) streams; + JArray< ::gnu::javax::crypto::mac::UHash32$L1Hash32 * > * l1hash; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_UHash32__ diff --git a/libjava/gnu/javax/crypto/mac/UMac32.h b/libjava/gnu/javax/crypto/mac/UMac32.h new file mode 100644 index 00000000000..7cec99eff13 --- /dev/null +++ b/libjava/gnu/javax/crypto/mac/UMac32.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mac_UMac32__ +#define __gnu_javax_crypto_mac_UMac32__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class UHash32; + class UMac32; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::mac::UMac32 : public ::gnu::javax::crypto::mac::BaseMac +{ + +public: + UMac32(); +private: + UMac32(::gnu::javax::crypto::mac::UMac32 *); +public: + virtual ::java::lang::Object * clone(); + virtual jint macSize(); + virtual void init(::java::util::Map *); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(); + virtual void reset(); + virtual jboolean selfTest(); +private: + JArray< jbyte > * pdf(); +public: + static ::java::lang::String * NONCE_MATERIAL; +private: + static ::java::lang::String * TV1; + static ::java::math::BigInteger * MAX_NONCE_ITERATIONS; +public: // actually package-private + static const jint OUTPUT_LEN = 8; + static const jint L1_KEY_LEN = 1024; + static const jint KEY_LEN = 16; +private: + static ::java::lang::Boolean * valid; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) nonce; + ::gnu::javax::crypto::mac::UHash32 * uhash32; + ::java::math::BigInteger * nonceReuseCount; + JArray< jbyte > * K; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mac_UMac32__ diff --git a/libjava/gnu/javax/crypto/mode/BaseMode.h b/libjava/gnu/javax/crypto/mode/BaseMode.h new file mode 100644 index 00000000000..25ad4aaf0c1 --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/BaseMode.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_BaseMode__ +#define __gnu_javax_crypto_mode_BaseMode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class BaseMode; + } + } + } + } +} + +class gnu::javax::crypto::mode::BaseMode : public ::java::lang::Object +{ + +public: // actually protected + BaseMode(::java::lang::String *, ::gnu::javax::crypto::cipher::IBlockCipher *, jint); +public: + virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual ::java::lang::String * name(); + virtual jint defaultBlockSize(); + virtual jint defaultKeySize(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::util::Iterator * keySizes(); + virtual void init(::java::util::Map *); + virtual jint currentBlockSize(); + virtual void reset(); + virtual jboolean selfTest(); + virtual ::java::lang::Object * clone() = 0; + virtual void setup() = 0; + virtual void teardown() = 0; + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; +private: + jboolean testSymmetry(jint, jint); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jint state; + ::gnu::javax::crypto::cipher::IBlockCipher * cipher; + jint cipherBlockSize; + jint modeBlockSize; + JArray< jbyte > * iv; + ::java::lang::Object * lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_BaseMode__ diff --git a/libjava/gnu/javax/crypto/mode/CBC.h b/libjava/gnu/javax/crypto/mode/CBC.h new file mode 100644 index 00000000000..24126a67b8f --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/CBC.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_CBC__ +#define __gnu_javax_crypto_mode_CBC__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class CBC; + } + } + } + } +} + +class gnu::javax::crypto::mode::CBC : public ::gnu::javax::crypto::mode::BaseMode +{ + +public: // actually package-private + CBC(::gnu::javax::crypto::cipher::IBlockCipher *, jint); +private: + CBC(::gnu::javax::crypto::mode::CBC *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(); + virtual void teardown(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) lastBlock; + JArray< jbyte > * scratch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_CBC__ diff --git a/libjava/gnu/javax/crypto/mode/CFB.h b/libjava/gnu/javax/crypto/mode/CFB.h new file mode 100644 index 00000000000..3931a9b2d9e --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/CFB.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_CFB__ +#define __gnu_javax_crypto_mode_CFB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class CFB; + } + } + } + } +} + +class gnu::javax::crypto::mode::CFB : public ::gnu::javax::crypto::mode::BaseMode +{ + +public: // actually package-private + CFB(::gnu::javax::crypto::cipher::IBlockCipher *, jint); +private: + CFB(::gnu::javax::crypto::mode::CFB *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(); + virtual void teardown(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) shiftRegister; + JArray< jbyte > * scratch; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_CFB__ diff --git a/libjava/gnu/javax/crypto/mode/CTR.h b/libjava/gnu/javax/crypto/mode/CTR.h new file mode 100644 index 00000000000..3bb11e64271 --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/CTR.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_CTR__ +#define __gnu_javax_crypto_mode_CTR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class CTR; + } + } + } + } +} + +class gnu::javax::crypto::mode::CTR : public ::gnu::javax::crypto::mode::BaseMode +{ + +public: // actually package-private + CTR(::gnu::javax::crypto::cipher::IBlockCipher *, jint); +private: + CTR(::gnu::javax::crypto::mode::CTR *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(); + virtual void teardown(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual ::java::util::Iterator * blockSizes(); +private: + void ctr(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) off; + JArray< jbyte > * counter; + JArray< jbyte > * enc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_CTR__ diff --git a/libjava/gnu/javax/crypto/mode/EAX.h b/libjava/gnu/javax/crypto/mode/EAX.h new file mode 100644 index 00000000000..d47f07b4172 --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/EAX.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_EAX__ +#define __gnu_javax_crypto_mode_EAX__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mac + { + class IMac; + } + namespace mode + { + class EAX; + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::mode::EAX : public ::java::lang::Object +{ + +public: + EAX(::gnu::javax::crypto::cipher::IBlockCipher *, jint); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * name(); + virtual jint defaultBlockSize(); + virtual jint defaultKeySize(); + virtual ::java::util::Iterator * blockSizes(); + virtual ::java::util::Iterator * keySizes(); + virtual void init(::java::util::Map *); + virtual jint currentBlockSize(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void reset(); + virtual jboolean selfTest(); + virtual jint macSize(); + virtual JArray< jbyte > * digest(); + virtual void digest(JArray< jbyte > *, jint); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) tagSize; + ::gnu::javax::crypto::mac::IMac * nonceOmac; + ::gnu::javax::crypto::mac::IMac * headerOmac; + ::gnu::javax::crypto::mac::IMac * msgOmac; + ::gnu::javax::crypto::mode::IMode * ctr; + jint state; + jboolean init__; + jint cipherBlockSize; + ::gnu::javax::crypto::cipher::IBlockCipher * cipher; + JArray< jbyte > * t_n; + static jboolean valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_EAX__ diff --git a/libjava/gnu/javax/crypto/mode/ECB.h b/libjava/gnu/javax/crypto/mode/ECB.h new file mode 100644 index 00000000000..ddde9c777f3 --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/ECB.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_ECB__ +#define __gnu_javax_crypto_mode_ECB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class ECB; + } + } + } + } +} + +class gnu::javax::crypto::mode::ECB : public ::gnu::javax::crypto::mode::BaseMode +{ + +public: // actually package-private + ECB(::gnu::javax::crypto::cipher::IBlockCipher *, jint); +private: + ECB(::gnu::javax::crypto::mode::ECB *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(); + virtual void teardown(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_ECB__ diff --git a/libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h b/libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h new file mode 100644 index 00000000000..7954ce83dba --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_IAuthenticatedMode__ +#define __gnu_javax_crypto_mode_IAuthenticatedMode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mode + { + class IAuthenticatedMode; + } + } + } + } +} + +class gnu::javax::crypto::mode::IAuthenticatedMode : public ::java::lang::Object +{ + +public: + virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual ::java::lang::String * name() = 0; + virtual jint defaultBlockSize() = 0; + virtual jint defaultKeySize() = 0; + virtual ::java::util::Iterator * blockSizes() = 0; + virtual ::java::util::Iterator * keySizes() = 0; + virtual void init(::java::util::Map *) = 0; + virtual jint currentBlockSize() = 0; + virtual void reset() = 0; + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual jboolean selfTest() = 0; + virtual jint macSize() = 0; + virtual void update(jbyte) = 0; + virtual void update(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * digest() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_mode_IAuthenticatedMode__ diff --git a/libjava/gnu/javax/crypto/mode/ICM.h b/libjava/gnu/javax/crypto/mode/ICM.h new file mode 100644 index 00000000000..ee18743e849 --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/ICM.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_ICM__ +#define __gnu_javax_crypto_mode_ICM__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class ICM; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::mode::ICM : public ::gnu::javax::crypto::mode::BaseMode +{ + +public: // actually package-private + ICM(::gnu::javax::crypto::cipher::IBlockCipher *, jint); +private: + ICM(::gnu::javax::crypto::mode::ICM *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(); + virtual void teardown(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); +private: + void icm(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + static ::java::math::BigInteger * TWO_FIFTY_SIX; + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) maxBlocksPerSegment; + ::java::math::BigInteger * counterRange; + ::java::math::BigInteger * C0; + ::java::math::BigInteger * blockNdx; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_ICM__ diff --git a/libjava/gnu/javax/crypto/mode/IMode.h b/libjava/gnu/javax/crypto/mode/IMode.h new file mode 100644 index 00000000000..8ee59c1ff2f --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/IMode.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_IMode__ +#define __gnu_javax_crypto_mode_IMode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mode + { + class IMode; + } + } + } + } +} + +class gnu::javax::crypto::mode::IMode : public ::java::lang::Object +{ + +public: + virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual ::java::lang::String * name() = 0; + virtual jint defaultBlockSize() = 0; + virtual jint defaultKeySize() = 0; + virtual ::java::util::Iterator * blockSizes() = 0; + virtual ::java::util::Iterator * keySizes() = 0; + virtual void init(::java::util::Map *) = 0; + virtual jint currentBlockSize() = 0; + virtual void reset() = 0; + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0; + virtual jboolean selfTest() = 0; + static ::java::lang::String * STATE; + static ::java::lang::String * MODE_BLOCK_SIZE; + static ::java::lang::String * IV; + static const jint ENCRYPTION = 1; + static const jint DECRYPTION = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_mode_IMode__ diff --git a/libjava/gnu/javax/crypto/mode/ModeFactory.h b/libjava/gnu/javax/crypto/mode/ModeFactory.h new file mode 100644 index 00000000000..d3f694e6628 --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/ModeFactory.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_ModeFactory__ +#define __gnu_javax_crypto_mode_ModeFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class IMode; + class ModeFactory; + } + } + } + } +} + +class gnu::javax::crypto::mode::ModeFactory : public ::java::lang::Object +{ + + ModeFactory(); +public: + static ::gnu::javax::crypto::mode::IMode * getInstance(::java::lang::String *, ::java::lang::String *, jint); + static ::gnu::javax::crypto::mode::IMode * getInstance(::java::lang::String *, ::gnu::javax::crypto::cipher::IBlockCipher *, jint); + static ::java::util::Set * getNames(); +private: + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_ModeFactory__ diff --git a/libjava/gnu/javax/crypto/mode/OFB.h b/libjava/gnu/javax/crypto/mode/OFB.h new file mode 100644 index 00000000000..04bbaece8cb --- /dev/null +++ b/libjava/gnu/javax/crypto/mode/OFB.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_mode_OFB__ +#define __gnu_javax_crypto_mode_OFB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace mode + { + class OFB; + } + } + } + } +} + +class gnu::javax::crypto::mode::OFB : public ::gnu::javax::crypto::mode::BaseMode +{ + +public: // actually package-private + OFB(::gnu::javax::crypto::cipher::IBlockCipher *, jint); +private: + OFB(::gnu::javax::crypto::mode::OFB *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(); + virtual void teardown(); + virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); + virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) outputBlock; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_mode_OFB__ diff --git a/libjava/gnu/javax/crypto/pad/BasePad.h b/libjava/gnu/javax/crypto/pad/BasePad.h new file mode 100644 index 00000000000..130b4000b08 --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/BasePad.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_BasePad__ +#define __gnu_javax_crypto_pad_BasePad__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class BasePad; + } + } + } + } +} + +class gnu::javax::crypto::pad::BasePad : public ::java::lang::Object +{ + +public: // actually protected + BasePad(::java::lang::String *); +public: + virtual ::java::lang::String * name(); + virtual void init(jint); + virtual void init(::java::util::Map *); + virtual void reset(); + virtual jboolean selfTest(); +public: // actually protected + virtual jboolean test1BlockSize(jint, JArray< jbyte > *); +public: + virtual void setup() = 0; + virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint) = 0; + virtual jint unpad(JArray< jbyte > *, jint, jint) = 0; +private: + static ::java::util::logging::Logger * log; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jint blockSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_BasePad__ diff --git a/libjava/gnu/javax/crypto/pad/IPad.h b/libjava/gnu/javax/crypto/pad/IPad.h new file mode 100644 index 00000000000..67e29892452 --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/IPad.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_IPad__ +#define __gnu_javax_crypto_pad_IPad__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class IPad; + } + } + } + } +} + +class gnu::javax::crypto::pad::IPad : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * name() = 0; + virtual void init(jint) = 0; + virtual void init(::java::util::Map *) = 0; + virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint) = 0; + virtual jint unpad(JArray< jbyte > *, jint, jint) = 0; + virtual void reset() = 0; + virtual jboolean selfTest() = 0; + static ::java::lang::String * PADDING_BLOCK_SIZE; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_pad_IPad__ diff --git a/libjava/gnu/javax/crypto/pad/ISO10126.h b/libjava/gnu/javax/crypto/pad/ISO10126.h new file mode 100644 index 00000000000..2d7debaa4dd --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/ISO10126.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_ISO10126__ +#define __gnu_javax_crypto_pad_ISO10126__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace pad + { + class ISO10126; + } + } + } + } +} + +class gnu::javax::crypto::pad::ISO10126 : public ::gnu::javax::crypto::pad::BasePad +{ + +public: // actually package-private + ISO10126(); +public: + void setup(); + JArray< jbyte > * pad(JArray< jbyte > *, jint, jint); + jint unpad(JArray< jbyte > *, jint, jint); + jboolean selfTest(); +private: + ::gnu::java::security::util::PRNG * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::pad::BasePad)))) prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_ISO10126__ diff --git a/libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h b/libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h new file mode 100644 index 00000000000..b681a0fa386 --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_PKCS1_V1_5__ +#define __gnu_javax_crypto_pad_PKCS1_V1_5__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace sig + { + namespace rsa + { + class EME_PKCS1_V1_5; + } + } + } + } + namespace javax + { + namespace crypto + { + namespace pad + { + class PKCS1_V1_5; + } + } + } + } +} + +class gnu::javax::crypto::pad::PKCS1_V1_5 : public ::gnu::javax::crypto::pad::BasePad +{ + +public: // actually package-private + PKCS1_V1_5(); +public: + virtual void setup(); + virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint); + virtual jint unpad(JArray< jbyte > *, jint, jint); + virtual jboolean selfTest(); +private: + static ::java::util::logging::Logger * log; + ::gnu::java::security::sig::rsa::EME_PKCS1_V1_5 * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::pad::BasePad)))) codec; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_PKCS1_V1_5__ diff --git a/libjava/gnu/javax/crypto/pad/PKCS7.h b/libjava/gnu/javax/crypto/pad/PKCS7.h new file mode 100644 index 00000000000..609d4b35b3a --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/PKCS7.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_PKCS7__ +#define __gnu_javax_crypto_pad_PKCS7__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class PKCS7; + } + } + } + } +} + +class gnu::javax::crypto::pad::PKCS7 : public ::gnu::javax::crypto::pad::BasePad +{ + +public: // actually package-private + PKCS7(); +public: + void setup(); + JArray< jbyte > * pad(JArray< jbyte > *, jint, jint); + jint unpad(JArray< jbyte > *, jint, jint); +private: + static ::java::util::logging::Logger * log; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_PKCS7__ diff --git a/libjava/gnu/javax/crypto/pad/PadFactory.h b/libjava/gnu/javax/crypto/pad/PadFactory.h new file mode 100644 index 00000000000..fea2a3b0906 --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/PadFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_PadFactory__ +#define __gnu_javax_crypto_pad_PadFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class IPad; + class PadFactory; + } + } + } + } +} + +class gnu::javax::crypto::pad::PadFactory : public ::java::lang::Object +{ + + PadFactory(); +public: + static ::gnu::javax::crypto::pad::IPad * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); +private: + static ::java::util::Set * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_PadFactory__ diff --git a/libjava/gnu/javax/crypto/pad/SSL3.h b/libjava/gnu/javax/crypto/pad/SSL3.h new file mode 100644 index 00000000000..1154d8ed820 --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/SSL3.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_SSL3__ +#define __gnu_javax_crypto_pad_SSL3__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class SSL3; + } + } + } + } +} + +class gnu::javax::crypto::pad::SSL3 : public ::gnu::javax::crypto::pad::BasePad +{ + +public: + SSL3(); + virtual void setup(); + virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint); + virtual jint unpad(JArray< jbyte > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_SSL3__ diff --git a/libjava/gnu/javax/crypto/pad/TBC.h b/libjava/gnu/javax/crypto/pad/TBC.h new file mode 100644 index 00000000000..099c05a8200 --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/TBC.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_TBC__ +#define __gnu_javax_crypto_pad_TBC__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class TBC; + } + } + } + } +} + +class gnu::javax::crypto::pad::TBC : public ::gnu::javax::crypto::pad::BasePad +{ + +public: // actually package-private + TBC(); +public: + void setup(); + JArray< jbyte > * pad(JArray< jbyte > *, jint, jint); + jint unpad(JArray< jbyte > *, jint, jint); +private: + static ::java::util::logging::Logger * log; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_TBC__ diff --git a/libjava/gnu/javax/crypto/pad/TLS1.h b/libjava/gnu/javax/crypto/pad/TLS1.h new file mode 100644 index 00000000000..0f361fc517c --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/TLS1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_TLS1__ +#define __gnu_javax_crypto_pad_TLS1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class TLS1; + } + } + } + } +} + +class gnu::javax::crypto::pad::TLS1 : public ::gnu::javax::crypto::pad::BasePad +{ + +public: + TLS1(); + virtual void setup(); + virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint); + virtual jint unpad(JArray< jbyte > *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_TLS1__ diff --git a/libjava/gnu/javax/crypto/pad/WrongPaddingException.h b/libjava/gnu/javax/crypto/pad/WrongPaddingException.h new file mode 100644 index 00000000000..16a9b331b5e --- /dev/null +++ b/libjava/gnu/javax/crypto/pad/WrongPaddingException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_pad_WrongPaddingException__ +#define __gnu_javax_crypto_pad_WrongPaddingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace pad + { + class WrongPaddingException; + } + } + } + } +} + +class gnu::javax::crypto::pad::WrongPaddingException : public ::java::lang::Exception +{ + +public: + WrongPaddingException(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_pad_WrongPaddingException__ diff --git a/libjava/gnu/javax/crypto/prng/ARCFour.h b/libjava/gnu/javax/crypto/prng/ARCFour.h new file mode 100644 index 00000000000..097b0b367d1 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/ARCFour.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_ARCFour__ +#define __gnu_javax_crypto_prng_ARCFour__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace prng + { + class ARCFour; + } + } + } + } +} + +class gnu::javax::crypto::prng::ARCFour : public ::gnu::java::security::prng::BasePRNG +{ + +public: + ARCFour(); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); + static ::java::lang::String * ARCFOUR_KEY_MATERIAL; + static const jint ARCFOUR_SBOX_SIZE = 256; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) s; + jbyte m; + jbyte n; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_ARCFour__ diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG$1.h b/libjava/gnu/javax/crypto/prng/CSPRNG$1.h new file mode 100644 index 00000000000..2d589fb2739 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/CSPRNG$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_CSPRNG$1__ +#define __gnu_javax_crypto_prng_CSPRNG$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace prng + { + class CSPRNG$1; + } + } + } + } +} + +class gnu::javax::crypto::prng::CSPRNG$1 : public ::java::lang::Object +{ + +public: // actually package-private + CSPRNG$1(::java::lang::String *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_CSPRNG$1__ diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h b/libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h new file mode 100644 index 00000000000..823b08baa52 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_CSPRNG$Poller__ +#define __gnu_javax_crypto_prng_CSPRNG$Poller__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace prng + { + class CSPRNG; + class CSPRNG$Poller; + } + } + } + } +} + +class gnu::javax::crypto::prng::CSPRNG$Poller : public ::java::lang::Object +{ + +public: // actually package-private + CSPRNG$Poller(::gnu::javax::crypto::prng::CSPRNG *, ::java::util::List *, ::java::util::List *, ::java::util::List *, ::java::util::List *, ::gnu::javax::crypto::prng::CSPRNG *); +public: + void run(); + void stopUpdating(); +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) files; + ::java::util::List * urls; + ::java::util::List * progs; + ::java::util::List * other; + ::gnu::javax::crypto::prng::CSPRNG * pool; + jboolean running; +public: // actually package-private + ::gnu::javax::crypto::prng::CSPRNG * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_CSPRNG$Poller__ diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h b/libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h new file mode 100644 index 00000000000..305d9cac818 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_CSPRNG$Spinner__ +#define __gnu_javax_crypto_prng_CSPRNG$Spinner__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace prng + { + class CSPRNG$Spinner; + } + } + } + } +} + +class gnu::javax::crypto::prng::CSPRNG$Spinner : public ::java::lang::Object +{ + + CSPRNG$Spinner(); +public: + virtual void run(); +public: // actually package-private + CSPRNG$Spinner(::gnu::javax::crypto::prng::CSPRNG$Spinner *); +public: // actually protected + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) counter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_CSPRNG$Spinner__ diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG.h b/libjava/gnu/javax/crypto/prng/CSPRNG.h new file mode 100644 index 00000000000..4773413e6f1 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/CSPRNG.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_CSPRNG__ +#define __gnu_javax_crypto_prng_CSPRNG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace prng + { + class CSPRNG; + class CSPRNG$Poller; + class CSPRNG$Spinner; + } + } + } + } +} + +class gnu::javax::crypto::prng::CSPRNG : public ::gnu::java::security::prng::BasePRNG +{ + +public: + CSPRNG(); + static ::gnu::java::security::prng::IRandom * getSystemInstance(); +private: + static ::java::lang::String * getProperty(::java::lang::String *); + static ::java::util::List * parseString(::java::lang::String *); + static ::java::util::List * parseURL(::java::lang::String *); +public: + virtual ::java::lang::Object * clone(); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); + virtual void addRandomByte(jbyte); +public: // actually package-private + virtual void addQuality(jdouble); + virtual jdouble getQuality(); +private: + void mixRandomPool(JArray< jbyte > *); + void mixRandomPool(); + void generateX917(JArray< jbyte > *); + void fastPoll(); + void slowPoll(); +public: // actually protected + virtual void finalize(); +private: + static ::java::util::logging::Logger * log; +public: + static ::java::lang::String * FILE_SOURCES; + static ::java::lang::String * URL_SOURCES; + static ::java::lang::String * PROGRAM_SOURCES; + static ::java::lang::String * OTHER_SOURCES; + static ::java::lang::String * BLOCKING; +private: + static ::java::lang::String * FILES; + static ::java::lang::String * URLS; + static ::java::lang::String * PROGS; + static ::java::lang::String * OTHER; + static ::java::lang::String * BLOCK; + static const jint POOL_SIZE = 256; + static const jint ALLOC_SIZE = 260; + static const jint OUTPUT_SIZE = 128; + static const jint X917_POOL_SIZE = 16; + static ::java::lang::String * HASH_FUNCTION; + static ::java::lang::String * CIPHER; + static const jint MIX_COUNT = 10; + static const jint X917_LIFETIME = 8192; + static const jint SPINNER_COUNT = 8; + static JArray< ::gnu::javax::crypto::prng::CSPRNG$Spinner * > * SPINNERS; + static JArray< ::java::lang::Thread * > * SPINNER_THREADS; + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) hash; + ::gnu::javax::crypto::cipher::IBlockCipher * cipher; + jint mixCount; + JArray< jbyte > * pool; + jdouble quality; + jint index; + JArray< jbyte > * x917pool; + jint x917count; + jboolean x917init; + ::java::util::List * files; + ::java::util::List * urls; + ::java::util::List * progs; + ::java::util::List * other; + jboolean blocking; + ::gnu::javax::crypto::prng::CSPRNG$Poller * poller; + ::java::lang::Thread * pollerThread; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_CSPRNG__ diff --git a/libjava/gnu/javax/crypto/prng/Fortuna$Generator.h b/libjava/gnu/javax/crypto/prng/Fortuna$Generator.h new file mode 100644 index 00000000000..1507af34f88 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/Fortuna$Generator.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_Fortuna$Generator__ +#define __gnu_javax_crypto_prng_Fortuna$Generator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace prng + { + class Fortuna$Generator; + } + } + } + } +} + +class gnu::javax::crypto::prng::Fortuna$Generator : public ::gnu::java::security::prng::BasePRNG +{ + +public: + Fortuna$Generator(::gnu::javax::crypto::cipher::IBlockCipher *, ::gnu::java::security::hash::IMessageDigest *); + virtual jbyte nextByte(); + virtual void nextBytes(JArray< jbyte > *, jint, jint); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); + virtual void fillBlock(); + virtual void setup(::java::util::Map *); +private: + void resetKey(); + void incrementCounter(); + static const jint LIMIT = 1048576; + ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) cipher; + ::gnu::java::security::hash::IMessageDigest * hash; + JArray< jbyte > * counter; + JArray< jbyte > * key; + jboolean seeded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_Fortuna$Generator__ diff --git a/libjava/gnu/javax/crypto/prng/Fortuna.h b/libjava/gnu/javax/crypto/prng/Fortuna.h new file mode 100644 index 00000000000..aab98c709af --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/Fortuna.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_Fortuna__ +#define __gnu_javax_crypto_prng_Fortuna__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace prng + { + class RandomEvent; + } + } + } + namespace javax + { + namespace crypto + { + namespace prng + { + class Fortuna; + class Fortuna$Generator; + } + } + } + } +} + +class gnu::javax::crypto::prng::Fortuna : public ::gnu::java::security::prng::BasePRNG +{ + +public: + Fortuna(); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); + virtual void addRandomEvent(::gnu::java::security::prng::RandomEvent *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 16435934LL; + static const jint SEED_FILE_SIZE = 64; + static const jint NUM_POOLS = 32; + static const jint MIN_POOL_SIZE = 64; + ::gnu::javax::crypto::prng::Fortuna$Generator * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) generator; + JArray< ::gnu::java::security::hash::IMessageDigest * > * pools; + jlong lastReseed; + jint pool; + jint pool0Count; + jint reseedCount; +public: + static ::java::lang::String * SEED; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_Fortuna__ diff --git a/libjava/gnu/javax/crypto/prng/ICMGenerator.h b/libjava/gnu/javax/crypto/prng/ICMGenerator.h new file mode 100644 index 00000000000..e69f6c0909e --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/ICMGenerator.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_ICMGenerator__ +#define __gnu_javax_crypto_prng_ICMGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace prng + { + class ICMGenerator; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::prng::ICMGenerator : public ::gnu::java::security::prng::BasePRNG +{ + +public: + ICMGenerator(); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); + static ::java::lang::String * CIPHER; + static ::java::lang::String * BLOCK_INDEX_LENGTH; + static ::java::lang::String * SEGMENT_INDEX_LENGTH; + static ::java::lang::String * OFFSET; + static ::java::lang::String * SEGMENT_INDEX; +private: + static ::java::math::BigInteger * TWO_FIFTY_SIX; + ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) cipher; + jint blockNdxLength; + jint segmentNdxLength; + ::java::math::BigInteger * blockNdx; + ::java::math::BigInteger * segmentNdx; + ::java::math::BigInteger * C0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_ICMGenerator__ diff --git a/libjava/gnu/javax/crypto/prng/IPBE.h b/libjava/gnu/javax/crypto/prng/IPBE.h new file mode 100644 index 00000000000..4fae1c4b1ef --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/IPBE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_IPBE__ +#define __gnu_javax_crypto_prng_IPBE__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace prng + { + class IPBE; + } + } + } + } +} + +class gnu::javax::crypto::prng::IPBE : public ::java::lang::Object +{ + +public: + static ::java::lang::String * ITERATION_COUNT; + static ::java::lang::String * PASSWORD; + static ::java::lang::String * PASSWORD_ENCODING; + static ::java::lang::String * SALT; + static ::java::lang::String * DEFAULT_PASSWORD_ENCODING; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_prng_IPBE__ diff --git a/libjava/gnu/javax/crypto/prng/PBKDF2.h b/libjava/gnu/javax/crypto/prng/PBKDF2.h new file mode 100644 index 00000000000..209d69523df --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/PBKDF2.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_PBKDF2__ +#define __gnu_javax_crypto_prng_PBKDF2__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + } + namespace prng + { + class PBKDF2; + } + } + } + } +} + +class gnu::javax::crypto::prng::PBKDF2 : public ::gnu::java::security::prng::BasePRNG +{ + +public: + PBKDF2(::gnu::javax::crypto::mac::IMac *); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) in; + jint iterationCount; + JArray< jbyte > * salt; + ::gnu::javax::crypto::mac::IMac * mac; + jlong count; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_PBKDF2__ diff --git a/libjava/gnu/javax/crypto/prng/PRNGFactory.h b/libjava/gnu/javax/crypto/prng/PRNGFactory.h new file mode 100644 index 00000000000..76d9e262372 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/PRNGFactory.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_PRNGFactory__ +#define __gnu_javax_crypto_prng_PRNGFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace prng + { + class PRNGFactory; + } + } + } + } +} + +class gnu::javax::crypto::prng::PRNGFactory : public ::java::lang::Object +{ + + PRNGFactory(); +public: + static ::gnu::java::security::prng::IRandom * getInstance(::java::lang::String *); + static ::java::util::Set * getNames(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_PRNGFactory__ diff --git a/libjava/gnu/javax/crypto/prng/UMacGenerator.h b/libjava/gnu/javax/crypto/prng/UMacGenerator.h new file mode 100644 index 00000000000..3da98cdf862 --- /dev/null +++ b/libjava/gnu/javax/crypto/prng/UMacGenerator.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_prng_UMacGenerator__ +#define __gnu_javax_crypto_prng_UMacGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace cipher + { + class IBlockCipher; + } + namespace prng + { + class UMacGenerator; + } + } + } + } +} + +class gnu::javax::crypto::prng::UMacGenerator : public ::gnu::java::security::prng::BasePRNG +{ + +public: + UMacGenerator(); + virtual void setup(::java::util::Map *); + virtual void fillBlock(); + static ::java::lang::String * INDEX; + static ::java::lang::String * CIPHER; +private: + ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) cipher; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_prng_UMacGenerator__ diff --git a/libjava/gnu/javax/crypto/sasl/AuthInfo.h b/libjava/gnu/javax/crypto/sasl/AuthInfo.h new file mode 100644 index 00000000000..39fa49b45a7 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/AuthInfo.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_AuthInfo__ +#define __gnu_javax_crypto_sasl_AuthInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class AuthInfo; + class IAuthInfoProvider; + } + } + } + } +} + +class gnu::javax::crypto::sasl::AuthInfo : public ::java::lang::Object +{ + + AuthInfo(); +public: + static ::gnu::javax::crypto::sasl::IAuthInfoProvider * getProvider(::java::lang::String *); +private: + static ::java::util::ArrayList * factories; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_AuthInfo__ diff --git a/libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h b/libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h new file mode 100644 index 00000000000..5431e6178f2 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_AuthInfoProviderFactory__ +#define __gnu_javax_crypto_sasl_AuthInfoProviderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class AuthInfoProviderFactory; + class IAuthInfoProvider; + } + } + } + } +} + +class gnu::javax::crypto::sasl::AuthInfoProviderFactory : public ::java::lang::Object +{ + +public: + AuthInfoProviderFactory(); + virtual ::gnu::javax::crypto::sasl::IAuthInfoProvider * getInstance(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_AuthInfoProviderFactory__ diff --git a/libjava/gnu/javax/crypto/sasl/ClientFactory.h b/libjava/gnu/javax/crypto/sasl/ClientFactory.h new file mode 100644 index 00000000000..a74916a9392 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/ClientFactory.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_ClientFactory__ +#define __gnu_javax_crypto_sasl_ClientFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class ClientFactory; + class ClientMechanism; + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + namespace sasl + { + class SaslClient; + } + } + } +} + +class gnu::javax::crypto::sasl::ClientFactory : public ::java::lang::Object +{ + +public: + ClientFactory(); + static ::java::util::Set * getNames(); +private: + static JArray< ::java::lang::String * > * getNamesInternal(::java::util::Map *); +public: + static ::gnu::javax::crypto::sasl::ClientMechanism * getInstance(::java::lang::String *); + virtual ::javax::security::sasl::SaslClient * createSaslClient(JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *); + virtual JArray< ::java::lang::String * > * getMechanismNames(::java::util::Map *); +private: + static jboolean hasPolicy(::java::lang::String *, ::java::util::Map *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_ClientFactory__ diff --git a/libjava/gnu/javax/crypto/sasl/ClientMechanism.h b/libjava/gnu/javax/crypto/sasl/ClientMechanism.h new file mode 100644 index 00000000000..b1bd010bec2 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/ClientMechanism.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_ClientMechanism__ +#define __gnu_javax_crypto_sasl_ClientMechanism__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class ClientMechanism; + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + } + } +} + +class gnu::javax::crypto::sasl::ClientMechanism : public ::java::lang::Object +{ + +public: // actually protected + ClientMechanism(::java::lang::String *); + virtual void initMechanism() = 0; + virtual void resetMechanism() = 0; +public: + virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *) = 0; + virtual jboolean hasInitialResponse() = 0; + virtual jboolean isComplete(); + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * getMechanismName(); + virtual ::java::lang::Object * getNegotiatedProperty(::java::lang::String *); + virtual void dispose(); + virtual ::java::lang::String * getAuthorizationID(); +public: // actually protected + virtual ::java::lang::String * getNegotiatedQOP(); + virtual ::java::lang::String * getNegotiatedStrength(); + virtual ::java::lang::String * getNegotiatedServerAuth(); + virtual ::java::lang::String * getNegotiatedMaxBuffer(); + virtual ::java::lang::String * getNegotiatedRawSendSize(); + virtual ::java::lang::String * getNegotiatedPolicyNoPlainText(); + virtual ::java::lang::String * getNegotiatedPolicyNoActive(); + virtual ::java::lang::String * getNegotiatedPolicyNoDictionary(); + virtual ::java::lang::String * getNegotiatedPolicyNoAnonymous(); + virtual ::java::lang::String * getNegotiatedPolicyForwardSecrecy(); + virtual ::java::lang::String * getNegotiatedPolicyPassCredentials(); + virtual ::java::lang::String * getReuse(); + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint); +public: + virtual void init(::java::util::Map *); + virtual void reset(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mechanism; + ::java::lang::String * authorizationID; + ::java::lang::String * protocol; + ::java::lang::String * serverName; + ::java::util::Map * properties; + ::javax::security::auth::callback::CallbackHandler * handler; + JArray< jbyte > * channelBinding; + jboolean complete; + jint state; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_ClientMechanism__ diff --git a/libjava/gnu/javax/crypto/sasl/ConfidentialityException.h b/libjava/gnu/javax/crypto/sasl/ConfidentialityException.h new file mode 100644 index 00000000000..6c001933123 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/ConfidentialityException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_ConfidentialityException__ +#define __gnu_javax_crypto_sasl_ConfidentialityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class ConfidentialityException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::ConfidentialityException : public ::javax::security::sasl::SaslException +{ + +public: + ConfidentialityException(); + ConfidentialityException(::java::lang::String *); + ConfidentialityException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_ConfidentialityException__ diff --git a/libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h new file mode 100644 index 00000000000..fbf8cee2988 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_IAuthInfoProvider__ +#define __gnu_javax_crypto_sasl_IAuthInfoProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class IAuthInfoProvider; + } + } + } + } +} + +class gnu::javax::crypto::sasl::IAuthInfoProvider : public ::java::lang::Object +{ + +public: + virtual void activate(::java::util::Map *) = 0; + virtual void passivate() = 0; + virtual jboolean contains(::java::lang::String *) = 0; + virtual ::java::util::Map * lookup(::java::util::Map *) = 0; + virtual void update(::java::util::Map *) = 0; + virtual ::java::util::Map * getConfiguration(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_sasl_IAuthInfoProvider__ diff --git a/libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h b/libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h new file mode 100644 index 00000000000..7fcb4915f5b --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_IAuthInfoProviderFactory__ +#define __gnu_javax_crypto_sasl_IAuthInfoProviderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class IAuthInfoProvider; + class IAuthInfoProviderFactory; + } + } + } + } +} + +class gnu::javax::crypto::sasl::IAuthInfoProviderFactory : public ::java::lang::Object +{ + +public: + virtual ::gnu::javax::crypto::sasl::IAuthInfoProvider * getInstance(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_sasl_IAuthInfoProviderFactory__ diff --git a/libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h b/libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h new file mode 100644 index 00000000000..0503f0d5022 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_IllegalMechanismStateException__ +#define __gnu_javax_crypto_sasl_IllegalMechanismStateException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class IllegalMechanismStateException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::IllegalMechanismStateException : public ::javax::security::sasl::AuthenticationException +{ + +public: + IllegalMechanismStateException(); + IllegalMechanismStateException(::java::lang::String *); + IllegalMechanismStateException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_IllegalMechanismStateException__ diff --git a/libjava/gnu/javax/crypto/sasl/InputBuffer.h b/libjava/gnu/javax/crypto/sasl/InputBuffer.h new file mode 100644 index 00000000000..d628f7a6503 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/InputBuffer.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_InputBuffer__ +#define __gnu_javax_crypto_sasl_InputBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class InputBuffer; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::sasl::InputBuffer : public ::java::lang::Object +{ + +public: + InputBuffer(JArray< jbyte > *); +private: + InputBuffer(); +public: + static ::gnu::javax::crypto::sasl::InputBuffer * getInstance(JArray< jbyte > *); + static ::gnu::javax::crypto::sasl::InputBuffer * getInstance(JArray< jbyte > *, jint, jint); + static jint twoBytesToLength(JArray< jbyte > *); + virtual jboolean hasMoreElements(); + virtual jlong getScalar(jint); + virtual JArray< jbyte > * getOS(); + virtual JArray< jbyte > * getEOS(); + virtual ::java::math::BigInteger * getMPI(); + virtual ::java::lang::String * getText(); +public: // actually protected + ::java::io::ByteArrayInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_InputBuffer__ diff --git a/libjava/gnu/javax/crypto/sasl/IntegrityException.h b/libjava/gnu/javax/crypto/sasl/IntegrityException.h new file mode 100644 index 00000000000..5c66cb4a3cb --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/IntegrityException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_IntegrityException__ +#define __gnu_javax_crypto_sasl_IntegrityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class IntegrityException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::IntegrityException : public ::javax::security::sasl::SaslException +{ + +public: + IntegrityException(); + IntegrityException(::java::lang::String *); + IntegrityException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_IntegrityException__ diff --git a/libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h b/libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h new file mode 100644 index 00000000000..0668d16cff7 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_NoSuchMechanismException__ +#define __gnu_javax_crypto_sasl_NoSuchMechanismException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class NoSuchMechanismException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::NoSuchMechanismException : public ::javax::security::sasl::SaslException +{ + +public: + NoSuchMechanismException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_NoSuchMechanismException__ diff --git a/libjava/gnu/javax/crypto/sasl/NoSuchUserException.h b/libjava/gnu/javax/crypto/sasl/NoSuchUserException.h new file mode 100644 index 00000000000..17bc8fc1d7b --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/NoSuchUserException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_NoSuchUserException__ +#define __gnu_javax_crypto_sasl_NoSuchUserException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class NoSuchUserException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::NoSuchUserException : public ::javax::security::sasl::AuthenticationException +{ + +public: + NoSuchUserException(); + NoSuchUserException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_NoSuchUserException__ diff --git a/libjava/gnu/javax/crypto/sasl/OutputBuffer.h b/libjava/gnu/javax/crypto/sasl/OutputBuffer.h new file mode 100644 index 00000000000..40cd18911cc --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/OutputBuffer.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_OutputBuffer__ +#define __gnu_javax_crypto_sasl_OutputBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class OutputBuffer; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::sasl::OutputBuffer : public ::java::lang::Object +{ + +public: + OutputBuffer(); + virtual void setScalar(jint, jint); + virtual void setOS(JArray< jbyte > *); + virtual void setEOS(JArray< jbyte > *); + virtual void setMPI(::java::math::BigInteger *); + virtual void setText(::java::lang::String *); + virtual JArray< jbyte > * encode(); + virtual JArray< jbyte > * wrap(); +private: + ::java::io::ByteArrayOutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_OutputBuffer__ diff --git a/libjava/gnu/javax/crypto/sasl/SaslEncodingException.h b/libjava/gnu/javax/crypto/sasl/SaslEncodingException.h new file mode 100644 index 00000000000..000b367996d --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/SaslEncodingException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_SaslEncodingException__ +#define __gnu_javax_crypto_sasl_SaslEncodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class SaslEncodingException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::SaslEncodingException : public ::javax::security::sasl::SaslException +{ + +public: + SaslEncodingException(); + SaslEncodingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_SaslEncodingException__ diff --git a/libjava/gnu/javax/crypto/sasl/SaslInputStream.h b/libjava/gnu/javax/crypto/sasl/SaslInputStream.h new file mode 100644 index 00000000000..6a5c653194e --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/SaslInputStream.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_SaslInputStream__ +#define __gnu_javax_crypto_sasl_SaslInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class SaslInputStream; + } + } + } + } + namespace javax + { + namespace security + { + namespace sasl + { + class SaslClient; + class SaslServer; + } + } + } +} + +class gnu::javax::crypto::sasl::SaslInputStream : public ::java::io::InputStream +{ + +public: + SaslInputStream(::javax::security::sasl::SaslClient *, ::java::io::InputStream *); + SaslInputStream(::javax::security::sasl::SaslServer *, ::java::io::InputStream *); + virtual jint available(); + virtual void close(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + JArray< jbyte > * readSaslBuffer(); + static ::java::util::logging::Logger * log; + ::javax::security::sasl::SaslClient * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) client; + ::javax::security::sasl::SaslServer * server; + jint maxRawSendSize; + ::java::io::InputStream * source; + JArray< jbyte > * internalBuf; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_SaslInputStream__ diff --git a/libjava/gnu/javax/crypto/sasl/SaslOutputStream.h b/libjava/gnu/javax/crypto/sasl/SaslOutputStream.h new file mode 100644 index 00000000000..8d55853bd80 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/SaslOutputStream.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_SaslOutputStream__ +#define __gnu_javax_crypto_sasl_SaslOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class SaslOutputStream; + } + } + } + } + namespace javax + { + namespace security + { + namespace sasl + { + class SaslClient; + class SaslServer; + } + } + } +} + +class gnu::javax::crypto::sasl::SaslOutputStream : public ::java::io::OutputStream +{ + +public: + SaslOutputStream(::javax::security::sasl::SaslClient *, ::java::io::OutputStream *); + SaslOutputStream(::javax::security::sasl::SaslServer *, ::java::io::OutputStream *); + virtual void close(); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); +private: + static ::java::util::logging::Logger * log; + ::javax::security::sasl::SaslClient * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) client; + ::javax::security::sasl::SaslServer * server; + jint maxRawSendSize; + ::java::io::OutputStream * dest; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_SaslOutputStream__ diff --git a/libjava/gnu/javax/crypto/sasl/SaslUtil.h b/libjava/gnu/javax/crypto/sasl/SaslUtil.h new file mode 100644 index 00000000000..3d043c05169 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/SaslUtil.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_SaslUtil__ +#define __gnu_javax_crypto_sasl_SaslUtil__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class SaslUtil; + } + } + } + } + namespace java + { + namespace security + { + class MessageDigest; + } + } +} + +class gnu::javax::crypto::sasl::SaslUtil : public ::java::lang::Object +{ + + SaslUtil(); +public: + static jboolean validEmailAddress(::java::lang::String *); + static ::java::lang::String * dump(::java::security::MessageDigest *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_SaslUtil__ diff --git a/libjava/gnu/javax/crypto/sasl/ServerFactory.h b/libjava/gnu/javax/crypto/sasl/ServerFactory.h new file mode 100644 index 00000000000..00ee645088b --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/ServerFactory.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_ServerFactory__ +#define __gnu_javax_crypto_sasl_ServerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class ServerFactory; + class ServerMechanism; + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + namespace sasl + { + class SaslServer; + } + } + } +} + +class gnu::javax::crypto::sasl::ServerFactory : public ::java::lang::Object +{ + +public: + ServerFactory(); + static ::java::util::Set * getNames(); +private: + static JArray< ::java::lang::String * > * getNamesInternal(::java::util::Map *); +public: + static ::gnu::javax::crypto::sasl::ServerMechanism * getInstance(::java::lang::String *); + virtual ::javax::security::sasl::SaslServer * createSaslServer(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *); + virtual JArray< ::java::lang::String * > * getMechanismNames(::java::util::Map *); +private: + static jboolean hasPolicy(::java::lang::String *, ::java::util::Map *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_ServerFactory__ diff --git a/libjava/gnu/javax/crypto/sasl/ServerMechanism.h b/libjava/gnu/javax/crypto/sasl/ServerMechanism.h new file mode 100644 index 00000000000..4b7a196d23d --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/ServerMechanism.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_ServerMechanism__ +#define __gnu_javax_crypto_sasl_ServerMechanism__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class IAuthInfoProvider; + class ServerMechanism; + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + } + } +} + +class gnu::javax::crypto::sasl::ServerMechanism : public ::java::lang::Object +{ + +public: // actually protected + ServerMechanism(::java::lang::String *); + virtual void initMechanism() = 0; + virtual void resetMechanism() = 0; +public: + virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *) = 0; + virtual jboolean isComplete(); + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * getMechanismName(); + virtual ::java::lang::String * getAuthorizationID(); + virtual ::java::lang::Object * getNegotiatedProperty(::java::lang::String *); + virtual void dispose(); +public: // actually protected + virtual ::java::lang::String * getNegotiatedQOP(); + virtual ::java::lang::String * getNegotiatedStrength(); + virtual ::java::lang::String * getNegotiatedServerAuth(); + virtual ::java::lang::String * getNegotiatedMaxBuffer(); + virtual ::java::lang::String * getNegotiatedPolicyNoPlainText(); + virtual ::java::lang::String * getNegotiatedPolicyNoActive(); + virtual ::java::lang::String * getNegotiatedPolicyNoDictionary(); + virtual ::java::lang::String * getNegotiatedPolicyNoAnonymous(); + virtual ::java::lang::String * getNegotiatedPolicyForwardSecrecy(); + virtual ::java::lang::String * getNegotiatedPolicyPassCredentials(); + virtual ::java::lang::String * getNegotiatedRawSendSize(); + virtual ::java::lang::String * getReuse(); + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint); +public: + virtual void init(::java::util::Map *); + virtual void reset(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mechanism; + ::java::lang::String * protocol; + ::java::lang::String * serverName; + ::java::util::Map * properties; + ::javax::security::auth::callback::CallbackHandler * handler; + jboolean complete; + ::java::lang::String * authorizationID; + JArray< jbyte > * channelBinding; + jint state; + ::gnu::javax::crypto::sasl::IAuthInfoProvider * authenticator; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_ServerMechanism__ diff --git a/libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h b/libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h new file mode 100644 index 00000000000..89622a06890 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_UserAlreadyExistsException__ +#define __gnu_javax_crypto_sasl_UserAlreadyExistsException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + class UserAlreadyExistsException; + } + } + } + } +} + +class gnu::javax::crypto::sasl::UserAlreadyExistsException : public ::javax::security::sasl::SaslException +{ + +public: + UserAlreadyExistsException(); + UserAlreadyExistsException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_UserAlreadyExistsException__ diff --git a/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h new file mode 100644 index 00000000000..87aaded6f03 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousClient__ +#define __gnu_javax_crypto_sasl_anonymous_AnonymousClient__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace anonymous + { + class AnonymousClient; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::anonymous::AnonymousClient : public ::gnu::javax::crypto::sasl::ClientMechanism +{ + +public: + AnonymousClient(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual jboolean hasInitialResponse(); + virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *); +private: + JArray< jbyte > * response(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousClient__ diff --git a/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h new file mode 100644 index 00000000000..3c3b1834a2b --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousServer__ +#define __gnu_javax_crypto_sasl_anonymous_AnonymousServer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace anonymous + { + class AnonymousServer; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::anonymous::AnonymousServer : public ::gnu::javax::crypto::sasl::ServerMechanism +{ + +public: + AnonymousServer(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousServer__ diff --git a/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h new file mode 100644 index 00000000000..45b0873c9e9 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__ +#define __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace anonymous + { + class AnonymousUtil; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::anonymous::AnonymousUtil : public ::java::lang::Object +{ + + AnonymousUtil(); +public: // actually package-private + static jboolean isValidTraceInformation(::java::lang::String *); + static jboolean isValidToken(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__ diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h new file mode 100644 index 00000000000..3a5ae195c0b --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5AuthInfoProvider__ +#define __gnu_javax_crypto_sasl_crammd5_CramMD5AuthInfoProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace crammd5 + { + class CramMD5AuthInfoProvider; + class PasswordFile; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::crammd5::CramMD5AuthInfoProvider : public ::java::lang::Object +{ + +public: + CramMD5AuthInfoProvider(); + virtual void activate(::java::util::Map *); + virtual void passivate(); + virtual jboolean contains(::java::lang::String *); + virtual ::java::util::Map * lookup(::java::util::Map *); + virtual void update(::java::util::Map *); + virtual ::java::util::Map * getConfiguration(::java::lang::String *); +private: + ::gnu::javax::crypto::sasl::crammd5::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5AuthInfoProvider__ diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h new file mode 100644 index 00000000000..b524a65a5ad --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Client__ +#define __gnu_javax_crypto_sasl_crammd5_CramMD5Client__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace crammd5 + { + class CramMD5Client; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::crammd5::CramMD5Client : public ::gnu::javax::crypto::sasl::ClientMechanism +{ + +public: + CramMD5Client(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual jboolean hasInitialResponse(); + virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *); +public: // actually protected + virtual ::java::lang::String * getNegotiatedQOP(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Client__ diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h new file mode 100644 index 00000000000..2858e0521b4 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__ +#define __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace crammd5 + { + class CramMD5Registry; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::crammd5::CramMD5Registry : public ::java::lang::Object +{ + +public: + static ::java::lang::String * PASSWORD_FILE; + static ::java::lang::String * DEFAULT_PASSWORD_FILE; + static ::java::lang::String * UID_FIELD; + static ::java::lang::String * GID_FIELD; + static ::java::lang::String * GECOS_FIELD; + static ::java::lang::String * DIR_FIELD; + static ::java::lang::String * SHELL_FIELD; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__ diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h new file mode 100644 index 00000000000..b6712fd8951 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Server__ +#define __gnu_javax_crypto_sasl_crammd5_CramMD5Server__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace crammd5 + { + class CramMD5Server; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::crammd5::CramMD5Server : public ::gnu::javax::crypto::sasl::ServerMechanism +{ + +public: + CramMD5Server(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *); + virtual jboolean isComplete(); +public: // actually protected + virtual ::java::lang::String * getNegotiatedQOP(); +private: + JArray< jchar > * lookupPassword(::java::lang::String *); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ServerMechanism)))) msgID; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Server__ diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h new file mode 100644 index 00000000000..4e338719543 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Util__ +#define __gnu_javax_crypto_sasl_crammd5_CramMD5Util__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace crammd5 + { + class CramMD5Util; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::crammd5::CramMD5Util : public ::java::lang::Object +{ + + CramMD5Util(); +public: // actually package-private + static JArray< jbyte > * createMsgID(); + static JArray< jbyte > * createHMac(JArray< jchar > *, JArray< jbyte > *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Util__ diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h new file mode 100644 index 00000000000..cb97b2fb9d0 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_crammd5_PasswordFile__ +#define __gnu_javax_crypto_sasl_crammd5_PasswordFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace crammd5 + { + class PasswordFile; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::crammd5::PasswordFile : public ::java::lang::Object +{ + +public: + PasswordFile(); + PasswordFile(::java::io::File *); + PasswordFile(::java::lang::String *); + virtual void add(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *); + virtual void changePasswd(::java::lang::String *, ::java::lang::String *); + virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *); + virtual jboolean contains(::java::lang::String *); +private: + void update(); + void checkCurrent(); + void readPasswd(::java::io::InputStream *); + void savePasswd(); + static ::java::lang::String * DEFAULT_FILE; + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries; + ::java::io::File * passwdFile; + jlong lastmod; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_crammd5_PasswordFile__ diff --git a/libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h new file mode 100644 index 00000000000..2269e4870f1 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_plain_PasswordFile__ +#define __gnu_javax_crypto_sasl_plain_PasswordFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace plain + { + class PasswordFile; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::plain::PasswordFile : public ::java::lang::Object +{ + +public: + PasswordFile(); + PasswordFile(::java::io::File *); + PasswordFile(::java::lang::String *); + virtual void add(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *); + virtual void changePasswd(::java::lang::String *, ::java::lang::String *); + virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *); + virtual jboolean contains(::java::lang::String *); +private: + void update(); + void checkCurrent(); + void readPasswd(::java::io::InputStream *); + void savePasswd(); + static ::java::lang::String * DEFAULT_FILE; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries; + ::java::io::File * passwdFile; + jlong lastmod; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_plain_PasswordFile__ diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h new file mode 100644 index 00000000000..179026d4975 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_plain_PlainAuthInfoProvider__ +#define __gnu_javax_crypto_sasl_plain_PlainAuthInfoProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace plain + { + class PasswordFile; + class PlainAuthInfoProvider; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::plain::PlainAuthInfoProvider : public ::java::lang::Object +{ + +public: + PlainAuthInfoProvider(); + virtual void activate(::java::util::Map *); + virtual void passivate(); + virtual jboolean contains(::java::lang::String *); + virtual ::java::util::Map * lookup(::java::util::Map *); + virtual void update(::java::util::Map *); + virtual ::java::util::Map * getConfiguration(::java::lang::String *); +private: + ::gnu::javax::crypto::sasl::plain::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_plain_PlainAuthInfoProvider__ diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainClient.h b/libjava/gnu/javax/crypto/sasl/plain/PlainClient.h new file mode 100644 index 00000000000..0c3e6dd00bc --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/plain/PlainClient.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_plain_PlainClient__ +#define __gnu_javax_crypto_sasl_plain_PlainClient__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace plain + { + class PlainClient; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::plain::PlainClient : public ::gnu::javax::crypto::sasl::ClientMechanism +{ + +public: + PlainClient(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual jboolean hasInitialResponse(); + virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *); +public: // actually protected + virtual ::java::lang::String * getNegotiatedQOP(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_plain_PlainClient__ diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h b/libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h new file mode 100644 index 00000000000..d141b1e717a --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_plain_PlainRegistry__ +#define __gnu_javax_crypto_sasl_plain_PlainRegistry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace plain + { + class PlainRegistry; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::plain::PlainRegistry : public ::java::lang::Object +{ + +public: + static ::java::lang::String * PASSWORD_FILE; + static ::java::lang::String * DEFAULT_PASSWORD_FILE; + static ::java::lang::String * UID_FIELD; + static ::java::lang::String * GID_FIELD; + static ::java::lang::String * GECOS_FIELD; + static ::java::lang::String * DIR_FIELD; + static ::java::lang::String * SHELL_FIELD; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_sasl_plain_PlainRegistry__ diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainServer.h b/libjava/gnu/javax/crypto/sasl/plain/PlainServer.h new file mode 100644 index 00000000000..a9214a2eb20 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/plain/PlainServer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_plain_PlainServer__ +#define __gnu_javax_crypto_sasl_plain_PlainServer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace plain + { + class PlainServer; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::plain::PlainServer : public ::gnu::javax::crypto::sasl::ServerMechanism +{ + +public: + PlainServer(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *); +public: // actually protected + virtual ::java::lang::String * getNegotiatedQOP(); +private: + JArray< jchar > * lookupPassword(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_plain_PlainServer__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/CALG.h b/libjava/gnu/javax/crypto/sasl/srp/CALG.h new file mode 100644 index 00000000000..0b625387f62 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/CALG.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_CALG__ +#define __gnu_javax_crypto_sasl_srp_CALG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace assembly + { + class Assembly; + class Direction; + } + namespace sasl + { + namespace srp + { + class CALG; + class KDF; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::CALG : public ::java::lang::Object +{ + + CALG(jint, jint, ::java::lang::Object *, ::gnu::javax::crypto::assembly::Assembly *); +public: // actually package-private + static ::gnu::javax::crypto::sasl::srp::CALG * getInstance(::java::lang::String *); +public: + void init(::gnu::javax::crypto::sasl::srp::KDF *, JArray< jbyte > *, ::gnu::javax::crypto::assembly::Direction *); + JArray< jbyte > * doFinal(JArray< jbyte > *); + JArray< jbyte > * doFinal(JArray< jbyte > *, jint, jint); +private: + ::gnu::javax::crypto::assembly::Assembly * __attribute__((aligned(__alignof__( ::java::lang::Object)))) assembly; + ::java::lang::Object * modeNdx; + jint blockSize; + jint keySize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_CALG__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h b/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h new file mode 100644 index 00000000000..3a5e0e60d5c --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_ClientStore__ +#define __gnu_javax_crypto_sasl_srp_ClientStore__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class ClientStore; + class SecurityContext; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::ClientStore : public ::java::lang::Object +{ + + ClientStore(); +public: // actually package-private + static ::gnu::javax::crypto::sasl::srp::ClientStore * instance(); + virtual jboolean isAlive(::java::lang::String *); + virtual void cacheSession(::java::lang::String *, jint, ::gnu::javax::crypto::sasl::srp::SecurityContext *); + virtual void invalidateSession(::java::lang::String *); + virtual ::gnu::javax::crypto::sasl::srp::SecurityContext * restoreSession(::java::lang::String *); +private: + static ::gnu::javax::crypto::sasl::srp::ClientStore * singleton; + static ::java::util::HashMap * uid2ssc; + static ::java::util::HashMap * uid2ttl; + static ::java::lang::Object * lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_ClientStore__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/IALG.h b/libjava/gnu/javax/crypto/sasl/srp/IALG.h new file mode 100644 index 00000000000..faaa512e317 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/IALG.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_IALG__ +#define __gnu_javax_crypto_sasl_srp_IALG__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + } + namespace sasl + { + namespace srp + { + class IALG; + class KDF; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::IALG : public ::java::lang::Object +{ + + IALG(::gnu::javax::crypto::mac::IMac *); +public: // actually package-private + static ::gnu::javax::crypto::sasl::srp::IALG * getInstance(::java::lang::String *); +public: + ::java::lang::Object * clone(); + void init(::gnu::javax::crypto::sasl::srp::KDF *); + void update(JArray< jbyte > *); + void update(JArray< jbyte > *, jint, jint); + JArray< jbyte > * doFinal(); + jint length(); +private: + ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hmac; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_IALG__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/KDF.h b/libjava/gnu/javax/crypto/sasl/srp/KDF.h new file mode 100644 index 00000000000..3862fa0c172 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/KDF.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_KDF__ +#define __gnu_javax_crypto_sasl_srp_KDF__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace prng + { + class UMacGenerator; + } + namespace sasl + { + namespace srp + { + class KDF; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::KDF : public ::java::lang::Object +{ + + KDF(JArray< jbyte > *, jint); +public: // actually package-private + static ::gnu::javax::crypto::sasl::srp::KDF * getInstance(JArray< jbyte > *); +private: + static jint nextByte(); +public: + virtual JArray< jbyte > * derive(jint); +private: + static const jint AES_BLOCK_SIZE = 16; + static const jint AES_KEY_SIZE = 16; + static JArray< jbyte > * buffer; + static ::gnu::java::security::util::PRNG * prng; + ::gnu::javax::crypto::prng::UMacGenerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) umac; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_KDF__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h new file mode 100644 index 00000000000..46cf7838945 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_PasswordFile__ +#define __gnu_javax_crypto_sasl_srp_PasswordFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class PasswordFile; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::sasl::srp::PasswordFile : public ::java::lang::Object +{ + +public: + PasswordFile(); + PasswordFile(::java::io::File *); + PasswordFile(::java::lang::String *); + PasswordFile(::java::lang::String *, ::java::lang::String *); + PasswordFile(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + static ::java::lang::String * nameToID(::java::lang::String *); +public: + virtual jboolean containsConfig(::java::lang::String *); + virtual JArray< ::java::lang::String * > * lookupConfig(::java::lang::String *); + virtual jboolean contains(::java::lang::String *); + virtual void add(::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, ::java::lang::String *); + virtual void changePasswd(::java::lang::String *, ::java::lang::String *); + virtual void savePasswd(); + virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *, ::java::lang::String *); +private: + void readOrCreateConf(); + void readConf(::java::io::InputStream *); + void writeConf(::java::io::PrintWriter *); + ::java::util::HashMap * newVerifiers(::java::lang::String *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *); + void update(); + void checkCurrent(); + void readPasswd(::java::io::InputStream *); + void readPasswd2(::java::io::InputStream *); + void writePasswd(::java::io::PrintWriter *, ::java::io::PrintWriter *); + static ::java::lang::String * USER_FIELD; + static ::java::lang::String * VERIFIERS_FIELD; + static ::java::lang::String * SALT_FIELD; + static ::java::lang::String * CONFIG_FIELD; + static ::java::lang::String * DEFAULT_FILE; + static ::java::util::HashMap * srps; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) confName; + ::java::lang::String * pwName; + ::java::lang::String * pw2Name; + ::java::io::File * configFile; + ::java::io::File * passwdFile; + ::java::io::File * passwd2File; + jlong lastmodPasswdFile; + jlong lastmodPasswd2File; + ::java::util::HashMap * entries; + ::java::util::HashMap * configurations; + static JArray< ::java::math::BigInteger * > * Nsrp; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_PasswordFile__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRP.h b/libjava/gnu/javax/crypto/sasl/srp/SRP.h new file mode 100644 index 00000000000..b092d8a96c6 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/SRP.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_SRP__ +#define __gnu_javax_crypto_sasl_srp_SRP__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class SRP; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::sasl::srp::SRP : public ::java::lang::Object +{ + + SRP(::gnu::java::security::hash::IMessageDigest *); +public: + static ::gnu::javax::crypto::sasl::srp::SRP * instance(::java::lang::String *); +private: + static JArray< jbyte > * xor$(JArray< jbyte > *, JArray< jbyte > *, jint); +public: + ::java::lang::String * getAlgorithm(); + ::gnu::java::security::hash::IMessageDigest * newDigest(); + JArray< jbyte > * digest(JArray< jbyte > *); + JArray< jbyte > * digest(::java::lang::String *); + JArray< jbyte > * xor$(JArray< jbyte > *, JArray< jbyte > *); + JArray< jbyte > * generateM1(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::lang::String *, JArray< jbyte > *, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, JArray< jbyte > *); + JArray< jbyte > * generateM2(::java::math::BigInteger *, JArray< jbyte > *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, jint, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); + JArray< jbyte > * generateKn(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); + JArray< jbyte > * computeX(JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *); + JArray< jbyte > * computeX(JArray< jbyte > *, ::java::lang::String *, JArray< jbyte > *); +private: + JArray< jbyte > * computeX(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); + static ::java::util::HashMap * algorithms; + static const jbyte COLON = 58; + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mda; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_SRP__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h new file mode 100644 index 00000000000..630c80efa82 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__ +#define __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class PasswordFile; + class SRPAuthInfoProvider; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider : public ::java::lang::Object +{ + +public: + SRPAuthInfoProvider(); + virtual void activate(::java::util::Map *); + virtual void passivate(); + virtual jboolean contains(::java::lang::String *); + virtual ::java::util::Map * lookup(::java::util::Map *); + virtual void update(::java::util::Map *); + virtual ::java::util::Map * getConfiguration(::java::lang::String *); +private: + ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h b/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h new file mode 100644 index 00000000000..ec13be653b6 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h @@ -0,0 +1,129 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_SRPClient__ +#define __gnu_javax_crypto_sasl_srp_SRPClient__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + class IKeyAgreementParty; + } + namespace sasl + { + namespace srp + { + class CALG; + class IALG; + class SRP; + class SRPClient; + } + } + } + namespace security + { + namespace auth + { + class Password; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::sasl::srp::SRPClient : public ::gnu::javax::crypto::sasl::ClientMechanism +{ + +public: + SRPClient(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual jboolean hasInitialResponse(); + virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *); +public: // actually protected + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * getNegotiatedQOP(); + virtual ::java::lang::String * getNegotiatedStrength(); + virtual ::java::lang::String * getNegotiatedRawSendSize(); + virtual ::java::lang::String * getReuse(); +private: + JArray< jbyte > * sendIdentities(); + JArray< jbyte > * sendPublicKey(JArray< jbyte > *); + JArray< jbyte > * receiveEvidence(JArray< jbyte > *); + void getUsernameAndPassword(); + ::java::lang::String * createO(::java::lang::String *); + void setupSecurityServices(jboolean); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); + static ::java::util::logging::Logger * log; + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ClientMechanism)))) uid; + ::java::lang::String * U; +public: // actually package-private + ::java::math::BigInteger * N; + ::java::math::BigInteger * g; + ::java::math::BigInteger * A; + ::java::math::BigInteger * B; +private: + ::gnu::javax::security::auth::Password * password; + JArray< jbyte > * s; + JArray< jbyte > * cIV; + JArray< jbyte > * sIV; + JArray< jbyte > * M1; + JArray< jbyte > * M2; + JArray< jbyte > * cn; + JArray< jbyte > * sn; + ::gnu::javax::crypto::sasl::srp::SRP * srp; + JArray< jbyte > * sid; + jint ttl; + JArray< jbyte > * sCB; + ::java::lang::String * L; + ::java::lang::String * o; + ::java::lang::String * chosenIntegrityAlgorithm; + ::java::lang::String * chosenConfidentialityAlgorithm; + jint rawSendSize; + JArray< jbyte > * K; + jboolean replayDetection; + jint inCounter; + jint outCounter; + ::gnu::javax::crypto::sasl::srp::IALG * inMac; + ::gnu::javax::crypto::sasl::srp::IALG * outMac; + ::gnu::javax::crypto::sasl::srp::CALG * inCipher; + ::gnu::javax::crypto::sasl::srp::CALG * outCipher; + ::gnu::javax::crypto::key::IKeyAgreementParty * clientHandler; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_SRPClient__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h b/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h new file mode 100644 index 00000000000..22cd5d9e42f --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_SRPRegistry__ +#define __gnu_javax_crypto_sasl_srp_SRPRegistry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class SRPRegistry; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::SRPRegistry : public ::java::lang::Object +{ + +public: + static ::java::lang::String * N_2048_BITS; + static ::java::lang::String * N_1536_BITS; + static ::java::lang::String * N_1280_BITS; + static ::java::lang::String * N_1024_BITS; + static ::java::lang::String * N_768_BITS; + static ::java::lang::String * N_640_BITS; + static ::java::lang::String * N_512_BITS; + static JArray< ::java::lang::String * > * SRP_ALGORITHMS; + static ::java::lang::String * SRP_DEFAULT_DIGEST_NAME; + static ::java::lang::String * SRP_DIGEST_NAME; + static ::java::lang::String * SHARED_MODULUS; + static ::java::lang::String * FIELD_GENERATOR; + static ::java::lang::String * AVAILABLE_OPTIONS; + static ::java::lang::String * CHOSEN_OPTIONS; + static ::java::lang::String * USER_NAME; + static ::java::lang::String * USER_ROLE; + static ::java::lang::String * USER_SALT; + static ::java::lang::String * PASSWORD_VERIFIER; + static ::java::lang::String * CLIENT_PUBLIC_KEY; + static ::java::lang::String * SERVER_PUBLIC_KEY; + static ::java::lang::String * CLIENT_EVIDENCE; + static ::java::lang::String * SERVER_EVIDENCE; + static ::java::lang::String * SRP_HASH; + static ::java::lang::String * SRP_MANDATORY; + static ::java::lang::String * SRP_REPLAY_DETECTION; + static ::java::lang::String * SRP_INTEGRITY_PROTECTION; + static ::java::lang::String * SRP_CONFIDENTIALITY; + static ::java::lang::String * PASSWORD_FILE; + static ::java::lang::String * PASSWORD_DB; + static ::java::lang::String * DEFAULT_PASSWORD_FILE; + static const jboolean DEFAULT_REPLAY_DETECTION = 1; + static const jboolean DEFAULT_INTEGRITY = 1; + static const jboolean DEFAULT_CONFIDENTIALITY = 0; + static ::java::lang::String * HMAC_SHA1; + static ::java::lang::String * HMAC_MD5; + static ::java::lang::String * HMAC_RIPEMD_160; + static JArray< ::java::lang::String * > * INTEGRITY_ALGORITHMS; + static ::java::lang::String * AES; + static ::java::lang::String * BLOWFISH; + static JArray< ::java::lang::String * > * CONFIDENTIALITY_ALGORITHMS; + static ::java::lang::String * OPTION_MANDATORY; + static ::java::lang::String * OPTION_SRP_DIGEST; + static ::java::lang::String * OPTION_REPLAY_DETECTION; + static ::java::lang::String * OPTION_INTEGRITY; + static ::java::lang::String * OPTION_CONFIDENTIALITY; + static ::java::lang::String * OPTION_MAX_BUFFER_SIZE; + static ::java::lang::String * MANDATORY_NONE; + static ::java::lang::String * DEFAULT_MANDATORY; + static ::java::lang::String * MD_NAME_FIELD; + static ::java::lang::String * USER_VERIFIER_FIELD; + static ::java::lang::String * SALT_FIELD; + static ::java::lang::String * CONFIG_NDX_FIELD; + static const jint MINIMUM_MODULUS_BITLENGTH = 512; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_crypto_sasl_srp_SRPRegistry__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h b/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h new file mode 100644 index 00000000000..b78a26bca83 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_SRPServer__ +#define __gnu_javax_crypto_sasl_srp_SRPServer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace util + { + class PRNG; + } + } + } + namespace javax + { + namespace crypto + { + namespace key + { + class IKeyAgreementParty; + } + namespace sasl + { + namespace srp + { + class CALG; + class IALG; + class SRP; + class SRPServer; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::crypto::sasl::srp::SRPServer : public ::gnu::javax::crypto::sasl::ServerMechanism +{ + +public: + SRPServer(); +public: // actually protected + virtual void initMechanism(); + virtual void resetMechanism(); +public: + virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *); +public: // actually protected + virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * getNegotiatedQOP(); + virtual ::java::lang::String * getNegotiatedStrength(); + virtual ::java::lang::String * getNegotiatedRawSendSize(); + virtual ::java::lang::String * getReuse(); +private: + JArray< jbyte > * sendProtocolElements(JArray< jbyte > *); + JArray< jbyte > * sendEvidence(JArray< jbyte > *); + ::java::lang::String * createL(); + void parseO(::java::lang::String *); + void setupSecurityServices(jboolean); + ::gnu::java::security::util::PRNG * getDefaultPRNG(); + static ::java::util::logging::Logger * log; + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ServerMechanism)))) U; + ::java::math::BigInteger * N; + ::java::math::BigInteger * g; + ::java::math::BigInteger * A; + ::java::math::BigInteger * B; + JArray< jbyte > * s; + JArray< jbyte > * cIV; + JArray< jbyte > * sIV; + JArray< jbyte > * cn; + JArray< jbyte > * sn; + ::gnu::javax::crypto::sasl::srp::SRP * srp; + JArray< jbyte > * sid; + jint ttl; + JArray< jbyte > * cCB; + ::java::lang::String * mandatory; + ::java::lang::String * L; + ::java::lang::String * o; + ::java::lang::String * chosenIntegrityAlgorithm; + ::java::lang::String * chosenConfidentialityAlgorithm; + jint rawSendSize; + JArray< jbyte > * K; + jboolean replayDetection; + jint inCounter; + jint outCounter; + ::gnu::javax::crypto::sasl::srp::IALG * inMac; + ::gnu::javax::crypto::sasl::srp::IALG * outMac; + ::gnu::javax::crypto::sasl::srp::CALG * inCipher; + ::gnu::javax::crypto::sasl::srp::CALG * outCipher; + ::gnu::javax::crypto::key::IKeyAgreementParty * serverHandler; + ::gnu::java::security::util::PRNG * prng; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_SRPServer__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h b/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h new file mode 100644 index 00000000000..b4b4a222e8c --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_SecurityContext__ +#define __gnu_javax_crypto_sasl_srp_SecurityContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class CALG; + class IALG; + class SecurityContext; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::SecurityContext : public ::java::lang::Object +{ + +public: // actually package-private + SecurityContext(::java::lang::String *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, jboolean, jint, jint, ::gnu::javax::crypto::sasl::srp::IALG *, ::gnu::javax::crypto::sasl::srp::IALG *, ::gnu::javax::crypto::sasl::srp::CALG *, ::gnu::javax::crypto::sasl::srp::CALG *); + virtual ::java::lang::String * getMdName(); + virtual JArray< jbyte > * getSID(); + virtual JArray< jbyte > * getK(); + virtual JArray< jbyte > * getClientIV(); + virtual JArray< jbyte > * getServerIV(); + virtual jboolean hasReplayDetection(); + virtual jint getInCounter(); + virtual jint getOutCounter(); + virtual ::gnu::javax::crypto::sasl::srp::IALG * getInMac(); + virtual ::gnu::javax::crypto::sasl::srp::IALG * getOutMac(); + virtual ::gnu::javax::crypto::sasl::srp::CALG * getInCipher(); + virtual ::gnu::javax::crypto::sasl::srp::CALG * getOutCipher(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mdName; + JArray< jbyte > * sid; + JArray< jbyte > * K; + JArray< jbyte > * cIV; + JArray< jbyte > * sIV; + jboolean replayDetection; + jint inCounter; + jint outCounter; + ::gnu::javax::crypto::sasl::srp::IALG * inMac; + ::gnu::javax::crypto::sasl::srp::IALG * outMac; + ::gnu::javax::crypto::sasl::srp::CALG * inCipher; + ::gnu::javax::crypto::sasl::srp::CALG * outCipher; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_SecurityContext__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h b/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h new file mode 100644 index 00000000000..f93429beed7 --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_ServerStore__ +#define __gnu_javax_crypto_sasl_srp_ServerStore__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class SecurityContext; + class ServerStore; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::ServerStore : public ::java::lang::Object +{ + + ServerStore(); +public: // actually package-private + static ::gnu::javax::crypto::sasl::srp::ServerStore * instance(); + static JArray< jbyte > * getNewSessionID(); + virtual jboolean isAlive(JArray< jbyte > *); + virtual void cacheSession(jint, ::gnu::javax::crypto::sasl::srp::SecurityContext *); + virtual ::gnu::javax::crypto::sasl::srp::SecurityContext * restoreSession(JArray< jbyte > *); + virtual void invalidateSession(JArray< jbyte > *); +private: + static ::gnu::javax::crypto::sasl::srp::ServerStore * singleton; + static ::java::util::HashMap * sid2ssc; + static ::java::util::HashMap * sid2ttl; + static ::java::lang::Object * lock; + static jint counter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_ServerStore__ diff --git a/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h b/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h new file mode 100644 index 00000000000..19203bcd06a --- /dev/null +++ b/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_crypto_sasl_srp_StoreEntry__ +#define __gnu_javax_crypto_sasl_srp_StoreEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class StoreEntry; + } + } + } + } + } +} + +class gnu::javax::crypto::sasl::srp::StoreEntry : public ::java::lang::Object +{ + +public: // actually package-private + StoreEntry(jint); + virtual jboolean isAlive(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) perenial; + jlong timeToDie; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_crypto_sasl_srp_StoreEntry__ diff --git a/libjava/gnu/javax/imageio/IIOInputStream.h b/libjava/gnu/javax/imageio/IIOInputStream.h new file mode 100644 index 00000000000..2f0cbbdd064 --- /dev/null +++ b/libjava/gnu/javax/imageio/IIOInputStream.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_IIOInputStream__ +#define __gnu_javax_imageio_IIOInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + class IIOInputStream; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::IIOInputStream : public ::java::io::InputStream +{ + +public: + IIOInputStream(::javax::imageio::stream::ImageInputStream *); + virtual jint available(); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +private: + ::javax::imageio::stream::ImageInputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) is; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_IIOInputStream__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPDecoder.h b/libjava/gnu/javax/imageio/bmp/BMPDecoder.h new file mode 100644 index 00000000000..34c486a438a --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPDecoder.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPDecoder__ +#define __gnu_javax_imageio_bmp_BMPDecoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPDecoder; + class BMPFileHeader; + class BMPInfoHeader; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class IndexColorModel; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::BMPDecoder : public ::java::lang::Object +{ + +public: + BMPDecoder(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + static ::gnu::javax::imageio::bmp::BMPDecoder * getDecoder(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *) = 0; +public: // actually protected + virtual JArray< jint > * readBitMasks(::javax::imageio::stream::ImageInputStream *); + virtual ::java::awt::image::IndexColorModel * readPalette(::javax::imageio::stream::ImageInputStream *); + virtual void skipToImage(::javax::imageio::stream::ImageInputStream *); + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPDecoder__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPEncoder.h b/libjava/gnu/javax/imageio/bmp/BMPEncoder.h new file mode 100644 index 00000000000..db60ff86552 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPEncoder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPEncoder__ +#define __gnu_javax_imageio_bmp_BMPEncoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPEncoder; + class BMPFileHeader; + class BMPInfoHeader; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::BMPEncoder : public ::java::lang::Object +{ + +public: + BMPEncoder(); + static ::gnu::javax::imageio::bmp::BMPEncoder * getEncoder(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPEncoder__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPException.h b/libjava/gnu/javax/imageio/bmp/BMPException.h new file mode 100644 index 00000000000..9a51c41ad63 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPException__ +#define __gnu_javax_imageio_bmp_BMPException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPException; + } + } + } + } +} + +class gnu::javax::imageio::bmp::BMPException : public ::javax::imageio::IIOException +{ + +public: + BMPException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPException__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPFileHeader.h b/libjava/gnu/javax/imageio/bmp/BMPFileHeader.h new file mode 100644 index 00000000000..1fe5d3f0eff --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPFileHeader.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPFileHeader__ +#define __gnu_javax_imageio_bmp_BMPFileHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + namespace stream + { + class ImageInputStream; + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::BMPFileHeader : public ::java::lang::Object +{ + +public: + BMPFileHeader(::javax::imageio::stream::ImageInputStream *); + BMPFileHeader(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::IIOImage *); + virtual void write(::javax::imageio::stream::ImageOutputStream *); + virtual void setSize(jlong); + virtual void setOffset(jlong); + virtual jlong getSize(); + virtual jlong getOffset(); +private: + static const jshort bfType = 16973; +public: // actually protected + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) bfSize; + jlong bfOffBits; +public: + static const jint SIZE = 14; +private: + static const jint BITMAPINFOHEADER_SIZE = 40; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPFileHeader__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageReader.h b/libjava/gnu/javax/imageio/bmp/BMPImageReader.h new file mode 100644 index 00000000000..972124e6706 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPImageReader.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPImageReader__ +#define __gnu_javax_imageio_bmp_BMPImageReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPDecoder; + class BMPFileHeader; + class BMPImageReader; + class BMPInfoHeader; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReadParam; + namespace metadata + { + class IIOMetadata; + } + namespace spi + { + class ImageReaderSpi; + } + } + } +} + +class gnu::javax::imageio::bmp::BMPImageReader : public ::javax::imageio::ImageReader +{ + +public: // actually protected + BMPImageReader(::javax::imageio::spi::ImageReaderSpi *); +private: + void validateIndex(jint); +public: + virtual void setInput(::java::lang::Object *); + virtual void setInput(::java::lang::Object *, jboolean, jboolean); + virtual void setInput(::java::lang::Object *, jboolean); +private: + void checkStream(); + void readHeaders(); +public: + virtual jint getWidth(jint); + virtual jint getHeight(jint); + virtual ::java::util::Iterator * getImageTypes(jint); + virtual jint getNumImages(jboolean); + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint); + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata(); + virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *); +private: + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + ::gnu::javax::imageio::bmp::BMPDecoder * decoder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPImageReader__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h b/libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h new file mode 100644 index 00000000000..f7ac3a4d656 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPImageReaderSpi__ +#define __gnu_javax_imageio_bmp_BMPImageReaderSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPImageReaderSpi; + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageReader; + } + } +} + +class gnu::javax::imageio::bmp::BMPImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi +{ + +public: + BMPImageReaderSpi(); + virtual ::java::lang::String * getDescription(::java::util::Locale *); + virtual jboolean canDecodeInput(::java::lang::Object *); + virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *); +public: // actually package-private + static ::java::lang::String * vendorName; + static ::java::lang::String * version; + static ::java::lang::String * readerClassName; + static JArray< ::java::lang::String * > * names; + static JArray< ::java::lang::String * > * suffixes; + static JArray< ::java::lang::String * > * MIMETypes; + static JArray< ::java::lang::String * > * writerSpiNames; + static const jboolean supportsStandardStreamMetadataFormat = 0; + static ::java::lang::String * nativeStreamMetadataFormatName; + static ::java::lang::String * nativeStreamMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames; + static const jboolean supportsStandardImageMetadataFormat = 0; + static ::java::lang::String * nativeImageMetadataFormatName; + static ::java::lang::String * nativeImageMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraImageMetadataFormatNames; + static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPImageReaderSpi__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageWriter.h b/libjava/gnu/javax/imageio/bmp/BMPImageWriter.h new file mode 100644 index 00000000000..1fb9795af7c --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPImageWriter.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPImageWriter__ +#define __gnu_javax_imageio_bmp_BMPImageWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPEncoder; + class BMPFileHeader; + class BMPImageWriter; + class BMPInfoHeader; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageTypeSpecifier; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace spi + { + class ImageWriterSpi; + } + } + } +} + +class gnu::javax::imageio::bmp::BMPImageWriter : public ::javax::imageio::ImageWriter +{ + +public: // actually protected + BMPImageWriter(::javax::imageio::spi::ImageWriterSpi *); +public: + virtual ::javax::imageio::metadata::IIOMetadata * convertImageMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *); + virtual ::javax::imageio::metadata::IIOMetadata * convertStreamMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageWriteParam *); + virtual ::javax::imageio::metadata::IIOMetadata * getDefaultImageMetadata(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *); + virtual ::javax::imageio::metadata::IIOMetadata * getDefaultStreamMetadata(::javax::imageio::ImageWriteParam *); + virtual void write(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +private: + void checkStream(); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPEncoder * __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriter)))) encoder; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + ::gnu::javax::imageio::bmp::BMPInfoHeader * infoHeader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPImageWriter__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h b/libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h new file mode 100644 index 00000000000..76ca4b07d11 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPImageWriterSpi__ +#define __gnu_javax_imageio_bmp_BMPImageWriterSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPImageWriter; + class BMPImageWriterSpi; + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + class ImageWriter; + } + } +} + +class gnu::javax::imageio::bmp::BMPImageWriterSpi : public ::javax::imageio::spi::ImageWriterSpi +{ + +public: + BMPImageWriterSpi(); + virtual jboolean canEncodeImage(::javax::imageio::ImageTypeSpecifier *); + virtual ::javax::imageio::ImageWriter * createWriterInstance(::java::lang::Object *); + virtual ::gnu::javax::imageio::bmp::BMPImageWriter * getWriterInstance(); + virtual ::java::lang::String * getDescription(::java::util::Locale *); +public: // actually package-private + static ::java::lang::String * vendorName; + static ::java::lang::String * version; + static ::java::lang::String * writerClassName; + static JArray< ::java::lang::String * > * names; + static JArray< ::java::lang::String * > * suffixes; + static JArray< ::java::lang::String * > * MIMETypes; + static JArray< ::java::lang::String * > * readerSpiNames; + static const jboolean supportsStandardStreamMetadataFormat = 0; + static ::java::lang::String * nativeStreamMetadataFormatName; + static ::java::lang::String * nativeStreamMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames; + static const jboolean supportsStandardImageMetadataFormat = 0; + static ::java::lang::String * nativeImageMetadataFormatName; + static ::java::lang::String * nativeImageMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraImageMetadataFormatNames; + static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames; +private: + ::gnu::javax::imageio::bmp::BMPImageWriter * __attribute__((aligned(__alignof__( ::javax::imageio::spi::ImageWriterSpi)))) writerInstance; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPImageWriterSpi__ diff --git a/libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h b/libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h new file mode 100644 index 00000000000..d47843f6056 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_BMPInfoHeader__ +#define __gnu_javax_imageio_bmp_BMPInfoHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPInfoHeader; + } + } + } + } + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace stream + { + class ImageInputStream; + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::BMPInfoHeader : public ::java::lang::Object +{ + +public: + BMPInfoHeader(::javax::imageio::stream::ImageInputStream *); + BMPInfoHeader(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +private: + JArray< jbyte > * intToWord(jint); + JArray< jbyte > * intToDWord(jint); +public: + virtual void setBitCount(jshort); + virtual jshort getBitCount(); + virtual void setCompression(jint); + virtual jint getNumberOfPaletteEntries(); + virtual jint getCompression(); + virtual ::java::awt::Dimension * getSize(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual void setSize(::java::awt::Dimension *); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) biSize; + jint biWidth; + jint biHeight; + jshort biPlanes; + jshort biBitCount; + jint biCompression; + jint biSizeImage; + jint biXPelsPerMeter; + jint biYPelsPerMeter; + jint biClrUsed; + jint biClrImportant; +public: + static const jint SIZE = 40; + static const jint BI_RGB = 0; + static const jint BI_RLE8 = 1; + static const jint BI_RLE4 = 2; + static const jint BI_BITFIELDS = 3; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_BMPInfoHeader__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeBF16.h b/libjava/gnu/javax/imageio/bmp/DecodeBF16.h new file mode 100644 index 00000000000..3051f0bcc7c --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeBF16.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeBF16__ +#define __gnu_javax_imageio_bmp_DecodeBF16__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeBF16; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeBF16 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeBF16(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *, jboolean); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPDecoder)))) bitmasks; + jboolean useDefaultMasks; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeBF16__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeBF32.h b/libjava/gnu/javax/imageio/bmp/DecodeBF32.h new file mode 100644 index 00000000000..ac4f03507b6 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeBF32.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeBF32__ +#define __gnu_javax_imageio_bmp_DecodeBF32__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeBF32; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeBF32 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeBF32(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *, jboolean); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPDecoder)))) bitmasks; + jboolean useDefaultMasks; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeBF32__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB1.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB1.h new file mode 100644 index 00000000000..ec4acf80fda --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB1.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeRGB1__ +#define __gnu_javax_imageio_bmp_DecodeRGB1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeRGB1; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeRGB1 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeRGB1(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeRGB1__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB24.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB24.h new file mode 100644 index 00000000000..da0e4dff179 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB24.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeRGB24__ +#define __gnu_javax_imageio_bmp_DecodeRGB24__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeRGB24; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeRGB24 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeRGB24(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeRGB24__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB4.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB4.h new file mode 100644 index 00000000000..d0b7e08ca9b --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB4.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeRGB4__ +#define __gnu_javax_imageio_bmp_DecodeRGB4__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeRGB4; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeRGB4 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeRGB4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeRGB4__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB8.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB8.h new file mode 100644 index 00000000000..e8a6300fbc3 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB8.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeRGB8__ +#define __gnu_javax_imageio_bmp_DecodeRGB8__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeRGB8; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeRGB8 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeRGB8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeRGB8__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRLE4.h b/libjava/gnu/javax/imageio/bmp/DecodeRLE4.h new file mode 100644 index 00000000000..f70a21bfa27 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeRLE4.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeRLE4__ +#define __gnu_javax_imageio_bmp_DecodeRLE4__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeRLE4; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeRLE4 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeRLE4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); +private: + JArray< jbyte > * uncompress(jint, jint, ::javax::imageio::stream::ImageInputStream *); + static const jbyte ESCAPE = 0; + static const jbyte EOL = 0; + static const jbyte EOB = 1; + static const jbyte DELTA = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeRLE4__ diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRLE8.h b/libjava/gnu/javax/imageio/bmp/DecodeRLE8.h new file mode 100644 index 00000000000..bb23187c336 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/DecodeRLE8.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_DecodeRLE8__ +#define __gnu_javax_imageio_bmp_DecodeRLE8__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class DecodeRLE8; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::DecodeRLE8 : public ::gnu::javax::imageio::bmp::BMPDecoder +{ + +public: + DecodeRLE8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *); +private: + JArray< jbyte > * uncompress(jint, jint, ::javax::imageio::stream::ImageInputStream *); + static const jbyte ESCAPE = 0; + static const jbyte EOL = 0; + static const jbyte EOB = 1; + static const jbyte DELTA = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_DecodeRLE8__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB1.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB1.h new file mode 100644 index 00000000000..55f4f8296ba --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB1.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRGB1__ +#define __gnu_javax_imageio_bmp_EncodeRGB1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRGB1; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRGB1 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRGB1(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRGB1__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB16.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB16.h new file mode 100644 index 00000000000..ff3d78247c5 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB16.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRGB16__ +#define __gnu_javax_imageio_bmp_EncodeRGB16__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRGB16; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRGB16 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRGB16(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRGB16__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB24.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB24.h new file mode 100644 index 00000000000..a40226c10a9 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB24.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRGB24__ +#define __gnu_javax_imageio_bmp_EncodeRGB24__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRGB24; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRGB24 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRGB24(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRGB24__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB32.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB32.h new file mode 100644 index 00000000000..7d170f73fcf --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB32.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRGB32__ +#define __gnu_javax_imageio_bmp_EncodeRGB32__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRGB32; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRGB32 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRGB32(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRGB32__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB4.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB4.h new file mode 100644 index 00000000000..15fe1243255 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB4.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRGB4__ +#define __gnu_javax_imageio_bmp_EncodeRGB4__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRGB4; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRGB4 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRGB4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRGB4__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB8.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB8.h new file mode 100644 index 00000000000..f01e35f764d --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB8.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRGB8__ +#define __gnu_javax_imageio_bmp_EncodeRGB8__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRGB8; + } + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRGB8 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRGB8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRGB8__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRLE4.h b/libjava/gnu/javax/imageio/bmp/EncodeRLE4.h new file mode 100644 index 00000000000..3b9c0f7d096 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRLE4.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRLE4__ +#define __gnu_javax_imageio_bmp_EncodeRLE4__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRLE4; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRLE4 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRLE4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +private: + JArray< jbyte > * uncompress(jint, jint, ::java::nio::ByteBuffer *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +private: + static const jbyte ESCAPE = 0; + static const jbyte EOL = 0; + static const jbyte EOB = 1; + static const jbyte DELTA = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRLE4__ diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRLE8.h b/libjava/gnu/javax/imageio/bmp/EncodeRLE8.h new file mode 100644 index 00000000000..d6e6e450fb0 --- /dev/null +++ b/libjava/gnu/javax/imageio/bmp/EncodeRLE8.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_bmp_EncodeRLE8__ +#define __gnu_javax_imageio_bmp_EncodeRLE8__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace bmp + { + class BMPFileHeader; + class BMPInfoHeader; + class EncodeRLE8; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class gnu::javax::imageio::bmp::EncodeRLE8 : public ::gnu::javax::imageio::bmp::BMPEncoder +{ + +public: + EncodeRLE8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *); + virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +private: + JArray< jbyte > * uncompress(jint, jint, ::java::nio::ByteBuffer *); +public: // actually protected + ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader; + ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader; + jlong offset; +private: + static const jbyte ESCAPE = 0; + static const jbyte EOL = 0; + static const jbyte EOB = 1; + static const jbyte DELTA = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_bmp_EncodeRLE8__ diff --git a/libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h b/libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h new file mode 100644 index 00000000000..d4468b95883 --- /dev/null +++ b/libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_gif_GIFFile$GIFException__ +#define __gnu_javax_imageio_gif_GIFFile$GIFException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace gif + { + class GIFFile$GIFException; + } + } + } + } +} + +class gnu::javax::imageio::gif::GIFFile$GIFException : public ::java::lang::Exception +{ + +public: + GIFFile$GIFException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_gif_GIFFile$GIFException__ diff --git a/libjava/gnu/javax/imageio/gif/GIFFile.h b/libjava/gnu/javax/imageio/gif/GIFFile.h new file mode 100644 index 00000000000..b574276fd05 --- /dev/null +++ b/libjava/gnu/javax/imageio/gif/GIFFile.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_gif_GIFFile__ +#define __gnu_javax_imageio_gif_GIFFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace gif + { + class GIFFile; + } + } + } + } +} + +class gnu::javax::imageio::gif::GIFFile : public ::java::lang::Object +{ + +public: + GIFFile(::java::io::InputStream *); +private: + GIFFile(::gnu::javax::imageio::gif::GIFFile *, ::java::io::InputStream *, jint); +public: + static jboolean readSignature(::java::io::InputStream *); +private: + void loadImage(::java::io::InputStream *); + void packPixels(); +public: + virtual jint getWidth(); + virtual jint getHeight(); + virtual jint getNColors(); + virtual jboolean hasTransparency(); + virtual jint getTransparentIndex(); + virtual ::java::lang::String * getComment(); + virtual jint getDuration(); +private: + void deinterlace(); + void readLocal(::java::io::InputStream *); +public: + virtual JArray< jbyte > * getRawPalette(); + virtual ::gnu::javax::imageio::gif::GIFFile * getImage(jint); + virtual JArray< jbyte > * getRawImage(); + virtual jint nImages(); +private: + void readExtension(::java::io::InputStream *); + JArray< jbyte > * readData(::java::io::InputStream *); + void decodeRaster(::java::io::InputStream *); + jint getBits(jint); + static JArray< jbyte > * nsBlock; + static const jint EXTENSION = 33; + static const jint LOCAL = 44; + static const jint TERMINATOR = 59; + static const jint EXTENSION_COMMENT = 254; + static const jint EXTENSION_GCONTROL = 249; + static const jint EXTENSION_APPLICATION = 255; + static const jint UNDRAW_OVERWRITE = 1; + static const jint UNDRAW_RESTORE_BACKGROUND = 2; + static const jint UNDRAW_RESTORE_PREVIOUS = 3; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + jint y; + jint width; + jint height; + jint globalWidth; + jint globalHeight; + jbyte bgIndex; + jint nColors; + JArray< jbyte > * globalPalette; + jboolean hasGlobalColorMap; + JArray< jbyte > * localPalette; + jboolean interlaced; + jboolean hasTransparency__; + jint undraw; + jint transparentIndex; + JArray< jbyte > * raster; + JArray< jbyte > * compressedData; + jint duration; + jint dataBlockIndex; + ::java::lang::String * comment; + jint remainingBits; + jint currentBits; + jboolean isLooped; + jint loops; + ::java::util::Vector * animationFrames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_gif_GIFFile__ diff --git a/libjava/gnu/javax/imageio/gif/GIFImageReader.h b/libjava/gnu/javax/imageio/gif/GIFImageReader.h new file mode 100644 index 00000000000..4fc8c7b9347 --- /dev/null +++ b/libjava/gnu/javax/imageio/gif/GIFImageReader.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_gif_GIFImageReader__ +#define __gnu_javax_imageio_gif_GIFImageReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace gif + { + class GIFFile; + class GIFImageReader; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class IndexColorModel; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReadParam; + namespace metadata + { + class IIOMetadata; + } + namespace spi + { + class ImageReaderSpi; + } + } + } +} + +class gnu::javax::imageio::gif::GIFImageReader : public ::javax::imageio::ImageReader +{ + +public: // actually protected + GIFImageReader(::javax::imageio::spi::ImageReaderSpi *); +private: + void readImage(); + ::java::awt::image::IndexColorModel * getPalette(jint); + void validateIndex(jint); +public: + virtual void setInput(::java::lang::Object *); + virtual void setInput(::java::lang::Object *, jboolean, jboolean); + virtual void setInput(::java::lang::Object *, jboolean); +private: + void checkStream(); +public: + virtual jint getWidth(jint); + virtual jint getHeight(jint); + virtual ::java::util::Iterator * getImageTypes(jint); + virtual jint getNumImages(jboolean); + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint); + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata(); + virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *); +private: + ::gnu::javax::imageio::gif::GIFFile * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) file; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_gif_GIFImageReader__ diff --git a/libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h b/libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h new file mode 100644 index 00000000000..027faea8073 --- /dev/null +++ b/libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_gif_GIFImageReaderSpi__ +#define __gnu_javax_imageio_gif_GIFImageReaderSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace gif + { + class GIFImageReaderSpi; + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageReader; + } + } +} + +class gnu::javax::imageio::gif::GIFImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi +{ + +public: + GIFImageReaderSpi(); + virtual ::java::lang::String * getDescription(::java::util::Locale *); + virtual jboolean canDecodeInput(::java::lang::Object *); + virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *); +public: // actually package-private + static ::java::lang::String * vendorName; + static ::java::lang::String * version; + static ::java::lang::String * readerClassName; + static JArray< ::java::lang::String * > * names; + static JArray< ::java::lang::String * > * suffixes; + static JArray< ::java::lang::String * > * MIMETypes; + static JArray< ::java::lang::String * > * writerSpiNames; + static const jboolean supportsStandardStreamMetadataFormat = 0; + static ::java::lang::String * nativeStreamMetadataFormatName; + static ::java::lang::String * nativeStreamMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames; + static const jboolean supportsStandardImageMetadataFormat = 0; + static ::java::lang::String * nativeImageMetadataFormatName; + static ::java::lang::String * nativeImageMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraImageMetadataFormatNames; + static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_gif_GIFImageReaderSpi__ diff --git a/libjava/gnu/javax/imageio/jpeg/DCT.h b/libjava/gnu/javax/imageio/jpeg/DCT.h new file mode 100644 index 00000000000..16636be2d54 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/DCT.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_DCT__ +#define __gnu_javax_imageio_jpeg_DCT__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class DCT; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::DCT : public ::java::lang::Object +{ + +public: + DCT(); + static jdouble C(jint); +private: + void initMatrix(); +public: + static JArray< JArray< jdouble > * > * slow_idct(JArray< JArray< jdouble > * > *); + static JArray< JArray< jfloat > * > * slow_fdct(JArray< JArray< jfloat > * > *); + virtual JArray< JArray< jfloat > * > * fast_fdct(JArray< JArray< jfloat > * > *); + virtual JArray< JArray< jdouble > * > * fast_idct(JArray< JArray< jdouble > * > *); + virtual JArray< JArray< jdouble > * > * idj_fast_fdct(JArray< JArray< jfloat > * > *); + JArray< JArray< jdouble > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c; + JArray< JArray< jdouble > * > * cT; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_DCT__ diff --git a/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h b/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h new file mode 100644 index 00000000000..794b2624da1 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_HuffmanTable__ +#define __gnu_javax_imageio_jpeg_HuffmanTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class HuffmanTable; + class JPEGImageInputStream; + } + } + } + } + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::HuffmanTable : public ::java::lang::Object +{ + +public: + HuffmanTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *); +private: + void generateSizeTable(); + void generateCodeTable(); + void generateDecoderTables(); +public: + virtual void orderCodes(jboolean); + static jint extend(jint, jint); + virtual jint decode(::gnu::javax::imageio::jpeg::JPEGImageInputStream *); + static const jint HUFFMAN_MAX_TABLES = 4; +private: + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) huffcode; + JArray< jshort > * huffsize; + JArray< jshort > * EHUFCO; + JArray< jshort > * EHUFSI; + JArray< jshort > * valptr; + JArray< jshort > * mincode; + JArray< jshort > * maxcode; + JArray< jshort > * huffval; + JArray< jshort > * bits; +public: // actually package-private + static jbyte JPEG_DC_TABLE; + static jbyte JPEG_AC_TABLE; +private: + jshort lastk; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_HuffmanTable__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGComponent.h b/libjava/gnu/javax/imageio/jpeg/JPEGComponent.h new file mode 100644 index 00000000000..36ff5f64710 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGComponent.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGComponent__ +#define __gnu_javax_imageio_jpeg_JPEGComponent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class DCT; + class HuffmanTable; + class JPEGComponent; + class JPEGImageInputStream; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class WritableRaster; + } + } + } + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGComponent : public ::java::lang::Object +{ + +public: + JPEGComponent(jbyte, jbyte, jbyte, jbyte); + virtual void padMCU(jint, jint); + virtual void resetInterval(); + virtual void quantitizeData(); + virtual void setDCTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *); + virtual void setACTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *); + virtual void idctData(::gnu::javax::imageio::jpeg::DCT *); + virtual void scaleByFactors(); + virtual void writeBlock(::java::awt::image::WritableRaster *, JArray< JArray< jdouble > * > *, jint, jint, jint); + virtual void writeData(::java::awt::image::WritableRaster *, jint); + virtual void setQuantizationTable(JArray< jint > *); + virtual void readComponentMCU(::gnu::javax::imageio::jpeg::JPEGImageInputStream *); + virtual jdouble decode_dc_coefficient(::gnu::javax::imageio::jpeg::JPEGImageInputStream *); + virtual JArray< jdouble > * decode_ac_coefficients(::gnu::javax::imageio::jpeg::JPEGImageInputStream *); + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) factorH; + jbyte factorV; + jbyte component_id; + jbyte quant_id; + jint width; + jint height; + jint maxV; + jint maxH; + ::gnu::javax::imageio::jpeg::HuffmanTable * ACTable; + ::gnu::javax::imageio::jpeg::HuffmanTable * DCTable; + JArray< jint > * quantizationTable; + jdouble previousDC; +public: // actually package-private + ::java::util::ArrayList * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGComponent__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h b/libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h new file mode 100644 index 00000000000..4eef890fe68 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h @@ -0,0 +1,99 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGDecoder__ +#define __gnu_javax_imageio_jpeg_JPEGDecoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGDecoder; + class JPEGImageInputStream; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + class JPEGQTable; + } + } + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGDecoder : public ::java::lang::Object +{ + +public: + virtual jint getHeight(); + virtual jint getWidth(); + JPEGDecoder(::javax::imageio::stream::ImageInputStream *); + virtual void decode(); +private: + void decodeJFIFExtension(); +public: + virtual ::java::awt::image::BufferedImage * getImage(); +public: // actually package-private + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) majorVersion; + jbyte minorVersion; + jbyte units; + jshort Xdensity; + jshort Ydensity; + jbyte Xthumbnail; + jbyte Ythumbnail; + JArray< jbyte > * thumbnail; + ::java::awt::image::BufferedImage * image; + jint width; + jint height; + jbyte marker; +public: + static const jbyte MAJOR_VERSION = 1; + static const jbyte MINOR_VERSION = 2; + static const jshort JFIF_FIXED_LENGTH = 16; + static const jshort JFXX_FIXED_LENGTH = 8; +private: + ::gnu::javax::imageio::jpeg::JPEGImageInputStream * jpegStream; +public: // actually package-private + ::java::util::ArrayList * jpegFrames; + JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * dcTables; + JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * acTables; + JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * qTables; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGDecoder__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGException.h b/libjava/gnu/javax/imageio/jpeg/JPEGException.h new file mode 100644 index 00000000000..b2a9d5a6561 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGException__ +#define __gnu_javax_imageio_jpeg_JPEGException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGException; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGException : public ::javax::imageio::IIOException +{ + +public: + JPEGException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGException__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGFrame.h b/libjava/gnu/javax/imageio/jpeg/JPEGFrame.h new file mode 100644 index 00000000000..5aad0a200b1 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGFrame.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGFrame__ +#define __gnu_javax_imageio_jpeg_JPEGFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGFrame; + class JPEGScan; + } + } + } + } + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGFrame : public ::java::lang::Object +{ + +public: + JPEGFrame(); + virtual void addComponent(jbyte, jbyte, jbyte); + virtual void setPrecision(jbyte); + virtual void setScanLines(jshort); + virtual void setSamplesPerLine(jshort); + virtual void setColorMode(jbyte); + virtual void setComponentCount(jbyte); + virtual jbyte getComponentCount(); + virtual void setHuffmanTables(jbyte, ::javax::imageio::plugins::jpeg::JPEGHuffmanTable *, ::javax::imageio::plugins::jpeg::JPEGHuffmanTable *); + static const jbyte JPEG_COLOR_GRAY = 1; + static const jbyte JPEG_COLOR_RGB = 2; + static const jbyte JPEG_COLOR_YCbCr = 3; + static const jbyte JPEG_COLOR_CMYK = 4; + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) precision; + jbyte colorMode; + jbyte componentCount; + jshort width; + jshort height; + ::gnu::javax::imageio::jpeg::JPEGScan * components; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGFrame__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h b/libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h new file mode 100644 index 00000000000..19304c07de5 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGImageInputStream__ +#define __gnu_javax_imageio_jpeg_JPEGImageInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGImageInputStream; + } + } + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageInputStream; + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGImageInputStream : public ::javax::imageio::stream::ImageInputStreamImpl +{ + +public: + JPEGImageInputStream(::javax::imageio::stream::ImageInputStream *); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + jbyte pullByte(); +public: + virtual jbyte getMarker(); + virtual jint readBit(); + virtual jbyte findNextMarker(); +private: + ::javax::imageio::stream::ImageInputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageInputStreamImpl)))) in; +public: // actually package-private + jbyte marker; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGImageInputStream__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h b/libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h new file mode 100644 index 00000000000..f7deeb84045 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGImageReader__ +#define __gnu_javax_imageio_jpeg_JPEGImageReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGDecoder; + class JPEGImageReader; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReadParam; + namespace metadata + { + class IIOMetadata; + } + namespace spi + { + class ImageReaderSpi; + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGImageReader : public ::javax::imageio::ImageReader +{ + +public: // actually protected + JPEGImageReader(::javax::imageio::spi::ImageReaderSpi *); +public: + virtual jint getHeight(jint); + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint); + virtual ::java::util::Iterator * getImageTypes(jint); + virtual jint getNumImages(jboolean); + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata(); + virtual jint getWidth(jint); + virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *); +private: + void checkIndex(jint); + void checkStream(); + void decodeStream(); +public: // actually package-private + ::gnu::javax::imageio::jpeg::JPEGDecoder * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) decoder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGImageReader__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h b/libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h new file mode 100644 index 00000000000..6cb33fea0fa --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGImageReaderSpi__ +#define __gnu_javax_imageio_jpeg_JPEGImageReaderSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGImageReaderSpi; + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageReader; + namespace spi + { + class IIORegistry; + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi +{ + +public: + JPEGImageReaderSpi(); + virtual ::java::lang::String * getDescription(::java::util::Locale *); + virtual jboolean canDecodeInput(::java::lang::Object *); + virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *); + static void registerSpis(::javax::imageio::spi::IIORegistry *); + static ::gnu::javax::imageio::jpeg::JPEGImageReaderSpi * getReaderSpi(); +public: // actually package-private + static ::java::lang::String * vendorName; + static ::java::lang::String * version; + static ::java::lang::String * readerClassName; + static JArray< ::java::lang::String * > * names; + static JArray< ::java::lang::String * > * suffixes; + static JArray< ::java::lang::String * > * MIMETypes; + static JArray< ::java::lang::String * > * writerSpiNames; + static const jboolean supportsStandardStreamMetadataFormat = 0; + static ::java::lang::String * nativeStreamMetadataFormatName; + static ::java::lang::String * nativeStreamMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames; + static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames; + static const jboolean supportsStandardImageMetadataFormat = 0; + static ::java::lang::String * nativeImageMetadataFormatName; + static ::java::lang::String * nativeImageMetadataFormatClassName; + static JArray< ::java::lang::String * > * extraImageMetadataFormatNames; + static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames; +private: + static ::gnu::javax::imageio::jpeg::JPEGImageReaderSpi * readerSpi; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGImageReaderSpi__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGMarker.h b/libjava/gnu/javax/imageio/jpeg/JPEGMarker.h new file mode 100644 index 00000000000..bbfb11e67aa --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGMarker.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGMarker__ +#define __gnu_javax_imageio_jpeg_JPEGMarker__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGMarker; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGMarker : public ::java::lang::Object +{ + +public: + JPEGMarker(); + static const jbyte JFIF_J = 74; + static const jbyte JFIF_F = 70; + static const jbyte JFIF_I = 73; + static const jbyte JFIF_X = 70; + static const jbyte JFXX_JPEG = 16; + static const jbyte JFXX_ONE_BPP = 17; + static const jbyte JFXX_THREE_BPP = 19; + static const jbyte XFF = -1; + static const jbyte X00 = 0; + static const jbyte APP0 = -32; + static const jbyte APP1 = -31; + static const jbyte APP2 = -30; + static const jbyte APP3 = -29; + static const jbyte APP4 = -28; + static const jbyte APP5 = -27; + static const jbyte APP6 = -26; + static const jbyte APP7 = -25; + static const jbyte APP8 = -24; + static const jbyte APP9 = -23; + static const jbyte APP10 = -22; + static const jbyte APP11 = -21; + static const jbyte APP12 = -20; + static const jbyte APP13 = -19; + static const jbyte APP14 = -18; + static const jbyte APP15 = -17; + static const jbyte RST0 = -48; + static const jbyte RST1 = -47; + static const jbyte RST2 = -46; + static const jbyte RST3 = -45; + static const jbyte RST4 = -44; + static const jbyte RST5 = -43; + static const jbyte RST6 = -42; + static const jbyte RST7 = -41; + static const jbyte SOF0 = -64; + static const jbyte SOF1 = -63; + static const jbyte SOF2 = -62; + static const jbyte SOF3 = -61; + static const jbyte SOF5 = -59; + static const jbyte SOF6 = -58; + static const jbyte SOF7 = -57; + static const jbyte SOF9 = -55; + static const jbyte SOF10 = -54; + static const jbyte SOF11 = -53; + static const jbyte SOF13 = -51; + static const jbyte SOF14 = -50; + static const jbyte SOF15 = -49; + static const jbyte DHT = -60; + static const jbyte DQT = -37; + static const jbyte SOS = -38; + static const jbyte DRI = -35; + static const jbyte COM = -2; + static const jbyte SOI = -40; + static const jbyte EOI = -39; + static const jbyte DNL = -36; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGMarker__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h b/libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h new file mode 100644 index 00000000000..d7c376cf8c8 --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGMarkerFoundException__ +#define __gnu_javax_imageio_jpeg_JPEGMarkerFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGMarkerFoundException; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGMarkerFoundException : public ::java::io::IOException +{ + +public: + JPEGMarkerFoundException(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGMarkerFoundException__ diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGScan.h b/libjava/gnu/javax/imageio/jpeg/JPEGScan.h new file mode 100644 index 00000000000..5023286565f --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/JPEGScan.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_JPEGScan__ +#define __gnu_javax_imageio_jpeg_JPEGScan__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class JPEGComponent; + class JPEGScan; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::JPEGScan : public ::java::lang::Object +{ + +public: + JPEGScan(); + JPEGScan(jint, jint); +private: + void recalculateDimensions(); +public: + virtual void addComponent(jbyte, jbyte, jbyte, jbyte); + virtual ::gnu::javax::imageio::jpeg::JPEGComponent * getComponentByID(jbyte); + virtual ::gnu::javax::imageio::jpeg::JPEGComponent * get(jint); + virtual jint getX(jbyte); + virtual jint getY(jbyte); + virtual jint getMaxV(); + virtual jint getMaxH(); + virtual void setWidth(jint); + virtual void setHeight(jint); + virtual jint size(); + virtual jint sizeComponentBlocks(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) maxHeight; + jint maxWidth; + jint maxV; + jint maxH; + jint numOfComponents; + jint numOfComponentBlocks; + ::java::util::ArrayList * components; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_JPEGScan__ diff --git a/libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h b/libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h new file mode 100644 index 00000000000..0d107f2bbbd --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_YCbCr_ColorSpace__ +#define __gnu_javax_imageio_jpeg_YCbCr_ColorSpace__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class YCbCr_ColorSpace; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::YCbCr_ColorSpace : public ::java::awt::color::ColorSpace +{ + +public: + YCbCr_ColorSpace(); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + static JArray< jfloat > * toYCbCr(JArray< jfloat > *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_YCbCr_ColorSpace__ diff --git a/libjava/gnu/javax/imageio/jpeg/ZigZag.h b/libjava/gnu/javax/imageio/jpeg/ZigZag.h new file mode 100644 index 00000000000..6111088571b --- /dev/null +++ b/libjava/gnu/javax/imageio/jpeg/ZigZag.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_jpeg_ZigZag__ +#define __gnu_javax_imageio_jpeg_ZigZag__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace jpeg + { + class ZigZag; + } + } + } + } +} + +class gnu::javax::imageio::jpeg::ZigZag : public ::java::lang::Object +{ + +public: + ZigZag(); + static JArray< jbyte > * encode(JArray< JArray< jbyte > * > *); + static JArray< jdouble > * encode(JArray< JArray< jdouble > * > *); + static JArray< jfloat > * encode(JArray< JArray< jfloat > * > *); + static JArray< jshort > * encode(JArray< JArray< jshort > * > *); + static JArray< JArray< jdouble > * > * decode(JArray< jdouble > *); + static JArray< JArray< jbyte > * > * decode(JArray< jbyte > *); + static JArray< JArray< jint > * > * decode(JArray< jint > *); + static JArray< JArray< jbyte > * > * decode(JArray< jbyte > *, jint, jint); + static JArray< JArray< jdouble > * > * decode(JArray< jdouble > *, jint, jint); + static JArray< JArray< jfloat > * > * decode(JArray< jfloat > *, jint, jint); + static JArray< JArray< jint > * > * decode(JArray< jint > *, jint, jint); + static JArray< JArray< jdouble > * > * decode8x8_map(JArray< jdouble > *); + static const jboolean ZIGZAG_FORWARD = 1; + static const jboolean ZIGZAG_BACKWARD = 0; + static JArray< jint > * ZIGZAG_8X8_MAP; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_jpeg_ZigZag__ diff --git a/libjava/gnu/javax/imageio/png/PNGChunk.h b/libjava/gnu/javax/imageio/png/PNGChunk.h new file mode 100644 index 00000000000..849b43632b5 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGChunk.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGChunk__ +#define __gnu_javax_imageio_png_PNGChunk__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGChunk; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGChunk : public ::java::lang::Object +{ + +public: // actually protected + PNGChunk(jint, JArray< jbyte > *, jint); + PNGChunk(jint); +public: + static ::gnu::javax::imageio::png::PNGChunk * readChunk(::java::io::InputStream *, jboolean); +private: + static ::gnu::javax::imageio::png::PNGChunk * getChunk(jint, JArray< jbyte > *, jint); + static jboolean isEssentialChunk(jint); +public: + virtual jboolean isValidChunk(); + virtual jint getType(); + virtual void writeChunk(::java::io::OutputStream *); + virtual jboolean isEmpty(); + static JArray< jbyte > * getInt(jint); +private: + jint calcCRC(); +public: + virtual ::java::lang::String * toString(); +private: + static JArray< jlong > * crcTable; +public: + static const jint TYPE_HEADER = 1229472850; + static const jint TYPE_PALETTE = 1347179589; + static const jint TYPE_DATA = 1229209940; + static const jint TYPE_TIME = 1950960965; + static const jint TYPE_END = 1229278788; + static const jint TYPE_PHYS = 1883789683; + static const jint TYPE_GAMMA = 1732332865; + static const jint TYPE_PROFILE = 1766015824; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: // actually protected + JArray< jbyte > * data; +private: + jint crc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGChunk__ diff --git a/libjava/gnu/javax/imageio/png/PNGData.h b/libjava/gnu/javax/imageio/png/PNGData.h new file mode 100644 index 00000000000..16a04a2c40e --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGData.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGData__ +#define __gnu_javax_imageio_png_PNGData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGData; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGData : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGData(jint, JArray< jbyte > *, jint); + PNGData(jint); +public: + virtual void deflateToChunk(::java::util::zip::Deflater *); + virtual jboolean chunkFull(); + virtual void shrink(); + virtual void feedToInflater(::java::util::zip::Inflater *); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGData__ diff --git a/libjava/gnu/javax/imageio/png/PNGDecoder.h b/libjava/gnu/javax/imageio/png/PNGDecoder.h new file mode 100644 index 00000000000..70e6f3944ea --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGDecoder.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGDecoder__ +#define __gnu_javax_imageio_png_PNGDecoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGData; + class PNGDecoder; + class PNGHeader; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class ColorModel; + class DataBuffer; + class IndexColorModel; + class WritableRaster; + } + } + } +} + +class gnu::javax::imageio::png::PNGDecoder : public ::java::lang::Object +{ + +public: + PNGDecoder(::gnu::javax::imageio::png::PNGHeader *); +private: + jint getBytes(JArray< jbyte > *, jint); +public: + virtual void addData(::gnu::javax::imageio::png::PNGData *); + virtual ::java::awt::image::WritableRaster * getRaster(::gnu::javax::imageio::png::PNGHeader *); +private: + ::java::awt::image::DataBuffer * getShortBuffer(); + ::java::awt::image::DataBuffer * getByteBuffer(); +public: + virtual ::java::awt::image::ColorModel * getColorModel(::java::awt::color::ColorSpace *, jint, jint); +private: + ::java::awt::image::IndexColorModel * grayPalette(jint); +public: + virtual JArray< jbyte > * getRaster(); + virtual jboolean isFinished(); +private: + ::gnu::javax::imageio::png::PNGHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) header; + JArray< jbyte > * raster; + JArray< jbyte > * scanline; + JArray< jbyte > * lastScanline; + JArray< jbyte > * filterType; + jint offset; + jint length; + jint currentScanline; + jint stride; + ::java::util::zip::Inflater * inflater; + jboolean readFilter; + jint bpp; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGDecoder__ diff --git a/libjava/gnu/javax/imageio/png/PNGEncoder.h b/libjava/gnu/javax/imageio/png/PNGEncoder.h new file mode 100644 index 00000000000..e985ee10bae --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGEncoder.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGEncoder__ +#define __gnu_javax_imageio_png_PNGEncoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGEncoder; + class PNGHeader; + class PNGICCProfile; + class PNGPalette; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } +} + +class gnu::javax::imageio::png::PNGEncoder : public ::java::lang::Object +{ + +public: + PNGEncoder(::java::awt::image::BufferedImage *); + virtual ::gnu::javax::imageio::png::PNGHeader * getHeader(); + virtual ::gnu::javax::imageio::png::PNGPalette * getPalette(); + virtual ::gnu::javax::imageio::png::PNGICCProfile * getProfile(); + virtual ::java::util::Vector * encodeImage(); +private: + void getRawData(::java::awt::image::BufferedImage *); + static const jint defaultChunkSize = 8192; + ::gnu::javax::imageio::png::PNGHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) header; + ::gnu::javax::imageio::png::PNGPalette * palette; + jint stride; + jint bpp; + JArray< jbyte > * rawData; + ::gnu::javax::imageio::png::PNGICCProfile * profile; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGEncoder__ diff --git a/libjava/gnu/javax/imageio/png/PNGException.h b/libjava/gnu/javax/imageio/png/PNGException.h new file mode 100644 index 00000000000..d02406961d4 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGException__ +#define __gnu_javax_imageio_png_PNGException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGException; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGException : public ::java::io::IOException +{ + +public: + PNGException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGException__ diff --git a/libjava/gnu/javax/imageio/png/PNGFile.h b/libjava/gnu/javax/imageio/png/PNGFile.h new file mode 100644 index 00000000000..a1b5fdfb67a --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGFile.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGFile__ +#define __gnu_javax_imageio_png_PNGFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGDecoder; + class PNGEncoder; + class PNGFile; + class PNGHeader; + class PNGPalette; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class BufferedImage; + } + } + } +} + +class gnu::javax::imageio::png::PNGFile : public ::java::lang::Object +{ + +public: + PNGFile(::java::io::InputStream *); + PNGFile(::java::awt::image::BufferedImage *); + virtual void writePNG(::java::io::OutputStream *); +private: + jboolean validateHeader(JArray< jbyte > *); +public: + virtual ::java::awt::image::BufferedImage * getBufferedImage(); +private: + ::gnu::javax::imageio::png::PNGPalette * getPalette(); + ::java::awt::color::ColorSpace * getColorSpace(); + static JArray< jbyte > * signature; + static JArray< jbyte > * endChunk; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) chunks; + ::gnu::javax::imageio::png::PNGHeader * header; + jboolean hasPalette; + jint width; + jint height; + ::gnu::javax::imageio::png::PNGDecoder * decoder; + ::gnu::javax::imageio::png::PNGEncoder * encoder; + ::java::awt::image::BufferedImage * sourceImage; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGFile__ diff --git a/libjava/gnu/javax/imageio/png/PNGFilter.h b/libjava/gnu/javax/imageio/png/PNGFilter.h new file mode 100644 index 00000000000..c461f59a2d5 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGFilter.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGFilter__ +#define __gnu_javax_imageio_png_PNGFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGFilter; + class PNGHeader; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGFilter : public ::java::lang::Object +{ + +public: + PNGFilter(); + static jboolean useFilter(::gnu::javax::imageio::png::PNGHeader *); + static jbyte chooseFilter(JArray< jbyte > *, JArray< jbyte > *, jint); + static JArray< jbyte > * filterScanline(jbyte, JArray< jbyte > *, JArray< jbyte > *, jint); + static JArray< jbyte > * unFilterScanline(jint, JArray< jbyte > *, JArray< jbyte > *, jint); + static const jbyte FILTER_NONE = 0; + static const jbyte FILTER_SUB = 1; + static const jbyte FILTER_UP = 2; + static const jbyte FILTER_AVERAGE = 3; + static const jbyte FILTER_PAETH = 4; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGFilter__ diff --git a/libjava/gnu/javax/imageio/png/PNGGamma.h b/libjava/gnu/javax/imageio/png/PNGGamma.h new file mode 100644 index 00000000000..e6458f43c0c --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGGamma.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGGamma__ +#define __gnu_javax_imageio_png_PNGGamma__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGGamma; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + } + } +} + +class gnu::javax::imageio::png::PNGGamma : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGGamma(jint, JArray< jbyte > *, jint); +public: + PNGGamma(jdouble); + virtual ::java::awt::color::ColorSpace * getColorSpace(jboolean); + virtual ::java::lang::String * toString(); +private: + jdouble __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) gamma; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGGamma__ diff --git a/libjava/gnu/javax/imageio/png/PNGHeader.h b/libjava/gnu/javax/imageio/png/PNGHeader.h new file mode 100644 index 00000000000..190268003a9 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGHeader.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGHeader__ +#define __gnu_javax_imageio_png_PNGHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGHeader; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGHeader : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGHeader(jint, JArray< jbyte > *, jint); +public: + PNGHeader(jint, jint, jint, jint, jboolean); + virtual jboolean isValidChunk(); + virtual jboolean isIndexed(); + virtual jboolean isGrayscale(); + virtual jint getColorType(); + virtual jboolean isInterlaced(); + virtual jint bytesPerPixel(); + virtual jint getScanlineStride(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual jint getDepth(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) width; + jint height; + jint depth; + jint colorType; + jint compression; + jint filter; + jint interlace; +public: + static const jint INTERLACE_NONE = 0; + static const jint INTERLACE_ADAM7 = 1; + static const jint GRAYSCALE = 0; + static const jint RGB = 2; + static const jint INDEXED = 3; + static const jint GRAYSCALE_WITH_ALPHA = 4; + static const jint RGB_WITH_ALPHA = 6; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGHeader__ diff --git a/libjava/gnu/javax/imageio/png/PNGICCProfile.h b/libjava/gnu/javax/imageio/png/PNGICCProfile.h new file mode 100644 index 00000000000..1495ded5de6 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGICCProfile.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGICCProfile__ +#define __gnu_javax_imageio_png_PNGICCProfile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGICCProfile; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + class ICC_Profile; + } + } + } +} + +class gnu::javax::imageio::png::PNGICCProfile : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGICCProfile(jint, JArray< jbyte > *, jint); +public: + PNGICCProfile(::java::awt::color::ICC_Profile *); + virtual ::java::awt::color::ColorSpace * getColorSpace(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) name; + ::java::awt::color::ICC_Profile * profile; + static JArray< jbyte > * genericName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGICCProfile__ diff --git a/libjava/gnu/javax/imageio/png/PNGImageReader.h b/libjava/gnu/javax/imageio/png/PNGImageReader.h new file mode 100644 index 00000000000..5ef99a738a2 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGImageReader.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGImageReader__ +#define __gnu_javax_imageio_png_PNGImageReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGFile; + class PNGImageReader; + class PNGImageReaderSpi; + } + } + } + } + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReadParam; + namespace metadata + { + class IIOMetadata; + } + } + } +} + +class gnu::javax::imageio::png::PNGImageReader : public ::javax::imageio::ImageReader +{ + +public: + PNGImageReader(::gnu::javax::imageio::png::PNGImageReaderSpi *); + virtual jint getHeight(jint); + virtual jint getWidth(jint); + virtual ::java::util::Iterator * getImageTypes(jint); + virtual jint getNumImages(jboolean); + virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *); + virtual void setInput(::java::lang::Object *, jboolean, jboolean); + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint); + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata(); +private: + void checkIndex(jint); + void readImage(); + ::gnu::javax::imageio::png::PNGFile * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) pngFile; + ::java::awt::image::BufferedImage * image; + ::java::util::ArrayList * imageTypes; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGImageReader__ diff --git a/libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h b/libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h new file mode 100644 index 00000000000..61b6b3f73f9 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGImageReaderSpi__ +#define __gnu_javax_imageio_png_PNGImageReaderSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGImageReaderSpi; + } + } + } + } + namespace javax + { + namespace imageio + { + class ImageReader; + } + } +} + +class gnu::javax::imageio::png::PNGImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi +{ + +public: + PNGImageReaderSpi(); + virtual jboolean canDecodeInput(::java::lang::Object *); + virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *); + virtual ::java::lang::String * getDescription(::java::util::Locale *); +private: + static JArray< jbyte > * SIGNATURE; + static ::java::lang::String * VENDOR_NAME; +public: // actually package-private + static ::java::lang::String * VERSION; + static ::java::lang::String * READER_CLASSNAME; + static JArray< ::java::lang::String * > * NAMES; + static JArray< ::java::lang::String * > * SUFFIXES; + static JArray< ::java::lang::String * > * MIME_TYPES; + static JArray< ::java::lang::String * > * WRITER_SPI_NAMES; + static JArray< ::java::lang::Class * > * INPUT_TYPES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGImageReaderSpi__ diff --git a/libjava/gnu/javax/imageio/png/PNGPalette.h b/libjava/gnu/javax/imageio/png/PNGPalette.h new file mode 100644 index 00000000000..d216b1b5e03 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGPalette.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGPalette__ +#define __gnu_javax_imageio_png_PNGPalette__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGPalette; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class IndexColorModel; + } + } + } +} + +class gnu::javax::imageio::png::PNGPalette : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGPalette(jint, JArray< jbyte > *, jint); +public: + PNGPalette(::java::awt::image::IndexColorModel *); + virtual ::java::awt::image::IndexColorModel * getPalette(::java::awt::color::ColorSpace *); + virtual ::java::lang::String * toString(); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) red; + JArray< jint > * green; + JArray< jint > * blue; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGPalette__ diff --git a/libjava/gnu/javax/imageio/png/PNGPhys.h b/libjava/gnu/javax/imageio/png/PNGPhys.h new file mode 100644 index 00000000000..fa4476de8c6 --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGPhys.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGPhys__ +#define __gnu_javax_imageio_png_PNGPhys__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGPhys; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGPhys : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGPhys(jint, JArray< jbyte > *, jint); +public: + PNGPhys(jdouble); + PNGPhys(jint, jint); +private: + void makeData(); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) x; + jlong y; + jdouble ratio; + jboolean usesRatio; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGPhys__ diff --git a/libjava/gnu/javax/imageio/png/PNGTime.h b/libjava/gnu/javax/imageio/png/PNGTime.h new file mode 100644 index 00000000000..1e07099b1da --- /dev/null +++ b/libjava/gnu/javax/imageio/png/PNGTime.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_imageio_png_PNGTime__ +#define __gnu_javax_imageio_png_PNGTime__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace imageio + { + namespace png + { + class PNGTime; + } + } + } + } +} + +class gnu::javax::imageio::png::PNGTime : public ::gnu::javax::imageio::png::PNGChunk +{ + +public: // actually protected + PNGTime(jint, JArray< jbyte > *, jint); +public: + PNGTime(::java::util::Date *); + virtual ::java::lang::String * toString(); +private: + ::java::util::Date * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) date; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_imageio_png_PNGTime__ diff --git a/libjava/gnu/javax/management/Server$ServerInfo.h b/libjava/gnu/javax/management/Server$ServerInfo.h new file mode 100644 index 00000000000..da1eb3bb060 --- /dev/null +++ b/libjava/gnu/javax/management/Server$ServerInfo.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_management_Server$ServerInfo__ +#define __gnu_javax_management_Server$ServerInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace management + { + class Server; + class Server$ServerInfo; + } + } + } + namespace javax + { + namespace management + { + class ObjectInstance; + } + } +} + +class gnu::javax::management::Server$ServerInfo : public ::java::lang::Object +{ + +public: + Server$ServerInfo(::gnu::javax::management::Server *, ::javax::management::ObjectInstance *, ::java::lang::Object *); + virtual ::java::lang::Object * getObject(); + virtual ::javax::management::ObjectInstance * getInstance(); +private: + ::javax::management::ObjectInstance * __attribute__((aligned(__alignof__( ::java::lang::Object)))) instance; + ::java::lang::Object * object; +public: // actually package-private + ::gnu::javax::management::Server * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_management_Server$ServerInfo__ diff --git a/libjava/gnu/javax/management/Server$ServerInputStream.h b/libjava/gnu/javax/management/Server$ServerInputStream.h new file mode 100644 index 00000000000..1b2bc0e76f3 --- /dev/null +++ b/libjava/gnu/javax/management/Server$ServerInputStream.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_management_Server$ServerInputStream__ +#define __gnu_javax_management_Server$ServerInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace management + { + class Server; + class Server$ServerInputStream; + } + } + } +} + +class gnu::javax::management::Server$ServerInputStream : public ::java::io::ObjectInputStream +{ + +public: + Server$ServerInputStream(::gnu::javax::management::Server *, ::java::io::InputStream *, ::java::lang::ClassLoader *); +public: // actually protected + virtual ::java::lang::Class * resolveClass(::java::io::ObjectStreamClass *); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream)))) cl; +public: // actually package-private + ::gnu::javax::management::Server * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_management_Server$ServerInputStream__ diff --git a/libjava/gnu/javax/management/Server$ServerNotificationListener.h b/libjava/gnu/javax/management/Server$ServerNotificationListener.h new file mode 100644 index 00000000000..a699261b941 --- /dev/null +++ b/libjava/gnu/javax/management/Server$ServerNotificationListener.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_management_Server$ServerNotificationListener__ +#define __gnu_javax_management_Server$ServerNotificationListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace management + { + class Server; + class Server$ServerNotificationListener; + } + } + } + namespace javax + { + namespace management + { + class Notification; + class NotificationListener; + class ObjectName; + } + } +} + +class gnu::javax::management::Server$ServerNotificationListener : public ::java::lang::Object +{ + +public: + Server$ServerNotificationListener(::gnu::javax::management::Server *, ::java::lang::Object *, ::javax::management::ObjectName *, ::javax::management::NotificationListener *); + virtual void handleNotification(::javax::management::Notification *, ::java::lang::Object *); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bean; + ::javax::management::ObjectName * name; + ::javax::management::NotificationListener * listener; + ::gnu::javax::management::Server * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_management_Server$ServerNotificationListener__ diff --git a/libjava/gnu/javax/management/Server.h b/libjava/gnu/javax/management/Server.h new file mode 100644 index 00000000000..eb396d72ad5 --- /dev/null +++ b/libjava/gnu/javax/management/Server.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_management_Server__ +#define __gnu_javax_management_Server__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace management + { + class Server; + } + } + } + namespace javax + { + namespace management + { + class Attribute; + class AttributeList; + class MBeanInfo; + class MBeanServer; + class MBeanServerDelegate; + class NotificationFilter; + class NotificationListener; + class ObjectInstance; + class ObjectName; + class QueryExp; + namespace loading + { + class ClassLoaderRepository; + } + } + } +} + +class gnu::javax::management::Server : public ::java::lang::Object +{ + +public: + Server(::java::lang::String *, ::javax::management::MBeanServer *, ::javax::management::MBeanServerDelegate *); +private: + void checkSecurity(::javax::management::ObjectName *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::Object * getBean(::javax::management::ObjectName *); +public: + virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *); + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *); + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *); + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *); + virtual ::java::io::ObjectInputStream * deserialize(::javax::management::ObjectName *, JArray< jbyte > *); + virtual ::java::io::ObjectInputStream * deserialize(::java::lang::String *, JArray< jbyte > *); + virtual ::java::io::ObjectInputStream * deserialize(::java::lang::String *, ::javax::management::ObjectName *, JArray< jbyte > *); + virtual ::java::lang::Object * getAttribute(::javax::management::ObjectName *, ::java::lang::String *); + virtual ::javax::management::AttributeList * getAttributes(::javax::management::ObjectName *, JArray< ::java::lang::String * > *); + virtual ::java::lang::ClassLoader * getClassLoader(::javax::management::ObjectName *); + virtual ::java::lang::ClassLoader * getClassLoaderFor(::javax::management::ObjectName *); + virtual ::javax::management::loading::ClassLoaderRepository * getClassLoaderRepository(); + virtual ::java::lang::String * getDefaultDomain(); + virtual JArray< ::java::lang::String * > * getDomains(); + virtual ::java::lang::Integer * getMBeanCount(); + virtual ::javax::management::MBeanInfo * getMBeanInfo(::javax::management::ObjectName *); + virtual ::javax::management::ObjectInstance * getObjectInstance(::javax::management::ObjectName *); + virtual ::java::lang::Object * instantiate(::java::lang::String *); + virtual ::java::lang::Object * instantiate(::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *); + virtual ::java::lang::Object * instantiate(::java::lang::String *, ::javax::management::ObjectName *); + virtual ::java::lang::Object * instantiate(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *); + virtual ::java::lang::Object * invoke(::javax::management::ObjectName *, ::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *); + virtual jboolean isInstanceOf(::javax::management::ObjectName *, ::java::lang::String *); + virtual jboolean isRegistered(::javax::management::ObjectName *); + virtual ::java::util::Set * queryMBeans(::javax::management::ObjectName *, ::javax::management::QueryExp *); + virtual ::java::util::Set * queryNames(::javax::management::ObjectName *, ::javax::management::QueryExp *); + virtual ::javax::management::ObjectInstance * registerMBean(::java::lang::Object *, ::javax::management::ObjectName *); + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *); + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *); + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual void setAttribute(::javax::management::ObjectName *, ::javax::management::Attribute *); + virtual ::javax::management::AttributeList * setAttributes(::javax::management::ObjectName *, ::javax::management::AttributeList *); + virtual void unregisterMBean(::javax::management::ObjectName *); +private: + static ::javax::management::ObjectName * DELEGATE_NAME; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) beans; + ::java::lang::String * defaultDomain; + ::javax::management::MBeanServer * outer; + ::javax::management::loading::ClassLoaderRepository * repository; + ::java::util::Map * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_management_Server__ diff --git a/libjava/gnu/javax/naming/giop/ContextContinuation.h b/libjava/gnu/javax/naming/giop/ContextContinuation.h new file mode 100644 index 00000000000..546a2564ad0 --- /dev/null +++ b/libjava/gnu/javax/naming/giop/ContextContinuation.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_ContextContinuation__ +#define __gnu_javax_naming_giop_ContextContinuation__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameTransformer; + } + } + namespace javax + { + namespace naming + { + namespace giop + { + class ContextContinuation; + class GiopNamingServiceFactory; + } + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + } + namespace CosNaming + { + class NameComponent; + class NamingContextExt; + } + } + } +} + +class gnu::javax::naming::giop::ContextContinuation : public ::java::lang::Object +{ + +public: + ContextContinuation(::org::omg::CORBA::Object *, ::java::util::Hashtable *, ::org::omg::CORBA::ORB *, ::gnu::javax::naming::giop::GiopNamingServiceFactory *); + virtual void bind(::javax::naming::Name *, ::java::lang::Object *); + virtual void bind(::java::lang::String *, ::java::lang::Object *); + virtual void close(); + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *); + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *); + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *); + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *); + virtual void destroySubcontext(::javax::naming::Name *); + virtual void destroySubcontext(::java::lang::String *); + virtual ::java::lang::String * getNameInNamespace(); + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *); + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *); + virtual ::java::lang::Object * lookup(::javax::naming::Name *); + virtual ::java::lang::Object * lookup(::java::lang::String *); + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *); + virtual ::java::lang::Object * lookupLink(::java::lang::String *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *); + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *); + virtual void rename(::java::lang::String *, ::java::lang::String *); + virtual void unbind(::javax::naming::Name *); + virtual void unbind(::java::lang::String *); + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *); + virtual JArray< ::org::omg::CosNaming::NameComponent * > * toGiop(::javax::naming::Name *); + virtual jint getBatchSize(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) DEFAULT_BATCH_SIZE; +public: // actually package-private + ::org::omg::CosNaming::NamingContextExt * service; + ::org::omg::CORBA::ORB * orb; + ::java::util::Hashtable * properties; + ::gnu::javax::naming::giop::GiopNamingServiceFactory * factory; + static ::gnu::CORBA::NamingService::NameTransformer * transformer; +public: + jint howMany; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_ContextContinuation__ diff --git a/libjava/gnu/javax/naming/giop/CorbalocParser.h b/libjava/gnu/javax/naming/giop/CorbalocParser.h new file mode 100644 index 00000000000..cad411dab66 --- /dev/null +++ b/libjava/gnu/javax/naming/giop/CorbalocParser.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_CorbalocParser__ +#define __gnu_javax_naming_giop_CorbalocParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameTransformer; + } + } + namespace javax + { + namespace naming + { + namespace giop + { + class CorbalocParser; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class gnu::javax::naming::giop::CorbalocParser : public ::gnu::CORBA::NamingService::NameTransformer +{ + +public: + CorbalocParser(); + virtual JArray< ::java::lang::String * > * corbaloc(::java::lang::String *, ::org::omg::CORBA::ORB *); +private: + JArray< ::java::lang::String * > * corbaloc(::java::lang::String *, ::org::omg::CORBA::ORB *, jint); +public: // actually package-private + virtual ::java::lang::String * readFile(::java::lang::String *); + virtual ::java::lang::String * readUrl(::java::lang::String *); +private: + JArray< ::java::lang::String * > * resolve(::java::lang::String *); + ::java::lang::String * readKey(::java::lang::String *); +public: + static ::java::lang::String * pxCORBALOC; + static ::java::lang::String * pxCORBANAME; + static ::java::lang::String * pxIOR; + static ::java::lang::String * pxFILE; + static ::java::lang::String * pxFTP; + static ::java::lang::String * pxHTTP; + static ::java::lang::String * IIOP; + static ::java::lang::String * RIR; + static const jint DEFAULT_PORT = 2809; + static ::java::lang::String * DEFAULT_NAME; +public: // actually package-private + static ::gnu::CORBA::NamingService::NameTransformer * converter; + jint __attribute__((aligned(__alignof__( ::gnu::CORBA::NamingService::NameTransformer)))) p; + JArray< ::java::lang::String * > * t; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_CorbalocParser__ diff --git a/libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h b/libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h new file mode 100644 index 00000000000..409975cec0b --- /dev/null +++ b/libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_GiopNamingEnumeration__ +#define __gnu_javax_naming_giop_GiopNamingEnumeration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace giop + { + class GiopNamingEnumeration; + } + } + } + } + namespace org + { + namespace omg + { + namespace CosNaming + { + class Binding; + class BindingIterator; + class BindingIteratorHolder; + class BindingListHolder; + } + } + } +} + +class gnu::javax::naming::giop::GiopNamingEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + GiopNamingEnumeration(::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *, jint); +public: + virtual ::java::lang::Object * convert(::org::omg::CosNaming::Binding *) = 0; + virtual void close(); + virtual jboolean hasMore(); + virtual ::java::lang::Object * next(); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + virtual jboolean getMore(); + JArray< ::org::omg::CosNaming::Binding * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list; + ::org::omg::CosNaming::BindingIterator * iterator; + jint batch; + jint p; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_GiopNamingEnumeration__ diff --git a/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h new file mode 100644 index 00000000000..a45a730e69d --- /dev/null +++ b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_GiopNamingServiceFactory$1__ +#define __gnu_javax_naming_giop_GiopNamingServiceFactory$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace giop + { + class GiopNamingServiceFactory; + class GiopNamingServiceFactory$1; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class gnu::javax::naming::giop::GiopNamingServiceFactory$1 : public ::java::lang::Thread +{ + +public: // actually package-private + GiopNamingServiceFactory$1(::gnu::javax::naming::giop::GiopNamingServiceFactory *, ::org::omg::CORBA::ORB *); +public: + void run(); +public: // actually package-private + ::gnu::javax::naming::giop::GiopNamingServiceFactory * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0; +private: + ::org::omg::CORBA::ORB * val$runIt; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_GiopNamingServiceFactory$1__ diff --git a/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h new file mode 100644 index 00000000000..d3afb0d66a2 --- /dev/null +++ b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_GiopNamingServiceFactory__ +#define __gnu_javax_naming_giop_GiopNamingServiceFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace giop + { + class GiopNamingServiceFactory; + } + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class gnu::javax::naming::giop::GiopNamingServiceFactory : public ::java::lang::Object +{ + +public: + GiopNamingServiceFactory(); + virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *); + virtual void checkIfReferenced(::org::omg::CORBA::ORB *); + virtual ::java::lang::String * getOrbSignature(::java::util::Map *); + static ::java::lang::String * DEFAULT_PROVIDER; + static ::java::util::Hashtable * orbs; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_GiopNamingServiceFactory__ diff --git a/libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h b/libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h new file mode 100644 index 00000000000..ae1544c5a79 --- /dev/null +++ b/libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_GiopNamingServiceURLContext__ +#define __gnu_javax_naming_giop_GiopNamingServiceURLContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameTransformer; + } + } + namespace javax + { + namespace naming + { + namespace giop + { + class GiopNamingServiceFactory; + class GiopNamingServiceURLContext; + } + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + namespace CosNaming + { + class NameComponent; + class NamingContextExt; + } + } + } +} + +class gnu::javax::naming::giop::GiopNamingServiceURLContext : public ::gnu::javax::naming::giop::CorbalocParser +{ + +public: + GiopNamingServiceURLContext(::java::util::Hashtable *, ::gnu::javax::naming::giop::GiopNamingServiceFactory *, ::org::omg::CORBA::ORB *); + virtual ::org::omg::CosNaming::NamingContextExt * getService(::java::lang::String *); + virtual JArray< ::java::lang::String * > * split(::java::lang::String *); + virtual void bind(::javax::naming::Name *, ::java::lang::Object *); + virtual void bind(::java::lang::String *, ::java::lang::Object *); + virtual void close(); + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *); + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *); + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *); + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *); + virtual void destroySubcontext(::javax::naming::Name *); + virtual void destroySubcontext(::java::lang::String *); + virtual ::java::lang::String * getNameInNamespace(); + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *); + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *); + virtual ::java::lang::Object * lookup(::javax::naming::Name *); + virtual ::java::lang::Object * lookup(::java::lang::String *); + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *); + virtual ::java::lang::Object * lookupLink(::java::lang::String *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *); + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *); + virtual void rename(::java::lang::String *, ::java::lang::String *); + virtual void unbind(::javax::naming::Name *); + virtual void unbind(::java::lang::String *); + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *); + virtual JArray< ::org::omg::CosNaming::NameComponent * > * toGiop(::javax::naming::Name *); + virtual jint getBatchSize(); + jint __attribute__((aligned(__alignof__( ::gnu::javax::naming::giop::CorbalocParser)))) DEFAULT_BATCH_SIZE; +public: // actually package-private + ::org::omg::CORBA::ORB * orb; + ::java::util::Hashtable * properties; + ::gnu::javax::naming::giop::GiopNamingServiceFactory * factory; + static ::gnu::CORBA::NamingService::NameTransformer * transformer; +public: + jint howMany; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_GiopNamingServiceURLContext__ diff --git a/libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h b/libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h new file mode 100644 index 00000000000..325f19a1408 --- /dev/null +++ b/libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_ListBindingsEnumeration__ +#define __gnu_javax_naming_giop_ListBindingsEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace giop + { + class ListBindingsEnumeration; + } + } + } + } + namespace org + { + namespace omg + { + namespace CosNaming + { + class Binding; + class BindingIteratorHolder; + class BindingListHolder; + class NamingContext; + } + } + } +} + +class gnu::javax::naming::giop::ListBindingsEnumeration : public ::gnu::javax::naming::giop::GiopNamingEnumeration +{ + +public: + ListBindingsEnumeration(::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *, jint, ::org::omg::CosNaming::NamingContext *); + virtual ::java::lang::Object * convert(::org::omg::CosNaming::Binding *); +public: // actually package-private + ::org::omg::CosNaming::NamingContext * __attribute__((aligned(__alignof__( ::gnu::javax::naming::giop::GiopNamingEnumeration)))) service; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_ListBindingsEnumeration__ diff --git a/libjava/gnu/javax/naming/giop/ListEnumeration.h b/libjava/gnu/javax/naming/giop/ListEnumeration.h new file mode 100644 index 00000000000..5ed2c7f9f7c --- /dev/null +++ b/libjava/gnu/javax/naming/giop/ListEnumeration.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_giop_ListEnumeration__ +#define __gnu_javax_naming_giop_ListEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace giop + { + class ListEnumeration; + } + } + } + } + namespace org + { + namespace omg + { + namespace CosNaming + { + class Binding; + class BindingIteratorHolder; + class BindingListHolder; + } + } + } +} + +class gnu::javax::naming::giop::ListEnumeration : public ::gnu::javax::naming::giop::GiopNamingEnumeration +{ + +public: + ListEnumeration(::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *, jint); + virtual ::java::lang::Object * convert(::org::omg::CosNaming::Binding *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_giop_ListEnumeration__ diff --git a/libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h new file mode 100644 index 00000000000..138c63af739 --- /dev/null +++ b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_ictxImpl_trans_GnuName$GnuNameEnum__ +#define __gnu_javax_naming_ictxImpl_trans_GnuName$GnuNameEnum__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace ictxImpl + { + namespace trans + { + class GnuName; + class GnuName$GnuNameEnum; + } + } + } + } + } +} + +class gnu::javax::naming::ictxImpl::trans::GnuName$GnuNameEnum : public ::java::lang::Object +{ + +public: // actually package-private + GnuName$GnuNameEnum(::gnu::javax::naming::ictxImpl::trans::GnuName *, jint); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nxt; + ::gnu::javax::naming::ictxImpl::trans::GnuName * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_ictxImpl_trans_GnuName$GnuNameEnum__ diff --git a/libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h new file mode 100644 index 00000000000..dd2b2d64b39 --- /dev/null +++ b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_ictxImpl_trans_GnuName__ +#define __gnu_javax_naming_ictxImpl_trans_GnuName__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace ictxImpl + { + namespace trans + { + class GnuName; + } + } + } + } + } + namespace javax + { + namespace naming + { + class Name; + } + } +} + +class gnu::javax::naming::ictxImpl::trans::GnuName : public ::java::lang::Object +{ + +public: // actually protected + GnuName(); +public: + GnuName(JArray< ::java::lang::String * > *); + GnuName(JArray< ::java::lang::String * > *, jint, jint); + virtual ::javax::naming::Name * add(jint, ::java::lang::String *); + virtual ::javax::naming::Name * add(::java::lang::String *); + virtual ::javax::naming::Name * addAll(jint, ::javax::naming::Name *); + virtual ::javax::naming::Name * addAll(::javax::naming::Name *); + virtual jint compareTo(::java::lang::Object *); + virtual jboolean endsWith(::javax::naming::Name *); + virtual ::java::lang::String * get(jint); + virtual ::java::util::Enumeration * getAll(); + virtual ::javax::naming::Name * getPrefix(jint); + virtual ::javax::naming::Name * getSuffix(jint); + virtual jboolean isEmpty(); + virtual ::java::lang::Object * remove(jint); + virtual jint size(); + virtual jboolean startsWith(::javax::naming::Name *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -3617482732056931635LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) hash; + JArray< ::java::lang::String * > * content; + jint from; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_ictxImpl_trans_GnuName__ diff --git a/libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h b/libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h new file mode 100644 index 00000000000..f1e3844c368 --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_corbaname_corbanameURLContextFactory__ +#define __gnu_javax_naming_jndi_url_corbaname_corbanameURLContextFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace corbaname + { + class corbanameURLContextFactory; + } + } + } + } + } + } +} + +class gnu::javax::naming::jndi::url::corbaname::corbanameURLContextFactory : public ::gnu::javax::naming::giop::GiopNamingServiceFactory +{ + +public: + corbanameURLContextFactory(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_corbaname_corbanameURLContextFactory__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h b/libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h new file mode 100644 index 00000000000..87f6699d15c --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_ContextContinuation__ +#define __gnu_javax_naming_jndi_url_rmi_ContextContinuation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class ContextContinuation; + } + } + } + } + } + } + namespace java + { + namespace rmi + { + namespace registry + { + class Registry; + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + } + } +} + +class gnu::javax::naming::jndi::url::rmi::ContextContinuation : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *); + virtual void removeRegistry(); + virtual ::java::rmi::registry::Registry * getRegistry(); + ContextContinuation(::java::util::Map *, ::java::rmi::registry::Registry *); + virtual void bind(::javax::naming::Name *, ::java::lang::Object *); + virtual void bind(::java::lang::String *, ::java::lang::Object *); + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *); + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *); + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *); + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *); + virtual void destroySubcontext(::javax::naming::Name *); + virtual void destroySubcontext(::java::lang::String *); + virtual ::java::lang::String * getNameInNamespace(); + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *); + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *); + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *); + virtual ::java::lang::Object * lookupLink(::java::lang::String *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *); + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *); + virtual void rename(::java::lang::String *, ::java::lang::String *); + virtual void unbind(::javax::naming::Name *); + virtual void unbind(::java::lang::String *); + virtual void close(); + virtual ::java::lang::Object * lookup(::javax::naming::Name *); + virtual ::java::lang::Object * lookup(::java::lang::String *); + static ::java::lang::String * DEFAULT_REGISTRY_LOCATION; +public: // actually package-private + ::java::rmi::registry::Registry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) registry; + ::java::util::Properties * properties; + jboolean lookupCalled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_ContextContinuation__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h b/libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h new file mode 100644 index 00000000000..96b173abaf1 --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_ListBindingsEnumeration__ +#define __gnu_javax_naming_jndi_url_rmi_ListBindingsEnumeration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class ListBindingsEnumeration; + } + } + } + } + } + } + namespace java + { + namespace rmi + { + namespace registry + { + class Registry; + } + } + } +} + +class gnu::javax::naming::jndi::url::rmi::ListBindingsEnumeration : public ::gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration +{ + +public: + ListBindingsEnumeration(JArray< ::java::lang::String * > *, ::java::rmi::registry::Registry *); + virtual ::java::lang::Object * convert(::java::lang::String *); +public: // actually package-private + ::java::rmi::registry::Registry * __attribute__((aligned(__alignof__( ::gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration)))) service; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_ListBindingsEnumeration__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h b/libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h new file mode 100644 index 00000000000..a09dc191382 --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_ListEnumeration__ +#define __gnu_javax_naming_jndi_url_rmi_ListEnumeration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class ListEnumeration; + } + } + } + } + } + } +} + +class gnu::javax::naming::jndi::url::rmi::ListEnumeration : public ::gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration +{ + +public: + ListEnumeration(JArray< ::java::lang::String * > *); + virtual ::java::lang::Object * convert(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_ListEnumeration__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h b/libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h new file mode 100644 index 00000000000..756fa058409 --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_RmiContinuation__ +#define __gnu_javax_naming_jndi_url_rmi_RmiContinuation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class RmiContinuation; + } + } + } + } + } + } + namespace java + { + namespace rmi + { + namespace registry + { + class Registry; + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + } + } +} + +class gnu::javax::naming::jndi::url::rmi::RmiContinuation : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *); + virtual void removeRegistry(); + virtual ::java::rmi::registry::Registry * getRegistry(); + RmiContinuation(::java::util::Map *); + virtual void bind(::javax::naming::Name *, ::java::lang::Object *); + virtual void bind(::java::lang::String *, ::java::lang::Object *); + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *); + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *); + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *); + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *); + virtual void destroySubcontext(::javax::naming::Name *); + virtual void destroySubcontext(::java::lang::String *); + virtual ::java::lang::String * getNameInNamespace(); + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *); + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *); + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *); + virtual ::java::lang::Object * lookupLink(::java::lang::String *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *); + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *); + virtual void rename(::java::lang::String *, ::java::lang::String *); + virtual void unbind(::javax::naming::Name *); + virtual void unbind(::java::lang::String *); + virtual void close(); + virtual ::java::lang::Object * lookup(::javax::naming::Name *); + virtual ::java::lang::Object * lookup(::java::lang::String *); + static ::java::lang::String * DEFAULT_REGISTRY_LOCATION; +public: // actually package-private + ::java::rmi::registry::Registry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) registry; + ::java::util::Properties * properties; + jboolean lookupCalled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_RmiContinuation__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h b/libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h new file mode 100644 index 00000000000..27447c73fd0 --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_RmiNamingEnumeration__ +#define __gnu_javax_naming_jndi_url_rmi_RmiNamingEnumeration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class RmiNamingEnumeration; + } + } + } + } + } + } +} + +class gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + RmiNamingEnumeration(JArray< ::java::lang::String * > *); +public: + virtual ::java::lang::Object * convert(::java::lang::String *) = 0; + virtual jboolean hasMore(); + virtual ::java::lang::Object * next(); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); + virtual void close(); +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list; + jint p; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_RmiNamingEnumeration__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h new file mode 100644 index 00000000000..732295d5f8c --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_rmiURLContext__ +#define __gnu_javax_naming_jndi_url_rmi_rmiURLContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class rmiURLContext; + } + } + } + } + } + } + namespace java + { + namespace rmi + { + namespace registry + { + class Registry; + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + } + } +} + +class gnu::javax::naming::jndi::url::rmi::rmiURLContext : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *); + virtual ::java::rmi::registry::Registry * getRegistry(::java::lang::String *); + rmiURLContext(::java::util::Map *); + virtual void bind(::javax::naming::Name *, ::java::lang::Object *); + virtual void bind(::java::lang::String *, ::java::lang::Object *); + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *); + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *); + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *); + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *); + virtual void destroySubcontext(::javax::naming::Name *); + virtual void destroySubcontext(::java::lang::String *); + virtual ::java::lang::String * getNameInNamespace(); + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *); + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *); + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *); + virtual ::java::lang::Object * lookupLink(::java::lang::String *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *); + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *); + virtual void rename(::java::lang::String *, ::java::lang::String *); + virtual void unbind(::javax::naming::Name *); + virtual void unbind(::java::lang::String *); + virtual void close(); + virtual ::java::lang::Object * lookup(::javax::naming::Name *); + virtual ::java::lang::Object * lookup(::java::lang::String *); + virtual JArray< ::java::lang::String * > * split(::java::lang::String *); + static ::java::lang::String * DEFAULT_REGISTRY_LOCATION; +public: // actually package-private + static ::java::util::WeakHashMap * registryCache; + ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::lang::Object)))) properties; + jboolean lookupCalled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_rmiURLContext__ diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h new file mode 100644 index 00000000000..d29e51cb9f5 --- /dev/null +++ b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_naming_jndi_url_rmi_rmiURLContextFactory__ +#define __gnu_javax_naming_jndi_url_rmi_rmiURLContextFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace naming + { + namespace jndi + { + namespace url + { + namespace rmi + { + class rmiURLContextFactory; + } + } + } + } + } + } + namespace javax + { + namespace naming + { + class Context; + class Name; + } + } +} + +class gnu::javax::naming::jndi::url::rmi::rmiURLContextFactory : public ::java::lang::Object +{ + +public: + rmiURLContextFactory(); + virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_naming_jndi_url_rmi_rmiURLContextFactory__ diff --git a/libjava/gnu/javax/net/ssl/AbstractSessionContext.h b/libjava/gnu/javax/net/ssl/AbstractSessionContext.h new file mode 100644 index 00000000000..06d145e7b77 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/AbstractSessionContext.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_AbstractSessionContext__ +#define __gnu_javax_net_ssl_AbstractSessionContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class AbstractSessionContext; + class Session; + } + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + } + } + } +} + +class gnu::javax::net::ssl::AbstractSessionContext : public ::java::lang::Object +{ + +public: + static ::gnu::javax::net::ssl::AbstractSessionContext * newInstance(); + static void setImplClass(::java::lang::Class *); +public: // actually protected + AbstractSessionContext(jint); +public: + virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *); + virtual ::javax::net::ssl::SSLSession * getSession(::java::lang::String *, jint); +public: // actually protected + virtual ::gnu::javax::net::ssl::Session * implGet(JArray< jbyte > *) = 0; +public: + virtual jint getSessionTimeout(); + virtual void load(JArray< jchar > *) = 0; + virtual void put(::gnu::javax::net::ssl::Session *) = 0; + virtual void remove(JArray< jbyte > *) = 0; + virtual void setSessionTimeout(jint); + virtual void store(JArray< jchar > *) = 0; + virtual ::java::util::Enumeration * getIds() = 0; + virtual jint getSessionCacheSize() = 0; + virtual void setSessionCacheSize(jint) = 0; +public: // actually protected + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) timeout; +private: + static ::java::lang::Class * implClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_AbstractSessionContext__ diff --git a/libjava/gnu/javax/net/ssl/Base64.h b/libjava/gnu/javax/net/ssl/Base64.h new file mode 100644 index 00000000000..658e1376808 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/Base64.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_Base64__ +#define __gnu_javax_net_ssl_Base64__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class Base64; + } + } + } + } +} + +class gnu::javax::net::ssl::Base64 : public ::java::lang::Object +{ + + Base64(); +public: + static ::java::lang::String * encode(JArray< jbyte > *, jint); + static JArray< jbyte > * decode(::java::lang::String *); +private: + static ::java::lang::String * BASE_64; + static const jchar BASE_64_PAD = 61; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_Base64__ diff --git a/libjava/gnu/javax/net/ssl/EntropySource.h b/libjava/gnu/javax/net/ssl/EntropySource.h new file mode 100644 index 00000000000..d44398c4c03 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/EntropySource.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_EntropySource__ +#define __gnu_javax_net_ssl_EntropySource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class EntropySource; + } + } + } + } +} + +class gnu::javax::net::ssl::EntropySource : public ::java::lang::Object +{ + +public: + virtual jdouble quality() = 0; + virtual JArray< jbyte > * nextBytes() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_EntropySource__ diff --git a/libjava/gnu/javax/net/ssl/NullManagerParameters.h b/libjava/gnu/javax/net/ssl/NullManagerParameters.h new file mode 100644 index 00000000000..519138e6e89 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/NullManagerParameters.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_NullManagerParameters__ +#define __gnu_javax_net_ssl_NullManagerParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class NullManagerParameters; + } + } + } + } +} + +class gnu::javax::net::ssl::NullManagerParameters : public ::java::lang::Object +{ + +public: + NullManagerParameters(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_NullManagerParameters__ diff --git a/libjava/gnu/javax/net/ssl/PreSharedKeyManager.h b/libjava/gnu/javax/net/ssl/PreSharedKeyManager.h new file mode 100644 index 00000000000..8ced9ef5341 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/PreSharedKeyManager.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_PreSharedKeyManager__ +#define __gnu_javax_net_ssl_PreSharedKeyManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class PreSharedKeyManager; + } + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::net::ssl::PreSharedKeyManager : public ::java::lang::Object +{ + +public: + virtual ::javax::crypto::SecretKey * getKey(::java::lang::String *) = 0; + virtual ::java::lang::String * chooseIdentityHint() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_PreSharedKeyManager__ diff --git a/libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h b/libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h new file mode 100644 index 00000000000..5f2e23bc6d7 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_PreSharedKeyManagerParameters__ +#define __gnu_javax_net_ssl_PreSharedKeyManagerParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class PreSharedKeyManagerParameters; + } + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::net::ssl::PreSharedKeyManagerParameters : public ::java::lang::Object +{ + +public: + PreSharedKeyManagerParameters(); + virtual ::javax::crypto::SecretKey * getKey(::java::lang::String *); + virtual void putKey(::java::lang::String *, ::javax::crypto::SecretKey *); + virtual jboolean removeKey(::java::lang::String *); + virtual ::java::util::Iterator * identities(); +private: + ::java::util::LinkedHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keys; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_PreSharedKeyManagerParameters__ diff --git a/libjava/gnu/javax/net/ssl/PrivateCredentials.h b/libjava/gnu/javax/net/ssl/PrivateCredentials.h new file mode 100644 index 00000000000..ab47f4fdd72 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/PrivateCredentials.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_PrivateCredentials__ +#define __gnu_javax_net_ssl_PrivateCredentials__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class PrivateCredentials; + } + } + } + } +} + +class gnu::javax::net::ssl::PrivateCredentials : public ::java::lang::Object +{ + +public: + PrivateCredentials(); + virtual void add(::java::io::InputStream *, ::java::io::InputStream *); + virtual ::java::util::List * getPrivateKeys(); + virtual ::java::util::List * getCertChains(); + virtual void destroy(); + virtual jboolean isDestroyed(); +private: + ::java::lang::String * readLine(::java::io::InputStream *); + JArray< jbyte > * decryptKey(JArray< jbyte > *, ::java::lang::String *, JArray< jbyte > *); + JArray< jbyte > * deriveKey(JArray< jbyte > *, jint); + JArray< jbyte > * toByteArray(::java::lang::String *); +public: + static ::java::lang::String * BEGIN_DSA; + static ::java::lang::String * END_DSA; + static ::java::lang::String * BEGIN_RSA; + static ::java::lang::String * END_RSA; +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) privateKeys; + ::java::util::List * certChains; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_PrivateCredentials__ diff --git a/libjava/gnu/javax/net/ssl/SRPManagerParameters.h b/libjava/gnu/javax/net/ssl/SRPManagerParameters.h new file mode 100644 index 00000000000..16a617bdd0c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/SRPManagerParameters.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_SRPManagerParameters__ +#define __gnu_javax_net_ssl_SRPManagerParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class PasswordFile; + } + } + } + namespace net + { + namespace ssl + { + class SRPManagerParameters; + } + } + } + } +} + +class gnu::javax::net::ssl::SRPManagerParameters : public ::java::lang::Object +{ + +public: + SRPManagerParameters(::gnu::javax::crypto::sasl::srp::PasswordFile *); + virtual ::gnu::javax::crypto::sasl::srp::PasswordFile * getPasswordFile(); +private: + ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) file; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_SRPManagerParameters__ diff --git a/libjava/gnu/javax/net/ssl/SRPTrustManager.h b/libjava/gnu/javax/net/ssl/SRPTrustManager.h new file mode 100644 index 00000000000..740ae3bc1cc --- /dev/null +++ b/libjava/gnu/javax/net/ssl/SRPTrustManager.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_SRPTrustManager__ +#define __gnu_javax_net_ssl_SRPTrustManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class PasswordFile; + } + } + } + namespace net + { + namespace ssl + { + class SRPTrustManager; + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + } + } +} + +class gnu::javax::net::ssl::SRPTrustManager : public ::java::lang::Object +{ + +public: + virtual jboolean contains(::java::lang::String *) = 0; + virtual ::java::security::KeyPair * getKeyPair(::java::lang::String *) = 0; + virtual JArray< jbyte > * getSalt(::java::lang::String *) = 0; + virtual ::java::math::BigInteger * getVerifier(::java::lang::String *) = 0; + virtual ::gnu::javax::crypto::sasl::srp::PasswordFile * getPasswordFile() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_SRPTrustManager__ diff --git a/libjava/gnu/javax/net/ssl/SSLCipherSuite.h b/libjava/gnu/javax/net/ssl/SSLCipherSuite.h new file mode 100644 index 00000000000..de863b7030e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/SSLCipherSuite.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_SSLCipherSuite__ +#define __gnu_javax_net_ssl_SSLCipherSuite__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SSLCipherSuite; + class SSLProtocolVersion; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class Provider; + } + } +} + +class gnu::javax::net::ssl::SSLCipherSuite : public ::java::lang::Object +{ + +public: // actually protected + SSLCipherSuite(::java::lang::String *, JArray< jbyte > *, ::gnu::javax::net::ssl::SSLProtocolVersion *); +public: + static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::gnu::javax::net::ssl::SSLProtocolVersion *, JArray< jbyte > *); + static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::gnu::javax::net::ssl::SSLProtocolVersion *, JArray< jbyte > *, ::java::security::Provider *); + static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::java::lang::String *); + static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getId(); + virtual ::java::security::Provider * getProvider(); + virtual ::gnu::javax::net::ssl::SSLProtocolVersion * getProtocolVersion(); + virtual void encipher(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *) = 0; +private: + static ::java::lang::String * SERVICE; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) algorithm; + JArray< jbyte > * id; + ::gnu::javax::net::ssl::SSLProtocolVersion * version; + ::java::security::Provider * provider; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_SSLCipherSuite__ diff --git a/libjava/gnu/javax/net/ssl/SSLProtocolVersion.h b/libjava/gnu/javax/net/ssl/SSLProtocolVersion.h new file mode 100644 index 00000000000..f7feac96dfd --- /dev/null +++ b/libjava/gnu/javax/net/ssl/SSLProtocolVersion.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_SSLProtocolVersion__ +#define __gnu_javax_net_ssl_SSLProtocolVersion__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SSLProtocolVersion; + } + } + } + } +} + +class gnu::javax::net::ssl::SSLProtocolVersion : public ::java::lang::Enum +{ + + SSLProtocolVersion(::java::lang::String *, jint, jint, jint); +public: + static JArray< ::gnu::javax::net::ssl::SSLProtocolVersion * > * values(); + static ::gnu::javax::net::ssl::SSLProtocolVersion * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::SSLProtocolVersion * SSLv3; + static ::gnu::javax::net::ssl::SSLProtocolVersion * TLSv1; + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) major; + jint minor; +private: + static JArray< ::gnu::javax::net::ssl::SSLProtocolVersion * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_SSLProtocolVersion__ diff --git a/libjava/gnu/javax/net/ssl/SSLRecordHandler.h b/libjava/gnu/javax/net/ssl/SSLRecordHandler.h new file mode 100644 index 00000000000..f4fab150983 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/SSLRecordHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_SSLRecordHandler__ +#define __gnu_javax_net_ssl_SSLRecordHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SSLRecordHandler; + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::SSLRecordHandler : public ::java::lang::Object +{ + +public: // actually protected + SSLRecordHandler(jbyte); +public: + virtual void handle(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *) = 0; + virtual jbyte contentType(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) contentType__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_SSLRecordHandler__ diff --git a/libjava/gnu/javax/net/ssl/Session$ID.h b/libjava/gnu/javax/net/ssl/Session$ID.h new file mode 100644 index 00000000000..cccfb0254f3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/Session$ID.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_Session$ID__ +#define __gnu_javax_net_ssl_Session$ID__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class Session$ID; + } + } + } + } +} + +class gnu::javax::net::ssl::Session$ID : public ::java::lang::Object +{ + +public: + Session$ID(JArray< jbyte > *); + JArray< jbyte > * id(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + jint compareTo(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = 7887036954666565936LL; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_Session$ID__ diff --git a/libjava/gnu/javax/net/ssl/Session.h b/libjava/gnu/javax/net/ssl/Session.h new file mode 100644 index 00000000000..1061db2260f --- /dev/null +++ b/libjava/gnu/javax/net/ssl/Session.h @@ -0,0 +1,117 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_Session__ +#define __gnu_javax_net_ssl_Session__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class Session; + class Session$ID; + } + } + } + } + namespace java + { + namespace security + { + class Principal; + class SecureRandom; + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace crypto + { + class SealedObject; + } + namespace net + { + namespace ssl + { + class SSLSessionContext; + } + } + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class gnu::javax::net::ssl::Session : public ::java::lang::Object +{ + +public: // actually protected + Session(); +public: + virtual void access(); + virtual jint getApplicationBufferSize(); + virtual ::java::lang::String * getCipherSuite(); + virtual jlong getCreationTime(); + virtual JArray< jbyte > * getId(); + virtual ::gnu::javax::net::ssl::Session$ID * id(); + virtual jlong getLastAccessedTime(); + virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates(); + virtual ::java::security::Principal * getLocalPrincipal(); + virtual jint getPacketBufferSize(); + virtual JArray< ::java::security::cert::Certificate * > * getPeerCertificates(); + virtual JArray< ::javax::security::cert::X509Certificate * > * getPeerCertificateChain(); + virtual ::java::lang::String * getPeerHost(); + virtual jint getPeerPort(); + virtual ::java::security::Principal * getPeerPrincipal(); + virtual ::javax::net::ssl::SSLSessionContext * getSessionContext(); + virtual JArray< ::java::lang::String * > * getValueNames(); + virtual ::java::lang::Object * getValue(::java::lang::String *); + virtual void invalidate(); + virtual jboolean isValid(); + virtual void putValue(::java::lang::String *, ::java::lang::Object *); + virtual void removeValue(::java::lang::String *); + virtual jboolean isTruncatedMac(); + virtual void prepare(JArray< jchar > *) = 0; + virtual void repair(JArray< jchar > *) = 0; + virtual ::javax::crypto::SealedObject * privateData() = 0; + virtual void setPrivateData(::javax::crypto::SealedObject *) = 0; + virtual ::java::lang::String * getProtocol() = 0; +public: // actually protected + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) creationTime; + jlong lastAccessedTime; + jint applicationBufferSize; + ::gnu::javax::net::ssl::Session$ID * sessionId; + JArray< ::java::security::cert::Certificate * > * localCerts; + JArray< ::java::security::cert::Certificate * > * peerCerts; + JArray< ::javax::security::cert::X509Certificate * > * peerCertChain; + ::java::lang::String * peerHost; + jint peerPort; + jboolean peerVerified; + ::java::util::HashMap * values; + jboolean valid; + jboolean truncatedMac; + ::java::security::SecureRandom * random; + ::javax::net::ssl::SSLSessionContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_Session__ diff --git a/libjava/gnu/javax/net/ssl/SessionStoreException.h b/libjava/gnu/javax/net/ssl/SessionStoreException.h new file mode 100644 index 00000000000..50049b7a9ad --- /dev/null +++ b/libjava/gnu/javax/net/ssl/SessionStoreException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_SessionStoreException__ +#define __gnu_javax_net_ssl_SessionStoreException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SessionStoreException; + } + } + } + } +} + +class gnu::javax::net::ssl::SessionStoreException : public ::javax::net::ssl::SSLException +{ + +public: + SessionStoreException(::java::lang::String *); + SessionStoreException(::java::lang::String *, ::java::lang::Throwable *); + SessionStoreException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_SessionStoreException__ diff --git a/libjava/gnu/javax/net/ssl/StaticTrustAnchors.h b/libjava/gnu/javax/net/ssl/StaticTrustAnchors.h new file mode 100644 index 00000000000..ac00c815140 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/StaticTrustAnchors.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_StaticTrustAnchors__ +#define __gnu_javax_net_ssl_StaticTrustAnchors__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class StaticTrustAnchors; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class CertificateFactory; + class X509Certificate; + } + } + } +} + +class gnu::javax::net::ssl::StaticTrustAnchors : public ::java::lang::Object +{ + +public: + StaticTrustAnchors(JArray< ::java::security::cert::X509Certificate * > *); + static ::java::security::cert::X509Certificate * generate(::java::security::cert::CertificateFactory *, ::java::lang::String *); + virtual JArray< ::java::security::cert::X509Certificate * > * getCertificates(); +private: + JArray< ::java::security::cert::X509Certificate * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) certs; +public: + static ::gnu::javax::net::ssl::StaticTrustAnchors * CA_CERTS; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_StaticTrustAnchors__ diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h new file mode 100644 index 00000000000..2e888342633 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$1__ +#define __gnu_javax_net_ssl_provider_AbstractHandshake$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake$1; + class AbstractHandshake$CertVerifier; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::AbstractHandshake$1 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractHandshake$1(::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier *); +public: + ::java::lang::ClassLoader * target$run(); + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$1__ diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h new file mode 100644 index 00000000000..56b6f9ce2c9 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$CertVerifier__ +#define __gnu_javax_net_ssl_provider_AbstractHandshake$CertVerifier__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake; + class AbstractHandshake$CertVerifier; + } + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually protected + AbstractHandshake$CertVerifier(::gnu::javax::net::ssl::provider::AbstractHandshake *, jboolean, JArray< ::java::security::cert::X509Certificate * > *); +public: // actually package-private + virtual jboolean verified(); +public: // actually protected + virtual void implRun(); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) clientSide; + JArray< ::java::security::cert::X509Certificate * > * chain; + jboolean verified__; +public: // actually package-private + ::gnu::javax::net::ssl::provider::AbstractHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$CertVerifier__ diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h new file mode 100644 index 00000000000..d5f0278a7c5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$DHE_PSKGen__ +#define __gnu_javax_net_ssl_provider_AbstractHandshake$DHE_PSKGen__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake; + class AbstractHandshake$DHE_PSKGen; + } + } + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + namespace interfaces + { + class DHPublicKey; + } + } + } +} + +class gnu::javax::net::ssl::provider::AbstractHandshake$DHE_PSKGen : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually protected + AbstractHandshake$DHE_PSKGen(::gnu::javax::net::ssl::provider::AbstractHandshake *, ::javax::crypto::interfaces::DHPublicKey *, ::javax::crypto::SecretKey *, jboolean); + virtual void implRun(); +private: + ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) dhKey; + ::javax::crypto::SecretKey * psKey; + jboolean isClient; +public: // actually package-private + ::gnu::javax::net::ssl::provider::AbstractHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$DHE_PSKGen__ diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h new file mode 100644 index 00000000000..a344f39e528 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$DHPhase__ +#define __gnu_javax_net_ssl_provider_AbstractHandshake$DHPhase__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake; + class AbstractHandshake$DHPhase; + } + } + } + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPublicKey; + } + } + } +} + +class gnu::javax::net::ssl::provider::AbstractHandshake$DHPhase : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually protected + AbstractHandshake$DHPhase(::gnu::javax::net::ssl::provider::AbstractHandshake *, ::javax::crypto::interfaces::DHPublicKey *); + AbstractHandshake$DHPhase(::gnu::javax::net::ssl::provider::AbstractHandshake *, ::javax::crypto::interfaces::DHPublicKey *, jboolean); + virtual void implRun(); +private: + ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) key; + jboolean full; +public: // actually package-private + ::gnu::javax::net::ssl::provider::AbstractHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$DHPhase__ diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h new file mode 100644 index 00000000000..c0501a7da46 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h @@ -0,0 +1,142 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake__ +#define __gnu_javax_net_ssl_provider_AbstractHandshake__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake; + class CompressionMethod; + class InputSecurityParameters; + class OutputSecurityParameters; + class Random; + class SSLEngineImpl; + class SessionImpl; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class MessageDigest; + class SecureRandom; + } + } + namespace javax + { + namespace crypto + { + class KeyAgreement; + namespace interfaces + { + class DHPrivateKey; + } + } + namespace net + { + namespace ssl + { + class SSLEngineResult$HandshakeStatus; + } + } + } +} + +class gnu::javax::net::ssl::provider::AbstractHandshake : public ::java::lang::Object +{ + +public: // actually protected + AbstractHandshake(::gnu::javax::net::ssl::provider::SSLEngineImpl *); +public: + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handleInput(::java::nio::ByteBuffer *); +public: // actually protected + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput() = 0; +public: + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handleOutput(::java::nio::ByteBuffer *); +public: // actually protected + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *) = 0; +public: // actually package-private + virtual ::gnu::javax::net::ssl::provider::InputSecurityParameters * getInputParams(); + virtual ::gnu::javax::net::ssl::provider::OutputSecurityParameters * getOutputParams(); + virtual ::java::lang::Runnable * getTask(); + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status() = 0; + virtual void checkKeyExchange() = 0; + virtual void handleV2Hello(::java::nio::ByteBuffer *) = 0; +public: // actually protected + virtual jboolean pollHandshake(::java::nio::ByteBuffer *); + virtual jboolean doHash(); + virtual jboolean hasMessage(); +private: + void reallocateBuffer(jint); +public: // actually protected + virtual JArray< jbyte > * genV3CertificateVerify(::java::security::MessageDigest *, ::java::security::MessageDigest *, ::gnu::javax::net::ssl::provider::SessionImpl *); + virtual JArray< JArray< jbyte > * > * generateKeys(::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::SessionImpl *); + virtual ::java::nio::ByteBuffer * generateFinished(::java::security::MessageDigest *, ::java::security::MessageDigest *, jboolean, ::gnu::javax::net::ssl::provider::SessionImpl *); + virtual void initDiffieHellman(::javax::crypto::interfaces::DHPrivateKey *, ::java::security::SecureRandom *); + virtual void generateMasterSecret(::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::SessionImpl *); + virtual void setupSecurityParameters(JArray< JArray< jbyte > * > *, jboolean, ::gnu::javax::net::ssl::provider::SSLEngineImpl *, ::gnu::javax::net::ssl::provider::CompressionMethod *); + virtual void generatePSKSecret(::java::lang::String *, JArray< jbyte > *, jboolean); + static ::gnu::classpath::debug::SystemLogger * logger; + static JArray< jbyte > * SERVER_FINISHED; + static JArray< jbyte > * CLIENT_FINISHED; +private: + static JArray< jbyte > * KEY_EXPANSION; + static JArray< jbyte > * MASTER_SECRET; + static JArray< jbyte > * CLIENT_WRITE_KEY; + static JArray< jbyte > * SERVER_WRITE_KEY; + static JArray< jbyte > * IV_BLOCK; + static JArray< jbyte > * SENDER_CLIENT; + static JArray< jbyte > * SENDER_SERVER; +public: // actually protected + static JArray< jbyte > * PAD1; + static JArray< jbyte > * PAD2; + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handshakeBuffer; + jint handshakeOffset; + ::java::security::MessageDigest * sha; + ::java::security::MessageDigest * md5; + ::gnu::javax::net::ssl::provider::SSLEngineImpl * engine; + ::javax::crypto::KeyAgreement * keyAgreement; + JArray< jbyte > * preMasterSecret; + ::gnu::javax::net::ssl::provider::InputSecurityParameters * inParams; + ::gnu::javax::net::ssl::provider::OutputSecurityParameters * outParams; + ::java::util::LinkedList * tasks; + ::gnu::javax::net::ssl::provider::Random * serverRandom; + ::gnu::javax::net::ssl::provider::Random * clientRandom; + ::gnu::javax::net::ssl::provider::CompressionMethod * compression; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_AbstractHandshake__ diff --git a/libjava/gnu/javax/net/ssl/provider/Alert$Description.h b/libjava/gnu/javax/net/ssl/provider/Alert$Description.h new file mode 100644 index 00000000000..90a652672bd --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Alert$Description.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Alert$Description__ +#define __gnu_javax_net_ssl_provider_Alert$Description__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Alert$Description; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Alert$Description : public ::java::lang::Enum +{ + + Alert$Description(::java::lang::String *, jint, jint); +public: + static ::gnu::javax::net::ssl::provider::Alert$Description * forInteger(jint); + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::Alert$Description * > * values(); + static ::gnu::javax::net::ssl::provider::Alert$Description * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::Alert$Description * CLOSE_NOTIFY; + static ::gnu::javax::net::ssl::provider::Alert$Description * UNEXPECTED_MESSAGE; + static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_RECORD_MAC; + static ::gnu::javax::net::ssl::provider::Alert$Description * DECRYPTION_FAILED; + static ::gnu::javax::net::ssl::provider::Alert$Description * RECORD_OVERFLOW; + static ::gnu::javax::net::ssl::provider::Alert$Description * DECOMPRESSION_FAILURE; + static ::gnu::javax::net::ssl::provider::Alert$Description * HANDSHAKE_FAILURE; + static ::gnu::javax::net::ssl::provider::Alert$Description * NO_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::Alert$Description * UNSUPPORTED_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_REVOKED; + static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_EXPIRED; + static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_UNKNOWN; + static ::gnu::javax::net::ssl::provider::Alert$Description * ILLEGAL_PARAMETER; + static ::gnu::javax::net::ssl::provider::Alert$Description * UNKNOWN_CA; + static ::gnu::javax::net::ssl::provider::Alert$Description * ACCESS_DENIED; + static ::gnu::javax::net::ssl::provider::Alert$Description * DECODE_ERROR; + static ::gnu::javax::net::ssl::provider::Alert$Description * DECRYPT_ERROR; + static ::gnu::javax::net::ssl::provider::Alert$Description * EXPORT_RESTRICTION; + static ::gnu::javax::net::ssl::provider::Alert$Description * PROTOCOL_VERSION; + static ::gnu::javax::net::ssl::provider::Alert$Description * INSUFFICIENT_SECURITY; + static ::gnu::javax::net::ssl::provider::Alert$Description * INTERNAL_ERROR; + static ::gnu::javax::net::ssl::provider::Alert$Description * USER_CANCELED; + static ::gnu::javax::net::ssl::provider::Alert$Description * NO_RENEGOTIATION; + static ::gnu::javax::net::ssl::provider::Alert$Description * UNSUPPORTED_EXTENSION; + static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_UNOBTAINABLE; + static ::gnu::javax::net::ssl::provider::Alert$Description * UNRECOGNIZED_NAME; + static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_CERTIFICATE_STATUS_RESPONSE; + static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_CERTIFICATE_HASH_VALUE; + static ::gnu::javax::net::ssl::provider::Alert$Description * UNKNOWN_SRP_USERNAME; + static ::gnu::javax::net::ssl::provider::Alert$Description * MISSING_SRP_USERNAME; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::Alert$Description * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Alert$Description__ diff --git a/libjava/gnu/javax/net/ssl/provider/Alert$Level.h b/libjava/gnu/javax/net/ssl/provider/Alert$Level.h new file mode 100644 index 00000000000..6c31c4e5fe2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Alert$Level.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Alert$Level__ +#define __gnu_javax_net_ssl_provider_Alert$Level__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Alert$Level; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Alert$Level : public ::java::lang::Enum +{ + + Alert$Level(::java::lang::String *, jint, jint); +public: + static ::gnu::javax::net::ssl::provider::Alert$Level * forInteger(jint); + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::Alert$Level * > * values(); + static ::gnu::javax::net::ssl::provider::Alert$Level * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::Alert$Level * WARNING; + static ::gnu::javax::net::ssl::provider::Alert$Level * FATAL; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::Alert$Level * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Alert$Level__ diff --git a/libjava/gnu/javax/net/ssl/provider/Alert.h b/libjava/gnu/javax/net/ssl/provider/Alert.h new file mode 100644 index 00000000000..02a4371933c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Alert.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Alert__ +#define __gnu_javax_net_ssl_provider_Alert__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Alert; + class Alert$Description; + class Alert$Level; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Alert : public ::java::lang::Object +{ + +public: + Alert(::java::nio::ByteBuffer *); + Alert(::gnu::javax::net::ssl::provider::Alert$Level *, ::gnu::javax::net::ssl::provider::Alert$Description *); + jint length(); +public: // actually package-private + JArray< jbyte > * getEncoded(); +public: + ::gnu::javax::net::ssl::provider::Alert$Level * level(); + ::gnu::javax::net::ssl::provider::Alert$Description * description(); + void setLevel(::gnu::javax::net::ssl::provider::Alert$Level *); + void setDescription(::gnu::javax::net::ssl::provider::Alert$Description *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Alert__ diff --git a/libjava/gnu/javax/net/ssl/provider/AlertException.h b/libjava/gnu/javax/net/ssl/provider/AlertException.h new file mode 100644 index 00000000000..bb335b873e5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/AlertException.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_AlertException__ +#define __gnu_javax_net_ssl_provider_AlertException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Alert; + class AlertException; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::AlertException : public ::javax::net::ssl::SSLException +{ + +public: + AlertException(::gnu::javax::net::ssl::provider::Alert *, jboolean); + AlertException(::gnu::javax::net::ssl::provider::Alert *); + AlertException(::gnu::javax::net::ssl::provider::Alert *, jboolean, ::java::lang::Throwable *); + AlertException(::gnu::javax::net::ssl::provider::Alert *, ::java::lang::Throwable *); + virtual ::java::lang::String * getMessage(); + virtual ::gnu::javax::net::ssl::provider::Alert * alert(); + virtual jboolean isLocal(); +private: + ::gnu::javax::net::ssl::provider::Alert * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLException)))) alert__; + jboolean isLocal__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_AlertException__ diff --git a/libjava/gnu/javax/net/ssl/provider/Builder.h b/libjava/gnu/javax/net/ssl/provider/Builder.h new file mode 100644 index 00000000000..4c6b795c71a --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Builder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Builder__ +#define __gnu_javax_net_ssl_provider_Builder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Builder; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Builder : public ::java::lang::Object +{ + +public: + virtual ::java::nio::ByteBuffer * buffer() = 0; + virtual jint length() = 0; + virtual ::java::lang::String * toString(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_provider_Builder__ diff --git a/libjava/gnu/javax/net/ssl/provider/Certificate.h b/libjava/gnu/javax/net/ssl/provider/Certificate.h new file mode 100644 index 00000000000..2ad08db5580 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Certificate.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Certificate__ +#define __gnu_javax_net_ssl_provider_Certificate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Certificate; + class CertificateType; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Certificate : public ::java::lang::Object +{ + +public: + Certificate(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CertificateType *); + virtual jint length(); + virtual ::java::util::List * certificates(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually protected + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::gnu::javax::net::ssl::provider::CertificateType * type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Certificate__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h b/libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h new file mode 100644 index 00000000000..136fd69adba --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateBuilder__ +#define __gnu_javax_net_ssl_provider_CertificateBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateBuilder; + class CertificateType; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateBuilder : public ::gnu::javax::net::ssl::provider::Certificate +{ + +public: + CertificateBuilder(::gnu::javax::net::ssl::provider::CertificateType *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual void setCertificates(::java::util::List *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateBuilder__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h new file mode 100644 index 00000000000..b6e51c839e7 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateRequest$ClientCertificateType__ +#define __gnu_javax_net_ssl_provider_CertificateRequest$ClientCertificateType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateRequest$ClientCertificateType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType : public ::java::lang::Enum +{ + + CertificateRequest$ClientCertificateType(::java::lang::String *, jint, jint); +public: // actually package-private + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * forValue(jint); +public: + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * > * values(); + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * RSA_SIGN; + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * DSS_SIGN; + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * RSA_FIXED_DH; + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * DSS_FIXED_DH; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateRequest$ClientCertificateType__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h new file mode 100644 index 00000000000..54ace32dd92 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateRequest$ClientType__ +#define __gnu_javax_net_ssl_provider_CertificateRequest$ClientType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateRequest$ClientType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateRequest$ClientType : public ::java::lang::Object +{ + + CertificateRequest$ClientType(jint); +public: // actually package-private + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * read(::java::io::InputStream *); +public: + JArray< jbyte > * getEncoded(); + jint getValue(); + ::java::lang::String * toString(); +public: // actually package-private + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * RSA_SIGN; + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * DSS_SIGN; + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * RSA_FIXED_DH; + static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientType * DSS_FIXED_DH; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateRequest$ClientType__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequest.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequest.h new file mode 100644 index 00000000000..08e7f193dd7 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequest.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateRequest__ +#define __gnu_javax_net_ssl_provider_CertificateRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateRequest; + class ClientCertificateTypeList; + class X500PrincipalList; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateRequest : public ::java::lang::Object +{ + +public: + CertificateRequest(::java::nio::ByteBuffer *); + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::ClientCertificateTypeList * types(); + virtual ::gnu::javax::net::ssl::provider::X500PrincipalList * authorities(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually protected + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateRequest__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h new file mode 100644 index 00000000000..3be6ceac1ee --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateRequestBuilder__ +#define __gnu_javax_net_ssl_provider_CertificateRequestBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateRequestBuilder; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateRequestBuilder : public ::gnu::javax::net::ssl::provider::CertificateRequest +{ + +public: + CertificateRequestBuilder(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual void setTypes(::java::util::List *); + virtual void setAuthorities(::java::util::List *); + virtual void ensureCapacity(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateRequestBuilder__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h new file mode 100644 index 00000000000..ce75fe69272 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateStatusRequest$ResponderIdIterator__ +#define __gnu_javax_net_ssl_provider_CertificateStatusRequest$ResponderIdIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateStatusRequest; + class CertificateStatusRequest$ResponderIdIterator; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateStatusRequest$ResponderIdIterator : public ::java::lang::Object +{ + +public: + CertificateStatusRequest$ResponderIdIterator(::gnu::javax::net::ssl::provider::CertificateStatusRequest *); + virtual JArray< jbyte > * target$next(); + virtual jboolean hasNext(); + virtual void remove(); + virtual ::java::lang::Object * next(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; +public: // actually package-private + ::gnu::javax::net::ssl::provider::CertificateStatusRequest * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateStatusRequest$ResponderIdIterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h new file mode 100644 index 00000000000..3d9ee96c1a3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateStatusRequest__ +#define __gnu_javax_net_ssl_provider_CertificateStatusRequest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateStatusRequest; + class CertificateStatusType; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateStatusRequest : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + +public: + CertificateStatusRequest(::java::nio::ByteBuffer *); + CertificateStatusRequest(::gnu::javax::net::ssl::provider::CertificateStatusType *, ::java::util::List *, JArray< jbyte > *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::gnu::javax::net::ssl::provider::CertificateStatusType * statusType(); + virtual jint size(); + virtual JArray< jbyte > * responderId(jint); + virtual JArray< jbyte > * requestExtensions(); + virtual void setStatusType(::gnu::javax::net::ssl::provider::CertificateStatusType *); + virtual void setRequestIdListLength(jint); + virtual void putRequestId(jint, JArray< jbyte > *); + virtual void setRequestExtensions(jint, JArray< jbyte > *); + virtual ::java::util::Iterator * iterator(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateStatusRequest__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h b/libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h new file mode 100644 index 00000000000..fedeebe1614 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateStatusType__ +#define __gnu_javax_net_ssl_provider_CertificateStatusType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateStatusType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateStatusType : public ::java::lang::Enum +{ + + CertificateStatusType(::java::lang::String *, jint, jint); +public: + static JArray< ::gnu::javax::net::ssl::provider::CertificateStatusType * > * values(); + static ::gnu::javax::net::ssl::provider::CertificateStatusType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CertificateStatusType * OCSP; + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; +private: + static JArray< ::gnu::javax::net::ssl::provider::CertificateStatusType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateStatusType__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateType.h b/libjava/gnu/javax/net/ssl/provider/CertificateType.h new file mode 100644 index 00000000000..e7cc0f62dfe --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateType.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateType__ +#define __gnu_javax_net_ssl_provider_CertificateType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateType : public ::java::lang::Enum +{ + + CertificateType(::java::lang::String *, jint, jint); +public: + static ::gnu::javax::net::ssl::provider::CertificateType * forValue(jint); + static JArray< ::gnu::javax::net::ssl::provider::CertificateType * > * values(); + static ::gnu::javax::net::ssl::provider::CertificateType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CertificateType * X509; + static ::gnu::javax::net::ssl::provider::CertificateType * OPEN_PGP; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::CertificateType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateType__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h new file mode 100644 index 00000000000..ea65ea44522 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateURL$CertChainType__ +#define __gnu_javax_net_ssl_provider_CertificateURL$CertChainType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateURL$CertChainType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateURL$CertChainType : public ::java::lang::Enum +{ + + CertificateURL$CertChainType(::java::lang::String *, jint, jint); +public: + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * > * values(); + static ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * INDIVIDUAL_CERTS; + static ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * PKIPATH; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateURL$CertChainType__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h new file mode 100644 index 00000000000..9809890d767 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateURL$Iterator__ +#define __gnu_javax_net_ssl_provider_CertificateURL$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateURL; + class CertificateURL$Iterator; + class CertificateURL$URLAndOptionalHash; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CertificateURL$Iterator : public ::java::lang::Object +{ + +public: + CertificateURL$Iterator(::gnu::javax::net::ssl::provider::CertificateURL *); + virtual ::gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash * target$next(); + virtual jboolean hasNext(); + virtual void remove(); + virtual ::java::lang::Object * next(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; +public: // actually package-private + ::gnu::javax::net::ssl::provider::CertificateURL * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateURL$Iterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h new file mode 100644 index 00000000000..4cc2a8e2348 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateURL$URLAndOptionalHash__ +#define __gnu_javax_net_ssl_provider_CertificateURL$URLAndOptionalHash__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateURL$URLAndOptionalHash; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash : public ::java::lang::Object +{ + +public: + CertificateURL$URLAndOptionalHash(::java::nio::ByteBuffer *); + CertificateURL$URLAndOptionalHash(::java::lang::String *); + CertificateURL$URLAndOptionalHash(::java::lang::String *, JArray< jbyte > *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::lang::String * url(); + virtual jint urlLength(); + virtual ::java::nio::ByteBuffer * urlBuffer(); + virtual jboolean hashPresent(); + virtual JArray< jbyte > * sha1Hash(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateURL$URLAndOptionalHash__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL.h new file mode 100644 index 00000000000..d2eab487002 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateURL__ +#define __gnu_javax_net_ssl_provider_CertificateURL__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateURL; + class CertificateURL$CertChainType; + class CertificateURL$URLAndOptionalHash; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateURL : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + +public: + CertificateURL(::java::nio::ByteBuffer *); + CertificateURL(::gnu::javax::net::ssl::provider::CertificateURL$CertChainType *, ::java::util::List *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * type(); + virtual jint size(); + virtual ::gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash * get(jint); + virtual void set(jint, ::gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash *); + virtual void setLength(jint); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + virtual ::java::util::Iterator * iterator(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateURL__ diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateVerify.h b/libjava/gnu/javax/net/ssl/provider/CertificateVerify.h new file mode 100644 index 00000000000..e130b5c4bfa --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CertificateVerify.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CertificateVerify__ +#define __gnu_javax_net_ssl_provider_CertificateVerify__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateVerify; + class SignatureAlgorithm; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CertificateVerify : public ::gnu::javax::net::ssl::provider::Signature +{ + +public: + CertificateVerify(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *); + CertificateVerify(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CertificateVerify__ diff --git a/libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h new file mode 100644 index 00000000000..54395bdb678 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CipherAlgorithm__ +#define __gnu_javax_net_ssl_provider_CipherAlgorithm__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherAlgorithm; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CipherAlgorithm : public ::java::lang::Enum +{ + + CipherAlgorithm(::java::lang::String *, jint); +public: + static JArray< ::gnu::javax::net::ssl::provider::CipherAlgorithm * > * values(); + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * NULL; + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * RC4; + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * DES; + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * DESede; + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * CAST5; + static ::gnu::javax::net::ssl::provider::CipherAlgorithm * AES; +private: + static JArray< ::gnu::javax::net::ssl::provider::CipherAlgorithm * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CipherAlgorithm__ diff --git a/libjava/gnu/javax/net/ssl/provider/CipherSuite.h b/libjava/gnu/javax/net/ssl/provider/CipherSuite.h new file mode 100644 index 00000000000..511b6de6596 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CipherSuite.h @@ -0,0 +1,145 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CipherSuite__ +#define __gnu_javax_net_ssl_provider_CipherSuite__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherAlgorithm; + class CipherSuite; + class KeyExchangeAlgorithm; + class MacAlgorithm; + class ProtocolVersion; + class SignatureAlgorithm; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class Mac; + } + } +} + +class gnu::javax::net::ssl::provider::CipherSuite : public ::java::lang::Object +{ + + CipherSuite(::gnu::javax::net::ssl::provider::CipherAlgorithm *, ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *, ::gnu::javax::net::ssl::provider::MacAlgorithm *, jint, jint, jint, ::java::lang::String *); + CipherSuite(::gnu::javax::net::ssl::provider::CipherAlgorithm *, ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm *, jboolean, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *, ::gnu::javax::net::ssl::provider::MacAlgorithm *, jint, jint, jint, ::java::lang::String *); + CipherSuite(JArray< jbyte > *); +public: + static ::gnu::javax::net::ssl::provider::CipherSuite * forName(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CipherSuite * forValue(jshort); + static ::java::util::List * availableSuiteNames(); + ::gnu::javax::net::ssl::provider::CipherAlgorithm * cipherAlgorithm(); + ::javax::crypto::Cipher * cipher(); + ::gnu::javax::net::ssl::provider::MacAlgorithm * macAlgorithm(); + ::javax::crypto::Mac * mac(::gnu::javax::net::ssl::provider::ProtocolVersion *); + ::gnu::javax::net::ssl::provider::SignatureAlgorithm * signatureAlgorithm(); + ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * keyExchangeAlgorithm(); + jboolean isEphemeralDH(); + jint length(); + void write(::java::io::OutputStream *); + void put(::java::nio::ByteBuffer *); + ::gnu::javax::net::ssl::provider::CipherSuite * resolve(); + jboolean isResolved(); + jint keyLength(); + jboolean isExportable(); + jboolean isStreamCipher(); + JArray< jbyte > * id(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(::java::lang::String *); + ::java::lang::String * toString(); +private: + static ::java::util::List * tlsSuiteNames; + static ::java::util::HashMap * namesToSuites; +public: + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_NULL_WITH_NULL_NULL; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_NULL_MD5; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_NULL_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_EXPORT_WITH_RC4_40_MD5; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_RC4_128_MD5; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_RC4_128_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_EXPORT_WITH_DES40_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_DES_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_DES_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_DES_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_DES_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_DES_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_RC4_128_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_RC4_128_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_AES_256_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_RC4_128_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_AES_128_CBC_SHA; + static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_AES_256_CBC_SHA; +private: + ::gnu::javax::net::ssl::provider::CipherAlgorithm * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipherAlgorithm__; + ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * keyExchangeAlgorithm__; + ::gnu::javax::net::ssl::provider::SignatureAlgorithm * signatureAlgorithm__; + ::gnu::javax::net::ssl::provider::MacAlgorithm * macAlgorithm__; + jboolean ephemeralDH; + jboolean exportable; + jboolean isStream; + jint keyLength__; + JArray< jbyte > * id__; + ::java::lang::String * name; + jboolean isResolved__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CipherSuite__ diff --git a/libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h new file mode 100644 index 00000000000..0d206f0a93e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CipherSuiteList$Iterator__ +#define __gnu_javax_net_ssl_provider_CipherSuiteList$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class CipherSuiteList; + class CipherSuiteList$Iterator; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CipherSuiteList$Iterator : public ::java::lang::Object +{ + +public: // actually package-private + CipherSuiteList$Iterator(::gnu::javax::net::ssl::provider::CipherSuiteList *); +public: + virtual void target$add(::gnu::javax::net::ssl::provider::CipherSuite *); + virtual jboolean hasNext(); + virtual jboolean hasPrevious(); + virtual ::gnu::javax::net::ssl::provider::CipherSuite * target$next(); + virtual jint nextIndex(); + virtual ::gnu::javax::net::ssl::provider::CipherSuite * target$previous(); + virtual jint previousIndex(); + virtual void remove(); + virtual void target$set(::gnu::javax::net::ssl::provider::CipherSuite *); + virtual ::java::lang::Object * next(); + virtual ::java::lang::Object * previous(); + virtual void add(::java::lang::Object *); + virtual void set(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount; + jint index; +public: // actually package-private + ::gnu::javax::net::ssl::provider::CipherSuiteList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CipherSuiteList$Iterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h new file mode 100644 index 00000000000..3262080aacc --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CipherSuiteList__ +#define __gnu_javax_net_ssl_provider_CipherSuiteList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class CipherSuiteList; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CipherSuiteList : public ::java::lang::Object +{ + +public: + CipherSuiteList(::java::nio::ByteBuffer *); + CipherSuiteList(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + jint size(); + ::gnu::javax::net::ssl::provider::CipherSuite * get(jint); + void put(jint, ::gnu::javax::net::ssl::provider::CipherSuite *); + void setSize(jint); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); + jboolean equals(::java::lang::Object *); + ::java::util::Iterator * iterator(); +public: // actually package-private + static jint access$0(::gnu::javax::net::ssl::provider::CipherSuiteList *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; + jint modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CipherSuiteList__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h new file mode 100644 index 00000000000..215e4b38832 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientCertificateTypeList$Iterator__ +#define __gnu_javax_net_ssl_provider_ClientCertificateTypeList$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateRequest$ClientCertificateType; + class ClientCertificateTypeList; + class ClientCertificateTypeList$Iterator; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ClientCertificateTypeList$Iterator : public ::java::lang::Object +{ + +public: // actually package-private + ClientCertificateTypeList$Iterator(::gnu::javax::net::ssl::provider::ClientCertificateTypeList *); +public: + virtual void target$add(::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType *); + virtual jboolean hasNext(); + virtual jboolean hasPrevious(); + virtual ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * target$next(); + virtual jint nextIndex(); + virtual ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * target$previous(); + virtual jint previousIndex(); + virtual void remove(); + virtual void target$set(::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType *); + virtual ::java::lang::Object * next(); + virtual ::java::lang::Object * previous(); + virtual void add(::java::lang::Object *); + virtual void set(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + jint modCount; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ClientCertificateTypeList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientCertificateTypeList$Iterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h new file mode 100644 index 00000000000..975b227780f --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientCertificateTypeList__ +#define __gnu_javax_net_ssl_provider_ClientCertificateTypeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateRequest$ClientCertificateType; + class ClientCertificateTypeList; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientCertificateTypeList : public ::java::lang::Object +{ + +public: + ClientCertificateTypeList(::java::nio::ByteBuffer *); + virtual jint size(); + virtual ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * get(jint); + virtual ::java::util::Iterator * iterator(); + virtual void put(jint, ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType *); + virtual void setSize(jint); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + static jint access$0(::gnu::javax::net::ssl::provider::ClientCertificateTypeList *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jint modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientCertificateTypeList__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h new file mode 100644 index 00000000000..bd4fd8827ce --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientDHE_PSKParameters__ +#define __gnu_javax_net_ssl_provider_ClientDHE_PSKParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientDHE_PSKParameters; + class ClientDiffieHellmanPublic; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientDHE_PSKParameters : public ::gnu::javax::net::ssl::provider::ExchangeKeys +{ + +public: + ClientDHE_PSKParameters(::java::nio::ByteBuffer *); + ClientDHE_PSKParameters(::java::lang::String *, ::gnu::javax::net::ssl::provider::ClientDiffieHellmanPublic *); + virtual ::java::nio::ByteBuffer * buffer(); +private: + jint identityLength(); +public: + virtual ::java::lang::String * identity(); + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::ClientDiffieHellmanPublic * params(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientDHE_PSKParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h b/libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h new file mode 100644 index 00000000000..77bd040bd2d --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientDiffieHellmanPublic__ +#define __gnu_javax_net_ssl_provider_ClientDiffieHellmanPublic__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientDiffieHellmanPublic; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientDiffieHellmanPublic : public ::gnu::javax::net::ssl::provider::ExchangeKeys +{ + +public: + ClientDiffieHellmanPublic(::java::nio::ByteBuffer *); + ClientDiffieHellmanPublic(::java::math::BigInteger *); +private: + static ::java::nio::ByteBuffer * wrap(::java::math::BigInteger *); +public: + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::math::BigInteger * publicValue(); + virtual void setPublicValue(::java::math::BigInteger *); + virtual jint length(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientDiffieHellmanPublic__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h new file mode 100644 index 00000000000..dc42fab4fc3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$CertLoader__ +#define __gnu_javax_net_ssl_provider_ClientHandshake$CertLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHandshake; + class ClientHandshake$CertLoader; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake$CertLoader : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ClientHandshake$CertLoader(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::util::List *, ::java::util::List *); +public: + virtual void implRun(); +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) keyTypes; + ::java::util::List * issuers; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ClientHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake$CertLoader__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h new file mode 100644 index 00000000000..8f33e96dd52 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$ClientDHGen__ +#define __gnu_javax_net_ssl_provider_ClientHandshake$ClientDHGen__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHandshake; + class ClientHandshake$ClientDHGen; + } + } + } + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPublicKey; + } + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake$ClientDHGen : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ClientHandshake$ClientDHGen(::gnu::javax::net::ssl::provider::ClientHandshake *, ::javax::crypto::interfaces::DHPublicKey *, ::javax::crypto::spec::DHParameterSpec *, jboolean); +public: + virtual void implRun(); +public: // actually package-private + virtual ::javax::crypto::interfaces::DHPublicKey * serverKey(); +private: + ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) serverKey__; + ::javax::crypto::spec::DHParameterSpec * params; + jboolean full; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ClientHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake$ClientDHGen__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h new file mode 100644 index 00000000000..4c4e8f18bc9 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$GenCertVerify__ +#define __gnu_javax_net_ssl_provider_ClientHandshake$GenCertVerify__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHandshake; + class ClientHandshake$GenCertVerify; + } + } + } + } + } + namespace java + { + namespace security + { + class MessageDigest; + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake$GenCertVerify : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ClientHandshake$GenCertVerify(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::security::MessageDigest *, ::java::security::MessageDigest *); +public: + virtual void implRun(); +public: // actually package-private + virtual JArray< jbyte > * signed$(); +private: + ::java::security::MessageDigest * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) md5; + ::java::security::MessageDigest * sha; + JArray< jbyte > * signed$__; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ClientHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake$GenCertVerify__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h new file mode 100644 index 00000000000..d1830a03bc2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$ParamsVerifier__ +#define __gnu_javax_net_ssl_provider_ClientHandshake$ParamsVerifier__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHandshake; + class ClientHandshake$ParamsVerifier; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake$ParamsVerifier : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ClientHandshake$ParamsVerifier(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::nio::ByteBuffer *, JArray< jbyte > *); +public: + virtual void implRun(); +public: // actually package-private + virtual jboolean verified(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) paramsBuffer; + JArray< jbyte > * signature; + jboolean verified__; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ClientHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake$ParamsVerifier__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h new file mode 100644 index 00000000000..02cde17b3e3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$RSAGen__ +#define __gnu_javax_net_ssl_provider_ClientHandshake$RSAGen__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHandshake; + class ClientHandshake$RSAGen; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake$RSAGen : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ClientHandshake$RSAGen(::gnu::javax::net::ssl::provider::ClientHandshake *); + ClientHandshake$RSAGen(::gnu::javax::net::ssl::provider::ClientHandshake *, jboolean); +public: + virtual void implRun(); +public: // actually package-private + virtual JArray< jbyte > * encryptedSecret(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) encryptedPreMasterSecret; + jboolean full; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ClientHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake$RSAGen__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h new file mode 100644 index 00000000000..26e93469047 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$State__ +#define __gnu_javax_net_ssl_provider_ClientHandshake$State__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHandshake$State; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake$State : public ::java::lang::Enum +{ + + ClientHandshake$State(::java::lang::String *, jint, jboolean, jboolean); +public: // actually package-private + jboolean isReadState(); + jboolean isWriteState(); +public: + static JArray< ::gnu::javax::net::ssl::provider::ClientHandshake$State * > * values(); + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CLIENT_HELLO; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_SERVER_HELLO; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_SERVER_KEY_EXCHANGE; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_CERTIFICATE_REQUEST; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_SERVER_HELLO_DONE; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CLIENT_KEY_EXCHANGE; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CERTIFICATE_VERIFY; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_FINISHED; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_FINISHED; + static ::gnu::javax::net::ssl::provider::ClientHandshake$State * DONE; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Enum)))) isWriteState__; + jboolean isReadState__; + static JArray< ::gnu::javax::net::ssl::provider::ClientHandshake$State * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake$State__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake.h new file mode 100644 index 00000000000..ad331b85d3a --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHandshake__ +#define __gnu_javax_net_ssl_provider_ClientHandshake__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake$CertVerifier; + class ClientHandshake; + class ClientHandshake$CertLoader; + class ClientHandshake$GenCertVerify; + class ClientHandshake$ParamsVerifier; + class ClientHandshake$State; + class DelegatedTask; + class MaxFragmentLength; + class ProtocolVersion; + class SSLEngineImpl; + class SessionImpl; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class KeyPair; + class PrivateKey; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngineResult$HandshakeStatus; + } + } + } +} + +class gnu::javax::net::ssl::provider::ClientHandshake : public ::gnu::javax::net::ssl::provider::AbstractHandshake +{ + +public: + ClientHandshake(::gnu::javax::net::ssl::provider::SSLEngineImpl *); +public: // actually protected + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput(); + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *); +public: // actually package-private + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status(); + virtual void checkKeyExchange(); + virtual void handleV2Hello(::java::nio::ByteBuffer *); +private: + ::gnu::javax::net::ssl::provider::ProtocolVersion * chooseVersion(); + ::java::util::List * getSuites(); + ::java::util::List * getCompressionMethods(); + jboolean enableExtensions(); + ::gnu::javax::net::ssl::provider::MaxFragmentLength * maxFragmentLength(); + jboolean truncatedHMac(); + ::java::lang::String * getPSKIdentity(); +public: // actually package-private + static ::gnu::javax::net::ssl::provider::ClientHandshake$ParamsVerifier * access$0(::gnu::javax::net::ssl::provider::ClientHandshake *); + static void access$1(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::security::KeyPair *); + static ::java::security::KeyPair * access$2(::gnu::javax::net::ssl::provider::ClientHandshake *); + static void access$3(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::lang::String *); + static ::java::lang::String * access$4(::gnu::javax::net::ssl::provider::ClientHandshake *); + static void access$5(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::security::PrivateKey *); + static ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * access$6(::gnu::javax::net::ssl::provider::ClientHandshake *); + static ::gnu::javax::net::ssl::provider::ProtocolVersion * access$7(::gnu::javax::net::ssl::provider::ClientHandshake *); + static ::java::security::PrivateKey * access$8(::gnu::javax::net::ssl::provider::ClientHandshake *); + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type(); + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ClientHandshake$State(); +private: + ::gnu::javax::net::ssl::provider::ClientHandshake$State * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::AbstractHandshake)))) state; + ::java::nio::ByteBuffer * outBuffer; + jboolean continuedSession; + ::gnu::javax::net::ssl::provider::SessionImpl * continued; + ::java::security::KeyPair * dhPair; + ::java::lang::String * keyAlias; + ::java::security::PrivateKey * privateKey; + ::gnu::javax::net::ssl::provider::MaxFragmentLength * maxFragmentLengthSent; + jboolean truncatedHMacSent; + ::gnu::javax::net::ssl::provider::ProtocolVersion * sentVersion; + ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * certVerifier; + ::gnu::javax::net::ssl::provider::ClientHandshake$ParamsVerifier * paramsVerifier; + ::gnu::javax::net::ssl::provider::DelegatedTask * keyExchange; + ::gnu::javax::net::ssl::provider::ClientHandshake$CertLoader * certLoader; + ::gnu::javax::net::ssl::provider::ClientHandshake$GenCertVerify * genCertVerify; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ClientHandshake$State__; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHandshake__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHello.h b/libjava/gnu/javax/net/ssl/provider/ClientHello.h new file mode 100644 index 00000000000..a13e88264d6 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHello.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHello__ +#define __gnu_javax_net_ssl_provider_ClientHello__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuiteList; + class ClientHello; + class CompressionMethodList; + class ExtensionList; + class ProtocolVersion; + class Random; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientHello : public ::java::lang::Object +{ + +public: + ClientHello(::java::nio::ByteBuffer *); + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version(); + virtual ::gnu::javax::net::ssl::provider::Random * random(); + virtual JArray< jbyte > * sessionId(); + virtual ::gnu::javax::net::ssl::provider::CipherSuiteList * cipherSuites(); + virtual ::gnu::javax::net::ssl::provider::CompressionMethodList * compressionMethods(); + virtual jboolean hasExtensions(); + virtual ::gnu::javax::net::ssl::provider::ExtensionList * extensions(); + virtual jint extensionsLength(); +public: // actually protected + virtual jint getCipherSuitesOffset(); + virtual jint getCompressionMethodsOffset(); + virtual jint getExtensionsOffset(); +public: + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually protected + static const jint RANDOM_OFFSET = 2; + static const jint SESSID_OFFSET = 34; + static const jint SESSID_OFFSET2 = 35; + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jboolean disableExtensions; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHello__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h b/libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h new file mode 100644 index 00000000000..cfc33f19bb3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHelloBuilder__ +#define __gnu_javax_net_ssl_provider_ClientHelloBuilder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHelloBuilder; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientHelloBuilder : public ::gnu::javax::net::ssl::provider::ClientHello +{ + +public: + ClientHelloBuilder(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual void setSessionId(JArray< jbyte > *); + virtual void setSessionId(JArray< jbyte > *, jint, jint); + virtual void setCipherSuites(::java::util::List *); + virtual void setCompressionMethods(::java::util::List *); + virtual void setExtensionsLength(jint); + virtual void setExtensions(::java::nio::ByteBuffer *); + virtual void setDisableExtensions(jboolean); + virtual void ensureCapacity(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHelloBuilder__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h b/libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h new file mode 100644 index 00000000000..75831abbd62 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientHelloV2__ +#define __gnu_javax_net_ssl_provider_ClientHelloV2__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientHelloV2; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientHelloV2 : public ::java::lang::Object +{ + +public: // actually package-private + ClientHelloV2(::java::nio::ByteBuffer *); +public: + virtual jint length(); +public: // actually package-private + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version(); + virtual jint cipherSpecsLength(); + virtual jint sessionIdLength(); + virtual jint challengeLength(); +public: + virtual ::java::util::List * cipherSpecs(); +public: // actually package-private + virtual JArray< jbyte > * sessionId(); + virtual JArray< jbyte > * challenge(); +public: + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientHelloV2__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h new file mode 100644 index 00000000000..1ab6b2e4039 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientKeyExchange__ +#define __gnu_javax_net_ssl_provider_ClientKeyExchange__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class ClientKeyExchange; + class ExchangeKeys; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientKeyExchange : public ::java::lang::Object +{ + +public: + ClientKeyExchange(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CipherSuite *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual ::gnu::javax::net::ssl::provider::ExchangeKeys * exchangeKeys(); + virtual jint length(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually protected + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::gnu::javax::net::ssl::provider::CipherSuite * suite; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientKeyExchange__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h new file mode 100644 index 00000000000..eb2b8f3e073 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientKeyExchangeBuilder__ +#define __gnu_javax_net_ssl_provider_ClientKeyExchangeBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class ClientKeyExchangeBuilder; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientKeyExchangeBuilder : public ::gnu::javax::net::ssl::provider::ClientKeyExchange +{ + +public: + ClientKeyExchangeBuilder(::gnu::javax::net::ssl::provider::CipherSuite *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual void setExchangeKeys(::java::nio::ByteBuffer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientKeyExchangeBuilder__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h new file mode 100644 index 00000000000..539743240b7 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientPSKParameters__ +#define __gnu_javax_net_ssl_provider_ClientPSKParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientPSKParameters; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientPSKParameters : public ::gnu::javax::net::ssl::provider::ExchangeKeys +{ + +public: + ClientPSKParameters(::java::nio::ByteBuffer *); + ClientPSKParameters(::java::lang::String *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual jint length(); + virtual ::java::lang::String * identity(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientPSKParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h new file mode 100644 index 00000000000..65314311772 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ClientRSA_PSKParameters__ +#define __gnu_javax_net_ssl_provider_ClientRSA_PSKParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ClientRSA_PSKParameters; + class EncryptedPreMasterSecret; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ClientRSA_PSKParameters : public ::gnu::javax::net::ssl::provider::ExchangeKeys +{ + +public: + ClientRSA_PSKParameters(::java::nio::ByteBuffer *); + ClientRSA_PSKParameters(::java::lang::String *, ::java::nio::ByteBuffer *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::lang::String * identity(); +private: + jint identityLength(); +public: + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::EncryptedPreMasterSecret * secret(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ClientRSA_PSKParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/CompressionMethod.h b/libjava/gnu/javax/net/ssl/provider/CompressionMethod.h new file mode 100644 index 00000000000..c8a2c1e37a2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CompressionMethod.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CompressionMethod__ +#define __gnu_javax_net_ssl_provider_CompressionMethod__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CompressionMethod; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CompressionMethod : public ::java::lang::Enum +{ + + CompressionMethod(::java::lang::String *, jint, jint); +public: + static ::gnu::javax::net::ssl::provider::CompressionMethod * getInstance(jint); + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::CompressionMethod * > * values(); + static ::gnu::javax::net::ssl::provider::CompressionMethod * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::CompressionMethod * NULL; + static ::gnu::javax::net::ssl::provider::CompressionMethod * ZLIB; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::CompressionMethod * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CompressionMethod__ diff --git a/libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h new file mode 100644 index 00000000000..44519e1903e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CompressionMethodList$Iterator__ +#define __gnu_javax_net_ssl_provider_CompressionMethodList$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CompressionMethod; + class CompressionMethodList; + class CompressionMethodList$Iterator; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::CompressionMethodList$Iterator : public ::java::lang::Object +{ + +public: // actually package-private + CompressionMethodList$Iterator(::gnu::javax::net::ssl::provider::CompressionMethodList *); +public: + virtual void target$add(::gnu::javax::net::ssl::provider::CompressionMethod *); + virtual jboolean hasNext(); + virtual jboolean hasPrevious(); + virtual ::gnu::javax::net::ssl::provider::CompressionMethod * target$next(); + virtual jint nextIndex(); + virtual ::gnu::javax::net::ssl::provider::CompressionMethod * target$previous(); + virtual jint previousIndex(); + virtual void remove(); + virtual void target$set(::gnu::javax::net::ssl::provider::CompressionMethod *); + virtual ::java::lang::Object * next(); + virtual ::java::lang::Object * previous(); + virtual void add(::java::lang::Object *); + virtual void set(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + jint modCount; +public: // actually package-private + ::gnu::javax::net::ssl::provider::CompressionMethodList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CompressionMethodList$Iterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h new file mode 100644 index 00000000000..5e1addba4fd --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_CompressionMethodList__ +#define __gnu_javax_net_ssl_provider_CompressionMethodList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CompressionMethod; + class CompressionMethodList; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::CompressionMethodList : public ::java::lang::Object +{ + +public: + CompressionMethodList(::java::nio::ByteBuffer *); + jint size(); + ::gnu::javax::net::ssl::provider::CompressionMethod * get(jint); + void put(jint, ::gnu::javax::net::ssl::provider::CompressionMethod *); + void setSize(jint); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); + jboolean equals(::java::lang::Object *); + ::java::util::Iterator * iterator(); +public: // actually package-private + static jint access$0(::gnu::javax::net::ssl::provider::CompressionMethodList *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jint modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_CompressionMethodList__ diff --git a/libjava/gnu/javax/net/ssl/provider/Constructed.h b/libjava/gnu/javax/net/ssl/provider/Constructed.h new file mode 100644 index 00000000000..d5b527fc944 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Constructed.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Constructed__ +#define __gnu_javax_net_ssl_provider_Constructed__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Constructed; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Constructed : public ::java::lang::Object +{ + +public: + virtual jint length() = 0; + virtual ::java::lang::String * toString(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_provider_Constructed__ diff --git a/libjava/gnu/javax/net/ssl/provider/ContentType.h b/libjava/gnu/javax/net/ssl/provider/ContentType.h new file mode 100644 index 00000000000..4f3067b710b --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ContentType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ContentType__ +#define __gnu_javax_net_ssl_provider_ContentType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ContentType : public ::java::lang::Enum +{ + + ContentType(::java::lang::String *, jint, jint); +public: // actually package-private + static ::gnu::javax::net::ssl::provider::ContentType * forInteger(jint); +public: + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::ContentType * > * values(); + static ::gnu::javax::net::ssl::provider::ContentType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::ContentType * CLIENT_HELLO_V2; + static ::gnu::javax::net::ssl::provider::ContentType * CHANGE_CIPHER_SPEC; + static ::gnu::javax::net::ssl::provider::ContentType * ALERT; + static ::gnu::javax::net::ssl::provider::ContentType * HANDSHAKE; + static ::gnu::javax::net::ssl::provider::ContentType * APPLICATION_DATA; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::ContentType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ContentType__ diff --git a/libjava/gnu/javax/net/ssl/provider/Context.h b/libjava/gnu/javax/net/ssl/provider/Context.h new file mode 100644 index 00000000000..b6a838db819 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Context.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Context__ +#define __gnu_javax_net_ssl_provider_Context__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SRPTrustManager; + namespace provider + { + class Context; + class SessionContext; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class SSLServerSocketFactory; + class SSLSessionContext; + class SSLSocketFactory; + class TrustManager; + class X509KeyManager; + class X509TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::Context : public ::javax::net::ssl::SSLContextSpi +{ + +public: + Context(); +public: // actually protected + ::javax::net::ssl::SSLSessionContext * engineGetClientSessionContext(); + ::javax::net::ssl::SSLSessionContext * engineGetServerSessionContext(); + ::javax::net::ssl::SSLServerSocketFactory * engineGetServerSocketFactory(); + ::javax::net::ssl::SSLSocketFactory * engineGetSocketFactory(); + void engineInit(JArray< ::javax::net::ssl::KeyManager * > *, JArray< ::javax::net::ssl::TrustManager * > *, ::java::security::SecureRandom *); +private: + ::javax::net::ssl::X509KeyManager * defaultKeyManager(); + ::javax::net::ssl::X509TrustManager * defaultTrustManager(); + ::java::security::SecureRandom * defaultRandom(); + ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLContextSpi)))) clientSessions; + ::gnu::javax::net::ssl::provider::SessionContext * serverSessions; + ::javax::net::ssl::X509KeyManager * keyManager; + ::javax::net::ssl::X509TrustManager * trustManager; + ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; + ::java::security::SecureRandom * random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Context__ diff --git a/libjava/gnu/javax/net/ssl/provider/Debug.h b/libjava/gnu/javax/net/ssl/provider/Debug.h new file mode 100644 index 00000000000..6421a67480a --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Debug.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Debug__ +#define __gnu_javax_net_ssl_provider_Debug__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Debug; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Debug : public ::java::lang::Object +{ + +public: + Debug(); + static const jboolean DEBUG = 1; + static const jboolean DEBUG_KEY_EXCHANGE = 1; + static const jboolean DEBUG_DECRYPTION = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Debug__ diff --git a/libjava/gnu/javax/net/ssl/provider/DelegatedTask.h b/libjava/gnu/javax/net/ssl/provider/DelegatedTask.h new file mode 100644 index 00000000000..72debfc8a1c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/DelegatedTask.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_DelegatedTask__ +#define __gnu_javax_net_ssl_provider_DelegatedTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class DelegatedTask; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::DelegatedTask : public ::java::lang::Object +{ + +public: // actually protected + DelegatedTask(); +public: + virtual void run(); + virtual jboolean hasRun(); + virtual ::java::lang::Throwable * thrown(); +public: // actually protected + virtual void implRun() = 0; +private: + static ::gnu::classpath::debug::SystemLogger * logger; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasRun__; +public: // actually protected + ::java::lang::Throwable * thrown__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_DelegatedTask__ diff --git a/libjava/gnu/javax/net/ssl/provider/DiffieHellman.h b/libjava/gnu/javax/net/ssl/provider/DiffieHellman.h new file mode 100644 index 00000000000..6f85801b886 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/DiffieHellman.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_DiffieHellman__ +#define __gnu_javax_net_ssl_provider_DiffieHellman__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace key + { + namespace dh + { + class GnuDHPrivateKey; + } + } + } + namespace net + { + namespace ssl + { + namespace provider + { + class DiffieHellman; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::net::ssl::provider::DiffieHellman : public ::java::lang::Object +{ + +public: // actually package-private + DiffieHellman(); + static ::gnu::javax::crypto::key::dh::GnuDHPrivateKey * getParams(); + static ::java::math::BigInteger * DH_G; + static ::java::math::BigInteger * GROUP_1; + static ::java::math::BigInteger * GROUP_2; + static ::java::math::BigInteger * GROUP_5; + static ::java::math::BigInteger * GROUP_14; + static ::java::math::BigInteger * GROUP_15; + static ::java::math::BigInteger * GROUP_16; + static ::java::math::BigInteger * GROUP_17; + static ::java::math::BigInteger * GROUP_18; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_DiffieHellman__ diff --git a/libjava/gnu/javax/net/ssl/provider/DigestInputStream.h b/libjava/gnu/javax/net/ssl/provider/DigestInputStream.h new file mode 100644 index 00000000000..15436a6a114 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/DigestInputStream.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_DigestInputStream__ +#define __gnu_javax_net_ssl_provider_DigestInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class DigestInputStream; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::DigestInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + DigestInputStream(::java::io::InputStream *, ::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *); + void setDigesting(jboolean); +public: + jint read(); + jint read(JArray< jbyte > *); + jint read(JArray< jbyte > *, jint, jint); +private: + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) md5; + ::gnu::java::security::hash::IMessageDigest * sha; + jboolean digesting; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_DigestInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h b/libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h new file mode 100644 index 00000000000..0b7010448b5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_DigestOutputStream__ +#define __gnu_javax_net_ssl_provider_DigestOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class DigestOutputStream; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::DigestOutputStream : public ::java::io::FilterOutputStream +{ + +public: // actually package-private + DigestOutputStream(::java::io::OutputStream *, ::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *); + void setDigesting(jboolean); +public: + void write(jint); + void write(JArray< jbyte > *); + void write(JArray< jbyte > *, jint, jint); +private: + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) md5; + ::gnu::java::security::hash::IMessageDigest * sha; + jboolean digesting; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_DigestOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h b/libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h new file mode 100644 index 00000000000..5459775ab35 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_EmptyExchangeKeys__ +#define __gnu_javax_net_ssl_provider_EmptyExchangeKeys__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class EmptyExchangeKeys; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::EmptyExchangeKeys : public ::gnu::javax::net::ssl::provider::ExchangeKeys +{ + +public: + EmptyExchangeKeys(); + virtual jint length(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_EmptyExchangeKeys__ diff --git a/libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h b/libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h new file mode 100644 index 00000000000..ae9382142c3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_EncryptedPreMasterSecret__ +#define __gnu_javax_net_ssl_provider_EncryptedPreMasterSecret__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class EncryptedPreMasterSecret; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::EncryptedPreMasterSecret : public ::gnu::javax::net::ssl::provider::ExchangeKeys +{ + +public: + EncryptedPreMasterSecret(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + EncryptedPreMasterSecret(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + ::java::nio::ByteBuffer * buffer(); + JArray< jbyte > * encryptedSecret(); + void setEncryptedSecret(JArray< jbyte > *, jint, jint); + jint length(); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); +private: + ::gnu::javax::net::ssl::provider::ProtocolVersion * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::ExchangeKeys)))) version; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_EncryptedPreMasterSecret__ diff --git a/libjava/gnu/javax/net/ssl/provider/Enumerated.h b/libjava/gnu/javax/net/ssl/provider/Enumerated.h new file mode 100644 index 00000000000..db5083168f4 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Enumerated.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Enumerated__ +#define __gnu_javax_net_ssl_provider_Enumerated__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Enumerated; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Enumerated : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * getEncoded() = 0; + virtual jint getValue() = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_provider_Enumerated__ diff --git a/libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h b/libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h new file mode 100644 index 00000000000..8d3bbb8d6a4 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ExchangeKeys__ +#define __gnu_javax_net_ssl_provider_ExchangeKeys__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ExchangeKeys; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ExchangeKeys : public ::java::lang::Object +{ + +public: + ExchangeKeys(::java::nio::ByteBuffer *); + virtual jint length() = 0; + virtual ::java::lang::String * toString(::java::lang::String *) = 0; +public: // actually protected + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ExchangeKeys__ diff --git a/libjava/gnu/javax/net/ssl/provider/Extension$Type.h b/libjava/gnu/javax/net/ssl/provider/Extension$Type.h new file mode 100644 index 00000000000..dfefe3f50ff --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Extension$Type.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Extension$Type__ +#define __gnu_javax_net_ssl_provider_Extension$Type__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Extension$Type; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Extension$Type : public ::java::lang::Enum +{ + + Extension$Type(::java::lang::String *, jint, jint); +public: + static ::gnu::javax::net::ssl::provider::Extension$Type * forValue(jint); + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::Extension$Type * > * values(); + static ::gnu::javax::net::ssl::provider::Extension$Type * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::Extension$Type * SERVER_NAME; + static ::gnu::javax::net::ssl::provider::Extension$Type * MAX_FRAGMENT_LENGTH; + static ::gnu::javax::net::ssl::provider::Extension$Type * CLIENT_CERTIFICATE_URL; + static ::gnu::javax::net::ssl::provider::Extension$Type * TRUSTED_CA_KEYS; + static ::gnu::javax::net::ssl::provider::Extension$Type * TRUNCATED_HMAC; + static ::gnu::javax::net::ssl::provider::Extension$Type * STATUS_REQUEST; + static ::gnu::javax::net::ssl::provider::Extension$Type * SRP; + static ::gnu::javax::net::ssl::provider::Extension$Type * CERT_TYPE; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::Extension$Type * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Extension$Type__ diff --git a/libjava/gnu/javax/net/ssl/provider/Extension$Value.h b/libjava/gnu/javax/net/ssl/provider/Extension$Value.h new file mode 100644 index 00000000000..f00248affd6 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Extension$Value.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Extension$Value__ +#define __gnu_javax_net_ssl_provider_Extension$Value__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Extension$Value; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Extension$Value : public ::java::lang::Object +{ + +public: + Extension$Value(); + virtual ::java::nio::ByteBuffer * buffer() = 0; + virtual jint length() = 0; + virtual ::java::lang::String * toString(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Extension$Value__ diff --git a/libjava/gnu/javax/net/ssl/provider/Extension.h b/libjava/gnu/javax/net/ssl/provider/Extension.h new file mode 100644 index 00000000000..54075426166 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Extension.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Extension__ +#define __gnu_javax_net_ssl_provider_Extension__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Extension; + class Extension$Type; + class Extension$Value; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Extension : public ::java::lang::Object +{ + +public: + Extension(::java::nio::ByteBuffer *); + Extension(::gnu::javax::net::ssl::provider::Extension$Type *, ::gnu::javax::net::ssl::provider::Extension$Value *); + jint length(); + ::java::nio::ByteBuffer * buffer(); + ::gnu::javax::net::ssl::provider::Extension$Type * type(); + JArray< jbyte > * valueBytes(); + ::java::nio::ByteBuffer * valueBuffer(); + ::gnu::javax::net::ssl::provider::Extension$Value * value(); + void setLength(jint); + void setType(::gnu::javax::net::ssl::provider::Extension$Type *); + void setValue(JArray< jbyte > *); + void setValue(JArray< jbyte > *, jint, jint); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); +public: // actually package-private + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Extension__ diff --git a/libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h b/libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h new file mode 100644 index 00000000000..94727465b17 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ExtensionList$ExtensionsIterator__ +#define __gnu_javax_net_ssl_provider_ExtensionList$ExtensionsIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Extension; + class ExtensionList; + class ExtensionList$ExtensionsIterator; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ExtensionList$ExtensionsIterator : public ::java::lang::Object +{ + +public: + ExtensionList$ExtensionsIterator(::gnu::javax::net::ssl::provider::ExtensionList *); + jboolean hasNext(); + jboolean hasPrevious(); + ::gnu::javax::net::ssl::provider::Extension * target$next(); + ::gnu::javax::net::ssl::provider::Extension * target$previous(); + jint nextIndex(); + jint previousIndex(); + void target$add(::gnu::javax::net::ssl::provider::Extension *); + void remove(); + void target$set(::gnu::javax::net::ssl::provider::Extension *); + ::java::lang::Object * next(); + ::java::lang::Object * previous(); + void add(::java::lang::Object *); + void set(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount; + jint index; + jint size; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ExtensionList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ExtensionList$ExtensionsIterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/ExtensionList.h b/libjava/gnu/javax/net/ssl/provider/ExtensionList.h new file mode 100644 index 00000000000..c4235f366fa --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ExtensionList.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ExtensionList__ +#define __gnu_javax_net_ssl_provider_ExtensionList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Extension; + class Extension$Type; + class ExtensionList; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ExtensionList : public ::java::lang::Object +{ + +public: + ExtensionList(::java::nio::ByteBuffer *); + ExtensionList(::java::util::List *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::gnu::javax::net::ssl::provider::Extension * get(jint); + virtual jint size(); + virtual jint length(); + virtual void set(jint, ::gnu::javax::net::ssl::provider::Extension *); + virtual void set(jint, ::gnu::javax::net::ssl::provider::Extension$Type *, jint); + virtual void setLength(jint); + virtual ::java::util::Iterator * iterator(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually package-private + static jint access$0(::gnu::javax::net::ssl::provider::ExtensionList *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; + jint modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ExtensionList__ diff --git a/libjava/gnu/javax/net/ssl/provider/Extensions.h b/libjava/gnu/javax/net/ssl/provider/Extensions.h new file mode 100644 index 00000000000..ac8a0f16000 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Extensions.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Extensions__ +#define __gnu_javax_net_ssl_provider_Extensions__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CertificateType; + class Extension; + class Extensions; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Extensions : public ::java::lang::Object +{ + + Extensions(); +public: // actually package-private + static ::java::util::List * getServerName(::gnu::javax::net::ssl::provider::Extension *); + static ::java::util::List * getClientCertTypes(::gnu::javax::net::ssl::provider::Extension *); + static ::gnu::javax::net::ssl::provider::CertificateType * getServerCertType(::gnu::javax::net::ssl::provider::Extension *); + static ::java::lang::Integer * getMaxFragmentLength(::gnu::javax::net::ssl::provider::Extension *); + static JArray< ::java::lang::Object * > * getTrustedCA(::gnu::javax::net::ssl::provider::Extension *); + static ::java::lang::String * getSRPUsername(::gnu::javax::net::ssl::provider::Extension *); +private: + static ::java::lang::Integer * _512; + static ::java::lang::Integer * _1024; + static ::java::lang::Integer * _2048; + static ::java::lang::Integer * _4096; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Extensions__ diff --git a/libjava/gnu/javax/net/ssl/provider/Finished.h b/libjava/gnu/javax/net/ssl/provider/Finished.h new file mode 100644 index 00000000000..37e01c4c7e4 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Finished.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Finished__ +#define __gnu_javax_net_ssl_provider_Finished__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Finished; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Finished : public ::java::lang::Object +{ + +public: // actually package-private + Finished(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); +public: + jint length(); +public: // actually package-private + JArray< jbyte > * verifyData(); + JArray< jbyte > * md5Hash(); + JArray< jbyte > * shaHash(); + void setVerifyData(JArray< jbyte > *, jint); + void setMD5Hash(JArray< jbyte > *, jint); + void setShaHash(JArray< jbyte > *, jint); +public: + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Finished__ diff --git a/libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h new file mode 100644 index 00000000000..b5b2bc77483 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_GNUSecurityParameters__ +#define __gnu_javax_net_ssl_provider_GNUSecurityParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + } + namespace mode + { + class IMode; + } + } + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class GNUSecurityParameters; + class ProtocolVersion; + class Session; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::GNUSecurityParameters : public ::java::lang::Object +{ + +public: // actually package-private + GNUSecurityParameters(::gnu::javax::net::ssl::provider::Session *); +public: + virtual void reset(); + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * getVersion(); + virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual void setInCipher(::java::lang::Object *); + virtual void setOutCipher(::java::lang::Object *); + virtual void setInMac(::java::lang::Object *); + virtual void setOutMac(::java::lang::Object *); + virtual void setDeflating(jboolean); + virtual void setInflating(jboolean); + virtual jint getFragmentLength(); + virtual void setFragmentLength(jint); + virtual JArray< jbyte > * decrypt(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::javax::net::ssl::provider::ContentType *); + virtual JArray< jbyte > * encrypt(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *); +private: + static void transformRC4(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint, ::gnu::java::security::prng::IRandom *); + static const jboolean DEBUG_RECORD_LAYER = 0; + static ::java::io::PrintWriter * debug; +public: // actually package-private + ::gnu::javax::crypto::mode::IMode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) inCipher; + ::gnu::javax::crypto::mode::IMode * outCipher; + ::gnu::java::security::prng::IRandom * inRandom; + ::gnu::java::security::prng::IRandom * outRandom; + ::gnu::javax::crypto::mac::IMac * inMac; + ::gnu::javax::crypto::mac::IMac * outMac; + jlong inSequence; + jlong outSequence; + ::gnu::javax::net::ssl::provider::Session * session; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; + jint fragmentLength; +private: + ::java::util::zip::Inflater * inflater; + ::java::util::zip::Deflater * deflater; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_GNUSecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake$Body.h b/libjava/gnu/javax/net/ssl/provider/Handshake$Body.h new file mode 100644 index 00000000000..8fe4e8515dc --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Handshake$Body.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Handshake$Body__ +#define __gnu_javax_net_ssl_provider_Handshake$Body__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Handshake$Body; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Handshake$Body : public ::java::lang::Object +{ + +public: + virtual jint length() = 0; + virtual ::java::lang::String * toString(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_provider_Handshake$Body__ diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake$Type.h b/libjava/gnu/javax/net/ssl/provider/Handshake$Type.h new file mode 100644 index 00000000000..1296e24621e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Handshake$Type.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Handshake$Type__ +#define __gnu_javax_net_ssl_provider_Handshake$Type__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Handshake$Type; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Handshake$Type : public ::java::lang::Enum +{ + + Handshake$Type(::java::lang::String *, jint, jint); +public: + static ::gnu::javax::net::ssl::provider::Handshake$Type * forInteger(jint); + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::Handshake$Type * > * values(); + static ::gnu::javax::net::ssl::provider::Handshake$Type * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::Handshake$Type * HELLO_REQUEST; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CLIENT_HELLO; + static ::gnu::javax::net::ssl::provider::Handshake$Type * SERVER_HELLO; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE; + static ::gnu::javax::net::ssl::provider::Handshake$Type * SERVER_KEY_EXCHANGE; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_REQUEST; + static ::gnu::javax::net::ssl::provider::Handshake$Type * SERVER_HELLO_DONE; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_VERIFY; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CLIENT_KEY_EXCHANGE; + static ::gnu::javax::net::ssl::provider::Handshake$Type * FINISHED; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_URL; + static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_STATUS; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::Handshake$Type * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Handshake$Type__ diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h b/libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h new file mode 100644 index 00000000000..5ddb06e0cbd --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Handshake$buffer__ +#define __gnu_javax_net_ssl_provider_Handshake$buffer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Handshake$buffer; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Handshake$buffer : public ::java::lang::ThreadLocal +{ + + Handshake$buffer(); +public: // actually protected + virtual ::java::lang::Object * initialValue(); +public: // actually package-private + virtual ::java::io::ByteArrayOutputStream * getBuffer(); + Handshake$buffer(::gnu::javax::net::ssl::provider::Handshake$buffer *); + static const jint SIZE = 2048; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Handshake$buffer__ diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake.h b/libjava/gnu/javax/net/ssl/provider/Handshake.h new file mode 100644 index 00000000000..498e377c749 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Handshake.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Handshake__ +#define __gnu_javax_net_ssl_provider_Handshake__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class Handshake; + class Handshake$Body; + class Handshake$Type; + class ProtocolVersion; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Handshake : public ::java::lang::Object +{ + +public: + Handshake(::java::nio::ByteBuffer *); + Handshake(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CipherSuite *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + ::gnu::javax::net::ssl::provider::Handshake$Type * type(); + jint length(); + ::gnu::javax::net::ssl::provider::Handshake$Body * body(); + ::java::nio::ByteBuffer * bodyBuffer(); + void setType(::gnu::javax::net::ssl::provider::Handshake$Type *); + void setLength(jint); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); +public: // actually package-private + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Handshake$Type(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::gnu::javax::net::ssl::provider::CipherSuite * suite; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Handshake$Type__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Handshake__ diff --git a/libjava/gnu/javax/net/ssl/provider/HelloRequest.h b/libjava/gnu/javax/net/ssl/provider/HelloRequest.h new file mode 100644 index 00000000000..32ff951a3ac --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/HelloRequest.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_HelloRequest__ +#define __gnu_javax_net_ssl_provider_HelloRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class HelloRequest; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::HelloRequest : public ::java::lang::Object +{ + +public: + HelloRequest(); + ::java::lang::String * toString(::java::lang::String *); + jint length(); + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_HelloRequest__ diff --git a/libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h new file mode 100644 index 00000000000..2881a0f1275 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_InputSecurityParameters__ +#define __gnu_javax_net_ssl_provider_InputSecurityParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace java + { + namespace security + { + namespace util + { + class ByteBufferOutputStream; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class InputSecurityParameters; + class Record; + class SessionImpl; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class Mac; + } + } +} + +class gnu::javax::net::ssl::provider::InputSecurityParameters : public ::java::lang::Object +{ + +public: + InputSecurityParameters(::javax::crypto::Cipher *, ::javax::crypto::Mac *, ::java::util::zip::Inflater *, ::gnu::javax::net::ssl::provider::SessionImpl *, ::gnu::javax::net::ssl::provider::CipherSuite *); + virtual jint decrypt(::gnu::javax::net::ssl::provider::Record *, JArray< ::java::nio::ByteBuffer * > *, jint, jint); + virtual jint decrypt(::gnu::javax::net::ssl::provider::Record *, ::gnu::java::security::util::ByteBufferOutputStream *); +private: + jint decrypt(::gnu::javax::net::ssl::provider::Record *, JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::gnu::java::security::util::ByteBufferOutputStream *); +public: // actually package-private + virtual ::gnu::javax::net::ssl::provider::CipherSuite * cipherSuite(); +private: + static ::gnu::classpath::debug::SystemLogger * logger; + ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipher; + ::javax::crypto::Mac * mac; + ::java::util::zip::Inflater * inflater; + ::gnu::javax::net::ssl::provider::SessionImpl * session; + ::gnu::javax::net::ssl::provider::CipherSuite * suite; + jlong sequence; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_InputSecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h new file mode 100644 index 00000000000..cc12a365000 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_JCESecurityParameters__ +#define __gnu_javax_net_ssl_provider_JCESecurityParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class JCESecurityParameters; + class ProtocolVersion; + } + } + } + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class Mac; + } + } +} + +class gnu::javax::net::ssl::provider::JCESecurityParameters : public ::java::lang::Object +{ + +public: // actually package-private + JCESecurityParameters(); +public: + virtual void reset(); + virtual void setInCipher(::java::lang::Object *); + virtual void setOutCipher(::java::lang::Object *); + virtual void setInMac(::java::lang::Object *); + virtual void setOutMac(::java::lang::Object *); + virtual void setDeflating(jboolean); + virtual void setInflating(jboolean); + virtual jint getFragmentLength(); + virtual void setFragmentLength(jint); + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * getVersion(); + virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual JArray< jbyte > * decrypt(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::javax::net::ssl::provider::ContentType *); + virtual JArray< jbyte > * encrypt(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *); +private: + ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) inCipher; + ::javax::crypto::Cipher * outCipher; + ::javax::crypto::Mac * inMac; + ::javax::crypto::Mac * outMac; + ::java::util::zip::Inflater * inflater; + ::java::util::zip::Deflater * deflater; + jint fragmentLength; + jlong inSequence; + jlong outSequence; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_JCESecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h b/libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h new file mode 100644 index 00000000000..3c838cfd939 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_JDBCSessionContext__ +#define __gnu_javax_net_ssl_provider_JDBCSessionContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class JDBCSessionContext; + class Session; + class Session$ID; + } + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + namespace sql + { + class Connection; + class PreparedStatement; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + } + } + } +} + +class gnu::javax::net::ssl::provider::JDBCSessionContext : public ::gnu::javax::net::ssl::provider::SessionContext +{ + +public: // actually package-private + JDBCSessionContext(); +public: + virtual ::java::util::Enumeration * getIds(); + virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *); +public: // actually package-private + virtual jboolean addSession(::gnu::javax::net::ssl::provider::Session$ID *, ::gnu::javax::net::ssl::provider::Session *); + virtual jboolean containsSessionID(::gnu::javax::net::ssl::provider::Session$ID *); +public: // actually protected + virtual jboolean removeSession(::gnu::javax::net::ssl::provider::Session$ID *); +public: // actually package-private + virtual void notifyAccess(::gnu::javax::net::ssl::provider::Session *); +private: + JArray< jbyte > * certs(JArray< ::java::security::cert::Certificate * > *); +public: // actually protected + ::java::sql::Connection * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::SessionContext)))) connection; + ::java::sql::PreparedStatement * selectById; + ::java::sql::PreparedStatement * insert; + ::java::sql::PreparedStatement * selectTimestamp; + ::java::sql::PreparedStatement * updateTimestamp; + ::java::sql::PreparedStatement * deleteSession; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_JDBCSessionContext__ diff --git a/libjava/gnu/javax/net/ssl/provider/Jessie$1.h b/libjava/gnu/javax/net/ssl/provider/Jessie$1.h new file mode 100644 index 00000000000..20c6576227a --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Jessie$1.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Jessie$1__ +#define __gnu_javax_net_ssl_provider_Jessie$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Jessie; + class Jessie$1; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Jessie$1 : public ::java::lang::Object +{ + +public: // actually package-private + Jessie$1(::gnu::javax::net::ssl::provider::Jessie *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::javax::net::ssl::provider::Jessie * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Jessie$1__ diff --git a/libjava/gnu/javax/net/ssl/provider/Jessie.h b/libjava/gnu/javax/net/ssl/provider/Jessie.h new file mode 100644 index 00000000000..3f0cf9c7dd2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Jessie.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Jessie__ +#define __gnu_javax_net_ssl_provider_Jessie__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Jessie; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Jessie : public ::java::security::Provider +{ + +public: + Jessie(); +private: + static const jlong serialVersionUID = -1LL; +public: + static ::java::lang::String * VERSION; + static jdouble VERSION_DOUBLE; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Jessie__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h b/libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h new file mode 100644 index 00000000000..3f6f8f16d6e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_JessieDHPrivateKey__ +#define __gnu_javax_net_ssl_provider_JessieDHPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class JessieDHPrivateKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class gnu::javax::net::ssl::provider::JessieDHPrivateKey : public ::java::lang::Object +{ + +public: // actually package-private + JessieDHPrivateKey(::javax::crypto::spec::DHParameterSpec *, ::java::math::BigInteger *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * getFormat(); + virtual JArray< jbyte > * getEncoded(); + virtual ::javax::crypto::spec::DHParameterSpec * getParams(); + virtual ::java::math::BigInteger * getX(); + virtual ::java::lang::String * toString(); +private: + ::javax::crypto::spec::DHParameterSpec * __attribute__((aligned(__alignof__( ::java::lang::Object)))) params; + ::java::math::BigInteger * x; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_JessieDHPrivateKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h b/libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h new file mode 100644 index 00000000000..80f504a09c3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_JessieDHPublicKey__ +#define __gnu_javax_net_ssl_provider_JessieDHPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class JessieDHPublicKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class gnu::javax::net::ssl::provider::JessieDHPublicKey : public ::java::lang::Object +{ + +public: // actually package-private + JessieDHPublicKey(::javax::crypto::spec::DHParameterSpec *, ::java::math::BigInteger *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * getFormat(); + virtual JArray< jbyte > * getEncoded(); + virtual ::javax::crypto::spec::DHParameterSpec * getParams(); + virtual ::java::math::BigInteger * getY(); + virtual ::java::lang::String * toString(); +private: + ::javax::crypto::spec::DHParameterSpec * __attribute__((aligned(__alignof__( ::java::lang::Object)))) params; + ::java::math::BigInteger * y; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_JessieDHPublicKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h b/libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h new file mode 100644 index 00000000000..0c2644643f3 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_JessieRSAPrivateKey__ +#define __gnu_javax_net_ssl_provider_JessieRSAPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class JessieRSAPrivateKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::net::ssl::provider::JessieRSAPrivateKey : public ::java::lang::Object +{ + +public: // actually package-private + JessieRSAPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * getFormat(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::math::BigInteger * getModulus(); + virtual ::java::math::BigInteger * getPrivateExponent(); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus; + ::java::math::BigInteger * exponent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_JessieRSAPrivateKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h b/libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h new file mode 100644 index 00000000000..14dfea7b75f --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_JessieRSAPublicKey__ +#define __gnu_javax_net_ssl_provider_JessieRSAPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class JessieRSAPublicKey; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class gnu::javax::net::ssl::provider::JessieRSAPublicKey : public ::java::lang::Object +{ + +public: // actually package-private + JessieRSAPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * getFormat(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::math::BigInteger * getModulus(); + virtual ::java::math::BigInteger * getPublicExponent(); + virtual ::java::lang::String * toString(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus; + ::java::math::BigInteger * exponent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_JessieRSAPublicKey__ diff --git a/libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h new file mode 100644 index 00000000000..60dec2ad7af --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_KeyExchangeAlgorithm__ +#define __gnu_javax_net_ssl_provider_KeyExchangeAlgorithm__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::KeyExchangeAlgorithm : public ::java::lang::Enum +{ + + KeyExchangeAlgorithm(::java::lang::String *, jint); +public: + static JArray< ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * > * values(); + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * NONE; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * RSA; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DH_DSS; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DH_RSA; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DH_anon; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DHE_DSS; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DHE_RSA; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * PSK; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DHE_PSK; + static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * RSA_PSK; +private: + static JArray< ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_KeyExchangeAlgorithm__ diff --git a/libjava/gnu/javax/net/ssl/provider/KeyPool.h b/libjava/gnu/javax/net/ssl/provider/KeyPool.h new file mode 100644 index 00000000000..0eb8f3ccb21 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/KeyPool.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_KeyPool__ +#define __gnu_javax_net_ssl_provider_KeyPool__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyPool; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + class SecureRandom; + } + } +} + +class gnu::javax::net::ssl::provider::KeyPool : public ::java::lang::Object +{ + + KeyPool(); +public: // actually package-private + static ::java::security::KeyPair * generateRSAKeyPair(); +private: + static void nextBytes(JArray< jbyte > *); + static ::java::math::BigInteger * ONE; + static ::java::math::BigInteger * TWO; + static ::java::math::BigInteger * E; + static ::java::security::SecureRandom * RANDOM; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_KeyPool__ diff --git a/libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h new file mode 100644 index 00000000000..7926121855c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_MacAlgorithm__ +#define __gnu_javax_net_ssl_provider_MacAlgorithm__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class MacAlgorithm; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::MacAlgorithm : public ::java::lang::Enum +{ + + MacAlgorithm(::java::lang::String *, jint); +public: + static JArray< ::gnu::javax::net::ssl::provider::MacAlgorithm * > * values(); + static ::gnu::javax::net::ssl::provider::MacAlgorithm * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::MacAlgorithm * NULL; + static ::gnu::javax::net::ssl::provider::MacAlgorithm * MD5; + static ::gnu::javax::net::ssl::provider::MacAlgorithm * SHA; +private: + static JArray< ::gnu::javax::net::ssl::provider::MacAlgorithm * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_MacAlgorithm__ diff --git a/libjava/gnu/javax/net/ssl/provider/MacException.h b/libjava/gnu/javax/net/ssl/provider/MacException.h new file mode 100644 index 00000000000..b1707eed108 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/MacException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_MacException__ +#define __gnu_javax_net_ssl_provider_MacException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class MacException; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::MacException : public ::java::io::IOException +{ + +public: // actually package-private + MacException(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_MacException__ diff --git a/libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h b/libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h new file mode 100644 index 00000000000..81c1aca44f5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_MaxFragmentLength__ +#define __gnu_javax_net_ssl_provider_MaxFragmentLength__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class MaxFragmentLength; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::MaxFragmentLength : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + + MaxFragmentLength(jint, jint); +public: + virtual ::java::nio::ByteBuffer * buffer(); + virtual jint length(); + virtual jint getValue(); + virtual jint maxLength(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_9; + static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_10; + static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_11; + static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_12; +private: + jint __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) value; + jint length__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_MaxFragmentLength__ diff --git a/libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h new file mode 100644 index 00000000000..7bb774beabf --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_OutputSecurityParameters__ +#define __gnu_javax_net_ssl_provider_OutputSecurityParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class ContentType; + class OutputSecurityParameters; + class SessionImpl; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class Mac; + } + } +} + +class gnu::javax::net::ssl::provider::OutputSecurityParameters : public ::java::lang::Object +{ + +public: + OutputSecurityParameters(::javax::crypto::Cipher *, ::javax::crypto::Mac *, ::java::util::zip::Deflater *, ::gnu::javax::net::ssl::provider::SessionImpl *, ::gnu::javax::net::ssl::provider::CipherSuite *); + virtual JArray< jint > * encrypt(JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *, ::java::nio::ByteBuffer *); +public: // actually package-private + virtual ::gnu::javax::net::ssl::provider::CipherSuite * suite(); +private: + static ::gnu::classpath::debug::SystemLogger * logger; + ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipher; + ::javax::crypto::Mac * mac; + ::java::util::zip::Deflater * deflater; + ::gnu::javax::net::ssl::provider::SessionImpl * session; + ::gnu::javax::net::ssl::provider::CipherSuite * suite__; + jlong sequence; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_OutputSecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/OverflowException.h b/libjava/gnu/javax/net/ssl/provider/OverflowException.h new file mode 100644 index 00000000000..0fb5735937b --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/OverflowException.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_OverflowException__ +#define __gnu_javax_net_ssl_provider_OverflowException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class OverflowException; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::OverflowException : public ::java::io::IOException +{ + +public: // actually package-private + OverflowException(); + OverflowException(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_OverflowException__ diff --git a/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h new file mode 100644 index 00000000000..7c8ceace8a8 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl$Manager__ +#define __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl$Manager__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class PreSharedKeyManagerFactoryImpl; + class PreSharedKeyManagerFactoryImpl$Manager; + } + } + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl$Manager : public ::java::lang::Object +{ + +public: // actually package-private + PreSharedKeyManagerFactoryImpl$Manager(::gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl *); +public: + virtual ::javax::crypto::SecretKey * getKey(::java::lang::String *); + virtual ::java::lang::String * chooseIdentityHint(); +public: // actually package-private + ::gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl$Manager__ diff --git a/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h new file mode 100644 index 00000000000..4e267db7646 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl__ +#define __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class PreSharedKeyManagerParameters; + namespace provider + { + class PreSharedKeyManagerFactoryImpl; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyStore; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class ManagerFactoryParameters; + } + } + } +} + +class gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl : public ::javax::net::ssl::KeyManagerFactorySpi +{ + +public: + PreSharedKeyManagerFactoryImpl(); +public: // actually protected + virtual JArray< ::javax::net::ssl::KeyManager * > * engineGetKeyManagers(); + virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *); + virtual void engineInit(::java::security::KeyStore *, JArray< jchar > *); +public: // actually package-private + ::gnu::javax::net::ssl::PreSharedKeyManagerParameters * __attribute__((aligned(__alignof__( ::javax::net::ssl::KeyManagerFactorySpi)))) params; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h b/libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h new file mode 100644 index 00000000000..f6cc3b78d6e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ProtocolVersion__ +#define __gnu_javax_net_ssl_provider_ProtocolVersion__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ProtocolVersion; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ProtocolVersion : public ::java::lang::Object +{ + + ProtocolVersion(jint, jint); +public: + static ::gnu::javax::net::ssl::provider::ProtocolVersion * read(::java::io::InputStream *); + static ::gnu::javax::net::ssl::provider::ProtocolVersion * forName(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::ProtocolVersion * getInstance(jint, jint); + static ::gnu::javax::net::ssl::provider::ProtocolVersion * getInstance(jshort); + jint length(); + JArray< jbyte > * getEncoded(); + jint major(); + jint minor(); + jint rawValue(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + jint target$compareTo(::gnu::javax::net::ssl::provider::ProtocolVersion *); + ::java::lang::String * toString(::java::lang::String *); + ::java::lang::String * toString(); + jint compareTo(::java::lang::Object *); + static ::gnu::javax::net::ssl::provider::ProtocolVersion * SSL_3; + static ::gnu::javax::net::ssl::provider::ProtocolVersion * TLS_1; + static ::gnu::javax::net::ssl::provider::ProtocolVersion * TLS_1_1; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) major__; + jint minor__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ProtocolVersion__ diff --git a/libjava/gnu/javax/net/ssl/provider/Random.h b/libjava/gnu/javax/net/ssl/provider/Random.h new file mode 100644 index 00000000000..1553624d09e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Random.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Random__ +#define __gnu_javax_net_ssl_provider_Random__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Random; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Random : public ::java::lang::Object +{ + +public: + Random(::java::nio::ByteBuffer *); + virtual ::gnu::javax::net::ssl::provider::Random * copy(); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual jint gmtUnixTime(); + virtual JArray< jbyte > * randomBytes(); + virtual void setGmtUnixTime(jint); + virtual void setRandomBytes(JArray< jbyte > *); + virtual void setRandomBytes(JArray< jbyte > *, jint); + virtual ::java::lang::String * toString(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jint RANDOM_LENGTH = 28; +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Random__ diff --git a/libjava/gnu/javax/net/ssl/provider/Record.h b/libjava/gnu/javax/net/ssl/provider/Record.h new file mode 100644 index 00000000000..59f90415410 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Record.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Record__ +#define __gnu_javax_net_ssl_provider_Record__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class ProtocolVersion; + class Record; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Record : public ::java::lang::Object +{ + +public: + Record(::java::nio::ByteBuffer *); + virtual ::gnu::javax::net::ssl::provider::ContentType * getContentType(); + virtual ::gnu::javax::net::ssl::provider::ContentType * contentType(); + virtual jint fragment(::java::nio::ByteBuffer *); + virtual ::java::nio::ByteBuffer * fragment(); + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version(); + virtual void setContentType(::gnu::javax::net::ssl::provider::ContentType *); + virtual void setLength(jint); + virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual ::java::lang::String * toString(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Record__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordInput.h b/libjava/gnu/javax/net/ssl/provider/RecordInput.h new file mode 100644 index 00000000000..964c9651929 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/RecordInput.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_RecordInput__ +#define __gnu_javax_net_ssl_provider_RecordInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class RecordInput; + class Session; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::RecordInput : public ::java::lang::Object +{ + +public: // actually package-private + RecordInput(::java::io::InputStream *, ::gnu::javax::net::ssl::provider::Session *); + virtual jint available(::gnu::javax::net::ssl::provider::ContentType *); + virtual void setSession(::gnu::javax::net::ssl::provider::Session *); + virtual jint read(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *); + virtual jboolean pollClose(); +private: + void readRecord(); + static const jboolean DEBUG_RECORD_LAYER = 1; + static ::java::util::logging::Logger * logger; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fragment; + jint index; + ::gnu::javax::net::ssl::provider::ContentType * type; + ::java::io::DataInputStream * in; + ::gnu::javax::net::ssl::provider::Session * session; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_RecordInput__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordInputStream.h b/libjava/gnu/javax/net/ssl/provider/RecordInputStream.h new file mode 100644 index 00000000000..b78f2eb312e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/RecordInputStream.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_RecordInputStream__ +#define __gnu_javax_net_ssl_provider_RecordInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class RecordInput; + class RecordInputStream; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::RecordInputStream : public ::java::io::InputStream +{ + +public: // actually package-private + RecordInputStream(::gnu::javax::net::ssl::provider::RecordInput *, ::gnu::javax::net::ssl::provider::ContentType *); +public: + virtual jint available(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * toString(); +private: + ::gnu::javax::net::ssl::provider::RecordInput * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; + ::gnu::javax::net::ssl::provider::ContentType * type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_RecordInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h b/libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h new file mode 100644 index 00000000000..427edbf6be0 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_RecordOutputStream__ +#define __gnu_javax_net_ssl_provider_RecordOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class RecordOutputStream; + class SecurityParameters; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::RecordOutputStream : public ::java::io::FilterOutputStream +{ + +public: // actually package-private + RecordOutputStream(::java::io::OutputStream *, ::gnu::javax::net::ssl::provider::ContentType *, ::gnu::javax::net::ssl::provider::SecurityParameters *); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); +private: + static const jboolean DEBUG_RECORD_LAYER = 1; + static ::java::util::logging::Logger * logger; + ::gnu::javax::net::ssl::provider::ContentType * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) type; + ::gnu::javax::net::ssl::provider::SecurityParameters * params; + jboolean emitEmpty; + static JArray< jbyte > * ZERO; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_RecordOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h b/libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h new file mode 100644 index 00000000000..a6d912c44a7 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_RecordingInputStream__ +#define __gnu_javax_net_ssl_provider_RecordingInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class RecordingInputStream; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::RecordingInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + RecordingInputStream(::java::io::InputStream *); + RecordingInputStream(::java::io::InputStream *, ::java::io::ByteArrayOutputStream *); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); + virtual jlong skip(jlong); +public: // actually package-private + virtual JArray< jbyte > * getBytes(); + virtual void resetSink(); +public: // actually protected + ::java::io::ByteArrayOutputStream * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) sink; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_RecordingInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h new file mode 100644 index 00000000000..9425426856c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SRPTrustManagerFactory$Manager__ +#define __gnu_javax_net_ssl_provider_SRPTrustManagerFactory$Manager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace sasl + { + namespace srp + { + class PasswordFile; + } + } + } + namespace net + { + namespace ssl + { + namespace provider + { + class SRPTrustManagerFactory; + class SRPTrustManagerFactory$Manager; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class KeyPair; + } + } +} + +class gnu::javax::net::ssl::provider::SRPTrustManagerFactory$Manager : public ::java::lang::Object +{ + +public: // actually package-private + SRPTrustManagerFactory$Manager(::gnu::javax::net::ssl::provider::SRPTrustManagerFactory *, ::gnu::javax::crypto::sasl::srp::PasswordFile *); +public: + virtual jboolean contains(::java::lang::String *); + virtual ::java::security::KeyPair * getKeyPair(::java::lang::String *); + virtual JArray< jbyte > * getSalt(::java::lang::String *); + virtual ::java::math::BigInteger * getVerifier(::java::lang::String *); + virtual ::gnu::javax::crypto::sasl::srp::PasswordFile * getPasswordFile(); +private: + ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) file; +public: // actually package-private + ::gnu::javax::net::ssl::provider::SRPTrustManagerFactory * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SRPTrustManagerFactory$Manager__ diff --git a/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h new file mode 100644 index 00000000000..a1f10fb44d2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SRPTrustManagerFactory__ +#define __gnu_javax_net_ssl_provider_SRPTrustManagerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SRPTrustManagerFactory; + class SRPTrustManagerFactory$Manager; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyStore; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class ManagerFactoryParameters; + class TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::SRPTrustManagerFactory : public ::javax::net::ssl::TrustManagerFactorySpi +{ + +public: + SRPTrustManagerFactory(); +public: // actually protected + virtual JArray< ::javax::net::ssl::TrustManager * > * engineGetTrustManagers(); + virtual void engineInit(::java::security::KeyStore *); + virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *); +private: + ::gnu::javax::net::ssl::provider::SRPTrustManagerFactory$Manager * __attribute__((aligned(__alignof__( ::javax::net::ssl::TrustManagerFactorySpi)))) current; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SRPTrustManagerFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h new file mode 100644 index 00000000000..bdb7e80380d --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLContextImpl__ +#define __gnu_javax_net_ssl_provider_SSLContextImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class AbstractSessionContext; + class PreSharedKeyManager; + class SRPTrustManager; + namespace provider + { + class SSLContextImpl; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class SSLEngine; + class SSLServerSocketFactory; + class SSLSessionContext; + class SSLSocketFactory; + class TrustManager; + class X509ExtendedKeyManager; + class X509TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLContextImpl : public ::javax::net::ssl::SSLContextSpi +{ + +public: + SSLContextImpl(); +public: // actually protected + ::javax::net::ssl::SSLEngine * engineCreateSSLEngine(); + ::javax::net::ssl::SSLEngine * engineCreateSSLEngine(::java::lang::String *, jint); + ::javax::net::ssl::SSLSessionContext * engineGetClientSessionContext(); + ::javax::net::ssl::SSLSessionContext * engineGetServerSessionContext(); + ::javax::net::ssl::SSLServerSocketFactory * engineGetServerSocketFactory(); + ::javax::net::ssl::SSLSocketFactory * engineGetSocketFactory(); + void engineInit(JArray< ::javax::net::ssl::KeyManager * > *, JArray< ::javax::net::ssl::TrustManager * > *, ::java::security::SecureRandom *); +private: + ::javax::net::ssl::X509ExtendedKeyManager * defaultKeyManager(); + ::javax::net::ssl::X509TrustManager * defaultTrustManager(); + ::java::security::SecureRandom * defaultRandom(); +public: // actually package-private + ::gnu::javax::net::ssl::AbstractSessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLContextSpi)))) serverContext; + ::gnu::javax::net::ssl::AbstractSessionContext * clientContext; + ::gnu::javax::net::ssl::PreSharedKeyManager * pskManager; + ::javax::net::ssl::X509ExtendedKeyManager * keyManager; + ::javax::net::ssl::X509TrustManager * trustManager; + ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; + ::java::security::SecureRandom * random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLContextImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h new file mode 100644 index 00000000000..a2a8163b897 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLEngineImpl$Mode__ +#define __gnu_javax_net_ssl_provider_SSLEngineImpl$Mode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLEngineImpl$Mode; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLEngineImpl$Mode : public ::java::lang::Enum +{ + + SSLEngineImpl$Mode(::java::lang::String *, jint); +public: + static JArray< ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * > * values(); + static ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * SERVER; + static ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * CLIENT; +private: + static JArray< ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLEngineImpl$Mode__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h new file mode 100644 index 00000000000..f62525cc0a5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h @@ -0,0 +1,128 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLEngineImpl__ +#define __gnu_javax_net_ssl_provider_SSLEngineImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLRecordHandler; + namespace provider + { + class AbstractHandshake; + class Alert; + class InputSecurityParameters; + class OutputSecurityParameters; + class SSLContextImpl; + class SSLEngineImpl; + class SSLEngineImpl$Mode; + class SessionImpl; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngineResult; + class SSLEngineResult$HandshakeStatus; + class SSLSession; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLEngineImpl : public ::javax::net::ssl::SSLEngine +{ + +public: // actually package-private + SSLEngineImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *, ::java::lang::String *, jint); + static JArray< ::java::lang::String * > * defaultSuites(); +public: + void beginHandshake(); + void closeInbound(); + void closeOutbound(); + ::java::lang::Runnable * getDelegatedTask(); + JArray< ::java::lang::String * > * getEnabledCipherSuites(); + JArray< ::java::lang::String * > * getEnabledProtocols(); + jboolean getEnableSessionCreation(); + ::javax::net::ssl::SSLEngineResult$HandshakeStatus * getHandshakeStatus(); + jboolean getNeedClientAuth(); + ::javax::net::ssl::SSLSession * getSession(); + jboolean getUseClientMode(); + jboolean getWantClientAuth(); + jboolean isInboundDone(); + jboolean isOutboundDone(); + void setEnableSessionCreation(jboolean); + void setEnabledCipherSuites(JArray< ::java::lang::String * > *); + void setEnabledProtocols(JArray< ::java::lang::String * > *); + JArray< ::java::lang::String * > * getSupportedCipherSuites(); + JArray< ::java::lang::String * > * getSupportedProtocols(); + void setNeedClientAuth(jboolean); + void setUseClientMode(jboolean); + void setWantClientAuth(jboolean); + ::javax::net::ssl::SSLEngineResult * unwrap(::java::nio::ByteBuffer *, JArray< ::java::nio::ByteBuffer * > *, jint, jint); + ::javax::net::ssl::SSLEngineResult * wrap(JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::java::nio::ByteBuffer *); +public: // actually package-private + ::gnu::javax::net::ssl::provider::SessionImpl * session(); + void setSession(::gnu::javax::net::ssl::provider::SessionImpl *); + void changeCipherSpec(); + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SSLEngineImpl$Mode(); + ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLEngine)))) contextImpl; +private: + JArray< ::gnu::javax::net::ssl::SSLRecordHandler * > * handlers; + static ::gnu::classpath::debug::SystemLogger * logger; + ::gnu::javax::net::ssl::provider::SessionImpl * session__; + ::gnu::javax::net::ssl::provider::InputSecurityParameters * insec; + ::gnu::javax::net::ssl::provider::OutputSecurityParameters * outsec; + jboolean inClosed; + jboolean outClosed; + jboolean createSessions; + jboolean needClientAuth; + jboolean wantClientAuth; + jboolean initialHandshakeDone; + ::gnu::javax::net::ssl::provider::AbstractHandshake * handshake; + ::gnu::javax::net::ssl::provider::Alert * lastAlert; + ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handshakeStatus; + jboolean changeCipherSpec__; + JArray< ::java::lang::String * > * enabledSuites; + JArray< ::java::lang::String * > * enabledProtocols; + ::java::nio::ByteBuffer * alertBuffer; + ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * mode; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SSLEngineImpl$Mode__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLEngineImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLHMac.h b/libjava/gnu/javax/net/ssl/provider/SSLHMac.h new file mode 100644 index 00000000000..7e9ad36ea6e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLHMac.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLHMac__ +#define __gnu_javax_net_ssl_provider_SSLHMac__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLHMac; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLHMac : public ::java::lang::Object +{ + +public: // actually package-private + SSLHMac(::java::lang::String *); +public: + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * name(); + virtual jint macSize(); + virtual void init(::java::util::Map *); + virtual void reset(); + virtual JArray< jbyte > * digest(); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual jboolean selfTest(); +public: // actually package-private + static const jbyte PAD1 = 54; + static const jbyte PAD2 = 92; +public: // actually protected + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) md; + JArray< jbyte > * key; + JArray< jbyte > * pad1; + JArray< jbyte > * pad2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLHMac__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h b/libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h new file mode 100644 index 00000000000..cef51dac37c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLRSASignature__ +#define __gnu_javax_net_ssl_provider_SSLRSASignature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLRSASignature; + } + } + } + } + } + namespace java + { + namespace security + { + namespace interfaces + { + class RSAPrivateKey; + class RSAPublicKey; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLRSASignature : public ::java::lang::Object +{ + +public: // actually package-private + SSLRSASignature(); + SSLRSASignature(::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *); +public: + ::java::lang::String * name(); + void setupVerify(::java::util::Map *); + void setupSign(::java::util::Map *); + void update(jbyte); + void update(JArray< jbyte > *, jint, jint); + ::java::lang::Object * sign(); + jboolean verify(::java::lang::Object *); + ::java::lang::Object * clone(); +private: + ::java::security::interfaces::RSAPublicKey * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pubkey; + ::java::security::interfaces::RSAPrivateKey * privkey; + ::gnu::java::security::hash::IMessageDigest * md5; + ::gnu::java::security::hash::IMessageDigest * sha; + jboolean initVerify; + jboolean initSign; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLRSASignature__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h new file mode 100644 index 00000000000..26da5be52ed --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLRSASignatureImpl__ +#define __gnu_javax_net_ssl_provider_SSLRSASignatureImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLRSASignatureImpl; + } + } + } + } + } + namespace java + { + namespace security + { + class MessageDigest; + class PrivateKey; + class PublicKey; + namespace interfaces + { + class RSAPrivateKey; + class RSAPublicKey; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLRSASignatureImpl : public ::java::security::SignatureSpi +{ + +public: + SSLRSASignatureImpl(); +public: // actually protected + virtual void engineInitVerify(::java::security::PublicKey *); + virtual void engineInitSign(::java::security::PrivateKey *); + virtual void engineUpdate(jbyte); + virtual void engineUpdate(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * engineSign(); + virtual jboolean engineVerify(JArray< jbyte > *); + virtual void engineSetParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * engineGetParameter(::java::lang::String *); +private: + static ::gnu::classpath::debug::SystemLogger * logger; + ::java::security::interfaces::RSAPublicKey * __attribute__((aligned(__alignof__( ::java::security::SignatureSpi)))) pubkey; + ::java::security::interfaces::RSAPrivateKey * privkey; + ::java::security::MessageDigest * md5; + ::java::security::MessageDigest * sha; + jboolean initSign; + jboolean initVerify; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLRSASignatureImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLRandom.h b/libjava/gnu/javax/net/ssl/provider/SSLRandom.h new file mode 100644 index 00000000000..1a4abf1fda5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLRandom.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLRandom__ +#define __gnu_javax_net_ssl_provider_SSLRandom__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLRandom; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLRandom : public ::java::lang::Object +{ + +public: // actually package-private + SSLRandom(); +public: + virtual void init(::java::util::Map *); + virtual ::java::lang::String * name(); + virtual ::java::lang::Object * clone(); + virtual jbyte nextByte(); + virtual void nextBytes(JArray< jbyte > *, jint, jint); + virtual jboolean selfTest(); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); +private: + JArray< jbyte > * nextBlock(); +public: // actually package-private + static ::java::lang::String * SECRET; + static ::java::lang::String * SEED; +private: + ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) md5; + ::gnu::java::security::hash::IMessageDigest * sha; + JArray< jbyte > * secret; + JArray< jbyte > * buffer; + jbyte pad; + JArray< jbyte > * seed; + jint idx; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLRandom__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h new file mode 100644 index 00000000000..8877d8226e8 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLServerSocket__ +#define __gnu_javax_net_ssl_provider_SSLServerSocket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SRPTrustManager; + namespace provider + { + class SSLServerSocket; + class SessionContext; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + namespace security + { + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class X509KeyManager; + class X509TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLServerSocket : public ::javax::net::ssl::SSLServerSocket +{ + +public: // actually package-private + SSLServerSocket(); + SSLServerSocket(jint); + SSLServerSocket(jint, jint); + SSLServerSocket(jint, jint, ::java::net::InetAddress *); +public: + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites(); + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *); + virtual JArray< ::java::lang::String * > * getSupportedProtocols(); + virtual JArray< ::java::lang::String * > * getEnabledProtocols(); + virtual void setEnabledProtocols(JArray< ::java::lang::String * > *); + virtual void setUseClientMode(jboolean); + virtual jboolean getUseClientMode(); + virtual void setNeedClientAuth(jboolean); + virtual jboolean getNeedClientAuth(); + virtual void setWantClientAuth(jboolean); + virtual jboolean getWantClientAuth(); + virtual void setEnabledSessionCreation(jboolean); + virtual void setEnableSessionCreation(jboolean); + virtual jboolean getEnableSessionCreation(); + virtual ::java::net::Socket * accept(); +public: // actually package-private + virtual void setSessionContext(::gnu::javax::net::ssl::provider::SessionContext *); + virtual void setKeyManager(::javax::net::ssl::X509KeyManager *); + virtual void setTrustManager(::javax::net::ssl::X509TrustManager *); + virtual void setSRPTrustManager(::gnu::javax::net::ssl::SRPTrustManager *); + virtual void setRandom(::java::security::SecureRandom *); +private: + ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocket)))) sessions; + ::java::util::SortedSet * enabledProtocols; + ::java::util::List * enabledSuites; + jboolean clientMode; + jboolean needClientAuth; + jboolean wantClientAuth; + jboolean createSessions; + ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; + ::javax::net::ssl::X509TrustManager * trustManager; + ::javax::net::ssl::X509KeyManager * keyManager; + ::java::security::SecureRandom * random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLServerSocket__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h new file mode 100644 index 00000000000..308a38d2d03 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLServerSocketFactory__ +#define __gnu_javax_net_ssl_provider_SSLServerSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SRPTrustManager; + namespace provider + { + class SSLServerSocket; + class SSLServerSocketFactory; + class SessionContext; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class ServerSocket; + } + namespace security + { + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class X509KeyManager; + class X509TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLServerSocketFactory : public ::javax::net::ssl::SSLServerSocketFactory +{ + +public: // actually package-private + SSLServerSocketFactory(::javax::net::ssl::X509TrustManager *, ::gnu::javax::net::ssl::SRPTrustManager *, ::javax::net::ssl::X509KeyManager *, ::java::security::SecureRandom *, ::gnu::javax::net::ssl::provider::SessionContext *); +public: + virtual JArray< ::java::lang::String * > * getDefaultCipherSuites(); + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual ::java::net::ServerSocket * createServerSocket(); + virtual ::java::net::ServerSocket * createServerSocket(jint); + virtual ::java::net::ServerSocket * createServerSocket(jint, jint); + virtual ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *); +private: + void setup(::gnu::javax::net::ssl::provider::SSLServerSocket *); + ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocketFactory)))) sessions; + ::javax::net::ssl::X509KeyManager * keyManager; + ::javax::net::ssl::X509TrustManager * trustManager; + ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; + ::java::security::SecureRandom * random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLServerSocketFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h new file mode 100644 index 00000000000..a775cf82c66 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLServerSocketFactoryImpl__ +#define __gnu_javax_net_ssl_provider_SSLServerSocketFactoryImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLContextImpl; + class SSLServerSocketFactoryImpl; + class SSLServerSocketImpl; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class ServerSocket; + } + } +} + +class gnu::javax::net::ssl::provider::SSLServerSocketFactoryImpl : public ::javax::net::ssl::SSLServerSocketFactory +{ + +public: + SSLServerSocketFactoryImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *); + virtual JArray< ::java::lang::String * > * getDefaultCipherSuites(); + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual ::gnu::javax::net::ssl::provider::SSLServerSocketImpl * target$createServerSocket(jint); + virtual ::gnu::javax::net::ssl::provider::SSLServerSocketImpl * target$createServerSocket(jint, jint); + virtual ::gnu::javax::net::ssl::provider::SSLServerSocketImpl * target$createServerSocket(jint, jint, ::java::net::InetAddress *); + virtual ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *); + virtual ::java::net::ServerSocket * createServerSocket(jint, jint); + virtual ::java::net::ServerSocket * createServerSocket(jint); +private: + ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocketFactory)))) contextImpl; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLServerSocketFactoryImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h new file mode 100644 index 00000000000..4367a832bc6 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLServerSocketImpl__ +#define __gnu_javax_net_ssl_provider_SSLServerSocketImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLContextImpl; + class SSLServerSocketImpl; + class SSLSocketImpl; + } + } + } + } + } + namespace java + { + namespace net + { + class Socket; + } + } +} + +class gnu::javax::net::ssl::provider::SSLServerSocketImpl : public ::javax::net::ssl::SSLServerSocket +{ + +public: + SSLServerSocketImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *); + virtual jboolean getEnableSessionCreation(); + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites(); + virtual JArray< ::java::lang::String * > * getEnabledProtocols(); + virtual jboolean getNeedClientAuth(); + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual JArray< ::java::lang::String * > * getSupportedProtocols(); + virtual jboolean getUseClientMode(); + virtual jboolean getWantClientAuth(); + virtual void setEnableSessionCreation(jboolean); + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *); + virtual void setEnabledProtocols(JArray< ::java::lang::String * > *); + virtual void setNeedClientAuth(jboolean); + virtual void setUseClientMode(jboolean); + virtual void setWantClientAuth(jboolean); + virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * target$accept(); + virtual ::java::net::Socket * accept(); +private: + ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocket)))) contextImpl; + jboolean enableSessionCreation; + JArray< ::java::lang::String * > * enabledCipherSuites; + JArray< ::java::lang::String * > * enabledProtocols; + jboolean needClientAuth; + jboolean wantClientAuth; + jboolean clientMode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLServerSocketImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocket.h b/libjava/gnu/javax/net/ssl/provider/SSLSocket.h new file mode 100644 index 00000000000..ee2ecbbe832 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocket.h @@ -0,0 +1,240 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocket__ +#define __gnu_javax_net_ssl_provider_SSLSocket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + namespace sig + { + class ISignature; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SRPTrustManager; + namespace provider + { + class Alert; + class CipherSuite; + class Finished; + class ProtocolVersion; + class RecordInput; + class SSLSocket; + class Session; + class SessionContext; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace net + { + class InetAddress; + class Socket; + class SocketAddress; + } + namespace nio + { + namespace channels + { + class SocketChannel; + } + } + namespace security + { + class SecureRandom; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedListener; + class SSLSession; + class X509KeyManager; + class X509TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocket : public ::javax::net::ssl::SSLSocket +{ + +public: // actually package-private + SSLSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean); + SSLSocket(::java::net::Socket *, ::java::nio::channels::SocketChannel *); + SSLSocket(); + SSLSocket(::java::net::InetAddress *, jint); + SSLSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); + SSLSocket(::java::lang::String *, jint); + SSLSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); +private: + void initialize(); +public: + void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); + void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); + JArray< ::java::lang::String * > * getEnabledProtocols(); + void setEnabledProtocols(JArray< ::java::lang::String * > *); + JArray< ::java::lang::String * > * getSupportedProtocols(); + JArray< ::java::lang::String * > * getEnabledCipherSuites(); + void setEnabledCipherSuites(JArray< ::java::lang::String * > *); + JArray< ::java::lang::String * > * getSupportedCipherSuites(); + ::javax::net::ssl::SSLSession * getSession(); + jboolean getEnableSessionCreation(); + void setEnableSessionCreation(jboolean); + jboolean getNeedClientAuth(); + void setNeedClientAuth(jboolean); + jboolean getWantClientAuth(); + void setWantClientAuth(jboolean); + jboolean getUseClientMode(); + void setUseClientMode(jboolean); + void startHandshake(); + ::java::net::InetAddress * getInetAddress(); + ::java::net::InetAddress * getLocalAddress(); + jint getPort(); + jint getLocalPort(); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + void setTcpNoDelay(jboolean); + jboolean getTcpNoDelay(); + void setSoLinger(jboolean, jint); + jint getSoLinger(); + void sendUrgentData(jint); + void setSoTimeout(jint); + jint getSoTimeout(); + void setSendBufferSize(jint); + jint getSendBufferSize(); + void setReceiveBufferSize(jint); + jint getReceiveBufferSize(); + void close(); + ::java::lang::String * toString(); + void connect(::java::net::SocketAddress *); + void connect(::java::net::SocketAddress *, jint); + void bind(::java::net::SocketAddress *); + ::java::net::SocketAddress * getLocalSocketAddress(); + ::java::nio::channels::SocketChannel * getChannel(); + jboolean isBound(); + jboolean isClosed(); + void setOOBInline(jboolean); + jboolean getOOBInline(); + void setKeepAlive(jboolean); + jboolean getKeepAlive(); + void setTrafficClass(jint); + jint getTrafficClass(); + void setReuseAddress(jboolean); + jboolean getReuseAddress(); + void shutdownInput(); + void shutdownOutput(); + jboolean isConnected(); + jboolean isInputShutdown(); + jboolean isOutputShutdown(); +public: // actually protected + void finalize(); +public: // actually package-private + void setSessionContext(::gnu::javax::net::ssl::provider::SessionContext *); + void setEnabledCipherSuites(::java::util::List *); + void setEnabledProtocols(::java::util::SortedSet *); + void setSRPTrustManager(::gnu::javax::net::ssl::SRPTrustManager *); + void setTrustManager(::javax::net::ssl::X509TrustManager *); + void setKeyManager(::javax::net::ssl::X509KeyManager *); + void setRandom(::java::security::SecureRandom *); + void sendAlert(::gnu::javax::net::ssl::provider::Alert *); + ::gnu::javax::net::ssl::provider::Alert * checkAlert(); + void checkHandshakeDone(); +private: + void changeCipherSpec(); + void readChangeCipherSpec(); + void setupIO(); + void handshakeCompleted(); + void doClientHandshake(); + void doServerHandshake(); + JArray< JArray< jbyte > * > * generateKeys(JArray< jbyte > *, JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + ::gnu::javax::net::ssl::provider::Finished * generateFinished(::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::java::security::hash::IMessageDigest *, ::gnu::java::security::hash::IMessageDigest *, jboolean); + ::gnu::javax::net::ssl::provider::Alert * unexpectedMessage(); + void throwUnexpectedMessage(); + ::gnu::javax::net::ssl::provider::Alert * handshakeFailure(); + void throwHandshakeFailure(); + ::gnu::javax::net::ssl::provider::Alert * internalError(); + void throwInternalError(); + ::gnu::javax::net::ssl::provider::Alert * peerUnverified(JArray< ::java::security::cert::X509Certificate * > *); + void throwPeerUnverified(JArray< ::java::security::cert::X509Certificate * > *); + ::gnu::javax::net::ssl::provider::CipherSuite * selectSuite(::java::util::List *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + ::java::lang::String * askUserName(::java::lang::String *); + ::java::lang::String * askPassword(::java::lang::String *); + jboolean checkCertificates(JArray< ::java::security::cert::X509Certificate * > *); + void updateSig(::gnu::java::security::sig::ISignature *, ::java::math::BigInteger *); + void fatal(); + static const jboolean DEBUG_HANDSHAKE_LAYER = 1; + static const jboolean DEBUG_KEY_EXCHANGE = 0; + static ::java::util::logging::Logger * logger; + ::java::net::Socket * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocket)))) underlyingSocket; + jint underlyingPort; + jboolean autoClose; +public: // actually package-private + ::gnu::javax::net::ssl::provider::SessionContext * sessionContext; + ::gnu::javax::net::ssl::provider::Session * session; + ::java::util::LinkedList * handshakeListeners; +private: + jboolean clientMode; + jboolean wantClientAuth; + jboolean needClientAuth; + jboolean createSessions; + jboolean handshakeDone; + ::java::lang::String * remoteHost; + ::java::io::InputStream * socketIn; + ::java::io::OutputStream * socketOut; + ::java::io::InputStream * applicationIn; + ::java::io::OutputStream * applicationOut; + ::java::io::InputStream * handshakeIn; + ::java::io::OutputStream * handshakeOut; +public: // actually package-private + ::gnu::javax::net::ssl::provider::RecordInput * recordInput; +private: + jlong handshakeTime; + ::java::nio::channels::SocketChannel * channel; +public: // actually package-private + static ::java::util::SortedSet * supportedProtocols; + static ::java::util::List * supportedSuites; +private: + static JArray< jbyte > * SENDER_CLIENT; + static JArray< jbyte > * SENDER_SERVER; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocket__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h new file mode 100644 index 00000000000..ce96e048dc9 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketFactory__ +#define __gnu_javax_net_ssl_provider_SSLSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLSocket; + class SSLSocketFactory; + class SessionContext; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + namespace security + { + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class X509KeyManager; + class X509TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketFactory : public ::javax::net::ssl::SSLSocketFactory +{ + +public: // actually package-private + SSLSocketFactory(::javax::net::ssl::X509TrustManager *, ::javax::net::ssl::X509KeyManager *, ::java::security::SecureRandom *, ::gnu::javax::net::ssl::provider::SessionContext *); +public: + virtual JArray< ::java::lang::String * > * getDefaultCipherSuites(); + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual ::java::net::Socket * createSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean); + virtual ::java::net::Socket * createSocket(); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); +private: + ::gnu::javax::net::ssl::provider::SSLSocket * setup(::gnu::javax::net::ssl::provider::SSLSocket *); + ::javax::net::ssl::X509TrustManager * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocketFactory)))) trustManager; + ::javax::net::ssl::X509KeyManager * keyManager; + ::java::security::SecureRandom * random; + ::gnu::javax::net::ssl::provider::SessionContext * sessionContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h new file mode 100644 index 00000000000..eec32a994f5 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketFactoryImpl__ +#define __gnu_javax_net_ssl_provider_SSLSocketFactoryImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLContextImpl; + class SSLSocketFactoryImpl; + class SSLSocketImpl; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketFactoryImpl : public ::javax::net::ssl::SSLSocketFactory +{ + +public: + SSLSocketFactoryImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *); + virtual ::java::net::Socket * createSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean); + virtual JArray< ::java::lang::String * > * getDefaultCipherSuites(); + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * target$createSocket(::java::lang::String *, jint); + virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * target$createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * target$createSocket(::java::net::InetAddress *, jint); + virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * target$createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint); +private: + ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocketFactory)))) contextImpl; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketFactoryImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h new file mode 100644 index 00000000000..8596a2fdc43 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl$1__ +#define __gnu_javax_net_ssl_provider_SSLSocketImpl$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLSocketImpl; + class SSLSocketImpl$1; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketImpl$1 : public ::java::lang::Object +{ + +public: // actually package-private + SSLSocketImpl$1(::gnu::javax::net::ssl::provider::SSLSocketImpl *); +public: + void run(); +public: // actually package-private + ::gnu::javax::net::ssl::provider::SSLSocketImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl$1__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h new file mode 100644 index 00000000000..3ad9ae0da51 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketInputStream__ +#define __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLSocketImpl; + class SSLSocketImpl$SocketInputStream; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketImpl$SocketInputStream : public ::java::io::InputStream +{ + +public: // actually package-private + SSLSocketImpl$SocketInputStream(::gnu::javax::net::ssl::provider::SSLSocketImpl *); +public: + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) inBuffer; + ::java::nio::ByteBuffer * appBuffer; + ::java::io::DataInputStream * in; +public: // actually package-private + ::gnu::javax::net::ssl::provider::SSLSocketImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h new file mode 100644 index 00000000000..987eaf81376 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketOutputStream__ +#define __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLSocketImpl; + class SSLSocketImpl$SocketOutputStream; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketImpl$SocketOutputStream : public ::java::io::OutputStream +{ + +public: // actually package-private + SSLSocketImpl$SocketOutputStream(::gnu::javax::net::ssl::provider::SSLSocketImpl *); +public: + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(jint); + virtual void close(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) buffer; + ::java::io::OutputStream * out; +public: // actually package-private + ::gnu::javax::net::ssl::provider::SSLSocketImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h new file mode 100644 index 00000000000..309706bba05 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h @@ -0,0 +1,160 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl__ +#define __gnu_javax_net_ssl_provider_SSLSocketImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace classpath + { + namespace debug + { + class SystemLogger; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLContextImpl; + class SSLEngineImpl; + class SSLSocketImpl; + } + } + } + } + } + namespace java + { + namespace net + { + class InetAddress; + class Socket; + class SocketAddress; + } + namespace nio + { + namespace channels + { + class SocketChannel; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedListener; + class SSLSession; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketImpl : public ::javax::net::ssl::SSLSocket +{ + +public: + SSLSocketImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *, ::java::lang::String *, jint); + SSLSocketImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *, ::java::lang::String *, jint, ::java::net::Socket *, jboolean); + virtual void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); + virtual jboolean getEnableSessionCreation(); + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites(); + virtual JArray< ::java::lang::String * > * getEnabledProtocols(); + virtual jboolean getNeedClientAuth(); + virtual ::javax::net::ssl::SSLSession * getSession(); + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites(); + virtual JArray< ::java::lang::String * > * getSupportedProtocols(); + virtual jboolean getUseClientMode(); + virtual jboolean getWantClientAuth(); + virtual void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *); + virtual void setEnableSessionCreation(jboolean); + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *); + virtual void setEnabledProtocols(JArray< ::java::lang::String * > *); + virtual void setNeedClientAuth(jboolean); + virtual void setUseClientMode(jboolean); + virtual void setWantClientAuth(jboolean); + virtual void startHandshake(); +public: // actually package-private + virtual void doHandshake(); +public: + virtual void bind(::java::net::SocketAddress *); + virtual void connect(::java::net::SocketAddress *); + virtual void connect(::java::net::SocketAddress *, jint); + virtual ::java::net::InetAddress * getInetAddress(); + virtual ::java::net::InetAddress * getLocalAddress(); + virtual jint getPort(); + virtual jint getLocalPort(); + virtual ::java::net::SocketAddress * getRemoteSocketAddress(); + virtual ::java::net::SocketAddress * getLocalSocketAddress(); + virtual ::java::nio::channels::SocketChannel * getChannel(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + virtual void setTcpNoDelay(jboolean); + virtual jboolean getTcpNoDelay(); + virtual void setSoLinger(jboolean, jint); + virtual jint getSoLinger(); + virtual void sendUrgentData(jint); + virtual void setOOBInline(jboolean); + virtual jboolean getOOBInline(); + virtual void setSoTimeout(jint); + virtual jint getSoTimeout(); + virtual void setSendBufferSize(jint); + virtual jint getSendBufferSize(); + virtual void setReceiveBufferSize(jint); + virtual jint getReceiveBufferSize(); + virtual void setKeepAlive(jboolean); + virtual jboolean getKeepAlive(); + virtual void setTrafficClass(jint); + virtual jint getTrafficClass(); + virtual void setReuseAddress(jboolean); + virtual jboolean getReuseAddress(); + virtual void close(); + virtual void shutdownInput(); + virtual void shutdownOutput(); + virtual jboolean isConnected(); + virtual jboolean isBound(); + virtual jboolean isClosed(); + virtual jboolean isInputShutdown(); + virtual jboolean isOutputShutdown(); +public: // actually package-private + static ::java::net::Socket * access$0(::gnu::javax::net::ssl::provider::SSLSocketImpl *); + static ::java::io::OutputStream * access$1(::gnu::javax::net::ssl::provider::SSLSocketImpl *); + static jboolean access$2(::gnu::javax::net::ssl::provider::SSLSocketImpl *); + static ::gnu::javax::net::ssl::provider::SSLEngineImpl * access$3(::gnu::javax::net::ssl::provider::SSLSocketImpl *); + static ::java::io::IOException * access$4(::gnu::javax::net::ssl::provider::SSLSocketImpl *); + static ::java::io::InputStream * access$5(::gnu::javax::net::ssl::provider::SSLSocketImpl *); + static void access$6(::gnu::javax::net::ssl::provider::SSLSocketImpl *, ::java::io::IOException *); + static JArray< jint > * $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus(); +private: + static ::gnu::classpath::debug::SystemLogger * logger; + ::gnu::javax::net::ssl::provider::SSLEngineImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocket)))) engine; + ::java::util::Set * listeners; + ::java::net::Socket * underlyingSocket; + jboolean isHandshaking; + ::java::io::IOException * handshakeException; + jboolean initialHandshakeDone; + jboolean autoClose; +public: // actually package-private + static jboolean $assertionsDisabled; +private: + static JArray< jint > * $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h new file mode 100644 index 00000000000..22b8e5fa98e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketInputStream__ +#define __gnu_javax_net_ssl_provider_SSLSocketInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLSocket; + class SSLSocketInputStream; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + SSLSocketInputStream(::java::io::InputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *); + SSLSocketInputStream(::java::io::InputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *, jboolean); +public: + virtual jint available(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + jboolean checkAlert(); + ::gnu::javax::net::ssl::provider::SSLSocket * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) socket; + jboolean checkHandshake; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketInputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h new file mode 100644 index 00000000000..e62ee5dbc77 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLSocketOutputStream__ +#define __gnu_javax_net_ssl_provider_SSLSocketOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLSocket; + class SSLSocketOutputStream; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLSocketOutputStream : public ::java::io::FilterOutputStream +{ + +public: // actually package-private + SSLSocketOutputStream(::java::io::OutputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *); + SSLSocketOutputStream(::java::io::OutputStream *, ::gnu::javax::net::ssl::provider::SSLSocket *, jboolean); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); +private: + void checkAlert(); + ::gnu::javax::net::ssl::provider::SSLSocket * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) socket; + jboolean checkHandshake; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLSocketOutputStream__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h new file mode 100644 index 00000000000..bdc243a427f --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLv3HMacMD5Impl__ +#define __gnu_javax_net_ssl_provider_SSLv3HMacMD5Impl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLHMac; + class SSLv3HMacMD5Impl; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLv3HMacMD5Impl : public ::javax::crypto::MacSpi +{ + +public: + SSLv3HMacMD5Impl(); +public: // actually protected + virtual JArray< jbyte > * engineDoFinal(); + virtual jint engineGetMacLength(); + virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual void engineReset(); + virtual void engineUpdate(jbyte); + virtual void engineUpdate(JArray< jbyte > *, jint, jint); +private: + ::gnu::javax::net::ssl::provider::SSLHMac * __attribute__((aligned(__alignof__( ::javax::crypto::MacSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLv3HMacMD5Impl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h new file mode 100644 index 00000000000..698d8803d99 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SSLv3HMacSHAImpl__ +#define __gnu_javax_net_ssl_provider_SSLv3HMacSHAImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SSLHMac; + class SSLv3HMacSHAImpl; + } + } + } + } + } + namespace java + { + namespace security + { + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class gnu::javax::net::ssl::provider::SSLv3HMacSHAImpl : public ::javax::crypto::MacSpi +{ + +public: + SSLv3HMacSHAImpl(); +public: // actually protected + virtual JArray< jbyte > * engineDoFinal(); + virtual jint engineGetMacLength(); + virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual void engineReset(); + virtual void engineUpdate(jbyte); + virtual void engineUpdate(JArray< jbyte > *, jint, jint); +private: + ::gnu::javax::net::ssl::provider::SSLHMac * __attribute__((aligned(__alignof__( ::javax::crypto::MacSpi)))) adaptee; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SSLv3HMacSHAImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/SecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/SecurityParameters.h new file mode 100644 index 00000000000..e96e7da22de --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SecurityParameters.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SecurityParameters__ +#define __gnu_javax_net_ssl_provider_SecurityParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ContentType; + class ProtocolVersion; + class SecurityParameters; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SecurityParameters : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * decrypt(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *, ::gnu::javax::net::ssl::provider::ContentType *) = 0; + virtual JArray< jbyte > * encrypt(JArray< jbyte > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *) = 0; + virtual void reset() = 0; + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * getVersion() = 0; + virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *) = 0; + virtual void setDeflating(jboolean) = 0; + virtual void setInflating(jboolean) = 0; + virtual jint getFragmentLength() = 0; + virtual void setFragmentLength(jint) = 0; + virtual void setInCipher(::java::lang::Object *) = 0; + virtual void setOutCipher(::java::lang::Object *) = 0; + virtual void setInMac(::java::lang::Object *) = 0; + virtual void setOutMac(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_provider_SecurityParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h new file mode 100644 index 00000000000..5d35d5cd93d --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerDHE_PSKParameters__ +#define __gnu_javax_net_ssl_provider_ServerDHE_PSKParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + class ServerDHE_PSKParameters; + class ServerDHParams; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerDHE_PSKParameters : public ::java::lang::Object +{ + +public: + ServerDHE_PSKParameters(::java::nio::ByteBuffer *); + ServerDHE_PSKParameters(::java::lang::String *, ::gnu::javax::net::ssl::provider::ServerDHParams *); + ServerDHE_PSKParameters(::java::lang::String *, ::java::nio::ByteBuffer *); + virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm(); + virtual jint length(); +private: + jint hintLength(); +public: + virtual ::java::lang::String * identityHint(); + virtual ::gnu::javax::net::ssl::provider::ServerDHParams * params(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerDHE_PSKParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerDHParams.h b/libjava/gnu/javax/net/ssl/provider/ServerDHParams.h new file mode 100644 index 00000000000..9585ab8fa64 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerDHParams.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerDHParams__ +#define __gnu_javax_net_ssl_provider_ServerDHParams__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + class ServerDHParams; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerDHParams : public ::java::lang::Object +{ + +public: + ServerDHParams(::java::nio::ByteBuffer *); + ServerDHParams(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm(); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::math::BigInteger * p(); + virtual ::java::math::BigInteger * g(); + virtual ::java::math::BigInteger * y(); + virtual void setP(::java::math::BigInteger *); + virtual void setG(::java::math::BigInteger *); + virtual void setY(::java::math::BigInteger *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerDHParams__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h new file mode 100644 index 00000000000..270ea850ee8 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$CertLoader__ +#define __gnu_javax_net_ssl_provider_ServerHandshake$CertLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerHandshake; + class ServerHandshake$CertLoader; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerHandshake$CertLoader : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ServerHandshake$CertLoader(::gnu::javax::net::ssl::provider::ServerHandshake *); +public: + virtual void implRun(); +public: // actually package-private + ::gnu::javax::net::ssl::provider::ServerHandshake * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHandshake$CertLoader__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h new file mode 100644 index 00000000000..35b1fdc23c2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$GenDH__ +#define __gnu_javax_net_ssl_provider_ServerHandshake$GenDH__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerHandshake; + class ServerHandshake$GenDH; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerHandshake$GenDH : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + + ServerHandshake$GenDH(::gnu::javax::net::ssl::provider::ServerHandshake *); +public: // actually protected + virtual void implRun(); +public: // actually package-private + ServerHandshake$GenDH(::gnu::javax::net::ssl::provider::ServerHandshake *, ::gnu::javax::net::ssl::provider::ServerHandshake$GenDH *); + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) paramsBuffer; + ::java::nio::ByteBuffer * sigBuffer; + ::gnu::javax::net::ssl::provider::ServerHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHandshake$GenDH__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h new file mode 100644 index 00000000000..d3c84a735dc --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$RSAKeyExchange__ +#define __gnu_javax_net_ssl_provider_ServerHandshake$RSAKeyExchange__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerHandshake; + class ServerHandshake$RSAKeyExchange; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerHandshake$RSAKeyExchange : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ServerHandshake$RSAKeyExchange(::gnu::javax::net::ssl::provider::ServerHandshake *, JArray< jbyte > *); +public: + virtual void implRun(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) encryptedPreMasterSecret; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ServerHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHandshake$RSAKeyExchange__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h new file mode 100644 index 00000000000..ef5374f765d --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$RSA_PSKExchange__ +#define __gnu_javax_net_ssl_provider_ServerHandshake$RSA_PSKExchange__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerHandshake; + class ServerHandshake$RSA_PSKExchange; + } + } + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class gnu::javax::net::ssl::provider::ServerHandshake$RSA_PSKExchange : public ::gnu::javax::net::ssl::provider::DelegatedTask +{ + +public: // actually package-private + ServerHandshake$RSA_PSKExchange(::gnu::javax::net::ssl::provider::ServerHandshake *, JArray< jbyte > *, ::javax::crypto::SecretKey *); +public: + virtual void implRun(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) encryptedPreMasterSecret; + ::javax::crypto::SecretKey * psKey; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ServerHandshake * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHandshake$RSA_PSKExchange__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h new file mode 100644 index 00000000000..b993c0873d0 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$State__ +#define __gnu_javax_net_ssl_provider_ServerHandshake$State__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerHandshake$State; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerHandshake$State : public ::java::lang::Enum +{ + + ServerHandshake$State(::java::lang::String *, jint, jboolean, jboolean); +public: // actually package-private + jboolean isReadState(); + jboolean isWriteState(); +public: + static JArray< ::gnu::javax::net::ssl::provider::ServerHandshake$State * > * values(); + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_HELLO_REQUEST; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_SERVER_HELLO; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_SERVER_KEY_EXCHANGE; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_CERTIFICATE_REQUEST; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_SERVER_HELLO_DONE; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_FINISHED; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CLIENT_HELLO; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CERTIFICATE; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CLIENT_KEY_EXCHANGE; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CERTIFICATE_VERIFY; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_FINISHED; + static ::gnu::javax::net::ssl::provider::ServerHandshake$State * DONE; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Enum)))) isWriteState__; + jboolean isReadState__; + static JArray< ::gnu::javax::net::ssl::provider::ServerHandshake$State * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHandshake$State__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake.h new file mode 100644 index 00000000000..cf32a8da695 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake.h @@ -0,0 +1,129 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHandshake__ +#define __gnu_javax_net_ssl_provider_ServerHandshake__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class AbstractHandshake$CertVerifier; + class CipherSuite; + class CipherSuiteList; + class CompressionMethod; + class CompressionMethodList; + class DelegatedTask; + class ProtocolVersion; + class SSLEngineImpl; + class ServerHandshake; + class ServerHandshake$CertLoader; + class ServerHandshake$GenDH; + class ServerHandshake$State; + class ServerNameList; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class KeyPair; + class PrivateKey; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngineResult$HandshakeStatus; + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerHandshake : public ::gnu::javax::net::ssl::provider::AbstractHandshake +{ + +public: // actually package-private + ServerHandshake(jboolean, ::gnu::javax::net::ssl::provider::SSLEngineImpl *); +private: + static ::gnu::javax::net::ssl::provider::ProtocolVersion * chooseProtocol(::gnu::javax::net::ssl::provider::ProtocolVersion *, JArray< ::java::lang::String * > *); + ::gnu::javax::net::ssl::provider::CipherSuite * chooseSuite(::gnu::javax::net::ssl::provider::CipherSuiteList *, JArray< ::java::lang::String * > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *); + static ::gnu::javax::net::ssl::provider::CompressionMethod * chooseCompression(::gnu::javax::net::ssl::provider::CompressionMethodList *); +public: // actually protected + virtual jboolean doHash(); +public: + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput(); + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *); +public: // actually package-private + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status(); + virtual void checkKeyExchange(); + virtual void handleV2Hello(::java::nio::ByteBuffer *); +private: + ::java::nio::ByteBuffer * signParams(::java::nio::ByteBuffer *); + void verifyClient(JArray< jbyte > *); +public: // actually package-private + static void access$0(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::lang::String *); + static ::java::lang::String * access$1(::gnu::javax::net::ssl::provider::ServerHandshake *); + static void access$2(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::cert::X509Certificate *); + static void access$3(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::PrivateKey *); + static ::java::security::cert::X509Certificate * access$4(::gnu::javax::net::ssl::provider::ServerHandshake *); + static void access$5(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::KeyPair *); + static ::java::security::KeyPair * access$6(::gnu::javax::net::ssl::provider::ServerHandshake *); + static ::java::nio::ByteBuffer * access$7(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::nio::ByteBuffer *); + static ::java::security::PrivateKey * access$8(::gnu::javax::net::ssl::provider::ServerHandshake *); + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type(); + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$KeyExchangeAlgorithm(); + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ServerHandshake$State(); +private: + ::gnu::javax::net::ssl::provider::ServerHandshake$State * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::AbstractHandshake)))) state; + ::java::nio::ByteBuffer * outBuffer; + jboolean clientHadExtensions; + jboolean continuedSession; + ::gnu::javax::net::ssl::provider::ServerNameList * requestedNames; + ::java::lang::String * keyAlias; + ::java::security::cert::X509Certificate * clientCert; + ::java::security::cert::X509Certificate * localCert; + jboolean helloV2; + ::java::security::KeyPair * dhPair; + ::java::security::PrivateKey * serverKey; + ::gnu::javax::net::ssl::provider::ServerHandshake$GenDH * genDH; + ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * certVerifier; + ::gnu::javax::net::ssl::provider::ServerHandshake$CertLoader * certLoader; + ::gnu::javax::net::ssl::provider::DelegatedTask * keyExchangeTask; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$KeyExchangeAlgorithm__; + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ServerHandshake$State__; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHandshake__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHello.h b/libjava/gnu/javax/net/ssl/provider/ServerHello.h new file mode 100644 index 00000000000..a26dd829e86 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHello.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHello__ +#define __gnu_javax_net_ssl_provider_ServerHello__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class CompressionMethod; + class ExtensionList; + class ProtocolVersion; + class Random; + class ServerHello; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerHello : public ::java::lang::Object +{ + +public: + ServerHello(::java::nio::ByteBuffer *); + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version(); + virtual ::gnu::javax::net::ssl::provider::Random * random(); + virtual JArray< jbyte > * sessionId(); + virtual ::gnu::javax::net::ssl::provider::CipherSuite * cipherSuite(); + virtual ::gnu::javax::net::ssl::provider::CompressionMethod * compressionMethod(); + virtual jint extensionsLength(); + virtual ::gnu::javax::net::ssl::provider::ExtensionList * extensions(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually protected + static const jint RANDOM_OFFSET = 2; + static const jint SESSID_OFFSET = 34; + static const jint SESSID_OFFSET2 = 35; + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jboolean disableExtensions; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHello__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h b/libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h new file mode 100644 index 00000000000..8d55e6a1242 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHelloBuilder__ +#define __gnu_javax_net_ssl_provider_ServerHelloBuilder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class CompressionMethod; + class ProtocolVersion; + class ServerHelloBuilder; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerHelloBuilder : public ::gnu::javax::net::ssl::provider::ServerHello +{ + +public: + ServerHelloBuilder(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *); + virtual void setSessionId(JArray< jbyte > *); + virtual void setSessionId(JArray< jbyte > *, jint, jint); + virtual void setCipherSuite(::gnu::javax::net::ssl::provider::CipherSuite *); + virtual void setCompressionMethod(::gnu::javax::net::ssl::provider::CompressionMethod *); + virtual void setDisableExtensions(jboolean); + virtual void setExtensionsLength(jint); + virtual void setExtensions(::java::nio::ByteBuffer *); + virtual void ensureCapacity(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHelloBuilder__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h b/libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h new file mode 100644 index 00000000000..51550c72aa6 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerHelloDone__ +#define __gnu_javax_net_ssl_provider_ServerHelloDone__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerHelloDone; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerHelloDone : public ::java::lang::Object +{ + +public: + ServerHelloDone(); + virtual jint length(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerHelloDone__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h new file mode 100644 index 00000000000..04ec69c5c70 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerKeyExchange__ +#define __gnu_javax_net_ssl_provider_ServerKeyExchange__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class ServerKeyExchange; + class ServerKeyExchangeParams; + class Signature; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerKeyExchange : public ::java::lang::Object +{ + +public: + ServerKeyExchange(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CipherSuite *); + virtual jint length(); + virtual ::gnu::javax::net::ssl::provider::ServerKeyExchangeParams * params(); + virtual ::gnu::javax::net::ssl::provider::Signature * signature(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +public: // actually protected + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::gnu::javax::net::ssl::provider::CipherSuite * suite; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerKeyExchange__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h new file mode 100644 index 00000000000..abc1363aa32 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerKeyExchangeBuilder__ +#define __gnu_javax_net_ssl_provider_ServerKeyExchangeBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class CipherSuite; + class ServerKeyExchangeBuilder; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerKeyExchangeBuilder : public ::gnu::javax::net::ssl::provider::ServerKeyExchange +{ + +public: + ServerKeyExchangeBuilder(::gnu::javax::net::ssl::provider::CipherSuite *); + virtual ::java::nio::ByteBuffer * buffer(); + virtual void setParams(::java::nio::ByteBuffer *); + virtual void setSignature(::java::nio::ByteBuffer *); + virtual void ensureCapacity(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerKeyExchangeBuilder__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h new file mode 100644 index 00000000000..4ff4d2079fb --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerKeyExchangeParams__ +#define __gnu_javax_net_ssl_provider_ServerKeyExchangeParams__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + class ServerKeyExchangeParams; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerKeyExchangeParams : public ::java::lang::Object +{ + +public: + virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm() = 0; + virtual jint length() = 0; + virtual ::java::lang::String * toString(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_net_ssl_provider_ServerKeyExchangeParams__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h new file mode 100644 index 00000000000..6ee36ed59e9 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerNameList$Iterator__ +#define __gnu_javax_net_ssl_provider_ServerNameList$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerNameList; + class ServerNameList$Iterator; + class ServerNameList$ServerName; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerNameList$Iterator : public ::java::lang::Object +{ + +public: + ServerNameList$Iterator(::gnu::javax::net::ssl::provider::ServerNameList *); + virtual jboolean hasNext(); + virtual ::gnu::javax::net::ssl::provider::ServerNameList$ServerName * target$next(); + virtual void remove(); + virtual ::java::lang::Object * next(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; +public: // actually package-private + ::gnu::javax::net::ssl::provider::ServerNameList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerNameList$Iterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h new file mode 100644 index 00000000000..363e89f7b72 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerNameList$NameType__ +#define __gnu_javax_net_ssl_provider_ServerNameList$NameType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerNameList$NameType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::ServerNameList$NameType : public ::java::lang::Enum +{ + + ServerNameList$NameType(::java::lang::String *, jint, jint); +public: + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::ServerNameList$NameType * > * values(); + static ::gnu::javax::net::ssl::provider::ServerNameList$NameType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::ServerNameList$NameType * HOST_NAME; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::ServerNameList$NameType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerNameList$NameType__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h new file mode 100644 index 00000000000..1aa13b41752 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerNameList$ServerName__ +#define __gnu_javax_net_ssl_provider_ServerNameList$ServerName__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerNameList$NameType; + class ServerNameList$ServerName; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerNameList$ServerName : public ::java::lang::Object +{ + +public: + ServerNameList$ServerName(::java::nio::ByteBuffer *); + ServerNameList$ServerName(::gnu::javax::net::ssl::provider::ServerNameList$NameType *, ::java::lang::String *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::gnu::javax::net::ssl::provider::ServerNameList$NameType * type(); + virtual ::java::lang::String * name(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerNameList$ServerName__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList.h new file mode 100644 index 00000000000..a808e0d6b91 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerNameList__ +#define __gnu_javax_net_ssl_provider_ServerNameList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class ServerNameList; + class ServerNameList$ServerName; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerNameList : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + +public: + ServerNameList(::java::nio::ByteBuffer *); + ServerNameList(::java::util::List *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual jint size(); + virtual ::gnu::javax::net::ssl::provider::ServerNameList$ServerName * get(jint); + virtual void setLength(jint); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + virtual ::java::util::Iterator * iterator(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerNameList__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h new file mode 100644 index 00000000000..bf1bc27dd11 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerPSKParameters__ +#define __gnu_javax_net_ssl_provider_ServerPSKParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + class ServerPSKParameters; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerPSKParameters : public ::java::lang::Object +{ + +public: + ServerPSKParameters(::java::nio::ByteBuffer *); + ServerPSKParameters(::java::lang::String *); + virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual jint length(); + virtual ::java::lang::String * identityHint(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerPSKParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h b/libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h new file mode 100644 index 00000000000..21201fe25d2 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerRSAParams__ +#define __gnu_javax_net_ssl_provider_ServerRSAParams__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + class ServerRSAParams; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerRSAParams : public ::java::lang::Object +{ + +public: + ServerRSAParams(::java::nio::ByteBuffer *); + virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm(); + virtual jint length(); + virtual ::java::math::BigInteger * modulus(); + virtual ::java::math::BigInteger * exponent(); + virtual void setModulus(::java::math::BigInteger *); + virtual void setExponent(::java::math::BigInteger *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerRSAParams__ diff --git a/libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h new file mode 100644 index 00000000000..ac7fca20f66 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_ServerRSA_PSKParameters__ +#define __gnu_javax_net_ssl_provider_ServerRSA_PSKParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class KeyExchangeAlgorithm; + class ServerRSA_PSKParameters; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::ServerRSA_PSKParameters : public ::gnu::javax::net::ssl::provider::ServerPSKParameters +{ + +public: + ServerRSA_PSKParameters(::java::nio::ByteBuffer *); + ServerRSA_PSKParameters(::java::lang::String *); + virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_ServerRSA_PSKParameters__ diff --git a/libjava/gnu/javax/net/ssl/provider/Session$ID.h b/libjava/gnu/javax/net/ssl/provider/Session$ID.h new file mode 100644 index 00000000000..849f94155df --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Session$ID.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Session$ID__ +#define __gnu_javax_net_ssl_provider_Session$ID__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Session$ID; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Session$ID : public ::java::lang::Object +{ + +public: // actually package-private + Session$ID(JArray< jbyte > *); +public: + JArray< jbyte > * getId(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + jint compareTo(::java::lang::Object *); + ::java::lang::String * toString(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Session$ID__ diff --git a/libjava/gnu/javax/net/ssl/provider/Session.h b/libjava/gnu/javax/net/ssl/provider/Session.h new file mode 100644 index 00000000000..d1f241cc615 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Session.h @@ -0,0 +1,134 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Session__ +#define __gnu_javax_net_ssl_provider_Session__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class SRPTrustManager; + namespace provider + { + class Alert; + class CipherSuite; + class ProtocolVersion; + class SecurityParameters; + class Session; + class Session$ID; + class SessionContext; + } + } + } + } + } + namespace java + { + namespace security + { + class Principal; + class SecureRandom; + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLPermission; + class SSLSessionContext; + class X509KeyManager; + class X509TrustManager; + } + } + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class gnu::javax::net::ssl::provider::Session : public ::java::lang::Object +{ + +public: // actually package-private + Session(); + Session(jlong); +public: // actually protected + ::java::lang::Object * clone(); +public: + ::java::lang::String * getCipherSuite(); + jlong getCreationTime(); + JArray< jbyte > * getId(); + jlong getLastAccessedTime(); + JArray< ::java::security::cert::Certificate * > * getLocalCertificates(); + JArray< ::java::security::cert::Certificate * > * getPeerCertificates(); + JArray< ::javax::security::cert::X509Certificate * > * getPeerCertificateChain(); + ::java::lang::String * getPeerHost(); + ::java::lang::String * getProtocol(); + ::javax::net::ssl::SSLSessionContext * getSessionContext(); + JArray< ::java::lang::String * > * getValueNames(); + ::java::lang::Object * getValue(::java::lang::String *); + void putValue(::java::lang::String *, ::java::lang::Object *); + void removeValue(::java::lang::String *); + void invalidate(); +public: // actually package-private + void access(); + void setLastAccessedTime(jlong); +public: + jint getApplicationBufferSize() = 0; + ::java::security::Principal * getLocalPrincipal() = 0; + jint getPacketBufferSize() = 0; + jint getPeerPort() = 0; + ::java::security::Principal * getPeerPrincipal() = 0; + jboolean isValid() = 0; +private: + static ::javax::net::ssl::SSLPermission * GET_SESSION_CONTEXT_PERMISSION; + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) creationTime; + ::java::util::Date * lastAccessedTime; +public: // actually package-private + ::gnu::javax::net::ssl::provider::Session$ID * sessionId; + JArray< ::java::security::cert::Certificate * > * localCerts; + JArray< ::java::security::cert::Certificate * > * peerCerts; + JArray< ::javax::security::cert::X509Certificate * > * peerCertChain; + ::java::lang::String * peerHost; + jboolean peerVerified; + ::gnu::javax::net::ssl::provider::SessionContext * context; + ::java::util::HashMap * values; + jboolean valid; + ::java::util::List * enabledSuites; + ::gnu::javax::net::ssl::provider::CipherSuite * cipherSuite; + ::java::util::SortedSet * enabledProtocols; + ::gnu::javax::net::ssl::provider::ProtocolVersion * protocol; + JArray< jbyte > * masterSecret; + ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager; + ::javax::net::ssl::X509TrustManager * trustManager; + ::javax::net::ssl::X509KeyManager * keyManager; + ::java::security::SecureRandom * random; + ::gnu::javax::net::ssl::provider::SecurityParameters * params; + ::gnu::javax::net::ssl::provider::Alert * currentAlert; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Session__ diff --git a/libjava/gnu/javax/net/ssl/provider/SessionContext.h b/libjava/gnu/javax/net/ssl/provider/SessionContext.h new file mode 100644 index 00000000000..3dab41cd799 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SessionContext.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SessionContext__ +#define __gnu_javax_net_ssl_provider_SessionContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Session; + class Session$ID; + class SessionContext; + } + } + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + } + } + } +} + +class gnu::javax::net::ssl::provider::SessionContext : public ::java::lang::Object +{ + +public: // actually package-private + SessionContext(); +public: + virtual ::java::util::Enumeration * getIds(); + virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *); + virtual jint getSessionCacheSize(); + virtual void setSessionCacheSize(jint); + virtual jint getSessionTimeout(); + virtual void setSessionTimeout(jint); + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual jboolean addSession(::gnu::javax::net::ssl::provider::Session$ID *, ::gnu::javax::net::ssl::provider::Session *); + virtual jboolean containsSessionID(::gnu::javax::net::ssl::provider::Session$ID *); + virtual jboolean removeSession(::gnu::javax::net::ssl::provider::Session$ID *); + virtual void notifyAccess(::gnu::javax::net::ssl::provider::Session *); +public: // actually protected + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sessions; + jint cacheSize; + jint timeout; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SessionContext__ diff --git a/libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h b/libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h new file mode 100644 index 00000000000..287944cb648 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SessionImpl$PrivateData__ +#define __gnu_javax_net_ssl_provider_SessionImpl$PrivateData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SessionImpl$PrivateData; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SessionImpl$PrivateData : public ::java::lang::Object +{ + +public: // actually package-private + SessionImpl$PrivateData(); + static const jlong serialVersionUID = -8040597659545984581LL; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) masterSecret; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SessionImpl$PrivateData__ diff --git a/libjava/gnu/javax/net/ssl/provider/SessionImpl.h b/libjava/gnu/javax/net/ssl/provider/SessionImpl.h new file mode 100644 index 00000000000..d3d5a07998b --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SessionImpl.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SessionImpl__ +#define __gnu_javax_net_ssl_provider_SessionImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class Session$ID; + namespace provider + { + class CipherSuite; + class MaxFragmentLength; + class ProtocolVersion; + class SessionImpl; + class SessionImpl$PrivateData; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace crypto + { + class SealedObject; + } + } +} + +class gnu::javax::net::ssl::provider::SessionImpl : public ::gnu::javax::net::ssl::Session +{ + +public: + SessionImpl(); +public: // actually package-private + virtual ::java::security::SecureRandom * random(); +public: + virtual ::java::lang::String * getProtocol(); + virtual void prepare(JArray< jchar > *); + virtual void repair(JArray< jchar > *); + virtual ::javax::crypto::SealedObject * privateData(); + virtual void setPrivateData(::javax::crypto::SealedObject *); +public: // actually package-private + virtual void setApplicationBufferSize(jint); + virtual void setRandom(::java::security::SecureRandom *); + virtual void setTruncatedMac(jboolean); + virtual void setId(::gnu::javax::net::ssl::Session$ID *); + virtual void setLocalCertificates(JArray< ::java::security::cert::Certificate * > *); + virtual void setPeerCertificates(JArray< ::java::security::cert::Certificate * > *); + virtual void setPeerVerified(jboolean); + static const jlong serialVersionUID = 8932976607588442485LL; + ::gnu::javax::net::ssl::provider::CipherSuite * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::Session)))) suite; + ::gnu::javax::net::ssl::provider::ProtocolVersion * version; + JArray< jbyte > * privateDataSalt; + ::javax::crypto::SealedObject * sealedPrivateData; + ::gnu::javax::net::ssl::provider::MaxFragmentLength * maxLength; + ::gnu::javax::net::ssl::provider::SessionImpl$PrivateData * privateData__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SessionImpl__ diff --git a/libjava/gnu/javax/net/ssl/provider/Signature.h b/libjava/gnu/javax/net/ssl/provider/Signature.h new file mode 100644 index 00000000000..4b87ea4afdd --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Signature.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Signature__ +#define __gnu_javax_net_ssl_provider_Signature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Signature; + class SignatureAlgorithm; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Signature : public ::java::lang::Object +{ + +public: + Signature(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *); + Signature(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual JArray< jbyte > * signature(); + virtual void setSignature(JArray< jbyte > *); + virtual void setSignature(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__; + ::gnu::javax::net::ssl::provider::SignatureAlgorithm * alg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Signature__ diff --git a/libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h new file mode 100644 index 00000000000..adca3804a5a --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SignatureAlgorithm__ +#define __gnu_javax_net_ssl_provider_SignatureAlgorithm__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SignatureAlgorithm; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SignatureAlgorithm : public ::java::lang::Enum +{ + + SignatureAlgorithm(::java::lang::String *, jint); +public: + ::java::lang::String * algorithm(); + static JArray< ::gnu::javax::net::ssl::provider::SignatureAlgorithm * > * values(); + static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * valueOf(::java::lang::String *); +public: // actually package-private + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SignatureAlgorithm(); +public: + static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * ANONYMOUS; + static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * RSA; + static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * DSA; +private: + static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SignatureAlgorithm__; + static JArray< ::gnu::javax::net::ssl::provider::SignatureAlgorithm * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SignatureAlgorithm__ diff --git a/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h new file mode 100644 index 00000000000..7db323c28f7 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SimpleSessionContext$1__ +#define __gnu_javax_net_ssl_provider_SimpleSessionContext$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SimpleSessionContext; + class SimpleSessionContext$1; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SimpleSessionContext$1 : public ::java::lang::Object +{ + +public: // actually package-private + SimpleSessionContext$1(::gnu::javax::net::ssl::provider::SimpleSessionContext *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) it; + ::gnu::javax::net::ssl::provider::SimpleSessionContext * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SimpleSessionContext$1__ diff --git a/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h new file mode 100644 index 00000000000..68795decb98 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SimpleSessionContext__ +#define __gnu_javax_net_ssl_provider_SimpleSessionContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + class Session; + namespace provider + { + class SimpleSessionContext; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SimpleSessionContext : public ::gnu::javax::net::ssl::AbstractSessionContext +{ + +public: + SimpleSessionContext(); +public: // actually protected + ::gnu::javax::net::ssl::Session * implGet(JArray< jbyte > *); +public: + void load(JArray< jchar > *); + void put(::gnu::javax::net::ssl::Session *); + void remove(JArray< jbyte > *); + void store(JArray< jchar > *); + ::java::util::Enumeration * getIds(); + jint getSessionCacheSize(); + void setSessionCacheSize(jint); +public: // actually package-private + static ::java::util::HashMap * access$0(::gnu::javax::net::ssl::provider::SimpleSessionContext *); +public: + static const jint DEFAULT_TIMEOUT = 300; +private: + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::AbstractSessionContext)))) store__; + jint storeLimit; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SimpleSessionContext__ diff --git a/libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h b/libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h new file mode 100644 index 00000000000..a045e5308f1 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_SynchronizedRandom__ +#define __gnu_javax_net_ssl_provider_SynchronizedRandom__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class SynchronizedRandom; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::SynchronizedRandom : public ::java::lang::Object +{ + +public: // actually package-private + SynchronizedRandom(::gnu::java::security::prng::IRandom *); +public: + virtual ::java::lang::String * name(); + virtual void init(::java::util::Map *); + virtual jbyte nextByte(); + virtual void nextBytes(JArray< jbyte > *, jint, jint); + virtual ::java::lang::Object * clone(); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); +private: + ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) random; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_SynchronizedRandom__ diff --git a/libjava/gnu/javax/net/ssl/provider/TLSHMac.h b/libjava/gnu/javax/net/ssl/provider/TLSHMac.h new file mode 100644 index 00000000000..6948f3f0564 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TLSHMac.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TLSHMac__ +#define __gnu_javax_net_ssl_provider_TLSHMac__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class IMessageDigest; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class TLSHMac; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::TLSHMac : public ::gnu::javax::crypto::mac::HMac +{ + +public: // actually package-private + TLSHMac(::gnu::java::security::hash::IMessageDigest *); +public: + virtual void init(::java::util::Map *); +private: + static const jbyte IPAD_BYTE = 54; + static const jbyte OPAD_BYTE = 92; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TLSHMac__ diff --git a/libjava/gnu/javax/net/ssl/provider/TLSRandom.h b/libjava/gnu/javax/net/ssl/provider/TLSRandom.h new file mode 100644 index 00000000000..737d6c4169e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TLSRandom.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TLSRandom__ +#define __gnu_javax_net_ssl_provider_TLSRandom__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + } + } + namespace net + { + namespace ssl + { + namespace provider + { + class TLSRandom; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::TLSRandom : public ::java::lang::Object +{ + +public: // actually package-private + TLSRandom(); +public: + virtual ::java::lang::Object * clone(); + virtual void init(::java::util::Map *); + virtual ::java::lang::String * name(); + virtual jbyte nextByte(); + virtual void nextBytes(JArray< jbyte > *, jint, jint); + virtual void addRandomByte(jbyte); + virtual void addRandomBytes(JArray< jbyte > *); + virtual void addRandomBytes(JArray< jbyte > *, jint, jint); +private: + void fillBuffer(); +public: // actually package-private + static ::java::lang::String * SECRET; + static ::java::lang::String * SEED; +private: + ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hmac_sha; + ::gnu::javax::crypto::mac::IMac * hmac_md5; + JArray< jbyte > * sha_a; + JArray< jbyte > * md5_a; + JArray< jbyte > * seed; + JArray< jbyte > * buffer; + jint idx; + jboolean init__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TLSRandom__ diff --git a/libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h b/libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h new file mode 100644 index 00000000000..73b4d255857 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TruncatedHMAC__ +#define __gnu_javax_net_ssl_provider_TruncatedHMAC__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class TruncatedHMAC; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::TruncatedHMAC : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + +public: + TruncatedHMAC(); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TruncatedHMAC__ diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h new file mode 100644 index 00000000000..4cdcf79f4bf --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities$AuthoritiesIterator__ +#define __gnu_javax_net_ssl_provider_TrustedAuthorities$AuthoritiesIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class TrustedAuthorities; + class TrustedAuthorities$AuthoritiesIterator; + class TrustedAuthorities$TrustedAuthority; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::TrustedAuthorities$AuthoritiesIterator : public ::java::lang::Object +{ + +public: + TrustedAuthorities$AuthoritiesIterator(::gnu::javax::net::ssl::provider::TrustedAuthorities *); + virtual ::gnu::javax::net::ssl::provider::TrustedAuthorities$TrustedAuthority * target$next(); + virtual jboolean hasNext(); + virtual void remove(); + virtual ::java::lang::Object * next(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; +public: // actually package-private + ::gnu::javax::net::ssl::provider::TrustedAuthorities * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities$AuthoritiesIterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h new file mode 100644 index 00000000000..e2b0188c07c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities$IdentifierType__ +#define __gnu_javax_net_ssl_provider_TrustedAuthorities$IdentifierType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class TrustedAuthorities$IdentifierType; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType : public ::java::lang::Enum +{ + + TrustedAuthorities$IdentifierType(::java::lang::String *, jint, jint); +public: + jint getValue(); + static JArray< ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * > * values(); + static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * valueOf(::java::lang::String *); + static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * PRE_AGREED; + static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * KEY_SHA1_HASH; + static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * X509_NAME; + static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * CERT_SHA1_HASH; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value; + static JArray< ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities$IdentifierType__ diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h new file mode 100644 index 00000000000..6101a829dce --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities$TrustedAuthority__ +#define __gnu_javax_net_ssl_provider_TrustedAuthorities$TrustedAuthority__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class TrustedAuthorities$IdentifierType; + class TrustedAuthorities$TrustedAuthority; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class gnu::javax::net::ssl::provider::TrustedAuthorities$TrustedAuthority : public ::java::lang::Object +{ + +public: + TrustedAuthorities$TrustedAuthority(::java::nio::ByteBuffer *); + virtual jint length(); + virtual JArray< jbyte > * sha1Hash(); + virtual ::javax::security::auth::x500::X500Principal * name(); + virtual ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * type(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities$TrustedAuthority__ diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h new file mode 100644 index 00000000000..0aeabe4c281 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities__ +#define __gnu_javax_net_ssl_provider_TrustedAuthorities__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class TrustedAuthorities; + class TrustedAuthorities$TrustedAuthority; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::TrustedAuthorities : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + +public: + TrustedAuthorities(::java::nio::ByteBuffer *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual jint size(); + virtual ::gnu::javax::net::ssl::provider::TrustedAuthorities$TrustedAuthority * get(jint); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + virtual ::java::util::Iterator * iterator(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities__ diff --git a/libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h b/libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h new file mode 100644 index 00000000000..9c75dd0a847 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_UnresolvedExtensionValue__ +#define __gnu_javax_net_ssl_provider_UnresolvedExtensionValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class UnresolvedExtensionValue; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::UnresolvedExtensionValue : public ::gnu::javax::net::ssl::provider::Extension$Value +{ + +public: + UnresolvedExtensionValue(::java::nio::ByteBuffer *); + virtual jint length(); + virtual ::java::nio::ByteBuffer * buffer(); + virtual ::java::nio::ByteBuffer * value(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_UnresolvedExtensionValue__ diff --git a/libjava/gnu/javax/net/ssl/provider/Util$1.h b/libjava/gnu/javax/net/ssl/provider/Util$1.h new file mode 100644 index 00000000000..076f175d11f --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Util$1.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Util$1__ +#define __gnu_javax_net_ssl_provider_Util$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Util$1; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Util$1 : public ::java::lang::Object +{ + +public: // actually package-private + Util$1(::java::lang::String *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Util$1__ diff --git a/libjava/gnu/javax/net/ssl/provider/Util$2.h b/libjava/gnu/javax/net/ssl/provider/Util$2.h new file mode 100644 index 00000000000..606786ee862 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Util$2.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Util$2__ +#define __gnu_javax_net_ssl_provider_Util$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Util$2; + } + } + } + } + } +} + +class gnu::javax::net::ssl::provider::Util$2 : public ::java::lang::Object +{ + +public: // actually package-private + Util$2(::java::lang::String *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Util$2__ diff --git a/libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h b/libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h new file mode 100644 index 00000000000..ad7d244f749 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Util$WrappedBuffer__ +#define __gnu_javax_net_ssl_provider_Util$WrappedBuffer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Util$WrappedBuffer; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Util$WrappedBuffer : public ::java::lang::Object +{ + +public: // actually package-private + Util$WrappedBuffer(::java::nio::ByteBuffer *, ::java::lang::String *); +public: + virtual ::java::lang::String * toString(); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::java::lang::String * prefix; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Util$WrappedBuffer__ diff --git a/libjava/gnu/javax/net/ssl/provider/Util.h b/libjava/gnu/javax/net/ssl/provider/Util.h new file mode 100644 index 00000000000..6e54af1c89e --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/Util.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_Util__ +#define __gnu_javax_net_ssl_provider_Util__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Util; + } + } + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace nio + { + class ByteBuffer; + } + } +} + +class gnu::javax::net::ssl::provider::Util : public ::java::lang::Object +{ + + Util(); +public: + static ::java::lang::Object * wrapBuffer(::java::nio::ByteBuffer *); + static ::java::lang::Object * wrapBuffer(::java::nio::ByteBuffer *, ::java::lang::String *); + static JArray< jbyte > * toByteArray(::java::lang::String *); + static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint); + static ::java::lang::String * toHexString(JArray< jbyte > *); + static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar); + static ::java::lang::String * toHexString(JArray< jbyte > *, jchar); + static ::java::lang::String * hexDump(JArray< jbyte > *, jint, jint, ::java::lang::String *); + static ::java::lang::String * hexDump(::java::nio::ByteBuffer *); + static ::java::lang::String * hexDump(::java::nio::ByteBuffer *, ::java::lang::String *); + static ::java::lang::String * hexDump(JArray< jbyte > *, jint, jint); + static ::java::lang::String * hexDump(JArray< jbyte > *, ::java::lang::String *); + static ::java::lang::String * hexDump(JArray< jbyte > *); + static ::java::lang::String * formatInt(jint, jint, jint); + static JArray< jbyte > * concat(JArray< jbyte > *, JArray< jbyte > *); + static JArray< jbyte > * trim(JArray< jbyte > *, jint); + static JArray< jbyte > * trim(JArray< jbyte > *, jint, jint); + static JArray< jbyte > * trim(::java::math::BigInteger *); + static jint unixTime(); +public: // actually package-private + static JArray< ::java::lang::Object * > * transform(JArray< ::java::lang::Object * > *, ::java::lang::Class *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + static ::java::lang::String * getProperty(::java::lang::String *); + static ::java::lang::String * getSecurityProperty(::java::lang::String *); + static ::java::lang::String * HEX; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_Util__ diff --git a/libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h new file mode 100644 index 00000000000..f5e928014b8 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_X500PrincipalList$Iterator__ +#define __gnu_javax_net_ssl_provider_X500PrincipalList$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class X500PrincipalList; + class X500PrincipalList$Iterator; + } + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class gnu::javax::net::ssl::provider::X500PrincipalList$Iterator : public ::java::lang::Object +{ + +public: + X500PrincipalList$Iterator(::gnu::javax::net::ssl::provider::X500PrincipalList *); + virtual void target$add(::javax::security::auth::x500::X500Principal *); + virtual jboolean hasNext(); + virtual jboolean hasPrevious(); + virtual ::javax::security::auth::x500::X500Principal * target$next(); + virtual jint nextIndex(); + virtual ::javax::security::auth::x500::X500Principal * target$previous(); + virtual jint previousIndex(); + virtual void remove(); + virtual void target$set(::javax::security::auth::x500::X500Principal *); + virtual ::java::lang::Object * next(); + virtual ::java::lang::Object * previous(); + virtual void add(::java::lang::Object *); + virtual void set(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount; + jint index; + jint count; +public: // actually package-private + ::gnu::javax::net::ssl::provider::X500PrincipalList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_X500PrincipalList$Iterator__ diff --git a/libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h new file mode 100644 index 00000000000..080b5e45cae --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_X500PrincipalList__ +#define __gnu_javax_net_ssl_provider_X500PrincipalList__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class X500PrincipalList; + } + } + } + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class gnu::javax::net::ssl::provider::X500PrincipalList : public ::java::lang::Object +{ + +public: + X500PrincipalList(::java::nio::ByteBuffer *); + jint size(); + jint count(); + ::javax::security::auth::x500::X500Principal * get(jint); + void put(jint, ::javax::security::auth::x500::X500Principal *); + void put(jint, JArray< jbyte > *); + void setSize(jint, jint); + ::java::lang::String * toString(); + ::java::lang::String * toString(::java::lang::String *); + jboolean equals(::java::lang::Object *); + ::java::util::Iterator * iterator(); +public: // actually package-private + static jint access$0(::gnu::javax::net::ssl::provider::X500PrincipalList *); +private: + ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jint modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_X500PrincipalList__ diff --git a/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h new file mode 100644 index 00000000000..6455f80d0ca --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_X509KeyManagerFactory$Manager__ +#define __gnu_javax_net_ssl_provider_X509KeyManagerFactory$Manager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class X509KeyManagerFactory; + class X509KeyManagerFactory$Manager; + } + } + } + } + } + namespace java + { + namespace net + { + class Socket; + } + namespace security + { + class Principal; + class PrivateKey; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngine; + } + } + } +} + +class gnu::javax::net::ssl::provider::X509KeyManagerFactory$Manager : public ::javax::net::ssl::X509ExtendedKeyManager +{ + +public: // actually package-private + X509KeyManagerFactory$Manager(::gnu::javax::net::ssl::provider::X509KeyManagerFactory *, ::java::util::Map *, ::java::util::Map *); +public: + virtual ::java::lang::String * chooseClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::java::net::Socket *); + virtual ::java::lang::String * chooseEngineClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::javax::net::ssl::SSLEngine *); + virtual JArray< ::java::lang::String * > * getClientAliases(::java::lang::String *, JArray< ::java::security::Principal * > *); + virtual ::java::lang::String * chooseServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::java::net::Socket *); + virtual ::java::lang::String * chooseEngineServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::javax::net::ssl::SSLEngine *); + virtual JArray< ::java::lang::String * > * getServerAliases(::java::lang::String *, JArray< ::java::security::Principal * > *); +private: + JArray< ::java::lang::String * > * getAliases(::java::lang::String *, JArray< ::java::security::Principal * > *); +public: + virtual JArray< ::java::security::cert::X509Certificate * > * getCertificateChain(::java::lang::String *); + virtual ::java::security::PrivateKey * getPrivateKey(::java::lang::String *); +private: + ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::net::ssl::X509ExtendedKeyManager)))) privateKeys; + ::java::util::Map * certChains; +public: // actually package-private + ::gnu::javax::net::ssl::provider::X509KeyManagerFactory * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_X509KeyManagerFactory$Manager__ diff --git a/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h new file mode 100644 index 00000000000..a261c27448c --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_X509KeyManagerFactory__ +#define __gnu_javax_net_ssl_provider_X509KeyManagerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class X509KeyManagerFactory; + class X509KeyManagerFactory$Manager; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyStore; + namespace cert + { + class Certificate; + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class ManagerFactoryParameters; + } + } + } +} + +class gnu::javax::net::ssl::provider::X509KeyManagerFactory : public ::javax::net::ssl::KeyManagerFactorySpi +{ + +public: + X509KeyManagerFactory(); +public: // actually protected + virtual JArray< ::javax::net::ssl::KeyManager * > * engineGetKeyManagers(); + virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *); + virtual void engineInit(::java::security::KeyStore *, JArray< jchar > *); +private: + static JArray< ::java::security::cert::X509Certificate * > * toX509Chain(JArray< ::java::security::cert::Certificate * > *); + ::gnu::javax::net::ssl::provider::X509KeyManagerFactory$Manager * __attribute__((aligned(__alignof__( ::javax::net::ssl::KeyManagerFactorySpi)))) current; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_X509KeyManagerFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h new file mode 100644 index 00000000000..c34c2c5a705 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_X509TrustManagerFactory$Manager__ +#define __gnu_javax_net_ssl_provider_X509TrustManagerFactory$Manager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class X509TrustManagerFactory; + class X509TrustManagerFactory$Manager; + } + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class gnu::javax::net::ssl::provider::X509TrustManagerFactory$Manager : public ::java::lang::Object +{ + +public: // actually package-private + X509TrustManagerFactory$Manager(::gnu::javax::net::ssl::provider::X509TrustManagerFactory *, JArray< ::java::security::cert::X509Certificate * > *); +public: + virtual void checkClientTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *); + virtual void checkServerTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *); + virtual JArray< ::java::security::cert::X509Certificate * > * getAcceptedIssuers(); +private: + void checkTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *); + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) anchors; +public: // actually package-private + ::gnu::javax::net::ssl::provider::X509TrustManagerFactory * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_X509TrustManagerFactory$Manager__ diff --git a/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h new file mode 100644 index 00000000000..f65c0490700 --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_X509TrustManagerFactory__ +#define __gnu_javax_net_ssl_provider_X509TrustManagerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class X509TrustManagerFactory; + class X509TrustManagerFactory$Manager; + } + } + } + } + } + namespace java + { + namespace security + { + class KeyStore; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class ManagerFactoryParameters; + class TrustManager; + } + } + } +} + +class gnu::javax::net::ssl::provider::X509TrustManagerFactory : public ::javax::net::ssl::TrustManagerFactorySpi +{ + +public: + X509TrustManagerFactory(); +public: // actually protected + virtual JArray< ::javax::net::ssl::TrustManager * > * engineGetTrustManagers(); + virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *); + virtual void engineInit(::java::security::KeyStore *); +private: + static ::java::lang::String * sep; + static ::java::lang::String * JSSE_CERTS; + static ::java::lang::String * CA_CERTS; + ::gnu::javax::net::ssl::provider::X509TrustManagerFactory$Manager * __attribute__((aligned(__alignof__( ::javax::net::ssl::TrustManagerFactorySpi)))) current; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_X509TrustManagerFactory__ diff --git a/libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h b/libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h new file mode 100644 index 00000000000..0ced1c2dd3d --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_XMLSessionContext$SAXHandler__ +#define __gnu_javax_net_ssl_provider_XMLSessionContext$SAXHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace crypto + { + namespace mac + { + class IMac; + } + namespace mode + { + class IMode; + } + } + namespace net + { + namespace ssl + { + namespace provider + { + class Session; + class SessionContext; + class XMLSessionContext; + class XMLSessionContext$SAXHandler; + } + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::javax::net::ssl::provider::XMLSessionContext$SAXHandler : public ::org::xml::sax::helpers::DefaultHandler +{ + +public: // actually package-private + XMLSessionContext$SAXHandler(::gnu::javax::net::ssl::provider::XMLSessionContext *, ::gnu::javax::net::ssl::provider::SessionContext *, ::gnu::java::security::prng::IRandom *); +public: + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); +private: + ::gnu::javax::net::ssl::provider::SessionContext * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::DefaultHandler)))) context; + ::gnu::javax::net::ssl::provider::Session * current; + ::gnu::java::security::prng::IRandom * pbekdf; + ::java::lang::StringBuffer * buf; + ::java::lang::String * certType; + jint state; + ::gnu::javax::crypto::mode::IMode * cipher; + ::java::util::HashMap * cipherAttr; + ::gnu::javax::crypto::mac::IMac * mac; + ::java::util::HashMap * macAttr; + JArray< jbyte > * key; + JArray< jbyte > * iv; + JArray< jbyte > * mackey; + static const jint START = 0; + static const jint SESSIONS = 1; + static const jint SESSION = 2; + static const jint PEER = 3; + static const jint PEER_CERTS = 4; + static const jint CERTS = 5; + static const jint SECRET = 6; +public: // actually package-private + ::gnu::javax::net::ssl::provider::XMLSessionContext * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_XMLSessionContext$SAXHandler__ diff --git a/libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h b/libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h new file mode 100644 index 00000000000..dfc42243c3f --- /dev/null +++ b/libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_net_ssl_provider_XMLSessionContext__ +#define __gnu_javax_net_ssl_provider_XMLSessionContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace prng + { + class IRandom; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + namespace provider + { + class Session; + class Session$ID; + class XMLSessionContext; + } + } + } + } + } + namespace java + { + namespace security + { + class SecureRandom; + } + } +} + +class gnu::javax::net::ssl::provider::XMLSessionContext : public ::gnu::javax::net::ssl::provider::SessionContext +{ + +public: // actually package-private + XMLSessionContext(); + virtual jboolean addSession(::gnu::javax::net::ssl::provider::Session$ID *, ::gnu::javax::net::ssl::provider::Session *); + virtual void notifyAccess(::gnu::javax::net::ssl::provider::Session *); + virtual jboolean removeSession(::gnu::javax::net::ssl::provider::Session$ID *); +private: + void decode(); + void encode(); + ::java::io::File * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::SessionContext)))) file; + ::gnu::java::security::prng::IRandom * pbekdf; + jboolean compress; + ::java::security::SecureRandom * random; + jboolean encoding; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_net_ssl_provider_XMLSessionContext__ diff --git a/libjava/gnu/javax/print/CupsIppOperation.h b/libjava/gnu/javax/print/CupsIppOperation.h new file mode 100644 index 00000000000..f328a19fe5b --- /dev/null +++ b/libjava/gnu/javax/print/CupsIppOperation.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_CupsIppOperation__ +#define __gnu_javax_print_CupsIppOperation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class CupsIppOperation; + } + } + } +} + +class gnu::javax::print::CupsIppOperation : public ::java::lang::Object +{ + + CupsIppOperation(); +public: + static const jint CUPS_GET_DEFAULT = 16385; + static const jint CUPS_GET_PRINTERS = 16386; + static const jint CUPS_ADD_MODIFY_PRINTER = 16387; + static const jint CUPS_DELETE_PRINTER = 16388; + static const jint CUPS_GET_CLASSES = 16389; + static const jint CUPS_ADD_MODIFY_CLASS = 16390; + static const jint CUPS_DELETE_CLASS = 16391; + static const jint CUPS_ACCEPT_JOBS = 16392; + static const jint CUPS_REJECT_JOBS = 16393; + static const jint CUPS_SET_DEFAULT = 16394; + static const jint CUPS_GET_DEVICES = 16395; + static const jint CUPS_GET_PPDS = 16396; + static const jint CUPS_MOVE_JOB = 16397; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_CupsIppOperation__ diff --git a/libjava/gnu/javax/print/CupsMediaMapping.h b/libjava/gnu/javax/print/CupsMediaMapping.h new file mode 100644 index 00000000000..3d5f5934f66 --- /dev/null +++ b/libjava/gnu/javax/print/CupsMediaMapping.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_CupsMediaMapping__ +#define __gnu_javax_print_CupsMediaMapping__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class CupsMediaMapping; + } + } + } +} + +class gnu::javax::print::CupsMediaMapping : public ::java::lang::Object +{ + +public: + static ::java::lang::String * getIppName(::java::lang::String *); + static ::java::util::Map * getMappingMap(); +private: + CupsMediaMapping(); + static ::java::util::HashMap * ippByCups; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_CupsMediaMapping__ diff --git a/libjava/gnu/javax/print/CupsPrintService.h b/libjava/gnu/javax/print/CupsPrintService.h new file mode 100644 index 00000000000..68bf4b79f2c --- /dev/null +++ b/libjava/gnu/javax/print/CupsPrintService.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_CupsPrintService__ +#define __gnu_javax_print_CupsPrintService__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class CupsPrintService; + namespace ipp + { + class IppResponse; + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + class DocFlavor; + namespace attribute + { + class AttributeSet; + } + } + } +} + +class gnu::javax::print::CupsPrintService : public ::gnu::javax::print::ipp::IppMultiDocPrintService +{ + +public: + CupsPrintService(::java::net::URI *, ::java::lang::String *, ::java::lang::String *); +public: // actually protected + ::java::lang::Object * handleSupportedAttributeValuesResponse(::gnu::javax::print::ipp::IppResponse *, ::java::lang::Class *); +public: + ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *); + ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_CupsPrintService__ diff --git a/libjava/gnu/javax/print/CupsPrintServiceLookup.h b/libjava/gnu/javax/print/CupsPrintServiceLookup.h new file mode 100644 index 00000000000..b4f983672db --- /dev/null +++ b/libjava/gnu/javax/print/CupsPrintServiceLookup.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_CupsPrintServiceLookup__ +#define __gnu_javax_print_CupsPrintServiceLookup__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class CupsPrintServiceLookup; + class CupsServer; + } + } + } + namespace javax + { + namespace print + { + class DocFlavor; + class MultiDocPrintService; + class PrintService; + namespace attribute + { + class AttributeSet; + } + } + } +} + +class gnu::javax::print::CupsPrintServiceLookup : public ::javax::print::PrintServiceLookup +{ + +public: + CupsPrintServiceLookup(); + virtual ::javax::print::PrintService * getDefaultPrintService(); + virtual JArray< ::javax::print::MultiDocPrintService * > * getMultiDocPrintServices(JArray< ::javax::print::DocFlavor * > *, ::javax::print::attribute::AttributeSet *); + virtual JArray< ::javax::print::PrintService * > * getPrintServices(); + virtual JArray< ::javax::print::PrintService * > * getPrintServices(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *); + virtual jboolean checkPrintService(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *, ::javax::print::PrintService *); + virtual jboolean checkMultiDocPrintService(JArray< ::javax::print::DocFlavor * > *, ::javax::print::attribute::AttributeSet *, ::javax::print::PrintService *); +private: + ::gnu::javax::print::CupsServer * __attribute__((aligned(__alignof__( ::javax::print::PrintServiceLookup)))) server; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_CupsPrintServiceLookup__ diff --git a/libjava/gnu/javax/print/CupsServer.h b/libjava/gnu/javax/print/CupsServer.h new file mode 100644 index 00000000000..c31d236b541 --- /dev/null +++ b/libjava/gnu/javax/print/CupsServer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_CupsServer__ +#define __gnu_javax_print_CupsServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class CupsServer; + namespace ipp + { + class IppPrintService; + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::CupsServer : public ::java::lang::Object +{ + +public: + CupsServer(::java::lang::String *, ::java::lang::String *); + CupsServer(::java::net::URI *, ::java::lang::String *, ::java::lang::String *); + virtual ::gnu::javax::print::ipp::IppPrintService * getDefaultPrinter(); + virtual ::java::util::List * getAllPrinters(); + virtual ::java::util::List * getAllClasses(); +private: + ::java::net::URI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) uri; + ::java::lang::String * username; + ::java::lang::String * password; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_CupsServer__ diff --git a/libjava/gnu/javax/print/PrintAttributeException.h b/libjava/gnu/javax/print/PrintAttributeException.h new file mode 100644 index 00000000000..d1613f8d88a --- /dev/null +++ b/libjava/gnu/javax/print/PrintAttributeException.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrintAttributeException__ +#define __gnu_javax_print_PrintAttributeException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrintAttributeException; + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::PrintAttributeException : public ::javax::print::PrintException +{ + +public: + PrintAttributeException(JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *); + PrintAttributeException(::java::lang::Exception *, JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *); + PrintAttributeException(::java::lang::String *, JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *); + PrintAttributeException(::java::lang::String *, ::java::lang::Exception *, JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *); + JArray< ::java::lang::Class * > * getUnsupportedAttributes(); + JArray< ::javax::print::attribute::Attribute * > * getUnsupportedValues(); +private: + JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::javax::print::PrintException)))) categories; + JArray< ::javax::print::attribute::Attribute * > * values; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrintAttributeException__ diff --git a/libjava/gnu/javax/print/PrintFlavorException.h b/libjava/gnu/javax/print/PrintFlavorException.h new file mode 100644 index 00000000000..0c16fdfda92 --- /dev/null +++ b/libjava/gnu/javax/print/PrintFlavorException.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrintFlavorException__ +#define __gnu_javax_print_PrintFlavorException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrintFlavorException; + } + } + } + namespace javax + { + namespace print + { + class DocFlavor; + } + } +} + +class gnu::javax::print::PrintFlavorException : public ::javax::print::PrintException +{ + +public: + PrintFlavorException(JArray< ::javax::print::DocFlavor * > *); + PrintFlavorException(::java::lang::Exception *, JArray< ::javax::print::DocFlavor * > *); + PrintFlavorException(::java::lang::String *, JArray< ::javax::print::DocFlavor * > *); + PrintFlavorException(::java::lang::String *, ::java::lang::Exception *, JArray< ::javax::print::DocFlavor * > *); + virtual JArray< ::javax::print::DocFlavor * > * getUnsupportedFlavors(); +private: + JArray< ::javax::print::DocFlavor * > * __attribute__((aligned(__alignof__( ::javax::print::PrintException)))) flavors; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrintFlavorException__ diff --git a/libjava/gnu/javax/print/PrintUriException.h b/libjava/gnu/javax/print/PrintUriException.h new file mode 100644 index 00000000000..716edb88659 --- /dev/null +++ b/libjava/gnu/javax/print/PrintUriException.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrintUriException__ +#define __gnu_javax_print_PrintUriException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrintUriException; + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::PrintUriException : public ::javax::print::PrintException +{ + +public: + PrintUriException(jint, ::java::net::URI *); + PrintUriException(::java::lang::Exception *, jint, ::java::net::URI *); + PrintUriException(::java::lang::String *, jint, ::java::net::URI *); + PrintUriException(::java::lang::String *, ::java::lang::Exception *, jint, ::java::net::URI *); + jint getReason(); + ::java::net::URI * getUnsupportedURI(); +private: + jint __attribute__((aligned(__alignof__( ::javax::print::PrintException)))) reason; + ::java::net::URI * uri; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrintUriException__ diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h new file mode 100644 index 00000000000..e05e7e96717 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$Color__ +#define __gnu_javax_print_PrinterDialog$AppearancePanel$Color__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$AppearancePanel; + class PrinterDialog$AppearancePanel$Color; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JRadioButton; + } + } +} + +class gnu::javax::print::PrinterDialog$AppearancePanel$Color : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$AppearancePanel$Color(::gnu::javax::print::PrinterDialog$AppearancePanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) bw; + ::javax::swing::JRadioButton * color; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$Color__ diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h new file mode 100644 index 00000000000..c5570cf0e10 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$JobAttributes__ +#define __gnu_javax_print_PrinterDialog$AppearancePanel$JobAttributes__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$AppearancePanel; + class PrinterDialog$AppearancePanel$JobAttributes; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + class JCheckBox; + class JLabel; + class JSpinner; + class JTextField; + class SpinnerNumberModel; + namespace event + { + class ChangeEvent; + } + } + } +} + +class gnu::javax::print::PrinterDialog$AppearancePanel$JobAttributes : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$AppearancePanel$JobAttributes(::gnu::javax::print::PrinterDialog$AppearancePanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); + void stateChanged(::javax::swing::event::ChangeEvent *); + void focusGained(::java::awt::event::FocusEvent *); + void focusLost(::java::awt::event::FocusEvent *); +private: + void updateTextfields(::java::awt::event::FocusEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) jobname; + ::javax::swing::JLabel * username; + ::javax::swing::JLabel * priority_lb; + ::javax::swing::JTextField * jobname_tf; + ::javax::swing::JTextField * username_tf; + ::javax::swing::JCheckBox * cover; + ::javax::swing::JSpinner * priority; + ::javax::swing::SpinnerNumberModel * model; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$JobAttributes__ diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h new file mode 100644 index 00000000000..65ca5acb4ab --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$Quality__ +#define __gnu_javax_print_PrinterDialog$AppearancePanel$Quality__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$AppearancePanel; + class PrinterDialog$AppearancePanel$Quality; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class ButtonGroup; + class JRadioButton; + } + } +} + +class gnu::javax::print::PrinterDialog$AppearancePanel$Quality : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$AppearancePanel$Quality(::gnu::javax::print::PrinterDialog$AppearancePanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) low; + ::javax::swing::JRadioButton * normal; + ::javax::swing::JRadioButton * high; + ::javax::swing::ButtonGroup * group; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$Quality__ diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h new file mode 100644 index 00000000000..272006401d1 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$SidesPanel__ +#define __gnu_javax_print_PrinterDialog$AppearancePanel$SidesPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$AppearancePanel; + class PrinterDialog$AppearancePanel$SidesPanel; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JRadioButton; + } + } +} + +class gnu::javax::print::PrinterDialog$AppearancePanel$SidesPanel : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$AppearancePanel$SidesPanel(::gnu::javax::print::PrinterDialog$AppearancePanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) oneside; + ::javax::swing::JRadioButton * calendar; + ::javax::swing::JRadioButton * duplex; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$SidesPanel__ diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h new file mode 100644 index 00000000000..6e77b26202c --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel__ +#define __gnu_javax_print_PrinterDialog$AppearancePanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog; + class PrinterDialog$AppearancePanel; + class PrinterDialog$AppearancePanel$Color; + class PrinterDialog$AppearancePanel$JobAttributes; + class PrinterDialog$AppearancePanel$Quality; + class PrinterDialog$AppearancePanel$SidesPanel; + } + } + } +} + +class gnu::javax::print::PrinterDialog$AppearancePanel : public ::javax::swing::JPanel +{ + +public: + PrinterDialog$AppearancePanel(::gnu::javax::print::PrinterDialog *); +public: // actually package-private + void update(); + static ::gnu::javax::print::PrinterDialog * access$0(::gnu::javax::print::PrinterDialog$AppearancePanel *); +private: + ::gnu::javax::print::PrinterDialog$AppearancePanel$Quality * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) quality_panel; + ::gnu::javax::print::PrinterDialog$AppearancePanel$JobAttributes * jobAttr_panel; + ::gnu::javax::print::PrinterDialog$AppearancePanel$SidesPanel * sides_panel; + ::gnu::javax::print::PrinterDialog$AppearancePanel$Color * chromaticy_panel; +public: // actually package-private + ::gnu::javax::print::PrinterDialog * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$AppearancePanel__ diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h new file mode 100644 index 00000000000..4e95c93299b --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel$CopiesAndSorted__ +#define __gnu_javax_print_PrinterDialog$GeneralPanel$CopiesAndSorted__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$GeneralPanel; + class PrinterDialog$GeneralPanel$CopiesAndSorted; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JCheckBox; + class JLabel; + class JSpinner; + class SpinnerNumberModel; + namespace event + { + class ChangeEvent; + } + } + } +} + +class gnu::javax::print::PrinterDialog$GeneralPanel$CopiesAndSorted : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$GeneralPanel$CopiesAndSorted(::gnu::javax::print::PrinterDialog$GeneralPanel *); +public: + void stateChanged(::javax::swing::event::ChangeEvent *); + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JCheckBox * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) sort; + ::javax::swing::JSpinner * copies; + ::javax::swing::JLabel * copies_lb; + ::javax::swing::SpinnerNumberModel * copiesModel; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$GeneralPanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$GeneralPanel$CopiesAndSorted__ diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h new file mode 100644 index 00000000000..dd9e76f3135 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel$PrintRange__ +#define __gnu_javax_print_PrinterDialog$GeneralPanel$PrintRange__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$GeneralPanel; + class PrinterDialog$GeneralPanel$PrintRange; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + class JLabel; + class JRadioButton; + class JTextField; + } + } +} + +class gnu::javax::print::PrinterDialog$GeneralPanel$PrintRange : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$GeneralPanel$PrintRange(::gnu::javax::print::PrinterDialog$GeneralPanel *); +public: + void focusGained(::java::awt::event::FocusEvent *); + void focusLost(::java::awt::event::FocusEvent *); +private: + void updatePageRanges(); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) to; + ::javax::swing::JRadioButton * all_rb; + ::javax::swing::JRadioButton * pages_rb; + ::javax::swing::JTextField * from_tf; + ::javax::swing::JTextField * to_tf; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$GeneralPanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$GeneralPanel$PrintRange__ diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h new file mode 100644 index 00000000000..1ef5241424c --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel$PrintServices__ +#define __gnu_javax_print_PrinterDialog$GeneralPanel$PrintServices__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$GeneralPanel; + class PrinterDialog$GeneralPanel$PrintServices; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JButton; + class JCheckBox; + class JComboBox; + class JLabel; + } + } +} + +class gnu::javax::print::PrinterDialog$GeneralPanel$PrintServices : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$GeneralPanel$PrintServices(::gnu::javax::print::PrinterDialog$GeneralPanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) name; + ::javax::swing::JLabel * status; + ::javax::swing::JLabel * typ; + ::javax::swing::JLabel * info; + ::javax::swing::JLabel * statusValue; + ::javax::swing::JLabel * typValue; + ::javax::swing::JLabel * infoValue; + ::javax::swing::JButton * attributes; + ::javax::swing::JComboBox * services_cob; + ::javax::swing::JCheckBox * fileRedirection_cb; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$GeneralPanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$GeneralPanel$PrintServices__ diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h new file mode 100644 index 00000000000..c4161e062f3 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel__ +#define __gnu_javax_print_PrinterDialog$GeneralPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog; + class PrinterDialog$GeneralPanel; + class PrinterDialog$GeneralPanel$CopiesAndSorted; + class PrinterDialog$GeneralPanel$PrintRange; + class PrinterDialog$GeneralPanel$PrintServices; + } + } + } +} + +class gnu::javax::print::PrinterDialog$GeneralPanel : public ::javax::swing::JPanel +{ + +public: + PrinterDialog$GeneralPanel(::gnu::javax::print::PrinterDialog *); +public: // actually package-private + void update(); + static ::gnu::javax::print::PrinterDialog * access$0(::gnu::javax::print::PrinterDialog$GeneralPanel *); +private: + ::gnu::javax::print::PrinterDialog$GeneralPanel$PrintServices * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) printserv_panel; + ::gnu::javax::print::PrinterDialog$GeneralPanel$PrintRange * printrange_panel; + ::gnu::javax::print::PrinterDialog$GeneralPanel$CopiesAndSorted * copies; +public: // actually package-private + ::gnu::javax::print::PrinterDialog * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$GeneralPanel__ diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h new file mode 100644 index 00000000000..988f2243f85 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel$Margins__ +#define __gnu_javax_print_PrinterDialog$PageSetupPanel$Margins__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$PageSetupPanel; + class PrinterDialog$PageSetupPanel$Margins; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + class JLabel; + class JTextField; + } + } +} + +class gnu::javax::print::PrinterDialog$PageSetupPanel$Margins : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$PageSetupPanel$Margins(::gnu::javax::print::PrinterDialog$PageSetupPanel *); +public: + void focusGained(::java::awt::event::FocusEvent *); + void focusLost(::java::awt::event::FocusEvent *); +private: + void updateMargins(); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) left; + ::javax::swing::JLabel * right; + ::javax::swing::JLabel * top; + ::javax::swing::JLabel * bottom; + ::javax::swing::JTextField * left_tf; + ::javax::swing::JTextField * right_tf; + ::javax::swing::JTextField * top_tf; + ::javax::swing::JTextField * bottom_tf; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$PageSetupPanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel$Margins__ diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h new file mode 100644 index 00000000000..0cfdca94972 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel$MediaTypes__ +#define __gnu_javax_print_PrinterDialog$PageSetupPanel$MediaTypes__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$PageSetupPanel; + class PrinterDialog$PageSetupPanel$MediaTypes; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComboBox; + class JLabel; + } + } +} + +class gnu::javax::print::PrinterDialog$PageSetupPanel$MediaTypes : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$PageSetupPanel$MediaTypes(::gnu::javax::print::PrinterDialog$PageSetupPanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) size_lb; + ::javax::swing::JLabel * source_lb; + ::javax::swing::JComboBox * size; + ::javax::swing::JComboBox * source; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$PageSetupPanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel$MediaTypes__ diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h new file mode 100644 index 00000000000..3a665d5d22f --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel$Orientation__ +#define __gnu_javax_print_PrinterDialog$PageSetupPanel$Orientation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog$PageSetupPanel; + class PrinterDialog$PageSetupPanel$Orientation; + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JRadioButton; + } + } +} + +class gnu::javax::print::PrinterDialog$PageSetupPanel$Orientation : public ::javax::swing::JPanel +{ + +public: // actually package-private + PrinterDialog$PageSetupPanel$Orientation(::gnu::javax::print::PrinterDialog$PageSetupPanel *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + void updateForSelectedService(); +private: + ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) portrait; + ::javax::swing::JRadioButton * landscape; + ::javax::swing::JRadioButton * rev_portrait; + ::javax::swing::JRadioButton * rev_landscape; +public: // actually package-private + ::gnu::javax::print::PrinterDialog$PageSetupPanel * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel$Orientation__ diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h new file mode 100644 index 00000000000..d87519477b4 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel__ +#define __gnu_javax_print_PrinterDialog$PageSetupPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog; + class PrinterDialog$PageSetupPanel; + class PrinterDialog$PageSetupPanel$Margins; + class PrinterDialog$PageSetupPanel$MediaTypes; + class PrinterDialog$PageSetupPanel$Orientation; + } + } + } +} + +class gnu::javax::print::PrinterDialog$PageSetupPanel : public ::javax::swing::JPanel +{ + +public: + PrinterDialog$PageSetupPanel(::gnu::javax::print::PrinterDialog *); +public: // actually package-private + void update(); + static ::gnu::javax::print::PrinterDialog * access$0(::gnu::javax::print::PrinterDialog$PageSetupPanel *); +private: + ::gnu::javax::print::PrinterDialog$PageSetupPanel$MediaTypes * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) media_panel; + ::gnu::javax::print::PrinterDialog$PageSetupPanel$Orientation * orientation_panel; + ::gnu::javax::print::PrinterDialog$PageSetupPanel$Margins * margins_panel; +public: // actually package-private + ::gnu::javax::print::PrinterDialog * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel__ diff --git a/libjava/gnu/javax/print/PrinterDialog.h b/libjava/gnu/javax/print/PrinterDialog.h new file mode 100644 index 00000000000..4c1141129b6 --- /dev/null +++ b/libjava/gnu/javax/print/PrinterDialog.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_PrinterDialog__ +#define __gnu_javax_print_PrinterDialog__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class PrinterDialog; + class PrinterDialog$AppearancePanel; + class PrinterDialog$GeneralPanel; + class PrinterDialog$PageSetupPanel; + } + } + } + namespace java + { + namespace awt + { + class GraphicsConfiguration; + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace print + { + class DocFlavor; + class PrintService; + namespace attribute + { + class Attribute; + class PrintRequestAttributeSet; + } + } + namespace swing + { + class JButton; + } + } +} + +class gnu::javax::print::PrinterDialog : public ::javax::swing::JDialog +{ + + PrinterDialog(::java::awt::GraphicsConfiguration *, JArray< ::javax::print::PrintService * > *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *, jboolean, ::java::lang::String *); +public: + PrinterDialog(::java::awt::GraphicsConfiguration *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *); + PrinterDialog(::java::awt::GraphicsConfiguration *, JArray< ::javax::print::PrintService * > *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *); +private: + void initUI(jboolean); +public: + ::javax::print::attribute::PrintRequestAttributeSet * getAttributes(); + ::javax::print::PrintService * getSelectedPrintService(); +public: // actually protected + void setSelectedPrintService(::javax::print::PrintService *); + JArray< ::javax::print::PrintService * > * getPrintServices(); +public: // actually package-private + void updateAll(); + jboolean categorySupported(::java::lang::Class *); + ::java::lang::Object * defaultValue(::java::lang::Class *); + ::javax::print::attribute::Attribute * attribute(::java::lang::Class *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + static ::java::lang::String * getLocalizedString(::java::lang::String *); + static ::javax::print::attribute::PrintRequestAttributeSet * access$0(::gnu::javax::print::PrinterDialog *); + static ::javax::print::DocFlavor * access$1(::gnu::javax::print::PrinterDialog *); +private: + ::javax::swing::JButton * __attribute__((aligned(__alignof__( ::javax::swing::JDialog)))) ok_bt; + ::javax::swing::JButton * cancel_bt; + ::gnu::javax::print::PrinterDialog$GeneralPanel * general_panel; + ::gnu::javax::print::PrinterDialog$PageSetupPanel * pagesetup_panel; + ::gnu::javax::print::PrinterDialog$AppearancePanel * appearance_panel; + JArray< ::javax::print::PrintService * > * services; + ::javax::print::PrintService * defaultService; + ::javax::print::PrintService * selectedService; + ::javax::print::DocFlavor * flavor; + ::javax::print::attribute::PrintRequestAttributeSet * attributes; + jboolean onlyPageDialog; + ::javax::print::attribute::PrintRequestAttributeSet * atts; + static ::java::util::ResourceBundle * messages; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_PrinterDialog__ diff --git a/libjava/gnu/javax/print/ipp/DocPrintJobImpl.h b/libjava/gnu/javax/print/ipp/DocPrintJobImpl.h new file mode 100644 index 00000000000..a0d6a890aa3 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/DocPrintJobImpl.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_DocPrintJobImpl__ +#define __gnu_javax_print_ipp_DocPrintJobImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class DocPrintJobImpl; + class IppPrintService; + namespace attribute + { + namespace job + { + class JobId; + class JobUri; + } + } + } + } + } + } + namespace javax + { + namespace print + { + class Doc; + class PrintService; + namespace attribute + { + class PrintJobAttributeSet; + class PrintRequestAttributeSet; + namespace standard + { + class RequestingUserName; + } + } + namespace event + { + class PrintJobAttributeListener; + class PrintJobEvent; + class PrintJobListener; + } + } + } +} + +class gnu::javax::print::ipp::DocPrintJobImpl : public ::java::lang::Object +{ + +public: + DocPrintJobImpl(::gnu::javax::print::ipp::IppPrintService *, ::java::lang::String *, ::java::lang::String *); + virtual void addPrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *, ::javax::print::attribute::PrintJobAttributeSet *); + virtual void addPrintJobListener(::javax::print::event::PrintJobListener *); + virtual ::javax::print::attribute::PrintJobAttributeSet * getAttributes(); + virtual ::javax::print::PrintService * getPrintService(); + virtual void print(::javax::print::Doc *, ::javax::print::attribute::PrintRequestAttributeSet *); + virtual void removePrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *); + virtual void removePrintJobListener(::javax::print::event::PrintJobListener *); + virtual void cancel(); +private: + void notifyPrintJobListeners(::javax::print::event::PrintJobEvent *); + ::gnu::javax::print::ipp::IppPrintService * __attribute__((aligned(__alignof__( ::java::lang::Object)))) service; + ::java::util::HashSet * printJobListener; + ::java::util::ArrayList * attributesListener; + ::java::util::ArrayList * attributesListenerAttributes; + ::java::lang::String * username; + ::java::lang::String * password; + ::gnu::javax::print::ipp::attribute::job::JobUri * jobUri; + ::gnu::javax::print::ipp::attribute::job::JobId * jobId; + ::javax::print::attribute::standard::RequestingUserName * requestingUser; + ::javax::print::attribute::PrintJobAttributeSet * oldSet; + ::javax::print::attribute::PrintJobAttributeSet * currentSet; + jboolean printing; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_DocPrintJobImpl__ diff --git a/libjava/gnu/javax/print/ipp/IppDelimiterTag.h b/libjava/gnu/javax/print/ipp/IppDelimiterTag.h new file mode 100644 index 00000000000..cd8a06d3a9c --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppDelimiterTag.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppDelimiterTag__ +#define __gnu_javax_print_ipp_IppDelimiterTag__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppDelimiterTag; + } + } + } + } +} + +class gnu::javax::print::ipp::IppDelimiterTag : public ::java::lang::Object +{ + + IppDelimiterTag(); +public: + static jboolean isDelimiterTag(jbyte); + static const jbyte OPERATION_ATTRIBUTES_TAG = 1; + static const jbyte JOB_ATTRIBUTES_TAG = 2; + static const jbyte END_OF_ATTRIBUTES_TAG = 3; + static const jbyte PRINTER_ATTRIBUTES_TAG = 4; + static const jbyte UNSUPPORTED_ATTRIBUTES_TAG = 5; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppDelimiterTag__ diff --git a/libjava/gnu/javax/print/ipp/IppException.h b/libjava/gnu/javax/print/ipp/IppException.h new file mode 100644 index 00000000000..8e38d40c709 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppException__ +#define __gnu_javax_print_ipp_IppException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppException; + } + } + } + } +} + +class gnu::javax::print::ipp::IppException : public ::javax::print::PrintException +{ + +public: + IppException(); + IppException(::java::lang::String *); + IppException(::java::lang::Exception *); + IppException(::java::lang::String *, ::java::lang::Exception *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppException__ diff --git a/libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h b/libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h new file mode 100644 index 00000000000..e9da502b813 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppMultiDocPrintService__ +#define __gnu_javax_print_ipp_IppMultiDocPrintService__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppMultiDocPrintService; + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + class MultiDocPrintJob; + } + } +} + +class gnu::javax::print::ipp::IppMultiDocPrintService : public ::gnu::javax::print::ipp::IppPrintService +{ + +public: + IppMultiDocPrintService(::java::net::URI *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::print::MultiDocPrintJob * createMultiDocPrintJob(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::print::ipp::IppPrintService)))) user; + ::java::lang::String * passwd; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppMultiDocPrintService__ diff --git a/libjava/gnu/javax/print/ipp/IppPrintService.h b/libjava/gnu/javax/print/ipp/IppPrintService.h new file mode 100644 index 00000000000..cbe602287d4 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppPrintService.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppPrintService__ +#define __gnu_javax_print_ipp_IppPrintService__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppPrintService; + class IppResponse; + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + class DocFlavor; + class DocPrintJob; + class ServiceUIFactory; + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintServiceAttribute; + class PrintServiceAttributeSet; + namespace standard + { + class JobName; + class PrinterURI; + class RequestingUserName; + } + } + namespace event + { + class PrintServiceAttributeListener; + } + } + } +} + +class gnu::javax::print::ipp::IppPrintService : public ::java::lang::Object +{ + +public: + IppPrintService(::java::net::URI *, ::java::lang::String *, ::java::lang::String *); +private: + ::java::util::Map * getPrinterAttributes(); + ::java::util::Set * getPrinterAttributeSet(::java::lang::Class *); + ::javax::print::attribute::Attribute * getPrinterDefaultAttribute(::java::lang::Class *); + void processResponse(); +public: + virtual ::javax::print::DocPrintJob * createPrintJob(); + virtual ::javax::print::attribute::PrintServiceAttribute * getAttribute(::java::lang::Class *); + virtual ::javax::print::attribute::PrintServiceAttributeSet * getAttributes(); + virtual ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *); + virtual ::java::lang::String * getName(); + virtual ::javax::print::ServiceUIFactory * getServiceUIFactory(); + virtual JArray< ::java::lang::Class * > * getSupportedAttributeCategories(); + virtual ::java::lang::Object * getSupportedAttributeValues(::java::lang::Class *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *); +public: // actually protected + virtual ::java::lang::Object * handleSupportedAttributeValuesResponse(::gnu::javax::print::ipp::IppResponse *, ::java::lang::Class *); +public: + virtual JArray< ::javax::print::DocFlavor * > * getSupportedDocFlavors(); + virtual ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *); + virtual jboolean isAttributeCategorySupported(::java::lang::Class *); + virtual jboolean isAttributeValueSupported(::javax::print::attribute::Attribute *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *); + virtual jboolean isDocFlavorSupported(::javax::print::DocFlavor *); + virtual void addPrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *); + virtual void removePrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *); + virtual ::java::lang::String * toString(); + virtual ::javax::print::attribute::standard::PrinterURI * getPrinterURI(); +private: + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) printerAttr; + ::java::util::HashSet * printServiceAttributeListener; + ::java::lang::String * user; + ::java::lang::String * passwd; + ::java::lang::String * name; + ::java::util::List * flavors; + ::javax::print::attribute::standard::PrinterURI * printerUri; + ::java::util::ArrayList * printerUris; +public: // actually package-private + static ::java::util::logging::Logger * logger; +public: + static ::javax::print::attribute::standard::RequestingUserName * REQUESTING_USER_NAME; + static ::javax::print::attribute::standard::JobName * JOB_NAME; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppPrintService__ diff --git a/libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h b/libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h new file mode 100644 index 00000000000..515c23138cc --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppRequest$RequestWriter__ +#define __gnu_javax_print_ipp_IppRequest$RequestWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppRequest; + class IppRequest$RequestWriter; + namespace attribute + { + class CharsetSyntax; + class NaturalLanguageSyntax; + class RequestedAttributes; + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSet; + class DateTimeSyntax; + class EnumSyntax; + class IntegerSyntax; + class ResolutionSyntax; + class SetOfIntegerSyntax; + class TextSyntax; + class URISyntax; + } + } + } +} + +class gnu::javax::print::ipp::IppRequest$RequestWriter : public ::java::lang::Object +{ + +public: // actually package-private + IppRequest$RequestWriter(::gnu::javax::print::ipp::IppRequest *, ::java::io::DataOutputStream *); +private: + void write(::javax::print::attribute::IntegerSyntax *); + void write(::javax::print::attribute::EnumSyntax *); + void write(::javax::print::attribute::SetOfIntegerSyntax *); + void write(::javax::print::attribute::ResolutionSyntax *); + void write(::javax::print::attribute::DateTimeSyntax *); + void write(::javax::print::attribute::TextSyntax *); + void write(::javax::print::attribute::URISyntax *); + void write(::gnu::javax::print::ipp::attribute::CharsetSyntax *); + void write(::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax *); + void write(::gnu::javax::print::ipp::attribute::RequestedAttributes *); +public: + virtual void writeOperationAttributes(::javax::print::attribute::AttributeSet *); + virtual void writeAttributes(::javax::print::attribute::AttributeSet *); +private: + ::java::io::DataOutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out; +public: // actually package-private + ::gnu::javax::print::ipp::IppRequest * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppRequest$RequestWriter__ diff --git a/libjava/gnu/javax/print/ipp/IppRequest.h b/libjava/gnu/javax/print/ipp/IppRequest.h new file mode 100644 index 00000000000..069f96423ca --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppRequest.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppRequest__ +#define __gnu_javax_print_ipp_IppRequest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppRequest; + class IppResponse; + } + } + } + } + namespace java + { + namespace net + { + class HttpURLConnection; + class URI; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + } + } + } +} + +class gnu::javax::print::ipp::IppRequest : public ::java::lang::Object +{ + +public: + IppRequest(::java::net::URI *, ::java::lang::String *, ::java::lang::String *); +private: + jint incrementRequestIdCounter(); +public: + virtual jint getRequestID(); + virtual void setData(::java::io::InputStream *); + virtual void setData(JArray< jbyte > *); + virtual void setOperationID(jshort); + virtual void setOperationAttributeDefaults(); + virtual void addJobAttribute(::javax::print::attribute::Attribute *); + virtual void addPrinterAttributes(::javax::print::attribute::Attribute *); + virtual void addOperationAttribute(::javax::print::attribute::Attribute *); + virtual void addAndFilterJobOperationAttributes(::javax::print::attribute::AttributeSet *); + virtual void addAndFilterJobTemplateAttributes(::javax::print::attribute::AttributeSet *); + virtual ::gnu::javax::print::ipp::IppResponse * send(); +private: + static const jint timeout = 1000; +public: // actually package-private + static ::java::util::logging::Logger * logger; +private: + static jint requestIdCounter; + static const jshort VERSION = 257; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) alreadySent; + jshort operation_id; + jint request_id; + ::javax::print::attribute::AttributeSet * operationAttributes; + ::javax::print::attribute::AttributeSet * printerAttributes; + ::javax::print::attribute::AttributeSet * jobAttributes; + ::java::lang::Object * data; + ::java::net::URI * requestUri; + ::java::net::HttpURLConnection * connection; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppRequest__ diff --git a/libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h b/libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h new file mode 100644 index 00000000000..5f7dc2fc2a4 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppResponse$ResponseReader__ +#define __gnu_javax_print_ipp_IppResponse$ResponseReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppResponse; + class IppResponse$ResponseReader; + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + namespace standard + { + class JobStateReasons; + class PrinterStateReasons; + } + } + } + } +} + +class gnu::javax::print::ipp::IppResponse$ResponseReader : public ::java::lang::Object +{ + +public: // actually package-private + IppResponse$ResponseReader(::gnu::javax::print::ipp::IppResponse *); +public: + virtual void parseResponse(::java::io::InputStream *); +private: + jbyte parseAttributes(::java::util::Map *, ::java::io::DataInputStream *); + void addAttribute(::java::util::Map *, ::javax::print::attribute::Attribute *); + ::javax::print::attribute::standard::PrinterStateReasons * parsePrinterStateReasons(JArray< jbyte > *, ::javax::print::attribute::Attribute *); + ::javax::print::attribute::standard::JobStateReasons * parseJobStateReasons(JArray< jbyte > *, ::javax::print::attribute::Attribute *); + ::java::util::Date * parseDate(JArray< jbyte > *); + static const jshort VERSION = 257; +public: // actually package-private + ::gnu::javax::print::ipp::IppResponse * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppResponse$ResponseReader__ diff --git a/libjava/gnu/javax/print/ipp/IppResponse.h b/libjava/gnu/javax/print/ipp/IppResponse.h new file mode 100644 index 00000000000..468b713283a --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppResponse.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppResponse__ +#define __gnu_javax_print_ipp_IppResponse__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppResponse; + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::IppResponse : public ::java::lang::Object +{ + +public: + IppResponse(::java::net::URI *, jshort); +public: // actually protected + virtual void setResponseData(::java::io::InputStream *); +public: + virtual ::java::net::URI * getURI(); + virtual jint getOperationID(); + virtual ::java::util::List * getJobAttributes(); + virtual ::java::util::List * getOperationAttributes(); + virtual ::java::util::List * getPrinterAttributes(); + virtual jint getRequestID(); + virtual jshort getStatusCode(); + virtual ::java::util::List * getUnsupportedAttributes(); + virtual JArray< jbyte > * getData(); +public: // actually package-private + static ::java::util::logging::Logger * logger; + ::java::net::URI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) uri; + jshort operation_id; + jshort status_code; + jint request_id; + ::java::util::List * operationAttributes; + ::java::util::List * printerAttributes; + ::java::util::List * jobAttributes; + ::java::util::List * unsupportedAttributes; + JArray< jbyte > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppResponse__ diff --git a/libjava/gnu/javax/print/ipp/IppStatusCode.h b/libjava/gnu/javax/print/ipp/IppStatusCode.h new file mode 100644 index 00000000000..dd3eb0d37cc --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppStatusCode.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppStatusCode__ +#define __gnu_javax_print_ipp_IppStatusCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppStatusCode; + } + } + } + } +} + +class gnu::javax::print::ipp::IppStatusCode : public ::java::lang::Object +{ + + IppStatusCode(); +public: + static const jint SUCCESSFUL_OK = 0; + static const jint SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES = 1; + static const jint SUCCESSFUL_OK_CONFLICTING_ATTRIBUTES = 2; + static const jint CLIENT_ERROR_BAD_REQUEST = 1024; + static const jint CLIENT_ERROR_FORBIDDEN = 1025; + static const jint CLIENT_ERROR_NOT_AUTHENTICATED = 1026; + static const jint CLIENT_ERROR_NOT_AUTHORIZED = 1027; + static const jint CLIENT_ERROR_NOT_POSSIBLE = 1028; + static const jint CLIENT_ERROR_TIMEOUT = 1029; + static const jint CLIENT_ERROR_NOT_FOUND = 1030; + static const jint CLIENT_ERROR_GONE = 1031; + static const jint CLIENT_ERROR_REQUEST_ENTITY_TOO_LONG = 1032; + static const jint CLIENT_ERROR_REQUEST_VALUE_TOO_LONG = 1033; + static const jint CLIENT_ERROR_DOCUMENT_FORMAT_NOT_SUPPORTED = 1034; + static const jint CLIENT_ERROR_ATTRIBUTES_OR_VALUES_NOT_SUPPORTED = 1035; + static const jint CLIENT_ERROR_URI_SCHEME_NOT_SUPPORTED = 1036; + static const jint CLIENT_ERROR_CHARSET_NOT_SUPPORTED = 1037; + static const jint CLIENT_ERROR_CONFLICTING_ATTRIBUTES = 1038; + static const jint CLIENT_ERROR_COMPRESSION_NOT_SUPPORTED = 1039; + static const jint CLIENT_ERROR_COMPRESSION_ERROR = 1040; + static const jint CLIENT_ERROR_DOCUMENT_FORMAT_ERROR = 1041; + static const jint CLIENT_ERROR_DOCUMENT_ACCESS_ERROR = 1042; + static const jint SERVER_ERROR_INTERNAL_ERROR = 1280; + static const jint SERVER_ERROR_OPERATION_NOT_SUPPORTED = 1281; + static const jint SERVER_ERROR_SERVICE_UNAVAILABLE = 1282; + static const jint SERVER_ERROR_VERSION_NOT_SUPPORTED = 1283; + static const jint SERVER_ERROR_DEVICE_ERROR = 1284; + static const jint SERVER_ERROR_TEMPORARY_ERROR = 1285; + static const jint SERVER_ERROR_NOT_ACCEPTING_JOBS = 1286; + static const jint SERVER_ERROR_BUSY = 1287; + static const jint SERVER_ERROR_JOB_CANCELED = 1288; + static const jint SERVER_ERROR_MULTIPLE_DOCUMENT_JOBS_NOT_SUPPORTED = 1289; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppStatusCode__ diff --git a/libjava/gnu/javax/print/ipp/IppUtilities.h b/libjava/gnu/javax/print/ipp/IppUtilities.h new file mode 100644 index 00000000000..000723f666b --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppUtilities.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppUtilities__ +#define __gnu_javax_print_ipp_IppUtilities__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppUtilities; + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::IppUtilities : public ::java::lang::Object +{ + + IppUtilities(); +public: + static ::java::lang::Class * getClass(::java::lang::String *); + static ::java::lang::String * getSupportedAttrName(::java::lang::Class *); + static ::java::lang::Class * getSupportedCategory(::java::lang::Class *); + static jint convertToInt(JArray< jbyte > *); + static jint convertToInt(jbyte, jbyte, jbyte, jbyte); + static jshort convertToShort(jbyte, jbyte); + static ::javax::print::attribute::Attribute * getEnumAttribute(::java::lang::String *, ::java::lang::Object *); + static ::javax::print::attribute::Attribute * getIntegerAttribute(::java::lang::String *, jint); + static ::javax::print::attribute::Attribute * getTextAttribute(::java::lang::String *, jbyte, JArray< jbyte > *); +private: + static JArray< ::java::lang::Object * > * INTEGER_ATT_VALUE; + static JArray< ::java::lang::Class * > * INTEGER_CLASS_ARRAY; + static JArray< ::java::lang::Object * > * TEXT_ATT_VALUE; + static JArray< ::java::lang::Class * > * TEXT_CLASS_ARRAY; + static ::java::util::HashMap * classesByName; + static ::java::util::HashMap * instanceByClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppUtilities__ diff --git a/libjava/gnu/javax/print/ipp/IppValueTag.h b/libjava/gnu/javax/print/ipp/IppValueTag.h new file mode 100644 index 00000000000..341f87c5950 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/IppValueTag.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_IppValueTag__ +#define __gnu_javax_print_ipp_IppValueTag__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppValueTag; + } + } + } + } +} + +class gnu::javax::print::ipp::IppValueTag : public ::java::lang::Object +{ + + IppValueTag(); +public: + static jboolean isValueTag(jbyte); + static const jbyte UNSUPPORTED = 16; + static const jbyte UNKNOWN = 18; + static const jbyte NO_VALUE = 19; + static const jbyte INTEGER = 33; + static const jbyte BOOLEAN = 34; + static const jbyte ENUM = 35; + static const jbyte OCTECTSTRING_UNSPECIFIED = 48; + static const jbyte DATETIME = 49; + static const jbyte RESOLUTION = 50; + static const jbyte RANGEOFINTEGER = 51; + static const jbyte TEXT_WITH_LANGUAGE = 53; + static const jbyte NAME_WITH_LANGUAGE = 54; + static const jbyte TEXT_WITHOUT_LANGUAGE = 65; + static const jbyte NAME_WITHOUT_LANGUAGE = 66; + static const jbyte KEYWORD = 68; + static const jbyte URI = 69; + static const jbyte URI_SCHEME = 70; + static const jbyte CHARSET = 71; + static const jbyte NATURAL_LANGUAGE = 72; + static const jbyte MIME_MEDIA_TYPE = 73; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_IppValueTag__ diff --git a/libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h b/libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h new file mode 100644 index 00000000000..dbe7cd8a6bb --- /dev/null +++ b/libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_MultiDocPrintJobImpl__ +#define __gnu_javax_print_ipp_MultiDocPrintJobImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + class IppPrintService; + class MultiDocPrintJobImpl; + } + } + } + } + namespace javax + { + namespace print + { + class MultiDoc; + namespace attribute + { + class PrintRequestAttributeSet; + } + } + } +} + +class gnu::javax::print::ipp::MultiDocPrintJobImpl : public ::gnu::javax::print::ipp::DocPrintJobImpl +{ + +public: + MultiDocPrintJobImpl(::gnu::javax::print::ipp::IppPrintService *, ::java::lang::String *, ::java::lang::String *); + virtual void print(::javax::print::MultiDoc *, ::javax::print::attribute::PrintRequestAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_MultiDocPrintJobImpl__ diff --git a/libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h b/libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h new file mode 100644 index 00000000000..bc02d4b76d2 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_CharsetSyntax__ +#define __gnu_javax_print_ipp_attribute_CharsetSyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class CharsetSyntax; + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::CharsetSyntax : public ::java::lang::Object +{ + +public: // actually protected + CharsetSyntax(::java::lang::String *); +public: + virtual ::java::lang::String * getValue(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_CharsetSyntax__ diff --git a/libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h b/libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h new file mode 100644 index 00000000000..25c1c013388 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_DefaultValueAttribute__ +#define __gnu_javax_print_ipp_attribute_DefaultValueAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class DefaultValueAttribute; + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::DefaultValueAttribute : public ::java::lang::Object +{ + +public: + virtual ::javax::print::attribute::Attribute * getAssociatedAttribute() = 0; + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_print_ipp_attribute_DefaultValueAttribute__ diff --git a/libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h b/libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h new file mode 100644 index 00000000000..0b0be102aac --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_DetailedStatusMessage__ +#define __gnu_javax_print_ipp_attribute_DetailedStatusMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class DetailedStatusMessage; + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::DetailedStatusMessage : public ::javax::print::attribute::TextSyntax +{ + +public: + DetailedStatusMessage(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_DetailedStatusMessage__ diff --git a/libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h b/libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h new file mode 100644 index 00000000000..8a641a0a077 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_DocumentAccessError__ +#define __gnu_javax_print_ipp_attribute_DocumentAccessError__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class DocumentAccessError; + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::DocumentAccessError : public ::javax::print::attribute::TextSyntax +{ + +public: + DocumentAccessError(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_DocumentAccessError__ diff --git a/libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h b/libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h new file mode 100644 index 00000000000..7913233b918 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_NaturalLanguageSyntax__ +#define __gnu_javax_print_ipp_attribute_NaturalLanguageSyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class NaturalLanguageSyntax; + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::NaturalLanguageSyntax : public ::java::lang::Object +{ + +public: // actually protected + NaturalLanguageSyntax(::java::lang::String *); +public: + virtual ::java::lang::String * getValue(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_NaturalLanguageSyntax__ diff --git a/libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h b/libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h new file mode 100644 index 00000000000..8ed5bc28c06 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_RequestedAttributes__ +#define __gnu_javax_print_ipp_attribute_RequestedAttributes__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class RequestedAttributes; + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::RequestedAttributes : public ::java::lang::Object +{ + +public: + RequestedAttributes(::java::lang::String *); + void addValue(::java::lang::String *); + ::java::util::List * getValues(); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::java::lang::String * toString(); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_RequestedAttributes__ diff --git a/libjava/gnu/javax/print/ipp/attribute/StatusMessage.h b/libjava/gnu/javax/print/ipp/attribute/StatusMessage.h new file mode 100644 index 00000000000..b87c9800f25 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/StatusMessage.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_StatusMessage__ +#define __gnu_javax_print_ipp_attribute_StatusMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class StatusMessage; + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::StatusMessage : public ::javax::print::attribute::TextSyntax +{ + +public: + StatusMessage(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_StatusMessage__ diff --git a/libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h b/libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h new file mode 100644 index 00000000000..dc6aa6550bb --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_UnknownAttribute__ +#define __gnu_javax_print_ipp_attribute_UnknownAttribute__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + class UnknownAttribute; + } + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::attribute::UnknownAttribute : public ::java::lang::Object +{ + +public: + UnknownAttribute(jbyte, ::java::lang::String *, JArray< jbyte > *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + jbyte getValueTag(); + ::java::lang::String * getAttributeName(); + JArray< jbyte > * getAttributeValue(); + ::java::lang::String * getAttributeValueAsString(); + jint getAttributeValueAsInt(); + ::java::net::URI * getAttributeValueAsUri(); + ::java::lang::String * toString(); +private: + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) tag; + ::java::lang::String * name; + JArray< jbyte > * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_UnknownAttribute__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h new file mode 100644 index 00000000000..2a0c003fb5b --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_CopiesDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_CopiesDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class CopiesDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::CopiesDefault : public ::javax::print::attribute::IntegerSyntax +{ + +public: + CopiesDefault(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_CopiesDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h new file mode 100644 index 00000000000..d86ecdeaad9 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_DocumentFormatDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_DocumentFormatDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class DocumentFormatDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::DocumentFormatDefault : public ::javax::print::attribute::TextSyntax +{ + +public: + DocumentFormatDefault(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_DocumentFormatDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h new file mode 100644 index 00000000000..97a6f4a8671 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_FinishingsDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_FinishingsDefault__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class FinishingsDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::FinishingsDefault : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + FinishingsDefault(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * NONE; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * COVER; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * BIND; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * SADDLE_STITCH; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_TOP_LEFT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_BOTTOM_LEFT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_TOP_RIGHT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_BOTTOM_RIGHT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_LEFT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_TOP; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_RIGHT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_BOTTOM; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_LEFT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_TOP; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_RIGHT; + static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_BOTTOM; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_FinishingsDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h new file mode 100644 index 00000000000..5a059dc00cb --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_JobHoldUntilDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_JobHoldUntilDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class JobHoldUntilDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault : public ::javax::print::attribute::TextSyntax +{ + +public: + JobHoldUntilDefault(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * NO_HOLD; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * INDEFINITE; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * DAY_TIME; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * EVENING; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * NIGHT; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * WEEKEND; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * SECOND_SHIFT; + static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * THIRD_SHIFT; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_JobHoldUntilDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h new file mode 100644 index 00000000000..22f50301397 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_JobPriorityDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_JobPriorityDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class JobPriorityDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::JobPriorityDefault : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobPriorityDefault(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_JobPriorityDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h new file mode 100644 index 00000000000..d8f4cb25816 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_JobSheetsDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_JobSheetsDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class JobSheetsDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault : public ::javax::print::attribute::TextSyntax +{ + +public: + JobSheetsDefault(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * NONE; + static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * STANDARD; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_JobSheetsDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h new file mode 100644 index 00000000000..9825da3056e --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_MediaDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_MediaDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class MediaDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::MediaDefault : public ::javax::print::attribute::TextSyntax +{ + +public: + MediaDefault(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_MediaDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h new file mode 100644 index 00000000000..9ffc184863e --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_MultipleDocumentHandlingDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_MultipleDocumentHandlingDefault__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class MultipleDocumentHandlingDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + MultipleDocumentHandlingDefault(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SINGLE_DOCUMENT; + static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SEPARATE_DOCUMENTS_UNCOLLATED_COPIES; + static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SEPARATE_DOCUMENTS_COLLATED_COPIES; + static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SINGLE_DOCUMENT_NEW_SHEET; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_MultipleDocumentHandlingDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h new file mode 100644 index 00000000000..cc4d01d6658 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_NumberUpDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_NumberUpDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class NumberUpDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::NumberUpDefault : public ::javax::print::attribute::IntegerSyntax +{ + +public: + NumberUpDefault(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_NumberUpDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h new file mode 100644 index 00000000000..7b53cec2780 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_OrientationRequestedDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_OrientationRequestedDefault__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class OrientationRequestedDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + OrientationRequestedDefault(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * PORTRAIT; + static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * LANDSCAPE; + static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * REVERSE_LANDSCAPE; + static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * REVERSE_PORTRAIT; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_OrientationRequestedDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h new file mode 100644 index 00000000000..0c0bf5aa8a7 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_PrintQualityDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_PrintQualityDefault__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class PrintQualityDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PrintQualityDefault(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * DRAFT; + static ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * NORMAL; + static ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * HIGH; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_PrintQualityDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h new file mode 100644 index 00000000000..faeeb6de864 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_PrinterResolutionDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_PrinterResolutionDefault__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class PrinterResolutionDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::PrinterResolutionDefault : public ::javax::print::attribute::ResolutionSyntax +{ + +public: + PrinterResolutionDefault(jint, jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_PrinterResolutionDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h new file mode 100644 index 00000000000..836ca618bfa --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_defaults_SidesDefault__ +#define __gnu_javax_print_ipp_attribute_defaults_SidesDefault__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class SidesDefault; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::defaults::SidesDefault : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + SidesDefault(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + ::javax::print::attribute::Attribute * getAssociatedAttribute(); + static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * ONE_SIDED; + static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * TWO_SIDED_LONG_EDGE; + static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * TWO_SIDED_SHORT_EDGE; + static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * DUPLEX; + static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * TUMBLE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_defaults_SidesDefault__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h b/libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h new file mode 100644 index 00000000000..82cb55b4362 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_AttributesCharset__ +#define __gnu_javax_print_ipp_attribute_job_AttributesCharset__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class AttributesCharset; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::job::AttributesCharset : public ::gnu::javax::print::ipp::attribute::CharsetSyntax +{ + +public: + AttributesCharset(::java::lang::String *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::gnu::javax::print::ipp::attribute::job::AttributesCharset * UTF8; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_AttributesCharset__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h b/libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h new file mode 100644 index 00000000000..e69e1c8600b --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_AttributesNaturalLanguage__ +#define __gnu_javax_print_ipp_attribute_job_AttributesNaturalLanguage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class AttributesNaturalLanguage; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::job::AttributesNaturalLanguage : public ::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax +{ + +public: + AttributesNaturalLanguage(::java::lang::String *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::gnu::javax::print::ipp::attribute::job::AttributesNaturalLanguage * EN; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_AttributesNaturalLanguage__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h b/libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h new file mode 100644 index 00000000000..c21c942f45b --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobDetailedStatusMessages__ +#define __gnu_javax_print_ipp_attribute_job_JobDetailedStatusMessages__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobDetailedStatusMessages; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobDetailedStatusMessages : public ::javax::print::attribute::TextSyntax +{ + +public: + JobDetailedStatusMessages(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobDetailedStatusMessages__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h b/libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h new file mode 100644 index 00000000000..9aaaf03e0c6 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobDocumentAccessErrors__ +#define __gnu_javax_print_ipp_attribute_job_JobDocumentAccessErrors__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobDocumentAccessErrors; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobDocumentAccessErrors : public ::javax::print::attribute::TextSyntax +{ + +public: + JobDocumentAccessErrors(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobDocumentAccessErrors__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobId.h b/libjava/gnu/javax/print/ipp/attribute/job/JobId.h new file mode 100644 index 00000000000..6141d51c1b6 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobId.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobId__ +#define __gnu_javax_print_ipp_attribute_job_JobId__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobId; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobId : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobId(jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobId__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h b/libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h new file mode 100644 index 00000000000..61a5364c56a --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobMoreInfo__ +#define __gnu_javax_print_ipp_attribute_job_JobMoreInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobMoreInfo; + } + } + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobMoreInfo : public ::javax::print::attribute::URISyntax +{ + +public: + JobMoreInfo(::java::net::URI *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobMoreInfo__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h b/libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h new file mode 100644 index 00000000000..7ac6adf305f --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobPrinterUri__ +#define __gnu_javax_print_ipp_attribute_job_JobPrinterUri__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobPrinterUri; + } + } + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobPrinterUri : public ::javax::print::attribute::URISyntax +{ + +public: + JobPrinterUri(::java::net::URI *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobPrinterUri__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h b/libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h new file mode 100644 index 00000000000..3eb3c3652ca --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobStateMessage__ +#define __gnu_javax_print_ipp_attribute_job_JobStateMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobStateMessage; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobStateMessage : public ::javax::print::attribute::TextSyntax +{ + +public: + JobStateMessage(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobStateMessage__ diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobUri.h b/libjava/gnu/javax/print/ipp/attribute/job/JobUri.h new file mode 100644 index 00000000000..42551e00d2b --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/job/JobUri.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_job_JobUri__ +#define __gnu_javax_print_ipp_attribute_job_JobUri__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace job + { + class JobUri; + } + } + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::attribute::job::JobUri : public ::javax::print::attribute::URISyntax +{ + +public: + JobUri(::java::net::URI *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_job_JobUri__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h b/libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h new file mode 100644 index 00000000000..4d4da6823a9 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_CharsetConfigured__ +#define __gnu_javax_print_ipp_attribute_printer_CharsetConfigured__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class CharsetConfigured; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::printer::CharsetConfigured : public ::gnu::javax::print::ipp::attribute::CharsetSyntax +{ + +public: + CharsetConfigured(::java::lang::String *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_CharsetConfigured__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h b/libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h new file mode 100644 index 00000000000..24ed6195665 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_DocumentFormat__ +#define __gnu_javax_print_ipp_attribute_printer_DocumentFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class DocumentFormat; + } + } + } + } + } + } + namespace javax + { + namespace print + { + class DocFlavor; + } + } +} + +class gnu::javax::print::ipp::attribute::printer::DocumentFormat : public ::javax::print::attribute::TextSyntax +{ + +public: + DocumentFormat(::java::lang::String *, ::java::util::Locale *); + static ::gnu::javax::print::ipp::attribute::printer::DocumentFormat * createDocumentFormat(::javax::print::DocFlavor *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_DocumentFormat__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h b/libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h new file mode 100644 index 00000000000..ecce212081f --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_MultipleOperationTimeOut__ +#define __gnu_javax_print_ipp_attribute_printer_MultipleOperationTimeOut__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class MultipleOperationTimeOut; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::printer::MultipleOperationTimeOut : public ::javax::print::attribute::IntegerSyntax +{ + +public: + MultipleOperationTimeOut(jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_MultipleOperationTimeOut__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h b/libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h new file mode 100644 index 00000000000..4e520a500b3 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_NaturalLanguageConfigured__ +#define __gnu_javax_print_ipp_attribute_printer_NaturalLanguageConfigured__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class NaturalLanguageConfigured; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::printer::NaturalLanguageConfigured : public ::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax +{ + +public: + NaturalLanguageConfigured(::java::lang::String *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_NaturalLanguageConfigured__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h new file mode 100644 index 00000000000..a473cf19151 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterCurrentTime__ +#define __gnu_javax_print_ipp_attribute_printer_PrinterCurrentTime__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class PrinterCurrentTime; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::printer::PrinterCurrentTime : public ::javax::print::attribute::DateTimeSyntax +{ + +public: + PrinterCurrentTime(::java::util::Date *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_PrinterCurrentTime__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h new file mode 100644 index 00000000000..509573271c7 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__ +#define __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class PrinterDriverInstaller; + } + } + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::attribute::printer::PrinterDriverInstaller : public ::javax::print::attribute::URISyntax +{ + +public: + PrinterDriverInstaller(::java::net::URI *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h new file mode 100644 index 00000000000..286c4457a92 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterStateMessage__ +#define __gnu_javax_print_ipp_attribute_printer_PrinterStateMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class PrinterStateMessage; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::printer::PrinterStateMessage : public ::javax::print::attribute::TextSyntax +{ + +public: + PrinterStateMessage(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_PrinterStateMessage__ diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h new file mode 100644 index 00000000000..4fba7e000ff --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterUpTime__ +#define __gnu_javax_print_ipp_attribute_printer_PrinterUpTime__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace printer + { + class PrinterUpTime; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::printer::PrinterUpTime : public ::javax::print::attribute::IntegerSyntax +{ + +public: + PrinterUpTime(jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_printer_PrinterUpTime__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h new file mode 100644 index 00000000000..f9a87b58ed7 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_CharsetSupported__ +#define __gnu_javax_print_ipp_attribute_supported_CharsetSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class CharsetSupported; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::CharsetSupported : public ::gnu::javax::print::ipp::attribute::CharsetSyntax +{ + +public: + CharsetSupported(::java::lang::String *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_CharsetSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h new file mode 100644 index 00000000000..c3e5b8ce1a2 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_CompressionSupported__ +#define __gnu_javax_print_ipp_attribute_supported_CompressionSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class CompressionSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Compression; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::CompressionSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + CompressionSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + ::javax::print::attribute::standard::Compression * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::Compression * > * getAssociatedAttributeArray(::java::util::Set *); + static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * NONE; + static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * DEFLATE; + static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * GZIP; + static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * COMPRESS; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_CompressionSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h new file mode 100644 index 00000000000..16add8c0f5a --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_DocumentFormatSupported__ +#define __gnu_javax_print_ipp_attribute_supported_DocumentFormatSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class DocumentFormatSupported; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::DocumentFormatSupported : public ::javax::print::attribute::TextSyntax +{ + +public: + DocumentFormatSupported(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_DocumentFormatSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h new file mode 100644 index 00000000000..ec98145255e --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_FinishingsSupported__ +#define __gnu_javax_print_ipp_attribute_supported_FinishingsSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class FinishingsSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Finishings; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::FinishingsSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + FinishingsSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + ::javax::print::attribute::standard::Finishings * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::Finishings * > * getAssociatedAttributeArray(::java::util::Set *); + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * NONE; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * COVER; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * BIND; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * SADDLE_STITCH; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_TOP_LEFT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_BOTTOM_LEFT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_TOP_RIGHT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_BOTTOM_RIGHT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_LEFT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_TOP; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_RIGHT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_BOTTOM; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_LEFT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_TOP; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_RIGHT; + static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_BOTTOM; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_FinishingsSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h new file mode 100644 index 00000000000..9a1c3c41758 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_GeneratedNaturalLanguageSupported__ +#define __gnu_javax_print_ipp_attribute_supported_GeneratedNaturalLanguageSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class GeneratedNaturalLanguageSupported; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::GeneratedNaturalLanguageSupported : public ::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax +{ + +public: + GeneratedNaturalLanguageSupported(::java::lang::String *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_GeneratedNaturalLanguageSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h new file mode 100644 index 00000000000..058b8d19214 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_IppVersionsSupported__ +#define __gnu_javax_print_ipp_attribute_supported_IppVersionsSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class IppVersionsSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::IppVersionsSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: + IppVersionsSupported(jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + static ::gnu::javax::print::ipp::attribute::supported::IppVersionsSupported * V_1_0; + static ::gnu::javax::print::ipp::attribute::supported::IppVersionsSupported * V_1_1; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::IppVersionsSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_IppVersionsSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h new file mode 100644 index 00000000000..2e7e6cd8d3c --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_JobHoldUntilSupported__ +#define __gnu_javax_print_ipp_attribute_supported_JobHoldUntilSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class JobHoldUntilSupported; + } + } + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported : public ::javax::print::attribute::TextSyntax +{ + +public: + JobHoldUntilSupported(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * NO_HOLD; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * INDEFINITE; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * DAY_TIME; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * EVENING; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * NIGHT; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * WEEKEND; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * SECOND_SHIFT; + static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * THIRD_SHIFT; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_JobHoldUntilSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h new file mode 100644 index 00000000000..38ab8a7737e --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_JobSheetsSupported__ +#define __gnu_javax_print_ipp_attribute_supported_JobSheetsSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace defaults + { + class JobSheetsDefault; + } + namespace supported + { + class JobSheetsSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobSheets; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::JobSheetsSupported : public ::javax::print::attribute::TextSyntax +{ + +public: + JobSheetsSupported(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::standard::JobSheets * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::JobSheets * > * getAssociatedAttributeArray(::java::util::Set *); + static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * NONE; + static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * STANDARD; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_JobSheetsSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h new file mode 100644 index 00000000000..be9ad30afb3 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_MediaSupported__ +#define __gnu_javax_print_ipp_attribute_supported_MediaSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class MediaSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class Media; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::MediaSupported : public ::javax::print::attribute::TextSyntax +{ + +public: + MediaSupported(::java::lang::String *, ::java::util::Locale *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static JArray< ::javax::print::attribute::standard::Media * > * getAssociatedAttributeArray(::java::util::Set *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_MediaSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h new file mode 100644 index 00000000000..2c378c2282a --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_MultipleDocumentHandlingSupported__ +#define __gnu_javax_print_ipp_attribute_supported_MultipleDocumentHandlingSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class MultipleDocumentHandlingSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class MultipleDocumentHandling; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + MultipleDocumentHandlingSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + ::javax::print::attribute::standard::MultipleDocumentHandling * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::MultipleDocumentHandling * > * getAssociatedAttributeArray(::java::util::Set *); + static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SINGLE_DOCUMENT; + static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SEPARATE_DOCUMENTS_UNCOLLATED_COPIES; + static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SEPARATE_DOCUMENTS_COLLATED_COPIES; + static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SINGLE_DOCUMENT_NEW_SHEET; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_MultipleDocumentHandlingSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h new file mode 100644 index 00000000000..66920c0e2ff --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_MultipleDocumentJobsSupported__ +#define __gnu_javax_print_ipp_attribute_supported_MultipleDocumentJobsSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class MultipleDocumentJobsSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + MultipleDocumentJobsSupported(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported * NOT_SUPPORTED; + static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported * SUPPORTED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_MultipleDocumentJobsSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h new file mode 100644 index 00000000000..655d7edce6e --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_OperationsSupported__ +#define __gnu_javax_print_ipp_attribute_supported_OperationsSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class OperationsSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::OperationsSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + OperationsSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PRINT_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PRINT_URI; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * VALIDATE_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * CREATE_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * SEND_DOCUMENT; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * SEND_URI; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * CANCEL_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * GET_JOB_ATTRIBUTES; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PAUSE_PRINTER; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * GET_JOBS; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * GET_PRINTER_ATTRIBUTES; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * HOLD_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RELEASE_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RESTART_JOB; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RESERVED; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RESUME_PRINTER; + static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PURGE_JOBS; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_OperationsSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h new file mode 100644 index 00000000000..bbb90a4cc28 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_OrientationRequestedSupported__ +#define __gnu_javax_print_ipp_attribute_supported_OrientationRequestedSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class OrientationRequestedSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class OrientationRequested; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + OrientationRequestedSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + ::javax::print::attribute::standard::OrientationRequested * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::OrientationRequested * > * getAssociatedAttributeArray(::java::util::Set *); + static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * PORTRAIT; + static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * LANDSCAPE; + static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * REVERSE_LANDSCAPE; + static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * REVERSE_PORTRAIT; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_OrientationRequestedSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h new file mode 100644 index 00000000000..3baf062c3bb --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_PageRangesSupported__ +#define __gnu_javax_print_ipp_attribute_supported_PageRangesSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class PageRangesSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::PageRangesSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PageRangesSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + static ::gnu::javax::print::ipp::attribute::supported::PageRangesSupported * NOT_SUPPORTED; + static ::gnu::javax::print::ipp::attribute::supported::PageRangesSupported * SUPPORTED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::PageRangesSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_PageRangesSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h new file mode 100644 index 00000000000..5f40779c3f2 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_PrintQualitySupported__ +#define __gnu_javax_print_ipp_attribute_supported_PrintQualitySupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class PrintQualitySupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PrintQuality; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::PrintQualitySupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PrintQualitySupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +public: + ::javax::print::attribute::standard::PrintQuality * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::PrintQuality * > * getAssociatedAttributeArray(::java::util::Set *); + static ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * DRAFT; + static ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * NORMAL; + static ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * HIGH; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_PrintQualitySupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h new file mode 100644 index 00000000000..c9784671e37 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_PrinterResolutionSupported__ +#define __gnu_javax_print_ipp_attribute_supported_PrinterResolutionSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class PrinterResolutionSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterResolution; + } + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::PrinterResolutionSupported : public ::javax::print::attribute::ResolutionSyntax +{ + +public: + PrinterResolutionSupported(jint, jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::javax::print::attribute::standard::PrinterResolution * getAssociatedAttribute(); + static JArray< ::javax::print::attribute::standard::PrinterResolution * > * getAssociatedAttributeArray(::java::util::Set *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_PrinterResolutionSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h new file mode 100644 index 00000000000..3c7b99d5ff2 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_PrinterUriSupported__ +#define __gnu_javax_print_ipp_attribute_supported_PrinterUriSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class PrinterUriSupported; + } + } + } + } + } + } + namespace java + { + namespace net + { + class URI; + } + } +} + +class gnu::javax::print::ipp::attribute::supported::PrinterUriSupported : public ::javax::print::attribute::URISyntax +{ + +public: + PrinterUriSupported(::java::net::URI *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_PrinterUriSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h new file mode 100644 index 00000000000..dbb186c10d2 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_SidesSupported__ +#define __gnu_javax_print_ipp_attribute_supported_SidesSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class SidesSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::SidesSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + SidesSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * ONE_SIDED; + static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * TWO_SIDED_LONG_EDGE; + static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * TWO_SIDED_SHORT_EDGE; + static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * DUPLEX; + static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * TUMBLE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::SidesSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_SidesSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h new file mode 100644 index 00000000000..254a20aca99 --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_UriAuthenticationSupported__ +#define __gnu_javax_print_ipp_attribute_supported_UriAuthenticationSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class UriAuthenticationSupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: + UriAuthenticationSupported(jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * NONE; + static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * REQUESTING_USER_NAME; + static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * BASIC; + static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * DIGEST; + static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * CERTIFICATE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_UriAuthenticationSupported__ diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h new file mode 100644 index 00000000000..32f571f9d1e --- /dev/null +++ b/libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_print_ipp_attribute_supported_UriSecuritySupported__ +#define __gnu_javax_print_ipp_attribute_supported_UriSecuritySupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + namespace ipp + { + namespace attribute + { + namespace supported + { + class UriSecuritySupported; + } + } + } + } + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class gnu::javax::print::ipp::attribute::supported::UriSecuritySupported : public ::javax::print::attribute::EnumSyntax +{ + +public: + UriSecuritySupported(jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +public: + static ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * NONE; + static ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * SSL3; + static ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * TLS; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_print_ipp_attribute_supported_UriSecuritySupported__ diff --git a/libjava/gnu/javax/rmi/CORBA/CorbaInput.h b/libjava/gnu/javax/rmi/CORBA/CorbaInput.h new file mode 100644 index 00000000000..8467a1c0789 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/CorbaInput.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_CorbaInput__ +#define __gnu_javax_rmi_CORBA_CorbaInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class CorbaInput; + class RmiUtilities; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA_2_3 + { + namespace portable + { + class InputStream; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::CorbaInput : public ::java::io::ObjectInputStream +{ + +public: + CorbaInput(::org::omg::CORBA_2_3::portable::InputStream *, ::java::lang::Object *, ::gnu::javax::rmi::CORBA::RmiUtilities *, jint, ::java::lang::String *, ::gnu::CORBA::CDR::gnuRuntime *); + virtual jint available(); + virtual void close(); + virtual void defaultReadObject(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual jchar readChar(); + virtual jdouble readDouble(); + virtual jfloat readFloat(); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual void readFully(JArray< jbyte > *); + virtual jint readInt(); + virtual ::java::lang::String * readLine(); + virtual jlong readLong(); + virtual jshort read_short(); + virtual jint readUnsignedByte(); + virtual jint readUnsignedShort(); + virtual ::java::lang::String * readUTF(); + virtual void reset(); + virtual jlong skip(jlong); + virtual jint skipBytes(jint); +public: // actually protected + virtual ::java::lang::Object * readObjectOverride(); +public: + ::org::omg::CORBA_2_3::portable::InputStream * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream)))) stream; +public: // actually package-private + ::gnu::javax::rmi::CORBA::RmiUtilities * util; + ::java::lang::Object * current; + jint offset; + ::java::lang::String * rid; + ::gnu::CORBA::CDR::gnuRuntime * runtime; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_CorbaInput__ diff --git a/libjava/gnu/javax/rmi/CORBA/CorbaOutput.h b/libjava/gnu/javax/rmi/CORBA/CorbaOutput.h new file mode 100644 index 00000000000..adbe74faee1 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/CorbaOutput.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_CorbaOutput__ +#define __gnu_javax_rmi_CORBA_CorbaOutput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class CorbaOutput; + class RmiUtilities; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA_2_3 + { + namespace portable + { + class OutputStream; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::CorbaOutput : public ::java::io::ObjectOutputStream +{ + +public: + CorbaOutput(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::gnu::javax::rmi::CORBA::RmiUtilities *); + virtual void close(); + virtual void flush(); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(JArray< jbyte > *); + virtual void write(jint); + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeBytes(::java::lang::String *); + virtual void writeChar(jint); + virtual void writeChars(::java::lang::String *); + virtual void writeDouble(jdouble); + virtual void writeFloat(jfloat); + virtual void writeInt(jint); + virtual void writeLong(jlong); +public: // actually protected + virtual void writeObjectOverride(::java::lang::Object *); +public: + virtual void writeShort(jint); + virtual void writeUTF(::java::lang::String *); + virtual void defaultWriteObject(); +public: // actually package-private + ::org::omg::CORBA_2_3::portable::OutputStream * __attribute__((aligned(__alignof__( ::java::io::ObjectOutputStream)))) stream; + ::gnu::javax::rmi::CORBA::RmiUtilities * util; + ::java::lang::Object * current; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_CorbaOutput__ diff --git a/libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h b/libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h new file mode 100644 index 00000000000..6234e881d2e --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_DefaultWriteObjectTester__ +#define __gnu_javax_rmi_CORBA_DefaultWriteObjectTester__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class DefaultWriteObjectTester; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::DefaultWriteObjectTester : public ::gnu::javax::rmi::CORBA::CorbaOutput +{ + +public: + DefaultWriteObjectTester(::java::lang::Object *); + virtual void defaultWriteObject(); +public: // actually protected + virtual void writeObjectOverride(::java::lang::Object *); +public: + jboolean __attribute__((aligned(__alignof__( ::gnu::javax::rmi::CORBA::CorbaOutput)))) dwo_called; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_DefaultWriteObjectTester__ diff --git a/libjava/gnu/javax/rmi/CORBA/DelegateFactory.h b/libjava/gnu/javax/rmi/CORBA/DelegateFactory.h new file mode 100644 index 00000000000..a1b449299df --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/DelegateFactory.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_DelegateFactory__ +#define __gnu_javax_rmi_CORBA_DelegateFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class DelegateFactory; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::DelegateFactory : public ::java::lang::Object +{ + +public: + DelegateFactory(); + static ::java::lang::Object * getInstance(::java::lang::String *); + static ::java::lang::String * STUB; + static ::java::lang::String * UTIL; + static ::java::lang::String * VALUEHANDLER; + static ::java::lang::String * PORTABLE_REMOTE_OBJECT; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_DelegateFactory__ diff --git a/libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h b/libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h new file mode 100644 index 00000000000..3f2b34c89ac --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_GetDelegateInstanceException__ +#define __gnu_javax_rmi_CORBA_GetDelegateInstanceException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class GetDelegateInstanceException; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::GetDelegateInstanceException : public ::java::lang::Exception +{ + +public: + GetDelegateInstanceException(::java::lang::String *); + GetDelegateInstanceException(::java::lang::String *, ::java::lang::Throwable *); +private: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) next; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_GetDelegateInstanceException__ diff --git a/libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h new file mode 100644 index 00000000000..750b4fbb20f --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_PortableRemoteObjectDelegateImpl__ +#define __gnu_javax_rmi_CORBA_PortableRemoteObjectDelegateImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class PortableRemoteObjectDelegateImpl; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + } + } +} + +class gnu::javax::rmi::CORBA::PortableRemoteObjectDelegateImpl : public ::java::lang::Object +{ + +public: + PortableRemoteObjectDelegateImpl(); + virtual void connect(::java::rmi::Remote *, ::java::rmi::Remote *); + virtual ::java::lang::Object * narrow(::java::lang::Object *, ::java::lang::Class *); +public: // actually package-private + static ::java::lang::String * getStubClassName(::java::lang::String *); +public: + virtual ::java::rmi::Remote * toStub(::java::rmi::Remote *); + virtual void unexportObject(::java::rmi::Remote *); + virtual void exportObject(::java::rmi::Remote *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_PortableRemoteObjectDelegateImpl__ diff --git a/libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h new file mode 100644 index 00000000000..367e50eb515 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_RmiUtilities$1__ +#define __gnu_javax_rmi_CORBA_RmiUtilities$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class RmiUtilities$1; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::RmiUtilities$1 : public ::java::lang::Object +{ + +public: // actually package-private + RmiUtilities$1(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_RmiUtilities$1__ diff --git a/libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h new file mode 100644 index 00000000000..8602d3f5d51 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_RmiUtilities$2__ +#define __gnu_javax_rmi_CORBA_RmiUtilities$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class RmiUtilities$2; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::RmiUtilities$2 : public ::java::lang::Object +{ + +public: // actually package-private + RmiUtilities$2(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_RmiUtilities$2__ diff --git a/libjava/gnu/javax/rmi/CORBA/RmiUtilities.h b/libjava/gnu/javax/rmi/CORBA/RmiUtilities.h new file mode 100644 index 00000000000..8dd5c60d06d --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/RmiUtilities.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_RmiUtilities__ +#define __gnu_javax_rmi_CORBA_RmiUtilities__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace CDR + { + class gnuRuntime; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class RmiUtilities; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class WStringValueHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CORBA_2_3 + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace SendingContext + { + class RunTime; + } + } + } +} + +class gnu::javax::rmi::CORBA::RmiUtilities : public ::java::lang::Object +{ + +public: + RmiUtilities(); +public: // actually package-private + virtual void writeFields(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + virtual void writeMember(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::java::lang::Class *); +public: + virtual jboolean isTieRequired(::java::lang::Object *); +public: // actually package-private + virtual ::java::lang::Class * getExportedInterface(::java::lang::Object *); +public: + static jlong getHashCode(::java::lang::Class *); + static ::java::lang::String * toHex(jlong); +public: // actually package-private + static ::java::lang::String * getDescriptor(::java::lang::Class *); +public: + static JArray< ::java::lang::reflect::Field * > * getWritableFields(::java::lang::Class *); +public: // actually package-private + virtual void exportTie(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::java::lang::Class *); + virtual void ensureOrbRunning(::org::omg::CORBA_2_3::portable::OutputStream *); +public: + virtual void writeRemoteObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); + virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + virtual ::java::io::Serializable * readValue(::org::omg::CORBA::portable::InputStream *, jint, ::java::lang::Class *, ::java::lang::String *, ::org::omg::SendingContext::RunTime *); +public: // actually package-private + virtual ::java::io::Serializable * instantiate(jint, ::java::lang::Class *, ::gnu::CORBA::CDR::gnuRuntime *); + virtual void readFields(jint, ::java::lang::String *, ::java::io::Serializable *, ::org::omg::CORBA_2_3::portable::InputStream *, ::gnu::CORBA::CDR::gnuRuntime *); +public: + static jbyte VERSION; +public: // actually package-private + static const jint NON_WRITABLE = 136; +public: + static ::java::lang::String * RMI_STRING_ID; + static ::java::lang::String * RMI_CLASS_ID; + static ::java::lang::String * RMI_STRING_ARRAY_ID; +public: // actually package-private + static ::org::omg::CORBA::WStringValueHelper * wStringValueHelper; + ::java::util::WeakHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) io_format; + static ::java::lang::Object * STANDARD; + static ::java::lang::Object * CUSTOM_DWO; + static ::java::lang::Object * CUSTOM_NO_DWO; + static JArray< ::java::lang::Class * > * READ_OBJECT_ARGS; + static JArray< ::java::lang::Class * > * WRITE_OBJECT_ARGS; + static const jint S_X = 16908034; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_RmiUtilities__ diff --git a/libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h new file mode 100644 index 00000000000..c8712e285c0 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_StubDelegateImpl__ +#define __gnu_javax_rmi_CORBA_StubDelegateImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class StubDelegateImpl; + } + } + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Stub; + class Tie; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + namespace PortableServer + { + class POA; + } + } + } +} + +class gnu::javax::rmi::CORBA::StubDelegateImpl : public ::java::lang::Object +{ + +public: + StubDelegateImpl(); + virtual void connect(::javax::rmi::CORBA::Stub *, ::org::omg::CORBA::ORB *); + static void connect(::javax::rmi::CORBA::Stub *, ::org::omg::CORBA::ORB *, ::org::omg::PortableServer::POA *); + static ::javax::rmi::CORBA::Tie * getTieFromStub(::java::lang::Object *); + virtual jboolean equals(::javax::rmi::CORBA::Stub *, ::java::lang::Object *); + virtual jint hashCode(::javax::rmi::CORBA::Stub *); + virtual ::java::lang::String * toString(::javax::rmi::CORBA::Stub *); + virtual void readObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectInputStream *); + virtual void readObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectInputStream *, ::org::omg::CORBA::ORB *); + virtual void writeObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectOutputStream *); + virtual void writeObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectOutputStream *, ::org::omg::CORBA::ORB *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_StubDelegateImpl__ diff --git a/libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h b/libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h new file mode 100644 index 00000000000..684b4e4e082 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_TieTargetRecord__ +#define __gnu_javax_rmi_CORBA_TieTargetRecord__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class TieTargetRecord; + } + } + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Tie; + } + } + } +} + +class gnu::javax::rmi::CORBA::TieTargetRecord : public ::java::lang::Object +{ + +public: + TieTargetRecord(::javax::rmi::CORBA::Tie *); + virtual void add(::java::lang::Object *); + virtual void remove(::java::lang::Object *); + virtual jboolean unused(); + ::javax::rmi::CORBA::Tie * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tie; + ::java::util::HashSet * targets; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_TieTargetRecord__ diff --git a/libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h new file mode 100644 index 00000000000..b4634938168 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_UtilDelegateImpl__ +#define __gnu_javax_rmi_CORBA_UtilDelegateImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class UtilDelegateImpl; + } + } + } + } + namespace java + { + namespace rmi + { + class Remote; + class RemoteException; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Stub; + class Tie; + class ValueHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class SystemException; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class gnu::javax::rmi::CORBA::UtilDelegateImpl : public ::gnu::javax::rmi::CORBA::RmiUtilities +{ + +public: + UtilDelegateImpl(); + virtual ::java::lang::Object * copyObject(::java::lang::Object *, ::org::omg::CORBA::ORB *); + virtual JArray< ::java::lang::Object * > * copyObjects(JArray< ::java::lang::Object * > *, ::org::omg::CORBA::ORB *); + virtual ::javax::rmi::CORBA::ValueHandler * createValueHandler(); + virtual ::java::lang::String * getCodebase(::java::lang::Class *); + virtual ::javax::rmi::CORBA::Tie * getTie(::java::rmi::Remote *); +private: + ::java::lang::String * getTieClassName(::java::lang::String *); +public: + virtual void registerTarget(::javax::rmi::CORBA::Tie *, ::java::rmi::Remote *); + virtual void unexportObject(::java::rmi::Remote *); + virtual jboolean isLocal(::javax::rmi::CORBA::Stub *); + virtual ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); + virtual ::java::rmi::RemoteException * mapSystemException(::org::omg::CORBA::SystemException *); + virtual ::java::rmi::RemoteException * wrapException(::java::lang::Throwable *); + virtual void writeAbstractObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); + virtual void writeAny(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); +public: // actually package-private + virtual void writeAnyAsRemote(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); + virtual ::java::lang::String * getName(::java::lang::String *); +public: + virtual ::java::lang::Object * readAny(::org::omg::CORBA::portable::InputStream *); + virtual void writeRemoteObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); +public: // actually package-private + static ::javax::rmi::CORBA::ValueHandler * m_ValueHandler; + static ::java::util::Hashtable * m_Ties; + static ::java::util::Hashtable * m_Targets; + static ::java::lang::String * m_StandardPackage; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_UtilDelegateImpl__ diff --git a/libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h new file mode 100644 index 00000000000..715322d05e1 --- /dev/null +++ b/libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_rmi_CORBA_ValueHandlerDelegateImpl__ +#define __gnu_javax_rmi_CORBA_ValueHandlerDelegateImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace rmi + { + namespace CORBA + { + class ValueHandlerDelegateImpl; + } + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class OutputStream; + } + } + namespace SendingContext + { + class RunTime; + } + } + } +} + +class gnu::javax::rmi::CORBA::ValueHandlerDelegateImpl : public ::gnu::javax::rmi::CORBA::RmiUtilities +{ + +public: + ValueHandlerDelegateImpl(); + virtual jbyte getMaximumStreamFormatVersion(); + virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, jbyte); + virtual ::org::omg::SendingContext::RunTime * getRunTimeCodeBase(); + virtual jboolean isCustomMarshaled(::java::lang::Class *); + virtual ::java::io::Serializable * writeReplace(::java::io::Serializable *); + virtual ::java::lang::String * getRMIRepositoryID(::java::lang::Class *); +public: // actually package-private + virtual jlong getSid(::java::lang::Class *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_rmi_CORBA_ValueHandlerDelegateImpl__ diff --git a/libjava/gnu/javax/security/auth/Password.h b/libjava/gnu/javax/security/auth/Password.h new file mode 100644 index 00000000000..76c282e2307 --- /dev/null +++ b/libjava/gnu/javax/security/auth/Password.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_Password__ +#define __gnu_javax_security_auth_Password__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + class Password; + } + } + } + } +} + +class gnu::javax::security::auth::Password : public ::gnu::java::security::util::ExpirableObject +{ + +public: + Password(JArray< jchar > *); + Password(JArray< jchar > *, jlong); + Password(JArray< jchar > *, jint, jint); + Password(JArray< jchar > *, jint, jint, jlong); + Password(JArray< jbyte > *); + Password(JArray< jbyte > *, jlong); + Password(JArray< jbyte > *, jint, jint); + Password(JArray< jbyte > *, jint, jint, jlong); + JArray< jchar > * getPassword(); + JArray< jbyte > * getBytes(); +public: // actually protected + void doDestroy(); +public: + jboolean isDestroyed(); +private: + JArray< jchar > * __attribute__((aligned(__alignof__( ::gnu::java::security::util::ExpirableObject)))) password; + JArray< jbyte > * bPassword; + jboolean mIsDestroyed; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_Password__ diff --git a/libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h new file mode 100644 index 00000000000..5f3bb8287d7 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_AWTCallbackHandler__ +#define __gnu_javax_security_auth_callback_AWTCallbackHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class AWTCallbackHandler; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class WindowEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ChoiceCallback; + class ConfirmationCallback; + class LanguageCallback; + class NameCallback; + class PasswordCallback; + class TextInputCallback; + class TextOutputCallback; + } + } + } + } +} + +class gnu::javax::security::auth::callback::AWTCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler +{ + +public: + AWTCallbackHandler(); +public: // actually protected + virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *); + virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *); + virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *); + virtual void handleName(::javax::security::auth::callback::NameCallback *); + virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *); + virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *); + virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual void windowClosing(::java::awt::event::WindowEvent *); + virtual void windowOpened(::java::awt::event::WindowEvent *); + virtual void windowClosed(::java::awt::event::WindowEvent *); + virtual void windowIconified(::java::awt::event::WindowEvent *); + virtual void windowDeiconified(::java::awt::event::WindowEvent *); + virtual void windowActivated(::java::awt::event::WindowEvent *); + virtual void windowDeactivated(::java::awt::event::WindowEvent *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::security::auth::callback::AbstractCallbackHandler)))) actionCommand; +private: + static ::java::lang::String * ACTION_CANCEL; + static ::java::lang::String * ACTION_NO; + static ::java::lang::String * ACTION_NONE; + static ::java::lang::String * ACTION_OK; + static ::java::lang::String * ACTION_YES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_AWTCallbackHandler__ diff --git a/libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h new file mode 100644 index 00000000000..f63c02f5927 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_AbstractCallbackHandler__ +#define __gnu_javax_security_auth_callback_AbstractCallbackHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class AbstractCallbackHandler; + } + } + } + } + } + namespace java + { + namespace security + { + class Provider; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class Callback; + class CallbackHandler; + class ChoiceCallback; + class ConfirmationCallback; + class LanguageCallback; + class NameCallback; + class PasswordCallback; + class TextInputCallback; + class TextOutputCallback; + } + } + } + } +} + +class gnu::javax::security::auth::callback::AbstractCallbackHandler : public ::java::lang::Object +{ + +public: // actually protected + AbstractCallbackHandler(::java::lang::String *); +public: + static ::javax::security::auth::callback::CallbackHandler * getInstance(::java::lang::String *); + static ::javax::security::auth::callback::CallbackHandler * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::security::auth::callback::CallbackHandler * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual void handle(JArray< ::javax::security::auth::callback::Callback * > *); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *) = 0; + virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *) = 0; + virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *) = 0; + virtual void handleName(::javax::security::auth::callback::NameCallback *) = 0; + virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *) = 0; + virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *) = 0; + virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *) = 0; + virtual void handleOther(::javax::security::auth::callback::Callback *); +private: + static ::java::lang::String * SERVICE; +public: // actually protected + ::java::util::ResourceBundle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) messages; +private: + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_AbstractCallbackHandler__ diff --git a/libjava/gnu/javax/security/auth/callback/CertificateCallback.h b/libjava/gnu/javax/security/auth/callback/CertificateCallback.h new file mode 100644 index 00000000000..b416d0ca535 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/CertificateCallback.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_CertificateCallback__ +#define __gnu_javax_security_auth_callback_CertificateCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CertificateCallback; + } + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class gnu::javax::security::auth::callback::CertificateCallback : public ::javax::security::auth::callback::ConfirmationCallback +{ + +public: + CertificateCallback(::java::security::cert::Certificate *, ::java::lang::String *); +public: // actually package-private + static const jlong serialVersionUID = 8343869651419225634LL; +public: + ::java::security::cert::Certificate * __attribute__((aligned(__alignof__( ::javax::security::auth::callback::ConfirmationCallback)))) certificate; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_CertificateCallback__ diff --git a/libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h new file mode 100644 index 00000000000..bd068a60d42 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_ConsoleCallbackHandler__ +#define __gnu_javax_security_auth_callback_ConsoleCallbackHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ConsoleCallbackHandler; + } + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ChoiceCallback; + class ConfirmationCallback; + class LanguageCallback; + class NameCallback; + class PasswordCallback; + class TextInputCallback; + class TextOutputCallback; + } + } + } + } +} + +class gnu::javax::security::auth::callback::ConsoleCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler +{ + +public: + ConsoleCallbackHandler(); + ConsoleCallbackHandler(::java::io::PrintStream *); +public: // actually protected + virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *); + virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *); + virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *); + virtual void handleName(::javax::security::auth::callback::NameCallback *); + virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *); + virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *); + virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *); +private: + ::java::io::PrintStream * __attribute__((aligned(__alignof__( ::gnu::javax::security::auth::callback::AbstractCallbackHandler)))) out; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_ConsoleCallbackHandler__ diff --git a/libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h new file mode 100644 index 00000000000..bd3d0dc14ed --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_DefaultCallbackHandler__ +#define __gnu_javax_security_auth_callback_DefaultCallbackHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class DefaultCallbackHandler; + } + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ChoiceCallback; + class ConfirmationCallback; + class LanguageCallback; + class NameCallback; + class PasswordCallback; + class TextInputCallback; + class TextOutputCallback; + } + } + } + } +} + +class gnu::javax::security::auth::callback::DefaultCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler +{ + +public: + DefaultCallbackHandler(); +public: // actually protected + virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *); + virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *); + virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *); + virtual void handleName(::javax::security::auth::callback::NameCallback *); + virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *); + virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *); + virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_DefaultCallbackHandler__ diff --git a/libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h b/libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h new file mode 100644 index 00000000000..1350bec6504 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_GnuCallbacks$1__ +#define __gnu_javax_security_auth_callback_GnuCallbacks$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class GnuCallbacks; + class GnuCallbacks$1; + } + } + } + } + } +} + +class gnu::javax::security::auth::callback::GnuCallbacks$1 : public ::java::lang::Object +{ + +public: // actually package-private + GnuCallbacks$1(::gnu::javax::security::auth::callback::GnuCallbacks *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::gnu::javax::security::auth::callback::GnuCallbacks * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_GnuCallbacks$1__ diff --git a/libjava/gnu/javax/security/auth/callback/GnuCallbacks.h b/libjava/gnu/javax/security/auth/callback/GnuCallbacks.h new file mode 100644 index 00000000000..d7bb1dfe6f6 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/GnuCallbacks.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_GnuCallbacks__ +#define __gnu_javax_security_auth_callback_GnuCallbacks__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class GnuCallbacks; + } + } + } + } + } +} + +class gnu::javax::security::auth::callback::GnuCallbacks : public ::java::security::Provider +{ + +public: + GnuCallbacks(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_GnuCallbacks__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h new file mode 100644 index 00000000000..e8d2bf220e4 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$1__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$1; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ChoiceCallback; + } + } + } + namespace swing + { + class JDialog; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$1 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$1(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::ChoiceCallback *, jint, ::javax::swing::JDialog *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::security::auth::callback::ChoiceCallback * val$callback; + jint val$defaultChoice; + ::javax::swing::JDialog * val$dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$1__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h new file mode 100644 index 00000000000..1fcd2ef84aa --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$2__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$2; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ChoiceCallback; + } + } + } + namespace swing + { + class JDialog; + class JList; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$2 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$2(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::ChoiceCallback *, ::javax::swing::JList *, jint, ::javax::swing::JDialog *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::security::auth::callback::ChoiceCallback * val$callback; + ::javax::swing::JList * val$choicesList; + jint val$defaultChoice; + ::javax::swing::JDialog * val$dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$2__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h new file mode 100644 index 00000000000..6e6f2a1bd00 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$3__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$3__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$3; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ConfirmationCallback; + } + } + } + namespace swing + { + class JDialog; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$3 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$3(::gnu::javax::security::auth::callback::SwingCallbackHandler *, JArray< ::java::lang::String * > *, ::javax::security::auth::callback::ConfirmationCallback *, ::javax::swing::JDialog *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + JArray< ::java::lang::String * > * val$options; + ::javax::security::auth::callback::ConfirmationCallback * val$callback; + ::javax::swing::JDialog * val$dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$3__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h new file mode 100644 index 00000000000..d49173a612a --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$4__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$4; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class NameCallback; + } + } + } + namespace swing + { + class JDialog; + class JTextField; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$4 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$4(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::NameCallback *, ::javax::swing::JTextField *, ::javax::swing::JDialog *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::security::auth::callback::NameCallback * val$callback; + ::javax::swing::JTextField * val$name; + ::javax::swing::JDialog * val$dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$4__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h new file mode 100644 index 00000000000..43036131faa --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$5__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$5; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class PasswordCallback; + } + } + } + namespace swing + { + class JDialog; + class JPasswordField; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$5 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$5(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::PasswordCallback *, ::javax::swing::JPasswordField *, ::javax::swing::JDialog *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::security::auth::callback::PasswordCallback * val$callback; + ::javax::swing::JPasswordField * val$password; + ::javax::swing::JDialog * val$dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$5__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h new file mode 100644 index 00000000000..8ba275388e2 --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$6__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$6; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class TextInputCallback; + } + } + } + namespace swing + { + class JDialog; + class JTextArea; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$6 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$6(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::TextInputCallback *, ::javax::swing::JTextArea *, ::javax::swing::JDialog *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::security::auth::callback::TextInputCallback * val$callback; + ::javax::swing::JTextArea * val$text; + ::javax::swing::JDialog * val$dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$6__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h new file mode 100644 index 00000000000..2e9a398c85e --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$7__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler$7__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + class SwingCallbackHandler$7; + } + } + } + } + } + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class TextOutputCallback; + } + } + } + namespace swing + { + class JDialog; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler$7 : public ::java::lang::Object +{ + +public: // actually package-private + SwingCallbackHandler$7(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::swing::JDialog *, ::javax::security::auth::callback::TextOutputCallback *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::swing::JDialog * val$dialog; + ::javax::security::auth::callback::TextOutputCallback * val$callback; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$7__ diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h new file mode 100644 index 00000000000..6d1f18c84de --- /dev/null +++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler__ +#define __gnu_javax_security_auth_callback_SwingCallbackHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class SwingCallbackHandler; + } + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class Callback; + class ChoiceCallback; + class ConfirmationCallback; + class LanguageCallback; + class NameCallback; + class PasswordCallback; + class TextInputCallback; + class TextOutputCallback; + } + } + } + namespace swing + { + class JDialog; + } + } +} + +class gnu::javax::security::auth::callback::SwingCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler +{ + +public: + SwingCallbackHandler(); +public: // actually protected + virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *); + virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *); + virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *); + virtual void handleName(::javax::security::auth::callback::NameCallback *); + virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *); + virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *); + virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *); +private: + void waitForInput(::javax::swing::JDialog *, ::javax::security::auth::callback::Callback *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler__ diff --git a/libjava/gnu/javax/security/auth/login/ConfigFileParser.h b/libjava/gnu/javax/security/auth/login/ConfigFileParser.h new file mode 100644 index 00000000000..7daf71bd9a9 --- /dev/null +++ b/libjava/gnu/javax/security/auth/login/ConfigFileParser.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_login_ConfigFileParser__ +#define __gnu_javax_security_auth_login_ConfigFileParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class ConfigFileParser; + class ConfigFileTokenizer; + } + } + } + } + } +} + +class gnu::javax::security::auth::login::ConfigFileParser : public ::java::lang::Object +{ + +public: + ConfigFileParser(); + ::java::util::Map * getLoginModulesMap(); + void parse(::java::io::Reader *); +private: + void initParser(::java::io::Reader *); + jboolean parseAppOrOtherEntry(); + jboolean parseACE(::java::util::List *); + void abort(::java::lang::String *); + ::java::lang::String * validateClassName(::java::lang::String *); + ::java::lang::String * expandParamValue(::java::lang::String *); + static ::java::util::logging::Logger * log; + ::gnu::javax::security::auth::login::ConfigFileTokenizer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cft; + ::java::util::Map * map; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_login_ConfigFileParser__ diff --git a/libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h b/libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h new file mode 100644 index 00000000000..56bd3954b64 --- /dev/null +++ b/libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_login_ConfigFileTokenizer__ +#define __gnu_javax_security_auth_login_ConfigFileTokenizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class ConfigFileTokenizer; + } + } + } + } + } +} + +class gnu::javax::security::auth::login::ConfigFileTokenizer : public ::java::lang::Object +{ + +public: // actually package-private + ConfigFileTokenizer(::java::io::Reader *); +public: + virtual jint nextToken(); + virtual void pushBack(); +private: + void init(); + void skipWhitespace(); + void abort(::java::lang::String *); + static ::java::util::logging::Logger * log; +public: + static const jint TT_EOF = -1; + static const jint TT_WORD = -3; +private: + static const jint TT_NONE = -4; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sval; + jint ttype; +private: + ::java::io::BufferedReader * br; +public: // actually package-private + jboolean initialised; +private: + ::java::lang::StringBuffer * sb; + jint sbNdx; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_login_ConfigFileTokenizer__ diff --git a/libjava/gnu/javax/security/auth/login/GnuConfiguration.h b/libjava/gnu/javax/security/auth/login/GnuConfiguration.h new file mode 100644 index 00000000000..42177491d1f --- /dev/null +++ b/libjava/gnu/javax/security/auth/login/GnuConfiguration.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_security_auth_login_GnuConfiguration__ +#define __gnu_javax_security_auth_login_GnuConfiguration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class ConfigFileParser; + class GnuConfiguration; + } + } + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AppConfigurationEntry; + } + } + } + } +} + +class gnu::javax::security::auth::login::GnuConfiguration : public ::javax::security::auth::login::Configuration +{ + +public: + GnuConfiguration(); + JArray< ::javax::security::auth::login::AppConfigurationEntry * > * getAppConfigurationEntry(::java::lang::String *); + void refresh(); +private: + void init(); + jboolean processSecurityProperties(); + ::java::io::InputStream * getInputStreamFromURL(::java::lang::String *); + jboolean processSystemProperty(); + jboolean processUserHome(); + void parseConfig(::java::io::InputStream *); + void mergeLoginModules(::java::util::Map *); + ::java::io::File * getUserHome(); + ::java::io::File * getConfigFromUserHome(::java::io::File *, ::java::lang::String *); + static ::java::util::logging::Logger * log; + ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::security::auth::login::Configuration)))) loginModulesMap; + ::gnu::javax::security::auth::login::ConfigFileParser * cp; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_security_auth_login_GnuConfiguration__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h new file mode 100644 index 00000000000..cb7291daea6 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaInputPortDevice__ +#define __gnu_javax_sound_midi_alsa_AlsaInputPortDevice__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaInputPortDevice; + class AlsaMidiDeviceProvider$AlsaPortInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Receiver; + class Transmitter; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaInputPortDevice : public ::gnu::javax::sound::midi::alsa::AlsaPortDevice +{ + +public: // actually package-private + AlsaInputPortDevice(::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo *); +public: + virtual void open(); + virtual void close(); + virtual jboolean isOpen(); + virtual jlong getMicrosecondPosition(); + virtual jint getMaxReceivers(); + virtual jint getMaxTransmitters(); + virtual ::javax::sound::midi::Receiver * getReceiver(); + virtual ::javax::sound::midi::Transmitter * getTransmitter(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaInputPortDevice__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h new file mode 100644 index 00000000000..fb7a22385c9 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInfo__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo : public ::javax::sound::midi::MidiDevice$Info +{ + +public: + AlsaMidiDeviceProvider$AlsaInfo(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::javax::sound::midi::MidiDevice * getDevice() = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInfo__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h new file mode 100644 index 00000000000..51bab4a4093 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInputPortInfo__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInputPortInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaInputPortInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInputPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo +{ + +public: + AlsaMidiDeviceProvider$AlsaInputPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong); +public: // actually package-private + virtual ::javax::sound::midi::MidiDevice * getDevice(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInputPortInfo__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h new file mode 100644 index 00000000000..c37627bbf32 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaOutputPortInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaOutputPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo +{ + +public: + AlsaMidiDeviceProvider$AlsaOutputPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong); +public: // actually package-private + virtual ::javax::sound::midi::MidiDevice * getDevice(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h new file mode 100644 index 00000000000..b7c2f640095 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaPortInfo__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaPortInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaPortInfo; + } + } + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo +{ + +public: + AlsaMidiDeviceProvider$AlsaPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo)))) client; + jlong port; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaPortInfo__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h new file mode 100644 index 00000000000..f1586dfaada --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaSequencerInfo__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaSequencerInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaSequencerInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaSequencerInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo +{ + +public: + AlsaMidiDeviceProvider$AlsaSequencerInfo(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::javax::sound::midi::MidiDevice * getDevice(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaSequencerInfo__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h new file mode 100644 index 00000000000..a1d2884ed2d --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider; + class AlsaMidiDeviceProvider$AlsaInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + class MidiDevice$Info; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider : public ::javax::sound::midi::spi::MidiDeviceProvider +{ + + static JArray< ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo * > * getInputDeviceInfo_(); + static JArray< ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo * > * getOutputDeviceInfo_(); + static void init_(); +public: + AlsaMidiDeviceProvider(); + virtual JArray< ::javax::sound::midi::MidiDevice$Info * > * getDeviceInfo(); + virtual ::javax::sound::midi::MidiDevice * getDevice(::javax::sound::midi::MidiDevice$Info *); +private: + static JArray< ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo * > * infos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h new file mode 100644 index 00000000000..5317a997063 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice__ +#define __gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiSequencerDevice; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class ControllerEventListener; + class MetaEventListener; + class MidiDevice$Info; + class Receiver; + class Sequence; + class Sequencer$SyncMode; + class Track; + class Transmitter; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaMidiSequencerDevice : public ::java::lang::Object +{ + + AlsaMidiSequencerDevice(); +public: + static ::gnu::javax::sound::midi::alsa::AlsaMidiSequencerDevice * getInstance(); + virtual void setSequence(::javax::sound::midi::Sequence *); + virtual void setSequence(::java::io::InputStream *); + virtual ::javax::sound::midi::Sequence * getSequence(); + virtual void start(); + virtual void stop(); + virtual jboolean isRunning(); + virtual void startRecording(); + virtual void stopRecording(); + virtual jboolean isRecording(); + virtual void recordEnable(::javax::sound::midi::Track *, jint); + virtual void recordDisable(::javax::sound::midi::Track *); + virtual jfloat getTempoInBPM(); + virtual void setTempoInBPM(jfloat); + virtual jfloat getTempoInMPQ(); + virtual void setTempoInMPQ(jfloat); + virtual void setTempoFactor(jfloat); + virtual jfloat getTempoFactor(); + virtual jlong getTickLength(); + virtual jlong getTickPosition(); + virtual void setTickPosition(jlong); + virtual jlong getMicrosecondLength(); + virtual jlong getMicrosecondPosition(); + virtual void setMicrosecondPosition(jlong); + virtual void setMasterSyncMode(::javax::sound::midi::Sequencer$SyncMode *); + virtual ::javax::sound::midi::Sequencer$SyncMode * getMasterSyncMode(); + virtual JArray< ::javax::sound::midi::Sequencer$SyncMode * > * getMasterSyncModes(); + virtual void setSlaveSyncMode(::javax::sound::midi::Sequencer$SyncMode *); + virtual ::javax::sound::midi::Sequencer$SyncMode * getSlaveSyncMode(); + virtual JArray< ::javax::sound::midi::Sequencer$SyncMode * > * getSlaveSyncModes(); + virtual void setTrackMute(jint, jboolean); + virtual jboolean getTrackMute(jint); + virtual void setTrackSolo(jint, jboolean); + virtual jboolean getTrackSolo(jint); + virtual jboolean addMetaEventListener(::javax::sound::midi::MetaEventListener *); + virtual void removeMetaEventListener(::javax::sound::midi::MetaEventListener *); + virtual JArray< jint > * addControllerEventListener(::javax::sound::midi::ControllerEventListener *, JArray< jint > *); + virtual JArray< jint > * removeControllerEventListener(::javax::sound::midi::ControllerEventListener *, JArray< jint > *); + virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo(); + virtual void open(); +private: + jlong open_(); + void close_(jlong); +public: + virtual void close(); + virtual jboolean isOpen(); + virtual jint getMaxReceivers(); + virtual jint getMaxTransmitters(); + virtual ::javax::sound::midi::Receiver * getReceiver(); + virtual ::javax::sound::midi::Transmitter * getTransmitter(); + static ::gnu::javax::sound::midi::alsa::AlsaMidiSequencerDevice * instance; +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeState; + ::javax::sound::midi::Sequence * sequence; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h new file mode 100644 index 00000000000..0f7718d922e --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaOutputPortDevice__ +#define __gnu_javax_sound_midi_alsa_AlsaOutputPortDevice__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaPortInfo; + class AlsaOutputPortDevice; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Receiver; + class Transmitter; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaOutputPortDevice : public ::gnu::javax::sound::midi::alsa::AlsaPortDevice +{ + +public: // actually package-private + AlsaOutputPortDevice(::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo *); +public: + virtual void open(); + virtual void close(); + virtual jboolean isOpen(); + virtual jlong getMicrosecondPosition(); + virtual jint getMaxReceivers(); + virtual jint getMaxTransmitters(); + virtual ::javax::sound::midi::Receiver * getReceiver(); + virtual ::javax::sound::midi::Transmitter * getTransmitter(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaOutputPortDevice__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h new file mode 100644 index 00000000000..8e23df85e57 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaReceiver__ +#define __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaReceiver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaPortDevice; + class AlsaPortDevice$AlsaReceiver; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiMessage; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaPortDevice$AlsaReceiver : public ::java::lang::Object +{ + +public: + AlsaPortDevice$AlsaReceiver(::gnu::javax::sound::midi::alsa::AlsaPortDevice *); + virtual void send(::javax::sound::midi::MidiMessage *, jlong); + virtual void close(); +public: // actually package-private + ::gnu::javax::sound::midi::alsa::AlsaPortDevice * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaReceiver__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h new file mode 100644 index 00000000000..f88cadcf117 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__ +#define __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaPortDevice; + class AlsaPortDevice$AlsaTransmitter; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Receiver; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaPortDevice$AlsaTransmitter : public ::java::lang::Object +{ + +public: // actually protected + AlsaPortDevice$AlsaTransmitter(::gnu::javax::sound::midi::alsa::AlsaPortDevice *); +public: + virtual void run(); + virtual void setReceiver(::javax::sound::midi::Receiver *); + virtual ::javax::sound::midi::Receiver * getReceiver(); + virtual void close(); +private: + ::javax::sound::midi::Receiver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) receiver; +public: // actually package-private + ::gnu::javax::sound::midi::alsa::AlsaPortDevice * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__ diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h new file mode 100644 index 00000000000..351bd7099dd --- /dev/null +++ b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice__ +#define __gnu_javax_sound_midi_alsa_AlsaPortDevice__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace alsa + { + class AlsaMidiDeviceProvider$AlsaPortInfo; + class AlsaPortDevice; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice$Info; + class Receiver; + class Transmitter; + } + } + } +} + +class gnu::javax::sound::midi::alsa::AlsaPortDevice : public ::java::lang::Object +{ + +public: + AlsaPortDevice(::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo *); + virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo(); +public: // actually package-private + virtual void run_receiver_thread_(jlong, jlong, ::javax::sound::midi::Receiver *); +public: + virtual void open() = 0; + virtual void close() = 0; + virtual jboolean isOpen() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jint getMaxReceivers() = 0; + virtual jint getMaxTransmitters() = 0; + virtual ::javax::sound::midi::Receiver * getReceiver() = 0; + virtual ::javax::sound::midi::Transmitter * getTransmitter() = 0; +public: // actually package-private + ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo * __attribute__((aligned(__alignof__( ::java::lang::Object)))) info; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h new file mode 100644 index 00000000000..2d477ac8ebb --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$1__ +#define __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSIMidiDeviceProvider$1; + } + } + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$1 : public ::java::lang::Object +{ + +public: // actually package-private + DSSIMidiDeviceProvider$1(); +public: + jboolean accept(::java::io::File *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$1__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h new file mode 100644 index 00000000000..a5f7a82edcf --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$DSSIInfo__ +#define __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$DSSIInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSIMidiDeviceProvider$DSSIInfo; + } + } + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$DSSIInfo : public ::javax::sound::midi::MidiDevice$Info +{ + +public: + DSSIMidiDeviceProvider$DSSIInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jlong); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiDevice$Info)))) soname; + jlong index; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$DSSIInfo__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h new file mode 100644 index 00000000000..3cf346a3f2a --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider__ +#define __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSIMidiDeviceProvider; + class DSSIMidiDeviceProvider$DSSIInfo; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + class MidiDevice$Info; + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider : public ::javax::sound::midi::spi::MidiDeviceProvider +{ + +public: // actually package-private + static jlong dlopen_(::java::lang::String *); + static void dlclose_(jlong); + static jlong getDSSIHandle_(jlong, jlong); + static ::java::lang::String * getDSSIName_(jlong); + static ::java::lang::String * getDSSICopyright_(jlong); + static ::java::lang::String * getDSSIVendor_(jlong); + static ::java::lang::String * getDSSILabel_(jlong); +private: + static ::java::util::List * examineLibrary(::java::lang::String *); +public: + DSSIMidiDeviceProvider(); + virtual JArray< ::javax::sound::midi::MidiDevice$Info * > * getDeviceInfo(); + virtual ::javax::sound::midi::MidiDevice * getDevice(::javax::sound::midi::MidiDevice$Info *); +private: + static JArray< ::gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$DSSIInfo * > * infos; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h new file mode 100644 index 00000000000..48167354b76 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIInstrument__ +#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIInstrument__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSISynthesizer; + class DSSISynthesizer$DSSIInstrument; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Patch; + class Soundbank; + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSIInstrument : public ::javax::sound::midi::Instrument +{ + +public: // actually package-private + DSSISynthesizer$DSSIInstrument(::gnu::javax::sound::midi::dssi::DSSISynthesizer *, ::javax::sound::midi::Soundbank *, ::javax::sound::midi::Patch *, ::java::lang::String *); +public: + virtual ::java::lang::Object * getData(); +public: // actually package-private + ::gnu::javax::sound::midi::dssi::DSSISynthesizer * __attribute__((aligned(__alignof__( ::javax::sound::midi::Instrument)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIInstrument__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h new file mode 100644 index 00000000000..733eb385716 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIMidiChannel__ +#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIMidiChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSISynthesizer; + class DSSISynthesizer$DSSIMidiChannel; + } + } + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSIMidiChannel : public ::java::lang::Object +{ + +public: + DSSISynthesizer$DSSIMidiChannel(::gnu::javax::sound::midi::dssi::DSSISynthesizer *, jint); + virtual void noteOn(jint, jint); + virtual void noteOff(jint, jint); + virtual void noteOff(jint); + virtual void setPolyPressure(jint, jint); + virtual jint getPolyPressure(jint); + virtual void setChannelPressure(jint); + virtual jint getChannelPressure(); + virtual void controlChange(jint, jint); + virtual jint getController(jint); + virtual void programChange(jint); + virtual void programChange(jint, jint); + virtual jint getProgram(); + virtual void setPitchBend(jint); + virtual jint getPitchBend(); + virtual void resetAllControllers(); + virtual void allNotesOff(); + virtual void allSoundOff(); + virtual jboolean localControl(jboolean); + virtual void setMono(jboolean); + virtual jboolean getMono(); + virtual void setOmni(jboolean); + virtual jboolean getOmni(); + virtual void setMute(jboolean); + virtual jboolean getMute(); + virtual void setSolo(jboolean); + virtual jboolean getSolo(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) channel; + ::gnu::javax::sound::midi::dssi::DSSISynthesizer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIMidiChannel__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h new file mode 100644 index 00000000000..dbdd3284f1e --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIReceiver__ +#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIReceiver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSISynthesizer; + class DSSISynthesizer$DSSIReceiver; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiMessage; + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSIReceiver : public ::java::lang::Object +{ + +public: // actually package-private + DSSISynthesizer$DSSIReceiver(::gnu::javax::sound::midi::dssi::DSSISynthesizer *); +public: + virtual void send(::javax::sound::midi::MidiMessage *, jlong); + virtual void close(); +public: // actually package-private + ::gnu::javax::sound::midi::dssi::DSSISynthesizer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIReceiver__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h new file mode 100644 index 00000000000..4ebaffbe338 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSISoundbank__ +#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSISoundbank__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSISynthesizer; + class DSSISynthesizer$DSSISoundbank; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Instrument; + class Patch; + class SoundbankResource; + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSISoundbank : public ::java::lang::Object +{ + +public: + DSSISynthesizer$DSSISoundbank(::gnu::javax::sound::midi::dssi::DSSISynthesizer *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual void add(::javax::sound::midi::Instrument *); +public: + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getVersion(); + virtual ::java::lang::String * getVendor(); + virtual ::java::lang::String * getDescription(); + virtual JArray< ::javax::sound::midi::SoundbankResource * > * getResources(); + virtual JArray< ::javax::sound::midi::Instrument * > * getInstruments(); + virtual ::javax::sound::midi::Instrument * getInstrument(::javax::sound::midi::Patch *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * description; + ::java::util::List * instruments; + ::java::util::List * resources; + ::java::lang::String * vendor; + ::java::lang::String * version; +public: // actually package-private + ::gnu::javax::sound::midi::dssi::DSSISynthesizer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSISoundbank__ diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h new file mode 100644 index 00000000000..c4d4a619cdb --- /dev/null +++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer__ +#define __gnu_javax_sound_midi_dssi_DSSISynthesizer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace dssi + { + class DSSISynthesizer; + class DSSISynthesizer$DSSISoundbank; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Instrument; + class MidiChannel; + class MidiDevice$Info; + class Patch; + class Receiver; + class Soundbank; + class Transmitter; + class VoiceStatus; + } + } + } +} + +class gnu::javax::sound::midi::dssi::DSSISynthesizer : public ::java::lang::Object +{ + +public: // actually package-private + static void noteOn_(jlong, jint, jint, jint); + static void noteOff_(jlong, jint, jint, jint); + static void setPolyPressure_(jlong, jint, jint, jint); + static jint getPolyPressure_(jlong, jint, jint); + static void controlChange_(jlong, jint, jint, jint); + static void open_(jlong); + static void close_(jlong); + static ::java::lang::String * getProgramName_(jlong, jint); + static jint getProgramBank_(jlong, jint); + static jint getProgramProgram_(jlong, jint); + static void selectProgram_(jlong, jint, jint); +public: + DSSISynthesizer(::javax::sound::midi::MidiDevice$Info *, ::java::lang::String *, jlong); + virtual jint getMaxPolyphony(); + virtual jlong getLatency(); + virtual JArray< ::javax::sound::midi::MidiChannel * > * getChannels(); + virtual JArray< ::javax::sound::midi::VoiceStatus * > * getVoiceStatus(); + virtual jboolean isSoundbankSupported(::javax::sound::midi::Soundbank *); + virtual jboolean loadInstrument(::javax::sound::midi::Instrument *); + virtual void unloadInstrument(::javax::sound::midi::Instrument *); + virtual jboolean remapInstrument(::javax::sound::midi::Instrument *, ::javax::sound::midi::Instrument *); + virtual ::javax::sound::midi::Soundbank * getDefaultSoundbank(); + virtual JArray< ::javax::sound::midi::Instrument * > * getAvailableInstruments(); + virtual JArray< ::javax::sound::midi::Instrument * > * getLoadedInstruments(); + virtual jboolean loadAllInstruments(::javax::sound::midi::Soundbank *); + virtual void unloadAllInstruments(::javax::sound::midi::Soundbank *); + virtual jboolean loadInstruments(::javax::sound::midi::Soundbank *, JArray< ::javax::sound::midi::Patch * > *); + virtual void unloadInstruments(::javax::sound::midi::Soundbank *, JArray< ::javax::sound::midi::Patch * > *); + virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo(); + virtual void open(); + virtual void close(); + virtual jboolean isOpen(); + virtual jlong getMicrosecondPosition(); + virtual jint getMaxReceivers(); + virtual jint getMaxTransmitters(); + virtual ::javax::sound::midi::Receiver * getReceiver(); + virtual ::javax::sound::midi::Transmitter * getTransmitter(); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) sohandle; + jlong handle; +private: + ::javax::sound::midi::MidiDevice$Info * info; +public: // actually package-private + JArray< ::javax::sound::midi::MidiChannel * > * channels; + ::java::util::List * soundbanks; + ::gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSISoundbank * defaultSoundbank; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer__ diff --git a/libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h b/libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h new file mode 100644 index 00000000000..70a8a4c2ef2 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_file_ExtendedMidiFileFormat__ +#define __gnu_javax_sound_midi_file_ExtendedMidiFileFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace file + { + class ExtendedMidiFileFormat; + } + } + } + } + } +} + +class gnu::javax::sound::midi::file::ExtendedMidiFileFormat : public ::javax::sound::midi::MidiFileFormat +{ + +public: + virtual jint getNumberTracks(); + ExtendedMidiFileFormat(jint, jfloat, jint, jint, jlong, jint); +private: + jint __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiFileFormat)))) ntracks; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_file_ExtendedMidiFileFormat__ diff --git a/libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h b/libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h new file mode 100644 index 00000000000..00d2472849f --- /dev/null +++ b/libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_file_MidiDataInputStream__ +#define __gnu_javax_sound_midi_file_MidiDataInputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace file + { + class MidiDataInputStream; + } + } + } + } + } +} + +class gnu::javax::sound::midi::file::MidiDataInputStream : public ::java::io::DataInputStream +{ + +public: + MidiDataInputStream(::java::io::InputStream *); + virtual jint readVariableLengthInt(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_file_MidiDataInputStream__ diff --git a/libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h b/libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h new file mode 100644 index 00000000000..70718fc2a1a --- /dev/null +++ b/libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_file_MidiDataOutputStream__ +#define __gnu_javax_sound_midi_file_MidiDataOutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace file + { + class MidiDataOutputStream; + } + } + } + } + } +} + +class gnu::javax::sound::midi::file::MidiDataOutputStream : public ::java::io::DataOutputStream +{ + +public: + MidiDataOutputStream(::java::io::OutputStream *); + virtual jint variableLengthIntLength(jint); + virtual void writeVariableLengthInt(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_file_MidiDataOutputStream__ diff --git a/libjava/gnu/javax/sound/midi/file/MidiFileReader.h b/libjava/gnu/javax/sound/midi/file/MidiFileReader.h new file mode 100644 index 00000000000..823ead63702 --- /dev/null +++ b/libjava/gnu/javax/sound/midi/file/MidiFileReader.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_file_MidiFileReader__ +#define __gnu_javax_sound_midi_file_MidiFileReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace file + { + class MidiFileReader; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiFileFormat; + class Sequence; + } + } + } +} + +class gnu::javax::sound::midi::file::MidiFileReader : public ::javax::sound::midi::spi::MidiFileReader +{ + +public: + MidiFileReader(); + virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::InputStream *); + virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::net::URL *); + virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::File *); + virtual ::javax::sound::midi::Sequence * getSequence(::java::io::InputStream *); + virtual ::javax::sound::midi::Sequence * getSequence(::java::net::URL *); + virtual ::javax::sound::midi::Sequence * getSequence(::java::io::File *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_file_MidiFileReader__ diff --git a/libjava/gnu/javax/sound/midi/file/MidiFileWriter.h b/libjava/gnu/javax/sound/midi/file/MidiFileWriter.h new file mode 100644 index 00000000000..15518ac73cc --- /dev/null +++ b/libjava/gnu/javax/sound/midi/file/MidiFileWriter.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_midi_file_MidiFileWriter__ +#define __gnu_javax_sound_midi_file_MidiFileWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace midi + { + namespace file + { + class MidiDataOutputStream; + class MidiFileWriter; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Sequence; + class Track; + } + } + } +} + +class gnu::javax::sound::midi::file::MidiFileWriter : public ::javax::sound::midi::spi::MidiFileWriter +{ + +public: + MidiFileWriter(); + virtual JArray< jint > * getMidiFileTypes(); + virtual JArray< jint > * getMidiFileTypes(::javax::sound::midi::Sequence *); + virtual jint write(::javax::sound::midi::Sequence *, jint, ::java::io::OutputStream *); +private: + jint computeTrackLength(::javax::sound::midi::Track *, ::gnu::javax::sound::midi::file::MidiDataOutputStream *); + jint writeTrack(::javax::sound::midi::Track *, ::gnu::javax::sound::midi::file::MidiDataOutputStream *); +public: + virtual jint write(::javax::sound::midi::Sequence *, jint, ::java::io::File *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_midi_file_MidiFileWriter__ diff --git a/libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h new file mode 100644 index 00000000000..d88744fe41b --- /dev/null +++ b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_sampled_AU_AUReader$AUFormatType__ +#define __gnu_javax_sound_sampled_AU_AUReader$AUFormatType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace sampled + { + namespace AU + { + class AUReader$AUFormatType; + } + } + } + } + } +} + +class gnu::javax::sound::sampled::AU::AUReader$AUFormatType : public ::javax::sound::sampled::AudioFileFormat$Type +{ + +public: + AUReader$AUFormatType(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_sampled_AU_AUReader$AUFormatType__ diff --git a/libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h new file mode 100644 index 00000000000..94f21017bda --- /dev/null +++ b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_sampled_AU_AUReader$AUHeader__ +#define __gnu_javax_sound_sampled_AU_AUReader$AUHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace sampled + { + namespace AU + { + class AUReader$AUHeader; + } + } + } + } + } + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat; + class AudioFormat; + } + } + } +} + +class gnu::javax::sound::sampled::AU::AUReader$AUHeader : public ::java::lang::Object +{ + +public: + AUReader$AUHeader(::java::io::InputStream *); + virtual ::javax::sound::sampled::AudioFormat * getAudioFormat(); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(); +private: + static const jint MAGIC = 779316836; +public: + static const jint SIZE = 24; + static const jint ULAW = 1; + static const jint PCM8 = 2; + static const jint PCM16 = 3; + static const jint PCM24 = 4; + static const jint PCM32 = 5; + static const jint IEEE32 = 6; + static const jint IEEE64 = 7; + static const jint G721 = 23; + static const jint G722 = 24; + static const jint G723 = 25; + static const jint G723_5BIT = 26; + static const jint ALAW = 27; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) headerSize; + jint fileSize; + jint encoding; + jint sampleRate; + jint channels; + jint sampleSizeInBits; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_sampled_AU_AUReader$AUHeader__ diff --git a/libjava/gnu/javax/sound/sampled/AU/AUReader.h b/libjava/gnu/javax/sound/sampled/AU/AUReader.h new file mode 100644 index 00000000000..d269e765772 --- /dev/null +++ b/libjava/gnu/javax/sound/sampled/AU/AUReader.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_sampled_AU_AUReader__ +#define __gnu_javax_sound_sampled_AU_AUReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace sampled + { + namespace AU + { + class AUReader; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat; + class AudioInputStream; + } + } + } +} + +class gnu::javax::sound::sampled::AU::AUReader : public ::javax::sound::sampled::spi::AudioFileReader +{ + +public: + AUReader(); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_sampled_AU_AUReader__ diff --git a/libjava/gnu/javax/sound/sampled/WAV/WAVReader.h b/libjava/gnu/javax/sound/sampled/WAV/WAVReader.h new file mode 100644 index 00000000000..3756d5d8374 --- /dev/null +++ b/libjava/gnu/javax/sound/sampled/WAV/WAVReader.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_sound_sampled_WAV_WAVReader__ +#define __gnu_javax_sound_sampled_WAV_WAVReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace sound + { + namespace sampled + { + namespace WAV + { + class WAVReader; + } + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat; + class AudioInputStream; + } + } + } +} + +class gnu::javax::sound::sampled::WAV::WAVReader : public ::javax::sound::sampled::spi::AudioFileReader +{ + +public: + WAVReader(); +private: + static jlong readUnsignedIntLE(::java::io::DataInputStream *); + static jshort readUnsignedShortLE(::java::io::DataInputStream *); +public: + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_sound_sampled_WAV_WAVReader__ diff --git a/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h new file mode 100644 index 00000000000..cb81ed002d7 --- /dev/null +++ b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_plaf_gnu_GNULookAndFeel$CheckBoxIcon__ +#define __gnu_javax_swing_plaf_gnu_GNULookAndFeel$CheckBoxIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace plaf + { + namespace gnu + { + class GNULookAndFeel$CheckBoxIcon; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } +} + +class gnu::javax::swing::plaf::gnu::GNULookAndFeel$CheckBoxIcon : public ::java::lang::Object +{ + +public: // actually package-private + GNULookAndFeel$CheckBoxIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_plaf_gnu_GNULookAndFeel$CheckBoxIcon__ diff --git a/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h new file mode 100644 index 00000000000..7bf88f4501e --- /dev/null +++ b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_plaf_gnu_GNULookAndFeel$RadioButtonIcon__ +#define __gnu_javax_swing_plaf_gnu_GNULookAndFeel$RadioButtonIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace plaf + { + namespace gnu + { + class GNULookAndFeel$RadioButtonIcon; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } +} + +class gnu::javax::swing::plaf::gnu::GNULookAndFeel$RadioButtonIcon : public ::java::lang::Object +{ + +public: // actually package-private + GNULookAndFeel$RadioButtonIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_plaf_gnu_GNULookAndFeel$RadioButtonIcon__ diff --git a/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h new file mode 100644 index 00000000000..5aacc5f6f0f --- /dev/null +++ b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_plaf_gnu_GNULookAndFeel__ +#define __gnu_javax_swing_plaf_gnu_GNULookAndFeel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace plaf + { + namespace gnu + { + class GNULookAndFeel; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + class UIDefaults; + } + } +} + +class gnu::javax::swing::plaf::gnu::GNULookAndFeel : public ::javax::swing::plaf::basic::BasicLookAndFeel +{ + +public: + GNULookAndFeel(); + virtual jboolean isNativeLookAndFeel(); + virtual jboolean isSupportedLookAndFeel(); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getID(); + virtual ::java::lang::String * getName(); + virtual ::javax::swing::UIDefaults * getDefaults(); +public: // actually package-private + static ::java::awt::Color * blueGray; + static ::javax::swing::UIDefaults * LAF_defaults; +private: + static ::java::lang::String * iconspath; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_plaf_gnu_GNULookAndFeel__ diff --git a/libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h b/libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h new file mode 100644 index 00000000000..86f273af80a --- /dev/null +++ b/libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_plaf_metal_CustomizableTheme__ +#define __gnu_javax_swing_plaf_metal_CustomizableTheme__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class CustomizableTheme; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class ColorUIResource; + } + } + } +} + +class gnu::javax::swing::plaf::metal::CustomizableTheme : public ::javax::swing::plaf::metal::DefaultMetalTheme +{ + +public: + CustomizableTheme(); + virtual void setPrimary1(::java::awt::Color *); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary1(); + virtual void setPrimary2(::java::awt::Color *); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary2(); + virtual void setPrimary3(::java::awt::Color *); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary3(); + virtual void setSecondary1(::java::awt::Color *); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary1(); + virtual void setSecondary2(::java::awt::Color *); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary2(); + virtual void setSecondary3(::java::awt::Color *); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary3(); + virtual ::java::lang::Object * clone(); +private: + ::javax::swing::plaf::ColorUIResource * __attribute__((aligned(__alignof__( ::javax::swing::plaf::metal::DefaultMetalTheme)))) primary1; + ::javax::swing::plaf::ColorUIResource * primary2; + ::javax::swing::plaf::ColorUIResource * primary3; + ::javax::swing::plaf::ColorUIResource * secondary1; + ::javax::swing::plaf::ColorUIResource * secondary2; + ::javax::swing::plaf::ColorUIResource * secondary3; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_plaf_metal_CustomizableTheme__ diff --git a/libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h b/libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h new file mode 100644 index 00000000000..72939f5fbf4 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_CharacterAttributeTranslator__ +#define __gnu_javax_swing_text_html_CharacterAttributeTranslator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class CharacterAttributeTranslator; + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + } + } + } + } +} + +class gnu::javax::swing::text::html::CharacterAttributeTranslator : public ::java::lang::Object +{ + +public: + CharacterAttributeTranslator(); + static ::java::awt::Color * getColor(::java::lang::String *); + static jboolean translateTag(::javax::swing::text::MutableAttributeSet *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +private: + static ::java::util::HashMap * colorMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_CharacterAttributeTranslator__ diff --git a/libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h b/libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h new file mode 100644 index 00000000000..26a3386ff5d --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_CombinedAttributes$CombinedEnumeration__ +#define __gnu_javax_swing_text_html_CombinedAttributes$CombinedEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class CombinedAttributes; + class CombinedAttributes$CombinedEnumeration; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::CombinedAttributes$CombinedEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + CombinedAttributes$CombinedEnumeration(::gnu::javax::swing::text::html::CombinedAttributes *, ::java::util::Enumeration *, ::java::util::Enumeration *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::Enumeration * __attribute__((aligned(__alignof__( ::java::lang::Object)))) a; + ::java::util::Enumeration * b; + ::gnu::javax::swing::text::html::CombinedAttributes * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_CombinedAttributes$CombinedEnumeration__ diff --git a/libjava/gnu/javax/swing/text/html/CombinedAttributes.h b/libjava/gnu/javax/swing/text/html/CombinedAttributes.h new file mode 100644 index 00000000000..69ed22976ab --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/CombinedAttributes.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_CombinedAttributes__ +#define __gnu_javax_swing_text_html_CombinedAttributes__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class CombinedAttributes; + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class gnu::javax::swing::text::html::CombinedAttributes : public ::java::lang::Object +{ + +public: + static ::javax::swing::text::AttributeSet * combine(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *); +private: + CombinedAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *); +public: + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); +public: // actually package-private + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) a; + ::javax::swing::text::AttributeSet * b; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_CombinedAttributes__ diff --git a/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h new file mode 100644 index 00000000000..b0f39ebf9e7 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_ImageViewIconFactory$LoadingImageIcon__ +#define __gnu_javax_swing_text_html_ImageViewIconFactory$LoadingImageIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ImageViewIconFactory$LoadingImageIcon; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } +} + +class gnu::javax::swing::text::html::ImageViewIconFactory$LoadingImageIcon : public ::java::lang::Object +{ + +public: + ImageViewIconFactory$LoadingImageIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_ImageViewIconFactory$LoadingImageIcon__ diff --git a/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h new file mode 100644 index 00000000000..d25a5fe2983 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_ImageViewIconFactory$NoImageIcon__ +#define __gnu_javax_swing_text_html_ImageViewIconFactory$NoImageIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ImageViewIconFactory$NoImageIcon; + } + } + } + } + } + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } +} + +class gnu::javax::swing::text::html::ImageViewIconFactory$NoImageIcon : public ::java::lang::Object +{ + +public: + ImageViewIconFactory$NoImageIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_ImageViewIconFactory$NoImageIcon__ diff --git a/libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h new file mode 100644 index 00000000000..3357a92cff8 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_ImageViewIconFactory__ +#define __gnu_javax_swing_text_html_ImageViewIconFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ImageViewIconFactory; + } + } + } + } + } + namespace javax + { + namespace swing + { + class Icon; + } + } +} + +class gnu::javax::swing::text::html::ImageViewIconFactory : public ::java::lang::Object +{ + +public: + ImageViewIconFactory(); + static ::javax::swing::Icon * getNoImageIcon(); + static ::javax::swing::Icon * getLoadingImageIcon(); +private: + static ::javax::swing::Icon * noImageIcon; + static ::javax::swing::Icon * loadingImageIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_ImageViewIconFactory__ diff --git a/libjava/gnu/javax/swing/text/html/css/BorderStyle.h b/libjava/gnu/javax/swing/text/html/css/BorderStyle.h new file mode 100644 index 00000000000..e8efa108fad --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/BorderStyle.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_BorderStyle__ +#define __gnu_javax_swing_text_html_css_BorderStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class BorderStyle; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::BorderStyle : public ::java::lang::Object +{ + +public: + BorderStyle(); + static jboolean isValidStyle(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_BorderStyle__ diff --git a/libjava/gnu/javax/swing/text/html/css/BorderWidth.h b/libjava/gnu/javax/swing/text/html/css/BorderWidth.h new file mode 100644 index 00000000000..ce2878788bf --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/BorderWidth.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_BorderWidth__ +#define __gnu_javax_swing_text_html_css_BorderWidth__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class BorderWidth; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::BorderWidth : public ::gnu::javax::swing::text::html::css::Length +{ + +public: + BorderWidth(::java::lang::String *); + static jboolean isValid(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_BorderWidth__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSColor.h b/libjava/gnu/javax/swing/text/html/css/CSSColor.h new file mode 100644 index 00000000000..6896930e930 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSColor.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSColor__ +#define __gnu_javax_swing_text_html_css_CSSColor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSColor; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Color; + } + } +} + +class gnu::javax::swing::text::html::css::CSSColor : public ::java::lang::Object +{ + +public: + CSSColor(::java::lang::String *); + static ::java::awt::Color * convertValue(::java::lang::String *); + virtual ::java::awt::Color * getValue(); + virtual ::java::lang::String * toString(); + static jboolean isValidColor(::java::lang::String *); +private: + static ::java::util::HashMap * COLOR_MAP; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + ::java::awt::Color * color; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_CSSColor__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h b/libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h new file mode 100644 index 00000000000..bcacf3220c2 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSLexicalException__ +#define __gnu_javax_swing_text_html_css_CSSLexicalException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSLexicalException; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::CSSLexicalException : public ::java::io::IOException +{ + +public: + CSSLexicalException(); + CSSLexicalException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_CSSLexicalException__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParser$1.h b/libjava/gnu/javax/swing/text/html/css/CSSParser$1.h new file mode 100644 index 00000000000..be6e19bcdd5 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSParser$1.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSParser$1__ +#define __gnu_javax_swing_text_html_css_CSSParser$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSParser$1; + class Selector; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::CSSParser$1 : public ::java::lang::Object +{ + +public: // actually package-private + CSSParser$1(); +public: + void startStatement(JArray< ::gnu::javax::swing::text::html::css::Selector * > *); + void endStatement(); + void declaration(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_CSSParser$1__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParser.h b/libjava/gnu/javax/swing/text/html/css/CSSParser.h new file mode 100644 index 00000000000..f7cb014251d --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSParser.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSParser__ +#define __gnu_javax_swing_text_html_css_CSSParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSParser; + class CSSParserCallback; + class CSSScanner; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::CSSParser : public ::java::lang::Object +{ + +public: + CSSParser(::java::io::Reader *, ::gnu::javax::swing::text::html::css::CSSParserCallback *); + virtual void parse(); +private: + jboolean parseStylesheet(); + jboolean parseStatement(); + jboolean parseRuleset(); + jboolean parseDeclaration(); + jboolean parseValue(::java::lang::StringBuilder *); + jboolean parseSelector(::java::lang::StringBuilder *); + jboolean parseAny(::java::lang::StringBuilder *); + jboolean parseAtRule(); + jint readToken(); + jint peekToken(); +public: + static void main(JArray< ::java::lang::String * > *); +private: + ::gnu::javax::swing::text::html::css::CSSScanner * __attribute__((aligned(__alignof__( ::java::lang::Object)))) scanner; + ::gnu::javax::swing::text::html::css::CSSParserCallback * callback; + jint lookahead; + ::java::lang::String * error; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_CSSParser__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h b/libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h new file mode 100644 index 00000000000..ce07b41e1b0 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSParserCallback__ +#define __gnu_javax_swing_text_html_css_CSSParserCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSParserCallback; + class Selector; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::CSSParserCallback : public ::java::lang::Object +{ + +public: + virtual void startStatement(JArray< ::gnu::javax::swing::text::html::css::Selector * > *) = 0; + virtual void endStatement() = 0; + virtual void declaration(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_javax_swing_text_html_css_CSSParserCallback__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParserException.h b/libjava/gnu/javax/swing/text/html/css/CSSParserException.h new file mode 100644 index 00000000000..9be56d4f3aa --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSParserException.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSParserException__ +#define __gnu_javax_swing_text_html_css_CSSParserException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSParserException; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::CSSParserException : public ::java::io::IOException +{ + +public: + CSSParserException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_CSSParserException__ diff --git a/libjava/gnu/javax/swing/text/html/css/CSSScanner.h b/libjava/gnu/javax/swing/text/html/css/CSSScanner.h new file mode 100644 index 00000000000..0e6d7c5f026 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/CSSScanner.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_CSSScanner__ +#define __gnu_javax_swing_text_html_css_CSSScanner__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class CSSScanner; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::CSSScanner : public ::java::lang::Object +{ + +public: // actually package-private + CSSScanner(::java::io::Reader *); + virtual jint nextToken(); + virtual ::java::lang::String * currentTokenString(); +private: + jint read(); + void readIdent(); + void readEscape(); + void readName(); + void readString(); + void readWhitespace(); + void readURI(); + void readComment(); + void readNum(); +public: + static void main(JArray< ::java::lang::String * > *); +public: // actually package-private + static const jint IDENT = 1; + static const jint ATKEYWORD = 2; + static const jint STRING = 3; + static const jint INVALID = 4; + static const jint HASH = 5; + static const jint NUMBER = 6; + static const jint PERCENTAGE = 7; + static const jint DIMENSION = 8; + static const jint URI = 9; + static const jint UNICODE_RANGE = 10; + static const jint CDO = 11; + static const jint CDC = 12; + static const jint SEMICOLON = 13; + static const jint CURLY_LEFT = 14; + static const jint CURLY_RIGHT = 15; + static const jint PAREN_LEFT = 16; + static const jint PAREN_RIGHT = 17; + static const jint BRACE_LEFT = 16; + static const jint BRACE_RIGHT = 17; + static const jint S = 18; + static const jint COMMENT = 19; + static const jint FUNCTION = 20; + static const jint INCLUDES = 21; + static const jint DASHMATCH = 22; + static const jint DELIM = 23; + static const jint EOF = -1; +private: + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; +public: // actually package-private + JArray< jchar > * parseBuffer; + jint tokenEnd; +private: + JArray< jint > * lookahead; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_CSSScanner__ diff --git a/libjava/gnu/javax/swing/text/html/css/FontSize.h b/libjava/gnu/javax/swing/text/html/css/FontSize.h new file mode 100644 index 00000000000..52c4087fa8f --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/FontSize.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_FontSize__ +#define __gnu_javax_swing_text_html_css_FontSize__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class FontSize; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::FontSize : public ::java::lang::Object +{ + +public: + FontSize(::java::lang::String *); + virtual jint getValue(jint); + virtual jint getValue(); +private: + jint mapValue(); + jint mapPoints(); + jint mapPixels(); + jint mapPercent(jint); + jint mapEM(jint); + jint mapSmaller(jint); + jint mapLarger(jint); + jint mapAbsolute(); +public: + virtual ::java::lang::String * toString(); +private: + jint mapRelative(jint); +public: + virtual jboolean isRelative(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + jint size; + jint sizeIndex; + jboolean isRelative__; +public: + static const jint DEFAULT_FONT_SIZE = 12; +private: + static JArray< jdouble > * SCALE; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_FontSize__ diff --git a/libjava/gnu/javax/swing/text/html/css/FontStyle.h b/libjava/gnu/javax/swing/text/html/css/FontStyle.h new file mode 100644 index 00000000000..b25be5b1ee4 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/FontStyle.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_FontStyle__ +#define __gnu_javax_swing_text_html_css_FontStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class FontStyle; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::FontStyle : public ::java::lang::Object +{ + +public: + FontStyle(::java::lang::String *); + virtual jint getValue(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_FontStyle__ diff --git a/libjava/gnu/javax/swing/text/html/css/FontWeight.h b/libjava/gnu/javax/swing/text/html/css/FontWeight.h new file mode 100644 index 00000000000..17adbbe9553 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/FontWeight.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_FontWeight__ +#define __gnu_javax_swing_text_html_css_FontWeight__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class FontWeight; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::FontWeight : public ::java::lang::Object +{ + +public: + FontWeight(::java::lang::String *); + virtual jint getValue(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_FontWeight__ diff --git a/libjava/gnu/javax/swing/text/html/css/Length.h b/libjava/gnu/javax/swing/text/html/css/Length.h new file mode 100644 index 00000000000..0eb88bff233 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/Length.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_Length__ +#define __gnu_javax_swing_text_html_css_Length__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Length; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::Length : public ::java::lang::Object +{ + +public: + Length(::java::lang::String *); + virtual jfloat getValue(); + virtual jfloat getValue(jfloat); + virtual void setEMBase(jfloat); + virtual void setEXBase(jfloat); + virtual void setFontBases(jfloat, jfloat); + virtual jboolean isFontEMRelative(); + virtual jboolean isFontEXRelative(); + virtual jboolean isPercentage(); + static jboolean isValid(::java::lang::String *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: // actually protected + jfloat floatValue; +private: + jboolean isPercentage__; + jboolean isFontEMRelative__; + jboolean isFontEXRelative__; + jfloat emBase; + jfloat exBase; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_Length__ diff --git a/libjava/gnu/javax/swing/text/html/css/Selector.h b/libjava/gnu/javax/swing/text/html/css/Selector.h new file mode 100644 index 00000000000..1f7103e976e --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/css/Selector.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_css_Selector__ +#define __gnu_javax_swing_text_html_css_Selector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Selector; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::css::Selector : public ::java::lang::Object +{ + +public: + Selector(::java::lang::String *); + virtual jboolean matches(JArray< ::java::lang::String * > *, JArray< ::java::util::Map * > *); + virtual jint getSpecificity(); + virtual ::java::lang::String * toString(); +private: + void calculateSpecificity(); + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) selector; + JArray< ::java::lang::String * > * elements; + JArray< ::java::lang::String * > * ids; + JArray< ::java::lang::String * > * classes; + jint specificity; + jboolean implicit; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_css_Selector__ diff --git a/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h new file mode 100644 index 00000000000..27fa3d0781d --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_GnuParserDelegator$gnuParser__ +#define __gnu_javax_swing_text_html_parser_GnuParserDelegator$gnuParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class GnuParserDelegator; + class GnuParserDelegator$gnuParser; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class TagElement; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::GnuParserDelegator$gnuParser : public ::gnu::javax::swing::text::html::parser::support::Parser +{ + +public: // actually package-private + GnuParserDelegator$gnuParser(::gnu::javax::swing::text::html::parser::GnuParserDelegator *, ::javax::swing::text::html::parser::DTD *); +public: // actually protected + virtual void handleComment(JArray< jchar > *); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleError(jint, ::java::lang::String *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); +public: // actually package-private + virtual ::javax::swing::text::html::parser::DTD * getDTD(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::gnu::javax::swing::text::html::parser::GnuParserDelegator * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::Parser)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_GnuParserDelegator$gnuParser__ diff --git a/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h new file mode 100644 index 00000000000..1eda52a21b3 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_GnuParserDelegator__ +#define __gnu_javax_swing_text_html_parser_GnuParserDelegator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class GnuParserDelegator; + class GnuParserDelegator$gnuParser; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTMLEditorKit$ParserCallback; + namespace parser + { + class DTD; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::GnuParserDelegator : public ::javax::swing::text::html::parser::ParserDelegator +{ + +public: + GnuParserDelegator(::javax::swing::text::html::parser::DTD *); + virtual void parse(::java::io::Reader *, ::javax::swing::text::html::HTMLEditorKit$ParserCallback *, jboolean); +private: + static const jlong serialVersionUID = -1276686502624777206LL; + ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::javax::swing::text::html::parser::ParserDelegator)))) theDtd; +public: // actually package-private + ::javax::swing::text::html::HTMLEditorKit$ParserCallback * callBack; + ::gnu::javax::swing::text::html::parser::GnuParserDelegator$gnuParser * gnu; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_GnuParserDelegator__ diff --git a/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h new file mode 100644 index 00000000000..8ef57c70b31 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h @@ -0,0 +1,330 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_HTML_401F__ +#define __gnu_javax_swing_text_html_parser_HTML_401F__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class HTML_401F; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class ContentModel; + class DTD; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::HTML_401F : public ::gnu::javax::swing::text::html::parser::gnuDTD +{ + +public: // actually protected + HTML_401F(); +public: + static ::javax::swing::text::html::parser::DTD * getInstance(); +public: // actually protected + virtual void defineElements(); + virtual void defineEntities(); + virtual ::javax::swing::text::html::parser::ContentModel * model(::java::lang::String *); +private: + ::javax::swing::text::html::parser::ContentModel * model(::java::lang::String *, jint); +public: // actually protected + virtual ::javax::swing::text::html::parser::ContentModel * createHtmlContentModel(); + virtual ::javax::swing::text::html::parser::ContentModel * createTableContentModel(); + virtual ::javax::swing::text::html::parser::ContentModel * createDefListModel(); + virtual ::javax::swing::text::html::parser::ContentModel * createListModel(); + virtual JArray< ::java::lang::String * > * getBodyElements(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::String * DTD_NAME; +public: // actually package-private + static const jint PIXELS = 12; + static JArray< ::java::lang::String * > * NONE; + static ::java::lang::String * PCDATA; + static ::java::lang::String * A; + static ::java::lang::String * ABBR; + static ::java::lang::String * ACRONYM; + static ::java::lang::String * ADDRESS; + static ::java::lang::String * APPLET; + static ::java::lang::String * AREA; + static ::java::lang::String * B; + static ::java::lang::String * BASE; + static ::java::lang::String * BASEFONT; + static ::java::lang::String * BDO; + static ::java::lang::String * BIG; + static ::java::lang::String * BLOCKQUOTE; + static ::java::lang::String * BODY; + static ::java::lang::String * BR; + static ::java::lang::String * BUTTON; + static ::java::lang::String * CAPTION; + static ::java::lang::String * CENTER; + static ::java::lang::String * CITE; + static ::java::lang::String * CODE; + static ::java::lang::String * COL; + static ::java::lang::String * COLGROUP; + static ::java::lang::String * DEFAULTS; + static ::java::lang::String * DD; + static ::java::lang::String * DEL; + static ::java::lang::String * DFN; + static ::java::lang::String * DIR; + static ::java::lang::String * DIV; + static ::java::lang::String * DL; + static ::java::lang::String * DT; + static ::java::lang::String * EM; + static ::java::lang::String * FIELDSET; + static ::java::lang::String * FONT; + static ::java::lang::String * FORM; + static ::java::lang::String * FRAME; + static ::java::lang::String * FRAMESET; + static ::java::lang::String * H1; + static ::java::lang::String * H2; + static ::java::lang::String * H3; + static ::java::lang::String * H4; + static ::java::lang::String * H5; + static ::java::lang::String * H6; + static ::java::lang::String * HEAD; + static ::java::lang::String * HR; + static ::java::lang::String * HTML; + static ::java::lang::String * I; + static ::java::lang::String * IFRAME; + static ::java::lang::String * IMG; + static ::java::lang::String * INPUT; + static ::java::lang::String * INS; + static ::java::lang::String * ISINDEX; + static ::java::lang::String * KBD; + static ::java::lang::String * LABEL; + static ::java::lang::String * LEGEND; + static ::java::lang::String * LI; + static ::java::lang::String * LINK; + static ::java::lang::String * MAP; + static ::java::lang::String * MENU; + static ::java::lang::String * META; + static ::java::lang::String * NOFRAMES; + static ::java::lang::String * NOSCRIPT; + static ::java::lang::String * NONES; + static ::java::lang::String * sNAME; + static ::java::lang::String * OBJECT; + static ::java::lang::String * OL; + static ::java::lang::String * OPTGROUP; + static ::java::lang::String * OPTION; + static ::java::lang::String * P; + static ::java::lang::String * PARAM; + static ::java::lang::String * PRE; + static ::java::lang::String * Q; + static ::java::lang::String * S; + static ::java::lang::String * SAMP; + static ::java::lang::String * SCRIPT; + static ::java::lang::String * SELECT; + static ::java::lang::String * SMALL; + static ::java::lang::String * SPAN; + static ::java::lang::String * STRIKE; + static ::java::lang::String * STRONG; + static ::java::lang::String * STYLE; + static ::java::lang::String * SUB; + static ::java::lang::String * SUP; + static ::java::lang::String * TABLE; + static ::java::lang::String * TBODY; + static ::java::lang::String * TD; + static ::java::lang::String * TEXTAREA; + static ::java::lang::String * TFOOT; + static ::java::lang::String * TH; + static ::java::lang::String * THEAD; + static ::java::lang::String * TITLE; + static ::java::lang::String * TR; + static ::java::lang::String * TT; + static ::java::lang::String * U; + static ::java::lang::String * UL; + static ::java::lang::String * VAR; + static ::java::lang::String * C_0; + static ::java::lang::String * C_1; + static ::java::lang::String * CHECKBOX; + static ::java::lang::String * DATA; + static ::java::lang::String * FILE; + static ::java::lang::String * GET; + static ::java::lang::String * HIDDEN; + static ::java::lang::String * IMAGE; + static ::java::lang::String * PASSWORD; + static ::java::lang::String * POST; + static ::java::lang::String * RADIO; + static ::java::lang::String * REF; + static ::java::lang::String * RESET; + static ::java::lang::String * SUBMIT; + static ::java::lang::String * TEXT; + static ::java::lang::String * ABOVE; + static ::java::lang::String * ACCEPT; + static ::java::lang::String * ACCEPTCHARSET; + static ::java::lang::String * ACCESSKEY; + static ::java::lang::String * ACTION; + static ::java::lang::String * ALIGN; + static ::java::lang::String * ALINK; + static ::java::lang::String * ALL; + static ::java::lang::String * ALT; + static ::java::lang::String * APPLICATION_X_WWW_FORM_URLENCODED; + static ::java::lang::String * ARCHIVE; + static ::java::lang::String * AUTO; + static ::java::lang::String * AXIS; + static ::java::lang::String * BACKGROUND; + static ::java::lang::String * BASELINE; + static ::java::lang::String * BELOW; + static ::java::lang::String * BGCOLOR; + static ::java::lang::String * BORDER; + static ::java::lang::String * BOTTOM; + static ::java::lang::String * BOX; + static ::java::lang::String * CELLPADDING; + static ::java::lang::String * CELLSPACING; + static ::java::lang::String * CHAR; + static ::java::lang::String * CHAROFF; + static ::java::lang::String * CHARSET; + static ::java::lang::String * CHECKED; + static ::java::lang::String * CIRCLE; + static ::java::lang::String * CLASS; + static ::java::lang::String * CLASSID; + static ::java::lang::String * CLEAR; + static ::java::lang::String * CODEBASE; + static ::java::lang::String * CODETYPE; + static ::java::lang::String * COLOR; + static ::java::lang::String * COLS; + static ::java::lang::String * COLSPAN; + static ::java::lang::String * COMPACT; + static ::java::lang::String * CONTENT; + static ::java::lang::String * COORDS; + static ::java::lang::String * DATAPAGESIZE; + static ::java::lang::String * DATETIME; + static ::java::lang::String * DECLARE; + static ::java::lang::String * DEFER; + static ::java::lang::String * DISABLED; + static ::java::lang::String * DISC; + static ::java::lang::String * ENCTYPE; + static ::java::lang::String * EVENT; + static ::java::lang::String * FACE; + static ::java::lang::String * FOR; + static ::java::lang::String * FRAMEBORDER; + static ::java::lang::String * GROUPS; + static ::java::lang::String * HEADERS; + static ::java::lang::String * HEIGHT; + static ::java::lang::String * HREF; + static ::java::lang::String * HREFLANG; + static ::java::lang::String * HSIDES; + static ::java::lang::String * HSPACE; + static ::java::lang::String * HTTPEQUIV; + static ::java::lang::String * sID; + static ::java::lang::String * ISMAP; + static ::java::lang::String * JUSTIFY; + static ::java::lang::String * LANG; + static ::java::lang::String * LANGUAGE; + static ::java::lang::String * LEFT; + static ::java::lang::String * LHS; + static ::java::lang::String * LONGDESC; + static ::java::lang::String * LTR; + static ::java::lang::String * MARGINHEIGHT; + static ::java::lang::String * MARGINWIDTH; + static ::java::lang::String * MAXLENGTH; + static ::java::lang::String * MEDIA; + static ::java::lang::String * METHOD; + static ::java::lang::String * MIDDLE; + static ::java::lang::String * MULTIPLE; + static ::java::lang::String * NO; + static ::java::lang::String * NOHREF; + static ::java::lang::String * NORESIZE; + static ::java::lang::String * NOSHADE; + static ::java::lang::String * NOWRAP; + static ::java::lang::String * ONBLUR; + static ::java::lang::String * ONCHANGE; + static ::java::lang::String * ONCLICK; + static ::java::lang::String * ONDBLCLICK; + static ::java::lang::String * ONFOCUS; + static ::java::lang::String * ONKEYDOWN; + static ::java::lang::String * ONKEYPRESS; + static ::java::lang::String * ONKEYUP; + static ::java::lang::String * ONLOAD; + static ::java::lang::String * ONMOUSEDOWN; + static ::java::lang::String * ONMOUSEMOVE; + static ::java::lang::String * ONMOUSEOUT; + static ::java::lang::String * ONMOUSEOVER; + static ::java::lang::String * ONMOUSEUP; + static ::java::lang::String * ONRESET; + static ::java::lang::String * ONSELECT; + static ::java::lang::String * ONSUBMIT; + static ::java::lang::String * ONUNLOAD; + static ::java::lang::String * POLY; + static ::java::lang::String * PROFILE; + static ::java::lang::String * PROMPT; + static ::java::lang::String * READONLY; + static ::java::lang::String * RECT; + static ::java::lang::String * REL; + static ::java::lang::String * REV; + static ::java::lang::String * RHS; + static ::java::lang::String * RIGHT; + static ::java::lang::String * ROW; + static ::java::lang::String * ROWGROUP; + static ::java::lang::String * ROWS; + static ::java::lang::String * ROWSPAN; + static ::java::lang::String * RTL; + static ::java::lang::String * RULES; + static ::java::lang::String * SCHEME; + static ::java::lang::String * SCOPE; + static ::java::lang::String * SCROLLING; + static ::java::lang::String * SELECTED; + static ::java::lang::String * SHAPE; + static ::java::lang::String * SIZE; + static ::java::lang::String * SQUARE; + static ::java::lang::String * SRC; + static ::java::lang::String * STANDBY; + static ::java::lang::String * START; + static ::java::lang::String * SUMMARY; + static ::java::lang::String * TABINDEX; + static ::java::lang::String * TARGET; + static ::java::lang::String * TOP; + static ::java::lang::String * TYPE; + static ::java::lang::String * USEMAP; + static ::java::lang::String * VALIGN; + static ::java::lang::String * VALUE; + static ::java::lang::String * VALUETYPE; + static ::java::lang::String * VERSION; + static ::java::lang::String * VLINK; + static ::java::lang::String * VOID; + static ::java::lang::String * VSIDES; + static ::java::lang::String * VSPACE; + static ::java::lang::String * WIDTH; + static ::java::lang::String * YES; + static JArray< ::java::lang::String * > * BLOCK; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_HTML_401F__ diff --git a/libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h b/libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h new file mode 100644 index 00000000000..621eed594f1 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_HTML_401Swing__ +#define __gnu_javax_swing_text_html_parser_HTML_401Swing__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class HTML_401Swing; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::HTML_401Swing : public ::gnu::javax::swing::text::html::parser::HTML_401F +{ + +public: + HTML_401Swing(); + static ::javax::swing::text::html::parser::DTD * getInstance(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getBodyElements(); +public: // actually package-private + static ::gnu::javax::swing::text::html::parser::HTML_401Swing * singleton; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_HTML_401Swing__ diff --git a/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h new file mode 100644 index 00000000000..8f65e05beec --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet$1__ +#define __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class SmallHtmlAttributeSet; + class SmallHtmlAttributeSet$1; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet$1 : public ::java::lang::Object +{ + +public: // actually package-private + SmallHtmlAttributeSet$1(::gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + ::gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet$1__ diff --git a/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h new file mode 100644 index 00000000000..c1aedde8462 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet__ +#define __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class SmallHtmlAttributeSet; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet : public ::java::lang::Object +{ + +public: + SmallHtmlAttributeSet(::javax::swing::text::AttributeSet *); + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); +public: // actually protected + virtual ::java::lang::Object * clone(); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keys; + JArray< ::java::lang::Object * > * values; + ::javax::swing::text::AttributeSet * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet__ diff --git a/libjava/gnu/javax/swing/text/html/parser/gnuDTD.h b/libjava/gnu/javax/swing/text/html/parser/gnuDTD.h new file mode 100644 index 00000000000..33642e3353a --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/gnuDTD.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_gnuDTD__ +#define __gnu_javax_swing_text_html_parser_gnuDTD__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class gnuDTD; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class AttributeList; + class ContentModel; + class Element; + class Entity; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::gnuDTD : public ::javax::swing::text::html::parser::DTD +{ + +public: + gnuDTD(::java::lang::String *); + virtual ::javax::swing::text::html::parser::AttributeList * defAttributeList(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *, ::javax::swing::text::html::parser::AttributeList *); + virtual void defAttrsFor(::java::lang::String *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::ContentModel * defContentModel(jint, ::java::lang::Object *, ::javax::swing::text::html::parser::ContentModel *); + virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, ::java::util::Collection *, ::java::util::Collection *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::javax::swing::text::html::parser::AttributeList * > *); + virtual ::javax::swing::text::html::parser::Entity * defEntity(::java::lang::String *, jint, ::java::lang::String *); + virtual void dump(::java::io::PrintStream *); + virtual void dump(::java::util::BitSet *); +public: // actually protected + virtual ::javax::swing::text::html::parser::AttributeList * attr(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, jint, jint); + virtual void defineEntity(::java::lang::String *, jint); +private: + JArray< ::java::lang::String * > * toStringArray(::java::util::Collection *); +public: + static const jint URI = 512; + static const jint Length = 513; + static const jint Char = 514; + static const jint Color = 515; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_gnuDTD__ diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h new file mode 100644 index 00000000000..7074e629381 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_htmlAttributeSet$1__ +#define __gnu_javax_swing_text_html_parser_htmlAttributeSet$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class htmlAttributeSet; + class htmlAttributeSet$1; + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::htmlAttributeSet$1 : public ::java::lang::Object +{ + +public: // actually package-private + htmlAttributeSet$1(::gnu::javax::swing::text::html::parser::htmlAttributeSet *, ::java::util::Enumeration *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::gnu::javax::swing::text::html::parser::htmlAttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::util::Enumeration * val$enumeration; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_htmlAttributeSet$1__ diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h new file mode 100644 index 00000000000..e981c4f0294 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_htmlAttributeSet__ +#define __gnu_javax_swing_text_html_parser_htmlAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class htmlAttributeSet; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class gnu::javax::swing::text::html::parser::htmlAttributeSet : public ::javax::swing::text::SimpleAttributeSet +{ + +public: + htmlAttributeSet(); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual void setResolveParent(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual ::java::lang::Object * clone(); + static ::gnu::javax::swing::text::html::parser::htmlAttributeSet * EMPTY_HTML_ATTRIBUTE_SET; +public: // actually package-private + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::SimpleAttributeSet)))) parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_htmlAttributeSet__ diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h b/libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h new file mode 100644 index 00000000000..eff505b40bc --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_htmlValidator$hTag__ +#define __gnu_javax_swing_text_html_parser_htmlValidator$hTag__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class htmlValidator; + class htmlValidator$hTag; + namespace models + { + class node; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTML$Tag; + namespace parser + { + class Element; + class TagElement; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::htmlValidator$hTag : public ::java::lang::Object +{ + +public: // actually protected + htmlValidator$hTag(::gnu::javax::swing::text::html::parser::htmlValidator *, ::javax::swing::text::html::parser::TagElement *); + virtual void forciblyCloseDueContext(); + virtual void forciblyCloseDueEndOfStream(); + ::javax::swing::text::html::parser::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) element; + ::javax::swing::text::html::HTML$Tag * tag; + ::javax::swing::text::html::parser::TagElement * tgElement; + jboolean forcibly_closed; + ::gnu::javax::swing::text::html::parser::models::node * validationTrace; +public: // actually package-private + ::gnu::javax::swing::text::html::parser::htmlValidator * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_htmlValidator$hTag__ diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlValidator.h b/libjava/gnu/javax/swing/text/html/parser/htmlValidator.h new file mode 100644 index 00000000000..9236c14e45a --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/htmlValidator.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_htmlValidator__ +#define __gnu_javax_swing_text_html_parser_htmlValidator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class htmlAttributeSet; + class htmlValidator; + namespace models + { + class node; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class AttributeList; + class DTD; + class Element; + class TagElement; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::htmlValidator : public ::java::lang::Object +{ + +public: + htmlValidator(::javax::swing::text::html::parser::DTD *); + virtual void closeAll(); + virtual jboolean closeTag(::javax::swing::text::html::parser::TagElement *); + virtual void openTag(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *); + virtual void restart(); + virtual ::java::lang::Object * tagIsValidForContext(::javax::swing::text::html::parser::TagElement *); + virtual void validateTag(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *); +public: // actually protected + virtual void checkContentModel(::javax::swing::text::html::parser::TagElement *, jboolean); + virtual void handleSupposedEndTag(::javax::swing::text::html::parser::Element *) = 0; + virtual void handleSupposedStartTag(::javax::swing::text::html::parser::Element *) = 0; + virtual void s_error(::java::lang::String *) = 0; + virtual void validateParameters(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *); +private: + ::gnu::javax::swing::text::html::parser::models::node * getCurrentContentModel(); + void closeLast(); + void openFictionalTag(::javax::swing::text::html::parser::Element *); + void validateAttribute(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *, ::java::util::Enumeration *); + void validateAttributeWithValueList(::javax::swing::text::html::parser::TagElement *, ::java::lang::Object *, ::javax::swing::text::html::parser::AttributeList *, ::java::lang::String *); + void validateNameOrIdAttribute(::javax::swing::text::html::parser::TagElement *, ::java::lang::Object *, ::java::lang::String *); + void validateNumberAttribute(::javax::swing::text::html::parser::TagElement *, ::java::lang::Object *, ::java::lang::String *); +public: // actually protected + ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dtd; + ::java::util::LinkedList * stack; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_htmlValidator__ diff --git a/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h b/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h new file mode 100644 index 00000000000..b83079044f4 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__ +#define __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace models + { + class PCDATAonly_model; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::models::PCDATAonly_model : public ::gnu::javax::swing::text::html::parser::models::node +{ + +public: + PCDATAonly_model(); + virtual ::java::lang::Object * show(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__ diff --git a/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h b/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h new file mode 100644 index 00000000000..6be57a051c9 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_models_TableRowContentModel__ +#define __gnu_javax_swing_text_html_parser_models_TableRowContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace models + { + class TableRowContentModel; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class Element; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::models::TableRowContentModel : public ::gnu::javax::swing::text::html::parser::models::node +{ + +public: + TableRowContentModel(::javax::swing::text::html::parser::DTD *); + virtual ::java::lang::Object * show(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::javax::swing::text::html::parser::Element * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::models::node)))) TD; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_models_TableRowContentModel__ diff --git a/libjava/gnu/javax/swing/text/html/parser/models/list.h b/libjava/gnu/javax/swing/text/html/parser/models/list.h new file mode 100644 index 00000000000..6ddb166d00d --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/models/list.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_models_list__ +#define __gnu_javax_swing_text_html_parser_models_list__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace models + { + class list; + class node; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::models::list : public ::gnu::javax::swing::text::html::parser::models::node +{ + +public: + list(jchar, jchar, JArray< ::gnu::javax::swing::text::html::parser::models::node * > *); + list(JArray< ::gnu::javax::swing::text::html::parser::models::node * > *); + virtual jboolean isClosed(); + virtual ::java::lang::Object * findFreeNode(); + virtual jboolean matches(JArray< ::java::lang::Object * > *); + virtual jboolean mustClose(); + virtual jboolean performMatch(::java::lang::Object *); + virtual void reset(); + virtual ::java::lang::Object * show(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual jboolean valid(); + virtual jboolean validPreliminary(); +public: // actually protected + virtual void close(); + virtual jboolean compare(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; +public: + static jboolean CLEAR; + JArray< ::gnu::javax::swing::text::html::parser::models::node * > * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::models::node)))) nodes; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_models_list__ diff --git a/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h b/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h new file mode 100644 index 00000000000..85320f40805 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_models_noTagModel__ +#define __gnu_javax_swing_text_html_parser_models_noTagModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace models + { + class noTagModel; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::models::noTagModel : public ::gnu::javax::swing::text::html::parser::models::node +{ + +public: + noTagModel(JArray< ::java::lang::String * > *); + noTagModel(::java::lang::String *); + virtual ::java::lang::Object * show(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::models::node)))) no; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_models_noTagModel__ diff --git a/libjava/gnu/javax/swing/text/html/parser/models/node.h b/libjava/gnu/javax/swing/text/html/parser/models/node.h new file mode 100644 index 00000000000..a0b135c9a86 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/models/node.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_models_node__ +#define __gnu_javax_swing_text_html_parser_models_node__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace models + { + class node; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::models::node : public ::java::lang::Object +{ + +public: + node(jchar, jchar, ::java::lang::Object *); + virtual jboolean isClosed(); + virtual jboolean closePrevious(); + virtual ::java::lang::Object * findFreeNode(); + virtual jboolean mustClose(); + virtual jboolean performMatch(::java::lang::Object *); + virtual void reset(); + virtual ::java::lang::Object * show(::java::lang::Object *); + virtual jboolean silenceAllowed(); + virtual ::java::lang::String * toString(); + virtual jboolean valid(); + virtual jboolean validPreliminary(); +public: // actually protected + virtual void close(); + virtual jboolean compare(::java::lang::Object *); + virtual void matches(); +private: + static const jlong serialVersionUID = 1LL; +public: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) token; + jboolean _closed; + jchar binary; + jchar unary; + jint visits; + ::gnu::javax::swing::text::html::parser::models::node * previous; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_models_node__ diff --git a/libjava/gnu/javax/swing/text/html/parser/models/transformer.h b/libjava/gnu/javax/swing/text/html/parser/models/transformer.h new file mode 100644 index 00000000000..6f6470de346 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/models/transformer.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_models_transformer__ +#define __gnu_javax_swing_text_html_parser_models_transformer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace models + { + class node; + class transformer; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class ContentModel; + class DTD; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::models::transformer : public ::java::lang::Object +{ + +public: + transformer(); + static jint measureChainLength(::javax::swing::text::html::parser::ContentModel *); + static ::gnu::javax::swing::text::html::parser::models::node * transform(::javax::swing::text::html::parser::ContentModel *); + static ::gnu::javax::swing::text::html::parser::models::node * transform(::javax::swing::text::html::parser::ContentModel *, ::javax::swing::text::html::parser::DTD *); +private: + static jboolean isBinary(jint); + static jboolean isUnary(jint); + static void addtype(::gnu::javax::swing::text::html::parser::models::node *, jchar); + static ::gnu::javax::swing::text::html::parser::models::node * optionalTransform(::javax::swing::text::html::parser::ContentModel *, ::javax::swing::text::html::parser::DTD *); + static const jlong serialVersionUID = 1LL; +public: // actually protected + static ::java::lang::String * binary; + static ::java::lang::String * unary; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_models_transformer__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h b/libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h new file mode 100644 index 00000000000..5483b5a57ea --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_Parser$1__ +#define __gnu_javax_swing_text_html_parser_support_Parser$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class Parser; + class Parser$1; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::Parser$1 : public ::java::lang::Object +{ + +public: // actually package-private + Parser$1(::gnu::javax::swing::text::html::parser::support::Parser *); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ::gnu::javax::swing::text::html::parser::support::Parser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_Parser$1__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h b/libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h new file mode 100644 index 00000000000..ba78f9c73fc --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_Parser$2__ +#define __gnu_javax_swing_text_html_parser_support_Parser$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class Parser; + class Parser$2; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class Element; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::Parser$2 : public ::gnu::javax::swing::text::html::parser::htmlValidator +{ + +public: // actually package-private + Parser$2(::gnu::javax::swing::text::html::parser::support::Parser *, ::javax::swing::text::html::parser::DTD *); +public: // actually protected + void s_error(::java::lang::String *); + void handleSupposedEndTag(::javax::swing::text::html::parser::Element *); + void handleSupposedStartTag(::javax::swing::text::html::parser::Element *); +public: // actually package-private + ::gnu::javax::swing::text::html::parser::support::Parser * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::htmlValidator)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_Parser$2__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser.h b/libjava/gnu/javax/swing/text/html/parser/support/Parser.h new file mode 100644 index 00000000000..3bdc172d487 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/Parser.h @@ -0,0 +1,154 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_Parser__ +#define __gnu_javax_swing_text_html_parser_support_Parser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class htmlAttributeSet; + class htmlValidator; + namespace support + { + class Parser; + namespace low + { + class Token; + class pattern; + } + class parameterDefaulter; + class textPreProcessor; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class SimpleAttributeSet; + namespace html + { + class HTML$Tag; + namespace parser + { + class DTD; + class Element; + class TagElement; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::Parser : public ::gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer +{ + +public: + Parser(::javax::swing::text::html::parser::DTD *); + virtual ::javax::swing::text::SimpleAttributeSet * getAttributes(); + virtual void error(::java::lang::String *); + virtual void error(::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Token *); + virtual void error(::java::lang::String *, ::java::lang::String *); + virtual void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void flushAttributes(); + virtual void parse(::java::io::Reader *); + virtual ::java::lang::String * parseDTDMarkup(); + virtual jboolean parseMarkupDeclarations(::java::lang::StringBuffer *); +public: // actually protected + virtual jint getCurrentLine(); + virtual void CDATA(jboolean); + virtual void Comment(); + virtual void Script(); + virtual void Sgml(); + virtual void Style(); + virtual void Tag(); + virtual void _handleText(); + virtual void append(::gnu::javax::swing::text::html::parser::support::low::Token *); + virtual void consume(::gnu::javax::swing::text::html::parser::support::low::pattern *); + virtual void endTag(jboolean); + virtual void handleComment(JArray< jchar > *); + virtual void handleEOFInComment(); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleError(jint, ::java::lang::String *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); + virtual void handleTitle(JArray< jchar > *); + virtual ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *); + virtual ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *, jboolean); + virtual void markFirstTime(::javax::swing::text::html::parser::Element *); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * mustBe(jint); + virtual void noValueAttribute(::java::lang::String *, ::java::lang::String *); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * optional(jint); + virtual void parseDocument(); + virtual void readAttributes(::java::lang::String *); + virtual ::java::lang::String * resolveNamedEntity(::java::lang::String *); + virtual jchar resolveNumericEntity(::java::lang::String *); + virtual void restart(); + virtual void startTag(::javax::swing::text::html::parser::TagElement *); +private: + void _handleCompleteElement(::javax::swing::text::html::parser::TagElement *); + void _handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + void _handleEndTag(::javax::swing::text::html::parser::TagElement *); +public: // actually package-private + virtual void _handleEndTag_remaining(::javax::swing::text::html::parser::TagElement *); + virtual void _handleStartTag(::javax::swing::text::html::parser::TagElement *); +private: + void forciblyCloseTheTag(); + void handleComment(); + ::javax::swing::text::html::parser::TagElement * makeTagElement(::java::lang::String *, jboolean); + void readTillTokenE(jint); + void resolveAndAppendEntity(::gnu::javax::swing::text::html::parser::support::low::Token *); + void restOfTag(jboolean, ::gnu::javax::swing::text::html::parser::support::low::Token *, ::gnu::javax::swing::text::html::parser::support::low::Token *); + void startingTag(::javax::swing::text::html::parser::TagElement *); + void ws_error(); + jboolean isBlock(::javax::swing::text::html::HTML$Tag *); +public: + ::gnu::javax::swing::text::html::parser::support::low::Token * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer)))) hTag; +public: // actually protected + ::javax::swing::text::html::parser::DTD * dtd; + jboolean strict; + jint preformatted; +private: + ::java::util::Set * documentTags; + ::java::lang::StringBuffer * buffer; + ::java::lang::StringBuffer * title; + ::gnu::javax::swing::text::html::parser::support::low::Token * t; + jboolean titleHandled; + jboolean titleOpen; +public: // actually package-private + ::gnu::javax::swing::text::html::parser::htmlAttributeSet * attributes; +private: + ::gnu::javax::swing::text::html::parser::htmlValidator * validator; + ::gnu::javax::swing::text::html::parser::support::parameterDefaulter * defaulter; + ::gnu::javax::swing::text::html::parser::support::textPreProcessor * textProcessor; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_Parser__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h b/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h new file mode 100644 index 00000000000..f442305c87e --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_gnuStringIntMapper__ +#define __gnu_javax_swing_text_html_parser_support_gnuStringIntMapper__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class gnuStringIntMapper; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::gnuStringIntMapper : public ::java::lang::Object +{ + +public: + gnuStringIntMapper(); + virtual ::java::lang::String * get(jint); + virtual jint get(::java::lang::String *); +public: // actually protected + virtual void create() = 0; + virtual void add(::java::lang::String *, jint); +private: + void createTheMap(); + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) is_Map; + ::java::util::Map * si_Map; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_gnuStringIntMapper__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h new file mode 100644 index 00000000000..98ccff8c531 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_Buffer__ +#define __gnu_javax_swing_text_html_parser_support_low_Buffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class Buffer; + class Location; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::Buffer : public ::java::lang::Object +{ + +public: + Buffer(); + Buffer(::java::lang::String *); + virtual void getChars(jint, jint, JArray< jchar > *, jint); + virtual ::java::lang::String * getEndOfLineSequence(); + virtual void setLength(jint); + virtual ::gnu::javax::swing::text::html::parser::support::low::Location * getLocation(jint, jint); + virtual void append(jchar, jint); + virtual jchar charAt(jint); + virtual void delete$(jint, jint); + virtual void expand(); + virtual jint length(); + virtual void reset(); + virtual ::java::lang::String * toString(); + static jint INITIAL_SIZE; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) n_seen; + jboolean r_seen; +public: // actually package-private + JArray< jchar > * chr; + JArray< jint > * line; + JArray< jint > * position; + jint current_line; + jint length__; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_Buffer__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h new file mode 100644 index 00000000000..3c21390f9d7 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_Constants__ +#define __gnu_javax_swing_text_html_parser_support_low_Constants__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class Buffer; + class Constants; + class Token; + class pattern; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::Constants : public ::java::lang::Object +{ + +public: + Constants(); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * endMatches(::gnu::javax::swing::text::html::parser::support::low::Buffer *); + static const jint BEGIN = 60; + static const jint END = 62; + static const jint EXCLAMATION = 33; + static const jint SLASH = 47; + static const jint EQ = 61; + static const jint AP = 39; + static const jint QUOT = 34; + static const jint DOUBLE_DASH = 1000; + static const jint STYLE = 1001; + static const jint SCRIPT = 1002; + static const jint WS = 1003; + static const jint ENTITY = 1004; + static const jint NUMTOKEN = 1005; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * COMMENT_OPEN; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * COMMENT_END; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * COMMENT_TRIPLEDASH_END; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * STYLE_OPEN; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * SCRIPT_OPEN; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * SGML; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * SCRIPT_CLOSE; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * STYLE_CLOSE; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * TAG; + static ::gnu::javax::swing::text::html::parser::support::low::pattern * TAG_CLOSE; + static const jint OTHER = 1999; +public: // actually package-private + static const jchar ETX = 3; +public: + static const jint EOF = 3; + static ::java::util::BitSet * bSINGLE_CHAR_TOKEN; + static ::java::util::BitSet * bSPECIAL; + static ::java::util::BitSet * bLETTER; + static ::java::util::BitSet * bDIGIT; + static ::java::util::BitSet * bLINEBREAK; + static ::java::util::BitSet * bWHITESPACE; + static ::java::util::BitSet * bQUOTING; + static ::java::util::BitSet * bNAME; + static const jint ENTITY_NAMED = 1; + static const jint ENTITY_NUMERIC = 2; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_Constants__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Location.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Location.h new file mode 100644 index 00000000000..4903ffe756b --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Location.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_Location__ +#define __gnu_javax_swing_text_html_parser_support_low_Location__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class Location; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::Location : public ::java::lang::Object +{ + +public: + Location(); + Location(jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) beginLine; + jint endLine; + jint endPosition; + jint startPosition; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_Location__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h b/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h new file mode 100644 index 00000000000..ee0c9fcf9f9 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_ParseException__ +#define __gnu_javax_swing_text_html_parser_support_low_ParseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class ParseException; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::ParseException : public ::java::lang::RuntimeException +{ + +public: + ParseException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_ParseException__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h new file mode 100644 index 00000000000..615dd9cb1ea --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_Queue__ +#define __gnu_javax_swing_text_html_parser_support_low_Queue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class Queue; + class Token; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::Queue : public ::java::lang::Object +{ + +public: + Queue(); + virtual jboolean isEmpty(); + virtual void add(::gnu::javax::swing::text::html::parser::support::low::Token *); + virtual void clear(); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * get(jint); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * next(); + virtual jint size(); +public: // actually package-private + JArray< ::gnu::javax::swing::text::html::parser::support::low::Token * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m; + jint a; + jint b; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_Queue__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h b/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h new file mode 100644 index 00000000000..189d356f018 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_ReaderTokenizer__ +#define __gnu_javax_swing_text_html_parser_support_low_ReaderTokenizer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class Buffer; + class Queue; + class ReaderTokenizer; + class Token; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer : public ::gnu::javax::swing::text::html::parser::support::low::Constants +{ + +public: + ReaderTokenizer(); + virtual ::java::lang::String * getEndOfLineSequence(); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * getNextToken(); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * getTokenAhead(jint); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * getTokenAhead(); + virtual void error(::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Token *); + virtual void mark(jboolean); + virtual void reset(::java::io::Reader *); + virtual void reset(); +public: // actually package-private + virtual void read(jint); + virtual void readToken(); + virtual ::gnu::javax::swing::text::html::parser::support::low::Token * tokenMatches(); +private: + void consumeBuffer(::gnu::javax::swing::text::html::parser::support::low::Token *); + ::gnu::javax::swing::text::html::parser::support::low::Token * eofToken(); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::low::Constants)))) advanced; + jboolean backupMode; +public: // actually package-private + ::gnu::javax::swing::text::html::parser::support::low::Buffer * buffer; + ::gnu::javax::swing::text::html::parser::support::low::Queue * backup; + ::gnu::javax::swing::text::html::parser::support::low::Queue * queue; + ::java::io::Reader * reader; + JArray< jchar > * charTokens; + JArray< ::java::lang::String * > * stringTokens; + jint readerPosition; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_ReaderTokenizer__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Token.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Token.h new file mode 100644 index 00000000000..f237ae43e0d --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Token.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_Token__ +#define __gnu_javax_swing_text_html_parser_support_low_Token__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class Location; + class Token; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::Token : public ::java::lang::Object +{ + +public: + Token(); + Token(jint, ::gnu::javax::swing::text::html::parser::support::low::Location *); + Token(jint, jchar, ::gnu::javax::swing::text::html::parser::support::low::Location *); + Token(jint, ::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Location *); + Token(jint, jint, ::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Location *); + Token(::gnu::javax::swing::text::html::parser::support::low::Token *, ::gnu::javax::swing::text::html::parser::support::low::Token *); + virtual ::java::lang::String * getImage(); + virtual void appendTo(::java::lang::StringBuffer *); + virtual ::java::lang::String * toString(); + ::gnu::javax::swing::text::html::parser::support::low::Location * __attribute__((aligned(__alignof__( ::java::lang::Object)))) where; + jint category; + jint kind; +private: + ::java::lang::String * stringImage; + jchar charImage; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_Token__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/node.h b/libjava/gnu/javax/swing/text/html/parser/support/low/node.h new file mode 100644 index 00000000000..f113e7b1ff3 --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/node.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_node__ +#define __gnu_javax_swing_text_html_parser_support_low_node__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class node; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::node : public ::java::lang::Object +{ + +public: + node(jint, jboolean); + node(jint); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) optional; + jint kind; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_node__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h b/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h new file mode 100644 index 00000000000..3010b526cef --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_low_pattern__ +#define __gnu_javax_swing_text_html_parser_support_low_pattern__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + namespace low + { + class ReaderTokenizer; + class node; + class pattern; + } + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::low::pattern : public ::java::lang::Object +{ + +public: + pattern(JArray< ::gnu::javax::swing::text::html::parser::support::low::node * > *); + virtual jboolean matches(::gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer *); + JArray< ::gnu::javax::swing::text::html::parser::support::low::node * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nodes; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_low_pattern__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h b/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h new file mode 100644 index 00000000000..664baecc92d --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_parameterDefaulter__ +#define __gnu_javax_swing_text_html_parser_support_parameterDefaulter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class htmlAttributeSet; + namespace support + { + class parameterDefaulter; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::parameterDefaulter : public ::java::lang::Object +{ + +public: + parameterDefaulter(::javax::swing::text::html::parser::DTD *); + virtual ::gnu::javax::swing::text::html::parser::htmlAttributeSet * getDefaultParameters(::java::lang::String *); + ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dtd; +public: // actually package-private + ::java::util::Hashtable * sets; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_parameterDefaulter__ diff --git a/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h b/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h new file mode 100644 index 00000000000..cf5117b762c --- /dev/null +++ b/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_text_html_parser_support_textPreProcessor__ +#define __gnu_javax_swing_text_html_parser_support_textPreProcessor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class textPreProcessor; + } + } + } + } + } + } + } +} + +class gnu::javax::swing::text::html::parser::support::textPreProcessor : public ::java::lang::Object +{ + +public: + textPreProcessor(); + virtual JArray< jchar > * preprocess(::java::lang::StringBuffer *); + virtual JArray< jchar > * preprocessPreformatted(::java::lang::StringBuffer *); +private: + static JArray< jchar > * toCharArray(::java::lang::StringBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_text_html_parser_support_textPreProcessor__ diff --git a/libjava/gnu/javax/swing/tree/GnuPath.h b/libjava/gnu/javax/swing/tree/GnuPath.h new file mode 100644 index 00000000000..3d36edac71f --- /dev/null +++ b/libjava/gnu/javax/swing/tree/GnuPath.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_javax_swing_tree_GnuPath__ +#define __gnu_javax_swing_tree_GnuPath__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace tree + { + class GnuPath; + } + } + } + } +} + +class gnu::javax::swing::tree::GnuPath : public ::javax::swing::tree::TreePath +{ + +public: + GnuPath(JArray< ::java::lang::Object * > *, jboolean); + jboolean __attribute__((aligned(__alignof__( ::javax::swing::tree::TreePath)))) isLastChild; + static ::java::lang::Class class$; +}; + +#endif // __gnu_javax_swing_tree_GnuPath__ diff --git a/libjava/gnu/xml/aelfred2/JAXPFactory$JaxpParser.h b/libjava/gnu/xml/aelfred2/JAXPFactory$JaxpParser.h new file mode 100644 index 00000000000..42e8e0be030 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/JAXPFactory$JaxpParser.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_JAXPFactory$JaxpParser__ +#define __gnu_xml_aelfred2_JAXPFactory$JaxpParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class JAXPFactory$JaxpParser; + class XmlReader; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Parser; + class XMLReader; + namespace helpers + { + class XMLReaderAdapter; + } + } + } + } +} + +class gnu::xml::aelfred2::JAXPFactory$JaxpParser : public ::javax::xml::parsers::SAXParser +{ + +public: // actually package-private + JAXPFactory$JaxpParser(); +public: + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual ::org::xml::sax::Parser * getParser(); + virtual ::org::xml::sax::XMLReader * getXMLReader(); + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); +private: + ::gnu::xml::aelfred2::XmlReader * __attribute__((aligned(__alignof__( ::javax::xml::parsers::SAXParser)))) ae2; + ::org::xml::sax::helpers::XMLReaderAdapter * parser; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_JAXPFactory$JaxpParser__ diff --git a/libjava/gnu/xml/aelfred2/JAXPFactory.h b/libjava/gnu/xml/aelfred2/JAXPFactory.h new file mode 100644 index 00000000000..8bffce6c848 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/JAXPFactory.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_JAXPFactory__ +#define __gnu_xml_aelfred2_JAXPFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class JAXPFactory; + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class SAXParser; + } + } + } +} + +class gnu::xml::aelfred2::JAXPFactory : public ::javax::xml::parsers::SAXParserFactory +{ + +public: + JAXPFactory(); + ::javax::xml::parsers::SAXParser * newSAXParser(); + void setFeature(::java::lang::String *, jboolean); + jboolean getFeature(::java::lang::String *); +private: + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::javax::xml::parsers::SAXParserFactory)))) flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_JAXPFactory__ diff --git a/libjava/gnu/xml/aelfred2/SAXDriver$Adapter.h b/libjava/gnu/xml/aelfred2/SAXDriver$Adapter.h new file mode 100644 index 00000000000..ac3cbea3a3c --- /dev/null +++ b/libjava/gnu/xml/aelfred2/SAXDriver$Adapter.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_SAXDriver$Adapter__ +#define __gnu_xml_aelfred2_SAXDriver$Adapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class SAXDriver$Adapter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class DocumentHandler; + class Locator; + } + } + } +} + +class gnu::xml::aelfred2::SAXDriver$Adapter : public ::java::lang::Object +{ + +public: // actually package-private + SAXDriver$Adapter(::org::xml::sax::DocumentHandler *); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void skippedEntity(::java::lang::String *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void endDocument(); +private: + ::org::xml::sax::DocumentHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) docHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_SAXDriver$Adapter__ diff --git a/libjava/gnu/xml/aelfred2/SAXDriver$Attribute.h b/libjava/gnu/xml/aelfred2/SAXDriver$Attribute.h new file mode 100644 index 00000000000..3aca3900849 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/SAXDriver$Attribute.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_SAXDriver$Attribute__ +#define __gnu_xml_aelfred2_SAXDriver$Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class SAXDriver$Attribute; + } + } + } +} + +class gnu::xml::aelfred2::SAXDriver$Attribute : public ::java::lang::Object +{ + +public: // actually package-private + SAXDriver$Attribute(::java::lang::String *, ::java::lang::String *, jboolean); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * value; + ::java::lang::String * nameSpace; + ::java::lang::String * localName; + jboolean specified; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_SAXDriver$Attribute__ diff --git a/libjava/gnu/xml/aelfred2/SAXDriver.h b/libjava/gnu/xml/aelfred2/SAXDriver.h new file mode 100644 index 00000000000..aca07f72775 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/SAXDriver.h @@ -0,0 +1,167 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_SAXDriver__ +#define __gnu_xml_aelfred2_SAXDriver__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class SAXDriver; + class XmlParser; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class DocumentHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + namespace ext + { + class DeclHandler; + class DefaultHandler2; + class EntityResolver2; + class LexicalHandler; + } + namespace helpers + { + class NamespaceSupport; + } + } + } + } +} + +class gnu::xml::aelfred2::SAXDriver : public ::java::lang::Object +{ + +public: + SAXDriver(); +private: + void reset(); +public: + void setLocale(::java::util::Locale *); + ::org::xml::sax::EntityResolver * getEntityResolver(); + void setEntityResolver(::org::xml::sax::EntityResolver *); + ::org::xml::sax::DTDHandler * getDTDHandler(); + void setDTDHandler(::org::xml::sax::DTDHandler *); + void setDocumentHandler(::org::xml::sax::DocumentHandler *); + ::org::xml::sax::ContentHandler * getContentHandler(); + void setContentHandler(::org::xml::sax::ContentHandler *); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + ::org::xml::sax::ErrorHandler * getErrorHandler(); + void parse(::org::xml::sax::InputSource *); + void parse(::java::lang::String *); + jboolean getFeature(::java::lang::String *); +public: // actually package-private + ::org::xml::sax::ext::DeclHandler * getDeclHandler(); + jboolean resolveURIs(); +public: + ::java::lang::Object * getProperty(::java::lang::String *); + void setFeature(::java::lang::String *, jboolean); + void setProperty(::java::lang::String *, ::java::lang::Object *); +public: // actually package-private + void startDocument(); + void skippedEntity(::java::lang::String *); + ::org::xml::sax::InputSource * getExternalSubset(::java::lang::String *, ::java::lang::String *); + ::org::xml::sax::InputSource * resolveEntity(jboolean, ::java::lang::String *, ::org::xml::sax::InputSource *, ::java::lang::String *); + ::java::lang::String * absolutize(::java::lang::String *, ::java::lang::String *, jboolean); + void startExternalEntity(::java::lang::String *, ::java::lang::String *, jboolean); + void endExternalEntity(::java::lang::String *); + void startInternalEntity(::java::lang::String *); + void endInternalEntity(::java::lang::String *); + void doctypeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void endDoctype(); +private: + void declarePrefix(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + void attribute(::java::lang::String *, ::java::lang::String *, jboolean); + void startElement(::java::lang::String *); + void endElement(::java::lang::String *); + void startCDATA(); + void charData(JArray< jchar > *, jint, jint); + void endCDATA(); + void ignorableWhitespace(JArray< jchar > *, jint, jint); + void processingInstruction(::java::lang::String *, ::java::lang::String *); + void comment(JArray< jchar > *, jint, jint); + void fatal(::java::lang::String *); + void verror(::java::lang::String *); + void warn(::java::lang::String *); +public: + jint getLength(); + ::java::lang::String * getURI(jint); + ::java::lang::String * getLocalName(jint); + ::java::lang::String * getQName(jint); + ::java::lang::String * getName(jint); + ::java::lang::String * getType(jint); + ::java::lang::String * getValue(jint); + jint getIndex(::java::lang::String *, ::java::lang::String *); + jint getIndex(::java::lang::String *); + ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getType(::java::lang::String *); + ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getValue(::java::lang::String *); + jboolean isDeclared(jint); + jboolean isDeclared(::java::lang::String *); + jboolean isDeclared(::java::lang::String *, ::java::lang::String *); + jboolean isSpecified(jint); + jboolean isSpecified(::java::lang::String *, ::java::lang::String *); + jboolean isSpecified(::java::lang::String *); + ::java::lang::String * getPublicId(); + ::java::lang::String * getSystemId(); + jint getLineNumber(); + jint getColumnNumber(); +private: + ::org::xml::sax::ext::DefaultHandler2 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) base; + ::gnu::xml::aelfred2::XmlParser * parser; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::ext::EntityResolver2 * resolver2; + ::org::xml::sax::ContentHandler * contentHandler; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::ErrorHandler * errorHandler; + ::org::xml::sax::ext::DeclHandler * declHandler; + ::org::xml::sax::ext::LexicalHandler * lexicalHandler; + ::java::lang::String * elementName; + ::java::util::Stack * entityStack; + ::java::util::List * attributesList; + jboolean namespaces; + jboolean xmlNames; + jboolean extGE; + jboolean extPE; + jboolean resolveAll; + jboolean useResolver2; +public: // actually package-private + jboolean stringInterning; +private: + jint attributeCount; + jboolean attributes; + JArray< ::java::lang::String * > * nsTemp; + ::org::xml::sax::helpers::NamespaceSupport * prefixStack; +public: // actually package-private + static ::java::lang::String * FEATURE; + static ::java::lang::String * PROPERTY; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_SAXDriver__ diff --git a/libjava/gnu/xml/aelfred2/XmlParser$AttributeDecl.h b/libjava/gnu/xml/aelfred2/XmlParser$AttributeDecl.h new file mode 100644 index 00000000000..4baac80e141 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlParser$AttributeDecl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlParser$AttributeDecl__ +#define __gnu_xml_aelfred2_XmlParser$AttributeDecl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class XmlParser$AttributeDecl; + } + } + } +} + +class gnu::xml::aelfred2::XmlParser$AttributeDecl : public ::java::lang::Object +{ + +public: // actually package-private + XmlParser$AttributeDecl(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::lang::String * value; + jint valueType; + ::java::lang::String * enumeration; + ::java::lang::String * defaultValue; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlParser$AttributeDecl__ diff --git a/libjava/gnu/xml/aelfred2/XmlParser$ElementDecl.h b/libjava/gnu/xml/aelfred2/XmlParser$ElementDecl.h new file mode 100644 index 00000000000..8e992e1ca1a --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlParser$ElementDecl.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlParser$ElementDecl__ +#define __gnu_xml_aelfred2_XmlParser$ElementDecl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class XmlParser$ElementDecl; + } + } + } +} + +class gnu::xml::aelfred2::XmlParser$ElementDecl : public ::java::lang::Object +{ + +public: // actually package-private + XmlParser$ElementDecl(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) contentType; + ::java::lang::String * contentModel; + ::java::util::HashMap * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlParser$ElementDecl__ diff --git a/libjava/gnu/xml/aelfred2/XmlParser$EntityInfo.h b/libjava/gnu/xml/aelfred2/XmlParser$EntityInfo.h new file mode 100644 index 00000000000..5c4701a4096 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlParser$EntityInfo.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlParser$EntityInfo__ +#define __gnu_xml_aelfred2_XmlParser$EntityInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class XmlParser$EntityInfo; + class XmlParser$ExternalIdentifiers; + } + } + } +} + +class gnu::xml::aelfred2::XmlParser$EntityInfo : public ::java::lang::Object +{ + +public: // actually package-private + XmlParser$EntityInfo(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::gnu::xml::aelfred2::XmlParser$ExternalIdentifiers * ids; + ::java::lang::String * value; + ::java::lang::String * notationName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlParser$EntityInfo__ diff --git a/libjava/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.h b/libjava/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.h new file mode 100644 index 00000000000..a91f6496f97 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlParser$ExternalIdentifiers.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlParser$ExternalIdentifiers__ +#define __gnu_xml_aelfred2_XmlParser$ExternalIdentifiers__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class XmlParser$ExternalIdentifiers; + } + } + } +} + +class gnu::xml::aelfred2::XmlParser$ExternalIdentifiers : public ::java::lang::Object +{ + +public: // actually package-private + XmlParser$ExternalIdentifiers(); + XmlParser$ExternalIdentifiers(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId; + ::java::lang::String * systemId; + ::java::lang::String * baseUri; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlParser$ExternalIdentifiers__ diff --git a/libjava/gnu/xml/aelfred2/XmlParser$Input.h b/libjava/gnu/xml/aelfred2/XmlParser$Input.h new file mode 100644 index 00000000000..feaf39e5f92 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlParser$Input.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlParser$Input__ +#define __gnu_xml_aelfred2_XmlParser$Input__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class XmlParser$Input; + } + } + } + namespace java + { + namespace net + { + class URLConnection; + } + } +} + +class gnu::xml::aelfred2::XmlParser$Input : public ::java::lang::Object +{ + +public: // actually package-private + XmlParser$Input(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) sourceType; + ::java::net::URLConnection * externalEntity; + JArray< jchar > * readBuffer; + jint readBufferPos; + jint readBufferLength; + jint line; + jint encoding; + jint readBufferOverflow; + ::java::io::InputStream * is; + jint currentByteCount; + jint column; + ::java::io::Reader * reader; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlParser$Input__ diff --git a/libjava/gnu/xml/aelfred2/XmlParser.h b/libjava/gnu/xml/aelfred2/XmlParser.h new file mode 100644 index 00000000000..baf73193b6d --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlParser.h @@ -0,0 +1,274 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlParser__ +#define __gnu_xml_aelfred2_XmlParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class SAXDriver; + class XmlParser; + class XmlParser$AttributeDecl; + class XmlParser$ElementDecl; + class XmlParser$ExternalIdentifiers; + } + } + } + namespace java + { + namespace net + { + class URLConnection; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::aelfred2::XmlParser : public ::java::lang::Object +{ + +public: // actually package-private + XmlParser(); + void setHandler(::gnu::xml::aelfred2::SAXDriver *); + void doParse(::java::lang::String *, ::java::lang::String *, ::java::io::Reader *, ::java::io::InputStream *, ::java::lang::String *); +private: + void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void error(::java::lang::String *, jchar, ::java::lang::String *); + void error(::java::lang::String *); + void parseDocument(); + void parseComment(); + void parsePI(); + void parseCDSect(); + jboolean parseProlog(); + void checkLegalVersion(::java::lang::String *); + ::java::lang::String * parseXMLDecl(jboolean); + ::java::lang::String * parseTextDecl(jboolean); + void setupDecoding(::java::lang::String *); + void parseMisc(); + void parseDoctypedecl(); + void parseMarkupdecl(); + void parseElement(jboolean); + void parseAttribute(::java::lang::String *); + void parseEq(); + void parseETag(); + void parseContent(); + void parseElementDecl(); + void parseContentspec(::java::lang::String *); + void parseElements(JArray< jchar > *); + void parseCp(); + void parseMixed(JArray< jchar > *); + void parseAttlistDecl(); + void parseAttDef(::java::lang::String *); + ::java::lang::String * readAttType(); + void parseEnumeration(jboolean); + void parseNotationType(); + void parseDefault(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void parseConditionalSect(JArray< jchar > *); + void parseCharRef(); + void tryReadCharRef(); + void parseCharRef(jboolean); + void parseEntityRef(jboolean); + void parsePEReference(); + void parseEntityDecl(); + void parseNotationDecl(); + void parseCharData(); + void requireWhitespace(); + void skipWhitespace(); + ::java::lang::String * readNmtoken(jboolean); + static jboolean isExtender(jchar); + ::java::lang::String * readLiteral(jint); + ::gnu::xml::aelfred2::XmlParser$ExternalIdentifiers * readExternalIds(jboolean, jboolean); + jboolean isWhitespace(jchar); + void dataBufferAppend(jchar); + void dataBufferAppend(::java::lang::String *); + void dataBufferAppend(JArray< jchar > *, jint, jint); + void dataBufferNormalize(); + ::java::lang::String * dataBufferToString(); + void dataBufferFlush(); + void require(::java::lang::String *); + void require(jchar); +public: + ::java::lang::String * intern(JArray< jchar > *, jint, jint); +private: + ::java::lang::Object * extendArray(::java::lang::Object *, jint, jint); +public: // actually package-private + jboolean isStandalone(); +private: + jint getContentType(::gnu::xml::aelfred2::XmlParser$ElementDecl *, jint); +public: + jint getElementContentType(::java::lang::String *); +private: + void setElement(::java::lang::String *, jint, ::java::lang::String *, ::java::util::HashMap *); + ::java::util::HashMap * getElementAttributes(::java::lang::String *); + ::java::util::Iterator * declaredAttributes(::gnu::xml::aelfred2::XmlParser$ElementDecl *); +public: + ::java::util::Iterator * declaredAttributes(::java::lang::String *); + ::java::lang::String * getAttributeType(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getAttributeEnumeration(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getAttributeDefaultValue(::java::lang::String *, ::java::lang::String *); + jint getAttributeDefaultValueType(::java::lang::String *, ::java::lang::String *); +private: + void setAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jint); + ::gnu::xml::aelfred2::XmlParser$AttributeDecl * getAttribute(::java::lang::String *, ::java::lang::String *); +public: + jint getEntityType(::java::lang::String *); + ::gnu::xml::aelfred2::XmlParser$ExternalIdentifiers * getEntityIds(::java::lang::String *); + ::java::lang::String * getEntityValue(::java::lang::String *); +private: + void setInternalEntity(::java::lang::String *, ::java::lang::String *); + void setExternalEntity(::java::lang::String *, jint, ::gnu::xml::aelfred2::XmlParser$ExternalIdentifiers *, ::java::lang::String *); + void setNotation(::java::lang::String *, ::gnu::xml::aelfred2::XmlParser$ExternalIdentifiers *); +public: + jint getLineNumber(); + jint getColumnNumber(); +private: + jchar readCh(); + void unread(jchar); + void unread(JArray< jchar > *, jint); + void pushURL(jboolean, ::java::lang::String *, ::gnu::xml::aelfred2::XmlParser$ExternalIdentifiers *, ::java::io::Reader *, ::java::io::InputStream *, ::java::lang::String *, jboolean); + ::java::lang::String * tryEncodingDecl(jboolean); + void detectEncoding(); + static jboolean tryEncoding(JArray< jbyte > *, jbyte, jbyte, jbyte, jbyte); + static jboolean tryEncoding(JArray< jbyte > *, jbyte, jbyte); + void pushString(::java::lang::String *, ::java::lang::String *); + void pushCharArray(::java::lang::String *, JArray< jchar > *, jint, jint); + void pushInput(::java::lang::String *); + void popInput(); + jboolean tryRead(jchar); + jboolean tryRead(::java::lang::String *); + jboolean tryRead(JArray< jchar > *); + jboolean tryWhitespace(); + void parseUntil(::java::lang::String *); + void parseUntil(JArray< jchar > *); + void prefetchASCIIEncodingDecl(); + void readDataChunk(); + void filterCR(jboolean); + void copyUtf8ReadBuffer(jint); + jint getNextUtf8Byte(jint, jint); + void copyIso8859_1ReadBuffer(jint, jchar); + void copyUcs2ReadBuffer(jint, jint, jint); + void copyUcs4ReadBuffer(jint, jint, jint, jint, jint); + void encodingError(::java::lang::String *, jint, jint); + void initializeVariables(); + static const jboolean USE_CHEATS = 1; +public: + static const jint CONTENT_UNDECLARED = 0; + static const jint CONTENT_ANY = 1; + static const jint CONTENT_EMPTY = 2; + static const jint CONTENT_MIXED = 3; + static const jint CONTENT_ELEMENTS = 4; + static const jint ENTITY_UNDECLARED = 0; + static const jint ENTITY_INTERNAL = 1; + static const jint ENTITY_NDATA = 2; + static const jint ENTITY_TEXT = 3; +private: + static const jint ENCODING_EXTERNAL = 0; + static const jint ENCODING_UTF_8 = 1; + static const jint ENCODING_ISO_8859_1 = 2; + static const jint ENCODING_UCS_2_12 = 3; + static const jint ENCODING_UCS_2_21 = 4; + static const jint ENCODING_UCS_4_1234 = 5; + static const jint ENCODING_UCS_4_4321 = 6; + static const jint ENCODING_UCS_4_2143 = 7; + static const jint ENCODING_UCS_4_3412 = 8; + static const jint ENCODING_ASCII = 9; +public: + static const jint ATTRIBUTE_DEFAULT_UNDECLARED = 30; + static const jint ATTRIBUTE_DEFAULT_SPECIFIED = 31; + static const jint ATTRIBUTE_DEFAULT_IMPLIED = 32; + static const jint ATTRIBUTE_DEFAULT_REQUIRED = 33; + static const jint ATTRIBUTE_DEFAULT_FIXED = 34; +private: + static const jint INPUT_NONE = 0; + static const jint INPUT_INTERNAL = 1; + static const jint INPUT_STREAM = 3; + static const jint INPUT_READER = 5; + static const jint LIT_ENTITY_REF = 2; + static const jint LIT_NORMALIZE = 4; + static const jint LIT_ATTRIBUTE = 8; + static const jint LIT_DISABLE_PE = 16; + static const jint LIT_DISABLE_CREF = 32; + static const jint LIT_DISABLE_EREF = 64; + static const jint LIT_PUBID = 256; + static const jint CONTEXT_NORMAL = 0; + static const jint CONTEXT_LITERAL = 1; +public: // actually package-private + static jboolean uriWarnings; +private: + ::gnu::xml::aelfred2::SAXDriver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handler; + ::java::io::Reader * reader; + ::java::io::InputStream * is; + jint line; + jint column; + jint sourceType; + ::java::util::LinkedList * inputStack; + ::java::net::URLConnection * externalEntity; + jint encoding; + jint currentByteCount; + ::org::xml::sax::InputSource * scratch; + JArray< jchar > * readBuffer; + jint readBufferPos; + jint readBufferLength; + jint readBufferOverflow; + static const jint READ_BUFFER_MAX = 16384; + JArray< jbyte > * rawReadBuffer; + static jint DATA_BUFFER_INITIAL; + JArray< jchar > * dataBuffer; + jint dataBufferPos; + static jint NAME_BUFFER_INITIAL; + JArray< jchar > * nameBuffer; + jint nameBufferPos; + jboolean docIsStandalone; + ::java::util::HashMap * elementInfo; + ::java::util::HashMap * entityInfo; + ::java::util::HashMap * notationInfo; + jboolean skippedPE; + ::java::lang::String * currentElement; + jint currentElementContent; + ::java::util::LinkedList * entityStack; + jboolean inLiteral; + jboolean expandPE; + jboolean peIsError; + jboolean doReport; + static const jint SYMBOL_TABLE_LENGTH = 2039; + JArray< JArray< ::java::lang::Object * > * > * symbolTable; + JArray< ::java::lang::String * > * tagAttributes; + jint tagAttributePos; + jboolean sawCR; + jboolean inCDATA; + static const jint XML_10 = 0; + static const jint XML_11 = 1; + jint xmlVersion; +public: // actually package-private + static JArray< jchar > * startDelimComment; + static JArray< jchar > * endDelimComment; + static JArray< jchar > * startDelimPI; + static JArray< jchar > * endDelimPI; + static JArray< jchar > * endDelimCDATA; +private: + jboolean isDirtyCurrentElement; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlParser__ diff --git a/libjava/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.h b/libjava/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.h new file mode 100644 index 00000000000..2e8de94fe3c --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlReader$FatalErrorHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlReader$FatalErrorHandler__ +#define __gnu_xml_aelfred2_XmlReader$FatalErrorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class XmlReader$FatalErrorHandler; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXParseException; + } + } + } +} + +class gnu::xml::aelfred2::XmlReader$FatalErrorHandler : public ::org::xml::sax::ext::DefaultHandler2 +{ + +public: // actually package-private + XmlReader$FatalErrorHandler(); +public: + virtual void error(::org::xml::sax::SAXParseException *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlReader$FatalErrorHandler__ diff --git a/libjava/gnu/xml/aelfred2/XmlReader.h b/libjava/gnu/xml/aelfred2/XmlReader.h new file mode 100644 index 00000000000..3d0f5ed3dc3 --- /dev/null +++ b/libjava/gnu/xml/aelfred2/XmlReader.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_aelfred2_XmlReader__ +#define __gnu_xml_aelfred2_XmlReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace aelfred2 + { + class SAXDriver; + class XmlReader; + } + namespace pipeline + { + class EventFilter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + } + } + } +} + +class gnu::xml::aelfred2::XmlReader : public ::java::lang::Object +{ + +public: + XmlReader(); + XmlReader(jboolean); + ::org::xml::sax::ContentHandler * getContentHandler(); + void setContentHandler(::org::xml::sax::ContentHandler *); + ::org::xml::sax::DTDHandler * getDTDHandler(); + void setDTDHandler(::org::xml::sax::DTDHandler *); + ::org::xml::sax::EntityResolver * getEntityResolver(); + void setEntityResolver(::org::xml::sax::EntityResolver *); + ::org::xml::sax::ErrorHandler * getErrorHandler(); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + void setProperty(::java::lang::String *, ::java::lang::Object *); + ::java::lang::Object * getProperty(::java::lang::String *); +private: + void forceValidating(); +public: + void setFeature(::java::lang::String *, jboolean); + jboolean getFeature(::java::lang::String *); + void setLocale(::java::util::Locale *); + void parse(::java::lang::String *); + void parse(::org::xml::sax::InputSource *); +private: + ::gnu::xml::aelfred2::SAXDriver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) aelfred2; + ::gnu::xml::pipeline::EventFilter * filter; + jboolean isValidating; + jboolean active; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_aelfred2_XmlReader__ diff --git a/libjava/gnu/xml/dom/Consumer$Backdoor.h b/libjava/gnu/xml/dom/Consumer$Backdoor.h new file mode 100644 index 00000000000..fcfd53cbc39 --- /dev/null +++ b/libjava/gnu/xml/dom/Consumer$Backdoor.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_Consumer$Backdoor__ +#define __gnu_xml_dom_Consumer$Backdoor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class Consumer$Backdoor; + class DomDoctype; + } + namespace pipeline + { + class DomConsumer; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Text; + } + } + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::xml::dom::Consumer$Backdoor : public ::gnu::xml::pipeline::DomConsumer$Handler +{ + +public: // actually protected + Consumer$Backdoor(::gnu::xml::pipeline::DomConsumer *); +private: + ::gnu::xml::dom::DomDoctype * getDoctype(); +public: + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually protected + virtual ::org::w3c::dom::Text * createText(jboolean, JArray< jchar > *, jint, jint); +public: + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void startDocument(); + virtual void endDocument(); + virtual jboolean canPopulateEntityRefs(); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_Consumer$Backdoor__ diff --git a/libjava/gnu/xml/dom/Consumer.h b/libjava/gnu/xml/dom/Consumer.h new file mode 100644 index 00000000000..fdcfafe09c5 --- /dev/null +++ b/libjava/gnu/xml/dom/Consumer.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_Consumer__ +#define __gnu_xml_dom_Consumer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class Consumer; + } + namespace pipeline + { + class EventConsumer; + } + } + } +} + +class gnu::xml::dom::Consumer : public ::gnu::xml::pipeline::DomConsumer +{ + +public: + Consumer(); + Consumer(::gnu::xml::pipeline::EventConsumer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_Consumer__ diff --git a/libjava/gnu/xml/dom/DTDAttributeTypeInfo.h b/libjava/gnu/xml/dom/DTDAttributeTypeInfo.h new file mode 100644 index 00000000000..611a12be4cb --- /dev/null +++ b/libjava/gnu/xml/dom/DTDAttributeTypeInfo.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DTDAttributeTypeInfo__ +#define __gnu_xml_dom_DTDAttributeTypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DTDAttributeTypeInfo; + } + } + } +} + +class gnu::xml::dom::DTDAttributeTypeInfo : public ::java::lang::Object +{ + +public: // actually package-private + DTDAttributeTypeInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getTypeName(); + virtual ::java::lang::String * getTypeNamespace(); + virtual jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) elementName; + ::java::lang::String * name; + ::java::lang::String * type; + ::java::lang::String * mode; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DTDAttributeTypeInfo__ diff --git a/libjava/gnu/xml/dom/DTDElementTypeInfo.h b/libjava/gnu/xml/dom/DTDElementTypeInfo.h new file mode 100644 index 00000000000..35656bbe970 --- /dev/null +++ b/libjava/gnu/xml/dom/DTDElementTypeInfo.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DTDElementTypeInfo__ +#define __gnu_xml_dom_DTDElementTypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DTDAttributeTypeInfo; + class DTDElementTypeInfo; + } + } + } +} + +class gnu::xml::dom::DTDElementTypeInfo : public ::java::lang::Object +{ + +public: // actually package-private + DTDElementTypeInfo(::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getTypeName(); + virtual ::java::lang::String * getTypeNamespace(); + virtual jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint); +public: // actually package-private + virtual ::gnu::xml::dom::DTDAttributeTypeInfo * getAttributeTypeInfo(::java::lang::String *); + virtual void setAttributeTypeInfo(::java::lang::String *, ::gnu::xml::dom::DTDAttributeTypeInfo *); + virtual ::java::util::Iterator * attributes(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * model; + ::java::util::HashMap * attributes__; + ::java::lang::String * idAttrName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DTDElementTypeInfo__ diff --git a/libjava/gnu/xml/dom/DomAttr.h b/libjava/gnu/xml/dom/DomAttr.h new file mode 100644 index 00000000000..e14ac0f9529 --- /dev/null +++ b/libjava/gnu/xml/dom/DomAttr.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomAttr__ +#define __gnu_xml_dom_DomAttr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomAttr; + class DomDocument; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + class Node; + class TypeInfo; + } + } + } +} + +class gnu::xml::dom::DomAttr : public ::gnu::xml::dom::DomNsNode +{ + +public: // actually protected + DomAttr(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getName(); + virtual jboolean getSpecified(); + virtual void setSpecified(jboolean); + virtual ::java::lang::String * getNodeValue(); + virtual void setValue(::java::lang::String *); + virtual ::java::lang::String * getValue(); + virtual void setNodeValue(::java::lang::String *); + virtual ::org::w3c::dom::Node * getFirstChild(); + virtual ::org::w3c::dom::Node * getLastChild(); + virtual ::org::w3c::dom::Node * item(jint); + virtual ::org::w3c::dom::Element * getOwnerElement(); + virtual ::org::w3c::dom::Node * getNextSibling(); + virtual ::org::w3c::dom::Node * getPreviousSibling(); + virtual ::org::w3c::dom::Node * getParentNode(); + virtual void setOwnerElement(::org::w3c::dom::Element *); + virtual ::java::lang::String * getBaseURI(); + virtual ::java::lang::Object * clone(); +private: + void mutating(::java::lang::String *, ::java::lang::String *, jshort); +public: + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo(); + virtual jboolean isId(); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNsNode)))) specified; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomAttr__ diff --git a/libjava/gnu/xml/dom/DomCDATASection.h b/libjava/gnu/xml/dom/DomCDATASection.h new file mode 100644 index 00000000000..9cfb8e625bc --- /dev/null +++ b/libjava/gnu/xml/dom/DomCDATASection.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomCDATASection__ +#define __gnu_xml_dom_DomCDATASection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomCDATASection; + class DomDocument; + } + } + } +} + +class gnu::xml::dom::DomCDATASection : public ::gnu::xml::dom::DomText +{ + +public: // actually protected + DomCDATASection(::gnu::xml::dom::DomDocument *, ::java::lang::String *); + DomCDATASection(::gnu::xml::dom::DomDocument *, JArray< jchar > *, jint, jint); +public: + virtual ::java::lang::String * getNodeName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomCDATASection__ diff --git a/libjava/gnu/xml/dom/DomCharacterData$EmptyNodeList.h b/libjava/gnu/xml/dom/DomCharacterData$EmptyNodeList.h new file mode 100644 index 00000000000..e9c2ea119be --- /dev/null +++ b/libjava/gnu/xml/dom/DomCharacterData$EmptyNodeList.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomCharacterData$EmptyNodeList__ +#define __gnu_xml_dom_DomCharacterData$EmptyNodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomCharacterData$EmptyNodeList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomCharacterData$EmptyNodeList : public ::java::lang::Object +{ + +public: // actually package-private + DomCharacterData$EmptyNodeList(); +public: + virtual jint getLength(); + virtual ::org::w3c::dom::Node * item(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomCharacterData$EmptyNodeList__ diff --git a/libjava/gnu/xml/dom/DomCharacterData.h b/libjava/gnu/xml/dom/DomCharacterData.h new file mode 100644 index 00000000000..7ca5f2ce563 --- /dev/null +++ b/libjava/gnu/xml/dom/DomCharacterData.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomCharacterData__ +#define __gnu_xml_dom_DomCharacterData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomCharacterData; + class DomDocument; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class NodeList; + } + } + } +} + +class gnu::xml::dom::DomCharacterData : public ::gnu::xml::dom::DomNode +{ + +public: // actually package-private + DomCharacterData(jshort, ::gnu::xml::dom::DomDocument *, ::java::lang::String *); + DomCharacterData(jshort, ::gnu::xml::dom::DomDocument *, JArray< jchar > *, jint, jint); +public: + virtual void appendData(::java::lang::String *); + virtual void deleteData(jint, jint); + virtual ::java::lang::String * getNodeValue(); + virtual ::java::lang::String * getData(); + virtual jint getLength(); + virtual void insertData(jint, ::java::lang::String *); + virtual void replaceData(jint, jint, ::java::lang::String *); + virtual void setNodeValue(::java::lang::String *); + virtual void setData(::java::lang::String *); + virtual ::java::lang::String * substringData(jint, jint); + virtual ::org::w3c::dom::NodeList * getChildNodes(); + virtual ::java::lang::String * getBaseURI(); +private: + void mutating(::java::lang::String *); +public: // actually package-private + static ::org::w3c::dom::NodeList * CHILD_NODES; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNode)))) text; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomCharacterData__ diff --git a/libjava/gnu/xml/dom/DomComment.h b/libjava/gnu/xml/dom/DomComment.h new file mode 100644 index 00000000000..99c4a70e130 --- /dev/null +++ b/libjava/gnu/xml/dom/DomComment.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomComment__ +#define __gnu_xml_dom_DomComment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomComment; + class DomDocument; + } + } + } +} + +class gnu::xml::dom::DomComment : public ::gnu::xml::dom::DomCharacterData +{ + +public: // actually protected + DomComment(::gnu::xml::dom::DomDocument *, ::java::lang::String *); +public: + virtual ::java::lang::String * getNodeName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomComment__ diff --git a/libjava/gnu/xml/dom/DomDOMException.h b/libjava/gnu/xml/dom/DomDOMException.h new file mode 100644 index 00000000000..5cb1e504d10 --- /dev/null +++ b/libjava/gnu/xml/dom/DomDOMException.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDOMException__ +#define __gnu_xml_dom_DomDOMException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDOMException; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomDOMException : public ::org::w3c::dom::DOMException +{ + +public: + DomDOMException(jshort); + DomDOMException(jshort, ::java::lang::String *, ::org::w3c::dom::Node *, jint); + virtual ::org::w3c::dom::Node * getNode(); + virtual ::java::lang::String * getData(); + virtual jint getValue(); + virtual ::java::lang::String * getMessage(); +private: + static ::java::lang::String * diagnostic(jshort); + ::java::lang::String * __attribute__((aligned(__alignof__( ::org::w3c::dom::DOMException)))) data; + ::org::w3c::dom::Node * node; + jint value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDOMException__ diff --git a/libjava/gnu/xml/dom/DomDoctype.h b/libjava/gnu/xml/dom/DomDoctype.h new file mode 100644 index 00000000000..c8ee6620994 --- /dev/null +++ b/libjava/gnu/xml/dom/DomDoctype.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDoctype__ +#define __gnu_xml_dom_DomDoctype__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DTDAttributeTypeInfo; + class DTDElementTypeInfo; + class DomDoctype; + class DomDocument; + class DomNamedNodeMap; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Entity; + class NamedNodeMap; + class Node; + class Notation; + } + } + } +} + +class gnu::xml::dom::DomDoctype : public ::gnu::xml::dom::DomExtern +{ + +public: // actually protected + DomDoctype(::org::w3c::dom::DOMImplementation *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + DomDoctype(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::org::w3c::dom::NamedNodeMap * getEntities(); + virtual ::org::w3c::dom::Entity * declareEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::NamedNodeMap * getNotations(); + virtual ::org::w3c::dom::Notation * declareNotation(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getInternalSubset(); + virtual ::java::lang::String * getBaseURI(); + virtual void makeReadonly(); +public: // actually package-private + virtual void setOwner(::gnu::xml::dom::DomDocument *); +public: + virtual jboolean supports(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::DOMImplementation * getImplementation(); + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::gnu::xml::dom::DTDElementTypeInfo * getElementTypeInfo(::java::lang::String *); +public: + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::gnu::xml::dom::DTDAttributeTypeInfo * getAttributeTypeInfo(::java::lang::String *, ::java::lang::String *); + virtual jboolean hasIds(); +public: + virtual jboolean isSameNode(::org::w3c::dom::Node *); + virtual ::java::lang::Object * clone(); +private: + ::gnu::xml::dom::DomNamedNodeMap * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomExtern)))) notations; + ::gnu::xml::dom::DomNamedNodeMap * entities; + ::org::w3c::dom::DOMImplementation * implementation; + ::java::lang::String * subset; + ::java::util::HashMap * elements; + jboolean ids; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDoctype__ diff --git a/libjava/gnu/xml/dom/DomDocument.h b/libjava/gnu/xml/dom/DomDocument.h new file mode 100644 index 00000000000..e11ce621b4b --- /dev/null +++ b/libjava/gnu/xml/dom/DomDocument.h @@ -0,0 +1,154 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDocument__ +#define __gnu_xml_dom_DomDocument__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomDocumentConfiguration; + class DomNode; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class CDATASection; + class Comment; + class DOMConfiguration; + class DOMImplementation; + class DocumentFragment; + class DocumentType; + class Element; + class EntityReference; + class Node; + class ProcessingInstruction; + class Text; + namespace traversal + { + class NodeFilter; + class NodeIterator; + class TreeWalker; + } + namespace xpath + { + class XPathExpression; + class XPathNSResolver; + } + } + } + } +} + +class gnu::xml::dom::DomDocument : public ::gnu::xml::dom::DomNode +{ + +public: + DomDocument(); +public: // actually protected + DomDocument(::org::w3c::dom::DOMImplementation *); +public: + virtual void setBuilding(jboolean); + virtual void setCheckWellformedness(jboolean); + virtual void setCheckingCharacters(jboolean); + virtual ::java::lang::String * getNodeName(); + virtual ::org::w3c::dom::Element * getDocumentElement(); + virtual ::org::w3c::dom::DocumentType * getDoctype(); + virtual ::org::w3c::dom::DOMImplementation * getImplementation(); + virtual ::org::w3c::dom::Element * getElementById(::java::lang::String *); +private: + void checkNewChild(::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + static void verifyXmlName(::java::lang::String *); +public: // actually package-private + static void checkName(::java::lang::String *, jboolean); + static void checkNCName(::java::lang::String *, jboolean); + static void checkChar(::java::lang::String *, jboolean); + static void checkChar(JArray< jchar > *, jint, jint, jboolean); +public: + virtual ::org::w3c::dom::Element * createElement(::java::lang::String *); + virtual ::org::w3c::dom::Element * createElementNS(::java::lang::String *, ::java::lang::String *); +private: + void defaultAttributes(::org::w3c::dom::Element *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::DocumentFragment * createDocumentFragment(); + virtual ::org::w3c::dom::Text * createTextNode(::java::lang::String *); + virtual ::org::w3c::dom::Text * createTextNode(JArray< jchar > *, jint, jint); + virtual ::org::w3c::dom::Comment * createComment(::java::lang::String *); + virtual ::org::w3c::dom::CDATASection * createCDATASection(::java::lang::String *); + virtual ::org::w3c::dom::CDATASection * createCDATASection(JArray< jchar > *, jint, jint); + virtual ::org::w3c::dom::ProcessingInstruction * createProcessingInstruction(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * createAttribute(::java::lang::String *); + virtual ::org::w3c::dom::Attr * createAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::EntityReference * createEntityReference(::java::lang::String *); + virtual ::org::w3c::dom::Node * importNode(::org::w3c::dom::Node *, jboolean); + virtual ::org::w3c::dom::traversal::NodeIterator * createNodeIterator(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean); + virtual ::org::w3c::dom::traversal::TreeWalker * createTreeWalker(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean); + virtual ::java::lang::String * getInputEncoding(); + virtual void setInputEncoding(::java::lang::String *); + virtual ::java::lang::String * getXmlEncoding(); + virtual void setXmlEncoding(::java::lang::String *); + virtual jboolean getXmlStandalone(); + virtual void setXmlStandalone(jboolean); + virtual ::java::lang::String * getXmlVersion(); + virtual void setXmlVersion(::java::lang::String *); + virtual jboolean getStrictErrorChecking(); + virtual void setStrictErrorChecking(jboolean); + virtual ::java::lang::String * lookupPrefix(::java::lang::String *); + virtual jboolean isDefaultNamespace(::java::lang::String *); + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * getBaseURI(); + virtual ::java::lang::String * getDocumentURI(); + virtual void setDocumentURI(::java::lang::String *); + virtual ::org::w3c::dom::Node * adoptNode(::org::w3c::dom::Node *); +public: // actually package-private + virtual void adoptChildren(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual void adoptAttributes(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig(); + virtual jboolean isEqualNode(::org::w3c::dom::Node *); + virtual void normalizeDocument(); +public: // actually package-private + virtual void normalizeNode(::gnu::xml::dom::DomNode *); +public: + virtual ::org::w3c::dom::Node * renameNode(::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::xpath::XPathExpression * createExpression(::java::lang::String *, ::org::w3c::dom::xpath::XPathNSResolver *); + virtual ::org::w3c::dom::xpath::XPathNSResolver * createNSResolver(::org::w3c::dom::Node *); + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::org::w3c::dom::Node *, ::org::w3c::dom::xpath::XPathNSResolver *, jshort, ::java::lang::Object *); +private: + ::org::w3c::dom::DOMImplementation * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNode)))) implementation; + jboolean checkingCharacters; +public: // actually package-private + jboolean checkingWellformedness; + jboolean building; + ::gnu::xml::dom::DomDocumentConfiguration * config; + ::java::lang::String * inputEncoding; + ::java::lang::String * encoding; + ::java::lang::String * version; + jboolean standalone; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDocument__ diff --git a/libjava/gnu/xml/dom/DomDocumentBuilder.h b/libjava/gnu/xml/dom/DomDocumentBuilder.h new file mode 100644 index 00000000000..f45207a7324 --- /dev/null +++ b/libjava/gnu/xml/dom/DomDocumentBuilder.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDocumentBuilder__ +#define __gnu_xml_dom_DomDocumentBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocumentBuilder; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Document; + namespace ls + { + class DOMImplementationLS; + class LSParser; + } + } + } + namespace xml + { + namespace sax + { + class EntityResolver; + class ErrorHandler; + class InputSource; + } + } + } +} + +class gnu::xml::dom::DomDocumentBuilder : public ::javax::xml::parsers::DocumentBuilder +{ + +public: // actually package-private + DomDocumentBuilder(::org::w3c::dom::DOMImplementation *, ::org::w3c::dom::ls::DOMImplementationLS *, ::org::w3c::dom::ls::LSParser *); +public: + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); + virtual jboolean isXIncludeAware(); + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::org::w3c::dom::DOMImplementation * getDOMImplementation(); + virtual ::org::w3c::dom::Document * newDocument(); + virtual ::org::w3c::dom::Document * parse(::java::io::InputStream *); + virtual ::org::w3c::dom::Document * parse(::java::io::InputStream *, ::java::lang::String *); + virtual ::org::w3c::dom::Document * parse(::java::lang::String *); + virtual ::org::w3c::dom::Document * parse(::org::xml::sax::InputSource *); +public: // actually package-private + ::org::w3c::dom::DOMImplementation * __attribute__((aligned(__alignof__( ::javax::xml::parsers::DocumentBuilder)))) impl; + ::org::w3c::dom::ls::DOMImplementationLS * ls; + ::org::w3c::dom::ls::LSParser * parser; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDocumentBuilder__ diff --git a/libjava/gnu/xml/dom/DomDocumentBuilderFactory.h b/libjava/gnu/xml/dom/DomDocumentBuilderFactory.h new file mode 100644 index 00000000000..a0bb85f9545 --- /dev/null +++ b/libjava/gnu/xml/dom/DomDocumentBuilderFactory.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDocumentBuilderFactory__ +#define __gnu_xml_dom_DomDocumentBuilderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocumentBuilderFactory; + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class DocumentBuilder; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMConfiguration; + class DOMImplementation; + namespace ls + { + class DOMImplementationLS; + } + } + } + } +} + +class gnu::xml::dom::DomDocumentBuilderFactory : public ::javax::xml::parsers::DocumentBuilderFactory +{ + +public: + DomDocumentBuilderFactory(); + virtual ::javax::xml::parsers::DocumentBuilder * newDocumentBuilder(); +public: // actually package-private + virtual void setParameter(::org::w3c::dom::DOMConfiguration *, ::java::lang::String *, ::java::lang::Object *); +public: + virtual ::java::lang::Object * getAttribute(::java::lang::String *); + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); +public: // actually package-private + ::org::w3c::dom::DOMImplementation * __attribute__((aligned(__alignof__( ::javax::xml::parsers::DocumentBuilderFactory)))) impl; + ::org::w3c::dom::ls::DOMImplementationLS * ls; +private: + jboolean secureProcessing; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDocumentBuilderFactory__ diff --git a/libjava/gnu/xml/dom/DomDocumentConfiguration.h b/libjava/gnu/xml/dom/DomDocumentConfiguration.h new file mode 100644 index 00000000000..f628910ed0e --- /dev/null +++ b/libjava/gnu/xml/dom/DomDocumentConfiguration.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDocumentConfiguration__ +#define __gnu_xml_dom_DomDocumentConfiguration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocumentConfiguration; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMErrorHandler; + class DOMStringList; + } + } + } +} + +class gnu::xml::dom::DomDocumentConfiguration : public ::java::lang::Object +{ + +public: // actually package-private + DomDocumentConfiguration(); +public: + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual jboolean canSetParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::org::w3c::dom::DOMStringList * getParameterNames(); + virtual ::java::lang::String * item(jint); + virtual jint getLength(); + virtual jboolean contains(::java::lang::String *); +private: + static ::java::util::List * SUPPORTED_PARAMETERS; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) cdataSections; + jboolean comments; + jboolean elementContentWhitespace; + jboolean entities; + ::org::w3c::dom::DOMErrorHandler * errorHandler; + jboolean namespaceDeclarations; + jboolean splitCdataSections; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDocumentConfiguration__ diff --git a/libjava/gnu/xml/dom/DomDocumentFragment.h b/libjava/gnu/xml/dom/DomDocumentFragment.h new file mode 100644 index 00000000000..ab0b4b5e352 --- /dev/null +++ b/libjava/gnu/xml/dom/DomDocumentFragment.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomDocumentFragment__ +#define __gnu_xml_dom_DomDocumentFragment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomDocumentFragment; + } + } + } +} + +class gnu::xml::dom::DomDocumentFragment : public ::gnu::xml::dom::DomNode +{ + +public: // actually protected + DomDocumentFragment(::gnu::xml::dom::DomDocument *); +public: + virtual ::java::lang::String * getNodeName(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomDocumentFragment__ diff --git a/libjava/gnu/xml/dom/DomElement.h b/libjava/gnu/xml/dom/DomElement.h new file mode 100644 index 00000000000..35ed33eaaa6 --- /dev/null +++ b/libjava/gnu/xml/dom/DomElement.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomElement__ +#define __gnu_xml_dom_DomElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomElement; + class DomNamedNodeMap; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class NamedNodeMap; + class Node; + class TypeInfo; + } + } + } +} + +class gnu::xml::dom::DomElement : public ::gnu::xml::dom::DomNsNode +{ + +public: // actually protected + DomElement(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::NamedNodeMap * getAttributes(); + virtual jboolean hasAttributes(); + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual void setOwner(::gnu::xml::dom::DomDocument *); +public: + virtual void makeReadonly(); + virtual ::java::lang::String * getTagName(); + virtual ::java::lang::String * getAttribute(::java::lang::String *); + virtual jboolean hasAttribute(::java::lang::String *); + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *); + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *); + virtual void setAttribute(::java::lang::String *, ::java::lang::String *); + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *); + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *); + virtual void removeAttribute(::java::lang::String *); + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *); + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * lookupPrefix(::java::lang::String *); + virtual jboolean isDefaultNamespace(::java::lang::String *); + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * getBaseURI(); + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo(); + virtual void setIdAttribute(::java::lang::String *, jboolean); + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean); + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean); + virtual jboolean isEqualNode(::org::w3c::dom::Node *); +public: // actually package-private + ::java::util::Set * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNsNode)))) userIdAttrs; +private: + ::gnu::xml::dom::DomNamedNodeMap * attributes; +public: // actually package-private + ::java::lang::String * xmlSpace; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomElement__ diff --git a/libjava/gnu/xml/dom/DomEntity.h b/libjava/gnu/xml/dom/DomEntity.h new file mode 100644 index 00000000000..914c2c51062 --- /dev/null +++ b/libjava/gnu/xml/dom/DomEntity.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomEntity__ +#define __gnu_xml_dom_DomEntity__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomEntity; + } + } + } +} + +class gnu::xml::dom::DomEntity : public ::gnu::xml::dom::DomExtern +{ + +public: // actually protected + DomEntity(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getNotationName(); + virtual ::java::lang::String * getInputEncoding(); + virtual ::java::lang::String * getXmlEncoding(); + virtual ::java::lang::String * getXmlVersion(); + virtual ::java::lang::String * getBaseURI(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomExtern)))) notation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomEntity__ diff --git a/libjava/gnu/xml/dom/DomEntityReference.h b/libjava/gnu/xml/dom/DomEntityReference.h new file mode 100644 index 00000000000..22e2665ebb0 --- /dev/null +++ b/libjava/gnu/xml/dom/DomEntityReference.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomEntityReference__ +#define __gnu_xml_dom_DomEntityReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomEntityReference; + } + } + } +} + +class gnu::xml::dom::DomEntityReference : public ::gnu::xml::dom::DomNode +{ + +public: // actually protected + DomEntityReference(::gnu::xml::dom::DomDocument *, ::java::lang::String *); +public: + virtual ::java::lang::String * getNodeName(); + virtual ::java::lang::String * getBaseURI(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNode)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomEntityReference__ diff --git a/libjava/gnu/xml/dom/DomEvent$DomMutationEvent.h b/libjava/gnu/xml/dom/DomEvent$DomMutationEvent.h new file mode 100644 index 00000000000..613938abdd9 --- /dev/null +++ b/libjava/gnu/xml/dom/DomEvent$DomMutationEvent.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomEvent$DomMutationEvent__ +#define __gnu_xml_dom_DomEvent$DomMutationEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomEvent$DomMutationEvent; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomEvent$DomMutationEvent : public ::gnu::xml::dom::DomEvent +{ + +public: + ::org::w3c::dom::Node * getRelatedNode(); + ::java::lang::String * getPrevValue(); + ::java::lang::String * getNewValue(); + ::java::lang::String * getAttrName(); + jshort getAttrChange(); + void initMutationEvent(::java::lang::String *, jboolean, jboolean, ::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jshort); +public: // actually package-private + void clear(); +public: + DomEvent$DomMutationEvent(::java::lang::String *); +public: // actually package-private + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomEvent)))) relatedNode; +private: + ::java::lang::String * prevValue; + ::java::lang::String * newValue; + ::java::lang::String * attrName; + jshort attrChange; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomEvent$DomMutationEvent__ diff --git a/libjava/gnu/xml/dom/DomEvent$DomUIEvent.h b/libjava/gnu/xml/dom/DomEvent$DomUIEvent.h new file mode 100644 index 00000000000..2c2921a8668 --- /dev/null +++ b/libjava/gnu/xml/dom/DomEvent$DomUIEvent.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomEvent$DomUIEvent__ +#define __gnu_xml_dom_DomEvent$DomUIEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomEvent$DomUIEvent; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace views + { + class AbstractView; + } + } + } + } +} + +class gnu::xml::dom::DomEvent$DomUIEvent : public ::gnu::xml::dom::DomEvent +{ + +public: + DomEvent$DomUIEvent(::java::lang::String *); + virtual ::org::w3c::dom::views::AbstractView * getView(); + virtual jint getDetail(); + virtual void initUIEvent(::java::lang::String *, jboolean, jboolean, ::org::w3c::dom::views::AbstractView *, jint); +private: + ::org::w3c::dom::views::AbstractView * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomEvent)))) view; + jint detail; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomEvent$DomUIEvent__ diff --git a/libjava/gnu/xml/dom/DomEvent.h b/libjava/gnu/xml/dom/DomEvent.h new file mode 100644 index 00000000000..83a2822b2dc --- /dev/null +++ b/libjava/gnu/xml/dom/DomEvent.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomEvent__ +#define __gnu_xml_dom_DomEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomEvent; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class EventTarget; + } + } + } + } +} + +class gnu::xml::dom::DomEvent : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getType(); + virtual ::org::w3c::dom::events::EventTarget * getTarget(); + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget(); + virtual jshort getEventPhase(); + virtual jboolean getBubbles(); + virtual jboolean getCancelable(); + virtual jlong getTimeStamp(); + virtual void stopPropagation(); + virtual void preventDefault(); + virtual void initEvent(::java::lang::String *, jboolean, jboolean); + DomEvent(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::org::w3c::dom::events::EventTarget * target; + ::org::w3c::dom::events::EventTarget * currentNode; + jshort eventPhase; + jboolean bubbles; + jboolean cancelable; + jlong timeStamp; + jboolean stop; + jboolean doDefault; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomEvent__ diff --git a/libjava/gnu/xml/dom/DomExtern.h b/libjava/gnu/xml/dom/DomExtern.h new file mode 100644 index 00000000000..c2c88940583 --- /dev/null +++ b/libjava/gnu/xml/dom/DomExtern.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomExtern__ +#define __gnu_xml_dom_DomExtern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomExtern; + } + } + } +} + +class gnu::xml::dom::DomExtern : public ::gnu::xml::dom::DomNode +{ + +public: // actually package-private + DomExtern(jshort, ::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getNodeName(); + virtual ::java::lang::String * getLocalName(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNode)))) name; + ::java::lang::String * publicId; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomExtern__ diff --git a/libjava/gnu/xml/dom/DomImpl.h b/libjava/gnu/xml/dom/DomImpl.h new file mode 100644 index 00000000000..f0515862fda --- /dev/null +++ b/libjava/gnu/xml/dom/DomImpl.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomImpl__ +#define __gnu_xml_dom_DomImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomImpl; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class DocumentType; + namespace ls + { + class LSInput; + class LSOutput; + class LSParser; + class LSSerializer; + } + } + } + } +} + +class gnu::xml::dom::DomImpl : public ::java::lang::Object +{ + +public: + DomImpl(); + virtual jboolean hasFeature(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::DocumentType * createDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Document * createDocument(::java::lang::String *, ::java::lang::String *, ::org::w3c::dom::DocumentType *); +public: // actually protected + virtual ::org::w3c::dom::Document * createDocument(); +public: + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::ls::LSParser * createLSParser(jshort, ::java::lang::String *); + virtual ::org::w3c::dom::ls::LSSerializer * createLSSerializer(); + virtual ::org::w3c::dom::ls::LSInput * createLSInput(); + virtual ::org::w3c::dom::ls::LSOutput * createLSOutput(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomImpl__ diff --git a/libjava/gnu/xml/dom/DomIterator.h b/libjava/gnu/xml/dom/DomIterator.h new file mode 100644 index 00000000000..7e155790404 --- /dev/null +++ b/libjava/gnu/xml/dom/DomIterator.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomIterator__ +#define __gnu_xml_dom_DomIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomIterator; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace events + { + class Event; + } + namespace traversal + { + class NodeFilter; + } + } + } + } +} + +class gnu::xml::dom::DomIterator : public ::java::lang::Object +{ + +public: // actually protected + DomIterator(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean); +public: + void detach(); + jboolean getExpandEntityReferences(); + ::org::w3c::dom::traversal::NodeFilter * getFilter(); + ::org::w3c::dom::Node * getRoot(); + jint getWhatToShow(); + ::org::w3c::dom::Node * nextNode(); + ::org::w3c::dom::Node * previousNode(); +private: + jboolean shouldShow(::org::w3c::dom::Node *); + ::org::w3c::dom::Node * walk(jboolean); + jboolean isLeaf(::org::w3c::dom::Node *); + ::org::w3c::dom::Node * successor(::org::w3c::dom::Node *, jboolean); +public: + void handleEvent(::org::w3c::dom::events::Event *); +private: + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reference; + jboolean right; + jboolean done; + ::org::w3c::dom::Node * root; + jint whatToShow; + ::org::w3c::dom::traversal::NodeFilter * filter; + jboolean expandEntityReferences; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomIterator__ diff --git a/libjava/gnu/xml/dom/DomNSResolverContext.h b/libjava/gnu/xml/dom/DomNSResolverContext.h new file mode 100644 index 00000000000..9405c862f97 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNSResolverContext.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNSResolverContext__ +#define __gnu_xml_dom_DomNSResolverContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomNSResolverContext; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace xpath + { + class XPathNSResolver; + } + } + } + } +} + +class gnu::xml::dom::DomNSResolverContext : public ::java::lang::Object +{ + +public: // actually package-private + DomNSResolverContext(::org::w3c::dom::xpath::XPathNSResolver *); +public: + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual ::java::util::Iterator * getPrefixes(::java::lang::String *); + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +public: // actually package-private + ::org::w3c::dom::xpath::XPathNSResolver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) resolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNSResolverContext__ diff --git a/libjava/gnu/xml/dom/DomNamedNodeMap.h b/libjava/gnu/xml/dom/DomNamedNodeMap.h new file mode 100644 index 00000000000..c26f2af4890 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNamedNodeMap.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNamedNodeMap__ +#define __gnu_xml_dom_DomNamedNodeMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomNamedNodeMap; + class DomNode; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomNamedNodeMap : public ::java::lang::Object +{ + +public: // actually package-private + DomNamedNodeMap(::gnu::xml::dom::DomNode *, jshort); +public: + virtual jboolean isReadonly(); + virtual void makeReadonly(); + virtual ::org::w3c::dom::Node * getNamedItem(::java::lang::String *); + virtual ::org::w3c::dom::Node * getNamedItemNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Node * setNamedItem(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * setNamedItemNS(::org::w3c::dom::Node *); +public: // actually package-private + virtual ::org::w3c::dom::Node * setNamedItem(::org::w3c::dom::Node *, jboolean); + virtual void reparent(::gnu::xml::dom::DomNode *, ::java::lang::String *, jint); +public: + virtual ::org::w3c::dom::Node * removeNamedItem(::java::lang::String *); + virtual ::org::w3c::dom::Node * removeNamedItemNS(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::org::w3c::dom::Node * removeNamedItem(::java::lang::String *, ::java::lang::String *, jboolean); + virtual ::java::lang::String * getDefaultValue(::java::lang::String *); +public: + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); +public: // actually package-private + ::gnu::xml::dom::DomNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) owner; + jshort type; + ::gnu::xml::dom::DomNode * first; + jint length; + jboolean readonly; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNamedNodeMap__ diff --git a/libjava/gnu/xml/dom/DomNode$DomEventException.h b/libjava/gnu/xml/dom/DomNode$DomEventException.h new file mode 100644 index 00000000000..577a112b12d --- /dev/null +++ b/libjava/gnu/xml/dom/DomNode$DomEventException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNode$DomEventException__ +#define __gnu_xml_dom_DomNode$DomEventException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomNode$DomEventException; + } + } + } +} + +class gnu::xml::dom::DomNode$DomEventException : public ::org::w3c::dom::events::EventException +{ + +public: // actually package-private + DomNode$DomEventException(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNode$DomEventException__ diff --git a/libjava/gnu/xml/dom/DomNode$ListenerRecord.h b/libjava/gnu/xml/dom/DomNode$ListenerRecord.h new file mode 100644 index 00000000000..f24266f53d8 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNode$ListenerRecord.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNode$ListenerRecord__ +#define __gnu_xml_dom_DomNode$ListenerRecord__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomNode$ListenerRecord; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class EventListener; + } + } + } + } +} + +class gnu::xml::dom::DomNode$ListenerRecord : public ::java::lang::Object +{ + +public: // actually package-private + DomNode$ListenerRecord(::java::lang::String *, ::org::w3c::dom::events::EventListener *, jboolean); +public: + jboolean equals(::java::lang::Object *); + jint hashCode(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::org::w3c::dom::events::EventListener * listener; + jboolean useCapture; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNode$ListenerRecord__ diff --git a/libjava/gnu/xml/dom/DomNode$LiveNodeList.h b/libjava/gnu/xml/dom/DomNode$LiveNodeList.h new file mode 100644 index 00000000000..9755d8b047b --- /dev/null +++ b/libjava/gnu/xml/dom/DomNode$LiveNodeList.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNode$LiveNodeList__ +#define __gnu_xml_dom_DomNode$LiveNodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomIterator; + class DomNode; + class DomNode$LiveNodeList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace events + { + class Event; + } + } + } + } +} + +class gnu::xml::dom::DomNode$LiveNodeList : public ::java::lang::Object +{ + +public: // actually package-private + DomNode$LiveNodeList(::gnu::xml::dom::DomNode *, ::java::lang::String *, ::java::lang::String *); + void detach(); +public: + jshort acceptNode(::org::w3c::dom::Node *); +private: + ::gnu::xml::dom::DomIterator * createIterator(); +public: + void handleEvent(::org::w3c::dom::events::Event *); + ::org::w3c::dom::Node * item(jint); + jint getLength(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) matchAnyURI; + jboolean matchAnyName; + ::java::lang::String * elementURI; + ::java::lang::String * elementName; + ::gnu::xml::dom::DomIterator * current; + jint lastIndex; +public: // actually package-private + ::gnu::xml::dom::DomNode * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNode$LiveNodeList__ diff --git a/libjava/gnu/xml/dom/DomNode$ShadowList.h b/libjava/gnu/xml/dom/DomNode$ShadowList.h new file mode 100644 index 00000000000..1465afca22e --- /dev/null +++ b/libjava/gnu/xml/dom/DomNode$ShadowList.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNode$ShadowList__ +#define __gnu_xml_dom_DomNode$ShadowList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomNode; + class DomNode$LiveNodeList; + class DomNode$ShadowList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomNode$ShadowList : public ::java::lang::Object +{ + +public: // actually package-private + DomNode$ShadowList(::gnu::xml::dom::DomNode *, ::java::lang::String *, ::java::lang::String *); +public: + void finalize(); + ::org::w3c::dom::Node * item(jint); + jint getLength(); +private: + ::gnu::xml::dom::DomNode$LiveNodeList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) liveList; +public: // actually package-private + ::gnu::xml::dom::DomNode * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNode$ShadowList__ diff --git a/libjava/gnu/xml/dom/DomNode.h b/libjava/gnu/xml/dom/DomNode.h new file mode 100644 index 00000000000..763284796a1 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNode.h @@ -0,0 +1,174 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNode__ +#define __gnu_xml_dom_DomNode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomEvent; + class DomEvent$DomMutationEvent; + class DomNode; + class DomNode$ListenerRecord; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + namespace events + { + class Event; + class EventListener; + } + } + } + } +} + +class gnu::xml::dom::DomNode : public ::java::lang::Object +{ + +public: + virtual void compact(); +public: // actually protected + DomNode(jshort, ::gnu::xml::dom::DomDocument *); +public: + virtual ::org::w3c::dom::NamedNodeMap * getAttributes(); + virtual jboolean hasAttributes(); + virtual ::org::w3c::dom::NodeList * getChildNodes(); + virtual ::org::w3c::dom::Node * getFirstChild(); + virtual ::org::w3c::dom::Node * getLastChild(); + virtual jboolean hasChildNodes(); + virtual jboolean isReadonly(); + virtual void makeReadonly(); +public: // actually package-private + virtual void setOwner(::gnu::xml::dom::DomDocument *); +private: + void checkMisc(::gnu::xml::dom::DomNode *); + void insertionEvent(::gnu::xml::dom::DomEvent$DomMutationEvent *, ::gnu::xml::dom::DomNode *); + void removalEvent(::gnu::xml::dom::DomEvent$DomMutationEvent *, ::gnu::xml::dom::DomNode *); + static ::gnu::xml::dom::DomEvent$DomMutationEvent * getMutationEvent(); + static void freeMutationEvent(); +public: // actually package-private + virtual void setDepth(jint); +public: + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); + virtual void trimToSize(); + virtual ::org::w3c::dom::Node * getNextSibling(); + virtual ::org::w3c::dom::Node * getPreviousSibling(); + virtual ::org::w3c::dom::Node * getParentNode(); + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Document * getOwnerDocument(); + virtual void setNodeValue(::java::lang::String *); + virtual ::java::lang::String * getNodeValue(); + virtual jshort getNodeType(); + virtual ::java::lang::String * getNodeName() = 0; + virtual void setPrefix(::java::lang::String *); + virtual ::java::lang::String * getPrefix(); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::java::lang::String * getLocalName(); + virtual ::org::w3c::dom::Node * cloneNode(jboolean); +public: // actually package-private + virtual void notifyUserDataHandlers(jshort, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual ::java::lang::Object * clone(); + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *); + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::events::Event * createEvent(::java::lang::String *); + virtual void addEventListener(::java::lang::String *, ::org::w3c::dom::events::EventListener *, jboolean); + virtual jboolean dispatchEvent(::org::w3c::dom::events::Event *); +private: + void notifyNode(::gnu::xml::dom::DomEvent *, ::gnu::xml::dom::DomNode *, jboolean, JArray< ::gnu::xml::dom::DomNode$ListenerRecord * > *); +public: + virtual void removeEventListener(::java::lang::String *, ::org::w3c::dom::events::EventListener *, jboolean); + virtual void normalize(); + virtual jboolean nameAndTypeEquals(::org::w3c::dom::Node *); + virtual ::java::lang::String * getBaseURI(); + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + virtual jint compareTo2(::gnu::xml::dom::DomNode *, ::gnu::xml::dom::DomNode *); +public: + virtual ::java::lang::String * getTextContent(); +public: // actually package-private + virtual ::java::lang::String * getTextContent(jboolean); +public: + virtual void setTextContent(::java::lang::String *); + virtual jboolean isSameNode(::org::w3c::dom::Node *); + virtual ::java::lang::String * lookupPrefix(::java::lang::String *); + virtual jboolean isDefaultNamespace(::java::lang::String *); + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); + virtual jboolean isEqualNode(::org::w3c::dom::Node *); +public: // actually package-private + virtual jboolean equal(::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *); + virtual ::java::lang::Object * getUserData(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual ::java::lang::String * encode(::java::lang::String *); + virtual ::java::lang::String * nodeTypeToString(jshort); +public: + virtual void list(::java::io::PrintStream *, jint); +private: + static const jint NKIDS_DELTA = 8; + static const jint ANCESTORS_INIT = 20; + static const jint NOTIFICATIONS_INIT = 10; +public: // actually package-private + static const jboolean reportMutations = 1; +private: + static ::java::lang::Object * lockNode; + static jboolean dispatchDataLock; + static JArray< ::gnu::xml::dom::DomNode * > * ancestors; + static JArray< ::gnu::xml::dom::DomNode$ListenerRecord * > * notificationSet; + static jboolean eventDataLock; + static ::gnu::xml::dom::DomEvent$DomMutationEvent * mutationEvent; +public: // actually package-private + ::gnu::xml::dom::DomDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) owner; + ::gnu::xml::dom::DomNode * parent; + ::gnu::xml::dom::DomNode * previous; + ::gnu::xml::dom::DomNode * next; + ::gnu::xml::dom::DomNode * first; + ::gnu::xml::dom::DomNode * last; + jint index; + jint depth; + jint length; + jshort nodeType; + jboolean readonly; +private: + ::java::util::HashSet * listeners; + jint nListeners; + ::java::util::HashMap * userData; + ::java::util::HashMap * userDataHandlers; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNode__ diff --git a/libjava/gnu/xml/dom/DomNodeIterator.h b/libjava/gnu/xml/dom/DomNodeIterator.h new file mode 100644 index 00000000000..9ebe95ed4d3 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNodeIterator.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNodeIterator__ +#define __gnu_xml_dom_DomNodeIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomNodeIterator; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace traversal + { + class NodeFilter; + } + } + } + } +} + +class gnu::xml::dom::DomNodeIterator : public ::java::lang::Object +{ + +public: + DomNodeIterator(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean, jboolean); + virtual ::org::w3c::dom::Node * getRoot(); + virtual jint getWhatToShow(); + virtual ::org::w3c::dom::traversal::NodeFilter * getFilter(); + virtual jboolean getExpandEntityReferences(); + virtual ::org::w3c::dom::Node * nextNode(); + virtual ::org::w3c::dom::Node * previousNode(); + virtual ::org::w3c::dom::Node * getCurrentNode(); + virtual void setCurrentNode(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * parentNode(); + virtual ::org::w3c::dom::Node * firstChild(); + virtual ::org::w3c::dom::Node * lastChild(); + virtual ::org::w3c::dom::Node * previousSibling(); + virtual ::org::w3c::dom::Node * nextSibling(); + virtual void detach(); +public: // actually package-private + virtual jboolean accept(::org::w3c::dom::Node *); + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) root; + jint whatToShow; + ::org::w3c::dom::traversal::NodeFilter * filter; + jboolean entityReferenceExpansion; + jboolean walk; + ::org::w3c::dom::Node * current; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNodeIterator__ diff --git a/libjava/gnu/xml/dom/DomNotation.h b/libjava/gnu/xml/dom/DomNotation.h new file mode 100644 index 00000000000..0d26797c7a2 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNotation.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNotation__ +#define __gnu_xml_dom_DomNotation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomNotation; + } + } + } +} + +class gnu::xml::dom::DomNotation : public ::gnu::xml::dom::DomExtern +{ + +public: // actually protected + DomNotation(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getBaseURI(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNotation__ diff --git a/libjava/gnu/xml/dom/DomNsNode.h b/libjava/gnu/xml/dom/DomNsNode.h new file mode 100644 index 00000000000..13dc4940fc5 --- /dev/null +++ b/libjava/gnu/xml/dom/DomNsNode.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomNsNode__ +#define __gnu_xml_dom_DomNsNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomNsNode; + } + } + } +} + +class gnu::xml::dom::DomNsNode : public ::gnu::xml::dom::DomNode +{ + +public: // actually package-private + DomNsNode(jshort, ::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getNodeName(); +public: // actually package-private + virtual void setNodeName(::java::lang::String *); +public: + virtual ::java::lang::String * getNamespaceURI(); +public: // actually package-private + virtual void setNamespaceURI(::java::lang::String *); +public: + virtual ::java::lang::String * getPrefix(); + virtual void setPrefix(::java::lang::String *); + virtual ::java::lang::String * getLocalName(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNode)))) name; + ::java::lang::String * namespace$; + ::java::lang::String * prefix; +public: // actually package-private + ::java::lang::String * localName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomNsNode__ diff --git a/libjava/gnu/xml/dom/DomProcessingInstruction.h b/libjava/gnu/xml/dom/DomProcessingInstruction.h new file mode 100644 index 00000000000..ed636c2097d --- /dev/null +++ b/libjava/gnu/xml/dom/DomProcessingInstruction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomProcessingInstruction__ +#define __gnu_xml_dom_DomProcessingInstruction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomProcessingInstruction; + } + } + } +} + +class gnu::xml::dom::DomProcessingInstruction : public ::gnu::xml::dom::DomNode +{ + +public: // actually protected + DomProcessingInstruction(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getTarget(); + virtual ::java::lang::String * getNodeName(); + virtual ::java::lang::String * getData(); + virtual ::java::lang::String * getNodeValue(); + virtual void setData(::java::lang::String *); + virtual void setNodeValue(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::DomNode)))) target; + ::java::lang::String * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomProcessingInstruction__ diff --git a/libjava/gnu/xml/dom/DomText.h b/libjava/gnu/xml/dom/DomText.h new file mode 100644 index 00000000000..c4f07da318e --- /dev/null +++ b/libjava/gnu/xml/dom/DomText.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomText__ +#define __gnu_xml_dom_DomText__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomText; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Text; + } + } + } +} + +class gnu::xml::dom::DomText : public ::gnu::xml::dom::DomCharacterData +{ + +public: // actually protected + DomText(::gnu::xml::dom::DomDocument *, ::java::lang::String *); + DomText(::gnu::xml::dom::DomDocument *, JArray< jchar > *, jint, jint); +public: // actually package-private + DomText(jshort, ::gnu::xml::dom::DomDocument *, ::java::lang::String *); + DomText(jshort, ::gnu::xml::dom::DomDocument *, JArray< jchar > *, jint, jint); +public: + virtual ::java::lang::String * getNodeName(); + virtual ::org::w3c::dom::Text * splitText(jint); + virtual jboolean isElementContentWhitespace(); + virtual ::java::lang::String * getWholeText(); + virtual ::org::w3c::dom::Text * replaceWholeText(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomText__ diff --git a/libjava/gnu/xml/dom/DomXPathExpression.h b/libjava/gnu/xml/dom/DomXPathExpression.h new file mode 100644 index 00000000000..000fe90f011 --- /dev/null +++ b/libjava/gnu/xml/dom/DomXPathExpression.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomXPathExpression__ +#define __gnu_xml_dom_DomXPathExpression__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + class DomXPathExpression; + } + } + } + namespace javax + { + namespace xml + { + namespace xpath + { + class XPathExpression; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace xpath + { + class XPathNSResolver; + } + } + } + } +} + +class gnu::xml::dom::DomXPathExpression : public ::java::lang::Object +{ + +public: // actually package-private + DomXPathExpression(::gnu::xml::dom::DomDocument *, ::java::lang::String *, ::org::w3c::dom::xpath::XPathNSResolver *); +public: + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jshort, ::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::dom::DomDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) doc; + ::javax::xml::xpath::XPathExpression * expression; + ::org::w3c::dom::xpath::XPathNSResolver * resolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomXPathExpression__ diff --git a/libjava/gnu/xml/dom/DomXPathNSResolver.h b/libjava/gnu/xml/dom/DomXPathNSResolver.h new file mode 100644 index 00000000000..40a4e977e47 --- /dev/null +++ b/libjava/gnu/xml/dom/DomXPathNSResolver.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomXPathNSResolver__ +#define __gnu_xml_dom_DomXPathNSResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomXPathNSResolver; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomXPathNSResolver : public ::java::lang::Object +{ + +public: // actually package-private + DomXPathNSResolver(::org::w3c::dom::Node *); +public: + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); +public: // actually package-private + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomXPathNSResolver__ diff --git a/libjava/gnu/xml/dom/DomXPathResult.h b/libjava/gnu/xml/dom/DomXPathResult.h new file mode 100644 index 00000000000..114d7ab2d4d --- /dev/null +++ b/libjava/gnu/xml/dom/DomXPathResult.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_DomXPathResult__ +#define __gnu_xml_dom_DomXPathResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomXPathResult; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::DomXPathResult : public ::java::lang::Object +{ + +public: // actually package-private + DomXPathResult(::java::lang::Object *, jshort); +public: + virtual jboolean getBooleanValue(); + virtual jboolean getInvalidIteratorState(); + virtual jdouble getNumberValue(); + virtual jshort getResultType(); + virtual ::org::w3c::dom::Node * getSingleNodeValue(); + virtual jint getSnapshotLength(); + virtual ::java::lang::String * getStringValue(); + virtual ::org::w3c::dom::Node * iterateNext(); + virtual ::org::w3c::dom::Node * snapshotItem(jint); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * typeName(jshort); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + jshort type; + ::java::util::Iterator * iterator; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_DomXPathResult__ diff --git a/libjava/gnu/xml/dom/ImplementationList.h b/libjava/gnu/xml/dom/ImplementationList.h new file mode 100644 index 00000000000..68813a3069c --- /dev/null +++ b/libjava/gnu/xml/dom/ImplementationList.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ImplementationList__ +#define __gnu_xml_dom_ImplementationList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class ImplementationList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + } + } + } +} + +class gnu::xml::dom::ImplementationList : public ::java::lang::Object +{ + +public: // actually package-private + ImplementationList(::java::util::List *); +public: + virtual jint getLength(); + virtual ::org::w3c::dom::DOMImplementation * item(jint); +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ImplementationList__ diff --git a/libjava/gnu/xml/dom/ImplementationSource.h b/libjava/gnu/xml/dom/ImplementationSource.h new file mode 100644 index 00000000000..c24a0306efc --- /dev/null +++ b/libjava/gnu/xml/dom/ImplementationSource.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ImplementationSource__ +#define __gnu_xml_dom_ImplementationSource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class ImplementationSource; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class DOMImplementationList; + } + } + } +} + +class gnu::xml::dom::ImplementationSource : public ::java::lang::Object +{ + +public: + ImplementationSource(); + virtual ::org::w3c::dom::DOMImplementation * getDOMImplementation(::java::lang::String *); + virtual ::org::w3c::dom::DOMImplementationList * getDOMImplementationList(::java::lang::String *); +private: + ::java::util::List * getImplementations(::java::lang::String *); +public: // actually package-private + virtual ::java::util::List * parseFeatures(::java::lang::String *); + virtual ::java::lang::String * getFeature(::java::lang::String *, jint, jint); +private: + static ::java::lang::String * DIGITS; + static JArray< ::org::w3c::dom::DOMImplementation * > * implementations; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ImplementationSource__ diff --git a/libjava/gnu/xml/dom/JAXPFactory$JAXPBuilder.h b/libjava/gnu/xml/dom/JAXPFactory$JAXPBuilder.h new file mode 100644 index 00000000000..464c4659ee9 --- /dev/null +++ b/libjava/gnu/xml/dom/JAXPFactory$JAXPBuilder.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_JAXPFactory$JAXPBuilder__ +#define __gnu_xml_dom_JAXPFactory$JAXPBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class Consumer; + class DomImpl; + class JAXPFactory; + class JAXPFactory$JAXPBuilder; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Document; + } + } + namespace xml + { + namespace sax + { + class EntityResolver; + class ErrorHandler; + class InputSource; + class SAXParseException; + class XMLReader; + } + } + } +} + +class gnu::xml::dom::JAXPFactory$JAXPBuilder : public ::javax::xml::parsers::DocumentBuilder +{ + +public: // actually package-private + JAXPFactory$JAXPBuilder(::org::xml::sax::XMLReader *, ::gnu::xml::dom::JAXPFactory *); +public: + ::org::w3c::dom::Document * parse(::org::xml::sax::InputSource *); + jboolean isNamespaceAware(); + jboolean isValidating(); + void setEntityResolver(::org::xml::sax::EntityResolver *); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + ::org::w3c::dom::DOMImplementation * getDOMImplementation(); + ::org::w3c::dom::Document * newDocument(); + void fatalError(::org::xml::sax::SAXParseException *); + void error(::org::xml::sax::SAXParseException *); + void warning(::org::xml::sax::SAXParseException *); +private: + ::gnu::xml::dom::Consumer * __attribute__((aligned(__alignof__( ::javax::xml::parsers::DocumentBuilder)))) consumer; + ::org::xml::sax::XMLReader * producer; + ::gnu::xml::dom::DomImpl * impl; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_JAXPFactory$JAXPBuilder__ diff --git a/libjava/gnu/xml/dom/JAXPFactory.h b/libjava/gnu/xml/dom/JAXPFactory.h new file mode 100644 index 00000000000..16b24682692 --- /dev/null +++ b/libjava/gnu/xml/dom/JAXPFactory.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_JAXPFactory__ +#define __gnu_xml_dom_JAXPFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class JAXPFactory; + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class DocumentBuilder; + class SAXParserFactory; + } + } + } +} + +class gnu::xml::dom::JAXPFactory : public ::javax::xml::parsers::DocumentBuilderFactory +{ + +public: + JAXPFactory(); + ::javax::xml::parsers::DocumentBuilder * newDocumentBuilder(); + void setAttribute(::java::lang::String *, ::java::lang::Object *); + ::java::lang::Object * getAttribute(::java::lang::String *); + void setFeature(::java::lang::String *, jboolean); + jboolean getFeature(::java::lang::String *); +private: + static ::java::lang::String * PROPERTY; + static ::java::lang::String * FEATURE; + ::javax::xml::parsers::SAXParserFactory * __attribute__((aligned(__alignof__( ::javax::xml::parsers::DocumentBuilderFactory)))) pf; + jboolean secureProcessing; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_JAXPFactory__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLAnchorElement.h b/libjava/gnu/xml/dom/html2/DomHTMLAnchorElement.h new file mode 100644 index 00000000000..6df58a7579b --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLAnchorElement.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLAnchorElement__ +#define __gnu_xml_dom_html2_DomHTMLAnchorElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLAnchorElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLAnchorElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLAnchorElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual ::java::lang::String * getCharset(); + virtual void setCharset(::java::lang::String *); + virtual ::java::lang::String * getCoords(); + virtual void setCoords(::java::lang::String *); + virtual ::java::lang::String * getHref(); + virtual void setHref(::java::lang::String *); + virtual ::java::lang::String * getHreflang(); + virtual void setHreflang(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getRel(); + virtual void setRel(::java::lang::String *); + virtual ::java::lang::String * getRev(); + virtual void setRev(::java::lang::String *); + virtual ::java::lang::String * getShape(); + virtual void setShape(::java::lang::String *); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual ::java::lang::String * getTarget(); + virtual void setTarget(::java::lang::String *); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + virtual void blur(); + virtual void focus(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLAnchorElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLAppletElement.h b/libjava/gnu/xml/dom/html2/DomHTMLAppletElement.h new file mode 100644 index 00000000000..9976a0b7734 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLAppletElement.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLAppletElement__ +#define __gnu_xml_dom_html2_DomHTMLAppletElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLAppletElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLAppletElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLAppletElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getCls(); + virtual void setCls(::java::lang::String *); + virtual ::java::lang::String * getSrc(); + virtual void setSrc(::java::lang::String *); + virtual ::java::lang::String * getAlt(); + virtual void setAlt(::java::lang::String *); + virtual ::java::lang::String * getArchive(); + virtual void setArchive(::java::lang::String *); + virtual ::java::lang::String * getCode(); + virtual void setCode(::java::lang::String *); + virtual ::java::lang::String * getCodeBase(); + virtual void setCodeBase(::java::lang::String *); + virtual ::java::lang::String * getHeight(); + virtual void setHeight(::java::lang::String *); + virtual jint getHspace(); + virtual void setHspace(jint); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getObject(); + virtual void setObject(::java::lang::String *); + virtual jint getVspace(); + virtual void setVspace(jint); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLAppletElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLAreaElement.h b/libjava/gnu/xml/dom/html2/DomHTMLAreaElement.h new file mode 100644 index 00000000000..2ac0c3c7afd --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLAreaElement.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLAreaElement__ +#define __gnu_xml_dom_html2_DomHTMLAreaElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLAreaElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLAreaElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLAreaElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual ::java::lang::String * getAlt(); + virtual void setAlt(::java::lang::String *); + virtual ::java::lang::String * getCoords(); + virtual void setCoords(::java::lang::String *); + virtual ::java::lang::String * getHref(); + virtual void setHref(::java::lang::String *); + virtual jboolean getNoHref(); + virtual void setNoHref(jboolean); + virtual ::java::lang::String * getShape(); + virtual void setShape(::java::lang::String *); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual ::java::lang::String * getTarget(); + virtual void setTarget(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLAreaElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLBRElement.h b/libjava/gnu/xml/dom/html2/DomHTMLBRElement.h new file mode 100644 index 00000000000..555ff42cd15 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLBRElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLBRElement__ +#define __gnu_xml_dom_html2_DomHTMLBRElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLBRElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLBRElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLBRElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getClear(); + virtual void setClear(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLBRElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLBaseElement.h b/libjava/gnu/xml/dom/html2/DomHTMLBaseElement.h new file mode 100644 index 00000000000..523060ad067 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLBaseElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLBaseElement__ +#define __gnu_xml_dom_html2_DomHTMLBaseElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLBaseElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLBaseElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLBaseElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getHref(); + virtual void setHref(::java::lang::String *); + virtual ::java::lang::String * getTarget(); + virtual void setTarget(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLBaseElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLBaseFontElement.h b/libjava/gnu/xml/dom/html2/DomHTMLBaseFontElement.h new file mode 100644 index 00000000000..b5586a35e15 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLBaseFontElement.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLBaseFontElement__ +#define __gnu_xml_dom_html2_DomHTMLBaseFontElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLBaseFontElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLBaseFontElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLBaseFontElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getColor(); + virtual void setColor(::java::lang::String *); + virtual ::java::lang::String * getFace(); + virtual void setFace(::java::lang::String *); + virtual jint getSize(); + virtual void setSize(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLBaseFontElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLBodyElement.h b/libjava/gnu/xml/dom/html2/DomHTMLBodyElement.h new file mode 100644 index 00000000000..8e633ba6f9c --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLBodyElement.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLBodyElement__ +#define __gnu_xml_dom_html2_DomHTMLBodyElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLBodyElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLBodyElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLBodyElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getALink(); + virtual void setALink(::java::lang::String *); + virtual ::java::lang::String * getBackground(); + virtual void setBackground(::java::lang::String *); + virtual ::java::lang::String * getBgColor(); + virtual void setBgColor(::java::lang::String *); + virtual ::java::lang::String * getLink(); + virtual void setLink(::java::lang::String *); + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + virtual ::java::lang::String * getVLink(); + virtual void setVLink(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLBodyElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLButtonElement.h b/libjava/gnu/xml/dom/html2/DomHTMLButtonElement.h new file mode 100644 index 00000000000..50fd3b89829 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLButtonElement.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLButtonElement__ +#define __gnu_xml_dom_html2_DomHTMLButtonElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLButtonElement; + class DomHTMLDocument; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLButtonElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLButtonElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual ::java::lang::String * getType(); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLButtonElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLCollection.h b/libjava/gnu/xml/dom/html2/DomHTMLCollection.h new file mode 100644 index 00000000000..bd116d8a974 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLCollection.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLCollection__ +#define __gnu_xml_dom_html2_DomHTMLCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLCollection; + class DomHTMLDocument; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class NamedNodeMap; + class Node; + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLCollection : public ::java::lang::Object +{ + +public: // actually package-private + DomHTMLCollection(::gnu::xml::dom::html2::DomHTMLDocument *, ::org::w3c::dom::Node *); + virtual void addNodeName(::java::lang::String *); + virtual void addAttributeName(::java::lang::String *); +public: + virtual jshort acceptNode(::org::w3c::dom::Node *); +private: + jboolean acceptName(::java::lang::String *); + jboolean acceptAttributes(::org::w3c::dom::NamedNodeMap *); + ::org::w3c::dom::Node * getNamedItem(::org::w3c::dom::NamedNodeMap *, ::java::lang::String *); +public: // actually package-private + virtual void evaluate(); +public: + virtual jint getLength(); + virtual void setLength(jint); + virtual ::org::w3c::dom::Node * item(jint); + virtual ::org::w3c::dom::Node * namedItem(::java::lang::String *); +public: // actually package-private + ::gnu::xml::dom::html2::DomHTMLDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) doc; + ::org::w3c::dom::Node * root; + ::java::util::List * nodeNames; + ::java::util::List * attributeNames; + ::java::util::List * results; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLCollection__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLDListElement.h b/libjava/gnu/xml/dom/html2/DomHTMLDListElement.h new file mode 100644 index 00000000000..2a9529059ab --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLDListElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLDListElement__ +#define __gnu_xml_dom_html2_DomHTMLDListElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDListElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLDListElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLDListElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getCompact(); + virtual void setCompact(jboolean); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLDListElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLDirectoryElement.h b/libjava/gnu/xml/dom/html2/DomHTMLDirectoryElement.h new file mode 100644 index 00000000000..99ea1b5b3ae --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLDirectoryElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLDirectoryElement__ +#define __gnu_xml_dom_html2_DomHTMLDirectoryElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDirectoryElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLDirectoryElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLDirectoryElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getCompact(); + virtual void setCompact(jboolean); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLDirectoryElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLDivElement.h b/libjava/gnu/xml/dom/html2/DomHTMLDivElement.h new file mode 100644 index 00000000000..f20a796e23a --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLDivElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLDivElement__ +#define __gnu_xml_dom_html2_DomHTMLDivElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDivElement; + class DomHTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLDivElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLDivElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLDivElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLDocument.h b/libjava/gnu/xml/dom/html2/DomHTMLDocument.h new file mode 100644 index 00000000000..4602edec2f9 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLDocument.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLDocument__ +#define __gnu_xml_dom_html2_DomHTMLDocument__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLImpl; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + class Node; + class NodeList; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLDocument : public ::gnu::xml::dom::DomDocument +{ + +public: + DomHTMLDocument(); + DomHTMLDocument(::gnu::xml::dom::html2::DomHTMLImpl *); +private: + ::org::w3c::dom::Node * getChildNodeByName(::org::w3c::dom::Node *, ::java::lang::String *); +public: + virtual ::java::lang::String * getTitle(); + virtual void setTitle(::java::lang::String *); + virtual ::java::lang::String * getReferrer(); + virtual ::java::lang::String * getDomain(); + virtual ::java::lang::String * getURL(); + virtual ::org::w3c::dom::html2::HTMLElement * getBody(); + virtual void setBody(::org::w3c::dom::html2::HTMLElement *); + virtual ::org::w3c::dom::html2::HTMLCollection * getImages(); + virtual ::org::w3c::dom::html2::HTMLCollection * getApplets(); + virtual ::org::w3c::dom::html2::HTMLCollection * getLinks(); + virtual ::org::w3c::dom::html2::HTMLCollection * getForms(); + virtual ::org::w3c::dom::html2::HTMLCollection * getAnchors(); + virtual ::java::lang::String * getCookie(); + virtual void setCookie(::java::lang::String *); + virtual void open(); + virtual void close(); + virtual void write(::java::lang::String *); + virtual void writeln(::java::lang::String *); + virtual ::org::w3c::dom::NodeList * getElementsByName(::java::lang::String *); + virtual ::org::w3c::dom::Element * createElement(::java::lang::String *); + virtual ::org::w3c::dom::Element * createElementNS(::java::lang::String *, ::java::lang::String *); +private: + static JArray< ::java::lang::Class * > * ELEMENT_PT; + static ::java::util::Map * ELEMENT_CLASSES; + static ::java::util::Set * HTML_NS_URIS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLDocument__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLElement.h b/libjava/gnu/xml/dom/html2/DomHTMLElement.h new file mode 100644 index 00000000000..38dd789895d --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLElement.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLElement__ +#define __gnu_xml_dom_html2_DomHTMLElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLElement : public ::gnu::xml::dom::DomElement +{ + +public: // actually protected + DomHTMLElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getHTMLAttribute(::java::lang::String *); + virtual jint getIntHTMLAttribute(::java::lang::String *); + virtual jboolean getBooleanHTMLAttribute(::java::lang::String *); + virtual void setHTMLAttribute(::java::lang::String *, ::java::lang::String *); + virtual void setIntHTMLAttribute(::java::lang::String *, jint); + virtual void setBooleanHTMLAttribute(::java::lang::String *, jboolean); + virtual ::org::w3c::dom::Node * getParentElement(::java::lang::String *); + virtual ::org::w3c::dom::Node * getChildElement(::java::lang::String *); + virtual jint getIndex(); + virtual void dispatchUIEvent(::java::lang::String *); +public: + virtual ::java::lang::String * getId(); + virtual void setId(::java::lang::String *); + virtual ::java::lang::String * getTitle(); + virtual void setTitle(::java::lang::String *); + virtual ::java::lang::String * getLang(); + virtual void setLang(::java::lang::String *); + virtual ::java::lang::String * getDir(); + virtual void setDir(::java::lang::String *); + virtual ::java::lang::String * getClassName(); + virtual void setClassName(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLEmbedElement.h b/libjava/gnu/xml/dom/html2/DomHTMLEmbedElement.h new file mode 100644 index 00000000000..4ad0d5488ae --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLEmbedElement.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLEmbedElement__ +#define __gnu_xml_dom_html2_DomHTMLEmbedElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLEmbedElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLEmbedElement : public ::gnu::xml::dom::html2::DomHTMLAppletElement +{ + +public: // actually protected + DomHTMLEmbedElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getJavaObject(); + virtual void setJavaObject(::java::lang::String *); + virtual ::java::lang::String * getJavaCodeBase(); + virtual void setJavaCodeBase(::java::lang::String *); + virtual ::java::lang::String * getJavaArchive(); + virtual void setJavaArchive(::java::lang::String *); + virtual void setJavaCode(::java::lang::String *); + virtual ::java::lang::String * getJavaCode(); + virtual void setJavaType(::java::lang::String *); + virtual ::java::lang::String * getJavaType(); + virtual void setType(::java::lang::String *); + virtual ::java::lang::String * getType(); + virtual ::java::lang::String * getPluginsPage(); + virtual void setPluginsPage(::java::lang::String *); + virtual ::java::lang::String * getMayscript(); + virtual void setMayscript(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLEmbedElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLFieldSetElement.h b/libjava/gnu/xml/dom/html2/DomHTMLFieldSetElement.h new file mode 100644 index 00000000000..7eeb5b9212f --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLFieldSetElement.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLFieldSetElement__ +#define __gnu_xml_dom_html2_DomHTMLFieldSetElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLFieldSetElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLFieldSetElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLFieldSetElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLFieldSetElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLFontElement.h b/libjava/gnu/xml/dom/html2/DomHTMLFontElement.h new file mode 100644 index 00000000000..ee3dfcd90cd --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLFontElement.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLFontElement__ +#define __gnu_xml_dom_html2_DomHTMLFontElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLFontElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLFontElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLFontElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getColor(); + virtual void setColor(::java::lang::String *); + virtual ::java::lang::String * getFace(); + virtual void setFace(::java::lang::String *); + virtual ::java::lang::String * getSize(); + virtual void setSize(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLFontElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLFormElement.h b/libjava/gnu/xml/dom/html2/DomHTMLFormElement.h new file mode 100644 index 00000000000..a349505c1c4 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLFormElement.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLFormElement__ +#define __gnu_xml_dom_html2_DomHTMLFormElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLFormElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLCollection; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLFormElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLFormElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLCollection * getElements(); + virtual jint getLength(); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getAcceptCharset(); + virtual void setAcceptCharset(::java::lang::String *); + virtual ::java::lang::String * getAction(); + virtual void setAction(::java::lang::String *); + virtual ::java::lang::String * getEnctype(); + virtual void setEnctype(::java::lang::String *); + virtual ::java::lang::String * getMethod(); + virtual void setMethod(::java::lang::String *); + virtual ::java::lang::String * getTarget(); + virtual void setTarget(::java::lang::String *); + virtual void submit(); + virtual void reset(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLFormElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLFrameElement.h b/libjava/gnu/xml/dom/html2/DomHTMLFrameElement.h new file mode 100644 index 00000000000..683185b1ab2 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLFrameElement.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLFrameElement__ +#define __gnu_xml_dom_html2_DomHTMLFrameElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLFrameElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLFrameElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLFrameElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getFrameBorder(); + virtual void setFrameBorder(::java::lang::String *); + virtual ::java::lang::String * getLongDesc(); + virtual void setLongDesc(::java::lang::String *); + virtual ::java::lang::String * getMarginHeight(); + virtual void setMarginHeight(::java::lang::String *); + virtual ::java::lang::String * getMarginWidth(); + virtual void setMarginWidth(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual jboolean getNoResize(); + virtual void setNoResize(jboolean); + virtual ::java::lang::String * getScrolling(); + virtual void setScrolling(::java::lang::String *); + virtual ::java::lang::String * getSrc(); + virtual void setSrc(::java::lang::String *); + virtual ::org::w3c::dom::Document * getContentDocument(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLFrameElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLFrameSetElement.h b/libjava/gnu/xml/dom/html2/DomHTMLFrameSetElement.h new file mode 100644 index 00000000000..1a410a6c14d --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLFrameSetElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLFrameSetElement__ +#define __gnu_xml_dom_html2_DomHTMLFrameSetElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLFrameSetElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLFrameSetElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLFrameSetElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getCols(); + virtual void setCols(::java::lang::String *); + virtual ::java::lang::String * getRows(); + virtual void setRows(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLFrameSetElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLHRElement.h b/libjava/gnu/xml/dom/html2/DomHTMLHRElement.h new file mode 100644 index 00000000000..acea978ac1a --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLHRElement.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLHRElement__ +#define __gnu_xml_dom_html2_DomHTMLHRElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLHRElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLHRElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLHRElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual jboolean getNoShade(); + virtual void setNoShade(jboolean); + virtual ::java::lang::String * getSize(); + virtual void setSize(::java::lang::String *); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLHRElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLHeadElement.h b/libjava/gnu/xml/dom/html2/DomHTMLHeadElement.h new file mode 100644 index 00000000000..fc83fd36534 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLHeadElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLHeadElement__ +#define __gnu_xml_dom_html2_DomHTMLHeadElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLHeadElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLHeadElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLHeadElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getProfile(); + virtual void setProfile(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLHeadElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLHeadingElement.h b/libjava/gnu/xml/dom/html2/DomHTMLHeadingElement.h new file mode 100644 index 00000000000..5610db591b8 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLHeadingElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLHeadingElement__ +#define __gnu_xml_dom_html2_DomHTMLHeadingElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLHeadingElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLHeadingElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLHeadingElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLHeadingElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLHtmlElement.h b/libjava/gnu/xml/dom/html2/DomHTMLHtmlElement.h new file mode 100644 index 00000000000..34cf12db3ab --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLHtmlElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLHtmlElement__ +#define __gnu_xml_dom_html2_DomHTMLHtmlElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLHtmlElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLHtmlElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLHtmlElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getVersion(); + virtual void setVersion(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLHtmlElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLIFrameElement.h b/libjava/gnu/xml/dom/html2/DomHTMLIFrameElement.h new file mode 100644 index 00000000000..71661b9a3ee --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLIFrameElement.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLIFrameElement__ +#define __gnu_xml_dom_html2_DomHTMLIFrameElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLIFrameElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLIFrameElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLIFrameElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getFrameBorder(); + virtual void setFrameBorder(::java::lang::String *); + virtual ::java::lang::String * getHeight(); + virtual void setHeight(::java::lang::String *); + virtual ::java::lang::String * getLongDesc(); + virtual void setLongDesc(::java::lang::String *); + virtual ::java::lang::String * getMarginHeight(); + virtual void setMarginHeight(::java::lang::String *); + virtual ::java::lang::String * getMarginWidth(); + virtual void setMarginWidth(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getScrolling(); + virtual void setScrolling(::java::lang::String *); + virtual ::java::lang::String * getSrc(); + virtual void setSrc(::java::lang::String *); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + virtual ::org::w3c::dom::Document * getContentDocument(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLIFrameElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLImageElement.h b/libjava/gnu/xml/dom/html2/DomHTMLImageElement.h new file mode 100644 index 00000000000..dd2b429d3df --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLImageElement.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLImageElement__ +#define __gnu_xml_dom_html2_DomHTMLImageElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLImageElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLImageElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLImageElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getAlt(); + virtual void setAlt(::java::lang::String *); + virtual ::java::lang::String * getBorder(); + virtual void setBorder(::java::lang::String *); + virtual jint getHeight(); + virtual void setHeight(jint); + virtual jint getHspace(); + virtual void setHspace(jint); + virtual jboolean getIsMap(); + virtual void setIsMap(jboolean); + virtual ::java::lang::String * getLongDesc(); + virtual void setLongDesc(::java::lang::String *); + virtual ::java::lang::String * getSrc(); + virtual void setSrc(::java::lang::String *); + virtual ::java::lang::String * getUseMap(); + virtual void setUseMap(::java::lang::String *); + virtual jint getVspace(); + virtual void setVspace(jint); + virtual jint getWidth(); + virtual void setWidth(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLImageElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLImpl.h b/libjava/gnu/xml/dom/html2/DomHTMLImpl.h new file mode 100644 index 00000000000..c2d322c114d --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLImpl__ +#define __gnu_xml_dom_html2_DomHTMLImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLImpl; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLImpl : public ::gnu::xml::dom::DomImpl +{ + +public: + DomHTMLImpl(); +public: // actually protected + virtual ::org::w3c::dom::Document * createDocument(); +public: + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLImpl__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLInputElement.h b/libjava/gnu/xml/dom/html2/DomHTMLInputElement.h new file mode 100644 index 00000000000..85f70605fda --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLInputElement.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLInputElement__ +#define __gnu_xml_dom_html2_DomHTMLInputElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLInputElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLInputElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLInputElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getDefaultValue(); + virtual void setDefaultValue(::java::lang::String *); + virtual jboolean getDefaultChecked(); + virtual void setDefaultChecked(jboolean); + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getAccept(); + virtual void setAccept(::java::lang::String *); + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getAlt(); + virtual void setAlt(::java::lang::String *); + virtual jboolean getChecked(); + virtual void setChecked(jboolean); + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual jint getMaxLength(); + virtual void setMaxLength(jint); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual jboolean getReadOnly(); + virtual void setReadOnly(jboolean); + virtual jint getSize(); + virtual void setSize(jint); + virtual ::java::lang::String * getSrc(); + virtual void setSrc(::java::lang::String *); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + virtual ::java::lang::String * getUseMap(); + virtual void setUseMap(::java::lang::String *); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); + virtual void blur(); + virtual void focus(); + virtual void select(); + virtual void click(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::html2::DomHTMLElement)))) value; + ::java::lang::Boolean * checked; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLInputElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLIsIndexElement.h b/libjava/gnu/xml/dom/html2/DomHTMLIsIndexElement.h new file mode 100644 index 00000000000..3b67d3439fa --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLIsIndexElement.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLIsIndexElement__ +#define __gnu_xml_dom_html2_DomHTMLIsIndexElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLIsIndexElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLIsIndexElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLIsIndexElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getPrompt(); + virtual void setPrompt(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLIsIndexElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLLIElement.h b/libjava/gnu/xml/dom/html2/DomHTMLLIElement.h new file mode 100644 index 00000000000..6c988909ba4 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLLIElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLLIElement__ +#define __gnu_xml_dom_html2_DomHTMLLIElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLLIElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLLIElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLLIElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + virtual jint getValue(); + virtual void setValue(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLLIElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLLabelElement.h b/libjava/gnu/xml/dom/html2/DomHTMLLabelElement.h new file mode 100644 index 00000000000..0ca04dc5e95 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLLabelElement.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLLabelElement__ +#define __gnu_xml_dom_html2_DomHTMLLabelElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLLabelElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLLabelElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLLabelElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual ::java::lang::String * getHtmlFor(); + virtual void setHtmlFor(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLLabelElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLLegendElement.h b/libjava/gnu/xml/dom/html2/DomHTMLLegendElement.h new file mode 100644 index 00000000000..dfcfd08b15c --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLLegendElement.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLLegendElement__ +#define __gnu_xml_dom_html2_DomHTMLLegendElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLLegendElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLLegendElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLLegendElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLLegendElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLLinkElement.h b/libjava/gnu/xml/dom/html2/DomHTMLLinkElement.h new file mode 100644 index 00000000000..7f396e06f82 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLLinkElement.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLLinkElement__ +#define __gnu_xml_dom_html2_DomHTMLLinkElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLLinkElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLLinkElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLLinkElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual ::java::lang::String * getCharset(); + virtual void setCharset(::java::lang::String *); + virtual ::java::lang::String * getHref(); + virtual void setHref(::java::lang::String *); + virtual ::java::lang::String * getHreflang(); + virtual void setHreflang(::java::lang::String *); + virtual ::java::lang::String * getMedia(); + virtual void setMedia(::java::lang::String *); + virtual ::java::lang::String * getRel(); + virtual void setRel(::java::lang::String *); + virtual ::java::lang::String * getRev(); + virtual void setRev(::java::lang::String *); + virtual ::java::lang::String * getTarget(); + virtual void setTarget(::java::lang::String *); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLLinkElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLMapElement.h b/libjava/gnu/xml/dom/html2/DomHTMLMapElement.h new file mode 100644 index 00000000000..17eb5740207 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLMapElement.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLMapElement__ +#define __gnu_xml_dom_html2_DomHTMLMapElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLMapElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLCollection; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLMapElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLMapElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLCollection * getAreas(); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLMapElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLMenuElement.h b/libjava/gnu/xml/dom/html2/DomHTMLMenuElement.h new file mode 100644 index 00000000000..d0ae6872961 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLMenuElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLMenuElement__ +#define __gnu_xml_dom_html2_DomHTMLMenuElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLMenuElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLMenuElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLMenuElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getCompact(); + virtual void setCompact(jboolean); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLMenuElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLMetaElement.h b/libjava/gnu/xml/dom/html2/DomHTMLMetaElement.h new file mode 100644 index 00000000000..e2dc56929d1 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLMetaElement.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLMetaElement__ +#define __gnu_xml_dom_html2_DomHTMLMetaElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLMetaElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLMetaElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLMetaElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getContent(); + virtual void setContent(::java::lang::String *); + virtual ::java::lang::String * getHttpEquiv(); + virtual void setHttpEquiv(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getScheme(); + virtual void setScheme(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLMetaElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLModElement.h b/libjava/gnu/xml/dom/html2/DomHTMLModElement.h new file mode 100644 index 00000000000..1947ba888d7 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLModElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLModElement__ +#define __gnu_xml_dom_html2_DomHTMLModElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLModElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLModElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLModElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getCite(); + virtual void setCite(::java::lang::String *); + virtual ::java::lang::String * getDateTime(); + virtual void setDateTime(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLModElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLOListElement.h b/libjava/gnu/xml/dom/html2/DomHTMLOListElement.h new file mode 100644 index 00000000000..173e3d06798 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLOListElement.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLOListElement__ +#define __gnu_xml_dom_html2_DomHTMLOListElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLOListElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLOListElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLOListElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getCompact(); + virtual void setCompact(jboolean); + virtual jint getStart(); + virtual void setStart(jint); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLOListElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLObjectElement.h b/libjava/gnu/xml/dom/html2/DomHTMLObjectElement.h new file mode 100644 index 00000000000..8ab137b3124 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLObjectElement.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLObjectElement__ +#define __gnu_xml_dom_html2_DomHTMLObjectElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLObjectElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLObjectElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLObjectElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getCode(); + virtual void setCode(::java::lang::String *); + virtual ::java::lang::String * getJavaCode(); + virtual void setJavaCode(::java::lang::String *); + virtual ::java::lang::String * getObject(); + virtual void setObject(::java::lang::String *); + virtual ::java::lang::String * getJavaObject(); + virtual void setJavaObject(::java::lang::String *); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getArchive(); + virtual void setArchive(::java::lang::String *); + virtual ::java::lang::String * getJavaArchive(); + virtual void setJavaArchive(::java::lang::String *); + virtual ::java::lang::String * getBorder(); + virtual void setBorder(::java::lang::String *); + virtual ::java::lang::String * getCodeBase(); + virtual void setCodeBase(::java::lang::String *); + virtual ::java::lang::String * getJavaCodeBase(); + virtual void setJavaCodeBase(::java::lang::String *); + virtual ::java::lang::String * getCodeType(); + virtual void setCodeType(::java::lang::String *); + virtual ::java::lang::String * getData(); + virtual void setData(::java::lang::String *); + virtual jboolean getDeclare(); + virtual void setDeclare(jboolean); + virtual ::java::lang::String * getHeight(); + virtual void setHeight(::java::lang::String *); + virtual jint getHspace(); + virtual void setHspace(jint); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getStandby(); + virtual void setStandby(::java::lang::String *); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + virtual ::java::lang::String * getJavaType(); + virtual void setJavaType(::java::lang::String *); + virtual ::java::lang::String * getUseMap(); + virtual void setUseMap(::java::lang::String *); + virtual jint getVspace(); + virtual void setVspace(jint); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + virtual ::org::w3c::dom::Document * getContentDocument(); + virtual void setMayscript(::java::lang::String *); + virtual ::java::lang::String * getMayscript(); + virtual void setScriptable(::java::lang::String *); + virtual ::java::lang::String * getScriptable(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLObjectElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLOptGroupElement.h b/libjava/gnu/xml/dom/html2/DomHTMLOptGroupElement.h new file mode 100644 index 00000000000..3a81ae1eed3 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLOptGroupElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLOptGroupElement__ +#define __gnu_xml_dom_html2_DomHTMLOptGroupElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLOptGroupElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLOptGroupElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLOptGroupElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual ::java::lang::String * getLabel(); + virtual void setLabel(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLOptGroupElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLOptionElement.h b/libjava/gnu/xml/dom/html2/DomHTMLOptionElement.h new file mode 100644 index 00000000000..d681c07cab5 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLOptionElement.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLOptionElement__ +#define __gnu_xml_dom_html2_DomHTMLOptionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLOptionElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLOptionElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLOptionElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual jboolean getDefaultSelected(); + virtual void setDefaultSelected(jboolean); + virtual ::java::lang::String * getText(); + virtual jint getIndex(); + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual ::java::lang::String * getLabel(); + virtual void setLabel(::java::lang::String *); + virtual jboolean getSelected(); + virtual void setSelected(jboolean); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); +public: // actually protected + ::java::lang::Boolean * __attribute__((aligned(__alignof__( ::gnu::xml::dom::html2::DomHTMLElement)))) selected; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLOptionElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLParagraphElement.h b/libjava/gnu/xml/dom/html2/DomHTMLParagraphElement.h new file mode 100644 index 00000000000..8dc30e5bdf2 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLParagraphElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLParagraphElement__ +#define __gnu_xml_dom_html2_DomHTMLParagraphElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLParagraphElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLParagraphElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLParagraphElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLParagraphElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLParamElement.h b/libjava/gnu/xml/dom/html2/DomHTMLParamElement.h new file mode 100644 index 00000000000..a0acd7d5dd7 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLParamElement.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLParamElement__ +#define __gnu_xml_dom_html2_DomHTMLParamElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLParamElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLParamElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLParamElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); + virtual ::java::lang::String * getValueType(); + virtual void setValueType(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLParamElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLParser.h b/libjava/gnu/xml/dom/html2/DomHTMLParser.h new file mode 100644 index 00000000000..3e01fdcdacb --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLParser.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLParser__ +#define __gnu_xml_dom_html2_DomHTMLParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLParser; + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class TagElement; + } + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace html2 + { + class HTMLDocument; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLParser : public ::gnu::javax::swing::text::html::parser::support::Parser +{ + +public: + DomHTMLParser(::javax::swing::text::html::parser::DTD *); + virtual jboolean parseMarkupDeclarations(::java::lang::StringBuffer *); + virtual ::org::w3c::dom::html2::HTMLDocument * parseDocument(::java::io::Reader *); +public: // actually protected + virtual ::org::w3c::dom::Node * createNode(::java::lang::String *); + virtual void handleComment(JArray< jchar > *); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); + ::gnu::xml::dom::html2::DomHTMLDocument * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::Parser)))) document; + ::org::w3c::dom::Node * cursor; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLParser__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLPreElement.h b/libjava/gnu/xml/dom/html2/DomHTMLPreElement.h new file mode 100644 index 00000000000..e74965efa7c --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLPreElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLPreElement__ +#define __gnu_xml_dom_html2_DomHTMLPreElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLPreElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLPreElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLPreElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getWidth(); + virtual void setWidth(jint); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLPreElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLQuoteElement.h b/libjava/gnu/xml/dom/html2/DomHTMLQuoteElement.h new file mode 100644 index 00000000000..3555201655d --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLQuoteElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLQuoteElement__ +#define __gnu_xml_dom_html2_DomHTMLQuoteElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLQuoteElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLQuoteElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLQuoteElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getCite(); + virtual void setCite(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLQuoteElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLScriptElement.h b/libjava/gnu/xml/dom/html2/DomHTMLScriptElement.h new file mode 100644 index 00000000000..cc03a8fb6b4 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLScriptElement.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLScriptElement__ +#define __gnu_xml_dom_html2_DomHTMLScriptElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLScriptElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLScriptElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLScriptElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + virtual ::java::lang::String * getHtmlFor(); + virtual void setHtmlFor(::java::lang::String *); + virtual ::java::lang::String * getEvent(); + virtual void setEvent(::java::lang::String *); + virtual ::java::lang::String * getCharset(); + virtual void setCharset(::java::lang::String *); + virtual jboolean getDefer(); + virtual void setDefer(jboolean); + virtual ::java::lang::String * getSrc(); + virtual void setSrc(::java::lang::String *); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLScriptElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLSelectElement.h b/libjava/gnu/xml/dom/html2/DomHTMLSelectElement.h new file mode 100644 index 00000000000..51ea54c6bab --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLSelectElement.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLSelectElement__ +#define __gnu_xml_dom_html2_DomHTMLSelectElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLSelectElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLElement; + class HTMLFormElement; + class HTMLOptionsCollection; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLSelectElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLSelectElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getType(); + virtual jint getSelectedIndex(); + virtual void setSelectedIndex(jint); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); + virtual jint getLength(); + virtual void setLength(jint); + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::org::w3c::dom::html2::HTMLOptionsCollection * getOptions(); + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual jboolean getMultiple(); + virtual void setMultiple(jboolean); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual jint getSize(); + virtual void setSize(jint); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual void add(::org::w3c::dom::html2::HTMLElement *, ::org::w3c::dom::html2::HTMLElement *); + virtual void remove(jint); + virtual void blur(); + virtual void focus(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLSelectElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLStyleElement.h b/libjava/gnu/xml/dom/html2/DomHTMLStyleElement.h new file mode 100644 index 00000000000..206539ff5e9 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLStyleElement.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLStyleElement__ +#define __gnu_xml_dom_html2_DomHTMLStyleElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLStyleElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLStyleElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLStyleElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual ::java::lang::String * getMedia(); + virtual void setMedia(::java::lang::String *); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLStyleElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTableCaptionElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTableCaptionElement.h new file mode 100644 index 00000000000..e9076499ce0 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTableCaptionElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTableCaptionElement__ +#define __gnu_xml_dom_html2_DomHTMLTableCaptionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTableCaptionElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTableCaptionElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTableCaptionElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTableCaptionElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTableCellElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTableCellElement.h new file mode 100644 index 00000000000..7d31e5498b2 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTableCellElement.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTableCellElement__ +#define __gnu_xml_dom_html2_DomHTMLTableCellElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTableCellElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTableCellElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTableCellElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getCellIndex(); + virtual ::java::lang::String * getAbbr(); + virtual void setAbbr(::java::lang::String *); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getAxis(); + virtual void setAxis(::java::lang::String *); + virtual ::java::lang::String * getBgColor(); + virtual void setBgColor(::java::lang::String *); + virtual ::java::lang::String * getCh(); + virtual void setCh(::java::lang::String *); + virtual ::java::lang::String * getChOff(); + virtual void setChOff(::java::lang::String *); + virtual jint getColSpan(); + virtual void setColSpan(jint); + virtual ::java::lang::String * getHeaders(); + virtual void setHeaders(::java::lang::String *); + virtual ::java::lang::String * getHeight(); + virtual void setHeight(::java::lang::String *); + virtual jboolean getNoWrap(); + virtual void setNoWrap(jboolean); + virtual jint getRowSpan(); + virtual void setRowSpan(jint); + virtual ::java::lang::String * getScope(); + virtual void setScope(::java::lang::String *); + virtual ::java::lang::String * getVAlign(); + virtual void setVAlign(::java::lang::String *); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTableCellElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTableColElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTableColElement.h new file mode 100644 index 00000000000..ff55d970f60 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTableColElement.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTableColElement__ +#define __gnu_xml_dom_html2_DomHTMLTableColElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTableColElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTableColElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTableColElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getCh(); + virtual void setCh(::java::lang::String *); + virtual ::java::lang::String * getChOff(); + virtual void setChOff(::java::lang::String *); + virtual jint getSpan(); + virtual void setSpan(jint); + virtual ::java::lang::String * getVAlign(); + virtual void setVAlign(::java::lang::String *); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTableColElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTableElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTableElement.h new file mode 100644 index 00000000000..0bc78f7cec3 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTableElement.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTableElement__ +#define __gnu_xml_dom_html2_DomHTMLTableElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTableElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + class HTMLTableCaptionElement; + class HTMLTableSectionElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTableElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTableElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::html2::HTMLTableCaptionElement * getCaption(); + virtual void setCaption(::org::w3c::dom::html2::HTMLTableCaptionElement *); + virtual ::org::w3c::dom::html2::HTMLTableSectionElement * getTHead(); + virtual void setTHead(::org::w3c::dom::html2::HTMLTableSectionElement *); + virtual ::org::w3c::dom::html2::HTMLTableSectionElement * getTFoot(); + virtual void setTFoot(::org::w3c::dom::html2::HTMLTableSectionElement *); + virtual ::org::w3c::dom::html2::HTMLCollection * getRows(); + virtual ::org::w3c::dom::html2::HTMLCollection * getTBodies(); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getBgColor(); + virtual void setBgColor(::java::lang::String *); + virtual ::java::lang::String * getBorder(); + virtual void setBorder(::java::lang::String *); + virtual ::java::lang::String * getCellPadding(); + virtual void setCellPadding(::java::lang::String *); + virtual ::java::lang::String * getCellSpacing(); + virtual void setCellSpacing(::java::lang::String *); + virtual ::java::lang::String * getFrame(); + virtual void setFrame(::java::lang::String *); + virtual ::java::lang::String * getRules(); + virtual void setRules(::java::lang::String *); + virtual ::java::lang::String * getSummary(); + virtual void setSummary(::java::lang::String *); + virtual ::java::lang::String * getWidth(); + virtual void setWidth(::java::lang::String *); + virtual ::org::w3c::dom::html2::HTMLElement * createTHead(); + virtual void deleteTHead(); + virtual ::org::w3c::dom::html2::HTMLElement * createTFoot(); + virtual void deleteTFoot(); + virtual ::org::w3c::dom::html2::HTMLElement * createCaption(); + virtual void deleteCaption(); + virtual ::org::w3c::dom::html2::HTMLElement * insertRow(jint); + virtual void deleteRow(jint); +public: // actually package-private + virtual ::org::w3c::dom::Node * getRow(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTableElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTableRowElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTableRowElement.h new file mode 100644 index 00000000000..61684a4b659 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTableRowElement.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTableRowElement__ +#define __gnu_xml_dom_html2_DomHTMLTableRowElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTableRowElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTableRowElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTableRowElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getRowIndex(); + virtual jint getSectionRowIndex(); + virtual ::org::w3c::dom::html2::HTMLCollection * getCells(); + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getBgColor(); + virtual void setBgColor(::java::lang::String *); + virtual ::java::lang::String * getCh(); + virtual void setCh(::java::lang::String *); + virtual ::java::lang::String * getChOff(); + virtual void setChOff(::java::lang::String *); + virtual ::java::lang::String * getVAlign(); + virtual void setVAlign(::java::lang::String *); + virtual ::org::w3c::dom::html2::HTMLElement * insertCell(jint); + virtual void deleteCell(jint); +public: // actually package-private + virtual ::org::w3c::dom::Node * getCell(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTableRowElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTableSectionElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTableSectionElement.h new file mode 100644 index 00000000000..9abf67068ba --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTableSectionElement.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTableSectionElement__ +#define __gnu_xml_dom_html2_DomHTMLTableSectionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTableSectionElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTableSectionElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTableSectionElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlign(); + virtual void setAlign(::java::lang::String *); + virtual ::java::lang::String * getCh(); + virtual void setCh(::java::lang::String *); + virtual ::java::lang::String * getChOff(); + virtual void setChOff(::java::lang::String *); + virtual ::java::lang::String * getVAlign(); + virtual void setVAlign(::java::lang::String *); + virtual ::org::w3c::dom::html2::HTMLCollection * getRows(); + virtual ::org::w3c::dom::html2::HTMLElement * insertRow(jint); + virtual void deleteRow(jint); +public: // actually package-private + virtual ::org::w3c::dom::Node * getRow(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTableSectionElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTextAreaElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTextAreaElement.h new file mode 100644 index 00000000000..c141217d3d8 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTextAreaElement.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTextAreaElement__ +#define __gnu_xml_dom_html2_DomHTMLTextAreaElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTextAreaElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace html2 + { + class HTMLFormElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTextAreaElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTextAreaElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getDefaultValue(); + virtual void setDefaultValue(::java::lang::String *); + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm(); + virtual ::java::lang::String * getAccessKey(); + virtual void setAccessKey(::java::lang::String *); + virtual jint getCols(); + virtual void setCols(jint); + virtual jboolean getDisabled(); + virtual void setDisabled(jboolean); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual jboolean getReadOnly(); + virtual void setReadOnly(jboolean); + virtual jint getRows(); + virtual void setRows(jint); + virtual jint getTabIndex(); + virtual void setTabIndex(jint); + virtual ::java::lang::String * getType(); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); + virtual void blur(); + virtual void focus(); + virtual void select(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::dom::html2::DomHTMLElement)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTextAreaElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLTitleElement.h b/libjava/gnu/xml/dom/html2/DomHTMLTitleElement.h new file mode 100644 index 00000000000..d660525e684 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLTitleElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLTitleElement__ +#define __gnu_xml_dom_html2_DomHTMLTitleElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLTitleElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLTitleElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLTitleElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLTitleElement__ diff --git a/libjava/gnu/xml/dom/html2/DomHTMLUListElement.h b/libjava/gnu/xml/dom/html2/DomHTMLUListElement.h new file mode 100644 index 00000000000..21ca1ad0f02 --- /dev/null +++ b/libjava/gnu/xml/dom/html2/DomHTMLUListElement.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_html2_DomHTMLUListElement__ +#define __gnu_xml_dom_html2_DomHTMLUListElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace html2 + { + class DomHTMLDocument; + class DomHTMLUListElement; + } + } + } + } +} + +class gnu::xml::dom::html2::DomHTMLUListElement : public ::gnu::xml::dom::html2::DomHTMLElement +{ + +public: // actually protected + DomHTMLUListElement(::gnu::xml::dom::html2::DomHTMLDocument *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean getCompact(); + virtual void setCompact(jboolean); + virtual ::java::lang::String * getType(); + virtual void setType(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_html2_DomHTMLUListElement__ diff --git a/libjava/gnu/xml/dom/ls/DomLSException.h b/libjava/gnu/xml/dom/ls/DomLSException.h new file mode 100644 index 00000000000..3fa6778a8fc --- /dev/null +++ b/libjava/gnu/xml/dom/ls/DomLSException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_DomLSException__ +#define __gnu_xml_dom_ls_DomLSException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class DomLSException; + } + } + } + } +} + +class gnu::xml::dom::ls::DomLSException : public ::org::w3c::dom::ls::LSException +{ + +public: + DomLSException(jshort, ::java::lang::Exception *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_DomLSException__ diff --git a/libjava/gnu/xml/dom/ls/DomLSInput.h b/libjava/gnu/xml/dom/ls/DomLSInput.h new file mode 100644 index 00000000000..f47de9742b6 --- /dev/null +++ b/libjava/gnu/xml/dom/ls/DomLSInput.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_DomLSInput__ +#define __gnu_xml_dom_ls_DomLSInput__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class DomLSInput; + } + } + } + } +} + +class gnu::xml::dom::ls::DomLSInput : public ::java::lang::Object +{ + +public: + DomLSInput(); + virtual ::java::io::Reader * getCharacterStream(); + virtual void setCharacterStream(::java::io::Reader *); + virtual ::java::io::InputStream * getByteStream(); + virtual void setByteStream(::java::io::InputStream *); + virtual ::java::lang::String * getStringData(); + virtual void setStringData(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getPublicId(); + virtual void setPublicId(::java::lang::String *); + virtual ::java::lang::String * getBaseURI(); + virtual void setBaseURI(::java::lang::String *); + virtual ::java::lang::String * getEncoding(); + virtual void setEncoding(::java::lang::String *); + virtual jboolean getCertifiedText(); + virtual void setCertifiedText(jboolean); +private: + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; + ::java::lang::String * systemId; + ::java::lang::String * publicId; + ::java::lang::String * baseURI; + ::java::lang::String * encoding; + jboolean certifiedText; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_DomLSInput__ diff --git a/libjava/gnu/xml/dom/ls/DomLSOutput.h b/libjava/gnu/xml/dom/ls/DomLSOutput.h new file mode 100644 index 00000000000..e6ba100c335 --- /dev/null +++ b/libjava/gnu/xml/dom/ls/DomLSOutput.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_DomLSOutput__ +#define __gnu_xml_dom_ls_DomLSOutput__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class DomLSOutput; + } + } + } + } +} + +class gnu::xml::dom::ls::DomLSOutput : public ::java::lang::Object +{ + +public: + DomLSOutput(); + virtual ::java::io::Writer * getCharacterStream(); + virtual void setCharacterStream(::java::io::Writer *); + virtual ::java::io::OutputStream * getByteStream(); + virtual void setByteStream(::java::io::OutputStream *); + virtual ::java::lang::String * getSystemId(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getEncoding(); + virtual void setEncoding(::java::lang::String *); +private: + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out; + ::java::lang::String * systemId; + ::java::lang::String * encoding; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_DomLSOutput__ diff --git a/libjava/gnu/xml/dom/ls/DomLSParser.h b/libjava/gnu/xml/dom/ls/DomLSParser.h new file mode 100644 index 00000000000..dd38f2b1fd0 --- /dev/null +++ b/libjava/gnu/xml/dom/ls/DomLSParser.h @@ -0,0 +1,117 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_DomLSParser__ +#define __gnu_xml_dom_ls_DomLSParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class DomLSParser; + class SAXEventSink; + } + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class SAXParserFactory; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMConfiguration; + class DOMStringList; + class Document; + class Node; + namespace ls + { + class LSInput; + class LSParserFilter; + } + } + } + namespace xml + { + namespace sax + { + class EntityResolver; + class ErrorHandler; + class InputSource; + class SAXParseException; + class XMLReader; + } + } + } +} + +class gnu::xml::dom::ls::DomLSParser : public ::java::lang::Object +{ + +public: + DomLSParser(jshort, ::java::lang::String *); + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig(); + virtual ::org::w3c::dom::ls::LSParserFilter * getFilter(); + virtual void setFilter(::org::w3c::dom::ls::LSParserFilter *); + virtual jboolean getAsync(); + virtual jboolean getBusy(); + virtual ::org::w3c::dom::Document * parse(::org::w3c::dom::ls::LSInput *); + virtual ::org::w3c::dom::Document * parseURI(::java::lang::String *); + virtual ::org::w3c::dom::Node * parseWithContext(::org::w3c::dom::ls::LSInput *, ::org::w3c::dom::Node *, jshort); + virtual void abort(); +private: + ::org::w3c::dom::Document * doParse(::org::w3c::dom::ls::LSInput *); + ::org::xml::sax::XMLReader * getXMLReader(); + ::org::xml::sax::InputSource * getInputSource(::org::w3c::dom::ls::LSInput *); +public: + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual jboolean canSetParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::org::w3c::dom::DOMStringList * getParameterNames(); + virtual ::java::lang::String * item(jint); + virtual jint getLength(); + virtual jboolean contains(::java::lang::String *); + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); +private: + static ::java::util::List * SUPPORTED_PARAMETERS; + ::org::w3c::dom::ls::LSParserFilter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) filter; + jboolean async; + ::java::lang::String * schemaType; + ::gnu::xml::dom::ls::SAXEventSink * eventSink; + ::javax::xml::parsers::SAXParserFactory * factory; + ::org::xml::sax::XMLReader * reader; + jboolean namespaceAware; + jboolean ignoreWhitespace; + jboolean expandEntityReferences; + jboolean ignoreComments; + jboolean coalescing; + jboolean validating; + jboolean xIncludeAware; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::ErrorHandler * errorHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_DomLSParser__ diff --git a/libjava/gnu/xml/dom/ls/DomLSSerializer.h b/libjava/gnu/xml/dom/ls/DomLSSerializer.h new file mode 100644 index 00000000000..90cc8655963 --- /dev/null +++ b/libjava/gnu/xml/dom/ls/DomLSSerializer.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_DomLSSerializer__ +#define __gnu_xml_dom_ls_DomLSSerializer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class DomLSSerializer; + } + } + namespace transform + { + class StreamSerializer; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMConfiguration; + class DOMStringList; + class Node; + namespace ls + { + class LSOutput; + class LSSerializerFilter; + } + } + } + } +} + +class gnu::xml::dom::ls::DomLSSerializer : public ::gnu::xml::transform::StreamSerializer +{ + +public: + DomLSSerializer(); + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig(); + virtual ::java::lang::String * getNewLine(); + virtual void setNewLine(::java::lang::String *); + virtual ::org::w3c::dom::ls::LSSerializerFilter * getFilter(); + virtual void setFilter(::org::w3c::dom::ls::LSSerializerFilter *); + virtual jboolean write(::org::w3c::dom::Node *, ::org::w3c::dom::ls::LSOutput *); + virtual jboolean writeToURI(::org::w3c::dom::Node *, ::java::lang::String *); + virtual ::java::lang::String * writeToString(::org::w3c::dom::Node *); + virtual void serialize(::org::w3c::dom::Node *, ::java::io::OutputStream *); + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual jboolean canSetParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::org::w3c::dom::DOMStringList * getParameterNames(); + virtual ::java::lang::String * item(jint); + virtual jint getLength(); + virtual jboolean contains(::java::lang::String *); +private: + static ::java::util::List * SUPPORTED_PARAMETERS; + ::org::w3c::dom::ls::LSSerializerFilter * __attribute__((aligned(__alignof__( ::gnu::xml::transform::StreamSerializer)))) filter; + ::gnu::xml::transform::StreamSerializer * serializer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_DomLSSerializer__ diff --git a/libjava/gnu/xml/dom/ls/FilteredSAXEventSink.h b/libjava/gnu/xml/dom/ls/FilteredSAXEventSink.h new file mode 100644 index 00000000000..2fb867007f1 --- /dev/null +++ b/libjava/gnu/xml/dom/ls/FilteredSAXEventSink.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_FilteredSAXEventSink__ +#define __gnu_xml_dom_ls_FilteredSAXEventSink__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class FilteredSAXEventSink; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Node; + namespace ls + { + class LSParserFilter; + } + } + } + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::xml::dom::ls::FilteredSAXEventSink : public ::gnu::xml::dom::ls::SAXEventSink +{ + +public: // actually package-private + FilteredSAXEventSink(::org::w3c::dom::ls::LSParserFilter *); +public: + virtual void startDocument(); + virtual void endDocument(); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); +public: // actually protected + virtual ::org::w3c::dom::Attr * createAttr(::org::xml::sax::Attributes *, jint); +public: + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void comment(JArray< jchar > *, jint, jint); +public: // actually package-private + virtual jshort getDecision(::org::w3c::dom::Node *, jboolean); + ::org::w3c::dom::ls::LSParserFilter * __attribute__((aligned(__alignof__( ::gnu::xml::dom::ls::SAXEventSink)))) filter; + jint whatToShow; + ::java::util::LinkedList * nodes; + ::java::util::LinkedList * decisions; + jboolean rejecting; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_FilteredSAXEventSink__ diff --git a/libjava/gnu/xml/dom/ls/ReaderInputStream.h b/libjava/gnu/xml/dom/ls/ReaderInputStream.h new file mode 100644 index 00000000000..7fa7d937614 --- /dev/null +++ b/libjava/gnu/xml/dom/ls/ReaderInputStream.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_ReaderInputStream__ +#define __gnu_xml_dom_ls_ReaderInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class ReaderInputStream; + } + } + } + } +} + +class gnu::xml::dom::ls::ReaderInputStream : public ::java::io::InputStream +{ + +public: + ReaderInputStream(::java::io::Reader *); +public: // actually package-private + virtual void setEncoding(::java::lang::String *); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void close(); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual jlong skip(jlong); + virtual jint available(); + virtual ::java::lang::String * toString(); +private: + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) reader; + ::java::lang::String * encoding; + JArray< jbyte > * extra; + jint pos; + JArray< jbyte > * extra_marked; + jint pos_marked; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_ReaderInputStream__ diff --git a/libjava/gnu/xml/dom/ls/SAXEventSink.h b/libjava/gnu/xml/dom/ls/SAXEventSink.h new file mode 100644 index 00000000000..ec35c66b68e --- /dev/null +++ b/libjava/gnu/xml/dom/ls/SAXEventSink.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_SAXEventSink__ +#define __gnu_xml_dom_ls_SAXEventSink__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + class DomDocument; + namespace ls + { + class SAXEventSink; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class Element; + class Node; + class Text; + } + } + namespace xml + { + namespace sax + { + class Attributes; + class Locator; + class XMLReader; + } + } + } +} + +class gnu::xml::dom::ls::SAXEventSink : public ::java::lang::Object +{ + +public: + SAXEventSink(); +public: // actually package-private + virtual void interrupt(); +public: // actually protected + virtual ::org::w3c::dom::Document * getDocument(); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); +public: // actually protected + virtual ::org::w3c::dom::Element * createElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual ::org::w3c::dom::Attr * createAttr(::org::xml::sax::Attributes *, jint); +public: + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); +public: // actually protected + virtual ::org::w3c::dom::Text * createText(JArray< jchar > *, jint, jint); +public: + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); +public: // actually protected + virtual ::org::w3c::dom::Node * createProcessingInstruction(::java::lang::String *, ::java::lang::String *); +public: + virtual void skippedEntity(::java::lang::String *); + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually protected + virtual ::org::w3c::dom::Node * createDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual void endDTD(); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void startCDATA(); + virtual void endCDATA(); + virtual void comment(JArray< jchar > *, jint, jint); +public: // actually protected + virtual ::org::w3c::dom::Node * createComment(JArray< jchar > *, jint, jint); +public: + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + static ::java::lang::String * XMLNS_URI; + static ::java::lang::String * XMLNS_PREFIX; + static ::java::util::HashSet * PREDEFINED_ENTITIES; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) namespaceAware; + jboolean ignoreWhitespace; + jboolean expandEntityReferences; + jboolean ignoreComments; + jboolean coalescing; + ::org::xml::sax::XMLReader * reader; + ::gnu::xml::dom::DomDocument * doc; + ::org::w3c::dom::Node * ctx; + ::java::util::LinkedList * entityCtx; + ::java::util::List * pending; + ::org::xml::sax::Locator * locator; + jboolean inCDATA; + jboolean inDTD; + jboolean interrupted; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_SAXEventSink__ diff --git a/libjava/gnu/xml/dom/ls/WriterOutputStream.h b/libjava/gnu/xml/dom/ls/WriterOutputStream.h new file mode 100644 index 00000000000..5663844da6b --- /dev/null +++ b/libjava/gnu/xml/dom/ls/WriterOutputStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_dom_ls_WriterOutputStream__ +#define __gnu_xml_dom_ls_WriterOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace dom + { + namespace ls + { + class WriterOutputStream; + } + } + } + } +} + +class gnu::xml::dom::ls::WriterOutputStream : public ::java::io::OutputStream +{ + +public: + WriterOutputStream(::java::io::Writer *); +public: // actually package-private + virtual void setEncoding(::java::lang::String *); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void close(); + virtual void flush(); +private: + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) writer; + ::java::lang::String * encoding; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_dom_ls_WriterOutputStream__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeAttr.h b/libjava/gnu/xml/libxmlj/dom/GnomeAttr.h new file mode 100644 index 00000000000..9619be9c523 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeAttr.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeAttr__ +#define __gnu_xml_libxmlj_dom_GnomeAttr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeAttr; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + class Node; + class TypeInfo; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeAttr : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeAttr(::java::lang::Object *); +public: + virtual ::java::lang::String * getName(); + virtual jboolean getSpecified(); + virtual ::java::lang::String * getValue(); + virtual void setValue(::java::lang::String *); + virtual ::org::w3c::dom::Node * getParentNode(); + virtual ::org::w3c::dom::Element * getOwnerElement(); + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo(); + virtual jboolean isId(); +private: + jboolean xmljIsId(); +public: + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeAttr__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeCDATASection.h b/libjava/gnu/xml/libxmlj/dom/GnomeCDATASection.h new file mode 100644 index 00000000000..b8c3083192f --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeCDATASection.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeCDATASection__ +#define __gnu_xml_libxmlj_dom_GnomeCDATASection__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeCDATASection; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeCDATASection : public ::gnu::xml::libxmlj::dom::GnomeText +{ + +public: // actually package-private + GnomeCDATASection(::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeCDATASection__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeCharacterData.h b/libjava/gnu/xml/libxmlj/dom/GnomeCharacterData.h new file mode 100644 index 00000000000..93c6b31dfb6 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeCharacterData.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeCharacterData__ +#define __gnu_xml_libxmlj_dom_GnomeCharacterData__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeCharacterData; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeCharacterData : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeCharacterData(::java::lang::Object *); +public: + virtual ::java::lang::String * getData(); + virtual void setData(::java::lang::String *); + virtual jint getLength(); + virtual ::java::lang::String * substringData(jint, jint); + virtual void appendData(::java::lang::String *); + virtual void insertData(jint, ::java::lang::String *); + virtual void deleteData(jint, jint); + virtual void replaceData(jint, jint, ::java::lang::String *); + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeCharacterData__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeComment.h b/libjava/gnu/xml/libxmlj/dom/GnomeComment.h new file mode 100644 index 00000000000..211d938ab80 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeComment.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeComment__ +#define __gnu_xml_libxmlj_dom_GnomeComment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeComment; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeComment : public ::gnu::xml::libxmlj::dom::GnomeCharacterData +{ + +public: // actually package-private + GnomeComment(::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeComment__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDOMException.h b/libjava/gnu/xml/libxmlj/dom/GnomeDOMException.h new file mode 100644 index 00000000000..1a331eb7588 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDOMException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDOMException__ +#define __gnu_xml_libxmlj_dom_GnomeDOMException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDOMException; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDOMException : public ::org::w3c::dom::DOMException +{ + +public: // actually package-private + GnomeDOMException(jshort, ::java::lang::String *); +private: + static ::java::lang::String * createMessage(jint, ::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDOMException__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDOMStringList.h b/libjava/gnu/xml/libxmlj/dom/GnomeDOMStringList.h new file mode 100644 index 00000000000..ba58526ff81 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDOMStringList.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDOMStringList__ +#define __gnu_xml_libxmlj_dom_GnomeDOMStringList__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDOMStringList; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDOMStringList : public ::java::lang::Object +{ + +public: // actually package-private + GnomeDOMStringList(JArray< ::java::lang::String * > *); +public: + virtual jint getLength(); + virtual ::java::lang::String * item(jint); + virtual jboolean contains(::java::lang::String *); +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) values; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDOMStringList__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDocument.h b/libjava/gnu/xml/libxmlj/dom/GnomeDocument.h new file mode 100644 index 00000000000..8f49b25188a --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDocument.h @@ -0,0 +1,148 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDocument__ +#define __gnu_xml_libxmlj_dom_GnomeDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocument; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class CDATASection; + class Comment; + class DOMConfiguration; + class DOMErrorHandler; + class DOMImplementation; + class DOMStringList; + class DocumentFragment; + class DocumentType; + class Element; + class EntityReference; + class Node; + class NodeList; + class ProcessingInstruction; + class Text; + namespace traversal + { + class NodeFilter; + class NodeIterator; + class TreeWalker; + } + namespace xpath + { + class XPathExpression; + class XPathNSResolver; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDocument : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeDocument(::java::lang::Object *); +public: // actually protected + virtual void finalize(); +private: + void free(::java::lang::Object *); +public: + virtual ::org::w3c::dom::DocumentType * getDoctype(); + virtual ::org::w3c::dom::DOMImplementation * getImplementation(); + virtual ::org::w3c::dom::Element * getDocumentElement(); + virtual ::org::w3c::dom::Element * createElement(::java::lang::String *); + virtual ::org::w3c::dom::DocumentType * createDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::DocumentFragment * createDocumentFragment(); + virtual ::org::w3c::dom::Text * createTextNode(::java::lang::String *); + virtual ::org::w3c::dom::Comment * createComment(::java::lang::String *); + virtual ::org::w3c::dom::CDATASection * createCDATASection(::java::lang::String *); + virtual ::org::w3c::dom::ProcessingInstruction * createProcessingInstruction(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * createAttribute(::java::lang::String *); + virtual ::org::w3c::dom::EntityReference * createEntityReference(::java::lang::String *); + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *); + virtual ::org::w3c::dom::Node * importNode(::org::w3c::dom::Node *, jboolean); +private: + ::org::w3c::dom::Node * xmljImportNode(::org::w3c::dom::Node *, jboolean); +public: + virtual ::org::w3c::dom::Element * createElementNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * createAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Element * getElementById(::java::lang::String *); +private: + ::org::w3c::dom::Element * xmljGetElementById(::java::lang::String *); +public: + virtual ::java::lang::String * getInputEncoding(); + virtual ::java::lang::String * getXmlEncoding(); + virtual jboolean getXmlStandalone(); + virtual void setXmlStandalone(jboolean); + virtual ::java::lang::String * getXmlVersion(); + virtual void setXmlVersion(::java::lang::String *); + virtual jboolean getStrictErrorChecking(); + virtual void setStrictErrorChecking(jboolean); + virtual ::java::lang::String * getDocumentURI(); + virtual void setDocumentURI(::java::lang::String *); + virtual ::org::w3c::dom::Node * adoptNode(::org::w3c::dom::Node *); +private: + ::org::w3c::dom::Node * xmljAdoptNode(::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig(); + virtual void normalizeDocument(); + virtual ::org::w3c::dom::Node * renameNode(::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *); + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual jboolean canSetParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::org::w3c::dom::DOMStringList * getParameterNames(); +private: + jboolean getBooleanValue(::java::lang::Object *); +public: + virtual ::org::w3c::dom::xpath::XPathExpression * createExpression(::java::lang::String *, ::org::w3c::dom::xpath::XPathNSResolver *); + virtual ::org::w3c::dom::xpath::XPathNSResolver * createNSResolver(::org::w3c::dom::Node *); + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::org::w3c::dom::Node *, ::org::w3c::dom::xpath::XPathNSResolver *, jshort, ::java::lang::Object *); + virtual ::org::w3c::dom::traversal::NodeIterator * createNodeIterator(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean); + virtual ::org::w3c::dom::traversal::TreeWalker * createTreeWalker(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::org::w3c::dom::DOMImplementation * __attribute__((aligned(__alignof__( ::gnu::xml::libxmlj::dom::GnomeNode)))) dom; + jboolean strictErrorChecking; + jboolean canonicalForm; + jboolean cdataSections; + jboolean checkCharacterNormalization; + jboolean comments; + jboolean datatypeNormalization; + jboolean elementContentWhitespace; + jboolean entities; + ::org::w3c::dom::DOMErrorHandler * errorHandler; + jboolean namespaces; + jboolean namespaceDeclarations; + jboolean normalizeCharacters; + jboolean splitCdataSections; + jboolean validate; + jboolean validateIfSchema; + jboolean wellFormed; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDocument__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.h b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.h new file mode 100644 index 00000000000..b71081d3afa --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDocumentBuilder__ +#define __gnu_xml_libxmlj_dom_GnomeDocumentBuilder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocumentBuilder; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Document; + class DocumentType; + } + } + namespace xml + { + namespace sax + { + class EntityResolver; + class ErrorHandler; + class InputSource; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDocumentBuilder : public ::javax::xml::parsers::DocumentBuilder +{ + +public: + GnomeDocumentBuilder(); + GnomeDocumentBuilder(jboolean, jboolean, jboolean); + virtual ::org::w3c::dom::DOMImplementation * getDOMImplementation(); + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); + virtual ::org::w3c::dom::Document * newDocument(); + virtual ::org::w3c::dom::Document * parse(::org::xml::sax::InputSource *); +private: + ::org::w3c::dom::Document * parseStream(::java::io::InputStream *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean, jboolean, jboolean, jboolean); +public: + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual jboolean hasFeature(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Document * createDocument(::java::lang::String *, ::java::lang::String *, ::org::w3c::dom::DocumentType *); + virtual ::org::w3c::dom::DocumentType * createDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + void setDocumentLocator(::java::lang::Object *, ::java::lang::Object *); + ::java::io::InputStream * resolveEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void warning(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + void error(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + void fatalError(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + jboolean __attribute__((aligned(__alignof__( ::javax::xml::parsers::DocumentBuilder)))) validate; + jboolean coalesce; + jboolean expandEntities; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::ErrorHandler * errorHandler; + jboolean seenFatalError; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDocumentBuilder__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.h b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.h new file mode 100644 index 00000000000..465a17f264f --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDocumentBuilderFactory__ +#define __gnu_xml_libxmlj_dom_GnomeDocumentBuilderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocumentBuilderFactory; + } + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class DocumentBuilder; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDocumentBuilderFactory : public ::javax::xml::parsers::DocumentBuilderFactory +{ + +public: + GnomeDocumentBuilderFactory(); + virtual ::java::lang::Object * getAttribute(::java::lang::String *); + virtual ::javax::xml::parsers::DocumentBuilder * newDocumentBuilder(); + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); +private: + jboolean __attribute__((aligned(__alignof__( ::javax::xml::parsers::DocumentBuilderFactory)))) secureProcessing; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDocumentBuilderFactory__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDocumentFragment.h b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentFragment.h new file mode 100644 index 00000000000..bac97adc83e --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentFragment.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDocumentFragment__ +#define __gnu_xml_libxmlj_dom_GnomeDocumentFragment__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocumentFragment; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDocumentFragment : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeDocumentFragment(::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDocumentFragment__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeDocumentType.h b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentType.h new file mode 100644 index 00000000000..d0eff62f8a6 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeDocumentType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeDocumentType__ +#define __gnu_xml_libxmlj_dom_GnomeDocumentType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocumentType; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class NamedNodeMap; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeDocumentType : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeDocumentType(::java::lang::Object *); +public: + virtual ::java::lang::String * getName(); + virtual ::org::w3c::dom::NamedNodeMap * getEntities(); + virtual ::org::w3c::dom::NamedNodeMap * getNotations(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getInternalSubset(); + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeDocumentType__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeElement.h b/libjava/gnu/xml/libxmlj/dom/GnomeElement.h new file mode 100644 index 00000000000..b02399165ea --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeElement.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeElement__ +#define __gnu_xml_libxmlj_dom_GnomeElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeElement; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class NodeList; + class TypeInfo; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeElement : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeElement(::java::lang::Object *); +public: + virtual ::java::lang::String * getTagName(); + virtual ::java::lang::String * getAttribute(::java::lang::String *); + virtual void setAttribute(::java::lang::String *, ::java::lang::String *); + virtual void removeAttribute(::java::lang::String *); + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *); + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *); + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *); + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *); + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *); + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *); + virtual jboolean hasAttribute(::java::lang::String *); + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo(); + virtual void setIdAttribute(::java::lang::String *, jboolean); + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean); + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::util::Set * __attribute__((aligned(__alignof__( ::gnu::xml::libxmlj::dom::GnomeNode)))) userIdAttrs; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeElement__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeEntity.h b/libjava/gnu/xml/libxmlj/dom/GnomeEntity.h new file mode 100644 index 00000000000..f0611ff9637 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeEntity.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeEntity__ +#define __gnu_xml_libxmlj_dom_GnomeEntity__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeEntity; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeEntity : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeEntity(::java::lang::Object *); +public: + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getNotationName(); + virtual ::java::lang::String * getInputEncoding(); + virtual ::java::lang::String * getXmlEncoding(); + virtual ::java::lang::String * getXmlVersion(); + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeEntity__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeEntityReference.h b/libjava/gnu/xml/libxmlj/dom/GnomeEntityReference.h new file mode 100644 index 00000000000..22cc5c7fee7 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeEntityReference.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeEntityReference__ +#define __gnu_xml_libxmlj_dom_GnomeEntityReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeEntityReference; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeEntityReference : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeEntityReference(::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeEntityReference__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.h b/libjava/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.h new file mode 100644 index 00000000000..7dfd2aeb641 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeNamedNodeMap__ +#define __gnu_xml_libxmlj_dom_GnomeNamedNodeMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeNamedNodeMap; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeNamedNodeMap : public ::java::lang::Object +{ + +public: // actually package-private + GnomeNamedNodeMap(::java::lang::Object *, jint); +public: + virtual ::org::w3c::dom::Node * getNamedItem(::java::lang::String *); + virtual ::org::w3c::dom::Node * setNamedItem(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * removeNamedItem(::java::lang::String *); + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); + virtual ::org::w3c::dom::Node * getNamedItemNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Node * setNamedItemNS(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * removeNamedItemNS(::java::lang::String *, ::java::lang::String *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeNamedNodeMap__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeNode.h b/libjava/gnu/xml/libxmlj/dom/GnomeNode.h new file mode 100644 index 00000000000..6f9ac92f3af --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeNode.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeNode__ +#define __gnu_xml_libxmlj_dom_GnomeNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeNode; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeNode : public ::java::lang::Object +{ + +public: // actually package-private + static ::gnu::xml::libxmlj::dom::GnomeNode * newInstance(::java::lang::Object *, ::java::lang::Object *, jint); + static void freeDocument(::java::lang::Object *); + GnomeNode(::java::lang::Object *); +public: + virtual ::java::lang::String * getNodeName(); + virtual ::java::lang::String * getNodeValue(); + virtual void setNodeValue(::java::lang::String *); + virtual jshort getNodeType(); + virtual ::org::w3c::dom::Node * getParentNode(); + virtual ::org::w3c::dom::NodeList * getChildNodes(); + virtual ::org::w3c::dom::Node * getFirstChild(); + virtual ::org::w3c::dom::Node * getLastChild(); + virtual ::org::w3c::dom::Node * getPreviousSibling(); + virtual ::org::w3c::dom::Node * getNextSibling(); + virtual ::org::w3c::dom::NamedNodeMap * getAttributes(); + virtual ::org::w3c::dom::Document * getOwnerDocument(); + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +private: + ::org::w3c::dom::Node * xmljInsertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +private: + ::org::w3c::dom::Node * xmljReplaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *); +private: + ::org::w3c::dom::Node * xmljRemoveChild(::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *); +private: + ::org::w3c::dom::Node * xmljAppendChild(::org::w3c::dom::Node *); +public: + virtual jboolean hasChildNodes(); + virtual ::org::w3c::dom::Node * cloneNode(jboolean); +private: + ::org::w3c::dom::Node * xmljCloneNode(jboolean); +public: + virtual void normalize(); + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::java::lang::String * getPrefix(); + virtual void setPrefix(::java::lang::String *); + virtual ::java::lang::String * getLocalName(); + virtual jboolean hasAttributes(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getBaseURI(); + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *); + virtual jint compareTo(::java::lang::Object *); +private: + jint xmljCompareTo(::java::lang::Object *); +public: + virtual ::java::lang::String * getTextContent(); + virtual void setTextContent(::java::lang::String *); + virtual jboolean isSameNode(::org::w3c::dom::Node *); + virtual ::java::lang::String * lookupPrefix(::java::lang::String *); + virtual jboolean isDefaultNamespace(::java::lang::String *); + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); + virtual jboolean isEqualNode(::org::w3c::dom::Node *); + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *); + virtual ::java::lang::Object * getUserData(::java::lang::String *); +public: // actually package-private + virtual void notifyUserDataHandlers(jshort, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + static ::java::util::Map * instances; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::util::Map * userData; + ::java::util::Map * userDataHandlers; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeNode__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeNodeList.h b/libjava/gnu/xml/libxmlj/dom/GnomeNodeList.h new file mode 100644 index 00000000000..8ded813f6f5 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeNodeList.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeNodeList__ +#define __gnu_xml_libxmlj_dom_GnomeNodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeNodeList; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeNodeList : public ::java::lang::Object +{ + +public: // actually package-private + GnomeNodeList(::java::lang::Object *); +public: + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeNodeList__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeNotation.h b/libjava/gnu/xml/libxmlj/dom/GnomeNotation.h new file mode 100644 index 00000000000..627e09c84c7 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeNotation.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeNotation__ +#define __gnu_xml_libxmlj_dom_GnomeNotation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeNotation; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeNotation : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeNotation(::java::lang::Object *); +public: + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeNotation__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.h b/libjava/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.h new file mode 100644 index 00000000000..c3097b9f56c --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeProcessingInstruction__ +#define __gnu_xml_libxmlj_dom_GnomeProcessingInstruction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeProcessingInstruction; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeProcessingInstruction : public ::gnu::xml::libxmlj::dom::GnomeNode +{ + +public: // actually package-private + GnomeProcessingInstruction(::java::lang::Object *); +public: + virtual ::java::lang::String * getTarget(); + virtual ::java::lang::String * getData(); + virtual void setData(::java::lang::String *); + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeProcessingInstruction__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeText.h b/libjava/gnu/xml/libxmlj/dom/GnomeText.h new file mode 100644 index 00000000000..220052d9750 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeText.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeText__ +#define __gnu_xml_libxmlj_dom_GnomeText__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeText; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Text; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeText : public ::gnu::xml::libxmlj::dom::GnomeCharacterData +{ + +public: // actually package-private + GnomeText(::java::lang::Object *); +public: + virtual ::org::w3c::dom::Text * splitText(jint); + virtual jboolean isElementContentWhitespace(); + virtual ::java::lang::String * getWholeText(); + virtual ::org::w3c::dom::Text * replaceWholeText(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeText__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeTypeInfo.h b/libjava/gnu/xml/libxmlj/dom/GnomeTypeInfo.h new file mode 100644 index 00000000000..d775bc76d34 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeTypeInfo.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeTypeInfo__ +#define __gnu_xml_libxmlj_dom_GnomeTypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeTypeInfo; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeTypeInfo : public ::java::lang::Object +{ + +public: // actually package-private + GnomeTypeInfo(::java::lang::Object *); +public: + virtual ::java::lang::String * getTypeName(); + virtual ::java::lang::String * getTypeNamespace(); + virtual jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeTypeInfo__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeXPathExpression.h b/libjava/gnu/xml/libxmlj/dom/GnomeXPathExpression.h new file mode 100644 index 00000000000..ca88b7742c2 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeXPathExpression.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeXPathExpression__ +#define __gnu_xml_libxmlj_dom_GnomeXPathExpression__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocument; + class GnomeXPathExpression; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace xpath + { + class XPathNSResolver; + } + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeXPathExpression : public ::java::lang::Object +{ + +public: // actually package-private + GnomeXPathExpression(::gnu::xml::libxmlj::dom::GnomeDocument *, ::java::lang::String *, ::org::w3c::dom::xpath::XPathNSResolver *); +public: // actually protected + virtual void finalize(); +private: + ::java::lang::Object * init(::java::lang::String *); + void free(::java::lang::Object *); +public: + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jshort, ::java::lang::Object *); +private: + ::java::lang::Object * doEvaluate(::java::lang::Object *, ::org::w3c::dom::Node *, jshort, ::java::lang::Object *); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) expr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeXPathExpression__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.h b/libjava/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.h new file mode 100644 index 00000000000..5728efb69e6 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeXPathNSResolver__ +#define __gnu_xml_libxmlj_dom_GnomeXPathNSResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeXPathNSResolver; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeXPathNSResolver : public ::java::lang::Object +{ + +public: // actually package-private + GnomeXPathNSResolver(::org::w3c::dom::Node *); +public: + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); +public: // actually package-private + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeXPathNSResolver__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeXPathNodeList.h b/libjava/gnu/xml/libxmlj/dom/GnomeXPathNodeList.h new file mode 100644 index 00000000000..cc2a7573b00 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeXPathNodeList.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeXPathNodeList__ +#define __gnu_xml_libxmlj_dom_GnomeXPathNodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeXPathNodeList; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeXPathNodeList : public ::java::lang::Object +{ + +public: // actually package-private + GnomeXPathNodeList(::java::lang::Object *); +public: // actually protected + virtual void finalize(); +private: + void free(::java::lang::Object *); +public: + virtual jint getLength(); + virtual ::org::w3c::dom::Node * item(jint); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) obj; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeXPathNodeList__ diff --git a/libjava/gnu/xml/libxmlj/dom/GnomeXPathResult.h b/libjava/gnu/xml/libxmlj/dom/GnomeXPathResult.h new file mode 100644 index 00000000000..5616ce37af0 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/dom/GnomeXPathResult.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_dom_GnomeXPathResult__ +#define __gnu_xml_libxmlj_dom_GnomeXPathResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeXPathResult; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::libxmlj::dom::GnomeXPathResult : public ::java::lang::Object +{ + +public: // actually package-private + GnomeXPathResult(::java::lang::Object *); +public: // actually protected + virtual void finalize(); +private: + void free(::java::lang::Object *); +public: + virtual jshort getResultType(); + virtual jdouble getNumberValue(); + virtual ::java::lang::String * getStringValue(); + virtual jboolean getBooleanValue(); + virtual ::org::w3c::dom::Node * getSingleNodeValue(); + virtual jboolean getInvalidIteratorState(); + virtual jint getSnapshotLength(); + virtual ::org::w3c::dom::Node * iterateNext(); + virtual ::org::w3c::dom::Node * snapshotItem(jint); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) obj; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_dom_GnomeXPathResult__ diff --git a/libjava/gnu/xml/libxmlj/sax/GnomeLocator.h b/libjava/gnu/xml/libxmlj/sax/GnomeLocator.h new file mode 100644 index 00000000000..8697c204d04 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/GnomeLocator.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_GnomeLocator__ +#define __gnu_xml_libxmlj_sax_GnomeLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class GnomeLocator; + } + } + } + } +} + +class gnu::xml::libxmlj::sax::GnomeLocator : public ::java::lang::Object +{ + +public: // actually package-private + GnomeLocator(::java::lang::Object *, ::java::lang::Object *); +public: + virtual ::java::lang::String * getPublicId(); +private: + ::java::lang::String * publicId(::java::lang::Object *, ::java::lang::Object *); +public: + virtual ::java::lang::String * getSystemId(); +private: + ::java::lang::String * systemId(::java::lang::Object *, ::java::lang::Object *); +public: + virtual jint getLineNumber(); +private: + jint lineNumber(::java::lang::Object *, ::java::lang::Object *); +public: + virtual jint getColumnNumber(); +private: + jint columnNumber(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ctx; + ::java::lang::Object * loc; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_GnomeLocator__ diff --git a/libjava/gnu/xml/libxmlj/sax/GnomeSAXParser.h b/libjava/gnu/xml/libxmlj/sax/GnomeSAXParser.h new file mode 100644 index 00000000000..0aae0b1285b --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/GnomeSAXParser.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_GnomeSAXParser__ +#define __gnu_xml_libxmlj_sax_GnomeSAXParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class GnomeSAXParser; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Parser; + class XMLReader; + } + } + } +} + +class gnu::xml::libxmlj::sax::GnomeSAXParser : public ::javax::xml::parsers::SAXParser +{ + +public: // actually package-private + GnomeSAXParser(jboolean, jboolean); +public: + virtual ::org::xml::sax::Parser * getParser(); + virtual ::org::xml::sax::XMLReader * getXMLReader(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); +private: + jboolean __attribute__((aligned(__alignof__( ::javax::xml::parsers::SAXParser)))) namespaceAware; + jboolean validating; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_GnomeSAXParser__ diff --git a/libjava/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.h b/libjava/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.h new file mode 100644 index 00000000000..3c791c1b9e9 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_GnomeSAXParserFactory__ +#define __gnu_xml_libxmlj_sax_GnomeSAXParserFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class GnomeSAXParserFactory; + } + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class SAXParser; + } + } + } +} + +class gnu::xml::libxmlj::sax::GnomeSAXParserFactory : public ::javax::xml::parsers::SAXParserFactory +{ + +public: + GnomeSAXParserFactory(); + virtual ::javax::xml::parsers::SAXParser * newSAXParser(); + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); +private: + ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::xml::parsers::SAXParserFactory)))) features; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_GnomeSAXParserFactory__ diff --git a/libjava/gnu/xml/libxmlj/sax/GnomeXMLReader.h b/libjava/gnu/xml/libxmlj/sax/GnomeXMLReader.h new file mode 100644 index 00000000000..e27238f2886 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/GnomeXMLReader.h @@ -0,0 +1,130 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_GnomeXMLReader__ +#define __gnu_xml_libxmlj_sax_GnomeXMLReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class GnomeLocator; + class GnomeXMLReader; + class Namespaces; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + namespace ext + { + class DeclHandler; + class LexicalHandler; + } + } + } + } +} + +class gnu::xml::libxmlj::sax::GnomeXMLReader : public ::java::lang::Object +{ + +public: + GnomeXMLReader(); + GnomeXMLReader(jboolean, jboolean); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual void setContentHandler(::org::xml::sax::ContentHandler *); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual void setDTDHandler(::org::xml::sax::DTDHandler *); + virtual ::org::xml::sax::EntityResolver * getEntityResolver(); + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); +public: // actually package-private + static void checkFeatureName(::java::lang::String *); +public: + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::org::xml::sax::ext::DeclHandler * getDeclarationHandler(); + virtual void setDeclarationHandler(::org::xml::sax::ext::DeclHandler *); + virtual ::org::xml::sax::ext::LexicalHandler * getLexicalHandler(); + virtual void setLexicalHandler(::org::xml::sax::ext::LexicalHandler *); +public: // actually package-private + static void checkPropertyName(::java::lang::String *); +public: + virtual void parse(::java::lang::String *); + virtual void parse(::org::xml::sax::InputSource *); +public: // actually package-private + virtual void parseStream(::java::io::InputStream *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean); + virtual ::java::lang::String * getURI(::java::lang::String *); +private: + void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + ::java::io::InputStream * resolveEntity(::java::lang::String *, ::java::lang::String *); + void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void elementDecl(::java::lang::String *, ::java::lang::String *); + void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void setDocumentLocator(::java::lang::Object *, ::java::lang::Object *); + void startDocument(jboolean); + void endDocument(); + void startElement(::java::lang::String *, JArray< ::java::lang::String * > *); + void endElement(::java::lang::String *); + void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + void endPrefixMapping(::java::lang::String *); + void characters(::java::lang::String *); + void ignorableWhitespace(::java::lang::String *); + void processingInstruction(::java::lang::String *, ::java::lang::String *); + void comment(::java::lang::String *); + void cdataBlock(::java::lang::String *); + void warning(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + void error(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + void fatalError(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * FEATURES_PREFIX; + static ::java::util::List * RECOGNIZED_FEATURES; + static ::java::lang::String * PROPERTIES_PREFIX; + static ::java::util::List * RECOGNIZED_PROPERTIES; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) standalone; + jboolean namespaces; + jboolean namespacePrefixes; + jboolean validation; + ::org::xml::sax::ContentHandler * contentHandler; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::ErrorHandler * errorHandler; + ::org::xml::sax::ext::DeclHandler * declarationHandler; + ::org::xml::sax::ext::LexicalHandler * lexicalHandler; + ::gnu::xml::libxmlj::sax::GnomeLocator * locator; + ::gnu::xml::libxmlj::sax::Namespaces * ns; + jboolean seenFatalError; + jboolean seenStartDocument; + ::java::lang::String * base; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_GnomeXMLReader__ diff --git a/libjava/gnu/xml/libxmlj/sax/Namespaces.h b/libjava/gnu/xml/libxmlj/sax/Namespaces.h new file mode 100644 index 00000000000..bc4e872ef35 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/Namespaces.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_Namespaces__ +#define __gnu_xml_libxmlj_sax_Namespaces__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class Namespaces; + } + } + } + } +} + +class gnu::xml::libxmlj::sax::Namespaces : public ::java::lang::Object +{ + +public: // actually package-private + Namespaces(); + virtual void push(); + virtual void pop(); + virtual ::java::lang::String * getURI(::java::lang::String *); + virtual void define(::java::lang::String *, ::java::lang::String *); + virtual ::java::util::Iterator * currentPrefixes(); + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stack; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_Namespaces__ diff --git a/libjava/gnu/xml/libxmlj/sax/StringArrayAttributes.h b/libjava/gnu/xml/libxmlj/sax/StringArrayAttributes.h new file mode 100644 index 00000000000..d015c9db7f0 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/StringArrayAttributes.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_StringArrayAttributes__ +#define __gnu_xml_libxmlj_sax_StringArrayAttributes__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class GnomeXMLReader; + class StringArrayAttributes; + class XMLName; + } + } + } + } +} + +class gnu::xml::libxmlj::sax::StringArrayAttributes : public ::java::lang::Object +{ + +public: // actually package-private + StringArrayAttributes(::gnu::xml::libxmlj::sax::GnomeXMLReader *, JArray< ::java::lang::String * > *); +public: + virtual jint getLength(); + virtual ::java::lang::String * getURI(jint); + virtual ::java::lang::String * getLocalName(jint); + virtual ::java::lang::String * getQName(jint); + virtual ::java::lang::String * getType(jint); + virtual ::java::lang::String * getValue(jint); + virtual jint getIndex(::java::lang::String *, ::java::lang::String *); + virtual jint getIndex(::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) len; + JArray< ::gnu::xml::libxmlj::sax::XMLName * > * keys; + JArray< ::java::lang::String * > * values; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_StringArrayAttributes__ diff --git a/libjava/gnu/xml/libxmlj/sax/XMLName.h b/libjava/gnu/xml/libxmlj/sax/XMLName.h new file mode 100644 index 00000000000..d76438aedc0 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/sax/XMLName.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_sax_XMLName__ +#define __gnu_xml_libxmlj_sax_XMLName__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace sax + { + class GnomeXMLReader; + class XMLName; + } + } + } + } +} + +class gnu::xml::libxmlj::sax::XMLName : public ::java::lang::Object +{ + +public: // actually package-private + XMLName(::gnu::xml::libxmlj::sax::GnomeXMLReader *, ::java::lang::String *); +public: + virtual ::java::lang::String * toString(); +private: + static ::java::lang::String * XML_URI; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) uri; + ::java::lang::String * localName; + ::java::lang::String * qName; + ::java::lang::String * prefix; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_sax_XMLName__ diff --git a/libjava/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.h b/libjava/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.h new file mode 100644 index 00000000000..823265feb7e --- /dev/null +++ b/libjava/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_transform_ErrorListenerErrorHandler__ +#define __gnu_xml_libxmlj_transform_ErrorListenerErrorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace transform + { + class ErrorListenerErrorHandler; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class TransformerException; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXException; + class SAXParseException; + } + } + } +} + +class gnu::xml::libxmlj::transform::ErrorListenerErrorHandler : public ::java::lang::Object +{ + +public: // actually package-private + ErrorListenerErrorHandler(::javax::xml::transform::ErrorListener *); +public: + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); +private: + ::org::xml::sax::SAXException * getSAXException(::javax::xml::transform::TransformerException *); + ::javax::xml::transform::ErrorListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_transform_ErrorListenerErrorHandler__ diff --git a/libjava/gnu/xml/libxmlj/transform/GnomeTransformer.h b/libjava/gnu/xml/libxmlj/transform/GnomeTransformer.h new file mode 100644 index 00000000000..0b197fabd3c --- /dev/null +++ b/libjava/gnu/xml/libxmlj/transform/GnomeTransformer.h @@ -0,0 +1,106 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_transform_GnomeTransformer__ +#define __gnu_xml_libxmlj_transform_GnomeTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace dom + { + class GnomeDocument; + } + namespace sax + { + class GnomeXMLReader; + } + namespace transform + { + class GnomeTransformer; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Result; + class Source; + class Transformer; + class URIResolver; + namespace sax + { + class SAXResult; + } + } + } + } +} + +class gnu::xml::libxmlj::transform::GnomeTransformer : public ::javax::xml::transform::Transformer +{ + +public: // actually package-private + GnomeTransformer(::javax::xml::transform::Source *, ::javax::xml::transform::URIResolver *, ::javax::xml::transform::ErrorListener *); +private: + GnomeTransformer(::java::lang::Object *, ::javax::xml::transform::URIResolver *, ::javax::xml::transform::ErrorListener *, ::java::util::Map *, ::java::util::Properties *); + ::java::lang::Object * newStylesheet(); + ::java::lang::Object * newStylesheetFromStream(::java::io::InputStream *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + ::java::lang::Object * newStylesheetFromDoc(::gnu::xml::libxmlj::dom::GnomeDocument *); +public: + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual void clearParameters(); + virtual void setErrorListener(::javax::xml::transform::ErrorListener *); + virtual ::javax::xml::transform::ErrorListener * getErrorListener(); + virtual void setURIResolver(::javax::xml::transform::URIResolver *); + virtual ::javax::xml::transform::URIResolver * getURIResolver(); + virtual void setOutputProperties(::java::util::Properties *); + virtual void setOutputProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::util::Properties * getOutputProperties(); + virtual ::java::lang::String * getOutputProperty(::java::lang::String *); + virtual ::javax::xml::transform::Transformer * newTransformer(); + virtual void transform(::javax::xml::transform::Source *, ::javax::xml::transform::Result *); +private: + ::gnu::xml::libxmlj::sax::GnomeXMLReader * getSAXContext(::javax::xml::transform::sax::SAXResult *); + void transformStreamToStream(::java::io::InputStream *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean, ::java::io::OutputStream *); + ::gnu::xml::libxmlj::dom::GnomeDocument * transformStreamToDoc(::java::io::InputStream *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + void transformStreamToSAX(::java::io::InputStream *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean, ::gnu::xml::libxmlj::sax::GnomeXMLReader *); + void transformDocToStream(::gnu::xml::libxmlj::dom::GnomeDocument *, ::java::io::OutputStream *); + ::gnu::xml::libxmlj::dom::GnomeDocument * transformDocToDoc(::gnu::xml::libxmlj::dom::GnomeDocument *); + void transformDocToSAX(::gnu::xml::libxmlj::dom::GnomeDocument *, ::gnu::xml::libxmlj::sax::GnomeXMLReader *); + JArray< ::java::lang::String * > * getParameterArray(); +public: + virtual void finalize(); +private: + void free(); + ::java::io::InputStream * resolveEntity(::java::lang::String *, ::java::lang::String *); + void setDocumentLocator(::java::lang::Object *, ::java::lang::Object *); + void warning(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + void error(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + void fatalError(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *); + ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::xml::transform::Transformer)))) parameters; + ::java::util::Properties * outputProperties; + ::javax::xml::transform::URIResolver * resolver; + ::javax::xml::transform::ErrorListener * errorListener; + ::java::lang::Object * stylesheet; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_transform_GnomeTransformer__ diff --git a/libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.h b/libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.h new file mode 100644 index 00000000000..6afbf3fab0c --- /dev/null +++ b/libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory$AssociatedStylesheetHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_transform_GnomeTransformerFactory$AssociatedStylesheetHandler__ +#define __gnu_xml_libxmlj_transform_GnomeTransformerFactory$AssociatedStylesheetHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace transform + { + class GnomeTransformerFactory; + class GnomeTransformerFactory$AssociatedStylesheetHandler; + } + } + } + } +} + +class gnu::xml::libxmlj::transform::GnomeTransformerFactory$AssociatedStylesheetHandler : public ::org::xml::sax::helpers::DefaultHandler +{ + +public: // actually package-private + GnomeTransformerFactory$AssociatedStylesheetHandler(::gnu::xml::libxmlj::transform::GnomeTransformerFactory *); +public: + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::DefaultHandler)))) media; + ::java::lang::String * title; + ::java::lang::String * href; + ::gnu::xml::libxmlj::transform::GnomeTransformerFactory * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_transform_GnomeTransformerFactory$AssociatedStylesheetHandler__ diff --git a/libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory.h b/libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory.h new file mode 100644 index 00000000000..b34706ec3d3 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/transform/GnomeTransformerFactory.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_transform_GnomeTransformerFactory__ +#define __gnu_xml_libxmlj_transform_GnomeTransformerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace transform + { + class GnomeTransformerFactory; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Source; + class Templates; + class Transformer; + class URIResolver; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class XMLReader; + } + } + } +} + +class gnu::xml::libxmlj::transform::GnomeTransformerFactory : public ::javax::xml::transform::TransformerFactory +{ + +public: + GnomeTransformerFactory(); + virtual ::javax::xml::transform::Source * getAssociatedStylesheet(::javax::xml::transform::Source *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + ::org::xml::sax::XMLReader * createXMLReader(); +public: // actually package-private + virtual ::java::lang::String * parseParameter(::java::lang::String *, ::java::lang::String *); +public: + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getAttribute(::java::lang::String *); + virtual void setErrorListener(::javax::xml::transform::ErrorListener *); + virtual ::javax::xml::transform::ErrorListener * getErrorListener(); + virtual void setURIResolver(::javax::xml::transform::URIResolver *); + virtual ::javax::xml::transform::URIResolver * getURIResolver(); + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual ::javax::xml::transform::Transformer * newTransformer(); + virtual ::javax::xml::transform::Transformer * newTransformer(::javax::xml::transform::Source *); + virtual ::javax::xml::transform::Templates * newTemplates(::javax::xml::transform::Source *); + static void freeLibxsltGlobal(); +private: + ::javax::xml::transform::URIResolver * __attribute__((aligned(__alignof__( ::javax::xml::transform::TransformerFactory)))) uriResolver; + ::javax::xml::transform::ErrorListener * errorListener; + ::java::util::Map * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_transform_GnomeTransformerFactory__ diff --git a/libjava/gnu/xml/libxmlj/transform/URIResolverEntityResolver.h b/libjava/gnu/xml/libxmlj/transform/URIResolverEntityResolver.h new file mode 100644 index 00000000000..88df98333d3 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/transform/URIResolverEntityResolver.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_transform_URIResolverEntityResolver__ +#define __gnu_xml_libxmlj_transform_URIResolverEntityResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace transform + { + class URIResolverEntityResolver; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class URIResolver; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::libxmlj::transform::URIResolverEntityResolver : public ::java::lang::Object +{ + +public: // actually package-private + URIResolverEntityResolver(::javax::xml::transform::URIResolver *); +public: + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); +private: + ::javax::xml::transform::URIResolver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) resolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_transform_URIResolverEntityResolver__ diff --git a/libjava/gnu/xml/libxmlj/util/EmptyNodeList.h b/libjava/gnu/xml/libxmlj/util/EmptyNodeList.h new file mode 100644 index 00000000000..2bde43e51b8 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/util/EmptyNodeList.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_util_EmptyNodeList__ +#define __gnu_xml_libxmlj_util_EmptyNodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace util + { + class EmptyNodeList; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::libxmlj::util::EmptyNodeList : public ::java::lang::Object +{ + +public: // actually package-private + EmptyNodeList(); +public: + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_util_EmptyNodeList__ diff --git a/libjava/gnu/xml/libxmlj/util/NamedInputStream.h b/libjava/gnu/xml/libxmlj/util/NamedInputStream.h new file mode 100644 index 00000000000..f0b3a6280c8 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/util/NamedInputStream.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_util_NamedInputStream__ +#define __gnu_xml_libxmlj_util_NamedInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace util + { + class NamedInputStream; + } + } + } + } +} + +class gnu::xml::libxmlj::util::NamedInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + NamedInputStream(::java::lang::String *, ::java::io::InputStream *, jint); +public: + virtual ::java::lang::String * getName(); + virtual JArray< jbyte > * getDetectBuffer(); +private: + static jint DETECT_BUFFER_SIZE; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_util_NamedInputStream__ diff --git a/libjava/gnu/xml/libxmlj/util/StandaloneDocumentType.h b/libjava/gnu/xml/libxmlj/util/StandaloneDocumentType.h new file mode 100644 index 00000000000..1ac77d38d0d --- /dev/null +++ b/libjava/gnu/xml/libxmlj/util/StandaloneDocumentType.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_util_StandaloneDocumentType__ +#define __gnu_xml_libxmlj_util_StandaloneDocumentType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace util + { + class StandaloneDocumentType; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class gnu::xml::libxmlj::util::StandaloneDocumentType : public ::java::lang::Object +{ + +public: + StandaloneDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getName(); + ::org::w3c::dom::NamedNodeMap * getEntities(); + ::org::w3c::dom::NamedNodeMap * getNotations(); + ::java::lang::String * getPublicId(); + ::java::lang::String * getSystemId(); + ::java::lang::String * getInternalSubset(); + ::java::lang::String * getNodeName(); + ::java::lang::String * getNodeValue(); + void setNodeValue(::java::lang::String *); + jshort getNodeType(); + ::org::w3c::dom::Node * getParentNode(); + ::org::w3c::dom::NodeList * getChildNodes(); + ::org::w3c::dom::Node * getFirstChild(); + ::org::w3c::dom::Node * getLastChild(); + ::org::w3c::dom::Node * getPreviousSibling(); + ::org::w3c::dom::Node * getNextSibling(); + ::org::w3c::dom::NamedNodeMap * getAttributes(); + ::org::w3c::dom::Document * getOwnerDocument(); + ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *); + ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *); + jboolean hasChildNodes(); + ::org::w3c::dom::Node * cloneNode(jboolean); + void normalize(); + jboolean isSupported(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getNamespaceURI(); + ::java::lang::String * getPrefix(); + void setPrefix(::java::lang::String *); + ::java::lang::String * getLocalName(); + jboolean hasAttributes(); + ::java::lang::String * getBaseURI(); + jshort compareDocumentPosition(::org::w3c::dom::Node *); + ::java::lang::String * getTextContent(); + void setTextContent(::java::lang::String *); + jboolean isSameNode(::org::w3c::dom::Node *); + ::java::lang::String * lookupPrefix(::java::lang::String *); + jboolean isDefaultNamespace(::java::lang::String *); + ::java::lang::String * lookupNamespaceURI(::java::lang::String *); + jboolean isEqualNode(::org::w3c::dom::Node *); + ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *); + ::java::lang::Object * getUserData(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * publicId; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_util_StandaloneDocumentType__ diff --git a/libjava/gnu/xml/libxmlj/util/StandaloneLocator.h b/libjava/gnu/xml/libxmlj/util/StandaloneLocator.h new file mode 100644 index 00000000000..77f3028a95c --- /dev/null +++ b/libjava/gnu/xml/libxmlj/util/StandaloneLocator.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_util_StandaloneLocator__ +#define __gnu_xml_libxmlj_util_StandaloneLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace util + { + class StandaloneLocator; + } + } + } + } +} + +class gnu::xml::libxmlj::util::StandaloneLocator : public ::java::lang::Object +{ + +public: + StandaloneLocator(jint, jint, ::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getPublicId(); + ::java::lang::String * getSystemId(); + jint getLineNumber(); + jint getColumnNumber(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) lineNumber; + jint columnNumber; + ::java::lang::String * publicId; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_util_StandaloneLocator__ diff --git a/libjava/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.h b/libjava/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.h new file mode 100644 index 00000000000..c0ea02f8672 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/util/XMLJ$XMLJShutdownHook.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_util_XMLJ$XMLJShutdownHook__ +#define __gnu_xml_libxmlj_util_XMLJ$XMLJShutdownHook__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace util + { + class XMLJ$XMLJShutdownHook; + } + } + } + } +} + +class gnu::xml::libxmlj::util::XMLJ$XMLJShutdownHook : public ::java::lang::Object +{ + +public: // actually package-private + XMLJ$XMLJShutdownHook(); +public: + virtual void run(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_util_XMLJ$XMLJShutdownHook__ diff --git a/libjava/gnu/xml/libxmlj/util/XMLJ.h b/libjava/gnu/xml/libxmlj/util/XMLJ.h new file mode 100644 index 00000000000..d12e7aabaf0 --- /dev/null +++ b/libjava/gnu/xml/libxmlj/util/XMLJ.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_libxmlj_util_XMLJ__ +#define __gnu_xml_libxmlj_util_XMLJ__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace libxmlj + { + namespace util + { + class NamedInputStream; + class XMLJ; + } + } + } + } + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Source; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::libxmlj::util::XMLJ : public ::java::lang::Object +{ + +public: + XMLJ(); + static void init(); + static ::gnu::xml::libxmlj::util::NamedInputStream * getInputStream(::org::xml::sax::InputSource *); + static ::gnu::xml::libxmlj::util::NamedInputStream * getInputStream(::javax::xml::transform::Source *); +private: + static ::java::io::InputStream * getInputStream(::java::lang::String *); +public: + static ::gnu::xml::libxmlj::util::NamedInputStream * getInputStream(::java::net::URL *); +public: // actually package-private + static ::gnu::xml::libxmlj::util::NamedInputStream * xmljGetInputStream(::java::lang::String *, ::java::lang::String *); +public: + static ::java::io::OutputStream * getOutputStream(::javax::xml::transform::Result *); + static ::java::lang::String * getAbsoluteURI(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * getBaseURI(::java::lang::String *); +private: + static jboolean initialised; + static const jint LOOKAHEAD = 50; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_libxmlj_util_XMLJ__ diff --git a/libjava/gnu/xml/pipeline/CallFilter$Requestor.h b/libjava/gnu/xml/pipeline/CallFilter$Requestor.h new file mode 100644 index 00000000000..131c1cc4605 --- /dev/null +++ b/libjava/gnu/xml/pipeline/CallFilter$Requestor.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_CallFilter$Requestor__ +#define __gnu_xml_pipeline_CallFilter$Requestor__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class CallFilter; + class CallFilter$Requestor; + } + } + } +} + +class gnu::xml::pipeline::CallFilter$Requestor : public ::gnu::xml::util::XMLWriter +{ + +public: // actually package-private + CallFilter$Requestor(::gnu::xml::pipeline::CallFilter *); +public: + void startDocument(); + void endDocument(); +public: // actually package-private + ::gnu::xml::pipeline::CallFilter * __attribute__((aligned(__alignof__( ::gnu::xml::util::XMLWriter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_CallFilter$Requestor__ diff --git a/libjava/gnu/xml/pipeline/CallFilter.h b/libjava/gnu/xml/pipeline/CallFilter.h new file mode 100644 index 00000000000..71ab028d0b6 --- /dev/null +++ b/libjava/gnu/xml/pipeline/CallFilter.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_CallFilter__ +#define __gnu_xml_pipeline_CallFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class CallFilter; + class CallFilter$Requestor; + class EventConsumer; + } + } + } + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class ErrorHandler; + } + } + } +} + +class gnu::xml::pipeline::CallFilter : public ::java::lang::Object +{ + +public: + CallFilter(::java::lang::String *, ::gnu::xml::pipeline::EventConsumer *); + void setCallTarget(::java::lang::String *); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + ::java::lang::String * getCallTarget(); + ::org::xml::sax::ContentHandler * getContentHandler(); + ::org::xml::sax::DTDHandler * getDTDHandler(); + ::java::lang::Object * getProperty(::java::lang::String *); +public: // actually package-private + ::org::xml::sax::ErrorHandler * getErrorHandler(); + static ::java::net::URLConnection * access$0(::gnu::xml::pipeline::CallFilter *); + static ::java::net::URL * access$1(::gnu::xml::pipeline::CallFilter *); + static void access$2(::gnu::xml::pipeline::CallFilter *, ::java::net::URLConnection *); + static ::gnu::xml::pipeline::EventConsumer * access$3(::gnu::xml::pipeline::CallFilter *); +private: + ::gnu::xml::pipeline::CallFilter$Requestor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) req; + ::gnu::xml::pipeline::EventConsumer * next; + ::java::net::URL * target; + ::java::net::URLConnection * conn; + ::org::xml::sax::ErrorHandler * errHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_CallFilter__ diff --git a/libjava/gnu/xml/pipeline/DomConsumer$Handler.h b/libjava/gnu/xml/pipeline/DomConsumer$Handler.h new file mode 100644 index 00000000000..4ba4fc60897 --- /dev/null +++ b/libjava/gnu/xml/pipeline/DomConsumer$Handler.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_DomConsumer$Handler__ +#define __gnu_xml_pipeline_DomConsumer$Handler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class DomConsumer; + class DomConsumer$Handler; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Document; + class Element; + class Node; + class Text; + } + } + namespace xml + { + namespace sax + { + class Attributes; + class Locator; + namespace helpers + { + class AttributesImpl; + } + } + } + } +} + +class gnu::xml::pipeline::DomConsumer$Handler : public ::java::lang::Object +{ + +public: // actually protected + DomConsumer$Handler(::gnu::xml::pipeline::DomConsumer *); +private: + void fatal(::java::lang::String *, ::java::lang::Exception *); +public: // actually package-private + virtual ::org::w3c::dom::Document * clearDocument(); +public: // actually protected + virtual ::org::w3c::dom::Document * getDocument(); + virtual ::org::w3c::dom::Node * getTop(); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); +public: // actually protected + virtual ::org::w3c::dom::Text * createText(jboolean, JArray< jchar > *, jint, jint); +public: + virtual void characters(JArray< jchar > *, jint, jint); + virtual void skippedEntity(::java::lang::String *); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); +private: + void populateAttributes(::org::w3c::dom::Element *, ::org::xml::sax::Attributes *); + ::java::lang::String * getPrefix(::java::lang::String *); + ::java::lang::String * getNamespace(::java::lang::String *, ::org::xml::sax::Attributes *); +public: + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void startCDATA(); + virtual void endCDATA(); + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void comment(JArray< jchar > *, jint, jint); + virtual jboolean canPopulateEntityRefs(); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + void namespaceError(::java::lang::String *); +public: // actually protected + ::gnu::xml::pipeline::DomConsumer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumer; +private: + ::org::w3c::dom::DOMImplementation * impl; + ::org::w3c::dom::Document * document; + jboolean isL2; + ::org::xml::sax::Locator * locator; + ::org::w3c::dom::Node * top; + jboolean inCDATA; + jboolean mergeCDATA; + jboolean inDTD; + ::java::lang::String * currentEntity; + jboolean recreatedAttrs; + ::org::xml::sax::helpers::AttributesImpl * attributes; +public: // actually package-private + static ::java::lang::String * xmlnsURI; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_DomConsumer$Handler__ diff --git a/libjava/gnu/xml/pipeline/DomConsumer.h b/libjava/gnu/xml/pipeline/DomConsumer.h new file mode 100644 index 00000000000..b70ca18ddf2 --- /dev/null +++ b/libjava/gnu/xml/pipeline/DomConsumer.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_DomConsumer__ +#define __gnu_xml_pipeline_DomConsumer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class DomConsumer; + class DomConsumer$Handler; + class EventConsumer; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + } + } + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class ErrorHandler; + } + } + } +} + +class gnu::xml::pipeline::DomConsumer : public ::java::lang::Object +{ + +public: + DomConsumer(::java::lang::Class *); +public: // actually protected + virtual void setHandler(::gnu::xml::pipeline::DomConsumer$Handler *); +private: + ::org::w3c::dom::Document * emptyDocument(); +public: + DomConsumer(::java::lang::Class *, ::gnu::xml::pipeline::EventConsumer *); + virtual ::org::w3c::dom::Document * getDocument(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual jboolean isHidingReferences(); + virtual void setHidingReferences(jboolean); + virtual jboolean isHidingComments(); + virtual void setHidingComments(jboolean); + virtual jboolean isHidingWhitespace(); + virtual void setHidingWhitespace(jboolean); + virtual jboolean isHidingCDATA(); + virtual void setHidingCDATA(jboolean); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); +public: // actually package-private + virtual ::gnu::xml::pipeline::EventConsumer * getNext(); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + static ::org::w3c::dom::Document * access$0(::gnu::xml::pipeline::DomConsumer *); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) domImpl; + jboolean hidingCDATA; + jboolean hidingComments; + jboolean hidingWhitespace; + jboolean hidingReferences; + ::gnu::xml::pipeline::DomConsumer$Handler * handler; + ::org::xml::sax::ErrorHandler * errHandler; + ::gnu::xml::pipeline::EventConsumer * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_DomConsumer__ diff --git a/libjava/gnu/xml/pipeline/EventConsumer.h b/libjava/gnu/xml/pipeline/EventConsumer.h new file mode 100644 index 00000000000..ad9d15acad1 --- /dev/null +++ b/libjava/gnu/xml/pipeline/EventConsumer.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_EventConsumer__ +#define __gnu_xml_pipeline_EventConsumer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class ErrorHandler; + } + } + } +} + +class gnu::xml::pipeline::EventConsumer : public ::java::lang::Object +{ + +public: + virtual ::org::xml::sax::ContentHandler * getContentHandler() = 0; + virtual ::org::xml::sax::DTDHandler * getDTDHandler() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_xml_pipeline_EventConsumer__ diff --git a/libjava/gnu/xml/pipeline/EventFilter.h b/libjava/gnu/xml/pipeline/EventFilter.h new file mode 100644 index 00000000000..8895017028b --- /dev/null +++ b/libjava/gnu/xml/pipeline/EventFilter.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_EventFilter__ +#define __gnu_xml_pipeline_EventFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class EventFilter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class ContentHandler; + class DTDHandler; + class ErrorHandler; + class Locator; + class XMLReader; + namespace ext + { + class DeclHandler; + class LexicalHandler; + } + namespace helpers + { + class XMLFilterImpl; + } + } + } + } +} + +class gnu::xml::pipeline::EventFilter : public ::java::lang::Object +{ + +public: // actually package-private + static ::java::lang::ClassLoader * getClassLoader(); + static ::java::lang::Class * loadClass(::java::lang::ClassLoader *, ::java::lang::String *); +private: + static void loadClasses(); +public: + static void bind(::org::xml::sax::XMLReader *, ::gnu::xml::pipeline::EventConsumer *); + EventFilter(); + EventFilter(::gnu::xml::pipeline::EventConsumer *); + virtual void chainTo(::org::xml::sax::helpers::XMLFilterImpl *); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual ::gnu::xml::pipeline::EventConsumer * getNext(); + virtual void setContentHandler(::org::xml::sax::ContentHandler *); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual void setDTDHandler(::org::xml::sax::DTDHandler *); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual ::org::xml::sax::Locator * getDocumentLocator(); + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void skippedEntity(::java::lang::String *); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void endDocument(); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void comment(JArray< jchar > *, jint, jint); + virtual void startCDATA(); + virtual void endCDATA(); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *); +private: + ::org::xml::sax::ContentHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) docHandler; + ::org::xml::sax::ContentHandler * docNext; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::DTDHandler * dtdNext; + ::org::xml::sax::ext::LexicalHandler * lexHandler; + ::org::xml::sax::ext::LexicalHandler * lexNext; + ::org::xml::sax::ext::DeclHandler * declHandler; + ::org::xml::sax::ext::DeclHandler * declNext; + ::org::xml::sax::Locator * locator; + ::gnu::xml::pipeline::EventConsumer * next; + ::org::xml::sax::ErrorHandler * errHandler; +public: + static ::java::lang::String * FEATURE_URI; + static ::java::lang::String * PROPERTY_URI; + static ::java::lang::String * DECL_HANDLER; + static ::java::lang::String * LEXICAL_HANDLER; +private: + static jboolean loaded; + static ::java::lang::Class * nsClass; + static ::java::lang::Class * validClass; + static ::java::lang::Class * wfClass; + static ::java::lang::Class * xincClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_EventFilter__ diff --git a/libjava/gnu/xml/pipeline/LinkFilter.h b/libjava/gnu/xml/pipeline/LinkFilter.h new file mode 100644 index 00000000000..8de1d85805a --- /dev/null +++ b/libjava/gnu/xml/pipeline/LinkFilter.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_LinkFilter__ +#define __gnu_xml_pipeline_LinkFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class LinkFilter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class gnu::xml::pipeline::LinkFilter : public ::gnu::xml::pipeline::EventFilter +{ + +public: + LinkFilter(); + LinkFilter(::gnu::xml::pipeline::EventConsumer *); + virtual ::java::util::Enumeration * getLinks(); + virtual void removeAllLinks(); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); +private: + ::java::lang::String * maybeAddLink(::java::lang::String *); +public: + virtual void startDocument(); + virtual void endDocument(); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) vector; + ::java::lang::String * baseURI; + jboolean siteRestricted; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_LinkFilter__ diff --git a/libjava/gnu/xml/pipeline/NSFilter.h b/libjava/gnu/xml/pipeline/NSFilter.h new file mode 100644 index 00000000000..f38a80df517 --- /dev/null +++ b/libjava/gnu/xml/pipeline/NSFilter.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_NSFilter__ +#define __gnu_xml_pipeline_NSFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class NSFilter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + namespace helpers + { + class AttributesImpl; + class NamespaceSupport; + } + } + } + } +} + +class gnu::xml::pipeline::NSFilter : public ::gnu::xml::pipeline::EventFilter +{ + +public: + NSFilter(::gnu::xml::pipeline::EventConsumer *); +private: + void fatalError(::java::lang::String *); +public: + virtual void startDocument(); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); +private: + ::java::lang::String * fixName(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean); +public: + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void endDocument(); +private: + ::org::xml::sax::helpers::NamespaceSupport * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) nsStack; + ::java::util::Stack * elementStack; + jboolean pushedContext; + JArray< ::java::lang::String * > * nsTemp; + ::org::xml::sax::helpers::AttributesImpl * attributes; + jboolean usedDefault; + static ::java::lang::String * prefixRoot; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_NSFilter__ diff --git a/libjava/gnu/xml/pipeline/PipelineFactory$Pipeline.h b/libjava/gnu/xml/pipeline/PipelineFactory$Pipeline.h new file mode 100644 index 00000000000..13d99954aae --- /dev/null +++ b/libjava/gnu/xml/pipeline/PipelineFactory$Pipeline.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_PipelineFactory$Pipeline__ +#define __gnu_xml_pipeline_PipelineFactory$Pipeline__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class PipelineFactory$Pipeline; + class PipelineFactory$Stage; + } + } + } +} + +class gnu::xml::pipeline::PipelineFactory$Pipeline : public ::java::lang::Object +{ + +public: // actually package-private + PipelineFactory$Pipeline(::gnu::xml::pipeline::PipelineFactory$Stage *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual ::gnu::xml::pipeline::EventConsumer * createPipeline(); + ::gnu::xml::pipeline::PipelineFactory$Stage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stage; + ::gnu::xml::pipeline::PipelineFactory$Pipeline * rest; + ::gnu::xml::pipeline::EventConsumer * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_PipelineFactory$Pipeline__ diff --git a/libjava/gnu/xml/pipeline/PipelineFactory$Stage.h b/libjava/gnu/xml/pipeline/PipelineFactory$Stage.h new file mode 100644 index 00000000000..07a87875b83 --- /dev/null +++ b/libjava/gnu/xml/pipeline/PipelineFactory$Stage.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_PipelineFactory$Stage__ +#define __gnu_xml_pipeline_PipelineFactory$Stage__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class PipelineFactory$Pipeline; + class PipelineFactory$Stage; + } + } + } +} + +class gnu::xml::pipeline::PipelineFactory$Stage : public ::java::lang::Object +{ + +public: // actually package-private + PipelineFactory$Stage(::java::lang::String *); +public: + virtual ::java::lang::String * toString(); +private: + void fail(::java::lang::String *); +public: // actually package-private + virtual ::gnu::xml::pipeline::EventConsumer * createStage(::gnu::xml::pipeline::EventConsumer *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::gnu::xml::pipeline::PipelineFactory$Pipeline * param; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_PipelineFactory$Stage__ diff --git a/libjava/gnu/xml/pipeline/PipelineFactory.h b/libjava/gnu/xml/pipeline/PipelineFactory.h new file mode 100644 index 00000000000..57feff214c5 --- /dev/null +++ b/libjava/gnu/xml/pipeline/PipelineFactory.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_PipelineFactory__ +#define __gnu_xml_pipeline_PipelineFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class PipelineFactory; + class PipelineFactory$Pipeline; + class PipelineFactory$Stage; + } + } + } +} + +class gnu::xml::pipeline::PipelineFactory : public ::java::lang::Object +{ + +public: + static ::gnu::xml::pipeline::EventConsumer * createPipeline(::java::lang::String *); + static ::gnu::xml::pipeline::EventConsumer * createPipeline(::java::lang::String *, ::gnu::xml::pipeline::EventConsumer *); +private: + PipelineFactory(); +public: + static ::gnu::xml::pipeline::EventConsumer * createPipeline(JArray< ::java::lang::String * > *, ::gnu::xml::pipeline::EventConsumer *); +private: + ::gnu::xml::pipeline::PipelineFactory$Pipeline * parsePipeline(JArray< ::java::lang::String * > *, ::gnu::xml::pipeline::EventConsumer *); + ::gnu::xml::pipeline::PipelineFactory$Pipeline * parsePipeline(::gnu::xml::pipeline::EventConsumer *); + ::gnu::xml::pipeline::PipelineFactory$Stage * parseStage(); +public: // actually package-private + static JArray< JArray< ::java::lang::String * > * > * access$0(); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tokens; + jint index; + static JArray< JArray< ::java::lang::String * > * > * builtinStages; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_PipelineFactory__ diff --git a/libjava/gnu/xml/pipeline/TeeConsumer.h b/libjava/gnu/xml/pipeline/TeeConsumer.h new file mode 100644 index 00000000000..685c3604a32 --- /dev/null +++ b/libjava/gnu/xml/pipeline/TeeConsumer.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_TeeConsumer__ +#define __gnu_xml_pipeline_TeeConsumer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class TeeConsumer; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class ContentHandler; + class DTDHandler; + class ErrorHandler; + class Locator; + namespace ext + { + class DeclHandler; + class LexicalHandler; + } + } + } + } +} + +class gnu::xml::pipeline::TeeConsumer : public ::java::lang::Object +{ + +public: + TeeConsumer(::gnu::xml::pipeline::EventConsumer *, ::gnu::xml::pipeline::EventConsumer *); + ::gnu::xml::pipeline::EventConsumer * getFirst(); + ::gnu::xml::pipeline::EventConsumer * getRest(); + ::org::xml::sax::ContentHandler * getContentHandler(); + ::org::xml::sax::DTDHandler * getDTDHandler(); + ::java::lang::Object * getProperty(::java::lang::String *); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + void setDocumentLocator(::org::xml::sax::Locator *); + void startDocument(); + void endDocument(); + void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + void endPrefixMapping(::java::lang::String *); + void skippedEntity(::java::lang::String *); + void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void processingInstruction(::java::lang::String *, ::java::lang::String *); + void characters(JArray< jchar > *, jint, jint); + void ignorableWhitespace(JArray< jchar > *, jint, jint); + void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void elementDecl(::java::lang::String *, ::java::lang::String *); + void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + void comment(JArray< jchar > *, jint, jint); + void startCDATA(); + void endCDATA(); + void startEntity(::java::lang::String *); + void endEntity(::java::lang::String *); + void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void endDTD(); +private: + ::gnu::xml::pipeline::EventConsumer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) first; + ::gnu::xml::pipeline::EventConsumer * rest; + ::org::xml::sax::ContentHandler * docFirst; + ::org::xml::sax::ContentHandler * docRest; + ::org::xml::sax::ext::DeclHandler * declFirst; + ::org::xml::sax::ext::DeclHandler * declRest; + ::org::xml::sax::ext::LexicalHandler * lexFirst; + ::org::xml::sax::ext::LexicalHandler * lexRest; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_TeeConsumer__ diff --git a/libjava/gnu/xml/pipeline/TextConsumer.h b/libjava/gnu/xml/pipeline/TextConsumer.h new file mode 100644 index 00000000000..650e75155da --- /dev/null +++ b/libjava/gnu/xml/pipeline/TextConsumer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_TextConsumer__ +#define __gnu_xml_pipeline_TextConsumer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class TextConsumer; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + } + } + } +} + +class gnu::xml::pipeline::TextConsumer : public ::gnu::xml::util::XMLWriter +{ + +public: + TextConsumer(::java::io::Writer *, jboolean); + TextConsumer(::java::io::Writer *); + TextConsumer(::java::io::OutputStream *); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_TextConsumer__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.h b/libjava/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.h new file mode 100644 index 00000000000..6c69d31ae1f --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer$AttributeInfo.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer$AttributeInfo__ +#define __gnu_xml_pipeline_ValidationConsumer$AttributeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class ValidationConsumer$AttributeInfo; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer$AttributeInfo : public ::java::lang::Object +{ + + ValidationConsumer$AttributeInfo(); +public: // actually package-private + ValidationConsumer$AttributeInfo(::gnu::xml::pipeline::ValidationConsumer$AttributeInfo *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::lang::String * mode; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer$AttributeInfo__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.h b/libjava/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.h new file mode 100644 index 00000000000..711b5289a55 --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer$ChildrenRecognizer.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer$ChildrenRecognizer__ +#define __gnu_xml_pipeline_ValidationConsumer$ChildrenRecognizer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class ValidationConsumer; + class ValidationConsumer$ChildrenRecognizer; + class ValidationConsumer$ElementInfo; + class ValidationConsumer$Recognizer; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer$ChildrenRecognizer : public ::gnu::xml::pipeline::ValidationConsumer$Recognizer +{ + + void copyIn(::gnu::xml::pipeline::ValidationConsumer$ChildrenRecognizer *); +public: + ValidationConsumer$ChildrenRecognizer(::gnu::xml::pipeline::ValidationConsumer$ElementInfo *, ::gnu::xml::pipeline::ValidationConsumer *); +private: + ValidationConsumer$ChildrenRecognizer(::gnu::xml::pipeline::ValidationConsumer *, ::gnu::xml::pipeline::ValidationConsumer$ElementInfo *); + ::gnu::xml::pipeline::ValidationConsumer$ChildrenRecognizer * shallowClone(); + ::gnu::xml::pipeline::ValidationConsumer$ChildrenRecognizer * deepClone(); + ::gnu::xml::pipeline::ValidationConsumer$ChildrenRecognizer * deepClone(::java::util::Hashtable *); + void patchNext(::gnu::xml::pipeline::ValidationConsumer$Recognizer *, ::java::util::Hashtable *); + jint populate(JArray< jchar > *, jint); +public: // actually package-private + jboolean acceptCharacters(); + ::gnu::xml::pipeline::ValidationConsumer$Recognizer * acceptElement(::java::lang::String *); + jboolean completed(); +private: + ::gnu::xml::pipeline::ValidationConsumer * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::ValidationConsumer$Recognizer)))) consumer; + JArray< ::gnu::xml::pipeline::ValidationConsumer$Recognizer * > * components; + ::java::lang::String * name; + ::gnu::xml::pipeline::ValidationConsumer$Recognizer * next; + jint flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer$ChildrenRecognizer__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer$ElementInfo.h b/libjava/gnu/xml/pipeline/ValidationConsumer$ElementInfo.h new file mode 100644 index 00000000000..d15097fa656 --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer$ElementInfo.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer$ElementInfo__ +#define __gnu_xml_pipeline_ValidationConsumer$ElementInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class ValidationConsumer; + class ValidationConsumer$ElementInfo; + class ValidationConsumer$Recognizer; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer$ElementInfo : public ::java::lang::Object +{ + +public: // actually package-private + ValidationConsumer$ElementInfo(::java::lang::String *); + ::gnu::xml::pipeline::ValidationConsumer$Recognizer * getRecognizer(::gnu::xml::pipeline::ValidationConsumer *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * model; + ::java::util::Hashtable * attributes; +private: + ::gnu::xml::pipeline::ValidationConsumer$Recognizer * recognizer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer$ElementInfo__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.h b/libjava/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.h new file mode 100644 index 00000000000..eaabd0079d7 --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer$EmptyRecognizer.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer$EmptyRecognizer__ +#define __gnu_xml_pipeline_ValidationConsumer$EmptyRecognizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class ValidationConsumer$ElementInfo; + class ValidationConsumer$EmptyRecognizer; + class ValidationConsumer$Recognizer; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer$EmptyRecognizer : public ::gnu::xml::pipeline::ValidationConsumer$Recognizer +{ + +public: + ValidationConsumer$EmptyRecognizer(::gnu::xml::pipeline::ValidationConsumer$ElementInfo *); +public: // actually package-private + jboolean acceptCharacters(); + ::gnu::xml::pipeline::ValidationConsumer$Recognizer * acceptElement(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer$EmptyRecognizer__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.h b/libjava/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.h new file mode 100644 index 00000000000..b628740eeaa --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer$MixedRecognizer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer$MixedRecognizer__ +#define __gnu_xml_pipeline_ValidationConsumer$MixedRecognizer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class ValidationConsumer; + class ValidationConsumer$ElementInfo; + class ValidationConsumer$MixedRecognizer; + class ValidationConsumer$Recognizer; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer$MixedRecognizer : public ::gnu::xml::pipeline::ValidationConsumer$Recognizer +{ + +public: + ValidationConsumer$MixedRecognizer(::gnu::xml::pipeline::ValidationConsumer$ElementInfo *, ::gnu::xml::pipeline::ValidationConsumer *); +public: // actually package-private + ::gnu::xml::pipeline::ValidationConsumer$Recognizer * acceptElement(::java::lang::String *); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::ValidationConsumer$Recognizer)))) permitted; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer$MixedRecognizer__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer$Recognizer.h b/libjava/gnu/xml/pipeline/ValidationConsumer$Recognizer.h new file mode 100644 index 00000000000..087576c3093 --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer$Recognizer.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer$Recognizer__ +#define __gnu_xml_pipeline_ValidationConsumer$Recognizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class ValidationConsumer$ElementInfo; + class ValidationConsumer$Recognizer; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer$Recognizer : public ::java::lang::Object +{ + +public: // actually package-private + ValidationConsumer$Recognizer(::gnu::xml::pipeline::ValidationConsumer$ElementInfo *); + virtual jboolean acceptCharacters(); + virtual ::gnu::xml::pipeline::ValidationConsumer$Recognizer * acceptElement(::java::lang::String *); + virtual jboolean completed(); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::pipeline::ValidationConsumer$ElementInfo * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer$Recognizer__ diff --git a/libjava/gnu/xml/pipeline/ValidationConsumer.h b/libjava/gnu/xml/pipeline/ValidationConsumer.h new file mode 100644 index 00000000000..b08d025b2e6 --- /dev/null +++ b/libjava/gnu/xml/pipeline/ValidationConsumer.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_ValidationConsumer__ +#define __gnu_xml_pipeline_ValidationConsumer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class ValidationConsumer; + class ValidationConsumer$Recognizer; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class EntityResolver; + } + } + } +} + +class gnu::xml::pipeline::ValidationConsumer : public ::gnu::xml::pipeline::EventFilter +{ + +public: + ValidationConsumer(); + ValidationConsumer(::gnu::xml::pipeline::EventConsumer *); + ValidationConsumer(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::EntityResolver *, ::java::lang::String *); +private: + void resetState(); + void warning(::java::lang::String *); + void error(::java::lang::String *); + void fatalError(::java::lang::String *); + static jboolean isExtender(jchar); + jboolean isName(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + jboolean isNmtoken(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void checkEnumeration(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + static jboolean hasMatch(::java::lang::String *, ::java::lang::String *); +public: + void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void endDTD(); + void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void elementDecl(::java::lang::String *, ::java::lang::String *); + void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void startDocument(); +private: + static jboolean isAsciiLetter(jchar); +public: + void skippedEntity(::java::lang::String *); +private: + ::java::lang::String * expandDefaultRefs(::java::lang::String *); +public: + void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + void characters(JArray< jchar > *, jint, jint); + void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void endDocument(); +public: // actually package-private + static ::gnu::xml::pipeline::ValidationConsumer$Recognizer * access$0(); + static void access$1(::gnu::xml::pipeline::ValidationConsumer *, ::java::lang::String *); +private: + static const jboolean warnNonDeterministic = 0; + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) rootName; + ::java::util::Stack * contentStack; + jboolean disableDeclarations; + jboolean disableReset; + ::java::util::Hashtable * elements; + ::java::util::Hashtable * ids; + ::java::util::Vector * notations; + ::java::util::Vector * nDeferred; + ::java::util::Vector * unparsed; + ::java::util::Vector * uDeferred; + static ::java::lang::String * fakeRootName; +public: // actually package-private + static JArray< ::java::lang::String * > * types; +private: + static ::gnu::xml::pipeline::ValidationConsumer$Recognizer * ANY; + static const jint F_LOOPHEAD = 1; + static const jint F_LOOPNEXT = 2; + static jint nodeCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_ValidationConsumer__ diff --git a/libjava/gnu/xml/pipeline/WellFormednessFilter.h b/libjava/gnu/xml/pipeline/WellFormednessFilter.h new file mode 100644 index 00000000000..2b97d47b151 --- /dev/null +++ b/libjava/gnu/xml/pipeline/WellFormednessFilter.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_WellFormednessFilter__ +#define __gnu_xml_pipeline_WellFormednessFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class WellFormednessFilter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class Locator; + class SAXParseException; + } + } + } +} + +class gnu::xml::pipeline::WellFormednessFilter : public ::gnu::xml::pipeline::EventFilter +{ + +public: + WellFormednessFilter(); + WellFormednessFilter(::gnu::xml::pipeline::EventConsumer *); + void reset(); +private: + ::org::xml::sax::SAXParseException * getException(::java::lang::String *); + void fatalError(::java::lang::String *); +public: + void setDocumentLocator(::org::xml::sax::Locator *); + void startDocument(); + void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void endDocument(); + void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void endDTD(); + void characters(JArray< jchar > *, jint, jint); + void ignorableWhitespace(JArray< jchar > *, jint, jint); + void processingInstruction(::java::lang::String *, ::java::lang::String *); + void comment(JArray< jchar > *, jint, jint); + void startCDATA(); + void endCDATA(); +private: + jboolean __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) startedDoc; + ::java::util::Stack * elementStack; + jboolean startedCDATA; + ::java::lang::String * dtdState; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_WellFormednessFilter__ diff --git a/libjava/gnu/xml/pipeline/XIncludeFilter$Scrubber.h b/libjava/gnu/xml/pipeline/XIncludeFilter$Scrubber.h new file mode 100644 index 00000000000..114756ed2c6 --- /dev/null +++ b/libjava/gnu/xml/pipeline/XIncludeFilter$Scrubber.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_XIncludeFilter$Scrubber__ +#define __gnu_xml_pipeline_XIncludeFilter$Scrubber__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventFilter; + class XIncludeFilter; + class XIncludeFilter$Scrubber; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Locator; + } + } + } +} + +class gnu::xml::pipeline::XIncludeFilter$Scrubber : public ::gnu::xml::pipeline::EventFilter +{ + +public: // actually package-private + XIncludeFilter$Scrubber(::gnu::xml::pipeline::XIncludeFilter *, ::gnu::xml::pipeline::EventFilter *); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); +private: + void reject(::java::lang::String *); +public: + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void skippedEntity(::java::lang::String *); +public: // actually package-private + ::gnu::xml::pipeline::XIncludeFilter * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_XIncludeFilter$Scrubber__ diff --git a/libjava/gnu/xml/pipeline/XIncludeFilter.h b/libjava/gnu/xml/pipeline/XIncludeFilter.h new file mode 100644 index 00000000000..21321afba10 --- /dev/null +++ b/libjava/gnu/xml/pipeline/XIncludeFilter.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_XIncludeFilter__ +#define __gnu_xml_pipeline_XIncludeFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class XIncludeFilter; + } + } + } + namespace java + { + namespace net + { + class URL; + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class Locator; + class SAXParseException; + } + } + } +} + +class gnu::xml::pipeline::XIncludeFilter : public ::gnu::xml::pipeline::EventFilter +{ + +public: + XIncludeFilter(::gnu::xml::pipeline::EventConsumer *); +private: + void fatal(::org::xml::sax::SAXParseException *); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getPublicId(); + virtual jint getLineNumber(); + virtual jint getColumnNumber(); + virtual void setSavingPrefixes(jboolean); + virtual jboolean isSavingPrefixes(); +private: + ::java::lang::String * addMarker(::java::lang::String *); + void pop(::java::lang::String *); +public: + virtual void startDocument(); + virtual void endDocument(); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void comment(JArray< jchar > *, jint, jint); + virtual void startCDATA(); + virtual void endCDATA(); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void skippedEntity(::java::lang::String *); +public: // actually package-private + virtual void setLocator(::org::xml::sax::Locator *); + virtual ::org::xml::sax::Locator * getLocator(); +private: + ::org::xml::sax::SAXParseException * xinclude(::java::net::URL *, ::java::lang::String *); + ::org::xml::sax::SAXParseException * readText(::java::net::URL *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + static void access$0(::gnu::xml::pipeline::XIncludeFilter *, ::org::xml::sax::SAXParseException *); +private: + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) extEntities; + jint ignoreCount; + ::java::util::Stack * uris; + ::org::xml::sax::Locator * locator; + ::java::util::Vector * inclusions; + jboolean savingPrefixes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_XIncludeFilter__ diff --git a/libjava/gnu/xml/pipeline/XsltFilter.h b/libjava/gnu/xml/pipeline/XsltFilter.h new file mode 100644 index 00000000000..988735c6eea --- /dev/null +++ b/libjava/gnu/xml/pipeline/XsltFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_pipeline_XsltFilter__ +#define __gnu_xml_pipeline_XsltFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + class XsltFilter; + } + } + } +} + +class gnu::xml::pipeline::XsltFilter : public ::gnu::xml::pipeline::EventFilter +{ + +public: + XsltFilter(::java::lang::String *, ::gnu::xml::pipeline::EventConsumer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_pipeline_XsltFilter__ diff --git a/libjava/gnu/xml/stream/AttributeImpl.h b/libjava/gnu/xml/stream/AttributeImpl.h new file mode 100644 index 00000000000..d78c6a53efc --- /dev/null +++ b/libjava/gnu/xml/stream/AttributeImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_AttributeImpl__ +#define __gnu_xml_stream_AttributeImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class AttributeImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::AttributeImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + AttributeImpl(::javax::xml::stream::Location *, ::javax::xml::namespace::QName *, ::java::lang::String *, ::javax::xml::namespace::QName *, jboolean); +public: + virtual jint getEventType(); + virtual ::javax::xml::namespace::QName * getName(); + virtual ::java::lang::String * getValue(); + virtual ::javax::xml::namespace::QName * getDTDType(); + virtual jboolean isSpecified(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) name; + ::java::lang::String * value; + ::javax::xml::namespace::QName * type; + jboolean specified; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_AttributeImpl__ diff --git a/libjava/gnu/xml/stream/BufferedReader.h b/libjava/gnu/xml/stream/BufferedReader.h new file mode 100644 index 00000000000..0ee4018473d --- /dev/null +++ b/libjava/gnu/xml/stream/BufferedReader.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_BufferedReader__ +#define __gnu_xml_stream_BufferedReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class BufferedReader; + } + } + } +} + +class gnu::xml::stream::BufferedReader : public ::java::io::Reader +{ + +public: // actually package-private + BufferedReader(::java::io::Reader *); + BufferedReader(::java::io::Reader *, jint); +public: + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jchar > *); + virtual jint read(JArray< jchar > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +private: + jboolean refill(); +public: // actually package-private + static const jint DEFAULT_BUFFER_SIZE = 4096; + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::io::Reader)))) in; + JArray< jchar > * buf; + jint pos; + jint count; + jint markpos; + jint marklimit; + jint bufferSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_BufferedReader__ diff --git a/libjava/gnu/xml/stream/CRLFReader.h b/libjava/gnu/xml/stream/CRLFReader.h new file mode 100644 index 00000000000..977dd1e1727 --- /dev/null +++ b/libjava/gnu/xml/stream/CRLFReader.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_CRLFReader__ +#define __gnu_xml_stream_CRLFReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class CRLFReader; + } + } + } +} + +class gnu::xml::stream::CRLFReader : public ::java::io::Reader +{ + +public: // actually protected + CRLFReader(::java::io::Reader *); +public: + virtual jint read(); + virtual jint read(JArray< jchar > *); + virtual jint read(JArray< jchar > *, jint, jint); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual jlong skip(jlong); + virtual void close(); +private: + jint indexOfCRLF(JArray< jchar > *, jint, jint); +public: + static const jint CR = 13; + static const jint LF = 10; +private: + jboolean __attribute__((aligned(__alignof__( ::java::io::Reader)))) doReset; +public: // actually protected + ::java::io::Reader * in; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_CRLFReader__ diff --git a/libjava/gnu/xml/stream/CharactersImpl.h b/libjava/gnu/xml/stream/CharactersImpl.h new file mode 100644 index 00000000000..9a828cd83d8 --- /dev/null +++ b/libjava/gnu/xml/stream/CharactersImpl.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_CharactersImpl__ +#define __gnu_xml_stream_CharactersImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class CharactersImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::CharactersImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + CharactersImpl(::javax::xml::stream::Location *, ::java::lang::String *, jboolean, jboolean, jboolean); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getData(); + virtual jboolean isWhiteSpace(); + virtual jboolean isCData(); + virtual jboolean isIgnorableWhiteSpace(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) data; + jboolean whitespace; + jboolean cdata; + jboolean ignorableWhitespace; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_CharactersImpl__ diff --git a/libjava/gnu/xml/stream/CommentImpl.h b/libjava/gnu/xml/stream/CommentImpl.h new file mode 100644 index 00000000000..7e1d951df32 --- /dev/null +++ b/libjava/gnu/xml/stream/CommentImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_CommentImpl__ +#define __gnu_xml_stream_CommentImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class CommentImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::CommentImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + CommentImpl(::javax::xml::stream::Location *, ::java::lang::String *); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getText(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) text; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_CommentImpl__ diff --git a/libjava/gnu/xml/stream/DTDImpl.h b/libjava/gnu/xml/stream/DTDImpl.h new file mode 100644 index 00000000000..e1118230ac5 --- /dev/null +++ b/libjava/gnu/xml/stream/DTDImpl.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_DTDImpl__ +#define __gnu_xml_stream_DTDImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class DTDImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::DTDImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + DTDImpl(::javax::xml::stream::Location *, ::java::lang::String *, ::java::lang::Object *, ::java::util::List *, ::java::util::List *); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getDocumentTypeDeclaration(); + virtual ::java::lang::Object * getProcessedDTD(); + virtual ::java::util::List * getNotations(); + virtual ::java::util::List * getEntities(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) body; + ::java::lang::Object * impl; + ::java::util::List * notations; + ::java::util::List * entities; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_DTDImpl__ diff --git a/libjava/gnu/xml/stream/EndDocumentImpl.h b/libjava/gnu/xml/stream/EndDocumentImpl.h new file mode 100644 index 00000000000..a7bbf05aa52 --- /dev/null +++ b/libjava/gnu/xml/stream/EndDocumentImpl.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_EndDocumentImpl__ +#define __gnu_xml_stream_EndDocumentImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class EndDocumentImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::EndDocumentImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + EndDocumentImpl(::javax::xml::stream::Location *); +public: + virtual jint getEventType(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_EndDocumentImpl__ diff --git a/libjava/gnu/xml/stream/EndElementImpl.h b/libjava/gnu/xml/stream/EndElementImpl.h new file mode 100644 index 00000000000..cc1dba81601 --- /dev/null +++ b/libjava/gnu/xml/stream/EndElementImpl.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_EndElementImpl__ +#define __gnu_xml_stream_EndElementImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class EndElementImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::EndElementImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + EndElementImpl(::javax::xml::stream::Location *, ::javax::xml::namespace::QName *, ::java::util::List *); +public: + virtual jint getEventType(); + virtual ::javax::xml::namespace::QName * getName(); + virtual ::java::util::Iterator * getNamespaces(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) name; + ::java::util::List * namespaces; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_EndElementImpl__ diff --git a/libjava/gnu/xml/stream/EntityDeclarationImpl.h b/libjava/gnu/xml/stream/EntityDeclarationImpl.h new file mode 100644 index 00000000000..8c4180860f0 --- /dev/null +++ b/libjava/gnu/xml/stream/EntityDeclarationImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_EntityDeclarationImpl__ +#define __gnu_xml_stream_EntityDeclarationImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class EntityDeclarationImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::EntityDeclarationImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + EntityDeclarationImpl(::javax::xml::stream::Location *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getNotationName(); + virtual ::java::lang::String * getReplacementText(); + virtual ::java::lang::String * getBaseURI(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) publicId; + ::java::lang::String * systemId; + ::java::lang::String * name; + ::java::lang::String * notationName; + ::java::lang::String * replacementText; + ::java::lang::String * baseUri; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_EntityDeclarationImpl__ diff --git a/libjava/gnu/xml/stream/EntityReferenceImpl.h b/libjava/gnu/xml/stream/EntityReferenceImpl.h new file mode 100644 index 00000000000..0f30dc87747 --- /dev/null +++ b/libjava/gnu/xml/stream/EntityReferenceImpl.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_EntityReferenceImpl__ +#define __gnu_xml_stream_EntityReferenceImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class EntityReferenceImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + namespace events + { + class EntityDeclaration; + } + } + } + } +} + +class gnu::xml::stream::EntityReferenceImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + EntityReferenceImpl(::javax::xml::stream::Location *, ::javax::xml::stream::events::EntityDeclaration *, ::java::lang::String *); +public: + virtual jint getEventType(); + virtual ::javax::xml::stream::events::EntityDeclaration * getDeclaration(); + virtual ::java::lang::String * getName(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::javax::xml::stream::events::EntityDeclaration * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) decl; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_EntityReferenceImpl__ diff --git a/libjava/gnu/xml/stream/FilteredEventReader.h b/libjava/gnu/xml/stream/FilteredEventReader.h new file mode 100644 index 00000000000..ae4da2f7076 --- /dev/null +++ b/libjava/gnu/xml/stream/FilteredEventReader.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_FilteredEventReader__ +#define __gnu_xml_stream_FilteredEventReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class FilteredEventReader; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class EventFilter; + class XMLEventReader; + namespace events + { + class XMLEvent; + } + } + } + } +} + +class gnu::xml::stream::FilteredEventReader : public ::javax::xml::stream::util::EventReaderDelegate +{ + +public: // actually package-private + FilteredEventReader(::javax::xml::stream::XMLEventReader *, ::javax::xml::stream::EventFilter *); +public: + virtual jboolean hasNext(); + virtual ::javax::xml::stream::events::XMLEvent * nextEvent(); + virtual ::java::lang::Object * next(); + virtual ::javax::xml::stream::events::XMLEvent * peek(); + virtual ::javax::xml::stream::events::XMLEvent * nextTag(); +public: // actually package-private + ::javax::xml::stream::EventFilter * __attribute__((aligned(__alignof__( ::javax::xml::stream::util::EventReaderDelegate)))) filter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_FilteredEventReader__ diff --git a/libjava/gnu/xml/stream/FilteredStreamReader.h b/libjava/gnu/xml/stream/FilteredStreamReader.h new file mode 100644 index 00000000000..77c92e8598e --- /dev/null +++ b/libjava/gnu/xml/stream/FilteredStreamReader.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_FilteredStreamReader__ +#define __gnu_xml_stream_FilteredStreamReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class FilteredStreamReader; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class StreamFilter; + class XMLStreamReader; + } + } + } +} + +class gnu::xml::stream::FilteredStreamReader : public ::javax::xml::stream::util::ReaderDelegate +{ + +public: // actually package-private + FilteredStreamReader(::javax::xml::stream::XMLStreamReader *, ::javax::xml::stream::StreamFilter *); +public: + virtual jboolean hasNext(); + virtual jint next(); + virtual jint nextTag(); +public: // actually package-private + ::javax::xml::stream::XMLStreamReader * __attribute__((aligned(__alignof__( ::javax::xml::stream::util::ReaderDelegate)))) reader; + ::javax::xml::stream::StreamFilter * filter; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_FilteredStreamReader__ diff --git a/libjava/gnu/xml/stream/NamespaceImpl.h b/libjava/gnu/xml/stream/NamespaceImpl.h new file mode 100644 index 00000000000..136154c99a5 --- /dev/null +++ b/libjava/gnu/xml/stream/NamespaceImpl.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_NamespaceImpl__ +#define __gnu_xml_stream_NamespaceImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class NamespaceImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::NamespaceImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + NamespaceImpl(::javax::xml::stream::Location *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getPrefix(); + virtual ::java::lang::String * getNamespaceURI(); + virtual jboolean isDefaultNamespaceDeclaration(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) prefix; + ::java::lang::String * uri; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_NamespaceImpl__ diff --git a/libjava/gnu/xml/stream/NotationDeclarationImpl.h b/libjava/gnu/xml/stream/NotationDeclarationImpl.h new file mode 100644 index 00000000000..c994018d8d0 --- /dev/null +++ b/libjava/gnu/xml/stream/NotationDeclarationImpl.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_NotationDeclarationImpl__ +#define __gnu_xml_stream_NotationDeclarationImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class NotationDeclarationImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::NotationDeclarationImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + NotationDeclarationImpl(::javax::xml::stream::Location *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) name; + ::java::lang::String * publicId; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_NotationDeclarationImpl__ diff --git a/libjava/gnu/xml/stream/ProcessingInstructionImpl.h b/libjava/gnu/xml/stream/ProcessingInstructionImpl.h new file mode 100644 index 00000000000..f743902e91c --- /dev/null +++ b/libjava/gnu/xml/stream/ProcessingInstructionImpl.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_ProcessingInstructionImpl__ +#define __gnu_xml_stream_ProcessingInstructionImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class ProcessingInstructionImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::ProcessingInstructionImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + ProcessingInstructionImpl(::javax::xml::stream::Location *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getTarget(); + virtual ::java::lang::String * getData(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) target; + ::java::lang::String * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_ProcessingInstructionImpl__ diff --git a/libjava/gnu/xml/stream/SAXParser.h b/libjava/gnu/xml/stream/SAXParser.h new file mode 100644 index 00000000000..5624f8680af --- /dev/null +++ b/libjava/gnu/xml/stream/SAXParser.h @@ -0,0 +1,147 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_SAXParser__ +#define __gnu_xml_stream_SAXParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class SAXParser; + class XMLParser; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + class XMLEventReader; + class XMLStreamReader; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class Parser; + class XMLReader; + namespace ext + { + class DeclHandler; + class LexicalHandler; + } + } + } + } +} + +class gnu::xml::stream::SAXParser : public ::javax::xml::parsers::SAXParser +{ + +public: + SAXParser(); +public: // actually package-private + SAXParser(jboolean, jboolean, jboolean); +public: + virtual ::org::xml::sax::Parser * getParser(); + virtual ::org::xml::sax::XMLReader * getXMLReader(); + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual jboolean isXIncludeAware(); + virtual void reset(); + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual ::org::xml::sax::EntityResolver * getEntityResolver(); + virtual void setDTDHandler(::org::xml::sax::DTDHandler *); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual void setContentHandler(::org::xml::sax::ContentHandler *); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void parse(::org::xml::sax::InputSource *); +private: + jboolean isIgnorableWhitespace(::gnu::xml::stream::XMLParser *, JArray< jchar > *, jboolean); +public: + virtual void parse(::java::lang::String *); + virtual jint getIndex(::java::lang::String *); + virtual jint getIndex(::java::lang::String *, ::java::lang::String *); + virtual jint getLength(); + virtual ::java::lang::String * getLocalName(jint); + virtual ::java::lang::String * getQName(jint); + virtual ::java::lang::String * getType(jint); + virtual ::java::lang::String * getType(::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getURI(jint); + virtual ::java::lang::String * getValue(jint); + virtual ::java::lang::String * getValue(::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *); + virtual jboolean isDeclared(jint); + virtual jboolean isDeclared(::java::lang::String *); + virtual jboolean isDeclared(::java::lang::String *, ::java::lang::String *); + virtual jboolean isSpecified(jint); + virtual jboolean isSpecified(::java::lang::String *); + virtual jboolean isSpecified(::java::lang::String *, ::java::lang::String *); + virtual jint getColumnNumber(); + virtual jint getLineNumber(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getEncoding(); + virtual ::java::lang::String * getXMLVersion(); + virtual ::java::lang::Object * resolveEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::XMLEventReader * resolveAsXMLEventReader(::java::lang::String *); + virtual ::javax::xml::stream::XMLStreamReader * resolveAsXMLStreamReader(::java::lang::String *); + virtual void report(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *, ::javax::xml::stream::Location *); + static void main(JArray< ::java::lang::String * > *); +public: // actually package-private + ::org::xml::sax::ContentHandler * __attribute__((aligned(__alignof__( ::javax::xml::parsers::SAXParser)))) contentHandler; + ::org::xml::sax::ext::DeclHandler * declHandler; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::ErrorHandler * errorHandler; + ::org::xml::sax::ext::LexicalHandler * lexicalHandler; + jboolean validating; + jboolean namespaceAware; + jboolean xIncludeAware; + jboolean stringInterning; + jboolean coalescing; + jboolean replaceERefs; + jboolean externalEntities; + jboolean supportDTD; + jboolean baseAware; + ::gnu::xml::stream::XMLParser * parser; + ::javax::xml::stream::XMLStreamReader * reader; + ::java::lang::String * encoding; + ::java::lang::String * xmlVersion; + jboolean xmlStandalone; + ::java::lang::String * xmlEncoding; + ::java::lang::String * baseURI; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_SAXParser__ diff --git a/libjava/gnu/xml/stream/SAXParserFactory.h b/libjava/gnu/xml/stream/SAXParserFactory.h new file mode 100644 index 00000000000..c3d0c01d455 --- /dev/null +++ b/libjava/gnu/xml/stream/SAXParserFactory.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_SAXParserFactory__ +#define __gnu_xml_stream_SAXParserFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class SAXParserFactory; + } + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class SAXParser; + } + } + } +} + +class gnu::xml::stream::SAXParserFactory : public ::javax::xml::parsers::SAXParserFactory +{ + +public: + SAXParserFactory(); + virtual ::javax::xml::parsers::SAXParser * newSAXParser(); + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); +public: // actually package-private + static ::java::util::Set * FEATURE_NAMES; + ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::xml::parsers::SAXParserFactory)))) features; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_SAXParserFactory__ diff --git a/libjava/gnu/xml/stream/StartDocumentImpl.h b/libjava/gnu/xml/stream/StartDocumentImpl.h new file mode 100644 index 00000000000..adb51a57fd8 --- /dev/null +++ b/libjava/gnu/xml/stream/StartDocumentImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_StartDocumentImpl__ +#define __gnu_xml_stream_StartDocumentImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class StartDocumentImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class gnu::xml::stream::StartDocumentImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + StartDocumentImpl(::javax::xml::stream::Location *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean, jboolean); +public: + virtual jint getEventType(); + virtual ::java::lang::String * getSystemId(); + virtual ::java::lang::String * getCharacterEncodingScheme(); + virtual jboolean encodingSet(); + virtual jboolean isStandalone(); + virtual jboolean standaloneSet(); + virtual ::java::lang::String * getVersion(); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) systemId; + ::java::lang::String * encoding; + ::java::lang::String * xmlVersion; + jboolean xmlStandalone; + jboolean standaloneDeclared; + jboolean encodingDeclared; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_StartDocumentImpl__ diff --git a/libjava/gnu/xml/stream/StartElementImpl.h b/libjava/gnu/xml/stream/StartElementImpl.h new file mode 100644 index 00000000000..13b1dc64679 --- /dev/null +++ b/libjava/gnu/xml/stream/StartElementImpl.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_StartElementImpl__ +#define __gnu_xml_stream_StartElementImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class StartElementImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Attribute; + } + } + } + } +} + +class gnu::xml::stream::StartElementImpl : public ::gnu::xml::stream::XMLEventImpl +{ + +public: // actually protected + StartElementImpl(::javax::xml::stream::Location *, ::javax::xml::namespace::QName *, ::java::util::List *, ::java::util::List *, ::javax::xml::namespace::NamespaceContext *); +public: + virtual jint getEventType(); + virtual ::javax::xml::namespace::QName * getName(); + virtual ::java::util::Iterator * getAttributes(); + virtual ::java::util::Iterator * getNamespaces(); + virtual ::javax::xml::stream::events::Attribute * getAttributeByName(::javax::xml::namespace::QName *); + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext(); + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *); + virtual void writeAsEncodedUnicode(::java::io::Writer *); +public: // actually protected + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLEventImpl)))) name; + ::java::util::List * attributes; + ::java::util::List * namespaces; + ::javax::xml::namespace::NamespaceContext * namespaceContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_StartElementImpl__ diff --git a/libjava/gnu/xml/stream/UnicodeReader.h b/libjava/gnu/xml/stream/UnicodeReader.h new file mode 100644 index 00000000000..456700636fc --- /dev/null +++ b/libjava/gnu/xml/stream/UnicodeReader.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_UnicodeReader__ +#define __gnu_xml_stream_UnicodeReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class UnicodeReader; + } + } + } +} + +class gnu::xml::stream::UnicodeReader : public ::java::lang::Object +{ + +public: // actually package-private + UnicodeReader(::java::io::Reader *); +public: + virtual void mark(jint); + virtual void reset(); + virtual jint read(); + virtual jint read(JArray< jint > *, jint, jint); + virtual void close(); + static JArray< jint > * toCodePointArray(::java::lang::String *); +public: // actually package-private + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_UnicodeReader__ diff --git a/libjava/gnu/xml/stream/XIncludeFilter.h b/libjava/gnu/xml/stream/XIncludeFilter.h new file mode 100644 index 00000000000..36e488a6015 --- /dev/null +++ b/libjava/gnu/xml/stream/XIncludeFilter.h @@ -0,0 +1,139 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XIncludeFilter__ +#define __gnu_xml_stream_XIncludeFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XIncludeFilter; + } + } + } + namespace java + { + namespace net + { + class URLConnection; + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace parsers + { + class DocumentBuilder; + } + namespace stream + { + class XMLStreamReader; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class Node; + namespace traversal + { + class DocumentTraversal; + class TreeWalker; + } + namespace xpath + { + class XPathEvaluator; + class XPathResult; + } + } + } + } +} + +class gnu::xml::stream::XIncludeFilter : public ::javax::xml::stream::util::ReaderDelegate +{ + +public: // actually package-private + XIncludeFilter(::javax::xml::stream::XMLStreamReader *, ::java::lang::String *, jboolean, jboolean, jboolean); +public: + virtual jint getAttributeCount(); + virtual ::java::lang::String * getAttributeLocalName(jint); + virtual ::java::lang::String * getAttributeNamespace(jint); + virtual ::java::lang::String * getAttributePrefix(jint); + virtual ::javax::xml::namespace::QName * getAttributeName(jint); + virtual ::java::lang::String * getAttributeType(jint); + virtual jboolean isAttributeSpecified(jint); + virtual ::java::lang::String * getAttributeValue(jint); + virtual ::java::lang::String * getAttributeValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getElementText(); + virtual jint getEventType(); + virtual ::java::lang::String * getLocalName(); + virtual ::javax::xml::namespace::QName * getName(); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::java::lang::String * getPIData(); + virtual ::java::lang::String * getPITarget(); + virtual ::java::lang::String * getPrefix(); + virtual ::java::lang::String * getText(); + virtual JArray< jchar > * getTextCharacters(); + virtual jint getTextCharacters(jint, JArray< jchar > *, jint, jint); + virtual jint getTextLength(); + virtual jint getTextStart(); + virtual jboolean hasNext(); + virtual jint next(); +public: // actually package-private + virtual jboolean isSpace(JArray< jchar > *, jint); + virtual ::java::lang::String * getBaseURI(); + virtual jboolean includeResource(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::net::URLConnection * getURLConnection(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Document * getDocument(::org::w3c::dom::Node *); + virtual ::javax::xml::parsers::DocumentBuilder * getDocumentBuilder(); + virtual ::org::w3c::dom::traversal::DocumentTraversal * getDocumentTraversal(::org::w3c::dom::Document *); + virtual ::org::w3c::dom::xpath::XPathEvaluator * getXPathEvaluator(::org::w3c::dom::Document *); + static ::java::lang::String * getParameter(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * XINCLUDE_NS_URI; + static const jint SHOW_FLAGS = 221; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::xml::stream::util::ReaderDelegate)))) systemId; + jboolean namespaceAware; + jboolean validating; + jboolean expandERefs; + ::java::lang::String * href; + jint event; + jboolean included; + ::org::w3c::dom::xpath::XPathResult * result; + jint snapshotIndex; + ::org::w3c::dom::Node * current; + ::org::w3c::dom::traversal::TreeWalker * walker; + ::java::util::HashSet * seen; + jboolean backtracking; + jboolean lookahead; + ::java::io::Reader * includedText; + JArray< jchar > * buf; + jint len; + jboolean inInclude; + jboolean inFallback; + jboolean seenFallback; + ::javax::xml::parsers::DocumentBuilder * builder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XIncludeFilter__ diff --git a/libjava/gnu/xml/stream/XMLEventAllocatorImpl.h b/libjava/gnu/xml/stream/XMLEventAllocatorImpl.h new file mode 100644 index 00000000000..374c125c422 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLEventAllocatorImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLEventAllocatorImpl__ +#define __gnu_xml_stream_XMLEventAllocatorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLEventAllocatorImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class XMLStreamReader; + namespace events + { + class XMLEvent; + } + namespace util + { + class XMLEventAllocator; + class XMLEventConsumer; + } + } + } + } +} + +class gnu::xml::stream::XMLEventAllocatorImpl : public ::java::lang::Object +{ + +public: // actually protected + XMLEventAllocatorImpl(); +public: + virtual ::javax::xml::stream::events::XMLEvent * allocate(::javax::xml::stream::XMLStreamReader *); + virtual void allocate(::javax::xml::stream::XMLStreamReader *, ::javax::xml::stream::util::XMLEventConsumer *); + virtual ::javax::xml::stream::util::XMLEventAllocator * newInstance(); +public: // actually protected + virtual jboolean isWhitespace(::java::lang::String *); + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entityDeclarations; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLEventAllocatorImpl__ diff --git a/libjava/gnu/xml/stream/XMLEventFactoryImpl.h b/libjava/gnu/xml/stream/XMLEventFactoryImpl.h new file mode 100644 index 00000000000..b8ebf0bcda5 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLEventFactoryImpl.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLEventFactoryImpl__ +#define __gnu_xml_stream_XMLEventFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLEventFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Attribute; + class Characters; + class Comment; + class DTD; + class EndDocument; + class EndElement; + class EntityDeclaration; + class EntityReference; + class Namespace; + class ProcessingInstruction; + class StartDocument; + class StartElement; + } + } + } + } +} + +class gnu::xml::stream::XMLEventFactoryImpl : public ::javax::xml::stream::XMLEventFactory +{ + +public: + XMLEventFactoryImpl(); + virtual void setLocation(::javax::xml::stream::Location *); + virtual ::javax::xml::stream::events::Attribute * createAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::Attribute * createAttribute(::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::Attribute * createAttribute(::javax::xml::namespace::QName *, ::java::lang::String *); + virtual ::javax::xml::stream::events::Namespace * createNamespace(::java::lang::String *); + virtual ::javax::xml::stream::events::Namespace * createNamespace(::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::StartElement * createStartElement(::javax::xml::namespace::QName *, ::java::util::Iterator *, ::java::util::Iterator *); + virtual ::javax::xml::stream::events::StartElement * createStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::StartElement * createStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Iterator *, ::java::util::Iterator *); + virtual ::javax::xml::stream::events::StartElement * createStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Iterator *, ::java::util::Iterator *, ::javax::xml::namespace::NamespaceContext *); + virtual ::javax::xml::stream::events::EndElement * createEndElement(::javax::xml::namespace::QName *, ::java::util::Iterator *); + virtual ::javax::xml::stream::events::EndElement * createEndElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::EndElement * createEndElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Iterator *); + virtual ::javax::xml::stream::events::Characters * createCharacters(::java::lang::String *); + virtual ::javax::xml::stream::events::Characters * createCData(::java::lang::String *); + virtual ::javax::xml::stream::events::Characters * createSpace(::java::lang::String *); + virtual ::javax::xml::stream::events::Characters * createIgnorableSpace(::java::lang::String *); + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(); + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(::java::lang::String *, ::java::lang::String *, jboolean); + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(::java::lang::String *); + virtual ::javax::xml::stream::events::EndDocument * createEndDocument(); + virtual ::javax::xml::stream::events::EntityReference * createEntityReference(::java::lang::String *, ::javax::xml::stream::events::EntityDeclaration *); + virtual ::javax::xml::stream::events::Comment * createComment(::java::lang::String *); + virtual ::javax::xml::stream::events::ProcessingInstruction * createProcessingInstruction(::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::stream::events::DTD * createDTD(::java::lang::String *); +public: // actually package-private + virtual ::java::util::LinkedList * createLinkedList(::java::util::Iterator *); +public: // actually protected + ::javax::xml::stream::Location * __attribute__((aligned(__alignof__( ::javax::xml::stream::XMLEventFactory)))) location; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLEventFactoryImpl__ diff --git a/libjava/gnu/xml/stream/XMLEventImpl.h b/libjava/gnu/xml/stream/XMLEventImpl.h new file mode 100644 index 00000000000..46432d3506d --- /dev/null +++ b/libjava/gnu/xml/stream/XMLEventImpl.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLEventImpl__ +#define __gnu_xml_stream_XMLEventImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLEventImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class StartElement; + } + } + } + } +} + +class gnu::xml::stream::XMLEventImpl : public ::java::lang::Object +{ + +public: // actually protected + XMLEventImpl(::javax::xml::stream::Location *); +public: + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation(); + virtual jboolean isStartElement(); + virtual jboolean isAttribute(); + virtual jboolean isNamespace(); + virtual jboolean isEndElement(); + virtual jboolean isEntityReference(); + virtual jboolean isProcessingInstruction(); + virtual jboolean isCharacters(); + virtual jboolean isStartDocument(); + virtual jboolean isEndDocument(); + virtual ::javax::xml::stream::events::StartElement * asStartElement(); + virtual ::javax::xml::stream::events::EndElement * asEndElement(); + virtual ::javax::xml::stream::events::Characters * asCharacters(); + virtual ::javax::xml::namespace::QName * getSchemaType(); + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; +public: // actually protected + virtual ::java::lang::String * encode(::java::lang::String *, jboolean); + ::javax::xml::stream::Location * __attribute__((aligned(__alignof__( ::java::lang::Object)))) location; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLEventImpl__ diff --git a/libjava/gnu/xml/stream/XMLEventReaderImpl.h b/libjava/gnu/xml/stream/XMLEventReaderImpl.h new file mode 100644 index 00000000000..e3ce4923ffb --- /dev/null +++ b/libjava/gnu/xml/stream/XMLEventReaderImpl.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLEventReaderImpl__ +#define __gnu_xml_stream_XMLEventReaderImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLEventReaderImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class XMLStreamReader; + namespace events + { + class XMLEvent; + } + namespace util + { + class XMLEventAllocator; + } + } + } + } +} + +class gnu::xml::stream::XMLEventReaderImpl : public ::java::lang::Object +{ + +public: // actually protected + XMLEventReaderImpl(::javax::xml::stream::XMLStreamReader *, ::javax::xml::stream::util::XMLEventAllocator *, ::java::lang::String *); +public: + virtual ::javax::xml::stream::events::XMLEvent * nextEvent(); + virtual ::java::lang::Object * next(); + virtual jboolean hasNext(); + virtual ::javax::xml::stream::events::XMLEvent * peek(); + virtual ::java::lang::String * getElementText(); + virtual ::javax::xml::stream::events::XMLEvent * nextTag(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void close(); + virtual void remove(); +public: // actually protected + ::javax::xml::stream::XMLStreamReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reader; + ::javax::xml::stream::util::XMLEventAllocator * allocator; + ::java::lang::String * systemId; + ::javax::xml::stream::events::XMLEvent * peekEvent; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLEventReaderImpl__ diff --git a/libjava/gnu/xml/stream/XMLEventWriterImpl.h b/libjava/gnu/xml/stream/XMLEventWriterImpl.h new file mode 100644 index 00000000000..77c10a53399 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLEventWriterImpl.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLEventWriterImpl__ +#define __gnu_xml_stream_XMLEventWriterImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLEventWriterImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + } + namespace stream + { + class XMLEventReader; + class XMLStreamWriter; + namespace events + { + class XMLEvent; + } + } + } + } +} + +class gnu::xml::stream::XMLEventWriterImpl : public ::java::lang::Object +{ + +public: // actually protected + XMLEventWriterImpl(::javax::xml::stream::XMLStreamWriter *); +public: + virtual void flush(); + virtual void close(); + virtual void add(::javax::xml::stream::events::XMLEvent *); + virtual void add(::javax::xml::stream::XMLEventReader *); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual void setPrefix(::java::lang::String *, ::java::lang::String *); + virtual void setDefaultNamespace(::java::lang::String *); + virtual void setNamespaceContext(::javax::xml::namespace::NamespaceContext *); + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext(); +public: // actually protected + ::javax::xml::stream::XMLStreamWriter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) writer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLEventWriterImpl__ diff --git a/libjava/gnu/xml/stream/XMLInputFactoryImpl.h b/libjava/gnu/xml/stream/XMLInputFactoryImpl.h new file mode 100644 index 00000000000..43a2197555a --- /dev/null +++ b/libjava/gnu/xml/stream/XMLInputFactoryImpl.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLInputFactoryImpl__ +#define __gnu_xml_stream_XMLInputFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLInputFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class EventFilter; + class StreamFilter; + class XMLEventReader; + class XMLReporter; + class XMLResolver; + class XMLStreamReader; + namespace util + { + class XMLEventAllocator; + } + } + namespace transform + { + class Source; + } + } + } +} + +class gnu::xml::stream::XMLInputFactoryImpl : public ::javax::xml::stream::XMLInputFactory +{ + +public: + XMLInputFactoryImpl(); + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::io::Reader *); + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::javax::xml::transform::Source *); + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::io::InputStream *); + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::io::InputStream *, ::java::lang::String *); + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::lang::String *, ::java::io::InputStream *); + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::lang::String *, ::java::io::Reader *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::io::Reader *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::lang::String *, ::java::io::Reader *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::javax::xml::stream::XMLStreamReader *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::javax::xml::transform::Source *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::io::InputStream *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::io::InputStream *, ::java::lang::String *); + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::lang::String *, ::java::io::InputStream *); + virtual ::javax::xml::stream::XMLStreamReader * createFilteredReader(::javax::xml::stream::XMLStreamReader *, ::javax::xml::stream::StreamFilter *); + virtual ::javax::xml::stream::XMLEventReader * createFilteredReader(::javax::xml::stream::XMLEventReader *, ::javax::xml::stream::EventFilter *); + virtual ::javax::xml::stream::XMLResolver * getXMLResolver(); + virtual void setXMLResolver(::javax::xml::stream::XMLResolver *); + virtual ::javax::xml::stream::XMLReporter * getXMLReporter(); + virtual void setXMLReporter(::javax::xml::stream::XMLReporter *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual jboolean isPropertySupported(::java::lang::String *); + virtual void setEventAllocator(::javax::xml::stream::util::XMLEventAllocator *); + virtual ::javax::xml::stream::util::XMLEventAllocator * getEventAllocator(); + virtual void setCoalescing(jboolean); + virtual jboolean isCoalescing(); +public: // actually protected + virtual ::java::io::InputStream * getInputStream(::javax::xml::transform::Source *); + ::javax::xml::stream::XMLResolver * __attribute__((aligned(__alignof__( ::javax::xml::stream::XMLInputFactory)))) resolver; + ::javax::xml::stream::XMLReporter * reporter; + ::javax::xml::stream::util::XMLEventAllocator * allocator; + jboolean validating; + jboolean namespaceAware; + jboolean coalescing; + jboolean replacingEntityReferences; + jboolean externalEntities; + jboolean supportDTD; + jboolean xIncludeAware; + jboolean baseAware; + jboolean stringInterning; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLInputFactoryImpl__ diff --git a/libjava/gnu/xml/stream/XMLOutputFactoryImpl.h b/libjava/gnu/xml/stream/XMLOutputFactoryImpl.h new file mode 100644 index 00000000000..c5cd038b7f5 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLOutputFactoryImpl.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLOutputFactoryImpl__ +#define __gnu_xml_stream_XMLOutputFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLOutputFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace stream + { + class XMLEventWriter; + class XMLStreamWriter; + } + namespace transform + { + class Result; + } + } + } +} + +class gnu::xml::stream::XMLOutputFactoryImpl : public ::javax::xml::stream::XMLOutputFactory +{ + +public: + XMLOutputFactoryImpl(); + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::java::io::Writer *); + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::java::io::OutputStream *); + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::java::io::OutputStream *, ::java::lang::String *); + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::javax::xml::transform::Result *); + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::java::io::OutputStream *); + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::java::io::OutputStream *, ::java::lang::String *); + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::java::io::Writer *); + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::javax::xml::transform::Result *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual jboolean isPropertySupported(::java::lang::String *); + virtual jboolean isPrefixDefaulting(); + virtual void setPrefixDefaulting(jboolean); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::xml::stream::XMLOutputFactory)))) prefixDefaulting; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLOutputFactoryImpl__ diff --git a/libjava/gnu/xml/stream/XMLParser$AnyContentModel.h b/libjava/gnu/xml/stream/XMLParser$AnyContentModel.h new file mode 100644 index 00000000000..c5b4ea39515 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$AnyContentModel.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$AnyContentModel__ +#define __gnu_xml_stream_XMLParser$AnyContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$AnyContentModel; + } + } + } +} + +class gnu::xml::stream::XMLParser$AnyContentModel : public ::gnu::xml::stream::XMLParser$ContentModel +{ + +public: // actually package-private + XMLParser$AnyContentModel(::gnu::xml::stream::XMLParser *); + ::gnu::xml::stream::XMLParser * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLParser$ContentModel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$AnyContentModel__ diff --git a/libjava/gnu/xml/stream/XMLParser$Attribute.h b/libjava/gnu/xml/stream/XMLParser$Attribute.h new file mode 100644 index 00000000000..0b2b62aa653 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$Attribute.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$Attribute__ +#define __gnu_xml_stream_XMLParser$Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$Attribute; + } + } + } +} + +class gnu::xml::stream::XMLParser$Attribute : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$Attribute(::gnu::xml::stream::XMLParser *, ::java::lang::String *, ::java::lang::String *, jboolean, ::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * type; + jboolean specified; + ::java::lang::String * value; + ::java::lang::String * prefix; + ::java::lang::String * localName; + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$Attribute__ diff --git a/libjava/gnu/xml/stream/XMLParser$AttributeDecl.h b/libjava/gnu/xml/stream/XMLParser$AttributeDecl.h new file mode 100644 index 00000000000..27da8e20da0 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$AttributeDecl.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$AttributeDecl__ +#define __gnu_xml_stream_XMLParser$AttributeDecl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$AttributeDecl; + } + } + } +} + +class gnu::xml::stream::XMLParser$AttributeDecl : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$AttributeDecl(::gnu::xml::stream::XMLParser *, ::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::util::HashSet *, jboolean); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::lang::String * value; + jint valueType; + ::java::lang::String * enumeration; + ::java::util::HashSet * values; + jboolean external; + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$AttributeDecl__ diff --git a/libjava/gnu/xml/stream/XMLParser$ContentModel.h b/libjava/gnu/xml/stream/XMLParser$ContentModel.h new file mode 100644 index 00000000000..26d9b824ff8 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$ContentModel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$ContentModel__ +#define __gnu_xml_stream_XMLParser$ContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$ContentModel; + } + } + } +} + +class gnu::xml::stream::XMLParser$ContentModel : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$ContentModel(::gnu::xml::stream::XMLParser *, jint); + static const jint EMPTY = 0; + static const jint ANY = 1; + static const jint ELEMENT = 2; + static const jint MIXED = 3; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) min; + jint max; + jint type; + ::java::lang::String * text; + jboolean external; + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$ContentModel__ diff --git a/libjava/gnu/xml/stream/XMLParser$ContentParticle.h b/libjava/gnu/xml/stream/XMLParser$ContentParticle.h new file mode 100644 index 00000000000..3ac0ad187ba --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$ContentParticle.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$ContentParticle__ +#define __gnu_xml_stream_XMLParser$ContentParticle__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$ContentParticle; + } + } + } +} + +class gnu::xml::stream::XMLParser$ContentParticle : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$ContentParticle(::gnu::xml::stream::XMLParser *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) min; + jint max; + ::java::lang::Object * content; + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$ContentParticle__ diff --git a/libjava/gnu/xml/stream/XMLParser$Doctype.h b/libjava/gnu/xml/stream/XMLParser$Doctype.h new file mode 100644 index 00000000000..06ba9ec6831 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$Doctype.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$Doctype__ +#define __gnu_xml_stream_XMLParser$Doctype__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$AttributeDecl; + class XMLParser$ContentModel; + class XMLParser$Doctype; + class XMLParser$ExternalIds; + } + } + } +} + +class gnu::xml::stream::XMLParser$Doctype : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$Doctype(::gnu::xml::stream::XMLParser *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void addElementDecl(::java::lang::String *, ::java::lang::String *, ::gnu::xml::stream::XMLParser$ContentModel *); + virtual void addAttributeDecl(::java::lang::String *, ::java::lang::String *, ::gnu::xml::stream::XMLParser$AttributeDecl *); + virtual void addEntityDecl(::java::lang::String *, ::java::lang::String *, jboolean); + virtual void addEntityDecl(::java::lang::String *, ::gnu::xml::stream::XMLParser$ExternalIds *, jboolean); + virtual void addNotationDecl(::java::lang::String *, ::gnu::xml::stream::XMLParser$ExternalIds *, jboolean); + virtual void addComment(::java::lang::String *); + virtual void addPI(::java::lang::String *, ::java::lang::String *); + virtual ::gnu::xml::stream::XMLParser$ContentModel * getElementModel(::java::lang::String *); + virtual ::gnu::xml::stream::XMLParser$AttributeDecl * getAttributeDecl(::java::lang::String *, ::java::lang::String *); + virtual jboolean isAttributeDeclared(::java::lang::String *, ::java::lang::String *); + virtual ::java::util::Iterator * attlistIterator(::java::lang::String *); + virtual ::java::lang::Object * getEntity(::java::lang::String *); + virtual jboolean isEntityExternal(::java::lang::String *); + virtual ::java::util::Iterator * entityIterator(); + virtual ::gnu::xml::stream::XMLParser$ExternalIds * getNotation(::java::lang::String *); + virtual jboolean isNotationExternal(::java::lang::String *); + virtual ::java::lang::String * getComment(::java::lang::String *); + virtual JArray< ::java::lang::String * > * getPI(::java::lang::String *); + virtual ::java::util::Iterator * entryIterator(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rootName; + ::java::lang::String * publicId; + ::java::lang::String * systemId; +private: + ::java::util::LinkedHashMap * elements; + ::java::util::LinkedHashMap * attlists; + ::java::util::LinkedHashMap * entities; + ::java::util::LinkedHashMap * notations; + ::java::util::LinkedHashMap * comments; + ::java::util::LinkedHashMap * pis; + ::java::util::LinkedList * entries; + ::java::util::HashSet * externalEntities; + ::java::util::HashSet * externalNotations; + jint anon; +public: // actually package-private + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$Doctype__ diff --git a/libjava/gnu/xml/stream/XMLParser$ElementContentModel.h b/libjava/gnu/xml/stream/XMLParser$ElementContentModel.h new file mode 100644 index 00000000000..a1c745cb963 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$ElementContentModel.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$ElementContentModel__ +#define __gnu_xml_stream_XMLParser$ElementContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$ContentParticle; + class XMLParser$ElementContentModel; + } + } + } +} + +class gnu::xml::stream::XMLParser$ElementContentModel : public ::gnu::xml::stream::XMLParser$ContentModel +{ + +public: // actually package-private + XMLParser$ElementContentModel(::gnu::xml::stream::XMLParser *); + virtual void addContentParticle(::gnu::xml::stream::XMLParser$ContentParticle *); + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLParser$ContentModel)))) contentParticles; + jboolean or$; + ::java::lang::String * regex; + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$ElementContentModel__ diff --git a/libjava/gnu/xml/stream/XMLParser$EmptyContentModel.h b/libjava/gnu/xml/stream/XMLParser$EmptyContentModel.h new file mode 100644 index 00000000000..08ec0163003 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$EmptyContentModel.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$EmptyContentModel__ +#define __gnu_xml_stream_XMLParser$EmptyContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$EmptyContentModel; + } + } + } +} + +class gnu::xml::stream::XMLParser$EmptyContentModel : public ::gnu::xml::stream::XMLParser$ContentModel +{ + +public: // actually package-private + XMLParser$EmptyContentModel(::gnu::xml::stream::XMLParser *); + ::gnu::xml::stream::XMLParser * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLParser$ContentModel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$EmptyContentModel__ diff --git a/libjava/gnu/xml/stream/XMLParser$ExternalIds.h b/libjava/gnu/xml/stream/XMLParser$ExternalIds.h new file mode 100644 index 00000000000..037fb617e47 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$ExternalIds.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$ExternalIds__ +#define __gnu_xml_stream_XMLParser$ExternalIds__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$ExternalIds; + } + } + } +} + +class gnu::xml::stream::XMLParser$ExternalIds : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$ExternalIds(::gnu::xml::stream::XMLParser *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId; + ::java::lang::String * systemId; + ::java::lang::String * notationName; + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$ExternalIds__ diff --git a/libjava/gnu/xml/stream/XMLParser$Input.h b/libjava/gnu/xml/stream/XMLParser$Input.h new file mode 100644 index 00000000000..60ae69bd485 --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$Input.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$Input__ +#define __gnu_xml_stream_XMLParser$Input__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class UnicodeReader; + class XMLParser$Input; + } + } + } +} + +class gnu::xml::stream::XMLParser$Input : public ::java::lang::Object +{ + +public: // actually package-private + XMLParser$Input(::java::io::InputStream *, ::java::io::Reader *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); +public: + virtual jint getCharacterOffset(); + virtual jint getColumnNumber(); + virtual jint getLineNumber(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); +public: // actually package-private + virtual void init(); + virtual void mark(jint); + virtual jint read(); + virtual jint read(JArray< jint > *, jint, jint); + virtual void reset(); +private: + void detectEncoding(); + static jboolean equals(JArray< jint > *, JArray< jint > *); +public: // actually package-private + virtual void setInputEncoding(::java::lang::String *); + virtual void finalizeEncoding(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) line; + jint markLine; + jint column; + jint markColumn; + jint offset; + jint markOffset; + ::java::lang::String * publicId; + ::java::lang::String * systemId; + ::java::lang::String * name; + jboolean report; + jboolean normalize; + ::java::io::InputStream * in; + ::java::io::Reader * reader; + ::gnu::xml::stream::UnicodeReader * unicodeReader; + jboolean initialized; + jboolean encodingDetected; + ::java::lang::String * inputEncoding; + jboolean xml11; +private: + static JArray< jint > * SIGNATURE_UCS_4_1234; + static JArray< jint > * SIGNATURE_UCS_4_4321; + static JArray< jint > * SIGNATURE_UCS_4_2143; + static JArray< jint > * SIGNATURE_UCS_4_3412; + static JArray< jint > * SIGNATURE_UCS_2_12; + static JArray< jint > * SIGNATURE_UCS_2_21; + static JArray< jint > * SIGNATURE_UCS_2_12_NOBOM; + static JArray< jint > * SIGNATURE_UCS_2_21_NOBOM; + static JArray< jint > * SIGNATURE_UTF_8; + static JArray< jint > * SIGNATURE_UTF_8_BOM; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$Input__ diff --git a/libjava/gnu/xml/stream/XMLParser$MixedContentModel.h b/libjava/gnu/xml/stream/XMLParser$MixedContentModel.h new file mode 100644 index 00000000000..e7f244a1ade --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser$MixedContentModel.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser$MixedContentModel__ +#define __gnu_xml_stream_XMLParser$MixedContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$MixedContentModel; + } + } + } +} + +class gnu::xml::stream::XMLParser$MixedContentModel : public ::gnu::xml::stream::XMLParser$ContentModel +{ + +public: // actually package-private + XMLParser$MixedContentModel(::gnu::xml::stream::XMLParser *); + virtual void addName(::java::lang::String *); + virtual jboolean containsName(::java::lang::String *); +private: + ::java::util::HashSet * __attribute__((aligned(__alignof__( ::gnu::xml::stream::XMLParser$ContentModel)))) names; +public: // actually package-private + ::gnu::xml::stream::XMLParser * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser$MixedContentModel__ diff --git a/libjava/gnu/xml/stream/XMLParser.h b/libjava/gnu/xml/stream/XMLParser.h new file mode 100644 index 00000000000..d2b2ff0d1fe --- /dev/null +++ b/libjava/gnu/xml/stream/XMLParser.h @@ -0,0 +1,296 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLParser__ +#define __gnu_xml_stream_XMLParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLParser; + class XMLParser$Attribute; + class XMLParser$ContentModel; + class XMLParser$ContentParticle; + class XMLParser$Doctype; + class XMLParser$ElementContentModel; + class XMLParser$ExternalIds; + class XMLParser$Input; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + class XMLReporter; + class XMLResolver; + } + } + } +} + +class gnu::xml::stream::XMLParser : public ::java::lang::Object +{ + +public: + XMLParser(::java::io::InputStream *, ::java::lang::String *, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, ::javax::xml::stream::XMLReporter *, ::javax::xml::stream::XMLResolver *); + XMLParser(::java::io::Reader *, ::java::lang::String *, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, jboolean, ::javax::xml::stream::XMLReporter *, ::javax::xml::stream::XMLResolver *); + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual ::java::util::Iterator * getPrefixes(::java::lang::String *); + virtual void close(); + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext(); + virtual jint getAttributeCount(); + virtual ::java::lang::String * getAttributeLocalName(jint); + virtual ::java::lang::String * getAttributeNamespace(jint); + virtual ::java::lang::String * getAttributePrefix(jint); + virtual ::javax::xml::namespace::QName * getAttributeName(jint); + virtual ::java::lang::String * getAttributeType(jint); +private: + ::java::lang::String * getAttributeType(::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAttributeValue(jint); + virtual ::java::lang::String * getAttributeValue(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual jboolean isAttributeDeclared(jint); +public: + virtual ::java::lang::String * getCharacterEncodingScheme(); + virtual ::java::lang::String * getElementText(); + virtual ::java::lang::String * getEncoding(); + virtual jint getEventType(); + virtual ::java::lang::String * getLocalName(); + virtual ::javax::xml::stream::Location * getLocation(); + virtual ::javax::xml::namespace::QName * getName(); + virtual jint getNamespaceCount(); + virtual ::java::lang::String * getNamespacePrefix(jint); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::java::lang::String * getNamespaceURI(jint); + virtual ::java::lang::String * getPIData(); + virtual ::java::lang::String * getPITarget(); + virtual ::java::lang::String * getPrefix(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual ::java::lang::String * getText(); + virtual JArray< jchar > * getTextCharacters(); + virtual jint getTextCharacters(jint, JArray< jchar > *, jint, jint); + virtual jint getTextLength(); + virtual jint getTextStart(); + virtual ::java::lang::String * getVersion(); + virtual jboolean hasName(); + virtual jboolean hasText(); + virtual jboolean isAttributeSpecified(jint); + virtual jboolean isCharacters(); + virtual jboolean isEndElement(); + virtual jboolean isStandalone(); + virtual jboolean isStartElement(); + virtual jboolean isWhiteSpace(); + virtual jint nextTag(); + virtual void require(jint, ::java::lang::String *, ::java::lang::String *); + virtual jboolean standaloneSet(); + virtual jboolean hasNext(); + virtual jint next(); +public: // actually package-private + virtual ::java::lang::String * getCurrentElement(); +private: + void mark(jint); + void reset(); + jint read(); + jint read(JArray< jint > *, jint, jint); + jint readCh(); + void require(jchar); + void require(::java::lang::String *); + jboolean tryRead(jchar); + jboolean tryRead(::java::lang::String *); + void readUntil(::java::lang::String *); + jboolean tryWhitespace(); + void skipWhitespace(); + void requireWhitespace(); +public: // actually package-private + virtual ::java::lang::String * getXMLBase(); +private: + void pushInput(::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + void pushInput(::java::lang::String *, ::gnu::xml::stream::XMLParser$ExternalIds *, jboolean, jboolean); + void pushInput(::gnu::xml::stream::XMLParser$Input *); +public: + static ::java::lang::String * absolutize(::java::lang::String *, ::java::lang::String *); +private: + static jboolean isURLScheme(::java::lang::String *); +public: // actually package-private + static ::java::io::InputStream * resolve(::java::lang::String *); +private: + void popInput(); + void readTextDecl(); + void readXMLDecl(); + void readDoctypeDecl(); + void checkDoctype(); + void readMarkupdecl(jboolean); + void readElementDecl(); + void readContentspec(::java::lang::String *); + ::gnu::xml::stream::XMLParser$ElementContentModel * readElements(::java::lang::StringBuffer *); + ::gnu::xml::stream::XMLParser$ContentParticle * readContentParticle(::java::lang::StringBuffer *); + void readAttlistDecl(); + void readAttDef(::java::lang::String *); + ::java::lang::String * readAttType(::java::lang::StringBuffer *, ::java::util::HashSet *); + void readEnumeration(jboolean, ::java::lang::StringBuffer *, ::java::util::HashSet *); + void readNotationType(::java::lang::StringBuffer *, ::java::util::HashSet *); + void readDefault(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::HashSet *); + void readEntityDecl(jboolean); + void readNotationDecl(jboolean); + ::gnu::xml::stream::XMLParser$ExternalIds * readExternalIds(jboolean, jboolean); + jint readStartElement(); + jboolean attributeSpecified(::java::lang::String *); + void readAttribute(::java::lang::String *); + jboolean addNamespace(::gnu::xml::stream::XMLParser$Attribute *); + void readEndElement(); + void endElementValidationHook(); + void readComment(jboolean); + void readPI(jboolean); + void readReference(); + void readCDSect(); + jint readCharData(::java::lang::String *); + void expandEntity(::java::lang::String *, jboolean, jboolean); + jboolean isUnparsedEntity(::java::lang::String *); + void readEq(); + jint literalReadCh(jboolean); + ::java::lang::String * readLiteral(jint, jboolean); + ::java::lang::StringBuffer * normalize(::java::lang::StringBuffer *); + void normalizeCRLF(::java::lang::StringBuffer *); + void expandPEReference(); + JArray< jchar > * readCharacterRef(jint); + ::java::lang::String * readNmtoken(jboolean); + ::java::lang::String * readNmtoken(jboolean, ::java::lang::StringBuffer *); +public: + static jboolean isXML11Char(jint); + static jboolean isXML11RestrictedChar(jint); +private: + jboolean isNmtoken(::java::lang::String *, jboolean); +public: + static jboolean isNameStartCharacter(jint, jboolean); + static jboolean isNameCharacter(jint, jboolean); + static jboolean isLetter(jint); + static jboolean isDigit(jint); + static jboolean isCombiningChar(jint); + static jboolean isExtender(jint); + static jboolean isChar(jint); +private: + ::java::lang::String * intern(::java::lang::String *); + void error(::java::lang::String *); + void error(::java::lang::String *, ::java::lang::Object *); + void validateStartElement(::java::lang::String *); + void validateEndElement(); + void validatePCData(::java::lang::String *); + void validateElementContent(::gnu::xml::stream::XMLParser$ElementContentModel *, ::java::util::LinkedList *); + ::java::lang::String * createRegularExpression(::gnu::xml::stream::XMLParser$ElementContentModel *); +public: // actually package-private + virtual void validateDoctype(); +public: + static void main(JArray< ::java::lang::String * > *); +private: + static ::java::lang::String * encodeText(::java::lang::String *); +public: // actually package-private + static ::java::lang::String * access$0(::gnu::xml::stream::XMLParser *, ::java::lang::String *); + static jboolean access$1(::gnu::xml::stream::XMLParser *); + static ::gnu::xml::stream::XMLParser$Input * access$2(::gnu::xml::stream::XMLParser *); + static ::java::util::LinkedList * access$3(::gnu::xml::stream::XMLParser *); +private: + static const jint INIT = 0; + static const jint PROLOG = 1; + static const jint CONTENT = 2; + static const jint EMPTY_ELEMENT = 3; + static const jint MISC = 4; + static const jint LIT_ENTITY_REF = 2; + static const jint LIT_NORMALIZE = 4; + static const jint LIT_ATTRIBUTE = 8; + static const jint LIT_DISABLE_PE = 16; + static const jint LIT_DISABLE_CREF = 32; + static const jint LIT_DISABLE_EREF = 64; + static const jint LIT_PUBID = 256; +public: // actually package-private + static const jint ATTRIBUTE_DEFAULT_UNDECLARED = 30; + static const jint ATTRIBUTE_DEFAULT_SPECIFIED = 31; + static const jint ATTRIBUTE_DEFAULT_IMPLIED = 32; + static const jint ATTRIBUTE_DEFAULT_REQUIRED = 33; + static const jint ATTRIBUTE_DEFAULT_FIXED = 34; + static const jint START_ENTITY = 50; + static const jint END_ENTITY = 51; +private: + ::gnu::xml::stream::XMLParser$Input * __attribute__((aligned(__alignof__( ::java::lang::Object)))) input; + ::java::util::LinkedList * inputStack; + ::java::util::LinkedList * startEntityStack; + ::java::util::LinkedList * endEntityStack; + jint state; + jint event; + jboolean lookahead; + ::java::util::LinkedList * stack; + ::java::util::LinkedList * namespaces; + ::java::util::LinkedList * bases; + ::java::util::ArrayList * attrs; + ::java::lang::StringBuffer * buf; + ::java::lang::StringBuffer * nmtokenBuf; + ::java::lang::StringBuffer * literalBuf; + JArray< jint > * tmpBuf; + ::gnu::xml::stream::XMLParser$ContentModel * currentContentModel; + ::java::util::LinkedList * validationStack; + ::java::util::HashSet * ids; + ::java::util::HashSet * idrefs; + ::java::lang::String * piTarget; + ::java::lang::String * piData; + ::java::lang::String * xmlVersion; + ::java::lang::String * xmlEncoding; + ::java::lang::Boolean * xmlStandalone; +public: // actually package-private + ::gnu::xml::stream::XMLParser$Doctype * doctype; +private: + jboolean expandPE; + jboolean peIsError; + jboolean validating; + jboolean stringInterning; + jboolean coalescing; + jboolean replaceERefs; + jboolean externalEntities; + jboolean supportDTD; + jboolean namespaceAware; + jboolean baseAware; + jboolean extendedEventTypes; +public: // actually package-private + ::javax::xml::stream::XMLReporter * reporter; + ::javax::xml::stream::XMLResolver * resolver; +private: + static ::java::lang::String * TEST_START_ELEMENT; + static ::java::lang::String * TEST_END_ELEMENT; + static ::java::lang::String * TEST_COMMENT; + static ::java::lang::String * TEST_PI; + static ::java::lang::String * TEST_CDATA; + static ::java::lang::String * TEST_XML_DECL; + static ::java::lang::String * TEST_DOCTYPE_DECL; + static ::java::lang::String * TEST_ELEMENT_DECL; + static ::java::lang::String * TEST_ATTLIST_DECL; + static ::java::lang::String * TEST_ENTITY_DECL; + static ::java::lang::String * TEST_NOTATION_DECL; + static ::java::lang::String * TEST_KET; + static ::java::lang::String * TEST_END_COMMENT; + static ::java::lang::String * TEST_END_PI; + static ::java::lang::String * TEST_END_CDATA; + static ::java::util::LinkedHashMap * PREDEFINED_ENTITIES; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLParser__ diff --git a/libjava/gnu/xml/stream/XMLStreamWriterImpl.h b/libjava/gnu/xml/stream/XMLStreamWriterImpl.h new file mode 100644 index 00000000000..ffd534947bc --- /dev/null +++ b/libjava/gnu/xml/stream/XMLStreamWriterImpl.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_stream_XMLStreamWriterImpl__ +#define __gnu_xml_stream_XMLStreamWriterImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace stream + { + class XMLStreamWriterImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + namespace helpers + { + class NamespaceSupport; + } + } + } + } +} + +class gnu::xml::stream::XMLStreamWriterImpl : public ::java::lang::Object +{ + +public: // actually protected + XMLStreamWriterImpl(::java::io::Writer *, ::java::lang::String *, jboolean); +private: + void endStartElement(); +public: + virtual void writeStartElement(::java::lang::String *); + virtual void writeStartElement(::java::lang::String *, ::java::lang::String *); +public: // actually protected + virtual ::java::lang::String * createPrefix(::java::lang::String *); +public: + virtual void writeStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void writeEmptyElement(::java::lang::String *, ::java::lang::String *); + virtual void writeEmptyElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void writeEmptyElement(::java::lang::String *); + virtual void writeEndElement(); + virtual void writeEndDocument(); + virtual void close(); + virtual void flush(); + virtual void writeAttribute(::java::lang::String *, ::java::lang::String *); + virtual void writeAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void writeAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void writeNamespace(::java::lang::String *, ::java::lang::String *); +private: + void writeNamespaceImpl(::java::lang::String *, ::java::lang::String *); +public: + virtual void writeDefaultNamespace(::java::lang::String *); + virtual void writeComment(::java::lang::String *); + virtual void writeProcessingInstruction(::java::lang::String *); + virtual void writeProcessingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void writeCData(::java::lang::String *); + virtual void writeDTD(::java::lang::String *); + virtual void writeEntityRef(::java::lang::String *); + virtual void writeStartDocument(); + virtual void writeStartDocument(::java::lang::String *); + virtual void writeStartDocument(::java::lang::String *, ::java::lang::String *); + virtual void writeCharacters(::java::lang::String *); + virtual void writeCharacters(JArray< jchar > *, jint, jint); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual void setPrefix(::java::lang::String *, ::java::lang::String *); + virtual void setDefaultNamespace(::java::lang::String *); + virtual void setNamespaceContext(::javax::xml::namespace::NamespaceContext *); + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); +private: + void writeEncoded(::java::lang::String *, jboolean); + void writeEncodedWithRestrictedChars(::java::lang::String *, jboolean); + jboolean isName(::java::lang::String *); + jboolean isNCName(::java::lang::String *); + jboolean isChars(::java::lang::String *); + jboolean isURI(::java::lang::String *); +public: // actually protected + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) writer; + ::java::lang::String * encoding; + jboolean prefixDefaulting; + ::javax::xml::namespace::NamespaceContext * namespaceContext; +private: + ::java::util::LinkedList * elements; + jboolean inStartElement; + jboolean emptyElement; + ::org::xml::sax::helpers::NamespaceSupport * namespaces; + jint count; + jboolean xml11; + jboolean hasXML11RestrictedChars; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_stream_XMLStreamWriterImpl__ diff --git a/libjava/gnu/xml/transform/AbstractNumberNode.h b/libjava/gnu/xml/transform/AbstractNumberNode.h new file mode 100644 index 00000000000..d8c2740809d --- /dev/null +++ b/libjava/gnu/xml/transform/AbstractNumberNode.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_AbstractNumberNode__ +#define __gnu_xml_transform_AbstractNumberNode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class AbstractNumberNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::AbstractNumberNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + AbstractNumberNode(::gnu::xml::transform::TemplateNode *, ::java::lang::String *, jint, ::java::lang::String *, jint); + virtual void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual ::java::lang::String * format(::java::lang::String *, JArray< jint > *); + virtual void format(::java::lang::StringBuffer *, jint, ::java::lang::String *); + static jboolean isAlphanumeric(jchar); + static ::java::lang::String * alphabetic(jchar, jint); + static ::java::lang::String * roman(jboolean, jint); + virtual JArray< jint > * compute(::gnu::xml::transform::Stylesheet *, ::org::w3c::dom::Node *, jint, jint) = 0; +public: + virtual jboolean references(::javax::xml::namespace::QName *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jint ALPHABETIC = 0; + static const jint TRADITIONAL = 1; + ::gnu::xml::transform::TemplateNode * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) format__; + ::java::lang::String * lang; + jint letterValue; + ::java::lang::String * groupingSeparator; + jint groupingSize; + static JArray< jint > * roman_numbers; + static JArray< jchar > * roman_chars; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_AbstractNumberNode__ diff --git a/libjava/gnu/xml/transform/ApplyImportsNode.h b/libjava/gnu/xml/transform/ApplyImportsNode.h new file mode 100644 index 00000000000..f9e19a61d0e --- /dev/null +++ b/libjava/gnu/xml/transform/ApplyImportsNode.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ApplyImportsNode__ +#define __gnu_xml_transform_ApplyImportsNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ApplyImportsNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ApplyImportsNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ApplyImportsNode(); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ApplyImportsNode__ diff --git a/libjava/gnu/xml/transform/ApplyTemplatesNode.h b/libjava/gnu/xml/transform/ApplyTemplatesNode.h new file mode 100644 index 00000000000..02f49a22b63 --- /dev/null +++ b/libjava/gnu/xml/transform/ApplyTemplatesNode.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ApplyTemplatesNode__ +#define __gnu_xml_transform_ApplyTemplatesNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ApplyTemplatesNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ApplyTemplatesNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ApplyTemplatesNode(::gnu::xml::xpath::Expr *, ::javax::xml::namespace::QName *, ::java::util::List *, ::java::util::List *, jboolean); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) select; + ::javax::xml::namespace::QName * mode; + ::java::util::List * sortKeys; + ::java::util::List * withParams; + jboolean isDefault; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ApplyTemplatesNode__ diff --git a/libjava/gnu/xml/transform/AttributeNode.h b/libjava/gnu/xml/transform/AttributeNode.h new file mode 100644 index 00000000000..80f6d3cc3d5 --- /dev/null +++ b/libjava/gnu/xml/transform/AttributeNode.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_AttributeNode__ +#define __gnu_xml_transform_AttributeNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class AttributeNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::AttributeNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + AttributeNode(::gnu::xml::transform::TemplateNode *, ::gnu::xml::transform::TemplateNode *, ::org::w3c::dom::Node *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + ::java::lang::String * getPrefix(::java::lang::String *); + ::java::lang::String * inventPrefix(::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::transform::TemplateNode * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) name; + ::gnu::xml::transform::TemplateNode * namespace$; + ::org::w3c::dom::Node * source; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_AttributeNode__ diff --git a/libjava/gnu/xml/transform/AttributeSet.h b/libjava/gnu/xml/transform/AttributeSet.h new file mode 100644 index 00000000000..2c92e121145 --- /dev/null +++ b/libjava/gnu/xml/transform/AttributeSet.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_AttributeSet__ +#define __gnu_xml_transform_AttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class AttributeSet; + class Stylesheet; + class TemplateNode; + } + } + } +} + +class gnu::xml::transform::AttributeSet : public ::java::lang::Object +{ + +public: // actually package-private + AttributeSet(::gnu::xml::transform::TemplateNode *, ::java::lang::String *, ::java::lang::String *); + ::gnu::xml::transform::AttributeSet * clone(::gnu::xml::transform::Stylesheet *); + ::gnu::xml::transform::TemplateNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children; + ::java::lang::String * name; + ::java::lang::String * uas; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_AttributeSet__ diff --git a/libjava/gnu/xml/transform/Bindings.h b/libjava/gnu/xml/transform/Bindings.h new file mode 100644 index 00000000000..a54ab174e15 --- /dev/null +++ b/libjava/gnu/xml/transform/Bindings.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_Bindings__ +#define __gnu_xml_transform_Bindings__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Bindings; + class Stylesheet; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::Bindings : public ::java::lang::Object +{ + +public: // actually package-private + Bindings(::gnu::xml::transform::Stylesheet *); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual void push(jint); + virtual void pop(jint); +public: + virtual jboolean containsKey(::javax::xml::namespace::QName *, jint); + virtual ::java::lang::Object * get(::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + virtual void set(::javax::xml::namespace::QName *, ::java::lang::Object *, jint); +public: + virtual ::java::lang::Object * resolveVariable(::javax::xml::namespace::QName *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jint VARIABLE = 0; + static const jint PARAM = 1; + static const jint WITH_PARAM = 2; + ::gnu::xml::transform::Stylesheet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stylesheet; + ::java::util::LinkedList * variables; + ::java::util::LinkedList * parameters; + ::java::util::LinkedList * withParameters; + jboolean global; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_Bindings__ diff --git a/libjava/gnu/xml/transform/CallTemplateNode.h b/libjava/gnu/xml/transform/CallTemplateNode.h new file mode 100644 index 00000000000..f7d32ade246 --- /dev/null +++ b/libjava/gnu/xml/transform/CallTemplateNode.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_CallTemplateNode__ +#define __gnu_xml_transform_CallTemplateNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class CallTemplateNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::CallTemplateNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + CallTemplateNode(::javax::xml::namespace::QName *, ::java::util::List *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) name; + ::java::util::List * withParams; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_CallTemplateNode__ diff --git a/libjava/gnu/xml/transform/ChooseNode.h b/libjava/gnu/xml/transform/ChooseNode.h new file mode 100644 index 00000000000..88574784fef --- /dev/null +++ b/libjava/gnu/xml/transform/ChooseNode.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ChooseNode__ +#define __gnu_xml_transform_ChooseNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ChooseNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ChooseNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ChooseNode(); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ChooseNode__ diff --git a/libjava/gnu/xml/transform/CommentNode.h b/libjava/gnu/xml/transform/CommentNode.h new file mode 100644 index 00000000000..2f04431d0d2 --- /dev/null +++ b/libjava/gnu/xml/transform/CommentNode.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_CommentNode__ +#define __gnu_xml_transform_CommentNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class CommentNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::CommentNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + CommentNode(); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_CommentNode__ diff --git a/libjava/gnu/xml/transform/CopyNode.h b/libjava/gnu/xml/transform/CopyNode.h new file mode 100644 index 00000000000..a57c004d321 --- /dev/null +++ b/libjava/gnu/xml/transform/CopyNode.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_CopyNode__ +#define __gnu_xml_transform_CopyNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class CopyNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::CopyNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + CopyNode(::java::lang::String *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + void addAttributeSet(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *, ::java::lang::String *); +public: + ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) uas; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_CopyNode__ diff --git a/libjava/gnu/xml/transform/CopyOfNode.h b/libjava/gnu/xml/transform/CopyOfNode.h new file mode 100644 index 00000000000..f33944630d6 --- /dev/null +++ b/libjava/gnu/xml/transform/CopyOfNode.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_CopyOfNode__ +#define __gnu_xml_transform_CopyOfNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class CopyOfNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::CopyOfNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + CopyOfNode(::gnu::xml::xpath::Expr *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) select; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_CopyOfNode__ diff --git a/libjava/gnu/xml/transform/CurrentFunction.h b/libjava/gnu/xml/transform/CurrentFunction.h new file mode 100644 index 00000000000..dee45ec7b45 --- /dev/null +++ b/libjava/gnu/xml/transform/CurrentFunction.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_CurrentFunction__ +#define __gnu_xml_transform_CurrentFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class CurrentFunction; + class Stylesheet; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::CurrentFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + CurrentFunction(::gnu::xml::transform::Stylesheet *); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::transform::Stylesheet * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) stylesheet; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_CurrentFunction__ diff --git a/libjava/gnu/xml/transform/DOMSourceLocator.h b/libjava/gnu/xml/transform/DOMSourceLocator.h new file mode 100644 index 00000000000..974654e33c1 --- /dev/null +++ b/libjava/gnu/xml/transform/DOMSourceLocator.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_DOMSourceLocator__ +#define __gnu_xml_transform_DOMSourceLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class DOMSourceLocator; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::DOMSourceLocator : public ::java::lang::Object +{ + +public: // actually package-private + DOMSourceLocator(::org::w3c::dom::Node *); +public: + virtual ::org::w3c::dom::Node * getOriginatingNode(); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual jint getLineNumber(); + virtual jint getColumnNumber(); +public: // actually package-private + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_DOMSourceLocator__ diff --git a/libjava/gnu/xml/transform/DocumentFunction.h b/libjava/gnu/xml/transform/DocumentFunction.h new file mode 100644 index 00000000000..a599fc44b0e --- /dev/null +++ b/libjava/gnu/xml/transform/DocumentFunction.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_DocumentFunction__ +#define __gnu_xml_transform_DocumentFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class DocumentFunction; + class Stylesheet; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::DocumentFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + DocumentFunction(::gnu::xml::transform::Stylesheet *, ::org::w3c::dom::Node *); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + ::java::util::Collection * document(::java::lang::String *, ::java::lang::String *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + ::gnu::xml::transform::Stylesheet * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) stylesheet; + ::org::w3c::dom::Node * base; + ::java::util::List * args; + ::java::util::List * values; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_DocumentFunction__ diff --git a/libjava/gnu/xml/transform/ElementAvailableFunction.h b/libjava/gnu/xml/transform/ElementAvailableFunction.h new file mode 100644 index 00000000000..0d25fe354d9 --- /dev/null +++ b/libjava/gnu/xml/transform/ElementAvailableFunction.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ElementAvailableFunction__ +#define __gnu_xml_transform_ElementAvailableFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ElementAvailableFunction; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ElementAvailableFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + ElementAvailableFunction(::javax::xml::namespace::NamespaceContext *); +public: + virtual ::java::lang::Object * evaluate(::java::util::List *); + virtual void setArguments(::java::util::List *); + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + virtual ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + virtual jboolean references(::javax::xml::namespace::QName *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static ::java::util::Collection * elements; + ::javax::xml::namespace::NamespaceContext * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) nsctx; + ::java::util::List * args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ElementAvailableFunction__ diff --git a/libjava/gnu/xml/transform/ElementNode.h b/libjava/gnu/xml/transform/ElementNode.h new file mode 100644 index 00000000000..73d0f0fb216 --- /dev/null +++ b/libjava/gnu/xml/transform/ElementNode.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ElementNode__ +#define __gnu_xml_transform_ElementNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ElementNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ElementNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ElementNode(::gnu::xml::transform::TemplateNode *, ::gnu::xml::transform::TemplateNode *, ::java::lang::String *, ::org::w3c::dom::Node *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + ::java::lang::String * getPrefix(::java::lang::String *); + void addAttributeSet(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *, ::java::lang::String *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::transform::TemplateNode * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) name; + ::gnu::xml::transform::TemplateNode * namespace$; + ::java::lang::String * uas; + ::org::w3c::dom::Node * source; + ::java::util::Collection * elementExcludeResultPrefixes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ElementNode__ diff --git a/libjava/gnu/xml/transform/ErrorListenerErrorHandler.h b/libjava/gnu/xml/transform/ErrorListenerErrorHandler.h new file mode 100644 index 00000000000..e7a4e36d7ab --- /dev/null +++ b/libjava/gnu/xml/transform/ErrorListenerErrorHandler.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ErrorListenerErrorHandler__ +#define __gnu_xml_transform_ErrorListenerErrorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ErrorListenerErrorHandler; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXParseException; + } + } + } +} + +class gnu::xml::transform::ErrorListenerErrorHandler : public ::java::lang::Object +{ + +public: // actually package-private + ErrorListenerErrorHandler(::javax::xml::transform::ErrorListener *); +public: + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); +public: // actually package-private + ::javax::xml::transform::ErrorListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ErrorListenerErrorHandler__ diff --git a/libjava/gnu/xml/transform/ForEachNode.h b/libjava/gnu/xml/transform/ForEachNode.h new file mode 100644 index 00000000000..1cb11affc92 --- /dev/null +++ b/libjava/gnu/xml/transform/ForEachNode.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ForEachNode__ +#define __gnu_xml_transform_ForEachNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ForEachNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ForEachNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ForEachNode(::gnu::xml::xpath::Expr *, ::java::util::List *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) select; + ::java::util::List * sortKeys; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ForEachNode__ diff --git a/libjava/gnu/xml/transform/FormatNumberFunction.h b/libjava/gnu/xml/transform/FormatNumberFunction.h new file mode 100644 index 00000000000..417e8973805 --- /dev/null +++ b/libjava/gnu/xml/transform/FormatNumberFunction.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_FormatNumberFunction__ +#define __gnu_xml_transform_FormatNumberFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class FormatNumberFunction; + class Stylesheet; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::FormatNumberFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + FormatNumberFunction(::gnu::xml::transform::Stylesheet *); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + ::gnu::xml::transform::Stylesheet * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) stylesheet; + ::java::util::List * args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_FormatNumberFunction__ diff --git a/libjava/gnu/xml/transform/FunctionAvailableFunction.h b/libjava/gnu/xml/transform/FunctionAvailableFunction.h new file mode 100644 index 00000000000..b900a1b7a31 --- /dev/null +++ b/libjava/gnu/xml/transform/FunctionAvailableFunction.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_FunctionAvailableFunction__ +#define __gnu_xml_transform_FunctionAvailableFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class FunctionAvailableFunction; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::FunctionAvailableFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + FunctionAvailableFunction(::javax::xml::namespace::NamespaceContext *); +public: + virtual ::java::lang::Object * evaluate(::java::util::List *); + virtual void setArguments(::java::util::List *); + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + virtual ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + virtual jboolean references(::javax::xml::namespace::QName *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static ::java::util::Collection * xsltFunctions; + static ::java::util::Collection * xpathFunctions; + ::javax::xml::namespace::NamespaceContext * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) nsctx; + ::java::util::List * args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_FunctionAvailableFunction__ diff --git a/libjava/gnu/xml/transform/GenerateIdFunction.h b/libjava/gnu/xml/transform/GenerateIdFunction.h new file mode 100644 index 00000000000..8b1de4a182c --- /dev/null +++ b/libjava/gnu/xml/transform/GenerateIdFunction.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_GenerateIdFunction__ +#define __gnu_xml_transform_GenerateIdFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class GenerateIdFunction; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::GenerateIdFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + GenerateIdFunction(); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_GenerateIdFunction__ diff --git a/libjava/gnu/xml/transform/IfNode.h b/libjava/gnu/xml/transform/IfNode.h new file mode 100644 index 00000000000..dff1c470ace --- /dev/null +++ b/libjava/gnu/xml/transform/IfNode.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_IfNode__ +#define __gnu_xml_transform_IfNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class IfNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::IfNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + IfNode(::gnu::xml::xpath::Expr *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) test; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_IfNode__ diff --git a/libjava/gnu/xml/transform/Key.h b/libjava/gnu/xml/transform/Key.h new file mode 100644 index 00000000000..8588b2ffea4 --- /dev/null +++ b/libjava/gnu/xml/transform/Key.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_Key__ +#define __gnu_xml_transform_Key__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Key; + class Stylesheet; + } + namespace xpath + { + class Expr; + class Pattern; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } +} + +class gnu::xml::transform::Key : public ::java::lang::Object +{ + +public: // actually package-private + Key(::javax::xml::namespace::QName *, ::gnu::xml::xpath::Pattern *, ::gnu::xml::xpath::Expr *); + virtual ::gnu::xml::transform::Key * clone(::gnu::xml::transform::Stylesheet *); + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::gnu::xml::xpath::Pattern * match; + ::gnu::xml::xpath::Expr * use; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_Key__ diff --git a/libjava/gnu/xml/transform/KeyFunction.h b/libjava/gnu/xml/transform/KeyFunction.h new file mode 100644 index 00000000000..d9185e38020 --- /dev/null +++ b/libjava/gnu/xml/transform/KeyFunction.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_KeyFunction__ +#define __gnu_xml_transform_KeyFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class KeyFunction; + class Stylesheet; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::KeyFunction : public ::gnu::xml::xpath::Pattern +{ + +public: // actually package-private + KeyFunction(::gnu::xml::transform::Stylesheet *); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + jboolean matches(::org::w3c::dom::Node *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + void addKeyNodes(::org::w3c::dom::Node *, ::java::util::Collection *, ::java::lang::String *, ::java::util::Collection *); + void addKeyNodeIfMatch(::org::w3c::dom::Node *, ::java::util::Collection *, ::java::lang::String *, ::java::util::Collection *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + ::gnu::xml::transform::Stylesheet * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Pattern)))) stylesheet; + ::java::util::List * args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_KeyFunction__ diff --git a/libjava/gnu/xml/transform/LiteralNode.h b/libjava/gnu/xml/transform/LiteralNode.h new file mode 100644 index 00000000000..056f5f1124f --- /dev/null +++ b/libjava/gnu/xml/transform/LiteralNode.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_LiteralNode__ +#define __gnu_xml_transform_LiteralNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class LiteralNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::LiteralNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + LiteralNode(::org::w3c::dom::Node *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); +public: // actually package-private + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) source; + ::java::util::Collection * elementExcludeResultPrefixes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_LiteralNode__ diff --git a/libjava/gnu/xml/transform/MessageNode.h b/libjava/gnu/xml/transform/MessageNode.h new file mode 100644 index 00000000000..06fda75e92e --- /dev/null +++ b/libjava/gnu/xml/transform/MessageNode.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_MessageNode__ +#define __gnu_xml_transform_MessageNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class MessageNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::MessageNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + MessageNode(jboolean); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); +public: // actually package-private + static ::java::util::logging::Logger * logger; + jboolean __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) terminate; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_MessageNode__ diff --git a/libjava/gnu/xml/transform/NamespaceProxy.h b/libjava/gnu/xml/transform/NamespaceProxy.h new file mode 100644 index 00000000000..c92a7c56cce --- /dev/null +++ b/libjava/gnu/xml/transform/NamespaceProxy.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_NamespaceProxy__ +#define __gnu_xml_transform_NamespaceProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class NamespaceProxy; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::NamespaceProxy : public ::java::lang::Object +{ + +public: // actually package-private + NamespaceProxy(::org::w3c::dom::Node *); +public: + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual ::java::util::Iterator * getPrefixes(::java::lang::String *); +private: + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_NamespaceProxy__ diff --git a/libjava/gnu/xml/transform/NodeNumberNode.h b/libjava/gnu/xml/transform/NodeNumberNode.h new file mode 100644 index 00000000000..770387efcb6 --- /dev/null +++ b/libjava/gnu/xml/transform/NodeNumberNode.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_NodeNumberNode__ +#define __gnu_xml_transform_NodeNumberNode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class NodeNumberNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Pattern; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::NodeNumberNode : public ::gnu::xml::transform::AbstractNumberNode +{ + +public: // actually package-private + NodeNumberNode(jint, ::gnu::xml::xpath::Pattern *, ::gnu::xml::xpath::Pattern *, ::gnu::xml::transform::TemplateNode *, ::java::lang::String *, jint, ::java::lang::String *, jint); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + JArray< jint > * compute(::gnu::xml::transform::Stylesheet *, ::org::w3c::dom::Node *, jint, jint); + jboolean countMatches(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + jboolean fromMatches(::org::w3c::dom::Node *); + jint getIndex(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + static const jint SINGLE = 0; + static const jint MULTIPLE = 1; + static const jint ANY = 2; + jint __attribute__((aligned(__alignof__( ::gnu::xml::transform::AbstractNumberNode)))) level; + ::gnu::xml::xpath::Pattern * count; + ::gnu::xml::xpath::Pattern * from; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_NodeNumberNode__ diff --git a/libjava/gnu/xml/transform/NumberNode.h b/libjava/gnu/xml/transform/NumberNode.h new file mode 100644 index 00000000000..c8da9666eaf --- /dev/null +++ b/libjava/gnu/xml/transform/NumberNode.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_NumberNode__ +#define __gnu_xml_transform_NumberNode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class NumberNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::NumberNode : public ::gnu::xml::transform::AbstractNumberNode +{ + +public: // actually package-private + NumberNode(::gnu::xml::xpath::Expr *, ::gnu::xml::transform::TemplateNode *, ::java::lang::String *, jint, ::java::lang::String *, jint); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + JArray< jint > * compute(::gnu::xml::transform::Stylesheet *, ::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::AbstractNumberNode)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_NumberNode__ diff --git a/libjava/gnu/xml/transform/OtherwiseNode.h b/libjava/gnu/xml/transform/OtherwiseNode.h new file mode 100644 index 00000000000..ecd01817185 --- /dev/null +++ b/libjava/gnu/xml/transform/OtherwiseNode.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_OtherwiseNode__ +#define __gnu_xml_transform_OtherwiseNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class OtherwiseNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::OtherwiseNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + OtherwiseNode(); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_OtherwiseNode__ diff --git a/libjava/gnu/xml/transform/ParameterNode.h b/libjava/gnu/xml/transform/ParameterNode.h new file mode 100644 index 00000000000..6a815cfafd8 --- /dev/null +++ b/libjava/gnu/xml/transform/ParameterNode.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ParameterNode__ +#define __gnu_xml_transform_ParameterNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ParameterNode; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ParameterNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ParameterNode(::javax::xml::namespace::QName *, ::gnu::xml::xpath::Expr *, jint); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + ::java::lang::Object * getValue(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint); +public: + jboolean references(::javax::xml::namespace::QName *); + jint compareTo(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) name; + ::gnu::xml::xpath::Expr * select; + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ParameterNode__ diff --git a/libjava/gnu/xml/transform/ProcessingInstructionNode.h b/libjava/gnu/xml/transform/ProcessingInstructionNode.h new file mode 100644 index 00000000000..f8339159386 --- /dev/null +++ b/libjava/gnu/xml/transform/ProcessingInstructionNode.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ProcessingInstructionNode__ +#define __gnu_xml_transform_ProcessingInstructionNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class ProcessingInstructionNode; + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ProcessingInstructionNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ProcessingInstructionNode(::java::lang::String *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ProcessingInstructionNode__ diff --git a/libjava/gnu/xml/transform/SAXSerializer.h b/libjava/gnu/xml/transform/SAXSerializer.h new file mode 100644 index 00000000000..29b1f55cbd0 --- /dev/null +++ b/libjava/gnu/xml/transform/SAXSerializer.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_SAXSerializer__ +#define __gnu_xml_transform_SAXSerializer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class SAXSerializer; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class NamedNodeMap; + class Node; + } + } + namespace xml + { + namespace sax + { + class ContentHandler; + namespace ext + { + class LexicalHandler; + } + } + } + } +} + +class gnu::xml::transform::SAXSerializer : public ::java::lang::Object +{ + +public: // actually package-private + SAXSerializer(); + virtual jboolean isDefined(::java::lang::String *, ::java::lang::String *); + virtual void define(::java::lang::String *, ::java::lang::String *); + virtual void undefine(::java::lang::String *, ::java::lang::String *); +public: + virtual jint getLength(); + virtual ::java::lang::String * getURI(jint); + virtual ::java::lang::String * getLocalName(jint); + virtual ::java::lang::String * getQName(jint); + virtual ::java::lang::String * getType(jint); + virtual ::java::lang::String * getValue(jint); + virtual jint getIndex(::java::lang::String *, ::java::lang::String *); + virtual jint getIndex(::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *); +public: // actually package-private + virtual void serialize(::org::w3c::dom::Node *, ::org::xml::sax::ContentHandler *, ::org::xml::sax::ext::LexicalHandler *); + ::org::w3c::dom::NamedNodeMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrs; + ::java::util::LinkedList * namespaces; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_SAXSerializer__ diff --git a/libjava/gnu/xml/transform/SAXTemplatesHandler.h b/libjava/gnu/xml/transform/SAXTemplatesHandler.h new file mode 100644 index 00000000000..4bd3a41c930 --- /dev/null +++ b/libjava/gnu/xml/transform/SAXTemplatesHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_SAXTemplatesHandler__ +#define __gnu_xml_transform_SAXTemplatesHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class SAXTemplatesHandler; + class TransformerFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Templates; + } + } + } +} + +class gnu::xml::transform::SAXTemplatesHandler : public ::gnu::xml::dom::ls::SAXEventSink +{ + +public: // actually package-private + SAXTemplatesHandler(::gnu::xml::transform::TransformerFactoryImpl *); +public: + virtual ::java::lang::String * getSystemId(); + virtual void setSystemId(::java::lang::String *); + virtual ::javax::xml::transform::Templates * getTemplates(); +public: // actually package-private + ::gnu::xml::transform::TransformerFactoryImpl * __attribute__((aligned(__alignof__( ::gnu::xml::dom::ls::SAXEventSink)))) factory; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_SAXTemplatesHandler__ diff --git a/libjava/gnu/xml/transform/SAXTransformerHandler.h b/libjava/gnu/xml/transform/SAXTransformerHandler.h new file mode 100644 index 00000000000..b269ac894e6 --- /dev/null +++ b/libjava/gnu/xml/transform/SAXTransformerHandler.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_SAXTransformerHandler__ +#define __gnu_xml_transform_SAXTransformerHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class SAXTransformerHandler; + class TransformerFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Transformer; + } + } + } +} + +class gnu::xml::transform::SAXTransformerHandler : public ::gnu::xml::dom::ls::SAXEventSink +{ + +public: // actually package-private + SAXTransformerHandler(::gnu::xml::transform::TransformerFactoryImpl *, ::javax::xml::transform::Transformer *); +public: + virtual ::java::lang::String * getSystemId(); + virtual void setSystemId(::java::lang::String *); + virtual ::javax::xml::transform::Transformer * getTransformer(); + virtual void setResult(::javax::xml::transform::Result *); + virtual void endDocument(); +public: // actually package-private + ::gnu::xml::transform::TransformerFactoryImpl * __attribute__((aligned(__alignof__( ::gnu::xml::dom::ls::SAXEventSink)))) factory; + ::javax::xml::transform::Transformer * transformer; + ::java::lang::String * systemId; + ::javax::xml::transform::Result * result; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_SAXTransformerHandler__ diff --git a/libjava/gnu/xml/transform/SortKey.h b/libjava/gnu/xml/transform/SortKey.h new file mode 100644 index 00000000000..f433dc39668 --- /dev/null +++ b/libjava/gnu/xml/transform/SortKey.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_SortKey__ +#define __gnu_xml_transform_SortKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class SortKey; + class Stylesheet; + class TemplateNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::SortKey : public ::java::lang::Object +{ + +public: // actually package-private + SortKey(::gnu::xml::xpath::Expr *, ::gnu::xml::transform::TemplateNode *, ::gnu::xml::transform::TemplateNode *, ::gnu::xml::transform::TemplateNode *, ::gnu::xml::transform::TemplateNode *); + ::java::lang::String * key(::org::w3c::dom::Node *); + void init(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + jboolean references(::javax::xml::namespace::QName *); + static const jint DEFAULT = 0; + static const jint UPPER_FIRST = 1; + static const jint LOWER_FIRST = 2; + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::java::lang::Object)))) select; + ::gnu::xml::transform::TemplateNode * langTemplate; + ::gnu::xml::transform::TemplateNode * dataTypeTemplate; + ::gnu::xml::transform::TemplateNode * orderTemplate; + ::gnu::xml::transform::TemplateNode * caseOrderTemplate; + ::java::lang::String * lang; + ::java::lang::String * dataType; + jboolean descending; + jint caseOrder; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_SortKey__ diff --git a/libjava/gnu/xml/transform/StreamSerializer.h b/libjava/gnu/xml/transform/StreamSerializer.h new file mode 100644 index 00000000000..9c10a44146c --- /dev/null +++ b/libjava/gnu/xml/transform/StreamSerializer.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_StreamSerializer__ +#define __gnu_xml_transform_StreamSerializer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class StreamSerializer; + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetEncoder; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Node; + } + } + } +} + +class gnu::xml::transform::StreamSerializer : public ::java::lang::Object +{ + +public: + StreamSerializer(); + StreamSerializer(::java::lang::String *); + StreamSerializer(jint, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual void setCdataSectionElements(::java::util::Collection *); +public: + virtual void serialize(::org::w3c::dom::Node *, ::java::io::OutputStream *); +public: // actually package-private + virtual void serialize(::org::w3c::dom::Node *, ::java::io::OutputStream *, jboolean); +private: + void doSerialize(::org::w3c::dom::Node *, ::java::io::OutputStream *, jboolean); +public: // actually package-private + virtual jboolean isHTMLElement(::org::w3c::dom::Node *, ::java::lang::String *); + virtual jboolean isDefined(::java::lang::String *, ::java::lang::String *); + virtual void pushNamespaceContext(); + virtual ::java::lang::String * define(::java::lang::String *, ::java::lang::String *); + virtual void popNamespaceContext(); + virtual JArray< jbyte > * encodeText(::java::lang::String *); + virtual ::java::lang::String * encode(::java::lang::String *, jboolean, jboolean); + virtual ::java::lang::String * toString(::org::w3c::dom::Node *); + virtual jboolean isHTMLBoolean(::org::w3c::dom::Attr *, ::java::lang::String *); + static ::java::lang::String * getHTMLCharacterEntity(jchar); + static const jint SPACE = 32; + static const jint BANG = 33; + static const jint APOS = 39; + static const jint SLASH = 47; + static const jint BRA = 60; + static const jint KET = 62; + static const jint EQ = 61; + static ::java::util::Map * HTML_BOOLEAN_ATTRIBUTES; + static ::java::util::HashSet * HTML_URIS; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encoding; +public: // actually package-private + ::java::nio::charset::Charset * charset; + ::java::nio::charset::CharsetEncoder * encoder; + jint mode; + ::java::util::LinkedList * namespaces; +public: // actually protected + ::java::lang::String * eol; +public: // actually package-private + ::java::util::Collection * cdataSectionElements; +public: // actually protected + jboolean discardDefaultContent; + jboolean xmlDeclaration; +private: + jboolean htmlEncoded; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_StreamSerializer__ diff --git a/libjava/gnu/xml/transform/StrippingInstruction.h b/libjava/gnu/xml/transform/StrippingInstruction.h new file mode 100644 index 00000000000..6afdfa0f57c --- /dev/null +++ b/libjava/gnu/xml/transform/StrippingInstruction.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_StrippingInstruction__ +#define __gnu_xml_transform_StrippingInstruction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class StrippingInstruction; + } + namespace xpath + { + class NameTest; + } + } + } +} + +class gnu::xml::transform::StrippingInstruction : public ::java::lang::Object +{ + +public: // actually package-private + StrippingInstruction(::gnu::xml::xpath::NameTest *, jint); + virtual jfloat getPriority(); + ::gnu::xml::xpath::NameTest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) element; + jint precedence; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_StrippingInstruction__ diff --git a/libjava/gnu/xml/transform/Stylesheet.h b/libjava/gnu/xml/transform/Stylesheet.h new file mode 100644 index 00000000000..c2a3f20d6db --- /dev/null +++ b/libjava/gnu/xml/transform/Stylesheet.h @@ -0,0 +1,170 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_Stylesheet__ +#define __gnu_xml_transform_Stylesheet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Bindings; + class Stylesheet; + class Template; + class TemplateNode; + class TransformerFactoryImpl; + class TransformerImpl; + } + namespace xpath + { + class NameTest; + class XPathImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathFunction; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class Text; + } + } + } +} + +class gnu::xml::transform::Stylesheet : public ::java::lang::Object +{ + +public: // actually package-private + Stylesheet(::gnu::xml::transform::TransformerFactoryImpl *, ::gnu::xml::transform::Stylesheet *, ::org::w3c::dom::Document *, ::java::lang::String *, jint); + virtual ::gnu::xml::transform::Stylesheet * getRootStylesheet(); + virtual void initDefaultDecimalFormat(); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual void initTopLevelVariables(::org::w3c::dom::Node *); +public: + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual ::java::util::Iterator * getPrefixes(::java::lang::String *); +public: // actually package-private + virtual ::javax::xml::namespace::QName * getQName(::java::lang::String *); + virtual ::gnu::xml::transform::TemplateNode * getTemplate(::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jboolean); + virtual ::gnu::xml::transform::TemplateNode * getTemplate(::javax::xml::namespace::QName *, ::javax::xml::namespace::QName *); + virtual ::gnu::xml::transform::Template * parseTemplate(::org::w3c::dom::Node *, ::org::w3c::dom::NamedNodeMap *); + virtual void parseOutput(::org::w3c::dom::Node *, ::org::w3c::dom::NamedNodeMap *); + virtual void parseKey(::org::w3c::dom::Node *, ::org::w3c::dom::NamedNodeMap *); + virtual void parseDecimalFormat(::org::w3c::dom::Node *, ::org::w3c::dom::NamedNodeMap *); +private: + jchar parseDFChar(::org::w3c::dom::NamedNodeMap *, ::java::lang::String *, jchar); + ::java::lang::String * parseDFString(::org::w3c::dom::NamedNodeMap *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual void parseNamespaceAlias(::org::w3c::dom::Node *, ::org::w3c::dom::NamedNodeMap *); + virtual void parseAttributeSet(::org::w3c::dom::Node *, ::org::w3c::dom::NamedNodeMap *); + virtual void parse(::org::w3c::dom::Node *, jboolean); + virtual void doParse(::org::w3c::dom::Node *, jboolean); + virtual ::gnu::xml::xpath::NameTest * parseNameTest(::java::lang::String *); + virtual ::gnu::xml::transform::TemplateNode * parseAttributeValueTemplate(::java::lang::String *, ::org::w3c::dom::Node *); + virtual jboolean isPreserved(::org::w3c::dom::Text *, jboolean); +public: + virtual ::javax::xml::xpath::XPathFunction * resolveFunction(::javax::xml::namespace::QName *, jint); +public: // actually package-private + virtual ::gnu::xml::transform::TemplateNode * parseApplyTemplates(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseCallTemplate(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseValueOf(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseForEach(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseIf(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseWhen(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseElement(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseAttribute(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseText(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseCopy(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseProcessingInstruction(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseNumber(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseCopyOf(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parseMessage(::org::w3c::dom::Node *); + virtual ::gnu::xml::transform::TemplateNode * parse(::org::w3c::dom::Node *); +private: + ::gnu::xml::transform::TemplateNode * doParse(::org::w3c::dom::Node *); +public: // actually package-private + virtual ::java::util::List * parseSortKeys(::org::w3c::dom::Node *); + virtual ::java::util::List * parseWithParams(::org::w3c::dom::Node *); + virtual void addNamespaceNodes(::org::w3c::dom::Node *, ::org::w3c::dom::Node *, ::org::w3c::dom::Document *, ::java::util::Collection *); + static ::java::lang::String * getAttribute(::org::w3c::dom::NamedNodeMap *, ::java::lang::String *); + static ::java::lang::String * getRequiredAttribute(::org::w3c::dom::NamedNodeMap *, ::java::lang::String *, ::org::w3c::dom::Node *); +public: + virtual void handle(jshort, ::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: // actually package-private + static ::java::lang::String * XSL_NS; +private: + static ::gnu::xml::xpath::NameTest * STYLESHEET_PRESERVE_TEXT; +public: // actually package-private + static const jint OUTPUT_XML = 0; + static const jint OUTPUT_HTML = 1; + static const jint OUTPUT_TEXT = 2; + ::gnu::xml::transform::TransformerFactoryImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) factory; + ::gnu::xml::transform::TransformerImpl * transformer; + ::gnu::xml::transform::Stylesheet * parent; + ::gnu::xml::xpath::XPathImpl * xpath; + ::java::lang::String * systemId; + jint precedence; + jboolean debug; + ::java::lang::String * version; + ::java::util::Collection * extensionElementPrefixes; + ::java::util::Collection * excludeResultPrefixes; + ::java::util::Set * stripSpace; + ::java::util::Set * preserveSpace; + ::org::w3c::dom::Node * output; + jint outputMethod; + ::java::lang::String * outputVersion; + ::java::lang::String * outputEncoding; + jboolean outputOmitXmlDeclaration; + jboolean outputStandalone; + ::java::lang::String * outputPublicId; + ::java::lang::String * outputSystemId; + ::java::util::Collection * outputCdataSectionElements; + jboolean outputIndent; + ::java::lang::String * outputMediaType; + ::java::util::Collection * keys; + ::java::util::Map * decimalFormats; + ::java::util::Map * namespaceAliases; + ::java::util::List * attributeSets; + ::java::util::List * variables; + ::gnu::xml::transform::Bindings * bindings; + ::java::util::LinkedList * templates; + ::gnu::xml::transform::TemplateNode * builtInNodeTemplate; + ::gnu::xml::transform::TemplateNode * builtInTextTemplate; + ::org::w3c::dom::Node * current; + jboolean terminated; + ::gnu::xml::transform::Template * currentTemplate; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_Stylesheet__ diff --git a/libjava/gnu/xml/transform/SystemPropertyFunction.h b/libjava/gnu/xml/transform/SystemPropertyFunction.h new file mode 100644 index 00000000000..dbbdc2d36f2 --- /dev/null +++ b/libjava/gnu/xml/transform/SystemPropertyFunction.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_SystemPropertyFunction__ +#define __gnu_xml_transform_SystemPropertyFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class SystemPropertyFunction; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::SystemPropertyFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + SystemPropertyFunction(); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + ::java::lang::Object * systemProperty(::javax::xml::namespace::QName *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_SystemPropertyFunction__ diff --git a/libjava/gnu/xml/transform/Template.h b/libjava/gnu/xml/transform/Template.h new file mode 100644 index 00000000000..3b26715d785 --- /dev/null +++ b/libjava/gnu/xml/transform/Template.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_Template__ +#define __gnu_xml_transform_Template__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class Template; + class TemplateNode; + } + namespace xpath + { + class Expr; + class Pattern; + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::Template : public ::java::lang::Object +{ + +public: // actually package-private + Template(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::gnu::xml::xpath::Pattern *, ::gnu::xml::transform::TemplateNode *, jint, ::java::lang::String *, ::javax::xml::namespace::QName *); +private: + Template(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::gnu::xml::xpath::Pattern *, ::gnu::xml::transform::TemplateNode *, jint, jdouble, ::javax::xml::namespace::QName *, jboolean); +public: // actually package-private + virtual ::gnu::xml::transform::Template * clone(::gnu::xml::transform::Stylesheet *); +public: + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + virtual ::gnu::xml::xpath::Test * getNodeTest(::gnu::xml::xpath::Expr *); + virtual jboolean matches(::javax::xml::namespace::QName *, ::org::w3c::dom::Node *); + virtual jboolean matches(::javax::xml::namespace::QName *); + virtual jboolean imports(::gnu::xml::transform::Template *); + virtual void apply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual void list(::java::io::PrintStream *); + static jdouble DEFAULT_PRIORITY; + ::gnu::xml::transform::Stylesheet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stylesheet; + ::javax::xml::namespace::QName * name; + ::gnu::xml::xpath::Pattern * match; + ::gnu::xml::transform::TemplateNode * node; + jdouble priority; + jint precedence; + ::javax::xml::namespace::QName * mode; + jboolean isAnyNode; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_Template__ diff --git a/libjava/gnu/xml/transform/TemplateNode.h b/libjava/gnu/xml/transform/TemplateNode.h new file mode 100644 index 00000000000..b5ecbc81753 --- /dev/null +++ b/libjava/gnu/xml/transform/TemplateNode.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_TemplateNode__ +#define __gnu_xml_transform_TemplateNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TemplateNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::TemplateNode : public ::java::lang::Object +{ + +public: // actually package-private + TemplateNode(); + virtual void apply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *) = 0; +public: + virtual jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + virtual void list(jint, ::java::io::PrintStream *, jboolean); + virtual jboolean hasParam(::javax::xml::namespace::QName *); + static ::java::util::Comparator * documentOrderComparator; + ::gnu::xml::transform::TemplateNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children; + ::gnu::xml::transform::TemplateNode * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_TemplateNode__ diff --git a/libjava/gnu/xml/transform/TemplatesImpl.h b/libjava/gnu/xml/transform/TemplatesImpl.h new file mode 100644 index 00000000000..d79409b3df8 --- /dev/null +++ b/libjava/gnu/xml/transform/TemplatesImpl.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_TemplatesImpl__ +#define __gnu_xml_transform_TemplatesImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TemplatesImpl; + class TransformerFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Transformer; + } + } + } +} + +class gnu::xml::transform::TemplatesImpl : public ::java::lang::Object +{ + +public: // actually package-private + TemplatesImpl(::gnu::xml::transform::TransformerFactoryImpl *, ::gnu::xml::transform::Stylesheet *); +public: + virtual ::javax::xml::transform::Transformer * newTransformer(); + virtual ::java::util::Properties * getOutputProperties(); +public: // actually package-private + ::gnu::xml::transform::TransformerFactoryImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) factory; + ::gnu::xml::transform::Stylesheet * stylesheet; + ::java::util::Properties * outputProperties; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_TemplatesImpl__ diff --git a/libjava/gnu/xml/transform/TextNode.h b/libjava/gnu/xml/transform/TextNode.h new file mode 100644 index 00000000000..a78bc1cd3f0 --- /dev/null +++ b/libjava/gnu/xml/transform/TextNode.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_TextNode__ +#define __gnu_xml_transform_TextNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TemplateNode; + class TextNode; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::TextNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + TextNode(jboolean); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + ::java::lang::String * toString(); +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) disableOutputEscaping; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_TextNode__ diff --git a/libjava/gnu/xml/transform/TransformerFactoryImpl.h b/libjava/gnu/xml/transform/TransformerFactoryImpl.h new file mode 100644 index 00000000000..ecdb46f7154 --- /dev/null +++ b/libjava/gnu/xml/transform/TransformerFactoryImpl.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_TransformerFactoryImpl__ +#define __gnu_xml_transform_TransformerFactoryImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TransformerFactoryImpl; + class XSLURIResolver; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Source; + class Templates; + class Transformer; + class URIResolver; + namespace sax + { + class TemplatesHandler; + class TransformerHandler; + } + } + namespace xpath + { + class XPathFactory; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class XMLFilter; + } + } + } +} + +class gnu::xml::transform::TransformerFactoryImpl : public ::javax::xml::transform::sax::SAXTransformerFactory +{ + +public: + TransformerFactoryImpl(); + virtual ::javax::xml::transform::Transformer * newTransformer(::javax::xml::transform::Source *); + virtual ::javax::xml::transform::Transformer * newTransformer(); + virtual ::javax::xml::transform::Templates * newTemplates(::javax::xml::transform::Source *); +public: // actually package-private + virtual ::gnu::xml::transform::Stylesheet * newStylesheet(::javax::xml::transform::Source *, jint, ::gnu::xml::transform::Stylesheet *); +public: + virtual ::javax::xml::transform::Source * getAssociatedStylesheet(::javax::xml::transform::Source *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::java::util::Map * parseParameters(::java::lang::String *); + virtual ::java::lang::String * unquote(::java::lang::String *); +public: + virtual void setURIResolver(::javax::xml::transform::URIResolver *); + virtual ::javax::xml::transform::URIResolver * getURIResolver(); + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getAttribute(::java::lang::String *); + virtual void setErrorListener(::javax::xml::transform::ErrorListener *); + virtual ::javax::xml::transform::ErrorListener * getErrorListener(); + virtual ::javax::xml::transform::sax::TemplatesHandler * newTemplatesHandler(); + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(); + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(::javax::xml::transform::Source *); + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(::javax::xml::transform::Templates *); + virtual ::org::xml::sax::XMLFilter * newXMLFilter(::javax::xml::transform::Source *); + virtual ::org::xml::sax::XMLFilter * newXMLFilter(::javax::xml::transform::Templates *); + static void main(JArray< ::java::lang::String * > *); +public: // actually package-private + ::javax::xml::xpath::XPathFactory * __attribute__((aligned(__alignof__( ::javax::xml::transform::sax::SAXTransformerFactory)))) xpathFactory; + ::gnu::xml::transform::XSLURIResolver * resolver; + ::javax::xml::transform::ErrorListener * userListener; + ::javax::xml::transform::URIResolver * userResolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_TransformerFactoryImpl__ diff --git a/libjava/gnu/xml/transform/TransformerImpl.h b/libjava/gnu/xml/transform/TransformerImpl.h new file mode 100644 index 00000000000..47c1d9a9f35 --- /dev/null +++ b/libjava/gnu/xml/transform/TransformerImpl.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_TransformerImpl__ +#define __gnu_xml_transform_TransformerImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TransformerFactoryImpl; + class TransformerImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace transform + { + class ErrorListener; + class Result; + class Source; + class URIResolver; + namespace stream + { + class StreamResult; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class Node; + } + } + } +} + +class gnu::xml::transform::TransformerImpl : public ::javax::xml::transform::Transformer +{ + +public: // actually package-private + TransformerImpl(::gnu::xml::transform::TransformerFactoryImpl *, ::gnu::xml::transform::Stylesheet *, ::java::util::Properties *); +public: + virtual void transform(::javax::xml::transform::Source *, ::javax::xml::transform::Result *); +public: // actually package-private + static jboolean strip(::gnu::xml::transform::Stylesheet *, ::org::w3c::dom::Node *); +private: + static JArray< ::java::lang::String * > * tokenizeWhitespace(::java::lang::String *); +public: // actually package-private + virtual void writeStreamResult(::org::w3c::dom::Node *, ::javax::xml::transform::stream::StreamResult *, jint, ::java::lang::String *); + virtual void copyChildren(::org::w3c::dom::Document *, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual void clearParameters(); + virtual void setURIResolver(::javax::xml::transform::URIResolver *); + virtual ::javax::xml::transform::URIResolver * getURIResolver(); + virtual void setOutputProperties(::java::util::Properties *); + virtual ::java::util::Properties * getOutputProperties(); + virtual void setOutputProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getOutputProperty(::java::lang::String *); + virtual void setErrorListener(::javax::xml::transform::ErrorListener *); + virtual ::javax::xml::transform::ErrorListener * getErrorListener(); +public: // actually package-private + virtual void reindent(::org::w3c::dom::Document *, ::org::w3c::dom::Node *, jint); + virtual void convertCdataSectionElements(::org::w3c::dom::Document *, ::org::w3c::dom::Node *, ::java::util::List *); + virtual jboolean match(::javax::xml::namespace::QName *, ::org::w3c::dom::Node *); + ::gnu::xml::transform::TransformerFactoryImpl * __attribute__((aligned(__alignof__( ::javax::xml::transform::Transformer)))) factory; + ::gnu::xml::transform::Stylesheet * stylesheet; + ::javax::xml::transform::URIResolver * uriResolver; + ::javax::xml::transform::ErrorListener * errorListener; + ::java::util::Properties * outputProperties; + static ::java::lang::String * INDENT_WHITESPACE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_TransformerImpl__ diff --git a/libjava/gnu/xml/transform/TransformerOutputProperties.h b/libjava/gnu/xml/transform/TransformerOutputProperties.h new file mode 100644 index 00000000000..e5fd927dd80 --- /dev/null +++ b/libjava/gnu/xml/transform/TransformerOutputProperties.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_TransformerOutputProperties__ +#define __gnu_xml_transform_TransformerOutputProperties__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TransformerOutputProperties; + } + } + } +} + +class gnu::xml::transform::TransformerOutputProperties : public ::java::util::Properties +{ + +public: // actually package-private + TransformerOutputProperties(::gnu::xml::transform::Stylesheet *); +public: + virtual ::java::lang::String * getProperty(::java::lang::String *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void clear(); +public: // actually package-private + virtual void apply(); + ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::util::Properties)))) defaultProperties; + ::gnu::xml::transform::Stylesheet * stylesheet; + jboolean dirty; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_TransformerOutputProperties__ diff --git a/libjava/gnu/xml/transform/URIResolverEntityResolver.h b/libjava/gnu/xml/transform/URIResolverEntityResolver.h new file mode 100644 index 00000000000..f7cd288e1e9 --- /dev/null +++ b/libjava/gnu/xml/transform/URIResolverEntityResolver.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_URIResolverEntityResolver__ +#define __gnu_xml_transform_URIResolverEntityResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class URIResolverEntityResolver; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class URIResolver; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::transform::URIResolverEntityResolver : public ::java::lang::Object +{ + +public: // actually package-private + URIResolverEntityResolver(::javax::xml::transform::URIResolver *); +public: + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + ::javax::xml::transform::URIResolver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) resolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_URIResolverEntityResolver__ diff --git a/libjava/gnu/xml/transform/UnparsedEntityUriFunction.h b/libjava/gnu/xml/transform/UnparsedEntityUriFunction.h new file mode 100644 index 00000000000..c1b94c9466b --- /dev/null +++ b/libjava/gnu/xml/transform/UnparsedEntityUriFunction.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_UnparsedEntityUriFunction__ +#define __gnu_xml_transform_UnparsedEntityUriFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class UnparsedEntityUriFunction; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::UnparsedEntityUriFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + UnparsedEntityUriFunction(); +public: + ::java::lang::Object * evaluate(::java::util::List *); + void setArguments(::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_UnparsedEntityUriFunction__ diff --git a/libjava/gnu/xml/transform/ValueOfNode.h b/libjava/gnu/xml/transform/ValueOfNode.h new file mode 100644 index 00000000000..cfd13176529 --- /dev/null +++ b/libjava/gnu/xml/transform/ValueOfNode.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_ValueOfNode__ +#define __gnu_xml_transform_ValueOfNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TemplateNode; + class ValueOfNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::ValueOfNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + ValueOfNode(::gnu::xml::xpath::Expr *, jboolean); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) select; + jboolean disableOutputEscaping; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_ValueOfNode__ diff --git a/libjava/gnu/xml/transform/WhenNode.h b/libjava/gnu/xml/transform/WhenNode.h new file mode 100644 index 00000000000..c904902c3b6 --- /dev/null +++ b/libjava/gnu/xml/transform/WhenNode.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_WhenNode__ +#define __gnu_xml_transform_WhenNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TemplateNode; + class WhenNode; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::WhenNode : public ::gnu::xml::transform::TemplateNode +{ + +public: // actually package-private + WhenNode(::gnu::xml::xpath::Expr *); + ::gnu::xml::transform::TemplateNode * clone(::gnu::xml::transform::Stylesheet *); + void doApply(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); +public: + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::transform::TemplateNode)))) test; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_WhenNode__ diff --git a/libjava/gnu/xml/transform/WithParam.h b/libjava/gnu/xml/transform/WithParam.h new file mode 100644 index 00000000000..c5882691aeb --- /dev/null +++ b/libjava/gnu/xml/transform/WithParam.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_WithParam__ +#define __gnu_xml_transform_WithParam__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class Stylesheet; + class TemplateNode; + class WithParam; + } + namespace xpath + { + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::transform::WithParam : public ::java::lang::Object +{ + +public: // actually package-private + WithParam(::javax::xml::namespace::QName *, ::gnu::xml::xpath::Expr *); + WithParam(::javax::xml::namespace::QName *, ::gnu::xml::transform::TemplateNode *); + ::java::lang::Object * getValue(::gnu::xml::transform::Stylesheet *, ::javax::xml::namespace::QName *, ::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::transform::WithParam * clone(::gnu::xml::transform::Stylesheet *); + jboolean references(::javax::xml::namespace::QName *); + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::gnu::xml::xpath::Expr * select; + ::gnu::xml::transform::TemplateNode * content; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_WithParam__ diff --git a/libjava/gnu/xml/transform/XSLComparator.h b/libjava/gnu/xml/transform/XSLComparator.h new file mode 100644 index 00000000000..0f99c57c86d --- /dev/null +++ b/libjava/gnu/xml/transform/XSLComparator.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_XSLComparator__ +#define __gnu_xml_transform_XSLComparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class XSLComparator; + } + } + } +} + +class gnu::xml::transform::XSLComparator : public ::java::lang::Object +{ + +public: // actually package-private + XSLComparator(::java::util::List *); +public: + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sortKeys; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_XSLComparator__ diff --git a/libjava/gnu/xml/transform/XSLURIResolver.h b/libjava/gnu/xml/transform/XSLURIResolver.h new file mode 100644 index 00000000000..a7e0aeae26e --- /dev/null +++ b/libjava/gnu/xml/transform/XSLURIResolver.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_transform_XSLURIResolver__ +#define __gnu_xml_transform_XSLURIResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace transform + { + class XSLURIResolver; + } + } + } + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace xml + { + namespace parsers + { + class DocumentBuilder; + } + namespace transform + { + class ErrorListener; + class Source; + class URIResolver; + namespace dom + { + class DOMSource; + } + } + } + } +} + +class gnu::xml::transform::XSLURIResolver : public ::java::lang::Object +{ + +public: // actually package-private + XSLURIResolver(); + virtual void setUserResolver(::javax::xml::transform::URIResolver *); + virtual void setUserListener(::javax::xml::transform::ErrorListener *); + virtual void flush(); +public: + virtual ::javax::xml::transform::Source * resolve(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + virtual ::javax::xml::transform::dom::DOMSource * resolveDOM(::javax::xml::transform::Source *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::net::URL * resolveURL(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::parsers::DocumentBuilder * getDocumentBuilder(); + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastModifiedCache; + ::java::util::Map * nodeCache; + ::javax::xml::parsers::DocumentBuilder * builder; + ::javax::xml::transform::URIResolver * userResolver; + ::javax::xml::transform::ErrorListener * userListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_transform_XSLURIResolver__ diff --git a/libjava/gnu/xml/util/DoParse$MyErrorHandler.h b/libjava/gnu/xml/util/DoParse$MyErrorHandler.h new file mode 100644 index 00000000000..3c61367dda6 --- /dev/null +++ b/libjava/gnu/xml/util/DoParse$MyErrorHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_DoParse$MyErrorHandler__ +#define __gnu_xml_util_DoParse$MyErrorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class DoParse$MyErrorHandler; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXParseException; + } + } + } +} + +class gnu::xml::util::DoParse$MyErrorHandler : public ::java::lang::Object +{ + +public: // actually package-private + DoParse$MyErrorHandler(); +public: + virtual void error(::org::xml::sax::SAXParseException *); + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_DoParse$MyErrorHandler__ diff --git a/libjava/gnu/xml/util/DoParse.h b/libjava/gnu/xml/util/DoParse.h new file mode 100644 index 00000000000..b775f00d060 --- /dev/null +++ b/libjava/gnu/xml/util/DoParse.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_DoParse__ +#define __gnu_xml_util_DoParse__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class EventConsumer; + } + namespace util + { + class DoParse; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXParseException; + } + } + } +} + +class gnu::xml::util::DoParse : public ::java::lang::Object +{ + + DoParse(); +public: + static void main(JArray< ::java::lang::String * > *); +private: + static jboolean hasValidator(::gnu::xml::pipeline::EventConsumer *); + static ::java::lang::String * printParseException(::java::lang::String *, ::org::xml::sax::SAXParseException *); +public: // actually package-private + static jint access$0(); + static void access$1(jint); + static ::java::lang::String * access$2(::java::lang::String *, ::org::xml::sax::SAXParseException *); + static jint access$3(); + static void access$4(jint); + static ::org::xml::sax::SAXParseException * access$5(); + static void access$6(::org::xml::sax::SAXParseException *); +private: + static ::org::xml::sax::SAXParseException * fatal; + static jint errorCount; + static jint fatalCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_DoParse__ diff --git a/libjava/gnu/xml/util/DomParser.h b/libjava/gnu/xml/util/DomParser.h new file mode 100644 index 00000000000..f64b729b5b3 --- /dev/null +++ b/libjava/gnu/xml/util/DomParser.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_DomParser__ +#define __gnu_xml_util_DomParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class DomParser; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + namespace ext + { + class DeclHandler; + class DefaultHandler2; + class LexicalHandler; + } + namespace helpers + { + class NamespaceSupport; + } + } + } + } +} + +class gnu::xml::util::DomParser : public ::java::lang::Object +{ + +public: + DomParser(); + DomParser(::org::w3c::dom::Node *); + ::org::xml::sax::EntityResolver * getEntityResolver(); + void setEntityResolver(::org::xml::sax::EntityResolver *); + void setLocale(::java::util::Locale *); + ::org::xml::sax::ErrorHandler * getErrorHandler(); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + ::org::xml::sax::ContentHandler * getContentHandler(); + void setContentHandler(::org::xml::sax::ContentHandler *); + ::org::xml::sax::DTDHandler * getDTDHandler(); + void setDTDHandler(::org::xml::sax::DTDHandler *); + void parse(::java::lang::String *); + void parse(::org::xml::sax::InputSource *); +private: + void parse(); + jboolean getIsL2(::org::w3c::dom::Node *); +public: + jboolean getFeature(::java::lang::String *); + ::java::lang::Object * getProperty(::java::lang::String *); + void setFeature(::java::lang::String *, jboolean); + void setProperty(::java::lang::String *, ::java::lang::Object *); +private: + void setStart(::org::w3c::dom::Node *); + void walk(); + void callEnd(::org::w3c::dom::Node *); + ::org::xml::sax::ext::DefaultHandler2 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultHandler; + ::org::xml::sax::ContentHandler * contentHandler; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::ext::DeclHandler * declHandler; + ::org::xml::sax::ext::LexicalHandler * lexicalHandler; + ::org::xml::sax::ErrorHandler * errHandler; + ::org::xml::sax::EntityResolver * resolver; + ::java::util::Locale * locale; + ::org::w3c::dom::Node * start; + ::org::w3c::dom::Node * current; + jboolean isL2; + jboolean showNamespaces; + jboolean showXML1_0; + ::org::xml::sax::helpers::NamespaceSupport * prefixStack; + jboolean isDocument; + static ::java::lang::String * FEATURES; + static ::java::lang::String * HANDLERS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_DomParser__ diff --git a/libjava/gnu/xml/util/Resolver.h b/libjava/gnu/xml/util/Resolver.h new file mode 100644 index 00000000000..ccafe1f2c86 --- /dev/null +++ b/libjava/gnu/xml/util/Resolver.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_Resolver__ +#define __gnu_xml_util_Resolver__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class Resolver; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::util::Resolver : public ::java::lang::Object +{ + +public: + static void addDirectoryMapping(::java::util::Dictionary *, JArray< JArray< ::java::lang::String * > * > *, ::java::io::File *); + static ::java::lang::String * fileNameToURL(::java::lang::String *); + static ::java::lang::String * fileToURL(::java::io::File *); + static ::java::lang::String * getURL(::java::lang::String *); + Resolver(::java::util::Dictionary *); + static ::java::lang::String * getEncoding(::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); +private: + ::java::util::Dictionary * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pubidMapping; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_Resolver__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory$DomHandler.h b/libjava/gnu/xml/util/SAXNullTransformerFactory$DomHandler.h new file mode 100644 index 00000000000..62e4abac123 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory$DomHandler.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory$DomHandler__ +#define __gnu_xml_util_SAXNullTransformerFactory$DomHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace pipeline + { + class DomConsumer; + } + namespace util + { + class SAXNullTransformerFactory$DomHandler; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + namespace dom + { + class DOMResult; + } + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory$DomHandler : public ::gnu::xml::dom::Consumer$Backdoor +{ + +public: // actually package-private + SAXNullTransformerFactory$DomHandler(::gnu::xml::pipeline::DomConsumer *, ::javax::xml::transform::dom::DOMResult *); +public: + virtual void endDocument(); +private: + ::javax::xml::transform::dom::DOMResult * __attribute__((aligned(__alignof__( ::gnu::xml::dom::Consumer$Backdoor)))) result; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory$DomHandler__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.h b/libjava/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.h new file mode 100644 index 00000000000..b1c1bb1d695 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory$DomTerminus.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory$DomTerminus__ +#define __gnu_xml_util_SAXNullTransformerFactory$DomTerminus__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class SAXNullTransformerFactory$DomTerminus; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + namespace dom + { + class DOMResult; + } + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory$DomTerminus : public ::gnu::xml::pipeline::DomConsumer +{ + +public: // actually package-private + SAXNullTransformerFactory$DomTerminus(::javax::xml::transform::dom::DOMResult *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory$DomTerminus__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.h b/libjava/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.h new file mode 100644 index 00000000000..3764fb6c801 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory$ListenerAdapter.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory$ListenerAdapter__ +#define __gnu_xml_util_SAXNullTransformerFactory$ListenerAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class SAXNullTransformerFactory$ListenerAdapter; + class SAXNullTransformerFactory$NullTransformer; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class TransformerException; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXParseException; + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory$ListenerAdapter : public ::java::lang::Object +{ + +public: // actually package-private + SAXNullTransformerFactory$ListenerAdapter(::gnu::xml::util::SAXNullTransformerFactory$NullTransformer *); +private: + ::javax::xml::transform::TransformerException * map(::org::xml::sax::SAXParseException *); +public: + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); + virtual void warning(::org::xml::sax::SAXParseException *); +public: // actually package-private + ::gnu::xml::util::SAXNullTransformerFactory$NullTransformer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) transformer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory$ListenerAdapter__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.h b/libjava/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.h new file mode 100644 index 00000000000..0bf4b466bb5 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory$LocatorAdapter.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory$LocatorAdapter__ +#define __gnu_xml_util_SAXNullTransformerFactory$LocatorAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class SAXNullTransformerFactory$LocatorAdapter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class SAXParseException; + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory$LocatorAdapter : public ::org::xml::sax::helpers::LocatorImpl +{ + +public: // actually package-private + SAXNullTransformerFactory$LocatorAdapter(::org::xml::sax::SAXParseException *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory$LocatorAdapter__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory$NullHandler.h b/libjava/gnu/xml/util/SAXNullTransformerFactory$NullHandler.h new file mode 100644 index 00000000000..784a7235e65 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory$NullHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory$NullHandler__ +#define __gnu_xml_util_SAXNullTransformerFactory$NullHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class SAXNullTransformerFactory$NullHandler; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Transformer; + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory$NullHandler : public ::gnu::xml::pipeline::EventFilter +{ + +public: // actually package-private + SAXNullTransformerFactory$NullHandler(::javax::xml::transform::Transformer *); +public: + virtual ::javax::xml::transform::Transformer * getTransformer(); + virtual ::java::lang::String * getSystemId(); + virtual void setSystemId(::java::lang::String *); + virtual void setResult(::javax::xml::transform::Result *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) systemId; + ::javax::xml::transform::Transformer * transformer; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory$NullHandler__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.h b/libjava/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.h new file mode 100644 index 00000000000..78fdb8caaf7 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory$NullTransformer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory$NullTransformer__ +#define __gnu_xml_util_SAXNullTransformerFactory$NullTransformer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class SAXNullTransformerFactory$NullHandler; + class SAXNullTransformerFactory$NullTransformer; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Result; + class Source; + class TransformerException; + class URIResolver; + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory$NullTransformer : public ::javax::xml::transform::Transformer +{ + +public: // actually package-private + SAXNullTransformerFactory$NullTransformer(); +public: + virtual ::javax::xml::transform::ErrorListener * getErrorListener(); + virtual void setErrorListener(::javax::xml::transform::ErrorListener *); + virtual ::javax::xml::transform::URIResolver * getURIResolver(); + virtual void setURIResolver(::javax::xml::transform::URIResolver *); + virtual void setOutputProperties(::java::util::Properties *); + virtual ::java::util::Properties * getOutputProperties(); + virtual void setOutputProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getOutputProperty(::java::lang::String *); + virtual void clearParameters(); + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual void transform(::javax::xml::transform::Source *, ::javax::xml::transform::Result *); +private: + ::javax::xml::transform::URIResolver * __attribute__((aligned(__alignof__( ::javax::xml::transform::Transformer)))) uriResolver; + ::java::util::Properties * props; + ::java::util::Hashtable * params; +public: // actually package-private + ::javax::xml::transform::ErrorListener * errListener; + ::javax::xml::transform::TransformerException * ex; + ::gnu::xml::util::SAXNullTransformerFactory$NullHandler * handler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory$NullTransformer__ diff --git a/libjava/gnu/xml/util/SAXNullTransformerFactory.h b/libjava/gnu/xml/util/SAXNullTransformerFactory.h new file mode 100644 index 00000000000..f9415020452 --- /dev/null +++ b/libjava/gnu/xml/util/SAXNullTransformerFactory.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_SAXNullTransformerFactory__ +#define __gnu_xml_util_SAXNullTransformerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class SAXNullTransformerFactory; + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Source; + class Templates; + class Transformer; + class URIResolver; + namespace sax + { + class TemplatesHandler; + class TransformerHandler; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class XMLFilter; + } + } + } +} + +class gnu::xml::util::SAXNullTransformerFactory : public ::javax::xml::transform::sax::SAXTransformerFactory +{ + +public: + SAXNullTransformerFactory(); + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getAttribute(::java::lang::String *); + virtual ::javax::xml::transform::Source * getAssociatedStylesheet(::javax::xml::transform::Source *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::javax::xml::transform::Transformer * newTransformer(); + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(); + virtual ::javax::xml::transform::Transformer * newTransformer(::javax::xml::transform::Source *); + virtual ::javax::xml::transform::Templates * newTemplates(::javax::xml::transform::Source *); + virtual ::javax::xml::transform::sax::TemplatesHandler * newTemplatesHandler(); + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(::javax::xml::transform::Source *); + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(::javax::xml::transform::Templates *); + virtual ::org::xml::sax::XMLFilter * newXMLFilter(::javax::xml::transform::Source *); + virtual ::org::xml::sax::XMLFilter * newXMLFilter(::javax::xml::transform::Templates *); + virtual ::javax::xml::transform::ErrorListener * getErrorListener(); + virtual void setErrorListener(::javax::xml::transform::ErrorListener *); + virtual ::javax::xml::transform::URIResolver * getURIResolver(); + virtual void setURIResolver(::javax::xml::transform::URIResolver *); +private: + static ::java::io::OutputStream * getOutputStream(::java::lang::String *); +public: // actually package-private + static ::java::io::OutputStream * access$0(::java::lang::String *); +private: + ::javax::xml::transform::ErrorListener * __attribute__((aligned(__alignof__( ::javax::xml::transform::sax::SAXTransformerFactory)))) errListener; + ::javax::xml::transform::URIResolver * uriResolver; + static ::java::lang::String * noXSLT; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_SAXNullTransformerFactory__ diff --git a/libjava/gnu/xml/util/XCat$Catalog.h b/libjava/gnu/xml/util/XCat$Catalog.h new file mode 100644 index 00000000000..4b727ce46f1 --- /dev/null +++ b/libjava/gnu/xml/util/XCat$Catalog.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_XCat$Catalog__ +#define __gnu_xml_util_XCat$Catalog__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class XCat$Catalog; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ErrorHandler; + class InputSource; + } + } + } +} + +class gnu::xml::util::XCat$Catalog : public ::java::lang::Object +{ + +public: // actually package-private + XCat$Catalog(); +private: + ::org::xml::sax::InputSource * locatePublicId(::java::lang::String *); + ::org::xml::sax::InputSource * mapURI(::java::lang::String *, ::java::util::Hashtable *, ::java::util::Hashtable *, ::java::util::Hashtable *); +public: + virtual ::org::xml::sax::InputSource * resolve(jboolean, ::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveURI(::java::lang::String *); + virtual ::org::xml::sax::InputSource * getExternalSubset(::java::lang::String *); +private: + ::gnu::xml::util::XCat$Catalog * getNext(jint); + ::org::xml::sax::InputSource * checkDelegations(::java::util::Hashtable *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) catalogURI; + ::org::xml::sax::ErrorHandler * eh; + jboolean unified; + ::java::lang::String * parserClass; + jboolean hasPreference; + jboolean usingPublic; + ::java::util::Hashtable * publicIds; + ::java::util::Hashtable * publicDelegations; + ::java::util::Hashtable * systemIds; + ::java::util::Hashtable * systemRewrites; + ::java::util::Hashtable * systemDelegations; + ::java::util::Hashtable * uris; + ::java::util::Hashtable * uriRewrites; + ::java::util::Hashtable * uriDelegations; + ::java::util::Hashtable * doctypes; + ::java::util::Vector * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_XCat$Catalog__ diff --git a/libjava/gnu/xml/util/XCat$DoneDelegation.h b/libjava/gnu/xml/util/XCat$DoneDelegation.h new file mode 100644 index 00000000000..34e146afef7 --- /dev/null +++ b/libjava/gnu/xml/util/XCat$DoneDelegation.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_XCat$DoneDelegation__ +#define __gnu_xml_util_XCat$DoneDelegation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class XCat$DoneDelegation; + } + } + } +} + +class gnu::xml::util::XCat$DoneDelegation : public ::org::xml::sax::SAXException +{ + +public: // actually package-private + XCat$DoneDelegation(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_XCat$DoneDelegation__ diff --git a/libjava/gnu/xml/util/XCat$Loader.h b/libjava/gnu/xml/util/XCat$Loader.h new file mode 100644 index 00000000000..846c85b2710 --- /dev/null +++ b/libjava/gnu/xml/util/XCat$Loader.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_XCat$Loader__ +#define __gnu_xml_util_XCat$Loader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class XCat$Catalog; + class XCat$Loader; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class ErrorHandler; + class Locator; + } + } + } +} + +class gnu::xml::util::XCat$Loader : public ::org::xml::sax::ext::DefaultHandler2 +{ + +public: // actually package-private + XCat$Loader(jboolean, ::org::xml::sax::ErrorHandler *, jboolean); +private: + ::java::lang::String * nofrag(::java::lang::String *); + ::java::lang::String * absolutize(::java::lang::String *); + void error(::java::lang::String *); + void fatal(::java::lang::String *); + void warn(::java::lang::String *); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + jboolean __attribute__((aligned(__alignof__( ::org::xml::sax::ext::DefaultHandler2)))) preInterned; + ::org::xml::sax::ErrorHandler * handler; + jboolean unified; + jint ignoreDepth; + ::org::xml::sax::Locator * locator; + jboolean started; + ::java::util::Hashtable * externals; + ::java::util::Stack * bases; +public: // actually package-private + ::gnu::xml::util::XCat$Catalog * cat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_XCat$Loader__ diff --git a/libjava/gnu/xml/util/XCat.h b/libjava/gnu/xml/util/XCat.h new file mode 100644 index 00000000000..a0b93275dae --- /dev/null +++ b/libjava/gnu/xml/util/XCat.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_XCat__ +#define __gnu_xml_util_XCat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class XCat; + class XCat$Catalog; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ErrorHandler; + class InputSource; + } + } + } +} + +class gnu::xml::util::XCat : public ::java::lang::Object +{ + +public: + XCat(); + XCat(::java::lang::String *); + virtual void loadCatalog(::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * getExternalSubset(::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveURI(::java::lang::String *, ::java::lang::String *); + virtual void disableLoading(); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::java::lang::String * getParserClass(); + virtual void setParserClass(::java::lang::String *); + virtual jboolean isUnified(); + virtual void setUnified(jboolean); + virtual jboolean isUsingPublic(); + virtual void setUsingPublic(jboolean); +private: + static ::gnu::xml::util::XCat$Catalog * loadCatalog(::java::lang::String *, ::org::xml::sax::ErrorHandler *, ::java::lang::String *, jboolean); + static ::java::lang::String * normalizePublicId(jboolean, ::java::lang::String *); + static jboolean isUriExcluded(jint); + static jint hexNibble(jint); + static ::java::lang::String * normalizeURI(::java::lang::String *); +public: // actually package-private + static ::java::lang::String * access$0(jboolean, ::java::lang::String *); + static ::java::lang::String * access$1(::java::lang::String *); + static ::gnu::xml::util::XCat$Catalog * access$2(::java::lang::String *, ::org::xml::sax::ErrorHandler *, ::java::lang::String *, jboolean); +private: + JArray< ::gnu::xml::util::XCat$Catalog * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) catalogs; + jboolean usingPublic; + jboolean loadingPermitted; + jboolean unified; + ::java::lang::String * parserClass; + ::org::xml::sax::ErrorHandler * errorHandler; + static ::java::lang::String * catalogNamespace; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_XCat__ diff --git a/libjava/gnu/xml/util/XHTMLWriter.h b/libjava/gnu/xml/util/XHTMLWriter.h new file mode 100644 index 00000000000..6fd702d4875 --- /dev/null +++ b/libjava/gnu/xml/util/XHTMLWriter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_XHTMLWriter__ +#define __gnu_xml_util_XHTMLWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class XHTMLWriter; + } + } + } +} + +class gnu::xml::util::XHTMLWriter : public ::gnu::xml::util::XMLWriter +{ + +public: + XHTMLWriter(); + XHTMLWriter(::java::io::OutputStream *); + XHTMLWriter(::java::io::Writer *); + XHTMLWriter(::java::io::Writer *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_XHTMLWriter__ diff --git a/libjava/gnu/xml/util/XMLWriter.h b/libjava/gnu/xml/util/XMLWriter.h new file mode 100644 index 00000000000..ea354b999f3 --- /dev/null +++ b/libjava/gnu/xml/util/XMLWriter.h @@ -0,0 +1,145 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_util_XMLWriter__ +#define __gnu_xml_util_XMLWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace util + { + class XMLWriter; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class ErrorHandler; + class Locator; + } + } + } +} + +class gnu::xml::util::XMLWriter : public ::java::lang::Object +{ + + static jboolean isLineEnd(::java::lang::String *); +public: + XMLWriter(); + XMLWriter(::java::io::OutputStream *); + XMLWriter(::java::io::Writer *); + XMLWriter(::java::io::Writer *, ::java::lang::String *); +private: + void setEncoding(::java::lang::String *); +public: + virtual void setWriter(::java::io::Writer *, ::java::lang::String *); + virtual void setEOL(::java::lang::String *); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); +public: // actually protected + virtual void fatal(::java::lang::String *, ::java::lang::Exception *); +public: + virtual void setXhtml(jboolean); + virtual jboolean isXhtml(); + virtual void setExpandingEntities(jboolean); + virtual jboolean isExpandingEntities(); + virtual void setPrettyPrinting(jboolean); + virtual jboolean isPrettyPrinting(); + virtual void setCanonical(jboolean); + virtual jboolean isCanonical(); + virtual void flush(); + virtual void write(::java::lang::String *); + virtual void writeElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *, ::java::lang::String *); + virtual void writeElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *, jint); + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); +private: + static jboolean isEmptyElementTag(::java::lang::String *); + static jboolean indentBefore(::java::lang::String *); + static jboolean spaceBefore(::java::lang::String *); + static jboolean spacePreserve(::java::lang::String *); +public: + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); +private: + void writeStartTag(::java::lang::String *, ::org::xml::sax::Attributes *, jboolean); +public: + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void writeEmptyElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void skippedEntity(::java::lang::String *); + virtual void startCDATA(); + virtual void endCDATA(); + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void comment(JArray< jchar > *, jint, jint); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *); +private: + void writeQuotedValue(::java::lang::String *, jint); + void escapeChars(JArray< jchar > *, jint, jint, jint); + void newline(); + void doIndent(); + void rawWrite(jchar); + void rawWrite(::java::lang::String *); + void rawWrite(JArray< jchar > *, jint, jint); + static const jint CTX_ENTITY = 1; + static const jint CTX_ATTRIBUTE = 2; + static const jint CTX_CONTENT = 3; + static const jint CTX_UNPARSED = 4; + static const jint CTX_NAME = 5; + static ::java::lang::String * sysEOL; + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out; + jboolean inCDATA; + jint elementNestLevel; + ::java::lang::String * eol; + jshort dangerMask; + ::java::lang::StringBuffer * stringBuf; + ::org::xml::sax::Locator * locator; + ::org::xml::sax::ErrorHandler * errHandler; + jboolean expandingEntities; + jint entityNestLevel; + jboolean xhtml; + jboolean startedDoctype; + ::java::lang::String * encoding; + jboolean canonical; + jboolean inDoctype; + jboolean inEpilogue; + jboolean prettyPrinting; + jint column; + jboolean noWrap; + ::java::util::Stack * space; + static const jint lineLength = 75; + static ::java::lang::String * xhtmlFullDTD; + static JArray< ::java::lang::String * > * HTMLlat1x; + static JArray< ::java::lang::String * > * HTMLsymbolx_GR; + static JArray< ::java::lang::String * > * HTMLsymbolx_gr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_util_XMLWriter__ diff --git a/libjava/gnu/xml/validation/datatype/Annotation.h b/libjava/gnu/xml/validation/datatype/Annotation.h new file mode 100644 index 00000000000..b6dffa6ba9c --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/Annotation.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_Annotation__ +#define __gnu_xml_validation_datatype_Annotation__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + } + } + } + } +} + +class gnu::xml::validation::datatype::Annotation : public ::java::lang::Object +{ + +public: + Annotation(::java::lang::String *); + virtual ::java::lang::String * toString(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) documentation; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_Annotation__ diff --git a/libjava/gnu/xml/validation/datatype/AnySimpleType.h b/libjava/gnu/xml/validation/datatype/AnySimpleType.h new file mode 100644 index 00000000000..41c19275d30 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/AnySimpleType.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_AnySimpleType__ +#define __gnu_xml_validation_datatype_AnySimpleType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class AnySimpleType; + } + } + } + } +} + +class gnu::xml::validation::datatype::AnySimpleType : public ::gnu::xml::validation::datatype::SimpleType +{ + +public: // actually package-private + AnySimpleType(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_AnySimpleType__ diff --git a/libjava/gnu/xml/validation/datatype/AnyType.h b/libjava/gnu/xml/validation/datatype/AnyType.h new file mode 100644 index 00000000000..2f9ec8d0fb6 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/AnyType.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_AnyType__ +#define __gnu_xml_validation_datatype_AnyType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class AnyType; + } + } + } + } +} + +class gnu::xml::validation::datatype::AnyType : public ::gnu::xml::validation::datatype::SimpleType +{ + +public: // actually package-private + AnyType(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_AnyType__ diff --git a/libjava/gnu/xml/validation/datatype/AnyURIType.h b/libjava/gnu/xml/validation/datatype/AnyURIType.h new file mode 100644 index 00000000000..1b5b22544c1 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/AnyURIType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_AnyURIType__ +#define __gnu_xml_validation_datatype_AnyURIType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class AnyURIType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::AnyURIType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + AnyURIType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_AnyURIType__ diff --git a/libjava/gnu/xml/validation/datatype/AtomicSimpleType.h b/libjava/gnu/xml/validation/datatype/AtomicSimpleType.h new file mode 100644 index 00000000000..805e1ae5884 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/AtomicSimpleType.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_AtomicSimpleType__ +#define __gnu_xml_validation_datatype_AtomicSimpleType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class AtomicSimpleType; + class SimpleType; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::AtomicSimpleType : public ::gnu::xml::validation::datatype::SimpleType +{ + +public: + AtomicSimpleType(::javax::xml::namespace::QName *, ::java::util::Set *, jint, ::gnu::xml::validation::datatype::SimpleType *, ::gnu::xml::validation::datatype::Annotation *); +public: // actually package-private + AtomicSimpleType(::javax::xml::namespace::QName *, ::gnu::xml::validation::datatype::SimpleType *); +public: + virtual void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_AtomicSimpleType__ diff --git a/libjava/gnu/xml/validation/datatype/Base64BinaryType.h b/libjava/gnu/xml/validation/datatype/Base64BinaryType.h new file mode 100644 index 00000000000..5aaec9c875b --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/Base64BinaryType.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_Base64BinaryType__ +#define __gnu_xml_validation_datatype_Base64BinaryType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Base64BinaryType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::Base64BinaryType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + Base64BinaryType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static ::java::lang::String * B64; + static ::java::lang::String * B16; + static ::java::lang::String * B04; + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_Base64BinaryType__ diff --git a/libjava/gnu/xml/validation/datatype/BooleanType.h b/libjava/gnu/xml/validation/datatype/BooleanType.h new file mode 100644 index 00000000000..7f63b39c15f --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/BooleanType.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_BooleanType__ +#define __gnu_xml_validation_datatype_BooleanType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class BooleanType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::BooleanType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + BooleanType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::util::Set * VALUE_SPACE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_BooleanType__ diff --git a/libjava/gnu/xml/validation/datatype/ByteType.h b/libjava/gnu/xml/validation/datatype/ByteType.h new file mode 100644 index 00000000000..6b814e94b02 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/ByteType.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_ByteType__ +#define __gnu_xml_validation_datatype_ByteType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class ByteType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::ByteType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + ByteType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static ::java::lang::String * MIN_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_ByteType__ diff --git a/libjava/gnu/xml/validation/datatype/DateTimeType.h b/libjava/gnu/xml/validation/datatype/DateTimeType.h new file mode 100644 index 00000000000..35f83ecd4f4 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/DateTimeType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_DateTimeType__ +#define __gnu_xml_validation_datatype_DateTimeType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class DateTimeType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::DateTimeType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + DateTimeType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_DateTimeType__ diff --git a/libjava/gnu/xml/validation/datatype/DateType.h b/libjava/gnu/xml/validation/datatype/DateType.h new file mode 100644 index 00000000000..bca1354f593 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/DateType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_DateType__ +#define __gnu_xml_validation_datatype_DateType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class DateType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::DateType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + DateType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_DateType__ diff --git a/libjava/gnu/xml/validation/datatype/DecimalType.h b/libjava/gnu/xml/validation/datatype/DecimalType.h new file mode 100644 index 00000000000..4f9b8be07ce --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/DecimalType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_DecimalType__ +#define __gnu_xml_validation_datatype_DecimalType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class DecimalType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::DecimalType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + DecimalType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_DecimalType__ diff --git a/libjava/gnu/xml/validation/datatype/DoubleType.h b/libjava/gnu/xml/validation/datatype/DoubleType.h new file mode 100644 index 00000000000..75bad58f2a2 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/DoubleType.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_DoubleType__ +#define __gnu_xml_validation_datatype_DoubleType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class DoubleType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::DoubleType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + DoubleType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::util::Set * SPECIAL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_DoubleType__ diff --git a/libjava/gnu/xml/validation/datatype/DurationType$Duration.h b/libjava/gnu/xml/validation/datatype/DurationType$Duration.h new file mode 100644 index 00000000000..17216d72d83 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/DurationType$Duration.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_DurationType$Duration__ +#define __gnu_xml_validation_datatype_DurationType$Duration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class DurationType$Duration; + } + } + } + } +} + +class gnu::xml::validation::datatype::DurationType$Duration : public ::java::lang::Object +{ + +public: // actually package-private + DurationType$Duration(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) years; + jint months; + jint days; + jint minutes; + jfloat seconds; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_DurationType$Duration__ diff --git a/libjava/gnu/xml/validation/datatype/DurationType.h b/libjava/gnu/xml/validation/datatype/DurationType.h new file mode 100644 index 00000000000..d6c984de8ac --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/DurationType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_DurationType__ +#define __gnu_xml_validation_datatype_DurationType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class DurationType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::DurationType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + DurationType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_DurationType__ diff --git a/libjava/gnu/xml/validation/datatype/EntitiesType.h b/libjava/gnu/xml/validation/datatype/EntitiesType.h new file mode 100644 index 00000000000..2c1e52343bc --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/EntitiesType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_EntitiesType__ +#define __gnu_xml_validation_datatype_EntitiesType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class EntitiesType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::EntitiesType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + EntitiesType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jboolean isContextDependent(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_EntitiesType__ diff --git a/libjava/gnu/xml/validation/datatype/EntityType.h b/libjava/gnu/xml/validation/datatype/EntityType.h new file mode 100644 index 00000000000..c10bbfc9587 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/EntityType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_EntityType__ +#define __gnu_xml_validation_datatype_EntityType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class EntityType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::EntityType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + EntityType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jboolean isContextDependent(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_EntityType__ diff --git a/libjava/gnu/xml/validation/datatype/EnumerationFacet.h b/libjava/gnu/xml/validation/datatype/EnumerationFacet.h new file mode 100644 index 00000000000..c3bcc2b221b --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/EnumerationFacet.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_EnumerationFacet__ +#define __gnu_xml_validation_datatype_EnumerationFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class EnumerationFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::EnumerationFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + EnumerationFacet(::java::lang::String *, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_EnumerationFacet__ diff --git a/libjava/gnu/xml/validation/datatype/Facet.h b/libjava/gnu/xml/validation/datatype/Facet.h new file mode 100644 index 00000000000..76ebe4ceba7 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/Facet.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_Facet__ +#define __gnu_xml_validation_datatype_Facet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class Facet; + } + } + } + } +} + +class gnu::xml::validation::datatype::Facet : public ::java::lang::Object +{ + +public: // actually protected + Facet(jint, ::gnu::xml::validation::datatype::Annotation *); +public: + static const jint LENGTH = 1; + static const jint MIN_LENGTH = 2; + static const jint MAX_LENGTH = 3; + static const jint PATTERN = 4; + static const jint ENUMERATION = 5; + static const jint WHITESPACE = 6; + static const jint MAX_INCLUSIVE = 7; + static const jint MAX_EXCLUSIVE = 8; + static const jint MIN_EXCLUSIVE = 9; + static const jint MIN_INCLUSIVE = 10; + static const jint TOTAL_DIGITS = 11; + static const jint FRACTION_DIGITS = 12; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::gnu::xml::validation::datatype::Annotation * annotation; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_Facet__ diff --git a/libjava/gnu/xml/validation/datatype/FloatType.h b/libjava/gnu/xml/validation/datatype/FloatType.h new file mode 100644 index 00000000000..af22a2f2758 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/FloatType.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_FloatType__ +#define __gnu_xml_validation_datatype_FloatType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class FloatType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::FloatType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + FloatType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::util::Set * SPECIAL; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_FloatType__ diff --git a/libjava/gnu/xml/validation/datatype/FractionDigitsFacet.h b/libjava/gnu/xml/validation/datatype/FractionDigitsFacet.h new file mode 100644 index 00000000000..9ed33c4c9ce --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/FractionDigitsFacet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_FractionDigitsFacet__ +#define __gnu_xml_validation_datatype_FractionDigitsFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class FractionDigitsFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::FractionDigitsFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + FractionDigitsFacet(jint, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_FractionDigitsFacet__ diff --git a/libjava/gnu/xml/validation/datatype/GDayType$GDay.h b/libjava/gnu/xml/validation/datatype/GDayType$GDay.h new file mode 100644 index 00000000000..29128fc9b64 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GDayType$GDay.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GDayType$GDay__ +#define __gnu_xml_validation_datatype_GDayType$GDay__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GDayType$GDay; + } + } + } + } +} + +class gnu::xml::validation::datatype::GDayType$GDay : public ::java::lang::Object +{ + +public: // actually package-private + GDayType$GDay(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) day; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GDayType$GDay__ diff --git a/libjava/gnu/xml/validation/datatype/GDayType.h b/libjava/gnu/xml/validation/datatype/GDayType.h new file mode 100644 index 00000000000..4e1e3c5a23d --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GDayType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GDayType__ +#define __gnu_xml_validation_datatype_GDayType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GDayType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::GDayType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + GDayType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GDayType__ diff --git a/libjava/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.h b/libjava/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.h new file mode 100644 index 00000000000..d3cb5e00719 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GMonthDayType$GMonthDay.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GMonthDayType$GMonthDay__ +#define __gnu_xml_validation_datatype_GMonthDayType$GMonthDay__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GMonthDayType$GMonthDay; + } + } + } + } +} + +class gnu::xml::validation::datatype::GMonthDayType$GMonthDay : public ::java::lang::Object +{ + +public: // actually package-private + GMonthDayType$GMonthDay(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) month; + jint day; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GMonthDayType$GMonthDay__ diff --git a/libjava/gnu/xml/validation/datatype/GMonthDayType.h b/libjava/gnu/xml/validation/datatype/GMonthDayType.h new file mode 100644 index 00000000000..40f7db1cc7d --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GMonthDayType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GMonthDayType__ +#define __gnu_xml_validation_datatype_GMonthDayType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GMonthDayType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::GMonthDayType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + GMonthDayType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GMonthDayType__ diff --git a/libjava/gnu/xml/validation/datatype/GMonthType$GMonth.h b/libjava/gnu/xml/validation/datatype/GMonthType$GMonth.h new file mode 100644 index 00000000000..af79163e115 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GMonthType$GMonth.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GMonthType$GMonth__ +#define __gnu_xml_validation_datatype_GMonthType$GMonth__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GMonthType$GMonth; + } + } + } + } +} + +class gnu::xml::validation::datatype::GMonthType$GMonth : public ::java::lang::Object +{ + +public: // actually package-private + GMonthType$GMonth(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) month; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GMonthType$GMonth__ diff --git a/libjava/gnu/xml/validation/datatype/GMonthType.h b/libjava/gnu/xml/validation/datatype/GMonthType.h new file mode 100644 index 00000000000..cd1e7f9efcc --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GMonthType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GMonthType__ +#define __gnu_xml_validation_datatype_GMonthType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GMonthType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::GMonthType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + GMonthType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GMonthType__ diff --git a/libjava/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.h b/libjava/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.h new file mode 100644 index 00000000000..8af7484d304 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GYearMonthType$GYearMonth.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GYearMonthType$GYearMonth__ +#define __gnu_xml_validation_datatype_GYearMonthType$GYearMonth__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GYearMonthType$GYearMonth; + } + } + } + } +} + +class gnu::xml::validation::datatype::GYearMonthType$GYearMonth : public ::java::lang::Object +{ + +public: // actually package-private + GYearMonthType$GYearMonth(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) year; + jint month; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GYearMonthType$GYearMonth__ diff --git a/libjava/gnu/xml/validation/datatype/GYearMonthType.h b/libjava/gnu/xml/validation/datatype/GYearMonthType.h new file mode 100644 index 00000000000..eb6d4503199 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GYearMonthType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GYearMonthType__ +#define __gnu_xml_validation_datatype_GYearMonthType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GYearMonthType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::GYearMonthType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + GYearMonthType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GYearMonthType__ diff --git a/libjava/gnu/xml/validation/datatype/GYearType$GYear.h b/libjava/gnu/xml/validation/datatype/GYearType$GYear.h new file mode 100644 index 00000000000..1cadf8bccae --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GYearType$GYear.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GYearType$GYear__ +#define __gnu_xml_validation_datatype_GYearType$GYear__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GYearType$GYear; + } + } + } + } +} + +class gnu::xml::validation::datatype::GYearType$GYear : public ::java::lang::Object +{ + +public: // actually package-private + GYearType$GYear(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) year; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GYearType$GYear__ diff --git a/libjava/gnu/xml/validation/datatype/GYearType.h b/libjava/gnu/xml/validation/datatype/GYearType.h new file mode 100644 index 00000000000..b5c4a768454 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/GYearType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_GYearType__ +#define __gnu_xml_validation_datatype_GYearType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class GYearType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::GYearType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + GYearType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_GYearType__ diff --git a/libjava/gnu/xml/validation/datatype/HexBinaryType.h b/libjava/gnu/xml/validation/datatype/HexBinaryType.h new file mode 100644 index 00000000000..da717bec838 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/HexBinaryType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_HexBinaryType__ +#define __gnu_xml_validation_datatype_HexBinaryType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class HexBinaryType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::HexBinaryType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + HexBinaryType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static ::java::lang::String * HEX; + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_HexBinaryType__ diff --git a/libjava/gnu/xml/validation/datatype/IDRefType.h b/libjava/gnu/xml/validation/datatype/IDRefType.h new file mode 100644 index 00000000000..f61451f480f --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/IDRefType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_IDRefType__ +#define __gnu_xml_validation_datatype_IDRefType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class IDRefType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::IDRefType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + IDRefType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jint getIdType(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_IDRefType__ diff --git a/libjava/gnu/xml/validation/datatype/IDRefsType.h b/libjava/gnu/xml/validation/datatype/IDRefsType.h new file mode 100644 index 00000000000..861602b3069 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/IDRefsType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_IDRefsType__ +#define __gnu_xml_validation_datatype_IDRefsType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class IDRefsType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::IDRefsType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + IDRefsType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jint getIdType(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_IDRefsType__ diff --git a/libjava/gnu/xml/validation/datatype/IDType.h b/libjava/gnu/xml/validation/datatype/IDType.h new file mode 100644 index 00000000000..34184818c07 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/IDType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_IDType__ +#define __gnu_xml_validation_datatype_IDType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class IDType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::IDType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + IDType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jint getIdType(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_IDType__ diff --git a/libjava/gnu/xml/validation/datatype/IntType.h b/libjava/gnu/xml/validation/datatype/IntType.h new file mode 100644 index 00000000000..bb1567f276a --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/IntType.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_IntType__ +#define __gnu_xml_validation_datatype_IntType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class IntType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::IntType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + IntType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static ::java::lang::String * MIN_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_IntType__ diff --git a/libjava/gnu/xml/validation/datatype/IntegerType.h b/libjava/gnu/xml/validation/datatype/IntegerType.h new file mode 100644 index 00000000000..04bb2748609 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/IntegerType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_IntegerType__ +#define __gnu_xml_validation_datatype_IntegerType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class IntegerType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::IntegerType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + IntegerType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_IntegerType__ diff --git a/libjava/gnu/xml/validation/datatype/LanguageType.h b/libjava/gnu/xml/validation/datatype/LanguageType.h new file mode 100644 index 00000000000..9c06c96a4db --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/LanguageType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_LanguageType__ +#define __gnu_xml_validation_datatype_LanguageType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class LanguageType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::LanguageType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + LanguageType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::util::regex::Pattern * PATTERN; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_LanguageType__ diff --git a/libjava/gnu/xml/validation/datatype/LengthFacet.h b/libjava/gnu/xml/validation/datatype/LengthFacet.h new file mode 100644 index 00000000000..5d97f0d9d49 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/LengthFacet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_LengthFacet__ +#define __gnu_xml_validation_datatype_LengthFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class LengthFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::LengthFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + LengthFacet(jint, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_LengthFacet__ diff --git a/libjava/gnu/xml/validation/datatype/ListSimpleType.h b/libjava/gnu/xml/validation/datatype/ListSimpleType.h new file mode 100644 index 00000000000..b8add0fb397 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/ListSimpleType.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_ListSimpleType__ +#define __gnu_xml_validation_datatype_ListSimpleType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class ListSimpleType; + class SimpleType; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::ListSimpleType : public ::gnu::xml::validation::datatype::SimpleType +{ + +public: + ListSimpleType(::javax::xml::namespace::QName *, ::java::util::Set *, jint, ::gnu::xml::validation::datatype::SimpleType *, ::gnu::xml::validation::datatype::Annotation *, ::gnu::xml::validation::datatype::SimpleType *); + virtual void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::gnu::xml::validation::datatype::SimpleType * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::SimpleType)))) itemType; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_ListSimpleType__ diff --git a/libjava/gnu/xml/validation/datatype/LongType.h b/libjava/gnu/xml/validation/datatype/LongType.h new file mode 100644 index 00000000000..34a4c951283 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/LongType.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_LongType__ +#define __gnu_xml_validation_datatype_LongType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class LongType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::LongType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + LongType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static ::java::lang::String * MIN_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_LongType__ diff --git a/libjava/gnu/xml/validation/datatype/MaxExclusiveFacet.h b/libjava/gnu/xml/validation/datatype/MaxExclusiveFacet.h new file mode 100644 index 00000000000..633547259be --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/MaxExclusiveFacet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_MaxExclusiveFacet__ +#define __gnu_xml_validation_datatype_MaxExclusiveFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class MaxExclusiveFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::MaxExclusiveFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + MaxExclusiveFacet(::java::lang::Object *, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + jboolean matches(::java::lang::Object *); +public: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_MaxExclusiveFacet__ diff --git a/libjava/gnu/xml/validation/datatype/MaxInclusiveFacet.h b/libjava/gnu/xml/validation/datatype/MaxInclusiveFacet.h new file mode 100644 index 00000000000..f167e922512 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/MaxInclusiveFacet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_MaxInclusiveFacet__ +#define __gnu_xml_validation_datatype_MaxInclusiveFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class MaxInclusiveFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::MaxInclusiveFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + MaxInclusiveFacet(::java::lang::Object *, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + jboolean matches(::java::lang::Object *); +public: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_MaxInclusiveFacet__ diff --git a/libjava/gnu/xml/validation/datatype/MaxLengthFacet.h b/libjava/gnu/xml/validation/datatype/MaxLengthFacet.h new file mode 100644 index 00000000000..c6e35cd22ba --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/MaxLengthFacet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_MaxLengthFacet__ +#define __gnu_xml_validation_datatype_MaxLengthFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class MaxLengthFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::MaxLengthFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + MaxLengthFacet(jint, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_MaxLengthFacet__ diff --git a/libjava/gnu/xml/validation/datatype/MinExclusiveFacet.h b/libjava/gnu/xml/validation/datatype/MinExclusiveFacet.h new file mode 100644 index 00000000000..5e364675927 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/MinExclusiveFacet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_MinExclusiveFacet__ +#define __gnu_xml_validation_datatype_MinExclusiveFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class MinExclusiveFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::MinExclusiveFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + MinExclusiveFacet(::java::lang::Object *, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + jboolean matches(::java::lang::Object *); +public: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_MinExclusiveFacet__ diff --git a/libjava/gnu/xml/validation/datatype/MinInclusiveFacet.h b/libjava/gnu/xml/validation/datatype/MinInclusiveFacet.h new file mode 100644 index 00000000000..65b614b31f8 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/MinInclusiveFacet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_MinInclusiveFacet__ +#define __gnu_xml_validation_datatype_MinInclusiveFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class MinInclusiveFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::MinInclusiveFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + MinInclusiveFacet(::java::lang::Object *, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + jboolean matches(::java::lang::Object *); +public: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_MinInclusiveFacet__ diff --git a/libjava/gnu/xml/validation/datatype/MinLengthFacet.h b/libjava/gnu/xml/validation/datatype/MinLengthFacet.h new file mode 100644 index 00000000000..57419a3df66 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/MinLengthFacet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_MinLengthFacet__ +#define __gnu_xml_validation_datatype_MinLengthFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class MinLengthFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::MinLengthFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + MinLengthFacet(jint, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_MinLengthFacet__ diff --git a/libjava/gnu/xml/validation/datatype/NCNameType.h b/libjava/gnu/xml/validation/datatype/NCNameType.h new file mode 100644 index 00000000000..61859f0dab1 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NCNameType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NCNameType__ +#define __gnu_xml_validation_datatype_NCNameType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NCNameType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NCNameType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NCNameType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NCNameType__ diff --git a/libjava/gnu/xml/validation/datatype/NMTokenType.h b/libjava/gnu/xml/validation/datatype/NMTokenType.h new file mode 100644 index 00000000000..e6066e45496 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NMTokenType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NMTokenType__ +#define __gnu_xml_validation_datatype_NMTokenType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NMTokenType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NMTokenType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NMTokenType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NMTokenType__ diff --git a/libjava/gnu/xml/validation/datatype/NMTokensType.h b/libjava/gnu/xml/validation/datatype/NMTokensType.h new file mode 100644 index 00000000000..39b376b5850 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NMTokensType.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NMTokensType__ +#define __gnu_xml_validation_datatype_NMTokensType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NMTokensType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NMTokensType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NMTokensType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +private: + void checkNmtoken(::java::lang::String *, jint); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NMTokensType__ diff --git a/libjava/gnu/xml/validation/datatype/NameType.h b/libjava/gnu/xml/validation/datatype/NameType.h new file mode 100644 index 00000000000..b3a0ccfedb1 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NameType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NameType__ +#define __gnu_xml_validation_datatype_NameType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NameType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NameType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NameType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NameType__ diff --git a/libjava/gnu/xml/validation/datatype/NegativeIntegerType.h b/libjava/gnu/xml/validation/datatype/NegativeIntegerType.h new file mode 100644 index 00000000000..9b780494db9 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NegativeIntegerType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NegativeIntegerType__ +#define __gnu_xml_validation_datatype_NegativeIntegerType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NegativeIntegerType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NegativeIntegerType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NegativeIntegerType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NegativeIntegerType__ diff --git a/libjava/gnu/xml/validation/datatype/NonNegativeIntegerType.h b/libjava/gnu/xml/validation/datatype/NonNegativeIntegerType.h new file mode 100644 index 00000000000..06f5d5e110c --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NonNegativeIntegerType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NonNegativeIntegerType__ +#define __gnu_xml_validation_datatype_NonNegativeIntegerType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NonNegativeIntegerType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NonNegativeIntegerType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NonNegativeIntegerType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NonNegativeIntegerType__ diff --git a/libjava/gnu/xml/validation/datatype/NonPositiveIntegerType.h b/libjava/gnu/xml/validation/datatype/NonPositiveIntegerType.h new file mode 100644 index 00000000000..ca41fc3e94b --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NonPositiveIntegerType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NonPositiveIntegerType__ +#define __gnu_xml_validation_datatype_NonPositiveIntegerType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NonPositiveIntegerType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NonPositiveIntegerType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NonPositiveIntegerType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NonPositiveIntegerType__ diff --git a/libjava/gnu/xml/validation/datatype/NormalizedStringType.h b/libjava/gnu/xml/validation/datatype/NormalizedStringType.h new file mode 100644 index 00000000000..d2a41c1cb3c --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NormalizedStringType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NormalizedStringType__ +#define __gnu_xml_validation_datatype_NormalizedStringType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NormalizedStringType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NormalizedStringType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NormalizedStringType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NormalizedStringType__ diff --git a/libjava/gnu/xml/validation/datatype/NotationType.h b/libjava/gnu/xml/validation/datatype/NotationType.h new file mode 100644 index 00000000000..21c597479d3 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/NotationType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_NotationType__ +#define __gnu_xml_validation_datatype_NotationType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class NotationType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::NotationType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + NotationType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jboolean isContextDependent(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_NotationType__ diff --git a/libjava/gnu/xml/validation/datatype/PatternFacet.h b/libjava/gnu/xml/validation/datatype/PatternFacet.h new file mode 100644 index 00000000000..78ea57b1593 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/PatternFacet.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_PatternFacet__ +#define __gnu_xml_validation_datatype_PatternFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class PatternFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::PatternFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + PatternFacet(::java::util::regex::Pattern *, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + ::java::util::regex::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_PatternFacet__ diff --git a/libjava/gnu/xml/validation/datatype/PositiveIntegerType.h b/libjava/gnu/xml/validation/datatype/PositiveIntegerType.h new file mode 100644 index 00000000000..217d0ef02ad --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/PositiveIntegerType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_PositiveIntegerType__ +#define __gnu_xml_validation_datatype_PositiveIntegerType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class PositiveIntegerType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::PositiveIntegerType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + PositiveIntegerType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_PositiveIntegerType__ diff --git a/libjava/gnu/xml/validation/datatype/QNameType.h b/libjava/gnu/xml/validation/datatype/QNameType.h new file mode 100644 index 00000000000..cba07a326e4 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/QNameType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_QNameType__ +#define __gnu_xml_validation_datatype_QNameType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class QNameType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::QNameType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + QNameType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + jboolean isContextDependent(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_QNameType__ diff --git a/libjava/gnu/xml/validation/datatype/ShortType.h b/libjava/gnu/xml/validation/datatype/ShortType.h new file mode 100644 index 00000000000..9c12b820ef4 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/ShortType.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_ShortType__ +#define __gnu_xml_validation_datatype_ShortType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class ShortType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::ShortType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + ShortType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static ::java::lang::String * MIN_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_ShortType__ diff --git a/libjava/gnu/xml/validation/datatype/SimpleType.h b/libjava/gnu/xml/validation/datatype/SimpleType.h new file mode 100644 index 00000000000..fcdaa098c9f --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/SimpleType.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_SimpleType__ +#define __gnu_xml_validation_datatype_SimpleType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class SimpleType; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeStreamingValidator; + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::SimpleType : public ::gnu::xml::validation::datatype::Type +{ + +public: + SimpleType(::javax::xml::namespace::QName *, jint, ::java::util::Set *, jint, ::gnu::xml::validation::datatype::SimpleType *, ::gnu::xml::validation::datatype::Annotation *); + virtual jboolean isValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + virtual void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +private: + static jint countDigits(::java::lang::String *, jboolean); +public: + virtual ::org::relaxng::datatype::DatatypeStreamingValidator * createStreamingValidator(::org::relaxng::datatype::ValidationContext *); + virtual ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + virtual jboolean sameValue(::java::lang::Object *, ::java::lang::Object *); + virtual jint valueHashCode(::java::lang::Object *); + virtual jint getIdType(); + virtual jboolean isContextDependent(); + static const jint ANY = 0; + static const jint ATOMIC = 1; + static const jint LIST = 2; + static const jint UNION = 3; + static const jint ID_TYPE_NULL = 0; + static const jint ID_TYPE_ID = 1; + static const jint ID_TYPE_IDREF = 2; + static const jint ID_TYPE_IDREFS = 3; + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Type)))) variety; + ::java::util::Set * facets; + jint fundamentalFacets; + ::gnu::xml::validation::datatype::SimpleType * baseType; + ::gnu::xml::validation::datatype::Annotation * annotation; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_SimpleType__ diff --git a/libjava/gnu/xml/validation/datatype/StringType.h b/libjava/gnu/xml/validation/datatype/StringType.h new file mode 100644 index 00000000000..1626166985e --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/StringType.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_StringType__ +#define __gnu_xml_validation_datatype_StringType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class StringType; + } + } + } + } +} + +class gnu::xml::validation::datatype::StringType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + StringType(); +public: + JArray< jint > * getConstrainingFacets(); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_StringType__ diff --git a/libjava/gnu/xml/validation/datatype/TimeType$Time.h b/libjava/gnu/xml/validation/datatype/TimeType$Time.h new file mode 100644 index 00000000000..f43d75cf88f --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TimeType$Time.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TimeType$Time__ +#define __gnu_xml_validation_datatype_TimeType$Time__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class TimeType$Time; + } + } + } + } +} + +class gnu::xml::validation::datatype::TimeType$Time : public ::java::lang::Object +{ + +public: // actually package-private + TimeType$Time(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) minutes; + jfloat seconds; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TimeType$Time__ diff --git a/libjava/gnu/xml/validation/datatype/TimeType.h b/libjava/gnu/xml/validation/datatype/TimeType.h new file mode 100644 index 00000000000..8e5f36593f2 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TimeType.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TimeType__ +#define __gnu_xml_validation_datatype_TimeType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class TimeType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::TimeType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + TimeType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TimeType__ diff --git a/libjava/gnu/xml/validation/datatype/TokenType.h b/libjava/gnu/xml/validation/datatype/TokenType.h new file mode 100644 index 00000000000..087611729c5 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TokenType.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TokenType__ +#define __gnu_xml_validation_datatype_TokenType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class TokenType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::TokenType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + TokenType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TokenType__ diff --git a/libjava/gnu/xml/validation/datatype/TotalDigitsFacet.h b/libjava/gnu/xml/validation/datatype/TotalDigitsFacet.h new file mode 100644 index 00000000000..4335a248f78 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TotalDigitsFacet.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TotalDigitsFacet__ +#define __gnu_xml_validation_datatype_TotalDigitsFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class TotalDigitsFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::TotalDigitsFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + TotalDigitsFacet(jint, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TotalDigitsFacet__ diff --git a/libjava/gnu/xml/validation/datatype/Type.h b/libjava/gnu/xml/validation/datatype/Type.h new file mode 100644 index 00000000000..17979387cc5 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/Type.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_Type__ +#define __gnu_xml_validation_datatype_Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Type; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } +} + +class gnu::xml::validation::datatype::Type : public ::java::lang::Object +{ + +public: + Type(::javax::xml::namespace::QName *); + static ::gnu::xml::validation::datatype::Type * ANY_TYPE; + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_Type__ diff --git a/libjava/gnu/xml/validation/datatype/TypeBuilder.h b/libjava/gnu/xml/validation/datatype/TypeBuilder.h new file mode 100644 index 00000000000..05f66faaa1a --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TypeBuilder.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TypeBuilder__ +#define __gnu_xml_validation_datatype_TypeBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class EnumerationFacet; + class FractionDigitsFacet; + class LengthFacet; + class MaxExclusiveFacet; + class MaxInclusiveFacet; + class MaxLengthFacet; + class MinExclusiveFacet; + class MinInclusiveFacet; + class MinLengthFacet; + class PatternFacet; + class SimpleType; + class TotalDigitsFacet; + class TypeBuilder; + class WhiteSpaceFacet; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::TypeBuilder : public ::java::lang::Object +{ + +public: // actually package-private + TypeBuilder(::gnu::xml::validation::datatype::SimpleType *); +public: + virtual void addParameter(::java::lang::String *, ::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + virtual ::gnu::xml::validation::datatype::LengthFacet * parseLengthFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::MinLengthFacet * parseMinLengthFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::MaxLengthFacet * parseMaxLengthFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::PatternFacet * parsePatternFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::EnumerationFacet * parseEnumerationFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::WhiteSpaceFacet * parseWhiteSpaceFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::MaxInclusiveFacet * parseMaxInclusiveFacet(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + virtual ::gnu::xml::validation::datatype::MaxExclusiveFacet * parseMaxExclusiveFacet(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + virtual ::gnu::xml::validation::datatype::MinExclusiveFacet * parseMinExclusiveFacet(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + virtual ::gnu::xml::validation::datatype::MinInclusiveFacet * parseMinInclusiveFacet(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + virtual ::gnu::xml::validation::datatype::TotalDigitsFacet * parseTotalDigitsFacet(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::FractionDigitsFacet * parseFractionDigitsFacet(::java::lang::String *); +public: + virtual ::org::relaxng::datatype::Datatype * createDatatype(); +public: // actually package-private + ::gnu::xml::validation::datatype::SimpleType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TypeBuilder__ diff --git a/libjava/gnu/xml/validation/datatype/TypeLibrary.h b/libjava/gnu/xml/validation/datatype/TypeLibrary.h new file mode 100644 index 00000000000..83aaa463324 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TypeLibrary.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TypeLibrary__ +#define __gnu_xml_validation_datatype_TypeLibrary__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class SimpleType; + class TypeLibrary; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class DatatypeBuilder; + } + } + } +} + +class gnu::xml::validation::datatype::TypeLibrary : public ::java::lang::Object +{ + +public: + TypeLibrary(); + virtual ::org::relaxng::datatype::DatatypeBuilder * createDatatypeBuilder(::java::lang::String *); + virtual ::org::relaxng::datatype::Datatype * createDatatype(::java::lang::String *); + static ::gnu::xml::validation::datatype::SimpleType * ANY_SIMPLE_TYPE; + static ::gnu::xml::validation::datatype::SimpleType * STRING; + static ::gnu::xml::validation::datatype::SimpleType * BOOLEAN; + static ::gnu::xml::validation::datatype::SimpleType * DECIMAL; + static ::gnu::xml::validation::datatype::SimpleType * FLOAT; + static ::gnu::xml::validation::datatype::SimpleType * DOUBLE; + static ::gnu::xml::validation::datatype::SimpleType * DURATION; + static ::gnu::xml::validation::datatype::SimpleType * DATE_TIME; + static ::gnu::xml::validation::datatype::SimpleType * TIME; + static ::gnu::xml::validation::datatype::SimpleType * DATE; + static ::gnu::xml::validation::datatype::SimpleType * G_YEAR_MONTH; + static ::gnu::xml::validation::datatype::SimpleType * G_YEAR; + static ::gnu::xml::validation::datatype::SimpleType * G_MONTH_DAY; + static ::gnu::xml::validation::datatype::SimpleType * G_DAY; + static ::gnu::xml::validation::datatype::SimpleType * G_MONTH; + static ::gnu::xml::validation::datatype::SimpleType * HEX_BINARY; + static ::gnu::xml::validation::datatype::SimpleType * BASE64_BINARY; + static ::gnu::xml::validation::datatype::SimpleType * ANY_URI; + static ::gnu::xml::validation::datatype::SimpleType * QNAME; + static ::gnu::xml::validation::datatype::SimpleType * NOTATION; + static ::gnu::xml::validation::datatype::SimpleType * NORMALIZED_STRING; + static ::gnu::xml::validation::datatype::SimpleType * TOKEN; + static ::gnu::xml::validation::datatype::SimpleType * LANGUAGE; + static ::gnu::xml::validation::datatype::SimpleType * NMTOKEN; + static ::gnu::xml::validation::datatype::SimpleType * NMTOKENS; + static ::gnu::xml::validation::datatype::SimpleType * NAME; + static ::gnu::xml::validation::datatype::SimpleType * NCNAME; + static ::gnu::xml::validation::datatype::SimpleType * ID; + static ::gnu::xml::validation::datatype::SimpleType * IDREF; + static ::gnu::xml::validation::datatype::SimpleType * IDREFS; + static ::gnu::xml::validation::datatype::SimpleType * ENTITY; + static ::gnu::xml::validation::datatype::SimpleType * ENTITIES; + static ::gnu::xml::validation::datatype::SimpleType * INTEGER; + static ::gnu::xml::validation::datatype::SimpleType * NON_POSITIVE_INTEGER; + static ::gnu::xml::validation::datatype::SimpleType * NEGATIVE_INTEGER; + static ::gnu::xml::validation::datatype::SimpleType * LONG; + static ::gnu::xml::validation::datatype::SimpleType * INT; + static ::gnu::xml::validation::datatype::SimpleType * SHORT; + static ::gnu::xml::validation::datatype::SimpleType * BYTE; + static ::gnu::xml::validation::datatype::SimpleType * NON_NEGATIVE_INTEGER; + static ::gnu::xml::validation::datatype::SimpleType * UNSIGNED_LONG; + static ::gnu::xml::validation::datatype::SimpleType * UNSIGNED_INT; + static ::gnu::xml::validation::datatype::SimpleType * UNSIGNED_SHORT; + static ::gnu::xml::validation::datatype::SimpleType * UNSIGNED_BYTE; + static ::gnu::xml::validation::datatype::SimpleType * POSITIVE_INTEGER; +private: + static ::java::util::Map * byName; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TypeLibrary__ diff --git a/libjava/gnu/xml/validation/datatype/TypeLibraryFactory.h b/libjava/gnu/xml/validation/datatype/TypeLibraryFactory.h new file mode 100644 index 00000000000..baeba0030e7 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/TypeLibraryFactory.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_TypeLibraryFactory__ +#define __gnu_xml_validation_datatype_TypeLibraryFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class TypeLibraryFactory; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeLibrary; + } + } + } +} + +class gnu::xml::validation::datatype::TypeLibraryFactory : public ::java::lang::Object +{ + +public: + TypeLibraryFactory(); + virtual ::org::relaxng::datatype::DatatypeLibrary * createDatatypeLibrary(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_TypeLibraryFactory__ diff --git a/libjava/gnu/xml/validation/datatype/UnionSimpleType.h b/libjava/gnu/xml/validation/datatype/UnionSimpleType.h new file mode 100644 index 00000000000..b0b27daaa30 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/UnionSimpleType.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_UnionSimpleType__ +#define __gnu_xml_validation_datatype_UnionSimpleType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class SimpleType; + class UnionSimpleType; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::UnionSimpleType : public ::gnu::xml::validation::datatype::SimpleType +{ + +public: + UnionSimpleType(::javax::xml::namespace::QName *, ::java::util::Set *, jint, ::gnu::xml::validation::datatype::SimpleType *, ::gnu::xml::validation::datatype::Annotation *, ::java::util::List *); + virtual void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::SimpleType)))) memberTypes; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_UnionSimpleType__ diff --git a/libjava/gnu/xml/validation/datatype/UnsignedByteType.h b/libjava/gnu/xml/validation/datatype/UnsignedByteType.h new file mode 100644 index 00000000000..7eb207f5502 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/UnsignedByteType.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_UnsignedByteType__ +#define __gnu_xml_validation_datatype_UnsignedByteType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class UnsignedByteType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::UnsignedByteType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + UnsignedByteType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_UnsignedByteType__ diff --git a/libjava/gnu/xml/validation/datatype/UnsignedIntType.h b/libjava/gnu/xml/validation/datatype/UnsignedIntType.h new file mode 100644 index 00000000000..f338b56ab11 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/UnsignedIntType.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_UnsignedIntType__ +#define __gnu_xml_validation_datatype_UnsignedIntType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class UnsignedIntType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::UnsignedIntType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + UnsignedIntType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_UnsignedIntType__ diff --git a/libjava/gnu/xml/validation/datatype/UnsignedLongType.h b/libjava/gnu/xml/validation/datatype/UnsignedLongType.h new file mode 100644 index 00000000000..bb0c947a433 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/UnsignedLongType.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_UnsignedLongType__ +#define __gnu_xml_validation_datatype_UnsignedLongType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class UnsignedLongType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::UnsignedLongType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + UnsignedLongType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_UnsignedLongType__ diff --git a/libjava/gnu/xml/validation/datatype/UnsignedShortType.h b/libjava/gnu/xml/validation/datatype/UnsignedShortType.h new file mode 100644 index 00000000000..99eb7cc2946 --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/UnsignedShortType.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_UnsignedShortType__ +#define __gnu_xml_validation_datatype_UnsignedShortType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class UnsignedShortType; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class gnu::xml::validation::datatype::UnsignedShortType : public ::gnu::xml::validation::datatype::AtomicSimpleType +{ + +public: // actually package-private + UnsignedShortType(); +public: + JArray< jint > * getConstrainingFacets(); + void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); +public: // actually package-private + static JArray< jint > * CONSTRAINING_FACETS; + static ::java::lang::String * MAX_VALUE; + static jint LENGTH; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_UnsignedShortType__ diff --git a/libjava/gnu/xml/validation/datatype/WhiteSpaceFacet.h b/libjava/gnu/xml/validation/datatype/WhiteSpaceFacet.h new file mode 100644 index 00000000000..3cc38a6361c --- /dev/null +++ b/libjava/gnu/xml/validation/datatype/WhiteSpaceFacet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_datatype_WhiteSpaceFacet__ +#define __gnu_xml_validation_datatype_WhiteSpaceFacet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class WhiteSpaceFacet; + } + } + } + } +} + +class gnu::xml::validation::datatype::WhiteSpaceFacet : public ::gnu::xml::validation::datatype::Facet +{ + +public: + WhiteSpaceFacet(jint, jboolean, ::gnu::xml::validation::datatype::Annotation *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static const jint PRESERVE = 0; + static const jint REPLACE = 1; + static const jint COLLAPSE = 2; + jint __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Facet)))) value; + jboolean fixed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_datatype_WhiteSpaceFacet__ diff --git a/libjava/gnu/xml/validation/relaxng/AnyNameNameClass.h b/libjava/gnu/xml/validation/relaxng/AnyNameNameClass.h new file mode 100644 index 00000000000..312a48fcdc8 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/AnyNameNameClass.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_AnyNameNameClass__ +#define __gnu_xml_validation_relaxng_AnyNameNameClass__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class AnyNameNameClass; + class NameClass; + } + } + } + } +} + +class gnu::xml::validation::relaxng::AnyNameNameClass : public ::gnu::xml::validation::relaxng::NameClass +{ + +public: // actually package-private + AnyNameNameClass(); + virtual jboolean matchesName(::java::lang::String *, ::java::lang::String *); + ::gnu::xml::validation::relaxng::NameClass * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::NameClass)))) exceptNameClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_AnyNameNameClass__ diff --git a/libjava/gnu/xml/validation/relaxng/AttributePattern.h b/libjava/gnu/xml/validation/relaxng/AttributePattern.h new file mode 100644 index 00000000000..42b38013a3e --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/AttributePattern.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_AttributePattern__ +#define __gnu_xml_validation_relaxng_AttributePattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class AttributePattern; + class NameClass; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::AttributePattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + AttributePattern(); + ::gnu::xml::validation::relaxng::NameClass * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) nameClass; + ::gnu::xml::validation::relaxng::Pattern * pattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_AttributePattern__ diff --git a/libjava/gnu/xml/validation/relaxng/ChoiceNameClass.h b/libjava/gnu/xml/validation/relaxng/ChoiceNameClass.h new file mode 100644 index 00000000000..dc827563106 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/ChoiceNameClass.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_ChoiceNameClass__ +#define __gnu_xml_validation_relaxng_ChoiceNameClass__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class ChoiceNameClass; + class NameClass; + } + } + } + } +} + +class gnu::xml::validation::relaxng::ChoiceNameClass : public ::gnu::xml::validation::relaxng::NameClass +{ + +public: // actually package-private + ChoiceNameClass(); + virtual jboolean matchesName(::java::lang::String *, ::java::lang::String *); + ::gnu::xml::validation::relaxng::NameClass * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::NameClass)))) name1; + ::gnu::xml::validation::relaxng::NameClass * name2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_ChoiceNameClass__ diff --git a/libjava/gnu/xml/validation/relaxng/ChoicePattern.h b/libjava/gnu/xml/validation/relaxng/ChoicePattern.h new file mode 100644 index 00000000000..85c4a2f7981 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/ChoicePattern.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_ChoicePattern__ +#define __gnu_xml_validation_relaxng_ChoicePattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class ChoicePattern; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::ChoicePattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + ChoicePattern(); + ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) pattern1; + ::gnu::xml::validation::relaxng::Pattern * pattern2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_ChoicePattern__ diff --git a/libjava/gnu/xml/validation/relaxng/DataPattern.h b/libjava/gnu/xml/validation/relaxng/DataPattern.h new file mode 100644 index 00000000000..00bb5b55285 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/DataPattern.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_DataPattern__ +#define __gnu_xml_validation_relaxng_DataPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class DataPattern; + class Pattern; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class DatatypeLibrary; + } + } + } +} + +class gnu::xml::validation::relaxng::DataPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + DataPattern(); + ::org::relaxng::datatype::Datatype * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) type; + ::org::relaxng::datatype::DatatypeLibrary * datatypeLibrary; + ::java::util::List * params; + ::gnu::xml::validation::relaxng::Pattern * exceptPattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_DataPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/Define.h b/libjava/gnu/xml/validation/relaxng/Define.h new file mode 100644 index 00000000000..85fa679014b --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/Define.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_Define__ +#define __gnu_xml_validation_relaxng_Define__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class Define; + class ElementPattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::Define : public ::java::lang::Object +{ + +public: // actually package-private + Define(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::gnu::xml::validation::relaxng::ElementPattern * element; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_Define__ diff --git a/libjava/gnu/xml/validation/relaxng/ElementPattern.h b/libjava/gnu/xml/validation/relaxng/ElementPattern.h new file mode 100644 index 00000000000..844132ff1c4 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/ElementPattern.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_ElementPattern__ +#define __gnu_xml_validation_relaxng_ElementPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class ElementPattern; + class NameClass; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::ElementPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + ElementPattern(); + ::gnu::xml::validation::relaxng::NameClass * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) nameClass; + ::gnu::xml::validation::relaxng::Pattern * pattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_ElementPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/EmptyPattern.h b/libjava/gnu/xml/validation/relaxng/EmptyPattern.h new file mode 100644 index 00000000000..ecd499be1da --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/EmptyPattern.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_EmptyPattern__ +#define __gnu_xml_validation_relaxng_EmptyPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class EmptyPattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::EmptyPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + EmptyPattern(); + static ::gnu::xml::validation::relaxng::EmptyPattern * INSTANCE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_EmptyPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/FullSyntaxBuilder.h b/libjava/gnu/xml/validation/relaxng/FullSyntaxBuilder.h new file mode 100644 index 00000000000..bf53fba0542 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/FullSyntaxBuilder.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_FullSyntaxBuilder__ +#define __gnu_xml_validation_relaxng_FullSyntaxBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class AnyNameNameClass; + class AttributePattern; + class ChoiceNameClass; + class ChoicePattern; + class DataPattern; + class Define; + class ElementPattern; + class EmptyPattern; + class FullSyntaxBuilder; + class Grammar; + class GroupPattern; + class InterleavePattern; + class ListPattern; + class NSNameNameClass; + class NameClass; + class NameNameClass; + class NotAllowedPattern; + class OneOrMorePattern; + class Param; + class Pattern; + class RefPattern; + class TextPattern; + class ValuePattern; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeLibrary; + } + } + namespace w3c + { + namespace dom + { + class Document; + class Element; + class Node; + } + } + } +} + +class gnu::xml::validation::relaxng::FullSyntaxBuilder : public ::java::lang::Object +{ + +public: // actually package-private + FullSyntaxBuilder(); + virtual ::gnu::xml::validation::relaxng::Grammar * parse(::org::w3c::dom::Document *); +private: + void getDefines(::java::util::Set *, ::org::w3c::dom::Element *, ::org::w3c::dom::Element *, jboolean); + void getElements(::java::util::Set *, ::org::w3c::dom::Element *, ::org::w3c::dom::Element *); + void expandRefs(::java::util::Set *, ::org::w3c::dom::Element *); + void forbidRefs(::org::w3c::dom::Element *, ::java::lang::String *); + void transform(::org::w3c::dom::Node *); + void transformGrammar(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + void handleRefs(::org::w3c::dom::Node *, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + ::java::lang::String * createRefName(); + void transform2(::org::w3c::dom::Node *); + static jboolean isWhitespace(::java::lang::String *); + static ::java::lang::String * escapeURL(::java::lang::String *); + static ::org::w3c::dom::Element * resolve(::java::lang::String *); + ::java::util::List * getComponents(::org::w3c::dom::Node *); + static void transformToOneChildElement(::org::w3c::dom::Node *, ::java::lang::String *); + static ::org::w3c::dom::Element * getFirstChildElement(::org::w3c::dom::Node *); + static ::org::w3c::dom::Element * getNextSiblingElement(::org::w3c::dom::Node *); + static void forbidDescendants(::org::w3c::dom::Node *, ::java::util::Set *); + static jboolean isDescendantOfFirstChildOfAttribute(::org::w3c::dom::Node *); + static void combineNodes(::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *, ::java::util::List *); +public: // actually package-private + virtual ::gnu::xml::validation::relaxng::Grammar * parseGrammar(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::Define * parseDefine(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::Pattern * parseTop(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::Pattern * parsePattern(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::Pattern * parseNonEmptyPattern(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::ElementPattern * parseElement(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::NotAllowedPattern * parseNotAllowed(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::EmptyPattern * parseEmpty(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::TextPattern * parseText(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::DataPattern * parseData(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::Param * parseParam(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::ValuePattern * parseValue(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::ListPattern * parseList(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::AttributePattern * parseAttribute(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::RefPattern * parseRef(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::OneOrMorePattern * parseOneOrMore(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::ChoicePattern * parseChoice(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::GroupPattern * parseGroup(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::InterleavePattern * parseInterleave(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::NameClass * parseNameClass(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::AnyNameNameClass * parseAnyName(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::NameNameClass * parseName(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::NSNameNameClass * parseNsName(::org::w3c::dom::Element *); + virtual ::gnu::xml::validation::relaxng::ChoiceNameClass * parseChoiceNameClass(::org::w3c::dom::Element *); + virtual void checkName(::org::w3c::dom::Element *, ::java::lang::String *); + virtual ::org::relaxng::datatype::DatatypeLibrary * getDatatypeLibrary(::java::lang::String *); + static ::java::util::Map * VOCABULARY; + static ::java::util::Set * STRIPPED_ATTRIBUTES; + static ::java::util::Set * PATTERN_ELEMENTS; +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) urls; + jint refCount; + ::java::util::Map * datatypeLibraries; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_FullSyntaxBuilder__ diff --git a/libjava/gnu/xml/validation/relaxng/Grammar.h b/libjava/gnu/xml/validation/relaxng/Grammar.h new file mode 100644 index 00000000000..a813efcc8a3 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/Grammar.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_Grammar__ +#define __gnu_xml_validation_relaxng_Grammar__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class Grammar; + class Pattern; + } + } + } + } + namespace javax + { + namespace xml + { + namespace validation + { + class Validator; + class ValidatorHandler; + } + } + } +} + +class gnu::xml::validation::relaxng::Grammar : public ::javax::xml::validation::Schema +{ + +public: // actually package-private + Grammar(); +public: + virtual ::javax::xml::validation::Validator * newValidator(); + virtual ::javax::xml::validation::ValidatorHandler * newValidatorHandler(); +public: // actually package-private + ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::javax::xml::validation::Schema)))) start; + ::java::util::List * defines; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_Grammar__ diff --git a/libjava/gnu/xml/validation/relaxng/GrammarException.h b/libjava/gnu/xml/validation/relaxng/GrammarException.h new file mode 100644 index 00000000000..45ddffec984 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/GrammarException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_GrammarException__ +#define __gnu_xml_validation_relaxng_GrammarException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class GrammarException; + } + } + } + } +} + +class gnu::xml::validation::relaxng::GrammarException : public ::java::io::IOException +{ + +public: // actually package-private + GrammarException(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_GrammarException__ diff --git a/libjava/gnu/xml/validation/relaxng/GrammarValidator.h b/libjava/gnu/xml/validation/relaxng/GrammarValidator.h new file mode 100644 index 00000000000..37b0d017096 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/GrammarValidator.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_GrammarValidator__ +#define __gnu_xml_validation_relaxng_GrammarValidator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class Grammar; + class GrammarValidator; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Source; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class ErrorHandler; + } + } + } +} + +class gnu::xml::validation::relaxng::GrammarValidator : public ::javax::xml::validation::Validator +{ + +public: // actually package-private + GrammarValidator(::gnu::xml::validation::relaxng::Grammar *); +public: + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver(); + virtual void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *); + virtual void reset(); + virtual void validate(::javax::xml::transform::Source *, ::javax::xml::transform::Result *); +public: // actually package-private + ::gnu::xml::validation::relaxng::Grammar * __attribute__((aligned(__alignof__( ::javax::xml::validation::Validator)))) grammar; + ::org::xml::sax::ErrorHandler * errorHandler; + ::org::w3c::dom::ls::LSResourceResolver * resourceResolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_GrammarValidator__ diff --git a/libjava/gnu/xml/validation/relaxng/GroupPattern.h b/libjava/gnu/xml/validation/relaxng/GroupPattern.h new file mode 100644 index 00000000000..bd52ac7b375 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/GroupPattern.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_GroupPattern__ +#define __gnu_xml_validation_relaxng_GroupPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class GroupPattern; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::GroupPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + GroupPattern(); + ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) pattern1; + ::gnu::xml::validation::relaxng::Pattern * pattern2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_GroupPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/InterleavePattern.h b/libjava/gnu/xml/validation/relaxng/InterleavePattern.h new file mode 100644 index 00000000000..02716e88570 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/InterleavePattern.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_InterleavePattern__ +#define __gnu_xml_validation_relaxng_InterleavePattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class InterleavePattern; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::InterleavePattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + InterleavePattern(); + ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) pattern1; + ::gnu::xml::validation::relaxng::Pattern * pattern2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_InterleavePattern__ diff --git a/libjava/gnu/xml/validation/relaxng/ListPattern.h b/libjava/gnu/xml/validation/relaxng/ListPattern.h new file mode 100644 index 00000000000..78351cfb144 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/ListPattern.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_ListPattern__ +#define __gnu_xml_validation_relaxng_ListPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class ListPattern; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::ListPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + ListPattern(); + ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) pattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_ListPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/NSNameNameClass.h b/libjava/gnu/xml/validation/relaxng/NSNameNameClass.h new file mode 100644 index 00000000000..8fcdb4f42aa --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/NSNameNameClass.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_NSNameNameClass__ +#define __gnu_xml_validation_relaxng_NSNameNameClass__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class NSNameNameClass; + class NameClass; + } + } + } + } +} + +class gnu::xml::validation::relaxng::NSNameNameClass : public ::gnu::xml::validation::relaxng::NameClass +{ + +public: // actually package-private + NSNameNameClass(); + virtual jboolean matchesName(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::NameClass)))) ns; + ::gnu::xml::validation::relaxng::NameClass * exceptNameClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_NSNameNameClass__ diff --git a/libjava/gnu/xml/validation/relaxng/NameClass.h b/libjava/gnu/xml/validation/relaxng/NameClass.h new file mode 100644 index 00000000000..ffa1dfb7512 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/NameClass.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_NameClass__ +#define __gnu_xml_validation_relaxng_NameClass__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class NameClass; + } + } + } + } +} + +class gnu::xml::validation::relaxng::NameClass : public ::java::lang::Object +{ + +public: // actually package-private + NameClass(); + virtual jboolean matchesName(::java::lang::String *, ::java::lang::String *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_NameClass__ diff --git a/libjava/gnu/xml/validation/relaxng/NameNameClass.h b/libjava/gnu/xml/validation/relaxng/NameNameClass.h new file mode 100644 index 00000000000..334bf94af05 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/NameNameClass.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_NameNameClass__ +#define __gnu_xml_validation_relaxng_NameNameClass__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class NameNameClass; + } + } + } + } +} + +class gnu::xml::validation::relaxng::NameNameClass : public ::gnu::xml::validation::relaxng::NameClass +{ + +public: // actually package-private + NameNameClass(); + virtual jboolean matchesName(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::NameClass)))) ns; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_NameNameClass__ diff --git a/libjava/gnu/xml/validation/relaxng/NotAllowedPattern.h b/libjava/gnu/xml/validation/relaxng/NotAllowedPattern.h new file mode 100644 index 00000000000..a65d11b2323 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/NotAllowedPattern.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_NotAllowedPattern__ +#define __gnu_xml_validation_relaxng_NotAllowedPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class NotAllowedPattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::NotAllowedPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + NotAllowedPattern(); + static ::gnu::xml::validation::relaxng::NotAllowedPattern * INSTANCE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_NotAllowedPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/OneOrMorePattern.h b/libjava/gnu/xml/validation/relaxng/OneOrMorePattern.h new file mode 100644 index 00000000000..d59682bfafb --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/OneOrMorePattern.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_OneOrMorePattern__ +#define __gnu_xml_validation_relaxng_OneOrMorePattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class OneOrMorePattern; + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::OneOrMorePattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + OneOrMorePattern(); + ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) pattern; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_OneOrMorePattern__ diff --git a/libjava/gnu/xml/validation/relaxng/Param.h b/libjava/gnu/xml/validation/relaxng/Param.h new file mode 100644 index 00000000000..16241747b62 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/Param.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_Param__ +#define __gnu_xml_validation_relaxng_Param__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class Param; + } + } + } + } +} + +class gnu::xml::validation::relaxng::Param : public ::java::lang::Object +{ + +public: // actually package-private + Param(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_Param__ diff --git a/libjava/gnu/xml/validation/relaxng/Pattern.h b/libjava/gnu/xml/validation/relaxng/Pattern.h new file mode 100644 index 00000000000..fd0f6d65e2c --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/Pattern.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_Pattern__ +#define __gnu_xml_validation_relaxng_Pattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class Pattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::Pattern : public ::java::lang::Object +{ + +public: // actually package-private + Pattern(); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_Pattern__ diff --git a/libjava/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.h b/libjava/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.h new file mode 100644 index 00000000000..65a8c0a0461 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_RELAXNGSchemaFactory__ +#define __gnu_xml_validation_relaxng_RELAXNGSchemaFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class RELAXNGSchemaFactory; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + } + namespace validation + { + class Schema; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class ErrorHandler; + } + } + } +} + +class gnu::xml::validation::relaxng::RELAXNGSchemaFactory : public ::javax::xml::validation::SchemaFactory +{ + +public: + RELAXNGSchemaFactory(); + virtual ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver(); + virtual void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual jboolean isSchemaLanguageSupported(::java::lang::String *); + virtual ::javax::xml::validation::Schema * newSchema(); + virtual ::javax::xml::validation::Schema * newSchema(JArray< ::javax::xml::transform::Source * > *); +private: + static ::org::w3c::dom::Document * getDocument(::javax::xml::transform::Source *); +public: // actually package-private + ::org::w3c::dom::ls::LSResourceResolver * __attribute__((aligned(__alignof__( ::javax::xml::validation::SchemaFactory)))) resourceResolver; + ::org::xml::sax::ErrorHandler * errorHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_RELAXNGSchemaFactory__ diff --git a/libjava/gnu/xml/validation/relaxng/RefPattern.h b/libjava/gnu/xml/validation/relaxng/RefPattern.h new file mode 100644 index 00000000000..73728689fb8 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/RefPattern.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_RefPattern__ +#define __gnu_xml_validation_relaxng_RefPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class RefPattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::RefPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + RefPattern(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_RefPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/TextPattern.h b/libjava/gnu/xml/validation/relaxng/TextPattern.h new file mode 100644 index 00000000000..b687c0723b7 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/TextPattern.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_TextPattern__ +#define __gnu_xml_validation_relaxng_TextPattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class TextPattern; + } + } + } + } +} + +class gnu::xml::validation::relaxng::TextPattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + TextPattern(); + static ::gnu::xml::validation::relaxng::TextPattern * INSTANCE; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_TextPattern__ diff --git a/libjava/gnu/xml/validation/relaxng/ValuePattern.h b/libjava/gnu/xml/validation/relaxng/ValuePattern.h new file mode 100644 index 00000000000..b1f69f67488 --- /dev/null +++ b/libjava/gnu/xml/validation/relaxng/ValuePattern.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_relaxng_ValuePattern__ +#define __gnu_xml_validation_relaxng_ValuePattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace relaxng + { + class ValuePattern; + } + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class DatatypeLibrary; + } + } + } +} + +class gnu::xml::validation::relaxng::ValuePattern : public ::gnu::xml::validation::relaxng::Pattern +{ + +public: // actually package-private + ValuePattern(); + ::org::relaxng::datatype::DatatypeLibrary * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) datatypeLibrary; + ::org::relaxng::datatype::Datatype * type; + ::java::lang::String * ns; + ::java::lang::String * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_relaxng_ValuePattern__ diff --git a/libjava/gnu/xml/validation/xmlschema/AnyAttribute.h b/libjava/gnu/xml/validation/xmlschema/AnyAttribute.h new file mode 100644 index 00000000000..10561967e85 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/AnyAttribute.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_AnyAttribute__ +#define __gnu_xml_validation_xmlschema_AnyAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + } + namespace xmlschema + { + class AnyAttribute; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::AnyAttribute : public ::java::lang::Object +{ + +public: // actually package-private + AnyAttribute(::java::lang::String *, jint); + static const jint STRICT = 0; + static const jint LAX = 1; + static const jint SKIP = 2; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) namespace$; + jint processContents; + ::gnu::xml::validation::datatype::Annotation * annotation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_AnyAttribute__ diff --git a/libjava/gnu/xml/validation/xmlschema/AttributeDeclaration.h b/libjava/gnu/xml/validation/xmlschema/AttributeDeclaration.h new file mode 100644 index 00000000000..4465791c0a8 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/AttributeDeclaration.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_AttributeDeclaration__ +#define __gnu_xml_validation_xmlschema_AttributeDeclaration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class SimpleType; + } + namespace xmlschema + { + class AttributeDeclaration; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } +} + +class gnu::xml::validation::xmlschema::AttributeDeclaration : public ::java::lang::Object +{ + +public: // actually package-private + AttributeDeclaration(jboolean, jint, ::java::lang::String *, ::javax::xml::namespace::QName *, ::gnu::xml::validation::datatype::SimpleType *, ::gnu::xml::validation::datatype::Annotation *); + static const jint NONE = 0; + static const jint DEFAULT = 1; + static const jint FIXED = 2; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) scope; + jint type; + ::java::lang::String * value; + ::javax::xml::namespace::QName * name; + ::gnu::xml::validation::datatype::SimpleType * datatype; + ::gnu::xml::validation::datatype::Annotation * annotation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_AttributeDeclaration__ diff --git a/libjava/gnu/xml/validation/xmlschema/AttributeUse.h b/libjava/gnu/xml/validation/xmlschema/AttributeUse.h new file mode 100644 index 00000000000..b5c008f57d7 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/AttributeUse.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_AttributeUse__ +#define __gnu_xml_validation_xmlschema_AttributeUse__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class AttributeDeclaration; + class AttributeUse; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::AttributeUse : public ::java::lang::Object +{ + +public: // actually package-private + AttributeUse(jboolean, jint, ::java::lang::String *, ::gnu::xml::validation::xmlschema::AttributeDeclaration *); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) required; + jint type; + ::java::lang::String * value; + ::gnu::xml::validation::xmlschema::AttributeDeclaration * declaration; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_AttributeUse__ diff --git a/libjava/gnu/xml/validation/xmlschema/ComplexType.h b/libjava/gnu/xml/validation/xmlschema/ComplexType.h new file mode 100644 index 00000000000..189a0757c79 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/ComplexType.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_ComplexType__ +#define __gnu_xml_validation_xmlschema_ComplexType__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class AnyAttribute; + class ComplexType; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } +} + +class gnu::xml::validation::xmlschema::ComplexType : public ::gnu::xml::validation::datatype::Type +{ + +public: // actually package-private + ComplexType(::javax::xml::namespace::QName *, jboolean, jint, jint); + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::validation::datatype::Type)))) baseType; + jint derivationMethod; + jint finality; + jboolean isAbstract; + ::java::util::Set * attributeUses; + ::gnu::xml::validation::xmlschema::AnyAttribute * attributeWildcard; + jint contentType; + ::java::lang::Object * contentModel; + jint prohibitedSubstitutions; + ::java::util::Set * annotations; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_ComplexType__ diff --git a/libjava/gnu/xml/validation/xmlschema/ElementDeclaration.h b/libjava/gnu/xml/validation/xmlschema/ElementDeclaration.h new file mode 100644 index 00000000000..0233bfc095a --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/ElementDeclaration.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_ElementDeclaration__ +#define __gnu_xml_validation_xmlschema_ElementDeclaration__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class Type; + } + namespace xmlschema + { + class ElementDeclaration; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } +} + +class gnu::xml::validation::xmlschema::ElementDeclaration : public ::java::lang::Object +{ + +public: // actually package-private + ElementDeclaration(::javax::xml::namespace::QName *, ::gnu::xml::validation::datatype::Type *, jint, ::gnu::xml::validation::xmlschema::ElementDeclaration *, jint, ::java::lang::String *, jboolean, ::javax::xml::namespace::QName *, jint, jint, jboolean); + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::gnu::xml::validation::datatype::Type * datatype; + jint scope; + ::gnu::xml::validation::xmlschema::ElementDeclaration * parent; + jint type; + ::java::lang::String * value; + jboolean nillable; + ::javax::xml::namespace::QName * substitutionGroup; + jint substitutionGroupExclusions; + jint disallowedSubstitutions; + jboolean isAbstract; + ::gnu::xml::validation::datatype::Annotation * annotation; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_ElementDeclaration__ diff --git a/libjava/gnu/xml/validation/xmlschema/Particle.h b/libjava/gnu/xml/validation/xmlschema/Particle.h new file mode 100644 index 00000000000..c8228ba1c86 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/Particle.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_Particle__ +#define __gnu_xml_validation_xmlschema_Particle__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class Particle; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::Particle : public ::java::lang::Object +{ + +public: // actually package-private + Particle(::java::lang::Integer *, ::java::lang::Integer *, ::java::lang::Object *); + ::java::lang::Integer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) minOccurs; + ::java::lang::Integer * maxOccurs; + ::java::lang::Object * term; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_Particle__ diff --git a/libjava/gnu/xml/validation/xmlschema/ValidationException.h b/libjava/gnu/xml/validation/xmlschema/ValidationException.h new file mode 100644 index 00000000000..cdea811e7fc --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/ValidationException.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_ValidationException__ +#define __gnu_xml_validation_xmlschema_ValidationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class ValidationException; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Locator; + } + } + } +} + +class gnu::xml::validation::xmlschema::ValidationException : public ::org::xml::sax::SAXParseException +{ + +public: // actually package-private + ValidationException(::java::lang::String *, ::org::xml::sax::Locator *); +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_ValidationException__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchema.h b/libjava/gnu/xml/validation/xmlschema/XMLSchema.h new file mode 100644 index 00000000000..4fec76fe9a8 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchema.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchema__ +#define __gnu_xml_validation_xmlschema_XMLSchema__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class XMLSchema; + } + } + } + } + namespace javax + { + namespace xml + { + namespace validation + { + class Validator; + class ValidatorHandler; + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchema : public ::javax::xml::validation::Schema +{ + +public: // actually package-private + XMLSchema(::java::lang::String *, ::java::lang::String *, jint, jint, jboolean, jboolean); +public: + ::javax::xml::validation::Validator * newValidator(); + ::javax::xml::validation::ValidatorHandler * newValidatorHandler(); +public: // actually package-private + static const jint FINAL_NONE = 0; + static const jint FINAL_EXTENSION = 1; + static const jint FINAL_RESTRICTION = 2; + static const jint FINAL_LIST = 4; + static const jint FINAL_UNION = 8; + static const jint FINAL_ALL = 15; + static const jint BLOCK_NONE = 0; + static const jint BLOCK_EXTENSION = 1; + static const jint BLOCK_RESTRICTION = 2; + static const jint BLOCK_SUBSTITUTION = 4; + static const jint BLOCK_ALL = 7; + static const jint GLOBAL = 0; + static const jint LOCAL = 1; + static const jint ABSENT = 2; + static const jint CONSTRAINT_NONE = 0; + static const jint CONSTRAINT_DEFAULT = 1; + static const jint CONSTRAINT_FIXED = 2; + static const jint CONTENT_EMPTY = 0; + static const jint CONTENT_SIMPLE = 1; + static const jint CONTENT_MIXED = 2; + static const jint CONTENT_ELEMENT_ONLY = 3; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::xml::validation::Schema)))) targetNamespace; + ::java::lang::String * version; + jint finalDefault; + jint blockDefault; + jboolean attributeFormQualified; + jboolean elementFormQualified; + ::java::util::Map * elementDeclarations; + ::java::util::Map * attributeDeclarations; + ::java::util::Map * types; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchema__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.h new file mode 100644 index 00000000000..465720c46fc --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaAttributeTypeInfo__ +#define __gnu_xml_validation_xmlschema_XMLSchemaAttributeTypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class SimpleType; + } + namespace xmlschema + { + class AttributeDeclaration; + class XMLSchema; + class XMLSchemaAttributeTypeInfo; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaAttributeTypeInfo : public ::gnu::xml::validation::xmlschema::XMLSchemaTypeInfo +{ + +public: // actually package-private + XMLSchemaAttributeTypeInfo(::gnu::xml::validation::xmlschema::XMLSchema *, ::gnu::xml::validation::xmlschema::AttributeDeclaration *, jboolean); +public: + ::java::lang::String * getTypeName(); + ::java::lang::String * getTypeNamespace(); + jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint); +public: // actually package-private + ::gnu::xml::validation::xmlschema::XMLSchema * __attribute__((aligned(__alignof__( ::gnu::xml::validation::xmlschema::XMLSchemaTypeInfo)))) schema; + ::gnu::xml::validation::xmlschema::AttributeDeclaration * decl; + ::gnu::xml::validation::datatype::SimpleType * type; + jboolean id; + jboolean specified; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaAttributeTypeInfo__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaBuilder.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaBuilder.h new file mode 100644 index 00000000000..2d208afd61f --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaBuilder.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaBuilder__ +#define __gnu_xml_validation_xmlschema_XMLSchemaBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Annotation; + class SimpleType; + class Type; + } + namespace xmlschema + { + class AnyAttribute; + class ComplexType; + class ElementDeclaration; + class XMLSchema; + class XMLSchemaBuilder; + } + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeLibrary; + } + } + namespace w3c + { + namespace dom + { + class NamedNodeMap; + class Node; + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaBuilder : public ::java::lang::Object +{ + +public: // actually package-private + XMLSchemaBuilder(); + virtual void parseSchema(::org::w3c::dom::Node *); + virtual void parseTopLevelElement(::org::w3c::dom::Node *); + virtual ::java::lang::Object * parseAttribute(::org::w3c::dom::Node *, jboolean); + virtual jint parseFullDerivationSet(::java::lang::String *); + virtual jint parseSimpleTypeDerivationSet(::java::lang::String *); + virtual jint parseComplexTypeDerivationSet(::java::lang::String *); + virtual jint parseBlockSet(::java::lang::String *); + virtual jint parseComplexTypeBlockSet(::java::lang::String *); + virtual ::java::lang::Object * parseElement(::org::w3c::dom::Node *, ::gnu::xml::validation::xmlschema::ElementDeclaration *); + virtual ::java::lang::Integer * getOccurrence(::java::lang::String *); + virtual ::gnu::xml::validation::datatype::SimpleType * parseSimpleType(::javax::xml::namespace::QName *); + virtual ::gnu::xml::validation::datatype::SimpleType * parseSimpleType(::org::w3c::dom::Node *); + virtual ::gnu::xml::validation::datatype::Type * parseComplexType(::org::w3c::dom::Node *, ::gnu::xml::validation::xmlschema::ElementDeclaration *); + virtual void parseSimpleContent(::org::w3c::dom::Node *, ::gnu::xml::validation::xmlschema::ComplexType *); + virtual void parseRestriction(::org::w3c::dom::Node *, ::gnu::xml::validation::xmlschema::ComplexType *); + virtual void parseExtension(::org::w3c::dom::Node *, ::gnu::xml::validation::xmlschema::ComplexType *); + virtual ::gnu::xml::validation::xmlschema::AnyAttribute * parseAnyAttribute(::org::w3c::dom::Node *); + virtual ::gnu::xml::validation::datatype::Annotation * parseAnnotation(::org::w3c::dom::Node *); +private: + static ::java::lang::String * getAttribute(::org::w3c::dom::NamedNodeMap *, ::java::lang::String *); + static ::javax::xml::namespace::QName * asQName(::java::lang::String *, ::org::w3c::dom::Node *); +public: // actually package-private + ::gnu::xml::validation::xmlschema::XMLSchema * __attribute__((aligned(__alignof__( ::java::lang::Object)))) schema; + ::org::relaxng::datatype::DatatypeLibrary * typeLibrary; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaBuilder__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.h new file mode 100644 index 00000000000..23ff8b66ae1 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaElementTypeInfo__ +#define __gnu_xml_validation_xmlschema_XMLSchemaElementTypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Type; + } + namespace xmlschema + { + class ElementDeclaration; + class XMLSchema; + class XMLSchemaElementTypeInfo; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaElementTypeInfo : public ::gnu::xml::validation::xmlschema::XMLSchemaTypeInfo +{ + +public: // actually package-private + XMLSchemaElementTypeInfo(::gnu::xml::validation::xmlschema::XMLSchema *, ::gnu::xml::validation::xmlschema::ElementDeclaration *, ::gnu::xml::validation::datatype::Type *); +public: + ::java::lang::String * getTypeName(); + ::java::lang::String * getTypeNamespace(); + jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint); +public: // actually package-private + ::gnu::xml::validation::xmlschema::XMLSchema * __attribute__((aligned(__alignof__( ::gnu::xml::validation::xmlschema::XMLSchemaTypeInfo)))) schema; + ::gnu::xml::validation::xmlschema::ElementDeclaration * decl; + ::gnu::xml::validation::datatype::Type * type; + jboolean nil; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaElementTypeInfo__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.h new file mode 100644 index 00000000000..b4d45dd06c9 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaSchemaFactory__ +#define __gnu_xml_validation_xmlschema_XMLSchemaSchemaFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class XMLSchemaSchemaFactory; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + } + namespace validation + { + class Schema; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class ErrorHandler; + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaSchemaFactory : public ::javax::xml::validation::SchemaFactory +{ + +public: + XMLSchemaSchemaFactory(); + virtual ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver(); + virtual void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual jboolean isSchemaLanguageSupported(::java::lang::String *); + virtual ::javax::xml::validation::Schema * newSchema(); + virtual ::javax::xml::validation::Schema * newSchema(JArray< ::javax::xml::transform::Source * > *); +private: + static ::org::w3c::dom::Document * getDocument(::javax::xml::transform::Source *); +public: // actually package-private + ::org::w3c::dom::ls::LSResourceResolver * __attribute__((aligned(__alignof__( ::javax::xml::validation::SchemaFactory)))) resourceResolver; + ::org::xml::sax::ErrorHandler * errorHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaSchemaFactory__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.h new file mode 100644 index 00000000000..d253235f838 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaTypeInfo__ +#define __gnu_xml_validation_xmlschema_XMLSchemaTypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class SimpleType; + } + namespace xmlschema + { + class XMLSchemaTypeInfo; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaTypeInfo : public ::java::lang::Object +{ + +public: // actually package-private + XMLSchemaTypeInfo(); +public: // actually protected + virtual jboolean simpleTypeIsDerivedFrom(::gnu::xml::validation::datatype::SimpleType *, ::java::lang::String *, ::java::lang::String *, jint); +public: + virtual ::java::lang::String * getTypeName() = 0; + virtual ::java::lang::String * getTypeNamespace() = 0; + virtual jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaTypeInfo__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.h new file mode 100644 index 00000000000..049b63af3b8 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaTypeInfoProvider__ +#define __gnu_xml_validation_xmlschema_XMLSchemaTypeInfoProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class XMLSchemaTypeInfoProvider; + class XMLSchemaValidatorHandler; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class TypeInfo; + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaTypeInfoProvider : public ::javax::xml::validation::TypeInfoProvider +{ + +public: // actually package-private + XMLSchemaTypeInfoProvider(::gnu::xml::validation::xmlschema::XMLSchemaValidatorHandler *); +public: + ::org::w3c::dom::TypeInfo * getElementTypeInfo(); + ::org::w3c::dom::TypeInfo * getAttributeTypeInfo(jint); + jboolean isIdAttribute(jint); + jboolean isSpecified(jint); +public: // actually package-private + ::gnu::xml::validation::xmlschema::XMLSchemaValidatorHandler * __attribute__((aligned(__alignof__( ::javax::xml::validation::TypeInfoProvider)))) handler; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaTypeInfoProvider__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaValidator.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaValidator.h new file mode 100644 index 00000000000..fbbb1963084 --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaValidator.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaValidator__ +#define __gnu_xml_validation_xmlschema_XMLSchemaValidator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace xmlschema + { + class XMLSchema; + class XMLSchemaValidator; + } + } + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Source; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class ErrorHandler; + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaValidator : public ::javax::xml::validation::Validator +{ + +public: // actually package-private + XMLSchemaValidator(::gnu::xml::validation::xmlschema::XMLSchema *); +public: + void reset(); + void validate(::javax::xml::transform::Source *, ::javax::xml::transform::Result *); + ::org::xml::sax::ErrorHandler * getErrorHandler(); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver(); + void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *); +public: // actually package-private + ::gnu::xml::validation::xmlschema::XMLSchema * __attribute__((aligned(__alignof__( ::javax::xml::validation::Validator)))) schema; + ::org::xml::sax::ErrorHandler * errorHandler; + ::org::w3c::dom::ls::LSResourceResolver * resourceResolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaValidator__ diff --git a/libjava/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.h b/libjava/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.h new file mode 100644 index 00000000000..94ebcc73b7c --- /dev/null +++ b/libjava/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_validation_xmlschema_XMLSchemaValidatorHandler__ +#define __gnu_xml_validation_xmlschema_XMLSchemaValidatorHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace validation + { + namespace datatype + { + class Type; + } + namespace xmlschema + { + class XMLSchema; + class XMLSchemaValidatorHandler; + } + } + } + } + namespace javax + { + namespace xml + { + namespace validation + { + class TypeInfoProvider; + } + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeLibrary; + } + } + namespace w3c + { + namespace dom + { + class TypeInfo; + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class Attributes; + class ContentHandler; + class ErrorHandler; + class Locator; + namespace helpers + { + class NamespaceSupport; + } + } + } + } +} + +class gnu::xml::validation::xmlschema::XMLSchemaValidatorHandler : public ::javax::xml::validation::ValidatorHandler +{ + +public: // actually package-private + XMLSchemaValidatorHandler(::gnu::xml::validation::xmlschema::XMLSchema *); +public: + ::org::xml::sax::ContentHandler * getContentHandler(); + void setContentHandler(::org::xml::sax::ContentHandler *); + ::org::xml::sax::ErrorHandler * getErrorHandler(); + void setErrorHandler(::org::xml::sax::ErrorHandler *); + ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver(); + void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *); + ::javax::xml::validation::TypeInfoProvider * getTypeInfoProvider(); +public: // actually package-private + ::org::w3c::dom::TypeInfo * getElementTypeInfo(); + ::org::w3c::dom::TypeInfo * getAttributeTypeInfo(jint); + jboolean isIdAttribute(jint); + jboolean isSpecified(jint); +public: + void setDocumentLocator(::org::xml::sax::Locator *); + void startDocument(); + void endDocument(); + void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + void endPrefixMapping(::java::lang::String *); + void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + void characters(JArray< jchar > *, jint, jint); + void ignorableWhitespace(JArray< jchar > *, jint, jint); + void processingInstruction(::java::lang::String *, ::java::lang::String *); + void skippedEntity(::java::lang::String *); +public: // actually package-private + ::gnu::xml::validation::datatype::Type * resolveType(::java::lang::String *); + ::gnu::xml::validation::xmlschema::XMLSchema * __attribute__((aligned(__alignof__( ::javax::xml::validation::ValidatorHandler)))) schema; + ::javax::xml::validation::TypeInfoProvider * typeInfoProvider; + ::org::xml::sax::helpers::NamespaceSupport * namespaceSupport; + ::org::relaxng::datatype::DatatypeLibrary * typeLibrary; + ::org::xml::sax::Locator * loc; + ::org::xml::sax::ContentHandler * contentHandler; + ::org::xml::sax::ErrorHandler * errorHandler; + ::org::w3c::dom::ls::LSResourceResolver * resourceResolver; + ::java::util::LinkedList * context; + ::java::util::ArrayList * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_validation_xmlschema_XMLSchemaValidatorHandler__ diff --git a/libjava/gnu/xml/xpath/AndExpr.h b/libjava/gnu/xml/xpath/AndExpr.h new file mode 100644 index 00000000000..69c310d3779 --- /dev/null +++ b/libjava/gnu/xml/xpath/AndExpr.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_AndExpr__ +#define __gnu_xml_xpath_AndExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class AndExpr; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::AndExpr : public ::gnu::xml::xpath::Expr +{ + +public: + AndExpr(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) lhs; + ::gnu::xml::xpath::Expr * rhs; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_AndExpr__ diff --git a/libjava/gnu/xml/xpath/ArithmeticExpr.h b/libjava/gnu/xml/xpath/ArithmeticExpr.h new file mode 100644 index 00000000000..eb7773b8ba5 --- /dev/null +++ b/libjava/gnu/xml/xpath/ArithmeticExpr.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_ArithmeticExpr__ +#define __gnu_xml_xpath_ArithmeticExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class ArithmeticExpr; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::ArithmeticExpr : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + ArithmeticExpr(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *, jint); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + static const jint ADD = 0; + static const jint SUBTRACT = 1; + static const jint MULTIPLY = 2; + static const jint DIVIDE = 3; + static const jint MODULO = 4; + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) lhs; + ::gnu::xml::xpath::Expr * rhs; + jint op; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_ArithmeticExpr__ diff --git a/libjava/gnu/xml/xpath/BooleanFunction.h b/libjava/gnu/xml/xpath/BooleanFunction.h new file mode 100644 index 00000000000..ab54f6cd728 --- /dev/null +++ b/libjava/gnu/xml/xpath/BooleanFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_BooleanFunction__ +#define __gnu_xml_xpath_BooleanFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class BooleanFunction; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::BooleanFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + BooleanFunction(::java::util::List *); + BooleanFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_BooleanFunction__ diff --git a/libjava/gnu/xml/xpath/CeilingFunction.h b/libjava/gnu/xml/xpath/CeilingFunction.h new file mode 100644 index 00000000000..4350f310987 --- /dev/null +++ b/libjava/gnu/xml/xpath/CeilingFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_CeilingFunction__ +#define __gnu_xml_xpath_CeilingFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class CeilingFunction; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::CeilingFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + CeilingFunction(::java::util::List *); + CeilingFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_CeilingFunction__ diff --git a/libjava/gnu/xml/xpath/ConcatFunction.h b/libjava/gnu/xml/xpath/ConcatFunction.h new file mode 100644 index 00000000000..492cb12b0c5 --- /dev/null +++ b/libjava/gnu/xml/xpath/ConcatFunction.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_ConcatFunction__ +#define __gnu_xml_xpath_ConcatFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class ConcatFunction; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::ConcatFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + ConcatFunction(::java::util::List *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_ConcatFunction__ diff --git a/libjava/gnu/xml/xpath/Constant.h b/libjava/gnu/xml/xpath/Constant.h new file mode 100644 index 00000000000..51e14fed2e7 --- /dev/null +++ b/libjava/gnu/xml/xpath/Constant.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Constant__ +#define __gnu_xml_xpath_Constant__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Constant; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Constant : public ::gnu::xml::xpath::Expr +{ + +public: + Constant(::java::lang::Object *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Constant__ diff --git a/libjava/gnu/xml/xpath/ContainsFunction.h b/libjava/gnu/xml/xpath/ContainsFunction.h new file mode 100644 index 00000000000..e33d07f995d --- /dev/null +++ b/libjava/gnu/xml/xpath/ContainsFunction.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_ContainsFunction__ +#define __gnu_xml_xpath_ContainsFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class ContainsFunction; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::ContainsFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + ContainsFunction(::java::util::List *); + ContainsFunction(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg1; + ::gnu::xml::xpath::Expr * arg2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_ContainsFunction__ diff --git a/libjava/gnu/xml/xpath/CountFunction.h b/libjava/gnu/xml/xpath/CountFunction.h new file mode 100644 index 00000000000..0741837949f --- /dev/null +++ b/libjava/gnu/xml/xpath/CountFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_CountFunction__ +#define __gnu_xml_xpath_CountFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class CountFunction; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::CountFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + CountFunction(::java::util::List *); + CountFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_CountFunction__ diff --git a/libjava/gnu/xml/xpath/DocumentOrderComparator.h b/libjava/gnu/xml/xpath/DocumentOrderComparator.h new file mode 100644 index 00000000000..f34cb311a47 --- /dev/null +++ b/libjava/gnu/xml/xpath/DocumentOrderComparator.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_DocumentOrderComparator__ +#define __gnu_xml_xpath_DocumentOrderComparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class DocumentOrderComparator; + } + } + } +} + +class gnu::xml::xpath::DocumentOrderComparator : public ::java::lang::Object +{ + +public: + DocumentOrderComparator(); + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_DocumentOrderComparator__ diff --git a/libjava/gnu/xml/xpath/EqualityExpr.h b/libjava/gnu/xml/xpath/EqualityExpr.h new file mode 100644 index 00000000000..af6c0e29088 --- /dev/null +++ b/libjava/gnu/xml/xpath/EqualityExpr.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_EqualityExpr__ +#define __gnu_xml_xpath_EqualityExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class EqualityExpr; + class Expr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::EqualityExpr : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + EqualityExpr(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *, jboolean); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +private: + jboolean evaluateImpl(::org::w3c::dom::Node *, jint, jint); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) lhs; + ::gnu::xml::xpath::Expr * rhs; + jboolean invert; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_EqualityExpr__ diff --git a/libjava/gnu/xml/xpath/Expr$ExprNodeSet.h b/libjava/gnu/xml/xpath/Expr$ExprNodeSet.h new file mode 100644 index 00000000000..e8065316b85 --- /dev/null +++ b/libjava/gnu/xml/xpath/Expr$ExprNodeSet.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Expr$ExprNodeSet__ +#define __gnu_xml_xpath_Expr$ExprNodeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr$ExprNodeSet; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Expr$ExprNodeSet : public ::java::lang::Object +{ + +public: // actually package-private + Expr$ExprNodeSet(::java::util::Collection *); +public: + virtual jint getLength(); + virtual ::org::w3c::dom::Node * item(jint); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Expr$ExprNodeSet__ diff --git a/libjava/gnu/xml/xpath/Expr.h b/libjava/gnu/xml/xpath/Expr.h new file mode 100644 index 00000000000..a737f95a51a --- /dev/null +++ b/libjava/gnu/xml/xpath/Expr.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Expr__ +#define __gnu_xml_xpath_Expr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + } + } + } + namespace java + { + namespace text + { + class DecimalFormat; + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::xpath::Expr : public ::java::lang::Object +{ + +public: + Expr(); + virtual ::java::lang::Object * evaluate(::java::lang::Object *, ::javax::xml::namespace::QName *); + virtual ::java::lang::String * evaluate(::java::lang::Object *); + virtual ::java::lang::Object * evaluate(::org::xml::sax::InputSource *, ::javax::xml::namespace::QName *); + virtual ::java::lang::String * evaluate(::org::xml::sax::InputSource *); + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint) = 0; + virtual ::gnu::xml::xpath::Expr * clone(::java::lang::Object *) = 0; + virtual jboolean references(::javax::xml::namespace::QName *) = 0; + static ::java::util::Collection * _id(::org::w3c::dom::Node *, ::java::lang::Object *); + static ::java::lang::String * _local_name(::org::w3c::dom::Node *, ::java::util::Collection *); + static ::java::lang::String * _namespace_uri(::org::w3c::dom::Node *, ::java::util::Collection *); + static ::java::lang::String * _name(::org::w3c::dom::Node *, ::java::util::Collection *); +public: // actually package-private + static ::org::w3c::dom::Node * firstNode(::java::util::Collection *); +public: + static ::java::lang::String * _string(::org::w3c::dom::Node *, ::java::lang::Object *); + static jboolean _boolean(::org::w3c::dom::Node *, ::java::lang::Object *); + static jdouble _number(::org::w3c::dom::Node *, ::java::lang::Object *); + static ::java::lang::String * stringValue(::java::util::Collection *); + static ::java::lang::String * stringValue(::org::w3c::dom::Node *); +public: // actually package-private + static ::java::lang::String * stringValue(::org::w3c::dom::Node *, jboolean); + static jint intValue(::java::lang::Object *); +public: // actually protected + static ::java::util::Comparator * documentOrderComparator; + static ::java::text::DecimalFormat * decimalFormat; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Expr__ diff --git a/libjava/gnu/xml/xpath/FalseFunction.h b/libjava/gnu/xml/xpath/FalseFunction.h new file mode 100644 index 00000000000..42df32629c1 --- /dev/null +++ b/libjava/gnu/xml/xpath/FalseFunction.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_FalseFunction__ +#define __gnu_xml_xpath_FalseFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class FalseFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::FalseFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + FalseFunction(); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_FalseFunction__ diff --git a/libjava/gnu/xml/xpath/FloorFunction.h b/libjava/gnu/xml/xpath/FloorFunction.h new file mode 100644 index 00000000000..1fe02545e71 --- /dev/null +++ b/libjava/gnu/xml/xpath/FloorFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_FloorFunction__ +#define __gnu_xml_xpath_FloorFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class FloorFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::FloorFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + FloorFunction(::java::util::List *); + FloorFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_FloorFunction__ diff --git a/libjava/gnu/xml/xpath/Function.h b/libjava/gnu/xml/xpath/Function.h new file mode 100644 index 00000000000..e4d457c7cfd --- /dev/null +++ b/libjava/gnu/xml/xpath/Function.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Function__ +#define __gnu_xml_xpath_Function__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Function; + } + } + } +} + +class gnu::xml::xpath::Function : public ::java::lang::Object +{ + +public: + virtual void setArguments(::java::util::List *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_xml_xpath_Function__ diff --git a/libjava/gnu/xml/xpath/FunctionCall.h b/libjava/gnu/xml/xpath/FunctionCall.h new file mode 100644 index 00000000000..09a4184405f --- /dev/null +++ b/libjava/gnu/xml/xpath/FunctionCall.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_FunctionCall__ +#define __gnu_xml_xpath_FunctionCall__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class FunctionCall; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathFunctionResolver; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::FunctionCall : public ::gnu::xml::xpath::Expr +{ + +public: + FunctionCall(::javax::xml::xpath::XPathFunctionResolver *, ::java::lang::String *); + FunctionCall(::javax::xml::xpath::XPathFunctionResolver *, ::java::lang::String *, ::java::util::List *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::javax::xml::xpath::XPathFunctionResolver * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) resolver; + ::java::lang::String * name; + ::java::util::List * args; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_FunctionCall__ diff --git a/libjava/gnu/xml/xpath/IdFunction.h b/libjava/gnu/xml/xpath/IdFunction.h new file mode 100644 index 00000000000..efe1f3e543c --- /dev/null +++ b/libjava/gnu/xml/xpath/IdFunction.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_IdFunction__ +#define __gnu_xml_xpath_IdFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class IdFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::IdFunction : public ::gnu::xml::xpath::Pattern +{ + +public: // actually package-private + IdFunction(::java::util::List *); +public: + IdFunction(::gnu::xml::xpath::Expr *); + jboolean matches(::org::w3c::dom::Node *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Pattern)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_IdFunction__ diff --git a/libjava/gnu/xml/xpath/LangFunction.h b/libjava/gnu/xml/xpath/LangFunction.h new file mode 100644 index 00000000000..d9c2123ff51 --- /dev/null +++ b/libjava/gnu/xml/xpath/LangFunction.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_LangFunction__ +#define __gnu_xml_xpath_LangFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class LangFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::LangFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + LangFunction(::java::util::List *); + LangFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + ::java::lang::String * getLang(::org::w3c::dom::Node *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_LangFunction__ diff --git a/libjava/gnu/xml/xpath/LastFunction.h b/libjava/gnu/xml/xpath/LastFunction.h new file mode 100644 index 00000000000..3af5ef634e7 --- /dev/null +++ b/libjava/gnu/xml/xpath/LastFunction.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_LastFunction__ +#define __gnu_xml_xpath_LastFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class LastFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::LastFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + LastFunction(); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_LastFunction__ diff --git a/libjava/gnu/xml/xpath/LocalNameFunction.h b/libjava/gnu/xml/xpath/LocalNameFunction.h new file mode 100644 index 00000000000..3de7c9a8658 --- /dev/null +++ b/libjava/gnu/xml/xpath/LocalNameFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_LocalNameFunction__ +#define __gnu_xml_xpath_LocalNameFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class LocalNameFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::LocalNameFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + LocalNameFunction(::java::util::List *); + LocalNameFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_LocalNameFunction__ diff --git a/libjava/gnu/xml/xpath/NameFunction.h b/libjava/gnu/xml/xpath/NameFunction.h new file mode 100644 index 00000000000..b321cc2ba38 --- /dev/null +++ b/libjava/gnu/xml/xpath/NameFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NameFunction__ +#define __gnu_xml_xpath_NameFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class NameFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NameFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + NameFunction(::java::util::List *); + NameFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NameFunction__ diff --git a/libjava/gnu/xml/xpath/NameTest.h b/libjava/gnu/xml/xpath/NameTest.h new file mode 100644 index 00000000000..d81cf5f5166 --- /dev/null +++ b/libjava/gnu/xml/xpath/NameTest.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NameTest__ +#define __gnu_xml_xpath_NameTest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class NameTest; + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NameTest : public ::gnu::xml::xpath::Test +{ + +public: + NameTest(::javax::xml::namespace::QName *, jboolean, jboolean); + jboolean matchesAny(); + jboolean matchesAnyLocalName(); + jboolean matches(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + static ::java::lang::String * getLocalName(::org::w3c::dom::Node *); + static jboolean equal(::java::lang::String *, ::java::lang::String *); +public: + ::gnu::xml::xpath::Test * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Test)))) qName; + jboolean anyLocalName; + jboolean any; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NameTest__ diff --git a/libjava/gnu/xml/xpath/NamespaceTest.h b/libjava/gnu/xml/xpath/NamespaceTest.h new file mode 100644 index 00000000000..584a538e1ae --- /dev/null +++ b/libjava/gnu/xml/xpath/NamespaceTest.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NamespaceTest__ +#define __gnu_xml_xpath_NamespaceTest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class NamespaceTest; + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NamespaceTest : public ::gnu::xml::xpath::Test +{ + +public: + NamespaceTest(::javax::xml::namespace::QName *, jboolean, jboolean); + jboolean matchesAny(); + jboolean matchesAnyLocalName(); + jboolean matches(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Test * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::javax::xml::namespace::QName * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Test)))) qName; + jboolean anyLocalName; + jboolean any; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NamespaceTest__ diff --git a/libjava/gnu/xml/xpath/NamespaceUriFunction.h b/libjava/gnu/xml/xpath/NamespaceUriFunction.h new file mode 100644 index 00000000000..0838222b03f --- /dev/null +++ b/libjava/gnu/xml/xpath/NamespaceUriFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NamespaceUriFunction__ +#define __gnu_xml_xpath_NamespaceUriFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class NamespaceUriFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NamespaceUriFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + NamespaceUriFunction(::java::util::List *); + NamespaceUriFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NamespaceUriFunction__ diff --git a/libjava/gnu/xml/xpath/NegativeExpr.h b/libjava/gnu/xml/xpath/NegativeExpr.h new file mode 100644 index 00000000000..bc4a176f521 --- /dev/null +++ b/libjava/gnu/xml/xpath/NegativeExpr.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NegativeExpr__ +#define __gnu_xml_xpath_NegativeExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class NegativeExpr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NegativeExpr : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + NegativeExpr(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) expr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NegativeExpr__ diff --git a/libjava/gnu/xml/xpath/NodeTypeTest.h b/libjava/gnu/xml/xpath/NodeTypeTest.h new file mode 100644 index 00000000000..952aee4fc9b --- /dev/null +++ b/libjava/gnu/xml/xpath/NodeTypeTest.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NodeTypeTest__ +#define __gnu_xml_xpath_NodeTypeTest__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class NodeTypeTest; + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NodeTypeTest : public ::gnu::xml::xpath::Test +{ + +public: + NodeTypeTest(jshort); + NodeTypeTest(jshort, ::java::lang::String *); + jshort getNodeType(); + ::java::lang::String * getData(); + jboolean matches(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Test * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + jshort __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Test)))) type; + ::java::lang::String * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NodeTypeTest__ diff --git a/libjava/gnu/xml/xpath/NormalizeSpaceFunction.h b/libjava/gnu/xml/xpath/NormalizeSpaceFunction.h new file mode 100644 index 00000000000..6637aec97de --- /dev/null +++ b/libjava/gnu/xml/xpath/NormalizeSpaceFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NormalizeSpaceFunction__ +#define __gnu_xml_xpath_NormalizeSpaceFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class NormalizeSpaceFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NormalizeSpaceFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + NormalizeSpaceFunction(::java::util::List *); + NormalizeSpaceFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NormalizeSpaceFunction__ diff --git a/libjava/gnu/xml/xpath/NotFunction.h b/libjava/gnu/xml/xpath/NotFunction.h new file mode 100644 index 00000000000..117055bfe2a --- /dev/null +++ b/libjava/gnu/xml/xpath/NotFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NotFunction__ +#define __gnu_xml_xpath_NotFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class NotFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NotFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + NotFunction(::java::util::List *); + NotFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NotFunction__ diff --git a/libjava/gnu/xml/xpath/NumberFunction.h b/libjava/gnu/xml/xpath/NumberFunction.h new file mode 100644 index 00000000000..bdbeafe65ec --- /dev/null +++ b/libjava/gnu/xml/xpath/NumberFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_NumberFunction__ +#define __gnu_xml_xpath_NumberFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class NumberFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::NumberFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + NumberFunction(::java::util::List *); + NumberFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_NumberFunction__ diff --git a/libjava/gnu/xml/xpath/OrExpr.h b/libjava/gnu/xml/xpath/OrExpr.h new file mode 100644 index 00000000000..8296fc686b6 --- /dev/null +++ b/libjava/gnu/xml/xpath/OrExpr.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_OrExpr__ +#define __gnu_xml_xpath_OrExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class OrExpr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::OrExpr : public ::gnu::xml::xpath::Expr +{ + +public: + OrExpr(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) lhs; + ::gnu::xml::xpath::Expr * rhs; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_OrExpr__ diff --git a/libjava/gnu/xml/xpath/ParenthesizedExpr.h b/libjava/gnu/xml/xpath/ParenthesizedExpr.h new file mode 100644 index 00000000000..09a5efaeb5f --- /dev/null +++ b/libjava/gnu/xml/xpath/ParenthesizedExpr.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_ParenthesizedExpr__ +#define __gnu_xml_xpath_ParenthesizedExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class ParenthesizedExpr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::ParenthesizedExpr : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + ParenthesizedExpr(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) expr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_ParenthesizedExpr__ diff --git a/libjava/gnu/xml/xpath/Path.h b/libjava/gnu/xml/xpath/Path.h new file mode 100644 index 00000000000..f36b5ceffe3 --- /dev/null +++ b/libjava/gnu/xml/xpath/Path.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Path__ +#define __gnu_xml_xpath_Path__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Path; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Path : public ::gnu::xml::xpath::Pattern +{ + +public: // actually package-private + Path(); + virtual ::java::util::Collection * evaluate(::org::w3c::dom::Node *, ::java::util::Collection *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Path__ diff --git a/libjava/gnu/xml/xpath/Pattern.h b/libjava/gnu/xml/xpath/Pattern.h new file mode 100644 index 00000000000..917835eec15 --- /dev/null +++ b/libjava/gnu/xml/xpath/Pattern.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Pattern__ +#define __gnu_xml_xpath_Pattern__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Pattern; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Pattern : public ::gnu::xml::xpath::Expr +{ + +public: + Pattern(); + virtual jboolean matches(::org::w3c::dom::Node *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Pattern__ diff --git a/libjava/gnu/xml/xpath/PositionFunction.h b/libjava/gnu/xml/xpath/PositionFunction.h new file mode 100644 index 00000000000..4a06fb03a01 --- /dev/null +++ b/libjava/gnu/xml/xpath/PositionFunction.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_PositionFunction__ +#define __gnu_xml_xpath_PositionFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class PositionFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::PositionFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + PositionFunction(); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_PositionFunction__ diff --git a/libjava/gnu/xml/xpath/Predicate.h b/libjava/gnu/xml/xpath/Predicate.h new file mode 100644 index 00000000000..da2df353f89 --- /dev/null +++ b/libjava/gnu/xml/xpath/Predicate.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Predicate__ +#define __gnu_xml_xpath_Predicate__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class Predicate; + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Predicate : public ::gnu::xml::xpath::Test +{ + +public: // actually package-private + Predicate(::gnu::xml::xpath::Expr *); +public: + virtual jboolean matches(::org::w3c::dom::Node *, jint, jint); + virtual ::gnu::xml::xpath::Test * clone(::java::lang::Object *); + virtual jboolean references(::javax::xml::namespace::QName *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Test)))) expr; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Predicate__ diff --git a/libjava/gnu/xml/xpath/RelationalExpr.h b/libjava/gnu/xml/xpath/RelationalExpr.h new file mode 100644 index 00000000000..727282e642c --- /dev/null +++ b/libjava/gnu/xml/xpath/RelationalExpr.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_RelationalExpr__ +#define __gnu_xml_xpath_RelationalExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class RelationalExpr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::RelationalExpr : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + RelationalExpr(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *, jboolean, jboolean); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) lhs; + ::gnu::xml::xpath::Expr * rhs; + jboolean lt; + jboolean eq; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_RelationalExpr__ diff --git a/libjava/gnu/xml/xpath/Root.h b/libjava/gnu/xml/xpath/Root.h new file mode 100644 index 00000000000..3988c14deb7 --- /dev/null +++ b/libjava/gnu/xml/xpath/Root.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Root__ +#define __gnu_xml_xpath_Root__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class Root; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Root : public ::gnu::xml::xpath::Path +{ + +public: + Root(); + jboolean matches(::org::w3c::dom::Node *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + ::java::util::Collection * evaluate(::org::w3c::dom::Node *, ::java::util::Collection *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Root__ diff --git a/libjava/gnu/xml/xpath/RoundFunction.h b/libjava/gnu/xml/xpath/RoundFunction.h new file mode 100644 index 00000000000..6568dc13290 --- /dev/null +++ b/libjava/gnu/xml/xpath/RoundFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_RoundFunction__ +#define __gnu_xml_xpath_RoundFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class RoundFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::RoundFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + RoundFunction(::java::util::List *); + RoundFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_RoundFunction__ diff --git a/libjava/gnu/xml/xpath/Selector.h b/libjava/gnu/xml/xpath/Selector.h new file mode 100644 index 00000000000..8b0495ff69b --- /dev/null +++ b/libjava/gnu/xml/xpath/Selector.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Selector__ +#define __gnu_xml_xpath_Selector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class Selector; + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Selector : public ::gnu::xml::xpath::Path +{ + +public: + Selector(jint, ::java::util::List *); + JArray< ::gnu::xml::xpath::Test * > * getTests(); + jboolean matches(::org::w3c::dom::Node *); +public: // actually package-private + jboolean matches(::org::w3c::dom::Node *, jint, jint); +private: + jint getContextPosition(::org::w3c::dom::Node *); + jint getContextSize(::org::w3c::dom::Node *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + ::java::util::Collection * evaluate(::org::w3c::dom::Node *, ::java::util::Collection *); + ::java::util::List * filterCandidates(::java::util::List *, jboolean); + void addCandidates(::org::w3c::dom::Node *, ::java::util::Collection *); + void addChildNodes(::org::w3c::dom::Node *, ::java::util::Collection *, jboolean); + void addParentNode(::org::w3c::dom::Node *, ::java::util::Collection *, jboolean); + void addFollowingNodes(::org::w3c::dom::Node *, ::java::util::Collection *, jboolean); + void addPrecedingNodes(::org::w3c::dom::Node *, ::java::util::Collection *, jboolean); + void addAttributes(::org::w3c::dom::Node *, ::java::util::Collection *); + void addNamespaceAttributes(::org::w3c::dom::Node *, ::java::util::Collection *); + jboolean isNamespaceAttribute(::org::w3c::dom::Node *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); + static const jint ANCESTOR = 0; + static const jint ANCESTOR_OR_SELF = 1; + static const jint ATTRIBUTE = 2; + static const jint CHILD = 3; + static const jint DESCENDANT = 4; + static const jint DESCENDANT_OR_SELF = 5; + static const jint FOLLOWING = 6; + static const jint FOLLOWING_SIBLING = 7; + static const jint NAMESPACE = 8; + static const jint PARENT = 9; + static const jint PRECEDING = 10; + static const jint PRECEDING_SIBLING = 11; + static const jint SELF = 12; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Path)))) axis; + JArray< ::gnu::xml::xpath::Test * > * tests; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Selector__ diff --git a/libjava/gnu/xml/xpath/StartsWithFunction.h b/libjava/gnu/xml/xpath/StartsWithFunction.h new file mode 100644 index 00000000000..34b5ff12922 --- /dev/null +++ b/libjava/gnu/xml/xpath/StartsWithFunction.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_StartsWithFunction__ +#define __gnu_xml_xpath_StartsWithFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class StartsWithFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::StartsWithFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + StartsWithFunction(::java::util::List *); + StartsWithFunction(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg1; + ::gnu::xml::xpath::Expr * arg2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_StartsWithFunction__ diff --git a/libjava/gnu/xml/xpath/Steps.h b/libjava/gnu/xml/xpath/Steps.h new file mode 100644 index 00000000000..f2802895675 --- /dev/null +++ b/libjava/gnu/xml/xpath/Steps.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Steps__ +#define __gnu_xml_xpath_Steps__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class Pattern; + class Steps; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Steps : public ::gnu::xml::xpath::Path +{ + +public: + Steps(); +public: // actually package-private + Steps(::java::util::LinkedList *); +public: + jboolean matches(::org::w3c::dom::Node *); +public: // actually package-private + jboolean matches(::org::w3c::dom::Node *, jint); + ::java::util::Collection * possibleContexts(::gnu::xml::xpath::Pattern *, ::org::w3c::dom::Node *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); +public: // actually package-private + ::java::util::Collection * evaluate(::org::w3c::dom::Node *, ::java::util::Collection *); +public: + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Path)))) path; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Steps__ diff --git a/libjava/gnu/xml/xpath/StringFunction.h b/libjava/gnu/xml/xpath/StringFunction.h new file mode 100644 index 00000000000..0e2e907e7be --- /dev/null +++ b/libjava/gnu/xml/xpath/StringFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_StringFunction__ +#define __gnu_xml_xpath_StringFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class StringFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::StringFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + StringFunction(::java::util::List *); + StringFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_StringFunction__ diff --git a/libjava/gnu/xml/xpath/StringLengthFunction.h b/libjava/gnu/xml/xpath/StringLengthFunction.h new file mode 100644 index 00000000000..a181d292343 --- /dev/null +++ b/libjava/gnu/xml/xpath/StringLengthFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_StringLengthFunction__ +#define __gnu_xml_xpath_StringLengthFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class StringLengthFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::StringLengthFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + StringLengthFunction(::java::util::List *); + StringLengthFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_StringLengthFunction__ diff --git a/libjava/gnu/xml/xpath/SubstringAfterFunction.h b/libjava/gnu/xml/xpath/SubstringAfterFunction.h new file mode 100644 index 00000000000..4c89a7c072d --- /dev/null +++ b/libjava/gnu/xml/xpath/SubstringAfterFunction.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_SubstringAfterFunction__ +#define __gnu_xml_xpath_SubstringAfterFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class SubstringAfterFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::SubstringAfterFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + SubstringAfterFunction(::java::util::List *); + SubstringAfterFunction(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg1; + ::gnu::xml::xpath::Expr * arg2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_SubstringAfterFunction__ diff --git a/libjava/gnu/xml/xpath/SubstringBeforeFunction.h b/libjava/gnu/xml/xpath/SubstringBeforeFunction.h new file mode 100644 index 00000000000..97d2fd0de11 --- /dev/null +++ b/libjava/gnu/xml/xpath/SubstringBeforeFunction.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_SubstringBeforeFunction__ +#define __gnu_xml_xpath_SubstringBeforeFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class SubstringBeforeFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::SubstringBeforeFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + SubstringBeforeFunction(::java::util::List *); + SubstringBeforeFunction(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg1; + ::gnu::xml::xpath::Expr * arg2; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_SubstringBeforeFunction__ diff --git a/libjava/gnu/xml/xpath/SubstringFunction.h b/libjava/gnu/xml/xpath/SubstringFunction.h new file mode 100644 index 00000000000..51a3d052c65 --- /dev/null +++ b/libjava/gnu/xml/xpath/SubstringFunction.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_SubstringFunction__ +#define __gnu_xml_xpath_SubstringFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class SubstringFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::SubstringFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + SubstringFunction(::java::util::List *); + SubstringFunction(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg1; + ::gnu::xml::xpath::Expr * arg2; + ::gnu::xml::xpath::Expr * arg3; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_SubstringFunction__ diff --git a/libjava/gnu/xml/xpath/SumFunction.h b/libjava/gnu/xml/xpath/SumFunction.h new file mode 100644 index 00000000000..aeb7e163df6 --- /dev/null +++ b/libjava/gnu/xml/xpath/SumFunction.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_SumFunction__ +#define __gnu_xml_xpath_SumFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class SumFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::SumFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + SumFunction(::java::util::List *); + SumFunction(::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_SumFunction__ diff --git a/libjava/gnu/xml/xpath/Test.h b/libjava/gnu/xml/xpath/Test.h new file mode 100644 index 00000000000..2e5f77f3543 --- /dev/null +++ b/libjava/gnu/xml/xpath/Test.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_Test__ +#define __gnu_xml_xpath_Test__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Test; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::Test : public ::java::lang::Object +{ + +public: + Test(); + virtual jboolean matches(::org::w3c::dom::Node *, jint, jint) = 0; + virtual ::gnu::xml::xpath::Test * clone(::java::lang::Object *) = 0; + virtual jboolean references(::javax::xml::namespace::QName *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_Test__ diff --git a/libjava/gnu/xml/xpath/TranslateFunction.h b/libjava/gnu/xml/xpath/TranslateFunction.h new file mode 100644 index 00000000000..b2a708a19fa --- /dev/null +++ b/libjava/gnu/xml/xpath/TranslateFunction.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_TranslateFunction__ +#define __gnu_xml_xpath_TranslateFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class TranslateFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::TranslateFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + TranslateFunction(::java::util::List *); + TranslateFunction(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) arg1; + ::gnu::xml::xpath::Expr * arg2; + ::gnu::xml::xpath::Expr * arg3; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_TranslateFunction__ diff --git a/libjava/gnu/xml/xpath/TrueFunction.h b/libjava/gnu/xml/xpath/TrueFunction.h new file mode 100644 index 00000000000..a5958170cb5 --- /dev/null +++ b/libjava/gnu/xml/xpath/TrueFunction.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_TrueFunction__ +#define __gnu_xml_xpath_TrueFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class TrueFunction; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::TrueFunction : public ::gnu::xml::xpath::Expr +{ + +public: // actually package-private + TrueFunction(); +public: + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_TrueFunction__ diff --git a/libjava/gnu/xml/xpath/UnionExpr.h b/libjava/gnu/xml/xpath/UnionExpr.h new file mode 100644 index 00000000000..1186ee27c6a --- /dev/null +++ b/libjava/gnu/xml/xpath/UnionExpr.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_UnionExpr__ +#define __gnu_xml_xpath_UnionExpr__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class UnionExpr; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::UnionExpr : public ::gnu::xml::xpath::Pattern +{ + +public: + UnionExpr(::gnu::xml::xpath::Expr *, ::gnu::xml::xpath::Expr *); + jboolean matches(::org::w3c::dom::Node *); + ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + jboolean references(::javax::xml::namespace::QName *); + ::java::lang::String * toString(); +public: // actually package-private + ::gnu::xml::xpath::Expr * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Pattern)))) lhs; + ::gnu::xml::xpath::Expr * rhs; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_UnionExpr__ diff --git a/libjava/gnu/xml/xpath/VariableReference.h b/libjava/gnu/xml/xpath/VariableReference.h new file mode 100644 index 00000000000..c1a611c55d6 --- /dev/null +++ b/libjava/gnu/xml/xpath/VariableReference.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_VariableReference__ +#define __gnu_xml_xpath_VariableReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class VariableReference; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathVariableResolver; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class gnu::xml::xpath::VariableReference : public ::gnu::xml::xpath::Expr +{ + +public: + VariableReference(::javax::xml::xpath::XPathVariableResolver *, ::javax::xml::namespace::QName *); + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jint, jint); + virtual ::gnu::xml::xpath::Expr * clone(::java::lang::Object *); + virtual jboolean references(::javax::xml::namespace::QName *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::javax::xml::xpath::XPathVariableResolver * __attribute__((aligned(__alignof__( ::gnu::xml::xpath::Expr)))) resolver; + ::javax::xml::namespace::QName * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_VariableReference__ diff --git a/libjava/gnu/xml/xpath/XPathFactoryImpl.h b/libjava/gnu/xml/xpath/XPathFactoryImpl.h new file mode 100644 index 00000000000..41349bf8b9e --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathFactoryImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathFactoryImpl__ +#define __gnu_xml_xpath_XPathFactoryImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathFactoryImpl; + } + } + } + namespace javax + { + namespace xml + { + namespace xpath + { + class XPath; + class XPathFunctionResolver; + class XPathVariableResolver; + } + } + } +} + +class gnu::xml::xpath::XPathFactoryImpl : public ::javax::xml::xpath::XPathFactory +{ + +public: + XPathFactoryImpl(); + virtual jboolean isObjectModelSupported(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); + virtual void setXPathVariableResolver(::javax::xml::xpath::XPathVariableResolver *); + virtual void setXPathFunctionResolver(::javax::xml::xpath::XPathFunctionResolver *); + virtual ::javax::xml::xpath::XPath * newXPath(); +public: // actually package-private + ::javax::xml::xpath::XPathVariableResolver * __attribute__((aligned(__alignof__( ::javax::xml::xpath::XPathFactory)))) variableResolver; + ::javax::xml::xpath::XPathFunctionResolver * functionResolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathFactoryImpl__ diff --git a/libjava/gnu/xml/xpath/XPathImpl.h b/libjava/gnu/xml/xpath/XPathImpl.h new file mode 100644 index 00000000000..1f84db72175 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathImpl.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathImpl__ +#define __gnu_xml_xpath_XPathImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathImpl; + class XPathParser; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace xpath + { + class XPathExpression; + class XPathFunctionResolver; + class XPathVariableResolver; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class gnu::xml::xpath::XPathImpl : public ::java::lang::Object +{ + +public: // actually package-private + XPathImpl(::javax::xml::namespace::NamespaceContext *, ::javax::xml::xpath::XPathVariableResolver *, ::javax::xml::xpath::XPathFunctionResolver *); +public: + virtual void reset(); + virtual void setXPathVariableResolver(::javax::xml::xpath::XPathVariableResolver *); + virtual ::javax::xml::xpath::XPathVariableResolver * getXPathVariableResolver(); + virtual void setXPathFunctionResolver(::javax::xml::xpath::XPathFunctionResolver *); + virtual ::javax::xml::xpath::XPathFunctionResolver * getXPathFunctionResolver(); + virtual void setNamespaceContext(::javax::xml::namespace::NamespaceContext *); + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext(); + virtual ::javax::xml::xpath::XPathExpression * compile(::java::lang::String *); + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::java::lang::Object *, ::javax::xml::namespace::QName *); + virtual ::java::lang::String * evaluate(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::org::xml::sax::InputSource *, ::javax::xml::namespace::QName *); + virtual ::java::lang::String * evaluate(::java::lang::String *, ::org::xml::sax::InputSource *); +public: // actually package-private + ::gnu::xml::xpath::XPathParser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parser; + ::javax::xml::namespace::NamespaceContext * namespaceContext; + ::javax::xml::xpath::XPathVariableResolver * variableResolver; + ::javax::xml::xpath::XPathFunctionResolver * functionResolver; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathImpl__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyCheckClass.h b/libjava/gnu/xml/xpath/XPathParser$YyCheckClass.h new file mode 100644 index 00000000000..f364f4a1ca4 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyCheckClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyCheckClass__ +#define __gnu_xml_xpath_XPathParser$YyCheckClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyCheckClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyCheckClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyCheckClass(); +public: + static JArray< jshort > * yyCheck; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyCheckClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyDefRedClass.h b/libjava/gnu/xml/xpath/XPathParser$YyDefRedClass.h new file mode 100644 index 00000000000..23cd3407360 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyDefRedClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyDefRedClass__ +#define __gnu_xml_xpath_XPathParser$YyDefRedClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyDefRedClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyDefRedClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyDefRedClass(); +public: + static JArray< jshort > * yyDefRed; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyDefRedClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyDgotoClass.h b/libjava/gnu/xml/xpath/XPathParser$YyDgotoClass.h new file mode 100644 index 00000000000..97d0f1be407 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyDgotoClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyDgotoClass__ +#define __gnu_xml_xpath_XPathParser$YyDgotoClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyDgotoClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyDgotoClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyDgotoClass(); +public: + static JArray< jshort > * yyDgoto; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyDgotoClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyGindexClass.h b/libjava/gnu/xml/xpath/XPathParser$YyGindexClass.h new file mode 100644 index 00000000000..1a2e31ff82d --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyGindexClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyGindexClass__ +#define __gnu_xml_xpath_XPathParser$YyGindexClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyGindexClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyGindexClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyGindexClass(); +public: + static JArray< jshort > * yyGindex; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyGindexClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyLenClass.h b/libjava/gnu/xml/xpath/XPathParser$YyLenClass.h new file mode 100644 index 00000000000..4e95f9d2bae --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyLenClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyLenClass__ +#define __gnu_xml_xpath_XPathParser$YyLenClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyLenClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyLenClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyLenClass(); +public: + static JArray< jshort > * yyLen; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyLenClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyLhsClass.h b/libjava/gnu/xml/xpath/XPathParser$YyLhsClass.h new file mode 100644 index 00000000000..c9c0ea4918a --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyLhsClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyLhsClass__ +#define __gnu_xml_xpath_XPathParser$YyLhsClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyLhsClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyLhsClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyLhsClass(); +public: + static JArray< jshort > * yyLhs; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyLhsClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyNameClass.h b/libjava/gnu/xml/xpath/XPathParser$YyNameClass.h new file mode 100644 index 00000000000..216fcff02ad --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyNameClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyNameClass__ +#define __gnu_xml_xpath_XPathParser$YyNameClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyNameClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyNameClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyNameClass(); +public: + static JArray< ::java::lang::String * > * yyName; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyNameClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyRindexClass.h b/libjava/gnu/xml/xpath/XPathParser$YyRindexClass.h new file mode 100644 index 00000000000..d1a439e48fa --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyRindexClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyRindexClass__ +#define __gnu_xml_xpath_XPathParser$YyRindexClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyRindexClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyRindexClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyRindexClass(); +public: + static JArray< jshort > * yyRindex; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyRindexClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YySindexClass.h b/libjava/gnu/xml/xpath/XPathParser$YySindexClass.h new file mode 100644 index 00000000000..2a129b2339c --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YySindexClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YySindexClass__ +#define __gnu_xml_xpath_XPathParser$YySindexClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YySindexClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YySindexClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YySindexClass(); +public: + static JArray< jshort > * yySindex; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YySindexClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$YyTableClass.h b/libjava/gnu/xml/xpath/XPathParser$YyTableClass.h new file mode 100644 index 00000000000..2408d361a87 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$YyTableClass.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$YyTableClass__ +#define __gnu_xml_xpath_XPathParser$YyTableClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$YyTableClass; + } + } + } +} + +class gnu::xml::xpath::XPathParser$YyTableClass : public ::java::lang::Object +{ + +public: // actually protected + XPathParser$YyTableClass(); +public: + static JArray< jshort > * yyTable; + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$YyTableClass__ diff --git a/libjava/gnu/xml/xpath/XPathParser$yyException.h b/libjava/gnu/xml/xpath/XPathParser$yyException.h new file mode 100644 index 00000000000..bf25adb2fa4 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$yyException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$yyException__ +#define __gnu_xml_xpath_XPathParser$yyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$yyException; + } + } + } +} + +class gnu::xml::xpath::XPathParser$yyException : public ::java::lang::Exception +{ + +public: + XPathParser$yyException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser$yyException__ diff --git a/libjava/gnu/xml/xpath/XPathParser$yyInput.h b/libjava/gnu/xml/xpath/XPathParser$yyInput.h new file mode 100644 index 00000000000..4383ddf2718 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser$yyInput.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser$yyInput__ +#define __gnu_xml_xpath_XPathParser$yyInput__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathParser$yyInput; + } + } + } +} + +class gnu::xml::xpath::XPathParser$yyInput : public ::java::lang::Object +{ + +public: + virtual jboolean advance() = 0; + virtual jint token() = 0; + virtual ::java::lang::Object * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __gnu_xml_xpath_XPathParser$yyInput__ diff --git a/libjava/gnu/xml/xpath/XPathParser.h b/libjava/gnu/xml/xpath/XPathParser.h new file mode 100644 index 00000000000..13c48744ff1 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathParser.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathParser__ +#define __gnu_xml_xpath_XPathParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class Expr; + class XPathParser; + class XPathParser$yyInput; + } + } + } + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace xpath + { + class XPathFunctionResolver; + class XPathVariableResolver; + } + } + } +} + +class gnu::xml::xpath::XPathParser : public ::java::lang::Object +{ + +public: + XPathParser(); +public: // actually package-private + virtual ::javax::xml::namespace::QName * getQName(::java::lang::String *); + virtual ::gnu::xml::xpath::Expr * lookupFunction(::java::lang::String *, ::java::util::List *); +public: + virtual void yyerror(::java::lang::String *); + virtual void yyerror(::java::lang::String *, JArray< ::java::lang::String * > *); +public: // actually protected + virtual JArray< ::java::lang::String * > * yyExpecting(jint); +public: + virtual ::java::lang::Object * yyparse(::gnu::xml::xpath::XPathParser$yyInput *, ::java::lang::Object *); +public: // actually protected + virtual ::java::lang::Object * yyDefault(::java::lang::Object *); +public: + virtual ::java::lang::Object * yyparse(::gnu::xml::xpath::XPathParser$yyInput *); +public: // actually package-private + ::javax::xml::namespace::NamespaceContext * __attribute__((aligned(__alignof__( ::java::lang::Object)))) namespaceContext; + ::javax::xml::xpath::XPathVariableResolver * variableResolver; + ::javax::xml::xpath::XPathFunctionResolver * functionResolver; +public: + static const jint LITERAL = 257; + static const jint DIGITS = 258; + static const jint NAME = 259; + static const jint LP = 260; + static const jint RP = 261; + static const jint LB = 262; + static const jint RB = 263; + static const jint COMMA = 264; + static const jint PIPE = 265; + static const jint SLASH = 266; + static const jint DOUBLE_SLASH = 267; + static const jint EQ = 268; + static const jint NE = 269; + static const jint GT = 270; + static const jint LT = 271; + static const jint GTE = 272; + static const jint LTE = 273; + static const jint PLUS = 274; + static const jint MINUS = 275; + static const jint AT = 276; + static const jint STAR = 277; + static const jint DOLLAR = 278; + static const jint COLON = 279; + static const jint DOUBLE_COLON = 280; + static const jint DOT = 281; + static const jint DOUBLE_DOT = 282; + static const jint ANCESTOR = 283; + static const jint ANCESTOR_OR_SELF = 284; + static const jint ATTRIBUTE = 285; + static const jint CHILD = 286; + static const jint DESCENDANT = 287; + static const jint DESCENDANT_OR_SELF = 288; + static const jint FOLLOWING = 289; + static const jint FOLLOWING_SIBLING = 290; + static const jint NAMESPACE = 291; + static const jint PARENT = 292; + static const jint PRECEDING = 293; + static const jint PRECEDING_SIBLING = 294; + static const jint SELF = 295; + static const jint DIV = 296; + static const jint MOD = 297; + static const jint OR = 298; + static const jint AND = 299; + static const jint COMMENT = 300; + static const jint PROCESSING_INSTRUCTION = 301; + static const jint TEXT = 302; + static const jint NODE = 303; + static const jint UNARY = 304; + static const jint yyErrorCode = 256; +public: // actually protected + static const jint yyFinal = 30; + jint yyMax; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathParser__ diff --git a/libjava/gnu/xml/xpath/XPathTokenizer$XPathToken.h b/libjava/gnu/xml/xpath/XPathTokenizer$XPathToken.h new file mode 100644 index 00000000000..ae018906671 --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathTokenizer$XPathToken.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathTokenizer$XPathToken__ +#define __gnu_xml_xpath_XPathTokenizer$XPathToken__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathTokenizer$XPathToken; + } + } + } +} + +class gnu::xml::xpath::XPathTokenizer$XPathToken : public ::java::lang::Object +{ + +public: // actually package-private + XPathTokenizer$XPathToken(jint); + XPathTokenizer$XPathToken(jint, ::java::lang::String *); +public: + virtual ::java::lang::String * getText(); + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::lang::String * val; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathTokenizer$XPathToken__ diff --git a/libjava/gnu/xml/xpath/XPathTokenizer.h b/libjava/gnu/xml/xpath/XPathTokenizer.h new file mode 100644 index 00000000000..4cbf9ec141d --- /dev/null +++ b/libjava/gnu/xml/xpath/XPathTokenizer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __gnu_xml_xpath_XPathTokenizer__ +#define __gnu_xml_xpath_XPathTokenizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace xml + { + namespace xpath + { + class XPathTokenizer; + class XPathTokenizer$XPathToken; + } + } + } +} + +class gnu::xml::xpath::XPathTokenizer : public ::java::lang::Object +{ + +public: + XPathTokenizer(::java::lang::String *); +public: // actually package-private + XPathTokenizer(::java::io::Reader *); +public: + virtual jboolean advance(); + virtual jint token(); + virtual ::java::lang::Object * value(); +public: // actually package-private + virtual ::gnu::xml::xpath::XPathTokenizer$XPathToken * consume_literal(jint); + virtual ::gnu::xml::xpath::XPathTokenizer$XPathToken * consume_digits(jint); + virtual ::gnu::xml::xpath::XPathTokenizer$XPathToken * consume_name(jint); + virtual jboolean isNameChar(jint); + static ::java::util::Map * keywords; + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; + ::gnu::xml::xpath::XPathTokenizer$XPathToken * token__; + ::gnu::xml::xpath::XPathTokenizer$XPathToken * lastToken; +public: + static ::java::lang::Class class$; +}; + +#endif // __gnu_xml_xpath_XPathTokenizer__ diff --git a/libjava/headers.txt b/libjava/headers.txt new file mode 100644 index 00000000000..afc64189ab2 --- /dev/null +++ b/libjava/headers.txt @@ -0,0 +1,65 @@ +class java/lang/ClassLoader +prepend jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader); +prepend void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar); +friend jclass (::_Jv_FindClass) (_Jv_Utf8Const *name, java::lang::ClassLoader *loader); +friend void ::_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar); + +class java/lang/Thread +prepend class _Jv_JNIEnv; +prepend #define _JV_NOT_OWNER 1 +prepend #define _JV_INTERRUPTED 2 +prepend _Jv_JNIEnv * _Jv_GetCurrentJNIEnv (); +prepend void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env); +prepend void _Jv_ThreadRun (java::lang::Thread* thread); +prepend jint _Jv_AttachCurrentThread(java::lang::Thread* thread); +prepend java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group); +prepend java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group); +prepend jint _Jv_DetachCurrentThread (); +prepend struct _Jv_Thread_t; +prepend _Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread); +friend _Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv (); +friend void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env); +friend void ::_Jv_ThreadRun (java::lang::Thread* thread); +friend jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread); +friend java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group); +friend java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group); +friend jint (::_Jv_DetachCurrentThread) (); + +class java/lang/String +prepend jchar* _Jv_GetStringChars (jstring str); +prepend jstring* _Jv_StringFindSlot (jchar*, jint, jint); +prepend jstring* _Jv_StringGetSlot (jstring); +prepend jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str); +prepend jstring _Jv_NewStringLatin1 (const char*, jsize); +prepend jstring _Jv_AllocString (jsize); +friend jchar* ::_Jv_GetStringChars (jstring str); +friend jstring* ::_Jv_StringFindSlot (jchar*, jint, jint); +friend jstring* ::_Jv_StringGetSlot (jstring); +friend jstring (::_Jv_NewStringUtf8Const) (_Jv_Utf8Const* str); +friend jstring (::_Jv_NewStringLatin1) (const char*, jsize); +friend jstring (::_Jv_AllocString) (jsize); + +class java/lang/reflect/Constructor +prepend jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *); +prepend jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean); +friend jmethodID (::_Jv_FromReflectedConstructor) (java::lang::reflect::Constructor *); +friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean); +friend class java::lang::Class; + +class java/lang/reflect/Field +prepend jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *); +prepend jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean); +friend jfieldID (::_Jv_FromReflectedField) (java::lang::reflect::Field *); +friend jobject (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean); +friend class java::lang::Class; + +class java/lang/reflect/Method +prepend jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *); +prepend jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean); +friend jmethodID (::_Jv_FromReflectedMethod) (java::lang::reflect::Method *); +friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean); +friend class java::lang::Class; +friend class java::io::ObjectInputStream; + +class gnu/gcj/runtime/ExtensionClassLoader +friend class ::java::lang::ClassLoader; diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in index 26c8ce9a582..6ebb3b4feb2 100644 --- a/libjava/include/Makefile.in +++ b/libjava/include/Makefile.in @@ -90,6 +90,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -109,7 +111,11 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ +ENABLE_SHARED_FALSE = @ENABLE_SHARED_FALSE@ +ENABLE_SHARED_TRUE = @ENABLE_SHARED_TRUE@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@ @@ -120,6 +126,7 @@ GCJDEPMODE = @GCJDEPMODE@ GCJFLAGS = @GCJFLAGS@ GCJH = @GCJH@ GCJVERSION = @GCJVERSION@ +GCJ_FOR_ECJX = @GCJ_FOR_ECJX@ GCLIBS = @GCLIBS@ GCSPEC = @GCSPEC@ GCTESTSPEC = @GCTESTSPEC@ @@ -131,6 +138,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -139,6 +148,8 @@ JAR = @JAR@ JAVA_HOME = @JAVA_HOME@ JAVA_HOME_SET_FALSE = @JAVA_HOME_SET_FALSE@ JAVA_HOME_SET_TRUE = @JAVA_HOME_SET_TRUE@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JC1GCSPEC = @JC1GCSPEC@ LD = @LD@ LDFLAGS = @LDFLAGS@ @@ -157,6 +168,7 @@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ +LIBMAGIC = @LIBMAGIC@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ @@ -181,7 +193,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ -PLATFORM_INNER_NAT_HDRS = @PLATFORM_INNER_NAT_HDRS@ +PLATFORM = @PLATFORM@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -223,6 +235,8 @@ USING_WIN32_THREADS_TRUE = @USING_WIN32_THREADS_TRUE@ VERSION = @VERSION@ XLIB_AWT_FALSE = @XLIB_AWT_FALSE@ XLIB_AWT_TRUE = @XLIB_AWT_TRUE@ +X_AWT_FALSE = @X_AWT_FALSE@ +X_AWT_TRUE = @X_AWT_TRUE@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ @@ -268,6 +282,7 @@ here = @here@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ +host_exeext = @host_exeext@ host_os = @host_os@ host_subdir = @host_subdir@ host_vendor = @host_vendor@ diff --git a/libjava/include/config.h.in b/libjava/include/config.h.in index a8ebfade662..3b6e891af3d 100644 --- a/libjava/include/config.h.in +++ b/libjava/include/config.h.in @@ -1,5 +1,8 @@ /* include/config.h.in. Generated from configure.ac by autoheader. */ +/* Name of default AWT toolkit */ +#undef AWT_TOOLKIT + /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ @@ -181,6 +184,12 @@ /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT +/* Define to 1 if you have the header file. */ +#undef HAVE_MAGIC_H + +/* Define if you have magic_open(). */ +#undef HAVE_MAGIC_OPEN + /* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY @@ -390,6 +399,9 @@ /* Define if we want to use debug calls into the garbage collector. */ #undef LIBGCJ_GC_DEBUG +/* Installation prefix */ +#undef LIBGCJ_PREFIX + /* Define if using POSIX threads on Linux. */ #undef LINUX_THREADS diff --git a/libjava/include/java-cpool.h b/libjava/include/java-cpool.h index c636e4c6bca..412250230df 100644 --- a/libjava/include/java-cpool.h +++ b/libjava/include/java-cpool.h @@ -28,6 +28,7 @@ details. */ #define JV_CONSTANT_InterfaceMethodref (11L) #define JV_CONSTANT_NameAndType (12L) #define JV_CONSTANT_ResolvedFlag (16L) +#define JV_CONSTANT_LazyFlag (32L) #define JV_CONSTANT_ResolvedString (16L | 8L) #define JV_CONSTANT_ResolvedClass (16L | 7L) diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 74846c9f6b2..3b15b5cb222 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -45,6 +45,12 @@ int _Jv_count_arguments (_Jv_Utf8Const *signature, jboolean staticp = true); void _Jv_VerifyMethod (_Jv_InterpMethod *method); void _Jv_CompileMethod (_Jv_InterpMethod* method); +int _Jv_init_cif (_Jv_Utf8Const* signature, + int arg_count, + jboolean staticp, + ffi_cif *cif, + ffi_type **arg_types, + ffi_type **rtype_p); /* the interpreter is written in C++, primarily because it makes it easy for * the entire thing to be "friend" with class Class. */ @@ -312,18 +318,27 @@ public: // The interpreted call stack, represented by a linked list of frames. struct _Jv_InterpFrame { - _Jv_InterpMethod *self; + union + { + void *meth; + _Jv_InterpMethod *self; + _Jv_Method *proxyMethod; + }; java::lang::Thread *thread; _Jv_InterpFrame *next; - pc_t pc; - - _Jv_InterpFrame (_Jv_InterpMethod *s, java::lang::Thread *thr) + union + { + pc_t pc; + jclass proxyClass; + }; + + _Jv_InterpFrame (void *meth, java::lang::Thread *thr, jclass proxyClass = NULL) { - self = s; + this->meth = meth; thread = thr; next = (_Jv_InterpFrame *) thr->interp_frame; thr->interp_frame = (gnu::gcj::RawData *) this; - pc = NULL; + this->proxyClass = proxyClass; } ~_Jv_InterpFrame () diff --git a/libjava/include/java-stack.h b/libjava/include/java-stack.h index b9cf09a551c..d4d63d74342 100644 --- a/libjava/include/java-stack.h +++ b/libjava/include/java-stack.h @@ -30,10 +30,22 @@ details. */ using namespace gnu::gcj::runtime; using namespace java::lang; +extern "Java" +{ + namespace gnu + { + namespace classpath + { + class VMStackWalker; + } + } +} + enum _Jv_FrameType { frame_native, - frame_interpreter + frame_interpreter, + frame_proxy }; #ifdef INTERPRETER @@ -55,6 +67,10 @@ struct _Jv_StackFrame #ifdef INTERPRETER _Jv_InterpFrameInfo interp; #endif + struct { + jclass proxyClass; + _Jv_Method *proxyMethod; + }; struct { void *ip; void *start_ip; @@ -85,12 +101,14 @@ struct _Jv_UnwindState length = ln; pos = 0; frames = NULL; +#ifdef INTERPRETER Thread *thread = Thread::currentThread(); // Check for NULL currentThread(), in case an exception is created // very early during the runtime startup. -#ifdef INTERPRETER if (thread) interp_frame = (_Jv_InterpFrame *) thread->interp_frame; + else + interp_frame = NULL; #endif trace_function = NULL; trace_data = NULL; @@ -117,6 +135,8 @@ private: static _Unwind_Reason_Code calling_class_trace_fn (_Jv_UnwindState *state); static _Unwind_Reason_Code non_system_trace_fn (_Jv_UnwindState *state); static _Unwind_Reason_Code accesscontrol_trace_fn (_Jv_UnwindState *state); + static _Unwind_Reason_Code stackwalker_trace_fn (_Jv_UnwindState *state); + static _Unwind_Reason_Code stackwalker_nnl_trace_fn (_Jv_UnwindState *state); public: static _Jv_StackTrace *GetStackTrace (void); @@ -125,11 +145,14 @@ public: java::lang::Throwable *throwable); static jclass GetCallingClass (jclass); static void GetCallerInfo (jclass checkClass, jclass *, _Jv_Method **); - static JArray *GetClassContext (jclass checkClass); static ClassLoader *GetFirstNonSystemClassLoader (void); static jobjectArray GetAccessControlStack (); + static JArray *GetStackWalkerStack (); + static jclass GetStackWalkerCallingClass (); + static ClassLoader *GetStackWalkerFirstNonNullLoader (); friend jclass _Jv_GetMethodDeclaringClass (jmethodID); + friend class gnu::classpath::VMStackWalker; }; // Information about a given address. diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 88b45be983d..203e0d95356 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -30,6 +30,10 @@ details. */ #include #include +#include + +#include + /* Macro for possible unused arguments. */ #define MAYBE_UNUSED __attribute__((__unused__)) @@ -137,6 +141,10 @@ extern int _Jv_strLengthUtf8(const char* str, int len); typedef struct _Jv_Utf8Const Utf8Const; _Jv_Utf8Const *_Jv_makeUtf8Const (const char *s, int len); _Jv_Utf8Const *_Jv_makeUtf8Const (jstring string); +static inline _Jv_Utf8Const *_Jv_makeUtf8Const (const char *s) +{ + return _Jv_makeUtf8Const (s, strlen (s)); +} extern jboolean _Jv_equalUtf8Consts (const _Jv_Utf8Const *, const _Jv_Utf8Const *); extern jboolean _Jv_equal (_Jv_Utf8Const *, jstring, jint); extern jboolean _Jv_equaln (_Jv_Utf8Const *, jstring, jint); @@ -233,6 +241,18 @@ namespace gcj /* Thread stack size specified by the -Xss runtime argument. */ extern size_t stack_size; + + /* The start time */ + extern jlong startTime; + + /* The VM arguments */ + extern JArray* vmArgs; + + // Currently loaded classes + extern jint loadedClasses; + + // Unloaded classes + extern jlong unloadedClasses; } // This class handles all aspects of class preparation and linking. @@ -250,7 +270,6 @@ private: static void link_symbol_table(jclass); static void link_exception_table(jclass); static void layout_interface_methods(jclass); - static void layout_vtable_methods(jclass); static void set_vtable_entries(jclass, _Jv_VTable *); static void make_vtable(jclass); static void ensure_fields_laid_out(jclass); @@ -264,10 +283,6 @@ private: static int get_alignment_from_class(jclass); static void generate_itable(jclass, _Jv_ifaces *, jshort *); static jshort append_partial_itable(jclass, jclass, void **, jshort); - static _Jv_Method *search_method_in_class (jclass, jclass, - _Jv_Utf8Const *, - _Jv_Utf8Const *, - bool check_perms = true); static _Jv_Method *search_method_in_superclasses (jclass cls, jclass klass, _Jv_Utf8Const *method_name, _Jv_Utf8Const *method_signature, @@ -298,9 +313,17 @@ public: static void print_class_loaded (jclass); static void resolve_class_ref (jclass, jclass *); static void wait_for_state(jclass, int); + static _Jv_Method *resolve_method_entry (jclass, jclass &, + int, int, + bool, bool); static _Jv_word resolve_pool_entry (jclass, int, bool =false); static void resolve_field (_Jv_Field *, java::lang::ClassLoader *); static void verify_type_assertions (jclass); + static _Jv_Method *search_method_in_class (jclass, jclass, + _Jv_Utf8Const *, + _Jv_Utf8Const *, + bool check_perms = true); + static void layout_vtable_methods(jclass); }; /* Type of pointer used as finalizer. */ @@ -394,6 +417,8 @@ void _Jv_FreeMethodCache (); void _Jv_SetStackSize (const char *arg); extern "C" void JvRunMain (jclass klass, int argc, const char **argv); +extern "C" void JvRunMainName (const char *name, int argc, const char **argv); + void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar); @@ -633,30 +658,8 @@ extern void _Jv_RegisterBootstrapPackages (); // New style version IDs used by GCJ 4.0.1 and later. #define GCJ_40_BC_ABI_VERSION (4 * 100000 + 0 * 1000) -inline bool -_Jv_CheckABIVersion (unsigned long value) -{ - // We are compatible with GCJ 4.0.0 BC-ABI classes. This release used a - // different format for the version ID string. - if (value == OLD_GCJ_40_BC_ABI_VERSION) - return true; - - // The 20 low-end bits are used for the version number. - unsigned long version = value & 0xfffff; - - if (value & FLAG_BINARYCOMPAT_ABI) - { - int abi_rev = version % 100; - int abi_ver = version - abi_rev; - if (abi_ver == GCJ_40_BC_ABI_VERSION && abi_rev <= 0) - return true; - } - else - // C++ ABI - return version == GCJ_CXX_ABI_VERSION; - - return false; -} +void _Jv_CheckABIVersion (unsigned long value); + inline bool _Jv_ClassForBootstrapLoader (unsigned long value) @@ -695,4 +698,71 @@ _Jv_IsPhantomClass (jclass c) // A helper function defined in prims.cc. char* _Jv_PrependVersionedLibdir (char* libpath); + +// An enum for use with JvSetThreadState. We use a C++ enum rather +// than the Java enum to avoid problems with class initialization +// during VM bootstrap. +typedef enum +{ + JV_BLOCKED, + JV_NEW, + JV_RUNNABLE, + JV_TERMINATED, + JV_TIMED_WAITING, + JV_WAITING +} JvThreadState; + +// Temporarily set the thread's state. +class JvSetThreadState +{ +private: + ::java::lang::Thread *thread; + jint saved; + +public: + + // Note that 'cthread' could be NULL -- during VM startup there may + // not be a Thread available. + JvSetThreadState(::java::lang::Thread *cthread, JvThreadState nstate) + : thread (cthread), + saved (cthread ? cthread->state : (jint)JV_NEW) + { + if (thread) + thread->state = nstate; + } + + ~JvSetThreadState() + { + if (thread) + thread->state = saved; + } +}; + +// This structure is used to represent all the data the native side +// needs. An object of this type is assigned to the `data' member of +// the Thread class. +struct natThread +{ + // A thread is either alive, dead, or being sent a signal; if it is + // being sent a signal, it is also alive. Thus, if you want to know + // if a thread is alive, it is sufficient to test alive_status != + // THREAD_DEAD. + volatile obj_addr_t alive_flag; + + // These are used to interrupt sleep and join calls. We can share a + // condition variable here since it only ever gets notified when the thread + // exits. + _Jv_Mutex_t join_mutex; + _Jv_ConditionVariable_t join_cond; + + // These are used by Unsafe.park() and Unsafe.unpark(). + ParkHelper park_helper; + + // This is private data for the thread system layer. + _Jv_Thread_t *thread; + + // Each thread has its own JNI object. + void *jni_env; +}; + #endif /* __JAVA_JVM_H__ */ diff --git a/libjava/include/posix-threads.h b/libjava/include/posix-threads.h index 1f06fc3be18..d5f64957c22 100644 --- a/libjava/include/posix-threads.h +++ b/libjava/include/posix-threads.h @@ -19,6 +19,7 @@ details. */ #include #include +#include // // Typedefs. @@ -131,31 +132,7 @@ _Jv_MutexInit (_Jv_Mutex_t *mu) mu->owner = 0; } -inline int -_Jv_MutexLock (_Jv_Mutex_t *mu) -{ - pthread_t self = pthread_self (); - if (mu->owner == self) - { - mu->count++; - } - else - { -# ifdef LOCK_DEBUG - int result = pthread_mutex_lock (&mu->mutex); - if (0 != result) - { - fprintf(stderr, "Pthread_mutex_lock returned %d\n", result); - for (;;) {} - } -# else - pthread_mutex_lock (&mu->mutex); -# endif - mu->count = 1; - mu->owner = self; - } - return 0; -} +extern int _Jv_MutexLock (_Jv_Mutex_t *); inline int _Jv_MutexUnlock (_Jv_Mutex_t *mu) @@ -374,4 +351,33 @@ void _Jv_ThreadWait (void); void _Jv_ThreadInterrupt (_Jv_Thread_t *data); +// park() / unpark() support + +struct ParkHelper +{ + volatile obj_addr_t permit; + pthread_mutex_t mutex; + pthread_cond_t cond; + + void init (); + void deactivate (); + void destroy (); + void park (jboolean isAbsolute, jlong time); + void unpark (); +}; + +inline void +ParkHelper::init () +{ + pthread_mutex_init (&mutex, NULL); + pthread_cond_init (&cond, NULL); +} + +inline void +ParkHelper::destroy () +{ + pthread_mutex_destroy (&mutex); + pthread_cond_destroy (&cond); +} + #endif /* __JV_POSIX_THREADS__ */ diff --git a/libjava/include/posix.h b/libjava/include/posix.h index ea4762c6a1b..ee836e0b809 100644 --- a/libjava/include/posix.h +++ b/libjava/include/posix.h @@ -69,6 +69,13 @@ details. */ #define O_DSYNC O_SYNC #endif +// Name of the Process implementation. +#ifdef ECOS +#define _Jv_platform_process ::java::lang::EcosProcess +#else +#define _Jv_platform_process ::java::lang::PosixProcess +#endif + // Separator for file name components. #define _Jv_platform_file_separator ((jchar) '/') // Separator for path components. diff --git a/libjava/include/win32-threads.h b/libjava/include/win32-threads.h index 0b22010ac8d..442149c3cd8 100644 --- a/libjava/include/win32-threads.h +++ b/libjava/include/win32-threads.h @@ -193,6 +193,28 @@ void _Jv_ThreadInterrupt (_Jv_Thread_t *data); // See java/lang/natWin32Process.cc (waitFor) for an example. HANDLE _Jv_Win32GetInterruptEvent (void); +// park() / unpark() support + +struct ParkHelper +{ + // We use LONG instead of obj_addr_t to avoid pulling in locks.h, + // which depends on size_t, ... + volatile LONG permit; + + // The critical section is used for lazy initialization of our event + CRITICAL_SECTION cs; + HANDLE event; + + void init (); + void deactivate (); + void destroy (); + void park (jboolean isAbsolute, jlong time); + void unpark (); + +private: + void init_event(); +}; + // Remove defines from that conflict with various things in libgcj code #undef TRUE @@ -204,5 +226,6 @@ HANDLE _Jv_Win32GetInterruptEvent (void); #undef interface #undef STRICT #undef VOID +#undef TEXT #endif /* __JV_WIN32_THREADS__ */ diff --git a/libjava/include/win32.h b/libjava/include/win32.h index a461d88f56c..48989fe3dfa 100644 --- a/libjava/include/win32.h +++ b/libjava/include/win32.h @@ -76,6 +76,9 @@ extern jstring _Jv_Win32NewString (LPCTSTR pcsz); #define _Jv_platform_solib_prefix "" #define _Jv_platform_solib_suffix ".dll" +// Name of the Process implementation. +#define _Jv_platform_process ::java::lang::Win32Process + // Separator for file name components. #define _Jv_platform_file_separator ((jchar) '\\') // Separator for path components. diff --git a/libjava/interpret.cc b/libjava/interpret.cc index 4b3725855f6..dc63cc868e7 100644 --- a/libjava/interpret.cc +++ b/libjava/interpret.cc @@ -1179,13 +1179,13 @@ _Jv_count_arguments (_Jv_Utf8Const *signature, * caller. */ -static int -init_cif (_Jv_Utf8Const* signature, - int arg_count, - jboolean staticp, - ffi_cif *cif, - ffi_type **arg_types, - ffi_type **rtype_p) +int +_Jv_init_cif (_Jv_Utf8Const* signature, + int arg_count, + jboolean staticp, + ffi_cif *cif, + ffi_type **arg_types, + ffi_type **rtype_p) { unsigned char *ptr = (unsigned char*) signature->chars(); @@ -1269,12 +1269,12 @@ _Jv_InterpMethod::ncode () (ncode_closure*)_Jv_AllocBytes (sizeof (ncode_closure) + arg_count * sizeof (ffi_type*)); - init_cif (self->signature, - arg_count, - staticp, - &closure->cif, - &closure->arg_types[0], - NULL); + _Jv_init_cif (self->signature, + arg_count, + staticp, + &closure->cif, + &closure->arg_types[0], + NULL); ffi_closure_fun fun; @@ -1465,12 +1465,12 @@ _Jv_JNIMethod::ncode () + arg_count * sizeof (ffi_type*)); ffi_type *rtype; - init_cif (self->signature, - arg_count, - staticp, - &closure->cif, - &closure->arg_types[0], - &rtype); + _Jv_init_cif (self->signature, + arg_count, + staticp, + &closure->cif, + &closure->arg_types[0], + &rtype); ffi_closure_fun fun; @@ -1632,12 +1632,12 @@ _Jv_InterpreterEngine::do_resolve_method (_Jv_Method *method, jclass klass, + arg_count*sizeof (ffi_type*)); result->stack_item_count - = init_cif (method->signature, - arg_count, - staticp, - &result->cif, - &result->arg_types[0], - NULL); + = _Jv_init_cif (method->signature, + arg_count, + staticp, + &result->cif, + &result->arg_types[0], + NULL); result->method = method; result->klass = klass; diff --git a/libjava/java/applet/Applet$AccessibleApplet.h b/libjava/java/applet/Applet$AccessibleApplet.h new file mode 100644 index 00000000000..6819ecb1d49 --- /dev/null +++ b/libjava/java/applet/Applet$AccessibleApplet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_applet_Applet$AccessibleApplet__ +#define __java_applet_Applet$AccessibleApplet__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace applet + { + class Applet; + class Applet$AccessibleApplet; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + } + } +} + +class java::applet::Applet$AccessibleApplet : public ::java::awt::Panel$AccessibleAWTPanel +{ + +public: // actually protected + Applet$AccessibleApplet(::java::applet::Applet *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 8127374778187708896LL; +public: // actually package-private + ::java::applet::Applet * __attribute__((aligned(__alignof__( ::java::awt::Panel$AccessibleAWTPanel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_applet_Applet$AccessibleApplet__ diff --git a/libjava/java/applet/Applet$URLAudioClip.h b/libjava/java/applet/Applet$URLAudioClip.h new file mode 100644 index 00000000000..67449e40a62 --- /dev/null +++ b/libjava/java/applet/Applet$URLAudioClip.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_applet_Applet$URLAudioClip__ +#define __java_applet_Applet$URLAudioClip__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace applet + { + class Applet$URLAudioClip; + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace sampled + { + class Clip; + } + } + } +} + +class java::applet::Applet$URLAudioClip : public ::java::lang::Object +{ + +public: + Applet$URLAudioClip(::java::net::URL *); +private: + ::javax::sound::sampled::Clip * getClip(); +public: + virtual void loop(); + virtual void play(); + virtual void stop(); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) url; + ::javax::sound::sampled::Clip * clip; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_applet_Applet$URLAudioClip__ diff --git a/libjava/java/applet/Applet.h b/libjava/java/applet/Applet.h new file mode 100644 index 00000000000..8d841737461 --- /dev/null +++ b/libjava/java/applet/Applet.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_applet_Applet__ +#define __java_applet_Applet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace applet + { + class Applet; + class AppletContext; + class AppletStub; + class AudioClip; + } + namespace awt + { + class Dimension; + class Image; + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::applet::Applet : public ::java::awt::Panel +{ + +public: + Applet(); + virtual void setStub(::java::applet::AppletStub *); + virtual jboolean isActive(); + virtual ::java::net::URL * getDocumentBase(); + virtual ::java::net::URL * getCodeBase(); + virtual ::java::lang::String * getParameter(::java::lang::String *); + virtual ::java::applet::AppletContext * getAppletContext(); + virtual void resize(jint, jint); + virtual void resize(::java::awt::Dimension *); + virtual void showStatus(::java::lang::String *); + virtual ::java::awt::Image * getImage(::java::net::URL *); + virtual ::java::awt::Image * getImage(::java::net::URL *, ::java::lang::String *); + static ::java::applet::AudioClip * newAudioClip(::java::net::URL *); + virtual ::java::applet::AudioClip * getAudioClip(::java::net::URL *); + virtual ::java::applet::AudioClip * getAudioClip(::java::net::URL *, ::java::lang::String *); + virtual ::java::lang::String * getAppletInfo(); + virtual ::java::util::Locale * getLocale(); + virtual JArray< JArray< ::java::lang::String * > * > * getParameterInfo(); + virtual void play(::java::net::URL *); + virtual void play(::java::net::URL *, ::java::lang::String *); + virtual void init(); + virtual void start(); + virtual void stop(); + virtual void destroy(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -5836846270535785031LL; + ::java::applet::AppletStub * __attribute__((aligned(__alignof__( ::java::awt::Panel)))) stub; + jint width; + jint height; + ::javax::accessibility::AccessibleContext * accessibleContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_applet_Applet__ diff --git a/libjava/java/applet/AppletContext.h b/libjava/java/applet/AppletContext.h new file mode 100644 index 00000000000..a69369fe713 --- /dev/null +++ b/libjava/java/applet/AppletContext.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_applet_AppletContext__ +#define __java_applet_AppletContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace applet + { + class Applet; + class AppletContext; + class AudioClip; + } + namespace awt + { + class Image; + } + namespace net + { + class URL; + } + } +} + +class java::applet::AppletContext : public ::java::lang::Object +{ + +public: + virtual ::java::applet::AudioClip * getAudioClip(::java::net::URL *) = 0; + virtual ::java::awt::Image * getImage(::java::net::URL *) = 0; + virtual ::java::applet::Applet * getApplet(::java::lang::String *) = 0; + virtual ::java::util::Enumeration * getApplets() = 0; + virtual void showDocument(::java::net::URL *) = 0; + virtual void showDocument(::java::net::URL *, ::java::lang::String *) = 0; + virtual void showStatus(::java::lang::String *) = 0; + virtual void setStream(::java::lang::String *, ::java::io::InputStream *) = 0; + virtual ::java::io::InputStream * getStream(::java::lang::String *) = 0; + virtual ::java::util::Iterator * getStreamKeys() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_applet_AppletContext__ diff --git a/libjava/java/applet/AppletStub.h b/libjava/java/applet/AppletStub.h new file mode 100644 index 00000000000..085746547f1 --- /dev/null +++ b/libjava/java/applet/AppletStub.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_applet_AppletStub__ +#define __java_applet_AppletStub__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace applet + { + class AppletContext; + class AppletStub; + } + namespace net + { + class URL; + } + } +} + +class java::applet::AppletStub : public ::java::lang::Object +{ + +public: + virtual jboolean isActive() = 0; + virtual ::java::net::URL * getDocumentBase() = 0; + virtual ::java::net::URL * getCodeBase() = 0; + virtual ::java::lang::String * getParameter(::java::lang::String *) = 0; + virtual ::java::applet::AppletContext * getAppletContext() = 0; + virtual void appletResize(jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_applet_AppletStub__ diff --git a/libjava/java/applet/AudioClip.h b/libjava/java/applet/AudioClip.h new file mode 100644 index 00000000000..2ee517d4d13 --- /dev/null +++ b/libjava/java/applet/AudioClip.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_applet_AudioClip__ +#define __java_applet_AudioClip__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace applet + { + class AudioClip; + } + } +} + +class java::applet::AudioClip : public ::java::lang::Object +{ + +public: + virtual void play() = 0; + virtual void stop() = 0; + virtual void loop() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_applet_AudioClip__ diff --git a/libjava/java/awt/AWTError.h b/libjava/java/awt/AWTError.h new file mode 100644 index 00000000000..bcfbd634ccb --- /dev/null +++ b/libjava/java/awt/AWTError.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTError__ +#define __java_awt_AWTError__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTError; + } + } +} + +class java::awt::AWTError : public ::java::lang::Error +{ + +public: + AWTError(::java::lang::String *); +private: + static const jlong serialVersionUID = -1819846354050686206LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTError__ diff --git a/libjava/java/awt/AWTEvent.h b/libjava/java/awt/AWTEvent.h new file mode 100644 index 00000000000..94d090a9ff5 --- /dev/null +++ b/libjava/java/awt/AWTEvent.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTEvent__ +#define __java_awt_AWTEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Event; + } + } +} + +class java::awt::AWTEvent : public ::java::util::EventObject +{ + +public: + AWTEvent(::java::awt::Event *); + AWTEvent(::java::lang::Object *, jint); + virtual void setSource(::java::lang::Object *); + virtual jint getID(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * paramString(); +public: // actually protected + virtual void consume(); + virtual jboolean isConsumed(); +public: // actually package-private + static jlong eventIdToMask(jint); +private: + static const jlong serialVersionUID = -1825314779160409405LL; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::util::EventObject)))) id; + jboolean consumed; +public: // actually package-private + ::java::awt::AWTEvent * queueNext; + JArray< jbyte > * bdata; + jboolean isFocusManagerEvent; +public: + static const jlong COMPONENT_EVENT_MASK = 1LL; + static const jlong CONTAINER_EVENT_MASK = 2LL; + static const jlong FOCUS_EVENT_MASK = 4LL; + static const jlong KEY_EVENT_MASK = 8LL; + static const jlong MOUSE_EVENT_MASK = 16LL; + static const jlong MOUSE_MOTION_EVENT_MASK = 32LL; + static const jlong WINDOW_EVENT_MASK = 64LL; + static const jlong ACTION_EVENT_MASK = 128LL; + static const jlong ADJUSTMENT_EVENT_MASK = 256LL; + static const jlong ITEM_EVENT_MASK = 512LL; + static const jlong TEXT_EVENT_MASK = 1024LL; + static const jlong INPUT_METHOD_EVENT_MASK = 2048LL; +public: // actually package-private + static const jlong INPUT_ENABLED_EVENT_MASK = 4096LL; +public: + static const jlong PAINT_EVENT_MASK = 8192LL; + static const jlong INVOCATION_EVENT_MASK = 16384LL; + static const jlong HIERARCHY_EVENT_MASK = 32768LL; + static const jlong HIERARCHY_BOUNDS_EVENT_MASK = 65536LL; + static const jlong MOUSE_WHEEL_EVENT_MASK = 131072LL; + static const jlong WINDOW_STATE_EVENT_MASK = 262144LL; + static const jlong WINDOW_FOCUS_EVENT_MASK = 524288LL; + static const jint RESERVED_ID_MAX = 1999; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTEvent__ diff --git a/libjava/java/awt/AWTEventMulticaster.h b/libjava/java/awt/AWTEventMulticaster.h new file mode 100644 index 00000000000..cb5d0243ac3 --- /dev/null +++ b/libjava/java/awt/AWTEventMulticaster.h @@ -0,0 +1,151 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTEventMulticaster__ +#define __java_awt_AWTEventMulticaster__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEventMulticaster; + namespace event + { + class ActionEvent; + class ActionListener; + class AdjustmentEvent; + class AdjustmentListener; + class ComponentEvent; + class ComponentListener; + class ContainerEvent; + class ContainerListener; + class FocusEvent; + class FocusListener; + class HierarchyBoundsListener; + class HierarchyEvent; + class HierarchyListener; + class InputMethodEvent; + class InputMethodListener; + class ItemEvent; + class ItemListener; + class KeyEvent; + class KeyListener; + class MouseEvent; + class MouseListener; + class MouseMotionListener; + class MouseWheelEvent; + class MouseWheelListener; + class TextEvent; + class TextListener; + class WindowEvent; + class WindowFocusListener; + class WindowListener; + class WindowStateListener; + } + } + } +} + +class java::awt::AWTEventMulticaster : public ::java::lang::Object +{ + +public: // actually protected + AWTEventMulticaster(::java::util::EventListener *, ::java::util::EventListener *); + virtual ::java::util::EventListener * remove(::java::util::EventListener *); +public: + virtual void componentResized(::java::awt::event::ComponentEvent *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); + virtual void componentShown(::java::awt::event::ComponentEvent *); + virtual void componentHidden(::java::awt::event::ComponentEvent *); + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); + virtual void keyTyped(::java::awt::event::KeyEvent *); + virtual void keyPressed(::java::awt::event::KeyEvent *); + virtual void keyReleased(::java::awt::event::KeyEvent *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void windowOpened(::java::awt::event::WindowEvent *); + virtual void windowClosing(::java::awt::event::WindowEvent *); + virtual void windowClosed(::java::awt::event::WindowEvent *); + virtual void windowIconified(::java::awt::event::WindowEvent *); + virtual void windowDeiconified(::java::awt::event::WindowEvent *); + virtual void windowActivated(::java::awt::event::WindowEvent *); + virtual void windowDeactivated(::java::awt::event::WindowEvent *); + virtual void windowStateChanged(::java::awt::event::WindowEvent *); + virtual void windowGainedFocus(::java::awt::event::WindowEvent *); + virtual void windowLostFocus(::java::awt::event::WindowEvent *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); + virtual void adjustmentValueChanged(::java::awt::event::AdjustmentEvent *); + virtual void textValueChanged(::java::awt::event::TextEvent *); + virtual void inputMethodTextChanged(::java::awt::event::InputMethodEvent *); + virtual void caretPositionChanged(::java::awt::event::InputMethodEvent *); + virtual void hierarchyChanged(::java::awt::event::HierarchyEvent *); + virtual void ancestorMoved(::java::awt::event::HierarchyEvent *); + virtual void ancestorResized(::java::awt::event::HierarchyEvent *); + virtual void mouseWheelMoved(::java::awt::event::MouseWheelEvent *); + static ::java::awt::event::ComponentListener * add(::java::awt::event::ComponentListener *, ::java::awt::event::ComponentListener *); + static ::java::awt::event::ContainerListener * add(::java::awt::event::ContainerListener *, ::java::awt::event::ContainerListener *); + static ::java::awt::event::FocusListener * add(::java::awt::event::FocusListener *, ::java::awt::event::FocusListener *); + static ::java::awt::event::KeyListener * add(::java::awt::event::KeyListener *, ::java::awt::event::KeyListener *); + static ::java::awt::event::MouseListener * add(::java::awt::event::MouseListener *, ::java::awt::event::MouseListener *); + static ::java::awt::event::MouseMotionListener * add(::java::awt::event::MouseMotionListener *, ::java::awt::event::MouseMotionListener *); + static ::java::awt::event::WindowListener * add(::java::awt::event::WindowListener *, ::java::awt::event::WindowListener *); + static ::java::awt::event::WindowStateListener * add(::java::awt::event::WindowStateListener *, ::java::awt::event::WindowStateListener *); + static ::java::awt::event::WindowFocusListener * add(::java::awt::event::WindowFocusListener *, ::java::awt::event::WindowFocusListener *); + static ::java::awt::event::ActionListener * add(::java::awt::event::ActionListener *, ::java::awt::event::ActionListener *); + static ::java::awt::event::ItemListener * add(::java::awt::event::ItemListener *, ::java::awt::event::ItemListener *); + static ::java::awt::event::AdjustmentListener * add(::java::awt::event::AdjustmentListener *, ::java::awt::event::AdjustmentListener *); + static ::java::awt::event::TextListener * add(::java::awt::event::TextListener *, ::java::awt::event::TextListener *); + static ::java::awt::event::InputMethodListener * add(::java::awt::event::InputMethodListener *, ::java::awt::event::InputMethodListener *); + static ::java::awt::event::HierarchyListener * add(::java::awt::event::HierarchyListener *, ::java::awt::event::HierarchyListener *); + static ::java::awt::event::HierarchyBoundsListener * add(::java::awt::event::HierarchyBoundsListener *, ::java::awt::event::HierarchyBoundsListener *); + static ::java::awt::event::MouseWheelListener * add(::java::awt::event::MouseWheelListener *, ::java::awt::event::MouseWheelListener *); + static ::java::awt::event::ComponentListener * remove(::java::awt::event::ComponentListener *, ::java::awt::event::ComponentListener *); + static ::java::awt::event::ContainerListener * remove(::java::awt::event::ContainerListener *, ::java::awt::event::ContainerListener *); + static ::java::awt::event::FocusListener * remove(::java::awt::event::FocusListener *, ::java::awt::event::FocusListener *); + static ::java::awt::event::KeyListener * remove(::java::awt::event::KeyListener *, ::java::awt::event::KeyListener *); + static ::java::awt::event::MouseListener * remove(::java::awt::event::MouseListener *, ::java::awt::event::MouseListener *); + static ::java::awt::event::MouseMotionListener * remove(::java::awt::event::MouseMotionListener *, ::java::awt::event::MouseMotionListener *); + static ::java::awt::event::WindowListener * remove(::java::awt::event::WindowListener *, ::java::awt::event::WindowListener *); + static ::java::awt::event::WindowStateListener * remove(::java::awt::event::WindowStateListener *, ::java::awt::event::WindowStateListener *); + static ::java::awt::event::WindowFocusListener * remove(::java::awt::event::WindowFocusListener *, ::java::awt::event::WindowFocusListener *); + static ::java::awt::event::ActionListener * remove(::java::awt::event::ActionListener *, ::java::awt::event::ActionListener *); + static ::java::awt::event::ItemListener * remove(::java::awt::event::ItemListener *, ::java::awt::event::ItemListener *); + static ::java::awt::event::AdjustmentListener * remove(::java::awt::event::AdjustmentListener *, ::java::awt::event::AdjustmentListener *); + static ::java::awt::event::TextListener * remove(::java::awt::event::TextListener *, ::java::awt::event::TextListener *); + static ::java::awt::event::InputMethodListener * remove(::java::awt::event::InputMethodListener *, ::java::awt::event::InputMethodListener *); + static ::java::awt::event::HierarchyListener * remove(::java::awt::event::HierarchyListener *, ::java::awt::event::HierarchyListener *); + static ::java::awt::event::HierarchyBoundsListener * remove(::java::awt::event::HierarchyBoundsListener *, ::java::awt::event::HierarchyBoundsListener *); + static ::java::awt::event::MouseWheelListener * remove(::java::awt::event::MouseWheelListener *, ::java::awt::event::MouseWheelListener *); +public: // actually protected + static ::java::util::EventListener * addInternal(::java::util::EventListener *, ::java::util::EventListener *); + static ::java::util::EventListener * removeInternal(::java::util::EventListener *, ::java::util::EventListener *); + virtual void saveInternal(::java::io::ObjectOutputStream *, ::java::lang::String *); + static void save(::java::io::ObjectOutputStream *, ::java::lang::String *, ::java::util::EventListener *); +public: + static JArray< ::java::util::EventListener * > * getListeners(::java::util::EventListener *, ::java::lang::Class *); +private: + void getListeners(::java::util::ArrayList *, ::java::lang::Class *); +public: // actually protected + ::java::util::EventListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) a; + ::java::util::EventListener * b; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTEventMulticaster__ diff --git a/libjava/java/awt/AWTException.h b/libjava/java/awt/AWTException.h new file mode 100644 index 00000000000..fdda1bde25b --- /dev/null +++ b/libjava/java/awt/AWTException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTException__ +#define __java_awt_AWTException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTException; + } + } +} + +class java::awt::AWTException : public ::java::lang::Exception +{ + +public: + AWTException(::java::lang::String *); +private: + static const jlong serialVersionUID = -1900414231151323879LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTException__ diff --git a/libjava/java/awt/AWTKeyStroke$1.h b/libjava/java/awt/AWTKeyStroke$1.h new file mode 100644 index 00000000000..cb6e72fed7d --- /dev/null +++ b/libjava/java/awt/AWTKeyStroke$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTKeyStroke$1__ +#define __java_awt_AWTKeyStroke$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTKeyStroke$1; + } + } +} + +class java::awt::AWTKeyStroke$1 : public ::java::util::LinkedHashMap +{ + +public: // actually package-private + AWTKeyStroke$1(jint, jfloat, jboolean); +public: // actually protected + jboolean removeEldestEntry(::java::util::Map$Entry *); +private: + static const jint MAX_CACHE_SIZE = 2048; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTKeyStroke$1__ diff --git a/libjava/java/awt/AWTKeyStroke$2.h b/libjava/java/awt/AWTKeyStroke$2.h new file mode 100644 index 00000000000..d3d838053c8 --- /dev/null +++ b/libjava/java/awt/AWTKeyStroke$2.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTKeyStroke$2__ +#define __java_awt_AWTKeyStroke$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTKeyStroke$2; + } + } +} + +class java::awt::AWTKeyStroke$2 : public ::java::lang::Object +{ + +public: // actually package-private + AWTKeyStroke$2(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTKeyStroke$2__ diff --git a/libjava/java/awt/AWTKeyStroke$3.h b/libjava/java/awt/AWTKeyStroke$3.h new file mode 100644 index 00000000000..f08335e03b6 --- /dev/null +++ b/libjava/java/awt/AWTKeyStroke$3.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTKeyStroke$3__ +#define __java_awt_AWTKeyStroke$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTKeyStroke$3; + } + } +} + +class java::awt::AWTKeyStroke$3 : public ::java::lang::Object +{ + +public: // actually package-private + AWTKeyStroke$3(::java::lang::Class *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$subclass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTKeyStroke$3__ diff --git a/libjava/java/awt/AWTKeyStroke.h b/libjava/java/awt/AWTKeyStroke.h new file mode 100644 index 00000000000..0b0032dd8b0 --- /dev/null +++ b/libjava/java/awt/AWTKeyStroke.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTKeyStroke__ +#define __java_awt_AWTKeyStroke__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTKeyStroke; + namespace event + { + class KeyEvent; + } + } + } +} + +class java::awt::AWTKeyStroke : public ::java::lang::Object +{ + +public: // actually protected + AWTKeyStroke(); + AWTKeyStroke(jchar, jint, jint, jboolean); + static void registerSubclass(::java::lang::Class *); +public: + static ::java::awt::AWTKeyStroke * getAWTKeyStroke(jchar); + static ::java::awt::AWTKeyStroke * getAWTKeyStroke(::java::lang::Character *, jint); + static ::java::awt::AWTKeyStroke * getAWTKeyStroke(jint, jint, jboolean); + static ::java::awt::AWTKeyStroke * getAWTKeyStroke(jint, jint); + static ::java::awt::AWTKeyStroke * getAWTKeyStrokeForEvent(::java::awt::event::KeyEvent *); + static ::java::awt::AWTKeyStroke * getAWTKeyStroke(::java::lang::String *); + virtual jchar getKeyChar(); + virtual jint getKeyCode(); + virtual jint getModifiers(); + virtual jboolean isOnKeyRelease(); + virtual jint getKeyEventType(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual ::java::lang::Object * readResolve(); +private: + static ::java::awt::AWTKeyStroke * getAWTKeyStroke(jchar, jint, jint, jboolean); + static jint extend(jint); + static const jlong serialVersionUID = -6430539691155161871LL; + static const jint MODIFIERS_MASK = 16367; + static ::java::util::LinkedHashMap * cache; + static ::java::awt::AWTKeyStroke * recent; + static ::java::lang::reflect::Constructor * ctor; +public: // actually package-private + static ::java::util::HashMap * vktable; +private: + jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) keyChar; +public: // actually package-private + jint keyCode; +private: + jint modifiers; + jboolean onKeyRelease; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTKeyStroke__ diff --git a/libjava/java/awt/AWTPermission.h b/libjava/java/awt/AWTPermission.h new file mode 100644 index 00000000000..4936c3dad27 --- /dev/null +++ b/libjava/java/awt/AWTPermission.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AWTPermission__ +#define __java_awt_AWTPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTPermission; + } + } +} + +class java::awt::AWTPermission : public ::java::security::BasicPermission +{ + +public: + AWTPermission(::java::lang::String *); + AWTPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 8890392402588814465LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AWTPermission__ diff --git a/libjava/java/awt/ActiveEvent.h b/libjava/java/awt/ActiveEvent.h new file mode 100644 index 00000000000..a2183cfe1a9 --- /dev/null +++ b/libjava/java/awt/ActiveEvent.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ActiveEvent__ +#define __java_awt_ActiveEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ActiveEvent; + } + } +} + +class java::awt::ActiveEvent : public ::java::lang::Object +{ + +public: + virtual void dispatch() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_ActiveEvent__ diff --git a/libjava/java/awt/Adjustable.h b/libjava/java/awt/Adjustable.h new file mode 100644 index 00000000000..9460f529a85 --- /dev/null +++ b/libjava/java/awt/Adjustable.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Adjustable__ +#define __java_awt_Adjustable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Adjustable; + namespace event + { + class AdjustmentListener; + } + } + } +} + +class java::awt::Adjustable : public ::java::lang::Object +{ + +public: + virtual jint getOrientation() = 0; + virtual void setMinimum(jint) = 0; + virtual jint getMinimum() = 0; + virtual void setMaximum(jint) = 0; + virtual jint getMaximum() = 0; + virtual void setUnitIncrement(jint) = 0; + virtual jint getUnitIncrement() = 0; + virtual void setBlockIncrement(jint) = 0; + virtual jint getBlockIncrement() = 0; + virtual void setVisibleAmount(jint) = 0; + virtual jint getVisibleAmount() = 0; + virtual void setValue(jint) = 0; + virtual jint getValue() = 0; + virtual void addAdjustmentListener(::java::awt::event::AdjustmentListener *) = 0; + virtual void removeAdjustmentListener(::java::awt::event::AdjustmentListener *) = 0; + static const jint HORIZONTAL = 0; + static const jint VERTICAL = 1; + static const jint NO_ORIENTATION = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_Adjustable__ diff --git a/libjava/java/awt/AlphaComposite$1.h b/libjava/java/awt/AlphaComposite$1.h new file mode 100644 index 00000000000..1203cc00dad --- /dev/null +++ b/libjava/java/awt/AlphaComposite$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AlphaComposite$1__ +#define __java_awt_AlphaComposite$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AlphaComposite$1; + } + } +} + +class java::awt::AlphaComposite$1 : public ::java::util::LinkedHashMap +{ + +public: // actually package-private + AlphaComposite$1(jint, jfloat, jboolean); +public: // actually protected + jboolean removeEldestEntry(::java::util::Map$Entry *); +private: + static const jint MAX_CACHE_SIZE = 2048; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AlphaComposite$1__ diff --git a/libjava/java/awt/AlphaComposite.h b/libjava/java/awt/AlphaComposite.h new file mode 100644 index 00000000000..a18ebbd6fde --- /dev/null +++ b/libjava/java/awt/AlphaComposite.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AlphaComposite__ +#define __java_awt_AlphaComposite__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AlphaComposite; + class CompositeContext; + class RenderingHints; + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::AlphaComposite : public ::java::lang::Object +{ + + AlphaComposite(jint, jfloat); +public: + static ::java::awt::AlphaComposite * getInstance(jint); + static ::java::awt::AlphaComposite * getInstance(jint, jfloat); + ::java::awt::CompositeContext * createContext(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::RenderingHints *); + jfloat getAlpha(); + jint getRule(); + jint hashCode(); + jboolean equals(::java::lang::Object *); +private: + static ::java::util::LinkedHashMap * cache; +public: + static const jint CLEAR = 1; + static const jint SRC = 2; + static const jint DST = 9; + static const jint SRC_OVER = 3; + static const jint DST_OVER = 4; + static const jint SRC_IN = 5; + static const jint DST_IN = 6; + static const jint SRC_OUT = 7; + static const jint DST_OUT = 8; + static const jint SRC_ATOP = 10; + static const jint DST_ATOP = 11; + static const jint XOR = 12; + static ::java::awt::AlphaComposite * Clear; + static ::java::awt::AlphaComposite * Src; + static ::java::awt::AlphaComposite * Dst; + static ::java::awt::AlphaComposite * SrcOver; + static ::java::awt::AlphaComposite * DstOver; + static ::java::awt::AlphaComposite * SrcIn; + static ::java::awt::AlphaComposite * DstIn; + static ::java::awt::AlphaComposite * SrcOut; + static ::java::awt::AlphaComposite * DstOut; + static ::java::awt::AlphaComposite * SrcAtop; + static ::java::awt::AlphaComposite * DstAtop; + static ::java::awt::AlphaComposite * Xor; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) rule; + jfloat alpha; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AlphaComposite__ diff --git a/libjava/java/awt/AttributeValue.h b/libjava/java/awt/AttributeValue.h new file mode 100644 index 00000000000..36294940b7e --- /dev/null +++ b/libjava/java/awt/AttributeValue.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_AttributeValue__ +#define __java_awt_AttributeValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AttributeValue; + } + } +} + +class java::awt::AttributeValue : public ::java::lang::Object +{ + +public: // actually package-private + AttributeValue(jint, JArray< ::java::lang::String * > *); +public: + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + JArray< ::java::lang::String * > * names; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_AttributeValue__ diff --git a/libjava/java/awt/BasicStroke.h b/libjava/java/awt/BasicStroke.h new file mode 100644 index 00000000000..c3a92343504 --- /dev/null +++ b/libjava/java/awt/BasicStroke.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_BasicStroke__ +#define __java_awt_BasicStroke__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace java2d + { + class Segment; + } + } + } + } + namespace java + { + namespace awt + { + class BasicStroke; + class Shape; + namespace geom + { + class GeneralPath; + class PathIterator; + class Point2D; + } + } + } +} + +class java::awt::BasicStroke : public ::java::lang::Object +{ + +public: + BasicStroke(jfloat, jint, jint, jfloat, JArray< jfloat > *, jfloat); + BasicStroke(jfloat, jint, jint, jfloat); + BasicStroke(jfloat, jint, jint); + BasicStroke(jfloat); + BasicStroke(); + virtual ::java::awt::Shape * createStrokedShape(::java::awt::Shape *); + virtual jfloat getLineWidth(); + virtual jint getEndCap(); + virtual jint getLineJoin(); + virtual jfloat getMiterLimit(); + virtual JArray< jfloat > * getDashArray(); + virtual jfloat getDashPhase(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +private: + ::java::awt::Shape * solidStroke(::java::awt::geom::PathIterator *); + ::java::awt::Shape * dashedStroke(::java::awt::geom::PathIterator *); + void capEnds(); + void convertPath(::java::awt::geom::GeneralPath *, ::gnu::java::awt::java2d::Segment *); + void addSegments(JArray< ::gnu::java::awt::java2d::Segment * > *); + void joinSegments(JArray< ::gnu::java::awt::java2d::Segment * > *); + void capEnd(::gnu::java::awt::java2d::Segment *, ::gnu::java::awt::java2d::Segment *); + ::java::awt::geom::Point2D * lineIntersection(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jboolean); + void joinOuterSegments(::gnu::java::awt::java2d::Segment *, ::gnu::java::awt::java2d::Segment *, ::java::awt::geom::Point2D *); + void joinInnerSegments(::gnu::java::awt::java2d::Segment *, ::gnu::java::awt::java2d::Segment *, ::java::awt::geom::Point2D *); +public: + static const jint JOIN_MITER = 0; + static const jint JOIN_ROUND = 1; + static const jint JOIN_BEVEL = 2; + static const jint CAP_BUTT = 0; + static const jint CAP_ROUND = 1; + static const jint CAP_SQUARE = 2; +private: + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) width; + jint cap; + jint join; + jfloat limit; + JArray< jfloat > * dash; + jfloat phase; + ::gnu::java::awt::java2d::Segment * start; + ::gnu::java::awt::java2d::Segment * end; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_BasicStroke__ diff --git a/libjava/java/awt/BorderLayout.h b/libjava/java/awt/BorderLayout.h new file mode 100644 index 00000000000..f78e9716441 --- /dev/null +++ b/libjava/java/awt/BorderLayout.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_BorderLayout__ +#define __java_awt_BorderLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class BorderLayout; + class Component; + class Container; + class Dimension; + } + } +} + +class java::awt::BorderLayout : public ::java::lang::Object +{ + +public: + BorderLayout(); + BorderLayout(jint, jint); + virtual jint getHgap(); + virtual void setHgap(jint); + virtual jint getVgap(); + virtual void setVgap(jint); + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::lang::String * toString(); +private: + ::java::awt::Dimension * calcCompSize(::java::awt::Component *, jint); + ::java::awt::Dimension * calcSize(::java::awt::Container *, jint); +public: + virtual ::java::awt::Component * getLayoutComponent(::java::lang::Object *); + virtual ::java::awt::Component * getLayoutComponent(::java::awt::Container *, ::java::lang::Object *); + virtual ::java::lang::Object * getConstraints(::java::awt::Component *); + static ::java::lang::String * NORTH; + static ::java::lang::String * SOUTH; + static ::java::lang::String * EAST; + static ::java::lang::String * WEST; + static ::java::lang::String * CENTER; + static ::java::lang::String * BEFORE_FIRST_LINE; + static ::java::lang::String * AFTER_LAST_LINE; + static ::java::lang::String * BEFORE_LINE_BEGINS; + static ::java::lang::String * AFTER_LINE_ENDS; + static ::java::lang::String * PAGE_START; + static ::java::lang::String * PAGE_END; + static ::java::lang::String * LINE_START; + static ::java::lang::String * LINE_END; +private: + static const jlong serialVersionUID = -8658291919501921765LL; + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) north; + ::java::awt::Component * south; + ::java::awt::Component * east; + ::java::awt::Component * west; + ::java::awt::Component * center; + ::java::awt::Component * firstLine; + ::java::awt::Component * lastLine; + ::java::awt::Component * firstItem; + ::java::awt::Component * lastItem; + jint hgap; + jint vgap; + static const jint MIN = 0; + static const jint MAX = 1; + static const jint PREF = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_BorderLayout__ diff --git a/libjava/java/awt/BufferCapabilities$FlipContents.h b/libjava/java/awt/BufferCapabilities$FlipContents.h new file mode 100644 index 00000000000..b5f45e4d020 --- /dev/null +++ b/libjava/java/awt/BufferCapabilities$FlipContents.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_BufferCapabilities$FlipContents__ +#define __java_awt_BufferCapabilities$FlipContents__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities$FlipContents; + } + } +} + +class java::awt::BufferCapabilities$FlipContents : public ::java::awt::AttributeValue +{ + + BufferCapabilities$FlipContents(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::BufferCapabilities$FlipContents * UNDEFINED; + static ::java::awt::BufferCapabilities$FlipContents * BACKGROUND; + static ::java::awt::BufferCapabilities$FlipContents * PRIOR; + static ::java::awt::BufferCapabilities$FlipContents * COPIED; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_BufferCapabilities$FlipContents__ diff --git a/libjava/java/awt/BufferCapabilities.h b/libjava/java/awt/BufferCapabilities.h new file mode 100644 index 00000000000..bda4b752c50 --- /dev/null +++ b/libjava/java/awt/BufferCapabilities.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_BufferCapabilities__ +#define __java_awt_BufferCapabilities__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class ImageCapabilities; + } + } +} + +class java::awt::BufferCapabilities : public ::java::lang::Object +{ + +public: + BufferCapabilities(::java::awt::ImageCapabilities *, ::java::awt::ImageCapabilities *, ::java::awt::BufferCapabilities$FlipContents *); + virtual ::java::awt::ImageCapabilities * getFrontBufferCapabilities(); + virtual ::java::awt::ImageCapabilities * getBackBufferCapabilities(); + virtual jboolean isPageFlipping(); + virtual ::java::awt::BufferCapabilities$FlipContents * getFlipContents(); + virtual jboolean isFullScreenRequired(); + virtual jboolean isMultiBufferAvailable(); + virtual ::java::lang::Object * clone(); +private: + ::java::awt::ImageCapabilities * __attribute__((aligned(__alignof__( ::java::lang::Object)))) front; + ::java::awt::ImageCapabilities * back; + ::java::awt::BufferCapabilities$FlipContents * flip; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_BufferCapabilities__ diff --git a/libjava/java/awt/Button$AccessibleAWTButton.h b/libjava/java/awt/Button$AccessibleAWTButton.h new file mode 100644 index 00000000000..be1dc9a11ac --- /dev/null +++ b/libjava/java/awt/Button$AccessibleAWTButton.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Button$AccessibleAWTButton__ +#define __java_awt_Button$AccessibleAWTButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Button; + class Button$AccessibleAWTButton; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleAction; + class AccessibleRole; + class AccessibleValue; + } + } +} + +class java::awt::Button$AccessibleAWTButton : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: // actually protected + Button$AccessibleAWTButton(::java::awt::Button *); +public: + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jboolean doAccessibleAction(jint); + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -5932203980244017102LL; +public: // actually package-private + ::java::awt::Button * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Button$AccessibleAWTButton__ diff --git a/libjava/java/awt/Button.h b/libjava/java/awt/Button.h new file mode 100644 index 00000000000..19636de837a --- /dev/null +++ b/libjava/java/awt/Button.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Button__ +#define __java_awt_Button__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Button; + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Button : public ::java::awt::Component +{ + +public: + Button(); + Button(::java::lang::String *); + virtual ::java::lang::String * getLabel(); + virtual void setLabel(::java::lang::String *); + virtual ::java::lang::String * getActionCommand(); + virtual void setActionCommand(::java::lang::String *); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual void addNotify(); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processActionEvent(::java::awt::event::ActionEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = -8774683716313001058LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::awt::Component)))) actionCommand; + ::java::lang::String * label; +private: + ::java::awt::event::ActionListener * action_listeners; + static jlong next_button_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Button__ diff --git a/libjava/java/awt/Canvas$AccessibleAWTCanvas.h b/libjava/java/awt/Canvas$AccessibleAWTCanvas.h new file mode 100644 index 00000000000..f4f6a3e37c1 --- /dev/null +++ b/libjava/java/awt/Canvas$AccessibleAWTCanvas.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Canvas$AccessibleAWTCanvas__ +#define __java_awt_Canvas$AccessibleAWTCanvas__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Canvas; + class Canvas$AccessibleAWTCanvas; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::Canvas$AccessibleAWTCanvas : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: // actually protected + Canvas$AccessibleAWTCanvas(::java::awt::Canvas *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -6325592262103146699LL; +public: // actually package-private + ::java::awt::Canvas * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Canvas$AccessibleAWTCanvas__ diff --git a/libjava/java/awt/Canvas$CanvasBltBufferStrategy.h b/libjava/java/awt/Canvas$CanvasBltBufferStrategy.h new file mode 100644 index 00000000000..f47ae70680a --- /dev/null +++ b/libjava/java/awt/Canvas$CanvasBltBufferStrategy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Canvas$CanvasBltBufferStrategy__ +#define __java_awt_Canvas$CanvasBltBufferStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Canvas; + class Canvas$CanvasBltBufferStrategy; + } + } +} + +class java::awt::Canvas$CanvasBltBufferStrategy : public ::java::awt::Component$BltBufferStrategy +{ + +public: // actually package-private + Canvas$CanvasBltBufferStrategy(::java::awt::Canvas *, jint, jboolean); + ::java::awt::Canvas * __attribute__((aligned(__alignof__( ::java::awt::Component$BltBufferStrategy)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Canvas$CanvasBltBufferStrategy__ diff --git a/libjava/java/awt/Canvas$CanvasFlipBufferStrategy.h b/libjava/java/awt/Canvas$CanvasFlipBufferStrategy.h new file mode 100644 index 00000000000..0af653f2c6d --- /dev/null +++ b/libjava/java/awt/Canvas$CanvasFlipBufferStrategy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Canvas$CanvasFlipBufferStrategy__ +#define __java_awt_Canvas$CanvasFlipBufferStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Canvas; + class Canvas$CanvasFlipBufferStrategy; + } + } +} + +class java::awt::Canvas$CanvasFlipBufferStrategy : public ::java::awt::Component$FlipBufferStrategy +{ + +public: // actually package-private + Canvas$CanvasFlipBufferStrategy(::java::awt::Canvas *, jint); + ::java::awt::Canvas * __attribute__((aligned(__alignof__( ::java::awt::Component$FlipBufferStrategy)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Canvas$CanvasFlipBufferStrategy__ diff --git a/libjava/java/awt/Canvas.h b/libjava/java/awt/Canvas.h new file mode 100644 index 00000000000..97726a2c02c --- /dev/null +++ b/libjava/java/awt/Canvas.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Canvas__ +#define __java_awt_Canvas__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities; + class Canvas; + class Graphics; + class GraphicsConfiguration; + namespace image + { + class BufferStrategy; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Canvas : public ::java::awt::Component +{ + +public: + Canvas(); + Canvas(::java::awt::GraphicsConfiguration *); +public: // actually package-private + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfigurationImpl(); +public: + virtual void addNotify(); + virtual void paint(::java::awt::Graphics *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual void createBufferStrategy(jint); + virtual void createBufferStrategy(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::image::BufferStrategy * getBufferStrategy(); + virtual void update(::java::awt::Graphics *); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = -2284879212465893870LL; + static jlong next_canvas_number; +public: // actually package-private + ::java::awt::GraphicsConfiguration * __attribute__((aligned(__alignof__( ::java::awt::Component)))) graphicsConfiguration; + ::java::awt::image::BufferStrategy * bufferStrategy; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Canvas__ diff --git a/libjava/java/awt/CardLayout.h b/libjava/java/awt/CardLayout.h new file mode 100644 index 00000000000..9affd84fbca --- /dev/null +++ b/libjava/java/awt/CardLayout.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_CardLayout__ +#define __java_awt_CardLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class CardLayout; + class Component; + class Container; + class Dimension; + } + } +} + +class java::awt::CardLayout : public ::java::lang::Object +{ + +public: + CardLayout(); + CardLayout(jint, jint); + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void first(::java::awt::Container *); + virtual jint getHgap(); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual jint getVgap(); + virtual void invalidateLayout(::java::awt::Container *); + virtual void last(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void next(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void previous(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void setHgap(jint); + virtual void setVgap(jint); + virtual void show(::java::awt::Container *, ::java::lang::String *); + virtual ::java::lang::String * toString(); +private: + void gotoComponent(::java::awt::Container *, jint); + ::java::awt::Dimension * getSize(::java::awt::Container *, jint); + static const jlong serialVersionUID = -4328196481005934313LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) hgap; + jint vgap; + ::java::util::Hashtable * tab; + static const jint FIRST = 0; + static const jint LAST = 1; + static const jint NEXT = 2; + static const jint PREV = 3; + static const jint MIN = 0; + static const jint MAX = 1; + static const jint PREF = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_CardLayout__ diff --git a/libjava/java/awt/Checkbox$AccessibleAWTCheckbox.h b/libjava/java/awt/Checkbox$AccessibleAWTCheckbox.h new file mode 100644 index 00000000000..025c42a37b6 --- /dev/null +++ b/libjava/java/awt/Checkbox$AccessibleAWTCheckbox.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Checkbox$AccessibleAWTCheckbox__ +#define __java_awt_Checkbox$AccessibleAWTCheckbox__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Checkbox; + class Checkbox$AccessibleAWTCheckbox; + namespace event + { + class ItemEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleAction; + class AccessibleRole; + class AccessibleStateSet; + class AccessibleValue; + } + } +} + +class java::awt::Checkbox$AccessibleAWTCheckbox : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: + Checkbox$AccessibleAWTCheckbox(::java::awt::Checkbox *); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jboolean doAccessibleAction(jint); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 7881579233144754107LL; +public: // actually package-private + ::java::awt::Checkbox * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Checkbox$AccessibleAWTCheckbox__ diff --git a/libjava/java/awt/Checkbox.h b/libjava/java/awt/Checkbox.h new file mode 100644 index 00000000000..614f599f624 --- /dev/null +++ b/libjava/java/awt/Checkbox.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Checkbox__ +#define __java_awt_Checkbox__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Checkbox; + class CheckboxGroup; + namespace event + { + class ItemEvent; + class ItemListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Checkbox : public ::java::awt::Component +{ + +public: + Checkbox(); + Checkbox(::java::lang::String *); + Checkbox(::java::lang::String *, jboolean); + Checkbox(::java::lang::String *, ::java::awt::CheckboxGroup *, jboolean); + Checkbox(::java::lang::String *, jboolean, ::java::awt::CheckboxGroup *); + virtual ::java::lang::String * getLabel(); + virtual void setLabel(::java::lang::String *); + virtual jboolean getState(); + virtual void setState(jboolean); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual ::java::awt::CheckboxGroup * getCheckboxGroup(); + virtual void setCheckboxGroup(::java::awt::CheckboxGroup *); + virtual void addNotify(); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processItemEvent(::java::awt::event::ItemEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = 7270714317450821763LL; + ::java::awt::CheckboxGroup * __attribute__((aligned(__alignof__( ::java::awt::Component)))) group; + ::java::lang::String * label; +public: // actually package-private + jboolean state; +private: + ::java::awt::event::ItemListener * item_listeners; + static jlong next_checkbox_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Checkbox__ diff --git a/libjava/java/awt/CheckboxGroup.h b/libjava/java/awt/CheckboxGroup.h new file mode 100644 index 00000000000..80a4557b3c4 --- /dev/null +++ b/libjava/java/awt/CheckboxGroup.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_CheckboxGroup__ +#define __java_awt_CheckboxGroup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Checkbox; + class CheckboxGroup; + } + } +} + +class java::awt::CheckboxGroup : public ::java::lang::Object +{ + +public: + CheckboxGroup(); + virtual ::java::awt::Checkbox * getSelectedCheckbox(); + virtual ::java::awt::Checkbox * getCurrent(); + virtual void setSelectedCheckbox(::java::awt::Checkbox *); + virtual void setCurrent(::java::awt::Checkbox *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 3729780091441768983LL; + ::java::awt::Checkbox * __attribute__((aligned(__alignof__( ::java::lang::Object)))) selectedCheckbox; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_CheckboxGroup__ diff --git a/libjava/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.h b/libjava/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.h new file mode 100644 index 00000000000..c9111835f4b --- /dev/null +++ b/libjava/java/awt/CheckboxMenuItem$AccessibleAWTCheckboxMenuItem.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_CheckboxMenuItem$AccessibleAWTCheckboxMenuItem__ +#define __java_awt_CheckboxMenuItem$AccessibleAWTCheckboxMenuItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class CheckboxMenuItem; + class CheckboxMenuItem$AccessibleAWTCheckboxMenuItem; + } + } +} + +class java::awt::CheckboxMenuItem$AccessibleAWTCheckboxMenuItem : public ::java::awt::MenuItem$AccessibleAWTMenuItem +{ + +public: // actually protected + CheckboxMenuItem$AccessibleAWTCheckboxMenuItem(::java::awt::CheckboxMenuItem *); +private: + static const jlong serialVersionUID = -1122642964303476LL; +public: // actually package-private + ::java::awt::CheckboxMenuItem * __attribute__((aligned(__alignof__( ::java::awt::MenuItem$AccessibleAWTMenuItem)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_CheckboxMenuItem$AccessibleAWTCheckboxMenuItem__ diff --git a/libjava/java/awt/CheckboxMenuItem.h b/libjava/java/awt/CheckboxMenuItem.h new file mode 100644 index 00000000000..52b7223cb28 --- /dev/null +++ b/libjava/java/awt/CheckboxMenuItem.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_CheckboxMenuItem__ +#define __java_awt_CheckboxMenuItem__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class CheckboxMenuItem; + namespace event + { + class ItemEvent; + class ItemListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::CheckboxMenuItem : public ::java::awt::MenuItem +{ + +public: + CheckboxMenuItem(); + CheckboxMenuItem(::java::lang::String *); + CheckboxMenuItem(::java::lang::String *, jboolean); + virtual jboolean getState(); + virtual void setState(jboolean); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual void addNotify(); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processItemEvent(::java::awt::event::ItemEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: + virtual ::java::lang::String * paramString(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static jlong next_chkmenuitem_number; + static const jlong serialVersionUID = 6190621106981774043LL; + jboolean __attribute__((aligned(__alignof__( ::java::awt::MenuItem)))) state; + ::java::awt::event::ItemListener * item_listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_CheckboxMenuItem__ diff --git a/libjava/java/awt/Choice$AccessibleAWTChoice.h b/libjava/java/awt/Choice$AccessibleAWTChoice.h new file mode 100644 index 00000000000..61b2d237732 --- /dev/null +++ b/libjava/java/awt/Choice$AccessibleAWTChoice.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Choice$AccessibleAWTChoice__ +#define __java_awt_Choice$AccessibleAWTChoice__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Choice; + class Choice$AccessibleAWTChoice; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleAction; + class AccessibleRole; + } + } +} + +class java::awt::Choice$AccessibleAWTChoice : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: + Choice$AccessibleAWTChoice(::java::awt::Choice *); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jboolean doAccessibleAction(jint); +private: + static const jlong serialVersionUID = 7175603582428509322LL; +public: // actually package-private + ::java::awt::Choice * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Choice$AccessibleAWTChoice__ diff --git a/libjava/java/awt/Choice.h b/libjava/java/awt/Choice.h new file mode 100644 index 00000000000..fc0261391a1 --- /dev/null +++ b/libjava/java/awt/Choice.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Choice__ +#define __java_awt_Choice__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Choice; + namespace event + { + class ItemEvent; + class ItemListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Choice : public ::java::awt::Component +{ + +public: + Choice(); + virtual jint getItemCount(); + virtual jint countItems(); + virtual ::java::lang::String * getItem(jint); + virtual void add(::java::lang::String *); + virtual void addItem(::java::lang::String *); + virtual void insert(::java::lang::String *, jint); + virtual void remove(::java::lang::String *); + virtual void remove(jint); + virtual void removeAll(); + virtual ::java::lang::String * getSelectedItem(); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual jint getSelectedIndex(); + virtual void select(jint); + virtual void select(::java::lang::String *); + virtual void addNotify(); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual void processItemEvent(::java::awt::event::ItemEvent *); + virtual ::java::lang::String * paramString(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static jlong next_choice_number; + static const jlong serialVersionUID = -4075310674757313071LL; +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::awt::Component)))) pItems; +private: + jint selectedIndex; + ::java::awt::event::ItemListener * item_listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Choice__ diff --git a/libjava/java/awt/Color.h b/libjava/java/awt/Color.h new file mode 100644 index 00000000000..a1bbaff49be --- /dev/null +++ b/libjava/java/awt/Color.h @@ -0,0 +1,128 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Color__ +#define __java_awt_Color__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class ColorPaintContext; + class PaintContext; + class Rectangle; + class RenderingHints; + namespace color + { + class ColorSpace; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::Color : public ::java::lang::Object +{ + +public: + Color(jint, jint, jint); + Color(jint, jint, jint, jint); + Color(jint); + Color(jint, jboolean); + Color(jfloat, jfloat, jfloat); + Color(jfloat, jfloat, jfloat, jfloat); + Color(::java::awt::color::ColorSpace *, JArray< jfloat > *, jfloat); + virtual jint getRed(); + virtual jint getGreen(); + virtual jint getBlue(); + virtual jint getAlpha(); + virtual jint getRGB(); + virtual ::java::awt::Color * brighter(); + virtual ::java::awt::Color * darker(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + static ::java::awt::Color * decode(::java::lang::String *); + static ::java::awt::Color * getColor(::java::lang::String *); + static ::java::awt::Color * getColor(::java::lang::String *, ::java::awt::Color *); + static ::java::awt::Color * getColor(::java::lang::String *, jint); + static jint HSBtoRGB(jfloat, jfloat, jfloat); + static JArray< jfloat > * RGBtoHSB(jint, jint, jint, JArray< jfloat > *); + static ::java::awt::Color * getHSBColor(jfloat, jfloat, jfloat); + virtual JArray< jfloat > * getRGBComponents(JArray< jfloat > *); + virtual JArray< jfloat > * getRGBColorComponents(JArray< jfloat > *); + virtual JArray< jfloat > * getComponents(JArray< jfloat > *); + virtual JArray< jfloat > * getColorComponents(JArray< jfloat > *); + virtual JArray< jfloat > * getComponents(::java::awt::color::ColorSpace *, JArray< jfloat > *); + virtual JArray< jfloat > * getColorComponents(::java::awt::color::ColorSpace *, JArray< jfloat > *); + virtual ::java::awt::color::ColorSpace * getColorSpace(); + virtual ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + virtual jint getTransparency(); +private: + static jint convert(jfloat, jfloat, jfloat, jfloat); + static const jlong serialVersionUID = 118526816881161077LL; +public: + static ::java::awt::Color * white; + static ::java::awt::Color * WHITE; + static ::java::awt::Color * lightGray; + static ::java::awt::Color * LIGHT_GRAY; + static ::java::awt::Color * gray; + static ::java::awt::Color * GRAY; + static ::java::awt::Color * darkGray; + static ::java::awt::Color * DARK_GRAY; + static ::java::awt::Color * black; + static ::java::awt::Color * BLACK; + static ::java::awt::Color * red; + static ::java::awt::Color * RED; + static ::java::awt::Color * pink; + static ::java::awt::Color * PINK; + static ::java::awt::Color * orange; + static ::java::awt::Color * ORANGE; + static ::java::awt::Color * yellow; + static ::java::awt::Color * YELLOW; + static ::java::awt::Color * green; + static ::java::awt::Color * GREEN; + static ::java::awt::Color * magenta; + static ::java::awt::Color * MAGENTA; + static ::java::awt::Color * cyan; + static ::java::awt::Color * CYAN; + static ::java::awt::Color * blue; + static ::java::awt::Color * BLUE; +private: + static const jint RED_MASK = 16711680; + static const jint GREEN_MASK = 65280; + static const jint BLUE_MASK = 255; +public: // actually package-private + static const jint ALPHA_MASK = -16777216; +private: + static jfloat BRIGHT_SCALE; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + JArray< jfloat > * frgbvalue; + JArray< jfloat > * fvalue; + jfloat falpha; + ::java::awt::color::ColorSpace * cs; +public: // actually package-private + ::java::awt::ColorPaintContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Color__ diff --git a/libjava/java/awt/ColorPaintContext$ColorRaster.h b/libjava/java/awt/ColorPaintContext$ColorRaster.h new file mode 100644 index 00000000000..d116f81c907 --- /dev/null +++ b/libjava/java/awt/ColorPaintContext$ColorRaster.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ColorPaintContext$ColorRaster__ +#define __java_awt_ColorPaintContext$ColorRaster__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ColorPaintContext; + class ColorPaintContext$ColorRaster; + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::ColorPaintContext$ColorRaster : public ::java::awt::image::Raster +{ + +public: // actually package-private + ColorPaintContext$ColorRaster(::java::awt::ColorPaintContext *, ::java::awt::image::ColorModel *, jint, jint, jint, jint, jint); +private: + ::java::lang::Object * multiplyData(::java::lang::Object *, ::java::lang::Object *, jint); +public: // actually package-private + ::java::awt::ColorPaintContext * __attribute__((aligned(__alignof__( ::java::awt::image::Raster)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ColorPaintContext$ColorRaster__ diff --git a/libjava/java/awt/ColorPaintContext.h b/libjava/java/awt/ColorPaintContext.h new file mode 100644 index 00000000000..e96fc43ff80 --- /dev/null +++ b/libjava/java/awt/ColorPaintContext.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ColorPaintContext__ +#define __java_awt_ColorPaintContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ColorPaintContext; + class ColorPaintContext$ColorRaster; + namespace image + { + class ColorModel; + class Raster; + } + } + } +} + +class java::awt::ColorPaintContext : public ::java::lang::Object +{ + +public: // actually package-private + ColorPaintContext(jint); + ColorPaintContext(::java::awt::image::ColorModel *, jint); +public: + virtual void dispose(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) color; + ::java::awt::image::ColorModel * colorModel; +private: + ::java::awt::ColorPaintContext$ColorRaster * cachedRaster; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ColorPaintContext__ diff --git a/libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.h b/libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.h new file mode 100644 index 00000000000..4dda12238a4 --- /dev/null +++ b/libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component$AccessibleAWTComponent$AccessibleAWTComponentHandler__ +#define __java_awt_Component$AccessibleAWTComponent$AccessibleAWTComponentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component$AccessibleAWTComponent; + class Component$AccessibleAWTComponent$AccessibleAWTComponentHandler; + namespace event + { + class ComponentEvent; + } + } + } +} + +class java::awt::Component$AccessibleAWTComponent$AccessibleAWTComponentHandler : public ::java::lang::Object +{ + +public: // actually protected + Component$AccessibleAWTComponent$AccessibleAWTComponentHandler(::java::awt::Component$AccessibleAWTComponent *); +public: + virtual void componentHidden(::java::awt::event::ComponentEvent *); + virtual void componentShown(::java::awt::event::ComponentEvent *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); + virtual void componentResized(::java::awt::event::ComponentEvent *); +public: // actually package-private + ::java::awt::Component$AccessibleAWTComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component$AccessibleAWTComponent$AccessibleAWTComponentHandler__ diff --git a/libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.h b/libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.h new file mode 100644 index 00000000000..429c49aa7eb --- /dev/null +++ b/libjava/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component$AccessibleAWTComponent$AccessibleAWTFocusHandler__ +#define __java_awt_Component$AccessibleAWTComponent$AccessibleAWTFocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component$AccessibleAWTComponent; + class Component$AccessibleAWTComponent$AccessibleAWTFocusHandler; + namespace event + { + class FocusEvent; + } + } + } +} + +class java::awt::Component$AccessibleAWTComponent$AccessibleAWTFocusHandler : public ::java::lang::Object +{ + +public: // actually protected + Component$AccessibleAWTComponent$AccessibleAWTFocusHandler(::java::awt::Component$AccessibleAWTComponent *); +public: + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::java::awt::Component$AccessibleAWTComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component$AccessibleAWTComponent$AccessibleAWTFocusHandler__ diff --git a/libjava/java/awt/Component$AccessibleAWTComponent.h b/libjava/java/awt/Component$AccessibleAWTComponent.h new file mode 100644 index 00000000000..c46ecf76c12 --- /dev/null +++ b/libjava/java/awt/Component$AccessibleAWTComponent.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component$AccessibleAWTComponent__ +#define __java_awt_Component$AccessibleAWTComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Component$AccessibleAWTComponent; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class ComponentListener; + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleComponent; + class AccessibleRole; + class AccessibleStateSet; + } + } +} + +class java::awt::Component$AccessibleAWTComponent : public ::javax::accessibility::AccessibleContext +{ + +public: // actually protected + Component$AccessibleAWTComponent(::java::awt::Component *); +public: + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual ::java::lang::String * getAccessibleName(); + virtual ::java::lang::String * getAccessibleDescription(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::Accessible * getAccessibleParent(); + virtual jint getAccessibleIndexInParent(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::java::util::Locale * getLocale(); + virtual ::javax::accessibility::AccessibleComponent * getAccessibleComponent(); + virtual ::java::awt::Color * getBackground(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getForeground(); + virtual void setForeground(::java::awt::Color *); + virtual ::java::awt::Cursor * getCursor(); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual jboolean isVisible(); + virtual void setVisible(jboolean); + virtual jboolean isShowing(); + virtual jboolean contains(::java::awt::Point *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Point * getLocation(); + virtual void setLocation(::java::awt::Point *); + virtual ::java::awt::Rectangle * getBounds(); + virtual void setBounds(::java::awt::Rectangle *); + virtual ::java::awt::Dimension * getSize(); + virtual void setSize(::java::awt::Dimension *); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual jboolean isFocusTraversable(); + virtual void requestFocus(); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void removeFocusListener(::java::awt::event::FocusListener *); +private: + static const jlong serialVersionUID = 642321655757800191LL; +public: // actually protected + ::java::awt::event::ComponentListener * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) accessibleAWTComponentHandler; + ::java::awt::event::FocusListener * accessibleAWTFocusHandler; +public: // actually package-private + ::java::awt::Component * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component$AccessibleAWTComponent__ diff --git a/libjava/java/awt/Component$BltBufferStrategy.h b/libjava/java/awt/Component$BltBufferStrategy.h new file mode 100644 index 00000000000..ca93face167 --- /dev/null +++ b/libjava/java/awt/Component$BltBufferStrategy.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component$BltBufferStrategy__ +#define __java_awt_Component$BltBufferStrategy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities; + class Component; + class Component$BltBufferStrategy; + class Graphics; + namespace image + { + class VolatileImage; + } + } + } +} + +class java::awt::Component$BltBufferStrategy : public ::java::awt::image::BufferStrategy +{ + +public: // actually protected + Component$BltBufferStrategy(::java::awt::Component *, jint, ::java::awt::BufferCapabilities *); + virtual void createBackBuffers(jint); +public: + virtual ::java::awt::BufferCapabilities * getCapabilities(); + virtual ::java::awt::Graphics * getDrawGraphics(); + virtual void show(); +public: // actually protected + virtual void revalidate(); +public: + virtual jboolean contentsLost(); + virtual jboolean contentsRestored(); +public: // actually protected + ::java::awt::BufferCapabilities * __attribute__((aligned(__alignof__( ::java::awt::image::BufferStrategy)))) caps; + JArray< ::java::awt::image::VolatileImage * > * backBuffers; + jboolean validatedContents; + jint width; + jint height; +private: + ::java::awt::image::VolatileImage * frontBuffer; +public: // actually package-private + ::java::awt::Component * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component$BltBufferStrategy__ diff --git a/libjava/java/awt/Component$FlipBufferStrategy.h b/libjava/java/awt/Component$FlipBufferStrategy.h new file mode 100644 index 00000000000..654cfd29a3a --- /dev/null +++ b/libjava/java/awt/Component$FlipBufferStrategy.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component$FlipBufferStrategy__ +#define __java_awt_Component$FlipBufferStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Component; + class Component$FlipBufferStrategy; + class Graphics; + class Image; + namespace image + { + class VolatileImage; + } + } + } +} + +class java::awt::Component$FlipBufferStrategy : public ::java::awt::image::BufferStrategy +{ + +public: // actually protected + Component$FlipBufferStrategy(::java::awt::Component *, jint, ::java::awt::BufferCapabilities *); + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::Image * getBackBuffer(); + virtual void flip(::java::awt::BufferCapabilities$FlipContents *); + virtual void destroyBuffers(); +public: + virtual ::java::awt::BufferCapabilities * getCapabilities(); + virtual ::java::awt::Graphics * getDrawGraphics(); +public: // actually protected + virtual void revalidate(); +public: + virtual jboolean contentsLost(); + virtual jboolean contentsRestored(); + virtual void show(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::awt::image::BufferStrategy)))) numBuffers; + ::java::awt::BufferCapabilities * caps; + ::java::awt::Image * drawBuffer; + ::java::awt::image::VolatileImage * drawVBuffer; + jboolean validatedContents; +private: + jint width; + jint height; +public: // actually package-private + ::java::awt::Component * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component$FlipBufferStrategy__ diff --git a/libjava/java/awt/Component$HeavyweightInLightweightListener.h b/libjava/java/awt/Component$HeavyweightInLightweightListener.h new file mode 100644 index 00000000000..571b22dfa03 --- /dev/null +++ b/libjava/java/awt/Component$HeavyweightInLightweightListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component$HeavyweightInLightweightListener__ +#define __java_awt_Component$HeavyweightInLightweightListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Component$HeavyweightInLightweightListener; + class Container; + namespace event + { + class ComponentEvent; + } + } + } +} + +class java::awt::Component$HeavyweightInLightweightListener : public ::java::lang::Object +{ + +public: + Component$HeavyweightInLightweightListener(::java::awt::Component *, ::java::awt::Container *); + virtual void componentResized(::java::awt::event::ComponentEvent *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); + virtual void componentShown(::java::awt::event::ComponentEvent *); + virtual void componentHidden(::java::awt::event::ComponentEvent *); +public: // actually package-private + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component$HeavyweightInLightweightListener__ diff --git a/libjava/java/awt/Component.h b/libjava/java/awt/Component.h new file mode 100644 index 00000000000..4b14757911e --- /dev/null +++ b/libjava/java/awt/Component.h @@ -0,0 +1,434 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Component__ +#define __java_awt_Component__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Color; + class Component; + class ComponentOrientation; + class Container; + class Cursor; + class Dimension; + class Event; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class ImageCapabilities; + class MenuComponent; + class Point; + class PopupMenu; + class Rectangle; + class Toolkit; + namespace dnd + { + class DropTarget; + } + namespace event + { + class ComponentEvent; + class ComponentListener; + class FocusEvent; + class FocusListener; + class HierarchyBoundsListener; + class HierarchyEvent; + class HierarchyListener; + class InputMethodEvent; + class InputMethodListener; + class KeyEvent; + class KeyListener; + class MouseEvent; + class MouseListener; + class MouseMotionListener; + class MouseWheelEvent; + class MouseWheelListener; + } + namespace im + { + class InputContext; + class InputMethodRequests; + } + namespace image + { + class BufferStrategy; + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ComponentPeer; + } + } + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Component : public ::java::lang::Object +{ + +public: // actually protected + Component(); +public: + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::awt::Container * getParent(); + virtual ::java::awt::peer::ComponentPeer * getPeer(); + virtual void setDropTarget(::java::awt::dnd::DropTarget *); + virtual ::java::awt::dnd::DropTarget * getDropTarget(); + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration(); + virtual ::java::lang::Object * getTreeLock(); + virtual ::java::awt::Toolkit * getToolkit(); + virtual jboolean isValid(); + virtual jboolean isDisplayable(); + virtual jboolean isVisible(); + virtual jboolean isShowing(); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual void enable(); + virtual void enable(jboolean); + virtual void disable(); + virtual jboolean isDoubleBuffered(); + virtual void enableInputMethods(jboolean); + virtual void setVisible(jboolean); + virtual void show(); + virtual void show(jboolean); + virtual void hide(); + virtual ::java::awt::Color * getForeground(); + virtual void setForeground(::java::awt::Color *); + virtual jboolean isForegroundSet(); + virtual ::java::awt::Color * getBackground(); + virtual void setBackground(::java::awt::Color *); + virtual jboolean isBackgroundSet(); + virtual ::java::awt::Font * getFont(); +private: + ::java::awt::Font * getFontImpl(); +public: + virtual void setFont(::java::awt::Font *); + virtual jboolean isFontSet(); + virtual ::java::util::Locale * getLocale(); + virtual void setLocale(::java::util::Locale *); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::Point * getLocation(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Point * location(); + virtual void setLocation(jint, jint); + virtual void move(jint, jint); + virtual void setLocation(::java::awt::Point *); + virtual ::java::awt::Dimension * getSize(); + virtual ::java::awt::Dimension * size(); + virtual void setSize(jint, jint); + virtual void resize(jint, jint); + virtual void setSize(::java::awt::Dimension *); + virtual void resize(::java::awt::Dimension *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::Rectangle * bounds(); + virtual void setBounds(jint, jint, jint, jint); + virtual void reshape(jint, jint, jint, jint); +public: // actually package-private + virtual void notifyReshape(jboolean, jboolean); +public: + virtual void setBounds(::java::awt::Rectangle *); + virtual jint getX(); + virtual jint getY(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual ::java::awt::Rectangle * getBounds(::java::awt::Rectangle *); + virtual ::java::awt::Dimension * getSize(::java::awt::Dimension *); + virtual ::java::awt::Point * getLocation(::java::awt::Point *); + virtual jboolean isOpaque(); + virtual jboolean isLightweight(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual void setPreferredSize(::java::awt::Dimension *); + virtual jboolean isPreferredSizeSet(); + virtual ::java::awt::Dimension * preferredSize(); +public: // actually package-private + virtual ::java::awt::Dimension * preferredSizeImpl(); +public: + virtual ::java::awt::Dimension * getMinimumSize(); + virtual void setMinimumSize(::java::awt::Dimension *); + virtual jboolean isMinimumSizeSet(); + virtual ::java::awt::Dimension * minimumSize(); +public: // actually package-private + virtual ::java::awt::Dimension * minimumSizeImpl(); +public: + virtual ::java::awt::Dimension * getMaximumSize(); +public: // actually package-private + virtual ::java::awt::Dimension * maximumSizeImpl(); +public: + virtual void setMaximumSize(::java::awt::Dimension *); + virtual jboolean isMaximumSizeSet(); + virtual jfloat getAlignmentX(); + virtual jfloat getAlignmentY(); + virtual void doLayout(); + virtual void layout(); + virtual void validate(); + virtual void invalidate(); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Cursor * getCursor(); + virtual jboolean isCursorSet(); + virtual void paint(::java::awt::Graphics *); + virtual void update(::java::awt::Graphics *); + virtual void paintAll(::java::awt::Graphics *); + virtual void repaint(); + virtual void repaint(jlong); + virtual void repaint(jint, jint, jint, jint); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void print(::java::awt::Graphics *); + virtual void printAll(::java::awt::Graphics *); + virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint); + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *); + virtual ::java::awt::Image * createImage(jint, jint); + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint); + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint, ::java::awt::ImageCapabilities *); + virtual jboolean prepareImage(::java::awt::Image *, ::java::awt::image::ImageObserver *); + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jint checkImage(::java::awt::Image *, ::java::awt::image::ImageObserver *); + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual void setIgnoreRepaint(jboolean); + virtual jboolean getIgnoreRepaint(); + virtual jboolean contains(jint, jint); + virtual jboolean inside(jint, jint); + virtual jboolean contains(::java::awt::Point *); + virtual ::java::awt::Component * getComponentAt(jint, jint); + virtual ::java::awt::Component * locate(jint, jint); + virtual ::java::awt::Component * getComponentAt(::java::awt::Point *); + virtual void deliverEvent(::java::awt::Event *); + virtual void dispatchEvent(::java::awt::AWTEvent *); +public: // actually package-private + static jboolean ignoreOldMouseEvents(); +public: + virtual jboolean postEvent(::java::awt::Event *); + virtual void addComponentListener(::java::awt::event::ComponentListener *); + virtual void removeComponentListener(::java::awt::event::ComponentListener *); + virtual JArray< ::java::awt::event::ComponentListener * > * getComponentListeners(); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void removeFocusListener(::java::awt::event::FocusListener *); + virtual JArray< ::java::awt::event::FocusListener * > * getFocusListeners(); + virtual void addHierarchyListener(::java::awt::event::HierarchyListener *); + virtual void removeHierarchyListener(::java::awt::event::HierarchyListener *); + virtual JArray< ::java::awt::event::HierarchyListener * > * getHierarchyListeners(); + virtual void addHierarchyBoundsListener(::java::awt::event::HierarchyBoundsListener *); + virtual void removeHierarchyBoundsListener(::java::awt::event::HierarchyBoundsListener *); + virtual JArray< ::java::awt::event::HierarchyBoundsListener * > * getHierarchyBoundsListeners(); +public: // actually package-private + virtual void fireHierarchyEvent(jint, ::java::awt::Component *, ::java::awt::Container *, jlong); +public: + virtual void addKeyListener(::java::awt::event::KeyListener *); + virtual void removeKeyListener(::java::awt::event::KeyListener *); + virtual JArray< ::java::awt::event::KeyListener * > * getKeyListeners(); + virtual void addMouseListener(::java::awt::event::MouseListener *); + virtual void removeMouseListener(::java::awt::event::MouseListener *); + virtual JArray< ::java::awt::event::MouseListener * > * getMouseListeners(); + virtual void addMouseMotionListener(::java::awt::event::MouseMotionListener *); + virtual void removeMouseMotionListener(::java::awt::event::MouseMotionListener *); + virtual JArray< ::java::awt::event::MouseMotionListener * > * getMouseMotionListeners(); + virtual void addMouseWheelListener(::java::awt::event::MouseWheelListener *); + virtual void removeMouseWheelListener(::java::awt::event::MouseWheelListener *); + virtual JArray< ::java::awt::event::MouseWheelListener * > * getMouseWheelListeners(); + virtual void addInputMethodListener(::java::awt::event::InputMethodListener *); + virtual void removeInputMethodListener(::java::awt::event::InputMethodListener *); + virtual JArray< ::java::awt::event::InputMethodListener * > * getInputMethodListeners(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests(); + virtual ::java::awt::im::InputContext * getInputContext(); +public: // actually protected + virtual void enableEvents(jlong); + virtual void disableEvents(jlong); + virtual ::java::awt::AWTEvent * coalesceEvents(::java::awt::AWTEvent *, ::java::awt::AWTEvent *); + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processComponentEvent(::java::awt::event::ComponentEvent *); + virtual void processFocusEvent(::java::awt::event::FocusEvent *); + virtual void processKeyEvent(::java::awt::event::KeyEvent *); + virtual void processMouseEvent(::java::awt::event::MouseEvent *); + virtual void processMouseMotionEvent(::java::awt::event::MouseEvent *); + virtual void processMouseWheelEvent(::java::awt::event::MouseWheelEvent *); + virtual void processInputMethodEvent(::java::awt::event::InputMethodEvent *); + virtual void processHierarchyEvent(::java::awt::event::HierarchyEvent *); + virtual void processHierarchyBoundsEvent(::java::awt::event::HierarchyEvent *); +public: + virtual jboolean handleEvent(::java::awt::Event *); + virtual jboolean mouseDown(::java::awt::Event *, jint, jint); + virtual jboolean mouseDrag(::java::awt::Event *, jint, jint); + virtual jboolean mouseUp(::java::awt::Event *, jint, jint); + virtual jboolean mouseMove(::java::awt::Event *, jint, jint); + virtual jboolean mouseEnter(::java::awt::Event *, jint, jint); + virtual jboolean mouseExit(::java::awt::Event *, jint, jint); + virtual jboolean keyDown(::java::awt::Event *, jint); + virtual jboolean keyUp(::java::awt::Event *, jint); + virtual jboolean action(::java::awt::Event *, ::java::lang::Object *); + virtual void addNotify(); + virtual void removeNotify(); + virtual jboolean gotFocus(::java::awt::Event *, ::java::lang::Object *); + virtual jboolean lostFocus(::java::awt::Event *, ::java::lang::Object *); + virtual jboolean isFocusTraversable(); + virtual jboolean isFocusable(); + virtual void setFocusable(jboolean); + virtual void setFocusTraversalKeys(jint, ::java::util::Set *); + virtual ::java::util::Set * getFocusTraversalKeys(jint); + virtual jboolean areFocusTraversalKeysSet(jint); + virtual void setFocusTraversalKeysEnabled(jboolean); + virtual jboolean getFocusTraversalKeysEnabled(); + virtual void requestFocus(); +public: // actually protected + virtual jboolean requestFocus(jboolean); +public: + virtual jboolean requestFocusInWindow(); +public: // actually protected + virtual jboolean requestFocusInWindow(jboolean); +private: + jboolean requestFocusImpl(jboolean, jboolean); +public: + virtual void transferFocus(); + virtual ::java::awt::Container * getFocusCycleRootAncestor(); + virtual jboolean isFocusCycleRoot(::java::awt::Container *); + virtual void nextFocus(); + virtual void transferFocusBackward(); + virtual void transferFocusUpCycle(); + virtual jboolean hasFocus(); + virtual jboolean isFocusOwner(); + virtual void add(::java::awt::PopupMenu *); + virtual void remove(::java::awt::MenuComponent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::java::lang::String * toString(); + virtual void list(); + virtual void list(::java::io::PrintStream *); + virtual void list(::java::io::PrintStream *, jint); + virtual void list(::java::io::PrintWriter *); + virtual void list(::java::io::PrintWriter *, jint); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(::java::lang::String *); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); + virtual void firePropertyChange(::java::lang::String *, jint, jint); +public: + virtual void firePropertyChange(::java::lang::String *, jbyte, jbyte); + virtual void firePropertyChange(::java::lang::String *, jchar, jchar); + virtual void firePropertyChange(::java::lang::String *, jshort, jshort); + virtual void firePropertyChange(::java::lang::String *, jlong, jlong); + virtual void firePropertyChange(::java::lang::String *, jfloat, jfloat); + virtual void firePropertyChange(::java::lang::String *, jdouble, jdouble); + virtual void setComponentOrientation(::java::awt::ComponentOrientation *); + virtual ::java::awt::ComponentOrientation * getComponentOrientation(); + virtual void applyComponentOrientation(::java::awt::ComponentOrientation *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); + virtual void setPeer(::java::awt::peer::ComponentPeer *); + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfigurationImpl(); + static ::java::awt::Event * translateEvent(::java::awt::AWTEvent *); + virtual void dispatchEventImpl(::java::awt::AWTEvent *); + virtual jboolean eventTypeEnabled(jint); + virtual jboolean isHierarchyVisible(); + virtual ::java::awt::Component * findNextFocusComponent(::java::awt::Component *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -7644114512714619750LL; +public: + static jfloat TOP_ALIGNMENT; + static jfloat CENTER_ALIGNMENT; + static jfloat BOTTOM_ALIGNMENT; + static jfloat RIGHT_ALIGNMENT; + static jfloat LEFT_ALIGNMENT; +public: // actually package-private + static ::java::lang::Object * treeLock; +private: + static ::java::awt::Dimension * DEFAULT_MAX_SIZE; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + jint y; + jint width; + jint height; + ::java::awt::Color * foreground; + ::java::awt::Color * background; + ::java::awt::Font * font; + ::java::awt::Font * peerFont; + ::java::awt::Cursor * cursor; + ::java::util::Locale * locale; + jboolean ignoreRepaint; + jboolean visible; + jboolean enabled; + jboolean valid; + ::java::awt::dnd::DropTarget * dropTarget; + ::java::util::Vector * popups; + ::java::lang::String * name; + jboolean nameExplicitlySet; + jboolean focusable; + jint isFocusTraversableOverridden; + JArray< ::java::util::Set * > * focusTraversalKeys; + jboolean focusTraversalKeysEnabled; + ::java::awt::Dimension * minSize; + jboolean minSizeSet; + ::java::awt::Dimension * maxSize; + jboolean maxSizeSet; + ::java::awt::Dimension * prefSize; + jboolean prefSizeSet; + jboolean newEventsOnly; + jlong eventMask; + ::java::beans::PropertyChangeSupport * changeSupport; + jboolean isPacked; + jint componentSerializedDataVersion; + ::javax::accessibility::AccessibleContext * accessibleContext; + ::java::awt::event::ComponentListener * componentListener; + ::java::awt::event::FocusListener * focusListener; + ::java::awt::event::KeyListener * keyListener; + ::java::awt::event::MouseListener * mouseListener; + ::java::awt::event::MouseMotionListener * mouseMotionListener; + ::java::awt::event::MouseWheelListener * mouseWheelListener; + ::java::awt::event::InputMethodListener * inputMethodListener; + ::java::awt::event::HierarchyListener * hierarchyListener; + ::java::awt::event::HierarchyBoundsListener * hierarchyBoundsListener; + ::java::awt::Container * parent; + ::java::awt::peer::ComponentPeer * peer; + ::java::awt::ComponentOrientation * componentOrientation; + ::java::awt::GraphicsConfiguration * graphicsConfig; + ::java::awt::image::BufferStrategy * bufferStrategy; + jint numHierarchyListeners; + jint numHierarchyBoundsListeners; +private: + ::java::awt::event::FocusEvent * pendingFocusRequest; + static jboolean incrementalDraw; + static ::java::lang::Long * redrawRate; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Component__ diff --git a/libjava/java/awt/ComponentOrientation.h b/libjava/java/awt/ComponentOrientation.h new file mode 100644 index 00000000000..fe3ef9c1740 --- /dev/null +++ b/libjava/java/awt/ComponentOrientation.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ComponentOrientation__ +#define __java_awt_ComponentOrientation__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ComponentOrientation; + } + } +} + +class java::awt::ComponentOrientation : public ::java::lang::Object +{ + + ComponentOrientation(jint); +public: + jboolean isHorizontal(); + jboolean isLeftToRight(); + static ::java::awt::ComponentOrientation * getOrientation(::java::util::Locale *); + static ::java::awt::ComponentOrientation * getOrientation(::java::util::ResourceBundle *); +private: + static const jlong serialVersionUID = -4113291392143563828LL; + static const jint UNKNOWN_ID = 1; + static const jint HORIZONTAL_ID = 2; + static const jint LEFT_TO_RIGHT_ID = 4; +public: + static ::java::awt::ComponentOrientation * LEFT_TO_RIGHT; + static ::java::awt::ComponentOrientation * RIGHT_TO_LEFT; + static ::java::awt::ComponentOrientation * UNKNOWN; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) orientation; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ComponentOrientation__ diff --git a/libjava/java/awt/Composite.h b/libjava/java/awt/Composite.h new file mode 100644 index 00000000000..1eed4bcae1a --- /dev/null +++ b/libjava/java/awt/Composite.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Composite__ +#define __java_awt_Composite__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Composite; + class CompositeContext; + class RenderingHints; + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::Composite : public ::java::lang::Object +{ + +public: + virtual ::java::awt::CompositeContext * createContext(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *, ::java::awt::RenderingHints *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_Composite__ diff --git a/libjava/java/awt/CompositeContext.h b/libjava/java/awt/CompositeContext.h new file mode 100644 index 00000000000..83195ab8bbf --- /dev/null +++ b/libjava/java/awt/CompositeContext.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_CompositeContext__ +#define __java_awt_CompositeContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class CompositeContext; + namespace image + { + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::CompositeContext : public ::java::lang::Object +{ + +public: + virtual void dispose() = 0; + virtual void compose(::java::awt::image::Raster *, ::java::awt::image::Raster *, ::java::awt::image::WritableRaster *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_CompositeContext__ diff --git a/libjava/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.h b/libjava/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.h new file mode 100644 index 00000000000..ae8aa684f14 --- /dev/null +++ b/libjava/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$AccessibleAWTContainer$AccessibleContainerHandler__ +#define __java_awt_Container$AccessibleAWTContainer$AccessibleContainerHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container$AccessibleAWTContainer; + class Container$AccessibleAWTContainer$AccessibleContainerHandler; + namespace event + { + class ContainerEvent; + } + } + } +} + +class java::awt::Container$AccessibleAWTContainer$AccessibleContainerHandler : public ::java::lang::Object +{ + +public: // actually protected + Container$AccessibleAWTContainer$AccessibleContainerHandler(::java::awt::Container$AccessibleAWTContainer *); +public: + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); +public: // actually package-private + ::java::awt::Container$AccessibleAWTContainer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$AccessibleAWTContainer$AccessibleContainerHandler__ diff --git a/libjava/java/awt/Container$AccessibleAWTContainer.h b/libjava/java/awt/Container$AccessibleAWTContainer.h new file mode 100644 index 00000000000..fe132635d0d --- /dev/null +++ b/libjava/java/awt/Container$AccessibleAWTContainer.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$AccessibleAWTContainer__ +#define __java_awt_Container$AccessibleAWTContainer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Container$AccessibleAWTContainer; + class Point; + namespace event + { + class ContainerListener; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + } +} + +class java::awt::Container$AccessibleAWTContainer : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: // actually protected + Container$AccessibleAWTContainer(::java::awt::Container *); +public: + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); +private: + static const jlong serialVersionUID = 5081320404842566097LL; +public: // actually protected + ::java::awt::event::ContainerListener * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) accessibleContainerHandler; +public: // actually package-private + ::java::awt::Container * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$AccessibleAWTContainer__ diff --git a/libjava/java/awt/Container$GfxPaintAllVisitor.h b/libjava/java/awt/Container$GfxPaintAllVisitor.h new file mode 100644 index 00000000000..cd3e68e896f --- /dev/null +++ b/libjava/java/awt/Container$GfxPaintAllVisitor.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$GfxPaintAllVisitor__ +#define __java_awt_Container$GfxPaintAllVisitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container$GfxPaintAllVisitor; + class Container$GfxVisitor; + class Graphics; + } + } +} + +class java::awt::Container$GfxPaintAllVisitor : public ::java::awt::Container$GfxVisitor +{ + +public: // actually package-private + Container$GfxPaintAllVisitor(); +public: + virtual void visit(::java::awt::Component *, ::java::awt::Graphics *); + static ::java::awt::Container$GfxVisitor * INSTANCE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$GfxPaintAllVisitor__ diff --git a/libjava/java/awt/Container$GfxPaintVisitor.h b/libjava/java/awt/Container$GfxPaintVisitor.h new file mode 100644 index 00000000000..c75ddd1a349 --- /dev/null +++ b/libjava/java/awt/Container$GfxPaintVisitor.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$GfxPaintVisitor__ +#define __java_awt_Container$GfxPaintVisitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container$GfxPaintVisitor; + class Container$GfxVisitor; + class Graphics; + } + } +} + +class java::awt::Container$GfxPaintVisitor : public ::java::awt::Container$GfxVisitor +{ + +public: // actually package-private + Container$GfxPaintVisitor(); +public: + virtual void visit(::java::awt::Component *, ::java::awt::Graphics *); + static ::java::awt::Container$GfxVisitor * INSTANCE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$GfxPaintVisitor__ diff --git a/libjava/java/awt/Container$GfxPrintAllVisitor.h b/libjava/java/awt/Container$GfxPrintAllVisitor.h new file mode 100644 index 00000000000..acc4a8ba491 --- /dev/null +++ b/libjava/java/awt/Container$GfxPrintAllVisitor.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$GfxPrintAllVisitor__ +#define __java_awt_Container$GfxPrintAllVisitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container$GfxPrintAllVisitor; + class Container$GfxVisitor; + class Graphics; + } + } +} + +class java::awt::Container$GfxPrintAllVisitor : public ::java::awt::Container$GfxVisitor +{ + +public: // actually package-private + Container$GfxPrintAllVisitor(); +public: + virtual void visit(::java::awt::Component *, ::java::awt::Graphics *); + static ::java::awt::Container$GfxVisitor * INSTANCE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$GfxPrintAllVisitor__ diff --git a/libjava/java/awt/Container$GfxPrintVisitor.h b/libjava/java/awt/Container$GfxPrintVisitor.h new file mode 100644 index 00000000000..557530ba851 --- /dev/null +++ b/libjava/java/awt/Container$GfxPrintVisitor.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$GfxPrintVisitor__ +#define __java_awt_Container$GfxPrintVisitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container$GfxPrintVisitor; + class Container$GfxVisitor; + class Graphics; + } + } +} + +class java::awt::Container$GfxPrintVisitor : public ::java::awt::Container$GfxVisitor +{ + +public: // actually package-private + Container$GfxPrintVisitor(); +public: + virtual void visit(::java::awt::Component *, ::java::awt::Graphics *); + static ::java::awt::Container$GfxVisitor * INSTANCE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$GfxPrintVisitor__ diff --git a/libjava/java/awt/Container$GfxVisitor.h b/libjava/java/awt/Container$GfxVisitor.h new file mode 100644 index 00000000000..97322e8d5da --- /dev/null +++ b/libjava/java/awt/Container$GfxVisitor.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container$GfxVisitor__ +#define __java_awt_Container$GfxVisitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container$GfxVisitor; + class Graphics; + } + } +} + +class java::awt::Container$GfxVisitor : public ::java::lang::Object +{ + +public: // actually package-private + Container$GfxVisitor(); +public: + virtual void visit(::java::awt::Component *, ::java::awt::Graphics *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container$GfxVisitor__ diff --git a/libjava/java/awt/Container.h b/libjava/java/awt/Container.h new file mode 100644 index 00000000000..4a44759532a --- /dev/null +++ b/libjava/java/awt/Container.h @@ -0,0 +1,164 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Container__ +#define __java_awt_Container__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Component; + class ComponentOrientation; + class Container; + class Container$GfxVisitor; + class Dimension; + class Event; + class FocusTraversalPolicy; + class Font; + class Graphics; + class Insets; + class LayoutManager; + class Point; + namespace event + { + class ContainerEvent; + class ContainerListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } +} + +class java::awt::Container : public ::java::awt::Component +{ + +public: + Container(); + virtual jint getComponentCount(); + virtual jint countComponents(); + virtual ::java::awt::Component * getComponent(jint); + virtual JArray< ::java::awt::Component * > * getComponents(); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Insets * insets(); + virtual ::java::awt::Component * add(::java::awt::Component *); + virtual ::java::awt::Component * add(::java::lang::String *, ::java::awt::Component *); + virtual ::java::awt::Component * add(::java::awt::Component *, jint); + virtual void add(::java::awt::Component *, ::java::lang::Object *); + virtual void add(::java::awt::Component *, ::java::lang::Object *, jint); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void remove(jint); + virtual void remove(::java::awt::Component *); + virtual void removeAll(); + virtual ::java::awt::LayoutManager * getLayout(); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void doLayout(); + virtual void layout(); + virtual void invalidate(); + virtual void validate(); +private: + void invalidateTree(); +public: // actually protected + virtual void validateTree(); +public: + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * preferredSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual jfloat getAlignmentX(); + virtual jfloat getAlignmentY(); + virtual void paint(::java::awt::Graphics *); + virtual void update(::java::awt::Graphics *); + virtual void print(::java::awt::Graphics *); + virtual void paintComponents(::java::awt::Graphics *); + virtual void printComponents(::java::awt::Graphics *); + virtual void addContainerListener(::java::awt::event::ContainerListener *); + virtual void removeContainerListener(::java::awt::event::ContainerListener *); + virtual JArray< ::java::awt::event::ContainerListener * > * getContainerListeners(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processContainerEvent(::java::awt::event::ContainerEvent *); +public: + virtual void deliverEvent(::java::awt::Event *); + virtual ::java::awt::Component * getComponentAt(jint, jint); + virtual ::java::awt::Component * locate(jint, jint); + virtual ::java::awt::Component * getComponentAt(::java::awt::Point *); + virtual ::java::awt::Component * findComponentAt(jint, jint); + virtual ::java::awt::Component * findComponentAt(::java::awt::Point *); + virtual void addNotify(); + virtual void removeNotify(); + virtual jboolean isAncestorOf(::java::awt::Component *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void list(::java::io::PrintStream *, jint); + virtual void list(::java::io::PrintWriter *, jint); + virtual void setFocusTraversalKeys(jint, ::java::util::Set *); + virtual ::java::util::Set * getFocusTraversalKeys(jint); + virtual jboolean areFocusTraversalKeysSet(jint); + virtual jboolean isFocusCycleRoot(::java::awt::Container *); + virtual void setFocusTraversalPolicy(::java::awt::FocusTraversalPolicy *); + virtual ::java::awt::FocusTraversalPolicy * getFocusTraversalPolicy(); + virtual jboolean isFocusTraversalPolicySet(); + virtual void setFocusCycleRoot(jboolean); + virtual jboolean isFocusTraversalPolicyProvider(); + virtual void setFocusTraversalPolicyProvider(jboolean); + virtual jboolean isFocusCycleRoot(); + virtual void transferFocusDownCycle(); + virtual void applyComponentOrientation(::java::awt::ComponentOrientation *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void setComponentZOrder(::java::awt::Component *, jint); + virtual jint getComponentZOrder(::java::awt::Component *); +private: + void visitChildren(::java::awt::Graphics *, ::java::awt::Container$GfxVisitor *, jboolean); + void visitChild(::java::awt::Graphics *, ::java::awt::Container$GfxVisitor *, ::java::awt::Component *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); + virtual void dispatchNoLightweight(::java::awt::AWTEvent *); + virtual jboolean eventTypeEnabled(jint); + virtual ::java::awt::Component * findNextFocusComponent(::java::awt::Component *); + virtual void fireHierarchyEvent(jint, ::java::awt::Component *, ::java::awt::Container *, jlong); + virtual void updateHierarchyListenerCount(jlong, jint); + virtual void notifyReshape(jboolean, jboolean); +private: + void addNotifyContainerChildren(); + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 4613797578919906343LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::Component)))) ncomponents; + JArray< ::java::awt::Component * > * component; + ::java::awt::LayoutManager * layoutMgr; + jboolean focusCycleRoot; +private: + jboolean focusTraversalPolicyProvider; +public: // actually package-private + jint containerSerializedDataVersion; + ::java::awt::event::ContainerListener * containerListener; +private: + ::java::awt::FocusTraversalPolicy * focusTraversalPolicy; +public: // actually package-private + JArray< ::java::util::Set * > * focusTraversalKeys; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Container__ diff --git a/libjava/java/awt/ContainerOrderFocusTraversalPolicy.h b/libjava/java/awt/ContainerOrderFocusTraversalPolicy.h new file mode 100644 index 00000000000..8f0e89f9b3f --- /dev/null +++ b/libjava/java/awt/ContainerOrderFocusTraversalPolicy.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ContainerOrderFocusTraversalPolicy__ +#define __java_awt_ContainerOrderFocusTraversalPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class ContainerOrderFocusTraversalPolicy; + } + } +} + +class java::awt::ContainerOrderFocusTraversalPolicy : public ::java::awt::FocusTraversalPolicy +{ + +public: + ContainerOrderFocusTraversalPolicy(); + virtual ::java::awt::Component * getComponentAfter(::java::awt::Container *, ::java::awt::Component *); +private: + ::java::awt::Component * getNextAvailableComponent(JArray< ::java::awt::Component * > *, jint, jint); +public: // actually package-private + virtual ::java::awt::Component * getPrevAvailableComponent(JArray< ::java::awt::Component * > *, jint, jint); +public: + virtual ::java::awt::Component * getComponentBefore(::java::awt::Container *, ::java::awt::Component *); + virtual ::java::awt::Component * getFirstComponent(::java::awt::Container *); + virtual ::java::awt::Component * getLastComponent(::java::awt::Container *); + virtual ::java::awt::Component * getDefaultComponent(::java::awt::Container *); + virtual void setImplicitDownCycleTraversal(jboolean); + virtual jboolean getImplicitDownCycleTraversal(); +public: // actually protected + virtual jboolean accept(::java::awt::Component *); +public: // actually package-private + static const jlong serialVersionUID = 486933713763926351LL; +private: + jboolean __attribute__((aligned(__alignof__( ::java::awt::FocusTraversalPolicy)))) implicitDownCycleTraversal; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ContainerOrderFocusTraversalPolicy__ diff --git a/libjava/java/awt/Cursor.h b/libjava/java/awt/Cursor.h new file mode 100644 index 00000000000..3d50e634537 --- /dev/null +++ b/libjava/java/awt/Cursor.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Cursor__ +#define __java_awt_Cursor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Cursor; + } + } +} + +class java::awt::Cursor : public ::java::lang::Object +{ + +public: + Cursor(jint); +public: // actually protected + Cursor(::java::lang::String *); +public: + static ::java::awt::Cursor * getPredefinedCursor(jint); + static ::java::awt::Cursor * getSystemCustomCursor(::java::lang::String *); + static ::java::awt::Cursor * getDefaultCursor(); + virtual jint getType(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = 8028237497568985504LL; +public: + static const jint DEFAULT_CURSOR = 0; + static const jint CROSSHAIR_CURSOR = 1; + static const jint TEXT_CURSOR = 2; + static const jint WAIT_CURSOR = 3; + static const jint SW_RESIZE_CURSOR = 4; + static const jint SE_RESIZE_CURSOR = 5; + static const jint NW_RESIZE_CURSOR = 6; + static const jint NE_RESIZE_CURSOR = 7; + static const jint N_RESIZE_CURSOR = 8; + static const jint S_RESIZE_CURSOR = 9; + static const jint W_RESIZE_CURSOR = 10; + static const jint E_RESIZE_CURSOR = 11; + static const jint HAND_CURSOR = 12; + static const jint MOVE_CURSOR = 13; +private: + static JArray< ::java::lang::String * > * NAMES; +public: + static const jint CUSTOM_CURSOR = -1; +private: + static const jint PREDEFINED_COUNT = 14; +public: // actually protected + static JArray< ::java::awt::Cursor * > * predefined; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: // actually package-private + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Cursor__ diff --git a/libjava/java/awt/DefaultFocusTraversalPolicy.h b/libjava/java/awt/DefaultFocusTraversalPolicy.h new file mode 100644 index 00000000000..d6f22987dca --- /dev/null +++ b/libjava/java/awt/DefaultFocusTraversalPolicy.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_DefaultFocusTraversalPolicy__ +#define __java_awt_DefaultFocusTraversalPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class DefaultFocusTraversalPolicy; + } + } +} + +class java::awt::DefaultFocusTraversalPolicy : public ::java::awt::ContainerOrderFocusTraversalPolicy +{ + +public: + DefaultFocusTraversalPolicy(); +public: // actually protected + virtual jboolean accept(::java::awt::Component *); +private: + static const jlong serialVersionUID = 8876966522510157497LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_DefaultFocusTraversalPolicy__ diff --git a/libjava/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.h b/libjava/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.h new file mode 100644 index 00000000000..7061d499ec2 --- /dev/null +++ b/libjava/java/awt/DefaultKeyboardFocusManager$EventDelayRequest.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_DefaultKeyboardFocusManager$EventDelayRequest__ +#define __java_awt_DefaultKeyboardFocusManager$EventDelayRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class DefaultKeyboardFocusManager; + class DefaultKeyboardFocusManager$EventDelayRequest; + namespace event + { + class KeyEvent; + } + } + } +} + +class java::awt::DefaultKeyboardFocusManager$EventDelayRequest : public ::java::lang::Object +{ + +public: + DefaultKeyboardFocusManager$EventDelayRequest(::java::awt::DefaultKeyboardFocusManager *, jlong, ::java::awt::Component *); + virtual jint compareTo(::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual void enqueueEvent(::java::awt::event::KeyEvent *); + virtual void dispatchEvents(); + virtual void discardEvents(); +private: + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enqueuedKeyEvents; +public: + jlong timestamp; + ::java::awt::Component * focusedComp; +public: // actually package-private + ::java::awt::DefaultKeyboardFocusManager * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_DefaultKeyboardFocusManager$EventDelayRequest__ diff --git a/libjava/java/awt/DefaultKeyboardFocusManager.h b/libjava/java/awt/DefaultKeyboardFocusManager.h new file mode 100644 index 00000000000..ce9e4467ca5 --- /dev/null +++ b/libjava/java/awt/DefaultKeyboardFocusManager.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_DefaultKeyboardFocusManager__ +#define __java_awt_DefaultKeyboardFocusManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class AWTKeyStroke; + class Component; + class Container; + class DefaultKeyboardFocusManager; + namespace event + { + class FocusEvent; + class KeyEvent; + } + } + } +} + +class java::awt::DefaultKeyboardFocusManager : public ::java::awt::KeyboardFocusManager +{ + +public: + DefaultKeyboardFocusManager(); + virtual jboolean dispatchEvent(::java::awt::AWTEvent *); +private: + jboolean handleFocusGained(::java::awt::event::FocusEvent *); + jboolean handleFocusLost(::java::awt::event::FocusEvent *); + jboolean enqueueKeyEvent(::java::awt::event::KeyEvent *); +public: + virtual jboolean dispatchKeyEvent(::java::awt::event::KeyEvent *); + virtual jboolean postProcessKeyEvent(::java::awt::event::KeyEvent *); + virtual void processKeyEvent(::java::awt::Component *, ::java::awt::event::KeyEvent *); +public: // actually protected + virtual void enqueueKeyEvents(jlong, ::java::awt::Component *); + virtual void dequeueKeyEvents(jlong, ::java::awt::Component *); + virtual void discardKeyEvents(::java::awt::Component *); +public: + virtual void focusPreviousComponent(::java::awt::Component *); + virtual void focusNextComponent(::java::awt::Component *); + virtual void upFocusCycle(::java::awt::Component *); + virtual void downFocusCycle(::java::awt::Container *); +private: + ::java::awt::AWTKeyStroke * __attribute__((aligned(__alignof__( ::java::awt::KeyboardFocusManager)))) waitForKeyStroke; + ::java::util::SortedSet * delayRequests; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_DefaultKeyboardFocusManager__ diff --git a/libjava/java/awt/Dialog$AccessibleAWTDialog.h b/libjava/java/awt/Dialog$AccessibleAWTDialog.h new file mode 100644 index 00000000000..b8bf577db41 --- /dev/null +++ b/libjava/java/awt/Dialog$AccessibleAWTDialog.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Dialog$AccessibleAWTDialog__ +#define __java_awt_Dialog$AccessibleAWTDialog__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dialog; + class Dialog$AccessibleAWTDialog; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + } + } +} + +class java::awt::Dialog$AccessibleAWTDialog : public ::java::awt::Window$AccessibleAWTWindow +{ + +public: // actually protected + Dialog$AccessibleAWTDialog(::java::awt::Dialog *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 4837230331833941201LL; +public: // actually package-private + ::java::awt::Dialog * __attribute__((aligned(__alignof__( ::java::awt::Window$AccessibleAWTWindow)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Dialog$AccessibleAWTDialog__ diff --git a/libjava/java/awt/Dialog.h b/libjava/java/awt/Dialog.h new file mode 100644 index 00000000000..b1d339157e0 --- /dev/null +++ b/libjava/java/awt/Dialog.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Dialog__ +#define __java_awt_Dialog__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dialog; + class EventQueue; + class Frame; + class GraphicsConfiguration; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Dialog : public ::java::awt::Window +{ + +public: + Dialog(::java::awt::Frame *); + Dialog(::java::awt::Frame *, jboolean); + Dialog(::java::awt::Frame *, ::java::lang::String *); + Dialog(::java::awt::Frame *, ::java::lang::String *, jboolean); + Dialog(::java::awt::Frame *, ::java::lang::String *, jboolean, ::java::awt::GraphicsConfiguration *); + Dialog(::java::awt::Dialog *); + Dialog(::java::awt::Dialog *, ::java::lang::String *); + Dialog(::java::awt::Dialog *, ::java::lang::String *, jboolean); + Dialog(::java::awt::Dialog *, ::java::lang::String *, jboolean, ::java::awt::GraphicsConfiguration *); + virtual ::java::lang::String * getTitle(); + virtual void setTitle(::java::lang::String *); + virtual jboolean isModal(); + virtual void setModal(jboolean); + virtual jboolean isResizable(); + virtual void setResizable(jboolean); + virtual void addNotify(); + virtual void show(); + virtual void hide(); + virtual void dispose(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual jboolean isUndecorated(); + virtual void setUndecorated(jboolean); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = 5920926903803293709LL; + jboolean __attribute__((aligned(__alignof__( ::java::awt::Window)))) modal; + jboolean resizable; + ::java::lang::String * title; + jboolean undecorated; + jboolean blocked; + ::java::awt::EventQueue * eq2; + static jlong next_dialog_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Dialog__ diff --git a/libjava/java/awt/Dimension.h b/libjava/java/awt/Dimension.h new file mode 100644 index 00000000000..7722cabc509 --- /dev/null +++ b/libjava/java/awt/Dimension.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Dimension__ +#define __java_awt_Dimension__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } +} + +class java::awt::Dimension : public ::java::awt::geom::Dimension2D +{ + +public: + Dimension(); + Dimension(::java::awt::Dimension *); + Dimension(jint, jint); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual void setSize(jdouble, jdouble); + virtual ::java::awt::Dimension * getSize(); + virtual void setSize(::java::awt::Dimension *); + virtual void setSize(jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4723952579491349524LL; +public: + jint __attribute__((aligned(__alignof__( ::java::awt::geom::Dimension2D)))) width; + jint height; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Dimension__ diff --git a/libjava/java/awt/DisplayMode.h b/libjava/java/awt/DisplayMode.h new file mode 100644 index 00000000000..26561ca0c80 --- /dev/null +++ b/libjava/java/awt/DisplayMode.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_DisplayMode__ +#define __java_awt_DisplayMode__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class DisplayMode; + } + } +} + +class java::awt::DisplayMode : public ::java::lang::Object +{ + +public: + DisplayMode(jint, jint, jint, jint); + jint getHeight(); + jint getWidth(); + jint getBitDepth(); + jint getRefreshRate(); + jboolean equals(::java::awt::DisplayMode *); + jint hashCode(); + static const jint BIT_DEPTH_MULTI = -1; + static const jint REFRESH_RATE_UNKNOWN = 0; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) width; + jint height; + jint bitDepth; + jint refreshRate; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_DisplayMode__ diff --git a/libjava/java/awt/Event.h b/libjava/java/awt/Event.h new file mode 100644 index 00000000000..a0543818dd3 --- /dev/null +++ b/libjava/java/awt/Event.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Event__ +#define __java_awt_Event__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Event; + } + } +} + +class java::awt::Event : public ::java::lang::Object +{ + +public: + Event(::java::lang::Object *, jint, ::java::lang::Object *); + Event(::java::lang::Object *, jlong, jint, jint, jint, jint, jint); + Event(::java::lang::Object *, jlong, jint, jint, jint, jint, jint, ::java::lang::Object *); + virtual jboolean controlDown(); + virtual jboolean metaDown(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual jboolean shiftDown(); + virtual ::java::lang::String * toString(); + virtual void translate(jint, jint); +public: // actually package-private + static const jlong serialVersionUID = 5488922509400504703LL; +public: + static const jint SHIFT_MASK = 1; + static const jint CTRL_MASK = 2; + static const jint META_MASK = 4; + static const jint ALT_MASK = 8; + static const jint ACTION_EVENT = 1001; + static const jint BACK_SPACE = 8; + static const jint CAPS_LOCK = 1022; + static const jint DELETE = 127; + static const jint DOWN = 1005; + static const jint END = 1001; + static const jint ENTER = 10; + static const jint ESCAPE = 27; + static const jint F1 = 1008; + static const jint F10 = 1017; + static const jint F11 = 1018; + static const jint F12 = 1019; + static const jint F2 = 1009; + static const jint F3 = 1010; + static const jint F4 = 1011; + static const jint F5 = 1012; + static const jint F6 = 1013; + static const jint F7 = 1014; + static const jint F8 = 1015; + static const jint F9 = 1016; + static const jint GOT_FOCUS = 1004; + static const jint HOME = 1000; + static const jint INSERT = 1025; + static const jint KEY_ACTION = 403; + static const jint KEY_ACTION_RELEASE = 404; + static const jint KEY_PRESS = 401; + static const jint KEY_RELEASE = 402; + static const jint LEFT = 1006; + static const jint LIST_DESELECT = 702; + static const jint LIST_SELECT = 701; + static const jint LOAD_FILE = 1002; + static const jint LOST_FOCUS = 1005; + static const jint MOUSE_DOWN = 501; + static const jint MOUSE_DRAG = 506; + static const jint MOUSE_ENTER = 504; + static const jint MOUSE_EXIT = 505; + static const jint MOUSE_MOVE = 503; + static const jint MOUSE_UP = 502; + static const jint NUM_LOCK = 1023; + static const jint PAUSE = 1024; + static const jint PGDN = 1003; + static const jint PGUP = 1002; + static const jint PRINT_SCREEN = 1020; + static const jint RIGHT = 1007; + static const jint SAVE_FILE = 1003; + static const jint SCROLL_ABSOLUTE = 605; + static const jint SCROLL_BEGIN = 606; + static const jint SCROLL_END = 607; + static const jint SCROLL_LINE_DOWN = 602; + static const jint SCROLL_LINE_UP = 601; + static const jint SCROLL_LOCK = 1021; + static const jint SCROLL_PAGE_DOWN = 604; + static const jint SCROLL_PAGE_UP = 603; + static const jint TAB = 9; + static const jint UP = 1004; + static const jint WINDOW_DEICONIFY = 204; + static const jint WINDOW_DESTROY = 201; + static const jint WINDOW_EXPOSE = 202; + static const jint WINDOW_ICONIFY = 203; + static const jint WINDOW_MOVED = 205; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) arg; + jint clickCount; +public: // actually package-private + jboolean consumed; +public: + ::java::awt::Event * evt; + jint id; + jint key; + jint modifiers; + ::java::lang::Object * target; + jlong when; + jint x; + jint y; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Event__ diff --git a/libjava/java/awt/EventDispatchThread.h b/libjava/java/awt/EventDispatchThread.h new file mode 100644 index 00000000000..a094bdc8a71 --- /dev/null +++ b/libjava/java/awt/EventDispatchThread.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_EventDispatchThread__ +#define __java_awt_EventDispatchThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class EventDispatchThread; + class EventQueue; + } + } +} + +class java::awt::EventDispatchThread : public ::java::lang::Thread +{ + +public: // actually package-private + EventDispatchThread(::java::awt::EventQueue *); +public: + virtual void run(); +private: + static const jint DEFAULT_PRIORITY = 6; + static jint dispatchThreadNum; + ::java::awt::EventQueue * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) queue; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_EventDispatchThread__ diff --git a/libjava/java/awt/EventQueue$Queue.h b/libjava/java/awt/EventQueue$Queue.h new file mode 100644 index 00000000000..6504a9661ff --- /dev/null +++ b/libjava/java/awt/EventQueue$Queue.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_EventQueue$Queue__ +#define __java_awt_EventQueue$Queue__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class EventQueue; + class EventQueue$Queue; + } + } +} + +class java::awt::EventQueue$Queue : public ::java::lang::Object +{ + + EventQueue$Queue(::java::awt::EventQueue *); +public: // actually package-private + EventQueue$Queue(::java::awt::EventQueue *, ::java::awt::EventQueue$Queue *); + ::java::awt::AWTEvent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queueHead; + ::java::awt::AWTEvent * queueTail; + ::java::awt::EventQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_EventQueue$Queue__ diff --git a/libjava/java/awt/EventQueue.h b/libjava/java/awt/EventQueue.h new file mode 100644 index 00000000000..71da1550e98 --- /dev/null +++ b/libjava/java/awt/EventQueue.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_EventQueue__ +#define __java_awt_EventQueue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class EventDispatchThread; + class EventQueue; + class EventQueue$Queue; + } + } +} + +class java::awt::EventQueue : public ::java::lang::Object +{ + + jboolean isShutdown(); +public: + EventQueue(); + virtual ::java::awt::AWTEvent * getNextEvent(); +private: + ::java::awt::AWTEvent * getNextEventImpl(jboolean); +public: + virtual ::java::awt::AWTEvent * peekEvent(); + virtual ::java::awt::AWTEvent * peekEvent(jint); + virtual void postEvent(::java::awt::AWTEvent *); +private: + void postEventImpl(::java::awt::AWTEvent *); + void postEventImpl(::java::awt::AWTEvent *, jint); +public: + static void invokeAndWait(::java::lang::Runnable *); + static void invokeLater(::java::lang::Runnable *); + static jboolean isDispatchThread(); + static ::java::awt::AWTEvent * getCurrentEvent(); + virtual void push(::java::awt::EventQueue *); +public: // actually protected + virtual void pop(); + virtual void dispatchEvent(::java::awt::AWTEvent *); +public: + static jlong getMostRecentEventTime(); +private: + static const jint NORM_PRIORITY = 0; + static const jint LOW_PRIORITY = 1; + JArray< ::java::awt::EventQueue$Queue * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queues; + ::java::awt::EventQueue * next; + ::java::awt::EventQueue * prev; + ::java::awt::AWTEvent * currentEvent; + jlong lastWhen; + ::java::awt::EventDispatchThread * dispatchThread; + jboolean nativeLoopRunning; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_EventQueue__ diff --git a/libjava/java/awt/FileDialog.h b/libjava/java/awt/FileDialog.h new file mode 100644 index 00000000000..b64300df00d --- /dev/null +++ b/libjava/java/awt/FileDialog.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_FileDialog__ +#define __java_awt_FileDialog__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dialog; + class FileDialog; + class Frame; + } + } +} + +class java::awt::FileDialog : public ::java::awt::Dialog +{ + +public: + FileDialog(::java::awt::Dialog *); + FileDialog(::java::awt::Dialog *, ::java::lang::String *); + FileDialog(::java::awt::Dialog *, ::java::lang::String *, jint); + FileDialog(::java::awt::Frame *); + FileDialog(::java::awt::Frame *, ::java::lang::String *); + FileDialog(::java::awt::Frame *, ::java::lang::String *, jint); + virtual jint getMode(); + virtual void setMode(jint); + virtual ::java::lang::String * getDirectory(); + virtual void setDirectory(::java::lang::String *); + virtual ::java::lang::String * getFile(); + virtual void setFile(::java::lang::String *); + virtual ::java::io::FilenameFilter * getFilenameFilter(); + virtual void setFilenameFilter(::java::io::FilenameFilter *); + virtual void addNotify(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + static const jint LOAD = 0; + static const jint SAVE = 1; +private: + static const jlong serialVersionUID = 5035145889651310422LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::awt::Dialog)))) dir; + ::java::lang::String * file; + ::java::io::FilenameFilter * filter; + jint mode; + static jlong next_file_dialog_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_FileDialog__ diff --git a/libjava/java/awt/FlowLayout.h b/libjava/java/awt/FlowLayout.h new file mode 100644 index 00000000000..202fe18bb4a --- /dev/null +++ b/libjava/java/awt/FlowLayout.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_FlowLayout__ +#define __java_awt_FlowLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class FlowLayout; + } + } +} + +class java::awt::FlowLayout : public ::java::lang::Object +{ + +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual jint getAlignment(); + virtual jint getHgap(); + virtual jint getVgap(); + FlowLayout(); + FlowLayout(jint); + FlowLayout(jint, jint, jint); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void setAlignment(jint); + virtual void setHgap(jint); + virtual void setVgap(jint); + virtual ::java::lang::String * toString(); +private: + ::java::awt::Dimension * getSize(::java::awt::Container *, jboolean); +public: + static const jint LEFT = 0; + static const jint CENTER = 1; + static const jint RIGHT = 2; + static const jint LEADING = 3; + static const jint TRAILING = 4; +private: + static const jlong serialVersionUID = -7262534875583282631LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) align; + jint hgap; + jint vgap; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_FlowLayout__ diff --git a/libjava/java/awt/FocusTraversalPolicy.h b/libjava/java/awt/FocusTraversalPolicy.h new file mode 100644 index 00000000000..f4add235fca --- /dev/null +++ b/libjava/java/awt/FocusTraversalPolicy.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_FocusTraversalPolicy__ +#define __java_awt_FocusTraversalPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class FocusTraversalPolicy; + class Window; + } + } +} + +class java::awt::FocusTraversalPolicy : public ::java::lang::Object +{ + +public: + FocusTraversalPolicy(); + virtual ::java::awt::Component * getComponentAfter(::java::awt::Container *, ::java::awt::Component *) = 0; + virtual ::java::awt::Component * getComponentBefore(::java::awt::Container *, ::java::awt::Component *) = 0; + virtual ::java::awt::Component * getFirstComponent(::java::awt::Container *) = 0; + virtual ::java::awt::Component * getLastComponent(::java::awt::Container *) = 0; + virtual ::java::awt::Component * getDefaultComponent(::java::awt::Container *) = 0; + virtual ::java::awt::Component * getInitialComponent(::java::awt::Window *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_FocusTraversalPolicy__ diff --git a/libjava/java/awt/Font.h b/libjava/java/awt/Font.h new file mode 100644 index 00000000000..07c651f5837 --- /dev/null +++ b/libjava/java/awt/Font.h @@ -0,0 +1,153 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Font__ +#define __java_awt_Font__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + class ClasspathToolkit; + namespace peer + { + class ClasspathFontPeer; + } + } + } + } + namespace java + { + namespace awt + { + class Font; + namespace font + { + class FontRenderContext; + class GlyphVector; + class LineMetrics; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace peer + { + class FontPeer; + } + } + namespace text + { + class AttributedCharacterIterator$Attribute; + class CharacterIterator; + } + } +} + +class java::awt::Font : public ::java::lang::Object +{ + +public: + static ::java::awt::Font * decode(::java::lang::String *); +public: // actually package-private + static ::gnu::java::awt::ClasspathToolkit * tk(); + static ::java::awt::Font * getFontFromToolkit(::java::lang::String *, ::java::util::Map *); + static ::gnu::java::awt::peer::ClasspathFontPeer * getPeerFromToolkit(::java::lang::String *, ::java::util::Map *); +public: + static ::java::awt::Font * getFont(::java::lang::String *, ::java::awt::Font *); + static ::java::awt::Font * getFont(::java::lang::String *); + Font(::java::lang::String *, jint, jint); + Font(::java::util::Map *); +public: // actually package-private + Font(::java::lang::String *, ::java::util::Map *); +public: + virtual ::java::lang::String * getName(); + virtual jint getSize(); + virtual jfloat getSize2D(); + virtual jboolean isPlain(); + virtual jboolean isBold(); + virtual jboolean isItalic(); + virtual ::java::lang::String * getFamily(); + virtual jint getStyle(); + virtual jboolean canDisplay(jchar); + virtual jint canDisplayUpTo(::java::lang::String *); + virtual jint canDisplayUpTo(JArray< jchar > *, jint, jint); + virtual jint canDisplayUpTo(::java::text::CharacterIterator *, jint, jint); + static ::java::awt::Font * createFont(jint, ::java::io::InputStream *); + static ::java::awt::Font * createFont(jint, ::java::io::File *); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::font::FontRenderContext *, ::java::lang::String *); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::font::FontRenderContext *, JArray< jchar > *); + virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::font::FontRenderContext *, JArray< jint > *); + virtual ::java::awt::Font * deriveFont(jint, jfloat); + virtual ::java::awt::Font * deriveFont(jfloat); + virtual ::java::awt::Font * deriveFont(jint); + virtual ::java::awt::Font * deriveFont(jint, ::java::awt::geom::AffineTransform *); + virtual ::java::awt::Font * deriveFont(::java::awt::geom::AffineTransform *); + virtual ::java::awt::Font * deriveFont(::java::util::Map *); + virtual ::java::util::Map * getAttributes(); + virtual JArray< ::java::text::AttributedCharacterIterator$Attribute * > * getAvailableAttributes(); + virtual jbyte getBaselineFor(jchar); + virtual ::java::lang::String * getFamily(::java::util::Locale *); + static ::java::awt::Font * getFont(::java::util::Map *); + virtual ::java::lang::String * getFontName(); + virtual ::java::lang::String * getFontName(::java::util::Locale *); + virtual jfloat getItalicAngle(); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::lang::String *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::font::LineMetrics * getLineMetrics(JArray< jchar > *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::font::FontRenderContext *); + virtual jint getMissingGlyphCode(); + virtual jint getNumGlyphs(); + virtual ::java::lang::String * getPSName(); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(JArray< jchar > *, jint, jint, ::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual jboolean hasUniformLineMetrics(); + virtual jboolean isTransformed(); + virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint); + virtual ::java::awt::peer::FontPeer * getPeer(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::lang::String *, ::java::awt::font::FontRenderContext *); +private: + void readObject(::java::io::ObjectInputStream *); +public: + static const jint PLAIN = 0; + static const jint BOLD = 1; + static const jint ITALIC = 2; + static const jint ROMAN_BASELINE = 0; + static const jint CENTER_BASELINE = 1; + static const jint HANGING_BASELINE = 2; + static const jint TRUETYPE_FONT = 0; + static const jint TYPE1_FONT = 1; + static const jint LAYOUT_LEFT_TO_RIGHT = 0; + static const jint LAYOUT_RIGHT_TO_LEFT = 1; + static const jint LAYOUT_NO_START_CONTEXT = 2; + static const jint LAYOUT_NO_LIMIT_CONTEXT = 4; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jint size; + jfloat pointSize; + jint style; +private: + static const jlong serialVersionUID = -4206021311591459213LL; + ::gnu::java::awt::peer::ClasspathFontPeer * peer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Font__ diff --git a/libjava/java/awt/FontFormatException.h b/libjava/java/awt/FontFormatException.h new file mode 100644 index 00000000000..9d9ffec9dd5 --- /dev/null +++ b/libjava/java/awt/FontFormatException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_FontFormatException__ +#define __java_awt_FontFormatException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class FontFormatException; + } + } +} + +class java::awt::FontFormatException : public ::java::lang::Exception +{ + +public: + FontFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4481290147811361272LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_FontFormatException__ diff --git a/libjava/java/awt/FontMetrics.h b/libjava/java/awt/FontMetrics.h new file mode 100644 index 00000000000..67d8b6b4f39 --- /dev/null +++ b/libjava/java/awt/FontMetrics.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_FontMetrics__ +#define __java_awt_FontMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class FontMetrics; + class Graphics; + namespace font + { + class FontRenderContext; + class LineMetrics; + } + namespace geom + { + class Rectangle2D; + } + } + namespace text + { + class CharacterIterator; + } + } +} + +class java::awt::FontMetrics : public ::java::lang::Object +{ + +public: // actually protected + FontMetrics(::java::awt::Font *); +public: + virtual ::java::awt::Font * getFont(); + virtual jint getLeading(); + virtual jint getAscent(); + virtual jint getDescent(); + virtual jint getHeight(); + virtual jint getMaxAscent(); + virtual jint getMaxDescent(); + virtual jint getMaxDecent(); + virtual jint getMaxAdvance(); + virtual jint charWidth(jint); + virtual jint charWidth(jchar); + virtual jint stringWidth(::java::lang::String *); + virtual jint charsWidth(JArray< jchar > *, jint, jint); + virtual jint bytesWidth(JArray< jbyte > *, jint, jint); + virtual JArray< jint > * getWidths(); + virtual ::java::lang::String * toString(); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::lang::String *, ::java::awt::Graphics *); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::lang::String *, jint, jint, ::java::awt::Graphics *); + virtual ::java::awt::font::LineMetrics * getLineMetrics(JArray< jchar > *, jint, jint, ::java::awt::Graphics *); + virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Graphics *); + virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::text::CharacterIterator *, jint, jint, ::java::awt::Graphics *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *, ::java::awt::Graphics *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::lang::String *, jint, jint, ::java::awt::Graphics *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(JArray< jchar > *, jint, jint, ::java::awt::Graphics *); + virtual ::java::awt::geom::Rectangle2D * getStringBounds(::java::text::CharacterIterator *, jint, jint, ::java::awt::Graphics *); +private: + ::java::awt::font::FontRenderContext * getFontRenderContext(::java::awt::Graphics *); +public: + virtual jboolean hasUniformLineMetrics(); +private: + static const jlong serialVersionUID = 1681126225205050147LL; +public: // actually protected + ::java::awt::Font * __attribute__((aligned(__alignof__( ::java::lang::Object)))) font; +private: + static ::java::awt::font::FontRenderContext * gRC; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_FontMetrics__ diff --git a/libjava/java/awt/Frame$AccessibleAWTFrame.h b/libjava/java/awt/Frame$AccessibleAWTFrame.h new file mode 100644 index 00000000000..62ed120a93a --- /dev/null +++ b/libjava/java/awt/Frame$AccessibleAWTFrame.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Frame$AccessibleAWTFrame__ +#define __java_awt_Frame$AccessibleAWTFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Frame; + class Frame$AccessibleAWTFrame; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + } + } +} + +class java::awt::Frame$AccessibleAWTFrame : public ::java::awt::Window$AccessibleAWTWindow +{ + +public: // actually protected + Frame$AccessibleAWTFrame(::java::awt::Frame *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = -6172960752956030250LL; +public: // actually package-private + ::java::awt::Frame * __attribute__((aligned(__alignof__( ::java::awt::Window$AccessibleAWTWindow)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Frame$AccessibleAWTFrame__ diff --git a/libjava/java/awt/Frame.h b/libjava/java/awt/Frame.h new file mode 100644 index 00000000000..ffbf38d2af8 --- /dev/null +++ b/libjava/java/awt/Frame.h @@ -0,0 +1,117 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Frame__ +#define __java_awt_Frame__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Frame; + class GraphicsConfiguration; + class Image; + class MenuBar; + class MenuComponent; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Frame : public ::java::awt::Window +{ + +public: + Frame(); + Frame(::java::lang::String *); + Frame(::java::awt::GraphicsConfiguration *); + Frame(::java::lang::String *, ::java::awt::GraphicsConfiguration *); + virtual ::java::lang::String * getTitle(); + virtual void setTitle(::java::lang::String *); + virtual ::java::awt::Image * getIconImage(); + virtual void setIconImage(::java::awt::Image *); + virtual ::java::awt::MenuBar * getMenuBar(); + virtual void setMenuBar(::java::awt::MenuBar *); + virtual jboolean isResizable(); + virtual void setResizable(jboolean); + virtual jint getCursorType(); + virtual void setCursor(jint); + virtual void remove(::java::awt::MenuComponent *); + virtual void addNotify(); + virtual void removeNotify(); +public: // actually protected + virtual ::java::lang::String * paramString(); +private: + static void noteFrame(::java::awt::Frame *); +public: + static JArray< ::java::awt::Frame * > * getFrames(); + virtual void setState(jint); + virtual jint getState(); + virtual void setExtendedState(jint); + virtual jint getExtendedState(); + virtual void setMaximizedBounds(::java::awt::Rectangle *); + virtual ::java::awt::Rectangle * getMaximizedBounds(); + virtual jboolean isUndecorated(); + virtual void setUndecorated(jboolean); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + static const jint DEFAULT_CURSOR = 0; + static const jint CROSSHAIR_CURSOR = 1; + static const jint TEXT_CURSOR = 2; + static const jint WAIT_CURSOR = 3; + static const jint SW_RESIZE_CURSOR = 4; + static const jint SE_RESIZE_CURSOR = 5; + static const jint NW_RESIZE_CURSOR = 6; + static const jint NE_RESIZE_CURSOR = 7; + static const jint N_RESIZE_CURSOR = 8; + static const jint S_RESIZE_CURSOR = 9; + static const jint E_RESIZE_CURSOR = 11; + static const jint W_RESIZE_CURSOR = 10; + static const jint HAND_CURSOR = 12; + static const jint MOVE_CURSOR = 13; + static const jint ICONIFIED = 1; + static const jint MAXIMIZED_BOTH = 6; + static const jint MAXIMIZED_HORIZ = 2; + static const jint MAXIMIZED_VERT = 4; + static const jint NORMAL = 0; +private: + static const jlong serialVersionUID = 2673458971256075116LL; + jint __attribute__((aligned(__alignof__( ::java::awt::Window)))) frameSerializedDataVersion; + ::java::awt::Image * icon; + jboolean mbManagement; + ::java::awt::MenuBar * menuBar; +public: // actually package-private + ::java::util::Vector * ownedWindows; +private: + jboolean resizable; +public: // actually package-private + jint state; +private: + ::java::lang::String * title; + ::java::awt::Rectangle * maximizedBounds; + jboolean undecorated; + static jlong next_frame_number; + static ::java::util::ArrayList * weakFrames; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Frame__ diff --git a/libjava/java/awt/GradientPaint.h b/libjava/java/awt/GradientPaint.h new file mode 100644 index 00000000000..075e139d669 --- /dev/null +++ b/libjava/java/awt/GradientPaint.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GradientPaint__ +#define __java_awt_GradientPaint__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class GradientPaint; + class PaintContext; + class Rectangle; + class RenderingHints; + namespace geom + { + class AffineTransform; + class Point2D; + class Rectangle2D; + } + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::GradientPaint : public ::java::lang::Object +{ + +public: + GradientPaint(jfloat, jfloat, ::java::awt::Color *, jfloat, jfloat, ::java::awt::Color *); + GradientPaint(::java::awt::geom::Point2D *, ::java::awt::Color *, ::java::awt::geom::Point2D *, ::java::awt::Color *); + GradientPaint(jfloat, jfloat, ::java::awt::Color *, jfloat, jfloat, ::java::awt::Color *, jboolean); + GradientPaint(::java::awt::geom::Point2D *, ::java::awt::Color *, ::java::awt::geom::Point2D *, ::java::awt::Color *, jboolean); + virtual ::java::awt::geom::Point2D * getPoint1(); + virtual ::java::awt::Color * getColor1(); + virtual ::java::awt::geom::Point2D * getPoint2(); + virtual ::java::awt::Color * getColor2(); + virtual jboolean isCyclic(); + virtual ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + virtual jint getTransparency(); +private: + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) x1; + jfloat y1; + ::java::awt::Color * c1; + jfloat x2; + jfloat y2; + ::java::awt::Color * c2; + jboolean cyclic; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GradientPaint__ diff --git a/libjava/java/awt/Graphics.h b/libjava/java/awt/Graphics.h new file mode 100644 index 00000000000..504b30ec571 --- /dev/null +++ b/libjava/java/awt/Graphics.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Graphics__ +#define __java_awt_Graphics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Graphics; + class Image; + class Polygon; + class Rectangle; + class Shape; + namespace image + { + class ImageObserver; + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class java::awt::Graphics : public ::java::lang::Object +{ + +public: // actually protected + Graphics(); +public: + virtual ::java::awt::Graphics * create() = 0; + virtual ::java::awt::Graphics * create(jint, jint, jint, jint); + virtual void translate(jint, jint) = 0; + virtual ::java::awt::Color * getColor() = 0; + virtual void setColor(::java::awt::Color *) = 0; + virtual void setPaintMode() = 0; + virtual void setXORMode(::java::awt::Color *) = 0; + virtual ::java::awt::Font * getFont() = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Rectangle * getClipBounds() = 0; + virtual ::java::awt::Rectangle * getClipRect(); + virtual void clipRect(jint, jint, jint, jint) = 0; + virtual void setClip(jint, jint, jint, jint) = 0; + virtual ::java::awt::Shape * getClip() = 0; + virtual void setClip(::java::awt::Shape *) = 0; + virtual void copyArea(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawLine(jint, jint, jint, jint) = 0; + virtual void fillRect(jint, jint, jint, jint) = 0; + virtual void drawRect(jint, jint, jint, jint); + virtual void clearRect(jint, jint, jint, jint) = 0; + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint) = 0; + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint) = 0; + virtual void draw3DRect(jint, jint, jint, jint, jboolean); + virtual void fill3DRect(jint, jint, jint, jint, jboolean); + virtual void drawOval(jint, jint, jint, jint) = 0; + virtual void fillOval(jint, jint, jint, jint) = 0; + virtual void drawArc(jint, jint, jint, jint, jint, jint) = 0; + virtual void fillArc(jint, jint, jint, jint, jint, jint) = 0; + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void drawPolygon(::java::awt::Polygon *); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint) = 0; + virtual void fillPolygon(::java::awt::Polygon *); + virtual void drawString(::java::lang::String *, jint, jint) = 0; + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint) = 0; + virtual void drawChars(JArray< jchar > *, jint, jint, jint, jint); + virtual void drawBytes(JArray< jbyte > *, jint, jint, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *) = 0; + virtual void dispose() = 0; + virtual void finalize(); + virtual ::java::lang::String * toString(); + virtual jboolean hitClip(jint, jint, jint, jint); + virtual ::java::awt::Rectangle * getClipBounds(::java::awt::Rectangle *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Graphics__ diff --git a/libjava/java/awt/Graphics2D.h b/libjava/java/awt/Graphics2D.h new file mode 100644 index 00000000000..9815434cfc1 --- /dev/null +++ b/libjava/java/awt/Graphics2D.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Graphics2D__ +#define __java_awt_Graphics2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Composite; + class Graphics2D; + class GraphicsConfiguration; + class Image; + class Paint; + class Rectangle; + class RenderingHints; + class RenderingHints$Key; + class Shape; + class Stroke; + namespace font + { + class FontRenderContext; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ImageObserver; + class RenderedImage; + namespace renderable + { + class RenderableImage; + } + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class java::awt::Graphics2D : public ::java::awt::Graphics +{ + +public: // actually protected + Graphics2D(); +public: + virtual void draw3DRect(jint, jint, jint, jint, jboolean); + virtual void fill3DRect(jint, jint, jint, jint, jboolean); + virtual void draw(::java::awt::Shape *) = 0; + virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *) = 0; + virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint) = 0; + virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *) = 0; + virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *) = 0; + virtual void drawString(::java::lang::String *, jint, jint) = 0; + virtual void drawString(::java::lang::String *, jfloat, jfloat) = 0; + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint) = 0; + virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat) = 0; + virtual void fill(::java::awt::Shape *) = 0; + virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean) = 0; + virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration() = 0; + virtual void setComposite(::java::awt::Composite *) = 0; + virtual void setPaint(::java::awt::Paint *) = 0; + virtual void setStroke(::java::awt::Stroke *) = 0; + virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *) = 0; + virtual void setRenderingHints(::java::util::Map *) = 0; + virtual void addRenderingHints(::java::util::Map *) = 0; + virtual ::java::awt::RenderingHints * getRenderingHints() = 0; + virtual void translate(jint, jint) = 0; + virtual void translate(jdouble, jdouble) = 0; + virtual void rotate(jdouble) = 0; + virtual void rotate(jdouble, jdouble, jdouble) = 0; + virtual void scale(jdouble, jdouble) = 0; + virtual void shear(jdouble, jdouble) = 0; + virtual void transform(::java::awt::geom::AffineTransform *) = 0; + virtual void setTransform(::java::awt::geom::AffineTransform *) = 0; + virtual ::java::awt::geom::AffineTransform * getTransform() = 0; + virtual ::java::awt::Paint * getPaint() = 0; + virtual ::java::awt::Composite * getComposite() = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual ::java::awt::Color * getBackground() = 0; + virtual ::java::awt::Stroke * getStroke() = 0; + virtual void clip(::java::awt::Shape *) = 0; + virtual ::java::awt::font::FontRenderContext * getFontRenderContext() = 0; + virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Graphics2D__ diff --git a/libjava/java/awt/GraphicsConfigTemplate.h b/libjava/java/awt/GraphicsConfigTemplate.h new file mode 100644 index 00000000000..53bbece33be --- /dev/null +++ b/libjava/java/awt/GraphicsConfigTemplate.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GraphicsConfigTemplate__ +#define __java_awt_GraphicsConfigTemplate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class GraphicsConfigTemplate; + class GraphicsConfiguration; + } + } +} + +class java::awt::GraphicsConfigTemplate : public ::java::lang::Object +{ + +public: + GraphicsConfigTemplate(); + virtual ::java::awt::GraphicsConfiguration * getBestConfiguration(JArray< ::java::awt::GraphicsConfiguration * > *) = 0; + virtual jboolean isGraphicsConfigSupported(::java::awt::GraphicsConfiguration *) = 0; +private: + static const jlong serialVersionUID = -8061369279557787079LL; +public: + static const jint REQUIRED = 1; + static const jint PREFERRED = 2; + static const jint UNNECESSARY = 3; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GraphicsConfigTemplate__ diff --git a/libjava/java/awt/GraphicsConfiguration.h b/libjava/java/awt/GraphicsConfiguration.h new file mode 100644 index 00000000000..58c91221d0d --- /dev/null +++ b/libjava/java/awt/GraphicsConfiguration.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GraphicsConfiguration__ +#define __java_awt_GraphicsConfiguration__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities; + class GraphicsConfiguration; + class GraphicsDevice; + class ImageCapabilities; + class Rectangle; + namespace geom + { + class AffineTransform; + } + namespace image + { + class BufferedImage; + class ColorModel; + class VolatileImage; + } + } + } +} + +class java::awt::GraphicsConfiguration : public ::java::lang::Object +{ + +public: // actually protected + GraphicsConfiguration(); +public: + virtual ::java::awt::GraphicsDevice * getDevice() = 0; + virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint) = 0; + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint) = 0; + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, ::java::awt::ImageCapabilities *); + virtual ::java::awt::image::VolatileImage * createCompatibleVolatileImage(jint, jint, jint) = 0; + virtual ::java::awt::image::BufferedImage * createCompatibleImage(jint, jint, jint) = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::image::ColorModel * getColorModel(jint) = 0; + virtual ::java::awt::geom::AffineTransform * getDefaultTransform() = 0; + virtual ::java::awt::geom::AffineTransform * getNormalizingTransform() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual ::java::awt::BufferCapabilities * getBufferCapabilities(); + virtual ::java::awt::ImageCapabilities * getImageCapabilities(); +private: + ::java::awt::ImageCapabilities * __attribute__((aligned(__alignof__( ::java::lang::Object)))) imageCapabilities; + ::java::awt::BufferCapabilities * bufferCapabilities; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GraphicsConfiguration__ diff --git a/libjava/java/awt/GraphicsDevice.h b/libjava/java/awt/GraphicsDevice.h new file mode 100644 index 00000000000..a10d93d8674 --- /dev/null +++ b/libjava/java/awt/GraphicsDevice.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GraphicsDevice__ +#define __java_awt_GraphicsDevice__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class DisplayMode; + class GraphicsConfigTemplate; + class GraphicsConfiguration; + class GraphicsDevice; + class Rectangle; + class Window; + } + } +} + +class java::awt::GraphicsDevice : public ::java::lang::Object +{ + +public: // actually protected + GraphicsDevice(); +public: + virtual jint getType() = 0; + virtual ::java::lang::String * getIDstring() = 0; + virtual JArray< ::java::awt::GraphicsConfiguration * > * getConfigurations() = 0; + virtual ::java::awt::GraphicsConfiguration * getDefaultConfiguration() = 0; + virtual ::java::awt::GraphicsConfiguration * getBestConfiguration(::java::awt::GraphicsConfigTemplate *); + virtual jboolean isFullScreenSupported(); + virtual void setFullScreenWindow(::java::awt::Window *); + virtual ::java::awt::Window * getFullScreenWindow(); + virtual jboolean isDisplayChangeSupported(); + virtual void setDisplayMode(::java::awt::DisplayMode *); + virtual ::java::awt::DisplayMode * getDisplayMode(); + virtual JArray< ::java::awt::DisplayMode * > * getDisplayModes(); + virtual jint getAvailableAcceleratedMemory(); + static const jint TYPE_RASTER_SCREEN = 0; + static const jint TYPE_PRINTER = 1; + static const jint TYPE_IMAGE_BUFFER = 2; +private: + ::java::awt::Window * __attribute__((aligned(__alignof__( ::java::lang::Object)))) full_screen; + ::java::awt::Rectangle * fullScreenOldBounds; + ::java::awt::DisplayMode * mode; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GraphicsDevice__ diff --git a/libjava/java/awt/GraphicsEnvironment.h b/libjava/java/awt/GraphicsEnvironment.h new file mode 100644 index 00000000000..398e295bfca --- /dev/null +++ b/libjava/java/awt/GraphicsEnvironment.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GraphicsEnvironment__ +#define __java_awt_GraphicsEnvironment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class Graphics2D; + class GraphicsDevice; + class GraphicsEnvironment; + class Point; + class Rectangle; + namespace image + { + class BufferedImage; + } + } + } +} + +class java::awt::GraphicsEnvironment : public ::java::lang::Object +{ + +public: // actually protected + GraphicsEnvironment(); +public: + static ::java::awt::GraphicsEnvironment * getLocalGraphicsEnvironment(); + static jboolean isHeadless(); + virtual jboolean isHeadlessInstance(); + virtual JArray< ::java::awt::GraphicsDevice * > * getScreenDevices() = 0; + virtual ::java::awt::GraphicsDevice * getDefaultScreenDevice() = 0; + virtual ::java::awt::Graphics2D * createGraphics(::java::awt::image::BufferedImage *) = 0; + virtual JArray< ::java::awt::Font * > * getAllFonts() = 0; + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames() = 0; + virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *) = 0; + virtual ::java::awt::Point * getCenterPoint(); + virtual ::java::awt::Rectangle * getMaximumWindowBounds(); +private: + static ::java::awt::GraphicsEnvironment * localGraphicsEnvironment; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GraphicsEnvironment__ diff --git a/libjava/java/awt/GridBagConstraints.h b/libjava/java/awt/GridBagConstraints.h new file mode 100644 index 00000000000..95d359e1946 --- /dev/null +++ b/libjava/java/awt/GridBagConstraints.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GridBagConstraints__ +#define __java_awt_GridBagConstraints__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class GridBagConstraints; + class Insets; + } + } +} + +class java::awt::GridBagConstraints : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone(); + GridBagConstraints(); + GridBagConstraints(jint, jint, jint, jint, jdouble, jdouble, jint, jint, ::java::awt::Insets *, jint, jint); +public: // actually package-private + static const jlong serialVersionUID = -1000070633030801713LL; +public: + static const jint NONE = 0; + static const jint BOTH = 1; + static const jint HORIZONTAL = 2; + static const jint VERTICAL = 3; + static const jint CENTER = 10; + static const jint NORTH = 11; + static const jint NORTHEAST = 12; + static const jint EAST = 13; + static const jint SOUTHEAST = 14; + static const jint SOUTH = 15; + static const jint SOUTHWEST = 16; + static const jint WEST = 17; + static const jint NORTHWEST = 18; + static const jint RELATIVE = -1; + static const jint REMAINDER = 0; + static const jint PAGE_START = 19; + static const jint PAGE_END = 20; + static const jint LINE_START = 21; + static const jint LINE_END = 22; + static const jint FIRST_LINE_START = 23; + static const jint FIRST_LINE_END = 24; + static const jint LAST_LINE_START = 25; + static const jint LAST_LINE_END = 26; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) anchor; + jint fill; + jint gridheight; + jint gridwidth; + jint gridx; + jint gridy; + ::java::awt::Insets * insets; + jint ipadx; + jint ipady; + jdouble weightx; + jdouble weighty; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GridBagConstraints__ diff --git a/libjava/java/awt/GridBagLayout.h b/libjava/java/awt/GridBagLayout.h new file mode 100644 index 00000000000..b553aff4eb3 --- /dev/null +++ b/libjava/java/awt/GridBagLayout.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GridBagLayout__ +#define __java_awt_GridBagLayout__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class GridBagConstraints; + class GridBagLayout; + class GridBagLayoutInfo; + class Point; + class Rectangle; + } + } +} + +class java::awt::GridBagLayout : public ::java::lang::Object +{ + +public: + GridBagLayout(); +private: + jint sumIntArray(JArray< jint > *, jint); + jint sumIntArray(JArray< jint > *); + jdouble sumDoubleArray(JArray< jdouble > *); +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); + virtual void setConstraints(::java::awt::Component *, ::java::awt::GridBagConstraints *); + virtual ::java::awt::GridBagConstraints * getConstraints(::java::awt::Component *); +public: // actually protected + virtual ::java::awt::GridBagConstraints * lookupConstraints(::java::awt::Component *); +private: + ::java::awt::GridBagConstraints * lookupInternalConstraints(::java::awt::Component *); +public: + virtual ::java::awt::Point * getLayoutOrigin(); + virtual JArray< JArray< jint > * > * getLayoutDimensions(); + virtual JArray< JArray< jdouble > * > * getLayoutWeights(); + virtual ::java::awt::Point * location(jint, jint); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual void AdjustForGravity(::java::awt::GridBagConstraints *, ::java::awt::Rectangle *); + virtual void ArrangeGrid(::java::awt::Container *); + virtual ::java::awt::GridBagLayoutInfo * GetLayoutInfo(::java::awt::Container *, jint); + virtual ::java::awt::Dimension * GetMinSize(::java::awt::Container *, ::java::awt::GridBagLayoutInfo *); + virtual ::java::awt::Dimension * getMinSize(::java::awt::Container *, ::java::awt::GridBagLayoutInfo *); +private: + void sortBySpan(::java::awt::Component *, jint, ::java::util::ArrayList *, jboolean); + void distributeSizeAndWeight(jint, jdouble, jint, jint, JArray< jint > *, JArray< jdouble > *); + void calcCellWeights(jdouble, JArray< jdouble > *, jint, jint); + void calcCellSizes(JArray< jint > *, JArray< jdouble > *, jint); + void dumpLayoutInfo(::java::awt::GridBagLayoutInfo *); + void dumpArray(JArray< jint > *); + void dumpArray(JArray< jdouble > *); +public: // actually protected + virtual void arrangeGrid(::java::awt::Container *); + virtual ::java::awt::GridBagLayoutInfo * getLayoutInfo(::java::awt::Container *, jint); + virtual void adjustForGravity(::java::awt::GridBagConstraints *, ::java::awt::Rectangle *); +private: + static const jlong serialVersionUID = 8838754796412211005LL; +public: // actually protected + static const jint MINSIZE = 1; + static const jint PREFERREDSIZE = 2; + static const jint MAXGRIDSIZE = 512; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) comptable; +private: + ::java::util::Hashtable * internalcomptable; +public: // actually protected + ::java::awt::GridBagLayoutInfo * layoutInfo; + ::java::awt::GridBagConstraints * defaultConstraints; +public: + JArray< jdouble > * columnWeights; + JArray< jint > * columnWidths; + JArray< jdouble > * rowWeights; + JArray< jint > * rowHeights; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GridBagLayout__ diff --git a/libjava/java/awt/GridBagLayoutInfo.h b/libjava/java/awt/GridBagLayoutInfo.h new file mode 100644 index 00000000000..b83497ff9fe --- /dev/null +++ b/libjava/java/awt/GridBagLayoutInfo.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GridBagLayoutInfo__ +#define __java_awt_GridBagLayoutInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class GridBagLayoutInfo; + } + } +} + +class java::awt::GridBagLayoutInfo : public ::java::lang::Object +{ + +public: // actually package-private + GridBagLayoutInfo(jint, jint); +private: + static const jlong serialVersionUID = -4899416460737170217LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos_x; + jint pos_y; + jint cols; + jint rows; + JArray< jint > * colWidths; + JArray< jint > * rowHeights; + JArray< jdouble > * colWeights; + JArray< jdouble > * rowWeights; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GridBagLayoutInfo__ diff --git a/libjava/java/awt/GridLayout.h b/libjava/java/awt/GridLayout.h new file mode 100644 index 00000000000..84b01a27c7b --- /dev/null +++ b/libjava/java/awt/GridLayout.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_GridLayout__ +#define __java_awt_GridLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class GridLayout; + } + } +} + +class java::awt::GridLayout : public ::java::lang::Object +{ + +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual jint getColumns(); + virtual jint getHgap(); + virtual jint getRows(); + virtual jint getVgap(); + GridLayout(); + GridLayout(jint, jint); + GridLayout(jint, jint, jint, jint); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void setColumns(jint); + virtual void setHgap(jint); + virtual void setRows(jint); + virtual void setVgap(jint); + virtual ::java::lang::String * toString(); +private: + ::java::awt::Dimension * getSize(::java::awt::Container *, jboolean); +public: // actually package-private + static const jlong serialVersionUID = -7411804673224730901LL; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cols; + jint rows; + jint hgap; + jint vgap; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_GridLayout__ diff --git a/libjava/java/awt/HeadlessException.h b/libjava/java/awt/HeadlessException.h new file mode 100644 index 00000000000..f57ea63fb91 --- /dev/null +++ b/libjava/java/awt/HeadlessException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_HeadlessException__ +#define __java_awt_HeadlessException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class HeadlessException; + } + } +} + +class java::awt::HeadlessException : public ::java::lang::UnsupportedOperationException +{ + +public: + HeadlessException(); + HeadlessException(::java::lang::String *); +private: + static const jlong serialVersionUID = 167183644944358563LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_HeadlessException__ diff --git a/libjava/java/awt/IllegalComponentStateException.h b/libjava/java/awt/IllegalComponentStateException.h new file mode 100644 index 00000000000..9743e59f05a --- /dev/null +++ b/libjava/java/awt/IllegalComponentStateException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_IllegalComponentStateException__ +#define __java_awt_IllegalComponentStateException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class IllegalComponentStateException; + } + } +} + +class java::awt::IllegalComponentStateException : public ::java::lang::IllegalStateException +{ + +public: + IllegalComponentStateException(); + IllegalComponentStateException(::java::lang::String *); +private: + static const jlong serialVersionUID = -1889339587208144238LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_IllegalComponentStateException__ diff --git a/libjava/java/awt/Image.h b/libjava/java/awt/Image.h new file mode 100644 index 00000000000..d49664a2238 --- /dev/null +++ b/libjava/java/awt/Image.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Image__ +#define __java_awt_Image__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Image; + namespace image + { + class ImageObserver; + class ImageProducer; + } + } + } +} + +class java::awt::Image : public ::java::lang::Object +{ + +public: + Image(); + virtual jint getWidth(::java::awt::image::ImageObserver *) = 0; + virtual jint getHeight(::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::image::ImageProducer * getSource() = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * getScaledInstance(jint, jint, jint); + virtual void flush() = 0; + virtual void setAccelerationPriority(jfloat); + virtual jfloat getAccelerationPriority(); + static ::java::lang::Object * UndefinedProperty; + static const jint SCALE_DEFAULT = 1; + static const jint SCALE_FAST = 2; + static const jint SCALE_SMOOTH = 4; + static const jint SCALE_REPLICATE = 8; + static const jint SCALE_AREA_AVERAGING = 16; +public: // actually protected + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) accelerationPriority; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Image__ diff --git a/libjava/java/awt/ImageCapabilities.h b/libjava/java/awt/ImageCapabilities.h new file mode 100644 index 00000000000..8a245f39069 --- /dev/null +++ b/libjava/java/awt/ImageCapabilities.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ImageCapabilities__ +#define __java_awt_ImageCapabilities__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ImageCapabilities; + } + } +} + +class java::awt::ImageCapabilities : public ::java::lang::Object +{ + +public: + ImageCapabilities(jboolean); + virtual jboolean isAccelerated(); + virtual jboolean isTrueVolatile(); + virtual ::java::lang::Object * clone(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) accelerated; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ImageCapabilities__ diff --git a/libjava/java/awt/Insets.h b/libjava/java/awt/Insets.h new file mode 100644 index 00000000000..14d70fed5c6 --- /dev/null +++ b/libjava/java/awt/Insets.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Insets__ +#define __java_awt_Insets__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Insets; + } + } +} + +class java::awt::Insets : public ::java::lang::Object +{ + +public: + Insets(jint, jint, jint, jint); + virtual void set(jint, jint, jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::Object * clone(); +private: + static const jlong serialVersionUID = -2272572637695466749LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) top; + jint left; + jint bottom; + jint right; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Insets__ diff --git a/libjava/java/awt/ItemSelectable.h b/libjava/java/awt/ItemSelectable.h new file mode 100644 index 00000000000..3ff72d344b1 --- /dev/null +++ b/libjava/java/awt/ItemSelectable.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ItemSelectable__ +#define __java_awt_ItemSelectable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class ItemSelectable; + namespace event + { + class ItemListener; + } + } + } +} + +class java::awt::ItemSelectable : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::Object * > * getSelectedObjects() = 0; + virtual void addItemListener(::java::awt::event::ItemListener *) = 0; + virtual void removeItemListener(::java::awt::event::ItemListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_ItemSelectable__ diff --git a/libjava/java/awt/JobAttributes$DefaultSelectionType.h b/libjava/java/awt/JobAttributes$DefaultSelectionType.h new file mode 100644 index 00000000000..34779779d67 --- /dev/null +++ b/libjava/java/awt/JobAttributes$DefaultSelectionType.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_JobAttributes$DefaultSelectionType__ +#define __java_awt_JobAttributes$DefaultSelectionType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class JobAttributes$DefaultSelectionType; + } + } +} + +class java::awt::JobAttributes$DefaultSelectionType : public ::java::awt::AttributeValue +{ + + JobAttributes$DefaultSelectionType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::JobAttributes$DefaultSelectionType * ALL; + static ::java::awt::JobAttributes$DefaultSelectionType * RANGE; + static ::java::awt::JobAttributes$DefaultSelectionType * SELECTION; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_JobAttributes$DefaultSelectionType__ diff --git a/libjava/java/awt/JobAttributes$DestinationType.h b/libjava/java/awt/JobAttributes$DestinationType.h new file mode 100644 index 00000000000..6c15bd59d97 --- /dev/null +++ b/libjava/java/awt/JobAttributes$DestinationType.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_JobAttributes$DestinationType__ +#define __java_awt_JobAttributes$DestinationType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class JobAttributes$DestinationType; + } + } +} + +class java::awt::JobAttributes$DestinationType : public ::java::awt::AttributeValue +{ + + JobAttributes$DestinationType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::JobAttributes$DestinationType * FILE; + static ::java::awt::JobAttributes$DestinationType * PRINTER; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_JobAttributes$DestinationType__ diff --git a/libjava/java/awt/JobAttributes$DialogType.h b/libjava/java/awt/JobAttributes$DialogType.h new file mode 100644 index 00000000000..77ae7916d8e --- /dev/null +++ b/libjava/java/awt/JobAttributes$DialogType.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_JobAttributes$DialogType__ +#define __java_awt_JobAttributes$DialogType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class JobAttributes$DialogType; + } + } +} + +class java::awt::JobAttributes$DialogType : public ::java::awt::AttributeValue +{ + + JobAttributes$DialogType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::JobAttributes$DialogType * COMMON; + static ::java::awt::JobAttributes$DialogType * NATIVE; + static ::java::awt::JobAttributes$DialogType * NONE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_JobAttributes$DialogType__ diff --git a/libjava/java/awt/JobAttributes$MultipleDocumentHandlingType.h b/libjava/java/awt/JobAttributes$MultipleDocumentHandlingType.h new file mode 100644 index 00000000000..a4b13448fcb --- /dev/null +++ b/libjava/java/awt/JobAttributes$MultipleDocumentHandlingType.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_JobAttributes$MultipleDocumentHandlingType__ +#define __java_awt_JobAttributes$MultipleDocumentHandlingType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class JobAttributes$MultipleDocumentHandlingType; + } + } +} + +class java::awt::JobAttributes$MultipleDocumentHandlingType : public ::java::awt::AttributeValue +{ + + JobAttributes$MultipleDocumentHandlingType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::JobAttributes$MultipleDocumentHandlingType * SEPARATE_DOCUMENTS_COLLATED_COPIES; + static ::java::awt::JobAttributes$MultipleDocumentHandlingType * SEPARATE_DOCUMENTS_UNCOLLATED_COPIES; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_JobAttributes$MultipleDocumentHandlingType__ diff --git a/libjava/java/awt/JobAttributes$SidesType.h b/libjava/java/awt/JobAttributes$SidesType.h new file mode 100644 index 00000000000..349c3c07729 --- /dev/null +++ b/libjava/java/awt/JobAttributes$SidesType.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_JobAttributes$SidesType__ +#define __java_awt_JobAttributes$SidesType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class JobAttributes$SidesType; + } + } +} + +class java::awt::JobAttributes$SidesType : public ::java::awt::AttributeValue +{ + + JobAttributes$SidesType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::JobAttributes$SidesType * ONE_SIDED; + static ::java::awt::JobAttributes$SidesType * TWO_SIDED_LONG_EDGE; + static ::java::awt::JobAttributes$SidesType * TWO_SIDED_SHORT_EDGE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_JobAttributes$SidesType__ diff --git a/libjava/java/awt/JobAttributes.h b/libjava/java/awt/JobAttributes.h new file mode 100644 index 00000000000..400bbcfc5b2 --- /dev/null +++ b/libjava/java/awt/JobAttributes.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_JobAttributes__ +#define __java_awt_JobAttributes__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class JobAttributes; + class JobAttributes$DefaultSelectionType; + class JobAttributes$DestinationType; + class JobAttributes$DialogType; + class JobAttributes$MultipleDocumentHandlingType; + class JobAttributes$SidesType; + } + } +} + +class java::awt::JobAttributes : public ::java::lang::Object +{ + +public: + JobAttributes(); + JobAttributes(::java::awt::JobAttributes *); + JobAttributes(jint, ::java::awt::JobAttributes$DefaultSelectionType *, ::java::awt::JobAttributes$DestinationType *, ::java::awt::JobAttributes$DialogType *, ::java::lang::String *, jint, jint, ::java::awt::JobAttributes$MultipleDocumentHandlingType *, JArray< JArray< jint > * > *, ::java::lang::String *, ::java::awt::JobAttributes$SidesType *); + ::java::lang::Object * clone(); + void set(::java::awt::JobAttributes *); + jint getCopies(); + void setCopies(jint); + void setCopiesToDefault(); + ::java::awt::JobAttributes$DefaultSelectionType * getDefaultSelection(); + void setDefaultSelection(::java::awt::JobAttributes$DefaultSelectionType *); + ::java::awt::JobAttributes$DestinationType * getDestination(); + void setDestination(::java::awt::JobAttributes$DestinationType *); + ::java::awt::JobAttributes$DialogType * getDialog(); + void setDialog(::java::awt::JobAttributes$DialogType *); + ::java::lang::String * getFileName(); + void setFileName(::java::lang::String *); + jint getFromPage(); + void setFromPage(jint); + jint getMaxPage(); + void setMaxPage(jint); + jint getMinPage(); + void setMinPage(jint); + ::java::awt::JobAttributes$MultipleDocumentHandlingType * getMultipleDocumentHandling(); + void setMultipleDocumentHandling(::java::awt::JobAttributes$MultipleDocumentHandlingType *); + void setMultipleDocumentHandlingToDefault(); + JArray< JArray< jint > * > * getPageRanges(); + void setPageRanges(JArray< JArray< jint > * > *); + ::java::lang::String * getPrinter(); + void setPrinter(::java::lang::String *); + ::java::awt::JobAttributes$SidesType * getSides(); + void setSides(::java::awt::JobAttributes$SidesType *); + void setSidesToDefault(); + jint getToPage(); + void setToPage(jint); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) copies; + ::java::awt::JobAttributes$DefaultSelectionType * selection; + ::java::awt::JobAttributes$DestinationType * destination; + ::java::awt::JobAttributes$DialogType * dialog; + ::java::lang::String * filename; + jint maxPage; + jint minPage; + ::java::awt::JobAttributes$MultipleDocumentHandlingType * multiple; + JArray< JArray< jint > * > * pageRanges; + jint fromPage; + jint toPage; + ::java::lang::String * printer; + ::java::awt::JobAttributes$SidesType * sides; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_JobAttributes__ diff --git a/libjava/java/awt/KeyEventDispatcher.h b/libjava/java/awt/KeyEventDispatcher.h new file mode 100644 index 00000000000..fdb3195d146 --- /dev/null +++ b/libjava/java/awt/KeyEventDispatcher.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_KeyEventDispatcher__ +#define __java_awt_KeyEventDispatcher__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class KeyEventDispatcher; + namespace event + { + class KeyEvent; + } + } + } +} + +class java::awt::KeyEventDispatcher : public ::java::lang::Object +{ + +public: + virtual jboolean dispatchKeyEvent(::java::awt::event::KeyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_KeyEventDispatcher__ diff --git a/libjava/java/awt/KeyEventPostProcessor.h b/libjava/java/awt/KeyEventPostProcessor.h new file mode 100644 index 00000000000..806e1450b7c --- /dev/null +++ b/libjava/java/awt/KeyEventPostProcessor.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_KeyEventPostProcessor__ +#define __java_awt_KeyEventPostProcessor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class KeyEventPostProcessor; + namespace event + { + class KeyEvent; + } + } + } +} + +class java::awt::KeyEventPostProcessor : public ::java::lang::Object +{ + +public: + virtual jboolean postProcessKeyEvent(::java::awt::event::KeyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_KeyEventPostProcessor__ diff --git a/libjava/java/awt/KeyboardFocusManager.h b/libjava/java/awt/KeyboardFocusManager.h new file mode 100644 index 00000000000..9fd045c460c --- /dev/null +++ b/libjava/java/awt/KeyboardFocusManager.h @@ -0,0 +1,156 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_KeyboardFocusManager__ +#define __java_awt_KeyboardFocusManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Component; + class Container; + class FocusTraversalPolicy; + class KeyEventDispatcher; + class KeyEventPostProcessor; + class KeyboardFocusManager; + class Window; + namespace event + { + class KeyEvent; + } + } + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + class VetoableChangeListener; + class VetoableChangeSupport; + } + } +} + +class java::awt::KeyboardFocusManager : public ::java::lang::Object +{ + +public: + KeyboardFocusManager(); + static ::java::awt::KeyboardFocusManager * getCurrentKeyboardFocusManager(); + static void setCurrentKeyboardFocusManager(::java::awt::KeyboardFocusManager *); + virtual ::java::awt::Component * getFocusOwner(); +public: // actually protected + virtual ::java::awt::Component * getGlobalFocusOwner(); + virtual void setGlobalFocusOwner(::java::awt::Component *); +public: + virtual void clearGlobalFocusOwner(); + virtual ::java::awt::Component * getPermanentFocusOwner(); +public: // actually protected + virtual ::java::awt::Component * getGlobalPermanentFocusOwner(); + virtual void setGlobalPermanentFocusOwner(::java::awt::Component *); +public: + virtual ::java::awt::Window * getFocusedWindow(); +public: // actually protected + virtual ::java::awt::Window * getGlobalFocusedWindow(); + virtual void setGlobalFocusedWindow(::java::awt::Window *); +public: + virtual ::java::awt::Window * getActiveWindow(); +public: // actually protected + virtual ::java::awt::Window * getGlobalActiveWindow(); + virtual void setGlobalActiveWindow(::java::awt::Window *); +public: + virtual ::java::awt::FocusTraversalPolicy * getDefaultFocusTraversalPolicy(); + virtual void setDefaultFocusTraversalPolicy(::java::awt::FocusTraversalPolicy *); + virtual void setDefaultFocusTraversalKeys(jint, ::java::util::Set *); + virtual ::java::util::Set * getDefaultFocusTraversalKeys(jint); + virtual ::java::awt::Container * getCurrentFocusCycleRoot(); +public: // actually protected + virtual ::java::awt::Container * getGlobalCurrentFocusCycleRoot(); +public: + virtual void setGlobalCurrentFocusCycleRoot(::java::awt::Container *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(::java::lang::String *); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void addVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual void removeVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(); + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(::java::lang::String *); +public: // actually protected + virtual void fireVetoableChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void addKeyEventDispatcher(::java::awt::KeyEventDispatcher *); + virtual void removeKeyEventDispatcher(::java::awt::KeyEventDispatcher *); +public: // actually protected + virtual ::java::util::List * getKeyEventDispatchers(); +public: + virtual void addKeyEventPostProcessor(::java::awt::KeyEventPostProcessor *); + virtual void removeKeyEventPostProcessor(::java::awt::KeyEventPostProcessor *); +public: // actually protected + virtual ::java::util::List * getKeyEventPostProcessors(); +public: + virtual jboolean dispatchEvent(::java::awt::AWTEvent *) = 0; + virtual void redispatchEvent(::java::awt::Component *, ::java::awt::AWTEvent *); + virtual jboolean dispatchKeyEvent(::java::awt::event::KeyEvent *) = 0; + virtual jboolean postProcessKeyEvent(::java::awt::event::KeyEvent *) = 0; + virtual void processKeyEvent(::java::awt::Component *, ::java::awt::event::KeyEvent *) = 0; +public: // actually protected + virtual void enqueueKeyEvents(jlong, ::java::awt::Component *) = 0; + virtual void dequeueKeyEvents(jlong, ::java::awt::Component *) = 0; + virtual void discardKeyEvents(::java::awt::Component *) = 0; +public: + virtual void focusNextComponent(::java::awt::Component *) = 0; + virtual void focusPreviousComponent(::java::awt::Component *) = 0; + virtual void upFocusCycle(::java::awt::Component *) = 0; + virtual void downFocusCycle(::java::awt::Container *) = 0; + virtual void focusNextComponent(); + virtual void focusPreviousComponent(); + virtual void upFocusCycle(); + virtual void downFocusCycle(); +private: + ::java::lang::Object * getObject(::java::util::Map *); + ::java::lang::Object * getGlobalObject(::java::util::Map *, jboolean); + void setGlobalObject(::java::util::Map *, ::java::lang::Object *, ::java::lang::String *); +public: // actually package-private + static ::java::awt::AWTEvent * retargetFocusEvent(::java::awt::AWTEvent *); + static void addLightweightFocusRequest(::java::awt::Component *, ::java::awt::Component *); +public: + static const jint FORWARD_TRAVERSAL_KEYS = 0; + static const jint BACKWARD_TRAVERSAL_KEYS = 1; + static const jint UP_CYCLE_TRAVERSAL_KEYS = 2; + static const jint DOWN_CYCLE_TRAVERSAL_KEYS = 3; +private: + static ::java::util::Set * DEFAULT_FORWARD_KEYS; + static ::java::util::Set * DEFAULT_BACKWARD_KEYS; + static ::java::util::Map * currentKeyboardFocusManagers; + static ::java::util::Map * currentFocusOwners; + static ::java::util::Map * currentPermanentFocusOwners; + static ::java::util::Map * currentFocusedWindows; + static ::java::util::Map * currentActiveWindows; + static ::java::util::Map * currentFocusCycleRoots; + ::java::awt::FocusTraversalPolicy * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultPolicy; + JArray< ::java::util::Set * > * defaultFocusKeys; + ::java::beans::PropertyChangeSupport * propertyChangeSupport; + ::java::beans::VetoableChangeSupport * vetoableChangeSupport; + ::java::util::ArrayList * keyEventDispatchers; + ::java::util::ArrayList * keyEventPostProcessors; + static ::java::util::HashMap * focusRequests; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_KeyboardFocusManager__ diff --git a/libjava/java/awt/Label$AccessibleAWTLabel.h b/libjava/java/awt/Label$AccessibleAWTLabel.h new file mode 100644 index 00000000000..7301841bc28 --- /dev/null +++ b/libjava/java/awt/Label$AccessibleAWTLabel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Label$AccessibleAWTLabel__ +#define __java_awt_Label$AccessibleAWTLabel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Label; + class Label$AccessibleAWTLabel; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::Label$AccessibleAWTLabel : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: + Label$AccessibleAWTLabel(::java::awt::Label *); + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -3568967560160480438LL; +public: // actually package-private + ::java::awt::Label * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Label$AccessibleAWTLabel__ diff --git a/libjava/java/awt/Label.h b/libjava/java/awt/Label.h new file mode 100644 index 00000000000..d3151604d9a --- /dev/null +++ b/libjava/java/awt/Label.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Label__ +#define __java_awt_Label__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Label; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Label : public ::java::awt::Component +{ + +public: + Label(); + Label(::java::lang::String *); + Label(::java::lang::String *, jint); + virtual jint getAlignment(); + virtual void setAlignment(jint); + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + virtual void addNotify(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + static const jint LEFT = 0; + static const jint CENTER = 1; + static const jint RIGHT = 2; +private: + static const jlong serialVersionUID = 3094126758329070636LL; + jint __attribute__((aligned(__alignof__( ::java::awt::Component)))) alignment; + ::java::lang::String * text; + static jlong nextLabelNumber; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Label__ diff --git a/libjava/java/awt/LayoutManager.h b/libjava/java/awt/LayoutManager.h new file mode 100644 index 00000000000..464871c049c --- /dev/null +++ b/libjava/java/awt/LayoutManager.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_LayoutManager__ +#define __java_awt_LayoutManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class LayoutManager; + } + } +} + +class java::awt::LayoutManager : public ::java::lang::Object +{ + +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *) = 0; + virtual void removeLayoutComponent(::java::awt::Component *) = 0; + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *) = 0; + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *) = 0; + virtual void layoutContainer(::java::awt::Container *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_LayoutManager__ diff --git a/libjava/java/awt/LayoutManager2.h b/libjava/java/awt/LayoutManager2.h new file mode 100644 index 00000000000..7c8331bd64d --- /dev/null +++ b/libjava/java/awt/LayoutManager2.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_LayoutManager2__ +#define __java_awt_LayoutManager2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class LayoutManager2; + } + } +} + +class java::awt::LayoutManager2 : public ::java::lang::Object +{ + +public: + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *) = 0; + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *) = 0; + virtual jfloat getLayoutAlignmentX(::java::awt::Container *) = 0; + virtual jfloat getLayoutAlignmentY(::java::awt::Container *) = 0; + virtual void invalidateLayout(::java::awt::Container *) = 0; + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *) = 0; + virtual void removeLayoutComponent(::java::awt::Component *) = 0; + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *) = 0; + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *) = 0; + virtual void layoutContainer(::java::awt::Container *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_LayoutManager2__ diff --git a/libjava/java/awt/LightweightDispatcher.h b/libjava/java/awt/LightweightDispatcher.h new file mode 100644 index 00000000000..0a0bc5026e4 --- /dev/null +++ b/libjava/java/awt/LightweightDispatcher.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_LightweightDispatcher__ +#define __java_awt_LightweightDispatcher__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Component; + class Container; + class LightweightDispatcher; + namespace event + { + class MouseEvent; + } + } + } +} + +class java::awt::LightweightDispatcher : public ::java::lang::Object +{ + +public: // actually package-private + static ::java::awt::LightweightDispatcher * getInstance(); +private: + LightweightDispatcher(); +public: + jboolean dispatchEvent(::java::awt::AWTEvent *); +private: + jboolean handleMouseEvent(::java::awt::event::MouseEvent *); + ::java::awt::Component * findTarget(::java::awt::Container *, jint, jint); + jboolean isMouseListening(::java::awt::Component *); + void trackEnterExit(::java::awt::Component *, ::java::awt::event::MouseEvent *); + void redispatch(::java::awt::event::MouseEvent *, ::java::awt::Component *, jint); + jboolean isDragging(::java::awt::event::MouseEvent *); + static ::java::util::WeakHashMap * instances; + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastTarget; + ::java::awt::Component * mouseEventTarget; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_LightweightDispatcher__ diff --git a/libjava/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.h b/libjava/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.h new file mode 100644 index 00000000000..7014fd93007 --- /dev/null +++ b/libjava/java/awt/List$AccessibleAWTList$AccessibleAWTListChild.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_List$AccessibleAWTList$AccessibleAWTListChild__ +#define __java_awt_List$AccessibleAWTList$AccessibleAWTListChild__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class List; + class List$AccessibleAWTList; + class List$AccessibleAWTList$AccessibleAWTListChild; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + class AccessibleRole; + class AccessibleStateSet; + } + } +} + +class java::awt::List$AccessibleAWTList$AccessibleAWTListChild : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: + List$AccessibleAWTList$AccessibleAWTListChild(::java::awt::List$AccessibleAWTList *, ::java::awt::List *, jint); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual jint getAccessibleIndexInParent(); +private: + static const jlong serialVersionUID = 4412022926028300317LL; + ::java::awt::List * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) parent; + jint indexInParent; +public: // actually package-private + ::java::awt::List$AccessibleAWTList * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_List$AccessibleAWTList$AccessibleAWTListChild__ diff --git a/libjava/java/awt/List$AccessibleAWTList.h b/libjava/java/awt/List$AccessibleAWTList.h new file mode 100644 index 00000000000..ca0dcaa5f19 --- /dev/null +++ b/libjava/java/awt/List$AccessibleAWTList.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_List$AccessibleAWTList__ +#define __java_awt_List$AccessibleAWTList__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class List; + class List$AccessibleAWTList; + namespace event + { + class ActionEvent; + class ItemEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleSelection; + class AccessibleStateSet; + } + } +} + +class java::awt::List$AccessibleAWTList : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: + List$AccessibleAWTList(::java::awt::List *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + static ::java::awt::List * access$0(::java::awt::List$AccessibleAWTList *); +private: + static const jlong serialVersionUID = 7924617370136012829LL; +public: // actually package-private + ::java::awt::List * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_List$AccessibleAWTList__ diff --git a/libjava/java/awt/List.h b/libjava/java/awt/List.h new file mode 100644 index 00000000000..ba11b18d8b9 --- /dev/null +++ b/libjava/java/awt/List.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_List__ +#define __java_awt_List__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Dimension; + class List; + namespace event + { + class ActionEvent; + class ActionListener; + class ItemEvent; + class ItemListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::List : public ::java::awt::Component +{ + +public: + List(); + List(jint); + List(jint, jboolean); + virtual jint getItemCount(); + virtual jint countItems(); + virtual JArray< ::java::lang::String * > * getItems(); + virtual ::java::lang::String * getItem(jint); + virtual jint getRows(); + virtual jboolean isMultipleMode(); + virtual jboolean allowsMultipleSelections(); + virtual void setMultipleMode(jboolean); + virtual void setMultipleSelections(jboolean); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * preferredSize(); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void add(::java::lang::String *); + virtual void addItem(::java::lang::String *); + virtual void add(::java::lang::String *, jint); + virtual void addItem(::java::lang::String *, jint); + virtual void delItem(jint); + virtual void remove(jint); + virtual void delItems(jint, jint); + virtual void remove(::java::lang::String *); + virtual void removeAll(); + virtual void clear(); + virtual void replaceItem(::java::lang::String *, jint); + virtual jint getSelectedIndex(); + virtual JArray< jint > * getSelectedIndexes(); + virtual ::java::lang::String * getSelectedItem(); + virtual JArray< ::java::lang::String * > * getSelectedItems(); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual jboolean isIndexSelected(jint); + virtual jboolean isSelected(jint); + virtual void makeVisible(jint); + virtual jint getVisibleIndex(); + virtual void select(jint); + virtual void deselect(jint); + virtual void addNotify(); + virtual void removeNotify(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processActionEvent(::java::awt::event::ActionEvent *); + virtual void processItemEvent(::java::awt::event::ItemEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static jlong next_list_number; + static const jlong serialVersionUID = -3304312411574666869LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::awt::Component)))) items; + jboolean multipleMode; + jint rows; + JArray< jint > * selected; + jint visibleIndex; + ::java::awt::event::ItemListener * item_listeners; + ::java::awt::event::ActionListener * action_listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_List__ diff --git a/libjava/java/awt/MediaTracker$MediaEntry.h b/libjava/java/awt/MediaTracker$MediaEntry.h new file mode 100644 index 00000000000..a21715b59b9 --- /dev/null +++ b/libjava/java/awt/MediaTracker$MediaEntry.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MediaTracker$MediaEntry__ +#define __java_awt_MediaTracker$MediaEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + class MediaTracker; + class MediaTracker$MediaEntry; + } + } +} + +class java::awt::MediaTracker$MediaEntry : public ::java::lang::Object +{ + +public: // actually package-private + MediaTracker$MediaEntry(::java::awt::MediaTracker *); +public: + virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::awt::Image * image; + ::java::awt::MediaTracker$MediaEntry * next; + jint status; + jint width; + jint height; + ::java::awt::MediaTracker * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MediaTracker$MediaEntry__ diff --git a/libjava/java/awt/MediaTracker.h b/libjava/java/awt/MediaTracker.h new file mode 100644 index 00000000000..bc72868639d --- /dev/null +++ b/libjava/java/awt/MediaTracker.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MediaTracker__ +#define __java_awt_MediaTracker__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Image; + class MediaTracker; + class MediaTracker$MediaEntry; + } + } +} + +class java::awt::MediaTracker : public ::java::lang::Object +{ + +public: + MediaTracker(::java::awt::Component *); + virtual void addImage(::java::awt::Image *, jint); + virtual void addImage(::java::awt::Image *, jint, jint, jint); + virtual jboolean checkAll(); + virtual jboolean checkAll(jboolean); + virtual jboolean isErrorAny(); + virtual JArray< ::java::lang::Object * > * getErrorsAny(); + virtual void waitForAll(); + virtual jboolean waitForAll(jlong); + virtual jint statusAll(jboolean); + virtual jboolean checkID(jint); + virtual jboolean checkID(jint, jboolean); + virtual jboolean isErrorID(jint); + virtual JArray< ::java::lang::Object * > * getErrorsID(jint); + virtual void waitForID(jint); + virtual jboolean waitForID(jint, jlong); + virtual jint statusID(jint, jboolean); + virtual void removeImage(::java::awt::Image *); + virtual void removeImage(::java::awt::Image *, jint); + virtual void removeImage(::java::awt::Image *, jint, jint, jint); + static const jint LOADING = 1; + static const jint ABORTED = 2; + static const jint ERRORED = 4; + static const jint COMPLETE = 8; +public: // actually package-private + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target; + ::java::awt::MediaTracker$MediaEntry * head; + static const jlong serialVersionUID = -483174189758638095LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MediaTracker__ diff --git a/libjava/java/awt/Menu$AccessibleAWTMenu.h b/libjava/java/awt/Menu$AccessibleAWTMenu.h new file mode 100644 index 00000000000..73c33a7b70a --- /dev/null +++ b/libjava/java/awt/Menu$AccessibleAWTMenu.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Menu$AccessibleAWTMenu__ +#define __java_awt_Menu$AccessibleAWTMenu__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Menu; + class Menu$AccessibleAWTMenu; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::Menu$AccessibleAWTMenu : public ::java::awt::MenuItem$AccessibleAWTMenuItem +{ + +public: // actually protected + Menu$AccessibleAWTMenu(::java::awt::Menu *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 5228160894980069094LL; +public: // actually package-private + ::java::awt::Menu * __attribute__((aligned(__alignof__( ::java::awt::MenuItem$AccessibleAWTMenuItem)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Menu$AccessibleAWTMenu__ diff --git a/libjava/java/awt/Menu.h b/libjava/java/awt/Menu.h new file mode 100644 index 00000000000..7d2ab26d27c --- /dev/null +++ b/libjava/java/awt/Menu.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Menu__ +#define __java_awt_Menu__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Menu; + class MenuComponent; + class MenuItem; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Menu : public ::java::awt::MenuItem +{ + +public: + Menu(); + Menu(::java::lang::String *); + Menu(::java::lang::String *, jboolean); + virtual jboolean isTearOff(); + virtual jint getItemCount(); + virtual jint countItems(); + virtual ::java::awt::MenuItem * getItem(jint); + virtual ::java::awt::MenuItem * add(::java::awt::MenuItem *); + virtual void add(::java::lang::String *); + virtual void insert(::java::awt::MenuItem *, jint); + virtual void insert(::java::lang::String *, jint); + virtual void addSeparator(); + virtual void insertSeparator(jint); + virtual void remove(jint); + virtual void remove(::java::awt::MenuComponent *); + virtual void removeAll(); + virtual void addNotify(); + virtual void removeNotify(); + virtual ::java::lang::String * paramString(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static jlong next_menu_number; + static const jlong serialVersionUID = -8809584163345499784LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::awt::MenuItem)))) items; + jboolean tearOff; + jboolean isHelpMenu; + jint menuSerializedDataVersion; +public: // actually package-private + static ::java::lang::String * separatorLabel; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Menu__ diff --git a/libjava/java/awt/MenuBar$AccessibleAWTMenuBar.h b/libjava/java/awt/MenuBar$AccessibleAWTMenuBar.h new file mode 100644 index 00000000000..2f40500593f --- /dev/null +++ b/libjava/java/awt/MenuBar$AccessibleAWTMenuBar.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuBar$AccessibleAWTMenuBar__ +#define __java_awt_MenuBar$AccessibleAWTMenuBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class MenuBar; + class MenuBar$AccessibleAWTMenuBar; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::MenuBar$AccessibleAWTMenuBar : public ::java::awt::MenuComponent$AccessibleAWTMenuComponent +{ + +public: // actually protected + MenuBar$AccessibleAWTMenuBar(::java::awt::MenuBar *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -8577604491830083815LL; +public: // actually package-private + ::java::awt::MenuBar * __attribute__((aligned(__alignof__( ::java::awt::MenuComponent$AccessibleAWTMenuComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuBar$AccessibleAWTMenuBar__ diff --git a/libjava/java/awt/MenuBar.h b/libjava/java/awt/MenuBar.h new file mode 100644 index 00000000000..f9eded3de4e --- /dev/null +++ b/libjava/java/awt/MenuBar.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuBar__ +#define __java_awt_MenuBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Menu; + class MenuBar; + class MenuComponent; + class MenuItem; + class MenuShortcut; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::MenuBar : public ::java::awt::MenuComponent +{ + +public: + MenuBar(); + virtual ::java::awt::Menu * getHelpMenu(); + virtual void setHelpMenu(::java::awt::Menu *); + virtual ::java::awt::Menu * add(::java::awt::Menu *); + virtual void remove(jint); + virtual void remove(::java::awt::MenuComponent *); + virtual jint getMenuCount(); + virtual jint countMenus(); + virtual ::java::awt::Menu * getMenu(jint); + virtual void addNotify(); + virtual void removeNotify(); + virtual ::java::util::Enumeration * shortcuts(); + virtual ::java::awt::MenuItem * getShortcutMenuItem(::java::awt::MenuShortcut *); + virtual void deleteShortcut(::java::awt::MenuShortcut *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = -4930327919388951260LL; + static jlong next_menubar_number; + ::java::awt::Menu * __attribute__((aligned(__alignof__( ::java::awt::MenuComponent)))) helpMenu; + ::java::util::Vector * menus; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuBar__ diff --git a/libjava/java/awt/MenuComponent$AccessibleAWTMenuComponent.h b/libjava/java/awt/MenuComponent$AccessibleAWTMenuComponent.h new file mode 100644 index 00000000000..05d724b702d --- /dev/null +++ b/libjava/java/awt/MenuComponent$AccessibleAWTMenuComponent.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuComponent$AccessibleAWTMenuComponent__ +#define __java_awt_MenuComponent$AccessibleAWTMenuComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class MenuComponent; + class MenuComponent$AccessibleAWTMenuComponent; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleComponent; + class AccessibleRole; + class AccessibleSelection; + class AccessibleStateSet; + } + } +} + +class java::awt::MenuComponent$AccessibleAWTMenuComponent : public ::javax::accessibility::AccessibleContext +{ + +public: // actually protected + MenuComponent$AccessibleAWTMenuComponent(::java::awt::MenuComponent *); +public: + virtual void addAccessibleSelection(jint); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void clearAccessibleSelection(); + virtual jboolean contains(::java::awt::Point *); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::AccessibleComponent * getAccessibleComponent(); + virtual ::java::lang::String * getAccessibleDescription(); + virtual jint getAccessibleIndexInParent(); + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::Accessible * getAccessibleParent(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::java::awt::Color * getBackground(); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::Cursor * getCursor(); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Color * getForeground(); + virtual ::java::util::Locale * getLocale(); + virtual ::java::awt::Point * getLocation(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Dimension * getSize(); + virtual jboolean isAccessibleChildSelected(jint); + virtual jboolean isEnabled(); + virtual jboolean isFocusTraversable(); + virtual jboolean isShowing(); + virtual jboolean isVisible(); + virtual void removeAccessibleSelection(jint); + virtual void removeFocusListener(::java::awt::event::FocusListener *); + virtual void requestFocus(); + virtual void selectAllAccessibleSelection(); + virtual void setBackground(::java::awt::Color *); + virtual void setBounds(::java::awt::Rectangle *); + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual void setLocation(::java::awt::Point *); + virtual void setSize(::java::awt::Dimension *); + virtual void setVisible(jboolean); +private: + static const jlong serialVersionUID = -4269533416223798698LL; +public: // actually package-private + ::java::awt::MenuComponent * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuComponent$AccessibleAWTMenuComponent__ diff --git a/libjava/java/awt/MenuComponent.h b/libjava/java/awt/MenuComponent.h new file mode 100644 index 00000000000..d47e7185368 --- /dev/null +++ b/libjava/java/awt/MenuComponent.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuComponent__ +#define __java_awt_MenuComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Event; + class Font; + class MenuComponent; + class MenuContainer; + class Toolkit; + namespace event + { + class FocusListener; + } + namespace peer + { + class MenuComponentPeer; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::MenuComponent : public ::java::lang::Object +{ + +public: + MenuComponent(); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::lang::String * getName(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +public: + virtual void setName(::java::lang::String *); + virtual ::java::awt::MenuContainer * getParent(); +public: // actually package-private + virtual void setParent(::java::awt::MenuContainer *); +public: + virtual ::java::awt::peer::MenuComponentPeer * getPeer(); +public: // actually package-private + virtual void setPeer(::java::awt::peer::MenuComponentPeer *); +public: + virtual void removeNotify(); +public: // actually package-private + virtual ::java::awt::Toolkit * getToolkit(); +public: // actually protected + virtual ::java::lang::Object * getTreeLock(); +public: // actually package-private + virtual void setTreeLock(::java::lang::Object *); +public: + virtual jboolean postEvent(::java::awt::Event *); + virtual void dispatchEvent(::java::awt::AWTEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); +public: + virtual ::java::lang::String * toString(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -4536902356223894379LL; + ::java::awt::Font * __attribute__((aligned(__alignof__( ::java::lang::Object)))) font; + ::java::lang::String * name; +public: // actually package-private + ::java::awt::MenuContainer * parent; + ::java::awt::peer::MenuComponentPeer * peer; +private: + ::java::lang::Object * tree_lock; + static ::java::awt::Toolkit * toolkit; +public: // actually package-private + ::javax::accessibility::AccessibleContext * accessibleContext; +private: + jboolean nameExplicitlySet; + jboolean newEventsOnly; +public: // actually package-private + ::java::awt::event::FocusListener * focusListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuComponent__ diff --git a/libjava/java/awt/MenuContainer.h b/libjava/java/awt/MenuContainer.h new file mode 100644 index 00000000000..3f2a1cf9154 --- /dev/null +++ b/libjava/java/awt/MenuContainer.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuContainer__ +#define __java_awt_MenuContainer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Event; + class Font; + class MenuComponent; + class MenuContainer; + } + } +} + +class java::awt::MenuContainer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Font * getFont() = 0; + virtual void remove(::java::awt::MenuComponent *) = 0; + virtual jboolean postEvent(::java::awt::Event *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_MenuContainer__ diff --git a/libjava/java/awt/MenuItem$AccessibleAWTMenuItem.h b/libjava/java/awt/MenuItem$AccessibleAWTMenuItem.h new file mode 100644 index 00000000000..5bc2638663a --- /dev/null +++ b/libjava/java/awt/MenuItem$AccessibleAWTMenuItem.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuItem$AccessibleAWTMenuItem__ +#define __java_awt_MenuItem$AccessibleAWTMenuItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class MenuItem; + class MenuItem$AccessibleAWTMenuItem; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleAction; + class AccessibleRole; + class AccessibleValue; + } + } +} + +class java::awt::MenuItem$AccessibleAWTMenuItem : public ::java::awt::MenuComponent$AccessibleAWTMenuComponent +{ + +public: // actually protected + MenuItem$AccessibleAWTMenuItem(::java::awt::MenuItem *); +public: + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jboolean doAccessibleAction(jint); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); +private: + static const jlong serialVersionUID = -217847831945965825LL; +public: // actually package-private + ::java::awt::MenuItem * __attribute__((aligned(__alignof__( ::java::awt::MenuComponent$AccessibleAWTMenuComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuItem$AccessibleAWTMenuItem__ diff --git a/libjava/java/awt/MenuItem.h b/libjava/java/awt/MenuItem.h new file mode 100644 index 00000000000..2b57ebf29d1 --- /dev/null +++ b/libjava/java/awt/MenuItem.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuItem__ +#define __java_awt_MenuItem__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class MenuItem; + class MenuShortcut; + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::MenuItem : public ::java::awt::MenuComponent +{ + +public: + MenuItem(); + MenuItem(::java::lang::String *); + MenuItem(::java::lang::String *, ::java::awt::MenuShortcut *); + virtual ::java::lang::String * getLabel(); + virtual void setLabel(::java::lang::String *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual void enable(jboolean); + virtual void enable(); + virtual void disable(); + virtual ::java::awt::MenuShortcut * getShortcut(); + virtual void setShortcut(::java::awt::MenuShortcut *); + virtual void deleteShortcut(); + virtual ::java::lang::String * getActionCommand(); + virtual void setActionCommand(::java::lang::String *); +public: // actually protected + virtual void enableEvents(jlong); + virtual void disableEvents(jlong); +public: + virtual void addNotify(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processActionEvent(::java::awt::event::ActionEvent *); +public: + virtual ::java::lang::String * paramString(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static jlong next_menuitem_number; + static const jlong serialVersionUID = -21757335363267194LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::awt::MenuComponent)))) actionCommand; + jboolean enabled; + jlong eventMask; + ::java::lang::String * label; +private: + ::java::awt::MenuShortcut * shortcut; + ::java::awt::event::ActionListener * action_listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuItem__ diff --git a/libjava/java/awt/MenuShortcut.h b/libjava/java/awt/MenuShortcut.h new file mode 100644 index 00000000000..89ae7a8730f --- /dev/null +++ b/libjava/java/awt/MenuShortcut.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MenuShortcut__ +#define __java_awt_MenuShortcut__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class MenuShortcut; + } + } +} + +class java::awt::MenuShortcut : public ::java::lang::Object +{ + +public: + MenuShortcut(jint); + MenuShortcut(jint, jboolean); + virtual jint getKey(); + virtual jboolean usesShiftModifier(); + virtual jboolean equals(::java::awt::MenuShortcut *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual jint hashCode(); +public: // actually protected + virtual ::java::lang::String * paramString(); +private: + void setKeyName(jint); + static const jlong serialVersionUID = 143448358473180225LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + jboolean usesShift; + ::java::lang::String * keyName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MenuShortcut__ diff --git a/libjava/java/awt/MouseInfo.h b/libjava/java/awt/MouseInfo.h new file mode 100644 index 00000000000..97aed5ce9c1 --- /dev/null +++ b/libjava/java/awt/MouseInfo.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_MouseInfo__ +#define __java_awt_MouseInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class MouseInfo; + class PointerInfo; + namespace peer + { + class MouseInfoPeer; + } + } + } +} + +class java::awt::MouseInfo : public ::java::lang::Object +{ + +public: + MouseInfo(); + static ::java::awt::PointerInfo * getPointerInfo(); + static jint getNumberOfButtons(); +private: + static ::java::awt::peer::MouseInfoPeer * peer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_MouseInfo__ diff --git a/libjava/java/awt/PageAttributes$ColorType.h b/libjava/java/awt/PageAttributes$ColorType.h new file mode 100644 index 00000000000..ae67841f636 --- /dev/null +++ b/libjava/java/awt/PageAttributes$ColorType.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PageAttributes$ColorType__ +#define __java_awt_PageAttributes$ColorType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PageAttributes$ColorType; + } + } +} + +class java::awt::PageAttributes$ColorType : public ::java::awt::AttributeValue +{ + + PageAttributes$ColorType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::PageAttributes$ColorType * COLOR; + static ::java::awt::PageAttributes$ColorType * MONOCHROME; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PageAttributes$ColorType__ diff --git a/libjava/java/awt/PageAttributes$MediaType.h b/libjava/java/awt/PageAttributes$MediaType.h new file mode 100644 index 00000000000..c085d0aa7df --- /dev/null +++ b/libjava/java/awt/PageAttributes$MediaType.h @@ -0,0 +1,179 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PageAttributes$MediaType__ +#define __java_awt_PageAttributes$MediaType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PageAttributes$MediaType; + } + } +} + +class java::awt::PageAttributes$MediaType : public ::java::awt::AttributeValue +{ + + PageAttributes$MediaType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::PageAttributes$MediaType * ISO_4A0; + static ::java::awt::PageAttributes$MediaType * ISO_2A0; + static ::java::awt::PageAttributes$MediaType * ISO_A0; + static ::java::awt::PageAttributes$MediaType * ISO_A1; + static ::java::awt::PageAttributes$MediaType * ISO_A2; + static ::java::awt::PageAttributes$MediaType * ISO_A3; + static ::java::awt::PageAttributes$MediaType * ISO_A4; + static ::java::awt::PageAttributes$MediaType * ISO_A5; + static ::java::awt::PageAttributes$MediaType * ISO_A6; + static ::java::awt::PageAttributes$MediaType * ISO_A7; + static ::java::awt::PageAttributes$MediaType * ISO_A8; + static ::java::awt::PageAttributes$MediaType * ISO_A9; + static ::java::awt::PageAttributes$MediaType * ISO_A10; + static ::java::awt::PageAttributes$MediaType * ISO_B0; + static ::java::awt::PageAttributes$MediaType * ISO_B1; + static ::java::awt::PageAttributes$MediaType * ISO_B2; + static ::java::awt::PageAttributes$MediaType * ISO_B3; + static ::java::awt::PageAttributes$MediaType * ISO_B4; + static ::java::awt::PageAttributes$MediaType * ISO_B5; + static ::java::awt::PageAttributes$MediaType * ISO_B6; + static ::java::awt::PageAttributes$MediaType * ISO_B7; + static ::java::awt::PageAttributes$MediaType * ISO_B8; + static ::java::awt::PageAttributes$MediaType * ISO_B9; + static ::java::awt::PageAttributes$MediaType * ISO_B10; + static ::java::awt::PageAttributes$MediaType * JIS_B0; + static ::java::awt::PageAttributes$MediaType * JIS_B1; + static ::java::awt::PageAttributes$MediaType * JIS_B2; + static ::java::awt::PageAttributes$MediaType * JIS_B3; + static ::java::awt::PageAttributes$MediaType * JIS_B4; + static ::java::awt::PageAttributes$MediaType * JIS_B5; + static ::java::awt::PageAttributes$MediaType * JIS_B6; + static ::java::awt::PageAttributes$MediaType * JIS_B7; + static ::java::awt::PageAttributes$MediaType * JIS_B8; + static ::java::awt::PageAttributes$MediaType * JIS_B9; + static ::java::awt::PageAttributes$MediaType * JIS_B10; + static ::java::awt::PageAttributes$MediaType * ISO_C0; + static ::java::awt::PageAttributes$MediaType * ISO_C1; + static ::java::awt::PageAttributes$MediaType * ISO_C2; + static ::java::awt::PageAttributes$MediaType * ISO_C3; + static ::java::awt::PageAttributes$MediaType * ISO_C4; + static ::java::awt::PageAttributes$MediaType * ISO_C5; + static ::java::awt::PageAttributes$MediaType * ISO_C6; + static ::java::awt::PageAttributes$MediaType * ISO_C7; + static ::java::awt::PageAttributes$MediaType * ISO_C8; + static ::java::awt::PageAttributes$MediaType * ISO_C9; + static ::java::awt::PageAttributes$MediaType * ISO_C10; + static ::java::awt::PageAttributes$MediaType * ISO_DESIGNATED_LONG; + static ::java::awt::PageAttributes$MediaType * EXECUTIVE; + static ::java::awt::PageAttributes$MediaType * FOLIO; + static ::java::awt::PageAttributes$MediaType * INVOICE; + static ::java::awt::PageAttributes$MediaType * LEDGER; + static ::java::awt::PageAttributes$MediaType * NA_LETTER; + static ::java::awt::PageAttributes$MediaType * NA_LEGAL; + static ::java::awt::PageAttributes$MediaType * QUARTO; + static ::java::awt::PageAttributes$MediaType * A; + static ::java::awt::PageAttributes$MediaType * B; + static ::java::awt::PageAttributes$MediaType * C; + static ::java::awt::PageAttributes$MediaType * D; + static ::java::awt::PageAttributes$MediaType * E; + static ::java::awt::PageAttributes$MediaType * NA_10X15_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_10X14_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_10X13_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_9X12_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_9X11_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_7X9_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_6X9_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_NUMBER_9_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_NUMBER_10_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_NUMBER_11_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_NUMBER_12_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * NA_NUMBER_14_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * INVITE_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * ITALY_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * MONARCH_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * PERSONAL_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * A0; + static ::java::awt::PageAttributes$MediaType * A1; + static ::java::awt::PageAttributes$MediaType * A2; + static ::java::awt::PageAttributes$MediaType * A3; + static ::java::awt::PageAttributes$MediaType * A4; + static ::java::awt::PageAttributes$MediaType * A5; + static ::java::awt::PageAttributes$MediaType * A6; + static ::java::awt::PageAttributes$MediaType * A7; + static ::java::awt::PageAttributes$MediaType * A8; + static ::java::awt::PageAttributes$MediaType * A9; + static ::java::awt::PageAttributes$MediaType * A10; + static ::java::awt::PageAttributes$MediaType * B0; + static ::java::awt::PageAttributes$MediaType * B1; + static ::java::awt::PageAttributes$MediaType * B2; + static ::java::awt::PageAttributes$MediaType * B3; + static ::java::awt::PageAttributes$MediaType * B4; + static ::java::awt::PageAttributes$MediaType * ISO_B4_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * B5; + static ::java::awt::PageAttributes$MediaType * ISO_B5_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * B6; + static ::java::awt::PageAttributes$MediaType * B7; + static ::java::awt::PageAttributes$MediaType * B8; + static ::java::awt::PageAttributes$MediaType * B9; + static ::java::awt::PageAttributes$MediaType * B10; + static ::java::awt::PageAttributes$MediaType * C0; + static ::java::awt::PageAttributes$MediaType * ISO_C0_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C1; + static ::java::awt::PageAttributes$MediaType * ISO_C1_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C2; + static ::java::awt::PageAttributes$MediaType * ISO_C2_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C3; + static ::java::awt::PageAttributes$MediaType * ISO_C3_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C4; + static ::java::awt::PageAttributes$MediaType * ISO_C4_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C5; + static ::java::awt::PageAttributes$MediaType * ISO_C5_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C6; + static ::java::awt::PageAttributes$MediaType * ISO_C6_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C7; + static ::java::awt::PageAttributes$MediaType * ISO_C7_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C8; + static ::java::awt::PageAttributes$MediaType * ISO_C8_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C9; + static ::java::awt::PageAttributes$MediaType * ISO_C9_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * C10; + static ::java::awt::PageAttributes$MediaType * ISO_C10_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * ISO_DESIGNATED_LONG_ENVELOPE; + static ::java::awt::PageAttributes$MediaType * STATEMENT; + static ::java::awt::PageAttributes$MediaType * TABLOID; + static ::java::awt::PageAttributes$MediaType * LETTER; + static ::java::awt::PageAttributes$MediaType * NOTE; + static ::java::awt::PageAttributes$MediaType * LEGAL; + static ::java::awt::PageAttributes$MediaType * ENV_10X15; + static ::java::awt::PageAttributes$MediaType * ENV_10X14; + static ::java::awt::PageAttributes$MediaType * ENV_10X13; + static ::java::awt::PageAttributes$MediaType * ENV_9X12; + static ::java::awt::PageAttributes$MediaType * ENV_9X11; + static ::java::awt::PageAttributes$MediaType * ENV_7X9; + static ::java::awt::PageAttributes$MediaType * ENV_6X9; + static ::java::awt::PageAttributes$MediaType * ENV_9; + static ::java::awt::PageAttributes$MediaType * ENV_10; + static ::java::awt::PageAttributes$MediaType * ENV_11; + static ::java::awt::PageAttributes$MediaType * ENV_12; + static ::java::awt::PageAttributes$MediaType * ENV_14; + static ::java::awt::PageAttributes$MediaType * ENV_INVITE; + static ::java::awt::PageAttributes$MediaType * ENV_ITALY; + static ::java::awt::PageAttributes$MediaType * ENV_MONARCH; + static ::java::awt::PageAttributes$MediaType * ENV_PERSONAL; + static ::java::awt::PageAttributes$MediaType * INVITE; + static ::java::awt::PageAttributes$MediaType * ITALY; + static ::java::awt::PageAttributes$MediaType * MONARCH; + static ::java::awt::PageAttributes$MediaType * PERSONAL; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PageAttributes$MediaType__ diff --git a/libjava/java/awt/PageAttributes$OrientationRequestedType.h b/libjava/java/awt/PageAttributes$OrientationRequestedType.h new file mode 100644 index 00000000000..79e1602d3bd --- /dev/null +++ b/libjava/java/awt/PageAttributes$OrientationRequestedType.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PageAttributes$OrientationRequestedType__ +#define __java_awt_PageAttributes$OrientationRequestedType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PageAttributes$OrientationRequestedType; + } + } +} + +class java::awt::PageAttributes$OrientationRequestedType : public ::java::awt::AttributeValue +{ + + PageAttributes$OrientationRequestedType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::PageAttributes$OrientationRequestedType * PORTRAIT; + static ::java::awt::PageAttributes$OrientationRequestedType * LANDSCAPE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PageAttributes$OrientationRequestedType__ diff --git a/libjava/java/awt/PageAttributes$OriginType.h b/libjava/java/awt/PageAttributes$OriginType.h new file mode 100644 index 00000000000..16e04f86690 --- /dev/null +++ b/libjava/java/awt/PageAttributes$OriginType.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PageAttributes$OriginType__ +#define __java_awt_PageAttributes$OriginType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PageAttributes$OriginType; + } + } +} + +class java::awt::PageAttributes$OriginType : public ::java::awt::AttributeValue +{ + + PageAttributes$OriginType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::PageAttributes$OriginType * PHYSICAL; + static ::java::awt::PageAttributes$OriginType * PRINTABLE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PageAttributes$OriginType__ diff --git a/libjava/java/awt/PageAttributes$PrintQualityType.h b/libjava/java/awt/PageAttributes$PrintQualityType.h new file mode 100644 index 00000000000..3f2b68cab38 --- /dev/null +++ b/libjava/java/awt/PageAttributes$PrintQualityType.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PageAttributes$PrintQualityType__ +#define __java_awt_PageAttributes$PrintQualityType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PageAttributes$PrintQualityType; + } + } +} + +class java::awt::PageAttributes$PrintQualityType : public ::java::awt::AttributeValue +{ + + PageAttributes$PrintQualityType(jint); + static JArray< ::java::lang::String * > * NAMES; +public: + static ::java::awt::PageAttributes$PrintQualityType * HIGH; + static ::java::awt::PageAttributes$PrintQualityType * NORMAL; + static ::java::awt::PageAttributes$PrintQualityType * DRAFT; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PageAttributes$PrintQualityType__ diff --git a/libjava/java/awt/PageAttributes.h b/libjava/java/awt/PageAttributes.h new file mode 100644 index 00000000000..7ed2f7a42e3 --- /dev/null +++ b/libjava/java/awt/PageAttributes.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PageAttributes__ +#define __java_awt_PageAttributes__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PageAttributes; + class PageAttributes$ColorType; + class PageAttributes$MediaType; + class PageAttributes$OrientationRequestedType; + class PageAttributes$OriginType; + class PageAttributes$PrintQualityType; + } + } +} + +class java::awt::PageAttributes : public ::java::lang::Object +{ + +public: + PageAttributes(); + PageAttributes(::java::awt::PageAttributes *); + PageAttributes(::java::awt::PageAttributes$ColorType *, ::java::awt::PageAttributes$MediaType *, ::java::awt::PageAttributes$OrientationRequestedType *, ::java::awt::PageAttributes$OriginType *, ::java::awt::PageAttributes$PrintQualityType *, JArray< jint > *); + ::java::lang::Object * clone(); + void set(::java::awt::PageAttributes *); + ::java::awt::PageAttributes$ColorType * getColor(); + void setColor(::java::awt::PageAttributes$ColorType *); + ::java::awt::PageAttributes$MediaType * getMedia(); + void setMedia(::java::awt::PageAttributes$MediaType *); + void setMediaToDefault(); + ::java::awt::PageAttributes$OrientationRequestedType * getOrientationRequested(); + void setOrientationRequested(::java::awt::PageAttributes$OrientationRequestedType *); + void setOrientationRequested(jint); + void setOrientationRequestedToDefault(); + ::java::awt::PageAttributes$OriginType * getOrigin(); + void setOrigin(::java::awt::PageAttributes$OriginType *); + ::java::awt::PageAttributes$PrintQualityType * getPrintQuality(); + void setPrintQuality(::java::awt::PageAttributes$PrintQualityType *); + void setPrintQuality(jint); + void setPrintQualityToDefault(); + JArray< jint > * getPrinterResolution(); + void setPrinterResolution(JArray< jint > *); + void setPrinterResolution(jint); + void setPrinterResolutionToDefault(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::awt::PageAttributes$ColorType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) color; + ::java::awt::PageAttributes$MediaType * media; + ::java::awt::PageAttributes$OrientationRequestedType * orientation; + ::java::awt::PageAttributes$OriginType * origin; + ::java::awt::PageAttributes$PrintQualityType * quality; + jint resolutionX; + jint resolutionY; + jint resolutionScale; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PageAttributes__ diff --git a/libjava/java/awt/Paint.h b/libjava/java/awt/Paint.h new file mode 100644 index 00000000000..85f7c9fcec1 --- /dev/null +++ b/libjava/java/awt/Paint.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Paint__ +#define __java_awt_Paint__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Paint; + class PaintContext; + class Rectangle; + class RenderingHints; + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::Paint : public ::java::lang::Object +{ + +public: + virtual ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *) = 0; + virtual jint getTransparency() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_Paint__ diff --git a/libjava/java/awt/PaintContext.h b/libjava/java/awt/PaintContext.h new file mode 100644 index 00000000000..7658a30e476 --- /dev/null +++ b/libjava/java/awt/PaintContext.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PaintContext__ +#define __java_awt_PaintContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class PaintContext; + namespace image + { + class ColorModel; + class Raster; + } + } + } +} + +class java::awt::PaintContext : public ::java::lang::Object +{ + +public: + virtual void dispose() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::image::Raster * getRaster(jint, jint, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_PaintContext__ diff --git a/libjava/java/awt/Panel$AccessibleAWTPanel.h b/libjava/java/awt/Panel$AccessibleAWTPanel.h new file mode 100644 index 00000000000..386cf0a2b4e --- /dev/null +++ b/libjava/java/awt/Panel$AccessibleAWTPanel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Panel$AccessibleAWTPanel__ +#define __java_awt_Panel$AccessibleAWTPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Panel; + class Panel$AccessibleAWTPanel; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::Panel$AccessibleAWTPanel : public ::java::awt::Container$AccessibleAWTContainer +{ + +public: // actually protected + Panel$AccessibleAWTPanel(::java::awt::Panel *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -6409552226660031050LL; +public: // actually package-private + ::java::awt::Panel * __attribute__((aligned(__alignof__( ::java::awt::Container$AccessibleAWTContainer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Panel$AccessibleAWTPanel__ diff --git a/libjava/java/awt/Panel.h b/libjava/java/awt/Panel.h new file mode 100644 index 00000000000..23a788e4be2 --- /dev/null +++ b/libjava/java/awt/Panel.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Panel__ +#define __java_awt_Panel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class LayoutManager; + class Panel; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Panel : public ::java::awt::Container +{ + +public: + Panel(); + Panel(::java::awt::LayoutManager *); + virtual void addNotify(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = -2728009084054400034LL; + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::java::awt::Container)))) context; + jboolean initialSystemUpdateDone; + jboolean initialUpdateConsumed; + static jlong next_panel_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Panel__ diff --git a/libjava/java/awt/Point.h b/libjava/java/awt/Point.h new file mode 100644 index 00000000000..a161a00cdf5 --- /dev/null +++ b/libjava/java/awt/Point.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Point__ +#define __java_awt_Point__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + } + } +} + +class java::awt::Point : public ::java::awt::geom::Point2D +{ + +public: + Point(); + Point(::java::awt::Point *); + Point(jint, jint); + virtual jdouble getX(); + virtual jdouble getY(); + virtual ::java::awt::Point * getLocation(); + virtual void setLocation(::java::awt::Point *); + virtual void setLocation(jint, jint); + virtual void setLocation(jdouble, jdouble); + virtual void move(jint, jint); + virtual void translate(jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -5276940640259749850LL; +public: + jint __attribute__((aligned(__alignof__( ::java::awt::geom::Point2D)))) x; + jint y; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Point__ diff --git a/libjava/java/awt/PointerInfo.h b/libjava/java/awt/PointerInfo.h new file mode 100644 index 00000000000..fc149bbf014 --- /dev/null +++ b/libjava/java/awt/PointerInfo.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PointerInfo__ +#define __java_awt_PointerInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class GraphicsDevice; + class Point; + class PointerInfo; + } + } +} + +class java::awt::PointerInfo : public ::java::lang::Object +{ + +public: // actually package-private + PointerInfo(::java::awt::GraphicsDevice *, ::java::awt::Point *); +public: + virtual ::java::awt::GraphicsDevice * getDevice(); + virtual ::java::awt::Point * getLocation(); +private: + ::java::awt::GraphicsDevice * __attribute__((aligned(__alignof__( ::java::lang::Object)))) gd; + ::java::awt::Point * p; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PointerInfo__ diff --git a/libjava/java/awt/Polygon$1.h b/libjava/java/awt/Polygon$1.h new file mode 100644 index 00000000000..cd1aaaf9cfe --- /dev/null +++ b/libjava/java/awt/Polygon$1.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Polygon$1__ +#define __java_awt_Polygon$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Polygon; + class Polygon$1; + namespace geom + { + class AffineTransform; + } + } + } +} + +class java::awt::Polygon$1 : public ::java::lang::Object +{ + +public: // actually package-private + Polygon$1(::java::awt::Polygon *, ::java::awt::geom::AffineTransform *); +public: + jint getWindingRule(); + jboolean isDone(); + void next(); + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) vertex; +public: // actually package-private + ::java::awt::Polygon * this$0; +private: + ::java::awt::geom::AffineTransform * val$transform; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Polygon$1__ diff --git a/libjava/java/awt/Polygon.h b/libjava/java/awt/Polygon.h new file mode 100644 index 00000000000..e692f132e96 --- /dev/null +++ b/libjava/java/awt/Polygon.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Polygon__ +#define __java_awt_Polygon__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Polygon; + class Rectangle; + namespace geom + { + class AffineTransform; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::Polygon : public ::java::lang::Object +{ + +public: + Polygon(); + Polygon(JArray< jint > *, JArray< jint > *, jint); + virtual void reset(); + virtual void invalidate(); + virtual void translate(jint, jint); + virtual void addPoint(jint, jint); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::Rectangle * getBoundingBox(); + virtual jboolean contains(::java::awt::Point *); + virtual jboolean contains(jint, jint); + virtual jboolean inside(jint, jint); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Point2D *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersects(::java::awt::geom::Rectangle2D *); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); +private: + jint evaluateCrossings(jdouble, jdouble, jboolean, jdouble); + static const jlong serialVersionUID = -6460061437900069969LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) npoints; + JArray< jint > * xpoints; + JArray< jint > * ypoints; +public: // actually protected + ::java::awt::Rectangle * bounds; +private: + static jdouble BIG_VALUE; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Polygon__ diff --git a/libjava/java/awt/PopupMenu$AccessibleAWTPopupMenu.h b/libjava/java/awt/PopupMenu$AccessibleAWTPopupMenu.h new file mode 100644 index 00000000000..f28ed4cac80 --- /dev/null +++ b/libjava/java/awt/PopupMenu$AccessibleAWTPopupMenu.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PopupMenu$AccessibleAWTPopupMenu__ +#define __java_awt_PopupMenu$AccessibleAWTPopupMenu__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class PopupMenu; + class PopupMenu$AccessibleAWTPopupMenu; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::PopupMenu$AccessibleAWTPopupMenu : public ::java::awt::Menu$AccessibleAWTMenu +{ + +public: // actually protected + PopupMenu$AccessibleAWTPopupMenu(::java::awt::PopupMenu *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -4282044795947239955LL; +public: // actually package-private + ::java::awt::PopupMenu * __attribute__((aligned(__alignof__( ::java::awt::Menu$AccessibleAWTMenu)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PopupMenu$AccessibleAWTPopupMenu__ diff --git a/libjava/java/awt/PopupMenu.h b/libjava/java/awt/PopupMenu.h new file mode 100644 index 00000000000..855809bb0f8 --- /dev/null +++ b/libjava/java/awt/PopupMenu.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PopupMenu__ +#define __java_awt_PopupMenu__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class PopupMenu; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::PopupMenu : public ::java::awt::Menu +{ + +public: + PopupMenu(); + PopupMenu(::java::lang::String *); + virtual void addNotify(); + virtual void show(::java::awt::Component *, jint, jint); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); + static jlong next_popup_number; + static const jlong serialVersionUID = -4620452533522760060LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PopupMenu__ diff --git a/libjava/java/awt/PrintGraphics.h b/libjava/java/awt/PrintGraphics.h new file mode 100644 index 00000000000..7027cb6b743 --- /dev/null +++ b/libjava/java/awt/PrintGraphics.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PrintGraphics__ +#define __java_awt_PrintGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class PrintGraphics; + class PrintJob; + } + } +} + +class java::awt::PrintGraphics : public ::java::lang::Object +{ + +public: + virtual ::java::awt::PrintJob * getPrintJob() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_PrintGraphics__ diff --git a/libjava/java/awt/PrintJob.h b/libjava/java/awt/PrintJob.h new file mode 100644 index 00000000000..66c98e3e31b --- /dev/null +++ b/libjava/java/awt/PrintJob.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_PrintJob__ +#define __java_awt_PrintJob__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class PrintJob; + } + } +} + +class java::awt::PrintJob : public ::java::lang::Object +{ + +public: + PrintJob(); + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Dimension * getPageDimension() = 0; + virtual jint getPageResolution() = 0; + virtual jboolean lastPageFirst() = 0; + virtual void end() = 0; + virtual void finalize(); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_PrintJob__ diff --git a/libjava/java/awt/Rectangle.h b/libjava/java/awt/Rectangle.h new file mode 100644 index 00000000000..6a098adb513 --- /dev/null +++ b/libjava/java/awt/Rectangle.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Rectangle__ +#define __java_awt_Rectangle__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Point; + class Rectangle; + namespace geom + { + class Rectangle2D; + } + } + } +} + +class java::awt::Rectangle : public ::java::awt::geom::Rectangle2D +{ + +public: + Rectangle(); + Rectangle(::java::awt::Rectangle *); + Rectangle(jint, jint, jint, jint); + Rectangle(jint, jint); + Rectangle(::java::awt::Point *, ::java::awt::Dimension *); + Rectangle(::java::awt::Point *); + Rectangle(::java::awt::Dimension *); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual void setBounds(::java::awt::Rectangle *); + virtual void setBounds(jint, jint, jint, jint); + virtual void setRect(jdouble, jdouble, jdouble, jdouble); + virtual void reshape(jint, jint, jint, jint); + virtual ::java::awt::Point * getLocation(); + virtual void setLocation(::java::awt::Point *); + virtual void setLocation(jint, jint); + virtual void move(jint, jint); + virtual void translate(jint, jint); + virtual ::java::awt::Dimension * getSize(); + virtual void setSize(::java::awt::Dimension *); + virtual void setSize(jint, jint); + virtual void resize(jint, jint); + virtual jboolean contains(::java::awt::Point *); + virtual jboolean contains(jint, jint); + virtual jboolean contains(::java::awt::Rectangle *); + virtual jboolean contains(jint, jint, jint, jint); + virtual jboolean inside(jint, jint); + virtual jboolean intersects(::java::awt::Rectangle *); + virtual ::java::awt::Rectangle * intersection(::java::awt::Rectangle *); + virtual ::java::awt::Rectangle * union$(::java::awt::Rectangle *); + virtual void add(jint, jint); + virtual void add(::java::awt::Point *); + virtual void add(::java::awt::Rectangle *); + virtual void grow(jint, jint); + virtual jboolean isEmpty(); + virtual jint outcode(jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * createIntersection(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::Rectangle2D * createUnion(::java::awt::geom::Rectangle2D *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -4345857070255674764LL; +public: + jint __attribute__((aligned(__alignof__( ::java::awt::geom::Rectangle2D)))) x; + jint y; + jint width; + jint height; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Rectangle__ diff --git a/libjava/java/awt/RenderingHints$Key.h b/libjava/java/awt/RenderingHints$Key.h new file mode 100644 index 00000000000..7f4c9724cfd --- /dev/null +++ b/libjava/java/awt/RenderingHints$Key.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_RenderingHints$Key__ +#define __java_awt_RenderingHints$Key__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints$Key; + } + } +} + +class java::awt::RenderingHints$Key : public ::java::lang::Object +{ + +public: // actually protected + RenderingHints$Key(jint); +public: + virtual jboolean isCompatibleValue(::java::lang::Object *) = 0; +public: // actually protected + virtual jint intKey(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_RenderingHints$Key__ diff --git a/libjava/java/awt/RenderingHints$KeyImpl.h b/libjava/java/awt/RenderingHints$KeyImpl.h new file mode 100644 index 00000000000..d81b7b9c1bc --- /dev/null +++ b/libjava/java/awt/RenderingHints$KeyImpl.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_RenderingHints$KeyImpl__ +#define __java_awt_RenderingHints$KeyImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints$KeyImpl; + } + } +} + +class java::awt::RenderingHints$KeyImpl : public ::java::awt::RenderingHints$Key +{ + +public: // actually package-private + RenderingHints$KeyImpl(jint, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); +public: + jboolean isCompatibleValue(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::awt::RenderingHints$Key)))) description; + ::java::lang::Object * v1; + ::java::lang::Object * v2; + ::java::lang::Object * v3; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_RenderingHints$KeyImpl__ diff --git a/libjava/java/awt/RenderingHints.h b/libjava/java/awt/RenderingHints.h new file mode 100644 index 00000000000..6ceee185348 --- /dev/null +++ b/libjava/java/awt/RenderingHints.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_RenderingHints__ +#define __java_awt_RenderingHints__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + class RenderingHints$Key; + } + } +} + +class java::awt::RenderingHints : public ::java::lang::Object +{ + +public: + RenderingHints(::java::util::Map *); + RenderingHints(::java::awt::RenderingHints$Key *, ::java::lang::Object *); + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void add(::java::awt::RenderingHints *); + virtual void clear(); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::util::Set * keySet(); + virtual ::java::util::Collection * values(); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); +private: + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hintMap; +public: + static ::java::awt::RenderingHints$Key * KEY_ANTIALIASING; + static ::java::lang::Object * VALUE_ANTIALIAS_ON; + static ::java::lang::Object * VALUE_ANTIALIAS_OFF; + static ::java::lang::Object * VALUE_ANTIALIAS_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_RENDERING; + static ::java::lang::Object * VALUE_RENDER_SPEED; + static ::java::lang::Object * VALUE_RENDER_QUALITY; + static ::java::lang::Object * VALUE_RENDER_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_DITHERING; + static ::java::lang::Object * VALUE_DITHER_DISABLE; + static ::java::lang::Object * VALUE_DITHER_ENABLE; + static ::java::lang::Object * VALUE_DITHER_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_TEXT_ANTIALIASING; + static ::java::lang::Object * VALUE_TEXT_ANTIALIAS_ON; + static ::java::lang::Object * VALUE_TEXT_ANTIALIAS_OFF; + static ::java::lang::Object * VALUE_TEXT_ANTIALIAS_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_FRACTIONALMETRICS; + static ::java::lang::Object * VALUE_FRACTIONALMETRICS_OFF; + static ::java::lang::Object * VALUE_FRACTIONALMETRICS_ON; + static ::java::lang::Object * VALUE_FRACTIONALMETRICS_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_INTERPOLATION; + static ::java::lang::Object * VALUE_INTERPOLATION_NEAREST_NEIGHBOR; + static ::java::lang::Object * VALUE_INTERPOLATION_BILINEAR; + static ::java::lang::Object * VALUE_INTERPOLATION_BICUBIC; + static ::java::awt::RenderingHints$Key * KEY_ALPHA_INTERPOLATION; + static ::java::lang::Object * VALUE_ALPHA_INTERPOLATION_SPEED; + static ::java::lang::Object * VALUE_ALPHA_INTERPOLATION_QUALITY; + static ::java::lang::Object * VALUE_ALPHA_INTERPOLATION_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_COLOR_RENDERING; + static ::java::lang::Object * VALUE_COLOR_RENDER_SPEED; + static ::java::lang::Object * VALUE_COLOR_RENDER_QUALITY; + static ::java::lang::Object * VALUE_COLOR_RENDER_DEFAULT; + static ::java::awt::RenderingHints$Key * KEY_STROKE_CONTROL; + static ::java::lang::Object * VALUE_STROKE_DEFAULT; + static ::java::lang::Object * VALUE_STROKE_NORMALIZE; + static ::java::lang::Object * VALUE_STROKE_PURE; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_RenderingHints__ diff --git a/libjava/java/awt/Robot$1.h b/libjava/java/awt/Robot$1.h new file mode 100644 index 00000000000..b455f7246d6 --- /dev/null +++ b/libjava/java/awt/Robot$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Robot$1__ +#define __java_awt_Robot$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Robot; + class Robot$1; + } + } +} + +class java::awt::Robot$1 : public ::java::lang::Object +{ + +public: // actually package-private + Robot$1(::java::awt::Robot *); +public: + void run(); +public: // actually package-private + ::java::awt::Robot * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Robot$1__ diff --git a/libjava/java/awt/Robot.h b/libjava/java/awt/Robot.h new file mode 100644 index 00000000000..d283f7e97e7 --- /dev/null +++ b/libjava/java/awt/Robot.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Robot__ +#define __java_awt_Robot__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class GraphicsDevice; + class Rectangle; + class Robot; + namespace image + { + class BufferedImage; + } + namespace peer + { + class RobotPeer; + } + } + } +} + +class java::awt::Robot : public ::java::lang::Object +{ + +public: + Robot(); + Robot(::java::awt::GraphicsDevice *); + virtual void mouseMove(jint, jint); + virtual void mousePress(jint); + virtual void mouseRelease(jint); + virtual void mouseWheel(jint); + virtual void keyPress(jint); + virtual void keyRelease(jint); + virtual ::java::awt::Color * getPixelColor(jint, jint); + virtual ::java::awt::image::BufferedImage * createScreenCapture(::java::awt::Rectangle *); + virtual jboolean isAutoWaitForIdle(); + virtual void setAutoWaitForIdle(jboolean); + virtual jint getAutoDelay(); + virtual void setAutoDelay(jint); + virtual void delay(jint); + virtual void waitForIdle(); + virtual ::java::lang::String * toString(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) waitForIdle__; + jint autoDelay; + ::java::awt::peer::RobotPeer * peer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Robot__ diff --git a/libjava/java/awt/ScrollPane$AccessibleAWTScrollPane.h b/libjava/java/awt/ScrollPane$AccessibleAWTScrollPane.h new file mode 100644 index 00000000000..dd103cde337 --- /dev/null +++ b/libjava/java/awt/ScrollPane$AccessibleAWTScrollPane.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ScrollPane$AccessibleAWTScrollPane__ +#define __java_awt_ScrollPane$AccessibleAWTScrollPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ScrollPane; + class ScrollPane$AccessibleAWTScrollPane; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class java::awt::ScrollPane$AccessibleAWTScrollPane : public ::java::awt::Container$AccessibleAWTContainer +{ + +public: // actually protected + ScrollPane$AccessibleAWTScrollPane(::java::awt::ScrollPane *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 6100703663886637LL; +public: // actually package-private + ::java::awt::ScrollPane * __attribute__((aligned(__alignof__( ::java::awt::Container$AccessibleAWTContainer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ScrollPane$AccessibleAWTScrollPane__ diff --git a/libjava/java/awt/ScrollPane.h b/libjava/java/awt/ScrollPane.h new file mode 100644 index 00000000000..30110cf7e78 --- /dev/null +++ b/libjava/java/awt/ScrollPane.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ScrollPane__ +#define __java_awt_ScrollPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Adjustable; + class Component; + class Dimension; + class Graphics; + class LayoutManager; + class Point; + class ScrollPane; + class ScrollPaneAdjustable; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::ScrollPane : public ::java::awt::Container +{ + +public: + ScrollPane(); + ScrollPane(jint); + virtual jint getScrollbarDisplayPolicy(); + virtual ::java::awt::Adjustable * getHAdjustable(); + virtual ::java::awt::Adjustable * getVAdjustable(); + virtual ::java::awt::Dimension * getViewportSize(); + virtual jint getHScrollbarHeight(); + virtual jint getVScrollbarWidth(); + virtual ::java::awt::Point * getScrollPosition(); + virtual void setScrollPosition(::java::awt::Point *); + virtual void setScrollPosition(jint, jint); + virtual void addNotify(); + virtual void removeNotify(); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void doLayout(); + virtual void layout(); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void printComponents(::java::awt::Graphics *); + virtual ::java::lang::String * paramString(); +private: + ::java::lang::String * getScrollbarDisplayPolicyString(); + ::java::lang::String * getIsValidString(); +public: // actually protected + virtual jboolean eventTypeEnabled(jint); +public: + virtual jboolean isWheelScrollingEnabled(); + virtual void setWheelScrollingEnabled(jboolean); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + static const jint SCROLLBARS_AS_NEEDED = 0; + static const jint SCROLLBARS_ALWAYS = 1; + static const jint SCROLLBARS_NEVER = 2; +private: + static jlong next_scrollpane_number; + static const jlong serialVersionUID = 7956609840827222915LL; + ::java::awt::ScrollPaneAdjustable * __attribute__((aligned(__alignof__( ::java::awt::Container)))) hAdjustable; + ::java::awt::ScrollPaneAdjustable * vAdjustable; + jint scrollbarDisplayPolicy; + ::java::awt::Point * scrollPosition; + jboolean wheelScrollingEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ScrollPane__ diff --git a/libjava/java/awt/ScrollPaneAdjustable.h b/libjava/java/awt/ScrollPaneAdjustable.h new file mode 100644 index 00000000000..a07d48c0c86 --- /dev/null +++ b/libjava/java/awt/ScrollPaneAdjustable.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_ScrollPaneAdjustable__ +#define __java_awt_ScrollPaneAdjustable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class ScrollPane; + class ScrollPaneAdjustable; + namespace event + { + class AdjustmentListener; + } + } + } +} + +class java::awt::ScrollPaneAdjustable : public ::java::lang::Object +{ + +public: // actually package-private + ScrollPaneAdjustable(::java::awt::ScrollPane *, jint); + ScrollPaneAdjustable(::java::awt::ScrollPane *, jint, jint, jint, jint, jint, jint, jint); +public: + virtual void addAdjustmentListener(::java::awt::event::AdjustmentListener *); + virtual void removeAdjustmentListener(::java::awt::event::AdjustmentListener *); + virtual JArray< ::java::awt::event::AdjustmentListener * > * getAdjustmentListeners(); + virtual jint getBlockIncrement(); + virtual jint getMaximum(); + virtual jint getMinimum(); + virtual jint getOrientation(); + virtual jint getUnitIncrement(); + virtual jint getValue(); + virtual jint getVisibleAmount(); + virtual void setBlockIncrement(jint); + virtual void setMaximum(jint); + virtual void setMinimum(jint); + virtual void setUnitIncrement(jint); + virtual void setValue(jint); + virtual void setVisibleAmount(jint); + virtual ::java::lang::String * paramString(); +private: + ::java::lang::String * paramStringHelper(); +public: + virtual ::java::lang::String * toString(); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); +private: + static const jlong serialVersionUID = -3359745691033257079LL; +public: // actually package-private + ::java::awt::ScrollPane * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sp; + jint orientation; + jint value; + jint minimum; + jint maximum; + jint visibleAmount; + jint unitIncrement; + jint blockIncrement; + ::java::awt::event::AdjustmentListener * adjustmentListener; +private: + jboolean valueIsAdjusting; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_ScrollPaneAdjustable__ diff --git a/libjava/java/awt/Scrollbar$AccessibleAWTScrollBar.h b/libjava/java/awt/Scrollbar$AccessibleAWTScrollBar.h new file mode 100644 index 00000000000..1549a6a24cd --- /dev/null +++ b/libjava/java/awt/Scrollbar$AccessibleAWTScrollBar.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Scrollbar$AccessibleAWTScrollBar__ +#define __java_awt_Scrollbar$AccessibleAWTScrollBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Scrollbar; + class Scrollbar$AccessibleAWTScrollBar; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + class AccessibleValue; + } + } +} + +class java::awt::Scrollbar$AccessibleAWTScrollBar : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: // actually protected + Scrollbar$AccessibleAWTScrollBar(::java::awt::Scrollbar *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); +private: + static const jlong serialVersionUID = -344337268523697807LL; +public: // actually package-private + ::java::awt::Scrollbar * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Scrollbar$AccessibleAWTScrollBar__ diff --git a/libjava/java/awt/Scrollbar.h b/libjava/java/awt/Scrollbar.h new file mode 100644 index 00000000000..d13f504e979 --- /dev/null +++ b/libjava/java/awt/Scrollbar.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Scrollbar__ +#define __java_awt_Scrollbar__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Scrollbar; + namespace event + { + class AdjustmentEvent; + class AdjustmentListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Scrollbar : public ::java::awt::Component +{ + +public: + Scrollbar(); + Scrollbar(jint); + Scrollbar(jint, jint, jint, jint, jint); + virtual jint getOrientation(); + virtual void setOrientation(jint); + virtual jint getValue(); + virtual void setValue(jint); + virtual jint getMaximum(); + virtual void setMaximum(jint); + virtual jint getMinimum(); + virtual void setMinimum(jint); + virtual jint getVisibleAmount(); + virtual jint getVisible(); + virtual void setVisibleAmount(jint); + virtual void setValues(jint, jint, jint, jint); + virtual jint getUnitIncrement(); + virtual jint getLineIncrement(); + virtual void setUnitIncrement(jint); + virtual void setLineIncrement(jint); + virtual jint getBlockIncrement(); + virtual jint getPageIncrement(); + virtual void setBlockIncrement(jint); + virtual void setPageIncrement(jint); + virtual void addNotify(); + virtual void addAdjustmentListener(::java::awt::event::AdjustmentListener *); + virtual void removeAdjustmentListener(::java::awt::event::AdjustmentListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processAdjustmentEvent(::java::awt::event::AdjustmentEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::java::awt::event::AdjustmentListener * > * getAdjustmentListeners(); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + static const jint HORIZONTAL = 0; + static const jint VERTICAL = 1; +private: + static const jlong serialVersionUID = 8451667562882310543LL; + jint __attribute__((aligned(__alignof__( ::java::awt::Component)))) lineIncrement; + jint pageIncrement; + jint maximum; + jint minimum; + jint orientation; + jint value; + jint visibleAmount; + ::java::awt::event::AdjustmentListener * adjustment_listeners; + jboolean valueIsAdjusting; + static jlong next_scrollbar_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Scrollbar__ diff --git a/libjava/java/awt/Shape.h b/libjava/java/awt/Shape.h new file mode 100644 index 00000000000..facef750333 --- /dev/null +++ b/libjava/java/awt/Shape.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Shape__ +#define __java_awt_Shape__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + class Shape; + namespace geom + { + class AffineTransform; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::Shape : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual ::java::awt::geom::Rectangle2D * getBounds2D() = 0; + virtual jboolean contains(jdouble, jdouble) = 0; + virtual jboolean contains(::java::awt::geom::Point2D *) = 0; + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble) = 0; + virtual jboolean intersects(::java::awt::geom::Rectangle2D *) = 0; + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble) = 0; + virtual jboolean contains(::java::awt::geom::Rectangle2D *) = 0; + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *) = 0; + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_Shape__ diff --git a/libjava/java/awt/Stroke.h b/libjava/java/awt/Stroke.h new file mode 100644 index 00000000000..bb04e488637 --- /dev/null +++ b/libjava/java/awt/Stroke.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Stroke__ +#define __java_awt_Stroke__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + class Stroke; + } + } +} + +class java::awt::Stroke : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Shape * createStrokedShape(::java::awt::Shape *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_Stroke__ diff --git a/libjava/java/awt/SystemColor.h b/libjava/java/awt/SystemColor.h new file mode 100644 index 00000000000..5e561faca5c --- /dev/null +++ b/libjava/java/awt/SystemColor.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_SystemColor__ +#define __java_awt_SystemColor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class PaintContext; + class Rectangle; + class RenderingHints; + class SystemColor; + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class ColorModel; + } + } + } +} + +class java::awt::SystemColor : public ::java::awt::Color +{ + + SystemColor(jint); +public: + jint getRGB(); + ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4503142729533789064LL; +public: + static const jint DESKTOP = 0; + static const jint ACTIVE_CAPTION = 1; + static const jint ACTIVE_CAPTION_TEXT = 2; + static const jint ACTIVE_CAPTION_BORDER = 3; + static const jint INACTIVE_CAPTION = 4; + static const jint INACTIVE_CAPTION_TEXT = 5; + static const jint INACTIVE_CAPTION_BORDER = 6; + static const jint WINDOW = 7; + static const jint WINDOW_BORDER = 8; + static const jint WINDOW_TEXT = 9; + static const jint MENU = 10; + static const jint MENU_TEXT = 11; + static const jint TEXT = 12; + static const jint TEXT_TEXT = 13; + static const jint TEXT_HIGHLIGHT = 14; + static const jint TEXT_HIGHLIGHT_TEXT = 15; + static const jint TEXT_INACTIVE_TEXT = 16; + static const jint CONTROL = 17; + static const jint CONTROL_TEXT = 18; + static const jint CONTROL_HIGHLIGHT = 19; + static const jint CONTROL_LT_HIGHLIGHT = 20; + static const jint CONTROL_SHADOW = 21; + static const jint CONTROL_DK_SHADOW = 22; + static const jint SCROLLBAR = 23; + static const jint INFO = 24; + static const jint INFO_TEXT = 25; + static const jint NUM_COLORS = 26; +private: + static JArray< jint > * colors; +public: + static ::java::awt::SystemColor * desktop; + static ::java::awt::SystemColor * activeCaption; + static ::java::awt::SystemColor * activeCaptionText; + static ::java::awt::SystemColor * activeCaptionBorder; + static ::java::awt::SystemColor * inactiveCaption; + static ::java::awt::SystemColor * inactiveCaptionText; + static ::java::awt::SystemColor * inactiveCaptionBorder; + static ::java::awt::SystemColor * window; + static ::java::awt::SystemColor * windowBorder; + static ::java::awt::SystemColor * windowText; + static ::java::awt::SystemColor * menu; + static ::java::awt::SystemColor * menuText; + static ::java::awt::SystemColor * text; + static ::java::awt::SystemColor * textText; + static ::java::awt::SystemColor * textHighlight; + static ::java::awt::SystemColor * textHighlightText; + static ::java::awt::SystemColor * textInactiveText; + static ::java::awt::SystemColor * control; + static ::java::awt::SystemColor * controlText; + static ::java::awt::SystemColor * controlHighlight; + static ::java::awt::SystemColor * controlLtHighlight; + static ::java::awt::SystemColor * controlShadow; + static ::java::awt::SystemColor * controlDkShadow; + static ::java::awt::SystemColor * scrollbar; + static ::java::awt::SystemColor * info; + static ::java::awt::SystemColor * infoText; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_SystemColor__ diff --git a/libjava/java/awt/TextArea$AccessibleAWTTextArea.h b/libjava/java/awt/TextArea$AccessibleAWTTextArea.h new file mode 100644 index 00000000000..0803d64183e --- /dev/null +++ b/libjava/java/awt/TextArea$AccessibleAWTTextArea.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TextArea$AccessibleAWTTextArea__ +#define __java_awt_TextArea$AccessibleAWTTextArea__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class TextArea; + class TextArea$AccessibleAWTTextArea; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleStateSet; + } + } +} + +class java::awt::TextArea$AccessibleAWTTextArea : public ::java::awt::TextComponent$AccessibleAWTTextComponent +{ + +public: // actually protected + TextArea$AccessibleAWTTextArea(::java::awt::TextArea *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 3472827823632144419LL; +public: // actually package-private + ::java::awt::TextArea * __attribute__((aligned(__alignof__( ::java::awt::TextComponent$AccessibleAWTTextComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TextArea$AccessibleAWTTextArea__ diff --git a/libjava/java/awt/TextArea.h b/libjava/java/awt/TextArea.h new file mode 100644 index 00000000000..d1b0d66c870 --- /dev/null +++ b/libjava/java/awt/TextArea.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TextArea__ +#define __java_awt_TextArea__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class TextArea; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::TextArea : public ::java::awt::TextComponent +{ + +public: + TextArea(); + TextArea(::java::lang::String *); + TextArea(jint, jint); + TextArea(::java::lang::String *, jint, jint); + TextArea(::java::lang::String *, jint, jint, jint); + virtual jint getColumns(); + virtual void setColumns(jint); + virtual jint getRows(); + virtual void setRows(jint); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getMinimumSize(jint, jint); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * minimumSize(jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getPreferredSize(jint, jint); + virtual ::java::awt::Dimension * preferredSize(); + virtual ::java::awt::Dimension * preferredSize(jint, jint); + virtual jint getScrollbarVisibility(); + virtual void addNotify(); + virtual void append(::java::lang::String *); + virtual void appendText(::java::lang::String *); + virtual void insert(::java::lang::String *, jint); + virtual void insertText(::java::lang::String *, jint); + virtual void replaceRange(::java::lang::String *, jint, jint); + virtual void replaceText(::java::lang::String *, jint, jint); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + static const jint SCROLLBARS_BOTH = 0; + static const jint SCROLLBARS_VERTICAL_ONLY = 1; + static const jint SCROLLBARS_HORIZONTAL_ONLY = 2; + static const jint SCROLLBARS_NONE = 3; +private: + static const jlong serialVersionUID = 3692302836626095722LL; + jint __attribute__((aligned(__alignof__( ::java::awt::TextComponent)))) columns; + jint rows; + jint scrollbarVisibility; + static jlong next_text_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TextArea__ diff --git a/libjava/java/awt/TextComponent$AccessibleAWTTextComponent.h b/libjava/java/awt/TextComponent$AccessibleAWTTextComponent.h new file mode 100644 index 00000000000..94d0031a3e5 --- /dev/null +++ b/libjava/java/awt/TextComponent$AccessibleAWTTextComponent.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TextComponent$AccessibleAWTTextComponent__ +#define __java_awt_TextComponent$AccessibleAWTTextComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + class TextComponent; + class TextComponent$AccessibleAWTTextComponent; + namespace event + { + class TextEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + class AccessibleText; + } + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class java::awt::TextComponent$AccessibleAWTTextComponent : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: + TextComponent$AccessibleAWTTextComponent(::java::awt::TextComponent *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); + virtual jint getIndexAtPoint(::java::awt::Point *); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jint getCharCount(); + virtual jint getCaretPosition(); + virtual ::java::lang::String * getAtIndex(jint, jint); + virtual ::java::lang::String * getAfterIndex(jint, jint); + virtual ::java::lang::String * getBeforeIndex(jint, jint); + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint); + virtual jint getSelectionStart(); + virtual jint getSelectionEnd(); + virtual ::java::lang::String * getSelectedText(); + virtual void textValueChanged(::java::awt::event::TextEvent *); +private: + static const jlong serialVersionUID = 3631432373506317811LL; +public: // actually package-private + ::java::awt::TextComponent * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TextComponent$AccessibleAWTTextComponent__ diff --git a/libjava/java/awt/TextComponent.h b/libjava/java/awt/TextComponent.h new file mode 100644 index 00000000000..2b12f8b29d2 --- /dev/null +++ b/libjava/java/awt/TextComponent.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TextComponent__ +#define __java_awt_TextComponent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Point; + class Rectangle; + class TextComponent; + namespace event + { + class TextEvent; + class TextListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::TextComponent : public ::java::awt::Component +{ + +public: // actually package-private + TextComponent(::java::lang::String *); +public: + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + virtual ::java::lang::String * getSelectedText(); + virtual jint getSelectionStart(); + virtual void setSelectionStart(jint); + virtual jint getSelectionEnd(); + virtual void setSelectionEnd(jint); + virtual void select(jint, jint); + virtual void selectAll(); + virtual jint getCaretPosition(); + virtual void setCaretPosition(jint); + virtual jboolean isEditable(); + virtual void setEditable(jboolean); + virtual void removeNotify(); + virtual void addTextListener(::java::awt::event::TextListener *); + virtual void removeTextListener(::java::awt::event::TextListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processTextEvent(::java::awt::event::TextEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::java::awt::event::TextListener * > * getTextListeners(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual jint getIndexAtPoint(::java::awt::Point *); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + static jboolean ignoreOldMouseEvents(); +private: + static const jlong serialVersionUID = -2214773872412987419LL; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::java::awt::Component)))) editable; + jint selectionStart; + jint selectionEnd; + ::java::lang::String * text; +public: // actually protected + ::java::awt::event::TextListener * textListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TextComponent__ diff --git a/libjava/java/awt/TextField$AccessibleAWTTextField.h b/libjava/java/awt/TextField$AccessibleAWTTextField.h new file mode 100644 index 00000000000..b49056a3f34 --- /dev/null +++ b/libjava/java/awt/TextField$AccessibleAWTTextField.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TextField$AccessibleAWTTextField__ +#define __java_awt_TextField$AccessibleAWTTextField__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class TextField; + class TextField$AccessibleAWTTextField; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleStateSet; + } + } +} + +class java::awt::TextField$AccessibleAWTTextField : public ::java::awt::TextComponent$AccessibleAWTTextComponent +{ + +public: // actually protected + TextField$AccessibleAWTTextField(::java::awt::TextField *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 6219164359235943158LL; +public: // actually package-private + ::java::awt::TextField * __attribute__((aligned(__alignof__( ::java::awt::TextComponent$AccessibleAWTTextComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TextField$AccessibleAWTTextField__ diff --git a/libjava/java/awt/TextField.h b/libjava/java/awt/TextField.h new file mode 100644 index 00000000000..747fe352155 --- /dev/null +++ b/libjava/java/awt/TextField.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TextField__ +#define __java_awt_TextField__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Dimension; + class TextField; + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::TextField : public ::java::awt::TextComponent +{ + +public: + TextField(); + TextField(::java::lang::String *); + TextField(jint); + TextField(::java::lang::String *, jint); + virtual jint getColumns(); + virtual void setColumns(jint); + virtual jchar getEchoChar(); + virtual void setEchoChar(jchar); + virtual void setEchoCharacter(jchar); + virtual jboolean echoCharIsSet(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getMinimumSize(jint); + virtual ::java::awt::Dimension * minimumSize(); + virtual ::java::awt::Dimension * minimumSize(jint); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getPreferredSize(jint); + virtual ::java::awt::Dimension * preferredSize(); + virtual ::java::awt::Dimension * preferredSize(jint); + virtual void addNotify(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processActionEvent(::java::awt::event::ActionEvent *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); +public: // actually package-private + virtual ::java::lang::String * generateName(); +private: + static jlong getUniqueLong(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static jlong next_textfield_number; + static const jlong serialVersionUID = -2966288784432217853LL; + jint __attribute__((aligned(__alignof__( ::java::awt::TextComponent)))) columns; + jchar echoChar; + ::java::awt::event::ActionListener * action_listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TextField__ diff --git a/libjava/java/awt/TexturePaint.h b/libjava/java/awt/TexturePaint.h new file mode 100644 index 00000000000..a6711ad6b8a --- /dev/null +++ b/libjava/java/awt/TexturePaint.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_TexturePaint__ +#define __java_awt_TexturePaint__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class PaintContext; + class Rectangle; + class RenderingHints; + class TexturePaint; + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + } + } + } +} + +class java::awt::TexturePaint : public ::java::lang::Object +{ + +public: + TexturePaint(::java::awt::image::BufferedImage *, ::java::awt::geom::Rectangle2D *); + virtual ::java::awt::image::BufferedImage * getImage(); + virtual ::java::awt::geom::Rectangle2D * getAnchorRect(); + virtual ::java::awt::PaintContext * createContext(::java::awt::image::ColorModel *, ::java::awt::Rectangle *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + virtual jint getTransparency(); +private: + ::java::awt::image::BufferedImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) texture; + ::java::awt::geom::Rectangle2D * anchor; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_TexturePaint__ diff --git a/libjava/java/awt/Toolkit$1.h b/libjava/java/awt/Toolkit$1.h new file mode 100644 index 00000000000..f884420bb83 --- /dev/null +++ b/libjava/java/awt/Toolkit$1.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Toolkit$1__ +#define __java_awt_Toolkit$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Toolkit$1; + } + } +} + +class java::awt::Toolkit$1 : public ::java::lang::Object +{ + +public: // actually package-private + Toolkit$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Toolkit$1__ diff --git a/libjava/java/awt/Toolkit$2.h b/libjava/java/awt/Toolkit$2.h new file mode 100644 index 00000000000..6eb50a74f6a --- /dev/null +++ b/libjava/java/awt/Toolkit$2.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Toolkit$2__ +#define __java_awt_Toolkit$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Toolkit$2; + } + } +} + +class java::awt::Toolkit$2 : public ::java::lang::Object +{ + +public: // actually package-private + Toolkit$2(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Toolkit$2__ diff --git a/libjava/java/awt/Toolkit.h b/libjava/java/awt/Toolkit.h new file mode 100644 index 00000000000..d8af0cd1545 --- /dev/null +++ b/libjava/java/awt/Toolkit.h @@ -0,0 +1,245 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Toolkit__ +#define __java_awt_Toolkit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace peer + { + class GLightweightPeer; + } + } + } + } + namespace java + { + namespace awt + { + class AWTEvent; + class Button; + class Canvas; + class Checkbox; + class CheckboxMenuItem; + class Choice; + class Component; + class Container; + class Cursor; + class Dialog; + class Dimension; + class EventQueue; + class FileDialog; + class Font; + class FontMetrics; + class Frame; + class GraphicsConfiguration; + class Image; + class Insets; + class JobAttributes; + class Label; + class List; + class Menu; + class MenuBar; + class MenuItem; + class PageAttributes; + class Panel; + class Point; + class PopupMenu; + class PrintJob; + class ScrollPane; + class Scrollbar; + class TextArea; + class TextField; + class Toolkit; + class Window; + namespace datatransfer + { + class Clipboard; + } + namespace dnd + { + class DragGestureEvent; + class DragGestureListener; + class DragGestureRecognizer; + class DragSource; + namespace peer + { + class DragSourceContextPeer; + } + } + namespace event + { + class AWTEventListener; + class AWTEventListenerProxy; + } + namespace im + { + class InputMethodHighlight; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + } + namespace peer + { + class ButtonPeer; + class CanvasPeer; + class CheckboxMenuItemPeer; + class CheckboxPeer; + class ChoicePeer; + class DialogPeer; + class FileDialogPeer; + class FontPeer; + class FramePeer; + class LabelPeer; + class LightweightPeer; + class ListPeer; + class MenuBarPeer; + class MenuItemPeer; + class MenuPeer; + class MouseInfoPeer; + class PanelPeer; + class PopupMenuPeer; + class ScrollPanePeer; + class ScrollbarPeer; + class TextAreaPeer; + class TextFieldPeer; + class WindowPeer; + } + } + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + } + namespace net + { + class URL; + } + } +} + +class java::awt::Toolkit : public ::java::lang::Object +{ + +public: + Toolkit(); +public: // actually protected + virtual ::java::awt::peer::ButtonPeer * createButton(::java::awt::Button *) = 0; + virtual ::java::awt::peer::TextFieldPeer * createTextField(::java::awt::TextField *) = 0; + virtual ::java::awt::peer::LabelPeer * createLabel(::java::awt::Label *) = 0; + virtual ::java::awt::peer::ListPeer * createList(::java::awt::List *) = 0; + virtual ::java::awt::peer::CheckboxPeer * createCheckbox(::java::awt::Checkbox *) = 0; + virtual ::java::awt::peer::ScrollbarPeer * createScrollbar(::java::awt::Scrollbar *) = 0; + virtual ::java::awt::peer::ScrollPanePeer * createScrollPane(::java::awt::ScrollPane *) = 0; + virtual ::java::awt::peer::TextAreaPeer * createTextArea(::java::awt::TextArea *) = 0; + virtual ::java::awt::peer::ChoicePeer * createChoice(::java::awt::Choice *) = 0; + virtual ::java::awt::peer::FramePeer * createFrame(::java::awt::Frame *) = 0; + virtual ::java::awt::peer::CanvasPeer * createCanvas(::java::awt::Canvas *) = 0; + virtual ::java::awt::peer::PanelPeer * createPanel(::java::awt::Panel *) = 0; + virtual ::java::awt::peer::WindowPeer * createWindow(::java::awt::Window *) = 0; + virtual ::java::awt::peer::DialogPeer * createDialog(::java::awt::Dialog *) = 0; + virtual ::java::awt::peer::MenuBarPeer * createMenuBar(::java::awt::MenuBar *) = 0; + virtual ::java::awt::peer::MenuPeer * createMenu(::java::awt::Menu *) = 0; + virtual ::java::awt::peer::PopupMenuPeer * createPopupMenu(::java::awt::PopupMenu *) = 0; + virtual ::java::awt::peer::MenuItemPeer * createMenuItem(::java::awt::MenuItem *) = 0; + virtual ::java::awt::peer::MouseInfoPeer * getMouseInfoPeer(); + virtual ::java::awt::peer::FileDialogPeer * createFileDialog(::java::awt::FileDialog *) = 0; + virtual ::java::awt::peer::CheckboxMenuItemPeer * createCheckboxMenuItem(::java::awt::CheckboxMenuItem *) = 0; + virtual ::java::awt::peer::LightweightPeer * createComponent(::java::awt::Component *); + virtual ::java::awt::peer::FontPeer * getFontPeer(::java::lang::String *, jint) = 0; + virtual void loadSystemColors(JArray< jint > *); +public: + virtual void setDynamicLayout(jboolean); +public: // actually protected + virtual jboolean isDynamicLayoutSet(); +public: + virtual jboolean isDynamicLayoutActive(); + virtual ::java::awt::Dimension * getScreenSize() = 0; + virtual jint getScreenResolution() = 0; + virtual ::java::awt::Insets * getScreenInsets(::java::awt::GraphicsConfiguration *); + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual JArray< ::java::lang::String * > * getFontList() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual void sync() = 0; + static ::java::awt::Toolkit * getDefaultToolkit(); + virtual ::java::awt::Image * getImage(::java::lang::String *) = 0; + virtual ::java::awt::Image * getImage(::java::net::URL *) = 0; + virtual ::java::awt::Image * createImage(::java::lang::String *) = 0; + virtual ::java::awt::Image * createImage(::java::net::URL *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(JArray< jbyte > *); + virtual ::java::awt::Image * createImage(JArray< jbyte > *, jint, jint) = 0; + virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::util::Properties *) = 0; + virtual ::java::awt::PrintJob * getPrintJob(::java::awt::Frame *, ::java::lang::String *, ::java::awt::JobAttributes *, ::java::awt::PageAttributes *); + virtual void beep() = 0; + virtual ::java::awt::datatransfer::Clipboard * getSystemClipboard() = 0; + virtual ::java::awt::datatransfer::Clipboard * getSystemSelection(); + virtual jint getMenuShortcutKeyMask(); + virtual jboolean getLockingKeyState(jint); + virtual void setLockingKeyState(jint, jboolean); +public: // actually protected + static ::java::awt::Container * getNativeContainer(::java::awt::Component *); +public: + virtual ::java::awt::Cursor * createCustomCursor(::java::awt::Image *, ::java::awt::Point *, ::java::lang::String *); + virtual ::java::awt::Dimension * getBestCursorSize(jint, jint); + virtual jint getMaximumCursorColors(); + virtual jboolean isFrameStateSupported(jint); + static ::java::lang::String * getProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::awt::EventQueue * getSystemEventQueue(); +public: // actually protected + virtual ::java::awt::EventQueue * getSystemEventQueueImpl() = 0; +public: + virtual ::java::awt::dnd::peer::DragSourceContextPeer * createDragSourceContextPeer(::java::awt::dnd::DragGestureEvent *) = 0; + virtual ::java::awt::dnd::DragGestureRecognizer * createDragGestureRecognizer(::java::lang::Class *, ::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + virtual ::java::lang::Object * getDesktopProperty(::java::lang::String *); +public: // actually protected + virtual void setDesktopProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * lazilyLoadDesktopProperty(::java::lang::String *); + virtual void initializeDesktopProperties(); +public: + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(::java::lang::String *); + virtual void addAWTEventListener(::java::awt::event::AWTEventListener *, jlong); + virtual void removeAWTEventListener(::java::awt::event::AWTEventListener *); + virtual JArray< ::java::awt::event::AWTEventListener * > * getAWTEventListeners(); + virtual JArray< ::java::awt::event::AWTEventListener * > * getAWTEventListeners(jlong); +public: // actually package-private + virtual void globalDispatchEvent(::java::awt::AWTEvent *); +public: + virtual ::java::util::Map * mapInputMethodHighlight(::java::awt::im::InputMethodHighlight *) = 0; +private: + static void initAccessibility(); + static ::java::lang::String * default_toolkit_name; + static ::java::awt::Toolkit * toolkit; + static ::java::util::Properties * props; +public: // actually protected + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) desktopProperties; + ::java::beans::PropertyChangeSupport * desktopPropsSupport; +public: // actually package-private + JArray< ::java::awt::event::AWTEventListenerProxy * > * awtEventListeners; +private: + ::gnu::java::awt::peer::GLightweightPeer * lightweightPeer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Toolkit__ diff --git a/libjava/java/awt/Transparency.h b/libjava/java/awt/Transparency.h new file mode 100644 index 00000000000..1304a4647fe --- /dev/null +++ b/libjava/java/awt/Transparency.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Transparency__ +#define __java_awt_Transparency__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Transparency; + } + } +} + +class java::awt::Transparency : public ::java::lang::Object +{ + +public: + virtual jint getTransparency() = 0; + static const jint OPAQUE = 1; + static const jint BITMASK = 2; + static const jint TRANSLUCENT = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_Transparency__ diff --git a/libjava/java/awt/Window$AccessibleAWTWindow.h b/libjava/java/awt/Window$AccessibleAWTWindow.h new file mode 100644 index 00000000000..aa4d2ced16f --- /dev/null +++ b/libjava/java/awt/Window$AccessibleAWTWindow.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Window$AccessibleAWTWindow__ +#define __java_awt_Window$AccessibleAWTWindow__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Window; + class Window$AccessibleAWTWindow; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + } + } +} + +class java::awt::Window$AccessibleAWTWindow : public ::java::awt::Container$AccessibleAWTContainer +{ + +public: // actually protected + Window$AccessibleAWTWindow(::java::awt::Window *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 4215068635060671780LL; +public: // actually package-private + ::java::awt::Window * __attribute__((aligned(__alignof__( ::java::awt::Container$AccessibleAWTContainer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Window$AccessibleAWTWindow__ diff --git a/libjava/java/awt/Window$WindowBltBufferStrategy.h b/libjava/java/awt/Window$WindowBltBufferStrategy.h new file mode 100644 index 00000000000..eb29e059788 --- /dev/null +++ b/libjava/java/awt/Window$WindowBltBufferStrategy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Window$WindowBltBufferStrategy__ +#define __java_awt_Window$WindowBltBufferStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Window; + class Window$WindowBltBufferStrategy; + } + } +} + +class java::awt::Window$WindowBltBufferStrategy : public ::java::awt::Component$BltBufferStrategy +{ + +public: // actually package-private + Window$WindowBltBufferStrategy(::java::awt::Window *, jint, jboolean); + ::java::awt::Window * __attribute__((aligned(__alignof__( ::java::awt::Component$BltBufferStrategy)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Window$WindowBltBufferStrategy__ diff --git a/libjava/java/awt/Window$WindowFlipBufferStrategy.h b/libjava/java/awt/Window$WindowFlipBufferStrategy.h new file mode 100644 index 00000000000..0fd395f3ec3 --- /dev/null +++ b/libjava/java/awt/Window$WindowFlipBufferStrategy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Window$WindowFlipBufferStrategy__ +#define __java_awt_Window$WindowFlipBufferStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Window; + class Window$WindowFlipBufferStrategy; + } + } +} + +class java::awt::Window$WindowFlipBufferStrategy : public ::java::awt::Component$FlipBufferStrategy +{ + +public: // actually package-private + Window$WindowFlipBufferStrategy(::java::awt::Window *, jint); + ::java::awt::Window * __attribute__((aligned(__alignof__( ::java::awt::Component$FlipBufferStrategy)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Window$WindowFlipBufferStrategy__ diff --git a/libjava/java/awt/Window.h b/libjava/java/awt/Window.h new file mode 100644 index 00000000000..bf369ed99ad --- /dev/null +++ b/libjava/java/awt/Window.h @@ -0,0 +1,146 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_Window__ +#define __java_awt_Window__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class Component; + class Container; + class Cursor; + class Event; + class Frame; + class GraphicsConfiguration; + class Toolkit; + class Window; + namespace event + { + class WindowEvent; + class WindowFocusListener; + class WindowListener; + class WindowStateListener; + } + namespace image + { + class BufferStrategy; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + } +} + +class java::awt::Window : public ::java::awt::Container +{ + +public: // actually package-private + Window(); + Window(::java::awt::GraphicsConfiguration *); +public: + Window(::java::awt::Frame *); + Window(::java::awt::Window *); + Window(::java::awt::Window *, ::java::awt::GraphicsConfiguration *); +public: // actually package-private + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfigurationImpl(); +public: + virtual void addNotify(); + virtual void pack(); + virtual void show(); + virtual void hide(); + virtual void dispose(); + virtual void toBack(); + virtual void toFront(); + virtual ::java::awt::Toolkit * getToolkit(); + virtual ::java::lang::String * getWarningString(); + virtual ::java::util::Locale * getLocale(); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Window * getOwner(); + virtual JArray< ::java::awt::Window * > * getOwnedWindows(); + virtual void addWindowListener(::java::awt::event::WindowListener *); + virtual void removeWindowListener(::java::awt::event::WindowListener *); + virtual JArray< ::java::awt::event::WindowListener * > * getWindowListeners(); + virtual JArray< ::java::awt::event::WindowFocusListener * > * getWindowFocusListeners(); + virtual JArray< ::java::awt::event::WindowStateListener * > * getWindowStateListeners(); + virtual void addWindowFocusListener(::java::awt::event::WindowFocusListener *); + virtual void addWindowStateListener(::java::awt::event::WindowStateListener *); + virtual void removeWindowFocusListener(::java::awt::event::WindowFocusListener *); + virtual void removeWindowStateListener(::java::awt::event::WindowStateListener *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); +public: // actually package-private + virtual void dispatchEventImpl(::java::awt::AWTEvent *); +public: // actually protected + virtual void processEvent(::java::awt::AWTEvent *); + virtual void processWindowEvent(::java::awt::event::WindowEvent *); +public: + virtual jboolean isActive(); + virtual jboolean isFocused(); + virtual ::java::awt::Component * getFocusOwner(); + virtual ::java::awt::Component * getMostRecentFocusOwner(); +public: // actually package-private + virtual void setFocusOwner(::java::awt::Component *); +public: + virtual jboolean postEvent(::java::awt::Event *); + virtual jboolean isShowing(); + virtual void setLocationRelativeTo(::java::awt::Component *); + virtual void createBufferStrategy(jint); + virtual void createBufferStrategy(jint, ::java::awt::BufferCapabilities *); + virtual ::java::awt::image::BufferStrategy * getBufferStrategy(); + virtual void applyResourceBundle(::java::util::ResourceBundle *); + virtual void applyResourceBundle(::java::lang::String *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration(); +public: // actually protected + virtual void processWindowFocusEvent(::java::awt::event::WindowEvent *); + virtual void processWindowStateEvent(::java::awt::event::WindowEvent *); +public: + virtual jboolean isFocusableWindow(); + virtual jboolean getFocusableWindowState(); + virtual void setFocusableWindowState(jboolean); + virtual jboolean isFocusCycleRoot(); + virtual void setFocusCycleRoot(jboolean); + virtual ::java::awt::Container * getFocusCycleRootAncestor(); + virtual jboolean isAlwaysOnTop(); + virtual void setAlwaysOnTop(jboolean); +public: // actually package-private + virtual ::java::lang::String * generateName(); + virtual jboolean eventTypeEnabled(jint); +private: + static jlong getUniqueLong(); + static const jlong serialVersionUID = 4497834738069338734LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::awt::Container)))) warningString; + jint windowSerializedDataVersion; + jint state; + jboolean focusableWindowState; + jboolean alwaysOnTop; + ::java::util::Vector * ownedWindows; + ::java::awt::event::WindowListener * windowListener; + ::java::awt::event::WindowFocusListener * windowFocusListener; + ::java::awt::event::WindowStateListener * windowStateListener; + ::java::awt::GraphicsConfiguration * graphicsConfiguration; + jboolean shown; +public: // actually package-private + ::java::awt::Component * windowFocusOwner; +private: + static jlong next_window_number; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_Window__ diff --git a/libjava/java/awt/color/CMMException.h b/libjava/java/awt/color/CMMException.h new file mode 100644 index 00000000000..b6ee5337abf --- /dev/null +++ b/libjava/java/awt/color/CMMException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_CMMException__ +#define __java_awt_color_CMMException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class CMMException; + } + } + } +} + +class java::awt::color::CMMException : public ::java::lang::RuntimeException +{ + +public: + CMMException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5775558044142994965LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_CMMException__ diff --git a/libjava/java/awt/color/ColorSpace.h b/libjava/java/awt/color/ColorSpace.h new file mode 100644 index 00000000000..cb8ec13c394 --- /dev/null +++ b/libjava/java/awt/color/ColorSpace.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_ColorSpace__ +#define __java_awt_color_ColorSpace__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + } + } +} + +class java::awt::color::ColorSpace : public ::java::lang::Object +{ + +public: // actually protected + ColorSpace(jint, jint); +public: + static ::java::awt::color::ColorSpace * getInstance(jint); + virtual jboolean isCS_sRGB(); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *) = 0; + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *) = 0; + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *) = 0; + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *) = 0; + virtual jint getType(); + virtual jint getNumComponents(); + virtual ::java::lang::String * getName(jint); + virtual jfloat getMinValue(jint); + virtual jfloat getMaxValue(jint); +private: + static const jlong serialVersionUID = -409452704308689724LL; +public: + static const jint TYPE_XYZ = 0; + static const jint TYPE_Lab = 1; + static const jint TYPE_Luv = 2; + static const jint TYPE_YCbCr = 3; + static const jint TYPE_Yxy = 4; + static const jint TYPE_RGB = 5; + static const jint TYPE_GRAY = 6; + static const jint TYPE_HSV = 7; + static const jint TYPE_HLS = 8; + static const jint TYPE_CMYK = 9; + static const jint TYPE_CMY = 11; + static const jint TYPE_2CLR = 12; + static const jint TYPE_3CLR = 13; + static const jint TYPE_4CLR = 14; + static const jint TYPE_5CLR = 15; + static const jint TYPE_6CLR = 16; + static const jint TYPE_7CLR = 17; + static const jint TYPE_8CLR = 18; + static const jint TYPE_9CLR = 19; + static const jint TYPE_ACLR = 20; + static const jint TYPE_BCLR = 21; + static const jint TYPE_CCLR = 22; + static const jint TYPE_DCLR = 23; + static const jint TYPE_ECLR = 24; + static const jint TYPE_FCLR = 25; + static const jint CS_sRGB = 1000; + static const jint CS_LINEAR_RGB = 1004; + static const jint CS_CIEXYZ = 1001; + static const jint CS_PYCC = 1002; + static const jint CS_GRAY = 1003; +private: + static const jint CS_BASE = 1000; + static const jint CS_END = 1005; + static const jint CS_COUNT = 5; + static JArray< ::java::awt::color::ColorSpace * > * INSTANCES; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jint numComponents; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_ColorSpace__ diff --git a/libjava/java/awt/color/ICC_ColorSpace.h b/libjava/java/awt/color/ICC_ColorSpace.h new file mode 100644 index 00000000000..6dd2117912b --- /dev/null +++ b/libjava/java/awt/color/ICC_ColorSpace.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_ICC_ColorSpace__ +#define __java_awt_color_ICC_ColorSpace__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ColorSpaceConverter; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ICC_ColorSpace; + class ICC_Profile; + } + } + } +} + +class java::awt::color::ICC_ColorSpace : public ::java::awt::color::ColorSpace +{ + +public: + ICC_ColorSpace(::java::awt::color::ICC_Profile *); + virtual ::java::awt::color::ICC_Profile * getProfile(); + virtual JArray< jfloat > * toRGB(JArray< jfloat > *); + virtual JArray< jfloat > * fromRGB(JArray< jfloat > *); + virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *); + virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *); + virtual jboolean isCS_sRGB(); + virtual jfloat getMinValue(jint); + virtual jfloat getMaxValue(jint); +private: + ::gnu::java::awt::color::ColorSpaceConverter * getConverter(::java::awt::color::ICC_Profile *); + void makeArrays(); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 3455889114070431483LL; + ::java::awt::color::ICC_Profile * __attribute__((aligned(__alignof__( ::java::awt::color::ColorSpace)))) thisProfile; + JArray< jfloat > * minVal; + JArray< jfloat > * maxVal; + JArray< jfloat > * diffMinMax; + JArray< jfloat > * invDiffMinMax; + jboolean needScaleInit; + jint type; + jint nComponents; + ::gnu::java::awt::color::ColorSpaceConverter * converter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_ICC_ColorSpace__ diff --git a/libjava/java/awt/color/ICC_Profile.h b/libjava/java/awt/color/ICC_Profile.h new file mode 100644 index 00000000000..d6a406e033f --- /dev/null +++ b/libjava/java/awt/color/ICC_Profile.h @@ -0,0 +1,217 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_ICC_Profile__ +#define __java_awt_color_ICC_Profile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace awt + { + namespace color + { + class ProfileHeader; + } + } + } + } + namespace java + { + namespace awt + { + namespace color + { + class ICC_Profile; + } + } + } +} + +class java::awt::color::ICC_Profile : public ::java::lang::Object +{ + +public: // actually package-private + ICC_Profile(jint); + ICC_Profile(::gnu::java::awt::color::ProfileHeader *, ::java::util::Hashtable *); + ICC_Profile(JArray< jbyte > *); +public: // actually protected + virtual void finalize(); +public: + static ::java::awt::color::ICC_Profile * getInstance(JArray< jbyte > *); + static ::java::awt::color::ICC_Profile * getInstance(jint); + static ::java::awt::color::ICC_Profile * getInstance(::java::lang::String *); + static ::java::awt::color::ICC_Profile * getInstance(::java::io::InputStream *); + virtual jint getMajorVersion(); + virtual jint getMinorVersion(); + virtual jint getProfileClass(); + virtual jint getColorSpaceType(); + virtual jint getPCSType(); + virtual void write(::java::lang::String *); + virtual void write(::java::io::OutputStream *); + virtual JArray< jbyte > * getData(); + virtual JArray< jbyte > * getData(jint); + virtual void setData(jint, JArray< jbyte > *); + virtual jint getNumComponents(); +public: // actually protected + virtual ::java::lang::Object * readResolve(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static ::java::util::Hashtable * createTagTable(JArray< jbyte > *); + jint getSize(); + JArray< jbyte > * getTagTable(); + static jboolean isRGBProfile(::gnu::java::awt::color::ProfileHeader *, ::java::util::Hashtable *); + static jboolean isGrayProfile(::gnu::java::awt::color::ProfileHeader *, ::java::util::Hashtable *); +public: // actually package-private + virtual JArray< jshort > * getCurve(jint); + virtual JArray< jfloat > * getXYZData(jint); + virtual jint isPredefined(); +private: + JArray< jbyte > * makeXYZData(JArray< jfloat > *); + JArray< jbyte > * makeTextTag(::java::lang::String *); + JArray< jbyte > * makeDescTag(::java::lang::String *); + JArray< jbyte > * makeTRC(); + JArray< jbyte > * makeTRC(jfloat); + JArray< jbyte > * makeTRC(JArray< jfloat > *); + JArray< jbyte > * makeIdentityClut(); + void createProfile(jint); + void createRGBProfile(); + void createLinearRGBProfile(); + void createCIEProfile(); + void createGrayProfile(); + void createPyccProfile(); + static const jlong serialVersionUID = -3938515861990936766LL; +public: + static const jint CLASS_INPUT = 0; + static const jint CLASS_DISPLAY = 1; + static const jint CLASS_OUTPUT = 2; + static const jint CLASS_DEVICELINK = 3; + static const jint CLASS_COLORSPACECONVERSION = 4; + static const jint CLASS_ABSTRACT = 5; + static const jint CLASS_NAMEDCOLOR = 6; + static const jint icSigInputClass = 1935896178; + static const jint icSigDisplayClass = 1835955314; + static const jint icSigOutputClass = 1886549106; + static const jint icSigLinkClass = 1818848875; + static const jint icSigColorSpaceClass = 1936744803; + static const jint icSigAbstractClass = 1633842036; + static const jint icSigNamedColorClass = 1852662636; + static const jint icSigXYZData = 1482250784; + static const jint icSigLabData = 1281450528; + static const jint icSigLuvData = 1282766368; + static const jint icSigYCbCrData = 1497588338; + static const jint icSigYxyData = 1501067552; + static const jint icSigRgbData = 1380401696; + static const jint icSigGrayData = 1196573017; + static const jint icSigHsvData = 1213421088; + static const jint icSigHlsData = 1212961568; + static const jint icSigCmykData = 1129142603; + static const jint icSigCmyData = 1129142560; + static const jint icSigSpace2CLR = 843271250; + static const jint icSigSpace3CLR = 860048466; + static const jint icSigSpace4CLR = 876825682; + static const jint icSigSpace5CLR = 893602898; + static const jint icSigSpace6CLR = 910380114; + static const jint icSigSpace7CLR = 927157330; + static const jint icSigSpace8CLR = 943934546; + static const jint icSigSpace9CLR = 960711762; + static const jint icSigSpaceACLR = 1094929490; + static const jint icSigSpaceBCLR = 1111706706; + static const jint icSigSpaceCCLR = 1128483922; + static const jint icSigSpaceDCLR = 1145261138; + static const jint icSigSpaceECLR = 1162038354; + static const jint icSigSpaceFCLR = 1178815570; + static const jint icPerceptual = 0; + static const jint icRelativeColorimetric = 1; + static const jint icSaturation = 2; + static const jint icAbsoluteColorimetric = 3; + static const jint icSigAToB0Tag = 1093812784; + static const jint icSigAToB1Tag = 1093812785; + static const jint icSigAToB2Tag = 1093812786; + static const jint icSigBlueColorantTag = 1649957210; + static const jint icSigBlueTRCTag = 1649693251; + static const jint icSigBToA0Tag = 1110589744; + static const jint icSigBToA1Tag = 1110589745; + static const jint icSigBToA2Tag = 1110589746; + static const jint icSigCalibrationDateTimeTag = 1667329140; + static const jint icSigCharTargetTag = 1952543335; + static const jint icSigCopyrightTag = 1668313716; + static const jint icSigCrdInfoTag = 1668441193; + static const jint icSigDeviceMfgDescTag = 1684893284; + static const jint icSigDeviceModelDescTag = 1684890724; + static const jint icSigDeviceSettingsTag = 1684371059; + static const jint icSigGamutTag = 1734438260; + static const jint icSigGrayTRCTag = 1800688195; + static const jint icSigGreenColorantTag = 1733843290; + static const jint icSigGreenTRCTag = 1733579331; + static const jint icSigLuminanceTag = 1819635049; + static const jint icSigMeasurementTag = 1835360627; + static const jint icSigMediaBlackPointTag = 1651208308; + static const jint icSigMediaWhitePointTag = 2004119668; + static const jint icSigNamedColor2Tag = 1852009522; + static const jint icSigOutputResponseTag = 1919251312; + static const jint icSigPreview0Tag = 1886545200; + static const jint icSigPreview1Tag = 1886545201; + static const jint icSigPreview2Tag = 1886545202; + static const jint icSigProfileDescriptionTag = 1684370275; + static const jint icSigProfileSequenceDescTag = 1886610801; + static const jint icSigPs2CRD0Tag = 1886610480; + static const jint icSigPs2CRD1Tag = 1886610481; + static const jint icSigPs2CRD2Tag = 1886610482; + static const jint icSigPs2CRD3Tag = 1886610483; + static const jint icSigPs2CSATag = 1886597747; + static const jint icSigPs2RenderingIntentTag = 1886597737; + static const jint icSigRedColorantTag = 1918392666; + static const jint icSigRedTRCTag = 1918128707; + static const jint icSigScreeningDescTag = 1935897188; + static const jint icSigScreeningTag = 1935897198; + static const jint icSigTechnologyTag = 1952801640; + static const jint icSigUcrBgTag = 1650877472; + static const jint icSigViewingCondDescTag = 1987405156; + static const jint icSigViewingConditionsTag = 1986618743; + static const jint icSigChromaticityTag = 1667789421; + static const jint icSigHead = 1751474532; + static const jint icHdrSize = 0; + static const jint icHdrCmmId = 4; + static const jint icHdrVersion = 8; + static const jint icHdrDeviceClass = 12; + static const jint icHdrColorSpace = 16; + static const jint icHdrPcs = 20; + static const jint icHdrDate = 24; + static const jint icHdrMagic = 36; + static const jint icHdrPlatform = 40; + static const jint icHdrFlags = 44; + static const jint icHdrManufacturer = 48; + static const jint icHdrModel = 52; + static const jint icHdrAttributes = 56; + static const jint icHdrRenderingIntent = 64; + static const jint icHdrIlluminant = 68; + static const jint icHdrCreator = 80; + static const jint icTagType = 0; + static const jint icTagReserved = 4; + static const jint icCurveCount = 8; + static const jint icCurveData = 12; + static const jint icXYZNumberX = 8; +private: + static const jint tagTableOffset = 128; + static const jint iccProfileSerializedDataVersion = 1; + static ::java::lang::String * copyrightNotice; + static const jint TRC_POINTS = 1024; + static JArray< jfloat > * D50; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) profileID; + ::gnu::java::awt::color::ProfileHeader * header; + ::java::util::Hashtable * tagTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_ICC_Profile__ diff --git a/libjava/java/awt/color/ICC_ProfileGray.h b/libjava/java/awt/color/ICC_ProfileGray.h new file mode 100644 index 00000000000..9ebeef8dea2 --- /dev/null +++ b/libjava/java/awt/color/ICC_ProfileGray.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_ICC_ProfileGray__ +#define __java_awt_color_ICC_ProfileGray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ICC_ProfileGray; + } + } + } +} + +class java::awt::color::ICC_ProfileGray : public ::java::awt::color::ICC_Profile +{ + +public: // actually package-private + ICC_ProfileGray(jint); + ICC_ProfileGray(JArray< jbyte > *); +public: + virtual JArray< jfloat > * getMediaWhitePoint(); + virtual jfloat getGamma(); + virtual JArray< jshort > * getTRC(); +private: + static const jlong serialVersionUID = -1124721290732002649LL; + JArray< jfloat > * __attribute__((aligned(__alignof__( ::java::awt::color::ICC_Profile)))) whitePoint; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_ICC_ProfileGray__ diff --git a/libjava/java/awt/color/ICC_ProfileRGB.h b/libjava/java/awt/color/ICC_ProfileRGB.h new file mode 100644 index 00000000000..7520d8af6c1 --- /dev/null +++ b/libjava/java/awt/color/ICC_ProfileRGB.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_ICC_ProfileRGB__ +#define __java_awt_color_ICC_ProfileRGB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ICC_ProfileRGB; + } + } + } +} + +class java::awt::color::ICC_ProfileRGB : public ::java::awt::color::ICC_Profile +{ + +public: // actually package-private + ICC_ProfileRGB(jint); + ICC_ProfileRGB(JArray< jbyte > *); +public: + virtual JArray< jfloat > * getMediaWhitePoint(); + virtual JArray< JArray< jfloat > * > * getMatrix(); + virtual jfloat getGamma(jint); + virtual JArray< jshort > * getTRC(jint); +private: + JArray< JArray< jfloat > * > * createMatrix(); + static const jlong serialVersionUID = 8505067385152579334LL; +public: + static const jint REDCOMPONENT = 0; + static const jint GREENCOMPONENT = 1; + static const jint BLUECOMPONENT = 2; +private: + JArray< JArray< jfloat > * > * __attribute__((aligned(__alignof__( ::java::awt::color::ICC_Profile)))) matrix; + JArray< jfloat > * gamma; + JArray< jfloat > * whitePoint; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_ICC_ProfileRGB__ diff --git a/libjava/java/awt/color/ProfileDataException.h b/libjava/java/awt/color/ProfileDataException.h new file mode 100644 index 00000000000..593bf1326ca --- /dev/null +++ b/libjava/java/awt/color/ProfileDataException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_color_ProfileDataException__ +#define __java_awt_color_ProfileDataException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ProfileDataException; + } + } + } +} + +class java::awt::color::ProfileDataException : public ::java::lang::RuntimeException +{ + +public: + ProfileDataException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7286140888240322498LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_color_ProfileDataException__ diff --git a/libjava/java/awt/datatransfer/Clipboard.h b/libjava/java/awt/datatransfer/Clipboard.h new file mode 100644 index 00000000000..5ae0769e181 --- /dev/null +++ b/libjava/java/awt/datatransfer/Clipboard.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_Clipboard__ +#define __java_awt_datatransfer_Clipboard__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + class ClipboardOwner; + class DataFlavor; + class FlavorListener; + class Transferable; + } + } + } +} + +class java::awt::datatransfer::Clipboard : public ::java::lang::Object +{ + +public: + Clipboard(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::java::awt::datatransfer::Transferable * getContents(::java::lang::Object *); + virtual void setContents(::java::awt::datatransfer::Transferable *, ::java::awt::datatransfer::ClipboardOwner *); + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getAvailableDataFlavors(); + virtual jboolean isDataFlavorAvailable(::java::awt::datatransfer::DataFlavor *); + virtual ::java::lang::Object * getData(::java::awt::datatransfer::DataFlavor *); + virtual void addFlavorListener(::java::awt::datatransfer::FlavorListener *); + virtual void removeFlavorListener(::java::awt::datatransfer::FlavorListener *); + virtual JArray< ::java::awt::datatransfer::FlavorListener * > * getFlavorListeners(); +public: // actually protected + ::java::awt::datatransfer::Transferable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) contents; + ::java::awt::datatransfer::ClipboardOwner * owner; +private: + ::java::lang::String * name; + ::java::util::ArrayList * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_Clipboard__ diff --git a/libjava/java/awt/datatransfer/ClipboardOwner.h b/libjava/java/awt/datatransfer/ClipboardOwner.h new file mode 100644 index 00000000000..d20a514b322 --- /dev/null +++ b/libjava/java/awt/datatransfer/ClipboardOwner.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_ClipboardOwner__ +#define __java_awt_datatransfer_ClipboardOwner__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + class ClipboardOwner; + class Transferable; + } + } + } +} + +class java::awt::datatransfer::ClipboardOwner : public ::java::lang::Object +{ + +public: + virtual void lostOwnership(::java::awt::datatransfer::Clipboard *, ::java::awt::datatransfer::Transferable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_datatransfer_ClipboardOwner__ diff --git a/libjava/java/awt/datatransfer/DataFlavor.h b/libjava/java/awt/datatransfer/DataFlavor.h new file mode 100644 index 00000000000..3a94cabef65 --- /dev/null +++ b/libjava/java/awt/datatransfer/DataFlavor.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_DataFlavor__ +#define __java_awt_datatransfer_DataFlavor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class MimeType; + class Transferable; + } + } + } +} + +class java::awt::datatransfer::DataFlavor : public ::java::lang::Object +{ + +public: // actually protected + static ::java::lang::Class * tryToLoadClass(::java::lang::String *, ::java::lang::ClassLoader *); +public: + static ::java::awt::datatransfer::DataFlavor * getTextPlainUnicodeFlavor(); + static ::java::awt::datatransfer::DataFlavor * selectBestTextFlavor(JArray< ::java::awt::datatransfer::DataFlavor * > *); + DataFlavor(); + DataFlavor(::java::lang::Class *, ::java::lang::String *); + DataFlavor(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); + DataFlavor(::java::lang::String *, ::java::lang::String *); + DataFlavor(::java::lang::String *); +private: + void init(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); +public: + virtual ::java::lang::String * getMimeType(); + virtual ::java::lang::Class * getRepresentationClass(); + virtual ::java::lang::String * getHumanPresentableName(); + virtual ::java::lang::String * getPrimaryType(); + virtual ::java::lang::String * getSubType(); + virtual ::java::lang::String * getParameter(::java::lang::String *); + virtual void setHumanPresentableName(::java::lang::String *); + virtual jboolean isMimeTypeEqual(::java::lang::String *); + virtual jboolean isMimeTypeEqual(::java::awt::datatransfer::DataFlavor *); + virtual jboolean isMimeTypeSerializedObject(); + virtual jboolean isRepresentationClassInputStream(); + virtual jboolean isRepresentationClassSerializable(); + virtual jboolean isRepresentationClassRemote(); + virtual jboolean isFlavorSerializedObjectType(); + virtual jboolean isFlavorRemoteObjectType(); + virtual jboolean isFlavorJavaFileListType(); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::awt::datatransfer::DataFlavor *); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean equals(::java::lang::String *); + virtual jint hashCode(); + virtual jboolean match(::java::awt::datatransfer::DataFlavor *); +public: // actually protected + virtual ::java::lang::String * normalizeMimeTypeParameter(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * normalizeMimeType(::java::lang::String *); +public: + virtual void writeExternal(::java::io::ObjectOutput *); + virtual void readExternal(::java::io::ObjectInput *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::Class * getDefaultRepresentationClass(); + virtual ::java::lang::String * getDefaultRepresentationClassAsString(); + virtual ::java::io::Reader * getReaderForText(::java::awt::datatransfer::Transferable *); + virtual jboolean isRepresentationClassByteBuffer(); + virtual jboolean isRepresentationClassCharBuffer(); + virtual jboolean isRepresentationClassReader(); + virtual jboolean isFlavorTextType(); +public: // actually package-private + static const jlong serialVersionUID = 8367026044764648243LL; +public: + static ::java::awt::datatransfer::DataFlavor * plainTextFlavor; + static ::java::awt::datatransfer::DataFlavor * stringFlavor; + static ::java::awt::datatransfer::DataFlavor * javaFileListFlavor; + static ::java::awt::datatransfer::DataFlavor * imageFlavor; + static ::java::lang::String * javaSerializedObjectMimeType; + static ::java::lang::String * javaJVMLocalObjectMimeType; + static ::java::lang::String * javaRemoteObjectMimeType; +private: + ::java::awt::datatransfer::MimeType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mimeType; + ::java::lang::Class * representationClass; + ::java::lang::String * humanPresentableName; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_DataFlavor__ diff --git a/libjava/java/awt/datatransfer/FlavorEvent.h b/libjava/java/awt/datatransfer/FlavorEvent.h new file mode 100644 index 00000000000..00cfae1c058 --- /dev/null +++ b/libjava/java/awt/datatransfer/FlavorEvent.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_FlavorEvent__ +#define __java_awt_datatransfer_FlavorEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + class FlavorEvent; + } + } + } +} + +class java::awt::datatransfer::FlavorEvent : public ::java::util::EventObject +{ + +public: + FlavorEvent(::java::awt::datatransfer::Clipboard *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_FlavorEvent__ diff --git a/libjava/java/awt/datatransfer/FlavorListener.h b/libjava/java/awt/datatransfer/FlavorListener.h new file mode 100644 index 00000000000..0e23dbb78e7 --- /dev/null +++ b/libjava/java/awt/datatransfer/FlavorListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_FlavorListener__ +#define __java_awt_datatransfer_FlavorListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class FlavorEvent; + class FlavorListener; + } + } + } +} + +class java::awt::datatransfer::FlavorListener : public ::java::lang::Object +{ + +public: + virtual void flavorsChanged(::java::awt::datatransfer::FlavorEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_datatransfer_FlavorListener__ diff --git a/libjava/java/awt/datatransfer/FlavorMap.h b/libjava/java/awt/datatransfer/FlavorMap.h new file mode 100644 index 00000000000..688576910ae --- /dev/null +++ b/libjava/java/awt/datatransfer/FlavorMap.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_FlavorMap__ +#define __java_awt_datatransfer_FlavorMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class FlavorMap; + } + } + } +} + +class java::awt::datatransfer::FlavorMap : public ::java::lang::Object +{ + +public: + virtual ::java::util::Map * getNativesForFlavors(JArray< ::java::awt::datatransfer::DataFlavor * > *) = 0; + virtual ::java::util::Map * getFlavorsForNatives(JArray< ::java::lang::String * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_datatransfer_FlavorMap__ diff --git a/libjava/java/awt/datatransfer/FlavorTable.h b/libjava/java/awt/datatransfer/FlavorTable.h new file mode 100644 index 00000000000..cec9406264a --- /dev/null +++ b/libjava/java/awt/datatransfer/FlavorTable.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_FlavorTable__ +#define __java_awt_datatransfer_FlavorTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class FlavorTable; + } + } + } +} + +class java::awt::datatransfer::FlavorTable : public ::java::lang::Object +{ + +public: + virtual ::java::util::List * getNativesForFlavor(::java::awt::datatransfer::DataFlavor *) = 0; + virtual ::java::util::List * getFlavorsForNative(::java::lang::String *) = 0; + virtual ::java::util::Map * getNativesForFlavors(JArray< ::java::awt::datatransfer::DataFlavor * > *) = 0; + virtual ::java::util::Map * getFlavorsForNatives(JArray< ::java::lang::String * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_datatransfer_FlavorTable__ diff --git a/libjava/java/awt/datatransfer/MimeType.h b/libjava/java/awt/datatransfer/MimeType.h new file mode 100644 index 00000000000..9ccd153f768 --- /dev/null +++ b/libjava/java/awt/datatransfer/MimeType.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_MimeType__ +#define __java_awt_datatransfer_MimeType__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class MimeType; + } + } + } +} + +class java::awt::datatransfer::MimeType : public ::java::lang::Object +{ + +public: + MimeType(); +public: // actually package-private + MimeType(::java::lang::String *); + virtual void addParameter(::java::lang::String *, ::java::lang::String *); + virtual void removeParameter(::java::lang::String *); + virtual ::java::lang::String * getParameter(::java::lang::String *); + virtual ::java::lang::String * getPrimaryType(); + virtual ::java::lang::String * getSubType(); + virtual ::java::lang::String * getBaseType(); + virtual jboolean matches(::java::awt::datatransfer::MimeType *); +public: + virtual void readExternal(::java::io::ObjectInput *); + virtual void writeExternal(::java::io::ObjectOutput *); + virtual ::java::lang::String * toString(); +private: + void parse(::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) primaryType; + ::java::lang::String * subType; + ::java::util::HashMap * parameters; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_MimeType__ diff --git a/libjava/java/awt/datatransfer/MimeTypeParseException.h b/libjava/java/awt/datatransfer/MimeTypeParseException.h new file mode 100644 index 00000000000..5ac3ff2d3cc --- /dev/null +++ b/libjava/java/awt/datatransfer/MimeTypeParseException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_MimeTypeParseException__ +#define __java_awt_datatransfer_MimeTypeParseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class MimeTypeParseException; + } + } + } +} + +class java::awt::datatransfer::MimeTypeParseException : public ::java::lang::Exception +{ + +public: + MimeTypeParseException(); + MimeTypeParseException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5604407764691570741LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_MimeTypeParseException__ diff --git a/libjava/java/awt/datatransfer/StringSelection.h b/libjava/java/awt/datatransfer/StringSelection.h new file mode 100644 index 00000000000..09429bba1f3 --- /dev/null +++ b/libjava/java/awt/datatransfer/StringSelection.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_StringSelection__ +#define __java_awt_datatransfer_StringSelection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + class DataFlavor; + class StringSelection; + class Transferable; + } + } + } +} + +class java::awt::datatransfer::StringSelection : public ::java::lang::Object +{ + +public: + StringSelection(::java::lang::String *); + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors(); + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); + virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *); + virtual void lostOwnership(::java::awt::datatransfer::Clipboard *, ::java::awt::datatransfer::Transferable *); +public: // actually package-private + static JArray< ::java::awt::datatransfer::DataFlavor * > * supported_flavors; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_StringSelection__ diff --git a/libjava/java/awt/datatransfer/SystemFlavorMap.h b/libjava/java/awt/datatransfer/SystemFlavorMap.h new file mode 100644 index 00000000000..62009addb3b --- /dev/null +++ b/libjava/java/awt/datatransfer/SystemFlavorMap.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_SystemFlavorMap__ +#define __java_awt_datatransfer_SystemFlavorMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class FlavorMap; + class SystemFlavorMap; + } + } + } +} + +class java::awt::datatransfer::SystemFlavorMap : public ::java::lang::Object +{ + + SystemFlavorMap(); +public: + ::java::util::Map * getNativesForFlavors(JArray< ::java::awt::datatransfer::DataFlavor * > *); + ::java::util::Map * getFlavorsForNatives(JArray< ::java::lang::String * > *); + static ::java::awt::datatransfer::FlavorMap * getDefaultFlavorMap(); + static ::java::lang::String * encodeJavaMIMEType(::java::lang::String *); + static ::java::lang::String * encodeDataFlavor(::java::awt::datatransfer::DataFlavor *); + static jboolean isJavaMIMEType(::java::lang::String *); + static ::java::lang::String * decodeJavaMIMEType(::java::lang::String *); + static ::java::awt::datatransfer::DataFlavor * decodeDataFlavor(::java::lang::String *); + ::java::util::List * getFlavorsForNative(::java::lang::String *); + ::java::util::List * getNativesForFlavor(::java::awt::datatransfer::DataFlavor *); + void addFlavorForUnencodedNative(::java::lang::String *, ::java::awt::datatransfer::DataFlavor *); + void addUnencodedNativeForFlavor(::java::awt::datatransfer::DataFlavor *, ::java::lang::String *); + void setNativesForFlavor(::java::awt::datatransfer::DataFlavor *, JArray< ::java::lang::String * > *); + void setFlavorsForNative(::java::lang::String *, JArray< ::java::awt::datatransfer::DataFlavor * > *); +private: + static ::java::util::Map * systemFlavorMaps; + static ::java::lang::String * GNU_JAVA_MIME_PREFIX; + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeToFlavorMap; + ::java::util::HashMap * flavorToNativeMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_SystemFlavorMap__ diff --git a/libjava/java/awt/datatransfer/Transferable.h b/libjava/java/awt/datatransfer/Transferable.h new file mode 100644 index 00000000000..0930f87d040 --- /dev/null +++ b/libjava/java/awt/datatransfer/Transferable.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_Transferable__ +#define __java_awt_datatransfer_Transferable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + } + } +} + +class java::awt::datatransfer::Transferable : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors() = 0; + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *) = 0; + virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_datatransfer_Transferable__ diff --git a/libjava/java/awt/datatransfer/UnsupportedFlavorException.h b/libjava/java/awt/datatransfer/UnsupportedFlavorException.h new file mode 100644 index 00000000000..fffc2ace08a --- /dev/null +++ b/libjava/java/awt/datatransfer/UnsupportedFlavorException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_datatransfer_UnsupportedFlavorException__ +#define __java_awt_datatransfer_UnsupportedFlavorException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class UnsupportedFlavorException; + } + } + } +} + +class java::awt::datatransfer::UnsupportedFlavorException : public ::java::lang::Exception +{ + +public: + UnsupportedFlavorException(::java::awt::datatransfer::DataFlavor *); +private: + static const jlong serialVersionUID = 5383814944251665601LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_datatransfer_UnsupportedFlavorException__ diff --git a/libjava/java/awt/dnd/Autoscroll.h b/libjava/java/awt/dnd/Autoscroll.h new file mode 100644 index 00000000000..4ab4c6a5cb0 --- /dev/null +++ b/libjava/java/awt/dnd/Autoscroll.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_Autoscroll__ +#define __java_awt_dnd_Autoscroll__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Insets; + class Point; + namespace dnd + { + class Autoscroll; + } + } + } +} + +class java::awt::dnd::Autoscroll : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Insets * getAutoscrollInsets() = 0; + virtual void autoscroll(::java::awt::Point *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_Autoscroll__ diff --git a/libjava/java/awt/dnd/DnDConstants.h b/libjava/java/awt/dnd/DnDConstants.h new file mode 100644 index 00000000000..a3cfb089ffd --- /dev/null +++ b/libjava/java/awt/dnd/DnDConstants.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DnDConstants__ +#define __java_awt_dnd_DnDConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DnDConstants; + } + } + } +} + +class java::awt::dnd::DnDConstants : public ::java::lang::Object +{ + + DnDConstants(); +public: + static const jint ACTION_NONE = 0; + static const jint ACTION_COPY = 1; + static const jint ACTION_MOVE = 2; + static const jint ACTION_COPY_OR_MOVE = 3; + static const jint ACTION_LINK = 1073741824; + static const jint ACTION_REFERENCE = 1073741824; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DnDConstants__ diff --git a/libjava/java/awt/dnd/DnDEventMulticaster.h b/libjava/java/awt/dnd/DnDEventMulticaster.h new file mode 100644 index 00000000000..c70450f2565 --- /dev/null +++ b/libjava/java/awt/dnd/DnDEventMulticaster.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DnDEventMulticaster__ +#define __java_awt_dnd_DnDEventMulticaster__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DnDEventMulticaster; + class DragSourceListener; + class DragSourceMotionListener; + } + } + } +} + +class java::awt::dnd::DnDEventMulticaster : public ::java::awt::AWTEventMulticaster +{ + +public: // actually protected + DnDEventMulticaster(::java::util::EventListener *, ::java::util::EventListener *); +public: + static ::java::awt::dnd::DragSourceListener * add(::java::awt::dnd::DragSourceListener *, ::java::awt::dnd::DragSourceListener *); + static ::java::awt::dnd::DragSourceMotionListener * add(::java::awt::dnd::DragSourceMotionListener *, ::java::awt::dnd::DragSourceMotionListener *); + static ::java::awt::dnd::DragSourceListener * remove(::java::awt::dnd::DragSourceListener *, ::java::awt::dnd::DragSourceListener *); + static ::java::awt::dnd::DragSourceMotionListener * remove(::java::awt::dnd::DragSourceMotionListener *, ::java::awt::dnd::DragSourceMotionListener *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DnDEventMulticaster__ diff --git a/libjava/java/awt/dnd/DragGestureEvent.h b/libjava/java/awt/dnd/DragGestureEvent.h new file mode 100644 index 00000000000..7d34bc632dd --- /dev/null +++ b/libjava/java/awt/dnd/DragGestureEvent.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragGestureEvent__ +#define __java_awt_dnd_DragGestureEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Cursor; + class Image; + class Point; + namespace datatransfer + { + class Transferable; + } + namespace dnd + { + class DragGestureEvent; + class DragGestureRecognizer; + class DragSource; + class DragSourceListener; + } + namespace event + { + class InputEvent; + } + } + } +} + +class java::awt::dnd::DragGestureEvent : public ::java::util::EventObject +{ + +public: + DragGestureEvent(::java::awt::dnd::DragGestureRecognizer *, jint, ::java::awt::Point *, ::java::util::List *); + virtual ::java::awt::dnd::DragGestureRecognizer * getSourceAsDragGestureRecognizer(); + virtual ::java::awt::Component * getComponent(); + virtual ::java::awt::dnd::DragSource * getDragSource(); + virtual ::java::awt::Point * getDragOrigin(); + virtual ::java::util::Iterator * iterator(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual jint getDragAction(); + virtual ::java::awt::event::InputEvent * getTriggerEvent(); + virtual void startDrag(::java::awt::Cursor *, ::java::awt::datatransfer::Transferable *); + virtual void startDrag(::java::awt::Cursor *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *); + virtual void startDrag(::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *); +private: + static const jlong serialVersionUID = 9080172649166731306LL; + ::java::awt::dnd::DragSource * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) dragSource; + ::java::awt::Component * component; + ::java::awt::Point * origin; + jint action; + ::java::util::List * events; + ::java::awt::dnd::DragGestureRecognizer * dgr; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragGestureEvent__ diff --git a/libjava/java/awt/dnd/DragGestureListener.h b/libjava/java/awt/dnd/DragGestureListener.h new file mode 100644 index 00000000000..044956739c8 --- /dev/null +++ b/libjava/java/awt/dnd/DragGestureListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragGestureListener__ +#define __java_awt_dnd_DragGestureListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragGestureEvent; + class DragGestureListener; + } + } + } +} + +class java::awt::dnd::DragGestureListener : public ::java::lang::Object +{ + +public: + virtual void dragGestureRecognized(::java::awt::dnd::DragGestureEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_DragGestureListener__ diff --git a/libjava/java/awt/dnd/DragGestureRecognizer.h b/libjava/java/awt/dnd/DragGestureRecognizer.h new file mode 100644 index 00000000000..22e856d609d --- /dev/null +++ b/libjava/java/awt/dnd/DragGestureRecognizer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragGestureRecognizer__ +#define __java_awt_dnd_DragGestureRecognizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + namespace dnd + { + class DragGestureListener; + class DragGestureRecognizer; + class DragSource; + } + namespace event + { + class InputEvent; + } + } + } +} + +class java::awt::dnd::DragGestureRecognizer : public ::java::lang::Object +{ + +public: // actually protected + DragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + DragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint); + DragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *); + DragGestureRecognizer(::java::awt::dnd::DragSource *); + virtual void registerListeners() = 0; + virtual void unregisterListeners() = 0; +public: + virtual ::java::awt::dnd::DragSource * getDragSource(); + virtual ::java::awt::Component * getComponent(); + virtual void setComponent(::java::awt::Component *); + virtual jint getSourceActions(); + virtual void setSourceActions(jint); + virtual ::java::awt::event::InputEvent * getTriggerEvent(); + virtual void resetRecognizer(); + virtual void addDragGestureListener(::java::awt::dnd::DragGestureListener *); + virtual void removeDragGestureListener(::java::awt::dnd::DragGestureListener *); +public: // actually protected + virtual void fireDragGestureRecognized(jint, ::java::awt::Point *); + virtual void appendEvent(::java::awt::event::InputEvent *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 8996673345831063337LL; +public: // actually protected + ::java::awt::dnd::DragSource * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dragSource; + ::java::awt::Component * component; + ::java::awt::dnd::DragGestureListener * dragGestureListener; + jint sourceActions; + ::java::util::ArrayList * events; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragGestureRecognizer__ diff --git a/libjava/java/awt/dnd/DragSource.h b/libjava/java/awt/dnd/DragSource.h new file mode 100644 index 00000000000..8f4246e1e61 --- /dev/null +++ b/libjava/java/awt/dnd/DragSource.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSource__ +#define __java_awt_dnd_DragSource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Cursor; + class Image; + class Point; + namespace datatransfer + { + class FlavorMap; + class Transferable; + } + namespace dnd + { + class DragGestureEvent; + class DragGestureListener; + class DragGestureRecognizer; + class DragSource; + class DragSourceContext; + class DragSourceListener; + class DragSourceMotionListener; + namespace peer + { + class DragSourceContextPeer; + } + } + } + } +} + +class java::awt::dnd::DragSource : public ::java::lang::Object +{ + +public: + DragSource(); + static ::java::awt::dnd::DragSource * getDefaultDragSource(); + static jboolean isDragImageSupported(); + virtual void startDrag(::java::awt::dnd::DragGestureEvent *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *, ::java::awt::datatransfer::FlavorMap *); + virtual void startDrag(::java::awt::dnd::DragGestureEvent *, ::java::awt::Cursor *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *, ::java::awt::datatransfer::FlavorMap *); + virtual void startDrag(::java::awt::dnd::DragGestureEvent *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *); + virtual void startDrag(::java::awt::dnd::DragGestureEvent *, ::java::awt::Cursor *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *); +public: // actually protected + virtual ::java::awt::dnd::DragSourceContext * createDragSourceContext(::java::awt::dnd::peer::DragSourceContextPeer *, ::java::awt::dnd::DragGestureEvent *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *); +public: + virtual ::java::awt::datatransfer::FlavorMap * getFlavorMap(); + virtual ::java::awt::dnd::DragGestureRecognizer * createDragGestureRecognizer(::java::lang::Class *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + virtual ::java::awt::dnd::DragGestureRecognizer * createDefaultDragGestureRecognizer(::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + virtual void addDragSourceListener(::java::awt::dnd::DragSourceListener *); + virtual void removeDragSourceListener(::java::awt::dnd::DragSourceListener *); + virtual JArray< ::java::awt::dnd::DragSourceListener * > * getDragSourceListeners(); + virtual void addDragSourceMotionListener(::java::awt::dnd::DragSourceMotionListener *); + virtual void removeDragSourceMotionListener(::java::awt::dnd::DragSourceMotionListener *); + virtual JArray< ::java::awt::dnd::DragSourceMotionListener * > * getDragSourceMotionListeners(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + static jint getDragThreshold(); +private: + static const jlong serialVersionUID = 6236096958971414066LL; +public: + static ::java::awt::Cursor * DefaultCopyDrop; + static ::java::awt::Cursor * DefaultMoveDrop; + static ::java::awt::Cursor * DefaultLinkDrop; + static ::java::awt::Cursor * DefaultCopyNoDrop; + static ::java::awt::Cursor * DefaultMoveNoDrop; + static ::java::awt::Cursor * DefaultLinkNoDrop; +private: + ::java::awt::datatransfer::FlavorMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) flavorMap; + ::java::awt::dnd::DragSourceListener * dragSourceListener; + ::java::awt::dnd::DragSourceMotionListener * dragSourceMotionListener; + static ::java::awt::dnd::DragSource * ds; + ::java::awt::dnd::peer::DragSourceContextPeer * peer; + ::java::awt::dnd::DragSourceContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragSource__ diff --git a/libjava/java/awt/dnd/DragSourceAdapter.h b/libjava/java/awt/dnd/DragSourceAdapter.h new file mode 100644 index 00000000000..c3a4177e6ae --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceAdapter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceAdapter__ +#define __java_awt_dnd_DragSourceAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragSourceAdapter; + class DragSourceDragEvent; + class DragSourceDropEvent; + class DragSourceEvent; + } + } + } +} + +class java::awt::dnd::DragSourceAdapter : public ::java::lang::Object +{ + +public: + DragSourceAdapter(); + virtual void dragEnter(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragOver(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragMouseMoved(::java::awt::dnd::DragSourceDragEvent *); + virtual void dropActionChanged(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragExit(::java::awt::dnd::DragSourceEvent *); + virtual void dragDropEnd(::java::awt::dnd::DragSourceDropEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragSourceAdapter__ diff --git a/libjava/java/awt/dnd/DragSourceContext.h b/libjava/java/awt/dnd/DragSourceContext.h new file mode 100644 index 00000000000..1e4646729e4 --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceContext.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceContext__ +#define __java_awt_dnd_DragSourceContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Cursor; + class Image; + class Point; + namespace datatransfer + { + class Transferable; + } + namespace dnd + { + class DragGestureEvent; + class DragSource; + class DragSourceContext; + class DragSourceDragEvent; + class DragSourceDropEvent; + class DragSourceEvent; + class DragSourceListener; + namespace peer + { + class DragSourceContextPeer; + } + } + } + } +} + +class java::awt::dnd::DragSourceContext : public ::java::lang::Object +{ + +public: + DragSourceContext(::java::awt::dnd::peer::DragSourceContextPeer *, ::java::awt::dnd::DragGestureEvent *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *, ::java::awt::datatransfer::Transferable *, ::java::awt::dnd::DragSourceListener *); + virtual ::java::awt::dnd::DragSource * getDragSource(); + virtual ::java::awt::Component * getComponent(); + virtual ::java::awt::dnd::DragGestureEvent * getTrigger(); + virtual jint getSourceActions(); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Cursor * getCursor(); + virtual void addDragSourceListener(::java::awt::dnd::DragSourceListener *); + virtual void removeDragSourceListener(::java::awt::dnd::DragSourceListener *); + virtual void transferablesFlavorsChanged(); + virtual void dragEnter(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragOver(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragExit(::java::awt::dnd::DragSourceEvent *); + virtual void dropActionChanged(::java::awt::dnd::DragSourceDragEvent *); + virtual void dragDropEnd(::java::awt::dnd::DragSourceDropEvent *); + virtual void dragMouseMoved(::java::awt::dnd::DragSourceDragEvent *); + virtual ::java::awt::datatransfer::Transferable * getTransferable(); +public: // actually protected + virtual void updateCurrentCursor(jint, jint, jint); +public: // actually package-private + static const jlong serialVersionUID = -115407898692194719LL; +public: // actually protected + static const jint DEFAULT = 0; + static const jint ENTER = 1; + static const jint OVER = 2; + static const jint CHANGED = 3; +private: + ::java::awt::dnd::peer::DragSourceContextPeer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) peer; + ::java::awt::Cursor * cursor; + ::java::awt::datatransfer::Transferable * transferable; + ::java::awt::dnd::DragGestureEvent * trigger; + ::java::awt::dnd::DragSourceListener * dragSourceListener; + jboolean useCustomCursor; + jint sourceActions; + ::java::awt::Image * image; + ::java::awt::Point * offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragSourceContext__ diff --git a/libjava/java/awt/dnd/DragSourceDragEvent.h b/libjava/java/awt/dnd/DragSourceDragEvent.h new file mode 100644 index 00000000000..ec0c80eecbc --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceDragEvent.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceDragEvent__ +#define __java_awt_dnd_DragSourceDragEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragSourceContext; + class DragSourceDragEvent; + } + } + } +} + +class java::awt::dnd::DragSourceDragEvent : public ::java::awt::dnd::DragSourceEvent +{ + +public: + DragSourceDragEvent(::java::awt::dnd::DragSourceContext *, jint, jint, jint); + DragSourceDragEvent(::java::awt::dnd::DragSourceContext *, jint, jint, jint, jint, jint); + virtual jint getTargetActions(); + virtual jint getGestureModifiers(); + virtual jint getGestureModifiersEx(); + virtual jint getUserAction(); + virtual jint getDropAction(); +private: + static const jlong serialVersionUID = 481346297933902471LL; + jint __attribute__((aligned(__alignof__( ::java::awt::dnd::DragSourceEvent)))) dropAction; + jint targetActions; + jint gestureModifiers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragSourceDragEvent__ diff --git a/libjava/java/awt/dnd/DragSourceDropEvent.h b/libjava/java/awt/dnd/DragSourceDropEvent.h new file mode 100644 index 00000000000..bc3341f02e6 --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceDropEvent.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceDropEvent__ +#define __java_awt_dnd_DragSourceDropEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragSourceContext; + class DragSourceDropEvent; + } + } + } +} + +class java::awt::dnd::DragSourceDropEvent : public ::java::awt::dnd::DragSourceEvent +{ + +public: + DragSourceDropEvent(::java::awt::dnd::DragSourceContext *); + DragSourceDropEvent(::java::awt::dnd::DragSourceContext *, jint, jboolean); + DragSourceDropEvent(::java::awt::dnd::DragSourceContext *, jint, jboolean, jint, jint); + virtual jint getDropAction(); + virtual jboolean getDropSuccess(); +private: + static const jlong serialVersionUID = -5571321229470821891LL; + jint __attribute__((aligned(__alignof__( ::java::awt::dnd::DragSourceEvent)))) dropAction; + jboolean dropSuccess; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragSourceDropEvent__ diff --git a/libjava/java/awt/dnd/DragSourceEvent.h b/libjava/java/awt/dnd/DragSourceEvent.h new file mode 100644 index 00000000000..0d008a19ccf --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceEvent.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceEvent__ +#define __java_awt_dnd_DragSourceEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace dnd + { + class DragSourceContext; + class DragSourceEvent; + } + } + } +} + +class java::awt::dnd::DragSourceEvent : public ::java::util::EventObject +{ + +public: + DragSourceEvent(::java::awt::dnd::DragSourceContext *); + DragSourceEvent(::java::awt::dnd::DragSourceContext *, jint, jint); + virtual ::java::awt::dnd::DragSourceContext * getDragSourceContext(); + virtual ::java::awt::Point * getLocation(); + virtual jint getX(); + virtual jint getY(); +private: + static const jlong serialVersionUID = -763287114604032641LL; + jboolean __attribute__((aligned(__alignof__( ::java::util::EventObject)))) locationSpecified; + jint x; + jint y; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DragSourceEvent__ diff --git a/libjava/java/awt/dnd/DragSourceListener.h b/libjava/java/awt/dnd/DragSourceListener.h new file mode 100644 index 00000000000..fc845501a2e --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceListener__ +#define __java_awt_dnd_DragSourceListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragSourceDragEvent; + class DragSourceDropEvent; + class DragSourceEvent; + class DragSourceListener; + } + } + } +} + +class java::awt::dnd::DragSourceListener : public ::java::lang::Object +{ + +public: + virtual void dragEnter(::java::awt::dnd::DragSourceDragEvent *) = 0; + virtual void dragOver(::java::awt::dnd::DragSourceDragEvent *) = 0; + virtual void dropActionChanged(::java::awt::dnd::DragSourceDragEvent *) = 0; + virtual void dragExit(::java::awt::dnd::DragSourceEvent *) = 0; + virtual void dragDropEnd(::java::awt::dnd::DragSourceDropEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_DragSourceListener__ diff --git a/libjava/java/awt/dnd/DragSourceMotionListener.h b/libjava/java/awt/dnd/DragSourceMotionListener.h new file mode 100644 index 00000000000..0db0603b266 --- /dev/null +++ b/libjava/java/awt/dnd/DragSourceMotionListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DragSourceMotionListener__ +#define __java_awt_dnd_DragSourceMotionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DragSourceDragEvent; + class DragSourceMotionListener; + } + } + } +} + +class java::awt::dnd::DragSourceMotionListener : public ::java::lang::Object +{ + +public: + virtual void dragMouseMoved(::java::awt::dnd::DragSourceDragEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_DragSourceMotionListener__ diff --git a/libjava/java/awt/dnd/DropTarget$DropTargetAutoScroller.h b/libjava/java/awt/dnd/DropTarget$DropTargetAutoScroller.h new file mode 100644 index 00000000000..cb72a909ff9 --- /dev/null +++ b/libjava/java/awt/dnd/DropTarget$DropTargetAutoScroller.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTarget$DropTargetAutoScroller__ +#define __java_awt_dnd_DropTarget$DropTargetAutoScroller__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + class Rectangle; + namespace dnd + { + class DropTarget$DropTargetAutoScroller; + } + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class Timer; + } + } +} + +class java::awt::dnd::DropTarget$DropTargetAutoScroller : public ::java::lang::Object +{ + +public: // actually protected + DropTarget$DropTargetAutoScroller(::java::awt::Component *, ::java::awt::Point *); + virtual void updateLocation(::java::awt::Point *); + virtual void stop(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + static const jint HYSTERESIS = 10; + static const jint DELAY = 100; + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) component; + ::java::awt::Point * point; + ::javax::swing::Timer * timer; + ::java::awt::Rectangle * outer; + ::java::awt::Rectangle * inner; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTarget$DropTargetAutoScroller__ diff --git a/libjava/java/awt/dnd/DropTarget.h b/libjava/java/awt/dnd/DropTarget.h new file mode 100644 index 00000000000..399889a9542 --- /dev/null +++ b/libjava/java/awt/dnd/DropTarget.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTarget__ +#define __java_awt_dnd_DropTarget__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + namespace datatransfer + { + class FlavorMap; + } + namespace dnd + { + class DropTarget; + class DropTarget$DropTargetAutoScroller; + class DropTargetContext; + class DropTargetDragEvent; + class DropTargetDropEvent; + class DropTargetEvent; + class DropTargetListener; + namespace peer + { + class DropTargetPeer; + } + } + namespace peer + { + class ComponentPeer; + } + } + } +} + +class java::awt::dnd::DropTarget : public ::java::lang::Object +{ + +public: + DropTarget(); + DropTarget(::java::awt::Component *, ::java::awt::dnd::DropTargetListener *); + DropTarget(::java::awt::Component *, jint, ::java::awt::dnd::DropTargetListener *); + DropTarget(::java::awt::Component *, jint, ::java::awt::dnd::DropTargetListener *, jboolean); + DropTarget(::java::awt::Component *, jint, ::java::awt::dnd::DropTargetListener *, jboolean, ::java::awt::datatransfer::FlavorMap *); + virtual void setComponent(::java::awt::Component *); + virtual ::java::awt::Component * getComponent(); + virtual void setDefaultActions(jint); + virtual jint getDefaultActions(); + virtual void setActive(jboolean); + virtual jboolean isActive(); + virtual void addDropTargetListener(::java::awt::dnd::DropTargetListener *); + virtual void removeDropTargetListener(::java::awt::dnd::DropTargetListener *); + virtual void dragEnter(::java::awt::dnd::DropTargetDragEvent *); + virtual void dragOver(::java::awt::dnd::DropTargetDragEvent *); + virtual void dropActionChanged(::java::awt::dnd::DropTargetDragEvent *); + virtual void dragExit(::java::awt::dnd::DropTargetEvent *); + virtual void drop(::java::awt::dnd::DropTargetDropEvent *); + virtual ::java::awt::datatransfer::FlavorMap * getFlavorMap(); + virtual void setFlavorMap(::java::awt::datatransfer::FlavorMap *); + virtual void addNotify(::java::awt::peer::ComponentPeer *); + virtual void removeNotify(::java::awt::peer::ComponentPeer *); + virtual ::java::awt::dnd::DropTargetContext * getDropTargetContext(); +public: // actually protected + virtual ::java::awt::dnd::DropTargetContext * createDropTargetContext(); + virtual ::java::awt::dnd::DropTarget$DropTargetAutoScroller * createDropTargetAutoScroller(::java::awt::Component *, ::java::awt::Point *); + virtual void initializeAutoscrolling(::java::awt::Point *); + virtual void updateAutoscroll(::java::awt::Point *); + virtual void clearAutoscroll(); +private: + static const jlong serialVersionUID = -6283860791671019047LL; + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) component; + ::java::awt::datatransfer::FlavorMap * flavorMap; + jint actions; + ::java::awt::dnd::peer::DropTargetPeer * peer; + ::java::awt::dnd::DropTargetContext * dropTargetContext; + ::java::awt::dnd::DropTargetListener * dropTargetListener; + ::java::awt::dnd::DropTarget$DropTargetAutoScroller * autoscroller; + jboolean active; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTarget__ diff --git a/libjava/java/awt/dnd/DropTargetAdapter.h b/libjava/java/awt/dnd/DropTargetAdapter.h new file mode 100644 index 00000000000..34f4f5b669b --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetAdapter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetAdapter__ +#define __java_awt_dnd_DropTargetAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DropTargetAdapter; + class DropTargetDragEvent; + class DropTargetDropEvent; + class DropTargetEvent; + } + } + } +} + +class java::awt::dnd::DropTargetAdapter : public ::java::lang::Object +{ + +public: + DropTargetAdapter(); + virtual void dragEnter(::java::awt::dnd::DropTargetDragEvent *); + virtual void dragOver(::java::awt::dnd::DropTargetDragEvent *); + virtual void dropActionChanged(::java::awt::dnd::DropTargetDragEvent *); + virtual void dragExit(::java::awt::dnd::DropTargetEvent *); + virtual void drop(::java::awt::dnd::DropTargetDropEvent *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTargetAdapter__ diff --git a/libjava/java/awt/dnd/DropTargetContext$TransferableProxy.h b/libjava/java/awt/dnd/DropTargetContext$TransferableProxy.h new file mode 100644 index 00000000000..e670c079d12 --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetContext$TransferableProxy.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetContext$TransferableProxy__ +#define __java_awt_dnd_DropTargetContext$TransferableProxy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + namespace dnd + { + class DropTargetContext; + class DropTargetContext$TransferableProxy; + } + } + } +} + +class java::awt::dnd::DropTargetContext$TransferableProxy : public ::java::lang::Object +{ + +public: // actually package-private + DropTargetContext$TransferableProxy(::java::awt::dnd::DropTargetContext *, ::java::awt::datatransfer::Transferable *, jboolean); +public: + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors(); + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); + virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) isLocal; + ::java::awt::datatransfer::Transferable * transferable; +public: // actually package-private + ::java::awt::dnd::DropTargetContext * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTargetContext$TransferableProxy__ diff --git a/libjava/java/awt/dnd/DropTargetContext.h b/libjava/java/awt/dnd/DropTargetContext.h new file mode 100644 index 00000000000..f6ea29be31d --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetContext.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetContext__ +#define __java_awt_dnd_DropTargetContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + namespace dnd + { + class DropTarget; + class DropTargetContext; + namespace peer + { + class DropTargetContextPeer; + } + } + } + } +} + +class java::awt::dnd::DropTargetContext : public ::java::lang::Object +{ + +public: // actually package-private + DropTargetContext(::java::awt::dnd::DropTarget *); +public: + virtual ::java::awt::dnd::DropTarget * getDropTarget(); + virtual ::java::awt::Component * getComponent(); + virtual void addNotify(::java::awt::dnd::peer::DropTargetContextPeer *); + virtual void removeNotify(); +public: // actually protected + virtual void setTargetActions(jint); + virtual jint getTargetActions(); +public: + virtual void dropComplete(jboolean); +public: // actually protected + virtual void acceptDrag(jint); + virtual void rejectDrag(); + virtual void acceptDrop(jint); + virtual void rejectDrop(); + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getCurrentDataFlavors(); + virtual ::java::util::List * getCurrentDataFlavorsAsList(); + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); + virtual ::java::awt::datatransfer::Transferable * getTransferable(); + virtual ::java::awt::datatransfer::Transferable * createTransferableProxy(::java::awt::datatransfer::Transferable *, jboolean); +public: // actually package-private + static const jlong serialVersionUID = -634158968993743371LL; +private: + ::java::awt::dnd::DropTarget * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dropTarget; + jint targetActions; + ::java::awt::dnd::peer::DropTargetContextPeer * dtcp; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTargetContext__ diff --git a/libjava/java/awt/dnd/DropTargetDragEvent.h b/libjava/java/awt/dnd/DropTargetDragEvent.h new file mode 100644 index 00000000000..d25da60043f --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetDragEvent.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetDragEvent__ +#define __java_awt_dnd_DropTargetDragEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + namespace dnd + { + class DropTargetContext; + class DropTargetDragEvent; + } + } + } +} + +class java::awt::dnd::DropTargetDragEvent : public ::java::awt::dnd::DropTargetEvent +{ + +public: + DropTargetDragEvent(::java::awt::dnd::DropTargetContext *, ::java::awt::Point *, jint, jint); + virtual void acceptDrag(jint); + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getCurrentDataFlavors(); + virtual ::java::util::List * getCurrentDataFlavorsAsList(); + virtual jint getDropAction(); + virtual ::java::awt::Point * getLocation(); + virtual jint getSourceActions(); + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); + virtual void rejectDrag(); + virtual ::java::awt::datatransfer::Transferable * getTransferable(); +private: + static const jlong serialVersionUID = -8422265619058953682LL; + jint __attribute__((aligned(__alignof__( ::java::awt::dnd::DropTargetEvent)))) dropAction; + jint srcActions; + ::java::awt::Point * location; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTargetDragEvent__ diff --git a/libjava/java/awt/dnd/DropTargetDropEvent.h b/libjava/java/awt/dnd/DropTargetDropEvent.h new file mode 100644 index 00000000000..08851b68cf4 --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetDropEvent.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetDropEvent__ +#define __java_awt_dnd_DropTargetDropEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + namespace dnd + { + class DropTargetContext; + class DropTargetDropEvent; + } + } + } +} + +class java::awt::dnd::DropTargetDropEvent : public ::java::awt::dnd::DropTargetEvent +{ + +public: + DropTargetDropEvent(::java::awt::dnd::DropTargetContext *, ::java::awt::Point *, jint, jint); + DropTargetDropEvent(::java::awt::dnd::DropTargetContext *, ::java::awt::Point *, jint, jint, jboolean); + virtual ::java::awt::Point * getLocation(); + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getCurrentDataFlavors(); + virtual ::java::util::List * getCurrentDataFlavorsAsList(); + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); + virtual jint getSourceActions(); + virtual jint getDropAction(); + virtual ::java::awt::datatransfer::Transferable * getTransferable(); + virtual void acceptDrop(jint); + virtual void rejectDrop(); + virtual void dropComplete(jboolean); + virtual jboolean isLocalTransfer(); +private: + static const jlong serialVersionUID = -1721911170440459322LL; + jint __attribute__((aligned(__alignof__( ::java::awt::dnd::DropTargetEvent)))) dropAction; + jint actions; + ::java::awt::Point * location; + jboolean isLocalTx; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTargetDropEvent__ diff --git a/libjava/java/awt/dnd/DropTargetEvent.h b/libjava/java/awt/dnd/DropTargetEvent.h new file mode 100644 index 00000000000..e090e197c1d --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetEvent.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetEvent__ +#define __java_awt_dnd_DropTargetEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DropTargetContext; + class DropTargetEvent; + } + } + } +} + +class java::awt::dnd::DropTargetEvent : public ::java::util::EventObject +{ + +public: + DropTargetEvent(::java::awt::dnd::DropTargetContext *); + virtual ::java::awt::dnd::DropTargetContext * getDropTargetContext(); +private: + static const jlong serialVersionUID = 2821229066521922993LL; +public: // actually protected + ::java::awt::dnd::DropTargetContext * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) context; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_DropTargetEvent__ diff --git a/libjava/java/awt/dnd/DropTargetListener.h b/libjava/java/awt/dnd/DropTargetListener.h new file mode 100644 index 00000000000..83aba62d160 --- /dev/null +++ b/libjava/java/awt/dnd/DropTargetListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_DropTargetListener__ +#define __java_awt_dnd_DropTargetListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DropTargetDragEvent; + class DropTargetDropEvent; + class DropTargetEvent; + class DropTargetListener; + } + } + } +} + +class java::awt::dnd::DropTargetListener : public ::java::lang::Object +{ + +public: + virtual void dragEnter(::java::awt::dnd::DropTargetDragEvent *) = 0; + virtual void dragOver(::java::awt::dnd::DropTargetDragEvent *) = 0; + virtual void dropActionChanged(::java::awt::dnd::DropTargetDragEvent *) = 0; + virtual void dragExit(::java::awt::dnd::DropTargetEvent *) = 0; + virtual void drop(::java::awt::dnd::DropTargetDropEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_DropTargetListener__ diff --git a/libjava/java/awt/dnd/InvalidDnDOperationException.h b/libjava/java/awt/dnd/InvalidDnDOperationException.h new file mode 100644 index 00000000000..674f7ce2dfe --- /dev/null +++ b/libjava/java/awt/dnd/InvalidDnDOperationException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_InvalidDnDOperationException__ +#define __java_awt_dnd_InvalidDnDOperationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class InvalidDnDOperationException; + } + } + } +} + +class java::awt::dnd::InvalidDnDOperationException : public ::java::lang::IllegalStateException +{ + +public: + InvalidDnDOperationException(); + InvalidDnDOperationException(::java::lang::String *); +private: + static const jlong serialVersionUID = -6062568741193956678LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_InvalidDnDOperationException__ diff --git a/libjava/java/awt/dnd/MouseDragGestureRecognizer.h b/libjava/java/awt/dnd/MouseDragGestureRecognizer.h new file mode 100644 index 00000000000..00635da56d7 --- /dev/null +++ b/libjava/java/awt/dnd/MouseDragGestureRecognizer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_MouseDragGestureRecognizer__ +#define __java_awt_dnd_MouseDragGestureRecognizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace dnd + { + class DragGestureListener; + class DragSource; + class MouseDragGestureRecognizer; + } + namespace event + { + class MouseEvent; + } + } + } +} + +class java::awt::dnd::MouseDragGestureRecognizer : public ::java::awt::dnd::DragGestureRecognizer +{ + +public: // actually protected + MouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint, ::java::awt::dnd::DragGestureListener *); + MouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *, jint); + MouseDragGestureRecognizer(::java::awt::dnd::DragSource *, ::java::awt::Component *); + MouseDragGestureRecognizer(::java::awt::dnd::DragSource *); + virtual void registerListeners(); + virtual void unregisterListeners(); +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_dnd_MouseDragGestureRecognizer__ diff --git a/libjava/java/awt/dnd/peer/DragSourceContextPeer.h b/libjava/java/awt/dnd/peer/DragSourceContextPeer.h new file mode 100644 index 00000000000..f5653f26034 --- /dev/null +++ b/libjava/java/awt/dnd/peer/DragSourceContextPeer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_peer_DragSourceContextPeer__ +#define __java_awt_dnd_peer_DragSourceContextPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Cursor; + class Image; + class Point; + namespace dnd + { + class DragSourceContext; + namespace peer + { + class DragSourceContextPeer; + } + } + } + } +} + +class java::awt::dnd::peer::DragSourceContextPeer : public ::java::lang::Object +{ + +public: + virtual void startDrag(::java::awt::dnd::DragSourceContext *, ::java::awt::Cursor *, ::java::awt::Image *, ::java::awt::Point *) = 0; + virtual ::java::awt::Cursor * getCursor() = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void transferablesFlavorsChanged() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_peer_DragSourceContextPeer__ diff --git a/libjava/java/awt/dnd/peer/DropTargetContextPeer.h b/libjava/java/awt/dnd/peer/DropTargetContextPeer.h new file mode 100644 index 00000000000..cb7ae0d655e --- /dev/null +++ b/libjava/java/awt/dnd/peer/DropTargetContextPeer.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_peer_DropTargetContextPeer__ +#define __java_awt_dnd_peer_DropTargetContextPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + class Transferable; + } + namespace dnd + { + class DropTarget; + namespace peer + { + class DropTargetContextPeer; + } + } + } + } +} + +class java::awt::dnd::peer::DropTargetContextPeer : public ::java::lang::Object +{ + +public: + virtual void setTargetActions(jint) = 0; + virtual jint getTargetActions() = 0; + virtual ::java::awt::dnd::DropTarget * getDropTarget() = 0; + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors() = 0; + virtual ::java::awt::datatransfer::Transferable * getTransferable() = 0; + virtual jboolean isTransferableJVMLocal() = 0; + virtual void acceptDrag(jint) = 0; + virtual void rejectDrag() = 0; + virtual void acceptDrop(jint) = 0; + virtual void rejectDrop() = 0; + virtual void dropComplete(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_peer_DropTargetContextPeer__ diff --git a/libjava/java/awt/dnd/peer/DropTargetPeer.h b/libjava/java/awt/dnd/peer/DropTargetPeer.h new file mode 100644 index 00000000000..d96222ba87a --- /dev/null +++ b/libjava/java/awt/dnd/peer/DropTargetPeer.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_dnd_peer_DropTargetPeer__ +#define __java_awt_dnd_peer_DropTargetPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace dnd + { + class DropTarget; + namespace peer + { + class DropTargetPeer; + } + } + } + } +} + +class java::awt::dnd::peer::DropTargetPeer : public ::java::lang::Object +{ + +public: + virtual void addDropTarget(::java::awt::dnd::DropTarget *) = 0; + virtual void removeDropTarget(::java::awt::dnd::DropTarget *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_dnd_peer_DropTargetPeer__ diff --git a/libjava/java/awt/event/AWTEventListener.h b/libjava/java/awt/event/AWTEventListener.h new file mode 100644 index 00000000000..e85da18c51e --- /dev/null +++ b/libjava/java/awt/event/AWTEventListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_AWTEventListener__ +#define __java_awt_event_AWTEventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + namespace event + { + class AWTEventListener; + } + } + } +} + +class java::awt::event::AWTEventListener : public ::java::lang::Object +{ + +public: + virtual void eventDispatched(::java::awt::AWTEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_AWTEventListener__ diff --git a/libjava/java/awt/event/AWTEventListenerProxy.h b/libjava/java/awt/event/AWTEventListenerProxy.h new file mode 100644 index 00000000000..90e1bc2d939 --- /dev/null +++ b/libjava/java/awt/event/AWTEventListenerProxy.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_AWTEventListenerProxy__ +#define __java_awt_event_AWTEventListenerProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + namespace event + { + class AWTEventListener; + class AWTEventListenerProxy; + } + } + } +} + +class java::awt::event::AWTEventListenerProxy : public ::java::util::EventListenerProxy +{ + +public: + AWTEventListenerProxy(jlong, ::java::awt::event::AWTEventListener *); + virtual void eventDispatched(::java::awt::AWTEvent *); + virtual jlong getEventMask(); +private: + jlong __attribute__((aligned(__alignof__( ::java::util::EventListenerProxy)))) mask; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_AWTEventListenerProxy__ diff --git a/libjava/java/awt/event/ActionEvent.h b/libjava/java/awt/event/ActionEvent.h new file mode 100644 index 00000000000..a1eff263223 --- /dev/null +++ b/libjava/java/awt/event/ActionEvent.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ActionEvent__ +#define __java_awt_event_ActionEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } +} + +class java::awt::event::ActionEvent : public ::java::awt::AWTEvent +{ + +public: + ActionEvent(::java::lang::Object *, jint, ::java::lang::String *); + ActionEvent(::java::lang::Object *, jint, ::java::lang::String *, jint); + ActionEvent(::java::lang::Object *, jint, ::java::lang::String *, jlong, jint); + virtual ::java::lang::String * getActionCommand(); + virtual jlong getWhen(); + virtual jint getModifiers(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = -7671078796273832149LL; +public: + static const jint SHIFT_MASK = 1; + static const jint CTRL_MASK = 2; + static const jint META_MASK = 4; + static const jint ALT_MASK = 8; + static const jint ACTION_FIRST = 1001; + static const jint ACTION_LAST = 1001; + static const jint ACTION_PERFORMED = 1001; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) actionCommand; + jint modifiers; + jlong when; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_ActionEvent__ diff --git a/libjava/java/awt/event/ActionListener.h b/libjava/java/awt/event/ActionListener.h new file mode 100644 index 00000000000..0560d7caf56 --- /dev/null +++ b/libjava/java/awt/event/ActionListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ActionListener__ +#define __java_awt_event_ActionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } +} + +class java::awt::event::ActionListener : public ::java::lang::Object +{ + +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_ActionListener__ diff --git a/libjava/java/awt/event/AdjustmentEvent.h b/libjava/java/awt/event/AdjustmentEvent.h new file mode 100644 index 00000000000..71bef4d3949 --- /dev/null +++ b/libjava/java/awt/event/AdjustmentEvent.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_AdjustmentEvent__ +#define __java_awt_event_AdjustmentEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Adjustable; + namespace event + { + class AdjustmentEvent; + } + } + } +} + +class java::awt::event::AdjustmentEvent : public ::java::awt::AWTEvent +{ + +public: + AdjustmentEvent(::java::awt::Adjustable *, jint, jint, jint); + AdjustmentEvent(::java::awt::Adjustable *, jint, jint, jint, jboolean); + virtual ::java::awt::Adjustable * getAdjustable(); + virtual jint getValue(); + virtual jint getAdjustmentType(); + virtual jboolean getValueIsAdjusting(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 5700290645205279921LL; +public: + static const jint ADJUSTMENT_FIRST = 601; + static const jint ADJUSTMENT_LAST = 601; + static const jint ADJUSTMENT_VALUE_CHANGED = 601; + static const jint UNIT_INCREMENT = 1; + static const jint UNIT_DECREMENT = 2; + static const jint BLOCK_DECREMENT = 3; + static const jint BLOCK_INCREMENT = 4; + static const jint TRACK = 5; +private: + ::java::awt::Adjustable * __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) adjustable; + jint adjustmentType; + jint value; + jboolean isAdjusting; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_AdjustmentEvent__ diff --git a/libjava/java/awt/event/AdjustmentListener.h b/libjava/java/awt/event/AdjustmentListener.h new file mode 100644 index 00000000000..75e67203b25 --- /dev/null +++ b/libjava/java/awt/event/AdjustmentListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_AdjustmentListener__ +#define __java_awt_event_AdjustmentListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class AdjustmentEvent; + class AdjustmentListener; + } + } + } +} + +class java::awt::event::AdjustmentListener : public ::java::lang::Object +{ + +public: + virtual void adjustmentValueChanged(::java::awt::event::AdjustmentEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_AdjustmentListener__ diff --git a/libjava/java/awt/event/ComponentAdapter.h b/libjava/java/awt/event/ComponentAdapter.h new file mode 100644 index 00000000000..0121a0de596 --- /dev/null +++ b/libjava/java/awt/event/ComponentAdapter.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ComponentAdapter__ +#define __java_awt_event_ComponentAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentAdapter; + class ComponentEvent; + } + } + } +} + +class java::awt::event::ComponentAdapter : public ::java::lang::Object +{ + +public: + ComponentAdapter(); + virtual void componentResized(::java::awt::event::ComponentEvent *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); + virtual void componentShown(::java::awt::event::ComponentEvent *); + virtual void componentHidden(::java::awt::event::ComponentEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_ComponentAdapter__ diff --git a/libjava/java/awt/event/ComponentEvent.h b/libjava/java/awt/event/ComponentEvent.h new file mode 100644 index 00000000000..667ceb7c21e --- /dev/null +++ b/libjava/java/awt/event/ComponentEvent.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ComponentEvent__ +#define __java_awt_event_ComponentEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class ComponentEvent; + } + } + } +} + +class java::awt::event::ComponentEvent : public ::java::awt::AWTEvent +{ + +public: + ComponentEvent(::java::awt::Component *, jint); + virtual ::java::awt::Component * getComponent(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 8101406823902992965LL; +public: + static const jint COMPONENT_FIRST = 100; + static const jint COMPONENT_LAST = 103; + static const jint COMPONENT_MOVED = 100; + static const jint COMPONENT_RESIZED = 101; + static const jint COMPONENT_SHOWN = 102; + static const jint COMPONENT_HIDDEN = 103; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_ComponentEvent__ diff --git a/libjava/java/awt/event/ComponentListener.h b/libjava/java/awt/event/ComponentListener.h new file mode 100644 index 00000000000..961c9a9d306 --- /dev/null +++ b/libjava/java/awt/event/ComponentListener.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ComponentListener__ +#define __java_awt_event_ComponentListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentEvent; + class ComponentListener; + } + } + } +} + +class java::awt::event::ComponentListener : public ::java::lang::Object +{ + +public: + virtual void componentResized(::java::awt::event::ComponentEvent *) = 0; + virtual void componentMoved(::java::awt::event::ComponentEvent *) = 0; + virtual void componentShown(::java::awt::event::ComponentEvent *) = 0; + virtual void componentHidden(::java::awt::event::ComponentEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_ComponentListener__ diff --git a/libjava/java/awt/event/ContainerAdapter.h b/libjava/java/awt/event/ContainerAdapter.h new file mode 100644 index 00000000000..e483c5b0e75 --- /dev/null +++ b/libjava/java/awt/event/ContainerAdapter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ContainerAdapter__ +#define __java_awt_event_ContainerAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerAdapter; + class ContainerEvent; + } + } + } +} + +class java::awt::event::ContainerAdapter : public ::java::lang::Object +{ + +public: + ContainerAdapter(); + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_ContainerAdapter__ diff --git a/libjava/java/awt/event/ContainerEvent.h b/libjava/java/awt/event/ContainerEvent.h new file mode 100644 index 00000000000..f1d4680ef2c --- /dev/null +++ b/libjava/java/awt/event/ContainerEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ContainerEvent__ +#define __java_awt_event_ContainerEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + namespace event + { + class ContainerEvent; + } + } + } +} + +class java::awt::event::ContainerEvent : public ::java::awt::event::ComponentEvent +{ + +public: + ContainerEvent(::java::awt::Component *, jint, ::java::awt::Component *); + virtual ::java::awt::Container * getContainer(); + virtual ::java::awt::Component * getChild(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = -4114942250539772041LL; +public: + static const jint CONTAINER_FIRST = 300; + static const jint CONTAINER_LAST = 301; + static const jint COMPONENT_ADDED = 300; + static const jint COMPONENT_REMOVED = 301; +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentEvent)))) child; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_ContainerEvent__ diff --git a/libjava/java/awt/event/ContainerListener.h b/libjava/java/awt/event/ContainerListener.h new file mode 100644 index 00000000000..ac24d8ce019 --- /dev/null +++ b/libjava/java/awt/event/ContainerListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ContainerListener__ +#define __java_awt_event_ContainerListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerEvent; + class ContainerListener; + } + } + } +} + +class java::awt::event::ContainerListener : public ::java::lang::Object +{ + +public: + virtual void componentAdded(::java::awt::event::ContainerEvent *) = 0; + virtual void componentRemoved(::java::awt::event::ContainerEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_ContainerListener__ diff --git a/libjava/java/awt/event/FocusAdapter.h b/libjava/java/awt/event/FocusAdapter.h new file mode 100644 index 00000000000..f46f94e5c4f --- /dev/null +++ b/libjava/java/awt/event/FocusAdapter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_FocusAdapter__ +#define __java_awt_event_FocusAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusAdapter; + class FocusEvent; + } + } + } +} + +class java::awt::event::FocusAdapter : public ::java::lang::Object +{ + +public: + FocusAdapter(); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_FocusAdapter__ diff --git a/libjava/java/awt/event/FocusEvent.h b/libjava/java/awt/event/FocusEvent.h new file mode 100644 index 00000000000..5c7315a9a5a --- /dev/null +++ b/libjava/java/awt/event/FocusEvent.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_FocusEvent__ +#define __java_awt_event_FocusEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class FocusEvent; + } + } + } +} + +class java::awt::event::FocusEvent : public ::java::awt::event::ComponentEvent +{ + +public: + FocusEvent(::java::awt::Component *, jint, jboolean, ::java::awt::Component *); + FocusEvent(::java::awt::Component *, jint, jboolean); + FocusEvent(::java::awt::Component *, jint); + virtual jboolean isTemporary(); + virtual ::java::awt::Component * getOppositeComponent(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 523753786457416396LL; +public: + static const jint FOCUS_FIRST = 1004; + static const jint FOCUS_LAST = 1005; + static const jint FOCUS_GAINED = 1004; + static const jint FOCUS_LOST = 1005; +private: + jboolean __attribute__((aligned(__alignof__( ::java::awt::event::ComponentEvent)))) temporary; + ::java::awt::Component * opposite; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_FocusEvent__ diff --git a/libjava/java/awt/event/FocusListener.h b/libjava/java/awt/event/FocusListener.h new file mode 100644 index 00000000000..f47a924b332 --- /dev/null +++ b/libjava/java/awt/event/FocusListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_FocusListener__ +#define __java_awt_event_FocusListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + class FocusListener; + } + } + } +} + +class java::awt::event::FocusListener : public ::java::lang::Object +{ + +public: + virtual void focusGained(::java::awt::event::FocusEvent *) = 0; + virtual void focusLost(::java::awt::event::FocusEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_FocusListener__ diff --git a/libjava/java/awt/event/HierarchyBoundsAdapter.h b/libjava/java/awt/event/HierarchyBoundsAdapter.h new file mode 100644 index 00000000000..125cf864cd8 --- /dev/null +++ b/libjava/java/awt/event/HierarchyBoundsAdapter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_HierarchyBoundsAdapter__ +#define __java_awt_event_HierarchyBoundsAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class HierarchyBoundsAdapter; + class HierarchyEvent; + } + } + } +} + +class java::awt::event::HierarchyBoundsAdapter : public ::java::lang::Object +{ + +public: + HierarchyBoundsAdapter(); + virtual void ancestorMoved(::java::awt::event::HierarchyEvent *); + virtual void ancestorResized(::java::awt::event::HierarchyEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_HierarchyBoundsAdapter__ diff --git a/libjava/java/awt/event/HierarchyBoundsListener.h b/libjava/java/awt/event/HierarchyBoundsListener.h new file mode 100644 index 00000000000..2ae05003f3e --- /dev/null +++ b/libjava/java/awt/event/HierarchyBoundsListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_HierarchyBoundsListener__ +#define __java_awt_event_HierarchyBoundsListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class HierarchyBoundsListener; + class HierarchyEvent; + } + } + } +} + +class java::awt::event::HierarchyBoundsListener : public ::java::lang::Object +{ + +public: + virtual void ancestorMoved(::java::awt::event::HierarchyEvent *) = 0; + virtual void ancestorResized(::java::awt::event::HierarchyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_HierarchyBoundsListener__ diff --git a/libjava/java/awt/event/HierarchyEvent.h b/libjava/java/awt/event/HierarchyEvent.h new file mode 100644 index 00000000000..fe9585ae0a7 --- /dev/null +++ b/libjava/java/awt/event/HierarchyEvent.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_HierarchyEvent__ +#define __java_awt_event_HierarchyEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + namespace event + { + class HierarchyEvent; + } + } + } +} + +class java::awt::event::HierarchyEvent : public ::java::awt::AWTEvent +{ + +public: + HierarchyEvent(::java::awt::Component *, jint, ::java::awt::Component *, ::java::awt::Container *); + HierarchyEvent(::java::awt::Component *, jint, ::java::awt::Component *, ::java::awt::Container *, jlong); + virtual ::java::awt::Component * getComponent(); + virtual ::java::awt::Component * getChanged(); + virtual ::java::awt::Container * getChangedParent(); + virtual jlong getChangeFlags(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = -5337576970038043990LL; +public: + static const jint HIERARCHY_FIRST = 1400; + static const jint HIERARCHY_CHANGED = 1400; + static const jint ANCESTOR_MOVED = 1401; + static const jint ANCESTOR_RESIZED = 1402; + static const jint HIERARCHY_LAST = 1402; + static const jint PARENT_CHANGED = 1; + static const jint DISPLAYABILITY_CHANGED = 2; + static const jint SHOWING_CHANGED = 4; +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) changed; + ::java::awt::Container * changedParent; + jlong changeFlags; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_HierarchyEvent__ diff --git a/libjava/java/awt/event/HierarchyListener.h b/libjava/java/awt/event/HierarchyListener.h new file mode 100644 index 00000000000..e691edc2782 --- /dev/null +++ b/libjava/java/awt/event/HierarchyListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_HierarchyListener__ +#define __java_awt_event_HierarchyListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class HierarchyEvent; + class HierarchyListener; + } + } + } +} + +class java::awt::event::HierarchyListener : public ::java::lang::Object +{ + +public: + virtual void hierarchyChanged(::java::awt::event::HierarchyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_HierarchyListener__ diff --git a/libjava/java/awt/event/InputEvent.h b/libjava/java/awt/event/InputEvent.h new file mode 100644 index 00000000000..863963ca05c --- /dev/null +++ b/libjava/java/awt/event/InputEvent.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_InputEvent__ +#define __java_awt_event_InputEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class InputEvent; + } + } + } +} + +class java::awt::event::InputEvent : public ::java::awt::event::ComponentEvent +{ + +public: // actually package-private + InputEvent(::java::awt::Component *, jint, jlong, jint); +public: + virtual jboolean isShiftDown(); + virtual jboolean isControlDown(); + virtual jboolean isMetaDown(); + virtual jboolean isAltDown(); + virtual jboolean isAltGraphDown(); + virtual jlong getWhen(); + virtual jint getModifiers(); + virtual jint getModifiersEx(); + virtual void consume(); + virtual jboolean isConsumed(); + static ::java::lang::String * getModifiersExText(jint); +private: + static const jlong serialVersionUID = -2482525981698309786LL; +public: + static const jint SHIFT_MASK = 1; + static const jint CTRL_MASK = 2; + static const jint META_MASK = 4; + static const jint ALT_MASK = 8; + static const jint ALT_GRAPH_MASK = 32; + static const jint BUTTON1_MASK = 16; + static const jint BUTTON2_MASK = 8; + static const jint BUTTON3_MASK = 4; + static const jint SHIFT_DOWN_MASK = 64; + static const jint CTRL_DOWN_MASK = 128; + static const jint META_DOWN_MASK = 256; + static const jint ALT_DOWN_MASK = 512; + static const jint BUTTON1_DOWN_MASK = 1024; + static const jint BUTTON2_DOWN_MASK = 2048; + static const jint BUTTON3_DOWN_MASK = 4096; + static const jint ALT_GRAPH_DOWN_MASK = 8192; +public: // actually package-private + static const jint CONVERT_MASK = 10176; +private: + jlong __attribute__((aligned(__alignof__( ::java::awt::event::ComponentEvent)))) when; +public: // actually package-private + jint modifiers; + jint modifiersEx; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_InputEvent__ diff --git a/libjava/java/awt/event/InputMethodEvent.h b/libjava/java/awt/event/InputMethodEvent.h new file mode 100644 index 00000000000..0c02470459f --- /dev/null +++ b/libjava/java/awt/event/InputMethodEvent.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_InputMethodEvent__ +#define __java_awt_event_InputMethodEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class InputMethodEvent; + } + namespace font + { + class TextHitInfo; + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class java::awt::event::InputMethodEvent : public ::java::awt::AWTEvent +{ + +public: + InputMethodEvent(::java::awt::Component *, jint, jlong, ::java::text::AttributedCharacterIterator *, jint, ::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *); + InputMethodEvent(::java::awt::Component *, jint, ::java::text::AttributedCharacterIterator *, jint, ::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *); + InputMethodEvent(::java::awt::Component *, jint, ::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *); + virtual ::java::text::AttributedCharacterIterator * getText(); + virtual jint getCommittedCharacterCount(); + virtual ::java::awt::font::TextHitInfo * getCaret(); + virtual ::java::awt::font::TextHitInfo * getVisiblePosition(); + virtual void consume(); + virtual jboolean isConsumed(); + virtual jlong getWhen(); + virtual ::java::lang::String * paramString(); +private: + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 4727190874778922661LL; +public: + static const jint INPUT_METHOD_FIRST = 1100; + static const jint INPUT_METHOD_TEXT_CHANGED = 1100; + static const jint CARET_POSITION_CHANGED = 1101; + static const jint INPUT_METHOD_LAST = 1101; +private: + jlong __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) when; + ::java::text::AttributedCharacterIterator * text; + jint committedCharacterCount; + ::java::awt::font::TextHitInfo * caret; + ::java::awt::font::TextHitInfo * visiblePosition; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_InputMethodEvent__ diff --git a/libjava/java/awt/event/InputMethodListener.h b/libjava/java/awt/event/InputMethodListener.h new file mode 100644 index 00000000000..4bb03de2b06 --- /dev/null +++ b/libjava/java/awt/event/InputMethodListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_InputMethodListener__ +#define __java_awt_event_InputMethodListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class InputMethodEvent; + class InputMethodListener; + } + } + } +} + +class java::awt::event::InputMethodListener : public ::java::lang::Object +{ + +public: + virtual void inputMethodTextChanged(::java::awt::event::InputMethodEvent *) = 0; + virtual void caretPositionChanged(::java::awt::event::InputMethodEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_InputMethodListener__ diff --git a/libjava/java/awt/event/InvocationEvent.h b/libjava/java/awt/event/InvocationEvent.h new file mode 100644 index 00000000000..2dde3a4213e --- /dev/null +++ b/libjava/java/awt/event/InvocationEvent.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_InvocationEvent__ +#define __java_awt_event_InvocationEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class InvocationEvent; + } + } + } +} + +class java::awt::event::InvocationEvent : public ::java::awt::AWTEvent +{ + +public: + InvocationEvent(::java::lang::Object *, ::java::lang::Runnable *); + InvocationEvent(::java::lang::Object *, ::java::lang::Runnable *, ::java::lang::Object *, jboolean); +public: // actually protected + InvocationEvent(::java::lang::Object *, jint, ::java::lang::Runnable *, ::java::lang::Object *, jboolean); +public: + virtual void dispatch(); + virtual ::java::lang::Exception * getException(); + virtual ::java::lang::Throwable * getThrowable(); + virtual jlong getWhen(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 436056344909459450LL; +public: + static const jint INVOCATION_FIRST = 1200; + static const jint INVOCATION_DEFAULT = 1200; + static const jint INVOCATION_LAST = 1200; +public: // actually protected + ::java::lang::Runnable * __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) runnable; + ::java::lang::Object * notifier; + jboolean catchExceptions; +private: + ::java::lang::Exception * exception; + ::java::lang::Throwable * throwable; + jlong when; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_InvocationEvent__ diff --git a/libjava/java/awt/event/ItemEvent.h b/libjava/java/awt/event/ItemEvent.h new file mode 100644 index 00000000000..61f4836468d --- /dev/null +++ b/libjava/java/awt/event/ItemEvent.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ItemEvent__ +#define __java_awt_event_ItemEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class ItemSelectable; + namespace event + { + class ItemEvent; + } + } + } +} + +class java::awt::event::ItemEvent : public ::java::awt::AWTEvent +{ + +public: + ItemEvent(::java::awt::ItemSelectable *, jint, ::java::lang::Object *, jint); + virtual ::java::awt::ItemSelectable * getItemSelectable(); + virtual ::java::lang::Object * getItem(); + virtual jint getStateChange(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = -608708132447206933LL; +public: + static const jint ITEM_FIRST = 701; + static const jint ITEM_LAST = 701; + static const jint ITEM_STATE_CHANGED = 701; + static const jint SELECTED = 1; + static const jint DESELECTED = 2; +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) item; + jint stateChange; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_ItemEvent__ diff --git a/libjava/java/awt/event/ItemListener.h b/libjava/java/awt/event/ItemListener.h new file mode 100644 index 00000000000..eee09ce9dae --- /dev/null +++ b/libjava/java/awt/event/ItemListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_ItemListener__ +#define __java_awt_event_ItemListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ItemEvent; + class ItemListener; + } + } + } +} + +class java::awt::event::ItemListener : public ::java::lang::Object +{ + +public: + virtual void itemStateChanged(::java::awt::event::ItemEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_ItemListener__ diff --git a/libjava/java/awt/event/KeyAdapter.h b/libjava/java/awt/event/KeyAdapter.h new file mode 100644 index 00000000000..b63023e6610 --- /dev/null +++ b/libjava/java/awt/event/KeyAdapter.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_KeyAdapter__ +#define __java_awt_event_KeyAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyAdapter; + class KeyEvent; + } + } + } +} + +class java::awt::event::KeyAdapter : public ::java::lang::Object +{ + +public: + KeyAdapter(); + virtual void keyTyped(::java::awt::event::KeyEvent *); + virtual void keyPressed(::java::awt::event::KeyEvent *); + virtual void keyReleased(::java::awt::event::KeyEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_KeyAdapter__ diff --git a/libjava/java/awt/event/KeyEvent.h b/libjava/java/awt/event/KeyEvent.h new file mode 100644 index 00000000000..6b3258677c5 --- /dev/null +++ b/libjava/java/awt/event/KeyEvent.h @@ -0,0 +1,255 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_KeyEvent__ +#define __java_awt_event_KeyEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class KeyEvent; + } + } + } +} + +class java::awt::event::KeyEvent : public ::java::awt::event::InputEvent +{ + +public: + KeyEvent(::java::awt::Component *, jint, jlong, jint, jint, jchar, jint); + KeyEvent(::java::awt::Component *, jint, jlong, jint, jint, jchar); + KeyEvent(::java::awt::Component *, jint, jlong, jint, jint); + virtual jint getKeyCode(); + virtual void setKeyCode(jint); + virtual jchar getKeyChar(); + virtual void setKeyChar(jchar); + virtual void setModifiers(jint); + virtual jint getKeyLocation(); + static ::java::lang::String * getKeyText(jint); + static ::java::lang::String * getKeyModifiersText(jint); + virtual jboolean isActionKey(); + virtual ::java::lang::String * paramString(); +private: + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -2352130953028126954LL; +public: + static const jint KEY_FIRST = 400; + static const jint KEY_LAST = 402; + static const jint KEY_TYPED = 400; + static const jint KEY_PRESSED = 401; + static const jint KEY_RELEASED = 402; + static const jint VK_ENTER = 10; + static const jint VK_BACK_SPACE = 8; + static const jint VK_TAB = 9; + static const jint VK_CANCEL = 3; + static const jint VK_CLEAR = 12; + static const jint VK_SHIFT = 16; + static const jint VK_CONTROL = 17; + static const jint VK_ALT = 18; + static const jint VK_PAUSE = 19; + static const jint VK_CAPS_LOCK = 20; + static const jint VK_ESCAPE = 27; + static const jint VK_SPACE = 32; + static const jint VK_PAGE_UP = 33; + static const jint VK_PAGE_DOWN = 34; + static const jint VK_END = 35; + static const jint VK_HOME = 36; + static const jint VK_LEFT = 37; + static const jint VK_UP = 38; + static const jint VK_RIGHT = 39; + static const jint VK_DOWN = 40; + static const jint VK_COMMA = 44; + static const jint VK_MINUS = 45; + static const jint VK_PERIOD = 46; + static const jint VK_SLASH = 47; + static const jint VK_0 = 48; + static const jint VK_1 = 49; + static const jint VK_2 = 50; + static const jint VK_3 = 51; + static const jint VK_4 = 52; + static const jint VK_5 = 53; + static const jint VK_6 = 54; + static const jint VK_7 = 55; + static const jint VK_8 = 56; + static const jint VK_9 = 57; + static const jint VK_SEMICOLON = 59; + static const jint VK_EQUALS = 61; + static const jint VK_A = 65; + static const jint VK_B = 66; + static const jint VK_C = 67; + static const jint VK_D = 68; + static const jint VK_E = 69; + static const jint VK_F = 70; + static const jint VK_G = 71; + static const jint VK_H = 72; + static const jint VK_I = 73; + static const jint VK_J = 74; + static const jint VK_K = 75; + static const jint VK_L = 76; + static const jint VK_M = 77; + static const jint VK_N = 78; + static const jint VK_O = 79; + static const jint VK_P = 80; + static const jint VK_Q = 81; + static const jint VK_R = 82; + static const jint VK_S = 83; + static const jint VK_T = 84; + static const jint VK_U = 85; + static const jint VK_V = 86; + static const jint VK_W = 87; + static const jint VK_X = 88; + static const jint VK_Y = 89; + static const jint VK_Z = 90; + static const jint VK_OPEN_BRACKET = 91; + static const jint VK_BACK_SLASH = 92; + static const jint VK_CLOSE_BRACKET = 93; + static const jint VK_NUMPAD0 = 96; + static const jint VK_NUMPAD1 = 97; + static const jint VK_NUMPAD2 = 98; + static const jint VK_NUMPAD3 = 99; + static const jint VK_NUMPAD4 = 100; + static const jint VK_NUMPAD5 = 101; + static const jint VK_NUMPAD6 = 102; + static const jint VK_NUMPAD7 = 103; + static const jint VK_NUMPAD8 = 104; + static const jint VK_NUMPAD9 = 105; + static const jint VK_MULTIPLY = 106; + static const jint VK_ADD = 107; + static const jint VK_SEPARATER = 108; + static const jint VK_SEPARATOR = 108; + static const jint VK_SUBTRACT = 109; + static const jint VK_DECIMAL = 110; + static const jint VK_DIVIDE = 111; + static const jint VK_DELETE = 127; + static const jint VK_NUM_LOCK = 144; + static const jint VK_SCROLL_LOCK = 145; + static const jint VK_F1 = 112; + static const jint VK_F2 = 113; + static const jint VK_F3 = 114; + static const jint VK_F4 = 115; + static const jint VK_F5 = 116; + static const jint VK_F6 = 117; + static const jint VK_F7 = 118; + static const jint VK_F8 = 119; + static const jint VK_F9 = 120; + static const jint VK_F10 = 121; + static const jint VK_F11 = 122; + static const jint VK_F12 = 123; + static const jint VK_F13 = 61440; + static const jint VK_F14 = 61441; + static const jint VK_F15 = 61442; + static const jint VK_F16 = 61443; + static const jint VK_F17 = 61444; + static const jint VK_F18 = 61445; + static const jint VK_F19 = 61446; + static const jint VK_F20 = 61447; + static const jint VK_F21 = 61448; + static const jint VK_F22 = 61449; + static const jint VK_F23 = 61450; + static const jint VK_F24 = 61451; + static const jint VK_PRINTSCREEN = 154; + static const jint VK_INSERT = 155; + static const jint VK_HELP = 156; + static const jint VK_META = 157; + static const jint VK_BACK_QUOTE = 192; + static const jint VK_QUOTE = 222; + static const jint VK_KP_UP = 224; + static const jint VK_KP_DOWN = 225; + static const jint VK_KP_LEFT = 226; + static const jint VK_KP_RIGHT = 227; + static const jint VK_DEAD_GRAVE = 128; + static const jint VK_DEAD_ACUTE = 129; + static const jint VK_DEAD_CIRCUMFLEX = 130; + static const jint VK_DEAD_TILDE = 131; + static const jint VK_DEAD_MACRON = 132; + static const jint VK_DEAD_BREVE = 133; + static const jint VK_DEAD_ABOVEDOT = 134; + static const jint VK_DEAD_DIAERESIS = 135; + static const jint VK_DEAD_ABOVERING = 136; + static const jint VK_DEAD_DOUBLEACUTE = 137; + static const jint VK_DEAD_CARON = 138; + static const jint VK_DEAD_CEDILLA = 139; + static const jint VK_DEAD_OGONEK = 140; + static const jint VK_DEAD_IOTA = 141; + static const jint VK_DEAD_VOICED_SOUND = 142; + static const jint VK_DEAD_SEMIVOICED_SOUND = 143; + static const jint VK_AMPERSAND = 150; + static const jint VK_ASTERISK = 151; + static const jint VK_QUOTEDBL = 152; + static const jint VK_LESS = 153; + static const jint VK_GREATER = 160; + static const jint VK_BRACELEFT = 161; + static const jint VK_BRACERIGHT = 162; + static const jint VK_AT = 512; + static const jint VK_COLON = 513; + static const jint VK_CIRCUMFLEX = 514; + static const jint VK_DOLLAR = 515; + static const jint VK_EURO_SIGN = 516; + static const jint VK_EXCLAMATION_MARK = 517; + static const jint VK_INVERTED_EXCLAMATION_MARK = 518; + static const jint VK_LEFT_PARENTHESIS = 519; + static const jint VK_NUMBER_SIGN = 520; + static const jint VK_PLUS = 521; + static const jint VK_RIGHT_PARENTHESIS = 522; + static const jint VK_UNDERSCORE = 523; + static const jint VK_FINAL = 24; + static const jint VK_CONVERT = 28; + static const jint VK_NONCONVERT = 29; + static const jint VK_ACCEPT = 30; + static const jint VK_MODECHANGE = 31; + static const jint VK_KANA = 21; + static const jint VK_KANJI = 25; + static const jint VK_ALPHANUMERIC = 240; + static const jint VK_KATAKANA = 241; + static const jint VK_HIRAGANA = 242; + static const jint VK_FULL_WIDTH = 243; + static const jint VK_HALF_WIDTH = 244; + static const jint VK_ROMAN_CHARACTERS = 245; + static const jint VK_ALL_CANDIDATES = 256; + static const jint VK_PREVIOUS_CANDIDATE = 257; + static const jint VK_CODE_INPUT = 258; + static const jint VK_JAPANESE_KATAKANA = 259; + static const jint VK_JAPANESE_HIRAGANA = 260; + static const jint VK_JAPANESE_ROMAN = 261; + static const jint VK_KANA_LOCK = 262; + static const jint VK_INPUT_METHOD_ON_OFF = 263; + static const jint VK_CUT = 65489; + static const jint VK_COPY = 65485; + static const jint VK_PASTE = 65487; + static const jint VK_UNDO = 65483; + static const jint VK_AGAIN = 65481; + static const jint VK_FIND = 65488; + static const jint VK_PROPS = 65482; + static const jint VK_STOP = 65480; + static const jint VK_COMPOSE = 65312; + static const jint VK_ALT_GRAPH = 65406; + static const jint VK_BEGIN = 65368; + static const jint VK_CONTEXT_MENU = 525; + static const jint VK_WINDOWS = 524; + static const jint VK_UNDEFINED = 0; + static const jchar CHAR_UNDEFINED = 65535; + static const jint KEY_LOCATION_UNKNOWN = 0; + static const jint KEY_LOCATION_STANDARD = 1; + static const jint KEY_LOCATION_LEFT = 2; + static const jint KEY_LOCATION_RIGHT = 3; + static const jint KEY_LOCATION_NUMPAD = 4; +private: + jint __attribute__((aligned(__alignof__( ::java::awt::event::InputEvent)))) keyCode; + jchar keyChar; + jint keyLocation; + jboolean isProxyActive; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_KeyEvent__ diff --git a/libjava/java/awt/event/KeyListener.h b/libjava/java/awt/event/KeyListener.h new file mode 100644 index 00000000000..a25e5b83e8f --- /dev/null +++ b/libjava/java/awt/event/KeyListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_KeyListener__ +#define __java_awt_event_KeyListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + class KeyListener; + } + } + } +} + +class java::awt::event::KeyListener : public ::java::lang::Object +{ + +public: + virtual void keyTyped(::java::awt::event::KeyEvent *) = 0; + virtual void keyPressed(::java::awt::event::KeyEvent *) = 0; + virtual void keyReleased(::java::awt::event::KeyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_KeyListener__ diff --git a/libjava/java/awt/event/MouseAdapter.h b/libjava/java/awt/event/MouseAdapter.h new file mode 100644 index 00000000000..d0ee27ee757 --- /dev/null +++ b/libjava/java/awt/event/MouseAdapter.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseAdapter__ +#define __java_awt_event_MouseAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseAdapter; + class MouseEvent; + } + } + } +} + +class java::awt::event::MouseAdapter : public ::java::lang::Object +{ + +public: + MouseAdapter(); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_MouseAdapter__ diff --git a/libjava/java/awt/event/MouseEvent.h b/libjava/java/awt/event/MouseEvent.h new file mode 100644 index 00000000000..439fc50ca39 --- /dev/null +++ b/libjava/java/awt/event/MouseEvent.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseEvent__ +#define __java_awt_event_MouseEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + namespace event + { + class MouseEvent; + } + } + } +} + +class java::awt::event::MouseEvent : public ::java::awt::event::InputEvent +{ + +public: + MouseEvent(::java::awt::Component *, jint, jlong, jint, jint, jint, jint, jboolean, jint); + MouseEvent(::java::awt::Component *, jint, jlong, jint, jint, jint, jint, jboolean); + virtual jint getX(); + virtual jint getY(); + virtual ::java::awt::Point * getPoint(); + virtual void translatePoint(jint, jint); + virtual jint getClickCount(); + virtual jint getButton(); + virtual jboolean isPopupTrigger(); + static ::java::lang::String * getMouseModifiersText(jint); + virtual ::java::lang::String * paramString(); +private: + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -991214153494842848LL; +public: + static const jint MOUSE_FIRST = 500; + static const jint MOUSE_LAST = 507; + static const jint MOUSE_CLICKED = 500; + static const jint MOUSE_PRESSED = 501; + static const jint MOUSE_RELEASED = 502; + static const jint MOUSE_MOVED = 503; + static const jint MOUSE_ENTERED = 504; + static const jint MOUSE_EXITED = 505; + static const jint NOBUTTON = 0; + static const jint BUTTON1 = 1; + static const jint BUTTON2 = 2; + static const jint BUTTON3 = 3; + static const jint MOUSE_DRAGGED = 506; + static const jint MOUSE_WHEEL = 507; +private: + jint __attribute__((aligned(__alignof__( ::java::awt::event::InputEvent)))) x; + jint y; + jint clickCount; + jint button; + jboolean popupTrigger; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_MouseEvent__ diff --git a/libjava/java/awt/event/MouseListener.h b/libjava/java/awt/event/MouseListener.h new file mode 100644 index 00000000000..d3263ab8e74 --- /dev/null +++ b/libjava/java/awt/event/MouseListener.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseListener__ +#define __java_awt_event_MouseListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + class MouseListener; + } + } + } +} + +class java::awt::event::MouseListener : public ::java::lang::Object +{ + +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *) = 0; + virtual void mousePressed(::java::awt::event::MouseEvent *) = 0; + virtual void mouseReleased(::java::awt::event::MouseEvent *) = 0; + virtual void mouseEntered(::java::awt::event::MouseEvent *) = 0; + virtual void mouseExited(::java::awt::event::MouseEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_MouseListener__ diff --git a/libjava/java/awt/event/MouseMotionAdapter.h b/libjava/java/awt/event/MouseMotionAdapter.h new file mode 100644 index 00000000000..2c29cdd9d54 --- /dev/null +++ b/libjava/java/awt/event/MouseMotionAdapter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseMotionAdapter__ +#define __java_awt_event_MouseMotionAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + class MouseMotionAdapter; + } + } + } +} + +class java::awt::event::MouseMotionAdapter : public ::java::lang::Object +{ + +public: + MouseMotionAdapter(); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_MouseMotionAdapter__ diff --git a/libjava/java/awt/event/MouseMotionListener.h b/libjava/java/awt/event/MouseMotionListener.h new file mode 100644 index 00000000000..84087bbf0a2 --- /dev/null +++ b/libjava/java/awt/event/MouseMotionListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseMotionListener__ +#define __java_awt_event_MouseMotionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + class MouseMotionListener; + } + } + } +} + +class java::awt::event::MouseMotionListener : public ::java::lang::Object +{ + +public: + virtual void mouseDragged(::java::awt::event::MouseEvent *) = 0; + virtual void mouseMoved(::java::awt::event::MouseEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_MouseMotionListener__ diff --git a/libjava/java/awt/event/MouseWheelEvent.h b/libjava/java/awt/event/MouseWheelEvent.h new file mode 100644 index 00000000000..fd804a126c4 --- /dev/null +++ b/libjava/java/awt/event/MouseWheelEvent.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseWheelEvent__ +#define __java_awt_event_MouseWheelEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class MouseWheelEvent; + } + } + } +} + +class java::awt::event::MouseWheelEvent : public ::java::awt::event::MouseEvent +{ + +public: + MouseWheelEvent(::java::awt::Component *, jint, jlong, jint, jint, jint, jint, jboolean, jint, jint, jint); + virtual jint getScrollType(); + virtual jint getScrollAmount(); + virtual jint getWheelRotation(); + virtual jint getUnitsToScroll(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 6459879390515399677LL; +public: + static const jint WHEEL_UNIT_SCROLL = 0; + static const jint WHEEL_BLOCK_SCROLL = 1; +private: + jint __attribute__((aligned(__alignof__( ::java::awt::event::MouseEvent)))) scrollType; + jint scrollAmount; + jint wheelRotation; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_MouseWheelEvent__ diff --git a/libjava/java/awt/event/MouseWheelListener.h b/libjava/java/awt/event/MouseWheelListener.h new file mode 100644 index 00000000000..525b427e413 --- /dev/null +++ b/libjava/java/awt/event/MouseWheelListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_MouseWheelListener__ +#define __java_awt_event_MouseWheelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseWheelEvent; + class MouseWheelListener; + } + } + } +} + +class java::awt::event::MouseWheelListener : public ::java::lang::Object +{ + +public: + virtual void mouseWheelMoved(::java::awt::event::MouseWheelEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_MouseWheelListener__ diff --git a/libjava/java/awt/event/PaintEvent.h b/libjava/java/awt/event/PaintEvent.h new file mode 100644 index 00000000000..4d1802729c2 --- /dev/null +++ b/libjava/java/awt/event/PaintEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_PaintEvent__ +#define __java_awt_event_PaintEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Rectangle; + namespace event + { + class PaintEvent; + } + } + } +} + +class java::awt::event::PaintEvent : public ::java::awt::event::ComponentEvent +{ + +public: + PaintEvent(::java::awt::Component *, jint, ::java::awt::Rectangle *); + virtual ::java::awt::Rectangle * getUpdateRect(); + virtual void setUpdateRect(::java::awt::Rectangle *); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 1267492026433337593LL; +public: + static const jint PAINT_FIRST = 800; + static const jint PAINT_LAST = 801; + static const jint PAINT = 800; + static const jint UPDATE = 801; +private: + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentEvent)))) updateRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_PaintEvent__ diff --git a/libjava/java/awt/event/TextEvent.h b/libjava/java/awt/event/TextEvent.h new file mode 100644 index 00000000000..bd673f73ccb --- /dev/null +++ b/libjava/java/awt/event/TextEvent.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_TextEvent__ +#define __java_awt_event_TextEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class TextEvent; + } + } + } +} + +class java::awt::event::TextEvent : public ::java::awt::AWTEvent +{ + +public: + TextEvent(::java::lang::Object *, jint); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 6269902291250941179LL; +public: + static const jint TEXT_FIRST = 900; + static const jint TEXT_LAST = 900; + static const jint TEXT_VALUE_CHANGED = 900; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_TextEvent__ diff --git a/libjava/java/awt/event/TextListener.h b/libjava/java/awt/event/TextListener.h new file mode 100644 index 00000000000..cb3ad2c9185 --- /dev/null +++ b/libjava/java/awt/event/TextListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_TextListener__ +#define __java_awt_event_TextListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class TextEvent; + class TextListener; + } + } + } +} + +class java::awt::event::TextListener : public ::java::lang::Object +{ + +public: + virtual void textValueChanged(::java::awt::event::TextEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_TextListener__ diff --git a/libjava/java/awt/event/WindowAdapter.h b/libjava/java/awt/event/WindowAdapter.h new file mode 100644 index 00000000000..fda064b21c5 --- /dev/null +++ b/libjava/java/awt/event/WindowAdapter.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_WindowAdapter__ +#define __java_awt_event_WindowAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowAdapter; + class WindowEvent; + } + } + } +} + +class java::awt::event::WindowAdapter : public ::java::lang::Object +{ + +public: + WindowAdapter(); + virtual void windowOpened(::java::awt::event::WindowEvent *); + virtual void windowClosing(::java::awt::event::WindowEvent *); + virtual void windowClosed(::java::awt::event::WindowEvent *); + virtual void windowIconified(::java::awt::event::WindowEvent *); + virtual void windowDeiconified(::java::awt::event::WindowEvent *); + virtual void windowActivated(::java::awt::event::WindowEvent *); + virtual void windowDeactivated(::java::awt::event::WindowEvent *); + virtual void windowStateChanged(::java::awt::event::WindowEvent *); + virtual void windowGainedFocus(::java::awt::event::WindowEvent *); + virtual void windowLostFocus(::java::awt::event::WindowEvent *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_WindowAdapter__ diff --git a/libjava/java/awt/event/WindowEvent.h b/libjava/java/awt/event/WindowEvent.h new file mode 100644 index 00000000000..886927787e7 --- /dev/null +++ b/libjava/java/awt/event/WindowEvent.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_WindowEvent__ +#define __java_awt_event_WindowEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Window; + namespace event + { + class WindowEvent; + } + } + } +} + +class java::awt::event::WindowEvent : public ::java::awt::event::ComponentEvent +{ + +public: + WindowEvent(::java::awt::Window *, jint, ::java::awt::Window *, jint, jint); + WindowEvent(::java::awt::Window *, jint, ::java::awt::Window *); + WindowEvent(::java::awt::Window *, jint, jint, jint); + WindowEvent(::java::awt::Window *, jint); + virtual ::java::awt::Window * getWindow(); + virtual ::java::awt::Window * getOppositeWindow(); + virtual jint getOldState(); + virtual jint getNewState(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = -1567959133147912127LL; +public: + static const jint WINDOW_FIRST = 200; + static const jint WINDOW_OPENED = 200; + static const jint WINDOW_CLOSING = 201; + static const jint WINDOW_CLOSED = 202; + static const jint WINDOW_ICONIFIED = 203; + static const jint WINDOW_DEICONIFIED = 204; + static const jint WINDOW_ACTIVATED = 205; + static const jint WINDOW_DEACTIVATED = 206; + static const jint WINDOW_GAINED_FOCUS = 207; + static const jint WINDOW_LOST_FOCUS = 208; + static const jint WINDOW_STATE_CHANGED = 209; + static const jint WINDOW_LAST = 209; +private: + ::java::awt::Window * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentEvent)))) opposite; + jint oldState; + jint newState; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_event_WindowEvent__ diff --git a/libjava/java/awt/event/WindowFocusListener.h b/libjava/java/awt/event/WindowFocusListener.h new file mode 100644 index 00000000000..5ff8d3ac18a --- /dev/null +++ b/libjava/java/awt/event/WindowFocusListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_WindowFocusListener__ +#define __java_awt_event_WindowFocusListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowEvent; + class WindowFocusListener; + } + } + } +} + +class java::awt::event::WindowFocusListener : public ::java::lang::Object +{ + +public: + virtual void windowGainedFocus(::java::awt::event::WindowEvent *) = 0; + virtual void windowLostFocus(::java::awt::event::WindowEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_WindowFocusListener__ diff --git a/libjava/java/awt/event/WindowListener.h b/libjava/java/awt/event/WindowListener.h new file mode 100644 index 00000000000..b1b3109fc27 --- /dev/null +++ b/libjava/java/awt/event/WindowListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_WindowListener__ +#define __java_awt_event_WindowListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowEvent; + class WindowListener; + } + } + } +} + +class java::awt::event::WindowListener : public ::java::lang::Object +{ + +public: + virtual void windowOpened(::java::awt::event::WindowEvent *) = 0; + virtual void windowClosing(::java::awt::event::WindowEvent *) = 0; + virtual void windowClosed(::java::awt::event::WindowEvent *) = 0; + virtual void windowIconified(::java::awt::event::WindowEvent *) = 0; + virtual void windowDeiconified(::java::awt::event::WindowEvent *) = 0; + virtual void windowActivated(::java::awt::event::WindowEvent *) = 0; + virtual void windowDeactivated(::java::awt::event::WindowEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_WindowListener__ diff --git a/libjava/java/awt/event/WindowStateListener.h b/libjava/java/awt/event/WindowStateListener.h new file mode 100644 index 00000000000..459ad6926be --- /dev/null +++ b/libjava/java/awt/event/WindowStateListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_event_WindowStateListener__ +#define __java_awt_event_WindowStateListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowEvent; + class WindowStateListener; + } + } + } +} + +class java::awt::event::WindowStateListener : public ::java::lang::Object +{ + +public: + virtual void windowStateChanged(::java::awt::event::WindowEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_event_WindowStateListener__ diff --git a/libjava/java/awt/font/FontRenderContext.h b/libjava/java/awt/font/FontRenderContext.h new file mode 100644 index 00000000000..30fb5973aee --- /dev/null +++ b/libjava/java/awt/font/FontRenderContext.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_FontRenderContext__ +#define __java_awt_font_FontRenderContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class FontRenderContext; + } + namespace geom + { + class AffineTransform; + } + } + } +} + +class java::awt::font::FontRenderContext : public ::java::lang::Object +{ + +public: // actually protected + FontRenderContext(); +public: + FontRenderContext(::java::awt::geom::AffineTransform *, jboolean, jboolean); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean equals(::java::awt::font::FontRenderContext *); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual jint hashCode(); + virtual jboolean isAntiAliased(); + virtual jboolean usesFractionalMetrics(); +private: + ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::lang::Object)))) affineTransform; + jboolean isAntiAliased__; + jboolean usesFractionalMetrics__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_FontRenderContext__ diff --git a/libjava/java/awt/font/GlyphJustificationInfo.h b/libjava/java/awt/font/GlyphJustificationInfo.h new file mode 100644 index 00000000000..eb880668053 --- /dev/null +++ b/libjava/java/awt/font/GlyphJustificationInfo.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_GlyphJustificationInfo__ +#define __java_awt_font_GlyphJustificationInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class GlyphJustificationInfo; + } + } + } +} + +class java::awt::font::GlyphJustificationInfo : public ::java::lang::Object +{ + +public: + GlyphJustificationInfo(jfloat, jboolean, jint, jfloat, jfloat, jboolean, jint, jfloat, jfloat); + static const jint PRIORITY_KASHIDA = 0; + static const jint PRIORITY_WHITESPACE = 1; + static const jint PRIORITY_INTERCHAR = 2; + static const jint PRIORITY_NONE = 3; + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) weight; + jint growPriority; + jboolean growAbsorb; + jfloat growLeftLimit; + jfloat growRightLimit; + jint shrinkPriority; + jboolean shrinkAbsorb; + jfloat shrinkLeftLimit; + jfloat shrinkRightLimit; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_GlyphJustificationInfo__ diff --git a/libjava/java/awt/font/GlyphMetrics.h b/libjava/java/awt/font/GlyphMetrics.h new file mode 100644 index 00000000000..7c44a20f263 --- /dev/null +++ b/libjava/java/awt/font/GlyphMetrics.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_GlyphMetrics__ +#define __java_awt_font_GlyphMetrics__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class GlyphMetrics; + } + namespace geom + { + class Rectangle2D; + } + } + } +} + +class java::awt::font::GlyphMetrics : public ::java::lang::Object +{ + +public: + GlyphMetrics(jboolean, jfloat, jfloat, ::java::awt::geom::Rectangle2D *, jbyte); + GlyphMetrics(jfloat, ::java::awt::geom::Rectangle2D *, jbyte); + jfloat getAdvance(); + jfloat getAdvanceX(); + jfloat getAdvanceY(); + ::java::awt::geom::Rectangle2D * getBounds2D(); + jfloat getLSB(); + jfloat getRSB(); + jint getType(); + jboolean isCombining(); + jboolean isComponent(); + jboolean isLigature(); + jboolean isStandard(); + jboolean isWhitespace(); + static const jbyte COMBINING = 2; + static const jbyte COMPONENT = 3; + static const jbyte LIGATURE = 1; + static const jbyte STANDARD = 0; + static const jbyte WHITESPACE = 4; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) horizontal; + jfloat advanceX; + jfloat advanceY; + ::java::awt::geom::Rectangle2D * bounds; + jbyte glyphType; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_GlyphMetrics__ diff --git a/libjava/java/awt/font/GlyphVector.h b/libjava/java/awt/font/GlyphVector.h new file mode 100644 index 00000000000..67826afa8ca --- /dev/null +++ b/libjava/java/awt/font/GlyphVector.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_GlyphVector__ +#define __java_awt_font_GlyphVector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class Rectangle; + class Shape; + namespace font + { + class FontRenderContext; + class GlyphJustificationInfo; + class GlyphMetrics; + class GlyphVector; + } + namespace geom + { + class AffineTransform; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::font::GlyphVector : public ::java::lang::Object +{ + +public: + GlyphVector(); + virtual jboolean equals(::java::awt::font::GlyphVector *) = 0; + virtual ::java::awt::Font * getFont() = 0; + virtual ::java::awt::font::FontRenderContext * getFontRenderContext() = 0; + virtual jint getGlyphCharIndex(jint); + virtual JArray< jint > * getGlyphCharIndices(jint, jint, JArray< jint > *); + virtual jint getGlyphCode(jint) = 0; + virtual JArray< jint > * getGlyphCodes(jint, jint, JArray< jint > *) = 0; + virtual ::java::awt::font::GlyphJustificationInfo * getGlyphJustificationInfo(jint) = 0; + virtual ::java::awt::Shape * getGlyphLogicalBounds(jint) = 0; + virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint) = 0; + virtual ::java::awt::Shape * getGlyphOutline(jint) = 0; + virtual ::java::awt::Shape * getGlyphOutline(jint, jfloat, jfloat); + virtual ::java::awt::Rectangle * getGlyphPixelBounds(jint, ::java::awt::font::FontRenderContext *, jfloat, jfloat); + virtual ::java::awt::geom::Point2D * getGlyphPosition(jint) = 0; + virtual JArray< jfloat > * getGlyphPositions(jint, jint, JArray< jfloat > *) = 0; + virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint) = 0; + virtual ::java::awt::Shape * getGlyphVisualBounds(jint) = 0; + virtual jint getLayoutFlags(); + virtual ::java::awt::geom::Rectangle2D * getLogicalBounds() = 0; + virtual jint getNumGlyphs() = 0; + virtual ::java::awt::Shape * getOutline() = 0; + virtual ::java::awt::Shape * getOutline(jfloat, jfloat) = 0; + virtual ::java::awt::Rectangle * getPixelBounds(::java::awt::font::FontRenderContext *, jfloat, jfloat); + virtual ::java::awt::geom::Rectangle2D * getVisualBounds() = 0; + virtual void performDefaultLayout() = 0; + virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *) = 0; + virtual void setGlyphTransform(jint, ::java::awt::geom::AffineTransform *) = 0; + static const jint FLAG_COMPLEX_GLYPHS = 8; + static const jint FLAG_HAS_POSITION_ADJUSTMENTS = 2; + static const jint FLAG_HAS_TRANSFORMS = 1; + static const jint FLAG_MASK = 15; + static const jint FLAG_RUN_RTL = 4; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_GlyphVector__ diff --git a/libjava/java/awt/font/GraphicAttribute.h b/libjava/java/awt/font/GraphicAttribute.h new file mode 100644 index 00000000000..622cbed7b89 --- /dev/null +++ b/libjava/java/awt/font/GraphicAttribute.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_GraphicAttribute__ +#define __java_awt_font_GraphicAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics2D; + namespace font + { + class GlyphJustificationInfo; + class GraphicAttribute; + } + namespace geom + { + class Rectangle2D; + } + } + } +} + +class java::awt::font::GraphicAttribute : public ::java::lang::Object +{ + +public: // actually protected + GraphicAttribute(jint); +public: + virtual void draw(::java::awt::Graphics2D *, jfloat, jfloat) = 0; + virtual jfloat getAdvance() = 0; + virtual jfloat getAscent() = 0; + virtual jfloat getDescent() = 0; + virtual jint getAlignment(); + virtual ::java::awt::geom::Rectangle2D * getBounds(); + virtual ::java::awt::font::GlyphJustificationInfo * getJustificationInfo(); + static const jint BOTTOM_ALIGNMENT = -2; + static const jint CENTER_BASELINE = 1; + static const jint HANGING_BASELINE = 2; + static const jint ROMAN_BASELINE = 0; + static const jint TOP_ALIGNMENT = -1; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) alignment; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_GraphicAttribute__ diff --git a/libjava/java/awt/font/ImageGraphicAttribute.h b/libjava/java/awt/font/ImageGraphicAttribute.h new file mode 100644 index 00000000000..086fc3d1b53 --- /dev/null +++ b/libjava/java/awt/font/ImageGraphicAttribute.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_ImageGraphicAttribute__ +#define __java_awt_font_ImageGraphicAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics2D; + class Image; + namespace font + { + class ImageGraphicAttribute; + } + namespace geom + { + class Rectangle2D; + } + } + } +} + +class java::awt::font::ImageGraphicAttribute : public ::java::awt::font::GraphicAttribute +{ + +public: + ImageGraphicAttribute(::java::awt::Image *, jint); + ImageGraphicAttribute(::java::awt::Image *, jint, jfloat, jfloat); + void draw(::java::awt::Graphics2D *, jfloat, jfloat); + jboolean equals(::java::lang::Object *); + jboolean equals(::java::awt::font::ImageGraphicAttribute *); + jfloat getAdvance(); + jfloat getAscent(); + ::java::awt::geom::Rectangle2D * getBounds(); + jfloat getDescent(); + jint hashCode(); +private: + ::java::awt::Image * __attribute__((aligned(__alignof__( ::java::awt::font::GraphicAttribute)))) image; + jfloat originX; + jfloat originY; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_ImageGraphicAttribute__ diff --git a/libjava/java/awt/font/LineBreakMeasurer.h b/libjava/java/awt/font/LineBreakMeasurer.h new file mode 100644 index 00000000000..3d862e74833 --- /dev/null +++ b/libjava/java/awt/font/LineBreakMeasurer.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_LineBreakMeasurer__ +#define __java_awt_font_LineBreakMeasurer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class FontRenderContext; + class LineBreakMeasurer; + class TextLayout; + class TextMeasurer; + } + } + namespace text + { + class AttributedCharacterIterator; + class BreakIterator; + } + } +} + +class java::awt::font::LineBreakMeasurer : public ::java::lang::Object +{ + +public: + LineBreakMeasurer(::java::text::AttributedCharacterIterator *, ::java::text::BreakIterator *, ::java::awt::font::FontRenderContext *); + LineBreakMeasurer(::java::text::AttributedCharacterIterator *, ::java::awt::font::FontRenderContext *); + void deleteChar(::java::text::AttributedCharacterIterator *, jint); + void insertChar(::java::text::AttributedCharacterIterator *, jint); + ::java::awt::font::TextLayout * nextLayout(jfloat); + ::java::awt::font::TextLayout * nextLayout(jfloat, jint, jboolean); + jint nextOffset(jfloat); + jint nextOffset(jfloat, jint, jboolean); + void setPosition(jint); + jint getPosition(); +private: + ::java::text::AttributedCharacterIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) text; + jint position; + ::java::awt::font::TextMeasurer * tm; + jint numChars; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_LineBreakMeasurer__ diff --git a/libjava/java/awt/font/LineMetrics.h b/libjava/java/awt/font/LineMetrics.h new file mode 100644 index 00000000000..35b8594dc1d --- /dev/null +++ b/libjava/java/awt/font/LineMetrics.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_LineMetrics__ +#define __java_awt_font_LineMetrics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class LineMetrics; + } + } + } +} + +class java::awt::font::LineMetrics : public ::java::lang::Object +{ + +public: + LineMetrics(); + virtual jfloat getAscent() = 0; + virtual jint getBaselineIndex() = 0; + virtual JArray< jfloat > * getBaselineOffsets() = 0; + virtual jfloat getDescent() = 0; + virtual jfloat getHeight() = 0; + virtual jfloat getLeading() = 0; + virtual jint getNumChars() = 0; + virtual jfloat getStrikethroughOffset() = 0; + virtual jfloat getStrikethroughThickness() = 0; + virtual jfloat getUnderlineOffset() = 0; + virtual jfloat getUnderlineThickness() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_LineMetrics__ diff --git a/libjava/java/awt/font/MultipleMaster.h b/libjava/java/awt/font/MultipleMaster.h new file mode 100644 index 00000000000..99e4580ae29 --- /dev/null +++ b/libjava/java/awt/font/MultipleMaster.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_MultipleMaster__ +#define __java_awt_font_MultipleMaster__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + namespace font + { + class MultipleMaster; + } + } + } +} + +class java::awt::font::MultipleMaster : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Font * deriveMMFont(JArray< jfloat > *) = 0; + virtual ::java::awt::Font * deriveMMFont(JArray< jfloat > *, jfloat, jfloat, jfloat, jfloat) = 0; + virtual JArray< jfloat > * getDesignAxisDefaults() = 0; + virtual JArray< ::java::lang::String * > * getDesignAxisNames() = 0; + virtual JArray< jfloat > * getDesignAxisRanges() = 0; + virtual jint getNumDesignAxes() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_font_MultipleMaster__ diff --git a/libjava/java/awt/font/NumericShaper.h b/libjava/java/awt/font/NumericShaper.h new file mode 100644 index 00000000000..85f0d4c318b --- /dev/null +++ b/libjava/java/awt/font/NumericShaper.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_NumericShaper__ +#define __java_awt_font_NumericShaper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class NumericShaper; + } + } + } +} + +class java::awt::font::NumericShaper : public ::java::lang::Object +{ + + NumericShaper(jint, jint); +public: + jint getRanges(); + jboolean isContextual(); + void shape(JArray< jchar > *, jint, jint); +private: + jint classify(::java::lang::Character$UnicodeBlock *); +public: + void shape(JArray< jchar > *, jint, jint, jint); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); + static ::java::awt::font::NumericShaper * getShaper(jint); + static ::java::awt::font::NumericShaper * getContextualShaper(jint); + static ::java::awt::font::NumericShaper * getContextualShaper(jint, jint); +private: + static const jlong serialVersionUID = -8022764705923730308LL; +public: + static const jint ALL_RANGES = 524287; + static const jint ARABIC = 2; + static const jint BENGALI = 16; + static const jint DEVANAGARI = 8; + static const jint EASTERN_ARABIC = 4; + static const jint ETHIOPIC = 65536; + static const jint EUROPEAN = 1; + static const jint GUJARATI = 64; + static const jint GURMUKHI = 32; + static const jint KANNADA = 1024; + static const jint KHMER = 131072; + static const jint LAO = 8192; + static const jint MALAYALAM = 2048; + static const jint MONGOLIAN = 262144; + static const jint MYANMAR = 32768; + static const jint ORIYA = 128; + static const jint TAMIL = 256; + static const jint TELUGU = 512; + static const jint THAI = 4096; + static const jint TIBETAN = 16384; +private: + static JArray< jchar > * zeroDigits; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + jint mask; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_NumericShaper__ diff --git a/libjava/java/awt/font/OpenType.h b/libjava/java/awt/font/OpenType.h new file mode 100644 index 00000000000..bd1c0a622c1 --- /dev/null +++ b/libjava/java/awt/font/OpenType.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_OpenType__ +#define __java_awt_font_OpenType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class OpenType; + } + } + } +} + +class java::awt::font::OpenType : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * getFontTable(jint) = 0; + virtual JArray< jbyte > * getFontTable(jint, jint, jint) = 0; + virtual JArray< jbyte > * getFontTable(::java::lang::String *) = 0; + virtual JArray< jbyte > * getFontTable(::java::lang::String *, jint, jint) = 0; + virtual jint getFontTableSize(jint) = 0; + virtual jint getFontTableSize(::java::lang::String *) = 0; + virtual jint getVersion() = 0; + static const jint TAG_ACNT = 1633906292; + static const jint TAG_AVAR = 1635148146; + static const jint TAG_BASE = 1111577413; + static const jint TAG_BDAT = 1650745716; + static const jint TAG_BLOC = 1651273571; + static const jint TAG_BSLN = 1651731566; + static const jint TAG_CFF = 1128678944; + static const jint TAG_CMAP = 1668112752; + static const jint TAG_CVAR = 1668702578; + static const jint TAG_CVT = 1668707360; + static const jint TAG_DSIG = 1146308935; + static const jint TAG_EBDT = 1161970772; + static const jint TAG_EBLC = 1161972803; + static const jint TAG_EBSC = 1161974595; + static const jint TAG_FDSC = 1717859171; + static const jint TAG_FEAT = 1717920116; + static const jint TAG_FMTX = 1718449272; + static const jint TAG_FPGM = 1718642541; + static const jint TAG_FVAR = 1719034226; + static const jint TAG_GASP = 1734439792; + static const jint TAG_GDEF = 1195656518; + static const jint TAG_GLYF = 1735162214; + static const jint TAG_GPOS = 1196445523; + static const jint TAG_GSUB = 1196643650; + static const jint TAG_GVAR = 1735811442; + static const jint TAG_HDMX = 1751412088; + static const jint TAG_HEAD = 1751474532; + static const jint TAG_HHEA = 1751672161; + static const jint TAG_HMTX = 1752003704; + static const jint TAG_JSTF = 1246975046; + static const jint TAG_JUST = 1786082164; + static const jint TAG_KERN = 1801810542; + static const jint TAG_LCAR = 1818452338; + static const jint TAG_LOCA = 1819239265; + static const jint TAG_LTSH = 1280594760; + static const jint TAG_MAXP = 1835104368; + static const jint TAG_MMFX = 1296909912; + static const jint TAG_MMSD = 1296913220; + static const jint TAG_MORT = 1836020340; + static const jint TAG_NAME = 1851878757; + static const jint TAG_OPBD = 1836020340; + static const jint TAG_OS2 = 1330851634; + static const jint TAG_PCLT = 1346587732; + static const jint TAG_POST = 1886352244; + static const jint TAG_PREP = 1886545264; + static const jint TAG_PROP = 1886547824; + static const jint TAG_TRAK = 1953653099; + static const jint TAG_TYP1 = 1954115633; + static const jint TAG_VDMX = 1447316824; + static const jint TAG_VHEA = 1986553185; + static const jint TAG_VMTX = 1986884728; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_font_OpenType__ diff --git a/libjava/java/awt/font/ShapeGraphicAttribute.h b/libjava/java/awt/font/ShapeGraphicAttribute.h new file mode 100644 index 00000000000..fd8d1be57ea --- /dev/null +++ b/libjava/java/awt/font/ShapeGraphicAttribute.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_ShapeGraphicAttribute__ +#define __java_awt_font_ShapeGraphicAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics2D; + class Shape; + namespace font + { + class ShapeGraphicAttribute; + } + namespace geom + { + class Rectangle2D; + } + } + } +} + +class java::awt::font::ShapeGraphicAttribute : public ::java::awt::font::GraphicAttribute +{ + +public: + ShapeGraphicAttribute(::java::awt::Shape *, jint, jboolean); + void draw(::java::awt::Graphics2D *, jfloat, jfloat); + jboolean equals(::java::lang::Object *); + jboolean equals(::java::awt::font::ShapeGraphicAttribute *); + jfloat getAdvance(); + jfloat getAscent(); + jfloat getDescent(); + ::java::awt::geom::Rectangle2D * getBounds(); + jint hashCode(); + static const jboolean FILL = 0; + static const jboolean STROKE = 1; +private: + ::java::awt::Shape * __attribute__((aligned(__alignof__( ::java::awt::font::GraphicAttribute)))) shape; + jboolean stroke; + ::java::awt::geom::Rectangle2D * bounds; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_ShapeGraphicAttribute__ diff --git a/libjava/java/awt/font/TextAttribute.h b/libjava/java/awt/font/TextAttribute.h new file mode 100644 index 00000000000..050d7149108 --- /dev/null +++ b/libjava/java/awt/font/TextAttribute.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TextAttribute__ +#define __java_awt_font_TextAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class TextAttribute; + } + } + } +} + +class java::awt::font::TextAttribute : public ::java::text::AttributedCharacterIterator$Attribute +{ + +public: // actually protected + TextAttribute(::java::lang::String *); + ::java::lang::Object * readResolve(); +private: + static const jlong serialVersionUID = 7744112784117861702LL; +public: + static ::java::awt::font::TextAttribute * BACKGROUND; + static ::java::awt::font::TextAttribute * BIDI_EMBEDDING; + static ::java::awt::font::TextAttribute * CHAR_REPLACEMENT; + static ::java::awt::font::TextAttribute * FAMILY; + static ::java::awt::font::TextAttribute * FONT; + static ::java::awt::font::TextAttribute * FOREGROUND; + static ::java::awt::font::TextAttribute * INPUT_METHOD_HIGHLIGHT; + static ::java::awt::font::TextAttribute * INPUT_METHOD_UNDERLINE; + static ::java::awt::font::TextAttribute * JUSTIFICATION; + static ::java::lang::Float * JUSTIFICATION_FULL; + static ::java::lang::Float * JUSTIFICATION_NONE; + static ::java::awt::font::TextAttribute * NUMERIC_SHAPING; + static ::java::awt::font::TextAttribute * POSTURE; + static ::java::lang::Float * POSTURE_OBLIQUE; + static ::java::lang::Float * POSTURE_REGULAR; + static ::java::awt::font::TextAttribute * RUN_DIRECTION; + static ::java::lang::Boolean * RUN_DIRECTION_LTR; + static ::java::lang::Boolean * RUN_DIRECTION_RTL; + static ::java::awt::font::TextAttribute * SIZE; + static ::java::awt::font::TextAttribute * STRIKETHROUGH; + static ::java::lang::Boolean * STRIKETHROUGH_ON; + static ::java::awt::font::TextAttribute * SUPERSCRIPT; + static ::java::lang::Integer * SUPERSCRIPT_SUB; + static ::java::lang::Integer * SUPERSCRIPT_SUPER; + static ::java::awt::font::TextAttribute * SWAP_COLORS; + static ::java::lang::Boolean * SWAP_COLORS_ON; + static ::java::awt::font::TextAttribute * TRANSFORM; + static ::java::awt::font::TextAttribute * UNDERLINE; + static ::java::lang::Integer * UNDERLINE_LOW_DASHED; + static ::java::lang::Integer * UNDERLINE_LOW_DOTTED; + static ::java::lang::Integer * UNDERLINE_LOW_GRAY; + static ::java::lang::Integer * UNDERLINE_LOW_ONE_PIXEL; + static ::java::lang::Integer * UNDERLINE_LOW_TWO_PIXEL; + static ::java::lang::Integer * UNDERLINE_ON; + static ::java::awt::font::TextAttribute * WEIGHT; + static ::java::lang::Float * WEIGHT_BOLD; + static ::java::lang::Float * WEIGHT_DEMIBOLD; + static ::java::lang::Float * WEIGHT_DEMILIGHT; + static ::java::lang::Float * WEIGHT_EXTRA_LIGHT; + static ::java::lang::Float * WEIGHT_EXTRABOLD; + static ::java::lang::Float * WEIGHT_HEAVY; + static ::java::lang::Float * WEIGHT_LIGHT; + static ::java::lang::Float * WEIGHT_MEDIUM; + static ::java::lang::Float * WEIGHT_REGULAR; + static ::java::lang::Float * WEIGHT_SEMIBOLD; + static ::java::lang::Float * WEIGHT_ULTRABOLD; + static ::java::awt::font::TextAttribute * WIDTH; + static ::java::lang::Float * WIDTH_CONDENSED; + static ::java::lang::Float * WIDTH_EXTENDED; + static ::java::lang::Float * WIDTH_REGULAR; + static ::java::lang::Float * WIDTH_SEMI_CONDENSED; + static ::java::lang::Float * WIDTH_SEMI_EXTENDED; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TextAttribute__ diff --git a/libjava/java/awt/font/TextHitInfo.h b/libjava/java/awt/font/TextHitInfo.h new file mode 100644 index 00000000000..a38745895e5 --- /dev/null +++ b/libjava/java/awt/font/TextHitInfo.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TextHitInfo__ +#define __java_awt_font_TextHitInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class TextHitInfo; + } + } + } +} + +class java::awt::font::TextHitInfo : public ::java::lang::Object +{ + +public: // actually package-private + TextHitInfo(jint, jboolean); +public: + jint getCharIndex(); + jboolean isLeadingEdge(); + jint getInsertionIndex(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jboolean equals(::java::awt::font::TextHitInfo *); + static ::java::awt::font::TextHitInfo * leading(jint); + static ::java::awt::font::TextHitInfo * trailing(jint); + static ::java::awt::font::TextHitInfo * beforeOffset(jint); + static ::java::awt::font::TextHitInfo * afterOffset(jint); + ::java::awt::font::TextHitInfo * getOtherHit(); + ::java::awt::font::TextHitInfo * getOffsetHit(jint); + ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) charIndex; + jboolean leadingEdge; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TextHitInfo__ diff --git a/libjava/java/awt/font/TextLayout$CaretPolicy.h b/libjava/java/awt/font/TextLayout$CaretPolicy.h new file mode 100644 index 00000000000..adb7b0d1fe6 --- /dev/null +++ b/libjava/java/awt/font/TextLayout$CaretPolicy.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TextLayout$CaretPolicy__ +#define __java_awt_font_TextLayout$CaretPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class TextHitInfo; + class TextLayout; + class TextLayout$CaretPolicy; + } + } + } +} + +class java::awt::font::TextLayout$CaretPolicy : public ::java::lang::Object +{ + +public: + TextLayout$CaretPolicy(); + virtual ::java::awt::font::TextHitInfo * getStrongCaret(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *, ::java::awt::font::TextLayout *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TextLayout$CaretPolicy__ diff --git a/libjava/java/awt/font/TextLayout$Run.h b/libjava/java/awt/font/TextLayout$Run.h new file mode 100644 index 00000000000..3760b6eef9d --- /dev/null +++ b/libjava/java/awt/font/TextLayout$Run.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TextLayout$Run__ +#define __java_awt_font_TextLayout$Run__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + namespace font + { + class GlyphVector; + class TextLayout; + class TextLayout$Run; + } + } + } +} + +class java::awt::font::TextLayout$Run : public ::java::lang::Object +{ + +public: // actually package-private + TextLayout$Run(::java::awt::font::TextLayout *, ::java::awt::font::GlyphVector *, ::java::awt::Font *, jint, jint); + virtual jboolean isLeftToRight(); + ::java::awt::font::GlyphVector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glyphVector; + ::java::awt::Font * font; + jint runStart; + jint runEnd; + jfloat location; + ::java::awt::font::TextLayout * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TextLayout$Run__ diff --git a/libjava/java/awt/font/TextLayout.h b/libjava/java/awt/font/TextLayout.h new file mode 100644 index 00000000000..f5c02bafd9b --- /dev/null +++ b/libjava/java/awt/font/TextLayout.h @@ -0,0 +1,140 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TextLayout__ +#define __java_awt_font_TextLayout__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class Graphics2D; + class Shape; + namespace font + { + class FontRenderContext; + class LineMetrics; + class TextHitInfo; + class TextLayout; + class TextLayout$CaretPolicy; + class TextLayout$Run; + } + namespace geom + { + class AffineTransform; + class Rectangle2D; + } + } + namespace text + { + class AttributedCharacterIterator; + class Bidi; + } + } +} + +class java::awt::font::TextLayout : public ::java::lang::Object +{ + +public: + TextLayout(::java::lang::String *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *); + TextLayout(::java::lang::String *, ::java::util::Map *, ::java::awt::font::FontRenderContext *); + TextLayout(::java::text::AttributedCharacterIterator *, ::java::awt::font::FontRenderContext *); +public: // actually package-private + TextLayout(::java::awt::font::TextLayout *, jint, jint); +private: + void setCharIndices(); + void setupMappings(); + static ::java::lang::String * getText(::java::text::AttributedCharacterIterator *); + static ::java::awt::Font * getFont(::java::text::AttributedCharacterIterator *); + void getStringProperties(); + void determineWhiteSpace(); +public: // actually protected + ::java::lang::Object * clone(); +public: + void draw(::java::awt::Graphics2D *, jfloat, jfloat); + jboolean equals(::java::lang::Object *); + jboolean equals(::java::awt::font::TextLayout *); + jfloat getAdvance(); + jfloat getAscent(); + jbyte getBaseline(); + JArray< jfloat > * getBaselineOffsets(); + ::java::awt::Shape * getBlackBoxBounds(jint, jint); + ::java::awt::geom::Rectangle2D * getBounds(); + JArray< jfloat > * getCaretInfo(::java::awt::font::TextHitInfo *); + JArray< jfloat > * getCaretInfo(::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *); + ::java::awt::Shape * getCaretShape(::java::awt::font::TextHitInfo *); + ::java::awt::Shape * getCaretShape(::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *); + JArray< ::java::awt::Shape * > * getCaretShapes(jint); + JArray< ::java::awt::Shape * > * getCaretShapes(jint, ::java::awt::geom::Rectangle2D *); + JArray< ::java::awt::Shape * > * getCaretShapes(jint, ::java::awt::geom::Rectangle2D *, ::java::awt::font::TextLayout$CaretPolicy *); + jint getCharacterCount(); + jbyte getCharacterLevel(jint); + jfloat getDescent(); + ::java::awt::font::TextLayout * getJustifiedLayout(jfloat); + jfloat getLeading(); + ::java::awt::Shape * getLogicalHighlightShape(jint, jint); + ::java::awt::Shape * getLogicalHighlightShape(jint, jint, ::java::awt::geom::Rectangle2D *); + JArray< jint > * getLogicalRangesForVisualSelection(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *); + ::java::awt::font::TextHitInfo * getNextLeftHit(jint); + ::java::awt::font::TextHitInfo * getNextLeftHit(jint, ::java::awt::font::TextLayout$CaretPolicy *); + ::java::awt::font::TextHitInfo * getNextLeftHit(::java::awt::font::TextHitInfo *); + ::java::awt::font::TextHitInfo * getNextRightHit(jint); + ::java::awt::font::TextHitInfo * getNextRightHit(jint, ::java::awt::font::TextLayout$CaretPolicy *); + ::java::awt::font::TextHitInfo * getNextRightHit(::java::awt::font::TextHitInfo *); + ::java::awt::Shape * getOutline(::java::awt::geom::AffineTransform *); + jfloat getVisibleAdvance(); + ::java::awt::Shape * getVisualHighlightShape(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *); + ::java::awt::Shape * getVisualHighlightShape(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *); +private: + ::java::awt::Shape * left(::java::awt::geom::Rectangle2D *); + ::java::awt::Shape * right(::java::awt::geom::Rectangle2D *); +public: + ::java::awt::font::TextHitInfo * getVisualOtherHit(::java::awt::font::TextHitInfo *); +public: // actually protected + void handleJustify(jfloat); +public: + ::java::awt::font::TextHitInfo * hitTestChar(jfloat, jfloat); + ::java::awt::font::TextHitInfo * hitTestChar(jfloat, jfloat, ::java::awt::geom::Rectangle2D *); + jboolean isLeftToRight(); + jboolean isVertical(); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::awt::geom::Rectangle2D * getNaturalBounds(); + void checkHitInfo(::java::awt::font::TextHitInfo *); + jint hitToCaret(::java::awt::font::TextHitInfo *); + ::java::awt::font::TextHitInfo * caretToHit(jint); + jboolean isCharacterLTR(jint); + ::java::awt::font::TextLayout$Run * findRunAtIndex(jint); + void layoutRuns(); + JArray< ::java::awt::font::TextLayout$Run * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) runs; + ::java::awt::font::FontRenderContext * frc; + JArray< jchar > * string; + jint offset; + jint length; + ::java::awt::geom::Rectangle2D * boundsCache; + ::java::awt::font::LineMetrics * lm; + jfloat totalAdvance; + ::java::awt::geom::Rectangle2D * naturalBounds; + JArray< JArray< jint > * > * charIndices; + jboolean leftToRight; + jboolean hasWhitespace; + ::java::text::Bidi * bidi; + JArray< jint > * logicalToVisual; + JArray< jint > * visualToLogical; + jint hash; +public: + static ::java::awt::font::TextLayout$CaretPolicy * DEFAULT_CARET_POLICY; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TextLayout__ diff --git a/libjava/java/awt/font/TextMeasurer.h b/libjava/java/awt/font/TextMeasurer.h new file mode 100644 index 00000000000..31ca7b27fa5 --- /dev/null +++ b/libjava/java/awt/font/TextMeasurer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TextMeasurer__ +#define __java_awt_font_TextMeasurer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class FontRenderContext; + class TextLayout; + class TextMeasurer; + } + } + namespace text + { + class AttributedCharacterIterator; + } + } +} + +class java::awt::font::TextMeasurer : public ::java::lang::Object +{ + +public: + TextMeasurer(::java::text::AttributedCharacterIterator *, ::java::awt::font::FontRenderContext *); +public: // actually protected + ::java::lang::Object * clone(); +public: + void deleteChar(::java::text::AttributedCharacterIterator *, jint); + void insertChar(::java::text::AttributedCharacterIterator *, jint); + jfloat getAdvanceBetween(jint, jint); + ::java::awt::font::TextLayout * getLayout(jint, jint); + jint getLineBreakIndex(jint, jfloat); +private: + ::java::text::AttributedCharacterIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) text; + ::java::awt::font::FontRenderContext * frc; + ::java::awt::font::TextLayout * totalLayout; + jint numChars; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TextMeasurer__ diff --git a/libjava/java/awt/font/TransformAttribute.h b/libjava/java/awt/font/TransformAttribute.h new file mode 100644 index 00000000000..16875a23d46 --- /dev/null +++ b/libjava/java/awt/font/TransformAttribute.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_font_TransformAttribute__ +#define __java_awt_font_TransformAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace font + { + class TransformAttribute; + } + namespace geom + { + class AffineTransform; + } + } + } +} + +class java::awt::font::TransformAttribute : public ::java::lang::Object +{ + +public: + TransformAttribute(::java::awt::geom::AffineTransform *); + ::java::awt::geom::AffineTransform * getTransform(); + jboolean isIdentity(); +private: + static const jlong serialVersionUID = 3356247357827709530LL; + ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::lang::Object)))) affineTransform; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_font_TransformAttribute__ diff --git a/libjava/java/awt/geom/AffineTransform.h b/libjava/java/awt/geom/AffineTransform.h new file mode 100644 index 00000000000..4c5efc8bb24 --- /dev/null +++ b/libjava/java/awt/geom/AffineTransform.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_AffineTransform__ +#define __java_awt_geom_AffineTransform__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + namespace geom + { + class AffineTransform; + class Point2D; + } + } + } +} + +class java::awt::geom::AffineTransform : public ::java::lang::Object +{ + +public: + AffineTransform(); + AffineTransform(::java::awt::geom::AffineTransform *); + AffineTransform(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + AffineTransform(JArray< jfloat > *); + AffineTransform(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + AffineTransform(JArray< jdouble > *); + static ::java::awt::geom::AffineTransform * getTranslateInstance(jdouble, jdouble); + static ::java::awt::geom::AffineTransform * getRotateInstance(jdouble); + static ::java::awt::geom::AffineTransform * getRotateInstance(jdouble, jdouble, jdouble); + static ::java::awt::geom::AffineTransform * getScaleInstance(jdouble, jdouble); + static ::java::awt::geom::AffineTransform * getShearInstance(jdouble, jdouble); + virtual jint getType(); + virtual jdouble getDeterminant(); + virtual void getMatrix(JArray< jdouble > *); + virtual jdouble getScaleX(); + virtual jdouble getScaleY(); + virtual jdouble getShearX(); + virtual jdouble getShearY(); + virtual jdouble getTranslateX(); + virtual jdouble getTranslateY(); + virtual void translate(jdouble, jdouble); + virtual void rotate(jdouble); + virtual void rotate(jdouble, jdouble, jdouble); + virtual void scale(jdouble, jdouble); + virtual void shear(jdouble, jdouble); + virtual void setToIdentity(); + virtual void setToTranslation(jdouble, jdouble); + virtual void setToRotation(jdouble); + virtual void setToRotation(jdouble, jdouble, jdouble); + virtual void setToScale(jdouble, jdouble); + virtual void setToShear(jdouble, jdouble); + virtual void setTransform(::java::awt::geom::AffineTransform *); + virtual void setTransform(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual void concatenate(::java::awt::geom::AffineTransform *); + virtual void preConcatenate(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::AffineTransform * createInverse(); + virtual ::java::awt::geom::Point2D * transform(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void transform(JArray< ::java::awt::geom::Point2D * > *, jint, JArray< ::java::awt::geom::Point2D * > *, jint, jint); + virtual void transform(JArray< jfloat > *, jint, JArray< jfloat > *, jint, jint); + virtual void transform(JArray< jdouble > *, jint, JArray< jdouble > *, jint, jint); + virtual void transform(JArray< jfloat > *, jint, JArray< jdouble > *, jint, jint); + virtual void transform(JArray< jdouble > *, jint, JArray< jfloat > *, jint, jint); + virtual ::java::awt::geom::Point2D * inverseTransform(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void inverseTransform(JArray< jdouble > *, jint, JArray< jdouble > *, jint, jint); + virtual ::java::awt::geom::Point2D * deltaTransform(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void deltaTransform(JArray< jdouble > *, jint, JArray< jdouble > *, jint, jint); + virtual ::java::awt::Shape * createTransformedShape(::java::awt::Shape *); + virtual ::java::lang::String * toString(); + virtual jboolean isIdentity(); + virtual ::java::lang::Object * clone(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +private: + void updateType(); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 1330973210523860834LL; +public: + static const jint TYPE_IDENTITY = 0; + static const jint TYPE_TRANSLATION = 1; + static const jint TYPE_UNIFORM_SCALE = 2; + static const jint TYPE_GENERAL_SCALE = 4; + static const jint TYPE_MASK_SCALE = 6; + static const jint TYPE_FLIP = 64; + static const jint TYPE_QUADRANT_ROTATION = 8; + static const jint TYPE_GENERAL_ROTATION = 16; + static const jint TYPE_MASK_ROTATION = 24; + static const jint TYPE_GENERAL_TRANSFORM = 32; +private: + jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) m00; + jdouble m10; + jdouble m01; + jdouble m11; + jdouble m02; + jdouble m12; + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_AffineTransform__ diff --git a/libjava/java/awt/geom/Arc2D$ArcIterator.h b/libjava/java/awt/geom/Arc2D$ArcIterator.h new file mode 100644 index 00000000000..4fdf0e15c39 --- /dev/null +++ b/libjava/java/awt/geom/Arc2D$ArcIterator.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Arc2D$ArcIterator__ +#define __java_awt_geom_Arc2D$ArcIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Arc2D; + class Arc2D$ArcIterator; + class Ellipse2D; + } + } + } +} + +class java::awt::geom::Arc2D$ArcIterator : public ::java::lang::Object +{ + +public: + Arc2D$ArcIterator(::java::awt::geom::Arc2D *, ::java::awt::geom::AffineTransform *); + Arc2D$ArcIterator(::java::awt::geom::Ellipse2D *, ::java::awt::geom::AffineTransform *); + jint getWindingRule(); + jboolean isDone(); + void next(); + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; + jint limit; + ::java::awt::geom::AffineTransform * xform; + jdouble x; + jdouble y; + jdouble w; + jdouble h; + jdouble start; + jdouble extent; + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Arc2D$ArcIterator__ diff --git a/libjava/java/awt/geom/Arc2D$Double.h b/libjava/java/awt/geom/Arc2D$Double.h new file mode 100644 index 00000000000..d39148b70dd --- /dev/null +++ b/libjava/java/awt/geom/Arc2D$Double.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Arc2D$Double__ +#define __java_awt_geom_Arc2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Arc2D$Double; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Arc2D$Double : public ::java::awt::geom::Arc2D +{ + +public: + Arc2D$Double(); + Arc2D$Double(jint); + Arc2D$Double(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jint); + Arc2D$Double(::java::awt::geom::Rectangle2D *, jdouble, jdouble, jint); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jdouble getAngleStart(); + virtual jdouble getAngleExtent(); + virtual jboolean isEmpty(); + virtual void setArc(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jint); + virtual void setAngleStart(jdouble); + virtual void setAngleExtent(jdouble); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * makeBounds(jdouble, jdouble, jdouble, jdouble); +public: + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::Arc2D)))) x; + jdouble y; + jdouble width; + jdouble height; + jdouble start; + jdouble extent; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Arc2D$Double__ diff --git a/libjava/java/awt/geom/Arc2D$Float.h b/libjava/java/awt/geom/Arc2D$Float.h new file mode 100644 index 00000000000..925c425acc8 --- /dev/null +++ b/libjava/java/awt/geom/Arc2D$Float.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Arc2D$Float__ +#define __java_awt_geom_Arc2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Arc2D$Float; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Arc2D$Float : public ::java::awt::geom::Arc2D +{ + +public: + Arc2D$Float(); + Arc2D$Float(jint); + Arc2D$Float(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jint); + Arc2D$Float(::java::awt::geom::Rectangle2D *, jfloat, jfloat, jint); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jdouble getAngleStart(); + virtual jdouble getAngleExtent(); + virtual jboolean isEmpty(); + virtual void setArc(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jint); + virtual void setAngleStart(jdouble); + virtual void setAngleExtent(jdouble); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * makeBounds(jdouble, jdouble, jdouble, jdouble); +public: + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::Arc2D)))) x; + jfloat y; + jfloat width; + jfloat height; + jfloat start; + jfloat extent; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Arc2D$Float__ diff --git a/libjava/java/awt/geom/Arc2D.h b/libjava/java/awt/geom/Arc2D.h new file mode 100644 index 00000000000..d2bfc752793 --- /dev/null +++ b/libjava/java/awt/geom/Arc2D.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Arc2D__ +#define __java_awt_geom_Arc2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Arc2D; + class Dimension2D; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Arc2D : public ::java::awt::geom::RectangularShape +{ + +public: // actually protected + Arc2D(jint); +public: + virtual jdouble getAngleStart() = 0; + virtual jdouble getAngleExtent() = 0; + virtual jint getArcType(); + virtual ::java::awt::geom::Point2D * getStartPoint(); + virtual ::java::awt::geom::Point2D * getEndPoint(); + virtual void setArc(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jint) = 0; + virtual void setArc(::java::awt::geom::Point2D *, ::java::awt::geom::Dimension2D *, jdouble, jdouble, jint); + virtual void setArc(::java::awt::geom::Rectangle2D *, jdouble, jdouble, jint); + virtual void setArc(::java::awt::geom::Arc2D *); + virtual void setArcByCenter(jdouble, jdouble, jdouble, jdouble, jdouble, jint); + virtual void setArcByTangent(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, jdouble); + virtual void setAngleStart(jdouble) = 0; + virtual void setAngleExtent(jdouble) = 0; + virtual void setAngleStart(::java::awt::geom::Point2D *); + virtual void setAngles(jdouble, jdouble, jdouble, jdouble); + virtual void setAngles(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void setArcType(jint); + virtual void setFrame(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); +public: // actually protected + virtual ::java::awt::geom::Rectangle2D * makeBounds(jdouble, jdouble, jdouble, jdouble) = 0; +public: + virtual jboolean containsAngle(jdouble); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + static const jint OPEN = 0; + static const jint CHORD = 1; + static const jint PIE = 2; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::geom::RectangularShape)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Arc2D__ diff --git a/libjava/java/awt/geom/Area$AreaIterator$IteratorSegment.h b/libjava/java/awt/geom/Area$AreaIterator$IteratorSegment.h new file mode 100644 index 00000000000..2dfcf311e28 --- /dev/null +++ b/libjava/java/awt/geom/Area$AreaIterator$IteratorSegment.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$AreaIterator$IteratorSegment__ +#define __java_awt_geom_Area$AreaIterator$IteratorSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Area$AreaIterator; + class Area$AreaIterator$IteratorSegment; + } + } + } +} + +class java::awt::geom::Area$AreaIterator$IteratorSegment : public ::java::lang::Object +{ + +public: // actually package-private + Area$AreaIterator$IteratorSegment(::java::awt::geom::Area$AreaIterator *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + JArray< jdouble > * coords; + ::java::awt::geom::Area$AreaIterator * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$AreaIterator$IteratorSegment__ diff --git a/libjava/java/awt/geom/Area$AreaIterator.h b/libjava/java/awt/geom/Area$AreaIterator.h new file mode 100644 index 00000000000..86824256ad0 --- /dev/null +++ b/libjava/java/awt/geom/Area$AreaIterator.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$AreaIterator__ +#define __java_awt_geom_Area$AreaIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Area; + class Area$AreaIterator; + } + } + } +} + +class java::awt::geom::Area$AreaIterator : public ::java::lang::Object +{ + +public: + Area$AreaIterator(::java::awt::geom::Area *, ::java::awt::geom::AffineTransform *); + virtual jint currentSegment(JArray< jdouble > *); + virtual jint currentSegment(JArray< jfloat > *); + virtual jint getWindingRule(); + virtual jboolean isDone(); + virtual void next(); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) segments; + jint index; + ::java::awt::geom::AffineTransform * at; +public: // actually package-private + ::java::awt::geom::Area * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$AreaIterator__ diff --git a/libjava/java/awt/geom/Area$CubicSegment.h b/libjava/java/awt/geom/Area$CubicSegment.h new file mode 100644 index 00000000000..f5a31385e85 --- /dev/null +++ b/libjava/java/awt/geom/Area$CubicSegment.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$CubicSegment__ +#define __java_awt_geom_Area$CubicSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Area; + class Area$CubicSegment; + class Area$Segment; + class CubicCurve2D; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Area$CubicSegment : public ::java::awt::geom::Area$Segment +{ + +public: + Area$CubicSegment(::java::awt::geom::Area *, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual jdouble curveArea(); + virtual jboolean equals(::java::awt::geom::Area$Segment *); + virtual ::java::awt::geom::Point2D * evaluatePoint(jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds(); + virtual ::java::awt::geom::CubicCurve2D * getCubicCurve2D(); + virtual JArray< jdouble > * getLoop(); + virtual ::java::awt::geom::Point2D * getMidPoint(); + virtual jint getType(); + virtual jint pathIteratorFormat(JArray< jdouble > *); + virtual jint rayCrossing(jdouble, jdouble); + virtual void reverseCoords(); + virtual jint splitIntersections(::java::awt::geom::Area$Segment *); + virtual void subdivideInsert(jdouble); + virtual void transform(::java::awt::geom::AffineTransform *); + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::awt::geom::Area$Segment)))) cp1; + ::java::awt::geom::Point2D * cp2; + ::java::awt::geom::Area * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$CubicSegment__ diff --git a/libjava/java/awt/geom/Area$Intersection.h b/libjava/java/awt/geom/Area$Intersection.h new file mode 100644 index 00000000000..c4c716286c9 --- /dev/null +++ b/libjava/java/awt/geom/Area$Intersection.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$Intersection__ +#define __java_awt_geom_Area$Intersection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Area; + class Area$Intersection; + class Area$Segment; + class Point2D; + } + } + } +} + +class java::awt::geom::Area$Intersection : public ::java::lang::Object +{ + +public: + Area$Intersection(::java::awt::geom::Area *, ::java::awt::geom::Point2D *, jdouble, jdouble); +public: // actually package-private + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + jdouble ta; + jdouble tb; + ::java::awt::geom::Area$Segment * seg; + ::java::awt::geom::Area * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$Intersection__ diff --git a/libjava/java/awt/geom/Area$LineSegment.h b/libjava/java/awt/geom/Area$LineSegment.h new file mode 100644 index 00000000000..2eb0692a8d5 --- /dev/null +++ b/libjava/java/awt/geom/Area$LineSegment.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$LineSegment__ +#define __java_awt_geom_Area$LineSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Area; + class Area$LineSegment; + class Area$Segment; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Area$LineSegment : public ::java::awt::geom::Area$Segment +{ + +public: + Area$LineSegment(::java::awt::geom::Area *, jdouble, jdouble, jdouble, jdouble); + Area$LineSegment(::java::awt::geom::Area *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual void transform(::java::awt::geom::AffineTransform *); + virtual void reverseCoords(); + virtual ::java::awt::geom::Point2D * getMidPoint(); + virtual jdouble curveArea(); + virtual jint getType(); + virtual void subdivideInsert(jdouble); + virtual jboolean isCoLinear(::java::awt::geom::Area$LineSegment *); + virtual ::java::awt::geom::Area$Segment * lastCoLinear(); + virtual jboolean equals(::java::awt::geom::Area$Segment *); + virtual jint pathIteratorFormat(JArray< jdouble > *); + virtual jboolean hasIntersections(::java::awt::geom::Area$Segment *); + virtual jint splitIntersections(::java::awt::geom::Area$Segment *); + virtual ::java::awt::geom::Rectangle2D * getBounds(); + virtual jint rayCrossing(jdouble, jdouble); + ::java::awt::geom::Area * __attribute__((aligned(__alignof__( ::java::awt::geom::Area$Segment)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$LineSegment__ diff --git a/libjava/java/awt/geom/Area$QuadSegment.h b/libjava/java/awt/geom/Area$QuadSegment.h new file mode 100644 index 00000000000..ca6dc99c5c2 --- /dev/null +++ b/libjava/java/awt/geom/Area$QuadSegment.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$QuadSegment__ +#define __java_awt_geom_Area$QuadSegment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Area; + class Area$CubicSegment; + class Area$QuadSegment; + class Area$Segment; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Area$QuadSegment : public ::java::awt::geom::Area$Segment +{ + +public: // actually package-private + Area$QuadSegment(::java::awt::geom::Area *, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + virtual jdouble curveArea(); + virtual jboolean equals(::java::awt::geom::Area$Segment *); + virtual ::java::awt::geom::Point2D * evaluatePoint(jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds(); + virtual ::java::awt::geom::Area$CubicSegment * getCubicSegment(); + virtual ::java::awt::geom::Point2D * getMidPoint(); + virtual jint getType(); + virtual jint pathIteratorFormat(JArray< jdouble > *); + virtual jint rayCrossing(jdouble, jdouble); + virtual void reverseCoords(); + virtual jint splitIntersections(::java::awt::geom::Area$Segment *); + virtual void subdivideInsert(jdouble); + virtual void transform(::java::awt::geom::AffineTransform *); + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::awt::geom::Area$Segment)))) cp; + ::java::awt::geom::Area * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$QuadSegment__ diff --git a/libjava/java/awt/geom/Area$Segment.h b/libjava/java/awt/geom/Area$Segment.h new file mode 100644 index 00000000000..866ecefdd4d --- /dev/null +++ b/libjava/java/awt/geom/Area$Segment.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area$Segment__ +#define __java_awt_geom_Area$Segment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + namespace geom + { + class AffineTransform; + class Area; + class Area$Intersection; + class Area$Segment; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Area$Segment : public ::java::lang::Object +{ + +public: // actually package-private + Area$Segment(::java::awt::geom::Area *); + virtual void reverseCoords() = 0; + virtual ::java::awt::geom::Point2D * getMidPoint() = 0; + virtual ::java::awt::geom::Rectangle2D * getBounds() = 0; + virtual void transform(::java::awt::geom::AffineTransform *) = 0; + virtual jint getType() = 0; + virtual jint splitIntersections(::java::awt::geom::Area$Segment *) = 0; + virtual jint pathIteratorFormat(JArray< jdouble > *) = 0; + virtual jint rayCrossing(jdouble, jdouble) = 0; + virtual void subdivideInsert(jdouble) = 0; + virtual jdouble curveArea() = 0; + virtual jboolean equals(::java::awt::geom::Area$Segment *) = 0; + virtual jboolean contains(jdouble, jdouble); + virtual void nullNodes(); + virtual void transformSegmentList(::java::awt::geom::AffineTransform *); + virtual jboolean hasClockwiseOrientation(); +public: + virtual ::java::awt::geom::Rectangle2D * getPathBounds(); +public: // actually package-private + virtual jdouble getSignedArea(); + virtual void reverseAll(); + virtual void insert(::java::awt::geom::Area$Segment *); + virtual jboolean isPolygonal(); + virtual ::java::awt::geom::Area$Segment * cloneSegmentList(); + virtual jint createNode(::java::awt::geom::Area$Segment *, ::java::awt::geom::Area$Intersection *); +public: // actually protected + virtual jint createNodes(::java::awt::geom::Area$Segment *, JArray< ::java::awt::geom::Area$Intersection * > *); +public: // actually package-private + virtual jboolean pathEquals(::java::awt::geom::Area$Segment *); + virtual ::java::awt::geom::Area$Segment * getTopLeft(); + virtual jboolean isSegmentOutside(::java::awt::Shape *); + ::java::awt::geom::Point2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) P1; + ::java::awt::geom::Point2D * P2; + ::java::awt::geom::Area$Segment * next; + ::java::awt::geom::Area$Segment * node; + ::java::awt::geom::Area * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area$Segment__ diff --git a/libjava/java/awt/geom/Area.h b/libjava/java/awt/geom/Area.h new file mode 100644 index 00000000000..47a87df4ec5 --- /dev/null +++ b/libjava/java/awt/geom/Area.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Area__ +#define __java_awt_geom_Area__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + class Shape; + namespace geom + { + class AffineTransform; + class Area; + class Area$CubicSegment; + class Area$Intersection; + class Area$LineSegment; + class Area$QuadSegment; + class Area$Segment; + class CubicCurve2D; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Area : public ::java::lang::Object +{ + +public: + Area(); + Area(::java::awt::Shape *); + virtual void add(::java::awt::geom::Area *); + virtual void subtract(::java::awt::geom::Area *); + virtual void intersect(::java::awt::geom::Area *); + virtual void exclusiveOr(::java::awt::geom::Area *); + virtual void reset(); + virtual jboolean isEmpty(); + virtual jboolean isPolygonal(); + virtual jboolean isRectangular(); + virtual jboolean isSingular(); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::awt::geom::Area *); + virtual void transform(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::Area * createTransformedArea(::java::awt::geom::AffineTransform *); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Point2D *); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersects(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); +private: + ::java::util::Vector * weilerAtherton(::java::util::Vector *); + jint getRecursionDepth(::java::awt::geom::Area$CubicSegment *); + void recursiveSubdivide(::java::awt::geom::CubicCurve2D *, ::java::awt::geom::CubicCurve2D *, jint, jint, jdouble, jdouble, jdouble, jdouble); +public: // actually package-private + virtual JArray< ::java::awt::geom::Area$Intersection * > * cubicCubicIntersect(::java::awt::geom::Area$CubicSegment *, ::java::awt::geom::Area$CubicSegment *); + virtual JArray< ::java::awt::geom::Area$Intersection * > * lineQuadIntersect(::java::awt::geom::Area$LineSegment *, ::java::awt::geom::Area$QuadSegment *); + virtual JArray< ::java::awt::geom::Area$Intersection * > * lineCubicIntersect(::java::awt::geom::Area$LineSegment *, ::java::awt::geom::Area$CubicSegment *); + virtual ::java::awt::geom::Area$Intersection * linesIntersect(::java::awt::geom::Area$LineSegment *, ::java::awt::geom::Area$LineSegment *); + virtual jboolean pointEquals(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); +private: + ::java::util::Vector * makeSegment(::java::awt::Shape *); + jint createNodes(::java::awt::geom::Area$Segment *, ::java::awt::geom::Area$Segment *); + jint createNodesSelf(::java::awt::geom::Area$Segment *); + void deleteRedundantPaths(::java::util::Vector *); + void setDirection(::java::util::Vector *, jboolean); + static jdouble EPSILON; + static jdouble RS_EPSILON; + static jdouble PE_EPSILON; +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) solids; + ::java::util::Vector * holes; +private: + ::java::util::Vector * cc_intersections; + jint windingRule; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Area__ diff --git a/libjava/java/awt/geom/CubicCurve2D$1.h b/libjava/java/awt/geom/CubicCurve2D$1.h new file mode 100644 index 00000000000..ea945ea9f7c --- /dev/null +++ b/libjava/java/awt/geom/CubicCurve2D$1.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_CubicCurve2D$1__ +#define __java_awt_geom_CubicCurve2D$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class CubicCurve2D; + class CubicCurve2D$1; + } + } + } +} + +class java::awt::geom::CubicCurve2D$1 : public ::java::lang::Object +{ + +public: // actually package-private + CubicCurve2D$1(::java::awt::geom::CubicCurve2D *, ::java::awt::geom::AffineTransform *); +public: + jint getWindingRule(); + jboolean isDone(); + void next(); + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; +public: // actually package-private + ::java::awt::geom::CubicCurve2D * this$0; +private: + ::java::awt::geom::AffineTransform * val$at; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_CubicCurve2D$1__ diff --git a/libjava/java/awt/geom/CubicCurve2D$Double.h b/libjava/java/awt/geom/CubicCurve2D$Double.h new file mode 100644 index 00000000000..d3d47429c1f --- /dev/null +++ b/libjava/java/awt/geom/CubicCurve2D$Double.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_CubicCurve2D$Double__ +#define __java_awt_geom_CubicCurve2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class CubicCurve2D$Double; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::CubicCurve2D$Double : public ::java::awt::geom::CubicCurve2D +{ + +public: + CubicCurve2D$Double(); + CubicCurve2D$Double(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jdouble getX1(); + virtual jdouble getY1(); + virtual ::java::awt::geom::Point2D * getP1(); + virtual jdouble getCtrlX1(); + virtual jdouble getCtrlY1(); + virtual ::java::awt::geom::Point2D * getCtrlP1(); + virtual jdouble getCtrlX2(); + virtual jdouble getCtrlY2(); + virtual ::java::awt::geom::Point2D * getCtrlP2(); + virtual jdouble getX2(); + virtual jdouble getY2(); + virtual ::java::awt::geom::Point2D * getP2(); + virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::CubicCurve2D)))) x1; + jdouble y1; + jdouble ctrlx1; + jdouble ctrly1; + jdouble ctrlx2; + jdouble ctrly2; + jdouble x2; + jdouble y2; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_CubicCurve2D$Double__ diff --git a/libjava/java/awt/geom/CubicCurve2D$Float.h b/libjava/java/awt/geom/CubicCurve2D$Float.h new file mode 100644 index 00000000000..6e6cd4d2c97 --- /dev/null +++ b/libjava/java/awt/geom/CubicCurve2D$Float.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_CubicCurve2D$Float__ +#define __java_awt_geom_CubicCurve2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class CubicCurve2D$Float; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::CubicCurve2D$Float : public ::java::awt::geom::CubicCurve2D +{ + +public: + CubicCurve2D$Float(); + CubicCurve2D$Float(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + virtual jdouble getX1(); + virtual jdouble getY1(); + virtual ::java::awt::geom::Point2D * getP1(); + virtual jdouble getCtrlX1(); + virtual jdouble getCtrlY1(); + virtual ::java::awt::geom::Point2D * getCtrlP1(); + virtual jdouble getCtrlX2(); + virtual jdouble getCtrlY2(); + virtual ::java::awt::geom::Point2D * getCtrlP2(); + virtual jdouble getX2(); + virtual jdouble getY2(); + virtual ::java::awt::geom::Point2D * getP2(); + virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual void setCurve(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::CubicCurve2D)))) x1; + jfloat y1; + jfloat ctrlx1; + jfloat ctrly1; + jfloat ctrlx2; + jfloat ctrly2; + jfloat x2; + jfloat y2; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_CubicCurve2D$Float__ diff --git a/libjava/java/awt/geom/CubicCurve2D.h b/libjava/java/awt/geom/CubicCurve2D.h new file mode 100644 index 00000000000..f9f82b89458 --- /dev/null +++ b/libjava/java/awt/geom/CubicCurve2D.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_CubicCurve2D__ +#define __java_awt_geom_CubicCurve2D__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace geom + { + class AffineTransform; + class CubicCurve2D; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::CubicCurve2D : public ::java::lang::Object +{ + +public: // actually protected + CubicCurve2D(); +public: + virtual jdouble getX1() = 0; + virtual jdouble getY1() = 0; + virtual ::java::awt::geom::Point2D * getP1() = 0; + virtual jdouble getCtrlX1() = 0; + virtual jdouble getCtrlY1() = 0; + virtual ::java::awt::geom::Point2D * getCtrlP1() = 0; + virtual jdouble getCtrlX2() = 0; + virtual jdouble getCtrlY2() = 0; + virtual ::java::awt::geom::Point2D * getCtrlP2() = 0; + virtual jdouble getX2() = 0; + virtual jdouble getY2() = 0; + virtual ::java::awt::geom::Point2D * getP2() = 0; + virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble) = 0; + virtual void setCurve(JArray< jdouble > *, jint); + virtual void setCurve(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void setCurve(JArray< ::java::awt::geom::Point2D * > *, jint); + virtual void setCurve(::java::awt::geom::CubicCurve2D *); + static jdouble getFlatnessSq(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jdouble getFlatness(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jdouble getFlatnessSq(JArray< jdouble > *, jint); + static jdouble getFlatness(JArray< jdouble > *, jint); + virtual jdouble getFlatnessSq(); + virtual jdouble getFlatness(); + virtual void subdivide(::java::awt::geom::CubicCurve2D *, ::java::awt::geom::CubicCurve2D *); + static void subdivide(::java::awt::geom::CubicCurve2D *, ::java::awt::geom::CubicCurve2D *, ::java::awt::geom::CubicCurve2D *); + static void subdivide(JArray< jdouble > *, jint, JArray< jdouble > *, jint, JArray< jdouble > *, jint); + static jint solveCubic(JArray< jdouble > *); + static jint solveCubic(JArray< jdouble > *, JArray< jdouble > *); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Point2D *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersects(::java::awt::geom::Rectangle2D *); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); + virtual ::java::lang::Object * clone(); +private: + jint getAxisIntersections(jdouble, jdouble, jboolean, jdouble); +public: + virtual ::java::awt::geom::Rectangle2D * getBounds2D() = 0; +private: + static jdouble BIG_VALUE; + static jdouble EPSILON; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_CubicCurve2D__ diff --git a/libjava/java/awt/geom/Dimension2D.h b/libjava/java/awt/geom/Dimension2D.h new file mode 100644 index 00000000000..d201d7a5f5c --- /dev/null +++ b/libjava/java/awt/geom/Dimension2D.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Dimension2D__ +#define __java_awt_geom_Dimension2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Dimension2D; + } + } + } +} + +class java::awt::geom::Dimension2D : public ::java::lang::Object +{ + +public: // actually protected + Dimension2D(); +public: + virtual jdouble getWidth() = 0; + virtual jdouble getHeight() = 0; + virtual void setSize(jdouble, jdouble) = 0; + virtual void setSize(::java::awt::geom::Dimension2D *); + virtual ::java::lang::Object * clone(); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Dimension2D__ diff --git a/libjava/java/awt/geom/Ellipse2D$Double.h b/libjava/java/awt/geom/Ellipse2D$Double.h new file mode 100644 index 00000000000..06b28e6f335 --- /dev/null +++ b/libjava/java/awt/geom/Ellipse2D$Double.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Ellipse2D$Double__ +#define __java_awt_geom_Ellipse2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Ellipse2D$Double; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Ellipse2D$Double : public ::java::awt::geom::Ellipse2D +{ + +public: + Ellipse2D$Double(); + Ellipse2D$Double(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual jdouble getHeight(); + virtual jdouble getWidth(); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jboolean isEmpty(); + virtual void setFrame(jdouble, jdouble, jdouble, jdouble); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::Ellipse2D)))) height; + jdouble width; + jdouble x; + jdouble y; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Ellipse2D$Double__ diff --git a/libjava/java/awt/geom/Ellipse2D$Float.h b/libjava/java/awt/geom/Ellipse2D$Float.h new file mode 100644 index 00000000000..52177dc028a --- /dev/null +++ b/libjava/java/awt/geom/Ellipse2D$Float.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Ellipse2D$Float__ +#define __java_awt_geom_Ellipse2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Ellipse2D$Float; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Ellipse2D$Float : public ::java::awt::geom::Ellipse2D +{ + +public: + Ellipse2D$Float(); + Ellipse2D$Float(jfloat, jfloat, jfloat, jfloat); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual jdouble getHeight(); + virtual jdouble getWidth(); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jboolean isEmpty(); + virtual void setFrame(jfloat, jfloat, jfloat, jfloat); + virtual void setFrame(jdouble, jdouble, jdouble, jdouble); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::Ellipse2D)))) height; + jfloat width; + jfloat x; + jfloat y; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Ellipse2D$Float__ diff --git a/libjava/java/awt/geom/Ellipse2D.h b/libjava/java/awt/geom/Ellipse2D.h new file mode 100644 index 00000000000..a78c318d8b3 --- /dev/null +++ b/libjava/java/awt/geom/Ellipse2D.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Ellipse2D__ +#define __java_awt_geom_Ellipse2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Ellipse2D; + class PathIterator; + } + } + } +} + +class java::awt::geom::Ellipse2D : public ::java::awt::geom::RectangularShape +{ + +public: // actually protected + Ellipse2D(); +public: + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Ellipse2D__ diff --git a/libjava/java/awt/geom/FlatteningPathIterator.h b/libjava/java/awt/geom/FlatteningPathIterator.h new file mode 100644 index 00000000000..7936286da87 --- /dev/null +++ b/libjava/java/awt/geom/FlatteningPathIterator.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_FlatteningPathIterator__ +#define __java_awt_geom_FlatteningPathIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class FlatteningPathIterator; + class PathIterator; + } + } + } +} + +class java::awt::geom::FlatteningPathIterator : public ::java::lang::Object +{ + +public: + FlatteningPathIterator(::java::awt::geom::PathIterator *, jdouble); + FlatteningPathIterator(::java::awt::geom::PathIterator *, jdouble, jint); + virtual jdouble getFlatness(); + virtual jint getRecursionLimit(); + virtual jint getWindingRule(); + virtual jboolean isDone(); + virtual void next(); + virtual jint currentSegment(JArray< jdouble > *); + virtual jint currentSegment(JArray< jfloat > *); +private: + void fetchSegment(); + void subdivideQuadratic(); + void subdivideCubic(); + ::java::awt::geom::PathIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) srcIter; + jdouble flatnessSq; + jint recursionLimit; + JArray< jdouble > * stack; + jint stackSize; + JArray< jint > * recLevel; + JArray< jdouble > * scratch; + jint srcSegType; + jdouble srcPosX; + jdouble srcPosY; + jboolean done; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_FlatteningPathIterator__ diff --git a/libjava/java/awt/geom/GeneralPath$GeneralPathIterator.h b/libjava/java/awt/geom/GeneralPath$GeneralPathIterator.h new file mode 100644 index 00000000000..9bf63bd5fe6 --- /dev/null +++ b/libjava/java/awt/geom/GeneralPath$GeneralPathIterator.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_GeneralPath$GeneralPathIterator__ +#define __java_awt_geom_GeneralPath$GeneralPathIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class GeneralPath; + class GeneralPath$GeneralPathIterator; + } + } + } +} + +class java::awt::geom::GeneralPath$GeneralPathIterator : public ::java::lang::Object +{ + +public: // actually package-private + GeneralPath$GeneralPathIterator(::java::awt::geom::GeneralPath *, ::java::awt::geom::AffineTransform *); +public: + virtual jint getWindingRule(); + virtual jboolean isDone(); + virtual void next(); + virtual jint currentSegment(JArray< jfloat > *); + virtual jint currentSegment(JArray< jdouble > *); +private: + static JArray< jint > * NUM_COORDS; +public: // actually package-private + ::java::awt::geom::GeneralPath * __attribute__((aligned(__alignof__( ::java::lang::Object)))) path; +private: + ::java::awt::geom::AffineTransform * transform; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_GeneralPath$GeneralPathIterator__ diff --git a/libjava/java/awt/geom/GeneralPath.h b/libjava/java/awt/geom/GeneralPath.h new file mode 100644 index 00000000000..a2d37c73f87 --- /dev/null +++ b/libjava/java/awt/geom/GeneralPath.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_GeneralPath__ +#define __java_awt_geom_GeneralPath__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + class Shape; + namespace geom + { + class AffineTransform; + class GeneralPath; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::GeneralPath : public ::java::lang::Object +{ + +public: + GeneralPath(); + GeneralPath(jint); + GeneralPath(jint, jint); + GeneralPath(::java::awt::Shape *); + void moveTo(jfloat, jfloat); + void lineTo(jfloat, jfloat); + void quadTo(jfloat, jfloat, jfloat, jfloat); + void curveTo(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + void closePath(); + void append(::java::awt::Shape *, jboolean); + void append(::java::awt::geom::PathIterator *, jboolean); + jint getWindingRule(); + void setWindingRule(jint); + ::java::awt::geom::Point2D * getCurrentPoint(); + void reset(); + void transform(::java::awt::geom::AffineTransform *); + ::java::awt::Shape * createTransformedShape(::java::awt::geom::AffineTransform *); + ::java::awt::Rectangle * getBounds(); + ::java::awt::geom::Rectangle2D * getBounds2D(); + jboolean contains(jdouble, jdouble); + jboolean contains(::java::awt::geom::Point2D *); + jboolean contains(jdouble, jdouble, jdouble, jdouble); + jboolean contains(::java::awt::geom::Rectangle2D *); + jboolean intersects(jdouble, jdouble, jdouble, jdouble); + jboolean intersects(::java::awt::geom::Rectangle2D *); + ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); + ::java::lang::Object * clone(); +private: + void ensureSize(jint); + jint getAxisIntersections(jdouble, jdouble, jboolean, jdouble); + jint getWindingNumber(jdouble, jdouble); + jint evaluateCrossings(jdouble, jdouble, jboolean, jboolean, jdouble); +public: + static const jint WIND_EVEN_ODD = 0; + static const jint WIND_NON_ZERO = 1; +private: + static const jint INIT_SIZE = 10; + static jdouble BIG_VALUE; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) rule; + JArray< jbyte > * types; + JArray< jfloat > * xpoints; + JArray< jfloat > * ypoints; +private: + jint subpath; +public: // actually package-private + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_GeneralPath__ diff --git a/libjava/java/awt/geom/IllegalPathStateException.h b/libjava/java/awt/geom/IllegalPathStateException.h new file mode 100644 index 00000000000..4147334fdc3 --- /dev/null +++ b/libjava/java/awt/geom/IllegalPathStateException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_IllegalPathStateException__ +#define __java_awt_geom_IllegalPathStateException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class IllegalPathStateException; + } + } + } +} + +class java::awt::geom::IllegalPathStateException : public ::java::lang::RuntimeException +{ + +public: + IllegalPathStateException(); + IllegalPathStateException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5158084205220481094LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_IllegalPathStateException__ diff --git a/libjava/java/awt/geom/Line2D$1.h b/libjava/java/awt/geom/Line2D$1.h new file mode 100644 index 00000000000..c07bff5b6bf --- /dev/null +++ b/libjava/java/awt/geom/Line2D$1.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Line2D$1__ +#define __java_awt_geom_Line2D$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Line2D; + class Line2D$1; + } + } + } +} + +class java::awt::geom::Line2D$1 : public ::java::lang::Object +{ + +public: // actually package-private + Line2D$1(::java::awt::geom::Line2D *, ::java::awt::geom::AffineTransform *); +public: + jint getWindingRule(); + jboolean isDone(); + void next(); + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; +public: // actually package-private + ::java::awt::geom::Line2D * this$0; +private: + ::java::awt::geom::AffineTransform * val$at; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Line2D$1__ diff --git a/libjava/java/awt/geom/Line2D$Double.h b/libjava/java/awt/geom/Line2D$Double.h new file mode 100644 index 00000000000..a9915b73d8c --- /dev/null +++ b/libjava/java/awt/geom/Line2D$Double.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Line2D$Double__ +#define __java_awt_geom_Line2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Line2D$Double; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Line2D$Double : public ::java::awt::geom::Line2D +{ + +public: + Line2D$Double(); + Line2D$Double(jdouble, jdouble, jdouble, jdouble); + Line2D$Double(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual jdouble getX1(); + virtual jdouble getY1(); + virtual ::java::awt::geom::Point2D * getP1(); + virtual jdouble getX2(); + virtual jdouble getY2(); + virtual ::java::awt::geom::Point2D * getP2(); + virtual void setLine(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::Line2D)))) x1; + jdouble y1; + jdouble x2; + jdouble y2; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Line2D$Double__ diff --git a/libjava/java/awt/geom/Line2D$Float.h b/libjava/java/awt/geom/Line2D$Float.h new file mode 100644 index 00000000000..1a829e2c62f --- /dev/null +++ b/libjava/java/awt/geom/Line2D$Float.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Line2D$Float__ +#define __java_awt_geom_Line2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Line2D$Float; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Line2D$Float : public ::java::awt::geom::Line2D +{ + +public: + Line2D$Float(); + Line2D$Float(jfloat, jfloat, jfloat, jfloat); + Line2D$Float(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual jdouble getX1(); + virtual jdouble getY1(); + virtual ::java::awt::geom::Point2D * getP1(); + virtual jdouble getX2(); + virtual jdouble getY2(); + virtual ::java::awt::geom::Point2D * getP2(); + virtual void setLine(jdouble, jdouble, jdouble, jdouble); + virtual void setLine(jfloat, jfloat, jfloat, jfloat); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::Line2D)))) x1; + jfloat y1; + jfloat x2; + jfloat y2; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Line2D$Float__ diff --git a/libjava/java/awt/geom/Line2D.h b/libjava/java/awt/geom/Line2D.h new file mode 100644 index 00000000000..5310eadc7de --- /dev/null +++ b/libjava/java/awt/geom/Line2D.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Line2D__ +#define __java_awt_geom_Line2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace geom + { + class AffineTransform; + class Line2D; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Line2D : public ::java::lang::Object +{ + +public: // actually protected + Line2D(); +public: + virtual jdouble getX1() = 0; + virtual jdouble getY1() = 0; + virtual ::java::awt::geom::Point2D * getP1() = 0; + virtual jdouble getX2() = 0; + virtual jdouble getY2() = 0; + virtual ::java::awt::geom::Point2D * getP2() = 0; + virtual void setLine(jdouble, jdouble, jdouble, jdouble) = 0; + virtual void setLine(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void setLine(::java::awt::geom::Line2D *); + static jint relativeCCW(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jint relativeCCW(jdouble, jdouble); + virtual jint relativeCCW(::java::awt::geom::Point2D *); +private: + static jdouble area2(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jboolean between(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); +public: + static jboolean linesIntersect(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersectsLine(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersectsLine(::java::awt::geom::Line2D *); + static jdouble ptSegDistSq(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jdouble ptSegDist(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jdouble ptSegDistSq(jdouble, jdouble); + virtual jdouble ptSegDistSq(::java::awt::geom::Point2D *); + virtual jdouble ptSegDist(jdouble, jdouble); + virtual jdouble ptSegDist(::java::awt::geom::Point2D *); + static jdouble ptLineDistSq(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jdouble ptLineDist(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jdouble ptLineDistSq(jdouble, jdouble); + virtual jdouble ptLineDistSq(::java::awt::geom::Point2D *); + virtual jdouble ptLineDist(jdouble, jdouble); + virtual jdouble ptLineDist(::java::awt::geom::Point2D *); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Point2D *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersects(::java::awt::geom::Rectangle2D *); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); + virtual ::java::lang::Object * clone(); + virtual ::java::awt::geom::Rectangle2D * getBounds2D() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Line2D__ diff --git a/libjava/java/awt/geom/NoninvertibleTransformException.h b/libjava/java/awt/geom/NoninvertibleTransformException.h new file mode 100644 index 00000000000..1e7b71249ef --- /dev/null +++ b/libjava/java/awt/geom/NoninvertibleTransformException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_NoninvertibleTransformException__ +#define __java_awt_geom_NoninvertibleTransformException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class NoninvertibleTransformException; + } + } + } +} + +class java::awt::geom::NoninvertibleTransformException : public ::java::lang::Exception +{ + +public: + NoninvertibleTransformException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6137225240503990466LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_NoninvertibleTransformException__ diff --git a/libjava/java/awt/geom/PathIterator.h b/libjava/java/awt/geom/PathIterator.h new file mode 100644 index 00000000000..a201f5604b9 --- /dev/null +++ b/libjava/java/awt/geom/PathIterator.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_PathIterator__ +#define __java_awt_geom_PathIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class PathIterator; + } + } + } +} + +class java::awt::geom::PathIterator : public ::java::lang::Object +{ + +public: + virtual jint getWindingRule() = 0; + virtual jboolean isDone() = 0; + virtual void next() = 0; + virtual jint currentSegment(JArray< jfloat > *) = 0; + virtual jint currentSegment(JArray< jdouble > *) = 0; + static const jint WIND_EVEN_ODD = 0; + static const jint WIND_NON_ZERO = 1; + static const jint SEG_MOVETO = 0; + static const jint SEG_LINETO = 1; + static const jint SEG_QUADTO = 2; + static const jint SEG_CUBICTO = 3; + static const jint SEG_CLOSE = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_geom_PathIterator__ diff --git a/libjava/java/awt/geom/Point2D$Double.h b/libjava/java/awt/geom/Point2D$Double.h new file mode 100644 index 00000000000..b03db3fa76e --- /dev/null +++ b/libjava/java/awt/geom/Point2D$Double.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Point2D$Double__ +#define __java_awt_geom_Point2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Point2D$Double; + } + } + } +} + +class java::awt::geom::Point2D$Double : public ::java::awt::geom::Point2D +{ + +public: + Point2D$Double(); + Point2D$Double(jdouble, jdouble); + virtual jdouble getX(); + virtual jdouble getY(); + virtual void setLocation(jdouble, jdouble); + virtual ::java::lang::String * toString(); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::Point2D)))) x; + jdouble y; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Point2D$Double__ diff --git a/libjava/java/awt/geom/Point2D$Float.h b/libjava/java/awt/geom/Point2D$Float.h new file mode 100644 index 00000000000..f9da3d1be24 --- /dev/null +++ b/libjava/java/awt/geom/Point2D$Float.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Point2D$Float__ +#define __java_awt_geom_Point2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Point2D$Float; + } + } + } +} + +class java::awt::geom::Point2D$Float : public ::java::awt::geom::Point2D +{ + +public: + Point2D$Float(); + Point2D$Float(jfloat, jfloat); + virtual jdouble getX(); + virtual jdouble getY(); + virtual void setLocation(jdouble, jdouble); + virtual void setLocation(jfloat, jfloat); + virtual ::java::lang::String * toString(); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::Point2D)))) x; + jfloat y; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Point2D$Float__ diff --git a/libjava/java/awt/geom/Point2D.h b/libjava/java/awt/geom/Point2D.h new file mode 100644 index 00000000000..bddd3ab87c8 --- /dev/null +++ b/libjava/java/awt/geom/Point2D.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Point2D__ +#define __java_awt_geom_Point2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + } + } + } +} + +class java::awt::geom::Point2D : public ::java::lang::Object +{ + +public: // actually protected + Point2D(); +public: + virtual jdouble getX() = 0; + virtual jdouble getY() = 0; + virtual void setLocation(jdouble, jdouble) = 0; + virtual void setLocation(::java::awt::geom::Point2D *); + static jdouble distanceSq(jdouble, jdouble, jdouble, jdouble); + static jdouble distance(jdouble, jdouble, jdouble, jdouble); + virtual jdouble distanceSq(jdouble, jdouble); + virtual jdouble distanceSq(::java::awt::geom::Point2D *); + virtual jdouble distance(jdouble, jdouble); + virtual jdouble distance(::java::awt::geom::Point2D *); + virtual ::java::lang::Object * clone(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Point2D__ diff --git a/libjava/java/awt/geom/QuadCurve2D$1.h b/libjava/java/awt/geom/QuadCurve2D$1.h new file mode 100644 index 00000000000..987541a759f --- /dev/null +++ b/libjava/java/awt/geom/QuadCurve2D$1.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_QuadCurve2D$1__ +#define __java_awt_geom_QuadCurve2D$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class QuadCurve2D; + class QuadCurve2D$1; + } + } + } +} + +class java::awt::geom::QuadCurve2D$1 : public ::java::lang::Object +{ + +public: // actually package-private + QuadCurve2D$1(::java::awt::geom::QuadCurve2D *, ::java::awt::geom::AffineTransform *); +public: + jint getWindingRule(); + jboolean isDone(); + void next(); + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; +public: // actually package-private + ::java::awt::geom::QuadCurve2D * this$0; +private: + ::java::awt::geom::AffineTransform * val$at; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_QuadCurve2D$1__ diff --git a/libjava/java/awt/geom/QuadCurve2D$Double.h b/libjava/java/awt/geom/QuadCurve2D$Double.h new file mode 100644 index 00000000000..91a524b0d94 --- /dev/null +++ b/libjava/java/awt/geom/QuadCurve2D$Double.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_QuadCurve2D$Double__ +#define __java_awt_geom_QuadCurve2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + class QuadCurve2D$Double; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::QuadCurve2D$Double : public ::java::awt::geom::QuadCurve2D +{ + +public: + QuadCurve2D$Double(); + QuadCurve2D$Double(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jdouble getX1(); + virtual jdouble getY1(); + virtual ::java::awt::geom::Point2D * getP1(); + virtual jdouble getCtrlX(); + virtual jdouble getCtrlY(); + virtual ::java::awt::geom::Point2D * getCtrlPt(); + virtual jdouble getX2(); + virtual jdouble getY2(); + virtual ::java::awt::geom::Point2D * getP2(); + virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::QuadCurve2D)))) x1; + jdouble y1; + jdouble ctrlx; + jdouble ctrly; + jdouble x2; + jdouble y2; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_QuadCurve2D$Double__ diff --git a/libjava/java/awt/geom/QuadCurve2D$Float.h b/libjava/java/awt/geom/QuadCurve2D$Float.h new file mode 100644 index 00000000000..b2f36d62490 --- /dev/null +++ b/libjava/java/awt/geom/QuadCurve2D$Float.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_QuadCurve2D$Float__ +#define __java_awt_geom_QuadCurve2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Point2D; + class QuadCurve2D$Float; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::QuadCurve2D$Float : public ::java::awt::geom::QuadCurve2D +{ + +public: + QuadCurve2D$Float(); + QuadCurve2D$Float(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + virtual jdouble getX1(); + virtual jdouble getY1(); + virtual ::java::awt::geom::Point2D * getP1(); + virtual jdouble getCtrlX(); + virtual jdouble getCtrlY(); + virtual ::java::awt::geom::Point2D * getCtrlPt(); + virtual jdouble getX2(); + virtual jdouble getY2(); + virtual ::java::awt::geom::Point2D * getP2(); + virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual void setCurve(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::QuadCurve2D)))) x1; + jfloat y1; + jfloat ctrlx; + jfloat ctrly; + jfloat x2; + jfloat y2; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_QuadCurve2D$Float__ diff --git a/libjava/java/awt/geom/QuadCurve2D.h b/libjava/java/awt/geom/QuadCurve2D.h new file mode 100644 index 00000000000..f9adea41b82 --- /dev/null +++ b/libjava/java/awt/geom/QuadCurve2D.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_QuadCurve2D__ +#define __java_awt_geom_QuadCurve2D__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace geom + { + class AffineTransform; + class PathIterator; + class Point2D; + class QuadCurve2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::QuadCurve2D : public ::java::lang::Object +{ + +public: // actually protected + QuadCurve2D(); +public: + virtual jdouble getX1() = 0; + virtual jdouble getY1() = 0; + virtual ::java::awt::geom::Point2D * getP1() = 0; + virtual jdouble getCtrlX() = 0; + virtual jdouble getCtrlY() = 0; + virtual ::java::awt::geom::Point2D * getCtrlPt() = 0; + virtual jdouble getX2() = 0; + virtual jdouble getY2() = 0; + virtual ::java::awt::geom::Point2D * getP2() = 0; + virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble) = 0; + virtual void setCurve(JArray< jdouble > *, jint); + virtual void setCurve(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void setCurve(JArray< ::java::awt::geom::Point2D * > *, jint); + virtual void setCurve(::java::awt::geom::QuadCurve2D *); + static jdouble getFlatnessSq(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jdouble getFlatness(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + static jdouble getFlatnessSq(JArray< jdouble > *, jint); + static jdouble getFlatness(JArray< jdouble > *, jint); + virtual jdouble getFlatnessSq(); + virtual jdouble getFlatness(); + virtual void subdivide(::java::awt::geom::QuadCurve2D *, ::java::awt::geom::QuadCurve2D *); + static void subdivide(::java::awt::geom::QuadCurve2D *, ::java::awt::geom::QuadCurve2D *, ::java::awt::geom::QuadCurve2D *); + static void subdivide(JArray< jdouble > *, jint, JArray< jdouble > *, jint, JArray< jdouble > *, jint); + static jint solveQuadratic(JArray< jdouble > *); + static jint solveQuadratic(JArray< jdouble > *, JArray< jdouble > *); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Point2D *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersects(::java::awt::geom::Rectangle2D *); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); + virtual ::java::lang::Object * clone(); +private: + jint getAxisIntersections(jdouble, jdouble, jboolean, jdouble); +public: + virtual ::java::awt::geom::Rectangle2D * getBounds2D() = 0; +private: + static jdouble BIG_VALUE; + static jdouble EPSILON; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_QuadCurve2D__ diff --git a/libjava/java/awt/geom/Rectangle2D$1.h b/libjava/java/awt/geom/Rectangle2D$1.h new file mode 100644 index 00000000000..4403af4ecc5 --- /dev/null +++ b/libjava/java/awt/geom/Rectangle2D$1.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Rectangle2D$1__ +#define __java_awt_geom_Rectangle2D$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Rectangle2D; + class Rectangle2D$1; + } + } + } +} + +class java::awt::geom::Rectangle2D$1 : public ::java::lang::Object +{ + +public: // actually package-private + Rectangle2D$1(::java::awt::geom::Rectangle2D *, jdouble, jdouble, jdouble, jdouble, ::java::awt::geom::AffineTransform *); +public: + jint getWindingRule(); + jboolean isDone(); + void next(); + jint currentSegment(JArray< jfloat > *); + jint currentSegment(JArray< jdouble > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; +public: // actually package-private + ::java::awt::geom::Rectangle2D * this$0; +private: + jdouble val$maxx; + jdouble val$miny; + jdouble val$maxy; + jdouble val$minx; + ::java::awt::geom::AffineTransform * val$at; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Rectangle2D$1__ diff --git a/libjava/java/awt/geom/Rectangle2D$Double.h b/libjava/java/awt/geom/Rectangle2D$Double.h new file mode 100644 index 00000000000..20105f932d1 --- /dev/null +++ b/libjava/java/awt/geom/Rectangle2D$Double.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Rectangle2D$Double__ +#define __java_awt_geom_Rectangle2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Rectangle2D; + class Rectangle2D$Double; + } + } + } +} + +class java::awt::geom::Rectangle2D$Double : public ::java::awt::geom::Rectangle2D +{ + +public: + Rectangle2D$Double(); + Rectangle2D$Double(jdouble, jdouble, jdouble, jdouble); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jboolean isEmpty(); + virtual void setRect(jdouble, jdouble, jdouble, jdouble); + virtual void setRect(::java::awt::geom::Rectangle2D *); + virtual jint outcode(jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual ::java::awt::geom::Rectangle2D * createIntersection(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::Rectangle2D * createUnion(::java::awt::geom::Rectangle2D *); + virtual ::java::lang::String * toString(); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::Rectangle2D)))) x; + jdouble y; + jdouble width; + jdouble height; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Rectangle2D$Double__ diff --git a/libjava/java/awt/geom/Rectangle2D$Float.h b/libjava/java/awt/geom/Rectangle2D$Float.h new file mode 100644 index 00000000000..61dbf373ce4 --- /dev/null +++ b/libjava/java/awt/geom/Rectangle2D$Float.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Rectangle2D$Float__ +#define __java_awt_geom_Rectangle2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Rectangle2D; + class Rectangle2D$Float; + } + } + } +} + +class java::awt::geom::Rectangle2D$Float : public ::java::awt::geom::Rectangle2D +{ + +public: + Rectangle2D$Float(); + Rectangle2D$Float(jfloat, jfloat, jfloat, jfloat); +public: // actually package-private + Rectangle2D$Float(jdouble, jdouble, jdouble, jdouble); +public: + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jboolean isEmpty(); + virtual void setRect(jfloat, jfloat, jfloat, jfloat); + virtual void setRect(jdouble, jdouble, jdouble, jdouble); + virtual void setRect(::java::awt::geom::Rectangle2D *); + virtual jint outcode(jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual ::java::awt::geom::Rectangle2D * createIntersection(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::Rectangle2D * createUnion(::java::awt::geom::Rectangle2D *); + virtual ::java::lang::String * toString(); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::Rectangle2D)))) x; + jfloat y; + jfloat width; + jfloat height; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Rectangle2D$Float__ diff --git a/libjava/java/awt/geom/Rectangle2D.h b/libjava/java/awt/geom/Rectangle2D.h new file mode 100644 index 00000000000..e81e0a8e161 --- /dev/null +++ b/libjava/java/awt/geom/Rectangle2D.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_Rectangle2D__ +#define __java_awt_geom_Rectangle2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Line2D; + class PathIterator; + class Point2D; + class Rectangle2D; + } + } + } +} + +class java::awt::geom::Rectangle2D : public ::java::awt::geom::RectangularShape +{ + +public: // actually protected + Rectangle2D(); +public: + virtual void setRect(jdouble, jdouble, jdouble, jdouble) = 0; + virtual void setRect(::java::awt::geom::Rectangle2D *); + virtual jboolean intersectsLine(jdouble, jdouble, jdouble, jdouble); + virtual jboolean intersectsLine(::java::awt::geom::Line2D *); + virtual jint outcode(jdouble, jdouble) = 0; + virtual jint outcode(::java::awt::geom::Point2D *); + virtual void setFrame(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual jboolean contains(jdouble, jdouble); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::Rectangle2D * createIntersection(::java::awt::geom::Rectangle2D *) = 0; + static void intersect(::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::Rectangle2D * createUnion(::java::awt::geom::Rectangle2D *) = 0; + static void union$(::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *, ::java::awt::geom::Rectangle2D *); + virtual void add(jdouble, jdouble); + virtual void add(::java::awt::geom::Point2D *); + virtual void add(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + static const jint OUT_LEFT = 1; + static const jint OUT_TOP = 2; + static const jint OUT_RIGHT = 4; + static const jint OUT_BOTTOM = 8; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_Rectangle2D__ diff --git a/libjava/java/awt/geom/RectangularShape.h b/libjava/java/awt/geom/RectangularShape.h new file mode 100644 index 00000000000..18e1360fa0d --- /dev/null +++ b/libjava/java/awt/geom/RectangularShape.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_RectangularShape__ +#define __java_awt_geom_RectangularShape__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace geom + { + class AffineTransform; + class Dimension2D; + class PathIterator; + class Point2D; + class Rectangle2D; + class RectangularShape; + } + } + } +} + +class java::awt::geom::RectangularShape : public ::java::lang::Object +{ + +public: // actually protected + RectangularShape(); +public: + virtual jdouble getX() = 0; + virtual jdouble getY() = 0; + virtual jdouble getWidth() = 0; + virtual jdouble getHeight() = 0; + virtual jdouble getMinX(); + virtual jdouble getMinY(); + virtual jdouble getMaxX(); + virtual jdouble getMaxY(); + virtual jdouble getCenterX(); + virtual jdouble getCenterY(); + virtual ::java::awt::geom::Rectangle2D * getFrame(); + virtual jboolean isEmpty() = 0; + virtual void setFrame(jdouble, jdouble, jdouble, jdouble) = 0; + virtual void setFrame(::java::awt::geom::Point2D *, ::java::awt::geom::Dimension2D *); + virtual void setFrame(::java::awt::geom::Rectangle2D *); + virtual void setFrameFromDiagonal(jdouble, jdouble, jdouble, jdouble); + virtual void setFrameFromDiagonal(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual void setFrameFromCenter(jdouble, jdouble, jdouble, jdouble); + virtual void setFrameFromCenter(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual jboolean contains(::java::awt::geom::Point2D *); + virtual jboolean intersects(::java::awt::geom::Rectangle2D *); + virtual jboolean contains(::java::awt::geom::Rectangle2D *); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *, jdouble); + virtual ::java::lang::Object * clone(); + virtual ::java::awt::geom::Rectangle2D * getBounds2D() = 0; + virtual jboolean contains(jdouble, jdouble) = 0; + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble) = 0; + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble) = 0; + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_RectangularShape__ diff --git a/libjava/java/awt/geom/RoundRectangle2D$1.h b/libjava/java/awt/geom/RoundRectangle2D$1.h new file mode 100644 index 00000000000..04bb8a542c4 --- /dev/null +++ b/libjava/java/awt/geom/RoundRectangle2D$1.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_RoundRectangle2D$1__ +#define __java_awt_geom_RoundRectangle2D$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class Arc2D$Double; + class PathIterator; + class RoundRectangle2D; + class RoundRectangle2D$1; + } + } + } +} + +class java::awt::geom::RoundRectangle2D$1 : public ::java::lang::Object +{ + +public: // actually package-private + RoundRectangle2D$1(::java::awt::geom::RoundRectangle2D *, ::java::awt::geom::AffineTransform *); +public: + jint currentSegment(JArray< jdouble > *); + jint currentSegment(JArray< jfloat > *); + jint getWindingRule(); + jboolean isDone(); + void next(); +public: // actually package-private + jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + jdouble y; + jdouble w; + jdouble h; + jdouble arcW; + jdouble arcH; + ::java::awt::geom::Arc2D$Double * arc; + ::java::awt::geom::PathIterator * corner; + jint step; + ::java::awt::geom::RoundRectangle2D * this$0; +private: + ::java::awt::geom::AffineTransform * val$at; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_RoundRectangle2D$1__ diff --git a/libjava/java/awt/geom/RoundRectangle2D$Double.h b/libjava/java/awt/geom/RoundRectangle2D$Double.h new file mode 100644 index 00000000000..08010fd4125 --- /dev/null +++ b/libjava/java/awt/geom/RoundRectangle2D$Double.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_RoundRectangle2D$Double__ +#define __java_awt_geom_RoundRectangle2D$Double__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Rectangle2D; + class RoundRectangle2D$Double; + } + } + } +} + +class java::awt::geom::RoundRectangle2D$Double : public ::java::awt::geom::RoundRectangle2D +{ + +public: + RoundRectangle2D$Double(); + RoundRectangle2D$Double(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + virtual jdouble getArcHeight(); + virtual jdouble getArcWidth(); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jboolean isEmpty(); + virtual void setRoundRect(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::RoundRectangle2D)))) archeight; + jdouble arcwidth; + jdouble x; + jdouble y; + jdouble width; + jdouble height; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_RoundRectangle2D$Double__ diff --git a/libjava/java/awt/geom/RoundRectangle2D$Float.h b/libjava/java/awt/geom/RoundRectangle2D$Float.h new file mode 100644 index 00000000000..184c5f4b161 --- /dev/null +++ b/libjava/java/awt/geom/RoundRectangle2D$Float.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_RoundRectangle2D$Float__ +#define __java_awt_geom_RoundRectangle2D$Float__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class Rectangle2D; + class RoundRectangle2D$Float; + } + } + } +} + +class java::awt::geom::RoundRectangle2D$Float : public ::java::awt::geom::RoundRectangle2D +{ + +public: + RoundRectangle2D$Float(); + RoundRectangle2D$Float(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + virtual jdouble getArcHeight(); + virtual jdouble getArcWidth(); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(); + virtual jdouble getX(); + virtual jdouble getY(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jboolean isEmpty(); + virtual void setRoundRect(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat); + virtual void setRoundRect(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble); + jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::RoundRectangle2D)))) archeight; + jfloat arcwidth; + jfloat x; + jfloat y; + jfloat width; + jfloat height; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_RoundRectangle2D$Float__ diff --git a/libjava/java/awt/geom/RoundRectangle2D.h b/libjava/java/awt/geom/RoundRectangle2D.h new file mode 100644 index 00000000000..a9092ca5c99 --- /dev/null +++ b/libjava/java/awt/geom/RoundRectangle2D.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_geom_RoundRectangle2D__ +#define __java_awt_geom_RoundRectangle2D__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace geom + { + class AffineTransform; + class PathIterator; + class RoundRectangle2D; + } + } + } +} + +class java::awt::geom::RoundRectangle2D : public ::java::awt::geom::RectangularShape +{ + +public: + virtual jdouble getArcHeight() = 0; + virtual jdouble getArcWidth() = 0; + virtual void setRoundRect(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble) = 0; +public: // actually protected + RoundRectangle2D(); +public: + virtual jboolean contains(jdouble, jdouble); + virtual jboolean contains(jdouble, jdouble, jdouble, jdouble); + virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *); + virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble); + virtual void setFrame(jdouble, jdouble, jdouble, jdouble); + virtual void setRoundRect(::java::awt::geom::RoundRectangle2D *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_geom_RoundRectangle2D__ diff --git a/libjava/java/awt/im/InputContext.h b/libjava/java/awt/im/InputContext.h new file mode 100644 index 00000000000..59c02044abb --- /dev/null +++ b/libjava/java/awt/im/InputContext.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_InputContext__ +#define __java_awt_im_InputContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Component; + namespace im + { + class InputContext; + namespace spi + { + class InputMethod; + } + } + } + } +} + +class java::awt::im::InputContext : public ::java::lang::Object +{ + +public: // actually protected + InputContext(); +public: + static ::java::awt::im::InputContext * getInstance(); + virtual jboolean selectInputMethod(::java::util::Locale *); + virtual ::java::util::Locale * getLocale(); + virtual void setCharacterSubsets(JArray< ::java::lang::Character$Subset * > *); + virtual void setCompositionEnabled(jboolean); + virtual jboolean isCompositionEnabled(); + virtual void reconvert(); + virtual void dispatchEvent(::java::awt::AWTEvent *); + virtual void removeNotify(::java::awt::Component *); + virtual void endComposition(); + virtual void dispose(); + virtual ::java::lang::Object * getInputMethodControlObject(); +private: + static ::java::util::ArrayList * descriptors; + ::java::awt::im::spi::InputMethod * __attribute__((aligned(__alignof__( ::java::lang::Object)))) im; + ::java::util::HashMap * recent; + JArray< ::java::lang::Character$Subset * > * subsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_im_InputContext__ diff --git a/libjava/java/awt/im/InputMethodHighlight.h b/libjava/java/awt/im/InputMethodHighlight.h new file mode 100644 index 00000000000..72eb7452183 --- /dev/null +++ b/libjava/java/awt/im/InputMethodHighlight.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_InputMethodHighlight__ +#define __java_awt_im_InputMethodHighlight__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace im + { + class InputMethodHighlight; + } + } + } +} + +class java::awt::im::InputMethodHighlight : public ::java::lang::Object +{ + +public: + InputMethodHighlight(jboolean, jint); + InputMethodHighlight(jboolean, jint, jint); + InputMethodHighlight(jboolean, jint, jint, ::java::util::Map *); + virtual jboolean isSelected(); + virtual jint getState(); + virtual jint getVariation(); + virtual ::java::util::Map * getStyle(); + static const jint RAW_TEXT = 0; + static const jint CONVERTED_TEXT = 1; + static ::java::awt::im::InputMethodHighlight * UNSELECTED_RAW_TEXT_HIGHLIGHT; + static ::java::awt::im::InputMethodHighlight * SELECTED_RAW_TEXT_HIGHLIGHT; + static ::java::awt::im::InputMethodHighlight * UNSELECTED_CONVERTED_TEXT_HIGHLIGHT; + static ::java::awt::im::InputMethodHighlight * SELECTED_CONVERTED_TEXT_HIGHLIGHT; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) selected; + jint state; + jint variation; + ::java::util::Map * style; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_im_InputMethodHighlight__ diff --git a/libjava/java/awt/im/InputMethodRequests.h b/libjava/java/awt/im/InputMethodRequests.h new file mode 100644 index 00000000000..4552bc9542e --- /dev/null +++ b/libjava/java/awt/im/InputMethodRequests.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_InputMethodRequests__ +#define __java_awt_im_InputMethodRequests__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace font + { + class TextHitInfo; + } + namespace im + { + class InputMethodRequests; + } + } + namespace text + { + class AttributedCharacterIterator; + class AttributedCharacterIterator$Attribute; + } + } +} + +class java::awt::im::InputMethodRequests : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Rectangle * getTextLocation(::java::awt::font::TextHitInfo *) = 0; + virtual ::java::awt::font::TextHitInfo * getLocationOffset(jint, jint) = 0; + virtual jint getInsertPositionOffset() = 0; + virtual ::java::text::AttributedCharacterIterator * getCommittedText(jint, jint, JArray< ::java::text::AttributedCharacterIterator$Attribute * > *) = 0; + virtual jint getCommittedTextLength() = 0; + virtual ::java::text::AttributedCharacterIterator * cancelLatestCommittedText(JArray< ::java::text::AttributedCharacterIterator$Attribute * > *) = 0; + virtual ::java::text::AttributedCharacterIterator * getSelectedText(JArray< ::java::text::AttributedCharacterIterator$Attribute * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_im_InputMethodRequests__ diff --git a/libjava/java/awt/im/InputSubset.h b/libjava/java/awt/im/InputSubset.h new file mode 100644 index 00000000000..181a6af952f --- /dev/null +++ b/libjava/java/awt/im/InputSubset.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_InputSubset__ +#define __java_awt_im_InputSubset__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace im + { + class InputSubset; + } + } + } +} + +class java::awt::im::InputSubset : public ::java::lang::Character$Subset +{ + + InputSubset(::java::lang::String *); +public: + static ::java::awt::im::InputSubset * LATIN; + static ::java::awt::im::InputSubset * LATIN_DIGITS; + static ::java::awt::im::InputSubset * TRADITIONAL_HANZI; + static ::java::awt::im::InputSubset * SIMPLIFIED_HANZI; + static ::java::awt::im::InputSubset * KANJI; + static ::java::awt::im::InputSubset * HANJA; + static ::java::awt::im::InputSubset * HALFWIDTH_KATAKANA; + static ::java::awt::im::InputSubset * FULLWIDTH_LATIN; + static ::java::awt::im::InputSubset * FULLWIDTH_DIGITS; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_im_InputSubset__ diff --git a/libjava/java/awt/im/spi/InputMethod.h b/libjava/java/awt/im/spi/InputMethod.h new file mode 100644 index 00000000000..d48fc67a42e --- /dev/null +++ b/libjava/java/awt/im/spi/InputMethod.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_spi_InputMethod__ +#define __java_awt_im_spi_InputMethod__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Rectangle; + namespace im + { + namespace spi + { + class InputMethod; + class InputMethodContext; + } + } + } + } +} + +class java::awt::im::spi::InputMethod : public ::java::lang::Object +{ + +public: + virtual void setInputMethodContext(::java::awt::im::spi::InputMethodContext *) = 0; + virtual jboolean setLocale(::java::util::Locale *) = 0; + virtual ::java::util::Locale * getLocale() = 0; + virtual void setCharacterSubsets(JArray< ::java::lang::Character$Subset * > *) = 0; + virtual void setCompositionEnabled(jboolean) = 0; + virtual jboolean isCompositionEnabled() = 0; + virtual void reconvert() = 0; + virtual void dispatchEvent(::java::awt::AWTEvent *) = 0; + virtual void notifyClientWindowChange(::java::awt::Rectangle *) = 0; + virtual void activate() = 0; + virtual void deactivate(jboolean) = 0; + virtual void hideWindows() = 0; + virtual void removeNotify() = 0; + virtual void endComposition() = 0; + virtual void dispose() = 0; + virtual ::java::lang::Object * getControlObject() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_im_spi_InputMethod__ diff --git a/libjava/java/awt/im/spi/InputMethodContext.h b/libjava/java/awt/im/spi/InputMethodContext.h new file mode 100644 index 00000000000..8dcef0e08c7 --- /dev/null +++ b/libjava/java/awt/im/spi/InputMethodContext.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_spi_InputMethodContext__ +#define __java_awt_im_spi_InputMethodContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + class Window; + namespace font + { + class TextHitInfo; + } + namespace im + { + namespace spi + { + class InputMethod; + class InputMethodContext; + } + } + } + namespace text + { + class AttributedCharacterIterator; + class AttributedCharacterIterator$Attribute; + } + } + namespace javax + { + namespace swing + { + class JFrame; + } + } +} + +class java::awt::im::spi::InputMethodContext : public ::java::lang::Object +{ + +public: + virtual void dispatchInputMethodEvent(jint, ::java::text::AttributedCharacterIterator *, jint, ::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *) = 0; + virtual ::java::awt::Window * createInputMethodWindow(::java::lang::String *, jboolean) = 0; + virtual ::javax::swing::JFrame * createInputMethodJFrame(::java::lang::String *, jboolean) = 0; + virtual void enableClientWindowNotification(::java::awt::im::spi::InputMethod *, jboolean) = 0; + virtual ::java::awt::Rectangle * getTextLocation(::java::awt::font::TextHitInfo *) = 0; + virtual ::java::awt::font::TextHitInfo * getLocationOffset(jint, jint) = 0; + virtual jint getInsertPositionOffset() = 0; + virtual ::java::text::AttributedCharacterIterator * getCommittedText(jint, jint, JArray< ::java::text::AttributedCharacterIterator$Attribute * > *) = 0; + virtual jint getCommittedTextLength() = 0; + virtual ::java::text::AttributedCharacterIterator * cancelLatestCommittedText(JArray< ::java::text::AttributedCharacterIterator$Attribute * > *) = 0; + virtual ::java::text::AttributedCharacterIterator * getSelectedText(JArray< ::java::text::AttributedCharacterIterator$Attribute * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_im_spi_InputMethodContext__ diff --git a/libjava/java/awt/im/spi/InputMethodDescriptor.h b/libjava/java/awt/im/spi/InputMethodDescriptor.h new file mode 100644 index 00000000000..60d0829fef0 --- /dev/null +++ b/libjava/java/awt/im/spi/InputMethodDescriptor.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_im_spi_InputMethodDescriptor__ +#define __java_awt_im_spi_InputMethodDescriptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + namespace im + { + namespace spi + { + class InputMethod; + class InputMethodDescriptor; + } + } + } + } +} + +class java::awt::im::spi::InputMethodDescriptor : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::util::Locale * > * getAvailableLocales() = 0; + virtual jboolean hasDynamicLocaleList() = 0; + virtual ::java::lang::String * getInputMethodDisplayName(::java::util::Locale *, ::java::util::Locale *) = 0; + virtual ::java::awt::Image * getInputMethodIcon(::java::util::Locale *) = 0; + virtual ::java::awt::im::spi::InputMethod * createInputMethod() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_im_spi_InputMethodDescriptor__ diff --git a/libjava/java/awt/image/AffineTransformOp.h b/libjava/java/awt/image/AffineTransformOp.h new file mode 100644 index 00000000000..be0dee40b3f --- /dev/null +++ b/libjava/java/awt/image/AffineTransformOp.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_AffineTransformOp__ +#define __java_awt_image_AffineTransformOp__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class AffineTransform; + class Point2D; + class Rectangle2D; + } + namespace image + { + class AffineTransformOp; + class BufferedImage; + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::image::AffineTransformOp : public ::java::lang::Object +{ + +public: + AffineTransformOp(::java::awt::geom::AffineTransform *, jint); + AffineTransformOp(::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + virtual ::java::awt::image::BufferedImage * createCompatibleDestImage(::java::awt::image::BufferedImage *, ::java::awt::image::ColorModel *); + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); + virtual ::java::awt::image::BufferedImage * filter(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::BufferedImage *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); + virtual jint getInterpolationType(); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual ::java::awt::geom::AffineTransform * getTransform(); +private: + void filterNearest(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *, JArray< jdouble > *, JArray< jdouble > *); + void filterBilinear(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *, JArray< jdouble > *, JArray< jdouble > *); + void filterBicubic(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *, JArray< jdouble > *, JArray< jdouble > *); +public: + static const jint TYPE_NEAREST_NEIGHBOR = 1; + static const jint TYPE_BILINEAR = 2; + static const jint TYPE_BICUBIC = 3; +private: + ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::lang::Object)))) transform; + ::java::awt::RenderingHints * hints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_AffineTransformOp__ diff --git a/libjava/java/awt/image/AreaAveragingScaleFilter.h b/libjava/java/awt/image/AreaAveragingScaleFilter.h new file mode 100644 index 00000000000..694ae79a772 --- /dev/null +++ b/libjava/java/awt/image/AreaAveragingScaleFilter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_AreaAveragingScaleFilter__ +#define __java_awt_image_AreaAveragingScaleFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class AreaAveragingScaleFilter; + class ColorModel; + } + } + } +} + +class java::awt::image::AreaAveragingScaleFilter : public ::java::awt::image::ReplicateScaleFilter +{ + +public: + AreaAveragingScaleFilter(jint, jint); + virtual void setHints(jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); +private: + JArray< jbyte > * averagePixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint, jdouble, jdouble, jint); + JArray< jint > * averagePixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint, jdouble, jdouble, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_AreaAveragingScaleFilter__ diff --git a/libjava/java/awt/image/BandCombineOp.h b/libjava/java/awt/image/BandCombineOp.h new file mode 100644 index 00000000000..0233ef4d3c6 --- /dev/null +++ b/libjava/java/awt/image/BandCombineOp.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BandCombineOp__ +#define __java_awt_image_BandCombineOp__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class BandCombineOp; + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::image::BandCombineOp : public ::java::lang::Object +{ + +public: + BandCombineOp(JArray< JArray< jfloat > * > *, ::java::awt::RenderingHints *); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual JArray< JArray< jfloat > * > * getMatrix(); +private: + ::java::awt::RenderingHints * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hints; + JArray< JArray< jfloat > * > * matrix; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_BandCombineOp__ diff --git a/libjava/java/awt/image/BandedSampleModel.h b/libjava/java/awt/image/BandedSampleModel.h new file mode 100644 index 00000000000..5eca8194bca --- /dev/null +++ b/libjava/java/awt/image/BandedSampleModel.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BandedSampleModel__ +#define __java_awt_image_BandedSampleModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BandedSampleModel; + class DataBuffer; + class SampleModel; + } + } + } +} + +class java::awt::image::BandedSampleModel : public ::java::awt::image::ComponentSampleModel +{ + + static JArray< jint > * createBankArray(jint); +public: + BandedSampleModel(jint, jint, jint, jint); + BandedSampleModel(jint, jint, jint, jint, JArray< jint > *, JArray< jint > *); + ::java::awt::image::DataBuffer * createDataBuffer(); + ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *); + ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *); + jfloat getSampleFloat(jint, jint, jint, ::java::awt::image::DataBuffer *); + jdouble getSampleDouble(jint, jint, jint, ::java::awt::image::DataBuffer *); + JArray< jint > * getSamples(jint, jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + void setDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + void setPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + void setPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + void setSample(jint, jint, jint, jint, ::java::awt::image::DataBuffer *); + void setSample(jint, jint, jint, jfloat, ::java::awt::image::DataBuffer *); + void setSample(jint, jint, jint, jdouble, ::java::awt::image::DataBuffer *); + void setSamples(jint, jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + ::java::lang::String * toString(); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::awt::image::ComponentSampleModel)))) bitMasks; + JArray< jint > * bitOffsets; + JArray< jint > * sampleSize; + jint dataBitOffset; + jint elemBits; + jint numberOfBits; + jint numElems; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_BandedSampleModel__ diff --git a/libjava/java/awt/image/BufferStrategy.h b/libjava/java/awt/image/BufferStrategy.h new file mode 100644 index 00000000000..682e73e073d --- /dev/null +++ b/libjava/java/awt/image/BufferStrategy.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BufferStrategy__ +#define __java_awt_image_BufferStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class BufferCapabilities; + class Graphics; + namespace image + { + class BufferStrategy; + } + } + } +} + +class java::awt::image::BufferStrategy : public ::java::lang::Object +{ + +public: + BufferStrategy(); + virtual ::java::awt::BufferCapabilities * getCapabilities() = 0; + virtual ::java::awt::Graphics * getDrawGraphics() = 0; + virtual jboolean contentsLost() = 0; + virtual jboolean contentsRestored() = 0; + virtual void show() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_BufferStrategy__ diff --git a/libjava/java/awt/image/BufferedImage$1.h b/libjava/java/awt/image/BufferedImage$1.h new file mode 100644 index 00000000000..cdb16e7fc85 --- /dev/null +++ b/libjava/java/awt/image/BufferedImage$1.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BufferedImage$1__ +#define __java_awt_image_BufferedImage$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class BufferedImage$1; + class ImageConsumer; + } + } + } +} + +class java::awt::image::BufferedImage$1 : public ::java::lang::Object +{ + +public: // actually package-private + BufferedImage$1(::java::awt::image::BufferedImage *); +public: + void addConsumer(::java::awt::image::ImageConsumer *); + jboolean isConsumer(::java::awt::image::ImageConsumer *); + void removeConsumer(::java::awt::image::ImageConsumer *); + void startProduction(::java::awt::image::ImageConsumer *); + void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *); +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumers; + ::java::awt::image::BufferedImage * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_BufferedImage$1__ diff --git a/libjava/java/awt/image/BufferedImage.h b/libjava/java/awt/image/BufferedImage.h new file mode 100644 index 00000000000..9c54907a7b5 --- /dev/null +++ b/libjava/java/awt/image/BufferedImage.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BufferedImage__ +#define __java_awt_image_BufferedImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Graphics2D; + class Point; + class Rectangle; + namespace image + { + class BufferedImage; + class ColorModel; + class ImageObserver; + class ImageProducer; + class IndexColorModel; + class Raster; + class SampleModel; + class TileObserver; + class WritableRaster; + } + } + } +} + +class java::awt::image::BufferedImage : public ::java::awt::Image +{ + +public: + BufferedImage(jint, jint, jint); + BufferedImage(jint, jint, jint, ::java::awt::image::IndexColorModel *); + BufferedImage(::java::awt::image::ColorModel *, ::java::awt::image::WritableRaster *, jboolean, ::java::util::Hashtable *); +private: + void init(::java::awt::image::ColorModel *, ::java::awt::image::WritableRaster *, jboolean, ::java::util::Hashtable *, jint); + ::java::awt::image::IndexColorModel * createDefaultIndexedColorModel(jboolean); +public: + virtual void coerceData(jboolean); + virtual ::java::awt::image::WritableRaster * copyData(::java::awt::image::WritableRaster *); + virtual ::java::awt::Graphics2D * createGraphics(); + virtual void flush(); + virtual ::java::awt::image::WritableRaster * getAlphaRaster(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual ::java::awt::image::Raster * getData(); + virtual ::java::awt::image::Raster * getData(::java::awt::Rectangle *); + virtual ::java::awt::Graphics * getGraphics(); + virtual jint getHeight(); + virtual jint getHeight(::java::awt::image::ImageObserver *); + virtual jint getMinTileX(); + virtual jint getMinTileY(); + virtual jint getMinX(); + virtual jint getMinY(); + virtual jint getNumXTiles(); + virtual jint getNumYTiles(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual ::java::lang::Object * getProperty(::java::lang::String *, ::java::awt::image::ImageObserver *); + virtual JArray< ::java::lang::String * > * getPropertyNames(); + virtual jint getRGB(jint, jint); + virtual JArray< jint > * getRGB(jint, jint, jint, jint, JArray< jint > *, jint, jint); + virtual ::java::awt::image::WritableRaster * getRaster(); + virtual ::java::awt::image::SampleModel * getSampleModel(); + virtual ::java::awt::image::ImageProducer * getSource(); + virtual ::java::util::Vector * getSources(); + virtual ::java::awt::image::BufferedImage * getSubimage(jint, jint, jint, jint); + virtual ::java::awt::image::Raster * getTile(jint, jint); + virtual jint getTileGridXOffset(); + virtual jint getTileGridYOffset(); + virtual jint getTileHeight(); + virtual jint getTileWidth(); + virtual jint getType(); + virtual jint getWidth(); + virtual jint getWidth(::java::awt::image::ImageObserver *); + virtual ::java::awt::image::WritableRaster * getWritableTile(jint, jint); + virtual JArray< ::java::awt::Point * > * getWritableTileIndices(); + virtual jboolean hasTileWriters(); + virtual jboolean isAlphaPremultiplied(); + virtual jboolean isTileWritable(jint, jint); + virtual void releaseWritableTile(jint, jint); + virtual void setData(::java::awt::image::Raster *); + virtual void setRGB(jint, jint, jint); + virtual void setRGB(jint, jint, jint, jint, JArray< jint > *, jint, jint); + virtual ::java::lang::String * toString(); + virtual void addTileObserver(::java::awt::image::TileObserver *); + virtual void removeTileObserver(::java::awt::image::TileObserver *); + virtual jint getTransparency(); + static const jint TYPE_CUSTOM = 0; + static const jint TYPE_INT_RGB = 1; + static const jint TYPE_INT_ARGB = 2; + static const jint TYPE_INT_ARGB_PRE = 3; + static const jint TYPE_INT_BGR = 4; + static const jint TYPE_3BYTE_BGR = 5; + static const jint TYPE_4BYTE_ABGR = 6; + static const jint TYPE_4BYTE_ABGR_PRE = 7; + static const jint TYPE_USHORT_565_RGB = 8; + static const jint TYPE_USHORT_555_RGB = 9; + static const jint TYPE_BYTE_GRAY = 10; + static const jint TYPE_USHORT_GRAY = 11; + static const jint TYPE_BYTE_BINARY = 12; + static const jint TYPE_BYTE_INDEXED = 13; +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::awt::Image)))) tileObservers; + ::java::awt::image::WritableRaster * raster; + ::java::awt::image::ColorModel * colorModel; + ::java::util::Hashtable * properties; + jboolean isPremultiplied; + jint type; +private: + static JArray< ::java::awt::Point * > * tileIndices; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_BufferedImage__ diff --git a/libjava/java/awt/image/BufferedImageFilter.h b/libjava/java/awt/image/BufferedImageFilter.h new file mode 100644 index 00000000000..08da9be7137 --- /dev/null +++ b/libjava/java/awt/image/BufferedImageFilter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BufferedImageFilter__ +#define __java_awt_image_BufferedImageFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BufferedImageFilter; + class BufferedImageOp; + class ColorModel; + } + } + } +} + +class java::awt::image::BufferedImageFilter : public ::java::awt::image::ImageFilter +{ + +public: + BufferedImageFilter(::java::awt::image::BufferedImageOp *); + virtual ::java::awt::image::BufferedImageOp * getBufferedImageOp(); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); +private: + ::java::awt::image::BufferedImageOp * __attribute__((aligned(__alignof__( ::java::awt::image::ImageFilter)))) op; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_BufferedImageFilter__ diff --git a/libjava/java/awt/image/BufferedImageOp.h b/libjava/java/awt/image/BufferedImageOp.h new file mode 100644 index 00000000000..1af69aa02dd --- /dev/null +++ b/libjava/java/awt/image/BufferedImageOp.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_BufferedImageOp__ +#define __java_awt_image_BufferedImageOp__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class BufferedImageOp; + class ColorModel; + } + } + } +} + +class java::awt::image::BufferedImageOp : public ::java::lang::Object +{ + +public: + virtual ::java::awt::image::BufferedImage * filter(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *) = 0; + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::BufferedImage *) = 0; + virtual ::java::awt::image::BufferedImage * createCompatibleDestImage(::java::awt::image::BufferedImage *, ::java::awt::image::ColorModel *) = 0; + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *) = 0; + virtual ::java::awt::RenderingHints * getRenderingHints() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_BufferedImageOp__ diff --git a/libjava/java/awt/image/ByteLookupTable.h b/libjava/java/awt/image/ByteLookupTable.h new file mode 100644 index 00000000000..d34b385b2ef --- /dev/null +++ b/libjava/java/awt/image/ByteLookupTable.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ByteLookupTable__ +#define __java_awt_image_ByteLookupTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ByteLookupTable; + } + } + } +} + +class java::awt::image::ByteLookupTable : public ::java::awt::image::LookupTable +{ + +public: + ByteLookupTable(jint, JArray< JArray< jbyte > * > *); + ByteLookupTable(jint, JArray< jbyte > *); + virtual JArray< JArray< jbyte > * > * getTable(); + virtual JArray< jint > * lookupPixel(JArray< jint > *, JArray< jint > *); + virtual JArray< jbyte > * lookupPixel(JArray< jbyte > *, JArray< jbyte > *); +private: + JArray< JArray< jbyte > * > * __attribute__((aligned(__alignof__( ::java::awt::image::LookupTable)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ByteLookupTable__ diff --git a/libjava/java/awt/image/ColorConvertOp.h b/libjava/java/awt/image/ColorConvertOp.h new file mode 100644 index 00000000000..6455b46bbb7 --- /dev/null +++ b/libjava/java/awt/image/ColorConvertOp.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ColorConvertOp__ +#define __java_awt_image_ColorConvertOp__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace color + { + class ColorSpace; + class ICC_Profile; + } + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorConvertOp; + class ColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::image::ColorConvertOp : public ::java::lang::Object +{ + +public: + ColorConvertOp(::java::awt::color::ColorSpace *, ::java::awt::RenderingHints *); + ColorConvertOp(::java::awt::color::ColorSpace *, ::java::awt::color::ColorSpace *, ::java::awt::RenderingHints *); + ColorConvertOp(JArray< ::java::awt::color::ICC_Profile * > *, ::java::awt::RenderingHints *); + ColorConvertOp(::java::awt::RenderingHints *); + virtual ::java::awt::image::BufferedImage * filter(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + virtual ::java::awt::image::BufferedImage * createCompatibleDestImage(::java::awt::image::BufferedImage *, ::java::awt::image::ColorModel *); + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); + virtual JArray< ::java::awt::color::ICC_Profile * > * getICC_Profiles(); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::BufferedImage *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); +private: + void copyimage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *); + void copyraster(::java::awt::image::Raster *, ::java::awt::color::ColorSpace *, ::java::awt::image::WritableRaster *, ::java::awt::color::ColorSpace *); + ::java::awt::image::ColorModel * createCompatibleColorModel(::java::awt::image::BufferedImage *, ::java::awt::color::ColorSpace *); + ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *, ::java::awt::color::ColorSpace *, jboolean, jint); + ::java::awt::RenderingHints * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hints; + JArray< ::java::awt::color::ICC_Profile * > * profiles; + JArray< ::java::awt::color::ColorSpace * > * spaces; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ColorConvertOp__ diff --git a/libjava/java/awt/image/ColorModel$SRGBColorModel.h b/libjava/java/awt/image/ColorModel$SRGBColorModel.h new file mode 100644 index 00000000000..90428c4298b --- /dev/null +++ b/libjava/java/awt/image/ColorModel$SRGBColorModel.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ColorModel$SRGBColorModel__ +#define __java_awt_image_ColorModel$SRGBColorModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel$SRGBColorModel; + } + } + } +} + +class java::awt::image::ColorModel$SRGBColorModel : public ::java::awt::image::DirectColorModel +{ + +public: // actually package-private + ColorModel$SRGBColorModel(); +public: + virtual jint getAlpha(::java::lang::Object *); + virtual jint getBlue(::java::lang::Object *); + virtual jint getGreen(::java::lang::Object *); + virtual jint getRed(::java::lang::Object *); + virtual jint getRGB(::java::lang::Object *); + virtual ::java::lang::Object * getDataElements(jint, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ColorModel$SRGBColorModel__ diff --git a/libjava/java/awt/image/ColorModel.h b/libjava/java/awt/image/ColorModel.h new file mode 100644 index 00000000000..3ed3b82ccad --- /dev/null +++ b/libjava/java/awt/image/ColorModel.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ColorModel__ +#define __java_awt_image_ColorModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class ColorModel; + class Raster; + class SampleModel; + class WritableRaster; + } + } + } +} + +class java::awt::image::ColorModel : public ::java::lang::Object +{ + +public: // actually package-private + static JArray< jint > * nArray(jint, jint); + static JArray< jbyte > * nArray(jbyte, jint); +public: + ColorModel(jint); +public: // actually protected + ColorModel(jint, JArray< jint > *, ::java::awt::color::ColorSpace *, jboolean, jboolean, jint, jint); +public: + virtual void finalize(); + static ::java::awt::image::ColorModel * getRGBdefault(); + virtual jboolean hasAlpha(); + virtual jboolean isAlphaPremultiplied(); + virtual jint getPixelSize(); + virtual jint getComponentSize(jint); + virtual JArray< jint > * getComponentSize(); + virtual jint getTransparency(); + virtual jint getNumComponents(); + virtual jint getNumColorComponents(); + virtual jint getRed(jint) = 0; + virtual jint getGreen(jint) = 0; + virtual jint getBlue(jint) = 0; + virtual jint getAlpha(jint) = 0; + virtual jint getRGB(jint); +public: // actually package-private + virtual jint getPixelFromArray(::java::lang::Object *); +public: + virtual jint getRed(::java::lang::Object *); + virtual jint getGreen(::java::lang::Object *); + virtual jint getBlue(::java::lang::Object *); + virtual jint getAlpha(::java::lang::Object *); + virtual jint getRGB(::java::lang::Object *); + virtual ::java::lang::Object * getDataElements(jint, ::java::lang::Object *); + virtual JArray< jint > * getComponents(jint, JArray< jint > *, jint); + virtual JArray< jint > * getComponents(::java::lang::Object *, JArray< jint > *, jint); + virtual JArray< jint > * getUnnormalizedComponents(JArray< jfloat > *, jint, JArray< jint > *, jint); + virtual JArray< jfloat > * getNormalizedComponents(JArray< jint > *, jint, JArray< jfloat > *, jint); + virtual JArray< jfloat > * getNormalizedComponents(::java::lang::Object *, JArray< jfloat > *, jint); + virtual jint getDataElement(JArray< jint > *, jint); + virtual jint getDataElement(JArray< jfloat > *, jint); + virtual ::java::lang::Object * getDataElements(JArray< jint > *, jint, ::java::lang::Object *); + virtual ::java::lang::Object * getDataElements(JArray< jfloat > *, jint, ::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::awt::color::ColorSpace * getColorSpace(); + virtual ::java::awt::image::ColorModel * coerceData(::java::awt::image::WritableRaster *, jboolean); +public: // actually protected + virtual void coerceDataWorker(::java::awt::image::WritableRaster *, jboolean); +public: + virtual jboolean isCompatibleRaster(::java::awt::image::Raster *); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual jboolean isCompatibleSampleModel(::java::awt::image::SampleModel *); + virtual jint getTransferType(); + virtual ::java::awt::image::WritableRaster * getAlphaRaster(::java::awt::image::WritableRaster *); +public: // actually package-private + virtual ::java::lang::String * stringParam(); +public: + virtual ::java::lang::String * toString(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) pixel_bits; + jint transferType; +public: // actually package-private + JArray< jint > * bits; + ::java::awt::color::ColorSpace * cspace; + jint transparency; + jboolean hasAlpha__; + jboolean isAlphaPremultiplied__; +private: + static ::java::awt::image::ColorModel * S_RGB_MODEL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ColorModel__ diff --git a/libjava/java/awt/image/ComponentColorModel.h b/libjava/java/awt/image/ComponentColorModel.h new file mode 100644 index 00000000000..e40ab1d2db1 --- /dev/null +++ b/libjava/java/awt/image/ComponentColorModel.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ComponentColorModel__ +#define __java_awt_image_ComponentColorModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class ColorModel; + class ComponentColorModel; + class Raster; + class SampleModel; + class WritableRaster; + } + } + } +} + +class java::awt::image::ComponentColorModel : public ::java::awt::image::ColorModel +{ + + static jint sum(JArray< jint > *); + static JArray< jint > * findBits(::java::awt::color::ColorSpace *, jint, jboolean); +public: + ComponentColorModel(::java::awt::color::ColorSpace *, JArray< jint > *, jboolean, jboolean, jint, jint); + ComponentColorModel(::java::awt::color::ColorSpace *, jboolean, jboolean, jint, jint); + virtual jint getRed(jint); + virtual jint getGreen(jint); + virtual jint getBlue(jint); + virtual jint getAlpha(jint); + virtual jint getRGB(jint); +private: + JArray< jfloat > * getRGBFloat(jint); + JArray< jfloat > * getRGBFloat(::java::lang::Object *); +public: + virtual jint getRed(::java::lang::Object *); + virtual jint getGreen(::java::lang::Object *); + virtual jint getBlue(::java::lang::Object *); + virtual jint getAlpha(::java::lang::Object *); +private: + jint getRGB(JArray< jfloat > *); +public: + virtual jint getRGB(::java::lang::Object *); + virtual ::java::lang::Object * getDataElements(jint, ::java::lang::Object *); + virtual JArray< jint > * getComponents(jint, JArray< jint > *, jint); + virtual JArray< jint > * getComponents(::java::lang::Object *, JArray< jint > *, jint); + virtual jint getDataElement(JArray< jint > *, jint); + virtual ::java::lang::Object * getDataElements(JArray< jint > *, jint, ::java::lang::Object *); + virtual ::java::awt::image::ColorModel * coerceData(::java::awt::image::WritableRaster *, jboolean); + virtual jboolean isCompatibleRaster(::java::awt::image::Raster *); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual jboolean isCompatibleSampleModel(::java::awt::image::SampleModel *); + virtual ::java::awt::image::WritableRaster * getAlphaRaster(::java::awt::image::WritableRaster *); + virtual jboolean equals(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ComponentColorModel__ diff --git a/libjava/java/awt/image/ComponentSampleModel.h b/libjava/java/awt/image/ComponentSampleModel.h new file mode 100644 index 00000000000..4a1d2c675cb --- /dev/null +++ b/libjava/java/awt/image/ComponentSampleModel.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ComponentSampleModel__ +#define __java_awt_image_ComponentSampleModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ComponentSampleModel; + class DataBuffer; + class SampleModel; + } + } + } +} + +class java::awt::image::ComponentSampleModel : public ::java::awt::image::SampleModel +{ + +public: + ComponentSampleModel(jint, jint, jint, jint, jint, JArray< jint > *); + ComponentSampleModel(jint, jint, jint, jint, jint, JArray< jint > *, JArray< jint > *); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *); + virtual ::java::awt::image::DataBuffer * createDataBuffer(); + virtual jint getOffset(jint, jint); + virtual jint getOffset(jint, jint, jint); + virtual JArray< jint > * getSampleSize(); + virtual jint getSampleSize(jint); + virtual JArray< jint > * getBankIndices(); + virtual JArray< jint > * getBandOffsets(); + virtual jint getScanlineStride(); + virtual jint getPixelStride(); + virtual jint getNumDataElements(); + virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual ::java::lang::Object * getDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual void setDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual void setDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual void setPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setSample(jint, jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +public: // actually protected + JArray< jint > * __attribute__((aligned(__alignof__( ::java::awt::image::SampleModel)))) bandOffsets; + JArray< jint > * bankIndices; + jint numBands; + jint numBanks; + jint scanlineStride; + jint pixelStride; +private: + jboolean tightPixelPacking; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ComponentSampleModel__ diff --git a/libjava/java/awt/image/ConvolveOp.h b/libjava/java/awt/image/ConvolveOp.h new file mode 100644 index 00000000000..e72a7033e62 --- /dev/null +++ b/libjava/java/awt/image/ConvolveOp.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ConvolveOp__ +#define __java_awt_image_ConvolveOp__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class ConvolveOp; + class Kernel; + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::image::ConvolveOp : public ::java::lang::Object +{ + +public: + ConvolveOp(::java::awt::image::Kernel *, jint, ::java::awt::RenderingHints *); + ConvolveOp(::java::awt::image::Kernel *); + virtual ::java::awt::image::BufferedImage * filter(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *); + virtual ::java::awt::image::BufferedImage * createCompatibleDestImage(::java::awt::image::BufferedImage *, ::java::awt::image::ColorModel *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual jint getEdgeCondition(); + virtual ::java::awt::image::Kernel * getKernel(); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); +private: + void fillEdge(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *, jint, jint, jint, jint, jint); +public: + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::BufferedImage *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + static const jint EDGE_ZERO_FILL = 0; + static const jint EDGE_NO_OP = 1; +private: + ::java::awt::image::Kernel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kernel; + jint edge; + ::java::awt::RenderingHints * hints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ConvolveOp__ diff --git a/libjava/java/awt/image/CropImageFilter.h b/libjava/java/awt/image/CropImageFilter.h new file mode 100644 index 00000000000..23720dbdca3 --- /dev/null +++ b/libjava/java/awt/image/CropImageFilter.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_CropImageFilter__ +#define __java_awt_image_CropImageFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class CropImageFilter; + } + } + } +} + +class java::awt::image::CropImageFilter : public ::java::awt::image::ImageFilter +{ + +public: + CropImageFilter(jint, jint, jint, jint); + virtual void setDimensions(jint, jint); + virtual void setProperties(::java::util::Hashtable *); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::image::ImageFilter)))) x; + jint y; + jint width; + jint height; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_CropImageFilter__ diff --git a/libjava/java/awt/image/DataBuffer.h b/libjava/java/awt/image/DataBuffer.h new file mode 100644 index 00000000000..5bb4ac2933c --- /dev/null +++ b/libjava/java/awt/image/DataBuffer.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBuffer__ +#define __java_awt_image_DataBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBuffer; + } + } + } +} + +class java::awt::image::DataBuffer : public ::java::lang::Object +{ + +public: // actually protected + DataBuffer(jint, jint); + DataBuffer(jint, jint, jint); + DataBuffer(jint, jint, jint, jint); + DataBuffer(jint, jint, jint, JArray< jint > *); +public: + static jint getDataTypeSize(jint); + virtual jint getDataType(); + virtual jint getSize(); + virtual jint getOffset(); + virtual JArray< jint > * getOffsets(); + virtual jint getNumBanks(); + virtual jint getElem(jint); + virtual jint getElem(jint, jint) = 0; + virtual void setElem(jint, jint); + virtual void setElem(jint, jint, jint) = 0; + virtual jfloat getElemFloat(jint); + virtual jfloat getElemFloat(jint, jint); + virtual void setElemFloat(jint, jfloat); + virtual void setElemFloat(jint, jint, jfloat); + virtual jdouble getElemDouble(jint); + virtual jdouble getElemDouble(jint, jint); + virtual void setElemDouble(jint, jdouble); + virtual void setElemDouble(jint, jint, jdouble); + static const jint TYPE_BYTE = 0; + static const jint TYPE_USHORT = 1; + static const jint TYPE_SHORT = 2; + static const jint TYPE_INT = 3; + static const jint TYPE_FLOAT = 4; + static const jint TYPE_DOUBLE = 5; + static const jint TYPE_UNDEFINED = 32; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) dataType; + jint banks; + jint offset; + jint size; + JArray< jint > * offsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBuffer__ diff --git a/libjava/java/awt/image/DataBufferByte.h b/libjava/java/awt/image/DataBufferByte.h new file mode 100644 index 00000000000..224be27ce29 --- /dev/null +++ b/libjava/java/awt/image/DataBufferByte.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBufferByte__ +#define __java_awt_image_DataBufferByte__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBufferByte; + } + } + } +} + +class java::awt::image::DataBufferByte : public ::java::awt::image::DataBuffer +{ + +public: + DataBufferByte(jint); + DataBufferByte(jint, jint); + DataBufferByte(JArray< jbyte > *, jint); + DataBufferByte(JArray< jbyte > *, jint, jint); + DataBufferByte(JArray< JArray< jbyte > * > *, jint); + DataBufferByte(JArray< JArray< jbyte > * > *, jint, JArray< jint > *); + JArray< jbyte > * getData(); + JArray< jbyte > * getData(jint); + JArray< JArray< jbyte > * > * getBankData(); + jint getElem(jint); + jint getElem(jint, jint); + void setElem(jint, jint); + void setElem(jint, jint, jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) data; + JArray< JArray< jbyte > * > * bankData; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBufferByte__ diff --git a/libjava/java/awt/image/DataBufferDouble.h b/libjava/java/awt/image/DataBufferDouble.h new file mode 100644 index 00000000000..056c5e4bbf0 --- /dev/null +++ b/libjava/java/awt/image/DataBufferDouble.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBufferDouble__ +#define __java_awt_image_DataBufferDouble__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBufferDouble; + } + } + } +} + +class java::awt::image::DataBufferDouble : public ::java::awt::image::DataBuffer +{ + +public: + DataBufferDouble(jint); + DataBufferDouble(jint, jint); + DataBufferDouble(JArray< jdouble > *, jint); + DataBufferDouble(JArray< jdouble > *, jint, jint); + DataBufferDouble(JArray< JArray< jdouble > * > *, jint); + DataBufferDouble(JArray< JArray< jdouble > * > *, jint, JArray< jint > *); + JArray< jdouble > * getData(); + JArray< jdouble > * getData(jint); + JArray< JArray< jdouble > * > * getBankData(); + jint getElem(jint); + jint getElem(jint, jint); + void setElem(jint, jint); + void setElem(jint, jint, jint); + jfloat getElemFloat(jint); + jfloat getElemFloat(jint, jint); + void setElemFloat(jint, jfloat); + void setElemFloat(jint, jint, jfloat); + jdouble getElemDouble(jint); + jdouble getElemDouble(jint, jint); + void setElemDouble(jint, jdouble); + void setElemDouble(jint, jint, jdouble); +private: + JArray< jdouble > * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) data; + JArray< JArray< jdouble > * > * bankData; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBufferDouble__ diff --git a/libjava/java/awt/image/DataBufferFloat.h b/libjava/java/awt/image/DataBufferFloat.h new file mode 100644 index 00000000000..621e3593f94 --- /dev/null +++ b/libjava/java/awt/image/DataBufferFloat.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBufferFloat__ +#define __java_awt_image_DataBufferFloat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBufferFloat; + } + } + } +} + +class java::awt::image::DataBufferFloat : public ::java::awt::image::DataBuffer +{ + +public: + DataBufferFloat(jint); + DataBufferFloat(jint, jint); + DataBufferFloat(JArray< jfloat > *, jint); + DataBufferFloat(JArray< jfloat > *, jint, jint); + DataBufferFloat(JArray< JArray< jfloat > * > *, jint); + DataBufferFloat(JArray< JArray< jfloat > * > *, jint, JArray< jint > *); + JArray< jfloat > * getData(); + JArray< jfloat > * getData(jint); + JArray< JArray< jfloat > * > * getBankData(); + jint getElem(jint); + jint getElem(jint, jint); + void setElem(jint, jint); + void setElem(jint, jint, jint); + jfloat getElemFloat(jint); + jfloat getElemFloat(jint, jint); + void setElemFloat(jint, jfloat); + void setElemFloat(jint, jint, jfloat); + jdouble getElemDouble(jint); + jdouble getElemDouble(jint, jint); + void setElemDouble(jint, jdouble); + void setElemDouble(jint, jint, jdouble); +private: + JArray< jfloat > * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) data; + JArray< JArray< jfloat > * > * bankData; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBufferFloat__ diff --git a/libjava/java/awt/image/DataBufferInt.h b/libjava/java/awt/image/DataBufferInt.h new file mode 100644 index 00000000000..0526f607fa4 --- /dev/null +++ b/libjava/java/awt/image/DataBufferInt.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBufferInt__ +#define __java_awt_image_DataBufferInt__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBufferInt; + } + } + } +} + +class java::awt::image::DataBufferInt : public ::java::awt::image::DataBuffer +{ + +public: + DataBufferInt(jint); + DataBufferInt(jint, jint); + DataBufferInt(JArray< jint > *, jint); + DataBufferInt(JArray< jint > *, jint, jint); + DataBufferInt(JArray< JArray< jint > * > *, jint); + DataBufferInt(JArray< JArray< jint > * > *, jint, JArray< jint > *); + JArray< jint > * getData(); + JArray< jint > * getData(jint); + JArray< JArray< jint > * > * getBankData(); + jint getElem(jint); + jint getElem(jint, jint); + void setElem(jint, jint); + void setElem(jint, jint, jint); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) data; + JArray< JArray< jint > * > * bankData; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBufferInt__ diff --git a/libjava/java/awt/image/DataBufferShort.h b/libjava/java/awt/image/DataBufferShort.h new file mode 100644 index 00000000000..c66067109a1 --- /dev/null +++ b/libjava/java/awt/image/DataBufferShort.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBufferShort__ +#define __java_awt_image_DataBufferShort__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBufferShort; + } + } + } +} + +class java::awt::image::DataBufferShort : public ::java::awt::image::DataBuffer +{ + +public: + DataBufferShort(jint); + DataBufferShort(jint, jint); + DataBufferShort(JArray< jshort > *, jint); + DataBufferShort(JArray< jshort > *, jint, jint); + DataBufferShort(JArray< JArray< jshort > * > *, jint); + DataBufferShort(JArray< JArray< jshort > * > *, jint, JArray< jint > *); + JArray< jshort > * getData(); + JArray< jshort > * getData(jint); + JArray< JArray< jshort > * > * getBankData(); + jint getElem(jint); + jint getElem(jint, jint); + void setElem(jint, jint); + void setElem(jint, jint, jint); +private: + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) data; + JArray< JArray< jshort > * > * bankData; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBufferShort__ diff --git a/libjava/java/awt/image/DataBufferUShort.h b/libjava/java/awt/image/DataBufferUShort.h new file mode 100644 index 00000000000..e67d26b1bf3 --- /dev/null +++ b/libjava/java/awt/image/DataBufferUShort.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DataBufferUShort__ +#define __java_awt_image_DataBufferUShort__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBufferUShort; + } + } + } +} + +class java::awt::image::DataBufferUShort : public ::java::awt::image::DataBuffer +{ + +public: + DataBufferUShort(jint); + DataBufferUShort(jint, jint); + DataBufferUShort(JArray< jshort > *, jint); + DataBufferUShort(JArray< jshort > *, jint, jint); + DataBufferUShort(JArray< JArray< jshort > * > *, jint); + DataBufferUShort(JArray< JArray< jshort > * > *, jint, JArray< jint > *); + JArray< jshort > * getData(); + JArray< jshort > * getData(jint); + JArray< JArray< jshort > * > * getBankData(); + jint getElem(jint); + jint getElem(jint, jint); + void setElem(jint, jint); + void setElem(jint, jint, jint); +private: + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::awt::image::DataBuffer)))) data; + JArray< JArray< jshort > * > * bankData; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DataBufferUShort__ diff --git a/libjava/java/awt/image/DirectColorModel.h b/libjava/java/awt/image/DirectColorModel.h new file mode 100644 index 00000000000..476ab073d62 --- /dev/null +++ b/libjava/java/awt/image/DirectColorModel.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_DirectColorModel__ +#define __java_awt_image_DirectColorModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class ColorModel; + class DirectColorModel; + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::image::DirectColorModel : public ::java::awt::image::PackedColorModel +{ + +public: + DirectColorModel(jint, jint, jint, jint); + DirectColorModel(jint, jint, jint, jint, jint); + DirectColorModel(::java::awt::color::ColorSpace *, jint, jint, jint, jint, jint, jboolean, jint); + virtual jint getRedMask(); + virtual jint getGreenMask(); + virtual jint getBlueMask(); + virtual jint getAlphaMask(); + virtual jint getRed(jint); + virtual jint getGreen(jint); + virtual jint getBlue(jint); + virtual jint getAlpha(jint); +private: + jint extractAndNormalizeSample(jint, jint); + jint extractAndScaleSample(jint, jint); +public: + virtual jint getRGB(jint); + virtual jint getRed(::java::lang::Object *); + virtual jint getGreen(::java::lang::Object *); + virtual jint getBlue(::java::lang::Object *); + virtual jint getAlpha(::java::lang::Object *); + virtual jint getRGB(::java::lang::Object *); + virtual ::java::lang::Object * getDataElements(jint, ::java::lang::Object *); +private: + jint valueToField(jint, jint, jint); + jint value16ToField(jint, jint); +public: + virtual JArray< jint > * getComponents(jint, JArray< jint > *, jint); + virtual JArray< jint > * getComponents(::java::lang::Object *, JArray< jint > *, jint); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint); + virtual jint getDataElement(JArray< jint > *, jint); + virtual ::java::lang::Object * getDataElements(JArray< jint > *, jint, ::java::lang::Object *); + virtual ::java::awt::image::ColorModel * coerceData(::java::awt::image::WritableRaster *, jboolean); + virtual jboolean isCompatibleRaster(::java::awt::image::Raster *); +public: // actually package-private + virtual ::java::lang::String * stringParam(); +public: + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_DirectColorModel__ diff --git a/libjava/java/awt/image/FilteredImageSource.h b/libjava/java/awt/image/FilteredImageSource.h new file mode 100644 index 00000000000..93174c44f3c --- /dev/null +++ b/libjava/java/awt/image/FilteredImageSource.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_FilteredImageSource__ +#define __java_awt_image_FilteredImageSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class FilteredImageSource; + class ImageConsumer; + class ImageFilter; + class ImageProducer; + } + } + } +} + +class java::awt::image::FilteredImageSource : public ::java::lang::Object +{ + +public: + FilteredImageSource(::java::awt::image::ImageProducer *, ::java::awt::image::ImageFilter *); + virtual void addConsumer(::java::awt::image::ImageConsumer *); + virtual jboolean isConsumer(::java::awt::image::ImageConsumer *); + virtual void removeConsumer(::java::awt::image::ImageConsumer *); + virtual void startProduction(::java::awt::image::ImageConsumer *); + virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *); +public: // actually package-private + ::java::awt::image::ImageProducer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ip; + ::java::awt::image::ImageFilter * filter; + ::java::util::Hashtable * consumers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_FilteredImageSource__ diff --git a/libjava/java/awt/image/ImageConsumer.h b/libjava/java/awt/image/ImageConsumer.h new file mode 100644 index 00000000000..ffca9fc3cad --- /dev/null +++ b/libjava/java/awt/image/ImageConsumer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ImageConsumer__ +#define __java_awt_image_ImageConsumer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class ImageConsumer; + } + } + } +} + +class java::awt::image::ImageConsumer : public ::java::lang::Object +{ + +public: + virtual void setDimensions(jint, jint) = 0; + virtual void setProperties(::java::util::Hashtable *) = 0; + virtual void setColorModel(::java::awt::image::ColorModel *) = 0; + virtual void setHints(jint) = 0; + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint) = 0; + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint) = 0; + virtual void imageComplete(jint) = 0; + static const jint RANDOMPIXELORDER = 1; + static const jint TOPDOWNLEFTRIGHT = 2; + static const jint COMPLETESCANLINES = 4; + static const jint SINGLEPASS = 8; + static const jint SINGLEFRAME = 16; + static const jint IMAGEERROR = 1; + static const jint SINGLEFRAMEDONE = 2; + static const jint STATICIMAGEDONE = 3; + static const jint IMAGEABORTED = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_ImageConsumer__ diff --git a/libjava/java/awt/image/ImageFilter.h b/libjava/java/awt/image/ImageFilter.h new file mode 100644 index 00000000000..84b6f53b0e3 --- /dev/null +++ b/libjava/java/awt/image/ImageFilter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ImageFilter__ +#define __java_awt_image_ImageFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class ImageConsumer; + class ImageFilter; + class ImageProducer; + } + } + } +} + +class java::awt::image::ImageFilter : public ::java::lang::Object +{ + +public: + ImageFilter(); + virtual void resendTopDownLeftRight(::java::awt::image::ImageProducer *); + virtual ::java::lang::Object * clone(); + virtual ::java::awt::image::ImageFilter * getFilterInstance(::java::awt::image::ImageConsumer *); + virtual void setDimensions(jint, jint); + virtual void setProperties(::java::util::Hashtable *); + virtual void setColorModel(::java::awt::image::ColorModel *); + virtual void setHints(jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); + virtual void imageComplete(jint); +public: // actually protected + ::java::awt::image::ImageConsumer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) consumer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ImageFilter__ diff --git a/libjava/java/awt/image/ImageObserver.h b/libjava/java/awt/image/ImageObserver.h new file mode 100644 index 00000000000..563666a1a9d --- /dev/null +++ b/libjava/java/awt/image/ImageObserver.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ImageObserver__ +#define __java_awt_image_ImageObserver__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + namespace image + { + class ImageObserver; + } + } + } +} + +class java::awt::image::ImageObserver : public ::java::lang::Object +{ + +public: + virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint) = 0; + static const jint WIDTH = 1; + static const jint HEIGHT = 2; + static const jint PROPERTIES = 4; + static const jint SOMEBITS = 8; + static const jint FRAMEBITS = 16; + static const jint ALLBITS = 32; + static const jint ERROR = 64; + static const jint ABORT = 128; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_ImageObserver__ diff --git a/libjava/java/awt/image/ImageProducer.h b/libjava/java/awt/image/ImageProducer.h new file mode 100644 index 00000000000..108f61f49f3 --- /dev/null +++ b/libjava/java/awt/image/ImageProducer.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ImageProducer__ +#define __java_awt_image_ImageProducer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ImageConsumer; + class ImageProducer; + } + } + } +} + +class java::awt::image::ImageProducer : public ::java::lang::Object +{ + +public: + virtual void addConsumer(::java::awt::image::ImageConsumer *) = 0; + virtual jboolean isConsumer(::java::awt::image::ImageConsumer *) = 0; + virtual void removeConsumer(::java::awt::image::ImageConsumer *) = 0; + virtual void startProduction(::java::awt::image::ImageConsumer *) = 0; + virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_ImageProducer__ diff --git a/libjava/java/awt/image/ImagingOpException.h b/libjava/java/awt/image/ImagingOpException.h new file mode 100644 index 00000000000..9ce51161f2e --- /dev/null +++ b/libjava/java/awt/image/ImagingOpException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ImagingOpException__ +#define __java_awt_image_ImagingOpException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ImagingOpException; + } + } + } +} + +class java::awt::image::ImagingOpException : public ::java::lang::RuntimeException +{ + +public: + ImagingOpException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8026288481846276658LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ImagingOpException__ diff --git a/libjava/java/awt/image/IndexColorModel.h b/libjava/java/awt/image/IndexColorModel.h new file mode 100644 index 00000000000..cbb2fac300c --- /dev/null +++ b/libjava/java/awt/image/IndexColorModel.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_IndexColorModel__ +#define __java_awt_image_IndexColorModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class IndexColorModel; + class Raster; + class SampleModel; + } + } + namespace math + { + class BigInteger; + } + } +} + +class java::awt::image::IndexColorModel : public ::java::awt::image::ColorModel +{ + +public: + IndexColorModel(jint, jint, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); + IndexColorModel(jint, jint, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, jint); + IndexColorModel(jint, jint, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *); + IndexColorModel(jint, jint, JArray< jbyte > *, jint, jboolean); + IndexColorModel(jint, jint, JArray< jbyte > *, jint, jboolean, jint); + IndexColorModel(jint, jint, JArray< jint > *, jint, jboolean, jint, jint); + IndexColorModel(jint, jint, JArray< jint > *, jint, jint, ::java::math::BigInteger *); + virtual jint getMapSize(); + virtual jint getTransparentPixel(); + virtual void getReds(JArray< jbyte > *); + virtual void getGreens(JArray< jbyte > *); + virtual void getBlues(JArray< jbyte > *); + virtual void getAlphas(JArray< jbyte > *); + virtual jint getRed(jint); + virtual jint getGreen(jint); + virtual jint getBlue(jint); + virtual jint getAlpha(jint); + virtual jint getRGB(jint); + virtual void getRGBs(JArray< jint > *); + virtual jboolean isValid(jint); + virtual jboolean isValid(); + virtual ::java::math::BigInteger * getValidPixels(); + virtual ::java::awt::image::BufferedImage * convertToIntDiscrete(::java::awt::image::Raster *, jboolean); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); +private: + void setTransparentPixel(jint); + jint __attribute__((aligned(__alignof__( ::java::awt::image::ColorModel)))) map_size; + jboolean opaque; + jint trans; + JArray< jint > * rgb; + ::java::math::BigInteger * validBits; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_IndexColorModel__ diff --git a/libjava/java/awt/image/Kernel.h b/libjava/java/awt/image/Kernel.h new file mode 100644 index 00000000000..f0bacc1233c --- /dev/null +++ b/libjava/java/awt/image/Kernel.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_Kernel__ +#define __java_awt_image_Kernel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class Kernel; + } + } + } +} + +class java::awt::image::Kernel : public ::java::lang::Object +{ + +public: + Kernel(jint, jint, JArray< jfloat > *); + virtual jint getXOrigin(); + virtual jint getYOrigin(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual JArray< jfloat > * getKernelData(JArray< jfloat > *); + virtual ::java::lang::Object * clone(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) width; + jint height; + JArray< jfloat > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_Kernel__ diff --git a/libjava/java/awt/image/LookupOp.h b/libjava/java/awt/image/LookupOp.h new file mode 100644 index 00000000000..07546043f0e --- /dev/null +++ b/libjava/java/awt/image/LookupOp.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_LookupOp__ +#define __java_awt_image_LookupOp__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class LookupOp; + class LookupTable; + class Raster; + class WritableRaster; + } + } + } +} + +class java::awt::image::LookupOp : public ::java::lang::Object +{ + +public: + LookupOp(::java::awt::image::LookupTable *, ::java::awt::RenderingHints *); + virtual ::java::awt::image::BufferedImage * filter(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::BufferedImage *); + virtual ::java::awt::image::BufferedImage * createCompatibleDestImage(::java::awt::image::BufferedImage *, ::java::awt::image::ColorModel *); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); + virtual ::java::awt::image::LookupTable * getTable(); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); +private: + ::java::awt::image::LookupTable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lut; + ::java::awt::RenderingHints * hints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_LookupOp__ diff --git a/libjava/java/awt/image/LookupTable.h b/libjava/java/awt/image/LookupTable.h new file mode 100644 index 00000000000..2fcd6459230 --- /dev/null +++ b/libjava/java/awt/image/LookupTable.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_LookupTable__ +#define __java_awt_image_LookupTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class LookupTable; + } + } + } +} + +class java::awt::image::LookupTable : public ::java::lang::Object +{ + +public: // actually protected + LookupTable(jint, jint); +public: + virtual jint getNumComponents(); + virtual jint getOffset(); + virtual JArray< jint > * lookupPixel(JArray< jint > *, JArray< jint > *) = 0; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) offset; + jint numComponents; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_LookupTable__ diff --git a/libjava/java/awt/image/MemoryImageSource.h b/libjava/java/awt/image/MemoryImageSource.h new file mode 100644 index 00000000000..e717ee87c12 --- /dev/null +++ b/libjava/java/awt/image/MemoryImageSource.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_MemoryImageSource__ +#define __java_awt_image_MemoryImageSource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class ImageConsumer; + class MemoryImageSource; + } + } + } +} + +class java::awt::image::MemoryImageSource : public ::java::lang::Object +{ + +public: + MemoryImageSource(jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + MemoryImageSource(jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint, ::java::util::Hashtable *); + MemoryImageSource(jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); + MemoryImageSource(jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint, ::java::util::Hashtable *); + MemoryImageSource(jint, jint, JArray< jint > *, jint, jint, ::java::util::Hashtable *); + MemoryImageSource(jint, jint, JArray< jint > *, jint, jint); + virtual void addConsumer(::java::awt::image::ImageConsumer *); + virtual jboolean isConsumer(::java::awt::image::ImageConsumer *); + virtual void removeConsumer(::java::awt::image::ImageConsumer *); + virtual void startProduction(::java::awt::image::ImageConsumer *); + virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *); + virtual void setAnimated(jboolean); + virtual void setFullBufferUpdates(jboolean); + virtual void newPixels(); +private: + void sendPicture(::java::awt::image::ImageConsumer *); +public: + virtual void newPixels(jint, jint, jint, jint); + virtual void newPixels(jint, jint, jint, jint, jboolean); + virtual void newPixels(JArray< jbyte > *, ::java::awt::image::ColorModel *, jint, jint); + virtual void newPixels(JArray< jint > *, ::java::awt::image::ColorModel *, jint, jint); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) animated; + jboolean fullbuffers; + JArray< jint > * pixeli; + jint width; + jint height; + jint offset; + jint scansize; + JArray< jbyte > * pixelb; + ::java::awt::image::ColorModel * cm; + ::java::util::Hashtable * props; + ::java::util::Vector * consumers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_MemoryImageSource__ diff --git a/libjava/java/awt/image/MultiPixelPackedSampleModel.h b/libjava/java/awt/image/MultiPixelPackedSampleModel.h new file mode 100644 index 00000000000..377ceaf1ee9 --- /dev/null +++ b/libjava/java/awt/image/MultiPixelPackedSampleModel.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_MultiPixelPackedSampleModel__ +#define __java_awt_image_MultiPixelPackedSampleModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBuffer; + class MultiPixelPackedSampleModel; + class SampleModel; + } + } + } +} + +class java::awt::image::MultiPixelPackedSampleModel : public ::java::awt::image::SampleModel +{ + +public: + MultiPixelPackedSampleModel(jint, jint, jint, jint); + MultiPixelPackedSampleModel(jint, jint, jint, jint, jint, jint); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual ::java::awt::image::DataBuffer * createDataBuffer(); + virtual jint getNumDataElements(); + virtual JArray< jint > * getSampleSize(); + virtual jint getSampleSize(jint); + virtual jint getOffset(jint, jint); + virtual jint getBitOffset(jint); + virtual jint getDataBitOffset(); + virtual jint getScanlineStride(); + virtual jint getPixelBitStride(); + virtual jint getTransferType(); + virtual ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *); + virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual void setDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual void setPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setSample(jint, jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::awt::image::SampleModel)))) scanlineStride; + JArray< jint > * bitMasks; + JArray< jint > * bitOffsets; + JArray< jint > * sampleSize; + jint dataBitOffset; + jint elemBits; + jint numberOfBits; + jint numElems; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_MultiPixelPackedSampleModel__ diff --git a/libjava/java/awt/image/PackedColorModel.h b/libjava/java/awt/image/PackedColorModel.h new file mode 100644 index 00000000000..2d98aa9e877 --- /dev/null +++ b/libjava/java/awt/image/PackedColorModel.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_PackedColorModel__ +#define __java_awt_image_PackedColorModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class PackedColorModel; + class SampleModel; + class WritableRaster; + } + } + } +} + +class java::awt::image::PackedColorModel : public ::java::awt::image::ColorModel +{ + +public: + PackedColorModel(::java::awt::color::ColorSpace *, jint, JArray< jint > *, jint, jboolean, jint, jint); +private: + static JArray< jint > * calcBitsPerComponent(JArray< jint > *, jint); + void initMasks(JArray< jint > *, jint); +public: + PackedColorModel(::java::awt::color::ColorSpace *, jint, jint, jint, jint, jint, jboolean, jint, jint); +private: + static JArray< jint > * makeColorMaskArray(jint, jint, jint); +public: + virtual jint getMask(jint); + virtual JArray< jint > * getMasks(); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual jboolean isCompatibleSampleModel(::java::awt::image::SampleModel *); + virtual ::java::awt::image::WritableRaster * getAlphaRaster(::java::awt::image::WritableRaster *); + virtual jboolean equals(::java::lang::Object *); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::awt::image::ColorModel)))) masks; +public: // actually package-private + JArray< jint > * shifts; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_PackedColorModel__ diff --git a/libjava/java/awt/image/PixelGrabber$1.h b/libjava/java/awt/image/PixelGrabber$1.h new file mode 100644 index 00000000000..cf22efa1b08 --- /dev/null +++ b/libjava/java/awt/image/PixelGrabber$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_PixelGrabber$1__ +#define __java_awt_image_PixelGrabber$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class PixelGrabber; + class PixelGrabber$1; + } + } + } +} + +class java::awt::image::PixelGrabber$1 : public ::java::lang::Thread +{ + +public: // actually package-private + PixelGrabber$1(::java::awt::image::PixelGrabber *); +public: + void run(); +public: // actually package-private + ::java::awt::image::PixelGrabber * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_PixelGrabber$1__ diff --git a/libjava/java/awt/image/PixelGrabber.h b/libjava/java/awt/image/PixelGrabber.h new file mode 100644 index 00000000000..f530f343127 --- /dev/null +++ b/libjava/java/awt/image/PixelGrabber.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_PixelGrabber__ +#define __java_awt_image_PixelGrabber__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + namespace image + { + class ColorModel; + class ImageProducer; + class PixelGrabber; + } + } + } +} + +class java::awt::image::PixelGrabber : public ::java::lang::Object +{ + +public: + PixelGrabber(::java::awt::Image *, jint, jint, jint, jint, JArray< jint > *, jint, jint); + PixelGrabber(::java::awt::image::ImageProducer *, jint, jint, jint, jint, JArray< jint > *, jint, jint); + PixelGrabber(::java::awt::Image *, jint, jint, jint, jint, jboolean); + virtual void startGrabbing(); + virtual void abortGrabbing(); + virtual jboolean grabPixels(); + virtual jboolean grabPixels(jlong); +private: + jboolean setObserverStatus(); +public: + virtual jint getStatus(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual ::java::lang::Object * getPixels(); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual void setDimensions(jint, jint); + virtual void setProperties(::java::util::Hashtable *); + virtual void setColorModel(::java::awt::image::ColorModel *); + virtual void setHints(jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); + virtual void imageComplete(jint); + virtual jint status(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + jint y; + jint offset; + jint width; + jint height; + jint scansize; + jboolean forceRGB; + ::java::awt::image::ColorModel * model; + jint hints; + ::java::util::Hashtable * props; + JArray< jint > * int_pixel_buffer; + jboolean ints_delivered; + JArray< jbyte > * byte_pixel_buffer; + jboolean bytes_delivered; + ::java::awt::image::ImageProducer * ip; + jint observerStatus; + jint consumerStatus; +private: + ::java::lang::Thread * grabberThread; +public: // actually package-private + jboolean grabbing; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_PixelGrabber__ diff --git a/libjava/java/awt/image/PixelInterleavedSampleModel.h b/libjava/java/awt/image/PixelInterleavedSampleModel.h new file mode 100644 index 00000000000..42ba5821751 --- /dev/null +++ b/libjava/java/awt/image/PixelInterleavedSampleModel.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_PixelInterleavedSampleModel__ +#define __java_awt_image_PixelInterleavedSampleModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class PixelInterleavedSampleModel; + class SampleModel; + } + } + } +} + +class java::awt::image::PixelInterleavedSampleModel : public ::java::awt::image::ComponentSampleModel +{ + +public: + PixelInterleavedSampleModel(jint, jint, jint, jint, jint, JArray< jint > *); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_PixelInterleavedSampleModel__ diff --git a/libjava/java/awt/image/RGBImageFilter.h b/libjava/java/awt/image/RGBImageFilter.h new file mode 100644 index 00000000000..34aea655ff6 --- /dev/null +++ b/libjava/java/awt/image/RGBImageFilter.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_RGBImageFilter__ +#define __java_awt_image_RGBImageFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class IndexColorModel; + class RGBImageFilter; + } + } + } +} + +class java::awt::image::RGBImageFilter : public ::java::awt::image::ImageFilter +{ + +public: + RGBImageFilter(); + virtual void setColorModel(::java::awt::image::ColorModel *); + virtual void substituteColorModel(::java::awt::image::ColorModel *, ::java::awt::image::ColorModel *); + virtual ::java::awt::image::IndexColorModel * filterIndexColorModel(::java::awt::image::IndexColorModel *); + virtual void filterRGBPixels(jint, jint, jint, jint, JArray< jint > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); + virtual jint filterRGB(jint, jint, jint) = 0; +public: // actually protected + ::java::awt::image::ColorModel * __attribute__((aligned(__alignof__( ::java::awt::image::ImageFilter)))) origmodel; + ::java::awt::image::ColorModel * newmodel; + jboolean canFilterIndexColorModel; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_RGBImageFilter__ diff --git a/libjava/java/awt/image/Raster.h b/libjava/java/awt/image/Raster.h new file mode 100644 index 00000000000..2c187d5af3f --- /dev/null +++ b/libjava/java/awt/image/Raster.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_Raster__ +#define __java_awt_image_Raster__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + namespace image + { + class DataBuffer; + class Raster; + class SampleModel; + class WritableRaster; + } + } + } +} + +class java::awt::image::Raster : public ::java::lang::Object +{ + +public: // actually protected + Raster(::java::awt::image::SampleModel *, ::java::awt::Point *); + Raster(::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *); + Raster(::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Rectangle *, ::java::awt::Point *, ::java::awt::image::Raster *); +public: + static ::java::awt::image::WritableRaster * createInterleavedRaster(jint, jint, jint, jint, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createInterleavedRaster(jint, jint, jint, jint, jint, JArray< jint > *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createBandedRaster(jint, jint, jint, jint, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createBandedRaster(jint, jint, jint, jint, JArray< jint > *, JArray< jint > *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createPackedRaster(jint, jint, jint, JArray< jint > *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createPackedRaster(jint, jint, jint, jint, jint, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createInterleavedRaster(::java::awt::image::DataBuffer *, jint, jint, jint, jint, JArray< jint > *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createBandedRaster(::java::awt::image::DataBuffer *, jint, jint, jint, JArray< jint > *, JArray< jint > *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createPackedRaster(::java::awt::image::DataBuffer *, jint, jint, jint, JArray< jint > *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createPackedRaster(::java::awt::image::DataBuffer *, jint, jint, jint, ::java::awt::Point *); + static ::java::awt::image::Raster * createRaster(::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createWritableRaster(::java::awt::image::SampleModel *, ::java::awt::Point *); + static ::java::awt::image::WritableRaster * createWritableRaster(::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *); + virtual ::java::awt::image::Raster * getParent(); + virtual jint getSampleModelTranslateX(); + virtual jint getSampleModelTranslateY(); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(::java::awt::Rectangle *); + virtual ::java::awt::image::WritableRaster * createCompatibleWritableRaster(jint, jint, jint, jint); + virtual ::java::awt::image::Raster * createTranslatedChild(jint, jint); + virtual ::java::awt::image::Raster * createChild(jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual ::java::awt::Rectangle * getBounds(); + virtual jint getMinX(); + virtual jint getMinY(); + virtual jint getWidth(); + virtual jint getHeight(); + virtual jint getNumBands(); + virtual jint getNumDataElements(); + virtual jint getTransferType(); + virtual ::java::awt::image::DataBuffer * getDataBuffer(); + virtual ::java::awt::image::SampleModel * getSampleModel(); + virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *); + virtual ::java::lang::Object * getDataElements(jint, jint, jint, jint, ::java::lang::Object *); + virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *); + virtual JArray< jfloat > * getPixel(jint, jint, JArray< jfloat > *); + virtual JArray< jdouble > * getPixel(jint, jint, JArray< jdouble > *); + virtual JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *); + virtual JArray< jfloat > * getPixels(jint, jint, jint, jint, JArray< jfloat > *); + virtual JArray< jdouble > * getPixels(jint, jint, jint, jint, JArray< jdouble > *); + virtual jint getSample(jint, jint, jint); + virtual jfloat getSampleFloat(jint, jint, jint); + virtual jdouble getSampleDouble(jint, jint, jint); + virtual JArray< jint > * getSamples(jint, jint, jint, jint, jint, JArray< jint > *); + virtual JArray< jfloat > * getSamples(jint, jint, jint, jint, jint, JArray< jfloat > *); + virtual JArray< jdouble > * getSamples(jint, jint, jint, jint, jint, JArray< jdouble > *); + virtual ::java::lang::String * toString(); +private: + static jint getTypeBits(jint); +public: // actually protected + ::java::awt::image::SampleModel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sampleModel; + ::java::awt::image::DataBuffer * dataBuffer; + jint minX; + jint minY; + jint width; + jint height; + jint sampleModelTranslateX; + jint sampleModelTranslateY; + jint numBands; + jint numDataElements; + ::java::awt::image::Raster * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_Raster__ diff --git a/libjava/java/awt/image/RasterFormatException.h b/libjava/java/awt/image/RasterFormatException.h new file mode 100644 index 00000000000..acfe3941ca8 --- /dev/null +++ b/libjava/java/awt/image/RasterFormatException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_RasterFormatException__ +#define __java_awt_image_RasterFormatException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class RasterFormatException; + } + } + } +} + +class java::awt::image::RasterFormatException : public ::java::lang::RuntimeException +{ + +public: + RasterFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = 96598996116164315LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_RasterFormatException__ diff --git a/libjava/java/awt/image/RasterOp.h b/libjava/java/awt/image/RasterOp.h new file mode 100644 index 00000000000..a54b9b022f4 --- /dev/null +++ b/libjava/java/awt/image/RasterOp.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_RasterOp__ +#define __java_awt_image_RasterOp__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class Raster; + class RasterOp; + class WritableRaster; + } + } + } +} + +class java::awt::image::RasterOp : public ::java::lang::Object +{ + +public: + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *) = 0; + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *) = 0; + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *) = 0; + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *) = 0; + virtual ::java::awt::RenderingHints * getRenderingHints() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_RasterOp__ diff --git a/libjava/java/awt/image/RenderedImage.h b/libjava/java/awt/image/RenderedImage.h new file mode 100644 index 00000000000..f47ca93cc0a --- /dev/null +++ b/libjava/java/awt/image/RenderedImage.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_RenderedImage__ +#define __java_awt_image_RenderedImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace image + { + class ColorModel; + class Raster; + class RenderedImage; + class SampleModel; + class WritableRaster; + } + } + } +} + +class java::awt::image::RenderedImage : public ::java::lang::Object +{ + +public: + virtual ::java::util::Vector * getSources() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getPropertyNames() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::image::SampleModel * getSampleModel() = 0; + virtual jint getWidth() = 0; + virtual jint getHeight() = 0; + virtual jint getMinX() = 0; + virtual jint getMinY() = 0; + virtual jint getNumXTiles() = 0; + virtual jint getNumYTiles() = 0; + virtual jint getMinTileX() = 0; + virtual jint getMinTileY() = 0; + virtual jint getTileWidth() = 0; + virtual jint getTileHeight() = 0; + virtual jint getTileGridXOffset() = 0; + virtual jint getTileGridYOffset() = 0; + virtual ::java::awt::image::Raster * getTile(jint, jint) = 0; + virtual ::java::awt::image::Raster * getData() = 0; + virtual ::java::awt::image::Raster * getData(::java::awt::Rectangle *) = 0; + virtual ::java::awt::image::WritableRaster * copyData(::java::awt::image::WritableRaster *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_RenderedImage__ diff --git a/libjava/java/awt/image/ReplicateScaleFilter.h b/libjava/java/awt/image/ReplicateScaleFilter.h new file mode 100644 index 00000000000..d518d793f7d --- /dev/null +++ b/libjava/java/awt/image/ReplicateScaleFilter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ReplicateScaleFilter__ +#define __java_awt_image_ReplicateScaleFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ColorModel; + class ReplicateScaleFilter; + } + } + } +} + +class java::awt::image::ReplicateScaleFilter : public ::java::awt::image::ImageFilter +{ + +public: + ReplicateScaleFilter(jint, jint); + virtual void setDimensions(jint, jint); + virtual void setProperties(::java::util::Hashtable *); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jbyte > *, jint, jint); + virtual void setPixels(jint, jint, jint, jint, ::java::awt::image::ColorModel *, JArray< jint > *, jint, jint); +private: + void setupSources(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::awt::image::ImageFilter)))) destHeight; + jint destWidth; + jint srcHeight; + jint srcWidth; + JArray< jint > * srcrows; + JArray< jint > * srccols; + ::java::lang::Object * outpixbuf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ReplicateScaleFilter__ diff --git a/libjava/java/awt/image/RescaleOp.h b/libjava/java/awt/image/RescaleOp.h new file mode 100644 index 00000000000..ba67ec9fc89 --- /dev/null +++ b/libjava/java/awt/image/RescaleOp.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_RescaleOp__ +#define __java_awt_image_RescaleOp__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Point2D; + class Rectangle2D; + } + namespace image + { + class BufferedImage; + class ColorModel; + class Raster; + class RescaleOp; + class WritableRaster; + } + } + } +} + +class java::awt::image::RescaleOp : public ::java::lang::Object +{ + +public: + RescaleOp(JArray< jfloat > *, JArray< jfloat > *, ::java::awt::RenderingHints *); + RescaleOp(jfloat, jfloat, ::java::awt::RenderingHints *); + virtual JArray< jfloat > * getScaleFactors(JArray< jfloat > *); + virtual JArray< jfloat > * getOffsets(JArray< jfloat > *); + virtual jint getNumFactors(); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual ::java::awt::image::BufferedImage * filter(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImage *); + virtual ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *); +private: + ::java::awt::image::WritableRaster * filter(::java::awt::image::Raster *, ::java::awt::image::WritableRaster *, JArray< jboolean > *); +public: + virtual ::java::awt::image::BufferedImage * createCompatibleDestImage(::java::awt::image::BufferedImage *, ::java::awt::image::ColorModel *); + virtual ::java::awt::image::WritableRaster * createCompatibleDestRaster(::java::awt::image::Raster *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::BufferedImage *); + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::Raster *); + virtual ::java::awt::geom::Point2D * getPoint2D(::java::awt::geom::Point2D *, ::java::awt::geom::Point2D *); +private: + JArray< jfloat > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) scale; + JArray< jfloat > * offsets; + ::java::awt::RenderingHints * hints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_RescaleOp__ diff --git a/libjava/java/awt/image/SampleModel.h b/libjava/java/awt/image/SampleModel.h new file mode 100644 index 00000000000..5d51a65d927 --- /dev/null +++ b/libjava/java/awt/image/SampleModel.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_SampleModel__ +#define __java_awt_image_SampleModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBuffer; + class SampleModel; + } + } + } +} + +class java::awt::image::SampleModel : public ::java::lang::Object +{ + +public: + SampleModel(jint, jint, jint, jint); + virtual jint getWidth(); + virtual jint getHeight(); + virtual jint getNumBands(); + virtual jint getNumDataElements() = 0; + virtual jint getDataType(); + virtual jint getTransferType(); + virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *) = 0; + virtual ::java::lang::Object * getDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual void setDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *) = 0; + virtual void setDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual JArray< jfloat > * getPixel(jint, jint, JArray< jfloat > *, ::java::awt::image::DataBuffer *); + virtual JArray< jdouble > * getPixel(jint, jint, JArray< jdouble > *, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual JArray< jfloat > * getPixels(jint, jint, jint, jint, JArray< jfloat > *, ::java::awt::image::DataBuffer *); + virtual JArray< jdouble > * getPixels(jint, jint, jint, jint, JArray< jdouble > *, ::java::awt::image::DataBuffer *); + virtual jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *) = 0; + virtual jfloat getSampleFloat(jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual jdouble getSampleDouble(jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getSamples(jint, jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual JArray< jfloat > * getSamples(jint, jint, jint, jint, jint, JArray< jfloat > *, ::java::awt::image::DataBuffer *); + virtual JArray< jdouble > * getSamples(jint, jint, jint, jint, jint, JArray< jdouble > *, ::java::awt::image::DataBuffer *); + virtual void setPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setPixel(jint, jint, JArray< jfloat > *, ::java::awt::image::DataBuffer *); + virtual void setPixel(jint, jint, JArray< jdouble > *, ::java::awt::image::DataBuffer *); + virtual void setPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setPixels(jint, jint, jint, jint, JArray< jfloat > *, ::java::awt::image::DataBuffer *); + virtual void setPixels(jint, jint, jint, jint, JArray< jdouble > *, ::java::awt::image::DataBuffer *); + virtual void setSample(jint, jint, jint, jint, ::java::awt::image::DataBuffer *) = 0; + virtual void setSample(jint, jint, jint, jfloat, ::java::awt::image::DataBuffer *); + virtual void setSample(jint, jint, jint, jdouble, ::java::awt::image::DataBuffer *); + virtual void setSamples(jint, jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setSamples(jint, jint, jint, jint, jint, JArray< jfloat > *, ::java::awt::image::DataBuffer *); + virtual void setSamples(jint, jint, jint, jint, jint, JArray< jdouble > *, ::java::awt::image::DataBuffer *); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint) = 0; + virtual ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *) = 0; + virtual ::java::awt::image::DataBuffer * createDataBuffer() = 0; + virtual JArray< jint > * getSampleSize() = 0; + virtual jint getSampleSize(jint) = 0; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) width; + jint height; + jint numBands; + jint dataType; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_SampleModel__ diff --git a/libjava/java/awt/image/ShortLookupTable.h b/libjava/java/awt/image/ShortLookupTable.h new file mode 100644 index 00000000000..053331b0629 --- /dev/null +++ b/libjava/java/awt/image/ShortLookupTable.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_ShortLookupTable__ +#define __java_awt_image_ShortLookupTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ShortLookupTable; + } + } + } +} + +class java::awt::image::ShortLookupTable : public ::java::awt::image::LookupTable +{ + +public: + ShortLookupTable(jint, JArray< JArray< jshort > * > *); + ShortLookupTable(jint, JArray< jshort > *); + virtual JArray< JArray< jshort > * > * getTable(); + virtual JArray< jint > * lookupPixel(JArray< jint > *, JArray< jint > *); + virtual JArray< jshort > * lookupPixel(JArray< jshort > *, JArray< jshort > *); +private: + JArray< JArray< jshort > * > * __attribute__((aligned(__alignof__( ::java::awt::image::LookupTable)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_ShortLookupTable__ diff --git a/libjava/java/awt/image/SinglePixelPackedSampleModel.h b/libjava/java/awt/image/SinglePixelPackedSampleModel.h new file mode 100644 index 00000000000..69950326992 --- /dev/null +++ b/libjava/java/awt/image/SinglePixelPackedSampleModel.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_SinglePixelPackedSampleModel__ +#define __java_awt_image_SinglePixelPackedSampleModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class DataBuffer; + class SampleModel; + class SinglePixelPackedSampleModel; + } + } + } +} + +class java::awt::image::SinglePixelPackedSampleModel : public ::java::awt::image::SampleModel +{ + +public: + SinglePixelPackedSampleModel(jint, jint, jint, JArray< jint > *); + SinglePixelPackedSampleModel(jint, jint, jint, jint, JArray< jint > *); + virtual jint getNumDataElements(); + virtual ::java::awt::image::SampleModel * createCompatibleSampleModel(jint, jint); + virtual ::java::awt::image::DataBuffer * createDataBuffer(); + virtual JArray< jint > * getSampleSize(); + virtual jint getSampleSize(jint); + virtual jint getOffset(jint, jint); + virtual JArray< jint > * getBitOffsets(); + virtual JArray< jint > * getBitMasks(); + virtual jint getScanlineStride(); + virtual ::java::awt::image::SampleModel * createSubsetSampleModel(JArray< jint > *); + virtual ::java::lang::Object * getDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual ::java::lang::Object * getDataElements(jint, jint, jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual JArray< jint > * getPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual jint getSample(jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual void setDataElements(jint, jint, ::java::lang::Object *, ::java::awt::image::DataBuffer *); + virtual void setPixel(jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setPixels(jint, jint, jint, jint, JArray< jint > *, ::java::awt::image::DataBuffer *); + virtual void setSample(jint, jint, jint, jint, ::java::awt::image::DataBuffer *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::awt::image::SampleModel)))) scanlineStride; + JArray< jint > * bitMasks; + JArray< jint > * bitOffsets; + JArray< jint > * sampleSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_SinglePixelPackedSampleModel__ diff --git a/libjava/java/awt/image/TileObserver.h b/libjava/java/awt/image/TileObserver.h new file mode 100644 index 00000000000..9f7d0a1a4cf --- /dev/null +++ b/libjava/java/awt/image/TileObserver.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_TileObserver__ +#define __java_awt_image_TileObserver__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class TileObserver; + class WritableRenderedImage; + } + } + } +} + +class java::awt::image::TileObserver : public ::java::lang::Object +{ + +public: + virtual void tileUpdate(::java::awt::image::WritableRenderedImage *, jint, jint, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_TileObserver__ diff --git a/libjava/java/awt/image/VolatileImage.h b/libjava/java/awt/image/VolatileImage.h new file mode 100644 index 00000000000..ed289286350 --- /dev/null +++ b/libjava/java/awt/image/VolatileImage.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_VolatileImage__ +#define __java_awt_image_VolatileImage__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Graphics2D; + class GraphicsConfiguration; + class ImageCapabilities; + namespace image + { + class BufferedImage; + class ImageProducer; + class VolatileImage; + } + } + } +} + +class java::awt::image::VolatileImage : public ::java::awt::Image +{ + +public: + VolatileImage(); + virtual ::java::awt::image::BufferedImage * getSnapshot() = 0; + virtual jint getWidth() = 0; + virtual jint getHeight() = 0; + virtual ::java::awt::image::ImageProducer * getSource(); + virtual void flush(); + virtual ::java::awt::Graphics * getGraphics(); + virtual ::java::awt::Graphics2D * createGraphics() = 0; + virtual jint validate(::java::awt::GraphicsConfiguration *) = 0; + virtual jboolean contentsLost() = 0; + virtual ::java::awt::ImageCapabilities * getCapabilities() = 0; + virtual jint getTransparency(); + static const jint IMAGE_OK = 0; + static const jint IMAGE_RESTORED = 1; + static const jint IMAGE_INCOMPATIBLE = 2; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::awt::Image)))) transparency; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_VolatileImage__ diff --git a/libjava/java/awt/image/WritableRaster.h b/libjava/java/awt/image/WritableRaster.h new file mode 100644 index 00000000000..5db229c332d --- /dev/null +++ b/libjava/java/awt/image/WritableRaster.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_WritableRaster__ +#define __java_awt_image_WritableRaster__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + namespace image + { + class DataBuffer; + class Raster; + class SampleModel; + class WritableRaster; + } + } + } +} + +class java::awt::image::WritableRaster : public ::java::awt::image::Raster +{ + +public: // actually protected + WritableRaster(::java::awt::image::SampleModel *, ::java::awt::Point *); + WritableRaster(::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Point *); + WritableRaster(::java::awt::image::SampleModel *, ::java::awt::image::DataBuffer *, ::java::awt::Rectangle *, ::java::awt::Point *, ::java::awt::image::WritableRaster *); +public: + virtual ::java::awt::image::WritableRaster * getWritableParent(); + virtual ::java::awt::image::WritableRaster * createWritableTranslatedChild(jint, jint); + virtual ::java::awt::image::WritableRaster * createWritableChild(jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual ::java::awt::image::Raster * createChild(jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual void setDataElements(jint, jint, ::java::lang::Object *); + virtual void setDataElements(jint, jint, ::java::awt::image::Raster *); + virtual void setDataElements(jint, jint, jint, jint, ::java::lang::Object *); + virtual void setRect(::java::awt::image::Raster *); + virtual void setRect(jint, jint, ::java::awt::image::Raster *); + virtual void setPixel(jint, jint, JArray< jint > *); + virtual void setPixel(jint, jint, JArray< jfloat > *); + virtual void setPixel(jint, jint, JArray< jdouble > *); + virtual void setPixels(jint, jint, jint, jint, JArray< jint > *); + virtual void setPixels(jint, jint, jint, jint, JArray< jfloat > *); + virtual void setPixels(jint, jint, jint, jint, JArray< jdouble > *); + virtual void setSample(jint, jint, jint, jint); + virtual void setSample(jint, jint, jint, jfloat); + virtual void setSample(jint, jint, jint, jdouble); + virtual void setSamples(jint, jint, jint, jint, jint, JArray< jint > *); + virtual void setSamples(jint, jint, jint, jint, jint, JArray< jfloat > *); + virtual void setSamples(jint, jint, jint, jint, jint, JArray< jdouble > *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_WritableRaster__ diff --git a/libjava/java/awt/image/WritableRenderedImage.h b/libjava/java/awt/image/WritableRenderedImage.h new file mode 100644 index 00000000000..f9b24812351 --- /dev/null +++ b/libjava/java/awt/image/WritableRenderedImage.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_WritableRenderedImage__ +#define __java_awt_image_WritableRenderedImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + namespace image + { + class ColorModel; + class Raster; + class SampleModel; + class TileObserver; + class WritableRaster; + class WritableRenderedImage; + } + } + } +} + +class java::awt::image::WritableRenderedImage : public ::java::lang::Object +{ + +public: + virtual void addTileObserver(::java::awt::image::TileObserver *) = 0; + virtual void removeTileObserver(::java::awt::image::TileObserver *) = 0; + virtual ::java::awt::image::WritableRaster * getWritableTile(jint, jint) = 0; + virtual void releaseWritableTile(jint, jint) = 0; + virtual jboolean isTileWritable(jint, jint) = 0; + virtual JArray< ::java::awt::Point * > * getWritableTileIndices() = 0; + virtual jboolean hasTileWriters() = 0; + virtual void setData(::java::awt::image::Raster *) = 0; + virtual ::java::util::Vector * getSources() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getPropertyNames() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::image::SampleModel * getSampleModel() = 0; + virtual jint getWidth() = 0; + virtual jint getHeight() = 0; + virtual jint getMinX() = 0; + virtual jint getMinY() = 0; + virtual jint getNumXTiles() = 0; + virtual jint getNumYTiles() = 0; + virtual jint getMinTileX() = 0; + virtual jint getMinTileY() = 0; + virtual jint getTileWidth() = 0; + virtual jint getTileHeight() = 0; + virtual jint getTileGridXOffset() = 0; + virtual jint getTileGridYOffset() = 0; + virtual ::java::awt::image::Raster * getTile(jint, jint) = 0; + virtual ::java::awt::image::Raster * getData() = 0; + virtual ::java::awt::image::Raster * getData(::java::awt::Rectangle *) = 0; + virtual ::java::awt::image::WritableRaster * copyData(::java::awt::image::WritableRaster *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_WritableRenderedImage__ diff --git a/libjava/java/awt/image/renderable/ContextualRenderedImageFactory.h b/libjava/java/awt/image/renderable/ContextualRenderedImageFactory.h new file mode 100644 index 00000000000..d7ac12972d1 --- /dev/null +++ b/libjava/java/awt/image/renderable/ContextualRenderedImageFactory.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_ContextualRenderedImageFactory__ +#define __java_awt_image_renderable_ContextualRenderedImageFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace geom + { + class Rectangle2D; + } + namespace image + { + class RenderedImage; + namespace renderable + { + class ContextualRenderedImageFactory; + class ParameterBlock; + class RenderContext; + class RenderableImage; + } + } + } + } +} + +class java::awt::image::renderable::ContextualRenderedImageFactory : public ::java::lang::Object +{ + +public: + virtual ::java::awt::image::renderable::RenderContext * mapRenderContext(jint, ::java::awt::image::renderable::RenderContext *, ::java::awt::image::renderable::ParameterBlock *, ::java::awt::image::renderable::RenderableImage *) = 0; + virtual ::java::awt::image::RenderedImage * create(::java::awt::image::renderable::RenderContext *, ::java::awt::image::renderable::ParameterBlock *) = 0; + virtual ::java::awt::geom::Rectangle2D * getBounds2D(::java::awt::image::renderable::ParameterBlock *) = 0; + virtual ::java::lang::Object * getProperty(::java::awt::image::renderable::ParameterBlock *, ::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getPropertyNames() = 0; + virtual jboolean isDynamic() = 0; + virtual ::java::awt::image::RenderedImage * create(::java::awt::image::renderable::ParameterBlock *, ::java::awt::RenderingHints *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_renderable_ContextualRenderedImageFactory__ diff --git a/libjava/java/awt/image/renderable/ParameterBlock.h b/libjava/java/awt/image/renderable/ParameterBlock.h new file mode 100644 index 00000000000..cafafbdbb43 --- /dev/null +++ b/libjava/java/awt/image/renderable/ParameterBlock.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_ParameterBlock__ +#define __java_awt_image_renderable_ParameterBlock__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class RenderedImage; + namespace renderable + { + class ParameterBlock; + class RenderableImage; + } + } + } + } +} + +class java::awt::image::renderable::ParameterBlock : public ::java::lang::Object +{ + +public: + ParameterBlock(); + ParameterBlock(::java::util::Vector *); + ParameterBlock(::java::util::Vector *, ::java::util::Vector *); + virtual ::java::lang::Object * shallowClone(); + virtual ::java::lang::Object * clone(); + virtual ::java::awt::image::renderable::ParameterBlock * addSource(::java::lang::Object *); + virtual ::java::lang::Object * getSource(jint); + virtual ::java::awt::image::renderable::ParameterBlock * setSource(::java::lang::Object *, jint); + virtual ::java::awt::image::RenderedImage * getRenderedSource(jint); + virtual ::java::awt::image::renderable::RenderableImage * getRenderableSource(jint); + virtual jint getNumSources(); + virtual ::java::util::Vector * getSources(); + virtual void setSources(::java::util::Vector *); + virtual void removeSources(); + virtual jint getNumParameters(); + virtual ::java::util::Vector * getParameters(); + virtual void setParameters(::java::util::Vector *); + virtual void removeParameters(); + virtual ::java::awt::image::renderable::ParameterBlock * add(::java::lang::Object *); + virtual ::java::awt::image::renderable::ParameterBlock * add(jbyte); + virtual ::java::awt::image::renderable::ParameterBlock * add(jchar); + virtual ::java::awt::image::renderable::ParameterBlock * add(jshort); + virtual ::java::awt::image::renderable::ParameterBlock * add(jint); + virtual ::java::awt::image::renderable::ParameterBlock * add(jlong); + virtual ::java::awt::image::renderable::ParameterBlock * add(jfloat); + virtual ::java::awt::image::renderable::ParameterBlock * add(jdouble); + virtual ::java::awt::image::renderable::ParameterBlock * set(::java::lang::Object *, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jbyte, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jchar, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jshort, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jint, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jlong, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jfloat, jint); + virtual ::java::awt::image::renderable::ParameterBlock * set(jdouble, jint); + virtual ::java::lang::Object * getObjectParameter(jint); + virtual jbyte getByteParameter(jint); + virtual jchar getCharParameter(jint); + virtual jshort getShortParameter(jint); + virtual jint getIntParameter(jint); + virtual jlong getLongParameter(jint); + virtual jfloat getFloatParameter(jint); + virtual jdouble getDoubleParameter(jint); + virtual JArray< ::java::lang::Class * > * getParamClasses(); +private: + static const jlong serialVersionUID = -7577115551785240750LL; +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sources; + ::java::util::Vector * parameters; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_renderable_ParameterBlock__ diff --git a/libjava/java/awt/image/renderable/RenderContext.h b/libjava/java/awt/image/renderable/RenderContext.h new file mode 100644 index 00000000000..4923ebc2db2 --- /dev/null +++ b/libjava/java/awt/image/renderable/RenderContext.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_RenderContext__ +#define __java_awt_image_renderable_RenderContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + class Shape; + namespace geom + { + class AffineTransform; + } + namespace image + { + namespace renderable + { + class RenderContext; + } + } + } + } +} + +class java::awt::image::renderable::RenderContext : public ::java::lang::Object +{ + +public: + RenderContext(::java::awt::geom::AffineTransform *, ::java::awt::Shape *, ::java::awt::RenderingHints *); + RenderContext(::java::awt::geom::AffineTransform *); + RenderContext(::java::awt::geom::AffineTransform *, ::java::awt::RenderingHints *); + RenderContext(::java::awt::geom::AffineTransform *, ::java::awt::Shape *); + virtual ::java::awt::RenderingHints * getRenderingHints(); + virtual void setRenderingHints(::java::awt::RenderingHints *); + virtual void setTransform(::java::awt::geom::AffineTransform *); + virtual void preConcatenateTransform(::java::awt::geom::AffineTransform *); + virtual void preConcetenateTransform(::java::awt::geom::AffineTransform *); + virtual void concatenateTransform(::java::awt::geom::AffineTransform *); + virtual void concetenateTransform(::java::awt::geom::AffineTransform *); + virtual ::java::awt::geom::AffineTransform * getTransform(); + virtual void setAreaOfInterest(::java::awt::Shape *); + virtual ::java::awt::Shape * getAreaOfInterest(); + virtual ::java::lang::Object * clone(); +private: + ::java::awt::geom::AffineTransform * __attribute__((aligned(__alignof__( ::java::lang::Object)))) xform; + ::java::awt::Shape * aoi; + ::java::awt::RenderingHints * hints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_renderable_RenderContext__ diff --git a/libjava/java/awt/image/renderable/RenderableImage.h b/libjava/java/awt/image/renderable/RenderableImage.h new file mode 100644 index 00000000000..c7fed510a1d --- /dev/null +++ b/libjava/java/awt/image/renderable/RenderableImage.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_RenderableImage__ +#define __java_awt_image_renderable_RenderableImage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace image + { + class RenderedImage; + namespace renderable + { + class RenderContext; + class RenderableImage; + } + } + } + } +} + +class java::awt::image::renderable::RenderableImage : public ::java::lang::Object +{ + +public: + virtual ::java::util::Vector * getSources() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getPropertyNames() = 0; + virtual jboolean isDynamic() = 0; + virtual jfloat getWidth() = 0; + virtual jfloat getHeight() = 0; + virtual jfloat getMinX() = 0; + virtual jfloat getMinY() = 0; + virtual ::java::awt::image::RenderedImage * createScaledRendering(jint, jint, ::java::awt::RenderingHints *) = 0; + virtual ::java::awt::image::RenderedImage * createDefaultRendering() = 0; + virtual ::java::awt::image::RenderedImage * createRendering(::java::awt::image::renderable::RenderContext *) = 0; + static ::java::lang::String * HINTS_OBSERVED; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_renderable_RenderableImage__ diff --git a/libjava/java/awt/image/renderable/RenderableImageOp.h b/libjava/java/awt/image/renderable/RenderableImageOp.h new file mode 100644 index 00000000000..edc766d4e74 --- /dev/null +++ b/libjava/java/awt/image/renderable/RenderableImageOp.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_RenderableImageOp__ +#define __java_awt_image_renderable_RenderableImageOp__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace image + { + class RenderedImage; + namespace renderable + { + class ContextualRenderedImageFactory; + class ParameterBlock; + class RenderContext; + class RenderableImageOp; + } + } + } + } +} + +class java::awt::image::renderable::RenderableImageOp : public ::java::lang::Object +{ + +public: + RenderableImageOp(::java::awt::image::renderable::ContextualRenderedImageFactory *, ::java::awt::image::renderable::ParameterBlock *); + virtual ::java::util::Vector * getSources(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual JArray< ::java::lang::String * > * getPropertyNames(); + virtual jboolean isDynamic(); + virtual jfloat getWidth(); + virtual jfloat getHeight(); + virtual jfloat getMinX(); + virtual jfloat getMinY(); + virtual ::java::awt::image::renderable::ParameterBlock * setParameterBlock(::java::awt::image::renderable::ParameterBlock *); + virtual ::java::awt::image::renderable::ParameterBlock * getParameterBlock(); + virtual ::java::awt::image::RenderedImage * createScaledRendering(jint, jint, ::java::awt::RenderingHints *); + virtual ::java::awt::image::RenderedImage * createDefaultRendering(); + virtual ::java::awt::image::RenderedImage * createRendering(::java::awt::image::renderable::RenderContext *); +private: + ::java::awt::image::renderable::ContextualRenderedImageFactory * __attribute__((aligned(__alignof__( ::java::lang::Object)))) crif; + ::java::awt::image::renderable::ParameterBlock * block; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_renderable_RenderableImageOp__ diff --git a/libjava/java/awt/image/renderable/RenderableImageProducer.h b/libjava/java/awt/image/renderable/RenderableImageProducer.h new file mode 100644 index 00000000000..4e1968fb84a --- /dev/null +++ b/libjava/java/awt/image/renderable/RenderableImageProducer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_RenderableImageProducer__ +#define __java_awt_image_renderable_RenderableImageProducer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class ImageConsumer; + namespace renderable + { + class RenderContext; + class RenderableImage; + class RenderableImageProducer; + } + } + } + } +} + +class java::awt::image::renderable::RenderableImageProducer : public ::java::lang::Object +{ + +public: + RenderableImageProducer(::java::awt::image::renderable::RenderableImage *, ::java::awt::image::renderable::RenderContext *); + virtual void setRenderContext(::java::awt::image::renderable::RenderContext *); + virtual void addConsumer(::java::awt::image::ImageConsumer *); + virtual jboolean isConsumer(::java::awt::image::ImageConsumer *); + virtual void removeConsumer(::java::awt::image::ImageConsumer *); + virtual void startProduction(::java::awt::image::ImageConsumer *); + virtual void requestTopDownLeftRightResend(::java::awt::image::ImageConsumer *); + virtual void run(); +private: + ::java::awt::image::renderable::RenderableImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image; + ::java::awt::image::renderable::RenderContext * context; + ::java::util::ArrayList * consumers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_image_renderable_RenderableImageProducer__ diff --git a/libjava/java/awt/image/renderable/RenderedImageFactory.h b/libjava/java/awt/image/renderable/RenderedImageFactory.h new file mode 100644 index 00000000000..3e2eb934999 --- /dev/null +++ b/libjava/java/awt/image/renderable/RenderedImageFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_image_renderable_RenderedImageFactory__ +#define __java_awt_image_renderable_RenderedImageFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class RenderingHints; + namespace image + { + class RenderedImage; + namespace renderable + { + class ParameterBlock; + class RenderedImageFactory; + } + } + } + } +} + +class java::awt::image::renderable::RenderedImageFactory : public ::java::lang::Object +{ + +public: + virtual ::java::awt::image::RenderedImage * create(::java::awt::image::renderable::ParameterBlock *, ::java::awt::RenderingHints *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_image_renderable_RenderedImageFactory__ diff --git a/libjava/java/awt/peer/ButtonPeer.h b/libjava/java/awt/peer/ButtonPeer.h new file mode 100644 index 00000000000..1f5c203e055 --- /dev/null +++ b/libjava/java/awt/peer/ButtonPeer.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ButtonPeer__ +#define __java_awt_peer_ButtonPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ButtonPeer; + class ContainerPeer; + } + } + } +} + +class java::awt::peer::ButtonPeer : public ::java::lang::Object +{ + +public: + virtual void setLabel(::java::lang::String *) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ButtonPeer__ diff --git a/libjava/java/awt/peer/CanvasPeer.h b/libjava/java/awt/peer/CanvasPeer.h new file mode 100644 index 00000000000..503b48a561d --- /dev/null +++ b/libjava/java/awt/peer/CanvasPeer.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_CanvasPeer__ +#define __java_awt_peer_CanvasPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class CanvasPeer; + class ContainerPeer; + } + } + } +} + +class java::awt::peer::CanvasPeer : public ::java::lang::Object +{ + +public: + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_CanvasPeer__ diff --git a/libjava/java/awt/peer/CheckboxMenuItemPeer.h b/libjava/java/awt/peer/CheckboxMenuItemPeer.h new file mode 100644 index 00000000000..84a5ba9ae89 --- /dev/null +++ b/libjava/java/awt/peer/CheckboxMenuItemPeer.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_CheckboxMenuItemPeer__ +#define __java_awt_peer_CheckboxMenuItemPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + namespace peer + { + class CheckboxMenuItemPeer; + } + } + } +} + +class java::awt::peer::CheckboxMenuItemPeer : public ::java::lang::Object +{ + +public: + virtual void setState(jboolean) = 0; + virtual void disable() = 0; + virtual void enable() = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual void dispose() = 0; + virtual void setFont(::java::awt::Font *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_CheckboxMenuItemPeer__ diff --git a/libjava/java/awt/peer/CheckboxPeer.h b/libjava/java/awt/peer/CheckboxPeer.h new file mode 100644 index 00000000000..a397322e497 --- /dev/null +++ b/libjava/java/awt/peer/CheckboxPeer.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_CheckboxPeer__ +#define __java_awt_peer_CheckboxPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class CheckboxGroup; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class CheckboxPeer; + class ContainerPeer; + } + } + } +} + +class java::awt::peer::CheckboxPeer : public ::java::lang::Object +{ + +public: + virtual void setCheckboxGroup(::java::awt::CheckboxGroup *) = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual void setState(jboolean) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_CheckboxPeer__ diff --git a/libjava/java/awt/peer/ChoicePeer.h b/libjava/java/awt/peer/ChoicePeer.h new file mode 100644 index 00000000000..78dca416d05 --- /dev/null +++ b/libjava/java/awt/peer/ChoicePeer.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ChoicePeer__ +#define __java_awt_peer_ChoicePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ChoicePeer; + class ContainerPeer; + } + } + } +} + +class java::awt::peer::ChoicePeer : public ::java::lang::Object +{ + +public: + virtual void add(::java::lang::String *, jint) = 0; + virtual void addItem(::java::lang::String *, jint) = 0; + virtual void remove(jint) = 0; + virtual void removeAll() = 0; + virtual void select(jint) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ChoicePeer__ diff --git a/libjava/java/awt/peer/ComponentPeer.h b/libjava/java/awt/peer/ComponentPeer.h new file mode 100644 index 00000000000..3d3c22d9d2b --- /dev/null +++ b/libjava/java/awt/peer/ComponentPeer.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ComponentPeer__ +#define __java_awt_peer_ComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ComponentPeer; + class ContainerPeer; + } + } + } +} + +class java::awt::peer::ComponentPeer : public ::java::lang::Object +{ + +public: + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ComponentPeer__ diff --git a/libjava/java/awt/peer/ContainerPeer.h b/libjava/java/awt/peer/ContainerPeer.h new file mode 100644 index 00000000000..6d6e9df4580 --- /dev/null +++ b/libjava/java/awt/peer/ContainerPeer.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ContainerPeer__ +#define __java_awt_peer_ContainerPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + } + } + } +} + +class java::awt::peer::ContainerPeer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual jboolean isRestackSupported() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ContainerPeer__ diff --git a/libjava/java/awt/peer/DialogPeer.h b/libjava/java/awt/peer/DialogPeer.h new file mode 100644 index 00000000000..2212ec95bcb --- /dev/null +++ b/libjava/java/awt/peer/DialogPeer.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_DialogPeer__ +#define __java_awt_peer_DialogPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class DialogPeer; + } + } + } +} + +class java::awt::peer::DialogPeer : public ::java::lang::Object +{ + +public: + virtual void setResizable(jboolean) = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual void toBack() = 0; + virtual void toFront() = 0; + virtual void updateAlwaysOnTop() = 0; + virtual jboolean requestWindowFocus() = 0; + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual jboolean isRestackSupported() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_DialogPeer__ diff --git a/libjava/java/awt/peer/FileDialogPeer.h b/libjava/java/awt/peer/FileDialogPeer.h new file mode 100644 index 00000000000..b2419e42f41 --- /dev/null +++ b/libjava/java/awt/peer/FileDialogPeer.h @@ -0,0 +1,129 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_FileDialogPeer__ +#define __java_awt_peer_FileDialogPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class FileDialogPeer; + } + } + } +} + +class java::awt::peer::FileDialogPeer : public ::java::lang::Object +{ + +public: + virtual void setFile(::java::lang::String *) = 0; + virtual void setDirectory(::java::lang::String *) = 0; + virtual void setFilenameFilter(::java::io::FilenameFilter *) = 0; + virtual void setResizable(jboolean) = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual void toBack() = 0; + virtual void toFront() = 0; + virtual void updateAlwaysOnTop() = 0; + virtual jboolean requestWindowFocus() = 0; + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual jboolean isRestackSupported() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_FileDialogPeer__ diff --git a/libjava/java/awt/peer/FontPeer.h b/libjava/java/awt/peer/FontPeer.h new file mode 100644 index 00000000000..00f6f8a4fdb --- /dev/null +++ b/libjava/java/awt/peer/FontPeer.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_FontPeer__ +#define __java_awt_peer_FontPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace peer + { + class FontPeer; + } + } + } +} + +class java::awt::peer::FontPeer : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_FontPeer__ diff --git a/libjava/java/awt/peer/FramePeer.h b/libjava/java/awt/peer/FramePeer.h new file mode 100644 index 00000000000..a80ca5540f1 --- /dev/null +++ b/libjava/java/awt/peer/FramePeer.h @@ -0,0 +1,133 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_FramePeer__ +#define __java_awt_peer_FramePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class MenuBar; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class FramePeer; + } + } + } +} + +class java::awt::peer::FramePeer : public ::java::lang::Object +{ + +public: + virtual void setIconImage(::java::awt::Image *) = 0; + virtual void setMenuBar(::java::awt::MenuBar *) = 0; + virtual void setResizable(jboolean) = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual jint getState() = 0; + virtual void setState(jint) = 0; + virtual void setMaximizedBounds(::java::awt::Rectangle *) = 0; + virtual jboolean isRestackSupported() = 0; + virtual void setBoundsPrivate(jint, jint, jint, jint) = 0; + virtual void toBack() = 0; + virtual void toFront() = 0; + virtual void updateAlwaysOnTop() = 0; + virtual jboolean requestWindowFocus() = 0; + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_FramePeer__ diff --git a/libjava/java/awt/peer/LabelPeer.h b/libjava/java/awt/peer/LabelPeer.h new file mode 100644 index 00000000000..426772d0e09 --- /dev/null +++ b/libjava/java/awt/peer/LabelPeer.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_LabelPeer__ +#define __java_awt_peer_LabelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class LabelPeer; + } + } + } +} + +class java::awt::peer::LabelPeer : public ::java::lang::Object +{ + +public: + virtual void setAlignment(jint) = 0; + virtual void setText(::java::lang::String *) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_LabelPeer__ diff --git a/libjava/java/awt/peer/LightweightPeer.h b/libjava/java/awt/peer/LightweightPeer.h new file mode 100644 index 00000000000..9c743d97f3d --- /dev/null +++ b/libjava/java/awt/peer/LightweightPeer.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_LightweightPeer__ +#define __java_awt_peer_LightweightPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class LightweightPeer; + } + } + } +} + +class java::awt::peer::LightweightPeer : public ::java::lang::Object +{ + +public: + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_LightweightPeer__ diff --git a/libjava/java/awt/peer/ListPeer.h b/libjava/java/awt/peer/ListPeer.h new file mode 100644 index 00000000000..3dd6bad7aa2 --- /dev/null +++ b/libjava/java/awt/peer/ListPeer.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ListPeer__ +#define __java_awt_peer_ListPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class ListPeer; + } + } + } +} + +class java::awt::peer::ListPeer : public ::java::lang::Object +{ + +public: + virtual void add(::java::lang::String *, jint) = 0; + virtual void addItem(::java::lang::String *, jint) = 0; + virtual void clear() = 0; + virtual void delItems(jint, jint) = 0; + virtual void deselect(jint) = 0; + virtual JArray< jint > * getSelectedIndexes() = 0; + virtual void makeVisible(jint) = 0; + virtual ::java::awt::Dimension * minimumSize(jint) = 0; + virtual ::java::awt::Dimension * preferredSize(jint) = 0; + virtual void removeAll() = 0; + virtual void select(jint) = 0; + virtual void setMultipleMode(jboolean) = 0; + virtual void setMultipleSelections(jboolean) = 0; + virtual ::java::awt::Dimension * getPreferredSize(jint) = 0; + virtual ::java::awt::Dimension * getMinimumSize(jint) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ListPeer__ diff --git a/libjava/java/awt/peer/MenuBarPeer.h b/libjava/java/awt/peer/MenuBarPeer.h new file mode 100644 index 00000000000..e7d84c0519d --- /dev/null +++ b/libjava/java/awt/peer/MenuBarPeer.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_MenuBarPeer__ +#define __java_awt_peer_MenuBarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class Menu; + namespace peer + { + class MenuBarPeer; + } + } + } +} + +class java::awt::peer::MenuBarPeer : public ::java::lang::Object +{ + +public: + virtual void addMenu(::java::awt::Menu *) = 0; + virtual void addHelpMenu(::java::awt::Menu *) = 0; + virtual void delMenu(jint) = 0; + virtual void dispose() = 0; + virtual void setFont(::java::awt::Font *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_MenuBarPeer__ diff --git a/libjava/java/awt/peer/MenuComponentPeer.h b/libjava/java/awt/peer/MenuComponentPeer.h new file mode 100644 index 00000000000..a0a1ea14c64 --- /dev/null +++ b/libjava/java/awt/peer/MenuComponentPeer.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_MenuComponentPeer__ +#define __java_awt_peer_MenuComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + namespace peer + { + class MenuComponentPeer; + } + } + } +} + +class java::awt::peer::MenuComponentPeer : public ::java::lang::Object +{ + +public: + virtual void dispose() = 0; + virtual void setFont(::java::awt::Font *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_MenuComponentPeer__ diff --git a/libjava/java/awt/peer/MenuItemPeer.h b/libjava/java/awt/peer/MenuItemPeer.h new file mode 100644 index 00000000000..8c9a9eee892 --- /dev/null +++ b/libjava/java/awt/peer/MenuItemPeer.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_MenuItemPeer__ +#define __java_awt_peer_MenuItemPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + namespace peer + { + class MenuItemPeer; + } + } + } +} + +class java::awt::peer::MenuItemPeer : public ::java::lang::Object +{ + +public: + virtual void disable() = 0; + virtual void enable() = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual void dispose() = 0; + virtual void setFont(::java::awt::Font *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_MenuItemPeer__ diff --git a/libjava/java/awt/peer/MenuPeer.h b/libjava/java/awt/peer/MenuPeer.h new file mode 100644 index 00000000000..4c813b11824 --- /dev/null +++ b/libjava/java/awt/peer/MenuPeer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_MenuPeer__ +#define __java_awt_peer_MenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class MenuItem; + namespace peer + { + class MenuPeer; + } + } + } +} + +class java::awt::peer::MenuPeer : public ::java::lang::Object +{ + +public: + virtual void addItem(::java::awt::MenuItem *) = 0; + virtual void addSeparator() = 0; + virtual void delItem(jint) = 0; + virtual void disable() = 0; + virtual void enable() = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual void dispose() = 0; + virtual void setFont(::java::awt::Font *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_MenuPeer__ diff --git a/libjava/java/awt/peer/MouseInfoPeer.h b/libjava/java/awt/peer/MouseInfoPeer.h new file mode 100644 index 00000000000..18f0c59b8d1 --- /dev/null +++ b/libjava/java/awt/peer/MouseInfoPeer.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_MouseInfoPeer__ +#define __java_awt_peer_MouseInfoPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Window; + namespace peer + { + class MouseInfoPeer; + } + } + } +} + +class java::awt::peer::MouseInfoPeer : public ::java::lang::Object +{ + +public: + virtual jint fillPointWithCoords(::java::awt::Point *) = 0; + virtual jboolean isWindowUnderMouse(::java::awt::Window *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_MouseInfoPeer__ diff --git a/libjava/java/awt/peer/PanelPeer.h b/libjava/java/awt/peer/PanelPeer.h new file mode 100644 index 00000000000..57e4ff7687a --- /dev/null +++ b/libjava/java/awt/peer/PanelPeer.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_PanelPeer__ +#define __java_awt_peer_PanelPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class PanelPeer; + } + } + } +} + +class java::awt::peer::PanelPeer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual jboolean isRestackSupported() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_PanelPeer__ diff --git a/libjava/java/awt/peer/PopupMenuPeer.h b/libjava/java/awt/peer/PopupMenuPeer.h new file mode 100644 index 00000000000..e8bdd57b52a --- /dev/null +++ b/libjava/java/awt/peer/PopupMenuPeer.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_PopupMenuPeer__ +#define __java_awt_peer_PopupMenuPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Event; + class Font; + class MenuItem; + namespace peer + { + class PopupMenuPeer; + } + } + } +} + +class java::awt::peer::PopupMenuPeer : public ::java::lang::Object +{ + +public: + virtual void show(::java::awt::Component *, jint, jint) = 0; + virtual void show(::java::awt::Event *) = 0; + virtual void addItem(::java::awt::MenuItem *) = 0; + virtual void addSeparator() = 0; + virtual void delItem(jint) = 0; + virtual void disable() = 0; + virtual void enable() = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual void dispose() = 0; + virtual void setFont(::java::awt::Font *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_PopupMenuPeer__ diff --git a/libjava/java/awt/peer/RobotPeer.h b/libjava/java/awt/peer/RobotPeer.h new file mode 100644 index 00000000000..f0f810ae384 --- /dev/null +++ b/libjava/java/awt/peer/RobotPeer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_RobotPeer__ +#define __java_awt_peer_RobotPeer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace peer + { + class RobotPeer; + } + } + } +} + +class java::awt::peer::RobotPeer : public ::java::lang::Object +{ + +public: + virtual void mouseMove(jint, jint) = 0; + virtual void mousePress(jint) = 0; + virtual void mouseRelease(jint) = 0; + virtual void mouseWheel(jint) = 0; + virtual void keyPress(jint) = 0; + virtual void keyRelease(jint) = 0; + virtual jint getRGBPixel(jint, jint) = 0; + virtual JArray< jint > * getRGBPixels(::java::awt::Rectangle *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_RobotPeer__ diff --git a/libjava/java/awt/peer/ScrollPanePeer.h b/libjava/java/awt/peer/ScrollPanePeer.h new file mode 100644 index 00000000000..f6387a50468 --- /dev/null +++ b/libjava/java/awt/peer/ScrollPanePeer.h @@ -0,0 +1,127 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ScrollPanePeer__ +#define __java_awt_peer_ScrollPanePeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Adjustable; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class ScrollPanePeer; + } + } + } +} + +class java::awt::peer::ScrollPanePeer : public ::java::lang::Object +{ + +public: + virtual jint getHScrollbarHeight() = 0; + virtual jint getVScrollbarWidth() = 0; + virtual void setScrollPosition(jint, jint) = 0; + virtual void childResized(jint, jint) = 0; + virtual void setUnitIncrement(::java::awt::Adjustable *, jint) = 0; + virtual void setValue(::java::awt::Adjustable *, jint) = 0; + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual jboolean isRestackSupported() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ScrollPanePeer__ diff --git a/libjava/java/awt/peer/ScrollbarPeer.h b/libjava/java/awt/peer/ScrollbarPeer.h new file mode 100644 index 00000000000..9e0c7c76c1b --- /dev/null +++ b/libjava/java/awt/peer/ScrollbarPeer.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_ScrollbarPeer__ +#define __java_awt_peer_ScrollbarPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class ScrollbarPeer; + } + } + } +} + +class java::awt::peer::ScrollbarPeer : public ::java::lang::Object +{ + +public: + virtual void setLineIncrement(jint) = 0; + virtual void setPageIncrement(jint) = 0; + virtual void setValues(jint, jint, jint, jint) = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_ScrollbarPeer__ diff --git a/libjava/java/awt/peer/TextAreaPeer.h b/libjava/java/awt/peer/TextAreaPeer.h new file mode 100644 index 00000000000..1954909b9bc --- /dev/null +++ b/libjava/java/awt/peer/TextAreaPeer.h @@ -0,0 +1,133 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_TextAreaPeer__ +#define __java_awt_peer_TextAreaPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace im + { + class InputMethodRequests; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class TextAreaPeer; + } + } + } +} + +class java::awt::peer::TextAreaPeer : public ::java::lang::Object +{ + +public: + virtual void insert(::java::lang::String *, jint) = 0; + virtual void insertText(::java::lang::String *, jint) = 0; + virtual ::java::awt::Dimension * minimumSize(jint, jint) = 0; + virtual ::java::awt::Dimension * getMinimumSize(jint, jint) = 0; + virtual ::java::awt::Dimension * preferredSize(jint, jint) = 0; + virtual ::java::awt::Dimension * getPreferredSize(jint, jint) = 0; + virtual void replaceRange(::java::lang::String *, jint, jint) = 0; + virtual void replaceText(::java::lang::String *, jint, jint) = 0; + virtual jint getSelectionEnd() = 0; + virtual jint getSelectionStart() = 0; + virtual ::java::lang::String * getText() = 0; + virtual void setText(::java::lang::String *) = 0; + virtual void select(jint, jint) = 0; + virtual void setEditable(jboolean) = 0; + virtual jint getCaretPosition() = 0; + virtual void setCaretPosition(jint) = 0; + virtual jint getIndexAtPoint(jint, jint) = 0; + virtual ::java::awt::Rectangle * getCharacterBounds(jint) = 0; + virtual jlong filterEvents(jlong) = 0; + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_TextAreaPeer__ diff --git a/libjava/java/awt/peer/TextComponentPeer.h b/libjava/java/awt/peer/TextComponentPeer.h new file mode 100644 index 00000000000..37e0310bde1 --- /dev/null +++ b/libjava/java/awt/peer/TextComponentPeer.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_TextComponentPeer__ +#define __java_awt_peer_TextComponentPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace im + { + class InputMethodRequests; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class TextComponentPeer; + } + } + } +} + +class java::awt::peer::TextComponentPeer : public ::java::lang::Object +{ + +public: + virtual jint getSelectionEnd() = 0; + virtual jint getSelectionStart() = 0; + virtual ::java::lang::String * getText() = 0; + virtual void setText(::java::lang::String *) = 0; + virtual void select(jint, jint) = 0; + virtual void setEditable(jboolean) = 0; + virtual jint getCaretPosition() = 0; + virtual void setCaretPosition(jint) = 0; + virtual jint getIndexAtPoint(jint, jint) = 0; + virtual ::java::awt::Rectangle * getCharacterBounds(jint) = 0; + virtual jlong filterEvents(jlong) = 0; + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_TextComponentPeer__ diff --git a/libjava/java/awt/peer/TextFieldPeer.h b/libjava/java/awt/peer/TextFieldPeer.h new file mode 100644 index 00000000000..a3718929d64 --- /dev/null +++ b/libjava/java/awt/peer/TextFieldPeer.h @@ -0,0 +1,131 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_TextFieldPeer__ +#define __java_awt_peer_TextFieldPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace im + { + class InputMethodRequests; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class TextFieldPeer; + } + } + } +} + +class java::awt::peer::TextFieldPeer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Dimension * minimumSize(jint) = 0; + virtual ::java::awt::Dimension * preferredSize(jint) = 0; + virtual ::java::awt::Dimension * getMinimumSize(jint) = 0; + virtual ::java::awt::Dimension * getPreferredSize(jint) = 0; + virtual void setEchoChar(jchar) = 0; + virtual void setEchoCharacter(jchar) = 0; + virtual jint getSelectionEnd() = 0; + virtual jint getSelectionStart() = 0; + virtual ::java::lang::String * getText() = 0; + virtual void setText(::java::lang::String *) = 0; + virtual void select(jint, jint) = 0; + virtual void setEditable(jboolean) = 0; + virtual jint getCaretPosition() = 0; + virtual void setCaretPosition(jint) = 0; + virtual jint getIndexAtPoint(jint, jint) = 0; + virtual ::java::awt::Rectangle * getCharacterBounds(jint) = 0; + virtual jlong filterEvents(jlong) = 0; + virtual ::java::awt::im::InputMethodRequests * getInputMethodRequests() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_TextFieldPeer__ diff --git a/libjava/java/awt/peer/WindowPeer.h b/libjava/java/awt/peer/WindowPeer.h new file mode 100644 index 00000000000..c900a1cecab --- /dev/null +++ b/libjava/java/awt/peer/WindowPeer.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_peer_WindowPeer__ +#define __java_awt_peer_WindowPeer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class BufferCapabilities; + class BufferCapabilities$FlipContents; + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class GraphicsConfiguration; + class Image; + class Insets; + class Point; + class Rectangle; + class Toolkit; + namespace event + { + class PaintEvent; + } + namespace image + { + class ColorModel; + class ImageObserver; + class ImageProducer; + class VolatileImage; + } + namespace peer + { + class ContainerPeer; + class WindowPeer; + } + } + } +} + +class java::awt::peer::WindowPeer : public ::java::lang::Object +{ + +public: + virtual void toBack() = 0; + virtual void toFront() = 0; + virtual void updateAlwaysOnTop() = 0; + virtual jboolean requestWindowFocus() = 0; + virtual ::java::awt::Insets * insets() = 0; + virtual ::java::awt::Insets * getInsets() = 0; + virtual void beginValidate() = 0; + virtual void endValidate() = 0; + virtual void beginLayout() = 0; + virtual void endLayout() = 0; + virtual jboolean isPaintPending() = 0; + virtual jboolean isRestackSupported() = 0; + virtual void cancelPendingPaint(jint, jint, jint, jint) = 0; + virtual void restack() = 0; + virtual jint checkImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual ::java::awt::Image * createImage(::java::awt::image::ImageProducer *) = 0; + virtual ::java::awt::Image * createImage(jint, jint) = 0; + virtual void disable() = 0; + virtual void dispose() = 0; + virtual void enable() = 0; + virtual ::java::awt::image::ColorModel * getColorModel() = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual ::java::awt::Graphics * getGraphics() = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Dimension * getMinimumSize() = 0; + virtual ::java::awt::Dimension * getPreferredSize() = 0; + virtual ::java::awt::Toolkit * getToolkit() = 0; + virtual void handleEvent(::java::awt::AWTEvent *) = 0; + virtual void hide() = 0; + virtual jboolean isFocusTraversable() = 0; + virtual jboolean isFocusable() = 0; + virtual ::java::awt::Dimension * minimumSize() = 0; + virtual ::java::awt::Dimension * preferredSize() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + virtual jboolean prepareImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *) = 0; + virtual void print(::java::awt::Graphics *) = 0; + virtual void repaint(jlong, jint, jint, jint, jint) = 0; + virtual void requestFocus() = 0; + virtual jboolean requestFocus(::java::awt::Component *, jboolean, jboolean, jlong) = 0; + virtual void reshape(jint, jint, jint, jint) = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual void setBounds(jint, jint, jint, jint) = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual void setVisible(jboolean) = 0; + virtual void show() = 0; + virtual ::java::awt::GraphicsConfiguration * getGraphicsConfiguration() = 0; + virtual void setEventMask(jlong) = 0; + virtual jboolean isObscured() = 0; + virtual jboolean canDetermineObscurity() = 0; + virtual void coalescePaintEvent(::java::awt::event::PaintEvent *) = 0; + virtual void updateCursorImmediately() = 0; + virtual jboolean handlesWheelScrolling() = 0; + virtual ::java::awt::image::VolatileImage * createVolatileImage(jint, jint) = 0; + virtual void createBuffers(jint, ::java::awt::BufferCapabilities *) = 0; + virtual ::java::awt::Image * getBackBuffer() = 0; + virtual void flip(::java::awt::BufferCapabilities$FlipContents *) = 0; + virtual void destroyBuffers() = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void reparent(::java::awt::peer::ContainerPeer *) = 0; + virtual void setBounds(jint, jint, jint, jint, jint) = 0; + virtual jboolean isReparentSupported() = 0; + virtual void layout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_peer_WindowPeer__ diff --git a/libjava/java/awt/print/Book.h b/libjava/java/awt/print/Book.h new file mode 100644 index 00000000000..cda28618c75 --- /dev/null +++ b/libjava/java/awt/print/Book.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_Book__ +#define __java_awt_print_Book__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class Book; + class PageFormat; + class Printable; + } + } + } +} + +class java::awt::print::Book : public ::java::lang::Object +{ + +public: + Book(); + virtual jint getNumberOfPages(); + virtual ::java::awt::print::PageFormat * getPageFormat(jint); + virtual ::java::awt::print::Printable * getPrintable(jint); + virtual void append(::java::awt::print::Printable *, ::java::awt::print::PageFormat *); + virtual void append(::java::awt::print::Printable *, ::java::awt::print::PageFormat *, jint); + virtual void setPage(jint, ::java::awt::print::Printable *, ::java::awt::print::PageFormat *); +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) printables; + ::java::util::Vector * page_formats; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_Book__ diff --git a/libjava/java/awt/print/NoPrinterJob.h b/libjava/java/awt/print/NoPrinterJob.h new file mode 100644 index 00000000000..aac0af30b5a --- /dev/null +++ b/libjava/java/awt/print/NoPrinterJob.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_NoPrinterJob__ +#define __java_awt_print_NoPrinterJob__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class NoPrinterJob; + class PageFormat; + class Pageable; + class Printable; + } + } + } +} + +class java::awt::print::NoPrinterJob : public ::java::awt::print::PrinterJob +{ + +public: // actually package-private + NoPrinterJob(); +public: + virtual jint getCopies(); + virtual void setCopies(jint); + virtual ::java::lang::String * getJobName(); + virtual void setJobName(::java::lang::String *); + virtual ::java::lang::String * getUserName(); + virtual void cancel(); + virtual jboolean isCancelled(); + virtual ::java::awt::print::PageFormat * defaultPage(::java::awt::print::PageFormat *); + virtual ::java::awt::print::PageFormat * pageDialog(::java::awt::print::PageFormat *); + virtual void print(); + virtual jboolean printDialog(); + virtual void setPageable(::java::awt::print::Pageable *); + virtual void setPrintable(::java::awt::print::Printable *); + virtual void setPrintable(::java::awt::print::Printable *, ::java::awt::print::PageFormat *); + virtual ::java::awt::print::PageFormat * validatePage(::java::awt::print::PageFormat *); + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_NoPrinterJob__ diff --git a/libjava/java/awt/print/PageFormat.h b/libjava/java/awt/print/PageFormat.h new file mode 100644 index 00000000000..0f4af7b653b --- /dev/null +++ b/libjava/java/awt/print/PageFormat.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_PageFormat__ +#define __java_awt_print_PageFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PageFormat; + class Paper; + } + } + } +} + +class java::awt::print::PageFormat : public ::java::lang::Object +{ + +public: + PageFormat(); + virtual jdouble getWidth(); + virtual jdouble getHeight(); + virtual jdouble getImageableX(); + virtual jdouble getImageableY(); + virtual jdouble getImageableWidth(); + virtual jdouble getImageableHeight(); + virtual ::java::awt::print::Paper * getPaper(); + virtual void setPaper(::java::awt::print::Paper *); + virtual jint getOrientation(); + virtual void setOrientation(jint); + virtual JArray< jdouble > * getMatrix(); + virtual ::java::lang::Object * clone(); + static const jint LANDSCAPE = 0; + static const jint PORTRAIT = 1; + static const jint REVERSE_LANDSCAPE = 2; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) orientation; + ::java::awt::print::Paper * paper; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_PageFormat__ diff --git a/libjava/java/awt/print/Pageable.h b/libjava/java/awt/print/Pageable.h new file mode 100644 index 00000000000..b97d4e5222a --- /dev/null +++ b/libjava/java/awt/print/Pageable.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_Pageable__ +#define __java_awt_print_Pageable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PageFormat; + class Pageable; + class Printable; + } + } + } +} + +class java::awt::print::Pageable : public ::java::lang::Object +{ + +public: + virtual jint getNumberOfPages() = 0; + virtual ::java::awt::print::PageFormat * getPageFormat(jint) = 0; + virtual ::java::awt::print::Printable * getPrintable(jint) = 0; + static const jint UNKNOWN_NUMBER_OF_PAGES = -1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_print_Pageable__ diff --git a/libjava/java/awt/print/Paper.h b/libjava/java/awt/print/Paper.h new file mode 100644 index 00000000000..3d7d3769ff6 --- /dev/null +++ b/libjava/java/awt/print/Paper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_Paper__ +#define __java_awt_print_Paper__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class Paper; + } + } + } +} + +class java::awt::print::Paper : public ::java::lang::Object +{ + +public: + Paper(); + virtual jdouble getHeight(); + virtual jdouble getWidth(); + virtual jdouble getImageableX(); + virtual jdouble getImageableY(); + virtual jdouble getImageableWidth(); + virtual jdouble getImageableHeight(); + virtual void setSize(jdouble, jdouble); + virtual void setImageableArea(jdouble, jdouble, jdouble, jdouble); + virtual ::java::lang::Object * clone(); +private: + jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) height; + jdouble width; + jdouble imageableX; + jdouble imageableY; + jdouble imageableWidth; + jdouble imageableHeight; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_Paper__ diff --git a/libjava/java/awt/print/Printable.h b/libjava/java/awt/print/Printable.h new file mode 100644 index 00000000000..4160afcfd01 --- /dev/null +++ b/libjava/java/awt/print/Printable.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_Printable__ +#define __java_awt_print_Printable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + namespace print + { + class PageFormat; + class Printable; + } + } + } +} + +class java::awt::print::Printable : public ::java::lang::Object +{ + +public: + virtual jint print(::java::awt::Graphics *, ::java::awt::print::PageFormat *, jint) = 0; + static const jint PAGE_EXISTS = 0; + static const jint NO_SUCH_PAGE = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_print_Printable__ diff --git a/libjava/java/awt/print/PrinterAbortException.h b/libjava/java/awt/print/PrinterAbortException.h new file mode 100644 index 00000000000..f8475d995cb --- /dev/null +++ b/libjava/java/awt/print/PrinterAbortException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_PrinterAbortException__ +#define __java_awt_print_PrinterAbortException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PrinterAbortException; + } + } + } +} + +class java::awt::print::PrinterAbortException : public ::java::awt::print::PrinterException +{ + +public: + PrinterAbortException(); + PrinterAbortException(::java::lang::String *); +private: + static const jlong serialVersionUID = 4725169026278854136LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_PrinterAbortException__ diff --git a/libjava/java/awt/print/PrinterException.h b/libjava/java/awt/print/PrinterException.h new file mode 100644 index 00000000000..009ec510f52 --- /dev/null +++ b/libjava/java/awt/print/PrinterException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_PrinterException__ +#define __java_awt_print_PrinterException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PrinterException; + } + } + } +} + +class java::awt::print::PrinterException : public ::java::lang::Exception +{ + +public: + PrinterException(); + PrinterException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3757589981158265819LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_PrinterException__ diff --git a/libjava/java/awt/print/PrinterGraphics.h b/libjava/java/awt/print/PrinterGraphics.h new file mode 100644 index 00000000000..74541c07a9e --- /dev/null +++ b/libjava/java/awt/print/PrinterGraphics.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_PrinterGraphics__ +#define __java_awt_print_PrinterGraphics__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PrinterGraphics; + class PrinterJob; + } + } + } +} + +class java::awt::print::PrinterGraphics : public ::java::lang::Object +{ + +public: + virtual ::java::awt::print::PrinterJob * getPrinterJob() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_awt_print_PrinterGraphics__ diff --git a/libjava/java/awt/print/PrinterIOException.h b/libjava/java/awt/print/PrinterIOException.h new file mode 100644 index 00000000000..46d7908d9a3 --- /dev/null +++ b/libjava/java/awt/print/PrinterIOException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_PrinterIOException__ +#define __java_awt_print_PrinterIOException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PrinterIOException; + } + } + } +} + +class java::awt::print::PrinterIOException : public ::java::awt::print::PrinterException +{ + +public: + PrinterIOException(::java::io::IOException *); + virtual ::java::io::IOException * getIOException(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = 5850870712125932846LL; + ::java::io::IOException * __attribute__((aligned(__alignof__( ::java::awt::print::PrinterException)))) mException; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_PrinterIOException__ diff --git a/libjava/java/awt/print/PrinterJob.h b/libjava/java/awt/print/PrinterJob.h new file mode 100644 index 00000000000..a319de37b23 --- /dev/null +++ b/libjava/java/awt/print/PrinterJob.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_awt_print_PrinterJob__ +#define __java_awt_print_PrinterJob__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace print + { + class PageFormat; + class Pageable; + class Printable; + class PrinterJob; + } + } + } + namespace javax + { + namespace print + { + class PrintService; + namespace attribute + { + class PrintRequestAttributeSet; + } + } + } +} + +class java::awt::print::PrinterJob : public ::java::lang::Object +{ + +public: + static ::java::awt::print::PrinterJob * getPrinterJob(); + PrinterJob(); + virtual jint getCopies() = 0; + virtual void setCopies(jint) = 0; + virtual ::java::lang::String * getJobName() = 0; + virtual void setJobName(::java::lang::String *) = 0; + virtual ::java::lang::String * getUserName() = 0; + virtual void cancel() = 0; + virtual jboolean isCancelled() = 0; + virtual ::java::awt::print::PageFormat * defaultPage(); + virtual ::java::awt::print::PageFormat * defaultPage(::java::awt::print::PageFormat *) = 0; + virtual ::java::awt::print::PageFormat * pageDialog(::java::awt::print::PageFormat *) = 0; + virtual ::java::awt::print::PageFormat * pageDialog(::javax::print::attribute::PrintRequestAttributeSet *); + virtual void print() = 0; + virtual void print(::javax::print::attribute::PrintRequestAttributeSet *); + virtual jboolean printDialog() = 0; + virtual jboolean printDialog(::javax::print::attribute::PrintRequestAttributeSet *); + virtual void setPageable(::java::awt::print::Pageable *) = 0; + virtual void setPrintable(::java::awt::print::Printable *) = 0; + virtual void setPrintable(::java::awt::print::Printable *, ::java::awt::print::PageFormat *) = 0; + virtual ::java::awt::print::PageFormat * validatePage(::java::awt::print::PageFormat *) = 0; + static JArray< ::javax::print::PrintService * > * lookupPrintServices(); + virtual ::javax::print::PrintService * getPrintService(); + virtual void setPrintService(::javax::print::PrintService *); +private: + ::javax::print::PrintService * __attribute__((aligned(__alignof__( ::java::lang::Object)))) printer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_awt_print_PrinterJob__ diff --git a/libjava/java/beans/AppletInitializer.h b/libjava/java/beans/AppletInitializer.h new file mode 100644 index 00000000000..f0ea44fa5b0 --- /dev/null +++ b/libjava/java/beans/AppletInitializer.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_AppletInitializer__ +#define __java_beans_AppletInitializer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace applet + { + class Applet; + } + namespace beans + { + class AppletInitializer; + namespace beancontext + { + class BeanContext; + } + } + } +} + +class java::beans::AppletInitializer : public ::java::lang::Object +{ + +public: + virtual void activate(::java::applet::Applet *) = 0; + virtual void initialize(::java::applet::Applet *, ::java::beans::beancontext::BeanContext *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_AppletInitializer__ diff --git a/libjava/java/beans/BeanDescriptor.h b/libjava/java/beans/BeanDescriptor.h new file mode 100644 index 00000000000..b1779b92865 --- /dev/null +++ b/libjava/java/beans/BeanDescriptor.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_BeanDescriptor__ +#define __java_beans_BeanDescriptor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class BeanDescriptor; + } + } +} + +class java::beans::BeanDescriptor : public ::java::beans::FeatureDescriptor +{ + +public: + BeanDescriptor(::java::lang::Class *); + BeanDescriptor(::java::lang::Class *, ::java::lang::Class *); + virtual ::java::lang::Class * getBeanClass(); + virtual ::java::lang::Class * getCustomizerClass(); +public: // actually package-private + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::beans::FeatureDescriptor)))) beanClass; + ::java::lang::Class * customizerClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_BeanDescriptor__ diff --git a/libjava/java/beans/BeanInfo.h b/libjava/java/beans/BeanInfo.h new file mode 100644 index 00000000000..dda47201610 --- /dev/null +++ b/libjava/java/beans/BeanInfo.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_BeanInfo__ +#define __java_beans_BeanInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + } + namespace beans + { + class BeanDescriptor; + class BeanInfo; + class EventSetDescriptor; + class MethodDescriptor; + class PropertyDescriptor; + } + } +} + +class java::beans::BeanInfo : public ::java::lang::Object +{ + +public: + virtual ::java::beans::BeanDescriptor * getBeanDescriptor() = 0; + virtual JArray< ::java::beans::EventSetDescriptor * > * getEventSetDescriptors() = 0; + virtual jint getDefaultEventIndex() = 0; + virtual JArray< ::java::beans::PropertyDescriptor * > * getPropertyDescriptors() = 0; + virtual jint getDefaultPropertyIndex() = 0; + virtual JArray< ::java::beans::MethodDescriptor * > * getMethodDescriptors() = 0; + virtual JArray< ::java::beans::BeanInfo * > * getAdditionalBeanInfo() = 0; + virtual ::java::awt::Image * getIcon(jint) = 0; + static const jint ICON_COLOR_16x16 = 1; + static const jint ICON_COLOR_32x32 = 2; + static const jint ICON_MONO_16x16 = 3; + static const jint ICON_MONO_32x32 = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_BeanInfo__ diff --git a/libjava/java/beans/Beans.h b/libjava/java/beans/Beans.h new file mode 100644 index 00000000000..ed2fbadbe45 --- /dev/null +++ b/libjava/java/beans/Beans.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Beans__ +#define __java_beans_Beans__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class AppletInitializer; + class Beans; + namespace beancontext + { + class BeanContext; + } + } + } +} + +class java::beans::Beans : public ::java::lang::Object +{ + +public: + Beans(); + static ::java::lang::Object * instantiate(::java::lang::ClassLoader *, ::java::lang::String *); + static ::java::lang::Object * instantiate(::java::lang::ClassLoader *, ::java::lang::String *, ::java::beans::beancontext::BeanContext *); + static ::java::lang::Object * instantiate(::java::lang::ClassLoader *, ::java::lang::String *, ::java::beans::beancontext::BeanContext *, ::java::beans::AppletInitializer *); + static ::java::lang::Object * getInstanceOf(::java::lang::Object *, ::java::lang::Class *); + static jboolean isInstanceOf(::java::lang::Object *, ::java::lang::Class *); + static jboolean isGuiAvailable(); + static jboolean isDesignTime(); + static void setGuiAvailable(jboolean); + static void setDesignTime(jboolean); +public: // actually package-private + static jboolean designTime; + static jboolean guiAvailable; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_Beans__ diff --git a/libjava/java/beans/Customizer.h b/libjava/java/beans/Customizer.h new file mode 100644 index 00000000000..fbdae5ad102 --- /dev/null +++ b/libjava/java/beans/Customizer.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Customizer__ +#define __java_beans_Customizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class Customizer; + class PropertyChangeListener; + } + } +} + +class java::beans::Customizer : public ::java::lang::Object +{ + +public: + virtual void setObject(::java::lang::Object *) = 0; + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_Customizer__ diff --git a/libjava/java/beans/DefaultPersistenceDelegate.h b/libjava/java/beans/DefaultPersistenceDelegate.h new file mode 100644 index 00000000000..b0225b54cc5 --- /dev/null +++ b/libjava/java/beans/DefaultPersistenceDelegate.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_DefaultPersistenceDelegate__ +#define __java_beans_DefaultPersistenceDelegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class DefaultPersistenceDelegate; + class Encoder; + class Expression; + } + } +} + +class java::beans::DefaultPersistenceDelegate : public ::java::beans::PersistenceDelegate +{ + +public: + DefaultPersistenceDelegate(); + DefaultPersistenceDelegate(JArray< ::java::lang::String * > *); +public: // actually protected + virtual jboolean mutatesTo(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); + virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::beans::PersistenceDelegate)))) constructorPropertyNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_DefaultPersistenceDelegate__ diff --git a/libjava/java/beans/DesignMode.h b/libjava/java/beans/DesignMode.h new file mode 100644 index 00000000000..a88d84468fd --- /dev/null +++ b/libjava/java/beans/DesignMode.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_DesignMode__ +#define __java_beans_DesignMode__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class DesignMode; + } + } +} + +class java::beans::DesignMode : public ::java::lang::Object +{ + +public: + virtual void setDesignTime(jboolean) = 0; + virtual jboolean isDesignTime() = 0; + static ::java::lang::String * PROPERTYNAME; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_DesignMode__ diff --git a/libjava/java/beans/Encoder$1.h b/libjava/java/beans/Encoder$1.h new file mode 100644 index 00000000000..874859790f6 --- /dev/null +++ b/libjava/java/beans/Encoder$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Encoder$1__ +#define __java_beans_Encoder$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class Encoder; + class Encoder$1; + class Expression; + } + } +} + +class java::beans::Encoder$1 : public ::java::beans::PersistenceDelegate +{ + +public: // actually package-private + Encoder$1(); +public: // actually protected + ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_Encoder$1__ diff --git a/libjava/java/beans/Encoder.h b/libjava/java/beans/Encoder.h new file mode 100644 index 00000000000..345e98ca441 --- /dev/null +++ b/libjava/java/beans/Encoder.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Encoder__ +#define __java_beans_Encoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class Encoder; + class ExceptionListener; + class Expression; + class PersistenceDelegate; + class Statement; + } + } +} + +class java::beans::Encoder : public ::java::lang::Object +{ + +public: + Encoder(); +private: + static void setupDefaultPersistenceDelegates(); +public: // actually protected + virtual void writeObject(::java::lang::Object *); +public: + virtual void setExceptionListener(::java::beans::ExceptionListener *); + virtual ::java::beans::ExceptionListener * getExceptionListener(); + virtual ::java::beans::PersistenceDelegate * getPersistenceDelegate(::java::lang::Class *); + virtual void setPersistenceDelegate(::java::lang::Class *, ::java::beans::PersistenceDelegate *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual void writeStatement(::java::beans::Statement *); + virtual void writeExpression(::java::beans::Expression *); +public: // actually package-private + virtual jboolean isImmutableType(::java::lang::Class *); + virtual void putCandidate(::java::lang::Object *, ::java::lang::Object *); +private: + static ::java::beans::PersistenceDelegate * defaultPersistenceDelegate; + static ::java::beans::PersistenceDelegate * fakePersistenceDelegate; + static ::java::util::HashMap * delegates; + ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) candidates; + ::java::beans::ExceptionListener * exceptionListener; + jint accessCounter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_Encoder__ diff --git a/libjava/java/beans/EventHandler.h b/libjava/java/beans/EventHandler.h new file mode 100644 index 00000000000..b97ac5104a3 --- /dev/null +++ b/libjava/java/beans/EventHandler.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_EventHandler__ +#define __java_beans_EventHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class EventHandler; + } + } +} + +class java::beans::EventHandler : public ::java::lang::Object +{ + + ::java::lang::String * capitalize(::java::lang::String *); +public: + EventHandler(::java::lang::Object *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getEventPropertyName(); + virtual ::java::lang::String * getListenerMethodName(); + virtual ::java::lang::Object * getTarget(); + virtual ::java::lang::String * getAction(); +private: + JArray< ::java::lang::Object * > * getProperty(::java::lang::Object *, ::java::lang::String *); +public: + virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *); +private: + ::java::lang::Class * initClass(::java::lang::Class *); + ::java::lang::Class * nextClass(::java::lang::Class *); +public: + static ::java::lang::Object * create(::java::lang::Class *, ::java::lang::Object *, ::java::lang::String *); + static ::java::lang::Object * create(::java::lang::Class *, ::java::lang::Object *, ::java::lang::String *, ::java::lang::String *); + static ::java::lang::Object * create(::java::lang::Class *, ::java::lang::Object *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerMethod; + ::java::lang::Object * target; + ::java::lang::String * action; + ::java::lang::String * property; + ::java::lang::Class * targetClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_EventHandler__ diff --git a/libjava/java/beans/EventSetDescriptor.h b/libjava/java/beans/EventSetDescriptor.h new file mode 100644 index 00000000000..fb99b607bb4 --- /dev/null +++ b/libjava/java/beans/EventSetDescriptor.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_EventSetDescriptor__ +#define __java_beans_EventSetDescriptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class EventSetDescriptor; + class MethodDescriptor; + } + } +} + +class java::beans::EventSetDescriptor : public ::java::beans::FeatureDescriptor +{ + +public: + EventSetDescriptor(::java::lang::Class *, ::java::lang::String *, ::java::lang::Class *, ::java::lang::String *); + EventSetDescriptor(::java::lang::Class *, ::java::lang::String *, ::java::lang::Class *, JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *); + EventSetDescriptor(::java::lang::Class *, ::java::lang::String *, ::java::lang::Class *, JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + EventSetDescriptor(::java::lang::String *, ::java::lang::Class *, JArray< ::java::lang::reflect::Method * > *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *); + EventSetDescriptor(::java::lang::String *, ::java::lang::Class *, JArray< ::java::lang::reflect::Method * > *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *); + EventSetDescriptor(::java::lang::String *, ::java::lang::Class *, JArray< ::java::beans::MethodDescriptor * > *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *); + virtual ::java::lang::Class * getListenerType(); + virtual JArray< ::java::lang::reflect::Method * > * getListenerMethods(); + virtual JArray< ::java::beans::MethodDescriptor * > * getListenerMethodDescriptors(); + virtual ::java::lang::reflect::Method * getAddListenerMethod(); + virtual ::java::lang::reflect::Method * getRemoveListenerMethod(); + virtual ::java::lang::reflect::Method * getGetListenerMethod(); + virtual void setUnicast(jboolean); + virtual jboolean isUnicast(); + virtual void setInDefaultEventSet(jboolean); + virtual jboolean isInDefaultEventSet(); +private: + void checkAddListenerUnicast(); + void checkMethods(); + void findMethods(::java::lang::Class *, ::java::lang::Class *, JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::reflect::Method * __attribute__((aligned(__alignof__( ::java::beans::FeatureDescriptor)))) addListenerMethod; + ::java::lang::reflect::Method * removeListenerMethod; + ::java::lang::Class * listenerType; + JArray< ::java::beans::MethodDescriptor * > * listenerMethodDescriptors; + JArray< ::java::lang::reflect::Method * > * listenerMethods; + ::java::lang::reflect::Method * getListenerMethod; + jboolean unicast; + jboolean inDefaultEventSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_EventSetDescriptor__ diff --git a/libjava/java/beans/ExceptionListener.h b/libjava/java/beans/ExceptionListener.h new file mode 100644 index 00000000000..4356957fcba --- /dev/null +++ b/libjava/java/beans/ExceptionListener.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_ExceptionListener__ +#define __java_beans_ExceptionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class ExceptionListener; + } + } +} + +class java::beans::ExceptionListener : public ::java::lang::Object +{ + +public: + virtual void exceptionThrown(::java::lang::Exception *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_ExceptionListener__ diff --git a/libjava/java/beans/ExplicitInfo.h b/libjava/java/beans/ExplicitInfo.h new file mode 100644 index 00000000000..16860b43e52 --- /dev/null +++ b/libjava/java/beans/ExplicitInfo.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_ExplicitInfo__ +#define __java_beans_ExplicitInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + } + namespace beans + { + class BeanDescriptor; + class BeanInfo; + class EventSetDescriptor; + class ExplicitInfo; + class MethodDescriptor; + class PropertyDescriptor; + } + } +} + +class java::beans::ExplicitInfo : public ::java::lang::Object +{ + +public: // actually package-private + ExplicitInfo(::java::lang::Class *, ::java::lang::Class *); + static void flushCaches(); + static ::java::beans::BeanInfo * findExplicitBeanInfo(::java::lang::Class *); + static ::java::beans::BeanInfo * reallyFindExplicitBeanInfo(::java::lang::Class *); +private: + static ::java::beans::BeanInfo * getBeanInfo(::java::lang::ClassLoader *, ::java::lang::String *); +public: // actually package-private + ::java::beans::BeanDescriptor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) explicitBeanDescriptor; + JArray< ::java::beans::BeanInfo * > * explicitBeanInfo; + JArray< ::java::beans::PropertyDescriptor * > * explicitPropertyDescriptors; + JArray< ::java::beans::EventSetDescriptor * > * explicitEventSetDescriptors; + JArray< ::java::beans::MethodDescriptor * > * explicitMethodDescriptors; + jint defaultProperty; + jint defaultEvent; + JArray< ::java::awt::Image * > * im; + ::java::lang::Class * propertyStopClass; + ::java::lang::Class * eventStopClass; + ::java::lang::Class * methodStopClass; + static ::java::util::Hashtable * explicitBeanInfos; + static ::java::util::Vector * emptyBeanInfos; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_ExplicitInfo__ diff --git a/libjava/java/beans/Expression.h b/libjava/java/beans/Expression.h new file mode 100644 index 00000000000..50fce152989 --- /dev/null +++ b/libjava/java/beans/Expression.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Expression__ +#define __java_beans_Expression__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class Expression; + } + } +} + +class java::beans::Expression : public ::java::beans::Statement +{ + +public: + Expression(::java::lang::Object *, ::java::lang::Object *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + Expression(::java::lang::Object *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * getValue(); + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static ::java::lang::Object * UNSET; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::beans::Statement)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_Expression__ diff --git a/libjava/java/beans/FeatureDescriptor.h b/libjava/java/beans/FeatureDescriptor.h new file mode 100644 index 00000000000..8f5f9327d72 --- /dev/null +++ b/libjava/java/beans/FeatureDescriptor.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_FeatureDescriptor__ +#define __java_beans_FeatureDescriptor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class FeatureDescriptor; + } + } +} + +class java::beans::FeatureDescriptor : public ::java::lang::Object +{ + +public: + FeatureDescriptor(); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getDisplayName(); + virtual void setDisplayName(::java::lang::String *); + virtual ::java::lang::String * getShortDescription(); + virtual void setShortDescription(::java::lang::String *); + virtual jboolean isExpert(); + virtual void setExpert(jboolean); + virtual jboolean isHidden(); + virtual void setHidden(jboolean); + virtual jboolean isPreferred(); + virtual void setPreferred(jboolean); + virtual ::java::lang::Object * getValue(::java::lang::String *); + virtual void setValue(::java::lang::String *, ::java::lang::Object *); + virtual ::java::util::Enumeration * attributeNames(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * displayName; + ::java::lang::String * shortDescription; + jboolean expert; + jboolean hidden; + jboolean preferred; + ::java::util::Hashtable * valueHash; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_FeatureDescriptor__ diff --git a/libjava/java/beans/IndexedPropertyChangeEvent.h b/libjava/java/beans/IndexedPropertyChangeEvent.h new file mode 100644 index 00000000000..85082d12eb1 --- /dev/null +++ b/libjava/java/beans/IndexedPropertyChangeEvent.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_IndexedPropertyChangeEvent__ +#define __java_beans_IndexedPropertyChangeEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class IndexedPropertyChangeEvent; + } + } +} + +class java::beans::IndexedPropertyChangeEvent : public ::java::beans::PropertyChangeEvent +{ + +public: + IndexedPropertyChangeEvent(::java::lang::Object *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *, jint); + virtual jint getIndex(); +private: + static const jlong serialVersionUID = -320227448495806870LL; + jint __attribute__((aligned(__alignof__( ::java::beans::PropertyChangeEvent)))) index; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_IndexedPropertyChangeEvent__ diff --git a/libjava/java/beans/IndexedPropertyDescriptor.h b/libjava/java/beans/IndexedPropertyDescriptor.h new file mode 100644 index 00000000000..843eb1b94d3 --- /dev/null +++ b/libjava/java/beans/IndexedPropertyDescriptor.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_IndexedPropertyDescriptor__ +#define __java_beans_IndexedPropertyDescriptor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class IndexedPropertyDescriptor; + } + } +} + +class java::beans::IndexedPropertyDescriptor : public ::java::beans::PropertyDescriptor +{ + +public: + IndexedPropertyDescriptor(::java::lang::String *, ::java::lang::Class *); + IndexedPropertyDescriptor(::java::lang::String *, ::java::lang::Class *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + IndexedPropertyDescriptor(::java::lang::String *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *); + virtual ::java::lang::Class * getIndexedPropertyType(); + virtual ::java::lang::reflect::Method * getIndexedReadMethod(); + virtual void setIndexedReadMethod(::java::lang::reflect::Method *); + virtual ::java::lang::reflect::Method * getIndexedWriteMethod(); + virtual void setIndexedWriteMethod(::java::lang::reflect::Method *); +private: + void findMethods(::java::lang::Class *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::beans::PropertyDescriptor)))) indexedPropertyType; + ::java::lang::reflect::Method * setIndex; + ::java::lang::reflect::Method * getIndex; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_IndexedPropertyDescriptor__ diff --git a/libjava/java/beans/IntrospectionException.h b/libjava/java/beans/IntrospectionException.h new file mode 100644 index 00000000000..87df2fd72c1 --- /dev/null +++ b/libjava/java/beans/IntrospectionException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_IntrospectionException__ +#define __java_beans_IntrospectionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class IntrospectionException; + } + } +} + +class java::beans::IntrospectionException : public ::java::lang::Exception +{ + +public: + IntrospectionException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3728150539969542619LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_IntrospectionException__ diff --git a/libjava/java/beans/Introspector.h b/libjava/java/beans/Introspector.h new file mode 100644 index 00000000000..989c513334c --- /dev/null +++ b/libjava/java/beans/Introspector.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Introspector__ +#define __java_beans_Introspector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + class BeanInfoEmbryo; + } + } + } + namespace java + { + namespace beans + { + class BeanInfo; + class ExplicitInfo; + class Introspector; + } + } +} + +class java::beans::Introspector : public ::java::lang::Object +{ + + Introspector(); +public: + static ::java::beans::BeanInfo * getBeanInfo(::java::lang::Class *); + static ::java::beans::BeanInfo * getBeanInfo(::java::lang::Class *, jint); + static void flushCaches(); + static void flushFromCaches(::java::lang::Class *); +private: + static void merge(::gnu::java::beans::BeanInfoEmbryo *, ::java::beans::ExplicitInfo *); +public: + static ::java::beans::BeanInfo * getBeanInfo(::java::lang::Class *, ::java::lang::Class *); + static JArray< ::java::lang::String * > * getBeanInfoSearchPath(); + static void setBeanInfoSearchPath(JArray< ::java::lang::String * > *); + static ::java::lang::String * decapitalize(::java::lang::String *); +public: // actually package-private + static ::java::beans::BeanInfo * copyBeanInfo(::java::beans::BeanInfo *); +public: + static const jint USE_ALL_BEANINFO = 1; + static const jint IGNORE_IMMEDIATE_BEANINFO = 2; + static const jint IGNORE_ALL_BEANINFO = 3; +public: // actually package-private + static JArray< ::java::lang::String * > * beanInfoSearchPath; + static ::java::util::Hashtable * beanInfoCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_Introspector__ diff --git a/libjava/java/beans/MethodDescriptor.h b/libjava/java/beans/MethodDescriptor.h new file mode 100644 index 00000000000..cf3ca4acf5c --- /dev/null +++ b/libjava/java/beans/MethodDescriptor.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_MethodDescriptor__ +#define __java_beans_MethodDescriptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class MethodDescriptor; + class ParameterDescriptor; + } + } +} + +class java::beans::MethodDescriptor : public ::java::beans::FeatureDescriptor +{ + +public: + MethodDescriptor(::java::lang::reflect::Method *); + MethodDescriptor(::java::lang::reflect::Method *, JArray< ::java::beans::ParameterDescriptor * > *); + virtual JArray< ::java::beans::ParameterDescriptor * > * getParameterDescriptors(); + virtual ::java::lang::reflect::Method * getMethod(); +private: + ::java::lang::reflect::Method * __attribute__((aligned(__alignof__( ::java::beans::FeatureDescriptor)))) m; + JArray< ::java::beans::ParameterDescriptor * > * parameterDescriptors; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_MethodDescriptor__ diff --git a/libjava/java/beans/ParameterDescriptor.h b/libjava/java/beans/ParameterDescriptor.h new file mode 100644 index 00000000000..66e201e14f5 --- /dev/null +++ b/libjava/java/beans/ParameterDescriptor.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_ParameterDescriptor__ +#define __java_beans_ParameterDescriptor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class ParameterDescriptor; + } + } +} + +class java::beans::ParameterDescriptor : public ::java::beans::FeatureDescriptor +{ + +public: + ParameterDescriptor(); + static ::java::lang::Class class$; +}; + +#endif // __java_beans_ParameterDescriptor__ diff --git a/libjava/java/beans/PersistenceDelegate.h b/libjava/java/beans/PersistenceDelegate.h new file mode 100644 index 00000000000..93b7865b9c9 --- /dev/null +++ b/libjava/java/beans/PersistenceDelegate.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PersistenceDelegate__ +#define __java_beans_PersistenceDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class Encoder; + class Expression; + class PersistenceDelegate; + } + } +} + +class java::beans::PersistenceDelegate : public ::java::lang::Object +{ + +public: + PersistenceDelegate(); +public: // actually protected + virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *); +public: + virtual void writeObject(::java::lang::Object *, ::java::beans::Encoder *); +public: // actually protected + virtual jboolean mutatesTo(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PersistenceDelegate__ diff --git a/libjava/java/beans/PropertyChangeEvent.h b/libjava/java/beans/PropertyChangeEvent.h new file mode 100644 index 00000000000..6ea9155158b --- /dev/null +++ b/libjava/java/beans/PropertyChangeEvent.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyChangeEvent__ +#define __java_beans_PropertyChangeEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } +} + +class java::beans::PropertyChangeEvent : public ::java::util::EventObject +{ + +public: + PropertyChangeEvent(::java::lang::Object *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::String * getPropertyName(); + virtual ::java::lang::Object * getNewValue(); + virtual ::java::lang::Object * getOldValue(); + virtual void setPropagationId(::java::lang::Object *); + virtual ::java::lang::Object * getPropagationId(); +public: // actually package-private + virtual ::java::beans::PropertyChangeEvent * rollback(); +private: + static const jlong serialVersionUID = 7042693688939648123LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) propertyName; + ::java::lang::Object * newValue; + ::java::lang::Object * oldValue; +private: + ::java::lang::Object * propagationId; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyChangeEvent__ diff --git a/libjava/java/beans/PropertyChangeListener.h b/libjava/java/beans/PropertyChangeListener.h new file mode 100644 index 00000000000..c72b2be7307 --- /dev/null +++ b/libjava/java/beans/PropertyChangeListener.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyChangeListener__ +#define __java_beans_PropertyChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class PropertyChangeListener; + } + } +} + +class java::beans::PropertyChangeListener : public ::java::lang::Object +{ + +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_PropertyChangeListener__ diff --git a/libjava/java/beans/PropertyChangeListenerProxy.h b/libjava/java/beans/PropertyChangeListenerProxy.h new file mode 100644 index 00000000000..14cce8e3c89 --- /dev/null +++ b/libjava/java/beans/PropertyChangeListenerProxy.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyChangeListenerProxy__ +#define __java_beans_PropertyChangeListenerProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class PropertyChangeListener; + class PropertyChangeListenerProxy; + } + } +} + +class java::beans::PropertyChangeListenerProxy : public ::java::util::EventListenerProxy +{ + +public: + PropertyChangeListenerProxy(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual ::java::lang::String * getPropertyName(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventListenerProxy)))) propertyName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyChangeListenerProxy__ diff --git a/libjava/java/beans/PropertyChangeSupport.h b/libjava/java/beans/PropertyChangeSupport.h new file mode 100644 index 00000000000..ae037a893e3 --- /dev/null +++ b/libjava/java/beans/PropertyChangeSupport.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyChangeSupport__ +#define __java_beans_PropertyChangeSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class PropertyChangeListener; + class PropertyChangeSupport; + } + } +} + +class java::beans::PropertyChangeSupport : public ::java::lang::Object +{ + +public: + PropertyChangeSupport(::java::lang::Object *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(::java::lang::String *); + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual void firePropertyChange(::java::lang::String *, jint, jint); + virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); + virtual void firePropertyChange(::java::beans::PropertyChangeEvent *); + virtual void fireIndexedPropertyChange(::java::lang::String *, jint, ::java::lang::Object *, ::java::lang::Object *); + virtual void fireIndexedPropertyChange(::java::lang::String *, jint, jint, jint); + virtual void fireIndexedPropertyChange(::java::lang::String *, jint, jboolean, jboolean); + virtual jboolean hasListeners(::java::lang::String *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 6401253773779951803LL; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children; + ::java::lang::Object * source; + static const jint propertyChangeSupportSerializedDataVersion = 2; + ::java::util::Vector * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyChangeSupport__ diff --git a/libjava/java/beans/PropertyDescriptor.h b/libjava/java/beans/PropertyDescriptor.h new file mode 100644 index 00000000000..242c3d5db99 --- /dev/null +++ b/libjava/java/beans/PropertyDescriptor.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyDescriptor__ +#define __java_beans_PropertyDescriptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyDescriptor; + class PropertyEditor; + } + } +} + +class java::beans::PropertyDescriptor : public ::java::beans::FeatureDescriptor +{ + +public: // actually package-private + PropertyDescriptor(::java::lang::String *); +public: + PropertyDescriptor(::java::lang::String *, ::java::lang::Class *); + PropertyDescriptor(::java::lang::String *, ::java::lang::Class *, ::java::lang::String *, ::java::lang::String *); + PropertyDescriptor(::java::lang::String *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *); + virtual ::java::lang::Class * getPropertyType(); + virtual ::java::lang::reflect::Method * getReadMethod(); + virtual void setReadMethod(::java::lang::reflect::Method *); + virtual ::java::lang::reflect::Method * getWriteMethod(); + virtual void setWriteMethod(::java::lang::reflect::Method *); + virtual jboolean isBound(); + virtual void setBound(jboolean); + virtual jboolean isConstrained(); + virtual void setConstrained(jboolean); + virtual ::java::lang::Class * getPropertyEditorClass(); + virtual void setPropertyEditorClass(::java::lang::Class *); + virtual ::java::beans::PropertyEditor * createPropertyEditor(::java::lang::Object *); +private: + ::java::lang::reflect::Constructor * findConstructor(::java::lang::Class *, JArray< ::java::lang::Class * > *); + ::java::beans::PropertyEditor * instantiateClass(::java::lang::reflect::Constructor *, JArray< ::java::lang::Object * > *); + void findMethods(::java::lang::Class *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::Class * checkMethods(::java::lang::reflect::Method *, ::java::lang::reflect::Method *); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::beans::FeatureDescriptor)))) propertyType; + ::java::lang::reflect::Method * getMethod; + ::java::lang::reflect::Method * setMethod; + ::java::lang::Class * propertyEditorClass; + jboolean bound; + jboolean constrained; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyDescriptor__ diff --git a/libjava/java/beans/PropertyEditor.h b/libjava/java/beans/PropertyEditor.h new file mode 100644 index 00000000000..4fab8c8d66b --- /dev/null +++ b/libjava/java/beans/PropertyEditor.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyEditor__ +#define __java_beans_PropertyEditor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Rectangle; + } + namespace beans + { + class PropertyChangeListener; + class PropertyEditor; + } + } +} + +class java::beans::PropertyEditor : public ::java::lang::Object +{ + +public: + virtual void setValue(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getValue() = 0; + virtual void setAsText(::java::lang::String *) = 0; + virtual ::java::lang::String * getAsText() = 0; + virtual JArray< ::java::lang::String * > * getTags() = 0; + virtual jboolean isPaintable() = 0; + virtual void paintValue(::java::awt::Graphics *, ::java::awt::Rectangle *) = 0; + virtual jboolean supportsCustomEditor() = 0; + virtual ::java::awt::Component * getCustomEditor() = 0; + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual ::java::lang::String * getJavaInitializationString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_PropertyEditor__ diff --git a/libjava/java/beans/PropertyEditorManager.h b/libjava/java/beans/PropertyEditorManager.h new file mode 100644 index 00000000000..88985b3b8cc --- /dev/null +++ b/libjava/java/beans/PropertyEditorManager.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyEditorManager__ +#define __java_beans_PropertyEditorManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyEditor; + class PropertyEditorManager; + } + } +} + +class java::beans::PropertyEditorManager : public ::java::lang::Object +{ + +public: + PropertyEditorManager(); + static void registerEditor(::java::lang::Class *, ::java::lang::Class *); + static ::java::beans::PropertyEditor * findEditor(::java::lang::Class *); + static JArray< ::java::lang::String * > * getEditorSearchPath(); + static void setEditorSearchPath(JArray< ::java::lang::String * > *); +public: // actually package-private + static ::java::util::Hashtable * editors; + static JArray< ::java::lang::String * > * editorSearchPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyEditorManager__ diff --git a/libjava/java/beans/PropertyEditorSupport.h b/libjava/java/beans/PropertyEditorSupport.h new file mode 100644 index 00000000000..62500511a14 --- /dev/null +++ b/libjava/java/beans/PropertyEditorSupport.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyEditorSupport__ +#define __java_beans_PropertyEditorSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Rectangle; + } + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + class PropertyEditorSupport; + } + } +} + +class java::beans::PropertyEditorSupport : public ::java::lang::Object +{ + +public: + PropertyEditorSupport(); + PropertyEditorSupport(::java::lang::Object *); + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::Object * getValue(); + virtual jboolean isPaintable(); + virtual void paintValue(::java::awt::Graphics *, ::java::awt::Rectangle *); + virtual ::java::lang::String * getJavaInitializationString(); + virtual ::java::lang::String * getAsText(); + virtual void setAsText(::java::lang::String *); + virtual JArray< ::java::lang::String * > * getTags(); + virtual ::java::awt::Component * getCustomEditor(); + virtual jboolean supportsCustomEditor(); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void firePropertyChange(); + virtual ::java::lang::Object * getSource(); + virtual void setSource(::java::lang::Object *); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) eventSource; + ::java::lang::Object * value; + ::java::beans::PropertyChangeSupport * pSupport; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyEditorSupport__ diff --git a/libjava/java/beans/PropertyVetoException.h b/libjava/java/beans/PropertyVetoException.h new file mode 100644 index 00000000000..7de400634e1 --- /dev/null +++ b/libjava/java/beans/PropertyVetoException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_PropertyVetoException__ +#define __java_beans_PropertyVetoException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class PropertyVetoException; + } + } +} + +class java::beans::PropertyVetoException : public ::java::lang::Exception +{ + +public: + PropertyVetoException(::java::lang::String *, ::java::beans::PropertyChangeEvent *); + virtual ::java::beans::PropertyChangeEvent * getPropertyChangeEvent(); +private: + static const jlong serialVersionUID = 129596057694162164LL; + ::java::beans::PropertyChangeEvent * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) evt; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_PropertyVetoException__ diff --git a/libjava/java/beans/SimpleBeanInfo.h b/libjava/java/beans/SimpleBeanInfo.h new file mode 100644 index 00000000000..ea77e474305 --- /dev/null +++ b/libjava/java/beans/SimpleBeanInfo.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_SimpleBeanInfo__ +#define __java_beans_SimpleBeanInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + } + namespace beans + { + class BeanDescriptor; + class BeanInfo; + class EventSetDescriptor; + class MethodDescriptor; + class PropertyDescriptor; + class SimpleBeanInfo; + } + } +} + +class java::beans::SimpleBeanInfo : public ::java::lang::Object +{ + +public: + SimpleBeanInfo(); + virtual ::java::beans::BeanDescriptor * getBeanDescriptor(); + virtual JArray< ::java::beans::EventSetDescriptor * > * getEventSetDescriptors(); + virtual jint getDefaultEventIndex(); + virtual JArray< ::java::beans::PropertyDescriptor * > * getPropertyDescriptors(); + virtual jint getDefaultPropertyIndex(); + virtual JArray< ::java::beans::MethodDescriptor * > * getMethodDescriptors(); + virtual JArray< ::java::beans::BeanInfo * > * getAdditionalBeanInfo(); + virtual ::java::awt::Image * getIcon(jint); + virtual ::java::awt::Image * loadImage(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_beans_SimpleBeanInfo__ diff --git a/libjava/java/beans/Statement.h b/libjava/java/beans/Statement.h new file mode 100644 index 00000000000..3df8477b4cf --- /dev/null +++ b/libjava/java/beans/Statement.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Statement__ +#define __java_beans_Statement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class Statement; + } + } +} + +class java::beans::Statement : public ::java::lang::Object +{ + +public: + Statement(::java::lang::Object *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual void execute(); +private: + ::java::lang::Class * unwrap(::java::lang::Class *); + jboolean compatible(JArray< ::java::lang::Class * > *, JArray< ::java::lang::Class * > *); + jboolean moreSpecific(JArray< ::java::lang::Class * > *, JArray< ::java::lang::Class * > *); +public: // actually package-private + virtual ::java::lang::Object * doExecute(); +public: + virtual JArray< ::java::lang::Object * > * getArguments(); + virtual ::java::lang::String * getMethodName(); + virtual ::java::lang::Object * getTarget(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target; + ::java::lang::String * methodName; + JArray< ::java::lang::Object * > * arguments; + ::java::lang::reflect::Method * method; + ::java::lang::reflect::Constructor * ctor; + static JArray< ::java::lang::Class * > * wrappers; + static JArray< ::java::lang::Class * > * natives; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_Statement__ diff --git a/libjava/java/beans/VetoableChangeListener.h b/libjava/java/beans/VetoableChangeListener.h new file mode 100644 index 00000000000..2bf9d1d07f1 --- /dev/null +++ b/libjava/java/beans/VetoableChangeListener.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_VetoableChangeListener__ +#define __java_beans_VetoableChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class VetoableChangeListener; + } + } +} + +class java::beans::VetoableChangeListener : public ::java::lang::Object +{ + +public: + virtual void vetoableChange(::java::beans::PropertyChangeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_VetoableChangeListener__ diff --git a/libjava/java/beans/VetoableChangeListenerProxy.h b/libjava/java/beans/VetoableChangeListenerProxy.h new file mode 100644 index 00000000000..f713ac432b6 --- /dev/null +++ b/libjava/java/beans/VetoableChangeListenerProxy.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_VetoableChangeListenerProxy__ +#define __java_beans_VetoableChangeListenerProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class VetoableChangeListener; + class VetoableChangeListenerProxy; + } + } +} + +class java::beans::VetoableChangeListenerProxy : public ::java::util::EventListenerProxy +{ + +public: + VetoableChangeListenerProxy(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void vetoableChange(::java::beans::PropertyChangeEvent *); + virtual ::java::lang::String * getPropertyName(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventListenerProxy)))) propertyName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_VetoableChangeListenerProxy__ diff --git a/libjava/java/beans/VetoableChangeSupport.h b/libjava/java/beans/VetoableChangeSupport.h new file mode 100644 index 00000000000..9dfdbc589e9 --- /dev/null +++ b/libjava/java/beans/VetoableChangeSupport.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_VetoableChangeSupport__ +#define __java_beans_VetoableChangeSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class VetoableChangeListener; + class VetoableChangeSupport; + } + } +} + +class java::beans::VetoableChangeSupport : public ::java::lang::Object +{ + +public: + VetoableChangeSupport(::java::lang::Object *); + virtual void addVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual void removeVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(); + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(::java::lang::String *); + virtual void fireVetoableChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual void fireVetoableChange(::java::lang::String *, jint, jint); + virtual void fireVetoableChange(::java::lang::String *, jboolean, jboolean); + virtual void fireVetoableChange(::java::beans::PropertyChangeEvent *); + virtual jboolean hasListeners(::java::lang::String *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -5090210921595982017LL; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children; + ::java::lang::Object * source; + static const jint vetoableChangeSupportSerializedDataVersion = 2; + ::java::util::Vector * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_VetoableChangeSupport__ diff --git a/libjava/java/beans/Visibility.h b/libjava/java/beans/Visibility.h new file mode 100644 index 00000000000..df5f7a62815 --- /dev/null +++ b/libjava/java/beans/Visibility.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_Visibility__ +#define __java_beans_Visibility__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class Visibility; + } + } +} + +class java::beans::Visibility : public ::java::lang::Object +{ + +public: + virtual jboolean needsGui() = 0; + virtual jboolean avoidingGui() = 0; + virtual void dontUseGui() = 0; + virtual void okToUseGui() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_Visibility__ diff --git a/libjava/java/beans/XMLDecoder.h b/libjava/java/beans/XMLDecoder.h new file mode 100644 index 00000000000..f5055c4f66d --- /dev/null +++ b/libjava/java/beans/XMLDecoder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_XMLDecoder__ +#define __java_beans_XMLDecoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class ExceptionListener; + class XMLDecoder; + } + } +} + +class java::beans::XMLDecoder : public ::java::lang::Object +{ + +public: + XMLDecoder(::java::io::InputStream *); + XMLDecoder(::java::io::InputStream *, ::java::lang::Object *); + XMLDecoder(::java::io::InputStream *, ::java::lang::Object *, ::java::beans::ExceptionListener *); + XMLDecoder(::java::io::InputStream *, ::java::lang::Object *, ::java::beans::ExceptionListener *, ::java::lang::ClassLoader *); + virtual void close(); + virtual ::java::beans::ExceptionListener * getExceptionListener(); + virtual ::java::lang::Object * getOwner(); + virtual ::java::lang::Object * readObject(); + virtual void setExceptionListener(::java::beans::ExceptionListener *); + virtual void setOwner(::java::lang::Object *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) owner; + ::java::beans::ExceptionListener * exceptionListener; + ::java::io::InputStream * inputStream; + jboolean isStreamClosed; + ::java::lang::ClassLoader * classLoader; + ::java::util::Iterator * iterator; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_XMLDecoder__ diff --git a/libjava/java/beans/XMLEncoder.h b/libjava/java/beans/XMLEncoder.h new file mode 100644 index 00000000000..3a6e01df100 --- /dev/null +++ b/libjava/java/beans/XMLEncoder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_XMLEncoder__ +#define __java_beans_XMLEncoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace beans + { + namespace encoder + { + class ScanEngine; + } + } + } + } + namespace java + { + namespace beans + { + class Expression; + class Statement; + class XMLEncoder; + } + } +} + +class java::beans::XMLEncoder : public ::java::beans::Encoder +{ + +public: + XMLEncoder(::java::io::OutputStream *); + virtual void close(); + virtual void flush(); + virtual void writeExpression(::java::beans::Expression *); + virtual void writeStatement(::java::beans::Statement *); + virtual void writeObject(::java::lang::Object *); + virtual void setOwner(::java::lang::Object *); + virtual ::java::lang::Object * getOwner(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::beans::Encoder)))) owner; + ::java::lang::Exception * exception; + ::gnu::java::beans::encoder::ScanEngine * scanEngine; +private: + jint accessCounter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_XMLEncoder__ diff --git a/libjava/java/beans/beancontext/BeanContext.h b/libjava/java/beans/beancontext/BeanContext.h new file mode 100644 index 00000000000..e9935e0ea2d --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContext.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContext__ +#define __java_beans_beancontext_BeanContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + class VetoableChangeListener; + namespace beancontext + { + class BeanContext; + class BeanContextChild; + class BeanContextMembershipListener; + } + } + namespace net + { + class URL; + } + } +} + +class java::beans::beancontext::BeanContext : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * instantiateChild(::java::lang::String *) = 0; + virtual ::java::net::URL * getResource(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *) = 0; + virtual ::java::io::InputStream * getResourceAsStream(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *) = 0; + virtual void addBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *) = 0; + virtual void removeBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + virtual void setBeanContext(::java::beans::beancontext::BeanContext *) = 0; + virtual ::java::beans::beancontext::BeanContext * getBeanContext() = 0; + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0; + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0; + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0; + virtual jboolean needsGui() = 0; + virtual jboolean avoidingGui() = 0; + virtual void dontUseGui() = 0; + virtual void okToUseGui() = 0; + virtual void setDesignTime(jboolean) = 0; + virtual jboolean isDesignTime() = 0; + static ::java::lang::Object * globalHierarchyLock; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContext__ diff --git a/libjava/java/beans/beancontext/BeanContextChild.h b/libjava/java/beans/beancontext/BeanContextChild.h new file mode 100644 index 00000000000..0e1c8685f35 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextChild.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextChild__ +#define __java_beans_beancontext_BeanContextChild__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + class VetoableChangeListener; + namespace beancontext + { + class BeanContext; + class BeanContextChild; + } + } + } +} + +class java::beans::beancontext::BeanContextChild : public ::java::lang::Object +{ + +public: + virtual void setBeanContext(::java::beans::beancontext::BeanContext *) = 0; + virtual ::java::beans::beancontext::BeanContext * getBeanContext() = 0; + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0; + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0; + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextChild__ diff --git a/libjava/java/beans/beancontext/BeanContextChildComponentProxy.h b/libjava/java/beans/beancontext/BeanContextChildComponentProxy.h new file mode 100644 index 00000000000..7e515669f6f --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextChildComponentProxy.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextChildComponentProxy__ +#define __java_beans_beancontext_BeanContextChildComponentProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + namespace beans + { + namespace beancontext + { + class BeanContextChildComponentProxy; + } + } + } +} + +class java::beans::beancontext::BeanContextChildComponentProxy : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getComponent() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextChildComponentProxy__ diff --git a/libjava/java/beans/beancontext/BeanContextChildSupport.h b/libjava/java/beans/beancontext/BeanContextChildSupport.h new file mode 100644 index 00000000000..646217b30f0 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextChildSupport.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextChildSupport__ +#define __java_beans_beancontext_BeanContextChildSupport__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + class VetoableChangeListener; + class VetoableChangeSupport; + namespace beancontext + { + class BeanContext; + class BeanContextChild; + class BeanContextChildSupport; + class BeanContextServiceAvailableEvent; + class BeanContextServiceRevokedEvent; + } + } + } +} + +class java::beans::beancontext::BeanContextChildSupport : public ::java::lang::Object +{ + +public: + BeanContextChildSupport(); + BeanContextChildSupport(::java::beans::beancontext::BeanContextChild *); + virtual void setBeanContext(::java::beans::beancontext::BeanContext *); + virtual ::java::beans::beancontext::BeanContext * getBeanContext(); + virtual ::java::beans::beancontext::BeanContextChild * getBeanContextChildPeer(); + virtual jboolean isDelegated(); + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual void fireVetoableChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *); + virtual void serviceAvailable(::java::beans::beancontext::BeanContextServiceAvailableEvent *); + virtual jboolean validatePendingSetBeanContext(::java::beans::beancontext::BeanContext *); +public: // actually protected + virtual void releaseBeanContextResources(); + virtual void initializeBeanContextResources(); +public: // actually package-private + static const jlong serialVersionUID = 6328947014421475877LL; +public: + ::java::beans::beancontext::BeanContextChild * __attribute__((aligned(__alignof__( ::java::lang::Object)))) beanContextChildPeer; +public: // actually protected + ::java::beans::beancontext::BeanContext * beanContext; + jboolean rejectedSetBCOnce; + ::java::beans::PropertyChangeSupport * pcSupport; + ::java::beans::VetoableChangeSupport * vcSupport; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextChildSupport__ diff --git a/libjava/java/beans/beancontext/BeanContextContainerProxy.h b/libjava/java/beans/beancontext/BeanContextContainerProxy.h new file mode 100644 index 00000000000..c3574f5db46 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextContainerProxy.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextContainerProxy__ +#define __java_beans_beancontext_BeanContextContainerProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + } + namespace beans + { + namespace beancontext + { + class BeanContextContainerProxy; + } + } + } +} + +class java::beans::beancontext::BeanContextContainerProxy : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Container * getContainer() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextContainerProxy__ diff --git a/libjava/java/beans/beancontext/BeanContextEvent.h b/libjava/java/beans/beancontext/BeanContextEvent.h new file mode 100644 index 00000000000..a74c1da045e --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextEvent.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextEvent__ +#define __java_beans_beancontext_BeanContextEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContext; + class BeanContextEvent; + } + } + } +} + +class java::beans::beancontext::BeanContextEvent : public ::java::util::EventObject +{ + +public: // actually protected + BeanContextEvent(::java::beans::beancontext::BeanContext *); +public: + virtual ::java::beans::beancontext::BeanContext * getBeanContext(); + virtual ::java::beans::beancontext::BeanContext * getPropagatedFrom(); + virtual jboolean isPropagated(); + virtual void setPropagatedFrom(::java::beans::beancontext::BeanContext *); +private: + static const jlong serialVersionUID = 7267998073569045052LL; +public: // actually protected + ::java::beans::beancontext::BeanContext * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) propagatedFrom; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextEvent__ diff --git a/libjava/java/beans/beancontext/BeanContextMembershipEvent.h b/libjava/java/beans/beancontext/BeanContextMembershipEvent.h new file mode 100644 index 00000000000..8b6c933bb34 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextMembershipEvent.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextMembershipEvent__ +#define __java_beans_beancontext_BeanContextMembershipEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContext; + class BeanContextMembershipEvent; + } + } + } +} + +class java::beans::beancontext::BeanContextMembershipEvent : public ::java::beans::beancontext::BeanContextEvent +{ + +public: + BeanContextMembershipEvent(::java::beans::beancontext::BeanContext *, ::java::util::Collection *); + BeanContextMembershipEvent(::java::beans::beancontext::BeanContext *, JArray< ::java::lang::Object * > *); + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual jboolean contains(::java::lang::Object *); +private: + static const jlong serialVersionUID = 3499346510334590959LL; +public: // actually protected + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextEvent)))) children; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextMembershipEvent__ diff --git a/libjava/java/beans/beancontext/BeanContextMembershipListener.h b/libjava/java/beans/beancontext/BeanContextMembershipListener.h new file mode 100644 index 00000000000..89efed826f9 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextMembershipListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextMembershipListener__ +#define __java_beans_beancontext_BeanContextMembershipListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextMembershipEvent; + class BeanContextMembershipListener; + } + } + } +} + +class java::beans::beancontext::BeanContextMembershipListener : public ::java::lang::Object +{ + +public: + virtual void childrenAdded(::java::beans::beancontext::BeanContextMembershipEvent *) = 0; + virtual void childrenRemoved(::java::beans::beancontext::BeanContextMembershipEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextMembershipListener__ diff --git a/libjava/java/beans/beancontext/BeanContextProxy.h b/libjava/java/beans/beancontext/BeanContextProxy.h new file mode 100644 index 00000000000..3d18c0a81e8 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextProxy.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextProxy__ +#define __java_beans_beancontext_BeanContextProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextChild; + class BeanContextProxy; + } + } + } +} + +class java::beans::beancontext::BeanContextProxy : public ::java::lang::Object +{ + +public: + virtual ::java::beans::beancontext::BeanContextChild * getBeanContextProxy() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextProxy__ diff --git a/libjava/java/beans/beancontext/BeanContextServiceAvailableEvent.h b/libjava/java/beans/beancontext/BeanContextServiceAvailableEvent.h new file mode 100644 index 00000000000..7b69fe82b2f --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServiceAvailableEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServiceAvailableEvent__ +#define __java_beans_beancontext_BeanContextServiceAvailableEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceAvailableEvent; + class BeanContextServices; + } + } + } +} + +class java::beans::beancontext::BeanContextServiceAvailableEvent : public ::java::beans::beancontext::BeanContextEvent +{ + +public: + BeanContextServiceAvailableEvent(::java::beans::beancontext::BeanContextServices *, ::java::lang::Class *); + virtual ::java::util::Iterator * getCurrentServiceSelectors(); + virtual ::java::lang::Class * getServiceClass(); + virtual ::java::beans::beancontext::BeanContextServices * getSourceAsBeanContextServices(); +private: + static const jlong serialVersionUID = -5333985775656400778LL; +public: // actually protected + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextEvent)))) serviceClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServiceAvailableEvent__ diff --git a/libjava/java/beans/beancontext/BeanContextServiceProvider.h b/libjava/java/beans/beancontext/BeanContextServiceProvider.h new file mode 100644 index 00000000000..937bd5dec86 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServiceProvider.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServiceProvider__ +#define __java_beans_beancontext_BeanContextServiceProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceProvider; + class BeanContextServices; + } + } + } +} + +class java::beans::beancontext::BeanContextServiceProvider : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getService(::java::beans::beancontext::BeanContextServices *, ::java::lang::Object *, ::java::lang::Class *, ::java::lang::Object *) = 0; + virtual void releaseService(::java::beans::beancontext::BeanContextServices *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::Iterator * getCurrentServiceSelectors(::java::beans::beancontext::BeanContextServices *, ::java::lang::Class *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextServiceProvider__ diff --git a/libjava/java/beans/beancontext/BeanContextServiceProviderBeanInfo.h b/libjava/java/beans/beancontext/BeanContextServiceProviderBeanInfo.h new file mode 100644 index 00000000000..952edd1e079 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServiceProviderBeanInfo.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServiceProviderBeanInfo__ +#define __java_beans_beancontext_BeanContextServiceProviderBeanInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + } + namespace beans + { + class BeanDescriptor; + class BeanInfo; + class EventSetDescriptor; + class MethodDescriptor; + class PropertyDescriptor; + namespace beancontext + { + class BeanContextServiceProviderBeanInfo; + } + } + } +} + +class java::beans::beancontext::BeanContextServiceProviderBeanInfo : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::beans::BeanInfo * > * getServicesBeanInfo() = 0; + virtual ::java::beans::BeanDescriptor * getBeanDescriptor() = 0; + virtual JArray< ::java::beans::EventSetDescriptor * > * getEventSetDescriptors() = 0; + virtual jint getDefaultEventIndex() = 0; + virtual JArray< ::java::beans::PropertyDescriptor * > * getPropertyDescriptors() = 0; + virtual jint getDefaultPropertyIndex() = 0; + virtual JArray< ::java::beans::MethodDescriptor * > * getMethodDescriptors() = 0; + virtual JArray< ::java::beans::BeanInfo * > * getAdditionalBeanInfo() = 0; + virtual ::java::awt::Image * getIcon(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextServiceProviderBeanInfo__ diff --git a/libjava/java/beans/beancontext/BeanContextServiceRevokedEvent.h b/libjava/java/beans/beancontext/BeanContextServiceRevokedEvent.h new file mode 100644 index 00000000000..700da3ac419 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServiceRevokedEvent.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServiceRevokedEvent__ +#define __java_beans_beancontext_BeanContextServiceRevokedEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceRevokedEvent; + class BeanContextServices; + } + } + } +} + +class java::beans::beancontext::BeanContextServiceRevokedEvent : public ::java::beans::beancontext::BeanContextEvent +{ + +public: + BeanContextServiceRevokedEvent(::java::beans::beancontext::BeanContextServices *, ::java::lang::Class *, jboolean); + virtual ::java::lang::Class * getServiceClass(); + virtual jboolean isServiceClass(::java::lang::Class *); + virtual ::java::beans::beancontext::BeanContextServices * getSourceAsBeanContextServices(); + virtual jboolean isCurrentServiceInvalidNow(); +private: + static const jlong serialVersionUID = -1295543154724961754LL; +public: // actually protected + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextEvent)))) serviceClass; +private: + jboolean invalidateRefs; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServiceRevokedEvent__ diff --git a/libjava/java/beans/beancontext/BeanContextServiceRevokedListener.h b/libjava/java/beans/beancontext/BeanContextServiceRevokedListener.h new file mode 100644 index 00000000000..c74f48a087e --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServiceRevokedListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServiceRevokedListener__ +#define __java_beans_beancontext_BeanContextServiceRevokedListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceRevokedEvent; + class BeanContextServiceRevokedListener; + } + } + } +} + +class java::beans::beancontext::BeanContextServiceRevokedListener : public ::java::lang::Object +{ + +public: + virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextServiceRevokedListener__ diff --git a/libjava/java/beans/beancontext/BeanContextServices.h b/libjava/java/beans/beancontext/BeanContextServices.h new file mode 100644 index 00000000000..fd67419768e --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServices.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServices__ +#define __java_beans_beancontext_BeanContextServices__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + class VetoableChangeListener; + namespace beancontext + { + class BeanContext; + class BeanContextChild; + class BeanContextMembershipListener; + class BeanContextServiceAvailableEvent; + class BeanContextServiceProvider; + class BeanContextServiceRevokedEvent; + class BeanContextServiceRevokedListener; + class BeanContextServices; + class BeanContextServicesListener; + } + } + namespace net + { + class URL; + } + } +} + +class java::beans::beancontext::BeanContextServices : public ::java::lang::Object +{ + +public: + virtual jboolean addService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *) = 0; + virtual void revokeService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *, jboolean) = 0; + virtual void releaseService(::java::beans::beancontext::BeanContextChild *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getService(::java::beans::beancontext::BeanContextChild *, ::java::lang::Object *, ::java::lang::Class *, ::java::lang::Object *, ::java::beans::beancontext::BeanContextServiceRevokedListener *) = 0; + virtual ::java::util::Iterator * getCurrentServiceClasses() = 0; + virtual ::java::util::Iterator * getCurrentServiceSelectors(::java::lang::Class *) = 0; + virtual jboolean hasService(::java::lang::Class *) = 0; + virtual void addBeanContextServicesListener(::java::beans::beancontext::BeanContextServicesListener *) = 0; + virtual void removeBeanContextServicesListener(::java::beans::beancontext::BeanContextServicesListener *) = 0; + virtual ::java::lang::Object * instantiateChild(::java::lang::String *) = 0; + virtual ::java::net::URL * getResource(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *) = 0; + virtual ::java::io::InputStream * getResourceAsStream(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *) = 0; + virtual void addBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *) = 0; + virtual void removeBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + virtual void setBeanContext(::java::beans::beancontext::BeanContext *) = 0; + virtual ::java::beans::beancontext::BeanContext * getBeanContext() = 0; + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *) = 0; + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0; + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *) = 0; + virtual jboolean needsGui() = 0; + virtual jboolean avoidingGui() = 0; + virtual void dontUseGui() = 0; + virtual void okToUseGui() = 0; + virtual void setDesignTime(jboolean) = 0; + virtual jboolean isDesignTime() = 0; + virtual void serviceAvailable(::java::beans::beancontext::BeanContextServiceAvailableEvent *) = 0; + virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextServices__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesListener.h b/libjava/java/beans/beancontext/BeanContextServicesListener.h new file mode 100644 index 00000000000..2be3753497d --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesListener__ +#define __java_beans_beancontext_BeanContextServicesListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceAvailableEvent; + class BeanContextServiceRevokedEvent; + class BeanContextServicesListener; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesListener : public ::java::lang::Object +{ + +public: + virtual void serviceAvailable(::java::beans::beancontext::BeanContextServiceAvailableEvent *) = 0; + virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_beans_beancontext_BeanContextServicesListener__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.h b/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.h new file mode 100644 index 00000000000..d74827c1335 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSChild.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport$BCSSChild__ +#define __java_beans_beancontext_BeanContextServicesSupport$BCSSChild__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServicesSupport; + class BeanContextServicesSupport$BCSSChild; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport$BCSSChild : public ::java::beans::beancontext::BeanContextSupport$BCSChild +{ + +public: // actually package-private + BeanContextServicesSupport$BCSSChild(::java::beans::beancontext::BeanContextServicesSupport *, ::java::lang::Object *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = -3263851306889194873LL; +public: // actually package-private + ::java::beans::beancontext::BeanContextServicesSupport * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextSupport$BCSChild)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport$BCSSChild__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.h b/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.h new file mode 100644 index 00000000000..f5b8392f1ba --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSProxyServiceProvider.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport$BCSSProxyServiceProvider__ +#define __java_beans_beancontext_BeanContextServicesSupport$BCSSProxyServiceProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceProvider; + class BeanContextServiceRevokedEvent; + class BeanContextServices; + class BeanContextServicesSupport; + class BeanContextServicesSupport$BCSSProxyServiceProvider; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport$BCSSProxyServiceProvider : public ::java::lang::Object +{ + + BeanContextServicesSupport$BCSSProxyServiceProvider(::java::beans::beancontext::BeanContextServicesSupport *, ::java::beans::beancontext::BeanContextServiceProvider *); +public: + virtual ::java::util::Iterator * getCurrentServiceSelectors(::java::beans::beancontext::BeanContextServices *, ::java::lang::Class *); + virtual ::java::lang::Object * getService(::java::beans::beancontext::BeanContextServices *, ::java::lang::Object *, ::java::lang::Class *, ::java::lang::Object *); + virtual void releaseService(::java::beans::beancontext::BeanContextServices *, ::java::lang::Object *, ::java::lang::Object *); + virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *); +private: + static const jlong serialVersionUID = 7078212910685744490LL; + ::java::beans::beancontext::BeanContextServiceProvider * __attribute__((aligned(__alignof__( ::java::lang::Object)))) provider; +public: // actually package-private + ::java::beans::beancontext::BeanContextServicesSupport * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport$BCSSProxyServiceProvider__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.h b/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.h new file mode 100644 index 00000000000..999ce912fd9 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport$BCSSServiceProvider.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport$BCSSServiceProvider__ +#define __java_beans_beancontext_BeanContextServicesSupport$BCSSServiceProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceProvider; + class BeanContextServicesSupport$BCSSServiceProvider; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport$BCSSServiceProvider : public ::java::lang::Object +{ + + BeanContextServicesSupport$BCSSServiceProvider(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *); +public: // actually protected + virtual ::java::beans::beancontext::BeanContextServiceProvider * getServiceProvider(); +private: + ::java::lang::Class * getServiceClass(); +public: // actually package-private + static ::java::lang::Class * access$0(::java::beans::beancontext::BeanContextServicesSupport$BCSSServiceProvider *); + BeanContextServicesSupport$BCSSServiceProvider(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *, ::java::beans::beancontext::BeanContextServicesSupport$BCSSServiceProvider *); +private: + static const jlong serialVersionUID = 861278251667444782LL; +public: // actually protected + ::java::beans::beancontext::BeanContextServiceProvider * __attribute__((aligned(__alignof__( ::java::lang::Object)))) serviceProvider; +private: + ::java::lang::Class * serviceClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport$BCSSServiceProvider__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport$Request.h b/libjava/java/beans/beancontext/BeanContextServicesSupport$Request.h new file mode 100644 index 00000000000..64fb227665c --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport$Request.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport$Request__ +#define __java_beans_beancontext_BeanContextServicesSupport$Request__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServicesSupport$Request; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport$Request : public ::java::lang::Object +{ + +public: + BeanContextServicesSupport$Request(::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getRequestor(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) requestor; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport$Request__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.h b/libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.h new file mode 100644 index 00000000000..0f6a32ea122 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceLease.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport$ServiceLease__ +#define __java_beans_beancontext_BeanContextServicesSupport$ServiceLease__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServicesSupport$ServiceLease; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport$ServiceLease : public ::java::beans::beancontext::BeanContextServicesSupport$Request +{ + +public: + BeanContextServicesSupport$ServiceLease(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getService(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextServicesSupport$Request)))) service; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport$ServiceLease__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.h b/libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.h new file mode 100644 index 00000000000..24465df7028 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport$ServiceRequest.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport$ServiceRequest__ +#define __java_beans_beancontext_BeanContextServicesSupport$ServiceRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextServiceRevokedListener; + class BeanContextServicesSupport$ServiceRequest; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport$ServiceRequest : public ::java::beans::beancontext::BeanContextServicesSupport$Request +{ + +public: + BeanContextServicesSupport$ServiceRequest(::java::lang::Object *, ::java::beans::beancontext::BeanContextServiceRevokedListener *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::beans::beancontext::BeanContextServiceRevokedListener * getListener(); +private: + ::java::beans::beancontext::BeanContextServiceRevokedListener * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextServicesSupport$Request)))) listener; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport$ServiceRequest__ diff --git a/libjava/java/beans/beancontext/BeanContextServicesSupport.h b/libjava/java/beans/beancontext/BeanContextServicesSupport.h new file mode 100644 index 00000000000..f16583166b5 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextServicesSupport.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextServicesSupport__ +#define __java_beans_beancontext_BeanContextServicesSupport__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextChild; + class BeanContextServiceAvailableEvent; + class BeanContextServiceProvider; + class BeanContextServiceRevokedEvent; + class BeanContextServiceRevokedListener; + class BeanContextServices; + class BeanContextServicesListener; + class BeanContextServicesSupport; + class BeanContextServicesSupport$BCSSProxyServiceProvider; + class BeanContextServicesSupport$BCSSServiceProvider; + class BeanContextSupport$BCSChild; + } + } + } +} + +class java::beans::beancontext::BeanContextServicesSupport : public ::java::beans::beancontext::BeanContextSupport +{ + +public: + BeanContextServicesSupport(); + BeanContextServicesSupport(::java::beans::beancontext::BeanContextServices *); + BeanContextServicesSupport(::java::beans::beancontext::BeanContextServices *, ::java::util::Locale *); + BeanContextServicesSupport(::java::beans::beancontext::BeanContextServices *, ::java::util::Locale *, jboolean); + BeanContextServicesSupport(::java::beans::beancontext::BeanContextServices *, ::java::util::Locale *, jboolean, jboolean); + virtual void addBeanContextServicesListener(::java::beans::beancontext::BeanContextServicesListener *); + virtual jboolean addService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *); +public: // actually protected + virtual jboolean addService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *, jboolean); + virtual void bcsPreDeserializationHook(::java::io::ObjectInputStream *); + virtual void bcsPreSerializationHook(::java::io::ObjectOutputStream *); + virtual void childJustRemovedHook(::java::lang::Object *, ::java::beans::beancontext::BeanContextSupport$BCSChild *); + virtual ::java::beans::beancontext::BeanContextSupport$BCSChild * createBCSChild(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::beans::beancontext::BeanContextServicesSupport$BCSSServiceProvider * createBCSSServiceProvider(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *); + virtual void fireServiceAdded(::java::beans::beancontext::BeanContextServiceAvailableEvent *); + virtual void fireServiceAdded(::java::lang::Class *); + virtual void fireServiceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *); + virtual void fireServiceRevoked(::java::lang::Class *, jboolean); +public: + virtual ::java::beans::beancontext::BeanContextServices * getBeanContextServicesPeer(); +public: // actually protected + static ::java::beans::beancontext::BeanContextServicesListener * getChildBeanContextServicesListener(::java::lang::Object *); +public: + virtual ::java::util::Iterator * getCurrentServiceClasses(); + virtual ::java::util::Iterator * getCurrentServiceSelectors(::java::lang::Class *); + virtual ::java::lang::Object * getService(::java::beans::beancontext::BeanContextChild *, ::java::lang::Object *, ::java::lang::Class *, ::java::lang::Object *, ::java::beans::beancontext::BeanContextServiceRevokedListener *); + virtual jboolean hasService(::java::lang::Class *); + virtual void initialize(); +public: // actually protected + virtual void initializeBeanContextResources(); + virtual void releaseBeanContextResources(); +public: + virtual void releaseService(::java::beans::beancontext::BeanContextChild *, ::java::lang::Object *, ::java::lang::Object *); + virtual void removeBeanContextServicesListener(::java::beans::beancontext::BeanContextServicesListener *); + virtual void revokeService(::java::lang::Class *, ::java::beans::beancontext::BeanContextServiceProvider *, jboolean); + virtual void serviceAvailable(::java::beans::beancontext::BeanContextServiceAvailableEvent *); + virtual void serviceRevoked(::java::beans::beancontext::BeanContextServiceRevokedEvent *); +private: + static const jlong serialVersionUID = -8494482757288719206LL; +public: // actually protected + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextSupport)))) bcsListeners; + ::java::beans::beancontext::BeanContextServicesSupport$BCSSProxyServiceProvider * proxy; + jint serializable; + ::java::util::HashMap * services; +private: + ::java::util::HashMap * serviceUsers; + ::java::util::HashMap * serviceRequests; + ::java::util::HashMap * serviceLeases; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextServicesSupport__ diff --git a/libjava/java/beans/beancontext/BeanContextSupport$BCSChild.h b/libjava/java/beans/beancontext/BeanContextSupport$BCSChild.h new file mode 100644 index 00000000000..40720fb5748 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextSupport$BCSChild.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextSupport$BCSChild__ +#define __java_beans_beancontext_BeanContextSupport$BCSChild__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextSupport; + class BeanContextSupport$BCSChild; + } + } + } +} + +class java::beans::beancontext::BeanContextSupport$BCSChild : public ::java::lang::Object +{ + +public: // actually package-private + BeanContextSupport$BCSChild(::java::beans::beancontext::BeanContextSupport *, ::java::lang::Object *, ::java::lang::Object *); +private: + ::java::lang::Object * getTargetChild(); +public: // actually package-private + static ::java::lang::Object * access$0(::java::beans::beancontext::BeanContextSupport$BCSChild *); +private: + static const jlong serialVersionUID = -5815286101609939109LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) targetChild; + ::java::lang::Object * peer; +public: // actually package-private + ::java::beans::beancontext::BeanContextSupport * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextSupport$BCSChild__ diff --git a/libjava/java/beans/beancontext/BeanContextSupport$BCSIterator.h b/libjava/java/beans/beancontext/BeanContextSupport$BCSIterator.h new file mode 100644 index 00000000000..551697939f0 --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextSupport$BCSIterator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextSupport$BCSIterator__ +#define __java_beans_beancontext_BeanContextSupport$BCSIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + namespace beancontext + { + class BeanContextSupport$BCSIterator; + } + } + } +} + +class java::beans::beancontext::BeanContextSupport$BCSIterator : public ::java::lang::Object +{ + +public: // actually package-private + BeanContextSupport$BCSIterator(::java::util::Iterator *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) child; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextSupport$BCSIterator__ diff --git a/libjava/java/beans/beancontext/BeanContextSupport.h b/libjava/java/beans/beancontext/BeanContextSupport.h new file mode 100644 index 00000000000..36678b520ca --- /dev/null +++ b/libjava/java/beans/beancontext/BeanContextSupport.h @@ -0,0 +1,136 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_beans_beancontext_BeanContextSupport__ +#define __java_beans_beancontext_BeanContextSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + class PropertyChangeListener; + class VetoableChangeListener; + class Visibility; + namespace beancontext + { + class BeanContext; + class BeanContextChild; + class BeanContextMembershipEvent; + class BeanContextMembershipListener; + class BeanContextSupport; + class BeanContextSupport$BCSChild; + } + } + namespace net + { + class URL; + } + } +} + +class java::beans::beancontext::BeanContextSupport : public ::java::beans::beancontext::BeanContextChildSupport +{ + + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + BeanContextSupport(); + BeanContextSupport(::java::beans::beancontext::BeanContext *); + BeanContextSupport(::java::beans::beancontext::BeanContext *, ::java::util::Locale *); + BeanContextSupport(::java::beans::beancontext::BeanContext *, ::java::util::Locale *, jboolean); + BeanContextSupport(::java::beans::beancontext::BeanContext *, ::java::util::Locale *, jboolean, jboolean); + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void addBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *); + virtual jboolean avoidingGui(); +public: // actually protected + virtual ::java::util::Iterator * bcsChildren(); + virtual void bcsPreDeserializationHook(::java::io::ObjectInputStream *); + virtual void bcsPreSerializationHook(::java::io::ObjectOutputStream *); + virtual void childDeserializedHook(::java::lang::Object *, ::java::beans::beancontext::BeanContextSupport$BCSChild *); + virtual void childJustAddedHook(::java::lang::Object *, ::java::beans::beancontext::BeanContextSupport$BCSChild *); + virtual void childJustRemovedHook(::java::lang::Object *, ::java::beans::beancontext::BeanContextSupport$BCSChild *); + static jboolean classEquals(::java::lang::Class *, ::java::lang::Class *); +public: + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean containsKey(::java::lang::Object *); +public: // actually protected + virtual JArray< ::java::lang::Object * > * copyChildren(); + virtual ::java::beans::beancontext::BeanContextSupport$BCSChild * createBCSChild(::java::lang::Object *, ::java::lang::Object *); + virtual void deserialize(::java::io::ObjectInputStream *, ::java::util::Collection *); +public: + virtual void dontUseGui(); +public: // actually protected + virtual void fireChildrenAdded(::java::beans::beancontext::BeanContextMembershipEvent *); + virtual void fireChildrenRemoved(::java::beans::beancontext::BeanContextMembershipEvent *); +public: + virtual ::java::beans::beancontext::BeanContext * getBeanContextPeer(); +public: // actually protected + static ::java::beans::beancontext::BeanContextChild * getChildBeanContextChild(::java::lang::Object *); + static ::java::beans::beancontext::BeanContextMembershipListener * getChildBeanContextMembershipListener(::java::lang::Object *); + static ::java::beans::PropertyChangeListener * getChildPropertyChangeListener(::java::lang::Object *); + static ::java::io::Serializable * getChildSerializable(::java::lang::Object *); + static ::java::beans::VetoableChangeListener * getChildVetoableChangeListener(::java::lang::Object *); + static ::java::beans::Visibility * getChildVisibility(::java::lang::Object *); +public: + virtual ::java::util::Locale * getLocale(); + virtual ::java::net::URL * getResource(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *); + virtual ::java::io::InputStream * getResourceAsStream(::java::lang::String *, ::java::beans::beancontext::BeanContextChild *); +public: // actually protected + virtual void initialize(); +public: + virtual ::java::lang::Object * instantiateChild(::java::lang::String *); + virtual jboolean isDesignTime(); + virtual jboolean isEmpty(); + virtual jboolean isSerializing(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean needsGui(); + virtual void okToUseGui(); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void readChildren(::java::io::ObjectInputStream *); + virtual jboolean remove(::java::lang::Object *); +public: // actually protected + virtual jboolean remove(::java::lang::Object *, jboolean); +public: + virtual jboolean removeAll(::java::util::Collection *); + virtual void removeBeanContextMembershipListener(::java::beans::beancontext::BeanContextMembershipListener *); + virtual jboolean retainAll(::java::util::Collection *); +public: // actually protected + virtual void serialize(::java::io::ObjectOutputStream *, ::java::util::Collection *); +public: + virtual void setDesignTime(jboolean); + virtual void setLocale(::java::util::Locale *); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); +public: // actually protected + virtual jboolean validatePendingAdd(::java::lang::Object *); + virtual jboolean validatePendingRemove(::java::lang::Object *); +public: + virtual void vetoableChange(::java::beans::PropertyChangeEvent *); + virtual void writeChildren(::java::io::ObjectOutputStream *); +private: + static const jlong serialVersionUID = -4879613978649577204LL; +public: // actually protected + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::beans::beancontext::BeanContextChildSupport)))) bcmListeners; + ::java::util::HashMap * children; + jboolean designTime; + ::java::util::Locale * locale; + jboolean okToUseGui__; +private: + jboolean serializing; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_beans_beancontext_BeanContextSupport__ diff --git a/libjava/java/io/BufferedInputStream.h b/libjava/java/io/BufferedInputStream.h new file mode 100644 index 00000000000..d2851da735b --- /dev/null +++ b/libjava/java/io/BufferedInputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_BufferedInputStream__ +#define __java_io_BufferedInputStream__ + +#pragma interface + +#include +#include + + +class java::io::BufferedInputStream : public ::java::io::FilterInputStream +{ + +public: + BufferedInputStream(::java::io::InputStream *); + BufferedInputStream(::java::io::InputStream *, jint); + virtual jint available(); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +public: // actually package-private + virtual jboolean refill(); +private: + static const jint DEFAULT_BUFFER_SIZE = 2048; +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) buf; + jint count; + jint pos; + jint markpos; + jint marklimit; +private: + jint bufferSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_BufferedInputStream__ diff --git a/libjava/java/io/BufferedOutputStream.h b/libjava/java/io/BufferedOutputStream.h new file mode 100644 index 00000000000..ce34567c61b --- /dev/null +++ b/libjava/java/io/BufferedOutputStream.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_BufferedOutputStream__ +#define __java_io_BufferedOutputStream__ + +#pragma interface + +#include +#include + + +class java::io::BufferedOutputStream : public ::java::io::FilterOutputStream +{ + +public: + BufferedOutputStream(::java::io::OutputStream *); + BufferedOutputStream(::java::io::OutputStream *, jint); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); +private: + static const jint DEFAULT_BUFFER_SIZE = 512; +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) buf; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_BufferedOutputStream__ diff --git a/libjava/java/io/BufferedReader.h b/libjava/java/io/BufferedReader.h new file mode 100644 index 00000000000..66d77663a7d --- /dev/null +++ b/libjava/java/io/BufferedReader.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_BufferedReader__ +#define __java_io_BufferedReader__ + +#pragma interface + +#include +#include + + +class java::io::BufferedReader : public ::java::io::Reader +{ + +public: + BufferedReader(::java::io::Reader *); + BufferedReader(::java::io::Reader *, jint); + virtual void close(); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual jboolean ready(); + virtual jint read(JArray< jchar > *, jint, jint); +private: + jint fill(); +public: + virtual jint read(); +private: + jint lineEnd(jint); +public: + virtual ::java::lang::String * readLine(); + virtual jlong skip(jlong); +private: + void checkStatus(); +public: // actually package-private + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::io::Reader)))) in; + JArray< jchar > * buffer; + jint pos; + jint limit; + jint markPos; + static const jint DEFAULT_BUFFER_SIZE = 8192; +private: + ::java::lang::StringBuffer * sbuf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_BufferedReader__ diff --git a/libjava/java/io/BufferedWriter.h b/libjava/java/io/BufferedWriter.h new file mode 100644 index 00000000000..68cfa095e24 --- /dev/null +++ b/libjava/java/io/BufferedWriter.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_BufferedWriter__ +#define __java_io_BufferedWriter__ + +#pragma interface + +#include +#include + + +class java::io::BufferedWriter : public ::java::io::Writer +{ + +public: + BufferedWriter(::java::io::Writer *); + BufferedWriter(::java::io::Writer *, jint); + virtual void close(); + virtual void flush(); + virtual void newLine(); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void write(::java::lang::String *, jint, jint); +private: + void localFlush(); + static const jint DEFAULT_BUFFER_SIZE = 8192; + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::io::Writer)))) out; +public: // actually package-private + JArray< jchar > * buffer; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_BufferedWriter__ diff --git a/libjava/java/io/ByteArrayInputStream.h b/libjava/java/io/ByteArrayInputStream.h new file mode 100644 index 00000000000..85411b3e04c --- /dev/null +++ b/libjava/java/io/ByteArrayInputStream.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ByteArrayInputStream__ +#define __java_io_ByteArrayInputStream__ + +#pragma interface + +#include +#include + + +class java::io::ByteArrayInputStream : public ::java::io::InputStream +{ + +public: + ByteArrayInputStream(JArray< jbyte > *); + ByteArrayInputStream(JArray< jbyte > *, jint, jint); + virtual jint available(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) buf; + jint pos; + jint mark__; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ByteArrayInputStream__ diff --git a/libjava/java/io/ByteArrayOutputStream.h b/libjava/java/io/ByteArrayOutputStream.h new file mode 100644 index 00000000000..907c3d4ec91 --- /dev/null +++ b/libjava/java/io/ByteArrayOutputStream.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ByteArrayOutputStream__ +#define __java_io_ByteArrayOutputStream__ + +#pragma interface + +#include +#include + + +class java::io::ByteArrayOutputStream : public ::java::io::OutputStream +{ + +public: + ByteArrayOutputStream(); + ByteArrayOutputStream(jint); + virtual void reset(); + virtual jint size(); + virtual JArray< jbyte > * toByteArray(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(::java::lang::String *); + virtual ::java::lang::String * toString(jint); +private: + void resize(jint); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void writeTo(::java::io::OutputStream *); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) buf; + jint count; +private: + static const jint DEFAULT_INITIAL_BUFFER_SIZE = 32; + static jint initial_buffer_size; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ByteArrayOutputStream__ diff --git a/libjava/java/io/CharArrayReader.h b/libjava/java/io/CharArrayReader.h new file mode 100644 index 00000000000..f8b8f5d4c95 --- /dev/null +++ b/libjava/java/io/CharArrayReader.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_CharArrayReader__ +#define __java_io_CharArrayReader__ + +#pragma interface + +#include +#include + + +class java::io::CharArrayReader : public ::java::io::Reader +{ + +public: + CharArrayReader(JArray< jchar > *); + CharArrayReader(JArray< jchar > *, jint, jint); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual jboolean ready(); + virtual void reset(); + virtual jlong skip(jlong); +public: // actually protected + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::io::Reader)))) buf; + jint pos; + jint markedPos; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_CharArrayReader__ diff --git a/libjava/java/io/CharArrayWriter.h b/libjava/java/io/CharArrayWriter.h new file mode 100644 index 00000000000..35f49d23b78 --- /dev/null +++ b/libjava/java/io/CharArrayWriter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_CharArrayWriter__ +#define __java_io_CharArrayWriter__ + +#pragma interface + +#include +#include + + +class java::io::CharArrayWriter : public ::java::io::Writer +{ + +public: + CharArrayWriter(); + CharArrayWriter(jint); + virtual void close(); + virtual void flush(); + virtual void reset(); + virtual jint size(); + virtual JArray< jchar > * toCharArray(); + virtual ::java::lang::String * toString(); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void write(::java::lang::String *, jint, jint); + virtual void writeTo(::java::io::Writer *); + virtual ::java::io::CharArrayWriter * target$append(jchar); + virtual ::java::io::CharArrayWriter * target$append(::java::lang::CharSequence *); + virtual ::java::io::CharArrayWriter * target$append(::java::lang::CharSequence *, jint, jint); +private: + void resize(jint); +public: + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *); + virtual ::java::lang::Appendable * append(jchar); + virtual ::java::io::Writer * target$append(jchar); +private: + static const jint DEFAULT_INITIAL_BUFFER_SIZE = 32; +public: // actually protected + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::io::Writer)))) buf; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_CharArrayWriter__ diff --git a/libjava/java/io/CharConversionException.h b/libjava/java/io/CharConversionException.h new file mode 100644 index 00000000000..95034a89b15 --- /dev/null +++ b/libjava/java/io/CharConversionException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_CharConversionException__ +#define __java_io_CharConversionException__ + +#pragma interface + +#include + +class java::io::CharConversionException : public ::java::io::IOException +{ + +public: + CharConversionException(); + CharConversionException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8680016352018427031LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_CharConversionException__ diff --git a/libjava/java/io/Closeable.h b/libjava/java/io/Closeable.h new file mode 100644 index 00000000000..4668f50892f --- /dev/null +++ b/libjava/java/io/Closeable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_Closeable__ +#define __java_io_Closeable__ + +#pragma interface + +#include + +class java::io::Closeable : public ::java::lang::Object +{ + +public: + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_Closeable__ diff --git a/libjava/java/io/DataInput.h b/libjava/java/io/DataInput.h new file mode 100644 index 00000000000..9cb4952ffa7 --- /dev/null +++ b/libjava/java/io/DataInput.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_DataInput__ +#define __java_io_DataInput__ + +#pragma interface + +#include +#include + + +class java::io::DataInput : public ::java::lang::Object +{ + +public: + virtual jboolean readBoolean() = 0; + virtual jbyte readByte() = 0; + virtual jint readUnsignedByte() = 0; + virtual jchar readChar() = 0; + virtual jshort readShort() = 0; + virtual jint readUnsignedShort() = 0; + virtual jint readInt() = 0; + virtual jlong readLong() = 0; + virtual jfloat readFloat() = 0; + virtual jdouble readDouble() = 0; + virtual ::java::lang::String * readLine() = 0; + virtual ::java::lang::String * readUTF() = 0; + virtual void readFully(JArray< jbyte > *) = 0; + virtual void readFully(JArray< jbyte > *, jint, jint) = 0; + virtual jint skipBytes(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_DataInput__ diff --git a/libjava/java/io/DataInputStream.h b/libjava/java/io/DataInputStream.h new file mode 100644 index 00000000000..a7b84590f01 --- /dev/null +++ b/libjava/java/io/DataInputStream.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_DataInputStream__ +#define __java_io_DataInputStream__ + +#pragma interface + +#include +#include + + +class java::io::DataInputStream : public ::java::io::FilterInputStream +{ + +public: + DataInputStream(::java::io::InputStream *); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual jchar readChar(); + virtual jdouble readDouble(); + virtual jfloat readFloat(); + virtual void readFully(JArray< jbyte > *); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual jint readInt(); + virtual ::java::lang::String * readLine(); + virtual jlong readLong(); + virtual jshort readShort(); + virtual jint readUnsignedByte(); + virtual jint readUnsignedShort(); + virtual ::java::lang::String * readUTF(); + static ::java::lang::String * readUTF(::java::io::DataInput *); + virtual jint skipBytes(jint); +public: // actually package-private + static jboolean convertToBoolean(jint); + static jbyte convertToByte(jint); + static jint convertToUnsignedByte(jint); + static jchar convertToChar(JArray< jbyte > *); + static jshort convertToShort(JArray< jbyte > *); + static jint convertToUnsignedShort(JArray< jbyte > *); + static jint convertToInt(JArray< jbyte > *); + static jlong convertToLong(JArray< jbyte > *); + static ::java::lang::String * convertFromUTF(JArray< jbyte > *); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_DataInputStream__ diff --git a/libjava/java/io/DataOutput.h b/libjava/java/io/DataOutput.h new file mode 100644 index 00000000000..f18f5e454cb --- /dev/null +++ b/libjava/java/io/DataOutput.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_DataOutput__ +#define __java_io_DataOutput__ + +#pragma interface + +#include +#include + + +class java::io::DataOutput : public ::java::lang::Object +{ + +public: + virtual void writeBoolean(jboolean) = 0; + virtual void writeByte(jint) = 0; + virtual void writeChar(jint) = 0; + virtual void writeShort(jint) = 0; + virtual void writeInt(jint) = 0; + virtual void writeLong(jlong) = 0; + virtual void writeFloat(jfloat) = 0; + virtual void writeDouble(jdouble) = 0; + virtual void writeBytes(::java::lang::String *) = 0; + virtual void writeChars(::java::lang::String *) = 0; + virtual void writeUTF(::java::lang::String *) = 0; + virtual void write(jint) = 0; + virtual void write(JArray< jbyte > *) = 0; + virtual void write(JArray< jbyte > *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_DataOutput__ diff --git a/libjava/java/io/DataOutputStream.h b/libjava/java/io/DataOutputStream.h new file mode 100644 index 00000000000..0d89dca32bc --- /dev/null +++ b/libjava/java/io/DataOutputStream.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_DataOutputStream__ +#define __java_io_DataOutputStream__ + +#pragma interface + +#include +#include + + +class java::io::DataOutputStream : public ::java::io::FilterOutputStream +{ + +public: + DataOutputStream(::java::io::OutputStream *); + virtual void flush(); + virtual jint size(); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeShort(jint); + virtual void writeChar(jint); + virtual void writeInt(jint); + virtual void writeLong(jlong); + virtual void writeFloat(jfloat); + virtual void writeDouble(jdouble); + virtual void writeBytes(::java::lang::String *); + virtual void writeChars(::java::lang::String *); +private: + jint getUTFlength(::java::lang::String *, jint, jint); +public: + virtual void writeUTF(::java::lang::String *); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) written; +private: + JArray< jbyte > * buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_DataOutputStream__ diff --git a/libjava/java/io/DeleteFileHelper$1.h b/libjava/java/io/DeleteFileHelper$1.h new file mode 100644 index 00000000000..48f56715247 --- /dev/null +++ b/libjava/java/io/DeleteFileHelper$1.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_DeleteFileHelper$1__ +#define __java_io_DeleteFileHelper$1__ + +#pragma interface + +#include + +class java::io::DeleteFileHelper$1 : public ::java::lang::Object +{ + +public: // actually package-private + DeleteFileHelper$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_io_DeleteFileHelper$1__ diff --git a/libjava/java/io/DeleteFileHelper.h b/libjava/java/io/DeleteFileHelper.h new file mode 100644 index 00000000000..9b61c3aab71 --- /dev/null +++ b/libjava/java/io/DeleteFileHelper.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_DeleteFileHelper__ +#define __java_io_DeleteFileHelper__ + +#pragma interface + +#include + +class java::io::DeleteFileHelper : public ::java::lang::Thread +{ + +public: // actually package-private + static void add(::java::io::File *); +private: + static void deleteFiles(); +public: // actually package-private + DeleteFileHelper(); +public: + void run(); +private: + static ::java::util::ArrayList * filesToDelete; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_DeleteFileHelper__ diff --git a/libjava/java/io/EOFException.h b/libjava/java/io/EOFException.h new file mode 100644 index 00000000000..be4b255e7c6 --- /dev/null +++ b/libjava/java/io/EOFException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_EOFException__ +#define __java_io_EOFException__ + +#pragma interface + +#include + +class java::io::EOFException : public ::java::io::IOException +{ + +public: + EOFException(); + EOFException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6433858223774886977LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_EOFException__ diff --git a/libjava/java/io/Externalizable.h b/libjava/java/io/Externalizable.h new file mode 100644 index 00000000000..b74cf0860bc --- /dev/null +++ b/libjava/java/io/Externalizable.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_Externalizable__ +#define __java_io_Externalizable__ + +#pragma interface + +#include + +class java::io::Externalizable : public ::java::lang::Object +{ + +public: + virtual void readExternal(::java::io::ObjectInput *) = 0; + virtual void writeExternal(::java::io::ObjectOutput *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_Externalizable__ diff --git a/libjava/java/io/File.h b/libjava/java/io/File.h new file mode 100644 index 00000000000..35ca3b7dfc6 --- /dev/null +++ b/libjava/java/io/File.h @@ -0,0 +1,150 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_File__ +#define __java_io_File__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + class URL; + } + } +} + +class java::io::File : public ::java::lang::Object +{ + + jlong attr(jint); + jboolean _access(jint); + jboolean _stat(jint); + static void init_native(); +public: + virtual jboolean canRead(); + virtual jboolean canWrite(); +private: + jboolean performCreate(); +public: + virtual jboolean createNewFile(); +private: + jboolean performDelete(); +public: + virtual jboolean delete$(); + virtual jboolean equals(::java::lang::Object *); +private: + jboolean internalExists(); +public: + virtual jboolean exists(); + File(::java::lang::String *); +private: + ::java::lang::String * normalizePath(::java::lang::String *); +public: + File(::java::lang::String *, ::java::lang::String *); + File(::java::io::File *, ::java::lang::String *); + File(::java::net::URI *); + virtual ::java::lang::String * getAbsolutePath(); + virtual ::java::io::File * getAbsoluteFile(); + virtual ::java::lang::String * getCanonicalPath(); + virtual ::java::io::File * getCanonicalFile(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getParent(); + virtual ::java::io::File * getParentFile(); + virtual ::java::lang::String * getPath(); + virtual jint hashCode(); + virtual jboolean isAbsolute(); +private: + jboolean internalIsDirectory(); +public: + virtual jboolean isDirectory(); + virtual jboolean isFile(); + virtual jboolean isHidden(); + virtual jlong lastModified(); + virtual jlong length(); +private: + JArray< ::java::lang::Object * > * performList(::java::io::FilenameFilter *, ::java::io::FileFilter *, ::java::lang::Class *); +public: + virtual JArray< ::java::lang::String * > * list(::java::io::FilenameFilter *); + virtual JArray< ::java::lang::String * > * list(); + virtual JArray< ::java::io::File * > * listFiles(); + virtual JArray< ::java::io::File * > * listFiles(::java::io::FilenameFilter *); + virtual JArray< ::java::io::File * > * listFiles(::java::io::FileFilter *); + virtual ::java::lang::String * toString(); + virtual ::java::net::URI * toURI(); + virtual ::java::net::URL * toURL(); +private: + jboolean performMkdir(); +public: + virtual jboolean mkdir(); +private: + static jboolean mkdirs(::java::io::File *); +public: + virtual jboolean mkdirs(); +private: + static ::java::lang::String * nextValue(); +public: + static ::java::io::File * createTempFile(::java::lang::String *, ::java::lang::String *, ::java::io::File *); +private: + jboolean performSetReadOnly(); +public: + virtual jboolean setReadOnly(); +private: + static JArray< ::java::io::File * > * performListRoots(); +public: + static JArray< ::java::io::File * > * listRoots(); + static ::java::io::File * createTempFile(::java::lang::String *, ::java::lang::String *); + virtual jint compareTo(::java::io::File *); + virtual jint compareTo(::java::lang::Object *); +private: + jboolean performRenameTo(::java::io::File *); +public: + virtual jboolean renameTo(::java::io::File *); +private: + jboolean performSetLastModified(jlong); +public: + virtual jboolean setLastModified(jlong); +private: + void checkWrite(); + void checkRead(); +public: + virtual void deleteOnExit(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 301077366599181567LL; + static const jint READ = 0; + static const jint WRITE = 1; + static const jint EXISTS = 2; + static const jint DIRECTORY = 0; + static const jint ISFILE = 1; + static const jint ISHIDDEN = 2; + static const jint MODIFIED = 0; + static const jint LENGTH = 1; +public: + static ::java::lang::String * separator; +private: + static ::java::lang::String * dupSeparator; +public: + static jchar separatorChar; + static ::java::lang::String * pathSeparator; + static jchar pathSeparatorChar; +public: // actually package-private + static ::java::lang::String * tmpdir; + static jint maxPathLen; + static jboolean caseSensitive; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) path; + static jlong counter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_File__ diff --git a/libjava/java/io/FileDescriptor.h b/libjava/java/io/FileDescriptor.h new file mode 100644 index 00000000000..a3863f331c7 --- /dev/null +++ b/libjava/java/io/FileDescriptor.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileDescriptor__ +#define __java_io_FileDescriptor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class ByteChannel; + } + } + } +} + +class java::io::FileDescriptor : public ::java::lang::Object +{ + +public: + FileDescriptor(); +public: // actually package-private + FileDescriptor(::java::nio::channels::ByteChannel *); +public: + void sync(); + jboolean valid(); + static ::java::io::FileDescriptor * in; + static ::java::io::FileDescriptor * out; + static ::java::io::FileDescriptor * err; +public: // actually package-private + ::java::nio::channels::ByteChannel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) channel; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FileDescriptor__ diff --git a/libjava/java/io/FileDescriptor.java b/libjava/java/io/FileDescriptor.java new file mode 100644 index 00000000000..d300c9cb617 --- /dev/null +++ b/libjava/java/io/FileDescriptor.java @@ -0,0 +1,139 @@ +/* FileDescriptor.java -- Opaque file handle class + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 + 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. */ + + +package java.io; + +import gnu.java.nio.channels.FileChannelImpl; + +import java.nio.channels.ByteChannel; +import java.nio.channels.FileChannel; + +/** + * This class represents an opaque file handle as a Java class. It should + * be used only to pass to other methods that expect an object of this + * type. No system specific information can be obtained from this object. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Tom Tromey (tromey@cygnus.com) + * @date September 24, 1998 + */ +public final class FileDescriptor +{ + /** + * A FileDescriptor representing the system standard input + * stream. This will usually be accessed through the + * System.invariable. + */ + public static final FileDescriptor in + = new FileDescriptor (FileChannelImpl.in); + + /** + * A FileDescriptor representing the system standard output + * stream. This will usually be accessed through the + * System.outvariable. + */ + public static final FileDescriptor out + = new FileDescriptor (FileChannelImpl.out); + + /** + * A FileDescriptor representing the system standard error + * stream. This will usually be accessed through the + * System.errvariable. + */ + public static final FileDescriptor err + = new FileDescriptor (FileChannelImpl.err); + + final ByteChannel channel; + + /** + * This method is used to initialize an invalid FileDescriptor object. + */ + public FileDescriptor() + { + channel = null; + } + + /** + * This method is used to initialize a FileDescriptor object. + */ + FileDescriptor(ByteChannel channel) + { + this.channel = channel; + } + + + /** + * This method forces all data that has not yet been physically written to + * the underlying storage medium associated with this + * FileDescriptor + * to be written out. This method will not return until all data has + * been fully written to the underlying device. If the device does not + * support this functionality or if an error occurs, then an exception + * will be thrown. + */ + public void sync () throws SyncFailedException + { + if (channel instanceof FileChannel) + { + try + { + ((FileChannel) channel).force(true); + } + catch (IOException ex) + { + if (ex instanceof SyncFailedException) + throw (SyncFailedException) ex; + else + throw new SyncFailedException(ex.toString()); + } + } + } + + /** + * This methods tests whether or not this object represents a valid open + * native file handle. + * + * @return true if this object represents a valid + * native file handle, false otherwise + */ + public boolean valid () + { + return channel != null && channel.isOpen(); + } +} diff --git a/libjava/java/io/FileFilter.h b/libjava/java/io/FileFilter.h new file mode 100644 index 00000000000..e90e437957f --- /dev/null +++ b/libjava/java/io/FileFilter.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileFilter__ +#define __java_io_FileFilter__ + +#pragma interface + +#include + +class java::io::FileFilter : public ::java::lang::Object +{ + +public: + virtual jboolean accept(::java::io::File *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_FileFilter__ diff --git a/libjava/java/io/FileInputStream.h b/libjava/java/io/FileInputStream.h new file mode 100644 index 00000000000..01efe5620d7 --- /dev/null +++ b/libjava/java/io/FileInputStream.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileInputStream__ +#define __java_io_FileInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace channels + { + class FileChannelImpl; + } + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class FileChannel; + } + } + } +} + +class java::io::FileInputStream : public ::java::io::InputStream +{ + +public: + FileInputStream(::java::lang::String *); + FileInputStream(::java::io::File *); + FileInputStream(::java::io::FileDescriptor *); +public: // actually package-private + FileInputStream(::gnu::java::nio::channels::FileChannelImpl *); +public: + virtual jint available(); + virtual void close(); +public: // actually protected + virtual void finalize(); +public: + virtual ::java::io::FileDescriptor * getFD(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); + virtual ::java::nio::channels::FileChannel * getChannel(); +private: + ::java::io::FileDescriptor * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) fd; + ::gnu::java::nio::channels::FileChannelImpl * ch; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FileInputStream__ diff --git a/libjava/java/io/FileInputStream.java b/libjava/java/io/FileInputStream.java new file mode 100644 index 00000000000..8ca38b02fc4 --- /dev/null +++ b/libjava/java/io/FileInputStream.java @@ -0,0 +1,309 @@ +/* FileInputStream.java -- An input stream that reads from disk files. + Copyright (C) 1998, 2002, 2003, 2004, 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. */ + + +package java.io; + +import gnu.java.nio.channels.FileChannelImpl; + +import java.nio.channels.FileChannel; + +/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 + * "The Java Language Specification", ISBN 0-201-63451-1 + * plus online API docs for JDK 1.2 beta from http://www.javasoft.com. + * Status: Believed complete and correct. + */ + +/** + * This class is a stream that reads its bytes from a file. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy (warrenl@cygnus.com) + */ +public class FileInputStream extends InputStream +{ + /** + * This is the native file handle for the file this stream is reading from + */ + private FileDescriptor fd; + + private FileChannelImpl ch; + + /** + * This method initializes a FileInputStream to read from the + * specified named file. A security check is first made to determine + * whether or not access to this file is allowed. This is done by + * calling the checkRead() method of the + * SecurityManager + * (if one exists) with the name of this file. An exception is thrown + * if reading is not allowed. If the file does not exist, an exception + * is also thrown. + * + * @param name The name of the file this stream should read from + * + * @exception SecurityException If read access to the file is not allowed + * @exception FileNotFoundException If the file does not exist + * or if it is a directory + */ + public FileInputStream(String name) throws FileNotFoundException + { + this(new File(name)); + } + + /** + * This method initializes a FileInputStream to read from the + * specified File object. A security check is first + * made to determine + * whether or not access to this file is allowed. This is done by + * calling the checkRead() method of the + * SecurityManager + * (if one exists) with the name of this file. An exception is thrown + * if reading is not allowed. If the file does not exist, an exception + * is also thrown. + * + * @param file The File object this stream should read from + * + * @exception SecurityException If read access to the file is not allowed + * @exception FileNotFoundException If the file does not exist + * or if it is a directory. + */ + public FileInputStream(File file) throws FileNotFoundException + { + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkRead(file.getPath()); + + ch = FileChannelImpl.create(file, FileChannelImpl.READ); + } + + /** + * This method initializes a FileInputStream to read from the + * specified FileDescriptor object. A security + * check is first made to + * determine whether or not access to this file is allowed. This is done by + * calling the checkRead() method of the + * SecurityManager + * (if one exists) with the specified FileDescriptor + * An exception is + * thrown if reading is not allowed. + * + * @param fdObj The FileDescriptor object this stream + * should read from + * + * @exception SecurityException If read access to the file is not allowed + */ + public FileInputStream(FileDescriptor fdObj) + { + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkRead(fdObj); + + fd = fdObj; + ch = (FileChannelImpl) fdObj.channel; + } + + FileInputStream(FileChannelImpl ch) + { + this.ch = ch; + } + + /** + * This method returns the number of bytes that can be read from this + * stream before a read can block. A return of 0 indicates that blocking + * might (or might not) occur on the very next read attempt. + *

      + * This method returns the number of unread bytes remaining in the file if + * the descriptor being read from is an actual file. If this method is + * reading from a ''special'' file such a the standard input, this method + * will return the appropriate value for the stream being read. + *

      + * Be aware that reads on plain files that do not reside locally might + * possibly block even if this method says they should not. For example, + * a remote server might crash, preventing an NFS mounted file from being + * read. + * + * @return The number of bytes that can be read before blocking could occur + * + * @exception IOException If an error occurs + */ + public int available() throws IOException + { + return ch.available(); + } + + /** + * This method closes the stream. Any futher attempts to read from the + * stream will likely generate an IOException since the underlying file + * will be closed. + * + * @exception IOException If an error occurs. + */ + public void close() throws IOException + { + ch.close(); + } + + protected void finalize() throws IOException + { + // We don't actually need this, but we include it because it is + // mentioned in the JCL. + } + + /** + * This method returns a FileDescriptor object representing the + * underlying native file handle of the file this stream is reading + * from + * + * @return A FileDescriptor for this stream + * + * @exception IOException If an error occurs + */ + public final FileDescriptor getFD() throws IOException + { + synchronized (this) + { + if (fd == null) + fd = new FileDescriptor (ch); + return fd; + } + } + + /** + * This method reads an unsigned byte from the input stream and returns it + * as an int in the range of 0-255. This method also will return -1 if + * the end of the stream has been reached. + *

      + * This method will block until the byte can be read. + * + * @return The byte read or -1 if end of stream + * + * @exception IOException If an error occurs + */ + public int read() throws IOException + { + return ch.read(); + } + + /** + * This method reads bytes from a stream and stores them into a caller + * supplied buffer. This method attempts to completely fill the buffer, + * but can return before doing so. The actual number of bytes read is + * returned as an int. A -1 is returned to indicate the end of the stream. + *

      + * This method will block until some data can be read. + *

      + * This method operates by calling an overloaded read method like so: + * read(buf, 0, buf.length) + * + * @param buf The buffer into which the bytes read will be stored. + * + * @return The number of bytes read or -1 if end of stream. + * + * @exception IOException If an error occurs. + */ + public int read(byte[] buf) throws IOException + { + return read(buf, 0, buf.length); + } + + /** + * This method read bytes from a stream and stores them into a caller + * supplied buffer. It starts storing the data at index + * offset into + * the buffer and attempts to read len bytes. This method can + * return before reading the number of bytes requested. The actual number + * of bytes read is returned as an int. A -1 is returned to indicate the + * end of the stream. + *

      + * This method will block until some data can be read. + * + * @param buf The array into which the bytes read should be stored + * @param offset The offset into the array to start storing bytes + * @param len The requested number of bytes to read + * + * @return The actual number of bytes read, or -1 if end of stream. + * + * @exception IOException If an error occurs. + */ + public int read(byte[] buf, int offset, int len) throws IOException + { + if (offset < 0 + || len < 0 + || offset + len > buf.length) + throw new ArrayIndexOutOfBoundsException(); + + return ch.read(buf, offset, len); + } + + /** + * This method skips the specified number of bytes in the stream. It + * returns the actual number of bytes skipped, which may be less than the + * requested amount. + *

      + * @param numBytes The requested number of bytes to skip + * + * @return The actual number of bytes skipped. + * + * @exception IOException If an error occurs + */ + public synchronized long skip (long numBytes) throws IOException + { + if (numBytes < 0) + throw new IllegalArgumentException ("Can't skip negative bytes: " + + numBytes); + + if (numBytes == 0) + return 0; + + long oldPos = ch.position (); + ch.position(oldPos + numBytes); + return ch.position() - oldPos; + } + + /** + * This method creates a java.nio.channels.FileChannel. + * Nio does not allow one to create a file channel directly. + * A file channel must be created by first creating an instance of + * Input/Output/RandomAccessFile and invoking the getChannel() method on it. + */ + public synchronized FileChannel getChannel () + { + return ch; + } + +} // class FileInputStream + diff --git a/libjava/java/io/FileNotFoundException.h b/libjava/java/io/FileNotFoundException.h new file mode 100644 index 00000000000..794160dd5e0 --- /dev/null +++ b/libjava/java/io/FileNotFoundException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileNotFoundException__ +#define __java_io_FileNotFoundException__ + +#pragma interface + +#include + +class java::io::FileNotFoundException : public ::java::io::IOException +{ + +public: + FileNotFoundException(); + FileNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -897856973823710492LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FileNotFoundException__ diff --git a/libjava/java/io/FileOutputStream.h b/libjava/java/io/FileOutputStream.h new file mode 100644 index 00000000000..b2bf0d942ca --- /dev/null +++ b/libjava/java/io/FileOutputStream.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileOutputStream__ +#define __java_io_FileOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace channels + { + class FileChannelImpl; + } + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class FileChannel; + } + } + } +} + +class java::io::FileOutputStream : public ::java::io::OutputStream +{ + +public: + FileOutputStream(::java::lang::String *, jboolean); + FileOutputStream(::java::lang::String *); + FileOutputStream(::java::io::File *); + FileOutputStream(::java::io::File *, jboolean); + FileOutputStream(::java::io::FileDescriptor *); +public: // actually package-private + FileOutputStream(::gnu::java::nio::channels::FileChannelImpl *); +public: // actually protected + virtual void finalize(); +public: + virtual ::java::io::FileDescriptor * getFD(); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void close(); + virtual ::java::nio::channels::FileChannel * getChannel(); +private: + ::java::io::FileDescriptor * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) fd; + ::gnu::java::nio::channels::FileChannelImpl * ch; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FileOutputStream__ diff --git a/libjava/java/io/FileOutputStream.java b/libjava/java/io/FileOutputStream.java new file mode 100644 index 00000000000..10ea6b536cb --- /dev/null +++ b/libjava/java/io/FileOutputStream.java @@ -0,0 +1,296 @@ +/* FileOutputStream.java -- Writes to a file on disk. + Copyright (C) 1998, 2001, 2003, 2004, 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. */ + + +package java.io; + +import gnu.java.nio.channels.FileChannelImpl; + +import java.nio.channels.FileChannel; + +/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 + * "The Java Language Specification", ISBN 0-201-63451-1 + * Status: Complete to version 1.1. + */ + +/** + * This classes allows a stream of data to be written to a disk file or + * any open FileDescriptor. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Tom Tromey (tromey@cygnus.com) + */ +public class FileOutputStream extends OutputStream +{ + private FileDescriptor fd; + + private FileChannelImpl ch; + + /** + * This method initializes a FileOutputStream object to write + * to the named file. The file is created if it does not exist, and + * the bytes written are written starting at the beginning of the file if + * the append argument is false or at the end + * of the file if the append argument is true. + *

      + * Before opening a file, a security check is performed by calling the + * checkWrite method of the SecurityManager (if + * one exists) with the name of the file to be opened. An exception is + * thrown if writing is not allowed. + * + * @param path The name of the file this stream should write to + * @param append true to append bytes to the end of the file, + * or false to write bytes to the beginning + * + * @exception SecurityException If write access to the file is not allowed + * @exception FileNotFoundException If a non-security error occurs + */ + public FileOutputStream (String path, boolean append) + throws SecurityException, FileNotFoundException + { + this (new File(path), append); + } + + /** + * This method initializes a FileOutputStream object to write + * to the named file. The file is created if it does not exist, and + * the bytes written are written starting at the beginning of the file. + *

      + * Before opening a file, a security check is performed by calling the + * checkWrite method of the SecurityManager (if + * one exists) with the name of the file to be opened. An exception is + * thrown if writing is not allowed. + * + * @param path The name of the file this stream should write to + * + * @exception SecurityException If write access to the file is not allowed + * @exception FileNotFoundException If a non-security error occurs + */ + public FileOutputStream (String path) + throws SecurityException, FileNotFoundException + { + this (path, false); + } + + /** + * This method initializes a FileOutputStream object to write + * to the specified File object. The file is created if it + * does not exist, and the bytes written are written starting at the + * beginning of the file. + *

      + * Before opening a file, a security check is performed by calling the + * checkWrite method of the SecurityManager (if + * one exists) with the name of the file to be opened. An exception is + * thrown if writing is not allowed. + * + * @param file The File object this stream should write to + * + * @exception SecurityException If write access to the file is not allowed + * @exception FileNotFoundException If a non-security error occurs + */ + public FileOutputStream (File file) + throws SecurityException, FileNotFoundException + { + this (file, false); + } + + /** + * This method initializes a FileOutputStream object to write + * to the specified File object. The file is created if it + * does not exist, and the bytes written are written starting at the + * beginning of the file if the append parameter is + * false. Otherwise bytes are written at the end of the + * file. + *

      + * Before opening a file, a security check is performed by calling the + * checkWrite method of the SecurityManager (if + * one exists) with the name of the file to be opened. An exception is + * thrown if writing is not allowed. + * + * @param file The File object this stream should write to + * @param append true to append bytes to the end of the file, + * or false to write bytes to the beginning + * + * @exception SecurityException If write access to the file is not allowed + * @exception FileNotFoundException If a non-security error occurs + */ + public FileOutputStream (File file, boolean append) + throws FileNotFoundException + { + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkWrite(file.getPath()); + + ch = FileChannelImpl.create(file, (append + ? FileChannelImpl.WRITE + | FileChannelImpl.APPEND + : FileChannelImpl.WRITE)); + } + + /** + * This method initializes a FileOutputStream object to write + * to the file represented by the specified FileDescriptor + * object. This method does not create any underlying disk file or + * reposition the file pointer of the given descriptor. It assumes that + * this descriptor is ready for writing as is. + *

      + * Before opening a file, a security check is performed by calling the + * checkWrite method of the SecurityManager (if + * one exists) with the specified FileDescriptor as an argument. + * An exception is thrown if writing is not allowed. + * + * @param fdObj The FileDescriptor this stream should write to + * + * @exception SecurityException If write access to the file is not allowed + */ + public FileOutputStream (FileDescriptor fdObj) + throws SecurityException + { + // Hmm, no other exception but this one to throw, but if the descriptor + // isn't valid, we surely don't have "permission" to write to it. + if (!fdObj.valid()) + throw new SecurityException("Invalid FileDescriptor"); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkWrite(fdObj); + + fd = fdObj; + ch = (FileChannelImpl) fdObj.channel; + } + + FileOutputStream(FileChannelImpl ch) + { + this.ch = ch; + } + + protected void finalize () throws IOException + { + // We don't actually need this, but we include it because it is + // mentioned in the JCL. + } + + /** + * This method returns a FileDescriptor object representing + * the file that is currently being written to + * + * @return A FileDescriptor object for this stream + * + * @exception IOException If an error occurs + */ + public final FileDescriptor getFD () throws IOException + { + synchronized (this) + { + if (fd == null) + fd = new FileDescriptor (ch); + return fd; + } + } + + /** + * This method writes a single byte of data to the file. + * + * @param b The byte of data to write, passed as an int + * + * @exception IOException If an error occurs + */ + public void write (int b) throws IOException + { + ch.write (b); + } + + /** + * This method writes all the bytes in the specified array to the + * file. + * + * @param buf The array of bytes to write to the file + * + * @exception IOException If an error occurs + */ + public void write (byte[] buf) + throws IOException + { + write (buf, 0, buf.length); + } + + /** + * This method writes len bytes from the byte array + * buf to the file starting at index offset. + * + * @param buf The array of bytes to write to the file + * @param offset The offset into the array to start writing bytes from + * @param len The number of bytes to write to the file + * + * @exception IOException If an error occurs + */ + public void write (byte[] buf, int offset, int len) + throws IOException + { + if (offset < 0 + || len < 0 + || offset + len > buf.length) + throw new ArrayIndexOutOfBoundsException (); + + ch.write (buf, offset, len); + } + + /** + * This method closes the underlying file. Any further attempts to + * write to this stream will likely generate an exception since the + * file is closed. + * + * @exception IOException If an error occurs + */ + public void close () throws IOException + { + ch.close(); + } + + /** + * This method creates a java.nio.channels.FileChannel. + * Nio does not allow one to create a file channel directly. + * A file channel must be created by first creating an instance of + * Input/Output/RandomAccessFile and invoking the getChannel() method on it. + */ + public synchronized FileChannel getChannel() + { + return ch; + } + +} // class FileOutputStream + diff --git a/libjava/java/io/FilePermission.h b/libjava/java/io/FilePermission.h new file mode 100644 index 00000000000..bace152f01c --- /dev/null +++ b/libjava/java/io/FilePermission.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FilePermission__ +#define __java_io_FilePermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } +} + +class java::io::FilePermission : public ::java::security::Permission +{ + + void checkPerms(); +public: + FilePermission(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getActions(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jboolean implies(::java::security::Permission *); +private: + static const jlong serialVersionUID = 7930732926638008763LL; + static ::java::lang::String * ALL_FILES; + jboolean __attribute__((aligned(__alignof__( ::java::security::Permission)))) readPerm; + jboolean writePerm; + jboolean executePerm; + jboolean deletePerm; + ::java::lang::String * actionsString; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FilePermission__ diff --git a/libjava/java/io/FileReader.h b/libjava/java/io/FileReader.h new file mode 100644 index 00000000000..4d1fba21200 --- /dev/null +++ b/libjava/java/io/FileReader.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileReader__ +#define __java_io_FileReader__ + +#pragma interface + +#include + +class java::io::FileReader : public ::java::io::InputStreamReader +{ + +public: + FileReader(::java::io::File *); + FileReader(::java::io::FileDescriptor *); + FileReader(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_io_FileReader__ diff --git a/libjava/java/io/FileWriter.h b/libjava/java/io/FileWriter.h new file mode 100644 index 00000000000..b75ea008cdb --- /dev/null +++ b/libjava/java/io/FileWriter.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FileWriter__ +#define __java_io_FileWriter__ + +#pragma interface + +#include + +class java::io::FileWriter : public ::java::io::OutputStreamWriter +{ + +public: + FileWriter(::java::io::File *); + FileWriter(::java::io::File *, jboolean); + FileWriter(::java::io::FileDescriptor *); + FileWriter(::java::lang::String *); + FileWriter(::java::lang::String *, jboolean); + static ::java::lang::Class class$; +}; + +#endif // __java_io_FileWriter__ diff --git a/libjava/java/io/FilenameFilter.h b/libjava/java/io/FilenameFilter.h new file mode 100644 index 00000000000..2337ed32737 --- /dev/null +++ b/libjava/java/io/FilenameFilter.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FilenameFilter__ +#define __java_io_FilenameFilter__ + +#pragma interface + +#include + +class java::io::FilenameFilter : public ::java::lang::Object +{ + +public: + virtual jboolean accept(::java::io::File *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_FilenameFilter__ diff --git a/libjava/java/io/FilterInputStream.h b/libjava/java/io/FilterInputStream.h new file mode 100644 index 00000000000..1116639c137 --- /dev/null +++ b/libjava/java/io/FilterInputStream.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FilterInputStream__ +#define __java_io_FilterInputStream__ + +#pragma interface + +#include +#include + + +class java::io::FilterInputStream : public ::java::io::InputStream +{ + +public: // actually protected + FilterInputStream(::java::io::InputStream *); +public: + virtual void mark(jint); + virtual jboolean markSupported(); + virtual void reset(); + virtual jint available(); + virtual jlong skip(jlong); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void close(); +public: // actually protected + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FilterInputStream__ diff --git a/libjava/java/io/FilterOutputStream.h b/libjava/java/io/FilterOutputStream.h new file mode 100644 index 00000000000..571b255d6a9 --- /dev/null +++ b/libjava/java/io/FilterOutputStream.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FilterOutputStream__ +#define __java_io_FilterOutputStream__ + +#pragma interface + +#include +#include + + +class java::io::FilterOutputStream : public ::java::io::OutputStream +{ + +public: + FilterOutputStream(::java::io::OutputStream *); + virtual void close(); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); +public: // actually protected + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) out; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FilterOutputStream__ diff --git a/libjava/java/io/FilterReader.h b/libjava/java/io/FilterReader.h new file mode 100644 index 00000000000..52a1995fec0 --- /dev/null +++ b/libjava/java/io/FilterReader.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FilterReader__ +#define __java_io_FilterReader__ + +#pragma interface + +#include +#include + + +class java::io::FilterReader : public ::java::io::Reader +{ + +public: // actually protected + FilterReader(::java::io::Reader *); +public: + virtual void mark(jint); + virtual jboolean markSupported(); + virtual void reset(); + virtual jboolean ready(); + virtual jlong skip(jlong); + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual void close(); +public: // actually protected + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::io::Reader)))) in; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FilterReader__ diff --git a/libjava/java/io/FilterWriter.h b/libjava/java/io/FilterWriter.h new file mode 100644 index 00000000000..146f0156342 --- /dev/null +++ b/libjava/java/io/FilterWriter.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_FilterWriter__ +#define __java_io_FilterWriter__ + +#pragma interface + +#include +#include + + +class java::io::FilterWriter : public ::java::io::Writer +{ + +public: // actually protected + FilterWriter(::java::io::Writer *); +public: + virtual void close(); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void write(::java::lang::String *, jint, jint); +public: // actually protected + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::io::Writer)))) out; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_FilterWriter__ diff --git a/libjava/java/io/Flushable.h b/libjava/java/io/Flushable.h new file mode 100644 index 00000000000..2acd25dec02 --- /dev/null +++ b/libjava/java/io/Flushable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_Flushable__ +#define __java_io_Flushable__ + +#pragma interface + +#include + +class java::io::Flushable : public ::java::lang::Object +{ + +public: + virtual void flush() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_Flushable__ diff --git a/libjava/java/io/IOException.h b/libjava/java/io/IOException.h new file mode 100644 index 00000000000..bdd92e0e4d8 --- /dev/null +++ b/libjava/java/io/IOException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_IOException__ +#define __java_io_IOException__ + +#pragma interface + +#include + +class java::io::IOException : public ::java::lang::Exception +{ + +public: + IOException(); + IOException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7818375828146090155LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_IOException__ diff --git a/libjava/java/io/InputStream.h b/libjava/java/io/InputStream.h new file mode 100644 index 00000000000..263af2c8167 --- /dev/null +++ b/libjava/java/io/InputStream.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_InputStream__ +#define __java_io_InputStream__ + +#pragma interface + +#include +#include + + +class java::io::InputStream : public ::java::lang::Object +{ + +public: + InputStream(); + virtual jint available(); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read() = 0; + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); + static ::java::lang::Class class$; +}; + +#endif // __java_io_InputStream__ diff --git a/libjava/java/io/InputStreamReader.h b/libjava/java/io/InputStreamReader.h new file mode 100644 index 00000000000..46050d5c37c --- /dev/null +++ b/libjava/java/io/InputStreamReader.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_InputStreamReader__ +#define __java_io_InputStreamReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class BytesToUnicode; + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + } + } + } +} + +class java::io::InputStreamReader : public ::java::io::Reader +{ + +public: + InputStreamReader(::java::io::InputStream *); + InputStreamReader(::java::io::InputStream *, ::java::lang::String *); + InputStreamReader(::java::io::InputStream *, ::java::nio::charset::Charset *); + InputStreamReader(::java::io::InputStream *, ::java::nio::charset::CharsetDecoder *); +private: + InputStreamReader(::java::io::InputStream *, ::gnu::gcj::convert::BytesToUnicode *); +public: + virtual void close(); + virtual ::java::lang::String * getEncoding(); + virtual jboolean ready(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual jint read(); +private: + jint refill(JArray< jchar > *, jint, jint); +public: // actually package-private + ::java::io::BufferedInputStream * __attribute__((aligned(__alignof__( ::java::io::Reader)))) in; + JArray< jchar > * work; + jint wpos; + jint wcount; + ::gnu::gcj::convert::BytesToUnicode * converter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_InputStreamReader__ diff --git a/libjava/java/io/InterruptedIOException.h b/libjava/java/io/InterruptedIOException.h new file mode 100644 index 00000000000..40922cd79c0 --- /dev/null +++ b/libjava/java/io/InterruptedIOException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_InterruptedIOException__ +#define __java_io_InterruptedIOException__ + +#pragma interface + +#include + +class java::io::InterruptedIOException : public ::java::io::IOException +{ + +public: + InterruptedIOException(); + InterruptedIOException(::java::lang::String *); +public: // actually package-private + InterruptedIOException(::java::lang::String *, jint); +private: + static const jlong serialVersionUID = 4020568460727500567LL; +public: + jint __attribute__((aligned(__alignof__( ::java::io::IOException)))) bytesTransferred; + static ::java::lang::Class class$; +}; + +#endif // __java_io_InterruptedIOException__ diff --git a/libjava/java/io/InvalidClassException.h b/libjava/java/io/InvalidClassException.h new file mode 100644 index 00000000000..6216a9ad920 --- /dev/null +++ b/libjava/java/io/InvalidClassException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_InvalidClassException__ +#define __java_io_InvalidClassException__ + +#pragma interface + +#include + +class java::io::InvalidClassException : public ::java::io::ObjectStreamException +{ + +public: + InvalidClassException(::java::lang::String *); + InvalidClassException(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getMessage(); +private: + static const jlong serialVersionUID = -4333316296251054416LL; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::io::ObjectStreamException)))) classname; + static ::java::lang::Class class$; +}; + +#endif // __java_io_InvalidClassException__ diff --git a/libjava/java/io/InvalidObjectException.h b/libjava/java/io/InvalidObjectException.h new file mode 100644 index 00000000000..550dd439d0e --- /dev/null +++ b/libjava/java/io/InvalidObjectException.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_InvalidObjectException__ +#define __java_io_InvalidObjectException__ + +#pragma interface + +#include + +class java::io::InvalidObjectException : public ::java::io::ObjectStreamException +{ + +public: + InvalidObjectException(::java::lang::String *); +private: + static const jlong serialVersionUID = 3233174318281839583LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_InvalidObjectException__ diff --git a/libjava/java/io/LineNumberInputStream.h b/libjava/java/io/LineNumberInputStream.h new file mode 100644 index 00000000000..676893d51a3 --- /dev/null +++ b/libjava/java/io/LineNumberInputStream.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_LineNumberInputStream__ +#define __java_io_LineNumberInputStream__ + +#pragma interface + +#include +#include + + +class java::io::LineNumberInputStream : public ::java::io::FilterInputStream +{ + +public: + LineNumberInputStream(::java::io::InputStream *); + virtual jint available(); + virtual jint getLineNumber(); + virtual void mark(jint); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual void setLineNumber(jint); + virtual jlong skip(jlong); +private: + jint __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) lineNumber; + jint markLineNumber; + jboolean justReadReturnChar; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_LineNumberInputStream__ diff --git a/libjava/java/io/LineNumberReader.h b/libjava/java/io/LineNumberReader.h new file mode 100644 index 00000000000..33564c94909 --- /dev/null +++ b/libjava/java/io/LineNumberReader.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_LineNumberReader__ +#define __java_io_LineNumberReader__ + +#pragma interface + +#include +#include + + +class java::io::LineNumberReader : public ::java::io::BufferedReader +{ + +public: + LineNumberReader(::java::io::Reader *); + LineNumberReader(::java::io::Reader *, jint); + virtual jint getLineNumber(); + virtual void setLineNumber(jint); + virtual void mark(jint); + virtual void reset(); +private: + jint fill(); +public: + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); +private: + void skipRedundantLF(); +public: + virtual ::java::lang::String * readLine(); + virtual jlong skip(jlong); +private: + jint __attribute__((aligned(__alignof__( ::java::io::BufferedReader)))) lineNumber; + jboolean matchedNewLine; + jint savedLineNumber; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_LineNumberReader__ diff --git a/libjava/java/io/NotActiveException.h b/libjava/java/io/NotActiveException.h new file mode 100644 index 00000000000..9020e4e03f4 --- /dev/null +++ b/libjava/java/io/NotActiveException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_NotActiveException__ +#define __java_io_NotActiveException__ + +#pragma interface + +#include + +class java::io::NotActiveException : public ::java::io::ObjectStreamException +{ + +public: + NotActiveException(); + NotActiveException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3893467273049808895LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_NotActiveException__ diff --git a/libjava/java/io/NotSerializableException.h b/libjava/java/io/NotSerializableException.h new file mode 100644 index 00000000000..55699b406de --- /dev/null +++ b/libjava/java/io/NotSerializableException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_NotSerializableException__ +#define __java_io_NotSerializableException__ + +#pragma interface + +#include + +class java::io::NotSerializableException : public ::java::io::ObjectStreamException +{ + +public: + NotSerializableException(); + NotSerializableException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2906642554793891381LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_NotSerializableException__ diff --git a/libjava/java/io/ObjectInput.h b/libjava/java/io/ObjectInput.h new file mode 100644 index 00000000000..7cfac206034 --- /dev/null +++ b/libjava/java/io/ObjectInput.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInput__ +#define __java_io_ObjectInput__ + +#pragma interface + +#include +#include + + +class java::io::ObjectInput : public ::java::lang::Object +{ + +public: + virtual jint available() = 0; + virtual jint read() = 0; + virtual jint read(JArray< jbyte > *) = 0; + virtual jint read(JArray< jbyte > *, jint, jint) = 0; + virtual ::java::lang::Object * readObject() = 0; + virtual jlong skip(jlong) = 0; + virtual void close() = 0; + virtual jboolean readBoolean() = 0; + virtual jbyte readByte() = 0; + virtual jint readUnsignedByte() = 0; + virtual jchar readChar() = 0; + virtual jshort readShort() = 0; + virtual jint readUnsignedShort() = 0; + virtual jint readInt() = 0; + virtual jlong readLong() = 0; + virtual jfloat readFloat() = 0; + virtual jdouble readDouble() = 0; + virtual ::java::lang::String * readLine() = 0; + virtual ::java::lang::String * readUTF() = 0; + virtual void readFully(JArray< jbyte > *) = 0; + virtual void readFully(JArray< jbyte > *, jint, jint) = 0; + virtual jint skipBytes(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_ObjectInput__ diff --git a/libjava/java/io/ObjectInputStream$1.h b/libjava/java/io/ObjectInputStream$1.h new file mode 100644 index 00000000000..3a3241a0ecd --- /dev/null +++ b/libjava/java/io/ObjectInputStream$1.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInputStream$1__ +#define __java_io_ObjectInputStream$1__ + +#pragma interface + +#include + +class java::io::ObjectInputStream$1 : public ::java::lang::Object +{ + +public: // actually package-private + ObjectInputStream$1(::java::io::ObjectInputStream *, ::java::lang::Class *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::io::ObjectInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::lang::Class * val$local_constructor_class; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectInputStream$1__ diff --git a/libjava/java/io/ObjectInputStream$2.h b/libjava/java/io/ObjectInputStream$2.h new file mode 100644 index 00000000000..70fbf58a68d --- /dev/null +++ b/libjava/java/io/ObjectInputStream$2.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInputStream$2__ +#define __java_io_ObjectInputStream$2__ + +#pragma interface + +#include +#include + + +class java::io::ObjectInputStream$2 : public ::java::io::ObjectInputStream$GetField +{ + +public: // actually package-private + ObjectInputStream$2(::java::io::ObjectInputStream *, ::java::io::ObjectStreamClass *, JArray< jbyte > *, JArray< ::java::lang::Object * > *); +public: + ::java::io::ObjectStreamClass * getObjectStreamClass(); + jboolean defaulted(::java::lang::String *); + jboolean get(::java::lang::String *, jboolean); + jchar get(::java::lang::String *, jchar); + jbyte get(::java::lang::String *, jbyte); + jshort get(::java::lang::String *, jshort); + jint get(::java::lang::String *, jint); + jlong get(::java::lang::String *, jlong); + jfloat get(::java::lang::String *, jfloat); + jdouble get(::java::lang::String *, jdouble); + ::java::lang::Object * get(::java::lang::String *, ::java::lang::Object *); +private: + ::java::io::ObjectStreamField * getField(::java::lang::String *, ::java::lang::Class *); +public: // actually package-private + ::java::io::ObjectInputStream * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream$GetField)))) this$0; +private: + ::java::io::ObjectStreamClass * val$clazz; + JArray< jbyte > * val$prim_field_data; + JArray< ::java::lang::Object * > * val$objs; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectInputStream$2__ diff --git a/libjava/java/io/ObjectInputStream$GetField.h b/libjava/java/io/ObjectInputStream$GetField.h new file mode 100644 index 00000000000..d61509c4a0a --- /dev/null +++ b/libjava/java/io/ObjectInputStream$GetField.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInputStream$GetField__ +#define __java_io_ObjectInputStream$GetField__ + +#pragma interface + +#include + +class java::io::ObjectInputStream$GetField : public ::java::lang::Object +{ + +public: + ObjectInputStream$GetField(); + virtual ::java::io::ObjectStreamClass * getObjectStreamClass() = 0; + virtual jboolean defaulted(::java::lang::String *) = 0; + virtual jboolean get(::java::lang::String *, jboolean) = 0; + virtual jchar get(::java::lang::String *, jchar) = 0; + virtual jbyte get(::java::lang::String *, jbyte) = 0; + virtual jshort get(::java::lang::String *, jshort) = 0; + virtual jint get(::java::lang::String *, jint) = 0; + virtual jlong get(::java::lang::String *, jlong) = 0; + virtual jfloat get(::java::lang::String *, jfloat) = 0; + virtual jdouble get(::java::lang::String *, jdouble) = 0; + virtual ::java::lang::Object * get(::java::lang::String *, ::java::lang::Object *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectInputStream$GetField__ diff --git a/libjava/java/io/ObjectInputStream$ValidatorAndPriority.h b/libjava/java/io/ObjectInputStream$ValidatorAndPriority.h new file mode 100644 index 00000000000..02e6ae6230f --- /dev/null +++ b/libjava/java/io/ObjectInputStream$ValidatorAndPriority.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInputStream$ValidatorAndPriority__ +#define __java_io_ObjectInputStream$ValidatorAndPriority__ + +#pragma interface + +#include + +class java::io::ObjectInputStream$ValidatorAndPriority : public ::java::lang::Object +{ + +public: // actually package-private + ObjectInputStream$ValidatorAndPriority(::java::io::ObjectInputValidation *, jint); +public: + jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) priority; + ::java::io::ObjectInputValidation * validator; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectInputStream$ValidatorAndPriority__ diff --git a/libjava/java/io/ObjectInputStream.h b/libjava/java/io/ObjectInputStream.h new file mode 100644 index 00000000000..b27764a445b --- /dev/null +++ b/libjava/java/io/ObjectInputStream.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInputStream__ +#define __java_io_ObjectInputStream__ + +#pragma interface + +#include +#include + + +class java::io::ObjectInputStream : public ::java::io::InputStream +{ + +public: + ObjectInputStream(::java::io::InputStream *); + virtual ::java::lang::Object * readObject(); +private: + ::java::lang::Object * parseContent(jbyte); + void checkTypeConsistency(::java::lang::String *, JArray< ::java::io::ObjectStreamField * > *, JArray< ::java::io::ObjectStreamField * > *); +public: // actually protected + virtual ::java::io::ObjectStreamClass * readClassDescriptor(); +public: + virtual void defaultReadObject(); + virtual void registerValidation(::java::io::ObjectInputValidation *, jint); +public: // actually protected + virtual ::java::lang::Class * resolveClass(::java::io::ObjectStreamClass *); +private: + ::java::lang::ClassLoader * currentLoader(); + ::java::io::ObjectStreamClass * lookupClass(::java::lang::Class *); + JArray< ::java::io::ObjectStreamClass * > * hierarchy(::java::lang::Class *); +public: // actually protected + virtual ::java::lang::Object * resolveObject(::java::lang::Object *); + virtual ::java::lang::Class * resolveProxyClass(JArray< ::java::lang::String * > *); + virtual jboolean enableResolveObject(jboolean); + virtual void readStreamHeader(); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint available(); + virtual void close(); + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual jint readUnsignedByte(); + virtual jshort readShort(); + virtual jint readUnsignedShort(); + virtual jchar readChar(); + virtual jint readInt(); + virtual jlong readLong(); + virtual jfloat readFloat(); + virtual jdouble readDouble(); + virtual void readFully(JArray< jbyte > *); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual jint skipBytes(jint); + virtual ::java::lang::String * readLine(); + virtual ::java::lang::String * readUTF(); + virtual ::java::io::ObjectInputStream$GetField * readFields(); +public: // actually protected + ObjectInputStream(); + virtual ::java::lang::Object * readObjectOverride(); +private: + jint assignNewHandle(::java::lang::Object *); + void rememberHandle(::java::lang::Object *, jint); + ::java::lang::Object * lookupHandle(jint); + ::java::lang::Object * processResolution(::java::io::ObjectStreamClass *, ::java::lang::Object *, jint); + void clearHandles(); + void readNextBlock(); + void readNextBlock(jbyte); + void readArrayElements(::java::lang::Object *, ::java::lang::Class *); + void readFields(::java::lang::Object *, ::java::io::ObjectStreamClass *); + jboolean setBlockDataMode(jboolean); + ::java::lang::Object * newObject(::java::lang::Class *, ::java::lang::reflect::Constructor *); + void invokeValidators(); + void callReadMethod(::java::lang::reflect::Method *, ::java::lang::Class *, ::java::lang::Object *); + void dumpElement(::java::lang::String *); + void dumpElementln(::java::lang::String *); + static const jint BUFFER_SIZE = 1024; + ::java::io::DataInputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) realInputStream; + ::java::io::DataInputStream * dataInputStream; + ::java::io::DataInputStream * blockDataInput; + jint blockDataPosition; + jint blockDataBytes; + JArray< jbyte > * blockData; + jboolean useSubclassMethod; + jint nextOID; + jboolean resolveEnabled; + ::java::util::Vector * objectLookupTable; + ::java::lang::Object * currentObject; + ::java::io::ObjectStreamClass * currentObjectStreamClass; + ::java::util::TreeSet * currentObjectValidators; + jboolean readDataFromBlock; + jboolean fieldsAlreadyRead; + ::java::util::Hashtable * classLookupTable; + ::java::io::ObjectInputStream$GetField * prereadFields; + static jboolean dump; + jint depth; + static const jboolean DEBUG = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectInputStream__ diff --git a/libjava/java/io/ObjectInputStream.java b/libjava/java/io/ObjectInputStream.java deleted file mode 100644 index 54661a9bc53..00000000000 --- a/libjava/java/io/ObjectInputStream.java +++ /dev/null @@ -1,1979 +0,0 @@ -/* ObjectInputStream.java -- Class used to read serialized objects - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 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. */ - - -package java.io; - -import gnu.classpath.Configuration; -import gnu.java.io.ObjectIdentityWrapper; - -import java.lang.reflect.Array; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.lang.reflect.Proxy; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Arrays; -import java.util.Hashtable; -import java.util.Vector; - -public class ObjectInputStream extends InputStream - implements ObjectInput, ObjectStreamConstants -{ - /** - * Creates a new ObjectInputStream that will do all of - * its reading from in. This method also checks - * the stream by reading the header information (stream magic number - * and stream version). - * - * @exception IOException Reading stream header from underlying - * stream cannot be completed. - * - * @exception StreamCorruptedException An invalid stream magic - * number or stream version was read from the stream. - * - * @see #readStreamHeader() - */ - public ObjectInputStream(InputStream in) - throws IOException, StreamCorruptedException - { - if (Configuration.DEBUG) - { - String val = System.getProperty("gcj.dumpobjects"); - if (dump == false && val != null && !val.equals("")) - { - dump = true; - System.out.println ("Serialization debugging enabled"); - } - else if (dump == true && (val == null || val.equals(""))) - { - dump = false; - System.out.println ("Serialization debugging disabled"); - } - } - - this.resolveEnabled = false; - this.isDeserializing = false; - this.blockDataPosition = 0; - this.blockDataBytes = 0; - this.blockData = new byte[BUFFER_SIZE]; - this.blockDataInput = new DataInputStream(this); - this.realInputStream = new DataInputStream(in); - this.nextOID = baseWireHandle; - this.objectLookupTable = new Hashtable(); - this.validators = new Vector(); - this.classLookupTable = new Hashtable(); - setBlockDataMode(true); - readStreamHeader(); - } - - - /** - * Returns the next deserialized object read from the underlying stream. - * - * This method can be overriden by a class by implementing - * private void readObject (ObjectInputStream). - * - * If an exception is thrown from this method, the stream is left in - * an undefined state. This method can also throw Errors and - * RuntimeExceptions if caused by existing readResolve() user code. - * - * @return The object read from the underlying stream. - * - * @exception ClassNotFoundException The class that an object being - * read in belongs to cannot be found. - * - * @exception IOException Exception from underlying - * InputStream. - */ - public final Object readObject() throws ClassNotFoundException, IOException - { - if (this.useSubclassMethod) - return readObjectOverride(); - - boolean was_deserializing; - - Object ret_val; - was_deserializing = this.isDeserializing; - - boolean is_consumed = false; - boolean old_mode = setBlockDataMode(false); - - this.isDeserializing = true; - - byte marker = this.realInputStream.readByte(); - - depth += 2; - - if(dump) dumpElement("MARKER: 0x" + Integer.toHexString(marker) + " "); - - try - { - switch (marker) - { - case TC_ENDBLOCKDATA: - { - ret_val = null; - is_consumed = true; - break; - } - - case TC_BLOCKDATA: - case TC_BLOCKDATALONG: - { - if (marker == TC_BLOCKDATALONG) - { if(dump) dumpElementln("BLOCKDATALONG"); } - else - { if(dump) dumpElementln("BLOCKDATA"); } - readNextBlock(marker); - throw new StreamCorruptedException("Unexpected blockData"); - } - - case TC_NULL: - { - if(dump) dumpElementln("NULL"); - ret_val = null; - break; - } - - case TC_REFERENCE: - { - if(dump) dumpElement("REFERENCE "); - Integer oid = new Integer(this.realInputStream.readInt()); - if(dump) dumpElementln(Integer.toHexString(oid.intValue())); - ret_val = ((ObjectIdentityWrapper) - this.objectLookupTable.get(oid)).object; - break; - } - - case TC_CLASS: - { - if(dump) dumpElementln("CLASS"); - ObjectStreamClass osc = (ObjectStreamClass)readObject(); - Class clazz = osc.forClass(); - assignNewHandle(clazz); - ret_val = clazz; - break; - } - - case TC_PROXYCLASSDESC: - { - if(dump) dumpElementln("PROXYCLASS"); - int n_intf = this.realInputStream.readInt(); - String[] intfs = new String[n_intf]; - for (int i = 0; i < n_intf; i++) - { - intfs[i] = this.realInputStream.readUTF(); - } - - boolean oldmode = setBlockDataMode(true); - Class cl = resolveProxyClass(intfs); - setBlockDataMode(oldmode); - - ObjectStreamClass osc = lookupClass(cl); - if (osc.firstNonSerializableParentConstructor == null) - { - osc.realClassIsSerializable = true; - osc.fields = osc.fieldMapping = new ObjectStreamField[0]; - try - { - osc.firstNonSerializableParentConstructor = - Object.class.getConstructor(new Class[0]); - } - catch (NoSuchMethodException x) - { - throw (InternalError) - new InternalError("Object ctor missing").initCause(x); - } - } - assignNewHandle(osc); - - if (!is_consumed) - { - byte b = this.realInputStream.readByte(); - if (b != TC_ENDBLOCKDATA) - throw new IOException("Data annotated to class was not consumed." + b); - } - else - is_consumed = false; - ObjectStreamClass superosc = (ObjectStreamClass)readObject(); - osc.setSuperclass(superosc); - ret_val = osc; - break; - } - - case TC_CLASSDESC: - { - ObjectStreamClass osc = readClassDescriptor(); - - if (!is_consumed) - { - byte b = this.realInputStream.readByte(); - if (b != TC_ENDBLOCKDATA) - throw new IOException("Data annotated to class was not consumed." + b); - } - else - is_consumed = false; - - osc.setSuperclass ((ObjectStreamClass)readObject()); - ret_val = osc; - break; - } - - case TC_STRING: - case TC_LONGSTRING: - { - if(dump) dumpElement("STRING="); - String s = this.realInputStream.readUTF(); - if(dump) dumpElementln(s); - ret_val = processResolution(null, s, assignNewHandle(s)); - break; - } - - case TC_ARRAY: - { - if(dump) dumpElementln("ARRAY"); - ObjectStreamClass osc = (ObjectStreamClass)readObject(); - Class componentType = osc.forClass().getComponentType(); - if(dump) dumpElement("ARRAY LENGTH="); - int length = this.realInputStream.readInt(); - if(dump) dumpElementln (length + "; COMPONENT TYPE=" + componentType); - Object array = Array.newInstance(componentType, length); - int handle = assignNewHandle(array); - readArrayElements(array, componentType); - if(dump) - for (int i = 0, len = Array.getLength(array); i < len; i++) - dumpElementln(" ELEMENT[" + i + "]=" + Array.get(array, i)); - ret_val = processResolution(null, array, handle); - break; - } - - case TC_OBJECT: - { - if(dump) dumpElementln("OBJECT"); - ObjectStreamClass osc = (ObjectStreamClass)readObject(); - Class clazz = osc.forClass(); - - if (!osc.realClassIsSerializable) - throw new NotSerializableException - (clazz + " is not Serializable, and thus cannot be deserialized."); - - if (osc.realClassIsExternalizable) - { - Externalizable obj = osc.newInstance(); - - int handle = assignNewHandle(obj); - - boolean read_from_blocks = ((osc.getFlags() & SC_BLOCK_DATA) != 0); - - boolean oldmode = this.readDataFromBlock; - if (read_from_blocks) - setBlockDataMode(true); - - obj.readExternal(this); - - if (read_from_blocks) - { - setBlockDataMode(oldmode); - if (!oldmode) - if (this.realInputStream.readByte() != TC_ENDBLOCKDATA) - throw new IOException("No end of block data seen for class with readExternal (ObjectInputStream) method."); - } - - ret_val = processResolution(osc, obj, handle); - break; - } // end if (osc.realClassIsExternalizable) - - Object obj = newObject(clazz, osc.firstNonSerializableParentConstructor); - - int handle = assignNewHandle(obj); - Object prevObject = this.currentObject; - ObjectStreamClass prevObjectStreamClass = this.currentObjectStreamClass; - - this.currentObject = obj; - ObjectStreamClass[] hierarchy = - inputGetObjectStreamClasses(clazz); - - for (int i = 0; i < hierarchy.length; i++) - { - this.currentObjectStreamClass = hierarchy[i]; - - if(dump) dumpElementln("Reading fields of " + this.currentObjectStreamClass.getName ()); - - // XXX: should initialize fields in classes in the hierarchy - // that aren't in the stream - // should skip over classes in the stream that aren't in the - // real classes hierarchy - - Method readObjectMethod = this.currentObjectStreamClass.readObjectMethod; - if (readObjectMethod != null) - { - fieldsAlreadyRead = false; - boolean oldmode = setBlockDataMode(true); - callReadMethod(readObjectMethod, this.currentObjectStreamClass.forClass(), obj); - setBlockDataMode(oldmode); - } - else - { - readFields(obj, currentObjectStreamClass); - } - - if (this.currentObjectStreamClass.hasWriteMethod()) - { - if(dump) dumpElement("ENDBLOCKDATA? "); - try - { - // FIXME: XXX: This try block is to - // catch EOF which is thrown for some - // objects. That indicates a bug in - // the logic. - - if (this.realInputStream.readByte() != TC_ENDBLOCKDATA) - throw new IOException - ("No end of block data seen for class with readObject (ObjectInputStream) method."); - if(dump) dumpElementln("yes"); - } -// catch (EOFException e) -// { -// if(dump) dumpElementln("no, got EOFException"); -// } - catch (IOException e) - { - if(dump) dumpElementln("no, got IOException"); - } - } - } - - this.currentObject = prevObject; - this.currentObjectStreamClass = prevObjectStreamClass; - ret_val = processResolution(osc, obj, handle); - - break; - } - - case TC_RESET: - if(dump) dumpElementln("RESET"); - clearHandles(); - ret_val = readObject(); - break; - - case TC_EXCEPTION: - { - if(dump) dumpElement("EXCEPTION="); - Exception e = (Exception)readObject(); - if(dump) dumpElementln(e.toString()); - clearHandles(); - throw new WriteAbortedException("Exception thrown during writing of stream", e); - } - - default: - throw new IOException("Unknown marker on stream: " + marker); - } - } - finally - { - setBlockDataMode(old_mode); - - this.isDeserializing = was_deserializing; - - depth -= 2; - - if (! was_deserializing) - { - if (validators.size() > 0) - invokeValidators(); - } - } - - return ret_val; - } - - /** - * This method makes a partial check of types for the fields - * contained given in arguments. It checks primitive types of - * fields1 against non primitive types of fields2. This method - * assumes the two lists has already been sorted according to - * the Java specification. - * - * @param name Name of the class owning the given fields. - * @param fields1 First list to check. - * @param fields2 Second list to check. - * @throws InvalidClassException if a field in fields1, which has a primitive type, is a present - * in the non primitive part in fields2. - */ - private void checkTypeConsistency(String name, ObjectStreamField[] fields1, ObjectStreamField[] fields2) - throws InvalidClassException - { - int nonPrimitive = 0; - - for (nonPrimitive = 0; - nonPrimitive < fields1.length - && fields1[nonPrimitive].isPrimitive(); nonPrimitive++) - { - } - - if (nonPrimitive == fields1.length) - return; - - int i = 0; - ObjectStreamField f1; - ObjectStreamField f2; - - while (i < fields2.length - && nonPrimitive < fields1.length) - { - f1 = fields1[nonPrimitive]; - f2 = fields2[i]; - - if (!f2.isPrimitive()) - break; - - int compVal = f1.getName().compareTo (f2.getName()); - - if (compVal < 0) - { - nonPrimitive++; - } - else if (compVal > 0) - { - i++; - } - else - { - throw new InvalidClassException - ("invalid field type for " + f2.getName() + - " in class " + name); - } - } - } - - /** - * This method reads a class descriptor from the real input stream - * and use these data to create a new instance of ObjectStreamClass. - * Fields are sorted and ordered for the real read which occurs for - * each instance of the described class. Be aware that if you call that - * method you must ensure that the stream is synchronized, in the other - * case it may be completely desynchronized. - * - * @return A new instance of ObjectStreamClass containing the freshly - * created descriptor. - * @throws ClassNotFoundException if the required class to build the - * descriptor has not been found in the system. - * @throws IOException An input/output error occured. - * @throws InvalidClassException If there was a compatibility problem - * between the class present in the system and the serialized class. - */ - protected ObjectStreamClass readClassDescriptor() - throws ClassNotFoundException, IOException - { - if(dump) dumpElement("CLASSDESC NAME="); - String name = this.realInputStream.readUTF(); - if(dump) dumpElement(name + "; UID="); - long uid = this.realInputStream.readLong (); - if(dump) dumpElement(Long.toHexString(uid) + "; FLAGS="); - byte flags = this.realInputStream.readByte (); - if(dump) dumpElement(Integer.toHexString(flags) + "; FIELD COUNT="); - short field_count = this.realInputStream.readShort(); - if(dump) dumpElementln(Short.toString(field_count)); - ObjectStreamField[] fields = new ObjectStreamField[field_count]; - ObjectStreamClass osc = new ObjectStreamClass(name, uid, - flags, fields); - assignNewHandle(osc); - - if (callersClassLoader == null) - callersClassLoader = currentLoader(); - - for (int i = 0; i < field_count; i++) - { - if(dump) dumpElement(" TYPE CODE="); - char type_code = (char)this.realInputStream.readByte(); - if(dump) dumpElement(type_code + "; FIELD NAME="); - String field_name = this.realInputStream.readUTF(); - if(dump) dumpElementln(field_name); - String class_name; - - // If the type code is an array or an object we must - // decode a String here. In the other case we convert - // the type code and pass it to ObjectStreamField. - // Type codes are decoded by gnu.java.lang.reflect.TypeSignature. - if (type_code == 'L' || type_code == '[') - class_name = (String)readObject(); - else - class_name = String.valueOf(type_code); - - fields[i] = - new ObjectStreamField(field_name, class_name, callersClassLoader); - } - - /* Now that fields have been read we may resolve the class - * (and read annotation if needed). */ - Class clazz; - try - { - clazz = resolveClass(osc); - } - catch (ClassNotFoundException cnfe) - { - // Maybe it was an primitive class? - if (name.equals("void")) - clazz = Void.TYPE; - else if (name.equals("boolean")) - clazz = Boolean.TYPE; - else if (name.equals("byte")) - clazz = Byte.TYPE; - else if (name.equals("short")) - clazz = Short.TYPE; - else if (name.equals("char")) - clazz = Character.TYPE; - else if (name.equals("int")) - clazz = Integer.TYPE; - else if (name.equals("long")) - clazz = Long.TYPE; - else if (name.equals("float")) - clazz = Float.TYPE; - else if (name.equals("double")) - clazz = Double.TYPE; - else - throw cnfe; - } - - boolean oldmode = setBlockDataMode(true); - osc.setClass(clazz, lookupClass(clazz.getSuperclass())); - classLookupTable.put(clazz, osc); - setBlockDataMode(oldmode); - - // find the first non-serializable, non-abstract - // class in clazz's inheritance hierarchy - Class first_nonserial = clazz.getSuperclass(); - // Maybe it is a primitive class, those don't have a super class, - // or Object itself. Otherwise we can keep getting the superclass - // till we hit the Object class, or some other non-serializable class. - - if (first_nonserial == null) - first_nonserial = clazz; - else - while (Serializable.class.isAssignableFrom(first_nonserial) - || Modifier.isAbstract(first_nonserial.getModifiers())) - first_nonserial = first_nonserial.getSuperclass(); - - final Class local_constructor_class = first_nonserial; - - osc.firstNonSerializableParentConstructor = - (Constructor)AccessController.doPrivileged(new PrivilegedAction() - { - public Object run() - { - try - { - Constructor c = local_constructor_class. - getDeclaredConstructor(new Class[0]); - if (Modifier.isPrivate(c.getModifiers())) - return null; - return c; - } - catch (NoSuchMethodException e) - { - // error will be reported later, in newObject() - return null; - } - } - }); - - osc.realClassIsSerializable = Serializable.class.isAssignableFrom(clazz); - osc.realClassIsExternalizable = Externalizable.class.isAssignableFrom(clazz); - - ObjectStreamField[] stream_fields = osc.fields; - ObjectStreamField[] real_fields = ObjectStreamClass.lookupForClassObject(clazz).fields; - ObjectStreamField[] fieldmapping = new ObjectStreamField[2 * Math.max(stream_fields.length, real_fields.length)]; - - int stream_idx = 0; - int real_idx = 0; - int map_idx = 0; - - /* - * Check that there is no type inconsistencies between the lists. - * A special checking must be done for the two groups: primitive types and - * not primitive types. - */ - checkTypeConsistency(name, real_fields, stream_fields); - checkTypeConsistency(name, stream_fields, real_fields); - - - while (stream_idx < stream_fields.length - || real_idx < real_fields.length) - { - ObjectStreamField stream_field = null; - ObjectStreamField real_field = null; - - if (stream_idx == stream_fields.length) - { - real_field = real_fields[real_idx++]; - } - else if (real_idx == real_fields.length) - { - stream_field = stream_fields[stream_idx++]; - } - else - { - int comp_val = - real_fields[real_idx].compareTo (stream_fields[stream_idx]); - - if (comp_val < 0) - { - real_field = real_fields[real_idx++]; - } - else if (comp_val > 0) - { - stream_field = stream_fields[stream_idx++]; - } - else - { - stream_field = stream_fields[stream_idx++]; - real_field = real_fields[real_idx++]; - if (stream_field.getType() != real_field.getType()) - throw new InvalidClassException - ("invalid field type for " + real_field.getName() + - " in class " + name); - } - } - - /* If some of stream_fields does not correspond to any of real_fields, - * or the opposite, then fieldmapping will go short. - */ - if (map_idx == fieldmapping.length) - { - ObjectStreamField[] newfieldmapping = - new ObjectStreamField[fieldmapping.length + 2]; - System.arraycopy(fieldmapping, 0, - newfieldmapping, 0, fieldmapping.length); - fieldmapping = newfieldmapping; - } - fieldmapping[map_idx++] = stream_field; - fieldmapping[map_idx++] = real_field; - } - osc.fieldMapping = fieldmapping; - - return osc; - } - - /** - * Reads the current objects non-transient, non-static fields from - * the current class from the underlying output stream. - * - * This method is intended to be called from within a object's - * private void readObject (ObjectInputStream) - * method. - * - * @exception ClassNotFoundException The class that an object being - * read in belongs to cannot be found. - * - * @exception NotActiveException This method was called from a - * context other than from the current object's and current class's - * private void readObject (ObjectInputStream) - * method. - * - * @exception IOException Exception from underlying - * OutputStream. - */ - public void defaultReadObject() - throws ClassNotFoundException, IOException, NotActiveException - { - if (this.currentObject == null || this.currentObjectStreamClass == null) - throw new NotActiveException("defaultReadObject called by non-active" - + " class and/or object"); - - if (fieldsAlreadyRead) - throw new NotActiveException("defaultReadObject called but fields " - + "already read from stream (by " - + "defaultReadObject or readFields)"); - - boolean oldmode = setBlockDataMode(false); - readFields(this.currentObject, this.currentObjectStreamClass); - setBlockDataMode(oldmode); - - fieldsAlreadyRead = true; - } - - - /** - * Registers a ObjectInputValidation to be carried out - * on the object graph currently being deserialized before it is - * returned to the original caller of readObject (). - * The order of validation for multiple - * ObjectInputValidations can be controled using - * priority. Validators with higher priorities are - * called first. - * - * @see java.io.ObjectInputValidation - * - * @exception InvalidObjectException validator is - * null - * - * @exception NotActiveException an attempt was made to add a - * validator outside of the readObject method of the - * object currently being deserialized - */ - public void registerValidation(ObjectInputValidation validator, - int priority) - throws InvalidObjectException, NotActiveException - { - if (this.currentObject == null || this.currentObjectStreamClass == null) - throw new NotActiveException("registerValidation called by non-active " - + "class and/or object"); - - if (validator == null) - throw new InvalidObjectException("attempt to add a null " - + "ObjectInputValidation object"); - - this.validators.addElement(new ValidatorAndPriority (validator, - priority)); - } - - - /** - * Called when a class is being deserialized. This is a hook to - * allow subclasses to read in information written by the - * annotateClass (Class) method of an - * ObjectOutputStream. - * - * This implementation looks up the active call stack for a - * ClassLoader; if a ClassLoader is found, - * it is used to load the class associated with osc, - * otherwise, the default system ClassLoader is used. - * - * @exception IOException Exception from underlying - * OutputStream. - * - * @see java.io.ObjectOutputStream#annotateClass (java.lang.Class) - */ - protected Class resolveClass(ObjectStreamClass osc) - throws ClassNotFoundException, IOException - { - if (callersClassLoader == null) - { - callersClassLoader = currentLoader (); - if (Configuration.DEBUG && dump) - { - dumpElementln ("CallersClassLoader = " + callersClassLoader); - } - } - - return Class.forName(osc.getName(), true, callersClassLoader); - } - - /** - * Returns the most recent user defined ClassLoader on the execution stack - * or null if none is found. - */ - // GCJ LOCAL: native method. - private native ClassLoader currentLoader(); - - /** - * Lookup a class stored in the local hashtable. If it is not - * use the global lookup function in ObjectStreamClass to build - * the ObjectStreamClass. This method is requested according to - * the behaviour detected in the JDK by Kaffe's team. - * - * @param clazz Class to lookup in the hash table or for which - * we must build a descriptor. - * @return A valid instance of ObjectStreamClass corresponding - * to the specified class. - */ - private ObjectStreamClass lookupClass(Class clazz) - { - if (clazz == null) - return null; - - ObjectStreamClass oclazz; - oclazz = (ObjectStreamClass)classLookupTable.get(clazz); - if (oclazz == null) - return ObjectStreamClass.lookup(clazz); - else - return oclazz; - } - - /** - * Reconstruct class hierarchy the same way - * {@link java.io.ObjectStreamClass.getObjectStreamClasses(java.lang.Class)} does - * but using lookupClass instead of ObjectStreamClass.lookup. This - * dup is necessary localize the lookup table. Hopefully some future - * rewritings will be able to prevent this. - * - * @param clazz This is the class for which we want the hierarchy. - * - * @return An array of valid {@link java.io.ObjectStreamClass} instances which - * represent the class hierarchy for clazz. - */ - private ObjectStreamClass[] inputGetObjectStreamClasses(Class clazz) - { - ObjectStreamClass osc = lookupClass(clazz); - - if (osc == null) - return new ObjectStreamClass[0]; - else - { - Vector oscs = new Vector(); - - while (osc != null) - { - oscs.addElement(osc); - osc = osc.getSuper(); - } - - int count = oscs.size(); - ObjectStreamClass[] sorted_oscs = new ObjectStreamClass[count]; - - for (int i = count - 1; i >= 0; i--) - sorted_oscs[count - i - 1] = (ObjectStreamClass) oscs.elementAt(i); - - return sorted_oscs; - } - } - - /** - * Allows subclasses to resolve objects that are read from the - * stream with other objects to be returned in their place. This - * method is called the first time each object is encountered. - * - * This method must be enabled before it will be called in the - * serialization process. - * - * @exception IOException Exception from underlying - * OutputStream. - * - * @see #enableResolveObject(boolean) - */ - protected Object resolveObject(Object obj) throws IOException - { - return obj; - } - - - protected Class resolveProxyClass(String[] intfs) - throws IOException, ClassNotFoundException - { - ClassLoader cl = currentLoader(); - - Class[] clss = new Class[intfs.length]; - if(cl == null) - { - for (int i = 0; i < intfs.length; i++) - clss[i] = Class.forName(intfs[i]); - cl = ClassLoader.getSystemClassLoader(); - } - else - for (int i = 0; i < intfs.length; i++) - clss[i] = cl.loadClass(intfs[i]); - try - { - return Proxy.getProxyClass(cl, clss); - } - catch (IllegalArgumentException e) - { - throw new ClassNotFoundException(null, e); - } - } - - /** - * If enable is true and this object is - * trusted, then resolveObject (Object) will be called - * in subsequent calls to readObject (Object). - * Otherwise, resolveObject (Object) will not be called. - * - * @exception SecurityException This class is not trusted. - */ - protected boolean enableResolveObject (boolean enable) - throws SecurityException - { - if (enable) - { - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkPermission(new SerializablePermission("enableSubstitution")); - } - - boolean old_val = this.resolveEnabled; - this.resolveEnabled = enable; - return old_val; - } - - /** - * Reads stream magic and stream version information from the - * underlying stream. - * - * @exception IOException Exception from underlying stream. - * - * @exception StreamCorruptedException An invalid stream magic - * number or stream version was read from the stream. - */ - protected void readStreamHeader() - throws IOException, StreamCorruptedException - { - if(dump) dumpElement("STREAM MAGIC "); - if (this.realInputStream.readShort() != STREAM_MAGIC) - throw new StreamCorruptedException("Invalid stream magic number"); - - if(dump) dumpElementln("STREAM VERSION "); - if (this.realInputStream.readShort() != STREAM_VERSION) - throw new StreamCorruptedException("Invalid stream version number"); - } - - public int read() throws IOException - { - if (this.readDataFromBlock) - { - if (this.blockDataPosition >= this.blockDataBytes) - readNextBlock(); - return (this.blockData[this.blockDataPosition++] & 0xff); - } - else - return this.realInputStream.read(); - } - - public int read(byte[] data, int offset, int length) throws IOException - { - if (this.readDataFromBlock) - { - if (this.blockDataPosition + length > this.blockDataBytes) - { - int remain = this.blockDataBytes - this.blockDataPosition; - if (remain != 0) - { - System.arraycopy(this.blockData, this.blockDataPosition, - data, offset, remain); - offset += remain; - length -= remain; - } - readNextBlock (); - } - - System.arraycopy(this.blockData, this.blockDataPosition, - data, offset, length); - this.blockDataPosition += length; - - return length; - } - else - return this.realInputStream.read(data, offset, length); - } - - public int available() throws IOException - { - if (this.readDataFromBlock) - { - if (this.blockDataPosition >= this.blockDataBytes) - readNextBlock (); - - return this.blockDataBytes - this.blockDataPosition; - } - else - return this.realInputStream.available(); - } - - public void close() throws IOException - { - this.realInputStream.close(); - } - - public boolean readBoolean() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 1) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode (true); - boolean value = this.dataInputStream.readBoolean (); - if (switchmode) - setBlockDataMode (oldmode); - return value; - } - - public byte readByte() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 1) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - byte value = this.dataInputStream.readByte(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public int readUnsignedByte() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 1) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - int value = this.dataInputStream.readUnsignedByte(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public short readShort() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 2) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - short value = this.dataInputStream.readShort(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public int readUnsignedShort() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 2) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - int value = this.dataInputStream.readUnsignedShort(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public char readChar() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 2) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - char value = this.dataInputStream.readChar(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public int readInt() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 4) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - int value = this.dataInputStream.readInt(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public long readLong() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 8) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - long value = this.dataInputStream.readLong(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public float readFloat() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 4) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - float value = this.dataInputStream.readFloat(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public double readDouble() throws IOException - { - boolean switchmode = true; - boolean oldmode = this.readDataFromBlock; - if (!oldmode || this.blockDataBytes - this.blockDataPosition >= 8) - switchmode = false; - if (switchmode) - oldmode = setBlockDataMode(true); - double value = this.dataInputStream.readDouble(); - if (switchmode) - setBlockDataMode(oldmode); - return value; - } - - public void readFully(byte data[]) throws IOException - { - this.dataInputStream.readFully(data); - } - - public void readFully(byte data[], int offset, int size) - throws IOException - { - this.dataInputStream.readFully(data, offset, size); - } - - public int skipBytes(int len) throws IOException - { - return this.dataInputStream.skipBytes(len); - } - - /** - * @deprecated - * @see java.io.DataInputStream#readLine () - */ - public String readLine() throws IOException - { - return this.dataInputStream.readLine(); - } - - public String readUTF() throws IOException - { - return this.dataInputStream.readUTF(); - } - - /** - * This class allows a class to specify exactly which fields should - * be read, and what values should be read for these fields. - * - * XXX: finish up comments - */ - public abstract static class GetField - { - public abstract ObjectStreamClass getObjectStreamClass(); - - public abstract boolean defaulted(String name) - throws IOException, IllegalArgumentException; - - public abstract boolean get(String name, boolean defvalue) - throws IOException, IllegalArgumentException; - - public abstract char get(String name, char defvalue) - throws IOException, IllegalArgumentException; - - public abstract byte get(String name, byte defvalue) - throws IOException, IllegalArgumentException; - - public abstract short get(String name, short defvalue) - throws IOException, IllegalArgumentException; - - public abstract int get(String name, int defvalue) - throws IOException, IllegalArgumentException; - - public abstract long get(String name, long defvalue) - throws IOException, IllegalArgumentException; - - public abstract float get(String name, float defvalue) - throws IOException, IllegalArgumentException; - - public abstract double get(String name, double defvalue) - throws IOException, IllegalArgumentException; - - public abstract Object get(String name, Object defvalue) - throws IOException, IllegalArgumentException; - } - - /** - * This method should be called by a method called 'readObject' in the - * deserializing class (if present). It cannot (and should not)be called - * outside of it. Its goal is to read all fields in the real input stream - * and keep them accessible through the {@link #GetField} class. Calling - * this method will not alter the deserializing object. - * - * @return A valid freshly created 'GetField' instance to get access to - * the deserialized stream. - * @throws IOException An input/output exception occured. - * @throws ClassNotFoundException - * @throws NotActiveException - */ - public GetField readFields() - throws IOException, ClassNotFoundException, NotActiveException - { - if (this.currentObject == null || this.currentObjectStreamClass == null) - throw new NotActiveException("readFields called by non-active class and/or object"); - - if (prereadFields != null) - return prereadFields; - - if (fieldsAlreadyRead) - throw new NotActiveException("readFields called but fields already read from" - + " stream (by defaultReadObject or readFields)"); - - final ObjectStreamClass clazz = this.currentObjectStreamClass; - final byte[] prim_field_data = new byte[clazz.primFieldSize]; - final Object[] objs = new Object[clazz.objectFieldCount]; - - // Apparently Block data is not used with GetField as per - // empirical evidence against JDK 1.2. Also see Mauve test - // java.io.ObjectInputOutput.Test.GetPutField. - boolean oldmode = setBlockDataMode(false); - readFully(prim_field_data); - for (int i = 0; i < objs.length; ++ i) - objs[i] = readObject(); - setBlockDataMode(oldmode); - - prereadFields = new GetField() - { - public ObjectStreamClass getObjectStreamClass() - { - return clazz; - } - - public boolean defaulted(String name) - throws IOException, IllegalArgumentException - { - ObjectStreamField f = clazz.getField(name); - - /* First if we have a serialized field use the descriptor */ - if (f != null) - { - /* It is in serialPersistentFields but setClass tells us - * it should not be set. This value is defaulted. - */ - if (f.isPersistent() && !f.isToSet()) - return true; - - return false; - } - - /* This is not a serialized field. There should be - * a default value only if the field really exists. - */ - try - { - return (clazz.forClass().getDeclaredField (name) != null); - } - catch (NoSuchFieldException e) - { - throw new IllegalArgumentException(e.getMessage()); - } - } - - public boolean get(String name, boolean defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Boolean.TYPE); - - if (field == null) - return defvalue; - - return prim_field_data[field.getOffset()] == 0 ? false : true; - } - - public char get(String name, char defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Character.TYPE); - - if (field == null) - return defvalue; - - int off = field.getOffset(); - - return (char)(((prim_field_data[off++] & 0xFF) << 8) - | (prim_field_data[off] & 0xFF)); - } - - public byte get(String name, byte defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Byte.TYPE); - - if (field == null) - return defvalue; - - return prim_field_data[field.getOffset()]; - } - - public short get(String name, short defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Short.TYPE); - - if (field == null) - return defvalue; - - int off = field.getOffset(); - - return (short)(((prim_field_data[off++] & 0xFF) << 8) - | (prim_field_data[off] & 0xFF)); - } - - public int get(String name, int defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Integer.TYPE); - - if (field == null) - return defvalue; - - int off = field.getOffset(); - - return ((prim_field_data[off++] & 0xFF) << 24) - | ((prim_field_data[off++] & 0xFF) << 16) - | ((prim_field_data[off++] & 0xFF) << 8) - | (prim_field_data[off] & 0xFF); - } - - public long get(String name, long defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Long.TYPE); - - if (field == null) - return defvalue; - - int off = field.getOffset(); - - return (long)(((prim_field_data[off++] & 0xFFL) << 56) - | ((prim_field_data[off++] & 0xFFL) << 48) - | ((prim_field_data[off++] & 0xFFL) << 40) - | ((prim_field_data[off++] & 0xFFL) << 32) - | ((prim_field_data[off++] & 0xFF) << 24) - | ((prim_field_data[off++] & 0xFF) << 16) - | ((prim_field_data[off++] & 0xFF) << 8) - | (prim_field_data[off] & 0xFF)); - } - - public float get(String name, float defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Float.TYPE); - - if (field == null) - return defvalue; - - int off = field.getOffset(); - - return Float.intBitsToFloat(((prim_field_data[off++] & 0xFF) << 24) - | ((prim_field_data[off++] & 0xFF) << 16) - | ((prim_field_data[off++] & 0xFF) << 8) - | (prim_field_data[off] & 0xFF)); - } - - public double get(String name, double defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = getField(name, Double.TYPE); - - if (field == null) - return defvalue; - - int off = field.getOffset(); - - return Double.longBitsToDouble - ( (long) (((prim_field_data[off++] & 0xFFL) << 56) - | ((prim_field_data[off++] & 0xFFL) << 48) - | ((prim_field_data[off++] & 0xFFL) << 40) - | ((prim_field_data[off++] & 0xFFL) << 32) - | ((prim_field_data[off++] & 0xFF) << 24) - | ((prim_field_data[off++] & 0xFF) << 16) - | ((prim_field_data[off++] & 0xFF) << 8) - | (prim_field_data[off] & 0xFF))); - } - - public Object get(String name, Object defvalue) - throws IOException, IllegalArgumentException - { - ObjectStreamField field = - getField(name, defvalue == null ? null : defvalue.getClass ()); - - if (field == null) - return defvalue; - - return objs[field.getOffset()]; - } - - private ObjectStreamField getField(String name, Class type) - throws IllegalArgumentException - { - ObjectStreamField field = clazz.getField(name); - boolean illegal = false; - - try - { - try - { - Class field_type = field.getType(); - - if (type == field_type || - (type == null && !field_type.isPrimitive())) - { - /* See defaulted */ - return field; - } - - illegal = true; - throw new IllegalArgumentException - ("Field requested is of type " - + field_type.getName() - + ", but requested type was " - + (type == null ? "Object" : type.getName())); - } - catch (NullPointerException _) - { - /* Here we catch NullPointerException, because it may - only come from the call 'field.getType()'. If field - is null, we have to return null and classpath ethic - say we must try to avoid 'if (xxx == null)'. - */ - } - catch (IllegalArgumentException e) - { - throw e; - } - - return null; - } - finally - { - /* If this is an unassigned field we should return - * the default value. - */ - if (!illegal && field != null && !field.isToSet() && field.isPersistent()) - return null; - - /* We do not want to modify transient fields. They should - * be left to 0. - */ - try - { - Field f = clazz.forClass().getDeclaredField(name); - if (Modifier.isTransient(f.getModifiers())) - throw new IllegalArgumentException - ("no such field (non transient) " + name); - if (field == null && f.getType() != type) - throw new IllegalArgumentException - ("Invalid requested type for field " + name); - } - catch (NoSuchFieldException e) - { - if (field == null) - throw new IllegalArgumentException(e.getMessage()); - } - - } - } - }; - - fieldsAlreadyRead = true; - return prereadFields; - } - - /** - * Protected constructor that allows subclasses to override - * deserialization. This constructor should be called by subclasses - * that wish to override readObject (Object). This - * method does a security check NOTE: currently not - * implemented, then sets a flag that informs - * readObject (Object) to call the subclasses - * readObjectOverride (Object) method. - * - * @see #readObjectOverride() - */ - protected ObjectInputStream() - throws IOException, SecurityException - { - SecurityManager sec_man = System.getSecurityManager(); - if (sec_man != null) - sec_man.checkPermission(SUBCLASS_IMPLEMENTATION_PERMISSION); - this.useSubclassMethod = true; - } - - /** - * This method allows subclasses to override the default - * de serialization mechanism provided by - * ObjectInputStream. To make this method be used for - * writing objects, subclasses must invoke the 0-argument - * constructor on this class from their constructor. - * - * @see #ObjectInputStream() - */ - protected Object readObjectOverride() - throws ClassNotFoundException, IOException, OptionalDataException - { - throw new IOException("Subclass of ObjectInputStream must implement readObjectOverride"); - } - - /** - * Assigns the next available handle to obj. - * - * @param obj The object for which we want a new handle. - * @return A valid handle for the specified object. - */ - private int assignNewHandle(Object obj) - { - this.objectLookupTable.put(new Integer(this.nextOID), - new ObjectIdentityWrapper(obj)); - return this.nextOID++; - } - - private Object processResolution(ObjectStreamClass osc, Object obj, int handle) - throws IOException - { - if (osc != null && obj instanceof Serializable) - { - try - { - Method m = osc.readResolveMethod; - if(m != null) - { - obj = m.invoke(obj, new Object[] {}); - } - } - catch (IllegalAccessException ignore) - { - } - catch (InvocationTargetException exception) - { - Throwable cause = exception.getCause(); - if (cause instanceof ObjectStreamException) - throw (ObjectStreamException) cause; - else if (cause instanceof RuntimeException) - throw (RuntimeException) cause; - else if (cause instanceof Error) - throw (Error) cause; - } - } - - if (this.resolveEnabled) - obj = resolveObject(obj); - - this.objectLookupTable.put(new Integer(handle), - new ObjectIdentityWrapper(obj)); - - return obj; - } - - private void clearHandles() - { - this.objectLookupTable.clear(); - this.nextOID = baseWireHandle; - } - - private void readNextBlock() throws IOException - { - readNextBlock(this.realInputStream.readByte()); - } - - private void readNextBlock(byte marker) throws IOException - { - if (marker == TC_BLOCKDATA) - { - if(dump) dumpElement("BLOCK DATA SIZE="); - this.blockDataBytes = this.realInputStream.readUnsignedByte(); - if(dump) dumpElementln (Integer.toString(this.blockDataBytes)); - } - else if (marker == TC_BLOCKDATALONG) - { - if(dump) dumpElement("BLOCK DATA LONG SIZE="); - this.blockDataBytes = this.realInputStream.readInt(); - if(dump) dumpElementln (Integer.toString(this.blockDataBytes)); - } - else - { - throw new EOFException("Attempt to read primitive data, but no data block is active."); - } - - if (this.blockData.length < this.blockDataBytes) - this.blockData = new byte[this.blockDataBytes]; - - this.realInputStream.readFully (this.blockData, 0, this.blockDataBytes); - this.blockDataPosition = 0; - } - - private void readArrayElements (Object array, Class clazz) - throws ClassNotFoundException, IOException - { - if (clazz.isPrimitive()) - { - if (clazz == Boolean.TYPE) - { - boolean[] cast_array = (boolean[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readBoolean(); - return; - } - if (clazz == Byte.TYPE) - { - byte[] cast_array = (byte[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readByte(); - return; - } - if (clazz == Character.TYPE) - { - char[] cast_array = (char[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readChar(); - return; - } - if (clazz == Double.TYPE) - { - double[] cast_array = (double[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readDouble(); - return; - } - if (clazz == Float.TYPE) - { - float[] cast_array = (float[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readFloat(); - return; - } - if (clazz == Integer.TYPE) - { - int[] cast_array = (int[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readInt(); - return; - } - if (clazz == Long.TYPE) - { - long[] cast_array = (long[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readLong(); - return; - } - if (clazz == Short.TYPE) - { - short[] cast_array = (short[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = this.realInputStream.readShort(); - return; - } - } - else - { - Object[] cast_array = (Object[])array; - for (int i=0; i < cast_array.length; i++) - cast_array[i] = readObject(); - } - } - - private void readFields (Object obj, ObjectStreamClass stream_osc) - throws ClassNotFoundException, IOException - { - ObjectStreamField[] fields = stream_osc.fieldMapping; - - for (int i = 0; i < fields.length; i += 2) - { - ObjectStreamField stream_field = fields[i]; - ObjectStreamField real_field = fields[i + 1]; - boolean read_value = (stream_field != null && stream_field.getOffset() >= 0 && stream_field.isToSet()); - boolean set_value = (real_field != null && real_field.isToSet()); - String field_name; - char type; - - if (stream_field != null) - { - field_name = stream_field.getName(); - type = stream_field.getTypeCode(); - } - else - { - field_name = real_field.getName(); - type = real_field.getTypeCode(); - } - - switch(type) - { - case 'Z': - { - boolean value = - read_value ? this.realInputStream.readBoolean() : false; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setBooleanField(obj, value); - break; - } - case 'B': - { - byte value = - read_value ? this.realInputStream.readByte() : 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setByteField(obj, value); - break; - } - case 'C': - { - char value = - read_value ? this.realInputStream.readChar(): 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setCharField(obj, value); - break; - } - case 'D': - { - double value = - read_value ? this.realInputStream.readDouble() : 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setDoubleField(obj, value); - break; - } - case 'F': - { - float value = - read_value ? this.realInputStream.readFloat() : 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setFloatField(obj, value); - break; - } - case 'I': - { - int value = - read_value ? this.realInputStream.readInt() : 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setIntField(obj, value); - break; - } - case 'J': - { - long value = - read_value ? this.realInputStream.readLong() : 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setLongField(obj, value); - break; - } - case 'S': - { - short value = - read_value ? this.realInputStream.readShort() : 0; - if (dump && read_value && set_value) - dumpElementln(" " + field_name + ": " + value); - if (set_value) - real_field.setShortField(obj, value); - break; - } - case 'L': - case '[': - { - Object value = - read_value ? readObject() : null; - if (set_value) - real_field.setObjectField(obj, value); - break; - } - default: - throw new InternalError("Invalid type code: " + type); - } - } - } - - // Toggles writing primitive data to block-data buffer. - private boolean setBlockDataMode (boolean on) - { - boolean oldmode = this.readDataFromBlock; - this.readDataFromBlock = on; - - if (on) - this.dataInputStream = this.blockDataInput; - else - this.dataInputStream = this.realInputStream; - return oldmode; - } - - // returns a new instance of REAL_CLASS that has been constructed - // only to the level of CONSTRUCTOR_CLASS (a super class of REAL_CLASS) - private Object newObject (Class real_class, Constructor constructor) - throws ClassNotFoundException, IOException - { - if (constructor == null) - throw new InvalidClassException("Missing accessible no-arg base class constructor for " + real_class.getName()); - try - { - return allocateObject(real_class, constructor.getDeclaringClass(), constructor); - } - catch (InstantiationException e) - { - throw new ClassNotFoundException - ("Instance of " + real_class + " could not be created"); - } - } - - // runs all registered ObjectInputValidations in prioritized order - // on OBJ - private void invokeValidators() throws InvalidObjectException - { - Object[] validators = new Object[this.validators.size()]; - this.validators.copyInto (validators); - Arrays.sort (validators); - - try - { - for (int i=0; i < validators.length; i++) - ((ObjectInputValidation)validators[i]).validateObject(); - } - finally - { - this.validators.removeAllElements(); - } - } - - private void callReadMethod (Method readObject, Class klass, Object obj) - throws ClassNotFoundException, IOException - { - try - { - readObject.invoke(obj, new Object[] { this }); - } - catch (InvocationTargetException x) - { - /* Rethrow if possible. */ - Throwable exception = x.getTargetException(); - if (exception instanceof RuntimeException) - throw (RuntimeException) exception; - if (exception instanceof IOException) - throw (IOException) exception; - if (exception instanceof ClassNotFoundException) - throw (ClassNotFoundException) exception; - - throw new IOException("Exception thrown from readObject() on " + - klass + ": " + exception.getClass().getName()); - } - catch (Exception x) - { - throw new IOException("Failure invoking readObject() on " + - klass + ": " + x.getClass().getName()); - } - - // Invalidate fields which has been read through readFields. - prereadFields = null; - } - - private native Object allocateObject(Class clazz, Class constr_clazz, Constructor constructor) - throws InstantiationException; - - private static final int BUFFER_SIZE = 1024; - - private DataInputStream realInputStream; - private DataInputStream dataInputStream; - private DataInputStream blockDataInput; - private int blockDataPosition; - private int blockDataBytes; - private byte[] blockData; - private boolean useSubclassMethod; - private int nextOID; - private boolean resolveEnabled; - private Hashtable objectLookupTable; - private Object currentObject; - private ObjectStreamClass currentObjectStreamClass; - private boolean readDataFromBlock; - private boolean isDeserializing; - private boolean fieldsAlreadyRead; - private Vector validators; - private Hashtable classLookupTable; - private GetField prereadFields; - - private ClassLoader callersClassLoader; - private static boolean dump; - - // The nesting depth for debugging output - private int depth = 0; - - private void dumpElement (String msg) - { - System.out.print(msg); - } - - private void dumpElementln (String msg) - { - System.out.println(msg); - for (int i = 0; i < depth; i++) - System.out.print (" "); - System.out.print (Thread.currentThread() + ": "); - } - - static - { - if (Configuration.INIT_LOAD_LIBRARY) - { - System.loadLibrary ("javaio"); - } - } - - // used to keep a prioritized list of object validators - private static final class ValidatorAndPriority implements Comparable - { - int priority; - ObjectInputValidation validator; - - ValidatorAndPriority (ObjectInputValidation validator, int priority) - { - this.priority = priority; - this.validator = validator; - } - - public int compareTo (Object o) - { - ValidatorAndPriority vap = (ValidatorAndPriority)o; - return this.priority - vap.priority; - } - } -} - diff --git a/libjava/java/io/ObjectInputValidation.h b/libjava/java/io/ObjectInputValidation.h new file mode 100644 index 00000000000..6b0df7dfce5 --- /dev/null +++ b/libjava/java/io/ObjectInputValidation.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectInputValidation__ +#define __java_io_ObjectInputValidation__ + +#pragma interface + +#include + +class java::io::ObjectInputValidation : public ::java::lang::Object +{ + +public: + virtual void validateObject() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_ObjectInputValidation__ diff --git a/libjava/java/io/ObjectOutput.h b/libjava/java/io/ObjectOutput.h new file mode 100644 index 00000000000..ec45c019345 --- /dev/null +++ b/libjava/java/io/ObjectOutput.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectOutput__ +#define __java_io_ObjectOutput__ + +#pragma interface + +#include +#include + + +class java::io::ObjectOutput : public ::java::lang::Object +{ + +public: + virtual void write(jint) = 0; + virtual void write(JArray< jbyte > *) = 0; + virtual void write(JArray< jbyte > *, jint, jint) = 0; + virtual void writeObject(::java::lang::Object *) = 0; + virtual void flush() = 0; + virtual void close() = 0; + virtual void writeBoolean(jboolean) = 0; + virtual void writeByte(jint) = 0; + virtual void writeChar(jint) = 0; + virtual void writeShort(jint) = 0; + virtual void writeInt(jint) = 0; + virtual void writeLong(jlong) = 0; + virtual void writeFloat(jfloat) = 0; + virtual void writeDouble(jdouble) = 0; + virtual void writeBytes(::java::lang::String *) = 0; + virtual void writeChars(::java::lang::String *) = 0; + virtual void writeUTF(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_ObjectOutput__ diff --git a/libjava/java/io/ObjectOutputStream$1.h b/libjava/java/io/ObjectOutputStream$1.h new file mode 100644 index 00000000000..5890abf9004 --- /dev/null +++ b/libjava/java/io/ObjectOutputStream$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectOutputStream$1__ +#define __java_io_ObjectOutputStream$1__ + +#pragma interface + +#include +#include + + +class java::io::ObjectOutputStream$1 : public ::java::io::ObjectOutputStream$PutField +{ + +public: // actually package-private + ObjectOutputStream$1(::java::io::ObjectOutputStream *); +private: + ::java::io::ObjectStreamField * getField(::java::lang::String *); +public: + void put(::java::lang::String *, jboolean); + void put(::java::lang::String *, jbyte); + void put(::java::lang::String *, jchar); + void put(::java::lang::String *, jdouble); + void put(::java::lang::String *, jfloat); + void put(::java::lang::String *, jint); + void put(::java::lang::String *, jlong); + void put(::java::lang::String *, jshort); + void put(::java::lang::String *, ::java::lang::Object *); + void write(::java::io::ObjectOutput *); +private: + void checkType(::java::io::ObjectStreamField *, jchar); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::ObjectOutputStream$PutField)))) prim_field_data; + JArray< ::java::lang::Object * > * objs; +public: // actually package-private + ::java::io::ObjectOutputStream * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectOutputStream$1__ diff --git a/libjava/java/io/ObjectOutputStream$PutField.h b/libjava/java/io/ObjectOutputStream$PutField.h new file mode 100644 index 00000000000..790bb0e09b6 --- /dev/null +++ b/libjava/java/io/ObjectOutputStream$PutField.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectOutputStream$PutField__ +#define __java_io_ObjectOutputStream$PutField__ + +#pragma interface + +#include + +class java::io::ObjectOutputStream$PutField : public ::java::lang::Object +{ + +public: + ObjectOutputStream$PutField(); + virtual void put(::java::lang::String *, jboolean) = 0; + virtual void put(::java::lang::String *, jbyte) = 0; + virtual void put(::java::lang::String *, jchar) = 0; + virtual void put(::java::lang::String *, jdouble) = 0; + virtual void put(::java::lang::String *, jfloat) = 0; + virtual void put(::java::lang::String *, jint) = 0; + virtual void put(::java::lang::String *, jlong) = 0; + virtual void put(::java::lang::String *, jshort) = 0; + virtual void put(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void write(::java::io::ObjectOutput *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectOutputStream$PutField__ diff --git a/libjava/java/io/ObjectOutputStream.h b/libjava/java/io/ObjectOutputStream.h new file mode 100644 index 00000000000..273f04b14e4 --- /dev/null +++ b/libjava/java/io/ObjectOutputStream.h @@ -0,0 +1,122 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectOutputStream__ +#define __java_io_ObjectOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class ObjectIdentityMap2Int; + } + namespace security + { + namespace action + { + class SetAccessibleAction; + } + } + } + } +} + +class java::io::ObjectOutputStream : public ::java::io::OutputStream +{ + +public: + ObjectOutputStream(::java::io::OutputStream *); + virtual void writeObject(::java::lang::Object *); +public: // actually protected + virtual void writeClassDescriptor(::java::io::ObjectStreamClass *); +public: + virtual void defaultWriteObject(); +private: + void markFieldsWritten(); +public: + virtual void reset(); +private: + void reset(jboolean); +public: + virtual void useProtocolVersion(jint); +public: // actually protected + virtual void annotateClass(::java::lang::Class *); + virtual void annotateProxyClass(::java::lang::Class *); + virtual ::java::lang::Object * replaceObject(::java::lang::Object *); + virtual jboolean enableReplaceObject(jboolean); + virtual void writeStreamHeader(); + ObjectOutputStream(); + virtual void writeObjectOverride(::java::lang::Object *); +public: + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void flush(); +public: // actually protected + virtual void drain(); +public: + virtual void close(); + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeShort(jint); + virtual void writeChar(jint); + virtual void writeInt(jint); + virtual void writeLong(jlong); + virtual void writeFloat(jfloat); + virtual void writeDouble(jdouble); + virtual void writeBytes(::java::lang::String *); + virtual void writeChars(::java::lang::String *); + virtual void writeUTF(::java::lang::String *); + virtual ::java::io::ObjectOutputStream$PutField * putFields(); + virtual void writeFields(); +private: + void writeBlockDataHeader(jint); + jint findHandle(::java::lang::Object *); + jint assignNewHandle(::java::lang::Object *); + void clearHandles(); + void writeArraySizeAndElements(::java::lang::Object *, ::java::lang::Class *); + void writeFields(::java::lang::Object *, ::java::io::ObjectStreamClass *); + void writeFields(::java::lang::Object *, JArray< ::java::io::ObjectStreamField * > *); +public: // actually package-private + virtual jboolean setBlockDataMode(jboolean); +private: + void callWriteMethod(::java::lang::Object *, ::java::io::ObjectStreamClass *); + void dumpElementln(::java::lang::String *); + static const jint BUFFER_SIZE = 1024; + static jint defaultProtocolVersion; + ::java::io::DataOutputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) dataOutput; + jboolean writeDataAsBlocks; + ::java::io::DataOutputStream * realOutput; + ::java::io::DataOutputStream * blockDataOutput; + JArray< jbyte > * blockData; + jint blockDataCount; + ::java::lang::Object * currentObject; +public: // actually package-private + ::java::io::ObjectStreamClass * currentObjectStreamClass; +private: + ::java::io::ObjectOutputStream$PutField * currentPutField; + jboolean fieldsAlreadyWritten; + jboolean replacementEnabled; + jboolean isSerializing; + jint nextOID; + ::gnu::java::io::ObjectIdentityMap2Int * OIDLookupTable; + jint protocolVersion; + jboolean useSubclassMethod; + ::gnu::java::security::action::SetAccessibleAction * setAccessible; + jint depth; + jboolean dump; + static const jboolean DEBUG = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectOutputStream__ diff --git a/libjava/java/io/ObjectStreamClass$1.h b/libjava/java/io/ObjectStreamClass$1.h new file mode 100644 index 00000000000..c57bb25973a --- /dev/null +++ b/libjava/java/io/ObjectStreamClass$1.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamClass$1__ +#define __java_io_ObjectStreamClass$1__ + +#pragma interface + +#include + +class java::io::ObjectStreamClass$1 : public ::java::lang::Object +{ + +public: // actually package-private + ObjectStreamClass$1(::java::io::ObjectStreamClass *); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ::java::io::ObjectStreamClass * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamClass$1__ diff --git a/libjava/java/io/ObjectStreamClass$2.h b/libjava/java/io/ObjectStreamClass$2.h new file mode 100644 index 00000000000..2152ca09156 --- /dev/null +++ b/libjava/java/io/ObjectStreamClass$2.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamClass$2__ +#define __java_io_ObjectStreamClass$2__ + +#pragma interface + +#include + +class java::io::ObjectStreamClass$2 : public ::java::lang::Object +{ + +public: // actually package-private + ObjectStreamClass$2(::java::io::ObjectStreamClass *, ::java::lang::reflect::Constructor *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::io::ObjectStreamClass * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::lang::reflect::Constructor * val$c; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamClass$2__ diff --git a/libjava/java/io/ObjectStreamClass$InterfaceComparator.h b/libjava/java/io/ObjectStreamClass$InterfaceComparator.h new file mode 100644 index 00000000000..7faddc7d78d --- /dev/null +++ b/libjava/java/io/ObjectStreamClass$InterfaceComparator.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamClass$InterfaceComparator__ +#define __java_io_ObjectStreamClass$InterfaceComparator__ + +#pragma interface + +#include + +class java::io::ObjectStreamClass$InterfaceComparator : public ::java::lang::Object +{ + + ObjectStreamClass$InterfaceComparator(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ObjectStreamClass$InterfaceComparator(::java::io::ObjectStreamClass$InterfaceComparator *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamClass$InterfaceComparator__ diff --git a/libjava/java/io/ObjectStreamClass$MemberComparator.h b/libjava/java/io/ObjectStreamClass$MemberComparator.h new file mode 100644 index 00000000000..81a8ca48699 --- /dev/null +++ b/libjava/java/io/ObjectStreamClass$MemberComparator.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamClass$MemberComparator__ +#define __java_io_ObjectStreamClass$MemberComparator__ + +#pragma interface + +#include + +class java::io::ObjectStreamClass$MemberComparator : public ::java::lang::Object +{ + + ObjectStreamClass$MemberComparator(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ObjectStreamClass$MemberComparator(::java::io::ObjectStreamClass$MemberComparator *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamClass$MemberComparator__ diff --git a/libjava/java/io/ObjectStreamClass.h b/libjava/java/io/ObjectStreamClass.h new file mode 100644 index 00000000000..7638f7bed3a --- /dev/null +++ b/libjava/java/io/ObjectStreamClass.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamClass__ +#define __java_io_ObjectStreamClass__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace io + { + class NullOutputStream; + } + } + } +} + +class java::io::ObjectStreamClass : public ::java::lang::Object +{ + +public: + static ::java::io::ObjectStreamClass * lookup(::java::lang::Class *); +public: // actually package-private + static ::java::io::ObjectStreamClass * lookupForClassObject(::java::lang::Class *); +public: + virtual ::java::lang::String * getName(); + virtual ::java::lang::Class * forClass(); + virtual jlong getSerialVersionUID(); + virtual JArray< ::java::io::ObjectStreamField * > * getFields(); + virtual ::java::io::ObjectStreamField * getField(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual jboolean hasWriteMethod(); + virtual jboolean isSerializable(); + virtual jboolean isExternalizable(); + virtual jboolean isEnum(); + virtual ::java::io::ObjectStreamClass * getSuper(); + virtual JArray< ::java::io::ObjectStreamClass * > * hierarchy(); + virtual jint getFlags(); + ObjectStreamClass(::java::lang::String *, jlong, jbyte, JArray< ::java::io::ObjectStreamField * > *); + virtual void setClass(::java::lang::Class *, ::java::io::ObjectStreamClass *); + virtual void setSuperclass(::java::io::ObjectStreamClass *); + virtual void calculateOffsets(); +private: + ::java::lang::reflect::Method * findMethod(JArray< ::java::lang::reflect::Method * > *, ::java::lang::String *, JArray< ::java::lang::Class * > *, ::java::lang::Class *, jboolean); + static jboolean inSamePackage(::java::lang::Class *, ::java::lang::Class *); + static ::java::lang::reflect::Method * findAccessibleMethod(::java::lang::String *, ::java::lang::Class *); + static jboolean loadedByBootOrApplicationClassLoader(::java::lang::Class *); + void cacheMethods(); + ObjectStreamClass(::java::lang::Class *); + void setFlags(::java::lang::Class *); + void setFields(::java::lang::Class *); + jlong getClassUID(::java::lang::Class *); +public: // actually package-private + virtual jlong getClassUIDFromField(::java::lang::Class *); + virtual jlong calculateClassUID(::java::lang::Class *); +private: + JArray< ::java::io::ObjectStreamField * > * getSerialPersistentFields(::java::lang::Class *); +public: // actually package-private + virtual ::java::io::Externalizable * newInstance(); + static JArray< ::java::io::ObjectStreamField * > * INVALID_FIELDS; +private: + JArray< ::java::io::ObjectStreamClass * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hierarchy__; +public: // actually package-private + static JArray< ::java::lang::Class * > * noArgs; + static ::java::util::Hashtable * methodCache; + static JArray< ::java::lang::Class * > * readObjectSignature; + static JArray< ::java::lang::Class * > * writeObjectSignature; + static ::java::util::Hashtable * uidCache; +public: + static JArray< ::java::io::ObjectStreamField * > * NO_FIELDS; +private: + static ::java::util::Hashtable * classLookupTable; + static ::gnu::java::io::NullOutputStream * nullOutputStream; + static ::java::util::Comparator * interfaceComparator; + static ::java::util::Comparator * memberComparator; + static JArray< ::java::lang::Class * > * writeMethodArgTypes; + ::java::io::ObjectStreamClass * superClass; + ::java::lang::Class * clazz; + ::java::lang::String * name; + jlong uid; + jbyte flags; +public: // actually package-private + JArray< ::java::io::ObjectStreamField * > * fields; + jint primFieldSize; + jint objectFieldCount; + ::java::lang::reflect::Method * readObjectMethod; + ::java::lang::reflect::Method * readResolveMethod; + ::java::lang::reflect::Method * writeReplaceMethod; + ::java::lang::reflect::Method * writeObjectMethod; + jboolean realClassIsSerializable; + jboolean realClassIsExternalizable; + JArray< ::java::io::ObjectStreamField * > * fieldMapping; + ::java::lang::reflect::Constructor * firstNonSerializableParentConstructor; +private: + ::java::lang::reflect::Constructor * constructor; +public: // actually package-private + jboolean isProxyClass; +private: + static const jlong serialVersionUID = -6120832682080437368LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamClass__ diff --git a/libjava/java/io/ObjectStreamConstants.h b/libjava/java/io/ObjectStreamConstants.h new file mode 100644 index 00000000000..f4e9508738b --- /dev/null +++ b/libjava/java/io/ObjectStreamConstants.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamConstants__ +#define __java_io_ObjectStreamConstants__ + +#pragma interface + +#include + +class java::io::ObjectStreamConstants : public ::java::lang::Object +{ + +public: + static const jint PROTOCOL_VERSION_1 = 1; + static const jint PROTOCOL_VERSION_2 = 2; + static const jshort STREAM_MAGIC = -21267; + static const jshort STREAM_VERSION = 5; + static const jbyte TC_NULL = 112; + static const jbyte TC_REFERENCE = 113; + static const jbyte TC_CLASSDESC = 114; + static const jbyte TC_OBJECT = 115; + static const jbyte TC_STRING = 116; + static const jbyte TC_ARRAY = 117; + static const jbyte TC_CLASS = 118; + static const jbyte TC_BLOCKDATA = 119; + static const jbyte TC_ENDBLOCKDATA = 120; + static const jbyte TC_RESET = 121; + static const jbyte TC_BLOCKDATALONG = 122; + static const jbyte TC_EXCEPTION = 123; + static const jbyte TC_LONGSTRING = 124; + static const jbyte TC_PROXYCLASSDESC = 125; + static const jbyte TC_ENUM = 126; + static const jbyte TC_BASE = 112; + static const jbyte TC_MAX = 126; + static const jint baseWireHandle = 8257536; + static const jbyte SC_WRITE_METHOD = 1; + static const jbyte SC_SERIALIZABLE = 2; + static const jbyte SC_EXTERNALIZABLE = 4; + static const jbyte SC_BLOCK_DATA = 8; + static const jbyte SC_ENUM = 16; + static ::java::io::SerializablePermission * SUBSTITUTION_PERMISSION; + static ::java::io::SerializablePermission * SUBCLASS_IMPLEMENTATION_PERMISSION; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_ObjectStreamConstants__ diff --git a/libjava/java/io/ObjectStreamException.h b/libjava/java/io/ObjectStreamException.h new file mode 100644 index 00000000000..4ce5833516b --- /dev/null +++ b/libjava/java/io/ObjectStreamException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamException__ +#define __java_io_ObjectStreamException__ + +#pragma interface + +#include + +class java::io::ObjectStreamException : public ::java::io::IOException +{ + +public: // actually protected + ObjectStreamException(); + ObjectStreamException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7260898174833392607LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamException__ diff --git a/libjava/java/io/ObjectStreamField$1.h b/libjava/java/io/ObjectStreamField$1.h new file mode 100644 index 00000000000..e17f3c1ded7 --- /dev/null +++ b/libjava/java/io/ObjectStreamField$1.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamField$1__ +#define __java_io_ObjectStreamField$1__ + +#pragma interface + +#include + +class java::io::ObjectStreamField$1 : public ::java::lang::Object +{ + +public: // actually package-private + ObjectStreamField$1(::java::io::ObjectStreamField *, ::java::lang::reflect::Field *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::io::ObjectStreamField * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::lang::reflect::Field * val$f; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamField$1__ diff --git a/libjava/java/io/ObjectStreamField.h b/libjava/java/io/ObjectStreamField.h new file mode 100644 index 00000000000..5b3116fc116 --- /dev/null +++ b/libjava/java/io/ObjectStreamField.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_ObjectStreamField__ +#define __java_io_ObjectStreamField__ + +#pragma interface + +#include + +class java::io::ObjectStreamField : public ::java::lang::Object +{ + +public: // actually package-private + ObjectStreamField(::java::lang::reflect::Field *); +public: + ObjectStreamField(::java::lang::String *, ::java::lang::Class *); + ObjectStreamField(::java::lang::String *, ::java::lang::Class *, jboolean); +public: // actually package-private + ObjectStreamField(::java::lang::String *, ::java::lang::String *); + virtual void resolveType(::java::lang::ClassLoader *); +public: + virtual ::java::lang::String * getName(); + virtual ::java::lang::Class * getType(); + virtual jchar getTypeCode(); + virtual ::java::lang::String * getTypeString(); + virtual jint getOffset(); +public: // actually protected + virtual void setOffset(jint); +public: + virtual jboolean isUnshared(); + virtual jboolean isPrimitive(); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + virtual void setPersistent(jboolean); + virtual jboolean isPersistent(); + virtual void setToSet(jboolean); + virtual jboolean isToSet(); + virtual void lookupField(::java::lang::Class *); + virtual void checkFieldType(); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual void setBooleanField(::java::lang::Object *, jboolean); + virtual void setByteField(::java::lang::Object *, jbyte); + virtual void setCharField(::java::lang::Object *, jchar); + virtual void setShortField(::java::lang::Object *, jshort); + virtual void setIntField(::java::lang::Object *, jint); + virtual void setLongField(::java::lang::Object *, jlong); + virtual void setFloatField(::java::lang::Object *, jfloat); + virtual void setDoubleField(::java::lang::Object *, jdouble); + virtual void setObjectField(::java::lang::Object *, ::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::Class * type; + ::java::lang::String * typename$; + jint offset; + jboolean unshared; + jboolean persistent; + jboolean toset; +public: // actually package-private + ::java::lang::reflect::Field * field; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_ObjectStreamField__ diff --git a/libjava/java/io/OptionalDataException.h b/libjava/java/io/OptionalDataException.h new file mode 100644 index 00000000000..b12a8390977 --- /dev/null +++ b/libjava/java/io/OptionalDataException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_OptionalDataException__ +#define __java_io_OptionalDataException__ + +#pragma interface + +#include + +class java::io::OptionalDataException : public ::java::io::ObjectStreamException +{ + +public: // actually package-private + OptionalDataException(jboolean, jint); +private: + static const jlong serialVersionUID = -8011121865681257820LL; +public: + jboolean __attribute__((aligned(__alignof__( ::java::io::ObjectStreamException)))) eof; + jint length; + static ::java::lang::Class class$; +}; + +#endif // __java_io_OptionalDataException__ diff --git a/libjava/java/io/OutputStream.h b/libjava/java/io/OutputStream.h new file mode 100644 index 00000000000..28f158511e8 --- /dev/null +++ b/libjava/java/io/OutputStream.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_OutputStream__ +#define __java_io_OutputStream__ + +#pragma interface + +#include +#include + + +class java::io::OutputStream : public ::java::lang::Object +{ + +public: + OutputStream(); + virtual void write(jint) = 0; + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void flush(); + virtual void close(); + static ::java::lang::Class class$; +}; + +#endif // __java_io_OutputStream__ diff --git a/libjava/java/io/OutputStreamWriter.h b/libjava/java/io/OutputStreamWriter.h new file mode 100644 index 00000000000..8ad6c8e690a --- /dev/null +++ b/libjava/java/io/OutputStreamWriter.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_OutputStreamWriter__ +#define __java_io_OutputStreamWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class UnicodeToBytes; + } + } + } + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetEncoder; + } + } + } +} + +class java::io::OutputStreamWriter : public ::java::io::Writer +{ + + OutputStreamWriter(::java::io::OutputStream *, ::gnu::gcj::convert::UnicodeToBytes *); +public: + OutputStreamWriter(::java::io::OutputStream *, ::java::lang::String *); + OutputStreamWriter(::java::io::OutputStream *); + OutputStreamWriter(::java::io::OutputStream *, ::java::nio::charset::Charset *); + OutputStreamWriter(::java::io::OutputStream *, ::java::nio::charset::CharsetEncoder *); + virtual void close(); + virtual ::java::lang::String * getEncoding(); + virtual void flush(); + virtual void write(JArray< jchar > *, jint, jint); +private: + void writeChars(JArray< jchar > *, jint, jint); +public: + virtual void write(::java::lang::String *, jint, jint); + virtual void write(jint); +public: // actually package-private + ::java::io::BufferedOutputStream * __attribute__((aligned(__alignof__( ::java::io::Writer)))) out; + ::gnu::gcj::convert::UnicodeToBytes * converter; +private: + JArray< jchar > * work; + jint wcount; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_OutputStreamWriter__ diff --git a/libjava/java/io/PipedInputStream.h b/libjava/java/io/PipedInputStream.h new file mode 100644 index 00000000000..9531667af4b --- /dev/null +++ b/libjava/java/io/PipedInputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PipedInputStream__ +#define __java_io_PipedInputStream__ + +#pragma interface + +#include +#include + + +class java::io::PipedInputStream : public ::java::io::InputStream +{ + +public: + PipedInputStream(); + PipedInputStream(::java::io::PipedOutputStream *); + virtual void connect(::java::io::PipedOutputStream *); +public: // actually protected + virtual void receive(jint); +public: // actually package-private + virtual void receive(JArray< jbyte > *, jint, jint); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint available(); + virtual void close(); +public: // actually package-private + ::java::io::PipedOutputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) source; + jboolean closed; +public: // actually protected + static const jint PIPE_SIZE = 1024; + JArray< jbyte > * buffer; + jint in; + jint out; +private: + JArray< jbyte > * read_buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PipedInputStream__ diff --git a/libjava/java/io/PipedOutputStream.h b/libjava/java/io/PipedOutputStream.h new file mode 100644 index 00000000000..79e069e40f2 --- /dev/null +++ b/libjava/java/io/PipedOutputStream.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PipedOutputStream__ +#define __java_io_PipedOutputStream__ + +#pragma interface + +#include +#include + + +class java::io::PipedOutputStream : public ::java::io::OutputStream +{ + +public: + PipedOutputStream(); + PipedOutputStream(::java::io::PipedInputStream *); + virtual void connect(::java::io::PipedInputStream *); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void flush(); + virtual void close(); +public: // actually package-private + ::java::io::PipedInputStream * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) sink; + jboolean closed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PipedOutputStream__ diff --git a/libjava/java/io/PipedReader.h b/libjava/java/io/PipedReader.h new file mode 100644 index 00000000000..1eac2f79e18 --- /dev/null +++ b/libjava/java/io/PipedReader.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PipedReader__ +#define __java_io_PipedReader__ + +#pragma interface + +#include +#include + + +class java::io::PipedReader : public ::java::io::Reader +{ + +public: + PipedReader(); + PipedReader(::java::io::PipedWriter *); + virtual void connect(::java::io::PipedWriter *); +public: // actually package-private + virtual void receive(JArray< jchar > *, jint, jint); +public: + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual jboolean ready(); + virtual void close(); +public: // actually package-private + ::java::io::PipedWriter * __attribute__((aligned(__alignof__( ::java::io::Reader)))) source; + jboolean closed; + static const jint PIPE_SIZE = 2048; + JArray< jchar > * buffer; + jint in; + jint out; + JArray< jchar > * read_buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PipedReader__ diff --git a/libjava/java/io/PipedWriter.h b/libjava/java/io/PipedWriter.h new file mode 100644 index 00000000000..d1aac55aecf --- /dev/null +++ b/libjava/java/io/PipedWriter.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PipedWriter__ +#define __java_io_PipedWriter__ + +#pragma interface + +#include +#include + + +class java::io::PipedWriter : public ::java::io::Writer +{ + +public: + PipedWriter(); + PipedWriter(::java::io::PipedReader *); + virtual void connect(::java::io::PipedReader *); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void flush(); + virtual void close(); +public: // actually package-private + ::java::io::PipedReader * __attribute__((aligned(__alignof__( ::java::io::Writer)))) sink; + jboolean closed; + JArray< jchar > * read_buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PipedWriter__ diff --git a/libjava/java/io/PrintStream.h b/libjava/java/io/PrintStream.h new file mode 100644 index 00000000000..3740fc78596 --- /dev/null +++ b/libjava/java/io/PrintStream.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PrintStream__ +#define __java_io_PrintStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace convert + { + class UnicodeToBytes; + } + } + } +} + +class java::io::PrintStream : public ::java::io::FilterOutputStream +{ + +public: + PrintStream(::java::io::OutputStream *); + PrintStream(::java::io::OutputStream *, jboolean); + PrintStream(::java::io::OutputStream *, jboolean, ::java::lang::String *); + virtual jboolean checkError(); +public: // actually protected + virtual void setError(); +public: + virtual void close(); + virtual void flush(); +private: + void print(::java::lang::String *, jboolean); + void print(JArray< jchar > *, jint, jint, jboolean); + void writeChars(JArray< jchar > *, jint, jint); + void writeChars(::java::lang::String *, jint, jint); +public: + virtual void print(jboolean); + virtual void print(jint); + virtual void print(jlong); + virtual void print(jfloat); + virtual void print(jdouble); + virtual void print(::java::lang::Object *); + virtual void print(::java::lang::String *); + virtual void print(jchar); + virtual void print(JArray< jchar > *); + virtual void println(); + virtual void println(jboolean); + virtual void println(jint); + virtual void println(jlong); + virtual void println(jfloat); + virtual void println(jdouble); + virtual void println(::java::lang::Object *); + virtual void println(::java::lang::String *); + virtual void println(jchar); + virtual void println(JArray< jchar > *); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual ::java::io::PrintStream * target$append(jchar); + virtual ::java::io::PrintStream * target$append(::java::lang::CharSequence *); + virtual ::java::io::PrintStream * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::io::PrintStream * printf(::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::io::PrintStream * printf(::java::util::Locale *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::io::PrintStream * format(::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::io::PrintStream * format(::java::util::Locale *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *); + virtual ::java::lang::Appendable * append(jchar); +private: + static JArray< jchar > * line_separator; +public: // actually package-private + ::gnu::gcj::convert::UnicodeToBytes * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) converter; + JArray< jchar > * work; + JArray< jbyte > * work_bytes; +private: + jboolean error_occurred; + jboolean auto_flush; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PrintStream__ diff --git a/libjava/java/io/PrintStream.java b/libjava/java/io/PrintStream.java index dc26edafd9f..d3f386dc083 100644 --- a/libjava/java/io/PrintStream.java +++ b/libjava/java/io/PrintStream.java @@ -38,6 +38,9 @@ exception statement from your version. */ package java.io; +import java.util.Formatter; +import java.util.Locale; + import gnu.gcj.convert.UnicodeToBytes; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 @@ -58,7 +61,7 @@ import gnu.gcj.convert.UnicodeToBytes; * @author Aaron M. Renn (arenn@urbanophile.com) * @author Tom Tromey (tromey@cygnus.com) */ -public class PrintStream extends FilterOutputStream +public class PrintStream extends FilterOutputStream implements Appendable { /* Notice the implementation is quite similar to OutputStreamWriter. * This leads to some minor duplication, because neither inherits @@ -562,5 +565,52 @@ public class PrintStream extends FilterOutputStream setError (); } } + + /** @since 1.5 */ + public PrintStream append(char c) + { + print(c); + return this; + } + + /** @since 1.5 */ + public PrintStream append(CharSequence cs) + { + print(cs == null ? "null" : cs.toString()); + return this; + } + + /** @since 1.5 */ + public PrintStream append(CharSequence cs, int start, int end) + { + print(cs == null ? "null" : cs.subSequence(start, end).toString()); + return this; + } + + /** @since 1.5 */ + public PrintStream printf(String format, Object... args) + { + return format(format, args); + } + + /** @since 1.5 */ + public PrintStream printf(Locale locale, String format, Object... args) + { + return format(locale, format, args); + } + + /** @since 1.5 */ + public PrintStream format(String format, Object... args) + { + return format(Locale.getDefault(), format, args); + } + + /** @since 1.5 */ + public PrintStream format(Locale locale, String format, Object... args) + { + Formatter f = new Formatter(this, locale); + f.format(format, args); + return this; + } } // class PrintStream diff --git a/libjava/java/io/PrintWriter.h b/libjava/java/io/PrintWriter.h new file mode 100644 index 00000000000..2cbbd042dd9 --- /dev/null +++ b/libjava/java/io/PrintWriter.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PrintWriter__ +#define __java_io_PrintWriter__ + +#pragma interface + +#include +#include + + +class java::io::PrintWriter : public ::java::io::Writer +{ + +public: + PrintWriter(::java::io::Writer *); + PrintWriter(::java::io::Writer *, jboolean); + PrintWriter(::java::io::OutputStream *); + PrintWriter(::java::io::OutputStream *, jboolean); + PrintWriter(::java::lang::String *); + PrintWriter(::java::lang::String *, ::java::lang::String *); + PrintWriter(::java::io::File *); + PrintWriter(::java::io::File *, ::java::lang::String *); +public: // actually protected + virtual void setError(); +public: + virtual jboolean checkError(); + virtual void flush(); + virtual void close(); + virtual void print(::java::lang::String *); + virtual void print(jchar); + virtual void print(JArray< jchar > *); + virtual void print(jboolean); + virtual void print(jint); + virtual void print(jlong); + virtual void print(jfloat); + virtual void print(jdouble); + virtual void print(::java::lang::Object *); + virtual void println(); + virtual void println(jboolean); + virtual void println(jint); + virtual void println(jlong); + virtual void println(jfloat); + virtual void println(jdouble); + virtual void println(::java::lang::Object *); + virtual void println(::java::lang::String *); + virtual void println(jchar); + virtual void println(JArray< jchar > *); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void write(::java::lang::String *, jint, jint); + virtual void write(JArray< jchar > *); + virtual void write(::java::lang::String *); + virtual ::java::io::PrintWriter * target$append(jchar); + virtual ::java::io::PrintWriter * target$append(::java::lang::CharSequence *); + virtual ::java::io::PrintWriter * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::io::PrintWriter * printf(::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::io::PrintWriter * printf(::java::util::Locale *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::io::PrintWriter * format(::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::io::PrintWriter * format(::java::util::Locale *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *); + virtual ::java::lang::Appendable * append(jchar); + virtual ::java::io::Writer * target$append(jchar); +private: + jboolean __attribute__((aligned(__alignof__( ::java::io::Writer)))) autoflush; + jboolean error; + jboolean closed; +public: // actually protected + ::java::io::Writer * out; +private: + static JArray< jchar > * line_separator; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PrintWriter__ diff --git a/libjava/java/io/PushbackInputStream.h b/libjava/java/io/PushbackInputStream.h new file mode 100644 index 00000000000..032bfce983a --- /dev/null +++ b/libjava/java/io/PushbackInputStream.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PushbackInputStream__ +#define __java_io_PushbackInputStream__ + +#pragma interface + +#include +#include + + +class java::io::PushbackInputStream : public ::java::io::FilterInputStream +{ + +public: + PushbackInputStream(::java::io::InputStream *); + PushbackInputStream(::java::io::InputStream *, jint); + virtual jint available(); + virtual void close(); + virtual jboolean markSupported(); + virtual void reset(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void unread(jint); + virtual void unread(JArray< jbyte > *); + virtual void unread(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); +private: + static const jint DEFAULT_BUFFER_SIZE = 1; +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) buf; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PushbackInputStream__ diff --git a/libjava/java/io/PushbackReader.h b/libjava/java/io/PushbackReader.h new file mode 100644 index 00000000000..8d1c2ee5e35 --- /dev/null +++ b/libjava/java/io/PushbackReader.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_PushbackReader__ +#define __java_io_PushbackReader__ + +#pragma interface + +#include +#include + + +class java::io::PushbackReader : public ::java::io::FilterReader +{ + +public: + PushbackReader(::java::io::Reader *); + PushbackReader(::java::io::Reader *, jint); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual void reset(); + virtual jboolean ready(); + virtual jlong skip(jlong); + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual void unread(jint); + virtual void unread(JArray< jchar > *); + virtual void unread(JArray< jchar > *, jint, jint); +private: + static const jint DEFAULT_BUFFER_SIZE = 1; + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::io::FilterReader)))) buf; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_PushbackReader__ diff --git a/libjava/java/io/RandomAccessFile.h b/libjava/java/io/RandomAccessFile.h new file mode 100644 index 00000000000..6b6076dfaf2 --- /dev/null +++ b/libjava/java/io/RandomAccessFile.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_RandomAccessFile__ +#define __java_io_RandomAccessFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace channels + { + class FileChannelImpl; + } + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class FileChannel; + } + } + } +} + +class java::io::RandomAccessFile : public ::java::lang::Object +{ + +public: + RandomAccessFile(::java::io::File *, ::java::lang::String *); + RandomAccessFile(::java::lang::String *, ::java::lang::String *); + virtual void close(); + virtual ::java::io::FileDescriptor * getFD(); + virtual jlong getFilePointer(); + virtual void setLength(jlong); + virtual jlong length(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual jchar readChar(); + virtual jdouble readDouble(); + virtual jfloat readFloat(); + virtual void readFully(JArray< jbyte > *); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual jint readInt(); + virtual ::java::lang::String * readLine(); + virtual jlong readLong(); + virtual jshort readShort(); + virtual jint readUnsignedByte(); + virtual jint readUnsignedShort(); + virtual ::java::lang::String * readUTF(); + virtual void seek(jlong); + virtual jint skipBytes(jint); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeShort(jint); + virtual void writeChar(jint); + virtual void writeInt(jint); + virtual void writeLong(jlong); + virtual void writeFloat(jfloat); + virtual void writeDouble(jdouble); + virtual void writeBytes(::java::lang::String *); + virtual void writeChars(::java::lang::String *); + virtual void writeUTF(::java::lang::String *); + virtual ::java::nio::channels::FileChannel * getChannel(); +private: + ::gnu::java::nio::channels::FileChannelImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ch; + ::java::io::FileDescriptor * fd; + ::java::io::DataOutputStream * out; + ::java::io::DataInputStream * in; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_RandomAccessFile__ diff --git a/libjava/java/io/RandomAccessFile.java b/libjava/java/io/RandomAccessFile.java new file mode 100644 index 00000000000..d719a1e3b5a --- /dev/null +++ b/libjava/java/io/RandomAccessFile.java @@ -0,0 +1,1036 @@ +/* RandomAccessFile.java -- Class supporting random file I/O + Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 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. */ + + +package java.io; + +import gnu.java.nio.channels.FileChannelImpl; + +import java.nio.channels.FileChannel; + +/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 + * "The Java Language Specification", ISBN 0-201-63451-1 + * Status: Believe complete and correct to 1.1. + */ + +/** + * This class allows reading and writing of files at random locations. + * Most Java I/O classes are either pure sequential input or output. This + * class fulfills the need to be able to read the bytes of a file in an + * arbitrary order. In addition, this class implements the + * DataInput and DataOutput interfaces to allow + * the reading and writing of Java primitives. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Tom Tromey (tromey@cygnus.com) + */ +public class RandomAccessFile implements DataOutput, DataInput, Closeable +{ + + // The underlying file. + private FileChannelImpl ch; + private FileDescriptor fd; + // The corresponding input and output streams. + private DataOutputStream out; + private DataInputStream in; + + + /** + * This method initializes a new instance of RandomAccessFile + * to read from the specified File object with the specified + * access mode. The access mode is either "r" for read only access or "rw" + * for read-write access. + *

      + * Note that a SecurityManager check is made prior to + * opening the file to determine whether or not this file is allowed to + * be read or written. + * + * @param file The File object to read and/or write. + * @param mode "r" for read only or "rw" for read-write access to the file + * + * @exception IllegalArgumentException If mode has an + * illegal value + * @exception SecurityException If the requested access to the file + * is not allowed + * @exception FileNotFoundException If the file is a directory, or + * any other error occurs + */ + public RandomAccessFile (File file, String mode) + throws FileNotFoundException + { + int fdmode; + if (mode.equals("r")) + fdmode = FileChannelImpl.READ; + else if (mode.equals("rw")) + fdmode = FileChannelImpl.READ | FileChannelImpl.WRITE; + else if (mode.equals("rws")) + { + fdmode = (FileChannelImpl.READ | FileChannelImpl.WRITE + | FileChannelImpl.SYNC); + } + else if (mode.equals("rwd")) + { + fdmode = (FileChannelImpl.READ | FileChannelImpl.WRITE + | FileChannelImpl.DSYNC); + } + else + throw new IllegalArgumentException ("invalid mode: " + mode); + + final String fileName = file.getPath(); + + // The obligatory SecurityManager stuff + SecurityManager s = System.getSecurityManager(); + if (s != null) + { + s.checkRead(fileName); + + if ((fdmode & FileChannelImpl.WRITE) != 0) + s.checkWrite(fileName); + } + + ch = FileChannelImpl.create(file, fdmode); + fd = new FileDescriptor(ch); + if ((fdmode & FileChannelImpl.WRITE) != 0) + out = new DataOutputStream (new FileOutputStream (fd)); + else + out = null; + in = new DataInputStream (new FileInputStream (fd)); + } + + /** + * This method initializes a new instance of RandomAccessFile + * to read from the specified file name with the specified access mode. + * The access mode is either "r" for read only access, "rw" for read + * write access, "rws" for synchronized read/write access of both + * content and metadata, or "rwd" for read/write access + * where only content is required to be synchronous. + *

      + * Note that a SecurityManager check is made prior to + * opening the file to determine whether or not this file is allowed to + * be read or written. + * + * @param fileName The name of the file to read and/or write + * @param mode "r", "rw", "rws", or "rwd" + * + * @exception IllegalArgumentException If mode has an + * illegal value + * @exception SecurityException If the requested access to the file + * is not allowed + * @exception FileNotFoundException If the file is a directory or + * any other error occurs + */ + public RandomAccessFile (String fileName, String mode) + throws FileNotFoundException + { + this (new File(fileName), mode); + } + + /** + * This method closes the file and frees up all file related system + * resources. Since most operating systems put a limit on how many files + * may be opened at any given time, it is a good idea to close all files + * when no longer needed to avoid hitting this limit + */ + public void close () throws IOException + { + ch.close(); + } + + /** + * This method returns a FileDescriptor object that + * represents the native file handle for this file. + * + * @return The FileDescriptor object for this file + * + * @exception IOException If an error occurs + */ + public final FileDescriptor getFD () throws IOException + { + synchronized (this) + { + if (fd == null) + fd = new FileDescriptor (ch); + return fd; + } + } + + /** + * This method returns the current offset in the file at which the next + * read or write will occur + * + * @return The current file position + * + * @exception IOException If an error occurs + */ + public long getFilePointer () throws IOException + { + return ch.position(); + } + + /** + * This method sets the length of the file to the specified length. + * If the currently length of the file is longer than the specified + * length, then the file is truncated to the specified length (the + * file position is set to the end of file in this case). If the + * current length of the file is shorter than the specified length, + * the file is extended with bytes of an undefined value (the file + * position is unchanged in this case). + *

      + * The file must be open for write access for this operation to succeed. + * + * @param newLen The new length of the file + * + * @exception IOException If an error occurs + */ + public void setLength (long newLen) throws IOException + { + // FIXME: Extending a file should probably be done by one method call. + + // FileChannel.truncate() can only shrink a file. + // To expand it we need to seek forward and write at least one byte. + if (newLen < length()) + ch.truncate (newLen); + else if (newLen > length()) + { + long pos = getFilePointer(); + seek(newLen - 1); + write(0); + seek(pos); + } + } + + /** + * This method returns the length of the file in bytes + * + * @return The length of the file + * + * @exception IOException If an error occurs + */ + public long length () throws IOException + { + return ch.size(); + } + + /** + * This method reads a single byte of data from the file and returns it + * as an integer. + * + * @return The byte read as an int, or -1 if the end of the file was reached. + * + * @exception IOException If an error occurs + */ + public int read () throws IOException + { + return in.read(); + } + + /** + * This method reads bytes from the file into the specified array. The + * bytes are stored starting at the beginning of the array and up to + * buf.length bytes can be read. + * + * @param buffer The buffer to read bytes from the file into + * + * @return The actual number of bytes read or -1 if end of file + * + * @exception IOException If an error occurs + */ + public int read (byte[] buffer) throws IOException + { + return in.read (buffer); + } + + /** + * This methods reads up to len bytes from the file into the + * specified array starting at position offset into the array. + * + * @param buffer The array to read the bytes into + * @param offset The index into the array to start storing bytes + * @param len The requested number of bytes to read + * + * @return The actual number of bytes read, or -1 if end of file + * + * @exception IOException If an error occurs + */ + public int read (byte[] buffer, int offset, int len) throws IOException + { + return in.read (buffer, offset, len); + } + + /** + * This method reads a Java boolean value from an input stream. It does + * so by reading a single byte of data. If that byte is zero, then the + * value returned is false If the byte is non-zero, then + * the value returned is true + *

      + * This method can read a boolean written by an object + * implementing the + * writeBoolean() method in the DataOutput + * interface. + * + * @return The boolean value read + * + * @exception EOFException If end of file is reached before reading the + * boolean + * @exception IOException If any other error occurs + */ + public final boolean readBoolean () throws IOException + { + return in.readBoolean (); + } + + /** + * This method reads a Java byte value from an input stream. The value + * is in the range of -128 to 127. + *

      + * This method can read a byte written by an object + * implementing the + * writeByte() method in the DataOutput interface. + * + * @return The byte value read + * + * @exception EOFException If end of file is reached before reading the byte + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final byte readByte () throws IOException + { + return in.readByte (); + } + + /** + * This method reads a Java char value from an input stream. + * It operates by reading two bytes from the stream and converting them to + * a single 16-bit Java char The two bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

      + * As an example, if byte1 and byte2 represent + * the first + * and second byte read from the stream respectively, they will be + * transformed to a char in the following manner: + *

      + * (char)(((byte1 & 0xFF) << 8) | (byte2 & 0xFF) + *

      + * This method can read a char written by an object + * implementing the + * writeChar() method in the DataOutput interface. + * + * @return The char value read + * + * @exception EOFException If end of file is reached before reading the char + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final char readChar () throws IOException + { + return in.readChar(); + } + + /** + * This method reads a Java double value from an input stream. It operates + * by first reading a logn value from the stream by calling the + * readLong() method in this interface, then + * converts that long + * to a double using the longBitsToDouble + * method in the class java.lang.Double + *

      + * This method can read a double written by an object + * implementing the + * writeDouble() method in the DataOutput + * interface. + * + * @return The double value read + * + * @exception EOFException If end of file is reached before reading + * the double + * @exception IOException If any other error occurs + * + * @see java.lang.Double + * @see DataOutput + */ + public final double readDouble () throws IOException + { + return in.readDouble (); + } + + /** + * This method reads a Java float value from an input stream. It operates + * by first reading an int value from the stream by calling the + * readInt() method in this interface, then converts + * that int + * to a float using the intBitsToFloat method in + * the class java.lang.Float + *

      + * This method can read a float written by an object + * implementing the + * writeFloat() method in the DataOutput interface. + * + * @return The float value read + * + * @exception EOFException If end of file is reached before reading the float + * @exception IOException If any other error occurs + * + * @see java.lang.Float + * @see DataOutput + */ + public final float readFloat () throws IOException + { + return in.readFloat(); + } + + /** + * This method reads raw bytes into the passed array until the array is + * full. Note that this method blocks until the data is available and + * throws an exception if there is not enough data left in the stream to + * fill the buffer + * + * @param buffer The buffer into which to read the data + * + * @exception EOFException If end of file is reached before filling the + * buffer + * @exception IOException If any other error occurs + */ + public final void readFully (byte[] buffer) throws IOException + { + in.readFully(buffer); + } + + /** + * This method reads raw bytes into the passed array buf + * starting + * offset bytes into the buffer. The number of bytes read + * will be + * exactly len Note that this method blocks until the data is + * available and throws an exception if there is not enough data left in + * the stream to read len bytes. + * + * @param buffer The buffer into which to read the data + * @param offset The offset into the buffer to start storing data + * @param count The number of bytes to read into the buffer + * + * @exception EOFException If end of file is reached before filling + * the buffer + * @exception IOException If any other error occurs + */ + public final void readFully (byte[] buffer, int offset, int count) + throws IOException + { + in.readFully (buffer, offset, count); + } + + /** + * This method reads a Java int value from an input stream + * It operates by reading four bytes from the stream and converting them to + * a single Java int The bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

      + * As an example, if byte1 through byte4 + * represent the first + * four bytes read from the stream, they will be + * transformed to an int in the following manner: + *

      + * (int)(((byte1 & 0xFF) << 24) + ((byte2 & 0xFF) << 16) + + * ((byte3 & 0xFF) << 8) + (byte4 & 0xFF))) + *

      + * The value returned is in the range of 0 to 65535. + *

      + * This method can read an int written by an object + * implementing the + * writeInt() method in the DataOutput interface. + * + * @return The int value read + * + * @exception EOFException If end of file is reached before reading the int + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final int readInt () throws IOException + { + return in.readInt(); + } + + /** + * This method reads the next line of text data from an input stream. + * It operates by reading bytes and converting those bytes to + * char + * values by treating the byte read as the low eight bits of the + * char + * and using 0 as the high eight bits. Because of this, it does + * not support the full 16-bit Unicode character set. + *

      + * The reading of bytes ends when either the end of file or a line terminator + * is encountered. The bytes read are then returned as a String + * A line terminator is a byte sequence consisting of either + * \r \n or \r\n These + * termination charaters are + * discarded and are not returned as part of the string. + *

      + * This method can read data that was written by an object implementing the + * writeLine() method in DataOutput + * + * @return The line read as a String + * + * @exception IOException If an error occurs + * + * @see DataOutput + */ + public final String readLine () throws IOException + { + return in.readLine (); + } + + /** + * This method reads a Java long value from an input stream + * It operates by reading eight bytes from the stream and converting them to + * a single Java long The bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

      + * As an example, if byte1 through byte8 + * represent the first + * eight bytes read from the stream, they will be + * transformed to an long in the following manner: + *

      + * + * (long)((((long)byte1 & 0xFF) << 56) + (((long)byte2 & 0xFF) << 48) + + * (((long)byte3 & 0xFF) << 40) + (((long)byte4 & 0xFF) << 32) + + * (((long)byte5 & 0xFF) << 24) + (((long)byte6 & 0xFF) << 16) + + * (((long)byte7 & 0xFF) << 8) + ((long)byte9 & 0xFF))) + *

      + * The value returned is in the range of 0 to 65535. + *

      + * This method can read an long written by an object + * implementing the + * writeLong() method in the DataOutput interface. + * + * @return The long value read + * + * @exception EOFException If end of file is reached before reading the long + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final long readLong () throws IOException + { + return in.readLong(); + } + + /** + * This method reads a signed 16-bit value into a Java in from the stream. + * It operates by reading two bytes from the stream and converting them to + * a single 16-bit Java short The two bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

      + * As an example, if byte1 and byte2 + * represent the first + * and second byte read from the stream respectively, they will be + * transformed to a short in the following manner: + *

      + * (short)(((byte1 & 0xFF) << 8) | (byte2 & 0xFF) + *

      + * The value returned is in the range of -32768 to 32767. + *

      + * This method can read a short written by an object + * implementing the + * writeShort() method in the DataOutput interface. + * + * @return The short value read + * + * @exception EOFException If end of file is reached before reading the value + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final short readShort () throws IOException + { + return in.readShort(); + } + + /** + * This method reads 8 unsigned bits into a Java int value + * from the + * stream. The value returned is in the range of 0 to 255. + *

      + * This method can read an unsigned byte written by an object implementing + * the writeUnsignedByte() method in the + * DataOutput interface. + * + * @return The unsigned bytes value read as a Java int + * + * @exception EOFException If end of file is reached before reading the value + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final int readUnsignedByte () throws IOException + { + return in.readUnsignedByte(); + } + + /** + * This method reads 16 unsigned bits into a Java int value from the stream. + * It operates by reading two bytes from the stream and converting them to + * a single Java int The two bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

      + * As an example, if byte1 and byte2 + * represent the first + * and second byte read from the stream respectively, they will be + * transformed to an int in the following manner: + *

      + * (int)(((byte1 & 0xFF) << 8) + (byte2 & 0xFF)) + *

      + * The value returned is in the range of 0 to 65535. + *

      + * This method can read an unsigned short written by an object implementing + * the writeUnsignedShort() method in the + * DataOutput interface. + * + * @return The unsigned short value read as a Java int + * + * @exception EOFException If end of file is reached before reading the value + * @exception IOException If any other error occurs + */ + public final int readUnsignedShort () throws IOException + { + return in.readUnsignedShort(); + } + + /** + * This method reads a String from an input stream that + * is encoded in + * a modified UTF-8 format. This format has a leading two byte sequence + * that contains the remaining number of bytes to read. This two byte + * sequence is read using the readUnsignedShort() method of this + * interface. + *

      + * After the number of remaining bytes have been determined, these bytes + * are read an transformed into char values. + * These char values + * are encoded in the stream using either a one, two, or three byte format. + * The particular format in use can be determined by examining the first + * byte read. + *

      + * If the first byte has a high order bit of 0 then + * that character consists on only one byte. This character value consists + * of seven bits that are at positions 0 through 6 of the byte. As an + * example, if byte1 is the byte read from the stream, it would + * be converted to a char like so: + *

      + * (char)byte1 + *

      + * If the first byte has 110 as its high order bits, then the + * character consists of two bytes. The bits that make up the character + * value are in positions 0 through 4 of the first byte and bit positions + * 0 through 5 of the second byte. (The second byte should have + * 10 as its high order bits). These values are in most significant + * byte first (i.e., "big endian") order. + *

      + * As an example, if byte1 and byte2 + * are the first two bytes + * read respectively, and the high order bits of them match the patterns + * which indicate a two byte character encoding, then they would be + * converted to a Java char like so: + *

      + * (char)(((byte1 & 0x1F) << 6) | (byte2 & 0x3F)) + *

      + * If the first byte has a 1110 as its high order bits, then the + * character consists of three bytes. The bits that make up the character + * value are in positions 0 through 3 of the first byte and bit positions + * 0 through 5 of the other two bytes. (The second and third bytes should + * have 10 as their high order bits). These values are in most + * significant byte first (i.e., "big endian") order. + *

      + * As an example, if byte1 byte2 + * and byte3 are the + * three bytes read, and the high order bits of them match the patterns + * which indicate a three byte character encoding, then they would be + * converted to a Java char like so: + *

      + * (char)(((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) | + * (byte3 & 0x3F)) + *

      + * Note that all characters are encoded in the method that requires the + * fewest number of bytes with the exception of the character with the + * value of \u0000 which is encoded as two bytes. This is + * a modification of the UTF standard used to prevent C language style + * NUL values from appearing in the byte stream. + *

      + * This method can read data that was written by an object implementing the + * writeUTF() method in DataOutput + * + * @return The String read + * + * @exception EOFException If end of file is reached before reading the + * String + * @exception UTFDataFormatException If the data is not in UTF-8 format + * @exception IOException If any other error occurs + * + * @see DataOutput + */ + public final String readUTF () throws IOException + { + return in.readUTF(); + } + + /** + * This method sets the current file position to the specified offset + * from the beginning of the file. Note that some operating systems will + * allow the file pointer to be set past the current end of the file. + * + * @param pos The offset from the beginning of the file at which to set + * the file pointer + * + * @exception IOException If an error occurs + */ + public void seek (long pos) throws IOException + { + ch.position(pos); + } + + /** + * This method attempts to skip and discard the specified number of bytes + * in the input stream. It may actually skip fewer bytes than requested. + * The actual number of bytes skipped is returned. This method will not + * skip any bytes if passed a negative number of bytes to skip. + * + * @param numBytes The requested number of bytes to skip. + * + * @return The number of bytes actually skipped. + * + * @exception IOException If an error occurs. + */ + public int skipBytes (int numBytes) throws IOException + { + if (numBytes < 0) + throw new IllegalArgumentException ("Can't skip negative bytes: " + + numBytes); + + if (numBytes == 0) + return 0; + + long oldPos = ch.position(); + long newPos = oldPos + numBytes; + long size = ch.size(); + if (newPos > size) + newPos = size; + ch.position(newPos); + return (int) (ch.position() - oldPos); + } + + /** + * This method writes a single byte of data to the file. The file must + * be open for read-write in order for this operation to succeed. + * + * @param oneByte The byte of data to write, passed as an int. + * + * @exception IOException If an error occurs + */ + public void write (int oneByte) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.write(oneByte); + } + + /** + * This method writes all the bytes in the specified array to the file. + * The file must be open read-write in order for this operation to succeed. + * + * @param buffer The array of bytes to write to the file + */ + public void write (byte[] buffer) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.write(buffer); + } + + /** + * This method writes len bytes to the file from the specified + * array starting at index offset into the array. + * + * @param buffer The array of bytes to write to the file + * @param offset The index into the array to start writing file + * @param len The number of bytes to write + * + * @exception IOException If an error occurs + */ + public void write (byte[] buffer, int offset, int len) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.write (buffer, offset, len); + } + + /** + * This method writes a Java boolean to the underlying output + * stream. For a value of true, 1 is written to the stream. + * For a value of false, 0 is written. + * + * @param val The boolean value to write to the stream + * + * @exception IOException If an error occurs + */ + public final void writeBoolean (boolean val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeBoolean(val); + } + + /** + * This method writes a Java byte value to the underlying + * output stream. + * + * @param val The byte to write to the stream, passed + * as an int. + * + * @exception IOException If an error occurs + */ + public final void writeByte (int val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeByte(val); + } + + /** + * This method writes a Java short to the stream, high byte + * first. This method requires two bytes to encode the value. + * + * @param val The short value to write to the stream, + * passed as an int. + * + * @exception IOException If an error occurs + */ + public final void writeShort (int val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeShort(val); + } + + /** + * This method writes a single char value to the stream, + * high byte first. + * + * @param val The char value to write, passed as + * an int. + * + * @exception IOException If an error occurs + */ + public final void writeChar (int val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeChar(val); + } + + /** + * This method writes a Java int to the stream, high bytes + * first. This method requires four bytes to encode the value. + * + * @param val The int value to write to the stream. + * + * @exception IOException If an error occurs + */ + public final void writeInt (int val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeInt(val); + } + + /** + * This method writes a Java long to the stream, high bytes + * first. This method requires eight bytes to encode the value. + * + * @param val The long value to write to the stream. + * + * @exception IOException If an error occurs + */ + public final void writeLong (long val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeLong(val); + } + + /** + * This method writes a Java float value to the stream. This + * value is written by first calling the method + * Float.floatToIntBits + * to retrieve an int representing the floating point number, + * then writing this int value to the stream exactly the same + * as the writeInt() method does. + * + * @param val The floating point number to write to the stream. + * + * @exception IOException If an error occurs + * + * @see #writeInt(int) + */ + public final void writeFloat (float val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeFloat(val); + } + + /** + * This method writes a Java double value to the stream. This + * value is written by first calling the method + * Double.doubleToLongBits + * to retrieve an long representing the floating point number, + * then writing this long value to the stream exactly the same + * as the writeLong() method does. + * + * @param val The double precision floating point number to write to the + * stream. + * + * @exception IOException If an error occurs + * + * @see #writeLong(long) + */ + public final void writeDouble (double val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeDouble(val); + } + + /** + * This method writes all the bytes in a String out to the + * stream. One byte is written for each character in the String. + * The high eight bits of each character are discarded. + * + * @param val The String to write to the stream + * + * @exception IOException If an error occurs + */ + public final void writeBytes (String val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeBytes(val); + } + + /** + * This method writes all the characters in a String to the + * stream. There will be two bytes for each character value. The high + * byte of the character will be written first. + * + * @param val The String to write to the stream. + * + * @exception IOException If an error occurs + */ + public final void writeChars (String val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeChars(val); + } + + /** + * This method writes a Java String to the stream in a modified + * UTF-8 format. First, two bytes are written to the stream indicating the + * number of bytes to follow. Note that this is the number of bytes in the + * encoded String not the String length. Next + * come the encoded characters. Each character in the String + * is encoded as either one, two or three bytes. For characters in the + * range of \u0001 to \u007F, + * one byte is used. The character + * value goes into bits 0-7 and bit eight is 0. For characters in the range + * of \u0080 to \u007FF, two + * bytes are used. Bits + * 6-10 of the character value are encoded bits 0-4 of the first byte, with + * the high bytes having a value of "110". Bits 0-5 of the character value + * are stored in bits 0-5 of the second byte, with the high bits set to + * "10". This type of encoding is also done for the null character + * \u0000. This eliminates any C style NUL character values + * in the output. All remaining characters are stored as three bytes. + * Bits 12-15 of the character value are stored in bits 0-3 of the first + * byte. The high bits of the first bytes are set to "1110". Bits 6-11 + * of the character value are stored in bits 0-5 of the second byte. The + * high bits of the second byte are set to "10". And bits 0-5 of the + * character value are stored in bits 0-5 of byte three, with the high bits + * of that byte set to "10". + * + * @param val The String to write to the output in UTF format + * + * @exception IOException If an error occurs + */ + public final void writeUTF (String val) throws IOException + { + if (out == null) + throw new IOException("Bad file descriptor"); + + out.writeUTF(val); + } + + /** + * This method creates a java.nio.channels.FileChannel. + * Nio does not allow one to create a file channel directly. + * A file channel must be created by first creating an instance of + * Input/Output/RandomAccessFile and invoking the getChannel() method on it. + */ + public final synchronized FileChannel getChannel () + { + return ch; + } +} diff --git a/libjava/java/io/Reader.h b/libjava/java/io/Reader.h new file mode 100644 index 00000000000..678bc918144 --- /dev/null +++ b/libjava/java/io/Reader.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_Reader__ +#define __java_io_Reader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class CharBuffer; + } + } +} + +class java::io::Reader : public ::java::lang::Object +{ + +public: // actually protected + Reader(); + Reader(::java::lang::Object *); +public: + virtual jint read(JArray< jchar > *, jint, jint) = 0; + virtual jint read(JArray< jchar > *); + virtual jint read(); + virtual jint read(::java::nio::CharBuffer *); + virtual void close() = 0; + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual jboolean ready(); + virtual jlong skip(jlong); +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_Reader__ diff --git a/libjava/java/io/SequenceInputStream.h b/libjava/java/io/SequenceInputStream.h new file mode 100644 index 00000000000..f5baa7d103f --- /dev/null +++ b/libjava/java/io/SequenceInputStream.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_SequenceInputStream__ +#define __java_io_SequenceInputStream__ + +#pragma interface + +#include +#include + + +class java::io::SequenceInputStream : public ::java::io::InputStream +{ + +public: + SequenceInputStream(::java::util::Enumeration *); + SequenceInputStream(::java::io::InputStream *, ::java::io::InputStream *); + virtual jint available(); + virtual void close(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + ::java::io::InputStream * getNextStream(); + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) in; + ::java::io::InputStream * in2; + ::java::util::Enumeration * e; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_SequenceInputStream__ diff --git a/libjava/java/io/Serializable.h b/libjava/java/io/Serializable.h new file mode 100644 index 00000000000..12c36e55cea --- /dev/null +++ b/libjava/java/io/Serializable.h @@ -0,0 +1,18 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_Serializable__ +#define __java_io_Serializable__ + +#pragma interface + +#include + +class java::io::Serializable : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_io_Serializable__ diff --git a/libjava/java/io/SerializablePermission.h b/libjava/java/io/SerializablePermission.h new file mode 100644 index 00000000000..04c3dcee412 --- /dev/null +++ b/libjava/java/io/SerializablePermission.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_SerializablePermission__ +#define __java_io_SerializablePermission__ + +#pragma interface + +#include +#include + + +class java::io::SerializablePermission : public ::java::security::BasicPermission +{ + +public: + SerializablePermission(::java::lang::String *); + SerializablePermission(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + static const jlong serialVersionUID = 8537212141160296410LL; +private: + static JArray< ::java::lang::String * > * legal_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_SerializablePermission__ diff --git a/libjava/java/io/StreamCorruptedException.h b/libjava/java/io/StreamCorruptedException.h new file mode 100644 index 00000000000..79b0d02a9be --- /dev/null +++ b/libjava/java/io/StreamCorruptedException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_StreamCorruptedException__ +#define __java_io_StreamCorruptedException__ + +#pragma interface + +#include + +class java::io::StreamCorruptedException : public ::java::io::ObjectStreamException +{ + +public: + StreamCorruptedException(); + StreamCorruptedException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8983558202217591746LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_StreamCorruptedException__ diff --git a/libjava/java/io/StreamTokenizer.h b/libjava/java/io/StreamTokenizer.h new file mode 100644 index 00000000000..ad9496cd4bb --- /dev/null +++ b/libjava/java/io/StreamTokenizer.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_StreamTokenizer__ +#define __java_io_StreamTokenizer__ + +#pragma interface + +#include +#include + + +class java::io::StreamTokenizer : public ::java::lang::Object +{ + +public: + StreamTokenizer(::java::io::InputStream *); + StreamTokenizer(::java::io::Reader *); + virtual void commentChar(jint); + virtual void eolIsSignificant(jboolean); + virtual jint lineno(); + virtual void lowerCaseMode(jboolean); +private: + jboolean isWhitespace(jint); + jboolean isAlphabetic(jint); + jboolean isNumeric(jint); + jboolean isQuote(jint); + jboolean isComment(jint); +public: + virtual jint nextToken(); +private: + void resetChar(jint); +public: + virtual void ordinaryChar(jint); + virtual void ordinaryChars(jint, jint); + virtual void parseNumbers(); + virtual void pushBack(); + virtual void quoteChar(jint); + virtual void resetSyntax(); + virtual void slashSlashComments(jboolean); + virtual void slashStarComments(jboolean); + virtual ::java::lang::String * toString(); + virtual void whitespaceChars(jint, jint); + virtual void wordChars(jint, jint); + static const jint TT_EOF = -1; + static const jint TT_EOL = 10; + static const jint TT_NUMBER = -2; + static const jint TT_WORD = -3; +private: + static const jint TT_NONE = -4; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) ttype; + ::java::lang::String * sval; + jdouble nval; +private: + jboolean eolSignificant; + jboolean lowerCase; + jboolean slashSlash; + jboolean slashStar; + JArray< jboolean > * whitespace; + JArray< jboolean > * alphabetic; + JArray< jboolean > * numeric; + JArray< jboolean > * quote; + JArray< jboolean > * comment; + ::java::io::PushbackReader * in; + jboolean pushedBack; + jint lineNumber; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_StreamTokenizer__ diff --git a/libjava/java/io/StringBufferInputStream.h b/libjava/java/io/StringBufferInputStream.h new file mode 100644 index 00000000000..077bc4d2875 --- /dev/null +++ b/libjava/java/io/StringBufferInputStream.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_StringBufferInputStream__ +#define __java_io_StringBufferInputStream__ + +#pragma interface + +#include +#include + + +class java::io::StringBufferInputStream : public ::java::io::InputStream +{ + +public: + StringBufferInputStream(::java::lang::String *); + virtual jint available(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) buffer; + jint pos; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_StringBufferInputStream__ diff --git a/libjava/java/io/StringReader.h b/libjava/java/io/StringReader.h new file mode 100644 index 00000000000..57a2d3f8040 --- /dev/null +++ b/libjava/java/io/StringReader.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_StringReader__ +#define __java_io_StringReader__ + +#pragma interface + +#include +#include + + +class java::io::StringReader : public ::java::io::Reader +{ + +public: + StringReader(::java::lang::String *); + virtual void close(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jchar > *, jint, jint); + virtual jboolean ready(); + virtual void reset(); + virtual jlong skip(jlong); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::io::Reader)))) buf; + jint pos; + jint markedPos; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_StringReader__ diff --git a/libjava/java/io/StringWriter.h b/libjava/java/io/StringWriter.h new file mode 100644 index 00000000000..16e6de52b73 --- /dev/null +++ b/libjava/java/io/StringWriter.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_StringWriter__ +#define __java_io_StringWriter__ + +#pragma interface + +#include +#include + + +class java::io::StringWriter : public ::java::io::Writer +{ + +public: + virtual void close(); + virtual void flush(); + virtual ::java::lang::StringBuffer * getBuffer(); + StringWriter(); + StringWriter(jint); + virtual ::java::lang::String * toString(); + virtual void write(jint); + virtual void write(JArray< jchar > *, jint, jint); + virtual void write(::java::lang::String *); + virtual void write(::java::lang::String *, jint, jint); + virtual ::java::io::StringWriter * target$append(jchar); + virtual ::java::io::StringWriter * target$append(::java::lang::CharSequence *); + virtual ::java::io::StringWriter * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *); + virtual ::java::lang::Appendable * append(jchar); + virtual ::java::io::Writer * target$append(jchar); +private: + static const jint DEFAULT_BUFFER_SIZE = 16; + ::java::lang::StringBuffer * __attribute__((aligned(__alignof__( ::java::io::Writer)))) buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_StringWriter__ diff --git a/libjava/java/io/SyncFailedException.h b/libjava/java/io/SyncFailedException.h new file mode 100644 index 00000000000..1088ca2dd12 --- /dev/null +++ b/libjava/java/io/SyncFailedException.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_SyncFailedException__ +#define __java_io_SyncFailedException__ + +#pragma interface + +#include + +class java::io::SyncFailedException : public ::java::io::IOException +{ + +public: + SyncFailedException(::java::lang::String *); +private: + static const jlong serialVersionUID = -2353342684412443330LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_SyncFailedException__ diff --git a/libjava/java/io/UTFDataFormatException.h b/libjava/java/io/UTFDataFormatException.h new file mode 100644 index 00000000000..48f8cf7a626 --- /dev/null +++ b/libjava/java/io/UTFDataFormatException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_UTFDataFormatException__ +#define __java_io_UTFDataFormatException__ + +#pragma interface + +#include + +class java::io::UTFDataFormatException : public ::java::io::IOException +{ + +public: + UTFDataFormatException(); + UTFDataFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = 420743449228280612LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_UTFDataFormatException__ diff --git a/libjava/java/io/UnsupportedEncodingException.h b/libjava/java/io/UnsupportedEncodingException.h new file mode 100644 index 00000000000..6291af25593 --- /dev/null +++ b/libjava/java/io/UnsupportedEncodingException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_UnsupportedEncodingException__ +#define __java_io_UnsupportedEncodingException__ + +#pragma interface + +#include + +class java::io::UnsupportedEncodingException : public ::java::io::IOException +{ + +public: + UnsupportedEncodingException(); + UnsupportedEncodingException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4274276298326136670LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_UnsupportedEncodingException__ diff --git a/libjava/java/io/VMObjectInputStream.h b/libjava/java/io/VMObjectInputStream.h new file mode 100644 index 00000000000..307dd551fa4 --- /dev/null +++ b/libjava/java/io/VMObjectInputStream.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_VMObjectInputStream__ +#define __java_io_VMObjectInputStream__ + +#pragma interface + +#include + +class java::io::VMObjectInputStream : public ::java::lang::Object +{ + +public: // actually package-private + VMObjectInputStream(); + static ::java::lang::Object * allocateObject(::java::lang::Class *, ::java::lang::Class *, ::java::lang::reflect::Constructor *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_VMObjectInputStream__ diff --git a/libjava/java/io/VMObjectInputStream.java b/libjava/java/io/VMObjectInputStream.java new file mode 100644 index 00000000000..77bdf7170c9 --- /dev/null +++ b/libjava/java/io/VMObjectInputStream.java @@ -0,0 +1,56 @@ +/* ObjectInputStream.java -- Class used to read serialized objects + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 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. */ + + +package java.io; + +import gnu.classpath.Configuration; +import java.lang.reflect.Constructor; + +final class VMObjectInputStream +{ + /** + * Allocates a new Object of type clazz but without running the + * default constructor on it. It then calls the given constructor on + * it. The given constructor method comes from the constr_clazz + * which is a super class of the given clazz. + */ + static native Object allocateObject(Class clazz, Class constr_clazz, + Constructor constructor) + throws InstantiationException; +} diff --git a/libjava/java/io/VMObjectStreamClass.h b/libjava/java/io/VMObjectStreamClass.h new file mode 100644 index 00000000000..5f2ef2cb073 --- /dev/null +++ b/libjava/java/io/VMObjectStreamClass.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_VMObjectStreamClass__ +#define __java_io_VMObjectStreamClass__ + +#pragma interface + +#include + +class java::io::VMObjectStreamClass : public ::java::lang::Object +{ + +public: // actually package-private + VMObjectStreamClass(); + static jboolean hasClassInitializer(::java::lang::Class *); + static void setDoubleNative(::java::lang::reflect::Field *, ::java::lang::Object *, jdouble); + static void setFloatNative(::java::lang::reflect::Field *, ::java::lang::Object *, jfloat); + static void setLongNative(::java::lang::reflect::Field *, ::java::lang::Object *, jlong); + static void setIntNative(::java::lang::reflect::Field *, ::java::lang::Object *, jint); + static void setShortNative(::java::lang::reflect::Field *, ::java::lang::Object *, jshort); + static void setCharNative(::java::lang::reflect::Field *, ::java::lang::Object *, jchar); + static void setByteNative(::java::lang::reflect::Field *, ::java::lang::Object *, jbyte); + static void setBooleanNative(::java::lang::reflect::Field *, ::java::lang::Object *, jboolean); + static void setObjectNative(::java::lang::reflect::Field *, ::java::lang::Object *, ::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_VMObjectStreamClass__ diff --git a/libjava/java/io/WriteAbortedException.h b/libjava/java/io/WriteAbortedException.h new file mode 100644 index 00000000000..712c04d0fe3 --- /dev/null +++ b/libjava/java/io/WriteAbortedException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_WriteAbortedException__ +#define __java_io_WriteAbortedException__ + +#pragma interface + +#include + +class java::io::WriteAbortedException : public ::java::io::ObjectStreamException +{ + +public: + WriteAbortedException(::java::lang::String *, ::java::lang::Exception *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = -3326426625597282442LL; +public: + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::io::ObjectStreamException)))) detail; + static ::java::lang::Class class$; +}; + +#endif // __java_io_WriteAbortedException__ diff --git a/libjava/java/io/Writer.h b/libjava/java/io/Writer.h new file mode 100644 index 00000000000..611566470ba --- /dev/null +++ b/libjava/java/io/Writer.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_io_Writer__ +#define __java_io_Writer__ + +#pragma interface + +#include +#include + + +class java::io::Writer : public ::java::lang::Object +{ + +public: // actually protected + Writer(); + Writer(::java::lang::Object *); +public: + virtual void flush() = 0; + virtual void close() = 0; + virtual void write(jint); + virtual void write(JArray< jchar > *); + virtual void write(JArray< jchar > *, jint, jint) = 0; + virtual void write(::java::lang::String *); + virtual void write(::java::lang::String *, jint, jint); + virtual ::java::io::Writer * target$append(jchar); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *); + virtual ::java::io::Writer * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *); + virtual ::java::lang::Appendable * append(jchar); +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_io_Writer__ diff --git a/libjava/java/io/natObjectInputStream.cc b/libjava/java/io/natObjectInputStream.cc index 2d1a55665d1..62123965526 100644 --- a/libjava/java/io/natObjectInputStream.cc +++ b/libjava/java/io/natObjectInputStream.cc @@ -1,6 +1,6 @@ -// natObjectInputStream.cc - Native part of ObjectInputStream class. +// natObjectInputStream.cc - Native part of VMObjectInputStream class. -/* Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001, 2005, 2006 Free Software Foundation This ObjectInputStream is part of libgcj. @@ -14,8 +14,7 @@ details. */ #include #include -#include -#include +#include #include #include #include @@ -32,7 +31,7 @@ details. */ #endif jobject -java::io::ObjectInputStream::allocateObject (jclass klass, jclass, +java::io::VMObjectInputStream::allocateObject (jclass klass, jclass, ::java::lang::reflect::Constructor *ctr) { jobject obj = NULL; @@ -69,12 +68,3 @@ java::io::ObjectInputStream::allocateObject (jclass klass, jclass, return obj; } - -java::lang::ClassLoader * -java::io::ObjectInputStream::currentLoader () -{ - jclass caller = _Jv_StackTrace::GetCallingClass (&ObjectInputStream::class$); - if (caller) - return caller->getClassLoaderInternal(); - return NULL; -} diff --git a/libjava/java/lang/AbstractMethodError.h b/libjava/java/lang/AbstractMethodError.h new file mode 100644 index 00000000000..92a757da238 --- /dev/null +++ b/libjava/java/lang/AbstractMethodError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_AbstractMethodError__ +#define __java_lang_AbstractMethodError__ + +#pragma interface + +#include + +class java::lang::AbstractMethodError : public ::java::lang::IncompatibleClassChangeError +{ + +public: + AbstractMethodError(); + AbstractMethodError(::java::lang::String *); +private: + static const jlong serialVersionUID = -1654391082989018462LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_AbstractMethodError__ diff --git a/libjava/java/lang/Appendable.h b/libjava/java/lang/Appendable.h new file mode 100644 index 00000000000..d304ff9cfd0 --- /dev/null +++ b/libjava/java/lang/Appendable.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Appendable__ +#define __java_lang_Appendable__ + +#pragma interface + +#include + +class java::lang::Appendable : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Appendable * append(jchar) = 0; + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *) = 0; + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Appendable__ diff --git a/libjava/java/lang/ArithmeticException.h b/libjava/java/lang/ArithmeticException.h new file mode 100644 index 00000000000..8d784adb7e7 --- /dev/null +++ b/libjava/java/lang/ArithmeticException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ArithmeticException__ +#define __java_lang_ArithmeticException__ + +#pragma interface + +#include + +class java::lang::ArithmeticException : public ::java::lang::RuntimeException +{ + +public: + ArithmeticException(); + ArithmeticException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2256477558314496007LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ArithmeticException__ diff --git a/libjava/java/lang/ArrayIndexOutOfBoundsException.h b/libjava/java/lang/ArrayIndexOutOfBoundsException.h new file mode 100644 index 00000000000..8e65f70f741 --- /dev/null +++ b/libjava/java/lang/ArrayIndexOutOfBoundsException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ArrayIndexOutOfBoundsException__ +#define __java_lang_ArrayIndexOutOfBoundsException__ + +#pragma interface + +#include + +class java::lang::ArrayIndexOutOfBoundsException : public ::java::lang::IndexOutOfBoundsException +{ + +public: + ArrayIndexOutOfBoundsException(); + ArrayIndexOutOfBoundsException(::java::lang::String *); + ArrayIndexOutOfBoundsException(jint); +private: + static const jlong serialVersionUID = -5116101128118950844LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ArrayIndexOutOfBoundsException__ diff --git a/libjava/java/lang/ArrayStoreException.h b/libjava/java/lang/ArrayStoreException.h new file mode 100644 index 00000000000..8e120d11cbb --- /dev/null +++ b/libjava/java/lang/ArrayStoreException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ArrayStoreException__ +#define __java_lang_ArrayStoreException__ + +#pragma interface + +#include + +class java::lang::ArrayStoreException : public ::java::lang::RuntimeException +{ + +public: + ArrayStoreException(); + ArrayStoreException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4522193890499838241LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ArrayStoreException__ diff --git a/libjava/java/lang/AssertionError.h b/libjava/java/lang/AssertionError.h new file mode 100644 index 00000000000..0154c04b3f4 --- /dev/null +++ b/libjava/java/lang/AssertionError.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_AssertionError__ +#define __java_lang_AssertionError__ + +#pragma interface + +#include + +class java::lang::AssertionError : public ::java::lang::Error +{ + +public: + AssertionError(); + AssertionError(::java::lang::Object *); + AssertionError(jboolean); + AssertionError(jchar); + AssertionError(jint); + AssertionError(jlong); + AssertionError(jfloat); + AssertionError(jdouble); +private: + static const jlong serialVersionUID = -5013299493970297370LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_AssertionError__ diff --git a/libjava/java/lang/Boolean.h b/libjava/java/lang/Boolean.h new file mode 100644 index 00000000000..a8476f7b8b1 --- /dev/null +++ b/libjava/java/lang/Boolean.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Boolean__ +#define __java_lang_Boolean__ + +#pragma interface + +#include + +class java::lang::Boolean : public ::java::lang::Object +{ + +public: + Boolean(jboolean); + Boolean(::java::lang::String *); + jboolean booleanValue(); + static ::java::lang::Boolean * valueOf(jboolean); + static ::java::lang::Boolean * valueOf(::java::lang::String *); + static ::java::lang::String * toString(jboolean); + ::java::lang::String * toString(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static jboolean getBoolean(::java::lang::String *); + jint target$compareTo(::java::lang::Boolean *); + static jboolean parseBoolean(::java::lang::String *); + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = -3665804199014368530LL; +public: + static ::java::lang::Boolean * TRUE; + static ::java::lang::Boolean * FALSE; + static ::java::lang::Class * TYPE; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Boolean__ diff --git a/libjava/java/lang/Byte.h b/libjava/java/lang/Byte.h new file mode 100644 index 00000000000..2caccd7be5c --- /dev/null +++ b/libjava/java/lang/Byte.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Byte__ +#define __java_lang_Byte__ + +#pragma interface + +#include +#include + + +class java::lang::Byte : public ::java::lang::Number +{ + +public: + Byte(jbyte); + Byte(::java::lang::String *); + static ::java::lang::String * toString(jbyte); + static jbyte parseByte(::java::lang::String *); + static jbyte parseByte(::java::lang::String *, jint); + static ::java::lang::Byte * valueOf(::java::lang::String *, jint); + static ::java::lang::Byte * valueOf(::java::lang::String *); + static ::java::lang::Byte * valueOf(jbyte); + static ::java::lang::Byte * decode(::java::lang::String *); + jbyte byteValue(); + jshort shortValue(); + jint intValue(); + jlong longValue(); + jfloat floatValue(); + jdouble doubleValue(); + ::java::lang::String * toString(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint target$compareTo(::java::lang::Byte *); + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = -7183698231559129828LL; +public: + static const jbyte MIN_VALUE = -128; + static const jbyte MAX_VALUE = 127; + static ::java::lang::Class * TYPE; + static const jint SIZE = 8; +private: + static JArray< ::java::lang::Byte * > * byteCache; + jbyte __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Byte__ diff --git a/libjava/java/lang/CharSequence.h b/libjava/java/lang/CharSequence.h new file mode 100644 index 00000000000..1348b564d04 --- /dev/null +++ b/libjava/java/lang/CharSequence.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_CharSequence__ +#define __java_lang_CharSequence__ + +#pragma interface + +#include + +class java::lang::CharSequence : public ::java::lang::Object +{ + +public: + virtual jchar charAt(jint) = 0; + virtual jint length() = 0; + virtual ::java::lang::CharSequence * subSequence(jint, jint) = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_CharSequence__ diff --git a/libjava/java/lang/Character$Subset.h b/libjava/java/lang/Character$Subset.h new file mode 100644 index 00000000000..93f2ba1cb34 --- /dev/null +++ b/libjava/java/lang/Character$Subset.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Character$Subset__ +#define __java_lang_Character$Subset__ + +#pragma interface + +#include + +class java::lang::Character$Subset : public ::java::lang::Object +{ + +public: // actually protected + Character$Subset(::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Character$Subset__ diff --git a/libjava/java/lang/Character$UnicodeBlock.h b/libjava/java/lang/Character$UnicodeBlock.h new file mode 100644 index 00000000000..43fa6b447e3 --- /dev/null +++ b/libjava/java/lang/Character$UnicodeBlock.h @@ -0,0 +1,161 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Character$UnicodeBlock__ +#define __java_lang_Character$UnicodeBlock__ + +#pragma interface + +#include +#include + + +class java::lang::Character$UnicodeBlock : public ::java::lang::Character$Subset +{ + + Character$UnicodeBlock(jint, jint, ::java::lang::String *, ::java::lang::String *); +public: + static ::java::lang::Character$UnicodeBlock * of(jchar); + static ::java::lang::Character$UnicodeBlock * of(jint); + static ::java::lang::Character$UnicodeBlock * forName(::java::lang::String *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Character$Subset)))) start; + jint end; + ::java::lang::String * canonicalName; + static const jint CANONICAL_NAME = 0; + static const jint NO_SPACES_NAME = 1; + static const jint CONSTANT_NAME = 2; +public: + static ::java::lang::Character$UnicodeBlock * BASIC_LATIN; + static ::java::lang::Character$UnicodeBlock * LATIN_1_SUPPLEMENT; + static ::java::lang::Character$UnicodeBlock * LATIN_EXTENDED_A; + static ::java::lang::Character$UnicodeBlock * LATIN_EXTENDED_B; + static ::java::lang::Character$UnicodeBlock * IPA_EXTENSIONS; + static ::java::lang::Character$UnicodeBlock * SPACING_MODIFIER_LETTERS; + static ::java::lang::Character$UnicodeBlock * COMBINING_DIACRITICAL_MARKS; + static ::java::lang::Character$UnicodeBlock * GREEK; + static ::java::lang::Character$UnicodeBlock * CYRILLIC; + static ::java::lang::Character$UnicodeBlock * CYRILLIC_SUPPLEMENTARY; + static ::java::lang::Character$UnicodeBlock * ARMENIAN; + static ::java::lang::Character$UnicodeBlock * HEBREW; + static ::java::lang::Character$UnicodeBlock * ARABIC; + static ::java::lang::Character$UnicodeBlock * SYRIAC; + static ::java::lang::Character$UnicodeBlock * THAANA; + static ::java::lang::Character$UnicodeBlock * DEVANAGARI; + static ::java::lang::Character$UnicodeBlock * BENGALI; + static ::java::lang::Character$UnicodeBlock * GURMUKHI; + static ::java::lang::Character$UnicodeBlock * GUJARATI; + static ::java::lang::Character$UnicodeBlock * ORIYA; + static ::java::lang::Character$UnicodeBlock * TAMIL; + static ::java::lang::Character$UnicodeBlock * TELUGU; + static ::java::lang::Character$UnicodeBlock * KANNADA; + static ::java::lang::Character$UnicodeBlock * MALAYALAM; + static ::java::lang::Character$UnicodeBlock * SINHALA; + static ::java::lang::Character$UnicodeBlock * THAI; + static ::java::lang::Character$UnicodeBlock * LAO; + static ::java::lang::Character$UnicodeBlock * TIBETAN; + static ::java::lang::Character$UnicodeBlock * MYANMAR; + static ::java::lang::Character$UnicodeBlock * GEORGIAN; + static ::java::lang::Character$UnicodeBlock * HANGUL_JAMO; + static ::java::lang::Character$UnicodeBlock * ETHIOPIC; + static ::java::lang::Character$UnicodeBlock * CHEROKEE; + static ::java::lang::Character$UnicodeBlock * UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS; + static ::java::lang::Character$UnicodeBlock * OGHAM; + static ::java::lang::Character$UnicodeBlock * RUNIC; + static ::java::lang::Character$UnicodeBlock * TAGALOG; + static ::java::lang::Character$UnicodeBlock * HANUNOO; + static ::java::lang::Character$UnicodeBlock * BUHID; + static ::java::lang::Character$UnicodeBlock * TAGBANWA; + static ::java::lang::Character$UnicodeBlock * KHMER; + static ::java::lang::Character$UnicodeBlock * MONGOLIAN; + static ::java::lang::Character$UnicodeBlock * LIMBU; + static ::java::lang::Character$UnicodeBlock * TAI_LE; + static ::java::lang::Character$UnicodeBlock * KHMER_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * PHONETIC_EXTENSIONS; + static ::java::lang::Character$UnicodeBlock * LATIN_EXTENDED_ADDITIONAL; + static ::java::lang::Character$UnicodeBlock * GREEK_EXTENDED; + static ::java::lang::Character$UnicodeBlock * GENERAL_PUNCTUATION; + static ::java::lang::Character$UnicodeBlock * SUPERSCRIPTS_AND_SUBSCRIPTS; + static ::java::lang::Character$UnicodeBlock * CURRENCY_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * COMBINING_MARKS_FOR_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * LETTERLIKE_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * NUMBER_FORMS; + static ::java::lang::Character$UnicodeBlock * ARROWS; + static ::java::lang::Character$UnicodeBlock * MATHEMATICAL_OPERATORS; + static ::java::lang::Character$UnicodeBlock * MISCELLANEOUS_TECHNICAL; + static ::java::lang::Character$UnicodeBlock * CONTROL_PICTURES; + static ::java::lang::Character$UnicodeBlock * OPTICAL_CHARACTER_RECOGNITION; + static ::java::lang::Character$UnicodeBlock * ENCLOSED_ALPHANUMERICS; + static ::java::lang::Character$UnicodeBlock * BOX_DRAWING; + static ::java::lang::Character$UnicodeBlock * BLOCK_ELEMENTS; + static ::java::lang::Character$UnicodeBlock * GEOMETRIC_SHAPES; + static ::java::lang::Character$UnicodeBlock * MISCELLANEOUS_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * DINGBATS; + static ::java::lang::Character$UnicodeBlock * MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A; + static ::java::lang::Character$UnicodeBlock * SUPPLEMENTAL_ARROWS_A; + static ::java::lang::Character$UnicodeBlock * BRAILLE_PATTERNS; + static ::java::lang::Character$UnicodeBlock * SUPPLEMENTAL_ARROWS_B; + static ::java::lang::Character$UnicodeBlock * MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B; + static ::java::lang::Character$UnicodeBlock * SUPPLEMENTAL_MATHEMATICAL_OPERATORS; + static ::java::lang::Character$UnicodeBlock * MISCELLANEOUS_SYMBOLS_AND_ARROWS; + static ::java::lang::Character$UnicodeBlock * CJK_RADICALS_SUPPLEMENT; + static ::java::lang::Character$UnicodeBlock * KANGXI_RADICALS; + static ::java::lang::Character$UnicodeBlock * IDEOGRAPHIC_DESCRIPTION_CHARACTERS; + static ::java::lang::Character$UnicodeBlock * CJK_SYMBOLS_AND_PUNCTUATION; + static ::java::lang::Character$UnicodeBlock * HIRAGANA; + static ::java::lang::Character$UnicodeBlock * KATAKANA; + static ::java::lang::Character$UnicodeBlock * BOPOMOFO; + static ::java::lang::Character$UnicodeBlock * HANGUL_COMPATIBILITY_JAMO; + static ::java::lang::Character$UnicodeBlock * KANBUN; + static ::java::lang::Character$UnicodeBlock * BOPOMOFO_EXTENDED; + static ::java::lang::Character$UnicodeBlock * KATAKANA_PHONETIC_EXTENSIONS; + static ::java::lang::Character$UnicodeBlock * ENCLOSED_CJK_LETTERS_AND_MONTHS; + static ::java::lang::Character$UnicodeBlock * CJK_COMPATIBILITY; + static ::java::lang::Character$UnicodeBlock * CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A; + static ::java::lang::Character$UnicodeBlock * YIJING_HEXAGRAM_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * CJK_UNIFIED_IDEOGRAPHS; + static ::java::lang::Character$UnicodeBlock * YI_SYLLABLES; + static ::java::lang::Character$UnicodeBlock * YI_RADICALS; + static ::java::lang::Character$UnicodeBlock * HANGUL_SYLLABLES; + static ::java::lang::Character$UnicodeBlock * HIGH_SURROGATES; + static ::java::lang::Character$UnicodeBlock * HIGH_PRIVATE_USE_SURROGATES; + static ::java::lang::Character$UnicodeBlock * LOW_SURROGATES; + static ::java::lang::Character$UnicodeBlock * PRIVATE_USE_AREA; + static ::java::lang::Character$UnicodeBlock * CJK_COMPATIBILITY_IDEOGRAPHS; + static ::java::lang::Character$UnicodeBlock * ALPHABETIC_PRESENTATION_FORMS; + static ::java::lang::Character$UnicodeBlock * ARABIC_PRESENTATION_FORMS_A; + static ::java::lang::Character$UnicodeBlock * VARIATION_SELECTORS; + static ::java::lang::Character$UnicodeBlock * COMBINING_HALF_MARKS; + static ::java::lang::Character$UnicodeBlock * CJK_COMPATIBILITY_FORMS; + static ::java::lang::Character$UnicodeBlock * SMALL_FORM_VARIANTS; + static ::java::lang::Character$UnicodeBlock * ARABIC_PRESENTATION_FORMS_B; + static ::java::lang::Character$UnicodeBlock * HALFWIDTH_AND_FULLWIDTH_FORMS; + static ::java::lang::Character$UnicodeBlock * SPECIALS; + static ::java::lang::Character$UnicodeBlock * LINEAR_B_SYLLABARY; + static ::java::lang::Character$UnicodeBlock * LINEAR_B_IDEOGRAMS; + static ::java::lang::Character$UnicodeBlock * AEGEAN_NUMBERS; + static ::java::lang::Character$UnicodeBlock * OLD_ITALIC; + static ::java::lang::Character$UnicodeBlock * GOTHIC; + static ::java::lang::Character$UnicodeBlock * UGARITIC; + static ::java::lang::Character$UnicodeBlock * DESERET; + static ::java::lang::Character$UnicodeBlock * SHAVIAN; + static ::java::lang::Character$UnicodeBlock * OSMANYA; + static ::java::lang::Character$UnicodeBlock * CYPRIOT_SYLLABARY; + static ::java::lang::Character$UnicodeBlock * BYZANTINE_MUSICAL_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * MUSICAL_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * TAI_XUAN_JING_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * MATHEMATICAL_ALPHANUMERIC_SYMBOLS; + static ::java::lang::Character$UnicodeBlock * CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B; + static ::java::lang::Character$UnicodeBlock * CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT; + static ::java::lang::Character$UnicodeBlock * TAGS; + static ::java::lang::Character$UnicodeBlock * VARIATION_SELECTORS_SUPPLEMENT; + static ::java::lang::Character$UnicodeBlock * SUPPLEMENTARY_PRIVATE_USE_AREA_A; + static ::java::lang::Character$UnicodeBlock * SUPPLEMENTARY_PRIVATE_USE_AREA_B; + static ::java::lang::Character$UnicodeBlock * SURROGATES_AREA; +private: + static JArray< ::java::lang::Character$UnicodeBlock * > * sets; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Character$UnicodeBlock__ diff --git a/libjava/java/lang/Character.h b/libjava/java/lang/Character.h new file mode 100644 index 00000000000..ed913ab7c7e --- /dev/null +++ b/libjava/java/lang/Character.h @@ -0,0 +1,175 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Character__ +#define __java_lang_Character__ + +#pragma interface + +#include +#include + + +class java::lang::Character : public ::java::lang::Object +{ + + static jchar readChar(jchar); + static jchar readCodePoint(jint); +public: + Character(jchar); + jchar charValue(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + ::java::lang::String * toString(); + static ::java::lang::String * toString(jchar); + static jboolean isLowerCase(jchar); + static jboolean isLowerCase(jint); + static jboolean isUpperCase(jchar); + static jboolean isUpperCase(jint); + static jboolean isTitleCase(jchar); + static jboolean isTitleCase(jint); + static jboolean isDigit(jchar); + static jboolean isDigit(jint); + static jboolean isDefined(jchar); + static jboolean isDefined(jint); + static jboolean isLetter(jchar); + static jboolean isLetter(jint); + static jboolean isLetterOrDigit(jchar); + static jboolean isLetterOrDigit(jint); + static jboolean isJavaLetter(jchar); + static jboolean isJavaIdentifierStart(jint); + static jboolean isJavaLetterOrDigit(jchar); + static jboolean isJavaIdentifierStart(jchar); + static jboolean isJavaIdentifierPart(jchar); + static jboolean isJavaIdentifierPart(jint); + static jboolean isUnicodeIdentifierStart(jchar); + static jboolean isUnicodeIdentifierStart(jint); + static jboolean isUnicodeIdentifierPart(jchar); + static jboolean isUnicodeIdentifierPart(jint); + static jboolean isIdentifierIgnorable(jchar); + static jboolean isIdentifierIgnorable(jint); + static jchar toLowerCase(jchar); + static jint toLowerCase(jint); + static jchar toUpperCase(jchar); + static jint toUpperCase(jint); + static jchar toTitleCase(jchar); + static jint toTitleCase(jint); + static jint digit(jchar, jint); + static jint digit(jint, jint); + static jint getNumericValue(jchar); + static jint getNumericValue(jint); + static jboolean isSpace(jchar); + static jboolean isSpaceChar(jchar); + static jboolean isSpaceChar(jint); + static jboolean isWhitespace(jchar); + static jboolean isWhitespace(jint); + static jboolean isISOControl(jchar); + static jboolean isISOControl(jint); + static jint getType(jchar); + static jint getType(jint); + static jchar forDigit(jint, jint); + static jbyte getDirectionality(jchar); + static jbyte getDirectionality(jint); + static jboolean isMirrored(jchar); + static jboolean isMirrored(jint); + jint compareTo(::java::lang::Character *); + jint compareTo(::java::lang::Object *); + static ::java::lang::Character * valueOf(jchar); + static jchar reverseBytes(jchar); + static JArray< jchar > * toChars(jint); + static jint toChars(jint, JArray< jchar > *, jint); + static jint charCount(jint); + static jboolean isSupplementaryCodePoint(jint); + static jboolean isValidCodePoint(jint); + static jboolean isHighSurrogate(jchar); + static jboolean isLowSurrogate(jchar); + static jboolean isSurrogatePair(jchar, jchar); + static jint toCodePoint(jchar, jchar); + static jint codePointAt(::java::lang::CharSequence *, jint); + static jint codePointAt(JArray< jchar > *, jint); + static jint codePointAt(JArray< jchar > *, jint, jint); + static jint codePointBefore(JArray< jchar > *, jint); + static jint codePointBefore(JArray< jchar > *, jint, jint); + static jint codePointBefore(::java::lang::CharSequence *, jint); +private: + jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static const jlong serialVersionUID = 3786198910865385080LL; +public: + static const jint MIN_RADIX = 2; + static const jint MAX_RADIX = 36; + static const jchar MIN_VALUE = 0; + static const jchar MAX_VALUE = 65535; + static ::java::lang::Class * TYPE; + static const jint SIZE = 16; +private: + static const jint MAX_CACHE = 127; + static JArray< ::java::lang::Character * > * charCache; +public: + static const jbyte UPPERCASE_LETTER = 1; + static const jbyte LOWERCASE_LETTER = 2; + static const jbyte TITLECASE_LETTER = 3; + static const jbyte NON_SPACING_MARK = 6; + static const jbyte COMBINING_SPACING_MARK = 8; + static const jbyte ENCLOSING_MARK = 7; + static const jbyte DECIMAL_DIGIT_NUMBER = 9; + static const jbyte LETTER_NUMBER = 10; + static const jbyte OTHER_NUMBER = 11; + static const jbyte SPACE_SEPARATOR = 12; + static const jbyte LINE_SEPARATOR = 13; + static const jbyte PARAGRAPH_SEPARATOR = 14; + static const jbyte CONTROL = 15; + static const jbyte FORMAT = 16; + static const jbyte SURROGATE = 19; + static const jbyte PRIVATE_USE = 18; + static const jbyte UNASSIGNED = 0; + static const jbyte MODIFIER_LETTER = 4; + static const jbyte OTHER_LETTER = 5; + static const jbyte CONNECTOR_PUNCTUATION = 23; + static const jbyte DASH_PUNCTUATION = 20; + static const jbyte START_PUNCTUATION = 21; + static const jbyte END_PUNCTUATION = 22; + static const jbyte INITIAL_QUOTE_PUNCTUATION = 29; + static const jbyte FINAL_QUOTE_PUNCTUATION = 30; + static const jbyte OTHER_PUNCTUATION = 24; + static const jbyte MATH_SYMBOL = 25; + static const jbyte CURRENCY_SYMBOL = 26; + static const jbyte MODIFIER_SYMBOL = 27; + static const jbyte OTHER_SYMBOL = 28; + static const jbyte DIRECTIONALITY_UNDEFINED = -1; + static const jbyte DIRECTIONALITY_LEFT_TO_RIGHT = 0; + static const jbyte DIRECTIONALITY_RIGHT_TO_LEFT = 1; + static const jbyte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2; + static const jbyte DIRECTIONALITY_EUROPEAN_NUMBER = 3; + static const jbyte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4; + static const jbyte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5; + static const jbyte DIRECTIONALITY_ARABIC_NUMBER = 6; + static const jbyte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7; + static const jbyte DIRECTIONALITY_NONSPACING_MARK = 8; + static const jbyte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9; + static const jbyte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10; + static const jbyte DIRECTIONALITY_SEGMENT_SEPARATOR = 11; + static const jbyte DIRECTIONALITY_WHITESPACE = 12; + static const jbyte DIRECTIONALITY_OTHER_NEUTRALS = 13; + static const jbyte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14; + static const jbyte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15; + static const jbyte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16; + static const jbyte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17; + static const jbyte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; +private: + static const jint TYPE_MASK = 31; + static const jint NO_BREAK_MASK = 32; + static const jint MIRROR_MASK = 64; +public: + static const jint MIN_SUPPLEMENTARY_CODE_POINT = 65536; + static const jint MIN_CODE_POINT = 0; + static const jint MAX_CODE_POINT = 1114111; + static const jchar MIN_HIGH_SURROGATE = 55296; + static const jchar MAX_HIGH_SURROGATE = 56319; + static const jchar MIN_LOW_SURROGATE = 56320; + static const jchar MAX_LOW_SURROGATE = 57343; + static const jchar MIN_SURROGATE = 55296; + static const jchar MAX_SURROGATE = 57343; + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Character__ diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h index 82a66fb814b..d0cf5af7e9f 100644 --- a/libjava/java/lang/Class.h +++ b/libjava/java/lang/Class.h @@ -192,6 +192,24 @@ struct _Jv_TypeAssertion _Jv_Utf8Const *op2; }; +typedef enum +{ + JV_CLASS_ATTR, + JV_METHOD_ATTR, + JV_FIELD_ATTR, + JV_DONE_ATTR +} jv_attr_type; + +typedef enum +{ + JV_INNER_CLASSES_KIND, + JV_ENCLOSING_METHOD_KIND, + JV_SIGNATURE_KIND, + JV_ANNOTATIONS_KIND, + JV_PARAMETER_ANNOTATIONS_KIND, + JV_ANNOTATION_DEFAULT_KIND +} jv_attr_kind; + #define JV_PRIMITIVE_VTABLE ((_Jv_VTable *) -1) #define JV_CLASS(Obj) ((jclass) (*(_Jv_VTable **) Obj)->clas) @@ -341,6 +359,15 @@ private: java::lang::reflect::Method *_getMethod (jstring, JArray *); java::lang::reflect::Method *_getDeclaredMethod (jstring, JArray *); + jstring getReflectionSignature (jint /*jv_attr_type*/ type, + jint obj_index); + jstring getReflectionSignature (::java::lang::reflect::Method *); + jstring getReflectionSignature (::java::lang::reflect::Constructor *); + jstring getReflectionSignature (::java::lang::reflect::Field *); + + jstring getClassSignature(); + jobject getMethodDefaultValue (::java::lang::reflect::Method *); + public: JArray *getFields (void); @@ -403,10 +430,34 @@ public: JArray *getTypeParameters (void); + jint getEnclosingMethodData(void); java::lang::Class *getEnclosingClass (void); java::lang::reflect::Constructor *getEnclosingConstructor (void); java::lang::reflect::Method *getEnclosingMethod (void); - jboolean isEnum (void); + jobjectArray getDeclaredAnnotations(jint, jint, jint); + jobjectArray getDeclaredAnnotations(::java::lang::reflect::Method *, + jboolean); + jobjectArray getDeclaredAnnotations(::java::lang::reflect::Constructor *, + jboolean); + jobjectArray getDeclaredAnnotations(::java::lang::reflect::Field *); + JArray< ::java::lang::annotation::Annotation *> *getDeclaredAnnotationsInternal(); + + jboolean isEnum (void) + { + return (accflags & 0x4000) != 0; + } + jboolean isSynthetic (void) + { + return (accflags & 0x1000) != 0; + } + jboolean isAnnotation (void) + { + return (accflags & 0x2000) != 0; + } + + jboolean isAnonymousClass(); + jboolean isLocalClass(); + jboolean isMemberClass(); // FIXME: this probably shouldn't be public. jint size (void) @@ -428,6 +479,20 @@ public: // types. See prims.cc. Class (); + // Given the BC ABI version, return the size of an Class initializer. + static jlong initializerSize (jlong ABI) + { + unsigned long version = ABI & 0xfffff; + int abi_rev = version % 100; + + // The reflection_data field was added by abi_rev 1. + if (abi_rev == 0) + return ((char*)(&::java::lang::Class::class$.reflection_data) + - (char*)&::java::lang::Class::class$); + + return sizeof (::java::lang::Class); + } + static java::lang::Class class$; private: @@ -444,6 +509,9 @@ private: notifyAll (); } + jint findInnerClassAttribute(); + jint findDeclaredClasses(JArray *, jboolean, jint); + // Friend functions implemented in natClass.cc. friend _Jv_Method *::_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name, _Jv_Utf8Const *signature); @@ -562,6 +630,11 @@ private: friend void ::_Jv_CopyClassesToSystemLoader (gnu::gcj::runtime::SystemClassLoader *); + friend class java::lang::reflect::Field; + friend class java::lang::reflect::Method; + friend class java::lang::reflect::Constructor; + friend class java::lang::reflect::VMProxy; + // Chain for class pool. This also doubles as the ABI version // number. It is only used for this purpose at class registration // time, and only for precompiled classes. @@ -644,6 +717,8 @@ private: void *aux_info; // Execution engine. _Jv_ExecutionEngine *engine; + // Reflection data. + unsigned char *reflection_data; }; // Inline functions that are friends of java::lang::Class diff --git a/libjava/java/lang/Class.java b/libjava/java/lang/Class.java index f301f358427..a071ee36cd0 100644 --- a/libjava/java/lang/Class.java +++ b/libjava/java/lang/Class.java @@ -38,12 +38,14 @@ exception statement from your version. */ package java.lang; +import gnu.java.lang.reflect.ClassSignatureParser; import java.io.InputStream; import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.GenericDeclaration; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Type; @@ -53,6 +55,11 @@ import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; +import java.util.HashMap; +import java.util.Collection; +import java.lang.reflect.AnnotatedElement; +import java.lang.annotation.Annotation; +import java.lang.annotation.Inherited; /** * A Class represents a Java type. There will never be multiple Class @@ -83,7 +90,8 @@ import java.util.HashSet; * @since 1.0 * @see ClassLoader */ -public final class Class implements Type, GenericDeclaration, Serializable +public final class Class + implements Type, AnnotatedElement, GenericDeclaration, Serializable { /** * Class is non-instantiable from Java code; only the VM can create @@ -112,7 +120,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws ExceptionInInitializerError if the class loads, but an exception * occurs during initialization */ - public static native Class forName (String className) + public static native Class forName (String className) throws ClassNotFoundException; // A private internal method that is called by compiler-generated code. @@ -147,8 +155,8 @@ public final class Class implements Type, GenericDeclaration, Serializable * @see ClassLoader * @since 1.2 */ - public static native Class forName (String className, boolean initialize, - ClassLoader loader) + public static native Class forName (String className, boolean initialize, + ClassLoader loader) throws ClassNotFoundException; /** @@ -163,7 +171,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws SecurityException if the security check fails * @since 1.1 */ - public Class[] getClasses() + public Class[] getClasses() { memberAccessCheck(Member.PUBLIC); return internalGetClasses(); @@ -172,16 +180,16 @@ public final class Class implements Type, GenericDeclaration, Serializable /** * Like getClasses() but without the security checks. */ - private Class[] internalGetClasses() + private Class[] internalGetClasses() { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); list.addAll(Arrays.asList(getDeclaredClasses(true))); Class superClass = getSuperclass(); if (superClass != null) list.addAll(Arrays.asList(superClass.internalGetClasses())); - return (Class[])list.toArray(new Class[list.size()]); + return list.toArray(new Class[list.size()]); } - + /** * Get the ClassLoader that loaded this class. If the class was loaded * by the bootstrap classloader, this method will return null. @@ -216,7 +224,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @see Array * @since 1.1 */ - public native Class getComponentType (); + public native Class getComponentType (); /** * Get a public constructor declared in this class. If the constructor takes @@ -232,7 +240,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @see #getConstructors() * @since 1.1 */ - public native Constructor getConstructor(Class[] args) + public native Constructor getConstructor(Class... args) throws NoSuchMethodException; /** @@ -247,7 +255,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws SecurityException if the security check fails * @since 1.1 */ - public Constructor[] getConstructors() + public Constructor[] getConstructors() { memberAccessCheck(Member.PUBLIC); return getDeclaredConstructors(true); @@ -267,7 +275,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @see #getDeclaredConstructors() * @since 1.1 */ - public native Constructor getDeclaredConstructor(Class[] args) + public native Constructor getDeclaredConstructor(Class... args) throws NoSuchMethodException; /** @@ -282,13 +290,13 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws SecurityException if the security check fails * @since 1.1 */ - public Class[] getDeclaredClasses() + public Class[] getDeclaredClasses() { memberAccessCheck(Member.DECLARED); return getDeclaredClasses(false); } - native Class[] getDeclaredClasses (boolean publicOnly); + native Class[] getDeclaredClasses (boolean publicOnly); /** * Get all the declared constructors of this class. This returns an array of @@ -302,13 +310,13 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws SecurityException if the security check fails * @since 1.1 */ - public Constructor[] getDeclaredConstructors() + public Constructor[] getDeclaredConstructors() { memberAccessCheck(Member.DECLARED); return getDeclaredConstructors(false); } - native Constructor[] getDeclaredConstructors (boolean publicOnly); + native Constructor[] getDeclaredConstructors (boolean publicOnly); /** * Get a field declared in this class, where name is its simple name. The @@ -369,7 +377,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @see #getDeclaredMethods() * @since 1.1 */ - public Method getDeclaredMethod(String methodName, Class[] args) + public Method getDeclaredMethod(String methodName, Class... args) throws NoSuchMethodException { memberAccessCheck(Member.DECLARED); @@ -409,7 +417,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @since 1.1 */ // This is marked as unimplemented in the JCL book. - public native Class getDeclaringClass (); + public native Class getDeclaringClass (); private native Field getField (String fieldName, int hash) throws NoSuchFieldException; @@ -498,7 +506,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * * @return the interfaces this class directly implements */ - public native Class[] getInterfaces (); + public native Class[] getInterfaces (); private final native void getSignature(StringBuffer buffer); private static final native String getSignature(Class[] args, @@ -528,7 +536,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @see #getMethods() * @since 1.1 */ - public Method getMethod(String methodName, Class[] args) + public Method getMethod(String methodName, Class... args) throws NoSuchMethodException { memberAccessCheck(Member.PUBLIC); @@ -701,7 +709,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * * @return the direct superclass of this class */ - public native Class getSuperclass (); + public native Class getSuperclass (); /** * Return whether this class is an array type. @@ -725,7 +733,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws NullPointerException if c is null * @since 1.1 */ - public native boolean isAssignableFrom (Class c); + public native boolean isAssignableFrom (Class c); /** * Discover whether an Object is an instance of this Class. Think of it @@ -783,7 +791,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * @throws ExceptionInInitializerError if class initialization caused by * this call fails with an exception */ - public native Object newInstance () + public native T newInstance () throws InstantiationException, IllegalAccessException; // We need a native method to retrieve the protection domain, because we @@ -930,6 +938,123 @@ public final class Class implements Type, GenericDeclaration, Serializable } } + + /** + *

      + * Casts this class to represent a subclass of the specified class. + * This method is useful for `narrowing' the type of a class so that + * the class object, and instances of that class, can match the contract + * of a more restrictive method. For example, if this class has the + * static type of Class<Object>, and a dynamic type of + * Class<Rectangle>, then, assuming Shape is + * a superclass of Rectangle, this method can be used on + * this class with the parameter, Class<Shape>, to retain + * the same instance but with the type + * Class<? extends Shape>. + *

      + *

      + * If this class can be converted to an instance which is parameterised + * over a subtype of the supplied type, U, then this method + * returns an appropriately cast reference to this object. Otherwise, + * a ClassCastException is thrown. + *

      + * + * @param klass the class object, the parameterized type (U) of + * which should be a superclass of the parameterized type of + * this instance. + * @return a reference to this object, appropriately cast. + * @throws ClassCastException if this class can not be converted to one + * which represents a subclass of the specified + * type, U. + * @since 1.5 + */ + public Class asSubclass(Class klass) + { + if (! klass.isAssignableFrom(this)) + throw new ClassCastException(); + return (Class) this; + } + + /** + * Returns the specified object, cast to this Class' type. + * + * @param obj the object to cast + * @throws ClassCastException if obj is not an instance of this class + * @since 1.5 + */ + public T cast(Object obj) + { + if (obj != null && ! isInstance(obj)) + throw new ClassCastException(); + return (T) obj; + } + + /** + * Returns the enumeration constants of this class, or + * null if this class is not an Enum. + * + * @return an array of Enum constants + * associated with this class, or null if this + * class is not an enum. + * @since 1.5 + */ + public T[] getEnumConstants() + { + if (isEnum()) + { + try + { + return (T[]) getMethod("values").invoke(null); + } + catch (NoSuchMethodException exception) + { + throw new Error("Enum lacks values() method"); + } + catch (IllegalAccessException exception) + { + throw new Error("Unable to access Enum class"); + } + catch (InvocationTargetException exception) + { + throw new + RuntimeException("The values method threw an exception", + exception); + } + } + else + { + return null; + } + } + + /** + * Returns true if this class is an Enum. + * + * @return true if this is an enumeration class. + * @since 1.5 + */ + public native boolean isEnum(); + + + /** + * Returns true if this class is a synthetic class, generated by + * the compiler. + * + * @return true if this is a synthetic class. + * @since 1.5 + */ + public native boolean isSynthetic(); + + + /** + * Returns true if this class is an Annotation. + * + * @return true if this is an annotation class. + * @since 1.5 + */ + public native boolean isAnnotation(); + + /** * Returns the simple name for this class, as used in the source * code. For normal classes, this is the content returned by @@ -945,25 +1070,22 @@ public final class Class implements Type, GenericDeclaration, Serializable */ public String getSimpleName() { - // FIXME write real implementation - return ""; - } - - /** - * Returns all annotations directly defined by this class. If there are - * no annotations associated with this class, then a zero-length array - * will be returned. The returned array may be modified by the client - * code, but this will have no effect on the annotation content of this - * class, and hence no effect on the return value of this method for - * future callers. - * - * @return the annotations directly defined by this class. - * @since 1.5 - */ - public Annotation[] getDeclaredAnnotations() - { - // FIXME write real implementation - return new Annotation[0]; + StringBuffer sb = new StringBuffer(); + Class klass = this; + int arrayCount = 0; + while (klass.isArray()) + { + klass = klass.getComponentType(); + ++arrayCount; + } + if (! klass.isAnonymousClass()) + { + String fullName = klass.getName(); + sb.append(fullName, fullName.lastIndexOf(".") + 1, fullName.length()); + } + while (arrayCount-- > 0) + sb.append("[]"); + return sb.toString(); } /** @@ -974,12 +1096,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * a top-level class. * @since 1.5 */ - /* FIXME[GENERICS]: Should return Class */ - public Class getEnclosingClass() - { - // FIXME write real implementation - return null; - } + public native Class getEnclosingClass(); /** * Returns the constructor which immediately encloses this class. If @@ -992,12 +1109,7 @@ public final class Class implements Type, GenericDeclaration, Serializable * is returned. * @since 1.5 */ - /* FIXME[GENERICS]: Should return Constructor */ - public Constructor getEnclosingConstructor() - { - // FIXME write real implementation - return null; - } + public native Constructor getEnclosingConstructor(); /** * Returns the method which immediately encloses this class. If @@ -1010,10 +1122,100 @@ public final class Class implements Type, GenericDeclaration, Serializable * is returned. * @since 1.5 */ - public Method getEnclosingMethod() + public native Method getEnclosingMethod(); + + private native String getClassSignature(); + + /** + *

      + * Returns an array of Type objects which represent the + * interfaces directly implemented by this class or extended by this + * interface. + *

      + *

      + * If one of the superinterfaces is a parameterized type, then the + * object returned for this interface reflects the actual type + * parameters used in the source code. Type parameters are created + * using the semantics specified by the ParameterizedType + * interface, and only if an instance has not already been created. + *

      + *

      + * The order of the interfaces in the array matches the order in which + * the interfaces are declared. For classes which represent an array, + * an array of two interfaces, Cloneable and + * Serializable, is always returned, with the objects in + * that order. A class representing a primitive type or void always + * returns an array of zero size. + *

      + * + * @return an array of interfaces implemented or extended by this class. + * @throws GenericSignatureFormatError if the generic signature of one + * of the interfaces does not comply with that specified by the Java + * Virtual Machine specification, 3rd edition. + * @throws TypeNotPresentException if any of the superinterfaces refers + * to a non-existant type. + * @throws MalformedParameterizedTypeException if any of the interfaces + * refer to a parameterized type that can not be instantiated for + * some reason. + * @since 1.5 + * @see java.lang.reflect.ParameterizedType + */ + public Type[] getGenericInterfaces() { - // FIXME write real implementation - return null; + if (isPrimitive()) + return new Type[0]; + + String sig = getClassSignature(); + if (sig == null) + return getInterfaces(); + + ClassSignatureParser p = new ClassSignatureParser(this, sig); + return p.getInterfaceTypes(); + } + + /** + *

      + * Returns a Type object representing the direct superclass, + * whether class, interface, primitive type or void, of this class. + * If this class is an array class, then a class instance representing + * the Object class is returned. If this class is primitive, + * an interface, or a representation of either the Object + * class or void, then null is returned. + *

      + *

      + * If the superclass is a parameterized type, then the + * object returned for this interface reflects the actual type + * parameters used in the source code. Type parameters are created + * using the semantics specified by the ParameterizedType + * interface, and only if an instance has not already been created. + *

      + * + * @return the superclass of this class. + * @throws GenericSignatureFormatError if the generic signature of the + * class does not comply with that specified by the Java + * Virtual Machine specification, 3rd edition. + * @throws TypeNotPresentException if the superclass refers + * to a non-existant type. + * @throws MalformedParameterizedTypeException if the superclass + * refers to a parameterized type that can not be instantiated for + * some reason. + * @since 1.5 + * @see java.lang.reflect.ParameterizedType + */ + public Type getGenericSuperclass() + { + if (isArray()) + return Object.class; + + if (isPrimitive() || isInterface() || this == Object.class) + return null; + + String sig = getClassSignature(); + if (sig == null) + return getSuperclass(); + + ClassSignatureParser p = new ClassSignatureParser(this, sig); + return p.getSuperclassType(); } /** @@ -1022,29 +1224,129 @@ public final class Class implements Type, GenericDeclaration, Serializable * An array of size zero is returned if this class has no type * variables. * - * @return the type variables associated with this class. + * @return the type variables associated with this class. * @throws GenericSignatureFormatError if the generic signature does * not conform to the format specified in the Virtual Machine * specification, version 3. * @since 1.5 */ - /* FIXME[GENERICS]: Should return TypeVariable> */ - public TypeVariable[] getTypeParameters() + public TypeVariable>[] getTypeParameters() { - // FIXME - provide real implementation. - return new TypeVariable[0]; + String sig = getClassSignature(); + if (sig == null) + return (TypeVariable>[])new TypeVariable[0]; + + ClassSignatureParser p = new ClassSignatureParser(this, sig); + return p.getTypeParameters(); } /** - * Returns true if this class is an Enum. + * Returns this class' annotation for the specified annotation type, + * or null if no such annotation exists. * - * @return true if this is an enumeration class. + * @param annotationClass the type of annotation to look for. + * @return this class' annotation for the specified type, or + * null if no such annotation exists. * @since 1.5 */ - public boolean isEnum() + public A getAnnotation(Class annotationClass) { - // FIXME - provide real implementation. - return false; + A foundAnnotation = null; + Annotation[] annotations = getAnnotations(); + for (Annotation annotation : annotations) + if (annotation.annotationType() == annotationClass) + foundAnnotation = (A) annotation; + return foundAnnotation; } + /** + * Returns all annotations associated with this class. If there are + * no annotations associated with this class, then a zero-length array + * will be returned. The returned array may be modified by the client + * code, but this will have no effect on the annotation content of this + * class, and hence no effect on the return value of this method for + * future callers. + * + * @return this class' annotations. + * @since 1.5 + */ + public Annotation[] getAnnotations() + { + HashMap map = new HashMap(); + for (Annotation a : getDeclaredAnnotations()) + map.put((Class) a.annotationType(), a); + for (Class s = getSuperclass(); + s != null; + s = s.getSuperclass()) + { + for (Annotation a : s.getDeclaredAnnotations()) + { + Class k = (Class) a.annotationType(); + if (! map.containsKey(k) && k.isAnnotationPresent(Inherited.class)) + map.put(k, a); + } + } + Collection v = map.values(); + return v.toArray(new Annotation[v.size()]); + } + + /** + * Returns all annotations directly defined by this class. If there are + * no annotations associated with this class, then a zero-length array + * will be returned. The returned array may be modified by the client + * code, but this will have no effect on the annotation content of this + * class, and hence no effect on the return value of this method for + * future callers. + * + * @return the annotations directly defined by this class. + * @since 1.5 + */ + public Annotation[] getDeclaredAnnotations() + { + Annotation[] result = getDeclaredAnnotationsInternal(); + if (result == null) + result = new Annotation[0]; + return result; + } + + private native Annotation[] getDeclaredAnnotationsInternal(); + + /** + * Returns true if an annotation for the specified type is associated + * with this class. This is primarily a short-hand for using marker + * annotations. + * + * @param annotationClass the type of annotation to look for. + * @return true if an annotation exists for the specified type. + * @since 1.5 + */ + public boolean isAnnotationPresent(Class + annotationClass) + { + return getAnnotation(annotationClass) != null; + } + + /** + * Returns true if this object represents an anonymous class. + * + * @return true if this object represents an anonymous class. + * @since 1.5 + */ + public native boolean isAnonymousClass(); + + /** + * Returns true if this object represents an local class. + * + * @return true if this object represents an local class. + * @since 1.5 + */ + public native boolean isLocalClass(); + + /** + * Returns true if this object represents an member class. + * + * @return true if this object represents an member class. + * @since 1.5 + */ + public native boolean isMemberClass(); } diff --git a/libjava/java/lang/ClassCastException.h b/libjava/java/lang/ClassCastException.h new file mode 100644 index 00000000000..55c0bcc8871 --- /dev/null +++ b/libjava/java/lang/ClassCastException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ClassCastException__ +#define __java_lang_ClassCastException__ + +#pragma interface + +#include + +class java::lang::ClassCastException : public ::java::lang::RuntimeException +{ + +public: + ClassCastException(); + ClassCastException(::java::lang::String *); +private: + static const jlong serialVersionUID = -9223365651070458532LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ClassCastException__ diff --git a/libjava/java/lang/ClassCircularityError.h b/libjava/java/lang/ClassCircularityError.h new file mode 100644 index 00000000000..81d6f93adf0 --- /dev/null +++ b/libjava/java/lang/ClassCircularityError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ClassCircularityError__ +#define __java_lang_ClassCircularityError__ + +#pragma interface + +#include + +class java::lang::ClassCircularityError : public ::java::lang::LinkageError +{ + +public: + ClassCircularityError(); + ClassCircularityError(::java::lang::String *); +private: + static const jlong serialVersionUID = 1054362542914539689LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ClassCircularityError__ diff --git a/libjava/java/lang/ClassFormatError.h b/libjava/java/lang/ClassFormatError.h new file mode 100644 index 00000000000..ee6664f5610 --- /dev/null +++ b/libjava/java/lang/ClassFormatError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ClassFormatError__ +#define __java_lang_ClassFormatError__ + +#pragma interface + +#include + +class java::lang::ClassFormatError : public ::java::lang::LinkageError +{ + +public: + ClassFormatError(); + ClassFormatError(::java::lang::String *); +private: + static const jlong serialVersionUID = -8420114879011949195LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ClassFormatError__ diff --git a/libjava/java/lang/ClassLoader$AnnotationsKey.h b/libjava/java/lang/ClassLoader$AnnotationsKey.h new file mode 100644 index 00000000000..1a395b07bd6 --- /dev/null +++ b/libjava/java/lang/ClassLoader$AnnotationsKey.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ClassLoader$AnnotationsKey__ +#define __java_lang_ClassLoader$AnnotationsKey__ + +#pragma interface + +#include +#include + + +class java::lang::ClassLoader$AnnotationsKey : public ::java::lang::Object +{ + +public: + ClassLoader$AnnotationsKey(::java::lang::Class *, jint, jint, jint); + jboolean equals(::java::lang::Object *); + jint hashCode(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) member_type; + jint member_index; + jint kind_req; + ::java::lang::Class * declaringClass; + jint hashCode__; +public: + static JArray< ::java::lang::annotation::Annotation * > * NIL; + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ClassLoader$AnnotationsKey__ diff --git a/libjava/java/lang/ClassLoader.h b/libjava/java/lang/ClassLoader.h new file mode 100644 index 00000000000..0b82a046786 --- /dev/null +++ b/libjava/java/lang/ClassLoader.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ClassLoader__ +#define __java_lang_ClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + namespace nio + { + class ByteBuffer; + } + namespace security + { + class ProtectionDomain; + } + } +} + +jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader); +void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar); + +class java::lang::ClassLoader : public ::java::lang::Object +{ + +public: // actually package-private + virtual JArray< ::java::lang::Object * > * getDeclaredAnnotations(::java::lang::Class *, jint, jint, jint); + virtual JArray< ::java::lang::Object * > * putDeclaredAnnotations(::java::lang::Class *, jint, jint, jint, JArray< ::java::lang::Object * > *); +public: // actually protected + ClassLoader(); + ClassLoader(::java::lang::ClassLoader *); +public: + virtual ::java::lang::Class * loadClass(::java::lang::String *); +private: + ::java::lang::Class * loadClassFromSig(::java::lang::String *); +public: // actually protected + virtual ::java::lang::Class * loadClass(::java::lang::String *, jboolean); + virtual ::java::lang::Class * findClass(::java::lang::String *); + virtual ::java::lang::Class * defineClass(JArray< jbyte > *, jint, jint); + virtual ::java::lang::Class * defineClass(::java::lang::String *, JArray< jbyte > *, jint, jint); + virtual ::java::lang::Class * defineClass(::java::lang::String *, JArray< jbyte > *, jint, jint, ::java::security::ProtectionDomain *); + virtual ::java::lang::Class * defineClass(::java::lang::String *, ::java::nio::ByteBuffer *, ::java::security::ProtectionDomain *); + virtual void resolveClass(::java::lang::Class *); + virtual ::java::lang::Class * findSystemClass(::java::lang::String *); +public: + virtual ::java::lang::ClassLoader * getParent(); +public: // actually protected + virtual void setSigners(::java::lang::Class *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::Class * findLoadedClass(::java::lang::String *); +public: + virtual ::java::net::URL * getResource(::java::lang::String *); + virtual ::java::util::Enumeration * getResources(::java::lang::String *); +public: // actually protected + virtual ::java::util::Enumeration * findResources(::java::lang::String *); + virtual ::java::net::URL * findResource(::java::lang::String *); +public: + static ::java::net::URL * getSystemResource(::java::lang::String *); + static ::java::util::Enumeration * getSystemResources(::java::lang::String *); + virtual ::java::io::InputStream * getResourceAsStream(::java::lang::String *); + static ::java::io::InputStream * getSystemResourceAsStream(::java::lang::String *); + static ::java::lang::ClassLoader * getSystemClassLoader(); +public: // actually protected + virtual ::java::lang::Package * definePackage(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::net::URL *); + virtual ::java::lang::Package * getPackage(::java::lang::String *); + virtual JArray< ::java::lang::Package * > * getPackages(); + virtual ::java::lang::String * findLibrary(::java::lang::String *); +public: + virtual void setDefaultAssertionStatus(jboolean); + virtual void setPackageAssertionStatus(::java::lang::String *, jboolean); + virtual void setClassAssertionStatus(::java::lang::String *, jboolean); + virtual void clearAssertionStatus(); +public: // actually package-private + virtual jboolean isAncestorOf(::java::lang::ClassLoader *); + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loadedClasses; + ::java::util::HashMap * definedPackages; +private: + ::java::lang::ClassLoader * parent; + jboolean initialized; +public: // actually package-private + static ::java::lang::ClassLoader * systemClassLoader; +private: + ::java::util::concurrent::ConcurrentHashMap * declaredAnnotations; +public: // actually package-private + static ::java::security::ProtectionDomain * defaultProtectionDomain; + jboolean defaultAssertionStatus; + static ::java::util::Map * systemPackageAssertionStatus; + ::java::util::Map * packageAssertionStatus; + static ::java::util::Map * systemClassAssertionStatus; + ::java::util::Map * classAssertionStatus; +public: + static ::java::lang::Class class$; + + friend jclass (::_Jv_FindClass) (_Jv_Utf8Const *name, java::lang::ClassLoader *loader); + friend void ::_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar); +}; + +#endif // __java_lang_ClassLoader__ diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java index bcbfc298bd4..50bd26f36b5 100644 --- a/libjava/java/lang/ClassLoader.java +++ b/libjava/java/lang/ClassLoader.java @@ -39,12 +39,14 @@ exception statement from your version. */ package java.lang; import gnu.classpath.SystemProperties; +import gnu.classpath.VMStackWalker; import gnu.java.util.DoubleEnumeration; import gnu.java.util.EmptyEnumeration; import java.io.IOException; import java.io.InputStream; import java.net.URL; +import java.nio.ByteBuffer; import java.security.CodeSource; import java.security.PermissionCollection; import java.security.Policy; @@ -53,6 +55,9 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.lang.annotation.Annotation; + /** * The ClassLoader is a way of customizing the way Java gets its classes * and loads them into memory. The verifier and other standard Java things @@ -157,6 +162,85 @@ public abstract class ClassLoader static final ClassLoader systemClassLoader = VMClassLoader.getSystemClassLoader(); + /** + * This cache maps from a Class to its associated annotations. It's + * declared here so that when this class loader becomes unreachable, + * so will the corresponding cache. + */ + + private final ConcurrentHashMap + declaredAnnotations + = new ConcurrentHashMap(); + + static final class AnnotationsKey + { + final int /* jv_attr_type */ member_type; + final int member_index; + final int /* jv_attr_kind */ kind_req; + final Class declaringClass; + final int hashCode; + + public AnnotationsKey (Class declaringClass, + int member_type, + int member_index, + int kind_req) + { + this.member_type = member_type; + this.member_index = member_index; + this.kind_req = kind_req; + this.declaringClass = declaringClass; + hashCode = (member_type ^ member_index ^ kind_req + ^ declaringClass.hashCode()); + } + + public boolean equals(Object obj) + { + AnnotationsKey other = (AnnotationsKey)obj; + return (this.member_type == other.member_type + && this.member_index == other.member_index + && this.kind_req == other.kind_req + && this.declaringClass == other.declaringClass); + } + + public int hashCode() + { + return hashCode; + } + + public static final Annotation[] NIL = new Annotation[0]; + } + + final Object[] getDeclaredAnnotations(Class declaringClass, + int member_type, + int member_index, + int kind_req) + { + Object[] result + = declaredAnnotations.get (new AnnotationsKey + (declaringClass, + member_type, + member_index, + kind_req)); + if (result != AnnotationsKey.NIL && result != null) + return (Object[])result.clone(); + return null; + } + + final Object[] putDeclaredAnnotations(Class declaringClass, + int member_type, + int member_index, + int kind_req, + Object[] annotations) + { + declaredAnnotations.put + (new AnnotationsKey + (declaringClass, member_type, + member_index, kind_req), + annotations == null ? AnnotationsKey.NIL : annotations); + + return annotations == null ? null : (Object[])annotations.clone(); + } + static { // Find out if we have to install a default security manager. Note @@ -486,6 +570,35 @@ public abstract class ClassLoader return retval; } + /** + * Helper to define a class using the contents of a byte buffer. If + * the domain is null, the default of + * Policy.getPolicy().getPermissions(new CodeSource(null, + * null)) is used. Once a class has been defined in a + * package, all further classes in that package must have the same + * set of certificates or a SecurityException is thrown. + * + * @param name the name to give the class. null if unknown + * @param buf a byte buffer containing bytes that form a class. + * @param domain the ProtectionDomain to give to the class, null for the + * default protection domain + * @return the class that was defined + * @throws ClassFormatError if data is not in proper classfile format + * @throws NoClassDefFoundError if the supplied name is not the same as + * the one specified by the byte buffer. + * @throws SecurityException if name starts with "java.", or if certificates + * do not match up + * @since 1.5 + */ + protected final Class defineClass(String name, ByteBuffer buf, + ProtectionDomain domain) + throws ClassFormatError + { + byte[] data = new byte[buf.remaining()]; + buf.get(data); + return defineClass(name, data, 0, data.length, domain); + } + /** * Links the class, if that has not already been done. Linking basically * resolves all references to other classes made by this class. @@ -530,8 +643,7 @@ public abstract class ClassLoader SecurityManager sm = System.getSecurityManager(); if (sm != null) { - Class c = VMSecurityManager.getClassContext(ClassLoader.class)[0]; - ClassLoader cl = c.getClassLoader(); + ClassLoader cl = VMStackWalker.getCallingClassLoader(); if (cl != null && ! cl.isAncestorOf(this)) sm.checkPermission(new RuntimePermission("getClassLoader")); } @@ -744,14 +856,15 @@ public abstract class ClassLoader /** * Returns the system classloader. The system classloader (also called - * the application classloader) is the classloader that was used to + * the application classloader) is the classloader that is used to * load the application classes on the classpath (given by the system * property java.class.path. This is set as the context * class loader for a thread. The system property * java.system.class.loader, if defined, is taken to be the * name of the class to use as the system class loader, which must have - * a public constructor which takes a ClassLoader as a parent; otherwise this - * uses gnu.java.lang.SystemClassLoader. + * a public constructor which takes a ClassLoader as a parent. The parent + * class loader passed in the constructor is the default system class + * loader. * *

      Note that this is different from the bootstrap classloader that * actually loads all the real "system" classes (the bootstrap classloader @@ -773,8 +886,7 @@ public abstract class ClassLoader SecurityManager sm = System.getSecurityManager(); if (sm != null) { - Class c = VMSecurityManager.getClassContext(ClassLoader.class)[0]; - ClassLoader cl = c.getClassLoader(); + ClassLoader cl = VMStackWalker.getCallingClassLoader(); if (cl != null && cl != systemClassLoader) sm.checkPermission(new RuntimePermission("getClassLoader")); } @@ -898,7 +1010,7 @@ public abstract class ClassLoader * * @param name the (system specific) name of the requested library * @return the full pathname to the requested library, or null - * @see Runtime#loadLibrary() + * @see Runtime#loadLibrary(String) * @since 1.2 */ protected String findLibrary(String name) @@ -928,7 +1040,7 @@ public abstract class ClassLoader * * @param name the package (and subpackages) to affect * @param enabled true to set the default to enabled - * @see #setDefaultAssertionStatus(String, boolean) + * @see #setDefaultAssertionStatus(boolean) * @see #setClassAssertionStatus(String, boolean) * @see #clearAssertionStatus() * @since 1.4 @@ -949,7 +1061,7 @@ public abstract class ClassLoader * @param name the class to affect * @param enabled true to set the default to enabled * @throws NullPointerException if name is null - * @see #setDefaultAssertionStatus(String, boolean) + * @see #setDefaultAssertionStatus(boolean) * @see #setPackageAssertionStatus(String, boolean) * @see #clearAssertionStatus() * @since 1.4 diff --git a/libjava/java/lang/ClassNotFoundException.h b/libjava/java/lang/ClassNotFoundException.h new file mode 100644 index 00000000000..c0ab7815807 --- /dev/null +++ b/libjava/java/lang/ClassNotFoundException.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ClassNotFoundException__ +#define __java_lang_ClassNotFoundException__ + +#pragma interface + +#include + +class java::lang::ClassNotFoundException : public ::java::lang::Exception +{ + +public: + ClassNotFoundException(); + ClassNotFoundException(::java::lang::String *); + ClassNotFoundException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::Throwable * getException(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = 9176873029745254542LL; + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) ex; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ClassNotFoundException__ diff --git a/libjava/java/lang/CloneNotSupportedException.h b/libjava/java/lang/CloneNotSupportedException.h new file mode 100644 index 00000000000..19fa2124a8a --- /dev/null +++ b/libjava/java/lang/CloneNotSupportedException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_CloneNotSupportedException__ +#define __java_lang_CloneNotSupportedException__ + +#pragma interface + +#include + +class java::lang::CloneNotSupportedException : public ::java::lang::Exception +{ + +public: + CloneNotSupportedException(); + CloneNotSupportedException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5195511250079656443LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_CloneNotSupportedException__ diff --git a/libjava/java/lang/Cloneable.h b/libjava/java/lang/Cloneable.h new file mode 100644 index 00000000000..ff5db98d069 --- /dev/null +++ b/libjava/java/lang/Cloneable.h @@ -0,0 +1,18 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Cloneable__ +#define __java_lang_Cloneable__ + +#pragma interface + +#include + +class java::lang::Cloneable : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Cloneable__ diff --git a/libjava/java/lang/Comparable.h b/libjava/java/lang/Comparable.h new file mode 100644 index 00000000000..b594e2ddc09 --- /dev/null +++ b/libjava/java/lang/Comparable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Comparable__ +#define __java_lang_Comparable__ + +#pragma interface + +#include + +class java::lang::Comparable : public ::java::lang::Object +{ + +public: + virtual jint compareTo(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Comparable__ diff --git a/libjava/java/lang/Compiler.h b/libjava/java/lang/Compiler.h new file mode 100644 index 00000000000..e21d90300d1 --- /dev/null +++ b/libjava/java/lang/Compiler.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Compiler__ +#define __java_lang_Compiler__ + +#pragma interface + +#include + +class java::lang::Compiler : public ::java::lang::Object +{ + + Compiler(); +public: + static jboolean compileClass(::java::lang::Class *); + static jboolean compileClasses(::java::lang::String *); + static ::java::lang::Object * command(::java::lang::Object *); + static void enable(); + static void disable(); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Compiler__ diff --git a/libjava/java/lang/Deprecated.h b/libjava/java/lang/Deprecated.h new file mode 100644 index 00000000000..6ab34f11a0e --- /dev/null +++ b/libjava/java/lang/Deprecated.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Deprecated__ +#define __java_lang_Deprecated__ + +#pragma interface + +#include + +class java::lang::Deprecated : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Deprecated__ diff --git a/libjava/java/lang/Double.h b/libjava/java/lang/Double.h new file mode 100644 index 00000000000..5fb99da4a99 --- /dev/null +++ b/libjava/java/lang/Double.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Double__ +#define __java_lang_Double__ + +#pragma interface + +#include + +class java::lang::Double : public ::java::lang::Number +{ + +public: + Double(jdouble); + Double(::java::lang::String *); + static ::java::lang::String * toString(jdouble); + static ::java::lang::String * toHexString(jdouble); + static ::java::lang::Double * valueOf(jdouble); + static ::java::lang::Double * valueOf(::java::lang::String *); + static jdouble parseDouble(::java::lang::String *); + static jboolean isNaN(jdouble); + static jboolean isInfinite(jdouble); + jboolean isNaN(); + jboolean isInfinite(); + ::java::lang::String * toString(); + jbyte byteValue(); + jshort shortValue(); + jint intValue(); + jlong longValue(); + jfloat floatValue(); + jdouble doubleValue(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static jlong doubleToLongBits(jdouble); + static jlong doubleToRawLongBits(jdouble); + static jdouble longBitsToDouble(jlong); + jint target$compareTo(::java::lang::Double *); + static jint compare(jdouble, jdouble); + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = -9172774392245257468LL; +public: + static jdouble MAX_VALUE; + static jdouble MIN_VALUE; + static jdouble NEGATIVE_INFINITY; + static jdouble POSITIVE_INFINITY; + static jdouble NaN; + static const jint SIZE = 64; + static ::java::lang::Class * TYPE; +private: + jdouble __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Double__ diff --git a/libjava/java/lang/EcosProcess.h b/libjava/java/lang/EcosProcess.h new file mode 100644 index 00000000000..30fd067e034 --- /dev/null +++ b/libjava/java/lang/EcosProcess.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_EcosProcess__ +#define __java_lang_EcosProcess__ + +#pragma interface + +#include +#include + + +class java::lang::EcosProcess : public ::java::lang::Process +{ + +public: + void destroy(); + jint exitValue(); + ::java::io::InputStream * getErrorStream(); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + jint waitFor(); + EcosProcess(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_EcosProcess__ diff --git a/libjava/java/lang/EcosProcess.java b/libjava/java/lang/EcosProcess.java index aff534a39df..30c8253e67d 100644 --- a/libjava/java/lang/EcosProcess.java +++ b/libjava/java/lang/EcosProcess.java @@ -1,6 +1,6 @@ // EcosProcess.java - Subclass of Process for eCos systems. -/* Copyright (C) 1998, 1999 Free Software Foundation +/* Copyright (C) 1998, 1999, 2006 Free Software Foundation This file is part of libgcj. @@ -22,9 +22,7 @@ import java.io.IOException; // This is entirely internal to our implementation. -// This file is copied to `ConcreteProcess.java' before compilation. -// Hence the class name apparently does not match the file name. -final class ConcreteProcess extends Process +final class EcosProcess extends Process { // See natEcosProcess.cc to understand why this is native. public native void destroy (); @@ -53,7 +51,7 @@ final class ConcreteProcess extends Process return 0; } - public ConcreteProcess (String[] progarray, + public EcosProcess (String[] progarray, String[] envp, File dir) throws IOException diff --git a/libjava/java/lang/Enum.h b/libjava/java/lang/Enum.h new file mode 100644 index 00000000000..cb3aabc94e4 --- /dev/null +++ b/libjava/java/lang/Enum.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Enum__ +#define __java_lang_Enum__ + +#pragma interface + +#include + +class java::lang::Enum : public ::java::lang::Object +{ + +public: // actually protected + Enum(::java::lang::String *, jint); +public: + static ::java::lang::Enum * valueOf(::java::lang::Class *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual jint target$compareTo(::java::lang::Enum *); +public: // actually protected + virtual ::java::lang::Object * clone(); +public: + virtual ::java::lang::String * name(); + virtual jint ordinal(); + virtual ::java::lang::Class * getDeclaringClass(); + virtual jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = -4300926546619394005LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__; + jint ordinal__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Enum__ diff --git a/libjava/java/lang/EnumConstantNotPresentException.h b/libjava/java/lang/EnumConstantNotPresentException.h new file mode 100644 index 00000000000..b3bc11b28c4 --- /dev/null +++ b/libjava/java/lang/EnumConstantNotPresentException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_EnumConstantNotPresentException__ +#define __java_lang_EnumConstantNotPresentException__ + +#pragma interface + +#include + +class java::lang::EnumConstantNotPresentException : public ::java::lang::RuntimeException +{ + +public: + EnumConstantNotPresentException(::java::lang::Class *, ::java::lang::String *); + virtual ::java::lang::String * constantName(); + virtual ::java::lang::Class * enumType(); +private: + static const jlong serialVersionUID = -6046998521960521108LL; + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) enumType__; + ::java::lang::String * constantName__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_EnumConstantNotPresentException__ diff --git a/libjava/java/lang/Error.h b/libjava/java/lang/Error.h new file mode 100644 index 00000000000..9cb6019b434 --- /dev/null +++ b/libjava/java/lang/Error.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Error__ +#define __java_lang_Error__ + +#pragma interface + +#include + +class java::lang::Error : public ::java::lang::Throwable +{ + +public: + Error(); + Error(::java::lang::String *); + Error(::java::lang::String *, ::java::lang::Throwable *); + Error(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 4980196508277280342LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Error__ diff --git a/libjava/java/lang/Exception.h b/libjava/java/lang/Exception.h new file mode 100644 index 00000000000..9f3ab43a5db --- /dev/null +++ b/libjava/java/lang/Exception.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Exception__ +#define __java_lang_Exception__ + +#pragma interface + +#include + +class java::lang::Exception : public ::java::lang::Throwable +{ + +public: + Exception(); + Exception(::java::lang::String *); + Exception(::java::lang::String *, ::java::lang::Throwable *); + Exception(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -3387516993124229948LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Exception__ diff --git a/libjava/java/lang/ExceptionInInitializerError.h b/libjava/java/lang/ExceptionInInitializerError.h new file mode 100644 index 00000000000..89fbaee7ca0 --- /dev/null +++ b/libjava/java/lang/ExceptionInInitializerError.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ExceptionInInitializerError__ +#define __java_lang_ExceptionInInitializerError__ + +#pragma interface + +#include + +class java::lang::ExceptionInInitializerError : public ::java::lang::LinkageError +{ + +public: + ExceptionInInitializerError(); + ExceptionInInitializerError(::java::lang::String *); + ExceptionInInitializerError(::java::lang::Throwable *); + virtual ::java::lang::Throwable * getException(); + virtual ::java::lang::Throwable * getCause(); +public: // actually package-private + static const jlong serialVersionUID = 1521711792217232256LL; +private: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::LinkageError)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ExceptionInInitializerError__ diff --git a/libjava/java/lang/Float.h b/libjava/java/lang/Float.h new file mode 100644 index 00000000000..87859cb28c0 --- /dev/null +++ b/libjava/java/lang/Float.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Float__ +#define __java_lang_Float__ + +#pragma interface + +#include + +class java::lang::Float : public ::java::lang::Number +{ + +public: + Float(jfloat); + Float(jdouble); + Float(::java::lang::String *); + static ::java::lang::String * toString(jfloat); + static ::java::lang::String * toHexString(jfloat); + static ::java::lang::Float * valueOf(::java::lang::String *); + static ::java::lang::Float * valueOf(jfloat); + static jfloat parseFloat(::java::lang::String *); + static jboolean isNaN(jfloat); + static jboolean isInfinite(jfloat); + jboolean isNaN(); + jboolean isInfinite(); + ::java::lang::String * toString(); + jbyte byteValue(); + jshort shortValue(); + jint intValue(); + jlong longValue(); + jfloat floatValue(); + jdouble doubleValue(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static jint floatToIntBits(jfloat); + static jint floatToRawIntBits(jfloat); + static jfloat intBitsToFloat(jint); + jint target$compareTo(::java::lang::Float *); + static jint compare(jfloat, jfloat); + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = -2671257302660747028LL; +public: + static jfloat MAX_VALUE; + static jfloat MIN_VALUE; + static jfloat NEGATIVE_INFINITY; + static jfloat POSITIVE_INFINITY; + static jfloat NaN; + static ::java::lang::Class * TYPE; + static const jint SIZE = 32; +private: + jfloat __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Float__ diff --git a/libjava/java/lang/IllegalAccessError.h b/libjava/java/lang/IllegalAccessError.h new file mode 100644 index 00000000000..12b8747c4ef --- /dev/null +++ b/libjava/java/lang/IllegalAccessError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IllegalAccessError__ +#define __java_lang_IllegalAccessError__ + +#pragma interface + +#include + +class java::lang::IllegalAccessError : public ::java::lang::IncompatibleClassChangeError +{ + +public: + IllegalAccessError(); + IllegalAccessError(::java::lang::String *); +private: + static const jlong serialVersionUID = -8988904074992417891LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IllegalAccessError__ diff --git a/libjava/java/lang/IllegalAccessException.h b/libjava/java/lang/IllegalAccessException.h new file mode 100644 index 00000000000..c0917475699 --- /dev/null +++ b/libjava/java/lang/IllegalAccessException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IllegalAccessException__ +#define __java_lang_IllegalAccessException__ + +#pragma interface + +#include + +class java::lang::IllegalAccessException : public ::java::lang::Exception +{ + +public: + IllegalAccessException(); + IllegalAccessException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6616958222490762034LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IllegalAccessException__ diff --git a/libjava/java/lang/IllegalArgumentException.h b/libjava/java/lang/IllegalArgumentException.h new file mode 100644 index 00000000000..187e430c165 --- /dev/null +++ b/libjava/java/lang/IllegalArgumentException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IllegalArgumentException__ +#define __java_lang_IllegalArgumentException__ + +#pragma interface + +#include + +class java::lang::IllegalArgumentException : public ::java::lang::RuntimeException +{ + +public: + IllegalArgumentException(); + IllegalArgumentException(::java::lang::String *); + IllegalArgumentException(::java::lang::String *, ::java::lang::Throwable *); + IllegalArgumentException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -5365630128856068164LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IllegalArgumentException__ diff --git a/libjava/java/lang/IllegalMonitorStateException.h b/libjava/java/lang/IllegalMonitorStateException.h new file mode 100644 index 00000000000..ad9cb590292 --- /dev/null +++ b/libjava/java/lang/IllegalMonitorStateException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IllegalMonitorStateException__ +#define __java_lang_IllegalMonitorStateException__ + +#pragma interface + +#include + +class java::lang::IllegalMonitorStateException : public ::java::lang::RuntimeException +{ + +public: + IllegalMonitorStateException(); + IllegalMonitorStateException(::java::lang::String *); +private: + static const jlong serialVersionUID = 3713306369498869069LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IllegalMonitorStateException__ diff --git a/libjava/java/lang/IllegalStateException.h b/libjava/java/lang/IllegalStateException.h new file mode 100644 index 00000000000..e79bced810f --- /dev/null +++ b/libjava/java/lang/IllegalStateException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IllegalStateException__ +#define __java_lang_IllegalStateException__ + +#pragma interface + +#include + +class java::lang::IllegalStateException : public ::java::lang::RuntimeException +{ + +public: + IllegalStateException(); + IllegalStateException(::java::lang::String *); + IllegalStateException(::java::lang::String *, ::java::lang::Throwable *); + IllegalStateException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -1848914673093119416LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IllegalStateException__ diff --git a/libjava/java/lang/IllegalThreadStateException.h b/libjava/java/lang/IllegalThreadStateException.h new file mode 100644 index 00000000000..066eb92cd66 --- /dev/null +++ b/libjava/java/lang/IllegalThreadStateException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IllegalThreadStateException__ +#define __java_lang_IllegalThreadStateException__ + +#pragma interface + +#include + +class java::lang::IllegalThreadStateException : public ::java::lang::IllegalArgumentException +{ + +public: + IllegalThreadStateException(); + IllegalThreadStateException(::java::lang::String *); +private: + static const jlong serialVersionUID = -7626246362397460174LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IllegalThreadStateException__ diff --git a/libjava/java/lang/IncompatibleClassChangeError.h b/libjava/java/lang/IncompatibleClassChangeError.h new file mode 100644 index 00000000000..ca4099194e8 --- /dev/null +++ b/libjava/java/lang/IncompatibleClassChangeError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IncompatibleClassChangeError__ +#define __java_lang_IncompatibleClassChangeError__ + +#pragma interface + +#include + +class java::lang::IncompatibleClassChangeError : public ::java::lang::LinkageError +{ + +public: + IncompatibleClassChangeError(); + IncompatibleClassChangeError(::java::lang::String *); +private: + static const jlong serialVersionUID = -4914975503642802119LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IncompatibleClassChangeError__ diff --git a/libjava/java/lang/IndexOutOfBoundsException.h b/libjava/java/lang/IndexOutOfBoundsException.h new file mode 100644 index 00000000000..4cd4184a712 --- /dev/null +++ b/libjava/java/lang/IndexOutOfBoundsException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_IndexOutOfBoundsException__ +#define __java_lang_IndexOutOfBoundsException__ + +#pragma interface + +#include + +class java::lang::IndexOutOfBoundsException : public ::java::lang::RuntimeException +{ + +public: + IndexOutOfBoundsException(); + IndexOutOfBoundsException(::java::lang::String *); +private: + static const jlong serialVersionUID = 234122996006267687LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_IndexOutOfBoundsException__ diff --git a/libjava/java/lang/InheritableThreadLocal.h b/libjava/java/lang/InheritableThreadLocal.h new file mode 100644 index 00000000000..9caf6f3df47 --- /dev/null +++ b/libjava/java/lang/InheritableThreadLocal.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_InheritableThreadLocal__ +#define __java_lang_InheritableThreadLocal__ + +#pragma interface + +#include + +class java::lang::InheritableThreadLocal : public ::java::lang::ThreadLocal +{ + +public: + InheritableThreadLocal(); +public: // actually protected + virtual ::java::lang::Object * childValue(::java::lang::Object *); +public: // actually package-private + static void newChildThread(::java::lang::Thread *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_InheritableThreadLocal__ diff --git a/libjava/java/lang/InstantiationError.h b/libjava/java/lang/InstantiationError.h new file mode 100644 index 00000000000..4b817d2b316 --- /dev/null +++ b/libjava/java/lang/InstantiationError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_InstantiationError__ +#define __java_lang_InstantiationError__ + +#pragma interface + +#include + +class java::lang::InstantiationError : public ::java::lang::IncompatibleClassChangeError +{ + +public: + InstantiationError(); + InstantiationError(::java::lang::String *); +private: + static const jlong serialVersionUID = -4885810657349421204LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_InstantiationError__ diff --git a/libjava/java/lang/InstantiationException.h b/libjava/java/lang/InstantiationException.h new file mode 100644 index 00000000000..805ab3c70dc --- /dev/null +++ b/libjava/java/lang/InstantiationException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_InstantiationException__ +#define __java_lang_InstantiationException__ + +#pragma interface + +#include + +class java::lang::InstantiationException : public ::java::lang::Exception +{ + +public: + InstantiationException(); + InstantiationException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8441929162975509110LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_InstantiationException__ diff --git a/libjava/java/lang/Integer.h b/libjava/java/lang/Integer.h new file mode 100644 index 00000000000..e33c78f2cc2 --- /dev/null +++ b/libjava/java/lang/Integer.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Integer__ +#define __java_lang_Integer__ + +#pragma interface + +#include +#include + + +class java::lang::Integer : public ::java::lang::Number +{ + +public: + Integer(jint); + Integer(::java::lang::String *); + static ::java::lang::String * toString(jint, jint); + static ::java::lang::String * toHexString(jint); + static ::java::lang::String * toOctalString(jint); + static ::java::lang::String * toBinaryString(jint); + static ::java::lang::String * toString(jint); + static jint parseInt(::java::lang::String *, jint); + static jint parseInt(::java::lang::String *); + static ::java::lang::Integer * valueOf(::java::lang::String *, jint); + static ::java::lang::Integer * valueOf(::java::lang::String *); + static ::java::lang::Integer * valueOf(jint); + jbyte byteValue(); + jshort shortValue(); + jint intValue(); + jlong longValue(); + jfloat floatValue(); + jdouble doubleValue(); + ::java::lang::String * toString(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static ::java::lang::Integer * getInteger(::java::lang::String *); + static ::java::lang::Integer * getInteger(::java::lang::String *, jint); + static ::java::lang::Integer * getInteger(::java::lang::String *, ::java::lang::Integer *); + static ::java::lang::Integer * decode(::java::lang::String *); + jint target$compareTo(::java::lang::Integer *); + static jint bitCount(jint); + static jint rotateLeft(jint, jint); + static jint rotateRight(jint, jint); + static jint highestOneBit(jint); + static jint numberOfLeadingZeros(jint); + static jint lowestOneBit(jint); + static jint numberOfTrailingZeros(jint); + static jint signum(jint); + static jint reverseBytes(jint); + static jint reverse(jint); +public: // actually package-private + static ::java::lang::String * toUnsignedString(jint, jint); + static jint parseInt(::java::lang::String *, jint, jboolean); +public: + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1360826667806852920LL; +public: + static const jint MIN_VALUE = -2147483647 - 1; + static const jint MAX_VALUE = 2147483647; + static ::java::lang::Class * TYPE; + static const jint SIZE = 32; +private: + static const jint MIN_CACHE = -128; + static const jint MAX_CACHE = 127; + static JArray< ::java::lang::Integer * > * intCache; + jint __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Integer__ diff --git a/libjava/java/lang/InternalError.h b/libjava/java/lang/InternalError.h new file mode 100644 index 00000000000..b0477bbe640 --- /dev/null +++ b/libjava/java/lang/InternalError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_InternalError__ +#define __java_lang_InternalError__ + +#pragma interface + +#include + +class java::lang::InternalError : public ::java::lang::VirtualMachineError +{ + +public: + InternalError(); + InternalError(::java::lang::String *); +private: + static const jlong serialVersionUID = -9062593416125562365LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_InternalError__ diff --git a/libjava/java/lang/InterruptedException.h b/libjava/java/lang/InterruptedException.h new file mode 100644 index 00000000000..c452de6b5e5 --- /dev/null +++ b/libjava/java/lang/InterruptedException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_InterruptedException__ +#define __java_lang_InterruptedException__ + +#pragma interface + +#include + +class java::lang::InterruptedException : public ::java::lang::Exception +{ + +public: + InterruptedException(); + InterruptedException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6700697376100628473LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_InterruptedException__ diff --git a/libjava/java/lang/Iterable.h b/libjava/java/lang/Iterable.h new file mode 100644 index 00000000000..3bdb2543b3b --- /dev/null +++ b/libjava/java/lang/Iterable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Iterable__ +#define __java_lang_Iterable__ + +#pragma interface + +#include + +class java::lang::Iterable : public ::java::lang::Object +{ + +public: + virtual ::java::util::Iterator * iterator() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Iterable__ diff --git a/libjava/java/lang/LinkageError.h b/libjava/java/lang/LinkageError.h new file mode 100644 index 00000000000..4368d8b9ff8 --- /dev/null +++ b/libjava/java/lang/LinkageError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_LinkageError__ +#define __java_lang_LinkageError__ + +#pragma interface + +#include + +class java::lang::LinkageError : public ::java::lang::Error +{ + +public: + LinkageError(); + LinkageError(::java::lang::String *); +private: + static const jlong serialVersionUID = 3579600108157160122LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_LinkageError__ diff --git a/libjava/java/lang/Long.h b/libjava/java/lang/Long.h new file mode 100644 index 00000000000..da04281a659 --- /dev/null +++ b/libjava/java/lang/Long.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Long__ +#define __java_lang_Long__ + +#pragma interface + +#include + +class java::lang::Long : public ::java::lang::Number +{ + +public: + Long(jlong); + Long(::java::lang::String *); + static ::java::lang::String * toString(jlong, jint); + static ::java::lang::String * toHexString(jlong); + static ::java::lang::String * toOctalString(jlong); + static ::java::lang::String * toBinaryString(jlong); + static ::java::lang::String * toString(jlong); + static jlong parseLong(::java::lang::String *, jint); + static jlong parseLong(::java::lang::String *); + static ::java::lang::Long * valueOf(::java::lang::String *, jint); + static ::java::lang::Long * valueOf(::java::lang::String *); + static ::java::lang::Long * valueOf(jlong); + static ::java::lang::Long * decode(::java::lang::String *); + jbyte byteValue(); + jshort shortValue(); + jint intValue(); + jlong longValue(); + jfloat floatValue(); + jdouble doubleValue(); + ::java::lang::String * toString(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static ::java::lang::Long * getLong(::java::lang::String *); + static ::java::lang::Long * getLong(::java::lang::String *, jlong); + static ::java::lang::Long * getLong(::java::lang::String *, ::java::lang::Long *); + jint target$compareTo(::java::lang::Long *); + static jint bitCount(jlong); + static jlong rotateLeft(jlong, jint); + static jlong rotateRight(jlong, jint); + static jlong highestOneBit(jlong); + static jint numberOfLeadingZeros(jlong); + static jlong lowestOneBit(jlong); + static jint numberOfTrailingZeros(jlong); + static jint signum(jlong); + static jlong reverseBytes(jlong); + static jlong reverse(jlong); +private: + static ::java::lang::String * toUnsignedString(jlong, jint); + static jlong parseLong(::java::lang::String *, jint, jboolean); +public: + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = 4290774380558885855LL; +public: + static const jlong MIN_VALUE = -9223372036854775807LL - 1; + static const jlong MAX_VALUE = 9223372036854775807LL; + static ::java::lang::Class * TYPE; + static const jint SIZE = 64; +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Long__ diff --git a/libjava/java/lang/Math.h b/libjava/java/lang/Math.h new file mode 100644 index 00000000000..32707e9f8cd --- /dev/null +++ b/libjava/java/lang/Math.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Math__ +#define __java_lang_Math__ + +#pragma interface + +#include + +class java::lang::Math : public ::java::lang::Object +{ + + Math(); +public: + static jint abs(jint); + static jlong abs(jlong); + static jfloat abs(jfloat); + static jdouble abs(jdouble); + static jint min(jint, jint); + static jlong min(jlong, jlong); + static jfloat min(jfloat, jfloat); + static jdouble min(jdouble, jdouble); + static jint max(jint, jint); + static jlong max(jlong, jlong); + static jfloat max(jfloat, jfloat); + static jdouble max(jdouble, jdouble); + static jdouble sin(jdouble); + static jdouble cos(jdouble); + static jdouble tan(jdouble); + static jdouble asin(jdouble); + static jdouble acos(jdouble); + static jdouble atan(jdouble); + static jdouble atan2(jdouble, jdouble); + static jdouble exp(jdouble); + static jdouble log(jdouble); + static jdouble sqrt(jdouble); + static jdouble pow(jdouble, jdouble); + static jdouble IEEEremainder(jdouble, jdouble); + static jdouble ceil(jdouble); + static jdouble floor(jdouble); + static jdouble rint(jdouble); + static jint round(jfloat); + static jlong round(jdouble); + static jdouble random(); + static jdouble toRadians(jdouble); + static jdouble toDegrees(jdouble); + static jdouble cbrt(jdouble); + static jdouble cosh(jdouble); + static jdouble expm1(jdouble); + static jdouble hypot(jdouble, jdouble); + static jdouble log10(jdouble); + static jdouble log1p(jdouble); + static jdouble signum(jdouble); + static jfloat signum(jfloat); + static jdouble sinh(jdouble); + static jdouble tanh(jdouble); + static jdouble ulp(jdouble); + static jfloat ulp(jfloat); +private: + static ::java::util::Random * rand; +public: + static jdouble E; + static jdouble PI; + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Math__ diff --git a/libjava/java/lang/NegativeArraySizeException.h b/libjava/java/lang/NegativeArraySizeException.h new file mode 100644 index 00000000000..e05f7c51563 --- /dev/null +++ b/libjava/java/lang/NegativeArraySizeException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NegativeArraySizeException__ +#define __java_lang_NegativeArraySizeException__ + +#pragma interface + +#include + +class java::lang::NegativeArraySizeException : public ::java::lang::RuntimeException +{ + +public: + NegativeArraySizeException(); + NegativeArraySizeException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8960118058596991861LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NegativeArraySizeException__ diff --git a/libjava/java/lang/NoClassDefFoundError.h b/libjava/java/lang/NoClassDefFoundError.h new file mode 100644 index 00000000000..90790a7b9e5 --- /dev/null +++ b/libjava/java/lang/NoClassDefFoundError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NoClassDefFoundError__ +#define __java_lang_NoClassDefFoundError__ + +#pragma interface + +#include + +class java::lang::NoClassDefFoundError : public ::java::lang::LinkageError +{ + +public: + NoClassDefFoundError(); + NoClassDefFoundError(::java::lang::String *); +private: + static const jlong serialVersionUID = 9095859863287012458LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NoClassDefFoundError__ diff --git a/libjava/java/lang/NoSuchFieldError.h b/libjava/java/lang/NoSuchFieldError.h new file mode 100644 index 00000000000..65f444e8394 --- /dev/null +++ b/libjava/java/lang/NoSuchFieldError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NoSuchFieldError__ +#define __java_lang_NoSuchFieldError__ + +#pragma interface + +#include + +class java::lang::NoSuchFieldError : public ::java::lang::IncompatibleClassChangeError +{ + +public: + NoSuchFieldError(); + NoSuchFieldError(::java::lang::String *); +private: + static const jlong serialVersionUID = -3456430195886129035LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NoSuchFieldError__ diff --git a/libjava/java/lang/NoSuchFieldException.h b/libjava/java/lang/NoSuchFieldException.h new file mode 100644 index 00000000000..36fe841ed74 --- /dev/null +++ b/libjava/java/lang/NoSuchFieldException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NoSuchFieldException__ +#define __java_lang_NoSuchFieldException__ + +#pragma interface + +#include + +class java::lang::NoSuchFieldException : public ::java::lang::Exception +{ + +public: + NoSuchFieldException(); + NoSuchFieldException(::java::lang::String *); +private: + static const jlong serialVersionUID = -6143714805279938260LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NoSuchFieldException__ diff --git a/libjava/java/lang/NoSuchMethodError.h b/libjava/java/lang/NoSuchMethodError.h new file mode 100644 index 00000000000..5db0a040e22 --- /dev/null +++ b/libjava/java/lang/NoSuchMethodError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NoSuchMethodError__ +#define __java_lang_NoSuchMethodError__ + +#pragma interface + +#include + +class java::lang::NoSuchMethodError : public ::java::lang::IncompatibleClassChangeError +{ + +public: + NoSuchMethodError(); + NoSuchMethodError(::java::lang::String *); +public: // actually package-private + static const jlong serialVersionUID = -3765521442372831335LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NoSuchMethodError__ diff --git a/libjava/java/lang/NoSuchMethodException.h b/libjava/java/lang/NoSuchMethodException.h new file mode 100644 index 00000000000..dc905d67f48 --- /dev/null +++ b/libjava/java/lang/NoSuchMethodException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NoSuchMethodException__ +#define __java_lang_NoSuchMethodException__ + +#pragma interface + +#include + +class java::lang::NoSuchMethodException : public ::java::lang::Exception +{ + +public: + NoSuchMethodException(); + NoSuchMethodException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5034388446362600923LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NoSuchMethodException__ diff --git a/libjava/java/lang/NullPointerException.h b/libjava/java/lang/NullPointerException.h new file mode 100644 index 00000000000..4af582cf43e --- /dev/null +++ b/libjava/java/lang/NullPointerException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NullPointerException__ +#define __java_lang_NullPointerException__ + +#pragma interface + +#include + +class java::lang::NullPointerException : public ::java::lang::RuntimeException +{ + +public: + NullPointerException(); + NullPointerException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5162710183389028792LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NullPointerException__ diff --git a/libjava/java/lang/Number.h b/libjava/java/lang/Number.h new file mode 100644 index 00000000000..65ba9201988 --- /dev/null +++ b/libjava/java/lang/Number.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Number__ +#define __java_lang_Number__ + +#pragma interface + +#include +#include + + +class java::lang::Number : public ::java::lang::Object +{ + +public: + Number(); + virtual jint intValue() = 0; + virtual jlong longValue() = 0; + virtual jfloat floatValue() = 0; + virtual jdouble doubleValue() = 0; + virtual jbyte byteValue(); + virtual jshort shortValue(); +private: + static const jlong serialVersionUID = -8742448824652078965LL; +public: // actually package-private + static JArray< jchar > * digits; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Number__ diff --git a/libjava/java/lang/NumberFormatException.h b/libjava/java/lang/NumberFormatException.h new file mode 100644 index 00000000000..34bd4d678c2 --- /dev/null +++ b/libjava/java/lang/NumberFormatException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_NumberFormatException__ +#define __java_lang_NumberFormatException__ + +#pragma interface + +#include + +class java::lang::NumberFormatException : public ::java::lang::IllegalArgumentException +{ + +public: + NumberFormatException(); + NumberFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = -2848938806368998894LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_NumberFormatException__ diff --git a/libjava/java/lang/OutOfMemoryError.h b/libjava/java/lang/OutOfMemoryError.h new file mode 100644 index 00000000000..7fac1f5a090 --- /dev/null +++ b/libjava/java/lang/OutOfMemoryError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_OutOfMemoryError__ +#define __java_lang_OutOfMemoryError__ + +#pragma interface + +#include + +class java::lang::OutOfMemoryError : public ::java::lang::VirtualMachineError +{ + +public: + OutOfMemoryError(); + OutOfMemoryError(::java::lang::String *); +private: + static const jlong serialVersionUID = 8228564086184010517LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_OutOfMemoryError__ diff --git a/libjava/java/lang/Override.h b/libjava/java/lang/Override.h new file mode 100644 index 00000000000..e6424ee6a00 --- /dev/null +++ b/libjava/java/lang/Override.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Override__ +#define __java_lang_Override__ + +#pragma interface + +#include + +class java::lang::Override : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Override__ diff --git a/libjava/java/lang/Package.h b/libjava/java/lang/Package.h new file mode 100644 index 00000000000..6d12d9f3687 --- /dev/null +++ b/libjava/java/lang/Package.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Package__ +#define __java_lang_Package__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } +} + +class java::lang::Package : public ::java::lang::Object +{ + +public: // actually package-private + Package(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::net::URL *); + Package(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::net::URL *, ::java::lang::ClassLoader *); +public: + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getSpecificationTitle(); + virtual ::java::lang::String * getSpecificationVersion(); + virtual ::java::lang::String * getSpecificationVendor(); + virtual ::java::lang::String * getImplementationTitle(); + virtual ::java::lang::String * getImplementationVersion(); + virtual ::java::lang::String * getImplementationVendor(); + virtual jboolean isSealed(); + virtual jboolean isSealed(::java::net::URL *); + virtual jboolean isCompatibleWith(::java::lang::String *); + static ::java::lang::Package * getPackage(::java::lang::String *); + static JArray< ::java::lang::Package * > * getPackages(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::annotation::Annotation * getAnnotation(::java::lang::Class *); + virtual JArray< ::java::lang::annotation::Annotation * > * getAnnotations(); + virtual JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotations(); + virtual jboolean isAnnotationPresent(::java::lang::Class *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * implTitle; + ::java::lang::String * implVendor; + ::java::lang::String * implVersion; + ::java::lang::String * specTitle; + ::java::lang::String * specVendor; + ::java::lang::String * specVersion; + ::java::net::URL * sealed; + ::java::lang::ClassLoader * loader; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Package__ diff --git a/libjava/java/lang/Package.java b/libjava/java/lang/Package.java deleted file mode 100644 index 892380f9aa8..00000000000 --- a/libjava/java/lang/Package.java +++ /dev/null @@ -1,415 +0,0 @@ -/* Package.java -- information about a package - Copyright (C) 2000, 2001, 2002, 2003, 2005, 2006 - 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. */ - -package java.lang; - -import java.lang.annotation.Annotation; -import java.lang.reflect.AnnotatedElement; -import java.net.URL; -import java.util.NoSuchElementException; -import java.util.StringTokenizer; - - -/** - * Everything you ever wanted to know about a package. This class makes it - * possible to attach specification and implementation information to a - * package as explained in the - * Package Versioning Specification - * section of the - * Product Versioning Specification. - * It also allows packages to be sealed with respect to the originating URL. - * - *

      The most useful method is the isCompatibleWith() method that - * compares a desired version of a specification with the version of the - * specification as implemented by a package. A package is considered - * compatible with another version if the version of the specification is - * equal or higher then the requested version. Version numbers are represented - * as strings of positive numbers separated by dots (e.g. "1.2.0"). - * The first number is called the major number, the second the minor, - * the third the micro, etc. A version is considered higher then another - * version if it has a bigger major number then the another version or when - * the major numbers of the versions are equal if it has a bigger minor number - * then the other version, etc. (If a version has no minor, micro, etc numbers - * then they are considered the be 0.) - * - * @author Mark Wielaard (mark@klomp.org) - * @see ClassLoader#definePackage(String, String, String, String, String, - * String, String, URL) - * @since 1.2 - * @status updated to 1.5 - */ -public class Package - implements AnnotatedElement -{ - /** The name of the Package */ - private final String name; - - /** The name if the implementation */ - private final String implTitle; - - /** The vendor that wrote this implementation */ - private final String implVendor; - - /** The version of this implementation */ - private final String implVersion; - - /** The name of the specification */ - private final String specTitle; - - /** The name of the specification designer */ - private final String specVendor; - - /** The version of this specification */ - private final String specVersion; - - /** If sealed the origin of the package classes, otherwise null */ - private final URL sealed; - - /** The class loader that defined this package */ - private ClassLoader loader; - - /** @deprecated Please use the other constructor that takes the class loader - * that defines the Package. - */ - Package(String name, - String specTitle, String specVendor, String specVersion, - String implTitle, String implVendor, String implVersion, URL sealed) - { - this(name, specTitle, specVendor, specVersion, implTitle, implVendor, - implVersion, sealed, null); - } - - /** - * A package local constructor for the Package class. All parameters except - * the name of the package may be null. - * There are no public constructors defined for Package; this is a package - * local constructor that is used by java.lang.Classloader.definePackage(). - * - * @param name The name of the Package - * @param specTitle The name of the specification - * @param specVendor The name of the specification designer - * @param specVersion The version of this specification - * @param implTitle The name of the implementation - * @param implVendor The vendor that wrote this implementation - * @param implVersion The version of this implementation - * @param sealed If sealed the origin of the package classes - */ - Package(String name, - String specTitle, String specVendor, String specVersion, - String implTitle, String implVendor, String implVersion, URL sealed, - ClassLoader loader) - { - if (name == null) - throw new IllegalArgumentException("null Package name"); - - this.name = name; - this.implTitle = implTitle; - this.implVendor = implVendor; - this.implVersion = implVersion; - this.specTitle = specTitle; - this.specVendor = specVendor; - this.specVersion = specVersion; - this.sealed = sealed; - this.loader = loader; - } - - /** - * Returns the Package name in dot-notation. - * - * @return the non-null package name - */ - public String getName() - { - return name; - } - - /** - * Returns the name of the specification, or null if unknown. - * - * @return the specification title - */ - public String getSpecificationTitle() - { - return specTitle; - } - - /** - * Returns the version of the specification, or null if unknown. - * - * @return the specification version - */ - public String getSpecificationVersion() - { - return specVersion; - } - - /** - * Returns the name of the specification designer, or null if unknown. - * - * @return the specification vendor - */ - public String getSpecificationVendor() - { - return specVendor; - } - - /** - * Returns the name of the implementation, or null if unknown. - * - * @return the implementation title - */ - public String getImplementationTitle() - { - return implTitle; - } - - /** - * Returns the version of this implementation, or null if unknown. - * - * @return the implementation version - */ - public String getImplementationVersion() - { - return implVersion; - } - - /** - * Returns the vendor that wrote this implementation, or null if unknown. - * - * @return the implementation vendor - */ - public String getImplementationVendor() - { - return implVendor; - } - - /** - * Returns true if this Package is sealed. - * - * @return true if the package is sealed - */ - public boolean isSealed() - { - return sealed != null; - } - - /** - * Returns true if this Package is sealed and the origin of the classes is - * the given URL. - * - * @param url the URL to test - * @return true if the package is sealed by this URL - * @throws NullPointerException if url is null - */ - public boolean isSealed(URL url) - { - return url.equals(sealed); - } - - /** - * Checks if the version of the specification is higher or at least as high - * as the desired version. Comparison is done by sequentially comparing - * dotted decimal numbers from the parameter and from - * getSpecificationVersion. - * - * @param version the (minimal) desired version of the specification - * - * @return true if the version is compatible, false otherwise - * - * @throws NumberFormatException if either version string is invalid - * @throws NullPointerException if either version string is null - */ - public boolean isCompatibleWith(String version) - { - StringTokenizer versionTokens = new StringTokenizer(version, "."); - StringTokenizer specTokens = new StringTokenizer(specVersion, "."); - try - { - while (versionTokens.hasMoreElements()) - { - int vers = Integer.parseInt(versionTokens.nextToken()); - int spec = Integer.parseInt(specTokens.nextToken()); - if (spec < vers) - return false; - else if (spec > vers) - return true; - // They must be equal, next Token please! - } - } - catch (NoSuchElementException e) - { - // This must have been thrown by spec.nextToken() so return false. - return false; - } - // They must have been exactly the same version. - // Or the specVersion has more subversions. That is also good. - return true; - } - - /** - * Returns the named package if it is known by the callers class loader. - * It may return null if the package is unknown, when there is no - * information on that particular package available or when the callers - * classloader is null. - * - * @param name the name of the desired package - * @return the package by that name in the current ClassLoader - */ - public static Package getPackage(String name) - { - // Get the caller's classloader - ClassLoader cl = VMSecurityManager.currentClassLoader(Package.class); - return cl != null ? cl.getPackage(name) : VMClassLoader.getPackage(name); - } - - /** - * Returns all the packages that are known to the callers class loader. - * It may return an empty array if the classloader of the caller is null. - * - * @return an array of all known packages - */ - public static Package[] getPackages() - { - // Get the caller's classloader - Class c = VMSecurityManager.getClassContext(Package.class)[1]; - ClassLoader cl = c.getClassLoader(); - return cl != null ? cl.getPackages() : VMClassLoader.getPackages(); - } - - /** - * Returns the hashCode of the name of this package. - * - * @return the hash code - */ - public int hashCode() - { - return name.hashCode(); - } - - /** - * Returns a string representation of this package. It is specified to - * be "package " + getName() + (getSpecificationTitle() == null - * ? "" : ", " + getSpecificationTitle()) + (getSpecificationVersion() - * == null ? "" : ", version " + getSpecificationVersion()). - * - * @return the string representation of the package - */ - public String toString() - { - return ("package " + name + (specTitle == null ? "" : ", " + specTitle) - + (specVersion == null ? "" : ", version " + specVersion)); - } - - /** - * Returns this package's annotation for the specified annotation type, - * or null if no such annotation exists. - * - * @param annotationClass the type of annotation to look for. - * @return this package's annotation for the specified type, or - * null if no such annotation exists. - * @since 1.5 - */ - /* FIXME[GENERICS]: T getAnnotation(Class ) */ - public Annotation getAnnotation(Class annotationClass) - { - Annotation foundAnnotation = null; - Annotation[] annotations = getAnnotations(); - for (int i = 0; i < annotations.length; i++) - if (annotations[i].annotationType() == annotationClass) - foundAnnotation = annotations[i]; - return foundAnnotation; - } - - /** - * Returns all annotations associated with this package. If there are - * no annotations associated with this package, then a zero-length array - * will be returned. The returned array may be modified by the client - * code, but this will have no effect on the annotation content of this - * package, and hence no effect on the return value of this method for - * future callers. - * - * @return this package' annotations. - * @since 1.5 - */ - public Annotation[] getAnnotations() - { - /** All a package's annotations are declared within it. */ - return getDeclaredAnnotations(); - } - - /** - * Returns all annotations directly defined by this package. If there are - * no annotations associated with this package, then a zero-length array - * will be returned. The returned array may be modified by the client - * code, but this will have no effect on the annotation content of this - * package, and hence no effect on the return value of this method for - * future callers. - * - * @return the annotations directly defined by this package. - * @since 1.5 - */ - public Annotation[] getDeclaredAnnotations() - { - try - { - Class pkgInfo = Class.forName(name + ".package-info", false, loader); - return pkgInfo.getDeclaredAnnotations(); - } - catch (ClassNotFoundException _) - { - return new Annotation[0]; - } - } - - /** - * Returns true if an annotation for the specified type is associated - * with this package. This is primarily a short-hand for using marker - * annotations. - * - * @param annotationClass the type of annotation to look for. - * @return true if an annotation exists for the specified type. - * @since 1.5 - */ - /* FIXME[GENERICS]: Signature is Class */ - public boolean isAnnotationPresent(Class - annotationClass) - { - return getAnnotation(annotationClass) != null; - } - -} // class Package diff --git a/libjava/java/lang/PosixProcess$EOFInputStream.h b/libjava/java/lang/PosixProcess$EOFInputStream.h new file mode 100644 index 00000000000..bda16533a3f --- /dev/null +++ b/libjava/java/lang/PosixProcess$EOFInputStream.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_PosixProcess$EOFInputStream__ +#define __java_lang_PosixProcess$EOFInputStream__ + +#pragma interface + +#include + +class java::lang::PosixProcess$EOFInputStream : public ::java::io::InputStream +{ + +public: // actually package-private + PosixProcess$EOFInputStream(); +public: + virtual jint read(); +public: // actually package-private + static ::java::lang::PosixProcess$EOFInputStream * instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_PosixProcess$EOFInputStream__ diff --git a/libjava/java/lang/PosixProcess$ProcessManager.h b/libjava/java/lang/PosixProcess$ProcessManager.h new file mode 100644 index 00000000000..d8d0d594232 --- /dev/null +++ b/libjava/java/lang/PosixProcess$ProcessManager.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_PosixProcess$ProcessManager__ +#define __java_lang_PosixProcess$ProcessManager__ + +#pragma interface + +#include + +class java::lang::PosixProcess$ProcessManager : public ::java::lang::Thread +{ + +public: // actually package-private + PosixProcess$ProcessManager(); +private: + ::java::lang::PosixProcess * removeProcessFromMap(jlong); +public: // actually package-private + virtual void addProcessToMap(::java::lang::PosixProcess *); + virtual void startExecuting(::java::lang::PosixProcess *); + virtual void waitUntilReady(); +public: + virtual void run(); +private: + void init(); + void waitForSignal(); + jboolean reap(); + void signalReaper(); +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) queue; +private: + ::java::util::Map * pidToProcess; + jboolean ready; + jlong reaperPID; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_PosixProcess$ProcessManager__ diff --git a/libjava/java/lang/PosixProcess.h b/libjava/java/lang/PosixProcess.h new file mode 100644 index 00000000000..62539ceb2ac --- /dev/null +++ b/libjava/java/lang/PosixProcess.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_PosixProcess__ +#define __java_lang_PosixProcess__ + +#pragma interface + +#include +#include + + +class java::lang::PosixProcess : public ::java::lang::Process +{ + +public: + void destroy(); +private: + void nativeDestroy(); +public: + jint exitValue(); +public: // actually package-private + void processTerminationCleanup(); +public: + ::java::io::InputStream * getErrorStream(); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + jint waitFor(); +public: // actually package-private + void spawn(::java::lang::PosixProcess$ProcessManager *); +private: + void nativeSpawn(); +public: // actually package-private + PosixProcess(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *); + static jlong access$0(::java::lang::PosixProcess *); + static ::java::lang::Object * access$1(); + static void access$2(::java::lang::PosixProcess$ProcessManager *); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Process)))) progarray; + JArray< ::java::lang::String * > * envp; + ::java::io::File * dir; + ::java::lang::Throwable * exception; + jlong pid; +public: // actually package-private + static const jint STATE_WAITING_TO_START = 0; + static const jint STATE_RUNNING = 1; + static const jint STATE_TERMINATED = 2; + jint state; + jint status; +private: + ::java::io::InputStream * errorStream; + ::java::io::InputStream * inputStream; + ::java::io::OutputStream * outputStream; + ::java::io::InputStream * returnedErrorStream; + ::java::io::InputStream * returnedInputStream; + static ::java::lang::Object * queueLock; + static ::java::lang::PosixProcess$ProcessManager * processManager; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_PosixProcess__ diff --git a/libjava/java/lang/PosixProcess.java b/libjava/java/lang/PosixProcess.java index fbd6c4c8a49..23e1da9d698 100644 --- a/libjava/java/lang/PosixProcess.java +++ b/libjava/java/lang/PosixProcess.java @@ -1,5 +1,5 @@ // PosixProcess.java - Subclass of Process for POSIX systems. -/* Copyright (C) 1998, 1999, 2004 Free Software Foundation +/* Copyright (C) 1998, 1999, 2004, 2006 Free Software Foundation This file is part of libgcj. @@ -25,19 +25,15 @@ import java.util.Map; * @author David Daney Rewrote using * ProcessManager */ - -// This is entirely internal to our implementation. -// This file is copied to `ConcreteProcess.java' before compilation. -// Hence the class name apparently does not match the file name. -final class ConcreteProcess extends Process +final class PosixProcess extends Process { static class ProcessManager extends Thread { /** - * A list of {@link ConcreteProcess ConcreteProcesses} to be + * A list of {@link PosixProcess PosixProcesses} to be * started. The queueLock object is used as the lock Object * for all process related operations. To avoid dead lock - * ensure queueLock is obtained before ConcreteProcess. + * ensure queueLock is obtained before PosixProcess. */ List queue = new LinkedList(); private Map pidToProcess = new HashMap(); @@ -52,37 +48,37 @@ final class ConcreteProcess extends Process } /** - * Get the ConcreteProcess object with the given pid and + * Get the PosixProcess object with the given pid and * remove it from the map. This method is called from the * native code for {@link #reap()). The mapping is removed so - * the ConcreteProcesses can be GCed after they terminate. + * the PosixProcesses can be GCed after they terminate. * * @param p The pid of the process. */ - private ConcreteProcess removeProcessFromMap(long p) + private PosixProcess removeProcessFromMap(long p) { - return (ConcreteProcess) pidToProcess.remove(new Long(p)); + return (PosixProcess) pidToProcess.remove(new Long(p)); } /** - * Put the given ConcreteProcess in the map using the Long + * Put the given PosixProcess in the map using the Long * value of its pid as the key. * - * @param p The ConcreteProcess. + * @param p The PosixProcess. */ - void addProcessToMap(ConcreteProcess p) + void addProcessToMap(PosixProcess p) { pidToProcess.put(new Long(p.pid), p); } /** - * Queue up the ConcreteProcess and awake the ProcessManager. - * The ProcessManager will start the ConcreteProcess from its + * Queue up the PosixProcess and awake the ProcessManager. + * The ProcessManager will start the PosixProcess from its * thread so it can be reaped when it terminates. * - * @param p The ConcreteProcess. + * @param p The PosixProcess. */ - void startExecuting(ConcreteProcess p) + void startExecuting(PosixProcess p) { synchronized (queueLock) { @@ -154,7 +150,7 @@ final class ConcreteProcess extends Process } while (queue.size() > 0) { - ConcreteProcess p = (ConcreteProcess) queue.remove(0); + PosixProcess p = (PosixProcess) queue.remove(0); p.spawn(this); } } @@ -353,10 +349,7 @@ final class ConcreteProcess extends Process */ private native void nativeSpawn(); - // This file is copied to `ConcreteProcess.java' before - // compilation. Hence the constructor name apparently does not - // match the file name. - ConcreteProcess(String[] progarray, String[] envp, File dir) + PosixProcess(String[] progarray, String[] envp, File dir) throws IOException { // Check to ensure there is something to run, and avoid @@ -378,7 +371,7 @@ final class ConcreteProcess extends Process processManager.waitUntilReady(); } - // Queue this ConcreteProcess for starting by the ProcessManager. + // Queue this PosixProcess for starting by the ProcessManager. processManager.startExecuting(this); } @@ -428,8 +421,8 @@ final class ConcreteProcess extends Process /** The process id. This is cast to a pid_t on the native side. */ private long pid; - // FIXME: Why doesn't the friend declaration in ConcreteProcess.h - // allow ConcreteProcess$ProcessManager native code access these + // FIXME: Why doesn't the friend declaration in PosixProcess.h + // allow PosixProcess$ProcessManager native code access these // when they are private? /** Before the process is forked. */ diff --git a/libjava/java/lang/Process.h b/libjava/java/lang/Process.h new file mode 100644 index 00000000000..f363feb50ef --- /dev/null +++ b/libjava/java/lang/Process.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Process__ +#define __java_lang_Process__ + +#pragma interface + +#include + +class java::lang::Process : public ::java::lang::Object +{ + +public: + Process(); + virtual ::java::io::OutputStream * getOutputStream() = 0; + virtual ::java::io::InputStream * getInputStream() = 0; + virtual ::java::io::InputStream * getErrorStream() = 0; + virtual jint waitFor() = 0; + virtual jint exitValue() = 0; + virtual void destroy() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Process__ diff --git a/libjava/java/lang/ProcessBuilder.h b/libjava/java/lang/ProcessBuilder.h new file mode 100644 index 00000000000..fd6029df0e5 --- /dev/null +++ b/libjava/java/lang/ProcessBuilder.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ProcessBuilder__ +#define __java_lang_ProcessBuilder__ + +#pragma interface + +#include +#include + + +class java::lang::ProcessBuilder : public ::java::lang::Object +{ + +public: + ProcessBuilder(::java::util::List *); + ProcessBuilder(JArray< ::java::lang::String * > *); + ::java::util::List * command(); + ::java::lang::ProcessBuilder * command(::java::util::List *); + ::java::lang::ProcessBuilder * command(JArray< ::java::lang::String * > *); + ::java::io::File * directory(); + ::java::lang::ProcessBuilder * directory(::java::io::File *); + ::java::util::Map * environment(); + jboolean redirectErrorStream(); + ::java::lang::ProcessBuilder * redirectErrorStream(jboolean); + ::java::lang::Process * start(); +private: + ::java::io::File * __attribute__((aligned(__alignof__( ::java::lang::Object)))) directory__; + ::java::util::List * command__; + ::java::util::Map * environment__; + jboolean redirect; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ProcessBuilder__ diff --git a/libjava/java/lang/ProcessBuilder.java b/libjava/java/lang/ProcessBuilder.java new file mode 100644 index 00000000000..440e5e0b48d --- /dev/null +++ b/libjava/java/lang/ProcessBuilder.java @@ -0,0 +1,118 @@ +/* ProcessBuilder.java - Represent spawned system process + Copyright (C) 2005, 2006 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. */ + + +package java.lang; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +public final class ProcessBuilder +{ + private File directory = new File(System.getProperty("user.dir")); + private List command; + // FIXME: make a copy. + private Map environment = System.getenv(); + private boolean redirect = false; + + public ProcessBuilder(List command) + { + this.command = command; + } + + public ProcessBuilder(String... command) + { + this.command = Arrays.asList(command); + } + + public List command() + { + return command; + } + + public ProcessBuilder command(List command) + { + this.command = command; + return this; + } + + public ProcessBuilder command(String... command) + { + this.command = Arrays.asList(command); + return this; + } + + public File directory() + { + return directory; + } + + public ProcessBuilder directory(File directory) + { + this.directory = directory; + return this; + } + + public Map environment() + { + return environment; + } + + public boolean redirectErrorStream() + { + return redirect; + } + + public ProcessBuilder redirectErrorStream(boolean redirect) + { + this.redirect = redirect; + return this; + } + + public Process start() throws IOException + { + SecurityManager sm = SecurityManager.current; // Be thread-safe! + if (sm != null) + sm.checkExec(command.get(0)); + // return VMProcess.exec(command, environment, directory, redirect); + // FIXME + return null; + } +} diff --git a/libjava/java/lang/Readable.h b/libjava/java/lang/Readable.h new file mode 100644 index 00000000000..d8e7d2185c3 --- /dev/null +++ b/libjava/java/lang/Readable.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Readable__ +#define __java_lang_Readable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class CharBuffer; + } + } +} + +class java::lang::Readable : public ::java::lang::Object +{ + +public: + virtual jint read(::java::nio::CharBuffer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Readable__ diff --git a/libjava/java/lang/Runnable.h b/libjava/java/lang/Runnable.h new file mode 100644 index 00000000000..ba5985cbf13 --- /dev/null +++ b/libjava/java/lang/Runnable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Runnable__ +#define __java_lang_Runnable__ + +#pragma interface + +#include + +class java::lang::Runnable : public ::java::lang::Object +{ + +public: + virtual void run() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Runnable__ diff --git a/libjava/java/lang/Runtime.h b/libjava/java/lang/Runtime.h new file mode 100644 index 00000000000..4679cc0b146 --- /dev/null +++ b/libjava/java/lang/Runtime.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Runtime__ +#define __java_lang_Runtime__ + +#pragma interface + +#include +#include + + +class java::lang::Runtime : public ::java::lang::Object +{ + + Runtime(); +public: + static ::java::lang::Runtime * getRuntime(); + virtual void exit(jint); +public: // actually package-private + static void exitNoChecksAccessor(jint); +private: + void exitNoChecks(jint); +public: // actually package-private + virtual jboolean runShutdownHooks(); +public: + virtual void addShutdownHook(::java::lang::Thread *); + virtual jboolean removeShutdownHook(::java::lang::Thread *); + virtual void halt(jint); + static void runFinalizersOnExit(jboolean); + virtual ::java::lang::Process * exec(::java::lang::String *); + virtual ::java::lang::Process * exec(::java::lang::String *, JArray< ::java::lang::String * > *); + virtual ::java::lang::Process * exec(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::io::File *); + virtual ::java::lang::Process * exec(JArray< ::java::lang::String * > *); + virtual ::java::lang::Process * exec(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *); + virtual ::java::lang::Process * exec(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *); + virtual jint availableProcessors(); + virtual jlong freeMemory(); + virtual jlong totalMemory(); + virtual jlong maxMemory(); + virtual void gc(); + virtual void runFinalization(); + virtual void traceInstructions(jboolean); + virtual void traceMethodCalls(jboolean); + virtual void load(::java::lang::String *); + virtual void loadLibrary(::java::lang::String *); + virtual ::java::io::InputStream * getLocalizedInputStream(::java::io::InputStream *); + virtual ::java::io::OutputStream * getLocalizedOutputStream(::java::io::OutputStream *); +public: // actually package-private + virtual void exitInternal(jint); + virtual void _load(::java::lang::String *, jboolean); + virtual jboolean loadLibraryInternal(::java::lang::String *); +private: + static void init(); + void runFinalizationForExit(); +public: // actually package-private + static ::java::lang::String * nativeGetLibname(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Process * execInternal(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) libpath; + ::java::lang::Thread * exitSequence; + ::java::util::Set * shutdownHooks; + jboolean finalizeOnExit; + static ::java::lang::Runtime * current; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Runtime__ diff --git a/libjava/java/lang/RuntimeException.h b/libjava/java/lang/RuntimeException.h new file mode 100644 index 00000000000..0bce089c7e4 --- /dev/null +++ b/libjava/java/lang/RuntimeException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_RuntimeException__ +#define __java_lang_RuntimeException__ + +#pragma interface + +#include + +class java::lang::RuntimeException : public ::java::lang::Exception +{ + +public: + RuntimeException(); + RuntimeException(::java::lang::String *); + RuntimeException(::java::lang::String *, ::java::lang::Throwable *); + RuntimeException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -7034897190745766939LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_RuntimeException__ diff --git a/libjava/java/lang/RuntimePermission.h b/libjava/java/lang/RuntimePermission.h new file mode 100644 index 00000000000..8b48175454e --- /dev/null +++ b/libjava/java/lang/RuntimePermission.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_RuntimePermission__ +#define __java_lang_RuntimePermission__ + +#pragma interface + +#include + +class java::lang::RuntimePermission : public ::java::security::BasicPermission +{ + +public: + RuntimePermission(::java::lang::String *); + RuntimePermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 7399184964622342223LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_RuntimePermission__ diff --git a/libjava/java/lang/SecurityContext.h b/libjava/java/lang/SecurityContext.h new file mode 100644 index 00000000000..e7b0e595deb --- /dev/null +++ b/libjava/java/lang/SecurityContext.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_SecurityContext__ +#define __java_lang_SecurityContext__ + +#pragma interface + +#include +#include + + +class java::lang::SecurityContext : public ::java::lang::Object +{ + +public: // actually package-private + SecurityContext(JArray< ::java::lang::Class * > *); + JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classes; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_SecurityContext__ diff --git a/libjava/java/lang/SecurityException.h b/libjava/java/lang/SecurityException.h new file mode 100644 index 00000000000..3b19ba203e1 --- /dev/null +++ b/libjava/java/lang/SecurityException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_SecurityException__ +#define __java_lang_SecurityException__ + +#pragma interface + +#include + +class java::lang::SecurityException : public ::java::lang::RuntimeException +{ + +public: + SecurityException(); + SecurityException(::java::lang::String *); + SecurityException(::java::lang::String *, ::java::lang::Throwable *); + SecurityException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 6878364983674394167LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_SecurityException__ diff --git a/libjava/java/lang/SecurityManager$1.h b/libjava/java/lang/SecurityManager$1.h new file mode 100644 index 00000000000..21df4f767ed --- /dev/null +++ b/libjava/java/lang/SecurityManager$1.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_SecurityManager$1__ +#define __java_lang_SecurityManager$1__ + +#pragma interface + +#include + +class java::lang::SecurityManager$1 : public ::java::lang::Object +{ + +public: // actually package-private + SecurityManager$1(::java::lang::SecurityManager *, ::java::lang::String *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::lang::SecurityManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::lang::String * val$restriction; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_SecurityManager$1__ diff --git a/libjava/java/lang/SecurityManager.h b/libjava/java/lang/SecurityManager.h new file mode 100644 index 00000000000..28ef484c3ce --- /dev/null +++ b/libjava/java/lang/SecurityManager.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_SecurityManager__ +#define __java_lang_SecurityManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + } + namespace security + { + class Permission; + } + } +} + +class java::lang::SecurityManager : public ::java::lang::Object +{ + +public: + SecurityManager(); + virtual jboolean getInCheck(); +public: // actually protected + virtual JArray< ::java::lang::Class * > * getClassContext(); + virtual ::java::lang::ClassLoader * currentClassLoader(); + virtual ::java::lang::Class * currentLoadedClass(); + virtual jint classDepth(::java::lang::String *); + virtual jint classLoaderDepth(); + virtual jboolean inClass(::java::lang::String *); + virtual jboolean inClassLoader(); +public: + virtual ::java::lang::Object * getSecurityContext(); + virtual void checkPermission(::java::security::Permission *); + virtual void checkPermission(::java::security::Permission *, ::java::lang::Object *); + virtual void checkCreateClassLoader(); + virtual void checkAccess(::java::lang::Thread *); + virtual void checkAccess(::java::lang::ThreadGroup *); + virtual void checkExit(jint); + virtual void checkExec(::java::lang::String *); + virtual void checkLink(::java::lang::String *); + virtual void checkRead(::java::io::FileDescriptor *); + virtual void checkRead(::java::lang::String *); + virtual void checkRead(::java::lang::String *, ::java::lang::Object *); + virtual void checkWrite(::java::io::FileDescriptor *); + virtual void checkWrite(::java::lang::String *); + virtual void checkDelete(::java::lang::String *); + virtual void checkConnect(::java::lang::String *, jint); + virtual void checkConnect(::java::lang::String *, jint, ::java::lang::Object *); + virtual void checkListen(jint); + virtual void checkAccept(::java::lang::String *, jint); + virtual void checkMulticast(::java::net::InetAddress *); + virtual void checkMulticast(::java::net::InetAddress *, jbyte); + virtual void checkPropertiesAccess(); + virtual void checkPropertyAccess(::java::lang::String *); + virtual jboolean checkTopLevelWindow(::java::lang::Object *); + virtual void checkPrintJobAccess(); + virtual void checkSystemClipboardAccess(); + virtual void checkAwtEventQueueAccess(); + virtual void checkPackageAccess(::java::lang::String *); + virtual void checkPackageDefinition(::java::lang::String *); + virtual void checkSetFactory(); + virtual void checkMemberAccess(::java::lang::Class *, jint); + virtual void checkSecurityAccess(::java::lang::String *); + virtual ::java::lang::ThreadGroup * getThreadGroup(); +public: // actually package-private + virtual void checkPackageList(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static volatile ::java::lang::SecurityManager * current; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) inCheck; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_SecurityManager__ diff --git a/libjava/java/lang/SecurityManager.java b/libjava/java/lang/SecurityManager.java deleted file mode 100644 index c803c5b8554..00000000000 --- a/libjava/java/lang/SecurityManager.java +++ /dev/null @@ -1,1057 +0,0 @@ -/* SecurityManager.java -- security checks for privileged actions - Copyright (C) 1998, 1999, 2001, 2002, 2005, 2006 - 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. */ - - -package java.lang; - -import java.awt.AWTPermission; -import java.io.File; -import java.io.FileDescriptor; -import java.io.FilePermission; -import java.lang.reflect.Member; -import java.net.InetAddress; -import java.net.SocketPermission; -import java.security.AccessController; -import java.security.AccessControlContext; -import java.security.AllPermission; -import java.security.Permission; -import java.security.PrivilegedAction; -import java.security.Security; -import java.security.SecurityPermission; -import java.util.PropertyPermission; -import java.util.StringTokenizer; - -/** - * SecurityManager is a class you can extend to create your own Java - * security policy. By default, there is no SecurityManager installed in - * 1.1, which means that all things are permitted to all people. The security - * manager, if set, is consulted before doing anything with potentially - * dangerous results, and throws a SecurityException if the - * action is forbidden. - * - *

      A typical check is as follows, just before the dangerous operation:
      - *

      - * SecurityManager sm = System.getSecurityManager();
      - * if (sm != null)
      - *   sm.checkABC(argument, ...);
      - * 
      - * Note that this is thread-safe, by caching the security manager in a local - * variable rather than risking a NullPointerException if the mangager is - * changed between the check for null and before the permission check. - * - *

      The special method checkPermission is a catchall, and - * the default implementation calls - * AccessController.checkPermission. In fact, all the other - * methods default to calling checkPermission. - * - *

      Sometimes, the security check needs to happen from a different context, - * such as when called from a worker thread. In such cases, use - * getSecurityContext to take a snapshot that can be passed - * to the worker thread:
      - *

      - * Object context = null;
      - * SecurityManager sm = System.getSecurityManager();
      - * if (sm != null)
      - *   context = sm.getSecurityContext(); // defaults to an AccessControlContext
      - * // now, in worker thread
      - * if (sm != null)
      - *   sm.checkPermission(permission, context);
      - * 
      - * - *

      Permissions fall into these categories: File, Socket, Net, Security, - * Runtime, Property, AWT, Reflect, and Serializable. Each of these - * permissions have a property naming convention, that follows a hierarchical - * naming convention, to make it easy to grant or deny several permissions - * at once. Some permissions also take a list of permitted actions, such - * as "read" or "write", to fine-tune control even more. The permission - * java.security.AllPermission grants all permissions. - * - *

      The default methods in this class deny all things to all people. You - * must explicitly grant permission for anything you want to be legal when - * subclassing this class. - * - * @author John Keiser - * @author Eric Blake (ebb9@email.byu.edu) - * @see ClassLoader - * @see SecurityException - * @see #checkTopLevelWindow(Object) - * @see System#getSecurityManager() - * @see System#setSecurityManager(SecurityManager) - * @see AccessController - * @see AccessControlContext - * @see AccessControlException - * @see Permission - * @see BasicPermission - * @see java.io.FilePermission - * @see java.net.SocketPermission - * @see java.util.PropertyPermission - * @see RuntimePermission - * @see java.awt.AWTPermission - * @see Policy - * @see SecurityPermission - * @see ProtectionDomain - * @since 1.0 - * @status still missing 1.4 functionality - */ -public class SecurityManager -{ - /** - * The current security manager. This is located here instead of in - * System, to avoid security problems, as well as bootstrap issues. - * Make sure to access it in a thread-safe manner; it is package visible - * to avoid overhead in java.lang. - */ - static volatile SecurityManager current; - - /** - * Tells whether or not the SecurityManager is currently performing a - * security check. - * @deprecated Use {@link #checkPermission(Permission)} instead. - */ - protected boolean inCheck; - - /** - * Construct a new security manager. There may be a security check, of - * RuntimePermission("createSecurityManager"). - * - * @throws SecurityException if permission is denied - */ - public SecurityManager() - { - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkPermission(new RuntimePermission("createSecurityManager")); - } - - /** - * Tells whether or not the SecurityManager is currently performing a - * security check. - * - * @return true if the SecurityManager is in a security check - * @see #inCheck - * @deprecated use {@link #checkPermission(Permission)} instead - */ - public boolean getInCheck() - { - return inCheck; - } - - /** - * Get a list of all the classes currently executing methods on the Java - * stack. getClassContext()[0] is the currently executing method (ie. the - * class that CALLED getClassContext, not SecurityManager). - * - * @return an array of classes on the Java execution stack - */ - protected Class[] getClassContext() - { - return VMSecurityManager.getClassContext(SecurityManager.class); - } - - /** - * Find the ClassLoader of the first non-system class on the execution - * stack. A non-system class is one whose ClassLoader is not equal to - * {@link ClassLoader#getSystemClassLoader()} or its ancestors. This - * will return null in three cases: - * - *

        - *
      • All methods on the stack are from system classes
      • - *
      • All methods on the stack up to the first "privileged" caller, as - * created by {@link AccessController#doPrivileged(PrivilegedAction)}, - * are from system classes
      • - *
      • A check of java.security.AllPermission succeeds.
      • - *
      - * - * @return the most recent non-system ClassLoader on the execution stack - * @deprecated use {@link #checkPermission(Permission)} instead - */ - protected ClassLoader currentClassLoader() - { - return VMSecurityManager.currentClassLoader(SecurityManager.class); - } - - /** - * Find the first non-system class on the execution stack. A non-system - * class is one whose ClassLoader is not equal to - * {@link ClassLoader#getSystemClassLoader()} or its ancestors. This - * will return null in three cases: - * - *
        - *
      • All methods on the stack are from system classes
      • - *
      • All methods on the stack up to the first "privileged" caller, as - * created by {@link AccessController#doPrivileged(PrivilegedAction)}, - * are from system classes
      • - *
      • A check of java.security.AllPermission succeeds.
      • - *
      - * - * @return the most recent non-system Class on the execution stack - * @deprecated use {@link #checkPermission(Permission)} instead - */ - protected Class currentLoadedClass() - { - int i = classLoaderDepth(); - return i >= 0 ? getClassContext()[i] : null; - } - - /** - * Get the depth of a particular class on the execution stack. - * - * @param className the fully-qualified name to search for - * @return the index of the class on the stack, or -1 - * @deprecated use {@link #checkPermission(Permission)} instead - */ - protected int classDepth(String className) - { - Class[] c = getClassContext(); - for (int i = 0; i < c.length; i++) - if (className.equals(c[i].getName())) - return i; - return -1; - } - - /** - * Get the depth on the execution stack of the most recent non-system class. - * A non-system class is one whose ClassLoader is not equal to - * {@link ClassLoader#getSystemClassLoader()} or its ancestors. This - * will return -1 in three cases: - * - *
        - *
      • All methods on the stack are from system classes
      • - *
      • All methods on the stack up to the first "privileged" caller, as - * created by {@link AccessController#doPrivileged(PrivilegedAction)}, - * are from system classes
      • - *
      • A check of java.security.AllPermission succeeds.
      • - *
      - * - * @return the index of the most recent non-system Class on the stack - * @deprecated use {@link #checkPermission(Permission)} instead - */ - protected int classLoaderDepth() - { - try - { - checkPermission(new AllPermission()); - } - catch (SecurityException e) - { - Class[] c = getClassContext(); - for (int i = 0; i < c.length; i++) - if (c[i].getClassLoader() != null) - // XXX Check if c[i] is AccessController, or a system class. - return i; - } - return -1; - } - - /** - * Tell whether the specified class is on the execution stack. - * - * @param className the fully-qualified name of the class to find - * @return whether the specified class is on the execution stack - * @deprecated use {@link #checkPermission(Permission)} instead - */ - protected boolean inClass(String className) - { - return classDepth(className) != -1; - } - - /** - * Tell whether there is a class loaded with an explicit ClassLoader on - * the stack. - * - * @return whether a class with an explicit ClassLoader is on the stack - * @deprecated use {@link #checkPermission(Permission)} instead - */ - protected boolean inClassLoader() - { - return classLoaderDepth() != -1; - } - - /** - * Get an implementation-dependent Object that contains enough information - * about the current environment to be able to perform standard security - * checks later. This is used by trusted methods that need to verify that - * their callers have sufficient access to perform certain operations. - * - *

      Currently the only methods that use this are checkRead() and - * checkConnect(). The default implementation returns an - * AccessControlContext. - * - * @return a security context - * @see #checkConnect(String, int, Object) - * @see #checkRead(String, Object) - * @see AccessControlContext - * @see AccessController#getContext() - */ - public Object getSecurityContext() - { - return AccessController.getContext(); - } - - /** - * Check if the current thread is allowed to perform an operation that - * requires the specified Permission. This defaults to - * AccessController.checkPermission. - * - * @param perm the Permission required - * @throws SecurityException if permission is denied - * @throws NullPointerException if perm is null - * @since 1.2 - */ - public void checkPermission(Permission perm) - { - AccessController.checkPermission(perm); - } - - /** - * Check if the current thread is allowed to perform an operation that - * requires the specified Permission. This is done in a - * context previously returned by getSecurityContext(). The - * default implementation expects context to be an AccessControlContext, - * and it calls AccessControlContext.checkPermission(perm). - * - * @param perm the Permission required - * @param context a security context - * @throws SecurityException if permission is denied, or if context is - * not an AccessControlContext - * @throws NullPointerException if perm is null - * @see #getSecurityContext() - * @see AccessControlContext#checkPermission(Permission) - * @since 1.2 - */ - public void checkPermission(Permission perm, Object context) - { - if (! (context instanceof AccessControlContext)) - throw new SecurityException("Missing context"); - ((AccessControlContext) context).checkPermission(perm); - } - - /** - * Check if the current thread is allowed to create a ClassLoader. This - * method is called from ClassLoader.ClassLoader(), and checks - * RuntimePermission("createClassLoader"). If you override - * this, you should call super.checkCreateClassLoader() rather - * than throwing an exception. - * - * @throws SecurityException if permission is denied - * @see ClassLoader#ClassLoader() - */ - public void checkCreateClassLoader() - { - checkPermission(new RuntimePermission("createClassLoader")); - } - - /** - * Check if the current thread is allowed to modify another Thread. This is - * called by Thread.stop(), suspend(), resume(), interrupt(), destroy(), - * setPriority(), setName(), and setDaemon(). The default implementation - * checks RuntimePermission("modifyThread") on system threads - * (ie. threads in ThreadGroup with a null parent), and returns silently on - * other threads. - * - *

      If you override this, you must do two things. First, call - * super.checkAccess(t), to make sure you are not relaxing - * requirements. Second, if the calling thread has - * RuntimePermission("modifyThread"), return silently, so that - * core classes (the Classpath library!) can modify any thread. - * - * @param thread the other Thread to check - * @throws SecurityException if permission is denied - * @throws NullPointerException if thread is null - * @see Thread#stop() - * @see Thread#suspend() - * @see Thread#resume() - * @see Thread#setPriority(int) - * @see Thread#setName(String) - * @see Thread#setDaemon(boolean) - */ - public void checkAccess(Thread thread) - { - if (thread.getThreadGroup() != null - && thread.getThreadGroup().getParent() == null) - checkPermission(new RuntimePermission("modifyThread")); - } - - /** - * Check if the current thread is allowed to modify a ThreadGroup. This is - * called by Thread.Thread() (to add a thread to the ThreadGroup), - * ThreadGroup.ThreadGroup() (to add this ThreadGroup to a parent), - * ThreadGroup.stop(), suspend(), resume(), interrupt(), destroy(), - * setDaemon(), and setMaxPriority(). The default implementation - * checks RuntimePermission("modifyThread") on the system group - * (ie. the one with a null parent), and returns silently on other groups. - * - *

      If you override this, you must do two things. First, call - * super.checkAccess(t), to make sure you are not relaxing - * requirements. Second, if the calling thread has - * RuntimePermission("modifyThreadGroup"), return silently, - * so that core classes (the Classpath library!) can modify any thread. - * - * @param g the ThreadGroup to check - * @throws SecurityException if permission is denied - * @throws NullPointerException if g is null - * @see Thread#Thread() - * @see ThreadGroup#ThreadGroup(String) - * @see ThreadGroup#stop() - * @see ThreadGroup#suspend() - * @see ThreadGroup#resume() - * @see ThreadGroup#interrupt() - * @see ThreadGroup#setDaemon(boolean) - * @see ThreadGroup#setMaxPriority(int) - */ - public void checkAccess(ThreadGroup g) - { - if (g.getParent() == null) - checkPermission(new RuntimePermission("modifyThreadGroup")); - } - - /** - * Check if the current thread is allowed to exit the JVM with the given - * status. This method is called from Runtime.exit() and Runtime.halt(). - * The default implementation checks - * RuntimePermission("exitVM"). If you override this, call - * super.checkExit rather than throwing an exception. - * - * @param status the status to exit with - * @throws SecurityException if permission is denied - * @see Runtime#exit(int) - * @see Runtime#halt(int) - */ - public void checkExit(int status) - { - checkPermission(new RuntimePermission("exitVM")); - } - - /** - * Check if the current thread is allowed to execute the given program. This - * method is called from Runtime.exec(). If the name is an absolute path, - * the default implementation checks - * FilePermission(program, "execute"), otherwise it checks - * FilePermission("<<ALL FILES>>", "execute"). If - * you override this, call super.checkExec rather than - * throwing an exception. - * - * @param program the name of the program to exec - * @throws SecurityException if permission is denied - * @throws NullPointerException if program is null - * @see Runtime#exec(String[], String[], File) - */ - public void checkExec(String program) - { - if (! program.equals(new File(program).getAbsolutePath())) - program = "<>"; - checkPermission(new FilePermission(program, "execute")); - } - - /** - * Check if the current thread is allowed to link in the given native - * library. This method is called from Runtime.load() (and hence, by - * loadLibrary() as well). The default implementation checks - * RuntimePermission("loadLibrary." + filename). If you - * override this, call super.checkLink rather than throwing - * an exception. - * - * @param filename the full name of the library to load - * @throws SecurityException if permission is denied - * @throws NullPointerException if filename is null - * @see Runtime#load(String) - */ - public void checkLink(String filename) - { - // Use the toString() hack to do the null check. - checkPermission(new RuntimePermission("loadLibrary." - + filename.toString())); - } - - /** - * Check if the current thread is allowed to read the given file using the - * FileDescriptor. This method is called from - * FileInputStream.FileInputStream(). The default implementation checks - * RuntimePermission("readFileDescriptor"). If you override - * this, call super.checkRead rather than throwing an - * exception. - * - * @param desc the FileDescriptor representing the file to access - * @throws SecurityException if permission is denied - * @throws NullPointerException if desc is null - * @see FileInputStream#FileInputStream(FileDescriptor) - */ - public void checkRead(FileDescriptor desc) - { - if (desc == null) - throw new NullPointerException(); - checkPermission(new RuntimePermission("readFileDescriptor")); - } - - /** - * Check if the current thread is allowed to read the given file. This - * method is called from FileInputStream.FileInputStream(), - * RandomAccessFile.RandomAccessFile(), File.exists(), canRead(), isFile(), - * isDirectory(), lastModified(), length() and list(). The default - * implementation checks FilePermission(filename, "read"). If - * you override this, call super.checkRead rather than - * throwing an exception. - * - * @param filename the full name of the file to access - * @throws SecurityException if permission is denied - * @throws NullPointerException if filename is null - * @see File - * @see FileInputStream#FileInputStream(String) - * @see RandomAccessFile#RandomAccessFile(String, String) - */ - public void checkRead(String filename) - { - checkPermission(new FilePermission(filename, "read")); - } - - /** - * Check if the current thread is allowed to read the given file. using the - * given security context. The context must be a result of a previous call - * to getSecurityContext(). The default implementation checks - * AccessControlContext.checkPermission(new FilePermission(filename, - * "read")). If you override this, call super.checkRead - * rather than throwing an exception. - * - * @param filename the full name of the file to access - * @param context the context to determine access for - * @throws SecurityException if permission is denied, or if context is - * not an AccessControlContext - * @throws NullPointerException if filename is null - * @see #getSecurityContext() - * @see AccessControlContext#checkPermission(Permission) - */ - public void checkRead(String filename, Object context) - { - if (! (context instanceof AccessControlContext)) - throw new SecurityException("Missing context"); - AccessControlContext ac = (AccessControlContext) context; - ac.checkPermission(new FilePermission(filename, "read")); - } - - /** - * Check if the current thread is allowed to write the given file using the - * FileDescriptor. This method is called from - * FileOutputStream.FileOutputStream(). The default implementation checks - * RuntimePermission("writeFileDescriptor"). If you override - * this, call super.checkWrite rather than throwing an - * exception. - * - * @param desc the FileDescriptor representing the file to access - * @throws SecurityException if permission is denied - * @throws NullPointerException if desc is null - * @see FileOutputStream#FileOutputStream(FileDescriptor) - */ - public void checkWrite(FileDescriptor desc) - { - if (desc == null) - throw new NullPointerException(); - checkPermission(new RuntimePermission("writeFileDescriptor")); - } - - /** - * Check if the current thread is allowed to write the given file. This - * method is called from FileOutputStream.FileOutputStream(), - * RandomAccessFile.RandomAccessFile(), File.canWrite(), mkdir(), and - * renameTo(). The default implementation checks - * FilePermission(filename, "write"). If you override this, - * call super.checkWrite rather than throwing an exception. - * - * @param filename the full name of the file to access - * @throws SecurityException if permission is denied - * @throws NullPointerException if filename is null - * @see File - * @see File#canWrite() - * @see File#mkdir() - * @see File#renameTo(File) - * @see FileOutputStream#FileOutputStream(String) - * @see RandomAccessFile#RandomAccessFile(String, String) - */ - public void checkWrite(String filename) - { - checkPermission(new FilePermission(filename, "write")); - } - - /** - * Check if the current thread is allowed to delete the given file. This - * method is called from File.delete(). The default implementation checks - * FilePermission(filename, "delete"). If you override this, - * call super.checkDelete rather than throwing an exception. - * - * @param filename the full name of the file to delete - * @throws SecurityException if permission is denied - * @throws NullPointerException if filename is null - * @see File#delete() - */ - public void checkDelete(String filename) - { - checkPermission(new FilePermission(filename, "delete")); - } - - /** - * Check if the current thread is allowed to connect to a given host on a - * given port. This method is called from Socket.Socket(). A port number - * of -1 indicates the caller is attempting to determine an IP address, so - * the default implementation checks - * SocketPermission(host, "resolve"). Otherwise, the default - * implementation checks - * SocketPermission(host + ":" + port, "connect"). If you - * override this, call super.checkConnect rather than throwing - * an exception. - * - * @param host the host to connect to - * @param port the port to connect on - * @throws SecurityException if permission is denied - * @throws NullPointerException if host is null - * @see Socket#Socket() - */ - public void checkConnect(String host, int port) - { - if (port == -1) - checkPermission(new SocketPermission(host, "resolve")); - else - // Use the toString() hack to do the null check. - checkPermission(new SocketPermission(host.toString() + ":" + port, - "connect")); - } - - /** - * Check if the current thread is allowed to connect to a given host on a - * given port, using the given security context. The context must be a - * result of a previous call to getSecurityContext. A port - * number of -1 indicates the caller is attempting to determine an IP - * address, so the default implementation checks - * AccessControlContext.checkPermission(new SocketPermission(host, - * "resolve")). Otherwise, the default implementation checks - * AccessControlContext.checkPermission(new SocketPermission(host - * + ":" + port, "connect")). If you override this, call - * super.checkConnect rather than throwing an exception. - * - * @param host the host to connect to - * @param port the port to connect on - * @param context the context to determine access for - * - * @throws SecurityException if permission is denied, or if context is - * not an AccessControlContext - * @throws NullPointerException if host is null - * - * @see #getSecurityContext() - * @see AccessControlContext#checkPermission(Permission) - */ - public void checkConnect(String host, int port, Object context) - { - if (! (context instanceof AccessControlContext)) - throw new SecurityException("Missing context"); - AccessControlContext ac = (AccessControlContext) context; - if (port == -1) - ac.checkPermission(new SocketPermission(host, "resolve")); - else - // Use the toString() hack to do the null check. - ac.checkPermission(new SocketPermission(host.toString() + ":" + port, - "connect")); - } - - /** - * Check if the current thread is allowed to listen to a specific port for - * data. This method is called by ServerSocket.ServerSocket(). The default - * implementation checks - * SocketPermission("localhost:" + (port == 0 ? "1024-" : "" + port), - * "listen"). If you override this, call - * super.checkListen rather than throwing an exception. - * - * @param port the port to listen on - * @throws SecurityException if permission is denied - * @see ServerSocket#ServerSocket(int) - */ - public void checkListen(int port) - { - checkPermission(new SocketPermission("localhost:" - + (port == 0 ? "1024-" : "" +port), - "listen")); - } - - /** - * Check if the current thread is allowed to accept a connection from a - * particular host on a particular port. This method is called by - * ServerSocket.implAccept(). The default implementation checks - * SocketPermission(host + ":" + port, "accept"). If you - * override this, call super.checkAccept rather than throwing - * an exception. - * - * @param host the host which wishes to connect - * @param port the port the connection will be on - * @throws SecurityException if permission is denied - * @throws NullPointerException if host is null - * @see ServerSocket#accept() - */ - public void checkAccept(String host, int port) - { - // Use the toString() hack to do the null check. - checkPermission(new SocketPermission(host.toString() + ":" + port, - "accept")); - } - - /** - * Check if the current thread is allowed to read and write multicast to - * a particular address. The default implementation checks - * SocketPermission(addr.getHostAddress(), "accept,connect"). - * If you override this, call super.checkMulticast rather than - * throwing an exception. - * - * @param addr the address to multicast to - * @throws SecurityException if permission is denied - * @throws NullPointerException if host is null - * @since 1.1 - */ - public void checkMulticast(InetAddress addr) - { - checkPermission(new SocketPermission(addr.getHostAddress(), - "accept,connect")); - } - - /** - *Check if the current thread is allowed to read and write multicast to - * a particular address with a particular ttl (time-to-live) value. The - * default implementation ignores ttl, and checks - * SocketPermission(addr.getHostAddress(), "accept,connect"). - * If you override this, call super.checkMulticast rather than - * throwing an exception. - * - * @param addr the address to multicast to - * @param ttl value in use for multicast send - * @throws SecurityException if permission is denied - * @throws NullPointerException if host is null - * @since 1.1 - * @deprecated use {@link #checkPermission(Permission)} instead - */ - public void checkMulticast(InetAddress addr, byte ttl) - { - checkPermission(new SocketPermission(addr.getHostAddress(), - "accept,connect")); - } - - /** - * Check if the current thread is allowed to read or write all the system - * properties at once. This method is called by System.getProperties() - * and setProperties(). The default implementation checks - * PropertyPermission("*", "read,write"). If you override - * this, call super.checkPropertiesAccess rather than - * throwing an exception. - * - * @throws SecurityException if permission is denied - * @see System#getProperties() - * @see System#setProperties(Properties) - */ - public void checkPropertiesAccess() - { - checkPermission(new PropertyPermission("*", "read,write")); - } - - /** - * Check if the current thread is allowed to read a particular system - * property (writes are checked directly via checkPermission). This method - * is called by System.getProperty() and setProperty(). The default - * implementation checks PropertyPermission(key, "read"). If - * you override this, call super.checkPropertyAccess rather - * than throwing an exception. - * - * @param key the key of the property to check - * - * @throws SecurityException if permission is denied - * @throws NullPointerException if key is null - * @throws IllegalArgumentException if key is "" - * - * @see System#getProperty(String) - */ - public void checkPropertyAccess(String key) - { - checkPermission(new PropertyPermission(key, "read")); - } - - /** - * Check if the current thread is allowed to create a top-level window. If - * it is not, the operation should still go through, but some sort of - * nonremovable warning should be placed on the window to show that it - * is untrusted. This method is called by Window.Window(). The default - * implementation checks - * AWTPermission("showWindowWithoutWarningBanner"), and returns - * true if no exception was thrown. If you override this, use - * return super.checkTopLevelWindow rather than returning - * false. - * - * @param window the window to create - * @return true if there is permission to show the window without warning - * @throws NullPointerException if window is null - * @see java.awt.Window#Window(java.awt.Frame) - */ - public boolean checkTopLevelWindow(Object window) - { - if (window == null) - throw new NullPointerException(); - try - { - checkPermission(new AWTPermission("showWindowWithoutWarningBanner")); - return true; - } - catch (SecurityException e) - { - return false; - } - } - - /** - * Check if the current thread is allowed to create a print job. This - * method is called by Toolkit.getPrintJob(). The default implementation - * checks RuntimePermission("queuePrintJob"). If you override - * this, call super.checkPrintJobAccess rather than throwing - * an exception. - * - * @throws SecurityException if permission is denied - * @see java.awt.Toolkit#getPrintJob(java.awt.Frame, String, Properties) - * @since 1.1 - */ - public void checkPrintJobAccess() - { - checkPermission(new RuntimePermission("queuePrintJob")); - } - - /** - * Check if the current thread is allowed to use the system clipboard. This - * method is called by Toolkit.getSystemClipboard(). The default - * implementation checks AWTPermission("accessClipboard"). If - * you override this, call super.checkSystemClipboardAccess - * rather than throwing an exception. - * - * @throws SecurityException if permission is denied - * @see java.awt.Toolkit#getSystemClipboard() - * @since 1.1 - */ - public void checkSystemClipboardAccess() - { - checkPermission(new AWTPermission("accessClipboard")); - } - - /** - * Check if the current thread is allowed to use the AWT event queue. This - * method is called by Toolkit.getSystemEventQueue(). The default - * implementation checks AWTPermission("accessEventQueue"). - * you override this, call super.checkAwtEventQueueAccess - * rather than throwing an exception. - * - * @throws SecurityException if permission is denied - * @see java.awt.Toolkit#getSystemEventQueue() - * @since 1.1 - */ - public void checkAwtEventQueueAccess() - { - checkPermission(new AWTPermission("accessEventQueue")); - } - - /** - * Check if the current thread is allowed to access the specified package - * at all. This method is called by ClassLoader.loadClass() in user-created - * ClassLoaders. The default implementation gets a list of all restricted - * packages, via Security.getProperty("package.access"). Then, - * if packageName starts with or equals any restricted package, it checks - * RuntimePermission("accessClassInPackage." + packageName). - * If you override this, you should call - * super.checkPackageAccess before doing anything else. - * - * @param packageName the package name to check access to - * @throws SecurityException if permission is denied - * @throws NullPointerException if packageName is null - * @see ClassLoader#loadClass(String, boolean) - * @see Security#getProperty(String) - */ - public void checkPackageAccess(String packageName) - { - checkPackageList(packageName, "package.access", "accessClassInPackage."); - } - - /** - * Check if the current thread is allowed to define a class into the - * specified package. This method is called by ClassLoader.loadClass() in - * user-created ClassLoaders. The default implementation gets a list of all - * restricted packages, via - * Security.getProperty("package.definition"). Then, if - * packageName starts with or equals any restricted package, it checks - * RuntimePermission("defineClassInPackage." + packageName). - * If you override this, you should call - * super.checkPackageDefinition before doing anything else. - * - * @param packageName the package name to check access to - * @throws SecurityException if permission is denied - * @throws NullPointerException if packageName is null - * @see ClassLoader#loadClass(String, boolean) - * @see Security#getProperty(String) - */ - public void checkPackageDefinition(String packageName) - { - checkPackageList(packageName, "package.definition", "defineClassInPackage."); - } - - /** - * Check if the current thread is allowed to set the current socket factory. - * This method is called by Socket.setSocketImplFactory(), - * ServerSocket.setSocketFactory(), and URL.setURLStreamHandlerFactory(). - * The default implementation checks - * RuntimePermission("setFactory"). If you override this, call - * super.checkSetFactory rather than throwing an exception. - * - * @throws SecurityException if permission is denied - * @see Socket#setSocketImplFactory(SocketImplFactory) - * @see ServerSocket#setSocketFactory(SocketImplFactory) - * @see URL#setURLStreamHandlerFactory(URLStreamHandlerFactory) - */ - public void checkSetFactory() - { - checkPermission(new RuntimePermission("setFactory")); - } - - /** - * Check if the current thread is allowed to get certain types of Methods, - * Fields and Constructors from a Class object. This method is called by - * Class.getMethod[s](), Class.getField[s](), Class.getConstructor[s], - * Class.getDeclaredMethod[s](), Class.getDeclaredField[s](), and - * Class.getDeclaredConstructor[s](). The default implementation allows - * PUBLIC access, and access to classes defined by the same classloader as - * the code performing the reflection. Otherwise, it checks - * RuntimePermission("accessDeclaredMembers"). If you override - * this, do not call super.checkMemberAccess, as this would - * mess up the stack depth check that determines the ClassLoader requesting - * the access. - * - * @param c the Class to check - * @param memberType either DECLARED or PUBLIC - * @throws SecurityException if permission is denied, including when - * memberType is not DECLARED or PUBLIC - * @throws NullPointerException if c is null - * @see Class - * @see Member#DECLARED - * @see Member#PUBLIC - * @since 1.1 - */ - public void checkMemberAccess(Class c, int memberType) - { - if (c == null) - throw new NullPointerException(); - if (memberType == Member.PUBLIC) - return; - // XXX Allow access to classes created by same classloader before next - // check. - checkPermission(new RuntimePermission("accessDeclaredMembers")); - } - - /** - * Test whether a particular security action may be taken. The default - * implementation checks SecurityPermission(action). If you - * override this, call super.checkSecurityAccess rather than - * throwing an exception. - * - * @param action the desired action to take - * @throws SecurityException if permission is denied - * @throws NullPointerException if action is null - * @throws IllegalArgumentException if action is "" - * @since 1.1 - */ - public void checkSecurityAccess(String action) - { - checkPermission(new SecurityPermission(action)); - } - - /** - * Get the ThreadGroup that a new Thread should belong to by default. Called - * by Thread.Thread(). The default implementation returns the current - * ThreadGroup of the current Thread. Spec Note: it is not - * clear whether the new Thread is guaranteed to pass the - * checkAccessThreadGroup() test when using this ThreadGroup, but I presume - * so. - * - * @return the ThreadGroup to put the new Thread into - * @since 1.1 - */ - public ThreadGroup getThreadGroup() - { - return Thread.currentThread().getThreadGroup(); - } - - /** - * Helper that checks a comma-separated list of restricted packages, from - * Security.getProperty("package.definition"), for the given - * package access permission. If packageName starts with or equals any - * restricted package, it checks - * RuntimePermission(permission + packageName). - * - * @param packageName the package name to check access to - * @param restriction "package.access" or "package.definition" - * @param permission the base permission, including the '.' - * @throws SecurityException if permission is denied - * @throws NullPointerException if packageName is null - * @see #checkPackageAccess(String) - * @see #checkPackageDefinition(String) - */ - void checkPackageList(String packageName, final String restriction, - String permission) - { - if (packageName == null) - throw new NullPointerException(); - - String list = (String)AccessController.doPrivileged(new PrivilegedAction() - { - public Object run() - { - return Security.getProperty(restriction); - } - }); - - if (list == null || list.equals("")) - return; - - String packageNamePlusDot = packageName + "."; - - StringTokenizer st = new StringTokenizer(list, ","); - while (st.hasMoreTokens()) - { - if (packageNamePlusDot.startsWith(st.nextToken())) - { - Permission p = new RuntimePermission(permission + packageName); - checkPermission(p); - return; - } - } - } -} diff --git a/libjava/java/lang/Short.h b/libjava/java/lang/Short.h new file mode 100644 index 00000000000..42671174cfc --- /dev/null +++ b/libjava/java/lang/Short.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Short__ +#define __java_lang_Short__ + +#pragma interface + +#include +#include + + +class java::lang::Short : public ::java::lang::Number +{ + +public: + Short(jshort); + Short(::java::lang::String *); + static ::java::lang::String * toString(jshort); + static jshort parseShort(::java::lang::String *); + static jshort parseShort(::java::lang::String *, jint); + static ::java::lang::Short * valueOf(::java::lang::String *, jint); + static ::java::lang::Short * valueOf(::java::lang::String *); + static ::java::lang::Short * valueOf(jshort); + static ::java::lang::Short * decode(::java::lang::String *); + jbyte byteValue(); + jshort shortValue(); + jint intValue(); + jlong longValue(); + jfloat floatValue(); + jdouble doubleValue(); + ::java::lang::String * toString(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jint target$compareTo(::java::lang::Short *); + static jshort reverseBytes(jshort); + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = 7515723908773894738LL; +public: + static const jshort MIN_VALUE = -32768; + static const jshort MAX_VALUE = 32767; + static ::java::lang::Class * TYPE; + static const jint SIZE = 16; +private: + static const jint MIN_CACHE = -128; + static const jint MAX_CACHE = 127; + static JArray< ::java::lang::Short * > * shortCache; + jshort __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Short__ diff --git a/libjava/java/lang/StackOverflowError.h b/libjava/java/lang/StackOverflowError.h new file mode 100644 index 00000000000..6d1e06f6594 --- /dev/null +++ b/libjava/java/lang/StackOverflowError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_StackOverflowError__ +#define __java_lang_StackOverflowError__ + +#pragma interface + +#include + +class java::lang::StackOverflowError : public ::java::lang::VirtualMachineError +{ + +public: + StackOverflowError(); + StackOverflowError(::java::lang::String *); +private: + static const jlong serialVersionUID = 8609175038441759607LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_StackOverflowError__ diff --git a/libjava/java/lang/StackTraceElement.h b/libjava/java/lang/StackTraceElement.h new file mode 100644 index 00000000000..7adf3dc31f5 --- /dev/null +++ b/libjava/java/lang/StackTraceElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_StackTraceElement__ +#define __java_lang_StackTraceElement__ + +#pragma interface + +#include + +class java::lang::StackTraceElement : public ::java::lang::Object +{ + +public: // actually package-private + StackTraceElement(::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, jboolean); +public: + StackTraceElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jint); + ::java::lang::String * getFileName(); + jint getLineNumber(); + ::java::lang::String * getClassName(); + ::java::lang::String * getMethodName(); + jboolean isNativeMethod(); + ::java::lang::String * toString(); + jboolean equals(::java::lang::Object *); + jint hashCode(); +private: + static jboolean equals(::java::lang::Object *, ::java::lang::Object *); + static jint hashCode(::java::lang::Object *); + static const jlong serialVersionUID = 6992337162326171013LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fileName; + jint lineNumber; + ::java::lang::String * declaringClass; + ::java::lang::String * methodName; + jboolean isNative; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_StackTraceElement__ diff --git a/libjava/java/lang/StrictMath.h b/libjava/java/lang/StrictMath.h new file mode 100644 index 00000000000..d37d5d66848 --- /dev/null +++ b/libjava/java/lang/StrictMath.h @@ -0,0 +1,203 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_StrictMath__ +#define __java_lang_StrictMath__ + +#pragma interface + +#include +#include + + +class java::lang::StrictMath : public ::java::lang::Object +{ + + StrictMath(); +public: + static jint abs(jint); + static jlong abs(jlong); + static jfloat abs(jfloat); + static jdouble abs(jdouble); + static jint min(jint, jint); + static jlong min(jlong, jlong); + static jfloat min(jfloat, jfloat); + static jdouble min(jdouble, jdouble); + static jint max(jint, jint); + static jlong max(jlong, jlong); + static jfloat max(jfloat, jfloat); + static jdouble max(jdouble, jdouble); + static jdouble sin(jdouble); + static jdouble cos(jdouble); + static jdouble tan(jdouble); + static jdouble asin(jdouble); + static jdouble acos(jdouble); + static jdouble atan(jdouble); + static jdouble atan2(jdouble, jdouble); + static jdouble sinh(jdouble); + static jdouble cosh(jdouble); + static jdouble tanh(jdouble); +private: + static jlong getLowDWord(jlong); + static jlong getHighDWord(jlong); + static jdouble buildDouble(jlong, jlong); +public: + static jdouble cbrt(jdouble); + static jdouble exp(jdouble); + static jdouble expm1(jdouble); + static jdouble log(jdouble); + static jdouble sqrt(jdouble); + static jdouble pow(jdouble, jdouble); + static jdouble IEEEremainder(jdouble, jdouble); + static jdouble ceil(jdouble); + static jdouble floor(jdouble); + static jdouble rint(jdouble); + static jint round(jfloat); + static jlong round(jdouble); + static jdouble random(); + static jdouble toRadians(jdouble); + static jdouble toDegrees(jdouble); +private: + static jint remPiOver2(jdouble, JArray< jdouble > *); + static jint remPiOver2(JArray< jdouble > *, JArray< jdouble > *, jint, jint); + static jdouble scale(jdouble, jint); + static jdouble sin(jdouble, jdouble); + static jdouble cos(jdouble, jdouble); + static jdouble tan(jdouble, jdouble, jboolean); +public: + static jdouble signum(jdouble); + static jfloat signum(jfloat); + static jdouble ulp(jdouble); + static jfloat ulp(jfloat); +private: + static ::java::util::Random * rand; +public: + static jdouble E; + static jdouble PI; +private: + static jdouble TWO_16; + static jdouble TWO_20; + static jdouble TWO_24; + static jdouble TWO_27; + static jdouble TWO_28; + static jdouble TWO_29; + static jdouble TWO_31; + static jdouble TWO_49; + static jdouble TWO_52; + static jdouble TWO_54; + static jdouble TWO_57; + static jdouble TWO_60; + static jdouble TWO_64; + static jdouble TWO_66; + static jdouble TWO_1023; + static JArray< jint > * TWO_OVER_PI; + static JArray< jdouble > * PI_OVER_TWO; + static jdouble PI_L; + static jdouble PIO2_1; + static jdouble PIO2_1L; + static jdouble PIO2_2; + static jdouble PIO2_2L; + static jdouble PIO2_3; + static jdouble PIO2_3L; + static jdouble SQRT_1_5; + static jdouble SQRT_2; + static jdouble SQRT_3; + static jdouble EXP_LIMIT_H; + static jdouble EXP_LIMIT_L; + static jdouble CP; + static jdouble CP_H; + static jdouble CP_L; + static jdouble LN2; + static jdouble LN2_H; + static jdouble LN2_L; + static jdouble INV_LN2; + static jdouble INV_LN2_H; + static jdouble INV_LN2_L; + static jdouble LG1; + static jdouble LG2; + static jdouble LG3; + static jdouble LG4; + static jdouble LG5; + static jdouble LG6; + static jdouble LG7; + static jdouble L1; + static jdouble L2; + static jdouble L3; + static jdouble L4; + static jdouble L5; + static jdouble L6; + static jdouble P1; + static jdouble P2; + static jdouble P3; + static jdouble P4; + static jdouble P5; + static jdouble DP_H; + static jdouble DP_L; + static jdouble OVT; + static jdouble S1; + static jdouble S2; + static jdouble S3; + static jdouble S4; + static jdouble S5; + static jdouble S6; + static jdouble C1; + static jdouble C2; + static jdouble C3; + static jdouble C4; + static jdouble C5; + static jdouble C6; + static jdouble T0; + static jdouble T1; + static jdouble T2; + static jdouble T3; + static jdouble T4; + static jdouble T5; + static jdouble T6; + static jdouble T7; + static jdouble T8; + static jdouble T9; + static jdouble T10; + static jdouble T11; + static jdouble T12; + static jdouble PS0; + static jdouble PS1; + static jdouble PS2; + static jdouble PS3; + static jdouble PS4; + static jdouble PS5; + static jdouble QS1; + static jdouble QS2; + static jdouble QS3; + static jdouble QS4; + static jdouble ATAN_0_5H; + static jdouble ATAN_0_5L; + static jdouble ATAN_1_5H; + static jdouble ATAN_1_5L; + static jdouble AT0; + static jdouble AT1; + static jdouble AT2; + static jdouble AT3; + static jdouble AT4; + static jdouble AT5; + static jdouble AT6; + static jdouble AT7; + static jdouble AT8; + static jdouble AT9; + static jdouble AT10; + static const jint CBRT_B1 = 715094163; + static const jint CBRT_B2 = 696219795; + static jdouble CBRT_C; + static jdouble CBRT_D; + static jdouble CBRT_E; + static jdouble CBRT_F; + static jdouble CBRT_G; + static jdouble EXPM1_Q1; + static jdouble EXPM1_Q2; + static jdouble EXPM1_Q3; + static jdouble EXPM1_Q4; + static jdouble EXPM1_Q5; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_StrictMath__ diff --git a/libjava/java/lang/String$CaseInsensitiveComparator.h b/libjava/java/lang/String$CaseInsensitiveComparator.h new file mode 100644 index 00000000000..11c0ea557b7 --- /dev/null +++ b/libjava/java/lang/String$CaseInsensitiveComparator.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_String$CaseInsensitiveComparator__ +#define __java_lang_String$CaseInsensitiveComparator__ + +#pragma interface + +#include + +class java::lang::String$CaseInsensitiveComparator : public ::java::lang::Object +{ + +public: // actually package-private + String$CaseInsensitiveComparator(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 8575799808933029326LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_String$CaseInsensitiveComparator__ diff --git a/libjava/java/lang/String.h b/libjava/java/lang/String.h new file mode 100644 index 00000000000..44be2741c30 --- /dev/null +++ b/libjava/java/lang/String.h @@ -0,0 +1,138 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_String__ +#define __java_lang_String__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class StringBuffer; + } + } + } +} + +jchar* _Jv_GetStringChars (jstring str); +jstring* _Jv_StringFindSlot (jchar*, jint, jint); +jstring* _Jv_StringGetSlot (jstring); +jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str); +jstring _Jv_NewStringLatin1 (const char*, jsize); +jstring _Jv_AllocString (jsize); + +class java::lang::String : public ::java::lang::Object +{ + +public: + String(); + String(::java::lang::String *); + String(JArray< jchar > *); + String(JArray< jchar > *, jint, jint); + String(JArray< jbyte > *, jint, jint, jint); + String(JArray< jbyte > *, jint); + String(JArray< jbyte > *, jint, jint, ::java::lang::String *); + String(JArray< jbyte > *, ::java::lang::String *); + String(JArray< jbyte > *, jint, jint); + String(JArray< jbyte > *); + String(::java::lang::StringBuffer *); + String(::java::lang::StringBuilder *); +public: // actually package-private + String(JArray< jchar > *, jint, jint, jboolean); + String(::gnu::gcj::runtime::StringBuffer *); +public: + jint length(); + jchar charAt(jint); + jint codePointAt(jint); + jint codePointBefore(jint); + void getChars(jint, jint, JArray< jchar > *, jint); + void getBytes(jint, jint, JArray< jbyte > *, jint); + JArray< jbyte > * getBytes(::java::lang::String *); + JArray< jbyte > * getBytes(); + jboolean equals(::java::lang::Object *); + jboolean contentEquals(::java::lang::StringBuffer *); + jboolean contentEquals(::java::lang::CharSequence *); + jboolean equalsIgnoreCase(::java::lang::String *); + jint compareTo(::java::lang::String *); + jint compareTo(::java::lang::Object *); + jint compareToIgnoreCase(::java::lang::String *); + jboolean regionMatches(jint, ::java::lang::String *, jint, jint); + jboolean regionMatches(jboolean, jint, ::java::lang::String *, jint, jint); + jboolean startsWith(::java::lang::String *, jint); + jboolean startsWith(::java::lang::String *); + jboolean endsWith(::java::lang::String *); + jint hashCode(); + jint indexOf(jint); + jint indexOf(jint, jint); + jint lastIndexOf(jint); + jint lastIndexOf(jint, jint); + jint indexOf(::java::lang::String *); + jint indexOf(::java::lang::String *, jint); + jint lastIndexOf(::java::lang::String *); + jint lastIndexOf(::java::lang::String *, jint); + ::java::lang::String * substring(jint); + ::java::lang::String * substring(jint, jint); + ::java::lang::CharSequence * subSequence(jint, jint); + ::java::lang::String * concat(::java::lang::String *); + ::java::lang::String * replace(jchar, jchar); + jboolean matches(::java::lang::String *); + ::java::lang::String * replaceFirst(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * replaceAll(::java::lang::String *, ::java::lang::String *); + JArray< ::java::lang::String * > * split(::java::lang::String *, jint); + JArray< ::java::lang::String * > * split(::java::lang::String *); + ::java::lang::String * toLowerCase(::java::util::Locale *); + ::java::lang::String * toLowerCase(); + ::java::lang::String * toUpperCase(::java::util::Locale *); + ::java::lang::String * toUpperCase(); + ::java::lang::String * trim(); + ::java::lang::String * toString(); + JArray< jchar > * toCharArray(); + static ::java::lang::String * valueOf(::java::lang::Object *); + static ::java::lang::String * valueOf(JArray< jchar > *); + static ::java::lang::String * valueOf(JArray< jchar > *, jint, jint); + static ::java::lang::String * copyValueOf(JArray< jchar > *, jint, jint); + static ::java::lang::String * copyValueOf(JArray< jchar > *); + static ::java::lang::String * valueOf(jboolean); + static ::java::lang::String * valueOf(jchar); + static ::java::lang::String * valueOf(jint); + static ::java::lang::String * valueOf(jlong); + static ::java::lang::String * valueOf(jfloat); + static ::java::lang::String * valueOf(jdouble); + ::java::lang::String * intern(); + jint codePointCount(jint, jint); + jboolean contains(::java::lang::CharSequence *); + ::java::lang::String * replace(::java::lang::CharSequence *, ::java::lang::CharSequence *); +private: + void init(JArray< jchar > *, jint, jint, jboolean); + void init(JArray< jbyte > *, jint, jint, jint); + void init(JArray< jbyte > *, jint, jint, ::java::lang::String *); + void init(::gnu::gcj::runtime::StringBuffer *); + static const jlong serialVersionUID = -6849794470754667710LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; + jint boffset; +public: // actually package-private + jint count; +private: + jint cachedHashCode; +public: + static ::java::util::Comparator * CASE_INSENSITIVE_ORDER; + static ::java::lang::Class class$; + + friend jchar* ::_Jv_GetStringChars (jstring str); + friend jstring* ::_Jv_StringFindSlot (jchar*, jint, jint); + friend jstring* ::_Jv_StringGetSlot (jstring); + friend jstring (::_Jv_NewStringUtf8Const) (_Jv_Utf8Const* str); + friend jstring (::_Jv_NewStringLatin1) (const char*, jsize); + friend jstring (::_Jv_AllocString) (jsize); +}; + +#endif // __java_lang_String__ diff --git a/libjava/java/lang/StringBuffer.h b/libjava/java/lang/StringBuffer.h new file mode 100644 index 00000000000..93951f471f6 --- /dev/null +++ b/libjava/java/lang/StringBuffer.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_StringBuffer__ +#define __java_lang_StringBuffer__ + +#pragma interface + +#include +#include + + +class java::lang::StringBuffer : public ::java::lang::Object +{ + +public: + StringBuffer(); + StringBuffer(jint); + StringBuffer(::java::lang::String *); + StringBuffer(::java::lang::CharSequence *); + jint length(); + jint capacity(); + void ensureCapacity(jint); + void setLength(jint); + jchar charAt(jint); + jint codePointAt(jint); + jint codePointBefore(jint); + void getChars(jint, jint, JArray< jchar > *, jint); + void setCharAt(jint, jchar); + ::java::lang::StringBuffer * append(::java::lang::Object *); + ::java::lang::StringBuffer * append(::java::lang::String *); + ::java::lang::StringBuffer * append(::java::lang::StringBuffer *); + ::java::lang::StringBuffer * append(::java::lang::CharSequence *); + ::java::lang::StringBuffer * append(::java::lang::CharSequence *, jint, jint); + ::java::lang::StringBuffer * append(JArray< jchar > *); + ::java::lang::StringBuffer * append(JArray< jchar > *, jint, jint); + ::java::lang::StringBuffer * append(jboolean); + ::java::lang::StringBuffer * append(jchar); + ::java::lang::StringBuffer * appendCodePoint(jint); + ::java::lang::StringBuffer * append(jint); + ::java::lang::StringBuffer * append(jlong); + ::java::lang::StringBuffer * append(jfloat); + ::java::lang::StringBuffer * append(jdouble); + ::java::lang::StringBuffer * delete$(jint, jint); + ::java::lang::StringBuffer * deleteCharAt(jint); + ::java::lang::StringBuffer * replace(jint, jint, ::java::lang::String *); + ::java::lang::String * substring(jint); + ::java::lang::CharSequence * subSequence(jint, jint); + ::java::lang::String * substring(jint, jint); + ::java::lang::StringBuffer * insert(jint, JArray< jchar > *, jint, jint); + ::java::lang::StringBuffer * insert(jint, ::java::lang::Object *); + ::java::lang::StringBuffer * insert(jint, ::java::lang::String *); + ::java::lang::StringBuffer * insert(jint, ::java::lang::CharSequence *); + ::java::lang::StringBuffer * insert(jint, ::java::lang::CharSequence *, jint, jint); + ::java::lang::StringBuffer * insert(jint, JArray< jchar > *); + ::java::lang::StringBuffer * insert(jint, jboolean); + ::java::lang::StringBuffer * insert(jint, jchar); + ::java::lang::StringBuffer * insert(jint, jint); + ::java::lang::StringBuffer * insert(jint, jlong); + ::java::lang::StringBuffer * insert(jint, jfloat); + ::java::lang::StringBuffer * insert(jint, jdouble); + jint indexOf(::java::lang::String *); + jint indexOf(::java::lang::String *, jint); + jint lastIndexOf(::java::lang::String *); + jint lastIndexOf(::java::lang::String *, jint); + ::java::lang::StringBuffer * reverse(); + ::java::lang::String * toString(); + void trimToSize(); + jint codePointCount(jint, jint); + jint offsetByCodePoints(jint, jint); +private: + void ensureCapacity_unsynchronized(jint); + jboolean regionMatches(jint, ::java::lang::String *); + static const jlong serialVersionUID = 3388685877147921107LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + JArray< jchar > * value; + jboolean shared; +private: + static const jint DEFAULT_CAPACITY = 16; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_StringBuffer__ diff --git a/libjava/java/lang/StringBuilder.h b/libjava/java/lang/StringBuilder.h new file mode 100644 index 00000000000..d4912bf0cb4 --- /dev/null +++ b/libjava/java/lang/StringBuilder.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_StringBuilder__ +#define __java_lang_StringBuilder__ + +#pragma interface + +#include +#include + + +class java::lang::StringBuilder : public ::java::lang::Object +{ + +public: + StringBuilder(); + StringBuilder(jint); + StringBuilder(::java::lang::String *); + StringBuilder(::java::lang::CharSequence *); + jint length(); + jint capacity(); + void ensureCapacity(jint); + void setLength(jint); + jchar charAt(jint); + void getChars(jint, jint, JArray< jchar > *, jint); + void setCharAt(jint, jchar); + ::java::lang::StringBuilder * append(::java::lang::Object *); + ::java::lang::StringBuilder * append(::java::lang::String *); + ::java::lang::StringBuilder * append(::java::lang::StringBuffer *); + ::java::lang::StringBuilder * append(JArray< jchar > *); + ::java::lang::StringBuilder * append(JArray< jchar > *, jint, jint); + ::java::lang::StringBuilder * append(jboolean); + ::java::lang::StringBuilder * target$append(jchar); + ::java::lang::StringBuilder * target$append(::java::lang::CharSequence *); + ::java::lang::StringBuilder * target$append(::java::lang::CharSequence *, jint, jint); + ::java::lang::StringBuilder * appendCodePoint(jint); + ::java::lang::StringBuilder * append(jint); + ::java::lang::StringBuilder * append(jlong); + ::java::lang::StringBuilder * append(jfloat); + ::java::lang::StringBuilder * append(jdouble); + ::java::lang::StringBuilder * delete$(jint, jint); + ::java::lang::StringBuilder * deleteCharAt(jint); + ::java::lang::StringBuilder * replace(jint, jint, ::java::lang::String *); + ::java::lang::String * substring(jint); + ::java::lang::CharSequence * subSequence(jint, jint); + ::java::lang::String * substring(jint, jint); + ::java::lang::StringBuilder * insert(jint, JArray< jchar > *, jint, jint); + ::java::lang::StringBuilder * insert(jint, ::java::lang::Object *); + ::java::lang::StringBuilder * insert(jint, ::java::lang::String *); + ::java::lang::StringBuilder * insert(jint, ::java::lang::CharSequence *); + ::java::lang::StringBuilder * insert(jint, ::java::lang::CharSequence *, jint, jint); + ::java::lang::StringBuilder * insert(jint, JArray< jchar > *); + ::java::lang::StringBuilder * insert(jint, jboolean); + ::java::lang::StringBuilder * insert(jint, jchar); + ::java::lang::StringBuilder * insert(jint, jint); + ::java::lang::StringBuilder * insert(jint, jlong); + ::java::lang::StringBuilder * insert(jint, jfloat); + ::java::lang::StringBuilder * insert(jint, jdouble); + jint indexOf(::java::lang::String *); + jint indexOf(::java::lang::String *, jint); + jint lastIndexOf(::java::lang::String *); + jint lastIndexOf(::java::lang::String *, jint); + ::java::lang::StringBuilder * reverse(); + ::java::lang::String * toString(); +private: + jboolean regionMatches(jint, ::java::lang::String *); +public: + ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + ::java::lang::Appendable * append(::java::lang::CharSequence *); + ::java::lang::Appendable * append(jchar); +private: + static const jlong serialVersionUID = 4383685877147921099LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + JArray< jchar > * value; +private: + static const jint DEFAULT_CAPACITY = 16; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_StringBuilder__ diff --git a/libjava/java/lang/StringBuilder.java b/libjava/java/lang/StringBuilder.java index 5990a6d8dd5..5f33b2ed53a 100644 --- a/libjava/java/lang/StringBuilder.java +++ b/libjava/java/lang/StringBuilder.java @@ -74,9 +74,8 @@ import java.io.Serializable; * * @since 1.5 */ -// FIX15: Implement Appendable when co-variant methods are available public final class StringBuilder - implements Serializable, CharSequence + implements Serializable, CharSequence, Appendable { // Implementation note: if you change this class, you usually will // want to change StringBuffer as well. diff --git a/libjava/java/lang/StringIndexOutOfBoundsException.h b/libjava/java/lang/StringIndexOutOfBoundsException.h new file mode 100644 index 00000000000..e3669a0d366 --- /dev/null +++ b/libjava/java/lang/StringIndexOutOfBoundsException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_StringIndexOutOfBoundsException__ +#define __java_lang_StringIndexOutOfBoundsException__ + +#pragma interface + +#include + +class java::lang::StringIndexOutOfBoundsException : public ::java::lang::IndexOutOfBoundsException +{ + +public: + StringIndexOutOfBoundsException(); + StringIndexOutOfBoundsException(::java::lang::String *); + StringIndexOutOfBoundsException(jint); +private: + static const jlong serialVersionUID = -6762910422159637258LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_StringIndexOutOfBoundsException__ diff --git a/libjava/java/lang/SuppressWarnings.h b/libjava/java/lang/SuppressWarnings.h new file mode 100644 index 00000000000..3f28104d9ad --- /dev/null +++ b/libjava/java/lang/SuppressWarnings.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_SuppressWarnings__ +#define __java_lang_SuppressWarnings__ + +#pragma interface + +#include +#include + + +class java::lang::SuppressWarnings : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * value() = 0; + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_SuppressWarnings__ diff --git a/libjava/java/lang/System$EnvironmentCollection.h b/libjava/java/lang/System$EnvironmentCollection.h new file mode 100644 index 00000000000..8392e1782ba --- /dev/null +++ b/libjava/java/lang/System$EnvironmentCollection.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_System$EnvironmentCollection__ +#define __java_lang_System$EnvironmentCollection__ + +#pragma interface + +#include + +class java::lang::System$EnvironmentCollection : public ::java::util::AbstractCollection +{ + +public: + System$EnvironmentCollection(::java::util::Collection *); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual ::java::util::Iterator * iterator(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual jint size(); +public: // actually protected + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) c; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_System$EnvironmentCollection__ diff --git a/libjava/java/lang/System$EnvironmentMap.h b/libjava/java/lang/System$EnvironmentMap.h new file mode 100644 index 00000000000..ee4582b43fb --- /dev/null +++ b/libjava/java/lang/System$EnvironmentMap.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_System$EnvironmentMap__ +#define __java_lang_System$EnvironmentMap__ + +#pragma interface + +#include + +class java::lang::System$EnvironmentMap : public ::java::util::HashMap +{ + +public: // actually package-private + System$EnvironmentMap(); +public: + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual ::java::lang::String * target$get(::java::lang::Object *); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::String * target$remove(::java::lang::Object *); + virtual ::java::util::Collection * values(); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::util::HashMap)))) entries; + ::java::util::Set * keys; + ::java::util::Collection * values__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_System$EnvironmentMap__ diff --git a/libjava/java/lang/System$EnvironmentSet.h b/libjava/java/lang/System$EnvironmentSet.h new file mode 100644 index 00000000000..9a1e1a65dee --- /dev/null +++ b/libjava/java/lang/System$EnvironmentSet.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_System$EnvironmentSet__ +#define __java_lang_System$EnvironmentSet__ + +#pragma interface + +#include + +class java::lang::System$EnvironmentSet : public ::java::lang::System$EnvironmentCollection +{ + +public: + System$EnvironmentSet(::java::util::Set *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_System$EnvironmentSet__ diff --git a/libjava/java/lang/System.h b/libjava/java/lang/System.h new file mode 100644 index 00000000000..5a759678328 --- /dev/null +++ b/libjava/java/lang/System.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_System__ +#define __java_lang_System__ + +#pragma interface + +#include + +class java::lang::System : public ::java::lang::Object +{ + + System(); +public: + static void setIn(::java::io::InputStream *); + static void setOut(::java::io::PrintStream *); + static void setErr(::java::io::PrintStream *); + static void setSecurityManager(::java::lang::SecurityManager *); + static ::java::lang::SecurityManager * getSecurityManager(); + static jlong currentTimeMillis(); + static jlong nanoTime(); + static void arraycopy(::java::lang::Object *, jint, ::java::lang::Object *, jint, jint); + static jint identityHashCode(::java::lang::Object *); + static ::java::util::Properties * getProperties(); + static void setProperties(::java::util::Properties *); + static ::java::lang::String * getProperty(::java::lang::String *); + static ::java::lang::String * getProperty(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * setProperty(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * clearProperty(::java::lang::String *); + static ::java::lang::String * getenv(::java::lang::String *); + static ::java::util::Map * getenv(); + static void exit(jint); + static void gc(); + static void runFinalization(); + static void runFinalizersOnExit(jboolean); + static void load(::java::lang::String *); + static void loadLibrary(::java::lang::String *); + static ::java::lang::String * mapLibraryName(::java::lang::String *); +private: + static void setIn0(::java::io::InputStream *); + static void setOut0(::java::io::PrintStream *); + static void setErr0(::java::io::PrintStream *); +public: // actually package-private + static ::java::lang::String * getenv0(::java::lang::String *); +public: + static ::java::io::InputStream * in; + static ::java::io::PrintStream * out; + static ::java::io::PrintStream * err; +private: + static ::java::util::Map * environmentMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_System__ diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java index 6b125c90a2a..587e637e974 100644 --- a/libjava/java/lang/System.java +++ b/libjava/java/lang/System.java @@ -48,6 +48,15 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.PrintStream; +import java.util.AbstractCollection; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.Properties; import java.util.PropertyPermission; @@ -102,6 +111,11 @@ public final class System public static final PrintStream err = new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.err)), true); + /** + * A cached copy of the environment variable map. + */ + private static Map environmentMap; + /** * This class is uninstantiable. */ @@ -393,6 +407,29 @@ public final class System return SystemProperties.setProperty(key, value); } + /** + * Remove a single system property by name. A security check may be + * performed, checkPropertyAccess(key, "write"). + * + * @param key the name of the system property to remove + * @return the previous value, or null + * @throws SecurityException if permission is denied + * @throws NullPointerException if key is null + * @throws IllegalArgumentException if key is "" + * @since 1.5 + */ + public static String clearProperty(String key) + { + SecurityManager sm = SecurityManager.current; // Be thread-safe. + if (sm != null) + sm.checkPermission(new PropertyPermission(key, "write")); + // This handles both the null pointer exception and the illegal + // argument exception. + if (key.length() == 0) + throw new IllegalArgumentException("key can't be empty"); + return SystemProperties.remove(key); + } + /** * Gets the value of an environment variable. * @@ -415,6 +452,59 @@ public final class System return getenv0(name); } + /** + *

      + * Returns an unmodifiable view of the system environment variables. + * If the underlying system does not support environment variables, + * an empty map is returned. + *

      + *

      + * The returned map is read-only and does not accept queries using + * null keys or values, or those of a type other than String. + * Attempts to modify the map will throw an + * UnsupportedOperationException, while attempts + * to pass in a null value will throw a + * NullPointerException. Types other than String + * throw a ClassCastException. + *

      + *

      + * As the returned map is generated using data from the underlying + * platform, it may not comply with the equals() + * and hashCode() contracts. It is also likely that + * the keys of this map will be case-sensitive. + *

      + *

      + * Use of this method may require a security check for the + * RuntimePermission "getenv.*". + *

      + * + * @return a map of the system environment variables. + * @throws SecurityException if the checkPermission method of + * an installed security manager prevents access to + * the system environment variables. + * @since 1.5 + */ + public static Map getenv() + { + SecurityManager sm = SecurityManager.current; // Be thread-safe. + if (sm != null) + sm.checkPermission(new RuntimePermission("getenv.*")); + if (environmentMap == null) + { + // List environ = (List)VMSystem.environ(); + // FIXME + List environ = new ArrayList(); + Map variables = new EnvironmentMap(); + for (String pair : environ) + { + String[] parts = pair.split("="); + variables.put(parts[0], parts[1]); + } + environmentMap = Collections.unmodifiableMap(variables); + } + return environmentMap; + } + /** * Terminate the Virtual Machine. This just calls * Runtime.getRuntime().exit(status), and never returns. @@ -557,4 +647,382 @@ public final class System * @see #getenv(String) */ static native String getenv0(String name); + + + /** + * This is a specialised Collection, providing + * the necessary provisions for the collections used by the + * environment variable map. Namely, it prevents + * querying anything but Strings. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class EnvironmentCollection + extends AbstractCollection + { + + /** + * The wrapped collection. + */ + protected Collection c; + + /** + * Constructs a new environment collection, which + * wraps the elements of the supplied collection. + * + * @param coll the collection to use as a base for + * this collection. + */ + public EnvironmentCollection(Collection coll) + { + c = coll; + } + + /** + * Blocks queries containing a null object or an object which + * isn't of type String. All other queries + * are forwarded to the underlying collection. + * + * @param obj the object to look for. + * @return true if the object exists in the collection. + * @throws NullPointerException if the specified object is null. + * @throws ClassCastException if the specified object is not a String. + */ + public boolean contains(Object obj) + { + if (obj == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(obj instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + return c.contains(obj); + } + + /** + * Blocks queries where the collection contains a null object or + * an object which isn't of type String. All other + * queries are forwarded to the underlying collection. + * + * @param coll the collection of objects to look for. + * @return true if the collection contains all elements in the collection. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean containsAll(Collection coll) + { + for (Object o: coll) + { + if (o == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(o instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + } + return c.containsAll(coll); + } + + /** + * This returns an iterator over the map elements, with the + * same provisions as for the collection and underlying map. + * + * @return an iterator over the map elements. + */ + public Iterator iterator() + { + return c.iterator(); + } + + /** + * Blocks the removal of elements from the collection. + * + * @return true if the removal was sucessful. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean remove(Object key) + { + if (key == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(key instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + return c.contains(key); + } + + /** + * Blocks the removal of all elements in the specified + * collection from the collection. + * + * @param coll the collection of elements to remove. + * @return true if the elements were removed. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean removeAll(Collection coll) + { + for (Object o: coll) + { + if (o == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(o instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + } + return c.removeAll(coll); + } + + /** + * Blocks the retention of all elements in the specified + * collection from the collection. + * + * @param c the collection of elements to retain. + * @return true if the other elements were removed. + * @throws NullPointerException if the collection is null. + * @throws NullPointerException if any collection entry is null. + * @throws ClassCastException if any collection entry is not a String. + */ + public boolean retainAll(Collection coll) + { + for (Object o: coll) + { + if (o == null) + throw new + NullPointerException("This collection does not support " + + "null values."); + if (!(o instanceof String)) + throw new + ClassCastException("This collection only supports Strings."); + } + return c.containsAll(coll); + } + + /** + * This simply calls the same method on the wrapped + * collection. + * + * @return the size of the underlying collection. + */ + public int size() + { + return c.size(); + } + + } // class EnvironmentCollection + + /** + * This is a specialised HashMap, which + * prevents the addition or querying of anything other than + * String objects. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class EnvironmentMap + extends HashMap + { + + /** + * Cache the entry set. + */ + private transient Set> entries; + + /** + * Cache the key set. + */ + private transient Set keys; + + /** + * Cache the value collection. + */ + private transient Collection values; + + /** + * Constructs a new empty EnvironmentMap. + */ + EnvironmentMap() + { + super(); + } + + /** + * Blocks queries containing a null key or one which is not + * of type String. All other queries + * are forwarded to the superclass. + * + * @param key the key to look for in the map. + * @return true if the key exists in the map. + * @throws NullPointerException if the specified key is null. + */ + public boolean containsKey(Object key) + { + if (key == null) + throw new + NullPointerException("This map does not support null keys."); + if (!(key instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.containsKey(key); + } + + /** + * Blocks queries using a null or non-String value. + * All other queries are forwarded to the superclass. + * + * @param value the value to look for in the map. + * @return true if the value exists in the map. + * @throws NullPointerException if the specified value is null. + */ + public boolean containsValue(Object value) + { + if (value == null) + throw new + NullPointerException("This map does not support null values."); + if (!(value instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.containsValue(value); + } + + /** + * Returns a set view of the map entries, with the same + * provisions as for the underlying map. + * + * @return a set containing the map entries. + */ + public Set> entrySet() + { + if (entries == null) + entries = super.entrySet(); + return entries; + } + + /** + * Blocks queries containing a null or non-String key. + * All other queries are passed on to the superclass. + * + * @param key the key to retrieve the value for. + * @return the value associated with the given key. + * @throws NullPointerException if the specified key is null. + * @throws ClassCastException if the specified key is not a String. + */ + public String get(Object key) + { + if (key == null) + throw new + NullPointerException("This map does not support null keys."); + if (!(key instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.get(key); + } + + /** + * Returns a set view of the keys, with the same + * provisions as for the underlying map. + * + * @return a set containing the keys. + */ + public Set keySet() + { + if (keys == null) + keys = new EnvironmentSet(super.keySet()); + return keys; + } + + /** + * Removes a key-value pair from the map. The queried key may not + * be null or of a type other than a String. + * + * @param key the key of the entry to remove. + * @return the removed value. + * @throws NullPointerException if the specified key is null. + * @throws ClassCastException if the specified key is not a String. + */ + public String remove(Object key) + { + if (key == null) + throw new + NullPointerException("This map does not support null keys."); + if (!(key instanceof String)) + throw new + ClassCastException("This map only allows queries using Strings."); + return super.remove(key); + } + + /** + * Returns a collection view of the values, with the same + * provisions as for the underlying map. + * + * @return a collection containing the values. + */ + public Collection values() + { + if (values == null) + values = new EnvironmentCollection(super.values()); + return values; + } + + } + + /** + * This is a specialised Set, providing + * the necessary provisions for the collections used by the + * environment variable map. Namely, it prevents + * modifications and the use of queries with null + * or non-String values. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ + private static class EnvironmentSet + extends EnvironmentCollection + implements Set + { + + /** + * Constructs a new environment set, which + * wraps the elements of the supplied set. + * + * @param set the set to use as a base for + * this set. + */ + public EnvironmentSet(Set set) + { + super(set); + } + + /** + * This simply calls the same method on the wrapped + * collection. + * + * @param obj the object to compare with. + * @return true if the two objects are equal. + */ + public boolean equals(Object obj) + { + return c.equals(obj); + } + + /** + * This simply calls the same method on the wrapped + * collection. + * + * @return the hashcode of the collection. + */ + public int hashCode() + { + return c.hashCode(); + } + + } // class EnvironmentSet + } // class System diff --git a/libjava/java/lang/Thread$State.h b/libjava/java/lang/Thread$State.h new file mode 100644 index 00000000000..4620c722436 --- /dev/null +++ b/libjava/java/lang/Thread$State.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Thread$State__ +#define __java_lang_Thread$State__ + +#pragma interface + +#include +#include + + +class java::lang::Thread$State : public ::java::lang::Enum +{ + + Thread$State(::java::lang::String *, jint); +public: + static JArray< ::java::lang::Thread$State * > * values(); + static ::java::lang::Thread$State * valueOf(::java::lang::String *); + static ::java::lang::Thread$State * BLOCKED; + static ::java::lang::Thread$State * NEW; + static ::java::lang::Thread$State * RUNNABLE; + static ::java::lang::Thread$State * TERMINATED; + static ::java::lang::Thread$State * TIMED_WAITING; + static ::java::lang::Thread$State * WAITING; +private: + static JArray< ::java::lang::Thread$State * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Thread$State__ diff --git a/libjava/java/lang/Thread$UncaughtExceptionHandler.h b/libjava/java/lang/Thread$UncaughtExceptionHandler.h new file mode 100644 index 00000000000..88d2b5b902f --- /dev/null +++ b/libjava/java/lang/Thread$UncaughtExceptionHandler.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Thread$UncaughtExceptionHandler__ +#define __java_lang_Thread$UncaughtExceptionHandler__ + +#pragma interface + +#include + +class java::lang::Thread$UncaughtExceptionHandler : public ::java::lang::Object +{ + +public: + virtual void uncaughtException(::java::lang::Thread *, ::java::lang::Throwable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_Thread$UncaughtExceptionHandler__ diff --git a/libjava/java/lang/Thread.h b/libjava/java/lang/Thread.h new file mode 100644 index 00000000000..c3556f0684d --- /dev/null +++ b/libjava/java/lang/Thread.h @@ -0,0 +1,161 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Thread__ +#define __java_lang_Thread__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + class RawDataManaged; + } + namespace java + { + namespace util + { + class WeakIdentityHashMap; + } + } + } +} + +class _Jv_JNIEnv; +#define _JV_NOT_OWNER 1 +#define _JV_INTERRUPTED 2 +_Jv_JNIEnv * _Jv_GetCurrentJNIEnv (); +void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env); +void _Jv_ThreadRun (java::lang::Thread* thread); +jint _Jv_AttachCurrentThread(java::lang::Thread* thread); +java::lang::Thread* _Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group); +java::lang::Thread* _Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group); +jint _Jv_DetachCurrentThread (); +struct _Jv_Thread_t; +_Jv_Thread_t* _Jv_ThreadGetData (java::lang::Thread* thread); + +class java::lang::Thread : public ::java::lang::Object +{ + +public: + Thread(); + Thread(::java::lang::Runnable *); + Thread(::java::lang::String *); + Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *); + Thread(::java::lang::ThreadGroup *, ::java::lang::String *); + Thread(::java::lang::Runnable *, ::java::lang::String *); + Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *); + Thread(::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *, jlong); +private: + Thread(::java::lang::Thread *, ::java::lang::ThreadGroup *, ::java::lang::Runnable *, ::java::lang::String *); +public: + static jint activeCount(); + virtual void checkAccess(); + virtual jint countStackFrames(); + static ::java::lang::Thread * currentThread(); + virtual void destroy(); + static void dumpStack(); + static jint enumerate(JArray< ::java::lang::Thread * > *); + virtual ::java::lang::String * getName(); + virtual jint getPriority(); + virtual ::java::lang::ThreadGroup * getThreadGroup(); + static jboolean holdsLock(::java::lang::Object *); + virtual void interrupt(); + static jboolean interrupted(); + virtual jboolean isInterrupted(); + virtual jboolean isAlive(); + virtual jboolean isDaemon(); + virtual void join(); + virtual void join(jlong); + virtual void join(jlong, jint); + virtual void resume(); +private: + void finish_(); + jboolean isInterrupted(jboolean); +public: + virtual void run(); + virtual void setDaemon(jboolean); + virtual ::java::lang::ClassLoader * getContextClassLoader(); + virtual void setContextClassLoader(::java::lang::ClassLoader *); + virtual void setName(::java::lang::String *); + static void yield(); + static void sleep(jlong); + static void sleep(jlong, jint); + virtual void start(); + virtual void stop(); + virtual void stop(::java::lang::Throwable *); + virtual void suspend(); + virtual void setPriority(jint); + virtual ::java::lang::String * toString(); +private: + void initialize_native(); + static ::java::lang::String * gen_name(); +public: // actually package-private + static ::java::util::Map * getThreadLocals(); +public: + virtual void setUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *); + virtual ::java::lang::Thread$UncaughtExceptionHandler * getUncaughtExceptionHandler(); + static void setDefaultUncaughtExceptionHandler(::java::lang::Thread$UncaughtExceptionHandler *); + static ::java::lang::Thread$UncaughtExceptionHandler * getDefaultUncaughtExceptionHandler(); + virtual jlong getId(); + virtual ::java::lang::Thread$State * getState(); + static ::java::util::Map * getAllStackTraces(); + virtual JArray< ::java::lang::StackTraceElement * > * getStackTrace(); + static const jint MIN_PRIORITY = 1; + static const jint NORM_PRIORITY = 5; + static const jint MAX_PRIORITY = 10; +public: // actually package-private + ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) group; +private: + ::java::lang::Runnable * runnable; +public: // actually package-private + ::java::lang::String * name; +private: + jboolean daemon; + jint priority; +public: // actually package-private + jboolean interrupt_flag; +private: + static const jbyte THREAD_DEAD = 0; + static const jbyte THREAD_ALIVE = 1; + static const jbyte THREAD_SIGNALED = 2; + jboolean startable_flag; + ::java::lang::ClassLoader * contextClassLoader; + jlong threadId; + static jlong nextThreadId; + static jlong totalThreadsCreated; + static ::java::lang::Thread$UncaughtExceptionHandler * defaultHandler; +public: // actually package-private + ::gnu::java::util::WeakIdentityHashMap * locals; + ::java::lang::Thread$UncaughtExceptionHandler * exceptionHandler; +private: + ::java::lang::Object * parkBlocker; +public: // actually package-private + static const jbyte THREAD_PARK_RUNNING = 0; + static const jbyte THREAD_PARK_PERMIT = 1; + static const jbyte THREAD_PARK_PARKED = 2; + static const jbyte THREAD_PARK_DEAD = 3; + ::java::lang::Object * accessControlState; + ::gnu::gcj::RawData * interp_frame; + volatile jint state; + ::gnu::gcj::RawDataManaged * data; +public: + static ::java::lang::Class class$; + + friend _Jv_JNIEnv * ::_Jv_GetCurrentJNIEnv (); + friend void ::_Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env); + friend void ::_Jv_ThreadRun (java::lang::Thread* thread); + friend jint (::_Jv_AttachCurrentThread) (java::lang::Thread* thread); + friend java::lang::Thread* ::_Jv_AttachCurrentThread (jstring name, java::lang::ThreadGroup* group); + friend java::lang::Thread* ::_Jv_AttachCurrentThreadAsDaemon (jstring name, java::lang::ThreadGroup* group); + friend jint (::_Jv_DetachCurrentThread) (); +}; + +#endif // __java_lang_Thread__ diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java index 2b7fb2aec01..9666482040a 100644 --- a/libjava/java/lang/Thread.java +++ b/libjava/java/lang/Thread.java @@ -36,12 +36,18 @@ 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. */ - package java.lang; +import gnu.classpath.VMStackWalker; import gnu.gcj.RawData; import gnu.gcj.RawDataManaged; import gnu.java.util.WeakIdentityHashMap; + +import java.lang.management.ManagementFactory; +import java.lang.management.ThreadInfo; +import java.lang.management.ThreadMXBean; + +import java.util.HashMap; import java.util.Map; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 @@ -83,6 +89,7 @@ import java.util.Map; * @author Tom Tromey * @author John Keiser * @author Eric Blake (ebb9@email.byu.edu) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @see Runnable * @see Runtime#exit(int) * @see #run() @@ -121,7 +128,15 @@ public class Thread implements Runnable private int priority; boolean interrupt_flag; - private boolean alive_flag; + + /** A thread is either alive, dead, or being sent a signal; if it is + being sent a signal, it is also alive. Thus, if you want to + know if a thread is alive, it is sufficient to test + alive_status != THREAD_DEAD. */ + private static final byte THREAD_DEAD = 0; + private static final byte THREAD_ALIVE = 1; + private static final byte THREAD_SIGNALED = 2; + private boolean startable_flag; /** The context classloader for this Thread. */ @@ -133,6 +148,9 @@ public class Thread implements Runnable /** The next thread ID to use. */ private static long nextThreadId; + /** Used to generate the next thread ID to use. */ + private static long totalThreadsCreated; + /** The default exception handler. */ private static UncaughtExceptionHandler defaultHandler; @@ -144,6 +162,19 @@ public class Thread implements Runnable /** The uncaught exception handler. */ UncaughtExceptionHandler exceptionHandler; + /** This object is recorded while the thread is blocked to permit + * monitoring and diagnostic tools to identify the reasons that + * threads are blocked. + */ + private Object parkBlocker; + + /** Used by Unsafe.park and Unsafe.unpark. Se Unsafe for a full + description. */ + static final byte THREAD_PARK_RUNNING = 0; + static final byte THREAD_PARK_PERMIT = 1; + static final byte THREAD_PARK_PARKED = 2; + static final byte THREAD_PARK_DEAD = 3; + /** The access control state for this thread. Package accessible * for use by java.security.VMAccessControlState's native method. */ @@ -152,8 +183,11 @@ public class Thread implements Runnable // This describes the top-most interpreter frame for this thread. RawData interp_frame; + // Current state. + volatile int state; + // Our native data - points to an instance of struct natThread. - private RawDataManaged data; + RawDataManaged data; /** * Allocates a new Thread object. This constructor has @@ -368,7 +402,6 @@ public class Thread implements Runnable data = null; interrupt_flag = false; - alive_flag = false; startable_flag = true; synchronized (Thread.class) @@ -438,7 +471,10 @@ public class Thread implements Runnable public native int countStackFrames(); /** - * Get the currently executing Thread. + * Get the currently executing Thread. In the situation that the + * currently running thread was created by native code and doesn't + * have an associated Thread object yet, a new Thread object is + * constructed and associated with the native thread. * * @return the currently executing Thread */ @@ -447,6 +483,19 @@ public class Thread implements Runnable /** * Originally intended to destroy this thread, this method was never * implemented by Sun, and is hence a no-op. + * + * @deprecated This method was originally intended to simply destroy + * the thread without performing any form of cleanup operation. + * However, it was never implemented. It is now deprecated + * for the same reason as suspend(), + * stop() and resume(); namely, + * it is prone to deadlocks. If a thread is destroyed while + * it still maintains a lock on a resource, then this resource + * will remain locked and any attempts by other threads to + * access the resource will result in a deadlock. Thus, even + * an implemented version of this method would be still be + * deprecated, due to its unsafe nature. + * @throws NoSuchMethodError as this method was never implemented. */ public void destroy() { @@ -579,10 +628,7 @@ public class Thread implements Runnable * * @return whether this Thread is alive */ - public final synchronized boolean isAlive() - { - return alive_flag; - } + public final native boolean isAlive(); /** * Tell whether this is a daemon Thread or not. @@ -638,7 +684,9 @@ public class Thread implements Runnable throws InterruptedException; /** - * Resume a suspended thread. + * Resume this Thread. If the thread is not suspended, this method does + * nothing. To mirror suspend(), there may be a security check: + * checkAccess. * * @throws SecurityException if you cannot resume the Thread * @see #checkAccess() @@ -713,7 +761,7 @@ public class Thread implements Runnable * * @return the context class loader * @throws SecurityException when permission is denied - * @see setContextClassLoader(ClassLoader) + * @see #setContextClassLoader(ClassLoader) * @since 1.2 */ public synchronized ClassLoader getContextClassLoader() @@ -721,24 +769,15 @@ public class Thread implements Runnable if (contextClassLoader == null) contextClassLoader = ClassLoader.getSystemClassLoader(); + // Check if we may get the classloader SecurityManager sm = System.getSecurityManager(); - // FIXME: we can't currently find the caller's class loader. - ClassLoader callers = null; - if (sm != null && callers != null) + if (contextClassLoader != null && sm != null) { - // See if the caller's class loader is the same as or an - // ancestor of this thread's class loader. - while (callers != null && callers != contextClassLoader) - { - // FIXME: should use some internal version of getParent - // that avoids security checks. - callers = callers.getParent(); - } - - if (callers != contextClassLoader) - sm.checkPermission(new RuntimePermission("getClassLoader")); + // Get the calling classloader + ClassLoader cl = VMStackWalker.getCallingClassLoader(); + if (cl != null && !cl.isAncestorOf(contextClassLoader)) + sm.checkPermission(new RuntimePermission("getClassLoader")); } - return contextClassLoader; } @@ -751,7 +790,7 @@ public class Thread implements Runnable * * @param classloader the new context class loader * @throws SecurityException when permission is denied - * @see getContextClassLoader() + * @see #getContextClassLoader() * @since 1.2 */ public synchronized void setContextClassLoader(ClassLoader classloader) @@ -781,8 +820,10 @@ public class Thread implements Runnable } /** - * Causes the currently executing thread object to temporarily pause - * and allow other threads to execute. + * Yield to another thread. The Thread will not lose any locks it holds + * during this time. There are no guarantees which thread will be + * next to run, and it could even be this one, but most VMs will choose + * the highest priority thread that has been waiting longest. */ public static native void yield(); @@ -793,8 +834,10 @@ public class Thread implements Runnable * choose the highest priority thread that has been waiting longest. * * @param ms the number of milliseconds to sleep, or 0 for forever - * @throws InterruptedException if the Thread is interrupted; it's - * interrupted status will be cleared + * @throws InterruptedException if the Thread is (or was) interrupted; + * it's interrupted status will be cleared + * @throws IllegalArgumentException if ms is negative + * @see #interrupt() * @see #notify() * @see #wait(long) */ @@ -808,18 +851,21 @@ public class Thread implements Runnable * time. The Thread will not lose any locks it has during this time. There * are no guarantees which thread will be next to run, but most VMs will * choose the highest priority thread that has been waiting longest. - * - *

      Note that 1,000,000 nanoseconds == 1 millisecond, but most VMs do - * not offer that fine a grain of timing resolution. Besides, there is - * no guarantee that this thread can start up immediately when time expires, - * because some other thread may be active. So don't expect real-time - * performance. + *

      + * Note that 1,000,000 nanoseconds == 1 millisecond, but most VMs + * do not offer that fine a grain of timing resolution. When ms is + * zero and ns is non-zero the Thread will sleep for at least one + * milli second. There is no guarantee that this thread can start up + * immediately when time expires, because some other thread may be + * active. So don't expect real-time performance. * * @param ms the number of milliseconds to sleep, or 0 for forever * @param ns the number of extra nanoseconds to sleep (0-999999) - * @throws InterruptedException if the Thread is interrupted; it's - * interrupted status will be cleared - * @throws IllegalArgumentException if ns is invalid + * @throws InterruptedException if the Thread is (or was) interrupted; + * it's interrupted status will be cleared + * @throws IllegalArgumentException if ms or ns is negative + * or ns is larger than 999999. + * @see #interrupt() * @see #notify() * @see #wait(long, int) */ @@ -870,10 +916,11 @@ public class Thread implements Runnable /** * Cause this Thread to stop abnormally and throw the specified exception. - * If you stop a Thread that has not yet started, it will stop immediately - * when it is actually started. WARNINGThis bypasses Java security, - * and can throw a checked exception which the call stack is unprepared to - * handle. Do not abuse this power. + * If you stop a Thread that has not yet started, the stop is ignored + * (contrary to what the JDK documentation says). + * WARNINGThis bypasses Java security, and can throw a checked + * exception which the call stack is unprepared to handle. Do not abuse + * this power. * *

      This is inherently unsafe, as it can interrupt synchronized blocks and * leave data in bad states. Hence, there is a security check: @@ -996,6 +1043,7 @@ public class Thread implements Runnable */ public UncaughtExceptionHandler getUncaughtExceptionHandler() { + // FIXME: if thread is dead, should return null... return exceptionHandler != null ? exceptionHandler : group; } @@ -1094,7 +1142,7 @@ public class Thread implements Runnable * @author Andrew John Hughes * @since 1.5 * @see Thread#getUncaughtExceptionHandler() - * @see Thread#setUncaughtExceptionHander(java.lang.Thread.UncaughtExceptionHandler) + * @see Thread#setUncaughtExceptionHandler(UncaughtExceptionHandler) * @see Thread#getDefaultUncaughtExceptionHandler() * @see * Thread#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler) @@ -1113,6 +1161,32 @@ public class Thread implements Runnable void uncaughtException(Thread thr, Throwable exc); } + /** + *

      + * Represents the current state of a thread, according to the VM rather + * than the operating system. It can be one of the following: + *

      + *
        + *
      • NEW -- The thread has just been created but is not yet running.
      • + *
      • RUNNABLE -- The thread is currently running or can be scheduled + * to run.
      • + *
      • BLOCKED -- The thread is blocked waiting on an I/O operation + * or to obtain a lock.
      • + *
      • WAITING -- The thread is waiting indefinitely for another thread + * to do something.
      • + *
      • TIMED_WAITING -- The thread is waiting for a specific amount of time + * for another thread to do something.
      • + *
      • TERMINATED -- The thread has exited.
      • + *
      + * + * @since 1.5 + */ + public enum State + { + BLOCKED, NEW, RUNNABLE, TERMINATED, TIMED_WAITING, WAITING; + } + + /** * Returns the current state of the thread. This * is designed for monitoring thread behaviour, rather @@ -1120,9 +1194,103 @@ public class Thread implements Runnable * * @return the current thread state. */ - public String getState() + public native State getState(); + + /** + *

      + * Returns a map of threads to stack traces for each + * live thread. The keys of the map are {@link Thread} + * objects, which map to arrays of {@link StackTraceElement}s. + * The results obtained from Calling this method are + * equivalent to calling {@link getStackTrace()} on each + * thread in succession. Threads may be executing while + * this takes place, and the results represent a snapshot + * of the thread at the time its {@link getStackTrace()} + * method is called. + *

      + *

      + * The stack trace information contains the methods called + * by the thread, with the most recent method forming the + * first element in the array. The array will be empty + * if the virtual machine can not obtain information on the + * thread. + *

      + *

      + * To execute this method, the current security manager + * (if one exists) must allow both the + * "getStackTrace" and + * "modifyThreadGroup" {@link RuntimePermission}s. + *

      + * + * @return a map of threads to arrays of {@link StackTraceElement}s. + * @throws SecurityException if a security manager exists, and + * prevents either or both the runtime + * permissions specified above. + * @since 1.5 + * @see #getStackTrace() + */ + public static Map getAllStackTraces() { - // FIXME - Provide real implementation. - return "NEW"; + ThreadGroup group = currentThread().group; + while (group.getParent() != null) + group = group.getParent(); + int arraySize = group.activeCount(); + Thread[] threadList = new Thread[arraySize]; + int filled = group.enumerate(threadList); + while (filled == arraySize) + { + arraySize *= 2; + threadList = new Thread[arraySize]; + filled = group.enumerate(threadList); + } + Map traces = new HashMap(); + for (int a = 0; a < filled; ++a) + traces.put(threadList[a], + threadList[a].getStackTrace()); + return traces; } + + /** + *

      + * Returns an array of {@link StackTraceElement}s + * representing the current stack trace of this thread. + * The first element of the array is the most recent + * method called, and represents the top of the stack. + * The elements continue in this order, with the last + * element representing the bottom of the stack. + *

      + *

      + * A zero element array is returned for threads which + * have not yet started (and thus have not yet executed + * any methods) or for those which have terminated. + * Where the virtual machine can not obtain a trace for + * the thread, an empty array is also returned. The + * virtual machine may also omit some methods from the + * trace in non-zero arrays. + *

      + *

      + * To execute this method, the current security manager + * (if one exists) must allow both the + * "getStackTrace" and + * "modifyThreadGroup" {@link RuntimePermission}s. + *

      + * + * @return a stack trace for this thread. + * @throws SecurityException if a security manager exists, and + * prevents the use of the + * "getStackTrace" + * permission. + * @since 1.5 + * @see #getAllStackTraces() + */ + public StackTraceElement[] getStackTrace() + { + SecurityManager sm = SecurityManager.current; // Be thread-safe. + if (sm != null) + sm.checkPermission(new RuntimePermission("getStackTrace")); + ThreadMXBean bean = ManagementFactory.getThreadMXBean(); + ThreadInfo info = bean.getThreadInfo(getId(), Integer.MAX_VALUE); + return info.getStackTrace(); + } + } diff --git a/libjava/java/lang/ThreadDeath.h b/libjava/java/lang/ThreadDeath.h new file mode 100644 index 00000000000..d06ce3458b3 --- /dev/null +++ b/libjava/java/lang/ThreadDeath.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ThreadDeath__ +#define __java_lang_ThreadDeath__ + +#pragma interface + +#include + +class java::lang::ThreadDeath : public ::java::lang::Error +{ + +public: + ThreadDeath(); +private: + static const jlong serialVersionUID = -4417128565033088268LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ThreadDeath__ diff --git a/libjava/java/lang/ThreadGroup.h b/libjava/java/lang/ThreadGroup.h new file mode 100644 index 00000000000..a197ca16eb6 --- /dev/null +++ b/libjava/java/lang/ThreadGroup.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ThreadGroup__ +#define __java_lang_ThreadGroup__ + +#pragma interface + +#include +#include + + +class java::lang::ThreadGroup : public ::java::lang::Object +{ + + ThreadGroup(); +public: + ThreadGroup(::java::lang::String *); + ThreadGroup(::java::lang::ThreadGroup *, ::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::java::lang::ThreadGroup * getParent(); + virtual jint getMaxPriority(); + virtual jboolean isDaemon(); + virtual jboolean isDestroyed(); + virtual void setDaemon(jboolean); + virtual void setMaxPriority(jint); + virtual jboolean parentOf(::java::lang::ThreadGroup *); + virtual void checkAccess(); + virtual jint activeCount(); + virtual jint enumerate(JArray< ::java::lang::Thread * > *); + virtual jint enumerate(JArray< ::java::lang::Thread * > *, jboolean); + virtual jint activeGroupCount(); + virtual jint enumerate(JArray< ::java::lang::ThreadGroup * > *); + virtual jint enumerate(JArray< ::java::lang::ThreadGroup * > *, jboolean); + virtual void stop(); + virtual void interrupt(); + virtual void suspend(); + virtual void resume(); + virtual void destroy(); + virtual void list(); + virtual void uncaughtException(::java::lang::Thread *, ::java::lang::Throwable *); + virtual jboolean allowThreadSuspension(jboolean); + virtual ::java::lang::String * toString(); +private: + jint enumerate(JArray< ::java::lang::Thread * > *, jint, jboolean); + jint enumerate(JArray< ::java::lang::ThreadGroup * > *, jint, jboolean); + void list(::java::lang::String *); +public: // actually package-private + virtual void addThread(::java::lang::Thread *); + virtual void removeThread(::java::lang::Thread *); + virtual void removeGroup(::java::lang::ThreadGroup *); + static ::java::lang::Thread * getThreadFromId(jlong); +private: + ::java::lang::Thread * getThreadFromIdImpl(jlong); +public: // actually package-private + static ::java::lang::ThreadGroup * root; + static jboolean had_uncaught_exception; + ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent; + ::java::lang::String * name; +private: + ::java::util::Vector * threads; + ::java::util::Vector * groups; + jboolean daemon_flag; + jint maxpri; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ThreadGroup__ diff --git a/libjava/java/lang/ThreadLocal.h b/libjava/java/lang/ThreadLocal.h new file mode 100644 index 00000000000..4bea9318516 --- /dev/null +++ b/libjava/java/lang/ThreadLocal.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ThreadLocal__ +#define __java_lang_ThreadLocal__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } +} + +class java::lang::ThreadLocal : public ::java::lang::Object +{ + +public: + ThreadLocal(); +public: // actually protected + virtual ::java::lang::Object * initialValue(); +public: + virtual ::java::lang::Object * get(); +private: + ::java::lang::Object * internalGet(); +public: + virtual void set(::java::lang::Object *); +private: + void internalSet(::java::lang::Object *); +public: + virtual void remove(); +private: + void internalRemove(); +public: // actually protected + virtual void finalize(); +private: + void constructNative(); +public: // actually package-private + static ::java::lang::Object * sentinel; +private: + ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) TLSPointer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ThreadLocal__ diff --git a/libjava/java/lang/ThreadLocal.java b/libjava/java/lang/ThreadLocal.java new file mode 100644 index 00000000000..6558c94c999 --- /dev/null +++ b/libjava/java/lang/ThreadLocal.java @@ -0,0 +1,179 @@ +/* ThreadLocal -- a variable with a unique value per thread + Copyright (C) 2000, 2002, 2003, 2006 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. */ + +package java.lang; + +import java.util.Map; + + +/** + * ThreadLocal objects have a different state associated with every + * Thread that accesses them. Every access to the ThreadLocal object + * (through the get() and set() methods) + * only affects the state of the object as seen by the currently + * executing Thread. + * + *

      The first time a ThreadLocal object is accessed on a particular + * Thread, the state for that Thread's copy of the local variable is set by + * executing the method initialValue(). + *

      + * + *

      An example how you can use this: + *

      + * + *
      + * class Connection
      + * {
      + *   private static ThreadLocal owner = new ThreadLocal()
      + *     {
      + *       public Object initialValue()
      + *       {
      + *         return("nobody");
      + *       }
      + *     };
      + * ...
      + * }
      + * 
      + * + *

      Now all instances of connection can see who the owner of the currently + * executing Thread is by calling owner.get(). By default any + * Thread would be associated with 'nobody'. But the Connection object could + * offer a method that changes the owner associated with the Thread on + * which the method was called by calling owner.put("somebody"). + * (Such an owner changing method should then be guarded by security checks.) + *

      + * + *

      When a Thread is garbage collected all references to values of + * the ThreadLocal objects associated with that Thread are removed. + *

      + * + * @author Mark Wielaard (mark@klomp.org) + * @author Eric Blake (ebb9@email.byu.edu) + * @since 1.2 + * @status updated to 1.5 + */ +public class ThreadLocal +{ + /** + * Placeholder to distinguish between uninitialized and null set by the + * user. Do not expose this to the public. Package visible for use by + * InheritableThreadLocal + */ + static final Object sentinel = new Object(); + + /** + * Creates a ThreadLocal object without associating any value to it yet. + */ + public ThreadLocal() + { + constructNative(); + } + + /** + * Called once per thread on the first invocation of get(), if set() was + * not already called. The default implementation returns null. + * Often, this method is overridden to create the appropriate initial object + * for the current thread's view of the ThreadLocal. + * + * @return the initial value of the variable in this thread + */ + protected T initialValue() + { + return null; + } + + /** + * Gets the value associated with the ThreadLocal object for the currently + * executing Thread. If this is the first time the current thread has called + * get(), and it has not already called set(), the value is obtained by + * initialValue(). + * + * @return the value of the variable in this thread + */ + public native T get(); + + private final Object internalGet() + { + Map,T> map = (Map,T>) Thread.getThreadLocals(); + // Note that we don't have to synchronize, as only this thread will + // ever modify the map. + T value = map.get(this); + if (value == null) + { + value = initialValue(); + map.put(this, (T) (value == null ? sentinel : value)); + } + return value == (T) sentinel ? null : value; + } + + /** + * Sets the value associated with the ThreadLocal object for the currently + * executing Thread. This overrides any existing value associated with the + * current Thread and prevents initialValue() from being + * called if this is the first access to this ThreadLocal in this Thread. + * + * @param value the value to set this thread's view of the variable to + */ + public native void set(T value); + + private final void internalSet(Object value) + { + Map map = Thread.getThreadLocals(); + // Note that we don't have to synchronize, as only this thread will + // ever modify the map. + map.put(this, value == null ? sentinel : value); + } + + /** + * Removes the value associated with the ThreadLocal object for the + * currently executing Thread. + * @since 1.5 + */ + public native void remove(); + + private final void internalRemove() + { + Map map = Thread.getThreadLocals(); + map.remove(this); + } + + protected native void finalize () throws Throwable; + + private native void constructNative(); + + private gnu.gcj.RawData TLSPointer; +} diff --git a/libjava/java/lang/Throwable$StaticData.h b/libjava/java/lang/Throwable$StaticData.h new file mode 100644 index 00000000000..6bb0912de2d --- /dev/null +++ b/libjava/java/lang/Throwable$StaticData.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Throwable$StaticData__ +#define __java_lang_Throwable$StaticData__ + +#pragma interface + +#include + +class java::lang::Throwable$StaticData : public ::java::lang::Object +{ + + Throwable$StaticData(); +public: // actually package-private + static ::java::lang::String * nl; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Throwable$StaticData__ diff --git a/libjava/java/lang/Throwable.h b/libjava/java/lang/Throwable.h new file mode 100644 index 00000000000..0b8fdca68e7 --- /dev/null +++ b/libjava/java/lang/Throwable.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Throwable__ +#define __java_lang_Throwable__ + +#pragma interface + +#include +#include + + +class java::lang::Throwable : public ::java::lang::Object +{ + +public: + Throwable(); + Throwable(::java::lang::String *); + Throwable(::java::lang::String *, ::java::lang::Throwable *); + Throwable(::java::lang::Throwable *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::String * getLocalizedMessage(); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::Throwable * initCause(::java::lang::Throwable *); + virtual ::java::lang::String * toString(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + ::java::lang::String * stackTraceString(); + static void stackTraceStringBuffer(::java::lang::StringBuffer *, ::java::lang::String *, JArray< ::java::lang::StackTraceElement * > *, jint); +public: + virtual ::java::lang::Throwable * fillInStackTrace(); + virtual JArray< ::java::lang::StackTraceElement * > * getStackTrace(); + virtual void setStackTrace(JArray< ::java::lang::StackTraceElement * > *); +private: + static const jlong serialVersionUID = -3042686055658047285LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) detailMessage; + ::java::lang::Throwable * cause; + JArray< ::java::lang::StackTraceElement * > * stackTrace; + ::java::lang::VMThrowable * vmState; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Throwable__ diff --git a/libjava/java/lang/TypeNotPresentException.h b/libjava/java/lang/TypeNotPresentException.h new file mode 100644 index 00000000000..076f0a6d43f --- /dev/null +++ b/libjava/java/lang/TypeNotPresentException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_TypeNotPresentException__ +#define __java_lang_TypeNotPresentException__ + +#pragma interface + +#include + +class java::lang::TypeNotPresentException : public ::java::lang::RuntimeException +{ + +public: + TypeNotPresentException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::String * typeName(); +private: + static const jlong serialVersionUID = -5101214195716534496LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) typeName__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_TypeNotPresentException__ diff --git a/libjava/java/lang/UnknownError.h b/libjava/java/lang/UnknownError.h new file mode 100644 index 00000000000..2ed851aae57 --- /dev/null +++ b/libjava/java/lang/UnknownError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_UnknownError__ +#define __java_lang_UnknownError__ + +#pragma interface + +#include + +class java::lang::UnknownError : public ::java::lang::VirtualMachineError +{ + +public: + UnknownError(); + UnknownError(::java::lang::String *); +private: + static const jlong serialVersionUID = 2524784860676771849LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_UnknownError__ diff --git a/libjava/java/lang/UnsatisfiedLinkError.h b/libjava/java/lang/UnsatisfiedLinkError.h new file mode 100644 index 00000000000..a560313fe21 --- /dev/null +++ b/libjava/java/lang/UnsatisfiedLinkError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_UnsatisfiedLinkError__ +#define __java_lang_UnsatisfiedLinkError__ + +#pragma interface + +#include + +class java::lang::UnsatisfiedLinkError : public ::java::lang::LinkageError +{ + +public: + UnsatisfiedLinkError(); + UnsatisfiedLinkError(::java::lang::String *); +private: + static const jlong serialVersionUID = -4019343241616879428LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_UnsatisfiedLinkError__ diff --git a/libjava/java/lang/UnsupportedClassVersionError.h b/libjava/java/lang/UnsupportedClassVersionError.h new file mode 100644 index 00000000000..afa5b1875da --- /dev/null +++ b/libjava/java/lang/UnsupportedClassVersionError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_UnsupportedClassVersionError__ +#define __java_lang_UnsupportedClassVersionError__ + +#pragma interface + +#include + +class java::lang::UnsupportedClassVersionError : public ::java::lang::ClassFormatError +{ + +public: + UnsupportedClassVersionError(); + UnsupportedClassVersionError(::java::lang::String *); +private: + static const jlong serialVersionUID = -7123279212883497373LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_UnsupportedClassVersionError__ diff --git a/libjava/java/lang/UnsupportedOperationException.h b/libjava/java/lang/UnsupportedOperationException.h new file mode 100644 index 00000000000..ce808bdedde --- /dev/null +++ b/libjava/java/lang/UnsupportedOperationException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_UnsupportedOperationException__ +#define __java_lang_UnsupportedOperationException__ + +#pragma interface + +#include + +class java::lang::UnsupportedOperationException : public ::java::lang::RuntimeException +{ + +public: + UnsupportedOperationException(); + UnsupportedOperationException(::java::lang::String *); + UnsupportedOperationException(::java::lang::String *, ::java::lang::Throwable *); + UnsupportedOperationException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -1242599979055084673LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_UnsupportedOperationException__ diff --git a/libjava/java/lang/VMClassLoader.h b/libjava/java/lang/VMClassLoader.h new file mode 100644 index 00000000000..dce7092bfce --- /dev/null +++ b/libjava/java/lang/VMClassLoader.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VMClassLoader__ +#define __java_lang_VMClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class BootClassLoader; + } + } + } + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class Permission; + class ProtectionDomain; + } + } +} + +class java::lang::VMClassLoader : public ::java::lang::Object +{ + +public: // actually package-private + VMClassLoader(); + static ::java::lang::Class * defineClass(::java::lang::ClassLoader *, ::java::lang::String *, JArray< jbyte > *, jint, jint, ::java::security::ProtectionDomain *); + static void resolveClass(::java::lang::Class *); + static ::java::lang::Class * loadClass(::java::lang::String *, jboolean); + static ::java::net::URL * getResource(::java::lang::String *); + static ::java::util::Enumeration * getResources(::java::lang::String *); + static ::java::lang::Package * getPackage(::java::lang::String *); + static JArray< ::java::lang::Package * > * getPackages(); + static void definePackageForNative(::java::lang::String *); + static ::java::lang::Class * getPrimitiveClass(jchar); + static jboolean defaultAssertionStatus(); + static ::java::util::Map * packageAssertionStatus(); + static ::java::util::Map * classAssertionStatus(); + static ::java::lang::ClassLoader * getSystemClassLoaderInternal(); + static void initBootLoader(::java::lang::String *); + static void initialize(::java::lang::String *); + static ::java::lang::Class * nativeFindClass(::java::lang::String *); + static ::java::lang::ClassLoader * getSystemClassLoader(); + static ::java::security::Permission * protectionDomainPermission; + static ::java::security::ProtectionDomain * unknownProtectionDomain; + static ::java::util::HashMap * definedPackages; + static ::gnu::gcj::runtime::BootClassLoader * bootLoader; +private: + static ::java::util::HashSet * tried_libraries; + static jint lib_control; + static const jint LIB_FULL = 0; + static const jint LIB_CACHE = 1; + static const jint LIB_NEVER = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VMClassLoader__ diff --git a/libjava/java/lang/VMCompiler.h b/libjava/java/lang/VMCompiler.h new file mode 100644 index 00000000000..e81f694e196 --- /dev/null +++ b/libjava/java/lang/VMCompiler.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VMCompiler__ +#define __java_lang_VMCompiler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace hash + { + class MD5; + } + } + } + } + namespace java + { + namespace security + { + class ProtectionDomain; + } + } +} + +class java::lang::VMCompiler : public ::java::lang::Object +{ + +public: + static jboolean precompiles(); +private: + VMCompiler(); + static ::java::lang::Class * loadSharedLibrary(::java::lang::ClassLoader *, ::java::lang::String *, ::java::security::ProtectionDomain *, ::java::lang::String *); +public: + static ::java::lang::Class * compileClass(::java::lang::ClassLoader *, ::java::lang::String *, JArray< jbyte > *, jint, jint, ::java::security::ProtectionDomain *); + static jboolean compileClass(::java::lang::Class *); + static jboolean compileClasses(::java::lang::String *); + static ::java::lang::Object * command(::java::lang::Object *); + static void enable(); + static void disable(); + static jboolean useCompiler; + static jboolean canUseCompiler; + static ::java::lang::String * gcjJitCompiler; + static ::java::lang::String * gcjJitCompilerOptions; + static ::java::lang::String * gcjJitTmpdir; +private: + static ::java::util::WeakHashMap * sharedHelperMap; + static ::java::util::Vector * precompiledMapFiles; + static ::gnu::java::security::hash::MD5 * md5Digest; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VMCompiler__ diff --git a/libjava/java/lang/VMCompiler.java b/libjava/java/lang/VMCompiler.java index 789445e4f56..0e4701c8409 100644 --- a/libjava/java/lang/VMCompiler.java +++ b/libjava/java/lang/VMCompiler.java @@ -73,6 +73,11 @@ final class VMCompiler // Temporary directory to use. public static String gcjJitTmpdir; + public static boolean precompiles() + { + return (canUseCompiler & useCompiler); + } + // This maps a ClassLoader to a set of SharedLibHelper objects that // it has used. We do things this way to ensure that a // SharedLibHelper is collected if and only if the ClassLoader is. @@ -186,8 +191,7 @@ final class VMCompiler int offset, int len, ProtectionDomain domain) { - if (precompiledMapFiles == null - && (! useCompiler || ! canUseCompiler)) + if (precompiledMapFiles == null && !precompiles()) return null; byte digest[]; @@ -232,7 +236,7 @@ final class VMCompiler } } - if (! useCompiler || ! canUseCompiler) + if (!precompiles()) return null; try diff --git a/libjava/java/lang/VMDouble.h b/libjava/java/lang/VMDouble.h new file mode 100644 index 00000000000..76b6d50208a --- /dev/null +++ b/libjava/java/lang/VMDouble.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VMDouble__ +#define __java_lang_VMDouble__ + +#pragma interface + +#include + +class java::lang::VMDouble : public ::java::lang::Object +{ + +public: // actually package-private + VMDouble(); +public: + static jlong doubleToLongBits(jdouble); + static jlong doubleToRawLongBits(jdouble); + static jdouble longBitsToDouble(jlong); + static ::java::lang::String * toString(jdouble, jboolean); + static jdouble parseDouble(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VMDouble__ diff --git a/libjava/java/lang/VMFloat.h b/libjava/java/lang/VMFloat.h new file mode 100644 index 00000000000..58e7ba9bbcc --- /dev/null +++ b/libjava/java/lang/VMFloat.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VMFloat__ +#define __java_lang_VMFloat__ + +#pragma interface + +#include + +class java::lang::VMFloat : public ::java::lang::Object +{ + +public: // actually package-private + VMFloat(); + static jint floatToIntBits(jfloat); + static jint floatToRawIntBits(jfloat); + static jfloat intBitsToFloat(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VMFloat__ diff --git a/libjava/java/lang/VMSecurityManager.java b/libjava/java/lang/VMSecurityManager.java deleted file mode 100644 index 25aeb7c4964..00000000000 --- a/libjava/java/lang/VMSecurityManager.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * java.lang.SecurityManager: part of the Java Class Libraries project. - * Copyright (C) 1998, 2001, 2002, 2005 Free Software Foundation - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -package java.lang; - -import java.net.*; -import java.util.*; -import java.io.*; - -/** - ** VMSecurityManager is a helper class for SecurityManager the VM must - ** implement. - ** - ** @author John Keiser - ** @version 1.1.0, 31 May 1998 - **/ -class VMSecurityManager -{ - /** Get a list of all the classes currently executing - ** methods on the Java stack. getClassContext()[0] is - ** the currently executing method - ** Spec Note: does not say whether - ** the stack will include the getClassContext() call or - ** the one just before it. - ** - ** @return an array containing all the methods on classes - ** on the Java execution stack. - **/ - static native Class[] getClassContext(Class caller); - - /** Get the current ClassLoader--the one nearest to the - ** top of the stack. - ** @return the current ClassLoader. - **/ - static ClassLoader currentClassLoader(Class caller) - { - // The docs above are wrong. See the online docs. - // FIXME this implementation is a bit wrong too -- the docs say we - // must also consider ancestors of the system class loader. - ClassLoader systemClassLoader = ClassLoader.systemClassLoader; - Class[] classStack = getClassContext (caller); - for (int i = 0; i < classStack.length; i++) - { - ClassLoader loader = classStack[i].getClassLoader(); - if (loader != null && loader != systemClassLoader) - return loader; - } - - return null; - } -} diff --git a/libjava/java/lang/VMThrowable.h b/libjava/java/lang/VMThrowable.h new file mode 100644 index 00000000000..1991b6cd8dd --- /dev/null +++ b/libjava/java/lang/VMThrowable.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VMThrowable__ +#define __java_lang_VMThrowable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawDataManaged; + } + } +} + +class java::lang::VMThrowable : public ::java::lang::Object +{ + + VMThrowable(); +public: // actually package-private + static ::java::lang::VMThrowable * fillInStackTrace(::java::lang::Throwable *); + JArray< ::java::lang::StackTraceElement * > * getStackTrace(::java::lang::Throwable *); +private: + ::gnu::gcj::RawDataManaged * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VMThrowable__ diff --git a/libjava/java/lang/VerifyError.h b/libjava/java/lang/VerifyError.h new file mode 100644 index 00000000000..54aafd27ee2 --- /dev/null +++ b/libjava/java/lang/VerifyError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VerifyError__ +#define __java_lang_VerifyError__ + +#pragma interface + +#include + +class java::lang::VerifyError : public ::java::lang::LinkageError +{ + +public: + VerifyError(); + VerifyError(::java::lang::String *); +private: + static const jlong serialVersionUID = 7001962396098498785LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VerifyError__ diff --git a/libjava/java/lang/VirtualMachineError.h b/libjava/java/lang/VirtualMachineError.h new file mode 100644 index 00000000000..9eb04ceaabb --- /dev/null +++ b/libjava/java/lang/VirtualMachineError.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_VirtualMachineError__ +#define __java_lang_VirtualMachineError__ + +#pragma interface + +#include + +class java::lang::VirtualMachineError : public ::java::lang::Error +{ + +public: + VirtualMachineError(); + VirtualMachineError(::java::lang::String *); +private: + static const jlong serialVersionUID = 4161983926571568670LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_VirtualMachineError__ diff --git a/libjava/java/lang/Void.h b/libjava/java/lang/Void.h new file mode 100644 index 00000000000..be277b02aaa --- /dev/null +++ b/libjava/java/lang/Void.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Void__ +#define __java_lang_Void__ + +#pragma interface + +#include + +class java::lang::Void : public ::java::lang::Object +{ + + Void(); +public: + static ::java::lang::Class * TYPE; + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Void__ diff --git a/libjava/java/lang/Win32Process.h b/libjava/java/lang/Win32Process.h new file mode 100644 index 00000000000..0b49c6e9c33 --- /dev/null +++ b/libjava/java/lang/Win32Process.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_Win32Process__ +#define __java_lang_Win32Process__ + +#pragma interface + +#include +#include + + +class java::lang::Win32Process : public ::java::lang::Process +{ + +public: + void destroy(); + jint exitValue(); + ::java::io::InputStream * getErrorStream(); + ::java::io::InputStream * getInputStream(); + ::java::io::OutputStream * getOutputStream(); + jint waitFor(); + Win32Process(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *); +private: + jboolean hasExited(); + void startProcess(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::io::File *); + void cleanup(); + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::lang::Process)))) outputStream; + ::java::io::InputStream * inputStream; + ::java::io::InputStream * errorStream; + jint procHandle; + jint exitCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_Win32Process__ diff --git a/libjava/java/lang/Win32Process.java b/libjava/java/lang/Win32Process.java index b0ef487c204..7d9e40fce4a 100644 --- a/libjava/java/lang/Win32Process.java +++ b/libjava/java/lang/Win32Process.java @@ -1,6 +1,6 @@ // Win32Process.java - Subclass of Process for Win32 systems. -/* Copyright (C) 2002, 2003 Free Software Foundation +/* Copyright (C) 2002, 2003, 2006 Free Software Foundation This file is part of libgcj. @@ -22,9 +22,7 @@ import java.io.IOException; // This is entirely internal to our implementation. -// This file is copied to `ConcreteProcess.java' before compilation. -// Hence the class name apparently does not match the file name. -final class ConcreteProcess extends Process +final class Win32Process extends Process { public native void destroy (); @@ -53,7 +51,7 @@ final class ConcreteProcess extends Process public native int waitFor () throws InterruptedException; - public ConcreteProcess (String[] progarray, + public Win32Process (String[] progarray, String[] envp, File dir) throws IOException diff --git a/libjava/java/lang/annotation/Annotation.h b/libjava/java/lang/annotation/Annotation.h new file mode 100644 index 00000000000..9c9c3d7ab3b --- /dev/null +++ b/libjava/java/lang/annotation/Annotation.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_Annotation__ +#define __java_lang_annotation_Annotation__ + +#pragma interface + +#include + +class java::lang::annotation::Annotation : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * annotationType() = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_annotation_Annotation__ diff --git a/libjava/java/lang/annotation/AnnotationFormatError.h b/libjava/java/lang/annotation/AnnotationFormatError.h new file mode 100644 index 00000000000..f5c43b24151 --- /dev/null +++ b/libjava/java/lang/annotation/AnnotationFormatError.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_AnnotationFormatError__ +#define __java_lang_annotation_AnnotationFormatError__ + +#pragma interface + +#include + +class java::lang::annotation::AnnotationFormatError : public ::java::lang::Error +{ + +public: + AnnotationFormatError(::java::lang::String *); + AnnotationFormatError(::java::lang::String *, ::java::lang::Throwable *); + AnnotationFormatError(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -4256701562333669892LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_annotation_AnnotationFormatError__ diff --git a/libjava/java/lang/annotation/AnnotationTypeMismatchException.h b/libjava/java/lang/annotation/AnnotationTypeMismatchException.h new file mode 100644 index 00000000000..082d9f6a3c7 --- /dev/null +++ b/libjava/java/lang/annotation/AnnotationTypeMismatchException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_AnnotationTypeMismatchException__ +#define __java_lang_annotation_AnnotationTypeMismatchException__ + +#pragma interface + +#include + +class java::lang::annotation::AnnotationTypeMismatchException : public ::java::lang::RuntimeException +{ + +public: + AnnotationTypeMismatchException(::java::lang::reflect::Method *, ::java::lang::String *); + virtual ::java::lang::reflect::Method * element(); + virtual ::java::lang::String * foundType(); +private: + static const jlong serialVersionUID = 8125925355765570191LL; + ::java::lang::reflect::Method * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) element__; + ::java::lang::String * foundType__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_annotation_AnnotationTypeMismatchException__ diff --git a/libjava/java/lang/annotation/Documented.h b/libjava/java/lang/annotation/Documented.h new file mode 100644 index 00000000000..d2a920dc72a --- /dev/null +++ b/libjava/java/lang/annotation/Documented.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_Documented__ +#define __java_lang_annotation_Documented__ + +#pragma interface + +#include + +class java::lang::annotation::Documented : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_annotation_Documented__ diff --git a/libjava/java/lang/annotation/ElementType.h b/libjava/java/lang/annotation/ElementType.h new file mode 100644 index 00000000000..c475967ab5d --- /dev/null +++ b/libjava/java/lang/annotation/ElementType.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_ElementType__ +#define __java_lang_annotation_ElementType__ + +#pragma interface + +#include +#include + + +class java::lang::annotation::ElementType : public ::java::lang::Enum +{ + + ElementType(::java::lang::String *, jint); +public: + static JArray< ::java::lang::annotation::ElementType * > * values(); + static ::java::lang::annotation::ElementType * valueOf(::java::lang::String *); + static ::java::lang::annotation::ElementType * ANNOTATION_TYPE; + static ::java::lang::annotation::ElementType * CONSTRUCTOR; + static ::java::lang::annotation::ElementType * FIELD; + static ::java::lang::annotation::ElementType * LOCAL_VARIABLE; + static ::java::lang::annotation::ElementType * METHOD; + static ::java::lang::annotation::ElementType * PACKAGE; + static ::java::lang::annotation::ElementType * PARAMETER; + static ::java::lang::annotation::ElementType * TYPE; +private: + static const jlong serialVersionUID = 2798216111136361587LL; + static JArray< ::java::lang::annotation::ElementType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_annotation_ElementType__ diff --git a/libjava/java/lang/annotation/IncompleteAnnotationException.h b/libjava/java/lang/annotation/IncompleteAnnotationException.h new file mode 100644 index 00000000000..aff0f7e0b37 --- /dev/null +++ b/libjava/java/lang/annotation/IncompleteAnnotationException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_IncompleteAnnotationException__ +#define __java_lang_annotation_IncompleteAnnotationException__ + +#pragma interface + +#include + +class java::lang::annotation::IncompleteAnnotationException : public ::java::lang::RuntimeException +{ + +public: + IncompleteAnnotationException(::java::lang::Class *, ::java::lang::String *); + virtual ::java::lang::Class * annotationType(); + virtual ::java::lang::String * elementName(); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) annotationType__; + ::java::lang::String * elementName__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_annotation_IncompleteAnnotationException__ diff --git a/libjava/java/lang/annotation/Inherited.h b/libjava/java/lang/annotation/Inherited.h new file mode 100644 index 00000000000..b1ebc883eca --- /dev/null +++ b/libjava/java/lang/annotation/Inherited.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_Inherited__ +#define __java_lang_annotation_Inherited__ + +#pragma interface + +#include + +class java::lang::annotation::Inherited : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_annotation_Inherited__ diff --git a/libjava/java/lang/annotation/Retention.h b/libjava/java/lang/annotation/Retention.h new file mode 100644 index 00000000000..42fb4a542b6 --- /dev/null +++ b/libjava/java/lang/annotation/Retention.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_Retention__ +#define __java_lang_annotation_Retention__ + +#pragma interface + +#include + +class java::lang::annotation::Retention : public ::java::lang::Object +{ + +public: + virtual ::java::lang::annotation::RetentionPolicy * value() = 0; + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_annotation_Retention__ diff --git a/libjava/java/lang/annotation/RetentionPolicy.h b/libjava/java/lang/annotation/RetentionPolicy.h new file mode 100644 index 00000000000..5d642601dc6 --- /dev/null +++ b/libjava/java/lang/annotation/RetentionPolicy.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_RetentionPolicy__ +#define __java_lang_annotation_RetentionPolicy__ + +#pragma interface + +#include +#include + + +class java::lang::annotation::RetentionPolicy : public ::java::lang::Enum +{ + + RetentionPolicy(::java::lang::String *, jint); +public: + static JArray< ::java::lang::annotation::RetentionPolicy * > * values(); + static ::java::lang::annotation::RetentionPolicy * valueOf(::java::lang::String *); + static ::java::lang::annotation::RetentionPolicy * CLASS; + static ::java::lang::annotation::RetentionPolicy * RUNTIME; + static ::java::lang::annotation::RetentionPolicy * SOURCE; +private: + static const jlong serialVersionUID = -1700821648800605045LL; + static JArray< ::java::lang::annotation::RetentionPolicy * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_annotation_RetentionPolicy__ diff --git a/libjava/java/lang/annotation/Target.h b/libjava/java/lang/annotation/Target.h new file mode 100644 index 00000000000..96ac5178821 --- /dev/null +++ b/libjava/java/lang/annotation/Target.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_annotation_Target__ +#define __java_lang_annotation_Target__ + +#pragma interface + +#include +#include + + +class java::lang::annotation::Target : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::annotation::ElementType * > * value() = 0; + virtual ::java::lang::Class * annotationType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_annotation_Target__ diff --git a/libjava/java/lang/instrument/ClassDefinition.h b/libjava/java/lang/instrument/ClassDefinition.h new file mode 100644 index 00000000000..b9106ed8eee --- /dev/null +++ b/libjava/java/lang/instrument/ClassDefinition.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_instrument_ClassDefinition__ +#define __java_lang_instrument_ClassDefinition__ + +#pragma interface + +#include +#include + + +class java::lang::instrument::ClassDefinition : public ::java::lang::Object +{ + +public: + ClassDefinition(::java::lang::Class *, JArray< jbyte > *); + ::java::lang::Class * getDefinitionClass(); + JArray< jbyte > * getDefinitionClassFile(); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) theClass; + JArray< jbyte > * theClassFile; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_instrument_ClassDefinition__ diff --git a/libjava/java/lang/instrument/ClassFileTransformer.h b/libjava/java/lang/instrument/ClassFileTransformer.h new file mode 100644 index 00000000000..cda1510b0a6 --- /dev/null +++ b/libjava/java/lang/instrument/ClassFileTransformer.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_instrument_ClassFileTransformer__ +#define __java_lang_instrument_ClassFileTransformer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class ProtectionDomain; + } + } +} + +class java::lang::instrument::ClassFileTransformer : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * transform(::java::lang::ClassLoader *, ::java::lang::String *, ::java::lang::Class *, ::java::security::ProtectionDomain *, JArray< jbyte > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_instrument_ClassFileTransformer__ diff --git a/libjava/java/lang/instrument/IllegalClassFormatException.h b/libjava/java/lang/instrument/IllegalClassFormatException.h new file mode 100644 index 00000000000..c1b8783e777 --- /dev/null +++ b/libjava/java/lang/instrument/IllegalClassFormatException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_instrument_IllegalClassFormatException__ +#define __java_lang_instrument_IllegalClassFormatException__ + +#pragma interface + +#include + +class java::lang::instrument::IllegalClassFormatException : public ::java::lang::Exception +{ + +public: + IllegalClassFormatException(); + IllegalClassFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3841736710924794009LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_instrument_IllegalClassFormatException__ diff --git a/libjava/java/lang/instrument/Instrumentation.h b/libjava/java/lang/instrument/Instrumentation.h new file mode 100644 index 00000000000..d131d0c6948 --- /dev/null +++ b/libjava/java/lang/instrument/Instrumentation.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_instrument_Instrumentation__ +#define __java_lang_instrument_Instrumentation__ + +#pragma interface + +#include +#include + + +class java::lang::instrument::Instrumentation : public ::java::lang::Object +{ + +public: + virtual void addTransformer(::java::lang::instrument::ClassFileTransformer *) = 0; + virtual jboolean removeTransformer(::java::lang::instrument::ClassFileTransformer *) = 0; + virtual jboolean isRedefineClassesSupported() = 0; + virtual void redefineClasses(JArray< ::java::lang::instrument::ClassDefinition * > *) = 0; + virtual JArray< ::java::lang::Class * > * getAllLoadedClasses() = 0; + virtual JArray< ::java::lang::Class * > * getInitiatedClasses(::java::lang::ClassLoader *) = 0; + virtual jlong getObjectSize(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_instrument_Instrumentation__ diff --git a/libjava/java/lang/instrument/UnmodifiableClassException.h b/libjava/java/lang/instrument/UnmodifiableClassException.h new file mode 100644 index 00000000000..e5fac3cdd41 --- /dev/null +++ b/libjava/java/lang/instrument/UnmodifiableClassException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_instrument_UnmodifiableClassException__ +#define __java_lang_instrument_UnmodifiableClassException__ + +#pragma interface + +#include + +class java::lang::instrument::UnmodifiableClassException : public ::java::lang::Exception +{ + +public: + UnmodifiableClassException(); + UnmodifiableClassException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1716652643585309178LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_instrument_UnmodifiableClassException__ diff --git a/libjava/java/lang/management/ClassLoadingMXBean.h b/libjava/java/lang/management/ClassLoadingMXBean.h new file mode 100644 index 00000000000..371b63d3dd0 --- /dev/null +++ b/libjava/java/lang/management/ClassLoadingMXBean.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_ClassLoadingMXBean__ +#define __java_lang_management_ClassLoadingMXBean__ + +#pragma interface + +#include + +class java::lang::management::ClassLoadingMXBean : public ::java::lang::Object +{ + +public: + virtual jint getLoadedClassCount() = 0; + virtual jlong getTotalLoadedClassCount() = 0; + virtual jlong getUnloadedClassCount() = 0; + virtual jboolean isVerbose() = 0; + virtual void setVerbose(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_ClassLoadingMXBean__ diff --git a/libjava/java/lang/management/CompilationMXBean.h b/libjava/java/lang/management/CompilationMXBean.h new file mode 100644 index 00000000000..bbd1e0a210e --- /dev/null +++ b/libjava/java/lang/management/CompilationMXBean.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_CompilationMXBean__ +#define __java_lang_management_CompilationMXBean__ + +#pragma interface + +#include + +class java::lang::management::CompilationMXBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual jboolean isCompilationTimeMonitoringSupported() = 0; + virtual jlong getTotalCompilationTime() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_CompilationMXBean__ diff --git a/libjava/java/lang/management/GarbageCollectorMXBean.h b/libjava/java/lang/management/GarbageCollectorMXBean.h new file mode 100644 index 00000000000..35222cab065 --- /dev/null +++ b/libjava/java/lang/management/GarbageCollectorMXBean.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_GarbageCollectorMXBean__ +#define __java_lang_management_GarbageCollectorMXBean__ + +#pragma interface + +#include +#include + + +class java::lang::management::GarbageCollectorMXBean : public ::java::lang::Object +{ + +public: + virtual jlong getCollectionCount() = 0; + virtual jlong getCollectionTime() = 0; + virtual JArray< ::java::lang::String * > * getMemoryPoolNames() = 0; + virtual ::java::lang::String * getName() = 0; + virtual jboolean isValid() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_GarbageCollectorMXBean__ diff --git a/libjava/java/lang/management/ManagementFactory.h b/libjava/java/lang/management/ManagementFactory.h new file mode 100644 index 00000000000..a315333be05 --- /dev/null +++ b/libjava/java/lang/management/ManagementFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_ManagementFactory__ +#define __java_lang_management_ManagementFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + } + } +} + +class java::lang::management::ManagementFactory : public ::java::lang::Object +{ + + ManagementFactory(); +public: + static ::java::lang::management::OperatingSystemMXBean * getOperatingSystemMXBean(); + static ::java::lang::management::RuntimeMXBean * getRuntimeMXBean(); + static ::java::lang::management::ClassLoadingMXBean * getClassLoadingMXBean(); + static ::java::lang::management::ThreadMXBean * getThreadMXBean(); + static ::java::lang::management::MemoryMXBean * getMemoryMXBean(); + static ::java::lang::management::CompilationMXBean * getCompilationMXBean(); + static ::java::util::List * getMemoryPoolMXBeans(); + static ::java::util::List * getMemoryManagerMXBeans(); + static ::java::util::List * getGarbageCollectorMXBeans(); + static ::javax::management::MBeanServer * getPlatformMBeanServer(); + static ::java::lang::String * CLASS_LOADING_MXBEAN_NAME; + static ::java::lang::String * COMPILATION_MXBEAN_NAME; + static ::java::lang::String * GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE; + static ::java::lang::String * MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE; + static ::java::lang::String * MEMORY_MXBEAN_NAME; + static ::java::lang::String * MEMORY_POOL_MXBEAN_DOMAIN_TYPE; + static ::java::lang::String * OPERATING_SYSTEM_MXBEAN_NAME; + static ::java::lang::String * RUNTIME_MXBEAN_NAME; + static ::java::lang::String * THREAD_MXBEAN_NAME; +private: + static ::java::lang::management::OperatingSystemMXBean * osBean; + static ::java::lang::management::RuntimeMXBean * runtimeBean; + static ::java::lang::management::ClassLoadingMXBean * classLoadingBean; + static ::java::lang::management::ThreadMXBean * threadBean; + static ::java::lang::management::MemoryMXBean * memoryBean; + static ::java::lang::management::CompilationMXBean * compilationBean; + static ::javax::management::MBeanServer * platformServer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_ManagementFactory__ diff --git a/libjava/java/lang/management/ManagementPermission.h b/libjava/java/lang/management/ManagementPermission.h new file mode 100644 index 00000000000..4ac4a4fef4f --- /dev/null +++ b/libjava/java/lang/management/ManagementPermission.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_ManagementPermission__ +#define __java_lang_management_ManagementPermission__ + +#pragma interface + +#include + +class java::lang::management::ManagementPermission : public ::java::security::BasicPermission +{ + +public: + ManagementPermission(::java::lang::String *); + ManagementPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 1897496590799378737LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_ManagementPermission__ diff --git a/libjava/java/lang/management/MemoryMXBean.h b/libjava/java/lang/management/MemoryMXBean.h new file mode 100644 index 00000000000..2fb70add22e --- /dev/null +++ b/libjava/java/lang/management/MemoryMXBean.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MemoryMXBean__ +#define __java_lang_management_MemoryMXBean__ + +#pragma interface + +#include + +class java::lang::management::MemoryMXBean : public ::java::lang::Object +{ + +public: + virtual void gc() = 0; + virtual ::java::lang::management::MemoryUsage * getHeapMemoryUsage() = 0; + virtual ::java::lang::management::MemoryUsage * getNonHeapMemoryUsage() = 0; + virtual jint getObjectPendingFinalizationCount() = 0; + virtual jboolean isVerbose() = 0; + virtual void setVerbose(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_MemoryMXBean__ diff --git a/libjava/java/lang/management/MemoryManagerMXBean.h b/libjava/java/lang/management/MemoryManagerMXBean.h new file mode 100644 index 00000000000..6509205a9b0 --- /dev/null +++ b/libjava/java/lang/management/MemoryManagerMXBean.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MemoryManagerMXBean__ +#define __java_lang_management_MemoryManagerMXBean__ + +#pragma interface + +#include +#include + + +class java::lang::management::MemoryManagerMXBean : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * getMemoryPoolNames() = 0; + virtual ::java::lang::String * getName() = 0; + virtual jboolean isValid() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_MemoryManagerMXBean__ diff --git a/libjava/java/lang/management/MemoryNotificationInfo.h b/libjava/java/lang/management/MemoryNotificationInfo.h new file mode 100644 index 00000000000..07cfefff3bb --- /dev/null +++ b/libjava/java/lang/management/MemoryNotificationInfo.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MemoryNotificationInfo__ +#define __java_lang_management_MemoryNotificationInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + } + } + } +} + +class java::lang::management::MemoryNotificationInfo : public ::java::lang::Object +{ + +public: + MemoryNotificationInfo(::java::lang::String *, ::java::lang::management::MemoryUsage *, jlong); + static ::java::lang::management::MemoryNotificationInfo * from(::javax::management::openmbean::CompositeData *); + virtual jlong getCount(); + virtual ::java::lang::String * getPoolName(); + virtual ::java::lang::management::MemoryUsage * getUsage(); + static ::java::lang::String * MEMORY_THRESHOLD_EXCEEDED; + static ::java::lang::String * MEMORY_COLLECTION_THRESHOLD_EXCEEDED; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) poolName; + ::java::lang::management::MemoryUsage * usage; + jlong count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_MemoryNotificationInfo__ diff --git a/libjava/java/lang/management/MemoryPoolMXBean.h b/libjava/java/lang/management/MemoryPoolMXBean.h new file mode 100644 index 00000000000..4209d573a9d --- /dev/null +++ b/libjava/java/lang/management/MemoryPoolMXBean.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MemoryPoolMXBean__ +#define __java_lang_management_MemoryPoolMXBean__ + +#pragma interface + +#include +#include + + +class java::lang::management::MemoryPoolMXBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::management::MemoryUsage * getCollectionUsage() = 0; + virtual jlong getCollectionUsageThreshold() = 0; + virtual jlong getCollectionUsageThresholdCount() = 0; + virtual JArray< ::java::lang::String * > * getMemoryManagerNames() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::java::lang::management::MemoryUsage * getPeakUsage() = 0; + virtual ::java::lang::management::MemoryType * getType() = 0; + virtual ::java::lang::management::MemoryUsage * getUsage() = 0; + virtual jlong getUsageThreshold() = 0; + virtual jlong getUsageThresholdCount() = 0; + virtual jboolean isCollectionUsageThresholdExceeded() = 0; + virtual jboolean isCollectionUsageThresholdSupported() = 0; + virtual jboolean isUsageThresholdExceeded() = 0; + virtual jboolean isUsageThresholdSupported() = 0; + virtual jboolean isValid() = 0; + virtual void resetPeakUsage() = 0; + virtual void setCollectionUsageThreshold(jlong) = 0; + virtual void setUsageThreshold(jlong) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_MemoryPoolMXBean__ diff --git a/libjava/java/lang/management/MemoryType.h b/libjava/java/lang/management/MemoryType.h new file mode 100644 index 00000000000..b93587d308a --- /dev/null +++ b/libjava/java/lang/management/MemoryType.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MemoryType__ +#define __java_lang_management_MemoryType__ + +#pragma interface + +#include +#include + + +class java::lang::management::MemoryType : public ::java::lang::Enum +{ + + MemoryType(::java::lang::String *, jint); +public: + static JArray< ::java::lang::management::MemoryType * > * values(); + static ::java::lang::management::MemoryType * valueOf(::java::lang::String *); + static ::java::lang::management::MemoryType * HEAP; + static ::java::lang::management::MemoryType * NON_HEAP; +private: + static JArray< ::java::lang::management::MemoryType * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_MemoryType__ diff --git a/libjava/java/lang/management/MemoryUsage.h b/libjava/java/lang/management/MemoryUsage.h new file mode 100644 index 00000000000..3b126f8183e --- /dev/null +++ b/libjava/java/lang/management/MemoryUsage.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_MemoryUsage__ +#define __java_lang_management_MemoryUsage__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + } + } + } +} + +class java::lang::management::MemoryUsage : public ::java::lang::Object +{ + +public: + MemoryUsage(jlong, jlong, jlong, jlong); + static ::java::lang::management::MemoryUsage * from(::javax::management::openmbean::CompositeData *); + virtual jlong getCommitted(); + virtual jlong getInit(); + virtual jlong getMax(); + virtual jlong getUsed(); + virtual ::java::lang::String * toString(); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) init; + jlong used; + jlong committed; + jlong maximum; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_MemoryUsage__ diff --git a/libjava/java/lang/management/OperatingSystemMXBean.h b/libjava/java/lang/management/OperatingSystemMXBean.h new file mode 100644 index 00000000000..adb562cf516 --- /dev/null +++ b/libjava/java/lang/management/OperatingSystemMXBean.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_OperatingSystemMXBean__ +#define __java_lang_management_OperatingSystemMXBean__ + +#pragma interface + +#include + +class java::lang::management::OperatingSystemMXBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getArch() = 0; + virtual jint getAvailableProcessors() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::java::lang::String * getVersion() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_OperatingSystemMXBean__ diff --git a/libjava/java/lang/management/RuntimeMXBean.h b/libjava/java/lang/management/RuntimeMXBean.h new file mode 100644 index 00000000000..c2666744020 --- /dev/null +++ b/libjava/java/lang/management/RuntimeMXBean.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_RuntimeMXBean__ +#define __java_lang_management_RuntimeMXBean__ + +#pragma interface + +#include + +class java::lang::management::RuntimeMXBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getBootClassPath() = 0; + virtual ::java::lang::String * getClassPath() = 0; + virtual ::java::util::List * getInputArguments() = 0; + virtual ::java::lang::String * getLibraryPath() = 0; + virtual ::java::lang::String * getManagementSpecVersion() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::java::lang::String * getSpecName() = 0; + virtual ::java::lang::String * getSpecVendor() = 0; + virtual ::java::lang::String * getSpecVersion() = 0; + virtual jlong getStartTime() = 0; + virtual ::java::util::Map * getSystemProperties() = 0; + virtual jlong getUptime() = 0; + virtual ::java::lang::String * getVmName() = 0; + virtual ::java::lang::String * getVmVendor() = 0; + virtual ::java::lang::String * getVmVersion() = 0; + virtual jboolean isBootClassPathSupported() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_RuntimeMXBean__ diff --git a/libjava/java/lang/management/ThreadInfo.h b/libjava/java/lang/management/ThreadInfo.h new file mode 100644 index 00000000000..a06b99ce4cc --- /dev/null +++ b/libjava/java/lang/management/ThreadInfo.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_ThreadInfo__ +#define __java_lang_management_ThreadInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + class CompositeType; + class OpenType; + } + } + } +} + +class java::lang::management::ThreadInfo : public ::java::lang::Object +{ + + ThreadInfo(::java::lang::Thread *, jlong, jlong, ::java::lang::Object *, ::java::lang::Thread *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *); + ThreadInfo(jlong, ::java::lang::String *, ::java::lang::Thread$State *, jlong, jlong, ::java::lang::String *, jlong, ::java::lang::String *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *); +public: // actually package-private + static void checkAttribute(::javax::management::openmbean::CompositeType *, ::java::lang::String *, ::javax::management::openmbean::OpenType *); +public: + static ::java::lang::management::ThreadInfo * from(::javax::management::openmbean::CompositeData *); + virtual jlong getBlockedCount(); + virtual jlong getBlockedTime(); + virtual ::java::lang::String * getLockName(); + virtual jlong getLockOwnerId(); + virtual ::java::lang::String * getLockOwnerName(); + virtual JArray< ::java::lang::StackTraceElement * > * getStackTrace(); + virtual jlong getThreadId(); + virtual ::java::lang::String * getThreadName(); + virtual ::java::lang::Thread$State * getThreadState(); + virtual jlong getWaitedCount(); + virtual jlong getWaitedTime(); + virtual jboolean isInNative(); + virtual jboolean isSuspended(); + virtual ::java::lang::String * toString(); +private: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) threadId; + ::java::lang::String * threadName; + ::java::lang::Thread$State * threadState; + jlong blockedCount; + jlong blockedTime; + ::java::lang::String * lockName; + jlong lockOwnerId; + ::java::lang::String * lockOwnerName; + jlong waitedCount; + jlong waitedTime; + jboolean isInNative__; + jboolean isSuspended__; + JArray< ::java::lang::StackTraceElement * > * trace; + static ::java::lang::management::ThreadMXBean * bean; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_ThreadInfo__ diff --git a/libjava/java/lang/management/ThreadMXBean.h b/libjava/java/lang/management/ThreadMXBean.h new file mode 100644 index 00000000000..a160b088149 --- /dev/null +++ b/libjava/java/lang/management/ThreadMXBean.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_ThreadMXBean__ +#define __java_lang_management_ThreadMXBean__ + +#pragma interface + +#include +#include + + +class java::lang::management::ThreadMXBean : public ::java::lang::Object +{ + +public: + virtual JArray< jlong > * findMonitorDeadlockedThreads() = 0; + virtual JArray< jlong > * getAllThreadIds() = 0; + virtual jlong getCurrentThreadCpuTime() = 0; + virtual jlong getCurrentThreadUserTime() = 0; + virtual jint getDaemonThreadCount() = 0; + virtual jint getPeakThreadCount() = 0; + virtual jint getThreadCount() = 0; + virtual jlong getThreadCpuTime(jlong) = 0; + virtual ::java::lang::management::ThreadInfo * getThreadInfo(jlong) = 0; + virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *) = 0; + virtual ::java::lang::management::ThreadInfo * getThreadInfo(jlong, jint) = 0; + virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jint) = 0; + virtual jlong getThreadUserTime(jlong) = 0; + virtual jlong getTotalStartedThreadCount() = 0; + virtual jboolean isCurrentThreadCpuTimeSupported() = 0; + virtual jboolean isThreadContentionMonitoringEnabled() = 0; + virtual jboolean isThreadContentionMonitoringSupported() = 0; + virtual jboolean isThreadCpuTimeEnabled() = 0; + virtual jboolean isThreadCpuTimeSupported() = 0; + virtual void resetPeakThreadCount() = 0; + virtual void setThreadContentionMonitoringEnabled(jboolean) = 0; + virtual void setThreadCpuTimeEnabled(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_management_ThreadMXBean__ diff --git a/libjava/java/lang/management/VMManagementFactory.h b/libjava/java/lang/management/VMManagementFactory.h new file mode 100644 index 00000000000..e712cbfc871 --- /dev/null +++ b/libjava/java/lang/management/VMManagementFactory.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_management_VMManagementFactory__ +#define __java_lang_management_VMManagementFactory__ + +#pragma interface + +#include +#include + + +class java::lang::management::VMManagementFactory : public ::java::lang::Object +{ + +public: // actually package-private + VMManagementFactory(); + static JArray< ::java::lang::String * > * getMemoryPoolNames(); + static JArray< ::java::lang::String * > * getMemoryManagerNames(); + static JArray< ::java::lang::String * > * getGarbageCollectorNames(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_management_VMManagementFactory__ diff --git a/libjava/java/lang/management/VMManagementFactory.java b/libjava/java/lang/management/VMManagementFactory.java index 6a906c730db..f10497014b4 100644 --- a/libjava/java/lang/management/VMManagementFactory.java +++ b/libjava/java/lang/management/VMManagementFactory.java @@ -54,10 +54,7 @@ final class VMManagementFactory * * @return a list of memory pool names. */ - static String[] getMemoryPoolNames() - { - return new String[0]; - } + static native String[] getMemoryPoolNames(); /** * Return a list of the names of the currently available @@ -66,10 +63,7 @@ final class VMManagementFactory * * @return a list of memory manager names. */ - static String[] getMemoryManagerNames() - { - return new String[0]; - } + static native String[] getMemoryManagerNames(); /** * Return a list of the names of the currently available @@ -77,8 +71,5 @@ final class VMManagementFactory * * @return a list of garbage collector names. */ - static String[] getGarbageCollectorNames() - { - return new String[0]; - } + static native String[] getGarbageCollectorNames(); } diff --git a/libjava/java/lang/management/natVMManagementFactory.cc b/libjava/java/lang/management/natVMManagementFactory.cc new file mode 100644 index 00000000000..35a418bb338 --- /dev/null +++ b/libjava/java/lang/management/natVMManagementFactory.cc @@ -0,0 +1,44 @@ +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +/** + * @author Andrew John Hughes + * @date Tue 08 Aug 2006 */ +/* Implemented for our sole pool, the heap, and our sole memory + * manager/garbage collector, Boehm GC. + * Status: Believed complete and correct. + */ + +#include + +#include +#include +#include + +JArray< ::java::lang::String *> * +java::lang::management::VMManagementFactory::getMemoryPoolNames () +{ + return (JArray*) + JvNewObjectArray(1, &java::lang::String::class$, JvNewStringLatin1("Heap")); +} + + +JArray< ::java::lang::String *> * +java::lang::management::VMManagementFactory::getMemoryManagerNames () +{ + return (JArray*) + JvNewObjectArray(0, &java::lang::String::class$, NULL); +} + + +JArray< ::java::lang::String *> * +java::lang::management::VMManagementFactory::getGarbageCollectorNames () +{ + return (JArray*) + JvNewObjectArray(1, &java::lang::String::class$, JvNewStringLatin1("BoehmGC")); +} diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 491faa7989a..cf07e8642fe 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -56,6 +56,21 @@ details. */ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -425,25 +440,6 @@ java::lang::Class::getName (void) return name->toString(); } -JArray * -java::lang::Class::getDeclaredClasses (jboolean /*publicOnly*/) -{ - // Until we have inner classes, it always makes sense to return an - // empty array. - JArray *result - = (JArray *) JvNewObjectArray (0, &java::lang::Class::class$, - NULL); - return result; -} - -jclass -java::lang::Class::getDeclaringClass (void) -{ - // Until we have inner classes, it makes sense to always return - // NULL. - return NULL; -} - JArray * java::lang::Class::getInterfaces (void) { @@ -851,6 +847,738 @@ java::lang::Class::setSigners(JArray *s) +static unsigned char +read_u1 (unsigned char *&p) +{ + return *p++; +} + +static unsigned char +read_u1 (unsigned char *&p, unsigned char *next) +{ + if (next - p < 1) + throw new java::lang::InternalError(); + return *p++; +} + +static unsigned int +read_u2 (unsigned char *&p) +{ + unsigned int b1 = *p++; + unsigned int b2 = *p++; + return (b1 << 8) | b2; +} + +static unsigned int +read_u2 (unsigned char *&p, unsigned char *next) +{ + if (next - p < 2) + throw new java::lang::InternalError(); + return read_u2 (p); +} + +static int +read_4 (unsigned char *&p) +{ + int b1 = *p++; + int b2 = *p++; + int b3 = *p++; + int b4 = *p++; + return (b1 << 24) | (b2 << 16) | (b3 << 8) | b4; +} + +jstring +java::lang::Class::getReflectionSignature (jint /*jv_attr_type*/ type, + jint obj_index) +{ + // We just re-parse the bytecode for this data each time. If + // necessary we can cache results, but I suspect this is not + // performance sensitive. + unsigned char *bytes = reflection_data; + if (bytes == NULL) + return NULL; + while (true) + { + int kind = read_u1 (bytes); + if (kind == JV_DONE_ATTR) + return NULL; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + if (kind != type) + { + bytes = next; + continue; + } + if (type != JV_CLASS_ATTR) + { + unsigned short index = read_u2 (bytes, next); + if (index != obj_index) + { + bytes = next; + continue; + } + } + int nt = read_u1 (bytes, next); + if (nt != JV_SIGNATURE_KIND) + { + bytes = next; + continue; + } + unsigned int cpool_idx = read_u2 (bytes, next); + if (cpool_idx >= (unsigned int) constants.size + || constants.tags[cpool_idx] != JV_CONSTANT_Utf8) + { + // We just ignore errors for now. It isn't clear what is + // best to do here, as an encoding error here means a bug + // either in the compiler or in defineclass.cc. + return NULL; + } + return _Jv_NewStringUtf8Const (constants.data[cpool_idx].utf8); + } +} + +jstring +java::lang::Class::getReflectionSignature (::java::lang::reflect::Constructor *c) +{ + _Jv_Method *meth = _Jv_FromReflectedConstructor (c); + unsigned short meth_index = meth - methods; + return getReflectionSignature (JV_METHOD_ATTR, meth_index); +} + +jstring +java::lang::Class::getReflectionSignature (::java::lang::reflect::Method *m) +{ + _Jv_Method *meth = _Jv_FromReflectedMethod (m); + unsigned short meth_index = meth - methods; + return getReflectionSignature (JV_METHOD_ATTR, meth_index); +} + +jstring +java::lang::Class::getReflectionSignature (::java::lang::reflect::Field *f) +{ + _Jv_Field *fld = _Jv_FromReflectedField (f); + unsigned short fld_index = fld - fields; + return getReflectionSignature (JV_FIELD_ATTR, fld_index); +} + +jstring +java::lang::Class::getClassSignature() +{ + return getReflectionSignature (JV_CLASS_ATTR, 0); +} + +jint +java::lang::Class::getEnclosingMethodData() +{ + unsigned char *bytes = reflection_data; + if (bytes == NULL) + return 0; + while (true) + { + int kind = read_u1 (bytes); + if (kind == JV_DONE_ATTR) + return 0; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + if (kind != JV_CLASS_ATTR) + { + bytes = next; + continue; + } + int type = read_u1 (bytes, next); + if (type != JV_ENCLOSING_METHOD_KIND) + { + bytes = next; + continue; + } + int class_index = read_u2 (bytes, next); + int method_index = read_u2 (bytes, next); + _Jv_word result; + _Jv_storeIndexes (&result, class_index, method_index); + return result.i; + } +} + +jclass +java::lang::Class::getEnclosingClass() +{ + _Jv_word indexes; + indexes.i = getEnclosingMethodData(); + if (indexes.i == 0) + return NULL; + _Jv_ushort class_index, method_index; + _Jv_loadIndexes (&indexes, class_index, method_index); + return _Jv_Linker::resolve_pool_entry (this, class_index).clazz; +} + +::java::lang::reflect::Method * +java::lang::Class::getEnclosingMethod() +{ + _Jv_word indexes; + indexes.i = getEnclosingMethodData(); + if (indexes.i == 0) + return NULL; + _Jv_ushort class_index, method_index; + _Jv_loadIndexes (&indexes, class_index, method_index); + jclass found_class; + _Jv_Method *method = _Jv_Linker::resolve_method_entry (this, found_class, + class_index, + method_index, + false, false); + using namespace java::lang::reflect; + Method *rmethod = new Method (); + rmethod->offset = (char *) method - (char *) found_class->methods; + rmethod->declaringClass = found_class; + return rmethod; +} + +::java::lang::reflect::Constructor * +java::lang::Class::getEnclosingConstructor() +{ + _Jv_word indexes; + indexes.i = getEnclosingMethodData(); + if (indexes.i == 0) + return NULL; + _Jv_ushort class_index, method_index; + _Jv_loadIndexes (&indexes, class_index, method_index); + jclass found_class; + _Jv_Method *method = _Jv_Linker::resolve_method_entry (this, found_class, + class_index, + method_index, + false, false); + using namespace java::lang::reflect; + Constructor *cons = new Constructor (); + cons->offset = (char *) method - (char *) found_class->methods; + cons->declaringClass = this; + return cons; +} + +static void +check_constant (_Jv_Constants *pool, jint cpool_index, jint type) +{ + if (cpool_index <= 0 || cpool_index >= pool->size) + throw new InternalError(JvNewStringLatin1("invalid constant pool index")); + if ((pool->tags[cpool_index] & + ~(JV_CONSTANT_ResolvedFlag|JV_CONSTANT_LazyFlag)) != type) + { + ::java::lang::StringBuffer *sb = new ::java::lang::StringBuffer(); + sb->append(JvNewStringLatin1("expected pool constant ")); + sb->append(type); + sb->append(JvNewStringLatin1(" but got ")); + sb->append(jint (pool->tags[cpool_index])); + throw new InternalError(sb->toString()); + } +} + +// Forward declaration +static ::java::lang::annotation::Annotation * +parseAnnotation(jclass klass, _Jv_Constants *pool, + unsigned char *&bytes, unsigned char *last); + +static jobject +parseAnnotationElement(jclass klass, _Jv_Constants *pool, + unsigned char *&bytes, unsigned char *last) +{ + int tag = read_u1 (bytes, last); + jobject result; + switch (tag) + { + case 'B': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Integer); + result = Byte::valueOf (pool->data[cindex].i); + } + break; + case 'C': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Integer); + result = Character::valueOf (pool->data[cindex].i); + } + break; + case 'S': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Integer); + result = Short::valueOf (pool->data[cindex].i); + } + break; + case 'Z': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Integer); + result = Boolean::valueOf (jboolean (pool->data[cindex].i)); + } + break; + case 'I': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Integer); + result = Integer::valueOf (pool->data[cindex].i); + } + break; + case 'D': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Double); + _Jv_word2 word; + memcpy (&word, &pool->data[cindex], 2 * sizeof (_Jv_word)); + result = Double::valueOf (word.d); + } + break; + case 'F': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Float); + result = Float::valueOf (pool->data[cindex].f); + } + break; + case 'J': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Double); + _Jv_word2 word; + memcpy (&word, &pool->data[cindex], 2 * sizeof (_Jv_word)); + result = Long::valueOf (word.l); + } + break; + case 's': + { + int cindex = read_u2 (bytes, last); + // Despite what the JVM spec says, compilers generate a Utf8 + // constant here, not a String. + check_constant (pool, cindex, JV_CONSTANT_Utf8); + result = pool->data[cindex].utf8->toString(); + } + break; + case 'e': + { + int type_name_index = read_u2 (bytes, last); + check_constant (pool, type_name_index, JV_CONSTANT_Utf8); + int const_name_index = read_u2 (bytes, last); + check_constant (pool, const_name_index, JV_CONSTANT_Utf8); + + _Jv_Utf8Const *u_name = pool->data[type_name_index].utf8; + _Jv_Utf8Const *e_name = pool->data[const_name_index].utf8; + + // FIXME: throw correct exceptions at the correct times. + jclass e_class = _Jv_FindClassFromSignature(u_name->chars(), + klass->getClassLoaderInternal()); + result = ::java::lang::Enum::valueOf(e_class, e_name->toString()); + } + break; + case 'c': + { + int cindex = read_u2 (bytes, last); + check_constant (pool, cindex, JV_CONSTANT_Utf8); + _Jv_Utf8Const *u_name = pool->data[cindex].utf8; + jclass anno_class + = _Jv_FindClassFromSignatureNoException(u_name->chars(), + klass->getClassLoaderInternal()); + // FIXME: not correct: we should lazily do this when trying to + // read the element. This means that + // AnnotationInvocationHandler needs to have a special case. + if (! anno_class) + // FIXME: original exception... + throw new TypeNotPresentException(u_name->toString(), NULL); + result = anno_class; + } + break; + case '@': + result = parseAnnotation (klass, pool, bytes, last); + break; + case '[': + { + int n_array_elts = read_u2 (bytes, last); + jobjectArray aresult = _Jv_NewObjectArray (n_array_elts, + &Object::class$, NULL); + jobject *elts = elements (aresult); + for (int i = 0; i < n_array_elts; ++i) + elts[i] = parseAnnotationElement(klass, pool, bytes, last); + result = aresult; + } + break; + default: + throw new java::lang::InternalError(); + } + return result; +} + +static ::java::lang::annotation::Annotation * +parseAnnotation(jclass klass, _Jv_Constants *pool, + unsigned char *&bytes, unsigned char *last) +{ + int type_index = read_u2 (bytes, last); + check_constant (pool, type_index, JV_CONSTANT_Utf8); + + _Jv_Utf8Const *u_name = pool->data[type_index].utf8; + jclass anno_class = _Jv_FindClassFromSignatureNoException(u_name->chars(), + klass->getClassLoaderInternal()); + // FIXME: what to do if anno_class==NULL? + + ::java::util::HashMap *hmap = new ::java::util::HashMap(); + int npairs = read_u2 (bytes, last); + for (int i = 0; i < npairs; ++i) + { + int name_index = read_u2 (bytes, last); + check_constant (pool, name_index, JV_CONSTANT_Utf8); + jstring name = _Jv_NewStringUtf8Const (pool->data[name_index].utf8); + jobject value = parseAnnotationElement (klass, pool, bytes, last); + // FIXME: any checks needed for name? + hmap->put(name, value); + } + using namespace ::sun::reflect::annotation; + return AnnotationInvocationHandler::create (anno_class, + (::java::util::Map *) hmap); +} + +static jobjectArray +parseAnnotations(jclass klass, _Jv_Constants *pool, + unsigned char *&bytes, unsigned char *last) +{ + int num = read_u2 (bytes, last); + jobjectArray result = _Jv_NewObjectArray (num, + &::java::lang::annotation::Annotation::class$, + NULL); + jobject *elts = elements (result); + for (int i = 0; i < num; ++i) + elts[i] = parseAnnotation(klass, pool, bytes, last); + return result; +} + +static jobjectArray +parseParameterAnnotations(jclass klass, _Jv_Constants *pool, + unsigned char *&bytes, unsigned char *last) +{ + jclass anno = &::java::lang::annotation::Annotation::class$; + jclass annoary = _Jv_GetArrayClass (anno, anno->getClassLoaderInternal()); + + // FIXME: something should check the number of params versus the + // method + int n_params = read_u1 (bytes, last); + jobjectArray result = _Jv_NewObjectArray (n_params, annoary, NULL); + jobject *elts = elements (result); + for (int i = 0; i < n_params; ++i) + elts[i] = parseAnnotations(klass, pool, bytes, last); + return result; +} + +jobject +java::lang::Class::getMethodDefaultValue(::java::lang::reflect::Method *meth) +{ + // FIXME: could cache the value here... + + unsigned char *bytes = reflection_data; + if (bytes == NULL) + return 0; + + unsigned short meth_index = _Jv_FromReflectedMethod (meth) - methods; + + while (true) + { + int type = read_u1 (bytes); + if (type == JV_DONE_ATTR) + return NULL; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + if (type != JV_METHOD_ATTR) + { + bytes = next; + continue; + } + int kind = read_u1 (bytes, next); + if (kind != JV_ANNOTATION_DEFAULT_KIND) + { + bytes = next; + continue; + } + int index = read_u2 (bytes, next); + if (meth_index != index) + { + bytes = next; + continue; + } + + // FIXME: could cache here. If we do then we have to clone any + // array result. + return parseAnnotationElement(this, &this->constants, bytes, next); + } +} + +jobjectArray +java::lang::Class::getDeclaredAnnotations(jint /* jv_attr_type */ member_type, + jint member_index, + jint /* jv_attr_kind */ kind_req) +{ + using namespace java::lang::annotation; + jobjectArray result; + + unsigned char *bytes = reflection_data; + if (bytes == NULL) + return 0; + + ClassLoader *trueLoader = loader; + if (trueLoader == NULL) + trueLoader = (ClassLoader *)VMClassLoader::bootLoader; + + result = (loader->getDeclaredAnnotations + (this, member_type, member_index, kind_req)); + if (result) + return result; + + for (;;) + { + int type = read_u1 (bytes); + if (type == JV_DONE_ATTR) + return NULL; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + if (type != member_type) + { + bytes = next; + continue; + } + int kind = read_u1 (bytes, next); + if (kind != kind_req) + { + bytes = next; + continue; + } + if (member_type != JV_CLASS_ATTR) + { + int index = read_u2 (bytes, next); + if (member_index != index) + { + bytes = next; + continue; + } + } + + if (kind_req == JV_PARAMETER_ANNOTATIONS_KIND) + result = ((parseParameterAnnotations + (this, &this->constants, bytes, next))); + else + result = ((parseAnnotations (this, &this->constants, bytes, next))); + break; + } + + return (loader->putDeclaredAnnotations + (this, member_type, member_index, kind_req, result)); +} + +jobjectArray +java::lang::Class::getDeclaredAnnotations(::java::lang::reflect::Method *meth, + jboolean is_param) +{ + unsigned short meth_index = _Jv_FromReflectedMethod (meth) - methods; + return getDeclaredAnnotations(JV_METHOD_ATTR, meth_index, + (is_param + ? JV_PARAMETER_ANNOTATIONS_KIND + : JV_ANNOTATIONS_KIND)); +} + +jobjectArray +java::lang::Class::getDeclaredAnnotations(::java::lang::reflect::Constructor *cons, + jboolean is_param) +{ + unsigned short meth_index = _Jv_FromReflectedConstructor (cons) - methods; + return getDeclaredAnnotations(JV_METHOD_ATTR, meth_index, + (is_param + ? JV_PARAMETER_ANNOTATIONS_KIND + : JV_ANNOTATIONS_KIND)); +} + +jobjectArray +java::lang::Class::getDeclaredAnnotations(::java::lang::reflect::Field *fld) +{ + unsigned short field_index = _Jv_FromReflectedField (fld) - fields; + return getDeclaredAnnotations(JV_FIELD_ATTR, field_index, + JV_ANNOTATIONS_KIND); +} + +JArray< ::java::lang::annotation::Annotation *> * +java::lang::Class::getDeclaredAnnotationsInternal() +{ + return (JArray< ::java::lang::annotation::Annotation *> *) getDeclaredAnnotations(JV_CLASS_ATTR, 0, JV_ANNOTATIONS_KIND); +} + +static jclass +resolve_class_constant (jclass klass, _Jv_Constants *pool, int cpool_index) +{ + check_constant (pool, cpool_index, JV_CONSTANT_Class); + // FIXME: what is the correct thing to do with an exception here? + return _Jv_Linker::resolve_pool_entry (klass, cpool_index, false).clazz; +} + +jint +java::lang::Class::findInnerClassAttribute() +{ + unsigned char *bytes = reflection_data; + if (bytes == NULL) + return -1; + while (true) + { + int type = read_u1 (bytes); + if (type == JV_DONE_ATTR) + break; + // After the type but before the length. + unsigned char *save = bytes; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + if (type != JV_CLASS_ATTR) + { + bytes = next; + continue; + } + int kind = read_u1 (bytes, next); + if (kind != JV_INNER_CLASSES_KIND) + { + bytes = next; + continue; + } + return save - reflection_data; + } + return -1; +} + +jint +java::lang::Class::findDeclaredClasses(JArray *result, + jboolean publicOnly, + jint offset) +{ + unsigned char *bytes = reflection_data + offset; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + // Skip a byte. + read_u1 (bytes, next); + int n_classes = read_u2 (bytes, next); + int count = 0; + for (int i = 0; i < n_classes; ++i) + { + int inner_class_index = read_u2 (bytes, next); + int outer_class_index = read_u2 (bytes, next); + /*int inner_name_index = */ read_u2 (bytes, next); + int inner_flags = read_u2 (bytes, next); + + if (inner_class_index == 0 || outer_class_index == 0) + continue; + if (resolve_class_constant (this, &constants, outer_class_index) == this) + { + jclass inner = resolve_class_constant (this, &constants, + inner_class_index); + if (! publicOnly + || ((inner_flags + & java::lang::reflect::Modifier::PUBLIC) != 0)) + { + if (result) + { + jclass *elts = elements (result); + elts[count] = inner; + } + ++count; + } + } + } + + return count; +} + +JArray * +java::lang::Class::getDeclaredClasses (jboolean publicOnly) +{ + int offset = findInnerClassAttribute(); + int count; + if (offset == -1) + { + // No InnerClasses attribute, so no declared classes. + count = 0; + } + else + count = findDeclaredClasses(NULL, publicOnly, offset); + JArray *result + = (JArray *) JvNewObjectArray (count, &java::lang::Class::class$, + NULL); + if (count > 0) + findDeclaredClasses(result, publicOnly, offset); + return result; +} + +jclass +java::lang::Class::getDeclaringClass (void) +{ + int offset = findInnerClassAttribute(); + if (offset == -1) + return NULL; + + unsigned char *bytes = reflection_data + offset; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + // Skip a byte. + read_u1 (bytes, next); + int n_classes = read_u2 (bytes, next); + for (int i = 0; i < n_classes; ++i) + { + int inner_class_index = read_u2 (bytes, next); + int outer_class_index = read_u2 (bytes, next); + /*int inner_name_index = */read_u2 (bytes, next); + /*int inner_flags = */read_u2 (bytes, next); + + if (inner_class_index == 0 || outer_class_index == 0) + continue; + if (resolve_class_constant (this, &constants, inner_class_index) == this) + return resolve_class_constant (this, &constants, outer_class_index); + } + + return NULL; +} + +jboolean +java::lang::Class::isAnonymousClass() +{ + int offset = findInnerClassAttribute(); + if (offset == -1) + return false; + + unsigned char *bytes = reflection_data + offset; + int len = read_4 (bytes); + unsigned char *next = bytes + len; + // Skip a byte. + read_u1 (bytes, next); + int n_classes = read_u2 (bytes, next); + for (int i = 0; i < n_classes; ++i) + { + int inner_class_index = read_u2 (bytes, next); + /*int outer_class_index = */read_u2 (bytes, next); + int inner_name_index = read_u2 (bytes, next); + /*int inner_flags = */read_u2 (bytes, next); + + if (inner_class_index == 0) + continue; + if (resolve_class_constant (this, &constants, inner_class_index) == this) + return inner_name_index == 0; + } + + return false; +} + +jboolean +java::lang::Class::isLocalClass() +{ + _Jv_word indexes; + indexes.i = getEnclosingMethodData(); + return indexes.i != 0; +} + +jboolean +java::lang::Class::isMemberClass() +{ + // FIXME: is this correct? + return !isLocalClass() && getDeclaringClass() != NULL; +} + + + // // Some class-related convenience functions. // diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index b05c0b1045b..9c1a6a258ec 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -180,6 +180,41 @@ _Jv_UnregisterInitiatingLoader (jclass klass, java::lang::ClassLoader *loader) // _Jv_RegisterNewClasses() are of Type 2. +// Check that the file we're trying to load has been compiled with a +// compatible version of gcj. In previous versions of libgcj we +// silently failed to register classes of an incompatible ABI version, +// but this was totally bogus. +void +_Jv_CheckABIVersion (unsigned long value) +{ + // We are compatible with GCJ 4.0.0 BC-ABI classes. This release used a + // different format for the version ID string. + if (value == OLD_GCJ_40_BC_ABI_VERSION) + return; + + // The 20 low-end bits are used for the version number. + unsigned long version = value & 0xfffff; + + if (value & FLAG_BINARYCOMPAT_ABI) + { + int abi_rev = version % 100; + int abi_ver = version - abi_rev; + // We are compatible with abi_rev 0 and 1. + if (abi_ver == GCJ_40_BC_ABI_VERSION && abi_rev <= 1) + return; + } + else + { + // C++ ABI + if (version == GCJ_CXX_ABI_VERSION) + return; + } + + throw new ::java::lang::ClassFormatError + (JvNewStringLatin1 ("Library compiled with later ABI version than" + " this version of libgcj supports")); +} + // This function is called many times during startup, before main() is // run. At that point in time we know for certain we are running // single-threaded, so we don't need to lock when adding classes to the @@ -194,8 +229,8 @@ _Jv_RegisterClasses (const jclass *classes) { jclass klass = *classes; - if (_Jv_CheckABIVersion ((unsigned long) klass->next_or_version)) - (*_Jv_RegisterClassHook) (klass); + _Jv_CheckABIVersion ((unsigned long) klass->next_or_version); + (*_Jv_RegisterClassHook) (klass); } } @@ -211,32 +246,37 @@ _Jv_RegisterClasses_Counted (const jclass * classes, size_t count) { jclass klass = classes[i]; - if (_Jv_CheckABIVersion ((unsigned long) klass->next_or_version)) - (*_Jv_RegisterClassHook) (klass); + _Jv_CheckABIVersion ((unsigned long) klass->next_or_version); + (*_Jv_RegisterClassHook) (klass); } } // Create a class on the heap from an initializer struct. -jclass +inline jclass _Jv_NewClassFromInitializer (const char *class_initializer) { + const unsigned long version + = ((unsigned long) + ((::java::lang::Class *)class_initializer)->next_or_version); + _Jv_CheckABIVersion (version); + /* We create an instance of java::lang::Class and copy all of its fields except the first word (the vtable pointer) from CLASS_INITIALIZER. This first word is pre-initialized by _Jv_AllocObj, and we don't want to overwrite it. */ - + jclass new_class - = (jclass)_Jv_AllocObj (sizeof (java::lang::Class), - &java::lang::Class::class$); + = (jclass)_Jv_AllocObj (sizeof (::java::lang::Class), + &::java::lang::Class::class$); const char *src = class_initializer + sizeof (void*); char *dst = (char*)new_class + sizeof (void*); - size_t len = sizeof (*new_class) - sizeof (void*); + size_t len = (::java::lang::Class::initializerSize (version) + - sizeof (void*)); memcpy (dst, src, len); - + new_class->engine = &_Jv_soleIndirectCompiledEngine; - - if (_Jv_CheckABIVersion ((unsigned long) new_class->next_or_version)) - (*_Jv_RegisterClassHook) (new_class); + + (*_Jv_RegisterClassHook) (new_class); return new_class; } diff --git a/libjava/java/lang/natEcosProcess.cc b/libjava/java/lang/natEcosProcess.cc index 9cfb19e702d..7d8edfb0e9c 100644 --- a/libjava/java/lang/natEcosProcess.cc +++ b/libjava/java/lang/natEcosProcess.cc @@ -1,6 +1,6 @@ // natEcosProcess.cc - Native side of eCos processes. -/* Copyright (C) 1998, 1999 Free Software Foundation +/* Copyright (C) 1998, 1999, 2006 Free Software Foundation This file is part of libgcj. @@ -17,9 +17,9 @@ details. */ #include #include -#include +#include void -java::lang::ConcreteProcess::destroy (void) +java::lang::EcosProcess::destroy (void) { } diff --git a/libjava/java/lang/natPosixProcess.cc b/libjava/java/lang/natPosixProcess.cc index 94344fc8e61..498647036c5 100644 --- a/libjava/java/lang/natPosixProcess.cc +++ b/libjava/java/lang/natPosixProcess.cc @@ -27,8 +27,8 @@ details. */ #include #include -#include -#include +#include +#include #include #include #include @@ -98,7 +98,7 @@ sigchld_handler (int) // Get ready to enter the main reaper thread loop. void -java::lang::ConcreteProcess$ProcessManager::init () +java::lang::PosixProcess$ProcessManager::init () { using namespace java::lang; // Remenber our PID so other threads can kill us. @@ -124,7 +124,7 @@ error: } void -java::lang::ConcreteProcess$ProcessManager::waitForSignal () +java::lang::PosixProcess$ProcessManager::waitForSignal () { // Wait for SIGCHLD sigset_t mask; @@ -145,7 +145,7 @@ java::lang::ConcreteProcess$ProcessManager::waitForSignal () return; } -jboolean java::lang::ConcreteProcess$ProcessManager::reap () +jboolean java::lang::PosixProcess$ProcessManager::reap () { using namespace java::lang; @@ -168,7 +168,7 @@ jboolean java::lang::ConcreteProcess$ProcessManager::reap () return true; // No children to wait for. // Look up the process in our pid map. - ConcreteProcess * process = removeProcessFromMap ((jlong) pid); + PosixProcess * process = removeProcessFromMap ((jlong) pid); // Note that if process==NULL, then we have an unknown child. // This is not common, but can happen, and isn't an error. @@ -176,7 +176,7 @@ jboolean java::lang::ConcreteProcess$ProcessManager::reap () { JvSynchronize sync (process); process->status = WIFEXITED (status) ? WEXITSTATUS (status) : -1; - process->state = ConcreteProcess::STATE_TERMINATED; + process->state = PosixProcess::STATE_TERMINATED; process->processTerminationCleanup(); process->notifyAll (); } @@ -187,7 +187,7 @@ error: } void -java::lang::ConcreteProcess$ProcessManager::signalReaper () +java::lang::PosixProcess$ProcessManager::signalReaper () { int c = pthread_kill ((pthread_t) reaperPID, SIGCHLD); if (c == 0) @@ -197,7 +197,7 @@ java::lang::ConcreteProcess$ProcessManager::signalReaper () } void -java::lang::ConcreteProcess::nativeDestroy () +java::lang::PosixProcess::nativeDestroy () { int c = kill ((pid_t) pid, SIGKILL); if (c == 0) @@ -207,7 +207,7 @@ java::lang::ConcreteProcess::nativeDestroy () } void -java::lang::ConcreteProcess::nativeSpawn () +java::lang::PosixProcess::nativeSpawn () { using namespace java::io; diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc index 5cca1b072a3..ecaf7d314a2 100644 --- a/libjava/java/lang/natRuntime.cc +++ b/libjava/java/lang/natRuntime.cc @@ -26,9 +26,13 @@ details. */ #include #include #include -#include #include +// It is convenient and safe to simply include all of these. +#include +#include +#include + #include #ifdef HAVE_PWD_H @@ -286,7 +290,7 @@ java::lang::Runtime::execInternal (jstringArray cmd, jstringArray env, java::io::File *dir) { - return new java::lang::ConcreteProcess (cmd, env, dir); + return new _Jv_platform_process (cmd, env, dir); } jint diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc index facce30fa2e..2472d4d3005 100644 --- a/libjava/java/lang/natThread.cc +++ b/libjava/java/lang/natThread.cc @@ -18,6 +18,8 @@ details. */ #include #include +#include +#include #include #include #include @@ -32,24 +34,6 @@ details. */ -// This structure is used to represent all the data the native side -// needs. An object of this type is assigned to the `data' member of -// the Thread class. -struct natThread -{ - // These are used to interrupt sleep and join calls. We can share a - // condition variable here since it only ever gets notified when the thread - // exits. - _Jv_Mutex_t join_mutex; - _Jv_ConditionVariable_t join_cond; - - // This is private data for the thread system layer. - _Jv_Thread_t *thread; - - // Each thread has its own JNI object. - JNIEnv *jni_env; -}; - static void finalize_native (jobject ptr); // This is called from the constructor to initialize the native side @@ -59,6 +43,9 @@ java::lang::Thread::initialize_native (void) { natThread *nt = (natThread *) _Jv_AllocBytes (sizeof (natThread)); + state = JV_NEW; + nt->alive_flag = THREAD_DEAD; + data = (gnu::gcj::RawDataManaged *) nt; // Register a finalizer to clean up the native thread resources. @@ -66,6 +53,9 @@ java::lang::Thread::initialize_native (void) _Jv_MutexInit (&nt->join_mutex); _Jv_CondInit (&nt->join_cond); + + nt->park_helper.init(); + nt->thread = _Jv_ThreadInitData (this); // FIXME: if JNI_ENV is set we will want to free it. It is // malloc()d. @@ -83,7 +73,9 @@ finalize_native (jobject ptr) #ifdef _Jv_HaveMutexDestroy _Jv_MutexDestroy (&nt->join_mutex); #endif - _Jv_FreeJNIEnv(nt->jni_env); + _Jv_FreeJNIEnv((JNIEnv*)nt->jni_env); + + nt->park_helper.destroy(); } jint @@ -111,14 +103,34 @@ java::lang::Thread::holdsLock (jobject obj) return !_Jv_ObjectCheckMonitor (obj); } +jboolean +java::lang::Thread::isAlive (void) +{ + natThread *nt = (natThread *) data; + return nt->alive_flag != (obj_addr_t)THREAD_DEAD; +} + void java::lang::Thread::interrupt (void) { checkAccess (); + natThread *nt = (natThread *) data; - JvSynchronize sync (this); - if (alive_flag) - _Jv_ThreadInterrupt (nt->thread); + + // If a thread is in state ALIVE, we atomically set it to state + // SIGNALED and send it a signal. Once we've sent it the signal, we + // set its state back to ALIVE. + if (compare_and_swap + (&nt->alive_flag, Thread::THREAD_ALIVE, Thread::THREAD_SIGNALED)) + { + _Jv_ThreadInterrupt (nt->thread); + compare_and_swap + (&nt->alive_flag, THREAD_SIGNALED, Thread::THREAD_ALIVE); + + // Even though we've interrupted this thread, it might still be + // parked. + nt->park_helper.unpark (); + } } void @@ -197,8 +209,10 @@ java::lang::Thread::sleep (jlong millis, jint nanos) void java::lang::Thread::finish_ () { + __sync_synchronize(); natThread *nt = (natThread *) data; + nt->park_helper.deactivate (); group->removeThread (this); #ifdef ENABLE_JVMPI @@ -226,7 +240,8 @@ java::lang::Thread::finish_ () { JvSynchronize sync (this); - alive_flag = false; + nt->alive_flag = THREAD_DEAD; + state = JV_TERMINATED; } _Jv_CondNotifyAll (&nt->join_cond, &nt->join_mutex); @@ -307,7 +322,7 @@ _Jv_ThreadRun (java::lang::Thread* thread) // this results in an uncaught exception, that is ignored. try { - thread->group->uncaughtException (thread, t); + thread->getUncaughtExceptionHandler()->uncaughtException (thread, t); } catch (java::lang::Throwable *f) { @@ -334,9 +349,10 @@ java::lang::Thread::start (void) if (!startable_flag) throw new IllegalThreadStateException; - alive_flag = true; - startable_flag = false; natThread *nt = (natThread *) data; + nt->alive_flag = THREAD_ALIVE; + startable_flag = false; + state = JV_RUNNABLE; _Jv_ThreadStart (this, nt->thread, (_Jv_ThreadStartFunc *) &_Jv_ThreadRun); } @@ -392,13 +408,40 @@ java::lang::Thread::yield (void) _Jv_ThreadYield (); } +::java::lang::Thread$State * +java::lang::Thread::getState() +{ + _Jv_InitClass(&::java::lang::Thread$State::class$); + + switch (state) + { + case JV_BLOCKED: + return ::java::lang::Thread$State::BLOCKED; + case JV_NEW: + return ::java::lang::Thread$State::NEW; + + case JV_RUNNABLE: + return ::java::lang::Thread$State::RUNNABLE; + case JV_TERMINATED: + return ::java::lang::Thread$State::TERMINATED; + case JV_TIMED_WAITING: + return ::java::lang::Thread$State::TIMED_WAITING; + case JV_WAITING: + return ::java::lang::Thread$State::WAITING; + } + + // We don't really need a default, but this makes the compiler + // happy. + return ::java::lang::Thread$State::RUNNABLE; +} + JNIEnv * _Jv_GetCurrentJNIEnv () { java::lang::Thread *t = _Jv_ThreadCurrent (); if (t == NULL) return NULL; - return ((natThread *) t->data)->jni_env; + return (JNIEnv *)((natThread *) t->data)->jni_env; } void @@ -419,8 +462,9 @@ _Jv_AttachCurrentThread(java::lang::Thread* thread) if (thread == NULL || thread->startable_flag == false) return -1; thread->startable_flag = false; - thread->alive_flag = true; natThread *nt = (natThread *) thread->data; + nt->alive_flag = ::java::lang::Thread::THREAD_ALIVE; + thread->state = JV_RUNNABLE; _Jv_ThreadRegister (nt->thread); return 0; } diff --git a/libjava/java/lang/natThreadLocal.cc b/libjava/java/lang/natThreadLocal.cc new file mode 100644 index 00000000000..cd61f4a623f --- /dev/null +++ b/libjava/java/lang/natThreadLocal.cc @@ -0,0 +1,169 @@ +// natThreadLocal.cc - Native part of ThreadLocal class. + +// Fast thread local storage for systems that support the __thread +// variable attribute. + +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +/* We would like to have fast thread local variables that behave in + the same way as C and C++ thread local variables. This would mean + having an field attribute "thread" (like static, final, etc.). + However, this is not compatible with java semantics, which we wish + to support transparently. The problems we must overcome are: + + * In Java, ThreadLocal variables are not statically allocated: they + are objects, created at runtime. + + * Class ThreadLocal is not final and neither are its methods, so it + is possible to create a subclass of ThreadLocal that overrides + any method. + + * __thread variables in DSOs are not visible to the garbage + collector, so we must ensure that we keep a copy of every thread + local variable somewhere on the heap. + + * Once a ThreadLocal instance has been created and assigned to a + static field, that field may be reassigned to a different + ThreadLocal instance or null. + + So, we can't simply replace get() and set() with accesses of a + __thread variable. + + So, we create a pthread_key in each ThreadLocal object and use that + as a kind of "look-aside cache". When a ThreadLocal is set, we + also set the corresponding thread-specific value. When the + ThreadLocal is collected, we delete the key. + + This scheme is biased towards efficiency when get() is called much + more frequently than set(). It is slightly internaler than the + all-Java solution using the underlying map in the set() case. + However, get() is very much more frequently invoked than set(). + +*/ + + +#ifdef _POSIX_PTHREAD_SEMANTICS + +class tls_t +{ +public: + pthread_key_t key; +}; + +void +java::lang::ThreadLocal::constructNative (void) +{ + tls_t *tls = (tls_t *)_Jv_Malloc (sizeof (tls_t)); + if (pthread_key_create (&tls->key, NULL) == 0) + TLSPointer = (::gnu::gcj::RawData *)tls; + else + _Jv_Free (tls); +} + +void +java::lang::ThreadLocal::set (::java::lang::Object *value) +{ + if (TLSPointer != NULL) + { + tls_t* tls = (tls_t*)TLSPointer; + pthread_setspecific (tls->key, value); + } + + internalSet (value); +} + +::java::lang::Object * +java::lang::ThreadLocal::get (void) +{ + if (TLSPointer == NULL) + return internalGet (); + + tls_t* tls = (tls_t*)TLSPointer; + void *obj = pthread_getspecific(tls->key); + + if (obj) + return (::java::lang::Object *)obj; + + ::java::lang::Object *value = internalGet (); + pthread_setspecific (tls->key, value); + + return value; +} + +void +java::lang::ThreadLocal::remove (void) +{ + if (TLSPointer != NULL) + { + tls_t* tls = (tls_t*)TLSPointer; + pthread_setspecific (tls->key, NULL); + } + + internalRemove (); +} + +void +java::lang::ThreadLocal::finalize (void) +{ + if (TLSPointer != NULL) + { + tls_t* tls = (tls_t*)TLSPointer; + pthread_key_delete (tls->key); + _Jv_Free (tls); + } +} + +#else + +void +java::lang::ThreadLocal::constructNative (void) +{ +} + +void +java::lang::ThreadLocal::set (::java::lang::Object *value) +{ + internalSet (value); +} + +::java::lang::Object * +java::lang::ThreadLocal::get (void) +{ + return internalGet (); +} + +void +java::lang::ThreadLocal::remove (void) +{ + internalRemove (); +} + +void +java::lang::ThreadLocal::finalize (void) +{ +} + +#endif diff --git a/libjava/java/lang/natVMClassLoader.cc b/libjava/java/lang/natVMClassLoader.cc index 95c1f15934c..2db2429c927 100644 --- a/libjava/java/lang/natVMClassLoader.cc +++ b/libjava/java/lang/natVMClassLoader.cc @@ -47,6 +47,9 @@ java::lang::VMClassLoader::defineClass (java::lang::ClassLoader *loader, jclass klass = VMCompiler::compileClass(loader, name, data, offset, length, pd); + if (klass) + _Jv_RegisterInitiatingLoader (klass, klass->loader); + #ifdef INTERPRETER if (klass == NULL) { diff --git a/libjava/java/lang/natVMSecurityManager.cc b/libjava/java/lang/natVMSecurityManager.cc deleted file mode 100644 index 9d52c92c7c5..00000000000 --- a/libjava/java/lang/natVMSecurityManager.cc +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2002 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -// Written by Tom Tromey - -#include - -#include -#include -#include - -#include -#include -#include -#include - -JArray * -java::lang::VMSecurityManager::getClassContext (jclass klass) -{ - JArray *result = - _Jv_StackTrace::GetClassContext (klass); - - return result; -} diff --git a/libjava/java/lang/natWin32Process.cc b/libjava/java/lang/natWin32Process.cc index 3c1a4f02c8b..d07f501366b 100644 --- a/libjava/java/lang/natWin32Process.cc +++ b/libjava/java/lang/natWin32Process.cc @@ -1,6 +1,6 @@ // natWin32Process.cc - Native side of Win32 process code. -/* Copyright (C) 2003 Free Software Foundation +/* Copyright (C) 2003, 2006 Free Software Foundation This file is part of libgcj. @@ -14,7 +14,7 @@ details. */ // Conflicts with the definition in "java/lang/reflect/Modifier.h" #undef STRICT -#include +#include #include #include #include @@ -30,7 +30,7 @@ details. */ using gnu::java::nio::channels::FileChannelImpl; void -java::lang::ConcreteProcess::cleanup (void) +java::lang::Win32Process::cleanup (void) { // FIXME: // We used to close the input, output and @@ -42,7 +42,7 @@ java::lang::ConcreteProcess::cleanup (void) // to the POSIX approach. // // What I wanted to do is have private nested - // classes in ConcreteProcess which extend FileInputStream + // classes in Win32Process which extend FileInputStream // and FileOutputStream, respectively, but override // close() to permit multiple calls to close(). This // led to class header and platform configury issues @@ -63,7 +63,7 @@ java::lang::ConcreteProcess::cleanup (void) } void -java::lang::ConcreteProcess::destroy (void) +java::lang::Win32Process::destroy (void) { if (! hasExited ()) { @@ -76,7 +76,7 @@ java::lang::ConcreteProcess::destroy (void) } jboolean -java::lang::ConcreteProcess::hasExited (void) +java::lang::Win32Process::hasExited (void) { DWORD exitStatus; @@ -100,7 +100,7 @@ java::lang::ConcreteProcess::hasExited (void) } jint -java::lang::ConcreteProcess::waitFor (void) +java::lang::Win32Process::waitFor (void) { if (! hasExited ()) { @@ -209,7 +209,7 @@ HANDLE ChildProcessPipe::getChildHandle() } void -java::lang::ConcreteProcess::startProcess (jstringArray progarray, +java::lang::Win32Process::startProcess (jstringArray progarray, jstringArray envp, java::io::File *dir) { diff --git a/libjava/java/lang/ref/PhantomReference.h b/libjava/java/lang/ref/PhantomReference.h new file mode 100644 index 00000000000..0c8a823d4f8 --- /dev/null +++ b/libjava/java/lang/ref/PhantomReference.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ref_PhantomReference__ +#define __java_lang_ref_PhantomReference__ + +#pragma interface + +#include + +class java::lang::ref::PhantomReference : public ::java::lang::ref::Reference +{ + +public: + PhantomReference(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *); + virtual ::java::lang::Object * get(); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ref_PhantomReference__ diff --git a/libjava/java/lang/ref/Reference.h b/libjava/java/lang/ref/Reference.h new file mode 100644 index 00000000000..3eeaf65c645 --- /dev/null +++ b/libjava/java/lang/ref/Reference.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ref_Reference__ +#define __java_lang_ref_Reference__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } +} + +class java::lang::ref::Reference : public ::java::lang::Object +{ + +public: // actually package-private + Reference(::java::lang::Object *); + Reference(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *); +private: + void create(::java::lang::Object *); +public: + virtual ::java::lang::Object * get(); + virtual void clear(); + virtual jboolean isEnqueued(); + virtual jboolean enqueue(); +public: // actually package-private + ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) referent; + ::gnu::gcj::RawData * copy; + jboolean cleared; + ::java::lang::ref::ReferenceQueue * queue; + ::java::lang::ref::Reference * nextOnQueue; + static ::java::lang::Object * lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ref_Reference__ diff --git a/libjava/java/lang/ref/Reference.java b/libjava/java/lang/ref/Reference.java index ab0c55c84ce..a5184cee888 100644 --- a/libjava/java/lang/ref/Reference.java +++ b/libjava/java/lang/ref/Reference.java @@ -1,5 +1,5 @@ /* java.lang.ref.Reference - Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2003, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -70,7 +70,7 @@ package java.lang.ref; * @author Jochen Hoenicke * @see java.util.WeakHashtable */ -public abstract class Reference +public abstract class Reference { /** * The underlying object. This field is handled in a special way by @@ -105,7 +105,7 @@ public abstract class Reference * The queue this reference is registered on. This is null, if this * wasn't registered to any queue or reference was already enqueued. */ - ReferenceQueue queue; + ReferenceQueue queue; /** * Link to the next entry on the queue. If this is null, this @@ -129,7 +129,7 @@ public abstract class Reference * class in a different package. * @param referent the object we refer to. */ - Reference(Object ref) + Reference(T ref) { create (ref); } @@ -142,7 +142,7 @@ public abstract class Reference * @param q the reference queue to register on. * @exception NullPointerException if q is null. */ - Reference(Object ref, ReferenceQueue q) + Reference(T ref, ReferenceQueue q) { if (q == null) throw new NullPointerException(); @@ -153,20 +153,14 @@ public abstract class Reference /** * Notifies the VM that a new Reference has been created. */ - private native void create (Object o); + private native void create (T o); /** * Returns the object, this reference refers to. * @return the object, this reference refers to, or null if the * reference was cleared. */ - public Object get() - { - synchronized (lock) - { - return referent; - } - } + public native T get(); /** * Clears the reference, so that it doesn't refer to its object diff --git a/libjava/java/lang/ref/ReferenceQueue.h b/libjava/java/lang/ref/ReferenceQueue.h new file mode 100644 index 00000000000..bd4a9d8b71d --- /dev/null +++ b/libjava/java/lang/ref/ReferenceQueue.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ref_ReferenceQueue__ +#define __java_lang_ref_ReferenceQueue__ + +#pragma interface + +#include + +class java::lang::ref::ReferenceQueue : public ::java::lang::Object +{ + +public: + ReferenceQueue(); + virtual ::java::lang::ref::Reference * poll(); +public: // actually package-private + virtual jboolean enqueue(::java::lang::ref::Reference *); +private: + ::java::lang::ref::Reference * dequeue(); +public: + virtual ::java::lang::ref::Reference * remove(jlong); + virtual ::java::lang::ref::Reference * remove(); +private: + ::java::lang::ref::Reference * __attribute__((aligned(__alignof__( ::java::lang::Object)))) first; + ::java::lang::Object * lock; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ref_ReferenceQueue__ diff --git a/libjava/java/lang/ref/SoftReference.h b/libjava/java/lang/ref/SoftReference.h new file mode 100644 index 00000000000..faa98e7bd62 --- /dev/null +++ b/libjava/java/lang/ref/SoftReference.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ref_SoftReference__ +#define __java_lang_ref_SoftReference__ + +#pragma interface + +#include + +class java::lang::ref::SoftReference : public ::java::lang::ref::Reference +{ + +public: + SoftReference(::java::lang::Object *); + SoftReference(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *); + virtual ::java::lang::Object * get(); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ref_SoftReference__ diff --git a/libjava/java/lang/ref/WeakReference.h b/libjava/java/lang/ref/WeakReference.h new file mode 100644 index 00000000000..b540274d3f3 --- /dev/null +++ b/libjava/java/lang/ref/WeakReference.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_ref_WeakReference__ +#define __java_lang_ref_WeakReference__ + +#pragma interface + +#include + +class java::lang::ref::WeakReference : public ::java::lang::ref::Reference +{ + +public: + WeakReference(::java::lang::Object *); + WeakReference(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_ref_WeakReference__ diff --git a/libjava/java/lang/ref/natReference.cc b/libjava/java/lang/ref/natReference.cc index 23f435f4def..ac7272cf5c2 100644 --- a/libjava/java/lang/ref/natReference.cc +++ b/libjava/java/lang/ref/natReference.cc @@ -1,6 +1,6 @@ // natReference.cc - Native code for References -/* Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation +/* Copyright (C) 2001, 2002, 2003, 2005, 2006 Free Software Foundation This file is part of libgcj. @@ -368,3 +368,10 @@ void add_to_hash (this); } } + +::java::lang::Object * +::java::lang::ref::Reference::get() +{ + JvSynchronize sync (lock); + return referent; +} diff --git a/libjava/java/lang/reflect/AccessibleObject.h b/libjava/java/lang/reflect/AccessibleObject.h new file mode 100644 index 00000000000..d140e300c58 --- /dev/null +++ b/libjava/java/lang/reflect/AccessibleObject.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_AccessibleObject__ +#define __java_lang_reflect_AccessibleObject__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::AccessibleObject : public ::java::lang::Object +{ + +public: // actually protected + AccessibleObject(); +public: + virtual jboolean isAccessible(); + static void setAccessible(JArray< ::java::lang::reflect::AccessibleObject * > *, jboolean); + virtual void setAccessible(jboolean); +private: + static void checkPermission(); + void secureSetAccessible(jboolean); +public: + virtual ::java::lang::annotation::Annotation * getAnnotation(::java::lang::Class *); + virtual JArray< ::java::lang::annotation::Annotation * > * getAnnotations(); + virtual JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotations(); + virtual jboolean isAnnotationPresent(::java::lang::Class *); +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) flag; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_AccessibleObject__ diff --git a/libjava/java/lang/reflect/AnnotatedElement.h b/libjava/java/lang/reflect/AnnotatedElement.h new file mode 100644 index 00000000000..5792b75e0cc --- /dev/null +++ b/libjava/java/lang/reflect/AnnotatedElement.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_AnnotatedElement__ +#define __java_lang_reflect_AnnotatedElement__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::AnnotatedElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::annotation::Annotation * getAnnotation(::java::lang::Class *) = 0; + virtual JArray< ::java::lang::annotation::Annotation * > * getAnnotations() = 0; + virtual JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotations() = 0; + virtual jboolean isAnnotationPresent(::java::lang::Class *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_AnnotatedElement__ diff --git a/libjava/java/lang/reflect/Array.h b/libjava/java/lang/reflect/Array.h new file mode 100644 index 00000000000..48df7d3fa50 --- /dev/null +++ b/libjava/java/lang/reflect/Array.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Array__ +#define __java_lang_reflect_Array__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::Array : public ::java::lang::Object +{ + + Array(); +public: + static ::java::lang::Object * newInstance(::java::lang::Class *, jint); + static ::java::lang::Object * newInstance(::java::lang::Class *, JArray< jint > *); + static jint getLength(::java::lang::Object *); + static ::java::lang::Object * get(::java::lang::Object *, jint); + static jboolean getBoolean(::java::lang::Object *, jint); + static jbyte getByte(::java::lang::Object *, jint); + static jchar getChar(::java::lang::Object *, jint); + static jshort getShort(::java::lang::Object *, jint); + static jint getInt(::java::lang::Object *, jint); + static jlong getLong(::java::lang::Object *, jint); + static jfloat getFloat(::java::lang::Object *, jint); + static jdouble getDouble(::java::lang::Object *, jint); +private: + static ::java::lang::Class * getElementType(::java::lang::Object *, jint); + static void set(::java::lang::Object *, jint, ::java::lang::Object *, ::java::lang::Class *); +public: + static void set(::java::lang::Object *, jint, ::java::lang::Object *); + static void setBoolean(::java::lang::Object *, jint, jboolean); + static void setByte(::java::lang::Object *, jint, jbyte); + static void setChar(::java::lang::Object *, jint, jchar); + static void setShort(::java::lang::Object *, jint, jshort); + static void setInt(::java::lang::Object *, jint, jint); + static void setLong(::java::lang::Object *, jint, jlong); + static void setFloat(::java::lang::Object *, jint, jfloat); + static void setDouble(::java::lang::Object *, jint, jdouble); + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Array__ diff --git a/libjava/java/lang/reflect/Constructor.h b/libjava/java/lang/reflect/Constructor.h new file mode 100644 index 00000000000..5a200bc114d --- /dev/null +++ b/libjava/java/lang/reflect/Constructor.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Constructor__ +#define __java_lang_reflect_Constructor__ + +#pragma interface + +#include +#include + + +jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *); +jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean); + +class java::lang::reflect::Constructor : public ::java::lang::reflect::AccessibleObject +{ + + Constructor(); +public: + ::java::lang::Class * getDeclaringClass(); + ::java::lang::String * getName(); +private: + jint getModifiersInternal(); +public: + jint getModifiers(); + jboolean isSynthetic(); + jboolean isVarArgs(); + JArray< ::java::lang::Class * > * getParameterTypes(); + JArray< ::java::lang::Class * > * getExceptionTypes(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +public: // actually package-private + static void addTypeParameters(::java::lang::StringBuilder *, JArray< ::java::lang::reflect::TypeVariable * > *); +public: + ::java::lang::String * toGenericString(); + ::java::lang::Object * newInstance(JArray< ::java::lang::Object * > *); + JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters(); +private: + ::java::lang::String * getSignature(); +public: + JArray< ::java::lang::reflect::Type * > * getGenericExceptionTypes(); + JArray< ::java::lang::reflect::Type * > * getGenericParameterTypes(); + ::java::lang::annotation::Annotation * getAnnotation(::java::lang::Class *); + JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotations(); + JArray< JArray< ::java::lang::annotation::Annotation * > * > * getParameterAnnotations(); +private: + JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotationsInternal(); + JArray< JArray< ::java::lang::annotation::Annotation * > * > * getParameterAnnotationsInternal(); + void getType(); + static const jint CONSTRUCTOR_MODIFIERS = 7; + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::reflect::AccessibleObject)))) declaringClass; + JArray< ::java::lang::Class * > * exception_types; + JArray< ::java::lang::Class * > * parameter_types; + jint offset; +public: + static ::java::lang::Class class$; + + friend jmethodID (::_Jv_FromReflectedConstructor) (java::lang::reflect::Constructor *); + friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean); + friend class java::lang::Class; +}; + +#endif // __java_lang_reflect_Constructor__ diff --git a/libjava/java/lang/reflect/Constructor.java b/libjava/java/lang/reflect/Constructor.java index 68b2d3985cf..83aae3b48ce 100644 --- a/libjava/java/lang/reflect/Constructor.java +++ b/libjava/java/lang/reflect/Constructor.java @@ -40,6 +40,7 @@ exception statement from your version. */ package java.lang.reflect; import gnu.java.lang.reflect.MethodSignatureParser; +import java.lang.annotation.Annotation; /** * The Constructor class represents a constructor of a class. It also allows @@ -75,7 +76,7 @@ import gnu.java.lang.reflect.MethodSignatureParser; * @since 1.1 * @status updated to 1.4 */ -public final class Constructor extends AccessibleObject +public final class Constructor extends AccessibleObject implements Member, GenericDeclaration { private static final int CONSTRUCTOR_MODIFIERS @@ -92,7 +93,7 @@ public final class Constructor extends AccessibleObject * Gets the class that declared this constructor. * @return the class that declared this member */ - public Class getDeclaringClass() + public Class getDeclaringClass () { return declaringClass; } @@ -235,8 +236,8 @@ public final class Constructor extends AccessibleObject return b.toString(); } - /* FIXME[GENERICS]: Add X extends GenericDeclaration and TypeVariable */ - static void addTypeParameters(StringBuilder sb, TypeVariable[] typeArgs) + static + void addTypeParameters(StringBuilder sb, TypeVariable[] typeArgs) { if (typeArgs.length == 0) return; @@ -320,8 +321,7 @@ public final class Constructor extends AccessibleObject * specification, version 3. * @since 1.5 */ - /* FIXME[GENERICS]: Add > */ - public TypeVariable[] getTypeParameters() + public TypeVariable>[] getTypeParameters() { String sig = getSignature(); if (sig == null) @@ -334,11 +334,7 @@ public final class Constructor extends AccessibleObject * Return the String in the Signature attribute for this constructor. If there * is no Signature attribute, return null. */ - private String getSignature() - { - // FIXME: libgcj doesn't record this information yet. - return null; - } + private native String getSignature(); /** * Returns an array of Type objects that represents @@ -382,11 +378,41 @@ public final class Constructor extends AccessibleObject return p.getGenericParameterTypes(); } + public T getAnnotation(Class annoClass) + { + Annotation[] annos = getDeclaredAnnotations(); + for (int i = 0; i < annos.length; ++i) + if (annos[i].annotationType() == annoClass) + return (T) annos[i]; + return null; + } + + public Annotation[] getDeclaredAnnotations() + { + Annotation[] result = getDeclaredAnnotationsInternal(); + if (result == null) + result = new Annotation[0]; + return result; + } + + public Annotation[][] getParameterAnnotations() + { + // FIXME: should check that we have the right number + // of parameters ...? + Annotation[][] result = getParameterAnnotationsInternal(); + if (result == null) + result = new Annotation[0][0]; + return result; + } + + private native Annotation[] getDeclaredAnnotationsInternal(); + private native Annotation[][] getParameterAnnotationsInternal(); + // Update cached values from method descriptor in class. private native void getType (); // Declaring class. - private Class declaringClass; + private Class declaringClass; // Exception types. private Class[] exception_types; diff --git a/libjava/java/lang/reflect/Field.h b/libjava/java/lang/reflect/Field.h new file mode 100644 index 00000000000..3e39fb2bad1 --- /dev/null +++ b/libjava/java/lang/reflect/Field.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Field__ +#define __java_lang_reflect_Field__ + +#pragma interface + +#include +#include + + +jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *); +jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean); + +class java::lang::reflect::Field : public ::java::lang::reflect::AccessibleObject +{ + +public: // actually package-private + Field(); +public: + ::java::lang::Class * getDeclaringClass(); + ::java::lang::String * getName(); +private: + jint getModifiersInternal(); +public: + jint getModifiers(); + jboolean isSynthetic(); + jboolean isEnumConstant(); + ::java::lang::Class * getType(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); + ::java::lang::String * toGenericString(); + ::java::lang::Object * get(::java::lang::Object *); + jboolean getBoolean(::java::lang::Object *); + jbyte getByte(::java::lang::Object *); + jchar getChar(::java::lang::Object *); + jshort getShort(::java::lang::Object *); + jint getInt(::java::lang::Object *); + jlong getLong(::java::lang::Object *); + jfloat getFloat(::java::lang::Object *); + jdouble getDouble(::java::lang::Object *); +private: + jboolean getBoolean(::java::lang::Class *, ::java::lang::Object *); + jchar getChar(::java::lang::Class *, ::java::lang::Object *); + jbyte getByte(::java::lang::Class *, ::java::lang::Object *); + jshort getShort(::java::lang::Class *, ::java::lang::Object *); + jint getInt(::java::lang::Class *, ::java::lang::Object *); + jlong getLong(::java::lang::Class *, ::java::lang::Object *); + jfloat getFloat(::java::lang::Class *, ::java::lang::Object *); + jdouble getDouble(::java::lang::Class *, ::java::lang::Object *); + ::java::lang::Object * get(::java::lang::Class *, ::java::lang::Object *); +public: + void set(::java::lang::Object *, ::java::lang::Object *); + void setBoolean(::java::lang::Object *, jboolean); + void setByte(::java::lang::Object *, jbyte); + void setChar(::java::lang::Object *, jchar); + void setShort(::java::lang::Object *, jshort); + void setInt(::java::lang::Object *, jint); + void setLong(::java::lang::Object *, jlong); + void setFloat(::java::lang::Object *, jfloat); + void setDouble(::java::lang::Object *, jdouble); + ::java::lang::reflect::Type * getGenericType(); + ::java::lang::annotation::Annotation * getAnnotation(::java::lang::Class *); + JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotations(); +private: + JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotationsInternal(); + ::java::lang::String * getSignature(); +public: // actually package-private + void setByte(::java::lang::Class *, ::java::lang::Object *, jbyte, jboolean); + void setShort(::java::lang::Class *, ::java::lang::Object *, jshort, jboolean); + void setInt(::java::lang::Class *, ::java::lang::Object *, jint, jboolean); + void setLong(::java::lang::Class *, ::java::lang::Object *, jlong, jboolean); + void setFloat(::java::lang::Class *, ::java::lang::Object *, jfloat, jboolean); + void setDouble(::java::lang::Class *, ::java::lang::Object *, jdouble, jboolean); + void setChar(::java::lang::Class *, ::java::lang::Object *, jchar, jboolean); + void setBoolean(::java::lang::Class *, ::java::lang::Object *, jboolean, jboolean); + void set(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::lang::Class *, jboolean); +private: + void set(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::reflect::AccessibleObject)))) declaringClass; + ::java::lang::String * name; + jint offset; + ::java::lang::Class * type; +public: // actually package-private + static const jint FIELD_MODIFIERS = 223; +public: + static ::java::lang::Class class$; + + friend jfieldID (::_Jv_FromReflectedField) (java::lang::reflect::Field *); + friend jobject (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean); + friend class java::lang::Class; +}; + +#endif // __java_lang_reflect_Field__ diff --git a/libjava/java/lang/reflect/Field.java b/libjava/java/lang/reflect/Field.java index 134ff132ecf..61db14df576 100644 --- a/libjava/java/lang/reflect/Field.java +++ b/libjava/java/lang/reflect/Field.java @@ -41,6 +41,7 @@ package java.lang.reflect; import gnu.java.lang.ClassHelper; import gnu.java.lang.reflect.FieldSignatureParser; +import java.lang.annotation.Annotation; /** * The Field class represents a member variable of a class. It also allows @@ -88,7 +89,7 @@ public final class Field // The Class (or primitive TYPE) of this field. private Class type; - private static final int FIELD_MODIFIERS + static final int FIELD_MODIFIERS = Modifier.FINAL | Modifier.PRIVATE | Modifier.PROTECTED | Modifier.PUBLIC | Modifier.STATIC | Modifier.TRANSIENT | Modifier.VOLATILE; @@ -104,7 +105,7 @@ public final class Field * is a non-inherited member. * @return the class that declared this member */ - public Class getDeclaringClass() + public Class getDeclaringClass() { return declaringClass; } @@ -158,7 +159,7 @@ public final class Field * Gets the type of this field. * @return the type of this field */ - public native Class getType(); + public native Class getType(); /** * Compare two objects to see if they are semantically equivalent. @@ -733,15 +734,30 @@ public final class Field return p.getFieldType(); } + public T getAnnotation(Class annoClass) + { + Annotation[] annos = getDeclaredAnnotations(); + for (int i = 0; i < annos.length; ++i) + if (annos[i].annotationType() == annoClass) + return (T) annos[i]; + return null; + } + + public Annotation[] getDeclaredAnnotations() + { + Annotation[] result = getDeclaredAnnotationsInternal(); + if (result == null) + result = new Annotation[0]; + return result; + } + + private native Annotation[] getDeclaredAnnotationsInternal(); + /** * Return the String in the Signature attribute for this field. If there * is no Signature attribute, return null. */ - private String getSignature() - { - // FIXME: libgcj doesn't record Signature attributes yet. - return null; - } + private native String getSignature(); native void setByte (Class caller, Object obj, byte b, boolean checkFinal) throws IllegalArgumentException, IllegalAccessException; diff --git a/libjava/java/lang/reflect/GenericArrayType.h b/libjava/java/lang/reflect/GenericArrayType.h new file mode 100644 index 00000000000..cdeb0b2a328 --- /dev/null +++ b/libjava/java/lang/reflect/GenericArrayType.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_GenericArrayType__ +#define __java_lang_reflect_GenericArrayType__ + +#pragma interface + +#include + +class java::lang::reflect::GenericArrayType : public ::java::lang::Object +{ + +public: + virtual ::java::lang::reflect::Type * getGenericComponentType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_GenericArrayType__ diff --git a/libjava/java/lang/reflect/GenericDeclaration.h b/libjava/java/lang/reflect/GenericDeclaration.h new file mode 100644 index 00000000000..5c484ea96ea --- /dev/null +++ b/libjava/java/lang/reflect/GenericDeclaration.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_GenericDeclaration__ +#define __java_lang_reflect_GenericDeclaration__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::GenericDeclaration : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_GenericDeclaration__ diff --git a/libjava/java/lang/reflect/GenericSignatureFormatError.h b/libjava/java/lang/reflect/GenericSignatureFormatError.h new file mode 100644 index 00000000000..c46c9264ad3 --- /dev/null +++ b/libjava/java/lang/reflect/GenericSignatureFormatError.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_GenericSignatureFormatError__ +#define __java_lang_reflect_GenericSignatureFormatError__ + +#pragma interface + +#include + +class java::lang::reflect::GenericSignatureFormatError : public ::java::lang::ClassFormatError +{ + +public: + GenericSignatureFormatError(); +private: + static const jlong serialVersionUID = 6709919147137911034LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_GenericSignatureFormatError__ diff --git a/libjava/java/lang/reflect/InvocationHandler.h b/libjava/java/lang/reflect/InvocationHandler.h new file mode 100644 index 00000000000..7221953217a --- /dev/null +++ b/libjava/java/lang/reflect/InvocationHandler.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_InvocationHandler__ +#define __java_lang_reflect_InvocationHandler__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::InvocationHandler : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_InvocationHandler__ diff --git a/libjava/java/lang/reflect/InvocationTargetException.h b/libjava/java/lang/reflect/InvocationTargetException.h new file mode 100644 index 00000000000..37e229c2957 --- /dev/null +++ b/libjava/java/lang/reflect/InvocationTargetException.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_InvocationTargetException__ +#define __java_lang_reflect_InvocationTargetException__ + +#pragma interface + +#include + +class java::lang::reflect::InvocationTargetException : public ::java::lang::Exception +{ + +public: // actually protected + InvocationTargetException(); +public: + InvocationTargetException(::java::lang::Throwable *); + InvocationTargetException(::java::lang::Throwable *, ::java::lang::String *); + virtual ::java::lang::Throwable * getTargetException(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = 4085088731926701167LL; + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) target; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_InvocationTargetException__ diff --git a/libjava/java/lang/reflect/MalformedParameterizedTypeException.h b/libjava/java/lang/reflect/MalformedParameterizedTypeException.h new file mode 100644 index 00000000000..a48f669c0c1 --- /dev/null +++ b/libjava/java/lang/reflect/MalformedParameterizedTypeException.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_MalformedParameterizedTypeException__ +#define __java_lang_reflect_MalformedParameterizedTypeException__ + +#pragma interface + +#include + +class java::lang::reflect::MalformedParameterizedTypeException : public ::java::lang::RuntimeException +{ + +public: + MalformedParameterizedTypeException(); +private: + static const jlong serialVersionUID = -5696557788586220964LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_MalformedParameterizedTypeException__ diff --git a/libjava/java/lang/reflect/Member.h b/libjava/java/lang/reflect/Member.h new file mode 100644 index 00000000000..9e3522be0d6 --- /dev/null +++ b/libjava/java/lang/reflect/Member.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Member__ +#define __java_lang_reflect_Member__ + +#pragma interface + +#include + +class java::lang::reflect::Member : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getDeclaringClass() = 0; + virtual ::java::lang::String * getName() = 0; + virtual jint getModifiers() = 0; + virtual jboolean isSynthetic() = 0; + static const jint DECLARED = 1; + static const jint PUBLIC = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_Member__ diff --git a/libjava/java/lang/reflect/Method.h b/libjava/java/lang/reflect/Method.h new file mode 100644 index 00000000000..7d4b46d3e27 --- /dev/null +++ b/libjava/java/lang/reflect/Method.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Method__ +#define __java_lang_reflect_Method__ + +#pragma interface + +#include +#include + + +jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *); +jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean); + +class java::lang::reflect::Method : public ::java::lang::reflect::AccessibleObject +{ + + Method(); +public: + ::java::lang::Class * getDeclaringClass(); + ::java::lang::String * getName(); +private: + jint getModifiersInternal(); +public: + jint getModifiers(); + jboolean isBridge(); + jboolean isSynthetic(); + jboolean isVarArgs(); + ::java::lang::Class * getReturnType(); + JArray< ::java::lang::Class * > * getParameterTypes(); + JArray< ::java::lang::Class * > * getExceptionTypes(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); + ::java::lang::String * toGenericString(); + ::java::lang::Object * invoke(::java::lang::Object *, JArray< ::java::lang::Object * > *); + JArray< ::java::lang::reflect::TypeVariable * > * getTypeParameters(); +private: + ::java::lang::String * getSignature(); +public: + JArray< ::java::lang::reflect::Type * > * getGenericExceptionTypes(); + JArray< ::java::lang::reflect::Type * > * getGenericParameterTypes(); + ::java::lang::reflect::Type * getGenericReturnType(); + ::java::lang::Object * getDefaultValue(); + ::java::lang::annotation::Annotation * getAnnotation(::java::lang::Class *); + JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotations(); + JArray< JArray< ::java::lang::annotation::Annotation * > * > * getParameterAnnotations(); +private: + JArray< ::java::lang::annotation::Annotation * > * getDeclaredAnnotationsInternal(); + JArray< JArray< ::java::lang::annotation::Annotation * > * > * getParameterAnnotationsInternal(); + void getType(); +public: // actually package-private + static void appendClassName(::java::lang::StringBuffer *, ::java::lang::Class *); + static const jint METHOD_MODIFIERS = 3391; +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::reflect::AccessibleObject)))) declaringClass; +public: // actually package-private + JArray< ::java::lang::Class * > * exception_types; +private: + ::java::lang::String * name; +public: // actually package-private + JArray< ::java::lang::Class * > * parameter_types; + ::java::lang::Class * return_type; +private: + jint offset; +public: + static ::java::lang::Class class$; + + friend jmethodID (::_Jv_FromReflectedMethod) (java::lang::reflect::Method *); + friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean); + friend class java::lang::Class; + friend class java::io::ObjectInputStream; +}; + +#endif // __java_lang_reflect_Method__ diff --git a/libjava/java/lang/reflect/Method.java b/libjava/java/lang/reflect/Method.java index 3142d64944f..fc0bf106440 100644 --- a/libjava/java/lang/reflect/Method.java +++ b/libjava/java/lang/reflect/Method.java @@ -12,6 +12,7 @@ package java.lang.reflect; import gnu.gcj.RawData; import gnu.java.lang.reflect.MethodSignatureParser; +import java.lang.annotation.Annotation; /** * The Method class represents a member method of a class. It also allows @@ -50,7 +51,7 @@ import gnu.java.lang.reflect.MethodSignatureParser; public final class Method extends AccessibleObject implements Member, GenericDeclaration { - private static final int METHOD_MODIFIERS + static final int METHOD_MODIFIERS = Modifier.ABSTRACT | Modifier.FINAL | Modifier.NATIVE | Modifier.PRIVATE | Modifier.PROTECTED | Modifier.PUBLIC | Modifier.STATIC | Modifier.STRICT | Modifier.SYNCHRONIZED; @@ -132,7 +133,7 @@ public final class Method * Gets the return type of this method. * @return the type of this method */ - public Class getReturnType () + public Class getReturnType () { if (return_type == null) getType(); @@ -145,11 +146,11 @@ public final class Method * * @return a list of the types of the method's parameters */ - public Class[] getParameterTypes () + public Class[] getParameterTypes () { if (parameter_types == null) getType(); - return (Class[]) parameter_types.clone(); + return (Class[]) parameter_types.clone(); } /** @@ -159,11 +160,11 @@ public final class Method * * @return a list of the types in the method's throws clause */ - public Class[] getExceptionTypes () + public Class[] getExceptionTypes () { if (exception_types == null) getType(); - return (Class[]) exception_types.clone(); + return (Class[]) exception_types.clone(); } /** @@ -309,7 +310,7 @@ public final class Method * @throws ExceptionInInitializerError if accessing a static method triggered * class initialization, which then failed */ - public native Object invoke (Object obj, Object[] args) + public native Object invoke (Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException; @@ -325,8 +326,7 @@ public final class Method * specification, version 3. * @since 1.5 */ - /* FIXME[GENERICS]: Should be TypeVariable[] */ - public TypeVariable[] getTypeParameters() + public TypeVariable[] getTypeParameters() { String sig = getSignature(); if (sig == null) @@ -339,11 +339,7 @@ public final class Method * Return the String in the Signature attribute for this method. If there * is no Signature attribute, return null. */ - private String getSignature() - { - // FIXME: libgcj doesn't record this information yet. - return null; - } + private native String getSignature(); /** * Returns an array of Type objects that represents @@ -405,6 +401,49 @@ public final class Method return p.getGenericReturnType(); } + /** + * If this method is an annotation method, returns the default + * value for the method. If there is no default value, or if the + * method is not a member of an annotation type, returns null. + * Primitive types are wrapped. + * + * @throws TypeNotPresentException if the method returns a Class, + * and the class cannot be found + * + * @since 1.5 + */ + public native Object getDefaultValue(); + + public T getAnnotation(Class annoClass) + { + Annotation[] annos = getDeclaredAnnotations(); + for (int i = 0; i < annos.length; ++i) + if (annos[i].annotationType() == annoClass) + return (T) annos[i]; + return null; + } + + public Annotation[] getDeclaredAnnotations() + { + Annotation[] result = getDeclaredAnnotationsInternal(); + if (result == null) + result = new Annotation[0]; + return result; + } + + public Annotation[][] getParameterAnnotations() + { + // FIXME: should check that we have the right number + // of parameters ...? + Annotation[][] result = getParameterAnnotationsInternal(); + if (result == null) + result = new Annotation[0][0]; + return result; + } + + private native Annotation[] getDeclaredAnnotationsInternal(); + private native Annotation[][] getParameterAnnotationsInternal(); + private native void getType (); // Append a class name to a string buffer. We try to print the @@ -431,13 +470,13 @@ public final class Method private Class declaringClass; // Exception types. - private Class[] exception_types; + Class[] exception_types; // Name cache. (Initially null.) private String name; // Parameter types. - private Class[] parameter_types; + Class[] parameter_types; // Return type. - private Class return_type; + Class return_type; // Offset in bytes from the start of declaringClass's methods array. private int offset; diff --git a/libjava/java/lang/reflect/Modifier.h b/libjava/java/lang/reflect/Modifier.h new file mode 100644 index 00000000000..4ee474a9500 --- /dev/null +++ b/libjava/java/lang/reflect/Modifier.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Modifier__ +#define __java_lang_reflect_Modifier__ + +#pragma interface + +#include + +class java::lang::reflect::Modifier : public ::java::lang::Object +{ + +public: + Modifier(); + static jboolean isAbstract(jint); + static jboolean isFinal(jint); + static jboolean isInterface(jint); + static jboolean isNative(jint); + static jboolean isPrivate(jint); + static jboolean isProtected(jint); + static jboolean isPublic(jint); + static jboolean isStatic(jint); + static jboolean isStrict(jint); + static jboolean isSynchronized(jint); + static jboolean isTransient(jint); + static jboolean isVolatile(jint); + static ::java::lang::String * toString(jint); +public: // actually package-private + static ::java::lang::StringBuilder * toString(jint, ::java::lang::StringBuilder *); + static ::java::lang::StringBuffer * toString(jint, ::java::lang::StringBuffer *); +public: + static const jint PUBLIC = 1; + static const jint PRIVATE = 2; + static const jint PROTECTED = 4; + static const jint STATIC = 8; + static const jint FINAL = 16; + static const jint SYNCHRONIZED = 32; + static const jint VOLATILE = 64; + static const jint TRANSIENT = 128; + static const jint NATIVE = 256; + static const jint INTERFACE = 512; + static const jint ABSTRACT = 1024; + static const jint STRICT = 2048; +public: // actually package-private + static const jint SUPER = 32; + static const jint ALL_FLAGS = 4095; + static const jint BRIDGE = 64; + static const jint VARARGS = 128; + static const jint SYNTHETIC = 4096; + static const jint ENUM = 16384; + static const jint INVISIBLE = 32768; + static const jint INTERPRETED = 4096; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Modifier__ diff --git a/libjava/java/lang/reflect/ParameterizedType.h b/libjava/java/lang/reflect/ParameterizedType.h new file mode 100644 index 00000000000..dab9ad953b6 --- /dev/null +++ b/libjava/java/lang/reflect/ParameterizedType.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_ParameterizedType__ +#define __java_lang_reflect_ParameterizedType__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::ParameterizedType : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::reflect::Type * > * getActualTypeArguments() = 0; + virtual ::java::lang::reflect::Type * getOwnerType() = 0; + virtual ::java::lang::reflect::Type * getRawType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_ParameterizedType__ diff --git a/libjava/java/lang/reflect/Proxy$ClassFactory.h b/libjava/java/lang/reflect/Proxy$ClassFactory.h new file mode 100644 index 00000000000..c4cfb883d4c --- /dev/null +++ b/libjava/java/lang/reflect/Proxy$ClassFactory.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Proxy$ClassFactory__ +#define __java_lang_reflect_Proxy$ClassFactory__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::Proxy$ClassFactory : public ::java::lang::Object +{ + +public: // actually package-private + Proxy$ClassFactory(::java::lang::reflect::Proxy$ProxyData *); +private: + void emitMethod(jint, JArray< ::java::lang::Class * > *); +public: // actually package-private + ::java::lang::Class * generate(::java::lang::ClassLoader *); +private: + void putU1(jint); + void putU2(jint); + void putU4(jint); + void putConst(jint); + void putLoad(jint, ::java::lang::Class *); + ::java::lang::String * wrapper(::java::lang::Class *); + jchar utf8Info(::java::lang::String *); + jchar classInfo(::java::lang::String *); + jchar classInfo(::java::lang::Class *); + jchar refInfo(jbyte, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + jchar nameAndTypeInfo(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * toUtf8(::java::lang::String *); + jchar poolIndex(::java::lang::String *); + static const jbyte FIELD = 1; + static const jbyte METHOD = 2; + static const jbyte INTERFACE = 3; + static ::java::lang::String * CTOR_SIG; + static ::java::lang::String * INVOKE_SIG; + static const jchar ACONST_NULL = 1; + static const jchar ICONST_0 = 3; + static const jchar BIPUSH = 16; + static const jchar SIPUSH = 17; + static const jchar ILOAD = 21; + static const jchar ILOAD_0 = 26; + static const jchar ALOAD_0 = 42; + static const jchar ALOAD_1 = 43; + static const jchar AALOAD = 50; + static const jchar AASTORE = 83; + static const jchar DUP = 89; + static const jchar DUP_X1 = 90; + static const jchar SWAP = 95; + static const jchar IRETURN = 172; + static const jchar LRETURN = 173; + static const jchar FRETURN = 174; + static const jchar DRETURN = 175; + static const jchar ARETURN = 176; + static const jchar RETURN = 177; + static const jchar GETSTATIC = 178; + static const jchar GETFIELD = 180; + static const jchar INVOKEVIRTUAL = 182; + static const jchar INVOKESPECIAL = 183; + static const jchar INVOKEINTERFACE = 185; + static const jchar NEW = 187; + static const jchar ANEWARRAY = 189; + static const jchar ATHROW = 191; + static const jchar CHECKCAST = 192; + ::java::lang::StringBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pool; + ::java::lang::StringBuffer * stream; + ::java::util::Map * poolEntries; + ::java::lang::String * qualName; + JArray< ::java::lang::reflect::Method * > * methods; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Proxy$ClassFactory__ diff --git a/libjava/java/lang/reflect/Proxy$ProxyData.h b/libjava/java/lang/reflect/Proxy$ProxyData.h new file mode 100644 index 00000000000..2c0d91e5e5a --- /dev/null +++ b/libjava/java/lang/reflect/Proxy$ProxyData.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Proxy$ProxyData__ +#define __java_lang_reflect_Proxy$ProxyData__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::Proxy$ProxyData : public ::java::lang::Object +{ + +public: // actually package-private + Proxy$ProxyData(); +private: + static ::java::lang::String * getPackage(::java::lang::Class *); +public: // actually package-private + static ::java::lang::reflect::Proxy$ProxyData * getProxyData(::java::lang::reflect::Proxy$ProxyType *); +private: + static jboolean isCoreObjectMethod(::java::lang::reflect::Method *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pack; + JArray< ::java::lang::Class * > * interfaces; + JArray< ::java::lang::reflect::Method * > * methods; + JArray< JArray< ::java::lang::Class * > * > * exceptions; +private: + static jint count; +public: // actually package-private + jint id; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Proxy$ProxyData__ diff --git a/libjava/java/lang/reflect/Proxy$ProxySignature.h b/libjava/java/lang/reflect/Proxy$ProxySignature.h new file mode 100644 index 00000000000..ae0f028deb0 --- /dev/null +++ b/libjava/java/lang/reflect/Proxy$ProxySignature.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Proxy$ProxySignature__ +#define __java_lang_reflect_Proxy$ProxySignature__ + +#pragma interface + +#include + +class java::lang::reflect::Proxy$ProxySignature : public ::java::lang::Object +{ + +public: // actually package-private + Proxy$ProxySignature(::java::lang::reflect::Method *); + void checkCompatibility(::java::lang::reflect::Proxy$ProxySignature *); +public: + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + static ::java::util::HashMap * coreMethods; + ::java::lang::reflect::Method * __attribute__((aligned(__alignof__( ::java::lang::Object)))) method; + ::java::util::Set * exceptions; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Proxy$ProxySignature__ diff --git a/libjava/java/lang/reflect/Proxy$ProxyType.h b/libjava/java/lang/reflect/Proxy$ProxyType.h new file mode 100644 index 00000000000..da7653539f4 --- /dev/null +++ b/libjava/java/lang/reflect/Proxy$ProxyType.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Proxy$ProxyType__ +#define __java_lang_reflect_Proxy$ProxyType__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::Proxy$ProxyType : public ::java::lang::Object +{ + +public: // actually package-private + Proxy$ProxyType(::java::lang::ClassLoader *, JArray< ::java::lang::Class * > *); +public: + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader; + JArray< ::java::lang::Class * > * interfaces; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Proxy$ProxyType__ diff --git a/libjava/java/lang/reflect/Proxy.h b/libjava/java/lang/reflect/Proxy.h new file mode 100644 index 00000000000..4dad2cffd2d --- /dev/null +++ b/libjava/java/lang/reflect/Proxy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Proxy__ +#define __java_lang_reflect_Proxy__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::Proxy : public ::java::lang::Object +{ + +public: // actually protected + Proxy(::java::lang::reflect::InvocationHandler *); +public: + static ::java::lang::Class * getProxyClass(::java::lang::ClassLoader *, JArray< ::java::lang::Class * > *); + static ::java::lang::Object * newProxyInstance(::java::lang::ClassLoader *, JArray< ::java::lang::Class * > *, ::java::lang::reflect::InvocationHandler *); + static jboolean isProxyClass(::java::lang::Class *); + static ::java::lang::reflect::InvocationHandler * getInvocationHandler(::java::lang::Object *); +private: + static const jlong serialVersionUID = -2222568056686623797LL; + static ::java::util::Map * proxyClasses; +public: // actually protected + ::java::lang::reflect::InvocationHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) h; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_Proxy__ diff --git a/libjava/java/lang/reflect/ReflectPermission.h b/libjava/java/lang/reflect/ReflectPermission.h new file mode 100644 index 00000000000..0e6a7c32e79 --- /dev/null +++ b/libjava/java/lang/reflect/ReflectPermission.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_ReflectPermission__ +#define __java_lang_reflect_ReflectPermission__ + +#pragma interface + +#include + +class java::lang::reflect::ReflectPermission : public ::java::security::BasicPermission +{ + +public: + ReflectPermission(::java::lang::String *); + ReflectPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 7412737110241507485LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_ReflectPermission__ diff --git a/libjava/java/lang/reflect/Type.h b/libjava/java/lang/reflect/Type.h new file mode 100644 index 00000000000..55c317fa425 --- /dev/null +++ b/libjava/java/lang/reflect/Type.h @@ -0,0 +1,18 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_Type__ +#define __java_lang_reflect_Type__ + +#pragma interface + +#include + +class java::lang::reflect::Type : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_Type__ diff --git a/libjava/java/lang/reflect/TypeVariable.h b/libjava/java/lang/reflect/TypeVariable.h new file mode 100644 index 00000000000..6029c01903d --- /dev/null +++ b/libjava/java/lang/reflect/TypeVariable.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_TypeVariable__ +#define __java_lang_reflect_TypeVariable__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::TypeVariable : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::reflect::Type * > * getBounds() = 0; + virtual ::java::lang::reflect::GenericDeclaration * getGenericDeclaration() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_TypeVariable__ diff --git a/libjava/java/lang/reflect/UndeclaredThrowableException.h b/libjava/java/lang/reflect/UndeclaredThrowableException.h new file mode 100644 index 00000000000..01b969b0e43 --- /dev/null +++ b/libjava/java/lang/reflect/UndeclaredThrowableException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_UndeclaredThrowableException__ +#define __java_lang_reflect_UndeclaredThrowableException__ + +#pragma interface + +#include + +class java::lang::reflect::UndeclaredThrowableException : public ::java::lang::RuntimeException +{ + +public: + UndeclaredThrowableException(::java::lang::Throwable *); + UndeclaredThrowableException(::java::lang::Throwable *, ::java::lang::String *); + virtual ::java::lang::Throwable * getUndeclaredThrowable(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = 330127114055056639LL; + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) undeclaredThrowable; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_UndeclaredThrowableException__ diff --git a/libjava/java/lang/reflect/VMProxy.h b/libjava/java/lang/reflect/VMProxy.h new file mode 100644 index 00000000000..e48e8e4e875 --- /dev/null +++ b/libjava/java/lang/reflect/VMProxy.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_VMProxy__ +#define __java_lang_reflect_VMProxy__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::VMProxy : public ::java::lang::Object +{ + +public: // actually package-private + VMProxy(); + static ::java::lang::Class * getProxyClass(::java::lang::ClassLoader *, JArray< ::java::lang::Class * > *); + static ::java::lang::reflect::Proxy$ProxyData * getProxyData(::java::lang::ClassLoader *, JArray< ::java::lang::Class * > *); + static ::java::lang::Class * generateProxyClass(::java::lang::ClassLoader *, ::java::lang::reflect::Proxy$ProxyData *); + static jboolean HAVE_NATIVE_GET_PROXY_CLASS; + static jboolean HAVE_NATIVE_GET_PROXY_DATA; + static jboolean HAVE_NATIVE_GENERATE_PROXY_CLASS; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_lang_reflect_VMProxy__ diff --git a/libjava/java/lang/reflect/VMProxy.java b/libjava/java/lang/reflect/VMProxy.java index b3641cf17d9..ea1c8850625 100644 --- a/libjava/java/lang/reflect/VMProxy.java +++ b/libjava/java/lang/reflect/VMProxy.java @@ -65,7 +65,7 @@ final class VMProxy * If this is true, HAVE_NATIVE_GET_PROXY_CLASS should be false. * @see java.lang.reflect.Proxy */ - static boolean HAVE_NATIVE_GENERATE_PROXY_CLASS = false; + static boolean HAVE_NATIVE_GENERATE_PROXY_CLASS = true; /** * Optional native method to replace (and speed up) the pure Java @@ -136,8 +136,5 @@ final class VMProxy * @see #getProxyClass(ClassLoader, Class[]) * @see ProxyData#generateProxyClass(ClassLoader) */ - static Class generateProxyClass(ClassLoader loader, Proxy.ProxyData data) - { - return null; - } + static native Class generateProxyClass(ClassLoader loader, Proxy.ProxyData data); } diff --git a/libjava/java/lang/reflect/WildcardType.h b/libjava/java/lang/reflect/WildcardType.h new file mode 100644 index 00000000000..2c5b93d65e7 --- /dev/null +++ b/libjava/java/lang/reflect/WildcardType.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_lang_reflect_WildcardType__ +#define __java_lang_reflect_WildcardType__ + +#pragma interface + +#include +#include + + +class java::lang::reflect::WildcardType : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::reflect::Type * > * getLowerBounds() = 0; + virtual JArray< ::java::lang::reflect::Type * > * getUpperBounds() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_lang_reflect_WildcardType__ diff --git a/libjava/java/lang/reflect/natConstructor.cc b/libjava/java/lang/reflect/natConstructor.cc index 35cf7f817ef..953d86dd411 100644 --- a/libjava/java/lang/reflect/natConstructor.cc +++ b/libjava/java/lang/reflect/natConstructor.cc @@ -23,12 +23,33 @@ details. */ #include #include +typedef JArray< ::java::lang::annotation::Annotation * > * anno_a_t; +typedef JArray< JArray< ::java::lang::annotation::Annotation * > *> * anno_aa_t; + jint java::lang::reflect::Constructor::getModifiersInternal () { return _Jv_FromReflectedConstructor (this)->accflags; } +jstring +java::lang::reflect::Constructor::getSignature() +{ + return declaringClass->getReflectionSignature (this); +} + +anno_a_t +java::lang::reflect::Constructor::getDeclaredAnnotationsInternal() +{ + return (anno_a_t) declaringClass->getDeclaredAnnotations(this, false); +} + +anno_aa_t +java::lang::reflect::Constructor::getParameterAnnotationsInternal() +{ + return (anno_aa_t) declaringClass->getDeclaredAnnotations(this, true); +} + void java::lang::reflect::Constructor::getType () { diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc index 487f62ab0e2..b107ab851b7 100644 --- a/libjava/java/lang/reflect/natField.cc +++ b/libjava/java/lang/reflect/natField.cc @@ -29,12 +29,26 @@ details. */ #include #include +typedef JArray< ::java::lang::annotation::Annotation * > * anno_a_t; + jint java::lang::reflect::Field::getModifiersInternal () { return _Jv_FromReflectedField (this)->flags; } +jstring +java::lang::reflect::Field::getSignature() +{ + return declaringClass->getReflectionSignature (this); +} + +anno_a_t +java::lang::reflect::Field::getDeclaredAnnotationsInternal() +{ + return (anno_a_t) declaringClass->getDeclaredAnnotations(this); +} + jstring java::lang::reflect::Field::getName () { diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc index eb7170a02be..6dcd4ec518a 100644 --- a/libjava/java/lang/reflect/natMethod.cc +++ b/libjava/java/lang/reflect/natMethod.cc @@ -48,6 +48,11 @@ details. */ #include #endif +typedef JArray< ::java::lang::annotation::Annotation * > * anno_a_t; +typedef JArray< JArray< ::java::lang::annotation::Annotation * > *> * anno_aa_t; + + + struct cpair { jclass prim; @@ -188,6 +193,30 @@ java::lang::reflect::Method::getModifiersInternal () return _Jv_FromReflectedMethod (this)->accflags; } +jstring +java::lang::reflect::Method::getSignature() +{ + return declaringClass->getReflectionSignature (this); +} + +jobject +java::lang::reflect::Method::getDefaultValue() +{ + return declaringClass->getMethodDefaultValue(this); +} + +anno_a_t +java::lang::reflect::Method::getDeclaredAnnotationsInternal() +{ + return (anno_a_t) declaringClass->getDeclaredAnnotations(this, false); +} + +anno_aa_t +java::lang::reflect::Method::getParameterAnnotationsInternal() +{ + return (anno_aa_t) declaringClass->getDeclaredAnnotations(this, true); +} + jstring java::lang::reflect::Method::getName () { diff --git a/libjava/java/lang/reflect/natVMProxy.cc b/libjava/java/lang/reflect/natVMProxy.cc new file mode 100644 index 00000000000..8d803a85971 --- /dev/null +++ b/libjava/java/lang/reflect/natVMProxy.cc @@ -0,0 +1,394 @@ +// natVMProxy.cc -- Implementation of VMProxy methods. + +/* Copyright (C) 2006 + Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +// The idea of behind this code is to utilize libffi's ability to +// create closures to provide a fast "cut-through" way to generate +// proxy classes. Instead of generating bytecode and then +// interpreting that, we copy the method definitions for each of the +// methods we're supposed to be prxying and generate a libffi closure +// for each one. + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + + +using namespace java::lang::reflect; +using namespace java::lang; + +typedef void (*closure_fun) (ffi_cif*, void*, void**, void*); +static void *ncode (_Jv_Method *self, closure_fun fun, Method *meth); +static void run_proxy (ffi_cif*, void*, void**, void*); + +typedef jobject invoke_t (jobject, Proxy *, Method *, JArray< jobject > *); + +// True if pc points to a proxy frame. + +bool +_Jv_is_proxy (void *pc) +{ + return pc == UNWRAP_FUNCTION_DESCRIPTOR ((void*)&run_proxy); +} + +// Generate a proxy class by using libffi closures for each entry +// point. + +jclass +java::lang::reflect::VMProxy::generateProxyClass + (ClassLoader *loader, Proxy$ProxyData *d) +{ + // If we're precompiling, generate bytecode and allow VMCompiler to + // precompile it. + if (VMCompiler::precompiles ()) + return (new Proxy$ClassFactory(d))->generate(loader); + + jclass klass = new Class (); + klass->superclass = &Proxy::class$; + klass->engine = &_Jv_soleIndirectCompiledEngine; + klass->size_in_bytes = Proxy::class$.size_in_bytes; + klass->vtable_method_count = -1; + + // Synchronize on the class, so that it is not attempted initialized + // until we're done. + JvSynchronize sync (klass); + + // Record the defining loader. For the bootstrap class loader, + // we record NULL. + if (loader != VMClassLoader::bootLoader) + klass->loader = loader; + + { + StringBuffer *sb = new StringBuffer(); + sb->append(JvNewStringLatin1 ("$Proxy")); + sb->append(Integer::toString (d->id)); + klass->name = _Jv_makeUtf8Const (sb->toString()); + } + + // Allocate space for the interfaces. + klass->interface_count = d->interfaces->length; + klass->interfaces = (jclass*) _Jv_AllocRawObj (klass->interface_count + *sizeof (jclass)); + for (int i = 0; i < klass->interface_count; i++) + klass->interfaces[i] = elements(d->interfaces)[i]; + + size_t count = d->methods->length; + + { + size_t total_count = count + Proxy::class$.method_count + 1; + if (total_count >= 65536) + throw new IllegalArgumentException (); + // Allocate space for the methods. This is a worst case + // estimate. + klass->methods + = (_Jv_Method *) _Jv_AllocRawObj (sizeof (_Jv_Method) + * total_count); + } + + jshort &method_count = klass->method_count; + + // Copy all reachable methods from Proxy. + for (int i = 0; i < Proxy::class$.method_count; i++) + { + if (_Jv_CheckAccess (klass, &Proxy::class$, + Proxy::class$.methods[i].accflags)) + { + klass->methods[method_count] = Proxy::class$.methods[i]; + method_count++; + } + } + + _Jv_Method *init_method + = (_Jv_Linker::search_method_in_class + (klass, klass, + _Jv_makeUtf8Const (""), + _Jv_makeUtf8Const ("(Ljava.lang.reflect.InvocationHandler;)V"), + false)); + init_method->accflags |= Modifier::PUBLIC; + + // Create the methods for all of the interfaces. + for (size_t i = 0; i < count; i++) + { + _Jv_Method &method = klass->methods[method_count++]; + const _Jv_Method &imethod = *_Jv_FromReflectedMethod (elements(d->methods)[i]); + // We use a shallow copy of IMETHOD rather than a deep copy; + // this means that the pointer fields of METHOD point into the + // interface. As long as this subclass of Proxy is reachable, + // the interfaces of which it is a proxy will also be reachable, + // so this is safe. + method = imethod; + method.ncode = ncode (&method, run_proxy, elements(d->methods)[i]); + method.accflags &= ~Modifier::ABSTRACT; + } + + _Jv_Linker::layout_vtable_methods (klass); + _Jv_RegisterInitiatingLoader (klass, klass->loader); + + return klass; +} + + +// Box things with primitive types. +static inline jobject +box (void *thing, jclass klass, FFI_TYPE type) +{ + jobject o; + + switch (type) + { + case FFI_TYPE_VOID: + return NULL; + + case FFI_TYPE_POINTER: + o = *(jobject*)thing; + return o; + + default: + ; + } + + if (klass == JvPrimClass (byte)) + o = new Byte (*(jbyte*)thing); + else if (klass == JvPrimClass (short)) + o = new Short (*(jshort*)thing); + else if (klass == JvPrimClass (int)) + o = new Integer (*(jint*)thing); + else if (klass == JvPrimClass (long)) + o = new Long (*(jlong*)thing); + else if (klass == JvPrimClass (float)) + o = new Float (*(jfloat*)thing); + else if (klass == JvPrimClass (double)) + o = new Double (*(jdouble*)thing); + else if (klass == JvPrimClass (boolean)) + o = new Boolean (*(jboolean*)thing); + else if (klass == JvPrimClass (char)) + o = new Character (*(jchar*)thing); + else + JvFail ("Bad ffi type in proxy"); + + return o; +} + + +// Unbox things with primitive types. +static inline void +unbox (jobject o, jclass klass, void *rvalue, FFI_TYPE type) +{ + switch (type) + { + case FFI_TYPE_VOID: + return; + + case FFI_TYPE_POINTER: + _Jv_CheckCast (klass, o); + *(jobject*)rvalue = o; + return; + + default: + ; + } + + // If the value returned ... is null and the interface method's + // return type is primitive, then a NullPointerException will be + // thrown ... + if (klass == JvPrimClass (byte)) + { + _Jv_CheckCast (&Byte::class$, o); + *(jbyte*)rvalue = ((Byte*)o)->byteValue(); + } + else if (klass == JvPrimClass (short)) + { + _Jv_CheckCast (&Short::class$, o); + *(jshort*)rvalue = ((Short*)o)->shortValue(); + } + else if (klass == JvPrimClass (int)) + { + _Jv_CheckCast (&Integer::class$, o); + *(jint*)rvalue = ((Integer*)o)->intValue(); + } + else if (klass == JvPrimClass (long)) + { + _Jv_CheckCast (&Long::class$, o); + *(jlong*)rvalue = ((Long*)o)->longValue(); + } + else if (klass == JvPrimClass (float)) + { + _Jv_CheckCast (&Float::class$, o); + *(jfloat*)rvalue = ((Float*)o)->floatValue(); + } + else if (klass == JvPrimClass (double)) + { + _Jv_CheckCast (&Double::class$, o); + *(jdouble*)rvalue = ((Double*)o)->doubleValue(); + } + else if (klass == JvPrimClass (boolean)) + { + _Jv_CheckCast (&Boolean::class$, o); + *(jboolean*)rvalue = ((Boolean*)o)->booleanValue(); + } + else if (klass == JvPrimClass (char)) + { + _Jv_CheckCast (&Character::class$, o); + *(jchar*)rvalue = ((Character*)o)->charValue(); + } + else + JvFail ("Bad ffi type in proxy"); +} + + +// run_proxy is the entry point for all proxy methods. It boxes up +// all the arguments and then invokes the invocation handler's invoke() +// method. Exceptions are caught and propagated. + +typedef struct { + ffi_closure closure; + ffi_cif cif; + Method *meth; + _Jv_Method *self; + ffi_type *arg_types[0]; +} ncode_closure; + +static void +run_proxy (ffi_cif *cif, + void *rvalue, + void **args, + void*user_data) +{ + Proxy *proxy = *(Proxy**)args[0]; + ncode_closure *self = (ncode_closure *) user_data; + + // FRAME_DESC registers this particular invocation as the top-most + // interpreter frame. This lets the stack tracing code (for + // Throwable) print information about the Proxy being run rather + // than about Proxy.class itself. FRAME_DESC has a destructor so it + // cleans up automatically when this proxy invocation returns. + Thread *thread = Thread::currentThread(); + _Jv_InterpFrame frame_desc (self->self, thread, proxy->getClass()); + + InvocationHandler *handler = proxy->h; + void *poo + = _Jv_NewObjectArray (self->meth->parameter_types->length, &Object::class$, NULL); + JArray *argsArray = (JArray *) poo; + jobject *jargs = elements(argsArray); + + // FIXME: It must be possible to use fast interface dispatch here, + // but I've not quite figured out how to do it. + invoke_t *invoke + = (invoke_t *)(_Jv_LookupInterfaceMethod + (handler->getClass (), + _Jv_makeUtf8Const ("invoke"), + (_Jv_makeUtf8Const + ("(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)" + "Ljava.lang.Object;")))); + + // Copy and box all the args. + int index = 1; + for (int i = 0; i < self->meth->parameter_types->length; i++, index++) + jargs[i] = box (args[index], elements(self->meth->parameter_types)[i], + cif->arg_types[index]->type); + + jobject ret; + try + { + ret = invoke (handler, proxy, self->meth, argsArray); + } + catch (Throwable *t) + { + if (_Jv_IsInstanceOf (t, &RuntimeException::class$) + || _Jv_IsInstanceOf (t, &Error::class$)) + throw t; + + Class **throwables = elements (self->meth->exception_types); + for (int i = 0; i < self->meth->exception_types->length; i++) + if (_Jv_IsInstanceOf (t, throwables[i])) + throw t; + + throw new UndeclaredThrowableException (t); + } + + unbox (ret, self->meth->return_type, rvalue, cif->rtype->type); +} + + +// Given a method and a closure function, create libffi CIF and return +// the address of its closure. + +static void * +ncode (_Jv_Method *self, closure_fun fun, Method *meth) +{ + using namespace java::lang::reflect; + + jboolean staticp = (self->accflags & Modifier::STATIC) != 0; + int arg_count = _Jv_count_arguments (self->signature, staticp); + + ncode_closure *closure = + (ncode_closure*)_Jv_AllocBytes (sizeof (ncode_closure) + + arg_count * sizeof (ffi_type*)); + + _Jv_init_cif (self->signature, + arg_count, + staticp, + &closure->cif, + &closure->arg_types[0], + NULL); + closure->meth = meth; + closure->self = self; + + JvAssert ((self->accflags & Modifier::NATIVE) == 0); + + ffi_prep_closure (&closure->closure, + &closure->cif, + fun, + (void*)closure); + + self->ncode = (void*)closure; + return self->ncode; +} diff --git a/libjava/java/math/BigDecimal.h b/libjava/java/math/BigDecimal.h new file mode 100644 index 00000000000..72b877e85f4 --- /dev/null +++ b/libjava/java/math/BigDecimal.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_math_BigDecimal__ +#define __java_math_BigDecimal__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + class BigInteger; + class MathContext; + class RoundingMode; + } + } +} + +class java::math::BigDecimal : public ::java::lang::Number +{ + +public: + BigDecimal(jint); + BigDecimal(jint, ::java::math::MathContext *); + BigDecimal(jlong); + BigDecimal(jlong, ::java::math::MathContext *); + BigDecimal(::java::math::BigInteger *, ::java::math::MathContext *); + BigDecimal(::java::lang::String *, ::java::math::MathContext *); + BigDecimal(::java::math::BigInteger *); + BigDecimal(::java::math::BigInteger *, jint); + BigDecimal(::java::math::BigInteger *, jint, ::java::math::MathContext *); + BigDecimal(jdouble, ::java::math::MathContext *); + BigDecimal(jdouble); + BigDecimal(JArray< jchar > *, jint, jint, ::java::math::MathContext *); + BigDecimal(JArray< jchar > *, ::java::math::MathContext *); + BigDecimal(JArray< jchar > *); + BigDecimal(JArray< jchar > *, jint, jint); + BigDecimal(::java::lang::String *); + static ::java::math::BigDecimal * valueOf(jlong); + static ::java::math::BigDecimal * valueOf(jlong, jint); + virtual ::java::math::BigDecimal * add(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * add(::java::math::BigDecimal *, ::java::math::MathContext *); + virtual ::java::math::BigDecimal * subtract(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * subtract(::java::math::BigDecimal *, ::java::math::MathContext *); + virtual ::java::math::BigDecimal * multiply(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * multiply(::java::math::BigDecimal *, ::java::math::MathContext *); + virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, jint); + virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, jint, ::java::math::RoundingMode *); + virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, ::java::math::RoundingMode *); + virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, jint, jint); + virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * remainder(::java::math::BigDecimal *); + virtual JArray< ::java::math::BigDecimal * > * divideAndRemainder(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * divideToIntegralValue(::java::math::BigDecimal *); +private: + ::java::math::BigDecimal * floor(); +public: + virtual jint target$compareTo(::java::math::BigDecimal *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::math::BigDecimal * max(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * min(::java::math::BigDecimal *); + virtual ::java::math::BigDecimal * movePointLeft(jint); + virtual ::java::math::BigDecimal * movePointRight(jint); + virtual jint signum(); + virtual jint scale(); + virtual ::java::math::BigInteger * unscaledValue(); + virtual ::java::math::BigDecimal * abs(); + virtual ::java::math::BigDecimal * negate(); + virtual ::java::math::BigDecimal * negate(::java::math::MathContext *); + virtual ::java::math::BigDecimal * plus(); + virtual ::java::math::BigDecimal * plus(::java::math::MathContext *); + virtual ::java::math::BigDecimal * round(::java::math::MathContext *); + virtual jint precision(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toEngineeringString(); + virtual ::java::lang::String * toPlainString(); + virtual ::java::math::BigInteger * toBigInteger(); + virtual ::java::math::BigInteger * toBigIntegerExact(); + virtual jint intValue(); + virtual ::java::math::BigDecimal * stripTrailingZeros(); + virtual jlong longValue(); + virtual jfloat floatValue(); + virtual jdouble doubleValue(); + virtual ::java::math::BigDecimal * setScale(jint); + virtual ::java::math::BigDecimal * setScale(jint, jint); + virtual ::java::math::BigDecimal * setScale(jint, ::java::math::RoundingMode *); + static ::java::math::BigDecimal * valueOf(jdouble); + virtual ::java::math::BigDecimal * scaleByPowerOfTen(jint); + virtual ::java::math::BigDecimal * pow(jint); + virtual ::java::math::BigDecimal * pow(jint, ::java::math::MathContext *); + virtual ::java::math::BigDecimal * abs(::java::math::MathContext *); + virtual ::java::math::BigDecimal * ulp(); + virtual jlong longValueExact(); + virtual jint intValueExact(); + virtual jbyte byteValueExact(); + virtual jshort shortValueExact(); + virtual jint compareTo(::java::lang::Object *); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Number)))) intVal; + jint scale__; + jint precision__; + static const jlong serialVersionUID = 6108874887143696463LL; +public: + static ::java::math::BigDecimal * ZERO; + static ::java::math::BigDecimal * ONE; + static ::java::math::BigDecimal * TEN; + static const jint ROUND_UP = 0; + static const jint ROUND_DOWN = 1; + static const jint ROUND_CEILING = 2; + static const jint ROUND_FLOOR = 3; + static const jint ROUND_HALF_UP = 4; + static const jint ROUND_HALF_DOWN = 5; + static const jint ROUND_HALF_EVEN = 6; + static const jint ROUND_UNNECESSARY = 7; + static ::java::lang::Class class$; +}; + +#endif // __java_math_BigDecimal__ diff --git a/libjava/java/math/BigInteger.h b/libjava/java/math/BigInteger.h new file mode 100644 index 00000000000..e1d4461e850 --- /dev/null +++ b/libjava/java/math/BigInteger.h @@ -0,0 +1,195 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_math_BigInteger__ +#define __java_math_BigInteger__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + } +} + +class java::math::BigInteger : public ::java::lang::Number +{ + + BigInteger(); + BigInteger(jint); +public: + BigInteger(::java::lang::String *, jint); + BigInteger(::java::lang::String *); + BigInteger(JArray< jbyte > *); + BigInteger(jint, JArray< jbyte > *); + BigInteger(jint, ::java::util::Random *); +private: + void init(jint, ::java::util::Random *); +public: + BigInteger(jint, jint, ::java::util::Random *); + static ::java::math::BigInteger * probablePrime(jint, ::java::util::Random *); + static ::java::math::BigInteger * valueOf(jlong); +private: + static ::java::math::BigInteger * make(JArray< jint > *, jint); + static JArray< jint > * byteArrayToIntArray(JArray< jbyte > *, jint); + static ::java::math::BigInteger * alloc(jint); + void realloc(jint); + jboolean isNegative(); +public: + virtual jint signum(); +private: + static jint compareTo(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual jint target$compareTo(::java::math::BigInteger *); + virtual ::java::math::BigInteger * min(::java::math::BigInteger *); + virtual ::java::math::BigInteger * max(::java::math::BigInteger *); +private: + jboolean isZero(); + jboolean isOne(); + static jint wordsNeeded(JArray< jint > *, jint); + ::java::math::BigInteger * canonicalize(); + static ::java::math::BigInteger * add(jint, jint); + static ::java::math::BigInteger * add(::java::math::BigInteger *, jint); + void setAdd(::java::math::BigInteger *, jint); + void setAdd(jint); + void set(jlong); + void set(JArray< jint > *, jint); + void set(::java::math::BigInteger *); + static ::java::math::BigInteger * add(::java::math::BigInteger *, ::java::math::BigInteger *, jint); +public: + virtual ::java::math::BigInteger * add(::java::math::BigInteger *); + virtual ::java::math::BigInteger * subtract(::java::math::BigInteger *); +private: + static ::java::math::BigInteger * times(::java::math::BigInteger *, jint); + static ::java::math::BigInteger * times(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual ::java::math::BigInteger * multiply(::java::math::BigInteger *); +private: + static void divide(jlong, jlong, ::java::math::BigInteger *, ::java::math::BigInteger *, jint); + static void divide(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, jint); +public: + virtual ::java::math::BigInteger * divide(::java::math::BigInteger *); + virtual ::java::math::BigInteger * remainder(::java::math::BigInteger *); + virtual JArray< ::java::math::BigInteger * > * divideAndRemainder(::java::math::BigInteger *); + virtual ::java::math::BigInteger * mod(::java::math::BigInteger *); + virtual ::java::math::BigInteger * pow(jint); +private: + static JArray< jint > * euclidInv(jint, jint, jint); + static void euclidInv(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< ::java::math::BigInteger * > *); +public: + virtual ::java::math::BigInteger * modInverse(::java::math::BigInteger *); + virtual ::java::math::BigInteger * modPow(::java::math::BigInteger *, ::java::math::BigInteger *); +private: + static jint gcd(jint, jint); +public: + virtual ::java::math::BigInteger * gcd(::java::math::BigInteger *); + virtual jboolean isProbablePrime(jint); +private: + void setInvert(); + void setShiftLeft(::java::math::BigInteger *, jint); + void setShiftRight(::java::math::BigInteger *, jint); + void setShift(::java::math::BigInteger *, jint); + static ::java::math::BigInteger * shift(::java::math::BigInteger *, jint); +public: + virtual ::java::math::BigInteger * shiftLeft(jint); + virtual ::java::math::BigInteger * shiftRight(jint); +private: + void format(jint, ::java::lang::StringBuffer *); +public: + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(jint); + virtual jint intValue(); + virtual jlong longValue(); + virtual jint hashCode(); +private: + static jboolean equals(::java::math::BigInteger *, ::java::math::BigInteger *); +public: + virtual jboolean equals(::java::lang::Object *); +private: + static ::java::math::BigInteger * valueOf(::java::lang::String *, jint); + static ::java::math::BigInteger * valueOf(JArray< jbyte > *, jint, jboolean, jint); +public: + virtual jdouble doubleValue(); + virtual jfloat floatValue(); +private: + jboolean checkBits(jint); + jdouble roundToDouble(jint, jboolean, jboolean); + void getAbsolute(JArray< jint > *); + static jboolean negate(JArray< jint > *, JArray< jint > *, jint); + void setNegative(::java::math::BigInteger *); + void setNegative(); + static ::java::math::BigInteger * abs(::java::math::BigInteger *); +public: + virtual ::java::math::BigInteger * abs(); +private: + static ::java::math::BigInteger * neg(::java::math::BigInteger *); +public: + virtual ::java::math::BigInteger * negate(); + virtual jint bitLength(); + virtual JArray< jbyte > * toByteArray(); +private: + static jint swappedOp(jint); + static ::java::math::BigInteger * bitOp(jint, ::java::math::BigInteger *, ::java::math::BigInteger *); + static void setBitOp(::java::math::BigInteger *, jint, ::java::math::BigInteger *, ::java::math::BigInteger *); + static ::java::math::BigInteger * and$(::java::math::BigInteger *, jint); +public: + virtual ::java::math::BigInteger * and$(::java::math::BigInteger *); + virtual ::java::math::BigInteger * or$(::java::math::BigInteger *); + virtual ::java::math::BigInteger * xor$(::java::math::BigInteger *); + virtual ::java::math::BigInteger * not$(); + virtual ::java::math::BigInteger * andNot(::java::math::BigInteger *); + virtual ::java::math::BigInteger * clearBit(jint); + virtual ::java::math::BigInteger * setBit(jint); + virtual jboolean testBit(jint); + virtual ::java::math::BigInteger * flipBit(jint); + virtual jint getLowestSetBit(); +private: + static jint bitCount(jint); + static jint bitCount(JArray< jint > *, jint); +public: + virtual jint bitCount(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + virtual jint compareTo(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Number)))) ival; + JArray< jint > * words; + jint bitCount__; + jint bitLength__; + jint firstNonzeroByteNum; + jint lowestSetBit; + JArray< jbyte > * magnitude; + jint signum__; + static const jlong serialVersionUID = -8287574255936472291LL; + static const jint minFixNum = -100; + static const jint maxFixNum = 1024; + static const jint numFixNum = 1125; + static JArray< ::java::math::BigInteger * > * smallFixNums; +public: + static ::java::math::BigInteger * ZERO; + static ::java::math::BigInteger * ONE; + static ::java::math::BigInteger * TEN; +private: + static const jint FLOOR = 1; + static const jint CEILING = 2; + static const jint TRUNCATE = 3; + static const jint ROUND = 4; + static JArray< jint > * primes; + static JArray< jint > * k; + static JArray< jint > * t; + static JArray< jbyte > * bit4_count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_math_BigInteger__ diff --git a/libjava/java/math/MathContext.h b/libjava/java/math/MathContext.h new file mode 100644 index 00000000000..bed83920be8 --- /dev/null +++ b/libjava/java/math/MathContext.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_math_MathContext__ +#define __java_math_MathContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class MathContext; + class RoundingMode; + } + } +} + +class java::math::MathContext : public ::java::lang::Object +{ + +public: + MathContext(jint); + MathContext(jint, ::java::math::RoundingMode *); + MathContext(::java::lang::String *); + jboolean equals(::java::lang::Object *); + jint getPrecision(); + ::java::math::RoundingMode * getRoundingMode(); + ::java::lang::String * toString(); + jint hashCode(); + static ::java::math::MathContext * UNLIMITED; + static ::java::math::MathContext * DECIMAL32; + static ::java::math::MathContext * DECIMAL64; + static ::java::math::MathContext * DECIMAL128; +private: + static const jlong serialVersionUID = 5579720004786848255LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) precision; + ::java::math::RoundingMode * roundMode; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_math_MathContext__ diff --git a/libjava/java/math/RoundingMode.h b/libjava/java/math/RoundingMode.h new file mode 100644 index 00000000000..b72f7cff7ec --- /dev/null +++ b/libjava/java/math/RoundingMode.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_math_RoundingMode__ +#define __java_math_RoundingMode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class RoundingMode; + } + } +} + +class java::math::RoundingMode : public ::java::lang::Enum +{ + + RoundingMode(::java::lang::String *, jint); +public: + static ::java::math::RoundingMode * valueOf(jint); + static JArray< ::java::math::RoundingMode * > * values(); + static ::java::math::RoundingMode * valueOf(::java::lang::String *); + static ::java::math::RoundingMode * UP; + static ::java::math::RoundingMode * DOWN; + static ::java::math::RoundingMode * CEILING; + static ::java::math::RoundingMode * FLOOR; + static ::java::math::RoundingMode * HALF_UP; + static ::java::math::RoundingMode * HALF_DOWN; + static ::java::math::RoundingMode * HALF_EVEN; + static ::java::math::RoundingMode * UNNECESSARY; +private: + static const jlong serialVersionUID = 432302042773881265LL; + static JArray< ::java::math::RoundingMode * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_math_RoundingMode__ diff --git a/libjava/java/net/Authenticator.h b/libjava/java/net/Authenticator.h new file mode 100644 index 00000000000..b8e26606bea --- /dev/null +++ b/libjava/java/net/Authenticator.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_Authenticator__ +#define __java_net_Authenticator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class Authenticator; + class InetAddress; + class PasswordAuthentication; + } + } +} + +class java::net::Authenticator : public ::java::lang::Object +{ + +public: + static void setDefault(::java::net::Authenticator *); + static ::java::net::PasswordAuthentication * requestPasswordAuthentication(::java::net::InetAddress *, jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static ::java::net::PasswordAuthentication * requestPasswordAuthentication(::java::lang::String *, ::java::net::InetAddress *, jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + Authenticator(); +public: // actually protected + virtual ::java::net::InetAddress * getRequestingSite(); + virtual ::java::lang::String * getRequestingHost(); + virtual jint getRequestingPort(); + virtual ::java::lang::String * getRequestingProtocol(); + virtual ::java::lang::String * getRequestingPrompt(); + virtual ::java::lang::String * getRequestingScheme(); + virtual ::java::net::PasswordAuthentication * getPasswordAuthentication(); +private: + static ::java::net::Authenticator * defaultAuthenticator; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) host; + ::java::net::InetAddress * addr; + jint port; + ::java::lang::String * protocol; + ::java::lang::String * prompt; + ::java::lang::String * scheme; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_Authenticator__ diff --git a/libjava/java/net/BindException.h b/libjava/java/net/BindException.h new file mode 100644 index 00000000000..6056f55f744 --- /dev/null +++ b/libjava/java/net/BindException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_BindException__ +#define __java_net_BindException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class BindException; + } + } +} + +class java::net::BindException : public ::java::net::SocketException +{ + +public: + BindException(); + BindException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5945005768251722951LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_BindException__ diff --git a/libjava/java/net/ConnectException.h b/libjava/java/net/ConnectException.h new file mode 100644 index 00000000000..324ff1fe7c7 --- /dev/null +++ b/libjava/java/net/ConnectException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ConnectException__ +#define __java_net_ConnectException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ConnectException; + } + } +} + +class java::net::ConnectException : public ::java::net::SocketException +{ + +public: + ConnectException(); + ConnectException(::java::lang::String *); +private: + static const jlong serialVersionUID = 3831404271622369215LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_ConnectException__ diff --git a/libjava/java/net/ContentHandler.h b/libjava/java/net/ContentHandler.h new file mode 100644 index 00000000000..62aecff06a0 --- /dev/null +++ b/libjava/java/net/ContentHandler.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ContentHandler__ +#define __java_net_ContentHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class ContentHandler; + class URLConnection; + } + } +} + +class java::net::ContentHandler : public ::java::lang::Object +{ + +public: + ContentHandler(); + virtual ::java::lang::Object * getContent(::java::net::URLConnection *) = 0; + virtual ::java::lang::Object * getContent(::java::net::URLConnection *, JArray< ::java::lang::Class * > *); + static ::java::lang::Class class$; +}; + +#endif // __java_net_ContentHandler__ diff --git a/libjava/java/net/ContentHandlerFactory.h b/libjava/java/net/ContentHandlerFactory.h new file mode 100644 index 00000000000..ca153310473 --- /dev/null +++ b/libjava/java/net/ContentHandlerFactory.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ContentHandlerFactory__ +#define __java_net_ContentHandlerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ContentHandler; + class ContentHandlerFactory; + } + } +} + +class java::net::ContentHandlerFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::ContentHandler * createContentHandler(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_net_ContentHandlerFactory__ diff --git a/libjava/java/net/DatagramPacket.h b/libjava/java/net/DatagramPacket.h new file mode 100644 index 00000000000..068329e05c5 --- /dev/null +++ b/libjava/java/net/DatagramPacket.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_DatagramPacket__ +#define __java_net_DatagramPacket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class DatagramPacket; + class InetAddress; + class SocketAddress; + } + } +} + +class java::net::DatagramPacket : public ::java::lang::Object +{ + +public: + DatagramPacket(JArray< jbyte > *, jint, jint); + DatagramPacket(JArray< jbyte > *, jint); + DatagramPacket(JArray< jbyte > *, jint, jint, ::java::net::InetAddress *, jint); + DatagramPacket(JArray< jbyte > *, jint, ::java::net::InetAddress *, jint); + DatagramPacket(JArray< jbyte > *, jint, jint, ::java::net::SocketAddress *); + DatagramPacket(JArray< jbyte > *, jint, ::java::net::SocketAddress *); + ::java::net::InetAddress * getAddress(); + jint getPort(); + JArray< jbyte > * getData(); + jint getOffset(); + jint getLength(); + void setAddress(::java::net::InetAddress *); + void setPort(jint); + void setSocketAddress(::java::net::SocketAddress *); + ::java::net::SocketAddress * getSocketAddress(); + void setData(JArray< jbyte > *); + void setData(JArray< jbyte > *, jint, jint); + void setLength(jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jint offset; +public: // actually package-private + jint length; + jint maxlen; +private: + ::java::net::InetAddress * address; + jint port; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_DatagramPacket__ diff --git a/libjava/java/net/DatagramSocket.h b/libjava/java/net/DatagramSocket.h new file mode 100644 index 00000000000..a1761e11549 --- /dev/null +++ b/libjava/java/net/DatagramSocket.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_DatagramSocket__ +#define __java_net_DatagramSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class DatagramPacket; + class DatagramSocket; + class DatagramSocketImpl; + class DatagramSocketImplFactory; + class InetAddress; + class SocketAddress; + } + namespace nio + { + namespace channels + { + class DatagramChannel; + } + } + } +} + +class java::net::DatagramSocket : public ::java::lang::Object +{ + +public: // actually protected + DatagramSocket(::java::net::DatagramSocketImpl *); +public: + DatagramSocket(); + DatagramSocket(jint); + DatagramSocket(jint, ::java::net::InetAddress *); + DatagramSocket(::java::net::SocketAddress *); +public: // actually package-private + virtual ::java::net::DatagramSocketImpl * getImpl(); +public: + virtual void close(); + virtual ::java::net::InetAddress * getInetAddress(); + virtual jint getPort(); + virtual ::java::net::InetAddress * getLocalAddress(); + virtual jint getLocalPort(); + virtual jint getSoTimeout(); + virtual void setSoTimeout(jint); + virtual jint getSendBufferSize(); + virtual void setSendBufferSize(jint); + virtual jint getReceiveBufferSize(); + virtual void setReceiveBufferSize(jint); + virtual void connect(::java::net::InetAddress *, jint); + virtual void disconnect(); + virtual void receive(::java::net::DatagramPacket *); + virtual void send(::java::net::DatagramPacket *); + virtual void bind(::java::net::SocketAddress *); + virtual jboolean isClosed(); + virtual ::java::nio::channels::DatagramChannel * getChannel(); + virtual void connect(::java::net::SocketAddress *); + virtual jboolean isBound(); + virtual jboolean isConnected(); + virtual ::java::net::SocketAddress * getRemoteSocketAddress(); + virtual ::java::net::SocketAddress * getLocalSocketAddress(); + virtual void setReuseAddress(jboolean); + virtual jboolean getReuseAddress(); + virtual void setBroadcast(jboolean); + virtual jboolean getBroadcast(); + virtual void setTrafficClass(jint); + virtual jint getTrafficClass(); + static void setDatagramSocketImplFactory(::java::net::DatagramSocketImplFactory *); +private: + static ::java::net::DatagramSocketImplFactory * factory; + ::java::net::DatagramSocketImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) impl; + jboolean implCreated; + ::java::net::InetAddress * remoteAddress; + jint remotePort; + jboolean bound; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_DatagramSocket__ diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java new file mode 100644 index 00000000000..d8837c006b5 --- /dev/null +++ b/libjava/java/net/DatagramSocket.java @@ -0,0 +1,939 @@ +/* DatagramSocket.java -- A class to model UDP sockets + Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 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. */ + +package java.net; + +import gnu.classpath.SystemProperties; + +import gnu.java.net.PlainDatagramSocketImpl; +import gnu.java.nio.DatagramChannelImpl; + +import java.io.IOException; +import java.nio.channels.DatagramChannel; +import java.nio.channels.IllegalBlockingModeException; + + +/** + * Written using on-line Java Platform 1.2 API Specification, as well + * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). + * Status: Believed complete and correct. + */ +/** + * This class models a connectionless datagram socket that sends + * individual packets of data across the network. In the TCP/IP world, + * this means UDP. Datagram packets do not have guaranteed delivery, + * or any guarantee about the order the data will be received on the + * remote host. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy (warrenl@cygnus.com) + * @date May 3, 1999. + */ +public class DatagramSocket +{ + /** + * This is the user DatagramSocketImplFactory for this class. If this + * variable is null, a default factory is used. + */ + private static DatagramSocketImplFactory factory; + + /** + * This is the implementation object used by this socket. + */ + private DatagramSocketImpl impl; + + /** + * True if socket implementation was created. + */ + private boolean implCreated; + + /** + * This is the address we are "connected" to + */ + private InetAddress remoteAddress; + + /** + * This is the port we are "connected" to + */ + private int remotePort = -1; + + /** + * True if socket is bound. + */ + private boolean bound; + + /** + * Creates a DatagramSocket from a specified + * DatagramSocketImpl instance + * + * @param impl The DatagramSocketImpl the socket will be + * created from + * + * @since 1.4 + */ + protected DatagramSocket(DatagramSocketImpl impl) + { + if (impl == null) + throw new NullPointerException("impl may not be null"); + + this.impl = impl; + this.remoteAddress = null; + this.remotePort = -1; + } + + /** + * Initializes a new instance of DatagramSocket that binds to + * a random port and every address on the local machine. + * + * @exception SocketException If an error occurs. + * @exception SecurityException If a security manager exists and + * its checkListen method doesn't allow the operation. + */ + public DatagramSocket() throws SocketException + { + this(new InetSocketAddress(0)); + } + + /** + * Initializes a new instance of DatagramSocket that binds to + * the specified port and every address on the local machine. + * + * @param port The local port number to bind to. + * + * @exception SecurityException If a security manager exists and its + * checkListen method doesn't allow the operation. + * @exception SocketException If an error occurs. + */ + public DatagramSocket(int port) throws SocketException + { + this(new InetSocketAddress(port)); + } + + /** + * Initializes a new instance of DatagramSocket that binds to + * the specified local port and address. + * + * @param port The local port number to bind to. + * @param addr The local address to bind to. + * + * @exception SecurityException If a security manager exists and its + * checkListen method doesn't allow the operation. + * @exception SocketException If an error occurs. + */ + public DatagramSocket(int port, InetAddress addr) throws SocketException + { + this(new InetSocketAddress(addr, port)); + } + + /** + * Initializes a new instance of DatagramSocket that binds to + * the specified local port and address. + * + * @param address The local address and port number to bind to. + * + * @exception SecurityException If a security manager exists and its + * checkListen method doesn't allow the operation. + * @exception SocketException If an error occurs. + * + * @since 1.4 + */ + public DatagramSocket(SocketAddress address) throws SocketException + { + String propVal = SystemProperties.getProperty("impl.prefix"); + if (propVal == null || propVal.equals("")) + { + if (factory != null) + impl = factory.createDatagramSocketImpl(); + else + impl = new PlainDatagramSocketImpl(); + } + else + try + { + impl = + (DatagramSocketImpl) Class.forName("java.net." + propVal + + "DatagramSocketImpl") + .newInstance(); + } + catch (Exception e) + { + System.err.println("Could not instantiate class: java.net." + + propVal + "DatagramSocketImpl"); + impl = new PlainDatagramSocketImpl(); + } + + if (address != null) + bind(address); + } + + // This needs to be accessible from java.net.MulticastSocket + DatagramSocketImpl getImpl() throws SocketException + { + try + { + if (! implCreated) + { + impl.create(); + implCreated = true; + } + + return impl; + } + catch (IOException e) + { + SocketException se = new SocketException(); + se.initCause(e); + throw se; + } + } + + /** + * Closes this datagram socket. + */ + public void close() + { + if (isClosed()) + return; + + try + { + getImpl().close(); + } + catch (SocketException e) + { + // Ignore this case, just close the socket in finally clause. + } + finally + { + remoteAddress = null; + remotePort = -1; + impl = null; + } + + try + { + if (getChannel() != null) + getChannel().close(); + } + catch (IOException e) + { + // Do nothing. + } + } + + /** + * This method returns the remote address to which this socket is + * connected. If this socket is not connected, then this method will + * return null. + * + * @return The remote address. + * + * @since 1.2 + */ + public InetAddress getInetAddress() + { + return remoteAddress; + } + + /** + * This method returns the remote port to which this socket is + * connected. If this socket is not connected, then this method will + * return -1. + * + * @return The remote port. + * + * @since 1.2 + */ + public int getPort() + { + return remotePort; + } + + /** + * Returns the local address this datagram socket is bound to. + * + * @return The local address is the socket is bound or null + * + * @since 1.1 + */ + public InetAddress getLocalAddress() + { + if (! isBound()) + return null; + + InetAddress localAddr; + + try + { + localAddr = + (InetAddress) getImpl().getOption(SocketOptions.SO_BINDADDR); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkConnect(localAddr.getHostName(), -1); + } + catch (SecurityException e) + { + localAddr = InetAddress.ANY_IF; + } + catch (SocketException e) + { + // This cannot happen as we are bound. + return null; + } + + return localAddr; + } + + /** + * Returns the local port this socket is bound to. + * + * @return The local port number. + */ + public int getLocalPort() + { + if (isClosed()) + return -1; + + try + { + return getImpl().getLocalPort(); + } + catch (SocketException e) + { + // This cannot happen as we are bound. + return 0; + } + } + + /** + * Returns the value of the socket's SO_TIMEOUT setting. If this method + * returns 0 then SO_TIMEOUT is disabled. + * + * @return The current timeout in milliseconds. + * + * @exception SocketException If an error occurs. + * + * @since 1.1 + */ + public synchronized int getSoTimeout() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_TIMEOUT); + + if (buf instanceof Integer) + return ((Integer) buf).intValue(); + + throw new SocketException("unexpected type"); + } + + /** + * Sets the value of the socket's SO_TIMEOUT value. A value of 0 will + * disable SO_TIMEOUT. Any other value is the number of milliseconds + * a socket read/write will block before timing out. + * + * @param timeout The new SO_TIMEOUT value in milliseconds. + * + * @exception SocketException If an error occurs. + * + * @since 1.1 + */ + public synchronized void setSoTimeout(int timeout) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (timeout < 0) + throw new IllegalArgumentException("Invalid timeout: " + timeout); + + getImpl().setOption(SocketOptions.SO_TIMEOUT, new Integer(timeout)); + } + + /** + * This method returns the value of the system level socket option + * SO_SNDBUF, which is used by the operating system to tune buffer + * sizes for data transfers. + * + * @return The send buffer size. + * + * @exception SocketException If an error occurs. + * + * @since 1.2 + */ + public int getSendBufferSize() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_SNDBUF); + + if (buf instanceof Integer) + return ((Integer) buf).intValue(); + + throw new SocketException("unexpected type"); + } + + /** + * This method sets the value for the system level socket option + * SO_SNDBUF to the specified value. Note that valid values for this + * option are specific to a given operating system. + * + * @param size The new send buffer size. + * + * @exception SocketException If an error occurs. + * @exception IllegalArgumentException If size is 0 or negative. + * + * @since 1.2 + */ + public void setSendBufferSize(int size) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (size < 0) + throw new IllegalArgumentException("Buffer size is less than 0"); + + getImpl().setOption(SocketOptions.SO_SNDBUF, new Integer(size)); + } + + /** + * This method returns the value of the system level socket option + * SO_RCVBUF, which is used by the operating system to tune buffer + * sizes for data transfers. + * + * @return The receive buffer size. + * + * @exception SocketException If an error occurs. + * + * @since 1.2 + */ + public int getReceiveBufferSize() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_RCVBUF); + + if (buf instanceof Integer) + return ((Integer) buf).intValue(); + + throw new SocketException("unexpected type"); + } + + /** + * This method sets the value for the system level socket option + * SO_RCVBUF to the specified value. Note that valid values for this + * option are specific to a given operating system. + * + * @param size The new receive buffer size. + * + * @exception SocketException If an error occurs. + * @exception IllegalArgumentException If size is 0 or negative. + * + * @since 1.2 + */ + public void setReceiveBufferSize(int size) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (size < 0) + throw new IllegalArgumentException("Buffer size is less than 0"); + + getImpl().setOption(SocketOptions.SO_RCVBUF, new Integer(size)); + } + + /** + * This method connects this socket to the specified address and port. + * When a datagram socket is connected, it will only send or receive + * packets to and from the host to which it is connected. A multicast + * socket that is connected may only send and not receive packets. + * + * @param address The address to connect this socket to. + * @param port The port to connect this socket to. + * + * @exception IllegalArgumentException If address or port are invalid. + * @exception SecurityException If the caller is not allowed to send + * datagrams to or receive from this address and port. + * + * @since 1.2 + */ + public void connect(InetAddress address, int port) + { + if (address == null) + throw new IllegalArgumentException("Connect address may not be null"); + + if ((port < 1) || (port > 65535)) + throw new IllegalArgumentException("Port number is illegal: " + port); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkConnect(address.getHostName(), port); + + try + { + getImpl().connect(address, port); + remoteAddress = address; + remotePort = port; + } + catch (SocketException e) + { + // This means simply not connected or connect not implemented. + } + } + + /** + * This method disconnects this socket from the address/port it was + * connected to. If the socket was not connected in the first place, + * this method does nothing. + * + * @since 1.2 + */ + public void disconnect() + { + if (! isConnected()) + return; + + try + { + getImpl().disconnect(); + } + catch (SocketException e) + { + // This cannot happen as we are connected. + } + finally + { + remoteAddress = null; + remotePort = -1; + } + } + + /** + * Reads a datagram packet from the socket. Note that this method + * will block until a packet is received from the network. On return, + * the passed in DatagramPacket is populated with the data + * received and all the other information about the packet. + * + * @param p A DatagramPacket for storing the data + * + * @exception IOException If an error occurs. + * @exception SocketTimeoutException If setSoTimeout was previously called + * and the timeout has expired. + * @exception PortUnreachableException If the socket is connected to a + * currently unreachable destination. Note, there is no guarantee that the + * exception will be thrown. + * @exception IllegalBlockingModeException If this socket has an associated + * channel, and the channel is in non-blocking mode. + * @exception SecurityException If a security manager exists and its + * checkAccept method doesn't allow the receive. + */ + public synchronized void receive(DatagramPacket p) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (remoteAddress != null && remoteAddress.isMulticastAddress()) + throw new IOException + ("Socket connected to a multicast address my not receive"); + + if (getChannel() != null && ! getChannel().isBlocking() + && ! ((DatagramChannelImpl) getChannel()).isInChannelOperation()) + throw new IllegalBlockingModeException(); + + getImpl().receive(p); + + SecurityManager s = System.getSecurityManager(); + if (s != null && isConnected()) + s.checkAccept(p.getAddress().getHostName(), p.getPort()); + } + + /** + * Sends the specified packet. The host and port to which the packet + * are to be sent should be set inside the packet. + * + * @param p The datagram packet to send. + * + * @exception IOException If an error occurs. + * @exception SecurityException If a security manager exists and its + * checkMulticast or checkConnect method doesn't allow the send. + * @exception PortUnreachableException If the socket is connected to a + * currently unreachable destination. Note, there is no guarantee that the + * exception will be thrown. + * @exception IllegalBlockingModeException If this socket has an associated + * channel, and the channel is in non-blocking mode. + */ + public void send(DatagramPacket p) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + // JDK1.2: Don't do security checks if socket is connected; see jdk1.2 api. + SecurityManager s = System.getSecurityManager(); + if (s != null && ! isConnected()) + { + InetAddress addr = p.getAddress(); + if (addr.isMulticastAddress()) + s.checkMulticast(addr); + else + s.checkConnect(addr.getHostAddress(), p.getPort()); + } + + if (isConnected()) + { + if (p.getAddress() != null + && (remoteAddress != p.getAddress() || remotePort != p.getPort())) + throw new IllegalArgumentException + ("DatagramPacket address does not match remote address"); + } + + // FIXME: if this is a subclass of MulticastSocket, + // use getTimeToLive for TTL val. + if (getChannel() != null && ! getChannel().isBlocking() + && ! ((DatagramChannelImpl) getChannel()).isInChannelOperation()) + throw new IllegalBlockingModeException(); + + getImpl().send(p); + } + + /** + * Binds the socket to the given socket address. + * + * @param address The socket address to bind to. + * + * @exception SocketException If an error occurs. + * @exception SecurityException If a security manager exists and + * its checkListen method doesn't allow the operation. + * @exception IllegalArgumentException If address type is not supported. + * + * @since 1.4 + */ + public void bind(SocketAddress address) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! (address instanceof InetSocketAddress)) + throw new IllegalArgumentException("unsupported address type"); + + InetAddress addr = ((InetSocketAddress) address).getAddress(); + int port = ((InetSocketAddress) address).getPort(); + + if (port < 0 || port > 65535) + throw new IllegalArgumentException("Invalid port: " + port); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkListen(port); + + if (addr == null) + addr = InetAddress.ANY_IF; + + try + { + getImpl().bind(port, addr); + bound = true; + } + catch (SocketException exception) + { + getImpl().close(); + throw exception; + } + catch (RuntimeException exception) + { + getImpl().close(); + throw exception; + } + catch (Error error) + { + getImpl().close(); + throw error; + } + } + + /** + * Checks if the datagram socket is closed. + * + * @return True if socket is closed, false otherwise. + * + * @since 1.4 + */ + public boolean isClosed() + { + return impl == null; + } + + /** + * Returns the datagram channel assoziated with this datagram socket. + * + * @return The associated DatagramChannel object or null + * + * @since 1.4 + */ + public DatagramChannel getChannel() + { + return null; + } + + /** + * Connects the datagram socket to a specified socket address. + * + * @param address The socket address to connect to. + * + * @exception SocketException If an error occurs. + * @exception IllegalArgumentException If address type is not supported. + * + * @since 1.4 + */ + public void connect(SocketAddress address) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! (address instanceof InetSocketAddress)) + throw new IllegalArgumentException("unsupported address type"); + + InetSocketAddress tmp = (InetSocketAddress) address; + connect(tmp.getAddress(), tmp.getPort()); + } + + /** + * Returns the binding state of the socket. + * + * @return True if socket bound, false otherwise. + * + * @since 1.4 + */ + public boolean isBound() + { + return bound; + } + + /** + * Returns the connection state of the socket. + * + * @return True if socket is connected, false otherwise. + * + * @since 1.4 + */ + public boolean isConnected() + { + return remoteAddress != null; + } + + /** + * Returns the SocketAddress of the host this socket is conneted to + * or null if this socket is not connected. + * + * @return The socket address of the remote host if connected or null + * + * @since 1.4 + */ + public SocketAddress getRemoteSocketAddress() + { + if (! isConnected()) + return null; + + return new InetSocketAddress(remoteAddress, remotePort); + } + + /** + * Returns the local SocketAddress this socket is bound to. + * + * @return The local SocketAddress or null if the socket is not bound. + * + * @since 1.4 + */ + public SocketAddress getLocalSocketAddress() + { + if (! isBound()) + return null; + + return new InetSocketAddress(getLocalAddress(), getLocalPort()); + } + + /** + * Enables/Disables SO_REUSEADDR. + * + * @param on Whether or not to have SO_REUSEADDR turned on. + * + * @exception SocketException If an error occurs. + * + * @since 1.4 + */ + public void setReuseAddress(boolean on) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.SO_REUSEADDR, Boolean.valueOf(on)); + } + + /** + * Checks if SO_REUSEADDR is enabled. + * + * @return True if SO_REUSEADDR is set on the socket, false otherwise. + * + * @exception SocketException If an error occurs. + * + * @since 1.4 + */ + public boolean getReuseAddress() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_REUSEADDR); + + if (buf instanceof Boolean) + return ((Boolean) buf).booleanValue(); + + throw new SocketException("unexpected type"); + } + + /** + * Enables/Disables SO_BROADCAST + * + * @param enable True if SO_BROADCAST should be enabled, false otherwise. + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public void setBroadcast(boolean enable) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.SO_BROADCAST, Boolean.valueOf(enable)); + } + + /** + * Checks if SO_BROADCAST is enabled + * + * @return Whether SO_BROADCAST is set + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public boolean getBroadcast() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_BROADCAST); + + if (buf instanceof Boolean) + return ((Boolean) buf).booleanValue(); + + throw new SocketException("unexpected type"); + } + + /** + * Sets the traffic class value + * + * @param tc The traffic class + * + * @exception SocketException If an error occurs + * @exception IllegalArgumentException If tc value is illegal + * + * @see DatagramSocket#getTrafficClass() + * + * @since 1.4 + */ + public void setTrafficClass(int tc) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (tc < 0 || tc > 255) + throw new IllegalArgumentException(); + + getImpl().setOption(SocketOptions.IP_TOS, new Integer(tc)); + } + + /** + * Returns the current traffic class + * + * @return The current traffic class. + * + * @see DatagramSocket#setTrafficClass(int tc) + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public int getTrafficClass() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.IP_TOS); + + if (buf instanceof Integer) + return ((Integer) buf).intValue(); + + throw new SocketException("unexpected type"); + } + + /** + * Sets the datagram socket implementation factory for the application + * + * @param fac The factory to set + * + * @exception IOException If an error occurs + * @exception SocketException If the factory is already defined + * @exception SecurityException If a security manager exists and its + * checkSetFactory method doesn't allow the operation + */ + public static void setDatagramSocketImplFactory(DatagramSocketImplFactory fac) + throws IOException + { + if (factory != null) + throw new SocketException("DatagramSocketImplFactory already defined"); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkSetFactory(); + + factory = fac; + } +} diff --git a/libjava/java/net/DatagramSocketImpl.h b/libjava/java/net/DatagramSocketImpl.h new file mode 100644 index 00000000000..e29991b4235 --- /dev/null +++ b/libjava/java/net/DatagramSocketImpl.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_DatagramSocketImpl__ +#define __java_net_DatagramSocketImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class DatagramPacket; + class DatagramSocketImpl; + class InetAddress; + class NetworkInterface; + class SocketAddress; + } + } +} + +class java::net::DatagramSocketImpl : public ::java::lang::Object +{ + +public: + DatagramSocketImpl(); +public: // actually protected + virtual void bind(jint, ::java::net::InetAddress *) = 0; + virtual void close() = 0; + virtual void create() = 0; + virtual jint peek(::java::net::InetAddress *) = 0; + virtual jint peekData(::java::net::DatagramPacket *) = 0; + virtual void send(::java::net::DatagramPacket *) = 0; + virtual void receive(::java::net::DatagramPacket *) = 0; + virtual void connect(::java::net::InetAddress *, jint); + virtual void disconnect(); + virtual void setTTL(jbyte) = 0; + virtual jbyte getTTL() = 0; + virtual void setTimeToLive(jint) = 0; + virtual jint getTimeToLive() = 0; + virtual void join(::java::net::InetAddress *) = 0; + virtual void leave(::java::net::InetAddress *) = 0; + virtual void joinGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *) = 0; + virtual void leaveGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *) = 0; + virtual ::java::io::FileDescriptor * getFileDescriptor(); + virtual jint getLocalPort(); +public: + virtual void setOption(jint, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getOption(jint) = 0; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) localPort; + ::java::io::FileDescriptor * fd; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_DatagramSocketImpl__ diff --git a/libjava/java/net/DatagramSocketImplFactory.h b/libjava/java/net/DatagramSocketImplFactory.h new file mode 100644 index 00000000000..15e1780ec89 --- /dev/null +++ b/libjava/java/net/DatagramSocketImplFactory.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_DatagramSocketImplFactory__ +#define __java_net_DatagramSocketImplFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class DatagramSocketImpl; + class DatagramSocketImplFactory; + } + } +} + +class java::net::DatagramSocketImplFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::DatagramSocketImpl * createDatagramSocketImpl() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_net_DatagramSocketImplFactory__ diff --git a/libjava/java/net/FileNameMap.h b/libjava/java/net/FileNameMap.h new file mode 100644 index 00000000000..916f14023e9 --- /dev/null +++ b/libjava/java/net/FileNameMap.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_FileNameMap__ +#define __java_net_FileNameMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class FileNameMap; + } + } +} + +class java::net::FileNameMap : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getContentTypeFor(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_net_FileNameMap__ diff --git a/libjava/java/net/HttpURLConnection.h b/libjava/java/net/HttpURLConnection.h new file mode 100644 index 00000000000..d192e33ad6b --- /dev/null +++ b/libjava/java/net/HttpURLConnection.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_HttpURLConnection__ +#define __java_net_HttpURLConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class HttpURLConnection; + class URL; + } + namespace security + { + class Permission; + } + } +} + +class java::net::HttpURLConnection : public ::java::net::URLConnection +{ + +public: // actually protected + HttpURLConnection(::java::net::URL *); +public: + virtual void disconnect() = 0; + virtual jboolean usingProxy() = 0; + static void setFollowRedirects(jboolean); + static jboolean getFollowRedirects(); + virtual jboolean getInstanceFollowRedirects(); + virtual void setInstanceFollowRedirects(jboolean); + virtual void setRequestMethod(::java::lang::String *); + virtual ::java::lang::String * getRequestMethod(); + virtual jint getResponseCode(); + virtual ::java::lang::String * getResponseMessage(); +private: + void getResponseVals(); +public: + virtual ::java::security::Permission * getPermission(); + virtual ::java::io::InputStream * getErrorStream(); + virtual jlong getHeaderFieldDate(::java::lang::String *, jlong); +public: // actually package-private + static const jint HTTP_CONTINUE = 100; +public: + static const jint HTTP_OK = 200; + static const jint HTTP_CREATED = 201; + static const jint HTTP_ACCEPTED = 202; + static const jint HTTP_NOT_AUTHORITATIVE = 203; + static const jint HTTP_NO_CONTENT = 204; + static const jint HTTP_RESET = 205; + static const jint HTTP_PARTIAL = 206; + static const jint HTTP_MULT_CHOICE = 300; + static const jint HTTP_MOVED_PERM = 301; + static const jint HTTP_MOVED_TEMP = 302; + static const jint HTTP_SEE_OTHER = 303; + static const jint HTTP_NOT_MODIFIED = 304; + static const jint HTTP_USE_PROXY = 305; + static const jint HTTP_BAD_REQUEST = 400; + static const jint HTTP_UNAUTHORIZED = 401; + static const jint HTTP_PAYMENT_REQUIRED = 402; + static const jint HTTP_FORBIDDEN = 403; + static const jint HTTP_NOT_FOUND = 404; + static const jint HTTP_BAD_METHOD = 405; + static const jint HTTP_NOT_ACCEPTABLE = 406; + static const jint HTTP_PROXY_AUTH = 407; + static const jint HTTP_CLIENT_TIMEOUT = 408; + static const jint HTTP_CONFLICT = 409; + static const jint HTTP_GONE = 410; + static const jint HTTP_LENGTH_REQUIRED = 411; + static const jint HTTP_PRECON_FAILED = 412; + static const jint HTTP_ENTITY_TOO_LARGE = 413; + static const jint HTTP_REQ_TOO_LONG = 414; + static const jint HTTP_UNSUPPORTED_TYPE = 415; + static const jint HTTP_SERVER_ERROR = 500; + static const jint HTTP_INTERNAL_ERROR = 500; + static const jint HTTP_NOT_IMPLEMENTED = 501; + static const jint HTTP_BAD_GATEWAY = 502; + static const jint HTTP_UNAVAILABLE = 503; + static const jint HTTP_GATEWAY_TIMEOUT = 504; + static const jint HTTP_VERSION = 505; +private: + static jboolean followRedirects; + static ::java::lang::String * valid_methods; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) method; + jint responseCode; + ::java::lang::String * responseMessage; + jboolean instanceFollowRedirects; +private: + jboolean gotResponseVals; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_HttpURLConnection__ diff --git a/libjava/java/net/Inet4Address.h b/libjava/java/net/Inet4Address.h new file mode 100644 index 00000000000..5ff13154680 --- /dev/null +++ b/libjava/java/net/Inet4Address.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_Inet4Address__ +#define __java_net_Inet4Address__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Inet4Address; + } + } +} + +class java::net::Inet4Address : public ::java::net::InetAddress +{ + + ::java::lang::Object * writeReplace(); +public: // actually package-private + Inet4Address(JArray< jbyte > *, ::java::lang::String *); +public: + jboolean isMulticastAddress(); + jboolean isLoopbackAddress(); + jboolean isAnyLocalAddress(); + jboolean isLinkLocalAddress(); + jboolean isSiteLocalAddress(); + jboolean isMCGlobal(); + jboolean isMCNodeLocal(); + jboolean isMCLinkLocal(); + jboolean isMCSiteLocal(); + jboolean isMCOrgLocal(); + JArray< jbyte > * getAddress(); + ::java::lang::String * getHostAddress(); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + static const jlong serialVersionUID = 3286316764910316507LL; +private: + static const jint AF_INET = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_Inet4Address__ diff --git a/libjava/java/net/Inet6Address.h b/libjava/java/net/Inet6Address.h new file mode 100644 index 00000000000..933a4780a18 --- /dev/null +++ b/libjava/java/net/Inet6Address.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_Inet6Address__ +#define __java_net_Inet6Address__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Inet6Address; + class NetworkInterface; + } + } +} + +class java::net::Inet6Address : public ::java::net::InetAddress +{ + +public: // actually package-private + Inet6Address(JArray< jbyte > *, ::java::lang::String *); +public: + jboolean isMulticastAddress(); + jboolean isAnyLocalAddress(); + jboolean isLoopbackAddress(); + jboolean isLinkLocalAddress(); + jboolean isSiteLocalAddress(); + jboolean isMCGlobal(); + jboolean isMCNodeLocal(); + jboolean isMCLinkLocal(); + jboolean isMCSiteLocal(); + jboolean isMCOrgLocal(); + JArray< jbyte > * getAddress(); + static ::java::net::Inet6Address * getByAddress(::java::lang::String *, JArray< jbyte > *, jint); + static ::java::net::Inet6Address * getByAddress(::java::lang::String *, JArray< jbyte > *, ::java::net::NetworkInterface *); + ::java::net::NetworkInterface * getScopedInterface(); + jint getScopeId(); + ::java::lang::String * getHostAddress(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + jboolean isIPv4CompatibleAddress(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: // actually package-private + static const jlong serialVersionUID = 6880410070516793377LL; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::net::InetAddress)))) ipaddress; +private: + jint scope_id; + jboolean scope_id_set; + jboolean scope_ifname_set; + ::java::lang::String * ifname; + ::java::net::NetworkInterface * nif; + static const jint AF_INET6 = 10; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_Inet6Address__ diff --git a/libjava/java/net/InetAddress.h b/libjava/java/net/InetAddress.h new file mode 100644 index 00000000000..8cde4fb5daa --- /dev/null +++ b/libjava/java/net/InetAddress.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_InetAddress__ +#define __java_net_InetAddress__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + } + } +} + +class java::net::InetAddress : public ::java::lang::Object +{ + +public: // actually package-private + InetAddress(JArray< jbyte > *, ::java::lang::String *, jint); +public: + virtual jboolean isMulticastAddress(); + virtual jboolean isAnyLocalAddress(); + virtual jboolean isLoopbackAddress(); + virtual jboolean isLinkLocalAddress(); + virtual jboolean isSiteLocalAddress(); + virtual jboolean isMCGlobal(); + virtual jboolean isMCNodeLocal(); + virtual jboolean isMCLinkLocal(); + virtual jboolean isMCSiteLocal(); + virtual jboolean isMCOrgLocal(); + virtual ::java::lang::String * getHostName(); +public: // actually package-private + virtual ::java::lang::String * internalGetCanonicalHostName(); +public: + virtual ::java::lang::String * getCanonicalHostName(); + virtual JArray< jbyte > * getAddress(); + virtual ::java::lang::String * getHostAddress(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + static ::java::net::InetAddress * getByAddress(JArray< jbyte > *); + static ::java::net::InetAddress * getByAddress(::java::lang::String *, JArray< jbyte > *); +public: // actually package-private + static ::java::net::InetAddress * getByLiteral(::java::lang::String *); +public: + static ::java::net::InetAddress * getByName(::java::lang::String *); + static JArray< ::java::net::InetAddress * > * getAllByName(::java::lang::String *); + static ::java::net::InetAddress * getLocalHost(); +private: + ::java::lang::Object * readResolve(); + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 3286316764910316507LL; +public: // actually package-private + static ::java::net::InetAddress * ANY_IF; + static ::java::net::InetAddress * LOCALHOST; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) address; +public: // actually package-private + JArray< jbyte > * addr; + ::java::lang::String * hostName; +private: + jint family; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_InetAddress__ diff --git a/libjava/java/net/InetSocketAddress.h b/libjava/java/net/InetSocketAddress.h new file mode 100644 index 00000000000..b4f14d41c8d --- /dev/null +++ b/libjava/java/net/InetSocketAddress.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_InetSocketAddress__ +#define __java_net_InetSocketAddress__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class InetSocketAddress; + } + } +} + +class java::net::InetSocketAddress : public ::java::net::SocketAddress +{ + +public: + InetSocketAddress(::java::net::InetAddress *, jint); + InetSocketAddress(jint); + InetSocketAddress(::java::lang::String *, jint); +private: + InetSocketAddress(::java::lang::String *, jint, jboolean); +public: + static ::java::net::InetSocketAddress * createUnresolved(::java::lang::String *, jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::net::InetAddress * getAddress(); + virtual ::java::lang::String * getHostName(); + virtual jint getPort(); + virtual jint hashCode(); + virtual jboolean isUnresolved(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 5076001401234631237LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::SocketAddress)))) hostname; + ::java::net::InetAddress * addr; + jint port; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_InetSocketAddress__ diff --git a/libjava/java/net/JarURLConnection.h b/libjava/java/net/JarURLConnection.h new file mode 100644 index 00000000000..6c89e6e4d18 --- /dev/null +++ b/libjava/java/net/JarURLConnection.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_JarURLConnection__ +#define __java_net_JarURLConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class JarURLConnection; + class URL; + class URLConnection; + } + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class java::net::JarURLConnection : public ::java::net::URLConnection +{ + +public: // actually protected + JarURLConnection(::java::net::URL *); +public: + virtual ::java::net::URL * getJarFileURL(); + virtual ::java::lang::String * getEntryName(); + virtual ::java::util::jar::JarEntry * getJarEntry(); + virtual ::java::util::jar::JarFile * getJarFile() = 0; + virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); + virtual ::java::util::jar::Attributes * getMainAttributes(); + virtual ::java::util::jar::Attributes * getAttributes(); + virtual ::java::util::jar::Manifest * getManifest(); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::net::URLConnection)))) jarFileURL; +public: // actually protected + ::java::net::URLConnection * jarFileURLConnection; +private: + ::java::lang::String * entryName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_JarURLConnection__ diff --git a/libjava/java/net/MalformedURLException.h b/libjava/java/net/MalformedURLException.h new file mode 100644 index 00000000000..713bf5e7d6f --- /dev/null +++ b/libjava/java/net/MalformedURLException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_MalformedURLException__ +#define __java_net_MalformedURLException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class MalformedURLException; + } + } +} + +class java::net::MalformedURLException : public ::java::io::IOException +{ + +public: + MalformedURLException(); + MalformedURLException(::java::lang::String *); +private: + static const jlong serialVersionUID = -182787522200415866LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_MalformedURLException__ diff --git a/libjava/java/net/MimeTypeMapper.h b/libjava/java/net/MimeTypeMapper.h new file mode 100644 index 00000000000..06fb2679e6f --- /dev/null +++ b/libjava/java/net/MimeTypeMapper.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_MimeTypeMapper__ +#define __java_net_MimeTypeMapper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class MimeTypeMapper; + } + } +} + +class java::net::MimeTypeMapper : public ::java::lang::Object +{ + +public: + MimeTypeMapper(); + static void fillFromFile(::java::util::Map *, ::java::lang::String *); + virtual ::java::lang::String * getContentTypeFor(::java::lang::String *); + static void main(JArray< ::java::lang::String * > *); +public: // actually protected + static JArray< JArray< ::java::lang::String * > * > * mime_strings; +private: + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mime_types; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_MimeTypeMapper__ diff --git a/libjava/java/net/MulticastSocket.h b/libjava/java/net/MulticastSocket.h new file mode 100644 index 00000000000..2faac45e39f --- /dev/null +++ b/libjava/java/net/MulticastSocket.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_MulticastSocket__ +#define __java_net_MulticastSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class DatagramPacket; + class InetAddress; + class MulticastSocket; + class NetworkInterface; + class SocketAddress; + } + } +} + +class java::net::MulticastSocket : public ::java::net::DatagramSocket +{ + +public: + MulticastSocket(); + MulticastSocket(jint); + MulticastSocket(::java::net::SocketAddress *); + virtual ::java::net::InetAddress * getInterface(); + virtual jbyte getTTL(); + virtual jint getTimeToLive(); + virtual void setInterface(::java::net::InetAddress *); + virtual void setNetworkInterface(::java::net::NetworkInterface *); + virtual ::java::net::NetworkInterface * getNetworkInterface(); + virtual void setLoopbackMode(jboolean); + virtual jboolean getLoopbackMode(); + virtual void setTTL(jbyte); + virtual void setTimeToLive(jint); + virtual void joinGroup(::java::net::InetAddress *); + virtual void leaveGroup(::java::net::InetAddress *); + virtual void joinGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *); + virtual void leaveGroup(::java::net::SocketAddress *, ::java::net::NetworkInterface *); + virtual void send(::java::net::DatagramPacket *, jbyte); + static ::java::lang::Class class$; +}; + +#endif // __java_net_MulticastSocket__ diff --git a/libjava/java/net/MulticastSocket.java b/libjava/java/net/MulticastSocket.java new file mode 100644 index 00000000000..e24b1947731 --- /dev/null +++ b/libjava/java/net/MulticastSocket.java @@ -0,0 +1,519 @@ +/* MulticastSocket.java -- Class for using multicast sockets + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 + 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. */ + +package java.net; + +import java.io.IOException; +import java.util.Enumeration; + + +/** + * Written using on-line Java Platform 1.2 API Specification, as well + * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). + * Status: Believed complete and correct. + */ +/** + * This class models a multicast UDP socket. A multicast address is a + * class D internet address (one whose most significant bits are 1110). + * A multicast group consists of a multicast address and a well known + * port number. All members of the group listening on that address and + * port will receive all the broadcasts to the group. + *

      + * Please note that applets are not allowed to use multicast sockets + * + * Written using on-line Java Platform 1.2 API Specification, as well + * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). + * Status: Believed complete and correct. + * + * @author Warren Levy (warrenl@cygnus.com) + * @author Aaron M. Renn (arenn@urbanophile.com) (Documentation comments) + * @since 1.1 + * @date May 18, 1999. + */ +public class MulticastSocket extends DatagramSocket +{ + /** + * Create a MulticastSocket that this not bound to any address + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkListen method doesn't allow the operation + */ + public MulticastSocket() throws IOException + { + this(new InetSocketAddress(0)); + } + + /** + * Create a multicast socket bound to the specified port + * + * @param port The port to bind to + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkListen method doesn't allow the operation + */ + public MulticastSocket(int port) throws IOException + { + this(new InetSocketAddress(port)); + } + + /** + * Create a multicast socket bound to the specified SocketAddress. + * + * @param address The SocketAddress the multicast socket will be bound to + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkListen method doesn't allow the operation + * + * @since 1.4 + */ + public MulticastSocket(SocketAddress address) throws IOException + { + super((SocketAddress) null); + setReuseAddress(true); + if (address != null) + bind(address); + } + + /** + * Returns the interface being used for multicast packets + * + * @return The multicast interface + * + * @exception SocketException If an error occurs + */ + public InetAddress getInterface() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + return (InetAddress) getImpl().getOption(SocketOptions.IP_MULTICAST_IF); + } + + /** + * Returns the current value of the "Time to Live" option. This is the + * number of hops a packet can make before it "expires". This method id + * deprecated. Use getTimeToLive instead. + * + * @return The TTL value + * + * @exception IOException If an error occurs + * + * @deprecated 1.2 Replaced by getTimeToLive() + * + * @see MulticastSocket#getTimeToLive() + */ + public byte getTTL() throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + // Use getTTL here rather than getTimeToLive in case we're using an impl + // other than the default PlainDatagramSocketImpl and it doesn't have + // getTimeToLive yet. + return getImpl().getTTL(); + } + + /** + * Returns the current value of the "Time to Live" option. This is the + * number of hops a packet can make before it "expires". + * + * @return The TTL value + * + * @exception IOException If an error occurs + * + * @since 1.2 + */ + public int getTimeToLive() throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + return getImpl().getTimeToLive(); + } + + /** + * Sets the interface to use for sending multicast packets. + * + * @param addr The new interface to use. + * + * @exception SocketException If an error occurs. + * + * @since 1.4 + */ + public void setInterface(InetAddress addr) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.IP_MULTICAST_IF, addr); + } + + /** + * Sets the local network interface used to send multicast messages + * + * @param netIf The local network interface used to send multicast messages + * + * @exception SocketException If an error occurs + * + * @see MulticastSocket#getNetworkInterface() + * + * @since 1.4 + */ + public void setNetworkInterface(NetworkInterface netIf) + throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + InetAddress address; + if (netIf != null) + out: + { + Enumeration e = netIf.getInetAddresses(); + if (getLocalAddress() instanceof Inet4Address) + { + // Search for a IPv4 address. + while (e.hasMoreElements()) + { + address = (InetAddress) e.nextElement(); + if (address instanceof Inet4Address) + break out; + } + throw new SocketException("interface " + netIf.getName() + " has no IPv6 address"); + } + else if (getLocalAddress() instanceof Inet6Address) + { + // Search for a IPv6 address. + while (e.hasMoreElements()) + { + address = (InetAddress) e.nextElement(); + if (address instanceof Inet6Address) + break out; + } + throw new SocketException("interface " + netIf.getName() + " has no IPv6 address"); + } + else + throw new SocketException("interface " + netIf.getName() + " has no suitable IP address"); + } + else + address = InetAddress.ANY_IF; + + + getImpl().setOption(SocketOptions.IP_MULTICAST_IF, address); + } + + /** + * Gets the local network interface which is used to send multicast messages + * + * @return The local network interface to send multicast messages + * + * @exception SocketException If an error occurs + * + * @see MulticastSocket#setNetworkInterface(NetworkInterface netIf) + * + * @since 1.4 + */ + public NetworkInterface getNetworkInterface() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + InetAddress address = + (InetAddress) getImpl().getOption(SocketOptions.IP_MULTICAST_IF); + + // FIXME: libgcj doesn't have createAnyInterface. +// if (address.isAnyLocalAddress()) +// return NetworkInterface.createAnyInterface(); + + NetworkInterface netIf = NetworkInterface.getByInetAddress(address); + + return netIf; + } + + /** + * Disable/Enable local loopback of multicast packets. The option is used by + * the platform's networking code as a hint for setting whether multicast + * data will be looped back to the local socket. + * + * Because this option is a hint, applications that want to verify what + * loopback mode is set to should call #getLoopbackMode + * + * @param disable True to disable loopback mode + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public void setLoopbackMode(boolean disable) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.IP_MULTICAST_LOOP, + Boolean.valueOf(disable)); + } + + /** + * Checks if local loopback mode is enabled + * + * @return true if loopback mode is enabled, false otherwise + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public boolean getLoopbackMode() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.IP_MULTICAST_LOOP); + + if (buf instanceof Boolean) + return ((Boolean) buf).booleanValue(); + + throw new SocketException("unexpected type"); + } + + /** + * Sets the "Time to Live" value for a socket. The value must be between + * 1 and 255. + * + * @param ttl The new TTL value + * + * @exception IOException If an error occurs + * + * @deprecated 1.2 Replaced by setTimeToLive + * + * @see MulticastSocket#setTimeToLive(int ttl) + */ + public void setTTL(byte ttl) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + // Use setTTL here rather than setTimeToLive in case we're using an impl + // other than the default PlainDatagramSocketImpl and it doesn't have + // setTimeToLive yet. + getImpl().setTTL(ttl); + } + + /** + * Sets the "Time to Live" value for a socket. The value must be between + * 1 and 255. + * + * @param ttl The new TTL value + * + * @exception IOException If an error occurs + * + * @since 1.2 + */ + public void setTimeToLive(int ttl) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (ttl <= 0 || ttl > 255) + throw new IllegalArgumentException("Invalid ttl: " + ttl); + + getImpl().setTimeToLive(ttl); + } + + /** + * Joins the specified multicast group. + * + * @param mcastaddr The address of the group to join + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkMulticast method doesn't allow the operation + */ + public void joinGroup(InetAddress mcastaddr) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! mcastaddr.isMulticastAddress()) + throw new IOException("Not a Multicast address"); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkMulticast(mcastaddr); + + getImpl().join(mcastaddr); + } + + /** + * Leaves the specified multicast group + * + * @param mcastaddr The address of the group to leave + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkMulticast method doesn't allow the operation + */ + public void leaveGroup(InetAddress mcastaddr) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! mcastaddr.isMulticastAddress()) + throw new IOException("Not a Multicast address"); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkMulticast(mcastaddr); + + getImpl().leave(mcastaddr); + } + + /** + * Joins the specified mulitcast group on a specified interface. + * + * @param mcastaddr The multicast address to join + * @param netIf The local network interface to receive the multicast + * messages on or null to defer the interface set by #setInterface or + * #setNetworkInterface + * + * @exception IOException If an error occurs + * @exception IllegalArgumentException If address type is not supported + * @exception SecurityException If a security manager exists and its + * checkMulticast method doesn't allow the operation + * + * @see MulticastSocket#setInterface(InetAddress addr) + * @see MulticastSocket#setNetworkInterface(NetworkInterface netIf) + * + * @since 1.4 + */ + public void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) + throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! (mcastaddr instanceof InetSocketAddress)) + throw new IllegalArgumentException("SocketAddress type not supported"); + + InetSocketAddress tmp = (InetSocketAddress) mcastaddr; + + if (! tmp.getAddress().isMulticastAddress()) + throw new IOException("Not a Multicast address"); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkMulticast(tmp.getAddress()); + + getImpl().joinGroup(mcastaddr, netIf); + } + + /** + * Leaves the specified mulitcast group on a specified interface. + * + * @param mcastaddr The multicast address to leave + * @param netIf The local networki interface or null to defer to the + * interface set by setInterface or setNetworkInterface + * + * @exception IOException If an error occurs + * @exception IllegalArgumentException If address type is not supported + * @exception SecurityException If a security manager exists and its + * checkMulticast method doesn't allow the operation + * + * @see MulticastSocket#setInterface(InetAddress addr) + * @see MulticastSocket#setNetworkInterface(NetworkInterface netIf) + * + * @since 1.4 + */ + public void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) + throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + InetSocketAddress tmp = (InetSocketAddress) mcastaddr; + + if (! tmp.getAddress().isMulticastAddress()) + throw new IOException("Not a Multicast address"); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkMulticast(tmp.getAddress()); + + getImpl().leaveGroup(mcastaddr, netIf); + } + + /** + * Sends a packet of data to a multicast address with a TTL that is + * different from the default TTL on this socket. The default TTL for + * the socket is not changed. + * + * @param packet The packet of data to send + * @param ttl The TTL for this packet + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect or checkMulticast method doesn't allow the operation + * + * @deprecated + */ + public synchronized void send(DatagramPacket packet, byte ttl) + throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + SecurityManager s = System.getSecurityManager(); + if (s != null) + { + InetAddress addr = packet.getAddress(); + if (addr.isMulticastAddress()) + s.checkPermission(new SocketPermission(addr.getHostName() + + packet.getPort(), + "accept,connect")); + else + s.checkConnect(addr.getHostAddress(), packet.getPort()); + } + + int oldttl = getImpl().getTimeToLive(); + getImpl().setTimeToLive(((int) ttl) & 0xFF); + getImpl().send(packet); + getImpl().setTimeToLive(oldttl); + } +} diff --git a/libjava/java/net/NetPermission.h b/libjava/java/net/NetPermission.h new file mode 100644 index 00000000000..a6c88555bc9 --- /dev/null +++ b/libjava/java/net/NetPermission.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_NetPermission__ +#define __java_net_NetPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class NetPermission; + } + } +} + +class java::net::NetPermission : public ::java::security::BasicPermission +{ + +public: + NetPermission(::java::lang::String *); + NetPermission(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + static const jlong serialVersionUID = -8343910153355041693LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_NetPermission__ diff --git a/libjava/java/net/NetworkInterface.h b/libjava/java/net/NetworkInterface.h new file mode 100644 index 00000000000..66898a2129f --- /dev/null +++ b/libjava/java/net/NetworkInterface.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_NetworkInterface__ +#define __java_net_NetworkInterface__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class NetworkInterface; + } + } +} + +class java::net::NetworkInterface : public ::java::lang::Object +{ + +public: // actually package-private + NetworkInterface(::java::lang::String *, ::java::net::InetAddress *); + NetworkInterface(::java::lang::String *, JArray< ::java::net::InetAddress * > *); +public: + ::java::lang::String * getName(); + ::java::util::Enumeration * getInetAddresses(); + ::java::lang::String * getDisplayName(); + static ::java::net::NetworkInterface * getByName(::java::lang::String *); + static ::java::net::NetworkInterface * getByInetAddress(::java::net::InetAddress *); +private: + static ::java::util::Collection * condense(::java::util::Collection *); +public: + static ::java::util::Enumeration * getNetworkInterfaces(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::util::Vector * inetAddresses; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_NetworkInterface__ diff --git a/libjava/java/net/NetworkInterface.java b/libjava/java/net/NetworkInterface.java new file mode 100644 index 00000000000..7ad62a71395 --- /dev/null +++ b/libjava/java/net/NetworkInterface.java @@ -0,0 +1,299 @@ +/* NetworkInterface.java -- + Copyright (C) 2002, 2003, 2004, 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. */ + + +package java.net; + +import java.util.Collection; +import java.util.Collections; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Vector; + +/** + * This class models a network interface on the host computer. A network + * interface contains a name (typically associated with a specific + * hardware adapter) and a list of addresses that are bound to it. + * For example, an ethernet interface may be named "eth0" and have the + * address 192.168.1.101 assigned to it. + * + * @author Michael Koch (konqueror@gmx.de) + * @since 1.4 + */ +public final class NetworkInterface +{ + private String name; + private Vector inetAddresses; + + NetworkInterface(String name, InetAddress address) + { + this.name = name; + this.inetAddresses = new Vector(1, 1); + this.inetAddresses.add(address); + } + + NetworkInterface(String name, InetAddress[] addresses) + { + this.name = name; + this.inetAddresses = new Vector(addresses.length, 1); + + for (int i = 0; i < addresses.length; i++) + this.inetAddresses.add(addresses[i]); + } + + /** + * Returns the name of the network interface + * + * @return The name of the interface. + */ + public String getName() + { + return name; + } + + /** + * Returns all available addresses of the network interface + * + * If a @see SecurityManager is available all addresses are checked + * with @see SecurityManager::checkConnect() if they are available. + * Only InetAddresses are returned where the security manager + * doesn't throw an exception. + * + * @return An enumeration of all addresses. + */ + public Enumeration getInetAddresses() + { + SecurityManager s = System.getSecurityManager(); + + if (s == null) + return inetAddresses.elements(); + + Vector tmpInetAddresses = new Vector(1, 1); + + for (Enumeration addresses = inetAddresses.elements(); + addresses.hasMoreElements();) + { + InetAddress addr = addresses.nextElement(); + try + { + s.checkConnect(addr.getHostAddress(), 58000); + tmpInetAddresses.add(addr); + } + catch (SecurityException e) + { + // Ignore. + } + } + + return tmpInetAddresses.elements(); + } + + /** + * Returns the display name of the interface + * + * @return The display name of the interface + */ + public String getDisplayName() + { + return name; + } + + /** + * Returns an network interface by name + * + * @param name The name of the interface to return + * + * @return a NetworkInterface object representing the interface, + * or null if there is no interface with that name. + * + * @exception SocketException If an error occurs + * @exception NullPointerException If the specified name is null + */ + public static NetworkInterface getByName(String name) + throws SocketException + { + for (Enumeration e = getNetworkInterfaces(); e.hasMoreElements();) + { + NetworkInterface tmp = (NetworkInterface) e.nextElement(); + + if (name.equals(tmp.getName())) + return tmp; + } + + // No interface with the given name found. + return null; + } + + /** + * Return a network interface by its address + * + * @param addr The address of the interface to return + * + * @return the interface, or null if none found + * + * @exception SocketException If an error occurs + * @exception NullPointerException If the specified addess is null + */ + public static NetworkInterface getByInetAddress(InetAddress addr) + throws SocketException + { + for (Enumeration interfaces = getNetworkInterfaces(); + interfaces.hasMoreElements();) + { + NetworkInterface tmp = (NetworkInterface) interfaces.nextElement(); + + for (Enumeration addresses = tmp.inetAddresses.elements(); + addresses.hasMoreElements();) + { + if (addr.equals((InetAddress) addresses.nextElement())) + return tmp; + } + } + + throw new SocketException("no network interface is bound to such an IP address"); + } + + static private Collection condense(Collection interfaces) + { + final Map condensed = new HashMap(); + + final Iterator interfs = interfaces.iterator(); + while (interfs.hasNext()) { + + final NetworkInterface face = (NetworkInterface) interfs.next(); + final String name = face.getName(); + + if (condensed.containsKey(name)) + { + final NetworkInterface conface = (NetworkInterface) condensed.get(name); + if (!conface.inetAddresses.containsAll(face.inetAddresses)) + { + final Iterator faceAddresses = face.inetAddresses.iterator(); + while (faceAddresses.hasNext()) + { + final InetAddress faceAddress = (InetAddress) faceAddresses.next(); + if (!conface.inetAddresses.contains(faceAddress)) + { + conface.inetAddresses.add(faceAddress); + } + } + } + } + else + { + condensed.put(name, face); + } + } + + return condensed.values(); + } + + /** + * Return an Enumeration of all available network interfaces + * + * @return all interfaces + * + * @exception SocketException If an error occurs + */ + public static Enumeration getNetworkInterfaces() + throws SocketException + { + Vector networkInterfaces = + VMNetworkInterface.getInterfaces(); + + if (networkInterfaces.isEmpty()) + return null; + + Collection condensed = condense(networkInterfaces); + + return Collections.enumeration(condensed); + } + + /** + * Checks if the current instance is equal to obj + * + * @param obj The object to compare with + * + * @return true if equal, false otherwise + */ + public boolean equals(Object obj) + { + if (! (obj instanceof NetworkInterface)) + return false; + + NetworkInterface tmp = (NetworkInterface) obj; + + return (name.equals(tmp.name) && inetAddresses.equals(tmp.inetAddresses)); + } + + /** + * Returns the hashcode of the current instance + * + * @return the hashcode + */ + public int hashCode() + { + // FIXME: hash correctly + return name.hashCode() + inetAddresses.hashCode(); + } + + /** + * Returns a string representation of the interface + * + * @return the string + */ + public String toString() + { + // FIXME: check if this is correct + String result; + String separator = System.getProperty("line.separator"); + + result = + "name: " + getDisplayName() + " (" + getName() + ") addresses:" + + separator; + + for (Enumeration e = inetAddresses.elements(); e.hasMoreElements();) + { + InetAddress address = (InetAddress) e.nextElement(); + result += address.toString() + ";" + separator; + } + + return result; + } +} diff --git a/libjava/java/net/NoRouteToHostException.h b/libjava/java/net/NoRouteToHostException.h new file mode 100644 index 00000000000..7a639eaa749 --- /dev/null +++ b/libjava/java/net/NoRouteToHostException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_NoRouteToHostException__ +#define __java_net_NoRouteToHostException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class NoRouteToHostException; + } + } +} + +class java::net::NoRouteToHostException : public ::java::net::SocketException +{ + +public: + NoRouteToHostException(); + NoRouteToHostException(::java::lang::String *); +private: + static const jlong serialVersionUID = -1897550894873493790LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_NoRouteToHostException__ diff --git a/libjava/java/net/PasswordAuthentication.h b/libjava/java/net/PasswordAuthentication.h new file mode 100644 index 00000000000..2567fd0e5fc --- /dev/null +++ b/libjava/java/net/PasswordAuthentication.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_PasswordAuthentication__ +#define __java_net_PasswordAuthentication__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class PasswordAuthentication; + } + } +} + +class java::net::PasswordAuthentication : public ::java::lang::Object +{ + +public: + PasswordAuthentication(::java::lang::String *, JArray< jchar > *); + ::java::lang::String * getUserName(); + JArray< jchar > * getPassword(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) username; + JArray< jchar > * password; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_PasswordAuthentication__ diff --git a/libjava/java/net/PortUnreachableException.h b/libjava/java/net/PortUnreachableException.h new file mode 100644 index 00000000000..5e0fff24987 --- /dev/null +++ b/libjava/java/net/PortUnreachableException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_PortUnreachableException__ +#define __java_net_PortUnreachableException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class PortUnreachableException; + } + } +} + +class java::net::PortUnreachableException : public ::java::net::SocketException +{ + +public: + PortUnreachableException(); + PortUnreachableException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8462541992376507323LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_PortUnreachableException__ diff --git a/libjava/java/net/ProtocolException.h b/libjava/java/net/ProtocolException.h new file mode 100644 index 00000000000..39e7b7b1e41 --- /dev/null +++ b/libjava/java/net/ProtocolException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ProtocolException__ +#define __java_net_ProtocolException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ProtocolException; + } + } +} + +class java::net::ProtocolException : public ::java::io::IOException +{ + +public: + ProtocolException(); + ProtocolException(::java::lang::String *); +private: + static const jlong serialVersionUID = -6098449442062388080LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_ProtocolException__ diff --git a/libjava/java/net/Proxy$Type.h b/libjava/java/net/Proxy$Type.h new file mode 100644 index 00000000000..288bd8c519a --- /dev/null +++ b/libjava/java/net/Proxy$Type.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_Proxy$Type__ +#define __java_net_Proxy$Type__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Proxy$Type; + } + } +} + +class java::net::Proxy$Type : public ::java::lang::Enum +{ + + Proxy$Type(::java::lang::String *, jint); +public: + static JArray< ::java::net::Proxy$Type * > * values(); + static ::java::net::Proxy$Type * valueOf(::java::lang::String *); + static ::java::net::Proxy$Type * DIRECT; + static ::java::net::Proxy$Type * HTTP; + static ::java::net::Proxy$Type * SOCKS; +private: + static const jlong serialVersionUID = -2231209257930100533LL; + static JArray< ::java::net::Proxy$Type * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_Proxy$Type__ diff --git a/libjava/java/net/Proxy.h b/libjava/java/net/Proxy.h new file mode 100644 index 00000000000..b6b44e3a62f --- /dev/null +++ b/libjava/java/net/Proxy.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_Proxy__ +#define __java_net_Proxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class Proxy; + class Proxy$Type; + class SocketAddress; + } + } +} + +class java::net::Proxy : public ::java::lang::Object +{ + +public: + Proxy(::java::net::Proxy$Type *, ::java::net::SocketAddress *); + virtual ::java::net::SocketAddress * address(); + virtual ::java::net::Proxy$Type * type(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + static ::java::net::Proxy * NO_PROXY; +private: + ::java::net::Proxy$Type * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type__; + ::java::net::SocketAddress * address__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_Proxy__ diff --git a/libjava/java/net/ProxySelector.h b/libjava/java/net/ProxySelector.h new file mode 100644 index 00000000000..62382ee58a5 --- /dev/null +++ b/libjava/java/net/ProxySelector.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ProxySelector__ +#define __java_net_ProxySelector__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ProxySelector; + class SocketAddress; + class URI; + } + } +} + +class java::net::ProxySelector : public ::java::lang::Object +{ + +public: + ProxySelector(); + static ::java::net::ProxySelector * getDefault(); + static void setDefault(::java::net::ProxySelector *); + virtual void connectFailed(::java::net::URI *, ::java::net::SocketAddress *, ::java::io::IOException *) = 0; + virtual ::java::util::List * select(::java::net::URI *) = 0; +private: + static ::java::net::ProxySelector * defaultSelector; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_ProxySelector__ diff --git a/libjava/java/net/ResolverCache$Entry.h b/libjava/java/net/ResolverCache$Entry.h new file mode 100644 index 00000000000..22b5da83f97 --- /dev/null +++ b/libjava/java/net/ResolverCache$Entry.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ResolverCache$Entry__ +#define __java_net_ResolverCache$Entry__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ResolverCache$Entry; + } + } +} + +class java::net::ResolverCache$Entry : public ::java::lang::Object +{ + +public: + ResolverCache$Entry(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::Object * value; + jlong expires; + static ::java::lang::Class class$; +}; + +#endif // __java_net_ResolverCache$Entry__ diff --git a/libjava/java/net/ResolverCache.h b/libjava/java/net/ResolverCache.h new file mode 100644 index 00000000000..d274d235c05 --- /dev/null +++ b/libjava/java/net/ResolverCache.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ResolverCache__ +#define __java_net_ResolverCache__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class ResolverCache; + class ResolverCache$Entry; + } + } +} + +class java::net::ResolverCache : public ::java::lang::Object +{ + +public: // actually package-private + ResolverCache(); +private: + static jint getTTL(::java::lang::String *, jint); +public: + static ::java::lang::String * getHostByAddr(JArray< jbyte > *); + static JArray< JArray< jbyte > * > * getHostByName(::java::lang::String *); +private: + static ::java::lang::Object * makeHashableAddress(JArray< jbyte > *); + static ::java::net::ResolverCache$Entry * get(::java::lang::Object *); + static void put(::java::net::ResolverCache$Entry *); + static void reap(); +public: // actually package-private + static jint access$0(); + static jint access$1(); +private: + static jint POSITIVE_TTL; + static jint NEGATIVE_TTL; + static ::java::util::HashMap * cache; + static ::java::util::LinkedList * killqueue; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_ResolverCache__ diff --git a/libjava/java/net/ServerSocket.h b/libjava/java/net/ServerSocket.h new file mode 100644 index 00000000000..af51cb6d864 --- /dev/null +++ b/libjava/java/net/ServerSocket.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_ServerSocket__ +#define __java_net_ServerSocket__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class InetSocketAddress; + class ServerSocket; + class Socket; + class SocketAddress; + class SocketImpl; + class SocketImplFactory; + } + namespace nio + { + namespace channels + { + class ServerSocketChannel; + } + } + } +} + +class java::net::ServerSocket : public ::java::lang::Object +{ + +public: // actually package-private + ServerSocket(::java::net::SocketImpl *); + virtual ::java::net::SocketImpl * getImpl(); +public: + ServerSocket(); + ServerSocket(jint); + ServerSocket(jint, jint); + ServerSocket(jint, jint, ::java::net::InetAddress *); + virtual void bind(::java::net::SocketAddress *); + virtual void bind(::java::net::SocketAddress *, jint); + virtual ::java::net::InetAddress * getInetAddress(); + virtual jint getLocalPort(); + virtual ::java::net::SocketAddress * getLocalSocketAddress(); + virtual ::java::net::Socket * accept(); +public: // actually protected + virtual void implAccept(::java::net::Socket *); +public: + virtual void close(); + virtual ::java::nio::channels::ServerSocketChannel * getChannel(); + virtual jboolean isBound(); + virtual jboolean isClosed(); + virtual void setSoTimeout(jint); + virtual jint getSoTimeout(); + virtual void setReuseAddress(jboolean); + virtual jboolean getReuseAddress(); + virtual void setReceiveBufferSize(jint); + virtual jint getReceiveBufferSize(); + virtual ::java::lang::String * toString(); + static void setSocketFactory(::java::net::SocketImplFactory *); +private: + static ::java::net::SocketImplFactory * factory; + ::java::net::SocketImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) impl; + ::java::net::InetSocketAddress * local; + jint port; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_ServerSocket__ diff --git a/libjava/java/net/Socket.h b/libjava/java/net/Socket.h new file mode 100644 index 00000000000..776d6fc473a --- /dev/null +++ b/libjava/java/net/Socket.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_Socket__ +#define __java_net_Socket__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class Socket; + class SocketAddress; + class SocketImpl; + class SocketImplFactory; + } + namespace nio + { + namespace channels + { + class SocketChannel; + } + } + } +} + +class java::net::Socket : public ::java::lang::Object +{ + +public: + Socket(); +public: // actually protected + Socket(::java::net::SocketImpl *); +public: + Socket(::java::lang::String *, jint); + Socket(::java::net::InetAddress *, jint); + Socket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + Socket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); + Socket(::java::lang::String *, jint, jboolean); + Socket(::java::net::InetAddress *, jint, jboolean); +private: + Socket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint, jboolean); + ::java::net::SocketImpl * getImpl(); +public: + virtual void bind(::java::net::SocketAddress *); + virtual void connect(::java::net::SocketAddress *); + virtual void connect(::java::net::SocketAddress *, jint); + virtual ::java::net::InetAddress * getInetAddress(); + virtual ::java::net::InetAddress * getLocalAddress(); + virtual jint getPort(); + virtual jint getLocalPort(); + virtual ::java::net::SocketAddress * getLocalSocketAddress(); + virtual ::java::net::SocketAddress * getRemoteSocketAddress(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + virtual void setTcpNoDelay(jboolean); + virtual jboolean getTcpNoDelay(); + virtual void setSoLinger(jboolean, jint); + virtual jint getSoLinger(); + virtual void sendUrgentData(jint); + virtual void setOOBInline(jboolean); + virtual jboolean getOOBInline(); + virtual void setSoTimeout(jint); + virtual jint getSoTimeout(); + virtual void setSendBufferSize(jint); + virtual jint getSendBufferSize(); + virtual void setReceiveBufferSize(jint); + virtual jint getReceiveBufferSize(); + virtual void setKeepAlive(jboolean); + virtual jboolean getKeepAlive(); + virtual void close(); + virtual ::java::lang::String * toString(); + static void setSocketImplFactory(::java::net::SocketImplFactory *); + virtual void shutdownInput(); + virtual void shutdownOutput(); + virtual ::java::nio::channels::SocketChannel * getChannel(); + virtual jboolean getReuseAddress(); + virtual void setReuseAddress(jboolean); + virtual jint getTrafficClass(); + virtual void setTrafficClass(jint); + virtual jboolean isConnected(); + virtual jboolean isBound(); + virtual jboolean isClosed(); + virtual jboolean isInputShutdown(); + virtual jboolean isOutputShutdown(); +public: // actually package-private + static ::java::net::SocketImplFactory * factory; + ::java::net::SocketImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) impl; + jboolean implCreated; + jboolean bound; +private: + jboolean inputShutdown; + jboolean outputShutdown; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_Socket__ diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java new file mode 100644 index 00000000000..b2249ffaa0d --- /dev/null +++ b/libjava/java/net/Socket.java @@ -0,0 +1,1269 @@ +/* Socket.java -- Client socket implementation + Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004 + 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. */ + +package java.net; + +import gnu.java.net.PlainSocketImpl; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.channels.IllegalBlockingModeException; +import java.nio.channels.SocketChannel; + + +/* Written using on-line Java Platform 1.2 API Specification. + * Status: I believe all methods are implemented. + */ + +/** + * This class models a client site socket. A socket is a TCP/IP endpoint + * for network communications conceptually similar to a file handle. + *

      + * This class does not actually do any work. Instead, it redirects all of + * its calls to a socket implementation object which implements the + * SocketImpl interface. The implementation class is + * instantiated by factory class that implements the + * SocketImplFactory interface. A default + * factory is provided, however the factory may be set by a call to + * the setSocketImplFactory method. Note that this may only be + * done once per virtual machine. If a subsequent attempt is made to set the + * factory, a SocketException will be thrown. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Per Bothner (bothner@cygnus.com) + */ +public class Socket +{ + /** + * This is the user SocketImplFactory for this class. If this variable is + * null, a default factory is used. + */ + static SocketImplFactory factory; + + /** + * The implementation object to which calls are redirected + */ + // package-private because ServerSocket.implAccept() needs to access it. + SocketImpl impl; + + /** + * True if socket implementation was created by calling their + * create() method. + */ + // package-private because ServerSocket.implAccept() needs to access it. + boolean implCreated; + + /** + * True if the socket is bound. + * Package private so it can be set from ServerSocket when accept is called. + */ + boolean bound; + + /** + * True if input is shutdown. + */ + private boolean inputShutdown; + + /** + * True if output is shutdown. + */ + private boolean outputShutdown; + + /** + * Initializes a new instance of Socket object without + * connecting to a remote host. This useful for subclasses of socket that + * might want this behavior. + * + * @specnote This constructor is public since JDK 1.4 + * @since 1.1 + */ + public Socket() + { + if (factory != null) + impl = factory.createSocketImpl(); + else + impl = new PlainSocketImpl(); + } + + /** + * Initializes a new instance of Socket object without + * connecting to a remote host. This is useful for subclasses of socket + * that might want this behavior. + *

      + * Additionally, this socket will be created using the supplied + * implementation class instead the default class or one returned by a + * factory. If this value is null, the default Socket + * implementation is used. + * + * @param impl The SocketImpl to use for this + * Socket + * + * @exception SocketException If an error occurs + * + * @since 1.1 + */ + protected Socket(SocketImpl impl) throws SocketException + { + if (impl == null) + this.impl = new PlainSocketImpl(); + else + this.impl = impl; + } + + /** + * Initializes a new instance of Socket and connects to the + * hostname and port specified as arguments. + * + * @param host The name of the host to connect to + * @param port The port number to connect to + * + * @exception UnknownHostException If the hostname cannot be resolved to a + * network address. + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + */ + public Socket(String host, int port) + throws UnknownHostException, IOException + { + this(InetAddress.getByName(host), port, null, 0, true); + } + + /** + * Initializes a new instance of Socket and connects to the + * address and port number specified as arguments. + * + * @param address The address to connect to + * @param port The port number to connect to + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + */ + public Socket(InetAddress address, int port) throws IOException + { + this(address, port, null, 0, true); + } + + /** + * Initializes a new instance of Socket that connects to the + * named host on the specified port and binds to the specified local address + * and port. + * + * @param host The name of the remote host to connect to. + * @param port The remote port to connect to. + * @param localAddr The local address to bind to. + * @param localPort The local port to bind to. + * + * @exception SecurityException If the SecurityManager + * exists and does not allow a connection to the specified host/port or + * binding to the specified local host/port. + * @exception IOException If a connection error occurs. + * + * @since 1.1 + */ + public Socket(String host, int port, InetAddress localAddr, int localPort) + throws IOException + { + this(InetAddress.getByName(host), port, localAddr, localPort, true); + } + + /** + * Initializes a new instance of Socket and connects to the + * address and port number specified as arguments, plus binds to the + * specified local address and port. + * + * @param address The remote address to connect to + * @param port The remote port to connect to + * @param localAddr The local address to connect to + * @param localPort The local port to connect to + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + * + * @since 1.1 + */ + public Socket(InetAddress address, int port, InetAddress localAddr, + int localPort) throws IOException + { + this(address, port, localAddr, localPort, true); + } + + /** + * Initializes a new instance of Socket and connects to the + * hostname and port specified as arguments. If the stream argument is set + * to true, then a stream socket is created. If it is + * false, a datagram socket is created. + * + * @param host The name of the host to connect to + * @param port The port to connect to + * @param stream true for a stream socket, false + * for a datagram socket + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + * + * @deprecated Use the DatagramSocket class to create + * datagram oriented sockets. + */ + public Socket(String host, int port, boolean stream) + throws IOException + { + this(InetAddress.getByName(host), port, null, 0, stream); + } + + /** + * Initializes a new instance of Socket and connects to the + * address and port number specified as arguments. If the stream param is + * true, a stream socket will be created, otherwise a datagram + * socket is created. + * + * @param host The address to connect to + * @param port The port number to connect to + * @param stream true to create a stream socket, + * false to create a datagram socket. + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + * + * @deprecated Use the DatagramSocket class to create + * datagram oriented sockets. + */ + public Socket(InetAddress host, int port, boolean stream) + throws IOException + { + this(host, port, null, 0, stream); + } + + /** + * This constructor is where the real work takes place. Connect to the + * specified address and port. Use default local values if not specified, + * otherwise use the local host and port passed in. Create as stream or + * datagram based on "stream" argument. + *

      + * + * @param raddr The remote address to connect to + * @param rport The remote port to connect to + * @param laddr The local address to connect to + * @param lport The local port to connect to + * @param stream true for a stream socket, false for a datagram socket + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + */ + private Socket(InetAddress raddr, int rport, InetAddress laddr, int lport, + boolean stream) throws IOException + { + this(); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkConnect(raddr.getHostName(), rport); + + // bind socket + SocketAddress bindaddr = + laddr == null ? null : new InetSocketAddress(laddr, lport); + bind(bindaddr); + + // connect socket + connect(new InetSocketAddress(raddr, rport)); + + // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, + // i.e. '0' and if localAddr is unspecified, use getLocalAddress() as + // that default. JDK 1.2 doc infers not to do a bind. + } + + private SocketImpl getImpl() throws SocketException + { + try + { + if (! implCreated) + { + impl.create(true); + implCreated = true; + } + } + catch (IOException e) + { + SocketException se = new SocketException(e.toString()); + se.initCause(e); + throw se; + } + + return impl; + } + + /** + * Binds the socket to the givent local address/port + * + * @param bindpoint The address/port to bind to + * + * @exception IOException If an error occurs + * @exception SecurityException If a security manager exists and its + * checkConnect method doesn't allow the operation + * @exception IllegalArgumentException If the address type is not supported + * + * @since 1.4 + */ + public void bind(SocketAddress bindpoint) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + // XXX: JDK 1.4.1 API documentation says that if bindpoint is null the + // socket will be bound to an ephemeral port and a valid local address. + if (bindpoint == null) + bindpoint = new InetSocketAddress(InetAddress.ANY_IF, 0); + + if (! (bindpoint instanceof InetSocketAddress)) + throw new IllegalArgumentException(); + + InetSocketAddress tmp = (InetSocketAddress) bindpoint; + + // bind to address/port + try + { + getImpl().bind(tmp.getAddress(), tmp.getPort()); + bound = true; + } + catch (IOException exception) + { + close(); + throw exception; + } + catch (RuntimeException exception) + { + close(); + throw exception; + } + catch (Error error) + { + close(); + throw error; + } + } + + /** + * Connects the socket with a remote address. + * + * @param endpoint The address to connect to + * + * @exception IOException If an error occurs + * @exception IllegalArgumentException If the addess type is not supported + * @exception IllegalBlockingModeException If this socket has an associated + * channel, and the channel is in non-blocking mode + * + * @since 1.4 + */ + public void connect(SocketAddress endpoint) throws IOException + { + connect(endpoint, 0); + } + + /** + * Connects the socket with a remote address. A timeout of zero is + * interpreted as an infinite timeout. The connection will then block + * until established or an error occurs. + * + * @param endpoint The address to connect to + * @param timeout The length of the timeout in milliseconds, or + * 0 to indicate no timeout. + * + * @exception IOException If an error occurs + * @exception IllegalArgumentException If the address type is not supported + * @exception IllegalBlockingModeException If this socket has an associated + * channel, and the channel is in non-blocking mode + * @exception SocketTimeoutException If the timeout is reached + * + * @since 1.4 + */ + public void connect(SocketAddress endpoint, int timeout) + throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! (endpoint instanceof InetSocketAddress)) + throw new IllegalArgumentException("unsupported address type"); + + // The Sun spec says that if we have an associated channel and + // it is in non-blocking mode, we throw an IllegalBlockingModeException. + // However, in our implementation if the channel itself initiated this + // operation, then we must honor it regardless of its blocking mode. + if (getChannel() != null && ! getChannel().isBlocking() + && ! ((PlainSocketImpl) getImpl()).isInChannelOperation()) + throw new IllegalBlockingModeException(); + + if (! isBound()) + bind(null); + + getImpl().connect(endpoint, timeout); + } + + /** + * Returns the address of the remote end of the socket. If this socket + * is not connected, then null is returned. + * + * @return The remote address this socket is connected to + */ + public InetAddress getInetAddress() + { + if (! isConnected()) + return null; + + try + { + return getImpl().getInetAddress(); + } + catch (SocketException e) + { + // This cannot happen as we are connected. + } + + return null; + } + + /** + * Returns the local address to which this socket is bound. If this socket + * is not connected, then a wildcard address, for which + * @see InetAddress#isAnyLocalAddress() is true, is returned. + * + * @return The local address + * + * @since 1.1 + */ + public InetAddress getLocalAddress() + { + if (! isBound()) + return InetAddress.ANY_IF; + + InetAddress addr = null; + + try + { + addr = (InetAddress) getImpl().getOption(SocketOptions.SO_BINDADDR); + } + catch (SocketException e) + { + // (hopefully) shouldn't happen + // throw new java.lang.InternalError + // ("Error in PlainSocketImpl.getOption"); + return null; + } + + // FIXME: According to libgcj, checkConnect() is supposed to be called + // before performing this operation. Problems: 1) We don't have the + // addr until after we do it, so we do a post check. 2). The docs I + // see don't require this in the Socket case, only DatagramSocket, but + // we'll assume they mean both. + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkConnect(addr.getHostName(), getLocalPort()); + + return addr; + } + + /** + * Returns the port number of the remote end of the socket connection. If + * this socket is not connected, then 0 is returned. + * + * @return The remote port this socket is connected to + */ + public int getPort() + { + if (! isConnected()) + return 0; + + try + { + return getImpl().getPort(); + } + catch (SocketException e) + { + // This cannot happen as we are connected. + } + + return 0; + } + + /** + * Returns the local port number to which this socket is bound. If this + * socket is not connected, then -1 is returned. + * + * @return The local port + */ + public int getLocalPort() + { + if (! isBound()) + return -1; + + try + { + if (getImpl() != null) + return getImpl().getLocalPort(); + } + catch (SocketException e) + { + // This cannot happen as we are bound. + } + + return -1; + } + + /** + * Returns local socket address. + * + * @return the local socket address, null if not bound + * + * @since 1.4 + */ + public SocketAddress getLocalSocketAddress() + { + if (! isBound()) + return null; + + InetAddress addr = getLocalAddress(); + + try + { + return new InetSocketAddress(addr, getImpl().getLocalPort()); + } + catch (SocketException e) + { + // This cannot happen as we are bound. + return null; + } + } + + /** + * Returns the remote socket address. + * + * @return the remote socket address, null of not connected + * + * @since 1.4 + */ + public SocketAddress getRemoteSocketAddress() + { + if (! isConnected()) + return null; + + try + { + return new InetSocketAddress(getImpl().getInetAddress(), + getImpl().getPort()); + } + catch (SocketException e) + { + // This cannot happen as we are connected. + return null; + } + } + + /** + * Returns an InputStream for reading from this socket. + * + * @return The InputStream object + * + * @exception IOException If an error occurs or Socket is not connected + */ + public InputStream getInputStream() throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! isConnected()) + throw new IOException("not connected"); + + return getImpl().getInputStream(); + } + + /** + * Returns an OutputStream for writing to this socket. + * + * @return The OutputStream object + * + * @exception IOException If an error occurs or Socket is not connected + */ + public OutputStream getOutputStream() throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (! isConnected()) + throw new IOException("not connected"); + + return getImpl().getOutputStream(); + } + + /** + * Sets the TCP_NODELAY option on the socket. + * + * @param on true to enable, false to disable + * + * @exception SocketException If an error occurs or Socket is not connected + * + * @since 1.1 + */ + public void setTcpNoDelay(boolean on) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.TCP_NODELAY, Boolean.valueOf(on)); + } + + /** + * Tests whether or not the TCP_NODELAY option is set on the socket. + * Returns true if enabled, false if disabled. When on it disables the + * Nagle algorithm which means that packets are always send immediatly and + * never merged together to reduce network trafic. + * + * @return Whether or not TCP_NODELAY is set + * + * @exception SocketException If an error occurs or Socket not connected + * + * @since 1.1 + */ + public boolean getTcpNoDelay() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object on = getImpl().getOption(SocketOptions.TCP_NODELAY); + + if (on instanceof Boolean) + return (((Boolean) on).booleanValue()); + else + throw new SocketException("Internal Error"); + } + + /** + * Sets the value of the SO_LINGER option on the socket. If the + * SO_LINGER option is set on a socket and there is still data waiting to + * be sent when the socket is closed, then the close operation will block + * until either that data is delivered or until the timeout period + * expires. The linger interval is specified in hundreths of a second + * (platform specific?) + * + * @param on true to enable SO_LINGER, false to disable + * @param linger The SO_LINGER timeout in hundreths of a second or -1 if + * SO_LINGER not set. + * + * @exception SocketException If an error occurs or Socket not connected + * @exception IllegalArgumentException If linger is negative + * + * @since 1.1 + */ + public void setSoLinger(boolean on, int linger) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (on) + { + if (linger < 0) + throw new IllegalArgumentException("SO_LINGER must be >= 0"); + + if (linger > 65535) + linger = 65535; + + getImpl().setOption(SocketOptions.SO_LINGER, new Integer(linger)); + } + else + getImpl().setOption(SocketOptions.SO_LINGER, Boolean.valueOf(false)); + } + + /** + * Returns the value of the SO_LINGER option on the socket. If the + * SO_LINGER option is set on a socket and there is still data waiting to + * be sent when the socket is closed, then the close operation will block + * until either that data is delivered or until the timeout period + * expires. This method either returns the timeouts (in hundredths of + * of a second (platform specific?)) if SO_LINGER is set, or -1 if + * SO_LINGER is not set. + * + * @return The SO_LINGER timeout in hundreths of a second or -1 + * if SO_LINGER not set + * + * @exception SocketException If an error occurs or Socket is not connected + * + * @since 1.1 + */ + public int getSoLinger() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object linger = getImpl().getOption(SocketOptions.SO_LINGER); + + if (linger instanceof Integer) + return (((Integer) linger).intValue()); + else + return -1; + } + + /** + * Sends urgent data through the socket + * + * @param data The data to send. + * Only the lowest eight bits of data are sent + * + * @exception IOException If an error occurs + * + * @since 1.4 + */ + public void sendUrgentData(int data) throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().sendUrgentData(data); + } + + /** + * Enables/disables the SO_OOBINLINE option + * + * @param on True if SO_OOBLINE should be enabled + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public void setOOBInline(boolean on) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.SO_OOBINLINE, Boolean.valueOf(on)); + } + + /** + * Returns the current setting of the SO_OOBINLINE option for this socket + * + * @return True if SO_OOBINLINE is set, false otherwise. + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public boolean getOOBInline() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_OOBINLINE); + + if (buf instanceof Boolean) + return (((Boolean) buf).booleanValue()); + else + throw new SocketException("Internal Error: Unexpected type"); + } + + /** + * Sets the value of the SO_TIMEOUT option on the socket. If this value + * is set, and an read/write is performed that does not complete within + * the timeout period, a short count is returned (or an EWOULDBLOCK signal + * would be sent in Unix if no data had been read). A value of 0 for + * this option implies that there is no timeout (ie, operations will + * block forever). On systems that have separate read and write timeout + * values, this method returns the read timeout. This + * value is in milliseconds. + * + * @param timeout The length of the timeout in milliseconds, or + * 0 to indicate no timeout. + * + * @exception SocketException If an error occurs or Socket not connected + * + * @since 1.1 + */ + public synchronized void setSoTimeout(int timeout) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (timeout < 0) + throw new IllegalArgumentException("SO_TIMEOUT value must be >= 0"); + + getImpl().setOption(SocketOptions.SO_TIMEOUT, new Integer(timeout)); + } + + /** + * Returns the value of the SO_TIMEOUT option on the socket. If this value + * is set, and an read/write is performed that does not complete within + * the timeout period, a short count is returned (or an EWOULDBLOCK signal + * would be sent in Unix if no data had been read). A value of 0 for + * this option implies that there is no timeout (ie, operations will + * block forever). On systems that have separate read and write timeout + * values, this method returns the read timeout. This + * value is in thousandths of a second (implementation specific?). + * + * @return The length of the timeout in thousandth's of a second or 0 + * if not set + * + * @exception SocketException If an error occurs or Socket not connected + * + * @since 1.1 + */ + public synchronized int getSoTimeout() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object timeout = getImpl().getOption(SocketOptions.SO_TIMEOUT); + if (timeout instanceof Integer) + return (((Integer) timeout).intValue()); + else + return 0; + } + + /** + * This method sets the value for the system level socket option + * SO_SNDBUF to the specified value. Note that valid values for this + * option are specific to a given operating system. + * + * @param size The new send buffer size. + * + * @exception SocketException If an error occurs or Socket not connected + * @exception IllegalArgumentException If size is 0 or negative + * + * @since 1.2 + */ + public void setSendBufferSize(int size) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (size <= 0) + throw new IllegalArgumentException("SO_SNDBUF value must be > 0"); + + getImpl().setOption(SocketOptions.SO_SNDBUF, new Integer(size)); + } + + /** + * This method returns the value of the system level socket option + * SO_SNDBUF, which is used by the operating system to tune buffer + * sizes for data transfers. + * + * @return The send buffer size. + * + * @exception SocketException If an error occurs or socket not connected + * + * @since 1.2 + */ + public int getSendBufferSize() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_SNDBUF); + + if (buf instanceof Integer) + return (((Integer) buf).intValue()); + else + throw new SocketException("Internal Error: Unexpected type"); + } + + /** + * This method sets the value for the system level socket option + * SO_RCVBUF to the specified value. Note that valid values for this + * option are specific to a given operating system. + * + * @param size The new receive buffer size. + * + * @exception SocketException If an error occurs or Socket is not connected + * @exception IllegalArgumentException If size is 0 or negative + * + * @since 1.2 + */ + public void setReceiveBufferSize(int size) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (size <= 0) + throw new IllegalArgumentException("SO_RCVBUF value must be > 0"); + + getImpl().setOption(SocketOptions.SO_RCVBUF, new Integer(size)); + } + + /** + * This method returns the value of the system level socket option + * SO_RCVBUF, which is used by the operating system to tune buffer + * sizes for data transfers. + * + * @return The receive buffer size. + * + * @exception SocketException If an error occurs or Socket is not connected + * + * @since 1.2 + */ + public int getReceiveBufferSize() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_RCVBUF); + + if (buf instanceof Integer) + return (((Integer) buf).intValue()); + else + throw new SocketException("Internal Error: Unexpected type"); + } + + /** + * This method sets the value for the socket level socket option + * SO_KEEPALIVE. + * + * @param on True if SO_KEEPALIVE should be enabled + * + * @exception SocketException If an error occurs or Socket is not connected + * + * @since 1.3 + */ + public void setKeepAlive(boolean on) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.SO_KEEPALIVE, Boolean.valueOf(on)); + } + + /** + * This method returns the value of the socket level socket option + * SO_KEEPALIVE. + * + * @return The setting + * + * @exception SocketException If an error occurs or Socket is not connected + * + * @since 1.3 + */ + public boolean getKeepAlive() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object buf = getImpl().getOption(SocketOptions.SO_KEEPALIVE); + + if (buf instanceof Boolean) + return (((Boolean) buf).booleanValue()); + else + throw new SocketException("Internal Error: Unexpected type"); + } + + /** + * Closes the socket. + * + * @exception IOException If an error occurs + */ + public synchronized void close() throws IOException + { + if (isClosed()) + return; + + getImpl().close(); + impl = null; + bound = false; + + if (getChannel() != null) + getChannel().close(); + } + + /** + * Converts this Socket to a String. + * + * @return The String representation of this Socket + */ + public String toString() + { + try + { + if (isConnected()) + return ("Socket[addr=" + getImpl().getInetAddress() + ",port=" + + getImpl().getPort() + ",localport=" + + getImpl().getLocalPort() + "]"); + } + catch (SocketException e) + { + // This cannot happen as we are connected. + } + + return "Socket[unconnected]"; + } + + /** + * Sets the SocketImplFactory. This may be done only once per + * virtual machine. Subsequent attempts will generate a + * SocketException. Note that a SecurityManager + * check is made prior to setting the factory. If + * insufficient privileges exist to set the factory, then an + * IOException will be thrown. + * + * @param fac the factory to set + * + * @exception SecurityException If the SecurityManager does + * not allow this operation. + * @exception SocketException If the SocketImplFactory is already defined + * @exception IOException If any other error occurs + */ + public static synchronized void setSocketImplFactory(SocketImplFactory fac) + throws IOException + { + // See if already set + if (factory != null) + throw new SocketException("SocketImplFactory already defined"); + + // Check permissions + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkSetFactory(); + + if (fac == null) + throw new SocketException("SocketImplFactory cannot be null"); + + factory = fac; + } + + /** + * Closes the input side of the socket stream. + * + * @exception IOException If an error occurs. + * + * @since 1.3 + */ + public void shutdownInput() throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().shutdownInput(); + inputShutdown = true; + } + + /** + * Closes the output side of the socket stream. + * + * @exception IOException If an error occurs. + * + * @since 1.3 + */ + public void shutdownOutput() throws IOException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().shutdownOutput(); + outputShutdown = true; + } + + /** + * Returns the socket channel associated with this socket. + * + * @return the associated socket channel, + * null if no associated channel exists + * + * @since 1.4 + */ + public SocketChannel getChannel() + { + return null; + } + + /** + * Checks if the SO_REUSEADDR option is enabled + * + * @return True if SO_REUSEADDR is set, false otherwise. + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public boolean getReuseAddress() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object reuseaddr = getImpl().getOption(SocketOptions.SO_REUSEADDR); + + if (! (reuseaddr instanceof Boolean)) + throw new SocketException("Internal Error"); + + return ((Boolean) reuseaddr).booleanValue(); + } + + /** + * Enables/Disables the SO_REUSEADDR option + * + * @param reuseAddress true if SO_REUSEADDR should be enabled, + * false otherwise + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public void setReuseAddress(boolean reuseAddress) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + getImpl().setOption(SocketOptions.SO_REUSEADDR, + Boolean.valueOf(reuseAddress)); + } + + /** + * Returns the current traffic class + * + * @return The current traffic class. + * + * @exception SocketException If an error occurs + * + * @see Socket#setTrafficClass(int tc) + * + * @since 1.4 + */ + public int getTrafficClass() throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + Object obj = getImpl().getOption(SocketOptions.IP_TOS); + + if (obj instanceof Integer) + return ((Integer) obj).intValue(); + else + throw new SocketException("Unexpected type"); + } + + /** + * Sets the traffic class value + * + * @param tc The traffic class + * + * @exception SocketException If an error occurs + * @exception IllegalArgumentException If tc value is illegal + * + * @see Socket#getTrafficClass() + * + * @since 1.4 + */ + public void setTrafficClass(int tc) throws SocketException + { + if (isClosed()) + throw new SocketException("socket is closed"); + + if (tc < 0 || tc > 255) + throw new IllegalArgumentException(); + + getImpl().setOption(SocketOptions.IP_TOS, new Integer(tc)); + } + + /** + * Checks if the socket is connected + * + * @return True if socket is connected, false otherwise. + * + * @since 1.4 + */ + public boolean isConnected() + { + try + { + if (getImpl() == null) + return false; + + return getImpl().getInetAddress() != null; + } + catch (SocketException e) + { + return false; + } + } + + /** + * Checks if the socket is already bound. + * + * @return True if socket is bound, false otherwise. + * + * @since 1.4 + */ + public boolean isBound() + { + return bound; + } + + /** + * Checks if the socket is closed. + * + * @return True if socket is closed, false otherwise. + * + * @since 1.4 + */ + public boolean isClosed() + { + return impl == null; + } + + /** + * Checks if the socket's input stream is shutdown + * + * @return True if input is shut down. + * + * @since 1.4 + */ + public boolean isInputShutdown() + { + return inputShutdown; + } + + /** + * Checks if the socket's output stream is shutdown + * + * @return True if output is shut down. + * + * @since 1.4 + */ + public boolean isOutputShutdown() + { + return outputShutdown; + } +} diff --git a/libjava/java/net/SocketAddress.h b/libjava/java/net/SocketAddress.h new file mode 100644 index 00000000000..42f0f21b101 --- /dev/null +++ b/libjava/java/net/SocketAddress.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketAddress__ +#define __java_net_SocketAddress__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class SocketAddress; + } + } +} + +class java::net::SocketAddress : public ::java::lang::Object +{ + +public: + SocketAddress(); +public: // actually package-private + static const jlong serialVersionUID = 5215720748342549866LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_SocketAddress__ diff --git a/libjava/java/net/SocketException.h b/libjava/java/net/SocketException.h new file mode 100644 index 00000000000..563e7f13b1e --- /dev/null +++ b/libjava/java/net/SocketException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketException__ +#define __java_net_SocketException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class SocketException; + } + } +} + +class java::net::SocketException : public ::java::io::IOException +{ + +public: + SocketException(); + SocketException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5935874303556886934LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_SocketException__ diff --git a/libjava/java/net/SocketImpl.h b/libjava/java/net/SocketImpl.h new file mode 100644 index 00000000000..0daf5146da0 --- /dev/null +++ b/libjava/java/net/SocketImpl.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketImpl__ +#define __java_net_SocketImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class SocketAddress; + class SocketImpl; + } + } +} + +class java::net::SocketImpl : public ::java::lang::Object +{ + +public: + SocketImpl(); +public: // actually protected + virtual void create(jboolean) = 0; + virtual void connect(::java::lang::String *, jint) = 0; + virtual void connect(::java::net::InetAddress *, jint) = 0; + virtual void connect(::java::net::SocketAddress *, jint) = 0; + virtual void bind(::java::net::InetAddress *, jint) = 0; + virtual void listen(jint) = 0; + virtual void accept(::java::net::SocketImpl *) = 0; + virtual ::java::io::InputStream * getInputStream() = 0; + virtual ::java::io::OutputStream * getOutputStream() = 0; + virtual jint available() = 0; + virtual void close() = 0; + virtual ::java::io::FileDescriptor * getFileDescriptor(); + virtual ::java::net::InetAddress * getInetAddress(); + virtual jint getPort(); + virtual jboolean supportsUrgentData(); + virtual void sendUrgentData(jint) = 0; + virtual jint getLocalPort(); +public: + virtual ::java::lang::String * toString(); +public: // actually protected + virtual void shutdownInput(); + virtual void shutdownOutput(); +public: + virtual void setOption(jint, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getOption(jint) = 0; +public: // actually protected + ::java::net::InetAddress * __attribute__((aligned(__alignof__( ::java::lang::Object)))) address; + ::java::io::FileDescriptor * fd; + jint localport; + jint port; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_SocketImpl__ diff --git a/libjava/java/net/SocketImplFactory.h b/libjava/java/net/SocketImplFactory.h new file mode 100644 index 00000000000..2089846dfcc --- /dev/null +++ b/libjava/java/net/SocketImplFactory.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketImplFactory__ +#define __java_net_SocketImplFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class SocketImpl; + class SocketImplFactory; + } + } +} + +class java::net::SocketImplFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::SocketImpl * createSocketImpl() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_net_SocketImplFactory__ diff --git a/libjava/java/net/SocketOptions.h b/libjava/java/net/SocketOptions.h new file mode 100644 index 00000000000..6a56d13468d --- /dev/null +++ b/libjava/java/net/SocketOptions.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketOptions__ +#define __java_net_SocketOptions__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class SocketOptions; + } + } +} + +class java::net::SocketOptions : public ::java::lang::Object +{ + +public: + virtual void setOption(jint, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getOption(jint) = 0; + static const jint SO_KEEPALIVE = 8; + static const jint SO_LINGER = 128; + static const jint SO_TIMEOUT = 4102; + static const jint SO_BINDADDR = 15; + static const jint SO_SNDBUF = 4097; + static const jint SO_RCVBUF = 4098; + static const jint SO_REUSEADDR = 4; + static const jint SO_BROADCAST = 32; + static const jint SO_OOBINLINE = 4099; + static const jint TCP_NODELAY = 1; + static const jint IP_MULTICAST_IF = 16; + static const jint IP_MULTICAST_IF2 = 31; + static const jint IP_MULTICAST_LOOP = 18; + static const jint IP_TOS = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_net_SocketOptions__ diff --git a/libjava/java/net/SocketPermission.h b/libjava/java/net/SocketPermission.h new file mode 100644 index 00000000000..dae8e83afd9 --- /dev/null +++ b/libjava/java/net/SocketPermission.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketPermission__ +#define __java_net_SocketPermission__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class SocketPermission; + } + namespace security + { + class Permission; + class PermissionCollection; + } + } +} + +class java::net::SocketPermission : public ::java::security::Permission +{ + +public: + SocketPermission(::java::lang::String *, ::java::lang::String *); +private: + static ::java::lang::String * processHostport(::java::lang::String *); + void setHostPort(::java::lang::String *); + void setActions(::java::lang::String *); + void setAction(::java::lang::String *); +public: + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * getActions(); + ::java::security::PermissionCollection * newPermissionCollection(); +private: + JArray< ::java::net::InetAddress * > * getAddresses(); + ::java::lang::String * getCanonicalHostName(); +public: + jboolean implies(::java::security::Permission *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: // actually package-private + static const jlong serialVersionUID = -7204263841984476862LL; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::security::Permission)))) hostname; + ::java::net::InetAddress * address; + jint minport; + jint maxport; + static const jint MIN_PORT = 0; + static const jint MAX_PORT = 2147483647; + ::java::lang::String * actions; + jint actionmask; + static JArray< ::java::lang::String * > * ACTIONS; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_SocketPermission__ diff --git a/libjava/java/net/SocketTimeoutException.h b/libjava/java/net/SocketTimeoutException.h new file mode 100644 index 00000000000..a32424b91d7 --- /dev/null +++ b/libjava/java/net/SocketTimeoutException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_SocketTimeoutException__ +#define __java_net_SocketTimeoutException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class SocketTimeoutException; + } + } +} + +class java::net::SocketTimeoutException : public ::java::io::InterruptedIOException +{ + +public: + SocketTimeoutException(); + SocketTimeoutException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8846654841826352300LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_SocketTimeoutException__ diff --git a/libjava/java/net/URI.h b/libjava/java/net/URI.h new file mode 100644 index 00000000000..9c8f4f2d1fc --- /dev/null +++ b/libjava/java/net/URI.h @@ -0,0 +1,134 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URI__ +#define __java_net_URI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + class URL; + } + } +} + +class java::net::URI : public ::java::lang::Object +{ + + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static ::java::lang::String * getURIGroup(::java::util::regex::Matcher *, jint); + void parseURI(::java::lang::String *); + static ::java::lang::String * unquote(::java::lang::String *); + static ::java::lang::String * quote(::java::lang::String *); + static ::java::lang::String * quoteAuthority(::java::lang::String *); + static ::java::lang::String * quote(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * quoteHost(::java::lang::String *); + static ::java::lang::String * quotePath(::java::lang::String *); + static ::java::lang::String * quoteUserInfo(::java::lang::String *); +public: + URI(::java::lang::String *); + URI(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + URI(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + URI(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + URI(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static ::java::net::URI * create(::java::lang::String *); + ::java::net::URI * parseServerAuthority(); + ::java::net::URI * normalize(); +private: + ::java::lang::String * normalizePath(::java::lang::String *); + void removeLastSegment(::java::lang::StringBuffer *); +public: + ::java::net::URI * resolve(::java::net::URI *); + ::java::net::URI * resolve(::java::lang::String *); + ::java::net::URI * relativize(::java::net::URI *); + ::java::net::URL * toURL(); + ::java::lang::String * getScheme(); + jboolean isAbsolute(); + jboolean isOpaque(); + ::java::lang::String * getRawSchemeSpecificPart(); + ::java::lang::String * getSchemeSpecificPart(); + ::java::lang::String * getRawAuthority(); + ::java::lang::String * getAuthority(); + ::java::lang::String * getRawUserInfo(); + ::java::lang::String * getUserInfo(); + ::java::lang::String * getHost(); + jint getPort(); + ::java::lang::String * getRawPath(); + ::java::lang::String * getPath(); + ::java::lang::String * getRawQuery(); + ::java::lang::String * getQuery(); + ::java::lang::String * getRawFragment(); + ::java::lang::String * getFragment(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + jint target$compareTo(::java::net::URI *); +private: + jint compareFragments(::java::net::URI *); +public: + ::java::lang::String * toString(); + ::java::lang::String * toASCIIString(); +private: + static ::java::lang::String * escapeCharacters(::java::lang::String *); +public: + jint compareTo(::java::lang::Object *); +public: // actually package-private + static const jlong serialVersionUID = -6052424284110960213LL; +private: + static ::java::lang::String * URI_REGEXP; + static ::java::lang::String * AUTHORITY_REGEXP; + static ::java::lang::String * RFC2396_DIGIT; + static ::java::lang::String * RFC2396_LOWALPHA; + static ::java::lang::String * RFC2396_UPALPHA; + static ::java::lang::String * RFC2396_ALPHA; + static ::java::lang::String * RFC2396_ALPHANUM; + static ::java::lang::String * RFC3986_UNRESERVED; + static ::java::lang::String * RFC3986_SUBDELIMS; + static ::java::lang::String * RFC3986_REG_NAME; + static ::java::lang::String * RFC3986_PCHAR; + static ::java::lang::String * RFC3986_SEGMENT; + static ::java::lang::String * RFC3986_PATH_SEGMENTS; + static ::java::lang::String * RFC3986_SSP; + static ::java::lang::String * RFC3986_HOST; + static ::java::lang::String * RFC3986_USERINFO; + static const jint SCHEME_GROUP = 2; + static const jint SCHEME_SPEC_PART_GROUP = 3; + static const jint AUTHORITY_GROUP = 5; + static const jint PATH_GROUP = 6; + static const jint QUERY_GROUP = 8; + static const jint FRAGMENT_GROUP = 10; + static const jint AUTHORITY_USERINFO_GROUP = 2; + static const jint AUTHORITY_HOST_GROUP = 3; + static const jint AUTHORITY_PORT_GROUP = 5; + static ::java::util::regex::Pattern * URI_PATTERN; + static ::java::util::regex::Pattern * AUTHORITY_PATTERN; + static ::java::lang::String * HEX; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) scheme; + ::java::lang::String * rawSchemeSpecificPart; + ::java::lang::String * schemeSpecificPart; + ::java::lang::String * rawAuthority; + ::java::lang::String * authority; + ::java::lang::String * rawUserInfo; + ::java::lang::String * userInfo; + ::java::lang::String * rawHost; + ::java::lang::String * host; + jint port; + ::java::lang::String * rawPath; + ::java::lang::String * path; + ::java::lang::String * rawQuery; + ::java::lang::String * query; + ::java::lang::String * rawFragment; + ::java::lang::String * fragment; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URI__ diff --git a/libjava/java/net/URISyntaxException.h b/libjava/java/net/URISyntaxException.h new file mode 100644 index 00000000000..93f1a4e6651 --- /dev/null +++ b/libjava/java/net/URISyntaxException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URISyntaxException__ +#define __java_net_URISyntaxException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URISyntaxException; + } + } +} + +class java::net::URISyntaxException : public ::java::lang::Exception +{ + +public: + URISyntaxException(::java::lang::String *, ::java::lang::String *); + URISyntaxException(::java::lang::String *, ::java::lang::String *, jint); + virtual ::java::lang::String * getInput(); + virtual ::java::lang::String * getReason(); + virtual jint getIndex(); + virtual ::java::lang::String * getMessage(); +private: + static const jlong serialVersionUID = 2137979680897488891LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) input; + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URISyntaxException__ diff --git a/libjava/java/net/URL$1.h b/libjava/java/net/URL$1.h new file mode 100644 index 00000000000..d81ebe4bc0d --- /dev/null +++ b/libjava/java/net/URL$1.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URL$1__ +#define __java_net_URL$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL$1; + } + } +} + +class java::net::URL$1 : public ::java::lang::Object +{ + +public: // actually package-private + URL$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_net_URL$1__ diff --git a/libjava/java/net/URL.h b/libjava/java/net/URL.h new file mode 100644 index 00000000000..536d89ca1fb --- /dev/null +++ b/libjava/java/net/URL.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URL__ +#define __java_net_URL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + class URL; + class URLConnection; + class URLStreamHandler; + class URLStreamHandlerFactory; + } + } +} + +class java::net::URL : public ::java::lang::Object +{ + +public: + URL(::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *); + URL(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + URL(::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::net::URLStreamHandler *); + URL(::java::lang::String *); + URL(::java::net::URL *, ::java::lang::String *); + URL(::java::net::URL *, ::java::lang::String *, ::java::net::URLStreamHandler *); + jboolean equals(::java::lang::Object *); + ::java::lang::Object * getContent(); + ::java::lang::Object * getContent(JArray< ::java::lang::Class * > *); + ::java::lang::String * getFile(); + ::java::lang::String * getPath(); + ::java::lang::String * getAuthority(); + ::java::lang::String * getHost(); + jint getPort(); + jint getDefaultPort(); + ::java::lang::String * getProtocol(); + ::java::lang::String * getRef(); + ::java::lang::String * getUserInfo(); + ::java::lang::String * getQuery(); + jint hashCode(); + ::java::net::URLConnection * openConnection(); + ::java::io::InputStream * openStream(); + jboolean sameFile(::java::net::URL *); +public: // actually protected + void set(::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *); + void set(::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + static void setURLStreamHandlerFactory(::java::net::URLStreamHandlerFactory *); + ::java::lang::String * toExternalForm(); + ::java::lang::String * toString(); +private: + static ::java::net::URLStreamHandler * getURLStreamHandler(::java::lang::String *); + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + ::java::net::URI * toURI(); +private: + static ::java::lang::String * DEFAULT_SEARCH_PATH; + static ::java::lang::ClassLoader * systemClassLoader; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) protocol; + ::java::lang::String * authority; + ::java::lang::String * host; + ::java::lang::String * userInfo; + jint port; + ::java::lang::String * file; + ::java::lang::String * ref; + jint hashCode__; +public: // actually package-private + ::java::net::URLStreamHandler * ph; +private: + static ::java::net::URLStreamHandlerFactory * factory; + static const jlong serialVersionUID = -7627629688361524110LL; + static ::java::util::HashMap * ph_cache; + static jboolean cache_handlers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URL__ diff --git a/libjava/java/net/URLClassLoader$1.h b/libjava/java/net/URLClassLoader$1.h new file mode 100644 index 00000000000..d7f57791125 --- /dev/null +++ b/libjava/java/net/URLClassLoader$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$1__ +#define __java_net_URLClassLoader$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URLClassLoader; + class URLClassLoader$1; + } + namespace security + { + class CodeSource; + } + } +} + +class java::net::URLClassLoader$1 : public ::java::lang::Object +{ + +public: // actually package-private + URLClassLoader$1(::java::net::URLClassLoader *, ::java::lang::String *, JArray< jbyte > *, ::java::security::CodeSource *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::net::URLClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::lang::String * val$className; + JArray< jbyte > * val$classData; + ::java::security::CodeSource * val$source; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$1__ diff --git a/libjava/java/net/URLClassLoader$2.h b/libjava/java/net/URLClassLoader$2.h new file mode 100644 index 00000000000..274d4c33a1e --- /dev/null +++ b/libjava/java/net/URLClassLoader$2.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$2__ +#define __java_net_URLClassLoader$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URLClassLoader$2; + } + } +} + +class java::net::URLClassLoader$2 : public ::java::lang::Object +{ + +public: // actually package-private + URLClassLoader$2(::java::lang::ClassLoader *, ::java::lang::Object *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$parent; + ::java::lang::Object * val$securityContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$2__ diff --git a/libjava/java/net/URLClassLoader$CoreResource.h b/libjava/java/net/URLClassLoader$CoreResource.h new file mode 100644 index 00000000000..ff3314a33bf --- /dev/null +++ b/libjava/java/net/URLClassLoader$CoreResource.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$CoreResource__ +#define __java_net_URLClassLoader$CoreResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class Core; + } + } + namespace java + { + namespace net + { + class URL; + class URLClassLoader$CoreResource; + class URLClassLoader$CoreURLLoader; + } + } +} + +class java::net::URLClassLoader$CoreResource : public ::java::net::URLClassLoader$Resource +{ + +public: // actually package-private + URLClassLoader$CoreResource(::java::net::URLClassLoader$CoreURLLoader *, ::java::lang::String *, ::gnu::gcj::Core *); + ::java::io::InputStream * getInputStream(); +public: + jint getLength(); + ::java::net::URL * getURL(); +private: + ::gnu::gcj::Core * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) core; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$CoreResource__ diff --git a/libjava/java/net/URLClassLoader$CoreURLLoader.h b/libjava/java/net/URLClassLoader$CoreURLLoader.h new file mode 100644 index 00000000000..3c701cddf3a --- /dev/null +++ b/libjava/java/net/URLClassLoader$CoreURLLoader.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$CoreURLLoader__ +#define __java_net_URLClassLoader$CoreURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$CoreURLLoader; + class URLClassLoader$Resource; + } + } +} + +class java::net::URLClassLoader$CoreURLLoader : public ::java::net::URLClassLoader$URLLoader +{ + +public: // actually package-private + URLClassLoader$CoreURLLoader(::java::net::URLClassLoader *, ::java::net::URL *); + ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) dir; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$CoreURLLoader__ diff --git a/libjava/java/net/URLClassLoader$FileResource.h b/libjava/java/net/URLClassLoader$FileResource.h new file mode 100644 index 00000000000..a98e9bf223a --- /dev/null +++ b/libjava/java/net/URLClassLoader$FileResource.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$FileResource__ +#define __java_net_URLClassLoader$FileResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader$FileResource; + class URLClassLoader$FileURLLoader; + } + } +} + +class java::net::URLClassLoader$FileResource : public ::java::net::URLClassLoader$Resource +{ + +public: // actually package-private + URLClassLoader$FileResource(::java::net::URLClassLoader$FileURLLoader *, ::java::io::File *); + ::java::io::InputStream * getInputStream(); +public: + jint getLength(); + ::java::net::URL * getURL(); +public: // actually package-private + ::java::io::File * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) file; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$FileResource__ diff --git a/libjava/java/net/URLClassLoader$FileURLLoader.h b/libjava/java/net/URLClassLoader$FileURLLoader.h new file mode 100644 index 00000000000..ff0b7dc7ce6 --- /dev/null +++ b/libjava/java/net/URLClassLoader$FileURLLoader.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$FileURLLoader__ +#define __java_net_URLClassLoader$FileURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$FileURLLoader; + class URLClassLoader$Resource; + } + } +} + +class java::net::URLClassLoader$FileURLLoader : public ::java::net::URLClassLoader$URLLoader +{ + +public: // actually package-private + URLClassLoader$FileURLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); + ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); + ::java::io::File * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) dir; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$FileURLLoader__ diff --git a/libjava/java/net/URLClassLoader$JarURLLoader.h b/libjava/java/net/URLClassLoader$JarURLLoader.h new file mode 100644 index 00000000000..f1a36153a2c --- /dev/null +++ b/libjava/java/net/URLClassLoader$JarURLLoader.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$JarURLLoader__ +#define __java_net_URLClassLoader$JarURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$JarURLLoader; + class URLClassLoader$Resource; + } + } +} + +class java::net::URLClassLoader$JarURLLoader : public ::java::net::URLClassLoader$URLLoader +{ + +public: + URLClassLoader$JarURLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); +public: // actually package-private + ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); + ::java::util::jar::Manifest * getManifest(); + ::java::util::Vector * getClassPath(); + ::java::util::jar::JarFile * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) jarfile; + ::java::net::URL * baseJarURL; + ::java::util::Vector * classPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$JarURLLoader__ diff --git a/libjava/java/net/URLClassLoader$JarURLResource.h b/libjava/java/net/URLClassLoader$JarURLResource.h new file mode 100644 index 00000000000..0db0fdeec99 --- /dev/null +++ b/libjava/java/net/URLClassLoader$JarURLResource.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$JarURLResource__ +#define __java_net_URLClassLoader$JarURLResource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader$JarURLLoader; + class URLClassLoader$JarURLResource; + } + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class java::net::URLClassLoader$JarURLResource : public ::java::net::URLClassLoader$Resource +{ + +public: // actually package-private + URLClassLoader$JarURLResource(::java::net::URLClassLoader$JarURLLoader *, ::java::lang::String *, ::java::util::jar::JarEntry *); + ::java::io::InputStream * getInputStream(); + jint getLength(); + JArray< ::java::security::cert::Certificate * > * getCertificates(); + ::java::net::URL * getURL(); +private: + ::java::util::jar::JarEntry * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) entry; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$JarURLResource__ diff --git a/libjava/java/net/URLClassLoader$RemoteResource.h b/libjava/java/net/URLClassLoader$RemoteResource.h new file mode 100644 index 00000000000..10d2622c9fe --- /dev/null +++ b/libjava/java/net/URLClassLoader$RemoteResource.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$RemoteResource__ +#define __java_net_URLClassLoader$RemoteResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader$RemoteResource; + class URLClassLoader$RemoteURLLoader; + } + } +} + +class java::net::URLClassLoader$RemoteResource : public ::java::net::URLClassLoader$Resource +{ + +public: // actually package-private + URLClassLoader$RemoteResource(::java::net::URLClassLoader$RemoteURLLoader *, ::java::lang::String *, ::java::net::URL *, ::java::io::InputStream *, jint); + ::java::io::InputStream * getInputStream(); +public: + jint getLength(); + ::java::net::URL * getURL(); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) url; + ::java::io::InputStream * stream; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$RemoteResource__ diff --git a/libjava/java/net/URLClassLoader$RemoteURLLoader.h b/libjava/java/net/URLClassLoader$RemoteURLLoader.h new file mode 100644 index 00000000000..7c2876b4ef6 --- /dev/null +++ b/libjava/java/net/URLClassLoader$RemoteURLLoader.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$RemoteURLLoader__ +#define __java_net_URLClassLoader$RemoteURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$RemoteURLLoader; + class URLClassLoader$Resource; + } + } +} + +class java::net::URLClassLoader$RemoteURLLoader : public ::java::net::URLClassLoader$URLLoader +{ + +public: // actually package-private + URLClassLoader$RemoteURLLoader(::java::net::URLClassLoader *, ::java::net::URL *); + ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) protocol; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$RemoteURLLoader__ diff --git a/libjava/java/net/URLClassLoader$Resource.h b/libjava/java/net/URLClassLoader$Resource.h new file mode 100644 index 00000000000..7fc102a9224 --- /dev/null +++ b/libjava/java/net/URLClassLoader$Resource.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$Resource__ +#define __java_net_URLClassLoader$Resource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader$Resource; + class URLClassLoader$URLLoader; + } + namespace security + { + class CodeSource; + namespace cert + { + class Certificate; + } + } + } +} + +class java::net::URLClassLoader$Resource : public ::java::lang::Object +{ + +public: // actually package-private + URLClassLoader$Resource(::java::net::URLClassLoader$URLLoader *); + virtual ::java::security::CodeSource * getCodeSource(); + virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); + virtual ::java::net::URL * getURL() = 0; + virtual jint getLength() = 0; + virtual ::java::io::InputStream * getInputStream() = 0; + ::java::net::URLClassLoader$URLLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loader; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$Resource__ diff --git a/libjava/java/net/URLClassLoader$SoResource.h b/libjava/java/net/URLClassLoader$SoResource.h new file mode 100644 index 00000000000..dce7601125f --- /dev/null +++ b/libjava/java/net/URLClassLoader$SoResource.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$SoResource__ +#define __java_net_URLClassLoader$SoResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader$SoResource; + class URLClassLoader$SoURLLoader; + } + } +} + +class java::net::URLClassLoader$SoResource : public ::java::net::URLClassLoader$Resource +{ + +public: // actually package-private + URLClassLoader$SoResource(::java::net::URLClassLoader$SoURLLoader *, ::java::net::URL *); + ::java::io::InputStream * getInputStream(); +public: + jint getLength(); + ::java::net::URL * getURL(); +public: // actually package-private + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$Resource)))) url; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$SoResource__ diff --git a/libjava/java/net/URLClassLoader$SoURLLoader.h b/libjava/java/net/URLClassLoader$SoURLLoader.h new file mode 100644 index 00000000000..85d2d2e991a --- /dev/null +++ b/libjava/java/net/URLClassLoader$SoURLLoader.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$SoURLLoader__ +#define __java_net_URLClassLoader$SoURLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + namespace runtime + { + class SharedLibHelper; + } + } + } + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$Resource; + class URLClassLoader$SoURLLoader; + } + } +} + +class java::net::URLClassLoader$SoURLLoader : public ::java::net::URLClassLoader$URLLoader +{ + +public: // actually package-private + URLClassLoader$SoURLLoader(::java::net::URLClassLoader *, ::java::net::URL *); + URLClassLoader$SoURLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); + ::java::lang::Class * getClass(::java::lang::String *); + ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *); + ::gnu::gcj::runtime::SharedLibHelper * __attribute__((aligned(__alignof__( ::java::net::URLClassLoader$URLLoader)))) helper; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$SoURLLoader__ diff --git a/libjava/java/net/URLClassLoader$URLLoader.h b/libjava/java/net/URLClassLoader$URLLoader.h new file mode 100644 index 00000000000..f205d74b3db --- /dev/null +++ b/libjava/java/net/URLClassLoader$URLLoader.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader$URLLoader__ +#define __java_net_URLClassLoader$URLLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$Resource; + class URLClassLoader$URLLoader; + } + namespace security + { + class CodeSource; + } + } +} + +class java::net::URLClassLoader$URLLoader : public ::java::lang::Object +{ + +public: // actually package-private + URLClassLoader$URLLoader(::java::net::URLClassLoader *, ::java::net::URL *); + URLClassLoader$URLLoader(::java::net::URLClassLoader *, ::java::net::URL *, ::java::net::URL *); + virtual ::java::lang::Class * getClass(::java::lang::String *); + virtual ::java::net::URLClassLoader$Resource * getResource(::java::lang::String *) = 0; + virtual ::java::util::jar::Manifest * getManifest(); + virtual ::java::util::Vector * getClassPath(); + ::java::net::URLClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classloader; + ::java::net::URL * baseURL; + ::java::security::CodeSource * noCertCodeSource; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader$URLLoader__ diff --git a/libjava/java/net/URLClassLoader.h b/libjava/java/net/URLClassLoader.h new file mode 100644 index 00000000000..25fe59ab785 --- /dev/null +++ b/libjava/java/net/URLClassLoader.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLClassLoader__ +#define __java_net_URLClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLClassLoader; + class URLClassLoader$Resource; + class URLStreamHandler; + class URLStreamHandlerFactory; + } + namespace security + { + class AccessControlContext; + class CodeSource; + class PermissionCollection; + } + } +} + +class java::net::URLClassLoader : public ::java::security::SecureClassLoader +{ + +public: + URLClassLoader(JArray< ::java::net::URL * > *); + URLClassLoader(JArray< ::java::net::URL * > *, ::java::lang::ClassLoader *); +public: // actually package-private + URLClassLoader(::java::lang::ClassLoader *, ::java::security::AccessControlContext *); +public: + URLClassLoader(JArray< ::java::net::URL * > *, ::java::lang::ClassLoader *, ::java::net::URLStreamHandlerFactory *); +public: // actually protected + virtual void addURL(::java::net::URL *); +private: + void addURLImpl(::java::net::URL *); + void addURLs(JArray< ::java::net::URL * > *); + ::java::lang::String * getAttributeValue(::java::util::jar::Attributes$Name *, ::java::util::jar::Attributes *, ::java::util::jar::Attributes *); +public: // actually protected + virtual ::java::lang::Package * definePackage(::java::lang::String *, ::java::util::jar::Manifest *, ::java::net::URL *); + virtual ::java::lang::Class * findClass(::java::lang::String *); +public: + virtual ::java::lang::String * toString(); +private: + ::java::net::URLClassLoader$Resource * findURLResource(::java::lang::String *); +public: + virtual ::java::net::URL * findResource(::java::lang::String *); +public: // actually package-private + virtual ::java::net::URLStreamHandler * getURLStreamHandler(::java::lang::String *); +public: + virtual ::java::util::Enumeration * findResources(::java::lang::String *); +public: // actually protected + virtual ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *); +public: + virtual JArray< ::java::net::URL * > * getURLs(); + static ::java::net::URLClassLoader * newInstance(JArray< ::java::net::URL * > *); + static ::java::net::URLClassLoader * newInstance(JArray< ::java::net::URL * > *, ::java::lang::ClassLoader *); +public: // actually package-private + static ::java::lang::Class * access$0(::java::net::URLClassLoader *, ::java::lang::String *, JArray< jbyte > *, jint, jint, ::java::security::CodeSource *); +private: + static ::java::util::HashMap * urlloaders; + static ::java::util::HashMap * factoryCache; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::security::SecureClassLoader)))) urls; + ::java::util::Vector * urlinfos; + ::java::net::URLStreamHandlerFactory * factory; + ::java::security::AccessControlContext * securityContext; + ::java::lang::String * thisString; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLClassLoader__ diff --git a/libjava/java/net/URLClassLoader.java b/libjava/java/net/URLClassLoader.java index 06db7d58217..fd70fdf2045 100644 --- a/libjava/java/net/URLClassLoader.java +++ b/libjava/java/net/URLClassLoader.java @@ -1080,7 +1080,10 @@ public class URLClassLoader extends SecureClassLoader if (resource == null) { String message = className + " not found"; - if (runtimeInitialized()) + // Calling this.toString() during VM startup when a + // security manager is in force causes the stack to + // be unwound before it can properly be decoded. + if (Thread.currentThread() != null) message += " in " + this; throw new ClassNotFoundException(message); } @@ -1442,11 +1445,4 @@ public class URLClassLoader extends SecureClassLoader return loader; } } - - /** - * Tell whether runtime initialization is complete. - * - * @return whether runtime initialization is complete. - */ - private static native boolean runtimeInitialized(); } diff --git a/libjava/java/net/URLConnection.h b/libjava/java/net/URLConnection.h new file mode 100644 index 00000000000..c40d9598b9d --- /dev/null +++ b/libjava/java/net/URLConnection.h @@ -0,0 +1,117 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLConnection__ +#define __java_net_URLConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class ContentHandler; + class ContentHandlerFactory; + class FileNameMap; + class URL; + class URLConnection; + } + namespace security + { + class Permission; + } + namespace text + { + class ParsePosition; + class SimpleDateFormat; + } + } +} + +class java::net::URLConnection : public ::java::lang::Object +{ + +public: // actually protected + URLConnection(::java::net::URL *); +public: + virtual void connect() = 0; + virtual ::java::net::URL * getURL(); + virtual jint getConnectTimeout(); + virtual void setConnectTimeout(jint); + virtual jint getReadTimeout(); + virtual void setReadTimeout(jint); + virtual jint getContentLength(); + virtual ::java::lang::String * getContentType(); + virtual ::java::lang::String * getContentEncoding(); + virtual jlong getExpiration(); + virtual jlong getDate(); + virtual jlong getLastModified(); + virtual ::java::lang::String * getHeaderField(jint); + virtual ::java::lang::String * getHeaderField(::java::lang::String *); + virtual ::java::util::Map * getHeaderFields(); + virtual jint getHeaderFieldInt(::java::lang::String *, jint); + virtual jlong getHeaderFieldDate(::java::lang::String *, jlong); + virtual ::java::lang::String * getHeaderFieldKey(jint); + virtual ::java::lang::Object * getContent(); + virtual ::java::lang::Object * getContent(JArray< ::java::lang::Class * > *); + virtual ::java::security::Permission * getPermission(); + virtual ::java::io::InputStream * getInputStream(); + virtual ::java::io::OutputStream * getOutputStream(); + virtual ::java::lang::String * toString(); + virtual void setDoInput(jboolean); + virtual jboolean getDoInput(); + virtual void setDoOutput(jboolean); + virtual jboolean getDoOutput(); + virtual void setAllowUserInteraction(jboolean); + virtual jboolean getAllowUserInteraction(); + static void setDefaultAllowUserInteraction(jboolean); + static jboolean getDefaultAllowUserInteraction(); + virtual void setUseCaches(jboolean); + virtual jboolean getUseCaches(); + virtual void setIfModifiedSince(jlong); + virtual jlong getIfModifiedSince(); + virtual jboolean getDefaultUseCaches(); + virtual void setDefaultUseCaches(jboolean); + virtual void setRequestProperty(::java::lang::String *, ::java::lang::String *); + virtual void addRequestProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getRequestProperty(::java::lang::String *); + virtual ::java::util::Map * getRequestProperties(); + static void setDefaultRequestProperty(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * getDefaultRequestProperty(::java::lang::String *); + static void setContentHandlerFactory(::java::net::ContentHandlerFactory *); + static ::java::lang::String * guessContentTypeFromName(::java::lang::String *); + static ::java::lang::String * guessContentTypeFromStream(::java::io::InputStream *); + static ::java::net::FileNameMap * getFileNameMap(); + static void setFileNameMap(::java::net::FileNameMap *); +private: + ::java::net::ContentHandler * getContentHandler(::java::lang::String *); + static void initializeDateFormats(); + static ::java::net::FileNameMap * fileNameMap; + static ::java::net::ContentHandlerFactory * factory; + static jboolean defaultAllowUserInteraction; + static jboolean defaultUseCaches; + static ::java::net::ContentHandlerFactory * defaultFactory; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) allowUserInteraction; + jboolean connected; + jboolean doInput; + jboolean doOutput; + jboolean useCaches; + jlong ifModifiedSince; + ::java::net::URL * url; +private: + static JArray< ::java::text::SimpleDateFormat * > * dateFormats; + static jboolean dateformats_initialized; + jint connectTimeout; + jint readTimeout; + ::java::text::ParsePosition * position; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLConnection__ diff --git a/libjava/java/net/URLDecoder.h b/libjava/java/net/URLDecoder.h new file mode 100644 index 00000000000..a6586cf741a --- /dev/null +++ b/libjava/java/net/URLDecoder.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLDecoder__ +#define __java_net_URLDecoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URLDecoder; + } + } +} + +class java::net::URLDecoder : public ::java::lang::Object +{ + +public: + URLDecoder(); + static ::java::lang::String * decode(::java::lang::String *); + static ::java::lang::String * decode(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLDecoder__ diff --git a/libjava/java/net/URLEncoder.h b/libjava/java/net/URLEncoder.h new file mode 100644 index 00000000000..87b3c574f78 --- /dev/null +++ b/libjava/java/net/URLEncoder.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLEncoder__ +#define __java_net_URLEncoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URLEncoder; + } + } +} + +class java::net::URLEncoder : public ::java::lang::Object +{ + +public: + static ::java::lang::String * encode(::java::lang::String *); + static ::java::lang::String * encode(::java::lang::String *, ::java::lang::String *); +private: + static jboolean isSafe(jchar); + URLEncoder(); + static ::java::lang::String * hex; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLEncoder__ diff --git a/libjava/java/net/URLStreamHandler.h b/libjava/java/net/URLStreamHandler.h new file mode 100644 index 00000000000..ebcd44159c2 --- /dev/null +++ b/libjava/java/net/URLStreamHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLStreamHandler__ +#define __java_net_URLStreamHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class URL; + class URLConnection; + class URLStreamHandler; + } + } +} + +class java::net::URLStreamHandler : public ::java::lang::Object +{ + +public: + URLStreamHandler(); +public: // actually protected + virtual ::java::net::URLConnection * openConnection(::java::net::URL *) = 0; + virtual void parseURL(::java::net::URL *, ::java::lang::String *, jint, jint); +private: + static ::java::lang::String * canonicalizeFilename(::java::lang::String *); +public: // actually protected + virtual jboolean sameFile(::java::net::URL *, ::java::net::URL *); + virtual void setURL(::java::net::URL *, ::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *); + virtual void setURL(::java::net::URL *, ::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual jboolean equals(::java::net::URL *, ::java::net::URL *); + virtual jboolean hostsEqual(::java::net::URL *, ::java::net::URL *); + virtual ::java::net::InetAddress * getHostAddress(::java::net::URL *); + virtual jint getDefaultPort(); + virtual jint hashCode(::java::net::URL *); + virtual ::java::lang::String * toExternalForm(::java::net::URL *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_URLStreamHandler__ diff --git a/libjava/java/net/URLStreamHandlerFactory.h b/libjava/java/net/URLStreamHandlerFactory.h new file mode 100644 index 00000000000..dde45e239a2 --- /dev/null +++ b/libjava/java/net/URLStreamHandlerFactory.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_URLStreamHandlerFactory__ +#define __java_net_URLStreamHandlerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URLStreamHandler; + class URLStreamHandlerFactory; + } + } +} + +class java::net::URLStreamHandlerFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::URLStreamHandler * createURLStreamHandler(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_net_URLStreamHandlerFactory__ diff --git a/libjava/java/net/UnknownHostException.h b/libjava/java/net/UnknownHostException.h new file mode 100644 index 00000000000..965d439f3bf --- /dev/null +++ b/libjava/java/net/UnknownHostException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_UnknownHostException__ +#define __java_net_UnknownHostException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class UnknownHostException; + } + } +} + +class java::net::UnknownHostException : public ::java::io::IOException +{ + +public: + UnknownHostException(); + UnknownHostException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4639126076052875403LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_UnknownHostException__ diff --git a/libjava/java/net/UnknownServiceException.h b/libjava/java/net/UnknownServiceException.h new file mode 100644 index 00000000000..1bdc8021c3d --- /dev/null +++ b/libjava/java/net/UnknownServiceException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_UnknownServiceException__ +#define __java_net_UnknownServiceException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class UnknownServiceException; + } + } +} + +class java::net::UnknownServiceException : public ::java::io::IOException +{ + +public: + UnknownServiceException(); + UnknownServiceException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4169033248853639508LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_net_UnknownServiceException__ diff --git a/libjava/java/net/VMInetAddress.h b/libjava/java/net/VMInetAddress.h new file mode 100644 index 00000000000..e093e2c2e9c --- /dev/null +++ b/libjava/java/net/VMInetAddress.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_VMInetAddress__ +#define __java_net_VMInetAddress__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class VMInetAddress; + } + } +} + +class java::net::VMInetAddress : public ::java::lang::Object +{ + +public: // actually package-private + VMInetAddress(); +public: + static ::java::lang::String * getLocalHostname(); + static JArray< jbyte > * lookupInaddrAny(); + static ::java::lang::String * getHostByAddr(JArray< jbyte > *); + static JArray< JArray< jbyte > * > * getHostByName(::java::lang::String *); + static JArray< jbyte > * aton(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_net_VMInetAddress__ diff --git a/libjava/java/net/VMNetworkInterface.h b/libjava/java/net/VMNetworkInterface.h new file mode 100644 index 00000000000..792c5337a57 --- /dev/null +++ b/libjava/java/net/VMNetworkInterface.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_VMNetworkInterface__ +#define __java_net_VMNetworkInterface__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class VMNetworkInterface; + } + } +} + +class java::net::VMNetworkInterface : public ::java::lang::Object +{ + +public: // actually package-private + VMNetworkInterface(); +public: + static ::java::util::Vector * getInterfaces(); + static ::java::lang::Class class$; +}; + +#endif // __java_net_VMNetworkInterface__ diff --git a/libjava/java/net/VMURLConnection.h b/libjava/java/net/VMURLConnection.h new file mode 100644 index 00000000000..0c0828ae457 --- /dev/null +++ b/libjava/java/net/VMURLConnection.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_net_VMURLConnection__ +#define __java_net_VMURLConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class VMURLConnection; + } + } +} + +class java::net::VMURLConnection : public ::java::lang::Object +{ + +public: // actually package-private + VMURLConnection(); +private: + static void init(); + static ::java::lang::String * guessContentTypeFromBuffer(JArray< jbyte > *, jint); +public: // actually package-private + static ::java::lang::String * guessContentTypeFromStream(::java::io::InputStream *); +public: + static const jint LENGTH = 1024; + static ::java::lang::Class class$; +}; + +#endif // __java_net_VMURLConnection__ diff --git a/libjava/java/net/VMURLConnection.java b/libjava/java/net/VMURLConnection.java index 6555e8cbafe..19bf5814e67 100644 --- a/libjava/java/net/VMURLConnection.java +++ b/libjava/java/net/VMURLConnection.java @@ -47,14 +47,17 @@ final class VMURLConnection { public static final int LENGTH = 1024; - // private static native void init(); - - private static String guessContentTypeFromBuffer(byte[] b, int valid) + static { - // FIXME - write real implementation - return null; + if (Configuration.INIT_LOAD_LIBRARY) + System.loadLibrary("javanet"); + init(); } + private static native void init(); + + private static native String guessContentTypeFromBuffer(byte[] b, int valid); + /** * This is called from URLConnection to guess the mime type of a * stream. This method may return null to indicate that it could diff --git a/libjava/java/net/natURLClassLoader.cc b/libjava/java/net/natURLClassLoader.cc deleted file mode 100644 index ead0db44aff..00000000000 --- a/libjava/java/net/natURLClassLoader.cc +++ /dev/null @@ -1,22 +0,0 @@ -// natURLClassLoader.cc -- Native part of the URLClassLoader class. - -/* Copyright (C) 2006 Free Software Foundation, Inc. - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include - -#include -#include - -#include - -jboolean -java::net::URLClassLoader::runtimeInitialized () -{ - return gcj::runtimeInitialized; -} diff --git a/libjava/java/net/natVMURLConnection.cc b/libjava/java/net/natVMURLConnection.cc new file mode 100644 index 00000000000..3429bb63dba --- /dev/null +++ b/libjava/java/net/natVMURLConnection.cc @@ -0,0 +1,56 @@ +/* Copyright (C) 2006 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include + +#include +#include +#include + +#if defined (HAVE_MAGIC_H) && defined (HAVE_MAGIC_OPEN) + +#include + +static magic_t cookie; + +#endif /* HAVE_MAGIC_H && HAVE_MAGIC_OPEN */ + +void +java::net::VMURLConnection::init () +{ +#if defined (HAVE_MAGIC_H) && defined (HAVE_MAGIC_OPEN) + cookie = magic_open (MAGIC_MIME); + if (cookie == (magic_t) NULL) + return; + if (magic_load (cookie, NULL) == -1) + { + magic_close (cookie); + cookie = (magic_t) NULL; + } +#endif /* HAVE_MAGIC_H && HAVE_MAGIC_OPEN */ +} + +::java::lang::String * +java::net::VMURLConnection::guessContentTypeFromBuffer (jbyteArray bytes, + jint valid) +{ +#if defined (HAVE_MAGIC_H) && defined (HAVE_MAGIC_OPEN) + const char *result; + + if (cookie == (magic_t) NULL) + return NULL; + + result = magic_buffer (cookie, elements(bytes), valid); + + if (result == NULL) + return NULL; + return _Jv_NewStringUTF (result); +#else + return NULL; +#endif /* HAVE_MAGIC_H && HAVE_MAGIC_OPEN */ +} diff --git a/libjava/java/nio/Buffer.h b/libjava/java/nio/Buffer.h new file mode 100644 index 00000000000..fd985db9421 --- /dev/null +++ b/libjava/java/nio/Buffer.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_Buffer__ +#define __java_nio_Buffer__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } + namespace java + { + namespace nio + { + class Buffer; + } + } +} + +class java::nio::Buffer : public ::java::lang::Object +{ + +public: // actually package-private + Buffer(jint, jint, jint, jint); +public: + virtual jint capacity(); + virtual ::java::nio::Buffer * clear(); + virtual ::java::nio::Buffer * flip(); + virtual jboolean hasRemaining(); + virtual jboolean isReadOnly() = 0; + virtual jint limit(); + virtual ::java::nio::Buffer * limit(jint); + virtual ::java::nio::Buffer * mark(); + virtual jint position(); + virtual ::java::nio::Buffer * position(jint); + virtual jint remaining(); + virtual ::java::nio::Buffer * reset(); + virtual ::java::nio::Buffer * rewind(); +public: // actually package-private + virtual void checkForUnderflow(); + virtual void checkForUnderflow(jint); + virtual void checkForOverflow(); + virtual void checkForOverflow(jint); + virtual void checkIndex(jint); + virtual void checkIfReadOnly(); + static void checkArraySize(jint, jint, jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cap; + jint limit__; + jint pos; + jint mark__; + ::gnu::gcj::RawData * address; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_Buffer__ diff --git a/libjava/java/nio/BufferOverflowException.h b/libjava/java/nio/BufferOverflowException.h new file mode 100644 index 00000000000..2c2a8c2c4fb --- /dev/null +++ b/libjava/java/nio/BufferOverflowException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_BufferOverflowException__ +#define __java_nio_BufferOverflowException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class BufferOverflowException; + } + } +} + +class java::nio::BufferOverflowException : public ::java::lang::RuntimeException +{ + +public: + BufferOverflowException(); +private: + static const jlong serialVersionUID = -5484897634319144535LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_BufferOverflowException__ diff --git a/libjava/java/nio/BufferUnderflowException.h b/libjava/java/nio/BufferUnderflowException.h new file mode 100644 index 00000000000..6b52f20c74c --- /dev/null +++ b/libjava/java/nio/BufferUnderflowException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_BufferUnderflowException__ +#define __java_nio_BufferUnderflowException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class BufferUnderflowException; + } + } +} + +class java::nio::BufferUnderflowException : public ::java::lang::RuntimeException +{ + +public: + BufferUnderflowException(); +private: + static const jlong serialVersionUID = -1713313658691622206LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_BufferUnderflowException__ diff --git a/libjava/java/nio/ByteBuffer.h b/libjava/java/nio/ByteBuffer.h new file mode 100644 index 00000000000..08f821b2825 --- /dev/null +++ b/libjava/java/nio/ByteBuffer.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ByteBuffer__ +#define __java_nio_ByteBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class CharBuffer; + class DoubleBuffer; + class FloatBuffer; + class IntBuffer; + class LongBuffer; + class ShortBuffer; + } + } +} + +class java::nio::ByteBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + ByteBuffer(jint, jint, jint, jint); +public: + static ::java::nio::ByteBuffer * allocateDirect(jint); + static ::java::nio::ByteBuffer * allocate(jint); + static ::java::nio::ByteBuffer * wrap(JArray< jbyte > *, jint, jint); + static ::java::nio::ByteBuffer * wrap(JArray< jbyte > *); + virtual ::java::nio::ByteBuffer * get(JArray< jbyte > *, jint, jint); + virtual ::java::nio::ByteBuffer * get(JArray< jbyte > *); + virtual ::java::nio::ByteBuffer * put(::java::nio::ByteBuffer *); + virtual ::java::nio::ByteBuffer * put(JArray< jbyte > *, jint, jint); + virtual ::java::nio::ByteBuffer * put(JArray< jbyte > *); + virtual jboolean hasArray(); + virtual JArray< jbyte > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::ByteBuffer *); + virtual ::java::nio::ByteOrder * order(); + virtual ::java::nio::ByteBuffer * order(::java::nio::ByteOrder *); + virtual jbyte get() = 0; + virtual ::java::nio::ByteBuffer * put(jbyte) = 0; + virtual jbyte get(jint) = 0; + virtual ::java::nio::ByteBuffer * put(jint, jbyte) = 0; + virtual ::java::nio::ByteBuffer * compact() = 0; +public: // actually package-private + virtual void shiftDown(jint, jint, jint); +public: + virtual jboolean isDirect() = 0; + virtual ::java::nio::ByteBuffer * slice() = 0; + virtual ::java::nio::ByteBuffer * duplicate() = 0; + virtual ::java::nio::ByteBuffer * asReadOnlyBuffer() = 0; + virtual ::java::nio::ShortBuffer * asShortBuffer() = 0; + virtual ::java::nio::CharBuffer * asCharBuffer() = 0; + virtual ::java::nio::IntBuffer * asIntBuffer() = 0; + virtual ::java::nio::LongBuffer * asLongBuffer() = 0; + virtual ::java::nio::FloatBuffer * asFloatBuffer() = 0; + virtual ::java::nio::DoubleBuffer * asDoubleBuffer() = 0; + virtual jchar getChar() = 0; + virtual ::java::nio::ByteBuffer * putChar(jchar) = 0; + virtual jchar getChar(jint) = 0; + virtual ::java::nio::ByteBuffer * putChar(jint, jchar) = 0; + virtual jshort getShort() = 0; + virtual ::java::nio::ByteBuffer * putShort(jshort) = 0; + virtual jshort getShort(jint) = 0; + virtual ::java::nio::ByteBuffer * putShort(jint, jshort) = 0; + virtual jint getInt() = 0; + virtual ::java::nio::ByteBuffer * putInt(jint) = 0; + virtual jint getInt(jint) = 0; + virtual ::java::nio::ByteBuffer * putInt(jint, jint) = 0; + virtual jlong getLong() = 0; + virtual ::java::nio::ByteBuffer * putLong(jlong) = 0; + virtual jlong getLong(jint) = 0; + virtual ::java::nio::ByteBuffer * putLong(jint, jlong) = 0; + virtual jfloat getFloat() = 0; + virtual ::java::nio::ByteBuffer * putFloat(jfloat) = 0; + virtual jfloat getFloat(jint) = 0; + virtual ::java::nio::ByteBuffer * putFloat(jint, jfloat) = 0; + virtual jdouble getDouble() = 0; + virtual ::java::nio::ByteBuffer * putDouble(jdouble) = 0; + virtual jdouble getDouble(jint) = 0; + virtual ::java::nio::ByteBuffer * putDouble(jint, jdouble) = 0; + virtual ::java::lang::String * toString(); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + ::java::nio::ByteOrder * __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) endian; + jint array_offset; + JArray< jbyte > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ByteBuffer__ diff --git a/libjava/java/nio/ByteBufferHelper.h b/libjava/java/nio/ByteBufferHelper.h new file mode 100644 index 00000000000..851b57aad61 --- /dev/null +++ b/libjava/java/nio/ByteBufferHelper.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ByteBufferHelper__ +#define __java_nio_ByteBufferHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteBufferHelper; + class ByteOrder; + } + } +} + +class java::nio::ByteBufferHelper : public ::java::lang::Object +{ + +public: // actually package-private + ByteBufferHelper(); +public: + static jchar getChar(::java::nio::ByteBuffer *, ::java::nio::ByteOrder *); + static void putChar(::java::nio::ByteBuffer *, jchar, ::java::nio::ByteOrder *); + static jchar getChar(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static void putChar(::java::nio::ByteBuffer *, jint, jchar, ::java::nio::ByteOrder *); + static jshort getShort(::java::nio::ByteBuffer *, ::java::nio::ByteOrder *); + static void putShort(::java::nio::ByteBuffer *, jshort, ::java::nio::ByteOrder *); + static jshort getShort(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static void putShort(::java::nio::ByteBuffer *, jint, jshort, ::java::nio::ByteOrder *); + static jint getInt(::java::nio::ByteBuffer *, ::java::nio::ByteOrder *); + static void putInt(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static jint getInt(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static void putInt(::java::nio::ByteBuffer *, jint, jint, ::java::nio::ByteOrder *); + static jlong getLong(::java::nio::ByteBuffer *, ::java::nio::ByteOrder *); + static void putLong(::java::nio::ByteBuffer *, jlong, ::java::nio::ByteOrder *); + static jlong getLong(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static void putLong(::java::nio::ByteBuffer *, jint, jlong, ::java::nio::ByteOrder *); + static jfloat getFloat(::java::nio::ByteBuffer *, ::java::nio::ByteOrder *); + static void putFloat(::java::nio::ByteBuffer *, jfloat, ::java::nio::ByteOrder *); + static jfloat getFloat(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static void putFloat(::java::nio::ByteBuffer *, jint, jfloat, ::java::nio::ByteOrder *); + static jdouble getDouble(::java::nio::ByteBuffer *, ::java::nio::ByteOrder *); + static void putDouble(::java::nio::ByteBuffer *, jdouble, ::java::nio::ByteOrder *); + static jdouble getDouble(::java::nio::ByteBuffer *, jint, ::java::nio::ByteOrder *); + static void putDouble(::java::nio::ByteBuffer *, jint, jdouble, ::java::nio::ByteOrder *); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ByteBufferHelper__ diff --git a/libjava/java/nio/ByteBufferImpl.h b/libjava/java/nio/ByteBufferImpl.h new file mode 100644 index 00000000000..12621a0c74f --- /dev/null +++ b/libjava/java/nio/ByteBufferImpl.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ByteBufferImpl__ +#define __java_nio_ByteBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteBufferImpl; + class CharBuffer; + class DoubleBuffer; + class FloatBuffer; + class IntBuffer; + class LongBuffer; + class ShortBuffer; + } + } +} + +class java::nio::ByteBufferImpl : public ::java::nio::ByteBuffer +{ + +public: // actually package-private + ByteBufferImpl(JArray< jbyte > *, jint, jint, jint, jint, jint, jboolean); +public: + ::java::nio::CharBuffer * asCharBuffer(); + ::java::nio::ShortBuffer * asShortBuffer(); + ::java::nio::IntBuffer * asIntBuffer(); + ::java::nio::LongBuffer * asLongBuffer(); + ::java::nio::FloatBuffer * asFloatBuffer(); + ::java::nio::DoubleBuffer * asDoubleBuffer(); + jboolean isReadOnly(); + ::java::nio::ByteBuffer * slice(); + ::java::nio::ByteBuffer * duplicate(); + ::java::nio::ByteBuffer * asReadOnlyBuffer(); +public: // actually package-private + void shiftDown(jint, jint, jint); +public: + ::java::nio::ByteBuffer * compact(); + jboolean isDirect(); + jbyte get(); + ::java::nio::ByteBuffer * get(JArray< jbyte > *, jint, jint); + ::java::nio::ByteBuffer * put(JArray< jbyte > *, jint, jint); + ::java::nio::ByteBuffer * put(jbyte); + jbyte get(jint); + ::java::nio::ByteBuffer * put(jint, jbyte); + jchar getChar(); + ::java::nio::ByteBuffer * putChar(jchar); + jchar getChar(jint); + ::java::nio::ByteBuffer * putChar(jint, jchar); + jshort getShort(); + ::java::nio::ByteBuffer * putShort(jshort); + jshort getShort(jint); + ::java::nio::ByteBuffer * putShort(jint, jshort); + jint getInt(); + ::java::nio::ByteBuffer * putInt(jint); + jint getInt(jint); + ::java::nio::ByteBuffer * putInt(jint, jint); + jlong getLong(); + ::java::nio::ByteBuffer * putLong(jlong); + jlong getLong(jint); + ::java::nio::ByteBuffer * putLong(jint, jlong); + jfloat getFloat(); + ::java::nio::ByteBuffer * putFloat(jfloat); + jfloat getFloat(jint); + ::java::nio::ByteBuffer * putFloat(jint, jfloat); + jdouble getDouble(); + ::java::nio::ByteBuffer * putDouble(jdouble); + jdouble getDouble(jint); + ::java::nio::ByteBuffer * putDouble(jint, jdouble); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::ByteBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ByteBufferImpl__ diff --git a/libjava/java/nio/ByteOrder.h b/libjava/java/nio/ByteOrder.h new file mode 100644 index 00000000000..730cb7fd90a --- /dev/null +++ b/libjava/java/nio/ByteOrder.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ByteOrder__ +#define __java_nio_ByteOrder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + } + } +} + +class java::nio::ByteOrder : public ::java::lang::Object +{ + +public: + static ::java::nio::ByteOrder * nativeOrder(); + ::java::lang::String * toString(); +private: + ByteOrder(); +public: + static ::java::nio::ByteOrder * BIG_ENDIAN; + static ::java::nio::ByteOrder * LITTLE_ENDIAN; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ByteOrder__ diff --git a/libjava/java/nio/CharBuffer.h b/libjava/java/nio/CharBuffer.h new file mode 100644 index 00000000000..9ab6d7e21f1 --- /dev/null +++ b/libjava/java/nio/CharBuffer.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_CharBuffer__ +#define __java_nio_CharBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class CharBuffer; + } + } +} + +class java::nio::CharBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + CharBuffer(jint, jint, jint, jint); +public: + static ::java::nio::CharBuffer * allocate(jint); + static ::java::nio::CharBuffer * wrap(JArray< jchar > *, jint, jint); + static ::java::nio::CharBuffer * wrap(::java::lang::CharSequence *); + static ::java::nio::CharBuffer * wrap(::java::lang::CharSequence *, jint, jint); + static ::java::nio::CharBuffer * wrap(JArray< jchar > *); + virtual ::java::nio::CharBuffer * get(JArray< jchar > *, jint, jint); + virtual jint read(::java::nio::CharBuffer *); + virtual ::java::nio::CharBuffer * get(JArray< jchar > *); + virtual ::java::nio::CharBuffer * put(::java::nio::CharBuffer *); + virtual ::java::nio::CharBuffer * put(JArray< jchar > *, jint, jint); + virtual ::java::nio::CharBuffer * put(JArray< jchar > *); + virtual jboolean hasArray(); + virtual JArray< jchar > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::CharBuffer *); + virtual ::java::nio::ByteOrder * order() = 0; + virtual jchar get() = 0; + virtual ::java::nio::CharBuffer * put(jchar) = 0; + virtual jchar get(jint) = 0; + virtual ::java::nio::CharBuffer * put(jint, jchar) = 0; + virtual ::java::nio::CharBuffer * compact() = 0; + virtual jboolean isDirect() = 0; + virtual ::java::nio::CharBuffer * slice() = 0; + virtual ::java::nio::CharBuffer * duplicate() = 0; + virtual ::java::nio::CharBuffer * asReadOnlyBuffer() = 0; + virtual ::java::lang::String * toString(); + virtual jint length(); + virtual ::java::lang::CharSequence * subSequence(jint, jint) = 0; + virtual ::java::nio::CharBuffer * put(::java::lang::String *, jint, jint); + virtual ::java::nio::CharBuffer * put(::java::lang::String *); + virtual jchar charAt(jint); + virtual ::java::nio::CharBuffer * target$append(jchar); + virtual ::java::nio::CharBuffer * target$append(::java::lang::CharSequence *); + virtual ::java::nio::CharBuffer * target$append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *, jint, jint); + virtual ::java::lang::Appendable * append(::java::lang::CharSequence *); + virtual ::java::lang::Appendable * append(jchar); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) array_offset; + JArray< jchar > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_CharBuffer__ diff --git a/libjava/java/nio/CharBufferImpl.h b/libjava/java/nio/CharBufferImpl.h new file mode 100644 index 00000000000..4cbf50ec305 --- /dev/null +++ b/libjava/java/nio/CharBufferImpl.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_CharBufferImpl__ +#define __java_nio_CharBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class CharBuffer; + class CharBufferImpl; + } + } +} + +class java::nio::CharBufferImpl : public ::java::nio::CharBuffer +{ + +public: // actually package-private + CharBufferImpl(jint); + CharBufferImpl(JArray< jchar > *, jint, jint, jint, jint, jint, jboolean); +public: + CharBufferImpl(::java::nio::CharBufferImpl *); + jboolean isReadOnly(); + ::java::nio::CharBuffer * slice(); + ::java::nio::CharBuffer * duplicate(); + ::java::nio::CharBuffer * asReadOnlyBuffer(); + ::java::nio::CharBuffer * compact(); + jboolean isDirect(); + ::java::lang::CharSequence * subSequence(jint, jint); + jchar get(); + ::java::nio::CharBuffer * put(jchar); + jchar get(jint); + ::java::nio::CharBuffer * get(JArray< jchar > *, jint, jint); + ::java::nio::CharBuffer * put(JArray< jchar > *, jint, jint); + ::java::nio::CharBuffer * put(jint, jchar); + ::java::nio::ByteOrder * order(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::CharBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_CharBufferImpl__ diff --git a/libjava/java/nio/CharViewBufferImpl.h b/libjava/java/nio/CharViewBufferImpl.h new file mode 100644 index 00000000000..fbde2de15ee --- /dev/null +++ b/libjava/java/nio/CharViewBufferImpl.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_CharViewBufferImpl__ +#define __java_nio_CharViewBufferImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class CharBuffer; + class CharViewBufferImpl; + } + } +} + +class java::nio::CharViewBufferImpl : public ::java::nio::CharBuffer +{ + +public: // actually package-private + CharViewBufferImpl(::java::nio::ByteBuffer *, jint); +public: + CharViewBufferImpl(::java::nio::ByteBuffer *, jint, jint, jint, jint, jint, jboolean, ::java::nio::ByteOrder *); + virtual jchar get(); + virtual jchar get(jint); + virtual ::java::nio::CharBuffer * put(jchar); + virtual ::java::nio::CharBuffer * put(jint, jchar); + virtual ::java::nio::CharBuffer * compact(); + virtual ::java::nio::CharBuffer * slice(); +public: // actually package-private + virtual ::java::nio::CharBuffer * duplicate(jboolean); +public: + virtual ::java::nio::CharBuffer * duplicate(); + virtual ::java::nio::CharBuffer * asReadOnlyBuffer(); + virtual ::java::lang::CharSequence * subSequence(jint, jint); + virtual jboolean isReadOnly(); + virtual jboolean isDirect(); + virtual ::java::nio::ByteOrder * order(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::CharBuffer)))) offset; + ::java::nio::ByteBuffer * bb; + jboolean readOnly; + ::java::nio::ByteOrder * endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_CharViewBufferImpl__ diff --git a/libjava/java/nio/DirectByteBufferImpl$ReadOnly.h b/libjava/java/nio/DirectByteBufferImpl$ReadOnly.h new file mode 100644 index 00000000000..f94c05ace88 --- /dev/null +++ b/libjava/java/nio/DirectByteBufferImpl$ReadOnly.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_DirectByteBufferImpl$ReadOnly__ +#define __java_nio_DirectByteBufferImpl$ReadOnly__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class DirectByteBufferImpl$ReadOnly; + } + } +} + +class java::nio::DirectByteBufferImpl$ReadOnly : public ::java::nio::DirectByteBufferImpl +{ + +public: // actually package-private + DirectByteBufferImpl$ReadOnly(::java::lang::Object *, ::gnu::gcj::RawData *, jint, jint, jint); +public: + ::java::nio::ByteBuffer * put(jbyte); + ::java::nio::ByteBuffer * put(jint, jbyte); + jboolean isReadOnly(); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_DirectByteBufferImpl$ReadOnly__ diff --git a/libjava/java/nio/DirectByteBufferImpl$ReadWrite.h b/libjava/java/nio/DirectByteBufferImpl$ReadWrite.h new file mode 100644 index 00000000000..aa8c5ad0a74 --- /dev/null +++ b/libjava/java/nio/DirectByteBufferImpl$ReadWrite.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_DirectByteBufferImpl$ReadWrite__ +#define __java_nio_DirectByteBufferImpl$ReadWrite__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } + namespace java + { + namespace nio + { + class DirectByteBufferImpl$ReadWrite; + } + } +} + +class java::nio::DirectByteBufferImpl$ReadWrite : public ::java::nio::DirectByteBufferImpl +{ + +public: // actually package-private + DirectByteBufferImpl$ReadWrite(jint); + DirectByteBufferImpl$ReadWrite(::gnu::gcj::RawData *, jint); + DirectByteBufferImpl$ReadWrite(::java::lang::Object *, ::gnu::gcj::RawData *, jint, jint, jint); +public: + jboolean isReadOnly(); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_DirectByteBufferImpl$ReadWrite__ diff --git a/libjava/java/nio/DirectByteBufferImpl.h b/libjava/java/nio/DirectByteBufferImpl.h new file mode 100644 index 00000000000..b5a566907e9 --- /dev/null +++ b/libjava/java/nio/DirectByteBufferImpl.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_DirectByteBufferImpl__ +#define __java_nio_DirectByteBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + class DirectByteBufferImpl; + class DoubleBuffer; + class FloatBuffer; + class IntBuffer; + class LongBuffer; + class ShortBuffer; + } + } +} + +class java::nio::DirectByteBufferImpl : public ::java::nio::ByteBuffer +{ + +public: // actually package-private + DirectByteBufferImpl(jint); + DirectByteBufferImpl(::gnu::gcj::RawData *, jint); + DirectByteBufferImpl(::java::lang::Object *, ::gnu::gcj::RawData *, jint, jint, jint); +public: + static ::java::nio::ByteBuffer * allocate(jint); +public: // actually protected + virtual void finalize(); +public: + virtual jbyte get(); + virtual jbyte get(jint); + virtual ::java::nio::ByteBuffer * get(JArray< jbyte > *, jint, jint); + virtual ::java::nio::ByteBuffer * put(jbyte); + virtual ::java::nio::ByteBuffer * put(jint, jbyte); +public: // actually package-private + virtual void shiftDown(jint, jint, jint); +public: + virtual ::java::nio::ByteBuffer * compact(); + virtual ::java::nio::ByteBuffer * slice(); +private: + ::java::nio::ByteBuffer * duplicate(jboolean); +public: + virtual ::java::nio::ByteBuffer * duplicate(); + virtual ::java::nio::ByteBuffer * asReadOnlyBuffer(); + virtual jboolean isDirect(); + virtual ::java::nio::CharBuffer * asCharBuffer(); + virtual ::java::nio::ShortBuffer * asShortBuffer(); + virtual ::java::nio::IntBuffer * asIntBuffer(); + virtual ::java::nio::LongBuffer * asLongBuffer(); + virtual ::java::nio::FloatBuffer * asFloatBuffer(); + virtual ::java::nio::DoubleBuffer * asDoubleBuffer(); + virtual jchar getChar(); + virtual ::java::nio::ByteBuffer * putChar(jchar); + virtual jchar getChar(jint); + virtual ::java::nio::ByteBuffer * putChar(jint, jchar); + virtual jshort getShort(); + virtual ::java::nio::ByteBuffer * putShort(jshort); + virtual jshort getShort(jint); + virtual ::java::nio::ByteBuffer * putShort(jint, jshort); + virtual jint getInt(); + virtual ::java::nio::ByteBuffer * putInt(jint); + virtual jint getInt(jint); + virtual ::java::nio::ByteBuffer * putInt(jint, jint); + virtual jlong getLong(); + virtual ::java::nio::ByteBuffer * putLong(jlong); + virtual jlong getLong(jint); + virtual ::java::nio::ByteBuffer * putLong(jint, jlong); + virtual jfloat getFloat(); + virtual ::java::nio::ByteBuffer * putFloat(jfloat); + virtual jfloat getFloat(jint); + virtual ::java::nio::ByteBuffer * putFloat(jint, jfloat); + virtual jdouble getDouble(); + virtual ::java::nio::ByteBuffer * putDouble(jdouble); + virtual jdouble getDouble(jint); + virtual ::java::nio::ByteBuffer * putDouble(jint, jdouble); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::nio::ByteBuffer)))) owner; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_DirectByteBufferImpl__ diff --git a/libjava/java/nio/DoubleBuffer.h b/libjava/java/nio/DoubleBuffer.h new file mode 100644 index 00000000000..4fb0ef033e2 --- /dev/null +++ b/libjava/java/nio/DoubleBuffer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_DoubleBuffer__ +#define __java_nio_DoubleBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class DoubleBuffer; + } + } +} + +class java::nio::DoubleBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + DoubleBuffer(jint, jint, jint, jint); +public: + static ::java::nio::DoubleBuffer * allocate(jint); + static ::java::nio::DoubleBuffer * wrap(JArray< jdouble > *, jint, jint); + static ::java::nio::DoubleBuffer * wrap(JArray< jdouble > *); + virtual ::java::nio::DoubleBuffer * get(JArray< jdouble > *, jint, jint); + virtual ::java::nio::DoubleBuffer * get(JArray< jdouble > *); + virtual ::java::nio::DoubleBuffer * put(::java::nio::DoubleBuffer *); + virtual ::java::nio::DoubleBuffer * put(JArray< jdouble > *, jint, jint); + virtual ::java::nio::DoubleBuffer * put(JArray< jdouble > *); + virtual jboolean hasArray(); + virtual JArray< jdouble > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::DoubleBuffer *); + virtual ::java::nio::ByteOrder * order() = 0; + virtual jdouble get() = 0; + virtual ::java::nio::DoubleBuffer * put(jdouble) = 0; + virtual jdouble get(jint) = 0; + virtual ::java::nio::DoubleBuffer * put(jint, jdouble) = 0; + virtual ::java::nio::DoubleBuffer * compact() = 0; + virtual jboolean isDirect() = 0; + virtual ::java::nio::DoubleBuffer * slice() = 0; + virtual ::java::nio::DoubleBuffer * duplicate() = 0; + virtual ::java::nio::DoubleBuffer * asReadOnlyBuffer() = 0; + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) array_offset; + JArray< jdouble > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_DoubleBuffer__ diff --git a/libjava/java/nio/DoubleBufferImpl.h b/libjava/java/nio/DoubleBufferImpl.h new file mode 100644 index 00000000000..f87e69c05f0 --- /dev/null +++ b/libjava/java/nio/DoubleBufferImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_DoubleBufferImpl__ +#define __java_nio_DoubleBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class DoubleBuffer; + class DoubleBufferImpl; + } + } +} + +class java::nio::DoubleBufferImpl : public ::java::nio::DoubleBuffer +{ + +public: // actually package-private + DoubleBufferImpl(jint); + DoubleBufferImpl(JArray< jdouble > *, jint, jint, jint, jint, jint, jboolean); +public: + jboolean isReadOnly(); + ::java::nio::DoubleBuffer * slice(); + ::java::nio::DoubleBuffer * duplicate(); + ::java::nio::DoubleBuffer * asReadOnlyBuffer(); + ::java::nio::DoubleBuffer * compact(); + jboolean isDirect(); + jdouble get(); + ::java::nio::DoubleBuffer * put(jdouble); + jdouble get(jint); + ::java::nio::DoubleBuffer * put(jint, jdouble); + ::java::nio::ByteOrder * order(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::DoubleBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_DoubleBufferImpl__ diff --git a/libjava/java/nio/DoubleViewBufferImpl.h b/libjava/java/nio/DoubleViewBufferImpl.h new file mode 100644 index 00000000000..778a0aca25b --- /dev/null +++ b/libjava/java/nio/DoubleViewBufferImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_DoubleViewBufferImpl__ +#define __java_nio_DoubleViewBufferImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class DoubleBuffer; + class DoubleViewBufferImpl; + } + } +} + +class java::nio::DoubleViewBufferImpl : public ::java::nio::DoubleBuffer +{ + +public: // actually package-private + DoubleViewBufferImpl(::java::nio::ByteBuffer *, jint); +public: + DoubleViewBufferImpl(::java::nio::ByteBuffer *, jint, jint, jint, jint, jint, jboolean, ::java::nio::ByteOrder *); + jdouble get(); + jdouble get(jint); + ::java::nio::DoubleBuffer * put(jdouble); + ::java::nio::DoubleBuffer * put(jint, jdouble); + ::java::nio::DoubleBuffer * compact(); + ::java::nio::DoubleBuffer * slice(); +public: // actually package-private + ::java::nio::DoubleBuffer * duplicate(jboolean); +public: + ::java::nio::DoubleBuffer * duplicate(); + ::java::nio::DoubleBuffer * asReadOnlyBuffer(); + jboolean isReadOnly(); + jboolean isDirect(); + ::java::nio::ByteOrder * order(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::DoubleBuffer)))) offset; + ::java::nio::ByteBuffer * bb; + jboolean readOnly; + ::java::nio::ByteOrder * endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_DoubleViewBufferImpl__ diff --git a/libjava/java/nio/FloatBuffer.h b/libjava/java/nio/FloatBuffer.h new file mode 100644 index 00000000000..61c02144b98 --- /dev/null +++ b/libjava/java/nio/FloatBuffer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_FloatBuffer__ +#define __java_nio_FloatBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class FloatBuffer; + } + } +} + +class java::nio::FloatBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + FloatBuffer(jint, jint, jint, jint); +public: + static ::java::nio::FloatBuffer * allocate(jint); + static ::java::nio::FloatBuffer * wrap(JArray< jfloat > *, jint, jint); + static ::java::nio::FloatBuffer * wrap(JArray< jfloat > *); + virtual ::java::nio::FloatBuffer * get(JArray< jfloat > *, jint, jint); + virtual ::java::nio::FloatBuffer * get(JArray< jfloat > *); + virtual ::java::nio::FloatBuffer * put(::java::nio::FloatBuffer *); + virtual ::java::nio::FloatBuffer * put(JArray< jfloat > *, jint, jint); + virtual ::java::nio::FloatBuffer * put(JArray< jfloat > *); + virtual jboolean hasArray(); + virtual JArray< jfloat > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::FloatBuffer *); + virtual ::java::nio::ByteOrder * order() = 0; + virtual jfloat get() = 0; + virtual ::java::nio::FloatBuffer * put(jfloat) = 0; + virtual jfloat get(jint) = 0; + virtual ::java::nio::FloatBuffer * put(jint, jfloat) = 0; + virtual ::java::nio::FloatBuffer * compact() = 0; + virtual jboolean isDirect() = 0; + virtual ::java::nio::FloatBuffer * slice() = 0; + virtual ::java::nio::FloatBuffer * duplicate() = 0; + virtual ::java::nio::FloatBuffer * asReadOnlyBuffer() = 0; + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) array_offset; + JArray< jfloat > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_FloatBuffer__ diff --git a/libjava/java/nio/FloatBufferImpl.h b/libjava/java/nio/FloatBufferImpl.h new file mode 100644 index 00000000000..6dad3a9b1d7 --- /dev/null +++ b/libjava/java/nio/FloatBufferImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_FloatBufferImpl__ +#define __java_nio_FloatBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class FloatBuffer; + class FloatBufferImpl; + } + } +} + +class java::nio::FloatBufferImpl : public ::java::nio::FloatBuffer +{ + +public: // actually package-private + FloatBufferImpl(jint); + FloatBufferImpl(JArray< jfloat > *, jint, jint, jint, jint, jint, jboolean); +public: + jboolean isReadOnly(); + ::java::nio::FloatBuffer * slice(); + ::java::nio::FloatBuffer * duplicate(); + ::java::nio::FloatBuffer * asReadOnlyBuffer(); + ::java::nio::FloatBuffer * compact(); + jboolean isDirect(); + jfloat get(); + ::java::nio::FloatBuffer * put(jfloat); + jfloat get(jint); + ::java::nio::FloatBuffer * put(jint, jfloat); + ::java::nio::ByteOrder * order(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::FloatBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_FloatBufferImpl__ diff --git a/libjava/java/nio/FloatViewBufferImpl.h b/libjava/java/nio/FloatViewBufferImpl.h new file mode 100644 index 00000000000..5ba181b5aec --- /dev/null +++ b/libjava/java/nio/FloatViewBufferImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_FloatViewBufferImpl__ +#define __java_nio_FloatViewBufferImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class FloatBuffer; + class FloatViewBufferImpl; + } + } +} + +class java::nio::FloatViewBufferImpl : public ::java::nio::FloatBuffer +{ + +public: // actually package-private + FloatViewBufferImpl(::java::nio::ByteBuffer *, jint); +public: + FloatViewBufferImpl(::java::nio::ByteBuffer *, jint, jint, jint, jint, jint, jboolean, ::java::nio::ByteOrder *); + jfloat get(); + jfloat get(jint); + ::java::nio::FloatBuffer * put(jfloat); + ::java::nio::FloatBuffer * put(jint, jfloat); + ::java::nio::FloatBuffer * compact(); + ::java::nio::FloatBuffer * slice(); +public: // actually package-private + ::java::nio::FloatBuffer * duplicate(jboolean); +public: + ::java::nio::FloatBuffer * duplicate(); + ::java::nio::FloatBuffer * asReadOnlyBuffer(); + jboolean isReadOnly(); + jboolean isDirect(); + ::java::nio::ByteOrder * order(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::FloatBuffer)))) offset; + ::java::nio::ByteBuffer * bb; + jboolean readOnly; + ::java::nio::ByteOrder * endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_FloatViewBufferImpl__ diff --git a/libjava/java/nio/IntBuffer.h b/libjava/java/nio/IntBuffer.h new file mode 100644 index 00000000000..0922342cb25 --- /dev/null +++ b/libjava/java/nio/IntBuffer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_IntBuffer__ +#define __java_nio_IntBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class IntBuffer; + } + } +} + +class java::nio::IntBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + IntBuffer(jint, jint, jint, jint); +public: + static ::java::nio::IntBuffer * allocate(jint); + static ::java::nio::IntBuffer * wrap(JArray< jint > *, jint, jint); + static ::java::nio::IntBuffer * wrap(JArray< jint > *); + virtual ::java::nio::IntBuffer * get(JArray< jint > *, jint, jint); + virtual ::java::nio::IntBuffer * get(JArray< jint > *); + virtual ::java::nio::IntBuffer * put(::java::nio::IntBuffer *); + virtual ::java::nio::IntBuffer * put(JArray< jint > *, jint, jint); + virtual ::java::nio::IntBuffer * put(JArray< jint > *); + virtual jboolean hasArray(); + virtual JArray< jint > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::IntBuffer *); + virtual ::java::nio::ByteOrder * order() = 0; + virtual jint get() = 0; + virtual ::java::nio::IntBuffer * put(jint) = 0; + virtual jint get(jint) = 0; + virtual ::java::nio::IntBuffer * put(jint, jint) = 0; + virtual ::java::nio::IntBuffer * compact() = 0; + virtual jboolean isDirect() = 0; + virtual ::java::nio::IntBuffer * slice() = 0; + virtual ::java::nio::IntBuffer * duplicate() = 0; + virtual ::java::nio::IntBuffer * asReadOnlyBuffer() = 0; + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) array_offset; + JArray< jint > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_IntBuffer__ diff --git a/libjava/java/nio/IntBufferImpl.h b/libjava/java/nio/IntBufferImpl.h new file mode 100644 index 00000000000..2492f028f10 --- /dev/null +++ b/libjava/java/nio/IntBufferImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_IntBufferImpl__ +#define __java_nio_IntBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class IntBuffer; + class IntBufferImpl; + } + } +} + +class java::nio::IntBufferImpl : public ::java::nio::IntBuffer +{ + +public: // actually package-private + IntBufferImpl(jint); + IntBufferImpl(JArray< jint > *, jint, jint, jint, jint, jint, jboolean); +public: + jboolean isReadOnly(); + ::java::nio::IntBuffer * slice(); + ::java::nio::IntBuffer * duplicate(); + ::java::nio::IntBuffer * asReadOnlyBuffer(); + ::java::nio::IntBuffer * compact(); + jboolean isDirect(); + jint get(); + ::java::nio::IntBuffer * put(jint); + jint get(jint); + ::java::nio::IntBuffer * put(jint, jint); + ::java::nio::ByteOrder * order(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::IntBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_IntBufferImpl__ diff --git a/libjava/java/nio/IntViewBufferImpl.h b/libjava/java/nio/IntViewBufferImpl.h new file mode 100644 index 00000000000..8dfe695e25d --- /dev/null +++ b/libjava/java/nio/IntViewBufferImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_IntViewBufferImpl__ +#define __java_nio_IntViewBufferImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class IntBuffer; + class IntViewBufferImpl; + } + } +} + +class java::nio::IntViewBufferImpl : public ::java::nio::IntBuffer +{ + +public: // actually package-private + IntViewBufferImpl(::java::nio::ByteBuffer *, jint); +public: + IntViewBufferImpl(::java::nio::ByteBuffer *, jint, jint, jint, jint, jint, jboolean, ::java::nio::ByteOrder *); + jint get(); + jint get(jint); + ::java::nio::IntBuffer * put(jint); + ::java::nio::IntBuffer * put(jint, jint); + ::java::nio::IntBuffer * compact(); + ::java::nio::IntBuffer * slice(); +public: // actually package-private + ::java::nio::IntBuffer * duplicate(jboolean); +public: + ::java::nio::IntBuffer * duplicate(); + ::java::nio::IntBuffer * asReadOnlyBuffer(); + jboolean isReadOnly(); + jboolean isDirect(); + ::java::nio::ByteOrder * order(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::IntBuffer)))) offset; + ::java::nio::ByteBuffer * bb; + jboolean readOnly; + ::java::nio::ByteOrder * endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_IntViewBufferImpl__ diff --git a/libjava/java/nio/InvalidMarkException.h b/libjava/java/nio/InvalidMarkException.h new file mode 100644 index 00000000000..7b095c2cdce --- /dev/null +++ b/libjava/java/nio/InvalidMarkException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_InvalidMarkException__ +#define __java_nio_InvalidMarkException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class InvalidMarkException; + } + } +} + +class java::nio::InvalidMarkException : public ::java::lang::IllegalStateException +{ + +public: + InvalidMarkException(); +private: + static const jlong serialVersionUID = 1698329710438510774LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_InvalidMarkException__ diff --git a/libjava/java/nio/LongBuffer.h b/libjava/java/nio/LongBuffer.h new file mode 100644 index 00000000000..f100e050e7f --- /dev/null +++ b/libjava/java/nio/LongBuffer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_LongBuffer__ +#define __java_nio_LongBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class LongBuffer; + } + } +} + +class java::nio::LongBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + LongBuffer(jint, jint, jint, jint); +public: + static ::java::nio::LongBuffer * allocate(jint); + static ::java::nio::LongBuffer * wrap(JArray< jlong > *, jint, jint); + static ::java::nio::LongBuffer * wrap(JArray< jlong > *); + virtual ::java::nio::LongBuffer * get(JArray< jlong > *, jint, jint); + virtual ::java::nio::LongBuffer * get(JArray< jlong > *); + virtual ::java::nio::LongBuffer * put(::java::nio::LongBuffer *); + virtual ::java::nio::LongBuffer * put(JArray< jlong > *, jint, jint); + virtual ::java::nio::LongBuffer * put(JArray< jlong > *); + virtual jboolean hasArray(); + virtual JArray< jlong > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::LongBuffer *); + virtual ::java::nio::ByteOrder * order() = 0; + virtual jlong get() = 0; + virtual ::java::nio::LongBuffer * put(jlong) = 0; + virtual jlong get(jint) = 0; + virtual ::java::nio::LongBuffer * put(jint, jlong) = 0; + virtual ::java::nio::LongBuffer * compact() = 0; + virtual jboolean isDirect() = 0; + virtual ::java::nio::LongBuffer * slice() = 0; + virtual ::java::nio::LongBuffer * duplicate() = 0; + virtual ::java::nio::LongBuffer * asReadOnlyBuffer() = 0; + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) array_offset; + JArray< jlong > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_LongBuffer__ diff --git a/libjava/java/nio/LongBufferImpl.h b/libjava/java/nio/LongBufferImpl.h new file mode 100644 index 00000000000..ad28128bd41 --- /dev/null +++ b/libjava/java/nio/LongBufferImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_LongBufferImpl__ +#define __java_nio_LongBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class LongBuffer; + class LongBufferImpl; + } + } +} + +class java::nio::LongBufferImpl : public ::java::nio::LongBuffer +{ + +public: // actually package-private + LongBufferImpl(jint); + LongBufferImpl(JArray< jlong > *, jint, jint, jint, jint, jint, jboolean); +public: + jboolean isReadOnly(); + ::java::nio::LongBuffer * slice(); + ::java::nio::LongBuffer * duplicate(); + ::java::nio::LongBuffer * asReadOnlyBuffer(); + ::java::nio::LongBuffer * compact(); + jboolean isDirect(); + jlong get(); + ::java::nio::LongBuffer * put(jlong); + jlong get(jint); + ::java::nio::LongBuffer * put(jint, jlong); + ::java::nio::ByteOrder * order(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::LongBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_LongBufferImpl__ diff --git a/libjava/java/nio/LongViewBufferImpl.h b/libjava/java/nio/LongViewBufferImpl.h new file mode 100644 index 00000000000..59e678c0fdf --- /dev/null +++ b/libjava/java/nio/LongViewBufferImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_LongViewBufferImpl__ +#define __java_nio_LongViewBufferImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class LongBuffer; + class LongViewBufferImpl; + } + } +} + +class java::nio::LongViewBufferImpl : public ::java::nio::LongBuffer +{ + +public: // actually package-private + LongViewBufferImpl(::java::nio::ByteBuffer *, jint); +public: + LongViewBufferImpl(::java::nio::ByteBuffer *, jint, jint, jint, jint, jint, jboolean, ::java::nio::ByteOrder *); + jlong get(); + jlong get(jint); + ::java::nio::LongBuffer * put(jlong); + ::java::nio::LongBuffer * put(jint, jlong); + ::java::nio::LongBuffer * compact(); + ::java::nio::LongBuffer * slice(); +public: // actually package-private + ::java::nio::LongBuffer * duplicate(jboolean); +public: + ::java::nio::LongBuffer * duplicate(); + ::java::nio::LongBuffer * asReadOnlyBuffer(); + jboolean isReadOnly(); + jboolean isDirect(); + ::java::nio::ByteOrder * order(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::LongBuffer)))) offset; + ::java::nio::ByteBuffer * bb; + jboolean readOnly; + ::java::nio::ByteOrder * endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_LongViewBufferImpl__ diff --git a/libjava/java/nio/MappedByteBuffer.h b/libjava/java/nio/MappedByteBuffer.h new file mode 100644 index 00000000000..563a9662e30 --- /dev/null +++ b/libjava/java/nio/MappedByteBuffer.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_MappedByteBuffer__ +#define __java_nio_MappedByteBuffer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class MappedByteBuffer; + } + } +} + +class java::nio::MappedByteBuffer : public ::java::nio::ByteBuffer +{ + +public: // actually package-private + MappedByteBuffer(jint, jint, jint, jint); + virtual void forceImpl(); +public: + virtual ::java::nio::MappedByteBuffer * force(); +public: // actually package-private + virtual jboolean isLoadedImpl(); +public: + virtual jboolean isLoaded(); +public: // actually package-private + virtual void loadImpl(); +public: + virtual ::java::nio::MappedByteBuffer * load(); +public: // actually package-private + virtual void unmapImpl(); +public: + virtual void finalize(); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_MappedByteBuffer__ diff --git a/libjava/java/nio/MappedByteBufferImpl.h b/libjava/java/nio/MappedByteBufferImpl.h new file mode 100644 index 00000000000..e678d49fb73 --- /dev/null +++ b/libjava/java/nio/MappedByteBufferImpl.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_MappedByteBufferImpl__ +#define __java_nio_MappedByteBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + class DoubleBuffer; + class FloatBuffer; + class IntBuffer; + class LongBuffer; + class MappedByteBufferImpl; + class ShortBuffer; + } + } +} + +class java::nio::MappedByteBufferImpl : public ::java::nio::MappedByteBuffer +{ + +public: + MappedByteBufferImpl(::gnu::gcj::RawData *, jint, jboolean); + jboolean isReadOnly(); + jbyte get(); + ::java::nio::ByteBuffer * put(jbyte); + jbyte get(jint); + ::java::nio::ByteBuffer * get(JArray< jbyte > *, jint, jint); + ::java::nio::ByteBuffer * put(jint, jbyte); + ::java::nio::ByteBuffer * compact(); + jboolean isDirect(); + ::java::nio::ByteBuffer * slice(); +private: + ::java::nio::ByteBuffer * duplicate(jboolean); +public: + ::java::nio::ByteBuffer * duplicate(); + ::java::nio::ByteBuffer * asReadOnlyBuffer(); + ::java::nio::CharBuffer * asCharBuffer(); + ::java::nio::ShortBuffer * asShortBuffer(); + ::java::nio::IntBuffer * asIntBuffer(); + ::java::nio::LongBuffer * asLongBuffer(); + ::java::nio::FloatBuffer * asFloatBuffer(); + ::java::nio::DoubleBuffer * asDoubleBuffer(); + jchar getChar(); + ::java::nio::ByteBuffer * putChar(jchar); + jchar getChar(jint); + ::java::nio::ByteBuffer * putChar(jint, jchar); + jshort getShort(); + ::java::nio::ByteBuffer * putShort(jshort); + jshort getShort(jint); + ::java::nio::ByteBuffer * putShort(jint, jshort); + jint getInt(); + ::java::nio::ByteBuffer * putInt(jint); + jint getInt(jint); + ::java::nio::ByteBuffer * putInt(jint, jint); + jlong getLong(); + ::java::nio::ByteBuffer * putLong(jlong); + jlong getLong(jint); + ::java::nio::ByteBuffer * putLong(jint, jlong); + jfloat getFloat(); + ::java::nio::ByteBuffer * putFloat(jfloat); + jfloat getFloat(jint); + ::java::nio::ByteBuffer * putFloat(jint, jfloat); + jdouble getDouble(); + ::java::nio::ByteBuffer * putDouble(jdouble); + jdouble getDouble(jint); + ::java::nio::ByteBuffer * putDouble(jint, jdouble); +public: // actually package-private + void unmapImpl(); + jboolean isLoadedImpl(); + void loadImpl(); + void forceImpl(); + jboolean __attribute__((aligned(__alignof__( ::java::nio::MappedByteBuffer)))) readOnly; +public: + ::gnu::gcj::RawData * implPtr; + jlong implLen; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_MappedByteBufferImpl__ diff --git a/libjava/java/nio/ReadOnlyBufferException.h b/libjava/java/nio/ReadOnlyBufferException.h new file mode 100644 index 00000000000..58fe414ffb4 --- /dev/null +++ b/libjava/java/nio/ReadOnlyBufferException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ReadOnlyBufferException__ +#define __java_nio_ReadOnlyBufferException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ReadOnlyBufferException; + } + } +} + +class java::nio::ReadOnlyBufferException : public ::java::lang::UnsupportedOperationException +{ + +public: + ReadOnlyBufferException(); +private: + static const jlong serialVersionUID = -1210063976496234090LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ReadOnlyBufferException__ diff --git a/libjava/java/nio/ShortBuffer.h b/libjava/java/nio/ShortBuffer.h new file mode 100644 index 00000000000..27b9814a811 --- /dev/null +++ b/libjava/java/nio/ShortBuffer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ShortBuffer__ +#define __java_nio_ShortBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class ShortBuffer; + } + } +} + +class java::nio::ShortBuffer : public ::java::nio::Buffer +{ + +public: // actually package-private + ShortBuffer(jint, jint, jint, jint); +public: + static ::java::nio::ShortBuffer * allocate(jint); + static ::java::nio::ShortBuffer * wrap(JArray< jshort > *, jint, jint); + static ::java::nio::ShortBuffer * wrap(JArray< jshort > *); + virtual ::java::nio::ShortBuffer * get(JArray< jshort > *, jint, jint); + virtual ::java::nio::ShortBuffer * get(JArray< jshort > *); + virtual ::java::nio::ShortBuffer * put(::java::nio::ShortBuffer *); + virtual ::java::nio::ShortBuffer * put(JArray< jshort > *, jint, jint); + virtual ::java::nio::ShortBuffer * put(JArray< jshort > *); + virtual jboolean hasArray(); + virtual JArray< jshort > * array(); + virtual jint arrayOffset(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::nio::ShortBuffer *); + virtual ::java::nio::ByteOrder * order() = 0; + virtual jshort get() = 0; + virtual ::java::nio::ShortBuffer * put(jshort) = 0; + virtual jshort get(jint) = 0; + virtual ::java::nio::ShortBuffer * put(jint, jshort) = 0; + virtual ::java::nio::ShortBuffer * compact() = 0; + virtual jboolean isDirect() = 0; + virtual ::java::nio::ShortBuffer * slice() = 0; + virtual ::java::nio::ShortBuffer * duplicate() = 0; + virtual ::java::nio::ShortBuffer * asReadOnlyBuffer() = 0; + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::nio::Buffer)))) array_offset; + JArray< jshort > * backing_buffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ShortBuffer__ diff --git a/libjava/java/nio/ShortBufferImpl.h b/libjava/java/nio/ShortBufferImpl.h new file mode 100644 index 00000000000..a4150a8e909 --- /dev/null +++ b/libjava/java/nio/ShortBufferImpl.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ShortBufferImpl__ +#define __java_nio_ShortBufferImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + class ShortBuffer; + class ShortBufferImpl; + } + } +} + +class java::nio::ShortBufferImpl : public ::java::nio::ShortBuffer +{ + +public: // actually package-private + ShortBufferImpl(jint); + ShortBufferImpl(JArray< jshort > *, jint, jint, jint, jint, jint, jboolean); +public: + jboolean isReadOnly(); + ::java::nio::ShortBuffer * slice(); + ::java::nio::ShortBuffer * duplicate(); + ::java::nio::ShortBuffer * asReadOnlyBuffer(); + ::java::nio::ShortBuffer * compact(); + jboolean isDirect(); + jshort get(); + ::java::nio::ShortBuffer * put(jshort); + jshort get(jint); + ::java::nio::ShortBuffer * put(jint, jshort); + ::java::nio::ByteOrder * order(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::ShortBuffer)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ShortBufferImpl__ diff --git a/libjava/java/nio/ShortViewBufferImpl.h b/libjava/java/nio/ShortViewBufferImpl.h new file mode 100644 index 00000000000..179cc32c564 --- /dev/null +++ b/libjava/java/nio/ShortViewBufferImpl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_ShortViewBufferImpl__ +#define __java_nio_ShortViewBufferImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class ByteOrder; + class ShortBuffer; + class ShortViewBufferImpl; + } + } +} + +class java::nio::ShortViewBufferImpl : public ::java::nio::ShortBuffer +{ + +public: // actually package-private + ShortViewBufferImpl(::java::nio::ByteBuffer *, jint); +public: + ShortViewBufferImpl(::java::nio::ByteBuffer *, jint, jint, jint, jint, jint, jboolean, ::java::nio::ByteOrder *); + jshort get(); + jshort get(jint); + ::java::nio::ShortBuffer * put(jshort); + ::java::nio::ShortBuffer * put(jint, jshort); + ::java::nio::ShortBuffer * compact(); + ::java::nio::ShortBuffer * slice(); +public: // actually package-private + ::java::nio::ShortBuffer * duplicate(jboolean); +public: + ::java::nio::ShortBuffer * duplicate(); + ::java::nio::ShortBuffer * asReadOnlyBuffer(); + jboolean isReadOnly(); + jboolean isDirect(); + ::java::nio::ByteOrder * order(); +private: + jint __attribute__((aligned(__alignof__( ::java::nio::ShortBuffer)))) offset; + ::java::nio::ByteBuffer * bb; + jboolean readOnly; + ::java::nio::ByteOrder * endian; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_ShortViewBufferImpl__ diff --git a/libjava/java/nio/VMDirectByteBuffer.h b/libjava/java/nio/VMDirectByteBuffer.h new file mode 100644 index 00000000000..2434caf194d --- /dev/null +++ b/libjava/java/nio/VMDirectByteBuffer.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_VMDirectByteBuffer__ +#define __java_nio_VMDirectByteBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } + namespace java + { + namespace nio + { + class VMDirectByteBuffer; + } + } +} + +class java::nio::VMDirectByteBuffer : public ::java::lang::Object +{ + +public: // actually package-private + VMDirectByteBuffer(); + static ::gnu::gcj::RawData * allocate(jint); + static void free(::gnu::gcj::RawData *); + static jbyte get(::gnu::gcj::RawData *, jint); + static void get(::gnu::gcj::RawData *, jint, JArray< jbyte > *, jint, jint); + static void put(::gnu::gcj::RawData *, jint, jbyte); + static ::gnu::gcj::RawData * adjustAddress(::gnu::gcj::RawData *, jint); + static void shiftDown(::gnu::gcj::RawData *, jint, jint, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_VMDirectByteBuffer__ diff --git a/libjava/java/nio/channels/AlreadyConnectedException.h b/libjava/java/nio/channels/AlreadyConnectedException.h new file mode 100644 index 00000000000..08d6d479ea9 --- /dev/null +++ b/libjava/java/nio/channels/AlreadyConnectedException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_AlreadyConnectedException__ +#define __java_nio_channels_AlreadyConnectedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class AlreadyConnectedException; + } + } + } +} + +class java::nio::channels::AlreadyConnectedException : public ::java::lang::IllegalStateException +{ + +public: + AlreadyConnectedException(); +private: + static const jlong serialVersionUID = -7331895245053773357LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_AlreadyConnectedException__ diff --git a/libjava/java/nio/channels/AsynchronousCloseException.h b/libjava/java/nio/channels/AsynchronousCloseException.h new file mode 100644 index 00000000000..bfcbf2eb46c --- /dev/null +++ b/libjava/java/nio/channels/AsynchronousCloseException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_AsynchronousCloseException__ +#define __java_nio_channels_AsynchronousCloseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class AsynchronousCloseException; + } + } + } +} + +class java::nio::channels::AsynchronousCloseException : public ::java::nio::channels::ClosedChannelException +{ + +public: + AsynchronousCloseException(); +private: + static const jlong serialVersionUID = 6891178312432313966LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_AsynchronousCloseException__ diff --git a/libjava/java/nio/channels/ByteChannel.h b/libjava/java/nio/channels/ByteChannel.h new file mode 100644 index 00000000000..a813648137a --- /dev/null +++ b/libjava/java/nio/channels/ByteChannel.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ByteChannel__ +#define __java_nio_channels_ByteChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class ByteChannel; + } + } + } +} + +class java::nio::channels::ByteChannel : public ::java::lang::Object +{ + +public: + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jboolean isOpen() = 0; + virtual void close() = 0; + virtual jint write(::java::nio::ByteBuffer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_ByteChannel__ diff --git a/libjava/java/nio/channels/CancelledKeyException.h b/libjava/java/nio/channels/CancelledKeyException.h new file mode 100644 index 00000000000..742185f1fd7 --- /dev/null +++ b/libjava/java/nio/channels/CancelledKeyException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_CancelledKeyException__ +#define __java_nio_channels_CancelledKeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class CancelledKeyException; + } + } + } +} + +class java::nio::channels::CancelledKeyException : public ::java::lang::IllegalStateException +{ + +public: + CancelledKeyException(); +private: + static const jlong serialVersionUID = -8438032138028814268LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_CancelledKeyException__ diff --git a/libjava/java/nio/channels/Channel.h b/libjava/java/nio/channels/Channel.h new file mode 100644 index 00000000000..fc0177d6f78 --- /dev/null +++ b/libjava/java/nio/channels/Channel.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_Channel__ +#define __java_nio_channels_Channel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class Channel; + } + } + } +} + +class java::nio::channels::Channel : public ::java::lang::Object +{ + +public: + virtual jboolean isOpen() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_Channel__ diff --git a/libjava/java/nio/channels/Channels.h b/libjava/java/nio/channels/Channels.h new file mode 100644 index 00000000000..384156483e0 --- /dev/null +++ b/libjava/java/nio/channels/Channels.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_Channels__ +#define __java_nio_channels_Channels__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class Channels; + class ReadableByteChannel; + class WritableByteChannel; + } + namespace charset + { + class CharsetDecoder; + class CharsetEncoder; + } + } + } +} + +class java::nio::channels::Channels : public ::java::lang::Object +{ + + Channels(); +public: + static ::java::io::InputStream * newInputStream(::java::nio::channels::ReadableByteChannel *); + static ::java::io::OutputStream * newOutputStream(::java::nio::channels::WritableByteChannel *); + static ::java::nio::channels::ReadableByteChannel * newChannel(::java::io::InputStream *); + static ::java::nio::channels::WritableByteChannel * newChannel(::java::io::OutputStream *); + static ::java::io::Reader * newReader(::java::nio::channels::ReadableByteChannel *, ::java::nio::charset::CharsetDecoder *, jint); + static ::java::io::Reader * newReader(::java::nio::channels::ReadableByteChannel *, ::java::lang::String *); + static ::java::io::Writer * newWriter(::java::nio::channels::WritableByteChannel *, ::java::nio::charset::CharsetEncoder *, jint); + static ::java::io::Writer * newWriter(::java::nio::channels::WritableByteChannel *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_Channels__ diff --git a/libjava/java/nio/channels/ClosedByInterruptException.h b/libjava/java/nio/channels/ClosedByInterruptException.h new file mode 100644 index 00000000000..742dddc6048 --- /dev/null +++ b/libjava/java/nio/channels/ClosedByInterruptException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ClosedByInterruptException__ +#define __java_nio_channels_ClosedByInterruptException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class ClosedByInterruptException; + } + } + } +} + +class java::nio::channels::ClosedByInterruptException : public ::java::nio::channels::AsynchronousCloseException +{ + +public: + ClosedByInterruptException(); +private: + static const jlong serialVersionUID = -4488191543534286750LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_ClosedByInterruptException__ diff --git a/libjava/java/nio/channels/ClosedChannelException.h b/libjava/java/nio/channels/ClosedChannelException.h new file mode 100644 index 00000000000..3bca678e5a2 --- /dev/null +++ b/libjava/java/nio/channels/ClosedChannelException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ClosedChannelException__ +#define __java_nio_channels_ClosedChannelException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class ClosedChannelException; + } + } + } +} + +class java::nio::channels::ClosedChannelException : public ::java::io::IOException +{ + +public: + ClosedChannelException(); +private: + static const jlong serialVersionUID = 882777185433553857LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_ClosedChannelException__ diff --git a/libjava/java/nio/channels/ClosedSelectorException.h b/libjava/java/nio/channels/ClosedSelectorException.h new file mode 100644 index 00000000000..80b821ed41a --- /dev/null +++ b/libjava/java/nio/channels/ClosedSelectorException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ClosedSelectorException__ +#define __java_nio_channels_ClosedSelectorException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class ClosedSelectorException; + } + } + } +} + +class java::nio::channels::ClosedSelectorException : public ::java::lang::IllegalStateException +{ + +public: + ClosedSelectorException(); +private: + static const jlong serialVersionUID = 6466297122317847835LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_ClosedSelectorException__ diff --git a/libjava/java/nio/channels/ConnectionPendingException.h b/libjava/java/nio/channels/ConnectionPendingException.h new file mode 100644 index 00000000000..29f48307124 --- /dev/null +++ b/libjava/java/nio/channels/ConnectionPendingException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ConnectionPendingException__ +#define __java_nio_channels_ConnectionPendingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class ConnectionPendingException; + } + } + } +} + +class java::nio::channels::ConnectionPendingException : public ::java::lang::IllegalStateException +{ + +public: + ConnectionPendingException(); +private: + static const jlong serialVersionUID = 2008393366501760879LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_ConnectionPendingException__ diff --git a/libjava/java/nio/channels/DatagramChannel.h b/libjava/java/nio/channels/DatagramChannel.h new file mode 100644 index 00000000000..cb2dabcc0fa --- /dev/null +++ b/libjava/java/nio/channels/DatagramChannel.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_DatagramChannel__ +#define __java_nio_channels_DatagramChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class DatagramSocket; + class SocketAddress; + } + namespace nio + { + class ByteBuffer; + namespace channels + { + class DatagramChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::DatagramChannel : public ::java::nio::channels::spi::AbstractSelectableChannel +{ + +public: // actually protected + DatagramChannel(::java::nio::channels::spi::SelectorProvider *); +public: + static ::java::nio::channels::DatagramChannel * open(); + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *); + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *); + virtual ::java::nio::channels::DatagramChannel * connect(::java::net::SocketAddress *) = 0; + virtual ::java::nio::channels::DatagramChannel * disconnect() = 0; + virtual jboolean isConnected() = 0; + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual ::java::net::SocketAddress * receive(::java::nio::ByteBuffer *) = 0; + virtual jint send(::java::nio::ByteBuffer *, ::java::net::SocketAddress *) = 0; + virtual ::java::net::DatagramSocket * socket() = 0; + virtual jint write(::java::nio::ByteBuffer *) = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jint validOps(); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_DatagramChannel__ diff --git a/libjava/java/nio/channels/FileChannel$MapMode.h b/libjava/java/nio/channels/FileChannel$MapMode.h new file mode 100644 index 00000000000..954e6979e96 --- /dev/null +++ b/libjava/java/nio/channels/FileChannel$MapMode.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_FileChannel$MapMode__ +#define __java_nio_channels_FileChannel$MapMode__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class FileChannel$MapMode; + } + } + } +} + +class java::nio::channels::FileChannel$MapMode : public ::java::lang::Object +{ + +public: // actually package-private + FileChannel$MapMode(jint); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) m; +public: + static ::java::nio::channels::FileChannel$MapMode * READ_ONLY; + static ::java::nio::channels::FileChannel$MapMode * READ_WRITE; + static ::java::nio::channels::FileChannel$MapMode * PRIVATE; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_FileChannel$MapMode__ diff --git a/libjava/java/nio/channels/FileChannel.h b/libjava/java/nio/channels/FileChannel.h new file mode 100644 index 00000000000..10cc314ccb9 --- /dev/null +++ b/libjava/java/nio/channels/FileChannel.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_FileChannel__ +#define __java_nio_channels_FileChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class MappedByteBuffer; + namespace channels + { + class FileChannel; + class FileChannel$MapMode; + class FileLock; + class ReadableByteChannel; + class WritableByteChannel; + } + } + } +} + +class java::nio::channels::FileChannel : public ::java::nio::channels::spi::AbstractInterruptibleChannel +{ + +public: // actually protected + FileChannel(); +public: + virtual ::java::nio::MappedByteBuffer * map(::java::nio::channels::FileChannel$MapMode *, jlong, jlong) = 0; + virtual jlong size() = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *); + virtual jint write(::java::nio::ByteBuffer *) = 0; + virtual jint write(::java::nio::ByteBuffer *, jlong) = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *); + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jint read(::java::nio::ByteBuffer *, jlong) = 0; +public: // actually protected + virtual void implCloseChannel() = 0; +public: + virtual void force(jboolean) = 0; + virtual ::java::nio::channels::FileLock * lock(); + virtual ::java::nio::channels::FileLock * lock(jlong, jlong, jboolean) = 0; + virtual ::java::nio::channels::FileLock * tryLock(); + virtual ::java::nio::channels::FileLock * tryLock(jlong, jlong, jboolean) = 0; + virtual jlong position() = 0; + virtual ::java::nio::channels::FileChannel * position(jlong) = 0; + virtual jlong transferTo(jlong, jlong, ::java::nio::channels::WritableByteChannel *) = 0; + virtual jlong transferFrom(::java::nio::channels::ReadableByteChannel *, jlong, jlong) = 0; + virtual ::java::nio::channels::FileChannel * truncate(jlong) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_FileChannel__ diff --git a/libjava/java/nio/channels/FileLock.h b/libjava/java/nio/channels/FileLock.h new file mode 100644 index 00000000000..fb358583518 --- /dev/null +++ b/libjava/java/nio/channels/FileLock.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_FileLock__ +#define __java_nio_channels_FileLock__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class FileChannel; + class FileLock; + } + } + } +} + +class java::nio::channels::FileLock : public ::java::lang::Object +{ + +public: // actually protected + FileLock(::java::nio::channels::FileChannel *, jlong, jlong, jboolean); +public: + virtual jboolean isValid() = 0; + virtual void release() = 0; + virtual ::java::nio::channels::FileChannel * channel(); + virtual jboolean isShared(); + virtual jboolean overlaps(jlong, jlong); + virtual jlong position(); + virtual jlong size(); + virtual ::java::lang::String * toString(); +private: + ::java::nio::channels::FileChannel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) channel__; + jlong position__; + jlong size__; + jboolean shared; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_FileLock__ diff --git a/libjava/java/nio/channels/FileLockInterruptionException.h b/libjava/java/nio/channels/FileLockInterruptionException.h new file mode 100644 index 00000000000..ad5e250765a --- /dev/null +++ b/libjava/java/nio/channels/FileLockInterruptionException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_FileLockInterruptionException__ +#define __java_nio_channels_FileLockInterruptionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class FileLockInterruptionException; + } + } + } +} + +class java::nio::channels::FileLockInterruptionException : public ::java::io::IOException +{ + +public: + FileLockInterruptionException(); +private: + static const jlong serialVersionUID = 7104080643653532383LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_FileLockInterruptionException__ diff --git a/libjava/java/nio/channels/GatheringByteChannel.h b/libjava/java/nio/channels/GatheringByteChannel.h new file mode 100644 index 00000000000..c69c1954aff --- /dev/null +++ b/libjava/java/nio/channels/GatheringByteChannel.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_GatheringByteChannel__ +#define __java_nio_channels_GatheringByteChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class GatheringByteChannel; + } + } + } +} + +class java::nio::channels::GatheringByteChannel : public ::java::lang::Object +{ + +public: + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *) = 0; + virtual jint write(::java::nio::ByteBuffer *) = 0; + virtual jboolean isOpen() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_GatheringByteChannel__ diff --git a/libjava/java/nio/channels/IllegalBlockingModeException.h b/libjava/java/nio/channels/IllegalBlockingModeException.h new file mode 100644 index 00000000000..38eda03799b --- /dev/null +++ b/libjava/java/nio/channels/IllegalBlockingModeException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_IllegalBlockingModeException__ +#define __java_nio_channels_IllegalBlockingModeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class IllegalBlockingModeException; + } + } + } +} + +class java::nio::channels::IllegalBlockingModeException : public ::java::lang::IllegalStateException +{ + +public: + IllegalBlockingModeException(); +private: + static const jlong serialVersionUID = -3335774961855590474LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_IllegalBlockingModeException__ diff --git a/libjava/java/nio/channels/IllegalSelectorException.h b/libjava/java/nio/channels/IllegalSelectorException.h new file mode 100644 index 00000000000..9f137e423b7 --- /dev/null +++ b/libjava/java/nio/channels/IllegalSelectorException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_IllegalSelectorException__ +#define __java_nio_channels_IllegalSelectorException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class IllegalSelectorException; + } + } + } +} + +class java::nio::channels::IllegalSelectorException : public ::java::lang::IllegalArgumentException +{ + +public: + IllegalSelectorException(); +private: + static const jlong serialVersionUID = -8406323347253320987LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_IllegalSelectorException__ diff --git a/libjava/java/nio/channels/InterruptibleChannel.h b/libjava/java/nio/channels/InterruptibleChannel.h new file mode 100644 index 00000000000..fa8a68385de --- /dev/null +++ b/libjava/java/nio/channels/InterruptibleChannel.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_InterruptibleChannel__ +#define __java_nio_channels_InterruptibleChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class InterruptibleChannel; + } + } + } +} + +class java::nio::channels::InterruptibleChannel : public ::java::lang::Object +{ + +public: + virtual void close() = 0; + virtual jboolean isOpen() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_InterruptibleChannel__ diff --git a/libjava/java/nio/channels/NoConnectionPendingException.h b/libjava/java/nio/channels/NoConnectionPendingException.h new file mode 100644 index 00000000000..5be57aefd7c --- /dev/null +++ b/libjava/java/nio/channels/NoConnectionPendingException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_NoConnectionPendingException__ +#define __java_nio_channels_NoConnectionPendingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class NoConnectionPendingException; + } + } + } +} + +class java::nio::channels::NoConnectionPendingException : public ::java::lang::IllegalStateException +{ + +public: + NoConnectionPendingException(); +private: + static const jlong serialVersionUID = -8296561183633134743LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_NoConnectionPendingException__ diff --git a/libjava/java/nio/channels/NonReadableChannelException.h b/libjava/java/nio/channels/NonReadableChannelException.h new file mode 100644 index 00000000000..210d8369b1d --- /dev/null +++ b/libjava/java/nio/channels/NonReadableChannelException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_NonReadableChannelException__ +#define __java_nio_channels_NonReadableChannelException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class NonReadableChannelException; + } + } + } +} + +class java::nio::channels::NonReadableChannelException : public ::java::lang::IllegalStateException +{ + +public: + NonReadableChannelException(); +private: + static const jlong serialVersionUID = -3200915679294993514LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_NonReadableChannelException__ diff --git a/libjava/java/nio/channels/NonWritableChannelException.h b/libjava/java/nio/channels/NonWritableChannelException.h new file mode 100644 index 00000000000..4a56ef98898 --- /dev/null +++ b/libjava/java/nio/channels/NonWritableChannelException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_NonWritableChannelException__ +#define __java_nio_channels_NonWritableChannelException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class NonWritableChannelException; + } + } + } +} + +class java::nio::channels::NonWritableChannelException : public ::java::lang::IllegalStateException +{ + +public: + NonWritableChannelException(); +private: + static const jlong serialVersionUID = -7071230488279011621LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_NonWritableChannelException__ diff --git a/libjava/java/nio/channels/NotYetBoundException.h b/libjava/java/nio/channels/NotYetBoundException.h new file mode 100644 index 00000000000..d4f1ad2d66e --- /dev/null +++ b/libjava/java/nio/channels/NotYetBoundException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_NotYetBoundException__ +#define __java_nio_channels_NotYetBoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class NotYetBoundException; + } + } + } +} + +class java::nio::channels::NotYetBoundException : public ::java::lang::IllegalStateException +{ + +public: + NotYetBoundException(); +private: + static const jlong serialVersionUID = 4640999303950202242LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_NotYetBoundException__ diff --git a/libjava/java/nio/channels/NotYetConnectedException.h b/libjava/java/nio/channels/NotYetConnectedException.h new file mode 100644 index 00000000000..a38417a8271 --- /dev/null +++ b/libjava/java/nio/channels/NotYetConnectedException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_NotYetConnectedException__ +#define __java_nio_channels_NotYetConnectedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class NotYetConnectedException; + } + } + } +} + +class java::nio::channels::NotYetConnectedException : public ::java::lang::IllegalStateException +{ + +public: + NotYetConnectedException(); +private: + static const jlong serialVersionUID = 4697316551909513464LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_NotYetConnectedException__ diff --git a/libjava/java/nio/channels/OverlappingFileLockException.h b/libjava/java/nio/channels/OverlappingFileLockException.h new file mode 100644 index 00000000000..b2551f9070c --- /dev/null +++ b/libjava/java/nio/channels/OverlappingFileLockException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_OverlappingFileLockException__ +#define __java_nio_channels_OverlappingFileLockException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class OverlappingFileLockException; + } + } + } +} + +class java::nio::channels::OverlappingFileLockException : public ::java::lang::IllegalStateException +{ + +public: + OverlappingFileLockException(); +private: + static const jlong serialVersionUID = 2047812138163068433LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_OverlappingFileLockException__ diff --git a/libjava/java/nio/channels/Pipe$SinkChannel.h b/libjava/java/nio/channels/Pipe$SinkChannel.h new file mode 100644 index 00000000000..d6842b79b2b --- /dev/null +++ b/libjava/java/nio/channels/Pipe$SinkChannel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_Pipe$SinkChannel__ +#define __java_nio_channels_Pipe$SinkChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class Pipe$SinkChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::Pipe$SinkChannel : public ::java::nio::channels::spi::AbstractSelectableChannel +{ + +public: // actually protected + Pipe$SinkChannel(::java::nio::channels::spi::SelectorProvider *); +public: + virtual jint validOps(); + virtual jint write(::java::nio::ByteBuffer *) = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_Pipe$SinkChannel__ diff --git a/libjava/java/nio/channels/Pipe$SourceChannel.h b/libjava/java/nio/channels/Pipe$SourceChannel.h new file mode 100644 index 00000000000..9bc78ea3bfa --- /dev/null +++ b/libjava/java/nio/channels/Pipe$SourceChannel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_Pipe$SourceChannel__ +#define __java_nio_channels_Pipe$SourceChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class Pipe$SourceChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::Pipe$SourceChannel : public ::java::nio::channels::spi::AbstractSelectableChannel +{ + +public: // actually protected + Pipe$SourceChannel(::java::nio::channels::spi::SelectorProvider *); +public: + virtual jint validOps(); + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_Pipe$SourceChannel__ diff --git a/libjava/java/nio/channels/Pipe.h b/libjava/java/nio/channels/Pipe.h new file mode 100644 index 00000000000..771dca23e3e --- /dev/null +++ b/libjava/java/nio/channels/Pipe.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_Pipe__ +#define __java_nio_channels_Pipe__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class Pipe; + class Pipe$SinkChannel; + class Pipe$SourceChannel; + } + } + } +} + +class java::nio::channels::Pipe : public ::java::lang::Object +{ + +public: // actually protected + Pipe(); +public: + static ::java::nio::channels::Pipe * open(); + virtual ::java::nio::channels::Pipe$SinkChannel * sink() = 0; + virtual ::java::nio::channels::Pipe$SourceChannel * source() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_Pipe__ diff --git a/libjava/java/nio/channels/ReadableByteChannel.h b/libjava/java/nio/channels/ReadableByteChannel.h new file mode 100644 index 00000000000..9f3e4cf0168 --- /dev/null +++ b/libjava/java/nio/channels/ReadableByteChannel.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ReadableByteChannel__ +#define __java_nio_channels_ReadableByteChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class ReadableByteChannel; + } + } + } +} + +class java::nio::channels::ReadableByteChannel : public ::java::lang::Object +{ + +public: + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jboolean isOpen() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_ReadableByteChannel__ diff --git a/libjava/java/nio/channels/ScatteringByteChannel.h b/libjava/java/nio/channels/ScatteringByteChannel.h new file mode 100644 index 00000000000..eeba864d41a --- /dev/null +++ b/libjava/java/nio/channels/ScatteringByteChannel.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ScatteringByteChannel__ +#define __java_nio_channels_ScatteringByteChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class ScatteringByteChannel; + } + } + } +} + +class java::nio::channels::ScatteringByteChannel : public ::java::lang::Object +{ + +public: + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *) = 0; + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jboolean isOpen() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_ScatteringByteChannel__ diff --git a/libjava/java/nio/channels/SelectableChannel.h b/libjava/java/nio/channels/SelectableChannel.h new file mode 100644 index 00000000000..82cf8288007 --- /dev/null +++ b/libjava/java/nio/channels/SelectableChannel.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_SelectableChannel__ +#define __java_nio_channels_SelectableChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::SelectableChannel : public ::java::nio::channels::spi::AbstractInterruptibleChannel +{ + +public: // actually protected + SelectableChannel(); +public: + virtual ::java::lang::Object * blockingLock() = 0; + virtual ::java::nio::channels::SelectableChannel * configureBlocking(jboolean) = 0; + virtual jboolean isBlocking() = 0; + virtual jboolean isRegistered() = 0; + virtual ::java::nio::channels::SelectionKey * keyFor(::java::nio::channels::Selector *) = 0; + virtual ::java::nio::channels::spi::SelectorProvider * provider() = 0; + virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::Selector *, jint); + virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::Selector *, jint, ::java::lang::Object *) = 0; + virtual jint validOps() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_SelectableChannel__ diff --git a/libjava/java/nio/channels/SelectionKey.h b/libjava/java/nio/channels/SelectionKey.h new file mode 100644 index 00000000000..1b6b0397467 --- /dev/null +++ b/libjava/java/nio/channels/SelectionKey.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_SelectionKey__ +#define __java_nio_channels_SelectionKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + } + } + } +} + +class java::nio::channels::SelectionKey : public ::java::lang::Object +{ + +public: // actually protected + SelectionKey(); +public: + virtual ::java::lang::Object * attach(::java::lang::Object *); + virtual ::java::lang::Object * attachment(); + virtual jboolean isAcceptable(); + virtual jboolean isConnectable(); + virtual jboolean isReadable(); + virtual jboolean isWritable(); + virtual void cancel() = 0; + virtual ::java::nio::channels::SelectableChannel * channel() = 0; + virtual jint interestOps() = 0; + virtual ::java::nio::channels::SelectionKey * interestOps(jint) = 0; + virtual jboolean isValid() = 0; + virtual jint readyOps() = 0; + virtual ::java::nio::channels::Selector * selector() = 0; + static const jint OP_ACCEPT = 16; + static const jint OP_CONNECT = 8; + static const jint OP_READ = 1; + static const jint OP_WRITE = 4; +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attached; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_SelectionKey__ diff --git a/libjava/java/nio/channels/Selector.h b/libjava/java/nio/channels/Selector.h new file mode 100644 index 00000000000..7d561adff4a --- /dev/null +++ b/libjava/java/nio/channels/Selector.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_Selector__ +#define __java_nio_channels_Selector__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class Selector; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::Selector : public ::java::lang::Object +{ + +public: // actually protected + Selector(); +public: + static ::java::nio::channels::Selector * open(); + virtual void close() = 0; + virtual jboolean isOpen() = 0; + virtual ::java::util::Set * keys() = 0; + virtual ::java::nio::channels::spi::SelectorProvider * provider() = 0; + virtual jint select() = 0; + virtual jint select(jlong) = 0; + virtual ::java::util::Set * selectedKeys() = 0; + virtual jint selectNow() = 0; + virtual ::java::nio::channels::Selector * wakeup() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_Selector__ diff --git a/libjava/java/nio/channels/ServerSocketChannel.h b/libjava/java/nio/channels/ServerSocketChannel.h new file mode 100644 index 00000000000..b68d0b9a5b8 --- /dev/null +++ b/libjava/java/nio/channels/ServerSocketChannel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_ServerSocketChannel__ +#define __java_nio_channels_ServerSocketChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ServerSocket; + } + namespace nio + { + namespace channels + { + class ServerSocketChannel; + class SocketChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::ServerSocketChannel : public ::java::nio::channels::spi::AbstractSelectableChannel +{ + +public: // actually protected + ServerSocketChannel(::java::nio::channels::spi::SelectorProvider *); +public: + virtual ::java::nio::channels::SocketChannel * accept() = 0; + virtual ::java::net::ServerSocket * socket() = 0; + static ::java::nio::channels::ServerSocketChannel * open(); + virtual jint validOps(); + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_ServerSocketChannel__ diff --git a/libjava/java/nio/channels/SocketChannel.h b/libjava/java/nio/channels/SocketChannel.h new file mode 100644 index 00000000000..b742cdbdc53 --- /dev/null +++ b/libjava/java/nio/channels/SocketChannel.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_SocketChannel__ +#define __java_nio_channels_SocketChannel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Socket; + class SocketAddress; + } + namespace nio + { + class ByteBuffer; + namespace channels + { + class SocketChannel; + namespace spi + { + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::SocketChannel : public ::java::nio::channels::spi::AbstractSelectableChannel +{ + +public: // actually protected + SocketChannel(::java::nio::channels::spi::SelectorProvider *); +public: + static ::java::nio::channels::SocketChannel * open(); + static ::java::nio::channels::SocketChannel * open(::java::net::SocketAddress *); + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *); + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *); + virtual jint validOps(); + virtual jint read(::java::nio::ByteBuffer *) = 0; + virtual jboolean connect(::java::net::SocketAddress *) = 0; + virtual jboolean finishConnect() = 0; + virtual jboolean isConnected() = 0; + virtual jboolean isConnectionPending() = 0; + virtual jlong read(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual ::java::net::Socket * socket() = 0; + virtual jint write(::java::nio::ByteBuffer *) = 0; + virtual jlong write(JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_SocketChannel__ diff --git a/libjava/java/nio/channels/UnresolvedAddressException.h b/libjava/java/nio/channels/UnresolvedAddressException.h new file mode 100644 index 00000000000..2a3eefdce25 --- /dev/null +++ b/libjava/java/nio/channels/UnresolvedAddressException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_UnresolvedAddressException__ +#define __java_nio_channels_UnresolvedAddressException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class UnresolvedAddressException; + } + } + } +} + +class java::nio::channels::UnresolvedAddressException : public ::java::lang::IllegalArgumentException +{ + +public: + UnresolvedAddressException(); +private: + static const jlong serialVersionUID = 6136959093620794148LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_UnresolvedAddressException__ diff --git a/libjava/java/nio/channels/UnsupportedAddressTypeException.h b/libjava/java/nio/channels/UnsupportedAddressTypeException.h new file mode 100644 index 00000000000..7f63dd76ede --- /dev/null +++ b/libjava/java/nio/channels/UnsupportedAddressTypeException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_UnsupportedAddressTypeException__ +#define __java_nio_channels_UnsupportedAddressTypeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class UnsupportedAddressTypeException; + } + } + } +} + +class java::nio::channels::UnsupportedAddressTypeException : public ::java::lang::IllegalArgumentException +{ + +public: + UnsupportedAddressTypeException(); +private: + static const jlong serialVersionUID = -2964323842829700493LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_UnsupportedAddressTypeException__ diff --git a/libjava/java/nio/channels/VMChannels.h b/libjava/java/nio/channels/VMChannels.h new file mode 100644 index 00000000000..3706d9d8510 --- /dev/null +++ b/libjava/java/nio/channels/VMChannels.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_VMChannels__ +#define __java_nio_channels_VMChannels__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace nio + { + namespace channels + { + class FileChannelImpl; + } + } + } + } + namespace java + { + namespace nio + { + namespace channels + { + class ReadableByteChannel; + class VMChannels; + class WritableByteChannel; + } + } + } +} + +class java::nio::channels::VMChannels : public ::java::lang::Object +{ + + VMChannels(); +public: // actually package-private + static ::java::io::FileInputStream * newInputStream(::gnu::java::nio::channels::FileChannelImpl *); + static ::java::io::FileOutputStream * newOutputStream(::gnu::java::nio::channels::FileChannelImpl *); + static ::java::io::InputStream * newInputStream(::java::nio::channels::ReadableByteChannel *); + static ::java::io::OutputStream * newOutputStream(::java::nio::channels::WritableByteChannel *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_VMChannels__ diff --git a/libjava/java/nio/channels/WritableByteChannel.h b/libjava/java/nio/channels/WritableByteChannel.h new file mode 100644 index 00000000000..ff413d27aae --- /dev/null +++ b/libjava/java/nio/channels/WritableByteChannel.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_WritableByteChannel__ +#define __java_nio_channels_WritableByteChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + namespace channels + { + class WritableByteChannel; + } + } + } +} + +class java::nio::channels::WritableByteChannel : public ::java::lang::Object +{ + +public: + virtual jint write(::java::nio::ByteBuffer *) = 0; + virtual jboolean isOpen() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_nio_channels_WritableByteChannel__ diff --git a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.h b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.h new file mode 100644 index 00000000000..f830a752bfd --- /dev/null +++ b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_spi_AbstractInterruptibleChannel__ +#define __java_nio_channels_spi_AbstractInterruptibleChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + namespace spi + { + class AbstractInterruptibleChannel; + } + } + } + } +} + +class java::nio::channels::spi::AbstractInterruptibleChannel : public ::java::lang::Object +{ + +public: // actually protected + AbstractInterruptibleChannel(); + virtual void begin(); +public: + virtual void close(); +public: // actually protected + virtual void end(jboolean); + virtual void implCloseChannel() = 0; +public: + virtual jboolean isOpen(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_spi_AbstractInterruptibleChannel__ diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.h b/libjava/java/nio/channels/spi/AbstractSelectableChannel.h new file mode 100644 index 00000000000..f126f441e22 --- /dev/null +++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_spi_AbstractSelectableChannel__ +#define __java_nio_channels_spi_AbstractSelectableChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class SelectableChannel; + class SelectionKey; + class Selector; + namespace spi + { + class AbstractSelectableChannel; + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::spi::AbstractSelectableChannel : public ::java::nio::channels::SelectableChannel +{ + +public: // actually protected + AbstractSelectableChannel(::java::nio::channels::spi::SelectorProvider *); +public: + virtual ::java::lang::Object * blockingLock(); + virtual ::java::nio::channels::SelectableChannel * configureBlocking(jboolean); +public: // actually protected + virtual void implCloseChannel(); + virtual void implCloseSelectableChannel() = 0; + virtual void implConfigureBlocking(jboolean) = 0; +public: + virtual jboolean isBlocking(); + virtual jboolean isRegistered(); + virtual ::java::nio::channels::SelectionKey * keyFor(::java::nio::channels::Selector *); + virtual ::java::nio::channels::spi::SelectorProvider * provider(); +private: + ::java::nio::channels::SelectionKey * locate(::java::nio::channels::Selector *); +public: + virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::Selector *, jint, ::java::lang::Object *); +public: // actually package-private + virtual void addSelectionKey(::java::nio::channels::SelectionKey *); + virtual void removeSelectionKey(::java::nio::channels::SelectionKey *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::SelectableChannel)))) blocking; + ::java::lang::Object * LOCK; + ::java::nio::channels::spi::SelectorProvider * provider__; + ::java::util::LinkedList * keys; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_spi_AbstractSelectableChannel__ diff --git a/libjava/java/nio/channels/spi/AbstractSelectionKey.h b/libjava/java/nio/channels/spi/AbstractSelectionKey.h new file mode 100644 index 00000000000..d64a73bfd31 --- /dev/null +++ b/libjava/java/nio/channels/spi/AbstractSelectionKey.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_spi_AbstractSelectionKey__ +#define __java_nio_channels_spi_AbstractSelectionKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + namespace spi + { + class AbstractSelectionKey; + } + } + } + } +} + +class java::nio::channels::spi::AbstractSelectionKey : public ::java::nio::channels::SelectionKey +{ + +public: // actually protected + AbstractSelectionKey(); +public: + virtual void cancel(); + virtual jboolean isValid(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::SelectionKey)))) cancelled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_spi_AbstractSelectionKey__ diff --git a/libjava/java/nio/channels/spi/AbstractSelector.h b/libjava/java/nio/channels/spi/AbstractSelector.h new file mode 100644 index 00000000000..cf3d2b7c414 --- /dev/null +++ b/libjava/java/nio/channels/spi/AbstractSelector.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_spi_AbstractSelector__ +#define __java_nio_channels_spi_AbstractSelector__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class SelectionKey; + namespace spi + { + class AbstractSelectableChannel; + class AbstractSelectionKey; + class AbstractSelector; + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::spi::AbstractSelector : public ::java::nio::channels::Selector +{ + +public: // actually protected + AbstractSelector(::java::nio::channels::spi::SelectorProvider *); +public: + virtual void close(); + virtual jboolean isOpen(); +public: // actually protected + virtual void begin(); + virtual void end(); +public: + virtual ::java::nio::channels::spi::SelectorProvider * provider(); +public: // actually protected + virtual ::java::util::Set * cancelledKeys(); +public: // actually package-private + virtual void cancelKey(::java::nio::channels::spi::AbstractSelectionKey *); +public: // actually protected + virtual void implCloseSelector() = 0; + virtual ::java::nio::channels::SelectionKey * register$(::java::nio::channels::spi::AbstractSelectableChannel *, jint, ::java::lang::Object *) = 0; + virtual void deregister(::java::nio::channels::spi::AbstractSelectionKey *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::nio::channels::Selector)))) closed; + ::java::nio::channels::spi::SelectorProvider * provider__; + ::java::util::HashSet * cancelledKeys__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_spi_AbstractSelector__ diff --git a/libjava/java/nio/channels/spi/SelectorProvider.h b/libjava/java/nio/channels/spi/SelectorProvider.h new file mode 100644 index 00000000000..6dcf15c5fb4 --- /dev/null +++ b/libjava/java/nio/channels/spi/SelectorProvider.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_channels_spi_SelectorProvider__ +#define __java_nio_channels_spi_SelectorProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace channels + { + class DatagramChannel; + class Pipe; + class ServerSocketChannel; + class SocketChannel; + namespace spi + { + class AbstractSelector; + class SelectorProvider; + } + } + } + } +} + +class java::nio::channels::spi::SelectorProvider : public ::java::lang::Object +{ + +public: // actually protected + SelectorProvider(); +public: + virtual ::java::nio::channels::DatagramChannel * openDatagramChannel() = 0; + virtual ::java::nio::channels::Pipe * openPipe() = 0; + virtual ::java::nio::channels::spi::AbstractSelector * openSelector() = 0; + virtual ::java::nio::channels::ServerSocketChannel * openServerSocketChannel() = 0; + virtual ::java::nio::channels::SocketChannel * openSocketChannel() = 0; + static ::java::nio::channels::spi::SelectorProvider * provider(); +private: + static ::java::nio::channels::spi::SelectorProvider * systemDefaultProvider; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_channels_spi_SelectorProvider__ diff --git a/libjava/java/nio/charset/CharacterCodingException.h b/libjava/java/nio/charset/CharacterCodingException.h new file mode 100644 index 00000000000..35935cd1fb3 --- /dev/null +++ b/libjava/java/nio/charset/CharacterCodingException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CharacterCodingException__ +#define __java_nio_charset_CharacterCodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CharacterCodingException; + } + } + } +} + +class java::nio::charset::CharacterCodingException : public ::java::io::IOException +{ + +public: + CharacterCodingException(); +private: + static const jlong serialVersionUID = 8421532232154627783LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CharacterCodingException__ diff --git a/libjava/java/nio/charset/Charset.h b/libjava/java/nio/charset/Charset.h new file mode 100644 index 00000000000..62e4f647d7c --- /dev/null +++ b/libjava/java/nio/charset/Charset.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_Charset__ +#define __java_nio_charset_Charset__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CharsetDecoder; + class CharsetEncoder; + namespace spi + { + class CharsetProvider; + } + } + } + } +} + +class java::nio::charset::Charset : public ::java::lang::Object +{ + +public: // actually protected + Charset(::java::lang::String *, JArray< ::java::lang::String * > *); +private: + static void checkName(::java::lang::String *); +public: + static ::java::nio::charset::Charset * defaultCharset(); + static jboolean isSupported(::java::lang::String *); + static ::java::nio::charset::Charset * forName(::java::lang::String *); +private: + static ::java::nio::charset::Charset * charsetForName(::java::lang::String *); +public: + static ::java::util::SortedMap * availableCharsets(); +private: + static ::java::nio::charset::spi::CharsetProvider * provider(); + static JArray< ::java::nio::charset::spi::CharsetProvider * > * providers2(); +public: + virtual ::java::lang::String * name(); + virtual ::java::util::Set * aliases(); + virtual ::java::lang::String * displayName(); + virtual ::java::lang::String * displayName(::java::util::Locale *); + virtual jboolean isRegistered(); + virtual jboolean contains(::java::nio::charset::Charset *) = 0; + virtual ::java::nio::charset::CharsetDecoder * newDecoder() = 0; + virtual ::java::nio::charset::CharsetEncoder * newEncoder() = 0; + virtual jboolean canEncode(); + virtual ::java::nio::ByteBuffer * encode(::java::nio::CharBuffer *); + virtual ::java::nio::ByteBuffer * encode(::java::lang::String *); + virtual ::java::nio::CharBuffer * decode(::java::nio::ByteBuffer *); + virtual jint compareTo(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::nio::charset::CharsetEncoder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cachedEncoder; + ::java::nio::charset::CharsetDecoder * cachedDecoder; + static JArray< ::java::nio::charset::spi::CharsetProvider * > * providers; + ::java::lang::String * canonicalName; + JArray< ::java::lang::String * > * aliases__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_Charset__ diff --git a/libjava/java/nio/charset/CharsetDecoder.h b/libjava/java/nio/charset/CharsetDecoder.h new file mode 100644 index 00000000000..fe75d48a532 --- /dev/null +++ b/libjava/java/nio/charset/CharsetDecoder.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CharsetDecoder__ +#define __java_nio_charset_CharsetDecoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CharsetDecoder; + class CoderResult; + class CodingErrorAction; + } + } + } +} + +class java::nio::charset::CharsetDecoder : public ::java::lang::Object +{ + + CharsetDecoder(::java::nio::charset::Charset *, jfloat, jfloat, ::java::lang::String *); +public: // actually protected + CharsetDecoder(::java::nio::charset::Charset *, jfloat, jfloat); +public: + virtual jfloat averageCharsPerByte(); + virtual ::java::nio::charset::Charset * charset(); + virtual ::java::nio::CharBuffer * decode(::java::nio::ByteBuffer *); + virtual ::java::nio::charset::CoderResult * decode(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *, jboolean); +public: // actually protected + virtual ::java::nio::charset::CoderResult * decodeLoop(::java::nio::ByteBuffer *, ::java::nio::CharBuffer *) = 0; +public: + virtual ::java::nio::charset::Charset * detectedCharset(); + virtual ::java::nio::charset::CoderResult * flush(::java::nio::CharBuffer *); +public: // actually protected + virtual ::java::nio::charset::CoderResult * implFlush(::java::nio::CharBuffer *); +public: + virtual ::java::nio::charset::CharsetDecoder * onMalformedInput(::java::nio::charset::CodingErrorAction *); +public: // actually protected + virtual void implOnMalformedInput(::java::nio::charset::CodingErrorAction *); + virtual void implOnUnmappableCharacter(::java::nio::charset::CodingErrorAction *); + virtual void implReplaceWith(::java::lang::String *); + virtual void implReset(); +public: + virtual jboolean isAutoDetecting(); + virtual jboolean isCharsetDetected(); + virtual ::java::nio::charset::CodingErrorAction * malformedInputAction(); + virtual jfloat maxCharsPerByte(); + virtual ::java::nio::charset::CharsetDecoder * onUnmappableCharacter(::java::nio::charset::CodingErrorAction *); + virtual ::java::lang::String * replacement(); + virtual ::java::nio::charset::CharsetDecoder * replaceWith(::java::lang::String *); + virtual ::java::nio::charset::CharsetDecoder * reset(); + virtual ::java::nio::charset::CodingErrorAction * unmappableCharacterAction(); +private: + static const jint STATE_RESET = 0; + static const jint STATE_CODING = 1; + static const jint STATE_END = 2; + static const jint STATE_FLUSHED = 3; + static ::java::lang::String * DEFAULT_REPLACEMENT; + ::java::nio::charset::Charset * __attribute__((aligned(__alignof__( ::java::lang::Object)))) charset__; + jfloat averageCharsPerByte__; + jfloat maxCharsPerByte__; + ::java::lang::String * replacement__; + jint state; + ::java::nio::charset::CodingErrorAction * malformedInputAction__; + ::java::nio::charset::CodingErrorAction * unmappableCharacterAction__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CharsetDecoder__ diff --git a/libjava/java/nio/charset/CharsetEncoder.h b/libjava/java/nio/charset/CharsetEncoder.h new file mode 100644 index 00000000000..5a64e44f748 --- /dev/null +++ b/libjava/java/nio/charset/CharsetEncoder.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CharsetEncoder__ +#define __java_nio_charset_CharsetEncoder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + class CharBuffer; + namespace charset + { + class Charset; + class CharsetEncoder; + class CoderResult; + class CodingErrorAction; + } + } + } +} + +class java::nio::charset::CharsetEncoder : public ::java::lang::Object +{ + +public: // actually protected + CharsetEncoder(::java::nio::charset::Charset *, jfloat, jfloat); + CharsetEncoder(::java::nio::charset::Charset *, jfloat, jfloat, JArray< jbyte > *); +public: + virtual jfloat averageBytesPerChar(); + virtual jboolean canEncode(jchar); + virtual jboolean canEncode(::java::lang::CharSequence *); +private: + jboolean canEncode(::java::nio::CharBuffer *); +public: + virtual ::java::nio::charset::Charset * charset(); + virtual ::java::nio::ByteBuffer * encode(::java::nio::CharBuffer *); + virtual ::java::nio::charset::CoderResult * encode(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *, jboolean); +public: // actually protected + virtual ::java::nio::charset::CoderResult * encodeLoop(::java::nio::CharBuffer *, ::java::nio::ByteBuffer *) = 0; +public: + virtual ::java::nio::charset::CoderResult * flush(::java::nio::ByteBuffer *); +public: // actually protected + virtual ::java::nio::charset::CoderResult * implFlush(::java::nio::ByteBuffer *); + virtual void implOnMalformedInput(::java::nio::charset::CodingErrorAction *); + virtual void implOnUnmappableCharacter(::java::nio::charset::CodingErrorAction *); + virtual void implReplaceWith(JArray< jbyte > *); + virtual void implReset(); +public: + virtual jboolean isLegalReplacement(JArray< jbyte > *); + virtual ::java::nio::charset::CodingErrorAction * malformedInputAction(); + virtual jfloat maxBytesPerChar(); + virtual ::java::nio::charset::CharsetEncoder * onMalformedInput(::java::nio::charset::CodingErrorAction *); + virtual ::java::nio::charset::CodingErrorAction * unmappableCharacterAction(); + virtual ::java::nio::charset::CharsetEncoder * onUnmappableCharacter(::java::nio::charset::CodingErrorAction *); + virtual JArray< jbyte > * replacement(); + virtual ::java::nio::charset::CharsetEncoder * replaceWith(JArray< jbyte > *); + virtual ::java::nio::charset::CharsetEncoder * reset(); +private: + static const jint STATE_RESET = 0; + static const jint STATE_CODING = 1; + static const jint STATE_END = 2; + static const jint STATE_FLUSHED = 3; + static JArray< jbyte > * DEFAULT_REPLACEMENT; + ::java::nio::charset::Charset * __attribute__((aligned(__alignof__( ::java::lang::Object)))) charset__; + jfloat averageBytesPerChar__; + jfloat maxBytesPerChar__; + JArray< jbyte > * replacement__; + jint state; + ::java::nio::charset::CodingErrorAction * malformedInputAction__; + ::java::nio::charset::CodingErrorAction * unmappableCharacterAction__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CharsetEncoder__ diff --git a/libjava/java/nio/charset/CoderMalfunctionError.h b/libjava/java/nio/charset/CoderMalfunctionError.h new file mode 100644 index 00000000000..b3ae83adf21 --- /dev/null +++ b/libjava/java/nio/charset/CoderMalfunctionError.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CoderMalfunctionError__ +#define __java_nio_charset_CoderMalfunctionError__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CoderMalfunctionError; + } + } + } +} + +class java::nio::charset::CoderMalfunctionError : public ::java::lang::Error +{ + +public: + CoderMalfunctionError(::java::lang::Exception *); +private: + static const jlong serialVersionUID = -1151412348057794301LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CoderMalfunctionError__ diff --git a/libjava/java/nio/charset/CoderResult$1.h b/libjava/java/nio/charset/CoderResult$1.h new file mode 100644 index 00000000000..a822a3fe1f9 --- /dev/null +++ b/libjava/java/nio/charset/CoderResult$1.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CoderResult$1__ +#define __java_nio_charset_CoderResult$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CoderResult; + class CoderResult$1; + } + } + } +} + +class java::nio::charset::CoderResult$1 : public ::java::nio::charset::CoderResult$Cache +{ + +public: // actually package-private + CoderResult$1(); +public: // actually protected + ::java::nio::charset::CoderResult * make(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CoderResult$1__ diff --git a/libjava/java/nio/charset/CoderResult$2.h b/libjava/java/nio/charset/CoderResult$2.h new file mode 100644 index 00000000000..15eae195815 --- /dev/null +++ b/libjava/java/nio/charset/CoderResult$2.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CoderResult$2__ +#define __java_nio_charset_CoderResult$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CoderResult; + class CoderResult$2; + } + } + } +} + +class java::nio::charset::CoderResult$2 : public ::java::nio::charset::CoderResult$Cache +{ + +public: // actually package-private + CoderResult$2(); +public: // actually protected + ::java::nio::charset::CoderResult * make(jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CoderResult$2__ diff --git a/libjava/java/nio/charset/CoderResult$Cache.h b/libjava/java/nio/charset/CoderResult$Cache.h new file mode 100644 index 00000000000..38416bd9e22 --- /dev/null +++ b/libjava/java/nio/charset/CoderResult$Cache.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CoderResult$Cache__ +#define __java_nio_charset_CoderResult$Cache__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CoderResult; + class CoderResult$Cache; + } + } + } +} + +class java::nio::charset::CoderResult$Cache : public ::java::lang::Object +{ + +public: // actually package-private + CoderResult$Cache(); + virtual ::java::nio::charset::CoderResult * get(jint); +public: // actually protected + virtual ::java::nio::charset::CoderResult * make(jint) = 0; +private: + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cache; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CoderResult$Cache__ diff --git a/libjava/java/nio/charset/CoderResult.h b/libjava/java/nio/charset/CoderResult.h new file mode 100644 index 00000000000..e2c84a61c16 --- /dev/null +++ b/libjava/java/nio/charset/CoderResult.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CoderResult__ +#define __java_nio_charset_CoderResult__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CoderResult; + class CoderResult$Cache; + } + } + } +} + +class java::nio::charset::CoderResult : public ::java::lang::Object +{ + +public: // actually package-private + CoderResult(jint, jint); +public: + virtual jboolean isError(); + virtual jboolean isMalformed(); + virtual jboolean isOverflow(); + virtual jboolean isUnderflow(); + virtual jboolean isUnmappable(); + virtual jint length(); + static ::java::nio::charset::CoderResult * malformedForLength(jint); + virtual void throwException(); + virtual ::java::lang::String * toString(); + static ::java::nio::charset::CoderResult * unmappableForLength(jint); +private: + static const jint TYPE_MALFORMED = 0; + static const jint TYPE_OVERFLOW = 1; + static const jint TYPE_UNDERFLOW = 2; + static const jint TYPE_UNMAPPABLE = 3; +public: + static ::java::nio::charset::CoderResult * OVERFLOW; + static ::java::nio::charset::CoderResult * UNDERFLOW; +private: + static JArray< ::java::lang::String * > * names; + static ::java::nio::charset::CoderResult$Cache * malformedCache; + static ::java::nio::charset::CoderResult$Cache * unmappableCache; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jint length__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CoderResult__ diff --git a/libjava/java/nio/charset/CodingErrorAction.h b/libjava/java/nio/charset/CodingErrorAction.h new file mode 100644 index 00000000000..c0bf2aa666b --- /dev/null +++ b/libjava/java/nio/charset/CodingErrorAction.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_CodingErrorAction__ +#define __java_nio_charset_CodingErrorAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class CodingErrorAction; + } + } + } +} + +class java::nio::charset::CodingErrorAction : public ::java::lang::Object +{ + + CodingErrorAction(::java::lang::String *); +public: + virtual ::java::lang::String * toString(); + static ::java::nio::charset::CodingErrorAction * IGNORE; + static ::java::nio::charset::CodingErrorAction * REPLACE; + static ::java::nio::charset::CodingErrorAction * REPORT; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_CodingErrorAction__ diff --git a/libjava/java/nio/charset/IllegalCharsetNameException.h b/libjava/java/nio/charset/IllegalCharsetNameException.h new file mode 100644 index 00000000000..c4b42474fc6 --- /dev/null +++ b/libjava/java/nio/charset/IllegalCharsetNameException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_IllegalCharsetNameException__ +#define __java_nio_charset_IllegalCharsetNameException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class IllegalCharsetNameException; + } + } + } +} + +class java::nio::charset::IllegalCharsetNameException : public ::java::lang::IllegalArgumentException +{ + +public: + IllegalCharsetNameException(::java::lang::String *); + virtual ::java::lang::String * getCharsetName(); +private: + static const jlong serialVersionUID = 1457525358470002989LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::IllegalArgumentException)))) charsetName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_IllegalCharsetNameException__ diff --git a/libjava/java/nio/charset/MalformedInputException.h b/libjava/java/nio/charset/MalformedInputException.h new file mode 100644 index 00000000000..03a6d8d9860 --- /dev/null +++ b/libjava/java/nio/charset/MalformedInputException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_MalformedInputException__ +#define __java_nio_charset_MalformedInputException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class MalformedInputException; + } + } + } +} + +class java::nio::charset::MalformedInputException : public ::java::nio::charset::CharacterCodingException +{ + +public: + MalformedInputException(jint); + virtual jint getInputLength(); + virtual ::java::lang::String * getMessage(); +private: + static const jlong serialVersionUID = -3438823399834806194LL; + jint __attribute__((aligned(__alignof__( ::java::nio::charset::CharacterCodingException)))) inputLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_MalformedInputException__ diff --git a/libjava/java/nio/charset/UnmappableCharacterException.h b/libjava/java/nio/charset/UnmappableCharacterException.h new file mode 100644 index 00000000000..f0ced263f33 --- /dev/null +++ b/libjava/java/nio/charset/UnmappableCharacterException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_UnmappableCharacterException__ +#define __java_nio_charset_UnmappableCharacterException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class UnmappableCharacterException; + } + } + } +} + +class java::nio::charset::UnmappableCharacterException : public ::java::nio::charset::CharacterCodingException +{ + +public: + UnmappableCharacterException(jint); + virtual jint getInputLength(); + virtual ::java::lang::String * getMessage(); +private: + static const jlong serialVersionUID = -7026962371537706123LL; + jint __attribute__((aligned(__alignof__( ::java::nio::charset::CharacterCodingException)))) inputLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_UnmappableCharacterException__ diff --git a/libjava/java/nio/charset/UnsupportedCharsetException.h b/libjava/java/nio/charset/UnsupportedCharsetException.h new file mode 100644 index 00000000000..7f09678feee --- /dev/null +++ b/libjava/java/nio/charset/UnsupportedCharsetException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_UnsupportedCharsetException__ +#define __java_nio_charset_UnsupportedCharsetException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class UnsupportedCharsetException; + } + } + } +} + +class java::nio::charset::UnsupportedCharsetException : public ::java::lang::IllegalArgumentException +{ + +public: + UnsupportedCharsetException(::java::lang::String *); + virtual ::java::lang::String * getCharsetName(); +private: + static const jlong serialVersionUID = 1490765524727386367LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::IllegalArgumentException)))) charsetName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_UnsupportedCharsetException__ diff --git a/libjava/java/nio/charset/spi/CharsetProvider.h b/libjava/java/nio/charset/spi/CharsetProvider.h new file mode 100644 index 00000000000..b194e106b4c --- /dev/null +++ b/libjava/java/nio/charset/spi/CharsetProvider.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_nio_charset_spi_CharsetProvider__ +#define __java_nio_charset_spi_CharsetProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + namespace spi + { + class CharsetProvider; + } + } + } + } +} + +class java::nio::charset::spi::CharsetProvider : public ::java::lang::Object +{ + +public: // actually protected + CharsetProvider(); +public: + virtual ::java::util::Iterator * charsets() = 0; + virtual ::java::nio::charset::Charset * charsetForName(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_nio_charset_spi_CharsetProvider__ diff --git a/libjava/java/rmi/AccessException.h b/libjava/java/rmi/AccessException.h new file mode 100644 index 00000000000..1b49620a9b3 --- /dev/null +++ b/libjava/java/rmi/AccessException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_AccessException__ +#define __java_rmi_AccessException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class AccessException; + } + } +} + +class java::rmi::AccessException : public ::java::rmi::RemoteException +{ + +public: + AccessException(::java::lang::String *); + AccessException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 6314925228044966088LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_AccessException__ diff --git a/libjava/java/rmi/AlreadyBoundException.h b/libjava/java/rmi/AlreadyBoundException.h new file mode 100644 index 00000000000..f24f4f906ff --- /dev/null +++ b/libjava/java/rmi/AlreadyBoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_AlreadyBoundException__ +#define __java_rmi_AlreadyBoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class AlreadyBoundException; + } + } +} + +class java::rmi::AlreadyBoundException : public ::java::lang::Exception +{ + +public: + AlreadyBoundException(); + AlreadyBoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = 9218657361741657110LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_AlreadyBoundException__ diff --git a/libjava/java/rmi/ConnectException.h b/libjava/java/rmi/ConnectException.h new file mode 100644 index 00000000000..a992a0471c6 --- /dev/null +++ b/libjava/java/rmi/ConnectException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_ConnectException__ +#define __java_rmi_ConnectException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class ConnectException; + } + } +} + +class java::rmi::ConnectException : public ::java::rmi::RemoteException +{ + +public: + ConnectException(::java::lang::String *); + ConnectException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 4863550261346652506LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_ConnectException__ diff --git a/libjava/java/rmi/ConnectIOException.h b/libjava/java/rmi/ConnectIOException.h new file mode 100644 index 00000000000..c841a61fd44 --- /dev/null +++ b/libjava/java/rmi/ConnectIOException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_ConnectIOException__ +#define __java_rmi_ConnectIOException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class ConnectIOException; + } + } +} + +class java::rmi::ConnectIOException : public ::java::rmi::RemoteException +{ + +public: + ConnectIOException(::java::lang::String *); + ConnectIOException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -8087809532704668744LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_ConnectIOException__ diff --git a/libjava/java/rmi/MarshalException.h b/libjava/java/rmi/MarshalException.h new file mode 100644 index 00000000000..db8ed5e1a81 --- /dev/null +++ b/libjava/java/rmi/MarshalException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_MarshalException__ +#define __java_rmi_MarshalException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalException; + } + } +} + +class java::rmi::MarshalException : public ::java::rmi::RemoteException +{ + +public: + MarshalException(::java::lang::String *); + MarshalException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 6223554758134037936LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_MarshalException__ diff --git a/libjava/java/rmi/MarshalledObject.h b/libjava/java/rmi/MarshalledObject.h new file mode 100644 index 00000000000..e287ab26c33 --- /dev/null +++ b/libjava/java/rmi/MarshalledObject.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_MarshalledObject__ +#define __java_rmi_MarshalledObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + } + } +} + +class java::rmi::MarshalledObject : public ::java::lang::Object +{ + +public: + MarshalledObject(::java::lang::Object *); + jboolean equals(::java::lang::Object *); + ::java::lang::Object * get(); + jint hashCode(); +private: + static const jlong serialVersionUID = 8988374069173025854LL; +public: // actually package-private + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) objBytes; + JArray< jbyte > * locBytes; + jint hash; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_MarshalledObject__ diff --git a/libjava/java/rmi/Naming.h b/libjava/java/rmi/Naming.h new file mode 100644 index 00000000000..ac47cea0d0c --- /dev/null +++ b/libjava/java/rmi/Naming.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_Naming__ +#define __java_rmi_Naming__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + namespace rmi + { + class Naming; + class Remote; + namespace registry + { + class Registry; + } + } + } +} + +class java::rmi::Naming : public ::java::lang::Object +{ + + Naming(); +public: + static ::java::rmi::Remote * lookup(::java::lang::String *); + static void bind(::java::lang::String *, ::java::rmi::Remote *); + static void unbind(::java::lang::String *); + static void rebind(::java::lang::String *, ::java::rmi::Remote *); + static JArray< ::java::lang::String * > * list(::java::lang::String *); +private: + static ::java::rmi::registry::Registry * getRegistry(::java::net::URL *); + static ::java::net::URL * parseURL(::java::lang::String *); + static ::java::lang::String * getName(::java::net::URL *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_Naming__ diff --git a/libjava/java/rmi/NoSuchObjectException.h b/libjava/java/rmi/NoSuchObjectException.h new file mode 100644 index 00000000000..0f02109e831 --- /dev/null +++ b/libjava/java/rmi/NoSuchObjectException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_NoSuchObjectException__ +#define __java_rmi_NoSuchObjectException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class NoSuchObjectException; + } + } +} + +class java::rmi::NoSuchObjectException : public ::java::rmi::RemoteException +{ + +public: + NoSuchObjectException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6619395951570472985LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_NoSuchObjectException__ diff --git a/libjava/java/rmi/NotBoundException.h b/libjava/java/rmi/NotBoundException.h new file mode 100644 index 00000000000..1bdb01737cc --- /dev/null +++ b/libjava/java/rmi/NotBoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_NotBoundException__ +#define __java_rmi_NotBoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class NotBoundException; + } + } +} + +class java::rmi::NotBoundException : public ::java::lang::Exception +{ + +public: + NotBoundException(); + NotBoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -1857741824849069317LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_NotBoundException__ diff --git a/libjava/java/rmi/RMISecurityException.h b/libjava/java/rmi/RMISecurityException.h new file mode 100644 index 00000000000..f3207f5e287 --- /dev/null +++ b/libjava/java/rmi/RMISecurityException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_RMISecurityException__ +#define __java_rmi_RMISecurityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class RMISecurityException; + } + } +} + +class java::rmi::RMISecurityException : public ::java::lang::SecurityException +{ + +public: + RMISecurityException(::java::lang::String *); + RMISecurityException(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = -8433406075740433514LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_RMISecurityException__ diff --git a/libjava/java/rmi/RMISecurityManager.h b/libjava/java/rmi/RMISecurityManager.h new file mode 100644 index 00000000000..267543e684d --- /dev/null +++ b/libjava/java/rmi/RMISecurityManager.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_RMISecurityManager__ +#define __java_rmi_RMISecurityManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class RMISecurityManager; + } + } +} + +class java::rmi::RMISecurityManager : public ::java::lang::SecurityManager +{ + +public: + RMISecurityManager(); + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_RMISecurityManager__ diff --git a/libjava/java/rmi/Remote.h b/libjava/java/rmi/Remote.h new file mode 100644 index 00000000000..f74cf3cbaf0 --- /dev/null +++ b/libjava/java/rmi/Remote.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_Remote__ +#define __java_rmi_Remote__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + } + } +} + +class java::rmi::Remote : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_Remote__ diff --git a/libjava/java/rmi/RemoteException.h b/libjava/java/rmi/RemoteException.h new file mode 100644 index 00000000000..1e52132141e --- /dev/null +++ b/libjava/java/rmi/RemoteException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_RemoteException__ +#define __java_rmi_RemoteException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class RemoteException; + } + } +} + +class java::rmi::RemoteException : public ::java::io::IOException +{ + +public: + RemoteException(); + RemoteException(::java::lang::String *); + RemoteException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = -5148567311918794206LL; +public: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::io::IOException)))) detail; + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_RemoteException__ diff --git a/libjava/java/rmi/ServerError.h b/libjava/java/rmi/ServerError.h new file mode 100644 index 00000000000..3c31a49495c --- /dev/null +++ b/libjava/java/rmi/ServerError.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_ServerError__ +#define __java_rmi_ServerError__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class ServerError; + } + } +} + +class java::rmi::ServerError : public ::java::rmi::RemoteException +{ + +public: + ServerError(::java::lang::String *, ::java::lang::Error *); +private: + static const jlong serialVersionUID = 8455284893909696482LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_ServerError__ diff --git a/libjava/java/rmi/ServerException.h b/libjava/java/rmi/ServerException.h new file mode 100644 index 00000000000..958445a88ae --- /dev/null +++ b/libjava/java/rmi/ServerException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_ServerException__ +#define __java_rmi_ServerException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class ServerException; + } + } +} + +class java::rmi::ServerException : public ::java::rmi::RemoteException +{ + +public: + ServerException(::java::lang::String *); + ServerException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -4775845313121906682LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_ServerException__ diff --git a/libjava/java/rmi/ServerRuntimeException.h b/libjava/java/rmi/ServerRuntimeException.h new file mode 100644 index 00000000000..42dff2da683 --- /dev/null +++ b/libjava/java/rmi/ServerRuntimeException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_ServerRuntimeException__ +#define __java_rmi_ServerRuntimeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class ServerRuntimeException; + } + } +} + +class java::rmi::ServerRuntimeException : public ::java::rmi::RemoteException +{ + +public: + ServerRuntimeException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 7054464920481467219LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_ServerRuntimeException__ diff --git a/libjava/java/rmi/StubNotFoundException.h b/libjava/java/rmi/StubNotFoundException.h new file mode 100644 index 00000000000..79fcaf43ddf --- /dev/null +++ b/libjava/java/rmi/StubNotFoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_StubNotFoundException__ +#define __java_rmi_StubNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class StubNotFoundException; + } + } +} + +class java::rmi::StubNotFoundException : public ::java::rmi::RemoteException +{ + +public: + StubNotFoundException(::java::lang::String *); + StubNotFoundException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -7088199405468872373LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_StubNotFoundException__ diff --git a/libjava/java/rmi/UnexpectedException.h b/libjava/java/rmi/UnexpectedException.h new file mode 100644 index 00000000000..e6154b47fb2 --- /dev/null +++ b/libjava/java/rmi/UnexpectedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_UnexpectedException__ +#define __java_rmi_UnexpectedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class UnexpectedException; + } + } +} + +class java::rmi::UnexpectedException : public ::java::rmi::RemoteException +{ + +public: + UnexpectedException(::java::lang::String *); + UnexpectedException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 1800467484195073863LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_UnexpectedException__ diff --git a/libjava/java/rmi/UnknownHostException.h b/libjava/java/rmi/UnknownHostException.h new file mode 100644 index 00000000000..a516ebc2642 --- /dev/null +++ b/libjava/java/rmi/UnknownHostException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_UnknownHostException__ +#define __java_rmi_UnknownHostException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class UnknownHostException; + } + } +} + +class java::rmi::UnknownHostException : public ::java::rmi::RemoteException +{ + +public: + UnknownHostException(::java::lang::String *); + UnknownHostException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -8152710247442114228LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_UnknownHostException__ diff --git a/libjava/java/rmi/UnmarshalException.h b/libjava/java/rmi/UnmarshalException.h new file mode 100644 index 00000000000..0e6c471c8a2 --- /dev/null +++ b/libjava/java/rmi/UnmarshalException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_UnmarshalException__ +#define __java_rmi_UnmarshalException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class UnmarshalException; + } + } +} + +class java::rmi::UnmarshalException : public ::java::rmi::RemoteException +{ + +public: + UnmarshalException(::java::lang::String *); + UnmarshalException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 594380845140740218LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_UnmarshalException__ diff --git a/libjava/java/rmi/activation/Activatable.h b/libjava/java/rmi/activation/Activatable.h new file mode 100644 index 00000000000..63f82979fe8 --- /dev/null +++ b/libjava/java/rmi/activation/Activatable.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_Activatable__ +#define __java_rmi_activation_Activatable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + class Remote; + namespace activation + { + class Activatable; + class ActivationDesc; + class ActivationID; + } + namespace server + { + class ObjID; + class RMIClientSocketFactory; + class RMIServerSocketFactory; + } + } + } +} + +class java::rmi::activation::Activatable : public ::java::rmi::server::RemoteServer +{ + +public: // actually protected + Activatable(::java::lang::String *, ::java::rmi::MarshalledObject *, jboolean, jint); + Activatable(::java::lang::String *, ::java::rmi::MarshalledObject *, jboolean, jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + Activatable(::java::rmi::activation::ActivationID *, jint); + Activatable(::java::rmi::activation::ActivationID *, jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + virtual ::java::rmi::activation::ActivationID * getID(); +public: // actually package-private + static ::java::rmi::activation::ActivationID * obtainId(::java::rmi::activation::ActivationDesc *); +public: + static ::java::rmi::Remote * register$(::java::rmi::activation::ActivationDesc *); + static jboolean inactive(::java::rmi::activation::ActivationID *); + static void unregister(::java::rmi::activation::ActivationID *); + static ::java::rmi::activation::ActivationID * exportObject(::java::rmi::Remote *, ::java::lang::String *, ::java::rmi::MarshalledObject *, jboolean, jint); + static ::java::rmi::activation::ActivationID * exportObject(::java::rmi::Remote *, ::java::lang::String *, ::java::rmi::MarshalledObject *, jboolean, jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + static ::java::rmi::Remote * exportObject(::java::rmi::Remote *, ::java::rmi::activation::ActivationID *, jint); + static ::java::rmi::Remote * exportObject(::java::rmi::Remote *, ::java::rmi::activation::ActivationID *, jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + static jboolean unexportObject(::java::rmi::Remote *, jboolean); +public: // actually package-private + static ::java::rmi::Remote * exportObject(::java::rmi::Remote *, jint, ::java::rmi::server::RMIServerSocketFactory *); +public: + static ::java::rmi::Remote * export$(::java::rmi::activation::ActivationID *, ::java::rmi::Remote *, jint, ::java::rmi::server::RMIServerSocketFactory *); + static ::java::rmi::server::ObjID * makeId(::java::rmi::activation::ActivationID *); +public: // actually package-private + static ::java::rmi::Remote * toStub(::java::rmi::activation::ActivationID *, ::java::lang::Class *); + static const jlong serialVersionUID = -3120617863591563455LL; + ::java::rmi::activation::ActivationID * __attribute__((aligned(__alignof__( ::java::rmi::server::RemoteServer)))) id; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_Activatable__ diff --git a/libjava/java/rmi/activation/ActivateFailedException.h b/libjava/java/rmi/activation/ActivateFailedException.h new file mode 100644 index 00000000000..7d231a245f2 --- /dev/null +++ b/libjava/java/rmi/activation/ActivateFailedException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivateFailedException__ +#define __java_rmi_activation_ActivateFailedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class ActivateFailedException; + } + } + } +} + +class java::rmi::activation::ActivateFailedException : public ::java::rmi::RemoteException +{ + +public: + ActivateFailedException(::java::lang::String *); + ActivateFailedException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = 4863550261346652506LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivateFailedException__ diff --git a/libjava/java/rmi/activation/ActivationDesc.h b/libjava/java/rmi/activation/ActivationDesc.h new file mode 100644 index 00000000000..618997bc392 --- /dev/null +++ b/libjava/java/rmi/activation/ActivationDesc.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationDesc__ +#define __java_rmi_activation_ActivationDesc__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationDesc; + class ActivationGroupID; + } + } + } +} + +class java::rmi::activation::ActivationDesc : public ::java::lang::Object +{ + +public: + ActivationDesc(::java::lang::String *, ::java::lang::String *, ::java::rmi::MarshalledObject *); + ActivationDesc(::java::lang::String *, ::java::lang::String *, ::java::rmi::MarshalledObject *, jboolean); + ActivationDesc(::java::rmi::activation::ActivationGroupID *, ::java::lang::String *, ::java::lang::String *, ::java::rmi::MarshalledObject *); + ActivationDesc(::java::rmi::activation::ActivationGroupID *, ::java::lang::String *, ::java::lang::String *, ::java::rmi::MarshalledObject *, jboolean); + ::java::rmi::activation::ActivationGroupID * getGroupID(); + ::java::lang::String * getClassName(); + ::java::lang::String * getLocation(); + ::java::rmi::MarshalledObject * getData(); + jboolean getRestartMode(); + jboolean equals(::java::lang::Object *); + jint hashCode(); +public: // actually package-private + static jint hash(::java::lang::Object *); + static jboolean eq(::java::lang::Object *, ::java::lang::Object *); + static const jlong serialVersionUID = 7455834104417690957LL; +private: + ::java::rmi::activation::ActivationGroupID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) groupid; + ::java::lang::String * classname; + ::java::lang::String * location; + ::java::rmi::MarshalledObject * data; + jboolean restart; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationDesc__ diff --git a/libjava/java/rmi/activation/ActivationException.h b/libjava/java/rmi/activation/ActivationException.h new file mode 100644 index 00000000000..81f55e23e8e --- /dev/null +++ b/libjava/java/rmi/activation/ActivationException.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationException__ +#define __java_rmi_activation_ActivationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class ActivationException; + } + } + } +} + +class java::rmi::activation::ActivationException : public ::java::lang::Exception +{ + +public: + ActivationException(); + ActivationException(::java::lang::String *); + ActivationException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = -4320118837291406071LL; +public: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) detail; + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationException__ diff --git a/libjava/java/rmi/activation/ActivationGroup.h b/libjava/java/rmi/activation/ActivationGroup.h new file mode 100644 index 00000000000..b9bf86d28d1 --- /dev/null +++ b/libjava/java/rmi/activation/ActivationGroup.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationGroup__ +#define __java_rmi_activation_ActivationGroup__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + class Remote; + namespace activation + { + class ActivationDesc; + class ActivationGroup; + class ActivationGroupDesc; + class ActivationGroupID; + class ActivationID; + class ActivationMonitor; + class ActivationSystem; + } + } + } +} + +class java::rmi::activation::ActivationGroup : public ::java::rmi::server::UnicastRemoteObject +{ + +public: // actually protected + ActivationGroup(::java::rmi::activation::ActivationGroupID *); +public: + virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::Remote *) = 0; + virtual jboolean inactiveObject(::java::rmi::activation::ActivationID *); + static ::java::rmi::activation::ActivationGroup * createGroup(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationGroupDesc *, jlong); + static ::java::rmi::activation::ActivationGroupID * currentGroupID(); + static void setSystem(::java::rmi::activation::ActivationSystem *); + static ::java::rmi::activation::ActivationSystem * getSystem(); +public: // actually protected + virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::MarshalledObject *); + virtual void inactiveGroup(); +public: + virtual ::java::rmi::MarshalledObject * newInstance(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *) = 0; +public: // actually package-private + static const jlong serialVersionUID = -7696947875314805420LL; + static ::java::rmi::activation::ActivationGroupID * currentGroupId; + ::java::rmi::activation::ActivationGroupID * __attribute__((aligned(__alignof__( ::java::rmi::server::UnicastRemoteObject)))) groupId; + ::java::rmi::activation::ActivationMonitor * monitor; + jlong incarnation; + static ::java::rmi::activation::ActivationSystem * system; + static JArray< ::java::lang::Class * > * cConstructorTypes; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationGroup__ diff --git a/libjava/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.h b/libjava/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.h new file mode 100644 index 00000000000..f1cc4955817 --- /dev/null +++ b/libjava/java/rmi/activation/ActivationGroupDesc$CommandEnvironment.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationGroupDesc$CommandEnvironment__ +#define __java_rmi_activation_ActivationGroupDesc$CommandEnvironment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class ActivationGroupDesc$CommandEnvironment; + } + } + } +} + +class java::rmi::activation::ActivationGroupDesc$CommandEnvironment : public ::java::lang::Object +{ + +public: + ActivationGroupDesc$CommandEnvironment(::java::lang::String *, JArray< ::java::lang::String * > *); + virtual ::java::lang::String * getCommandPath(); + virtual JArray< ::java::lang::String * > * getCommandOptions(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +public: // actually package-private + static const jlong serialVersionUID = 6165754737887770191LL; +private: + static JArray< ::java::lang::String * > * NO_ARGS; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) command; + JArray< ::java::lang::String * > * options; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationGroupDesc$CommandEnvironment__ diff --git a/libjava/java/rmi/activation/ActivationGroupDesc.h b/libjava/java/rmi/activation/ActivationGroupDesc.h new file mode 100644 index 00000000000..8229e57feb1 --- /dev/null +++ b/libjava/java/rmi/activation/ActivationGroupDesc.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationGroupDesc__ +#define __java_rmi_activation_ActivationGroupDesc__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationGroupDesc; + class ActivationGroupDesc$CommandEnvironment; + } + } + } +} + +class java::rmi::activation::ActivationGroupDesc : public ::java::lang::Object +{ + +public: + ActivationGroupDesc(::java::util::Properties *, ::java::rmi::activation::ActivationGroupDesc$CommandEnvironment *); + ActivationGroupDesc(::java::lang::String *, ::java::lang::String *, ::java::rmi::MarshalledObject *, ::java::util::Properties *, ::java::rmi::activation::ActivationGroupDesc$CommandEnvironment *); + ::java::lang::String * getClassName(); + ::java::lang::String * getLocation(); + ::java::rmi::MarshalledObject * getData(); + ::java::util::Properties * getPropertyOverrides(); + ::java::rmi::activation::ActivationGroupDesc$CommandEnvironment * getCommandEnvironment(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + static jboolean eq(::java::lang::Object *, ::java::lang::Object *); +public: + jint hashCode(); +public: // actually package-private + static const jlong serialVersionUID = -4936225423168276595LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) className; + ::java::lang::String * location; + ::java::rmi::MarshalledObject * data; + ::java::rmi::activation::ActivationGroupDesc$CommandEnvironment * env; + ::java::util::Properties * props; + jlong hash; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationGroupDesc__ diff --git a/libjava/java/rmi/activation/ActivationGroupID.h b/libjava/java/rmi/activation/ActivationGroupID.h new file mode 100644 index 00000000000..be942fef7c7 --- /dev/null +++ b/libjava/java/rmi/activation/ActivationGroupID.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationGroupID__ +#define __java_rmi_activation_ActivationGroupID__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class ActivationGroupID; + class ActivationSystem; + } + namespace server + { + class UID; + } + } + } +} + +class java::rmi::activation::ActivationGroupID : public ::java::lang::Object +{ + +public: + ActivationGroupID(::java::rmi::activation::ActivationSystem *); + virtual ::java::rmi::activation::ActivationSystem * getSystem(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = -1648432278909740833LL; + ::java::rmi::activation::ActivationSystem * __attribute__((aligned(__alignof__( ::java::lang::Object)))) system; + ::java::rmi::server::UID * uid; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationGroupID__ diff --git a/libjava/java/rmi/activation/ActivationGroup_Stub.h b/libjava/java/rmi/activation/ActivationGroup_Stub.h new file mode 100644 index 00000000000..4dc223cb3aa --- /dev/null +++ b/libjava/java/rmi/activation/ActivationGroup_Stub.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationGroup_Stub__ +#define __java_rmi_activation_ActivationGroup_Stub__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationDesc; + class ActivationGroup_Stub; + class ActivationID; + } + namespace server + { + class RemoteRef; + } + } + } +} + +class java::rmi::activation::ActivationGroup_Stub : public ::java::rmi::server::RemoteStub +{ + +public: + ActivationGroup_Stub(::java::rmi::server::RemoteRef *); + ::java::rmi::MarshalledObject * newInstance(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *); +private: + static const jlong serialVersionUID = 2LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationGroup_Stub__ diff --git a/libjava/java/rmi/activation/ActivationID.h b/libjava/java/rmi/activation/ActivationID.h new file mode 100644 index 00000000000..831962e7cab --- /dev/null +++ b/libjava/java/rmi/activation/ActivationID.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationID__ +#define __java_rmi_activation_ActivationID__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace activation + { + class ActivationGroup; + class ActivationID; + class Activator; + } + namespace server + { + class UID; + } + } + } +} + +class java::rmi::activation::ActivationID : public ::java::lang::Object +{ + +public: + ActivationID(::java::rmi::activation::Activator *); + virtual ::java::rmi::Remote * activate(jboolean); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: // actually package-private + static jboolean eq(::java::lang::Object *, ::java::lang::Object *); +public: + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = -4608673054848209235LL; + ::java::rmi::activation::Activator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) activator; + ::java::rmi::server::UID * uid; + ::java::rmi::activation::ActivationGroup * group; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_ActivationID__ diff --git a/libjava/java/rmi/activation/ActivationInstantiator.h b/libjava/java/rmi/activation/ActivationInstantiator.h new file mode 100644 index 00000000000..5249407e87f --- /dev/null +++ b/libjava/java/rmi/activation/ActivationInstantiator.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationInstantiator__ +#define __java_rmi_activation_ActivationInstantiator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationDesc; + class ActivationID; + class ActivationInstantiator; + } + } + } +} + +class java::rmi::activation::ActivationInstantiator : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::MarshalledObject * newInstance(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_activation_ActivationInstantiator__ diff --git a/libjava/java/rmi/activation/ActivationMonitor.h b/libjava/java/rmi/activation/ActivationMonitor.h new file mode 100644 index 00000000000..a41dc6340ad --- /dev/null +++ b/libjava/java/rmi/activation/ActivationMonitor.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationMonitor__ +#define __java_rmi_activation_ActivationMonitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationGroupID; + class ActivationID; + class ActivationMonitor; + } + } + } +} + +class java::rmi::activation::ActivationMonitor : public ::java::lang::Object +{ + +public: + virtual void activeObject(::java::rmi::activation::ActivationID *, ::java::rmi::MarshalledObject *) = 0; + virtual void inactiveObject(::java::rmi::activation::ActivationID *) = 0; + virtual void inactiveGroup(::java::rmi::activation::ActivationGroupID *, jlong) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_activation_ActivationMonitor__ diff --git a/libjava/java/rmi/activation/ActivationSystem.h b/libjava/java/rmi/activation/ActivationSystem.h new file mode 100644 index 00000000000..cb4f1458e0a --- /dev/null +++ b/libjava/java/rmi/activation/ActivationSystem.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_ActivationSystem__ +#define __java_rmi_activation_ActivationSystem__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class ActivationDesc; + class ActivationGroupDesc; + class ActivationGroupID; + class ActivationID; + class ActivationInstantiator; + class ActivationMonitor; + class ActivationSystem; + } + } + } +} + +class java::rmi::activation::ActivationSystem : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::activation::ActivationID * registerObject(::java::rmi::activation::ActivationDesc *) = 0; + virtual void unregisterObject(::java::rmi::activation::ActivationID *) = 0; + virtual ::java::rmi::activation::ActivationGroupID * registerGroup(::java::rmi::activation::ActivationGroupDesc *) = 0; + virtual ::java::rmi::activation::ActivationMonitor * activeGroup(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationInstantiator *, jlong) = 0; + virtual void unregisterGroup(::java::rmi::activation::ActivationGroupID *) = 0; + virtual void shutdown() = 0; + virtual ::java::rmi::activation::ActivationDesc * setActivationDesc(::java::rmi::activation::ActivationID *, ::java::rmi::activation::ActivationDesc *) = 0; + virtual ::java::rmi::activation::ActivationGroupDesc * setActivationGroupDesc(::java::rmi::activation::ActivationGroupID *, ::java::rmi::activation::ActivationGroupDesc *) = 0; + virtual ::java::rmi::activation::ActivationDesc * getActivationDesc(::java::rmi::activation::ActivationID *) = 0; + virtual ::java::rmi::activation::ActivationGroupDesc * getActivationGroupDesc(::java::rmi::activation::ActivationGroupID *) = 0; + static const jint SYSTEM_PORT = 1098; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_activation_ActivationSystem__ diff --git a/libjava/java/rmi/activation/Activator.h b/libjava/java/rmi/activation/Activator.h new file mode 100644 index 00000000000..7976abc8307 --- /dev/null +++ b/libjava/java/rmi/activation/Activator.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_Activator__ +#define __java_rmi_activation_Activator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class MarshalledObject; + namespace activation + { + class ActivationID; + class Activator; + } + } + } +} + +class java::rmi::activation::Activator : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::MarshalledObject * activate(::java::rmi::activation::ActivationID *, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_activation_Activator__ diff --git a/libjava/java/rmi/activation/UnknownGroupException.h b/libjava/java/rmi/activation/UnknownGroupException.h new file mode 100644 index 00000000000..27afe4cfbcc --- /dev/null +++ b/libjava/java/rmi/activation/UnknownGroupException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_UnknownGroupException__ +#define __java_rmi_activation_UnknownGroupException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class UnknownGroupException; + } + } + } +} + +class java::rmi::activation::UnknownGroupException : public ::java::rmi::activation::ActivationException +{ + +public: + UnknownGroupException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7056094974750002460LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_UnknownGroupException__ diff --git a/libjava/java/rmi/activation/UnknownObjectException.h b/libjava/java/rmi/activation/UnknownObjectException.h new file mode 100644 index 00000000000..9bda5977cfd --- /dev/null +++ b/libjava/java/rmi/activation/UnknownObjectException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_activation_UnknownObjectException__ +#define __java_rmi_activation_UnknownObjectException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace activation + { + class UnknownObjectException; + } + } + } +} + +class java::rmi::activation::UnknownObjectException : public ::java::rmi::activation::ActivationException +{ + +public: + UnknownObjectException(::java::lang::String *); +private: + static const jlong serialVersionUID = 3425547551622251430LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_activation_UnknownObjectException__ diff --git a/libjava/java/rmi/dgc/DGC.h b/libjava/java/rmi/dgc/DGC.h new file mode 100644 index 00000000000..b240c1acb5f --- /dev/null +++ b/libjava/java/rmi/dgc/DGC.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_dgc_DGC__ +#define __java_rmi_dgc_DGC__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace dgc + { + class DGC; + class Lease; + class VMID; + } + namespace server + { + class ObjID; + } + } + } +} + +class java::rmi::dgc::DGC : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::dgc::Lease * dirty(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::Lease *) = 0; + virtual void clean(JArray< ::java::rmi::server::ObjID * > *, jlong, ::java::rmi::dgc::VMID *, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_dgc_DGC__ diff --git a/libjava/java/rmi/dgc/Lease.h b/libjava/java/rmi/dgc/Lease.h new file mode 100644 index 00000000000..e3ad0bf4592 --- /dev/null +++ b/libjava/java/rmi/dgc/Lease.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_dgc_Lease__ +#define __java_rmi_dgc_Lease__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace dgc + { + class Lease; + class VMID; + } + } + } +} + +class java::rmi::dgc::Lease : public ::java::lang::Object +{ + +public: + Lease(::java::rmi::dgc::VMID *, jlong); + ::java::rmi::dgc::VMID * getVMID(); + jlong getValue(); + ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = -5713411624328831948LL; +private: + ::java::rmi::dgc::VMID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) vmid; + jlong value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_dgc_Lease__ diff --git a/libjava/java/rmi/dgc/VMID.h b/libjava/java/rmi/dgc/VMID.h new file mode 100644 index 00000000000..082553bc1c7 --- /dev/null +++ b/libjava/java/rmi/dgc/VMID.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_dgc_VMID__ +#define __java_rmi_dgc_VMID__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace dgc + { + class VMID; + } + namespace server + { + class UID; + } + } + } +} + +class java::rmi::dgc::VMID : public ::java::lang::Object +{ + +public: + VMID(); + static jboolean isUnique(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = -538642295484486218LL; + static jboolean areWeUnique; + static JArray< jbyte > * localAddr; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) addr; +public: // actually package-private + jint hash; +private: + ::java::rmi::server::UID * uid; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_dgc_VMID__ diff --git a/libjava/java/rmi/registry/LocateRegistry.h b/libjava/java/rmi/registry/LocateRegistry.h new file mode 100644 index 00000000000..75b0b4a65b5 --- /dev/null +++ b/libjava/java/rmi/registry/LocateRegistry.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_registry_LocateRegistry__ +#define __java_rmi_registry_LocateRegistry__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace registry + { + class LocateRegistry; + class Registry; + } + namespace server + { + class RMIClientSocketFactory; + class RMIServerSocketFactory; + } + } + } +} + +class java::rmi::registry::LocateRegistry : public ::java::lang::Object +{ + + LocateRegistry(); +public: + static ::java::rmi::registry::Registry * getRegistry(); + static ::java::rmi::registry::Registry * getRegistry(jint); + static ::java::rmi::registry::Registry * getRegistry(::java::lang::String *); + static ::java::rmi::registry::Registry * getRegistry(::java::lang::String *, jint); + static ::java::rmi::registry::Registry * getRegistry(::java::lang::String *, jint, ::java::rmi::server::RMIClientSocketFactory *); + static ::java::rmi::registry::Registry * createRegistry(jint); + static ::java::rmi::registry::Registry * createRegistry(jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_registry_LocateRegistry__ diff --git a/libjava/java/rmi/registry/Registry.h b/libjava/java/rmi/registry/Registry.h new file mode 100644 index 00000000000..470ef2bf4a1 --- /dev/null +++ b/libjava/java/rmi/registry/Registry.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_registry_Registry__ +#define __java_rmi_registry_Registry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace registry + { + class Registry; + } + } + } +} + +class java::rmi::registry::Registry : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::Remote * lookup(::java::lang::String *) = 0; + virtual void bind(::java::lang::String *, ::java::rmi::Remote *) = 0; + virtual void unbind(::java::lang::String *) = 0; + virtual void rebind(::java::lang::String *, ::java::rmi::Remote *) = 0; + virtual JArray< ::java::lang::String * > * list() = 0; + static const jint REGISTRY_PORT = 1099; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_registry_Registry__ diff --git a/libjava/java/rmi/registry/RegistryHandler.h b/libjava/java/rmi/registry/RegistryHandler.h new file mode 100644 index 00000000000..cd29094023e --- /dev/null +++ b/libjava/java/rmi/registry/RegistryHandler.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_registry_RegistryHandler__ +#define __java_rmi_registry_RegistryHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace registry + { + class Registry; + class RegistryHandler; + } + } + } +} + +class java::rmi::registry::RegistryHandler : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::registry::Registry * registryStub(::java::lang::String *, jint) = 0; + virtual ::java::rmi::registry::Registry * registryImpl(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_registry_RegistryHandler__ diff --git a/libjava/java/rmi/server/ExportException.h b/libjava/java/rmi/server/ExportException.h new file mode 100644 index 00000000000..471a944d2f4 --- /dev/null +++ b/libjava/java/rmi/server/ExportException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_ExportException__ +#define __java_rmi_server_ExportException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class ExportException; + } + } + } +} + +class java::rmi::server::ExportException : public ::java::rmi::RemoteException +{ + +public: + ExportException(::java::lang::String *); + ExportException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -9155485338494060170LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_ExportException__ diff --git a/libjava/java/rmi/server/LoaderHandler.h b/libjava/java/rmi/server/LoaderHandler.h new file mode 100644 index 00000000000..6b515f79599 --- /dev/null +++ b/libjava/java/rmi/server/LoaderHandler.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_LoaderHandler__ +#define __java_rmi_server_LoaderHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + namespace rmi + { + namespace server + { + class LoaderHandler; + } + } + } +} + +class java::rmi::server::LoaderHandler : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * loadClass(::java::lang::String *) = 0; + virtual ::java::lang::Class * loadClass(::java::net::URL *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * getSecurityContext(::java::lang::ClassLoader *) = 0; + static ::java::lang::String * packagePrefix; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_LoaderHandler__ diff --git a/libjava/java/rmi/server/LogStream.h b/libjava/java/rmi/server/LogStream.h new file mode 100644 index 00000000000..6dfcfbf7392 --- /dev/null +++ b/libjava/java/rmi/server/LogStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_LogStream__ +#define __java_rmi_server_LogStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class LogStream; + } + } + } +} + +class java::rmi::server::LogStream : public ::java::io::PrintStream +{ + + LogStream(::java::io::OutputStream *); +public: + static ::java::rmi::server::LogStream * log(::java::lang::String *); + static ::java::io::PrintStream * getDefaultStream(); + static void setDefaultStream(::java::io::PrintStream *); + virtual ::java::io::OutputStream * getOutputStream(); + virtual void setOutputStream(::java::io::OutputStream *); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual ::java::lang::String * toString(); + static jint parseLevel(::java::lang::String *); + static const jint SILENT = 0; + static const jint BRIEF = 10; + static const jint VERBOSE = 20; +private: + static ::java::io::PrintStream * defStream; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_LogStream__ diff --git a/libjava/java/rmi/server/ObjID.h b/libjava/java/rmi/server/ObjID.h new file mode 100644 index 00000000000..f830f0f4d41 --- /dev/null +++ b/libjava/java/rmi/server/ObjID.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_ObjID__ +#define __java_rmi_server_ObjID__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class ObjID; + class UID; + } + } + } +} + +class java::rmi::server::ObjID : public ::java::lang::Object +{ + +public: + ObjID(); + ObjID(jint); + void write(::java::io::ObjectOutput *); + static ::java::rmi::server::ObjID * read(::java::io::ObjectInput *); + jint hashCode(); + jboolean equals(::java::lang::Object *); +public: // actually package-private + static jboolean eq(::java::lang::Object *, ::java::lang::Object *); +public: + ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = -6386392263968365220LL; +private: + static jlong next; + static ::java::lang::Object * lock; +public: + static const jint REGISTRY_ID = 0; + static const jint ACTIVATOR_ID = 1; + static const jint DGC_ID = 2; +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) objNum; + ::java::rmi::server::UID * space; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_ObjID__ diff --git a/libjava/java/rmi/server/Operation.h b/libjava/java/rmi/server/Operation.h new file mode 100644 index 00000000000..e7b70ecd11d --- /dev/null +++ b/libjava/java/rmi/server/Operation.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_Operation__ +#define __java_rmi_server_Operation__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class Operation; + } + } + } +} + +class java::rmi::server::Operation : public ::java::lang::Object +{ + +public: + Operation(::java::lang::String *); + virtual ::java::lang::String * getOperation(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) operation; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_Operation__ diff --git a/libjava/java/rmi/server/RMIClassLoader.h b/libjava/java/rmi/server/RMIClassLoader.h new file mode 100644 index 00000000000..1d29dfd6172 --- /dev/null +++ b/libjava/java/rmi/server/RMIClassLoader.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RMIClassLoader__ +#define __java_rmi_server_RMIClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + namespace rmi + { + namespace server + { + class RMIClassLoader; + class RMIClassLoaderSpi; + } + } + } +} + +class java::rmi::server::RMIClassLoader : public ::java::lang::Object +{ + + RMIClassLoader(); +public: + static ::java::lang::Class * loadClass(::java::lang::String *); + static ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); + static ::java::lang::Class * loadProxyClass(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::ClassLoader *); + static ::java::lang::Class * loadClass(::java::net::URL *, ::java::lang::String *); + static ::java::lang::ClassLoader * getClassLoader(::java::lang::String *); + static ::java::lang::String * getClassAnnotation(::java::lang::Class *); + static ::java::lang::Object * getSecurityContext(::java::lang::ClassLoader *); + static ::java::rmi::server::RMIClassLoaderSpi * getDefaultProviderInstance(); +private: + static ::java::rmi::server::RMIClassLoaderSpi * getProviderInstance(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RMIClassLoader__ diff --git a/libjava/java/rmi/server/RMIClassLoaderSpi.h b/libjava/java/rmi/server/RMIClassLoaderSpi.h new file mode 100644 index 00000000000..978a11a0801 --- /dev/null +++ b/libjava/java/rmi/server/RMIClassLoaderSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RMIClassLoaderSpi__ +#define __java_rmi_server_RMIClassLoaderSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class RMIClassLoaderSpi; + } + } + } +} + +class java::rmi::server::RMIClassLoaderSpi : public ::java::lang::Object +{ + +public: + RMIClassLoaderSpi(); + virtual ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *) = 0; + virtual ::java::lang::Class * loadProxyClass(::java::lang::String *, JArray< ::java::lang::String * > *, ::java::lang::ClassLoader *) = 0; + virtual ::java::lang::ClassLoader * getClassLoader(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassAnnotation(::java::lang::Class *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RMIClassLoaderSpi__ diff --git a/libjava/java/rmi/server/RMIClientSocketFactory.h b/libjava/java/rmi/server/RMIClientSocketFactory.h new file mode 100644 index 00000000000..4a0731962c3 --- /dev/null +++ b/libjava/java/rmi/server/RMIClientSocketFactory.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RMIClientSocketFactory__ +#define __java_rmi_server_RMIClientSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class Socket; + } + namespace rmi + { + namespace server + { + class RMIClientSocketFactory; + } + } + } +} + +class java::rmi::server::RMIClientSocketFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_RMIClientSocketFactory__ diff --git a/libjava/java/rmi/server/RMIFailureHandler.h b/libjava/java/rmi/server/RMIFailureHandler.h new file mode 100644 index 00000000000..da177a063b9 --- /dev/null +++ b/libjava/java/rmi/server/RMIFailureHandler.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RMIFailureHandler__ +#define __java_rmi_server_RMIFailureHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class RMIFailureHandler; + } + } + } +} + +class java::rmi::server::RMIFailureHandler : public ::java::lang::Object +{ + +public: + virtual jboolean failure(::java::lang::Exception *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_RMIFailureHandler__ diff --git a/libjava/java/rmi/server/RMIServerSocketFactory.h b/libjava/java/rmi/server/RMIServerSocketFactory.h new file mode 100644 index 00000000000..daf42af5633 --- /dev/null +++ b/libjava/java/rmi/server/RMIServerSocketFactory.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RMIServerSocketFactory__ +#define __java_rmi_server_RMIServerSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ServerSocket; + } + namespace rmi + { + namespace server + { + class RMIServerSocketFactory; + } + } + } +} + +class java::rmi::server::RMIServerSocketFactory : public ::java::lang::Object +{ + +public: + virtual ::java::net::ServerSocket * createServerSocket(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_RMIServerSocketFactory__ diff --git a/libjava/java/rmi/server/RMISocketFactory.h b/libjava/java/rmi/server/RMISocketFactory.h new file mode 100644 index 00000000000..f79b04cc449 --- /dev/null +++ b/libjava/java/rmi/server/RMISocketFactory.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RMISocketFactory__ +#define __java_rmi_server_RMISocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class ServerSocket; + class Socket; + } + namespace rmi + { + namespace server + { + class RMIFailureHandler; + class RMISocketFactory; + } + } + } +} + +class java::rmi::server::RMISocketFactory : public ::java::lang::Object +{ + +public: + RMISocketFactory(); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint) = 0; + virtual ::java::net::ServerSocket * createServerSocket(jint) = 0; + static void setSocketFactory(::java::rmi::server::RMISocketFactory *); + static ::java::rmi::server::RMISocketFactory * getSocketFactory(); + static ::java::rmi::server::RMISocketFactory * getDefaultSocketFactory(); + static void setFailureHandler(::java::rmi::server::RMIFailureHandler *); + static ::java::rmi::server::RMIFailureHandler * getFailureHandler(); +private: + static ::java::rmi::server::RMISocketFactory * defaultFactory; + static ::java::rmi::server::RMISocketFactory * currentFactory; + static ::java::rmi::server::RMIFailureHandler * currentHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RMISocketFactory__ diff --git a/libjava/java/rmi/server/RemoteCall.h b/libjava/java/rmi/server/RemoteCall.h new file mode 100644 index 00000000000..e416f0b81c0 --- /dev/null +++ b/libjava/java/rmi/server/RemoteCall.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RemoteCall__ +#define __java_rmi_server_RemoteCall__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class RemoteCall; + } + } + } +} + +class java::rmi::server::RemoteCall : public ::java::lang::Object +{ + +public: + virtual ::java::io::ObjectOutput * getOutputStream() = 0; + virtual void releaseOutputStream() = 0; + virtual ::java::io::ObjectInput * getInputStream() = 0; + virtual void releaseInputStream() = 0; + virtual ::java::io::ObjectOutput * getResultStream(jboolean) = 0; + virtual void executeCall() = 0; + virtual void done() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_RemoteCall__ diff --git a/libjava/java/rmi/server/RemoteObject.h b/libjava/java/rmi/server/RemoteObject.h new file mode 100644 index 00000000000..5a35b02c8ab --- /dev/null +++ b/libjava/java/rmi/server/RemoteObject.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RemoteObject__ +#define __java_rmi_server_RemoteObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class RemoteObject; + class RemoteRef; + } + } + } +} + +class java::rmi::server::RemoteObject : public ::java::lang::Object +{ + +public: // actually protected + RemoteObject(); + RemoteObject(::java::rmi::server::RemoteRef *); +public: + virtual ::java::rmi::server::RemoteRef * getRef(); +public: // actually package-private + static void addStub(::java::rmi::Remote *, ::java::rmi::Remote *); + static void deleteStub(::java::rmi::Remote *); +public: + static ::java::rmi::Remote * toStub(::java::rmi::Remote *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -3215090123894869218LL; +public: // actually protected + ::java::rmi::server::RemoteRef * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ref; +private: + static ::java::util::WeakHashMap * stubs; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RemoteObject__ diff --git a/libjava/java/rmi/server/RemoteObjectInvocationHandler.h b/libjava/java/rmi/server/RemoteObjectInvocationHandler.h new file mode 100644 index 00000000000..babacb8b3bf --- /dev/null +++ b/libjava/java/rmi/server/RemoteObjectInvocationHandler.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RemoteObjectInvocationHandler__ +#define __java_rmi_server_RemoteObjectInvocationHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class RemoteObjectInvocationHandler; + class RemoteRef; + } + } + } +} + +class java::rmi::server::RemoteObjectInvocationHandler : public ::java::rmi::server::RemoteObject +{ + +public: + RemoteObjectInvocationHandler(::java::rmi::server::RemoteRef *); + virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *); +public: // actually package-private + static const jlong serialVersionUID = 2LL; + static ::java::util::Hashtable * methodHashCodes; + static JArray< ::java::lang::Class * > * noArgsC; + static JArray< ::java::lang::Class * > * anObjectC; + static JArray< ::java::lang::Object * > * noArgs; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RemoteObjectInvocationHandler__ diff --git a/libjava/java/rmi/server/RemoteRef.h b/libjava/java/rmi/server/RemoteRef.h new file mode 100644 index 00000000000..e73eb3ca676 --- /dev/null +++ b/libjava/java/rmi/server/RemoteRef.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RemoteRef__ +#define __java_rmi_server_RemoteRef__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class Operation; + class RemoteCall; + class RemoteObject; + class RemoteRef; + } + } + } +} + +class java::rmi::server::RemoteRef : public ::java::lang::Object +{ + +public: + virtual void invoke(::java::rmi::server::RemoteCall *) = 0; + virtual ::java::lang::Object * invoke(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jlong) = 0; + virtual ::java::rmi::server::RemoteCall * newCall(::java::rmi::server::RemoteObject *, JArray< ::java::rmi::server::Operation * > *, jint, jlong) = 0; + virtual void done(::java::rmi::server::RemoteCall *) = 0; + virtual jboolean remoteEquals(::java::rmi::server::RemoteRef *) = 0; + virtual jint remoteHashCode() = 0; + virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *) = 0; + virtual ::java::lang::String * remoteToString() = 0; + virtual void readExternal(::java::io::ObjectInput *) = 0; + virtual void writeExternal(::java::io::ObjectOutput *) = 0; + static const jlong serialVersionUID = 3632638527362204081LL; + static ::java::lang::String * packagePrefix; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_RemoteRef__ diff --git a/libjava/java/rmi/server/RemoteServer.h b/libjava/java/rmi/server/RemoteServer.h new file mode 100644 index 00000000000..9822a79a825 --- /dev/null +++ b/libjava/java/rmi/server/RemoteServer.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RemoteServer__ +#define __java_rmi_server_RemoteServer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class RemoteRef; + class RemoteServer; + } + } + } +} + +class java::rmi::server::RemoteServer : public ::java::rmi::server::RemoteObject +{ + +public: // actually protected + RemoteServer(); + RemoteServer(::java::rmi::server::RemoteRef *); +public: + static ::java::lang::String * getClientHost(); + static void setLog(::java::io::OutputStream *); + static ::java::io::PrintStream * getLog(); +private: + static const jlong serialVersionUID = -4100238210092549637LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RemoteServer__ diff --git a/libjava/java/rmi/server/RemoteStub.h b/libjava/java/rmi/server/RemoteStub.h new file mode 100644 index 00000000000..75e1a7fd7b1 --- /dev/null +++ b/libjava/java/rmi/server/RemoteStub.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_RemoteStub__ +#define __java_rmi_server_RemoteStub__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class RemoteRef; + class RemoteStub; + } + } + } +} + +class java::rmi::server::RemoteStub : public ::java::rmi::server::RemoteObject +{ + +public: // actually protected + RemoteStub(); + RemoteStub(::java::rmi::server::RemoteRef *); + static void setRef(::java::rmi::server::RemoteStub *, ::java::rmi::server::RemoteRef *); +public: // actually package-private + static const jlong serialVersionUID = -1585587260594494182LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_RemoteStub__ diff --git a/libjava/java/rmi/server/ServerCloneException.h b/libjava/java/rmi/server/ServerCloneException.h new file mode 100644 index 00000000000..37d027cd8fd --- /dev/null +++ b/libjava/java/rmi/server/ServerCloneException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_ServerCloneException__ +#define __java_rmi_server_ServerCloneException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class ServerCloneException; + } + } + } +} + +class java::rmi::server::ServerCloneException : public ::java::lang::CloneNotSupportedException +{ + +public: + ServerCloneException(::java::lang::String *); + ServerCloneException(::java::lang::String *, ::java::lang::Exception *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Throwable * getCause(); +private: + static const jlong serialVersionUID = 6617456357664815945LL; +public: + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::CloneNotSupportedException)))) detail; + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_ServerCloneException__ diff --git a/libjava/java/rmi/server/ServerNotActiveException.h b/libjava/java/rmi/server/ServerNotActiveException.h new file mode 100644 index 00000000000..6064177a692 --- /dev/null +++ b/libjava/java/rmi/server/ServerNotActiveException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_ServerNotActiveException__ +#define __java_rmi_server_ServerNotActiveException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class ServerNotActiveException; + } + } + } +} + +class java::rmi::server::ServerNotActiveException : public ::java::lang::Exception +{ + +public: + ServerNotActiveException(); + ServerNotActiveException(::java::lang::String *); +private: + static const jlong serialVersionUID = 4687940720827538231LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_ServerNotActiveException__ diff --git a/libjava/java/rmi/server/ServerRef.h b/libjava/java/rmi/server/ServerRef.h new file mode 100644 index 00000000000..d0c37822ed9 --- /dev/null +++ b/libjava/java/rmi/server/ServerRef.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_ServerRef__ +#define __java_rmi_server_ServerRef__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class Operation; + class RemoteCall; + class RemoteObject; + class RemoteRef; + class RemoteStub; + class ServerRef; + } + } + } +} + +class java::rmi::server::ServerRef : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::server::RemoteStub * exportObject(::java::rmi::Remote *, ::java::lang::Object *) = 0; + virtual ::java::lang::String * getClientHost() = 0; + virtual void invoke(::java::rmi::server::RemoteCall *) = 0; + virtual ::java::lang::Object * invoke(::java::rmi::Remote *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *, jlong) = 0; + virtual ::java::rmi::server::RemoteCall * newCall(::java::rmi::server::RemoteObject *, JArray< ::java::rmi::server::Operation * > *, jint, jlong) = 0; + virtual void done(::java::rmi::server::RemoteCall *) = 0; + virtual jboolean remoteEquals(::java::rmi::server::RemoteRef *) = 0; + virtual jint remoteHashCode() = 0; + virtual ::java::lang::String * getRefClass(::java::io::ObjectOutput *) = 0; + virtual ::java::lang::String * remoteToString() = 0; + virtual void readExternal(::java::io::ObjectInput *) = 0; + virtual void writeExternal(::java::io::ObjectOutput *) = 0; + static const jlong serialVersionUID = -4557750989390278438LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_ServerRef__ diff --git a/libjava/java/rmi/server/Skeleton.h b/libjava/java/rmi/server/Skeleton.h new file mode 100644 index 00000000000..492385b77c0 --- /dev/null +++ b/libjava/java/rmi/server/Skeleton.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_Skeleton__ +#define __java_rmi_server_Skeleton__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class Operation; + class RemoteCall; + class Skeleton; + } + } + } +} + +class java::rmi::server::Skeleton : public ::java::lang::Object +{ + +public: + virtual void dispatch(::java::rmi::Remote *, ::java::rmi::server::RemoteCall *, jint, jlong) = 0; + virtual JArray< ::java::rmi::server::Operation * > * getOperations() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_Skeleton__ diff --git a/libjava/java/rmi/server/SkeletonMismatchException.h b/libjava/java/rmi/server/SkeletonMismatchException.h new file mode 100644 index 00000000000..6d5d49218bf --- /dev/null +++ b/libjava/java/rmi/server/SkeletonMismatchException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_SkeletonMismatchException__ +#define __java_rmi_server_SkeletonMismatchException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class SkeletonMismatchException; + } + } + } +} + +class java::rmi::server::SkeletonMismatchException : public ::java::rmi::RemoteException +{ + +public: + SkeletonMismatchException(::java::lang::String *); +private: + static const jlong serialVersionUID = -7780460454818859281LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_SkeletonMismatchException__ diff --git a/libjava/java/rmi/server/SkeletonNotFoundException.h b/libjava/java/rmi/server/SkeletonNotFoundException.h new file mode 100644 index 00000000000..f4030294c2b --- /dev/null +++ b/libjava/java/rmi/server/SkeletonNotFoundException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_SkeletonNotFoundException__ +#define __java_rmi_server_SkeletonNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class SkeletonNotFoundException; + } + } + } +} + +class java::rmi::server::SkeletonNotFoundException : public ::java::rmi::RemoteException +{ + +public: + SkeletonNotFoundException(::java::lang::String *); + SkeletonNotFoundException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -7860299673822761231LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_SkeletonNotFoundException__ diff --git a/libjava/java/rmi/server/SocketSecurityException.h b/libjava/java/rmi/server/SocketSecurityException.h new file mode 100644 index 00000000000..39c34411c55 --- /dev/null +++ b/libjava/java/rmi/server/SocketSecurityException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_SocketSecurityException__ +#define __java_rmi_server_SocketSecurityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class SocketSecurityException; + } + } + } +} + +class java::rmi::server::SocketSecurityException : public ::java::rmi::server::ExportException +{ + +public: + SocketSecurityException(::java::lang::String *); + SocketSecurityException(::java::lang::String *, ::java::lang::Exception *); +private: + static const jlong serialVersionUID = -7622072999407781979LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_SocketSecurityException__ diff --git a/libjava/java/rmi/server/UID.h b/libjava/java/rmi/server/UID.h new file mode 100644 index 00000000000..85887ea3f76 --- /dev/null +++ b/libjava/java/rmi/server/UID.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_UID__ +#define __java_rmi_server_UID__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class UID; + } + } + } +} + +class java::rmi::server::UID : public ::java::lang::Object +{ + +public: + UID(); + UID(jshort); + jint hashCode(); + jboolean equals(::java::lang::Object *); + static ::java::rmi::server::UID * read(::java::io::DataInput *); + void write(::java::io::DataOutput *); +public: // actually package-private + static jint getMachineId(); +public: + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 1086053664494604050LL; + static jshort uidCounter; + static jlong last; + static jint machineId; + jshort __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jint unique; + jlong time; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_UID__ diff --git a/libjava/java/rmi/server/UnicastRemoteObject.h b/libjava/java/rmi/server/UnicastRemoteObject.h new file mode 100644 index 00000000000..274507ff963 --- /dev/null +++ b/libjava/java/rmi/server/UnicastRemoteObject.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_UnicastRemoteObject__ +#define __java_rmi_server_UnicastRemoteObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + namespace server + { + class RMIClientSocketFactory; + class RMIServerSocketFactory; + class RemoteRef; + class RemoteStub; + class UnicastRemoteObject; + } + } + } +} + +class java::rmi::server::UnicastRemoteObject : public ::java::rmi::server::RemoteServer +{ + +public: // actually protected + UnicastRemoteObject(); + UnicastRemoteObject(jint); + UnicastRemoteObject(jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + UnicastRemoteObject(::java::rmi::server::RemoteRef *); +public: + virtual ::java::lang::Object * clone(); + static ::java::rmi::server::RemoteStub * exportObject(::java::rmi::Remote *); + static ::java::rmi::Remote * exportObject(::java::rmi::Remote *, jint); +public: // actually package-private + static ::java::rmi::Remote * exportObject(::java::rmi::Remote *, jint, ::java::rmi::server::RMIServerSocketFactory *); +public: + static ::java::rmi::Remote * exportObject(::java::rmi::Remote *, jint, ::java::rmi::server::RMIClientSocketFactory *, ::java::rmi::server::RMIServerSocketFactory *); + static jboolean unexportObject(::java::rmi::Remote *, jboolean); +private: + static const jlong serialVersionUID = 4974527148936298033LL; + jint __attribute__((aligned(__alignof__( ::java::rmi::server::RemoteServer)))) port; + ::java::rmi::server::RMIClientSocketFactory * csf; + ::java::rmi::server::RMIServerSocketFactory * ssf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_rmi_server_UnicastRemoteObject__ diff --git a/libjava/java/rmi/server/Unreferenced.h b/libjava/java/rmi/server/Unreferenced.h new file mode 100644 index 00000000000..70f802a7a8d --- /dev/null +++ b/libjava/java/rmi/server/Unreferenced.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_rmi_server_Unreferenced__ +#define __java_rmi_server_Unreferenced__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + namespace server + { + class Unreferenced; + } + } + } +} + +class java::rmi::server::Unreferenced : public ::java::lang::Object +{ + +public: + virtual void unreferenced() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_rmi_server_Unreferenced__ diff --git a/libjava/java/security/AccessControlContext.h b/libjava/java/security/AccessControlContext.h new file mode 100644 index 00000000000..e83852a7719 --- /dev/null +++ b/libjava/java/security/AccessControlContext.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AccessControlContext__ +#define __java_security_AccessControlContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + class DomainCombiner; + class Permission; + class ProtectionDomain; + } + } +} + +class java::security::AccessControlContext : public ::java::lang::Object +{ + +public: + AccessControlContext(JArray< ::java::security::ProtectionDomain * > *); + AccessControlContext(::java::security::AccessControlContext *, ::java::security::DomainCombiner *); +public: // actually package-private + AccessControlContext(JArray< ::java::security::ProtectionDomain * > *, ::java::security::AccessControlContext *, ::java::security::DomainCombiner *); +public: + ::java::security::DomainCombiner * getDomainCombiner(); + void checkPermission(::java::security::Permission *); + jboolean equals(::java::lang::Object *); + jint hashCode(); +public: // actually package-private + JArray< ::java::security::ProtectionDomain * > * getProtectionDomains(); +private: + JArray< ::java::security::ProtectionDomain * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) protectionDomains; + ::java::security::DomainCombiner * combiner; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AccessControlContext__ diff --git a/libjava/java/security/AccessControlException.h b/libjava/java/security/AccessControlException.h new file mode 100644 index 00000000000..1dcd122cae2 --- /dev/null +++ b/libjava/java/security/AccessControlException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AccessControlException__ +#define __java_security_AccessControlException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlException; + class Permission; + } + } +} + +class java::security::AccessControlException : public ::java::lang::SecurityException +{ + +public: + AccessControlException(::java::lang::String *); + AccessControlException(::java::lang::String *, ::java::security::Permission *); + virtual ::java::security::Permission * getPermission(); +private: + static const jlong serialVersionUID = 5138225684096988535LL; + ::java::security::Permission * __attribute__((aligned(__alignof__( ::java::lang::SecurityException)))) perm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AccessControlException__ diff --git a/libjava/java/security/AccessController.h b/libjava/java/security/AccessController.h new file mode 100644 index 00000000000..96cc367c718 --- /dev/null +++ b/libjava/java/security/AccessController.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AccessController__ +#define __java_security_AccessController__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + class AccessController; + class Permission; + class PrivilegedAction; + class PrivilegedExceptionAction; + } + } +} + +class java::security::AccessController : public ::java::lang::Object +{ + + AccessController(); +public: + static void checkPermission(::java::security::Permission *); + static ::java::lang::Object * doPrivileged(::java::security::PrivilegedAction *); + static ::java::lang::Object * doPrivileged(::java::security::PrivilegedAction *, ::java::security::AccessControlContext *); + static ::java::lang::Object * doPrivileged(::java::security::PrivilegedExceptionAction *); + static ::java::lang::Object * doPrivileged(::java::security::PrivilegedExceptionAction *, ::java::security::AccessControlContext *); + static ::java::security::AccessControlContext * getContext(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_AccessController__ diff --git a/libjava/java/security/AlgorithmParameterGenerator.h b/libjava/java/security/AlgorithmParameterGenerator.h new file mode 100644 index 00000000000..02c9dbf3d7c --- /dev/null +++ b/libjava/java/security/AlgorithmParameterGenerator.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AlgorithmParameterGenerator__ +#define __java_security_AlgorithmParameterGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParameterGenerator; + class AlgorithmParameterGeneratorSpi; + class AlgorithmParameters; + class Provider; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::AlgorithmParameterGenerator : public ::java::lang::Object +{ + +public: // actually protected + AlgorithmParameterGenerator(::java::security::AlgorithmParameterGeneratorSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlgorithm(); + static ::java::security::AlgorithmParameterGenerator * getInstance(::java::lang::String *); + static ::java::security::AlgorithmParameterGenerator * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::AlgorithmParameterGenerator * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual void init(jint); + virtual void init(jint, ::java::security::SecureRandom *); + virtual void init(::java::security::spec::AlgorithmParameterSpec *); + virtual void init(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual ::java::security::AlgorithmParameters * generateParameters(); +private: + static ::java::lang::String * ALGORITHM_PARAMETER_GENERATOR; + ::java::security::AlgorithmParameterGeneratorSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) paramGenSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AlgorithmParameterGenerator__ diff --git a/libjava/java/security/AlgorithmParameterGeneratorSpi.h b/libjava/java/security/AlgorithmParameterGeneratorSpi.h new file mode 100644 index 00000000000..c40dfd3df6d --- /dev/null +++ b/libjava/java/security/AlgorithmParameterGeneratorSpi.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AlgorithmParameterGeneratorSpi__ +#define __java_security_AlgorithmParameterGeneratorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParameterGeneratorSpi; + class AlgorithmParameters; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::AlgorithmParameterGeneratorSpi : public ::java::lang::Object +{ + +public: + AlgorithmParameterGeneratorSpi(); +public: // actually protected + virtual void engineInit(jint, ::java::security::SecureRandom *) = 0; + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *) = 0; + virtual ::java::security::AlgorithmParameters * engineGenerateParameters() = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AlgorithmParameterGeneratorSpi__ diff --git a/libjava/java/security/AlgorithmParameters.h b/libjava/java/security/AlgorithmParameters.h new file mode 100644 index 00000000000..630b0431216 --- /dev/null +++ b/libjava/java/security/AlgorithmParameters.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AlgorithmParameters__ +#define __java_security_AlgorithmParameters__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParameters; + class AlgorithmParametersSpi; + class Provider; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::AlgorithmParameters : public ::java::lang::Object +{ + +public: // actually protected + AlgorithmParameters(::java::security::AlgorithmParametersSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlgorithm(); + static ::java::security::AlgorithmParameters * getInstance(::java::lang::String *); + static ::java::security::AlgorithmParameters * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::AlgorithmParameters * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual void init(::java::security::spec::AlgorithmParameterSpec *); + virtual void init(JArray< jbyte > *); + virtual void init(JArray< jbyte > *, ::java::lang::String *); + virtual ::java::security::spec::AlgorithmParameterSpec * getParameterSpec(::java::lang::Class *); + virtual JArray< jbyte > * getEncoded(); + virtual JArray< jbyte > * getEncoded(::java::lang::String *); + virtual ::java::lang::String * toString(); +private: + static ::java::lang::String * ALGORITHM_PARAMETERS; + ::java::security::AlgorithmParametersSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) paramSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AlgorithmParameters__ diff --git a/libjava/java/security/AlgorithmParametersSpi.h b/libjava/java/security/AlgorithmParametersSpi.h new file mode 100644 index 00000000000..a3c26967758 --- /dev/null +++ b/libjava/java/security/AlgorithmParametersSpi.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AlgorithmParametersSpi__ +#define __java_security_AlgorithmParametersSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParametersSpi; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::AlgorithmParametersSpi : public ::java::lang::Object +{ + +public: + AlgorithmParametersSpi(); +public: // actually protected + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *) = 0; + virtual void engineInit(JArray< jbyte > *) = 0; + virtual void engineInit(JArray< jbyte > *, ::java::lang::String *) = 0; + virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *) = 0; + virtual JArray< jbyte > * engineGetEncoded() = 0; + virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *) = 0; + virtual ::java::lang::String * engineToString() = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AlgorithmParametersSpi__ diff --git a/libjava/java/security/AllPermission$AllPermissionCollection.h b/libjava/java/security/AllPermission$AllPermissionCollection.h new file mode 100644 index 00000000000..bf88353dbca --- /dev/null +++ b/libjava/java/security/AllPermission$AllPermissionCollection.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AllPermission$AllPermissionCollection__ +#define __java_security_AllPermission$AllPermissionCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AllPermission$AllPermissionCollection; + class Permission; + } + } +} + +class java::security::AllPermission$AllPermissionCollection : public ::java::security::PermissionCollection +{ + + AllPermission$AllPermissionCollection(); +public: + void add(::java::security::Permission *); + jboolean implies(::java::security::Permission *); + ::java::util::Enumeration * elements(); +public: // actually package-private + AllPermission$AllPermissionCollection(::java::security::AllPermission$AllPermissionCollection *); +private: + static const jlong serialVersionUID = -4023755556366636806LL; + jboolean __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) all_allowed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AllPermission$AllPermissionCollection__ diff --git a/libjava/java/security/AllPermission.h b/libjava/java/security/AllPermission.h new file mode 100644 index 00000000000..7700a935029 --- /dev/null +++ b/libjava/java/security/AllPermission.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_AllPermission__ +#define __java_security_AllPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AllPermission; + class Permission; + class PermissionCollection; + } + } +} + +class java::security::AllPermission : public ::java::security::Permission +{ + +public: + AllPermission(); + AllPermission(::java::lang::String *, ::java::lang::String *); + jboolean implies(::java::security::Permission *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * getActions(); + ::java::security::PermissionCollection * newPermissionCollection(); +private: + static const jlong serialVersionUID = -2916474571451318075LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_AllPermission__ diff --git a/libjava/java/security/BasicPermission$BasicPermissionCollection.h b/libjava/java/security/BasicPermission$BasicPermissionCollection.h new file mode 100644 index 00000000000..a2d14544ce5 --- /dev/null +++ b/libjava/java/security/BasicPermission$BasicPermissionCollection.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_BasicPermission$BasicPermissionCollection__ +#define __java_security_BasicPermission$BasicPermissionCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class BasicPermission$BasicPermissionCollection; + class Permission; + } + } +} + +class java::security::BasicPermission$BasicPermissionCollection : public ::java::security::PermissionCollection +{ + +public: // actually package-private + BasicPermission$BasicPermissionCollection(::java::lang::Class *); +public: + void add(::java::security::Permission *); + jboolean implies(::java::security::Permission *); + ::java::util::Enumeration * elements(); +private: + static const jlong serialVersionUID = 739301742472979399LL; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions; + jboolean all_allowed; + ::java::lang::Class * permClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_BasicPermission$BasicPermissionCollection__ diff --git a/libjava/java/security/BasicPermission.h b/libjava/java/security/BasicPermission.h new file mode 100644 index 00000000000..36838628717 --- /dev/null +++ b/libjava/java/security/BasicPermission.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_BasicPermission__ +#define __java_security_BasicPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class BasicPermission; + class Permission; + class PermissionCollection; + } + } +} + +class java::security::BasicPermission : public ::java::security::Permission +{ + +public: + BasicPermission(::java::lang::String *); + BasicPermission(::java::lang::String *, ::java::lang::String *); + virtual jboolean implies(::java::security::Permission *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * getActions(); + virtual ::java::security::PermissionCollection * newPermissionCollection(); +private: + static const jlong serialVersionUID = 6279438298436773498LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_BasicPermission__ diff --git a/libjava/java/security/Certificate.h b/libjava/java/security/Certificate.h new file mode 100644 index 00000000000..9c7af28426c --- /dev/null +++ b/libjava/java/security/Certificate.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Certificate__ +#define __java_security_Certificate__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Certificate; + class Principal; + class PublicKey; + } + } +} + +class java::security::Certificate : public ::java::lang::Object +{ + +public: + virtual ::java::security::Principal * getGuarantor() = 0; + virtual ::java::security::Principal * getPrincipal() = 0; + virtual ::java::security::PublicKey * getPublicKey() = 0; + virtual void encode(::java::io::OutputStream *) = 0; + virtual void decode(::java::io::InputStream *) = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual ::java::lang::String * toString(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_Certificate__ diff --git a/libjava/java/security/CodeSource.h b/libjava/java/security/CodeSource.h new file mode 100644 index 00000000000..35dffd9ab59 --- /dev/null +++ b/libjava/java/security/CodeSource.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_CodeSource__ +#define __java_security_CodeSource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class CodeSource; + namespace cert + { + class Certificate; + } + } + } +} + +class java::security::CodeSource : public ::java::lang::Object +{ + +public: + CodeSource(::java::net::URL *, JArray< ::java::security::cert::Certificate * > *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::net::URL * getLocation(); + virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); + virtual jboolean implies(::java::security::CodeSource *); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 4977541819976013951LL; + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) location; + ::java::util::HashSet * certs; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_CodeSource__ diff --git a/libjava/java/security/DigestException.h b/libjava/java/security/DigestException.h new file mode 100644 index 00000000000..d216415c915 --- /dev/null +++ b/libjava/java/security/DigestException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DigestException__ +#define __java_security_DigestException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class DigestException; + } + } +} + +class java::security::DigestException : public ::java::security::GeneralSecurityException +{ + +public: + DigestException(); + DigestException(::java::lang::String *); + DigestException(::java::lang::String *, ::java::lang::Throwable *); + DigestException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 5821450303093652515LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_DigestException__ diff --git a/libjava/java/security/DigestInputStream.h b/libjava/java/security/DigestInputStream.h new file mode 100644 index 00000000000..b112ad2c548 --- /dev/null +++ b/libjava/java/security/DigestInputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DigestInputStream__ +#define __java_security_DigestInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class DigestInputStream; + class MessageDigest; + } + } +} + +class java::security::DigestInputStream : public ::java::io::FilterInputStream +{ + +public: + DigestInputStream(::java::io::InputStream *, ::java::security::MessageDigest *); + virtual ::java::security::MessageDigest * getMessageDigest(); + virtual void setMessageDigest(::java::security::MessageDigest *); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void on(jboolean); + virtual ::java::lang::String * toString(); +public: // actually protected + ::java::security::MessageDigest * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) digest; +private: + jboolean state; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_DigestInputStream__ diff --git a/libjava/java/security/DigestOutputStream.h b/libjava/java/security/DigestOutputStream.h new file mode 100644 index 00000000000..5c1605c76f7 --- /dev/null +++ b/libjava/java/security/DigestOutputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DigestOutputStream__ +#define __java_security_DigestOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class DigestOutputStream; + class MessageDigest; + } + } +} + +class java::security::DigestOutputStream : public ::java::io::FilterOutputStream +{ + +public: + DigestOutputStream(::java::io::OutputStream *, ::java::security::MessageDigest *); + virtual ::java::security::MessageDigest * getMessageDigest(); + virtual void setMessageDigest(::java::security::MessageDigest *); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void on(jboolean); + virtual ::java::lang::String * toString(); +public: // actually protected + ::java::security::MessageDigest * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) digest; +private: + jboolean state; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_DigestOutputStream__ diff --git a/libjava/java/security/DomainCombiner.h b/libjava/java/security/DomainCombiner.h new file mode 100644 index 00000000000..18906b929b0 --- /dev/null +++ b/libjava/java/security/DomainCombiner.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DomainCombiner__ +#define __java_security_DomainCombiner__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class DomainCombiner; + class ProtectionDomain; + } + } +} + +class java::security::DomainCombiner : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::security::ProtectionDomain * > * combine(JArray< ::java::security::ProtectionDomain * > *, JArray< ::java::security::ProtectionDomain * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_DomainCombiner__ diff --git a/libjava/java/security/DummyKeyPairGenerator.h b/libjava/java/security/DummyKeyPairGenerator.h new file mode 100644 index 00000000000..c0f35818b54 --- /dev/null +++ b/libjava/java/security/DummyKeyPairGenerator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DummyKeyPairGenerator__ +#define __java_security_DummyKeyPairGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class DummyKeyPairGenerator; + class KeyPair; + class KeyPairGeneratorSpi; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::DummyKeyPairGenerator : public ::java::security::KeyPairGenerator +{ + +public: + DummyKeyPairGenerator(::java::security::KeyPairGeneratorSpi *, ::java::lang::String *); + ::java::lang::Object * clone(); + void initialize(jint, ::java::security::SecureRandom *); + void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + ::java::security::KeyPair * generateKeyPair(); +private: + ::java::security::KeyPairGeneratorSpi * __attribute__((aligned(__alignof__( ::java::security::KeyPairGenerator)))) kpgSpi; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_DummyKeyPairGenerator__ diff --git a/libjava/java/security/DummyMessageDigest.h b/libjava/java/security/DummyMessageDigest.h new file mode 100644 index 00000000000..431096dfe6b --- /dev/null +++ b/libjava/java/security/DummyMessageDigest.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DummyMessageDigest__ +#define __java_security_DummyMessageDigest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class DummyMessageDigest; + class MessageDigestSpi; + } + } +} + +class java::security::DummyMessageDigest : public ::java::security::MessageDigest +{ + +public: + DummyMessageDigest(::java::security::MessageDigestSpi *, ::java::lang::String *); + ::java::lang::Object * clone(); + JArray< jbyte > * engineDigest(); + jint engineDigest(JArray< jbyte > *, jint, jint); + jint engineGetDigestLength(); + void engineReset(); + void engineUpdate(jbyte); + void engineUpdate(JArray< jbyte > *, jint, jint); +private: + ::java::security::MessageDigestSpi * __attribute__((aligned(__alignof__( ::java::security::MessageDigest)))) mdSpi; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_DummyMessageDigest__ diff --git a/libjava/java/security/DummySignature.h b/libjava/java/security/DummySignature.h new file mode 100644 index 00000000000..34547473fed --- /dev/null +++ b/libjava/java/security/DummySignature.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_DummySignature__ +#define __java_security_DummySignature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class DummySignature; + class PrivateKey; + class PublicKey; + class SignatureSpi; + } + } +} + +class java::security::DummySignature : public ::java::security::Signature +{ + +public: + DummySignature(::java::security::SignatureSpi *, ::java::lang::String *); + ::java::lang::Object * clone(); +public: // actually protected + void engineInitVerify(::java::security::PublicKey *); + void engineInitSign(::java::security::PrivateKey *); + void engineUpdate(jbyte); + void engineUpdate(JArray< jbyte > *, jint, jint); + JArray< jbyte > * engineSign(); + jboolean engineVerify(JArray< jbyte > *); + void engineSetParameter(::java::lang::String *, ::java::lang::Object *); + ::java::lang::Object * engineGetParameter(::java::lang::String *); +private: + ::java::security::SignatureSpi * __attribute__((aligned(__alignof__( ::java::security::Signature)))) sigSpi; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_DummySignature__ diff --git a/libjava/java/security/GeneralSecurityException.h b/libjava/java/security/GeneralSecurityException.h new file mode 100644 index 00000000000..6b309b5ebeb --- /dev/null +++ b/libjava/java/security/GeneralSecurityException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_GeneralSecurityException__ +#define __java_security_GeneralSecurityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class GeneralSecurityException; + } + } +} + +class java::security::GeneralSecurityException : public ::java::lang::Exception +{ + +public: + GeneralSecurityException(); + GeneralSecurityException(::java::lang::String *); + GeneralSecurityException(::java::lang::String *, ::java::lang::Throwable *); + GeneralSecurityException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 894798122053539237LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_GeneralSecurityException__ diff --git a/libjava/java/security/Guard.h b/libjava/java/security/Guard.h new file mode 100644 index 00000000000..07cc6437d86 --- /dev/null +++ b/libjava/java/security/Guard.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Guard__ +#define __java_security_Guard__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Guard; + } + } +} + +class java::security::Guard : public ::java::lang::Object +{ + +public: + virtual void checkGuard(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_Guard__ diff --git a/libjava/java/security/GuardedObject.h b/libjava/java/security/GuardedObject.h new file mode 100644 index 00000000000..379651249b2 --- /dev/null +++ b/libjava/java/security/GuardedObject.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_GuardedObject__ +#define __java_security_GuardedObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Guard; + class GuardedObject; + } + } +} + +class java::security::GuardedObject : public ::java::lang::Object +{ + +public: + GuardedObject(::java::lang::Object *, ::java::security::Guard *); + virtual ::java::lang::Object * getObject(); +private: + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -5240450096227834308LL; + ::java::security::Guard * __attribute__((aligned(__alignof__( ::java::lang::Object)))) guard; + ::java::lang::Object * object; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_GuardedObject__ diff --git a/libjava/java/security/Identity.h b/libjava/java/security/Identity.h new file mode 100644 index 00000000000..8208e7ff67e --- /dev/null +++ b/libjava/java/security/Identity.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Identity__ +#define __java_security_Identity__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Certificate; + class Identity; + class IdentityScope; + class PublicKey; + } + } +} + +class java::security::Identity : public ::java::lang::Object +{ + +public: // actually protected + Identity(); +public: + Identity(::java::lang::String *, ::java::security::IdentityScope *); + Identity(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::java::security::IdentityScope * getScope(); + virtual ::java::security::PublicKey * getPublicKey(); + virtual void setPublicKey(::java::security::PublicKey *); + virtual void setInfo(::java::lang::String *); + virtual ::java::lang::String * getInfo(); + virtual void addCertificate(::java::security::Certificate *); + virtual void removeCertificate(::java::security::Certificate *); + virtual JArray< ::java::security::Certificate * > * certificates(); + virtual jboolean equals(::java::lang::Object *); +public: // actually protected + virtual jboolean identityEquals(::java::security::Identity *); +public: + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(jboolean); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = 3609922007826600659LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::security::IdentityScope * scope; + ::java::security::PublicKey * publicKey; + ::java::lang::String * info; + ::java::util::Vector * certificates__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Identity__ diff --git a/libjava/java/security/IdentityScope.h b/libjava/java/security/IdentityScope.h new file mode 100644 index 00000000000..90a49303121 --- /dev/null +++ b/libjava/java/security/IdentityScope.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_IdentityScope__ +#define __java_security_IdentityScope__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Identity; + class IdentityScope; + class Principal; + class PublicKey; + } + } +} + +class java::security::IdentityScope : public ::java::security::Identity +{ + +public: // actually protected + IdentityScope(); +public: + IdentityScope(::java::lang::String *); + IdentityScope(::java::lang::String *, ::java::security::IdentityScope *); + static ::java::security::IdentityScope * getSystemScope(); +public: // actually protected + static void setSystemScope(::java::security::IdentityScope *); +public: + virtual jint size() = 0; + virtual ::java::security::Identity * getIdentity(::java::lang::String *) = 0; + virtual ::java::security::Identity * getIdentity(::java::security::Principal *); + virtual ::java::security::Identity * getIdentity(::java::security::PublicKey *) = 0; + virtual void addIdentity(::java::security::Identity *) = 0; + virtual void removeIdentity(::java::security::Identity *) = 0; + virtual ::java::util::Enumeration * identities() = 0; + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -2337346281189773310LL; + static ::java::security::IdentityScope * systemScope; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_IdentityScope__ diff --git a/libjava/java/security/IntersectingDomainCombiner.h b/libjava/java/security/IntersectingDomainCombiner.h new file mode 100644 index 00000000000..f192c261511 --- /dev/null +++ b/libjava/java/security/IntersectingDomainCombiner.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_IntersectingDomainCombiner__ +#define __java_security_IntersectingDomainCombiner__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class IntersectingDomainCombiner; + class ProtectionDomain; + } + } +} + +class java::security::IntersectingDomainCombiner : public ::java::lang::Object +{ + + IntersectingDomainCombiner(); +public: + JArray< ::java::security::ProtectionDomain * > * combine(JArray< ::java::security::ProtectionDomain * > *, JArray< ::java::security::ProtectionDomain * > *); +public: // actually package-private + static ::java::security::IntersectingDomainCombiner * SINGLETON; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_IntersectingDomainCombiner__ diff --git a/libjava/java/security/InvalidAlgorithmParameterException.h b/libjava/java/security/InvalidAlgorithmParameterException.h new file mode 100644 index 00000000000..8ff0d7ed314 --- /dev/null +++ b/libjava/java/security/InvalidAlgorithmParameterException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_InvalidAlgorithmParameterException__ +#define __java_security_InvalidAlgorithmParameterException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class InvalidAlgorithmParameterException; + } + } +} + +class java::security::InvalidAlgorithmParameterException : public ::java::security::GeneralSecurityException +{ + +public: + InvalidAlgorithmParameterException(); + InvalidAlgorithmParameterException(::java::lang::String *); + InvalidAlgorithmParameterException(::java::lang::String *, ::java::lang::Throwable *); + InvalidAlgorithmParameterException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 2864672297499471472LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_InvalidAlgorithmParameterException__ diff --git a/libjava/java/security/InvalidKeyException.h b/libjava/java/security/InvalidKeyException.h new file mode 100644 index 00000000000..f79473c40bc --- /dev/null +++ b/libjava/java/security/InvalidKeyException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_InvalidKeyException__ +#define __java_security_InvalidKeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class InvalidKeyException; + } + } +} + +class java::security::InvalidKeyException : public ::java::security::KeyException +{ + +public: + InvalidKeyException(); + InvalidKeyException(::java::lang::String *); + InvalidKeyException(::java::lang::String *, ::java::lang::Throwable *); + InvalidKeyException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 5698479920593359816LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_InvalidKeyException__ diff --git a/libjava/java/security/InvalidParameterException.h b/libjava/java/security/InvalidParameterException.h new file mode 100644 index 00000000000..fd9c9a73279 --- /dev/null +++ b/libjava/java/security/InvalidParameterException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_InvalidParameterException__ +#define __java_security_InvalidParameterException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class InvalidParameterException; + } + } +} + +class java::security::InvalidParameterException : public ::java::lang::IllegalArgumentException +{ + +public: + InvalidParameterException(); + InvalidParameterException(::java::lang::String *); +private: + static const jlong serialVersionUID = -857968536935667808LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_InvalidParameterException__ diff --git a/libjava/java/security/Key.h b/libjava/java/security/Key.h new file mode 100644 index 00000000000..630f8123b0f --- /dev/null +++ b/libjava/java/security/Key.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Key__ +#define __java_security_Key__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + } + } +} + +class java::security::Key : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = 6603384152749567654LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_Key__ diff --git a/libjava/java/security/KeyException.h b/libjava/java/security/KeyException.h new file mode 100644 index 00000000000..0d3ce513843 --- /dev/null +++ b/libjava/java/security/KeyException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyException__ +#define __java_security_KeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyException; + } + } +} + +class java::security::KeyException : public ::java::security::GeneralSecurityException +{ + +public: + KeyException(); + KeyException(::java::lang::String *); + KeyException(::java::lang::String *, ::java::lang::Throwable *); + KeyException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -7483676942812432108LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyException__ diff --git a/libjava/java/security/KeyFactory.h b/libjava/java/security/KeyFactory.h new file mode 100644 index 00000000000..adcec17f7ab --- /dev/null +++ b/libjava/java/security/KeyFactory.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyFactory__ +#define __java_security_KeyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + class KeyFactory; + class KeyFactorySpi; + class PrivateKey; + class Provider; + class PublicKey; + namespace spec + { + class KeySpec; + } + } + } +} + +class java::security::KeyFactory : public ::java::lang::Object +{ + +public: // actually protected + KeyFactory(::java::security::KeyFactorySpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::security::KeyFactory * getInstance(::java::lang::String *); + static ::java::security::KeyFactory * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::KeyFactory * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::PublicKey * generatePublic(::java::security::spec::KeySpec *); + virtual ::java::security::PrivateKey * generatePrivate(::java::security::spec::KeySpec *); + virtual ::java::security::spec::KeySpec * getKeySpec(::java::security::Key *, ::java::lang::Class *); + virtual ::java::security::Key * translateKey(::java::security::Key *); +private: + static ::java::lang::String * KEY_FACTORY; + ::java::security::KeyFactorySpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keyFacSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyFactory__ diff --git a/libjava/java/security/KeyFactorySpi.h b/libjava/java/security/KeyFactorySpi.h new file mode 100644 index 00000000000..518893b59a6 --- /dev/null +++ b/libjava/java/security/KeyFactorySpi.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyFactorySpi__ +#define __java_security_KeyFactorySpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + class KeyFactorySpi; + class PrivateKey; + class PublicKey; + namespace spec + { + class KeySpec; + } + } + } +} + +class java::security::KeyFactorySpi : public ::java::lang::Object +{ + +public: + KeyFactorySpi(); +public: // actually protected + virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *) = 0; + virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *) = 0; + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *) = 0; + virtual ::java::security::Key * engineTranslateKey(::java::security::Key *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyFactorySpi__ diff --git a/libjava/java/security/KeyManagementException.h b/libjava/java/security/KeyManagementException.h new file mode 100644 index 00000000000..20d6964f98d --- /dev/null +++ b/libjava/java/security/KeyManagementException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyManagementException__ +#define __java_security_KeyManagementException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyManagementException; + } + } +} + +class java::security::KeyManagementException : public ::java::security::KeyException +{ + +public: + KeyManagementException(); + KeyManagementException(::java::lang::String *); + KeyManagementException(::java::lang::String *, ::java::lang::Throwable *); + KeyManagementException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 947674216157062695LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyManagementException__ diff --git a/libjava/java/security/KeyPair.h b/libjava/java/security/KeyPair.h new file mode 100644 index 00000000000..c6c607bb0e6 --- /dev/null +++ b/libjava/java/security/KeyPair.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyPair__ +#define __java_security_KeyPair__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyPair; + class PrivateKey; + class PublicKey; + } + } +} + +class java::security::KeyPair : public ::java::lang::Object +{ + +public: + KeyPair(::java::security::PublicKey *, ::java::security::PrivateKey *); + ::java::security::PublicKey * getPublic(); + ::java::security::PrivateKey * getPrivate(); +private: + static const jlong serialVersionUID = -7565189502268009837LL; + ::java::security::PublicKey * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicKey; + ::java::security::PrivateKey * privateKey; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyPair__ diff --git a/libjava/java/security/KeyPairGenerator.h b/libjava/java/security/KeyPairGenerator.h new file mode 100644 index 00000000000..f1bef60c54c --- /dev/null +++ b/libjava/java/security/KeyPairGenerator.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyPairGenerator__ +#define __java_security_KeyPairGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyPair; + class KeyPairGenerator; + class Provider; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::KeyPairGenerator : public ::java::security::KeyPairGeneratorSpi +{ + +public: // actually protected + KeyPairGenerator(::java::lang::String *); +public: + virtual ::java::lang::String * getAlgorithm(); + static ::java::security::KeyPairGenerator * getInstance(::java::lang::String *); + static ::java::security::KeyPairGenerator * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::KeyPairGenerator * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual void initialize(jint); + virtual void initialize(jint, ::java::security::SecureRandom *); + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *); + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual ::java::security::KeyPair * genKeyPair(); + virtual ::java::security::KeyPair * generateKeyPair(); +private: + static ::java::lang::String * KEY_PAIR_GENERATOR; +public: // actually package-private + ::java::security::Provider * __attribute__((aligned(__alignof__( ::java::security::KeyPairGeneratorSpi)))) provider; +private: + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyPairGenerator__ diff --git a/libjava/java/security/KeyPairGeneratorSpi.h b/libjava/java/security/KeyPairGeneratorSpi.h new file mode 100644 index 00000000000..0aa4389e5eb --- /dev/null +++ b/libjava/java/security/KeyPairGeneratorSpi.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyPairGeneratorSpi__ +#define __java_security_KeyPairGeneratorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyPair; + class KeyPairGeneratorSpi; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::KeyPairGeneratorSpi : public ::java::lang::Object +{ + +public: + KeyPairGeneratorSpi(); + virtual void initialize(jint, ::java::security::SecureRandom *) = 0; + virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual ::java::security::KeyPair * generateKeyPair() = 0; +public: // actually protected + virtual ::java::lang::Object * clone(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyPairGeneratorSpi__ diff --git a/libjava/java/security/KeyStore.h b/libjava/java/security/KeyStore.h new file mode 100644 index 00000000000..80f79814aa4 --- /dev/null +++ b/libjava/java/security/KeyStore.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyStore__ +#define __java_security_KeyStore__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + class KeyStore; + class KeyStoreSpi; + class Provider; + namespace cert + { + class Certificate; + } + } + } +} + +class java::security::KeyStore : public ::java::lang::Object +{ + +public: // actually protected + KeyStore(::java::security::KeyStoreSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::security::KeyStore * getInstance(::java::lang::String *); + static ::java::security::KeyStore * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::KeyStore * getInstance(::java::lang::String *, ::java::security::Provider *); + static ::java::lang::String * getDefaultType(); + virtual ::java::security::Provider * getProvider(); + virtual ::java::lang::String * getType(); + virtual ::java::security::Key * getKey(::java::lang::String *, JArray< jchar > *); + virtual JArray< ::java::security::cert::Certificate * > * getCertificateChain(::java::lang::String *); + virtual ::java::security::cert::Certificate * getCertificate(::java::lang::String *); + virtual ::java::util::Date * getCreationDate(::java::lang::String *); + virtual void setKeyEntry(::java::lang::String *, ::java::security::Key *, JArray< jchar > *, JArray< ::java::security::cert::Certificate * > *); + virtual void setKeyEntry(::java::lang::String *, JArray< jbyte > *, JArray< ::java::security::cert::Certificate * > *); + virtual void setCertificateEntry(::java::lang::String *, ::java::security::cert::Certificate *); + virtual void deleteEntry(::java::lang::String *); + virtual ::java::util::Enumeration * aliases(); + virtual jboolean containsAlias(::java::lang::String *); + virtual jint size(); + virtual jboolean isKeyEntry(::java::lang::String *); + virtual jboolean isCertificateEntry(::java::lang::String *); + virtual ::java::lang::String * getCertificateAlias(::java::security::cert::Certificate *); + virtual void store(::java::io::OutputStream *, JArray< jchar > *); + virtual void load(::java::io::InputStream *, JArray< jchar > *); +private: + static ::java::lang::String * KEY_STORE; + ::java::security::KeyStoreSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keyStoreSpi; + ::java::security::Provider * provider; + ::java::lang::String * type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyStore__ diff --git a/libjava/java/security/KeyStoreException.h b/libjava/java/security/KeyStoreException.h new file mode 100644 index 00000000000..e056a68a7bc --- /dev/null +++ b/libjava/java/security/KeyStoreException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyStoreException__ +#define __java_security_KeyStoreException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStoreException; + } + } +} + +class java::security::KeyStoreException : public ::java::security::GeneralSecurityException +{ + +public: + KeyStoreException(); + KeyStoreException(::java::lang::String *); + KeyStoreException(::java::lang::String *, ::java::lang::Throwable *); + KeyStoreException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -1119353179322377262LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyStoreException__ diff --git a/libjava/java/security/KeyStoreSpi.h b/libjava/java/security/KeyStoreSpi.h new file mode 100644 index 00000000000..054cea6f125 --- /dev/null +++ b/libjava/java/security/KeyStoreSpi.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_KeyStoreSpi__ +#define __java_security_KeyStoreSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + class KeyStoreSpi; + namespace cert + { + class Certificate; + } + } + } +} + +class java::security::KeyStoreSpi : public ::java::lang::Object +{ + +public: + KeyStoreSpi(); + virtual ::java::security::Key * engineGetKey(::java::lang::String *, JArray< jchar > *) = 0; + virtual JArray< ::java::security::cert::Certificate * > * engineGetCertificateChain(::java::lang::String *) = 0; + virtual ::java::security::cert::Certificate * engineGetCertificate(::java::lang::String *) = 0; + virtual ::java::util::Date * engineGetCreationDate(::java::lang::String *) = 0; + virtual void engineSetKeyEntry(::java::lang::String *, ::java::security::Key *, JArray< jchar > *, JArray< ::java::security::cert::Certificate * > *) = 0; + virtual void engineSetKeyEntry(::java::lang::String *, JArray< jbyte > *, JArray< ::java::security::cert::Certificate * > *) = 0; + virtual void engineSetCertificateEntry(::java::lang::String *, ::java::security::cert::Certificate *) = 0; + virtual void engineDeleteEntry(::java::lang::String *) = 0; + virtual ::java::util::Enumeration * engineAliases() = 0; + virtual jboolean engineContainsAlias(::java::lang::String *) = 0; + virtual jint engineSize() = 0; + virtual jboolean engineIsKeyEntry(::java::lang::String *) = 0; + virtual jboolean engineIsCertificateEntry(::java::lang::String *) = 0; + virtual ::java::lang::String * engineGetCertificateAlias(::java::security::cert::Certificate *) = 0; + virtual void engineStore(::java::io::OutputStream *, JArray< jchar > *) = 0; + virtual void engineLoad(::java::io::InputStream *, JArray< jchar > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_KeyStoreSpi__ diff --git a/libjava/java/security/MessageDigest.h b/libjava/java/security/MessageDigest.h new file mode 100644 index 00000000000..5cd6cf3b1a5 --- /dev/null +++ b/libjava/java/security/MessageDigest.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_MessageDigest__ +#define __java_security_MessageDigest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class MessageDigest; + class Provider; + } + } +} + +class java::security::MessageDigest : public ::java::security::MessageDigestSpi +{ + +public: // actually protected + MessageDigest(::java::lang::String *); +public: + static ::java::security::MessageDigest * getInstance(::java::lang::String *); + static ::java::security::MessageDigest * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::MessageDigest * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *, jint, jint); + virtual void update(JArray< jbyte > *); + virtual void update(::java::nio::ByteBuffer *); + virtual JArray< jbyte > * digest(); + virtual jint digest(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * digest(JArray< jbyte > *); + virtual ::java::lang::String * toString(); + static jboolean isEqual(JArray< jbyte > *, JArray< jbyte > *); + virtual void reset(); + virtual ::java::lang::String * getAlgorithm(); + virtual jint getDigestLength(); + virtual ::java::lang::Object * clone(); +private: + ::java::lang::String * digestToString(); + static ::java::lang::String * MESSAGE_DIGEST; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::security::MessageDigestSpi)))) algorithm; +public: // actually package-private + ::java::security::Provider * provider; +private: + JArray< jbyte > * lastDigest; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_MessageDigest__ diff --git a/libjava/java/security/MessageDigestSpi.h b/libjava/java/security/MessageDigestSpi.h new file mode 100644 index 00000000000..fea06bf497e --- /dev/null +++ b/libjava/java/security/MessageDigestSpi.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_MessageDigestSpi__ +#define __java_security_MessageDigestSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class MessageDigestSpi; + } + } +} + +class java::security::MessageDigestSpi : public ::java::lang::Object +{ + +public: + MessageDigestSpi(); +public: // actually protected + virtual jint engineGetDigestLength(); + virtual void engineUpdate(jbyte) = 0; + virtual void engineUpdate(JArray< jbyte > *, jint, jint) = 0; + virtual void engineUpdate(::java::nio::ByteBuffer *); + virtual JArray< jbyte > * engineDigest() = 0; + virtual jint engineDigest(JArray< jbyte > *, jint, jint); + virtual void engineReset() = 0; +public: + virtual ::java::lang::Object * clone(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_MessageDigestSpi__ diff --git a/libjava/java/security/NoSuchAlgorithmException.h b/libjava/java/security/NoSuchAlgorithmException.h new file mode 100644 index 00000000000..413821e727a --- /dev/null +++ b/libjava/java/security/NoSuchAlgorithmException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_NoSuchAlgorithmException__ +#define __java_security_NoSuchAlgorithmException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class NoSuchAlgorithmException; + } + } +} + +class java::security::NoSuchAlgorithmException : public ::java::security::GeneralSecurityException +{ + +public: + NoSuchAlgorithmException(); + NoSuchAlgorithmException(::java::lang::String *); + NoSuchAlgorithmException(::java::lang::String *, ::java::lang::Throwable *); + NoSuchAlgorithmException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -7443947487218346562LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_NoSuchAlgorithmException__ diff --git a/libjava/java/security/NoSuchProviderException.h b/libjava/java/security/NoSuchProviderException.h new file mode 100644 index 00000000000..16878c33712 --- /dev/null +++ b/libjava/java/security/NoSuchProviderException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_NoSuchProviderException__ +#define __java_security_NoSuchProviderException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class NoSuchProviderException; + } + } +} + +class java::security::NoSuchProviderException : public ::java::security::GeneralSecurityException +{ + +public: + NoSuchProviderException(); + NoSuchProviderException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8488111756688534474LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_NoSuchProviderException__ diff --git a/libjava/java/security/Permission.h b/libjava/java/security/Permission.h new file mode 100644 index 00000000000..c565f2b58e9 --- /dev/null +++ b/libjava/java/security/Permission.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Permission__ +#define __java_security_Permission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } +} + +class java::security::Permission : public ::java::lang::Object +{ + +public: + Permission(::java::lang::String *); + virtual void checkGuard(::java::lang::Object *); + virtual jboolean implies(::java::security::Permission *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getActions() = 0; + virtual ::java::security::PermissionCollection * newPermissionCollection(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -5636570222231596674LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Permission__ diff --git a/libjava/java/security/PermissionCollection.h b/libjava/java/security/PermissionCollection.h new file mode 100644 index 00000000000..868c23e0e4e --- /dev/null +++ b/libjava/java/security/PermissionCollection.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_PermissionCollection__ +#define __java_security_PermissionCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } +} + +class java::security::PermissionCollection : public ::java::lang::Object +{ + +public: + PermissionCollection(); + virtual void add(::java::security::Permission *) = 0; + virtual jboolean implies(::java::security::Permission *) = 0; + virtual ::java::util::Enumeration * elements() = 0; + virtual void setReadOnly(); + virtual jboolean isReadOnly(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6727011328946861783LL; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) readOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_PermissionCollection__ diff --git a/libjava/java/security/Permissions$1.h b/libjava/java/security/Permissions$1.h new file mode 100644 index 00000000000..d14b456d1f8 --- /dev/null +++ b/libjava/java/security/Permissions$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Permissions$1__ +#define __java_security_Permissions$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permissions; + class Permissions$1; + } + } +} + +class java::security::Permissions$1 : public ::java::lang::Object +{ + +public: // actually package-private + Permissions$1(::java::security::Permissions *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::Enumeration * __attribute__((aligned(__alignof__( ::java::lang::Object)))) main_enum; + ::java::util::Enumeration * sub_enum; + ::java::security::Permissions * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Permissions$1__ diff --git a/libjava/java/security/Permissions$PermissionsHash.h b/libjava/java/security/Permissions$PermissionsHash.h new file mode 100644 index 00000000000..870065a4bd3 --- /dev/null +++ b/libjava/java/security/Permissions$PermissionsHash.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Permissions$PermissionsHash__ +#define __java_security_Permissions$PermissionsHash__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class Permissions$PermissionsHash; + } + } +} + +class java::security::Permissions$PermissionsHash : public ::java::security::PermissionCollection +{ + + Permissions$PermissionsHash(); +public: + void add(::java::security::Permission *); + jboolean implies(::java::security::Permission *); + ::java::util::Enumeration * elements(); +public: // actually package-private + Permissions$PermissionsHash(::java::security::Permissions$PermissionsHash *); +private: + static const jlong serialVersionUID = -8491988220802933440LL; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) perms; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Permissions$PermissionsHash__ diff --git a/libjava/java/security/Permissions.h b/libjava/java/security/Permissions.h new file mode 100644 index 00000000000..5484fa980f9 --- /dev/null +++ b/libjava/java/security/Permissions.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Permissions__ +#define __java_security_Permissions__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + class Permissions; + } + } +} + +class java::security::Permissions : public ::java::security::PermissionCollection +{ + +public: + Permissions(); + void add(::java::security::Permission *); + jboolean implies(::java::security::Permission *); + ::java::util::Enumeration * elements(); +private: + static const jlong serialVersionUID = 4858622370623524688LL; + ::java::security::PermissionCollection * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) allPermission; +public: // actually package-private + ::java::util::Hashtable * perms; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Permissions__ diff --git a/libjava/java/security/Policy.h b/libjava/java/security/Policy.h new file mode 100644 index 00000000000..11620954484 --- /dev/null +++ b/libjava/java/security/Policy.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Policy__ +#define __java_security_Policy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class CodeSource; + class Permission; + class PermissionCollection; + class Policy; + class ProtectionDomain; + } + } +} + +class java::security::Policy : public ::java::lang::Object +{ + +public: + Policy(); + static ::java::security::Policy * getPolicy(); + static void setPolicy(::java::security::Policy *); +private: + static void setup(::java::security::Policy *); +public: // actually package-private + static ::java::security::Policy * getCurrentPolicy(); + static jboolean isLoaded(); +public: + virtual ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *) = 0; + virtual ::java::security::PermissionCollection * getPermissions(::java::security::ProtectionDomain *); + virtual jboolean implies(::java::security::ProtectionDomain *, ::java::security::Permission *); + virtual void refresh() = 0; +private: + static ::java::security::Policy * currentPolicy; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pd2pc; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Policy__ diff --git a/libjava/java/security/Principal.h b/libjava/java/security/Principal.h new file mode 100644 index 00000000000..e3cfb312677 --- /dev/null +++ b/libjava/java/security/Principal.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Principal__ +#define __java_security_Principal__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + } + } +} + +class java::security::Principal : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::String * toString() = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_Principal__ diff --git a/libjava/java/security/PrivateKey.h b/libjava/java/security/PrivateKey.h new file mode 100644 index 00000000000..2be7e63955e --- /dev/null +++ b/libjava/java/security/PrivateKey.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_PrivateKey__ +#define __java_security_PrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class PrivateKey; + } + } +} + +class java::security::PrivateKey : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = 6034044314589513430LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_PrivateKey__ diff --git a/libjava/java/security/PrivilegedAction.h b/libjava/java/security/PrivilegedAction.h new file mode 100644 index 00000000000..17481fd002a --- /dev/null +++ b/libjava/java/security/PrivilegedAction.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_PrivilegedAction__ +#define __java_security_PrivilegedAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivilegedAction; + } + } +} + +class java::security::PrivilegedAction : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * run() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_PrivilegedAction__ diff --git a/libjava/java/security/PrivilegedActionException.h b/libjava/java/security/PrivilegedActionException.h new file mode 100644 index 00000000000..165a1c59752 --- /dev/null +++ b/libjava/java/security/PrivilegedActionException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_PrivilegedActionException__ +#define __java_security_PrivilegedActionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivilegedActionException; + } + } +} + +class java::security::PrivilegedActionException : public ::java::lang::Exception +{ + +public: + PrivilegedActionException(::java::lang::Exception *); + virtual ::java::lang::Exception * getException(); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4724086851538908602LL; + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_PrivilegedActionException__ diff --git a/libjava/java/security/PrivilegedExceptionAction.h b/libjava/java/security/PrivilegedExceptionAction.h new file mode 100644 index 00000000000..bfb3046e567 --- /dev/null +++ b/libjava/java/security/PrivilegedExceptionAction.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_PrivilegedExceptionAction__ +#define __java_security_PrivilegedExceptionAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivilegedExceptionAction; + } + } +} + +class java::security::PrivilegedExceptionAction : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * run() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_PrivilegedExceptionAction__ diff --git a/libjava/java/security/ProtectionDomain.h b/libjava/java/security/ProtectionDomain.h new file mode 100644 index 00000000000..7f204667a85 --- /dev/null +++ b/libjava/java/security/ProtectionDomain.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_ProtectionDomain__ +#define __java_security_ProtectionDomain__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class CodeSource; + class Permission; + class PermissionCollection; + class Principal; + class ProtectionDomain; + } + } +} + +class java::security::ProtectionDomain : public ::java::lang::Object +{ + +public: + ProtectionDomain(::java::security::CodeSource *, ::java::security::PermissionCollection *); + ProtectionDomain(::java::security::CodeSource *, ::java::security::PermissionCollection *, ::java::lang::ClassLoader *, JArray< ::java::security::Principal * > *); +private: + ProtectionDomain(::java::security::CodeSource *, ::java::security::PermissionCollection *, ::java::lang::ClassLoader *, JArray< ::java::security::Principal * > *, jboolean); +public: + virtual ::java::security::CodeSource * getCodeSource(); + virtual ::java::lang::ClassLoader * getClassLoader(); + virtual JArray< ::java::security::Principal * > * getPrincipals(); + virtual ::java::security::PermissionCollection * getPermissions(); + virtual jboolean implies(::java::security::Permission *); + virtual ::java::lang::String * toString(); +private: + ::java::security::CodeSource * __attribute__((aligned(__alignof__( ::java::lang::Object)))) code_source; + ::java::security::PermissionCollection * perms; + ::java::lang::ClassLoader * classloader; + JArray< ::java::security::Principal * > * principals; + jboolean staticBinding; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_ProtectionDomain__ diff --git a/libjava/java/security/Provider.h b/libjava/java/security/Provider.h new file mode 100644 index 00000000000..5954805f8d0 --- /dev/null +++ b/libjava/java/security/Provider.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Provider__ +#define __java_security_Provider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + } + } +} + +class java::security::Provider : public ::java::util::Properties +{ + +public: // actually protected + Provider(::java::lang::String *, jdouble, ::java::lang::String *); +public: + virtual ::java::lang::String * getName(); + virtual jdouble getVersion(); + virtual ::java::lang::String * getInfo(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual void clear(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Object * toCanonicalKey(::java::lang::Object *); + static const jlong serialVersionUID = -4298000515446427739LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::Properties)))) info; + ::java::lang::String * name; + jdouble version; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Provider__ diff --git a/libjava/java/security/ProviderException.h b/libjava/java/security/ProviderException.h new file mode 100644 index 00000000000..843a100abdf --- /dev/null +++ b/libjava/java/security/ProviderException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_ProviderException__ +#define __java_security_ProviderException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class ProviderException; + } + } +} + +class java::security::ProviderException : public ::java::lang::RuntimeException +{ + +public: + ProviderException(); + ProviderException(::java::lang::String *); + ProviderException(::java::lang::String *, ::java::lang::Throwable *); + ProviderException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 5256023526693665674LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_ProviderException__ diff --git a/libjava/java/security/PublicKey.h b/libjava/java/security/PublicKey.h new file mode 100644 index 00000000000..6a2a72bd89a --- /dev/null +++ b/libjava/java/security/PublicKey.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_PublicKey__ +#define __java_security_PublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class PublicKey; + } + } +} + +class java::security::PublicKey : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = 7187392471159151072LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_PublicKey__ diff --git a/libjava/java/security/SecureClassLoader.h b/libjava/java/security/SecureClassLoader.h new file mode 100644 index 00000000000..c8431a7bc7f --- /dev/null +++ b/libjava/java/security/SecureClassLoader.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SecureClassLoader__ +#define __java_security_SecureClassLoader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class CodeSource; + class PermissionCollection; + class ProtectionDomain; + class SecureClassLoader; + } + } +} + +class java::security::SecureClassLoader : public ::java::lang::ClassLoader +{ + +public: // actually protected + SecureClassLoader(::java::lang::ClassLoader *); + SecureClassLoader(); + virtual ::java::lang::Class * defineClass(::java::lang::String *, JArray< jbyte > *, jint, jint, ::java::security::CodeSource *); + virtual ::java::lang::Class * defineClass(::java::lang::String *, ::java::nio::ByteBuffer *, ::java::security::CodeSource *); +private: + ::java::security::ProtectionDomain * getProtectionDomain(::java::security::CodeSource *); +public: // actually protected + virtual ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *); +private: + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::ClassLoader)))) protectionDomainCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SecureClassLoader__ diff --git a/libjava/java/security/SecureRandom.h b/libjava/java/security/SecureRandom.h new file mode 100644 index 00000000000..58561abbc1c --- /dev/null +++ b/libjava/java/security/SecureRandom.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SecureRandom__ +#define __java_security_SecureRandom__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + class SecureRandom; + class SecureRandomSpi; + } + } +} + +class java::security::SecureRandom : public ::java::util::Random +{ + +public: + SecureRandom(); + SecureRandom(JArray< jbyte > *); +public: // actually protected + SecureRandom(::java::security::SecureRandomSpi *, ::java::security::Provider *); +private: + SecureRandom(::java::security::SecureRandomSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::security::SecureRandom * getInstance(::java::lang::String *); + static ::java::security::SecureRandom * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::SecureRandom * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual ::java::lang::String * getAlgorithm(); + virtual void setSeed(JArray< jbyte > *); + virtual void setSeed(jlong); + virtual void nextBytes(JArray< jbyte > *); +public: // actually protected + virtual jint next(jint); +public: + static JArray< jbyte > * getSeed(jint); + virtual JArray< jbyte > * generateSeed(jint); +private: + static jint generateSeed(JArray< jbyte > *); + static jint generateSeed(JArray< jbyte > *, jint, jint); + static ::java::lang::String * SECURE_RANDOM; + static const jlong serialVersionUID = 4940670005562187LL; +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::util::Random)))) counter; + ::java::security::Provider * provider; + JArray< jbyte > * randomBytes; + jint randomBytesUsed; + ::java::security::SecureRandomSpi * secureRandomSpi; + JArray< jbyte > * state; +private: + ::java::lang::String * algorithm; + jboolean isSeeded; + static ::java::lang::String * SECURERANDOM_SOURCE; + static ::java::lang::String * JAVA_SECURITY_EGD; + static ::java::util::logging::Logger * logger; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SecureRandom__ diff --git a/libjava/java/security/SecureRandomSpi.h b/libjava/java/security/SecureRandomSpi.h new file mode 100644 index 00000000000..8b2b6d7d1da --- /dev/null +++ b/libjava/java/security/SecureRandomSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SecureRandomSpi__ +#define __java_security_SecureRandomSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class SecureRandomSpi; + } + } +} + +class java::security::SecureRandomSpi : public ::java::lang::Object +{ + +public: + SecureRandomSpi(); +public: // actually protected + virtual void engineSetSeed(JArray< jbyte > *) = 0; + virtual void engineNextBytes(JArray< jbyte > *) = 0; + virtual JArray< jbyte > * engineGenerateSeed(jint) = 0; +private: + static const jlong serialVersionUID = -2991854161009191830LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SecureRandomSpi__ diff --git a/libjava/java/security/Security.h b/libjava/java/security/Security.h new file mode 100644 index 00000000000..201c9957ded --- /dev/null +++ b/libjava/java/security/Security.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Security__ +#define __java_security_Security__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + class Security; + } + } +} + +class java::security::Security : public ::java::lang::Object +{ + + Security(); + static jboolean loadProviders(::java::lang::String *, ::java::lang::String *); +public: + static ::java::lang::String * getAlgorithmProperty(::java::lang::String *, ::java::lang::String *); + static jint insertProviderAt(::java::security::Provider *, jint); + static jint addProvider(::java::security::Provider *); + static void removeProvider(::java::lang::String *); + static JArray< ::java::security::Provider * > * getProviders(); + static ::java::security::Provider * getProvider(::java::lang::String *); + static ::java::lang::String * getProperty(::java::lang::String *); + static void setProperty(::java::lang::String *, ::java::lang::String *); + static ::java::util::Set * getAlgorithms(::java::lang::String *); + static JArray< ::java::security::Provider * > * getProviders(::java::lang::String *); + static JArray< ::java::security::Provider * > * getProviders(::java::util::Map *); +private: + static void selectProviders(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::LinkedHashSet *, ::java::util::LinkedHashSet *); + static jboolean provides(::java::security::Provider *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * ALG_ALIAS; + static ::java::util::Vector * providers; + static ::java::util::Properties * secprops; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Security__ diff --git a/libjava/java/security/Security.java b/libjava/java/security/Security.java deleted file mode 100644 index 630a55412db..00000000000 --- a/libjava/java/security/Security.java +++ /dev/null @@ -1,714 +0,0 @@ -/* Security.java --- Java base security class implementation - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006 - 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. */ - - -package java.security; - -import gnu.classpath.SystemProperties; - -import gnu.classpath.Configuration; -// GCJ LOCAL - We don't have VMStackWalker yet. -// import gnu.classpath.VMStackWalker; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.Vector; - -/** - * This class centralizes all security properties and common security methods. - * One of its primary uses is to manage security providers. - * - * @author Mark Benvenuto (ivymccough@worldnet.att.net) - */ -public final class Security -{ - private static final String ALG_ALIAS = "Alg.Alias."; - - private static Vector providers = new Vector(); - private static Properties secprops = new Properties(); - - static - { - String base = SystemProperties.getProperty("gnu.classpath.home.url"); - String vendor = SystemProperties.getProperty("gnu.classpath.vm.shortname"); - - // Try VM specific security file - boolean loaded = loadProviders (base, vendor); - - // Append classpath standard provider if possible - if (!loadProviders (base, "classpath") - && !loaded - && providers.size() == 0) - { - if (Configuration.DEBUG) - { - /* No providers found and both security files failed to - * load properly. Give a warning in case of DEBUG is - * enabled. Could be done with java.util.logging later. - */ - System.err.println - ("WARNING: could not properly read security provider files:"); - System.err.println - (" " + base + "/security/" + vendor - + ".security"); - System.err.println - (" " + base + "/security/" + "classpath" - + ".security"); - System.err.println - (" Falling back to standard GNU security provider"); - } - // Note that this matches our classpath.security file. - providers.addElement (new gnu.java.security.provider.Gnu()); - providers.addElement(new gnu.javax.crypto.jce.GnuCrypto()); - providers.addElement(new gnu.javax.crypto.jce.GnuSasl()); - providers.addElement(new gnu.javax.net.ssl.provider.Jessie()); - providers.addElement(new gnu.javax.security.auth.callback.GnuCallbacks()); - } - } - // This class can't be instantiated. - private Security() - { - } - - /** - * Tries to load the vender specific security providers from the given base - * URL. Returns true if the resource could be read and completely parsed - * successfully, false otherwise. - */ - private static boolean loadProviders(String baseUrl, String vendor) - { - if (baseUrl == null || vendor == null) - return false; - - boolean result = true; - String secfilestr = baseUrl + "/security/" + vendor + ".security"; - try - { - InputStream fin = new URL(secfilestr).openStream(); - secprops.load(fin); - - int i = 1; - String name; - while ((name = secprops.getProperty("security.provider." + i)) != null) - { - Exception exception = null; - try - { - ClassLoader sys = ClassLoader.getSystemClassLoader(); - providers.addElement(Class.forName(name, true, sys).newInstance()); - } - catch (ClassNotFoundException x) - { - exception = x; - } - catch (InstantiationException x) - { - exception = x; - } - catch (IllegalAccessException x) - { - exception = x; - } - - if (exception != null) - { - System.err.println ("WARNING: Error loading security provider " - + name + ": " + exception); - result = false; - } - i++; - } - } - catch (IOException ignored) - { - result = false; - } - - return result; - } - - /** - * Returns the value associated to a designated property name for a given - * algorithm. - * - * @param algName - * the algorithm name. - * @param propName - * the name of the property to return. - * @return the value of the specified property or null if none - * found. - * @deprecated Use the provider-based and algorithm-independent - * {@link AlgorithmParameters} and {@link KeyFactory} engine - * classes instead. - */ - public static String getAlgorithmProperty(String algName, String propName) - { - if (algName == null || propName == null) - return null; - - String property = String.valueOf(propName) + "." + String.valueOf(algName); - Provider p; - for (Iterator i = providers.iterator(); i.hasNext(); ) - { - p = (Provider) i.next(); - for (Iterator j = p.keySet().iterator(); j.hasNext(); ) - { - String key = (String) j.next(); - if (key.equalsIgnoreCase(property)) - return p.getProperty(key); - } - } - return null; - } - - /** - * Inserts a new designated {@link Provider} at a designated (1-based) - * position in the current list of installed {@link Provider}s, - * - * @param provider - * the new {@link Provider} to add. - * @param position - * the position (starting from 1) of where to install - * provider. - * @return the actual position, in the list of installed Providers. Returns - * -1 if provider was laready in the - * list. The actual position may be different than the desired - * position. - * @throws SecurityException - * if a {@link SecurityManager} is installed and it disallows this - * operation. - * @see #getProvider(String) - * @see #removeProvider(String) - * @see SecurityPermission - */ - public static int insertProviderAt(Provider provider, int position) - { - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkSecurityAccess("insertProvider." + provider.getName()); - - position--; - int max = providers.size (); - for (int i = 0; i < max; i++) - { - if (((Provider) providers.elementAt(i)).getName().equals(provider.getName())) - return -1; - } - - if (position < 0) - position = 0; - if (position > max) - position = max; - - providers.insertElementAt(provider, position); - - return position + 1; - } - - /** - * Appends the designated new {@link Provider} to the current list of - * installed {@link Provider}s. - * - * @param provider - * the new {@link Provider} to append. - * @return the position (starting from 1) of provider in the - * current list of {@link Provider}s, or -1 if - * provider was already there. - * @throws SecurityException - * if a {@link SecurityManager} is installed and it disallows this - * operation. - * @see #getProvider(String) - * @see #removeProvider(String) - * @see SecurityPermission - */ - public static int addProvider(Provider provider) - { - return insertProviderAt (provider, providers.size () + 1); - } - - /** - * Removes an already installed {@link Provider}, given its name, from the - * current list of installed {@link Provider}s. - * - * @param name - * the name of an already installed {@link Provider} to remove. - * @throws SecurityException - * if a {@link SecurityManager} is installed and it disallows this - * operation. - * @see #getProvider(String) - * @see #addProvider(Provider) - */ - public static void removeProvider(String name) - { - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkSecurityAccess("removeProvider." + name); - - int max = providers.size (); - for (int i = 0; i < max; i++) - { - if (((Provider) providers.elementAt(i)).getName().equals(name)) - { - providers.remove(i); - break; - } - } - } - - /** - * Returns the current list of installed {@link Provider}s as an array - * ordered according to their installation preference order. - * - * @return an array of all the installed providers. - */ - public static Provider[] getProviders() - { - Provider[] array = new Provider[providers.size ()]; - providers.copyInto (array); - return array; - } - - /** - * Returns an already installed {@link Provider} given its name. - * - * @param name - * the name of an already installed {@link Provider}. - * @return the {@link Provider} known by name. Returns - * null if the current list of {@link Provider}s does - * not include one named name. - * @see #removeProvider(String) - * @see #addProvider(Provider) - */ - public static Provider getProvider(String name) - { - if (name == null) - return null; - else - { - name = name.trim(); - if (name.length() == 0) - return null; - } - Provider p; - int max = providers.size (); - for (int i = 0; i < max; i++) - { - p = (Provider) providers.elementAt(i); - if (p.getName().equals(name)) - return p; - } - return null; - } - - /** - * Returns the value associated with a Security propery. - * - * @param key - * the key of the property to fetch. - * @return the value of the Security property associated with - * key. Returns null if no such property - * was found. - * @throws SecurityException - * if a {@link SecurityManager} is installed and it disallows this - * operation. - * @see #setProperty(String, String) - * @see SecurityPermission - */ - public static String getProperty(String key) - { - // GCJ LOCAL - We don't have VMStackWalker yet. - // XXX To prevent infinite recursion when the SecurityManager calls us, - // don't do a security check if the caller is trusted (by virtue of having - // been loaded by the bootstrap class loader). - SecurityManager sm = System.getSecurityManager(); - // if (sm != null && VMStackWalker.getCallingClassLoader() != null) - if (sm != null) - sm.checkSecurityAccess("getProperty." + key); - - return secprops.getProperty(key); - } - - /** - * Sets or changes a designated Security property to a designated value. - * - * @param key - * the name of the property to set. - * @param datum - * the new value of the property. - * @throws SecurityException - * if a {@link SecurityManager} is installed and it disallows this - * operation. - * @see #getProperty(String) - * @see SecurityPermission - */ - public static void setProperty(String key, String datum) - { - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkSecurityAccess("setProperty." + key); - - if (datum == null) - secprops.remove(key); - else - secprops.put(key, datum); - } - - /** - * For a given service (e.g. Signature, MessageDigest, etc...) this - * method returns the {@link Set} of all available algorithm names (instances - * of {@link String}, from all currently installed {@link Provider}s. - * - * @param serviceName - * the case-insensitive name of a service (e.g. Signature, - * MessageDigest, etc). - * @return a {@link Set} of {@link String}s containing the names of all - * algorithm names provided by all of the currently installed - * {@link Provider}s. - * @since 1.4 - */ - public static Set getAlgorithms(String serviceName) - { - HashSet result = new HashSet(); - if (serviceName == null || serviceName.length() == 0) - return result; - - serviceName = serviceName.trim(); - if (serviceName.length() == 0) - return result; - - serviceName = serviceName.toUpperCase()+"."; - Provider[] providers = getProviders(); - int ndx; - for (int i = 0; i < providers.length; i++) - for (Enumeration e = providers[i].propertyNames(); e.hasMoreElements(); ) - { - String service = ((String) e.nextElement()).trim(); - if (service.toUpperCase().startsWith(serviceName)) - { - service = service.substring(serviceName.length()).trim(); - ndx = service.indexOf(' '); // get rid of attributes - if (ndx != -1) - service = service.substring(0, ndx); - result.add(service); - } - } - return Collections.unmodifiableSet(result); - } - - /** - * Returns an array of currently installed {@link Provider}s, ordered - * according to their installation preference order, which satisfy a given - * selection criterion. - * - *

      This implementation recognizes a selection criterion written in - * one of two following forms:

      - * - *
        - *
      • <crypto_service>.<algorithm_or_type>: Where - * crypto_service is a case-insensitive string, similar to what has - * been described in the {@link #getAlgorithms(String)} method, and - * algorithm_or_type is a known case-insensitive name of an - * Algorithm, or one of its aliases. - * - *

        For example, "CertificateFactory.X.509" would return all the installed - * {@link Provider}s which provide a CertificateFactory - * implementation of X.509.

      • - * - *
      • <crypto_service>.<algorithm_or_type> <attribute_name>:<value>: - * Where crypto_service is a case-insensitive string, similar to what - * has been described in the {@link #getAlgorithms(String)} method, - * algorithm_or_type is a case-insensitive known name of an Algorithm - * or one of its aliases, attribute_name is a case-insensitive - * property name with no whitespace characters, and no dots, in-between, and - * value is a {@link String} with no whitespace characters in-between. - * - *

        For example, "Signature.Sha1WithDSS KeySize:1024" would return all the - * installed {@link Provider}s which declared their ability to provide - * Signature services, using the Sha1WithDSS algorithm with - * key sizes of 1024.

      • - *
      - * - * @param filter - * the selection criterion for selecting among the installed - * {@link Provider}s. - * @return all the installed {@link Provider}s which satisfy the selection - * criterion. Returns null if no installed - * {@link Provider}s were found which satisfy the selection - * criterion. Returns ALL installed {@link Provider}s if - * filter is null or is an empty string. - * @throws InvalidParameterException - * if an exception occurs while parsing the filter. - * @see #getProviders(Map) - */ - public static Provider[] getProviders(String filter) - { - if (providers == null || providers.isEmpty()) - return null; - - if (filter == null || filter.length() == 0) - return getProviders(); - - HashMap map = new HashMap(1); - int i = filter.indexOf(':'); - if (i == -1) // . - map.put(filter, ""); - else // . : - map.put(filter.substring(0, i), filter.substring(i+1)); - - return getProviders(map); - } - - /** - * Returns an array of currently installed {@link Provider}s which satisfy a - * set of selection criteria. - * - *

      The selection criteria are defined in a {@link Map} where each - * element specifies a selection querry. The Keys in this - * {@link Map} must be in one of the two following forms:

      - * - *
        - *
      • <crypto_service>.<algorithm_or_type>: Where - * crypto_service is a case-insensitive string, similar to what has - * been described in the {@link #getAlgorithms(String)} method, and - * algorithm_or_type is a case-insensitive known name of an - * Algorithm, or one of its aliases. The value of the entry in the - * {@link Map} for such a Key MUST be the empty string. - * {@link Provider}s which provide an implementation for the designated - * service algorithm are included in the result.
      • - * - *
      • <crypto_service>.<algorithm_or_type> <attribute_name>: - * Where crypto_service is a case-insensitive string, similar to what - * has been described in the {@link #getAlgorithms(String)} method, - * algorithm_or_type is a case-insensitive known name of an Algorithm - * or one of its aliases, and attribute_name is a case-insensitive - * property name with no whitespace characters, and no dots, in-between. The - * value of the entry in this {@link Map} for such a Key MUST - * NOT be null or an empty string. {@link Provider}s which - * declare the designated attribute_name and value for the - * designated service algorithm are included in the result.
      • - *
      - * - * @param filter - * a {@link Map} of selection querries. - * @return all currently installed {@link Provider}s which satisfy ALL the - * selection criteria defined in filter. - * Returns ALL installed {@link Provider}s if filter - * is null or empty. - * @throws InvalidParameterException - * if an exception is encountered while parsing the syntax of the - * {@link Map}'s keys. - * @see #getProviders(String) - */ - public static Provider[] getProviders(Map filter) - { - if (providers == null || providers.isEmpty()) - return null; - - if (filter == null) - return getProviders(); - - Set querries = filter.keySet(); - if (querries == null || querries.isEmpty()) - return getProviders(); - - LinkedHashSet result = new LinkedHashSet(providers); // assume all - int dot, ws; - String querry, service, algorithm, attribute, value; - LinkedHashSet serviceProviders = new LinkedHashSet(); // preserve insertion order - for (Iterator i = querries.iterator(); i.hasNext(); ) - { - querry = (String) i.next(); - if (querry == null) // all providers - continue; - - querry = querry.trim(); - if (querry.length() == 0) // all providers - continue; - - dot = querry.indexOf('.'); - if (dot == -1) // syntax error - throw new InvalidParameterException( - "missing dot in '" + String.valueOf(querry)+"'"); - - value = (String) filter.get(querry); - // deconstruct querry into [service, algorithm, attribute] - if (value == null || value.trim().length() == 0) // . - { - value = null; - attribute = null; - service = querry.substring(0, dot).trim(); - algorithm = querry.substring(dot+1).trim(); - } - else // . - { - ws = querry.indexOf(' '); - if (ws == -1) - throw new InvalidParameterException( - "value (" + String.valueOf(value) + - ") is not empty, but querry (" + String.valueOf(querry) + - ") is missing at least one space character"); - value = value.trim(); - attribute = querry.substring(ws+1).trim(); - // was the dot in the attribute? - if (attribute.indexOf('.') != -1) - throw new InvalidParameterException( - "attribute_name (" + String.valueOf(attribute) + - ") in querry (" + String.valueOf(querry) + ") contains a dot"); - - querry = querry.substring(0, ws).trim(); - service = querry.substring(0, dot).trim(); - algorithm = querry.substring(dot+1).trim(); - } - - // service and algorithm must not be empty - if (service.length() == 0) - throw new InvalidParameterException( - " in querry (" + String.valueOf(querry) + - ") is empty"); - - if (algorithm.length() == 0) - throw new InvalidParameterException( - " in querry (" + String.valueOf(querry) + - ") is empty"); - - selectProviders(service, algorithm, attribute, value, result, serviceProviders); - result.retainAll(serviceProviders); // eval next retaining found providers - if (result.isEmpty()) // no point continuing - break; - } - - if (result.isEmpty()) - return null; - - return (Provider[]) result.toArray(new Provider[result.size()]); - } - - private static void selectProviders(String svc, String algo, String attr, - String val, LinkedHashSet providerSet, - LinkedHashSet result) - { - result.clear(); // ensure we start with an empty result set - for (Iterator i = providerSet.iterator(); i.hasNext(); ) - { - Provider p = (Provider) i.next(); - if (provides(p, svc, algo, attr, val)) - result.add(p); - } - } - - private static boolean provides(Provider p, String svc, String algo, - String attr, String val) - { - Iterator it; - String serviceDotAlgorithm = null; - String key = null; - String realVal; - boolean found = false; - // if . is in the set then so is . - // but it may be stored under an alias . resolve - outer: for (int r = 0; r < 3; r++) // guard against circularity - { - serviceDotAlgorithm = (svc+"."+String.valueOf(algo)).trim(); - for (it = p.keySet().iterator(); it.hasNext(); ) - { - key = (String) it.next(); - if (key.equalsIgnoreCase(serviceDotAlgorithm)) // eureka - { - found = true; - break outer; - } - // it may be there but as an alias - if (key.equalsIgnoreCase(ALG_ALIAS + serviceDotAlgorithm)) - { - algo = p.getProperty(key); - continue outer; - } - // else continue inner - } - } - - if (!found) - return false; - - // found a candidate for the querry. do we have an attr to match? - if (val == null) // . querry - return true; - - // . ; find the key entry that match - String realAttr; - int limit = serviceDotAlgorithm.length() + 1; - for (it = p.keySet().iterator(); it.hasNext(); ) - { - key = (String) it.next(); - if (key.length() <= limit) - continue; - - if (key.substring(0, limit).equalsIgnoreCase(serviceDotAlgorithm+" ")) - { - realAttr = key.substring(limit).trim(); - if (! realAttr.equalsIgnoreCase(attr)) - continue; - - // eveything matches so far. do the value - realVal = p.getProperty(key); - if (realVal == null) - return false; - - realVal = realVal.trim(); - // is it a string value? - if (val.equalsIgnoreCase(realVal)) - return true; - - // assume value is a number. cehck for greater-than-or-equal - return (new Integer(val).intValue() >= new Integer(realVal).intValue()); - } - } - - return false; - } -} diff --git a/libjava/java/security/SecurityPermission.h b/libjava/java/security/SecurityPermission.h new file mode 100644 index 00000000000..c28bdc6307d --- /dev/null +++ b/libjava/java/security/SecurityPermission.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SecurityPermission__ +#define __java_security_SecurityPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class SecurityPermission; + } + } +} + +class java::security::SecurityPermission : public ::java::security::BasicPermission +{ + +public: + SecurityPermission(::java::lang::String *); + SecurityPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 5236109936224050470LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SecurityPermission__ diff --git a/libjava/java/security/Signature.h b/libjava/java/security/Signature.h new file mode 100644 index 00000000000..43f4d5233f0 --- /dev/null +++ b/libjava/java/security/Signature.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Signature__ +#define __java_security_Signature__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class AlgorithmParameters; + class PrivateKey; + class Provider; + class PublicKey; + class SecureRandom; + class Signature; + namespace cert + { + class Certificate; + } + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::Signature : public ::java::security::SignatureSpi +{ + +public: // actually protected + Signature(::java::lang::String *); +public: + static ::java::security::Signature * getInstance(::java::lang::String *); + static ::java::security::Signature * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::Signature * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual void initVerify(::java::security::PublicKey *); + virtual void initVerify(::java::security::cert::Certificate *); + virtual void initSign(::java::security::PrivateKey *); + virtual void initSign(::java::security::PrivateKey *, ::java::security::SecureRandom *); + virtual JArray< jbyte > * sign(); + virtual jint sign(JArray< jbyte > *, jint, jint); + virtual jboolean verify(JArray< jbyte > *); + virtual jboolean verify(JArray< jbyte > *, jint, jint); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *); + virtual void update(JArray< jbyte > *, jint, jint); + virtual void update(::java::nio::ByteBuffer *); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * toString(); + virtual void setParameter(::java::lang::String *, ::java::lang::Object *); + virtual void setParameter(::java::security::spec::AlgorithmParameterSpec *); + virtual ::java::security::AlgorithmParameters * getParameters(); + virtual ::java::lang::Object * getParameter(::java::lang::String *); + virtual ::java::lang::Object * clone(); +private: + static ::java::lang::String * SIGNATURE; +public: // actually protected + static const jint UNINITIALIZED = 0; + static const jint SIGN = 2; + static const jint VERIFY = 3; + jint __attribute__((aligned(__alignof__( ::java::security::SignatureSpi)))) state; +private: + ::java::lang::String * algorithm; +public: // actually package-private + ::java::security::Provider * provider; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Signature__ diff --git a/libjava/java/security/SignatureException.h b/libjava/java/security/SignatureException.h new file mode 100644 index 00000000000..32e3d756270 --- /dev/null +++ b/libjava/java/security/SignatureException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SignatureException__ +#define __java_security_SignatureException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class SignatureException; + } + } +} + +class java::security::SignatureException : public ::java::security::GeneralSecurityException +{ + +public: + SignatureException(); + SignatureException(::java::lang::String *); + SignatureException(::java::lang::String *, ::java::lang::Throwable *); + SignatureException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 7509989324975124438LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SignatureException__ diff --git a/libjava/java/security/SignatureSpi.h b/libjava/java/security/SignatureSpi.h new file mode 100644 index 00000000000..7e2406e5aac --- /dev/null +++ b/libjava/java/security/SignatureSpi.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SignatureSpi__ +#define __java_security_SignatureSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class AlgorithmParameters; + class PrivateKey; + class PublicKey; + class SecureRandom; + class SignatureSpi; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::SignatureSpi : public ::java::lang::Object +{ + +public: + SignatureSpi(); +public: // actually protected + virtual void engineInitVerify(::java::security::PublicKey *) = 0; + virtual void engineInitSign(::java::security::PrivateKey *) = 0; + virtual void engineInitSign(::java::security::PrivateKey *, ::java::security::SecureRandom *); + virtual void engineUpdate(jbyte) = 0; + virtual void engineUpdate(JArray< jbyte > *, jint, jint) = 0; + virtual void engineUpdate(::java::nio::ByteBuffer *); + virtual JArray< jbyte > * engineSign() = 0; + virtual jint engineSign(JArray< jbyte > *, jint, jint); + virtual jboolean engineVerify(JArray< jbyte > *) = 0; + virtual jboolean engineVerify(JArray< jbyte > *, jint, jint); + virtual void engineSetParameter(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void engineSetParameter(::java::security::spec::AlgorithmParameterSpec *); + virtual ::java::security::AlgorithmParameters * engineGetParameters(); + virtual ::java::lang::Object * engineGetParameter(::java::lang::String *) = 0; +public: + virtual ::java::lang::Object * clone(); +public: // actually protected + ::java::security::SecureRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) appRandom; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SignatureSpi__ diff --git a/libjava/java/security/SignedObject.h b/libjava/java/security/SignedObject.h new file mode 100644 index 00000000000..430053721ba --- /dev/null +++ b/libjava/java/security/SignedObject.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_SignedObject__ +#define __java_security_SignedObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class PrivateKey; + class PublicKey; + class Signature; + class SignedObject; + } + } +} + +class java::security::SignedObject : public ::java::lang::Object +{ + +public: + SignedObject(::java::io::Serializable *, ::java::security::PrivateKey *, ::java::security::Signature *); + ::java::lang::Object * getObject(); + JArray< jbyte > * getSignature(); + ::java::lang::String * getAlgorithm(); + jboolean verify(::java::security::PublicKey *, ::java::security::Signature *); +private: + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 720502720485447167LL; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content; + JArray< jbyte > * signature; + ::java::lang::String * thealgorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_SignedObject__ diff --git a/libjava/java/security/Signer.h b/libjava/java/security/Signer.h new file mode 100644 index 00000000000..080bc8a0b61 --- /dev/null +++ b/libjava/java/security/Signer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_Signer__ +#define __java_security_Signer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class IdentityScope; + class KeyPair; + class PrivateKey; + class Signer; + } + } +} + +class java::security::Signer : public ::java::security::Identity +{ + +public: // actually protected + Signer(); +public: + Signer(::java::lang::String *); + Signer(::java::lang::String *, ::java::security::IdentityScope *); + virtual ::java::security::PrivateKey * getPrivateKey(); + virtual void setKeyPair(::java::security::KeyPair *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -1763464102261361480LL; + ::java::security::PrivateKey * __attribute__((aligned(__alignof__( ::java::security::Identity)))) privateKey; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_Signer__ diff --git a/libjava/java/security/UnrecoverableKeyException.h b/libjava/java/security/UnrecoverableKeyException.h new file mode 100644 index 00000000000..51c0c8a0115 --- /dev/null +++ b/libjava/java/security/UnrecoverableKeyException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_UnrecoverableKeyException__ +#define __java_security_UnrecoverableKeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class UnrecoverableKeyException; + } + } +} + +class java::security::UnrecoverableKeyException : public ::java::security::GeneralSecurityException +{ + +public: + UnrecoverableKeyException(); + UnrecoverableKeyException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7275063078190151277LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_UnrecoverableKeyException__ diff --git a/libjava/java/security/UnresolvedPermission.h b/libjava/java/security/UnresolvedPermission.h new file mode 100644 index 00000000000..ceebc5b72aa --- /dev/null +++ b/libjava/java/security/UnresolvedPermission.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_UnresolvedPermission__ +#define __java_security_UnresolvedPermission__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + class UnresolvedPermission; + namespace cert + { + class Certificate; + } + } + } +} + +class java::security::UnresolvedPermission : public ::java::security::Permission +{ + +public: + UnresolvedPermission(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::security::cert::Certificate * > *); + jboolean implies(::java::security::Permission *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * getActions(); + ::java::lang::String * toString(); + ::java::security::PermissionCollection * newPermissionCollection(); + ::java::lang::String * getUnresolvedType(); + ::java::lang::String * getUnresolvedName(); + ::java::lang::String * getUnresolvedActions(); + JArray< ::java::security::cert::Certificate * > * getUnresolvedCerts(); +private: + static const jlong serialVersionUID = -4821973115467008846LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::security::Permission)))) actions; + JArray< ::java::security::cert::Certificate * > * certs; +public: // actually package-private + ::java::lang::String * type; +private: + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_UnresolvedPermission__ diff --git a/libjava/java/security/UnresolvedPermissionCollection$1.h b/libjava/java/security/UnresolvedPermissionCollection$1.h new file mode 100644 index 00000000000..94cfec59123 --- /dev/null +++ b/libjava/java/security/UnresolvedPermissionCollection$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_UnresolvedPermissionCollection$1__ +#define __java_security_UnresolvedPermissionCollection$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class UnresolvedPermissionCollection; + class UnresolvedPermissionCollection$1; + } + } +} + +class java::security::UnresolvedPermissionCollection$1 : public ::java::lang::Object +{ + +public: // actually package-private + UnresolvedPermissionCollection$1(::java::security::UnresolvedPermissionCollection *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::Enumeration * __attribute__((aligned(__alignof__( ::java::lang::Object)))) main_enum; + ::java::util::Enumeration * sub_enum; + ::java::security::UnresolvedPermissionCollection * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_UnresolvedPermissionCollection$1__ diff --git a/libjava/java/security/UnresolvedPermissionCollection.h b/libjava/java/security/UnresolvedPermissionCollection.h new file mode 100644 index 00000000000..2d31d0e6cf8 --- /dev/null +++ b/libjava/java/security/UnresolvedPermissionCollection.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_UnresolvedPermissionCollection__ +#define __java_security_UnresolvedPermissionCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class UnresolvedPermissionCollection; + } + } +} + +class java::security::UnresolvedPermissionCollection : public ::java::security::PermissionCollection +{ + +public: // actually package-private + UnresolvedPermissionCollection(); +public: + virtual void add(::java::security::Permission *); + virtual jboolean implies(::java::security::Permission *); + virtual ::java::util::Enumeration * elements(); +private: + static const jlong serialVersionUID = -7176153071733132400LL; +public: // actually package-private + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_UnresolvedPermissionCollection__ diff --git a/libjava/java/security/VMAccessControlState.h b/libjava/java/security/VMAccessControlState.h new file mode 100644 index 00000000000..5c71033ca7c --- /dev/null +++ b/libjava/java/security/VMAccessControlState.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_VMAccessControlState__ +#define __java_security_VMAccessControlState__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class VMAccessControlState; + } + } +} + +class java::security::VMAccessControlState : public ::java::lang::Object +{ + + VMAccessControlState(); +public: // actually package-private + static ::java::security::VMAccessControlState * getThreadState(); + virtual jboolean isInGetContext(); + virtual void setInGetContext(jboolean); + virtual ::java::util::LinkedList * getContexts(); +private: + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) contexts; + jboolean inGetContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_VMAccessControlState__ diff --git a/libjava/java/security/VMAccessController.h b/libjava/java/security/VMAccessController.h new file mode 100644 index 00000000000..20cd9ce7338 --- /dev/null +++ b/libjava/java/security/VMAccessController.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_VMAccessController__ +#define __java_security_VMAccessController__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + class VMAccessController; + } + } +} + +class java::security::VMAccessController : public ::java::lang::Object +{ + + static void debug(::java::lang::String *); + VMAccessController(); +public: // actually package-private + static void pushContext(::java::security::AccessControlContext *); + static void popContext(); + static ::java::security::AccessControlContext * getContext(); +private: + static JArray< ::java::lang::Object * > * getStack(); + static ::java::security::AccessControlContext * DEFAULT_CONTEXT; + static jboolean DEBUG; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_VMAccessController__ diff --git a/libjava/java/security/VMSecureRandom$Spinner.h b/libjava/java/security/VMSecureRandom$Spinner.h new file mode 100644 index 00000000000..32a1e31acdf --- /dev/null +++ b/libjava/java/security/VMSecureRandom$Spinner.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_VMSecureRandom$Spinner__ +#define __java_security_VMSecureRandom$Spinner__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class VMSecureRandom$Spinner; + } + } +} + +class java::security::VMSecureRandom$Spinner : public ::java::lang::Object +{ + +public: // actually package-private + VMSecureRandom$Spinner(jbyte); +public: + virtual void run(); +private: + void stop(); +public: // actually package-private + static void access$0(::java::security::VMSecureRandom$Spinner *); + volatile jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + volatile jboolean running; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_VMSecureRandom$Spinner__ diff --git a/libjava/java/security/VMSecureRandom.h b/libjava/java/security/VMSecureRandom.h new file mode 100644 index 00000000000..982bc0f1a88 --- /dev/null +++ b/libjava/java/security/VMSecureRandom.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_VMSecureRandom__ +#define __java_security_VMSecureRandom__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class VMSecureRandom; + } + } +} + +class java::security::VMSecureRandom : public ::java::lang::Object +{ + +public: // actually package-private + VMSecureRandom(); + static jint generateSeed(JArray< jbyte > *, jint, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_VMSecureRandom__ diff --git a/libjava/java/security/acl/Acl.h b/libjava/java/security/acl/Acl.h new file mode 100644 index 00000000000..82c8d6de784 --- /dev/null +++ b/libjava/java/security/acl/Acl.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_Acl__ +#define __java_security_acl_Acl__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + namespace acl + { + class Acl; + class AclEntry; + class Permission; + } + } + } +} + +class java::security::acl::Acl : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::security::Principal *, ::java::lang::String *) = 0; + virtual jboolean addEntry(::java::security::Principal *, ::java::security::acl::AclEntry *) = 0; + virtual jboolean removeEntry(::java::security::Principal *, ::java::security::acl::AclEntry *) = 0; + virtual ::java::util::Enumeration * entries() = 0; + virtual jboolean checkPermission(::java::security::Principal *, ::java::security::acl::Permission *) = 0; + virtual ::java::util::Enumeration * getPermissions(::java::security::Principal *) = 0; + virtual ::java::lang::String * toString() = 0; + virtual jboolean addOwner(::java::security::Principal *, ::java::security::Principal *) = 0; + virtual jboolean deleteOwner(::java::security::Principal *, ::java::security::Principal *) = 0; + virtual jboolean isOwner(::java::security::Principal *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_acl_Acl__ diff --git a/libjava/java/security/acl/AclEntry.h b/libjava/java/security/acl/AclEntry.h new file mode 100644 index 00000000000..3b098b0f899 --- /dev/null +++ b/libjava/java/security/acl/AclEntry.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_AclEntry__ +#define __java_security_acl_AclEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + namespace acl + { + class AclEntry; + class Permission; + } + } + } +} + +class java::security::acl::AclEntry : public ::java::lang::Object +{ + +public: + virtual ::java::security::Principal * getPrincipal() = 0; + virtual jboolean setPrincipal(::java::security::Principal *) = 0; + virtual void setNegativePermissions() = 0; + virtual jboolean isNegative() = 0; + virtual jboolean addPermission(::java::security::acl::Permission *) = 0; + virtual jboolean removePermission(::java::security::acl::Permission *) = 0; + virtual jboolean checkPermission(::java::security::acl::Permission *) = 0; + virtual ::java::util::Enumeration * permissions() = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_acl_AclEntry__ diff --git a/libjava/java/security/acl/AclNotFoundException.h b/libjava/java/security/acl/AclNotFoundException.h new file mode 100644 index 00000000000..9daea6522fa --- /dev/null +++ b/libjava/java/security/acl/AclNotFoundException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_AclNotFoundException__ +#define __java_security_acl_AclNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace acl + { + class AclNotFoundException; + } + } + } +} + +class java::security::acl::AclNotFoundException : public ::java::lang::Exception +{ + +public: + AclNotFoundException(); +private: + static const jlong serialVersionUID = 5684295034092681791LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_acl_AclNotFoundException__ diff --git a/libjava/java/security/acl/Group.h b/libjava/java/security/acl/Group.h new file mode 100644 index 00000000000..780774d4119 --- /dev/null +++ b/libjava/java/security/acl/Group.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_Group__ +#define __java_security_acl_Group__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + namespace acl + { + class Group; + } + } + } +} + +class java::security::acl::Group : public ::java::lang::Object +{ + +public: + virtual jboolean addMember(::java::security::Principal *) = 0; + virtual jboolean removeMember(::java::security::Principal *) = 0; + virtual jboolean isMember(::java::security::Principal *) = 0; + virtual ::java::util::Enumeration * members() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_acl_Group__ diff --git a/libjava/java/security/acl/LastOwnerException.h b/libjava/java/security/acl/LastOwnerException.h new file mode 100644 index 00000000000..eb03366e040 --- /dev/null +++ b/libjava/java/security/acl/LastOwnerException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_LastOwnerException__ +#define __java_security_acl_LastOwnerException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace acl + { + class LastOwnerException; + } + } + } +} + +class java::security::acl::LastOwnerException : public ::java::lang::Exception +{ + +public: + LastOwnerException(); +private: + static const jlong serialVersionUID = -5141997548211140359LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_acl_LastOwnerException__ diff --git a/libjava/java/security/acl/NotOwnerException.h b/libjava/java/security/acl/NotOwnerException.h new file mode 100644 index 00000000000..627e4e57b98 --- /dev/null +++ b/libjava/java/security/acl/NotOwnerException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_NotOwnerException__ +#define __java_security_acl_NotOwnerException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace acl + { + class NotOwnerException; + } + } + } +} + +class java::security::acl::NotOwnerException : public ::java::lang::Exception +{ + +public: + NotOwnerException(); +private: + static const jlong serialVersionUID = -5555597911163362399LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_acl_NotOwnerException__ diff --git a/libjava/java/security/acl/Owner.h b/libjava/java/security/acl/Owner.h new file mode 100644 index 00000000000..b8bc09bf25a --- /dev/null +++ b/libjava/java/security/acl/Owner.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_Owner__ +#define __java_security_acl_Owner__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + namespace acl + { + class Owner; + } + } + } +} + +class java::security::acl::Owner : public ::java::lang::Object +{ + +public: + virtual jboolean addOwner(::java::security::Principal *, ::java::security::Principal *) = 0; + virtual jboolean deleteOwner(::java::security::Principal *, ::java::security::Principal *) = 0; + virtual jboolean isOwner(::java::security::Principal *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_acl_Owner__ diff --git a/libjava/java/security/acl/Permission.h b/libjava/java/security/acl/Permission.h new file mode 100644 index 00000000000..f1c9b252563 --- /dev/null +++ b/libjava/java/security/acl/Permission.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_acl_Permission__ +#define __java_security_acl_Permission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace acl + { + class Permission; + } + } + } +} + +class java::security::acl::Permission : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_acl_Permission__ diff --git a/libjava/java/security/cert/CRL.h b/libjava/java/security/cert/CRL.h new file mode 100644 index 00000000000..e1b5298e023 --- /dev/null +++ b/libjava/java/security/cert/CRL.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CRL__ +#define __java_security_cert_CRL__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CRL; + class Certificate; + } + } + } +} + +class java::security::cert::CRL : public ::java::lang::Object +{ + +public: // actually protected + CRL(::java::lang::String *); +public: + virtual ::java::lang::String * getType(); + virtual ::java::lang::String * toString() = 0; + virtual jboolean isRevoked(::java::security::cert::Certificate *) = 0; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CRL__ diff --git a/libjava/java/security/cert/CRLException.h b/libjava/java/security/cert/CRLException.h new file mode 100644 index 00000000000..7e2401eb484 --- /dev/null +++ b/libjava/java/security/cert/CRLException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CRLException__ +#define __java_security_cert_CRLException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CRLException; + } + } + } +} + +class java::security::cert::CRLException : public ::java::security::GeneralSecurityException +{ + +public: + CRLException(); + CRLException(::java::lang::String *); + CRLException(::java::lang::String *, ::java::lang::Throwable *); + CRLException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -6694728944094197147LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CRLException__ diff --git a/libjava/java/security/cert/CRLSelector.h b/libjava/java/security/cert/CRLSelector.h new file mode 100644 index 00000000000..fb5fe7a62a0 --- /dev/null +++ b/libjava/java/security/cert/CRLSelector.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CRLSelector__ +#define __java_security_cert_CRLSelector__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CRL; + class CRLSelector; + } + } + } +} + +class java::security::cert::CRLSelector : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + virtual jboolean match(::java::security::cert::CRL *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_CRLSelector__ diff --git a/libjava/java/security/cert/CertPath$CertPathRep.h b/libjava/java/security/cert/CertPath$CertPathRep.h new file mode 100644 index 00000000000..a688e1b6d78 --- /dev/null +++ b/libjava/java/security/cert/CertPath$CertPathRep.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPath$CertPathRep__ +#define __java_security_cert_CertPath$CertPathRep__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPath$CertPathRep; + } + } + } +} + +class java::security::cert::CertPath$CertPathRep : public ::java::lang::Object +{ + +public: // actually protected + CertPath$CertPathRep(::java::lang::String *, JArray< jbyte > *); + virtual ::java::lang::Object * readResolve(); +private: + static const jlong serialVersionUID = 3015633072427920915LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + JArray< jbyte > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPath$CertPathRep__ diff --git a/libjava/java/security/cert/CertPath.h b/libjava/java/security/cert/CertPath.h new file mode 100644 index 00000000000..ed7378982b8 --- /dev/null +++ b/libjava/java/security/cert/CertPath.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPath__ +#define __java_security_cert_CertPath__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPath; + } + } + } +} + +class java::security::cert::CertPath : public ::java::lang::Object +{ + +public: // actually protected + CertPath(::java::lang::String *); +public: + virtual ::java::lang::String * getType(); + virtual ::java::util::Iterator * getEncodings() = 0; + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual JArray< jbyte > * getEncoded() = 0; + virtual JArray< jbyte > * getEncoded(::java::lang::String *) = 0; + virtual ::java::util::List * getCertificates() = 0; +public: // actually protected + virtual ::java::lang::Object * writeReplace(); +private: + static const jlong serialVersionUID = 6068470306649138683LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPath__ diff --git a/libjava/java/security/cert/CertPathBuilder.h b/libjava/java/security/cert/CertPathBuilder.h new file mode 100644 index 00000000000..2905f742308 --- /dev/null +++ b/libjava/java/security/cert/CertPathBuilder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathBuilder__ +#define __java_security_cert_CertPathBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + namespace cert + { + class CertPathBuilder; + class CertPathBuilderResult; + class CertPathBuilderSpi; + class CertPathParameters; + } + } + } +} + +class java::security::cert::CertPathBuilder : public ::java::lang::Object +{ + +public: // actually protected + CertPathBuilder(::java::security::cert::CertPathBuilderSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::lang::String * getDefaultType(); + static ::java::security::cert::CertPathBuilder * getInstance(::java::lang::String *); + static ::java::security::cert::CertPathBuilder * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::cert::CertPathBuilder * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::Provider * getProvider(); + virtual ::java::security::cert::CertPathBuilderResult * build(::java::security::cert::CertPathParameters *); +private: + static ::java::lang::String * CERT_PATH_BUILDER; + ::java::security::cert::CertPathBuilderSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cpbSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathBuilder__ diff --git a/libjava/java/security/cert/CertPathBuilderException.h b/libjava/java/security/cert/CertPathBuilderException.h new file mode 100644 index 00000000000..c2cb71b8f8c --- /dev/null +++ b/libjava/java/security/cert/CertPathBuilderException.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathBuilderException__ +#define __java_security_cert_CertPathBuilderException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPathBuilderException; + } + } + } +} + +class java::security::cert::CertPathBuilderException : public ::java::security::GeneralSecurityException +{ + +public: + CertPathBuilderException(); + CertPathBuilderException(::java::lang::String *); + CertPathBuilderException(::java::lang::Throwable *); + CertPathBuilderException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::String * toString(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + static const jlong serialVersionUID = 5316471420178794402LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathBuilderException__ diff --git a/libjava/java/security/cert/CertPathBuilderResult.h b/libjava/java/security/cert/CertPathBuilderResult.h new file mode 100644 index 00000000000..74849e8df09 --- /dev/null +++ b/libjava/java/security/cert/CertPathBuilderResult.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathBuilderResult__ +#define __java_security_cert_CertPathBuilderResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPath; + class CertPathBuilderResult; + } + } + } +} + +class java::security::cert::CertPathBuilderResult : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + virtual ::java::security::cert::CertPath * getCertPath() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_CertPathBuilderResult__ diff --git a/libjava/java/security/cert/CertPathBuilderSpi.h b/libjava/java/security/cert/CertPathBuilderSpi.h new file mode 100644 index 00000000000..8b9524a5ac2 --- /dev/null +++ b/libjava/java/security/cert/CertPathBuilderSpi.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathBuilderSpi__ +#define __java_security_cert_CertPathBuilderSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPathBuilderResult; + class CertPathBuilderSpi; + class CertPathParameters; + } + } + } +} + +class java::security::cert::CertPathBuilderSpi : public ::java::lang::Object +{ + +public: + CertPathBuilderSpi(); + virtual ::java::security::cert::CertPathBuilderResult * engineBuild(::java::security::cert::CertPathParameters *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathBuilderSpi__ diff --git a/libjava/java/security/cert/CertPathParameters.h b/libjava/java/security/cert/CertPathParameters.h new file mode 100644 index 00000000000..a6752dfaebc --- /dev/null +++ b/libjava/java/security/cert/CertPathParameters.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathParameters__ +#define __java_security_cert_CertPathParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPathParameters; + } + } + } +} + +class java::security::cert::CertPathParameters : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_CertPathParameters__ diff --git a/libjava/java/security/cert/CertPathValidator$1.h b/libjava/java/security/cert/CertPathValidator$1.h new file mode 100644 index 00000000000..e24832084f0 --- /dev/null +++ b/libjava/java/security/cert/CertPathValidator$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathValidator$1__ +#define __java_security_cert_CertPathValidator$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPathValidator$1; + } + } + } +} + +class java::security::cert::CertPathValidator$1 : public ::java::lang::Object +{ + +public: // actually package-private + CertPathValidator$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathValidator$1__ diff --git a/libjava/java/security/cert/CertPathValidator.h b/libjava/java/security/cert/CertPathValidator.h new file mode 100644 index 00000000000..4424264fc72 --- /dev/null +++ b/libjava/java/security/cert/CertPathValidator.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathValidator__ +#define __java_security_cert_CertPathValidator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + namespace cert + { + class CertPath; + class CertPathParameters; + class CertPathValidator; + class CertPathValidatorResult; + class CertPathValidatorSpi; + } + } + } +} + +class java::security::cert::CertPathValidator : public ::java::lang::Object +{ + +public: // actually protected + CertPathValidator(::java::security::cert::CertPathValidatorSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::lang::String * getDefaultType(); + static ::java::security::cert::CertPathValidator * getInstance(::java::lang::String *); + static ::java::security::cert::CertPathValidator * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::cert::CertPathValidator * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::Provider * getProvider(); + virtual ::java::security::cert::CertPathValidatorResult * validate(::java::security::cert::CertPath *, ::java::security::cert::CertPathParameters *); +private: + static ::java::lang::String * CERT_PATH_VALIDATOR; + ::java::security::cert::CertPathValidatorSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) validatorSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathValidator__ diff --git a/libjava/java/security/cert/CertPathValidatorException.h b/libjava/java/security/cert/CertPathValidatorException.h new file mode 100644 index 00000000000..14289c79aab --- /dev/null +++ b/libjava/java/security/cert/CertPathValidatorException.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathValidatorException__ +#define __java_security_cert_CertPathValidatorException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPath; + class CertPathValidatorException; + } + } + } +} + +class java::security::cert::CertPathValidatorException : public ::java::security::GeneralSecurityException +{ + +public: + CertPathValidatorException(); + CertPathValidatorException(::java::lang::String *); + CertPathValidatorException(::java::lang::Throwable *); + CertPathValidatorException(::java::lang::String *, ::java::lang::Throwable *); + CertPathValidatorException(::java::lang::String *, ::java::lang::Throwable *, ::java::security::cert::CertPath *, jint); + virtual ::java::lang::String * getMessage(); + virtual ::java::security::cert::CertPath * getCertPath(); + virtual jint getIndex(); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::String * toString(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + static const jlong serialVersionUID = -3083180014971893139LL; + jint __attribute__((aligned(__alignof__( ::java::security::GeneralSecurityException)))) index; + ::java::security::cert::CertPath * certPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathValidatorException__ diff --git a/libjava/java/security/cert/CertPathValidatorResult.h b/libjava/java/security/cert/CertPathValidatorResult.h new file mode 100644 index 00000000000..1a453205dd6 --- /dev/null +++ b/libjava/java/security/cert/CertPathValidatorResult.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathValidatorResult__ +#define __java_security_cert_CertPathValidatorResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPathValidatorResult; + } + } + } +} + +class java::security::cert::CertPathValidatorResult : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_CertPathValidatorResult__ diff --git a/libjava/java/security/cert/CertPathValidatorSpi.h b/libjava/java/security/cert/CertPathValidatorSpi.h new file mode 100644 index 00000000000..cb737ef6402 --- /dev/null +++ b/libjava/java/security/cert/CertPathValidatorSpi.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertPathValidatorSpi__ +#define __java_security_cert_CertPathValidatorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPath; + class CertPathParameters; + class CertPathValidatorResult; + class CertPathValidatorSpi; + } + } + } +} + +class java::security::cert::CertPathValidatorSpi : public ::java::lang::Object +{ + +public: + CertPathValidatorSpi(); + virtual ::java::security::cert::CertPathValidatorResult * engineValidate(::java::security::cert::CertPath *, ::java::security::cert::CertPathParameters *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertPathValidatorSpi__ diff --git a/libjava/java/security/cert/CertSelector.h b/libjava/java/security/cert/CertSelector.h new file mode 100644 index 00000000000..2288bcc29be --- /dev/null +++ b/libjava/java/security/cert/CertSelector.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertSelector__ +#define __java_security_cert_CertSelector__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertSelector; + class Certificate; + } + } + } +} + +class java::security::cert::CertSelector : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + virtual jboolean match(::java::security::cert::Certificate *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_CertSelector__ diff --git a/libjava/java/security/cert/CertStore$1.h b/libjava/java/security/cert/CertStore$1.h new file mode 100644 index 00000000000..16ae2325c9b --- /dev/null +++ b/libjava/java/security/cert/CertStore$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertStore$1__ +#define __java_security_cert_CertStore$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertStore$1; + } + } + } +} + +class java::security::cert::CertStore$1 : public ::java::lang::Object +{ + +public: // actually package-private + CertStore$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertStore$1__ diff --git a/libjava/java/security/cert/CertStore.h b/libjava/java/security/cert/CertStore.h new file mode 100644 index 00000000000..af7e7488c6f --- /dev/null +++ b/libjava/java/security/cert/CertStore.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertStore__ +#define __java_security_cert_CertStore__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + namespace cert + { + class CRLSelector; + class CertSelector; + class CertStore; + class CertStoreParameters; + class CertStoreSpi; + } + } + } +} + +class java::security::cert::CertStore : public ::java::lang::Object +{ + +public: // actually protected + CertStore(::java::security::cert::CertStoreSpi *, ::java::security::Provider *, ::java::lang::String *, ::java::security::cert::CertStoreParameters *); +public: + static ::java::lang::String * getDefaultType(); + static ::java::security::cert::CertStore * getInstance(::java::lang::String *, ::java::security::cert::CertStoreParameters *); + static ::java::security::cert::CertStore * getInstance(::java::lang::String *, ::java::security::cert::CertStoreParameters *, ::java::lang::String *); + static ::java::security::cert::CertStore * getInstance(::java::lang::String *, ::java::security::cert::CertStoreParameters *, ::java::security::Provider *); + virtual ::java::lang::String * getType(); + virtual ::java::security::Provider * getProvider(); + virtual ::java::security::cert::CertStoreParameters * getCertStoreParameters(); + virtual ::java::util::Collection * getCertificates(::java::security::cert::CertSelector *); + virtual ::java::util::Collection * getCRLs(::java::security::cert::CRLSelector *); +private: + static ::java::lang::String * CERT_STORE; + ::java::security::cert::CertStoreSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) storeSpi; + ::java::security::Provider * provider; + ::java::lang::String * type; + ::java::security::cert::CertStoreParameters * params; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertStore__ diff --git a/libjava/java/security/cert/CertStoreException.h b/libjava/java/security/cert/CertStoreException.h new file mode 100644 index 00000000000..72e42f9ab40 --- /dev/null +++ b/libjava/java/security/cert/CertStoreException.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertStoreException__ +#define __java_security_cert_CertStoreException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertStoreException; + } + } + } +} + +class java::security::cert::CertStoreException : public ::java::security::GeneralSecurityException +{ + +public: + CertStoreException(); + CertStoreException(::java::lang::String *); + CertStoreException(::java::lang::Throwable *); + CertStoreException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::String * toString(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + static const jlong serialVersionUID = 2395296107471573245LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertStoreException__ diff --git a/libjava/java/security/cert/CertStoreParameters.h b/libjava/java/security/cert/CertStoreParameters.h new file mode 100644 index 00000000000..57eda812d76 --- /dev/null +++ b/libjava/java/security/cert/CertStoreParameters.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertStoreParameters__ +#define __java_security_cert_CertStoreParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertStoreParameters; + } + } + } +} + +class java::security::cert::CertStoreParameters : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_CertStoreParameters__ diff --git a/libjava/java/security/cert/CertStoreSpi.h b/libjava/java/security/cert/CertStoreSpi.h new file mode 100644 index 00000000000..30dc3a4dbf2 --- /dev/null +++ b/libjava/java/security/cert/CertStoreSpi.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertStoreSpi__ +#define __java_security_cert_CertStoreSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CRLSelector; + class CertSelector; + class CertStoreParameters; + class CertStoreSpi; + } + } + } +} + +class java::security::cert::CertStoreSpi : public ::java::lang::Object +{ + +public: + CertStoreSpi(::java::security::cert::CertStoreParameters *); + virtual ::java::util::Collection * engineGetCertificates(::java::security::cert::CertSelector *) = 0; + virtual ::java::util::Collection * engineGetCRLs(::java::security::cert::CRLSelector *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertStoreSpi__ diff --git a/libjava/java/security/cert/Certificate$CertificateRep.h b/libjava/java/security/cert/Certificate$CertificateRep.h new file mode 100644 index 00000000000..3eb75f2cb12 --- /dev/null +++ b/libjava/java/security/cert/Certificate$CertificateRep.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_Certificate$CertificateRep__ +#define __java_security_cert_Certificate$CertificateRep__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class Certificate$CertificateRep; + } + } + } +} + +class java::security::cert::Certificate$CertificateRep : public ::java::lang::Object +{ + +public: // actually protected + Certificate$CertificateRep(::java::lang::String *, JArray< jbyte > *); + virtual ::java::lang::Object * readResolve(); +private: + static const jlong serialVersionUID = -8563758940495660020LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + JArray< jbyte > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_Certificate$CertificateRep__ diff --git a/libjava/java/security/cert/Certificate.h b/libjava/java/security/cert/Certificate.h new file mode 100644 index 00000000000..350d78a9cf3 --- /dev/null +++ b/libjava/java/security/cert/Certificate.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_Certificate__ +#define __java_security_cert_Certificate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class PublicKey; + namespace cert + { + class Certificate; + } + } + } +} + +class java::security::cert::Certificate : public ::java::lang::Object +{ + +public: // actually protected + Certificate(::java::lang::String *); +public: + virtual ::java::lang::String * getType(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * getEncoded() = 0; + virtual void verify(::java::security::PublicKey *) = 0; + virtual void verify(::java::security::PublicKey *, ::java::lang::String *) = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::java::security::PublicKey * getPublicKey() = 0; +public: // actually protected + virtual ::java::lang::Object * writeReplace(); +private: + static const jlong serialVersionUID = -3585440601605666277LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_Certificate__ diff --git a/libjava/java/security/cert/CertificateEncodingException.h b/libjava/java/security/cert/CertificateEncodingException.h new file mode 100644 index 00000000000..f97e40e163f --- /dev/null +++ b/libjava/java/security/cert/CertificateEncodingException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateEncodingException__ +#define __java_security_cert_CertificateEncodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertificateEncodingException; + } + } + } +} + +class java::security::cert::CertificateEncodingException : public ::java::security::cert::CertificateException +{ + +public: + CertificateEncodingException(); + CertificateEncodingException(::java::lang::String *); + CertificateEncodingException(::java::lang::String *, ::java::lang::Throwable *); + CertificateEncodingException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 6219492851589449162LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateEncodingException__ diff --git a/libjava/java/security/cert/CertificateException.h b/libjava/java/security/cert/CertificateException.h new file mode 100644 index 00000000000..11658e28953 --- /dev/null +++ b/libjava/java/security/cert/CertificateException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateException__ +#define __java_security_cert_CertificateException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertificateException; + } + } + } +} + +class java::security::cert::CertificateException : public ::java::security::GeneralSecurityException +{ + +public: + CertificateException(); + CertificateException(::java::lang::String *); + CertificateException(::java::lang::String *, ::java::lang::Throwable *); + CertificateException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 3192535253797119798LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateException__ diff --git a/libjava/java/security/cert/CertificateExpiredException.h b/libjava/java/security/cert/CertificateExpiredException.h new file mode 100644 index 00000000000..a92013dc72f --- /dev/null +++ b/libjava/java/security/cert/CertificateExpiredException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateExpiredException__ +#define __java_security_cert_CertificateExpiredException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertificateExpiredException; + } + } + } +} + +class java::security::cert::CertificateExpiredException : public ::java::security::cert::CertificateException +{ + +public: + CertificateExpiredException(); + CertificateExpiredException(::java::lang::String *); +private: + static const jlong serialVersionUID = 9071001339691533771LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateExpiredException__ diff --git a/libjava/java/security/cert/CertificateFactory.h b/libjava/java/security/cert/CertificateFactory.h new file mode 100644 index 00000000000..184e3e4e971 --- /dev/null +++ b/libjava/java/security/cert/CertificateFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateFactory__ +#define __java_security_cert_CertificateFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + namespace cert + { + class CRL; + class CertPath; + class Certificate; + class CertificateFactory; + class CertificateFactorySpi; + } + } + } +} + +class java::security::cert::CertificateFactory : public ::java::lang::Object +{ + +public: // actually protected + CertificateFactory(::java::security::cert::CertificateFactorySpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::security::cert::CertificateFactory * getInstance(::java::lang::String *); + static ::java::security::cert::CertificateFactory * getInstance(::java::lang::String *, ::java::lang::String *); + static ::java::security::cert::CertificateFactory * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Provider * getProvider(); + virtual ::java::lang::String * getType(); + virtual ::java::security::cert::Certificate * generateCertificate(::java::io::InputStream *); + virtual ::java::util::Collection * generateCertificates(::java::io::InputStream *); + virtual ::java::security::cert::CRL * generateCRL(::java::io::InputStream *); + virtual ::java::util::Collection * generateCRLs(::java::io::InputStream *); + virtual ::java::security::cert::CertPath * generateCertPath(::java::io::InputStream *); + virtual ::java::security::cert::CertPath * generateCertPath(::java::io::InputStream *, ::java::lang::String *); + virtual ::java::security::cert::CertPath * generateCertPath(::java::util::List *); + virtual ::java::util::Iterator * getCertPathEncodings(); +private: + static ::java::lang::String * CERTIFICATE_FACTORY; + ::java::security::cert::CertificateFactorySpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) certFacSpi; + ::java::security::Provider * provider; + ::java::lang::String * type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateFactory__ diff --git a/libjava/java/security/cert/CertificateFactorySpi.h b/libjava/java/security/cert/CertificateFactorySpi.h new file mode 100644 index 00000000000..2370e67940c --- /dev/null +++ b/libjava/java/security/cert/CertificateFactorySpi.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateFactorySpi__ +#define __java_security_cert_CertificateFactorySpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CRL; + class CertPath; + class Certificate; + class CertificateFactorySpi; + } + } + } +} + +class java::security::cert::CertificateFactorySpi : public ::java::lang::Object +{ + +public: + CertificateFactorySpi(); + virtual ::java::security::cert::Certificate * engineGenerateCertificate(::java::io::InputStream *) = 0; + virtual ::java::util::Collection * engineGenerateCertificates(::java::io::InputStream *) = 0; + virtual ::java::security::cert::CRL * engineGenerateCRL(::java::io::InputStream *) = 0; + virtual ::java::util::Collection * engineGenerateCRLs(::java::io::InputStream *) = 0; + virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::io::InputStream *); + virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::io::InputStream *, ::java::lang::String *); + virtual ::java::security::cert::CertPath * engineGenerateCertPath(::java::util::List *); + virtual ::java::util::Iterator * engineGetCertPathEncodings(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateFactorySpi__ diff --git a/libjava/java/security/cert/CertificateNotYetValidException.h b/libjava/java/security/cert/CertificateNotYetValidException.h new file mode 100644 index 00000000000..510bb39fe7a --- /dev/null +++ b/libjava/java/security/cert/CertificateNotYetValidException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateNotYetValidException__ +#define __java_security_cert_CertificateNotYetValidException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertificateNotYetValidException; + } + } + } +} + +class java::security::cert::CertificateNotYetValidException : public ::java::security::cert::CertificateException +{ + +public: + CertificateNotYetValidException(); + CertificateNotYetValidException(::java::lang::String *); +private: + static const jlong serialVersionUID = 4355919900041064702LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateNotYetValidException__ diff --git a/libjava/java/security/cert/CertificateParsingException.h b/libjava/java/security/cert/CertificateParsingException.h new file mode 100644 index 00000000000..2827e896117 --- /dev/null +++ b/libjava/java/security/cert/CertificateParsingException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CertificateParsingException__ +#define __java_security_cert_CertificateParsingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertificateParsingException; + } + } + } +} + +class java::security::cert::CertificateParsingException : public ::java::security::cert::CertificateException +{ + +public: + CertificateParsingException(); + CertificateParsingException(::java::lang::String *); + CertificateParsingException(::java::lang::String *, ::java::lang::Throwable *); + CertificateParsingException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -7989222416793322029LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CertificateParsingException__ diff --git a/libjava/java/security/cert/CollectionCertStoreParameters.h b/libjava/java/security/cert/CollectionCertStoreParameters.h new file mode 100644 index 00000000000..cabf8dfa337 --- /dev/null +++ b/libjava/java/security/cert/CollectionCertStoreParameters.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_CollectionCertStoreParameters__ +#define __java_security_cert_CollectionCertStoreParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CollectionCertStoreParameters; + } + } + } +} + +class java::security::cert::CollectionCertStoreParameters : public ::java::lang::Object +{ + +public: + CollectionCertStoreParameters(); + CollectionCertStoreParameters(::java::util::Collection *); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Collection * getCollection(); + virtual ::java::lang::String * toString(); +private: + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) collection; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_CollectionCertStoreParameters__ diff --git a/libjava/java/security/cert/LDAPCertStoreParameters.h b/libjava/java/security/cert/LDAPCertStoreParameters.h new file mode 100644 index 00000000000..2cdde192f8e --- /dev/null +++ b/libjava/java/security/cert/LDAPCertStoreParameters.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_LDAPCertStoreParameters__ +#define __java_security_cert_LDAPCertStoreParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class LDAPCertStoreParameters; + } + } + } +} + +class java::security::cert::LDAPCertStoreParameters : public ::java::lang::Object +{ + +public: + LDAPCertStoreParameters(); + LDAPCertStoreParameters(::java::lang::String *); + LDAPCertStoreParameters(::java::lang::String *, jint); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * getServerName(); + virtual jint getPort(); + virtual ::java::lang::String * toString(); +private: + static const jint LDAP_PORT = 389; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) serverName; + jint port; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_LDAPCertStoreParameters__ diff --git a/libjava/java/security/cert/PKIXBuilderParameters.h b/libjava/java/security/cert/PKIXBuilderParameters.h new file mode 100644 index 00000000000..bb9ffd70774 --- /dev/null +++ b/libjava/java/security/cert/PKIXBuilderParameters.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PKIXBuilderParameters__ +#define __java_security_cert_PKIXBuilderParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStore; + namespace cert + { + class CertSelector; + class PKIXBuilderParameters; + } + } + } +} + +class java::security::cert::PKIXBuilderParameters : public ::java::security::cert::PKIXParameters +{ + +public: + PKIXBuilderParameters(::java::security::KeyStore *, ::java::security::cert::CertSelector *); + PKIXBuilderParameters(::java::util::Set *, ::java::security::cert::CertSelector *); + virtual jint getMaxPathLength(); + virtual void setMaxPathLength(jint); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::security::cert::PKIXParameters)))) maxPathLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_PKIXBuilderParameters__ diff --git a/libjava/java/security/cert/PKIXCertPathBuilderResult.h b/libjava/java/security/cert/PKIXCertPathBuilderResult.h new file mode 100644 index 00000000000..ad6ee690b6b --- /dev/null +++ b/libjava/java/security/cert/PKIXCertPathBuilderResult.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PKIXCertPathBuilderResult__ +#define __java_security_cert_PKIXCertPathBuilderResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PublicKey; + namespace cert + { + class CertPath; + class PKIXCertPathBuilderResult; + class PolicyNode; + class TrustAnchor; + } + } + } +} + +class java::security::cert::PKIXCertPathBuilderResult : public ::java::security::cert::PKIXCertPathValidatorResult +{ + +public: + PKIXCertPathBuilderResult(::java::security::cert::CertPath *, ::java::security::cert::TrustAnchor *, ::java::security::cert::PolicyNode *, ::java::security::PublicKey *); + virtual ::java::security::cert::CertPath * getCertPath(); + virtual ::java::lang::String * toString(); +private: + ::java::security::cert::CertPath * __attribute__((aligned(__alignof__( ::java::security::cert::PKIXCertPathValidatorResult)))) certPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_PKIXCertPathBuilderResult__ diff --git a/libjava/java/security/cert/PKIXCertPathChecker.h b/libjava/java/security/cert/PKIXCertPathChecker.h new file mode 100644 index 00000000000..375e8f33cbe --- /dev/null +++ b/libjava/java/security/cert/PKIXCertPathChecker.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PKIXCertPathChecker__ +#define __java_security_cert_PKIXCertPathChecker__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + class PKIXCertPathChecker; + } + } + } +} + +class java::security::cert::PKIXCertPathChecker : public ::java::lang::Object +{ + +public: // actually protected + PKIXCertPathChecker(); +public: + virtual ::java::lang::Object * clone(); + virtual void init(jboolean) = 0; + virtual jboolean isForwardCheckingSupported() = 0; + virtual ::java::util::Set * getSupportedExtensions() = 0; + virtual void check(::java::security::cert::Certificate *, ::java::util::Collection *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_PKIXCertPathChecker__ diff --git a/libjava/java/security/cert/PKIXCertPathValidatorResult.h b/libjava/java/security/cert/PKIXCertPathValidatorResult.h new file mode 100644 index 00000000000..879bc2bf9dc --- /dev/null +++ b/libjava/java/security/cert/PKIXCertPathValidatorResult.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PKIXCertPathValidatorResult__ +#define __java_security_cert_PKIXCertPathValidatorResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PublicKey; + namespace cert + { + class PKIXCertPathValidatorResult; + class PolicyNode; + class TrustAnchor; + } + } + } +} + +class java::security::cert::PKIXCertPathValidatorResult : public ::java::lang::Object +{ + +public: + PKIXCertPathValidatorResult(::java::security::cert::TrustAnchor *, ::java::security::cert::PolicyNode *, ::java::security::PublicKey *); + virtual ::java::security::cert::TrustAnchor * getTrustAnchor(); + virtual ::java::security::cert::PolicyNode * getPolicyTree(); + virtual ::java::security::PublicKey * getPublicKey(); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); +private: + ::java::security::cert::TrustAnchor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) trustAnchor; + ::java::security::cert::PolicyNode * policyTree; + ::java::security::PublicKey * subjectPublicKey; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_PKIXCertPathValidatorResult__ diff --git a/libjava/java/security/cert/PKIXParameters.h b/libjava/java/security/cert/PKIXParameters.h new file mode 100644 index 00000000000..7a953696c2b --- /dev/null +++ b/libjava/java/security/cert/PKIXParameters.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PKIXParameters__ +#define __java_security_cert_PKIXParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStore; + namespace cert + { + class CertSelector; + class CertStore; + class PKIXCertPathChecker; + class PKIXParameters; + } + } + } +} + +class java::security::cert::PKIXParameters : public ::java::lang::Object +{ + +public: + PKIXParameters(::java::security::KeyStore *); + PKIXParameters(::java::util::Set *); +private: + PKIXParameters(); + PKIXParameters(::java::security::cert::PKIXParameters *); +public: + virtual ::java::util::Set * getTrustAnchors(); + virtual void setTrustAnchors(::java::util::Set *); + virtual ::java::util::Set * getInitialPolicies(); + virtual void setInitialPolicies(::java::util::Set *); + virtual void addCertStore(::java::security::cert::CertStore *); + virtual ::java::util::List * getCertStores(); + virtual void setCertStores(::java::util::List *); + virtual jboolean isRevocationEnabled(); + virtual void setRevocationEnabled(jboolean); + virtual jboolean isExplicitPolicyRequired(); + virtual void setExplicitPolicyRequired(jboolean); + virtual jboolean isPolicyMappingInhibited(); + virtual void setPolicyMappingInhibited(jboolean); + virtual jboolean isAnyPolicyInhibited(); + virtual void setAnyPolicyInhibited(jboolean); + virtual jboolean getPolicyQualifiersRejected(); + virtual void setPolicyQualifiersRejected(jboolean); + virtual ::java::util::Date * getDate(); + virtual void setDate(::java::util::Date *); + virtual void addCertPathChecker(::java::security::cert::PKIXCertPathChecker *); + virtual ::java::util::List * getCertPathCheckers(); + virtual void setCertPathCheckers(::java::util::List *); + virtual ::java::lang::String * getSigProvider(); + virtual void setSigProvider(::java::lang::String *); + virtual ::java::security::cert::CertSelector * getTargetCertConstraints(); + virtual void setTargetCertConstraints(::java::security::cert::CertSelector *); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); +private: + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) trustAnchors; + ::java::util::Set * initPolicies; + ::java::util::List * certStores; + ::java::util::List * pathCheckers; + jboolean revocationEnabled; + jboolean exPolicyRequired; + jboolean policyMappingInhibited; + jboolean anyPolicyInhibited; + jboolean policyQualRejected; + ::java::util::Date * date; + ::java::lang::String * sigProvider; + ::java::security::cert::CertSelector * targetConstraints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_PKIXParameters__ diff --git a/libjava/java/security/cert/PolicyNode.h b/libjava/java/security/cert/PolicyNode.h new file mode 100644 index 00000000000..04cadaf0528 --- /dev/null +++ b/libjava/java/security/cert/PolicyNode.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PolicyNode__ +#define __java_security_cert_PolicyNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class PolicyNode; + } + } + } +} + +class java::security::cert::PolicyNode : public ::java::lang::Object +{ + +public: + virtual ::java::util::Iterator * getChildren() = 0; + virtual jint getDepth() = 0; + virtual ::java::util::Set * getExpectedPolicies() = 0; + virtual ::java::security::cert::PolicyNode * getParent() = 0; + virtual ::java::util::Set * getPolicyQualifiers() = 0; + virtual ::java::lang::String * getValidPolicy() = 0; + virtual jboolean isCritical() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_PolicyNode__ diff --git a/libjava/java/security/cert/PolicyQualifierInfo.h b/libjava/java/security/cert/PolicyQualifierInfo.h new file mode 100644 index 00000000000..ed16d26f7cf --- /dev/null +++ b/libjava/java/security/cert/PolicyQualifierInfo.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_PolicyQualifierInfo__ +#define __java_security_cert_PolicyQualifierInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace der + { + class DERValue; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class PolicyQualifierInfo; + } + } + } +} + +class java::security::cert::PolicyQualifierInfo : public ::java::lang::Object +{ + +public: + PolicyQualifierInfo(JArray< jbyte > *); + virtual ::java::lang::String * getPolicyQualifierId(); + virtual JArray< jbyte > * getEncoded(); + virtual JArray< jbyte > * getPolicyQualifier(); + virtual ::java::lang::String * toString(); +private: + ::gnu::java::security::OID * __attribute__((aligned(__alignof__( ::java::lang::Object)))) oid; + JArray< jbyte > * encoded; + ::gnu::java::security::der::DERValue * qualifier; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_PolicyQualifierInfo__ diff --git a/libjava/java/security/cert/TrustAnchor.h b/libjava/java/security/cert/TrustAnchor.h new file mode 100644 index 00000000000..3afc671bc0b --- /dev/null +++ b/libjava/java/security/cert/TrustAnchor.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_TrustAnchor__ +#define __java_security_cert_TrustAnchor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + namespace x509 + { + class X500DistinguishedName; + } + } + } + } + namespace java + { + namespace security + { + class PublicKey; + namespace cert + { + class TrustAnchor; + class X509Certificate; + } + } + } +} + +class java::security::cert::TrustAnchor : public ::java::lang::Object +{ + +public: + TrustAnchor(::java::security::cert::X509Certificate *, JArray< jbyte > *); + TrustAnchor(::java::lang::String *, ::java::security::PublicKey *, JArray< jbyte > *); + virtual ::java::security::cert::X509Certificate * getTrustedCert(); + virtual ::java::lang::String * getCAName(); + virtual ::java::security::PublicKey * getCAPublicKey(); + virtual JArray< jbyte > * getNameConstraints(); + virtual ::java::lang::String * toString(); +private: + ::gnu::java::security::x509::X500DistinguishedName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) caName; + ::java::security::PublicKey * caKey; + ::java::security::cert::X509Certificate * trustedCert; + JArray< jbyte > * nameConstraints; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_TrustAnchor__ diff --git a/libjava/java/security/cert/X509CRL.h b/libjava/java/security/cert/X509CRL.h new file mode 100644 index 00000000000..1c92665020f --- /dev/null +++ b/libjava/java/security/cert/X509CRL.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_X509CRL__ +#define __java_security_cert_X509CRL__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Principal; + class PublicKey; + namespace cert + { + class X509CRL; + class X509CRLEntry; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class java::security::cert::X509CRL : public ::java::security::cert::CRL +{ + +public: // actually protected + X509CRL(); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * getEncoded() = 0; + virtual void verify(::java::security::PublicKey *) = 0; + virtual void verify(::java::security::PublicKey *, ::java::lang::String *) = 0; + virtual jint getVersion() = 0; + virtual ::java::security::Principal * getIssuerDN() = 0; + virtual ::java::util::Date * getThisUpdate() = 0; + virtual ::java::util::Date * getNextUpdate() = 0; + virtual ::java::security::cert::X509CRLEntry * getRevokedCertificate(::java::math::BigInteger *) = 0; + virtual ::java::util::Set * getRevokedCertificates() = 0; + virtual JArray< jbyte > * getTBSCertList() = 0; + virtual JArray< jbyte > * getSignature() = 0; + virtual ::java::lang::String * getSigAlgName() = 0; + virtual ::java::lang::String * getSigAlgOID() = 0; + virtual JArray< jbyte > * getSigAlgParams() = 0; + virtual ::javax::security::auth::x500::X500Principal * getIssuerX500Principal(); + virtual jboolean hasUnsupportedCriticalExtension() = 0; + virtual ::java::util::Set * getCriticalExtensionOIDs() = 0; + virtual ::java::util::Set * getNonCriticalExtensionOIDs() = 0; + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_X509CRL__ diff --git a/libjava/java/security/cert/X509CRLEntry.h b/libjava/java/security/cert/X509CRLEntry.h new file mode 100644 index 00000000000..8d9c8d5f976 --- /dev/null +++ b/libjava/java/security/cert/X509CRLEntry.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_X509CRLEntry__ +#define __java_security_cert_X509CRLEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace cert + { + class X509CRLEntry; + } + } + } +} + +class java::security::cert::X509CRLEntry : public ::java::lang::Object +{ + +public: + X509CRLEntry(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * getEncoded() = 0; + virtual ::java::math::BigInteger * getSerialNumber() = 0; + virtual ::java::util::Date * getRevocationDate() = 0; + virtual jboolean hasExtensions() = 0; + virtual ::java::lang::String * toString() = 0; + virtual jboolean hasUnsupportedCriticalExtension() = 0; + virtual ::java::util::Set * getCriticalExtensionOIDs() = 0; + virtual ::java::util::Set * getNonCriticalExtensionOIDs() = 0; + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_X509CRLEntry__ diff --git a/libjava/java/security/cert/X509CRLSelector.h b/libjava/java/security/cert/X509CRLSelector.h new file mode 100644 index 00000000000..e888f633e1a --- /dev/null +++ b/libjava/java/security/cert/X509CRLSelector.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_X509CRLSelector__ +#define __java_security_cert_X509CRLSelector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace cert + { + class CRL; + class X509CRLSelector; + class X509Certificate; + } + } + } +} + +class java::security::cert::X509CRLSelector : public ::java::lang::Object +{ + +public: + X509CRLSelector(); + virtual void addIssuerName(JArray< jbyte > *); + virtual void addIssuerName(::java::lang::String *); + virtual void setIssuerNames(::java::util::Collection *); + virtual ::java::util::Collection * getIssuerNames(); + virtual ::java::math::BigInteger * getMaxCRL(); + virtual ::java::math::BigInteger * getMinCRL(); + virtual void setMaxCRLNumber(::java::math::BigInteger *); + virtual void setMinCRLNumber(::java::math::BigInteger *); + virtual ::java::util::Date * getDateAndTime(); + virtual void setDateAndTime(::java::util::Date *); + virtual ::java::security::cert::X509Certificate * getCertificateChecking(); + virtual void setCertificateChecking(::java::security::cert::X509Certificate *); + virtual ::java::lang::String * toString(); + virtual jboolean match(::java::security::cert::CRL *); + virtual ::java::lang::Object * clone(); +private: + static ::java::lang::String * CRL_NUMBER_ID; + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) issuerNames; + ::java::math::BigInteger * maxCrlNumber; + ::java::math::BigInteger * minCrlNumber; + ::java::util::Date * date; + ::java::security::cert::X509Certificate * cert; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_X509CRLSelector__ diff --git a/libjava/java/security/cert/X509CertSelector.h b/libjava/java/security/cert/X509CertSelector.h new file mode 100644 index 00000000000..69dd81e50eb --- /dev/null +++ b/libjava/java/security/cert/X509CertSelector.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_X509CertSelector__ +#define __java_security_cert_X509CertSelector__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + } + } + } + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class PublicKey; + namespace cert + { + class Certificate; + class X509CertSelector; + class X509Certificate; + } + namespace spec + { + class X509EncodedKeySpec; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class java::security::cert::X509CertSelector : public ::java::lang::Object +{ + +public: + X509CertSelector(); + virtual ::java::security::cert::X509Certificate * getCertificate(); + virtual void setCertificate(::java::security::cert::X509Certificate *); + virtual ::java::math::BigInteger * getSerialNumber(); + virtual void setSerialNumber(::java::math::BigInteger *); + virtual ::java::lang::String * getIssuerAsString(); + virtual JArray< jbyte > * getIssuerAsBytes(); + virtual void setIssuer(::java::lang::String *); + virtual void setIssuer(JArray< jbyte > *); + virtual ::java::lang::String * getSubjectAsString(); + virtual JArray< jbyte > * getSubjectAsBytes(); + virtual void setSubject(::java::lang::String *); + virtual void setSubject(JArray< jbyte > *); + virtual JArray< jbyte > * getSubjectKeyIdentifier(); + virtual void setSubjectKeyIdentifier(JArray< jbyte > *); + virtual JArray< jbyte > * getAuthorityKeyIdentifier(); + virtual void setAuthorityKeyIdentifier(JArray< jbyte > *); + virtual ::java::util::Date * getCertificateValid(); + virtual void setCertificateValid(::java::util::Date *); + virtual ::java::util::Date * getPrivateKeyValid(); + virtual void setPrivateKeyValid(::java::util::Date *); + virtual ::java::lang::String * getSubjectPublicKeyAlgID(); + virtual void setSubjectPublicKeyAlgID(::java::lang::String *); + virtual ::java::security::PublicKey * getSubjectPublicKey(); + virtual void setSubjectPublicKey(::java::security::PublicKey *); + virtual void setSubjectPublicKey(JArray< jbyte > *); + virtual JArray< jboolean > * getKeyUsage(); + virtual void setKeyUsage(JArray< jboolean > *); + virtual ::java::util::Set * getExtendedKeyUsage(); + virtual void setExtendedKeyUsage(::java::util::Set *); + virtual jboolean getMatchAllSubjectAltNames(); + virtual void setMatchAllSubjectAltNames(jboolean); + virtual void setSubjectAlternativeNames(::java::util::Collection *); + virtual void addSubjectAlternativeName(jint, ::java::lang::String *); + virtual void addSubjectAlternativeName(jint, JArray< jbyte > *); + virtual JArray< jbyte > * getNameConstraints(); + virtual void setNameConstraints(JArray< jbyte > *); + virtual jint getBasicConstraints(); + virtual void setBasicConstraints(jint); + virtual jboolean match(::java::security::cert::Certificate *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::Object * clone(); +private: + static jboolean checkOid(JArray< jint > *); + static ::java::lang::String * AUTH_KEY_ID; + static ::java::lang::String * SUBJECT_KEY_ID; + static ::java::lang::String * NAME_CONSTRAINTS_ID; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) basicConstraints; + ::java::security::cert::X509Certificate * cert; + ::java::math::BigInteger * serialNo; + ::javax::security::auth::x500::X500Principal * issuer; + ::javax::security::auth::x500::X500Principal * subject; + JArray< jbyte > * subjectKeyId; + JArray< jbyte > * authKeyId; + JArray< jboolean > * keyUsage; + ::java::util::Date * certValid; + ::gnu::java::security::OID * sigId; + ::java::security::PublicKey * subjectKey; + ::java::security::spec::X509EncodedKeySpec * subjectKeySpec; + ::java::util::Set * keyPurposeSet; + ::java::util::List * altNames; + jboolean matchAllNames; + JArray< jbyte > * nameConstraints; + ::java::util::Set * policy; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_X509CertSelector__ diff --git a/libjava/java/security/cert/X509Certificate.h b/libjava/java/security/cert/X509Certificate.h new file mode 100644 index 00000000000..9f8afe1f418 --- /dev/null +++ b/libjava/java/security/cert/X509Certificate.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_X509Certificate__ +#define __java_security_cert_X509Certificate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Principal; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class java::security::cert::X509Certificate : public ::java::security::cert::Certificate +{ + +public: // actually protected + X509Certificate(); +public: + virtual void checkValidity() = 0; + virtual void checkValidity(::java::util::Date *) = 0; + virtual jint getVersion() = 0; + virtual ::java::math::BigInteger * getSerialNumber() = 0; + virtual ::java::security::Principal * getIssuerDN() = 0; + virtual ::java::security::Principal * getSubjectDN() = 0; + virtual ::java::util::Date * getNotBefore() = 0; + virtual ::java::util::Date * getNotAfter() = 0; + virtual JArray< jbyte > * getTBSCertificate() = 0; + virtual JArray< jbyte > * getSignature() = 0; + virtual ::java::lang::String * getSigAlgName() = 0; + virtual ::java::lang::String * getSigAlgOID() = 0; + virtual JArray< jbyte > * getSigAlgParams() = 0; + virtual JArray< jboolean > * getIssuerUniqueID() = 0; + virtual JArray< jboolean > * getSubjectUniqueID() = 0; + virtual JArray< jboolean > * getKeyUsage() = 0; + virtual jint getBasicConstraints() = 0; + virtual ::java::util::List * getExtendedKeyUsage(); + virtual ::java::util::Collection * getSubjectAlternativeNames(); + virtual ::java::util::Collection * getIssuerAlternativeNames(); + virtual ::javax::security::auth::x500::X500Principal * getSubjectX500Principal(); + virtual ::javax::security::auth::x500::X500Principal * getIssuerX500Principal(); + virtual jboolean hasUnsupportedCriticalExtension() = 0; + virtual ::java::util::Set * getCriticalExtensionOIDs() = 0; + virtual ::java::util::Set * getNonCriticalExtensionOIDs() = 0; + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *) = 0; +private: + static const jlong serialVersionUID = -2491127588187038216LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_cert_X509Certificate__ diff --git a/libjava/java/security/cert/X509Extension.h b/libjava/java/security/cert/X509Extension.h new file mode 100644 index 00000000000..53eb5d1b699 --- /dev/null +++ b/libjava/java/security/cert/X509Extension.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_cert_X509Extension__ +#define __java_security_cert_X509Extension__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class X509Extension; + } + } + } +} + +class java::security::cert::X509Extension : public ::java::lang::Object +{ + +public: + virtual jboolean hasUnsupportedCriticalExtension() = 0; + virtual ::java::util::Set * getCriticalExtensionOIDs() = 0; + virtual ::java::util::Set * getNonCriticalExtensionOIDs() = 0; + virtual JArray< jbyte > * getExtensionValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_cert_X509Extension__ diff --git a/libjava/java/security/interfaces/DSAKey.h b/libjava/java/security/interfaces/DSAKey.h new file mode 100644 index 00000000000..ee58f377dc1 --- /dev/null +++ b/libjava/java/security/interfaces/DSAKey.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_DSAKey__ +#define __java_security_interfaces_DSAKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace interfaces + { + class DSAKey; + class DSAParams; + } + } + } +} + +class java::security::interfaces::DSAKey : public ::java::lang::Object +{ + +public: + virtual ::java::security::interfaces::DSAParams * getParams() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_DSAKey__ diff --git a/libjava/java/security/interfaces/DSAKeyPairGenerator.h b/libjava/java/security/interfaces/DSAKeyPairGenerator.h new file mode 100644 index 00000000000..424348c80b6 --- /dev/null +++ b/libjava/java/security/interfaces/DSAKeyPairGenerator.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_DSAKeyPairGenerator__ +#define __java_security_interfaces_DSAKeyPairGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class SecureRandom; + namespace interfaces + { + class DSAKeyPairGenerator; + class DSAParams; + } + } + } +} + +class java::security::interfaces::DSAKeyPairGenerator : public ::java::lang::Object +{ + +public: + virtual void initialize(::java::security::interfaces::DSAParams *, ::java::security::SecureRandom *) = 0; + virtual void initialize(jint, jboolean, ::java::security::SecureRandom *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_DSAKeyPairGenerator__ diff --git a/libjava/java/security/interfaces/DSAParams.h b/libjava/java/security/interfaces/DSAParams.h new file mode 100644 index 00000000000..e6963fb115d --- /dev/null +++ b/libjava/java/security/interfaces/DSAParams.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_DSAParams__ +#define __java_security_interfaces_DSAParams__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class DSAParams; + } + } + } +} + +class java::security::interfaces::DSAParams : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getG() = 0; + virtual ::java::math::BigInteger * getP() = 0; + virtual ::java::math::BigInteger * getQ() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_DSAParams__ diff --git a/libjava/java/security/interfaces/DSAPrivateKey.h b/libjava/java/security/interfaces/DSAPrivateKey.h new file mode 100644 index 00000000000..e1fb8e86c6d --- /dev/null +++ b/libjava/java/security/interfaces/DSAPrivateKey.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_DSAPrivateKey__ +#define __java_security_interfaces_DSAPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class DSAParams; + class DSAPrivateKey; + } + } + } +} + +class java::security::interfaces::DSAPrivateKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getX() = 0; + virtual ::java::security::interfaces::DSAParams * getParams() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = 7776497482533790279LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_DSAPrivateKey__ diff --git a/libjava/java/security/interfaces/DSAPublicKey.h b/libjava/java/security/interfaces/DSAPublicKey.h new file mode 100644 index 00000000000..07916107483 --- /dev/null +++ b/libjava/java/security/interfaces/DSAPublicKey.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_DSAPublicKey__ +#define __java_security_interfaces_DSAPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class DSAParams; + class DSAPublicKey; + } + } + } +} + +class java::security::interfaces::DSAPublicKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getY() = 0; + virtual ::java::security::interfaces::DSAParams * getParams() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = 1234526332779022332LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_DSAPublicKey__ diff --git a/libjava/java/security/interfaces/RSAKey.h b/libjava/java/security/interfaces/RSAKey.h new file mode 100644 index 00000000000..76985bdb64f --- /dev/null +++ b/libjava/java/security/interfaces/RSAKey.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_RSAKey__ +#define __java_security_interfaces_RSAKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class RSAKey; + } + } + } +} + +class java::security::interfaces::RSAKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getModulus() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_RSAKey__ diff --git a/libjava/java/security/interfaces/RSAMultiPrimePrivateCrtKey.h b/libjava/java/security/interfaces/RSAMultiPrimePrivateCrtKey.h new file mode 100644 index 00000000000..3e4ff331fbc --- /dev/null +++ b/libjava/java/security/interfaces/RSAMultiPrimePrivateCrtKey.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_RSAMultiPrimePrivateCrtKey__ +#define __java_security_interfaces_RSAMultiPrimePrivateCrtKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class RSAMultiPrimePrivateCrtKey; + } + namespace spec + { + class RSAOtherPrimeInfo; + } + } + } +} + +class java::security::interfaces::RSAMultiPrimePrivateCrtKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getPublicExponent() = 0; + virtual ::java::math::BigInteger * getPrimeP() = 0; + virtual ::java::math::BigInteger * getPrimeQ() = 0; + virtual ::java::math::BigInteger * getPrimeExponentP() = 0; + virtual ::java::math::BigInteger * getPrimeExponentQ() = 0; + virtual ::java::math::BigInteger * getCrtCoefficient() = 0; + virtual JArray< ::java::security::spec::RSAOtherPrimeInfo * > * getOtherPrimeInfo() = 0; + virtual ::java::math::BigInteger * getPrivateExponent() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + virtual ::java::math::BigInteger * getModulus() = 0; + static const jlong serialVersionUID = 618058533534628008LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_RSAMultiPrimePrivateCrtKey__ diff --git a/libjava/java/security/interfaces/RSAPrivateCrtKey.h b/libjava/java/security/interfaces/RSAPrivateCrtKey.h new file mode 100644 index 00000000000..7c6943d4342 --- /dev/null +++ b/libjava/java/security/interfaces/RSAPrivateCrtKey.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_RSAPrivateCrtKey__ +#define __java_security_interfaces_RSAPrivateCrtKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class RSAPrivateCrtKey; + } + } + } +} + +class java::security::interfaces::RSAPrivateCrtKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getPublicExponent() = 0; + virtual ::java::math::BigInteger * getPrimeP() = 0; + virtual ::java::math::BigInteger * getPrimeQ() = 0; + virtual ::java::math::BigInteger * getPrimeExponentP() = 0; + virtual ::java::math::BigInteger * getPrimeExponentQ() = 0; + virtual ::java::math::BigInteger * getCrtCoefficient() = 0; + virtual ::java::math::BigInteger * getPrivateExponent() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + virtual ::java::math::BigInteger * getModulus() = 0; + static const jlong serialVersionUID = -5682214253527700368LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_RSAPrivateCrtKey__ diff --git a/libjava/java/security/interfaces/RSAPrivateKey.h b/libjava/java/security/interfaces/RSAPrivateKey.h new file mode 100644 index 00000000000..b1e6139789c --- /dev/null +++ b/libjava/java/security/interfaces/RSAPrivateKey.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_RSAPrivateKey__ +#define __java_security_interfaces_RSAPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class RSAPrivateKey; + } + } + } +} + +class java::security::interfaces::RSAPrivateKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getPrivateExponent() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + virtual ::java::math::BigInteger * getModulus() = 0; + static const jlong serialVersionUID = 5187144804936595022LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_RSAPrivateKey__ diff --git a/libjava/java/security/interfaces/RSAPublicKey.h b/libjava/java/security/interfaces/RSAPublicKey.h new file mode 100644 index 00000000000..d2cd7e7031c --- /dev/null +++ b/libjava/java/security/interfaces/RSAPublicKey.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_interfaces_RSAPublicKey__ +#define __java_security_interfaces_RSAPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace interfaces + { + class RSAPublicKey; + } + } + } +} + +class java::security::interfaces::RSAPublicKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getPublicExponent() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + virtual ::java::math::BigInteger * getModulus() = 0; + static const jlong serialVersionUID = -8727434096241101194LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_interfaces_RSAPublicKey__ diff --git a/libjava/java/security/spec/AlgorithmParameterSpec.h b/libjava/java/security/spec/AlgorithmParameterSpec.h new file mode 100644 index 00000000000..9fa07b0a3bc --- /dev/null +++ b/libjava/java/security/spec/AlgorithmParameterSpec.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_AlgorithmParameterSpec__ +#define __java_security_spec_AlgorithmParameterSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class AlgorithmParameterSpec; + } + } + } +} + +class java::security::spec::AlgorithmParameterSpec : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_spec_AlgorithmParameterSpec__ diff --git a/libjava/java/security/spec/DSAParameterSpec.h b/libjava/java/security/spec/DSAParameterSpec.h new file mode 100644 index 00000000000..83a2cb8ec01 --- /dev/null +++ b/libjava/java/security/spec/DSAParameterSpec.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_DSAParameterSpec__ +#define __java_security_spec_DSAParameterSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class DSAParameterSpec; + } + } + } +} + +class java::security::spec::DSAParameterSpec : public ::java::lang::Object +{ + +public: + DSAParameterSpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getP(); + virtual ::java::math::BigInteger * getQ(); + virtual ::java::math::BigInteger * getG(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * g; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_DSAParameterSpec__ diff --git a/libjava/java/security/spec/DSAPrivateKeySpec.h b/libjava/java/security/spec/DSAPrivateKeySpec.h new file mode 100644 index 00000000000..fe1cae312a4 --- /dev/null +++ b/libjava/java/security/spec/DSAPrivateKeySpec.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_DSAPrivateKeySpec__ +#define __java_security_spec_DSAPrivateKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class DSAPrivateKeySpec; + } + } + } +} + +class java::security::spec::DSAPrivateKeySpec : public ::java::lang::Object +{ + +public: + DSAPrivateKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getX(); + virtual ::java::math::BigInteger * getP(); + virtual ::java::math::BigInteger * getQ(); + virtual ::java::math::BigInteger * getG(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + ::java::math::BigInteger * p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * g; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_DSAPrivateKeySpec__ diff --git a/libjava/java/security/spec/DSAPublicKeySpec.h b/libjava/java/security/spec/DSAPublicKeySpec.h new file mode 100644 index 00000000000..aa0cc5c2ac5 --- /dev/null +++ b/libjava/java/security/spec/DSAPublicKeySpec.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_DSAPublicKeySpec__ +#define __java_security_spec_DSAPublicKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class DSAPublicKeySpec; + } + } + } +} + +class java::security::spec::DSAPublicKeySpec : public ::java::lang::Object +{ + +public: + DSAPublicKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getY(); + virtual ::java::math::BigInteger * getP(); + virtual ::java::math::BigInteger * getQ(); + virtual ::java::math::BigInteger * getG(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) y; + ::java::math::BigInteger * p; + ::java::math::BigInteger * q; + ::java::math::BigInteger * g; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_DSAPublicKeySpec__ diff --git a/libjava/java/security/spec/EncodedKeySpec.h b/libjava/java/security/spec/EncodedKeySpec.h new file mode 100644 index 00000000000..bc913b1e568 --- /dev/null +++ b/libjava/java/security/spec/EncodedKeySpec.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_EncodedKeySpec__ +#define __java_security_spec_EncodedKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class EncodedKeySpec; + } + } + } +} + +class java::security::spec::EncodedKeySpec : public ::java::lang::Object +{ + +public: + EncodedKeySpec(JArray< jbyte > *); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat() = 0; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encodedKey; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_EncodedKeySpec__ diff --git a/libjava/java/security/spec/InvalidKeySpecException.h b/libjava/java/security/spec/InvalidKeySpecException.h new file mode 100644 index 00000000000..ff2ea69fef3 --- /dev/null +++ b/libjava/java/security/spec/InvalidKeySpecException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_InvalidKeySpecException__ +#define __java_security_spec_InvalidKeySpecException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class InvalidKeySpecException; + } + } + } +} + +class java::security::spec::InvalidKeySpecException : public ::java::security::GeneralSecurityException +{ + +public: + InvalidKeySpecException(); + InvalidKeySpecException(::java::lang::String *); + InvalidKeySpecException(::java::lang::String *, ::java::lang::Throwable *); + InvalidKeySpecException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 3546139293998810778LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_InvalidKeySpecException__ diff --git a/libjava/java/security/spec/InvalidParameterSpecException.h b/libjava/java/security/spec/InvalidParameterSpecException.h new file mode 100644 index 00000000000..e80550debc2 --- /dev/null +++ b/libjava/java/security/spec/InvalidParameterSpecException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_InvalidParameterSpecException__ +#define __java_security_spec_InvalidParameterSpecException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class InvalidParameterSpecException; + } + } + } +} + +class java::security::spec::InvalidParameterSpecException : public ::java::security::GeneralSecurityException +{ + +public: + InvalidParameterSpecException(); + InvalidParameterSpecException(::java::lang::String *); +private: + static const jlong serialVersionUID = -970468769593399342LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_InvalidParameterSpecException__ diff --git a/libjava/java/security/spec/KeySpec.h b/libjava/java/security/spec/KeySpec.h new file mode 100644 index 00000000000..cdb7b40cfb4 --- /dev/null +++ b/libjava/java/security/spec/KeySpec.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_KeySpec__ +#define __java_security_spec_KeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class KeySpec; + } + } + } +} + +class java::security::spec::KeySpec : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_security_spec_KeySpec__ diff --git a/libjava/java/security/spec/PKCS8EncodedKeySpec.h b/libjava/java/security/spec/PKCS8EncodedKeySpec.h new file mode 100644 index 00000000000..20e7007e139 --- /dev/null +++ b/libjava/java/security/spec/PKCS8EncodedKeySpec.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_PKCS8EncodedKeySpec__ +#define __java_security_spec_PKCS8EncodedKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class PKCS8EncodedKeySpec; + } + } + } +} + +class java::security::spec::PKCS8EncodedKeySpec : public ::java::security::spec::EncodedKeySpec +{ + +public: + PKCS8EncodedKeySpec(JArray< jbyte > *); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_PKCS8EncodedKeySpec__ diff --git a/libjava/java/security/spec/PSSParameterSpec.h b/libjava/java/security/spec/PSSParameterSpec.h new file mode 100644 index 00000000000..01253a2ca05 --- /dev/null +++ b/libjava/java/security/spec/PSSParameterSpec.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_PSSParameterSpec__ +#define __java_security_spec_PSSParameterSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class PSSParameterSpec; + } + } + } +} + +class java::security::spec::PSSParameterSpec : public ::java::lang::Object +{ + +public: + PSSParameterSpec(jint); + virtual jint getSaltLength(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) saltLen; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_PSSParameterSpec__ diff --git a/libjava/java/security/spec/RSAKeyGenParameterSpec.h b/libjava/java/security/spec/RSAKeyGenParameterSpec.h new file mode 100644 index 00000000000..a047dd668e6 --- /dev/null +++ b/libjava/java/security/spec/RSAKeyGenParameterSpec.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_RSAKeyGenParameterSpec__ +#define __java_security_spec_RSAKeyGenParameterSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class RSAKeyGenParameterSpec; + } + } + } +} + +class java::security::spec::RSAKeyGenParameterSpec : public ::java::lang::Object +{ + +public: + RSAKeyGenParameterSpec(jint, ::java::math::BigInteger *); + virtual jint getKeysize(); + virtual ::java::math::BigInteger * getPublicExponent(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) keysize; + ::java::math::BigInteger * publicExponent; +public: + static ::java::math::BigInteger * F0; + static ::java::math::BigInteger * F4; + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_RSAKeyGenParameterSpec__ diff --git a/libjava/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.h b/libjava/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.h new file mode 100644 index 00000000000..bebb3d3a9e8 --- /dev/null +++ b/libjava/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_RSAMultiPrimePrivateCrtKeySpec__ +#define __java_security_spec_RSAMultiPrimePrivateCrtKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class RSAMultiPrimePrivateCrtKeySpec; + class RSAOtherPrimeInfo; + } + } + } +} + +class java::security::spec::RSAMultiPrimePrivateCrtKeySpec : public ::java::security::spec::RSAPrivateKeySpec +{ + +public: + RSAMultiPrimePrivateCrtKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< ::java::security::spec::RSAOtherPrimeInfo * > *); + virtual ::java::math::BigInteger * getPublicExponent(); + virtual ::java::math::BigInteger * getPrimeP(); + virtual ::java::math::BigInteger * getPrimeQ(); + virtual ::java::math::BigInteger * getPrimeExponentP(); + virtual ::java::math::BigInteger * getPrimeExponentQ(); + virtual ::java::math::BigInteger * getCrtCoefficient(); + virtual JArray< ::java::security::spec::RSAOtherPrimeInfo * > * getOtherPrimeInfo(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::security::spec::RSAPrivateKeySpec)))) publicExponent; + ::java::math::BigInteger * primeP; + ::java::math::BigInteger * primeQ; + ::java::math::BigInteger * primeExponentP; + ::java::math::BigInteger * primeExponentQ; + ::java::math::BigInteger * crtCoefficient; + JArray< ::java::security::spec::RSAOtherPrimeInfo * > * otherPrimeInfo; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_RSAMultiPrimePrivateCrtKeySpec__ diff --git a/libjava/java/security/spec/RSAOtherPrimeInfo.h b/libjava/java/security/spec/RSAOtherPrimeInfo.h new file mode 100644 index 00000000000..878e3e58e04 --- /dev/null +++ b/libjava/java/security/spec/RSAOtherPrimeInfo.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_RSAOtherPrimeInfo__ +#define __java_security_spec_RSAOtherPrimeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class RSAOtherPrimeInfo; + } + } + } +} + +class java::security::spec::RSAOtherPrimeInfo : public ::java::lang::Object +{ + +public: + RSAOtherPrimeInfo(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getPrime(); + virtual ::java::math::BigInteger * getExponent(); + virtual ::java::math::BigInteger * getCrtCoefficient(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prime; + ::java::math::BigInteger * primeExponent; + ::java::math::BigInteger * crtCoefficient; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_RSAOtherPrimeInfo__ diff --git a/libjava/java/security/spec/RSAPrivateCrtKeySpec.h b/libjava/java/security/spec/RSAPrivateCrtKeySpec.h new file mode 100644 index 00000000000..4f25ac6789e --- /dev/null +++ b/libjava/java/security/spec/RSAPrivateCrtKeySpec.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_RSAPrivateCrtKeySpec__ +#define __java_security_spec_RSAPrivateCrtKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class RSAPrivateCrtKeySpec; + } + } + } +} + +class java::security::spec::RSAPrivateCrtKeySpec : public ::java::security::spec::RSAPrivateKeySpec +{ + +public: + RSAPrivateCrtKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getPublicExponent(); + virtual ::java::math::BigInteger * getPrimeP(); + virtual ::java::math::BigInteger * getPrimeQ(); + virtual ::java::math::BigInteger * getPrimeExponentP(); + virtual ::java::math::BigInteger * getPrimeExponentQ(); + virtual ::java::math::BigInteger * getCrtCoefficient(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::security::spec::RSAPrivateKeySpec)))) publicExponent; + ::java::math::BigInteger * primeP; + ::java::math::BigInteger * primeQ; + ::java::math::BigInteger * primeExponentP; + ::java::math::BigInteger * primeExponentQ; + ::java::math::BigInteger * crtCoefficient; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_RSAPrivateCrtKeySpec__ diff --git a/libjava/java/security/spec/RSAPrivateKeySpec.h b/libjava/java/security/spec/RSAPrivateKeySpec.h new file mode 100644 index 00000000000..4b0136b45f1 --- /dev/null +++ b/libjava/java/security/spec/RSAPrivateKeySpec.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_RSAPrivateKeySpec__ +#define __java_security_spec_RSAPrivateKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class RSAPrivateKeySpec; + } + } + } +} + +class java::security::spec::RSAPrivateKeySpec : public ::java::lang::Object +{ + +public: + RSAPrivateKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getModulus(); + virtual ::java::math::BigInteger * getPrivateExponent(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus; + ::java::math::BigInteger * privateExponent; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_RSAPrivateKeySpec__ diff --git a/libjava/java/security/spec/RSAPublicKeySpec.h b/libjava/java/security/spec/RSAPublicKeySpec.h new file mode 100644 index 00000000000..d6f80a3160c --- /dev/null +++ b/libjava/java/security/spec/RSAPublicKeySpec.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_RSAPublicKeySpec__ +#define __java_security_spec_RSAPublicKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + namespace spec + { + class RSAPublicKeySpec; + } + } + } +} + +class java::security::spec::RSAPublicKeySpec : public ::java::lang::Object +{ + +public: + RSAPublicKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getModulus(); + virtual ::java::math::BigInteger * getPublicExponent(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) modulus; + ::java::math::BigInteger * publicExponent; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_RSAPublicKeySpec__ diff --git a/libjava/java/security/spec/X509EncodedKeySpec.h b/libjava/java/security/spec/X509EncodedKeySpec.h new file mode 100644 index 00000000000..426ea1be7b7 --- /dev/null +++ b/libjava/java/security/spec/X509EncodedKeySpec.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_security_spec_X509EncodedKeySpec__ +#define __java_security_spec_X509EncodedKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class X509EncodedKeySpec; + } + } + } +} + +class java::security::spec::X509EncodedKeySpec : public ::java::security::spec::EncodedKeySpec +{ + +public: + X509EncodedKeySpec(JArray< jbyte > *); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + static ::java::lang::Class class$; +}; + +#endif // __java_security_spec_X509EncodedKeySpec__ diff --git a/libjava/java/sql/Array.h b/libjava/java/sql/Array.h new file mode 100644 index 00000000000..34a1e840cc8 --- /dev/null +++ b/libjava/java/sql/Array.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Array__ +#define __java_sql_Array__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Array; + class ResultSet; + } + } +} + +class java::sql::Array : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getBaseTypeName() = 0; + virtual jint getBaseType() = 0; + virtual ::java::lang::Object * getArray() = 0; + virtual ::java::lang::Object * getArray(::java::util::Map *) = 0; + virtual ::java::lang::Object * getArray(jlong, jint) = 0; + virtual ::java::lang::Object * getArray(jlong, jint, ::java::util::Map *) = 0; + virtual ::java::sql::ResultSet * getResultSet() = 0; + virtual ::java::sql::ResultSet * getResultSet(::java::util::Map *) = 0; + virtual ::java::sql::ResultSet * getResultSet(jlong, jint) = 0; + virtual ::java::sql::ResultSet * getResultSet(jlong, jint, ::java::util::Map *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Array__ diff --git a/libjava/java/sql/BatchUpdateException.h b/libjava/java/sql/BatchUpdateException.h new file mode 100644 index 00000000000..b9d28cf88d9 --- /dev/null +++ b/libjava/java/sql/BatchUpdateException.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_BatchUpdateException__ +#define __java_sql_BatchUpdateException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class BatchUpdateException; + } + } +} + +class java::sql::BatchUpdateException : public ::java::sql::SQLException +{ + +public: + BatchUpdateException(::java::lang::String *, ::java::lang::String *, jint, JArray< jint > *); + BatchUpdateException(::java::lang::String *, ::java::lang::String *, JArray< jint > *); + BatchUpdateException(::java::lang::String *, JArray< jint > *); + BatchUpdateException(JArray< jint > *); + BatchUpdateException(); + virtual JArray< jint > * getUpdateCounts(); +public: // actually package-private + static const jlong serialVersionUID = 5977529877145521757LL; +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::sql::SQLException)))) updateCounts; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_BatchUpdateException__ diff --git a/libjava/java/sql/Blob.h b/libjava/java/sql/Blob.h new file mode 100644 index 00000000000..a1b00c2eda0 --- /dev/null +++ b/libjava/java/sql/Blob.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Blob__ +#define __java_sql_Blob__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class Blob; + } + } +} + +class java::sql::Blob : public ::java::lang::Object +{ + +public: + virtual jlong length() = 0; + virtual JArray< jbyte > * getBytes(jlong, jint) = 0; + virtual ::java::io::InputStream * getBinaryStream() = 0; + virtual jlong position(JArray< jbyte > *, jlong) = 0; + virtual jlong position(::java::sql::Blob *, jlong) = 0; + virtual jint setBytes(jlong, JArray< jbyte > *) = 0; + virtual jint setBytes(jlong, JArray< jbyte > *, jint, jint) = 0; + virtual ::java::io::OutputStream * setBinaryStream(jlong) = 0; + virtual void truncate(jlong) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Blob__ diff --git a/libjava/java/sql/CallableStatement.h b/libjava/java/sql/CallableStatement.h new file mode 100644 index 00000000000..143184e5c8b --- /dev/null +++ b/libjava/java/sql/CallableStatement.h @@ -0,0 +1,203 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_CallableStatement__ +#define __java_sql_CallableStatement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace net + { + class URL; + } + namespace sql + { + class Array; + class Blob; + class CallableStatement; + class Clob; + class Connection; + class Date; + class ParameterMetaData; + class Ref; + class ResultSet; + class ResultSetMetaData; + class SQLWarning; + class Time; + class Timestamp; + } + } +} + +class java::sql::CallableStatement : public ::java::lang::Object +{ + +public: + virtual void registerOutParameter(jint, jint) = 0; + virtual void registerOutParameter(jint, jint, jint) = 0; + virtual jboolean wasNull() = 0; + virtual ::java::lang::String * getString(jint) = 0; + virtual jboolean getBoolean(jint) = 0; + virtual jbyte getByte(jint) = 0; + virtual jshort getShort(jint) = 0; + virtual jint getInt(jint) = 0; + virtual jlong getLong(jint) = 0; + virtual jfloat getFloat(jint) = 0; + virtual jdouble getDouble(jint) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(jint, jint) = 0; + virtual JArray< jbyte > * getBytes(jint) = 0; + virtual ::java::sql::Date * getDate(jint) = 0; + virtual ::java::sql::Time * getTime(jint) = 0; + virtual ::java::sql::Timestamp * getTimestamp(jint) = 0; + virtual ::java::lang::Object * getObject(jint) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(jint) = 0; + virtual ::java::lang::Object * getObject(jint, ::java::util::Map *) = 0; + virtual ::java::sql::Ref * getRef(jint) = 0; + virtual ::java::sql::Blob * getBlob(jint) = 0; + virtual ::java::sql::Clob * getClob(jint) = 0; + virtual ::java::sql::Array * getArray(jint) = 0; + virtual ::java::sql::Date * getDate(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Time * getTime(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(jint, ::java::util::Calendar *) = 0; + virtual void registerOutParameter(jint, jint, ::java::lang::String *) = 0; + virtual void registerOutParameter(::java::lang::String *, jint) = 0; + virtual void registerOutParameter(::java::lang::String *, jint, jint) = 0; + virtual void registerOutParameter(::java::lang::String *, jint, ::java::lang::String *) = 0; + virtual ::java::net::URL * getURL(jint) = 0; + virtual void setURL(::java::lang::String *, ::java::net::URL *) = 0; + virtual void setNull(::java::lang::String *, jint) = 0; + virtual void setBoolean(::java::lang::String *, jboolean) = 0; + virtual void setByte(::java::lang::String *, jbyte) = 0; + virtual void setShort(::java::lang::String *, jshort) = 0; + virtual void setInt(::java::lang::String *, jint) = 0; + virtual void setLong(::java::lang::String *, jlong) = 0; + virtual void setFloat(::java::lang::String *, jfloat) = 0; + virtual void setDouble(::java::lang::String *, jdouble) = 0; + virtual void setBigDecimal(::java::lang::String *, ::java::math::BigDecimal *) = 0; + virtual void setString(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setBytes(::java::lang::String *, JArray< jbyte > *) = 0; + virtual void setDate(::java::lang::String *, ::java::sql::Date *) = 0; + virtual void setTime(::java::lang::String *, ::java::sql::Time *) = 0; + virtual void setTimestamp(::java::lang::String *, ::java::sql::Timestamp *) = 0; + virtual void setAsciiStream(::java::lang::String *, ::java::io::InputStream *, jint) = 0; + virtual void setBinaryStream(::java::lang::String *, ::java::io::InputStream *, jint) = 0; + virtual void setObject(::java::lang::String *, ::java::lang::Object *, jint, jint) = 0; + virtual void setObject(::java::lang::String *, ::java::lang::Object *, jint) = 0; + virtual void setObject(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void setCharacterStream(::java::lang::String *, ::java::io::Reader *, jint) = 0; + virtual void setDate(::java::lang::String *, ::java::sql::Date *, ::java::util::Calendar *) = 0; + virtual void setTime(::java::lang::String *, ::java::sql::Time *, ::java::util::Calendar *) = 0; + virtual void setTimestamp(::java::lang::String *, ::java::sql::Timestamp *, ::java::util::Calendar *) = 0; + virtual void setNull(::java::lang::String *, jint, ::java::lang::String *) = 0; + virtual ::java::lang::String * getString(::java::lang::String *) = 0; + virtual jboolean getBoolean(::java::lang::String *) = 0; + virtual jbyte getByte(::java::lang::String *) = 0; + virtual jshort getShort(::java::lang::String *) = 0; + virtual jint getInt(::java::lang::String *) = 0; + virtual jlong getLong(::java::lang::String *) = 0; + virtual jfloat getFloat(::java::lang::String *) = 0; + virtual jdouble getDouble(::java::lang::String *) = 0; + virtual JArray< jbyte > * getBytes(::java::lang::String *) = 0; + virtual ::java::sql::Date * getDate(::java::lang::String *) = 0; + virtual ::java::sql::Time * getTime(::java::lang::String *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(::java::lang::String *) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(::java::lang::String *) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *, ::java::util::Map *) = 0; + virtual ::java::sql::Ref * getRef(::java::lang::String *) = 0; + virtual ::java::sql::Blob * getBlob(::java::lang::String *) = 0; + virtual ::java::sql::Clob * getClob(::java::lang::String *) = 0; + virtual ::java::sql::Array * getArray(::java::lang::String *) = 0; + virtual ::java::sql::Date * getDate(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::sql::Time * getTime(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::net::URL * getURL(::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * executeQuery() = 0; + virtual jint executeUpdate() = 0; + virtual void setNull(jint, jint) = 0; + virtual void setBoolean(jint, jboolean) = 0; + virtual void setByte(jint, jbyte) = 0; + virtual void setShort(jint, jshort) = 0; + virtual void setInt(jint, jint) = 0; + virtual void setLong(jint, jlong) = 0; + virtual void setFloat(jint, jfloat) = 0; + virtual void setDouble(jint, jdouble) = 0; + virtual void setBigDecimal(jint, ::java::math::BigDecimal *) = 0; + virtual void setString(jint, ::java::lang::String *) = 0; + virtual void setBytes(jint, JArray< jbyte > *) = 0; + virtual void setDate(jint, ::java::sql::Date *) = 0; + virtual void setTime(jint, ::java::sql::Time *) = 0; + virtual void setTimestamp(jint, ::java::sql::Timestamp *) = 0; + virtual void setAsciiStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void setUnicodeStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void setBinaryStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void clearParameters() = 0; + virtual void setObject(jint, ::java::lang::Object *, jint, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *) = 0; + virtual jboolean execute() = 0; + virtual void addBatch() = 0; + virtual void setCharacterStream(jint, ::java::io::Reader *, jint) = 0; + virtual void setRef(jint, ::java::sql::Ref *) = 0; + virtual void setBlob(jint, ::java::sql::Blob *) = 0; + virtual void setClob(jint, ::java::sql::Clob *) = 0; + virtual void setArray(jint, ::java::sql::Array *) = 0; + virtual ::java::sql::ResultSetMetaData * getMetaData() = 0; + virtual void setDate(jint, ::java::sql::Date *, ::java::util::Calendar *) = 0; + virtual void setTime(jint, ::java::sql::Time *, ::java::util::Calendar *) = 0; + virtual void setTimestamp(jint, ::java::sql::Timestamp *, ::java::util::Calendar *) = 0; + virtual void setNull(jint, jint, ::java::lang::String *) = 0; + virtual void setURL(jint, ::java::net::URL *) = 0; + virtual ::java::sql::ParameterMetaData * getParameterMetaData() = 0; + virtual ::java::sql::ResultSet * executeQuery(::java::lang::String *) = 0; + virtual jint executeUpdate(::java::lang::String *) = 0; + virtual void close() = 0; + virtual jint getMaxFieldSize() = 0; + virtual void setMaxFieldSize(jint) = 0; + virtual jint getMaxRows() = 0; + virtual void setMaxRows(jint) = 0; + virtual void setEscapeProcessing(jboolean) = 0; + virtual jint getQueryTimeout() = 0; + virtual void setQueryTimeout(jint) = 0; + virtual void cancel() = 0; + virtual ::java::sql::SQLWarning * getWarnings() = 0; + virtual void clearWarnings() = 0; + virtual void setCursorName(::java::lang::String *) = 0; + virtual jboolean execute(::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getResultSet() = 0; + virtual jint getUpdateCount() = 0; + virtual jboolean getMoreResults() = 0; + virtual void setFetchDirection(jint) = 0; + virtual jint getFetchDirection() = 0; + virtual void setFetchSize(jint) = 0; + virtual jint getFetchSize() = 0; + virtual jint getResultSetConcurrency() = 0; + virtual jint getResultSetType() = 0; + virtual void addBatch(::java::lang::String *) = 0; + virtual void clearBatch() = 0; + virtual JArray< jint > * executeBatch() = 0; + virtual ::java::sql::Connection * getConnection() = 0; + virtual jboolean getMoreResults(jint) = 0; + virtual ::java::sql::ResultSet * getGeneratedKeys() = 0; + virtual jint executeUpdate(::java::lang::String *, jint) = 0; + virtual jint executeUpdate(::java::lang::String *, JArray< jint > *) = 0; + virtual jint executeUpdate(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual jboolean execute(::java::lang::String *, jint) = 0; + virtual jboolean execute(::java::lang::String *, JArray< jint > *) = 0; + virtual jboolean execute(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual jint getResultSetHoldability() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_CallableStatement__ diff --git a/libjava/java/sql/Clob.h b/libjava/java/sql/Clob.h new file mode 100644 index 00000000000..a402a030861 --- /dev/null +++ b/libjava/java/sql/Clob.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Clob__ +#define __java_sql_Clob__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Clob; + } + } +} + +class java::sql::Clob : public ::java::lang::Object +{ + +public: + virtual jlong length() = 0; + virtual ::java::lang::String * getSubString(jlong, jint) = 0; + virtual ::java::io::Reader * getCharacterStream() = 0; + virtual ::java::io::InputStream * getAsciiStream() = 0; + virtual jlong position(::java::lang::String *, jlong) = 0; + virtual jlong position(::java::sql::Clob *, jlong) = 0; + virtual jint setString(jlong, ::java::lang::String *) = 0; + virtual jint setString(jlong, ::java::lang::String *, jint, jint) = 0; + virtual ::java::io::OutputStream * setAsciiStream(jlong) = 0; + virtual ::java::io::Writer * setCharacterStream(jlong) = 0; + virtual void truncate(jlong) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Clob__ diff --git a/libjava/java/sql/Connection.h b/libjava/java/sql/Connection.h new file mode 100644 index 00000000000..3ce236fc84a --- /dev/null +++ b/libjava/java/sql/Connection.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Connection__ +#define __java_sql_Connection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class CallableStatement; + class Connection; + class DatabaseMetaData; + class PreparedStatement; + class SQLWarning; + class Savepoint; + class Statement; + } + } +} + +class java::sql::Connection : public ::java::lang::Object +{ + +public: + virtual ::java::sql::Statement * createStatement() = 0; + virtual ::java::sql::PreparedStatement * prepareStatement(::java::lang::String *) = 0; + virtual ::java::sql::CallableStatement * prepareCall(::java::lang::String *) = 0; + virtual ::java::lang::String * nativeSQL(::java::lang::String *) = 0; + virtual void setAutoCommit(jboolean) = 0; + virtual jboolean getAutoCommit() = 0; + virtual void commit() = 0; + virtual void rollback() = 0; + virtual void close() = 0; + virtual jboolean isClosed() = 0; + virtual ::java::sql::DatabaseMetaData * getMetaData() = 0; + virtual void setReadOnly(jboolean) = 0; + virtual jboolean isReadOnly() = 0; + virtual void setCatalog(::java::lang::String *) = 0; + virtual ::java::lang::String * getCatalog() = 0; + virtual void setTransactionIsolation(jint) = 0; + virtual jint getTransactionIsolation() = 0; + virtual ::java::sql::SQLWarning * getWarnings() = 0; + virtual void clearWarnings() = 0; + virtual ::java::sql::Statement * createStatement(jint, jint) = 0; + virtual ::java::sql::PreparedStatement * prepareStatement(::java::lang::String *, jint, jint) = 0; + virtual ::java::sql::CallableStatement * prepareCall(::java::lang::String *, jint, jint) = 0; + virtual ::java::util::Map * getTypeMap() = 0; + virtual void setTypeMap(::java::util::Map *) = 0; + virtual void setHoldability(jint) = 0; + virtual jint getHoldability() = 0; + virtual ::java::sql::Savepoint * setSavepoint() = 0; + virtual ::java::sql::Savepoint * setSavepoint(::java::lang::String *) = 0; + virtual void rollback(::java::sql::Savepoint *) = 0; + virtual void releaseSavepoint(::java::sql::Savepoint *) = 0; + virtual ::java::sql::Statement * createStatement(jint, jint, jint) = 0; + virtual ::java::sql::PreparedStatement * prepareStatement(::java::lang::String *, jint, jint, jint) = 0; + virtual ::java::sql::CallableStatement * prepareCall(::java::lang::String *, jint, jint, jint) = 0; + virtual ::java::sql::PreparedStatement * prepareStatement(::java::lang::String *, jint) = 0; + virtual ::java::sql::PreparedStatement * prepareStatement(::java::lang::String *, JArray< jint > *) = 0; + virtual ::java::sql::PreparedStatement * prepareStatement(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + static const jint TRANSACTION_NONE = 0; + static const jint TRANSACTION_READ_UNCOMMITTED = 1; + static const jint TRANSACTION_READ_COMMITTED = 2; + static const jint TRANSACTION_REPEATABLE_READ = 4; + static const jint TRANSACTION_SERIALIZABLE = 8; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Connection__ diff --git a/libjava/java/sql/DataTruncation.h b/libjava/java/sql/DataTruncation.h new file mode 100644 index 00000000000..584c65bcf48 --- /dev/null +++ b/libjava/java/sql/DataTruncation.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_DataTruncation__ +#define __java_sql_DataTruncation__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class DataTruncation; + } + } +} + +class java::sql::DataTruncation : public ::java::sql::SQLWarning +{ + +public: + DataTruncation(jint, jboolean, jboolean, jint, jint); + virtual jint getIndex(); + virtual jboolean getParameter(); + virtual jboolean getRead(); + virtual jint getDataSize(); + virtual jint getTransferSize(); +public: // actually package-private + static const jlong serialVersionUID = 6464298989504059473LL; +private: + jint __attribute__((aligned(__alignof__( ::java::sql::SQLWarning)))) dataSize; + jint index; + jboolean parameter; + jboolean read; + jint transferSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_DataTruncation__ diff --git a/libjava/java/sql/DatabaseMetaData.h b/libjava/java/sql/DatabaseMetaData.h new file mode 100644 index 00000000000..0d1feb748ca --- /dev/null +++ b/libjava/java/sql/DatabaseMetaData.h @@ -0,0 +1,245 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_DatabaseMetaData__ +#define __java_sql_DatabaseMetaData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + class DatabaseMetaData; + class ResultSet; + } + } +} + +class java::sql::DatabaseMetaData : public ::java::lang::Object +{ + +public: + virtual jboolean allProceduresAreCallable() = 0; + virtual jboolean allTablesAreSelectable() = 0; + virtual ::java::lang::String * getURL() = 0; + virtual ::java::lang::String * getUserName() = 0; + virtual jboolean isReadOnly() = 0; + virtual jboolean nullsAreSortedHigh() = 0; + virtual jboolean nullsAreSortedLow() = 0; + virtual jboolean nullsAreSortedAtStart() = 0; + virtual jboolean nullsAreSortedAtEnd() = 0; + virtual ::java::lang::String * getDatabaseProductName() = 0; + virtual ::java::lang::String * getDatabaseProductVersion() = 0; + virtual ::java::lang::String * getDriverName() = 0; + virtual ::java::lang::String * getDriverVersion() = 0; + virtual jint getDriverMajorVersion() = 0; + virtual jint getDriverMinorVersion() = 0; + virtual jboolean usesLocalFiles() = 0; + virtual jboolean usesLocalFilePerTable() = 0; + virtual jboolean supportsMixedCaseIdentifiers() = 0; + virtual jboolean storesUpperCaseIdentifiers() = 0; + virtual jboolean storesLowerCaseIdentifiers() = 0; + virtual jboolean storesMixedCaseIdentifiers() = 0; + virtual jboolean supportsMixedCaseQuotedIdentifiers() = 0; + virtual jboolean storesUpperCaseQuotedIdentifiers() = 0; + virtual jboolean storesLowerCaseQuotedIdentifiers() = 0; + virtual jboolean storesMixedCaseQuotedIdentifiers() = 0; + virtual ::java::lang::String * getIdentifierQuoteString() = 0; + virtual ::java::lang::String * getSQLKeywords() = 0; + virtual ::java::lang::String * getNumericFunctions() = 0; + virtual ::java::lang::String * getStringFunctions() = 0; + virtual ::java::lang::String * getSystemFunctions() = 0; + virtual ::java::lang::String * getTimeDateFunctions() = 0; + virtual ::java::lang::String * getSearchStringEscape() = 0; + virtual ::java::lang::String * getExtraNameCharacters() = 0; + virtual jboolean supportsAlterTableWithAddColumn() = 0; + virtual jboolean supportsAlterTableWithDropColumn() = 0; + virtual jboolean supportsColumnAliasing() = 0; + virtual jboolean nullPlusNonNullIsNull() = 0; + virtual jboolean supportsConvert() = 0; + virtual jboolean supportsConvert(jint, jint) = 0; + virtual jboolean supportsTableCorrelationNames() = 0; + virtual jboolean supportsDifferentTableCorrelationNames() = 0; + virtual jboolean supportsExpressionsInOrderBy() = 0; + virtual jboolean supportsOrderByUnrelated() = 0; + virtual jboolean supportsGroupBy() = 0; + virtual jboolean supportsGroupByUnrelated() = 0; + virtual jboolean supportsGroupByBeyondSelect() = 0; + virtual jboolean supportsLikeEscapeClause() = 0; + virtual jboolean supportsMultipleResultSets() = 0; + virtual jboolean supportsMultipleTransactions() = 0; + virtual jboolean supportsNonNullableColumns() = 0; + virtual jboolean supportsMinimumSQLGrammar() = 0; + virtual jboolean supportsCoreSQLGrammar() = 0; + virtual jboolean supportsExtendedSQLGrammar() = 0; + virtual jboolean supportsANSI92EntryLevelSQL() = 0; + virtual jboolean supportsANSI92IntermediateSQL() = 0; + virtual jboolean supportsANSI92FullSQL() = 0; + virtual jboolean supportsIntegrityEnhancementFacility() = 0; + virtual jboolean supportsOuterJoins() = 0; + virtual jboolean supportsFullOuterJoins() = 0; + virtual jboolean supportsLimitedOuterJoins() = 0; + virtual ::java::lang::String * getSchemaTerm() = 0; + virtual ::java::lang::String * getProcedureTerm() = 0; + virtual ::java::lang::String * getCatalogTerm() = 0; + virtual jboolean isCatalogAtStart() = 0; + virtual ::java::lang::String * getCatalogSeparator() = 0; + virtual jboolean supportsSchemasInDataManipulation() = 0; + virtual jboolean supportsSchemasInProcedureCalls() = 0; + virtual jboolean supportsSchemasInTableDefinitions() = 0; + virtual jboolean supportsSchemasInIndexDefinitions() = 0; + virtual jboolean supportsSchemasInPrivilegeDefinitions() = 0; + virtual jboolean supportsCatalogsInDataManipulation() = 0; + virtual jboolean supportsCatalogsInProcedureCalls() = 0; + virtual jboolean supportsCatalogsInTableDefinitions() = 0; + virtual jboolean supportsCatalogsInIndexDefinitions() = 0; + virtual jboolean supportsCatalogsInPrivilegeDefinitions() = 0; + virtual jboolean supportsPositionedDelete() = 0; + virtual jboolean supportsPositionedUpdate() = 0; + virtual jboolean supportsSelectForUpdate() = 0; + virtual jboolean supportsStoredProcedures() = 0; + virtual jboolean supportsSubqueriesInComparisons() = 0; + virtual jboolean supportsSubqueriesInExists() = 0; + virtual jboolean supportsSubqueriesInIns() = 0; + virtual jboolean supportsSubqueriesInQuantifieds() = 0; + virtual jboolean supportsCorrelatedSubqueries() = 0; + virtual jboolean supportsUnion() = 0; + virtual jboolean supportsUnionAll() = 0; + virtual jboolean supportsOpenCursorsAcrossCommit() = 0; + virtual jboolean supportsOpenCursorsAcrossRollback() = 0; + virtual jboolean supportsOpenStatementsAcrossCommit() = 0; + virtual jboolean supportsOpenStatementsAcrossRollback() = 0; + virtual jint getMaxBinaryLiteralLength() = 0; + virtual jint getMaxCharLiteralLength() = 0; + virtual jint getMaxColumnNameLength() = 0; + virtual jint getMaxColumnsInGroupBy() = 0; + virtual jint getMaxColumnsInIndex() = 0; + virtual jint getMaxColumnsInOrderBy() = 0; + virtual jint getMaxColumnsInSelect() = 0; + virtual jint getMaxColumnsInTable() = 0; + virtual jint getMaxConnections() = 0; + virtual jint getMaxCursorNameLength() = 0; + virtual jint getMaxIndexLength() = 0; + virtual jint getMaxSchemaNameLength() = 0; + virtual jint getMaxProcedureNameLength() = 0; + virtual jint getMaxCatalogNameLength() = 0; + virtual jint getMaxRowSize() = 0; + virtual jboolean doesMaxRowSizeIncludeBlobs() = 0; + virtual jint getMaxStatementLength() = 0; + virtual jint getMaxStatements() = 0; + virtual jint getMaxTableNameLength() = 0; + virtual jint getMaxTablesInSelect() = 0; + virtual jint getMaxUserNameLength() = 0; + virtual jint getDefaultTransactionIsolation() = 0; + virtual jboolean supportsTransactions() = 0; + virtual jboolean supportsTransactionIsolationLevel(jint) = 0; + virtual jboolean supportsDataDefinitionAndDataManipulationTransactions() = 0; + virtual jboolean supportsDataManipulationTransactionsOnly() = 0; + virtual jboolean dataDefinitionCausesTransactionCommit() = 0; + virtual jboolean dataDefinitionIgnoredInTransactions() = 0; + virtual ::java::sql::ResultSet * getProcedures(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getProcedureColumns(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getTables(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::sql::ResultSet * getSchemas() = 0; + virtual ::java::sql::ResultSet * getCatalogs() = 0; + virtual ::java::sql::ResultSet * getTableTypes() = 0; + virtual ::java::sql::ResultSet * getColumns(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getColumnPrivileges(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getTablePrivileges(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getBestRowIdentifier(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jint, jboolean) = 0; + virtual ::java::sql::ResultSet * getVersionColumns(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getPrimaryKeys(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getImportedKeys(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getExportedKeys(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getCrossReference(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getTypeInfo() = 0; + virtual ::java::sql::ResultSet * getIndexInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean) = 0; + virtual jboolean supportsResultSetType(jint) = 0; + virtual jboolean supportsResultSetConcurrency(jint, jint) = 0; + virtual jboolean ownUpdatesAreVisible(jint) = 0; + virtual jboolean ownDeletesAreVisible(jint) = 0; + virtual jboolean ownInsertsAreVisible(jint) = 0; + virtual jboolean othersUpdatesAreVisible(jint) = 0; + virtual jboolean othersDeletesAreVisible(jint) = 0; + virtual jboolean othersInsertsAreVisible(jint) = 0; + virtual jboolean updatesAreDetected(jint) = 0; + virtual jboolean deletesAreDetected(jint) = 0; + virtual jboolean insertsAreDetected(jint) = 0; + virtual jboolean supportsBatchUpdates() = 0; + virtual ::java::sql::ResultSet * getUDTs(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< jint > *) = 0; + virtual ::java::sql::Connection * getConnection() = 0; + virtual jboolean supportsSavepoints() = 0; + virtual jboolean supportsNamedParameters() = 0; + virtual jboolean supportsMultipleOpenResults() = 0; + virtual jboolean supportsGetGeneratedKeys() = 0; + virtual ::java::sql::ResultSet * getSuperTypes(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getSuperTables(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getAttributes(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean supportsResultSetHoldability(jint) = 0; + virtual jint getResultSetHoldability() = 0; + virtual jint getDatabaseMajorVersion() = 0; + virtual jint getDatabaseMinorVersion() = 0; + virtual jint getJDBCMajorVersion() = 0; + virtual jint getJDBCMinorVersion() = 0; + virtual jint getSQLStateType() = 0; + virtual jboolean locatorsUpdateCopy() = 0; + virtual jboolean supportsStatementPooling() = 0; + static const jint procedureResultUnknown = 0; + static const jint procedureNoResult = 1; + static const jint procedureReturnsResult = 2; + static const jint procedureColumnUnknown = 0; + static const jint procedureColumnIn = 1; + static const jint procedureColumnInOut = 2; + static const jint procedureColumnOut = 4; + static const jint procedureColumnReturn = 5; + static const jint procedureColumnResult = 3; + static const jint procedureNoNulls = 0; + static const jint procedureNullable = 1; + static const jint procedureNullableUnknown = 2; + static const jint columnNoNulls = 0; + static const jint columnNullable = 1; + static const jint columnNullableUnknown = 2; + static const jint bestRowTemporary = 0; + static const jint bestRowTransaction = 1; + static const jint bestRowSession = 2; + static const jint bestRowUnknown = 0; + static const jint bestRowNotPseudo = 1; + static const jint bestRowPseudo = 2; + static const jint versionColumnUnknown = 0; + static const jint versionColumnNotPseudo = 1; + static const jint versionColumnPseudo = 2; + static const jint importedKeyCascade = 0; + static const jint importedKeyRestrict = 1; + static const jint importedKeySetNull = 2; + static const jint importedKeyNoAction = 3; + static const jint importedKeySetDefault = 4; + static const jint importedKeyInitiallyDeferred = 5; + static const jint importedKeyInitiallyImmediate = 6; + static const jint importedKeyNotDeferrable = 7; + static const jint typeNoNulls = 0; + static const jint typeNullable = 1; + static const jint typeNullableUnknown = 2; + static const jint typePredNone = 0; + static const jint typePredChar = 1; + static const jint typePredBasic = 2; + static const jint typeSearchable = 3; + static const jshort tableIndexStatistic = 0; + static const jshort tableIndexClustered = 1; + static const jshort tableIndexHashed = 2; + static const jshort tableIndexOther = 3; + static const jshort attributeNoNulls = 0; + static const jshort attributeNullable = 1; + static const jshort attributeNullableUnknown = 2; + static const jint sqlStateXOpen = 1; + static const jint sqlStateSQL99 = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_DatabaseMetaData__ diff --git a/libjava/java/sql/Date.h b/libjava/java/sql/Date.h new file mode 100644 index 00000000000..8a7939b3102 --- /dev/null +++ b/libjava/java/sql/Date.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Date__ +#define __java_sql_Date__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Date; + } + namespace text + { + class SimpleDateFormat; + } + } +} + +class java::sql::Date : public ::java::util::Date +{ + +public: + Date(jint, jint, jint); + Date(jlong); + virtual jint getHours(); + virtual jint getMinutes(); + virtual jint getSeconds(); + virtual void setHours(jint); + virtual void setMinutes(jint); + virtual void setSeconds(jint); + static ::java::sql::Date * valueOf(::java::lang::String *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = 1511598038487230103LL; +private: + static ::java::text::SimpleDateFormat * sdf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_Date__ diff --git a/libjava/java/sql/Driver.h b/libjava/java/sql/Driver.h new file mode 100644 index 00000000000..f9800b06079 --- /dev/null +++ b/libjava/java/sql/Driver.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Driver__ +#define __java_sql_Driver__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + class Driver; + class DriverPropertyInfo; + } + } +} + +class java::sql::Driver : public ::java::lang::Object +{ + +public: + virtual ::java::sql::Connection * connect(::java::lang::String *, ::java::util::Properties *) = 0; + virtual jboolean acceptsURL(::java::lang::String *) = 0; + virtual JArray< ::java::sql::DriverPropertyInfo * > * getPropertyInfo(::java::lang::String *, ::java::util::Properties *) = 0; + virtual jint getMajorVersion() = 0; + virtual jint getMinorVersion() = 0; + virtual jboolean jdbcCompliant() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Driver__ diff --git a/libjava/java/sql/DriverManager.h b/libjava/java/sql/DriverManager.h new file mode 100644 index 00000000000..f9d87eabe5b --- /dev/null +++ b/libjava/java/sql/DriverManager.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_DriverManager__ +#define __java_sql_DriverManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + class Driver; + class DriverManager; + } + } +} + +class java::sql::DriverManager : public ::java::lang::Object +{ + + DriverManager(); +public: + static ::java::io::PrintWriter * getLogWriter(); + static void setLogWriter(::java::io::PrintWriter *); + static ::java::sql::Connection * getConnection(::java::lang::String *, ::java::util::Properties *); + static ::java::sql::Connection * getConnection(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static ::java::sql::Connection * getConnection(::java::lang::String *); + static ::java::sql::Driver * getDriver(::java::lang::String *); + static void registerDriver(::java::sql::Driver *); + static void deregisterDriver(::java::sql::Driver *); + static ::java::util::Enumeration * getDrivers(); + static void setLoginTimeout(jint); + static jint getLoginTimeout(); + static void setLogStream(::java::io::PrintStream *); + static ::java::io::PrintStream * getLogStream(); + static void println(::java::lang::String *); +private: + static ::java::io::PrintStream * log_stream; + static ::java::io::PrintWriter * log_writer; + static jint login_timeout; + static ::java::util::Vector * drivers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_DriverManager__ diff --git a/libjava/java/sql/DriverPropertyInfo.h b/libjava/java/sql/DriverPropertyInfo.h new file mode 100644 index 00000000000..46e21af135b --- /dev/null +++ b/libjava/java/sql/DriverPropertyInfo.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_DriverPropertyInfo__ +#define __java_sql_DriverPropertyInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class DriverPropertyInfo; + } + } +} + +class java::sql::DriverPropertyInfo : public ::java::lang::Object +{ + +public: + DriverPropertyInfo(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * description; + jboolean required; + ::java::lang::String * value; + JArray< ::java::lang::String * > * choices; + static ::java::lang::Class class$; +}; + +#endif // __java_sql_DriverPropertyInfo__ diff --git a/libjava/java/sql/ParameterMetaData.h b/libjava/java/sql/ParameterMetaData.h new file mode 100644 index 00000000000..a377668eae2 --- /dev/null +++ b/libjava/java/sql/ParameterMetaData.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_ParameterMetaData__ +#define __java_sql_ParameterMetaData__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class ParameterMetaData; + } + } +} + +class java::sql::ParameterMetaData : public ::java::lang::Object +{ + +public: + virtual jint getParameterCount() = 0; + virtual jint isNullable(jint) = 0; + virtual jboolean isSigned(jint) = 0; + virtual jint getPrecision(jint) = 0; + virtual jint getScale(jint) = 0; + virtual jint getParameterType(jint) = 0; + virtual ::java::lang::String * getParameterTypeName(jint) = 0; + virtual ::java::lang::String * getParameterClassName(jint) = 0; + virtual jint getParameterMode(jint) = 0; + static const jint parameterNoNulls = 0; + static const jint parameterNullable = 1; + static const jint parameterNullableUnknown = 2; + static const jint parameterModeUnknown = 0; + static const jint parameterModeIn = 1; + static const jint parameterModeInOut = 2; + static const jint parameterModeOut = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_ParameterMetaData__ diff --git a/libjava/java/sql/PreparedStatement.h b/libjava/java/sql/PreparedStatement.h new file mode 100644 index 00000000000..dcb2e5dea44 --- /dev/null +++ b/libjava/java/sql/PreparedStatement.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_PreparedStatement__ +#define __java_sql_PreparedStatement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace net + { + class URL; + } + namespace sql + { + class Array; + class Blob; + class Clob; + class Connection; + class Date; + class ParameterMetaData; + class PreparedStatement; + class Ref; + class ResultSet; + class ResultSetMetaData; + class SQLWarning; + class Time; + class Timestamp; + } + } +} + +class java::sql::PreparedStatement : public ::java::lang::Object +{ + +public: + virtual ::java::sql::ResultSet * executeQuery() = 0; + virtual jint executeUpdate() = 0; + virtual void setNull(jint, jint) = 0; + virtual void setBoolean(jint, jboolean) = 0; + virtual void setByte(jint, jbyte) = 0; + virtual void setShort(jint, jshort) = 0; + virtual void setInt(jint, jint) = 0; + virtual void setLong(jint, jlong) = 0; + virtual void setFloat(jint, jfloat) = 0; + virtual void setDouble(jint, jdouble) = 0; + virtual void setBigDecimal(jint, ::java::math::BigDecimal *) = 0; + virtual void setString(jint, ::java::lang::String *) = 0; + virtual void setBytes(jint, JArray< jbyte > *) = 0; + virtual void setDate(jint, ::java::sql::Date *) = 0; + virtual void setTime(jint, ::java::sql::Time *) = 0; + virtual void setTimestamp(jint, ::java::sql::Timestamp *) = 0; + virtual void setAsciiStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void setUnicodeStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void setBinaryStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void clearParameters() = 0; + virtual void setObject(jint, ::java::lang::Object *, jint, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *) = 0; + virtual jboolean execute() = 0; + virtual void addBatch() = 0; + virtual void setCharacterStream(jint, ::java::io::Reader *, jint) = 0; + virtual void setRef(jint, ::java::sql::Ref *) = 0; + virtual void setBlob(jint, ::java::sql::Blob *) = 0; + virtual void setClob(jint, ::java::sql::Clob *) = 0; + virtual void setArray(jint, ::java::sql::Array *) = 0; + virtual ::java::sql::ResultSetMetaData * getMetaData() = 0; + virtual void setDate(jint, ::java::sql::Date *, ::java::util::Calendar *) = 0; + virtual void setTime(jint, ::java::sql::Time *, ::java::util::Calendar *) = 0; + virtual void setTimestamp(jint, ::java::sql::Timestamp *, ::java::util::Calendar *) = 0; + virtual void setNull(jint, jint, ::java::lang::String *) = 0; + virtual void setURL(jint, ::java::net::URL *) = 0; + virtual ::java::sql::ParameterMetaData * getParameterMetaData() = 0; + virtual ::java::sql::ResultSet * executeQuery(::java::lang::String *) = 0; + virtual jint executeUpdate(::java::lang::String *) = 0; + virtual void close() = 0; + virtual jint getMaxFieldSize() = 0; + virtual void setMaxFieldSize(jint) = 0; + virtual jint getMaxRows() = 0; + virtual void setMaxRows(jint) = 0; + virtual void setEscapeProcessing(jboolean) = 0; + virtual jint getQueryTimeout() = 0; + virtual void setQueryTimeout(jint) = 0; + virtual void cancel() = 0; + virtual ::java::sql::SQLWarning * getWarnings() = 0; + virtual void clearWarnings() = 0; + virtual void setCursorName(::java::lang::String *) = 0; + virtual jboolean execute(::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getResultSet() = 0; + virtual jint getUpdateCount() = 0; + virtual jboolean getMoreResults() = 0; + virtual void setFetchDirection(jint) = 0; + virtual jint getFetchDirection() = 0; + virtual void setFetchSize(jint) = 0; + virtual jint getFetchSize() = 0; + virtual jint getResultSetConcurrency() = 0; + virtual jint getResultSetType() = 0; + virtual void addBatch(::java::lang::String *) = 0; + virtual void clearBatch() = 0; + virtual JArray< jint > * executeBatch() = 0; + virtual ::java::sql::Connection * getConnection() = 0; + virtual jboolean getMoreResults(jint) = 0; + virtual ::java::sql::ResultSet * getGeneratedKeys() = 0; + virtual jint executeUpdate(::java::lang::String *, jint) = 0; + virtual jint executeUpdate(::java::lang::String *, JArray< jint > *) = 0; + virtual jint executeUpdate(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual jboolean execute(::java::lang::String *, jint) = 0; + virtual jboolean execute(::java::lang::String *, JArray< jint > *) = 0; + virtual jboolean execute(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual jint getResultSetHoldability() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_PreparedStatement__ diff --git a/libjava/java/sql/Ref.h b/libjava/java/sql/Ref.h new file mode 100644 index 00000000000..79cfc9a9cf9 --- /dev/null +++ b/libjava/java/sql/Ref.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Ref__ +#define __java_sql_Ref__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Ref; + } + } +} + +class java::sql::Ref : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getBaseTypeName() = 0; + virtual ::java::lang::Object * getObject(::java::util::Map *) = 0; + virtual ::java::lang::Object * getObject() = 0; + virtual void setObject(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Ref__ diff --git a/libjava/java/sql/ResultSet.h b/libjava/java/sql/ResultSet.h new file mode 100644 index 00000000000..969c0ecc3e7 --- /dev/null +++ b/libjava/java/sql/ResultSet.h @@ -0,0 +1,197 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_ResultSet__ +#define __java_sql_ResultSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace net + { + class URL; + } + namespace sql + { + class Array; + class Blob; + class Clob; + class Date; + class Ref; + class ResultSet; + class ResultSetMetaData; + class SQLWarning; + class Statement; + class Time; + class Timestamp; + } + } +} + +class java::sql::ResultSet : public ::java::lang::Object +{ + +public: + virtual jboolean next() = 0; + virtual void close() = 0; + virtual jboolean wasNull() = 0; + virtual ::java::lang::String * getString(jint) = 0; + virtual jboolean getBoolean(jint) = 0; + virtual jbyte getByte(jint) = 0; + virtual jshort getShort(jint) = 0; + virtual jint getInt(jint) = 0; + virtual jlong getLong(jint) = 0; + virtual jfloat getFloat(jint) = 0; + virtual jdouble getDouble(jint) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(jint, jint) = 0; + virtual JArray< jbyte > * getBytes(jint) = 0; + virtual ::java::sql::Date * getDate(jint) = 0; + virtual ::java::sql::Time * getTime(jint) = 0; + virtual ::java::sql::Timestamp * getTimestamp(jint) = 0; + virtual ::java::io::InputStream * getAsciiStream(jint) = 0; + virtual ::java::io::InputStream * getUnicodeStream(jint) = 0; + virtual ::java::io::InputStream * getBinaryStream(jint) = 0; + virtual ::java::lang::String * getString(::java::lang::String *) = 0; + virtual jboolean getBoolean(::java::lang::String *) = 0; + virtual jbyte getByte(::java::lang::String *) = 0; + virtual jshort getShort(::java::lang::String *) = 0; + virtual jint getInt(::java::lang::String *) = 0; + virtual jlong getLong(::java::lang::String *) = 0; + virtual jfloat getFloat(::java::lang::String *) = 0; + virtual jdouble getDouble(::java::lang::String *) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(::java::lang::String *, jint) = 0; + virtual JArray< jbyte > * getBytes(::java::lang::String *) = 0; + virtual ::java::sql::Date * getDate(::java::lang::String *) = 0; + virtual ::java::sql::Time * getTime(::java::lang::String *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(::java::lang::String *) = 0; + virtual ::java::io::InputStream * getAsciiStream(::java::lang::String *) = 0; + virtual ::java::io::InputStream * getUnicodeStream(::java::lang::String *) = 0; + virtual ::java::io::InputStream * getBinaryStream(::java::lang::String *) = 0; + virtual ::java::sql::SQLWarning * getWarnings() = 0; + virtual void clearWarnings() = 0; + virtual ::java::lang::String * getCursorName() = 0; + virtual ::java::sql::ResultSetMetaData * getMetaData() = 0; + virtual ::java::lang::Object * getObject(jint) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *) = 0; + virtual jint findColumn(::java::lang::String *) = 0; + virtual ::java::io::Reader * getCharacterStream(jint) = 0; + virtual ::java::io::Reader * getCharacterStream(::java::lang::String *) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(jint) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(::java::lang::String *) = 0; + virtual jboolean isBeforeFirst() = 0; + virtual jboolean isAfterLast() = 0; + virtual jboolean isFirst() = 0; + virtual jboolean isLast() = 0; + virtual void beforeFirst() = 0; + virtual void afterLast() = 0; + virtual jboolean first() = 0; + virtual jboolean last() = 0; + virtual jint getRow() = 0; + virtual jboolean absolute(jint) = 0; + virtual jboolean relative(jint) = 0; + virtual jboolean previous() = 0; + virtual void setFetchDirection(jint) = 0; + virtual jint getFetchDirection() = 0; + virtual void setFetchSize(jint) = 0; + virtual jint getFetchSize() = 0; + virtual jint getType() = 0; + virtual jint getConcurrency() = 0; + virtual jboolean rowUpdated() = 0; + virtual jboolean rowInserted() = 0; + virtual jboolean rowDeleted() = 0; + virtual void updateNull(jint) = 0; + virtual void updateBoolean(jint, jboolean) = 0; + virtual void updateByte(jint, jbyte) = 0; + virtual void updateShort(jint, jshort) = 0; + virtual void updateInt(jint, jint) = 0; + virtual void updateLong(jint, jlong) = 0; + virtual void updateFloat(jint, jfloat) = 0; + virtual void updateDouble(jint, jdouble) = 0; + virtual void updateBigDecimal(jint, ::java::math::BigDecimal *) = 0; + virtual void updateString(jint, ::java::lang::String *) = 0; + virtual void updateBytes(jint, JArray< jbyte > *) = 0; + virtual void updateDate(jint, ::java::sql::Date *) = 0; + virtual void updateTime(jint, ::java::sql::Time *) = 0; + virtual void updateTimestamp(jint, ::java::sql::Timestamp *) = 0; + virtual void updateAsciiStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void updateBinaryStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void updateCharacterStream(jint, ::java::io::Reader *, jint) = 0; + virtual void updateObject(jint, ::java::lang::Object *, jint) = 0; + virtual void updateObject(jint, ::java::lang::Object *) = 0; + virtual void updateNull(::java::lang::String *) = 0; + virtual void updateBoolean(::java::lang::String *, jboolean) = 0; + virtual void updateByte(::java::lang::String *, jbyte) = 0; + virtual void updateShort(::java::lang::String *, jshort) = 0; + virtual void updateInt(::java::lang::String *, jint) = 0; + virtual void updateLong(::java::lang::String *, jlong) = 0; + virtual void updateFloat(::java::lang::String *, jfloat) = 0; + virtual void updateDouble(::java::lang::String *, jdouble) = 0; + virtual void updateBigDecimal(::java::lang::String *, ::java::math::BigDecimal *) = 0; + virtual void updateString(::java::lang::String *, ::java::lang::String *) = 0; + virtual void updateBytes(::java::lang::String *, JArray< jbyte > *) = 0; + virtual void updateDate(::java::lang::String *, ::java::sql::Date *) = 0; + virtual void updateTime(::java::lang::String *, ::java::sql::Time *) = 0; + virtual void updateTimestamp(::java::lang::String *, ::java::sql::Timestamp *) = 0; + virtual void updateAsciiStream(::java::lang::String *, ::java::io::InputStream *, jint) = 0; + virtual void updateBinaryStream(::java::lang::String *, ::java::io::InputStream *, jint) = 0; + virtual void updateCharacterStream(::java::lang::String *, ::java::io::Reader *, jint) = 0; + virtual void updateObject(::java::lang::String *, ::java::lang::Object *, jint) = 0; + virtual void updateObject(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void insertRow() = 0; + virtual void updateRow() = 0; + virtual void deleteRow() = 0; + virtual void refreshRow() = 0; + virtual void cancelRowUpdates() = 0; + virtual void moveToInsertRow() = 0; + virtual void moveToCurrentRow() = 0; + virtual ::java::sql::Statement * getStatement() = 0; + virtual ::java::lang::Object * getObject(jint, ::java::util::Map *) = 0; + virtual ::java::sql::Ref * getRef(jint) = 0; + virtual ::java::sql::Blob * getBlob(jint) = 0; + virtual ::java::sql::Clob * getClob(jint) = 0; + virtual ::java::sql::Array * getArray(jint) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *, ::java::util::Map *) = 0; + virtual ::java::sql::Ref * getRef(::java::lang::String *) = 0; + virtual ::java::sql::Blob * getBlob(::java::lang::String *) = 0; + virtual ::java::sql::Clob * getClob(::java::lang::String *) = 0; + virtual ::java::sql::Array * getArray(::java::lang::String *) = 0; + virtual ::java::sql::Date * getDate(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Date * getDate(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::sql::Time * getTime(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Time * getTime(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::net::URL * getURL(jint) = 0; + virtual ::java::net::URL * getURL(::java::lang::String *) = 0; + virtual void updateRef(jint, ::java::sql::Ref *) = 0; + virtual void updateRef(::java::lang::String *, ::java::sql::Ref *) = 0; + virtual void updateBlob(jint, ::java::sql::Blob *) = 0; + virtual void updateBlob(::java::lang::String *, ::java::sql::Blob *) = 0; + virtual void updateClob(jint, ::java::sql::Clob *) = 0; + virtual void updateClob(::java::lang::String *, ::java::sql::Clob *) = 0; + virtual void updateArray(jint, ::java::sql::Array *) = 0; + virtual void updateArray(::java::lang::String *, ::java::sql::Array *) = 0; + static const jint FETCH_FORWARD = 1000; + static const jint FETCH_REVERSE = 1001; + static const jint FETCH_UNKNOWN = 1002; + static const jint TYPE_FORWARD_ONLY = 1003; + static const jint TYPE_SCROLL_INSENSITIVE = 1004; + static const jint TYPE_SCROLL_SENSITIVE = 1005; + static const jint CONCUR_READ_ONLY = 1007; + static const jint CONCUR_UPDATABLE = 1008; + static const jint HOLD_CURSORS_OVER_COMMIT = 1; + static const jint CLOSE_CURSORS_AT_COMMIT = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_ResultSet__ diff --git a/libjava/java/sql/ResultSetMetaData.h b/libjava/java/sql/ResultSetMetaData.h new file mode 100644 index 00000000000..d871adee6c6 --- /dev/null +++ b/libjava/java/sql/ResultSetMetaData.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_ResultSetMetaData__ +#define __java_sql_ResultSetMetaData__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class ResultSetMetaData; + } + } +} + +class java::sql::ResultSetMetaData : public ::java::lang::Object +{ + +public: + virtual jint getColumnCount() = 0; + virtual jboolean isAutoIncrement(jint) = 0; + virtual jboolean isCaseSensitive(jint) = 0; + virtual jboolean isSearchable(jint) = 0; + virtual jboolean isCurrency(jint) = 0; + virtual jint isNullable(jint) = 0; + virtual jboolean isSigned(jint) = 0; + virtual jint getColumnDisplaySize(jint) = 0; + virtual ::java::lang::String * getColumnLabel(jint) = 0; + virtual ::java::lang::String * getColumnName(jint) = 0; + virtual ::java::lang::String * getSchemaName(jint) = 0; + virtual jint getPrecision(jint) = 0; + virtual jint getScale(jint) = 0; + virtual ::java::lang::String * getTableName(jint) = 0; + virtual ::java::lang::String * getCatalogName(jint) = 0; + virtual jint getColumnType(jint) = 0; + virtual ::java::lang::String * getColumnTypeName(jint) = 0; + virtual jboolean isReadOnly(jint) = 0; + virtual jboolean isWritable(jint) = 0; + virtual jboolean isDefinitelyWritable(jint) = 0; + virtual ::java::lang::String * getColumnClassName(jint) = 0; + static const jint columnNoNulls = 0; + static const jint columnNullable = 1; + static const jint columnNullableUnknown = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_ResultSetMetaData__ diff --git a/libjava/java/sql/SQLData.h b/libjava/java/sql/SQLData.h new file mode 100644 index 00000000000..d63205a7266 --- /dev/null +++ b/libjava/java/sql/SQLData.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_SQLData__ +#define __java_sql_SQLData__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class SQLData; + class SQLInput; + class SQLOutput; + } + } +} + +class java::sql::SQLData : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getSQLTypeName() = 0; + virtual void readSQL(::java::sql::SQLInput *, ::java::lang::String *) = 0; + virtual void writeSQL(::java::sql::SQLOutput *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_SQLData__ diff --git a/libjava/java/sql/SQLException.h b/libjava/java/sql/SQLException.h new file mode 100644 index 00000000000..3f88d94562b --- /dev/null +++ b/libjava/java/sql/SQLException.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_SQLException__ +#define __java_sql_SQLException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class SQLException; + } + } +} + +class java::sql::SQLException : public ::java::lang::Exception +{ + +public: + SQLException(::java::lang::String *, ::java::lang::String *, jint); + SQLException(::java::lang::String *, ::java::lang::String *); + SQLException(::java::lang::String *); + SQLException(); + virtual ::java::lang::String * getSQLState(); + virtual jint getErrorCode(); + virtual ::java::sql::SQLException * getNextException(); + virtual void setNextException(::java::sql::SQLException *); +public: // actually package-private + static const jlong serialVersionUID = 2135244094396331484LL; +private: + ::java::sql::SQLException * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) next; + ::java::lang::String * SQLState; + jint vendorCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_SQLException__ diff --git a/libjava/java/sql/SQLInput.h b/libjava/java/sql/SQLInput.h new file mode 100644 index 00000000000..d19ffc03c64 --- /dev/null +++ b/libjava/java/sql/SQLInput.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_SQLInput__ +#define __java_sql_SQLInput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace net + { + class URL; + } + namespace sql + { + class Array; + class Blob; + class Clob; + class Date; + class Ref; + class SQLInput; + class Time; + class Timestamp; + } + } +} + +class java::sql::SQLInput : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * readString() = 0; + virtual jboolean readBoolean() = 0; + virtual jbyte readByte() = 0; + virtual jshort readShort() = 0; + virtual jint readInt() = 0; + virtual jlong readLong() = 0; + virtual jfloat readFloat() = 0; + virtual jdouble readDouble() = 0; + virtual ::java::math::BigDecimal * readBigDecimal() = 0; + virtual JArray< jbyte > * readBytes() = 0; + virtual ::java::sql::Date * readDate() = 0; + virtual ::java::sql::Time * readTime() = 0; + virtual ::java::sql::Timestamp * readTimestamp() = 0; + virtual ::java::io::Reader * readCharacterStream() = 0; + virtual ::java::io::InputStream * readAsciiStream() = 0; + virtual ::java::io::InputStream * readBinaryStream() = 0; + virtual ::java::lang::Object * readObject() = 0; + virtual ::java::sql::Ref * readRef() = 0; + virtual ::java::sql::Blob * readBlob() = 0; + virtual ::java::sql::Clob * readClob() = 0; + virtual ::java::sql::Array * readArray() = 0; + virtual jboolean wasNull() = 0; + virtual ::java::net::URL * readURL() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_SQLInput__ diff --git a/libjava/java/sql/SQLOutput.h b/libjava/java/sql/SQLOutput.h new file mode 100644 index 00000000000..f0be2db5933 --- /dev/null +++ b/libjava/java/sql/SQLOutput.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_SQLOutput__ +#define __java_sql_SQLOutput__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace net + { + class URL; + } + namespace sql + { + class Array; + class Blob; + class Clob; + class Date; + class Ref; + class SQLData; + class SQLOutput; + class Struct; + class Time; + class Timestamp; + } + } +} + +class java::sql::SQLOutput : public ::java::lang::Object +{ + +public: + virtual void writeString(::java::lang::String *) = 0; + virtual void writeBoolean(jboolean) = 0; + virtual void writeByte(jbyte) = 0; + virtual void writeShort(jshort) = 0; + virtual void writeInt(jint) = 0; + virtual void writeLong(jlong) = 0; + virtual void writeFloat(jfloat) = 0; + virtual void writeDouble(jdouble) = 0; + virtual void writeBigDecimal(::java::math::BigDecimal *) = 0; + virtual void writeBytes(JArray< jbyte > *) = 0; + virtual void writeDate(::java::sql::Date *) = 0; + virtual void writeTime(::java::sql::Time *) = 0; + virtual void writeTimestamp(::java::sql::Timestamp *) = 0; + virtual void writeCharacterStream(::java::io::Reader *) = 0; + virtual void writeAsciiStream(::java::io::InputStream *) = 0; + virtual void writeBinaryStream(::java::io::InputStream *) = 0; + virtual void writeObject(::java::sql::SQLData *) = 0; + virtual void writeRef(::java::sql::Ref *) = 0; + virtual void writeBlob(::java::sql::Blob *) = 0; + virtual void writeClob(::java::sql::Clob *) = 0; + virtual void writeStruct(::java::sql::Struct *) = 0; + virtual void writeArray(::java::sql::Array *) = 0; + virtual void writeURL(::java::net::URL *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_SQLOutput__ diff --git a/libjava/java/sql/SQLPermission.h b/libjava/java/sql/SQLPermission.h new file mode 100644 index 00000000000..a426f31a098 --- /dev/null +++ b/libjava/java/sql/SQLPermission.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_SQLPermission__ +#define __java_sql_SQLPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class SQLPermission; + } + } +} + +class java::sql::SQLPermission : public ::java::security::BasicPermission +{ + +public: + SQLPermission(::java::lang::String *); + SQLPermission(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_sql_SQLPermission__ diff --git a/libjava/java/sql/SQLWarning.h b/libjava/java/sql/SQLWarning.h new file mode 100644 index 00000000000..5cb2572ff9f --- /dev/null +++ b/libjava/java/sql/SQLWarning.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_SQLWarning__ +#define __java_sql_SQLWarning__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class SQLWarning; + } + } +} + +class java::sql::SQLWarning : public ::java::sql::SQLException +{ + +public: + SQLWarning(::java::lang::String *, ::java::lang::String *, jint); + SQLWarning(::java::lang::String *, ::java::lang::String *); + SQLWarning(::java::lang::String *); + SQLWarning(); + virtual ::java::sql::SQLWarning * getNextWarning(); + virtual void setNextWarning(::java::sql::SQLWarning *); +public: // actually package-private + static const jlong serialVersionUID = 3917336774604784856LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_SQLWarning__ diff --git a/libjava/java/sql/Savepoint.h b/libjava/java/sql/Savepoint.h new file mode 100644 index 00000000000..d22773c9f18 --- /dev/null +++ b/libjava/java/sql/Savepoint.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Savepoint__ +#define __java_sql_Savepoint__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Savepoint; + } + } +} + +class java::sql::Savepoint : public ::java::lang::Object +{ + +public: + virtual jint getSavepointId() = 0; + virtual ::java::lang::String * getSavepointName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Savepoint__ diff --git a/libjava/java/sql/Statement.h b/libjava/java/sql/Statement.h new file mode 100644 index 00000000000..b4cba44893e --- /dev/null +++ b/libjava/java/sql/Statement.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Statement__ +#define __java_sql_Statement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + class ResultSet; + class SQLWarning; + class Statement; + } + } +} + +class java::sql::Statement : public ::java::lang::Object +{ + +public: + virtual ::java::sql::ResultSet * executeQuery(::java::lang::String *) = 0; + virtual jint executeUpdate(::java::lang::String *) = 0; + virtual void close() = 0; + virtual jint getMaxFieldSize() = 0; + virtual void setMaxFieldSize(jint) = 0; + virtual jint getMaxRows() = 0; + virtual void setMaxRows(jint) = 0; + virtual void setEscapeProcessing(jboolean) = 0; + virtual jint getQueryTimeout() = 0; + virtual void setQueryTimeout(jint) = 0; + virtual void cancel() = 0; + virtual ::java::sql::SQLWarning * getWarnings() = 0; + virtual void clearWarnings() = 0; + virtual void setCursorName(::java::lang::String *) = 0; + virtual jboolean execute(::java::lang::String *) = 0; + virtual ::java::sql::ResultSet * getResultSet() = 0; + virtual jint getUpdateCount() = 0; + virtual jboolean getMoreResults() = 0; + virtual void setFetchDirection(jint) = 0; + virtual jint getFetchDirection() = 0; + virtual void setFetchSize(jint) = 0; + virtual jint getFetchSize() = 0; + virtual jint getResultSetConcurrency() = 0; + virtual jint getResultSetType() = 0; + virtual void addBatch(::java::lang::String *) = 0; + virtual void clearBatch() = 0; + virtual JArray< jint > * executeBatch() = 0; + virtual ::java::sql::Connection * getConnection() = 0; + virtual jboolean getMoreResults(jint) = 0; + virtual ::java::sql::ResultSet * getGeneratedKeys() = 0; + virtual jint executeUpdate(::java::lang::String *, jint) = 0; + virtual jint executeUpdate(::java::lang::String *, JArray< jint > *) = 0; + virtual jint executeUpdate(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual jboolean execute(::java::lang::String *, jint) = 0; + virtual jboolean execute(::java::lang::String *, JArray< jint > *) = 0; + virtual jboolean execute(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual jint getResultSetHoldability() = 0; + static const jint CLOSE_CURRENT_RESULT = 1; + static const jint KEEP_CURRENT_RESULT = 2; + static const jint CLOSE_ALL_RESULTS = 3; + static const jint SUCCESS_NO_INFO = -2; + static const jint EXECUTE_FAILED = -3; + static const jint RETURN_GENERATED_KEYS = 1; + static const jint NO_GENERATED_KEYS = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Statement__ diff --git a/libjava/java/sql/Struct.h b/libjava/java/sql/Struct.h new file mode 100644 index 00000000000..ff9be27b93e --- /dev/null +++ b/libjava/java/sql/Struct.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Struct__ +#define __java_sql_Struct__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class Struct; + } + } +} + +class java::sql::Struct : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getSQLTypeName() = 0; + virtual JArray< ::java::lang::Object * > * getAttributes() = 0; + virtual JArray< ::java::lang::Object * > * getAttributes(::java::util::Map *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_sql_Struct__ diff --git a/libjava/java/sql/Time.h b/libjava/java/sql/Time.h new file mode 100644 index 00000000000..a9c5d12af6c --- /dev/null +++ b/libjava/java/sql/Time.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Time__ +#define __java_sql_Time__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Time; + } + namespace text + { + class SimpleDateFormat; + } + } +} + +class java::sql::Time : public ::java::util::Date +{ + +public: + virtual jint getDate(); + virtual jint getDay(); + virtual jint getMonth(); + virtual jint getYear(); + virtual void setDate(jint); + virtual void setMonth(jint); + virtual void setYear(jint); + static ::java::sql::Time * valueOf(::java::lang::String *); + Time(jint, jint, jint); + Time(jlong); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = 8397324403548013681LL; +private: + static ::java::text::SimpleDateFormat * sdf; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_Time__ diff --git a/libjava/java/sql/Timestamp.h b/libjava/java/sql/Timestamp.h new file mode 100644 index 00000000000..2b27498c843 --- /dev/null +++ b/libjava/java/sql/Timestamp.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Timestamp__ +#define __java_sql_Timestamp__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Timestamp; + } + namespace text + { + class DecimalFormat; + class SimpleDateFormat; + } + } +} + +class java::sql::Timestamp : public ::java::util::Date +{ + +public: + static ::java::sql::Timestamp * valueOf(::java::lang::String *); + Timestamp(jint, jint, jint, jint, jint, jint, jint); + Timestamp(jlong); + virtual jlong getTime(); + virtual ::java::lang::String * toString(); + virtual jint getNanos(); + virtual void setNanos(jint); + virtual jboolean before(::java::sql::Timestamp *); + virtual jboolean after(::java::sql::Timestamp *); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean equals(::java::sql::Timestamp *); + virtual jint compareTo(::java::sql::Timestamp *); + virtual jint target$compareTo(::java::util::Date *); +public: // actually package-private + static const jlong serialVersionUID = 2745179027874758501LL; +private: + static ::java::text::SimpleDateFormat * dateFormat; + static ::java::text::DecimalFormat * decimalFormat; + static ::java::lang::StringBuffer * sbuf; + jint __attribute__((aligned(__alignof__( ::java::util::Date)))) nanos; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_sql_Timestamp__ diff --git a/libjava/java/sql/Types.h b/libjava/java/sql/Types.h new file mode 100644 index 00000000000..8f6388fe269 --- /dev/null +++ b/libjava/java/sql/Types.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_sql_Types__ +#define __java_sql_Types__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Types; + } + } +} + +class java::sql::Types : public ::java::lang::Object +{ + + Types(); +public: + static const jint BIT = -7; + static const jint TINYINT = -6; + static const jint SMALLINT = 5; + static const jint INTEGER = 4; + static const jint BIGINT = -5; + static const jint FLOAT = 6; + static const jint REAL = 7; + static const jint DOUBLE = 8; + static const jint NUMERIC = 2; + static const jint DECIMAL = 3; + static const jint CHAR = 1; + static const jint VARCHAR = 12; + static const jint LONGVARCHAR = -1; + static const jint DATE = 91; + static const jint TIME = 92; + static const jint TIMESTAMP = 93; + static const jint BINARY = -2; + static const jint VARBINARY = -3; + static const jint LONGVARBINARY = -4; + static const jint NULL = 0; + static const jint OTHER = 1111; + static const jint JAVA_OBJECT = 2000; + static const jint DISTINCT = 2001; + static const jint STRUCT = 2002; + static const jint ARRAY = 2003; + static const jint BLOB = 2004; + static const jint CLOB = 2005; + static const jint REF = 2006; + static const jint DATALINK = 70; + static const jint BOOLEAN = 16; + static ::java::lang::Class class$; +}; + +#endif // __java_sql_Types__ diff --git a/libjava/java/text/Annotation.h b/libjava/java/text/Annotation.h new file mode 100644 index 00000000000..7170a3f91c3 --- /dev/null +++ b/libjava/java/text/Annotation.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_Annotation__ +#define __java_text_Annotation__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class Annotation; + } + } +} + +class java::text::Annotation : public ::java::lang::Object +{ + +public: + Annotation(::java::lang::Object *); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrib; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_Annotation__ diff --git a/libjava/java/text/AttributedCharacterIterator$Attribute.h b/libjava/java/text/AttributedCharacterIterator$Attribute.h new file mode 100644 index 00000000000..f4722404425 --- /dev/null +++ b/libjava/java/text/AttributedCharacterIterator$Attribute.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_AttributedCharacterIterator$Attribute__ +#define __java_text_AttributedCharacterIterator$Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedCharacterIterator$Attribute; + } + } +} + +class java::text::AttributedCharacterIterator$Attribute : public ::java::lang::Object +{ + +public: // actually protected + AttributedCharacterIterator$Attribute(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::java::lang::Object * readResolve(); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -9142742483513960612LL; +public: + static ::java::text::AttributedCharacterIterator$Attribute * LANGUAGE; + static ::java::text::AttributedCharacterIterator$Attribute * READING; + static ::java::text::AttributedCharacterIterator$Attribute * INPUT_METHOD_SEGMENT; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_AttributedCharacterIterator$Attribute__ diff --git a/libjava/java/text/AttributedCharacterIterator.h b/libjava/java/text/AttributedCharacterIterator.h new file mode 100644 index 00000000000..c5b04f6fa94 --- /dev/null +++ b/libjava/java/text/AttributedCharacterIterator.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_AttributedCharacterIterator__ +#define __java_text_AttributedCharacterIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class AttributedCharacterIterator$Attribute; + } + } +} + +class java::text::AttributedCharacterIterator : public ::java::lang::Object +{ + +public: + virtual ::java::util::Set * getAllAttributeKeys() = 0; + virtual ::java::util::Map * getAttributes() = 0; + virtual ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *) = 0; + virtual jint getRunStart() = 0; + virtual jint getRunStart(::java::util::Set *) = 0; + virtual jint getRunStart(::java::text::AttributedCharacterIterator$Attribute *) = 0; + virtual jint getRunLimit() = 0; + virtual jint getRunLimit(::java::util::Set *) = 0; + virtual jint getRunLimit(::java::text::AttributedCharacterIterator$Attribute *) = 0; + virtual jchar current() = 0; + virtual jchar next() = 0; + virtual jchar previous() = 0; + virtual jchar first() = 0; + virtual jchar last() = 0; + virtual jint getIndex() = 0; + virtual jchar setIndex(jint) = 0; + virtual jint getBeginIndex() = 0; + virtual jint getEndIndex() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_text_AttributedCharacterIterator__ diff --git a/libjava/java/text/AttributedString$AttributeRange.h b/libjava/java/text/AttributedString$AttributeRange.h new file mode 100644 index 00000000000..49e33d1ad08 --- /dev/null +++ b/libjava/java/text/AttributedString$AttributeRange.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_AttributedString$AttributeRange__ +#define __java_text_AttributedString$AttributeRange__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedString; + class AttributedString$AttributeRange; + } + } +} + +class java::text::AttributedString$AttributeRange : public ::java::lang::Object +{ + +public: // actually package-private + AttributedString$AttributeRange(::java::text::AttributedString *, ::java::util::Map *, jint, jint); + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attribs; + jint beginIndex; + jint endIndex; + ::java::text::AttributedString * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_AttributedString$AttributeRange__ diff --git a/libjava/java/text/AttributedString.h b/libjava/java/text/AttributedString.h new file mode 100644 index 00000000000..51b4c0bc2fa --- /dev/null +++ b/libjava/java/text/AttributedString.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_AttributedString__ +#define __java_text_AttributedString__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class AttributedCharacterIterator$Attribute; + class AttributedString; + class AttributedString$AttributeRange; + class StringCharacterIterator; + } + } +} + +class java::text::AttributedString : public ::java::lang::Object +{ + +public: + AttributedString(::java::lang::String *); + AttributedString(::java::lang::String *, ::java::util::Map *); + AttributedString(::java::text::AttributedCharacterIterator *); + AttributedString(::java::text::AttributedCharacterIterator *, jint, jint); + AttributedString(::java::text::AttributedCharacterIterator *, jint, jint, JArray< ::java::text::AttributedCharacterIterator$Attribute * > *); + virtual void addAttribute(::java::text::AttributedCharacterIterator$Attribute *, ::java::lang::Object *); + virtual void addAttribute(::java::text::AttributedCharacterIterator$Attribute *, ::java::lang::Object *, jint, jint); + virtual void addAttributes(::java::util::Map *, jint, jint); + virtual ::java::text::AttributedCharacterIterator * getIterator(); + virtual ::java::text::AttributedCharacterIterator * getIterator(JArray< ::java::text::AttributedCharacterIterator$Attribute * > *); + virtual ::java::text::AttributedCharacterIterator * getIterator(JArray< ::java::text::AttributedCharacterIterator$Attribute * > *, jint, jint); +private: + ::java::text::StringCharacterIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sci; + JArray< ::java::text::AttributedString$AttributeRange * > * attribs; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_AttributedString__ diff --git a/libjava/java/text/AttributedStringIterator.h b/libjava/java/text/AttributedStringIterator.h new file mode 100644 index 00000000000..bc2e77f89ab --- /dev/null +++ b/libjava/java/text/AttributedStringIterator.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_AttributedStringIterator__ +#define __java_text_AttributedStringIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedCharacterIterator$Attribute; + class AttributedString$AttributeRange; + class AttributedStringIterator; + class CharacterIterator; + class StringCharacterIterator; + } + } +} + +class java::text::AttributedStringIterator : public ::java::lang::Object +{ + +public: // actually package-private + AttributedStringIterator(::java::text::StringCharacterIterator *, JArray< ::java::text::AttributedString$AttributeRange * > *, jint, jint, JArray< ::java::text::AttributedCharacterIterator$Attribute * > *); +public: + virtual ::java::lang::Object * clone(); + virtual jchar current(); + virtual jchar next(); + virtual jchar previous(); + virtual jchar first(); + virtual jchar last(); + virtual jint getIndex(); + virtual jchar setIndex(jint); + virtual jint getBeginIndex(); + virtual jint getEndIndex(); + virtual ::java::util::Set * getAllAttributeKeys(); + virtual jint getRunLimit(); + virtual jint getRunLimit(::java::text::AttributedCharacterIterator$Attribute *); + virtual jint getRunLimit(::java::util::Set *); + virtual jint getRunStart(); + virtual jint getRunStart(::java::text::AttributedCharacterIterator$Attribute *); + virtual jint getRunStart(::java::util::Set *); +private: + ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *, jint); +public: + virtual ::java::lang::Object * getAttribute(::java::text::AttributedCharacterIterator$Attribute *); + virtual ::java::util::Map * getAttributes(); +private: + ::java::text::CharacterIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ci; + JArray< ::java::text::AttributedString$AttributeRange * > * attribs; + JArray< ::java::text::AttributedCharacterIterator$Attribute * > * restricts; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_AttributedStringIterator__ diff --git a/libjava/java/text/Bidi.h b/libjava/java/text/Bidi.h new file mode 100644 index 00000000000..59b80ed5a71 --- /dev/null +++ b/libjava/java/text/Bidi.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_Bidi__ +#define __java_text_Bidi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class Bidi; + } + } +} + +class java::text::Bidi : public ::java::lang::Object +{ + +public: + Bidi(::java::text::AttributedCharacterIterator *); + Bidi(JArray< jchar > *, jint, JArray< jbyte > *, jint, jint, jint); + Bidi(::java::lang::String *, jint); +private: + void computeTypes(); + jint computeParagraphEmbeddingLevel(); + void computeExplicitLevels(); + void computeRuns(); + void resolveWeakTypes(); + void resolveNeutralTypes(); + void resolveImplicitLevels(); + void reinsertFormattingCodes(); + void runBidi(); +public: + jboolean baseIsLeftToRight(); + ::java::text::Bidi * createLineBidi(jint, jint); + jint getBaseLevel(); + jint getLength(); + jint getLevelAt(jint); + jint getRunCount(); + jint getRunLevel(jint); + jint getRunLimit(jint); + jint getRunStart(jint); + jboolean isLeftToRight(); + jboolean isMixed(); + jboolean isRightToLeft(); + ::java::lang::String * toString(); + static void reorderVisually(JArray< jbyte > *, jint, JArray< ::java::lang::Object * > *, jint, jint); + static jboolean requiresBidi(JArray< jchar > *, jint, jint); + static const jint DIRECTION_DEFAULT_LEFT_TO_RIGHT = -2; + static const jint DIRECTION_DEFAULT_RIGHT_TO_LEFT = -1; + static const jint DIRECTION_LEFT_TO_RIGHT = 0; + static const jint DIRECTION_RIGHT_TO_LEFT = 1; +private: + static const jint LTOR = 1; + static const jint RTOL = 2; + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) text; + jint textOffset; + JArray< jbyte > * embeddings; + jint embeddingOffset; + jint length; + jint flags; + jint baseEmbedding; + JArray< jbyte > * types; + JArray< jbyte > * levels; + ::java::util::ArrayList * formatterIndices; + JArray< jint > * runs; + jint resultFlags; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_Bidi__ diff --git a/libjava/java/text/BreakIterator.h b/libjava/java/text/BreakIterator.h new file mode 100644 index 00000000000..2c6f90ea187 --- /dev/null +++ b/libjava/java/text/BreakIterator.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_BreakIterator__ +#define __java_text_BreakIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class BreakIterator; + class CharacterIterator; + } + } +} + +class java::text::BreakIterator : public ::java::lang::Object +{ + +public: // actually protected + BreakIterator(); +public: + virtual ::java::lang::Object * clone(); + virtual jint current() = 0; + virtual jint first() = 0; + virtual jint following(jint) = 0; + static JArray< ::java::util::Locale * > * getAvailableLocales(); +private: + static ::java::text::BreakIterator * getInstance(::java::lang::String *, ::java::util::Locale *); +public: + static ::java::text::BreakIterator * getCharacterInstance(); + static ::java::text::BreakIterator * getCharacterInstance(::java::util::Locale *); + static ::java::text::BreakIterator * getLineInstance(); + static ::java::text::BreakIterator * getLineInstance(::java::util::Locale *); + static ::java::text::BreakIterator * getSentenceInstance(); + static ::java::text::BreakIterator * getSentenceInstance(::java::util::Locale *); + virtual ::java::text::CharacterIterator * getText() = 0; + static ::java::text::BreakIterator * getWordInstance(); + static ::java::text::BreakIterator * getWordInstance(::java::util::Locale *); + virtual jboolean isBoundary(jint); + virtual jint last() = 0; + virtual jint next() = 0; + virtual jint next(jint) = 0; + virtual jint preceding(jint); + virtual jint previous() = 0; + virtual void setText(::java::lang::String *); + virtual void setText(::java::text::CharacterIterator *) = 0; + static const jint DONE = -1; + static ::java::lang::Class class$; +}; + +#endif // __java_text_BreakIterator__ diff --git a/libjava/java/text/CharacterIterator.h b/libjava/java/text/CharacterIterator.h new file mode 100644 index 00000000000..d13612ff3bd --- /dev/null +++ b/libjava/java/text/CharacterIterator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_CharacterIterator__ +#define __java_text_CharacterIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class CharacterIterator; + } + } +} + +class java::text::CharacterIterator : public ::java::lang::Object +{ + +public: + virtual jchar current() = 0; + virtual jchar next() = 0; + virtual jchar previous() = 0; + virtual jchar first() = 0; + virtual jchar last() = 0; + virtual jint getIndex() = 0; + virtual jchar setIndex(jint) = 0; + virtual jint getBeginIndex() = 0; + virtual jint getEndIndex() = 0; + virtual ::java::lang::Object * clone() = 0; + static const jchar DONE = 65535; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_text_CharacterIterator__ diff --git a/libjava/java/text/ChoiceFormat.h b/libjava/java/text/ChoiceFormat.h new file mode 100644 index 00000000000..30aa77a6788 --- /dev/null +++ b/libjava/java/text/ChoiceFormat.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_ChoiceFormat__ +#define __java_text_ChoiceFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class ChoiceFormat; + class FieldPosition; + class ParsePosition; + } + } +} + +class java::text::ChoiceFormat : public ::java::text::NumberFormat +{ + +public: + virtual void applyPattern(::java::lang::String *); + ChoiceFormat(::java::lang::String *); + ChoiceFormat(JArray< jdouble > *, JArray< ::java::lang::String * > *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::StringBuffer * format(jlong, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::lang::StringBuffer * format(jdouble, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual JArray< ::java::lang::Object * > * getFormats(); + virtual JArray< jdouble > * getLimits(); + virtual jint hashCode(); + static jdouble nextDouble(jdouble); + static jdouble nextDouble(jdouble, jboolean); + virtual ::java::lang::Number * parse(::java::lang::String *, ::java::text::ParsePosition *); + static jdouble previousDouble(jdouble); + virtual void setChoices(JArray< jdouble > *, JArray< ::java::lang::String * > *); +private: + void quoteString(::java::lang::StringBuffer *, ::java::lang::String *); +public: + virtual ::java::lang::String * toPattern(); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::text::NumberFormat)))) choiceFormats; + JArray< jdouble > * choiceLimits; + static const jint mantissaBits = 52; + static const jint exponentBits = 11; + static const jlong serialVersionUID = 1795184449645032964LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_ChoiceFormat__ diff --git a/libjava/java/text/CollationElementIterator.h b/libjava/java/text/CollationElementIterator.h new file mode 100644 index 00000000000..19d92b8cab6 --- /dev/null +++ b/libjava/java/text/CollationElementIterator.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_CollationElementIterator__ +#define __java_text_CollationElementIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class CharacterIterator; + class CollationElementIterator; + class RuleBasedCollator; + class RuleBasedCollator$CollationElement; + } + } +} + +class java::text::CollationElementIterator : public ::java::lang::Object +{ + +public: // actually package-private + CollationElementIterator(::java::text::RuleBasedCollator *, ::java::lang::String *); + ::java::text::RuleBasedCollator$CollationElement * nextBlock(); + ::java::text::RuleBasedCollator$CollationElement * previousBlock(); +public: + jint next(); + jint previous(); + static jint primaryOrder(jint); + void reset(); + static jshort secondaryOrder(jint); + static jshort tertiaryOrder(jint); + void setText(::java::lang::String *); + void setText(::java::text::CharacterIterator *); + jint getOffset(); + void setOffset(jint); + jint getMaxExpansion(jint); + static const jint NULLORDER = -1; +public: // actually package-private + ::java::text::RuleBasedCollator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) collator; + ::java::lang::String * text; + jint index; + jint textIndex; +private: + JArray< ::java::text::RuleBasedCollator$CollationElement * > * text_decomposition; + JArray< jint > * text_indexes; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_CollationElementIterator__ diff --git a/libjava/java/text/CollationKey.h b/libjava/java/text/CollationKey.h new file mode 100644 index 00000000000..83a6c5ae5dd --- /dev/null +++ b/libjava/java/text/CollationKey.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_CollationKey__ +#define __java_text_CollationKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class CollationKey; + class Collator; + } + } +} + +class java::text::CollationKey : public ::java::lang::Object +{ + +public: // actually package-private + CollationKey(::java::text::Collator *, ::java::lang::String *, JArray< jbyte > *); +public: + virtual jint target$compareTo(::java::text::CollationKey *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getSourceString(); + virtual jint hashCode(); + virtual JArray< jbyte > * toByteArray(); + virtual jint compareTo(::java::lang::Object *); +private: + ::java::text::Collator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) collator; + ::java::lang::String * originalText; + JArray< jbyte > * key; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_CollationKey__ diff --git a/libjava/java/text/Collator.h b/libjava/java/text/Collator.h new file mode 100644 index 00000000000..075dcb2b1d4 --- /dev/null +++ b/libjava/java/text/Collator.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_Collator__ +#define __java_text_Collator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class CollationKey; + class Collator; + } + } +} + +class java::text::Collator : public ::java::lang::Object +{ + +public: // actually protected + Collator(); +public: + virtual jint compare(::java::lang::String *, ::java::lang::String *) = 0; + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean equals(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * clone(); + static JArray< ::java::util::Locale * > * getAvailableLocales(); + virtual ::java::text::CollationKey * getCollationKey(::java::lang::String *) = 0; + virtual jint getDecomposition(); + static ::java::text::Collator * getInstance(); + static ::java::text::Collator * getInstance(::java::util::Locale *); + virtual jint getStrength(); + virtual jint hashCode() = 0; + virtual void setDecomposition(jint); + virtual void setStrength(jint); +public: // actually package-private + virtual void decomposeCharacter(jchar, ::java::lang::StringBuffer *); +public: + static const jint PRIMARY = 0; + static const jint SECONDARY = 1; + static const jint TERTIARY = 2; + static const jint IDENTICAL = 3; + static const jint NO_DECOMPOSITION = 0; + static const jint CANONICAL_DECOMPOSITION = 1; + static const jint FULL_DECOMPOSITION = 2; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) decmp; + jint strength; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_Collator__ diff --git a/libjava/java/text/DateFormat$Field.h b/libjava/java/text/DateFormat$Field.h new file mode 100644 index 00000000000..e586d22fe62 --- /dev/null +++ b/libjava/java/text/DateFormat$Field.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_DateFormat$Field__ +#define __java_text_DateFormat$Field__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormat$Field; + } + } +} + +class java::text::DateFormat$Field : public ::java::text::Format$Field +{ + + DateFormat$Field(); +public: // actually protected + DateFormat$Field(::java::lang::String *, jint); +public: + virtual jint getCalendarField(); + static ::java::text::DateFormat$Field * ofCalendarField(jint); +public: // actually protected + virtual ::java::lang::Object * readResolve(); +public: // actually package-private + static const jlong serialVersionUID = 7441350119349544720LL; +private: + jint __attribute__((aligned(__alignof__( ::java::text::Format$Field)))) calendarField; +public: + static ::java::text::DateFormat$Field * ERA; + static ::java::text::DateFormat$Field * YEAR; + static ::java::text::DateFormat$Field * MONTH; + static ::java::text::DateFormat$Field * DAY_OF_MONTH; + static ::java::text::DateFormat$Field * HOUR_OF_DAY1; + static ::java::text::DateFormat$Field * HOUR_OF_DAY0; + static ::java::text::DateFormat$Field * MINUTE; + static ::java::text::DateFormat$Field * SECOND; + static ::java::text::DateFormat$Field * MILLISECOND; + static ::java::text::DateFormat$Field * DAY_OF_WEEK; + static ::java::text::DateFormat$Field * DAY_OF_YEAR; + static ::java::text::DateFormat$Field * DAY_OF_WEEK_IN_MONTH; + static ::java::text::DateFormat$Field * WEEK_OF_YEAR; + static ::java::text::DateFormat$Field * WEEK_OF_MONTH; + static ::java::text::DateFormat$Field * AM_PM; + static ::java::text::DateFormat$Field * HOUR1; + static ::java::text::DateFormat$Field * HOUR0; + static ::java::text::DateFormat$Field * TIME_ZONE; + static ::java::text::DateFormat$Field * ISO_YEAR; + static ::java::text::DateFormat$Field * LOCALIZED_DAY_OF_WEEK; + static ::java::text::DateFormat$Field * EXTENDED_YEAR; + static ::java::text::DateFormat$Field * MODIFIED_JULIAN_DAY; + static ::java::text::DateFormat$Field * MILLISECOND_IN_DAY; + static ::java::text::DateFormat$Field * RFC822_TIME_ZONE; +public: // actually package-private + static JArray< ::java::text::DateFormat$Field * > * allFields; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_DateFormat$Field__ diff --git a/libjava/java/text/DateFormat.h b/libjava/java/text/DateFormat.h new file mode 100644 index 00000000000..447fef3b3ce --- /dev/null +++ b/libjava/java/text/DateFormat.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_DateFormat__ +#define __java_text_DateFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormat; + class FieldPosition; + class NumberFormat; + class ParsePosition; + } + } +} + +class java::text::DateFormat : public ::java::text::Format +{ + +public: // actually protected + DateFormat(); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::StringBuffer * format(::java::lang::Object *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::lang::String * format(::java::util::Date *); + virtual ::java::lang::StringBuffer * format(::java::util::Date *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *) = 0; + static JArray< ::java::util::Locale * > * getAvailableLocales(); + virtual ::java::util::Calendar * getCalendar(); +private: + static ::java::text::DateFormat * computeInstance(jint, ::java::util::Locale *, jboolean, jboolean); + static ::java::text::DateFormat * computeInstance(jint, jint, ::java::util::Locale *, jboolean, jboolean); +public: + static ::java::text::DateFormat * getDateInstance(); + static ::java::text::DateFormat * getDateInstance(jint); + static ::java::text::DateFormat * getDateInstance(jint, ::java::util::Locale *); + static ::java::text::DateFormat * getDateTimeInstance(); + static ::java::text::DateFormat * getDateTimeInstance(jint, jint); + static ::java::text::DateFormat * getDateTimeInstance(jint, jint, ::java::util::Locale *); + static ::java::text::DateFormat * getInstance(); + virtual ::java::text::NumberFormat * getNumberFormat(); + static ::java::text::DateFormat * getTimeInstance(); + static ::java::text::DateFormat * getTimeInstance(jint); + static ::java::text::DateFormat * getTimeInstance(jint, ::java::util::Locale *); + virtual ::java::util::TimeZone * getTimeZone(); + virtual jint hashCode(); + virtual jboolean isLenient(); + virtual ::java::util::Date * parse(::java::lang::String *); + virtual ::java::util::Date * parse(::java::lang::String *, ::java::text::ParsePosition *) = 0; + virtual ::java::lang::Object * parseObject(::java::lang::String *, ::java::text::ParsePosition *); + virtual void setCalendar(::java::util::Calendar *); + virtual void setLenient(jboolean); + virtual void setNumberFormat(::java::text::NumberFormat *); + virtual void setTimeZone(::java::util::TimeZone *); +private: + static const jlong serialVersionUID = 7218322306649953788LL; +public: // actually protected + ::java::util::Calendar * __attribute__((aligned(__alignof__( ::java::text::Format)))) calendar; + ::java::text::NumberFormat * numberFormat; +public: + static const jint FULL = 0; + static const jint LONG = 1; + static const jint MEDIUM = 2; + static const jint SHORT = 3; + static const jint DEFAULT = 2; + static const jint ERA_FIELD = 0; + static const jint YEAR_FIELD = 1; + static const jint MONTH_FIELD = 2; + static const jint DATE_FIELD = 3; + static const jint HOUR_OF_DAY1_FIELD = 4; + static const jint HOUR_OF_DAY0_FIELD = 5; + static const jint MINUTE_FIELD = 6; + static const jint SECOND_FIELD = 7; + static const jint MILLISECOND_FIELD = 8; + static const jint DAY_OF_WEEK_FIELD = 9; + static const jint DAY_OF_YEAR_FIELD = 10; + static const jint DAY_OF_WEEK_IN_MONTH_FIELD = 11; + static const jint WEEK_OF_YEAR_FIELD = 12; + static const jint WEEK_OF_MONTH_FIELD = 13; + static const jint AM_PM_FIELD = 14; + static const jint HOUR1_FIELD = 15; + static const jint HOUR0_FIELD = 16; + static const jint TIMEZONE_FIELD = 17; + static const jint ISO_YEAR_FIELD = 18; + static const jint LOCALIZED_DAY_OF_WEEK_FIELD = 19; + static const jint EXTENDED_YEAR_FIELD = 20; + static const jint MODIFIED_JULIAN_DAY_FIELD = 21; + static const jint MILLISECOND_IN_DAY_FIELD = 22; + static const jint RFC822_TIMEZONE_FIELD = 23; + static ::java::lang::Class class$; +}; + +#endif // __java_text_DateFormat__ diff --git a/libjava/java/text/DateFormatSymbols.h b/libjava/java/text/DateFormatSymbols.h new file mode 100644 index 00000000000..1ef65b7cabd --- /dev/null +++ b/libjava/java/text/DateFormatSymbols.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_DateFormatSymbols__ +#define __java_text_DateFormatSymbols__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormatSymbols; + } + } +} + +class java::text::DateFormatSymbols : public ::java::lang::Object +{ + + JArray< ::java::lang::String * > * formatsForKey(::java::util::ResourceBundle *, ::java::lang::String *); +public: + DateFormatSymbols(::java::util::Locale *); + DateFormatSymbols(); + virtual JArray< ::java::lang::String * > * getAmPmStrings(); + virtual JArray< ::java::lang::String * > * getEras(); + virtual ::java::lang::String * getLocalPatternChars(); + virtual JArray< ::java::lang::String * > * getMonths(); + virtual JArray< ::java::lang::String * > * getShortMonths(); + virtual JArray< ::java::lang::String * > * getShortWeekdays(); + virtual JArray< ::java::lang::String * > * getWeekdays(); + virtual JArray< JArray< ::java::lang::String * > * > * getZoneStrings(); + virtual void setAmPmStrings(JArray< ::java::lang::String * > *); + virtual void setEras(JArray< ::java::lang::String * > *); + virtual void setLocalPatternChars(::java::lang::String *); + virtual void setMonths(JArray< ::java::lang::String * > *); + virtual void setShortMonths(JArray< ::java::lang::String * > *); + virtual void setShortWeekdays(JArray< ::java::lang::String * > *); + virtual void setWeekdays(JArray< ::java::lang::String * > *); + virtual void setZoneStrings(JArray< JArray< ::java::lang::String * > * > *); +private: + static jboolean equals(::java::lang::Object *, ::java::lang::Object *); + static jint hashCode(::java::lang::Object *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * clone(); + virtual jint hashCode(); +public: // actually package-private + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms; + JArray< ::java::lang::String * > * eras; +private: + ::java::lang::String * localPatternChars; +public: // actually package-private + JArray< ::java::lang::String * > * months; + JArray< ::java::lang::String * > * shortMonths; + JArray< ::java::lang::String * > * shortWeekdays; + JArray< ::java::lang::String * > * weekdays; +private: + JArray< JArray< ::java::lang::String * > * > * zoneStrings; + static const jlong serialVersionUID = -5987973545549424702LL; + static JArray< ::java::lang::String * > * formatPrefixes; +public: // actually package-private + JArray< ::java::lang::String * > * dateFormats; + JArray< ::java::lang::String * > * timeFormats; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_DateFormatSymbols__ diff --git a/libjava/java/text/DecimalFormat.h b/libjava/java/text/DecimalFormat.h new file mode 100644 index 00000000000..14cf9d2f59b --- /dev/null +++ b/libjava/java/text/DecimalFormat.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_DecimalFormat__ +#define __java_text_DecimalFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace text + { + class AttributedCharacterIterator; + class DecimalFormat; + class DecimalFormatSymbols; + class FieldPosition; + class NumberFormat$Field; + class ParsePosition; + } + } +} + +class java::text::DecimalFormat : public ::java::text::NumberFormat +{ + +public: + DecimalFormat(); + DecimalFormat(::java::lang::String *); + DecimalFormat(::java::lang::String *, ::java::text::DecimalFormatSymbols *); + virtual void applyLocalizedPattern(::java::lang::String *); + virtual void applyPattern(::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::StringBuffer * format(::java::lang::Object *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::lang::StringBuffer * format(jdouble, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::lang::StringBuffer * format(jlong, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::text::AttributedCharacterIterator * formatToCharacterIterator(::java::lang::Object *); + virtual ::java::util::Currency * getCurrency(); + virtual ::java::text::DecimalFormatSymbols * getDecimalFormatSymbols(); + virtual jint getGroupingSize(); + virtual jint getMultiplier(); + virtual ::java::lang::String * getNegativePrefix(); + virtual ::java::lang::String * getNegativeSuffix(); + virtual ::java::lang::String * getPositivePrefix(); + virtual ::java::lang::String * getPositiveSuffix(); + virtual jboolean isDecimalSeparatorAlwaysShown(); + virtual void setParseBigDecimal(jboolean); + virtual jboolean isParseBigDecimal(); + virtual ::java::lang::Number * parse(::java::lang::String *, ::java::text::ParsePosition *); + virtual void setCurrency(::java::util::Currency *); + virtual void setDecimalFormatSymbols(::java::text::DecimalFormatSymbols *); + virtual void setDecimalSeparatorAlwaysShown(jboolean); + virtual void setGroupingSize(jint); + virtual void setMaximumIntegerDigits(jint); + virtual void setMinimumIntegerDigits(jint); + virtual void setMaximumFractionDigits(jint); + virtual void setMinimumFractionDigits(jint); + virtual void setMultiplier(jint); + virtual void setNegativePrefix(::java::lang::String *); + virtual void setNegativeSuffix(::java::lang::String *); + virtual void setPositivePrefix(::java::lang::String *); + virtual void setPositiveSuffix(::java::lang::String *); + virtual ::java::lang::String * toLocalizedPattern(); + virtual ::java::lang::String * toPattern(); +private: + jboolean equals(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * patternChars(::java::text::DecimalFormatSymbols *); + ::java::lang::StringBuffer * quoteFix(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * computePattern(::java::text::DecimalFormatSymbols *); + void applyPatternWithSymbols(::java::lang::String *, ::java::text::DecimalFormatSymbols *); + jint scanFix(::java::lang::String *, ::java::text::DecimalFormatSymbols *, jint, jboolean); + jint scanNumberInteger(::java::lang::String *, ::java::text::DecimalFormatSymbols *, jint); + jint scanFractionalPortion(::java::lang::String *, ::java::text::DecimalFormatSymbols *, jint); + jint scanExponent(::java::lang::String *, ::java::text::DecimalFormatSymbols *, jint); + void scanNegativePattern(::java::lang::String *, ::java::text::DecimalFormatSymbols *, jint); + void formatInternal(::java::math::BigDecimal *, jboolean, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + void handleFractionalPart(::java::lang::StringBuffer *, ::java::lang::String *, ::java::text::FieldPosition *, jboolean); + void appendZero(::java::lang::StringBuffer *, jint, jint); + void appendDigit(::java::lang::String *, ::java::lang::StringBuffer *, jboolean); + jlong getExponent(::java::math::BigDecimal *); + ::java::lang::String * adjustTrailingZeros(::java::lang::String *, jint); + void addAttribute(::java::text::NumberFormat$Field *, jint, jint); + void setDefaultValues(); + static const jlong serialVersionUID = 864413376551465018LL; + static const jint DEFAULT_INTEGER_DIGITS = 309; + static const jint DEFAULT_FRACTION_DIGITS = 340; + static ::java::text::DecimalFormatSymbols * nonLocalizedSymbols; + jboolean __attribute__((aligned(__alignof__( ::java::text::NumberFormat)))) parseBigDecimal; + jboolean useCurrencySeparator; + jboolean decimalSeparatorAlwaysShown; + jboolean showDecimalSeparator; + jboolean groupingSeparatorInPattern; + jbyte groupingSize; + jbyte minExponentDigits; + jint exponentRound; + jint multiplier; + jint negativePatternMultiplier; + ::java::lang::String * negativePrefix; + ::java::lang::String * negativeSuffix; + ::java::lang::String * positivePrefix; + ::java::lang::String * positiveSuffix; + ::java::text::DecimalFormatSymbols * symbols; + jboolean useExponentialNotation; + jint maxIntegerDigitsExponent; + jboolean hasNegativePrefix; + jboolean hasFractionalPattern; + ::java::util::ArrayList * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_DecimalFormat__ diff --git a/libjava/java/text/DecimalFormatSymbols.h b/libjava/java/text/DecimalFormatSymbols.h new file mode 100644 index 00000000000..96bd2861693 --- /dev/null +++ b/libjava/java/text/DecimalFormatSymbols.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_DecimalFormatSymbols__ +#define __java_text_DecimalFormatSymbols__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DecimalFormatSymbols; + } + } +} + +class java::text::DecimalFormatSymbols : public ::java::lang::Object +{ + +public: + ::java::lang::Object * clone(); + DecimalFormatSymbols(); +private: + ::java::lang::String * safeGetString(::java::util::ResourceBundle *, ::java::lang::String *, ::java::lang::String *); + jchar safeGetChar(::java::util::ResourceBundle *, ::java::lang::String *, jchar); +public: + DecimalFormatSymbols(::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::util::Currency * getCurrency(); + ::java::lang::String * getCurrencySymbol(); + jchar getDecimalSeparator(); + jchar getDigit(); +public: // actually package-private + jchar getExponential(); +public: + jchar getGroupingSeparator(); + ::java::lang::String * getInfinity(); + ::java::lang::String * getInternationalCurrencySymbol(); + jchar getMinusSign(); + jchar getMonetaryDecimalSeparator(); + ::java::lang::String * getNaN(); + jchar getPatternSeparator(); + jchar getPercent(); + jchar getPerMill(); + jchar getZeroDigit(); + jint hashCode(); + void setCurrency(::java::util::Currency *); + void setCurrencySymbol(::java::lang::String *); + void setDecimalSeparator(jchar); + void setDigit(jchar); +public: // actually package-private + void setExponential(jchar); +public: + void setGroupingSeparator(jchar); + void setInfinity(::java::lang::String *); + void setInternationalCurrencySymbol(::java::lang::String *); + void setMinusSign(jchar); + void setMonetaryDecimalSeparator(jchar); + void setNaN(::java::lang::String *); + void setPatternSeparator(jchar); + void setPercent(jchar); + void setPerMill(jchar); + void setZeroDigit(jchar); +private: + void readObject(::java::io::ObjectInputStream *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) currencySymbol; + jchar decimalSeparator; + jchar digit; + jchar exponential; + jchar groupingSeparator; + ::java::lang::String * infinity; + ::java::lang::String * intlCurrencySymbol; + jchar minusSign; + jchar monetarySeparator; + ::java::lang::String * NaN; + jchar patternSeparator; + jchar percent; + jchar perMill; + jint serialVersionOnStream; + jchar zeroDigit; + ::java::util::Locale * locale; + static const jlong serialVersionUID = 5772796243397350300LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_DecimalFormatSymbols__ diff --git a/libjava/java/text/FieldPosition.h b/libjava/java/text/FieldPosition.h new file mode 100644 index 00000000000..d61f9115fcd --- /dev/null +++ b/libjava/java/text/FieldPosition.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_FieldPosition__ +#define __java_text_FieldPosition__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class FieldPosition; + class Format$Field; + } + } +} + +class java::text::FieldPosition : public ::java::lang::Object +{ + +public: + FieldPosition(::java::text::Format$Field *); + FieldPosition(::java::text::Format$Field *, jint); + FieldPosition(jint); + virtual jint getField(); + virtual ::java::text::Format$Field * getFieldAttribute(); + virtual jint getBeginIndex(); + virtual void setBeginIndex(jint); + virtual jint getEndIndex(); + virtual void setEndIndex(jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) field_id; + jint begin; + jint end; + ::java::text::Format$Field * field_attribute; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_FieldPosition__ diff --git a/libjava/java/text/Format$Field.h b/libjava/java/text/Format$Field.h new file mode 100644 index 00000000000..197dd7dce66 --- /dev/null +++ b/libjava/java/text/Format$Field.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_Format$Field__ +#define __java_text_Format$Field__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class Format$Field; + } + } +} + +class java::text::Format$Field : public ::java::text::AttributedCharacterIterator$Attribute +{ + +public: // actually protected + Format$Field(::java::lang::String *); +public: // actually package-private + static const jlong serialVersionUID = 276966692217360283LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_Format$Field__ diff --git a/libjava/java/text/Format.h b/libjava/java/text/Format.h new file mode 100644 index 00000000000..5813bd0d40c --- /dev/null +++ b/libjava/java/text/Format.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_Format__ +#define __java_text_Format__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class FieldPosition; + class Format; + class ParsePosition; + } + } +} + +class java::text::Format : public ::java::lang::Object +{ + +public: + Format(); + virtual ::java::lang::String * format(::java::lang::Object *); + virtual ::java::lang::StringBuffer * format(::java::lang::Object *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *) = 0; + virtual ::java::lang::Object * parseObject(::java::lang::String *); + virtual ::java::lang::Object * parseObject(::java::lang::String *, ::java::text::ParsePosition *) = 0; + virtual ::java::text::AttributedCharacterIterator * formatToCharacterIterator(::java::lang::Object *); + virtual ::java::lang::Object * clone(); +public: // actually package-private + static const jlong serialVersionUID = -299282585814624189LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_Format__ diff --git a/libjava/java/text/MessageFormat$Field.h b/libjava/java/text/MessageFormat$Field.h new file mode 100644 index 00000000000..78a9bebba91 --- /dev/null +++ b/libjava/java/text/MessageFormat$Field.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_MessageFormat$Field__ +#define __java_text_MessageFormat$Field__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class MessageFormat$Field; + } + } +} + +class java::text::MessageFormat$Field : public ::java::text::Format$Field +{ + + MessageFormat$Field(); +public: // actually protected + MessageFormat$Field(::java::lang::String *); + virtual ::java::lang::Object * readResolve(); +public: // actually package-private + static const jlong serialVersionUID = 7899943957617360810LL; +public: + static ::java::text::MessageFormat$Field * ARGUMENT; + static ::java::lang::Class class$; +}; + +#endif // __java_text_MessageFormat$Field__ diff --git a/libjava/java/text/MessageFormat$MessageFormatElement.h b/libjava/java/text/MessageFormat$MessageFormatElement.h new file mode 100644 index 00000000000..9a95f1f7f8e --- /dev/null +++ b/libjava/java/text/MessageFormat$MessageFormatElement.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_MessageFormat$MessageFormatElement__ +#define __java_text_MessageFormat$MessageFormatElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class Format; + class MessageFormat$MessageFormatElement; + } + } +} + +class java::text::MessageFormat$MessageFormatElement : public ::java::lang::Object +{ + + MessageFormat$MessageFormatElement(); +public: // actually package-private + void setLocale(::java::util::Locale *); + MessageFormat$MessageFormatElement(::java::text::MessageFormat$MessageFormatElement *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) argNumber; + ::java::text::Format * setFormat; + ::java::text::Format * format; + ::java::lang::Class * formatClass; + ::java::lang::String * type; + ::java::lang::String * style; + ::java::lang::String * trailer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_MessageFormat$MessageFormatElement__ diff --git a/libjava/java/text/MessageFormat.h b/libjava/java/text/MessageFormat.h new file mode 100644 index 00000000000..47d476fb521 --- /dev/null +++ b/libjava/java/text/MessageFormat.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_MessageFormat__ +#define __java_text_MessageFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class FormatCharacterIterator; + } + } + } + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class FieldPosition; + class Format; + class MessageFormat; + class MessageFormat$MessageFormatElement; + class ParsePosition; + } + } +} + +class java::text::MessageFormat : public ::java::text::Format +{ + + static jint scanString(::java::lang::String *, jint, ::java::lang::StringBuffer *); + static jint scanFormatElement(::java::lang::String *, jint, ::java::lang::StringBuffer *, jchar); + static jint scanFormat(::java::lang::String *, jint, ::java::lang::StringBuffer *, ::java::util::Vector *, ::java::util::Locale *); +public: + virtual void applyPattern(::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::text::AttributedCharacterIterator * formatToCharacterIterator(::java::lang::Object *); + static ::java::lang::String * format(::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::StringBuffer * format(JArray< ::java::lang::Object * > *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); +private: + ::java::lang::StringBuffer * formatInternal(JArray< ::java::lang::Object * > *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *, ::gnu::java::text::FormatCharacterIterator *); +public: + virtual ::java::lang::StringBuffer * format(::java::lang::Object *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual JArray< ::java::text::Format * > * getFormats(); + virtual ::java::util::Locale * getLocale(); + virtual jint hashCode(); +private: + MessageFormat(); +public: + MessageFormat(::java::lang::String *); + MessageFormat(::java::lang::String *, ::java::util::Locale *); + virtual JArray< ::java::lang::Object * > * parse(::java::lang::String *, ::java::text::ParsePosition *); + virtual JArray< ::java::lang::Object * > * parse(::java::lang::String *); + virtual ::java::lang::Object * parseObject(::java::lang::String *, ::java::text::ParsePosition *); + virtual void setFormat(jint, ::java::text::Format *); + virtual void setFormats(JArray< ::java::text::Format * > *); + virtual void setLocale(::java::util::Locale *); + virtual ::java::lang::String * toPattern(); + virtual JArray< ::java::text::Format * > * getFormatsByArgumentIndex(); + virtual void setFormatByArgumentIndex(jint, ::java::text::Format *); + virtual void setFormatsByArgumentIndex(JArray< ::java::text::Format * > *); +private: + static const jlong serialVersionUID = 6479157306784022952LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::text::Format)))) pattern; + ::java::util::Locale * locale; + JArray< ::java::text::MessageFormat$MessageFormatElement * > * elements; + ::java::lang::String * leader; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_MessageFormat__ diff --git a/libjava/java/text/NumberFormat$Field.h b/libjava/java/text/NumberFormat$Field.h new file mode 100644 index 00000000000..6b72af0a406 --- /dev/null +++ b/libjava/java/text/NumberFormat$Field.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_NumberFormat$Field__ +#define __java_text_NumberFormat$Field__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class NumberFormat$Field; + } + } +} + +class java::text::NumberFormat$Field : public ::java::text::Format$Field +{ + + NumberFormat$Field(); +public: // actually protected + NumberFormat$Field(::java::lang::String *); + virtual ::java::lang::Object * readResolve(); +public: // actually package-private + static const jlong serialVersionUID = 7494728892700160890LL; +public: + static ::java::text::NumberFormat$Field * INTEGER; + static ::java::text::NumberFormat$Field * FRACTION; + static ::java::text::NumberFormat$Field * EXPONENT; + static ::java::text::NumberFormat$Field * DECIMAL_SEPARATOR; + static ::java::text::NumberFormat$Field * SIGN; + static ::java::text::NumberFormat$Field * GROUPING_SEPARATOR; + static ::java::text::NumberFormat$Field * EXPONENT_SYMBOL; + static ::java::text::NumberFormat$Field * PERCENT; + static ::java::text::NumberFormat$Field * PERMILLE; + static ::java::text::NumberFormat$Field * CURRENCY; + static ::java::text::NumberFormat$Field * EXPONENT_SIGN; +private: + static JArray< ::java::text::NumberFormat$Field * > * allFields; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_NumberFormat$Field__ diff --git a/libjava/java/text/NumberFormat.h b/libjava/java/text/NumberFormat.h new file mode 100644 index 00000000000..c800b99a97f --- /dev/null +++ b/libjava/java/text/NumberFormat.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_NumberFormat__ +#define __java_text_NumberFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class FieldPosition; + class NumberFormat; + class ParsePosition; + } + } +} + +class java::text::NumberFormat : public ::java::text::Format +{ + +public: + virtual ::java::lang::String * format(jlong); + virtual ::java::lang::StringBuffer * format(::java::lang::Object *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::lang::StringBuffer * format(jdouble, ::java::lang::StringBuffer *, ::java::text::FieldPosition *) = 0; + virtual ::java::lang::StringBuffer * format(jlong, ::java::lang::StringBuffer *, ::java::text::FieldPosition *) = 0; + virtual jboolean equals(::java::lang::Object *); + static JArray< ::java::util::Locale * > * getAvailableLocales(); +private: + static ::java::text::NumberFormat * computeInstance(::java::util::Locale *, ::java::lang::String *, ::java::lang::String *); +public: + static ::java::text::NumberFormat * getCurrencyInstance(); + static ::java::text::NumberFormat * getCurrencyInstance(::java::util::Locale *); + static ::java::text::NumberFormat * getInstance(); + static ::java::text::NumberFormat * getInstance(::java::util::Locale *); + virtual jint getMaximumFractionDigits(); + virtual jint getMaximumIntegerDigits(); + virtual jint getMinimumFractionDigits(); + virtual jint getMinimumIntegerDigits(); + static ::java::text::NumberFormat * getNumberInstance(); + static ::java::text::NumberFormat * getNumberInstance(::java::util::Locale *); + static ::java::text::NumberFormat * getIntegerInstance(); + static ::java::text::NumberFormat * getIntegerInstance(::java::util::Locale *); + static ::java::text::NumberFormat * getPercentInstance(); + static ::java::text::NumberFormat * getPercentInstance(::java::util::Locale *); + virtual jint hashCode(); + virtual jboolean isGroupingUsed(); + virtual jboolean isParseIntegerOnly(); + NumberFormat(); + virtual ::java::lang::Number * parse(::java::lang::String *, ::java::text::ParsePosition *) = 0; + virtual ::java::lang::Number * parse(::java::lang::String *); + virtual ::java::lang::Object * parseObject(::java::lang::String *, ::java::text::ParsePosition *); + virtual void setGroupingUsed(jboolean); + virtual void setMaximumFractionDigits(jint); + virtual void setMaximumIntegerDigits(jint); + virtual void setMinimumFractionDigits(jint); + virtual void setMinimumIntegerDigits(jint); + virtual void setParseIntegerOnly(jboolean); + virtual ::java::lang::String * format(jdouble); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + virtual ::java::util::Currency * getCurrency(); + virtual void setCurrency(::java::util::Currency *); + static const jint INTEGER_FIELD = 0; + static const jint FRACTION_FIELD = 1; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::java::text::Format)))) groupingUsed; + jint maximumFractionDigits; +private: + jbyte maxFractionDigits; +public: // actually package-private + jint maximumIntegerDigits; +private: + jbyte maxIntegerDigits; +public: // actually package-private + jint minimumFractionDigits; +private: + jbyte minFractionDigits; +public: // actually package-private + jint minimumIntegerDigits; +private: + jbyte minIntegerDigits; +public: // actually package-private + jboolean parseIntegerOnly; +private: + jint serialVersionOnStream; + static const jlong serialVersionUID = -2308460125733713944LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_NumberFormat__ diff --git a/libjava/java/text/ParseException.h b/libjava/java/text/ParseException.h new file mode 100644 index 00000000000..e8b314fa2d1 --- /dev/null +++ b/libjava/java/text/ParseException.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_ParseException__ +#define __java_text_ParseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class ParseException; + } + } +} + +class java::text::ParseException : public ::java::lang::Exception +{ + +public: + ParseException(::java::lang::String *, jint); + virtual jint getErrorOffset(); +private: + static const jlong serialVersionUID = 2703218443322787634LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) errorOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_ParseException__ diff --git a/libjava/java/text/ParsePosition.h b/libjava/java/text/ParsePosition.h new file mode 100644 index 00000000000..4f7970cea94 --- /dev/null +++ b/libjava/java/text/ParsePosition.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_ParsePosition__ +#define __java_text_ParsePosition__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class ParsePosition; + } + } +} + +class java::text::ParsePosition : public ::java::lang::Object +{ + +public: + ParsePosition(jint); + virtual jint getIndex(); + virtual void setIndex(jint); + virtual jint getErrorIndex(); + virtual void setErrorIndex(jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + jint error_index; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_ParsePosition__ diff --git a/libjava/java/text/RuleBasedCollator$CollationElement.h b/libjava/java/text/RuleBasedCollator$CollationElement.h new file mode 100644 index 00000000000..8baa2a46d84 --- /dev/null +++ b/libjava/java/text/RuleBasedCollator$CollationElement.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_RuleBasedCollator$CollationElement__ +#define __java_text_RuleBasedCollator$CollationElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class RuleBasedCollator$CollationElement; + } + } +} + +class java::text::RuleBasedCollator$CollationElement : public ::java::lang::Object +{ + +public: // actually package-private + RuleBasedCollator$CollationElement(::java::lang::String *, jint, jshort, jshort, jshort, ::java::lang::String *, jboolean); + jint getValue(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + jint primary; + jshort secondary; + jshort tertiary; + jshort equality; + jboolean ignore; + ::java::lang::String * expansion; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_RuleBasedCollator$CollationElement__ diff --git a/libjava/java/text/RuleBasedCollator$CollationSorter.h b/libjava/java/text/RuleBasedCollator$CollationSorter.h new file mode 100644 index 00000000000..4436ec955bc --- /dev/null +++ b/libjava/java/text/RuleBasedCollator$CollationSorter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_RuleBasedCollator$CollationSorter__ +#define __java_text_RuleBasedCollator$CollationSorter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class RuleBasedCollator$CollationSorter; + } + } +} + +class java::text::RuleBasedCollator$CollationSorter : public ::java::lang::Object +{ + +public: // actually package-private + RuleBasedCollator$CollationSorter(); + static const jint GREATERP = 0; + static const jint GREATERS = 1; + static const jint GREATERT = 2; + static const jint EQUAL = 3; + static const jint RESET = 4; + static const jint INVERSE_SECONDARY = 5; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) comparisonType; + ::java::lang::String * textElement; + jint hashText; + jint offset; + jboolean ignore; + ::java::lang::String * expansionOrdering; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_RuleBasedCollator$CollationSorter__ diff --git a/libjava/java/text/RuleBasedCollator.h b/libjava/java/text/RuleBasedCollator.h new file mode 100644 index 00000000000..06803c8514a --- /dev/null +++ b/libjava/java/text/RuleBasedCollator.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_RuleBasedCollator__ +#define __java_text_RuleBasedCollator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class CharacterIterator; + class CollationElementIterator; + class CollationKey; + class RuleBasedCollator; + class RuleBasedCollator$CollationElement; + } + } +} + +class java::text::RuleBasedCollator : public ::java::text::Collator +{ + +public: + RuleBasedCollator(::java::lang::String *); +public: // actually package-private + static jint findPrefixLength(::java::lang::String *, ::java::lang::String *); +private: + void mergeRules(jint, ::java::lang::String *, ::java::util::ArrayList *, ::java::util::ArrayList *); + jint subParseString(jboolean, ::java::util::ArrayList *, jint, ::java::lang::String *); +public: + virtual ::java::lang::Object * clone(); +private: + ::java::util::ArrayList * parseString(::java::lang::String *); + void buildCollationVector(::java::util::ArrayList *); + void buildPrefixAccess(); +public: + virtual jint compare(::java::lang::String *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + virtual ::java::text::RuleBasedCollator$CollationElement * getDefaultElement(jchar); + virtual ::java::text::RuleBasedCollator$CollationElement * getDefaultAccentedElement(jchar); +public: + virtual ::java::text::CollationElementIterator * getCollationElementIterator(::java::lang::String *); + virtual ::java::text::CollationElementIterator * getCollationElementIterator(::java::text::CharacterIterator *); + virtual ::java::text::CollationKey * getCollationKey(::java::lang::String *); + virtual ::java::lang::String * getRules(); + virtual jint hashCode(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::text::Collator)))) rules; + JArray< ::java::lang::Object * > * ce_table; +public: // actually package-private + ::java::util::HashMap * prefix_tree; +private: + jint last_primary_value; + jint last_tertiary_value; + jboolean inverseAccentComparison; +public: // actually package-private + static ::java::text::RuleBasedCollator$CollationElement * SPECIAL_UNKNOWN_SEQ; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_RuleBasedCollator__ diff --git a/libjava/java/text/SimpleDateFormat$CompiledField.h b/libjava/java/text/SimpleDateFormat$CompiledField.h new file mode 100644 index 00000000000..b188792018a --- /dev/null +++ b/libjava/java/text/SimpleDateFormat$CompiledField.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_SimpleDateFormat$CompiledField__ +#define __java_text_SimpleDateFormat$CompiledField__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class SimpleDateFormat; + class SimpleDateFormat$CompiledField; + } + } +} + +class java::text::SimpleDateFormat$CompiledField : public ::java::lang::Object +{ + +public: + SimpleDateFormat$CompiledField(::java::text::SimpleDateFormat *, jint, jint, jchar); + virtual jint getField(); + virtual jint getSize(); + virtual jchar getCharacter(); + virtual ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) field; + jint size; +private: + jchar character; +public: // actually package-private + ::java::text::SimpleDateFormat * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_SimpleDateFormat$CompiledField__ diff --git a/libjava/java/text/SimpleDateFormat.h b/libjava/java/text/SimpleDateFormat.h new file mode 100644 index 00000000000..a6ffbf50718 --- /dev/null +++ b/libjava/java/text/SimpleDateFormat.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_SimpleDateFormat__ +#define __java_text_SimpleDateFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace text + { + class FormatBuffer; + } + } + } + namespace java + { + namespace text + { + class AttributedCharacterIterator; + class DateFormatSymbols; + class FieldPosition; + class ParsePosition; + class SimpleDateFormat; + } + } +} + +class java::text::SimpleDateFormat : public ::java::text::DateFormat +{ + + void readObject(::java::io::ObjectInputStream *); + void compileFormat(::java::lang::String *); +public: + virtual ::java::lang::String * toString(); + SimpleDateFormat(); + SimpleDateFormat(::java::lang::String *); + SimpleDateFormat(::java::lang::String *, ::java::util::Locale *); + SimpleDateFormat(::java::lang::String *, ::java::text::DateFormatSymbols *); + virtual ::java::lang::String * toPattern(); + virtual ::java::lang::String * toLocalizedPattern(); + virtual void applyPattern(::java::lang::String *); + virtual void applyLocalizedPattern(::java::lang::String *); +private: + ::java::lang::String * translateLocalizedPattern(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::util::Date * get2DigitYearStart(); + virtual void set2DigitYearStart(::java::util::Date *); + virtual ::java::text::DateFormatSymbols * getDateFormatSymbols(); + virtual void setDateFormatSymbols(::java::text::DateFormatSymbols *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + void formatWithAttribute(::java::util::Date *, ::gnu::java::text::FormatBuffer *, ::java::text::FieldPosition *); +public: + virtual ::java::lang::StringBuffer * format(::java::util::Date *, ::java::lang::StringBuffer *, ::java::text::FieldPosition *); + virtual ::java::text::AttributedCharacterIterator * formatToCharacterIterator(::java::lang::Object *); +private: + void withLeadingZeros(jint, jint, ::gnu::java::text::FormatBuffer *); + jboolean expect(::java::lang::String *, ::java::text::ParsePosition *, jchar); +public: + virtual ::java::util::Date * parse(::java::lang::String *, ::java::text::ParsePosition *); +private: + ::java::lang::Integer * computeOffset(::java::lang::String *, ::java::text::ParsePosition *); + void computeCenturyStart(); +public: + virtual ::java::lang::Object * clone(); +private: + ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::text::DateFormat)))) tokens; + ::java::text::DateFormatSymbols * formatData; + ::java::util::Date * defaultCenturyStart; + jint defaultCentury; + ::java::lang::String * pattern; + jint serialVersionOnStream; + static const jlong serialVersionUID = 4774881970558875024LL; + static ::java::lang::String * standardChars; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_SimpleDateFormat__ diff --git a/libjava/java/text/StringCharacterIterator.h b/libjava/java/text/StringCharacterIterator.h new file mode 100644 index 00000000000..d1769635609 --- /dev/null +++ b/libjava/java/text/StringCharacterIterator.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_text_StringCharacterIterator__ +#define __java_text_StringCharacterIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class StringCharacterIterator; + } + } +} + +class java::text::StringCharacterIterator : public ::java::lang::Object +{ + +public: + StringCharacterIterator(::java::lang::String *); + StringCharacterIterator(::java::lang::String *, jint); + StringCharacterIterator(::java::lang::String *, jint, jint, jint); +public: // actually package-private + StringCharacterIterator(::java::text::StringCharacterIterator *, jint, jint); +public: + jchar current(); + jchar next(); + jchar previous(); + jchar first(); + jchar last(); + jint getIndex(); + jchar setIndex(jint); + jint getBeginIndex(); + jint getEndIndex(); + ::java::lang::Object * clone(); + jboolean equals(::java::lang::Object *); + jint hashCode(); + void setText(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) text; + jint begin; + jint end; + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_text_StringCharacterIterator__ diff --git a/libjava/java/util/AbstractCollection.h b/libjava/java/util/AbstractCollection.h new file mode 100644 index 00000000000..15d129d1cde --- /dev/null +++ b/libjava/java/util/AbstractCollection.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractCollection__ +#define __java_util_AbstractCollection__ + +#pragma interface + +#include +#include + + +class java::util::AbstractCollection : public ::java::lang::Object +{ + +public: // actually protected + AbstractCollection(); +public: + virtual ::java::util::Iterator * iterator() = 0; + virtual jint size() = 0; + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean isEmpty(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); +public: // actually package-private + virtual jboolean removeAllInternal(::java::util::Collection *); +public: + virtual jboolean retainAll(::java::util::Collection *); +public: // actually package-private + virtual jboolean retainAllInternal(::java::util::Collection *); +public: + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); +public: // actually package-private + static jboolean equals(::java::lang::Object *, ::java::lang::Object *); + static jint hashCode(::java::lang::Object *); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractCollection__ diff --git a/libjava/java/util/AbstractList$1.h b/libjava/java/util/AbstractList$1.h new file mode 100644 index 00000000000..996ce73572e --- /dev/null +++ b/libjava/java/util/AbstractList$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractList$1__ +#define __java_util_AbstractList$1__ + +#pragma interface + +#include + +class java::util::AbstractList$1 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractList$1(::java::util::AbstractList$SubList *, jint); +public: + jboolean hasNext(); + jboolean hasPrevious(); + ::java::lang::Object * next(); + ::java::lang::Object * previous(); + jint nextIndex(); + jint previousIndex(); + void remove(); + void set(::java::lang::Object *); + void add(::java::lang::Object *); +private: + ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i; + jint position; +public: // actually package-private + ::java::util::AbstractList$SubList * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractList$1__ diff --git a/libjava/java/util/AbstractList$2.h b/libjava/java/util/AbstractList$2.h new file mode 100644 index 00000000000..6971dc802bb --- /dev/null +++ b/libjava/java/util/AbstractList$2.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractList$2__ +#define __java_util_AbstractList$2__ + +#pragma interface + +#include + +class java::util::AbstractList$2 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractList$2(::java::util::AbstractList *); +private: + void checkMod(); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos; + jint size; + jint last; + jint knownMod; +public: // actually package-private + ::java::util::AbstractList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractList$2__ diff --git a/libjava/java/util/AbstractList$3.h b/libjava/java/util/AbstractList$3.h new file mode 100644 index 00000000000..0bf2bda682d --- /dev/null +++ b/libjava/java/util/AbstractList$3.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractList$3__ +#define __java_util_AbstractList$3__ + +#pragma interface + +#include + +class java::util::AbstractList$3 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractList$3(::java::util::AbstractList *, jint); +private: + void checkMod(); +public: + jboolean hasNext(); + jboolean hasPrevious(); + ::java::lang::Object * next(); + ::java::lang::Object * previous(); + jint nextIndex(); + jint previousIndex(); + void remove(); + void set(::java::lang::Object *); + void add(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod; + jint position; + jint lastReturned; + jint size; +public: // actually package-private + ::java::util::AbstractList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractList$3__ diff --git a/libjava/java/util/AbstractList$RandomAccessSubList.h b/libjava/java/util/AbstractList$RandomAccessSubList.h new file mode 100644 index 00000000000..49b23bc399d --- /dev/null +++ b/libjava/java/util/AbstractList$RandomAccessSubList.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractList$RandomAccessSubList__ +#define __java_util_AbstractList$RandomAccessSubList__ + +#pragma interface + +#include + +class java::util::AbstractList$RandomAccessSubList : public ::java::util::AbstractList$SubList +{ + +public: // actually package-private + AbstractList$RandomAccessSubList(::java::util::AbstractList *, jint, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractList$RandomAccessSubList__ diff --git a/libjava/java/util/AbstractList$SubList.h b/libjava/java/util/AbstractList$SubList.h new file mode 100644 index 00000000000..e258ed4df22 --- /dev/null +++ b/libjava/java/util/AbstractList$SubList.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractList$SubList__ +#define __java_util_AbstractList$SubList__ + +#pragma interface + +#include + +class java::util::AbstractList$SubList : public ::java::util::AbstractList +{ + +public: // actually package-private + AbstractList$SubList(::java::util::AbstractList *, jint, jint); + virtual void checkMod(); +private: + void checkBoundsInclusive(jint); + void checkBoundsExclusive(jint); +public: + virtual jint size(); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual void add(jint, ::java::lang::Object *); + virtual ::java::lang::Object * remove(jint); +public: // actually protected + virtual void removeRange(jint, jint); +public: + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual jboolean addAll(::java::util::Collection *); + virtual ::java::util::Iterator * iterator(); + virtual ::java::util::ListIterator * listIterator(jint); +public: // actually package-private + ::java::util::AbstractList * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) backingList; + jint offset; + jint size__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractList$SubList__ diff --git a/libjava/java/util/AbstractList.h b/libjava/java/util/AbstractList.h new file mode 100644 index 00000000000..ace35d68d08 --- /dev/null +++ b/libjava/java/util/AbstractList.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractList__ +#define __java_util_AbstractList__ + +#pragma interface + +#include + +class java::util::AbstractList : public ::java::util::AbstractCollection +{ + +public: // actually protected + AbstractList(); +public: + virtual ::java::lang::Object * get(jint) = 0; + virtual void add(jint, ::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual void clear(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual jint indexOf(::java::lang::Object *); + virtual ::java::util::Iterator * iterator(); + virtual jint lastIndexOf(::java::lang::Object *); + virtual ::java::util::ListIterator * listIterator(); + virtual ::java::util::ListIterator * listIterator(jint); + virtual ::java::lang::Object * remove(jint); +public: // actually protected + virtual void removeRange(jint, jint); +public: + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual ::java::util::List * subList(jint, jint); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractList__ diff --git a/libjava/java/util/AbstractMap$1.h b/libjava/java/util/AbstractMap$1.h new file mode 100644 index 00000000000..bf27fc1adaa --- /dev/null +++ b/libjava/java/util/AbstractMap$1.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap$1__ +#define __java_util_AbstractMap$1__ + +#pragma interface + +#include + +class java::util::AbstractMap$1 : public ::java::util::AbstractSet +{ + +public: // actually package-private + AbstractMap$1(::java::util::AbstractMap *); +public: + jint size(); + jboolean contains(::java::lang::Object *); + ::java::util::Iterator * iterator(); +public: // actually package-private + static ::java::util::AbstractMap * access$0(::java::util::AbstractMap$1 *); + ::java::util::AbstractMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap$1__ diff --git a/libjava/java/util/AbstractMap$2.h b/libjava/java/util/AbstractMap$2.h new file mode 100644 index 00000000000..048cfa70ceb --- /dev/null +++ b/libjava/java/util/AbstractMap$2.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap$2__ +#define __java_util_AbstractMap$2__ + +#pragma interface + +#include + +class java::util::AbstractMap$2 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractMap$2(::java::util::AbstractMap$1 *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map_iterator; +public: // actually package-private + ::java::util::AbstractMap$1 * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap$2__ diff --git a/libjava/java/util/AbstractMap$3.h b/libjava/java/util/AbstractMap$3.h new file mode 100644 index 00000000000..5797790df9f --- /dev/null +++ b/libjava/java/util/AbstractMap$3.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap$3__ +#define __java_util_AbstractMap$3__ + +#pragma interface + +#include + +class java::util::AbstractMap$3 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + AbstractMap$3(::java::util::AbstractMap *); +public: + jint size(); + jboolean contains(::java::lang::Object *); + ::java::util::Iterator * iterator(); +public: // actually package-private + static ::java::util::AbstractMap * access$0(::java::util::AbstractMap$3 *); + ::java::util::AbstractMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap$3__ diff --git a/libjava/java/util/AbstractMap$4.h b/libjava/java/util/AbstractMap$4.h new file mode 100644 index 00000000000..4bf28865916 --- /dev/null +++ b/libjava/java/util/AbstractMap$4.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap$4__ +#define __java_util_AbstractMap$4__ + +#pragma interface + +#include + +class java::util::AbstractMap$4 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractMap$4(::java::util::AbstractMap$3 *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map_iterator; +public: // actually package-private + ::java::util::AbstractMap$3 * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap$4__ diff --git a/libjava/java/util/AbstractMap$SimpleEntry.h b/libjava/java/util/AbstractMap$SimpleEntry.h new file mode 100644 index 00000000000..0cc266dfe0a --- /dev/null +++ b/libjava/java/util/AbstractMap$SimpleEntry.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap$SimpleEntry__ +#define __java_util_AbstractMap$SimpleEntry__ + +#pragma interface + +#include + +class java::util::AbstractMap$SimpleEntry : public ::java::lang::Object +{ + +public: + AbstractMap$SimpleEntry(::java::lang::Object *, ::java::lang::Object *); + AbstractMap$SimpleEntry(::java::util::Map$Entry *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getKey(); + virtual ::java::lang::Object * getValue(); + virtual jint hashCode(); + virtual ::java::lang::Object * setValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::Object * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap$SimpleEntry__ diff --git a/libjava/java/util/AbstractMap$SimpleImmutableEntry.h b/libjava/java/util/AbstractMap$SimpleImmutableEntry.h new file mode 100644 index 00000000000..540d5f49f4a --- /dev/null +++ b/libjava/java/util/AbstractMap$SimpleImmutableEntry.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap$SimpleImmutableEntry__ +#define __java_util_AbstractMap$SimpleImmutableEntry__ + +#pragma interface + +#include + +class java::util::AbstractMap$SimpleImmutableEntry : public ::java::lang::Object +{ + +public: + AbstractMap$SimpleImmutableEntry(::java::lang::Object *, ::java::lang::Object *); + AbstractMap$SimpleImmutableEntry(::java::util::Map$Entry *); + virtual ::java::lang::Object * getKey(); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::Object * setValue(::java::lang::Object *); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::Object * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap$SimpleImmutableEntry__ diff --git a/libjava/java/util/AbstractMap.h b/libjava/java/util/AbstractMap.h new file mode 100644 index 00000000000..fba927661e7 --- /dev/null +++ b/libjava/java/util/AbstractMap.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractMap__ +#define __java_util_AbstractMap__ + +#pragma interface + +#include + +class java::util::AbstractMap : public ::java::lang::Object +{ + +public: // actually protected + AbstractMap(); +public: + virtual ::java::util::Set * entrySet() = 0; + virtual void clear(); +public: // actually protected + virtual ::java::lang::Object * clone(); +public: + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Collection * values(); +public: // actually package-private + static jboolean equals(::java::lang::Object *, ::java::lang::Object *); + static jint hashCode(::java::lang::Object *); + static const jint KEYS = 0; + static const jint VALUES = 1; + static const jint ENTRIES = 2; + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keys; + ::java::util::Collection * values__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractMap__ diff --git a/libjava/java/util/AbstractQueue.h b/libjava/java/util/AbstractQueue.h new file mode 100644 index 00000000000..f194c25d6d6 --- /dev/null +++ b/libjava/java/util/AbstractQueue.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractQueue__ +#define __java_util_AbstractQueue__ + +#pragma interface + +#include + +class java::util::AbstractQueue : public ::java::util::AbstractCollection +{ + +public: // actually protected + AbstractQueue(); +public: + virtual jboolean add(::java::lang::Object *); + virtual ::java::lang::Object * remove(); + virtual ::java::lang::Object * element(); + virtual void clear(); + virtual jboolean addAll(::java::util::Collection *); + virtual jboolean offer(::java::lang::Object *) = 0; + virtual ::java::lang::Object * poll() = 0; + virtual ::java::lang::Object * peek() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractQueue__ diff --git a/libjava/java/util/AbstractSequentialList.h b/libjava/java/util/AbstractSequentialList.h new file mode 100644 index 00000000000..7763024e5a2 --- /dev/null +++ b/libjava/java/util/AbstractSequentialList.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractSequentialList__ +#define __java_util_AbstractSequentialList__ + +#pragma interface + +#include + +class java::util::AbstractSequentialList : public ::java::util::AbstractList +{ + +public: // actually protected + AbstractSequentialList(); +public: + virtual ::java::util::ListIterator * listIterator(jint) = 0; + virtual void add(jint, ::java::lang::Object *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual ::java::lang::Object * get(jint); + virtual ::java::util::Iterator * iterator(); + virtual ::java::lang::Object * remove(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractSequentialList__ diff --git a/libjava/java/util/AbstractSet.h b/libjava/java/util/AbstractSet.h new file mode 100644 index 00000000000..b3ec3993931 --- /dev/null +++ b/libjava/java/util/AbstractSet.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_AbstractSet__ +#define __java_util_AbstractSet__ + +#pragma interface + +#include + +class java::util::AbstractSet : public ::java::util::AbstractCollection +{ + +public: // actually protected + AbstractSet(); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean removeAll(::java::util::Collection *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_AbstractSet__ diff --git a/libjava/java/util/ArrayDeque$DeqIterator.h b/libjava/java/util/ArrayDeque$DeqIterator.h new file mode 100644 index 00000000000..bbe30bc5376 --- /dev/null +++ b/libjava/java/util/ArrayDeque$DeqIterator.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ArrayDeque$DeqIterator__ +#define __java_util_ArrayDeque$DeqIterator__ + +#pragma interface + +#include + +class java::util::ArrayDeque$DeqIterator : public ::java::lang::Object +{ + + ArrayDeque$DeqIterator(::java::util::ArrayDeque *); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +public: // actually package-private + ArrayDeque$DeqIterator(::java::util::ArrayDeque *, ::java::util::ArrayDeque$DeqIterator *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cursor; + jint fence; + jint lastRet; +public: // actually package-private + ::java::util::ArrayDeque * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ArrayDeque$DeqIterator__ diff --git a/libjava/java/util/ArrayDeque$DescendingIterator.h b/libjava/java/util/ArrayDeque$DescendingIterator.h new file mode 100644 index 00000000000..ee72fd7b695 --- /dev/null +++ b/libjava/java/util/ArrayDeque$DescendingIterator.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ArrayDeque$DescendingIterator__ +#define __java_util_ArrayDeque$DescendingIterator__ + +#pragma interface + +#include + +class java::util::ArrayDeque$DescendingIterator : public ::java::lang::Object +{ + + ArrayDeque$DescendingIterator(::java::util::ArrayDeque *); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +public: // actually package-private + ArrayDeque$DescendingIterator(::java::util::ArrayDeque *, ::java::util::ArrayDeque$DescendingIterator *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cursor; + jint fence; + jint lastRet; +public: // actually package-private + ::java::util::ArrayDeque * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ArrayDeque$DescendingIterator__ diff --git a/libjava/java/util/ArrayDeque.h b/libjava/java/util/ArrayDeque.h new file mode 100644 index 00000000000..6154213dd7e --- /dev/null +++ b/libjava/java/util/ArrayDeque.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ArrayDeque__ +#define __java_util_ArrayDeque__ + +#pragma interface + +#include +#include + + +class java::util::ArrayDeque : public ::java::util::AbstractCollection +{ + + void allocateElements(jint); + void doubleCapacity(); + JArray< ::java::lang::Object * > * copyElements(JArray< ::java::lang::Object * > *); +public: + ArrayDeque(); + ArrayDeque(jint); + ArrayDeque(::java::util::Collection *); + virtual void addFirst(::java::lang::Object *); + virtual void addLast(::java::lang::Object *); + virtual jboolean offerFirst(::java::lang::Object *); + virtual jboolean offerLast(::java::lang::Object *); + virtual ::java::lang::Object * removeFirst(); + virtual ::java::lang::Object * removeLast(); + virtual ::java::lang::Object * pollFirst(); + virtual ::java::lang::Object * pollLast(); + virtual ::java::lang::Object * getFirst(); + virtual ::java::lang::Object * getLast(); + virtual ::java::lang::Object * peekFirst(); + virtual ::java::lang::Object * peekLast(); + virtual jboolean removeFirstOccurrence(::java::lang::Object *); + virtual jboolean removeLastOccurrence(::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * remove(); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * element(); + virtual ::java::lang::Object * peek(); + virtual void push(::java::lang::Object *); + virtual ::java::lang::Object * pop(); +private: + void checkInvariants(); + jboolean delete$(jint); +public: + virtual jint size(); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual ::java::util::Iterator * descendingIterator(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual void clear(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::util::ArrayDeque * target$clone(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + virtual ::java::lang::Object * clone(); +public: // actually package-private + static jint access$1(::java::util::ArrayDeque *); + static jint access$2(::java::util::ArrayDeque *); + static JArray< ::java::lang::Object * > * access$3(::java::util::ArrayDeque *); + static jboolean access$4(::java::util::ArrayDeque *, jint); +private: + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) elements; + jint head; + jint tail; + static const jint MIN_INITIAL_CAPACITY = 8; + static const jlong serialVersionUID = 2340985798034038923LL; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ArrayDeque__ diff --git a/libjava/java/util/ArrayList.h b/libjava/java/util/ArrayList.h new file mode 100644 index 00000000000..755e7c5a98d --- /dev/null +++ b/libjava/java/util/ArrayList.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ArrayList__ +#define __java_util_ArrayList__ + +#pragma interface + +#include +#include + + +class java::util::ArrayList : public ::java::util::AbstractList +{ + +public: + ArrayList(jint); + ArrayList(); + ArrayList(::java::util::Collection *); + virtual void trimToSize(); + virtual void ensureCapacity(jint); + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean contains(::java::lang::Object *); + virtual jint indexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *); + virtual ::java::lang::Object * clone(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual void add(jint, ::java::lang::Object *); + virtual ::java::lang::Object * remove(jint); + virtual void clear(); + virtual jboolean addAll(::java::util::Collection *); + virtual jboolean addAll(jint, ::java::util::Collection *); +public: // actually protected + virtual void removeRange(jint, jint); +private: + void checkBoundInclusive(jint); + void checkBoundExclusive(jint); +public: // actually package-private + virtual jboolean removeAllInternal(::java::util::Collection *); + virtual jboolean retainAllInternal(::java::util::Collection *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 8683452581122892189LL; + static const jint DEFAULT_CAPACITY = 10; + jint __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) size__; + JArray< ::java::lang::Object * > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ArrayList__ diff --git a/libjava/java/util/Arrays$ArrayList.h b/libjava/java/util/Arrays$ArrayList.h new file mode 100644 index 00000000000..3fe96863995 --- /dev/null +++ b/libjava/java/util/Arrays$ArrayList.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Arrays$ArrayList__ +#define __java_util_Arrays$ArrayList__ + +#pragma interface + +#include +#include + + +class java::util::Arrays$ArrayList : public ::java::util::AbstractList +{ + +public: // actually package-private + Arrays$ArrayList(JArray< ::java::lang::Object * > *); +public: + ::java::lang::Object * get(jint); + jint size(); + ::java::lang::Object * set(jint, ::java::lang::Object *); + jboolean contains(::java::lang::Object *); + jint indexOf(::java::lang::Object *); + jint lastIndexOf(::java::lang::Object *); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); +private: + static const jlong serialVersionUID = -2764017481108945198LL; + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) a; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Arrays$ArrayList__ diff --git a/libjava/java/util/Arrays.h b/libjava/java/util/Arrays.h new file mode 100644 index 00000000000..6b4941db0ea --- /dev/null +++ b/libjava/java/util/Arrays.h @@ -0,0 +1,144 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Arrays__ +#define __java_util_Arrays__ + +#pragma interface + +#include +#include + + +class java::util::Arrays : public ::java::lang::Object +{ + + Arrays(); +public: + static jint binarySearch(JArray< jbyte > *, jbyte); + static jint binarySearch(JArray< jchar > *, jchar); + static jint binarySearch(JArray< jshort > *, jshort); + static jint binarySearch(JArray< jint > *, jint); + static jint binarySearch(JArray< jlong > *, jlong); + static jint binarySearch(JArray< jfloat > *, jfloat); + static jint binarySearch(JArray< jdouble > *, jdouble); + static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *, ::java::util::Comparator *); + static jboolean equals(JArray< jboolean > *, JArray< jboolean > *); + static jboolean equals(JArray< jbyte > *, JArray< jbyte > *); + static jboolean equals(JArray< jchar > *, JArray< jchar > *); + static jboolean equals(JArray< jshort > *, JArray< jshort > *); + static jboolean equals(JArray< jint > *, JArray< jint > *); + static jboolean equals(JArray< jlong > *, JArray< jlong > *); + static jboolean equals(JArray< jfloat > *, JArray< jfloat > *); + static jboolean equals(JArray< jdouble > *, JArray< jdouble > *); + static jboolean equals(JArray< ::java::lang::Object * > *, JArray< ::java::lang::Object * > *); + static void fill(JArray< jboolean > *, jboolean); + static void fill(JArray< jboolean > *, jint, jint, jboolean); + static void fill(JArray< jbyte > *, jbyte); + static void fill(JArray< jbyte > *, jint, jint, jbyte); + static void fill(JArray< jchar > *, jchar); + static void fill(JArray< jchar > *, jint, jint, jchar); + static void fill(JArray< jshort > *, jshort); + static void fill(JArray< jshort > *, jint, jint, jshort); + static void fill(JArray< jint > *, jint); + static void fill(JArray< jint > *, jint, jint, jint); + static void fill(JArray< jlong > *, jlong); + static void fill(JArray< jlong > *, jint, jint, jlong); + static void fill(JArray< jfloat > *, jfloat); + static void fill(JArray< jfloat > *, jint, jint, jfloat); + static void fill(JArray< jdouble > *, jdouble); + static void fill(JArray< jdouble > *, jint, jint, jdouble); + static void fill(JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static void fill(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *); + static void sort(JArray< jbyte > *); + static void sort(JArray< jbyte > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jbyte > *); + static void swap(jint, jint, JArray< jbyte > *); + static void vecswap(jint, jint, jint, JArray< jbyte > *); + static void qsort(JArray< jbyte > *, jint, jint); +public: + static void sort(JArray< jchar > *); + static void sort(JArray< jchar > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jchar > *); + static void swap(jint, jint, JArray< jchar > *); + static void vecswap(jint, jint, jint, JArray< jchar > *); + static void qsort(JArray< jchar > *, jint, jint); +public: + static void sort(JArray< jshort > *); + static void sort(JArray< jshort > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jshort > *); + static void swap(jint, jint, JArray< jshort > *); + static void vecswap(jint, jint, jint, JArray< jshort > *); + static void qsort(JArray< jshort > *, jint, jint); +public: + static void sort(JArray< jint > *); + static void sort(JArray< jint > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jint > *); + static void swap(jint, jint, JArray< jint > *); + static void vecswap(jint, jint, jint, JArray< jint > *); + static jint compare(jint, jint); + static void qsort(JArray< jint > *, jint, jint); +public: + static void sort(JArray< jlong > *); + static void sort(JArray< jlong > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jlong > *); + static void swap(jint, jint, JArray< jlong > *); + static void vecswap(jint, jint, jint, JArray< jlong > *); + static jint compare(jlong, jlong); + static void qsort(JArray< jlong > *, jint, jint); +public: + static void sort(JArray< jfloat > *); + static void sort(JArray< jfloat > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jfloat > *); + static void swap(jint, jint, JArray< jfloat > *); + static void vecswap(jint, jint, jint, JArray< jfloat > *); + static void qsort(JArray< jfloat > *, jint, jint); +public: + static void sort(JArray< jdouble > *); + static void sort(JArray< jdouble > *, jint, jint); +private: + static jint med3(jint, jint, jint, JArray< jdouble > *); + static void swap(jint, jint, JArray< jdouble > *); + static void vecswap(jint, jint, jint, JArray< jdouble > *); + static void qsort(JArray< jdouble > *, jint, jint); +public: + static void sort(JArray< ::java::lang::Object * > *); + static void sort(JArray< ::java::lang::Object * > *, ::java::util::Comparator *); + static void sort(JArray< ::java::lang::Object * > *, jint, jint); + static void sort(JArray< ::java::lang::Object * > *, jint, jint, ::java::util::Comparator *); + static ::java::util::List * asList(JArray< ::java::lang::Object * > *); + static jint hashCode(JArray< jlong > *); + static jint hashCode(JArray< jint > *); + static jint hashCode(JArray< jshort > *); + static jint hashCode(JArray< jchar > *); + static jint hashCode(JArray< jbyte > *); + static jint hashCode(JArray< jboolean > *); + static jint hashCode(JArray< jfloat > *); + static jint hashCode(JArray< jdouble > *); + static jint hashCode(JArray< ::java::lang::Object * > *); + static jint deepHashCode(JArray< ::java::lang::Object * > *); + static jboolean deepEquals(JArray< ::java::lang::Object * > *, JArray< ::java::lang::Object * > *); + static ::java::lang::String * toString(JArray< jboolean > *); + static ::java::lang::String * toString(JArray< jbyte > *); + static ::java::lang::String * toString(JArray< jchar > *); + static ::java::lang::String * toString(JArray< jshort > *); + static ::java::lang::String * toString(JArray< jint > *); + static ::java::lang::String * toString(JArray< jlong > *); + static ::java::lang::String * toString(JArray< jfloat > *); + static ::java::lang::String * toString(JArray< jdouble > *); + static ::java::lang::String * toString(JArray< ::java::lang::Object * > *); +private: + static void deepToString(JArray< ::java::lang::Object * > *, ::java::lang::StringBuilder *, ::java::util::HashSet *); +public: + static ::java::lang::String * deepToString(JArray< ::java::lang::Object * > *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_Arrays__ diff --git a/libjava/java/util/BitSet.h b/libjava/java/util/BitSet.h new file mode 100644 index 00000000000..1470ca0b2c8 --- /dev/null +++ b/libjava/java/util/BitSet.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_BitSet__ +#define __java_util_BitSet__ + +#pragma interface + +#include +#include + + +class java::util::BitSet : public ::java::lang::Object +{ + +public: + BitSet(); + BitSet(jint); + virtual void and$(::java::util::BitSet *); + virtual void andNot(::java::util::BitSet *); + virtual jint cardinality(); + virtual void clear(); + virtual void clear(jint); + virtual void clear(jint, jint); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual void flip(jint); + virtual void flip(jint, jint); + virtual jboolean get(jint); + virtual ::java::util::BitSet * get(jint, jint); + virtual jint hashCode(); + virtual jboolean intersects(::java::util::BitSet *); + virtual jboolean isEmpty(); + virtual jint length(); + virtual jint nextClearBit(jint); + virtual jint nextSetBit(jint); + virtual void or$(::java::util::BitSet *); + virtual void set(jint); + virtual void set(jint, jboolean); + virtual void set(jint, jint); + virtual void set(jint, jint, jboolean); + virtual jint size(); + virtual ::java::lang::String * toString(); + virtual void xor$(::java::util::BitSet *); +private: + void ensure(jint); +public: // actually package-private + virtual jboolean containsAll(::java::util::BitSet *); +private: + static const jlong serialVersionUID = 7997698588986878753LL; + static const jint LONG_MASK = 63; + JArray< jlong > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bits; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_BitSet__ diff --git a/libjava/java/util/Calendar.h b/libjava/java/util/Calendar.h new file mode 100644 index 00000000000..2cc0bef37bb --- /dev/null +++ b/libjava/java/util/Calendar.h @@ -0,0 +1,140 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Calendar__ +#define __java_util_Calendar__ + +#pragma interface + +#include +#include + + +class java::util::Calendar : public ::java::lang::Object +{ + + static ::java::util::ResourceBundle * getBundle(::java::util::Locale *); +public: // actually protected + Calendar(); + Calendar(::java::util::TimeZone *, ::java::util::Locale *); +public: + static ::java::util::Calendar * getInstance(); + static ::java::util::Calendar * getInstance(::java::util::TimeZone *); + static ::java::util::Calendar * getInstance(::java::util::Locale *); + static ::java::util::Calendar * getInstance(::java::util::TimeZone *, ::java::util::Locale *); + static JArray< ::java::util::Locale * > * getAvailableLocales(); +public: // actually protected + virtual void computeTime() = 0; + virtual void computeFields() = 0; +public: + virtual ::java::util::Date * getTime(); + virtual void setTime(::java::util::Date *); + virtual jlong getTimeInMillis(); + virtual void setTimeInMillis(jlong); + virtual jint get(jint); +public: // actually protected + virtual jint internalGet(jint); +public: + virtual void set(jint, jint); + virtual void set(jint, jint, jint); + virtual void set(jint, jint, jint, jint, jint); + virtual void set(jint, jint, jint, jint, jint, jint); + virtual void clear(); + virtual void clear(jint); + virtual jboolean isSet(jint); +public: // actually protected + virtual void complete(); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean before(::java::lang::Object *); + virtual jboolean after(::java::lang::Object *); + virtual void add(jint, jint) = 0; + virtual void roll(jint, jboolean) = 0; + virtual void roll(jint, jint); + virtual void setTimeZone(::java::util::TimeZone *); + virtual ::java::util::TimeZone * getTimeZone(); + virtual void setLenient(jboolean); + virtual jboolean isLenient(); + virtual void setFirstDayOfWeek(jint); + virtual jint getFirstDayOfWeek(); + virtual void setMinimalDaysInFirstWeek(jint); + virtual jint getMinimalDaysInFirstWeek(); + virtual jint getMinimum(jint) = 0; + virtual jint getMaximum(jint) = 0; + virtual jint getGreatestMinimum(jint) = 0; + virtual jint getLeastMaximum(jint) = 0; + virtual jint getActualMinimum(jint); + virtual jint getActualMaximum(jint); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + static const jint ERA = 0; + static const jint YEAR = 1; + static const jint MONTH = 2; + static const jint WEEK_OF_YEAR = 3; + static const jint WEEK_OF_MONTH = 4; + static const jint DATE = 5; + static const jint DAY_OF_MONTH = 5; + static const jint DAY_OF_YEAR = 6; + static const jint DAY_OF_WEEK = 7; + static const jint DAY_OF_WEEK_IN_MONTH = 8; + static const jint AM_PM = 9; + static const jint HOUR = 10; + static const jint HOUR_OF_DAY = 11; + static const jint MINUTE = 12; + static const jint SECOND = 13; + static const jint MILLISECOND = 14; + static const jint ZONE_OFFSET = 15; + static const jint DST_OFFSET = 16; + static const jint FIELD_COUNT = 17; + static const jint SUNDAY = 1; + static const jint MONDAY = 2; + static const jint TUESDAY = 3; + static const jint WEDNESDAY = 4; + static const jint THURSDAY = 5; + static const jint FRIDAY = 6; + static const jint SATURDAY = 7; + static const jint JANUARY = 0; + static const jint FEBRUARY = 1; + static const jint MARCH = 2; + static const jint APRIL = 3; + static const jint MAY = 4; + static const jint JUNE = 5; + static const jint JULY = 6; + static const jint AUGUST = 7; + static const jint SEPTEMBER = 8; + static const jint OCTOBER = 9; + static const jint NOVEMBER = 10; + static const jint DECEMBER = 11; + static const jint UNDECIMBER = 12; + static const jint AM = 0; + static const jint PM = 1; +public: // actually protected + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fields; + JArray< jboolean > * isSet__; + jlong time; + jboolean isTimeSet; + jboolean areFieldsSet; +private: + ::java::util::TimeZone * zone; + jboolean lenient; + jint firstDayOfWeek; + jint minimalDaysInFirstWeek; + jboolean explicitDSTOffset; + jint serialVersionOnStream; +public: // actually package-private + static const jlong serialVersionUID = -1807547505821590642LL; +private: + static ::java::lang::String * bundleName; + static ::java::util::HashMap * cache; + static JArray< ::java::lang::Class * > * ctorArgTypes; + static JArray< ::java::lang::String * > * fieldNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Calendar__ diff --git a/libjava/java/util/Collection.h b/libjava/java/util/Collection.h new file mode 100644 index 00000000000..afeb7ffee12 --- /dev/null +++ b/libjava/java/util/Collection.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collection__ +#define __java_util_Collection__ + +#pragma interface + +#include +#include + + +class java::util::Collection : public ::java::lang::Object +{ + +public: + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Collection__ diff --git a/libjava/java/util/Collections$1$SynchronizedMapEntry.h b/libjava/java/util/Collections$1$SynchronizedMapEntry.h new file mode 100644 index 00000000000..75489874972 --- /dev/null +++ b/libjava/java/util/Collections$1$SynchronizedMapEntry.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$1$SynchronizedMapEntry__ +#define __java_util_Collections$1$SynchronizedMapEntry__ + +#pragma interface + +#include + +class java::util::Collections$1$SynchronizedMapEntry : public ::java::lang::Object +{ + +public: // actually package-private + Collections$1$SynchronizedMapEntry(::java::util::Collections$SynchronizedMap *, ::java::util::Map$Entry *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getKey(); + virtual ::java::lang::Object * getValue(); + virtual jint hashCode(); + virtual ::java::lang::Object * setValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::util::Map$Entry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e; + ::java::util::Collections$SynchronizedMap * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$1$SynchronizedMapEntry__ diff --git a/libjava/java/util/Collections$1.h b/libjava/java/util/Collections$1.h new file mode 100644 index 00000000000..bd8fda524bb --- /dev/null +++ b/libjava/java/util/Collections$1.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$1__ +#define __java_util_Collections$1__ + +#pragma interface + +#include + +class java::util::Collections$1 : public ::java::lang::Object +{ + +public: // actually package-private + Collections$1(::java::util::Collections$SingletonSet *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasNext__; +public: // actually package-private + ::java::util::Collections$SingletonSet * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$1__ diff --git a/libjava/java/util/Collections$2.h b/libjava/java/util/Collections$2.h new file mode 100644 index 00000000000..baf1d14ae25 --- /dev/null +++ b/libjava/java/util/Collections$2.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$2__ +#define __java_util_Collections$2__ + +#pragma interface + +#include + +class java::util::Collections$2 : public ::java::util::AbstractMap$SimpleEntry +{ + +public: // actually package-private + Collections$2(::java::util::Collections$SingletonMap *, ::java::lang::Object *, ::java::lang::Object *); +public: + ::java::lang::Object * setValue(::java::lang::Object *); +public: // actually package-private + ::java::util::Collections$SingletonMap * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$2__ diff --git a/libjava/java/util/Collections$3.h b/libjava/java/util/Collections$3.h new file mode 100644 index 00000000000..9c0a2bf8ccb --- /dev/null +++ b/libjava/java/util/Collections$3.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$3__ +#define __java_util_Collections$3__ + +#pragma interface + +#include + +class java::util::Collections$3 : public ::java::util::Collections$SynchronizedSet +{ + +public: // actually package-private + Collections$3(::java::util::Collections$SynchronizedMap *, ::java::lang::Object *, ::java::util::Set *); +public: + ::java::util::Iterator * iterator(); +public: // actually package-private + static ::java::util::Collections$SynchronizedMap * access$0(::java::util::Collections$3 *); + ::java::util::Collections$SynchronizedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedSet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$3__ diff --git a/libjava/java/util/Collections$4.h b/libjava/java/util/Collections$4.h new file mode 100644 index 00000000000..eb7699b0da2 --- /dev/null +++ b/libjava/java/util/Collections$4.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$4__ +#define __java_util_Collections$4__ + +#pragma interface + +#include + +class java::util::Collections$4 : public ::java::util::Collections$SynchronizedIterator +{ + +public: // actually package-private + Collections$4(::java::util::Collections$3 *, ::java::lang::Object *, ::java::util::Iterator *); +public: + ::java::util::Map$Entry * target$next(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::Collections$3 * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedIterator)))) this$2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$4__ diff --git a/libjava/java/util/Collections$5.h b/libjava/java/util/Collections$5.h new file mode 100644 index 00000000000..b57ee4f03cc --- /dev/null +++ b/libjava/java/util/Collections$5.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$5__ +#define __java_util_Collections$5__ + +#pragma interface + +#include + +class java::util::Collections$5 : public ::java::util::Collections$UnmodifiableIterator +{ + +public: // actually package-private + Collections$5(::java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet *, ::java::util::Iterator *); +public: + ::java::util::Map$Entry * target$next(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableIterator)))) this$2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$5__ diff --git a/libjava/java/util/Collections$6.h b/libjava/java/util/Collections$6.h new file mode 100644 index 00000000000..ec450292155 --- /dev/null +++ b/libjava/java/util/Collections$6.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$6__ +#define __java_util_Collections$6__ + +#pragma interface + +#include + +class java::util::Collections$6 : public ::java::util::Collections$CheckedIterator +{ + +public: // actually package-private + Collections$6(::java::util::Collections$CheckedMap$CheckedEntrySet *, ::java::util::Iterator *, ::java::lang::Class *); +public: + ::java::lang::Object * next(); +public: // actually package-private + static ::java::util::Collections$CheckedMap$CheckedEntrySet * access$0(::java::util::Collections$6 *); + ::java::util::Collections$CheckedMap$CheckedEntrySet * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedIterator)))) this$2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$6__ diff --git a/libjava/java/util/Collections$7.h b/libjava/java/util/Collections$7.h new file mode 100644 index 00000000000..ba27fbfe6ce --- /dev/null +++ b/libjava/java/util/Collections$7.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$7__ +#define __java_util_Collections$7__ + +#pragma interface + +#include + +class java::util::Collections$7 : public ::java::lang::Object +{ + +public: // actually package-private + Collections$7(::java::util::Collections$6 *, ::java::util::Map$Entry *); +public: + jboolean equals(::java::lang::Object *); + ::java::lang::Object * getKey(); + ::java::lang::Object * getValue(); + jint hashCode(); + ::java::lang::Object * setValue(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + ::java::util::Collections$6 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$3; +private: + ::java::util::Map$Entry * val$e; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$7__ diff --git a/libjava/java/util/Collections$8.h b/libjava/java/util/Collections$8.h new file mode 100644 index 00000000000..9662cca129c --- /dev/null +++ b/libjava/java/util/Collections$8.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$8__ +#define __java_util_Collections$8__ + +#pragma interface + +#include + +class java::util::Collections$8 : public ::java::lang::Object +{ + +public: // actually package-private + Collections$8(::java::util::Iterator *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$i; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$8__ diff --git a/libjava/java/util/Collections$9.h b/libjava/java/util/Collections$9.h new file mode 100644 index 00000000000..303ea40f51c --- /dev/null +++ b/libjava/java/util/Collections$9.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$9__ +#define __java_util_Collections$9__ + +#pragma interface + +#include + +class java::util::Collections$9 : public ::java::util::Collections$ReverseComparator +{ + +public: // actually package-private + Collections$9(::java::util::Comparator *); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +private: + ::java::util::Comparator * __attribute__((aligned(__alignof__( ::java::util::Collections$ReverseComparator)))) val$c; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$9__ diff --git a/libjava/java/util/Collections$CheckedCollection.h b/libjava/java/util/Collections$CheckedCollection.h new file mode 100644 index 00000000000..688439f0450 --- /dev/null +++ b/libjava/java/util/Collections$CheckedCollection.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedCollection__ +#define __java_util_Collections$CheckedCollection__ + +#pragma interface + +#include +#include + + +class java::util::Collections$CheckedCollection : public ::java::lang::Object +{ + +public: // actually package-private + Collections$CheckedCollection(::java::util::Collection *, ::java::lang::Class *); +public: + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 1578914078182001775LL; +public: // actually package-private + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c; + ::java::lang::Class * type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedCollection__ diff --git a/libjava/java/util/Collections$CheckedIterator.h b/libjava/java/util/Collections$CheckedIterator.h new file mode 100644 index 00000000000..cce1f0bcce9 --- /dev/null +++ b/libjava/java/util/Collections$CheckedIterator.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedIterator__ +#define __java_util_Collections$CheckedIterator__ + +#pragma interface + +#include + +class java::util::Collections$CheckedIterator : public ::java::lang::Object +{ + +public: // actually package-private + Collections$CheckedIterator(::java::util::Iterator *, ::java::lang::Class *); +public: + virtual ::java::lang::Object * next(); + virtual jboolean hasNext(); + virtual void remove(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i; +public: // actually package-private + ::java::lang::Class * type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedIterator__ diff --git a/libjava/java/util/Collections$CheckedList.h b/libjava/java/util/Collections$CheckedList.h new file mode 100644 index 00000000000..6158bc2a794 --- /dev/null +++ b/libjava/java/util/Collections$CheckedList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedList__ +#define __java_util_Collections$CheckedList__ + +#pragma interface + +#include + +class java::util::Collections$CheckedList : public ::java::util::Collections$CheckedCollection +{ + +public: // actually package-private + Collections$CheckedList(::java::util::List *, ::java::lang::Class *); +public: + virtual void add(jint, ::java::lang::Object *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual jint hashCode(); + virtual jint indexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *); + virtual ::java::util::ListIterator * listIterator(); + virtual ::java::util::ListIterator * listIterator(jint); + virtual ::java::lang::Object * remove(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual ::java::util::List * subList(jint, jint); +private: + static const jlong serialVersionUID = 65247728283967356LL; +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedCollection)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedList__ diff --git a/libjava/java/util/Collections$CheckedListIterator.h b/libjava/java/util/Collections$CheckedListIterator.h new file mode 100644 index 00000000000..2c1b9f03d1c --- /dev/null +++ b/libjava/java/util/Collections$CheckedListIterator.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedListIterator__ +#define __java_util_Collections$CheckedListIterator__ + +#pragma interface + +#include + +class java::util::Collections$CheckedListIterator : public ::java::util::Collections$CheckedIterator +{ + +public: // actually package-private + Collections$CheckedListIterator(::java::util::ListIterator *, ::java::lang::Class *); +public: + void add(::java::lang::Object *); + jboolean hasPrevious(); + jint nextIndex(); + ::java::lang::Object * previous(); + jint previousIndex(); + void set(::java::lang::Object *); +private: + ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedIterator)))) li; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedListIterator__ diff --git a/libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h b/libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h new file mode 100644 index 00000000000..1882b9a9ba4 --- /dev/null +++ b/libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedMap$CheckedEntrySet__ +#define __java_util_Collections$CheckedMap$CheckedEntrySet__ + +#pragma interface + +#include + +class java::util::Collections$CheckedMap$CheckedEntrySet : public ::java::util::Collections$CheckedSet +{ + +public: // actually package-private + Collections$CheckedMap$CheckedEntrySet(::java::util::Set *, ::java::lang::Class *, ::java::lang::Class *, ::java::lang::Class *); +public: + ::java::util::Iterator * iterator(); +public: // actually package-private + static ::java::lang::Class * access$0(::java::util::Collections$CheckedMap$CheckedEntrySet *); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedSet)))) keyType; + ::java::lang::Class * valueType; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedMap$CheckedEntrySet__ diff --git a/libjava/java/util/Collections$CheckedMap.h b/libjava/java/util/Collections$CheckedMap.h new file mode 100644 index 00000000000..e32b255f7b0 --- /dev/null +++ b/libjava/java/util/Collections$CheckedMap.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedMap__ +#define __java_util_Collections$CheckedMap__ + +#pragma interface + +#include + +class java::util::Collections$CheckedMap : public ::java::lang::Object +{ + +public: // actually package-private + Collections$CheckedMap(::java::util::Map *, ::java::lang::Class *, ::java::lang::Class *); +public: + virtual void clear(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::util::Set * keySet(); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Collection * values(); +private: + static const jlong serialVersionUID = 5742860141034234728LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m; +public: // actually package-private + ::java::lang::Class * keyType; + ::java::lang::Class * valueType; +private: + ::java::util::Set * entries; + ::java::util::Set * keys; + ::java::util::Collection * values__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedMap__ diff --git a/libjava/java/util/Collections$CheckedRandomAccessList.h b/libjava/java/util/Collections$CheckedRandomAccessList.h new file mode 100644 index 00000000000..4fad9a793b6 --- /dev/null +++ b/libjava/java/util/Collections$CheckedRandomAccessList.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedRandomAccessList__ +#define __java_util_Collections$CheckedRandomAccessList__ + +#pragma interface + +#include + +class java::util::Collections$CheckedRandomAccessList : public ::java::util::Collections$CheckedList +{ + +public: // actually package-private + Collections$CheckedRandomAccessList(::java::util::List *, ::java::lang::Class *); +private: + static const jlong serialVersionUID = 1638200125423088369LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedRandomAccessList__ diff --git a/libjava/java/util/Collections$CheckedSet.h b/libjava/java/util/Collections$CheckedSet.h new file mode 100644 index 00000000000..e58a98d2eaa --- /dev/null +++ b/libjava/java/util/Collections$CheckedSet.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedSet__ +#define __java_util_Collections$CheckedSet__ + +#pragma interface + +#include + +class java::util::Collections$CheckedSet : public ::java::util::Collections$CheckedCollection +{ + +public: // actually package-private + Collections$CheckedSet(::java::util::Set *, ::java::lang::Class *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = 4694047833775013803LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedSet__ diff --git a/libjava/java/util/Collections$CheckedSortedMap.h b/libjava/java/util/Collections$CheckedSortedMap.h new file mode 100644 index 00000000000..54d83056984 --- /dev/null +++ b/libjava/java/util/Collections$CheckedSortedMap.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedSortedMap__ +#define __java_util_Collections$CheckedSortedMap__ + +#pragma interface + +#include + +class java::util::Collections$CheckedSortedMap : public ::java::util::Collections$CheckedMap +{ + +public: // actually package-private + Collections$CheckedSortedMap(::java::util::SortedMap *, ::java::lang::Class *, ::java::lang::Class *); +public: + virtual ::java::util::Comparator * comparator(); + virtual ::java::lang::Object * firstKey(); + virtual ::java::util::SortedMap * headMap(::java::lang::Object *); + virtual ::java::lang::Object * lastKey(); + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1599671320688067438LL; + ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedMap)))) sm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedSortedMap__ diff --git a/libjava/java/util/Collections$CheckedSortedSet.h b/libjava/java/util/Collections$CheckedSortedSet.h new file mode 100644 index 00000000000..f65817529d7 --- /dev/null +++ b/libjava/java/util/Collections$CheckedSortedSet.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CheckedSortedSet__ +#define __java_util_Collections$CheckedSortedSet__ + +#pragma interface + +#include + +class java::util::Collections$CheckedSortedSet : public ::java::util::Collections$CheckedSet +{ + +public: // actually package-private + Collections$CheckedSortedSet(::java::util::SortedSet *, ::java::lang::Class *); +public: + virtual ::java::util::Comparator * comparator(); + virtual ::java::lang::Object * first(); + virtual ::java::util::SortedSet * headSet(::java::lang::Object *); + virtual ::java::lang::Object * last(); + virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedSet * tailSet(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1599911165492914959LL; + ::java::util::SortedSet * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedSet)))) ss; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CheckedSortedSet__ diff --git a/libjava/java/util/Collections$CopiesList.h b/libjava/java/util/Collections$CopiesList.h new file mode 100644 index 00000000000..3ff503da424 --- /dev/null +++ b/libjava/java/util/Collections$CopiesList.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$CopiesList__ +#define __java_util_Collections$CopiesList__ + +#pragma interface + +#include +#include + + +class java::util::Collections$CopiesList : public ::java::util::AbstractList +{ + +public: // actually package-private + Collections$CopiesList(jint, ::java::lang::Object *); +public: + jint size(); + ::java::lang::Object * get(jint); + jboolean contains(::java::lang::Object *); + jint indexOf(::java::lang::Object *); + jint lastIndexOf(::java::lang::Object *); + ::java::util::List * subList(jint, jint); + JArray< ::java::lang::Object * > * toArray(); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 2739099268398711800LL; + jint __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) n; + ::java::lang::Object * element; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$CopiesList__ diff --git a/libjava/java/util/Collections$EmptyList.h b/libjava/java/util/Collections$EmptyList.h new file mode 100644 index 00000000000..8133e1643f3 --- /dev/null +++ b/libjava/java/util/Collections$EmptyList.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$EmptyList__ +#define __java_util_Collections$EmptyList__ + +#pragma interface + +#include +#include + + +class java::util::Collections$EmptyList : public ::java::util::AbstractList +{ + +public: // actually package-private + Collections$EmptyList(); +public: + jint size(); + ::java::lang::Object * get(jint); + jboolean contains(::java::lang::Object *); + jboolean containsAll(::java::util::Collection *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + jint indexOf(::java::lang::Object *); + jint lastIndexOf(::java::lang::Object *); + jboolean remove(::java::lang::Object *); + jboolean removeAll(::java::util::Collection *); + jboolean retainAll(::java::util::Collection *); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 8842843931221139166LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$EmptyList__ diff --git a/libjava/java/util/Collections$EmptyMap.h b/libjava/java/util/Collections$EmptyMap.h new file mode 100644 index 00000000000..6b09265c4c8 --- /dev/null +++ b/libjava/java/util/Collections$EmptyMap.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$EmptyMap__ +#define __java_util_Collections$EmptyMap__ + +#pragma interface + +#include + +class java::util::Collections$EmptyMap : public ::java::util::AbstractMap +{ + +public: // actually package-private + Collections$EmptyMap(); +public: + ::java::util::Set * entrySet(); + jboolean containsKey(::java::lang::Object *); + jboolean containsValue(::java::lang::Object *); + jboolean equals(::java::lang::Object *); + ::java::lang::Object * get(::java::lang::Object *); + jint hashCode(); + ::java::util::Set * keySet(); + ::java::lang::Object * remove(::java::lang::Object *); + jint size(); + ::java::util::Collection * values(); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 6428348081105594320LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$EmptyMap__ diff --git a/libjava/java/util/Collections$EmptySet.h b/libjava/java/util/Collections$EmptySet.h new file mode 100644 index 00000000000..cbd01262f88 --- /dev/null +++ b/libjava/java/util/Collections$EmptySet.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$EmptySet__ +#define __java_util_Collections$EmptySet__ + +#pragma interface + +#include +#include + + +class java::util::Collections$EmptySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + Collections$EmptySet(); +public: + jint size(); + ::java::util::Iterator * iterator(); + jboolean contains(::java::lang::Object *); + jboolean containsAll(::java::util::Collection *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + jboolean remove(::java::lang::Object *); + jboolean removeAll(::java::util::Collection *); + jboolean retainAll(::java::util::Collection *); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 1582296315990362920LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$EmptySet__ diff --git a/libjava/java/util/Collections$ReverseComparator.h b/libjava/java/util/Collections$ReverseComparator.h new file mode 100644 index 00000000000..006c27cbfc1 --- /dev/null +++ b/libjava/java/util/Collections$ReverseComparator.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$ReverseComparator__ +#define __java_util_Collections$ReverseComparator__ + +#pragma interface + +#include + +class java::util::Collections$ReverseComparator : public ::java::lang::Object +{ + +public: // actually package-private + Collections$ReverseComparator(); +public: + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 7207038068494060240LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$ReverseComparator__ diff --git a/libjava/java/util/Collections$SingletonList.h b/libjava/java/util/Collections$SingletonList.h new file mode 100644 index 00000000000..03340f1d9cb --- /dev/null +++ b/libjava/java/util/Collections$SingletonList.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SingletonList__ +#define __java_util_Collections$SingletonList__ + +#pragma interface + +#include +#include + + +class java::util::Collections$SingletonList : public ::java::util::AbstractList +{ + +public: // actually package-private + Collections$SingletonList(::java::lang::Object *); +public: + jint size(); + ::java::lang::Object * get(jint); + jboolean contains(::java::lang::Object *); + jboolean containsAll(::java::util::Collection *); + jint hashCode(); + jint indexOf(::java::lang::Object *); + jint lastIndexOf(::java::lang::Object *); + ::java::util::List * subList(jint, jint); + JArray< ::java::lang::Object * > * toArray(); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 3093736618740652951LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) element; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SingletonList__ diff --git a/libjava/java/util/Collections$SingletonMap.h b/libjava/java/util/Collections$SingletonMap.h new file mode 100644 index 00000000000..a5b07689a43 --- /dev/null +++ b/libjava/java/util/Collections$SingletonMap.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SingletonMap__ +#define __java_util_Collections$SingletonMap__ + +#pragma interface + +#include + +class java::util::Collections$SingletonMap : public ::java::util::AbstractMap +{ + +public: // actually package-private + Collections$SingletonMap(::java::lang::Object *, ::java::lang::Object *); +public: + ::java::util::Set * entrySet(); + jboolean containsKey(::java::lang::Object *); + jboolean containsValue(::java::lang::Object *); + ::java::lang::Object * get(::java::lang::Object *); + jint hashCode(); + ::java::util::Set * keySet(); + jint size(); + ::java::util::Collection * values(); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6979724477215052911LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) k; + ::java::lang::Object * v; + ::java::util::Set * entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SingletonMap__ diff --git a/libjava/java/util/Collections$SingletonSet.h b/libjava/java/util/Collections$SingletonSet.h new file mode 100644 index 00000000000..51deccdd38a --- /dev/null +++ b/libjava/java/util/Collections$SingletonSet.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SingletonSet__ +#define __java_util_Collections$SingletonSet__ + +#pragma interface + +#include +#include + + +class java::util::Collections$SingletonSet : public ::java::util::AbstractSet +{ + +public: // actually package-private + Collections$SingletonSet(::java::lang::Object *); +public: + jint size(); + ::java::util::Iterator * iterator(); + jboolean contains(::java::lang::Object *); + jboolean containsAll(::java::util::Collection *); + jint hashCode(); + JArray< ::java::lang::Object * > * toArray(); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 3193687207550431679LL; +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) element; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SingletonSet__ diff --git a/libjava/java/util/Collections$SynchronizedCollection.h b/libjava/java/util/Collections$SynchronizedCollection.h new file mode 100644 index 00000000000..a41b8d2b138 --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedCollection.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedCollection__ +#define __java_util_Collections$SynchronizedCollection__ + +#pragma interface + +#include +#include + + +class java::util::Collections$SynchronizedCollection : public ::java::lang::Object +{ + +public: // actually package-private + Collections$SynchronizedCollection(::java::util::Collection *); + Collections$SynchronizedCollection(::java::lang::Object *, ::java::util::Collection *); +public: + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 3053995032091335093LL; +public: // actually package-private + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c; + ::java::lang::Object * mutex; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedCollection__ diff --git a/libjava/java/util/Collections$SynchronizedIterator.h b/libjava/java/util/Collections$SynchronizedIterator.h new file mode 100644 index 00000000000..bc0950b6d2e --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedIterator.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedIterator__ +#define __java_util_Collections$SynchronizedIterator__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedIterator : public ::java::lang::Object +{ + +public: // actually package-private + Collections$SynchronizedIterator(::java::lang::Object *, ::java::util::Iterator *); +public: + virtual ::java::lang::Object * next(); + virtual jboolean hasNext(); + virtual void remove(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mutex; +private: + ::java::util::Iterator * i; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedIterator__ diff --git a/libjava/java/util/Collections$SynchronizedList.h b/libjava/java/util/Collections$SynchronizedList.h new file mode 100644 index 00000000000..3404a091d4d --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedList.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedList__ +#define __java_util_Collections$SynchronizedList__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedList : public ::java::util::Collections$SynchronizedCollection +{ + +public: // actually package-private + Collections$SynchronizedList(::java::util::List *); + Collections$SynchronizedList(::java::lang::Object *, ::java::util::List *); +public: + virtual void add(jint, ::java::lang::Object *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual jint hashCode(); + virtual jint indexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *); + virtual ::java::util::ListIterator * listIterator(); + virtual ::java::util::ListIterator * listIterator(jint); + virtual ::java::lang::Object * remove(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual ::java::util::List * subList(jint, jint); +private: + static const jlong serialVersionUID = -7754090372962971524LL; +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedCollection)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedList__ diff --git a/libjava/java/util/Collections$SynchronizedListIterator.h b/libjava/java/util/Collections$SynchronizedListIterator.h new file mode 100644 index 00000000000..87cd16b0b21 --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedListIterator.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedListIterator__ +#define __java_util_Collections$SynchronizedListIterator__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedListIterator : public ::java::util::Collections$SynchronizedIterator +{ + +public: // actually package-private + Collections$SynchronizedListIterator(::java::lang::Object *, ::java::util::ListIterator *); +public: + void add(::java::lang::Object *); + jboolean hasPrevious(); + jint nextIndex(); + ::java::lang::Object * previous(); + jint previousIndex(); + void set(::java::lang::Object *); +private: + ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedIterator)))) li; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedListIterator__ diff --git a/libjava/java/util/Collections$SynchronizedMap.h b/libjava/java/util/Collections$SynchronizedMap.h new file mode 100644 index 00000000000..6232204d14b --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedMap.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedMap__ +#define __java_util_Collections$SynchronizedMap__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedMap : public ::java::lang::Object +{ + +public: // actually package-private + Collections$SynchronizedMap(::java::util::Map *); + Collections$SynchronizedMap(::java::lang::Object *, ::java::util::Map *); +public: + virtual void clear(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Collection * values(); +private: + static const jlong serialVersionUID = 1978198479659022715LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m; +public: // actually package-private + ::java::lang::Object * mutex; +private: + ::java::util::Set * entries; + ::java::util::Set * keys; + ::java::util::Collection * values__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedMap__ diff --git a/libjava/java/util/Collections$SynchronizedRandomAccessList.h b/libjava/java/util/Collections$SynchronizedRandomAccessList.h new file mode 100644 index 00000000000..3bf085ee121 --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedRandomAccessList.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedRandomAccessList__ +#define __java_util_Collections$SynchronizedRandomAccessList__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedRandomAccessList : public ::java::util::Collections$SynchronizedList +{ + +public: // actually package-private + Collections$SynchronizedRandomAccessList(::java::util::List *); + Collections$SynchronizedRandomAccessList(::java::lang::Object *, ::java::util::List *); +public: + ::java::util::List * subList(jint, jint); +private: + static const jlong serialVersionUID = 1530674583602358482LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedRandomAccessList__ diff --git a/libjava/java/util/Collections$SynchronizedSet.h b/libjava/java/util/Collections$SynchronizedSet.h new file mode 100644 index 00000000000..bb5b6769799 --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedSet.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedSet__ +#define __java_util_Collections$SynchronizedSet__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedSet : public ::java::util::Collections$SynchronizedCollection +{ + +public: // actually package-private + Collections$SynchronizedSet(::java::util::Set *); + Collections$SynchronizedSet(::java::lang::Object *, ::java::util::Set *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = 487447009682186044LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedSet__ diff --git a/libjava/java/util/Collections$SynchronizedSortedMap.h b/libjava/java/util/Collections$SynchronizedSortedMap.h new file mode 100644 index 00000000000..d31025f26fd --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedSortedMap.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedSortedMap__ +#define __java_util_Collections$SynchronizedSortedMap__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedSortedMap : public ::java::util::Collections$SynchronizedMap +{ + +public: // actually package-private + Collections$SynchronizedSortedMap(::java::util::SortedMap *); + Collections$SynchronizedSortedMap(::java::lang::Object *, ::java::util::SortedMap *); +public: + ::java::util::Comparator * comparator(); + ::java::lang::Object * firstKey(); + ::java::util::SortedMap * headMap(::java::lang::Object *); + ::java::lang::Object * lastKey(); + ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::SortedMap * tailMap(::java::lang::Object *); +private: + static const jlong serialVersionUID = -8798146769416483793LL; + ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedMap)))) sm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedSortedMap__ diff --git a/libjava/java/util/Collections$SynchronizedSortedSet.h b/libjava/java/util/Collections$SynchronizedSortedSet.h new file mode 100644 index 00000000000..dd25a17b704 --- /dev/null +++ b/libjava/java/util/Collections$SynchronizedSortedSet.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$SynchronizedSortedSet__ +#define __java_util_Collections$SynchronizedSortedSet__ + +#pragma interface + +#include + +class java::util::Collections$SynchronizedSortedSet : public ::java::util::Collections$SynchronizedSet +{ + +public: // actually package-private + Collections$SynchronizedSortedSet(::java::util::SortedSet *); + Collections$SynchronizedSortedSet(::java::lang::Object *, ::java::util::SortedSet *); +public: + ::java::util::Comparator * comparator(); + ::java::lang::Object * first(); + ::java::util::SortedSet * headSet(::java::lang::Object *); + ::java::lang::Object * last(); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::util::SortedSet * tailSet(::java::lang::Object *); +private: + static const jlong serialVersionUID = 8695801310862127406LL; + ::java::util::SortedSet * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedSet)))) ss; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$SynchronizedSortedSet__ diff --git a/libjava/java/util/Collections$UnmodifiableCollection.h b/libjava/java/util/Collections$UnmodifiableCollection.h new file mode 100644 index 00000000000..2241b880a68 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableCollection.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableCollection__ +#define __java_util_Collections$UnmodifiableCollection__ + +#pragma interface + +#include +#include + + +class java::util::Collections$UnmodifiableCollection : public ::java::lang::Object +{ + +public: // actually package-private + Collections$UnmodifiableCollection(::java::util::Collection *); +public: + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 1820017752578914078LL; +public: // actually package-private + ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableCollection__ diff --git a/libjava/java/util/Collections$UnmodifiableIterator.h b/libjava/java/util/Collections$UnmodifiableIterator.h new file mode 100644 index 00000000000..3782626aa7a --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableIterator.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableIterator__ +#define __java_util_Collections$UnmodifiableIterator__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableIterator : public ::java::lang::Object +{ + +public: // actually package-private + Collections$UnmodifiableIterator(::java::util::Iterator *); +public: + virtual ::java::lang::Object * next(); + virtual jboolean hasNext(); + virtual void remove(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableIterator__ diff --git a/libjava/java/util/Collections$UnmodifiableList.h b/libjava/java/util/Collections$UnmodifiableList.h new file mode 100644 index 00000000000..e1da4773050 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableList__ +#define __java_util_Collections$UnmodifiableList__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableList : public ::java::util::Collections$UnmodifiableCollection +{ + +public: // actually package-private + Collections$UnmodifiableList(::java::util::List *); +public: + virtual void add(jint, ::java::lang::Object *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(jint); + virtual jint hashCode(); + virtual jint indexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *); + virtual ::java::util::ListIterator * listIterator(); + virtual ::java::util::ListIterator * listIterator(jint); + virtual ::java::lang::Object * remove(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual ::java::util::List * subList(jint, jint); +private: + static const jlong serialVersionUID = -283967356065247728LL; +public: // actually package-private + ::java::util::List * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableCollection)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableList__ diff --git a/libjava/java/util/Collections$UnmodifiableListIterator.h b/libjava/java/util/Collections$UnmodifiableListIterator.h new file mode 100644 index 00000000000..f921a5c0b39 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableListIterator.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableListIterator__ +#define __java_util_Collections$UnmodifiableListIterator__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableListIterator : public ::java::util::Collections$UnmodifiableIterator +{ + +public: // actually package-private + Collections$UnmodifiableListIterator(::java::util::ListIterator *); +public: + void add(::java::lang::Object *); + jboolean hasPrevious(); + jint nextIndex(); + ::java::lang::Object * previous(); + jint previousIndex(); + void set(::java::lang::Object *); +private: + ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableIterator)))) li; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableListIterator__ diff --git a/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h new file mode 100644 index 00000000000..c0358c9b86f --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry__ +#define __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry : public ::java::lang::Object +{ + + Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry(::java::util::Map$Entry *); +public: + jboolean equals(::java::lang::Object *); + ::java::lang::Object * getKey(); + ::java::lang::Object * getValue(); + jint hashCode(); + ::java::lang::Object * setValue(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry(::java::util::Map$Entry *, ::java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry *); +private: + ::java::util::Map$Entry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry__ diff --git a/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h new file mode 100644 index 00000000000..cf49d7fce32 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet__ +#define __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet__ + +#pragma interface + +#include +#include + + +class java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet : public ::java::util::Collections$UnmodifiableSet +{ + +public: // actually package-private + Collections$UnmodifiableMap$UnmodifiableEntrySet(::java::util::Set *); +public: + ::java::util::Iterator * iterator(); + JArray< ::java::util::Map$Entry * > * target$toArray(); + JArray< ::java::util::Map$Entry * > * toArray(JArray< ::java::util::Map$Entry * > *); + JArray< ::java::lang::Object * > * toArray(); +private: + static const jlong serialVersionUID = 7854390611657943733LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet__ diff --git a/libjava/java/util/Collections$UnmodifiableMap.h b/libjava/java/util/Collections$UnmodifiableMap.h new file mode 100644 index 00000000000..3aaee0a7b67 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableMap.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableMap__ +#define __java_util_Collections$UnmodifiableMap__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableMap : public ::java::lang::Object +{ + +public: // actually package-private + Collections$UnmodifiableMap(::java::util::Map *); +public: + virtual void clear(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::util::Set * keySet(); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Collection * values(); +private: + static const jlong serialVersionUID = -1034234728574286014LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m; + ::java::util::Set * entries; + ::java::util::Set * keys; + ::java::util::Collection * values__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableMap__ diff --git a/libjava/java/util/Collections$UnmodifiableRandomAccessList.h b/libjava/java/util/Collections$UnmodifiableRandomAccessList.h new file mode 100644 index 00000000000..62a310b4168 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableRandomAccessList.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableRandomAccessList__ +#define __java_util_Collections$UnmodifiableRandomAccessList__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableRandomAccessList : public ::java::util::Collections$UnmodifiableList +{ + +public: // actually package-private + Collections$UnmodifiableRandomAccessList(::java::util::List *); +private: + static const jlong serialVersionUID = -2542308836966382001LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableRandomAccessList__ diff --git a/libjava/java/util/Collections$UnmodifiableSet.h b/libjava/java/util/Collections$UnmodifiableSet.h new file mode 100644 index 00000000000..3633ae29985 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableSet.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableSet__ +#define __java_util_Collections$UnmodifiableSet__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableSet : public ::java::util::Collections$UnmodifiableCollection +{ + +public: // actually package-private + Collections$UnmodifiableSet(::java::util::Set *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = -9215047833775013803LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableSet__ diff --git a/libjava/java/util/Collections$UnmodifiableSortedMap.h b/libjava/java/util/Collections$UnmodifiableSortedMap.h new file mode 100644 index 00000000000..6c5a3742609 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableSortedMap.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableSortedMap__ +#define __java_util_Collections$UnmodifiableSortedMap__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableSortedMap : public ::java::util::Collections$UnmodifiableMap +{ + +public: // actually package-private + Collections$UnmodifiableSortedMap(::java::util::SortedMap *); +public: + virtual ::java::util::Comparator * comparator(); + virtual ::java::lang::Object * firstKey(); + virtual ::java::util::SortedMap * headMap(::java::lang::Object *); + virtual ::java::lang::Object * lastKey(); + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *); +private: + static const jlong serialVersionUID = -8806743815996713206LL; + ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableMap)))) sm; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableSortedMap__ diff --git a/libjava/java/util/Collections$UnmodifiableSortedSet.h b/libjava/java/util/Collections$UnmodifiableSortedSet.h new file mode 100644 index 00000000000..50d776d6d42 --- /dev/null +++ b/libjava/java/util/Collections$UnmodifiableSortedSet.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections$UnmodifiableSortedSet__ +#define __java_util_Collections$UnmodifiableSortedSet__ + +#pragma interface + +#include + +class java::util::Collections$UnmodifiableSortedSet : public ::java::util::Collections$UnmodifiableSet +{ + +public: // actually package-private + Collections$UnmodifiableSortedSet(::java::util::SortedSet *); +public: + virtual ::java::util::Comparator * comparator(); + virtual ::java::lang::Object * first(); + virtual ::java::util::SortedSet * headSet(::java::lang::Object *); + virtual ::java::lang::Object * last(); + virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedSet * tailSet(::java::lang::Object *); +private: + static const jlong serialVersionUID = -4929149591599911165LL; + ::java::util::SortedSet * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableSet)))) ss; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections$UnmodifiableSortedSet__ diff --git a/libjava/java/util/Collections.h b/libjava/java/util/Collections.h new file mode 100644 index 00000000000..6e11724394a --- /dev/null +++ b/libjava/java/util/Collections.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Collections__ +#define __java_util_Collections__ + +#pragma interface + +#include +#include + + +class java::util::Collections : public ::java::lang::Object +{ + + static jboolean isSequential(::java::util::List *); + Collections(); +public: + static ::java::util::Set * emptySet(); + static ::java::util::List * emptyList(); + static ::java::util::Map * emptyMap(); +public: // actually package-private + static jint compare(::java::lang::Object *, ::java::lang::Object *, ::java::util::Comparator *); +public: + static jint binarySearch(::java::util::List *, ::java::lang::Object *); + static jint binarySearch(::java::util::List *, ::java::lang::Object *, ::java::util::Comparator *); + static void copy(::java::util::List *, ::java::util::List *); + static ::java::util::Enumeration * enumeration(::java::util::Collection *); + static void fill(::java::util::List *, ::java::lang::Object *); + static jint indexOfSubList(::java::util::List *, ::java::util::List *); + static jint lastIndexOfSubList(::java::util::List *, ::java::util::List *); + static ::java::util::ArrayList * list(::java::util::Enumeration *); + static ::java::lang::Object * max(::java::util::Collection *); + static ::java::lang::Object * max(::java::util::Collection *, ::java::util::Comparator *); + static ::java::lang::Object * min(::java::util::Collection *); + static ::java::lang::Object * min(::java::util::Collection *, ::java::util::Comparator *); + static ::java::util::List * nCopies(jint, ::java::lang::Object *); + static jboolean replaceAll(::java::util::List *, ::java::lang::Object *, ::java::lang::Object *); + static void reverse(::java::util::List *); + static ::java::util::Comparator * reverseOrder(::java::util::Comparator *); + static ::java::util::Comparator * reverseOrder(); + static void rotate(::java::util::List *, jint); + static void shuffle(::java::util::List *); + static void shuffle(::java::util::List *, ::java::util::Random *); + static jint frequency(::java::util::Collection *, ::java::lang::Object *); + static jboolean addAll(::java::util::Collection *, JArray< ::java::lang::Object * > *); + static jboolean disjoint(::java::util::Collection *, ::java::util::Collection *); + static ::java::util::Set * singleton(::java::lang::Object *); + static ::java::util::List * singletonList(::java::lang::Object *); + static ::java::util::Map * singletonMap(::java::lang::Object *, ::java::lang::Object *); + static void sort(::java::util::List *); + static void sort(::java::util::List *, ::java::util::Comparator *); + static void swap(::java::util::List *, jint, jint); + static ::java::util::Collection * synchronizedCollection(::java::util::Collection *); + static ::java::util::List * synchronizedList(::java::util::List *); + static ::java::util::Map * synchronizedMap(::java::util::Map *); + static ::java::util::Set * synchronizedSet(::java::util::Set *); + static ::java::util::SortedMap * synchronizedSortedMap(::java::util::SortedMap *); + static ::java::util::SortedSet * synchronizedSortedSet(::java::util::SortedSet *); + static ::java::util::Collection * unmodifiableCollection(::java::util::Collection *); + static ::java::util::List * unmodifiableList(::java::util::List *); + static ::java::util::Map * unmodifiableMap(::java::util::Map *); + static ::java::util::Set * unmodifiableSet(::java::util::Set *); + static ::java::util::SortedMap * unmodifiableSortedMap(::java::util::SortedMap *); + static ::java::util::SortedSet * unmodifiableSortedSet(::java::util::SortedSet *); + static ::java::util::Collection * checkedCollection(::java::util::Collection *, ::java::lang::Class *); + static ::java::util::List * checkedList(::java::util::List *, ::java::lang::Class *); + static ::java::util::Map * checkedMap(::java::util::Map *, ::java::lang::Class *, ::java::lang::Class *); + static ::java::util::Set * checkedSet(::java::util::Set *, ::java::lang::Class *); + static ::java::util::SortedMap * checkedSortedMap(::java::util::SortedMap *, ::java::lang::Class *, ::java::lang::Class *); + static ::java::util::SortedSet * checkedSortedSet(::java::util::SortedSet *, ::java::lang::Class *); +private: + static const jint LARGE_LIST_SIZE = 16; +public: + static ::java::util::Set * EMPTY_SET; + static ::java::util::List * EMPTY_LIST; + static ::java::util::Map * EMPTY_MAP; +private: + static ::java::util::Collections$ReverseComparator * rcInstance; + static ::java::util::Random * defaultRandom; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Collections__ diff --git a/libjava/java/util/Comparator.h b/libjava/java/util/Comparator.h new file mode 100644 index 00000000000..f14275e58ce --- /dev/null +++ b/libjava/java/util/Comparator.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Comparator__ +#define __java_util_Comparator__ + +#pragma interface + +#include + +class java::util::Comparator : public ::java::lang::Object +{ + +public: + virtual jint compare(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Comparator__ diff --git a/libjava/java/util/ConcurrentModificationException.h b/libjava/java/util/ConcurrentModificationException.h new file mode 100644 index 00000000000..012ab658d95 --- /dev/null +++ b/libjava/java/util/ConcurrentModificationException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ConcurrentModificationException__ +#define __java_util_ConcurrentModificationException__ + +#pragma interface + +#include + +class java::util::ConcurrentModificationException : public ::java::lang::RuntimeException +{ + +public: + ConcurrentModificationException(); + ConcurrentModificationException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3666751008965953603LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ConcurrentModificationException__ diff --git a/libjava/java/util/Currency.h b/libjava/java/util/Currency.h new file mode 100644 index 00000000000..c868cef9ca3 --- /dev/null +++ b/libjava/java/util/Currency.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Currency__ +#define __java_util_Currency__ + +#pragma interface + +#include + +class java::util::Currency : public ::java::lang::Object +{ + + Currency(); + Currency(::java::util::Locale *); +public: + ::java::lang::String * getCurrencyCode(); + jint getDefaultFractionDigits(); + static ::java::util::Currency * getInstance(::java::util::Locale *); + static ::java::util::Currency * getInstance(::java::lang::String *); + ::java::lang::String * getSymbol(); + ::java::lang::String * getSymbol(::java::util::Locale *); + ::java::lang::String * toString(); +private: + ::java::lang::Object * readResolve(); +public: // actually package-private + static const jlong serialVersionUID = -158308464356906721LL; +private: + ::java::util::Locale * __attribute__((aligned(__alignof__( ::java::lang::Object)))) locale; + ::java::util::ResourceBundle * res; + ::java::lang::String * currencyCode; + static ::java::util::Map * cache; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Currency__ diff --git a/libjava/java/util/Date.h b/libjava/java/util/Date.h new file mode 100644 index 00000000000..e9814834457 --- /dev/null +++ b/libjava/java/util/Date.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Date__ +#define __java_util_Date__ + +#pragma interface + +#include +#include + + +class java::util::Date : public ::java::lang::Object +{ + +public: + Date(); + Date(jlong); + Date(jint, jint, jint); + Date(jint, jint, jint, jint, jint); + Date(jint, jint, jint, jint, jint, jint); + Date(::java::lang::String *); + virtual ::java::lang::Object * clone(); + static jlong UTC(jint, jint, jint, jint, jint, jint); + virtual jlong getTime(); + virtual jint getTimezoneOffset(); + virtual void setTime(jlong); + virtual jboolean after(::java::util::Date *); + virtual jboolean before(::java::util::Date *); + virtual jboolean equals(::java::lang::Object *); + virtual jint target$compareTo(::java::util::Date *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toLocaleString(); + virtual ::java::lang::String * toGMTString(); +private: + static jint parseTz(::java::lang::String *, jchar); + static jint parseMonth(::java::lang::String *); + static jboolean parseDayOfWeek(::java::lang::String *); +public: + static jlong parse(::java::lang::String *); + virtual jint getYear(); + virtual void setYear(jint); + virtual jint getMonth(); + virtual void setMonth(jint); + virtual jint getDate(); + virtual void setDate(jint); + virtual jint getDay(); + virtual jint getHours(); + virtual void setHours(jint); + virtual jint getMinutes(); + virtual void setMinutes(jint); + virtual jint getSeconds(); + virtual void setSeconds(jint); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + virtual jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = 7523967970034938905LL; + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) time; + static JArray< ::java::lang::String * > * weekNames; + static JArray< ::java::lang::String * > * monthNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Date__ diff --git a/libjava/java/util/Deque.h b/libjava/java/util/Deque.h new file mode 100644 index 00000000000..0ceb91f8245 --- /dev/null +++ b/libjava/java/util/Deque.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Deque__ +#define __java_util_Deque__ + +#pragma interface + +#include +#include + + +class java::util::Deque : public ::java::lang::Object +{ + +public: + virtual void addFirst(::java::lang::Object *) = 0; + virtual void addLast(::java::lang::Object *) = 0; + virtual jboolean offerFirst(::java::lang::Object *) = 0; + virtual jboolean offerLast(::java::lang::Object *) = 0; + virtual ::java::lang::Object * removeFirst() = 0; + virtual ::java::lang::Object * removeLast() = 0; + virtual ::java::lang::Object * pollFirst() = 0; + virtual ::java::lang::Object * pollLast() = 0; + virtual ::java::lang::Object * getFirst() = 0; + virtual ::java::lang::Object * getLast() = 0; + virtual ::java::lang::Object * peekFirst() = 0; + virtual ::java::lang::Object * peekLast() = 0; + virtual jboolean removeFirstOccurrence(::java::lang::Object *) = 0; + virtual jboolean removeLastOccurrence(::java::lang::Object *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean offer(::java::lang::Object *) = 0; + virtual ::java::lang::Object * remove() = 0; + virtual ::java::lang::Object * poll() = 0; + virtual ::java::lang::Object * element() = 0; + virtual ::java::lang::Object * peek() = 0; + virtual void push(::java::lang::Object *) = 0; + virtual ::java::lang::Object * pop() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual ::java::util::Iterator * descendingIterator() = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Deque__ diff --git a/libjava/java/util/Dictionary.h b/libjava/java/util/Dictionary.h new file mode 100644 index 00000000000..5f02531a5cf --- /dev/null +++ b/libjava/java/util/Dictionary.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Dictionary__ +#define __java_util_Dictionary__ + +#pragma interface + +#include + +class java::util::Dictionary : public ::java::lang::Object +{ + +public: + Dictionary(); + virtual ::java::util::Enumeration * elements() = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Enumeration * keys() = 0; + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * remove(::java::lang::Object *) = 0; + virtual jint size() = 0; + static ::java::lang::Class class$; +}; + +#endif // __java_util_Dictionary__ diff --git a/libjava/java/util/DuplicateFormatFlagsException.h b/libjava/java/util/DuplicateFormatFlagsException.h new file mode 100644 index 00000000000..c384bc02655 --- /dev/null +++ b/libjava/java/util/DuplicateFormatFlagsException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_DuplicateFormatFlagsException__ +#define __java_util_DuplicateFormatFlagsException__ + +#pragma interface + +#include + +class java::util::DuplicateFormatFlagsException : public ::java::util::IllegalFormatException +{ + +public: + DuplicateFormatFlagsException(::java::lang::String *); + virtual ::java::lang::String * getFlags(); +private: + static const jlong serialVersionUID = 18890531LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_DuplicateFormatFlagsException__ diff --git a/libjava/java/util/EmptyStackException.h b/libjava/java/util/EmptyStackException.h new file mode 100644 index 00000000000..7b5b1675994 --- /dev/null +++ b/libjava/java/util/EmptyStackException.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EmptyStackException__ +#define __java_util_EmptyStackException__ + +#pragma interface + +#include + +class java::util::EmptyStackException : public ::java::lang::RuntimeException +{ + +public: + EmptyStackException(); +private: + static const jlong serialVersionUID = 5084686378493302095LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EmptyStackException__ diff --git a/libjava/java/util/EnumMap$1.h b/libjava/java/util/EnumMap$1.h new file mode 100644 index 00000000000..372f25f62db --- /dev/null +++ b/libjava/java/util/EnumMap$1.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$1__ +#define __java_util_EnumMap$1__ + +#pragma interface + +#include + +class java::util::EnumMap$1 : public ::java::util::AbstractSet +{ + +public: // actually package-private + EnumMap$1(::java::util::EnumMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + static ::java::util::EnumMap * access$0(::java::util::EnumMap$1 *); + ::java::util::EnumMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$1__ diff --git a/libjava/java/util/EnumMap$2.h b/libjava/java/util/EnumMap$2.h new file mode 100644 index 00000000000..325d8ad583d --- /dev/null +++ b/libjava/java/util/EnumMap$2.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$2__ +#define __java_util_EnumMap$2__ + +#pragma interface + +#include + +class java::util::EnumMap$2 : public ::java::lang::Object +{ + +public: // actually package-private + EnumMap$2(::java::util::EnumMap$1 *); +public: + jboolean hasNext(); + ::java::lang::Enum * target$next(); + void remove(); + ::java::lang::Object * next(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jint index; + ::java::util::EnumMap$1 * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$2__ diff --git a/libjava/java/util/EnumMap$3.h b/libjava/java/util/EnumMap$3.h new file mode 100644 index 00000000000..56824265c18 --- /dev/null +++ b/libjava/java/util/EnumMap$3.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$3__ +#define __java_util_EnumMap$3__ + +#pragma interface + +#include + +class java::util::EnumMap$3 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + EnumMap$3(::java::util::EnumMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); +public: // actually package-private + static ::java::util::EnumMap * access$0(::java::util::EnumMap$3 *); + ::java::util::EnumMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$3__ diff --git a/libjava/java/util/EnumMap$4.h b/libjava/java/util/EnumMap$4.h new file mode 100644 index 00000000000..4ea6286dc89 --- /dev/null +++ b/libjava/java/util/EnumMap$4.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$4__ +#define __java_util_EnumMap$4__ + +#pragma interface + +#include + +class java::util::EnumMap$4 : public ::java::lang::Object +{ + +public: // actually package-private + EnumMap$4(::java::util::EnumMap$3 *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jint index; + ::java::util::EnumMap$3 * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$4__ diff --git a/libjava/java/util/EnumMap$5.h b/libjava/java/util/EnumMap$5.h new file mode 100644 index 00000000000..d38ef915114 --- /dev/null +++ b/libjava/java/util/EnumMap$5.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$5__ +#define __java_util_EnumMap$5__ + +#pragma interface + +#include + +class java::util::EnumMap$5 : public ::java::util::AbstractSet +{ + +public: // actually package-private + EnumMap$5(::java::util::EnumMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + static ::java::util::EnumMap * access$0(::java::util::EnumMap$5 *); + ::java::util::EnumMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$5__ diff --git a/libjava/java/util/EnumMap$6.h b/libjava/java/util/EnumMap$6.h new file mode 100644 index 00000000000..fde1cbd4d82 --- /dev/null +++ b/libjava/java/util/EnumMap$6.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$6__ +#define __java_util_EnumMap$6__ + +#pragma interface + +#include + +class java::util::EnumMap$6 : public ::java::lang::Object +{ + +public: // actually package-private + EnumMap$6(::java::util::EnumMap$5 *); +public: + jboolean hasNext(); + ::java::util::Map$Entry * target$next(); + void remove(); + ::java::lang::Object * next(); +public: // actually package-private + static ::java::util::EnumMap$5 * access$1(::java::util::EnumMap$6 *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jint index; + ::java::util::EnumMap$5 * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$6__ diff --git a/libjava/java/util/EnumMap$7.h b/libjava/java/util/EnumMap$7.h new file mode 100644 index 00000000000..3e9439f38f9 --- /dev/null +++ b/libjava/java/util/EnumMap$7.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap$7__ +#define __java_util_EnumMap$7__ + +#pragma interface + +#include + +class java::util::EnumMap$7 : public ::java::util::AbstractMap$SimpleEntry +{ + +public: // actually package-private + EnumMap$7(::java::util::EnumMap$6 *, ::java::lang::Enum *, ::java::lang::Object *); +public: + ::java::lang::Object * setValue(::java::lang::Object *); +public: // actually package-private + ::java::util::EnumMap$6 * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) this$2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap$7__ diff --git a/libjava/java/util/EnumMap.h b/libjava/java/util/EnumMap.h new file mode 100644 index 00000000000..0c303d82529 --- /dev/null +++ b/libjava/java/util/EnumMap.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumMap__ +#define __java_util_EnumMap__ + +#pragma interface + +#include +#include + + +class java::util::EnumMap : public ::java::util::AbstractMap +{ + +public: + EnumMap(::java::lang::Class *); + EnumMap(::java::util::EnumMap *); + EnumMap(::java::util::Map *); + virtual jint size(); + virtual jboolean containsValue(::java::lang::Object *); + virtual jboolean containsKey(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * target$put(::java::lang::Enum *, ::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual void clear(); + virtual ::java::util::Set * keySet(); + virtual ::java::util::Collection * values(); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::util::EnumMap * target$clone(); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 458661240069192865LL; +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) store; + jint cardinality; + ::java::lang::Class * enumClass; + ::java::util::Set * entries; + static ::java::lang::Object * emptySlot; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumMap__ diff --git a/libjava/java/util/EnumSet$1.h b/libjava/java/util/EnumSet$1.h new file mode 100644 index 00000000000..38088dc013f --- /dev/null +++ b/libjava/java/util/EnumSet$1.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumSet$1__ +#define __java_util_EnumSet$1__ + +#pragma interface + +#include + +class java::util::EnumSet$1 : public ::java::lang::Object +{ + +public: // actually package-private + EnumSet$1(::java::util::EnumSet *); +public: + jboolean hasNext(); + ::java::lang::Enum * target$next(); + void remove(); + ::java::lang::Object * next(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__; + jint count; + ::java::util::EnumSet * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumSet$1__ diff --git a/libjava/java/util/EnumSet.h b/libjava/java/util/EnumSet.h new file mode 100644 index 00000000000..f0e2a7af3a6 --- /dev/null +++ b/libjava/java/util/EnumSet.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EnumSet__ +#define __java_util_EnumSet__ + +#pragma interface + +#include +#include + + +class java::util::EnumSet : public ::java::util::AbstractSet +{ + +public: // actually package-private + EnumSet(); +public: + virtual ::java::util::EnumSet * target$clone(); + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean target$add(::java::lang::Enum *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + static ::java::util::EnumSet * allOf(::java::lang::Class *); + static ::java::util::EnumSet * noneOf(::java::lang::Class *); + static ::java::util::EnumSet * copyOf(::java::util::EnumSet *); + static ::java::util::EnumSet * copyOf(::java::util::Collection *); + static ::java::util::EnumSet * complementOf(::java::util::EnumSet *); + static ::java::util::EnumSet * of(::java::lang::Enum *); + static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *); + static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *); + static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *); + static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *); + static ::java::util::EnumSet * of(::java::lang::Enum *, JArray< ::java::lang::Enum * > *); + static ::java::util::EnumSet * range(::java::lang::Enum *, ::java::lang::Enum *); + virtual ::java::lang::Object * clone(); + virtual jboolean add(::java::lang::Object *); +private: + static const jlong serialVersionUID = 4782406773684236311LL; +public: // actually package-private + ::java::util::BitSet * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) store; + jint cardinality; + ::java::lang::Class * enumClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EnumSet__ diff --git a/libjava/java/util/Enumeration.h b/libjava/java/util/Enumeration.h new file mode 100644 index 00000000000..a79045f0e72 --- /dev/null +++ b/libjava/java/util/Enumeration.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Enumeration__ +#define __java_util_Enumeration__ + +#pragma interface + +#include + +class java::util::Enumeration : public ::java::lang::Object +{ + +public: + virtual jboolean hasMoreElements() = 0; + virtual ::java::lang::Object * nextElement() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Enumeration__ diff --git a/libjava/java/util/EventListener.h b/libjava/java/util/EventListener.h new file mode 100644 index 00000000000..7ab4585c91c --- /dev/null +++ b/libjava/java/util/EventListener.h @@ -0,0 +1,18 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EventListener__ +#define __java_util_EventListener__ + +#pragma interface + +#include + +class java::util::EventListener : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_EventListener__ diff --git a/libjava/java/util/EventListenerProxy.h b/libjava/java/util/EventListenerProxy.h new file mode 100644 index 00000000000..06f16509723 --- /dev/null +++ b/libjava/java/util/EventListenerProxy.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EventListenerProxy__ +#define __java_util_EventListenerProxy__ + +#pragma interface + +#include + +class java::util::EventListenerProxy : public ::java::lang::Object +{ + +public: + EventListenerProxy(::java::util::EventListener *); + virtual ::java::util::EventListener * getListener(); +private: + ::java::util::EventListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EventListenerProxy__ diff --git a/libjava/java/util/EventObject.h b/libjava/java/util/EventObject.h new file mode 100644 index 00000000000..bd1862b95e3 --- /dev/null +++ b/libjava/java/util/EventObject.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_EventObject__ +#define __java_util_EventObject__ + +#pragma interface + +#include + +class java::util::EventObject : public ::java::lang::Object +{ + +public: + EventObject(::java::lang::Object *); + virtual ::java::lang::Object * getSource(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 5516075349620653480LL; +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) source; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_EventObject__ diff --git a/libjava/java/util/FormatFlagsConversionMismatchException.h b/libjava/java/util/FormatFlagsConversionMismatchException.h new file mode 100644 index 00000000000..ce0d3fe3d6b --- /dev/null +++ b/libjava/java/util/FormatFlagsConversionMismatchException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_FormatFlagsConversionMismatchException__ +#define __java_util_FormatFlagsConversionMismatchException__ + +#pragma interface + +#include + +class java::util::FormatFlagsConversionMismatchException : public ::java::util::IllegalFormatException +{ + +public: + FormatFlagsConversionMismatchException(::java::lang::String *, jchar); + virtual jchar getConversion(); + virtual ::java::lang::String * getFlags(); +private: + static const jlong serialVersionUID = 19120414LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) f; + jchar c; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_FormatFlagsConversionMismatchException__ diff --git a/libjava/java/util/Formattable.h b/libjava/java/util/Formattable.h new file mode 100644 index 00000000000..7af1df738cc --- /dev/null +++ b/libjava/java/util/Formattable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Formattable__ +#define __java_util_Formattable__ + +#pragma interface + +#include + +class java::util::Formattable : public ::java::lang::Object +{ + +public: + virtual void formatTo(::java::util::Formatter *, jint, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Formattable__ diff --git a/libjava/java/util/FormattableFlags.h b/libjava/java/util/FormattableFlags.h new file mode 100644 index 00000000000..36fba012b33 --- /dev/null +++ b/libjava/java/util/FormattableFlags.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_FormattableFlags__ +#define __java_util_FormattableFlags__ + +#pragma interface + +#include + +class java::util::FormattableFlags : public ::java::lang::Object +{ + + FormattableFlags(); +public: + static const jint LEFT_JUSTIFY = 1; + static const jint UPPERCASE = 2; + static const jint ALTERNATE = 4; +public: // actually package-private + static const jint PLUS = 8; + static const jint SPACE = 16; + static const jint ZERO = 32; + static const jint COMMA = 64; + static const jint PAREN = 128; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_FormattableFlags__ diff --git a/libjava/java/util/Formatter$BigDecimalLayoutForm.h b/libjava/java/util/Formatter$BigDecimalLayoutForm.h new file mode 100644 index 00000000000..a6ea3a893cd --- /dev/null +++ b/libjava/java/util/Formatter$BigDecimalLayoutForm.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Formatter$BigDecimalLayoutForm__ +#define __java_util_Formatter$BigDecimalLayoutForm__ + +#pragma interface + +#include +#include + + +class java::util::Formatter$BigDecimalLayoutForm : public ::java::lang::Enum +{ + + Formatter$BigDecimalLayoutForm(::java::lang::String *, jint); +public: + static JArray< ::java::util::Formatter$BigDecimalLayoutForm * > * values(); + static ::java::util::Formatter$BigDecimalLayoutForm * valueOf(::java::lang::String *); + static ::java::util::Formatter$BigDecimalLayoutForm * DECIMAL_FLOAT; + static ::java::util::Formatter$BigDecimalLayoutForm * SCIENTIFIC; +private: + static JArray< ::java::util::Formatter$BigDecimalLayoutForm * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Formatter$BigDecimalLayoutForm__ diff --git a/libjava/java/util/Formatter.h b/libjava/java/util/Formatter.h new file mode 100644 index 00000000000..5d513ed786d --- /dev/null +++ b/libjava/java/util/Formatter.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Formatter__ +#define __java_util_Formatter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormatSymbols; + } + } +} + +class java::util::Formatter : public ::java::lang::Object +{ + +public: + Formatter(); + Formatter(::java::util::Locale *); + Formatter(::java::lang::Appendable *); + Formatter(::java::lang::Appendable *, ::java::util::Locale *); + Formatter(::java::io::File *); + Formatter(::java::io::File *, ::java::lang::String *); + Formatter(::java::io::File *, ::java::lang::String *, ::java::util::Locale *); + Formatter(::java::io::OutputStream *); + Formatter(::java::io::OutputStream *, ::java::lang::String *); + Formatter(::java::io::OutputStream *, ::java::lang::String *, ::java::util::Locale *); + Formatter(::java::io::PrintStream *); + Formatter(::java::lang::String *); + Formatter(::java::lang::String *, ::java::lang::String *); + Formatter(::java::lang::String *, ::java::lang::String *, ::java::util::Locale *); + void close(); + void flush(); +private: + ::java::lang::String * getName(jint); + void checkFlags(jint, jint, jchar); + void noPrecision(jint); + void applyLocalization(::java::lang::StringBuilder *, jint, jint, jboolean); + void genericFormat(::java::lang::String *, jint, jint, jint); + void booleanFormat(::java::lang::Object *, jint, jint, jint, jchar); + void hashCodeFormat(::java::lang::Object *, jint, jint, jint, jchar); + void stringFormat(::java::lang::Object *, jint, jint, jint, jchar); + void characterFormat(::java::lang::Object *, jint, jint, jint, jchar); + void percentFormat(jint, jint, jint); + void newLineFormat(jint, jint, jint); + ::java::lang::StringBuilder * basicIntegralConversion(::java::lang::Object *, jint, jint, jint, jint, jchar); + void hexOrOctalConversion(::java::lang::Object *, jint, jint, jint, jint, jchar); + void decimalConversion(::java::lang::Object *, jint, jint, jint, jchar); + void singleDateTimeConversion(::java::lang::StringBuilder *, ::java::util::Calendar *, jchar, ::java::text::DateFormatSymbols *); + void dateTimeConversion(::java::lang::Object *, jint, jint, jint, jchar, jchar); + void advance(); + jint parseInt(); + jint parseArgumentIndex(); + jint parseFlags(); + jint parseWidth(); + jint parsePrecision(); +public: + ::java::util::Formatter * format(::java::util::Locale *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + ::java::util::Formatter * format(::java::lang::String *, JArray< ::java::lang::Object * > *); + ::java::io::IOException * ioException(); + ::java::util::Locale * locale(); + ::java::lang::Appendable * out(); + ::java::lang::String * toString(); +private: + ::java::lang::Appendable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out__; + ::java::util::Locale * locale__; + jboolean closed; + ::java::io::IOException * ioException__; + ::java::lang::String * format__; + jint index; + jint length; + ::java::util::Locale * fmtLocale; + static ::java::lang::String * FLAGS; + static ::java::lang::String * lineSeparator; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Formatter__ diff --git a/libjava/java/util/FormatterClosedException.h b/libjava/java/util/FormatterClosedException.h new file mode 100644 index 00000000000..e4e950bca72 --- /dev/null +++ b/libjava/java/util/FormatterClosedException.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_FormatterClosedException__ +#define __java_util_FormatterClosedException__ + +#pragma interface + +#include + +class java::util::FormatterClosedException : public ::java::lang::IllegalStateException +{ + +public: + FormatterClosedException(); +private: + static const jlong serialVersionUID = 18111216LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_FormatterClosedException__ diff --git a/libjava/java/util/GregorianCalendar.h b/libjava/java/util/GregorianCalendar.h new file mode 100644 index 00000000000..46fb48e0133 --- /dev/null +++ b/libjava/java/util/GregorianCalendar.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_GregorianCalendar__ +#define __java_util_GregorianCalendar__ + +#pragma interface + +#include +#include + + +class java::util::GregorianCalendar : public ::java::util::Calendar +{ + +public: + GregorianCalendar(); + GregorianCalendar(::java::util::TimeZone *); + GregorianCalendar(::java::util::Locale *); + GregorianCalendar(::java::util::TimeZone *, ::java::util::Locale *); +private: + GregorianCalendar(::java::util::TimeZone *, ::java::util::Locale *, jboolean); +public: + GregorianCalendar(jint, jint, jint); + GregorianCalendar(jint, jint, jint, jint, jint); + GregorianCalendar(jint, jint, jint, jint, jint, jint); + virtual void setGregorianChange(::java::util::Date *); + virtual ::java::util::Date * getGregorianChange(); + virtual jboolean isLeapYear(jint); +private: + jint getWeekDay(jint, jint); + jint getFirstDayOfMonth(jint, jint); + jboolean isGregorian(jint, jint); + void nonLeniencyCheck(); +public: // actually protected + virtual void computeTime(); +private: + jlong getLinearDay(jint, jint, jboolean); + void calculateDay(JArray< jint > *, jlong, jboolean); +public: // actually protected + virtual void computeFields(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual void add(jint, jint); + virtual void roll(jint, jboolean); +private: + void cleanUpAfterRoll(jint, jint); +public: + virtual void roll(jint, jint); + virtual jint getMinimum(jint); + virtual jint getMaximum(jint); + virtual jint getGreatestMinimum(jint); + virtual jint getLeastMaximum(jint); + virtual jint getActualMinimum(jint); + virtual jint getActualMaximum(jint); + static const jint BC = 0; + static const jint AD = 1; +private: + jlong __attribute__((aligned(__alignof__( ::java::util::Calendar)))) gregorianCutover; +public: // actually package-private + static const jlong serialVersionUID = -8125100834729963327LL; +private: + static ::java::lang::String * bundleName; + static const jint EPOCH_DAYS = 719162; + static JArray< jint > * minimums; + static JArray< jint > * maximums; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_GregorianCalendar__ diff --git a/libjava/java/util/HashMap$1.h b/libjava/java/util/HashMap$1.h new file mode 100644 index 00000000000..216fc615996 --- /dev/null +++ b/libjava/java/util/HashMap$1.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashMap$1__ +#define __java_util_HashMap$1__ + +#pragma interface + +#include + +class java::util::HashMap$1 : public ::java::util::AbstractSet +{ + +public: // actually package-private + HashMap$1(::java::util::HashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashMap$1__ diff --git a/libjava/java/util/HashMap$2.h b/libjava/java/util/HashMap$2.h new file mode 100644 index 00000000000..3baedc5debb --- /dev/null +++ b/libjava/java/util/HashMap$2.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashMap$2__ +#define __java_util_HashMap$2__ + +#pragma interface + +#include + +class java::util::HashMap$2 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + HashMap$2(::java::util::HashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); +public: // actually package-private + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashMap$2__ diff --git a/libjava/java/util/HashMap$3.h b/libjava/java/util/HashMap$3.h new file mode 100644 index 00000000000..b08e4649f8a --- /dev/null +++ b/libjava/java/util/HashMap$3.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashMap$3__ +#define __java_util_HashMap$3__ + +#pragma interface + +#include + +class java::util::HashMap$3 : public ::java::util::AbstractSet +{ + +public: // actually package-private + HashMap$3(::java::util::HashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashMap$3__ diff --git a/libjava/java/util/HashMap$HashEntry.h b/libjava/java/util/HashMap$HashEntry.h new file mode 100644 index 00000000000..9f0093d7f27 --- /dev/null +++ b/libjava/java/util/HashMap$HashEntry.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashMap$HashEntry__ +#define __java_util_HashMap$HashEntry__ + +#pragma interface + +#include + +class java::util::HashMap$HashEntry : public ::java::util::AbstractMap$SimpleEntry +{ + +public: // actually package-private + HashMap$HashEntry(::java::lang::Object *, ::java::lang::Object *); + virtual void access(); + virtual ::java::lang::Object * cleanup(); + ::java::util::HashMap$HashEntry * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) next; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashMap$HashEntry__ diff --git a/libjava/java/util/HashMap$HashIterator.h b/libjava/java/util/HashMap$HashIterator.h new file mode 100644 index 00000000000..b56fb350c47 --- /dev/null +++ b/libjava/java/util/HashMap$HashIterator.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashMap$HashIterator__ +#define __java_util_HashMap$HashIterator__ + +#pragma interface + +#include + +class java::util::HashMap$HashIterator : public ::java::lang::Object +{ + +public: // actually package-private + HashMap$HashIterator(::java::util::HashMap *, jint); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jint knownMod; + jint count; + jint idx; + ::java::util::HashMap$HashEntry * last; + ::java::util::HashMap$HashEntry * next__; +public: // actually package-private + ::java::util::HashMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashMap$HashIterator__ diff --git a/libjava/java/util/HashMap.h b/libjava/java/util/HashMap.h new file mode 100644 index 00000000000..5b8c77f105e --- /dev/null +++ b/libjava/java/util/HashMap.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashMap__ +#define __java_util_HashMap__ + +#pragma interface + +#include +#include + + +class java::util::HashMap : public ::java::util::AbstractMap +{ + +public: + HashMap(); + HashMap(::java::util::Map *); + HashMap(jint); + HashMap(jint, jfloat); + virtual jint size(); + virtual jboolean isEmpty(); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual jboolean containsKey(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual void clear(); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Set * keySet(); + virtual ::java::util::Collection * values(); + virtual ::java::util::Set * entrySet(); +public: // actually package-private + virtual void addEntry(::java::lang::Object *, ::java::lang::Object *, jint, jboolean); + virtual ::java::util::HashMap$HashEntry * getEntry(::java::lang::Object *); + virtual jint hash(::java::lang::Object *); + virtual ::java::util::Iterator * iterator(jint); + virtual void putAllInternal(::java::util::Map *); +private: + void rehash(); + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static const jint DEFAULT_CAPACITY = 11; + static jfloat DEFAULT_LOAD_FACTOR; +private: + static const jlong serialVersionUID = 362498820763181265LL; + jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) threshold; +public: // actually package-private + jfloat loadFactor; + JArray< ::java::util::HashMap$HashEntry * > * buckets; + jint modCount; + jint size__; +private: + ::java::util::Set * entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashMap__ diff --git a/libjava/java/util/HashSet.h b/libjava/java/util/HashSet.h new file mode 100644 index 00000000000..0d96ab91c01 --- /dev/null +++ b/libjava/java/util/HashSet.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_HashSet__ +#define __java_util_HashSet__ + +#pragma interface + +#include + +class java::util::HashSet : public ::java::util::AbstractSet +{ + +public: + HashSet(); + HashSet(jint); + HashSet(jint, jfloat); + HashSet(::java::util::Collection *); + virtual jboolean add(::java::lang::Object *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean remove(::java::lang::Object *); + virtual jint size(); +public: // actually package-private + virtual ::java::util::HashMap * init(jint, jfloat); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -5024744406713321676LL; + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_HashSet__ diff --git a/libjava/java/util/Hashtable$1.h b/libjava/java/util/Hashtable$1.h new file mode 100644 index 00000000000..3400f04391e --- /dev/null +++ b/libjava/java/util/Hashtable$1.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$1__ +#define __java_util_Hashtable$1__ + +#pragma interface + +#include + +class java::util::Hashtable$1 : public ::java::util::AbstractSet +{ + +public: // actually package-private + Hashtable$1(::java::util::Hashtable *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$1__ diff --git a/libjava/java/util/Hashtable$2.h b/libjava/java/util/Hashtable$2.h new file mode 100644 index 00000000000..7f099d570a5 --- /dev/null +++ b/libjava/java/util/Hashtable$2.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$2__ +#define __java_util_Hashtable$2__ + +#pragma interface + +#include + +class java::util::Hashtable$2 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + Hashtable$2(::java::util::Hashtable *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); +public: // actually package-private + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$2__ diff --git a/libjava/java/util/Hashtable$3.h b/libjava/java/util/Hashtable$3.h new file mode 100644 index 00000000000..bb8bd28c1f1 --- /dev/null +++ b/libjava/java/util/Hashtable$3.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$3__ +#define __java_util_Hashtable$3__ + +#pragma interface + +#include + +class java::util::Hashtable$3 : public ::java::util::AbstractSet +{ + +public: // actually package-private + Hashtable$3(::java::util::Hashtable *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$3__ diff --git a/libjava/java/util/Hashtable$EntryEnumerator.h b/libjava/java/util/Hashtable$EntryEnumerator.h new file mode 100644 index 00000000000..1480d182e3b --- /dev/null +++ b/libjava/java/util/Hashtable$EntryEnumerator.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$EntryEnumerator__ +#define __java_util_Hashtable$EntryEnumerator__ + +#pragma interface + +#include + +class java::util::Hashtable$EntryEnumerator : public ::java::lang::Object +{ + +public: // actually package-private + Hashtable$EntryEnumerator(::java::util::Hashtable *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::util::Map$Entry * target$nextElement(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jint idx; + ::java::util::Hashtable$HashEntry * next; + ::java::util::Hashtable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$EntryEnumerator__ diff --git a/libjava/java/util/Hashtable$EntryIterator.h b/libjava/java/util/Hashtable$EntryIterator.h new file mode 100644 index 00000000000..d70d486c70a --- /dev/null +++ b/libjava/java/util/Hashtable$EntryIterator.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$EntryIterator__ +#define __java_util_Hashtable$EntryIterator__ + +#pragma interface + +#include + +class java::util::Hashtable$EntryIterator : public ::java::lang::Object +{ + +public: // actually package-private + Hashtable$EntryIterator(::java::util::Hashtable *); +public: + virtual jboolean hasNext(); + virtual ::java::util::Map$Entry * target$next(); + virtual void remove(); + virtual ::java::lang::Object * next(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod; + jint count; + jint idx; + ::java::util::Hashtable$HashEntry * last; + ::java::util::Hashtable$HashEntry * next__; + ::java::util::Hashtable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$EntryIterator__ diff --git a/libjava/java/util/Hashtable$HashEntry.h b/libjava/java/util/Hashtable$HashEntry.h new file mode 100644 index 00000000000..c0a1c581b1e --- /dev/null +++ b/libjava/java/util/Hashtable$HashEntry.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$HashEntry__ +#define __java_util_Hashtable$HashEntry__ + +#pragma interface + +#include + +class java::util::Hashtable$HashEntry : public ::java::util::AbstractMap$SimpleEntry +{ + +public: // actually package-private + Hashtable$HashEntry(::java::lang::Object *, ::java::lang::Object *); +public: + ::java::lang::Object * setValue(::java::lang::Object *); +public: // actually package-private + ::java::util::Hashtable$HashEntry * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) next; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$HashEntry__ diff --git a/libjava/java/util/Hashtable$KeyEnumerator.h b/libjava/java/util/Hashtable$KeyEnumerator.h new file mode 100644 index 00000000000..db4765da729 --- /dev/null +++ b/libjava/java/util/Hashtable$KeyEnumerator.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$KeyEnumerator__ +#define __java_util_Hashtable$KeyEnumerator__ + +#pragma interface + +#include + +class java::util::Hashtable$KeyEnumerator : public ::java::lang::Object +{ + +public: // actually package-private + Hashtable$KeyEnumerator(::java::util::Hashtable *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +private: + ::java::util::Hashtable$EntryEnumerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enumerator; +public: // actually package-private + ::java::util::Hashtable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$KeyEnumerator__ diff --git a/libjava/java/util/Hashtable$KeyIterator.h b/libjava/java/util/Hashtable$KeyIterator.h new file mode 100644 index 00000000000..faf1d932276 --- /dev/null +++ b/libjava/java/util/Hashtable$KeyIterator.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$KeyIterator__ +#define __java_util_Hashtable$KeyIterator__ + +#pragma interface + +#include + +class java::util::Hashtable$KeyIterator : public ::java::lang::Object +{ + +public: // actually package-private + Hashtable$KeyIterator(::java::util::Hashtable *); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +private: + ::java::util::Hashtable$EntryIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iterator; +public: // actually package-private + ::java::util::Hashtable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$KeyIterator__ diff --git a/libjava/java/util/Hashtable$ValueEnumerator.h b/libjava/java/util/Hashtable$ValueEnumerator.h new file mode 100644 index 00000000000..4dce71ab72b --- /dev/null +++ b/libjava/java/util/Hashtable$ValueEnumerator.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$ValueEnumerator__ +#define __java_util_Hashtable$ValueEnumerator__ + +#pragma interface + +#include + +class java::util::Hashtable$ValueEnumerator : public ::java::lang::Object +{ + +public: // actually package-private + Hashtable$ValueEnumerator(::java::util::Hashtable *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +private: + ::java::util::Hashtable$EntryEnumerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enumerator; +public: // actually package-private + ::java::util::Hashtable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$ValueEnumerator__ diff --git a/libjava/java/util/Hashtable$ValueIterator.h b/libjava/java/util/Hashtable$ValueIterator.h new file mode 100644 index 00000000000..d25279837e7 --- /dev/null +++ b/libjava/java/util/Hashtable$ValueIterator.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable$ValueIterator__ +#define __java_util_Hashtable$ValueIterator__ + +#pragma interface + +#include + +class java::util::Hashtable$ValueIterator : public ::java::lang::Object +{ + +public: // actually package-private + Hashtable$ValueIterator(::java::util::Hashtable *); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +private: + ::java::util::Hashtable$EntryIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iterator; +public: // actually package-private + ::java::util::Hashtable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable$ValueIterator__ diff --git a/libjava/java/util/Hashtable.h b/libjava/java/util/Hashtable.h new file mode 100644 index 00000000000..bc33cb14985 --- /dev/null +++ b/libjava/java/util/Hashtable.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Hashtable__ +#define __java_util_Hashtable__ + +#pragma interface + +#include +#include + + +class java::util::Hashtable : public ::java::util::Dictionary +{ + +public: + Hashtable(); + Hashtable(::java::util::Map *); + Hashtable(jint); + Hashtable(jint, jfloat); + virtual jint size(); + virtual jboolean isEmpty(); + virtual ::java::util::Enumeration * keys(); + virtual ::java::util::Enumeration * elements(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual jboolean containsKey(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Set * keySet(); + virtual ::java::util::Collection * values(); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + jint hash(::java::lang::Object *); +public: // actually package-private + virtual ::java::util::Hashtable$HashEntry * getEntry(::java::lang::Object *); + virtual void putAllInternal(::java::util::Map *); +public: // actually protected + virtual void rehash(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jint DEFAULT_CAPACITY = 11; + static jfloat DEFAULT_LOAD_FACTOR; + static const jlong serialVersionUID = 1421746759512286392LL; + jint __attribute__((aligned(__alignof__( ::java::util::Dictionary)))) threshold; + jfloat loadFactor; +public: // actually package-private + JArray< ::java::util::Hashtable$HashEntry * > * buckets; + jint modCount; + jint size__; +private: + ::java::util::Set * keys__; + ::java::util::Collection * values__; + ::java::util::Set * entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Hashtable__ diff --git a/libjava/java/util/IdentityHashMap$1.h b/libjava/java/util/IdentityHashMap$1.h new file mode 100644 index 00000000000..6db083c47bc --- /dev/null +++ b/libjava/java/util/IdentityHashMap$1.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IdentityHashMap$1__ +#define __java_util_IdentityHashMap$1__ + +#pragma interface + +#include + +class java::util::IdentityHashMap$1 : public ::java::util::AbstractSet +{ + +public: // actually package-private + IdentityHashMap$1(::java::util::IdentityHashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jint hashCode(); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IdentityHashMap$1__ diff --git a/libjava/java/util/IdentityHashMap$2.h b/libjava/java/util/IdentityHashMap$2.h new file mode 100644 index 00000000000..b8d6ab663c2 --- /dev/null +++ b/libjava/java/util/IdentityHashMap$2.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IdentityHashMap$2__ +#define __java_util_IdentityHashMap$2__ + +#pragma interface + +#include + +class java::util::IdentityHashMap$2 : public ::java::util::AbstractSet +{ + +public: // actually package-private + IdentityHashMap$2(::java::util::IdentityHashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jint hashCode(); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IdentityHashMap$2__ diff --git a/libjava/java/util/IdentityHashMap$3.h b/libjava/java/util/IdentityHashMap$3.h new file mode 100644 index 00000000000..d2a39754a8f --- /dev/null +++ b/libjava/java/util/IdentityHashMap$3.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IdentityHashMap$3__ +#define __java_util_IdentityHashMap$3__ + +#pragma interface + +#include + +class java::util::IdentityHashMap$3 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + IdentityHashMap$3(::java::util::IdentityHashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IdentityHashMap$3__ diff --git a/libjava/java/util/IdentityHashMap$IdentityEntry.h b/libjava/java/util/IdentityHashMap$IdentityEntry.h new file mode 100644 index 00000000000..be9fa72daaf --- /dev/null +++ b/libjava/java/util/IdentityHashMap$IdentityEntry.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IdentityHashMap$IdentityEntry__ +#define __java_util_IdentityHashMap$IdentityEntry__ + +#pragma interface + +#include + +class java::util::IdentityHashMap$IdentityEntry : public ::java::lang::Object +{ + +public: // actually package-private + IdentityHashMap$IdentityEntry(::java::util::IdentityHashMap *, jint); +public: + jboolean equals(::java::lang::Object *); + ::java::lang::Object * getKey(); + ::java::lang::Object * getValue(); + jint hashCode(); + ::java::lang::Object * setValue(::java::lang::Object *); + ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) loc; + jint knownMod; + ::java::util::IdentityHashMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IdentityHashMap$IdentityEntry__ diff --git a/libjava/java/util/IdentityHashMap$IdentityIterator.h b/libjava/java/util/IdentityHashMap$IdentityIterator.h new file mode 100644 index 00000000000..d2ab43e4819 --- /dev/null +++ b/libjava/java/util/IdentityHashMap$IdentityIterator.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IdentityHashMap$IdentityIterator__ +#define __java_util_IdentityHashMap$IdentityIterator__ + +#pragma interface + +#include + +class java::util::IdentityHashMap$IdentityIterator : public ::java::lang::Object +{ + +public: // actually package-private + IdentityHashMap$IdentityIterator(::java::util::IdentityHashMap *, jint); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jint knownMod; + jint count; + jint loc; + ::java::util::IdentityHashMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IdentityHashMap$IdentityIterator__ diff --git a/libjava/java/util/IdentityHashMap.h b/libjava/java/util/IdentityHashMap.h new file mode 100644 index 00000000000..9e77a4b291d --- /dev/null +++ b/libjava/java/util/IdentityHashMap.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IdentityHashMap__ +#define __java_util_IdentityHashMap__ + +#pragma interface + +#include +#include + + +class java::util::IdentityHashMap : public ::java::util::AbstractMap +{ + +public: + IdentityHashMap(); + IdentityHashMap(jint); + IdentityHashMap(::java::util::Map *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); +public: // actually package-private + virtual void removeAtIndex(jint); +public: + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::util::Collection * values(); +public: // actually package-private + virtual ::java::lang::Object * xform(::java::lang::Object *); + virtual ::java::lang::Object * unxform(::java::lang::Object *); + virtual jint hash(::java::lang::Object *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jint DEFAULT_CAPACITY = 21; +public: // actually package-private + static ::java::lang::Object * nullslot; +private: + static const jlong serialVersionUID = 8188218128353913216LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) size__; + JArray< ::java::lang::Object * > * table; + jint modCount; +private: + ::java::util::Set * entries; + jint threshold; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IdentityHashMap__ diff --git a/libjava/java/util/IllegalFormatCodePointException.h b/libjava/java/util/IllegalFormatCodePointException.h new file mode 100644 index 00000000000..30801b6d2b8 --- /dev/null +++ b/libjava/java/util/IllegalFormatCodePointException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IllegalFormatCodePointException__ +#define __java_util_IllegalFormatCodePointException__ + +#pragma interface + +#include + +class java::util::IllegalFormatCodePointException : public ::java::util::IllegalFormatException +{ + +public: + IllegalFormatCodePointException(jint); + virtual jint getCodePoint(); +private: + static const jlong serialVersionUID = 19080630LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) c; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IllegalFormatCodePointException__ diff --git a/libjava/java/util/IllegalFormatConversionException.h b/libjava/java/util/IllegalFormatConversionException.h new file mode 100644 index 00000000000..b6b7e8124e3 --- /dev/null +++ b/libjava/java/util/IllegalFormatConversionException.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IllegalFormatConversionException__ +#define __java_util_IllegalFormatConversionException__ + +#pragma interface + +#include + +class java::util::IllegalFormatConversionException : public ::java::util::IllegalFormatException +{ + +public: + IllegalFormatConversionException(jchar, ::java::lang::Class *); + virtual jchar getConversion(); + virtual ::java::lang::Class * getArgumentClass(); +private: + static const jlong serialVersionUID = 17000126LL; +public: // actually package-private + jchar __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) c; + ::java::lang::Class * arg; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IllegalFormatConversionException__ diff --git a/libjava/java/util/IllegalFormatException.h b/libjava/java/util/IllegalFormatException.h new file mode 100644 index 00000000000..bf5f4088fdd --- /dev/null +++ b/libjava/java/util/IllegalFormatException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IllegalFormatException__ +#define __java_util_IllegalFormatException__ + +#pragma interface + +#include + +class java::util::IllegalFormatException : public ::java::lang::IllegalArgumentException +{ + +public: // actually package-private + IllegalFormatException(); + IllegalFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = 18830826LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IllegalFormatException__ diff --git a/libjava/java/util/IllegalFormatFlagsException.h b/libjava/java/util/IllegalFormatFlagsException.h new file mode 100644 index 00000000000..c5c13c01b9f --- /dev/null +++ b/libjava/java/util/IllegalFormatFlagsException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IllegalFormatFlagsException__ +#define __java_util_IllegalFormatFlagsException__ + +#pragma interface + +#include + +class java::util::IllegalFormatFlagsException : public ::java::util::IllegalFormatException +{ + +public: + IllegalFormatFlagsException(::java::lang::String *); + virtual ::java::lang::String * getFlags(); +private: + static const jlong serialVersionUID = 790824LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IllegalFormatFlagsException__ diff --git a/libjava/java/util/IllegalFormatPrecisionException.h b/libjava/java/util/IllegalFormatPrecisionException.h new file mode 100644 index 00000000000..a4ca0ec23dc --- /dev/null +++ b/libjava/java/util/IllegalFormatPrecisionException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IllegalFormatPrecisionException__ +#define __java_util_IllegalFormatPrecisionException__ + +#pragma interface + +#include + +class java::util::IllegalFormatPrecisionException : public ::java::util::IllegalFormatException +{ + +public: + IllegalFormatPrecisionException(jint); + virtual jint getPrecision(); +private: + static const jlong serialVersionUID = 18711008LL; + jint __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) p; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IllegalFormatPrecisionException__ diff --git a/libjava/java/util/IllegalFormatWidthException.h b/libjava/java/util/IllegalFormatWidthException.h new file mode 100644 index 00000000000..e278642db68 --- /dev/null +++ b/libjava/java/util/IllegalFormatWidthException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_IllegalFormatWidthException__ +#define __java_util_IllegalFormatWidthException__ + +#pragma interface + +#include + +class java::util::IllegalFormatWidthException : public ::java::util::IllegalFormatException +{ + +public: + IllegalFormatWidthException(jint); + virtual jint getWidth(); +private: + static const jlong serialVersionUID = 16660902LL; + jint __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) w; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_IllegalFormatWidthException__ diff --git a/libjava/java/util/InputMismatchException.h b/libjava/java/util/InputMismatchException.h new file mode 100644 index 00000000000..d1d7216bfb7 --- /dev/null +++ b/libjava/java/util/InputMismatchException.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_InputMismatchException__ +#define __java_util_InputMismatchException__ + +#pragma interface + +#include + +class java::util::InputMismatchException : public ::java::util::NoSuchElementException +{ + +public: + InputMismatchException(); + InputMismatchException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_InputMismatchException__ diff --git a/libjava/java/util/InvalidPropertiesFormatException.h b/libjava/java/util/InvalidPropertiesFormatException.h new file mode 100644 index 00000000000..0380e88d6b1 --- /dev/null +++ b/libjava/java/util/InvalidPropertiesFormatException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_InvalidPropertiesFormatException__ +#define __java_util_InvalidPropertiesFormatException__ + +#pragma interface + +#include + +class java::util::InvalidPropertiesFormatException : public ::java::io::IOException +{ + +public: + InvalidPropertiesFormatException(::java::lang::String *); + InvalidPropertiesFormatException(::java::lang::Throwable *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 7763056076009360219LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_InvalidPropertiesFormatException__ diff --git a/libjava/java/util/Iterator.h b/libjava/java/util/Iterator.h new file mode 100644 index 00000000000..27343a5b8a7 --- /dev/null +++ b/libjava/java/util/Iterator.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Iterator__ +#define __java_util_Iterator__ + +#pragma interface + +#include + +class java::util::Iterator : public ::java::lang::Object +{ + +public: + virtual jboolean hasNext() = 0; + virtual ::java::lang::Object * next() = 0; + virtual void remove() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Iterator__ diff --git a/libjava/java/util/LinkedHashMap$1.h b/libjava/java/util/LinkedHashMap$1.h new file mode 100644 index 00000000000..ce2d6255b2d --- /dev/null +++ b/libjava/java/util/LinkedHashMap$1.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedHashMap$1__ +#define __java_util_LinkedHashMap$1__ + +#pragma interface + +#include + +class java::util::LinkedHashMap$1 : public ::java::lang::Object +{ + +public: // actually package-private + LinkedHashMap$1(::java::util::LinkedHashMap *, jint); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +public: // actually package-private + ::java::util::LinkedHashMap$LinkedHashEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; + ::java::util::LinkedHashMap$LinkedHashEntry * last; + jint knownMod; + ::java::util::LinkedHashMap * this$0; +private: + jint val$type; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedHashMap$1__ diff --git a/libjava/java/util/LinkedHashMap$LinkedHashEntry.h b/libjava/java/util/LinkedHashMap$LinkedHashEntry.h new file mode 100644 index 00000000000..8db632b32e9 --- /dev/null +++ b/libjava/java/util/LinkedHashMap$LinkedHashEntry.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedHashMap$LinkedHashEntry__ +#define __java_util_LinkedHashMap$LinkedHashEntry__ + +#pragma interface + +#include + +class java::util::LinkedHashMap$LinkedHashEntry : public ::java::util::HashMap$HashEntry +{ + +public: // actually package-private + LinkedHashMap$LinkedHashEntry(::java::util::LinkedHashMap *, ::java::lang::Object *, ::java::lang::Object *); + virtual void access(); + virtual ::java::lang::Object * cleanup(); + ::java::util::LinkedHashMap$LinkedHashEntry * __attribute__((aligned(__alignof__( ::java::util::HashMap$HashEntry)))) pred; + ::java::util::LinkedHashMap$LinkedHashEntry * succ; + ::java::util::LinkedHashMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedHashMap$LinkedHashEntry__ diff --git a/libjava/java/util/LinkedHashMap.h b/libjava/java/util/LinkedHashMap.h new file mode 100644 index 00000000000..d57308875ed --- /dev/null +++ b/libjava/java/util/LinkedHashMap.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedHashMap__ +#define __java_util_LinkedHashMap__ + +#pragma interface + +#include + +class java::util::LinkedHashMap : public ::java::util::HashMap +{ + +public: + LinkedHashMap(); + LinkedHashMap(::java::util::Map *); + LinkedHashMap(jint); + LinkedHashMap(jint, jfloat); + LinkedHashMap(jint, jfloat, jboolean); + virtual void clear(); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); +public: // actually protected + virtual jboolean removeEldestEntry(::java::util::Map$Entry *); +public: // actually package-private + virtual void addEntry(::java::lang::Object *, ::java::lang::Object *, jint, jboolean); + virtual void putAllInternal(::java::util::Map *); + virtual ::java::util::Iterator * iterator(jint); +private: + static const jlong serialVersionUID = 3801124242820219131LL; +public: // actually package-private + ::java::util::LinkedHashMap$LinkedHashEntry * __attribute__((aligned(__alignof__( ::java::util::HashMap)))) root; + jboolean accessOrder; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedHashMap__ diff --git a/libjava/java/util/LinkedHashSet.h b/libjava/java/util/LinkedHashSet.h new file mode 100644 index 00000000000..d63aec8e699 --- /dev/null +++ b/libjava/java/util/LinkedHashSet.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedHashSet__ +#define __java_util_LinkedHashSet__ + +#pragma interface + +#include + +class java::util::LinkedHashSet : public ::java::util::HashSet +{ + +public: + LinkedHashSet(); + LinkedHashSet(jint); + LinkedHashSet(jint, jfloat); + LinkedHashSet(::java::util::Collection *); +public: // actually package-private + virtual ::java::util::HashMap * init(jint, jfloat); +private: + static const jlong serialVersionUID = -2851667679971038690LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedHashSet__ diff --git a/libjava/java/util/LinkedList$Entry.h b/libjava/java/util/LinkedList$Entry.h new file mode 100644 index 00000000000..c44d48c3eaa --- /dev/null +++ b/libjava/java/util/LinkedList$Entry.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedList$Entry__ +#define __java_util_LinkedList$Entry__ + +#pragma interface + +#include + +class java::util::LinkedList$Entry : public ::java::lang::Object +{ + +public: // actually package-private + LinkedList$Entry(::java::lang::Object *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; + ::java::util::LinkedList$Entry * next; + ::java::util::LinkedList$Entry * previous; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedList$Entry__ diff --git a/libjava/java/util/LinkedList$LinkedListItr.h b/libjava/java/util/LinkedList$LinkedListItr.h new file mode 100644 index 00000000000..2756e206eb6 --- /dev/null +++ b/libjava/java/util/LinkedList$LinkedListItr.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedList$LinkedListItr__ +#define __java_util_LinkedList$LinkedListItr__ + +#pragma interface + +#include + +class java::util::LinkedList$LinkedListItr : public ::java::lang::Object +{ + +public: // actually package-private + LinkedList$LinkedListItr(::java::util::LinkedList *, jint); +private: + void checkMod(); +public: + jint nextIndex(); + jint previousIndex(); + jboolean hasNext(); + jboolean hasPrevious(); + ::java::lang::Object * next(); + ::java::lang::Object * previous(); + void remove(); + void add(::java::lang::Object *); + void set(::java::lang::Object *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod; + ::java::util::LinkedList$Entry * next__; + ::java::util::LinkedList$Entry * previous__; + ::java::util::LinkedList$Entry * lastReturned; + jint position; +public: // actually package-private + ::java::util::LinkedList * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedList$LinkedListItr__ diff --git a/libjava/java/util/LinkedList.h b/libjava/java/util/LinkedList.h new file mode 100644 index 00000000000..aee4f09d2d3 --- /dev/null +++ b/libjava/java/util/LinkedList.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_LinkedList__ +#define __java_util_LinkedList__ + +#pragma interface + +#include +#include + + +class java::util::LinkedList : public ::java::util::AbstractSequentialList +{ + +public: // actually package-private + virtual ::java::util::LinkedList$Entry * getEntry(jint); + virtual void removeEntry(::java::util::LinkedList$Entry *); +private: + void checkBoundsInclusive(jint); + void checkBoundsExclusive(jint); +public: + LinkedList(); + LinkedList(::java::util::Collection *); + virtual ::java::lang::Object * getFirst(); + virtual ::java::lang::Object * getLast(); + virtual ::java::lang::Object * removeFirst(); + virtual ::java::lang::Object * removeLast(); + virtual void addFirst(::java::lang::Object *); + virtual void addLast(::java::lang::Object *); +private: + void addLastEntry(::java::util::LinkedList$Entry *); +public: + virtual jboolean contains(::java::lang::Object *); + virtual jint size(); + virtual jboolean add(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual void clear(); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual void add(jint, ::java::lang::Object *); + virtual ::java::lang::Object * remove(jint); + virtual jint indexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *); + virtual ::java::util::ListIterator * listIterator(jint); + virtual ::java::lang::Object * clone(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * element(); + virtual ::java::lang::Object * peek(); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * remove(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 876323262645176354LL; +public: // actually package-private + ::java::util::LinkedList$Entry * __attribute__((aligned(__alignof__( ::java::util::AbstractSequentialList)))) first; + ::java::util::LinkedList$Entry * last; + jint size__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_LinkedList__ diff --git a/libjava/java/util/List.h b/libjava/java/util/List.h new file mode 100644 index 00000000000..89e637b091d --- /dev/null +++ b/libjava/java/util/List.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_List__ +#define __java_util_List__ + +#pragma interface + +#include +#include + + +class java::util::List : public ::java::lang::Object +{ + +public: + virtual void add(jint, ::java::lang::Object *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(jint, ::java::util::Collection *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::Object * get(jint) = 0; + virtual jint hashCode() = 0; + virtual jint indexOf(::java::lang::Object *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jint lastIndexOf(::java::lang::Object *) = 0; + virtual ::java::util::ListIterator * listIterator() = 0; + virtual ::java::util::ListIterator * listIterator(jint) = 0; + virtual ::java::lang::Object * remove(jint) = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual ::java::lang::Object * set(jint, ::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::List * subList(jint, jint) = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_List__ diff --git a/libjava/java/util/ListIterator.h b/libjava/java/util/ListIterator.h new file mode 100644 index 00000000000..947ad3ccf7b --- /dev/null +++ b/libjava/java/util/ListIterator.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ListIterator__ +#define __java_util_ListIterator__ + +#pragma interface + +#include + +class java::util::ListIterator : public ::java::lang::Object +{ + +public: + virtual jboolean hasNext() = 0; + virtual jboolean hasPrevious() = 0; + virtual ::java::lang::Object * next() = 0; + virtual ::java::lang::Object * previous() = 0; + virtual jint nextIndex() = 0; + virtual jint previousIndex() = 0; + virtual void add(::java::lang::Object *) = 0; + virtual void remove() = 0; + virtual void set(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_ListIterator__ diff --git a/libjava/java/util/ListResourceBundle.h b/libjava/java/util/ListResourceBundle.h new file mode 100644 index 00000000000..216d14b4d84 --- /dev/null +++ b/libjava/java/util/ListResourceBundle.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ListResourceBundle__ +#define __java_util_ListResourceBundle__ + +#pragma interface + +#include +#include + + +class java::util::ListResourceBundle : public ::java::util::ResourceBundle +{ + +public: + ListResourceBundle(); + virtual ::java::lang::Object * handleGetObject(::java::lang::String *); + virtual ::java::util::Enumeration * getKeys(); +public: // actually protected + virtual JArray< JArray< ::java::lang::Object * > * > * getContents() = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ListResourceBundle__ diff --git a/libjava/java/util/Locale.h b/libjava/java/util/Locale.h new file mode 100644 index 00000000000..6868aa1712f --- /dev/null +++ b/libjava/java/util/Locale.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Locale__ +#define __java_util_Locale__ + +#pragma interface + +#include +#include + + +class java::util::Locale : public ::java::lang::Object +{ + + static ::java::util::Locale * getLocale(::java::lang::String *); + static ::java::util::Locale * getLocale(::java::lang::String *, ::java::lang::String *); + static ::java::util::Locale * getLocale(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ::java::lang::String * convertLanguage(::java::lang::String *); +public: + Locale(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + Locale(::java::lang::String *, ::java::lang::String *); + Locale(::java::lang::String *); + static ::java::util::Locale * getDefault(); + static void setDefault(::java::util::Locale *); + static JArray< ::java::util::Locale * > * getAvailableLocales(); + static JArray< ::java::lang::String * > * getISOCountries(); + static JArray< ::java::lang::String * > * getISOLanguages(); + ::java::lang::String * getLanguage(); + ::java::lang::String * getCountry(); + ::java::lang::String * getVariant(); + ::java::lang::String * toString(); + ::java::lang::String * getISO3Language(); + ::java::lang::String * getISO3Country(); + ::java::lang::String * getDisplayLanguage(); + ::java::lang::String * getDisplayLanguage(::java::util::Locale *); + ::java::lang::String * getDisplayCountry(); + ::java::lang::String * getDisplayCountry(::java::util::Locale *); + ::java::lang::String * getDisplayVariant(); + ::java::lang::String * getDisplayVariant(::java::util::Locale *); + ::java::lang::String * getDisplayName(); + ::java::lang::String * getDisplayName(::java::util::Locale *); + ::java::lang::Object * clone(); + jint hashCode(); + jboolean equals(::java::lang::Object *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + static ::java::util::Locale * ENGLISH; + static ::java::util::Locale * FRENCH; + static ::java::util::Locale * GERMAN; + static ::java::util::Locale * ITALIAN; + static ::java::util::Locale * JAPANESE; + static ::java::util::Locale * KOREAN; + static ::java::util::Locale * CHINESE; + static ::java::util::Locale * SIMPLIFIED_CHINESE; + static ::java::util::Locale * TRADITIONAL_CHINESE; + static ::java::util::Locale * FRANCE; + static ::java::util::Locale * GERMANY; + static ::java::util::Locale * ITALY; + static ::java::util::Locale * JAPAN; + static ::java::util::Locale * KOREA; + static ::java::util::Locale * CHINA; + static ::java::util::Locale * PRC; + static ::java::util::Locale * TAIWAN; + static ::java::util::Locale * UK; + static ::java::util::Locale * US; + static ::java::util::Locale * CANADA; + static ::java::util::Locale * CANADA_FRENCH; +private: + static const jlong serialVersionUID = 9149081749638150636LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) language; + ::java::lang::String * country; + ::java::lang::String * variant; + jint hashcode; + static ::java::util::Locale * defaultLocale; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Locale__ diff --git a/libjava/java/util/Map$Entry.h b/libjava/java/util/Map$Entry.h new file mode 100644 index 00000000000..694a37e7ab9 --- /dev/null +++ b/libjava/java/util/Map$Entry.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Map$Entry__ +#define __java_util_Map$Entry__ + +#pragma interface + +#include + +class java::util::Map$Entry : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getKey() = 0; + virtual ::java::lang::Object * getValue() = 0; + virtual ::java::lang::Object * setValue(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Map$Entry__ diff --git a/libjava/java/util/Map.h b/libjava/java/util/Map.h new file mode 100644 index 00000000000..05cc5e900cc --- /dev/null +++ b/libjava/java/util/Map.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Map__ +#define __java_util_Map__ + +#pragma interface + +#include + +class java::util::Map : public ::java::lang::Object +{ + +public: + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Object *) = 0; + virtual jboolean containsValue(::java::lang::Object *) = 0; + virtual ::java::util::Set * entrySet() = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Set * keySet() = 0; + virtual void putAll(::java::util::Map *) = 0; + virtual ::java::lang::Object * remove(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Collection * values() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Map__ diff --git a/libjava/java/util/MissingFormatArgumentException.h b/libjava/java/util/MissingFormatArgumentException.h new file mode 100644 index 00000000000..d0908d2d47a --- /dev/null +++ b/libjava/java/util/MissingFormatArgumentException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_MissingFormatArgumentException__ +#define __java_util_MissingFormatArgumentException__ + +#pragma interface + +#include + +class java::util::MissingFormatArgumentException : public ::java::util::IllegalFormatException +{ + +public: + MissingFormatArgumentException(::java::lang::String *); + virtual ::java::lang::String * getFormatSpecifier(); +private: + static const jlong serialVersionUID = 19190115LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) s; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_MissingFormatArgumentException__ diff --git a/libjava/java/util/MissingFormatWidthException.h b/libjava/java/util/MissingFormatWidthException.h new file mode 100644 index 00000000000..dac93c0c4cc --- /dev/null +++ b/libjava/java/util/MissingFormatWidthException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_MissingFormatWidthException__ +#define __java_util_MissingFormatWidthException__ + +#pragma interface + +#include + +class java::util::MissingFormatWidthException : public ::java::util::IllegalFormatException +{ + +public: + MissingFormatWidthException(::java::lang::String *); + virtual ::java::lang::String * getFormatSpecifier(); +private: + static const jlong serialVersionUID = 15560123LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) s; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_MissingFormatWidthException__ diff --git a/libjava/java/util/MissingResourceException.h b/libjava/java/util/MissingResourceException.h new file mode 100644 index 00000000000..0523e031ab4 --- /dev/null +++ b/libjava/java/util/MissingResourceException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_MissingResourceException__ +#define __java_util_MissingResourceException__ + +#pragma interface + +#include + +class java::util::MissingResourceException : public ::java::lang::RuntimeException +{ + +public: + MissingResourceException(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::String * getKey(); +private: + static const jlong serialVersionUID = -4876345176062000401LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) className; + ::java::lang::String * key; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_MissingResourceException__ diff --git a/libjava/java/util/NavigableMap.h b/libjava/java/util/NavigableMap.h new file mode 100644 index 00000000000..9e483483484 --- /dev/null +++ b/libjava/java/util/NavigableMap.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_NavigableMap__ +#define __java_util_NavigableMap__ + +#pragma interface + +#include + +class java::util::NavigableMap : public ::java::lang::Object +{ + +public: + virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * lowerKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * floorKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * ceilingKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * higherKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * firstEntry() = 0; + virtual ::java::util::Map$Entry * lastEntry() = 0; + virtual ::java::util::Map$Entry * pollFirstEntry() = 0; + virtual ::java::util::Map$Entry * pollLastEntry() = 0; + virtual ::java::util::NavigableMap * descendingMap() = 0; + virtual ::java::util::NavigableSet * navigableKeySet() = 0; + virtual ::java::util::NavigableSet * descendingKeySet() = 0; + virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0; + virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::SortedMap * headMap(::java::lang::Object *) = 0; + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *) = 0; + virtual ::java::util::Comparator * comparator() = 0; + virtual ::java::lang::Object * firstKey() = 0; + virtual ::java::lang::Object * lastKey() = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Object *) = 0; + virtual jboolean containsValue(::java::lang::Object *) = 0; + virtual ::java::util::Set * entrySet() = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Set * keySet() = 0; + virtual void putAll(::java::util::Map *) = 0; + virtual ::java::lang::Object * remove(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Collection * values() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_NavigableMap__ diff --git a/libjava/java/util/NavigableSet.h b/libjava/java/util/NavigableSet.h new file mode 100644 index 00000000000..c7e228ea12f --- /dev/null +++ b/libjava/java/util/NavigableSet.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_NavigableSet__ +#define __java_util_NavigableSet__ + +#pragma interface + +#include +#include + + +class java::util::NavigableSet : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * lower(::java::lang::Object *) = 0; + virtual ::java::lang::Object * floor(::java::lang::Object *) = 0; + virtual ::java::lang::Object * ceiling(::java::lang::Object *) = 0; + virtual ::java::lang::Object * higher(::java::lang::Object *) = 0; + virtual ::java::lang::Object * pollFirst() = 0; + virtual ::java::lang::Object * pollLast() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual ::java::util::NavigableSet * descendingSet() = 0; + virtual ::java::util::Iterator * descendingIterator() = 0; + virtual ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0; + virtual ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::SortedSet * headSet(::java::lang::Object *) = 0; + virtual ::java::util::SortedSet * tailSet(::java::lang::Object *) = 0; + virtual ::java::util::Comparator * comparator() = 0; + virtual ::java::lang::Object * first() = 0; + virtual ::java::lang::Object * last() = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_NavigableSet__ diff --git a/libjava/java/util/NoSuchElementException.h b/libjava/java/util/NoSuchElementException.h new file mode 100644 index 00000000000..43cd646768f --- /dev/null +++ b/libjava/java/util/NoSuchElementException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_NoSuchElementException__ +#define __java_util_NoSuchElementException__ + +#pragma interface + +#include + +class java::util::NoSuchElementException : public ::java::lang::RuntimeException +{ + +public: + NoSuchElementException(); + NoSuchElementException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6769829250639411880LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_NoSuchElementException__ diff --git a/libjava/java/util/Observable.h b/libjava/java/util/Observable.h new file mode 100644 index 00000000000..070e97d2349 --- /dev/null +++ b/libjava/java/util/Observable.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Observable__ +#define __java_util_Observable__ + +#pragma interface + +#include + +class java::util::Observable : public ::java::lang::Object +{ + +public: + Observable(); + virtual void addObserver(::java::util::Observer *); +public: // actually protected + virtual void clearChanged(); +public: + virtual jint countObservers(); + virtual void deleteObserver(::java::util::Observer *); + virtual void deleteObservers(); + virtual jboolean hasChanged(); + virtual void notifyObservers(); + virtual void notifyObservers(::java::lang::Object *); +public: // actually protected + virtual void setChanged(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) changed; + ::java::util::LinkedHashSet * observers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Observable__ diff --git a/libjava/java/util/Observer.h b/libjava/java/util/Observer.h new file mode 100644 index 00000000000..05964feea38 --- /dev/null +++ b/libjava/java/util/Observer.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Observer__ +#define __java_util_Observer__ + +#pragma interface + +#include + +class java::util::Observer : public ::java::lang::Object +{ + +public: + virtual void update(::java::util::Observable *, ::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Observer__ diff --git a/libjava/java/util/PriorityQueue$1.h b/libjava/java/util/PriorityQueue$1.h new file mode 100644 index 00000000000..1977dea91c8 --- /dev/null +++ b/libjava/java/util/PriorityQueue$1.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_PriorityQueue$1__ +#define __java_util_PriorityQueue$1__ + +#pragma interface + +#include + +class java::util::PriorityQueue$1 : public ::java::lang::Object +{ + +public: // actually package-private + PriorityQueue$1(::java::util::PriorityQueue *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + jint count; + ::java::util::PriorityQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_PriorityQueue$1__ diff --git a/libjava/java/util/PriorityQueue.h b/libjava/java/util/PriorityQueue.h new file mode 100644 index 00000000000..7072486a11d --- /dev/null +++ b/libjava/java/util/PriorityQueue.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_PriorityQueue__ +#define __java_util_PriorityQueue__ + +#pragma interface + +#include +#include + + +class java::util::PriorityQueue : public ::java::util::AbstractQueue +{ + +public: + PriorityQueue(); + PriorityQueue(::java::util::Collection *); + PriorityQueue(jint); + PriorityQueue(jint, ::java::util::Comparator *); + PriorityQueue(::java::util::PriorityQueue *); + PriorityQueue(::java::util::SortedSet *); + virtual void clear(); + virtual ::java::util::Comparator * comparator(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * peek(); + virtual ::java::lang::Object * poll(); + virtual jboolean remove(::java::lang::Object *); + virtual jint size(); + virtual jboolean addAll(::java::util::Collection *); +public: // actually package-private + virtual jint findSlot(jint); + virtual void remove(jint); + virtual void bubbleUp(jint); + virtual void resize(); +private: + static const jint DEFAULT_CAPACITY = 11; + static const jlong serialVersionUID = -7720805057305804111LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) used; + JArray< ::java::lang::Object * > * storage; + ::java::util::Comparator * comparator__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_PriorityQueue__ diff --git a/libjava/java/util/Properties.h b/libjava/java/util/Properties.h new file mode 100644 index 00000000000..5075e347c80 --- /dev/null +++ b/libjava/java/util/Properties.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Properties__ +#define __java_util_Properties__ + +#pragma interface + +#include + +class java::util::Properties : public ::java::util::Hashtable +{ + +public: + Properties(); + Properties(::java::util::Properties *); + virtual ::java::lang::Object * setProperty(::java::lang::String *, ::java::lang::String *); + virtual void load(::java::io::InputStream *); + virtual void save(::java::io::OutputStream *, ::java::lang::String *); + virtual void store(::java::io::OutputStream *, ::java::lang::String *); + virtual ::java::lang::String * getProperty(::java::lang::String *); + virtual ::java::lang::String * getProperty(::java::lang::String *, ::java::lang::String *); + virtual ::java::util::Enumeration * propertyNames(); + virtual void list(::java::io::PrintStream *); + virtual void list(::java::io::PrintWriter *); +private: + void formatForOutput(::java::lang::String *, ::java::lang::StringBuilder *, jboolean); +public: + virtual void storeToXML(::java::io::OutputStream *, ::java::lang::String *); + virtual void storeToXML(::java::io::OutputStream *, ::java::lang::String *, ::java::lang::String *); + virtual void loadFromXML(::java::io::InputStream *); +public: // actually protected + ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::util::Hashtable)))) defaults; +private: + static const jlong serialVersionUID = 4112578634029874840LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Properties__ diff --git a/libjava/java/util/PropertyPermission.h b/libjava/java/util/PropertyPermission.h new file mode 100644 index 00000000000..afd55144752 --- /dev/null +++ b/libjava/java/util/PropertyPermission.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_PropertyPermission__ +#define __java_util_PropertyPermission__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } +} + +class java::util::PropertyPermission : public ::java::security::BasicPermission +{ + +public: + PropertyPermission(::java::lang::String *, ::java::lang::String *); +private: + void setActions(::java::lang::String *); + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + jboolean implies(::java::security::Permission *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * getActions(); + ::java::security::PermissionCollection * newPermissionCollection(); +private: + static JArray< ::java::io::ObjectStreamField * > * serialPersistentFields; + static const jlong serialVersionUID = 885438825399942851LL; + static const jint READ = 1; + static const jint WRITE = 2; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::security::BasicPermission)))) actions; +private: + static JArray< ::java::lang::String * > * actionStrings; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_PropertyPermission__ diff --git a/libjava/java/util/PropertyPermissionCollection.h b/libjava/java/util/PropertyPermissionCollection.h new file mode 100644 index 00000000000..0c00a4e0bb9 --- /dev/null +++ b/libjava/java/util/PropertyPermissionCollection.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_PropertyPermissionCollection__ +#define __java_util_PropertyPermissionCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } +} + +class java::util::PropertyPermissionCollection : public ::java::security::PermissionCollection +{ + +public: // actually package-private + PropertyPermissionCollection(); +public: + virtual void add(::java::security::Permission *); + virtual jboolean implies(::java::security::Permission *); + virtual ::java::util::Enumeration * elements(); +private: + static const jlong serialVersionUID = 7015263904581634791LL; + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions; + jboolean all_allowed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_PropertyPermissionCollection__ diff --git a/libjava/java/util/PropertyResourceBundle.h b/libjava/java/util/PropertyResourceBundle.h new file mode 100644 index 00000000000..a0f0726be78 --- /dev/null +++ b/libjava/java/util/PropertyResourceBundle.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_PropertyResourceBundle__ +#define __java_util_PropertyResourceBundle__ + +#pragma interface + +#include + +class java::util::PropertyResourceBundle : public ::java::util::ResourceBundle +{ + +public: + PropertyResourceBundle(::java::io::InputStream *); + virtual ::java::lang::Object * handleGetObject(::java::lang::String *); + virtual ::java::util::Enumeration * getKeys(); +private: + ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::util::ResourceBundle)))) properties; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_PropertyResourceBundle__ diff --git a/libjava/java/util/Queue.h b/libjava/java/util/Queue.h new file mode 100644 index 00000000000..c4e8f05736b --- /dev/null +++ b/libjava/java/util/Queue.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Queue__ +#define __java_util_Queue__ + +#pragma interface + +#include +#include + + +class java::util::Queue : public ::java::lang::Object +{ + +public: + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean offer(::java::lang::Object *) = 0; + virtual ::java::lang::Object * remove() = 0; + virtual ::java::lang::Object * poll() = 0; + virtual ::java::lang::Object * element() = 0; + virtual ::java::lang::Object * peek() = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Queue__ diff --git a/libjava/java/util/Random.h b/libjava/java/util/Random.h new file mode 100644 index 00000000000..93bcf2e6c40 --- /dev/null +++ b/libjava/java/util/Random.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Random__ +#define __java_util_Random__ + +#pragma interface + +#include +#include + + +class java::util::Random : public ::java::lang::Object +{ + +public: + Random(); + Random(jlong); + virtual void setSeed(jlong); +public: // actually protected + virtual jint next(jint); +public: + virtual void nextBytes(JArray< jbyte > *); + virtual jint nextInt(); + virtual jint nextInt(jint); + virtual jlong nextLong(); + virtual jboolean nextBoolean(); + virtual jfloat nextFloat(); + virtual jdouble nextDouble(); + virtual jdouble nextGaussian(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) haveNextNextGaussian; + jdouble nextNextGaussian; + jlong seed; + static const jlong serialVersionUID = 3905348978240129619LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Random__ diff --git a/libjava/java/util/RandomAccess.h b/libjava/java/util/RandomAccess.h new file mode 100644 index 00000000000..e2bfce76120 --- /dev/null +++ b/libjava/java/util/RandomAccess.h @@ -0,0 +1,18 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_RandomAccess__ +#define __java_util_RandomAccess__ + +#pragma interface + +#include + +class java::util::RandomAccess : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_RandomAccess__ diff --git a/libjava/java/util/ResourceBundle$1.h b/libjava/java/util/ResourceBundle$1.h new file mode 100644 index 00000000000..fd5b3f70818 --- /dev/null +++ b/libjava/java/util/ResourceBundle$1.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ResourceBundle$1__ +#define __java_util_ResourceBundle$1__ + +#pragma interface + +#include + +class java::util::ResourceBundle$1 : public ::java::util::LinkedHashMap +{ + +public: // actually package-private + ResourceBundle$1(jint, jfloat, jboolean); +public: + jboolean removeEldestEntry(::java::util::Map$Entry *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_ResourceBundle$1__ diff --git a/libjava/java/util/ResourceBundle$BundleKey.h b/libjava/java/util/ResourceBundle$BundleKey.h new file mode 100644 index 00000000000..62c08b38f3c --- /dev/null +++ b/libjava/java/util/ResourceBundle$BundleKey.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ResourceBundle$BundleKey__ +#define __java_util_ResourceBundle$BundleKey__ + +#pragma interface + +#include + +class java::util::ResourceBundle$BundleKey : public ::java::lang::Object +{ + +public: // actually package-private + ResourceBundle$BundleKey(); + ResourceBundle$BundleKey(::java::util::Locale *, ::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *); + virtual void set(::java::util::Locale *, ::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + ::java::util::Locale * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultLocale; + ::java::lang::String * baseName; + ::java::util::Locale * locale; + ::java::lang::ClassLoader * classLoader; + jint hashcode; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ResourceBundle$BundleKey__ diff --git a/libjava/java/util/ResourceBundle.h b/libjava/java/util/ResourceBundle.h new file mode 100644 index 00000000000..98a87e679fd --- /dev/null +++ b/libjava/java/util/ResourceBundle.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_ResourceBundle__ +#define __java_util_ResourceBundle__ + +#pragma interface + +#include +#include + + +class java::util::ResourceBundle : public ::java::lang::Object +{ + +public: + ResourceBundle(); + virtual ::java::lang::String * getString(::java::lang::String *); + virtual JArray< ::java::lang::String * > * getStringArray(::java::lang::String *); + virtual ::java::lang::Object * getObject(::java::lang::String *); + virtual ::java::util::Locale * getLocale(); +public: // actually protected + virtual void setParent(::java::util::ResourceBundle *); +public: + static ::java::util::ResourceBundle * getBundle(::java::lang::String *); + static ::java::util::ResourceBundle * getBundle(::java::lang::String *, ::java::util::Locale *); + static ::java::util::ResourceBundle * getBundle(::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *); +public: // actually protected + virtual ::java::lang::Object * handleGetObject(::java::lang::String *) = 0; +public: + virtual ::java::util::Enumeration * getKeys() = 0; +private: + static ::java::util::ResourceBundle * tryBundle(::java::lang::String *, ::java::lang::ClassLoader *); + static ::java::util::ResourceBundle * tryBundle(::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *, jboolean); + static const jint CACHE_SIZE = 100; +public: // actually protected + ::java::util::ResourceBundle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent; +private: + ::java::util::Locale * locale; + static ::java::util::Map * bundleCache; + static ::java::util::ResourceBundle$BundleKey * lookupKey; + static ::java::lang::Object * nullEntry; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_ResourceBundle__ diff --git a/libjava/java/util/ResourceBundle.java b/libjava/java/util/ResourceBundle.java deleted file mode 100644 index 19dd3cdf19f..00000000000 --- a/libjava/java/util/ResourceBundle.java +++ /dev/null @@ -1,580 +0,0 @@ -/* ResourceBundle -- aids in loading resource bundles - Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 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. */ - - -package java.util; - -import java.io.IOException; -import java.io.InputStream; - -/** - * A resource bundle contains locale-specific data. If you need localized - * data, you can load a resource bundle that matches the locale with - * getBundle. Now you can get your object by calling - * getObject or getString on that bundle. - * - *

      When a bundle is demanded for a specific locale, the ResourceBundle - * is searched in following order (def. language stands for the - * two letter ISO language code of the default locale (see - * Locale.getDefault()). - * -

      baseName_language code_country code_variant
      -baseName_language code_country code
      -baseName_language code
      -baseName_def. language_def. country_def. variant
      -baseName_def. language_def. country
      -baseName_def. language
      -baseName
      - * - *

      A bundle is backed up by less specific bundles (omitting variant, country - * or language). But it is not backed up by the default language locale. - * - *

      If you provide a bundle for a given locale, say - * Bundle_en_UK_POSIX, you must also provide a bundle for - * all sub locales, ie. Bundle_en_UK, Bundle_en, and - * Bundle. - * - *

      When a bundle is searched, we look first for a class with the given - * name, then for a file with .properties extension in the - * classpath. The name must be a fully qualified classname (with dots as - * path separators). - * - *

      (Note: This implementation always backs up the class with a properties - * file if that is existing, but you shouldn't rely on this, if you want to - * be compatible to the standard JDK.) - * - * @author Jochen Hoenicke - * @author Eric Blake (ebb9@email.byu.edu) - * @see Locale - * @see ListResourceBundle - * @see PropertyResourceBundle - * @since 1.1 - * @status updated to 1.4 - */ -public abstract class ResourceBundle -{ - /** - * The parent bundle. This is consulted when you call getObject and there - * is no such resource in the current bundle. This field may be null. - */ - protected ResourceBundle parent; - - /** - * The locale of this resource bundle. You can read this with - * getLocale and it is automatically set in - * getBundle. - */ - private Locale locale; - - private static native ClassLoader getCallingClassLoader(); - - /** - * The resource bundle cache. - */ - private static Map bundleCache; - - /** - * The last default Locale we saw. If this ever changes then we have to - * reset our caches. - */ - private static Locale lastDefaultLocale; - - /** - * The `empty' locale is created once in order to optimize - * tryBundle(). - */ - private static final Locale emptyLocale = new Locale(""); - - /** - * The constructor. It does nothing special. - */ - public ResourceBundle() - { - } - - /** - * Get a String from this resource bundle. Since most localized Objects - * are Strings, this method provides a convenient way to get them without - * casting. - * - * @param key the name of the resource - * @throws MissingResourceException if the resource can't be found - * @throws NullPointerException if key is null - * @throws ClassCastException if resource is not a string - */ - public final String getString(String key) - { - return (String) getObject(key); - } - - /** - * Get an array of Strings from this resource bundle. This method - * provides a convenient way to get it without casting. - * - * @param key the name of the resource - * @throws MissingResourceException if the resource can't be found - * @throws NullPointerException if key is null - * @throws ClassCastException if resource is not a string - */ - public final String[] getStringArray(String key) - { - return (String[]) getObject(key); - } - - /** - * Get an object from this resource bundle. This will call - * handleGetObject for this resource and all of its parents, - * until it finds a non-null resource. - * - * @param key the name of the resource - * @throws MissingResourceException if the resource can't be found - * @throws NullPointerException if key is null - */ - public final Object getObject(String key) - { - for (ResourceBundle bundle = this; bundle != null; bundle = bundle.parent) - { - Object o = bundle.handleGetObject(key); - if (o != null) - return o; - } - - String className = getClass().getName(); - throw new MissingResourceException("Key '" + key - + "'not found in Bundle: " - + className, className, key); - } - - /** - * Return the actual locale of this bundle. You can use it after calling - * getBundle, to know if the bundle for the desired locale was loaded or - * if the fall back was used. - * - * @return the bundle's locale - */ - public Locale getLocale() - { - return locale; - } - - /** - * Set the parent of this bundle. The parent is consulted when you call - * getObject and there is no such resource in the current bundle. - * - * @param parent the parent of this bundle - */ - protected void setParent(ResourceBundle parent) - { - this.parent = parent; - } - - /** - * Get the appropriate ResourceBundle for the default locale. This is like - * calling getBundle(baseName, Locale.getDefault(), - * getClass().getClassLoader(), except that any security check of - * getClassLoader won't fail. - * - * @param baseName the name of the ResourceBundle - * @return the desired resource bundle - * @throws MissingResourceException if the resource bundle can't be found - * @throws NullPointerException if baseName is null - */ - public static ResourceBundle getBundle(String baseName) - { - ClassLoader cl = getCallingClassLoader(); - if (cl == null) - cl = ClassLoader.getSystemClassLoader(); - return getBundle(baseName, Locale.getDefault(), cl); - } - - /** - * Get the appropriate ResourceBundle for the given locale. This is like - * calling getBundle(baseName, locale, - * getClass().getClassLoader(), except that any security check of - * getClassLoader won't fail. - * - * @param baseName the name of the ResourceBundle - * @param locale A locale - * @return the desired resource bundle - * @throws MissingResourceException if the resource bundle can't be found - * @throws NullPointerException if baseName or locale is null - */ - public static ResourceBundle getBundle(String baseName, Locale locale) - { - ClassLoader cl = getCallingClassLoader(); - if (cl == null) - cl = ClassLoader.getSystemClassLoader(); - return getBundle(baseName, locale, cl); - } - - /** Cache key for the ResourceBundle cache. Resource bundles are keyed - by the combination of bundle name, locale, and class loader. */ - private static class BundleKey - { - String baseName; - Locale locale; - ClassLoader classLoader; - int hashcode; - - BundleKey() {} - - BundleKey(String s, Locale l, ClassLoader cl) - { - set(s, l, cl); - } - - void set(String s, Locale l, ClassLoader cl) - { - baseName = s; - locale = l; - classLoader = cl; - hashcode = baseName.hashCode() ^ locale.hashCode() ^ - classLoader.hashCode(); - } - - public int hashCode() - { - return hashcode; - } - - public boolean equals(Object o) - { - if (! (o instanceof BundleKey)) - return false; - BundleKey key = (BundleKey) o; - return hashcode == key.hashcode && - baseName.equals(key.baseName) && - locale.equals(key.locale) && - classLoader.equals(key.classLoader); - } - } - - /** A cache lookup key. This avoids having to a new one for every - * getBundle() call. */ - private static BundleKey lookupKey = new BundleKey(); - - /** Singleton cache entry to represent previous failed lookups. */ - private static Object nullEntry = new Object(); - - /** - * Get the appropriate ResourceBundle for the given locale. The following - * strategy is used: - * - *

      A sequence of candidate bundle names are generated, and tested in - * this order, where the suffix 1 means the string from the specified - * locale, and the suffix 2 means the string from the default locale:

      - * - *
        - *
      • baseName + "_" + language1 + "_" + country1 + "_" + variant1
      • - *
      • baseName + "_" + language1 + "_" + country1
      • - *
      • baseName + "_" + language1
      • - *
      • baseName + "_" + language2 + "_" + country2 + "_" + variant2
      • - *
      • baseName + "_" + language2 + "_" + country2
      • - *
      • baseName + "_" + language2
      • - *
      • baseName
      • - *
      - * - *

      In the sequence, entries with an empty string are ignored. Next, - * getBundle tries to instantiate the resource bundle:

      - * - *
        - *
      • First, an attempt is made to load a class in the specified classloader - * which is a subclass of ResourceBundle, and which has a public constructor - * with no arguments, via reflection.
      • - *
      • Next, a search is made for a property resource file, by replacing - * '.' with '/' and appending ".properties", and using - * ClassLoader.getResource(). If a file is found, then a - * PropertyResourceBundle is created from the file's contents.
      • - *
      - * If no resource bundle was found, a MissingResourceException is thrown. - * - *

      Next, the parent chain is implemented. The remaining candidate names - * in the above sequence are tested in a similar manner, and if any results - * in a resource bundle, it is assigned as the parent of the first bundle - * using the setParent method (unless the first bundle already - * has a parent).

      - * - *

      For example, suppose the following class and property files are - * provided: MyResources.class, MyResources_fr_CH.properties, - * MyResources_fr_CH.class, MyResources_fr.properties, - * MyResources_en.properties, and MyResources_es_ES.class. The contents of - * all files are valid (that is, public non-abstract subclasses of - * ResourceBundle with public nullary constructors for the ".class" files, - * syntactically correct ".properties" files). The default locale is - * Locale("en", "UK").

      - * - *

      Calling getBundle with the shown locale argument values instantiates - * resource bundles from the following sources:

      - * - *
        - *
      • Locale("fr", "CH"): result MyResources_fr_CH.class, parent - * MyResources_fr.properties, parent MyResources.class
      • - *
      • Locale("fr", "FR"): result MyResources_fr.properties, parent - * MyResources.class
      • - *
      • Locale("de", "DE"): result MyResources_en.properties, parent - * MyResources.class
      • - *
      • Locale("en", "US"): result MyResources_en.properties, parent - * MyResources.class
      • - *
      • Locale("es", "ES"): result MyResources_es_ES.class, parent - * MyResources.class
      • - *
      - * - *

      The file MyResources_fr_CH.properties is never used because it is hidden - * by MyResources_fr_CH.class.

      - * - * @param baseName the name of the ResourceBundle - * @param locale A locale - * @param classLoader a ClassLoader - * @return the desired resource bundle - * @throws MissingResourceException if the resource bundle can't be found - * @throws NullPointerException if any argument is null - * @since 1.2 - */ - // This method is synchronized so that the cache is properly - // handled. - public static synchronized ResourceBundle getBundle - (String baseName, Locale locale, ClassLoader classLoader) - { - // If the default locale changed since the last time we were called, - // all cache entries are invalidated. - Locale defaultLocale = Locale.getDefault(); - if (defaultLocale != lastDefaultLocale) - { - bundleCache = new HashMap(); - lastDefaultLocale = defaultLocale; - } - - // This will throw NullPointerException if any arguments are null. - lookupKey.set(baseName, locale, classLoader); - - Object obj = bundleCache.get(lookupKey); - ResourceBundle rb = null; - - if (obj instanceof ResourceBundle) - { - return (ResourceBundle) obj; - } - else if (obj == nullEntry) - { - // Lookup has failed previously. Fall through. - } - else - { - // First, look for a bundle for the specified locale. We don't want - // the base bundle this time. - boolean wantBase = locale.equals(defaultLocale); - ResourceBundle bundle = tryBundle(baseName, locale, classLoader, - wantBase); - - // Try the default locale if neccessary. - if (bundle == null && !locale.equals(defaultLocale)) - bundle = tryBundle(baseName, defaultLocale, classLoader, true); - - BundleKey key = new BundleKey(baseName, locale, classLoader); - if (bundle == null) - { - // Cache the fact that this lookup has previously failed. - bundleCache.put(key, nullEntry); - } - else - { - // Cache the result and return it. - bundleCache.put(key, bundle); - return bundle; - } - } - - throw new MissingResourceException("Bundle " + baseName + " not found", - baseName, ""); - } - - /** - * Override this method to provide the resource for a keys. This gets - * called by getObject. If you don't have a resource - * for the given key, you should return null instead throwing a - * MissingResourceException. You don't have to ask the parent, getObject() - * already does this; nor should you throw a MissingResourceException. - * - * @param key the key of the resource - * @return the resource for the key, or null if not in bundle - * @throws NullPointerException if key is null - */ - protected abstract Object handleGetObject(String key); - - /** - * This method should return all keys for which a resource exists; you - * should include the enumeration of any parent's keys, after filtering out - * duplicates. - * - * @return an enumeration of the keys - */ - public abstract Enumeration getKeys(); - - /** - * Tries to load a class or a property file with the specified name. - * - * @param localizedName the name - * @param classloader the classloader - * @return the resource bundle if it was loaded, otherwise the backup - */ - private static ResourceBundle tryBundle(String localizedName, - ClassLoader classloader) - { - ResourceBundle bundle = null; - try - { - Class rbClass; - if (classloader == null) - rbClass = Class.forName(localizedName); - else - rbClass = classloader.loadClass(localizedName); - // Note that we do the check up front instead of catching - // ClassCastException. The reason for this is that some crazy - // programs (Eclipse) have classes that do not extend - // ResourceBundle but that have the same name as a property - // bundle; in fact Eclipse relies on ResourceBundle not - // instantiating these classes. - if (ResourceBundle.class.isAssignableFrom(rbClass)) - bundle = (ResourceBundle) rbClass.newInstance(); - } - catch (IllegalAccessException ex) {} - catch (InstantiationException ex) {} - catch (ClassNotFoundException ex) {} - - if (bundle == null) - { - try - { - InputStream is; - String resourceName - = localizedName.replace('.', '/') + ".properties"; - if (classloader == null) - is = ClassLoader.getSystemResourceAsStream(resourceName); - else - is = classloader.getResourceAsStream(resourceName); - if (is != null) - bundle = new PropertyResourceBundle(is); - } - catch (IOException ex) - { - MissingResourceException mre = new MissingResourceException - ("Failed to load bundle: " + localizedName, localizedName, ""); - mre.initCause(ex); - throw mre; - } - } - - return bundle; - } - - /** - * Tries to load a the bundle for a given locale, also loads the backup - * locales with the same language. - * - * @param baseName the raw bundle name, without locale qualifiers - * @param locale the locale - * @param classloader the classloader - * @param bundle the backup (parent) bundle - * @param wantBase whether a resource bundle made only from the base name - * (with no locale information attached) should be returned. - * @return the resource bundle if it was loaded, otherwise the backup - */ - private static ResourceBundle tryBundle(String baseName, Locale locale, - ClassLoader classLoader, - boolean wantBase) - { - String language = locale.getLanguage(); - String country = locale.getCountry(); - String variant = locale.getVariant(); - - int baseLen = baseName.length(); - - // Build up a StringBuffer containing the complete bundle name, fully - // qualified by locale. - StringBuffer sb = new StringBuffer(baseLen + variant.length() + 7); - - sb.append(baseName); - - if (language.length() > 0) - { - sb.append('_'); - sb.append(language); - - if (country.length() > 0) - { - sb.append('_'); - sb.append(country); - - if (variant.length() > 0) - { - sb.append('_'); - sb.append(variant); - } - } - } - - // Now try to load bundles, starting with the most specialized name. - // Build up the parent chain as we go. - String bundleName = sb.toString(); - ResourceBundle first = null; // The most specialized bundle. - ResourceBundle last = null; // The least specialized bundle. - - while (true) - { - ResourceBundle foundBundle = tryBundle(bundleName, classLoader); - if (foundBundle != null) - { - if (first == null) - first = foundBundle; - if (last != null) - last.parent = foundBundle; - foundBundle.locale = locale; - last = foundBundle; - } - int idx = bundleName.lastIndexOf('_'); - // Try the non-localized base name only if we already have a - // localized child bundle, or wantBase is true. - if (idx > baseLen || (idx == baseLen && (first != null || wantBase))) - bundleName = bundleName.substring(0, idx); - else - break; - } - - return first; - } -} diff --git a/libjava/java/util/Set.h b/libjava/java/util/Set.h new file mode 100644 index 00000000000..a5634721811 --- /dev/null +++ b/libjava/java/util/Set.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Set__ +#define __java_util_Set__ + +#pragma interface + +#include +#include + + +class java::util::Set : public ::java::lang::Object +{ + +public: + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_Set__ diff --git a/libjava/java/util/SimpleTimeZone.h b/libjava/java/util/SimpleTimeZone.h new file mode 100644 index 00000000000..311e31f32b1 --- /dev/null +++ b/libjava/java/util/SimpleTimeZone.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_SimpleTimeZone__ +#define __java_util_SimpleTimeZone__ + +#pragma interface + +#include +#include + + +class java::util::SimpleTimeZone : public ::java::util::TimeZone +{ + +public: + SimpleTimeZone(jint, ::java::lang::String *); + SimpleTimeZone(jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint); + SimpleTimeZone(jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint, jint); + SimpleTimeZone(jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); + virtual void setStartYear(jint); +private: + jint checkRule(jint, jint, jint); +public: + virtual void setStartRule(jint, jint, jint, jint); + virtual void setStartRule(jint, jint, jint, jint, jboolean); + virtual void setStartRule(jint, jint, jint); + virtual void setEndRule(jint, jint, jint, jint); + virtual void setEndRule(jint, jint, jint, jint, jboolean); + virtual void setEndRule(jint, jint, jint); + virtual jint getOffset(jint, jint, jint, jint, jint, jint); + virtual jint getRawOffset(); + virtual void setRawOffset(jint); + virtual jint getDSTSavings(); + virtual void setDSTSavings(jint); + virtual jboolean useDaylightTime(); +private: + jint getDaysInMonth(jint, jint); + jboolean isBefore(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint); +public: + virtual jboolean inDaylightTime(::java::util::Date *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean hasSameRules(::java::util::TimeZone *); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + jint __attribute__((aligned(__alignof__( ::java::util::TimeZone)))) rawOffset; + jboolean useDaylight; + jint dstSavings; + jint startYear; + static const jint DOM_MODE = 1; + static const jint DOW_IN_MONTH_MODE = 2; + static const jint DOW_GE_DOM_MODE = 3; + static const jint DOW_LE_DOM_MODE = 4; + jint startMode; + jint startMonth; + jint startDay; + jint startDayOfWeek; + jint startTime; + jint startTimeMode; + jint endMonth; + jint endMode; + jint endDay; + jint endDayOfWeek; + jint endTime; + jint endTimeMode; + JArray< jbyte > * monthLength; + static JArray< jbyte > * monthArr; + jint serialVersionOnStream; + static const jlong serialVersionUID = -403250971215465050LL; +public: + static const jint STANDARD_TIME = 1; + static const jint WALL_TIME = 0; + static const jint UTC_TIME = 2; + static ::java::lang::Class class$; +}; + +#endif // __java_util_SimpleTimeZone__ diff --git a/libjava/java/util/SortedMap.h b/libjava/java/util/SortedMap.h new file mode 100644 index 00000000000..881489248b3 --- /dev/null +++ b/libjava/java/util/SortedMap.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_SortedMap__ +#define __java_util_SortedMap__ + +#pragma interface + +#include + +class java::util::SortedMap : public ::java::lang::Object +{ + +public: + virtual ::java::util::Comparator * comparator() = 0; + virtual ::java::lang::Object * firstKey() = 0; + virtual ::java::util::SortedMap * headMap(::java::lang::Object *) = 0; + virtual ::java::lang::Object * lastKey() = 0; + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Object *) = 0; + virtual jboolean containsValue(::java::lang::Object *) = 0; + virtual ::java::util::Set * entrySet() = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Set * keySet() = 0; + virtual void putAll(::java::util::Map *) = 0; + virtual ::java::lang::Object * remove(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Collection * values() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_SortedMap__ diff --git a/libjava/java/util/SortedSet.h b/libjava/java/util/SortedSet.h new file mode 100644 index 00000000000..157019a55a1 --- /dev/null +++ b/libjava/java/util/SortedSet.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_SortedSet__ +#define __java_util_SortedSet__ + +#pragma interface + +#include +#include + + +class java::util::SortedSet : public ::java::lang::Object +{ + +public: + virtual ::java::util::Comparator * comparator() = 0; + virtual ::java::lang::Object * first() = 0; + virtual ::java::util::SortedSet * headSet(::java::lang::Object *) = 0; + virtual ::java::lang::Object * last() = 0; + virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::SortedSet * tailSet(::java::lang::Object *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_SortedSet__ diff --git a/libjava/java/util/Stack.h b/libjava/java/util/Stack.h new file mode 100644 index 00000000000..b6e25f26833 --- /dev/null +++ b/libjava/java/util/Stack.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Stack__ +#define __java_util_Stack__ + +#pragma interface + +#include + +class java::util::Stack : public ::java::util::Vector +{ + +public: + Stack(); + virtual ::java::lang::Object * push(::java::lang::Object *); + virtual ::java::lang::Object * pop(); + virtual ::java::lang::Object * peek(); + virtual jboolean empty(); + virtual jint search(::java::lang::Object *); +private: + static const jlong serialVersionUID = 1224463164541339165LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Stack__ diff --git a/libjava/java/util/StringTokenizer.h b/libjava/java/util/StringTokenizer.h new file mode 100644 index 00000000000..45d8cb89342 --- /dev/null +++ b/libjava/java/util/StringTokenizer.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_StringTokenizer__ +#define __java_util_StringTokenizer__ + +#pragma interface + +#include + +class java::util::StringTokenizer : public ::java::lang::Object +{ + +public: + StringTokenizer(::java::lang::String *); + StringTokenizer(::java::lang::String *, ::java::lang::String *); + StringTokenizer(::java::lang::String *, ::java::lang::String *, jboolean); + virtual jboolean hasMoreTokens(); + virtual ::java::lang::String * nextToken(::java::lang::String *); + virtual ::java::lang::String * nextToken(); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); + virtual jint countTokens(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos; + ::java::lang::String * str; + jint len; + ::java::lang::String * delim; + jboolean retDelims; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_StringTokenizer__ diff --git a/libjava/java/util/TimeZone$1.h b/libjava/java/util/TimeZone$1.h new file mode 100644 index 00000000000..500d909dddf --- /dev/null +++ b/libjava/java/util/TimeZone$1.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TimeZone$1__ +#define __java_util_TimeZone$1__ + +#pragma interface + +#include + +class java::util::TimeZone$1 : public ::java::lang::Object +{ + +public: // actually package-private + TimeZone$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_util_TimeZone$1__ diff --git a/libjava/java/util/TimeZone.h b/libjava/java/util/TimeZone.h new file mode 100644 index 00000000000..3eb30ad5ff5 --- /dev/null +++ b/libjava/java/util/TimeZone.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TimeZone__ +#define __java_util_TimeZone__ + +#pragma interface + +#include +#include + + +class java::util::TimeZone : public ::java::lang::Object +{ + +public: + TimeZone(); +private: + static ::java::util::TimeZone * defaultZone(); +public: // actually package-private + static ::java::util::HashMap * timezones(); + static ::java::util::TimeZone * getDefaultTimeZone(::java::lang::String *); +private: + static JArray< jint > * getDateParams(::java::lang::String *); + static jint parseTime(::java::lang::String *); +public: + virtual jint getOffset(jint, jint, jint, jint, jint, jint) = 0; + virtual jint getOffset(jlong); + virtual jint getRawOffset() = 0; + virtual void setRawOffset(jint) = 0; + virtual ::java::lang::String * getID(); + virtual void setID(::java::lang::String *); + virtual ::java::lang::String * getDisplayName(); + virtual ::java::lang::String * getDisplayName(::java::util::Locale *); + virtual ::java::lang::String * getDisplayName(jboolean, jint); + virtual ::java::lang::String * getDisplayName(jboolean, jint, ::java::util::Locale *); +private: + ::java::lang::String * getDefaultDisplayName(jboolean); +public: + virtual jboolean useDaylightTime() = 0; + virtual jboolean inDaylightTime(::java::util::Date *) = 0; + virtual jint getDSTSavings(); + static ::java::util::TimeZone * getTimeZone(::java::lang::String *); + static JArray< ::java::lang::String * > * getAvailableIDs(jint); + static JArray< ::java::lang::String * > * getAvailableIDs(); + static ::java::util::TimeZone * getDefault(); + static void setDefault(::java::util::TimeZone *); + virtual jboolean hasSameRules(::java::util::TimeZone *); + virtual ::java::lang::Object * clone(); + static const jint SHORT = 0; + static const jint LONG = 1; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ID; + static ::java::util::TimeZone * defaultZone0; + static const jlong serialVersionUID = 3581463369166924961LL; + static ::java::util::HashMap * timezones0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TimeZone__ diff --git a/libjava/java/util/Timer$Scheduler.h b/libjava/java/util/Timer$Scheduler.h new file mode 100644 index 00000000000..ca61c0f76d9 --- /dev/null +++ b/libjava/java/util/Timer$Scheduler.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Timer$Scheduler__ +#define __java_util_Timer$Scheduler__ + +#pragma interface + +#include + +class java::util::Timer$Scheduler : public ::java::lang::Object +{ + +public: + Timer$Scheduler(::java::util::Timer$TaskQueue *); + void run(); +private: + ::java::util::Timer$TaskQueue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queue; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Timer$Scheduler__ diff --git a/libjava/java/util/Timer$TaskQueue.h b/libjava/java/util/Timer$TaskQueue.h new file mode 100644 index 00000000000..13416d32ede --- /dev/null +++ b/libjava/java/util/Timer$TaskQueue.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Timer$TaskQueue__ +#define __java_util_Timer$TaskQueue__ + +#pragma interface + +#include +#include + + +class java::util::Timer$TaskQueue : public ::java::lang::Object +{ + +public: + Timer$TaskQueue(); +private: + void add(::java::util::TimerTask *); + void remove(); +public: + void enqueue(::java::util::TimerTask *); +private: + ::java::util::TimerTask * top(); +public: + ::java::util::TimerTask * serve(); + void setNullOnEmpty(jboolean); + void stop(); + jint purge(); +private: + static const jint DEFAULT_SIZE = 32; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) nullOnEmpty; + JArray< ::java::util::TimerTask * > * heap; + jint elements; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Timer$TaskQueue__ diff --git a/libjava/java/util/Timer.h b/libjava/java/util/Timer.h new file mode 100644 index 00000000000..2246cfd3054 --- /dev/null +++ b/libjava/java/util/Timer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Timer__ +#define __java_util_Timer__ + +#pragma interface + +#include + +class java::util::Timer : public ::java::lang::Object +{ + +public: + Timer(); + Timer(jboolean); + Timer(::java::lang::String *); + Timer(::java::lang::String *, jboolean); +private: + Timer(jboolean, jint); + Timer(jboolean, jint, ::java::lang::String *); +public: + virtual void cancel(); +private: + void schedule(::java::util::TimerTask *, jlong, jlong, jboolean); + static void positiveDelay(jlong); + static void positivePeriod(jlong); +public: + virtual void schedule(::java::util::TimerTask *, ::java::util::Date *); + virtual void schedule(::java::util::TimerTask *, ::java::util::Date *, jlong); + virtual void schedule(::java::util::TimerTask *, jlong); + virtual void schedule(::java::util::TimerTask *, jlong, jlong); + virtual void scheduleAtFixedRate(::java::util::TimerTask *, ::java::util::Date *, jlong); + virtual void scheduleAtFixedRate(::java::util::TimerTask *, jlong, jlong); +public: // actually protected + virtual void finalize(); +public: + virtual jint purge(); +private: + static jint nr; + ::java::util::Timer$TaskQueue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queue; + ::java::util::Timer$Scheduler * scheduler; + ::java::lang::Thread * thread; + jboolean canceled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Timer__ diff --git a/libjava/java/util/TimerTask.h b/libjava/java/util/TimerTask.h new file mode 100644 index 00000000000..a38b66ed8b1 --- /dev/null +++ b/libjava/java/util/TimerTask.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TimerTask__ +#define __java_util_TimerTask__ + +#pragma interface + +#include + +class java::util::TimerTask : public ::java::lang::Object +{ + +public: // actually protected + TimerTask(); +public: + virtual jboolean cancel(); + virtual void run() = 0; + virtual jlong scheduledExecutionTime(); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) scheduled; + jlong lastExecutionTime; + jlong period; + jboolean fixed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TimerTask__ diff --git a/libjava/java/util/TooManyListenersException.h b/libjava/java/util/TooManyListenersException.h new file mode 100644 index 00000000000..da5e72a0e7a --- /dev/null +++ b/libjava/java/util/TooManyListenersException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TooManyListenersException__ +#define __java_util_TooManyListenersException__ + +#pragma interface + +#include + +class java::util::TooManyListenersException : public ::java::lang::Exception +{ + +public: + TooManyListenersException(); + TooManyListenersException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5074640544770687831LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TooManyListenersException__ diff --git a/libjava/java/util/TreeMap$1.h b/libjava/java/util/TreeMap$1.h new file mode 100644 index 00000000000..d181072f09a --- /dev/null +++ b/libjava/java/util/TreeMap$1.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$1__ +#define __java_util_TreeMap$1__ + +#pragma interface + +#include + +class java::util::TreeMap$1 : public ::java::util::AbstractSet +{ + +public: // actually package-private + TreeMap$1(::java::util::TreeMap$SubMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$1__ diff --git a/libjava/java/util/TreeMap$2.h b/libjava/java/util/TreeMap$2.h new file mode 100644 index 00000000000..0ea21a8863d --- /dev/null +++ b/libjava/java/util/TreeMap$2.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$2__ +#define __java_util_TreeMap$2__ + +#pragma interface + +#include + +class java::util::TreeMap$2 : public ::java::util::AbstractSet +{ + +public: // actually package-private + TreeMap$2(::java::util::TreeMap$SubMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$2__ diff --git a/libjava/java/util/TreeMap$3.h b/libjava/java/util/TreeMap$3.h new file mode 100644 index 00000000000..47ece2a0334 --- /dev/null +++ b/libjava/java/util/TreeMap$3.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$3__ +#define __java_util_TreeMap$3__ + +#pragma interface + +#include + +class java::util::TreeMap$3 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + TreeMap$3(::java::util::TreeMap$SubMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); +public: // actually package-private + ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$3__ diff --git a/libjava/java/util/TreeMap$4.h b/libjava/java/util/TreeMap$4.h new file mode 100644 index 00000000000..5665ffd20ad --- /dev/null +++ b/libjava/java/util/TreeMap$4.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$4__ +#define __java_util_TreeMap$4__ + +#pragma interface + +#include + +class java::util::TreeMap$4 : public ::java::util::AbstractSet +{ + +public: // actually package-private + TreeMap$4(::java::util::TreeMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$4__ diff --git a/libjava/java/util/TreeMap$5.h b/libjava/java/util/TreeMap$5.h new file mode 100644 index 00000000000..b615001e52a --- /dev/null +++ b/libjava/java/util/TreeMap$5.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$5__ +#define __java_util_TreeMap$5__ + +#pragma interface + +#include + +class java::util::TreeMap$5 : public ::java::util::AbstractSet +{ + +public: // actually package-private + TreeMap$5(::java::util::TreeMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); +public: // actually package-private + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$5__ diff --git a/libjava/java/util/TreeMap$6.h b/libjava/java/util/TreeMap$6.h new file mode 100644 index 00000000000..45e7802ffac --- /dev/null +++ b/libjava/java/util/TreeMap$6.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$6__ +#define __java_util_TreeMap$6__ + +#pragma interface + +#include + +class java::util::TreeMap$6 : public ::java::util::AbstractCollection +{ + +public: // actually package-private + TreeMap$6(::java::util::TreeMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); + void clear(); +public: // actually package-private + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$6__ diff --git a/libjava/java/util/TreeMap$Node.h b/libjava/java/util/TreeMap$Node.h new file mode 100644 index 00000000000..1f0740099e9 --- /dev/null +++ b/libjava/java/util/TreeMap$Node.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$Node__ +#define __java_util_TreeMap$Node__ + +#pragma interface + +#include + +class java::util::TreeMap$Node : public ::java::util::AbstractMap$SimpleEntry +{ + +public: // actually package-private + TreeMap$Node(::java::lang::Object *, ::java::lang::Object *, jint); + jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) color; + ::java::util::TreeMap$Node * left; + ::java::util::TreeMap$Node * right; + ::java::util::TreeMap$Node * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$Node__ diff --git a/libjava/java/util/TreeMap$SubMap.h b/libjava/java/util/TreeMap$SubMap.h new file mode 100644 index 00000000000..ef206c8a8b8 --- /dev/null +++ b/libjava/java/util/TreeMap$SubMap.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$SubMap__ +#define __java_util_TreeMap$SubMap__ + +#pragma interface + +#include + +class java::util::TreeMap$SubMap : public ::java::util::AbstractMap +{ + +public: // actually package-private + TreeMap$SubMap(::java::util::TreeMap *, ::java::lang::Object *, ::java::lang::Object *); + jboolean keyInRange(::java::lang::Object *); +public: + void clear(); + ::java::util::Comparator * comparator(); + jboolean containsKey(::java::lang::Object *); + jboolean containsValue(::java::lang::Object *); + ::java::util::Set * entrySet(); + ::java::lang::Object * firstKey(); + ::java::lang::Object * get(::java::lang::Object *); + ::java::util::SortedMap * headMap(::java::lang::Object *); + ::java::util::Set * keySet(); + ::java::lang::Object * lastKey(); + ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * remove(::java::lang::Object *); + jint size(); + ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::SortedMap * tailMap(::java::lang::Object *); + ::java::util::Collection * values(); +public: // actually package-private + static ::java::util::TreeMap * access$0(::java::util::TreeMap$SubMap *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) minKey; + ::java::lang::Object * maxKey; +private: + ::java::util::Set * entries; +public: // actually package-private + ::java::util::TreeMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$SubMap__ diff --git a/libjava/java/util/TreeMap$TreeIterator.h b/libjava/java/util/TreeMap$TreeIterator.h new file mode 100644 index 00000000000..5d8603eedb5 --- /dev/null +++ b/libjava/java/util/TreeMap$TreeIterator.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap$TreeIterator__ +#define __java_util_TreeMap$TreeIterator__ + +#pragma interface + +#include + +class java::util::TreeMap$TreeIterator : public ::java::lang::Object +{ + +public: // actually package-private + TreeMap$TreeIterator(::java::util::TreeMap *, jint); + TreeMap$TreeIterator(::java::util::TreeMap *, jint, ::java::util::TreeMap$Node *, ::java::util::TreeMap$Node *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jint knownMod; + ::java::util::TreeMap$Node * last; + ::java::util::TreeMap$Node * next__; + ::java::util::TreeMap$Node * max; +public: // actually package-private + ::java::util::TreeMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap$TreeIterator__ diff --git a/libjava/java/util/TreeMap.h b/libjava/java/util/TreeMap.h new file mode 100644 index 00000000000..a68bcf6252c --- /dev/null +++ b/libjava/java/util/TreeMap.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeMap__ +#define __java_util_TreeMap__ + +#pragma interface + +#include + +class java::util::TreeMap : public ::java::util::AbstractMap +{ + +public: + TreeMap(); + TreeMap(::java::util::Comparator *); + TreeMap(::java::util::Map *); + TreeMap(::java::util::SortedMap *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Comparator * comparator(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual ::java::lang::Object * firstKey(); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::util::SortedMap * headMap(::java::lang::Object *); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::Object * lastKey(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *); + virtual ::java::util::Collection * values(); +public: // actually package-private + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); +private: + void deleteFixup(::java::util::TreeMap$Node *, ::java::util::TreeMap$Node *); + void fabricateTree(jint); +public: // actually package-private + virtual ::java::util::TreeMap$Node * firstNode(); + virtual ::java::util::TreeMap$Node * getNode(::java::lang::Object *); + virtual ::java::util::TreeMap$Node * highestLessThan(::java::lang::Object *); +private: + void insertFixup(::java::util::TreeMap$Node *); + ::java::util::TreeMap$Node * lastNode(); +public: // actually package-private + virtual ::java::util::TreeMap$Node * lowestGreaterThan(::java::lang::Object *, jboolean); +private: + ::java::util::TreeMap$Node * predecessor(::java::util::TreeMap$Node *); +public: // actually package-private + virtual void putFromObjStream(::java::io::ObjectInputStream *, jint, jboolean); + virtual void putKeysLinear(::java::util::Iterator *, jint); +private: + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + virtual void removeNode(::java::util::TreeMap$Node *); +private: + void rotateLeft(::java::util::TreeMap$Node *); + void rotateRight(::java::util::TreeMap$Node *); +public: // actually package-private + virtual ::java::util::TreeMap$Node * successor(::java::util::TreeMap$Node *); +private: + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 919286545866124006LL; +public: // actually package-private + static const jint RED = -1; + static const jint BLACK = 1; + static ::java::util::TreeMap$Node * nil; +private: + ::java::util::TreeMap$Node * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) root; +public: // actually package-private + jint size__; +private: + ::java::util::Set * entries; +public: // actually package-private + jint modCount; + ::java::util::Comparator * comparator__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeMap__ diff --git a/libjava/java/util/TreeSet.h b/libjava/java/util/TreeSet.h new file mode 100644 index 00000000000..565d828c4ad --- /dev/null +++ b/libjava/java/util/TreeSet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_TreeSet__ +#define __java_util_TreeSet__ + +#pragma interface + +#include + +class java::util::TreeSet : public ::java::util::AbstractSet +{ + +public: + TreeSet(); + TreeSet(::java::util::Comparator *); + TreeSet(::java::util::Collection *); + TreeSet(::java::util::SortedSet *); +private: + TreeSet(::java::util::SortedMap *); +public: + virtual jboolean add(::java::lang::Object *); + virtual jboolean addAll(::java::util::Collection *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual ::java::util::Comparator * comparator(); + virtual jboolean contains(::java::lang::Object *); + virtual ::java::lang::Object * first(); + virtual ::java::util::SortedSet * headSet(::java::lang::Object *); + virtual jboolean isEmpty(); + virtual ::java::util::Iterator * iterator(); + virtual ::java::lang::Object * last(); + virtual jboolean remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedSet * tailSet(::java::lang::Object *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -2479143000061671589LL; + ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_TreeSet__ diff --git a/libjava/java/util/UUID.h b/libjava/java/util/UUID.h new file mode 100644 index 00000000000..86cb4bc476e --- /dev/null +++ b/libjava/java/util/UUID.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_UUID__ +#define __java_util_UUID__ + +#pragma interface + +#include +#include + + +class java::util::UUID : public ::java::lang::Object +{ + +public: + UUID(jlong, jlong); + jint clockSequence(); + jint target$compareTo(::java::util::UUID *); + jboolean equals(::java::lang::Object *); + static ::java::util::UUID * fromString(::java::lang::String *); + ::java::lang::String * toString(); + jlong getLeastSignificantBits(); + jlong getMostSignificantBits(); + jint hashCode(); + static ::java::util::UUID * nameUUIDFromBytes(JArray< jbyte > *); + jlong node(); + jlong timestamp(); + static ::java::util::UUID * randomUUID(); +private: + ::java::lang::String * padHex(jlong, jint); +public: + jint variant(); + jint version(); + jint compareTo(::java::lang::Object *); +private: + static const jlong serialVersionUID = -4856846361193249489LL; + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) mostSigBits; + jlong leastSigBits; + static ::java::util::Random * r; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_UUID__ diff --git a/libjava/java/util/UnknownFormatConversionException.h b/libjava/java/util/UnknownFormatConversionException.h new file mode 100644 index 00000000000..53f8917becc --- /dev/null +++ b/libjava/java/util/UnknownFormatConversionException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_UnknownFormatConversionException__ +#define __java_util_UnknownFormatConversionException__ + +#pragma interface + +#include + +class java::util::UnknownFormatConversionException : public ::java::util::IllegalFormatException +{ + +public: + UnknownFormatConversionException(::java::lang::String *); + virtual ::java::lang::String * getConversion(); +private: + static const jlong serialVersionUID = 19060418LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) s; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_UnknownFormatConversionException__ diff --git a/libjava/java/util/UnknownFormatFlagsException.h b/libjava/java/util/UnknownFormatFlagsException.h new file mode 100644 index 00000000000..62c277a2fe2 --- /dev/null +++ b/libjava/java/util/UnknownFormatFlagsException.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_UnknownFormatFlagsException__ +#define __java_util_UnknownFormatFlagsException__ + +#pragma interface + +#include + +class java::util::UnknownFormatFlagsException : public ::java::util::IllegalFormatException +{ + +public: + UnknownFormatFlagsException(::java::lang::String *); + virtual ::java::lang::String * getFlags(); +private: + static const jlong serialVersionUID = 19370506LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_UnknownFormatFlagsException__ diff --git a/libjava/java/util/VMTimeZone.h b/libjava/java/util/VMTimeZone.h new file mode 100644 index 00000000000..6e571143dd0 --- /dev/null +++ b/libjava/java/util/VMTimeZone.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_VMTimeZone__ +#define __java_util_VMTimeZone__ + +#pragma interface + +#include + +class java::util::VMTimeZone : public ::java::lang::Object +{ + +public: // actually package-private + VMTimeZone(); + static ::java::util::TimeZone * getDefaultTimeZoneId(); +private: + static ::java::lang::String * readTimeZoneFile(::java::lang::String *); + static ::java::lang::String * readtzFile(::java::lang::String *); + static void skipFully(::java::io::InputStream *, jlong); + static ::java::lang::String * getSystemTimeZoneId(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_VMTimeZone__ diff --git a/libjava/java/util/Vector$1.h b/libjava/java/util/Vector$1.h new file mode 100644 index 00000000000..f7dec7ef196 --- /dev/null +++ b/libjava/java/util/Vector$1.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Vector$1__ +#define __java_util_Vector$1__ + +#pragma interface + +#include + +class java::util::Vector$1 : public ::java::lang::Object +{ + +public: // actually package-private + Vector$1(::java::util::Vector *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) i; +public: // actually package-private + ::java::util::Vector * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Vector$1__ diff --git a/libjava/java/util/Vector.h b/libjava/java/util/Vector.h new file mode 100644 index 00000000000..8330b2a18ff --- /dev/null +++ b/libjava/java/util/Vector.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_Vector__ +#define __java_util_Vector__ + +#pragma interface + +#include +#include + + +class java::util::Vector : public ::java::util::AbstractList +{ + +public: + Vector(); + Vector(::java::util::Collection *); + Vector(jint, jint); + Vector(jint); + virtual void copyInto(JArray< ::java::lang::Object * > *); + virtual void trimToSize(); + virtual void ensureCapacity(jint); + virtual void setSize(jint); + virtual jint capacity(); + virtual jint size(); + virtual jboolean isEmpty(); + virtual ::java::util::Enumeration * elements(); + virtual jboolean contains(::java::lang::Object *); + virtual jint indexOf(::java::lang::Object *); + virtual jint indexOf(::java::lang::Object *, jint); + virtual jint lastIndexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *, jint); + virtual ::java::lang::Object * elementAt(jint); + virtual ::java::lang::Object * firstElement(); + virtual ::java::lang::Object * lastElement(); + virtual void setElementAt(::java::lang::Object *, jint); + virtual void removeElementAt(jint); + virtual void insertElementAt(::java::lang::Object *, jint); + virtual void addElement(::java::lang::Object *); + virtual jboolean removeElement(::java::lang::Object *); + virtual void removeAllElements(); + virtual ::java::lang::Object * clone(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual void add(jint, ::java::lang::Object *); + virtual ::java::lang::Object * remove(jint); + virtual void clear(); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean addAll(::java::util::Collection *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual ::java::util::List * subList(jint, jint); +public: // actually protected + virtual void removeRange(jint, jint); +private: + void checkBoundInclusive(jint); + void checkBoundExclusive(jint); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -2767605614048989439LL; +public: // actually protected + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) elementData; + jint elementCount; + jint capacityIncrement; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_Vector__ diff --git a/libjava/java/util/WeakHashMap$1.h b/libjava/java/util/WeakHashMap$1.h new file mode 100644 index 00000000000..312c75f29eb --- /dev/null +++ b/libjava/java/util/WeakHashMap$1.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_WeakHashMap$1__ +#define __java_util_WeakHashMap$1__ + +#pragma interface + +#include + +class java::util::WeakHashMap$1 : public ::java::lang::Object +{ + +public: // actually package-private + WeakHashMap$1(); +public: + jint hashCode(); + jboolean equals(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_WeakHashMap$1__ diff --git a/libjava/java/util/WeakHashMap$2.h b/libjava/java/util/WeakHashMap$2.h new file mode 100644 index 00000000000..8b40ae09248 --- /dev/null +++ b/libjava/java/util/WeakHashMap$2.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_WeakHashMap$2__ +#define __java_util_WeakHashMap$2__ + +#pragma interface + +#include + +class java::util::WeakHashMap$2 : public ::java::lang::Object +{ + +public: // actually package-private + WeakHashMap$2(::java::util::WeakHashMap$WeakEntrySet *); +private: + void checkMod(); + ::java::util::WeakHashMap$WeakBucket$WeakEntry * findNext(::java::util::WeakHashMap$WeakBucket$WeakEntry *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +public: // actually package-private + ::java::util::WeakHashMap$WeakBucket$WeakEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastEntry; + ::java::util::WeakHashMap$WeakBucket$WeakEntry * nextEntry; + jint knownMod; + ::java::util::WeakHashMap$WeakEntrySet * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_WeakHashMap$2__ diff --git a/libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h b/libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h new file mode 100644 index 00000000000..5ddfa8738ed --- /dev/null +++ b/libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_WeakHashMap$WeakBucket$WeakEntry__ +#define __java_util_WeakHashMap$WeakBucket$WeakEntry__ + +#pragma interface + +#include + +class java::util::WeakHashMap$WeakBucket$WeakEntry : public ::java::lang::Object +{ + +public: + WeakHashMap$WeakBucket$WeakEntry(::java::util::WeakHashMap$WeakBucket *, ::java::lang::Object *); + virtual ::java::util::WeakHashMap$WeakBucket * getBucket(); + virtual ::java::lang::Object * getKey(); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::Object * setValue(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::util::WeakHashMap$WeakBucket * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_WeakHashMap$WeakBucket$WeakEntry__ diff --git a/libjava/java/util/WeakHashMap$WeakBucket.h b/libjava/java/util/WeakHashMap$WeakBucket.h new file mode 100644 index 00000000000..9fc29d8dc7a --- /dev/null +++ b/libjava/java/util/WeakHashMap$WeakBucket.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_WeakHashMap$WeakBucket__ +#define __java_util_WeakHashMap$WeakBucket__ + +#pragma interface + +#include + +class java::util::WeakHashMap$WeakBucket : public ::java::lang::ref::WeakReference +{ + +public: + WeakHashMap$WeakBucket(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *, ::java::lang::Object *, jint); +public: // actually package-private + virtual ::java::util::WeakHashMap$WeakBucket$WeakEntry * getEntry(); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::ref::WeakReference)))) value; + ::java::util::WeakHashMap$WeakBucket * next; + jint slot; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_WeakHashMap$WeakBucket__ diff --git a/libjava/java/util/WeakHashMap$WeakEntrySet.h b/libjava/java/util/WeakHashMap$WeakEntrySet.h new file mode 100644 index 00000000000..cfd558e4228 --- /dev/null +++ b/libjava/java/util/WeakHashMap$WeakEntrySet.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_WeakHashMap$WeakEntrySet__ +#define __java_util_WeakHashMap$WeakEntrySet__ + +#pragma interface + +#include + +class java::util::WeakHashMap$WeakEntrySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + WeakHashMap$WeakEntrySet(::java::util::WeakHashMap *); +public: + jint size(); + ::java::util::Iterator * iterator(); +public: // actually package-private + static ::java::util::WeakHashMap * access$0(::java::util::WeakHashMap$WeakEntrySet *); + ::java::util::WeakHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_WeakHashMap$WeakEntrySet__ diff --git a/libjava/java/util/WeakHashMap.h b/libjava/java/util/WeakHashMap.h new file mode 100644 index 00000000000..e5875adf628 --- /dev/null +++ b/libjava/java/util/WeakHashMap.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_WeakHashMap__ +#define __java_util_WeakHashMap__ + +#pragma interface + +#include +#include + + +class java::util::WeakHashMap : public ::java::util::AbstractMap +{ + +public: + WeakHashMap(); + WeakHashMap(jint); + WeakHashMap(jint, jfloat); + WeakHashMap(::java::util::Map *); +private: + jint hash(::java::lang::Object *); +public: // actually package-private + virtual void cleanQueue(); +private: + void rehash(); + ::java::util::WeakHashMap$WeakBucket$WeakEntry * internalGet(::java::lang::Object *); + void internalAdd(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + virtual void internalRemove(::java::util::WeakHashMap$WeakBucket *); +public: + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean containsKey(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual void clear(); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * keySet(); + virtual void putAll(::java::util::Map *); + virtual ::java::util::Collection * values(); +private: + static const jint DEFAULT_CAPACITY = 11; + static jfloat DEFAULT_LOAD_FACTOR; +public: // actually package-private + static ::java::lang::Object * NULL_KEY; +private: + ::java::lang::ref::ReferenceQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) queue; +public: // actually package-private + jint size__; +private: + jfloat loadFactor; + jint threshold; +public: // actually package-private + jint modCount; +private: + ::java::util::WeakHashMap$WeakEntrySet * theEntrySet; +public: // actually package-private + JArray< ::java::util::WeakHashMap$WeakBucket * > * buckets; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_WeakHashMap__ diff --git a/libjava/java/util/concurrent/AbstractExecutorService.h b/libjava/java/util/concurrent/AbstractExecutorService.h new file mode 100644 index 00000000000..796171e6196 --- /dev/null +++ b/libjava/java/util/concurrent/AbstractExecutorService.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_AbstractExecutorService__ +#define __java_util_concurrent_AbstractExecutorService__ + +#pragma interface + +#include + +class java::util::concurrent::AbstractExecutorService : public ::java::lang::Object +{ + +public: + AbstractExecutorService(); +public: // actually protected + virtual ::java::util::concurrent::RunnableFuture * newTaskFor(::java::lang::Runnable *, ::java::lang::Object *); + virtual ::java::util::concurrent::RunnableFuture * newTaskFor(::java::util::concurrent::Callable *); +public: + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *); + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *); + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *); +private: + ::java::lang::Object * doInvokeAny(::java::util::Collection *, jboolean, jlong); +public: + virtual ::java::lang::Object * invokeAny(::java::util::Collection *); + virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::List * invokeAll(::java::util::Collection *); + virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *); + virtual void shutdown() = 0; + virtual ::java::util::List * shutdownNow() = 0; + virtual jboolean isShutdown() = 0; + virtual jboolean isTerminated() = 0; + virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual void execute(::java::lang::Runnable *) = 0; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_AbstractExecutorService__ diff --git a/libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h b/libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h new file mode 100644 index 00000000000..fdddf6c3122 --- /dev/null +++ b/libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ArrayBlockingQueue$Itr__ +#define __java_util_concurrent_ArrayBlockingQueue$Itr__ + +#pragma interface + +#include + +class java::util::concurrent::ArrayBlockingQueue$Itr : public ::java::lang::Object +{ + +public: // actually package-private + ArrayBlockingQueue$Itr(::java::util::concurrent::ArrayBlockingQueue *); +public: + virtual jboolean hasNext(); +private: + void checkNext(); +public: + virtual ::java::lang::Object * next(); + virtual void remove(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextIndex; + ::java::lang::Object * nextItem; + jint lastRet; +public: // actually package-private + ::java::util::concurrent::ArrayBlockingQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ArrayBlockingQueue$Itr__ diff --git a/libjava/java/util/concurrent/ArrayBlockingQueue.h b/libjava/java/util/concurrent/ArrayBlockingQueue.h new file mode 100644 index 00000000000..a431043c671 --- /dev/null +++ b/libjava/java/util/concurrent/ArrayBlockingQueue.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ArrayBlockingQueue__ +#define __java_util_concurrent_ArrayBlockingQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ArrayBlockingQueue : public ::java::util::AbstractQueue +{ + +public: // actually package-private + virtual jint inc(jint); +private: + void insert(::java::lang::Object *); + ::java::lang::Object * extract(); +public: // actually package-private + virtual void removeAt(jint); +public: + ArrayBlockingQueue(jint); + ArrayBlockingQueue(jint, jboolean); + ArrayBlockingQueue(jint, jboolean, ::java::util::Collection *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *); + virtual void put(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * take(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * peek(); + virtual jint size(); + virtual jint remainingCapacity(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean contains(::java::lang::Object *); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); + virtual void clear(); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); + virtual ::java::util::Iterator * iterator(); +public: // actually package-private + static jint access$0(::java::util::concurrent::ArrayBlockingQueue *); + static jint access$1(::java::util::concurrent::ArrayBlockingQueue *); + static JArray< ::java::lang::Object * > * access$2(::java::util::concurrent::ArrayBlockingQueue *); + static jint access$3(::java::util::concurrent::ArrayBlockingQueue *); + static ::java::util::concurrent::locks::ReentrantLock * access$4(::java::util::concurrent::ArrayBlockingQueue *); +private: + static const jlong serialVersionUID = -817911632652898426LL; + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) items; + jint takeIndex; + jint putIndex; + jint count; + ::java::util::concurrent::locks::ReentrantLock * lock; + ::java::util::concurrent::locks::Condition * notEmpty; + ::java::util::concurrent::locks::Condition * notFull; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ArrayBlockingQueue__ diff --git a/libjava/java/util/concurrent/BlockingDeque.h b/libjava/java/util/concurrent/BlockingDeque.h new file mode 100644 index 00000000000..4aa4cb53327 --- /dev/null +++ b/libjava/java/util/concurrent/BlockingDeque.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_BlockingDeque__ +#define __java_util_concurrent_BlockingDeque__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::BlockingDeque : public ::java::lang::Object +{ + +public: + virtual void addFirst(::java::lang::Object *) = 0; + virtual void addLast(::java::lang::Object *) = 0; + virtual jboolean offerFirst(::java::lang::Object *) = 0; + virtual jboolean offerLast(::java::lang::Object *) = 0; + virtual void putFirst(::java::lang::Object *) = 0; + virtual void putLast(::java::lang::Object *) = 0; + virtual jboolean offerFirst(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual jboolean offerLast(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * takeFirst() = 0; + virtual ::java::lang::Object * takeLast() = 0; + virtual ::java::lang::Object * pollFirst(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * pollLast(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual jboolean removeFirstOccurrence(::java::lang::Object *) = 0; + virtual jboolean removeLastOccurrence(::java::lang::Object *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean offer(::java::lang::Object *) = 0; + virtual void put(::java::lang::Object *) = 0; + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * remove() = 0; + virtual ::java::lang::Object * poll() = 0; + virtual ::java::lang::Object * take() = 0; + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * element() = 0; + virtual ::java::lang::Object * peek() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual void push(::java::lang::Object *) = 0; + virtual jint remainingCapacity() = 0; + virtual jint drainTo(::java::util::Collection *) = 0; + virtual jint drainTo(::java::util::Collection *, jint) = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + virtual ::java::lang::Object * removeFirst() = 0; + virtual ::java::lang::Object * removeLast() = 0; + virtual ::java::lang::Object * pollFirst() = 0; + virtual ::java::lang::Object * pollLast() = 0; + virtual ::java::lang::Object * getFirst() = 0; + virtual ::java::lang::Object * getLast() = 0; + virtual ::java::lang::Object * peekFirst() = 0; + virtual ::java::lang::Object * peekLast() = 0; + virtual ::java::lang::Object * pop() = 0; + virtual ::java::util::Iterator * descendingIterator() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_BlockingDeque__ diff --git a/libjava/java/util/concurrent/BlockingQueue.h b/libjava/java/util/concurrent/BlockingQueue.h new file mode 100644 index 00000000000..66cc905fb42 --- /dev/null +++ b/libjava/java/util/concurrent/BlockingQueue.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_BlockingQueue__ +#define __java_util_concurrent_BlockingQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::BlockingQueue : public ::java::lang::Object +{ + +public: + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean offer(::java::lang::Object *) = 0; + virtual void put(::java::lang::Object *) = 0; + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * take() = 0; + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual jint remainingCapacity() = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jint drainTo(::java::util::Collection *) = 0; + virtual jint drainTo(::java::util::Collection *, jint) = 0; + virtual ::java::lang::Object * remove() = 0; + virtual ::java::lang::Object * poll() = 0; + virtual ::java::lang::Object * element() = 0; + virtual ::java::lang::Object * peek() = 0; + virtual jboolean addAll(::java::util::Collection *) = 0; + virtual void clear() = 0; + virtual jboolean containsAll(::java::util::Collection *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Iterator * iterator() = 0; + virtual jboolean removeAll(::java::util::Collection *) = 0; + virtual jboolean retainAll(::java::util::Collection *) = 0; + virtual jint size() = 0; + virtual JArray< ::java::lang::Object * > * toArray() = 0; + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_BlockingQueue__ diff --git a/libjava/java/util/concurrent/BrokenBarrierException.h b/libjava/java/util/concurrent/BrokenBarrierException.h new file mode 100644 index 00000000000..e5930d5d523 --- /dev/null +++ b/libjava/java/util/concurrent/BrokenBarrierException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_BrokenBarrierException__ +#define __java_util_concurrent_BrokenBarrierException__ + +#pragma interface + +#include + +class java::util::concurrent::BrokenBarrierException : public ::java::lang::Exception +{ + +public: + BrokenBarrierException(); + BrokenBarrierException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7117394618823254244LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_BrokenBarrierException__ diff --git a/libjava/java/util/concurrent/Callable.h b/libjava/java/util/concurrent/Callable.h new file mode 100644 index 00000000000..636260e0336 --- /dev/null +++ b/libjava/java/util/concurrent/Callable.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Callable__ +#define __java_util_concurrent_Callable__ + +#pragma interface + +#include + +class java::util::concurrent::Callable : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * call() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_Callable__ diff --git a/libjava/java/util/concurrent/CancellationException.h b/libjava/java/util/concurrent/CancellationException.h new file mode 100644 index 00000000000..7695b0162f2 --- /dev/null +++ b/libjava/java/util/concurrent/CancellationException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CancellationException__ +#define __java_util_concurrent_CancellationException__ + +#pragma interface + +#include + +class java::util::concurrent::CancellationException : public ::java::lang::IllegalStateException +{ + +public: + CancellationException(); + CancellationException(::java::lang::String *); +private: + static const jlong serialVersionUID = -9202173006928992231LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CancellationException__ diff --git a/libjava/java/util/concurrent/CompletionService.h b/libjava/java/util/concurrent/CompletionService.h new file mode 100644 index 00000000000..90d79023cda --- /dev/null +++ b/libjava/java/util/concurrent/CompletionService.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CompletionService__ +#define __java_util_concurrent_CompletionService__ + +#pragma interface + +#include + +class java::util::concurrent::CompletionService : public ::java::lang::Object +{ + +public: + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *) = 0; + virtual ::java::util::concurrent::Future * take() = 0; + virtual ::java::util::concurrent::Future * poll() = 0; + virtual ::java::util::concurrent::Future * poll(jlong, ::java::util::concurrent::TimeUnit *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_CompletionService__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h new file mode 100644 index 00000000000..5044f070ab8 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$EntryIterator__ +#define __java_util_concurrent_ConcurrentHashMap$EntryIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$EntryIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator +{ + +public: // actually package-private + ConcurrentHashMap$EntryIterator(::java::util::concurrent::ConcurrentHashMap *); +public: + ::java::util::Map$Entry * target$next(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$EntryIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h b/libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h new file mode 100644 index 00000000000..999c022833e --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$EntrySet__ +#define __java_util_concurrent_ConcurrentHashMap$EntrySet__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$EntrySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + ConcurrentHashMap$EntrySet(::java::util::concurrent::ConcurrentHashMap *); +public: + ::java::util::Iterator * iterator(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); + jint size(); + void clear(); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$EntrySet__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h b/libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h new file mode 100644 index 00000000000..730394d1c23 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$HashEntry__ +#define __java_util_concurrent_ConcurrentHashMap$HashEntry__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentHashMap$HashEntry : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentHashMap$HashEntry(::java::lang::Object *, jint, ::java::util::concurrent::ConcurrentHashMap$HashEntry *, ::java::lang::Object *); + static JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * newArray(jint); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + jint hash; + volatile ::java::lang::Object * value; + ::java::util::concurrent::ConcurrentHashMap$HashEntry * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$HashEntry__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h new file mode 100644 index 00000000000..2a3895cb1c0 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$HashIterator__ +#define __java_util_concurrent_ConcurrentHashMap$HashIterator__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentHashMap$HashIterator : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentHashMap$HashIterator(::java::util::concurrent::ConcurrentHashMap *); +public: + virtual jboolean hasMoreElements(); +public: // actually package-private + virtual void advance(); +public: + virtual jboolean hasNext(); +public: // actually package-private + virtual ::java::util::concurrent::ConcurrentHashMap$HashEntry * nextEntry(); +public: + virtual void remove(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextSegmentIndex; + jint nextTableIndex; + JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * currentTable; + ::java::util::concurrent::ConcurrentHashMap$HashEntry * nextEntry__; + ::java::util::concurrent::ConcurrentHashMap$HashEntry * lastReturned; + ::java::util::concurrent::ConcurrentHashMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$HashIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h new file mode 100644 index 00000000000..afa1b8a0dc1 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$KeyIterator__ +#define __java_util_concurrent_ConcurrentHashMap$KeyIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$KeyIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator +{ + +public: // actually package-private + ConcurrentHashMap$KeyIterator(::java::util::concurrent::ConcurrentHashMap *); +public: + ::java::lang::Object * next(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$KeyIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h b/libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h new file mode 100644 index 00000000000..31b002fed7d --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$KeySet__ +#define __java_util_concurrent_ConcurrentHashMap$KeySet__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$KeySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + ConcurrentHashMap$KeySet(::java::util::concurrent::ConcurrentHashMap *); +public: + ::java::util::Iterator * iterator(); + jint size(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); + void clear(); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$KeySet__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$Segment.h b/libjava/java/util/concurrent/ConcurrentHashMap$Segment.h new file mode 100644 index 00000000000..aaa2a7ae10d --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$Segment.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$Segment__ +#define __java_util_concurrent_ConcurrentHashMap$Segment__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentHashMap$Segment : public ::java::util::concurrent::locks::ReentrantLock +{ + +public: // actually package-private + ConcurrentHashMap$Segment(jint, jfloat); + static JArray< ::java::util::concurrent::ConcurrentHashMap$Segment * > * newArray(jint); + void setTable(JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > *); + ::java::util::concurrent::ConcurrentHashMap$HashEntry * getFirst(jint); + ::java::lang::Object * readValueUnderLock(::java::util::concurrent::ConcurrentHashMap$HashEntry *); + ::java::lang::Object * get(::java::lang::Object *, jint); + jboolean containsKey(::java::lang::Object *, jint); + jboolean containsValue(::java::lang::Object *); + jboolean replace(::java::lang::Object *, jint, ::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * replace(::java::lang::Object *, jint, ::java::lang::Object *); + ::java::lang::Object * put(::java::lang::Object *, jint, ::java::lang::Object *, jboolean); + void rehash(); + ::java::lang::Object * remove(::java::lang::Object *, jint, ::java::lang::Object *); + void clear(); +private: + static const jlong serialVersionUID = 2249069246763182397LL; +public: // actually package-private + volatile jint __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::ReentrantLock)))) count; + jint modCount; + jint threshold; + volatile JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * table; + jfloat loadFactor; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$Segment__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h new file mode 100644 index 00000000000..6ccd9057ccf --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$ValueIterator__ +#define __java_util_concurrent_ConcurrentHashMap$ValueIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$ValueIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator +{ + +public: // actually package-private + ConcurrentHashMap$ValueIterator(::java::util::concurrent::ConcurrentHashMap *); +public: + ::java::lang::Object * next(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$ValueIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$Values.h b/libjava/java/util/concurrent/ConcurrentHashMap$Values.h new file mode 100644 index 00000000000..9470ec45221 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$Values.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$Values__ +#define __java_util_concurrent_ConcurrentHashMap$Values__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$Values : public ::java::util::AbstractCollection +{ + +public: // actually package-private + ConcurrentHashMap$Values(::java::util::concurrent::ConcurrentHashMap *); +public: + ::java::util::Iterator * iterator(); + jint size(); + jboolean contains(::java::lang::Object *); + void clear(); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$Values__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h b/libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h new file mode 100644 index 00000000000..9c7398ee99a --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap$WriteThroughEntry__ +#define __java_util_concurrent_ConcurrentHashMap$WriteThroughEntry__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentHashMap$WriteThroughEntry : public ::java::util::AbstractMap$SimpleEntry +{ + +public: // actually package-private + ConcurrentHashMap$WriteThroughEntry(::java::util::concurrent::ConcurrentHashMap *, ::java::lang::Object *, ::java::lang::Object *); +public: + ::java::lang::Object * setValue(::java::lang::Object *); +public: // actually package-private + ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap$WriteThroughEntry__ diff --git a/libjava/java/util/concurrent/ConcurrentHashMap.h b/libjava/java/util/concurrent/ConcurrentHashMap.h new file mode 100644 index 00000000000..0e733c065e4 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentHashMap.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentHashMap__ +#define __java_util_concurrent_ConcurrentHashMap__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentHashMap : public ::java::util::AbstractMap +{ + + static jint hash(jint); +public: // actually package-private + virtual ::java::util::concurrent::ConcurrentHashMap$Segment * segmentFor(jint); +public: + ConcurrentHashMap(jint, jfloat, jint); + ConcurrentHashMap(jint, jfloat); + ConcurrentHashMap(jint); + ConcurrentHashMap(); + ConcurrentHashMap(::java::util::Map *); + virtual jboolean isEmpty(); + virtual jint size(); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual jboolean contains(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *); + virtual void clear(); + virtual ::java::util::Set * keySet(); + virtual ::java::util::Collection * values(); + virtual ::java::util::Set * entrySet(); + virtual ::java::util::Enumeration * keys(); + virtual ::java::util::Enumeration * elements(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 7249069246763182397LL; +public: // actually package-private + static const jint DEFAULT_INITIAL_CAPACITY = 16; + static jfloat DEFAULT_LOAD_FACTOR; + static const jint DEFAULT_CONCURRENCY_LEVEL = 16; + static const jint MAXIMUM_CAPACITY = 1073741824; + static const jint MAX_SEGMENTS = 65536; + static const jint RETRIES_BEFORE_LOCK = 2; + jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) segmentMask; + jint segmentShift; + JArray< ::java::util::concurrent::ConcurrentHashMap$Segment * > * segments; + ::java::util::Set * keySet__; + ::java::util::Set * entrySet__; + ::java::util::Collection * values__; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentHashMap__ diff --git a/libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h new file mode 100644 index 00000000000..ddf3f7e88c1 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentLinkedQueue$Itr__ +#define __java_util_concurrent_ConcurrentLinkedQueue$Itr__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentLinkedQueue$Itr : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentLinkedQueue$Itr(::java::util::concurrent::ConcurrentLinkedQueue *); +private: + ::java::lang::Object * advance(); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +private: + ::java::util::concurrent::ConcurrentLinkedQueue$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextNode; + ::java::lang::Object * nextItem; + ::java::util::concurrent::ConcurrentLinkedQueue$Node * lastRet; +public: // actually package-private + ::java::util::concurrent::ConcurrentLinkedQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentLinkedQueue$Itr__ diff --git a/libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h new file mode 100644 index 00000000000..60fee41a4d0 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentLinkedQueue$Node__ +#define __java_util_concurrent_ConcurrentLinkedQueue$Node__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentLinkedQueue$Node : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentLinkedQueue$Node(::java::lang::Object *); + ConcurrentLinkedQueue$Node(::java::lang::Object *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *); + virtual ::java::lang::Object * getItem(); + virtual jboolean casItem(::java::lang::Object *, ::java::lang::Object *); + virtual void setItem(::java::lang::Object *); + virtual ::java::util::concurrent::ConcurrentLinkedQueue$Node * getNext(); + virtual jboolean casNext(::java::util::concurrent::ConcurrentLinkedQueue$Node *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *); + virtual void setNext(::java::util::concurrent::ConcurrentLinkedQueue$Node *); +private: + volatile ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) item; + volatile ::java::util::concurrent::ConcurrentLinkedQueue$Node * next; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * itemUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentLinkedQueue$Node__ diff --git a/libjava/java/util/concurrent/ConcurrentLinkedQueue.h b/libjava/java/util/concurrent/ConcurrentLinkedQueue.h new file mode 100644 index 00000000000..281690e36fb --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentLinkedQueue.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentLinkedQueue__ +#define __java_util_concurrent_ConcurrentLinkedQueue__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentLinkedQueue : public ::java::util::AbstractQueue +{ + + jboolean casTail(::java::util::concurrent::ConcurrentLinkedQueue$Node *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *); + jboolean casHead(::java::util::concurrent::ConcurrentLinkedQueue$Node *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *); +public: + ConcurrentLinkedQueue(); + ConcurrentLinkedQueue(::java::util::Collection *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * peek(); +public: // actually package-private + virtual ::java::util::concurrent::ConcurrentLinkedQueue$Node * first(); +public: + virtual jboolean isEmpty(); + virtual jint size(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual ::java::util::Iterator * iterator(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 196745693267521676LL; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * tailUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater; + volatile ::java::util::concurrent::ConcurrentLinkedQueue$Node * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) head; + volatile ::java::util::concurrent::ConcurrentLinkedQueue$Node * tail; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentLinkedQueue__ diff --git a/libjava/java/util/concurrent/ConcurrentMap.h b/libjava/java/util/concurrent/ConcurrentMap.h new file mode 100644 index 00000000000..a3357e30438 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentMap.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentMap__ +#define __java_util_concurrent_ConcurrentMap__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentMap : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Object *) = 0; + virtual jboolean containsValue(::java::lang::Object *) = 0; + virtual ::java::util::Set * entrySet() = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Set * keySet() = 0; + virtual void putAll(::java::util::Map *) = 0; + virtual ::java::lang::Object * remove(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Collection * values() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_ConcurrentMap__ diff --git a/libjava/java/util/concurrent/ConcurrentNavigableMap.h b/libjava/java/util/concurrent/ConcurrentNavigableMap.h new file mode 100644 index 00000000000..68f4d01c91a --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentNavigableMap.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentNavigableMap__ +#define __java_util_concurrent_ConcurrentNavigableMap__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentNavigableMap : public ::java::lang::Object +{ + +public: + virtual ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0; + virtual ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *) = 0; + virtual ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *) = 0; + virtual ::java::util::concurrent::ConcurrentNavigableMap * descendingMap() = 0; + virtual ::java::util::NavigableSet * navigableKeySet() = 0; + virtual ::java::util::NavigableSet * keySet() = 0; + virtual ::java::util::NavigableSet * descendingKeySet() = 0; + virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Object *) = 0; + virtual jboolean containsValue(::java::lang::Object *) = 0; + virtual ::java::util::Set * entrySet() = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Set * keySet() = 0; + virtual void putAll(::java::util::Map *) = 0; + virtual ::java::lang::Object * remove(::java::lang::Object *) = 0; + virtual jint size() = 0; + virtual ::java::util::Collection * values() = 0; + virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * lowerKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * floorKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * ceilingKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *) = 0; + virtual ::java::lang::Object * higherKey(::java::lang::Object *) = 0; + virtual ::java::util::Map$Entry * firstEntry() = 0; + virtual ::java::util::Map$Entry * lastEntry() = 0; + virtual ::java::util::Map$Entry * pollFirstEntry() = 0; + virtual ::java::util::Map$Entry * pollLastEntry() = 0; + virtual ::java::util::NavigableMap * descendingMap() = 0; + virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0; + virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean) = 0; + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::util::SortedMap * headMap(::java::lang::Object *) = 0; + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *) = 0; + virtual ::java::util::Comparator * comparator() = 0; + virtual ::java::lang::Object * firstKey() = 0; + virtual ::java::lang::Object * lastKey() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_ConcurrentNavigableMap__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h new file mode 100644 index 00000000000..b64afd55434 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$ComparableUsingComparator__ +#define __java_util_concurrent_ConcurrentSkipListMap$ComparableUsingComparator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$ComparableUsingComparator : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentSkipListMap$ComparableUsingComparator(::java::lang::Object *, ::java::util::Comparator *); +public: + jint compareTo(::java::lang::Object *); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) actualKey; + ::java::util::Comparator * cmp; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$ComparableUsingComparator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h new file mode 100644 index 00000000000..1949e5ac617 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$EntryIterator__ +#define __java_util_concurrent_ConcurrentSkipListMap$EntryIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$EntryIterator : public ::java::util::concurrent::ConcurrentSkipListMap$Iter +{ + +public: // actually package-private + ConcurrentSkipListMap$EntryIterator(::java::util::concurrent::ConcurrentSkipListMap *); +public: + ::java::util::Map$Entry * target$next(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Iter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$EntryIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h new file mode 100644 index 00000000000..e235ffc8d54 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$EntrySet__ +#define __java_util_concurrent_ConcurrentSkipListMap$EntrySet__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentSkipListMap$EntrySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + ConcurrentSkipListMap$EntrySet(::java::util::concurrent::ConcurrentNavigableMap *); +public: + ::java::util::Iterator * iterator(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); + jboolean isEmpty(); + jint size(); + void clear(); + jboolean equals(::java::lang::Object *); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); +private: + ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) m; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$EntrySet__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h new file mode 100644 index 00000000000..f20214ce645 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$HeadIndex__ +#define __java_util_concurrent_ConcurrentSkipListMap$HeadIndex__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$HeadIndex : public ::java::util::concurrent::ConcurrentSkipListMap$Index +{ + +public: // actually package-private + ConcurrentSkipListMap$HeadIndex(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *, jint); + jint __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Index)))) level; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$HeadIndex__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h new file mode 100644 index 00000000000..c71b25bd327 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$Index__ +#define __java_util_concurrent_ConcurrentSkipListMap$Index__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$Index : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentSkipListMap$Index(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *); + virtual jboolean casRight(::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *); + virtual jboolean indexesDeletedNode(); + virtual jboolean link(::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *); + virtual jboolean unlink(::java::util::concurrent::ConcurrentSkipListMap$Index *); + ::java::util::concurrent::ConcurrentSkipListMap$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; + ::java::util::concurrent::ConcurrentSkipListMap$Index * down; + volatile ::java::util::concurrent::ConcurrentSkipListMap$Index * right; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * rightUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$Index__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h new file mode 100644 index 00000000000..f9170b31718 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$Iter__ +#define __java_util_concurrent_ConcurrentSkipListMap$Iter__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$Iter : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentSkipListMap$Iter(::java::util::concurrent::ConcurrentSkipListMap *); +public: + virtual jboolean hasNext(); +public: // actually package-private + virtual void advance(); +public: + virtual void remove(); + virtual ::java::lang::Object * next() = 0; +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastReturned; + ::java::util::concurrent::ConcurrentSkipListMap$Node * next; + ::java::lang::Object * nextValue; + ::java::util::concurrent::ConcurrentSkipListMap * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$Iter__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h new file mode 100644 index 00000000000..03eb3e84a93 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$KeyIterator__ +#define __java_util_concurrent_ConcurrentSkipListMap$KeyIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$KeyIterator : public ::java::util::concurrent::ConcurrentSkipListMap$Iter +{ + +public: // actually package-private + ConcurrentSkipListMap$KeyIterator(::java::util::concurrent::ConcurrentSkipListMap *); +public: + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Iter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$KeyIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h new file mode 100644 index 00000000000..c2372f8b491 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$KeySet__ +#define __java_util_concurrent_ConcurrentSkipListMap$KeySet__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentSkipListMap$KeySet : public ::java::util::AbstractSet +{ + +public: // actually package-private + ConcurrentSkipListMap$KeySet(::java::util::concurrent::ConcurrentNavigableMap *); +public: + jint size(); + jboolean isEmpty(); + jboolean contains(::java::lang::Object *); + jboolean remove(::java::lang::Object *); + void clear(); + ::java::lang::Object * lower(::java::lang::Object *); + ::java::lang::Object * floor(::java::lang::Object *); + ::java::lang::Object * ceiling(::java::lang::Object *); + ::java::lang::Object * higher(::java::lang::Object *); + ::java::util::Comparator * comparator(); + ::java::lang::Object * first(); + ::java::lang::Object * last(); + ::java::lang::Object * pollFirst(); + ::java::lang::Object * pollLast(); + ::java::util::Iterator * iterator(); + jboolean equals(::java::lang::Object *); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + ::java::util::Iterator * descendingIterator(); + ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); + ::java::util::NavigableSet * target$subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableSet * target$headSet(::java::lang::Object *); + ::java::util::NavigableSet * target$tailSet(::java::lang::Object *); + ::java::util::NavigableSet * descendingSet(); + ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + ::java::util::SortedSet * tailSet(::java::lang::Object *); + ::java::util::SortedSet * headSet(::java::lang::Object *); +private: + ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) m; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$KeySet__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h new file mode 100644 index 00000000000..1b94c359071 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$Node__ +#define __java_util_concurrent_ConcurrentSkipListMap$Node__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$Node : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentSkipListMap$Node(::java::lang::Object *, ::java::lang::Object *, ::java::util::concurrent::ConcurrentSkipListMap$Node *); + ConcurrentSkipListMap$Node(::java::util::concurrent::ConcurrentSkipListMap$Node *); + jboolean casValue(::java::lang::Object *, ::java::lang::Object *); + jboolean casNext(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Node *); + jboolean isMarker(); + jboolean isBaseHeader(); + jboolean appendMarker(::java::util::concurrent::ConcurrentSkipListMap$Node *); + void helpDelete(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Node *); + ::java::lang::Object * getValidValue(); + ::java::util::AbstractMap$SimpleImmutableEntry * createSnapshot(); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + volatile ::java::lang::Object * value; + volatile ::java::util::concurrent::ConcurrentSkipListMap$Node * next; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * valueUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$Node__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h new file mode 100644 index 00000000000..8b01d994082 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapEntryIterator__ +#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapEntryIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapEntryIterator : public ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter +{ + +public: // actually package-private + ConcurrentSkipListMap$SubMap$SubMapEntryIterator(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); +public: + ::java::util::Map$Entry * target$next(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapEntryIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h new file mode 100644 index 00000000000..a4f569348ae --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapIter__ +#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapIter__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter : public ::java::lang::Object +{ + +public: // actually package-private + ConcurrentSkipListMap$SubMap$SubMapIter(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); +public: + virtual jboolean hasNext(); +public: // actually package-private + virtual void advance(); +private: + void ascend(); + void descend(); +public: + virtual void remove(); + virtual ::java::lang::Object * next() = 0; +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastReturned; + ::java::util::concurrent::ConcurrentSkipListMap$Node * next; + ::java::lang::Object * nextValue; + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapIter__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h new file mode 100644 index 00000000000..5af0bca1d4e --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapKeyIterator__ +#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapKeyIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapKeyIterator : public ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter +{ + +public: // actually package-private + ConcurrentSkipListMap$SubMap$SubMapKeyIterator(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); +public: + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapKeyIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h new file mode 100644 index 00000000000..deefc73c9b6 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapValueIterator__ +#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapValueIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapValueIterator : public ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter +{ + +public: // actually package-private + ConcurrentSkipListMap$SubMap$SubMapValueIterator(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); +public: + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapValueIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h new file mode 100644 index 00000000000..e065dbe6caa --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h @@ -0,0 +1,118 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap__ +#define __java_util_concurrent_ConcurrentSkipListMap$SubMap__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$SubMap : public ::java::util::AbstractMap +{ + +public: // actually package-private + ConcurrentSkipListMap$SubMap(::java::util::concurrent::ConcurrentSkipListMap *, ::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean, jboolean); +private: + jboolean tooLow(::java::lang::Object *); + jboolean tooHigh(::java::lang::Object *); + jboolean inBounds(::java::lang::Object *); + void checkKeyBounds(::java::lang::Object *); + jboolean isBeforeEnd(::java::util::concurrent::ConcurrentSkipListMap$Node *); + ::java::util::concurrent::ConcurrentSkipListMap$Node * loNode(); + ::java::util::concurrent::ConcurrentSkipListMap$Node * hiNode(); + ::java::lang::Object * lowestKey(); + ::java::lang::Object * highestKey(); + ::java::util::Map$Entry * lowestEntry(); + ::java::util::Map$Entry * highestEntry(); + ::java::util::Map$Entry * removeLowest(); + ::java::util::Map$Entry * removeHighest(); + ::java::util::Map$Entry * getNearEntry(::java::lang::Object *, jint); + ::java::lang::Object * getNearKey(::java::lang::Object *, jint); +public: + jboolean containsKey(::java::lang::Object *); + ::java::lang::Object * get(::java::lang::Object *); + ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * remove(::java::lang::Object *); + jint size(); + jboolean isEmpty(); + jboolean containsValue(::java::lang::Object *); + void clear(); + ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *); + jboolean remove(::java::lang::Object *, ::java::lang::Object *); + jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *); + ::java::util::Comparator * comparator(); +private: + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * newSubMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); +public: + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$headMap(::java::lang::Object *, jboolean); + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$tailMap(::java::lang::Object *, jboolean); + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$headMap(::java::lang::Object *); + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$tailMap(::java::lang::Object *); + ::java::util::concurrent::ConcurrentSkipListMap$SubMap * target$descendingMap(); + ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *); + ::java::lang::Object * ceilingKey(::java::lang::Object *); + ::java::util::Map$Entry * lowerEntry(::java::lang::Object *); + ::java::lang::Object * lowerKey(::java::lang::Object *); + ::java::util::Map$Entry * floorEntry(::java::lang::Object *); + ::java::lang::Object * floorKey(::java::lang::Object *); + ::java::util::Map$Entry * higherEntry(::java::lang::Object *); + ::java::lang::Object * higherKey(::java::lang::Object *); + ::java::lang::Object * firstKey(); + ::java::lang::Object * lastKey(); + ::java::util::Map$Entry * firstEntry(); + ::java::util::Map$Entry * lastEntry(); + ::java::util::Map$Entry * pollFirstEntry(); + ::java::util::Map$Entry * pollLastEntry(); + ::java::util::NavigableSet * target$keySet(); + ::java::util::NavigableSet * navigableKeySet(); + ::java::util::Collection * values(); + ::java::util::Set * entrySet(); + ::java::util::NavigableSet * descendingKeySet(); +public: // actually package-private + ::java::util::Iterator * keyIterator(); + ::java::util::Iterator * valueIterator(); + ::java::util::Iterator * entryIterator(); +public: + ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, ::java::lang::Object *); + ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + ::java::util::SortedMap * tailMap(::java::lang::Object *); + ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *); + ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean); + ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *, jboolean); + ::java::util::SortedMap * headMap(::java::lang::Object *); + ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *); + ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean); + ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *, jboolean); + ::java::util::Set * keySet(); + ::java::util::NavigableMap * descendingMap(); + ::java::util::concurrent::ConcurrentNavigableMap * descendingMap(); +public: // actually package-private + static jboolean access$15(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); + static ::java::util::concurrent::ConcurrentSkipListMap$Node * access$16(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); + static ::java::util::concurrent::ConcurrentSkipListMap$Node * access$17(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); + static jboolean access$18(::java::util::concurrent::ConcurrentSkipListMap$SubMap *, ::java::lang::Object *); + static jboolean access$19(::java::util::concurrent::ConcurrentSkipListMap$SubMap *, ::java::lang::Object *); + static ::java::util::concurrent::ConcurrentSkipListMap * access$20(::java::util::concurrent::ConcurrentSkipListMap$SubMap *); + static jboolean access$21(::java::util::concurrent::ConcurrentSkipListMap$SubMap *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = -7647078645895051609LL; + ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) m; + ::java::lang::Object * lo; + ::java::lang::Object * hi; + jboolean loInclusive; + jboolean hiInclusive; + jboolean isDescending; + ::java::util::concurrent::ConcurrentSkipListMap$KeySet * keySetView; + ::java::util::Set * entrySetView; + ::java::util::Collection * valuesView; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h new file mode 100644 index 00000000000..fa671d81484 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$ValueIterator__ +#define __java_util_concurrent_ConcurrentSkipListMap$ValueIterator__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap$ValueIterator : public ::java::util::concurrent::ConcurrentSkipListMap$Iter +{ + +public: // actually package-private + ConcurrentSkipListMap$ValueIterator(::java::util::concurrent::ConcurrentSkipListMap *); +public: + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Iter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$ValueIterator__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h new file mode 100644 index 00000000000..1fc3b1b8ee4 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap$Values__ +#define __java_util_concurrent_ConcurrentSkipListMap$Values__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ConcurrentSkipListMap$Values : public ::java::util::AbstractCollection +{ + +public: // actually package-private + ConcurrentSkipListMap$Values(::java::util::concurrent::ConcurrentNavigableMap *); +public: + ::java::util::Iterator * iterator(); + jboolean isEmpty(); + jint size(); + jboolean contains(::java::lang::Object *); + void clear(); + JArray< ::java::lang::Object * > * toArray(); + JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); +private: + ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) m; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap$Values__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap.h b/libjava/java/util/concurrent/ConcurrentSkipListMap.h new file mode 100644 index 00000000000..4d42f54688a --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListMap.h @@ -0,0 +1,136 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListMap__ +#define __java_util_concurrent_ConcurrentSkipListMap__ + +#pragma interface + +#include + +class java::util::concurrent::ConcurrentSkipListMap : public ::java::util::AbstractMap +{ + +public: // actually package-private + virtual void initialize(); +private: + jboolean casHead(::java::util::concurrent::ConcurrentSkipListMap$HeadIndex *, ::java::util::concurrent::ConcurrentSkipListMap$HeadIndex *); + ::java::lang::Comparable * comparable(::java::lang::Object *); +public: // actually package-private + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean inHalfOpenRange(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + virtual jboolean inOpenRange(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); +private: + ::java::util::concurrent::ConcurrentSkipListMap$Node * findPredecessor(::java::lang::Comparable *); + ::java::util::concurrent::ConcurrentSkipListMap$Node * findNode(::java::lang::Comparable *); + ::java::lang::Object * doGet(::java::lang::Object *); + ::java::lang::Object * getUsingFindNode(::java::lang::Comparable *); + ::java::lang::Object * doPut(::java::lang::Object *, ::java::lang::Object *, jboolean); + jint randomLevel(); + void insertIndex(::java::util::concurrent::ConcurrentSkipListMap$Node *, jint); + void addIndex(::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$HeadIndex *, jint); +public: // actually package-private + virtual ::java::lang::Object * doRemove(::java::lang::Object *, ::java::lang::Object *); +private: + void tryReduceLevel(); +public: // actually package-private + virtual ::java::util::concurrent::ConcurrentSkipListMap$Node * findFirst(); + virtual ::java::util::Map$Entry * doRemoveFirstEntry(); +private: + void clearIndexToFirst(); +public: // actually package-private + virtual ::java::util::concurrent::ConcurrentSkipListMap$Node * findLast(); +private: + ::java::util::concurrent::ConcurrentSkipListMap$Node * findPredecessorOfLast(); +public: // actually package-private + virtual ::java::util::Map$Entry * doRemoveLastEntry(); + virtual ::java::util::concurrent::ConcurrentSkipListMap$Node * findNear(::java::lang::Object *, jint); + virtual ::java::util::AbstractMap$SimpleImmutableEntry * getNear(::java::lang::Object *, jint); +public: + ConcurrentSkipListMap(); + ConcurrentSkipListMap(::java::util::Comparator *); + ConcurrentSkipListMap(::java::util::Map *); + ConcurrentSkipListMap(::java::util::SortedMap *); + virtual ::java::util::concurrent::ConcurrentSkipListMap * target$clone(); +private: + void buildFromSorted(::java::util::SortedMap *); + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + virtual jboolean containsKey(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual jint size(); + virtual jboolean isEmpty(); + virtual void clear(); + virtual ::java::util::NavigableSet * target$keySet(); + virtual ::java::util::NavigableSet * navigableKeySet(); + virtual ::java::util::Collection * values(); + virtual ::java::util::Set * entrySet(); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$descendingMap(); + virtual ::java::util::NavigableSet * descendingKeySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::Comparator * comparator(); + virtual ::java::lang::Object * firstKey(); + virtual ::java::lang::Object * lastKey(); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$headMap(::java::lang::Object *, jboolean); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$tailMap(::java::lang::Object *, jboolean); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$subMap(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$headMap(::java::lang::Object *); + virtual ::java::util::concurrent::ConcurrentNavigableMap * target$tailMap(::java::lang::Object *); + virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *); + virtual ::java::lang::Object * lowerKey(::java::lang::Object *); + virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *); + virtual ::java::lang::Object * floorKey(::java::lang::Object *); + virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *); + virtual ::java::lang::Object * ceilingKey(::java::lang::Object *); + virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *); + virtual ::java::lang::Object * higherKey(::java::lang::Object *); + virtual ::java::util::Map$Entry * firstEntry(); + virtual ::java::util::Map$Entry * lastEntry(); + virtual ::java::util::Map$Entry * pollFirstEntry(); + virtual ::java::util::Map$Entry * pollLastEntry(); +public: // actually package-private + virtual ::java::util::Iterator * keyIterator(); + virtual ::java::util::Iterator * valueIterator(); + virtual ::java::util::Iterator * entryIterator(); + static ::java::util::List * toList(::java::util::Collection *); +public: + virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + virtual ::java::lang::Object * clone(); + virtual ::java::util::SortedMap * tailMap(::java::lang::Object *); + virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean); + virtual ::java::util::SortedMap * headMap(::java::lang::Object *); + virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean); + virtual ::java::util::Set * keySet(); + virtual ::java::util::NavigableMap * descendingMap(); +public: // actually package-private + static ::java::lang::Object * access$9(); +private: + static const jlong serialVersionUID = -8627078645895051609LL; + static ::java::util::Random * seedGenerator; + static ::java::lang::Object * BASE_HEADER; + volatile ::java::util::concurrent::ConcurrentSkipListMap$HeadIndex * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) head; + ::java::util::Comparator * comparator__; + jint randomSeed; + ::java::util::concurrent::ConcurrentSkipListMap$KeySet * keySet__; + ::java::util::concurrent::ConcurrentSkipListMap$EntrySet * entrySet__; + ::java::util::concurrent::ConcurrentSkipListMap$Values * values__; + ::java::util::concurrent::ConcurrentNavigableMap * descendingMap__; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater; + static const jint EQ = 1; + static const jint LT = 2; + static const jint GT = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListMap__ diff --git a/libjava/java/util/concurrent/ConcurrentSkipListSet.h b/libjava/java/util/concurrent/ConcurrentSkipListSet.h new file mode 100644 index 00000000000..75afde92de6 --- /dev/null +++ b/libjava/java/util/concurrent/ConcurrentSkipListSet.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ConcurrentSkipListSet__ +#define __java_util_concurrent_ConcurrentSkipListSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::ConcurrentSkipListSet : public ::java::util::AbstractSet +{ + +public: + ConcurrentSkipListSet(); + ConcurrentSkipListSet(::java::util::Comparator *); + ConcurrentSkipListSet(::java::util::Collection *); + ConcurrentSkipListSet(::java::util::SortedSet *); +public: // actually package-private + ConcurrentSkipListSet(::java::util::concurrent::ConcurrentNavigableMap *); +public: + virtual ::java::util::concurrent::ConcurrentSkipListSet * target$clone(); + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual void clear(); + virtual ::java::util::Iterator * iterator(); + virtual ::java::util::Iterator * descendingIterator(); + virtual jboolean equals(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual ::java::lang::Object * lower(::java::lang::Object *); + virtual ::java::lang::Object * floor(::java::lang::Object *); + virtual ::java::lang::Object * ceiling(::java::lang::Object *); + virtual ::java::lang::Object * higher(::java::lang::Object *); + virtual ::java::lang::Object * pollFirst(); + virtual ::java::lang::Object * pollLast(); + virtual ::java::util::Comparator * comparator(); + virtual ::java::lang::Object * first(); + virtual ::java::lang::Object * last(); + virtual ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean); + virtual ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean); + virtual ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean); + virtual ::java::util::NavigableSet * target$subSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::NavigableSet * target$headSet(::java::lang::Object *); + virtual ::java::util::NavigableSet * target$tailSet(::java::lang::Object *); + virtual ::java::util::NavigableSet * descendingSet(); +private: + void setMap(::java::util::concurrent::ConcurrentNavigableMap *); +public: + virtual ::java::lang::Object * clone(); + virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::util::SortedSet * tailSet(::java::lang::Object *); + virtual ::java::util::SortedSet * headSet(::java::lang::Object *); +private: + static const jlong serialVersionUID = -2479143111061671589LL; + ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) m; + static ::sun::misc::Unsafe * unsafe; + static jlong mapOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ConcurrentSkipListSet__ diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList.h b/libjava/java/util/concurrent/CopyOnWriteArrayList.h new file mode 100644 index 00000000000..924ba480e96 --- /dev/null +++ b/libjava/java/util/concurrent/CopyOnWriteArrayList.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CopyOnWriteArrayList__ +#define __java_util_concurrent_CopyOnWriteArrayList__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::CopyOnWriteArrayList : public ::java::util::AbstractList +{ + +public: + CopyOnWriteArrayList(); + CopyOnWriteArrayList(::java::util::Collection *); + CopyOnWriteArrayList(JArray< ::java::lang::Object * > *); + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean contains(::java::lang::Object *); + virtual jint indexOf(::java::lang::Object *); + virtual jint indexOf(::java::lang::Object *, jint); + virtual jint lastIndexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *, jint); + virtual ::java::lang::Object * clone(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual void add(jint, ::java::lang::Object *); + virtual ::java::lang::Object * remove(jint); + virtual void clear(); + virtual jboolean addAll(::java::util::Collection *); + virtual jboolean addAll(jint, ::java::util::Collection *); + virtual jboolean addIfAbsent(::java::lang::Object *); + virtual jint addAllAbsent(::java::util::Collection *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static jboolean equals(::java::lang::Object *, ::java::lang::Object *); + virtual JArray< ::java::lang::Object * > * getArray(); +private: + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) data; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CopyOnWriteArrayList__ diff --git a/libjava/java/util/concurrent/CopyOnWriteArraySet.h b/libjava/java/util/concurrent/CopyOnWriteArraySet.h new file mode 100644 index 00000000000..9fb8c8396a6 --- /dev/null +++ b/libjava/java/util/concurrent/CopyOnWriteArraySet.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CopyOnWriteArraySet__ +#define __java_util_concurrent_CopyOnWriteArraySet__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::CopyOnWriteArraySet : public ::java::util::AbstractSet +{ + +public: + CopyOnWriteArraySet(); + CopyOnWriteArraySet(::java::util::Collection *); + virtual jint size(); + virtual jboolean isEmpty(); + virtual jboolean contains(::java::lang::Object *); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual void clear(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean addAll(::java::util::Collection *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual ::java::util::Iterator * iterator(); + virtual jboolean equals(::java::lang::Object *); +private: + static jboolean eq(::java::lang::Object *, ::java::lang::Object *); + static const jlong serialVersionUID = 5457747651344034263LL; + ::java::util::concurrent::CopyOnWriteArrayList * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) al; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CopyOnWriteArraySet__ diff --git a/libjava/java/util/concurrent/CountDownLatch$Sync.h b/libjava/java/util/concurrent/CountDownLatch$Sync.h new file mode 100644 index 00000000000..ee8e75126bc --- /dev/null +++ b/libjava/java/util/concurrent/CountDownLatch$Sync.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CountDownLatch$Sync__ +#define __java_util_concurrent_CountDownLatch$Sync__ + +#pragma interface + +#include + +class java::util::concurrent::CountDownLatch$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer +{ + +public: // actually package-private + CountDownLatch$Sync(jint); + jint getCount(); +public: + jint tryAcquireShared(jint); + jboolean tryReleaseShared(jint); +private: + static const jlong serialVersionUID = 4982264981922014374LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CountDownLatch$Sync__ diff --git a/libjava/java/util/concurrent/CountDownLatch.h b/libjava/java/util/concurrent/CountDownLatch.h new file mode 100644 index 00000000000..68609d3133a --- /dev/null +++ b/libjava/java/util/concurrent/CountDownLatch.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CountDownLatch__ +#define __java_util_concurrent_CountDownLatch__ + +#pragma interface + +#include + +class java::util::concurrent::CountDownLatch : public ::java::lang::Object +{ + +public: + CountDownLatch(jint); + virtual void await(); + virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *); + virtual void countDown(); + virtual jlong getCount(); + virtual ::java::lang::String * toString(); +private: + ::java::util::concurrent::CountDownLatch$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CountDownLatch__ diff --git a/libjava/java/util/concurrent/CyclicBarrier$Generation.h b/libjava/java/util/concurrent/CyclicBarrier$Generation.h new file mode 100644 index 00000000000..c3d7e4ab111 --- /dev/null +++ b/libjava/java/util/concurrent/CyclicBarrier$Generation.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CyclicBarrier$Generation__ +#define __java_util_concurrent_CyclicBarrier$Generation__ + +#pragma interface + +#include + +class java::util::concurrent::CyclicBarrier$Generation : public ::java::lang::Object +{ + + CyclicBarrier$Generation(); +public: // actually package-private + CyclicBarrier$Generation(::java::util::concurrent::CyclicBarrier$Generation *); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) broken; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CyclicBarrier$Generation__ diff --git a/libjava/java/util/concurrent/CyclicBarrier.h b/libjava/java/util/concurrent/CyclicBarrier.h new file mode 100644 index 00000000000..c6c4b3e4fb1 --- /dev/null +++ b/libjava/java/util/concurrent/CyclicBarrier.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_CyclicBarrier__ +#define __java_util_concurrent_CyclicBarrier__ + +#pragma interface + +#include + +class java::util::concurrent::CyclicBarrier : public ::java::lang::Object +{ + + void nextGeneration(); + void breakBarrier(); + jint dowait(jboolean, jlong); +public: + CyclicBarrier(jint, ::java::lang::Runnable *); + CyclicBarrier(jint); + virtual jint getParties(); + virtual jint await(); + virtual jint await(jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean isBroken(); + virtual void reset(); + virtual jint getNumberWaiting(); +private: + ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lock; + ::java::util::concurrent::locks::Condition * trip; + jint parties; + ::java::lang::Runnable * barrierCommand; + ::java::util::concurrent::CyclicBarrier$Generation * generation; + jint count; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_CyclicBarrier__ diff --git a/libjava/java/util/concurrent/DelayQueue$Itr.h b/libjava/java/util/concurrent/DelayQueue$Itr.h new file mode 100644 index 00000000000..ab7af20e87b --- /dev/null +++ b/libjava/java/util/concurrent/DelayQueue$Itr.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_DelayQueue$Itr__ +#define __java_util_concurrent_DelayQueue$Itr__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::DelayQueue$Itr : public ::java::lang::Object +{ + +public: // actually package-private + DelayQueue$Itr(::java::util::concurrent::DelayQueue *, JArray< ::java::lang::Object * > *); +public: + virtual jboolean hasNext(); + virtual ::java::util::concurrent::Delayed * target$next(); + virtual void remove(); + virtual ::java::lang::Object * next(); +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array; + jint cursor; + jint lastRet; + ::java::util::concurrent::DelayQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_DelayQueue$Itr__ diff --git a/libjava/java/util/concurrent/DelayQueue.h b/libjava/java/util/concurrent/DelayQueue.h new file mode 100644 index 00000000000..76dd489f298 --- /dev/null +++ b/libjava/java/util/concurrent/DelayQueue.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_DelayQueue__ +#define __java_util_concurrent_DelayQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::DelayQueue : public ::java::util::AbstractQueue +{ + +public: + DelayQueue(); + DelayQueue(::java::util::Collection *); + virtual jboolean target$add(::java::util::concurrent::Delayed *); + virtual jboolean target$offer(::java::util::concurrent::Delayed *); + virtual void target$put(::java::util::concurrent::Delayed *); + virtual jboolean target$offer(::java::util::concurrent::Delayed *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::Delayed * target$poll(); + virtual ::java::util::concurrent::Delayed * target$take(); + virtual ::java::util::concurrent::Delayed * target$poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::Delayed * target$peek(); + virtual jint size(); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); + virtual void clear(); + virtual jint remainingCapacity(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual jboolean remove(::java::lang::Object *); + virtual ::java::util::Iterator * iterator(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * take(); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * peek(); + virtual jboolean add(::java::lang::Object *); + virtual void put(::java::lang::Object *); +public: // actually package-private + static ::java::util::concurrent::locks::ReentrantLock * access$8(::java::util::concurrent::DelayQueue *); + static ::java::util::PriorityQueue * access$9(::java::util::concurrent::DelayQueue *); +private: + ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) lock; + ::java::util::concurrent::locks::Condition * available; + ::java::util::PriorityQueue * q; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_DelayQueue__ diff --git a/libjava/java/util/concurrent/Delayed.h b/libjava/java/util/concurrent/Delayed.h new file mode 100644 index 00000000000..2a8d4e5d1a5 --- /dev/null +++ b/libjava/java/util/concurrent/Delayed.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Delayed__ +#define __java_util_concurrent_Delayed__ + +#pragma interface + +#include + +class java::util::concurrent::Delayed : public ::java::lang::Object +{ + +public: + virtual jlong getDelay(::java::util::concurrent::TimeUnit *) = 0; + virtual jint compareTo(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_Delayed__ diff --git a/libjava/java/util/concurrent/Exchanger$Node.h b/libjava/java/util/concurrent/Exchanger$Node.h new file mode 100644 index 00000000000..5e1087b7611 --- /dev/null +++ b/libjava/java/util/concurrent/Exchanger$Node.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Exchanger$Node__ +#define __java_util_concurrent_Exchanger$Node__ + +#pragma interface + +#include + +class java::util::concurrent::Exchanger$Node : public ::java::util::concurrent::atomic::AtomicReference +{ + +public: + Exchanger$Node(::java::lang::Object *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicReference)))) item; + volatile ::java::lang::Thread * waiter; + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Exchanger$Node__ diff --git a/libjava/java/util/concurrent/Exchanger$Slot.h b/libjava/java/util/concurrent/Exchanger$Slot.h new file mode 100644 index 00000000000..4d1d4165412 --- /dev/null +++ b/libjava/java/util/concurrent/Exchanger$Slot.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Exchanger$Slot__ +#define __java_util_concurrent_Exchanger$Slot__ + +#pragma interface + +#include + +class java::util::concurrent::Exchanger$Slot : public ::java::util::concurrent::atomic::AtomicReference +{ + + Exchanger$Slot(); +public: // actually package-private + Exchanger$Slot(::java::util::concurrent::Exchanger$Slot *); + jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicReference)))) q0; + jlong q1; + jlong q2; + jlong q3; + jlong q4; + jlong q5; + jlong q6; + jlong q7; + jlong q8; + jlong q9; + jlong qa; + jlong qb; + jlong qc; + jlong qd; + jlong qe; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Exchanger$Slot__ diff --git a/libjava/java/util/concurrent/Exchanger.h b/libjava/java/util/concurrent/Exchanger.h new file mode 100644 index 00000000000..5ed4d252a90 --- /dev/null +++ b/libjava/java/util/concurrent/Exchanger.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Exchanger__ +#define __java_util_concurrent_Exchanger__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::Exchanger : public ::java::lang::Object +{ + + ::java::lang::Object * doExchange(::java::lang::Object *, jboolean, jlong); + jint hashIndex(); + void createSlot(jint); + static jboolean tryCancel(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *); + static ::java::lang::Object * spinWait(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *); + static ::java::lang::Object * await(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *); + ::java::lang::Object * awaitNanos(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *, jlong); + ::java::lang::Object * scanOnTimeout(::java::util::concurrent::Exchanger$Node *); +public: + Exchanger(); + virtual ::java::lang::Object * exchange(::java::lang::Object *); + virtual ::java::lang::Object * exchange(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); +private: + static jint NCPU; + static const jint CAPACITY = 32; + static jint FULL; + static jint SPINS; + static jint TIMED_SPINS; + static ::java::lang::Object * CANCEL; + static ::java::lang::Object * NULL_ITEM; + volatile JArray< ::java::util::concurrent::Exchanger$Slot * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) arena; + ::java::util::concurrent::atomic::AtomicInteger * max; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Exchanger__ diff --git a/libjava/java/util/concurrent/ExecutionException.h b/libjava/java/util/concurrent/ExecutionException.h new file mode 100644 index 00000000000..3f210c7df2d --- /dev/null +++ b/libjava/java/util/concurrent/ExecutionException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ExecutionException__ +#define __java_util_concurrent_ExecutionException__ + +#pragma interface + +#include + +class java::util::concurrent::ExecutionException : public ::java::lang::Exception +{ + +public: // actually protected + ExecutionException(); + ExecutionException(::java::lang::String *); +public: + ExecutionException(::java::lang::String *, ::java::lang::Throwable *); + ExecutionException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 7830266012832686185LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ExecutionException__ diff --git a/libjava/java/util/concurrent/Executor.h b/libjava/java/util/concurrent/Executor.h new file mode 100644 index 00000000000..2e59bc4666a --- /dev/null +++ b/libjava/java/util/concurrent/Executor.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executor__ +#define __java_util_concurrent_Executor__ + +#pragma interface + +#include + +class java::util::concurrent::Executor : public ::java::lang::Object +{ + +public: + virtual void execute(::java::lang::Runnable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_Executor__ diff --git a/libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h b/libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h new file mode 100644 index 00000000000..806cecfe218 --- /dev/null +++ b/libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ExecutorCompletionService$QueueingFuture__ +#define __java_util_concurrent_ExecutorCompletionService$QueueingFuture__ + +#pragma interface + +#include + +class java::util::concurrent::ExecutorCompletionService$QueueingFuture : public ::java::util::concurrent::FutureTask +{ + +public: // actually package-private + ExecutorCompletionService$QueueingFuture(::java::util::concurrent::ExecutorCompletionService *, ::java::util::concurrent::RunnableFuture *); +public: // actually protected + virtual void done(); +private: + ::java::util::concurrent::Future * __attribute__((aligned(__alignof__( ::java::util::concurrent::FutureTask)))) task; +public: // actually package-private + ::java::util::concurrent::ExecutorCompletionService * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ExecutorCompletionService$QueueingFuture__ diff --git a/libjava/java/util/concurrent/ExecutorCompletionService.h b/libjava/java/util/concurrent/ExecutorCompletionService.h new file mode 100644 index 00000000000..922e2d98e20 --- /dev/null +++ b/libjava/java/util/concurrent/ExecutorCompletionService.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ExecutorCompletionService__ +#define __java_util_concurrent_ExecutorCompletionService__ + +#pragma interface + +#include + +class java::util::concurrent::ExecutorCompletionService : public ::java::lang::Object +{ + + ::java::util::concurrent::RunnableFuture * newTaskFor(::java::util::concurrent::Callable *); + ::java::util::concurrent::RunnableFuture * newTaskFor(::java::lang::Runnable *, ::java::lang::Object *); +public: + ExecutorCompletionService(::java::util::concurrent::Executor *); + ExecutorCompletionService(::java::util::concurrent::Executor *, ::java::util::concurrent::BlockingQueue *); + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *); + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *); + virtual ::java::util::concurrent::Future * take(); + virtual ::java::util::concurrent::Future * poll(); + virtual ::java::util::concurrent::Future * poll(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + static ::java::util::concurrent::BlockingQueue * access$0(::java::util::concurrent::ExecutorCompletionService *); +private: + ::java::util::concurrent::Executor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) executor; + ::java::util::concurrent::AbstractExecutorService * aes; + ::java::util::concurrent::BlockingQueue * completionQueue; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ExecutorCompletionService__ diff --git a/libjava/java/util/concurrent/ExecutorService.h b/libjava/java/util/concurrent/ExecutorService.h new file mode 100644 index 00000000000..3c2431495f6 --- /dev/null +++ b/libjava/java/util/concurrent/ExecutorService.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ExecutorService__ +#define __java_util_concurrent_ExecutorService__ + +#pragma interface + +#include + +class java::util::concurrent::ExecutorService : public ::java::lang::Object +{ + +public: + virtual void shutdown() = 0; + virtual ::java::util::List * shutdownNow() = 0; + virtual jboolean isShutdown() = 0; + virtual jboolean isTerminated() = 0; + virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *) = 0; + virtual ::java::util::List * invokeAll(::java::util::Collection *) = 0; + virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * invokeAny(::java::util::Collection *) = 0; + virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual void execute(::java::lang::Runnable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_ExecutorService__ diff --git a/libjava/java/util/concurrent/Executors$1.h b/libjava/java/util/concurrent/Executors$1.h new file mode 100644 index 00000000000..9935b610697 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$1.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$1__ +#define __java_util_concurrent_Executors$1__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$1 : public ::java::lang::Object +{ + +public: // actually package-private + Executors$1(::java::util::concurrent::Executors$PrivilegedCallable *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::util::concurrent::Executors$PrivilegedCallable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$1__ diff --git a/libjava/java/util/concurrent/Executors$2.h b/libjava/java/util/concurrent/Executors$2.h new file mode 100644 index 00000000000..ad363bd6c99 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$2.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$2__ +#define __java_util_concurrent_Executors$2__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$2 : public ::java::lang::Object +{ + +public: // actually package-private + Executors$2(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$2__ diff --git a/libjava/java/util/concurrent/Executors$3.h b/libjava/java/util/concurrent/Executors$3.h new file mode 100644 index 00000000000..66dbb89e7fc --- /dev/null +++ b/libjava/java/util/concurrent/Executors$3.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$3__ +#define __java_util_concurrent_Executors$3__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$3 : public ::java::lang::Object +{ + +public: // actually package-private + Executors$3(::java::util::concurrent::Executors$PrivilegedThreadFactory *, ::java::lang::Runnable *); +public: + void run(); +public: // actually package-private + static ::java::util::concurrent::Executors$PrivilegedThreadFactory * access$0(::java::util::concurrent::Executors$3 *); + ::java::util::concurrent::Executors$PrivilegedThreadFactory * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +private: + ::java::lang::Runnable * val$r; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$3__ diff --git a/libjava/java/util/concurrent/Executors$4.h b/libjava/java/util/concurrent/Executors$4.h new file mode 100644 index 00000000000..daab0bb1ba9 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$4.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$4__ +#define __java_util_concurrent_Executors$4__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$4 : public ::java::lang::Object +{ + +public: // actually package-private + Executors$4(::java::util::concurrent::Executors$3 *, ::java::lang::Runnable *); +public: + ::java::lang::Object * run(); +public: // actually package-private + ::java::util::concurrent::Executors$3 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$2; +private: + ::java::lang::Runnable * val$r; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$4__ diff --git a/libjava/java/util/concurrent/Executors$5.h b/libjava/java/util/concurrent/Executors$5.h new file mode 100644 index 00000000000..9c1d1bee3c9 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$5.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$5__ +#define __java_util_concurrent_Executors$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivilegedAction; + } + } +} + +class java::util::concurrent::Executors$5 : public ::java::lang::Object +{ + +public: // actually package-private + Executors$5(::java::security::PrivilegedAction *); +public: + ::java::lang::Object * call(); +private: + ::java::security::PrivilegedAction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$action; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$5__ diff --git a/libjava/java/util/concurrent/Executors$6.h b/libjava/java/util/concurrent/Executors$6.h new file mode 100644 index 00000000000..30f58c8c88f --- /dev/null +++ b/libjava/java/util/concurrent/Executors$6.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$6__ +#define __java_util_concurrent_Executors$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivilegedExceptionAction; + } + } +} + +class java::util::concurrent::Executors$6 : public ::java::lang::Object +{ + +public: // actually package-private + Executors$6(::java::security::PrivilegedExceptionAction *); +public: + ::java::lang::Object * call(); +private: + ::java::security::PrivilegedExceptionAction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$action; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$6__ diff --git a/libjava/java/util/concurrent/Executors$DefaultThreadFactory.h b/libjava/java/util/concurrent/Executors$DefaultThreadFactory.h new file mode 100644 index 00000000000..7a2d8a757f6 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$DefaultThreadFactory.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$DefaultThreadFactory__ +#define __java_util_concurrent_Executors$DefaultThreadFactory__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$DefaultThreadFactory : public ::java::lang::Object +{ + +public: // actually package-private + Executors$DefaultThreadFactory(); +public: + virtual ::java::lang::Thread * newThread(::java::lang::Runnable *); +public: // actually package-private + static ::java::util::concurrent::atomic::AtomicInteger * poolNumber; + ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) group; + ::java::util::concurrent::atomic::AtomicInteger * threadNumber; + ::java::lang::String * namePrefix; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$DefaultThreadFactory__ diff --git a/libjava/java/util/concurrent/Executors$DelegatedExecutorService.h b/libjava/java/util/concurrent/Executors$DelegatedExecutorService.h new file mode 100644 index 00000000000..6bca4b1f255 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$DelegatedExecutorService.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$DelegatedExecutorService__ +#define __java_util_concurrent_Executors$DelegatedExecutorService__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$DelegatedExecutorService : public ::java::util::concurrent::AbstractExecutorService +{ + +public: // actually package-private + Executors$DelegatedExecutorService(::java::util::concurrent::ExecutorService *); +public: + virtual void execute(::java::lang::Runnable *); + virtual void shutdown(); + virtual ::java::util::List * shutdownNow(); + virtual jboolean isShutdown(); + virtual jboolean isTerminated(); + virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *); + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *); + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *); + virtual ::java::util::List * invokeAll(::java::util::Collection *); + virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * invokeAny(::java::util::Collection *); + virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *); +private: + ::java::util::concurrent::ExecutorService * __attribute__((aligned(__alignof__( ::java::util::concurrent::AbstractExecutorService)))) e; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$DelegatedExecutorService__ diff --git a/libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h b/libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h new file mode 100644 index 00000000000..a7efdb0711a --- /dev/null +++ b/libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$DelegatedScheduledExecutorService__ +#define __java_util_concurrent_Executors$DelegatedScheduledExecutorService__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$DelegatedScheduledExecutorService : public ::java::util::concurrent::Executors$DelegatedExecutorService +{ + +public: // actually package-private + Executors$DelegatedScheduledExecutorService(::java::util::concurrent::ScheduledExecutorService *); +public: + virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::util::concurrent::Callable *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::ScheduledFuture * scheduleAtFixedRate(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::ScheduledFuture * scheduleWithFixedDelay(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *); +private: + ::java::util::concurrent::ScheduledExecutorService * __attribute__((aligned(__alignof__( ::java::util::concurrent::Executors$DelegatedExecutorService)))) e; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$DelegatedScheduledExecutorService__ diff --git a/libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h b/libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h new file mode 100644 index 00000000000..fd4f2bd762b --- /dev/null +++ b/libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$FinalizableDelegatedExecutorService__ +#define __java_util_concurrent_Executors$FinalizableDelegatedExecutorService__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$FinalizableDelegatedExecutorService : public ::java::util::concurrent::Executors$DelegatedExecutorService +{ + +public: // actually package-private + Executors$FinalizableDelegatedExecutorService(::java::util::concurrent::ExecutorService *); +public: // actually protected + virtual void finalize(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$FinalizableDelegatedExecutorService__ diff --git a/libjava/java/util/concurrent/Executors$PrivilegedCallable.h b/libjava/java/util/concurrent/Executors$PrivilegedCallable.h new file mode 100644 index 00000000000..09609857d5e --- /dev/null +++ b/libjava/java/util/concurrent/Executors$PrivilegedCallable.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$PrivilegedCallable__ +#define __java_util_concurrent_Executors$PrivilegedCallable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + } + } +} + +class java::util::concurrent::Executors$PrivilegedCallable : public ::java::lang::Object +{ + +public: // actually package-private + Executors$PrivilegedCallable(::java::util::concurrent::Callable *); +public: + ::java::lang::Object * call(); +public: // actually package-private + static ::java::util::concurrent::Callable * access$0(::java::util::concurrent::Executors$PrivilegedCallable *); + static void access$1(::java::util::concurrent::Executors$PrivilegedCallable *, ::java::lang::Object *); + static void access$2(::java::util::concurrent::Executors$PrivilegedCallable *, ::java::lang::Exception *); +private: + ::java::security::AccessControlContext * __attribute__((aligned(__alignof__( ::java::lang::Object)))) acc; + ::java::util::concurrent::Callable * task; + ::java::lang::Object * result; + ::java::lang::Exception * exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$PrivilegedCallable__ diff --git a/libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h b/libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h new file mode 100644 index 00000000000..452f6ef250d --- /dev/null +++ b/libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$PrivilegedCallableUsingCurrentClassLoader__ +#define __java_util_concurrent_Executors$PrivilegedCallableUsingCurrentClassLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + } + } +} + +class java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader : public ::java::lang::Object +{ + +public: // actually package-private + Executors$PrivilegedCallableUsingCurrentClassLoader(::java::util::concurrent::Callable *); +public: + ::java::lang::Object * call(); +public: // actually package-private + static ::java::lang::ClassLoader * access$0(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *); + static ::java::util::concurrent::Callable * access$1(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *); + static void access$2(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *, ::java::lang::Object *); + static void access$3(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *, ::java::lang::Exception *); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ccl; + ::java::security::AccessControlContext * acc; + ::java::util::concurrent::Callable * task; + ::java::lang::Object * result; + ::java::lang::Exception * exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$PrivilegedCallableUsingCurrentClassLoader__ diff --git a/libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h b/libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h new file mode 100644 index 00000000000..0258eea5e73 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$PrivilegedThreadFactory__ +#define __java_util_concurrent_Executors$PrivilegedThreadFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + } + } +} + +class java::util::concurrent::Executors$PrivilegedThreadFactory : public ::java::util::concurrent::Executors$DefaultThreadFactory +{ + +public: // actually package-private + Executors$PrivilegedThreadFactory(); +public: + virtual ::java::lang::Thread * newThread(::java::lang::Runnable *); +public: // actually package-private + static ::java::lang::ClassLoader * access$0(::java::util::concurrent::Executors$PrivilegedThreadFactory *); + static ::java::security::AccessControlContext * access$1(::java::util::concurrent::Executors$PrivilegedThreadFactory *); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::util::concurrent::Executors$DefaultThreadFactory)))) ccl; + ::java::security::AccessControlContext * acc; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$PrivilegedThreadFactory__ diff --git a/libjava/java/util/concurrent/Executors$RunnableAdapter.h b/libjava/java/util/concurrent/Executors$RunnableAdapter.h new file mode 100644 index 00000000000..5d75fe83518 --- /dev/null +++ b/libjava/java/util/concurrent/Executors$RunnableAdapter.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors$RunnableAdapter__ +#define __java_util_concurrent_Executors$RunnableAdapter__ + +#pragma interface + +#include + +class java::util::concurrent::Executors$RunnableAdapter : public ::java::lang::Object +{ + +public: // actually package-private + Executors$RunnableAdapter(::java::lang::Runnable *, ::java::lang::Object *); +public: + ::java::lang::Object * call(); +public: // actually package-private + ::java::lang::Runnable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) task; + ::java::lang::Object * result; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors$RunnableAdapter__ diff --git a/libjava/java/util/concurrent/Executors.h b/libjava/java/util/concurrent/Executors.h new file mode 100644 index 00000000000..8e6a428a11b --- /dev/null +++ b/libjava/java/util/concurrent/Executors.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Executors__ +#define __java_util_concurrent_Executors__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivilegedAction; + class PrivilegedExceptionAction; + } + } +} + +class java::util::concurrent::Executors : public ::java::lang::Object +{ + +public: + static ::java::util::concurrent::ExecutorService * newFixedThreadPool(jint); + static ::java::util::concurrent::ExecutorService * newFixedThreadPool(jint, ::java::util::concurrent::ThreadFactory *); + static ::java::util::concurrent::ExecutorService * newSingleThreadExecutor(); + static ::java::util::concurrent::ExecutorService * newSingleThreadExecutor(::java::util::concurrent::ThreadFactory *); + static ::java::util::concurrent::ExecutorService * newCachedThreadPool(); + static ::java::util::concurrent::ExecutorService * newCachedThreadPool(::java::util::concurrent::ThreadFactory *); + static ::java::util::concurrent::ScheduledExecutorService * newSingleThreadScheduledExecutor(); + static ::java::util::concurrent::ScheduledExecutorService * newSingleThreadScheduledExecutor(::java::util::concurrent::ThreadFactory *); + static ::java::util::concurrent::ScheduledExecutorService * newScheduledThreadPool(jint); + static ::java::util::concurrent::ScheduledExecutorService * newScheduledThreadPool(jint, ::java::util::concurrent::ThreadFactory *); + static ::java::util::concurrent::ExecutorService * unconfigurableExecutorService(::java::util::concurrent::ExecutorService *); + static ::java::util::concurrent::ScheduledExecutorService * unconfigurableScheduledExecutorService(::java::util::concurrent::ScheduledExecutorService *); + static ::java::util::concurrent::ThreadFactory * defaultThreadFactory(); + static ::java::util::concurrent::ThreadFactory * privilegedThreadFactory(); + static ::java::util::concurrent::Callable * callable(::java::lang::Runnable *, ::java::lang::Object *); + static ::java::util::concurrent::Callable * callable(::java::lang::Runnable *); + static ::java::util::concurrent::Callable * callable(::java::security::PrivilegedAction *); + static ::java::util::concurrent::Callable * callable(::java::security::PrivilegedExceptionAction *); + static ::java::util::concurrent::Callable * privilegedCallable(::java::util::concurrent::Callable *); + static ::java::util::concurrent::Callable * privilegedCallableUsingCurrentClassLoader(::java::util::concurrent::Callable *); +private: + Executors(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Executors__ diff --git a/libjava/java/util/concurrent/Future.h b/libjava/java/util/concurrent/Future.h new file mode 100644 index 00000000000..9f70627a748 --- /dev/null +++ b/libjava/java/util/concurrent/Future.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Future__ +#define __java_util_concurrent_Future__ + +#pragma interface + +#include + +class java::util::concurrent::Future : public ::java::lang::Object +{ + +public: + virtual jboolean cancel(jboolean) = 0; + virtual jboolean isCancelled() = 0; + virtual jboolean isDone() = 0; + virtual ::java::lang::Object * get() = 0; + virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_Future__ diff --git a/libjava/java/util/concurrent/FutureTask$Sync.h b/libjava/java/util/concurrent/FutureTask$Sync.h new file mode 100644 index 00000000000..18808697181 --- /dev/null +++ b/libjava/java/util/concurrent/FutureTask$Sync.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_FutureTask$Sync__ +#define __java_util_concurrent_FutureTask$Sync__ + +#pragma interface + +#include + +class java::util::concurrent::FutureTask$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer +{ + +public: // actually package-private + FutureTask$Sync(::java::util::concurrent::FutureTask *, ::java::util::concurrent::Callable *); +private: + jboolean ranOrCancelled(jint); +public: // actually protected + jint tryAcquireShared(jint); + jboolean tryReleaseShared(jint); +public: // actually package-private + jboolean innerIsCancelled(); + jboolean innerIsDone(); + ::java::lang::Object * innerGet(); + ::java::lang::Object * innerGet(jlong); + void innerSet(::java::lang::Object *); + void innerSetException(::java::lang::Throwable *); + jboolean innerCancel(jboolean); + void innerRun(); + jboolean innerRunAndReset(); +private: + static const jlong serialVersionUID = -7828117401763700385LL; + static const jint RUNNING = 1; + static const jint RAN = 2; + static const jint CANCELLED = 4; + ::java::util::concurrent::Callable * __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractQueuedSynchronizer)))) callable; + ::java::lang::Object * result; + ::java::lang::Throwable * exception; + volatile ::java::lang::Thread * runner; +public: // actually package-private + ::java::util::concurrent::FutureTask * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_FutureTask$Sync__ diff --git a/libjava/java/util/concurrent/FutureTask.h b/libjava/java/util/concurrent/FutureTask.h new file mode 100644 index 00000000000..a86215f4387 --- /dev/null +++ b/libjava/java/util/concurrent/FutureTask.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_FutureTask__ +#define __java_util_concurrent_FutureTask__ + +#pragma interface + +#include + +class java::util::concurrent::FutureTask : public ::java::lang::Object +{ + +public: + FutureTask(::java::util::concurrent::Callable *); + FutureTask(::java::lang::Runnable *, ::java::lang::Object *); + virtual jboolean isCancelled(); + virtual jboolean isDone(); + virtual jboolean cancel(jboolean); + virtual ::java::lang::Object * get(); + virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually protected + virtual void done(); + virtual void set(::java::lang::Object *); + virtual void setException(::java::lang::Throwable *); +public: + virtual void run(); +public: // actually protected + virtual jboolean runAndReset(); +private: + ::java::util::concurrent::FutureTask$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_FutureTask__ diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h b/libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h new file mode 100644 index 00000000000..2aeec8a97ac --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingDeque$AbstractItr__ +#define __java_util_concurrent_LinkedBlockingDeque$AbstractItr__ + +#pragma interface + +#include + +class java::util::concurrent::LinkedBlockingDeque$AbstractItr : public ::java::lang::Object +{ + +public: // actually package-private + LinkedBlockingDeque$AbstractItr(::java::util::concurrent::LinkedBlockingDeque *); + virtual void advance() = 0; +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +public: // actually package-private + ::java::util::concurrent::LinkedBlockingDeque$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__; + ::java::lang::Object * nextItem; +private: + ::java::util::concurrent::LinkedBlockingDeque$Node * lastRet; +public: // actually package-private + ::java::util::concurrent::LinkedBlockingDeque * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingDeque$AbstractItr__ diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h b/libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h new file mode 100644 index 00000000000..a18b4d97923 --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingDeque$DescendingItr__ +#define __java_util_concurrent_LinkedBlockingDeque$DescendingItr__ + +#pragma interface + +#include + +class java::util::concurrent::LinkedBlockingDeque$DescendingItr : public ::java::util::concurrent::LinkedBlockingDeque$AbstractItr +{ + + LinkedBlockingDeque$DescendingItr(::java::util::concurrent::LinkedBlockingDeque *); +public: // actually package-private + virtual void advance(); + LinkedBlockingDeque$DescendingItr(::java::util::concurrent::LinkedBlockingDeque *, ::java::util::concurrent::LinkedBlockingDeque$DescendingItr *); + ::java::util::concurrent::LinkedBlockingDeque * __attribute__((aligned(__alignof__( ::java::util::concurrent::LinkedBlockingDeque$AbstractItr)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingDeque$DescendingItr__ diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h b/libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h new file mode 100644 index 00000000000..ad17e7a5ee3 --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingDeque$Itr__ +#define __java_util_concurrent_LinkedBlockingDeque$Itr__ + +#pragma interface + +#include + +class java::util::concurrent::LinkedBlockingDeque$Itr : public ::java::util::concurrent::LinkedBlockingDeque$AbstractItr +{ + + LinkedBlockingDeque$Itr(::java::util::concurrent::LinkedBlockingDeque *); +public: // actually package-private + virtual void advance(); + LinkedBlockingDeque$Itr(::java::util::concurrent::LinkedBlockingDeque *, ::java::util::concurrent::LinkedBlockingDeque$Itr *); + ::java::util::concurrent::LinkedBlockingDeque * __attribute__((aligned(__alignof__( ::java::util::concurrent::LinkedBlockingDeque$AbstractItr)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingDeque$Itr__ diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$Node.h b/libjava/java/util/concurrent/LinkedBlockingDeque$Node.h new file mode 100644 index 00000000000..423279f4778 --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingDeque$Node.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingDeque$Node__ +#define __java_util_concurrent_LinkedBlockingDeque$Node__ + +#pragma interface + +#include + +class java::util::concurrent::LinkedBlockingDeque$Node : public ::java::lang::Object +{ + +public: // actually package-private + LinkedBlockingDeque$Node(::java::lang::Object *, ::java::util::concurrent::LinkedBlockingDeque$Node *, ::java::util::concurrent::LinkedBlockingDeque$Node *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) item; + ::java::util::concurrent::LinkedBlockingDeque$Node * prev; + ::java::util::concurrent::LinkedBlockingDeque$Node * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingDeque$Node__ diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque.h b/libjava/java/util/concurrent/LinkedBlockingDeque.h new file mode 100644 index 00000000000..43d3adf4acc --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingDeque.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingDeque__ +#define __java_util_concurrent_LinkedBlockingDeque__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::LinkedBlockingDeque : public ::java::util::AbstractQueue +{ + +public: + LinkedBlockingDeque(); + LinkedBlockingDeque(jint); + LinkedBlockingDeque(::java::util::Collection *); +private: + jboolean linkFirst(::java::lang::Object *); + jboolean linkLast(::java::lang::Object *); + ::java::lang::Object * unlinkFirst(); + ::java::lang::Object * unlinkLast(); + void unlink(::java::util::concurrent::LinkedBlockingDeque$Node *); +public: + virtual void addFirst(::java::lang::Object *); + virtual void addLast(::java::lang::Object *); + virtual jboolean offerFirst(::java::lang::Object *); + virtual jboolean offerLast(::java::lang::Object *); + virtual void putFirst(::java::lang::Object *); + virtual void putLast(::java::lang::Object *); + virtual jboolean offerFirst(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean offerLast(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * removeFirst(); + virtual ::java::lang::Object * removeLast(); + virtual ::java::lang::Object * pollFirst(); + virtual ::java::lang::Object * pollLast(); + virtual ::java::lang::Object * takeFirst(); + virtual ::java::lang::Object * takeLast(); + virtual ::java::lang::Object * pollFirst(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * pollLast(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * getFirst(); + virtual ::java::lang::Object * getLast(); + virtual ::java::lang::Object * peekFirst(); + virtual ::java::lang::Object * peekLast(); + virtual jboolean removeFirstOccurrence(::java::lang::Object *); + virtual jboolean removeLastOccurrence(::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *); + virtual void put(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * remove(); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * take(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * element(); + virtual ::java::lang::Object * peek(); + virtual jint remainingCapacity(); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); + virtual void push(::java::lang::Object *); + virtual ::java::lang::Object * pop(); + virtual jboolean remove(::java::lang::Object *); + virtual jint size(); + virtual jboolean contains(::java::lang::Object *); +public: // actually package-private + virtual jboolean removeNode(::java::util::concurrent::LinkedBlockingDeque$Node *); +public: + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); + virtual void clear(); + virtual ::java::util::Iterator * iterator(); + virtual ::java::util::Iterator * descendingIterator(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::LinkedBlockingDeque *); + static ::java::util::concurrent::LinkedBlockingDeque$Node * access$1(::java::util::concurrent::LinkedBlockingDeque *); + static ::java::util::concurrent::LinkedBlockingDeque$Node * access$2(::java::util::concurrent::LinkedBlockingDeque *); +private: + static const jlong serialVersionUID = -387911632671998426LL; + ::java::util::concurrent::LinkedBlockingDeque$Node * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) first; + ::java::util::concurrent::LinkedBlockingDeque$Node * last; + jint count; + jint capacity; + ::java::util::concurrent::locks::ReentrantLock * lock; + ::java::util::concurrent::locks::Condition * notEmpty; + ::java::util::concurrent::locks::Condition * notFull; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingDeque__ diff --git a/libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h b/libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h new file mode 100644 index 00000000000..e7e0e526d7e --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingQueue$Itr__ +#define __java_util_concurrent_LinkedBlockingQueue$Itr__ + +#pragma interface + +#include + +class java::util::concurrent::LinkedBlockingQueue$Itr : public ::java::lang::Object +{ + +public: // actually package-private + LinkedBlockingQueue$Itr(::java::util::concurrent::LinkedBlockingQueue *); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +private: + ::java::util::concurrent::LinkedBlockingQueue$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) current; + ::java::util::concurrent::LinkedBlockingQueue$Node * lastRet; + ::java::lang::Object * currentElement; +public: // actually package-private + ::java::util::concurrent::LinkedBlockingQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingQueue$Itr__ diff --git a/libjava/java/util/concurrent/LinkedBlockingQueue$Node.h b/libjava/java/util/concurrent/LinkedBlockingQueue$Node.h new file mode 100644 index 00000000000..36d1f654a64 --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingQueue$Node.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingQueue$Node__ +#define __java_util_concurrent_LinkedBlockingQueue$Node__ + +#pragma interface + +#include + +class java::util::concurrent::LinkedBlockingQueue$Node : public ::java::lang::Object +{ + +public: // actually package-private + LinkedBlockingQueue$Node(::java::lang::Object *); + volatile ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) item; + ::java::util::concurrent::LinkedBlockingQueue$Node * next; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingQueue$Node__ diff --git a/libjava/java/util/concurrent/LinkedBlockingQueue.h b/libjava/java/util/concurrent/LinkedBlockingQueue.h new file mode 100644 index 00000000000..42028ec3841 --- /dev/null +++ b/libjava/java/util/concurrent/LinkedBlockingQueue.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_LinkedBlockingQueue__ +#define __java_util_concurrent_LinkedBlockingQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::LinkedBlockingQueue : public ::java::util::AbstractQueue +{ + + void signalNotEmpty(); + void signalNotFull(); + void insert(::java::lang::Object *); + ::java::lang::Object * extract(); + void fullyLock(); + void fullyUnlock(); +public: + LinkedBlockingQueue(); + LinkedBlockingQueue(jint); + LinkedBlockingQueue(::java::util::Collection *); + virtual jint size(); + virtual jint remainingCapacity(); + virtual void put(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * take(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * peek(); + virtual jboolean remove(::java::lang::Object *); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * toString(); + virtual void clear(); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); + virtual ::java::util::Iterator * iterator(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::LinkedBlockingQueue *); + static ::java::util::concurrent::locks::ReentrantLock * access$1(::java::util::concurrent::LinkedBlockingQueue *); + static ::java::util::concurrent::LinkedBlockingQueue$Node * access$2(::java::util::concurrent::LinkedBlockingQueue *); + static ::java::util::concurrent::LinkedBlockingQueue$Node * access$3(::java::util::concurrent::LinkedBlockingQueue *); + static void access$4(::java::util::concurrent::LinkedBlockingQueue *, ::java::util::concurrent::LinkedBlockingQueue$Node *); + static ::java::util::concurrent::atomic::AtomicInteger * access$5(::java::util::concurrent::LinkedBlockingQueue *); + static jint access$6(::java::util::concurrent::LinkedBlockingQueue *); + static ::java::util::concurrent::locks::Condition * access$7(::java::util::concurrent::LinkedBlockingQueue *); +private: + static const jlong serialVersionUID = -6903933977591709194LL; + jint __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) capacity; + ::java::util::concurrent::atomic::AtomicInteger * count; + ::java::util::concurrent::LinkedBlockingQueue$Node * head; + ::java::util::concurrent::LinkedBlockingQueue$Node * last; + ::java::util::concurrent::locks::ReentrantLock * takeLock; + ::java::util::concurrent::locks::Condition * notEmpty; + ::java::util::concurrent::locks::ReentrantLock * putLock; + ::java::util::concurrent::locks::Condition * notFull; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_LinkedBlockingQueue__ diff --git a/libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h b/libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h new file mode 100644 index 00000000000..c6440718212 --- /dev/null +++ b/libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_PriorityBlockingQueue$Itr__ +#define __java_util_concurrent_PriorityBlockingQueue$Itr__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::PriorityBlockingQueue$Itr : public ::java::lang::Object +{ + +public: // actually package-private + PriorityBlockingQueue$Itr(::java::util::concurrent::PriorityBlockingQueue *, JArray< ::java::lang::Object * > *); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array; + jint cursor; + jint lastRet; + ::java::util::concurrent::PriorityBlockingQueue * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_PriorityBlockingQueue$Itr__ diff --git a/libjava/java/util/concurrent/PriorityBlockingQueue.h b/libjava/java/util/concurrent/PriorityBlockingQueue.h new file mode 100644 index 00000000000..ad5d8bb40dc --- /dev/null +++ b/libjava/java/util/concurrent/PriorityBlockingQueue.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_PriorityBlockingQueue__ +#define __java_util_concurrent_PriorityBlockingQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::PriorityBlockingQueue : public ::java::util::AbstractQueue +{ + +public: + PriorityBlockingQueue(); + PriorityBlockingQueue(jint); + PriorityBlockingQueue(jint, ::java::util::Comparator *); + PriorityBlockingQueue(::java::util::Collection *); + virtual jboolean add(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *); + virtual void put(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * take(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * peek(); + virtual ::java::util::Comparator * comparator(); + virtual jint size(); + virtual jint remainingCapacity(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean contains(::java::lang::Object *); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual ::java::lang::String * toString(); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); + virtual void clear(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::util::Iterator * iterator(); +private: + void writeObject(::java::io::ObjectOutputStream *); +public: // actually package-private + static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::PriorityBlockingQueue *); + static ::java::util::PriorityQueue * access$1(::java::util::concurrent::PriorityBlockingQueue *); +private: + static const jlong serialVersionUID = 5595510919245408276LL; + ::java::util::PriorityQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) q; + ::java::util::concurrent::locks::ReentrantLock * lock; + ::java::util::concurrent::locks::Condition * notEmpty; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_PriorityBlockingQueue__ diff --git a/libjava/java/util/concurrent/RejectedExecutionException.h b/libjava/java/util/concurrent/RejectedExecutionException.h new file mode 100644 index 00000000000..4606d2d943f --- /dev/null +++ b/libjava/java/util/concurrent/RejectedExecutionException.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_RejectedExecutionException__ +#define __java_util_concurrent_RejectedExecutionException__ + +#pragma interface + +#include + +class java::util::concurrent::RejectedExecutionException : public ::java::lang::RuntimeException +{ + +public: + RejectedExecutionException(); + RejectedExecutionException(::java::lang::String *); + RejectedExecutionException(::java::lang::String *, ::java::lang::Throwable *); + RejectedExecutionException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -375805702767069545LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_RejectedExecutionException__ diff --git a/libjava/java/util/concurrent/RejectedExecutionHandler.h b/libjava/java/util/concurrent/RejectedExecutionHandler.h new file mode 100644 index 00000000000..8e1ac4f3f80 --- /dev/null +++ b/libjava/java/util/concurrent/RejectedExecutionHandler.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_RejectedExecutionHandler__ +#define __java_util_concurrent_RejectedExecutionHandler__ + +#pragma interface + +#include + +class java::util::concurrent::RejectedExecutionHandler : public ::java::lang::Object +{ + +public: + virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_RejectedExecutionHandler__ diff --git a/libjava/java/util/concurrent/RunnableFuture.h b/libjava/java/util/concurrent/RunnableFuture.h new file mode 100644 index 00000000000..281dccc837f --- /dev/null +++ b/libjava/java/util/concurrent/RunnableFuture.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_RunnableFuture__ +#define __java_util_concurrent_RunnableFuture__ + +#pragma interface + +#include + +class java::util::concurrent::RunnableFuture : public ::java::lang::Object +{ + +public: + virtual void run() = 0; + virtual jboolean cancel(jboolean) = 0; + virtual jboolean isCancelled() = 0; + virtual jboolean isDone() = 0; + virtual ::java::lang::Object * get() = 0; + virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_RunnableFuture__ diff --git a/libjava/java/util/concurrent/RunnableScheduledFuture.h b/libjava/java/util/concurrent/RunnableScheduledFuture.h new file mode 100644 index 00000000000..0846d65c99c --- /dev/null +++ b/libjava/java/util/concurrent/RunnableScheduledFuture.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_RunnableScheduledFuture__ +#define __java_util_concurrent_RunnableScheduledFuture__ + +#pragma interface + +#include + +class java::util::concurrent::RunnableScheduledFuture : public ::java::lang::Object +{ + +public: + virtual jboolean isPeriodic() = 0; + virtual void run() = 0; + virtual jboolean cancel(jboolean) = 0; + virtual jboolean isCancelled() = 0; + virtual jboolean isDone() = 0; + virtual ::java::lang::Object * get() = 0; + virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual jlong getDelay(::java::util::concurrent::TimeUnit *) = 0; + virtual jint compareTo(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_RunnableScheduledFuture__ diff --git a/libjava/java/util/concurrent/ScheduledExecutorService.h b/libjava/java/util/concurrent/ScheduledExecutorService.h new file mode 100644 index 00000000000..9041e395be5 --- /dev/null +++ b/libjava/java/util/concurrent/ScheduledExecutorService.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ScheduledExecutorService__ +#define __java_util_concurrent_ScheduledExecutorService__ + +#pragma interface + +#include + +class java::util::concurrent::ScheduledExecutorService : public ::java::lang::Object +{ + +public: + virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::util::concurrent::Callable *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::util::concurrent::ScheduledFuture * scheduleAtFixedRate(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::util::concurrent::ScheduledFuture * scheduleWithFixedDelay(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual void shutdown() = 0; + virtual ::java::util::List * shutdownNow() = 0; + virtual jboolean isShutdown() = 0; + virtual jboolean isTerminated() = 0; + virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *) = 0; + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *) = 0; + virtual ::java::util::List * invokeAll(::java::util::Collection *) = 0; + virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual ::java::lang::Object * invokeAny(::java::util::Collection *) = 0; + virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual void execute(::java::lang::Runnable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_ScheduledExecutorService__ diff --git a/libjava/java/util/concurrent/ScheduledFuture.h b/libjava/java/util/concurrent/ScheduledFuture.h new file mode 100644 index 00000000000..4cbf3b0fb8b --- /dev/null +++ b/libjava/java/util/concurrent/ScheduledFuture.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ScheduledFuture__ +#define __java_util_concurrent_ScheduledFuture__ + +#pragma interface + +#include + +class java::util::concurrent::ScheduledFuture : public ::java::lang::Object +{ + +public: + virtual jlong getDelay(::java::util::concurrent::TimeUnit *) = 0; + virtual jint compareTo(::java::lang::Object *) = 0; + virtual jboolean cancel(jboolean) = 0; + virtual jboolean isCancelled() = 0; + virtual jboolean isDone() = 0; + virtual ::java::lang::Object * get() = 0; + virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_ScheduledFuture__ diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h new file mode 100644 index 00000000000..cd6608f955e --- /dev/null +++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor$1__ +#define __java_util_concurrent_ScheduledThreadPoolExecutor$1__ + +#pragma interface + +#include + +class java::util::concurrent::ScheduledThreadPoolExecutor$1 : public ::java::lang::Object +{ + +public: // actually package-private + ScheduledThreadPoolExecutor$1(::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue *); +public: + jboolean hasNext(); + ::java::lang::Runnable * target$next(); + void remove(); + ::java::lang::Object * next(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) it; +public: // actually package-private + ::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ScheduledThreadPoolExecutor$1__ diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h new file mode 100644 index 00000000000..fd5871a6a72 --- /dev/null +++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor$DelayedWorkQueue__ +#define __java_util_concurrent_ScheduledThreadPoolExecutor$DelayedWorkQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue : public ::java::util::AbstractCollection +{ + + ScheduledThreadPoolExecutor$DelayedWorkQueue(); +public: + virtual ::java::lang::Runnable * target$poll(); + virtual ::java::lang::Runnable * target$peek(); + virtual ::java::lang::Runnable * target$take(); + virtual ::java::lang::Runnable * target$poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean target$add(::java::lang::Runnable *); + virtual jboolean target$offer(::java::lang::Runnable *); + virtual void target$put(::java::lang::Runnable *); + virtual jboolean target$offer(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Runnable * target$remove(); + virtual ::java::lang::Runnable * target$element(); + virtual void clear(); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); + virtual jint remainingCapacity(); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean contains(::java::lang::Object *); + virtual jint size(); + virtual jboolean isEmpty(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual ::java::util::Iterator * iterator(); + virtual ::java::lang::Object * element(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * poll(); + virtual ::java::lang::Object * take(); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * peek(); + virtual jboolean add(::java::lang::Object *); + virtual ::java::lang::Object * remove(); + virtual void put(::java::lang::Object *); +public: // actually package-private + static ::java::util::concurrent::DelayQueue * access$10(::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue *); + ScheduledThreadPoolExecutor$DelayedWorkQueue(::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue *); +private: + ::java::util::concurrent::DelayQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) dq; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ScheduledThreadPoolExecutor$DelayedWorkQueue__ diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h new file mode 100644 index 00000000000..1bd4e3bdacb --- /dev/null +++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor$ScheduledFutureTask__ +#define __java_util_concurrent_ScheduledThreadPoolExecutor$ScheduledFutureTask__ + +#pragma interface + +#include + +class java::util::concurrent::ScheduledThreadPoolExecutor$ScheduledFutureTask : public ::java::util::concurrent::FutureTask +{ + +public: // actually package-private + ScheduledThreadPoolExecutor$ScheduledFutureTask(::java::util::concurrent::ScheduledThreadPoolExecutor *, ::java::lang::Runnable *, ::java::lang::Object *, jlong); + ScheduledThreadPoolExecutor$ScheduledFutureTask(::java::util::concurrent::ScheduledThreadPoolExecutor *, ::java::lang::Runnable *, ::java::lang::Object *, jlong, jlong); + ScheduledThreadPoolExecutor$ScheduledFutureTask(::java::util::concurrent::ScheduledThreadPoolExecutor *, ::java::util::concurrent::Callable *, jlong); +public: + virtual jlong getDelay(::java::util::concurrent::TimeUnit *); + virtual jint target$compareTo(::java::util::concurrent::Delayed *); + virtual jboolean isPeriodic(); +private: + void runPeriodic(); +public: + virtual void run(); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + static jboolean access$1(::java::util::concurrent::ScheduledThreadPoolExecutor$ScheduledFutureTask *); + static void access$2(::java::util::concurrent::ScheduledThreadPoolExecutor$ScheduledFutureTask *); +private: + jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::FutureTask)))) sequenceNumber; + jlong time; + jlong period; +public: // actually package-private + ::java::util::concurrent::ScheduledThreadPoolExecutor * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ScheduledThreadPoolExecutor$ScheduledFutureTask__ diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h new file mode 100644 index 00000000000..e01b42074bf --- /dev/null +++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor__ +#define __java_util_concurrent_ScheduledThreadPoolExecutor__ + +#pragma interface + +#include + +class java::util::concurrent::ScheduledThreadPoolExecutor : public ::java::util::concurrent::ThreadPoolExecutor +{ + +public: // actually package-private + virtual jlong now(); +private: + void delayedExecute(::java::lang::Runnable *); + void cancelUnwantedTasks(); +public: + virtual jboolean remove(::java::lang::Runnable *); +public: // actually protected + virtual ::java::util::concurrent::RunnableScheduledFuture * decorateTask(::java::lang::Runnable *, ::java::util::concurrent::RunnableScheduledFuture *); + virtual ::java::util::concurrent::RunnableScheduledFuture * decorateTask(::java::util::concurrent::Callable *, ::java::util::concurrent::RunnableScheduledFuture *); +public: + ScheduledThreadPoolExecutor(jint); + ScheduledThreadPoolExecutor(jint, ::java::util::concurrent::ThreadFactory *); + ScheduledThreadPoolExecutor(jint, ::java::util::concurrent::RejectedExecutionHandler *); + ScheduledThreadPoolExecutor(jint, ::java::util::concurrent::ThreadFactory *, ::java::util::concurrent::RejectedExecutionHandler *); + virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::util::concurrent::Callable *, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::ScheduledFuture * scheduleAtFixedRate(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::util::concurrent::ScheduledFuture * scheduleWithFixedDelay(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *); + virtual void execute(::java::lang::Runnable *); + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *); + virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *); + virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *); + virtual void setContinueExistingPeriodicTasksAfterShutdownPolicy(jboolean); + virtual jboolean getContinueExistingPeriodicTasksAfterShutdownPolicy(); + virtual void setExecuteExistingDelayedTasksAfterShutdownPolicy(jboolean); + virtual jboolean getExecuteExistingDelayedTasksAfterShutdownPolicy(); + virtual void shutdown(); + virtual ::java::util::List * shutdownNow(); + virtual ::java::util::concurrent::BlockingQueue * getQueue(); +public: // actually package-private + static ::java::util::concurrent::atomic::AtomicLong * access$0(); + static ::java::util::concurrent::BlockingQueue * access$1(::java::util::concurrent::ScheduledThreadPoolExecutor *); +private: + volatile jboolean __attribute__((aligned(__alignof__( ::java::util::concurrent::ThreadPoolExecutor)))) continueExistingPeriodicTasksAfterShutdown; + volatile jboolean executeExistingDelayedTasksAfterShutdown; + static ::java::util::concurrent::atomic::AtomicLong * sequencer; + static jlong NANO_ORIGIN; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ScheduledThreadPoolExecutor__ diff --git a/libjava/java/util/concurrent/Semaphore$FairSync.h b/libjava/java/util/concurrent/Semaphore$FairSync.h new file mode 100644 index 00000000000..ac323695ba1 --- /dev/null +++ b/libjava/java/util/concurrent/Semaphore$FairSync.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Semaphore$FairSync__ +#define __java_util_concurrent_Semaphore$FairSync__ + +#pragma interface + +#include + +class java::util::concurrent::Semaphore$FairSync : public ::java::util::concurrent::Semaphore$Sync +{ + +public: // actually package-private + Semaphore$FairSync(jint); +public: // actually protected + jint tryAcquireShared(jint); +private: + static const jlong serialVersionUID = 2014338818796000944LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Semaphore$FairSync__ diff --git a/libjava/java/util/concurrent/Semaphore$NonfairSync.h b/libjava/java/util/concurrent/Semaphore$NonfairSync.h new file mode 100644 index 00000000000..2a03f1ac268 --- /dev/null +++ b/libjava/java/util/concurrent/Semaphore$NonfairSync.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Semaphore$NonfairSync__ +#define __java_util_concurrent_Semaphore$NonfairSync__ + +#pragma interface + +#include + +class java::util::concurrent::Semaphore$NonfairSync : public ::java::util::concurrent::Semaphore$Sync +{ + +public: // actually package-private + Semaphore$NonfairSync(jint); +public: // actually protected + jint tryAcquireShared(jint); +private: + static const jlong serialVersionUID = -2694183684443567898LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Semaphore$NonfairSync__ diff --git a/libjava/java/util/concurrent/Semaphore$Sync.h b/libjava/java/util/concurrent/Semaphore$Sync.h new file mode 100644 index 00000000000..98464b2e5e3 --- /dev/null +++ b/libjava/java/util/concurrent/Semaphore$Sync.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Semaphore$Sync__ +#define __java_util_concurrent_Semaphore$Sync__ + +#pragma interface + +#include + +class java::util::concurrent::Semaphore$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer +{ + +public: // actually package-private + Semaphore$Sync(jint); + virtual jint getPermits(); + virtual jint nonfairTryAcquireShared(jint); +public: // actually protected + virtual jboolean tryReleaseShared(jint); +public: // actually package-private + virtual void reducePermits(jint); + virtual jint drainPermits(); +private: + static const jlong serialVersionUID = 1192457210091910933LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Semaphore$Sync__ diff --git a/libjava/java/util/concurrent/Semaphore.h b/libjava/java/util/concurrent/Semaphore.h new file mode 100644 index 00000000000..41755ddcd5f --- /dev/null +++ b/libjava/java/util/concurrent/Semaphore.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_Semaphore__ +#define __java_util_concurrent_Semaphore__ + +#pragma interface + +#include + +class java::util::concurrent::Semaphore : public ::java::lang::Object +{ + +public: + Semaphore(jint); + Semaphore(jint, jboolean); + virtual void acquire(); + virtual void acquireUninterruptibly(); + virtual jboolean tryAcquire(); + virtual jboolean tryAcquire(jlong, ::java::util::concurrent::TimeUnit *); + virtual void release(); + virtual void acquire(jint); + virtual void acquireUninterruptibly(jint); + virtual jboolean tryAcquire(jint); + virtual jboolean tryAcquire(jint, jlong, ::java::util::concurrent::TimeUnit *); + virtual void release(jint); + virtual jint availablePermits(); + virtual jint drainPermits(); +public: // actually protected + virtual void reducePermits(jint); +public: + virtual jboolean isFair(); + virtual jboolean hasQueuedThreads(); + virtual jint getQueueLength(); +public: // actually protected + virtual ::java::util::Collection * getQueuedThreads(); +public: + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -3222578661600680210LL; + ::java::util::concurrent::Semaphore$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_Semaphore__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h b/libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h new file mode 100644 index 00000000000..793fb9a10a2 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$EmptyIterator__ +#define __java_util_concurrent_SynchronousQueue$EmptyIterator__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$EmptyIterator : public ::java::lang::Object +{ + +public: // actually package-private + SynchronousQueue$EmptyIterator(); +public: + virtual jboolean hasNext(); + virtual ::java::lang::Object * next(); + virtual void remove(); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$EmptyIterator__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h b/libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h new file mode 100644 index 00000000000..ba636900d6a --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$FifoWaitQueue__ +#define __java_util_concurrent_SynchronousQueue$FifoWaitQueue__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$FifoWaitQueue : public ::java::util::concurrent::SynchronousQueue$WaitQueue +{ + +public: // actually package-private + SynchronousQueue$FifoWaitQueue(); +private: + static const jlong serialVersionUID = -3623113410248163686LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$FifoWaitQueue__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h b/libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h new file mode 100644 index 00000000000..dedfaca8ca0 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$LifoWaitQueue__ +#define __java_util_concurrent_SynchronousQueue$LifoWaitQueue__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$LifoWaitQueue : public ::java::util::concurrent::SynchronousQueue$WaitQueue +{ + +public: // actually package-private + SynchronousQueue$LifoWaitQueue(); +private: + static const jlong serialVersionUID = -3633113410248163686LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$LifoWaitQueue__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h new file mode 100644 index 00000000000..07486a9abf8 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$TransferQueue$QNode__ +#define __java_util_concurrent_SynchronousQueue$TransferQueue$QNode__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$TransferQueue$QNode : public ::java::lang::Object +{ + +public: // actually package-private + SynchronousQueue$TransferQueue$QNode(::java::lang::Object *, jboolean); + jboolean casNext(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *); + jboolean casItem(::java::lang::Object *, ::java::lang::Object *); + void tryCancel(::java::lang::Object *); + jboolean isCancelled(); + jboolean isOffList(); + volatile ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next; + volatile ::java::lang::Object * item; + volatile ::java::lang::Thread * waiter; + jboolean isData; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * itemUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$TransferQueue$QNode__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h new file mode 100644 index 00000000000..d1b55c99983 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$TransferQueue__ +#define __java_util_concurrent_SynchronousQueue$TransferQueue__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$TransferQueue : public ::java::util::concurrent::SynchronousQueue$Transferer +{ + +public: // actually package-private + SynchronousQueue$TransferQueue(); + void advanceHead(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *); + void advanceTail(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *); + jboolean casCleanMe(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *); + ::java::lang::Object * transfer(::java::lang::Object *, jboolean, jlong); + ::java::lang::Object * awaitFulfill(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::lang::Object *, jboolean, jlong); + void clean(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *); + volatile ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * __attribute__((aligned(__alignof__( ::java::util::concurrent::SynchronousQueue$Transferer)))) head; + volatile ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * tail; + volatile ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * cleanMe; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * tailUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * cleanMeUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$TransferQueue__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h b/libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h new file mode 100644 index 00000000000..77af8cb17f4 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$TransferStack$SNode__ +#define __java_util_concurrent_SynchronousQueue$TransferStack$SNode__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$TransferStack$SNode : public ::java::lang::Object +{ + +public: // actually package-private + SynchronousQueue$TransferStack$SNode(::java::lang::Object *); + jboolean casNext(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, ::java::util::concurrent::SynchronousQueue$TransferStack$SNode *); + jboolean tryMatch(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *); + void tryCancel(); + jboolean isCancelled(); + volatile ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next; + volatile ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * match; + volatile ::java::lang::Thread * waiter; + ::java::lang::Object * item; + jint mode; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * matchUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$TransferStack$SNode__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferStack.h b/libjava/java/util/concurrent/SynchronousQueue$TransferStack.h new file mode 100644 index 00000000000..b29138fede4 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$TransferStack.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$TransferStack__ +#define __java_util_concurrent_SynchronousQueue$TransferStack__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$TransferStack : public ::java::util::concurrent::SynchronousQueue$Transferer +{ + +public: // actually package-private + SynchronousQueue$TransferStack(); + static jboolean isFulfilling(jint); + jboolean casHead(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, ::java::util::concurrent::SynchronousQueue$TransferStack$SNode *); + static ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * snode(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, ::java::lang::Object *, ::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, jint); + ::java::lang::Object * transfer(::java::lang::Object *, jboolean, jlong); + ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * awaitFulfill(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, jboolean, jlong); + jboolean shouldSpin(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *); + void clean(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *); + static const jint REQUEST = 0; + static const jint DATA = 1; + static const jint FULFILLING = 2; + volatile ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * __attribute__((aligned(__alignof__( ::java::util::concurrent::SynchronousQueue$Transferer)))) head; + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$TransferStack__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$Transferer.h b/libjava/java/util/concurrent/SynchronousQueue$Transferer.h new file mode 100644 index 00000000000..1b135af58ae --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$Transferer.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$Transferer__ +#define __java_util_concurrent_SynchronousQueue$Transferer__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$Transferer : public ::java::lang::Object +{ + +public: // actually package-private + SynchronousQueue$Transferer(); + virtual ::java::lang::Object * transfer(::java::lang::Object *, jboolean, jlong) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$Transferer__ diff --git a/libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h b/libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h new file mode 100644 index 00000000000..36f384d32e9 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue$WaitQueue__ +#define __java_util_concurrent_SynchronousQueue$WaitQueue__ + +#pragma interface + +#include + +class java::util::concurrent::SynchronousQueue$WaitQueue : public ::java::lang::Object +{ + +public: // actually package-private + SynchronousQueue$WaitQueue(); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue$WaitQueue__ diff --git a/libjava/java/util/concurrent/SynchronousQueue.h b/libjava/java/util/concurrent/SynchronousQueue.h new file mode 100644 index 00000000000..82ecce492c1 --- /dev/null +++ b/libjava/java/util/concurrent/SynchronousQueue.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_SynchronousQueue__ +#define __java_util_concurrent_SynchronousQueue__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::SynchronousQueue : public ::java::util::AbstractQueue +{ + +public: + SynchronousQueue(); + SynchronousQueue(jboolean); + virtual void put(::java::lang::Object *); + virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *); + virtual jboolean offer(::java::lang::Object *); + virtual ::java::lang::Object * take(); + virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *); + virtual ::java::lang::Object * poll(); + virtual jboolean isEmpty(); + virtual jint size(); + virtual jint remainingCapacity(); + virtual void clear(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean containsAll(::java::util::Collection *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual ::java::lang::Object * peek(); + virtual ::java::util::Iterator * iterator(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *); + virtual jint drainTo(::java::util::Collection *); + virtual jint drainTo(::java::util::Collection *, jint); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -3223113410248163686LL; +public: // actually package-private + static jint NCPUS; + static jint maxTimedSpins; + static jint maxUntimedSpins; + static const jlong spinForTimeoutThreshold = 1000LL; +private: + volatile ::java::util::concurrent::SynchronousQueue$Transferer * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) transferer; + ::java::util::concurrent::locks::ReentrantLock * qlock; + ::java::util::concurrent::SynchronousQueue$WaitQueue * waitingProducers; + ::java::util::concurrent::SynchronousQueue$WaitQueue * waitingConsumers; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_SynchronousQueue__ diff --git a/libjava/java/util/concurrent/ThreadFactory.h b/libjava/java/util/concurrent/ThreadFactory.h new file mode 100644 index 00000000000..c1037df60c1 --- /dev/null +++ b/libjava/java/util/concurrent/ThreadFactory.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadFactory__ +#define __java_util_concurrent_ThreadFactory__ + +#pragma interface + +#include + +class java::util::concurrent::ThreadFactory : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Thread * newThread(::java::lang::Runnable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_ThreadFactory__ diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h new file mode 100644 index 00000000000..9f61c798b45 --- /dev/null +++ b/libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadPoolExecutor$AbortPolicy__ +#define __java_util_concurrent_ThreadPoolExecutor$AbortPolicy__ + +#pragma interface + +#include + +class java::util::concurrent::ThreadPoolExecutor$AbortPolicy : public ::java::lang::Object +{ + +public: + ThreadPoolExecutor$AbortPolicy(); + virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ThreadPoolExecutor$AbortPolicy__ diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h new file mode 100644 index 00000000000..169a9c3b966 --- /dev/null +++ b/libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadPoolExecutor$CallerRunsPolicy__ +#define __java_util_concurrent_ThreadPoolExecutor$CallerRunsPolicy__ + +#pragma interface + +#include + +class java::util::concurrent::ThreadPoolExecutor$CallerRunsPolicy : public ::java::lang::Object +{ + +public: + ThreadPoolExecutor$CallerRunsPolicy(); + virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ThreadPoolExecutor$CallerRunsPolicy__ diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h new file mode 100644 index 00000000000..77b8e053595 --- /dev/null +++ b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadPoolExecutor$DiscardOldestPolicy__ +#define __java_util_concurrent_ThreadPoolExecutor$DiscardOldestPolicy__ + +#pragma interface + +#include + +class java::util::concurrent::ThreadPoolExecutor$DiscardOldestPolicy : public ::java::lang::Object +{ + +public: + ThreadPoolExecutor$DiscardOldestPolicy(); + virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ThreadPoolExecutor$DiscardOldestPolicy__ diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h new file mode 100644 index 00000000000..771f828c61a --- /dev/null +++ b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadPoolExecutor$DiscardPolicy__ +#define __java_util_concurrent_ThreadPoolExecutor$DiscardPolicy__ + +#pragma interface + +#include + +class java::util::concurrent::ThreadPoolExecutor$DiscardPolicy : public ::java::lang::Object +{ + +public: + ThreadPoolExecutor$DiscardPolicy(); + virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ThreadPoolExecutor$DiscardPolicy__ diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h b/libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h new file mode 100644 index 00000000000..18d3f3204a3 --- /dev/null +++ b/libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadPoolExecutor$Worker__ +#define __java_util_concurrent_ThreadPoolExecutor$Worker__ + +#pragma interface + +#include + +class java::util::concurrent::ThreadPoolExecutor$Worker : public ::java::lang::Object +{ + +public: // actually package-private + ThreadPoolExecutor$Worker(::java::util::concurrent::ThreadPoolExecutor *, ::java::lang::Runnable *); + virtual jboolean isActive(); + virtual void interruptIfIdle(); + virtual void interruptNow(); +private: + void runTask(::java::lang::Runnable *); +public: + virtual void run(); +private: + ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) runLock; + ::java::lang::Runnable * firstTask; +public: // actually package-private + volatile jlong completedTasks; + ::java::lang::Thread * thread; + ::java::util::concurrent::ThreadPoolExecutor * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ThreadPoolExecutor$Worker__ diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor.h b/libjava/java/util/concurrent/ThreadPoolExecutor.h new file mode 100644 index 00000000000..00b9dde7c9f --- /dev/null +++ b/libjava/java/util/concurrent/ThreadPoolExecutor.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_ThreadPoolExecutor__ +#define __java_util_concurrent_ThreadPoolExecutor__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::ThreadPoolExecutor : public ::java::util::concurrent::AbstractExecutorService +{ + +public: // actually package-private + virtual void reject(::java::lang::Runnable *); +private: + ::java::lang::Thread * addThread(::java::lang::Runnable *); + jboolean addIfUnderCorePoolSize(::java::lang::Runnable *); + jint addIfUnderMaximumPoolSize(::java::lang::Runnable *); +public: // actually package-private + virtual ::java::lang::Runnable * getTask(); + virtual void interruptIdleWorkers(); + virtual void workerDone(::java::util::concurrent::ThreadPoolExecutor$Worker *); +public: + ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *); + ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *, ::java::util::concurrent::ThreadFactory *); + ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *, ::java::util::concurrent::RejectedExecutionHandler *); + ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *, ::java::util::concurrent::ThreadFactory *, ::java::util::concurrent::RejectedExecutionHandler *); + virtual void execute(::java::lang::Runnable *); + virtual void shutdown(); + virtual ::java::util::List * shutdownNow(); + virtual jboolean isShutdown(); + virtual jboolean isTerminating(); + virtual jboolean isTerminated(); + virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually protected + virtual void finalize(); +public: + virtual void setThreadFactory(::java::util::concurrent::ThreadFactory *); + virtual ::java::util::concurrent::ThreadFactory * getThreadFactory(); + virtual void setRejectedExecutionHandler(::java::util::concurrent::RejectedExecutionHandler *); + virtual ::java::util::concurrent::RejectedExecutionHandler * getRejectedExecutionHandler(); + virtual ::java::util::concurrent::BlockingQueue * getQueue(); + virtual jboolean remove(::java::lang::Runnable *); + virtual void purge(); + virtual void setCorePoolSize(jint); + virtual jint getCorePoolSize(); + virtual jboolean prestartCoreThread(); + virtual jint prestartAllCoreThreads(); + virtual jboolean allowsCoreThreadTimeOut(); + virtual void allowCoreThreadTimeOut(jboolean); + virtual void setMaximumPoolSize(jint); + virtual jint getMaximumPoolSize(); + virtual void setKeepAliveTime(jlong, ::java::util::concurrent::TimeUnit *); + virtual jlong getKeepAliveTime(::java::util::concurrent::TimeUnit *); + virtual jint getPoolSize(); + virtual jint getActiveCount(); + virtual jint getLargestPoolSize(); + virtual jlong getTaskCount(); + virtual jlong getCompletedTaskCount(); +public: // actually protected + virtual void beforeExecute(::java::lang::Thread *, ::java::lang::Runnable *); + virtual void afterExecute(::java::lang::Runnable *, ::java::lang::Throwable *); + virtual void terminated(); +private: + static JArray< ::java::lang::Runnable * > * EMPTY_RUNNABLE_ARRAY; + static ::java::lang::RuntimePermission * shutdownPerm; + ::java::util::concurrent::BlockingQueue * __attribute__((aligned(__alignof__( ::java::util::concurrent::AbstractExecutorService)))) workQueue; + ::java::util::concurrent::locks::ReentrantLock * mainLock; + ::java::util::concurrent::locks::Condition * termination; + ::java::util::HashSet * workers; + volatile jlong keepAliveTime; + volatile jboolean allowCoreThreadTimeOut__; + volatile jint corePoolSize; + volatile jint maximumPoolSize; + volatile jint poolSize; +public: // actually package-private + volatile jint runState; + static const jint RUNNING = 0; + static const jint SHUTDOWN = 1; + static const jint STOP = 2; + static const jint TERMINATED = 3; +private: + volatile ::java::util::concurrent::RejectedExecutionHandler * handler; + volatile ::java::util::concurrent::ThreadFactory * threadFactory; + jint largestPoolSize; + jlong completedTaskCount; + static ::java::util::concurrent::RejectedExecutionHandler * defaultHandler; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_ThreadPoolExecutor__ diff --git a/libjava/java/util/concurrent/TimeUnit$1.h b/libjava/java/util/concurrent/TimeUnit$1.h new file mode 100644 index 00000000000..85b2bfbb06e --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$1.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$1__ +#define __java_util_concurrent_TimeUnit$1__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$1 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$1(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$1__ diff --git a/libjava/java/util/concurrent/TimeUnit$2.h b/libjava/java/util/concurrent/TimeUnit$2.h new file mode 100644 index 00000000000..6392a88296a --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$2.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$2__ +#define __java_util_concurrent_TimeUnit$2__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$2 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$2(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$2__ diff --git a/libjava/java/util/concurrent/TimeUnit$3.h b/libjava/java/util/concurrent/TimeUnit$3.h new file mode 100644 index 00000000000..0e80899da9a --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$3.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$3__ +#define __java_util_concurrent_TimeUnit$3__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$3 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$3(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$3__ diff --git a/libjava/java/util/concurrent/TimeUnit$4.h b/libjava/java/util/concurrent/TimeUnit$4.h new file mode 100644 index 00000000000..fca74d3dbce --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$4.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$4__ +#define __java_util_concurrent_TimeUnit$4__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$4 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$4(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$4__ diff --git a/libjava/java/util/concurrent/TimeUnit$5.h b/libjava/java/util/concurrent/TimeUnit$5.h new file mode 100644 index 00000000000..54bf7dd61ac --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$5.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$5__ +#define __java_util_concurrent_TimeUnit$5__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$5 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$5(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$5__ diff --git a/libjava/java/util/concurrent/TimeUnit$6.h b/libjava/java/util/concurrent/TimeUnit$6.h new file mode 100644 index 00000000000..8439a71793d --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$6.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$6__ +#define __java_util_concurrent_TimeUnit$6__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$6 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$6(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$6__ diff --git a/libjava/java/util/concurrent/TimeUnit$7.h b/libjava/java/util/concurrent/TimeUnit$7.h new file mode 100644 index 00000000000..e7bac28508d --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit$7.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit$7__ +#define __java_util_concurrent_TimeUnit$7__ + +#pragma interface + +#include + +class java::util::concurrent::TimeUnit$7 : public ::java::util::concurrent::TimeUnit +{ + +public: // actually package-private + TimeUnit$7(::java::lang::String *, jint); +public: + jlong toNanos(jlong); + jlong toMicros(jlong); + jlong toMillis(jlong); + jlong toSeconds(jlong); + jlong toMinutes(jlong); + jlong toHours(jlong); + jlong toDays(jlong); + jlong convert(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + jint excessNanos(jlong, jlong); +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit$7__ diff --git a/libjava/java/util/concurrent/TimeUnit.h b/libjava/java/util/concurrent/TimeUnit.h new file mode 100644 index 00000000000..fa6d497f697 --- /dev/null +++ b/libjava/java/util/concurrent/TimeUnit.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeUnit__ +#define __java_util_concurrent_TimeUnit__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::TimeUnit : public ::java::lang::Enum +{ + + TimeUnit(::java::lang::String *, jint); +public: // actually package-private + static jlong x(jlong, jlong, jlong); +public: + virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *); + virtual jlong toNanos(jlong); + virtual jlong toMicros(jlong); + virtual jlong toMillis(jlong); + virtual jlong toSeconds(jlong); + virtual jlong toMinutes(jlong); + virtual jlong toHours(jlong); + virtual jlong toDays(jlong); +public: // actually package-private + virtual jint excessNanos(jlong, jlong) = 0; +public: + virtual void timedWait(::java::lang::Object *, jlong); + virtual void timedJoin(::java::lang::Thread *, jlong); + virtual void sleep(jlong); + static JArray< ::java::util::concurrent::TimeUnit * > * values(); + static ::java::util::concurrent::TimeUnit * valueOf(::java::lang::String *); +public: // actually package-private + TimeUnit(::java::lang::String *, jint, ::java::util::concurrent::TimeUnit *); +public: + static ::java::util::concurrent::TimeUnit * NANOSECONDS; + static ::java::util::concurrent::TimeUnit * MICROSECONDS; + static ::java::util::concurrent::TimeUnit * MILLISECONDS; + static ::java::util::concurrent::TimeUnit * SECONDS; + static ::java::util::concurrent::TimeUnit * MINUTES; + static ::java::util::concurrent::TimeUnit * HOURS; + static ::java::util::concurrent::TimeUnit * DAYS; +public: // actually package-private + static const jlong C0 = 1LL; + static const jlong C1 = 1000LL; + static const jlong C2 = 1000000LL; + static const jlong C3 = 1000000000LL; + static const jlong C4 = 60000000000LL; + static const jlong C5 = 3600000000000LL; + static const jlong C6 = 86400000000000LL; + static const jlong MAX = 9223372036854775807LL; +private: + static JArray< ::java::util::concurrent::TimeUnit * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeUnit__ diff --git a/libjava/java/util/concurrent/TimeoutException.h b/libjava/java/util/concurrent/TimeoutException.h new file mode 100644 index 00000000000..6ce42b18071 --- /dev/null +++ b/libjava/java/util/concurrent/TimeoutException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_TimeoutException__ +#define __java_util_concurrent_TimeoutException__ + +#pragma interface + +#include + +class java::util::concurrent::TimeoutException : public ::java::lang::Exception +{ + +public: + TimeoutException(); + TimeoutException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1900926677490660714LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_TimeoutException__ diff --git a/libjava/java/util/concurrent/atomic/AtomicBoolean.h b/libjava/java/util/concurrent/atomic/AtomicBoolean.h new file mode 100644 index 00000000000..08a6d597e14 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicBoolean.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicBoolean__ +#define __java_util_concurrent_atomic_AtomicBoolean__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicBoolean : public ::java::lang::Object +{ + +public: + AtomicBoolean(jboolean); + AtomicBoolean(); + virtual jboolean get(); + virtual jboolean compareAndSet(jboolean, jboolean); + virtual jboolean weakCompareAndSet(jboolean, jboolean); + virtual void set(jboolean); + virtual void lazySet(jboolean); + virtual jboolean getAndSet(jboolean); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4654671469794556979LL; + static ::sun::misc::Unsafe * unsafe; + static jlong valueOffset; + volatile jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicBoolean__ diff --git a/libjava/java/util/concurrent/atomic/AtomicInteger.h b/libjava/java/util/concurrent/atomic/AtomicInteger.h new file mode 100644 index 00000000000..286aff1d003 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicInteger.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicInteger__ +#define __java_util_concurrent_atomic_AtomicInteger__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicInteger : public ::java::lang::Number +{ + +public: + AtomicInteger(jint); + AtomicInteger(); + virtual jint get(); + virtual void set(jint); + virtual void lazySet(jint); + virtual jint getAndSet(jint); + virtual jboolean compareAndSet(jint, jint); + virtual jboolean weakCompareAndSet(jint, jint); + virtual jint getAndIncrement(); + virtual jint getAndDecrement(); + virtual jint getAndAdd(jint); + virtual jint incrementAndGet(); + virtual jint decrementAndGet(); + virtual jint addAndGet(jint); + virtual ::java::lang::String * toString(); + virtual jint intValue(); + virtual jlong longValue(); + virtual jfloat floatValue(); + virtual jdouble doubleValue(); +private: + static const jlong serialVersionUID = 6214790243416807050LL; + static ::sun::misc::Unsafe * unsafe; + static jlong valueOffset; + volatile jint __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicInteger__ diff --git a/libjava/java/util/concurrent/atomic/AtomicIntegerArray.h b/libjava/java/util/concurrent/atomic/AtomicIntegerArray.h new file mode 100644 index 00000000000..f8db2173f1d --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicIntegerArray.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicIntegerArray__ +#define __java_util_concurrent_atomic_AtomicIntegerArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicIntegerArray : public ::java::lang::Object +{ + + jlong rawIndex(jint); +public: + AtomicIntegerArray(jint); + AtomicIntegerArray(JArray< jint > *); + virtual jint length(); + virtual jint get(jint); + virtual void set(jint, jint); + virtual void lazySet(jint, jint); + virtual jint getAndSet(jint, jint); + virtual jboolean compareAndSet(jint, jint, jint); + virtual jboolean weakCompareAndSet(jint, jint, jint); + virtual jint getAndIncrement(jint); + virtual jint getAndDecrement(jint); + virtual jint getAndAdd(jint, jint); + virtual jint incrementAndGet(jint); + virtual jint decrementAndGet(jint); + virtual jint addAndGet(jint, jint); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 2862133569453604235LL; + static ::sun::misc::Unsafe * unsafe; + static jint base; + static jint scale; + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicIntegerArray__ diff --git a/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h new file mode 100644 index 00000000000..ba2b7a5dc1a --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl__ +#define __java_util_concurrent_atomic_AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl : public ::java::util::concurrent::atomic::AtomicIntegerFieldUpdater +{ + +public: // actually package-private + AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl(::java::lang::Class *, ::java::lang::String *); +private: + void fullCheck(::java::lang::Object *); +public: + virtual jboolean compareAndSet(::java::lang::Object *, jint, jint); + virtual jboolean weakCompareAndSet(::java::lang::Object *, jint, jint); + virtual void set(::java::lang::Object *, jint); + virtual void lazySet(::java::lang::Object *, jint); + virtual jint get(::java::lang::Object *); +private: + void ensureProtectedAccess(::java::lang::Object *); + static ::sun::misc::Unsafe * unsafe; + jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicIntegerFieldUpdater)))) offset; + ::java::lang::Class * tclass; + ::java::lang::Class * cclass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl__ diff --git a/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h new file mode 100644 index 00000000000..e72055006cc --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicIntegerFieldUpdater__ +#define __java_util_concurrent_atomic_AtomicIntegerFieldUpdater__ + +#pragma interface + +#include + +class java::util::concurrent::atomic::AtomicIntegerFieldUpdater : public ::java::lang::Object +{ + +public: + static ::java::util::concurrent::atomic::AtomicIntegerFieldUpdater * newUpdater(::java::lang::Class *, ::java::lang::String *); +public: // actually protected + AtomicIntegerFieldUpdater(); +public: + virtual jboolean compareAndSet(::java::lang::Object *, jint, jint) = 0; + virtual jboolean weakCompareAndSet(::java::lang::Object *, jint, jint) = 0; + virtual void set(::java::lang::Object *, jint) = 0; + virtual void lazySet(::java::lang::Object *, jint) = 0; + virtual jint get(::java::lang::Object *) = 0; + virtual jint getAndSet(::java::lang::Object *, jint); + virtual jint getAndIncrement(::java::lang::Object *); + virtual jint getAndDecrement(::java::lang::Object *); + virtual jint getAndAdd(::java::lang::Object *, jint); + virtual jint incrementAndGet(::java::lang::Object *); + virtual jint decrementAndGet(::java::lang::Object *); + virtual jint addAndGet(::java::lang::Object *, jint); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicIntegerFieldUpdater__ diff --git a/libjava/java/util/concurrent/atomic/AtomicLong.h b/libjava/java/util/concurrent/atomic/AtomicLong.h new file mode 100644 index 00000000000..c70a4e6d839 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicLong.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicLong__ +#define __java_util_concurrent_atomic_AtomicLong__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicLong : public ::java::lang::Number +{ + + static jboolean VMSupportsCS8(); +public: + AtomicLong(jlong); + AtomicLong(); + virtual jlong get(); + virtual void set(jlong); + virtual void lazySet(jlong); + virtual jlong getAndSet(jlong); + virtual jboolean compareAndSet(jlong, jlong); + virtual jboolean weakCompareAndSet(jlong, jlong); + virtual jlong getAndIncrement(); + virtual jlong getAndDecrement(); + virtual jlong getAndAdd(jlong); + virtual jlong incrementAndGet(); + virtual jlong decrementAndGet(); + virtual jlong addAndGet(jlong); + virtual ::java::lang::String * toString(); + virtual jint intValue(); + virtual jlong longValue(); + virtual jfloat floatValue(); + virtual jdouble doubleValue(); +private: + static const jlong serialVersionUID = 1927816293512124184LL; + static ::sun::misc::Unsafe * unsafe; + static jlong valueOffset; +public: // actually package-private + static jboolean VM_SUPPORTS_LONG_CAS; +private: + volatile jlong __attribute__((aligned(__alignof__( ::java::lang::Number)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicLong__ diff --git a/libjava/java/util/concurrent/atomic/AtomicLongArray.h b/libjava/java/util/concurrent/atomic/AtomicLongArray.h new file mode 100644 index 00000000000..797c6094368 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicLongArray.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicLongArray__ +#define __java_util_concurrent_atomic_AtomicLongArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicLongArray : public ::java::lang::Object +{ + + jlong rawIndex(jint); +public: + AtomicLongArray(jint); + AtomicLongArray(JArray< jlong > *); + virtual jint length(); + virtual jlong get(jint); + virtual void set(jint, jlong); + virtual void lazySet(jint, jlong); + virtual jlong getAndSet(jint, jlong); + virtual jboolean compareAndSet(jint, jlong, jlong); + virtual jboolean weakCompareAndSet(jint, jlong, jlong); + virtual jlong getAndIncrement(jint); + virtual jlong getAndDecrement(jint); + virtual jlong getAndAdd(jint, jlong); + virtual jlong incrementAndGet(jint); + virtual jlong decrementAndGet(jint); + virtual jlong addAndGet(jint, jlong); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -2308431214976778248LL; + static ::sun::misc::Unsafe * unsafe; + static jint base; + static jint scale; + JArray< jlong > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicLongArray__ diff --git a/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h new file mode 100644 index 00000000000..465b5333eb1 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicLongFieldUpdater$CASUpdater__ +#define __java_util_concurrent_atomic_AtomicLongFieldUpdater$CASUpdater__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicLongFieldUpdater$CASUpdater : public ::java::util::concurrent::atomic::AtomicLongFieldUpdater +{ + +public: // actually package-private + AtomicLongFieldUpdater$CASUpdater(::java::lang::Class *, ::java::lang::String *); +private: + void fullCheck(::java::lang::Object *); +public: + virtual jboolean compareAndSet(::java::lang::Object *, jlong, jlong); + virtual jboolean weakCompareAndSet(::java::lang::Object *, jlong, jlong); + virtual void set(::java::lang::Object *, jlong); + virtual void lazySet(::java::lang::Object *, jlong); + virtual jlong get(::java::lang::Object *); +private: + void ensureProtectedAccess(::java::lang::Object *); + static ::sun::misc::Unsafe * unsafe; + jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicLongFieldUpdater)))) offset; + ::java::lang::Class * tclass; + ::java::lang::Class * cclass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicLongFieldUpdater$CASUpdater__ diff --git a/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h new file mode 100644 index 00000000000..f13fb1817bb --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicLongFieldUpdater$LockedUpdater__ +#define __java_util_concurrent_atomic_AtomicLongFieldUpdater$LockedUpdater__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicLongFieldUpdater$LockedUpdater : public ::java::util::concurrent::atomic::AtomicLongFieldUpdater +{ + +public: // actually package-private + AtomicLongFieldUpdater$LockedUpdater(::java::lang::Class *, ::java::lang::String *); +private: + void fullCheck(::java::lang::Object *); +public: + virtual jboolean compareAndSet(::java::lang::Object *, jlong, jlong); + virtual jboolean weakCompareAndSet(::java::lang::Object *, jlong, jlong); + virtual void set(::java::lang::Object *, jlong); + virtual void lazySet(::java::lang::Object *, jlong); + virtual jlong get(::java::lang::Object *); +private: + void ensureProtectedAccess(::java::lang::Object *); + static ::sun::misc::Unsafe * unsafe; + jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicLongFieldUpdater)))) offset; + ::java::lang::Class * tclass; + ::java::lang::Class * cclass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicLongFieldUpdater$LockedUpdater__ diff --git a/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h new file mode 100644 index 00000000000..4fb8137d1a7 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicLongFieldUpdater__ +#define __java_util_concurrent_atomic_AtomicLongFieldUpdater__ + +#pragma interface + +#include + +class java::util::concurrent::atomic::AtomicLongFieldUpdater : public ::java::lang::Object +{ + +public: + static ::java::util::concurrent::atomic::AtomicLongFieldUpdater * newUpdater(::java::lang::Class *, ::java::lang::String *); +public: // actually protected + AtomicLongFieldUpdater(); +public: + virtual jboolean compareAndSet(::java::lang::Object *, jlong, jlong) = 0; + virtual jboolean weakCompareAndSet(::java::lang::Object *, jlong, jlong) = 0; + virtual void set(::java::lang::Object *, jlong) = 0; + virtual void lazySet(::java::lang::Object *, jlong) = 0; + virtual jlong get(::java::lang::Object *) = 0; + virtual jlong getAndSet(::java::lang::Object *, jlong); + virtual jlong getAndIncrement(::java::lang::Object *); + virtual jlong getAndDecrement(::java::lang::Object *); + virtual jlong getAndAdd(::java::lang::Object *, jlong); + virtual jlong incrementAndGet(::java::lang::Object *); + virtual jlong decrementAndGet(::java::lang::Object *); + virtual jlong addAndGet(::java::lang::Object *, jlong); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicLongFieldUpdater__ diff --git a/libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h b/libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h new file mode 100644 index 00000000000..499b73b521b --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicMarkableReference$ReferenceBooleanPair__ +#define __java_util_concurrent_atomic_AtomicMarkableReference$ReferenceBooleanPair__ + +#pragma interface + +#include + +class java::util::concurrent::atomic::AtomicMarkableReference$ReferenceBooleanPair : public ::java::lang::Object +{ + +public: // actually package-private + AtomicMarkableReference$ReferenceBooleanPair(::java::lang::Object *, jboolean); + static ::java::lang::Object * access$0(::java::util::concurrent::atomic::AtomicMarkableReference$ReferenceBooleanPair *); + static jboolean access$1(::java::util::concurrent::atomic::AtomicMarkableReference$ReferenceBooleanPair *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reference; + jboolean bit; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicMarkableReference$ReferenceBooleanPair__ diff --git a/libjava/java/util/concurrent/atomic/AtomicMarkableReference.h b/libjava/java/util/concurrent/atomic/AtomicMarkableReference.h new file mode 100644 index 00000000000..fe97809c558 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicMarkableReference.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicMarkableReference__ +#define __java_util_concurrent_atomic_AtomicMarkableReference__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::atomic::AtomicMarkableReference : public ::java::lang::Object +{ + +public: + AtomicMarkableReference(::java::lang::Object *, jboolean); + virtual ::java::lang::Object * getReference(); + virtual jboolean isMarked(); + virtual ::java::lang::Object * get(JArray< jboolean > *); + virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, jboolean, jboolean); + virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, jboolean, jboolean); + virtual void set(::java::lang::Object *, jboolean); + virtual jboolean attemptMark(::java::lang::Object *, jboolean); +private: + ::java::util::concurrent::atomic::AtomicReference * __attribute__((aligned(__alignof__( ::java::lang::Object)))) atomicRef; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicMarkableReference__ diff --git a/libjava/java/util/concurrent/atomic/AtomicReference.h b/libjava/java/util/concurrent/atomic/AtomicReference.h new file mode 100644 index 00000000000..e8862e8433f --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicReference.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicReference__ +#define __java_util_concurrent_atomic_AtomicReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicReference : public ::java::lang::Object +{ + +public: + AtomicReference(::java::lang::Object *); + AtomicReference(); + virtual ::java::lang::Object * get(); + virtual void set(::java::lang::Object *); + virtual void lazySet(::java::lang::Object *); + virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * getAndSet(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -1848883965231344442LL; + static ::sun::misc::Unsafe * unsafe; + static jlong valueOffset; + volatile ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicReference__ diff --git a/libjava/java/util/concurrent/atomic/AtomicReferenceArray.h b/libjava/java/util/concurrent/atomic/AtomicReferenceArray.h new file mode 100644 index 00000000000..4715f0cbaea --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicReferenceArray.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicReferenceArray__ +#define __java_util_concurrent_atomic_AtomicReferenceArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicReferenceArray : public ::java::lang::Object +{ + + jlong rawIndex(jint); +public: + AtomicReferenceArray(jint); + AtomicReferenceArray(JArray< ::java::lang::Object * > *); + virtual jint length(); + virtual ::java::lang::Object * get(jint); + virtual void set(jint, ::java::lang::Object *); + virtual void lazySet(jint, ::java::lang::Object *); + virtual ::java::lang::Object * getAndSet(jint, ::java::lang::Object *); + virtual jboolean compareAndSet(jint, ::java::lang::Object *, ::java::lang::Object *); + virtual jboolean weakCompareAndSet(jint, ::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6209656149925076980LL; + static ::sun::misc::Unsafe * unsafe; + static jint base; + static jint scale; + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicReferenceArray__ diff --git a/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h new file mode 100644 index 00000000000..e74a4507ee6 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl__ +#define __java_util_concurrent_atomic_AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::atomic::AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl : public ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater +{ + +public: // actually package-private + AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl(::java::lang::Class *, ::java::lang::Class *, ::java::lang::String *); + void targetCheck(::java::lang::Object *); + void updateCheck(::java::lang::Object *, ::java::lang::Object *); +public: + jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *); + void set(::java::lang::Object *, ::java::lang::Object *); + void lazySet(::java::lang::Object *, ::java::lang::Object *); + ::java::lang::Object * get(::java::lang::Object *); +private: + void ensureProtectedAccess(::java::lang::Object *); + static ::sun::misc::Unsafe * unsafe; + jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater)))) offset; + ::java::lang::Class * tclass; + ::java::lang::Class * vclass; + ::java::lang::Class * cclass; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl__ diff --git a/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h new file mode 100644 index 00000000000..d7e91e977e0 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicReferenceFieldUpdater__ +#define __java_util_concurrent_atomic_AtomicReferenceFieldUpdater__ + +#pragma interface + +#include + +class java::util::concurrent::atomic::AtomicReferenceFieldUpdater : public ::java::lang::Object +{ + +public: + static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * newUpdater(::java::lang::Class *, ::java::lang::Class *, ::java::lang::String *); +public: // actually protected + AtomicReferenceFieldUpdater(); +public: + virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void set(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void lazySet(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * get(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getAndSet(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicReferenceFieldUpdater__ diff --git a/libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h b/libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h new file mode 100644 index 00000000000..d76e45b1d95 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicStampedReference$ReferenceIntegerPair__ +#define __java_util_concurrent_atomic_AtomicStampedReference$ReferenceIntegerPair__ + +#pragma interface + +#include + +class java::util::concurrent::atomic::AtomicStampedReference$ReferenceIntegerPair : public ::java::lang::Object +{ + +public: // actually package-private + AtomicStampedReference$ReferenceIntegerPair(::java::lang::Object *, jint); + static ::java::lang::Object * access$0(::java::util::concurrent::atomic::AtomicStampedReference$ReferenceIntegerPair *); + static jint access$1(::java::util::concurrent::atomic::AtomicStampedReference$ReferenceIntegerPair *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reference; + jint integer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicStampedReference$ReferenceIntegerPair__ diff --git a/libjava/java/util/concurrent/atomic/AtomicStampedReference.h b/libjava/java/util/concurrent/atomic/AtomicStampedReference.h new file mode 100644 index 00000000000..8e116929900 --- /dev/null +++ b/libjava/java/util/concurrent/atomic/AtomicStampedReference.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_atomic_AtomicStampedReference__ +#define __java_util_concurrent_atomic_AtomicStampedReference__ + +#pragma interface + +#include +#include + + +class java::util::concurrent::atomic::AtomicStampedReference : public ::java::lang::Object +{ + +public: + AtomicStampedReference(::java::lang::Object *, jint); + virtual ::java::lang::Object * getReference(); + virtual jint getStamp(); + virtual ::java::lang::Object * get(JArray< jint > *); + virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, jint, jint); + virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, jint, jint); + virtual void set(::java::lang::Object *, jint); + virtual jboolean attemptStamp(::java::lang::Object *, jint); +private: + ::java::util::concurrent::atomic::AtomicReference * __attribute__((aligned(__alignof__( ::java::lang::Object)))) atomicRef; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_atomic_AtomicStampedReference__ diff --git a/libjava/java/util/concurrent/atomic/natAtomicLong.cc b/libjava/java/util/concurrent/atomic/natAtomicLong.cc new file mode 100644 index 00000000000..3f78c8aa63d --- /dev/null +++ b/libjava/java/util/concurrent/atomic/natAtomicLong.cc @@ -0,0 +1,12 @@ +#include + +#include +#include +#include + +jboolean +java::util::concurrent::atomic::AtomicLong::VMSupportsCS8 () +{ + // FIXME + return false; +} diff --git a/libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h new file mode 100644 index 00000000000..8a14257c9df --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractOwnableSynchronizer__ +#define __java_util_concurrent_locks_AbstractOwnableSynchronizer__ + +#pragma interface + +#include + +class java::util::concurrent::locks::AbstractOwnableSynchronizer : public ::java::lang::Object +{ + +public: // actually protected + AbstractOwnableSynchronizer(); + virtual void setExclusiveOwnerThread(::java::lang::Thread *); + virtual ::java::lang::Thread * getExclusiveOwnerThread(); +private: + static const jlong serialVersionUID = 3737899427754241961LL; + ::java::lang::Thread * __attribute__((aligned(__alignof__( ::java::lang::Object)))) exclusiveOwnerThread; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractOwnableSynchronizer__ diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h new file mode 100644 index 00000000000..123ab81b563 --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$ConditionObject__ +#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$ConditionObject__ + +#pragma interface + +#include + +class java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject : public ::java::lang::Object +{ + +public: + AbstractQueuedLongSynchronizer$ConditionObject(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer *); +private: + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * addConditionWaiter(); + void doSignal(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + void doSignalAll(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + jboolean isOnConditionQueue(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + void unlinkCancelledWaiter(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); +public: + virtual void signal(); + virtual void signalAll(); + virtual void awaitUninterruptibly(); +private: + jint checkInterruptWhileWaiting(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + void reportInterruptAfterWait(jint); +public: + virtual void await(); + virtual jlong awaitNanos(jlong); + virtual jboolean awaitUntil(::java::util::Date *); + virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + virtual jboolean isOwnedBy(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer *); +public: // actually protected + virtual jboolean hasWaiters(); + virtual jint getWaitQueueLength(); + virtual ::java::util::Collection * getWaitingThreads(); +private: + static const jlong serialVersionUID = 1173984872572414699LL; + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) firstWaiter; + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * lastWaiter; + static const jint REINTERRUPT = 1; + static const jint THROW_IE = -1; +public: // actually package-private + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$ConditionObject__ diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h new file mode 100644 index 00000000000..423f2a06356 --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$Node__ +#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$Node__ + +#pragma interface + +#include + +class java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node : public ::java::lang::Object +{ + +public: // actually package-private + jboolean isShared(); + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * predecessor(); + AbstractQueuedLongSynchronizer$Node(); + AbstractQueuedLongSynchronizer$Node(::java::lang::Thread *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + AbstractQueuedLongSynchronizer$Node(::java::lang::Thread *, jint); + static const jint CANCELLED = 1; + static const jint SIGNAL = -1; + static const jint CONDITION = -2; + static ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * SHARED; + static ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * EXCLUSIVE; + volatile jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) waitStatus; + volatile ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * prev; + volatile ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * next; + volatile ::java::lang::Thread * thread; + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * nextWaiter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$Node__ diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h new file mode 100644 index 00000000000..1e95c3d34b8 --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__ +#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::locks::AbstractQueuedLongSynchronizer : public ::java::util::concurrent::locks::AbstractOwnableSynchronizer +{ + +public: // actually protected + AbstractQueuedLongSynchronizer(); + virtual jlong getState(); + virtual void setState(jlong); + virtual jboolean compareAndSetState(jlong, jlong); +private: + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * enq(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * addWaiter(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + void setHead(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + void unparkSuccessor(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + void setHeadAndPropagate(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jlong); + void cancelAcquire(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + static jboolean shouldParkAfterFailedAcquire(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + static void selfInterrupt(); + jboolean parkAndCheckInterrupt(); +public: // actually package-private + virtual jboolean acquireQueued(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jlong); +private: + void doAcquireInterruptibly(jlong); + jboolean doAcquireNanos(jlong, jlong); + void doAcquireShared(jlong); + void doAcquireSharedInterruptibly(jlong); + jboolean doAcquireSharedNanos(jlong, jlong); +public: // actually protected + virtual jboolean tryAcquire(jlong); + virtual jboolean tryRelease(jlong); + virtual jlong tryAcquireShared(jlong); + virtual jboolean tryReleaseShared(jlong); + virtual jboolean isHeldExclusively(); +public: + virtual void acquire(jlong); + virtual void acquireInterruptibly(jlong); + virtual jboolean tryAcquireNanos(jlong, jlong); + virtual jboolean release(jlong); + virtual void acquireShared(jlong); + virtual void acquireSharedInterruptibly(jlong); + virtual jboolean tryAcquireSharedNanos(jlong, jlong); + virtual jboolean releaseShared(jlong); + virtual jboolean hasQueuedThreads(); + virtual jboolean hasContended(); + virtual ::java::lang::Thread * getFirstQueuedThread(); +private: + ::java::lang::Thread * fullGetFirstQueuedThread(); +public: + virtual jboolean isQueued(::java::lang::Thread *); +public: // actually package-private + virtual jboolean apparentlyFirstQueuedIsExclusive(); + virtual jboolean isFirst(::java::lang::Thread *); + virtual jboolean fullIsFirst(::java::lang::Thread *); +public: + virtual jint getQueueLength(); + virtual ::java::util::Collection * getQueuedThreads(); + virtual ::java::util::Collection * getExclusiveQueuedThreads(); + virtual ::java::util::Collection * getSharedQueuedThreads(); + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual jboolean isOnSyncQueue(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); +private: + jboolean findNodeFromTail(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); +public: // actually package-private + virtual jboolean transferForSignal(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + virtual jboolean transferAfterCancelledWait(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + virtual jlong fullyRelease(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); +public: + virtual jboolean owns(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *); + virtual jboolean hasWaiters(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *); + virtual jint getWaitQueueLength(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *); + virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *); +private: + jboolean compareAndSetHead(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + jboolean compareAndSetTail(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *); + static jboolean compareAndSetWaitStatus(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jint, jint); +public: // actually package-private + static void access$0(); +private: + static const jlong serialVersionUID = 7373984972572414692LL; + volatile ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractOwnableSynchronizer)))) head; + volatile ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * tail; + volatile jlong state; +public: // actually package-private + static const jlong spinForTimeoutThreshold = 1000LL; +private: + static ::sun::misc::Unsafe * unsafe; + static jlong stateOffset; + static jlong headOffset; + static jlong tailOffset; + static jlong waitStatusOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__ diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h new file mode 100644 index 00000000000..67ca64f6e98 --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer$ConditionObject__ +#define __java_util_concurrent_locks_AbstractQueuedSynchronizer$ConditionObject__ + +#pragma interface + +#include + +class java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject : public ::java::lang::Object +{ + +public: + AbstractQueuedSynchronizer$ConditionObject(::java::util::concurrent::locks::AbstractQueuedSynchronizer *); +private: + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * addConditionWaiter(); + void doSignal(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + void doSignalAll(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + jboolean isOnConditionQueue(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + void unlinkCancelledWaiter(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); +public: + virtual void signal(); + virtual void signalAll(); + virtual void awaitUninterruptibly(); +private: + jint checkInterruptWhileWaiting(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + void reportInterruptAfterWait(jint); +public: + virtual void await(); + virtual jlong awaitNanos(jlong); + virtual jboolean awaitUntil(::java::util::Date *); + virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *); +public: // actually package-private + virtual jboolean isOwnedBy(::java::util::concurrent::locks::AbstractQueuedSynchronizer *); +public: // actually protected + virtual jboolean hasWaiters(); + virtual jint getWaitQueueLength(); + virtual ::java::util::Collection * getWaitingThreads(); +private: + static const jlong serialVersionUID = 1173984872572414699LL; + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) firstWaiter; + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * lastWaiter; + static const jint REINTERRUPT = 1; + static const jint THROW_IE = -1; +public: // actually package-private + ::java::util::concurrent::locks::AbstractQueuedSynchronizer * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractQueuedSynchronizer$ConditionObject__ diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h new file mode 100644 index 00000000000..0abbb8fd23a --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer$Node__ +#define __java_util_concurrent_locks_AbstractQueuedSynchronizer$Node__ + +#pragma interface + +#include + +class java::util::concurrent::locks::AbstractQueuedSynchronizer$Node : public ::java::lang::Object +{ + +public: // actually package-private + jboolean isShared(); + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * predecessor(); + AbstractQueuedSynchronizer$Node(); + AbstractQueuedSynchronizer$Node(::java::lang::Thread *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + AbstractQueuedSynchronizer$Node(::java::lang::Thread *, jint); + static const jint CANCELLED = 1; + static const jint SIGNAL = -1; + static const jint CONDITION = -2; + static ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * SHARED; + static ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * EXCLUSIVE; + volatile jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) waitStatus; + volatile ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * prev; + volatile ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * next; + volatile ::java::lang::Thread * thread; + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * nextWaiter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractQueuedSynchronizer$Node__ diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h new file mode 100644 index 00000000000..fc2b9df033d --- /dev/null +++ b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer__ +#define __java_util_concurrent_locks_AbstractQueuedSynchronizer__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::locks::AbstractQueuedSynchronizer : public ::java::util::concurrent::locks::AbstractOwnableSynchronizer +{ + +public: // actually protected + AbstractQueuedSynchronizer(); + virtual jint getState(); + virtual void setState(jint); + virtual jboolean compareAndSetState(jint, jint); +private: + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * enq(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * addWaiter(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + void setHead(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + void unparkSuccessor(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + void setHeadAndPropagate(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint); + void cancelAcquire(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + static jboolean shouldParkAfterFailedAcquire(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + static void selfInterrupt(); + jboolean parkAndCheckInterrupt(); +public: // actually package-private + virtual jboolean acquireQueued(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint); +private: + void doAcquireInterruptibly(jint); + jboolean doAcquireNanos(jint, jlong); + void doAcquireShared(jint); + void doAcquireSharedInterruptibly(jint); + jboolean doAcquireSharedNanos(jint, jlong); +public: // actually protected + virtual jboolean tryAcquire(jint); + virtual jboolean tryRelease(jint); + virtual jint tryAcquireShared(jint); + virtual jboolean tryReleaseShared(jint); + virtual jboolean isHeldExclusively(); +public: + virtual void acquire(jint); + virtual void acquireInterruptibly(jint); + virtual jboolean tryAcquireNanos(jint, jlong); + virtual jboolean release(jint); + virtual void acquireShared(jint); + virtual void acquireSharedInterruptibly(jint); + virtual jboolean tryAcquireSharedNanos(jint, jlong); + virtual jboolean releaseShared(jint); + virtual jboolean hasQueuedThreads(); + virtual jboolean hasContended(); + virtual ::java::lang::Thread * getFirstQueuedThread(); +private: + ::java::lang::Thread * fullGetFirstQueuedThread(); +public: + virtual jboolean isQueued(::java::lang::Thread *); +public: // actually package-private + virtual jboolean apparentlyFirstQueuedIsExclusive(); + virtual jboolean isFirst(::java::lang::Thread *); + virtual jboolean fullIsFirst(::java::lang::Thread *); +public: + virtual jint getQueueLength(); + virtual ::java::util::Collection * getQueuedThreads(); + virtual ::java::util::Collection * getExclusiveQueuedThreads(); + virtual ::java::util::Collection * getSharedQueuedThreads(); + virtual ::java::lang::String * toString(); +public: // actually package-private + virtual jboolean isOnSyncQueue(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); +private: + jboolean findNodeFromTail(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); +public: // actually package-private + virtual jboolean transferForSignal(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + virtual jboolean transferAfterCancelledWait(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + virtual jint fullyRelease(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); +public: + virtual jboolean owns(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *); + virtual jboolean hasWaiters(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *); + virtual jint getWaitQueueLength(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *); + virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *); +private: + jboolean compareAndSetHead(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + jboolean compareAndSetTail(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *); + static jboolean compareAndSetWaitStatus(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint, jint); +public: // actually package-private + static void access$0(); +private: + static const jlong serialVersionUID = 7373984972572414691LL; + volatile ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractOwnableSynchronizer)))) head; + volatile ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * tail; + volatile jint state; +public: // actually package-private + static const jlong spinForTimeoutThreshold = 1000LL; +private: + static ::sun::misc::Unsafe * unsafe; + static jlong stateOffset; + static jlong headOffset; + static jlong tailOffset; + static jlong waitStatusOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_AbstractQueuedSynchronizer__ diff --git a/libjava/java/util/concurrent/locks/Condition.h b/libjava/java/util/concurrent/locks/Condition.h new file mode 100644 index 00000000000..141a4e919cd --- /dev/null +++ b/libjava/java/util/concurrent/locks/Condition.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_Condition__ +#define __java_util_concurrent_locks_Condition__ + +#pragma interface + +#include + +class java::util::concurrent::locks::Condition : public ::java::lang::Object +{ + +public: + virtual void await() = 0; + virtual void awaitUninterruptibly() = 0; + virtual jlong awaitNanos(jlong) = 0; + virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual jboolean awaitUntil(::java::util::Date *) = 0; + virtual void signal() = 0; + virtual void signalAll() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_locks_Condition__ diff --git a/libjava/java/util/concurrent/locks/Lock.h b/libjava/java/util/concurrent/locks/Lock.h new file mode 100644 index 00000000000..b00f601e71d --- /dev/null +++ b/libjava/java/util/concurrent/locks/Lock.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_Lock__ +#define __java_util_concurrent_locks_Lock__ + +#pragma interface + +#include + +class java::util::concurrent::locks::Lock : public ::java::lang::Object +{ + +public: + virtual void lock() = 0; + virtual void lockInterruptibly() = 0; + virtual jboolean tryLock() = 0; + virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *) = 0; + virtual void unlock() = 0; + virtual ::java::util::concurrent::locks::Condition * newCondition() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_locks_Lock__ diff --git a/libjava/java/util/concurrent/locks/LockSupport.h b/libjava/java/util/concurrent/locks/LockSupport.h new file mode 100644 index 00000000000..15ef7306f8b --- /dev/null +++ b/libjava/java/util/concurrent/locks/LockSupport.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_LockSupport__ +#define __java_util_concurrent_locks_LockSupport__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class java::util::concurrent::locks::LockSupport : public ::java::lang::Object +{ + + LockSupport(); + static void setBlocker(::java::lang::Thread *, ::java::lang::Object *); +public: + static void unpark(::java::lang::Thread *); + static void park(::java::lang::Object *); + static void parkNanos(::java::lang::Object *, jlong); + static void parkUntil(::java::lang::Object *, jlong); + static ::java::lang::Object * getBlocker(::java::lang::Thread *); + static void park(); + static void parkNanos(jlong); + static void parkUntil(jlong); +private: + static ::sun::misc::Unsafe * unsafe; + static jlong parkBlockerOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_LockSupport__ diff --git a/libjava/java/util/concurrent/locks/ReadWriteLock.h b/libjava/java/util/concurrent/locks/ReadWriteLock.h new file mode 100644 index 00000000000..1f4ae2e7236 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReadWriteLock.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReadWriteLock__ +#define __java_util_concurrent_locks_ReadWriteLock__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReadWriteLock : public ::java::lang::Object +{ + +public: + virtual ::java::util::concurrent::locks::Lock * readLock() = 0; + virtual ::java::util::concurrent::locks::Lock * writeLock() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_concurrent_locks_ReadWriteLock__ diff --git a/libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h b/libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h new file mode 100644 index 00000000000..d4268afcde8 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantLock$FairSync__ +#define __java_util_concurrent_locks_ReentrantLock$FairSync__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantLock$FairSync : public ::java::util::concurrent::locks::ReentrantLock$Sync +{ + +public: // actually package-private + ReentrantLock$FairSync(); + void lock(); +public: // actually protected + jboolean tryAcquire(jint); +private: + static const jlong serialVersionUID = -3000897897090466540LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantLock$FairSync__ diff --git a/libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h b/libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h new file mode 100644 index 00000000000..743a0bd75c0 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantLock$NonfairSync__ +#define __java_util_concurrent_locks_ReentrantLock$NonfairSync__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantLock$NonfairSync : public ::java::util::concurrent::locks::ReentrantLock$Sync +{ + +public: // actually package-private + ReentrantLock$NonfairSync(); + void lock(); +public: // actually protected + jboolean tryAcquire(jint); +private: + static const jlong serialVersionUID = 7316153563782823691LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantLock$NonfairSync__ diff --git a/libjava/java/util/concurrent/locks/ReentrantLock$Sync.h b/libjava/java/util/concurrent/locks/ReentrantLock$Sync.h new file mode 100644 index 00000000000..b3656d0df53 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantLock$Sync.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantLock$Sync__ +#define __java_util_concurrent_locks_ReentrantLock$Sync__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantLock$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer +{ + +public: // actually package-private + ReentrantLock$Sync(); + virtual void lock() = 0; + virtual jboolean nonfairTryAcquire(jint); +public: // actually protected + virtual jboolean tryRelease(jint); + virtual jboolean isHeldExclusively(); +public: // actually package-private + virtual ::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject * newCondition(); + virtual ::java::lang::Thread * getOwner(); + virtual jint getHoldCount(); + virtual jboolean isLocked(); +private: + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -5179523762034025860LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantLock$Sync__ diff --git a/libjava/java/util/concurrent/locks/ReentrantLock.h b/libjava/java/util/concurrent/locks/ReentrantLock.h new file mode 100644 index 00000000000..5cac4b27fa2 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantLock.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantLock__ +#define __java_util_concurrent_locks_ReentrantLock__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantLock : public ::java::lang::Object +{ + +public: + ReentrantLock(); + ReentrantLock(jboolean); + virtual void lock(); + virtual void lockInterruptibly(); + virtual jboolean tryLock(); + virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *); + virtual void unlock(); + virtual ::java::util::concurrent::locks::Condition * newCondition(); + virtual jint getHoldCount(); + virtual jboolean isHeldByCurrentThread(); + virtual jboolean isLocked(); + virtual jboolean isFair(); +public: // actually protected + virtual ::java::lang::Thread * getOwner(); +public: + virtual jboolean hasQueuedThreads(); + virtual jboolean hasQueuedThread(::java::lang::Thread *); + virtual jint getQueueLength(); +public: // actually protected + virtual ::java::util::Collection * getQueuedThreads(); +public: + virtual jboolean hasWaiters(::java::util::concurrent::locks::Condition *); + virtual jint getWaitQueueLength(::java::util::concurrent::locks::Condition *); +public: // actually protected + virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::Condition *); +public: + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 7373984872572414699LL; + ::java::util::concurrent::locks::ReentrantLock$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantLock__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h new file mode 100644 index 00000000000..05090b5b11c --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$FairSync__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$FairSync__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$FairSync : public ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync +{ + +public: // actually package-private + ReentrantReadWriteLock$FairSync(); + jboolean writerShouldBlock(::java::lang::Thread *); + jboolean readerShouldBlock(::java::lang::Thread *); +private: + static const jlong serialVersionUID = -2274990926593161451LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$FairSync__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h new file mode 100644 index 00000000000..29a565ae4e4 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$NonfairSync__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$NonfairSync__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$NonfairSync : public ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync +{ + +public: // actually package-private + ReentrantReadWriteLock$NonfairSync(); + jboolean writerShouldBlock(::java::lang::Thread *); + jboolean readerShouldBlock(::java::lang::Thread *); +private: + static const jlong serialVersionUID = -8159625535654395037LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$NonfairSync__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h new file mode 100644 index 00000000000..0f48a6cb895 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$ReadLock__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$ReadLock__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$ReadLock : public ::java::lang::Object +{ + +public: // actually protected + ReentrantReadWriteLock$ReadLock(::java::util::concurrent::locks::ReentrantReadWriteLock *); +public: + virtual void lock(); + virtual void lockInterruptibly(); + virtual jboolean tryLock(); + virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *); + virtual void unlock(); + virtual ::java::util::concurrent::locks::Condition * newCondition(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -5992448646407690164LL; + ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$ReadLock__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h new file mode 100644 index 00000000000..4813f0d8f2d --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$HoldCounter__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$HoldCounter__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$Sync$HoldCounter : public ::java::lang::Object +{ + +public: // actually package-private + ReentrantReadWriteLock$Sync$HoldCounter(); + jint tryDecrement(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jlong tid; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$HoldCounter__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h new file mode 100644 index 00000000000..c9dedf0df50 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter : public ::java::lang::ThreadLocal +{ + +public: // actually package-private + ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter(); +public: + ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync$HoldCounter * target$initialValue(); + ::java::lang::Object * initialValue(); + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h new file mode 100644 index 00000000000..d1d43078f84 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$Sync__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$Sync__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer +{ + +public: // actually package-private + static jint sharedCount(jint); + static jint exclusiveCount(jint); + ReentrantReadWriteLock$Sync(); + virtual jboolean readerShouldBlock(::java::lang::Thread *) = 0; + virtual jboolean writerShouldBlock(::java::lang::Thread *) = 0; +public: // actually protected + virtual jboolean tryRelease(jint); + virtual jboolean tryAcquire(jint); + virtual jboolean tryReleaseShared(jint); + virtual jint tryAcquireShared(jint); +public: // actually package-private + virtual jint fullTryAcquireShared(::java::lang::Thread *); + virtual jboolean tryWriteLock(); + virtual jboolean tryReadLock(); +public: // actually protected + virtual jboolean isHeldExclusively(); +public: // actually package-private + virtual ::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject * newCondition(); + virtual ::java::lang::Thread * getOwner(); + virtual jint getReadLockCount(); + virtual jboolean isWriteLocked(); + virtual jint getWriteHoldCount(); + virtual jint getReadHoldCount(); +private: + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + virtual jint getCount(); +private: + static const jlong serialVersionUID = 6317671515068378041LL; +public: // actually package-private + static const jint SHARED_SHIFT = 16; + static const jint SHARED_UNIT = 65536; + static const jint MAX_COUNT = 65535; + static const jint EXCLUSIVE_MASK = 65535; + ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter * __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractQueuedSynchronizer)))) readHolds; + ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync$HoldCounter * cachedHoldCounter; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$Sync__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h new file mode 100644 index 00000000000..4e57d53c654 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$WriteLock__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock$WriteLock__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock$WriteLock : public ::java::lang::Object +{ + +public: // actually protected + ReentrantReadWriteLock$WriteLock(::java::util::concurrent::locks::ReentrantReadWriteLock *); +public: + virtual void lock(); + virtual void lockInterruptibly(); + virtual jboolean tryLock(); + virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *); + virtual void unlock(); + virtual ::java::util::concurrent::locks::Condition * newCondition(); + virtual ::java::lang::String * toString(); + virtual jboolean isHeldByCurrentThread(); + virtual jint getHoldCount(); +private: + static const jlong serialVersionUID = -4992448646407690164LL; + ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$WriteLock__ diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h new file mode 100644 index 00000000000..3bea3cc54a1 --- /dev/null +++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock__ +#define __java_util_concurrent_locks_ReentrantReadWriteLock__ + +#pragma interface + +#include + +class java::util::concurrent::locks::ReentrantReadWriteLock : public ::java::lang::Object +{ + +public: + ReentrantReadWriteLock(); + ReentrantReadWriteLock(jboolean); + virtual ::java::util::concurrent::locks::ReentrantReadWriteLock$WriteLock * target$writeLock(); + virtual ::java::util::concurrent::locks::ReentrantReadWriteLock$ReadLock * target$readLock(); + virtual jboolean isFair(); +public: // actually protected + virtual ::java::lang::Thread * getOwner(); +public: + virtual jint getReadLockCount(); + virtual jboolean isWriteLocked(); + virtual jboolean isWriteLockedByCurrentThread(); + virtual jint getWriteHoldCount(); + virtual jint getReadHoldCount(); +public: // actually protected + virtual ::java::util::Collection * getQueuedWriterThreads(); + virtual ::java::util::Collection * getQueuedReaderThreads(); +public: + virtual jboolean hasQueuedThreads(); + virtual jboolean hasQueuedThread(::java::lang::Thread *); + virtual jint getQueueLength(); +public: // actually protected + virtual ::java::util::Collection * getQueuedThreads(); +public: + virtual jboolean hasWaiters(::java::util::concurrent::locks::Condition *); + virtual jint getWaitQueueLength(::java::util::concurrent::locks::Condition *); +public: // actually protected + virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::Condition *); +public: + virtual ::java::lang::String * toString(); + virtual ::java::util::concurrent::locks::Lock * readLock(); + virtual ::java::util::concurrent::locks::Lock * writeLock(); +public: // actually package-private + static ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * access$2(::java::util::concurrent::locks::ReentrantReadWriteLock *); +private: + static const jlong serialVersionUID = -6992448646407690164LL; + ::java::util::concurrent::locks::ReentrantReadWriteLock$ReadLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) readerLock; + ::java::util::concurrent::locks::ReentrantReadWriteLock$WriteLock * writerLock; + ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * sync; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_concurrent_locks_ReentrantReadWriteLock__ diff --git a/libjava/java/util/jar/Attributes$Name.h b/libjava/java/util/jar/Attributes$Name.h new file mode 100644 index 00000000000..867bcea7739 --- /dev/null +++ b/libjava/java/util/jar/Attributes$Name.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_Attributes$Name__ +#define __java_util_jar_Attributes$Name__ + +#pragma interface + +#include + +class java::util::jar::Attributes$Name : public ::java::lang::Object +{ + +public: + Attributes$Name(::java::lang::String *); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + static ::java::util::jar::Attributes$Name * MANIFEST_VERSION; + static ::java::util::jar::Attributes$Name * SIGNATURE_VERSION; + static ::java::util::jar::Attributes$Name * CLASS_PATH; + static ::java::util::jar::Attributes$Name * MAIN_CLASS; + static ::java::util::jar::Attributes$Name * EXTENSION_LIST; + static ::java::util::jar::Attributes$Name * EXTENSION_NAME; + static ::java::util::jar::Attributes$Name * EXTENSION_INSTALLATION; + static ::java::util::jar::Attributes$Name * IMPLEMENTATION_TITLE; + static ::java::util::jar::Attributes$Name * IMPLEMENTATION_VERSION; + static ::java::util::jar::Attributes$Name * IMPLEMENTATION_VENDOR; + static ::java::util::jar::Attributes$Name * IMPLEMENTATION_VENDOR_ID; + static ::java::util::jar::Attributes$Name * IMPLEMENTATION_URL; + static ::java::util::jar::Attributes$Name * SPECIFICATION_TITLE; + static ::java::util::jar::Attributes$Name * SPECIFICATION_VERSION; + static ::java::util::jar::Attributes$Name * SPECIFICATION_VENDOR; + static ::java::util::jar::Attributes$Name * SEALED; + static ::java::util::jar::Attributes$Name * CONTENT_TYPE; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * origName; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_Attributes$Name__ diff --git a/libjava/java/util/jar/Attributes.h b/libjava/java/util/jar/Attributes.h new file mode 100644 index 00000000000..628be03df7f --- /dev/null +++ b/libjava/java/util/jar/Attributes.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_Attributes__ +#define __java_util_jar_Attributes__ + +#pragma interface + +#include + +class java::util::jar::Attributes : public ::java::lang::Object +{ + +public: + Attributes(); + Attributes(jint); + Attributes(::java::util::jar::Attributes *); + virtual ::java::lang::String * getValue(::java::lang::String *); + virtual ::java::lang::String * getValue(::java::util::jar::Attributes$Name *); + virtual ::java::lang::String * putValue(::java::lang::String *, ::java::lang::String *); +private: + ::java::lang::String * putValue(::java::util::jar::Attributes$Name *, ::java::lang::String *); +public: + virtual ::java::lang::Object * clone(); + virtual void clear(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsValue(::java::lang::Object *); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::util::Collection * values(); +public: // actually protected + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_Attributes__ diff --git a/libjava/java/util/jar/JarEntry.h b/libjava/java/util/jar/JarEntry.h new file mode 100644 index 00000000000..c95ab948662 --- /dev/null +++ b/libjava/java/util/jar/JarEntry.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarEntry__ +#define __java_util_jar_JarEntry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class java::util::jar::JarEntry : public ::java::util::zip::ZipEntry +{ + +public: + JarEntry(::java::lang::String *); + JarEntry(::java::util::zip::ZipEntry *); + JarEntry(::java::util::jar::JarEntry *); + virtual ::java::util::jar::Attributes * getAttributes(); + virtual JArray< ::java::security::cert::Certificate * > * getCertificates(); +public: // actually package-private + ::java::util::jar::Attributes * __attribute__((aligned(__alignof__( ::java::util::zip::ZipEntry)))) attr; + ::java::util::jar::JarFile * jarfile; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarEntry__ diff --git a/libjava/java/util/jar/JarException.h b/libjava/java/util/jar/JarException.h new file mode 100644 index 00000000000..4ea6da37bfa --- /dev/null +++ b/libjava/java/util/jar/JarException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarException__ +#define __java_util_jar_JarException__ + +#pragma interface + +#include + +class java::util::jar::JarException : public ::java::util::zip::ZipException +{ + +public: + JarException(); + JarException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7159778400963954473LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarException__ diff --git a/libjava/java/util/jar/JarFile$EntryInputStream.h b/libjava/java/util/jar/JarFile$EntryInputStream.h new file mode 100644 index 00000000000..cf68dbf450c --- /dev/null +++ b/libjava/java/util/jar/JarFile$EntryInputStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarFile$EntryInputStream__ +#define __java_util_jar_JarFile$EntryInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class MessageDigest; + } + } +} + +class java::util::jar::JarFile$EntryInputStream : public ::java::io::FilterInputStream +{ + +public: // actually package-private + JarFile$EntryInputStream(::java::util::zip::ZipEntry *, ::java::io::InputStream *, ::java::util::jar::JarFile *); +public: + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); + virtual jlong skip(jlong); +private: + void eof(); + ::java::util::jar::JarFile * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) jarfile; + jlong length; + jlong pos; + ::java::util::zip::ZipEntry * entry; + JArray< JArray< jbyte > * > * hashes; + JArray< ::java::security::MessageDigest * > * md; + jboolean checked; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarFile$EntryInputStream__ diff --git a/libjava/java/util/jar/JarFile$JarEnumeration.h b/libjava/java/util/jar/JarFile$JarEnumeration.h new file mode 100644 index 00000000000..8916b5bf14b --- /dev/null +++ b/libjava/java/util/jar/JarFile$JarEnumeration.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarFile$JarEnumeration__ +#define __java_util_jar_JarFile$JarEnumeration__ + +#pragma interface + +#include + +class java::util::jar::JarFile$JarEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + JarFile$JarEnumeration(::java::util::Enumeration *, ::java::util::jar::JarFile *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::util::jar::JarEntry * target$nextElement(); + virtual ::java::lang::Object * nextElement(); +private: + ::java::util::Enumeration * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries; + ::java::util::jar::JarFile * jarfile; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarFile$JarEnumeration__ diff --git a/libjava/java/util/jar/JarFile.h b/libjava/java/util/jar/JarFile.h new file mode 100644 index 00000000000..081be76bf9b --- /dev/null +++ b/libjava/java/util/jar/JarFile.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarFile__ +#define __java_util_jar_JarFile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + namespace pkcs + { + class SignerInfo; + } + namespace provider + { + class Gnu; + } + } + } + } + namespace java + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class java::util::jar::JarFile : public ::java::util::zip::ZipFile +{ + +public: // actually package-private + static void debug(::java::lang::Object *); +public: + JarFile(::java::lang::String *); + JarFile(::java::lang::String *, jboolean); + JarFile(::java::io::File *); + JarFile(::java::io::File *, jboolean); + JarFile(::java::io::File *, jboolean, jint); +private: + void verify(); + ::java::util::jar::Manifest * readManifest(); +public: + virtual ::java::util::Enumeration * entries(); + virtual ::java::util::zip::ZipEntry * getEntry(::java::lang::String *); + virtual ::java::io::InputStream * getInputStream(::java::util::zip::ZipEntry *); + virtual ::java::util::jar::JarEntry * getJarEntry(::java::lang::String *); + virtual ::java::util::jar::Manifest * getManifest(); +public: // actually package-private + virtual void readSignatures(); +private: + void verify(JArray< ::java::security::cert::Certificate * > *, ::gnu::java::security::pkcs::SignerInfo *, ::java::lang::String *, ::java::util::Set *); + jboolean verifyHashes(::java::lang::String *, ::java::util::jar::Attributes *, ::java::util::HashMap *); +public: + static ::java::lang::String * MANIFEST_NAME; +private: + static ::java::lang::String * META_INF; + static ::java::lang::String * PKCS7_DSA_SUFFIX; + static ::java::lang::String * PKCS7_RSA_SUFFIX; + static ::java::lang::String * DIGEST_KEY_SUFFIX; + static ::java::lang::String * SF_SUFFIX; +public: // actually package-private + static ::gnu::java::security::provider::Gnu * provider; +private: + static ::gnu::java::security::OID * MD2_OID; + static ::gnu::java::security::OID * MD4_OID; + static ::gnu::java::security::OID * MD5_OID; + static ::gnu::java::security::OID * SHA1_OID; + static ::gnu::java::security::OID * DSA_ENCRYPTION_OID; + static ::gnu::java::security::OID * RSA_ENCRYPTION_OID; + ::java::util::jar::Manifest * __attribute__((aligned(__alignof__( ::java::util::zip::ZipFile)))) manifest; +public: // actually package-private + jboolean verify__; +private: + jboolean manifestRead; +public: // actually package-private + jboolean signaturesRead; + ::java::util::HashMap * verified; + ::java::util::HashMap * entryCerts; +private: + ::java::util::HashMap * digestAlgorithms; +public: // actually package-private + static jboolean DEBUG; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarFile__ diff --git a/libjava/java/util/jar/JarInputStream.h b/libjava/java/util/jar/JarInputStream.h new file mode 100644 index 00000000000..7e4441d7e3a --- /dev/null +++ b/libjava/java/util/jar/JarInputStream.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarInputStream__ +#define __java_util_jar_JarInputStream__ + +#pragma interface + +#include +#include + + +class java::util::jar::JarInputStream : public ::java::util::zip::ZipInputStream +{ + +public: + JarInputStream(::java::io::InputStream *); + JarInputStream(::java::io::InputStream *, jboolean); +private: + void readManifest(jboolean); +public: // actually protected + virtual ::java::util::zip::ZipEntry * createZipEntry(::java::lang::String *); +public: + virtual ::java::util::jar::Manifest * getManifest(); + virtual ::java::util::zip::ZipEntry * getNextEntry(); + virtual ::java::util::jar::JarEntry * getNextJarEntry(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + ::java::util::jar::Manifest * __attribute__((aligned(__alignof__( ::java::util::zip::ZipInputStream)))) manifest; + ::java::util::jar::JarEntry * firstEntry; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarInputStream__ diff --git a/libjava/java/util/jar/JarOutputStream.h b/libjava/java/util/jar/JarOutputStream.h new file mode 100644 index 00000000000..184f307c5a7 --- /dev/null +++ b/libjava/java/util/jar/JarOutputStream.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_JarOutputStream__ +#define __java_util_jar_JarOutputStream__ + +#pragma interface + +#include + +class java::util::jar::JarOutputStream : public ::java::util::zip::ZipOutputStream +{ + +public: + JarOutputStream(::java::io::OutputStream *); + JarOutputStream(::java::io::OutputStream *, ::java::util::jar::Manifest *); +private: + void writeManifest(::java::util::jar::Manifest *); +public: + virtual void putNextEntry(::java::util::zip::ZipEntry *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_JarOutputStream__ diff --git a/libjava/java/util/jar/Manifest.h b/libjava/java/util/jar/Manifest.h new file mode 100644 index 00000000000..b0f2e993230 --- /dev/null +++ b/libjava/java/util/jar/Manifest.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_jar_Manifest__ +#define __java_util_jar_Manifest__ + +#pragma interface + +#include + +class java::util::jar::Manifest : public ::java::lang::Object +{ + +public: + Manifest(); + Manifest(::java::io::InputStream *); + Manifest(::java::util::jar::Manifest *); + virtual ::java::util::jar::Attributes * getMainAttributes(); + virtual ::java::util::Map * getEntries(); + virtual ::java::util::jar::Attributes * getAttributes(::java::lang::String *); + virtual void clear(); + virtual void read(::java::io::InputStream *); + virtual void write(::java::io::OutputStream *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + ::java::util::jar::Attributes * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mainAttr; + ::java::util::Map * entries; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_jar_Manifest__ diff --git a/libjava/java/util/logging/ConsoleHandler.h b/libjava/java/util/logging/ConsoleHandler.h new file mode 100644 index 00000000000..0d1bbe02ddf --- /dev/null +++ b/libjava/java/util/logging/ConsoleHandler.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_ConsoleHandler__ +#define __java_util_logging_ConsoleHandler__ + +#pragma interface + +#include + +class java::util::logging::ConsoleHandler : public ::java::util::logging::StreamHandler +{ + +public: + ConsoleHandler(); + virtual void close(); + virtual void publish(::java::util::logging::LogRecord *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_ConsoleHandler__ diff --git a/libjava/java/util/logging/ErrorManager.h b/libjava/java/util/logging/ErrorManager.h new file mode 100644 index 00000000000..e6c115e29d8 --- /dev/null +++ b/libjava/java/util/logging/ErrorManager.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_ErrorManager__ +#define __java_util_logging_ErrorManager__ + +#pragma interface + +#include + +class java::util::logging::ErrorManager : public ::java::lang::Object +{ + +public: + ErrorManager(); + virtual void error(::java::lang::String *, ::java::lang::Exception *, jint); + static const jint GENERIC_FAILURE = 0; + static const jint WRITE_FAILURE = 1; + static const jint FLUSH_FAILURE = 2; + static const jint CLOSE_FAILURE = 3; + static const jint OPEN_FAILURE = 4; + static const jint FORMAT_FAILURE = 5; +private: + volatile jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) everUsed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_ErrorManager__ diff --git a/libjava/java/util/logging/FileHandler$ostr.h b/libjava/java/util/logging/FileHandler$ostr.h new file mode 100644 index 00000000000..e34a3db8707 --- /dev/null +++ b/libjava/java/util/logging/FileHandler$ostr.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_FileHandler$ostr__ +#define __java_util_logging_FileHandler$ostr__ + +#pragma interface + +#include +#include + + +class java::util::logging::FileHandler$ostr : public ::java::io::FilterOutputStream +{ + + FileHandler$ostr(::java::util::logging::FileHandler *, ::java::io::OutputStream *); +public: + void write(jint); + void write(JArray< jbyte > *); + void write(JArray< jbyte > *, jint, jint); +public: // actually package-private + FileHandler$ostr(::java::util::logging::FileHandler *, ::java::io::OutputStream *, ::java::util::logging::FileHandler$ostr *); + ::java::util::logging::FileHandler * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_FileHandler$ostr__ diff --git a/libjava/java/util/logging/FileHandler.h b/libjava/java/util/logging/FileHandler.h new file mode 100644 index 00000000000..16feec2b2c1 --- /dev/null +++ b/libjava/java/util/logging/FileHandler.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_FileHandler__ +#define __java_util_logging_FileHandler__ + +#pragma interface + +#include + +class java::util::logging::FileHandler : public ::java::util::logging::StreamHandler +{ + +public: + FileHandler(); + FileHandler(::java::lang::String *); + FileHandler(::java::lang::String *, jboolean); + FileHandler(::java::lang::String *, jint, jint); + FileHandler(::java::lang::String *, jint, jint, jboolean); +private: + ::java::io::OutputStream * createFileStream(::java::lang::String *, jint, jint, jboolean, jint); + static ::java::lang::String * replaceFileNameEscapes(::java::lang::String *, jint, jint, jint); +public: + virtual void publish(::java::util::logging::LogRecord *); +private: + void rotate(); + static jboolean has(::java::lang::String *, jchar); + static ::java::lang::String * PROPERTY_PREFIX; + static ::java::lang::String * PATTERN_KEY; + static ::java::lang::String * DEFAULT_PATTERN; + static ::java::lang::String * LIMIT_KEY; + static const jint DEFAULT_LIMIT = 0; + static ::java::lang::String * COUNT_KEY; + static const jint DEFAULT_COUNT = 1; + static ::java::lang::String * APPEND_KEY; + static const jboolean DEFAULT_APPEND = 0; + jint __attribute__((aligned(__alignof__( ::java::util::logging::StreamHandler)))) limit; + jint count; + ::java::lang::String * pattern; + jboolean append; +public: // actually package-private + jlong written; +private: + ::java::util::LinkedList * logFiles; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_FileHandler__ diff --git a/libjava/java/util/logging/Filter.h b/libjava/java/util/logging/Filter.h new file mode 100644 index 00000000000..23b8ca6a1e5 --- /dev/null +++ b/libjava/java/util/logging/Filter.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_Filter__ +#define __java_util_logging_Filter__ + +#pragma interface + +#include + +class java::util::logging::Filter : public ::java::lang::Object +{ + +public: + virtual jboolean isLoggable(::java::util::logging::LogRecord *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_logging_Filter__ diff --git a/libjava/java/util/logging/Formatter.h b/libjava/java/util/logging/Formatter.h new file mode 100644 index 00000000000..def22454c6e --- /dev/null +++ b/libjava/java/util/logging/Formatter.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_Formatter__ +#define __java_util_logging_Formatter__ + +#pragma interface + +#include + +class java::util::logging::Formatter : public ::java::lang::Object +{ + +public: // actually protected + Formatter(); +public: + virtual ::java::lang::String * format(::java::util::logging::LogRecord *) = 0; + virtual ::java::lang::String * getHead(::java::util::logging::Handler *); + virtual ::java::lang::String * getTail(::java::util::logging::Handler *); + virtual ::java::lang::String * formatMessage(::java::util::logging::LogRecord *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_Formatter__ diff --git a/libjava/java/util/logging/Handler.h b/libjava/java/util/logging/Handler.h new file mode 100644 index 00000000000..2c722be60d2 --- /dev/null +++ b/libjava/java/util/logging/Handler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_Handler__ +#define __java_util_logging_Handler__ + +#pragma interface + +#include + +class java::util::logging::Handler : public ::java::lang::Object +{ + +public: // actually protected + Handler(); +public: + virtual void publish(::java::util::logging::LogRecord *) = 0; + virtual void flush() = 0; + virtual void close() = 0; + virtual ::java::util::logging::Formatter * getFormatter(); + virtual void setFormatter(::java::util::logging::Formatter *); + virtual ::java::lang::String * getEncoding(); + virtual void setEncoding(::java::lang::String *); + virtual ::java::util::logging::Filter * getFilter(); + virtual void setFilter(::java::util::logging::Filter *); + virtual ::java::util::logging::ErrorManager * getErrorManager(); + virtual void setErrorManager(::java::util::logging::ErrorManager *); +public: // actually protected + virtual void reportError(::java::lang::String *, ::java::lang::Exception *, jint); +public: + virtual ::java::util::logging::Level * getLevel(); + virtual void setLevel(::java::util::logging::Level *); + virtual jboolean isLoggable(::java::util::logging::LogRecord *); +public: // actually package-private + ::java::util::logging::Formatter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) formatter; + ::java::util::logging::Filter * filter; + ::java::util::logging::Level * level; + ::java::util::logging::ErrorManager * errorManager; + ::java::lang::String * encoding; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_Handler__ diff --git a/libjava/java/util/logging/Level.h b/libjava/java/util/logging/Level.h new file mode 100644 index 00000000000..34f51609326 --- /dev/null +++ b/libjava/java/util/logging/Level.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_Level__ +#define __java_util_logging_Level__ + +#pragma interface + +#include +#include + + +class java::util::logging::Level : public ::java::lang::Object +{ + +public: // actually protected + Level(::java::lang::String *, jint); + Level(::java::lang::String *, jint, ::java::lang::String *); +private: + ::java::lang::Object * readResolve(); +public: + virtual ::java::lang::String * getResourceBundleName(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getLocalizedName(); + virtual ::java::lang::String * toString(); + virtual jint intValue(); + static ::java::util::logging::Level * parse(::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +public: // actually package-private + virtual jboolean isStandardLevel(); +public: + static ::java::util::logging::Level * OFF; + static ::java::util::logging::Level * SEVERE; + static ::java::util::logging::Level * WARNING; + static ::java::util::logging::Level * INFO; + static ::java::util::logging::Level * CONFIG; + static ::java::util::logging::Level * FINE; + static ::java::util::logging::Level * FINER; + static ::java::util::logging::Level * FINEST; + static ::java::util::logging::Level * ALL; +private: + static JArray< ::java::util::logging::Level * > * knownLevels; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jint value; + ::java::lang::String * resourceBundleName; +public: // actually package-private + static const jlong serialVersionUID = -8176160795706313070LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_Level__ diff --git a/libjava/java/util/logging/LogManager$1.h b/libjava/java/util/logging/LogManager$1.h new file mode 100644 index 00000000000..1ef5738fefc --- /dev/null +++ b/libjava/java/util/logging/LogManager$1.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_LogManager$1__ +#define __java_util_logging_LogManager$1__ + +#pragma interface + +#include + +class java::util::logging::LogManager$1 : public ::java::lang::Object +{ + +public: // actually package-private + LogManager$1(); +public: + ::java::lang::String * getLoggerLevel(::java::lang::String *); + ::java::util::List * getLoggerNames(); + ::java::lang::String * getParentLoggerName(::java::lang::String *); + void setLoggerLevel(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_LogManager$1__ diff --git a/libjava/java/util/logging/LogManager.h b/libjava/java/util/logging/LogManager.h new file mode 100644 index 00000000000..f552d65d74d --- /dev/null +++ b/libjava/java/util/logging/LogManager.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_LogManager__ +#define __java_util_logging_LogManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + } + } +} + +class java::util::logging::LogManager : public ::java::lang::Object +{ + +public: // actually protected + LogManager(); +public: + static ::java::util::logging::LogManager * getLogManager(); +private: + static ::java::util::logging::LogManager * makeLogManager(); + static void initLogManager(); +public: + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual jboolean addLogger(::java::util::logging::Logger *); +private: + ::java::util::logging::Logger * findAncestor(::java::util::logging::Logger *); +public: + virtual ::java::util::logging::Logger * getLogger(::java::lang::String *); + virtual ::java::util::Enumeration * getLoggerNames(); + virtual void reset(); + virtual void readConfiguration(); + virtual void readConfiguration(::java::io::InputStream *); + virtual ::java::lang::String * getProperty(::java::lang::String *); +public: // actually package-private + static jint getIntProperty(::java::lang::String *, jint); + static jint getIntPropertyClamped(::java::lang::String *, jint, jint, jint); + static jboolean getBooleanProperty(::java::lang::String *, jboolean); + static ::java::util::logging::Level * getLevelProperty(::java::lang::String *, ::java::util::logging::Level *); + static ::java::lang::Class * getClassProperty(::java::lang::String *, ::java::lang::Class *); + static ::java::lang::Object * getInstanceProperty(::java::lang::String *, ::java::lang::Class *, ::java::lang::Class *); +public: + virtual void checkAccess(); +private: + static ::java::lang::Object * createInstance(::java::lang::String *, ::java::lang::Class *, ::java::lang::String *); + static void warn(::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *); + static void warn(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static void warn(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *); + static void warn(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class * locateClass(::java::lang::String *); +public: + static ::java::util::logging::LoggingMXBean * getLoggingMXBean(); + static ::java::lang::String * LOGGING_MXBEAN_NAME; +private: + static ::java::util::logging::LogManager * logManager; + static ::java::util::logging::LoggingMXBean * loggingBean; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loggers; + ::java::util::Properties * properties; + ::java::beans::PropertyChangeSupport * pcs; + static ::java::lang::String * MANAGER_PROPERTY; + static ::java::lang::String * CONFIG_PROPERTY; + static ::java::util::logging::LoggingPermission * controlPermission; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_LogManager__ diff --git a/libjava/java/util/logging/LogRecord.h b/libjava/java/util/logging/LogRecord.h new file mode 100644 index 00000000000..44541590978 --- /dev/null +++ b/libjava/java/util/logging/LogRecord.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_LogRecord__ +#define __java_util_logging_LogRecord__ + +#pragma interface + +#include +#include + + +class java::util::logging::LogRecord : public ::java::lang::Object +{ + +public: + LogRecord(::java::util::logging::Level *, ::java::lang::String *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + virtual ::java::lang::String * getLoggerName(); + virtual void setLoggerName(::java::lang::String *); + virtual ::java::util::ResourceBundle * getResourceBundle(); + virtual void setResourceBundle(::java::util::ResourceBundle *); + virtual ::java::lang::String * getResourceBundleName(); + virtual void setResourceBundleName(::java::lang::String *); + virtual ::java::util::logging::Level * getLevel(); + virtual void setLevel(::java::util::logging::Level *); +private: + static jlong allocateSeqNum(); +public: + virtual jlong getSequenceNumber(); + virtual void setSequenceNumber(jlong); + virtual ::java::lang::String * getSourceClassName(); + virtual void setSourceClassName(::java::lang::String *); + virtual ::java::lang::String * getSourceMethodName(); + virtual void setSourceMethodName(::java::lang::String *); + virtual ::java::lang::String * getMessage(); + virtual void setMessage(::java::lang::String *); + virtual JArray< ::java::lang::Object * > * getParameters(); + virtual void setParameters(JArray< ::java::lang::Object * > *); + virtual jint getThreadID(); + virtual void setThreadID(jint); + virtual jlong getMillis(); + virtual void setMillis(jlong); + virtual ::java::lang::Throwable * getThrown(); + virtual void setThrown(::java::lang::Throwable *); +private: + ::java::util::logging::Level * __attribute__((aligned(__alignof__( ::java::lang::Object)))) level; + jlong sequenceNumber; + ::java::lang::String * sourceClassName; + ::java::lang::String * sourceMethodName; + ::java::lang::String * message; + jint threadID; + jlong millis; + ::java::lang::Throwable * thrown; + ::java::lang::String * loggerName; + ::java::lang::String * resourceBundleName; + JArray< ::java::lang::Object * > * parameters; + ::java::util::ResourceBundle * bundle; +public: // actually package-private + static const jlong serialVersionUID = 5372048053134512534LL; +private: + static jlong lastSeqNum; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_LogRecord__ diff --git a/libjava/java/util/logging/Logger$1.h b/libjava/java/util/logging/Logger$1.h new file mode 100644 index 00000000000..1c1f3e8595d --- /dev/null +++ b/libjava/java/util/logging/Logger$1.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_Logger$1__ +#define __java_util_logging_Logger$1__ + +#pragma interface + +#include + +class java::util::logging::Logger$1 : public ::java::lang::Object +{ + +public: // actually package-private + Logger$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_Logger$1__ diff --git a/libjava/java/util/logging/Logger.h b/libjava/java/util/logging/Logger.h new file mode 100644 index 00000000000..c73a8d3c854 --- /dev/null +++ b/libjava/java/util/logging/Logger.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_Logger__ +#define __java_util_logging_Logger__ + +#pragma interface + +#include +#include + + +class java::util::logging::Logger : public ::java::lang::Object +{ + +public: // actually protected + Logger(::java::lang::String *, ::java::lang::String *); +public: + static ::java::util::logging::Logger * getLogger(::java::lang::String *); + static ::java::util::logging::Logger * getLogger(::java::lang::String *, ::java::lang::String *); + static ::java::util::logging::Logger * getAnonymousLogger(); + static ::java::util::logging::Logger * getAnonymousLogger(::java::lang::String *); + virtual ::java::lang::String * getResourceBundleName(); + virtual ::java::util::ResourceBundle * getResourceBundle(); + virtual ::java::util::logging::Level * getLevel(); + virtual jboolean isLoggable(::java::util::logging::Level *); + virtual void setLevel(::java::util::logging::Level *); + virtual ::java::util::logging::Filter * getFilter(); + virtual void setFilter(::java::util::logging::Filter *); + virtual ::java::lang::String * getName(); + virtual void log(::java::util::logging::LogRecord *); + virtual void log(::java::util::logging::Level *, ::java::lang::String *); + virtual void log(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::Object *); + virtual void log(::java::util::logging::Level *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual void log(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::Throwable *); + virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Object *); +private: + ::java::util::ResourceBundle * findResourceBundle(); + void logImpl(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *); +public: + virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *); + virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Object *); + virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *); + virtual void entering(::java::lang::String *, ::java::lang::String *); + virtual void entering(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *); + virtual void entering(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual void exiting(::java::lang::String *, ::java::lang::String *); + virtual void exiting(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *); + virtual void throwing(::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *); + virtual void severe(::java::lang::String *); + virtual void warning(::java::lang::String *); + virtual void info(::java::lang::String *); + virtual void config(::java::lang::String *); + virtual void fine(::java::lang::String *); + virtual void finer(::java::lang::String *); + virtual void finest(::java::lang::String *); + virtual void addHandler(::java::util::logging::Handler *); + virtual void removeHandler(::java::util::logging::Handler *); + virtual JArray< ::java::util::logging::Handler * > * getHandlers(); + virtual jboolean getUseParentHandlers(); + virtual void setUseParentHandlers(jboolean); + virtual ::java::util::logging::Logger * getParent(); + virtual void setParent(::java::util::logging::Logger *); +private: + ::java::lang::StackTraceElement * getCallerStackFrame(); +public: // actually package-private + virtual void resetLogger(); + static ::java::util::logging::Logger * root; +public: + static ::java::util::logging::Logger * global; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * resourceBundleName; + ::java::util::ResourceBundle * resourceBundle; + ::java::util::logging::Filter * filter; + ::java::util::List * handlerList; + JArray< ::java::util::logging::Handler * > * handlers; + jboolean anonymous; + jboolean useParentHandlers; + ::java::util::logging::Level * level; + ::java::util::logging::Logger * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_Logger__ diff --git a/libjava/java/util/logging/LoggingMXBean.h b/libjava/java/util/logging/LoggingMXBean.h new file mode 100644 index 00000000000..4bac932e4d5 --- /dev/null +++ b/libjava/java/util/logging/LoggingMXBean.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_LoggingMXBean__ +#define __java_util_logging_LoggingMXBean__ + +#pragma interface + +#include + +class java::util::logging::LoggingMXBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getLoggerLevel(::java::lang::String *) = 0; + virtual ::java::util::List * getLoggerNames() = 0; + virtual ::java::lang::String * getParentLoggerName(::java::lang::String *) = 0; + virtual void setLoggerLevel(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_logging_LoggingMXBean__ diff --git a/libjava/java/util/logging/LoggingPermission.h b/libjava/java/util/logging/LoggingPermission.h new file mode 100644 index 00000000000..a3b803ac274 --- /dev/null +++ b/libjava/java/util/logging/LoggingPermission.h @@ -0,0 +1,22 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_LoggingPermission__ +#define __java_util_logging_LoggingPermission__ + +#pragma interface + +#include + +class java::util::logging::LoggingPermission : public ::java::security::BasicPermission +{ + +public: + LoggingPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 63564341580231582LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_LoggingPermission__ diff --git a/libjava/java/util/logging/MemoryHandler.h b/libjava/java/util/logging/MemoryHandler.h new file mode 100644 index 00000000000..4ce638af9a0 --- /dev/null +++ b/libjava/java/util/logging/MemoryHandler.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_MemoryHandler__ +#define __java_util_logging_MemoryHandler__ + +#pragma interface + +#include +#include + + +class java::util::logging::MemoryHandler : public ::java::util::logging::Handler +{ + +public: + MemoryHandler(); + MemoryHandler(::java::util::logging::Handler *, jint, ::java::util::logging::Level *); + virtual void publish(::java::util::logging::LogRecord *); + virtual void push(); + virtual void flush(); + virtual void close(); + virtual ::java::util::logging::Level * getPushLevel(); + virtual void setPushLevel(::java::util::logging::Level *); +private: + JArray< ::java::util::logging::LogRecord * > * __attribute__((aligned(__alignof__( ::java::util::logging::Handler)))) buffer; + jint position; + jint numPublished; + ::java::util::logging::Level * pushLevel; + ::java::util::logging::Handler * target; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_MemoryHandler__ diff --git a/libjava/java/util/logging/SimpleFormatter.h b/libjava/java/util/logging/SimpleFormatter.h new file mode 100644 index 00000000000..6afece7191f --- /dev/null +++ b/libjava/java/util/logging/SimpleFormatter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_SimpleFormatter__ +#define __java_util_logging_SimpleFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormat; + } + } +} + +class java::util::logging::SimpleFormatter : public ::java::util::logging::Formatter +{ + +public: + SimpleFormatter(); + virtual ::java::lang::String * format(::java::util::logging::LogRecord *); +private: + ::java::text::DateFormat * __attribute__((aligned(__alignof__( ::java::util::logging::Formatter)))) dateFormat; +public: // actually package-private + static ::java::lang::String * lineSep; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_SimpleFormatter__ diff --git a/libjava/java/util/logging/SocketHandler.h b/libjava/java/util/logging/SocketHandler.h new file mode 100644 index 00000000000..8286f13520f --- /dev/null +++ b/libjava/java/util/logging/SocketHandler.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_SocketHandler__ +#define __java_util_logging_SocketHandler__ + +#pragma interface + +#include + +class java::util::logging::SocketHandler : public ::java::util::logging::StreamHandler +{ + +public: + SocketHandler(); + SocketHandler(::java::lang::String *, jint); +private: + static jint getPortNumber(); + static ::java::io::OutputStream * createSocket(::java::lang::String *, jint); +public: + virtual void publish(::java::util::logging::LogRecord *); + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_SocketHandler__ diff --git a/libjava/java/util/logging/StreamHandler.h b/libjava/java/util/logging/StreamHandler.h new file mode 100644 index 00000000000..11dca983ffd --- /dev/null +++ b/libjava/java/util/logging/StreamHandler.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_StreamHandler__ +#define __java_util_logging_StreamHandler__ + +#pragma interface + +#include + +class java::util::logging::StreamHandler : public ::java::util::logging::Handler +{ + +public: + StreamHandler(); + StreamHandler(::java::io::OutputStream *, ::java::util::logging::Formatter *); +public: // actually package-private + StreamHandler(::java::io::OutputStream *, ::java::lang::String *, ::java::util::logging::Level *, ::java::util::logging::Formatter *, ::java::lang::Class *); +private: + void checkOpen(); + void checkFresh(); + void changeWriter(::java::io::OutputStream *, ::java::lang::String *); +public: + virtual void setEncoding(::java::lang::String *); +public: // actually protected + virtual void setOutputStream(::java::io::OutputStream *); +public: + virtual void publish(::java::util::logging::LogRecord *); + virtual jboolean isLoggable(::java::util::logging::LogRecord *); + virtual void flush(); + virtual void close(); +private: + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::util::logging::Handler)))) out; + ::java::io::Writer * writer; + jint streamState; + static const jint STATE_FRESH = 0; + static const jint STATE_PUBLISHED = 1; + static const jint STATE_CLOSED = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_StreamHandler__ diff --git a/libjava/java/util/logging/XMLFormatter.h b/libjava/java/util/logging/XMLFormatter.h new file mode 100644 index 00000000000..48a585de097 --- /dev/null +++ b/libjava/java/util/logging/XMLFormatter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_logging_XMLFormatter__ +#define __java_util_logging_XMLFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class SimpleDateFormat; + } + } +} + +class java::util::logging::XMLFormatter : public ::java::util::logging::Formatter +{ + +public: + XMLFormatter(); +private: + static void appendTag(::java::lang::StringBuffer *, jint, ::java::lang::String *, ::java::lang::String *); + static void appendTag(::java::lang::StringBuffer *, jint, ::java::lang::String *, jlong); +public: + virtual ::java::lang::String * format(::java::util::logging::LogRecord *); + virtual ::java::lang::String * getHead(::java::util::logging::Handler *); + virtual ::java::lang::String * getTail(::java::util::logging::Handler *); +private: + static ::java::lang::String * lineSep; + ::java::text::SimpleDateFormat * __attribute__((aligned(__alignof__( ::java::util::logging::Formatter)))) iso8601; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_logging_XMLFormatter__ diff --git a/libjava/java/util/natResourceBundle.cc b/libjava/java/util/natResourceBundle.cc deleted file mode 100644 index e8d4fb4fd43..00000000000 --- a/libjava/java/util/natResourceBundle.cc +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2002, 2003, 2005 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -// Written by Tom Tromey - -#include - -#include -#include -#include -#include -#include -#include - -using namespace java::lang; - -java::lang::ClassLoader * -java::util::ResourceBundle::getCallingClassLoader () -{ - jclass caller = _Jv_StackTrace::GetCallingClass (&ResourceBundle::class$); - if (caller) - return caller->getClassLoaderInternal(); - return NULL; -} diff --git a/libjava/java/util/prefs/AbstractPreferences$1.h b/libjava/java/util/prefs/AbstractPreferences$1.h new file mode 100644 index 00000000000..97c3f53c752 --- /dev/null +++ b/libjava/java/util/prefs/AbstractPreferences$1.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_AbstractPreferences$1__ +#define __java_util_prefs_AbstractPreferences$1__ + +#pragma interface + +#include + +class java::util::prefs::AbstractPreferences$1 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractPreferences$1(::java::util::prefs::AbstractPreferences *, ::java::util::prefs::PreferenceChangeListener *, ::java::util::prefs::PreferenceChangeEvent *); +public: + void run(); +public: // actually package-private + ::java::util::prefs::AbstractPreferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::util::prefs::PreferenceChangeListener * val$l; + ::java::util::prefs::PreferenceChangeEvent * val$event; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_AbstractPreferences$1__ diff --git a/libjava/java/util/prefs/AbstractPreferences$2.h b/libjava/java/util/prefs/AbstractPreferences$2.h new file mode 100644 index 00000000000..45378c56ad5 --- /dev/null +++ b/libjava/java/util/prefs/AbstractPreferences$2.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_AbstractPreferences$2__ +#define __java_util_prefs_AbstractPreferences$2__ + +#pragma interface + +#include + +class java::util::prefs::AbstractPreferences$2 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractPreferences$2(::java::util::prefs::AbstractPreferences *, jboolean, ::java::util::prefs::NodeChangeListener *, ::java::util::prefs::NodeChangeEvent *); +public: + void run(); +public: // actually package-private + ::java::util::prefs::AbstractPreferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + jboolean val$added; + ::java::util::prefs::NodeChangeListener * val$l; + ::java::util::prefs::NodeChangeEvent * val$event; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_AbstractPreferences$2__ diff --git a/libjava/java/util/prefs/AbstractPreferences.h b/libjava/java/util/prefs/AbstractPreferences.h new file mode 100644 index 00000000000..a4e3a028a36 --- /dev/null +++ b/libjava/java/util/prefs/AbstractPreferences.h @@ -0,0 +1,106 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_AbstractPreferences__ +#define __java_util_prefs_AbstractPreferences__ + +#pragma interface + +#include +#include + + +class java::util::prefs::AbstractPreferences : public ::java::util::prefs::Preferences +{ + +public: // actually protected + AbstractPreferences(::java::util::prefs::AbstractPreferences *, ::java::lang::String *); +public: + virtual ::java::lang::String * absolutePath(); +private: + ::java::lang::String * path(); +public: + virtual jboolean isUserNode(); + virtual ::java::lang::String * name(); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual JArray< ::java::util::prefs::AbstractPreferences * > * cachedChildren(); +public: + virtual JArray< ::java::lang::String * > * childrenNames(); + virtual ::java::util::prefs::Preferences * node(::java::lang::String *); +private: + ::java::util::prefs::Preferences * getNode(::java::lang::String *); +public: + virtual jboolean nodeExists(::java::lang::String *); +private: + jboolean existsNode(::java::lang::String *); +public: // actually protected + virtual ::java::util::prefs::AbstractPreferences * getChild(::java::lang::String *); + virtual jboolean isRemoved(); +public: + virtual ::java::util::prefs::Preferences * parent(); + virtual void exportNode(::java::io::OutputStream *); + virtual void exportSubtree(::java::io::OutputStream *); + virtual JArray< ::java::lang::String * > * keys(); + virtual ::java::lang::String * get(::java::lang::String *, ::java::lang::String *); + virtual jboolean getBoolean(::java::lang::String *, jboolean); + virtual JArray< jbyte > * getByteArray(::java::lang::String *, JArray< jbyte > *); +private: + static JArray< jbyte > * decode64(::java::lang::String *); +public: + virtual jdouble getDouble(::java::lang::String *, jdouble); + virtual jfloat getFloat(::java::lang::String *, jfloat); + virtual jint getInt(::java::lang::String *, jint); + virtual jlong getLong(::java::lang::String *, jlong); + virtual void put(::java::lang::String *, ::java::lang::String *); + virtual void putBoolean(::java::lang::String *, jboolean); + virtual void putByteArray(::java::lang::String *, JArray< jbyte > *); +private: + static ::java::lang::String * encode64(JArray< jbyte > *); +public: + virtual void putDouble(::java::lang::String *, jdouble); + virtual void putFloat(::java::lang::String *, jfloat); + virtual void putInt(::java::lang::String *, jint); + virtual void putLong(::java::lang::String *, jlong); + virtual void remove(::java::lang::String *); + virtual void clear(); + virtual void flush(); + virtual void sync(); +private: + void flushNode(jboolean); +public: + virtual void removeNode(); +private: + void purge(); +public: + virtual void addNodeChangeListener(::java::util::prefs::NodeChangeListener *); + virtual void addPreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *); + virtual void removeNodeChangeListener(::java::util::prefs::NodeChangeListener *); + virtual void removePreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *); +private: + void fire(::java::util::prefs::PreferenceChangeEvent *); + void fire(::java::util::prefs::NodeChangeEvent *, jboolean); +public: // actually protected + virtual JArray< ::java::lang::String * > * childrenNamesSpi() = 0; + virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * keysSpi() = 0; + virtual ::java::lang::String * getSpi(::java::lang::String *) = 0; + virtual void putSpi(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeSpi(::java::lang::String *) = 0; + virtual void flushSpi() = 0; + virtual void syncSpi() = 0; + virtual void removeNodeSpi() = 0; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::prefs::Preferences)))) lock; + jboolean newNode; +private: + ::java::util::prefs::AbstractPreferences * parent__; + ::java::lang::String * name__; + jboolean removed; + ::java::util::HashMap * childCache; + ::java::util::ArrayList * nodeListeners; + ::java::util::ArrayList * preferenceListeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_AbstractPreferences__ diff --git a/libjava/java/util/prefs/BackingStoreException.h b/libjava/java/util/prefs/BackingStoreException.h new file mode 100644 index 00000000000..a6851385275 --- /dev/null +++ b/libjava/java/util/prefs/BackingStoreException.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_BackingStoreException__ +#define __java_util_prefs_BackingStoreException__ + +#pragma interface + +#include + +class java::util::prefs::BackingStoreException : public ::java::lang::Exception +{ + +public: + BackingStoreException(::java::lang::String *); + BackingStoreException(::java::lang::Throwable *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static const jlong serialVersionUID = 859796500401108469LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_BackingStoreException__ diff --git a/libjava/java/util/prefs/InvalidPreferencesFormatException.h b/libjava/java/util/prefs/InvalidPreferencesFormatException.h new file mode 100644 index 00000000000..dd81f5dc083 --- /dev/null +++ b/libjava/java/util/prefs/InvalidPreferencesFormatException.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_InvalidPreferencesFormatException__ +#define __java_util_prefs_InvalidPreferencesFormatException__ + +#pragma interface + +#include + +class java::util::prefs::InvalidPreferencesFormatException : public ::java::lang::Exception +{ + +public: + InvalidPreferencesFormatException(::java::lang::String *); + InvalidPreferencesFormatException(::java::lang::Throwable *); + InvalidPreferencesFormatException(::java::lang::String *, ::java::lang::Throwable *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static const jlong serialVersionUID = -791715184232119669LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_InvalidPreferencesFormatException__ diff --git a/libjava/java/util/prefs/NodeChangeEvent.h b/libjava/java/util/prefs/NodeChangeEvent.h new file mode 100644 index 00000000000..7a51b708b0c --- /dev/null +++ b/libjava/java/util/prefs/NodeChangeEvent.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_NodeChangeEvent__ +#define __java_util_prefs_NodeChangeEvent__ + +#pragma interface + +#include + +class java::util::prefs::NodeChangeEvent : public ::java::util::EventObject +{ + +public: + NodeChangeEvent(::java::util::prefs::Preferences *, ::java::util::prefs::Preferences *); + virtual ::java::util::prefs::Preferences * getParent(); + virtual ::java::util::prefs::Preferences * getChild(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 8068949086596572957LL; + ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) child; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_NodeChangeEvent__ diff --git a/libjava/java/util/prefs/NodeChangeListener.h b/libjava/java/util/prefs/NodeChangeListener.h new file mode 100644 index 00000000000..2ad05d6e1c0 --- /dev/null +++ b/libjava/java/util/prefs/NodeChangeListener.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_NodeChangeListener__ +#define __java_util_prefs_NodeChangeListener__ + +#pragma interface + +#include + +class java::util::prefs::NodeChangeListener : public ::java::lang::Object +{ + +public: + virtual void childAdded(::java::util::prefs::NodeChangeEvent *) = 0; + virtual void childRemoved(::java::util::prefs::NodeChangeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_prefs_NodeChangeListener__ diff --git a/libjava/java/util/prefs/PreferenceChangeEvent.h b/libjava/java/util/prefs/PreferenceChangeEvent.h new file mode 100644 index 00000000000..790a957d2eb --- /dev/null +++ b/libjava/java/util/prefs/PreferenceChangeEvent.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_PreferenceChangeEvent__ +#define __java_util_prefs_PreferenceChangeEvent__ + +#pragma interface + +#include + +class java::util::prefs::PreferenceChangeEvent : public ::java::util::EventObject +{ + +public: + PreferenceChangeEvent(::java::util::prefs::Preferences *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::util::prefs::Preferences * getNode(); + virtual ::java::lang::String * getKey(); + virtual ::java::lang::String * getNewValue(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 793724513368024975LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) key; + ::java::lang::String * newValue; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_PreferenceChangeEvent__ diff --git a/libjava/java/util/prefs/PreferenceChangeListener.h b/libjava/java/util/prefs/PreferenceChangeListener.h new file mode 100644 index 00000000000..d450a31b767 --- /dev/null +++ b/libjava/java/util/prefs/PreferenceChangeListener.h @@ -0,0 +1,19 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_PreferenceChangeListener__ +#define __java_util_prefs_PreferenceChangeListener__ + +#pragma interface + +#include + +class java::util::prefs::PreferenceChangeListener : public ::java::lang::Object +{ + +public: + virtual void preferenceChange(::java::util::prefs::PreferenceChangeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_prefs_PreferenceChangeListener__ diff --git a/libjava/java/util/prefs/Preferences$1.h b/libjava/java/util/prefs/Preferences$1.h new file mode 100644 index 00000000000..09a3f1c9f2c --- /dev/null +++ b/libjava/java/util/prefs/Preferences$1.h @@ -0,0 +1,21 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_Preferences$1__ +#define __java_util_prefs_Preferences$1__ + +#pragma interface + +#include + +class java::util::prefs::Preferences$1 : public ::java::lang::Object +{ + +public: // actually package-private + Preferences$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_Preferences$1__ diff --git a/libjava/java/util/prefs/Preferences.h b/libjava/java/util/prefs/Preferences.h new file mode 100644 index 00000000000..b19a034454f --- /dev/null +++ b/libjava/java/util/prefs/Preferences.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_Preferences__ +#define __java_util_prefs_Preferences__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } +} + +class java::util::prefs::Preferences : public ::java::lang::Object +{ + +public: // actually protected + Preferences(); +public: + static ::java::util::prefs::Preferences * systemRoot(); + static ::java::util::prefs::Preferences * userRoot(); +private: + static ::java::util::prefs::PreferencesFactory * getFactory(); +public: + static ::java::util::prefs::Preferences * systemNodeForPackage(::java::lang::Class *); + static ::java::util::prefs::Preferences * userNodeForPackage(::java::lang::Class *); +private: + static ::java::util::prefs::Preferences * nodeForPackage(::java::lang::Class *, ::java::util::prefs::Preferences *); +public: + static void importPreferences(::java::io::InputStream *); + virtual ::java::lang::String * absolutePath() = 0; + virtual jboolean isUserNode() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::java::lang::String * toString() = 0; + virtual JArray< ::java::lang::String * > * childrenNames() = 0; + virtual ::java::util::prefs::Preferences * node(::java::lang::String *) = 0; + virtual jboolean nodeExists(::java::lang::String *) = 0; + virtual ::java::util::prefs::Preferences * parent() = 0; + virtual void exportNode(::java::io::OutputStream *) = 0; + virtual void exportSubtree(::java::io::OutputStream *) = 0; + virtual JArray< ::java::lang::String * > * keys() = 0; + virtual ::java::lang::String * get(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean getBoolean(::java::lang::String *, jboolean) = 0; + virtual JArray< jbyte > * getByteArray(::java::lang::String *, JArray< jbyte > *) = 0; + virtual jdouble getDouble(::java::lang::String *, jdouble) = 0; + virtual jfloat getFloat(::java::lang::String *, jfloat) = 0; + virtual jint getInt(::java::lang::String *, jint) = 0; + virtual jlong getLong(::java::lang::String *, jlong) = 0; + virtual void put(::java::lang::String *, ::java::lang::String *) = 0; + virtual void putBoolean(::java::lang::String *, jboolean) = 0; + virtual void putByteArray(::java::lang::String *, JArray< jbyte > *) = 0; + virtual void putDouble(::java::lang::String *, jdouble) = 0; + virtual void putFloat(::java::lang::String *, jfloat) = 0; + virtual void putInt(::java::lang::String *, jint) = 0; + virtual void putLong(::java::lang::String *, jlong) = 0; + virtual void remove(::java::lang::String *) = 0; + virtual void clear() = 0; + virtual void flush() = 0; + virtual void sync() = 0; + virtual void removeNode() = 0; + virtual void addNodeChangeListener(::java::util::prefs::NodeChangeListener *) = 0; + virtual void addPreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *) = 0; + virtual void removeNodeChangeListener(::java::util::prefs::NodeChangeListener *) = 0; + virtual void removePreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *) = 0; +private: + static ::java::lang::String * defaultFactoryClass; + static ::java::security::Permission * prefsPermission; + static ::java::util::prefs::PreferencesFactory * factory; +public: + static const jint MAX_NAME_LENGTH = 80; + static const jint MAX_KEY_LENGTH = 80; + static const jint MAX_VALUE_LENGTH = 8192; + static ::java::lang::Class class$; +}; + +#endif // __java_util_prefs_Preferences__ diff --git a/libjava/java/util/prefs/PreferencesFactory.h b/libjava/java/util/prefs/PreferencesFactory.h new file mode 100644 index 00000000000..40207d480fd --- /dev/null +++ b/libjava/java/util/prefs/PreferencesFactory.h @@ -0,0 +1,20 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_prefs_PreferencesFactory__ +#define __java_util_prefs_PreferencesFactory__ + +#pragma interface + +#include + +class java::util::prefs::PreferencesFactory : public ::java::lang::Object +{ + +public: + virtual ::java::util::prefs::Preferences * systemRoot() = 0; + virtual ::java::util::prefs::Preferences * userRoot() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_prefs_PreferencesFactory__ diff --git a/libjava/java/util/regex/MatchResult.h b/libjava/java/util/regex/MatchResult.h new file mode 100644 index 00000000000..6b6acf8abf2 --- /dev/null +++ b/libjava/java/util/regex/MatchResult.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_regex_MatchResult__ +#define __java_util_regex_MatchResult__ + +#pragma interface + +#include + +class java::util::regex::MatchResult : public ::java::lang::Object +{ + +public: + virtual jint end() = 0; + virtual jint end(jint) = 0; + virtual ::java::lang::String * group() = 0; + virtual ::java::lang::String * group(jint) = 0; + virtual jint groupCount() = 0; + virtual jint start() = 0; + virtual jint start(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_regex_MatchResult__ diff --git a/libjava/java/util/regex/Matcher.h b/libjava/java/util/regex/Matcher.h new file mode 100644 index 00000000000..35cd1c1cab4 --- /dev/null +++ b/libjava/java/util/regex/Matcher.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_regex_Matcher__ +#define __java_util_regex_Matcher__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class CharIndexed; + class REMatch; + } + } + } + } +} + +class java::util::regex::Matcher : public ::java::lang::Object +{ + +public: // actually package-private + Matcher(::java::util::regex::Pattern *, ::java::lang::CharSequence *); +public: + ::java::util::regex::Matcher * appendReplacement(::java::lang::StringBuffer *, ::java::lang::String *); + ::java::lang::StringBuffer * appendTail(::java::lang::StringBuffer *); + jint end(); + jint end(jint); + jboolean find(); + jboolean find(jint); + ::java::lang::String * group(); + ::java::lang::String * group(jint); + ::java::lang::String * replaceFirst(::java::lang::String *); + ::java::lang::String * replaceAll(::java::lang::String *); + jint groupCount(); + jboolean lookingAt(); + jboolean matches(); + ::java::util::regex::Pattern * pattern(); + ::java::util::regex::Matcher * reset(); + ::java::util::regex::Matcher * reset(::java::lang::CharSequence *); + jint start(); + jint start(jint); + jboolean hitEnd(); + ::java::lang::String * toString(); +private: + void assertMatchOp(); + ::java::util::regex::Pattern * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pattern__; + ::java::lang::CharSequence * input; + ::gnu::java::util::regex::CharIndexed * inputCharIndexed; + jint position; + jint appendPosition; + ::gnu::java::util::regex::REMatch * match; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_regex_Matcher__ diff --git a/libjava/java/util/regex/Pattern.h b/libjava/java/util/regex/Pattern.h new file mode 100644 index 00000000000..7bfc275e55f --- /dev/null +++ b/libjava/java/util/regex/Pattern.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_regex_Pattern__ +#define __java_util_regex_Pattern__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace util + { + namespace regex + { + class RE; + } + } + } + } +} + +class java::util::regex::Pattern : public ::java::lang::Object +{ + + Pattern(::java::lang::String *, jint); +public: // actually package-private + ::gnu::java::util::regex::RE * getRE(); +public: + static ::java::util::regex::Pattern * compile(::java::lang::String *); + static ::java::util::regex::Pattern * compile(::java::lang::String *, jint); + jint flags(); + static jboolean matches(::java::lang::String *, ::java::lang::CharSequence *); + ::java::util::regex::Matcher * matcher(::java::lang::CharSequence *); + JArray< ::java::lang::String * > * split(::java::lang::CharSequence *); + JArray< ::java::lang::String * > * split(::java::lang::CharSequence *, jint); + ::java::lang::String * pattern(); +private: + static const jlong serialVersionUID = 5073258162644648461LL; +public: + static const jint CANON_EQ = 128; + static const jint CASE_INSENSITIVE = 2; + static const jint COMMENTS = 4; + static const jint DOTALL = 32; + static const jint MULTILINE = 8; + static const jint UNICODE_CASE = 64; + static const jint UNIX_LINES = 1; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) regex; + jint flags__; + ::gnu::java::util::regex::RE * re; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_regex_Pattern__ diff --git a/libjava/java/util/regex/PatternSyntaxException.h b/libjava/java/util/regex/PatternSyntaxException.h new file mode 100644 index 00000000000..670549a6a75 --- /dev/null +++ b/libjava/java/util/regex/PatternSyntaxException.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_regex_PatternSyntaxException__ +#define __java_util_regex_PatternSyntaxException__ + +#pragma interface + +#include + +class java::util::regex::PatternSyntaxException : public ::java::lang::IllegalArgumentException +{ + +public: + PatternSyntaxException(::java::lang::String *, ::java::lang::String *, jint); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getPattern(); + virtual jint getIndex(); + virtual ::java::lang::String * getMessage(); +private: + static const jlong serialVersionUID = -3864639126226059218LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::IllegalArgumentException)))) desc; + ::java::lang::String * pattern; + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_regex_PatternSyntaxException__ diff --git a/libjava/java/util/zip/Adler32.h b/libjava/java/util/zip/Adler32.h new file mode 100644 index 00000000000..ebd8e33cfa9 --- /dev/null +++ b/libjava/java/util/zip/Adler32.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_Adler32__ +#define __java_util_zip_Adler32__ + +#pragma interface + +#include +#include + + +class java::util::zip::Adler32 : public ::java::lang::Object +{ + +public: + Adler32(); + virtual void reset(); + virtual void update(jint); + virtual void update(JArray< jbyte > *); + virtual void update(JArray< jbyte > *, jint, jint); + virtual jlong getValue(); +private: + static const jint BASE = 65521; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) checksum; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_Adler32__ diff --git a/libjava/java/util/zip/CRC32.h b/libjava/java/util/zip/CRC32.h new file mode 100644 index 00000000000..af515fc99fe --- /dev/null +++ b/libjava/java/util/zip/CRC32.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_CRC32__ +#define __java_util_zip_CRC32__ + +#pragma interface + +#include +#include + + +class java::util::zip::CRC32 : public ::java::lang::Object +{ + +public: + CRC32(); +private: + static JArray< jint > * make_crc_table(); +public: + virtual jlong getValue(); + virtual void reset(); + virtual void update(jint); + virtual void update(JArray< jbyte > *, jint, jint); + virtual void update(JArray< jbyte > *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) crc; + static JArray< jint > * crc_table; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_CRC32__ diff --git a/libjava/java/util/zip/CheckedInputStream.h b/libjava/java/util/zip/CheckedInputStream.h new file mode 100644 index 00000000000..d9e80abe911 --- /dev/null +++ b/libjava/java/util/zip/CheckedInputStream.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_CheckedInputStream__ +#define __java_util_zip_CheckedInputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::CheckedInputStream : public ::java::io::FilterInputStream +{ + +public: + CheckedInputStream(::java::io::InputStream *, ::java::util::zip::Checksum *); + virtual ::java::util::zip::Checksum * getChecksum(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); +private: + ::java::util::zip::Checksum * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) sum; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_CheckedInputStream__ diff --git a/libjava/java/util/zip/CheckedOutputStream.h b/libjava/java/util/zip/CheckedOutputStream.h new file mode 100644 index 00000000000..5cf53c9f286 --- /dev/null +++ b/libjava/java/util/zip/CheckedOutputStream.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_CheckedOutputStream__ +#define __java_util_zip_CheckedOutputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::CheckedOutputStream : public ::java::io::FilterOutputStream +{ + +public: + CheckedOutputStream(::java::io::OutputStream *, ::java::util::zip::Checksum *); + virtual ::java::util::zip::Checksum * getChecksum(); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); +private: + ::java::util::zip::Checksum * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) sum; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_CheckedOutputStream__ diff --git a/libjava/java/util/zip/Checksum.h b/libjava/java/util/zip/Checksum.h new file mode 100644 index 00000000000..66ab907c80b --- /dev/null +++ b/libjava/java/util/zip/Checksum.h @@ -0,0 +1,24 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_Checksum__ +#define __java_util_zip_Checksum__ + +#pragma interface + +#include +#include + + +class java::util::zip::Checksum : public ::java::lang::Object +{ + +public: + virtual jlong getValue() = 0; + virtual void reset() = 0; + virtual void update(jint) = 0; + virtual void update(JArray< jbyte > *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_zip_Checksum__ diff --git a/libjava/java/util/zip/DataFormatException.h b/libjava/java/util/zip/DataFormatException.h new file mode 100644 index 00000000000..5ebfbcf4b1f --- /dev/null +++ b/libjava/java/util/zip/DataFormatException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_DataFormatException__ +#define __java_util_zip_DataFormatException__ + +#pragma interface + +#include + +class java::util::zip::DataFormatException : public ::java::lang::Exception +{ + +public: + DataFormatException(); + DataFormatException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2219632870893641452LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_DataFormatException__ diff --git a/libjava/java/util/zip/Deflater.h b/libjava/java/util/zip/Deflater.h new file mode 100644 index 00000000000..61d21899f7e --- /dev/null +++ b/libjava/java/util/zip/Deflater.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_Deflater__ +#define __java_util_zip_Deflater__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } +} + +class java::util::zip::Deflater : public ::java::lang::Object +{ + +public: + Deflater(); + Deflater(jint); + Deflater(jint, jboolean); +private: + void init(jint, jboolean); + void update(); +public: + virtual void reset(); + virtual void end(); + virtual jint getAdler(); + virtual jint getTotalIn(); + virtual jlong getBytesRead(); + virtual jint getTotalOut(); + virtual jlong getBytesWritten(); +public: // actually protected + virtual void finalize(); +public: + virtual void finish(); + virtual jboolean finished(); + virtual jboolean needsInput(); + virtual void setInput(JArray< jbyte > *); + virtual void setInput(JArray< jbyte > *, jint, jint); + virtual void setLevel(jint); + virtual void setStrategy(jint); + virtual jint deflate(JArray< jbyte > *); + virtual jint deflate(JArray< jbyte > *, jint, jint); + virtual void setDictionary(JArray< jbyte > *); + virtual void setDictionary(JArray< jbyte > *, jint, jint); +public: // actually package-private + virtual void flush(); +public: + static const jint BEST_COMPRESSION = 9; + static const jint BEST_SPEED = 1; + static const jint DEFAULT_COMPRESSION = -1; + static const jint NO_COMPRESSION = 0; + static const jint DEFAULT_STRATEGY = 0; + static const jint FILTERED = 1; + static const jint HUFFMAN_ONLY = 2; + static const jint DEFLATED = 8; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) level; + jint strategy; + ::gnu::gcj::RawData * zstream; + jboolean is_finished; + jint flush_flag; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_Deflater__ diff --git a/libjava/java/util/zip/Deflater.java b/libjava/java/util/zip/Deflater.java index 8ac8a34a6ae..47383ab4baa 100644 --- a/libjava/java/util/zip/Deflater.java +++ b/libjava/java/util/zip/Deflater.java @@ -174,12 +174,32 @@ public class Deflater /** * Gets the number of input bytes processed so far. */ - public native int getTotalIn(); + @Deprecated + public int getTotalIn() + { + return (int) getBytesRead(); + } + + /** + * Gets the number of input bytes processed so far. + * @since 1.5 + */ + public native long getBytesRead(); + + /** + * Gets the number of output bytes so far. + */ + @Deprecated + public int getTotalOut() + { + return (int) getBytesWritten(); + } /** * Gets the number of output bytes so far. + * @since 1.5 */ - public native int getTotalOut(); + public native long getBytesWritten(); /** * Finalizes this object. diff --git a/libjava/java/util/zip/DeflaterOutputStream.h b/libjava/java/util/zip/DeflaterOutputStream.h new file mode 100644 index 00000000000..307f364ad11 --- /dev/null +++ b/libjava/java/util/zip/DeflaterOutputStream.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_DeflaterOutputStream__ +#define __java_util_zip_DeflaterOutputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::DeflaterOutputStream : public ::java::io::FilterOutputStream +{ + +public: // actually protected + virtual void deflate(); +public: + DeflaterOutputStream(::java::io::OutputStream *); + DeflaterOutputStream(::java::io::OutputStream *, ::java::util::zip::Deflater *); + DeflaterOutputStream(::java::io::OutputStream *, ::java::util::zip::Deflater *, jint); + virtual void flush(); + virtual void finish(); + virtual void close(); + virtual void write(jint); + virtual void write(JArray< jbyte > *, jint, jint); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) buf; + ::java::util::zip::Deflater * def; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_DeflaterOutputStream__ diff --git a/libjava/java/util/zip/GZIPInputStream.h b/libjava/java/util/zip/GZIPInputStream.h new file mode 100644 index 00000000000..20777fabace --- /dev/null +++ b/libjava/java/util/zip/GZIPInputStream.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_GZIPInputStream__ +#define __java_util_zip_GZIPInputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::GZIPInputStream : public ::java::util::zip::InflaterInputStream +{ + +public: + GZIPInputStream(::java::io::InputStream *); + GZIPInputStream(::java::io::InputStream *, jint); + virtual void close(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + void readHeader(); + void readFooter(); +public: + static const jint GZIP_MAGIC = 35615; +public: // actually package-private + static const jint FTEXT = 1; + static const jint FHCRC = 2; + static const jint FEXTRA = 4; + static const jint FNAME = 8; + static const jint FCOMMENT = 16; +public: // actually protected + ::java::util::zip::CRC32 * __attribute__((aligned(__alignof__( ::java::util::zip::InflaterInputStream)))) crc; + jboolean eos; +private: + jboolean readGZIPHeader; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_GZIPInputStream__ diff --git a/libjava/java/util/zip/GZIPOutputStream.h b/libjava/java/util/zip/GZIPOutputStream.h new file mode 100644 index 00000000000..1680d8964dc --- /dev/null +++ b/libjava/java/util/zip/GZIPOutputStream.h @@ -0,0 +1,28 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_GZIPOutputStream__ +#define __java_util_zip_GZIPOutputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::GZIPOutputStream : public ::java::util::zip::DeflaterOutputStream +{ + +public: + GZIPOutputStream(::java::io::OutputStream *); + GZIPOutputStream(::java::io::OutputStream *, jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void close(); + virtual void finish(); +public: // actually protected + ::java::util::zip::CRC32 * __attribute__((aligned(__alignof__( ::java::util::zip::DeflaterOutputStream)))) crc; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_GZIPOutputStream__ diff --git a/libjava/java/util/zip/Inflater.h b/libjava/java/util/zip/Inflater.h new file mode 100644 index 00000000000..25ebdc6d6b8 --- /dev/null +++ b/libjava/java/util/zip/Inflater.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_Inflater__ +#define __java_util_zip_Inflater__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace gcj + { + class RawData; + } + } +} + +class java::util::zip::Inflater : public ::java::lang::Object +{ + +public: + Inflater(); + Inflater(jboolean); +public: // actually protected + virtual void finalize(); +public: + virtual void end(); + virtual jboolean finished(); + virtual jint getAdler(); + virtual jint getRemaining(); + virtual jint getTotalIn(); + virtual jint getTotalOut(); + virtual jint inflate(JArray< jbyte > *); + virtual jint inflate(JArray< jbyte > *, jint, jint); +private: + void init(jboolean); +public: + virtual jboolean needsDictionary(); + virtual jboolean needsInput(); + virtual void reset(); + virtual void setDictionary(JArray< jbyte > *); + virtual void setDictionary(JArray< jbyte > *, jint, jint); + virtual void setInput(JArray< jbyte > *); + virtual void setInput(JArray< jbyte > *, jint, jint); +private: + ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) zstream; + jboolean is_finished; + jboolean dict_needed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_Inflater__ diff --git a/libjava/java/util/zip/InflaterInputStream.h b/libjava/java/util/zip/InflaterInputStream.h new file mode 100644 index 00000000000..b576c364655 --- /dev/null +++ b/libjava/java/util/zip/InflaterInputStream.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_InflaterInputStream__ +#define __java_util_zip_InflaterInputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::InflaterInputStream : public ::java::io::FilterInputStream +{ + +public: + InflaterInputStream(::java::io::InputStream *); + InflaterInputStream(::java::io::InputStream *, ::java::util::zip::Inflater *); + InflaterInputStream(::java::io::InputStream *, ::java::util::zip::Inflater *, jint); + virtual jint available(); + virtual void close(); +public: // actually protected + virtual void fill(); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); +public: // actually protected + ::java::util::zip::Inflater * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) inf; + JArray< jbyte > * buf; + jint len; +private: + JArray< jbyte > * onebytebuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_InflaterInputStream__ diff --git a/libjava/java/util/zip/ZipConstants.h b/libjava/java/util/zip/ZipConstants.h new file mode 100644 index 00000000000..3cf795d7b69 --- /dev/null +++ b/libjava/java/util/zip/ZipConstants.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipConstants__ +#define __java_util_zip_ZipConstants__ + +#pragma interface + +#include + +class java::util::zip::ZipConstants : public ::java::lang::Object +{ + +public: + static const jint LOCHDR = 30; + static const jlong LOCSIG = 67324752LL; + static const jint LOCVER = 4; + static const jint LOCFLG = 6; + static const jint LOCHOW = 8; + static const jint LOCTIM = 10; + static const jint LOCCRC = 14; + static const jint LOCSIZ = 18; + static const jint LOCLEN = 22; + static const jint LOCNAM = 26; + static const jint LOCEXT = 28; + static const jlong EXTSIG = 134695760LL; + static const jint EXTHDR = 16; + static const jint EXTCRC = 4; + static const jint EXTSIZ = 8; + static const jint EXTLEN = 12; + static const jlong CENSIG = 33639248LL; + static const jint CENHDR = 46; + static const jint CENVEM = 4; + static const jint CENVER = 6; + static const jint CENFLG = 8; + static const jint CENHOW = 10; + static const jint CENTIM = 12; + static const jint CENCRC = 16; + static const jint CENSIZ = 20; + static const jint CENLEN = 24; + static const jint CENNAM = 28; + static const jint CENEXT = 30; + static const jint CENCOM = 32; + static const jint CENDSK = 34; + static const jint CENATT = 36; + static const jint CENATX = 38; + static const jint CENOFF = 42; + static const jlong ENDSIG = 101010256LL; + static const jint ENDHDR = 22; + static const jint ENDSUB = 8; + static const jint ENDTOT = 10; + static const jint ENDSIZ = 12; + static const jint ENDOFF = 16; + static const jint ENDCOM = 20; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __java_util_zip_ZipConstants__ diff --git a/libjava/java/util/zip/ZipEntry.h b/libjava/java/util/zip/ZipEntry.h new file mode 100644 index 00000000000..7e1cc8f518f --- /dev/null +++ b/libjava/java/util/zip/ZipEntry.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipEntry__ +#define __java_util_zip_ZipEntry__ + +#pragma interface + +#include +#include + + +class java::util::zip::ZipEntry : public ::java::lang::Object +{ + +public: + ZipEntry(::java::lang::String *); + ZipEntry(::java::util::zip::ZipEntry *); +public: // actually package-private + ZipEntry(::java::util::zip::ZipEntry *, ::java::lang::String *); + virtual void setDOSTime(jint); + virtual jint getDOSTime(); +public: + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * getName(); + virtual void setTime(jlong); + virtual jlong getTime(); +private: + static ::java::util::Calendar * getCalendar(); +public: + virtual void setSize(jlong); + virtual jlong getSize(); + virtual void setCompressedSize(jlong); + virtual jlong getCompressedSize(); + virtual void setCrc(jlong); + virtual jlong getCrc(); + virtual void setMethod(jint); + virtual jint getMethod(); + virtual void setExtra(JArray< jbyte > *); +private: + void parseExtra(); +public: + virtual JArray< jbyte > * getExtra(); + virtual void setComment(::java::lang::String *); + virtual ::java::lang::String * getComment(); + virtual jboolean isDirectory(); + virtual ::java::lang::String * toString(); + virtual jint hashCode(); +private: + static const jint KNOWN_SIZE = 1; + static const jint KNOWN_CSIZE = 2; + static const jint KNOWN_CRC = 4; + static const jint KNOWN_TIME = 8; + static const jint KNOWN_EXTRA = 16; + static ::java::util::Calendar * cal; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jint size; + jlong compressedSize; + jint crc; + jint dostime; + jshort known; + jshort method; + JArray< jbyte > * extra; + ::java::lang::String * comment; +public: // actually package-private + jint flags; + jint offset; +public: + static const jint STORED = 0; + static const jint DEFLATED = 8; + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipEntry__ diff --git a/libjava/java/util/zip/ZipException.h b/libjava/java/util/zip/ZipException.h new file mode 100644 index 00000000000..3a7b1fc5e7d --- /dev/null +++ b/libjava/java/util/zip/ZipException.h @@ -0,0 +1,23 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipException__ +#define __java_util_zip_ZipException__ + +#pragma interface + +#include + +class java::util::zip::ZipException : public ::java::io::IOException +{ + +public: + ZipException(); + ZipException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8000196834066748623LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipException__ diff --git a/libjava/java/util/zip/ZipFile$1.h b/libjava/java/util/zip/ZipFile$1.h new file mode 100644 index 00000000000..85281339f57 --- /dev/null +++ b/libjava/java/util/zip/ZipFile$1.h @@ -0,0 +1,26 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipFile$1__ +#define __java_util_zip_ZipFile$1__ + +#pragma interface + +#include + +class java::util::zip::ZipFile$1 : public ::java::util::zip::InflaterInputStream +{ + +public: // actually package-private + ZipFile$1(::java::util::zip::ZipFile *, ::java::io::InputStream *, ::java::util::zip::Inflater *, jint); +public: + jint available(); +public: // actually package-private + ::java::util::zip::ZipFile * __attribute__((aligned(__alignof__( ::java::util::zip::InflaterInputStream)))) this$0; +private: + jint val$sz; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipFile$1__ diff --git a/libjava/java/util/zip/ZipFile$PartialInputStream.h b/libjava/java/util/zip/ZipFile$PartialInputStream.h new file mode 100644 index 00000000000..f258f9f0c16 --- /dev/null +++ b/libjava/java/util/zip/ZipFile$PartialInputStream.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipFile$PartialInputStream__ +#define __java_util_zip_ZipFile$PartialInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + namespace charset + { + class Charset; + class CharsetDecoder; + } + } + } +} + +class java::util::zip::ZipFile$PartialInputStream : public ::java::io::InputStream +{ + +public: + ZipFile$PartialInputStream(::java::io::RandomAccessFile *, jint); +public: // actually package-private + void setLength(jlong); +private: + void fillBuffer(); +public: + jint available(); + jint read(); + jint read(JArray< jbyte > *, jint, jint); + jlong skip(jlong); +public: // actually package-private + void seek(jlong); + void readFully(JArray< jbyte > *); + void readFully(JArray< jbyte > *, jint, jint); + jint readLeShort(); + jint readLeInt(); +private: + ::java::lang::String * decodeChars(JArray< jbyte > *, jint, jint); +public: // actually package-private + ::java::lang::String * readString(jint); +public: + void addDummyByte(); +private: + static ::java::nio::charset::Charset * UTF8CHARSET; + ::java::nio::charset::CharsetDecoder * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) utf8Decoder; + ::java::io::RandomAccessFile * raf; + JArray< jbyte > * buffer; + jlong bufferOffset; + jint pos; + jlong end; + jint dummyByteCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipFile$PartialInputStream__ diff --git a/libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h b/libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h new file mode 100644 index 00000000000..40a7e975b2e --- /dev/null +++ b/libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipFile$ZipEntryEnumeration__ +#define __java_util_zip_ZipFile$ZipEntryEnumeration__ + +#pragma interface + +#include + +class java::util::zip::ZipFile$ZipEntryEnumeration : public ::java::lang::Object +{ + +public: + ZipFile$ZipEntryEnumeration(::java::util::Iterator *); + virtual jboolean hasMoreElements(); + virtual ::java::util::zip::ZipEntry * target$nextElement(); + virtual ::java::lang::Object * nextElement(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) elements; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipFile$ZipEntryEnumeration__ diff --git a/libjava/java/util/zip/ZipFile.h b/libjava/java/util/zip/ZipFile.h new file mode 100644 index 00000000000..7c0f69ca297 --- /dev/null +++ b/libjava/java/util/zip/ZipFile.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipFile__ +#define __java_util_zip_ZipFile__ + +#pragma interface + +#include + +class java::util::zip::ZipFile : public ::java::lang::Object +{ + + ::java::io::RandomAccessFile * openFile(::java::lang::String *, ::java::io::File *); +public: + ZipFile(::java::lang::String *); + ZipFile(::java::io::File *); + ZipFile(::java::io::File *, jint); +private: + void checkZipFile(); + void checkClosed(); + void readEntries(); +public: + virtual void close(); +public: // actually protected + virtual void finalize(); +public: + virtual ::java::util::Enumeration * entries(); +private: + ::java::util::LinkedHashMap * getEntries(); +public: + virtual ::java::util::zip::ZipEntry * getEntry(::java::lang::String *); + virtual ::java::io::InputStream * getInputStream(::java::util::zip::ZipEntry *); + virtual ::java::lang::String * getName(); + virtual jint size(); + static const jint OPEN_READ = 1; + static const jint OPEN_DELETE = 4; +public: // actually package-private + static const jint ENDNRD = 4; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::io::RandomAccessFile * raf; + ::java::util::LinkedHashMap * entries__; + jboolean closed; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipFile__ diff --git a/libjava/java/util/zip/ZipInputStream.h b/libjava/java/util/zip/ZipInputStream.h new file mode 100644 index 00000000000..4a84395060e --- /dev/null +++ b/libjava/java/util/zip/ZipInputStream.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipInputStream__ +#define __java_util_zip_ZipInputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::ZipInputStream : public ::java::util::zip::InflaterInputStream +{ + +public: + ZipInputStream(::java::io::InputStream *); +private: + void fillBuf(); + jint readBuf(JArray< jbyte > *, jint, jint); + void readFully(JArray< jbyte > *); + jint readLeByte(); + jint readLeShort(); + jint readLeInt(); +public: + virtual ::java::util::zip::ZipEntry * getNextEntry(); +private: + void readDataDescr(); +public: + virtual void closeEntry(); + virtual jint available(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void close(); +public: // actually protected + virtual ::java::util::zip::ZipEntry * createZipEntry(::java::lang::String *); +private: + ::java::util::zip::CRC32 * __attribute__((aligned(__alignof__( ::java::util::zip::InflaterInputStream)))) crc; + ::java::util::zip::ZipEntry * entry; + jint csize; + jint size; + jint method; + jint flags; + jint avail; + jboolean entryAtEOF; +public: + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipInputStream__ diff --git a/libjava/java/util/zip/ZipOutputStream.h b/libjava/java/util/zip/ZipOutputStream.h new file mode 100644 index 00000000000..0de152efc63 --- /dev/null +++ b/libjava/java/util/zip/ZipOutputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __java_util_zip_ZipOutputStream__ +#define __java_util_zip_ZipOutputStream__ + +#pragma interface + +#include +#include + + +class java::util::zip::ZipOutputStream : public ::java::util::zip::DeflaterOutputStream +{ + +public: + ZipOutputStream(::java::io::OutputStream *); + virtual void setComment(::java::lang::String *); + virtual void setMethod(jint); + virtual void setLevel(jint); +private: + void writeLeShort(jint); + void writeLeInt(jint); + void writeLeInt(jlong); +public: + virtual void putNextEntry(::java::util::zip::ZipEntry *); + virtual void closeEntry(); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void finish(); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::util::zip::DeflaterOutputStream)))) entries; + ::java::util::zip::CRC32 * crc; + ::java::util::zip::ZipEntry * curEntry; + jint curMethod; + jint size; + jint offset; + JArray< jbyte > * zipComment; + jint defaultMethod; + static const jint ZIP_STORED_VERSION = 10; + static const jint ZIP_DEFLATED_VERSION = 20; +public: + static const jint STORED = 0; + static const jint DEFLATED = 8; + static ::java::lang::Class class$; +}; + +#endif // __java_util_zip_ZipOutputStream__ diff --git a/libjava/java/util/zip/natDeflater.cc b/libjava/java/util/zip/natDeflater.cc index 23e1201b543..9ff17210960 100644 --- a/libjava/java/util/zip/natDeflater.cc +++ b/libjava/java/util/zip/natDeflater.cc @@ -1,6 +1,6 @@ // natDeflater.cc - Implementation of Deflater native methods. -/* Copyright (C) 1999, 2002 Free Software Foundation +/* Copyright (C) 1999, 2002, 2006 Free Software Foundation This file is part of libgcj. @@ -93,16 +93,16 @@ java::util::zip::Deflater::getAdler () return s->adler; } -jint -java::util::zip::Deflater::getTotalIn () +jlong +java::util::zip::Deflater::getBytesRead () { JvSynchronize sync (this); z_streamp s = (z_streamp) zstream; return s->total_in; } -jint -java::util::zip::Deflater::getTotalOut () +jlong +java::util::zip::Deflater::getBytesWritten () { JvSynchronize sync (this); z_streamp s = (z_streamp) zstream; diff --git a/libjava/javax/accessibility/Accessible.h b/libjava/javax/accessibility/Accessible.h new file mode 100644 index 00000000000..04dab4e5794 --- /dev/null +++ b/libjava/javax/accessibility/Accessible.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_Accessible__ +#define __javax_accessibility_Accessible__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleContext; + } + } +} + +class javax::accessibility::Accessible : public ::java::lang::Object +{ + +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_Accessible__ diff --git a/libjava/javax/accessibility/AccessibleAction.h b/libjava/javax/accessibility/AccessibleAction.h new file mode 100644 index 00000000000..ede23c9d2c4 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleAction.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleAction__ +#define __javax_accessibility_AccessibleAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleAction; + } + } +} + +class javax::accessibility::AccessibleAction : public ::java::lang::Object +{ + +public: + virtual jint getAccessibleActionCount() = 0; + virtual ::java::lang::String * getAccessibleActionDescription(jint) = 0; + virtual jboolean doAccessibleAction(jint) = 0; + static ::java::lang::String * DECREMENT; + static ::java::lang::String * INCREMENT; + static ::java::lang::String * TOGGLE_EXPAND; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleAction__ diff --git a/libjava/javax/accessibility/AccessibleAttributeSequence.h b/libjava/javax/accessibility/AccessibleAttributeSequence.h new file mode 100644 index 00000000000..e9d76b02db1 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleAttributeSequence.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleAttributeSequence__ +#define __javax_accessibility_AccessibleAttributeSequence__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleAttributeSequence; + } + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::accessibility::AccessibleAttributeSequence : public ::java::lang::Object +{ + +public: + AccessibleAttributeSequence(); + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attributes; + jint startIndex; + jint endIndex; + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleAttributeSequence__ diff --git a/libjava/javax/accessibility/AccessibleBundle.h b/libjava/javax/accessibility/AccessibleBundle.h new file mode 100644 index 00000000000..65413778af7 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleBundle.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleBundle__ +#define __javax_accessibility_AccessibleBundle__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleBundle; + } + } +} + +class javax::accessibility::AccessibleBundle : public ::java::lang::Object +{ + +public: + AccessibleBundle(); +public: // actually protected + virtual ::java::lang::String * toDisplayString(::java::lang::String *, ::java::util::Locale *); +public: + virtual ::java::lang::String * toDisplayString(::java::util::Locale *); + virtual ::java::lang::String * toDisplayString(); + virtual ::java::lang::String * toString(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleBundle__ diff --git a/libjava/javax/accessibility/AccessibleComponent.h b/libjava/javax/accessibility/AccessibleComponent.h new file mode 100644 index 00000000000..3f260f24c31 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleComponent.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleComponent__ +#define __javax_accessibility_AccessibleComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleComponent; + } + } +} + +class javax::accessibility::AccessibleComponent : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Color * getBackground() = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual ::java::awt::Color * getForeground() = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual ::java::awt::Cursor * getCursor() = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual ::java::awt::Font * getFont() = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual jboolean isEnabled() = 0; + virtual void setEnabled(jboolean) = 0; + virtual jboolean isVisible() = 0; + virtual void setVisible(jboolean) = 0; + virtual jboolean isShowing() = 0; + virtual jboolean contains(::java::awt::Point *) = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Point * getLocation() = 0; + virtual void setLocation(::java::awt::Point *) = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void setBounds(::java::awt::Rectangle *) = 0; + virtual ::java::awt::Dimension * getSize() = 0; + virtual void setSize(::java::awt::Dimension *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *) = 0; + virtual jboolean isFocusTraversable() = 0; + virtual void requestFocus() = 0; + virtual void addFocusListener(::java::awt::event::FocusListener *) = 0; + virtual void removeFocusListener(::java::awt::event::FocusListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleComponent__ diff --git a/libjava/javax/accessibility/AccessibleContext.h b/libjava/javax/accessibility/AccessibleContext.h new file mode 100644 index 00000000000..764af3aa883 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleContext.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleContext__ +#define __javax_accessibility_AccessibleContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleAction; + class AccessibleComponent; + class AccessibleContext; + class AccessibleEditableText; + class AccessibleIcon; + class AccessibleRelationSet; + class AccessibleRole; + class AccessibleSelection; + class AccessibleStateSet; + class AccessibleTable; + class AccessibleText; + class AccessibleValue; + } + } +} + +class javax::accessibility::AccessibleContext : public ::java::lang::Object +{ + +public: + AccessibleContext(); + virtual ::java::lang::String * getAccessibleName(); + virtual void setAccessibleName(::java::lang::String *); + virtual ::java::lang::String * getAccessibleDescription(); + virtual void setAccessibleDescription(::java::lang::String *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole() = 0; + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet() = 0; + virtual ::javax::accessibility::Accessible * getAccessibleParent(); + virtual void setAccessibleParent(::javax::accessibility::Accessible *); + virtual jint getAccessibleIndexInParent() = 0; + virtual jint getAccessibleChildrenCount() = 0; + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint) = 0; + virtual ::java::util::Locale * getLocale() = 0; + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::AccessibleComponent * getAccessibleComponent(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); + virtual ::javax::accessibility::AccessibleEditableText * getAccessibleEditableText(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual JArray< ::javax::accessibility::AccessibleIcon * > * getAccessibleIcon(); + virtual ::javax::accessibility::AccessibleRelationSet * getAccessibleRelationSet(); + virtual ::javax::accessibility::AccessibleTable * getAccessibleTable(); + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::String * ACCESSIBLE_NAME_PROPERTY; + static ::java::lang::String * ACCESSIBLE_DESCRIPTION_PROPERTY; + static ::java::lang::String * ACCESSIBLE_STATE_PROPERTY; + static ::java::lang::String * ACCESSIBLE_VALUE_PROPERTY; + static ::java::lang::String * ACCESSIBLE_SELECTION_PROPERTY; + static ::java::lang::String * ACCESSIBLE_TEXT_PROPERTY; + static ::java::lang::String * ACCESSIBLE_CARET_PROPERTY; + static ::java::lang::String * ACCESSIBLE_VISIBLE_DATA_PROPERTY; + static ::java::lang::String * ACCESSIBLE_CHILD_PROPERTY; + static ::java::lang::String * ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY; + static ::java::lang::String * ACCESSIBLE_TABLE_CAPTION_CHANGED; + static ::java::lang::String * ACCESSIBLE_TABLE_SUMMARY_CHANGED; + static ::java::lang::String * ACCESSIBLE_TABLE_MODEL_CHANGED; + static ::java::lang::String * ACCESSIBLE_TABLE_ROW_HEADER_CHANGED; + static ::java::lang::String * ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED; + static ::java::lang::String * ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED; + static ::java::lang::String * ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED; + static ::java::lang::String * ACCESSIBLE_ACTION_PROPERTY; + static ::java::lang::String * ACCESSIBLE_HYPERTEXT_OFFSET; + static ::java::lang::String * ACCESSIBLE_COMPONENT_BOUNDS_CHANGED; + static ::java::lang::String * ACCESSIBLE_INVALIDATE_CHILDREN; + static ::java::lang::String * ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED; +public: // actually protected + ::javax::accessibility::Accessible * __attribute__((aligned(__alignof__( ::java::lang::Object)))) accessibleParent; + ::java::lang::String * accessibleName; + ::java::lang::String * accessibleDescription; +private: + ::java::beans::PropertyChangeSupport * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleContext__ diff --git a/libjava/javax/accessibility/AccessibleEditableText.h b/libjava/javax/accessibility/AccessibleEditableText.h new file mode 100644 index 00000000000..715abae2ff3 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleEditableText.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleEditableText__ +#define __javax_accessibility_AccessibleEditableText__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleEditableText; + } + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::accessibility::AccessibleEditableText : public ::java::lang::Object +{ + +public: + virtual void setTextContents(::java::lang::String *) = 0; + virtual void insertTextAtIndex(jint, ::java::lang::String *) = 0; + virtual ::java::lang::String * getTextRange(jint, jint) = 0; + virtual void delete$(jint, jint) = 0; + virtual void cut(jint, jint) = 0; + virtual void paste(jint) = 0; + virtual void replaceText(jint, jint, ::java::lang::String *) = 0; + virtual void selectText(jint, jint) = 0; + virtual void setAttributes(jint, jint, ::javax::swing::text::AttributeSet *) = 0; + virtual jint getIndexAtPoint(::java::awt::Point *) = 0; + virtual ::java::awt::Rectangle * getCharacterBounds(jint) = 0; + virtual jint getCharCount() = 0; + virtual jint getCaretPosition() = 0; + virtual ::java::lang::String * getAtIndex(jint, jint) = 0; + virtual ::java::lang::String * getAfterIndex(jint, jint) = 0; + virtual ::java::lang::String * getBeforeIndex(jint, jint) = 0; + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint) = 0; + virtual jint getSelectionStart() = 0; + virtual jint getSelectionEnd() = 0; + virtual ::java::lang::String * getSelectedText() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleEditableText__ diff --git a/libjava/javax/accessibility/AccessibleExtendedComponent.h b/libjava/javax/accessibility/AccessibleExtendedComponent.h new file mode 100644 index 00000000000..92563b3b435 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleExtendedComponent.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleExtendedComponent__ +#define __javax_accessibility_AccessibleExtendedComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleExtendedComponent; + class AccessibleKeyBinding; + } + } +} + +class javax::accessibility::AccessibleExtendedComponent : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getToolTipText() = 0; + virtual ::java::lang::String * getTitledBorderText() = 0; + virtual ::javax::accessibility::AccessibleKeyBinding * getAccessibleKeyBinding() = 0; + virtual ::java::awt::Color * getBackground() = 0; + virtual void setBackground(::java::awt::Color *) = 0; + virtual ::java::awt::Color * getForeground() = 0; + virtual void setForeground(::java::awt::Color *) = 0; + virtual ::java::awt::Cursor * getCursor() = 0; + virtual void setCursor(::java::awt::Cursor *) = 0; + virtual ::java::awt::Font * getFont() = 0; + virtual void setFont(::java::awt::Font *) = 0; + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *) = 0; + virtual jboolean isEnabled() = 0; + virtual void setEnabled(jboolean) = 0; + virtual jboolean isVisible() = 0; + virtual void setVisible(jboolean) = 0; + virtual jboolean isShowing() = 0; + virtual jboolean contains(::java::awt::Point *) = 0; + virtual ::java::awt::Point * getLocationOnScreen() = 0; + virtual ::java::awt::Point * getLocation() = 0; + virtual void setLocation(::java::awt::Point *) = 0; + virtual ::java::awt::Rectangle * getBounds() = 0; + virtual void setBounds(::java::awt::Rectangle *) = 0; + virtual ::java::awt::Dimension * getSize() = 0; + virtual void setSize(::java::awt::Dimension *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *) = 0; + virtual jboolean isFocusTraversable() = 0; + virtual void requestFocus() = 0; + virtual void addFocusListener(::java::awt::event::FocusListener *) = 0; + virtual void removeFocusListener(::java::awt::event::FocusListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleExtendedComponent__ diff --git a/libjava/javax/accessibility/AccessibleExtendedTable.h b/libjava/javax/accessibility/AccessibleExtendedTable.h new file mode 100644 index 00000000000..995b3e50c62 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleExtendedTable.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleExtendedTable__ +#define __javax_accessibility_AccessibleExtendedTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleExtendedTable; + class AccessibleTable; + } + } +} + +class javax::accessibility::AccessibleExtendedTable : public ::java::lang::Object +{ + +public: + virtual jint getAccessibleRow(jint) = 0; + virtual jint getAccessibleColumn(jint) = 0; + virtual jint getAccessibleIndex(jint, jint) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleCaption() = 0; + virtual void setAccessibleCaption(::javax::accessibility::Accessible *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleSummary() = 0; + virtual void setAccessibleSummary(::javax::accessibility::Accessible *) = 0; + virtual jint getAccessibleRowCount() = 0; + virtual jint getAccessibleColumnCount() = 0; + virtual ::javax::accessibility::Accessible * getAccessibleAt(jint, jint) = 0; + virtual jint getAccessibleRowExtentAt(jint, jint) = 0; + virtual jint getAccessibleColumnExtentAt(jint, jint) = 0; + virtual ::javax::accessibility::AccessibleTable * getAccessibleRowHeader() = 0; + virtual void setAccessibleRowHeader(::javax::accessibility::AccessibleTable *) = 0; + virtual ::javax::accessibility::AccessibleTable * getAccessibleColumnHeader() = 0; + virtual void setAccessibleColumnHeader(::javax::accessibility::AccessibleTable *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleRowDescription(jint) = 0; + virtual void setAccessibleRowDescription(jint, ::javax::accessibility::Accessible *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleColumnDescription(jint) = 0; + virtual void setAccessibleColumnDescription(jint, ::javax::accessibility::Accessible *) = 0; + virtual jboolean isAccessibleSelected(jint, jint) = 0; + virtual jboolean isAccessibleRowSelected(jint) = 0; + virtual jboolean isAccessibleColumnSelected(jint) = 0; + virtual JArray< jint > * getSelectedAccessibleRows() = 0; + virtual JArray< jint > * getSelectedAccessibleColumns() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleExtendedTable__ diff --git a/libjava/javax/accessibility/AccessibleExtendedText.h b/libjava/javax/accessibility/AccessibleExtendedText.h new file mode 100644 index 00000000000..b947e664356 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleExtendedText.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleExtendedText__ +#define __javax_accessibility_AccessibleExtendedText__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleExtendedText; + class AccessibleTextSequence; + } + } +} + +class javax::accessibility::AccessibleExtendedText : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Rectangle * getTextBounds(jint, jint) = 0; + virtual ::java::lang::String * getTextRange(jint, jint) = 0; + virtual ::javax::accessibility::AccessibleTextSequence * getTextSequenceAfter(jint, jint) = 0; + virtual ::javax::accessibility::AccessibleTextSequence * getTextSequenceAt(jint, jint) = 0; + virtual ::javax::accessibility::AccessibleTextSequence * getTextSequenceBefore(jint, jint) = 0; + static const jint LINE = 4; + static const jint ATTRIBUTE_RUN = 5; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleExtendedText__ diff --git a/libjava/javax/accessibility/AccessibleHyperlink.h b/libjava/javax/accessibility/AccessibleHyperlink.h new file mode 100644 index 00000000000..08833559f19 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleHyperlink.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleHyperlink__ +#define __javax_accessibility_AccessibleHyperlink__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleHyperlink; + } + } +} + +class javax::accessibility::AccessibleHyperlink : public ::java::lang::Object +{ + +public: + AccessibleHyperlink(); + virtual jboolean isValid() = 0; + virtual jint getAccessibleActionCount() = 0; + virtual jboolean doAccessibleAction(jint) = 0; + virtual ::java::lang::String * getAccessibleActionDescription(jint) = 0; + virtual ::java::lang::Object * getAccessibleActionObject(jint) = 0; + virtual ::java::lang::Object * getAccessibleActionAnchor(jint) = 0; + virtual jint getStartIndex() = 0; + virtual jint getEndIndex() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleHyperlink__ diff --git a/libjava/javax/accessibility/AccessibleHypertext.h b/libjava/javax/accessibility/AccessibleHypertext.h new file mode 100644 index 00000000000..0aac63529ad --- /dev/null +++ b/libjava/javax/accessibility/AccessibleHypertext.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleHypertext__ +#define __javax_accessibility_AccessibleHypertext__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleHyperlink; + class AccessibleHypertext; + } + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::accessibility::AccessibleHypertext : public ::java::lang::Object +{ + +public: + virtual jint getLinkCount() = 0; + virtual ::javax::accessibility::AccessibleHyperlink * getLink(jint) = 0; + virtual jint getLinkIndex(jint) = 0; + virtual jint getIndexAtPoint(::java::awt::Point *) = 0; + virtual ::java::awt::Rectangle * getCharacterBounds(jint) = 0; + virtual jint getCharCount() = 0; + virtual jint getCaretPosition() = 0; + virtual ::java::lang::String * getAtIndex(jint, jint) = 0; + virtual ::java::lang::String * getAfterIndex(jint, jint) = 0; + virtual ::java::lang::String * getBeforeIndex(jint, jint) = 0; + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint) = 0; + virtual jint getSelectionStart() = 0; + virtual jint getSelectionEnd() = 0; + virtual ::java::lang::String * getSelectedText() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleHypertext__ diff --git a/libjava/javax/accessibility/AccessibleIcon.h b/libjava/javax/accessibility/AccessibleIcon.h new file mode 100644 index 00000000000..c2966204818 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleIcon.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleIcon__ +#define __javax_accessibility_AccessibleIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleIcon; + } + } +} + +class javax::accessibility::AccessibleIcon : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAccessibleIconDescription() = 0; + virtual void setAccessibleIconDescription(::java::lang::String *) = 0; + virtual jint getAccessibleIconWidth() = 0; + virtual jint getAccessibleIconHeight() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleIcon__ diff --git a/libjava/javax/accessibility/AccessibleKeyBinding.h b/libjava/javax/accessibility/AccessibleKeyBinding.h new file mode 100644 index 00000000000..472b7d0b761 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleKeyBinding.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleKeyBinding__ +#define __javax_accessibility_AccessibleKeyBinding__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleKeyBinding; + } + } +} + +class javax::accessibility::AccessibleKeyBinding : public ::java::lang::Object +{ + +public: + virtual jint getAccessibleKeyBindingCount() = 0; + virtual ::java::lang::Object * getAccessibleKeyBinding(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleKeyBinding__ diff --git a/libjava/javax/accessibility/AccessibleRelation.h b/libjava/javax/accessibility/AccessibleRelation.h new file mode 100644 index 00000000000..f0d3a9dab99 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleRelation.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleRelation__ +#define __javax_accessibility_AccessibleRelation__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRelation; + } + } +} + +class javax::accessibility::AccessibleRelation : public ::javax::accessibility::AccessibleBundle +{ + +public: + AccessibleRelation(::java::lang::String *); + AccessibleRelation(::java::lang::String *, ::java::lang::Object *); + AccessibleRelation(::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::String * getKey(); + virtual JArray< ::java::lang::Object * > * getTarget(); + virtual void setTarget(::java::lang::Object *); + virtual void setTarget(JArray< ::java::lang::Object * > *); + static ::java::lang::String * LABEL_FOR; + static ::java::lang::String * LABELED_BY; + static ::java::lang::String * MEMBER_OF; + static ::java::lang::String * CONTROLLER_FOR; + static ::java::lang::String * CONTROLLED_BY; + static ::java::lang::String * LABEL_FOR_PROPERTY; + static ::java::lang::String * LABELED_BY_PROPERTY; + static ::java::lang::String * MEMBER_OF_PROPERTY; + static ::java::lang::String * CONTROLLER_FOR_PROPERTY; + static ::java::lang::String * CONTROLLED_BY_PROPERTY; + static ::java::lang::String * CHILD_NODE_OF; + static ::java::lang::String * CHILD_NODE_OF_PROPERTY; + static ::java::lang::String * EMBEDDED_BY; + static ::java::lang::String * EMBEDDED_BY_PROPERTY; + static ::java::lang::String * EMBEDS; + static ::java::lang::String * EMBEDS_PROPERTY; + static ::java::lang::String * FLOWS_FROM; + static ::java::lang::String * FLOWS_FROM_PROPERTY; + static ::java::lang::String * FLOWS_TO; + static ::java::lang::String * FLOWS_TO_PROPERTY; + static ::java::lang::String * PARENT_WINDOW_OF; + static ::java::lang::String * PARENT_WINDOW_OF_PROPERTY; + static ::java::lang::String * SUBWINDOW_OF; + static ::java::lang::String * SUBWINDOW_OF_PROPERTY; +private: + static JArray< ::java::lang::Object * > * EMPTY_TARGETS; +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleBundle)))) targets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleRelation__ diff --git a/libjava/javax/accessibility/AccessibleRelationSet.h b/libjava/javax/accessibility/AccessibleRelationSet.h new file mode 100644 index 00000000000..6c2d4d42afd --- /dev/null +++ b/libjava/javax/accessibility/AccessibleRelationSet.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleRelationSet__ +#define __javax_accessibility_AccessibleRelationSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRelation; + class AccessibleRelationSet; + } + } +} + +class javax::accessibility::AccessibleRelationSet : public ::java::lang::Object +{ + +public: + AccessibleRelationSet(); + AccessibleRelationSet(JArray< ::javax::accessibility::AccessibleRelation * > *); + virtual jboolean add(::javax::accessibility::AccessibleRelation *); + virtual void addAll(JArray< ::javax::accessibility::AccessibleRelation * > *); + virtual jboolean remove(::javax::accessibility::AccessibleRelation *); + virtual void clear(); + virtual jint size(); + virtual jboolean contains(::java::lang::String *); + virtual ::javax::accessibility::AccessibleRelation * get(::java::lang::String *); + virtual JArray< ::javax::accessibility::AccessibleRelation * > * toArray(); + virtual ::java::lang::String * toString(); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) relations; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleRelationSet__ diff --git a/libjava/javax/accessibility/AccessibleResourceBundle.h b/libjava/javax/accessibility/AccessibleResourceBundle.h new file mode 100644 index 00000000000..87370a8a23d --- /dev/null +++ b/libjava/javax/accessibility/AccessibleResourceBundle.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleResourceBundle__ +#define __javax_accessibility_AccessibleResourceBundle__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleResourceBundle; + } + } +} + +class javax::accessibility::AccessibleResourceBundle : public ::java::util::ListResourceBundle +{ + +public: + AccessibleResourceBundle(); + virtual JArray< JArray< ::java::lang::Object * > * > * getContents(); + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleResourceBundle__ diff --git a/libjava/javax/accessibility/AccessibleRole.h b/libjava/javax/accessibility/AccessibleRole.h new file mode 100644 index 00000000000..1fd9e3cf0d4 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleRole.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleRole__ +#define __javax_accessibility_AccessibleRole__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + } +} + +class javax::accessibility::AccessibleRole : public ::javax::accessibility::AccessibleBundle +{ + +public: // actually protected + AccessibleRole(::java::lang::String *); +public: + static ::javax::accessibility::AccessibleRole * ALERT; + static ::javax::accessibility::AccessibleRole * COLUMN_HEADER; + static ::javax::accessibility::AccessibleRole * CANVAS; + static ::javax::accessibility::AccessibleRole * COMBO_BOX; + static ::javax::accessibility::AccessibleRole * DESKTOP_ICON; + static ::javax::accessibility::AccessibleRole * INTERNAL_FRAME; + static ::javax::accessibility::AccessibleRole * DESKTOP_PANE; + static ::javax::accessibility::AccessibleRole * OPTION_PANE; + static ::javax::accessibility::AccessibleRole * WINDOW; + static ::javax::accessibility::AccessibleRole * FRAME; + static ::javax::accessibility::AccessibleRole * DIALOG; + static ::javax::accessibility::AccessibleRole * COLOR_CHOOSER; + static ::javax::accessibility::AccessibleRole * DIRECTORY_PANE; + static ::javax::accessibility::AccessibleRole * FILE_CHOOSER; + static ::javax::accessibility::AccessibleRole * FILLER; + static ::javax::accessibility::AccessibleRole * HYPERLINK; + static ::javax::accessibility::AccessibleRole * ICON; + static ::javax::accessibility::AccessibleRole * LABEL; + static ::javax::accessibility::AccessibleRole * ROOT_PANE; + static ::javax::accessibility::AccessibleRole * GLASS_PANE; + static ::javax::accessibility::AccessibleRole * LAYERED_PANE; + static ::javax::accessibility::AccessibleRole * LIST; + static ::javax::accessibility::AccessibleRole * LIST_ITEM; + static ::javax::accessibility::AccessibleRole * MENU_BAR; + static ::javax::accessibility::AccessibleRole * POPUP_MENU; + static ::javax::accessibility::AccessibleRole * MENU; + static ::javax::accessibility::AccessibleRole * MENU_ITEM; + static ::javax::accessibility::AccessibleRole * SEPARATOR; + static ::javax::accessibility::AccessibleRole * PAGE_TAB_LIST; + static ::javax::accessibility::AccessibleRole * PAGE_TAB; + static ::javax::accessibility::AccessibleRole * PANEL; + static ::javax::accessibility::AccessibleRole * PROGRESS_BAR; + static ::javax::accessibility::AccessibleRole * PASSWORD_TEXT; + static ::javax::accessibility::AccessibleRole * PUSH_BUTTON; + static ::javax::accessibility::AccessibleRole * TOGGLE_BUTTON; + static ::javax::accessibility::AccessibleRole * CHECK_BOX; + static ::javax::accessibility::AccessibleRole * RADIO_BUTTON; + static ::javax::accessibility::AccessibleRole * ROW_HEADER; + static ::javax::accessibility::AccessibleRole * SCROLL_PANE; + static ::javax::accessibility::AccessibleRole * SCROLL_BAR; + static ::javax::accessibility::AccessibleRole * VIEWPORT; + static ::javax::accessibility::AccessibleRole * SLIDER; + static ::javax::accessibility::AccessibleRole * SPLIT_PANE; + static ::javax::accessibility::AccessibleRole * TABLE; + static ::javax::accessibility::AccessibleRole * TEXT; + static ::javax::accessibility::AccessibleRole * TREE; + static ::javax::accessibility::AccessibleRole * TOOL_BAR; + static ::javax::accessibility::AccessibleRole * TOOL_TIP; + static ::javax::accessibility::AccessibleRole * AWT_COMPONENT; + static ::javax::accessibility::AccessibleRole * SWING_COMPONENT; + static ::javax::accessibility::AccessibleRole * UNKNOWN; + static ::javax::accessibility::AccessibleRole * STATUS_BAR; + static ::javax::accessibility::AccessibleRole * DATE_EDITOR; + static ::javax::accessibility::AccessibleRole * SPIN_BOX; + static ::javax::accessibility::AccessibleRole * FONT_CHOOSER; + static ::javax::accessibility::AccessibleRole * GROUP_BOX; + static ::javax::accessibility::AccessibleRole * EDITBAR; + static ::javax::accessibility::AccessibleRole * FOOTER; + static ::javax::accessibility::AccessibleRole * HEADER; + static ::javax::accessibility::AccessibleRole * PARAGRAPH; + static ::javax::accessibility::AccessibleRole * PROGRESS_MONITOR; + static ::javax::accessibility::AccessibleRole * RULER; + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleRole__ diff --git a/libjava/javax/accessibility/AccessibleSelection.h b/libjava/javax/accessibility/AccessibleSelection.h new file mode 100644 index 00000000000..3ab7b44948f --- /dev/null +++ b/libjava/javax/accessibility/AccessibleSelection.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleSelection__ +#define __javax_accessibility_AccessibleSelection__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleSelection; + } + } +} + +class javax::accessibility::AccessibleSelection : public ::java::lang::Object +{ + +public: + virtual jint getAccessibleSelectionCount() = 0; + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint) = 0; + virtual jboolean isAccessibleChildSelected(jint) = 0; + virtual void addAccessibleSelection(jint) = 0; + virtual void removeAccessibleSelection(jint) = 0; + virtual void clearAccessibleSelection() = 0; + virtual void selectAllAccessibleSelection() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleSelection__ diff --git a/libjava/javax/accessibility/AccessibleState.h b/libjava/javax/accessibility/AccessibleState.h new file mode 100644 index 00000000000..3bc1adfe6b5 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleState.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleState__ +#define __javax_accessibility_AccessibleState__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleState; + } + } +} + +class javax::accessibility::AccessibleState : public ::javax::accessibility::AccessibleBundle +{ + +public: // actually protected + AccessibleState(::java::lang::String *); +public: + static ::javax::accessibility::AccessibleState * ACTIVE; + static ::javax::accessibility::AccessibleState * PRESSED; + static ::javax::accessibility::AccessibleState * ARMED; + static ::javax::accessibility::AccessibleState * BUSY; + static ::javax::accessibility::AccessibleState * CHECKED; + static ::javax::accessibility::AccessibleState * EDITABLE; + static ::javax::accessibility::AccessibleState * EXPANDABLE; + static ::javax::accessibility::AccessibleState * COLLAPSED; + static ::javax::accessibility::AccessibleState * EXPANDED; + static ::javax::accessibility::AccessibleState * ENABLED; + static ::javax::accessibility::AccessibleState * FOCUSABLE; + static ::javax::accessibility::AccessibleState * FOCUSED; + static ::javax::accessibility::AccessibleState * ICONIFIED; + static ::javax::accessibility::AccessibleState * INDETERMINATE; + static ::javax::accessibility::AccessibleState * MANAGES_DESCENDANTS; + static ::javax::accessibility::AccessibleState * MODAL; + static ::javax::accessibility::AccessibleState * OPAQUE; + static ::javax::accessibility::AccessibleState * RESIZABLE; + static ::javax::accessibility::AccessibleState * MULTISELECTABLE; + static ::javax::accessibility::AccessibleState * SELECTABLE; + static ::javax::accessibility::AccessibleState * SELECTED; + static ::javax::accessibility::AccessibleState * SHOWING; + static ::javax::accessibility::AccessibleState * TRUNCATED; + static ::javax::accessibility::AccessibleState * VISIBLE; + static ::javax::accessibility::AccessibleState * VERTICAL; + static ::javax::accessibility::AccessibleState * HORIZONTAL; + static ::javax::accessibility::AccessibleState * SINGLE_LINE; + static ::javax::accessibility::AccessibleState * MULTI_LINE; + static ::javax::accessibility::AccessibleState * TRANSIENT; + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleState__ diff --git a/libjava/javax/accessibility/AccessibleStateSet.h b/libjava/javax/accessibility/AccessibleStateSet.h new file mode 100644 index 00000000000..cf34e3aed03 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleStateSet.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleStateSet__ +#define __javax_accessibility_AccessibleStateSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleState; + class AccessibleStateSet; + } + } +} + +class javax::accessibility::AccessibleStateSet : public ::java::lang::Object +{ + +public: + AccessibleStateSet(); + AccessibleStateSet(JArray< ::javax::accessibility::AccessibleState * > *); + virtual jboolean add(::javax::accessibility::AccessibleState *); + virtual void addAll(JArray< ::javax::accessibility::AccessibleState * > *); + virtual jboolean remove(::javax::accessibility::AccessibleState *); + virtual void clear(); + virtual jboolean contains(::javax::accessibility::AccessibleState *); + virtual JArray< ::javax::accessibility::AccessibleState * > * toArray(); + virtual ::java::lang::String * toString(); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) states; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleStateSet__ diff --git a/libjava/javax/accessibility/AccessibleStreamable.h b/libjava/javax/accessibility/AccessibleStreamable.h new file mode 100644 index 00000000000..ed0e5ab1d43 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleStreamable.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleStreamable__ +#define __javax_accessibility_AccessibleStreamable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleStreamable; + } + } +} + +class javax::accessibility::AccessibleStreamable : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getMimeTypes() = 0; + virtual ::java::io::InputStream * getStream(::java::awt::datatransfer::DataFlavor *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleStreamable__ diff --git a/libjava/javax/accessibility/AccessibleTable.h b/libjava/javax/accessibility/AccessibleTable.h new file mode 100644 index 00000000000..0c3531bbcb5 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleTable.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleTable__ +#define __javax_accessibility_AccessibleTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleTable; + } + } +} + +class javax::accessibility::AccessibleTable : public ::java::lang::Object +{ + +public: + virtual ::javax::accessibility::Accessible * getAccessibleCaption() = 0; + virtual void setAccessibleCaption(::javax::accessibility::Accessible *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleSummary() = 0; + virtual void setAccessibleSummary(::javax::accessibility::Accessible *) = 0; + virtual jint getAccessibleRowCount() = 0; + virtual jint getAccessibleColumnCount() = 0; + virtual ::javax::accessibility::Accessible * getAccessibleAt(jint, jint) = 0; + virtual jint getAccessibleRowExtentAt(jint, jint) = 0; + virtual jint getAccessibleColumnExtentAt(jint, jint) = 0; + virtual ::javax::accessibility::AccessibleTable * getAccessibleRowHeader() = 0; + virtual void setAccessibleRowHeader(::javax::accessibility::AccessibleTable *) = 0; + virtual ::javax::accessibility::AccessibleTable * getAccessibleColumnHeader() = 0; + virtual void setAccessibleColumnHeader(::javax::accessibility::AccessibleTable *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleRowDescription(jint) = 0; + virtual void setAccessibleRowDescription(jint, ::javax::accessibility::Accessible *) = 0; + virtual ::javax::accessibility::Accessible * getAccessibleColumnDescription(jint) = 0; + virtual void setAccessibleColumnDescription(jint, ::javax::accessibility::Accessible *) = 0; + virtual jboolean isAccessibleSelected(jint, jint) = 0; + virtual jboolean isAccessibleRowSelected(jint) = 0; + virtual jboolean isAccessibleColumnSelected(jint) = 0; + virtual JArray< jint > * getSelectedAccessibleRows() = 0; + virtual JArray< jint > * getSelectedAccessibleColumns() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleTable__ diff --git a/libjava/javax/accessibility/AccessibleTableModelChange.h b/libjava/javax/accessibility/AccessibleTableModelChange.h new file mode 100644 index 00000000000..f3dc58b4e84 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleTableModelChange.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleTableModelChange__ +#define __javax_accessibility_AccessibleTableModelChange__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleTableModelChange; + } + } +} + +class javax::accessibility::AccessibleTableModelChange : public ::java::lang::Object +{ + +public: + virtual jint getType() = 0; + virtual jint getFirstRow() = 0; + virtual jint getLastRow() = 0; + virtual jint getFirstColumn() = 0; + virtual jint getLastColumn() = 0; + static const jint INSERT = 1; + static const jint UPDATE = 0; + static const jint DELETE = -1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleTableModelChange__ diff --git a/libjava/javax/accessibility/AccessibleText.h b/libjava/javax/accessibility/AccessibleText.h new file mode 100644 index 00000000000..f6ccf87c0ce --- /dev/null +++ b/libjava/javax/accessibility/AccessibleText.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleText__ +#define __javax_accessibility_AccessibleText__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleText; + } + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::accessibility::AccessibleText : public ::java::lang::Object +{ + +public: + virtual jint getIndexAtPoint(::java::awt::Point *) = 0; + virtual ::java::awt::Rectangle * getCharacterBounds(jint) = 0; + virtual jint getCharCount() = 0; + virtual jint getCaretPosition() = 0; + virtual ::java::lang::String * getAtIndex(jint, jint) = 0; + virtual ::java::lang::String * getAfterIndex(jint, jint) = 0; + virtual ::java::lang::String * getBeforeIndex(jint, jint) = 0; + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint) = 0; + virtual jint getSelectionStart() = 0; + virtual jint getSelectionEnd() = 0; + virtual ::java::lang::String * getSelectedText() = 0; + static const jint CHARACTER = 1; + static const jint WORD = 2; + static const jint SENTENCE = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleText__ diff --git a/libjava/javax/accessibility/AccessibleTextSequence.h b/libjava/javax/accessibility/AccessibleTextSequence.h new file mode 100644 index 00000000000..0c447e0fb21 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleTextSequence.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleTextSequence__ +#define __javax_accessibility_AccessibleTextSequence__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleTextSequence; + } + } +} + +class javax::accessibility::AccessibleTextSequence : public ::java::lang::Object +{ + +public: + AccessibleTextSequence(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) text; + jint startIndex; + jint endIndex; + static ::java::lang::Class class$; +}; + +#endif // __javax_accessibility_AccessibleTextSequence__ diff --git a/libjava/javax/accessibility/AccessibleValue.h b/libjava/javax/accessibility/AccessibleValue.h new file mode 100644 index 00000000000..a82754ad412 --- /dev/null +++ b/libjava/javax/accessibility/AccessibleValue.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_accessibility_AccessibleValue__ +#define __javax_accessibility_AccessibleValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleValue; + } + } +} + +class javax::accessibility::AccessibleValue : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Number * getCurrentAccessibleValue() = 0; + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *) = 0; + virtual ::java::lang::Number * getMinimumAccessibleValue() = 0; + virtual ::java::lang::Number * getMaximumAccessibleValue() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_accessibility_AccessibleValue__ diff --git a/libjava/javax/crypto/BadPaddingException.h b/libjava/javax/crypto/BadPaddingException.h new file mode 100644 index 00000000000..201d4a06ffb --- /dev/null +++ b/libjava/javax/crypto/BadPaddingException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_BadPaddingException__ +#define __javax_crypto_BadPaddingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + class BadPaddingException; + } + } +} + +class javax::crypto::BadPaddingException : public ::java::security::GeneralSecurityException +{ + +public: + BadPaddingException(); + BadPaddingException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5315033893984728443LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_BadPaddingException__ diff --git a/libjava/javax/crypto/Cipher.h b/libjava/javax/crypto/Cipher.h new file mode 100644 index 00000000000..b77c4d1d959 --- /dev/null +++ b/libjava/javax/crypto/Cipher.h @@ -0,0 +1,106 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_Cipher__ +#define __javax_crypto_Cipher__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class AlgorithmParameters; + class Key; + class Provider; + class SecureRandom; + namespace cert + { + class Certificate; + } + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class CipherSpi; + class ExemptionMechanism; + } + } +} + +class javax::crypto::Cipher : public ::java::lang::Object +{ + +public: + static ::javax::crypto::Cipher * getInstance(::java::lang::String *); + static ::javax::crypto::Cipher * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::crypto::Cipher * getInstance(::java::lang::String *, ::java::security::Provider *); +public: // actually protected + Cipher(::javax::crypto::CipherSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual jint getBlockSize(); + virtual ::javax::crypto::ExemptionMechanism * getExemptionMechanism(); + virtual JArray< jbyte > * getIV(); + virtual ::java::security::AlgorithmParameters * getParameters(); + virtual ::java::security::Provider * getProvider(); + virtual JArray< jbyte > * doFinal(); + virtual JArray< jbyte > * doFinal(JArray< jbyte > *); + virtual JArray< jbyte > * doFinal(JArray< jbyte > *, jint, jint); + virtual jint doFinal(JArray< jbyte > *, jint); + virtual jint doFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual jint doFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *); + virtual jint doFinal(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual jint getOutputSize(jint); + virtual void init(jint, ::java::security::cert::Certificate *); + virtual void init(jint, ::java::security::Key *); + virtual void init(jint, ::java::security::cert::Certificate *, ::java::security::SecureRandom *); + virtual void init(jint, ::java::security::Key *, ::java::security::SecureRandom *); + virtual void init(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *); + virtual void init(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual void init(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); + virtual void init(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual ::java::security::Key * unwrap(JArray< jbyte > *, ::java::lang::String *, jint); + virtual JArray< jbyte > * update(JArray< jbyte > *); + virtual JArray< jbyte > * update(JArray< jbyte > *, jint, jint); + virtual jint update(JArray< jbyte > *, jint, jint, JArray< jbyte > *); + virtual jint update(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + virtual jint update(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual JArray< jbyte > * wrap(::java::security::Key *); +private: + static ::java::lang::String * SERVICE; +public: + static const jint DECRYPT_MODE = 2; + static const jint ENCRYPT_MODE = 1; + static const jint PRIVATE_KEY = 2; + static const jint PUBLIC_KEY = 1; + static const jint SECRET_KEY = 3; + static const jint UNWRAP_MODE = 4; + static const jint WRAP_MODE = 3; +private: + static const jint INITIAL_STATE = 0; + ::javax::crypto::CipherSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipherSpi; + ::java::security::Provider * provider; + ::java::lang::String * transformation; + jint state; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_Cipher__ diff --git a/libjava/javax/crypto/CipherInputStream.h b/libjava/javax/crypto/CipherInputStream.h new file mode 100644 index 00000000000..e4c16e17375 --- /dev/null +++ b/libjava/javax/crypto/CipherInputStream.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_CipherInputStream__ +#define __javax_crypto_CipherInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + class Cipher; + class CipherInputStream; + } + } +} + +class javax::crypto::CipherInputStream : public ::java::io::FilterInputStream +{ + +public: + CipherInputStream(::java::io::InputStream *, ::javax::crypto::Cipher *); +public: // actually protected + CipherInputStream(::java::io::InputStream *); +public: + virtual jint available(); + virtual void close(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jint read(JArray< jbyte > *); + virtual jlong skip(jlong); + virtual jboolean markSupported(); + virtual void mark(jint); + virtual void reset(); +private: + void nextBlock(); + static ::java::util::logging::Logger * logger; + ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) cipher; + JArray< jbyte > * outBuffer; + jint outOffset; + jboolean isStream; + jboolean eof; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_CipherInputStream__ diff --git a/libjava/javax/crypto/CipherOutputStream.h b/libjava/javax/crypto/CipherOutputStream.h new file mode 100644 index 00000000000..59da0000719 --- /dev/null +++ b/libjava/javax/crypto/CipherOutputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_CipherOutputStream__ +#define __javax_crypto_CipherOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + class Cipher; + class CipherOutputStream; + } + } +} + +class javax::crypto::CipherOutputStream : public ::java::io::FilterOutputStream +{ + +public: + CipherOutputStream(::java::io::OutputStream *, ::javax::crypto::Cipher *); +public: // actually protected + CipherOutputStream(::java::io::OutputStream *); +public: + virtual void close(); + virtual void flush(); + virtual void write(jint); + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint); +private: + ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) cipher; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_CipherOutputStream__ diff --git a/libjava/javax/crypto/CipherSpi.h b/libjava/javax/crypto/CipherSpi.h new file mode 100644 index 00000000000..dd79290401f --- /dev/null +++ b/libjava/javax/crypto/CipherSpi.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_CipherSpi__ +#define __javax_crypto_CipherSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class CipherSpi; + } + } +} + +class javax::crypto::CipherSpi : public ::java::lang::Object +{ + +public: + CipherSpi(); +public: // actually protected + virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint) = 0; + virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint) = 0; + virtual jint engineDoFinal(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual jint engineGetBlockSize() = 0; + virtual JArray< jbyte > * engineGetIV() = 0; + virtual jint engineGetKeySize(::java::security::Key *); + virtual jint engineGetOutputSize(jint) = 0; + virtual ::java::security::AlgorithmParameters * engineGetParameters() = 0; + virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *) = 0; + virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *) = 0; + virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *) = 0; + virtual void engineSetMode(::java::lang::String *) = 0; + virtual void engineSetPadding(::java::lang::String *) = 0; + virtual ::java::security::Key * engineUnwrap(JArray< jbyte > *, ::java::lang::String *, jint); + virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint) = 0; + virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint) = 0; + virtual jint engineUpdate(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual JArray< jbyte > * engineWrap(::java::security::Key *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_CipherSpi__ diff --git a/libjava/javax/crypto/EncryptedPrivateKeyInfo.h b/libjava/javax/crypto/EncryptedPrivateKeyInfo.h new file mode 100644 index 00000000000..54818e1b55f --- /dev/null +++ b/libjava/javax/crypto/EncryptedPrivateKeyInfo.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_EncryptedPrivateKeyInfo__ +#define __javax_crypto_EncryptedPrivateKeyInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + } + } + } + namespace java + { + namespace security + { + class AlgorithmParameters; + namespace spec + { + class PKCS8EncodedKeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class EncryptedPrivateKeyInfo; + } + } +} + +class javax::crypto::EncryptedPrivateKeyInfo : public ::java::lang::Object +{ + +public: + EncryptedPrivateKeyInfo(::java::security::AlgorithmParameters *, JArray< jbyte > *); + EncryptedPrivateKeyInfo(JArray< jbyte > *); + EncryptedPrivateKeyInfo(::java::lang::String *, JArray< jbyte > *); +private: + static ::gnu::java::security::OID * getOid(::java::lang::String *); +public: + virtual ::java::lang::String * getAlgName(); + virtual ::java::security::AlgorithmParameters * getAlgParameters(); + virtual JArray< jbyte > * getEncoded(); + virtual JArray< jbyte > * getEncryptedData(); + virtual ::java::security::spec::PKCS8EncodedKeySpec * getKeySpec(::javax::crypto::Cipher *); +private: + void decode(); + void encode(); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encryptedData; + JArray< jbyte > * encoded; + ::gnu::java::security::OID * algOid; + ::java::lang::String * algName; + ::java::security::AlgorithmParameters * params; + JArray< jbyte > * encodedParams; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_EncryptedPrivateKeyInfo__ diff --git a/libjava/javax/crypto/ExemptionMechanism.h b/libjava/javax/crypto/ExemptionMechanism.h new file mode 100644 index 00000000000..65a0454661c --- /dev/null +++ b/libjava/javax/crypto/ExemptionMechanism.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_ExemptionMechanism__ +#define __javax_crypto_ExemptionMechanism__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class Provider; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class ExemptionMechanism; + class ExemptionMechanismSpi; + } + } +} + +class javax::crypto::ExemptionMechanism : public ::java::lang::Object +{ + +public: // actually protected + ExemptionMechanism(::javax::crypto::ExemptionMechanismSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::crypto::ExemptionMechanism * getInstance(::java::lang::String *); + static ::javax::crypto::ExemptionMechanism * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::crypto::ExemptionMechanism * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual JArray< jbyte > * genExemptionBlob(); + virtual jint genExemptionBlob(JArray< jbyte > *); + virtual jint genExemptionBlob(JArray< jbyte > *, jint); + virtual ::java::lang::String * getName(); + virtual jint getOutputSize(jint); + virtual ::java::security::Provider * getProvider(); + virtual void init(::java::security::Key *); + virtual void init(::java::security::Key *, ::java::security::AlgorithmParameters *); + virtual void init(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual jboolean isCryptoAllowed(::java::security::Key *); +public: // actually protected + virtual void finalize(); +private: + static ::java::lang::String * SERVICE; + ::javax::crypto::ExemptionMechanismSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) emSpi; + ::java::security::Provider * provider; + ::java::lang::String * mechanism; + jboolean virgin; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_ExemptionMechanism__ diff --git a/libjava/javax/crypto/ExemptionMechanismException.h b/libjava/javax/crypto/ExemptionMechanismException.h new file mode 100644 index 00000000000..79dd95f2069 --- /dev/null +++ b/libjava/javax/crypto/ExemptionMechanismException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_ExemptionMechanismException__ +#define __javax_crypto_ExemptionMechanismException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + class ExemptionMechanismException; + } + } +} + +class javax::crypto::ExemptionMechanismException : public ::java::security::GeneralSecurityException +{ + +public: + ExemptionMechanismException(); + ExemptionMechanismException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1572699429277957109LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_ExemptionMechanismException__ diff --git a/libjava/javax/crypto/ExemptionMechanismSpi.h b/libjava/javax/crypto/ExemptionMechanismSpi.h new file mode 100644 index 00000000000..70c738eb654 --- /dev/null +++ b/libjava/javax/crypto/ExemptionMechanismSpi.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_ExemptionMechanismSpi__ +#define __javax_crypto_ExemptionMechanismSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class ExemptionMechanismSpi; + } + } +} + +class javax::crypto::ExemptionMechanismSpi : public ::java::lang::Object +{ + +public: + ExemptionMechanismSpi(); +public: // actually protected + virtual JArray< jbyte > * engineGenExemptionBlob() = 0; + virtual jint engineGenExemptionBlob(JArray< jbyte > *, jint) = 0; + virtual jint engineGetOutputSize(jint) = 0; + virtual void engineInit(::java::security::Key *) = 0; + virtual void engineInit(::java::security::Key *, ::java::security::AlgorithmParameters *) = 0; + virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_ExemptionMechanismSpi__ diff --git a/libjava/javax/crypto/IllegalBlockSizeException.h b/libjava/javax/crypto/IllegalBlockSizeException.h new file mode 100644 index 00000000000..22176b1e504 --- /dev/null +++ b/libjava/javax/crypto/IllegalBlockSizeException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_IllegalBlockSizeException__ +#define __javax_crypto_IllegalBlockSizeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + class IllegalBlockSizeException; + } + } +} + +class javax::crypto::IllegalBlockSizeException : public ::java::security::GeneralSecurityException +{ + +public: + IllegalBlockSizeException(); + IllegalBlockSizeException(::java::lang::String *); +private: + static const jlong serialVersionUID = -1965144811953540392LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_IllegalBlockSizeException__ diff --git a/libjava/javax/crypto/KeyAgreement.h b/libjava/javax/crypto/KeyAgreement.h new file mode 100644 index 00000000000..5f6b4e7617c --- /dev/null +++ b/libjava/javax/crypto/KeyAgreement.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_KeyAgreement__ +#define __javax_crypto_KeyAgreement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + class Provider; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class KeyAgreement; + class KeyAgreementSpi; + class SecretKey; + } + } +} + +class javax::crypto::KeyAgreement : public ::java::lang::Object +{ + +public: // actually protected + KeyAgreement(::javax::crypto::KeyAgreementSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::crypto::KeyAgreement * getInstance(::java::lang::String *); + static ::javax::crypto::KeyAgreement * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::crypto::KeyAgreement * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::security::Key * doPhase(::java::security::Key *, jboolean); + virtual JArray< jbyte > * generateSecret(); + virtual jint generateSecret(JArray< jbyte > *, jint); + virtual ::javax::crypto::SecretKey * generateSecret(::java::lang::String *); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::Provider * getProvider(); + virtual void init(::java::security::Key *); + virtual void init(::java::security::Key *, ::java::security::SecureRandom *); + virtual void init(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual void init(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); +private: + static ::java::lang::String * SERVICE; + ::javax::crypto::KeyAgreementSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kaSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; + jboolean virgin; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_KeyAgreement__ diff --git a/libjava/javax/crypto/KeyAgreementSpi.h b/libjava/javax/crypto/KeyAgreementSpi.h new file mode 100644 index 00000000000..e0ac5eb1a2e --- /dev/null +++ b/libjava/javax/crypto/KeyAgreementSpi.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_KeyAgreementSpi__ +#define __javax_crypto_KeyAgreementSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class KeyAgreementSpi; + class SecretKey; + } + } +} + +class javax::crypto::KeyAgreementSpi : public ::java::lang::Object +{ + +public: + KeyAgreementSpi(); +public: // actually protected + virtual ::java::security::Key * engineDoPhase(::java::security::Key *, jboolean) = 0; + virtual JArray< jbyte > * engineGenerateSecret() = 0; + virtual jint engineGenerateSecret(JArray< jbyte > *, jint) = 0; + virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::lang::String *) = 0; + virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *) = 0; + virtual void engineInit(::java::security::Key *, ::java::security::SecureRandom *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_KeyAgreementSpi__ diff --git a/libjava/javax/crypto/KeyGenerator.h b/libjava/javax/crypto/KeyGenerator.h new file mode 100644 index 00000000000..ea785044eea --- /dev/null +++ b/libjava/javax/crypto/KeyGenerator.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_KeyGenerator__ +#define __javax_crypto_KeyGenerator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class KeyGenerator; + class KeyGeneratorSpi; + class SecretKey; + } + } +} + +class javax::crypto::KeyGenerator : public ::java::lang::Object +{ + +public: // actually protected + KeyGenerator(::javax::crypto::KeyGeneratorSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::crypto::KeyGenerator * getInstance(::java::lang::String *); + static ::javax::crypto::KeyGenerator * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::crypto::KeyGenerator * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::javax::crypto::SecretKey * generateKey(); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::Provider * getProvider(); + virtual void init(::java::security::spec::AlgorithmParameterSpec *); + virtual void init(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + virtual void init(jint); + virtual void init(jint, ::java::security::SecureRandom *); + virtual void init(::java::security::SecureRandom *); +private: + static ::java::lang::String * SERVICE; + ::javax::crypto::KeyGeneratorSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kgSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_KeyGenerator__ diff --git a/libjava/javax/crypto/KeyGeneratorSpi.h b/libjava/javax/crypto/KeyGeneratorSpi.h new file mode 100644 index 00000000000..4fb3574260d --- /dev/null +++ b/libjava/javax/crypto/KeyGeneratorSpi.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_KeyGeneratorSpi__ +#define __javax_crypto_KeyGeneratorSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class KeyGeneratorSpi; + class SecretKey; + } + } +} + +class javax::crypto::KeyGeneratorSpi : public ::java::lang::Object +{ + +public: + KeyGeneratorSpi(); +public: // actually protected + virtual ::javax::crypto::SecretKey * engineGenerateKey() = 0; + virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *) = 0; + virtual void engineInit(jint, ::java::security::SecureRandom *) = 0; + virtual void engineInit(::java::security::SecureRandom *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_KeyGeneratorSpi__ diff --git a/libjava/javax/crypto/Mac.h b/libjava/javax/crypto/Mac.h new file mode 100644 index 00000000000..d9242114635 --- /dev/null +++ b/libjava/javax/crypto/Mac.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_Mac__ +#define __javax_crypto_Mac__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class Key; + class Provider; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class Mac; + class MacSpi; + } + } +} + +class javax::crypto::Mac : public ::java::lang::Object +{ + +public: // actually protected + Mac(::javax::crypto::MacSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::crypto::Mac * getInstance(::java::lang::String *); + static ::javax::crypto::Mac * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::crypto::Mac * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual JArray< jbyte > * doFinal(); + virtual JArray< jbyte > * doFinal(JArray< jbyte > *); + virtual void doFinal(JArray< jbyte > *, jint); + virtual ::java::lang::String * getAlgorithm(); + virtual jint getMacLength(); + virtual ::java::security::Provider * getProvider(); + virtual void init(::java::security::Key *); + virtual void init(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *); + virtual void reset(); + virtual void update(jbyte); + virtual void update(JArray< jbyte > *); + virtual void update(JArray< jbyte > *, jint, jint); + virtual void update(::java::nio::ByteBuffer *); + virtual ::java::lang::Object * clone(); +private: + static ::java::lang::String * SERVICE; + ::javax::crypto::MacSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) macSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; + jboolean virgin; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_Mac__ diff --git a/libjava/javax/crypto/MacSpi.h b/libjava/javax/crypto/MacSpi.h new file mode 100644 index 00000000000..4508d2f00e7 --- /dev/null +++ b/libjava/javax/crypto/MacSpi.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_MacSpi__ +#define __javax_crypto_MacSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + namespace security + { + class Key; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class MacSpi; + } + } +} + +class javax::crypto::MacSpi : public ::java::lang::Object +{ + +public: + MacSpi(); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual JArray< jbyte > * engineDoFinal() = 0; + virtual jint engineGetMacLength() = 0; + virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *) = 0; + virtual void engineReset() = 0; + virtual void engineUpdate(jbyte) = 0; + virtual void engineUpdate(JArray< jbyte > *, jint, jint) = 0; + virtual void engineUpdate(::java::nio::ByteBuffer *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_MacSpi__ diff --git a/libjava/javax/crypto/NoSuchPaddingException.h b/libjava/javax/crypto/NoSuchPaddingException.h new file mode 100644 index 00000000000..76d4f3952d4 --- /dev/null +++ b/libjava/javax/crypto/NoSuchPaddingException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_NoSuchPaddingException__ +#define __javax_crypto_NoSuchPaddingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + class NoSuchPaddingException; + } + } +} + +class javax::crypto::NoSuchPaddingException : public ::java::security::GeneralSecurityException +{ + +public: + NoSuchPaddingException(); + NoSuchPaddingException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4572885201200175466LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_NoSuchPaddingException__ diff --git a/libjava/javax/crypto/NullCipher.h b/libjava/javax/crypto/NullCipher.h new file mode 100644 index 00000000000..2fc8378f316 --- /dev/null +++ b/libjava/javax/crypto/NullCipher.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_NullCipher__ +#define __javax_crypto_NullCipher__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + class NullCipher; + } + } +} + +class javax::crypto::NullCipher : public ::javax::crypto::Cipher +{ + +public: + NullCipher(); + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_NullCipher__ diff --git a/libjava/javax/crypto/NullCipherImpl.h b/libjava/javax/crypto/NullCipherImpl.h new file mode 100644 index 00000000000..56cccfe2430 --- /dev/null +++ b/libjava/javax/crypto/NullCipherImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_NullCipherImpl__ +#define __javax_crypto_NullCipherImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class AlgorithmParameters; + class Key; + class SecureRandom; + namespace spec + { + class AlgorithmParameterSpec; + } + } + } + namespace javax + { + namespace crypto + { + class NullCipherImpl; + } + } +} + +class javax::crypto::NullCipherImpl : public ::javax::crypto::CipherSpi +{ + +public: // actually package-private + NullCipherImpl(); +public: // actually protected + void engineSetMode(::java::lang::String *); + void engineSetPadding(::java::lang::String *); + jint engineGetBlockSize(); + jint engineGetOutputSize(jint); + JArray< jbyte > * engineGetIV(); + ::java::security::AlgorithmParameters * engineGetParameters(); + void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *); + void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *); + void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *); + JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint); + jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); + JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint); + jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_NullCipherImpl__ diff --git a/libjava/javax/crypto/SealedObject.h b/libjava/javax/crypto/SealedObject.h new file mode 100644 index 00000000000..630f8ec5f3a --- /dev/null +++ b/libjava/javax/crypto/SealedObject.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_SealedObject__ +#define __javax_crypto_SealedObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Key; + } + } + namespace javax + { + namespace crypto + { + class Cipher; + class SealedObject; + } + } +} + +class javax::crypto::SealedObject : public ::java::lang::Object +{ + +public: + SealedObject(::java::io::Serializable *, ::javax::crypto::Cipher *); +public: // actually protected + SealedObject(::javax::crypto::SealedObject *); +public: + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::Object * getObject(::javax::crypto::Cipher *); + virtual ::java::lang::Object * getObject(::java::security::Key *); + virtual ::java::lang::Object * getObject(::java::security::Key *, ::java::lang::String *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + ::java::lang::Object * unseal(); +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encodedParams; +private: + JArray< jbyte > * encryptedContent; + ::java::lang::String * sealAlg; + ::java::lang::String * paramsAlg; + ::javax::crypto::Cipher * sealCipher; + static const jlong serialVersionUID = 4482838265551344752LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_SealedObject__ diff --git a/libjava/javax/crypto/SecretKey.h b/libjava/javax/crypto/SecretKey.h new file mode 100644 index 00000000000..d76e7286836 --- /dev/null +++ b/libjava/javax/crypto/SecretKey.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_SecretKey__ +#define __javax_crypto_SecretKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + class SecretKey; + } + } +} + +class javax::crypto::SecretKey : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = -4795878709595146952LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_crypto_SecretKey__ diff --git a/libjava/javax/crypto/SecretKeyFactory.h b/libjava/javax/crypto/SecretKeyFactory.h new file mode 100644 index 00000000000..2e10b769c63 --- /dev/null +++ b/libjava/javax/crypto/SecretKeyFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_SecretKeyFactory__ +#define __javax_crypto_SecretKeyFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + namespace spec + { + class KeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + class SecretKeyFactory; + class SecretKeyFactorySpi; + } + } +} + +class javax::crypto::SecretKeyFactory : public ::java::lang::Object +{ + +public: // actually protected + SecretKeyFactory(::javax::crypto::SecretKeyFactorySpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::crypto::SecretKeyFactory * getInstance(::java::lang::String *); + static ::javax::crypto::SecretKeyFactory * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::crypto::SecretKeyFactory * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::javax::crypto::SecretKey * generateSecret(::java::security::spec::KeySpec *); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::spec::KeySpec * getKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *); + virtual ::java::security::Provider * getProvider(); + virtual ::javax::crypto::SecretKey * translateKey(::javax::crypto::SecretKey *); +private: + static ::java::lang::String * SERVICE; + ::javax::crypto::SecretKeyFactorySpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) skfSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_SecretKeyFactory__ diff --git a/libjava/javax/crypto/SecretKeyFactorySpi.h b/libjava/javax/crypto/SecretKeyFactorySpi.h new file mode 100644 index 00000000000..91a17d69aa7 --- /dev/null +++ b/libjava/javax/crypto/SecretKeyFactorySpi.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_SecretKeyFactorySpi__ +#define __javax_crypto_SecretKeyFactorySpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace spec + { + class KeySpec; + } + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + class SecretKeyFactorySpi; + } + } +} + +class javax::crypto::SecretKeyFactorySpi : public ::java::lang::Object +{ + +public: + SecretKeyFactorySpi(); +public: // actually protected + virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *) = 0; + virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *) = 0; + virtual ::javax::crypto::SecretKey * engineTranslateKey(::javax::crypto::SecretKey *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_SecretKeyFactorySpi__ diff --git a/libjava/javax/crypto/ShortBufferException.h b/libjava/javax/crypto/ShortBufferException.h new file mode 100644 index 00000000000..1c3d344e6d8 --- /dev/null +++ b/libjava/javax/crypto/ShortBufferException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_ShortBufferException__ +#define __javax_crypto_ShortBufferException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + class ShortBufferException; + } + } +} + +class javax::crypto::ShortBufferException : public ::java::security::GeneralSecurityException +{ + +public: + ShortBufferException(); + ShortBufferException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8427718640832943747LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_ShortBufferException__ diff --git a/libjava/javax/crypto/interfaces/DHKey.h b/libjava/javax/crypto/interfaces/DHKey.h new file mode 100644 index 00000000000..a425a9263bd --- /dev/null +++ b/libjava/javax/crypto/interfaces/DHKey.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_interfaces_DHKey__ +#define __javax_crypto_interfaces_DHKey__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHKey; + } + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class javax::crypto::interfaces::DHKey : public ::java::lang::Object +{ + +public: + virtual ::javax::crypto::spec::DHParameterSpec * getParams() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_crypto_interfaces_DHKey__ diff --git a/libjava/javax/crypto/interfaces/DHPrivateKey.h b/libjava/javax/crypto/interfaces/DHPrivateKey.h new file mode 100644 index 00000000000..500bb2a688a --- /dev/null +++ b/libjava/javax/crypto/interfaces/DHPrivateKey.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_interfaces_DHPrivateKey__ +#define __javax_crypto_interfaces_DHPrivateKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPrivateKey; + } + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class javax::crypto::interfaces::DHPrivateKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getX() = 0; + virtual ::javax::crypto::spec::DHParameterSpec * getParams() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = 2211791113380396553LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_crypto_interfaces_DHPrivateKey__ diff --git a/libjava/javax/crypto/interfaces/DHPublicKey.h b/libjava/javax/crypto/interfaces/DHPublicKey.h new file mode 100644 index 00000000000..36ebfc5736a --- /dev/null +++ b/libjava/javax/crypto/interfaces/DHPublicKey.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_interfaces_DHPublicKey__ +#define __javax_crypto_interfaces_DHPublicKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace interfaces + { + class DHPublicKey; + } + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class javax::crypto::interfaces::DHPublicKey : public ::java::lang::Object +{ + +public: + virtual ::java::math::BigInteger * getY() = 0; + virtual ::javax::crypto::spec::DHParameterSpec * getParams() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = -6628103563352519193LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_crypto_interfaces_DHPublicKey__ diff --git a/libjava/javax/crypto/interfaces/PBEKey.h b/libjava/javax/crypto/interfaces/PBEKey.h new file mode 100644 index 00000000000..ff8f1ea4a68 --- /dev/null +++ b/libjava/javax/crypto/interfaces/PBEKey.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_interfaces_PBEKey__ +#define __javax_crypto_interfaces_PBEKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace interfaces + { + class PBEKey; + } + } + } +} + +class javax::crypto::interfaces::PBEKey : public ::java::lang::Object +{ + +public: + virtual jint getIterationCount() = 0; + virtual JArray< jchar > * getPassword() = 0; + virtual JArray< jbyte > * getSalt() = 0; + virtual ::java::lang::String * getAlgorithm() = 0; + virtual ::java::lang::String * getFormat() = 0; + virtual JArray< jbyte > * getEncoded() = 0; + static const jlong serialVersionUID = -1430015993304333921LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_crypto_interfaces_PBEKey__ diff --git a/libjava/javax/crypto/spec/DESKeySpec.h b/libjava/javax/crypto/spec/DESKeySpec.h new file mode 100644 index 00000000000..3c860452bb3 --- /dev/null +++ b/libjava/javax/crypto/spec/DESKeySpec.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_DESKeySpec__ +#define __javax_crypto_spec_DESKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class DESKeySpec; + } + } + } +} + +class javax::crypto::spec::DESKeySpec : public ::java::lang::Object +{ + +public: + DESKeySpec(JArray< jbyte > *); + DESKeySpec(JArray< jbyte > *, jint); + static jboolean isParityAdjusted(JArray< jbyte > *, jint); + static jboolean isWeak(JArray< jbyte > *, jint); +private: + static jboolean equalsOrComplementEquals(JArray< jbyte > *, jint, JArray< jbyte > *); +public: + virtual JArray< jbyte > * getKey(); + static const jint DES_KEY_LEN = 8; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + static JArray< JArray< jbyte > * > * WEAK_KEYS; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_DESKeySpec__ diff --git a/libjava/javax/crypto/spec/DESedeKeySpec.h b/libjava/javax/crypto/spec/DESedeKeySpec.h new file mode 100644 index 00000000000..28e23bb13c0 --- /dev/null +++ b/libjava/javax/crypto/spec/DESedeKeySpec.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_DESedeKeySpec__ +#define __javax_crypto_spec_DESedeKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class DESedeKeySpec; + } + } + } +} + +class javax::crypto::spec::DESedeKeySpec : public ::java::lang::Object +{ + +public: + DESedeKeySpec(JArray< jbyte > *); + DESedeKeySpec(JArray< jbyte > *, jint); + static jboolean isParityAdjusted(JArray< jbyte > *, jint); + virtual JArray< jbyte > * getKey(); + static const jint DES_EDE_KEY_LEN = 24; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_DESedeKeySpec__ diff --git a/libjava/javax/crypto/spec/DHGenParameterSpec.h b/libjava/javax/crypto/spec/DHGenParameterSpec.h new file mode 100644 index 00000000000..79331116f9b --- /dev/null +++ b/libjava/javax/crypto/spec/DHGenParameterSpec.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_DHGenParameterSpec__ +#define __javax_crypto_spec_DHGenParameterSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class DHGenParameterSpec; + } + } + } +} + +class javax::crypto::spec::DHGenParameterSpec : public ::java::lang::Object +{ + +public: + DHGenParameterSpec(jint, jint); + virtual jint getExponentSize(); + virtual jint getPrimeSize(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) primeSize; + jint exponentSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_DHGenParameterSpec__ diff --git a/libjava/javax/crypto/spec/DHParameterSpec.h b/libjava/javax/crypto/spec/DHParameterSpec.h new file mode 100644 index 00000000000..7f7dd3fcd7a --- /dev/null +++ b/libjava/javax/crypto/spec/DHParameterSpec.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_DHParameterSpec__ +#define __javax_crypto_spec_DHParameterSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class DHParameterSpec; + } + } + } +} + +class javax::crypto::spec::DHParameterSpec : public ::java::lang::Object +{ + +public: + DHParameterSpec(::java::math::BigInteger *, ::java::math::BigInteger *); + DHParameterSpec(::java::math::BigInteger *, ::java::math::BigInteger *, jint); + virtual ::java::math::BigInteger * getG(); + virtual jint getL(); + virtual ::java::math::BigInteger * getP(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) g; + ::java::math::BigInteger * p; + jint l; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_DHParameterSpec__ diff --git a/libjava/javax/crypto/spec/DHPrivateKeySpec.h b/libjava/javax/crypto/spec/DHPrivateKeySpec.h new file mode 100644 index 00000000000..c21a9e2e17e --- /dev/null +++ b/libjava/javax/crypto/spec/DHPrivateKeySpec.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_DHPrivateKeySpec__ +#define __javax_crypto_spec_DHPrivateKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class DHPrivateKeySpec; + } + } + } +} + +class javax::crypto::spec::DHPrivateKeySpec : public ::java::lang::Object +{ + +public: + DHPrivateKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getG(); + virtual ::java::math::BigInteger * getP(); + virtual ::java::math::BigInteger * getX(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) g; + ::java::math::BigInteger * p; + ::java::math::BigInteger * x; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_DHPrivateKeySpec__ diff --git a/libjava/javax/crypto/spec/DHPublicKeySpec.h b/libjava/javax/crypto/spec/DHPublicKeySpec.h new file mode 100644 index 00000000000..ae1a2bf557c --- /dev/null +++ b/libjava/javax/crypto/spec/DHPublicKeySpec.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_DHPublicKeySpec__ +#define __javax_crypto_spec_DHPublicKeySpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + } + namespace javax + { + namespace crypto + { + namespace spec + { + class DHPublicKeySpec; + } + } + } +} + +class javax::crypto::spec::DHPublicKeySpec : public ::java::lang::Object +{ + +public: + DHPublicKeySpec(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::java::math::BigInteger * getG(); + virtual ::java::math::BigInteger * getP(); + virtual ::java::math::BigInteger * getY(); +private: + ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) g; + ::java::math::BigInteger * p; + ::java::math::BigInteger * y; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_DHPublicKeySpec__ diff --git a/libjava/javax/crypto/spec/IvParameterSpec.h b/libjava/javax/crypto/spec/IvParameterSpec.h new file mode 100644 index 00000000000..e5799e47fcc --- /dev/null +++ b/libjava/javax/crypto/spec/IvParameterSpec.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_IvParameterSpec__ +#define __javax_crypto_spec_IvParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class IvParameterSpec; + } + } + } +} + +class javax::crypto::spec::IvParameterSpec : public ::java::lang::Object +{ + +public: + IvParameterSpec(JArray< jbyte > *); + IvParameterSpec(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * getIV(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iv; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_IvParameterSpec__ diff --git a/libjava/javax/crypto/spec/PBEKeySpec.h b/libjava/javax/crypto/spec/PBEKeySpec.h new file mode 100644 index 00000000000..f987069389d --- /dev/null +++ b/libjava/javax/crypto/spec/PBEKeySpec.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_PBEKeySpec__ +#define __javax_crypto_spec_PBEKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class PBEKeySpec; + } + } + } +} + +class javax::crypto::spec::PBEKeySpec : public ::java::lang::Object +{ + +public: + PBEKeySpec(JArray< jchar > *); + PBEKeySpec(JArray< jchar > *, JArray< jbyte > *, jint); + PBEKeySpec(JArray< jchar > *, JArray< jbyte > *, jint, jint); + virtual void clearPassword(); + virtual jint getIterationCount(); + virtual jint getKeyLength(); + virtual JArray< jchar > * getPassword(); + virtual JArray< jbyte > * getSalt(); +private: + void setPassword(JArray< jchar > *); + void setSalt(JArray< jbyte > *); + void setIterationCount(jint); + void setKeyLength(jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) iterationCount; + jint keyLength; + JArray< jchar > * password; + JArray< jbyte > * salt; + jboolean passwordValid; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_PBEKeySpec__ diff --git a/libjava/javax/crypto/spec/PBEParameterSpec.h b/libjava/javax/crypto/spec/PBEParameterSpec.h new file mode 100644 index 00000000000..eb81ca7dc4c --- /dev/null +++ b/libjava/javax/crypto/spec/PBEParameterSpec.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_PBEParameterSpec__ +#define __javax_crypto_spec_PBEParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class PBEParameterSpec; + } + } + } +} + +class javax::crypto::spec::PBEParameterSpec : public ::java::lang::Object +{ + +public: + PBEParameterSpec(JArray< jbyte > *, jint); + virtual jint getIterationCount(); + virtual JArray< jbyte > * getSalt(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) iterationCount; + JArray< jbyte > * salt; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_PBEParameterSpec__ diff --git a/libjava/javax/crypto/spec/RC2ParameterSpec.h b/libjava/javax/crypto/spec/RC2ParameterSpec.h new file mode 100644 index 00000000000..419dc752b34 --- /dev/null +++ b/libjava/javax/crypto/spec/RC2ParameterSpec.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_RC2ParameterSpec__ +#define __javax_crypto_spec_RC2ParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class RC2ParameterSpec; + } + } + } +} + +class javax::crypto::spec::RC2ParameterSpec : public ::java::lang::Object +{ + +public: + RC2ParameterSpec(jint); + RC2ParameterSpec(jint, JArray< jbyte > *); + RC2ParameterSpec(jint, JArray< jbyte > *, jint); + virtual jint getEffectiveKeyBits(); + virtual JArray< jbyte > * getIV(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jint RC2_IV_LENGTH = 8; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) effectiveKeyBits; + JArray< jbyte > * iv; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_RC2ParameterSpec__ diff --git a/libjava/javax/crypto/spec/RC5ParameterSpec.h b/libjava/javax/crypto/spec/RC5ParameterSpec.h new file mode 100644 index 00000000000..8ba9232cd65 --- /dev/null +++ b/libjava/javax/crypto/spec/RC5ParameterSpec.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_RC5ParameterSpec__ +#define __javax_crypto_spec_RC5ParameterSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class RC5ParameterSpec; + } + } + } +} + +class javax::crypto::spec::RC5ParameterSpec : public ::java::lang::Object +{ + +public: + RC5ParameterSpec(jint, jint, jint); + RC5ParameterSpec(jint, jint, jint, JArray< jbyte > *); + RC5ParameterSpec(jint, jint, jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * getIV(); + virtual jint getRounds(); + virtual jint getVersion(); + virtual jint getWordSize(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iv; + jint rounds; + jint version; + jint wordSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_RC5ParameterSpec__ diff --git a/libjava/javax/crypto/spec/SecretKeySpec.h b/libjava/javax/crypto/spec/SecretKeySpec.h new file mode 100644 index 00000000000..b6a2e04ced3 --- /dev/null +++ b/libjava/javax/crypto/spec/SecretKeySpec.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_crypto_spec_SecretKeySpec__ +#define __javax_crypto_spec_SecretKeySpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace crypto + { + namespace spec + { + class SecretKeySpec; + } + } + } +} + +class javax::crypto::spec::SecretKeySpec : public ::java::lang::Object +{ + +public: + SecretKeySpec(JArray< jbyte > *, ::java::lang::String *); + SecretKeySpec(JArray< jbyte > *, jint, jint, ::java::lang::String *); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< jbyte > * getEncoded(); + virtual ::java::lang::String * getFormat(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = 6577238317307289933LL; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_crypto_spec_SecretKeySpec__ diff --git a/libjava/javax/imageio/IIOException.h b/libjava/javax/imageio/IIOException.h new file mode 100644 index 00000000000..b303de89819 --- /dev/null +++ b/libjava/javax/imageio/IIOException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_IIOException__ +#define __javax_imageio_IIOException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class IIOException; + } + } +} + +class javax::imageio::IIOException : public ::java::io::IOException +{ + +public: + IIOException(::java::lang::String *); + IIOException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_IIOException__ diff --git a/libjava/javax/imageio/IIOImage.h b/libjava/javax/imageio/IIOImage.h new file mode 100644 index 00000000000..ae23913df8b --- /dev/null +++ b/libjava/javax/imageio/IIOImage.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_IIOImage__ +#define __javax_imageio_IIOImage__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class Raster; + class RenderedImage; + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + namespace metadata + { + class IIOMetadata; + } + } + } +} + +class javax::imageio::IIOImage : public ::java::lang::Object +{ + +public: + IIOImage(::java::awt::image::Raster *, ::java::util::List *, ::javax::imageio::metadata::IIOMetadata *); + IIOImage(::java::awt::image::RenderedImage *, ::java::util::List *, ::javax::imageio::metadata::IIOMetadata *); + virtual ::javax::imageio::metadata::IIOMetadata * getMetadata(); + virtual jint getNumThumbnails(); + virtual ::java::awt::image::Raster * getRaster(); + virtual ::java::awt::image::RenderedImage * getRenderedImage(); + virtual ::java::awt::image::BufferedImage * getThumbnail(jint); + virtual ::java::util::List * getThumbnails(); + virtual jboolean hasRaster(); + virtual void setMetadata(::javax::imageio::metadata::IIOMetadata *); + virtual void setRaster(::java::awt::image::Raster *); + virtual void setRenderedImage(::java::awt::image::RenderedImage *); + virtual void setThumbnails(::java::util::List *); +public: // actually protected + ::java::awt::image::RenderedImage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image; + ::javax::imageio::metadata::IIOMetadata * metadata; + ::java::awt::image::Raster * raster; + ::java::util::List * thumbnails; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_IIOImage__ diff --git a/libjava/javax/imageio/IIOParam.h b/libjava/javax/imageio/IIOParam.h new file mode 100644 index 00000000000..ca81aea23cf --- /dev/null +++ b/libjava/javax/imageio/IIOParam.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_IIOParam__ +#define __javax_imageio_IIOParam__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace imageio + { + class IIOParam; + class IIOParamController; + class ImageTypeSpecifier; + } + } +} + +class javax::imageio::IIOParam : public ::java::lang::Object +{ + +public: // actually protected + IIOParam(); +public: + virtual jboolean activateController(); + virtual ::javax::imageio::IIOParamController * getController(); + virtual ::javax::imageio::IIOParamController * getDefaultController(); + virtual ::java::awt::Point * getDestinationOffset(); + virtual ::javax::imageio::ImageTypeSpecifier * getDestinationType(); + virtual JArray< jint > * getSourceBands(); + virtual ::java::awt::Rectangle * getSourceRegion(); + virtual jint getSourceXSubsampling(); + virtual jint getSourceYSubsampling(); + virtual jint getSubsamplingXOffset(); + virtual jint getSubsamplingYOffset(); + virtual jboolean hasController(); + virtual void setController(::javax::imageio::IIOParamController *); + virtual void setDestinationType(::javax::imageio::ImageTypeSpecifier *); + virtual void setDestinationOffset(::java::awt::Point *); + virtual void setSourceBands(JArray< jint > *); + virtual void setSourceRegion(::java::awt::Rectangle *); + virtual void setSourceSubsampling(jint, jint, jint, jint); +public: // actually protected + ::javax::imageio::IIOParamController * __attribute__((aligned(__alignof__( ::java::lang::Object)))) controller; + ::javax::imageio::IIOParamController * defaultController; + ::java::awt::Point * destinationOffset; + ::javax::imageio::ImageTypeSpecifier * destinationType; + JArray< jint > * sourceBands; + ::java::awt::Rectangle * sourceRegion; + jint sourceXSubsampling; + jint sourceYSubsampling; + jint subsamplingXOffset; + jint subsamplingYOffset; +private: + jboolean no_controller; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_IIOParam__ diff --git a/libjava/javax/imageio/IIOParamController.h b/libjava/javax/imageio/IIOParamController.h new file mode 100644 index 00000000000..3e9d52d50bf --- /dev/null +++ b/libjava/javax/imageio/IIOParamController.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_IIOParamController__ +#define __javax_imageio_IIOParamController__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class IIOParam; + class IIOParamController; + } + } +} + +class javax::imageio::IIOParamController : public ::java::lang::Object +{ + +public: + virtual jboolean activate(::javax::imageio::IIOParam *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_IIOParamController__ diff --git a/libjava/javax/imageio/ImageIO$1.h b/libjava/javax/imageio/ImageIO$1.h new file mode 100644 index 00000000000..5c3ae21e031 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$1__ +#define __javax_imageio_ImageIO$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$1; + class ImageTranscoder; + } + } +} + +class javax::imageio::ImageIO$1 : public ::java::lang::Object +{ + +public: // actually package-private + ImageIO$1(::java::util::Iterator *); +public: + jboolean hasNext(); + ::javax::imageio::ImageTranscoder * target$next(); + void remove(); + ::java::lang::Object * next(); +private: + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$spiIterator; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$1__ diff --git a/libjava/javax/imageio/ImageIO$ImageReaderIterator.h b/libjava/javax/imageio/ImageIO$ImageReaderIterator.h new file mode 100644 index 00000000000..5288ca9254c --- /dev/null +++ b/libjava/javax/imageio/ImageIO$ImageReaderIterator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$ImageReaderIterator__ +#define __javax_imageio_ImageIO$ImageReaderIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$ImageReaderIterator; + class ImageReader; + } + } +} + +class javax::imageio::ImageIO$ImageReaderIterator : public ::java::lang::Object +{ + +public: + ImageIO$ImageReaderIterator(::java::util::Iterator *, ::java::lang::Object *); + ImageIO$ImageReaderIterator(::java::util::Iterator *); + jboolean hasNext(); + ::javax::imageio::ImageReader * target$next(); + void remove(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) it; + ::java::lang::Object * readerExtension; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$ImageReaderIterator__ diff --git a/libjava/javax/imageio/ImageIO$ImageWriterIterator.h b/libjava/javax/imageio/ImageIO$ImageWriterIterator.h new file mode 100644 index 00000000000..78f74fb2649 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$ImageWriterIterator.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$ImageWriterIterator__ +#define __javax_imageio_ImageIO$ImageWriterIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$ImageWriterIterator; + class ImageWriter; + } + } +} + +class javax::imageio::ImageIO$ImageWriterIterator : public ::java::lang::Object +{ + +public: + ImageIO$ImageWriterIterator(::java::util::Iterator *, ::java::lang::Object *); + ImageIO$ImageWriterIterator(::java::util::Iterator *); + jboolean hasNext(); + ::javax::imageio::ImageWriter * target$next(); + void remove(); + ::java::lang::Object * next(); +public: // actually package-private + ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) it; + ::java::lang::Object * writerExtension; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$ImageWriterIterator__ diff --git a/libjava/javax/imageio/ImageIO$ReaderFormatFilter.h b/libjava/javax/imageio/ImageIO$ReaderFormatFilter.h new file mode 100644 index 00000000000..a1d35dbff5b --- /dev/null +++ b/libjava/javax/imageio/ImageIO$ReaderFormatFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$ReaderFormatFilter__ +#define __javax_imageio_ImageIO$ReaderFormatFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$ReaderFormatFilter; + } + } +} + +class javax::imageio::ImageIO$ReaderFormatFilter : public ::java::lang::Object +{ + +public: + ImageIO$ReaderFormatFilter(::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) formatName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$ReaderFormatFilter__ diff --git a/libjava/javax/imageio/ImageIO$ReaderMIMETypeFilter.h b/libjava/javax/imageio/ImageIO$ReaderMIMETypeFilter.h new file mode 100644 index 00000000000..7f7503278eb --- /dev/null +++ b/libjava/javax/imageio/ImageIO$ReaderMIMETypeFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$ReaderMIMETypeFilter__ +#define __javax_imageio_ImageIO$ReaderMIMETypeFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$ReaderMIMETypeFilter; + } + } +} + +class javax::imageio::ImageIO$ReaderMIMETypeFilter : public ::java::lang::Object +{ + +public: + ImageIO$ReaderMIMETypeFilter(::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) MIMEType; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$ReaderMIMETypeFilter__ diff --git a/libjava/javax/imageio/ImageIO$ReaderObjectFilter.h b/libjava/javax/imageio/ImageIO$ReaderObjectFilter.h new file mode 100644 index 00000000000..929530f2b09 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$ReaderObjectFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$ReaderObjectFilter__ +#define __javax_imageio_ImageIO$ReaderObjectFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$ReaderObjectFilter; + } + } +} + +class javax::imageio::ImageIO$ReaderObjectFilter : public ::java::lang::Object +{ + +public: + ImageIO$ReaderObjectFilter(::java::lang::Object *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) object; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$ReaderObjectFilter__ diff --git a/libjava/javax/imageio/ImageIO$ReaderSuffixFilter.h b/libjava/javax/imageio/ImageIO$ReaderSuffixFilter.h new file mode 100644 index 00000000000..b4dc85d1319 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$ReaderSuffixFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$ReaderSuffixFilter__ +#define __javax_imageio_ImageIO$ReaderSuffixFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$ReaderSuffixFilter; + } + } +} + +class javax::imageio::ImageIO$ReaderSuffixFilter : public ::java::lang::Object +{ + +public: + ImageIO$ReaderSuffixFilter(::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fileSuffix; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$ReaderSuffixFilter__ diff --git a/libjava/javax/imageio/ImageIO$TranscoderFilter.h b/libjava/javax/imageio/ImageIO$TranscoderFilter.h new file mode 100644 index 00000000000..48b9f104e78 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$TranscoderFilter.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$TranscoderFilter__ +#define __javax_imageio_ImageIO$TranscoderFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$TranscoderFilter; + class ImageReader; + class ImageWriter; + } + } +} + +class javax::imageio::ImageIO$TranscoderFilter : public ::java::lang::Object +{ + +public: + ImageIO$TranscoderFilter(::javax::imageio::ImageReader *, ::javax::imageio::ImageWriter *); + jboolean filter(::java::lang::Object *); +private: + ::javax::imageio::ImageReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reader; + ::javax::imageio::ImageWriter * writer; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$TranscoderFilter__ diff --git a/libjava/javax/imageio/ImageIO$WriterFormatFilter.h b/libjava/javax/imageio/ImageIO$WriterFormatFilter.h new file mode 100644 index 00000000000..5b71fda59c0 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$WriterFormatFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$WriterFormatFilter__ +#define __javax_imageio_ImageIO$WriterFormatFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$WriterFormatFilter; + } + } +} + +class javax::imageio::ImageIO$WriterFormatFilter : public ::java::lang::Object +{ + +public: + ImageIO$WriterFormatFilter(::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) formatName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$WriterFormatFilter__ diff --git a/libjava/javax/imageio/ImageIO$WriterMIMETypeFilter.h b/libjava/javax/imageio/ImageIO$WriterMIMETypeFilter.h new file mode 100644 index 00000000000..fc35a0d38ee --- /dev/null +++ b/libjava/javax/imageio/ImageIO$WriterMIMETypeFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$WriterMIMETypeFilter__ +#define __javax_imageio_ImageIO$WriterMIMETypeFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$WriterMIMETypeFilter; + } + } +} + +class javax::imageio::ImageIO$WriterMIMETypeFilter : public ::java::lang::Object +{ + +public: + ImageIO$WriterMIMETypeFilter(::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) MIMEType; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$WriterMIMETypeFilter__ diff --git a/libjava/javax/imageio/ImageIO$WriterObjectFilter.h b/libjava/javax/imageio/ImageIO$WriterObjectFilter.h new file mode 100644 index 00000000000..94500aed6f8 --- /dev/null +++ b/libjava/javax/imageio/ImageIO$WriterObjectFilter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$WriterObjectFilter__ +#define __javax_imageio_ImageIO$WriterObjectFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$WriterObjectFilter; + class ImageTypeSpecifier; + } + } +} + +class javax::imageio::ImageIO$WriterObjectFilter : public ::java::lang::Object +{ + +public: + ImageIO$WriterObjectFilter(::javax::imageio::ImageTypeSpecifier *, ::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::javax::imageio::ImageTypeSpecifier * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::lang::String * formatName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$WriterObjectFilter__ diff --git a/libjava/javax/imageio/ImageIO$WriterSuffixFilter.h b/libjava/javax/imageio/ImageIO$WriterSuffixFilter.h new file mode 100644 index 00000000000..9fc513410ab --- /dev/null +++ b/libjava/javax/imageio/ImageIO$WriterSuffixFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO$WriterSuffixFilter__ +#define __javax_imageio_ImageIO$WriterSuffixFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageIO$WriterSuffixFilter; + } + } +} + +class javax::imageio::ImageIO$WriterSuffixFilter : public ::java::lang::Object +{ + +public: + ImageIO$WriterSuffixFilter(::java::lang::String *); + jboolean filter(::java::lang::Object *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fileSuffix; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO$WriterSuffixFilter__ diff --git a/libjava/javax/imageio/ImageIO.h b/libjava/javax/imageio/ImageIO.h new file mode 100644 index 00000000000..95309b7e7aa --- /dev/null +++ b/libjava/javax/imageio/ImageIO.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageIO__ +#define __javax_imageio_ImageIO__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + class RenderedImage; + } + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace imageio + { + class ImageIO; + class ImageReader; + class ImageTypeSpecifier; + class ImageWriter; + namespace spi + { + class IIORegistry; + class ServiceRegistry$Filter; + } + namespace stream + { + class ImageInputStream; + class ImageOutputStream; + } + } + } +} + +class javax::imageio::ImageIO : public ::java::lang::Object +{ + + ImageIO(); + static ::java::util::Iterator * getReadersByFilter(::java::lang::Class *, ::javax::imageio::spi::ServiceRegistry$Filter *, ::java::lang::Object *); + static ::java::util::Iterator * getWritersByFilter(::java::lang::Class *, ::javax::imageio::spi::ServiceRegistry$Filter *, ::java::lang::Object *); +public: + static ::java::io::File * getCacheDirectory(); + static ::java::util::Iterator * getImageReadersByFormatName(::java::lang::String *); + static ::java::util::Iterator * getImageReadersByMIMEType(::java::lang::String *); + static ::java::util::Iterator * getImageReadersBySuffix(::java::lang::String *); + static ::java::util::Iterator * getImageWritersByFormatName(::java::lang::String *); + static ::java::util::Iterator * getImageWritersByMIMEType(::java::lang::String *); + static ::java::util::Iterator * getImageWritersBySuffix(::java::lang::String *); + static JArray< ::java::lang::String * > * getReaderFormatNames(); + static JArray< ::java::lang::String * > * getReaderMIMETypes(); +private: + static ::javax::imageio::spi::IIORegistry * getRegistry(); +public: + static jboolean getUseCache(); + static JArray< ::java::lang::String * > * getWriterFormatNames(); + static JArray< ::java::lang::String * > * getWriterMIMETypes(); + static void scanForPlugins(); + static void setCacheDirectory(::java::io::File *); + static void setUseCache(jboolean); + static jboolean write(::java::awt::image::RenderedImage *, ::java::lang::String *, ::java::io::File *); + static jboolean write(::java::awt::image::RenderedImage *, ::java::lang::String *, ::java::io::OutputStream *); + static jboolean write(::java::awt::image::RenderedImage *, ::java::lang::String *, ::javax::imageio::stream::ImageOutputStream *); + static ::java::awt::image::BufferedImage * read(::javax::imageio::stream::ImageInputStream *); + static ::java::awt::image::BufferedImage * read(::java::net::URL *); + static ::java::awt::image::BufferedImage * read(::java::io::InputStream *); + static ::java::awt::image::BufferedImage * read(::java::io::File *); + static ::javax::imageio::stream::ImageInputStream * createImageInputStream(::java::lang::Object *); + static ::javax::imageio::stream::ImageOutputStream * createImageOutputStream(::java::lang::Object *); + static ::javax::imageio::ImageReader * getImageReader(::javax::imageio::ImageWriter *); + static ::java::util::Iterator * getImageReaders(::java::lang::Object *); + static ::java::util::Iterator * getImageWriters(::javax::imageio::ImageTypeSpecifier *, ::java::lang::String *); + static ::javax::imageio::ImageWriter * getImageWriter(::javax::imageio::ImageReader *); + static ::java::util::Iterator * getImageTranscoders(::javax::imageio::ImageReader *, ::javax::imageio::ImageWriter *); +private: + static ::java::io::File * cacheDirectory; + static jboolean useCache; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageIO__ diff --git a/libjava/javax/imageio/ImageReadParam.h b/libjava/javax/imageio/ImageReadParam.h new file mode 100644 index 00000000000..1e406ce705b --- /dev/null +++ b/libjava/javax/imageio/ImageReadParam.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageReadParam__ +#define __javax_imageio_ImageReadParam__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReadParam; + } + } +} + +class javax::imageio::ImageReadParam : public ::javax::imageio::IIOParam +{ + +public: + ImageReadParam(); + virtual jboolean canSetSourceRenderSize(); + virtual ::java::awt::image::BufferedImage * getDestination(); + virtual JArray< jint > * getDestinationBands(); + virtual jint getSourceMaxProgressivePass(); + virtual jint getSourceMinProgressivePass(); + virtual jint getSourceNumProgressivePasses(); + virtual ::java::awt::Dimension * getSourceRenderSize(); + virtual void setDestination(::java::awt::image::BufferedImage *); + virtual void setDestinationBands(JArray< jint > *); + virtual void setSourceProgressivePasses(jint, jint); + virtual void setSourceRenderSize(::java::awt::Dimension *); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::imageio::IIOParam)))) canSetSourceRenderSize__; + ::java::awt::image::BufferedImage * destination; + JArray< jint > * destinationBands; + jint minProgressivePass; + jint numProgressivePasses; + ::java::awt::Dimension * sourceRenderSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageReadParam__ diff --git a/libjava/javax/imageio/ImageReader.h b/libjava/javax/imageio/ImageReader.h new file mode 100644 index 00000000000..83c50759840 --- /dev/null +++ b/libjava/javax/imageio/ImageReader.h @@ -0,0 +1,166 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageReader__ +#define __javax_imageio_ImageReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace image + { + class BufferedImage; + class Raster; + class RenderedImage; + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageReadParam; + class ImageReader; + class ImageTypeSpecifier; + namespace event + { + class IIOReadProgressListener; + class IIOReadUpdateListener; + class IIOReadWarningListener; + } + namespace metadata + { + class IIOMetadata; + } + namespace spi + { + class ImageReaderSpi; + } + } + } +} + +class javax::imageio::ImageReader : public ::java::lang::Object +{ + +public: // actually protected + ImageReader(::javax::imageio::spi::ImageReaderSpi *); +public: + virtual void abort(); +public: // actually protected + virtual jboolean abortRequested(); +public: + virtual void addIIOReadProgressListener(::javax::imageio::event::IIOReadProgressListener *); + virtual void addIIOReadUpdateListener(::javax::imageio::event::IIOReadUpdateListener *); + virtual void addIIOReadWarningListener(::javax::imageio::event::IIOReadWarningListener *); + virtual jboolean canReadRaster(); +public: // actually protected + virtual void clearAbortRequest(); +public: + virtual void dispose(); + virtual jfloat getAspectRatio(jint); + virtual JArray< ::java::util::Locale * > * getAvailableLocales(); + virtual ::javax::imageio::ImageReadParam * getDefaultReadParam(); + virtual ::java::lang::String * getFormatName(); + virtual jint getHeight(jint) = 0; + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint) = 0; + virtual ::java::util::Iterator * getImageTypes(jint) = 0; + virtual void setInput(::java::lang::Object *, jboolean, jboolean); + virtual void setInput(::java::lang::Object *, jboolean); + virtual void setInput(::java::lang::Object *); + virtual ::java::lang::Object * getInput(); + virtual ::java::util::Locale * getLocale(); + virtual jint getNumImages(jboolean) = 0; + virtual jint getNumThumbnails(jint); + virtual ::javax::imageio::spi::ImageReaderSpi * getOriginatingProvider(); + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata() = 0; + virtual jint getThumbnailHeight(jint, jint); + virtual jint getThumbnailWidth(jint, jint); + virtual jint getTileGridXOffset(jint); + virtual jint getTileGridYOffset(jint); + virtual jint getTileHeight(jint); + virtual jint getTileWidth(jint); + virtual jint getWidth(jint) = 0; + virtual jboolean hasThumbnails(jint); + virtual jboolean isIgnoringMetadata(); + virtual jboolean isImageTiled(jint); + virtual jboolean isRandomAccessEasy(jint); + virtual jboolean isSeekForwardOnly(); +public: // actually protected + virtual void processImageComplete(); + virtual void processImageProgress(jfloat); + virtual void processImageStarted(jint); + virtual void processImageUpdate(::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual void processPassComplete(::java::awt::image::BufferedImage *); + virtual void processPassStarted(::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual void processReadAborted(); + virtual void processSequenceComplete(); + virtual void processSequenceStarted(jint); + virtual void processThumbnailComplete(); + virtual void processThumbnailPassComplete(::java::awt::image::BufferedImage *); + virtual void processThumbnailPassStarted(::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual void processThumbnailProgress(jfloat); + virtual void processThumbnailStarted(jint, jint); + virtual void processThumbnailUpdate(::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, JArray< jint > *); + virtual void processWarningOccurred(::java::lang::String *); + virtual void processWarningOccurred(::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *) = 0; + virtual jboolean readerSupportsThumbnails(); + virtual ::java::awt::image::Raster * readRaster(jint, ::javax::imageio::ImageReadParam *); + virtual ::java::awt::image::BufferedImage * readThumbnail(jint, jint); + virtual void removeAllIIOReadProgressListeners(); + virtual void removeAllIIOReadUpdateListeners(); + virtual void removeAllIIOReadWarningListeners(); + virtual void removeIIOReadProgressListener(::javax::imageio::event::IIOReadProgressListener *); + virtual void removeIIOReadUpdateListener(::javax::imageio::event::IIOReadUpdateListener *); + virtual void removeIIOReadWarningListener(::javax::imageio::event::IIOReadWarningListener *); + virtual void setLocale(::java::util::Locale *); +public: // actually protected + static void checkReadParamBandSettings(::javax::imageio::ImageReadParam *, jint, jint); + static void computeRegions(::javax::imageio::ImageReadParam *, jint, jint, ::java::awt::image::BufferedImage *, ::java::awt::Rectangle *, ::java::awt::Rectangle *); + static ::java::awt::image::BufferedImage * getDestination(::javax::imageio::ImageReadParam *, ::java::util::Iterator *, jint, jint); +public: + virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint, ::java::lang::String *, ::java::util::Set *); + virtual jint getMinIndex(); + virtual ::javax::imageio::ImageTypeSpecifier * getRawImageType(jint); +public: // actually protected + static ::java::awt::Rectangle * getSourceRegion(::javax::imageio::ImageReadParam *, jint, jint); +public: + virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata(::java::lang::String *, ::java::util::Set *); + virtual ::java::awt::image::BufferedImage * read(jint); + virtual ::javax::imageio::IIOImage * readAll(jint, ::javax::imageio::ImageReadParam *); + virtual ::java::util::Iterator * readAll(::java::util::Iterator *); + virtual ::java::awt::image::RenderedImage * readAsRenderedImage(jint, ::javax::imageio::ImageReadParam *); + virtual ::java::awt::image::BufferedImage * readTile(jint, jint, jint); + virtual ::java::awt::image::Raster * readTileRaster(jint, jint, jint); + virtual void reset(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) aborted; +public: // actually protected + JArray< ::java::util::Locale * > * availableLocales; + jboolean ignoreMetadata; + ::java::lang::Object * input; + ::java::util::Locale * locale; + jint minIndex; + ::javax::imageio::spi::ImageReaderSpi * originatingProvider; + ::java::util::List * progressListeners; + jboolean seekForwardOnly; + ::java::util::List * updateListeners; + ::java::util::List * warningListeners; + ::java::util::List * warningLocales; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageReader__ diff --git a/libjava/javax/imageio/ImageTranscoder.h b/libjava/javax/imageio/ImageTranscoder.h new file mode 100644 index 00000000000..b3661fdcef2 --- /dev/null +++ b/libjava/javax/imageio/ImageTranscoder.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageTranscoder__ +#define __javax_imageio_ImageTranscoder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageTranscoder; + class ImageTypeSpecifier; + class ImageWriteParam; + namespace metadata + { + class IIOMetadata; + } + } + } +} + +class javax::imageio::ImageTranscoder : public ::java::lang::Object +{ + +public: + virtual ::javax::imageio::metadata::IIOMetadata * convertImageMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *) = 0; + virtual ::javax::imageio::metadata::IIOMetadata * convertStreamMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageWriteParam *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_ImageTranscoder__ diff --git a/libjava/javax/imageio/ImageTypeSpecifier.h b/libjava/javax/imageio/ImageTypeSpecifier.h new file mode 100644 index 00000000000..c8a33638beb --- /dev/null +++ b/libjava/javax/imageio/ImageTypeSpecifier.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageTypeSpecifier__ +#define __javax_imageio_ImageTypeSpecifier__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace color + { + class ColorSpace; + } + namespace image + { + class BufferedImage; + class ColorModel; + class RenderedImage; + class SampleModel; + } + } + } + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + } + } +} + +class javax::imageio::ImageTypeSpecifier : public ::java::lang::Object +{ + +public: + ImageTypeSpecifier(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *); + ImageTypeSpecifier(::java::awt::image::RenderedImage *); + static ::javax::imageio::ImageTypeSpecifier * createBanded(::java::awt::color::ColorSpace *, JArray< jint > *, JArray< jint > *, jint, jboolean, jboolean); + virtual ::java::awt::image::BufferedImage * createBufferedImage(jint, jint); + static ::javax::imageio::ImageTypeSpecifier * createFromBufferedImageType(jint); + static ::javax::imageio::ImageTypeSpecifier * createFromRenderedImage(::java::awt::image::RenderedImage *); + static ::javax::imageio::ImageTypeSpecifier * createGrayscale(jint, jint, jboolean); + static ::javax::imageio::ImageTypeSpecifier * createGrayscale(jint, jint, jboolean, jboolean); + static ::javax::imageio::ImageTypeSpecifier * createIndexed(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, jint, jint); + static ::javax::imageio::ImageTypeSpecifier * createInterleaved(::java::awt::color::ColorSpace *, JArray< jint > *, jint, jboolean, jboolean); + static ::javax::imageio::ImageTypeSpecifier * createPacked(::java::awt::color::ColorSpace *, jint, jint, jint, jint, jint, jboolean); + virtual jint getBitsPerBand(jint); + virtual jint getBufferedImageType(); + virtual ::java::awt::image::SampleModel * getSampleModel(jint, jint); + virtual ::java::awt::image::ColorModel * getColorModel(); + virtual jint getNumBands(); + virtual jint getNumComponents(); + virtual ::java::awt::image::SampleModel * getSampleModel(); +public: // actually protected + ::java::awt::image::ColorModel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) colorModel; + ::java::awt::image::SampleModel * sampleModel; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageTypeSpecifier__ diff --git a/libjava/javax/imageio/ImageWriteParam.h b/libjava/javax/imageio/ImageWriteParam.h new file mode 100644 index 00000000000..100a3e5f962 --- /dev/null +++ b/libjava/javax/imageio/ImageWriteParam.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageWriteParam__ +#define __javax_imageio_ImageWriteParam__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace imageio + { + class ImageWriteParam; + } + } +} + +class javax::imageio::ImageWriteParam : public ::javax::imageio::IIOParam +{ + +public: // actually protected + ImageWriteParam(); +public: + ImageWriteParam(::java::util::Locale *); + virtual jfloat getBitRate(jfloat); +private: + void checkSupportsCompression(); + void checkNotExplicitCompression(); + void checkCompressionTypesSet(); + void checkSupportsProgressiveEncoding(); + void checkSupportsTiling(); + void checkNotExplicitTiling(); + void checkTilingInitialized(); + void checkMode(jint); +public: + virtual jboolean canOffsetTiles(); + virtual jboolean canWriteCompressed(); + virtual jboolean canWriteProgressive(); + virtual jboolean canWriteTiles(); + virtual jint getCompressionMode(); + virtual jfloat getCompressionQuality(); + virtual JArray< ::java::lang::String * > * getCompressionQualityDescriptions(); + virtual JArray< jfloat > * getCompressionQualityValues(); + virtual ::java::lang::String * getCompressionType(); + virtual JArray< ::java::lang::String * > * getCompressionTypes(); + virtual ::java::util::Locale * getLocale(); + virtual ::java::lang::String * getLocalizedCompressionTypeName(); + virtual JArray< ::java::awt::Dimension * > * getPreferredTileSizes(); + virtual jint getProgressiveMode(); + virtual jint getTileGridXOffset(); + virtual jint getTileGridYOffset(); + virtual jint getTileHeight(); + virtual jint getTileWidth(); + virtual jint getTilingMode(); + virtual jboolean isCompressionLossless(); + virtual void setCompressionMode(jint); + virtual void setCompressionQuality(jfloat); + virtual void setCompressionType(::java::lang::String *); + virtual void setProgressiveMode(jint); + virtual void setTiling(jint, jint, jint, jint); + virtual void setTilingMode(jint); + virtual void unsetCompression(); + virtual void unsetTiling(); + static const jint MODE_DISABLED = 0; + static const jint MODE_DEFAULT = 1; + static const jint MODE_EXPLICIT = 2; + static const jint MODE_COPY_FROM_METADATA = 3; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::imageio::IIOParam)))) canOffsetTiles__; + jboolean canWriteCompressed__; + jboolean canWriteProgressive__; + jboolean canWriteTiles__; + jint compressionMode; + jfloat compressionQuality; + ::java::lang::String * compressionType; + JArray< ::java::lang::String * > * compressionTypes; + ::java::util::Locale * locale; + JArray< ::java::awt::Dimension * > * preferredTileSizes; + jint progressiveMode; + jint tileGridXOffset; + jint tileGridYOffset; + jint tileHeight; + jint tileWidth; + jint tilingMode; + jboolean tilingSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageWriteParam__ diff --git a/libjava/javax/imageio/ImageWriter.h b/libjava/javax/imageio/ImageWriter.h new file mode 100644 index 00000000000..db14cbdde5d --- /dev/null +++ b/libjava/javax/imageio/ImageWriter.h @@ -0,0 +1,140 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_ImageWriter__ +#define __javax_imageio_ImageWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + namespace image + { + class Raster; + class RenderedImage; + } + } + } + namespace javax + { + namespace imageio + { + class IIOImage; + class ImageTypeSpecifier; + class ImageWriteParam; + class ImageWriter; + namespace event + { + class IIOWriteProgressListener; + class IIOWriteWarningListener; + } + namespace metadata + { + class IIOMetadata; + } + namespace spi + { + class ImageWriterSpi; + } + } + } +} + +class javax::imageio::ImageWriter : public ::java::lang::Object +{ + +public: // actually protected + ImageWriter(::javax::imageio::spi::ImageWriterSpi *); +private: + void checkOutputSet(); +public: + virtual void abort(); +public: // actually protected + virtual jboolean abortRequested(); +public: + virtual void addIIOWriteProgressListener(::javax::imageio::event::IIOWriteProgressListener *); + virtual void addIIOWriteWarningListener(::javax::imageio::event::IIOWriteWarningListener *); + virtual jboolean canInsertEmpty(jint); + virtual jboolean canInsertImage(jint); + virtual jboolean canRemoveImage(jint); + virtual jboolean canReplaceImageMetadata(jint); + virtual jboolean canReplacePixels(jint); + virtual jboolean canReplaceStreamMetadata(); + virtual jboolean canWriteEmpty(); + virtual jboolean canWriteRasters(); + virtual jboolean canWriteSequence(); +public: // actually protected + virtual void clearAbortRequest(); +public: + virtual ::javax::imageio::metadata::IIOMetadata * convertImageMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *) = 0; + virtual ::javax::imageio::metadata::IIOMetadata * convertStreamMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageWriteParam *) = 0; + virtual void dispose(); + virtual JArray< ::java::util::Locale * > * getAvailableLocales(); + virtual ::javax::imageio::metadata::IIOMetadata * getDefaultImageMetadata(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *) = 0; + virtual ::javax::imageio::metadata::IIOMetadata * getDefaultStreamMetadata(::javax::imageio::ImageWriteParam *) = 0; + virtual ::javax::imageio::ImageWriteParam * getDefaultWriteParam(); + virtual ::java::util::Locale * getLocale(); + virtual jint getNumThumbnailsSupported(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::metadata::IIOMetadata *); + virtual ::javax::imageio::spi::ImageWriterSpi * getOriginatingProvider(); + virtual ::java::lang::Object * getOutput(); + virtual JArray< ::java::awt::Dimension * > * getPreferredThumbnailSizes(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::metadata::IIOMetadata *); +public: // actually protected + virtual void processImageComplete(); + virtual void processImageProgress(jfloat); + virtual void processImageStarted(jint); + virtual void processThumbnailComplete(); + virtual void processThumbnailProgress(jfloat); + virtual void processThumbnailStarted(jint, jint); + virtual void processWarningOccurred(jint, ::java::lang::String *); + virtual void processWarningOccurred(jint, ::java::lang::String *, ::java::lang::String *); + virtual void processWriteAborted(); +public: + virtual void removeAllIIOWriteProgressListeners(); + virtual void removeAllIIOWriteWarningListeners(); + virtual void removeIIOWriteProgressListener(::javax::imageio::event::IIOWriteProgressListener *); + virtual void removeIIOWriteWarningListener(::javax::imageio::event::IIOWriteWarningListener *); + virtual void reset(); + virtual void setLocale(::java::util::Locale *); + virtual void setOutput(::java::lang::Object *); + virtual void write(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *) = 0; + virtual void endInsertEmpty(); + virtual void endReplacePixels(); + virtual void endWriteEmpty(); + virtual void endWriteSequence(); + virtual void prepareInsertEmpty(jint, ::javax::imageio::ImageTypeSpecifier *, jint, jint, ::javax::imageio::metadata::IIOMetadata *, ::java::util::List *, ::javax::imageio::ImageWriteParam *); + virtual void prepareReplacePixels(jint, ::java::awt::Rectangle *); + virtual void prepareWriteEmpty(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, jint, jint, ::javax::imageio::metadata::IIOMetadata *, ::java::util::List *, ::javax::imageio::ImageWriteParam *); + virtual void prepareWriteSequence(::javax::imageio::metadata::IIOMetadata *); + virtual void removeImage(jint); + virtual void replaceImageMetadata(jint, ::javax::imageio::metadata::IIOMetadata *); + virtual void replacePixels(::java::awt::image::RenderedImage *, ::javax::imageio::ImageWriteParam *); + virtual void replacePixels(::java::awt::image::Raster *, ::javax::imageio::ImageWriteParam *); + virtual void replaceStreamMetadata(::javax::imageio::metadata::IIOMetadata *); + virtual void write(::java::awt::image::RenderedImage *); + virtual void write(::javax::imageio::IIOImage *); + virtual void writeInsert(jint, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); + virtual void writeToSequence(::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) aborted; +public: // actually protected + JArray< ::java::util::Locale * > * availableLocales; + ::java::util::Locale * locale; + ::javax::imageio::spi::ImageWriterSpi * originatingProvider; + ::java::lang::Object * output; + ::java::util::List * progressListeners; + ::java::util::List * warningListeners; + ::java::util::List * warningLocales; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_ImageWriter__ diff --git a/libjava/javax/imageio/event/IIOReadProgressListener.h b/libjava/javax/imageio/event/IIOReadProgressListener.h new file mode 100644 index 00000000000..3bad67116b7 --- /dev/null +++ b/libjava/javax/imageio/event/IIOReadProgressListener.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_event_IIOReadProgressListener__ +#define __javax_imageio_event_IIOReadProgressListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageReader; + namespace event + { + class IIOReadProgressListener; + } + } + } +} + +class javax::imageio::event::IIOReadProgressListener : public ::java::lang::Object +{ + +public: + virtual void imageComplete(::javax::imageio::ImageReader *) = 0; + virtual void imageProgress(::javax::imageio::ImageReader *, jfloat) = 0; + virtual void imageStarted(::javax::imageio::ImageReader *, jint) = 0; + virtual void readAborted(::javax::imageio::ImageReader *) = 0; + virtual void sequenceComplete(::javax::imageio::ImageReader *) = 0; + virtual void sequenceStarted(::javax::imageio::ImageReader *, jint) = 0; + virtual void thumbnailComplete(::javax::imageio::ImageReader *) = 0; + virtual void thumbnailProgress(::javax::imageio::ImageReader *, jfloat) = 0; + virtual void thumbnailStarted(::javax::imageio::ImageReader *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_event_IIOReadProgressListener__ diff --git a/libjava/javax/imageio/event/IIOReadUpdateListener.h b/libjava/javax/imageio/event/IIOReadUpdateListener.h new file mode 100644 index 00000000000..86c28ec700b --- /dev/null +++ b/libjava/javax/imageio/event/IIOReadUpdateListener.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_event_IIOReadUpdateListener__ +#define __javax_imageio_event_IIOReadUpdateListener__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace imageio + { + class ImageReader; + namespace event + { + class IIOReadUpdateListener; + } + } + } +} + +class javax::imageio::event::IIOReadUpdateListener : public ::java::lang::Object +{ + +public: + virtual void imageUpdate(::javax::imageio::ImageReader *, ::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, JArray< jint > *) = 0; + virtual void passComplete(::javax::imageio::ImageReader *, ::java::awt::image::BufferedImage *) = 0; + virtual void passStarted(::javax::imageio::ImageReader *, ::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, jint, JArray< jint > *) = 0; + virtual void thumbnailPassComplete(::javax::imageio::ImageReader *, ::java::awt::image::BufferedImage *) = 0; + virtual void thumbnailPassStarted(::javax::imageio::ImageReader *, ::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, jint, JArray< jint > *) = 0; + virtual void thumbnailUpdate(::javax::imageio::ImageReader *, ::java::awt::image::BufferedImage *, jint, jint, jint, jint, jint, jint, JArray< jint > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_event_IIOReadUpdateListener__ diff --git a/libjava/javax/imageio/event/IIOReadWarningListener.h b/libjava/javax/imageio/event/IIOReadWarningListener.h new file mode 100644 index 00000000000..c74cf41d719 --- /dev/null +++ b/libjava/javax/imageio/event/IIOReadWarningListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_event_IIOReadWarningListener__ +#define __javax_imageio_event_IIOReadWarningListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageReader; + namespace event + { + class IIOReadWarningListener; + } + } + } +} + +class javax::imageio::event::IIOReadWarningListener : public ::java::lang::Object +{ + +public: + virtual void warningOccurred(::javax::imageio::ImageReader *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_event_IIOReadWarningListener__ diff --git a/libjava/javax/imageio/event/IIOWriteProgressListener.h b/libjava/javax/imageio/event/IIOWriteProgressListener.h new file mode 100644 index 00000000000..bb140af3565 --- /dev/null +++ b/libjava/javax/imageio/event/IIOWriteProgressListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_event_IIOWriteProgressListener__ +#define __javax_imageio_event_IIOWriteProgressListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageWriter; + namespace event + { + class IIOWriteProgressListener; + } + } + } +} + +class javax::imageio::event::IIOWriteProgressListener : public ::java::lang::Object +{ + +public: + virtual void imageComplete(::javax::imageio::ImageWriter *) = 0; + virtual void imageProgress(::javax::imageio::ImageWriter *, jfloat) = 0; + virtual void imageStarted(::javax::imageio::ImageWriter *, jint) = 0; + virtual void thumbnailComplete(::javax::imageio::ImageWriter *) = 0; + virtual void thumbnailProgress(::javax::imageio::ImageWriter *, jfloat) = 0; + virtual void thumbnailStarted(::javax::imageio::ImageWriter *, jint, jint) = 0; + virtual void writeAborted(::javax::imageio::ImageWriter *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_event_IIOWriteProgressListener__ diff --git a/libjava/javax/imageio/event/IIOWriteWarningListener.h b/libjava/javax/imageio/event/IIOWriteWarningListener.h new file mode 100644 index 00000000000..220bf2321e5 --- /dev/null +++ b/libjava/javax/imageio/event/IIOWriteWarningListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_event_IIOWriteWarningListener__ +#define __javax_imageio_event_IIOWriteWarningListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageWriter; + namespace event + { + class IIOWriteWarningListener; + } + } + } +} + +class javax::imageio::event::IIOWriteWarningListener : public ::java::lang::Object +{ + +public: + virtual void warningOccurred(::javax::imageio::ImageWriter *, jint, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_event_IIOWriteWarningListener__ diff --git a/libjava/javax/imageio/metadata/IIOInvalidTreeException.h b/libjava/javax/imageio/metadata/IIOInvalidTreeException.h new file mode 100644 index 00000000000..9980defda65 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOInvalidTreeException.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOInvalidTreeException__ +#define __javax_imageio_metadata_IIOInvalidTreeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOInvalidTreeException; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::imageio::metadata::IIOInvalidTreeException : public ::javax::imageio::IIOException +{ + +public: + IIOInvalidTreeException(::java::lang::String *, ::org::w3c::dom::Node *); + IIOInvalidTreeException(::java::lang::String *, ::java::lang::Throwable *, ::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * getOffendingNode(); +private: + static const jlong serialVersionUID = -1314083172544132777LL; +public: // actually protected + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::javax::imageio::IIOException)))) offendingNode; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOInvalidTreeException__ diff --git a/libjava/javax/imageio/metadata/IIOMetadata.h b/libjava/javax/imageio/metadata/IIOMetadata.h new file mode 100644 index 00000000000..33d5a61646f --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadata.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadata__ +#define __javax_imageio_metadata_IIOMetadata__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadata; + class IIOMetadataController; + class IIOMetadataFormat; + class IIOMetadataNode; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::imageio::metadata::IIOMetadata : public ::java::lang::Object +{ + +public: // actually protected + IIOMetadata(); + IIOMetadata(jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *); +public: + virtual jboolean activateController(); + virtual ::javax::imageio::metadata::IIOMetadataController * getController(); + virtual ::javax::imageio::metadata::IIOMetadataController * getDefaultController(); + virtual JArray< ::java::lang::String * > * getExtraMetadataFormatNames(); + virtual ::javax::imageio::metadata::IIOMetadataFormat * getMetadataFormat(::java::lang::String *); + virtual JArray< ::java::lang::String * > * getMetadataFormatNames(); + virtual ::java::lang::String * getNativeMetadataFormatName(); + virtual jboolean hasController(); + virtual jboolean isReadOnly() = 0; + virtual jboolean isStandardMetadataFormatSupported(); + virtual void reset() = 0; + virtual void setController(::javax::imageio::metadata::IIOMetadataController *); + virtual ::org::w3c::dom::Node * getAsTree(::java::lang::String *) = 0; +public: // actually protected + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardChromaNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardCompressionNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardDataNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardDimensionNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardDocumentNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardTextNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardTileNode(); + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardTransparencyNode(); +private: + void appendChild(::javax::imageio::metadata::IIOMetadataNode *, ::javax::imageio::metadata::IIOMetadataNode *); +public: // actually protected + virtual ::javax::imageio::metadata::IIOMetadataNode * getStandardTree(); +public: + virtual void mergeTree(::java::lang::String *, ::org::w3c::dom::Node *) = 0; + virtual void setFromTree(::java::lang::String *, ::org::w3c::dom::Node *); +public: // actually protected + ::javax::imageio::metadata::IIOMetadataController * __attribute__((aligned(__alignof__( ::java::lang::Object)))) controller; + ::javax::imageio::metadata::IIOMetadataController * defaultController; + JArray< ::java::lang::String * > * extraMetadataFormatClassNames; + JArray< ::java::lang::String * > * extraMetadataFormatNames; + ::java::lang::String * nativeMetadataFormatClassName; + ::java::lang::String * nativeMetadataFormatName; + jboolean standardFormatSupported; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadata__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataController.h b/libjava/javax/imageio/metadata/IIOMetadataController.h new file mode 100644 index 00000000000..e970191d67e --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataController.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataController__ +#define __javax_imageio_metadata_IIOMetadataController__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadata; + class IIOMetadataController; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataController : public ::java::lang::Object +{ + +public: + virtual jboolean activate(::javax::imageio::metadata::IIOMetadata *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_metadata_IIOMetadataController__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormat.h b/libjava/javax/imageio/metadata/IIOMetadataFormat.h new file mode 100644 index 00000000000..0744efbfcae --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormat.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormat__ +#define __javax_imageio_metadata_IIOMetadataFormat__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + namespace metadata + { + class IIOMetadataFormat; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormat : public ::java::lang::Object +{ + +public: + virtual jboolean canNodeAppear(::java::lang::String *, ::javax::imageio::ImageTypeSpecifier *) = 0; + virtual jint getAttributeDataType(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeDefaultValue(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeDescription(::java::lang::String *, ::java::lang::String *, ::java::util::Locale *) = 0; + virtual JArray< ::java::lang::String * > * getAttributeEnumerations(::java::lang::String *, ::java::lang::String *) = 0; + virtual jint getAttributeListMaxLength(::java::lang::String *, ::java::lang::String *) = 0; + virtual jint getAttributeListMinLength(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeMaxValue(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeMinValue(::java::lang::String *, ::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getAttributeNames(::java::lang::String *) = 0; + virtual jint getAttributeValueType(::java::lang::String *, ::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getChildNames(::java::lang::String *) = 0; + virtual jint getChildPolicy(::java::lang::String *) = 0; + virtual ::java::lang::String * getElementDescription(::java::lang::String *, ::java::util::Locale *) = 0; + virtual jint getElementMaxChildren(::java::lang::String *) = 0; + virtual jint getElementMinChildren(::java::lang::String *) = 0; + virtual jint getObjectArrayMaxLength(::java::lang::String *) = 0; + virtual jint getObjectArrayMinLength(::java::lang::String *) = 0; + virtual ::java::lang::Class * getObjectClass(::java::lang::String *) = 0; + virtual ::java::lang::Object * getObjectDefaultValue(::java::lang::String *) = 0; + virtual JArray< ::java::lang::Object * > * getObjectEnumerations(::java::lang::String *) = 0; + virtual ::java::lang::Comparable * getObjectMaxValue(::java::lang::String *) = 0; + virtual ::java::lang::Comparable * getObjectMinValue(::java::lang::String *) = 0; + virtual jint getObjectValueType(::java::lang::String *) = 0; + virtual ::java::lang::String * getRootName() = 0; + virtual jboolean isAttributeRequired(::java::lang::String *, ::java::lang::String *) = 0; + static const jint CHILD_POLICY_ALL = 1; + static const jint CHILD_POLICY_CHOICE = 3; + static const jint CHILD_POLICY_EMPTY = 0; + static const jint CHILD_POLICY_MAX = 5; + static const jint CHILD_POLICY_REPEAT = 5; + static const jint CHILD_POLICY_SEQUENCE = 4; + static const jint CHILD_POLICY_SOME = 2; + static const jint DATATYPE_BOOLEAN = 1; + static const jint DATATYPE_DOUBLE = 4; + static const jint DATATYPE_FLOAT = 3; + static const jint DATATYPE_INTEGER = 2; + static const jint DATATYPE_STRING = 0; + static const jint VALUE_ARBITRARY = 1; + static const jint VALUE_ENUMERATION = 16; + static const jint VALUE_LIST = 32; + static const jint VALUE_NONE = 0; + static const jint VALUE_RANGE = 2; + static const jint VALUE_RANGE_MAX_INCLUSIVE = 10; + static const jint VALUE_RANGE_MAX_INCLUSIVE_MASK = 8; + static const jint VALUE_RANGE_MIN_INCLUSIVE = 6; + static const jint VALUE_RANGE_MIN_INCLUSIVE_MASK = 4; + static const jint VALUE_RANGE_MIN_MAX_INCLUSIVE = 14; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_metadata_IIOMetadataFormat__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$1.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$1.h new file mode 100644 index 00000000000..2afcdb019e7 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$1__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + namespace metadata + { + class IIOMetadataFormatImpl$1; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$1 : public ::javax::imageio::metadata::IIOMetadataFormatImpl +{ + +public: // actually package-private + IIOMetadataFormatImpl$1(::java::lang::String *, jint); +public: + jboolean canNodeAppear(::java::lang::String *, ::javax::imageio::ImageTypeSpecifier *); + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$1__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.h new file mode 100644 index 00000000000..e1f5f93a413 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttr.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttr__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttr__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl$IIOMetadataNodeAttr; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + class TypeInfo; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr : public ::javax::imageio::metadata::IIOMetadataNode +{ + +public: + IIOMetadataFormatImpl$IIOMetadataNodeAttr(::org::w3c::dom::Element *, ::java::lang::String *, ::java::lang::String *); + IIOMetadataFormatImpl$IIOMetadataNodeAttr(::org::w3c::dom::Element *, ::java::lang::String *, jint, jboolean, ::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::org::w3c::dom::Element * getOwnerElement(); + virtual jint getDataType(); + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo(); + virtual jboolean getSpecified(); + virtual ::java::lang::String * getValue(); + virtual jboolean isId(); + virtual void setValue(::java::lang::String *); + virtual jboolean isRequired(); +public: // actually protected + ::org::w3c::dom::Element * __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataNode)))) owner; + ::java::lang::String * name; + jint dataType; + jboolean required; + ::java::lang::String * defaultValue; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttr__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.h new file mode 100644 index 00000000000..4a1a76e76bc --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded : public ::javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr +{ + +public: + IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::String *, jint, jboolean, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + virtual ::java::lang::String * getMinValue(); + virtual ::java::lang::String * getMaxValue(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr)))) minValue; + ::java::lang::String * maxValue; + jboolean minInclusive; + jboolean maxInclusive; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrBounded__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.h new file mode 100644 index 00000000000..a81c5628941 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated : public ::javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr +{ + +public: + IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::String *, jint, jboolean, ::java::lang::String *, ::java::util::List *); + virtual JArray< ::java::lang::Object * > * getEnumerations(); +public: // actually protected + ::java::util::List * __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr)))) enumeratedValues; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrEnumerated__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.h new file mode 100644 index 00000000000..fd5b373cb01 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$IIOMetadataNodeAttrList.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrList__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrList__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$IIOMetadataNodeAttrList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttrList : public ::javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr +{ + +public: + IIOMetadataFormatImpl$IIOMetadataNodeAttrList(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::String *, jint, jboolean, jint, jint); + virtual jint getListMinLength(); + virtual jint getListMaxLength(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataFormatImpl$IIOMetadataNodeAttr)))) listMinLength; + jint listMaxLength; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$IIOMetadataNodeAttrList__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.h new file mode 100644 index 00000000000..fabfef49165 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObject.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObject__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$NodeObject; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject : public ::java::lang::Object +{ + +public: + IIOMetadataFormatImpl$NodeObject(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::Class *, jboolean, ::java::lang::Object *); + virtual jint getValueType(); + virtual ::java::lang::Class * getClassType(); + virtual ::org::w3c::dom::Element * getOwnerElement(); + virtual ::java::lang::Object * getDefaultValue(); + virtual jboolean isRequired(); +public: // actually protected + ::org::w3c::dom::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) owner; + ::java::lang::Class * classType; + jboolean required; + ::java::lang::Object * defaultValue; + jint valueType; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObject__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.h new file mode 100644 index 00000000000..4e9b819ed5b --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectArray.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectArray__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectArray__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$NodeObjectArray; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$NodeObjectArray : public ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject +{ + +public: + IIOMetadataFormatImpl$NodeObjectArray(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::Class *, jint, jint); + virtual ::java::lang::Comparable * getArrayMinLength(); + virtual ::java::lang::Comparable * getArrayMaxLength(); +public: // actually protected + ::java::lang::Integer * __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject)))) arrayMinLength; + ::java::lang::Integer * arrayMaxLength; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectArray__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.h new file mode 100644 index 00000000000..1605d23deb9 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectBounded.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectBounded__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectBounded__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$NodeObjectBounded; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$NodeObjectBounded : public ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject +{ + +public: + IIOMetadataFormatImpl$NodeObjectBounded(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::Class *, ::java::lang::Object *, ::java::lang::Comparable *, ::java::lang::Comparable *, jboolean, jboolean); + virtual ::java::lang::Comparable * getMinValue(); + virtual ::java::lang::Comparable * getMaxValue(); +public: // actually protected + ::java::lang::Comparable * __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject)))) minValue; + ::java::lang::Comparable * maxValue; + jboolean minInclusive; + jboolean maxInclusive; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectBounded__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.h new file mode 100644 index 00000000000..0dabd83e265 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl$NodeObjectEnumerated.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectEnumerated__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectEnumerated__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$NodeObjectEnumerated; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl$NodeObjectEnumerated : public ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject +{ + +public: + IIOMetadataFormatImpl$NodeObjectEnumerated(::javax::imageio::metadata::IIOMetadataFormatImpl *, ::org::w3c::dom::Element *, ::java::lang::Class *, jboolean, ::java::lang::Object *, ::java::util::List *); + virtual JArray< ::java::lang::Object * > * getEnumerations(); +public: // actually protected + ::java::util::List * __attribute__((aligned(__alignof__( ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject)))) enumeratedValues; +public: // actually package-private + ::javax::imageio::metadata::IIOMetadataFormatImpl * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl$NodeObjectEnumerated__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataFormatImpl.h b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl.h new file mode 100644 index 00000000000..b47defa8474 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataFormatImpl.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataFormatImpl__ +#define __javax_imageio_metadata_IIOMetadataFormatImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + namespace metadata + { + class IIOMetadataFormat; + class IIOMetadataFormatImpl; + class IIOMetadataFormatImpl$NodeObject; + class IIOMetadataNode; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataFormatImpl : public ::java::lang::Object +{ + +public: + IIOMetadataFormatImpl(::java::lang::String *, jint); + IIOMetadataFormatImpl(::java::lang::String *, jint, jint); +public: // actually protected + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, jint, jboolean, ::java::lang::String *); + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, jint, jboolean, ::java::lang::String *, ::java::util::List *); + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, jint, jboolean, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, jint, jboolean, jint, jint); + virtual void addBooleanAttribute(::java::lang::String *, ::java::lang::String *, jboolean, jboolean); + virtual void addChildElement(::java::lang::String *, ::java::lang::String *); + virtual void addElement(::java::lang::String *, ::java::lang::String *, jint); + virtual void addElement(::java::lang::String *, ::java::lang::String *, jint, jint); +private: + void addNodeObject(::javax::imageio::metadata::IIOMetadataNode *, ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject *); + ::javax::imageio::metadata::IIOMetadataFormatImpl$NodeObject * getNodeObject(::javax::imageio::metadata::IIOMetadataNode *); + void removeNodeObject(::javax::imageio::metadata::IIOMetadataNode *); +public: // actually protected + virtual void addObjectValue(::java::lang::String *, ::java::lang::Class *, jboolean, ::java::lang::Object *); + virtual void addObjectValue(::java::lang::String *, ::java::lang::Class *, jboolean, ::java::lang::Object *, ::java::util::List *); + virtual void addObjectValue(::java::lang::String *, ::java::lang::Class *, ::java::lang::Object *, ::java::lang::Comparable *, ::java::lang::Comparable *, jboolean, jboolean); + virtual void addObjectValue(::java::lang::String *, ::java::lang::Class *, jint, jint); +public: + virtual ::java::lang::String * getRootName(); +public: // actually protected + virtual ::java::lang::String * getResourceBaseName(); +public: + static ::javax::imageio::metadata::IIOMetadataFormat * getStandardFormatInstance(); + virtual jboolean canNodeAppear(::java::lang::String *, ::javax::imageio::ImageTypeSpecifier *) = 0; +public: // actually protected + virtual void removeAttribute(::java::lang::String *, ::java::lang::String *); + virtual void removeElement(::java::lang::String *); + virtual void removeObjectValue(::java::lang::String *); + virtual void setResourceBaseName(::java::lang::String *); +public: + virtual jint getAttributeDataType(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAttributeDefaultValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAttributeDescription(::java::lang::String *, ::java::lang::String *, ::java::util::Locale *); + virtual JArray< ::java::lang::String * > * getAttributeEnumerations(::java::lang::String *, ::java::lang::String *); + virtual jint getAttributeListMaxLength(::java::lang::String *, ::java::lang::String *); + virtual jint getAttributeListMinLength(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAttributeMaxValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAttributeMinValue(::java::lang::String *, ::java::lang::String *); + virtual JArray< ::java::lang::String * > * getAttributeNames(::java::lang::String *); + virtual jint getAttributeValueType(::java::lang::String *, ::java::lang::String *); + virtual JArray< ::java::lang::String * > * getChildNames(::java::lang::String *); + virtual jint getChildPolicy(::java::lang::String *); +private: + ::java::lang::String * getDescription(::java::lang::String *, ::java::util::Locale *); +public: + virtual ::java::lang::String * getElementDescription(::java::lang::String *, ::java::util::Locale *); + virtual jint getElementMaxChildren(::java::lang::String *); + virtual jint getElementMinChildren(::java::lang::String *); + virtual jint getObjectArrayMaxLength(::java::lang::String *); + virtual jint getObjectArrayMinLength(::java::lang::String *); + virtual ::java::lang::Class * getObjectClass(::java::lang::String *); + virtual ::java::lang::Object * getObjectDefaultValue(::java::lang::String *); + virtual JArray< ::java::lang::Object * > * getObjectEnumerations(::java::lang::String *); + virtual ::java::lang::Comparable * getObjectMaxValue(::java::lang::String *); + virtual ::java::lang::Comparable * getObjectMinValue(::java::lang::String *); + virtual jint getObjectValueType(::java::lang::String *); + virtual jboolean isAttributeRequired(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * standardMetadataFormatName; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rootName; + ::java::util::Map * nodes; + ::java::util::Map * childPolicies; + ::java::util::Map * childRanges; + ::java::lang::String * resourceBaseName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataFormatImpl__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.h b/libjava/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.h new file mode 100644 index 00000000000..9026a27d65f --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataNode$IIONamedNodeMap.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataNode$IIONamedNodeMap__ +#define __javax_imageio_metadata_IIOMetadataNode$IIONamedNodeMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataNode; + class IIOMetadataNode$IIONamedNodeMap; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataNode$IIONamedNodeMap : public ::java::lang::Object +{ + +public: + IIOMetadataNode$IIONamedNodeMap(::javax::imageio::metadata::IIOMetadataNode *, ::java::util::HashMap *); + virtual ::org::w3c::dom::Node * getNamedItem(::java::lang::String *); + virtual ::org::w3c::dom::Node * setNamedItem(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * removeNamedItem(::java::lang::String *); + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); + virtual ::org::w3c::dom::Node * getNamedItemNS(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Node * setNamedItemNS(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * removeNamedItemNS(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrs; + ::javax::imageio::metadata::IIOMetadataNode * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataNode$IIONamedNodeMap__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataNode$IIONodeList.h b/libjava/javax/imageio/metadata/IIOMetadataNode$IIONodeList.h new file mode 100644 index 00000000000..581abd9cab8 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataNode$IIONodeList.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataNode$IIONodeList__ +#define __javax_imageio_metadata_IIOMetadataNode$IIONodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataNode; + class IIOMetadataNode$IIONodeList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataNode$IIONodeList : public ::java::lang::Object +{ + + IIOMetadataNode$IIONodeList(::javax::imageio::metadata::IIOMetadataNode *); +public: + virtual ::org::w3c::dom::Node * item(jint); + virtual jint getLength(); +public: // actually package-private + IIOMetadataNode$IIONodeList(::javax::imageio::metadata::IIOMetadataNode *, ::javax::imageio::metadata::IIOMetadataNode$IIONodeList *); + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) children; + ::javax::imageio::metadata::IIOMetadataNode * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataNode$IIONodeList__ diff --git a/libjava/javax/imageio/metadata/IIOMetadataNode.h b/libjava/javax/imageio/metadata/IIOMetadataNode.h new file mode 100644 index 00000000000..bf2c50c5381 --- /dev/null +++ b/libjava/javax/imageio/metadata/IIOMetadataNode.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_metadata_IIOMetadataNode__ +#define __javax_imageio_metadata_IIOMetadataNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataNode; + class IIOMetadataNode$IIONodeList; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + } + } + } +} + +class javax::imageio::metadata::IIOMetadataNode : public ::java::lang::Object +{ + +public: + IIOMetadataNode(); + IIOMetadataNode(::java::lang::String *); + virtual ::java::lang::Object * getUserObject(); + virtual void setUserObject(::java::lang::Object *); + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *); + virtual ::java::lang::String * getAttribute(::java::lang::String *); + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *); + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getBaseURI(); +private: + void getElementsRecurse(::javax::imageio::metadata::IIOMetadataNode$IIONodeList *, ::java::lang::String *); +public: + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *); + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getTagName(); + virtual jboolean hasAttribute(::java::lang::String *); + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual void removeAttribute(::java::lang::String *); + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *); + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *); + virtual void setAttribute(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *); + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *); + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual jint getLength(); + virtual ::org::w3c::dom::Node * item(jint); + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * cloneNode(jboolean); + virtual ::org::w3c::dom::NamedNodeMap * getAttributes(); + virtual ::org::w3c::dom::NodeList * getChildNodes(); + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *); + virtual ::org::w3c::dom::Node * getFirstChild(); + virtual ::org::w3c::dom::Node * getLastChild(); + virtual ::java::lang::String * getLocalName(); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::org::w3c::dom::Node * getNextSibling(); + virtual ::java::lang::String * getNodeName(); + virtual jshort getNodeType(); + virtual ::java::lang::String * getNodeValue(); + virtual ::org::w3c::dom::Document * getOwnerDocument(); + virtual ::org::w3c::dom::Node * getParentNode(); + virtual ::java::lang::String * getPrefix(); + virtual ::org::w3c::dom::Node * getPreviousSibling(); + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo(); + virtual ::java::lang::String * getTextContent(); + virtual ::java::lang::Object * getUserData(::java::lang::String *); + virtual jboolean hasAttributes(); + virtual jboolean hasChildNodes(); + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual jboolean isDefaultNamespace(::java::lang::String *); + virtual jboolean isEqualNode(::org::w3c::dom::Node *); + virtual jboolean isSameNode(::org::w3c::dom::Node *); + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *); + virtual ::java::lang::String * lookupPrefix(::java::lang::String *); + virtual void normalize(); + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + virtual void setIdAttribute(::java::lang::String *, jboolean); + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean); + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean); + virtual void setNodeValue(::java::lang::String *); + virtual void setPrefix(::java::lang::String *); + virtual void setTextContent(::java::lang::String *); + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::util::HashMap * attrs; + ::java::util::List * children; + ::javax::imageio::metadata::IIOMetadataNode * parent; + ::java::lang::Object * obj; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_metadata_IIOMetadataNode__ diff --git a/libjava/javax/imageio/plugins/bmp/BMPImageWriteParam.h b/libjava/javax/imageio/plugins/bmp/BMPImageWriteParam.h new file mode 100644 index 00000000000..d1757850d02 --- /dev/null +++ b/libjava/javax/imageio/plugins/bmp/BMPImageWriteParam.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_plugins_bmp_BMPImageWriteParam__ +#define __javax_imageio_plugins_bmp_BMPImageWriteParam__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace bmp + { + class BMPImageWriteParam; + } + } + } + } +} + +class javax::imageio::plugins::bmp::BMPImageWriteParam : public ::javax::imageio::ImageWriteParam +{ + +public: + BMPImageWriteParam(); + BMPImageWriteParam(::java::util::Locale *); + virtual void setTopDown(jboolean); + virtual jboolean isTopDown(); +private: + jboolean __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriteParam)))) topDown; +public: // actually package-private + ::java::lang::String * rgb; + ::java::lang::String * rle8; + ::java::lang::String * rle4; + ::java::lang::String * bitfields; + static const jint BI_RGB = 0; + static const jint BI_RLE8 = 1; + static const jint BI_RLE4 = 2; + static const jint BI_BITFIELDS = 3; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_plugins_bmp_BMPImageWriteParam__ diff --git a/libjava/javax/imageio/plugins/jpeg/JPEGHuffmanTable.h b/libjava/javax/imageio/plugins/jpeg/JPEGHuffmanTable.h new file mode 100644 index 00000000000..7aa9f84e54c --- /dev/null +++ b/libjava/javax/imageio/plugins/jpeg/JPEGHuffmanTable.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_plugins_jpeg_JPEGHuffmanTable__ +#define __javax_imageio_plugins_jpeg_JPEGHuffmanTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + } + } + } + } +} + +class javax::imageio::plugins::jpeg::JPEGHuffmanTable : public ::java::lang::Object +{ + +public: + JPEGHuffmanTable(JArray< jshort > *, JArray< jshort > *); +private: + JPEGHuffmanTable(JArray< jshort > *, JArray< jshort > *, jboolean); + static JArray< jshort > * checkLengths(JArray< jshort > *); + static JArray< jshort > * checkValues(JArray< jshort > *, JArray< jshort > *); +public: + virtual JArray< jshort > * getLengths(); + virtual JArray< jshort > * getValues(); + virtual ::java::lang::String * toString(); +private: + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lengths; + JArray< jshort > * values; +public: + static ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * StdACChrominance; + static ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * StdACLuminance; + static ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * StdDCChrominance; + static ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * StdDCLuminance; + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_plugins_jpeg_JPEGHuffmanTable__ diff --git a/libjava/javax/imageio/plugins/jpeg/JPEGImageReadParam.h b/libjava/javax/imageio/plugins/jpeg/JPEGImageReadParam.h new file mode 100644 index 00000000000..c4583821519 --- /dev/null +++ b/libjava/javax/imageio/plugins/jpeg/JPEGImageReadParam.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_plugins_jpeg_JPEGImageReadParam__ +#define __javax_imageio_plugins_jpeg_JPEGImageReadParam__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + class JPEGImageReadParam; + class JPEGQTable; + } + } + } + } +} + +class javax::imageio::plugins::jpeg::JPEGImageReadParam : public ::javax::imageio::ImageReadParam +{ + +public: + JPEGImageReadParam(); + virtual jboolean areTablesSet(); + virtual void setDecodeTables(JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > *, JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > *, JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > *); + virtual void unsetDecodeTables(); + virtual JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * getQTables(); + virtual JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * getDCHuffmanTables(); + virtual JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * getACHuffmanTables(); +private: + JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReadParam)))) qTables; + JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * DCHuffmanTables; + JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * ACHuffmanTables; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_plugins_jpeg_JPEGImageReadParam__ diff --git a/libjava/javax/imageio/plugins/jpeg/JPEGImageWriteParam.h b/libjava/javax/imageio/plugins/jpeg/JPEGImageWriteParam.h new file mode 100644 index 00000000000..03607d122a9 --- /dev/null +++ b/libjava/javax/imageio/plugins/jpeg/JPEGImageWriteParam.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_plugins_jpeg_JPEGImageWriteParam__ +#define __javax_imageio_plugins_jpeg_JPEGImageWriteParam__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGHuffmanTable; + class JPEGImageWriteParam; + class JPEGQTable; + } + } + } + } +} + +class javax::imageio::plugins::jpeg::JPEGImageWriteParam : public ::javax::imageio::ImageWriteParam +{ + +public: + JPEGImageWriteParam(::java::util::Locale *); + virtual void unsetCompression(); + virtual jboolean isCompressionLossless(); + virtual JArray< ::java::lang::String * > * getCompressionQualityDescriptions(); + virtual JArray< jfloat > * getCompressionQualityValues(); + virtual jboolean areTablesSet(); + virtual void setEncodeTables(JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > *, JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > *, JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > *); + virtual void unsetEncodeTables(); + virtual JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * getQTables(); + virtual JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * getDCHuffmanTables(); + virtual JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * getACHuffmanTables(); + virtual void setOptimizeHuffmanTables(jboolean); + virtual jboolean getOptimizeHuffmanTables(); +private: + JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriteParam)))) qTables; + JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * DCHuffmanTables; + JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * ACHuffmanTables; + jboolean optimize; + JArray< ::java::lang::String * > * compressionQualityDescriptions; + JArray< jfloat > * compressionQualityValues; + ::java::util::ResourceBundle * messages; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_plugins_jpeg_JPEGImageWriteParam__ diff --git a/libjava/javax/imageio/plugins/jpeg/JPEGQTable.h b/libjava/javax/imageio/plugins/jpeg/JPEGQTable.h new file mode 100644 index 00000000000..366202f5664 --- /dev/null +++ b/libjava/javax/imageio/plugins/jpeg/JPEGQTable.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_plugins_jpeg_JPEGQTable__ +#define __javax_imageio_plugins_jpeg_JPEGQTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace plugins + { + namespace jpeg + { + class JPEGQTable; + } + } + } + } +} + +class javax::imageio::plugins::jpeg::JPEGQTable : public ::java::lang::Object +{ + +public: + JPEGQTable(JArray< jint > *); +private: + JPEGQTable(JArray< jint > *, jboolean); + static JArray< jint > * checkTable(JArray< jint > *); +public: + virtual JArray< jint > * getTable(); + virtual ::javax::imageio::plugins::jpeg::JPEGQTable * getScaledInstance(jfloat, jboolean); + virtual ::java::lang::String * toString(); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) table; +public: + static ::javax::imageio::plugins::jpeg::JPEGQTable * K1Luminance; + static ::javax::imageio::plugins::jpeg::JPEGQTable * K1Div2Luminance; + static ::javax::imageio::plugins::jpeg::JPEGQTable * K2Chrominance; + static ::javax::imageio::plugins::jpeg::JPEGQTable * K2Div2Chrominance; + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_plugins_jpeg_JPEGQTable__ diff --git a/libjava/javax/imageio/spi/IIORegistry.h b/libjava/javax/imageio/spi/IIORegistry.h new file mode 100644 index 00000000000..4b15c121ff1 --- /dev/null +++ b/libjava/javax/imageio/spi/IIORegistry.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_IIORegistry__ +#define __javax_imageio_spi_IIORegistry__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class IIORegistry; + } + } + } +} + +class javax::imageio::spi::IIORegistry : public ::javax::imageio::spi::ServiceRegistry +{ + +public: + static ::javax::imageio::spi::IIORegistry * getDefaultInstance(); +private: + IIORegistry(); +public: + void registerApplicationClasspathSpis(); +private: + static ::java::util::HashSet * defaultCategories; + static ::java::util::HashMap * instances; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_IIORegistry__ diff --git a/libjava/javax/imageio/spi/IIOServiceProvider.h b/libjava/javax/imageio/spi/IIOServiceProvider.h new file mode 100644 index 00000000000..befcd09ccfc --- /dev/null +++ b/libjava/javax/imageio/spi/IIOServiceProvider.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_IIOServiceProvider__ +#define __javax_imageio_spi_IIOServiceProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class IIOServiceProvider; + class ServiceRegistry; + } + } + } +} + +class javax::imageio::spi::IIOServiceProvider : public ::java::lang::Object +{ + +public: + IIOServiceProvider(::java::lang::String *, ::java::lang::String *); + IIOServiceProvider(); + virtual void onRegistration(::javax::imageio::spi::ServiceRegistry *, ::java::lang::Class *); + virtual void onDeregistration(::javax::imageio::spi::ServiceRegistry *, ::java::lang::Class *); + virtual ::java::lang::String * getVendorName(); + virtual ::java::lang::String * getVersion(); + virtual ::java::lang::String * getDescription(::java::util::Locale *) = 0; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) vendorName; + ::java::lang::String * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_IIOServiceProvider__ diff --git a/libjava/javax/imageio/spi/ImageInputStreamSpi.h b/libjava/javax/imageio/spi/ImageInputStreamSpi.h new file mode 100644 index 00000000000..946842c61f3 --- /dev/null +++ b/libjava/javax/imageio/spi/ImageInputStreamSpi.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ImageInputStreamSpi__ +#define __javax_imageio_spi_ImageInputStreamSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class ImageInputStreamSpi; + } + namespace stream + { + class ImageInputStream; + } + } + } +} + +class javax::imageio::spi::ImageInputStreamSpi : public ::javax::imageio::spi::IIOServiceProvider +{ + +public: // actually protected + ImageInputStreamSpi(); +public: + ImageInputStreamSpi(::java::lang::String *, ::java::lang::String *, ::java::lang::Class *); + virtual ::java::lang::Class * getInputClass(); + virtual jboolean canUseCacheFile(); + virtual jboolean needsCacheFile(); + virtual ::javax::imageio::stream::ImageInputStream * createInputStreamInstance(::java::lang::Object *, jboolean, ::java::io::File *) = 0; + virtual ::javax::imageio::stream::ImageInputStream * createInputStreamInstance(::java::lang::Object *); +public: // actually protected + ::java::lang::Class * __attribute__((aligned(__alignof__( ::javax::imageio::spi::IIOServiceProvider)))) inputClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ImageInputStreamSpi__ diff --git a/libjava/javax/imageio/spi/ImageOutputStreamSpi.h b/libjava/javax/imageio/spi/ImageOutputStreamSpi.h new file mode 100644 index 00000000000..6ac36b4aa97 --- /dev/null +++ b/libjava/javax/imageio/spi/ImageOutputStreamSpi.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ImageOutputStreamSpi__ +#define __javax_imageio_spi_ImageOutputStreamSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class ImageOutputStreamSpi; + } + namespace stream + { + class ImageOutputStream; + } + } + } +} + +class javax::imageio::spi::ImageOutputStreamSpi : public ::javax::imageio::spi::IIOServiceProvider +{ + +public: // actually protected + ImageOutputStreamSpi(); +public: + ImageOutputStreamSpi(::java::lang::String *, ::java::lang::String *, ::java::lang::Class *); + virtual ::java::lang::Class * getOutputClass(); + virtual jboolean canUseCacheFile(); + virtual jboolean needsCacheFile(); + virtual ::javax::imageio::stream::ImageOutputStream * createOutputStreamInstance(::java::lang::Object *, jboolean, ::java::io::File *) = 0; + virtual ::javax::imageio::stream::ImageOutputStream * createOutputStreamInstance(::java::lang::Object *); +public: // actually protected + ::java::lang::Class * __attribute__((aligned(__alignof__( ::javax::imageio::spi::IIOServiceProvider)))) outputClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ImageOutputStreamSpi__ diff --git a/libjava/javax/imageio/spi/ImageReaderSpi.h b/libjava/javax/imageio/spi/ImageReaderSpi.h new file mode 100644 index 00000000000..554b52ee785 --- /dev/null +++ b/libjava/javax/imageio/spi/ImageReaderSpi.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ImageReaderSpi__ +#define __javax_imageio_spi_ImageReaderSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageReader; + namespace spi + { + class ImageReaderSpi; + } + } + } +} + +class javax::imageio::spi::ImageReaderSpi : public ::javax::imageio::spi::ImageReaderWriterSpi +{ + +public: // actually protected + ImageReaderSpi(); +public: + ImageReaderSpi(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::lang::String *, JArray< ::java::lang::Class * > *, JArray< ::java::lang::String * > *, jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *); + virtual jboolean canDecodeInput(::java::lang::Object *) = 0; + virtual ::javax::imageio::ImageReader * createReaderInstance(); + virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *) = 0; + virtual JArray< ::java::lang::String * > * getImageWriterSpiNames(); + virtual JArray< ::java::lang::Class * > * getInputTypes(); + virtual jboolean isOwnReader(::javax::imageio::ImageReader *); + static JArray< ::java::lang::Class * > * STANDARD_INPUT_TYPE; +public: // actually protected + JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::javax::imageio::spi::ImageReaderWriterSpi)))) inputTypes; + JArray< ::java::lang::String * > * writerSpiNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ImageReaderSpi__ diff --git a/libjava/javax/imageio/spi/ImageReaderWriterSpi.h b/libjava/javax/imageio/spi/ImageReaderWriterSpi.h new file mode 100644 index 00000000000..91930cd208f --- /dev/null +++ b/libjava/javax/imageio/spi/ImageReaderWriterSpi.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ImageReaderWriterSpi__ +#define __javax_imageio_spi_ImageReaderWriterSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace metadata + { + class IIOMetadataFormat; + } + namespace spi + { + class ImageReaderWriterSpi; + } + } + } +} + +class javax::imageio::spi::ImageReaderWriterSpi : public ::javax::imageio::spi::IIOServiceProvider +{ + +public: + ImageReaderWriterSpi(); + ImageReaderWriterSpi(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::lang::String *, jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *); + virtual JArray< ::java::lang::String * > * getFormatNames(); + virtual JArray< ::java::lang::String * > * getFileSuffixes(); + virtual JArray< ::java::lang::String * > * getMIMETypes(); + virtual ::java::lang::String * getPluginClassName(); + virtual jboolean isStandardStreamMetadataFormatSupported(); + virtual ::java::lang::String * getNativeStreamMetadataFormatName(); + virtual JArray< ::java::lang::String * > * getExtraStreamMetadataFormatNames(); + virtual jboolean isStandardImageMetadataFormatSupported(); + virtual ::java::lang::String * getNativeImageMetadataFormatName(); + virtual JArray< ::java::lang::String * > * getExtraImageMetadataFormatNames(); + virtual ::javax::imageio::metadata::IIOMetadataFormat * getStreamMetadataFormat(::java::lang::String *); + virtual ::javax::imageio::metadata::IIOMetadataFormat * getImageMetadataFormat(::java::lang::String *); +public: // actually protected + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::javax::imageio::spi::IIOServiceProvider)))) names; + JArray< ::java::lang::String * > * suffixes; + JArray< ::java::lang::String * > * MIMETypes; + ::java::lang::String * pluginClassName; + jboolean supportsStandardStreamMetadataFormat; + ::java::lang::String * nativeStreamMetadataFormatName; + ::java::lang::String * nativeStreamMetadataFormatClassName; + JArray< ::java::lang::String * > * extraStreamMetadataFormatNames; + JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames; + jboolean supportsStandardImageMetadataFormat; + ::java::lang::String * nativeImageMetadataFormatName; + ::java::lang::String * nativeImageMetadataFormatClassName; + JArray< ::java::lang::String * > * extraImageMetadataFormatNames; + JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ImageReaderWriterSpi__ diff --git a/libjava/javax/imageio/spi/ImageTranscoderSpi.h b/libjava/javax/imageio/spi/ImageTranscoderSpi.h new file mode 100644 index 00000000000..368c2ad631a --- /dev/null +++ b/libjava/javax/imageio/spi/ImageTranscoderSpi.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ImageTranscoderSpi__ +#define __javax_imageio_spi_ImageTranscoderSpi__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + class ImageTranscoder; + namespace spi + { + class ImageTranscoderSpi; + } + } + } +} + +class javax::imageio::spi::ImageTranscoderSpi : public ::javax::imageio::spi::IIOServiceProvider +{ + +public: // actually protected + ImageTranscoderSpi(); +public: + ImageTranscoderSpi(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getReaderServiceProviderName() = 0; + virtual ::java::lang::String * getWriterServiceProviderName() = 0; + virtual ::javax::imageio::ImageTranscoder * createTranscoderInstance() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ImageTranscoderSpi__ diff --git a/libjava/javax/imageio/spi/ImageWriterSpi.h b/libjava/javax/imageio/spi/ImageWriterSpi.h new file mode 100644 index 00000000000..55d9bdb8ed8 --- /dev/null +++ b/libjava/javax/imageio/spi/ImageWriterSpi.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ImageWriterSpi__ +#define __javax_imageio_spi_ImageWriterSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace image + { + class RenderedImage; + } + } + } + namespace javax + { + namespace imageio + { + class ImageTypeSpecifier; + class ImageWriter; + namespace spi + { + class ImageWriterSpi; + } + } + } +} + +class javax::imageio::spi::ImageWriterSpi : public ::javax::imageio::spi::ImageReaderWriterSpi +{ + +public: // actually protected + ImageWriterSpi(); +public: + ImageWriterSpi(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::java::lang::String *, JArray< ::java::lang::Class * > *, JArray< ::java::lang::String * > *, jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *); + virtual jboolean canEncodeImage(::javax::imageio::ImageTypeSpecifier *) = 0; + virtual jboolean canEncodeImage(::java::awt::image::RenderedImage *); + virtual ::javax::imageio::ImageWriter * createWriterInstance(); + virtual ::javax::imageio::ImageWriter * createWriterInstance(::java::lang::Object *) = 0; + virtual JArray< ::java::lang::String * > * getImageReaderSpiNames(); + virtual JArray< ::java::lang::Class * > * getOutputTypes(); + virtual jboolean isFormatLossless(); + virtual jboolean isOwnWriter(::javax::imageio::ImageWriter *); + static JArray< ::java::lang::Class * > * STANDARD_OUTPUT_TYPE; +public: // actually protected + JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::javax::imageio::spi::ImageReaderWriterSpi)))) outputTypes; + JArray< ::java::lang::String * > * readerSpiNames; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ImageWriterSpi__ diff --git a/libjava/javax/imageio/spi/RegisterableService.h b/libjava/javax/imageio/spi/RegisterableService.h new file mode 100644 index 00000000000..fcd4e140f69 --- /dev/null +++ b/libjava/javax/imageio/spi/RegisterableService.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_RegisterableService__ +#define __javax_imageio_spi_RegisterableService__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class RegisterableService; + class ServiceRegistry; + } + } + } +} + +class javax::imageio::spi::RegisterableService : public ::java::lang::Object +{ + +public: + virtual void onRegistration(::javax::imageio::spi::ServiceRegistry *, ::java::lang::Class *) = 0; + virtual void onDeregistration(::javax::imageio::spi::ServiceRegistry *, ::java::lang::Class *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_spi_RegisterableService__ diff --git a/libjava/javax/imageio/spi/ServiceRegistry$1.h b/libjava/javax/imageio/spi/ServiceRegistry$1.h new file mode 100644 index 00000000000..ea647060a4c --- /dev/null +++ b/libjava/javax/imageio/spi/ServiceRegistry$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ServiceRegistry$1__ +#define __javax_imageio_spi_ServiceRegistry$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class ServiceRegistry; + class ServiceRegistry$1; + } + } + } +} + +class javax::imageio::spi::ServiceRegistry$1 : public ::java::lang::Object +{ + +public: // actually package-private + ServiceRegistry$1(::javax::imageio::spi::ServiceRegistry *); +public: + jboolean hasNext(); + ::java::lang::Object * next(); + void remove(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + ::javax::imageio::spi::ServiceRegistry * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ServiceRegistry$1__ diff --git a/libjava/javax/imageio/spi/ServiceRegistry$2.h b/libjava/javax/imageio/spi/ServiceRegistry$2.h new file mode 100644 index 00000000000..e0d3a132e73 --- /dev/null +++ b/libjava/javax/imageio/spi/ServiceRegistry$2.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ServiceRegistry$2__ +#define __javax_imageio_spi_ServiceRegistry$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class ServiceRegistry; + class ServiceRegistry$2; + } + } + } +} + +class javax::imageio::spi::ServiceRegistry$2 : public ::java::lang::Object +{ + +public: // actually package-private + ServiceRegistry$2(::javax::imageio::spi::ServiceRegistry *, ::java::util::Map *); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ::javax::imageio::spi::ServiceRegistry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::util::Map * val$cons; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ServiceRegistry$2__ diff --git a/libjava/javax/imageio/spi/ServiceRegistry$Filter.h b/libjava/javax/imageio/spi/ServiceRegistry$Filter.h new file mode 100644 index 00000000000..10fd5aaff7f --- /dev/null +++ b/libjava/javax/imageio/spi/ServiceRegistry$Filter.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ServiceRegistry$Filter__ +#define __javax_imageio_spi_ServiceRegistry$Filter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class ServiceRegistry$Filter; + } + } + } +} + +class javax::imageio::spi::ServiceRegistry$Filter : public ::java::lang::Object +{ + +public: + virtual jboolean filter(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_spi_ServiceRegistry$Filter__ diff --git a/libjava/javax/imageio/spi/ServiceRegistry.h b/libjava/javax/imageio/spi/ServiceRegistry.h new file mode 100644 index 00000000000..79a48fe3fd5 --- /dev/null +++ b/libjava/javax/imageio/spi/ServiceRegistry.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_spi_ServiceRegistry__ +#define __javax_imageio_spi_ServiceRegistry__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace spi + { + class ServiceRegistry; + class ServiceRegistry$Filter; + } + } + } +} + +class javax::imageio::spi::ServiceRegistry : public ::java::lang::Object +{ + +public: + ServiceRegistry(::java::util::Iterator *); + static ::java::util::Iterator * lookupProviders(::java::lang::Class *, ::java::lang::ClassLoader *); + static ::java::util::Iterator * lookupProviders(::java::lang::Class *); + virtual ::java::util::Iterator * getCategories(); +private: + jboolean registerServiceProvider(::java::lang::Object *, jint); +public: + virtual jboolean registerServiceProvider(::java::lang::Object *, ::java::lang::Class *); + virtual void registerServiceProvider(::java::lang::Object *); + virtual void registerServiceProviders(::java::util::Iterator *); +private: + jboolean deregisterServiceProvider(::java::lang::Object *, jint); +public: + virtual jboolean deregisterServiceProvider(::java::lang::Object *, ::java::lang::Class *); + virtual void deregisterServiceProvider(::java::lang::Object *); + virtual void deregisterAll(::java::lang::Class *); + virtual void deregisterAll(); + virtual void finalize(); + virtual jboolean contains(::java::lang::Object *); +private: + jint getCategoryID(::java::lang::Class *); +public: + virtual ::java::util::Iterator * getServiceProviders(::java::lang::Class *, jboolean); + virtual ::java::util::Iterator * getServiceProviders(::java::lang::Class *, ::javax::imageio::spi::ServiceRegistry$Filter *, jboolean); + virtual ::java::lang::Object * getServiceProviderByClass(::java::lang::Class *); + virtual jboolean setOrdering(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *); + virtual jboolean unsetOrdering(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *); +private: + jboolean addConstraint(jint, ::java::lang::Object *, ::java::lang::Object *); + jboolean removeConstraint(jint, ::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) categories; +private: + JArray< ::java::util::LinkedList * > * providers; + JArray< ::java::util::IdentityHashMap * > * constraints; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_spi_ServiceRegistry__ diff --git a/libjava/javax/imageio/stream/FileCacheImageInputStream.h b/libjava/javax/imageio/stream/FileCacheImageInputStream.h new file mode 100644 index 00000000000..728ed37bdf6 --- /dev/null +++ b/libjava/javax/imageio/stream/FileCacheImageInputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_FileCacheImageInputStream__ +#define __javax_imageio_stream_FileCacheImageInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class FileCacheImageInputStream; + } + } + } +} + +class javax::imageio::stream::FileCacheImageInputStream : public ::javax::imageio::stream::ImageInputStreamImpl +{ + +public: + FileCacheImageInputStream(::java::io::InputStream *, ::java::io::File *); + virtual void close(); +private: + void checkStreamClosed(); +public: + virtual jboolean isCached(); + virtual jboolean isCachedFile(); + virtual jboolean isCachedMemory(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageInputStreamImpl)))) stream; + ::java::io::File * cacheDir; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_FileCacheImageInputStream__ diff --git a/libjava/javax/imageio/stream/FileCacheImageOutputStream.h b/libjava/javax/imageio/stream/FileCacheImageOutputStream.h new file mode 100644 index 00000000000..30659671227 --- /dev/null +++ b/libjava/javax/imageio/stream/FileCacheImageOutputStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_FileCacheImageOutputStream__ +#define __javax_imageio_stream_FileCacheImageOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class FileCacheImageOutputStream; + } + } + } +} + +class javax::imageio::stream::FileCacheImageOutputStream : public ::javax::imageio::stream::ImageOutputStreamImpl +{ + +public: + FileCacheImageOutputStream(::java::io::OutputStream *, ::java::io::File *); + virtual void close(); +private: + void checkStreamClosed(); +public: + virtual jboolean isCached(); + virtual jboolean isCachedFile(); + virtual jboolean isCachedMemory(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(jint); +private: + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageOutputStreamImpl)))) stream; + ::java::io::File * cacheDir; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_FileCacheImageOutputStream__ diff --git a/libjava/javax/imageio/stream/FileImageInputStream.h b/libjava/javax/imageio/stream/FileImageInputStream.h new file mode 100644 index 00000000000..801e2cb1d48 --- /dev/null +++ b/libjava/javax/imageio/stream/FileImageInputStream.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_FileImageInputStream__ +#define __javax_imageio_stream_FileImageInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class FileImageInputStream; + } + } + } +} + +class javax::imageio::stream::FileImageInputStream : public ::javax::imageio::stream::ImageInputStreamImpl +{ + +public: + FileImageInputStream(::java::io::File *); + FileImageInputStream(::java::io::RandomAccessFile *); + virtual void close(); + virtual jlong length(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void seek(jlong); +private: + ::java::io::RandomAccessFile * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageInputStreamImpl)))) file; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_FileImageInputStream__ diff --git a/libjava/javax/imageio/stream/FileImageOutputStream.h b/libjava/javax/imageio/stream/FileImageOutputStream.h new file mode 100644 index 00000000000..8075f45772b --- /dev/null +++ b/libjava/javax/imageio/stream/FileImageOutputStream.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_FileImageOutputStream__ +#define __javax_imageio_stream_FileImageOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class FileImageOutputStream; + } + } + } +} + +class javax::imageio::stream::FileImageOutputStream : public ::javax::imageio::stream::ImageOutputStreamImpl +{ + +public: + FileImageOutputStream(::java::io::File *); + FileImageOutputStream(::java::io::RandomAccessFile *); + virtual void close(); + virtual jlong length(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void seek(jlong); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(jint); +private: + ::java::io::RandomAccessFile * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageOutputStreamImpl)))) file; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_FileImageOutputStream__ diff --git a/libjava/javax/imageio/stream/IIOByteBuffer.h b/libjava/javax/imageio/stream/IIOByteBuffer.h new file mode 100644 index 00000000000..0e5e0c145ef --- /dev/null +++ b/libjava/javax/imageio/stream/IIOByteBuffer.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_IIOByteBuffer__ +#define __javax_imageio_stream_IIOByteBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class IIOByteBuffer; + } + } + } +} + +class javax::imageio::stream::IIOByteBuffer : public ::java::lang::Object +{ + +public: + IIOByteBuffer(JArray< jbyte > *, jint, jint); + virtual JArray< jbyte > * getData(); + virtual void setData(JArray< jbyte > *); + virtual jint getOffset(); + virtual void setOffset(jint); + virtual jint getLength(); + virtual void setLength(jint); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; + jint offset; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_IIOByteBuffer__ diff --git a/libjava/javax/imageio/stream/ImageInputStream.h b/libjava/javax/imageio/stream/ImageInputStream.h new file mode 100644 index 00000000000..99c6304c455 --- /dev/null +++ b/libjava/javax/imageio/stream/ImageInputStream.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_ImageInputStream__ +#define __javax_imageio_stream_ImageInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class IIOByteBuffer; + class ImageInputStream; + } + } + } +} + +class javax::imageio::stream::ImageInputStream : public ::java::lang::Object +{ + +public: + virtual void setByteOrder(::java::nio::ByteOrder *) = 0; + virtual ::java::nio::ByteOrder * getByteOrder() = 0; + virtual jint read() = 0; + virtual jint read(JArray< jbyte > *) = 0; + virtual jint read(JArray< jbyte > *, jint, jint) = 0; + virtual void readBytes(::javax::imageio::stream::IIOByteBuffer *, jint) = 0; + virtual jboolean readBoolean() = 0; + virtual jbyte readByte() = 0; + virtual jint readUnsignedByte() = 0; + virtual jshort readShort() = 0; + virtual jint readUnsignedShort() = 0; + virtual jchar readChar() = 0; + virtual jint readInt() = 0; + virtual jlong readUnsignedInt() = 0; + virtual jlong readLong() = 0; + virtual jfloat readFloat() = 0; + virtual jdouble readDouble() = 0; + virtual ::java::lang::String * readLine() = 0; + virtual ::java::lang::String * readUTF() = 0; + virtual void readFully(JArray< jbyte > *, jint, jint) = 0; + virtual void readFully(JArray< jbyte > *) = 0; + virtual void readFully(JArray< jshort > *, jint, jint) = 0; + virtual void readFully(JArray< jchar > *, jint, jint) = 0; + virtual void readFully(JArray< jint > *, jint, jint) = 0; + virtual void readFully(JArray< jlong > *, jint, jint) = 0; + virtual void readFully(JArray< jfloat > *, jint, jint) = 0; + virtual void readFully(JArray< jdouble > *, jint, jint) = 0; + virtual jlong getStreamPosition() = 0; + virtual jint getBitOffset() = 0; + virtual void setBitOffset(jint) = 0; + virtual jint readBit() = 0; + virtual jlong readBits(jint) = 0; + virtual jlong length() = 0; + virtual jint skipBytes(jint) = 0; + virtual jlong skipBytes(jlong) = 0; + virtual void seek(jlong) = 0; + virtual void mark() = 0; + virtual void reset() = 0; + virtual void flushBefore(jlong) = 0; + virtual void flush() = 0; + virtual jlong getFlushedPosition() = 0; + virtual jboolean isCached() = 0; + virtual jboolean isCachedMemory() = 0; + virtual jboolean isCachedFile() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_stream_ImageInputStream__ diff --git a/libjava/javax/imageio/stream/ImageInputStreamImpl.h b/libjava/javax/imageio/stream/ImageInputStreamImpl.h new file mode 100644 index 00000000000..42b2f12042a --- /dev/null +++ b/libjava/javax/imageio/stream/ImageInputStreamImpl.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_ImageInputStreamImpl__ +#define __javax_imageio_stream_ImageInputStreamImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class IIOByteBuffer; + class ImageInputStreamImpl; + } + } + } +} + +class javax::imageio::stream::ImageInputStreamImpl : public ::java::lang::Object +{ + +public: + ImageInputStreamImpl(); +public: // actually protected + virtual void checkClosed(); +public: + virtual void close(); +public: // actually protected + virtual void finalize(); +public: + virtual void flush(); + virtual void flushBefore(jlong); + virtual jint getBitOffset(); + virtual ::java::nio::ByteOrder * getByteOrder(); + virtual jlong getFlushedPosition(); + virtual jlong getStreamPosition(); + virtual jboolean isCached(); + virtual jboolean isCachedFile(); + virtual jboolean isCachedMemory(); + virtual jlong length(); + virtual void mark(); + virtual jint read() = 0; + virtual jint read(JArray< jbyte > *, jint, jint) = 0; + virtual jint read(JArray< jbyte > *); + virtual jint readBit(); + virtual jlong readBits(jint); + virtual jboolean readBoolean(); + virtual jbyte readByte(); + virtual void readBytes(::javax::imageio::stream::IIOByteBuffer *, jint); + virtual jchar readChar(); + virtual jdouble readDouble(); + virtual jfloat readFloat(); + virtual void readFully(JArray< jbyte > *); + virtual void readFully(JArray< jbyte > *, jint, jint); + virtual void readFully(JArray< jchar > *, jint, jint); + virtual void readFully(JArray< jdouble > *, jint, jint); + virtual void readFully(JArray< jfloat > *, jint, jint); + virtual void readFully(JArray< jint > *, jint, jint); + virtual void readFully(JArray< jlong > *, jint, jint); + virtual void readFully(JArray< jshort > *, jint, jint); + virtual jint readInt(); + virtual ::java::lang::String * readLine(); + virtual jlong readLong(); + virtual jshort readShort(); + virtual jint readUnsignedByte(); + virtual jlong readUnsignedInt(); + virtual jint readUnsignedShort(); + virtual ::java::lang::String * readUTF(); + virtual void reset(); + virtual void seek(jlong); + virtual void setBitOffset(jint); + virtual void setByteOrder(::java::nio::ByteOrder *); + virtual jint skipBytes(jint); + virtual jlong skipBytes(jlong); +private: + void readFullyPrivate(JArray< jbyte > *, jint, jint); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) closed; + ::java::util::Stack * markStack; +public: // actually package-private + JArray< jbyte > * buffer; +public: // actually protected + jint bitOffset; + ::java::nio::ByteOrder * byteOrder; + jlong flushedPos; + jlong streamPos; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_ImageInputStreamImpl__ diff --git a/libjava/javax/imageio/stream/ImageOutputStream.h b/libjava/javax/imageio/stream/ImageOutputStream.h new file mode 100644 index 00000000000..7557e0a670b --- /dev/null +++ b/libjava/javax/imageio/stream/ImageOutputStream.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_ImageOutputStream__ +#define __javax_imageio_stream_ImageOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteOrder; + } + } + namespace javax + { + namespace imageio + { + namespace stream + { + class IIOByteBuffer; + class ImageOutputStream; + } + } + } +} + +class javax::imageio::stream::ImageOutputStream : public ::java::lang::Object +{ + +public: + virtual void flushBefore(jlong) = 0; + virtual void write(JArray< jbyte > *) = 0; + virtual void write(JArray< jbyte > *, jint, jint) = 0; + virtual void write(jint) = 0; + virtual void writeBit(jint) = 0; + virtual void writeBits(jlong, jint) = 0; + virtual void writeBoolean(jboolean) = 0; + virtual void writeByte(jint) = 0; + virtual void writeBytes(::java::lang::String *) = 0; + virtual void writeChar(jint) = 0; + virtual void writeChars(JArray< jchar > *, jint, jint) = 0; + virtual void writeChars(::java::lang::String *) = 0; + virtual void writeDouble(jdouble) = 0; + virtual void writeDoubles(JArray< jdouble > *, jint, jint) = 0; + virtual void writeFloat(jfloat) = 0; + virtual void writeFloats(JArray< jfloat > *, jint, jint) = 0; + virtual void writeInt(jint) = 0; + virtual void writeInts(JArray< jint > *, jint, jint) = 0; + virtual void writeLong(jlong) = 0; + virtual void writeLongs(JArray< jlong > *, jint, jint) = 0; + virtual void writeShort(jint) = 0; + virtual void writeShorts(JArray< jshort > *, jint, jint) = 0; + virtual void writeUTF(::java::lang::String *) = 0; + virtual void setByteOrder(::java::nio::ByteOrder *) = 0; + virtual ::java::nio::ByteOrder * getByteOrder() = 0; + virtual jint read() = 0; + virtual jint read(JArray< jbyte > *) = 0; + virtual jint read(JArray< jbyte > *, jint, jint) = 0; + virtual void readBytes(::javax::imageio::stream::IIOByteBuffer *, jint) = 0; + virtual jboolean readBoolean() = 0; + virtual jbyte readByte() = 0; + virtual jint readUnsignedByte() = 0; + virtual jshort readShort() = 0; + virtual jint readUnsignedShort() = 0; + virtual jchar readChar() = 0; + virtual jint readInt() = 0; + virtual jlong readUnsignedInt() = 0; + virtual jlong readLong() = 0; + virtual jfloat readFloat() = 0; + virtual jdouble readDouble() = 0; + virtual ::java::lang::String * readLine() = 0; + virtual ::java::lang::String * readUTF() = 0; + virtual void readFully(JArray< jbyte > *, jint, jint) = 0; + virtual void readFully(JArray< jbyte > *) = 0; + virtual void readFully(JArray< jshort > *, jint, jint) = 0; + virtual void readFully(JArray< jchar > *, jint, jint) = 0; + virtual void readFully(JArray< jint > *, jint, jint) = 0; + virtual void readFully(JArray< jlong > *, jint, jint) = 0; + virtual void readFully(JArray< jfloat > *, jint, jint) = 0; + virtual void readFully(JArray< jdouble > *, jint, jint) = 0; + virtual jlong getStreamPosition() = 0; + virtual jint getBitOffset() = 0; + virtual void setBitOffset(jint) = 0; + virtual jint readBit() = 0; + virtual jlong readBits(jint) = 0; + virtual jlong length() = 0; + virtual jint skipBytes(jint) = 0; + virtual jlong skipBytes(jlong) = 0; + virtual void seek(jlong) = 0; + virtual void mark() = 0; + virtual void reset() = 0; + virtual void flush() = 0; + virtual jlong getFlushedPosition() = 0; + virtual jboolean isCached() = 0; + virtual jboolean isCachedMemory() = 0; + virtual jboolean isCachedFile() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_imageio_stream_ImageOutputStream__ diff --git a/libjava/javax/imageio/stream/ImageOutputStreamImpl.h b/libjava/javax/imageio/stream/ImageOutputStreamImpl.h new file mode 100644 index 00000000000..a45df4698a3 --- /dev/null +++ b/libjava/javax/imageio/stream/ImageOutputStreamImpl.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_ImageOutputStreamImpl__ +#define __javax_imageio_stream_ImageOutputStreamImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class ImageOutputStreamImpl; + } + } + } +} + +class javax::imageio::stream::ImageOutputStreamImpl : public ::javax::imageio::stream::ImageInputStreamImpl +{ + +public: + ImageOutputStreamImpl(); +public: // actually protected + virtual void flushBits(); +public: + virtual void write(JArray< jbyte > *); + virtual void write(JArray< jbyte > *, jint, jint) = 0; + virtual void write(jint) = 0; + virtual void writeBit(jint); + virtual void writeBits(jlong, jint); + virtual void writeBoolean(jboolean); + virtual void writeByte(jint); + virtual void writeBytes(::java::lang::String *); + virtual void writeChar(jint); + virtual void writeChars(JArray< jchar > *, jint, jint); + virtual void writeChars(::java::lang::String *); + virtual void writeDouble(jdouble); + virtual void writeDoubles(JArray< jdouble > *, jint, jint); + virtual void writeFloat(jfloat); + virtual void writeFloats(JArray< jfloat > *, jint, jint); + virtual void writeInt(jint); + virtual void writeInts(JArray< jint > *, jint, jint); + virtual void writeLong(jlong); + virtual void writeLongs(JArray< jlong > *, jint, jint); + virtual void writeShort(jint); + virtual void writeShorts(JArray< jshort > *, jint, jint); + virtual void writeUTF(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_ImageOutputStreamImpl__ diff --git a/libjava/javax/imageio/stream/MemoryCacheImageInputStream.h b/libjava/javax/imageio/stream/MemoryCacheImageInputStream.h new file mode 100644 index 00000000000..c83efe11204 --- /dev/null +++ b/libjava/javax/imageio/stream/MemoryCacheImageInputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_MemoryCacheImageInputStream__ +#define __javax_imageio_stream_MemoryCacheImageInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class MemoryCacheImageInputStream; + } + } + } +} + +class javax::imageio::stream::MemoryCacheImageInputStream : public ::javax::imageio::stream::ImageInputStreamImpl +{ + +public: + MemoryCacheImageInputStream(::java::io::InputStream *); + virtual void close(); + virtual void flushBefore(jlong); + virtual jboolean isCached(); + virtual jboolean isCachedFile(); + virtual jboolean isCachedMemory(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void seek(jlong); +private: + ::java::io::InputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageInputStreamImpl)))) stream; + ::java::io::BufferedInputStream * buffer; + jint READLIMIT; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_MemoryCacheImageInputStream__ diff --git a/libjava/javax/imageio/stream/MemoryCacheImageOutputStream.h b/libjava/javax/imageio/stream/MemoryCacheImageOutputStream.h new file mode 100644 index 00000000000..a7643c1ea11 --- /dev/null +++ b/libjava/javax/imageio/stream/MemoryCacheImageOutputStream.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_imageio_stream_MemoryCacheImageOutputStream__ +#define __javax_imageio_stream_MemoryCacheImageOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace imageio + { + namespace stream + { + class MemoryCacheImageOutputStream; + } + } + } +} + +class javax::imageio::stream::MemoryCacheImageOutputStream : public ::javax::imageio::stream::ImageOutputStreamImpl +{ + +public: + MemoryCacheImageOutputStream(::java::io::OutputStream *); + virtual void close(); + virtual void flushBefore(jlong); + virtual jboolean isCached(); + virtual jboolean isCachedFile(); + virtual jboolean isCachedMemory(); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void write(JArray< jbyte > *, jint, jint); + virtual void write(jint); +private: + ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageOutputStreamImpl)))) stream; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_imageio_stream_MemoryCacheImageOutputStream__ diff --git a/libjava/javax/management/Attribute.h b/libjava/javax/management/Attribute.h new file mode 100644 index 00000000000..304b9da4a86 --- /dev/null +++ b/libjava/javax/management/Attribute.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Attribute__ +#define __javax_management_Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Attribute; + } + } +} + +class javax::management::Attribute : public ::java::lang::Object +{ + +public: + Attribute(::java::lang::String *, ::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getName(); + virtual ::java::lang::Object * getValue(); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = 2484220110589082382LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m_name; + ::java::lang::Object * m_value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Attribute__ diff --git a/libjava/javax/management/AttributeList.h b/libjava/javax/management/AttributeList.h new file mode 100644 index 00000000000..a74ff2fb125 --- /dev/null +++ b/libjava/javax/management/AttributeList.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_AttributeList__ +#define __javax_management_AttributeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Attribute; + class AttributeList; + } + } +} + +class javax::management::AttributeList : public ::java::util::ArrayList +{ + +public: + AttributeList(); + AttributeList(::javax::management::AttributeList *); + AttributeList(jint); + virtual void add(::javax::management::Attribute *); + virtual void add(jint, ::javax::management::Attribute *); + virtual jboolean addAll(::javax::management::AttributeList *); + virtual jboolean addAll(jint, ::javax::management::AttributeList *); + virtual void set(jint, ::javax::management::Attribute *); +private: + static const jlong serialVersionUID = -4077085769279709076LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_AttributeList__ diff --git a/libjava/javax/management/AttributeNotFoundException.h b/libjava/javax/management/AttributeNotFoundException.h new file mode 100644 index 00000000000..4defc660b61 --- /dev/null +++ b/libjava/javax/management/AttributeNotFoundException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_AttributeNotFoundException__ +#define __javax_management_AttributeNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class AttributeNotFoundException; + } + } +} + +class javax::management::AttributeNotFoundException : public ::javax::management::OperationsException +{ + +public: + AttributeNotFoundException(); + AttributeNotFoundException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_management_AttributeNotFoundException__ diff --git a/libjava/javax/management/BadAttributeValueExpException.h b/libjava/javax/management/BadAttributeValueExpException.h new file mode 100644 index 00000000000..5a05f6a6bb4 --- /dev/null +++ b/libjava/javax/management/BadAttributeValueExpException.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_BadAttributeValueExpException__ +#define __javax_management_BadAttributeValueExpException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class BadAttributeValueExpException; + } + } +} + +class javax::management::BadAttributeValueExpException : public ::java::lang::Exception +{ + +public: + BadAttributeValueExpException(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -3105272988410493376LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) val; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_BadAttributeValueExpException__ diff --git a/libjava/javax/management/BadBinaryOpValueExpException.h b/libjava/javax/management/BadBinaryOpValueExpException.h new file mode 100644 index 00000000000..21e866be8bc --- /dev/null +++ b/libjava/javax/management/BadBinaryOpValueExpException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_BadBinaryOpValueExpException__ +#define __javax_management_BadBinaryOpValueExpException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class BadBinaryOpValueExpException; + class ValueExp; + } + } +} + +class javax::management::BadBinaryOpValueExpException : public ::java::lang::Exception +{ + +public: + BadBinaryOpValueExpException(::javax::management::ValueExp *); + virtual ::javax::management::ValueExp * getExp(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 5068475589449021227LL; + ::javax::management::ValueExp * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) exp; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_BadBinaryOpValueExpException__ diff --git a/libjava/javax/management/BadStringOperationException.h b/libjava/javax/management/BadStringOperationException.h new file mode 100644 index 00000000000..60c923cf71d --- /dev/null +++ b/libjava/javax/management/BadStringOperationException.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_BadStringOperationException__ +#define __javax_management_BadStringOperationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class BadStringOperationException; + } + } +} + +class javax::management::BadStringOperationException : public ::java::lang::Exception +{ + +public: + BadStringOperationException(::java::lang::String *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 7802201238441662100LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) op; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_BadStringOperationException__ diff --git a/libjava/javax/management/DynamicMBean.h b/libjava/javax/management/DynamicMBean.h new file mode 100644 index 00000000000..59acee1c930 --- /dev/null +++ b/libjava/javax/management/DynamicMBean.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_DynamicMBean__ +#define __javax_management_DynamicMBean__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class Attribute; + class AttributeList; + class DynamicMBean; + class MBeanInfo; + } + } +} + +class javax::management::DynamicMBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getAttribute(::java::lang::String *) = 0; + virtual ::javax::management::AttributeList * getAttributes(JArray< ::java::lang::String * > *) = 0; + virtual ::javax::management::MBeanInfo * getMBeanInfo() = 0; + virtual ::java::lang::Object * invoke(::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual void setAttribute(::javax::management::Attribute *) = 0; + virtual ::javax::management::AttributeList * setAttributes(::javax::management::AttributeList *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_DynamicMBean__ diff --git a/libjava/javax/management/InstanceAlreadyExistsException.h b/libjava/javax/management/InstanceAlreadyExistsException.h new file mode 100644 index 00000000000..081b838e7e3 --- /dev/null +++ b/libjava/javax/management/InstanceAlreadyExistsException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_InstanceAlreadyExistsException__ +#define __javax_management_InstanceAlreadyExistsException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class InstanceAlreadyExistsException; + } + } +} + +class javax::management::InstanceAlreadyExistsException : public ::javax::management::OperationsException +{ + +public: + InstanceAlreadyExistsException(); + InstanceAlreadyExistsException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8893743928912733931LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_InstanceAlreadyExistsException__ diff --git a/libjava/javax/management/InstanceNotFoundException.h b/libjava/javax/management/InstanceNotFoundException.h new file mode 100644 index 00000000000..b1088deaa7f --- /dev/null +++ b/libjava/javax/management/InstanceNotFoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_InstanceNotFoundException__ +#define __javax_management_InstanceNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class InstanceNotFoundException; + } + } +} + +class javax::management::InstanceNotFoundException : public ::javax::management::OperationsException +{ + +public: + InstanceNotFoundException(); + InstanceNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -882579438394773049LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_InstanceNotFoundException__ diff --git a/libjava/javax/management/IntrospectionException.h b/libjava/javax/management/IntrospectionException.h new file mode 100644 index 00000000000..55621f3c72a --- /dev/null +++ b/libjava/javax/management/IntrospectionException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_IntrospectionException__ +#define __javax_management_IntrospectionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class IntrospectionException; + } + } +} + +class javax::management::IntrospectionException : public ::javax::management::OperationsException +{ + +public: + IntrospectionException(); + IntrospectionException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1054516935875481725LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_IntrospectionException__ diff --git a/libjava/javax/management/InvalidApplicationException.h b/libjava/javax/management/InvalidApplicationException.h new file mode 100644 index 00000000000..16d11c5bd03 --- /dev/null +++ b/libjava/javax/management/InvalidApplicationException.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_InvalidApplicationException__ +#define __javax_management_InvalidApplicationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class InvalidApplicationException; + } + } +} + +class javax::management::InvalidApplicationException : public ::java::lang::Exception +{ + +public: + InvalidApplicationException(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -3048022274675537269LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) val; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_InvalidApplicationException__ diff --git a/libjava/javax/management/InvalidAttributeValueException.h b/libjava/javax/management/InvalidAttributeValueException.h new file mode 100644 index 00000000000..3439bde3bf2 --- /dev/null +++ b/libjava/javax/management/InvalidAttributeValueException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_InvalidAttributeValueException__ +#define __javax_management_InvalidAttributeValueException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class InvalidAttributeValueException; + } + } +} + +class javax::management::InvalidAttributeValueException : public ::javax::management::OperationsException +{ + +public: + InvalidAttributeValueException(); + InvalidAttributeValueException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_management_InvalidAttributeValueException__ diff --git a/libjava/javax/management/JMException.h b/libjava/javax/management/JMException.h new file mode 100644 index 00000000000..906840006d0 --- /dev/null +++ b/libjava/javax/management/JMException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_JMException__ +#define __javax_management_JMException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class JMException; + } + } +} + +class javax::management::JMException : public ::java::lang::Exception +{ + +public: + JMException(); + JMException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_management_JMException__ diff --git a/libjava/javax/management/JMRuntimeException.h b/libjava/javax/management/JMRuntimeException.h new file mode 100644 index 00000000000..ea6dd7f2258 --- /dev/null +++ b/libjava/javax/management/JMRuntimeException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_JMRuntimeException__ +#define __javax_management_JMRuntimeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class JMRuntimeException; + } + } +} + +class javax::management::JMRuntimeException : public ::java::lang::RuntimeException +{ + +public: + JMRuntimeException(); + JMRuntimeException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_management_JMRuntimeException__ diff --git a/libjava/javax/management/ListenerNotFoundException.h b/libjava/javax/management/ListenerNotFoundException.h new file mode 100644 index 00000000000..ad60d6211f0 --- /dev/null +++ b/libjava/javax/management/ListenerNotFoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_ListenerNotFoundException__ +#define __javax_management_ListenerNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ListenerNotFoundException; + } + } +} + +class javax::management::ListenerNotFoundException : public ::javax::management::OperationsException +{ + +public: + ListenerNotFoundException(); + ListenerNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -7242605822448519061LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_ListenerNotFoundException__ diff --git a/libjava/javax/management/MBeanAttributeInfo.h b/libjava/javax/management/MBeanAttributeInfo.h new file mode 100644 index 00000000000..ab088c63578 --- /dev/null +++ b/libjava/javax/management/MBeanAttributeInfo.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanAttributeInfo__ +#define __javax_management_MBeanAttributeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanAttributeInfo; + } + } +} + +class javax::management::MBeanAttributeInfo : public ::javax::management::MBeanFeatureInfo +{ + +public: + MBeanAttributeInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::reflect::Method *, ::java::lang::reflect::Method *); + MBeanAttributeInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean, jboolean, jboolean); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getType(); + virtual jint hashCode(); + virtual jboolean isIs(); + virtual jboolean isReadable(); + virtual jboolean isWritable(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::management::MBeanFeatureInfo)))) attributeType; + jboolean isWrite; + jboolean isRead; + jboolean is; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanAttributeInfo__ diff --git a/libjava/javax/management/MBeanConstructorInfo.h b/libjava/javax/management/MBeanConstructorInfo.h new file mode 100644 index 00000000000..992ff8d595c --- /dev/null +++ b/libjava/javax/management/MBeanConstructorInfo.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanConstructorInfo__ +#define __javax_management_MBeanConstructorInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanConstructorInfo; + class MBeanParameterInfo; + } + } +} + +class javax::management::MBeanConstructorInfo : public ::javax::management::MBeanFeatureInfo +{ + +public: + MBeanConstructorInfo(::java::lang::String *, ::java::lang::reflect::Constructor *); + MBeanConstructorInfo(::java::lang::String *, ::java::lang::String *, JArray< ::javax::management::MBeanParameterInfo * > *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual JArray< ::javax::management::MBeanParameterInfo * > * getSignature(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4433990064191844427LL; + JArray< ::javax::management::MBeanParameterInfo * > * __attribute__((aligned(__alignof__( ::javax::management::MBeanFeatureInfo)))) signature; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanConstructorInfo__ diff --git a/libjava/javax/management/MBeanException.h b/libjava/javax/management/MBeanException.h new file mode 100644 index 00000000000..17ff2a7addd --- /dev/null +++ b/libjava/javax/management/MBeanException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanException__ +#define __javax_management_MBeanException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanException; + } + } +} + +class javax::management::MBeanException : public ::javax::management::JMException +{ + +public: + MBeanException(::java::lang::Exception *); + MBeanException(::java::lang::Exception *, ::java::lang::String *); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::Exception * getTargetException(); +private: + static const jlong serialVersionUID = 4066342430588744142LL; + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::javax::management::JMException)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanException__ diff --git a/libjava/javax/management/MBeanFeatureInfo.h b/libjava/javax/management/MBeanFeatureInfo.h new file mode 100644 index 00000000000..60006427c2a --- /dev/null +++ b/libjava/javax/management/MBeanFeatureInfo.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanFeatureInfo__ +#define __javax_management_MBeanFeatureInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanFeatureInfo; + } + } +} + +class javax::management::MBeanFeatureInfo : public ::java::lang::Object +{ + +public: + MBeanFeatureInfo(::java::lang::String *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getName(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 3952882688968447265LL; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) description; + ::java::lang::String * name; +public: // actually package-private + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanFeatureInfo__ diff --git a/libjava/javax/management/MBeanInfo.h b/libjava/javax/management/MBeanInfo.h new file mode 100644 index 00000000000..cecc12f2889 --- /dev/null +++ b/libjava/javax/management/MBeanInfo.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanInfo__ +#define __javax_management_MBeanInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanAttributeInfo; + class MBeanConstructorInfo; + class MBeanInfo; + class MBeanNotificationInfo; + class MBeanOperationInfo; + } + } +} + +class javax::management::MBeanInfo : public ::java::lang::Object +{ + +public: + MBeanInfo(::java::lang::String *, ::java::lang::String *, JArray< ::javax::management::MBeanAttributeInfo * > *, JArray< ::javax::management::MBeanConstructorInfo * > *, JArray< ::javax::management::MBeanOperationInfo * > *, JArray< ::javax::management::MBeanNotificationInfo * > *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual JArray< ::javax::management::MBeanAttributeInfo * > * getAttributes(); + virtual ::java::lang::String * getClassName(); + virtual JArray< ::javax::management::MBeanConstructorInfo * > * getConstructors(); + virtual ::java::lang::String * getDescription(); + virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotifications(); + virtual JArray< ::javax::management::MBeanOperationInfo * > * getOperations(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6451021435135161911LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) description; + ::java::lang::String * className; + JArray< ::javax::management::MBeanAttributeInfo * > * attributes; + JArray< ::javax::management::MBeanOperationInfo * > * operations; + JArray< ::javax::management::MBeanConstructorInfo * > * constructors; + JArray< ::javax::management::MBeanNotificationInfo * > * notifications; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanInfo__ diff --git a/libjava/javax/management/MBeanNotificationInfo.h b/libjava/javax/management/MBeanNotificationInfo.h new file mode 100644 index 00000000000..25e99c3c1ed --- /dev/null +++ b/libjava/javax/management/MBeanNotificationInfo.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanNotificationInfo__ +#define __javax_management_MBeanNotificationInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + } + } +} + +class javax::management::MBeanNotificationInfo : public ::javax::management::MBeanFeatureInfo +{ + +public: + MBeanNotificationInfo(JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual JArray< ::java::lang::String * > * getNotifTypes(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -3888371564530107064LL; + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::javax::management::MBeanFeatureInfo)))) types; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanNotificationInfo__ diff --git a/libjava/javax/management/MBeanOperationInfo.h b/libjava/javax/management/MBeanOperationInfo.h new file mode 100644 index 00000000000..97d0cd5c53f --- /dev/null +++ b/libjava/javax/management/MBeanOperationInfo.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanOperationInfo__ +#define __javax_management_MBeanOperationInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanOperationInfo; + class MBeanParameterInfo; + } + } +} + +class javax::management::MBeanOperationInfo : public ::javax::management::MBeanFeatureInfo +{ + +public: + MBeanOperationInfo(::java::lang::String *, ::java::lang::reflect::Method *); + MBeanOperationInfo(::java::lang::String *, ::java::lang::String *, JArray< ::javax::management::MBeanParameterInfo * > *, ::java::lang::String *, jint); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual jint getImpact(); + virtual ::java::lang::String * getReturnType(); + virtual JArray< ::javax::management::MBeanParameterInfo * > * getSignature(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6178860474881375330LL; +public: + static const jint INFO = 0; + static const jint ACTION = 1; + static const jint ACTION_INFO = 2; + static const jint UNKNOWN = 3; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::management::MBeanFeatureInfo)))) type; + JArray< ::javax::management::MBeanParameterInfo * > * signature; + jint impact; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanOperationInfo__ diff --git a/libjava/javax/management/MBeanParameterInfo.h b/libjava/javax/management/MBeanParameterInfo.h new file mode 100644 index 00000000000..3186814594a --- /dev/null +++ b/libjava/javax/management/MBeanParameterInfo.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanParameterInfo__ +#define __javax_management_MBeanParameterInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanParameterInfo; + } + } +} + +class javax::management::MBeanParameterInfo : public ::javax::management::MBeanFeatureInfo +{ + +public: + MBeanParameterInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getType(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 7432616882776782338LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::management::MBeanFeatureInfo)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanParameterInfo__ diff --git a/libjava/javax/management/MBeanPermission$NameHolder.h b/libjava/javax/management/MBeanPermission$NameHolder.h new file mode 100644 index 00000000000..810a8ce5441 --- /dev/null +++ b/libjava/javax/management/MBeanPermission$NameHolder.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanPermission$NameHolder__ +#define __javax_management_MBeanPermission$NameHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanPermission; + class MBeanPermission$NameHolder; + class ObjectName; + } + } +} + +class javax::management::MBeanPermission$NameHolder : public ::java::lang::Object +{ + +public: + MBeanPermission$NameHolder(::javax::management::MBeanPermission *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::String * getMember(); + virtual ::javax::management::ObjectName * getObjectName(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) className; + ::java::lang::String * member; + ::javax::management::ObjectName * objectName; +public: // actually package-private + ::javax::management::MBeanPermission * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanPermission$NameHolder__ diff --git a/libjava/javax/management/MBeanPermission.h b/libjava/javax/management/MBeanPermission.h new file mode 100644 index 00000000000..95c5ac6af34 --- /dev/null +++ b/libjava/javax/management/MBeanPermission.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanPermission__ +#define __javax_management_MBeanPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } + namespace javax + { + namespace management + { + class MBeanPermission; + class ObjectName; + } + } +} + +class javax::management::MBeanPermission : public ::java::security::Permission +{ + +public: + MBeanPermission(::java::lang::String *, ::java::lang::String *); + MBeanPermission(::java::lang::String *, ::java::lang::String *, ::javax::management::ObjectName *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getActions(); + virtual jint hashCode(); + virtual jboolean implies(::java::security::Permission *); +public: // actually package-private + virtual ::java::util::Set * getActionSet(); +private: + void updateActionSet(); + void readObject(::java::io::ObjectInputStream *); + void checkActions(); + static const jlong serialVersionUID = -2416928705275160661LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::security::Permission)))) actions; + ::java::util::Set * actionSet; + static ::java::util::Set * validSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanPermission__ diff --git a/libjava/javax/management/MBeanRegistration.h b/libjava/javax/management/MBeanRegistration.h new file mode 100644 index 00000000000..b1faba2fefb --- /dev/null +++ b/libjava/javax/management/MBeanRegistration.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanRegistration__ +#define __javax_management_MBeanRegistration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanRegistration; + class MBeanServer; + class ObjectName; + } + } +} + +class javax::management::MBeanRegistration : public ::java::lang::Object +{ + +public: + virtual void postDeregister() = 0; + virtual void postRegister(::java::lang::Boolean *) = 0; + virtual void preDeregister() = 0; + virtual ::javax::management::ObjectName * preRegister(::javax::management::MBeanServer *, ::javax::management::ObjectName *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_MBeanRegistration__ diff --git a/libjava/javax/management/MBeanRegistrationException.h b/libjava/javax/management/MBeanRegistrationException.h new file mode 100644 index 00000000000..4cd0266e25e --- /dev/null +++ b/libjava/javax/management/MBeanRegistrationException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanRegistrationException__ +#define __javax_management_MBeanRegistrationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanRegistrationException; + } + } +} + +class javax::management::MBeanRegistrationException : public ::javax::management::MBeanException +{ + +public: + MBeanRegistrationException(::java::lang::Exception *); + MBeanRegistrationException(::java::lang::Exception *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 4482382455277067805LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanRegistrationException__ diff --git a/libjava/javax/management/MBeanServer.h b/libjava/javax/management/MBeanServer.h new file mode 100644 index 00000000000..9971d5c5927 --- /dev/null +++ b/libjava/javax/management/MBeanServer.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServer__ +#define __javax_management_MBeanServer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class Attribute; + class AttributeList; + class MBeanInfo; + class MBeanServer; + class NotificationFilter; + class NotificationListener; + class ObjectInstance; + class ObjectName; + class QueryExp; + namespace loading + { + class ClassLoaderRepository; + } + } + } +} + +class javax::management::MBeanServer : public ::java::lang::Object +{ + +public: + virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::io::ObjectInputStream * deserialize(::javax::management::ObjectName *, JArray< jbyte > *) = 0; + virtual ::java::io::ObjectInputStream * deserialize(::java::lang::String *, JArray< jbyte > *) = 0; + virtual ::java::io::ObjectInputStream * deserialize(::java::lang::String *, ::javax::management::ObjectName *, JArray< jbyte > *) = 0; + virtual ::java::lang::Object * getAttribute(::javax::management::ObjectName *, ::java::lang::String *) = 0; + virtual ::javax::management::AttributeList * getAttributes(::javax::management::ObjectName *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::lang::ClassLoader * getClassLoader(::javax::management::ObjectName *) = 0; + virtual ::java::lang::ClassLoader * getClassLoaderFor(::javax::management::ObjectName *) = 0; + virtual ::javax::management::loading::ClassLoaderRepository * getClassLoaderRepository() = 0; + virtual ::java::lang::String * getDefaultDomain() = 0; + virtual JArray< ::java::lang::String * > * getDomains() = 0; + virtual ::java::lang::Integer * getMBeanCount() = 0; + virtual ::javax::management::MBeanInfo * getMBeanInfo(::javax::management::ObjectName *) = 0; + virtual ::javax::management::ObjectInstance * getObjectInstance(::javax::management::ObjectName *) = 0; + virtual ::java::lang::Object * instantiate(::java::lang::String *) = 0; + virtual ::java::lang::Object * instantiate(::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::lang::Object * instantiate(::java::lang::String *, ::javax::management::ObjectName *) = 0; + virtual ::java::lang::Object * instantiate(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::lang::Object * invoke(::javax::management::ObjectName *, ::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual jboolean isInstanceOf(::javax::management::ObjectName *, ::java::lang::String *) = 0; + virtual jboolean isRegistered(::javax::management::ObjectName *) = 0; + virtual ::java::util::Set * queryMBeans(::javax::management::ObjectName *, ::javax::management::QueryExp *) = 0; + virtual ::java::util::Set * queryNames(::javax::management::ObjectName *, ::javax::management::QueryExp *) = 0; + virtual ::javax::management::ObjectInstance * registerMBean(::java::lang::Object *, ::javax::management::ObjectName *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void setAttribute(::javax::management::ObjectName *, ::javax::management::Attribute *) = 0; + virtual ::javax::management::AttributeList * setAttributes(::javax::management::ObjectName *, ::javax::management::AttributeList *) = 0; + virtual void unregisterMBean(::javax::management::ObjectName *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_MBeanServer__ diff --git a/libjava/javax/management/MBeanServerBuilder.h b/libjava/javax/management/MBeanServerBuilder.h new file mode 100644 index 00000000000..c0dc95dd46f --- /dev/null +++ b/libjava/javax/management/MBeanServerBuilder.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerBuilder__ +#define __javax_management_MBeanServerBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class MBeanServerBuilder; + class MBeanServerDelegate; + } + } +} + +class javax::management::MBeanServerBuilder : public ::java::lang::Object +{ + +public: + MBeanServerBuilder(); + virtual ::javax::management::MBeanServer * newMBeanServer(::java::lang::String *, ::javax::management::MBeanServer *, ::javax::management::MBeanServerDelegate *); + virtual ::javax::management::MBeanServerDelegate * newMBeanServerDelegate(); + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerBuilder__ diff --git a/libjava/javax/management/MBeanServerConnection.h b/libjava/javax/management/MBeanServerConnection.h new file mode 100644 index 00000000000..10759ab89d7 --- /dev/null +++ b/libjava/javax/management/MBeanServerConnection.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerConnection__ +#define __javax_management_MBeanServerConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class Attribute; + class AttributeList; + class MBeanInfo; + class MBeanServerConnection; + class NotificationFilter; + class NotificationListener; + class ObjectInstance; + class ObjectName; + class QueryExp; + } + } +} + +class javax::management::MBeanServerConnection : public ::java::lang::Object +{ + +public: + virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *) = 0; + virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::lang::Object * getAttribute(::javax::management::ObjectName *, ::java::lang::String *) = 0; + virtual ::javax::management::AttributeList * getAttributes(::javax::management::ObjectName *, JArray< ::java::lang::String * > *) = 0; + virtual ::java::lang::String * getDefaultDomain() = 0; + virtual JArray< ::java::lang::String * > * getDomains() = 0; + virtual ::java::lang::Integer * getMBeanCount() = 0; + virtual ::javax::management::MBeanInfo * getMBeanInfo(::javax::management::ObjectName *) = 0; + virtual ::javax::management::ObjectInstance * getObjectInstance(::javax::management::ObjectName *) = 0; + virtual ::java::lang::Object * invoke(::javax::management::ObjectName *, ::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *) = 0; + virtual jboolean isInstanceOf(::javax::management::ObjectName *, ::java::lang::String *) = 0; + virtual jboolean isRegistered(::javax::management::ObjectName *) = 0; + virtual ::java::util::Set * queryMBeans(::javax::management::ObjectName *, ::javax::management::QueryExp *) = 0; + virtual ::java::util::Set * queryNames(::javax::management::ObjectName *, ::javax::management::QueryExp *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *) = 0; + virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void setAttribute(::javax::management::ObjectName *, ::javax::management::Attribute *) = 0; + virtual ::javax::management::AttributeList * setAttributes(::javax::management::ObjectName *, ::javax::management::AttributeList *) = 0; + virtual void unregisterMBean(::javax::management::ObjectName *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_MBeanServerConnection__ diff --git a/libjava/javax/management/MBeanServerDelegate.h b/libjava/javax/management/MBeanServerDelegate.h new file mode 100644 index 00000000000..4c97feb4796 --- /dev/null +++ b/libjava/javax/management/MBeanServerDelegate.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerDelegate__ +#define __javax_management_MBeanServerDelegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + class MBeanServerDelegate; + class Notification; + class NotificationFilter; + class NotificationListener; + } + } +} + +class javax::management::MBeanServerDelegate : public ::java::lang::Object +{ + +public: + MBeanServerDelegate(); + virtual void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual ::java::lang::String * getImplementationName(); + virtual ::java::lang::String * getImplementationVendor(); + virtual ::java::lang::String * getImplementationVersion(); + virtual ::java::lang::String * getMBeanServerId(); + virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo(); + virtual ::java::lang::String * getSpecificationName(); + virtual ::java::lang::String * getSpecificationVendor(); + virtual ::java::lang::String * getSpecificationVersion(); + virtual void removeNotificationListener(::javax::management::NotificationListener *); + virtual void removeNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *); + virtual void sendNotification(::javax::management::Notification *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::util::List * listeners; + jlong seqNo; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerDelegate__ diff --git a/libjava/javax/management/MBeanServerDelegateMBean.h b/libjava/javax/management/MBeanServerDelegateMBean.h new file mode 100644 index 00000000000..967dca872f4 --- /dev/null +++ b/libjava/javax/management/MBeanServerDelegateMBean.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerDelegateMBean__ +#define __javax_management_MBeanServerDelegateMBean__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServerDelegateMBean; + } + } +} + +class javax::management::MBeanServerDelegateMBean : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getImplementationName() = 0; + virtual ::java::lang::String * getImplementationVendor() = 0; + virtual ::java::lang::String * getImplementationVersion() = 0; + virtual ::java::lang::String * getMBeanServerId() = 0; + virtual ::java::lang::String * getSpecificationName() = 0; + virtual ::java::lang::String * getSpecificationVendor() = 0; + virtual ::java::lang::String * getSpecificationVersion() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_MBeanServerDelegateMBean__ diff --git a/libjava/javax/management/MBeanServerFactory.h b/libjava/javax/management/MBeanServerFactory.h new file mode 100644 index 00000000000..e9df36e5076 --- /dev/null +++ b/libjava/javax/management/MBeanServerFactory.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerFactory__ +#define __javax_management_MBeanServerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class MBeanServerBuilder; + class MBeanServerFactory; + namespace loading + { + class ClassLoaderRepository; + } + } + } +} + +class javax::management::MBeanServerFactory : public ::java::lang::Object +{ + + MBeanServerFactory(); +public: + static ::javax::management::MBeanServer * createMBeanServer(); + static ::javax::management::MBeanServer * createMBeanServer(::java::lang::String *); + static ::java::util::ArrayList * findMBeanServer(::java::lang::String *); + static ::javax::management::loading::ClassLoaderRepository * getClassLoaderRepository(::javax::management::MBeanServer *); + static ::javax::management::MBeanServer * newMBeanServer(); + static ::javax::management::MBeanServer * newMBeanServer(::java::lang::String *); +private: + static ::javax::management::MBeanServer * createServer(::java::lang::String *); +public: + static void releaseMBeanServer(::javax::management::MBeanServer *); +private: + static ::javax::management::MBeanServerBuilder * builder; + static ::java::util::Map * servers; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerFactory__ diff --git a/libjava/javax/management/MBeanServerNotification.h b/libjava/javax/management/MBeanServerNotification.h new file mode 100644 index 00000000000..11a7203c5d5 --- /dev/null +++ b/libjava/javax/management/MBeanServerNotification.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerNotification__ +#define __javax_management_MBeanServerNotification__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServerNotification; + class ObjectName; + } + } +} + +class javax::management::MBeanServerNotification : public ::javax::management::Notification +{ + +public: + MBeanServerNotification(::java::lang::String *, ::java::lang::Object *, jlong, ::javax::management::ObjectName *); + virtual ::javax::management::ObjectName * getMBeanName(); +private: + static const jlong serialVersionUID = 2876477500475969677LL; +public: + static ::java::lang::String * REGISTRATION_NOTIFICATION; + static ::java::lang::String * UNREGISTRATION_NOTIFICATION; +private: + ::javax::management::ObjectName * __attribute__((aligned(__alignof__( ::javax::management::Notification)))) objectName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerNotification__ diff --git a/libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.h b/libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.h new file mode 100644 index 00000000000..1d072107c8d --- /dev/null +++ b/libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration__ +#define __javax_management_MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServerPermission; + class MBeanServerPermission$MBeanServerPermissionCollection; + class MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration; + } + } +} + +class javax::management::MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration : public ::java::lang::Object +{ + +public: + MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration(::javax::management::MBeanServerPermission$MBeanServerPermissionCollection *, ::javax::management::MBeanServerPermission *); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +private: + ::javax::management::MBeanServerPermission * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p; + jboolean done; +public: // actually package-private + ::javax::management::MBeanServerPermission$MBeanServerPermissionCollection * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerPermission$MBeanServerPermissionCollection$MBeanServerPermissionEnumeration__ diff --git a/libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.h b/libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.h new file mode 100644 index 00000000000..61223449118 --- /dev/null +++ b/libjava/javax/management/MBeanServerPermission$MBeanServerPermissionCollection.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerPermission$MBeanServerPermissionCollection__ +#define __javax_management_MBeanServerPermission$MBeanServerPermissionCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } + namespace javax + { + namespace management + { + class MBeanServerPermission; + class MBeanServerPermission$MBeanServerPermissionCollection; + } + } +} + +class javax::management::MBeanServerPermission$MBeanServerPermissionCollection : public ::java::security::PermissionCollection +{ + + MBeanServerPermission$MBeanServerPermissionCollection(::javax::management::MBeanServerPermission *); +public: + virtual void add(::java::security::Permission *); + virtual ::java::util::Enumeration * elements(); + virtual jboolean implies(::java::security::Permission *); +public: // actually package-private + MBeanServerPermission$MBeanServerPermissionCollection(::javax::management::MBeanServerPermission *, ::javax::management::MBeanServerPermission$MBeanServerPermissionCollection *); +private: + static const jlong serialVersionUID = -5661980843569388590LL; + ::javax::management::MBeanServerPermission * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) collectionPermission; +public: // actually package-private + ::javax::management::MBeanServerPermission * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerPermission$MBeanServerPermissionCollection__ diff --git a/libjava/javax/management/MBeanServerPermission.h b/libjava/javax/management/MBeanServerPermission.h new file mode 100644 index 00000000000..b2bdc1908e3 --- /dev/null +++ b/libjava/javax/management/MBeanServerPermission.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanServerPermission__ +#define __javax_management_MBeanServerPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } + namespace javax + { + namespace management + { + class MBeanServerPermission; + } + } +} + +class javax::management::MBeanServerPermission : public ::java::security::BasicPermission +{ + +public: + MBeanServerPermission(::java::lang::String *); + MBeanServerPermission(::java::lang::String *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual jboolean implies(::java::security::Permission *); + virtual ::java::security::PermissionCollection * newPermissionCollection(); +private: + static ::java::lang::String * checkName(::java::lang::String *); + static const jlong serialVersionUID = -5661980843569388590LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanServerPermission__ diff --git a/libjava/javax/management/MBeanTrustPermission.h b/libjava/javax/management/MBeanTrustPermission.h new file mode 100644 index 00000000000..a9740097035 --- /dev/null +++ b/libjava/javax/management/MBeanTrustPermission.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MBeanTrustPermission__ +#define __javax_management_MBeanTrustPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanTrustPermission; + } + } +} + +class javax::management::MBeanTrustPermission : public ::java::security::BasicPermission +{ + +public: + MBeanTrustPermission(::java::lang::String *); + MBeanTrustPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = -2952178077029018140LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MBeanTrustPermission__ diff --git a/libjava/javax/management/MalformedObjectNameException.h b/libjava/javax/management/MalformedObjectNameException.h new file mode 100644 index 00000000000..202fa205182 --- /dev/null +++ b/libjava/javax/management/MalformedObjectNameException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_MalformedObjectNameException__ +#define __javax_management_MalformedObjectNameException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MalformedObjectNameException; + } + } +} + +class javax::management::MalformedObjectNameException : public ::javax::management::OperationsException +{ + +public: + MalformedObjectNameException(); + MalformedObjectNameException(::java::lang::String *); +private: + static const jlong serialVersionUID = -572689714442915824LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_MalformedObjectNameException__ diff --git a/libjava/javax/management/NotCompliantMBeanException.h b/libjava/javax/management/NotCompliantMBeanException.h new file mode 100644 index 00000000000..132f1133138 --- /dev/null +++ b/libjava/javax/management/NotCompliantMBeanException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotCompliantMBeanException__ +#define __javax_management_NotCompliantMBeanException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class NotCompliantMBeanException; + } + } +} + +class javax::management::NotCompliantMBeanException : public ::javax::management::OperationsException +{ + +public: + NotCompliantMBeanException(); + NotCompliantMBeanException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5175579583207963577LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_NotCompliantMBeanException__ diff --git a/libjava/javax/management/Notification.h b/libjava/javax/management/Notification.h new file mode 100644 index 00000000000..f53a4d5d604 --- /dev/null +++ b/libjava/javax/management/Notification.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_Notification__ +#define __javax_management_Notification__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Notification; + } + } +} + +class javax::management::Notification : public ::java::util::EventObject +{ + +public: + Notification(::java::lang::String *, ::java::lang::Object *, jlong); + Notification(::java::lang::String *, ::java::lang::Object *, jlong, jlong); + Notification(::java::lang::String *, ::java::lang::Object *, jlong, jlong, ::java::lang::String *); + Notification(::java::lang::String *, ::java::lang::Object *, jlong, ::java::lang::String *); + virtual ::java::lang::String * getMessage(); + virtual jlong getSequenceNumber(); + virtual jlong getTimeStamp(); + virtual ::java::lang::String * getType(); + virtual ::java::lang::Object * getUserData(); + virtual void setSequenceNumber(jlong); + virtual void setSource(::java::lang::Object *); + virtual void setTimeStamp(jlong); + virtual void setUserData(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) message; + jlong sequenceNumber; +public: // actually protected + ::java::lang::Object * source; +private: + jlong timeStamp; + ::java::lang::String * type; + ::java::lang::Object * userData; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_Notification__ diff --git a/libjava/javax/management/NotificationBroadcaster.h b/libjava/javax/management/NotificationBroadcaster.h new file mode 100644 index 00000000000..0cd53dc61c0 --- /dev/null +++ b/libjava/javax/management/NotificationBroadcaster.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationBroadcaster__ +#define __javax_management_NotificationBroadcaster__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + class NotificationBroadcaster; + class NotificationFilter; + class NotificationListener; + } + } +} + +class javax::management::NotificationBroadcaster : public ::java::lang::Object +{ + +public: + virtual void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo() = 0; + virtual void removeNotificationListener(::javax::management::NotificationListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_NotificationBroadcaster__ diff --git a/libjava/javax/management/NotificationEmitter.h b/libjava/javax/management/NotificationEmitter.h new file mode 100644 index 00000000000..2bdebc654b4 --- /dev/null +++ b/libjava/javax/management/NotificationEmitter.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationEmitter__ +#define __javax_management_NotificationEmitter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + class NotificationEmitter; + class NotificationFilter; + class NotificationListener; + } + } +} + +class javax::management::NotificationEmitter : public ::java::lang::Object +{ + +public: + virtual void removeNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual void addNotificationListener(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *) = 0; + virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotificationInfo() = 0; + virtual void removeNotificationListener(::javax::management::NotificationListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_NotificationEmitter__ diff --git a/libjava/javax/management/NotificationFilter.h b/libjava/javax/management/NotificationFilter.h new file mode 100644 index 00000000000..b65b1b13b3f --- /dev/null +++ b/libjava/javax/management/NotificationFilter.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationFilter__ +#define __javax_management_NotificationFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Notification; + class NotificationFilter; + } + } +} + +class javax::management::NotificationFilter : public ::java::lang::Object +{ + +public: + virtual jboolean isNotificationEnabled(::javax::management::Notification *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_NotificationFilter__ diff --git a/libjava/javax/management/NotificationListener.h b/libjava/javax/management/NotificationListener.h new file mode 100644 index 00000000000..9561e10be06 --- /dev/null +++ b/libjava/javax/management/NotificationListener.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_NotificationListener__ +#define __javax_management_NotificationListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class Notification; + class NotificationListener; + } + } +} + +class javax::management::NotificationListener : public ::java::lang::Object +{ + +public: + virtual void handleNotification(::javax::management::Notification *, ::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_NotificationListener__ diff --git a/libjava/javax/management/ObjectInstance.h b/libjava/javax/management/ObjectInstance.h new file mode 100644 index 00000000000..43755ef44f6 --- /dev/null +++ b/libjava/javax/management/ObjectInstance.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_ObjectInstance__ +#define __javax_management_ObjectInstance__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ObjectInstance; + class ObjectName; + } + } +} + +class javax::management::ObjectInstance : public ::java::lang::Object +{ + +public: + ObjectInstance(::javax::management::ObjectName *, ::java::lang::String *); + ObjectInstance(::java::lang::String *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getClassName(); + virtual ::javax::management::ObjectName * getObjectName(); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = -4099952623687795850LL; + ::javax::management::ObjectName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * className; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_ObjectInstance__ diff --git a/libjava/javax/management/ObjectName.h b/libjava/javax/management/ObjectName.h new file mode 100644 index 00000000000..aaaf89b5ebf --- /dev/null +++ b/libjava/javax/management/ObjectName.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_ObjectName__ +#define __javax_management_ObjectName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class ObjectName; + } + } +} + +class javax::management::ObjectName : public ::java::lang::Object +{ + +public: + ObjectName(::java::lang::String *); + ObjectName(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + ObjectName(::java::lang::String *, ::java::util::Hashtable *); +private: + void checkComponents(); +public: + virtual jboolean apply(::javax::management::ObjectName *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getCanonicalKeyPropertyListString(); + virtual ::java::lang::String * getCanonicalName(); + virtual ::java::lang::String * getDomain(); + static ::javax::management::ObjectName * getInstance(::javax::management::ObjectName *); + static ::javax::management::ObjectName * getInstance(::java::lang::String *); + static ::javax::management::ObjectName * getInstance(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static ::javax::management::ObjectName * getInstance(::java::lang::String *, ::java::util::Hashtable *); + virtual ::java::lang::String * getKeyProperty(::java::lang::String *); + virtual ::java::util::Hashtable * getKeyPropertyList(); + virtual ::java::lang::String * getKeyPropertyListString(); + virtual jint hashCode(); + virtual jboolean isDomainPattern(); + virtual jboolean isPattern(); + virtual jboolean isPropertyPattern(); + static ::java::lang::String * quote(::java::lang::String *); + virtual void setMBeanServer(::javax::management::MBeanServer *); + virtual ::java::lang::String * toString(); + static ::java::lang::String * unquote(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) domain; + ::java::util::TreeMap * properties; + ::java::lang::String * propertyListString; + jboolean propertyPattern; + ::javax::management::MBeanServer * server; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_ObjectName__ diff --git a/libjava/javax/management/OperationsException.h b/libjava/javax/management/OperationsException.h new file mode 100644 index 00000000000..528e0600f68 --- /dev/null +++ b/libjava/javax/management/OperationsException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_OperationsException__ +#define __javax_management_OperationsException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class OperationsException; + } + } +} + +class javax::management::OperationsException : public ::javax::management::JMException +{ + +public: + OperationsException(); + OperationsException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4967597595580536216LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_OperationsException__ diff --git a/libjava/javax/management/QueryExp.h b/libjava/javax/management/QueryExp.h new file mode 100644 index 00000000000..7790c378311 --- /dev/null +++ b/libjava/javax/management/QueryExp.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_QueryExp__ +#define __javax_management_QueryExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class ObjectName; + class QueryExp; + } + } +} + +class javax::management::QueryExp : public ::java::lang::Object +{ + +public: + virtual jboolean apply(::javax::management::ObjectName *) = 0; + virtual void setMBeanServer(::javax::management::MBeanServer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_QueryExp__ diff --git a/libjava/javax/management/ReflectionException.h b/libjava/javax/management/ReflectionException.h new file mode 100644 index 00000000000..d8b08802cb4 --- /dev/null +++ b/libjava/javax/management/ReflectionException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_ReflectionException__ +#define __javax_management_ReflectionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ReflectionException; + } + } +} + +class javax::management::ReflectionException : public ::javax::management::JMException +{ + +public: + ReflectionException(::java::lang::Exception *); + ReflectionException(::java::lang::Exception *, ::java::lang::String *); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::Exception * getTargetException(); +private: + static const jlong serialVersionUID = 9170809325636915553LL; + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::javax::management::JMException)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_ReflectionException__ diff --git a/libjava/javax/management/RuntimeErrorException.h b/libjava/javax/management/RuntimeErrorException.h new file mode 100644 index 00000000000..fdf440a1f5a --- /dev/null +++ b/libjava/javax/management/RuntimeErrorException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_RuntimeErrorException__ +#define __javax_management_RuntimeErrorException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class RuntimeErrorException; + } + } +} + +class javax::management::RuntimeErrorException : public ::javax::management::JMRuntimeException +{ + +public: + RuntimeErrorException(::java::lang::Error *); + RuntimeErrorException(::java::lang::Error *, ::java::lang::String *); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::Error * getTargetError(); +private: + static const jlong serialVersionUID = 704338937753949796LL; + ::java::lang::Error * __attribute__((aligned(__alignof__( ::javax::management::JMRuntimeException)))) error; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_RuntimeErrorException__ diff --git a/libjava/javax/management/RuntimeMBeanException.h b/libjava/javax/management/RuntimeMBeanException.h new file mode 100644 index 00000000000..599cb916e56 --- /dev/null +++ b/libjava/javax/management/RuntimeMBeanException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_RuntimeMBeanException__ +#define __javax_management_RuntimeMBeanException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class RuntimeMBeanException; + } + } +} + +class javax::management::RuntimeMBeanException : public ::javax::management::JMRuntimeException +{ + +public: + RuntimeMBeanException(::java::lang::RuntimeException *); + RuntimeMBeanException(::java::lang::RuntimeException *, ::java::lang::String *); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::RuntimeException * getTargetException(); +private: + static const jlong serialVersionUID = 5274912751982730171LL; + ::java::lang::RuntimeException * __attribute__((aligned(__alignof__( ::javax::management::JMRuntimeException)))) runtimeException; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_RuntimeMBeanException__ diff --git a/libjava/javax/management/RuntimeOperationsException.h b/libjava/javax/management/RuntimeOperationsException.h new file mode 100644 index 00000000000..3a8a1e71761 --- /dev/null +++ b/libjava/javax/management/RuntimeOperationsException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_RuntimeOperationsException__ +#define __javax_management_RuntimeOperationsException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class RuntimeOperationsException; + } + } +} + +class javax::management::RuntimeOperationsException : public ::javax::management::JMRuntimeException +{ + +public: + RuntimeOperationsException(::java::lang::RuntimeException *); + RuntimeOperationsException(::java::lang::RuntimeException *, ::java::lang::String *); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::RuntimeException * getTargetException(); +private: + static const jlong serialVersionUID = -8408923047489133588LL; + ::java::lang::RuntimeException * __attribute__((aligned(__alignof__( ::javax::management::JMRuntimeException)))) runtimeException; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_RuntimeOperationsException__ diff --git a/libjava/javax/management/ServiceNotFoundException.h b/libjava/javax/management/ServiceNotFoundException.h new file mode 100644 index 00000000000..8eb29020899 --- /dev/null +++ b/libjava/javax/management/ServiceNotFoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_ServiceNotFoundException__ +#define __javax_management_ServiceNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class ServiceNotFoundException; + } + } +} + +class javax::management::ServiceNotFoundException : public ::javax::management::OperationsException +{ + +public: + ServiceNotFoundException(); + ServiceNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3990675661956646827LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_ServiceNotFoundException__ diff --git a/libjava/javax/management/StandardMBean.h b/libjava/javax/management/StandardMBean.h new file mode 100644 index 00000000000..d4dabb19db7 --- /dev/null +++ b/libjava/javax/management/StandardMBean.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_StandardMBean__ +#define __javax_management_StandardMBean__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class Attribute; + class AttributeList; + class MBeanAttributeInfo; + class MBeanConstructorInfo; + class MBeanFeatureInfo; + class MBeanInfo; + class MBeanOperationInfo; + class MBeanParameterInfo; + class StandardMBean; + } + } +} + +class javax::management::StandardMBean : public ::java::lang::Object +{ + +public: // actually protected + StandardMBean(::java::lang::Class *); +public: + StandardMBean(::java::lang::Object *, ::java::lang::Class *); +public: // actually protected + virtual void cacheMBeanInfo(::javax::management::MBeanInfo *); +public: + virtual ::java::lang::Object * getAttribute(::java::lang::String *); + virtual ::javax::management::AttributeList * getAttributes(JArray< ::java::lang::String * > *); +public: // actually protected + virtual ::javax::management::MBeanInfo * getCachedMBeanInfo(); + virtual ::java::lang::String * getClassName(::javax::management::MBeanInfo *); + virtual JArray< ::javax::management::MBeanConstructorInfo * > * getConstructors(JArray< ::javax::management::MBeanConstructorInfo * > *, ::java::lang::Object *); + virtual ::java::lang::String * getDescription(::javax::management::MBeanAttributeInfo *); + virtual ::java::lang::String * getDescription(::javax::management::MBeanConstructorInfo *); + virtual ::java::lang::String * getDescription(::javax::management::MBeanConstructorInfo *, ::javax::management::MBeanParameterInfo *, jint); + virtual ::java::lang::String * getDescription(::javax::management::MBeanFeatureInfo *); + virtual ::java::lang::String * getDescription(::javax::management::MBeanInfo *); + virtual ::java::lang::String * getDescription(::javax::management::MBeanOperationInfo *); + virtual ::java::lang::String * getDescription(::javax::management::MBeanOperationInfo *, ::javax::management::MBeanParameterInfo *, jint); + virtual jint getImpact(::javax::management::MBeanOperationInfo *); +public: + virtual ::java::lang::Object * getImplementation(); + virtual ::java::lang::Class * getImplementationClass(); + virtual ::javax::management::MBeanInfo * getMBeanInfo(); + virtual ::java::lang::Class * getMBeanInterface(); +public: // actually protected + virtual ::java::lang::String * getParameterName(::javax::management::MBeanConstructorInfo *, ::javax::management::MBeanParameterInfo *, jint); + virtual ::java::lang::String * getParameterName(::javax::management::MBeanOperationInfo *, ::javax::management::MBeanParameterInfo *, jint); +public: + virtual ::java::lang::Object * invoke(::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *); + virtual void setAttribute(::javax::management::Attribute *); + virtual ::javax::management::AttributeList * setAttributes(::javax::management::AttributeList *); + virtual void setImplementation(::java::lang::Object *); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iface; + ::java::lang::Object * impl; + ::javax::management::MBeanInfo * info; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_StandardMBean__ diff --git a/libjava/javax/management/ValueExp.h b/libjava/javax/management/ValueExp.h new file mode 100644 index 00000000000..4837d9f62c1 --- /dev/null +++ b/libjava/javax/management/ValueExp.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_ValueExp__ +#define __javax_management_ValueExp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanServer; + class ObjectName; + class ValueExp; + } + } +} + +class javax::management::ValueExp : public ::java::lang::Object +{ + +public: + virtual ::javax::management::ValueExp * apply(::javax::management::ObjectName *) = 0; + virtual void setMBeanServer(::javax::management::MBeanServer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_ValueExp__ diff --git a/libjava/javax/management/loading/ClassLoaderRepository.h b/libjava/javax/management/loading/ClassLoaderRepository.h new file mode 100644 index 00000000000..0332c059c7d --- /dev/null +++ b/libjava/javax/management/loading/ClassLoaderRepository.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_loading_ClassLoaderRepository__ +#define __javax_management_loading_ClassLoaderRepository__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace loading + { + class ClassLoaderRepository; + } + } + } +} + +class javax::management::loading::ClassLoaderRepository : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * loadClass(::java::lang::String *) = 0; + virtual ::java::lang::Class * loadClassBefore(::java::lang::ClassLoader *, ::java::lang::String *) = 0; + virtual ::java::lang::Class * loadClassWithout(::java::lang::ClassLoader *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_loading_ClassLoaderRepository__ diff --git a/libjava/javax/management/openmbean/ArrayType.h b/libjava/javax/management/openmbean/ArrayType.h new file mode 100644 index 00000000000..ba8dece65a7 --- /dev/null +++ b/libjava/javax/management/openmbean/ArrayType.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_ArrayType__ +#define __javax_management_openmbean_ArrayType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class ArrayType; + class OpenType; + } + } + } +} + +class javax::management::openmbean::ArrayType : public ::javax::management::openmbean::OpenType +{ + + static ::java::lang::String * getArrayClassName(::java::lang::String *, jint); +public: + ArrayType(jint, ::javax::management::openmbean::OpenType *); + virtual jboolean equals(::java::lang::Object *); + virtual jint getDimension(); + virtual ::javax::management::openmbean::OpenType * getElementOpenType(); + virtual jint hashCode(); + virtual jboolean isValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 720504429830309770LL; + jint __attribute__((aligned(__alignof__( ::javax::management::openmbean::OpenType)))) dimension; + ::javax::management::openmbean::OpenType * elementType; + ::java::lang::Integer * hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_ArrayType__ diff --git a/libjava/javax/management/openmbean/CompositeData.h b/libjava/javax/management/openmbean/CompositeData.h new file mode 100644 index 00000000000..7382cdf927c --- /dev/null +++ b/libjava/javax/management/openmbean/CompositeData.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_CompositeData__ +#define __javax_management_openmbean_CompositeData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + class CompositeType; + } + } + } +} + +class javax::management::openmbean::CompositeData : public ::java::lang::Object +{ + +public: + virtual jboolean containsKey(::java::lang::String *) = 0; + virtual jboolean containsValue(::java::lang::Object *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::Object * get(::java::lang::String *) = 0; + virtual JArray< ::java::lang::Object * > * getAll(JArray< ::java::lang::String * > *) = 0; + virtual ::javax::management::openmbean::CompositeType * getCompositeType() = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::java::util::Collection * values() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_CompositeData__ diff --git a/libjava/javax/management/openmbean/CompositeDataSupport.h b/libjava/javax/management/openmbean/CompositeDataSupport.h new file mode 100644 index 00000000000..fcf0b73a96b --- /dev/null +++ b/libjava/javax/management/openmbean/CompositeDataSupport.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_CompositeDataSupport__ +#define __javax_management_openmbean_CompositeDataSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeDataSupport; + class CompositeType; + } + } + } +} + +class javax::management::openmbean::CompositeDataSupport : public ::java::lang::Object +{ + +public: + CompositeDataSupport(::javax::management::openmbean::CompositeType *, ::java::util::Map *); + CompositeDataSupport(::javax::management::openmbean::CompositeType *, JArray< ::java::lang::String * > *, JArray< ::java::lang::Object * > *); + virtual jboolean containsKey(::java::lang::String *); + virtual jboolean containsValue(::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::String *); + virtual JArray< ::java::lang::Object * > * getAll(JArray< ::java::lang::String * > *); + virtual ::javax::management::openmbean::CompositeType * getCompositeType(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Collection * values(); +private: + static const jlong serialVersionUID = 8003518976613702244LL; + ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) contents; + ::javax::management::openmbean::CompositeType * compositeType; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_CompositeDataSupport__ diff --git a/libjava/javax/management/openmbean/CompositeType.h b/libjava/javax/management/openmbean/CompositeType.h new file mode 100644 index 00000000000..30dcad38fda --- /dev/null +++ b/libjava/javax/management/openmbean/CompositeType.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_CompositeType__ +#define __javax_management_openmbean_CompositeType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeType; + class OpenType; + } + } + } +} + +class javax::management::openmbean::CompositeType : public ::javax::management::openmbean::OpenType +{ + +public: + CompositeType(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::javax::management::openmbean::OpenType * > *); + virtual jboolean containsKey(::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getDescription(::java::lang::String *); + virtual ::javax::management::openmbean::OpenType * getType(::java::lang::String *); + virtual jint hashCode(); + virtual jboolean isValue(::java::lang::Object *); + virtual ::java::util::Set * keySet(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -5366242454346948798LL; + ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::javax::management::openmbean::OpenType)))) nameToDescription; + ::java::util::TreeMap * nameToType; + ::java::lang::Integer * hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_CompositeType__ diff --git a/libjava/javax/management/openmbean/InvalidKeyException.h b/libjava/javax/management/openmbean/InvalidKeyException.h new file mode 100644 index 00000000000..8534b941fde --- /dev/null +++ b/libjava/javax/management/openmbean/InvalidKeyException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_InvalidKeyException__ +#define __javax_management_openmbean_InvalidKeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class InvalidKeyException; + } + } + } +} + +class javax::management::openmbean::InvalidKeyException : public ::java::lang::IllegalArgumentException +{ + +public: + InvalidKeyException(); + InvalidKeyException(::java::lang::String *); +private: + static const jlong serialVersionUID = 4224269443946322062LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_InvalidKeyException__ diff --git a/libjava/javax/management/openmbean/InvalidOpenTypeException.h b/libjava/javax/management/openmbean/InvalidOpenTypeException.h new file mode 100644 index 00000000000..8dec6485981 --- /dev/null +++ b/libjava/javax/management/openmbean/InvalidOpenTypeException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_InvalidOpenTypeException__ +#define __javax_management_openmbean_InvalidOpenTypeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class InvalidOpenTypeException; + } + } + } +} + +class javax::management::openmbean::InvalidOpenTypeException : public ::java::lang::IllegalArgumentException +{ + +public: + InvalidOpenTypeException(); + InvalidOpenTypeException(::java::lang::String *); +private: + static const jlong serialVersionUID = -2837312755412327534LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_InvalidOpenTypeException__ diff --git a/libjava/javax/management/openmbean/KeyAlreadyExistsException.h b/libjava/javax/management/openmbean/KeyAlreadyExistsException.h new file mode 100644 index 00000000000..40269dd03f0 --- /dev/null +++ b/libjava/javax/management/openmbean/KeyAlreadyExistsException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_KeyAlreadyExistsException__ +#define __javax_management_openmbean_KeyAlreadyExistsException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class KeyAlreadyExistsException; + } + } + } +} + +class javax::management::openmbean::KeyAlreadyExistsException : public ::java::lang::IllegalArgumentException +{ + +public: + KeyAlreadyExistsException(); + KeyAlreadyExistsException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1845183636745282866LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_KeyAlreadyExistsException__ diff --git a/libjava/javax/management/openmbean/OpenDataException.h b/libjava/javax/management/openmbean/OpenDataException.h new file mode 100644 index 00000000000..d79caa5eb8a --- /dev/null +++ b/libjava/javax/management/openmbean/OpenDataException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenDataException__ +#define __javax_management_openmbean_OpenDataException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenDataException; + } + } + } +} + +class javax::management::openmbean::OpenDataException : public ::javax::management::JMException +{ + +public: + OpenDataException(); + OpenDataException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8346311255433349870LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenDataException__ diff --git a/libjava/javax/management/openmbean/OpenMBeanAttributeInfo.h b/libjava/javax/management/openmbean/OpenMBeanAttributeInfo.h new file mode 100644 index 00000000000..2e576dcd931 --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanAttributeInfo.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanAttributeInfo__ +#define __javax_management_openmbean_OpenMBeanAttributeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanAttributeInfo; + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenMBeanAttributeInfo : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isIs() = 0; + virtual jboolean isReadable() = 0; + virtual jboolean isWritable() = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::java::lang::Object * getDefaultValue() = 0; + virtual ::java::lang::String * getDescription() = 0; + virtual ::java::util::Set * getLegalValues() = 0; + virtual ::java::lang::Comparable * getMaxValue() = 0; + virtual ::java::lang::Comparable * getMinValue() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::management::openmbean::OpenType * getOpenType() = 0; + virtual jboolean hasDefaultValue() = 0; + virtual jboolean hasLegalValues() = 0; + virtual jboolean hasMaxValue() = 0; + virtual jboolean hasMinValue() = 0; + virtual jboolean isValue(::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_OpenMBeanAttributeInfo__ diff --git a/libjava/javax/management/openmbean/OpenMBeanAttributeInfoSupport.h b/libjava/javax/management/openmbean/OpenMBeanAttributeInfoSupport.h new file mode 100644 index 00000000000..a9cdbcfcf06 --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanAttributeInfoSupport.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanAttributeInfoSupport__ +#define __javax_management_openmbean_OpenMBeanAttributeInfoSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanAttributeInfoSupport; + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenMBeanAttributeInfoSupport : public ::javax::management::MBeanAttributeInfo +{ + +public: + OpenMBeanAttributeInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, jboolean, jboolean, jboolean); + OpenMBeanAttributeInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, jboolean, jboolean, jboolean, ::java::lang::Object *); + OpenMBeanAttributeInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, jboolean, jboolean, jboolean, ::java::lang::Object *, ::java::lang::Comparable *, ::java::lang::Comparable *); + OpenMBeanAttributeInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, jboolean, jboolean, jboolean, ::java::lang::Object *, JArray< ::java::lang::Object * > *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getDefaultValue(); + virtual ::java::util::Set * getLegalValues(); + virtual ::java::lang::Comparable * getMaxValue(); + virtual ::java::lang::Comparable * getMinValue(); + virtual ::javax::management::openmbean::OpenType * getOpenType(); + virtual jboolean hasDefaultValue(); + virtual jint hashCode(); + virtual jboolean hasLegalValues(); + virtual jboolean hasMaxValue(); + virtual jboolean hasMinValue(); + virtual jboolean isValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -4867215622149721849LL; + ::javax::management::openmbean::OpenType * __attribute__((aligned(__alignof__( ::javax::management::MBeanAttributeInfo)))) openType; + ::java::lang::Object * defaultValue; + ::java::util::Set * legalValues; + ::java::lang::Comparable * minValue; + ::java::lang::Comparable * maxValue; + ::java::lang::Integer * hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenMBeanAttributeInfoSupport__ diff --git a/libjava/javax/management/openmbean/OpenMBeanConstructorInfo.h b/libjava/javax/management/openmbean/OpenMBeanConstructorInfo.h new file mode 100644 index 00000000000..07adf096c01 --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanConstructorInfo.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanConstructorInfo__ +#define __javax_management_openmbean_OpenMBeanConstructorInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanParameterInfo; + namespace openmbean + { + class OpenMBeanConstructorInfo; + } + } + } +} + +class javax::management::openmbean::OpenMBeanConstructorInfo : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::String * getDescription() = 0; + virtual ::java::lang::String * getName() = 0; + virtual JArray< ::javax::management::MBeanParameterInfo * > * getSignature() = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_OpenMBeanConstructorInfo__ diff --git a/libjava/javax/management/openmbean/OpenMBeanConstructorInfoSupport.h b/libjava/javax/management/openmbean/OpenMBeanConstructorInfoSupport.h new file mode 100644 index 00000000000..a64d9cdda57 --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanConstructorInfoSupport.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanConstructorInfoSupport__ +#define __javax_management_openmbean_OpenMBeanConstructorInfoSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanConstructorInfoSupport; + class OpenMBeanParameterInfo; + } + } + } +} + +class javax::management::openmbean::OpenMBeanConstructorInfoSupport : public ::javax::management::MBeanConstructorInfo +{ + +public: + OpenMBeanConstructorInfoSupport(::java::lang::String *, ::java::lang::String *, JArray< ::javax::management::openmbean::OpenMBeanParameterInfo * > *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -4400441579007477003LL; + ::java::lang::Integer * __attribute__((aligned(__alignof__( ::javax::management::MBeanConstructorInfo)))) hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenMBeanConstructorInfoSupport__ diff --git a/libjava/javax/management/openmbean/OpenMBeanInfo.h b/libjava/javax/management/openmbean/OpenMBeanInfo.h new file mode 100644 index 00000000000..2d61d82326e --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanInfo.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanInfo__ +#define __javax_management_openmbean_OpenMBeanInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanAttributeInfo; + class MBeanConstructorInfo; + class MBeanNotificationInfo; + class MBeanOperationInfo; + namespace openmbean + { + class OpenMBeanInfo; + } + } + } +} + +class javax::management::openmbean::OpenMBeanInfo : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual JArray< ::javax::management::MBeanAttributeInfo * > * getAttributes() = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual JArray< ::javax::management::MBeanConstructorInfo * > * getConstructors() = 0; + virtual ::java::lang::String * getDescription() = 0; + virtual JArray< ::javax::management::MBeanNotificationInfo * > * getNotifications() = 0; + virtual JArray< ::javax::management::MBeanOperationInfo * > * getOperations() = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_OpenMBeanInfo__ diff --git a/libjava/javax/management/openmbean/OpenMBeanInfoSupport.h b/libjava/javax/management/openmbean/OpenMBeanInfoSupport.h new file mode 100644 index 00000000000..4b4e500311d --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanInfoSupport.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanInfoSupport__ +#define __javax_management_openmbean_OpenMBeanInfoSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanNotificationInfo; + namespace openmbean + { + class OpenMBeanAttributeInfo; + class OpenMBeanConstructorInfo; + class OpenMBeanInfoSupport; + class OpenMBeanOperationInfo; + } + } + } +} + +class javax::management::openmbean::OpenMBeanInfoSupport : public ::javax::management::MBeanInfo +{ + +public: + OpenMBeanInfoSupport(::java::lang::String *, ::java::lang::String *, JArray< ::javax::management::openmbean::OpenMBeanAttributeInfo * > *, JArray< ::javax::management::openmbean::OpenMBeanConstructorInfo * > *, JArray< ::javax::management::openmbean::OpenMBeanOperationInfo * > *, JArray< ::javax::management::MBeanNotificationInfo * > *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4349395935420511492LL; + ::java::lang::Integer * __attribute__((aligned(__alignof__( ::javax::management::MBeanInfo)))) hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenMBeanInfoSupport__ diff --git a/libjava/javax/management/openmbean/OpenMBeanOperationInfo.h b/libjava/javax/management/openmbean/OpenMBeanOperationInfo.h new file mode 100644 index 00000000000..4cdf93114d3 --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanOperationInfo.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanOperationInfo__ +#define __javax_management_openmbean_OpenMBeanOperationInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + class MBeanParameterInfo; + namespace openmbean + { + class OpenMBeanOperationInfo; + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenMBeanOperationInfo : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::String * getDescription() = 0; + virtual jint getImpact() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::management::openmbean::OpenType * getReturnOpenType() = 0; + virtual ::java::lang::String * getReturnType() = 0; + virtual JArray< ::javax::management::MBeanParameterInfo * > * getSignature() = 0; + virtual jint hashCode() = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_OpenMBeanOperationInfo__ diff --git a/libjava/javax/management/openmbean/OpenMBeanOperationInfoSupport.h b/libjava/javax/management/openmbean/OpenMBeanOperationInfoSupport.h new file mode 100644 index 00000000000..04071e35afd --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanOperationInfoSupport.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanOperationInfoSupport__ +#define __javax_management_openmbean_OpenMBeanOperationInfoSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanOperationInfoSupport; + class OpenMBeanParameterInfo; + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenMBeanOperationInfoSupport : public ::javax::management::MBeanOperationInfo +{ + +public: + OpenMBeanOperationInfoSupport(::java::lang::String *, ::java::lang::String *, JArray< ::javax::management::openmbean::OpenMBeanParameterInfo * > *, ::javax::management::openmbean::OpenType *, jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::management::openmbean::OpenType * getReturnOpenType(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4996859732565369366LL; + ::javax::management::openmbean::OpenType * __attribute__((aligned(__alignof__( ::javax::management::MBeanOperationInfo)))) returnOpenType; + ::java::lang::Integer * hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenMBeanOperationInfoSupport__ diff --git a/libjava/javax/management/openmbean/OpenMBeanParameterInfo.h b/libjava/javax/management/openmbean/OpenMBeanParameterInfo.h new file mode 100644 index 00000000000..5fe63058d4f --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanParameterInfo.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanParameterInfo__ +#define __javax_management_openmbean_OpenMBeanParameterInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanParameterInfo; + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenMBeanParameterInfo : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getDefaultValue() = 0; + virtual ::java::lang::String * getDescription() = 0; + virtual ::java::util::Set * getLegalValues() = 0; + virtual ::java::lang::Comparable * getMaxValue() = 0; + virtual ::java::lang::Comparable * getMinValue() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::management::openmbean::OpenType * getOpenType() = 0; + virtual jboolean hasDefaultValue() = 0; + virtual jint hashCode() = 0; + virtual jboolean hasLegalValues() = 0; + virtual jboolean hasMaxValue() = 0; + virtual jboolean hasMinValue() = 0; + virtual jboolean isValue(::java::lang::Object *) = 0; + virtual ::java::lang::String * toString() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_OpenMBeanParameterInfo__ diff --git a/libjava/javax/management/openmbean/OpenMBeanParameterInfoSupport.h b/libjava/javax/management/openmbean/OpenMBeanParameterInfoSupport.h new file mode 100644 index 00000000000..41f8bb4517e --- /dev/null +++ b/libjava/javax/management/openmbean/OpenMBeanParameterInfoSupport.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenMBeanParameterInfoSupport__ +#define __javax_management_openmbean_OpenMBeanParameterInfoSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenMBeanParameterInfoSupport; + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenMBeanParameterInfoSupport : public ::javax::management::MBeanParameterInfo +{ + +public: + OpenMBeanParameterInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *); + OpenMBeanParameterInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, ::java::lang::Object *); + OpenMBeanParameterInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, ::java::lang::Object *, ::java::lang::Comparable *, ::java::lang::Comparable *); + OpenMBeanParameterInfoSupport(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::OpenType *, ::java::lang::Object *, JArray< ::java::lang::Object * > *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getDefaultValue(); + virtual ::java::util::Set * getLegalValues(); + virtual ::java::lang::Comparable * getMaxValue(); + virtual ::java::lang::Comparable * getMinValue(); + virtual ::javax::management::openmbean::OpenType * getOpenType(); + virtual jboolean hasDefaultValue(); + virtual jint hashCode(); + virtual jboolean hasLegalValues(); + virtual jboolean hasMaxValue(); + virtual jboolean hasMinValue(); + virtual jboolean isValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -7235016873758443122LL; + ::javax::management::openmbean::OpenType * __attribute__((aligned(__alignof__( ::javax::management::MBeanParameterInfo)))) openType; + ::java::lang::Object * defaultValue; + ::java::util::Set * legalValues; + ::java::lang::Comparable * minValue; + ::java::lang::Comparable * maxValue; + ::java::lang::Integer * hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenMBeanParameterInfoSupport__ diff --git a/libjava/javax/management/openmbean/OpenType.h b/libjava/javax/management/openmbean/OpenType.h new file mode 100644 index 00000000000..4150cf14f50 --- /dev/null +++ b/libjava/javax/management/openmbean/OpenType.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_OpenType__ +#define __javax_management_openmbean_OpenType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class OpenType; + } + } + } +} + +class javax::management::openmbean::OpenType : public ::java::lang::Object +{ + +public: // actually protected + OpenType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getTypeName(); + virtual jint hashCode() = 0; + virtual jboolean isArray(); + virtual jboolean isValue(::java::lang::Object *) = 0; + virtual ::java::lang::String * toString() = 0; +private: + static const jlong serialVersionUID = -9195195325186646468LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) className; + ::java::lang::String * typeName; + ::java::lang::String * description; +public: + static JArray< ::java::lang::String * > * ALLOWED_CLASSNAMES; + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_OpenType__ diff --git a/libjava/javax/management/openmbean/SimpleType.h b/libjava/javax/management/openmbean/SimpleType.h new file mode 100644 index 00000000000..1ff75672cc7 --- /dev/null +++ b/libjava/javax/management/openmbean/SimpleType.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_SimpleType__ +#define __javax_management_openmbean_SimpleType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class SimpleType; + } + } + } +} + +class javax::management::openmbean::SimpleType : public ::javax::management::openmbean::OpenType +{ + + SimpleType(::java::lang::String *); +public: + jboolean equals(::java::lang::Object *); + jint hashCode(); + jboolean isValue(::java::lang::Object *); + ::java::lang::Object * readResolve(); + ::java::lang::String * toString(); + static ::javax::management::openmbean::SimpleType * BIGDECIMAL; + static ::javax::management::openmbean::SimpleType * BIGINTEGER; + static ::javax::management::openmbean::SimpleType * BOOLEAN; + static ::javax::management::openmbean::SimpleType * BYTE; + static ::javax::management::openmbean::SimpleType * CHARACTER; + static ::javax::management::openmbean::SimpleType * DATE; + static ::javax::management::openmbean::SimpleType * DOUBLE; + static ::javax::management::openmbean::SimpleType * FLOAT; + static ::javax::management::openmbean::SimpleType * INTEGER; + static ::javax::management::openmbean::SimpleType * LONG; + static ::javax::management::openmbean::SimpleType * OBJECTNAME; + static ::javax::management::openmbean::SimpleType * SHORT; + static ::javax::management::openmbean::SimpleType * STRING; + static ::javax::management::openmbean::SimpleType * VOID; +private: + static const jlong serialVersionUID = 2215577471957694503LL; + ::java::lang::Integer * __attribute__((aligned(__alignof__( ::javax::management::openmbean::OpenType)))) hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_SimpleType__ diff --git a/libjava/javax/management/openmbean/TabularData.h b/libjava/javax/management/openmbean/TabularData.h new file mode 100644 index 00000000000..ef70028a983 --- /dev/null +++ b/libjava/javax/management/openmbean/TabularData.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_TabularData__ +#define __javax_management_openmbean_TabularData__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + class TabularData; + class TabularType; + } + } + } +} + +class javax::management::openmbean::TabularData : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::Object * > * calculateIndex(::javax::management::openmbean::CompositeData *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(JArray< ::java::lang::Object * > *) = 0; + virtual jboolean containsValue(::javax::management::openmbean::CompositeData *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::javax::management::openmbean::CompositeData * get(JArray< ::java::lang::Object * > *) = 0; + virtual ::javax::management::openmbean::TabularType * getTabularType() = 0; + virtual jint hashCode() = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Set * keySet() = 0; + virtual void put(::javax::management::openmbean::CompositeData *) = 0; + virtual void putAll(JArray< ::javax::management::openmbean::CompositeData * > *) = 0; + virtual ::javax::management::openmbean::CompositeData * remove(JArray< ::java::lang::Object * > *) = 0; + virtual jint size() = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::java::util::Collection * values() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_management_openmbean_TabularData__ diff --git a/libjava/javax/management/openmbean/TabularDataSupport.h b/libjava/javax/management/openmbean/TabularDataSupport.h new file mode 100644 index 00000000000..23b437650e5 --- /dev/null +++ b/libjava/javax/management/openmbean/TabularDataSupport.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_TabularDataSupport__ +#define __javax_management_openmbean_TabularDataSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeData; + class TabularDataSupport; + class TabularType; + } + } + } +} + +class javax::management::openmbean::TabularDataSupport : public ::java::lang::Object +{ + +public: + TabularDataSupport(::javax::management::openmbean::TabularType *); + TabularDataSupport(::javax::management::openmbean::TabularType *, jint, jfloat); + virtual JArray< ::java::lang::Object * > * calculateIndex(::javax::management::openmbean::CompositeData *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual jboolean containsKey(::java::lang::Object *); + virtual jboolean containsKey(JArray< ::java::lang::Object * > *); + virtual jboolean containsValue(::java::lang::Object *); + virtual jboolean containsValue(::javax::management::openmbean::CompositeData *); + virtual ::java::util::Set * entrySet(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::javax::management::openmbean::CompositeData * get(JArray< ::java::lang::Object * > *); + virtual ::javax::management::openmbean::TabularType * getTabularType(); + virtual jint hashCode(); + virtual jboolean isEmpty(); +private: + jboolean isKeyValid(JArray< ::java::lang::Object * > *); +public: + virtual ::java::util::Set * keySet(); + virtual void put(::javax::management::openmbean::CompositeData *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putAll(JArray< ::javax::management::openmbean::CompositeData * > *); + virtual void putAll(::java::util::Map *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual ::javax::management::openmbean::CompositeData * remove(JArray< ::java::lang::Object * > *); +public: // actually package-private + virtual void setMap(::java::util::Map *); +public: + virtual jint size(); + virtual ::java::lang::String * toString(); + virtual ::java::util::Collection * values(); +private: + static const jlong serialVersionUID = 5720150593236309827LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dataMap; + ::javax::management::openmbean::TabularType * tabularType; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_TabularDataSupport__ diff --git a/libjava/javax/management/openmbean/TabularType.h b/libjava/javax/management/openmbean/TabularType.h new file mode 100644 index 00000000000..071a7049a3d --- /dev/null +++ b/libjava/javax/management/openmbean/TabularType.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_management_openmbean_TabularType__ +#define __javax_management_openmbean_TabularType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace management + { + namespace openmbean + { + class CompositeType; + class TabularType; + } + } + } +} + +class javax::management::openmbean::TabularType : public ::javax::management::openmbean::OpenType +{ + +public: + TabularType(::java::lang::String *, ::java::lang::String *, ::javax::management::openmbean::CompositeType *, JArray< ::java::lang::String * > *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::util::List * getIndexNames(); + virtual ::javax::management::openmbean::CompositeType * getRowType(); + virtual jint hashCode(); + virtual jboolean isValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 6554071860220659261LL; + ::javax::management::openmbean::CompositeType * __attribute__((aligned(__alignof__( ::javax::management::openmbean::OpenType)))) rowType; + ::java::util::List * indexNames; + ::java::lang::Integer * hashCode__; + ::java::lang::String * string; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_management_openmbean_TabularType__ diff --git a/libjava/javax/naming/AuthenticationException.h b/libjava/javax/naming/AuthenticationException.h new file mode 100644 index 00000000000..9f41f0d6825 --- /dev/null +++ b/libjava/javax/naming/AuthenticationException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_AuthenticationException__ +#define __javax_naming_AuthenticationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class AuthenticationException; + } + } +} + +class javax::naming::AuthenticationException : public ::javax::naming::NamingSecurityException +{ + +public: + AuthenticationException(); + AuthenticationException(::java::lang::String *); +private: + static const jlong serialVersionUID = 3678497619904568096LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_AuthenticationException__ diff --git a/libjava/javax/naming/AuthenticationNotSupportedException.h b/libjava/javax/naming/AuthenticationNotSupportedException.h new file mode 100644 index 00000000000..d55627f1286 --- /dev/null +++ b/libjava/javax/naming/AuthenticationNotSupportedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_AuthenticationNotSupportedException__ +#define __javax_naming_AuthenticationNotSupportedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class AuthenticationNotSupportedException; + } + } +} + +class javax::naming::AuthenticationNotSupportedException : public ::javax::naming::NamingSecurityException +{ + +public: + AuthenticationNotSupportedException(); + AuthenticationNotSupportedException(::java::lang::String *); +private: + static const jlong serialVersionUID = -7149033933259492300LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_AuthenticationNotSupportedException__ diff --git a/libjava/javax/naming/BinaryRefAddr.h b/libjava/javax/naming/BinaryRefAddr.h new file mode 100644 index 00000000000..b36ccbd6ae7 --- /dev/null +++ b/libjava/javax/naming/BinaryRefAddr.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_BinaryRefAddr__ +#define __javax_naming_BinaryRefAddr__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class BinaryRefAddr; + } + } +} + +class javax::naming::BinaryRefAddr : public ::javax::naming::RefAddr +{ + +public: + BinaryRefAddr(::java::lang::String *, JArray< jbyte > *); + BinaryRefAddr(::java::lang::String *, JArray< jbyte > *, jint, jint); + virtual ::java::lang::Object * getContent(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = -3415254970957330361LL; +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::javax::naming::RefAddr)))) buf; + static JArray< jchar > * hex; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_BinaryRefAddr__ diff --git a/libjava/javax/naming/Binding.h b/libjava/javax/naming/Binding.h new file mode 100644 index 00000000000..06522b4065e --- /dev/null +++ b/libjava/javax/naming/Binding.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_Binding__ +#define __javax_naming_Binding__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Binding; + } + } +} + +class javax::naming::Binding : public ::javax::naming::NameClassPair +{ + +public: + Binding(::java::lang::String *, ::java::lang::Object *); + Binding(::java::lang::String *, ::java::lang::Object *, jboolean); + Binding(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *); + Binding(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *, jboolean); + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::Object * getObject(); + virtual void setObject(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 8839217842691845890LL; + ::java::lang::Object * __attribute__((aligned(__alignof__( ::javax::naming::NameClassPair)))) boundObj; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_Binding__ diff --git a/libjava/javax/naming/CannotProceedException.h b/libjava/javax/naming/CannotProceedException.h new file mode 100644 index 00000000000..83fe1ec7003 --- /dev/null +++ b/libjava/javax/naming/CannotProceedException.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_CannotProceedException__ +#define __javax_naming_CannotProceedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class CannotProceedException; + class Context; + class Name; + } + } +} + +class javax::naming::CannotProceedException : public ::javax::naming::NamingException +{ + +public: + CannotProceedException(); + CannotProceedException(::java::lang::String *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual void setEnvironment(::java::util::Hashtable *); + virtual ::javax::naming::Name * getRemainingNewName(); + virtual void setRemainingNewName(::javax::naming::Name *); + virtual ::javax::naming::Name * getAltName(); + virtual void setAltName(::javax::naming::Name *); + virtual ::javax::naming::Context * getAltNameCtx(); + virtual void setAltNameCtx(::javax::naming::Context *); +private: + static const jlong serialVersionUID = 1219724816191576813LL; +public: // actually protected + ::javax::naming::Name * __attribute__((aligned(__alignof__( ::javax::naming::NamingException)))) remainingNewName; + ::java::util::Hashtable * environment; + ::javax::naming::Name * altName; + ::javax::naming::Context * altNameCtx; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_CannotProceedException__ diff --git a/libjava/javax/naming/CommunicationException.h b/libjava/javax/naming/CommunicationException.h new file mode 100644 index 00000000000..1a7a118ec04 --- /dev/null +++ b/libjava/javax/naming/CommunicationException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_CommunicationException__ +#define __javax_naming_CommunicationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class CommunicationException; + } + } +} + +class javax::naming::CommunicationException : public ::javax::naming::NamingException +{ + +public: + CommunicationException(); + CommunicationException(::java::lang::String *); +private: + static const jlong serialVersionUID = 3618507780299986611LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_CommunicationException__ diff --git a/libjava/javax/naming/CompositeName.h b/libjava/javax/naming/CompositeName.h new file mode 100644 index 00000000000..8669b7f4b1a --- /dev/null +++ b/libjava/javax/naming/CompositeName.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_CompositeName__ +#define __javax_naming_CompositeName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class CompositeName; + class Name; + } + } +} + +class javax::naming::CompositeName : public ::java::lang::Object +{ + +public: + CompositeName(); +public: // actually protected + CompositeName(::java::util::Enumeration *); +public: + CompositeName(::java::lang::String *); + virtual ::javax::naming::Name * add(jint, ::java::lang::String *); + virtual ::javax::naming::Name * add(::java::lang::String *); + virtual ::javax::naming::Name * addAll(jint, ::javax::naming::Name *); + virtual ::javax::naming::Name * addAll(::javax::naming::Name *); + virtual ::java::lang::Object * clone(); + virtual jint compareTo(::java::lang::Object *); + virtual jboolean endsWith(::javax::naming::Name *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * get(jint); + virtual ::java::util::Enumeration * getAll(); + virtual ::javax::naming::Name * getPrefix(jint); + virtual ::javax::naming::Name * getSuffix(jint); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::lang::Object * remove(jint); + virtual jint size(); + virtual jboolean startsWith(::javax::naming::Name *); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 1667768148915813118LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) elts; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_CompositeName__ diff --git a/libjava/javax/naming/CompoundName.h b/libjava/javax/naming/CompoundName.h new file mode 100644 index 00000000000..a28724b07c6 --- /dev/null +++ b/libjava/javax/naming/CompoundName.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_CompoundName__ +#define __javax_naming_CompoundName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class CompoundName; + class Name; + } + } +} + +class javax::naming::CompoundName : public ::java::lang::Object +{ + + CompoundName(::java::util::Properties *); +public: // actually protected + CompoundName(::java::util::Enumeration *, ::java::util::Properties *); +public: + CompoundName(::java::lang::String *, ::java::util::Properties *); + virtual ::javax::naming::Name * add(jint, ::java::lang::String *); + virtual ::javax::naming::Name * add(::java::lang::String *); + virtual ::javax::naming::Name * addAll(jint, ::javax::naming::Name *); + virtual ::javax::naming::Name * addAll(::javax::naming::Name *); + virtual ::java::lang::Object * clone(); + virtual jint compareTo(::java::lang::Object *); + virtual jboolean endsWith(::javax::naming::Name *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * get(jint); + virtual ::java::util::Enumeration * getAll(); + virtual ::javax::naming::Name * getPrefix(jint); + virtual ::javax::naming::Name * getSuffix(jint); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual ::java::lang::Object * remove(jint); + virtual jint size(); + virtual jboolean startsWith(::javax::naming::Name *); +private: + ::java::lang::String * isSpecial(::java::lang::String *, jint); +public: + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * canonicalize(::java::lang::String *); + void initializeSyntax(); + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 3513100557083972036LL; +public: // actually protected + ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mySyntax; +private: + ::java::util::Vector * elts; + jint direction; + ::java::lang::String * separator; + jboolean ignoreCase; + ::java::lang::String * escape; + ::java::lang::String * beginQuote; + ::java::lang::String * endQuote; + ::java::lang::String * beginQuote2; + ::java::lang::String * endQuote2; + jboolean trimBlanks; + static const jint RIGHT_TO_LEFT = -1; + static const jint LEFT_TO_RIGHT = 1; + static const jint FLAT = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_CompoundName__ diff --git a/libjava/javax/naming/ConfigurationException.h b/libjava/javax/naming/ConfigurationException.h new file mode 100644 index 00000000000..f59a32a96fe --- /dev/null +++ b/libjava/javax/naming/ConfigurationException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ConfigurationException__ +#define __javax_naming_ConfigurationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class ConfigurationException; + } + } +} + +class javax::naming::ConfigurationException : public ::javax::naming::NamingException +{ + +public: + ConfigurationException(); + ConfigurationException(::java::lang::String *); +private: + static const jlong serialVersionUID = -2535156726228855704LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ConfigurationException__ diff --git a/libjava/javax/naming/Context.h b/libjava/javax/naming/Context.h new file mode 100644 index 00000000000..c5b5ed8abe6 --- /dev/null +++ b/libjava/javax/naming/Context.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_Context__ +#define __javax_naming_Context__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + } + } +} + +class javax::naming::Context : public ::java::lang::Object +{ + +public: + virtual void bind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * lookup(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookup(::java::lang::String *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void unbind(::javax::naming::Name *) = 0; + virtual void unbind(::java::lang::String *) = 0; + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual void rename(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *) = 0; + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *) = 0; + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *) = 0; + virtual void destroySubcontext(::javax::naming::Name *) = 0; + virtual void destroySubcontext(::java::lang::String *) = 0; + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookupLink(::java::lang::String *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *) = 0; + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *) = 0; + virtual ::java::util::Hashtable * getEnvironment() = 0; + virtual void close() = 0; + virtual ::java::lang::String * getNameInNamespace() = 0; + static ::java::lang::String * INITIAL_CONTEXT_FACTORY; + static ::java::lang::String * OBJECT_FACTORIES; + static ::java::lang::String * STATE_FACTORIES; + static ::java::lang::String * URL_PKG_PREFIXES; + static ::java::lang::String * PROVIDER_URL; + static ::java::lang::String * DNS_URL; + static ::java::lang::String * AUTHORITATIVE; + static ::java::lang::String * BATCHSIZE; + static ::java::lang::String * REFERRAL; + static ::java::lang::String * SECURITY_PROTOCOL; + static ::java::lang::String * SECURITY_AUTHENTICATION; + static ::java::lang::String * SECURITY_PRINCIPAL; + static ::java::lang::String * SECURITY_CREDENTIALS; + static ::java::lang::String * LANGUAGE; + static ::java::lang::String * APPLET; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_Context__ diff --git a/libjava/javax/naming/ContextNotEmptyException.h b/libjava/javax/naming/ContextNotEmptyException.h new file mode 100644 index 00000000000..791e89d2b18 --- /dev/null +++ b/libjava/javax/naming/ContextNotEmptyException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ContextNotEmptyException__ +#define __javax_naming_ContextNotEmptyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class ContextNotEmptyException; + } + } +} + +class javax::naming::ContextNotEmptyException : public ::javax::naming::NamingException +{ + +public: + ContextNotEmptyException(); + ContextNotEmptyException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1090963683348219877LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ContextNotEmptyException__ diff --git a/libjava/javax/naming/InitialContext.h b/libjava/javax/naming/InitialContext.h new file mode 100644 index 00000000000..6eaac2e54a5 --- /dev/null +++ b/libjava/javax/naming/InitialContext.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_InitialContext__ +#define __javax_naming_InitialContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class InitialContext; + class Name; + class NameParser; + class NamingEnumeration; + } + } +} + +class javax::naming::InitialContext : public ::java::lang::Object +{ + +public: + InitialContext(::java::util::Hashtable *); +public: // actually protected + InitialContext(jboolean); +public: + InitialContext(); +public: // actually protected + virtual void init(::java::util::Hashtable *); +public: // actually package-private + static void merge(::java::util::Hashtable *, ::java::util::Hashtable *); +public: // actually protected + virtual ::javax::naming::Context * getDefaultInitCtx(); + virtual ::javax::naming::Context * getURLOrDefaultInitCtx(::javax::naming::Name *); + virtual ::javax::naming::Context * getURLOrDefaultInitCtx(::java::lang::String *); +public: + virtual void bind(::javax::naming::Name *, ::java::lang::Object *); + virtual void bind(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * lookup(::javax::naming::Name *); + virtual ::java::lang::Object * lookup(::java::lang::String *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *); + virtual void unbind(::javax::naming::Name *); + virtual void unbind(::java::lang::String *); + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *); + virtual void rename(::java::lang::String *, ::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *); + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *); + virtual void destroySubcontext(::javax::naming::Name *); + virtual void destroySubcontext(::java::lang::String *); + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *); + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *); + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *); + virtual ::java::lang::Object * lookupLink(::java::lang::String *); + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *); + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *); + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *); + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *); + virtual ::java::util::Hashtable * getEnvironment(); + virtual void close(); + virtual ::java::lang::String * getNameInNamespace(); +public: // actually protected + ::javax::naming::Context * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultInitCtx; + jboolean gotDefault; + ::java::util::Hashtable * myProps; +public: // actually package-private + static ::java::util::HashSet * colon_list; + static JArray< ::java::lang::String * > * use_properties; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_InitialContext__ diff --git a/libjava/javax/naming/InsufficientResourcesException.h b/libjava/javax/naming/InsufficientResourcesException.h new file mode 100644 index 00000000000..d3fc6603c03 --- /dev/null +++ b/libjava/javax/naming/InsufficientResourcesException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_InsufficientResourcesException__ +#define __javax_naming_InsufficientResourcesException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class InsufficientResourcesException; + } + } +} + +class javax::naming::InsufficientResourcesException : public ::javax::naming::NamingException +{ + +public: + InsufficientResourcesException(); + InsufficientResourcesException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6227672693037844532LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_InsufficientResourcesException__ diff --git a/libjava/javax/naming/InterruptedNamingException.h b/libjava/javax/naming/InterruptedNamingException.h new file mode 100644 index 00000000000..f13b87bb7ad --- /dev/null +++ b/libjava/javax/naming/InterruptedNamingException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_InterruptedNamingException__ +#define __javax_naming_InterruptedNamingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class InterruptedNamingException; + } + } +} + +class javax::naming::InterruptedNamingException : public ::javax::naming::NamingException +{ + +public: + InterruptedNamingException(); + InterruptedNamingException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6404516648893194728LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_InterruptedNamingException__ diff --git a/libjava/javax/naming/InvalidNameException.h b/libjava/javax/naming/InvalidNameException.h new file mode 100644 index 00000000000..47e17576825 --- /dev/null +++ b/libjava/javax/naming/InvalidNameException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_InvalidNameException__ +#define __javax_naming_InvalidNameException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class InvalidNameException; + } + } +} + +class javax::naming::InvalidNameException : public ::javax::naming::NamingException +{ + +public: + InvalidNameException(); + InvalidNameException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8370672380823801105LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_InvalidNameException__ diff --git a/libjava/javax/naming/LimitExceededException.h b/libjava/javax/naming/LimitExceededException.h new file mode 100644 index 00000000000..f6d6fdafa3d --- /dev/null +++ b/libjava/javax/naming/LimitExceededException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_LimitExceededException__ +#define __javax_naming_LimitExceededException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class LimitExceededException; + } + } +} + +class javax::naming::LimitExceededException : public ::javax::naming::NamingException +{ + +public: + LimitExceededException(); + LimitExceededException(::java::lang::String *); +private: + static const jlong serialVersionUID = -776898738660207856LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_LimitExceededException__ diff --git a/libjava/javax/naming/LinkException.h b/libjava/javax/naming/LinkException.h new file mode 100644 index 00000000000..9949157b2ea --- /dev/null +++ b/libjava/javax/naming/LinkException.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_LinkException__ +#define __javax_naming_LinkException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class LinkException; + class Name; + } + } +} + +class javax::naming::LinkException : public ::javax::naming::NamingException +{ + +public: + LinkException(); + LinkException(::java::lang::String *); + virtual ::javax::naming::Name * getLinkResolvedName(); + virtual ::javax::naming::Name * getLinkRemainingName(); + virtual ::java::lang::Object * getLinkResolvedObj(); + virtual ::java::lang::String * getLinkExplanation(); + virtual void setLinkExplanation(::java::lang::String *); + virtual void setLinkResolvedName(::javax::naming::Name *); + virtual void setLinkRemainingName(::javax::naming::Name *); + virtual void setLinkResolvedObj(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(jboolean); +private: + static const jlong serialVersionUID = -7967662604076777712LL; +public: // actually protected + ::javax::naming::Name * __attribute__((aligned(__alignof__( ::javax::naming::NamingException)))) linkResolvedName; + ::java::lang::Object * linkResolvedObj; + ::javax::naming::Name * linkRemainingName; + ::java::lang::String * linkExplanation; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_LinkException__ diff --git a/libjava/javax/naming/LinkLoopException.h b/libjava/javax/naming/LinkLoopException.h new file mode 100644 index 00000000000..4ca06dd9819 --- /dev/null +++ b/libjava/javax/naming/LinkLoopException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_LinkLoopException__ +#define __javax_naming_LinkLoopException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class LinkLoopException; + } + } +} + +class javax::naming::LinkLoopException : public ::javax::naming::LinkException +{ + +public: + LinkLoopException(); + LinkLoopException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3119189944325198009LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_LinkLoopException__ diff --git a/libjava/javax/naming/LinkRef.h b/libjava/javax/naming/LinkRef.h new file mode 100644 index 00000000000..3ef79dcf56d --- /dev/null +++ b/libjava/javax/naming/LinkRef.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_LinkRef__ +#define __javax_naming_LinkRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class LinkRef; + class Name; + } + } +} + +class javax::naming::LinkRef : public ::javax::naming::Reference +{ + +public: + LinkRef(::javax::naming::Name *); + LinkRef(::java::lang::String *); + virtual ::java::lang::String * getLinkName(); +private: + static const jlong serialVersionUID = -5386290613498931298LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_LinkRef__ diff --git a/libjava/javax/naming/MalformedLinkException.h b/libjava/javax/naming/MalformedLinkException.h new file mode 100644 index 00000000000..982cf900df3 --- /dev/null +++ b/libjava/javax/naming/MalformedLinkException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_MalformedLinkException__ +#define __javax_naming_MalformedLinkException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class MalformedLinkException; + } + } +} + +class javax::naming::MalformedLinkException : public ::javax::naming::LinkException +{ + +public: + MalformedLinkException(); + MalformedLinkException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3066740437737830242LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_MalformedLinkException__ diff --git a/libjava/javax/naming/Name.h b/libjava/javax/naming/Name.h new file mode 100644 index 00000000000..4a4dd9942e8 --- /dev/null +++ b/libjava/javax/naming/Name.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_Name__ +#define __javax_naming_Name__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Name; + } + } +} + +class javax::naming::Name : public ::java::lang::Object +{ + +public: + virtual jint size() = 0; + virtual jboolean isEmpty() = 0; + virtual ::java::util::Enumeration * getAll() = 0; + virtual ::java::lang::String * get(jint) = 0; + virtual ::javax::naming::Name * getPrefix(jint) = 0; + virtual ::javax::naming::Name * getSuffix(jint) = 0; + virtual ::javax::naming::Name * add(::java::lang::String *) = 0; + virtual ::javax::naming::Name * add(jint, ::java::lang::String *) = 0; + virtual ::javax::naming::Name * addAll(::javax::naming::Name *) = 0; + virtual ::javax::naming::Name * addAll(jint, ::javax::naming::Name *) = 0; + virtual ::java::lang::Object * remove(jint) = 0; + virtual jboolean startsWith(::javax::naming::Name *) = 0; + virtual jboolean endsWith(::javax::naming::Name *) = 0; + virtual jint compareTo(::java::lang::Object *) = 0; + virtual ::java::lang::Object * clone() = 0; + static const jlong serialVersionUID = -3617482732056931635LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_Name__ diff --git a/libjava/javax/naming/NameAlreadyBoundException.h b/libjava/javax/naming/NameAlreadyBoundException.h new file mode 100644 index 00000000000..dd6a952152d --- /dev/null +++ b/libjava/javax/naming/NameAlreadyBoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NameAlreadyBoundException__ +#define __javax_naming_NameAlreadyBoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NameAlreadyBoundException; + } + } +} + +class javax::naming::NameAlreadyBoundException : public ::javax::naming::NamingException +{ + +public: + NameAlreadyBoundException(); + NameAlreadyBoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8491441000356780586LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NameAlreadyBoundException__ diff --git a/libjava/javax/naming/NameClassPair.h b/libjava/javax/naming/NameClassPair.h new file mode 100644 index 00000000000..690c31e9082 --- /dev/null +++ b/libjava/javax/naming/NameClassPair.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NameClassPair__ +#define __javax_naming_NameClassPair__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NameClassPair; + } + } +} + +class javax::naming::NameClassPair : public ::java::lang::Object +{ + +public: + NameClassPair(::java::lang::String *, ::java::lang::String *); + NameClassPair(::java::lang::String *, ::java::lang::String *, jboolean); + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::String * getName(); + virtual jboolean isRelative(); + virtual void setClassName(::java::lang::String *); + virtual void setName(::java::lang::String *); + virtual void setRelative(jboolean); + virtual void setNameInNamespace(::java::lang::String *); + virtual ::java::lang::String * getNameInNamespace(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 5620776610160863339LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * className; + jboolean isRel; + ::java::lang::String * fullName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NameClassPair__ diff --git a/libjava/javax/naming/NameNotFoundException.h b/libjava/javax/naming/NameNotFoundException.h new file mode 100644 index 00000000000..079d5a02c16 --- /dev/null +++ b/libjava/javax/naming/NameNotFoundException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NameNotFoundException__ +#define __javax_naming_NameNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NameNotFoundException; + } + } +} + +class javax::naming::NameNotFoundException : public ::javax::naming::NamingException +{ + +public: + NameNotFoundException(); + NameNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -8007156725367842053LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NameNotFoundException__ diff --git a/libjava/javax/naming/NameParser.h b/libjava/javax/naming/NameParser.h new file mode 100644 index 00000000000..502fcaec43a --- /dev/null +++ b/libjava/javax/naming/NameParser.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NameParser__ +#define __javax_naming_NameParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Name; + class NameParser; + } + } +} + +class javax::naming::NameParser : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::Name * parse(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_NameParser__ diff --git a/libjava/javax/naming/NamingEnumeration.h b/libjava/javax/naming/NamingEnumeration.h new file mode 100644 index 00000000000..7d848ce1a2c --- /dev/null +++ b/libjava/javax/naming/NamingEnumeration.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NamingEnumeration__ +#define __javax_naming_NamingEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingEnumeration; + } + } +} + +class javax::naming::NamingEnumeration : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * next() = 0; + virtual jboolean hasMore() = 0; + virtual void close() = 0; + virtual jboolean hasMoreElements() = 0; + virtual ::java::lang::Object * nextElement() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_NamingEnumeration__ diff --git a/libjava/javax/naming/NamingException.h b/libjava/javax/naming/NamingException.h new file mode 100644 index 00000000000..75a5ae9951c --- /dev/null +++ b/libjava/javax/naming/NamingException.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NamingException__ +#define __javax_naming_NamingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Name; + class NamingException; + } + } +} + +class javax::naming::NamingException : public ::java::lang::Exception +{ + +public: + NamingException(); + NamingException(::java::lang::String *); + virtual ::java::lang::Throwable * getRootCause(); + virtual void setRootCause(::java::lang::Throwable *); + virtual ::javax::naming::Name * getResolvedName(); + virtual void setResolvedName(::javax::naming::Name *); + virtual ::java::lang::Object * getResolvedObj(); + virtual void setResolvedObj(::java::lang::Object *); + virtual ::javax::naming::Name * getRemainingName(); + virtual void setRemainingName(::javax::naming::Name *); + virtual void appendRemainingName(::javax::naming::Name *); + virtual void appendRemainingComponent(::java::lang::String *); + virtual ::java::lang::String * getExplanation(); + virtual ::java::lang::String * toString(jboolean); + virtual ::java::lang::String * toString(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + static const jlong serialVersionUID = -1299181962103167177LL; +public: // actually protected + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) rootException; + ::javax::naming::Name * resolvedName; + ::java::lang::Object * resolvedObj; + ::javax::naming::Name * remainingName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NamingException__ diff --git a/libjava/javax/naming/NamingSecurityException.h b/libjava/javax/naming/NamingSecurityException.h new file mode 100644 index 00000000000..e2e2a491111 --- /dev/null +++ b/libjava/javax/naming/NamingSecurityException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NamingSecurityException__ +#define __javax_naming_NamingSecurityException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingSecurityException; + } + } +} + +class javax::naming::NamingSecurityException : public ::javax::naming::NamingException +{ + +public: + NamingSecurityException(); + NamingSecurityException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5855287647294685775LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NamingSecurityException__ diff --git a/libjava/javax/naming/NoInitialContextException.h b/libjava/javax/naming/NoInitialContextException.h new file mode 100644 index 00000000000..e598071d16e --- /dev/null +++ b/libjava/javax/naming/NoInitialContextException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NoInitialContextException__ +#define __javax_naming_NoInitialContextException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NoInitialContextException; + } + } +} + +class javax::naming::NoInitialContextException : public ::javax::naming::NamingException +{ + +public: + NoInitialContextException(); + NoInitialContextException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3413733186901258623LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NoInitialContextException__ diff --git a/libjava/javax/naming/NoPermissionException.h b/libjava/javax/naming/NoPermissionException.h new file mode 100644 index 00000000000..d96556d9006 --- /dev/null +++ b/libjava/javax/naming/NoPermissionException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NoPermissionException__ +#define __javax_naming_NoPermissionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NoPermissionException; + } + } +} + +class javax::naming::NoPermissionException : public ::javax::naming::NamingSecurityException +{ + +public: + NoPermissionException(); + NoPermissionException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8395332708699751775LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NoPermissionException__ diff --git a/libjava/javax/naming/NotContextException.h b/libjava/javax/naming/NotContextException.h new file mode 100644 index 00000000000..fd488ffb773 --- /dev/null +++ b/libjava/javax/naming/NotContextException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_NotContextException__ +#define __javax_naming_NotContextException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NotContextException; + } + } +} + +class javax::naming::NotContextException : public ::javax::naming::NamingException +{ + +public: + NotContextException(); + NotContextException(::java::lang::String *); +private: + static const jlong serialVersionUID = 849752551644540417LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_NotContextException__ diff --git a/libjava/javax/naming/OperationNotSupportedException.h b/libjava/javax/naming/OperationNotSupportedException.h new file mode 100644 index 00000000000..7bf8c0fd5e0 --- /dev/null +++ b/libjava/javax/naming/OperationNotSupportedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_OperationNotSupportedException__ +#define __javax_naming_OperationNotSupportedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class OperationNotSupportedException; + } + } +} + +class javax::naming::OperationNotSupportedException : public ::javax::naming::NamingException +{ + +public: + OperationNotSupportedException(); + OperationNotSupportedException(::java::lang::String *); +private: + static const jlong serialVersionUID = 5493232822427682064LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_OperationNotSupportedException__ diff --git a/libjava/javax/naming/PartialResultException.h b/libjava/javax/naming/PartialResultException.h new file mode 100644 index 00000000000..9de177ae902 --- /dev/null +++ b/libjava/javax/naming/PartialResultException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_PartialResultException__ +#define __javax_naming_PartialResultException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class PartialResultException; + } + } +} + +class javax::naming::PartialResultException : public ::javax::naming::NamingException +{ + +public: + PartialResultException(); + PartialResultException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2572144970049426786LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_PartialResultException__ diff --git a/libjava/javax/naming/RefAddr.h b/libjava/javax/naming/RefAddr.h new file mode 100644 index 00000000000..f124428fd2d --- /dev/null +++ b/libjava/javax/naming/RefAddr.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_RefAddr__ +#define __javax_naming_RefAddr__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class RefAddr; + } + } +} + +class javax::naming::RefAddr : public ::java::lang::Object +{ + +public: // actually protected + RefAddr(::java::lang::String *); +public: + virtual ::java::lang::String * getType(); + virtual ::java::lang::Object * getContent() = 0; + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) addrType; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_RefAddr__ diff --git a/libjava/javax/naming/Reference.h b/libjava/javax/naming/Reference.h new file mode 100644 index 00000000000..62325ce333a --- /dev/null +++ b/libjava/javax/naming/Reference.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_Reference__ +#define __javax_naming_Reference__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class RefAddr; + class Reference; + } + } +} + +class javax::naming::Reference : public ::java::lang::Object +{ + +public: + Reference(::java::lang::String *); + Reference(::java::lang::String *, ::javax::naming::RefAddr *); + Reference(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + Reference(::java::lang::String *, ::javax::naming::RefAddr *, ::java::lang::String *, ::java::lang::String *); + virtual void add(jint, ::javax::naming::RefAddr *); + virtual void add(::javax::naming::RefAddr *); + virtual void clear(); + virtual ::java::lang::Object * clone(); +private: + jboolean equals(::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::naming::RefAddr * get(jint); + virtual ::javax::naming::RefAddr * get(::java::lang::String *); + virtual ::java::util::Enumeration * getAll(); + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::String * getFactoryClassLocation(); + virtual ::java::lang::String * getFactoryClassName(); + virtual jint hashCode(); + virtual ::java::lang::Object * remove(jint); + virtual jint size(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -1673475790065791735LL; +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) addrs; + ::java::lang::String * classFactory; + ::java::lang::String * classFactoryLocation; + ::java::lang::String * className; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_Reference__ diff --git a/libjava/javax/naming/Referenceable.h b/libjava/javax/naming/Referenceable.h new file mode 100644 index 00000000000..a2d09b6863f --- /dev/null +++ b/libjava/javax/naming/Referenceable.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_Referenceable__ +#define __javax_naming_Referenceable__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Reference; + class Referenceable; + } + } +} + +class javax::naming::Referenceable : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::Reference * getReference() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_Referenceable__ diff --git a/libjava/javax/naming/ReferralException.h b/libjava/javax/naming/ReferralException.h new file mode 100644 index 00000000000..7c26d973bff --- /dev/null +++ b/libjava/javax/naming/ReferralException.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ReferralException__ +#define __javax_naming_ReferralException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class ReferralException; + } + } +} + +class javax::naming::ReferralException : public ::javax::naming::NamingException +{ + +public: // actually protected + ReferralException(); + ReferralException(::java::lang::String *); +public: + virtual ::java::lang::Object * getReferralInfo() = 0; + virtual ::javax::naming::Context * getReferralContext() = 0; + virtual ::javax::naming::Context * getReferralContext(::java::util::Hashtable *) = 0; + virtual jboolean skipReferral() = 0; + virtual void retryReferral() = 0; +private: + static const jlong serialVersionUID = -2881363844695698876LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ReferralException__ diff --git a/libjava/javax/naming/ServiceUnavailableException.h b/libjava/javax/naming/ServiceUnavailableException.h new file mode 100644 index 00000000000..4f90524535a --- /dev/null +++ b/libjava/javax/naming/ServiceUnavailableException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ServiceUnavailableException__ +#define __javax_naming_ServiceUnavailableException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class ServiceUnavailableException; + } + } +} + +class javax::naming::ServiceUnavailableException : public ::javax::naming::NamingException +{ + +public: + ServiceUnavailableException(); + ServiceUnavailableException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4996964726566773444LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ServiceUnavailableException__ diff --git a/libjava/javax/naming/SizeLimitExceededException.h b/libjava/javax/naming/SizeLimitExceededException.h new file mode 100644 index 00000000000..d4744b1241c --- /dev/null +++ b/libjava/javax/naming/SizeLimitExceededException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_SizeLimitExceededException__ +#define __javax_naming_SizeLimitExceededException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class SizeLimitExceededException; + } + } +} + +class javax::naming::SizeLimitExceededException : public ::javax::naming::LimitExceededException +{ + +public: + SizeLimitExceededException(); + SizeLimitExceededException(::java::lang::String *); +private: + static const jlong serialVersionUID = 7129289564879168579LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_SizeLimitExceededException__ diff --git a/libjava/javax/naming/StringRefAddr.h b/libjava/javax/naming/StringRefAddr.h new file mode 100644 index 00000000000..c7bd0c84ba4 --- /dev/null +++ b/libjava/javax/naming/StringRefAddr.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_StringRefAddr__ +#define __javax_naming_StringRefAddr__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class StringRefAddr; + } + } +} + +class javax::naming::StringRefAddr : public ::javax::naming::RefAddr +{ + +public: + StringRefAddr(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::Object * getContent(); +private: + static const jlong serialVersionUID = -8913762495138505527LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::naming::RefAddr)))) contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_StringRefAddr__ diff --git a/libjava/javax/naming/TimeLimitExceededException.h b/libjava/javax/naming/TimeLimitExceededException.h new file mode 100644 index 00000000000..4c555fbb27c --- /dev/null +++ b/libjava/javax/naming/TimeLimitExceededException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_TimeLimitExceededException__ +#define __javax_naming_TimeLimitExceededException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class TimeLimitExceededException; + } + } +} + +class javax::naming::TimeLimitExceededException : public ::javax::naming::LimitExceededException +{ + +public: + TimeLimitExceededException(); + TimeLimitExceededException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3597009011385034696LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_TimeLimitExceededException__ diff --git a/libjava/javax/naming/directory/Attribute.h b/libjava/javax/naming/directory/Attribute.h new file mode 100644 index 00000000000..4c8a92d270c --- /dev/null +++ b/libjava/javax/naming/directory/Attribute.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_Attribute__ +#define __javax_naming_directory_Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingEnumeration; + namespace directory + { + class Attribute; + class DirContext; + } + } + } +} + +class javax::naming::directory::Attribute : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::NamingEnumeration * getAll() = 0; + virtual ::java::lang::Object * get() = 0; + virtual jint size() = 0; + virtual ::java::lang::String * getID() = 0; + virtual jboolean contains(::java::lang::Object *) = 0; + virtual jboolean add(::java::lang::Object *) = 0; + virtual jboolean remove(::java::lang::Object *) = 0; + virtual void clear() = 0; + virtual ::javax::naming::directory::DirContext * getAttributeSyntaxDefinition() = 0; + virtual ::javax::naming::directory::DirContext * getAttributeDefinition() = 0; + virtual ::java::lang::Object * clone() = 0; + virtual jboolean isOrdered() = 0; + virtual ::java::lang::Object * get(jint) = 0; + virtual ::java::lang::Object * remove(jint) = 0; + virtual void add(jint, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * set(jint, ::java::lang::Object *) = 0; + static const jlong serialVersionUID = 8707690322213556804LL; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_directory_Attribute__ diff --git a/libjava/javax/naming/directory/AttributeInUseException.h b/libjava/javax/naming/directory/AttributeInUseException.h new file mode 100644 index 00000000000..5062ab562ef --- /dev/null +++ b/libjava/javax/naming/directory/AttributeInUseException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_AttributeInUseException__ +#define __javax_naming_directory_AttributeInUseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class AttributeInUseException; + } + } + } +} + +class javax::naming::directory::AttributeInUseException : public ::javax::naming::NamingException +{ + +public: + AttributeInUseException(); + AttributeInUseException(::java::lang::String *); +private: + static const jlong serialVersionUID = 4437710305529322564LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_AttributeInUseException__ diff --git a/libjava/javax/naming/directory/AttributeModificationException.h b/libjava/javax/naming/directory/AttributeModificationException.h new file mode 100644 index 00000000000..e113e32dac7 --- /dev/null +++ b/libjava/javax/naming/directory/AttributeModificationException.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_AttributeModificationException__ +#define __javax_naming_directory_AttributeModificationException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class AttributeModificationException; + class ModificationItem; + } + } + } +} + +class javax::naming::directory::AttributeModificationException : public ::javax::naming::NamingException +{ + +public: + AttributeModificationException(); + AttributeModificationException(::java::lang::String *); + virtual void setUnexecutedModifications(JArray< ::javax::naming::directory::ModificationItem * > *); + virtual JArray< ::javax::naming::directory::ModificationItem * > * getUnexecutedModifications(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 8060676069678710186LL; + JArray< ::javax::naming::directory::ModificationItem * > * __attribute__((aligned(__alignof__( ::javax::naming::NamingException)))) unexecs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_AttributeModificationException__ diff --git a/libjava/javax/naming/directory/Attributes.h b/libjava/javax/naming/directory/Attributes.h new file mode 100644 index 00000000000..31525e190bc --- /dev/null +++ b/libjava/javax/naming/directory/Attributes.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_Attributes__ +#define __javax_naming_directory_Attributes__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingEnumeration; + namespace directory + { + class Attribute; + class Attributes; + } + } + } +} + +class javax::naming::directory::Attributes : public ::java::lang::Object +{ + +public: + virtual jboolean isCaseIgnored() = 0; + virtual jint size() = 0; + virtual ::javax::naming::directory::Attribute * get(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * getAll() = 0; + virtual ::javax::naming::NamingEnumeration * getIDs() = 0; + virtual ::javax::naming::directory::Attribute * put(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::javax::naming::directory::Attribute * put(::javax::naming::directory::Attribute *) = 0; + virtual ::javax::naming::directory::Attribute * remove(::java::lang::String *) = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_directory_Attributes__ diff --git a/libjava/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.h b/libjava/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.h new file mode 100644 index 00000000000..df2a00da452 --- /dev/null +++ b/libjava/javax/naming/directory/BasicAttribute$BasicAttributeEnumeration.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_BasicAttribute$BasicAttributeEnumeration__ +#define __javax_naming_directory_BasicAttribute$BasicAttributeEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class BasicAttribute; + class BasicAttribute$BasicAttributeEnumeration; + } + } + } +} + +class javax::naming::directory::BasicAttribute$BasicAttributeEnumeration : public ::java::lang::Object +{ + +public: + BasicAttribute$BasicAttributeEnumeration(::javax::naming::directory::BasicAttribute *); + virtual void close(); + virtual jboolean hasMore(); + virtual ::java::lang::Object * next(); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) where; + ::javax::naming::directory::BasicAttribute * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_BasicAttribute$BasicAttributeEnumeration__ diff --git a/libjava/javax/naming/directory/BasicAttribute.h b/libjava/javax/naming/directory/BasicAttribute.h new file mode 100644 index 00000000000..2d56a62b0ce --- /dev/null +++ b/libjava/javax/naming/directory/BasicAttribute.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_BasicAttribute__ +#define __javax_naming_directory_BasicAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingEnumeration; + namespace directory + { + class BasicAttribute; + class DirContext; + } + } + } +} + +class javax::naming::directory::BasicAttribute : public ::java::lang::Object +{ + + BasicAttribute(); +public: + BasicAttribute(::java::lang::String *); + BasicAttribute(::java::lang::String *, jboolean); + BasicAttribute(::java::lang::String *, ::java::lang::Object *); + BasicAttribute(::java::lang::String *, ::java::lang::Object *, jboolean); + virtual void add(jint, ::java::lang::Object *); + virtual jboolean add(::java::lang::Object *); + virtual void clear(); + virtual ::java::lang::Object * clone(); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * get(); + virtual ::java::lang::Object * get(jint); + virtual ::javax::naming::NamingEnumeration * getAll(); + virtual ::javax::naming::directory::DirContext * getAttributeDefinition(); + virtual ::javax::naming::directory::DirContext * getAttributeSyntaxDefinition(); + virtual ::java::lang::String * getID(); + virtual jint hashCode(); + virtual jboolean isOrdered(); + virtual ::java::lang::Object * remove(jint); + virtual jboolean remove(::java::lang::Object *); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual jint size(); + virtual ::java::lang::String * toString(); +private: + jboolean equals(::java::lang::Object *, ::java::lang::Object *); + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 6743528196119291326LL; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrID; + jboolean ordered; + ::java::util::Vector * values; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_BasicAttribute__ diff --git a/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h b/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h new file mode 100644 index 00000000000..598b2276741 --- /dev/null +++ b/libjava/javax/naming/directory/BasicAttributes$BasicAttributesEnumeration.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_BasicAttributes$BasicAttributesEnumeration__ +#define __javax_naming_directory_BasicAttributes$BasicAttributesEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class BasicAttributes; + class BasicAttributes$BasicAttributesEnumeration; + } + } + } +} + +class javax::naming::directory::BasicAttributes$BasicAttributesEnumeration : public ::java::lang::Object +{ + +public: + BasicAttributes$BasicAttributesEnumeration(::javax::naming::directory::BasicAttributes *, jboolean); + virtual void close(); + virtual jboolean hasMore(); + virtual ::java::lang::Object * next(); + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) where; + jboolean id; + ::javax::naming::directory::BasicAttributes * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_BasicAttributes$BasicAttributesEnumeration__ diff --git a/libjava/javax/naming/directory/BasicAttributes.h b/libjava/javax/naming/directory/BasicAttributes.h new file mode 100644 index 00000000000..89436721f18 --- /dev/null +++ b/libjava/javax/naming/directory/BasicAttributes.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_BasicAttributes__ +#define __javax_naming_directory_BasicAttributes__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingEnumeration; + namespace directory + { + class Attribute; + class BasicAttributes; + } + } + } +} + +class javax::naming::directory::BasicAttributes : public ::java::lang::Object +{ + +public: + BasicAttributes(); + BasicAttributes(jboolean); + BasicAttributes(::java::lang::String *, ::java::lang::Object *); + BasicAttributes(::java::lang::String *, ::java::lang::Object *, jboolean); + virtual ::java::lang::Object * clone(); + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::naming::directory::Attribute * get(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * getAll(); + virtual ::javax::naming::NamingEnumeration * getIDs(); + virtual jint hashCode(); + virtual jboolean isCaseIgnored(); + virtual ::javax::naming::directory::Attribute * put(::javax::naming::directory::Attribute *); + virtual ::javax::naming::directory::Attribute * put(::java::lang::String *, ::java::lang::Object *); + virtual ::javax::naming::directory::Attribute * remove(::java::lang::String *); + virtual jint size(); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 4980164073184639448LL; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) ignoreCase; +public: // actually package-private + ::java::util::Vector * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_BasicAttributes__ diff --git a/libjava/javax/naming/directory/DirContext.h b/libjava/javax/naming/directory/DirContext.h new file mode 100644 index 00000000000..41126211b4b --- /dev/null +++ b/libjava/javax/naming/directory/DirContext.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_DirContext__ +#define __javax_naming_directory_DirContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + namespace directory + { + class Attributes; + class DirContext; + class ModificationItem; + class SearchControls; + } + } + } +} + +class javax::naming::directory::DirContext : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *, JArray< ::java::lang::String * > *) = 0; + virtual void modifyAttributes(::javax::naming::Name *, jint, ::javax::naming::directory::Attributes *) = 0; + virtual void modifyAttributes(::java::lang::String *, jint, ::javax::naming::directory::Attributes *) = 0; + virtual void modifyAttributes(::javax::naming::Name *, JArray< ::javax::naming::directory::ModificationItem * > *) = 0; + virtual void modifyAttributes(::java::lang::String *, JArray< ::javax::naming::directory::ModificationItem * > *) = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * createSubcontext(::javax::naming::Name *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * createSubcontext(::java::lang::String *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * getSchema(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::DirContext * getSchema(::java::lang::String *) = 0; + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *) = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * lookup(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookup(::java::lang::String *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void unbind(::javax::naming::Name *) = 0; + virtual void unbind(::java::lang::String *) = 0; + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual void rename(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *) = 0; + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *) = 0; + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *) = 0; + virtual void destroySubcontext(::javax::naming::Name *) = 0; + virtual void destroySubcontext(::java::lang::String *) = 0; + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookupLink(::java::lang::String *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *) = 0; + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *) = 0; + virtual ::java::util::Hashtable * getEnvironment() = 0; + virtual void close() = 0; + virtual ::java::lang::String * getNameInNamespace() = 0; + static const jint ADD_ATTRIBUTE = 1; + static const jint REPLACE_ATTRIBUTE = 2; + static const jint REMOVE_ATTRIBUTE = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_directory_DirContext__ diff --git a/libjava/javax/naming/directory/InitialDirContext.h b/libjava/javax/naming/directory/InitialDirContext.h new file mode 100644 index 00000000000..6e8712eb66a --- /dev/null +++ b/libjava/javax/naming/directory/InitialDirContext.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_InitialDirContext__ +#define __javax_naming_directory_InitialDirContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class Name; + class NamingEnumeration; + namespace directory + { + class Attributes; + class DirContext; + class InitialDirContext; + class ModificationItem; + class SearchControls; + } + } + } +} + +class javax::naming::directory::InitialDirContext : public ::javax::naming::InitialContext +{ + +public: + InitialDirContext(); +public: // actually protected + InitialDirContext(jboolean); +public: + InitialDirContext(::java::util::Hashtable *); +private: + ::javax::naming::directory::DirContext * getURLOrDefaultInitDirCtx(::javax::naming::Name *); + ::javax::naming::directory::DirContext * getURLOrDefaultInitDirCtx(::java::lang::String *); +public: + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *); + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *, JArray< ::java::lang::String * > *); + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *); + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *, JArray< ::java::lang::String * > *); + virtual void modifyAttributes(::javax::naming::Name *, jint, ::javax::naming::directory::Attributes *); + virtual void modifyAttributes(::java::lang::String *, jint, ::javax::naming::directory::Attributes *); + virtual void modifyAttributes(::javax::naming::Name *, JArray< ::javax::naming::directory::ModificationItem * > *); + virtual void modifyAttributes(::java::lang::String *, JArray< ::javax::naming::directory::ModificationItem * > *); + virtual void bind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *); + virtual void bind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *); + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *); + virtual void rebind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *); + virtual ::javax::naming::directory::DirContext * createSubcontext(::javax::naming::Name *, ::javax::naming::directory::Attributes *); + virtual ::javax::naming::directory::DirContext * createSubcontext(::java::lang::String *, ::javax::naming::directory::Attributes *); + virtual ::javax::naming::directory::DirContext * getSchema(::javax::naming::Name *); + virtual ::javax::naming::directory::DirContext * getSchema(::java::lang::String *); + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::javax::naming::Name *); + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::java::lang::String *); + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *); + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *); + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *); + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *); + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, ::javax::naming::directory::SearchControls *); + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, ::javax::naming::directory::SearchControls *); + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *); + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *); + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_InitialDirContext__ diff --git a/libjava/javax/naming/directory/InvalidAttributeIdentifierException.h b/libjava/javax/naming/directory/InvalidAttributeIdentifierException.h new file mode 100644 index 00000000000..23c341a4aad --- /dev/null +++ b/libjava/javax/naming/directory/InvalidAttributeIdentifierException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_InvalidAttributeIdentifierException__ +#define __javax_naming_directory_InvalidAttributeIdentifierException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class InvalidAttributeIdentifierException; + } + } + } +} + +class javax::naming::directory::InvalidAttributeIdentifierException : public ::javax::naming::NamingException +{ + +public: + InvalidAttributeIdentifierException(); + InvalidAttributeIdentifierException(::java::lang::String *); +private: + static const jlong serialVersionUID = -9036920266322999923LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_InvalidAttributeIdentifierException__ diff --git a/libjava/javax/naming/directory/InvalidAttributeValueException.h b/libjava/javax/naming/directory/InvalidAttributeValueException.h new file mode 100644 index 00000000000..c8d55fe366c --- /dev/null +++ b/libjava/javax/naming/directory/InvalidAttributeValueException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_InvalidAttributeValueException__ +#define __javax_naming_directory_InvalidAttributeValueException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class InvalidAttributeValueException; + } + } + } +} + +class javax::naming::directory::InvalidAttributeValueException : public ::javax::naming::NamingException +{ + +public: + InvalidAttributeValueException(); + InvalidAttributeValueException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8720050295499275011LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_InvalidAttributeValueException__ diff --git a/libjava/javax/naming/directory/InvalidAttributesException.h b/libjava/javax/naming/directory/InvalidAttributesException.h new file mode 100644 index 00000000000..3bbb5bfb554 --- /dev/null +++ b/libjava/javax/naming/directory/InvalidAttributesException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_InvalidAttributesException__ +#define __javax_naming_directory_InvalidAttributesException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class InvalidAttributesException; + } + } + } +} + +class javax::naming::directory::InvalidAttributesException : public ::javax::naming::NamingException +{ + +public: + InvalidAttributesException(); + InvalidAttributesException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2607612850539889765LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_InvalidAttributesException__ diff --git a/libjava/javax/naming/directory/InvalidSearchControlsException.h b/libjava/javax/naming/directory/InvalidSearchControlsException.h new file mode 100644 index 00000000000..58884397513 --- /dev/null +++ b/libjava/javax/naming/directory/InvalidSearchControlsException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_InvalidSearchControlsException__ +#define __javax_naming_directory_InvalidSearchControlsException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class InvalidSearchControlsException; + } + } + } +} + +class javax::naming::directory::InvalidSearchControlsException : public ::javax::naming::NamingException +{ + +public: + InvalidSearchControlsException(); + InvalidSearchControlsException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5124108943352665777LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_InvalidSearchControlsException__ diff --git a/libjava/javax/naming/directory/InvalidSearchFilterException.h b/libjava/javax/naming/directory/InvalidSearchFilterException.h new file mode 100644 index 00000000000..5901c07bc4a --- /dev/null +++ b/libjava/javax/naming/directory/InvalidSearchFilterException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_InvalidSearchFilterException__ +#define __javax_naming_directory_InvalidSearchFilterException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class InvalidSearchFilterException; + } + } + } +} + +class javax::naming::directory::InvalidSearchFilterException : public ::javax::naming::NamingException +{ + +public: + InvalidSearchFilterException(); + InvalidSearchFilterException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2902700940682875441LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_InvalidSearchFilterException__ diff --git a/libjava/javax/naming/directory/ModificationItem.h b/libjava/javax/naming/directory/ModificationItem.h new file mode 100644 index 00000000000..faf055b9086 --- /dev/null +++ b/libjava/javax/naming/directory/ModificationItem.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_ModificationItem__ +#define __javax_naming_directory_ModificationItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class Attribute; + class ModificationItem; + } + } + } +} + +class javax::naming::directory::ModificationItem : public ::java::lang::Object +{ + +public: + ModificationItem(jint, ::javax::naming::directory::Attribute *); + virtual jint getModificationOp(); + virtual ::javax::naming::directory::Attribute * getAttribute(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 7573258562534746850LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) mod_op; + ::javax::naming::directory::Attribute * attr; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_ModificationItem__ diff --git a/libjava/javax/naming/directory/NoSuchAttributeException.h b/libjava/javax/naming/directory/NoSuchAttributeException.h new file mode 100644 index 00000000000..501daeef868 --- /dev/null +++ b/libjava/javax/naming/directory/NoSuchAttributeException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_NoSuchAttributeException__ +#define __javax_naming_directory_NoSuchAttributeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class NoSuchAttributeException; + } + } + } +} + +class javax::naming::directory::NoSuchAttributeException : public ::javax::naming::NamingException +{ + +public: + NoSuchAttributeException(); + NoSuchAttributeException(::java::lang::String *); +private: + static const jlong serialVersionUID = 4836415647935888137LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_NoSuchAttributeException__ diff --git a/libjava/javax/naming/directory/SchemaViolationException.h b/libjava/javax/naming/directory/SchemaViolationException.h new file mode 100644 index 00000000000..444f14c6cd7 --- /dev/null +++ b/libjava/javax/naming/directory/SchemaViolationException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_SchemaViolationException__ +#define __javax_naming_directory_SchemaViolationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class SchemaViolationException; + } + } + } +} + +class javax::naming::directory::SchemaViolationException : public ::javax::naming::NamingException +{ + +public: + SchemaViolationException(); + SchemaViolationException(::java::lang::String *); +private: + static const jlong serialVersionUID = -3041762429525049663LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_SchemaViolationException__ diff --git a/libjava/javax/naming/directory/SearchControls.h b/libjava/javax/naming/directory/SearchControls.h new file mode 100644 index 00000000000..1c39ba8f84b --- /dev/null +++ b/libjava/javax/naming/directory/SearchControls.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_SearchControls__ +#define __javax_naming_directory_SearchControls__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class SearchControls; + } + } + } +} + +class javax::naming::directory::SearchControls : public ::java::lang::Object +{ + +public: + SearchControls(); + SearchControls(jint, jlong, jint, JArray< ::java::lang::String * > *, jboolean, jboolean); + virtual jint getSearchScope(); + virtual jint getTimeLimit(); + virtual jboolean getDerefLinkFlag(); + virtual jboolean getReturningObjFlag(); + virtual jlong getCountLimit(); + virtual JArray< ::java::lang::String * > * getReturningAttributes(); + virtual void setSearchScope(jint); + virtual void setTimeLimit(jint); + virtual void setDerefLinkFlag(jboolean); + virtual void setReturningObjFlag(jboolean); + virtual void setCountLimit(jlong); + virtual void setReturningAttributes(JArray< ::java::lang::String * > *); +private: + static const jlong serialVersionUID = -2480540967773454797LL; +public: + static const jint OBJECT_SCOPE = 0; + static const jint ONELEVEL_SCOPE = 1; + static const jint SUBTREE_SCOPE = 2; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) searchScope; + jint timeLimit; + jboolean derefLink; + jboolean returnObj; + jlong countLimit; + JArray< ::java::lang::String * > * attributesToReturn; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_SearchControls__ diff --git a/libjava/javax/naming/directory/SearchResult.h b/libjava/javax/naming/directory/SearchResult.h new file mode 100644 index 00000000000..ac89020a465 --- /dev/null +++ b/libjava/javax/naming/directory/SearchResult.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_directory_SearchResult__ +#define __javax_naming_directory_SearchResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class Attributes; + class SearchResult; + } + } + } +} + +class javax::naming::directory::SearchResult : public ::javax::naming::Binding +{ + +public: + SearchResult(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *); + SearchResult(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *, jboolean); + SearchResult(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *); + SearchResult(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *, jboolean); + virtual ::javax::naming::directory::Attributes * getAttributes(); + virtual void setAttributes(::javax::naming::directory::Attributes *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -9158063327699723172LL; + ::javax::naming::directory::Attributes * __attribute__((aligned(__alignof__( ::javax::naming::Binding)))) attrs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_directory_SearchResult__ diff --git a/libjava/javax/naming/event/EventContext.h b/libjava/javax/naming/event/EventContext.h new file mode 100644 index 00000000000..3fbbfc2a561 --- /dev/null +++ b/libjava/javax/naming/event/EventContext.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_EventContext__ +#define __javax_naming_event_EventContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + namespace event + { + class EventContext; + class NamingListener; + } + } + } +} + +class javax::naming::event::EventContext : public ::java::lang::Object +{ + +public: + virtual void addNamingListener(::javax::naming::Name *, jint, ::javax::naming::event::NamingListener *) = 0; + virtual void addNamingListener(::java::lang::String *, jint, ::javax::naming::event::NamingListener *) = 0; + virtual void removeNamingListener(::javax::naming::event::NamingListener *) = 0; + virtual jboolean targetMustExist() = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * lookup(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookup(::java::lang::String *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void unbind(::javax::naming::Name *) = 0; + virtual void unbind(::java::lang::String *) = 0; + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual void rename(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *) = 0; + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *) = 0; + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *) = 0; + virtual void destroySubcontext(::javax::naming::Name *) = 0; + virtual void destroySubcontext(::java::lang::String *) = 0; + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookupLink(::java::lang::String *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *) = 0; + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *) = 0; + virtual ::java::util::Hashtable * getEnvironment() = 0; + virtual void close() = 0; + virtual ::java::lang::String * getNameInNamespace() = 0; + static const jint OBJECT_SCOPE = 0; + static const jint ONELEVEL_SCOPE = 1; + static const jint SUBTREE_SCOPE = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_event_EventContext__ diff --git a/libjava/javax/naming/event/EventDirContext.h b/libjava/javax/naming/event/EventDirContext.h new file mode 100644 index 00000000000..2efa0c28495 --- /dev/null +++ b/libjava/javax/naming/event/EventDirContext.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_EventDirContext__ +#define __javax_naming_event_EventDirContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + namespace directory + { + class Attributes; + class DirContext; + class ModificationItem; + class SearchControls; + } + namespace event + { + class EventDirContext; + class NamingListener; + } + } + } +} + +class javax::naming::event::EventDirContext : public ::java::lang::Object +{ + +public: + virtual void addNamingListener(::javax::naming::Name *, ::java::lang::String *, ::javax::naming::directory::SearchControls *, ::javax::naming::event::NamingListener *) = 0; + virtual void addNamingListener(::java::lang::String *, ::java::lang::String *, ::javax::naming::directory::SearchControls *, ::javax::naming::event::NamingListener *) = 0; + virtual void addNamingListener(::javax::naming::Name *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *, ::javax::naming::event::NamingListener *) = 0; + virtual void addNamingListener(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *, ::javax::naming::event::NamingListener *) = 0; + virtual void addNamingListener(::javax::naming::Name *, jint, ::javax::naming::event::NamingListener *) = 0; + virtual void addNamingListener(::java::lang::String *, jint, ::javax::naming::event::NamingListener *) = 0; + virtual void removeNamingListener(::javax::naming::event::NamingListener *) = 0; + virtual jboolean targetMustExist() = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * lookup(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookup(::java::lang::String *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void unbind(::javax::naming::Name *) = 0; + virtual void unbind(::java::lang::String *) = 0; + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual void rename(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *) = 0; + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *) = 0; + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *) = 0; + virtual void destroySubcontext(::javax::naming::Name *) = 0; + virtual void destroySubcontext(::java::lang::String *) = 0; + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookupLink(::java::lang::String *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *) = 0; + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *) = 0; + virtual ::java::util::Hashtable * getEnvironment() = 0; + virtual void close() = 0; + virtual ::java::lang::String * getNameInNamespace() = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *, JArray< ::java::lang::String * > *) = 0; + virtual void modifyAttributes(::javax::naming::Name *, jint, ::javax::naming::directory::Attributes *) = 0; + virtual void modifyAttributes(::java::lang::String *, jint, ::javax::naming::directory::Attributes *) = 0; + virtual void modifyAttributes(::javax::naming::Name *, JArray< ::javax::naming::directory::ModificationItem * > *) = 0; + virtual void modifyAttributes(::java::lang::String *, JArray< ::javax::naming::directory::ModificationItem * > *) = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * createSubcontext(::javax::naming::Name *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * createSubcontext(::java::lang::String *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * getSchema(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::DirContext * getSchema(::java::lang::String *) = 0; + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_event_EventDirContext__ diff --git a/libjava/javax/naming/event/NamespaceChangeListener.h b/libjava/javax/naming/event/NamespaceChangeListener.h new file mode 100644 index 00000000000..e34f1863241 --- /dev/null +++ b/libjava/javax/naming/event/NamespaceChangeListener.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_NamespaceChangeListener__ +#define __javax_naming_event_NamespaceChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace event + { + class NamespaceChangeListener; + class NamingEvent; + class NamingExceptionEvent; + } + } + } +} + +class javax::naming::event::NamespaceChangeListener : public ::java::lang::Object +{ + +public: + virtual void objectAdded(::javax::naming::event::NamingEvent *) = 0; + virtual void objectRemoved(::javax::naming::event::NamingEvent *) = 0; + virtual void objectRenamed(::javax::naming::event::NamingEvent *) = 0; + virtual void namingExceptionThrown(::javax::naming::event::NamingExceptionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_event_NamespaceChangeListener__ diff --git a/libjava/javax/naming/event/NamingEvent.h b/libjava/javax/naming/event/NamingEvent.h new file mode 100644 index 00000000000..aad8b0e058d --- /dev/null +++ b/libjava/javax/naming/event/NamingEvent.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_NamingEvent__ +#define __javax_naming_event_NamingEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Binding; + namespace event + { + class EventContext; + class NamingEvent; + class NamingListener; + } + } + } +} + +class javax::naming::event::NamingEvent : public ::java::util::EventObject +{ + +public: + NamingEvent(::javax::naming::event::EventContext *, jint, ::javax::naming::Binding *, ::javax::naming::Binding *, ::java::lang::Object *); + virtual jint getType(); + virtual ::javax::naming::event::EventContext * getEventContext(); + virtual ::javax::naming::Binding * getOldBinding(); + virtual ::javax::naming::Binding * getNewBinding(); + virtual ::java::lang::Object * getChangeInfo(); + virtual void dispatch(::javax::naming::event::NamingListener *); +private: + static const jlong serialVersionUID = -7126752885365133499LL; +public: + static const jint OBJECT_ADDED = 0; + static const jint OBJECT_REMOVED = 1; + static const jint OBJECT_RENAMED = 2; + static const jint OBJECT_CHANGED = 3; +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) changeInfo; + jint type; + ::javax::naming::Binding * oldBinding; + ::javax::naming::Binding * newBinding; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_event_NamingEvent__ diff --git a/libjava/javax/naming/event/NamingExceptionEvent.h b/libjava/javax/naming/event/NamingExceptionEvent.h new file mode 100644 index 00000000000..9aee3c513ef --- /dev/null +++ b/libjava/javax/naming/event/NamingExceptionEvent.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_NamingExceptionEvent__ +#define __javax_naming_event_NamingExceptionEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingException; + namespace event + { + class EventContext; + class NamingExceptionEvent; + class NamingListener; + } + } + } +} + +class javax::naming::event::NamingExceptionEvent : public ::java::util::EventObject +{ + +public: + NamingExceptionEvent(::javax::naming::event::EventContext *, ::javax::naming::NamingException *); + virtual ::javax::naming::NamingException * getException(); + virtual ::javax::naming::event::EventContext * getEventContext(); + virtual void dispatch(::javax::naming::event::NamingListener *); +private: + static const jlong serialVersionUID = -4877678086134736336LL; + ::javax::naming::NamingException * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_event_NamingExceptionEvent__ diff --git a/libjava/javax/naming/event/NamingListener.h b/libjava/javax/naming/event/NamingListener.h new file mode 100644 index 00000000000..d7eb0034359 --- /dev/null +++ b/libjava/javax/naming/event/NamingListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_NamingListener__ +#define __javax_naming_event_NamingListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace event + { + class NamingExceptionEvent; + class NamingListener; + } + } + } +} + +class javax::naming::event::NamingListener : public ::java::lang::Object +{ + +public: + virtual void namingExceptionThrown(::javax::naming::event::NamingExceptionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_event_NamingListener__ diff --git a/libjava/javax/naming/event/ObjectChangeListener.h b/libjava/javax/naming/event/ObjectChangeListener.h new file mode 100644 index 00000000000..eaff319dfa3 --- /dev/null +++ b/libjava/javax/naming/event/ObjectChangeListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_event_ObjectChangeListener__ +#define __javax_naming_event_ObjectChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace event + { + class NamingEvent; + class NamingExceptionEvent; + class ObjectChangeListener; + } + } + } +} + +class javax::naming::event::ObjectChangeListener : public ::java::lang::Object +{ + +public: + virtual void objectChanged(::javax::naming::event::NamingEvent *) = 0; + virtual void namingExceptionThrown(::javax::naming::event::NamingExceptionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_event_ObjectChangeListener__ diff --git a/libjava/javax/naming/ldap/Control.h b/libjava/javax/naming/ldap/Control.h new file mode 100644 index 00000000000..0a3f9f6a524 --- /dev/null +++ b/libjava/javax/naming/ldap/Control.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_Control__ +#define __javax_naming_ldap_Control__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class Control; + } + } + } +} + +class javax::naming::ldap::Control : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getID() = 0; + virtual jboolean isCritical() = 0; + virtual JArray< jbyte > * getEncodedValue() = 0; + static const jboolean CRITICAL = 1; + static const jboolean NONCRITICAL = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_Control__ diff --git a/libjava/javax/naming/ldap/ControlFactory.h b/libjava/javax/naming/ldap/ControlFactory.h new file mode 100644 index 00000000000..404e22faa66 --- /dev/null +++ b/libjava/javax/naming/ldap/ControlFactory.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_ControlFactory__ +#define __javax_naming_ldap_ControlFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + namespace ldap + { + class Control; + class ControlFactory; + } + } + } +} + +class javax::naming::ldap::ControlFactory : public ::java::lang::Object +{ + +public: // actually protected + ControlFactory(); +public: + virtual ::javax::naming::ldap::Control * getControlInstance(::javax::naming::ldap::Control *) = 0; + static ::javax::naming::ldap::Control * getControlInstance(::javax::naming::ldap::Control *, ::javax::naming::Context *, ::java::util::Hashtable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ldap_ControlFactory__ diff --git a/libjava/javax/naming/ldap/ExtendedRequest.h b/libjava/javax/naming/ldap/ExtendedRequest.h new file mode 100644 index 00000000000..f97e66b0483 --- /dev/null +++ b/libjava/javax/naming/ldap/ExtendedRequest.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_ExtendedRequest__ +#define __javax_naming_ldap_ExtendedRequest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class ExtendedRequest; + class ExtendedResponse; + } + } + } +} + +class javax::naming::ldap::ExtendedRequest : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getID() = 0; + virtual JArray< jbyte > * getEncodedValue() = 0; + virtual ::javax::naming::ldap::ExtendedResponse * createExtendedResponse(::java::lang::String *, JArray< jbyte > *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_ExtendedRequest__ diff --git a/libjava/javax/naming/ldap/ExtendedResponse.h b/libjava/javax/naming/ldap/ExtendedResponse.h new file mode 100644 index 00000000000..cb985fec90f --- /dev/null +++ b/libjava/javax/naming/ldap/ExtendedResponse.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_ExtendedResponse__ +#define __javax_naming_ldap_ExtendedResponse__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class ExtendedResponse; + } + } + } +} + +class javax::naming::ldap::ExtendedResponse : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getID() = 0; + virtual JArray< jbyte > * getEncodedValue() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_ExtendedResponse__ diff --git a/libjava/javax/naming/ldap/HasControls.h b/libjava/javax/naming/ldap/HasControls.h new file mode 100644 index 00000000000..616b3b9a634 --- /dev/null +++ b/libjava/javax/naming/ldap/HasControls.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_HasControls__ +#define __javax_naming_ldap_HasControls__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class Control; + class HasControls; + } + } + } +} + +class javax::naming::ldap::HasControls : public ::java::lang::Object +{ + +public: + virtual JArray< ::javax::naming::ldap::Control * > * getControls() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_HasControls__ diff --git a/libjava/javax/naming/ldap/InitialLdapContext.h b/libjava/javax/naming/ldap/InitialLdapContext.h new file mode 100644 index 00000000000..b2511804cbc --- /dev/null +++ b/libjava/javax/naming/ldap/InitialLdapContext.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_InitialLdapContext__ +#define __javax_naming_ldap_InitialLdapContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class Control; + class ExtendedRequest; + class ExtendedResponse; + class InitialLdapContext; + class LdapContext; + } + } + } +} + +class javax::naming::ldap::InitialLdapContext : public ::javax::naming::directory::InitialDirContext +{ + +public: + InitialLdapContext(); + InitialLdapContext(::java::util::Hashtable *, JArray< ::javax::naming::ldap::Control * > *); +private: + ::javax::naming::ldap::LdapContext * getDefaultInitLdapCtx(); +public: + virtual ::javax::naming::ldap::ExtendedResponse * extendedOperation(::javax::naming::ldap::ExtendedRequest *); + virtual JArray< ::javax::naming::ldap::Control * > * getConnectControls(); + virtual JArray< ::javax::naming::ldap::Control * > * getRequestControls(); + virtual JArray< ::javax::naming::ldap::Control * > * getResponseControls(); + virtual ::javax::naming::ldap::LdapContext * newInstance(JArray< ::javax::naming::ldap::Control * > *); + virtual void reconnect(JArray< ::javax::naming::ldap::Control * > *); + virtual void setRequestControls(JArray< ::javax::naming::ldap::Control * > *); + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ldap_InitialLdapContext__ diff --git a/libjava/javax/naming/ldap/LdapContext.h b/libjava/javax/naming/ldap/LdapContext.h new file mode 100644 index 00000000000..4fa910e72e6 --- /dev/null +++ b/libjava/javax/naming/ldap/LdapContext.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_LdapContext__ +#define __javax_naming_ldap_LdapContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + class NameParser; + class NamingEnumeration; + namespace directory + { + class Attributes; + class DirContext; + class ModificationItem; + class SearchControls; + } + namespace ldap + { + class Control; + class ExtendedRequest; + class ExtendedResponse; + class LdapContext; + } + } + } +} + +class javax::naming::ldap::LdapContext : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::ldap::ExtendedResponse * extendedOperation(::javax::naming::ldap::ExtendedRequest *) = 0; + virtual ::javax::naming::ldap::LdapContext * newInstance(JArray< ::javax::naming::ldap::Control * > *) = 0; + virtual void reconnect(JArray< ::javax::naming::ldap::Control * > *) = 0; + virtual JArray< ::javax::naming::ldap::Control * > * getConnectControls() = 0; + virtual void setRequestControls(JArray< ::javax::naming::ldap::Control * > *) = 0; + virtual JArray< ::javax::naming::ldap::Control * > * getRequestControls() = 0; + virtual JArray< ::javax::naming::ldap::Control * > * getResponseControls() = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::Attributes * getAttributes(::javax::naming::Name *, JArray< ::java::lang::String * > *) = 0; + virtual void modifyAttributes(::javax::naming::Name *, jint, ::javax::naming::directory::Attributes *) = 0; + virtual void modifyAttributes(::java::lang::String *, jint, ::javax::naming::directory::Attributes *) = 0; + virtual void modifyAttributes(::javax::naming::Name *, JArray< ::javax::naming::directory::ModificationItem * > *) = 0; + virtual void modifyAttributes(::java::lang::String *, JArray< ::javax::naming::directory::ModificationItem * > *) = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * createSubcontext(::javax::naming::Name *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * createSubcontext(::java::lang::String *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::directory::DirContext * getSchema(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::DirContext * getSchema(::java::lang::String *) = 0; + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::javax::naming::Name *) = 0; + virtual ::javax::naming::directory::DirContext * getSchemaClassDefinition(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *, JArray< ::java::lang::String * > *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::javax::naming::directory::Attributes *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::javax::naming::Name *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *) = 0; + virtual ::javax::naming::NamingEnumeration * search(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *, ::javax::naming::directory::SearchControls *) = 0; + virtual void bind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void bind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * lookup(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookup(::java::lang::String *) = 0; + virtual void rebind(::javax::naming::Name *, ::java::lang::Object *) = 0; + virtual void rebind(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void unbind(::javax::naming::Name *) = 0; + virtual void unbind(::java::lang::String *) = 0; + virtual void rename(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual void rename(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *) = 0; + virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *) = 0; + virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *) = 0; + virtual ::javax::naming::Context * createSubcontext(::java::lang::String *) = 0; + virtual void destroySubcontext(::javax::naming::Name *) = 0; + virtual void destroySubcontext(::java::lang::String *) = 0; + virtual ::java::lang::Object * lookupLink(::javax::naming::Name *) = 0; + virtual ::java::lang::Object * lookupLink(::java::lang::String *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *) = 0; + virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *) = 0; + virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *) = 0; + virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *) = 0; + virtual ::java::util::Hashtable * getEnvironment() = 0; + virtual void close() = 0; + virtual ::java::lang::String * getNameInNamespace() = 0; + static ::java::lang::String * CONTROL_FACTORIES; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_LdapContext__ diff --git a/libjava/javax/naming/ldap/LdapReferralException.h b/libjava/javax/naming/ldap/LdapReferralException.h new file mode 100644 index 00000000000..6ed5618e9c0 --- /dev/null +++ b/libjava/javax/naming/ldap/LdapReferralException.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_LdapReferralException__ +#define __javax_naming_ldap_LdapReferralException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + namespace ldap + { + class Control; + class LdapReferralException; + } + } + } +} + +class javax::naming::ldap::LdapReferralException : public ::javax::naming::ReferralException +{ + +public: // actually protected + LdapReferralException(); + LdapReferralException(::java::lang::String *); +public: + virtual ::javax::naming::Context * getReferralContext() = 0; + virtual ::javax::naming::Context * getReferralContext(::java::util::Hashtable *) = 0; + virtual ::javax::naming::Context * getReferralContext(::java::util::Hashtable *, JArray< ::javax::naming::ldap::Control * > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ldap_LdapReferralException__ diff --git a/libjava/javax/naming/ldap/StartTlsRequest.h b/libjava/javax/naming/ldap/StartTlsRequest.h new file mode 100644 index 00000000000..70ced7e5773 --- /dev/null +++ b/libjava/javax/naming/ldap/StartTlsRequest.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_StartTlsRequest__ +#define __javax_naming_ldap_StartTlsRequest__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class ExtendedResponse; + class StartTlsRequest; + } + } + } +} + +class javax::naming::ldap::StartTlsRequest : public ::java::lang::Object +{ + +public: + StartTlsRequest(); + virtual ::java::lang::String * getID(); + virtual JArray< jbyte > * getEncodedValue(); + virtual ::javax::naming::ldap::ExtendedResponse * createExtendedResponse(::java::lang::String *, JArray< jbyte > *, jint, jint); +private: + static const jlong serialVersionUID = 4441679576360753397LL; +public: + static ::java::lang::String * OID; + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ldap_StartTlsRequest__ diff --git a/libjava/javax/naming/ldap/StartTlsResponse.h b/libjava/javax/naming/ldap/StartTlsResponse.h new file mode 100644 index 00000000000..9b3d8c59cf6 --- /dev/null +++ b/libjava/javax/naming/ldap/StartTlsResponse.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_StartTlsResponse__ +#define __javax_naming_ldap_StartTlsResponse__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class StartTlsResponse; + } + } + namespace net + { + namespace ssl + { + class HostnameVerifier; + class SSLSession; + class SSLSocketFactory; + } + } + } +} + +class javax::naming::ldap::StartTlsResponse : public ::java::lang::Object +{ + +public: // actually protected + StartTlsResponse(); +public: + virtual ::java::lang::String * getID(); + virtual JArray< jbyte > * getEncodedValue(); + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *) = 0; + virtual void setHostnameVerifier(::javax::net::ssl::HostnameVerifier *) = 0; + virtual ::javax::net::ssl::SSLSession * negotiate() = 0; + virtual ::javax::net::ssl::SSLSession * negotiate(::javax::net::ssl::SSLSocketFactory *) = 0; + virtual void close() = 0; +private: + static const jlong serialVersionUID = 8372842182579276418LL; +public: + static ::java::lang::String * OID; + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ldap_StartTlsResponse__ diff --git a/libjava/javax/naming/ldap/UnsolicitedNotification.h b/libjava/javax/naming/ldap/UnsolicitedNotification.h new file mode 100644 index 00000000000..c23d4b0f2f6 --- /dev/null +++ b/libjava/javax/naming/ldap/UnsolicitedNotification.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_UnsolicitedNotification__ +#define __javax_naming_ldap_UnsolicitedNotification__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace naming + { + class NamingException; + namespace ldap + { + class Control; + class UnsolicitedNotification; + } + } + } +} + +class javax::naming::ldap::UnsolicitedNotification : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * getReferrals() = 0; + virtual ::javax::naming::NamingException * getException() = 0; + virtual ::java::lang::String * getID() = 0; + virtual JArray< jbyte > * getEncodedValue() = 0; + virtual JArray< ::javax::naming::ldap::Control * > * getControls() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_UnsolicitedNotification__ diff --git a/libjava/javax/naming/ldap/UnsolicitedNotificationEvent.h b/libjava/javax/naming/ldap/UnsolicitedNotificationEvent.h new file mode 100644 index 00000000000..b6e4a4f5648 --- /dev/null +++ b/libjava/javax/naming/ldap/UnsolicitedNotificationEvent.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_UnsolicitedNotificationEvent__ +#define __javax_naming_ldap_UnsolicitedNotificationEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace ldap + { + class UnsolicitedNotification; + class UnsolicitedNotificationEvent; + class UnsolicitedNotificationListener; + } + } + } +} + +class javax::naming::ldap::UnsolicitedNotificationEvent : public ::java::util::EventObject +{ + +public: + UnsolicitedNotificationEvent(::java::lang::Object *, ::javax::naming::ldap::UnsolicitedNotification *); + virtual ::javax::naming::ldap::UnsolicitedNotification * getNotification(); + virtual void dispatch(::javax::naming::ldap::UnsolicitedNotificationListener *); +private: + static const jlong serialVersionUID = -2382603380799883705LL; + ::javax::naming::ldap::UnsolicitedNotification * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) notice; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_ldap_UnsolicitedNotificationEvent__ diff --git a/libjava/javax/naming/ldap/UnsolicitedNotificationListener.h b/libjava/javax/naming/ldap/UnsolicitedNotificationListener.h new file mode 100644 index 00000000000..d389381ac36 --- /dev/null +++ b/libjava/javax/naming/ldap/UnsolicitedNotificationListener.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_ldap_UnsolicitedNotificationListener__ +#define __javax_naming_ldap_UnsolicitedNotificationListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace event + { + class NamingExceptionEvent; + } + namespace ldap + { + class UnsolicitedNotificationEvent; + class UnsolicitedNotificationListener; + } + } + } +} + +class javax::naming::ldap::UnsolicitedNotificationListener : public ::java::lang::Object +{ + +public: + virtual void notificationReceived(::javax::naming::ldap::UnsolicitedNotificationEvent *) = 0; + virtual void namingExceptionThrown(::javax::naming::event::NamingExceptionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_ldap_UnsolicitedNotificationListener__ diff --git a/libjava/javax/naming/spi/DirObjectFactory.h b/libjava/javax/naming/spi/DirObjectFactory.h new file mode 100644 index 00000000000..d84d3181c96 --- /dev/null +++ b/libjava/javax/naming/spi/DirObjectFactory.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_DirObjectFactory__ +#define __javax_naming_spi_DirObjectFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + namespace directory + { + class Attributes; + } + namespace spi + { + class DirObjectFactory; + } + } + } +} + +class javax::naming::spi::DirObjectFactory : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *, ::javax::naming::directory::Attributes *) = 0; + virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_DirObjectFactory__ diff --git a/libjava/javax/naming/spi/DirStateFactory$Result.h b/libjava/javax/naming/spi/DirStateFactory$Result.h new file mode 100644 index 00000000000..586c7d3bc67 --- /dev/null +++ b/libjava/javax/naming/spi/DirStateFactory$Result.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_DirStateFactory$Result__ +#define __javax_naming_spi_DirStateFactory$Result__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace directory + { + class Attributes; + } + namespace spi + { + class DirStateFactory$Result; + } + } + } +} + +class javax::naming::spi::DirStateFactory$Result : public ::java::lang::Object +{ + +public: + DirStateFactory$Result(::java::lang::Object *, ::javax::naming::directory::Attributes *); + virtual ::java::lang::Object * getObject(); + virtual ::javax::naming::directory::Attributes * getAttributes(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) obj; + ::javax::naming::directory::Attributes * outAttrs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_spi_DirStateFactory$Result__ diff --git a/libjava/javax/naming/spi/DirStateFactory.h b/libjava/javax/naming/spi/DirStateFactory.h new file mode 100644 index 00000000000..02b2b5a84bc --- /dev/null +++ b/libjava/javax/naming/spi/DirStateFactory.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_DirStateFactory__ +#define __javax_naming_spi_DirStateFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + namespace directory + { + class Attributes; + } + namespace spi + { + class DirStateFactory; + class DirStateFactory$Result; + } + } + } +} + +class javax::naming::spi::DirStateFactory : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::spi::DirStateFactory$Result * getStateToBind(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *, ::javax::naming::directory::Attributes *) = 0; + virtual ::java::lang::Object * getStateToBind(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_DirStateFactory__ diff --git a/libjava/javax/naming/spi/DirectoryManager.h b/libjava/javax/naming/spi/DirectoryManager.h new file mode 100644 index 00000000000..32d015c1da2 --- /dev/null +++ b/libjava/javax/naming/spi/DirectoryManager.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_DirectoryManager__ +#define __javax_naming_spi_DirectoryManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class CannotProceedException; + class Context; + class Name; + namespace directory + { + class Attributes; + class DirContext; + } + namespace spi + { + class DirStateFactory$Result; + class DirectoryManager; + class ObjectFactory; + } + } + } +} + +class javax::naming::spi::DirectoryManager : public ::javax::naming::spi::NamingManager +{ + +public: // actually package-private + DirectoryManager(); +public: + static ::javax::naming::directory::DirContext * getContinuationDirContext(::javax::naming::CannotProceedException *); +private: + static ::java::lang::Object * tryCreateObject(::javax::naming::spi::ObjectFactory *, ::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *, ::javax::naming::directory::Attributes *); +public: + static ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *, ::javax::naming::directory::Attributes *); + static ::javax::naming::spi::DirStateFactory$Result * getStateToBind(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *, ::javax::naming::directory::Attributes *); + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_spi_DirectoryManager__ diff --git a/libjava/javax/naming/spi/InitialContextFactory.h b/libjava/javax/naming/spi/InitialContextFactory.h new file mode 100644 index 00000000000..446876cf2ee --- /dev/null +++ b/libjava/javax/naming/spi/InitialContextFactory.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_InitialContextFactory__ +#define __javax_naming_spi_InitialContextFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + namespace spi + { + class InitialContextFactory; + } + } + } +} + +class javax::naming::spi::InitialContextFactory : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::Context * getInitialContext(::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_InitialContextFactory__ diff --git a/libjava/javax/naming/spi/InitialContextFactoryBuilder.h b/libjava/javax/naming/spi/InitialContextFactoryBuilder.h new file mode 100644 index 00000000000..bdd016036e9 --- /dev/null +++ b/libjava/javax/naming/spi/InitialContextFactoryBuilder.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_InitialContextFactoryBuilder__ +#define __javax_naming_spi_InitialContextFactoryBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace spi + { + class InitialContextFactory; + class InitialContextFactoryBuilder; + } + } + } +} + +class javax::naming::spi::InitialContextFactoryBuilder : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::spi::InitialContextFactory * createInitialContextFactory(::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_InitialContextFactoryBuilder__ diff --git a/libjava/javax/naming/spi/NamingManager.h b/libjava/javax/naming/spi/NamingManager.h new file mode 100644 index 00000000000..6a24048edde --- /dev/null +++ b/libjava/javax/naming/spi/NamingManager.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_NamingManager__ +#define __javax_naming_spi_NamingManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class CannotProceedException; + class Context; + class Name; + namespace spi + { + class InitialContextFactoryBuilder; + class NamingManager; + class ObjectFactoryBuilder; + } + } + } +} + +class javax::naming::spi::NamingManager : public ::java::lang::Object +{ + +public: // actually package-private + NamingManager(); +public: + static jboolean hasInitialContextFactoryBuilder(); + static ::javax::naming::Context * getInitialContext(::java::util::Hashtable *); +public: // actually package-private + static ::javax::naming::Context * getURLContext(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::lang::String *, ::java::util::Hashtable *); + static ::java::lang::Class * forName(::java::lang::String *); +public: + static ::javax::naming::Context * getURLContext(::java::lang::String *, ::java::util::Hashtable *); + static void setObjectFactoryBuilder(::javax::naming::spi::ObjectFactoryBuilder *); +public: // actually package-private + static ::java::util::StringTokenizer * getPlusPath(::java::lang::String *, ::java::util::Hashtable *, ::javax::naming::Context *); +public: + static ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *); + static void setInitialContextFactoryBuilder(::javax::naming::spi::InitialContextFactoryBuilder *); + static ::javax::naming::Context * getContinuationContext(::javax::naming::CannotProceedException *); + static ::java::lang::Object * getStateToBind(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *); + static ::java::lang::String * CPE; +private: + static ::javax::naming::spi::InitialContextFactoryBuilder * icfb; +public: // actually package-private + static ::javax::naming::spi::ObjectFactoryBuilder * ofb; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_spi_NamingManager__ diff --git a/libjava/javax/naming/spi/NamingManager.java b/libjava/javax/naming/spi/NamingManager.java deleted file mode 100644 index 11e8130570b..00000000000 --- a/libjava/javax/naming/spi/NamingManager.java +++ /dev/null @@ -1,654 +0,0 @@ -/* NamingManager.java -- Creates contexts and objects - Copyright (C) 2000, 2001, 2002, 2003, 2004, - 2006 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. */ - - -package javax.naming.spi; - -// import gnu.classpath.VMStackWalker; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.StringTokenizer; - -import javax.naming.CannotProceedException; -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.NoInitialContextException; -import javax.naming.RefAddr; -import javax.naming.Reference; -import javax.naming.Referenceable; -import javax.naming.StringRefAddr; - -/** - * Contains methods for creating contexts and objects referred to by - * location information. The location is specified in the scope of the - * certain naming or directory service. This class only contais static - * methods and cannot be instantiated. - */ -public class NamingManager -{ - /** - * The environment property into which getContinuationContext() stores the - * value of the CannotProceedException parameter. The value of this field - * is java.naming.spi.CannotProceedException. - */ - public static final String CPE = "java.naming.spi.CannotProceedException"; - - private static InitialContextFactoryBuilder icfb; - - // Package private so DirectoryManager can access it. - static ObjectFactoryBuilder ofb; - - // This class cannot be instantiated. - NamingManager () - { - } - - /** - * Checks if the initial context factory builder has been set. - * - * @return true if the builder has been set - * - * @see #setInitialContextFactoryBuilder(InitialContextFactoryBuilder) - */ - public static boolean hasInitialContextFactoryBuilder () - { - return icfb != null; - } - - /** - * Creates the initial context. If the initial object factory builder has - * been set with {@link #setObjectFactoryBuilder(ObjectFactoryBuilder)}, - * the work is delegated to this builder. Otherwise, the method searches - * for the property Context.INITIAL_CONTEXT_FACTORY first in the passed - * table and then in the system properties. The value of this property is - * uses as a class name to install the context factory. The corresponding - * class must exist, be public and have the public parameterless constructor. - * - * @param environment the properties, used to create the context. - * - * @return the created context - * - * @throws NoInitialContextException if the initial builder is not set, - * the property Context.INITIAL_CONTEXT_FACTORY is missing of the - * class, named by this property, cannot be instantiated. - * @throws NamingException if throws by the context factory - */ - public static Context getInitialContext (Hashtable environment) - throws NamingException - { - InitialContextFactory icf = null; - - if (icfb != null) - icf = icfb.createInitialContextFactory(environment); - else - { - String java_naming_factory_initial = null; - if (environment != null) - java_naming_factory_initial - = (String) environment.get (Context.INITIAL_CONTEXT_FACTORY); - if (java_naming_factory_initial == null) - java_naming_factory_initial = - System.getProperty (Context.INITIAL_CONTEXT_FACTORY); - if (java_naming_factory_initial == null) - throw new - NoInitialContextException ("Can't find property: " - + Context.INITIAL_CONTEXT_FACTORY); - - try - { - icf = (InitialContextFactory)Class.forName - (java_naming_factory_initial, true, - Thread.currentThread().getContextClassLoader()) - .newInstance (); - } - catch (Exception exception) - { - NoInitialContextException e - = new NoInitialContextException - ("Can't load InitialContextFactory class: " - + java_naming_factory_initial); - e.setRootCause(exception); - throw e; - } - } - - return icf.getInitialContext (environment); - } - - /** - *

      - * Creates the URL context for the given URL scheme id. - *

      - *

      - * The class name of the factory that creates the context has the naming - * pattern scheme-idURLContextFactory. For instance, the factory for the "ftp" - * sheme should be named "ftpURLContextFactory". - *

      - *

      - * The Context.URL_PKG_PREFIXES environment property contains the - * colon-separated list of the possible package prefixes. The package name is - * constructed concatenating the package prefix with the scheme id. This - * property is searched in the passed environment parameter and later - * in the system properties. - *

      - *

      - * If the factory class cannot be found in the specified packages, system will - * try to use the default internal factory for the given scheme. - *

      - *

      - * After the factory is instantiated, its method - * {@link ObjectFactory#getObjectInstance(Object, Name, Context, Hashtable)} - * is called to create and return the object instance. - * - * @param refInfo passed to the factory - * @param name passed to the factory - * @param nameCtx passed to the factory - * @param scheme the url scheme that must be supported by the given context - * @param environment the properties for creating the factory and context (may - * be null) - * @return the created context - * @throws NamingException if thrown by the factory when creating the context. - */ - static Context getURLContext(Object refInfo, Name name, Context nameCtx, - String scheme, Hashtable environment) - throws NamingException - { - // Specified as the default in the docs. Unclear if this is - // right for us. - String defaultPrefix = "com.sun.jndi.url"; - - StringBuffer allPrefixes = new StringBuffer(); - - String prefixes; - if (environment != null) - { - prefixes = (String) environment.get(Context.URL_PKG_PREFIXES); - if (prefixes != null) - allPrefixes.append(prefixes); - } - - prefixes = System.getProperty(Context.URL_PKG_PREFIXES); - if (prefixes != null) - { - if (allPrefixes.length() > 0) - allPrefixes.append(':'); - allPrefixes.append(prefixes); - } - - if (allPrefixes.length() > 0) - allPrefixes.append(':'); - allPrefixes.append(defaultPrefix); - - scheme = scheme + "." + scheme + "URLContextFactory"; - - StringTokenizer tokens = new StringTokenizer(allPrefixes.toString(), ":"); - while (tokens.hasMoreTokens()) - { - String aTry = tokens.nextToken(); - try - { - String tryClass = aTry + "." + scheme; - Class factoryClass = forName(tryClass); - if (factoryClass != null) - { - ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); - Object obj = factory.getObjectInstance(refInfo, name, nameCtx, - environment); - Context ctx = (Context) obj; - if (ctx != null) - return ctx; - } - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - catch (NamingException _5) - { - throw _5; - } - catch (Exception _6) - { - // Anything from getObjectInstance. - } - } - - return null; - } - - /** - * Load the class with the given name. This method tries to use the context - * class loader first. If this fails, it searches for the suitable class - * loader in the caller stack trace. This method is a central point where all - * requests to find a class by name are delegated. - */ - static Class forName(String className) - { - try - { - return Class.forName(className, true, - Thread.currentThread().getContextClassLoader()); - } - catch (ClassNotFoundException nex) - { - /** - * Returns the first user defined class loader on the call stack, or - * null when no non-null class loader was found. - Class[] ctx = VMStackWalker.getClassContext(); - for (int i = 0; i < ctx.length; i++) - { - // Since we live in a class loaded by the bootstrap - // class loader, getClassLoader is safe to call without - // needing to be wrapped in a privileged action. - ClassLoader cl = ctx[i].getClassLoader(); - try - { - if (cl != null) - return Class.forName(className, true, cl); - } - catch (ClassNotFoundException nex2) - { - // Try next. - } - } - */ - } - return null; - } - - - /** - *

      - * Creates the URL context for the given URL scheme id. - *

      - *

      - * The class name of the factory that creates the context has the naming - * pattern scheme-idURLContextFactory. For instance, the factory for the "ftp" - * sheme should be named "ftpURLContextFactory". The Context.URL_PKG_PREFIXES - * environment property contains the colon-separated list of the possible - * package prefixes. The package name is constructed concatenating the package - * prefix with the scheme id. - *

      - *

      - * If the factory class cannot be found in the specified packages, system will - * try to use the default internal factory for the given scheme. - *

      - *

      - * After the factory is instantiated, its method - * {@link ObjectFactory#getObjectInstance(Object, Name, Context, Hashtable)} - * is called to create and return the object instance. - * - * @param scheme the url scheme that must be supported by the given context - * @param environment the properties for creating the factory and context (may - * be null) - * @return the created context - * @throws NamingException if thrown by the factory when creating the context. - */ - public static Context getURLContext (String scheme, - Hashtable environment) - throws NamingException - { - return getURLContext (null, null, null, scheme, environment); - } - - /** - * Sets the initial object factory builder. - * - * @param builder the builder to set - * - * @throws SecurityException if the builder cannot be installed due - * security restrictions. - * @throws NamingException if the builder cannot be installed due other - * reasons - * @throws IllegalStateException if setting the builder repeatedly - */ - public static void setObjectFactoryBuilder (ObjectFactoryBuilder builder) - throws NamingException - { - SecurityManager sm = System.getSecurityManager (); - if (sm != null) - sm.checkSetFactory (); - // Once the builder is installed it cannot be replaced. - if (ofb != null) - throw new IllegalStateException ("object factory builder already installed"); - if (builder != null) - ofb = builder; - } - - static StringTokenizer getPlusPath (String property, Hashtable env, - Context nameCtx) - throws NamingException - { - String path = (String) env.get (property); - if (nameCtx == null) - nameCtx = getInitialContext (env); - String path2 = (String) nameCtx.getEnvironment ().get (property); - if (path == null) - path = path2; - else if (path2 != null) - path += ":" + path2; - return new StringTokenizer (path != null ? path : "", ":"); - } - - /** - *

      Creates an object for the specified name context, environment and - * referencing context object.

      - *

      - * If the builder factory is set by - * {@link #setObjectFactoryBuilder(ObjectFactoryBuilder)}, the call is - * delegated to that factory. Otherwise, the object is created using the - * following rules: - *

        - *
      • If the referencing object (refInfo) contains the factory class name, - * the object is created by this factory. If the creation fails, - * the parameter refInfo is returned as the method return value.
      • - *
      • If the referencing object has no factory class name, and the addresses - * are StringRefAddrs having the address type "URL", the object is - * created by the URL context factory. The used factory corresponds the - * the naming schema of the each URL. If the attempt to create - * the object this way is not successful, the subsequent rule is - * tried.
      • - *
      • If the refInfo is not an instance of Reference or Referencable - * (for example, null), the object is created by the factories, - * specified in the Context.OBJECT_FACTORIES property of the - * environment and the provider resource file, associated with the - * nameCtx. The value of this property is the colon separated list - * of the possible factories. If none of the factories can be - * loaded, the refInfo is returned. - *
      - *

      - *

      The object factory must be public and have the public parameterless - * constructor.

      - * - * @param refInfo the referencing object, for which the new object must be - * created (can be null). If not null, it is usually an instance of - * the {@link Reference} or {@link Referenceable}. - * @param name the name of the object. The name is relative to - * the nameCtx naming context. The value of this parameter can be - * null if the name is not specified. - * @param nameCtx the naming context, in which scope the name of the new - * object is specified. If this parameter is null, the name is - * specified in the scope of the initial context. - * @param environment contains additional information for creating the object. - * This paramter can be null if there is no need to provide any - * additional information. - * - * @return the created object. If the creation fails, in some cases - * the parameter refInfo may be returned. - * - * @throws NamingException if the attempt to name the new object has failed - * @throws Exception if the object factory throws it. The object factory - * only throws an exception if it does not want other factories - * to be used to create the object. - */ - public static Object getObjectInstance (Object refInfo, - Name name, - Context nameCtx, - Hashtable environment) - throws Exception - { - ObjectFactory factory = null; - - if (ofb != null) - factory = ofb.createObjectFactory (refInfo, environment); - else - { - // First see if we have a Reference or a Referenceable. If so - // we do some special processing. - Object ref2 = refInfo; - if (refInfo instanceof Referenceable) - ref2 = ((Referenceable) refInfo).getReference (); - if (ref2 instanceof Reference) - { - Reference ref = (Reference) ref2; - - // If we have a factory class name then we use that. - String fClass = ref.getFactoryClassName (); - if (fClass != null) - { - // Exceptions here are passed to the caller. - Class k = Class.forName (fClass, - true, - Thread.currentThread().getContextClassLoader()); - factory = (ObjectFactory) k.newInstance (); - } - else - { - // There's no factory class name. If the address is a - // StringRefAddr with address type `URL', then we try - // the URL's context factory. - Enumeration e = ref.getAll (); - while (e.hasMoreElements ()) - { - RefAddr ra = (RefAddr) e.nextElement (); - if (ra instanceof StringRefAddr - && "URL".equals (ra.getType ())) - { - factory - = (ObjectFactory) getURLContext (refInfo, - name, - nameCtx, - (String) ra.getContent (), - environment); - Object obj = factory.getObjectInstance (refInfo, - name, - nameCtx, - environment); - if (obj != null) - return obj; - } - } - - // Have to try the next step. - factory = null; - } - } - - // Now look at OBJECT_FACTORIES to find the factory. - if (factory == null) - { - StringTokenizer tokens = getPlusPath (Context.OBJECT_FACTORIES, - environment, nameCtx); - - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - Class k = Class.forName (klassName, - true, - Thread.currentThread().getContextClassLoader()); - factory = (ObjectFactory) k.newInstance (); - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - if (obj != null) - return obj; - } - - // Failure. - return refInfo; - } - } - - if (factory == null) - return refInfo; - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - return obj == null ? refInfo : obj; - } - - /** - * Sets the initial context factory builder. - * - * @param builder the builder to set - * - * @throws SecurityException if the builder cannot be installed due - * security restrictions. - * @throws NamingException if the builder cannot be installed due other - * reasons - * @throws IllegalStateException if setting the builder repeatedly - * - * @see #hasInitialContextFactoryBuilder() - */ - public static void setInitialContextFactoryBuilder - (InitialContextFactoryBuilder builder) - throws NamingException - { - SecurityManager sm = System.getSecurityManager (); - if (sm != null) - sm.checkSetFactory (); - // Once the builder is installed it cannot be replaced. - if (icfb != null) - throw new IllegalStateException ("ctx factory builder already installed"); - if (builder != null) - icfb = builder; - } - - /** - * Creates a context in which the context operation must be continued. - * This method is used by operations on names that span multiple namespaces. - * - * @param cpe the exception that triggered this continuation. This method - * obtains the environment ({@link CannotProceedException#getEnvironment()} - * and sets the environment property {@link #CPE} = cpe. - * - * @return a non null context for continuing the operation - * - * @throws NamingException if the naming problems have occured - */ - public static Context getContinuationContext (CannotProceedException cpe) - throws NamingException - { - Hashtable env = cpe.getEnvironment (); - if (env != null) - env.put (CPE, cpe); - - // TODO: Check if this implementation matches the API specification - try - { - Object obj = getObjectInstance (cpe.getResolvedObj(), - cpe.getAltName (), - cpe.getAltNameCtx (), - env); - if (obj != null) - return (Context) obj; - } - catch (Exception _) - { - } - - // fix stack trace for re-thrown exception (message confusing otherwise) - cpe.fillInStackTrace(); - - throw cpe; - } - - /** - * Get the object state for binding. - * - * @param obj the object, for that the binding state must be retrieved. Cannot - * be null. - * @param name the name of this object, related to the nameCtx. Can be null if - * not specified. - * @param nameCtx the naming context, to that the object name is related. Can - * be null if the name is related to the initial default context. - * @param environment the properties for creating the object state. Can be - * null if no properties are provided. - * @return the object state for binding, may be null if no changes are - * returned by the factory - * @throws NamingException - */ - public static Object getStateToBind (Object obj, Name name, - Context nameCtx, Hashtable environment) - throws NamingException - { - StringTokenizer tokens = getPlusPath (Context.STATE_FACTORIES, - environment, nameCtx); - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - try - { - Class k = Class.forName (klassName, - true, - Thread.currentThread().getContextClassLoader()); - StateFactory factory = (StateFactory) k.newInstance (); - Object o = factory.getStateToBind (obj, name, nameCtx, - environment); - if (o != null) - return o; - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - } - - return obj; - } -} diff --git a/libjava/javax/naming/spi/ObjectFactory.h b/libjava/javax/naming/spi/ObjectFactory.h new file mode 100644 index 00000000000..62d563969af --- /dev/null +++ b/libjava/javax/naming/spi/ObjectFactory.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_ObjectFactory__ +#define __javax_naming_spi_ObjectFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + namespace spi + { + class ObjectFactory; + } + } + } +} + +class javax::naming::spi::ObjectFactory : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_ObjectFactory__ diff --git a/libjava/javax/naming/spi/ObjectFactoryBuilder.h b/libjava/javax/naming/spi/ObjectFactoryBuilder.h new file mode 100644 index 00000000000..eb457e4fb8f --- /dev/null +++ b/libjava/javax/naming/spi/ObjectFactoryBuilder.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_ObjectFactoryBuilder__ +#define __javax_naming_spi_ObjectFactoryBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + namespace spi + { + class ObjectFactory; + class ObjectFactoryBuilder; + } + } + } +} + +class javax::naming::spi::ObjectFactoryBuilder : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::spi::ObjectFactory * createObjectFactory(::java::lang::Object *, ::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_ObjectFactoryBuilder__ diff --git a/libjava/javax/naming/spi/ResolveResult.h b/libjava/javax/naming/spi/ResolveResult.h new file mode 100644 index 00000000000..72f118748c8 --- /dev/null +++ b/libjava/javax/naming/spi/ResolveResult.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_ResolveResult__ +#define __javax_naming_spi_ResolveResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Name; + namespace spi + { + class ResolveResult; + } + } + } +} + +class javax::naming::spi::ResolveResult : public ::java::lang::Object +{ + +public: // actually protected + ResolveResult(); +public: + ResolveResult(::java::lang::Object *, ::java::lang::String *); + ResolveResult(::java::lang::Object *, ::javax::naming::Name *); + virtual ::javax::naming::Name * getRemainingName(); + virtual ::java::lang::Object * getResolvedObj(); + virtual void setRemainingName(::javax::naming::Name *); + virtual void appendRemainingName(::javax::naming::Name *); + virtual void appendRemainingComponent(::java::lang::String *); + virtual void setResolvedObj(::java::lang::Object *); +private: + static const jlong serialVersionUID = -4552108072002407559LL; +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) resolvedObj; + ::javax::naming::Name * remainingName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_naming_spi_ResolveResult__ diff --git a/libjava/javax/naming/spi/Resolver.h b/libjava/javax/naming/spi/Resolver.h new file mode 100644 index 00000000000..bc7956d712a --- /dev/null +++ b/libjava/javax/naming/spi/Resolver.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_Resolver__ +#define __javax_naming_spi_Resolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Name; + namespace spi + { + class ResolveResult; + class Resolver; + } + } + } +} + +class javax::naming::spi::Resolver : public ::java::lang::Object +{ + +public: + virtual ::javax::naming::spi::ResolveResult * resolveToClass(::javax::naming::Name *, ::java::lang::Class *) = 0; + virtual ::javax::naming::spi::ResolveResult * resolveToClass(::java::lang::String *, ::java::lang::Class *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_Resolver__ diff --git a/libjava/javax/naming/spi/StateFactory.h b/libjava/javax/naming/spi/StateFactory.h new file mode 100644 index 00000000000..2039a27e2de --- /dev/null +++ b/libjava/javax/naming/spi/StateFactory.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_naming_spi_StateFactory__ +#define __javax_naming_spi_StateFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace naming + { + class Context; + class Name; + namespace spi + { + class StateFactory; + } + } + } +} + +class javax::naming::spi::StateFactory : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getStateToBind(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_naming_spi_StateFactory__ diff --git a/libjava/javax/net/ServerSocketFactory.h b/libjava/javax/net/ServerSocketFactory.h new file mode 100644 index 00000000000..51a57097aad --- /dev/null +++ b/libjava/javax/net/ServerSocketFactory.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ServerSocketFactory__ +#define __javax_net_ServerSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class ServerSocket; + } + } + namespace javax + { + namespace net + { + class ServerSocketFactory; + } + } +} + +class javax::net::ServerSocketFactory : public ::java::lang::Object +{ + +public: // actually protected + ServerSocketFactory(); +public: + static ::javax::net::ServerSocketFactory * getDefault(); + virtual ::java::net::ServerSocket * createServerSocket(); + virtual ::java::net::ServerSocket * createServerSocket(jint) = 0; + virtual ::java::net::ServerSocket * createServerSocket(jint, jint) = 0; + virtual ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ServerSocketFactory__ diff --git a/libjava/javax/net/SocketFactory.h b/libjava/javax/net/SocketFactory.h new file mode 100644 index 00000000000..2e7821c2d09 --- /dev/null +++ b/libjava/javax/net/SocketFactory.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_SocketFactory__ +#define __javax_net_SocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + } + namespace javax + { + namespace net + { + class SocketFactory; + } + } +} + +class javax::net::SocketFactory : public ::java::lang::Object +{ + +public: // actually protected + SocketFactory(); +public: + static ::javax::net::SocketFactory * getDefault(); + virtual ::java::net::Socket * createSocket(); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint) = 0; + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint) = 0; + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint) = 0; + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_net_SocketFactory__ diff --git a/libjava/javax/net/VanillaServerSocketFactory.h b/libjava/javax/net/VanillaServerSocketFactory.h new file mode 100644 index 00000000000..1c6f7dc4841 --- /dev/null +++ b/libjava/javax/net/VanillaServerSocketFactory.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_VanillaServerSocketFactory__ +#define __javax_net_VanillaServerSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class ServerSocket; + } + } + namespace javax + { + namespace net + { + class VanillaServerSocketFactory; + } + } +} + +class javax::net::VanillaServerSocketFactory : public ::javax::net::ServerSocketFactory +{ + +public: // actually package-private + VanillaServerSocketFactory(); +public: + virtual ::java::net::ServerSocket * createServerSocket(); + virtual ::java::net::ServerSocket * createServerSocket(jint); + virtual ::java::net::ServerSocket * createServerSocket(jint, jint); + virtual ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_VanillaServerSocketFactory__ diff --git a/libjava/javax/net/VanillaSocketFactory.h b/libjava/javax/net/VanillaSocketFactory.h new file mode 100644 index 00000000000..cca82bd7cfe --- /dev/null +++ b/libjava/javax/net/VanillaSocketFactory.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_VanillaSocketFactory__ +#define __javax_net_VanillaSocketFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + class Socket; + } + } + namespace javax + { + namespace net + { + class VanillaSocketFactory; + } + } +} + +class javax::net::VanillaSocketFactory : public ::javax::net::SocketFactory +{ + +public: // actually package-private + VanillaSocketFactory(); +public: + virtual ::java::net::Socket * createSocket(); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint); + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint); + virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_VanillaSocketFactory__ diff --git a/libjava/javax/net/ssl/CertPathTrustManagerParameters.h b/libjava/javax/net/ssl/CertPathTrustManagerParameters.h new file mode 100644 index 00000000000..7f7cd67a0b2 --- /dev/null +++ b/libjava/javax/net/ssl/CertPathTrustManagerParameters.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_CertPathTrustManagerParameters__ +#define __javax_net_ssl_CertPathTrustManagerParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class CertPathParameters; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class CertPathTrustManagerParameters; + } + } + } +} + +class javax::net::ssl::CertPathTrustManagerParameters : public ::java::lang::Object +{ + +public: + CertPathTrustManagerParameters(::java::security::cert::CertPathParameters *); + virtual ::java::security::cert::CertPathParameters * getParameters(); +private: + ::java::security::cert::CertPathParameters * __attribute__((aligned(__alignof__( ::java::lang::Object)))) params; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_CertPathTrustManagerParameters__ diff --git a/libjava/javax/net/ssl/HandshakeCompletedEvent.h b/libjava/javax/net/ssl/HandshakeCompletedEvent.h new file mode 100644 index 00000000000..a9c15479aa1 --- /dev/null +++ b/libjava/javax/net/ssl/HandshakeCompletedEvent.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_HandshakeCompletedEvent__ +#define __javax_net_ssl_HandshakeCompletedEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedEvent; + class SSLSession; + class SSLSocket; + } + } + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class javax::net::ssl::HandshakeCompletedEvent : public ::java::util::EventObject +{ + +public: + HandshakeCompletedEvent(::javax::net::ssl::SSLSocket *, ::javax::net::ssl::SSLSession *); + virtual ::java::lang::String * getCipherSuite(); + virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates(); + virtual ::java::security::Principal * getLocalPrincipal(); + virtual JArray< ::java::security::cert::Certificate * > * getPeerCertificates(); + virtual JArray< ::javax::security::cert::X509Certificate * > * getPeerCertificateChain(); + virtual ::java::security::Principal * getPeerPrincipal(); + virtual ::javax::net::ssl::SSLSession * getSession(); + virtual ::javax::net::ssl::SSLSocket * getSocket(); +private: + static const jlong serialVersionUID = 7914963744257769778LL; + ::javax::net::ssl::SSLSession * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) session; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_HandshakeCompletedEvent__ diff --git a/libjava/javax/net/ssl/HandshakeCompletedListener.h b/libjava/javax/net/ssl/HandshakeCompletedListener.h new file mode 100644 index 00000000000..7a797bd4eb0 --- /dev/null +++ b/libjava/javax/net/ssl/HandshakeCompletedListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_HandshakeCompletedListener__ +#define __javax_net_ssl_HandshakeCompletedListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedEvent; + class HandshakeCompletedListener; + } + } + } +} + +class javax::net::ssl::HandshakeCompletedListener : public ::java::lang::Object +{ + +public: + virtual void handshakeCompleted(::javax::net::ssl::HandshakeCompletedEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_HandshakeCompletedListener__ diff --git a/libjava/javax/net/ssl/HostnameVerifier.h b/libjava/javax/net/ssl/HostnameVerifier.h new file mode 100644 index 00000000000..34a6ff01c0b --- /dev/null +++ b/libjava/javax/net/ssl/HostnameVerifier.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_HostnameVerifier__ +#define __javax_net_ssl_HostnameVerifier__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class HostnameVerifier; + class SSLSession; + } + } + } +} + +class javax::net::ssl::HostnameVerifier : public ::java::lang::Object +{ + +public: + virtual jboolean verify(::java::lang::String *, ::javax::net::ssl::SSLSession *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_HostnameVerifier__ diff --git a/libjava/javax/net/ssl/HttpsURLConnection.h b/libjava/javax/net/ssl/HttpsURLConnection.h new file mode 100644 index 00000000000..3f016541938 --- /dev/null +++ b/libjava/javax/net/ssl/HttpsURLConnection.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_HttpsURLConnection__ +#define __javax_net_ssl_HttpsURLConnection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + namespace security + { + class Principal; + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HostnameVerifier; + class HttpsURLConnection; + class SSLSocketFactory; + } + } + } +} + +class javax::net::ssl::HttpsURLConnection : public ::java::net::HttpURLConnection +{ + +public: // actually protected + HttpsURLConnection(::java::net::URL *); +public: + static ::javax::net::ssl::HostnameVerifier * getDefaultHostnameVerifier(); + static void setDefaultHostnameVerifier(::javax::net::ssl::HostnameVerifier *); + static ::javax::net::ssl::SSLSocketFactory * getDefaultSSLSocketFactory(); + static void setDefaultSSLSocketFactory(::javax::net::ssl::SSLSocketFactory *); + virtual ::javax::net::ssl::HostnameVerifier * getHostnameVerifier(); + virtual void setHostnameVerifier(::javax::net::ssl::HostnameVerifier *); + virtual ::javax::net::ssl::SSLSocketFactory * getSSLSocketFactory(); + virtual void setSSLSocketFactory(::javax::net::ssl::SSLSocketFactory *); + virtual ::java::security::Principal * getLocalPrincipal(); + virtual ::java::security::Principal * getPeerPrincipal(); + virtual ::java::lang::String * getCipherSuite() = 0; + virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates() = 0; + virtual JArray< ::java::security::cert::Certificate * > * getServerCertificates() = 0; +private: + static ::javax::net::ssl::HostnameVerifier * defaultVerifier; + static ::javax::net::ssl::SSLSocketFactory * defaultFactory; +public: // actually protected + ::javax::net::ssl::HostnameVerifier * __attribute__((aligned(__alignof__( ::java::net::HttpURLConnection)))) hostnameVerifier; +private: + ::javax::net::ssl::SSLSocketFactory * factory; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_HttpsURLConnection__ diff --git a/libjava/javax/net/ssl/KeyManager.h b/libjava/javax/net/ssl/KeyManager.h new file mode 100644 index 00000000000..80b3c76006c --- /dev/null +++ b/libjava/javax/net/ssl/KeyManager.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_KeyManager__ +#define __javax_net_ssl_KeyManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + } + } + } +} + +class javax::net::ssl::KeyManager : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_KeyManager__ diff --git a/libjava/javax/net/ssl/KeyManagerFactory$1.h b/libjava/javax/net/ssl/KeyManagerFactory$1.h new file mode 100644 index 00000000000..7aff8e92c41 --- /dev/null +++ b/libjava/javax/net/ssl/KeyManagerFactory$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_KeyManagerFactory$1__ +#define __javax_net_ssl_KeyManagerFactory$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManagerFactory$1; + } + } + } +} + +class javax::net::ssl::KeyManagerFactory$1 : public ::java::lang::Object +{ + +public: // actually package-private + KeyManagerFactory$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_KeyManagerFactory$1__ diff --git a/libjava/javax/net/ssl/KeyManagerFactory.h b/libjava/javax/net/ssl/KeyManagerFactory.h new file mode 100644 index 00000000000..72685063158 --- /dev/null +++ b/libjava/javax/net/ssl/KeyManagerFactory.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_KeyManagerFactory__ +#define __javax_net_ssl_KeyManagerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStore; + class Provider; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class KeyManagerFactory; + class KeyManagerFactorySpi; + class ManagerFactoryParameters; + } + } + } +} + +class javax::net::ssl::KeyManagerFactory : public ::java::lang::Object +{ + +public: // actually protected + KeyManagerFactory(::javax::net::ssl::KeyManagerFactorySpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::java::lang::String * getDefaultAlgorithm(); + static ::javax::net::ssl::KeyManagerFactory * getInstance(::java::lang::String *); + static ::javax::net::ssl::KeyManagerFactory * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::net::ssl::KeyManagerFactory * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::java::lang::String * getAlgorithm(); + virtual JArray< ::javax::net::ssl::KeyManager * > * getKeyManagers(); + virtual ::java::security::Provider * getProvider(); + virtual void init(::javax::net::ssl::ManagerFactoryParameters *); + virtual void init(::java::security::KeyStore *, JArray< jchar > *); +private: + static ::java::lang::String * KEY_MANAGER_FACTORY; + static ::java::lang::String * DEFAULT_ALGORITHM; + ::javax::net::ssl::KeyManagerFactorySpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) kmfSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_KeyManagerFactory__ diff --git a/libjava/javax/net/ssl/KeyManagerFactorySpi.h b/libjava/javax/net/ssl/KeyManagerFactorySpi.h new file mode 100644 index 00000000000..4b82525697a --- /dev/null +++ b/libjava/javax/net/ssl/KeyManagerFactorySpi.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_KeyManagerFactorySpi__ +#define __javax_net_ssl_KeyManagerFactorySpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStore; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class KeyManagerFactorySpi; + class ManagerFactoryParameters; + } + } + } +} + +class javax::net::ssl::KeyManagerFactorySpi : public ::java::lang::Object +{ + +public: + KeyManagerFactorySpi(); +public: // actually protected + virtual JArray< ::javax::net::ssl::KeyManager * > * engineGetKeyManagers() = 0; + virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *) = 0; + virtual void engineInit(::java::security::KeyStore *, JArray< jchar > *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_KeyManagerFactorySpi__ diff --git a/libjava/javax/net/ssl/KeyStoreBuilderParameters.h b/libjava/javax/net/ssl/KeyStoreBuilderParameters.h new file mode 100644 index 00000000000..da1ada28635 --- /dev/null +++ b/libjava/javax/net/ssl/KeyStoreBuilderParameters.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_KeyStoreBuilderParameters__ +#define __javax_net_ssl_KeyStoreBuilderParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class KeyStoreBuilderParameters; + } + } + } +} + +class javax::net::ssl::KeyStoreBuilderParameters : public ::java::lang::Object +{ + +public: + KeyStoreBuilderParameters(); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_KeyStoreBuilderParameters__ diff --git a/libjava/javax/net/ssl/ManagerFactoryParameters.h b/libjava/javax/net/ssl/ManagerFactoryParameters.h new file mode 100644 index 00000000000..e78e6e5d46a --- /dev/null +++ b/libjava/javax/net/ssl/ManagerFactoryParameters.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_ManagerFactoryParameters__ +#define __javax_net_ssl_ManagerFactoryParameters__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class ManagerFactoryParameters; + } + } + } +} + +class javax::net::ssl::ManagerFactoryParameters : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_ManagerFactoryParameters__ diff --git a/libjava/javax/net/ssl/SSLContext.h b/libjava/javax/net/ssl/SSLContext.h new file mode 100644 index 00000000000..43be1bc99e2 --- /dev/null +++ b/libjava/javax/net/ssl/SSLContext.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLContext__ +#define __javax_net_ssl_SSLContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class SSLContext; + class SSLContextSpi; + class SSLEngine; + class SSLServerSocketFactory; + class SSLSessionContext; + class SSLSocketFactory; + class TrustManager; + } + } + } +} + +class javax::net::ssl::SSLContext : public ::java::lang::Object +{ + +public: // actually protected + SSLContext(::javax::net::ssl::SSLContextSpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::net::ssl::SSLContext * getInstance(::java::lang::String *); + static ::javax::net::ssl::SSLContext * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::net::ssl::SSLContext * getInstance(::java::lang::String *, ::java::security::Provider *); + virtual ::javax::net::ssl::SSLEngine * createSSLEngine(); + virtual ::javax::net::ssl::SSLEngine * createSSLEngine(::java::lang::String *, jint); + virtual ::javax::net::ssl::SSLSessionContext * getClientSessionContext(); + virtual ::java::lang::String * getProtocol(); + virtual ::java::security::Provider * getProvider(); + virtual ::javax::net::ssl::SSLSessionContext * getServerSessionContext(); + virtual ::javax::net::ssl::SSLServerSocketFactory * getServerSocketFactory(); + virtual ::javax::net::ssl::SSLSocketFactory * getSocketFactory(); + virtual void init(JArray< ::javax::net::ssl::KeyManager * > *, JArray< ::javax::net::ssl::TrustManager * > *, ::java::security::SecureRandom *); +private: + static ::java::lang::String * SSL_CONTEXT; + ::javax::net::ssl::SSLContextSpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ctxSpi; + ::java::security::Provider * provider; + ::java::lang::String * protocol; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLContext__ diff --git a/libjava/javax/net/ssl/SSLContextSpi.h b/libjava/javax/net/ssl/SSLContextSpi.h new file mode 100644 index 00000000000..618b0157b46 --- /dev/null +++ b/libjava/javax/net/ssl/SSLContextSpi.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLContextSpi__ +#define __javax_net_ssl_SSLContextSpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class SecureRandom; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class KeyManager; + class SSLContextSpi; + class SSLEngine; + class SSLServerSocketFactory; + class SSLSessionContext; + class SSLSocketFactory; + class TrustManager; + } + } + } +} + +class javax::net::ssl::SSLContextSpi : public ::java::lang::Object +{ + +public: + SSLContextSpi(); +public: // actually protected + virtual ::javax::net::ssl::SSLEngine * engineCreateSSLEngine() = 0; + virtual ::javax::net::ssl::SSLEngine * engineCreateSSLEngine(::java::lang::String *, jint) = 0; + virtual ::javax::net::ssl::SSLSessionContext * engineGetClientSessionContext() = 0; + virtual ::javax::net::ssl::SSLSessionContext * engineGetServerSessionContext() = 0; + virtual ::javax::net::ssl::SSLServerSocketFactory * engineGetServerSocketFactory() = 0; + virtual ::javax::net::ssl::SSLSocketFactory * engineGetSocketFactory() = 0; + virtual void engineInit(JArray< ::javax::net::ssl::KeyManager * > *, JArray< ::javax::net::ssl::TrustManager * > *, ::java::security::SecureRandom *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLContextSpi__ diff --git a/libjava/javax/net/ssl/SSLEngine.h b/libjava/javax/net/ssl/SSLEngine.h new file mode 100644 index 00000000000..7bbe1b9c5a9 --- /dev/null +++ b/libjava/javax/net/ssl/SSLEngine.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLEngine__ +#define __javax_net_ssl_SSLEngine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace nio + { + class ByteBuffer; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngine; + class SSLEngineResult; + class SSLEngineResult$HandshakeStatus; + class SSLSession; + } + } + } +} + +class javax::net::ssl::SSLEngine : public ::java::lang::Object +{ + +public: // actually protected + SSLEngine(); + SSLEngine(::java::lang::String *, jint); +public: + virtual void beginHandshake() = 0; + virtual void closeInbound() = 0; + virtual void closeOutbound() = 0; + virtual ::java::lang::Runnable * getDelegatedTask() = 0; + virtual ::java::lang::String * getPeerHost(); + virtual jint getPeerPort(); + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites() = 0; + virtual JArray< ::java::lang::String * > * getEnabledProtocols() = 0; + virtual jboolean getEnableSessionCreation() = 0; + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * getHandshakeStatus() = 0; + virtual jboolean getNeedClientAuth() = 0; + virtual ::javax::net::ssl::SSLSession * getSession() = 0; + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites() = 0; + virtual JArray< ::java::lang::String * > * getSupportedProtocols() = 0; + virtual jboolean getUseClientMode() = 0; + virtual jboolean getWantClientAuth() = 0; + virtual jboolean isInboundDone() = 0; + virtual jboolean isOutboundDone() = 0; + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *) = 0; + virtual void setEnabledProtocols(JArray< ::java::lang::String * > *) = 0; + virtual void setEnableSessionCreation(jboolean) = 0; + virtual void setUseClientMode(jboolean) = 0; + virtual void setNeedClientAuth(jboolean) = 0; + virtual void setWantClientAuth(jboolean) = 0; + virtual ::javax::net::ssl::SSLEngineResult * unwrap(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual ::javax::net::ssl::SSLEngineResult * unwrap(::java::nio::ByteBuffer *, JArray< ::java::nio::ByteBuffer * > *); + virtual ::javax::net::ssl::SSLEngineResult * unwrap(::java::nio::ByteBuffer *, JArray< ::java::nio::ByteBuffer * > *, jint, jint) = 0; + virtual ::javax::net::ssl::SSLEngineResult * wrap(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *); + virtual ::javax::net::ssl::SSLEngineResult * wrap(JArray< ::java::nio::ByteBuffer * > *, ::java::nio::ByteBuffer *); + virtual ::javax::net::ssl::SSLEngineResult * wrap(JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::java::nio::ByteBuffer *) = 0; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) peerHost; + jint peerPort; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLEngine__ diff --git a/libjava/javax/net/ssl/SSLEngineResult$HandshakeStatus.h b/libjava/javax/net/ssl/SSLEngineResult$HandshakeStatus.h new file mode 100644 index 00000000000..8fa544db565 --- /dev/null +++ b/libjava/javax/net/ssl/SSLEngineResult$HandshakeStatus.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLEngineResult$HandshakeStatus__ +#define __javax_net_ssl_SSLEngineResult$HandshakeStatus__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngineResult$HandshakeStatus; + } + } + } +} + +class javax::net::ssl::SSLEngineResult$HandshakeStatus : public ::java::lang::Enum +{ + + SSLEngineResult$HandshakeStatus(::java::lang::String *, jint); +public: + static JArray< ::javax::net::ssl::SSLEngineResult$HandshakeStatus * > * values(); + static ::javax::net::ssl::SSLEngineResult$HandshakeStatus * valueOf(::java::lang::String *); + static ::javax::net::ssl::SSLEngineResult$HandshakeStatus * NOT_HANDSHAKING; + static ::javax::net::ssl::SSLEngineResult$HandshakeStatus * FINISHED; + static ::javax::net::ssl::SSLEngineResult$HandshakeStatus * NEED_TASK; + static ::javax::net::ssl::SSLEngineResult$HandshakeStatus * NEED_WRAP; + static ::javax::net::ssl::SSLEngineResult$HandshakeStatus * NEED_UNWRAP; +private: + static JArray< ::javax::net::ssl::SSLEngineResult$HandshakeStatus * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLEngineResult$HandshakeStatus__ diff --git a/libjava/javax/net/ssl/SSLEngineResult$Status.h b/libjava/javax/net/ssl/SSLEngineResult$Status.h new file mode 100644 index 00000000000..925e3d5e8d7 --- /dev/null +++ b/libjava/javax/net/ssl/SSLEngineResult$Status.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLEngineResult$Status__ +#define __javax_net_ssl_SSLEngineResult$Status__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngineResult$Status; + } + } + } +} + +class javax::net::ssl::SSLEngineResult$Status : public ::java::lang::Enum +{ + + SSLEngineResult$Status(::java::lang::String *, jint); +public: + static JArray< ::javax::net::ssl::SSLEngineResult$Status * > * values(); + static ::javax::net::ssl::SSLEngineResult$Status * valueOf(::java::lang::String *); + static ::javax::net::ssl::SSLEngineResult$Status * BUFFER_UNDERFLOW; + static ::javax::net::ssl::SSLEngineResult$Status * BUFFER_OVERFLOW; + static ::javax::net::ssl::SSLEngineResult$Status * OK; + static ::javax::net::ssl::SSLEngineResult$Status * CLOSED; +private: + static JArray< ::javax::net::ssl::SSLEngineResult$Status * > * ENUM$VALUES; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLEngineResult$Status__ diff --git a/libjava/javax/net/ssl/SSLEngineResult.h b/libjava/javax/net/ssl/SSLEngineResult.h new file mode 100644 index 00000000000..c88f3e4f895 --- /dev/null +++ b/libjava/javax/net/ssl/SSLEngineResult.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLEngineResult__ +#define __javax_net_ssl_SSLEngineResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngineResult; + class SSLEngineResult$HandshakeStatus; + class SSLEngineResult$Status; + } + } + } +} + +class javax::net::ssl::SSLEngineResult : public ::java::lang::Object +{ + +public: + SSLEngineResult(::javax::net::ssl::SSLEngineResult$Status *, ::javax::net::ssl::SSLEngineResult$HandshakeStatus *, jint, jint); + virtual jint bytesConsumed(); + virtual jint bytesProduced(); + virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * getHandshakeStatus(); + virtual ::javax::net::ssl::SSLEngineResult$Status * getStatus(); + virtual ::java::lang::String * toString(); +private: + ::javax::net::ssl::SSLEngineResult$HandshakeStatus * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handshakeStatus; + ::javax::net::ssl::SSLEngineResult$Status * status; + jint bytesConsumed__; + jint bytesProduced__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLEngineResult__ diff --git a/libjava/javax/net/ssl/SSLException.h b/libjava/javax/net/ssl/SSLException.h new file mode 100644 index 00000000000..7364cb101ab --- /dev/null +++ b/libjava/javax/net/ssl/SSLException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLException__ +#define __javax_net_ssl_SSLException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLException; + } + } + } +} + +class javax::net::ssl::SSLException : public ::java::io::IOException +{ + +public: + SSLException(::java::lang::String *); + SSLException(::java::lang::String *, ::java::lang::Throwable *); + SSLException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 4511006460650708967LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLException__ diff --git a/libjava/javax/net/ssl/SSLHandshakeException.h b/libjava/javax/net/ssl/SSLHandshakeException.h new file mode 100644 index 00000000000..0894667b978 --- /dev/null +++ b/libjava/javax/net/ssl/SSLHandshakeException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLHandshakeException__ +#define __javax_net_ssl_SSLHandshakeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLHandshakeException; + } + } + } +} + +class javax::net::ssl::SSLHandshakeException : public ::javax::net::ssl::SSLException +{ + +public: + SSLHandshakeException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLHandshakeException__ diff --git a/libjava/javax/net/ssl/SSLKeyException.h b/libjava/javax/net/ssl/SSLKeyException.h new file mode 100644 index 00000000000..4a6d8b69dd1 --- /dev/null +++ b/libjava/javax/net/ssl/SSLKeyException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLKeyException__ +#define __javax_net_ssl_SSLKeyException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLKeyException; + } + } + } +} + +class javax::net::ssl::SSLKeyException : public ::javax::net::ssl::SSLException +{ + +public: + SSLKeyException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLKeyException__ diff --git a/libjava/javax/net/ssl/SSLPeerUnverifiedException.h b/libjava/javax/net/ssl/SSLPeerUnverifiedException.h new file mode 100644 index 00000000000..d5085f1ff59 --- /dev/null +++ b/libjava/javax/net/ssl/SSLPeerUnverifiedException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLPeerUnverifiedException__ +#define __javax_net_ssl_SSLPeerUnverifiedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLPeerUnverifiedException; + } + } + } +} + +class javax::net::ssl::SSLPeerUnverifiedException : public ::javax::net::ssl::SSLException +{ + +public: + SSLPeerUnverifiedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLPeerUnverifiedException__ diff --git a/libjava/javax/net/ssl/SSLPermission.h b/libjava/javax/net/ssl/SSLPermission.h new file mode 100644 index 00000000000..32ccc233ffc --- /dev/null +++ b/libjava/javax/net/ssl/SSLPermission.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLPermission__ +#define __javax_net_ssl_SSLPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLPermission; + } + } + } +} + +class javax::net::ssl::SSLPermission : public ::java::security::BasicPermission +{ + +public: + SSLPermission(::java::lang::String *); + SSLPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = -3456898025505876775LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLPermission__ diff --git a/libjava/javax/net/ssl/SSLProtocolException.h b/libjava/javax/net/ssl/SSLProtocolException.h new file mode 100644 index 00000000000..afe38494ee0 --- /dev/null +++ b/libjava/javax/net/ssl/SSLProtocolException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLProtocolException__ +#define __javax_net_ssl_SSLProtocolException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLProtocolException; + } + } + } +} + +class javax::net::ssl::SSLProtocolException : public ::javax::net::ssl::SSLException +{ + +public: + SSLProtocolException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLProtocolException__ diff --git a/libjava/javax/net/ssl/SSLServerSocket.h b/libjava/javax/net/ssl/SSLServerSocket.h new file mode 100644 index 00000000000..e47aa9e2ad7 --- /dev/null +++ b/libjava/javax/net/ssl/SSLServerSocket.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLServerSocket__ +#define __javax_net_ssl_SSLServerSocket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLServerSocket; + } + } + } +} + +class javax::net::ssl::SSLServerSocket : public ::java::net::ServerSocket +{ + +public: // actually protected + SSLServerSocket(); + SSLServerSocket(jint); + SSLServerSocket(jint, jint); + SSLServerSocket(jint, jint, ::java::net::InetAddress *); +public: + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites() = 0; + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *) = 0; + virtual JArray< ::java::lang::String * > * getEnabledProtocols() = 0; + virtual void setEnabledProtocols(JArray< ::java::lang::String * > *) = 0; + virtual jboolean getEnableSessionCreation() = 0; + virtual void setEnableSessionCreation(jboolean) = 0; + virtual jboolean getNeedClientAuth() = 0; + virtual void setNeedClientAuth(jboolean) = 0; + virtual jboolean getUseClientMode() = 0; + virtual void setUseClientMode(jboolean) = 0; + virtual jboolean getWantClientAuth() = 0; + virtual void setWantClientAuth(jboolean) = 0; + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites() = 0; + virtual JArray< ::java::lang::String * > * getSupportedProtocols() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLServerSocket__ diff --git a/libjava/javax/net/ssl/SSLServerSocketFactory.h b/libjava/javax/net/ssl/SSLServerSocketFactory.h new file mode 100644 index 00000000000..cffb2fbd788 --- /dev/null +++ b/libjava/javax/net/ssl/SSLServerSocketFactory.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLServerSocketFactory__ +#define __javax_net_ssl_SSLServerSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace net + { + class ServerSocketFactory; + namespace ssl + { + class SSLContext; + class SSLServerSocketFactory; + } + } + } +} + +class javax::net::ssl::SSLServerSocketFactory : public ::javax::net::ServerSocketFactory +{ + +public: // actually protected + SSLServerSocketFactory(); +public: + static ::javax::net::ServerSocketFactory * getDefault(); + virtual JArray< ::java::lang::String * > * getDefaultCipherSuites() = 0; + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites() = 0; +private: + static ::javax::net::ssl::SSLContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLServerSocketFactory__ diff --git a/libjava/javax/net/ssl/SSLSession.h b/libjava/javax/net/ssl/SSLSession.h new file mode 100644 index 00000000000..ade9a0e309d --- /dev/null +++ b/libjava/javax/net/ssl/SSLSession.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSession__ +#define __javax_net_ssl_SSLSession__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Principal; + namespace cert + { + class Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + class SSLSessionContext; + } + } + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class javax::net::ssl::SSLSession : public ::java::lang::Object +{ + +public: + virtual jint getApplicationBufferSize() = 0; + virtual ::java::lang::String * getCipherSuite() = 0; + virtual jlong getCreationTime() = 0; + virtual JArray< jbyte > * getId() = 0; + virtual jlong getLastAccessedTime() = 0; + virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates() = 0; + virtual ::java::security::Principal * getLocalPrincipal() = 0; + virtual jint getPacketBufferSize() = 0; + virtual JArray< ::java::security::cert::Certificate * > * getPeerCertificates() = 0; + virtual JArray< ::javax::security::cert::X509Certificate * > * getPeerCertificateChain() = 0; + virtual ::java::lang::String * getPeerHost() = 0; + virtual jint getPeerPort() = 0; + virtual ::java::security::Principal * getPeerPrincipal() = 0; + virtual ::java::lang::String * getProtocol() = 0; + virtual ::javax::net::ssl::SSLSessionContext * getSessionContext() = 0; + virtual JArray< ::java::lang::String * > * getValueNames() = 0; + virtual ::java::lang::Object * getValue(::java::lang::String *) = 0; + virtual void invalidate() = 0; + virtual jboolean isValid() = 0; + virtual void putValue(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void removeValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_SSLSession__ diff --git a/libjava/javax/net/ssl/SSLSessionBindingEvent.h b/libjava/javax/net/ssl/SSLSessionBindingEvent.h new file mode 100644 index 00000000000..b8b62315132 --- /dev/null +++ b/libjava/javax/net/ssl/SSLSessionBindingEvent.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSessionBindingEvent__ +#define __javax_net_ssl_SSLSessionBindingEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + class SSLSessionBindingEvent; + } + } + } +} + +class javax::net::ssl::SSLSessionBindingEvent : public ::java::util::EventObject +{ + +public: + SSLSessionBindingEvent(::javax::net::ssl::SSLSession *, ::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::javax::net::ssl::SSLSession * getSession(); +private: + static const jlong serialVersionUID = 3989172637106345LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLSessionBindingEvent__ diff --git a/libjava/javax/net/ssl/SSLSessionBindingListener.h b/libjava/javax/net/ssl/SSLSessionBindingListener.h new file mode 100644 index 00000000000..442b749f3ff --- /dev/null +++ b/libjava/javax/net/ssl/SSLSessionBindingListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSessionBindingListener__ +#define __javax_net_ssl_SSLSessionBindingListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSessionBindingEvent; + class SSLSessionBindingListener; + } + } + } +} + +class javax::net::ssl::SSLSessionBindingListener : public ::java::lang::Object +{ + +public: + virtual void valueBound(::javax::net::ssl::SSLSessionBindingEvent *) = 0; + virtual void valueUnbound(::javax::net::ssl::SSLSessionBindingEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_SSLSessionBindingListener__ diff --git a/libjava/javax/net/ssl/SSLSessionContext.h b/libjava/javax/net/ssl/SSLSessionContext.h new file mode 100644 index 00000000000..ec20fb6a67c --- /dev/null +++ b/libjava/javax/net/ssl/SSLSessionContext.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSessionContext__ +#define __javax_net_ssl_SSLSessionContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + class SSLSessionContext; + } + } + } +} + +class javax::net::ssl::SSLSessionContext : public ::java::lang::Object +{ + +public: + virtual ::java::util::Enumeration * getIds() = 0; + virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *) = 0; + virtual jint getSessionCacheSize() = 0; + virtual jint getSessionTimeout() = 0; + virtual void setSessionCacheSize(jint) = 0; + virtual void setSessionTimeout(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_SSLSessionContext__ diff --git a/libjava/javax/net/ssl/SSLSocket.h b/libjava/javax/net/ssl/SSLSocket.h new file mode 100644 index 00000000000..061bfe15ef0 --- /dev/null +++ b/libjava/javax/net/ssl/SSLSocket.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSocket__ +#define __javax_net_ssl_SSLSocket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class HandshakeCompletedListener; + class SSLSession; + class SSLSocket; + } + } + } +} + +class javax::net::ssl::SSLSocket : public ::java::net::Socket +{ + +public: // actually protected + SSLSocket(); + SSLSocket(::java::lang::String *, jint); + SSLSocket(::java::net::InetAddress *, jint); + SSLSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint); + SSLSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint); +public: + virtual void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *) = 0; + virtual void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *) = 0; + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites() = 0; + virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *) = 0; + virtual JArray< ::java::lang::String * > * getEnabledProtocols() = 0; + virtual void setEnabledProtocols(JArray< ::java::lang::String * > *) = 0; + virtual jboolean getEnableSessionCreation() = 0; + virtual void setEnableSessionCreation(jboolean) = 0; + virtual jboolean getNeedClientAuth() = 0; + virtual void setNeedClientAuth(jboolean) = 0; + virtual ::javax::net::ssl::SSLSession * getSession() = 0; + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites() = 0; + virtual JArray< ::java::lang::String * > * getSupportedProtocols() = 0; + virtual jboolean getUseClientMode() = 0; + virtual void setUseClientMode(jboolean) = 0; + virtual jboolean getWantClientAuth() = 0; + virtual void setWantClientAuth(jboolean) = 0; + virtual void startHandshake() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLSocket__ diff --git a/libjava/javax/net/ssl/SSLSocketFactory.h b/libjava/javax/net/ssl/SSLSocketFactory.h new file mode 100644 index 00000000000..624a97ab6a6 --- /dev/null +++ b/libjava/javax/net/ssl/SSLSocketFactory.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_SSLSocketFactory__ +#define __javax_net_ssl_SSLSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Socket; + } + } + namespace javax + { + namespace net + { + class SocketFactory; + namespace ssl + { + class SSLContext; + class SSLSocketFactory; + } + } + } +} + +class javax::net::ssl::SSLSocketFactory : public ::javax::net::SocketFactory +{ + +public: + SSLSocketFactory(); + static ::javax::net::SocketFactory * getDefault(); + virtual ::java::net::Socket * createSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean) = 0; + virtual JArray< ::java::lang::String * > * getDefaultCipherSuites() = 0; + virtual JArray< ::java::lang::String * > * getSupportedCipherSuites() = 0; +private: + static ::javax::net::ssl::SSLContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_SSLSocketFactory__ diff --git a/libjava/javax/net/ssl/TrivialHostnameVerifier.h b/libjava/javax/net/ssl/TrivialHostnameVerifier.h new file mode 100644 index 00000000000..e360858239d --- /dev/null +++ b/libjava/javax/net/ssl/TrivialHostnameVerifier.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_TrivialHostnameVerifier__ +#define __javax_net_ssl_TrivialHostnameVerifier__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSession; + class TrivialHostnameVerifier; + } + } + } +} + +class javax::net::ssl::TrivialHostnameVerifier : public ::java::lang::Object +{ + +public: // actually package-private + TrivialHostnameVerifier(); +public: + virtual jboolean verify(::java::lang::String *, ::javax::net::ssl::SSLSession *); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_TrivialHostnameVerifier__ diff --git a/libjava/javax/net/ssl/TrustManager.h b/libjava/javax/net/ssl/TrustManager.h new file mode 100644 index 00000000000..3ef89b7b79a --- /dev/null +++ b/libjava/javax/net/ssl/TrustManager.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_TrustManager__ +#define __javax_net_ssl_TrustManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class TrustManager; + } + } + } +} + +class javax::net::ssl::TrustManager : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_TrustManager__ diff --git a/libjava/javax/net/ssl/TrustManagerFactory$1.h b/libjava/javax/net/ssl/TrustManagerFactory$1.h new file mode 100644 index 00000000000..8649b480a3f --- /dev/null +++ b/libjava/javax/net/ssl/TrustManagerFactory$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_TrustManagerFactory$1__ +#define __javax_net_ssl_TrustManagerFactory$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace net + { + namespace ssl + { + class TrustManagerFactory$1; + } + } + } +} + +class javax::net::ssl::TrustManagerFactory$1 : public ::java::lang::Object +{ + +public: // actually package-private + TrustManagerFactory$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_TrustManagerFactory$1__ diff --git a/libjava/javax/net/ssl/TrustManagerFactory.h b/libjava/javax/net/ssl/TrustManagerFactory.h new file mode 100644 index 00000000000..2d87597c199 --- /dev/null +++ b/libjava/javax/net/ssl/TrustManagerFactory.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_TrustManagerFactory__ +#define __javax_net_ssl_TrustManagerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStore; + class Provider; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class ManagerFactoryParameters; + class TrustManager; + class TrustManagerFactory; + class TrustManagerFactorySpi; + } + } + } +} + +class javax::net::ssl::TrustManagerFactory : public ::java::lang::Object +{ + +public: // actually protected + TrustManagerFactory(::javax::net::ssl::TrustManagerFactorySpi *, ::java::security::Provider *, ::java::lang::String *); +public: + static ::javax::net::ssl::TrustManagerFactory * getInstance(::java::lang::String *); + static ::javax::net::ssl::TrustManagerFactory * getInstance(::java::lang::String *, ::java::lang::String *); + static ::javax::net::ssl::TrustManagerFactory * getInstance(::java::lang::String *, ::java::security::Provider *); + static ::java::lang::String * getDefaultAlgorithm(); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::security::Provider * getProvider(); + virtual JArray< ::javax::net::ssl::TrustManager * > * getTrustManagers(); + virtual void init(::javax::net::ssl::ManagerFactoryParameters *); + virtual void init(::java::security::KeyStore *); +private: + static ::java::lang::String * TRUST_MANAGER_FACTORY; + static ::java::lang::String * DEFAULT_ALGORITHM; + ::javax::net::ssl::TrustManagerFactorySpi * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tmfSpi; + ::java::security::Provider * provider; + ::java::lang::String * algorithm; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_TrustManagerFactory__ diff --git a/libjava/javax/net/ssl/TrustManagerFactorySpi.h b/libjava/javax/net/ssl/TrustManagerFactorySpi.h new file mode 100644 index 00000000000..3c1343d74a8 --- /dev/null +++ b/libjava/javax/net/ssl/TrustManagerFactorySpi.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_TrustManagerFactorySpi__ +#define __javax_net_ssl_TrustManagerFactorySpi__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class KeyStore; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class ManagerFactoryParameters; + class TrustManager; + class TrustManagerFactorySpi; + } + } + } +} + +class javax::net::ssl::TrustManagerFactorySpi : public ::java::lang::Object +{ + +public: + TrustManagerFactorySpi(); +public: // actually protected + virtual JArray< ::javax::net::ssl::TrustManager * > * engineGetTrustManagers() = 0; + virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *) = 0; + virtual void engineInit(::java::security::KeyStore *) = 0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_TrustManagerFactorySpi__ diff --git a/libjava/javax/net/ssl/X509ExtendedKeyManager.h b/libjava/javax/net/ssl/X509ExtendedKeyManager.h new file mode 100644 index 00000000000..cb3b68c3a0c --- /dev/null +++ b/libjava/javax/net/ssl/X509ExtendedKeyManager.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_X509ExtendedKeyManager__ +#define __javax_net_ssl_X509ExtendedKeyManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Socket; + } + namespace security + { + class Principal; + class PrivateKey; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLEngine; + class X509ExtendedKeyManager; + } + } + } +} + +class javax::net::ssl::X509ExtendedKeyManager : public ::java::lang::Object +{ + +public: // actually protected + X509ExtendedKeyManager(); +public: + virtual ::java::lang::String * chooseEngineClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::javax::net::ssl::SSLEngine *); + virtual ::java::lang::String * chooseEngineServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::javax::net::ssl::SSLEngine *); + virtual ::java::lang::String * chooseClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::java::net::Socket *) = 0; + virtual ::java::lang::String * chooseServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::java::net::Socket *) = 0; + virtual JArray< ::java::security::cert::X509Certificate * > * getCertificateChain(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getClientAliases(::java::lang::String *, JArray< ::java::security::Principal * > *) = 0; + virtual ::java::security::PrivateKey * getPrivateKey(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getServerAliases(::java::lang::String *, JArray< ::java::security::Principal * > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_net_ssl_X509ExtendedKeyManager__ diff --git a/libjava/javax/net/ssl/X509KeyManager.h b/libjava/javax/net/ssl/X509KeyManager.h new file mode 100644 index 00000000000..9ce4f14c433 --- /dev/null +++ b/libjava/javax/net/ssl/X509KeyManager.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_X509KeyManager__ +#define __javax_net_ssl_X509KeyManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Socket; + } + namespace security + { + class Principal; + class PrivateKey; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class X509KeyManager; + } + } + } +} + +class javax::net::ssl::X509KeyManager : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * chooseClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::java::net::Socket *) = 0; + virtual ::java::lang::String * chooseServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::java::net::Socket *) = 0; + virtual JArray< ::java::security::cert::X509Certificate * > * getCertificateChain(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getClientAliases(::java::lang::String *, JArray< ::java::security::Principal * > *) = 0; + virtual ::java::security::PrivateKey * getPrivateKey(::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getServerAliases(::java::lang::String *, JArray< ::java::security::Principal * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_X509KeyManager__ diff --git a/libjava/javax/net/ssl/X509TrustManager.h b/libjava/javax/net/ssl/X509TrustManager.h new file mode 100644 index 00000000000..4afd47e09a8 --- /dev/null +++ b/libjava/javax/net/ssl/X509TrustManager.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_net_ssl_X509TrustManager__ +#define __javax_net_ssl_X509TrustManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class X509TrustManager; + } + } + } +} + +class javax::net::ssl::X509TrustManager : public ::java::lang::Object +{ + +public: + virtual void checkClientTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *) = 0; + virtual void checkServerTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *) = 0; + virtual JArray< ::java::security::cert::X509Certificate * > * getAcceptedIssuers() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_net_ssl_X509TrustManager__ diff --git a/libjava/javax/print/AttributeException.h b/libjava/javax/print/AttributeException.h new file mode 100644 index 00000000000..2402a177205 --- /dev/null +++ b/libjava/javax/print/AttributeException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_AttributeException__ +#define __javax_print_AttributeException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class AttributeException; + namespace attribute + { + class Attribute; + } + } + } +} + +class javax::print::AttributeException : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::Class * > * getUnsupportedAttributes() = 0; + virtual JArray< ::javax::print::attribute::Attribute * > * getUnsupportedValues() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_AttributeException__ diff --git a/libjava/javax/print/CancelablePrintJob.h b/libjava/javax/print/CancelablePrintJob.h new file mode 100644 index 00000000000..31b006e9551 --- /dev/null +++ b/libjava/javax/print/CancelablePrintJob.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_CancelablePrintJob__ +#define __javax_print_CancelablePrintJob__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class CancelablePrintJob; + class Doc; + class PrintService; + namespace attribute + { + class PrintJobAttributeSet; + class PrintRequestAttributeSet; + } + namespace event + { + class PrintJobAttributeListener; + class PrintJobListener; + } + } + } +} + +class javax::print::CancelablePrintJob : public ::java::lang::Object +{ + +public: + virtual void cancel() = 0; + virtual void addPrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *, ::javax::print::attribute::PrintJobAttributeSet *) = 0; + virtual void addPrintJobListener(::javax::print::event::PrintJobListener *) = 0; + virtual ::javax::print::attribute::PrintJobAttributeSet * getAttributes() = 0; + virtual ::javax::print::PrintService * getPrintService() = 0; + virtual void print(::javax::print::Doc *, ::javax::print::attribute::PrintRequestAttributeSet *) = 0; + virtual void removePrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *) = 0; + virtual void removePrintJobListener(::javax::print::event::PrintJobListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_CancelablePrintJob__ diff --git a/libjava/javax/print/Doc.h b/libjava/javax/print/Doc.h new file mode 100644 index 00000000000..6b3bc34c354 --- /dev/null +++ b/libjava/javax/print/Doc.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_Doc__ +#define __javax_print_Doc__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class Doc; + class DocFlavor; + namespace attribute + { + class DocAttributeSet; + } + } + } +} + +class javax::print::Doc : public ::java::lang::Object +{ + +public: + virtual ::javax::print::attribute::DocAttributeSet * getAttributes() = 0; + virtual ::javax::print::DocFlavor * getDocFlavor() = 0; + virtual ::java::lang::Object * getPrintData() = 0; + virtual ::java::io::Reader * getReaderForText() = 0; + virtual ::java::io::InputStream * getStreamForBytes() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_Doc__ diff --git a/libjava/javax/print/DocFlavor$BYTE_ARRAY.h b/libjava/javax/print/DocFlavor$BYTE_ARRAY.h new file mode 100644 index 00000000000..006ddb000e0 --- /dev/null +++ b/libjava/javax/print/DocFlavor$BYTE_ARRAY.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$BYTE_ARRAY__ +#define __javax_print_DocFlavor$BYTE_ARRAY__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$BYTE_ARRAY; + } + } +} + +class javax::print::DocFlavor$BYTE_ARRAY : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$BYTE_ARRAY(::java::lang::String *); +private: + static const jlong serialVersionUID = -9065578006593857475LL; +public: + static ::javax::print::DocFlavor$BYTE_ARRAY * AUTOSENSE; + static ::javax::print::DocFlavor$BYTE_ARRAY * GIF; + static ::javax::print::DocFlavor$BYTE_ARRAY * JPEG; + static ::javax::print::DocFlavor$BYTE_ARRAY * PCL; + static ::javax::print::DocFlavor$BYTE_ARRAY * PDF; + static ::javax::print::DocFlavor$BYTE_ARRAY * PNG; + static ::javax::print::DocFlavor$BYTE_ARRAY * POSTSCRIPT; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_HTML_HOST; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_HTML_US_ASCII; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_HTML_UTF_16; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_HTML_UTF_16BE; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_HTML_UTF_16LE; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_HTML_UTF_8; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_PLAIN_HOST; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_PLAIN_US_ASCII; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_PLAIN_UTF_16; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_PLAIN_UTF_16BE; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_PLAIN_UTF_16LE; + static ::javax::print::DocFlavor$BYTE_ARRAY * TEXT_PLAIN_UTF_8; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$BYTE_ARRAY__ diff --git a/libjava/javax/print/DocFlavor$CHAR_ARRAY.h b/libjava/javax/print/DocFlavor$CHAR_ARRAY.h new file mode 100644 index 00000000000..1909d2e151a --- /dev/null +++ b/libjava/javax/print/DocFlavor$CHAR_ARRAY.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$CHAR_ARRAY__ +#define __javax_print_DocFlavor$CHAR_ARRAY__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$CHAR_ARRAY; + } + } +} + +class javax::print::DocFlavor$CHAR_ARRAY : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$CHAR_ARRAY(::java::lang::String *); +private: + static const jlong serialVersionUID = -8720590903724405128LL; +public: + static ::javax::print::DocFlavor$CHAR_ARRAY * TEXT_HTML; + static ::javax::print::DocFlavor$CHAR_ARRAY * TEXT_PLAIN; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$CHAR_ARRAY__ diff --git a/libjava/javax/print/DocFlavor$INPUT_STREAM.h b/libjava/javax/print/DocFlavor$INPUT_STREAM.h new file mode 100644 index 00000000000..3c635deed2b --- /dev/null +++ b/libjava/javax/print/DocFlavor$INPUT_STREAM.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$INPUT_STREAM__ +#define __javax_print_DocFlavor$INPUT_STREAM__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$INPUT_STREAM; + } + } +} + +class javax::print::DocFlavor$INPUT_STREAM : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$INPUT_STREAM(::java::lang::String *); +private: + static const jlong serialVersionUID = -7045842700749194127LL; +public: + static ::javax::print::DocFlavor$INPUT_STREAM * AUTOSENSE; + static ::javax::print::DocFlavor$INPUT_STREAM * GIF; + static ::javax::print::DocFlavor$INPUT_STREAM * JPEG; + static ::javax::print::DocFlavor$INPUT_STREAM * PCL; + static ::javax::print::DocFlavor$INPUT_STREAM * PDF; + static ::javax::print::DocFlavor$INPUT_STREAM * PNG; + static ::javax::print::DocFlavor$INPUT_STREAM * POSTSCRIPT; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_HTML_HOST; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_HTML_US_ASCII; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_HTML_UTF_16; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_HTML_UTF_16BE; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_HTML_UTF_16LE; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_HTML_UTF_8; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_PLAIN_HOST; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_PLAIN_US_ASCII; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_PLAIN_UTF_16; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_PLAIN_UTF_16BE; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_PLAIN_UTF_16LE; + static ::javax::print::DocFlavor$INPUT_STREAM * TEXT_PLAIN_UTF_8; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$INPUT_STREAM__ diff --git a/libjava/javax/print/DocFlavor$READER.h b/libjava/javax/print/DocFlavor$READER.h new file mode 100644 index 00000000000..c6a24cd62f0 --- /dev/null +++ b/libjava/javax/print/DocFlavor$READER.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$READER__ +#define __javax_print_DocFlavor$READER__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$READER; + } + } +} + +class javax::print::DocFlavor$READER : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$READER(::java::lang::String *); +private: + static const jlong serialVersionUID = 7100295812579351567LL; +public: + static ::javax::print::DocFlavor$READER * TEXT_HTML; + static ::javax::print::DocFlavor$READER * TEXT_PLAIN; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$READER__ diff --git a/libjava/javax/print/DocFlavor$SERVICE_FORMATTED.h b/libjava/javax/print/DocFlavor$SERVICE_FORMATTED.h new file mode 100644 index 00000000000..85386b18d8d --- /dev/null +++ b/libjava/javax/print/DocFlavor$SERVICE_FORMATTED.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$SERVICE_FORMATTED__ +#define __javax_print_DocFlavor$SERVICE_FORMATTED__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$SERVICE_FORMATTED; + } + } +} + +class javax::print::DocFlavor$SERVICE_FORMATTED : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$SERVICE_FORMATTED(::java::lang::String *); +private: + static const jlong serialVersionUID = 6181337766266637256LL; +public: + static ::javax::print::DocFlavor$SERVICE_FORMATTED * PAGEABLE; + static ::javax::print::DocFlavor$SERVICE_FORMATTED * PRINTABLE; + static ::javax::print::DocFlavor$SERVICE_FORMATTED * RENDERABLE_IMAGE; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$SERVICE_FORMATTED__ diff --git a/libjava/javax/print/DocFlavor$STRING.h b/libjava/javax/print/DocFlavor$STRING.h new file mode 100644 index 00000000000..c1ef38bbd84 --- /dev/null +++ b/libjava/javax/print/DocFlavor$STRING.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$STRING__ +#define __javax_print_DocFlavor$STRING__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$STRING; + } + } +} + +class javax::print::DocFlavor$STRING : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$STRING(::java::lang::String *); +private: + static const jlong serialVersionUID = 4414407504887034035LL; +public: + static ::javax::print::DocFlavor$STRING * TEXT_HTML; + static ::javax::print::DocFlavor$STRING * TEXT_PLAIN; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$STRING__ diff --git a/libjava/javax/print/DocFlavor$URL.h b/libjava/javax/print/DocFlavor$URL.h new file mode 100644 index 00000000000..82bc8569ab3 --- /dev/null +++ b/libjava/javax/print/DocFlavor$URL.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor$URL__ +#define __javax_print_DocFlavor$URL__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor$URL; + } + } +} + +class javax::print::DocFlavor$URL : public ::javax::print::DocFlavor +{ + +public: + DocFlavor$URL(::java::lang::String *); +private: + static const jlong serialVersionUID = 2936725788144902062LL; +public: + static ::javax::print::DocFlavor$URL * AUTOSENSE; + static ::javax::print::DocFlavor$URL * GIF; + static ::javax::print::DocFlavor$URL * JPEG; + static ::javax::print::DocFlavor$URL * PCL; + static ::javax::print::DocFlavor$URL * PDF; + static ::javax::print::DocFlavor$URL * PNG; + static ::javax::print::DocFlavor$URL * POSTSCRIPT; + static ::javax::print::DocFlavor$URL * TEXT_HTML_HOST; + static ::javax::print::DocFlavor$URL * TEXT_HTML_US_ASCII; + static ::javax::print::DocFlavor$URL * TEXT_HTML_UTF_16; + static ::javax::print::DocFlavor$URL * TEXT_HTML_UTF_16BE; + static ::javax::print::DocFlavor$URL * TEXT_HTML_UTF_16LE; + static ::javax::print::DocFlavor$URL * TEXT_HTML_UTF_8; + static ::javax::print::DocFlavor$URL * TEXT_PLAIN_HOST; + static ::javax::print::DocFlavor$URL * TEXT_PLAIN_US_ASCII; + static ::javax::print::DocFlavor$URL * TEXT_PLAIN_UTF_16; + static ::javax::print::DocFlavor$URL * TEXT_PLAIN_UTF_16BE; + static ::javax::print::DocFlavor$URL * TEXT_PLAIN_UTF_16LE; + static ::javax::print::DocFlavor$URL * TEXT_PLAIN_UTF_8; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor$URL__ diff --git a/libjava/javax/print/DocFlavor.h b/libjava/javax/print/DocFlavor.h new file mode 100644 index 00000000000..f5331984a28 --- /dev/null +++ b/libjava/javax/print/DocFlavor.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocFlavor__ +#define __javax_print_DocFlavor__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + } + } +} + +class javax::print::DocFlavor : public ::java::lang::Object +{ + +public: + DocFlavor(::java::lang::String *, ::java::lang::String *); +private: + void parseMimeType(::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * getMediaSubtype(); + virtual ::java::lang::String * getMediaType(); + virtual ::java::lang::String * getMimeType(); + virtual ::java::lang::String * getParameter(::java::lang::String *); + virtual ::java::lang::String * getRepresentationClassName(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -4512080796965449721LL; +public: + static ::java::lang::String * hostEncoding; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mediaSubtype; + ::java::lang::String * mediaType; + ::java::util::TreeMap * params; + ::java::lang::String * myClassName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_DocFlavor__ diff --git a/libjava/javax/print/DocPrintJob.h b/libjava/javax/print/DocPrintJob.h new file mode 100644 index 00000000000..3a450e180d0 --- /dev/null +++ b/libjava/javax/print/DocPrintJob.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_DocPrintJob__ +#define __javax_print_DocPrintJob__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class Doc; + class DocPrintJob; + class PrintService; + namespace attribute + { + class PrintJobAttributeSet; + class PrintRequestAttributeSet; + } + namespace event + { + class PrintJobAttributeListener; + class PrintJobListener; + } + } + } +} + +class javax::print::DocPrintJob : public ::java::lang::Object +{ + +public: + virtual void addPrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *, ::javax::print::attribute::PrintJobAttributeSet *) = 0; + virtual void addPrintJobListener(::javax::print::event::PrintJobListener *) = 0; + virtual ::javax::print::attribute::PrintJobAttributeSet * getAttributes() = 0; + virtual ::javax::print::PrintService * getPrintService() = 0; + virtual void print(::javax::print::Doc *, ::javax::print::attribute::PrintRequestAttributeSet *) = 0; + virtual void removePrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *) = 0; + virtual void removePrintJobListener(::javax::print::event::PrintJobListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_DocPrintJob__ diff --git a/libjava/javax/print/FlavorException.h b/libjava/javax/print/FlavorException.h new file mode 100644 index 00000000000..b06cdd63332 --- /dev/null +++ b/libjava/javax/print/FlavorException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_FlavorException__ +#define __javax_print_FlavorException__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + class FlavorException; + } + } +} + +class javax::print::FlavorException : public ::java::lang::Object +{ + +public: + virtual JArray< ::javax::print::DocFlavor * > * getUnsupportedFlavors() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_FlavorException__ diff --git a/libjava/javax/print/MultiDoc.h b/libjava/javax/print/MultiDoc.h new file mode 100644 index 00000000000..8148c7e5f52 --- /dev/null +++ b/libjava/javax/print/MultiDoc.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_MultiDoc__ +#define __javax_print_MultiDoc__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class Doc; + class MultiDoc; + } + } +} + +class javax::print::MultiDoc : public ::java::lang::Object +{ + +public: + virtual ::javax::print::Doc * getDoc() = 0; + virtual ::javax::print::MultiDoc * next() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_MultiDoc__ diff --git a/libjava/javax/print/MultiDocPrintJob.h b/libjava/javax/print/MultiDocPrintJob.h new file mode 100644 index 00000000000..4c14d64634d --- /dev/null +++ b/libjava/javax/print/MultiDocPrintJob.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_MultiDocPrintJob__ +#define __javax_print_MultiDocPrintJob__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class Doc; + class MultiDoc; + class MultiDocPrintJob; + class PrintService; + namespace attribute + { + class PrintJobAttributeSet; + class PrintRequestAttributeSet; + } + namespace event + { + class PrintJobAttributeListener; + class PrintJobListener; + } + } + } +} + +class javax::print::MultiDocPrintJob : public ::java::lang::Object +{ + +public: + virtual void print(::javax::print::MultiDoc *, ::javax::print::attribute::PrintRequestAttributeSet *) = 0; + virtual void addPrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *, ::javax::print::attribute::PrintJobAttributeSet *) = 0; + virtual void addPrintJobListener(::javax::print::event::PrintJobListener *) = 0; + virtual ::javax::print::attribute::PrintJobAttributeSet * getAttributes() = 0; + virtual ::javax::print::PrintService * getPrintService() = 0; + virtual void print(::javax::print::Doc *, ::javax::print::attribute::PrintRequestAttributeSet *) = 0; + virtual void removePrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *) = 0; + virtual void removePrintJobListener(::javax::print::event::PrintJobListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_MultiDocPrintJob__ diff --git a/libjava/javax/print/MultiDocPrintService.h b/libjava/javax/print/MultiDocPrintService.h new file mode 100644 index 00000000000..0b613f64a0b --- /dev/null +++ b/libjava/javax/print/MultiDocPrintService.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_MultiDocPrintService__ +#define __javax_print_MultiDocPrintService__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + class DocPrintJob; + class MultiDocPrintJob; + class MultiDocPrintService; + class ServiceUIFactory; + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintServiceAttribute; + class PrintServiceAttributeSet; + } + namespace event + { + class PrintServiceAttributeListener; + } + } + } +} + +class javax::print::MultiDocPrintService : public ::java::lang::Object +{ + +public: + virtual ::javax::print::MultiDocPrintJob * createMultiDocPrintJob() = 0; + virtual ::javax::print::DocPrintJob * createPrintJob() = 0; + virtual ::javax::print::attribute::PrintServiceAttribute * getAttribute(::java::lang::Class *) = 0; + virtual ::javax::print::attribute::PrintServiceAttributeSet * getAttributes() = 0; + virtual ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::print::ServiceUIFactory * getServiceUIFactory() = 0; + virtual JArray< ::java::lang::Class * > * getSupportedAttributeCategories() = 0; + virtual ::java::lang::Object * getSupportedAttributeValues(::java::lang::Class *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual JArray< ::javax::print::DocFlavor * > * getSupportedDocFlavors() = 0; + virtual ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual jboolean isAttributeCategorySupported(::java::lang::Class *) = 0; + virtual jboolean isAttributeValueSupported(::javax::print::attribute::Attribute *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual jboolean isDocFlavorSupported(::javax::print::DocFlavor *) = 0; + virtual void addPrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *) = 0; + virtual void removePrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_MultiDocPrintService__ diff --git a/libjava/javax/print/PrintException.h b/libjava/javax/print/PrintException.h new file mode 100644 index 00000000000..90a1659acb8 --- /dev/null +++ b/libjava/javax/print/PrintException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_PrintException__ +#define __javax_print_PrintException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class PrintException; + } + } +} + +class javax::print::PrintException : public ::java::lang::Exception +{ + +public: + PrintException(); + PrintException(::java::lang::Exception *); + PrintException(::java::lang::String *); + PrintException(::java::lang::String *, ::java::lang::Exception *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_PrintException__ diff --git a/libjava/javax/print/PrintService.h b/libjava/javax/print/PrintService.h new file mode 100644 index 00000000000..3e26159a1ca --- /dev/null +++ b/libjava/javax/print/PrintService.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_PrintService__ +#define __javax_print_PrintService__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + class DocPrintJob; + class PrintService; + class ServiceUIFactory; + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintServiceAttribute; + class PrintServiceAttributeSet; + } + namespace event + { + class PrintServiceAttributeListener; + } + } + } +} + +class javax::print::PrintService : public ::java::lang::Object +{ + +public: + virtual ::javax::print::DocPrintJob * createPrintJob() = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::javax::print::attribute::PrintServiceAttribute * getAttribute(::java::lang::Class *) = 0; + virtual ::javax::print::attribute::PrintServiceAttributeSet * getAttributes() = 0; + virtual ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::print::ServiceUIFactory * getServiceUIFactory() = 0; + virtual JArray< ::java::lang::Class * > * getSupportedAttributeCategories() = 0; + virtual ::java::lang::Object * getSupportedAttributeValues(::java::lang::Class *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual JArray< ::javax::print::DocFlavor * > * getSupportedDocFlavors() = 0; + virtual ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isAttributeCategorySupported(::java::lang::Class *) = 0; + virtual jboolean isAttributeValueSupported(::javax::print::attribute::Attribute *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual jboolean isDocFlavorSupported(::javax::print::DocFlavor *) = 0; + virtual void addPrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *) = 0; + virtual void removePrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_PrintService__ diff --git a/libjava/javax/print/PrintServiceLookup.h b/libjava/javax/print/PrintServiceLookup.h new file mode 100644 index 00000000000..5409da90d94 --- /dev/null +++ b/libjava/javax/print/PrintServiceLookup.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_PrintServiceLookup__ +#define __javax_print_PrintServiceLookup__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace print + { + class CupsPrintServiceLookup; + } + } + } + namespace javax + { + namespace print + { + class DocFlavor; + class MultiDocPrintService; + class PrintService; + class PrintServiceLookup; + namespace attribute + { + class AttributeSet; + } + } + } +} + +class javax::print::PrintServiceLookup : public ::java::lang::Object +{ + +public: + PrintServiceLookup(); + static jboolean registerServiceProvider(::javax::print::PrintServiceLookup *); + static jboolean registerService(::javax::print::PrintService *); + static JArray< ::javax::print::PrintService * > * lookupPrintServices(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *); + static JArray< ::javax::print::MultiDocPrintService * > * lookupMultiDocPrintServices(JArray< ::javax::print::DocFlavor * > *, ::javax::print::attribute::AttributeSet *); + static ::javax::print::PrintService * lookupDefaultPrintService(); + virtual ::javax::print::PrintService * getDefaultPrintService() = 0; + virtual JArray< ::javax::print::MultiDocPrintService * > * getMultiDocPrintServices(JArray< ::javax::print::DocFlavor * > *, ::javax::print::attribute::AttributeSet *) = 0; + virtual JArray< ::javax::print::PrintService * > * getPrintServices() = 0; + virtual JArray< ::javax::print::PrintService * > * getPrintServices(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; +private: + static ::gnu::javax::print::CupsPrintServiceLookup * systemProvider; + static ::java::util::HashSet * printServices; + static ::java::util::HashSet * printServiceLookups; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_PrintServiceLookup__ diff --git a/libjava/javax/print/ServiceUI.h b/libjava/javax/print/ServiceUI.h new file mode 100644 index 00000000000..8ec373ac49b --- /dev/null +++ b/libjava/javax/print/ServiceUI.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_ServiceUI__ +#define __javax_print_ServiceUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class GraphicsConfiguration; + } + } + namespace javax + { + namespace print + { + class DocFlavor; + class PrintService; + class ServiceUI; + namespace attribute + { + class PrintRequestAttributeSet; + } + } + } +} + +class javax::print::ServiceUI : public ::java::lang::Object +{ + +public: + ServiceUI(); + static ::javax::print::PrintService * printDialog(::java::awt::GraphicsConfiguration *, jint, jint, JArray< ::javax::print::PrintService * > *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_ServiceUI__ diff --git a/libjava/javax/print/ServiceUIFactory.h b/libjava/javax/print/ServiceUIFactory.h new file mode 100644 index 00000000000..2424058fa35 --- /dev/null +++ b/libjava/javax/print/ServiceUIFactory.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_ServiceUIFactory__ +#define __javax_print_ServiceUIFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class ServiceUIFactory; + } + } +} + +class javax::print::ServiceUIFactory : public ::java::lang::Object +{ + +public: + ServiceUIFactory(); + virtual ::java::lang::Object * getUI(jint, ::java::lang::String *) = 0; + virtual JArray< ::java::lang::String * > * getUIClassNamesForRole(jint) = 0; + static const jint ABOUT_UIROLE = 1; + static const jint ADMIN_UIROLE = 2; + static const jint MAIN_UIROLE = 3; + static const jint RESERVED_UIROLE = 99; + static ::java::lang::String * DIALOG_UI; + static ::java::lang::String * JCOMPONENT_UI; + static ::java::lang::String * JDIALOG_UI; + static ::java::lang::String * PANEL_UI; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_ServiceUIFactory__ diff --git a/libjava/javax/print/SimpleDoc.h b/libjava/javax/print/SimpleDoc.h new file mode 100644 index 00000000000..b055e4ed9bd --- /dev/null +++ b/libjava/javax/print/SimpleDoc.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_SimpleDoc__ +#define __javax_print_SimpleDoc__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + class SimpleDoc; + namespace attribute + { + class DocAttributeSet; + } + } + } +} + +class javax::print::SimpleDoc : public ::java::lang::Object +{ + +public: + SimpleDoc(::java::lang::Object *, ::javax::print::DocFlavor *, ::javax::print::attribute::DocAttributeSet *); + ::javax::print::attribute::DocAttributeSet * getAttributes(); + ::javax::print::DocFlavor * getDocFlavor(); + ::java::lang::Object * getPrintData(); + ::java::io::Reader * getReaderForText(); + ::java::io::InputStream * getStreamForBytes(); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) printData; + ::javax::print::DocFlavor * flavor; + ::javax::print::attribute::DocAttributeSet * attributes; + ::java::io::InputStream * stream; + ::java::io::Reader * reader; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_SimpleDoc__ diff --git a/libjava/javax/print/StreamPrintService.h b/libjava/javax/print/StreamPrintService.h new file mode 100644 index 00000000000..115d6efab54 --- /dev/null +++ b/libjava/javax/print/StreamPrintService.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_StreamPrintService__ +#define __javax_print_StreamPrintService__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + class DocPrintJob; + class ServiceUIFactory; + class StreamPrintService; + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintServiceAttribute; + class PrintServiceAttributeSet; + } + namespace event + { + class PrintServiceAttributeListener; + } + } + } +} + +class javax::print::StreamPrintService : public ::java::lang::Object +{ + +public: // actually protected + StreamPrintService(::java::io::OutputStream *); +public: + virtual void dispose(); + virtual ::java::lang::String * getOutputFormat() = 0; + virtual ::java::io::OutputStream * getOutputStream(); + virtual jboolean isDisposed(); + virtual ::javax::print::DocPrintJob * createPrintJob() = 0; + virtual ::javax::print::attribute::PrintServiceAttribute * getAttribute(::java::lang::Class *) = 0; + virtual ::javax::print::attribute::PrintServiceAttributeSet * getAttributes() = 0; + virtual ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::print::ServiceUIFactory * getServiceUIFactory() = 0; + virtual JArray< ::java::lang::Class * > * getSupportedAttributeCategories() = 0; + virtual ::java::lang::Object * getSupportedAttributeValues(::java::lang::Class *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual JArray< ::javax::print::DocFlavor * > * getSupportedDocFlavors() = 0; + virtual ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual jboolean isAttributeCategorySupported(::java::lang::Class *) = 0; + virtual jboolean isAttributeValueSupported(::javax::print::attribute::Attribute *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *) = 0; + virtual jboolean isDocFlavorSupported(::javax::print::DocFlavor *) = 0; + virtual void addPrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *) = 0; + virtual void removePrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *) = 0; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) disposed; + ::java::io::OutputStream * out; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_StreamPrintService__ diff --git a/libjava/javax/print/StreamPrintServiceFactory.h b/libjava/javax/print/StreamPrintServiceFactory.h new file mode 100644 index 00000000000..496b51f6189 --- /dev/null +++ b/libjava/javax/print/StreamPrintServiceFactory.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_StreamPrintServiceFactory__ +#define __javax_print_StreamPrintServiceFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + class DocFlavor; + class StreamPrintService; + class StreamPrintServiceFactory; + } + } +} + +class javax::print::StreamPrintServiceFactory : public ::java::lang::Object +{ + +public: + StreamPrintServiceFactory(); + static JArray< ::javax::print::StreamPrintServiceFactory * > * lookupStreamPrintServiceFactories(::javax::print::DocFlavor *, ::java::lang::String *); + virtual ::java::lang::String * getOutputFormat() = 0; + virtual JArray< ::javax::print::DocFlavor * > * getSupportedDocFlavors() = 0; + virtual ::javax::print::StreamPrintService * getPrintService(::java::io::OutputStream *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_StreamPrintServiceFactory__ diff --git a/libjava/javax/print/URIException.h b/libjava/javax/print/URIException.h new file mode 100644 index 00000000000..7e4f868b07f --- /dev/null +++ b/libjava/javax/print/URIException.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_URIException__ +#define __javax_print_URIException__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + class URIException; + } + } +} + +class javax::print::URIException : public ::java::lang::Object +{ + +public: + virtual jint getReason() = 0; + virtual ::java::net::URI * getUnsupportedURI() = 0; + static const jint URIInaccessible = 1; + static const jint URIOtherProblem = -1; + static const jint URISchemeNotSupported = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_URIException__ diff --git a/libjava/javax/print/attribute/Attribute.h b/libjava/javax/print/attribute/Attribute.h new file mode 100644 index 00000000000..88c4efd316e --- /dev/null +++ b/libjava/javax/print/attribute/Attribute.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_Attribute__ +#define __javax_print_attribute_Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + } + } + } +} + +class javax::print::attribute::Attribute : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_Attribute__ diff --git a/libjava/javax/print/attribute/AttributeSet.h b/libjava/javax/print/attribute/AttributeSet.h new file mode 100644 index 00000000000..f1fed93203e --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSet.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSet__ +#define __javax_print_attribute_AttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSet : public ::java::lang::Object +{ + +public: + virtual jboolean add(::javax::print::attribute::Attribute *) = 0; + virtual jboolean addAll(::javax::print::attribute::AttributeSet *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Class *) = 0; + virtual jboolean containsValue(::javax::print::attribute::Attribute *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *) = 0; + virtual jint hashCode() = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean remove(::javax::print::attribute::Attribute *) = 0; + virtual jboolean remove(::java::lang::Class *) = 0; + virtual jint size() = 0; + virtual JArray< ::javax::print::attribute::Attribute * > * toArray() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_AttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.h new file mode 100644 index 00000000000..34cee3d0710 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedAttributeSet.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$SynchronizedAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class AttributeSetUtilities$SynchronizedAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$SynchronizedAttributeSet : public ::java::lang::Object +{ + +public: + AttributeSetUtilities$SynchronizedAttributeSet(::javax::print::attribute::AttributeSet *); + virtual jboolean add(::javax::print::attribute::Attribute *); + virtual jboolean addAll(::javax::print::attribute::AttributeSet *); + virtual void clear(); + virtual jboolean containsKey(::java::lang::Class *); + virtual jboolean containsValue(::javax::print::attribute::Attribute *); + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual jboolean remove(::java::lang::Class *); + virtual jboolean remove(::javax::print::attribute::Attribute *); + virtual jint size(); + virtual JArray< ::javax::print::attribute::Attribute * > * toArray(); +private: + ::javax::print::attribute::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrset; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.h new file mode 100644 index 00000000000..1e2b9a466b7 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedDocAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedDocAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$SynchronizedDocAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$SynchronizedDocAttributeSet; + class DocAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$SynchronizedDocAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$SynchronizedAttributeSet +{ + +public: + AttributeSetUtilities$SynchronizedDocAttributeSet(::javax::print::attribute::DocAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedDocAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.h new file mode 100644 index 00000000000..c52b5512578 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintJobAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintJobAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintJobAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$SynchronizedPrintJobAttributeSet; + class PrintJobAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$SynchronizedPrintJobAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$SynchronizedAttributeSet +{ + +public: + AttributeSetUtilities$SynchronizedPrintJobAttributeSet(::javax::print::attribute::PrintJobAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintJobAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.h new file mode 100644 index 00000000000..4fbb3d9b14d --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintRequestAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintRequestAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintRequestAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$SynchronizedPrintRequestAttributeSet; + class PrintRequestAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$SynchronizedPrintRequestAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$SynchronizedAttributeSet +{ + +public: + AttributeSetUtilities$SynchronizedPrintRequestAttributeSet(::javax::print::attribute::PrintRequestAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintRequestAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.h new file mode 100644 index 00000000000..8177161f282 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$SynchronizedPrintServiceAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintServiceAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintServiceAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$SynchronizedPrintServiceAttributeSet; + class PrintServiceAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$SynchronizedPrintServiceAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$SynchronizedAttributeSet +{ + +public: + AttributeSetUtilities$SynchronizedPrintServiceAttributeSet(::javax::print::attribute::PrintServiceAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$SynchronizedPrintServiceAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.h new file mode 100644 index 00000000000..71de4168464 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableAttributeSet.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$UnmodifiableAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$UnmodifiableAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class AttributeSetUtilities$UnmodifiableAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$UnmodifiableAttributeSet : public ::java::lang::Object +{ + +public: + AttributeSetUtilities$UnmodifiableAttributeSet(::javax::print::attribute::AttributeSet *); + virtual jboolean add(::javax::print::attribute::Attribute *); + virtual jboolean addAll(::javax::print::attribute::AttributeSet *); + virtual void clear(); + virtual jboolean containsKey(::java::lang::Class *); + virtual jboolean containsValue(::javax::print::attribute::Attribute *); + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual jboolean remove(::java::lang::Class *); + virtual jboolean remove(::javax::print::attribute::Attribute *); + virtual jint size(); + virtual JArray< ::javax::print::attribute::Attribute * > * toArray(); +private: + ::javax::print::attribute::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrset; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$UnmodifiableAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.h new file mode 100644 index 00000000000..de2bb982c0c --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiableDocAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$UnmodifiableDocAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$UnmodifiableDocAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$UnmodifiableDocAttributeSet; + class DocAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$UnmodifiableDocAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$UnmodifiableAttributeSet +{ + +public: + AttributeSetUtilities$UnmodifiableDocAttributeSet(::javax::print::attribute::DocAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$UnmodifiableDocAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.h new file mode 100644 index 00000000000..6f800a2332b --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintJobAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintJobAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintJobAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$UnmodifiablePrintJobAttributeSet; + class PrintJobAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$UnmodifiablePrintJobAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$UnmodifiableAttributeSet +{ + +public: + AttributeSetUtilities$UnmodifiablePrintJobAttributeSet(::javax::print::attribute::PrintJobAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintJobAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.h new file mode 100644 index 00000000000..6dea83bd064 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet; + class PrintRequestAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$UnmodifiableAttributeSet +{ + +public: + AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet(::javax::print::attribute::PrintRequestAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintRequestAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.h b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.h new file mode 100644 index 00000000000..edfe0690cb6 --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet__ +#define __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet; + class PrintServiceAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet : public ::javax::print::attribute::AttributeSetUtilities$UnmodifiableAttributeSet +{ + +public: + AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet(::javax::print::attribute::PrintServiceAttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities$UnmodifiablePrintServiceAttributeSet__ diff --git a/libjava/javax/print/attribute/AttributeSetUtilities.h b/libjava/javax/print/attribute/AttributeSetUtilities.h new file mode 100644 index 00000000000..85f90d0681c --- /dev/null +++ b/libjava/javax/print/attribute/AttributeSetUtilities.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_AttributeSetUtilities__ +#define __javax_print_attribute_AttributeSetUtilities__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class AttributeSetUtilities; + class DocAttributeSet; + class PrintJobAttributeSet; + class PrintRequestAttributeSet; + class PrintServiceAttributeSet; + } + } + } +} + +class javax::print::attribute::AttributeSetUtilities : public ::java::lang::Object +{ + + AttributeSetUtilities(); +public: + static ::javax::print::attribute::AttributeSet * synchronizedView(::javax::print::attribute::AttributeSet *); + static ::javax::print::attribute::DocAttributeSet * synchronizedView(::javax::print::attribute::DocAttributeSet *); + static ::javax::print::attribute::PrintJobAttributeSet * synchronizedView(::javax::print::attribute::PrintJobAttributeSet *); + static ::javax::print::attribute::PrintRequestAttributeSet * synchronizedView(::javax::print::attribute::PrintRequestAttributeSet *); + static ::javax::print::attribute::PrintServiceAttributeSet * synchronizedView(::javax::print::attribute::PrintServiceAttributeSet *); + static ::javax::print::attribute::AttributeSet * unmodifiableView(::javax::print::attribute::AttributeSet *); + static ::javax::print::attribute::DocAttributeSet * unmodifiableView(::javax::print::attribute::DocAttributeSet *); + static ::javax::print::attribute::PrintJobAttributeSet * unmodifiableView(::javax::print::attribute::PrintJobAttributeSet *); + static ::javax::print::attribute::PrintRequestAttributeSet * unmodifiableView(::javax::print::attribute::PrintRequestAttributeSet *); + static ::javax::print::attribute::PrintServiceAttributeSet * unmodifiableView(::javax::print::attribute::PrintServiceAttributeSet *); + static ::java::lang::Class * verifyAttributeCategory(::java::lang::Object *, ::java::lang::Class *); + static ::javax::print::attribute::Attribute * verifyAttributeValue(::java::lang::Object *, ::java::lang::Class *); + static void verifyCategoryForValue(::java::lang::Class *, ::javax::print::attribute::Attribute *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_AttributeSetUtilities__ diff --git a/libjava/javax/print/attribute/DateTimeSyntax.h b/libjava/javax/print/attribute/DateTimeSyntax.h new file mode 100644 index 00000000000..8ec4f3c9812 --- /dev/null +++ b/libjava/javax/print/attribute/DateTimeSyntax.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_DateTimeSyntax__ +#define __javax_print_attribute_DateTimeSyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class DateTimeSyntax; + } + } + } +} + +class javax::print::attribute::DateTimeSyntax : public ::java::lang::Object +{ + +public: // actually protected + DateTimeSyntax(::java::util::Date *); +public: + virtual ::java::util::Date * getValue(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -1400819079791208582LL; + ::java::util::Date * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_DateTimeSyntax__ diff --git a/libjava/javax/print/attribute/DocAttribute.h b/libjava/javax/print/attribute/DocAttribute.h new file mode 100644 index 00000000000..d26bc6d8c10 --- /dev/null +++ b/libjava/javax/print/attribute/DocAttribute.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_DocAttribute__ +#define __javax_print_attribute_DocAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class DocAttribute; + } + } + } +} + +class javax::print::attribute::DocAttribute : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_DocAttribute__ diff --git a/libjava/javax/print/attribute/DocAttributeSet.h b/libjava/javax/print/attribute/DocAttributeSet.h new file mode 100644 index 00000000000..c85d799c414 --- /dev/null +++ b/libjava/javax/print/attribute/DocAttributeSet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_DocAttributeSet__ +#define __javax_print_attribute_DocAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class DocAttributeSet; + } + } + } +} + +class javax::print::attribute::DocAttributeSet : public ::java::lang::Object +{ + +public: + virtual jboolean add(::javax::print::attribute::Attribute *) = 0; + virtual jboolean addAll(::javax::print::attribute::AttributeSet *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Class *) = 0; + virtual jboolean containsValue(::javax::print::attribute::Attribute *) = 0; + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean remove(::javax::print::attribute::Attribute *) = 0; + virtual jboolean remove(::java::lang::Class *) = 0; + virtual jint size() = 0; + virtual JArray< ::javax::print::attribute::Attribute * > * toArray() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_DocAttributeSet__ diff --git a/libjava/javax/print/attribute/EnumSyntax.h b/libjava/javax/print/attribute/EnumSyntax.h new file mode 100644 index 00000000000..5b445c301b0 --- /dev/null +++ b/libjava/javax/print/attribute/EnumSyntax.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_EnumSyntax__ +#define __javax_print_attribute_EnumSyntax__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + } + } + } +} + +class javax::print::attribute::EnumSyntax : public ::java::lang::Object +{ + +public: // actually protected + EnumSyntax(jint); +public: + virtual jint getValue(); + virtual ::java::lang::Object * clone(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual ::java::lang::Object * readResolve(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + virtual jint getOffset(); +private: + static const jlong serialVersionUID = -2739521845085831642LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_EnumSyntax__ diff --git a/libjava/javax/print/attribute/HashAttributeSet.h b/libjava/javax/print/attribute/HashAttributeSet.h new file mode 100644 index 00000000000..b82db6e5759 --- /dev/null +++ b/libjava/javax/print/attribute/HashAttributeSet.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_HashAttributeSet__ +#define __javax_print_attribute_HashAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class HashAttributeSet; + } + } + } +} + +class javax::print::attribute::HashAttributeSet : public ::java::lang::Object +{ + +public: + HashAttributeSet(); + HashAttributeSet(::javax::print::attribute::Attribute *); + HashAttributeSet(JArray< ::javax::print::attribute::Attribute * > *); + HashAttributeSet(::javax::print::attribute::AttributeSet *); +public: // actually protected + HashAttributeSet(::java::lang::Class *); + HashAttributeSet(::javax::print::attribute::Attribute *, ::java::lang::Class *); + HashAttributeSet(JArray< ::javax::print::attribute::Attribute * > *, ::java::lang::Class *); + HashAttributeSet(::javax::print::attribute::AttributeSet *, ::java::lang::Class *); +public: + virtual jboolean add(::javax::print::attribute::Attribute *); +private: + jboolean addInternal(::javax::print::attribute::Attribute *, ::java::lang::Class *); +public: + virtual jboolean addAll(::javax::print::attribute::AttributeSet *); +private: + jboolean addAllInternal(::javax::print::attribute::AttributeSet *, ::java::lang::Class *); +public: + virtual void clear(); + virtual jboolean containsKey(::java::lang::Class *); + virtual jboolean containsValue(::javax::print::attribute::Attribute *); + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *); + virtual jint hashCode(); + virtual jboolean isEmpty(); + virtual jboolean remove(::javax::print::attribute::Attribute *); + virtual jboolean remove(::java::lang::Class *); + virtual jint size(); + virtual JArray< ::javax::print::attribute::Attribute * > * toArray(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 5311560590283707917LL; + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) myInterface; + ::java::util::HashMap * attributeMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_HashAttributeSet__ diff --git a/libjava/javax/print/attribute/HashDocAttributeSet.h b/libjava/javax/print/attribute/HashDocAttributeSet.h new file mode 100644 index 00000000000..43b9eaec69b --- /dev/null +++ b/libjava/javax/print/attribute/HashDocAttributeSet.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_HashDocAttributeSet__ +#define __javax_print_attribute_HashDocAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class DocAttribute; + class DocAttributeSet; + class HashDocAttributeSet; + } + } + } +} + +class javax::print::attribute::HashDocAttributeSet : public ::javax::print::attribute::HashAttributeSet +{ + +public: + HashDocAttributeSet(); + HashDocAttributeSet(::javax::print::attribute::DocAttribute *); + HashDocAttributeSet(JArray< ::javax::print::attribute::DocAttribute * > *); + HashDocAttributeSet(::javax::print::attribute::DocAttributeSet *); +private: + static const jlong serialVersionUID = -1128534486061432528LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_HashDocAttributeSet__ diff --git a/libjava/javax/print/attribute/HashPrintJobAttributeSet.h b/libjava/javax/print/attribute/HashPrintJobAttributeSet.h new file mode 100644 index 00000000000..26fde6f998d --- /dev/null +++ b/libjava/javax/print/attribute/HashPrintJobAttributeSet.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_HashPrintJobAttributeSet__ +#define __javax_print_attribute_HashPrintJobAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class HashPrintJobAttributeSet; + class PrintJobAttribute; + class PrintJobAttributeSet; + } + } + } +} + +class javax::print::attribute::HashPrintJobAttributeSet : public ::javax::print::attribute::HashAttributeSet +{ + +public: + HashPrintJobAttributeSet(); + HashPrintJobAttributeSet(::javax::print::attribute::PrintJobAttribute *); + HashPrintJobAttributeSet(JArray< ::javax::print::attribute::PrintJobAttribute * > *); + HashPrintJobAttributeSet(::javax::print::attribute::PrintJobAttributeSet *); +private: + static const jlong serialVersionUID = -4204473656070350348LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_HashPrintJobAttributeSet__ diff --git a/libjava/javax/print/attribute/HashPrintRequestAttributeSet.h b/libjava/javax/print/attribute/HashPrintRequestAttributeSet.h new file mode 100644 index 00000000000..a1232a21100 --- /dev/null +++ b/libjava/javax/print/attribute/HashPrintRequestAttributeSet.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_HashPrintRequestAttributeSet__ +#define __javax_print_attribute_HashPrintRequestAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class HashPrintRequestAttributeSet; + class PrintRequestAttribute; + class PrintRequestAttributeSet; + } + } + } +} + +class javax::print::attribute::HashPrintRequestAttributeSet : public ::javax::print::attribute::HashAttributeSet +{ + +public: + HashPrintRequestAttributeSet(); + HashPrintRequestAttributeSet(::javax::print::attribute::PrintRequestAttribute *); + HashPrintRequestAttributeSet(JArray< ::javax::print::attribute::PrintRequestAttribute * > *); + HashPrintRequestAttributeSet(::javax::print::attribute::PrintRequestAttributeSet *); +private: + static const jlong serialVersionUID = 2364756266107751933LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_HashPrintRequestAttributeSet__ diff --git a/libjava/javax/print/attribute/HashPrintServiceAttributeSet.h b/libjava/javax/print/attribute/HashPrintServiceAttributeSet.h new file mode 100644 index 00000000000..abf583a7252 --- /dev/null +++ b/libjava/javax/print/attribute/HashPrintServiceAttributeSet.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_HashPrintServiceAttributeSet__ +#define __javax_print_attribute_HashPrintServiceAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class HashPrintServiceAttributeSet; + class PrintServiceAttribute; + class PrintServiceAttributeSet; + } + } + } +} + +class javax::print::attribute::HashPrintServiceAttributeSet : public ::javax::print::attribute::HashAttributeSet +{ + +public: + HashPrintServiceAttributeSet(); + HashPrintServiceAttributeSet(::javax::print::attribute::PrintServiceAttribute *); + HashPrintServiceAttributeSet(JArray< ::javax::print::attribute::PrintServiceAttribute * > *); + HashPrintServiceAttributeSet(::javax::print::attribute::PrintServiceAttributeSet *); +private: + static const jlong serialVersionUID = 6642904616179203070LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_HashPrintServiceAttributeSet__ diff --git a/libjava/javax/print/attribute/IntegerSyntax.h b/libjava/javax/print/attribute/IntegerSyntax.h new file mode 100644 index 00000000000..63ac7e04050 --- /dev/null +++ b/libjava/javax/print/attribute/IntegerSyntax.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_IntegerSyntax__ +#define __javax_print_attribute_IntegerSyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class IntegerSyntax; + } + } + } +} + +class javax::print::attribute::IntegerSyntax : public ::java::lang::Object +{ + +public: // actually protected + IntegerSyntax(jint); + IntegerSyntax(jint, jint, jint); +public: + virtual jint getValue(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_IntegerSyntax__ diff --git a/libjava/javax/print/attribute/PrintJobAttribute.h b/libjava/javax/print/attribute/PrintJobAttribute.h new file mode 100644 index 00000000000..c22e5d716aa --- /dev/null +++ b/libjava/javax/print/attribute/PrintJobAttribute.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_PrintJobAttribute__ +#define __javax_print_attribute_PrintJobAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class PrintJobAttribute; + } + } + } +} + +class javax::print::attribute::PrintJobAttribute : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_PrintJobAttribute__ diff --git a/libjava/javax/print/attribute/PrintJobAttributeSet.h b/libjava/javax/print/attribute/PrintJobAttributeSet.h new file mode 100644 index 00000000000..713ad66cde3 --- /dev/null +++ b/libjava/javax/print/attribute/PrintJobAttributeSet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_PrintJobAttributeSet__ +#define __javax_print_attribute_PrintJobAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintJobAttributeSet; + } + } + } +} + +class javax::print::attribute::PrintJobAttributeSet : public ::java::lang::Object +{ + +public: + virtual jboolean add(::javax::print::attribute::Attribute *) = 0; + virtual jboolean addAll(::javax::print::attribute::AttributeSet *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Class *) = 0; + virtual jboolean containsValue(::javax::print::attribute::Attribute *) = 0; + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean remove(::javax::print::attribute::Attribute *) = 0; + virtual jboolean remove(::java::lang::Class *) = 0; + virtual jint size() = 0; + virtual JArray< ::javax::print::attribute::Attribute * > * toArray() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_PrintJobAttributeSet__ diff --git a/libjava/javax/print/attribute/PrintRequestAttribute.h b/libjava/javax/print/attribute/PrintRequestAttribute.h new file mode 100644 index 00000000000..7d95bfcb157 --- /dev/null +++ b/libjava/javax/print/attribute/PrintRequestAttribute.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_PrintRequestAttribute__ +#define __javax_print_attribute_PrintRequestAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class PrintRequestAttribute; + } + } + } +} + +class javax::print::attribute::PrintRequestAttribute : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_PrintRequestAttribute__ diff --git a/libjava/javax/print/attribute/PrintRequestAttributeSet.h b/libjava/javax/print/attribute/PrintRequestAttributeSet.h new file mode 100644 index 00000000000..9929176608b --- /dev/null +++ b/libjava/javax/print/attribute/PrintRequestAttributeSet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_PrintRequestAttributeSet__ +#define __javax_print_attribute_PrintRequestAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintRequestAttributeSet; + } + } + } +} + +class javax::print::attribute::PrintRequestAttributeSet : public ::java::lang::Object +{ + +public: + virtual jboolean add(::javax::print::attribute::Attribute *) = 0; + virtual jboolean addAll(::javax::print::attribute::AttributeSet *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Class *) = 0; + virtual jboolean containsValue(::javax::print::attribute::Attribute *) = 0; + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean remove(::javax::print::attribute::Attribute *) = 0; + virtual jboolean remove(::java::lang::Class *) = 0; + virtual jint size() = 0; + virtual JArray< ::javax::print::attribute::Attribute * > * toArray() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_PrintRequestAttributeSet__ diff --git a/libjava/javax/print/attribute/PrintServiceAttribute.h b/libjava/javax/print/attribute/PrintServiceAttribute.h new file mode 100644 index 00000000000..eae08643857 --- /dev/null +++ b/libjava/javax/print/attribute/PrintServiceAttribute.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_PrintServiceAttribute__ +#define __javax_print_attribute_PrintServiceAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class PrintServiceAttribute; + } + } + } +} + +class javax::print::attribute::PrintServiceAttribute : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_PrintServiceAttribute__ diff --git a/libjava/javax/print/attribute/PrintServiceAttributeSet.h b/libjava/javax/print/attribute/PrintServiceAttributeSet.h new file mode 100644 index 00000000000..73db991c915 --- /dev/null +++ b/libjava/javax/print/attribute/PrintServiceAttributeSet.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_PrintServiceAttributeSet__ +#define __javax_print_attribute_PrintServiceAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Attribute; + class AttributeSet; + class PrintServiceAttributeSet; + } + } + } +} + +class javax::print::attribute::PrintServiceAttributeSet : public ::java::lang::Object +{ + +public: + virtual jboolean add(::javax::print::attribute::Attribute *) = 0; + virtual jboolean addAll(::javax::print::attribute::AttributeSet *) = 0; + virtual void clear() = 0; + virtual jboolean containsKey(::java::lang::Class *) = 0; + virtual jboolean containsValue(::javax::print::attribute::Attribute *) = 0; + virtual ::javax::print::attribute::Attribute * get(::java::lang::Class *) = 0; + virtual jboolean isEmpty() = 0; + virtual jboolean remove(::javax::print::attribute::Attribute *) = 0; + virtual jboolean remove(::java::lang::Class *) = 0; + virtual jint size() = 0; + virtual JArray< ::javax::print::attribute::Attribute * > * toArray() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_PrintServiceAttributeSet__ diff --git a/libjava/javax/print/attribute/ResolutionSyntax.h b/libjava/javax/print/attribute/ResolutionSyntax.h new file mode 100644 index 00000000000..107642dd4c4 --- /dev/null +++ b/libjava/javax/print/attribute/ResolutionSyntax.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_ResolutionSyntax__ +#define __javax_print_attribute_ResolutionSyntax__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class ResolutionSyntax; + } + } + } +} + +class javax::print::attribute::ResolutionSyntax : public ::java::lang::Object +{ + +public: + ResolutionSyntax(jint, jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint getCrossFeedResolution(jint); +public: // actually protected + virtual jint getCrossFeedResolutionDphi(); +public: + virtual jint getFeedResolution(jint); +public: // actually protected + virtual jint getFeedResolutionDphi(); +public: + virtual JArray< jint > * getResolution(jint); + virtual jint hashCode(); + virtual jboolean lessThanOrEquals(::javax::print::attribute::ResolutionSyntax *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(jint, ::java::lang::String *); +private: + static const jlong serialVersionUID = 2706743076526672017LL; +public: + static const jint DPCM = 254; + static const jint DPI = 100; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) crossFeedResolution; + jint feedResolution; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_ResolutionSyntax__ diff --git a/libjava/javax/print/attribute/SetOfIntegerSyntax$1.h b/libjava/javax/print/attribute/SetOfIntegerSyntax$1.h new file mode 100644 index 00000000000..6c374e4728e --- /dev/null +++ b/libjava/javax/print/attribute/SetOfIntegerSyntax$1.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_SetOfIntegerSyntax$1__ +#define __javax_print_attribute_SetOfIntegerSyntax$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class SetOfIntegerSyntax$1; + } + } + } +} + +class javax::print::attribute::SetOfIntegerSyntax$1 : public ::java::lang::Object +{ + +public: // actually package-private + SetOfIntegerSyntax$1(); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_SetOfIntegerSyntax$1__ diff --git a/libjava/javax/print/attribute/SetOfIntegerSyntax.h b/libjava/javax/print/attribute/SetOfIntegerSyntax.h new file mode 100644 index 00000000000..302544fcd60 --- /dev/null +++ b/libjava/javax/print/attribute/SetOfIntegerSyntax.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_SetOfIntegerSyntax__ +#define __javax_print_attribute_SetOfIntegerSyntax__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class StringCharacterIterator; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class IntegerSyntax; + class SetOfIntegerSyntax; + } + } + } +} + +class javax::print::attribute::SetOfIntegerSyntax : public ::java::lang::Object +{ + + static JArray< JArray< jint > * > * normalize(JArray< JArray< jint > * > *, jint); +public: // actually protected + SetOfIntegerSyntax(jint); + SetOfIntegerSyntax(JArray< JArray< jint > * > *); +private: + jboolean skipWhitespace(::java::text::StringCharacterIterator *); + jboolean skipNumber(::java::text::StringCharacterIterator *); +public: // actually protected + SetOfIntegerSyntax(::java::lang::String *); + SetOfIntegerSyntax(jint, jint); +public: + virtual jboolean contains(jint); + virtual jboolean contains(::javax::print::attribute::IntegerSyntax *); + virtual jboolean equals(::java::lang::Object *); + virtual JArray< JArray< jint > * > * getMembers(); + virtual jint hashCode(); + virtual jint next(jint); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 3666874174847632203LL; + JArray< JArray< jint > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) members; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_SetOfIntegerSyntax__ diff --git a/libjava/javax/print/attribute/Size2DSyntax.h b/libjava/javax/print/attribute/Size2DSyntax.h new file mode 100644 index 00000000000..36280a50ddc --- /dev/null +++ b/libjava/javax/print/attribute/Size2DSyntax.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_Size2DSyntax__ +#define __javax_print_attribute_Size2DSyntax__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class Size2DSyntax; + } + } + } +} + +class javax::print::attribute::Size2DSyntax : public ::java::lang::Object +{ + +public: // actually protected + Size2DSyntax(jfloat, jfloat, jint); + Size2DSyntax(jint, jint, jint); +public: + virtual jboolean equals(::java::lang::Object *); + virtual JArray< jfloat > * getSize(jint); + virtual jfloat getX(jint); +public: // actually protected + virtual jint getXMicrometers(); +public: + virtual jfloat getY(jint); +public: // actually protected + virtual jint getYMicrometers(); +public: + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * toString(jint, ::java::lang::String *); + static const jint INCH = 25400; + static const jint MM = 1000; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + jint y; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_Size2DSyntax__ diff --git a/libjava/javax/print/attribute/SupportedValuesAttribute.h b/libjava/javax/print/attribute/SupportedValuesAttribute.h new file mode 100644 index 00000000000..26b2b2b8edf --- /dev/null +++ b/libjava/javax/print/attribute/SupportedValuesAttribute.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_SupportedValuesAttribute__ +#define __javax_print_attribute_SupportedValuesAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class SupportedValuesAttribute; + } + } + } +} + +class javax::print::attribute::SupportedValuesAttribute : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Class * getCategory() = 0; + virtual ::java::lang::String * getName() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_attribute_SupportedValuesAttribute__ diff --git a/libjava/javax/print/attribute/TextSyntax.h b/libjava/javax/print/attribute/TextSyntax.h new file mode 100644 index 00000000000..b22700d0b58 --- /dev/null +++ b/libjava/javax/print/attribute/TextSyntax.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_TextSyntax__ +#define __javax_print_attribute_TextSyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class TextSyntax; + } + } + } +} + +class javax::print::attribute::TextSyntax : public ::java::lang::Object +{ + +public: // actually protected + TextSyntax(::java::lang::String *, ::java::util::Locale *); +public: + virtual ::java::lang::String * getValue(); + virtual ::java::util::Locale * getLocale(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -8130648736378144102LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + ::java::util::Locale * locale; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_TextSyntax__ diff --git a/libjava/javax/print/attribute/URISyntax.h b/libjava/javax/print/attribute/URISyntax.h new file mode 100644 index 00000000000..9c38d5c5e0f --- /dev/null +++ b/libjava/javax/print/attribute/URISyntax.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_URISyntax__ +#define __javax_print_attribute_URISyntax__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + class URISyntax; + } + } + } +} + +class javax::print::attribute::URISyntax : public ::java::lang::Object +{ + +public: // actually protected + URISyntax(::java::net::URI *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::java::net::URI * getURI(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -7842661210486401678LL; + ::java::net::URI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) uri; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_URISyntax__ diff --git a/libjava/javax/print/attribute/UnmodifiableSetException.h b/libjava/javax/print/attribute/UnmodifiableSetException.h new file mode 100644 index 00000000000..33bc1289993 --- /dev/null +++ b/libjava/javax/print/attribute/UnmodifiableSetException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_UnmodifiableSetException__ +#define __javax_print_attribute_UnmodifiableSetException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class UnmodifiableSetException; + } + } + } +} + +class javax::print::attribute::UnmodifiableSetException : public ::java::lang::RuntimeException +{ + +public: + UnmodifiableSetException(); + UnmodifiableSetException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_UnmodifiableSetException__ diff --git a/libjava/javax/print/attribute/standard/Chromaticity.h b/libjava/javax/print/attribute/standard/Chromaticity.h new file mode 100644 index 00000000000..9571ef86cc7 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Chromaticity.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Chromaticity__ +#define __javax_print_attribute_standard_Chromaticity__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Chromaticity; + } + } + } + } +} + +class javax::print::attribute::standard::Chromaticity : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Chromaticity(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 4660543931355214012LL; +public: + static ::javax::print::attribute::standard::Chromaticity * MONOCHROME; + static ::javax::print::attribute::standard::Chromaticity * COLOR; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::Chromaticity * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Chromaticity__ diff --git a/libjava/javax/print/attribute/standard/ColorSupported.h b/libjava/javax/print/attribute/standard/ColorSupported.h new file mode 100644 index 00000000000..085c0cdc24d --- /dev/null +++ b/libjava/javax/print/attribute/standard/ColorSupported.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_ColorSupported__ +#define __javax_print_attribute_standard_ColorSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class ColorSupported; + } + } + } + } +} + +class javax::print::attribute::standard::ColorSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + ColorSupported(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -2700555589688535545LL; +public: + static ::javax::print::attribute::standard::ColorSupported * NOT_SUPPORTED; + static ::javax::print::attribute::standard::ColorSupported * SUPPORTED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::ColorSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_ColorSupported__ diff --git a/libjava/javax/print/attribute/standard/Compression.h b/libjava/javax/print/attribute/standard/Compression.h new file mode 100644 index 00000000000..f1dc555680c --- /dev/null +++ b/libjava/javax/print/attribute/standard/Compression.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Compression__ +#define __javax_print_attribute_standard_Compression__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Compression; + } + } + } + } +} + +class javax::print::attribute::standard::Compression : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Compression(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -5716748913324997674LL; +public: + static ::javax::print::attribute::standard::Compression * NONE; + static ::javax::print::attribute::standard::Compression * DEFLATE; + static ::javax::print::attribute::standard::Compression * GZIP; + static ::javax::print::attribute::standard::Compression * COMPRESS; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::Compression * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Compression__ diff --git a/libjava/javax/print/attribute/standard/Copies.h b/libjava/javax/print/attribute/standard/Copies.h new file mode 100644 index 00000000000..d2c277c8c7a --- /dev/null +++ b/libjava/javax/print/attribute/standard/Copies.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Copies__ +#define __javax_print_attribute_standard_Copies__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class Copies; + } + } + } + } +} + +class javax::print::attribute::standard::Copies : public ::javax::print::attribute::IntegerSyntax +{ + +public: + Copies(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -6426631521680023833LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Copies__ diff --git a/libjava/javax/print/attribute/standard/CopiesSupported.h b/libjava/javax/print/attribute/standard/CopiesSupported.h new file mode 100644 index 00000000000..62c3428645a --- /dev/null +++ b/libjava/javax/print/attribute/standard/CopiesSupported.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_CopiesSupported__ +#define __javax_print_attribute_standard_CopiesSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class CopiesSupported; + } + } + } + } +} + +class javax::print::attribute::standard::CopiesSupported : public ::javax::print::attribute::SetOfIntegerSyntax +{ + +public: + CopiesSupported(jint); + CopiesSupported(jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 6927711687034846001LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_CopiesSupported__ diff --git a/libjava/javax/print/attribute/standard/DateTimeAtCompleted.h b/libjava/javax/print/attribute/standard/DateTimeAtCompleted.h new file mode 100644 index 00000000000..1b012a34e8c --- /dev/null +++ b/libjava/javax/print/attribute/standard/DateTimeAtCompleted.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_DateTimeAtCompleted__ +#define __javax_print_attribute_standard_DateTimeAtCompleted__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class DateTimeAtCompleted; + } + } + } + } +} + +class javax::print::attribute::standard::DateTimeAtCompleted : public ::javax::print::attribute::DateTimeSyntax +{ + +public: + DateTimeAtCompleted(::java::util::Date *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 6497399708058490000LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_DateTimeAtCompleted__ diff --git a/libjava/javax/print/attribute/standard/DateTimeAtCreation.h b/libjava/javax/print/attribute/standard/DateTimeAtCreation.h new file mode 100644 index 00000000000..a88c7c128fb --- /dev/null +++ b/libjava/javax/print/attribute/standard/DateTimeAtCreation.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_DateTimeAtCreation__ +#define __javax_print_attribute_standard_DateTimeAtCreation__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class DateTimeAtCreation; + } + } + } + } +} + +class javax::print::attribute::standard::DateTimeAtCreation : public ::javax::print::attribute::DateTimeSyntax +{ + +public: + DateTimeAtCreation(::java::util::Date *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -2923732231056647903LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_DateTimeAtCreation__ diff --git a/libjava/javax/print/attribute/standard/DateTimeAtProcessing.h b/libjava/javax/print/attribute/standard/DateTimeAtProcessing.h new file mode 100644 index 00000000000..8f50d1b9014 --- /dev/null +++ b/libjava/javax/print/attribute/standard/DateTimeAtProcessing.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_DateTimeAtProcessing__ +#define __javax_print_attribute_standard_DateTimeAtProcessing__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class DateTimeAtProcessing; + } + } + } + } +} + +class javax::print::attribute::standard::DateTimeAtProcessing : public ::javax::print::attribute::DateTimeSyntax +{ + +public: + DateTimeAtProcessing(::java::util::Date *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -3710068197278263244LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_DateTimeAtProcessing__ diff --git a/libjava/javax/print/attribute/standard/Destination.h b/libjava/javax/print/attribute/standard/Destination.h new file mode 100644 index 00000000000..b9d5d996f46 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Destination.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Destination__ +#define __javax_print_attribute_standard_Destination__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class Destination; + } + } + } + } +} + +class javax::print::attribute::standard::Destination : public ::javax::print::attribute::URISyntax +{ + +public: + Destination(::java::net::URI *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 6776739171700415321LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Destination__ diff --git a/libjava/javax/print/attribute/standard/DocumentName.h b/libjava/javax/print/attribute/standard/DocumentName.h new file mode 100644 index 00000000000..6ed7121309e --- /dev/null +++ b/libjava/javax/print/attribute/standard/DocumentName.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_DocumentName__ +#define __javax_print_attribute_standard_DocumentName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class DocumentName; + } + } + } + } +} + +class javax::print::attribute::standard::DocumentName : public ::javax::print::attribute::TextSyntax +{ + +public: + DocumentName(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 7883105848533280430LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_DocumentName__ diff --git a/libjava/javax/print/attribute/standard/Fidelity.h b/libjava/javax/print/attribute/standard/Fidelity.h new file mode 100644 index 00000000000..ac31da58512 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Fidelity.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Fidelity__ +#define __javax_print_attribute_standard_Fidelity__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Fidelity; + } + } + } + } +} + +class javax::print::attribute::standard::Fidelity : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Fidelity(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 6320827847329172308LL; +public: + static ::javax::print::attribute::standard::Fidelity * FIDELITY_TRUE; + static ::javax::print::attribute::standard::Fidelity * FIDELITY_FALSE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::Fidelity * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Fidelity__ diff --git a/libjava/javax/print/attribute/standard/Finishings.h b/libjava/javax/print/attribute/standard/Finishings.h new file mode 100644 index 00000000000..6b228c815e5 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Finishings.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Finishings__ +#define __javax_print_attribute_standard_Finishings__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Finishings; + } + } + } + } +} + +class javax::print::attribute::standard::Finishings : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Finishings(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + virtual jint getOffset(); +private: + static const jlong serialVersionUID = -627840419548391754LL; +public: + static ::javax::print::attribute::standard::Finishings * NONE; + static ::javax::print::attribute::standard::Finishings * STAPLE; + static ::javax::print::attribute::standard::Finishings * COVER; + static ::javax::print::attribute::standard::Finishings * BIND; + static ::javax::print::attribute::standard::Finishings * SADDLE_STITCH; + static ::javax::print::attribute::standard::Finishings * EDGE_STITCH; + static ::javax::print::attribute::standard::Finishings * STAPLE_TOP_LEFT; + static ::javax::print::attribute::standard::Finishings * STAPLE_BOTTOM_LEFT; + static ::javax::print::attribute::standard::Finishings * STAPLE_TOP_RIGHT; + static ::javax::print::attribute::standard::Finishings * STAPLE_BOTTOM_RIGHT; + static ::javax::print::attribute::standard::Finishings * EDGE_STITCH_LEFT; + static ::javax::print::attribute::standard::Finishings * EDGE_STITCH_TOP; + static ::javax::print::attribute::standard::Finishings * EDGE_STITCH_RIGHT; + static ::javax::print::attribute::standard::Finishings * EDGE_STITCH_BOTTOM; + static ::javax::print::attribute::standard::Finishings * STAPLE_DUAL_LEFT; + static ::javax::print::attribute::standard::Finishings * STAPLE_DUAL_TOP; + static ::javax::print::attribute::standard::Finishings * STAPLE_DUAL_RIGHT; + static ::javax::print::attribute::standard::Finishings * STAPLE_DUAL_BOTTOM; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::Finishings * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Finishings__ diff --git a/libjava/javax/print/attribute/standard/JobHoldUntil.h b/libjava/javax/print/attribute/standard/JobHoldUntil.h new file mode 100644 index 00000000000..c13c5273a79 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobHoldUntil.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobHoldUntil__ +#define __javax_print_attribute_standard_JobHoldUntil__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobHoldUntil; + } + } + } + } +} + +class javax::print::attribute::standard::JobHoldUntil : public ::javax::print::attribute::DateTimeSyntax +{ + +public: + JobHoldUntil(::java::util::Date *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -1664471048860415024LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobHoldUntil__ diff --git a/libjava/javax/print/attribute/standard/JobImpressions.h b/libjava/javax/print/attribute/standard/JobImpressions.h new file mode 100644 index 00000000000..0cf000685db --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobImpressions.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobImpressions__ +#define __javax_print_attribute_standard_JobImpressions__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobImpressions; + } + } + } + } +} + +class javax::print::attribute::standard::JobImpressions : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobImpressions(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 8225537206784322464LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobImpressions__ diff --git a/libjava/javax/print/attribute/standard/JobImpressionsCompleted.h b/libjava/javax/print/attribute/standard/JobImpressionsCompleted.h new file mode 100644 index 00000000000..37deda52d1c --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobImpressionsCompleted.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobImpressionsCompleted__ +#define __javax_print_attribute_standard_JobImpressionsCompleted__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobImpressionsCompleted; + } + } + } + } +} + +class javax::print::attribute::standard::JobImpressionsCompleted : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobImpressionsCompleted(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 6722648442432393294LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobImpressionsCompleted__ diff --git a/libjava/javax/print/attribute/standard/JobImpressionsSupported.h b/libjava/javax/print/attribute/standard/JobImpressionsSupported.h new file mode 100644 index 00000000000..83f5c1b80d2 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobImpressionsSupported.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobImpressionsSupported__ +#define __javax_print_attribute_standard_JobImpressionsSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobImpressionsSupported; + } + } + } + } +} + +class javax::print::attribute::standard::JobImpressionsSupported : public ::javax::print::attribute::SetOfIntegerSyntax +{ + +public: + JobImpressionsSupported(jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -4887354803843173692LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobImpressionsSupported__ diff --git a/libjava/javax/print/attribute/standard/JobKOctets.h b/libjava/javax/print/attribute/standard/JobKOctets.h new file mode 100644 index 00000000000..35241fc1f8d --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobKOctets.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobKOctets__ +#define __javax_print_attribute_standard_JobKOctets__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobKOctets; + } + } + } + } +} + +class javax::print::attribute::standard::JobKOctets : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobKOctets(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -8959710146498202869LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobKOctets__ diff --git a/libjava/javax/print/attribute/standard/JobKOctetsProcessed.h b/libjava/javax/print/attribute/standard/JobKOctetsProcessed.h new file mode 100644 index 00000000000..8eb274b2caf --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobKOctetsProcessed.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobKOctetsProcessed__ +#define __javax_print_attribute_standard_JobKOctetsProcessed__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobKOctetsProcessed; + } + } + } + } +} + +class javax::print::attribute::standard::JobKOctetsProcessed : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobKOctetsProcessed(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -6265238509657881806LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobKOctetsProcessed__ diff --git a/libjava/javax/print/attribute/standard/JobKOctetsSupported.h b/libjava/javax/print/attribute/standard/JobKOctetsSupported.h new file mode 100644 index 00000000000..455211eb4bb --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobKOctetsSupported.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobKOctetsSupported__ +#define __javax_print_attribute_standard_JobKOctetsSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobKOctetsSupported; + } + } + } + } +} + +class javax::print::attribute::standard::JobKOctetsSupported : public ::javax::print::attribute::SetOfIntegerSyntax +{ + +public: + JobKOctetsSupported(jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -2867871140549897443LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobKOctetsSupported__ diff --git a/libjava/javax/print/attribute/standard/JobMediaSheets.h b/libjava/javax/print/attribute/standard/JobMediaSheets.h new file mode 100644 index 00000000000..4f21d416029 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobMediaSheets.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobMediaSheets__ +#define __javax_print_attribute_standard_JobMediaSheets__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobMediaSheets; + } + } + } + } +} + +class javax::print::attribute::standard::JobMediaSheets : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobMediaSheets(jint); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 408871131531979741LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobMediaSheets__ diff --git a/libjava/javax/print/attribute/standard/JobMediaSheetsCompleted.h b/libjava/javax/print/attribute/standard/JobMediaSheetsCompleted.h new file mode 100644 index 00000000000..e12bf25359e --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobMediaSheetsCompleted.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobMediaSheetsCompleted__ +#define __javax_print_attribute_standard_JobMediaSheetsCompleted__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobMediaSheetsCompleted; + } + } + } + } +} + +class javax::print::attribute::standard::JobMediaSheetsCompleted : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobMediaSheetsCompleted(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 1739595973810840475LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobMediaSheetsCompleted__ diff --git a/libjava/javax/print/attribute/standard/JobMediaSheetsSupported.h b/libjava/javax/print/attribute/standard/JobMediaSheetsSupported.h new file mode 100644 index 00000000000..b451ce4651c --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobMediaSheetsSupported.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobMediaSheetsSupported__ +#define __javax_print_attribute_standard_JobMediaSheetsSupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobMediaSheetsSupported; + } + } + } + } +} + +class javax::print::attribute::standard::JobMediaSheetsSupported : public ::javax::print::attribute::SetOfIntegerSyntax +{ + +public: + JobMediaSheetsSupported(jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 2953685470388672940LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobMediaSheetsSupported__ diff --git a/libjava/javax/print/attribute/standard/JobMessageFromOperator.h b/libjava/javax/print/attribute/standard/JobMessageFromOperator.h new file mode 100644 index 00000000000..4c43f0d888a --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobMessageFromOperator.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobMessageFromOperator__ +#define __javax_print_attribute_standard_JobMessageFromOperator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobMessageFromOperator; + } + } + } + } +} + +class javax::print::attribute::standard::JobMessageFromOperator : public ::javax::print::attribute::TextSyntax +{ + +public: + JobMessageFromOperator(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -4620751846003142047LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobMessageFromOperator__ diff --git a/libjava/javax/print/attribute/standard/JobName.h b/libjava/javax/print/attribute/standard/JobName.h new file mode 100644 index 00000000000..4147be41c4d --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobName.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobName__ +#define __javax_print_attribute_standard_JobName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobName; + } + } + } + } +} + +class javax::print::attribute::standard::JobName : public ::javax::print::attribute::TextSyntax +{ + +public: + JobName(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 4660359192078689545LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobName__ diff --git a/libjava/javax/print/attribute/standard/JobOriginatingUserName.h b/libjava/javax/print/attribute/standard/JobOriginatingUserName.h new file mode 100644 index 00000000000..a3ba06784ae --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobOriginatingUserName.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobOriginatingUserName__ +#define __javax_print_attribute_standard_JobOriginatingUserName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobOriginatingUserName; + } + } + } + } +} + +class javax::print::attribute::standard::JobOriginatingUserName : public ::javax::print::attribute::TextSyntax +{ + +public: + JobOriginatingUserName(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -8052537926362933477LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobOriginatingUserName__ diff --git a/libjava/javax/print/attribute/standard/JobPriority.h b/libjava/javax/print/attribute/standard/JobPriority.h new file mode 100644 index 00000000000..54a46220f16 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobPriority.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobPriority__ +#define __javax_print_attribute_standard_JobPriority__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobPriority; + } + } + } + } +} + +class javax::print::attribute::standard::JobPriority : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobPriority(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -4599900369040602769LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobPriority__ diff --git a/libjava/javax/print/attribute/standard/JobPrioritySupported.h b/libjava/javax/print/attribute/standard/JobPrioritySupported.h new file mode 100644 index 00000000000..c131fe76b91 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobPrioritySupported.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobPrioritySupported__ +#define __javax_print_attribute_standard_JobPrioritySupported__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobPrioritySupported; + } + } + } + } +} + +class javax::print::attribute::standard::JobPrioritySupported : public ::javax::print::attribute::IntegerSyntax +{ + +public: + JobPrioritySupported(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 2564840378013555894LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobPrioritySupported__ diff --git a/libjava/javax/print/attribute/standard/JobSheets.h b/libjava/javax/print/attribute/standard/JobSheets.h new file mode 100644 index 00000000000..8ab9c7febf2 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobSheets.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobSheets__ +#define __javax_print_attribute_standard_JobSheets__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class JobSheets; + } + } + } + } +} + +class javax::print::attribute::standard::JobSheets : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + JobSheets(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -4735258056132519759LL; +public: + static ::javax::print::attribute::standard::JobSheets * NONE; + static ::javax::print::attribute::standard::JobSheets * STANDARD; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::JobSheets * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobSheets__ diff --git a/libjava/javax/print/attribute/standard/JobState.h b/libjava/javax/print/attribute/standard/JobState.h new file mode 100644 index 00000000000..dc6c1ec7e53 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobState.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobState__ +#define __javax_print_attribute_standard_JobState__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class JobState; + } + } + } + } +} + +class javax::print::attribute::standard::JobState : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + JobState(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 400465010094018920LL; +public: + static ::javax::print::attribute::standard::JobState * UNKNOWN; + static ::javax::print::attribute::standard::JobState * PENDING; + static ::javax::print::attribute::standard::JobState * PENDING_HELD; + static ::javax::print::attribute::standard::JobState * PROCESSING; + static ::javax::print::attribute::standard::JobState * PROCESSING_STOPPED; + static ::javax::print::attribute::standard::JobState * CANCELED; + static ::javax::print::attribute::standard::JobState * ABORTED; + static ::javax::print::attribute::standard::JobState * COMPLETED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::JobState * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobState__ diff --git a/libjava/javax/print/attribute/standard/JobStateReason.h b/libjava/javax/print/attribute/standard/JobStateReason.h new file mode 100644 index 00000000000..b641ef6e84f --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobStateReason.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobStateReason__ +#define __javax_print_attribute_standard_JobStateReason__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class JobStateReason; + } + } + } + } +} + +class javax::print::attribute::standard::JobStateReason : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + JobStateReason(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -8765894420449009168LL; +public: + static ::javax::print::attribute::standard::JobStateReason * JOB_INCOMING; + static ::javax::print::attribute::standard::JobStateReason * JOB_DATA_INSUFFICIENT; + static ::javax::print::attribute::standard::JobStateReason * DOCUMENT_ACCESS_ERROR; + static ::javax::print::attribute::standard::JobStateReason * SUBMISSION_INTERRUPTED; + static ::javax::print::attribute::standard::JobStateReason * JOB_OUTGOING; + static ::javax::print::attribute::standard::JobStateReason * JOB_HOLD_UNTIL_SPECIFIED; + static ::javax::print::attribute::standard::JobStateReason * RESOURCES_ARE_NOT_READY; + static ::javax::print::attribute::standard::JobStateReason * PRINTER_STOPPED_PARTLY; + static ::javax::print::attribute::standard::JobStateReason * PRINTER_STOPPED; + static ::javax::print::attribute::standard::JobStateReason * JOB_INTERPRETING; + static ::javax::print::attribute::standard::JobStateReason * JOB_QUEUED; + static ::javax::print::attribute::standard::JobStateReason * JOB_TRANSFORMING; + static ::javax::print::attribute::standard::JobStateReason * JOB_QUEUED_FOR_MARKER; + static ::javax::print::attribute::standard::JobStateReason * JOB_PRINTING; + static ::javax::print::attribute::standard::JobStateReason * JOB_CANCELED_BY_USER; + static ::javax::print::attribute::standard::JobStateReason * JOB_CANCELED_BY_OPERATOR; + static ::javax::print::attribute::standard::JobStateReason * JOB_CANCELED_AT_DEVICE; + static ::javax::print::attribute::standard::JobStateReason * ABORTED_BY_SYSTEM; + static ::javax::print::attribute::standard::JobStateReason * UNSUPPORTED_COMPRESSION; + static ::javax::print::attribute::standard::JobStateReason * COMPRESSION_ERROR; + static ::javax::print::attribute::standard::JobStateReason * UNSUPPORTED_DOCUMENT_FORMAT; + static ::javax::print::attribute::standard::JobStateReason * DOCUMENT_FORMAT_ERROR; + static ::javax::print::attribute::standard::JobStateReason * PROCESSING_TO_STOP_POINT; + static ::javax::print::attribute::standard::JobStateReason * SERVICE_OFF_LINE; + static ::javax::print::attribute::standard::JobStateReason * JOB_COMPLETED_SUCCESSFULLY; + static ::javax::print::attribute::standard::JobStateReason * JOB_COMPLETED_WITH_WARNINGS; + static ::javax::print::attribute::standard::JobStateReason * JOB_COMPLETED_WITH_ERRORS; + static ::javax::print::attribute::standard::JobStateReason * JOB_RESTARTABLE; + static ::javax::print::attribute::standard::JobStateReason * QUEUED_IN_DEVICE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::JobStateReason * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobStateReason__ diff --git a/libjava/javax/print/attribute/standard/JobStateReasons.h b/libjava/javax/print/attribute/standard/JobStateReasons.h new file mode 100644 index 00000000000..4e5fce82d60 --- /dev/null +++ b/libjava/javax/print/attribute/standard/JobStateReasons.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_JobStateReasons__ +#define __javax_print_attribute_standard_JobStateReasons__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class JobStateReason; + class JobStateReasons; + } + } + } + } +} + +class javax::print::attribute::standard::JobStateReasons : public ::java::util::HashSet +{ + +public: + JobStateReasons(); + JobStateReasons(jint, jfloat); + JobStateReasons(jint); + JobStateReasons(::java::util::Collection *); + jboolean target$add(::javax::print::attribute::standard::JobStateReason *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + jboolean add(::java::lang::Object *); +private: + static const jlong serialVersionUID = 8849088261264331812LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_JobStateReasons__ diff --git a/libjava/javax/print/attribute/standard/Media.h b/libjava/javax/print/attribute/standard/Media.h new file mode 100644 index 00000000000..e4c013b1594 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Media.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Media__ +#define __javax_print_attribute_standard_Media__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class Media; + } + } + } + } +} + +class javax::print::attribute::standard::Media : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Media(jint); +public: + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -2823970704630722439LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Media__ diff --git a/libjava/javax/print/attribute/standard/MediaName.h b/libjava/javax/print/attribute/standard/MediaName.h new file mode 100644 index 00000000000..160d6bbc461 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaName.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaName__ +#define __javax_print_attribute_standard_MediaName__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class MediaName; + } + } + } + } +} + +class javax::print::attribute::standard::MediaName : public ::javax::print::attribute::standard::Media +{ + +public: // actually protected + MediaName(jint); + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 4653117714524155448LL; +public: + static ::javax::print::attribute::standard::MediaName * NA_LETTER_WHITE; + static ::javax::print::attribute::standard::MediaName * NA_LETTER_TRANSPARENT; + static ::javax::print::attribute::standard::MediaName * ISO_A4_WHITE; + static ::javax::print::attribute::standard::MediaName * ISO_A4_TRANSPARENT; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::MediaName * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaName__ diff --git a/libjava/javax/print/attribute/standard/MediaPrintableArea.h b/libjava/javax/print/attribute/standard/MediaPrintableArea.h new file mode 100644 index 00000000000..89c96109b74 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaPrintableArea.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaPrintableArea__ +#define __javax_print_attribute_standard_MediaPrintableArea__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaPrintableArea; + } + } + } + } +} + +class javax::print::attribute::standard::MediaPrintableArea : public ::java::lang::Object +{ + +public: + MediaPrintableArea(jfloat, jfloat, jfloat, jfloat, jint); + MediaPrintableArea(jint, jint, jint, jint, jint); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + jfloat getHeight(jint); + jfloat getWidth(jint); + jfloat getX(jint); + jfloat getY(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::String * toString(); + jint hashCode(); + ::java::lang::String * toString(jint, ::java::lang::String *); + JArray< jfloat > * getPrintableArea(jint); +private: + static const jlong serialVersionUID = -1597171464050795793LL; +public: + static const jint INCH = 25400; + static const jint MM = 1000; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + jint y; + jint w; + jint h; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaPrintableArea__ diff --git a/libjava/javax/print/attribute/standard/MediaSize$Engineering.h b/libjava/javax/print/attribute/standard/MediaSize$Engineering.h new file mode 100644 index 00000000000..ae8edcce79f --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSize$Engineering.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSize$Engineering__ +#define __javax_print_attribute_standard_MediaSize$Engineering__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaSize; + class MediaSize$Engineering; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSize$Engineering : public ::java::lang::Object +{ + + MediaSize$Engineering(); +public: + static ::javax::print::attribute::standard::MediaSize * A; + static ::javax::print::attribute::standard::MediaSize * B; + static ::javax::print::attribute::standard::MediaSize * C; + static ::javax::print::attribute::standard::MediaSize * D; + static ::javax::print::attribute::standard::MediaSize * E; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSize$Engineering__ diff --git a/libjava/javax/print/attribute/standard/MediaSize$ISO.h b/libjava/javax/print/attribute/standard/MediaSize$ISO.h new file mode 100644 index 00000000000..08656462d30 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSize$ISO.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSize$ISO__ +#define __javax_print_attribute_standard_MediaSize$ISO__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaSize; + class MediaSize$ISO; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSize$ISO : public ::java::lang::Object +{ + + MediaSize$ISO(); +public: + static ::javax::print::attribute::standard::MediaSize * A0; + static ::javax::print::attribute::standard::MediaSize * A1; + static ::javax::print::attribute::standard::MediaSize * A2; + static ::javax::print::attribute::standard::MediaSize * A3; + static ::javax::print::attribute::standard::MediaSize * A4; + static ::javax::print::attribute::standard::MediaSize * A5; + static ::javax::print::attribute::standard::MediaSize * A6; + static ::javax::print::attribute::standard::MediaSize * A7; + static ::javax::print::attribute::standard::MediaSize * A8; + static ::javax::print::attribute::standard::MediaSize * A9; + static ::javax::print::attribute::standard::MediaSize * A10; + static ::javax::print::attribute::standard::MediaSize * B0; + static ::javax::print::attribute::standard::MediaSize * B1; + static ::javax::print::attribute::standard::MediaSize * B2; + static ::javax::print::attribute::standard::MediaSize * B3; + static ::javax::print::attribute::standard::MediaSize * B4; + static ::javax::print::attribute::standard::MediaSize * B5; + static ::javax::print::attribute::standard::MediaSize * B6; + static ::javax::print::attribute::standard::MediaSize * B7; + static ::javax::print::attribute::standard::MediaSize * B8; + static ::javax::print::attribute::standard::MediaSize * B9; + static ::javax::print::attribute::standard::MediaSize * B10; + static ::javax::print::attribute::standard::MediaSize * C3; + static ::javax::print::attribute::standard::MediaSize * C4; + static ::javax::print::attribute::standard::MediaSize * C5; + static ::javax::print::attribute::standard::MediaSize * C6; + static ::javax::print::attribute::standard::MediaSize * DESIGNATED_LONG; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSize$ISO__ diff --git a/libjava/javax/print/attribute/standard/MediaSize$JIS.h b/libjava/javax/print/attribute/standard/MediaSize$JIS.h new file mode 100644 index 00000000000..be1545798d6 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSize$JIS.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSize$JIS__ +#define __javax_print_attribute_standard_MediaSize$JIS__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaSize; + class MediaSize$JIS; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSize$JIS : public ::java::lang::Object +{ + + MediaSize$JIS(); +public: + static ::javax::print::attribute::standard::MediaSize * B0; + static ::javax::print::attribute::standard::MediaSize * B1; + static ::javax::print::attribute::standard::MediaSize * B2; + static ::javax::print::attribute::standard::MediaSize * B3; + static ::javax::print::attribute::standard::MediaSize * B4; + static ::javax::print::attribute::standard::MediaSize * B5; + static ::javax::print::attribute::standard::MediaSize * B6; + static ::javax::print::attribute::standard::MediaSize * B7; + static ::javax::print::attribute::standard::MediaSize * B8; + static ::javax::print::attribute::standard::MediaSize * B9; + static ::javax::print::attribute::standard::MediaSize * B10; + static ::javax::print::attribute::standard::MediaSize * CHOU_1; + static ::javax::print::attribute::standard::MediaSize * CHOU_2; + static ::javax::print::attribute::standard::MediaSize * CHOU_3; + static ::javax::print::attribute::standard::MediaSize * CHOU_4; + static ::javax::print::attribute::standard::MediaSize * CHOU_30; + static ::javax::print::attribute::standard::MediaSize * CHOU_40; + static ::javax::print::attribute::standard::MediaSize * KAKU_0; + static ::javax::print::attribute::standard::MediaSize * KAKU_1; + static ::javax::print::attribute::standard::MediaSize * KAKU_2; + static ::javax::print::attribute::standard::MediaSize * KAKU_20; + static ::javax::print::attribute::standard::MediaSize * KAKU_3; + static ::javax::print::attribute::standard::MediaSize * KAKU_4; + static ::javax::print::attribute::standard::MediaSize * KAKU_5; + static ::javax::print::attribute::standard::MediaSize * KAKU_6; + static ::javax::print::attribute::standard::MediaSize * KAKU_7; + static ::javax::print::attribute::standard::MediaSize * KAKU_8; + static ::javax::print::attribute::standard::MediaSize * KAKU_A4; + static ::javax::print::attribute::standard::MediaSize * YOU_1; + static ::javax::print::attribute::standard::MediaSize * YOU_2; + static ::javax::print::attribute::standard::MediaSize * YOU_3; + static ::javax::print::attribute::standard::MediaSize * YOU_4; + static ::javax::print::attribute::standard::MediaSize * YOU_5; + static ::javax::print::attribute::standard::MediaSize * YOU_6; + static ::javax::print::attribute::standard::MediaSize * YOU_7; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSize$JIS__ diff --git a/libjava/javax/print/attribute/standard/MediaSize$NA.h b/libjava/javax/print/attribute/standard/MediaSize$NA.h new file mode 100644 index 00000000000..e0236bfd9aa --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSize$NA.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSize$NA__ +#define __javax_print_attribute_standard_MediaSize$NA__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaSize; + class MediaSize$NA; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSize$NA : public ::java::lang::Object +{ + + MediaSize$NA(); +public: + static ::javax::print::attribute::standard::MediaSize * LEGAL; + static ::javax::print::attribute::standard::MediaSize * LETTER; + static ::javax::print::attribute::standard::MediaSize * NA_5X7; + static ::javax::print::attribute::standard::MediaSize * NA_8X10; + static ::javax::print::attribute::standard::MediaSize * NA_6X9_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_7X9_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_9x11_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_9x12_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_10x13_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_10x14_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_10X15_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_NUMBER_9_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_NUMBER_10_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_NUMBER_11_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_NUMBER_12_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * NA_NUMBER_14_ENVELOPE; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSize$NA__ diff --git a/libjava/javax/print/attribute/standard/MediaSize$Other.h b/libjava/javax/print/attribute/standard/MediaSize$Other.h new file mode 100644 index 00000000000..d95078fbff0 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSize$Other.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSize$Other__ +#define __javax_print_attribute_standard_MediaSize$Other__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaSize; + class MediaSize$Other; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSize$Other : public ::java::lang::Object +{ + + MediaSize$Other(); +public: + static ::javax::print::attribute::standard::MediaSize * EXECUTIVE; + static ::javax::print::attribute::standard::MediaSize * FOLIO; + static ::javax::print::attribute::standard::MediaSize * QUARTO; + static ::javax::print::attribute::standard::MediaSize * INVOICE; + static ::javax::print::attribute::standard::MediaSize * LEDGER; + static ::javax::print::attribute::standard::MediaSize * MONARCH_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * PERSONAL_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * ITALY_ENVELOPE; + static ::javax::print::attribute::standard::MediaSize * JAPANESE_POSTCARD; + static ::javax::print::attribute::standard::MediaSize * JAPANESE_DOUBLE_POSTCARD; + static ::javax::print::attribute::standard::MediaSize * TABLOID; + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSize$Other__ diff --git a/libjava/javax/print/attribute/standard/MediaSize.h b/libjava/javax/print/attribute/standard/MediaSize.h new file mode 100644 index 00000000000..3dd5aa9c010 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSize.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSize__ +#define __javax_print_attribute_standard_MediaSize__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class MediaSize; + class MediaSizeName; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSize : public ::javax::print::attribute::Size2DSyntax +{ + +public: + MediaSize(jfloat, jfloat, jint); + MediaSize(jfloat, jfloat, jint, ::javax::print::attribute::standard::MediaSizeName *); + MediaSize(jint, jint, jint); + MediaSize(jint, jint, jint, ::javax::print::attribute::standard::MediaSizeName *); + virtual ::java::lang::Class * getCategory(); + static ::javax::print::attribute::standard::MediaSizeName * findMedia(jfloat, jfloat, jint); + static ::javax::print::attribute::standard::MediaSize * getMediaSizeForName(::javax::print::attribute::standard::MediaSizeName *); + virtual jboolean equals(::java::lang::Object *); + virtual ::javax::print::attribute::standard::MediaSizeName * getMediaSizeName(); + virtual ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -1967958664615414771LL; + static ::java::util::ArrayList * mediaCache; + ::javax::print::attribute::standard::MediaSizeName * __attribute__((aligned(__alignof__( ::javax::print::attribute::Size2DSyntax)))) mediaName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSize__ diff --git a/libjava/javax/print/attribute/standard/MediaSizeName.h b/libjava/javax/print/attribute/standard/MediaSizeName.h new file mode 100644 index 00000000000..fecbee60593 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaSizeName.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaSizeName__ +#define __javax_print_attribute_standard_MediaSizeName__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class MediaSizeName; + } + } + } + } +} + +class javax::print::attribute::standard::MediaSizeName : public ::javax::print::attribute::standard::Media +{ + +public: // actually protected + MediaSizeName(jint); + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 2778798329756942747LL; +public: + static ::javax::print::attribute::standard::MediaSizeName * ISO_A0; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A1; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A2; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A3; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A4; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A5; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A6; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A7; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A8; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A9; + static ::javax::print::attribute::standard::MediaSizeName * ISO_A10; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B0; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B1; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B2; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B3; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B4; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B5; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B6; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B7; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B8; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B9; + static ::javax::print::attribute::standard::MediaSizeName * ISO_B10; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B0; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B1; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B2; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B3; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B4; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B5; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B6; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B7; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B8; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B9; + static ::javax::print::attribute::standard::MediaSizeName * JIS_B10; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C0; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C1; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C2; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C3; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C4; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C5; + static ::javax::print::attribute::standard::MediaSizeName * ISO_C6; + static ::javax::print::attribute::standard::MediaSizeName * NA_LETTER; + static ::javax::print::attribute::standard::MediaSizeName * NA_LEGAL; + static ::javax::print::attribute::standard::MediaSizeName * EXECUTIVE; + static ::javax::print::attribute::standard::MediaSizeName * LEDGER; + static ::javax::print::attribute::standard::MediaSizeName * TABLOID; + static ::javax::print::attribute::standard::MediaSizeName * INVOICE; + static ::javax::print::attribute::standard::MediaSizeName * FOLIO; + static ::javax::print::attribute::standard::MediaSizeName * QUARTO; + static ::javax::print::attribute::standard::MediaSizeName * JAPANESE_POSTCARD; + static ::javax::print::attribute::standard::MediaSizeName * JAPANESE_DOUBLE_POSTCARD; + static ::javax::print::attribute::standard::MediaSizeName * A; + static ::javax::print::attribute::standard::MediaSizeName * B; + static ::javax::print::attribute::standard::MediaSizeName * C; + static ::javax::print::attribute::standard::MediaSizeName * D; + static ::javax::print::attribute::standard::MediaSizeName * E; + static ::javax::print::attribute::standard::MediaSizeName * ISO_DESIGNATED_LONG; + static ::javax::print::attribute::standard::MediaSizeName * ITALY_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * MONARCH_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * PERSONAL_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_NUMBER_9_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_NUMBER_10_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_NUMBER_11_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_NUMBER_12_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_NUMBER_14_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_6X9_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_7X9_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_9X11_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_9X12_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_10X13_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_10X14_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_10X15_ENVELOPE; + static ::javax::print::attribute::standard::MediaSizeName * NA_5X7; + static ::javax::print::attribute::standard::MediaSizeName * NA_8X10; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::MediaSizeName * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaSizeName__ diff --git a/libjava/javax/print/attribute/standard/MediaTray.h b/libjava/javax/print/attribute/standard/MediaTray.h new file mode 100644 index 00000000000..05fe123f3ea --- /dev/null +++ b/libjava/javax/print/attribute/standard/MediaTray.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MediaTray__ +#define __javax_print_attribute_standard_MediaTray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class MediaTray; + } + } + } + } +} + +class javax::print::attribute::standard::MediaTray : public ::javax::print::attribute::standard::Media +{ + +public: // actually protected + MediaTray(jint); + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -982503611095214703LL; +public: + static ::javax::print::attribute::standard::MediaTray * TOP; + static ::javax::print::attribute::standard::MediaTray * MIDDLE; + static ::javax::print::attribute::standard::MediaTray * BOTTOM; + static ::javax::print::attribute::standard::MediaTray * ENVELOPE; + static ::javax::print::attribute::standard::MediaTray * MANUAL; + static ::javax::print::attribute::standard::MediaTray * LARGE_CAPACITY; + static ::javax::print::attribute::standard::MediaTray * MAIN; + static ::javax::print::attribute::standard::MediaTray * SIDE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::MediaTray * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MediaTray__ diff --git a/libjava/javax/print/attribute/standard/MultipleDocumentHandling.h b/libjava/javax/print/attribute/standard/MultipleDocumentHandling.h new file mode 100644 index 00000000000..27489968e45 --- /dev/null +++ b/libjava/javax/print/attribute/standard/MultipleDocumentHandling.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_MultipleDocumentHandling__ +#define __javax_print_attribute_standard_MultipleDocumentHandling__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class MultipleDocumentHandling; + } + } + } + } +} + +class javax::print::attribute::standard::MultipleDocumentHandling : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + MultipleDocumentHandling(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 8098326460746413466LL; +public: + static ::javax::print::attribute::standard::MultipleDocumentHandling * SINGLE_DOCUMENT; + static ::javax::print::attribute::standard::MultipleDocumentHandling * SEPARATE_DOCUMENTS_UNCOLLATED_COPIES; + static ::javax::print::attribute::standard::MultipleDocumentHandling * SEPARATE_DOCUMENTS_COLLATED_COPIES; + static ::javax::print::attribute::standard::MultipleDocumentHandling * SINGLE_DOCUMENT_NEW_SHEET; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::MultipleDocumentHandling * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_MultipleDocumentHandling__ diff --git a/libjava/javax/print/attribute/standard/NumberOfDocuments.h b/libjava/javax/print/attribute/standard/NumberOfDocuments.h new file mode 100644 index 00000000000..58eae0b5c0a --- /dev/null +++ b/libjava/javax/print/attribute/standard/NumberOfDocuments.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_NumberOfDocuments__ +#define __javax_print_attribute_standard_NumberOfDocuments__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class NumberOfDocuments; + } + } + } + } +} + +class javax::print::attribute::standard::NumberOfDocuments : public ::javax::print::attribute::IntegerSyntax +{ + +public: + NumberOfDocuments(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 7891881310684461097LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_NumberOfDocuments__ diff --git a/libjava/javax/print/attribute/standard/NumberOfInterveningJobs.h b/libjava/javax/print/attribute/standard/NumberOfInterveningJobs.h new file mode 100644 index 00000000000..cdca46991a2 --- /dev/null +++ b/libjava/javax/print/attribute/standard/NumberOfInterveningJobs.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_NumberOfInterveningJobs__ +#define __javax_print_attribute_standard_NumberOfInterveningJobs__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class NumberOfInterveningJobs; + } + } + } + } +} + +class javax::print::attribute::standard::NumberOfInterveningJobs : public ::javax::print::attribute::IntegerSyntax +{ + +public: + NumberOfInterveningJobs(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 2568141124844982746LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_NumberOfInterveningJobs__ diff --git a/libjava/javax/print/attribute/standard/NumberUp.h b/libjava/javax/print/attribute/standard/NumberUp.h new file mode 100644 index 00000000000..dfa108f868d --- /dev/null +++ b/libjava/javax/print/attribute/standard/NumberUp.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_NumberUp__ +#define __javax_print_attribute_standard_NumberUp__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class NumberUp; + } + } + } + } +} + +class javax::print::attribute::standard::NumberUp : public ::javax::print::attribute::IntegerSyntax +{ + +public: + NumberUp(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -3040436486786527811LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_NumberUp__ diff --git a/libjava/javax/print/attribute/standard/NumberUpSupported.h b/libjava/javax/print/attribute/standard/NumberUpSupported.h new file mode 100644 index 00000000000..aff84dd1f7a --- /dev/null +++ b/libjava/javax/print/attribute/standard/NumberUpSupported.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_NumberUpSupported__ +#define __javax_print_attribute_standard_NumberUpSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class NumberUpSupported; + } + } + } + } +} + +class javax::print::attribute::standard::NumberUpSupported : public ::javax::print::attribute::SetOfIntegerSyntax +{ + +public: + NumberUpSupported(jint); + NumberUpSupported(JArray< JArray< jint > * > *); + NumberUpSupported(jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -1041573395759141805LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_NumberUpSupported__ diff --git a/libjava/javax/print/attribute/standard/OrientationRequested.h b/libjava/javax/print/attribute/standard/OrientationRequested.h new file mode 100644 index 00000000000..28e0fc13d63 --- /dev/null +++ b/libjava/javax/print/attribute/standard/OrientationRequested.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_OrientationRequested__ +#define __javax_print_attribute_standard_OrientationRequested__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class OrientationRequested; + } + } + } + } +} + +class javax::print::attribute::standard::OrientationRequested : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + OrientationRequested(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + jint getOffset(); +private: + static const jlong serialVersionUID = -4447437289862822276LL; +public: + static ::javax::print::attribute::standard::OrientationRequested * PORTRAIT; + static ::javax::print::attribute::standard::OrientationRequested * LANDSCAPE; + static ::javax::print::attribute::standard::OrientationRequested * REVERSE_LANDSCAPE; + static ::javax::print::attribute::standard::OrientationRequested * REVERSE_PORTRAIT; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::OrientationRequested * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_OrientationRequested__ diff --git a/libjava/javax/print/attribute/standard/OutputDeviceAssigned.h b/libjava/javax/print/attribute/standard/OutputDeviceAssigned.h new file mode 100644 index 00000000000..de03f87193e --- /dev/null +++ b/libjava/javax/print/attribute/standard/OutputDeviceAssigned.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_OutputDeviceAssigned__ +#define __javax_print_attribute_standard_OutputDeviceAssigned__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class OutputDeviceAssigned; + } + } + } + } +} + +class javax::print::attribute::standard::OutputDeviceAssigned : public ::javax::print::attribute::TextSyntax +{ + +public: + OutputDeviceAssigned(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 5486733778854271081LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_OutputDeviceAssigned__ diff --git a/libjava/javax/print/attribute/standard/PDLOverrideSupported.h b/libjava/javax/print/attribute/standard/PDLOverrideSupported.h new file mode 100644 index 00000000000..525b8781e1a --- /dev/null +++ b/libjava/javax/print/attribute/standard/PDLOverrideSupported.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PDLOverrideSupported__ +#define __javax_print_attribute_standard_PDLOverrideSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PDLOverrideSupported; + } + } + } + } +} + +class javax::print::attribute::standard::PDLOverrideSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PDLOverrideSupported(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -4393264467928463934LL; +public: + static ::javax::print::attribute::standard::PDLOverrideSupported * NOT_ATTEMPTED; + static ::javax::print::attribute::standard::PDLOverrideSupported * ATTEMPTED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::PDLOverrideSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PDLOverrideSupported__ diff --git a/libjava/javax/print/attribute/standard/PageRanges.h b/libjava/javax/print/attribute/standard/PageRanges.h new file mode 100644 index 00000000000..115553060ed --- /dev/null +++ b/libjava/javax/print/attribute/standard/PageRanges.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PageRanges__ +#define __javax_print_attribute_standard_PageRanges__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PageRanges; + } + } + } + } +} + +class javax::print::attribute::standard::PageRanges : public ::javax::print::attribute::SetOfIntegerSyntax +{ + +public: + PageRanges(jint); + PageRanges(JArray< JArray< jint > * > *); + PageRanges(jint, jint); + PageRanges(::java::lang::String *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 8639895197656148392LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PageRanges__ diff --git a/libjava/javax/print/attribute/standard/PagesPerMinute.h b/libjava/javax/print/attribute/standard/PagesPerMinute.h new file mode 100644 index 00000000000..c237fe9dc86 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PagesPerMinute.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PagesPerMinute__ +#define __javax_print_attribute_standard_PagesPerMinute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PagesPerMinute; + } + } + } + } +} + +class javax::print::attribute::standard::PagesPerMinute : public ::javax::print::attribute::IntegerSyntax +{ + +public: + PagesPerMinute(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -6366403993072862015LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PagesPerMinute__ diff --git a/libjava/javax/print/attribute/standard/PagesPerMinuteColor.h b/libjava/javax/print/attribute/standard/PagesPerMinuteColor.h new file mode 100644 index 00000000000..fad634af9b1 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PagesPerMinuteColor.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PagesPerMinuteColor__ +#define __javax_print_attribute_standard_PagesPerMinuteColor__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PagesPerMinuteColor; + } + } + } + } +} + +class javax::print::attribute::standard::PagesPerMinuteColor : public ::javax::print::attribute::IntegerSyntax +{ + +public: + PagesPerMinuteColor(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 1684993151687470944LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PagesPerMinuteColor__ diff --git a/libjava/javax/print/attribute/standard/PresentationDirection.h b/libjava/javax/print/attribute/standard/PresentationDirection.h new file mode 100644 index 00000000000..cae02422fad --- /dev/null +++ b/libjava/javax/print/attribute/standard/PresentationDirection.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PresentationDirection__ +#define __javax_print_attribute_standard_PresentationDirection__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PresentationDirection; + } + } + } + } +} + +class javax::print::attribute::standard::PresentationDirection : public ::javax::print::attribute::EnumSyntax +{ + + PresentationDirection(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 8294728067230931780LL; +public: + static ::javax::print::attribute::standard::PresentationDirection * TOBOTTOM_TORIGHT; + static ::javax::print::attribute::standard::PresentationDirection * TOBOTTOM_TOLEFT; + static ::javax::print::attribute::standard::PresentationDirection * TOTOP_TORIGHT; + static ::javax::print::attribute::standard::PresentationDirection * TOTOP_TOLEFT; + static ::javax::print::attribute::standard::PresentationDirection * TORIGHT_TOBOTTOM; + static ::javax::print::attribute::standard::PresentationDirection * TORIGHT_TOTOP; + static ::javax::print::attribute::standard::PresentationDirection * TOLEFT_TOBOTTOM; + static ::javax::print::attribute::standard::PresentationDirection * TOLEFT_TOTOP; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::PresentationDirection * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PresentationDirection__ diff --git a/libjava/javax/print/attribute/standard/PrintQuality.h b/libjava/javax/print/attribute/standard/PrintQuality.h new file mode 100644 index 00000000000..6c696d6c92c --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrintQuality.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrintQuality__ +#define __javax_print_attribute_standard_PrintQuality__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PrintQuality; + } + } + } + } +} + +class javax::print::attribute::standard::PrintQuality : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PrintQuality(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); + virtual jint getOffset(); +private: + static const jlong serialVersionUID = -3072341285225858365LL; +public: + static ::javax::print::attribute::standard::PrintQuality * DRAFT; + static ::javax::print::attribute::standard::PrintQuality * NORMAL; + static ::javax::print::attribute::standard::PrintQuality * HIGH; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::PrintQuality * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrintQuality__ diff --git a/libjava/javax/print/attribute/standard/PrinterInfo.h b/libjava/javax/print/attribute/standard/PrinterInfo.h new file mode 100644 index 00000000000..8f9f8281e21 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterInfo.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterInfo__ +#define __javax_print_attribute_standard_PrinterInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterInfo; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterInfo : public ::javax::print::attribute::TextSyntax +{ + +public: + PrinterInfo(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 7765280618777599727LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterInfo__ diff --git a/libjava/javax/print/attribute/standard/PrinterIsAcceptingJobs.h b/libjava/javax/print/attribute/standard/PrinterIsAcceptingJobs.h new file mode 100644 index 00000000000..2b8fdbfe8f0 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterIsAcceptingJobs.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterIsAcceptingJobs__ +#define __javax_print_attribute_standard_PrinterIsAcceptingJobs__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PrinterIsAcceptingJobs; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterIsAcceptingJobs : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PrinterIsAcceptingJobs(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -5052010680537678061LL; +public: + static ::javax::print::attribute::standard::PrinterIsAcceptingJobs * NOT_ACCEPTING_JOBS; + static ::javax::print::attribute::standard::PrinterIsAcceptingJobs * ACCEPTING_JOBS; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::PrinterIsAcceptingJobs * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterIsAcceptingJobs__ diff --git a/libjava/javax/print/attribute/standard/PrinterLocation.h b/libjava/javax/print/attribute/standard/PrinterLocation.h new file mode 100644 index 00000000000..8839a0996ef --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterLocation.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterLocation__ +#define __javax_print_attribute_standard_PrinterLocation__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterLocation; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterLocation : public ::javax::print::attribute::TextSyntax +{ + +public: + PrinterLocation(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -1598610039865566337LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterLocation__ diff --git a/libjava/javax/print/attribute/standard/PrinterMakeAndModel.h b/libjava/javax/print/attribute/standard/PrinterMakeAndModel.h new file mode 100644 index 00000000000..a121d9d18d4 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterMakeAndModel.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterMakeAndModel__ +#define __javax_print_attribute_standard_PrinterMakeAndModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterMakeAndModel; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterMakeAndModel : public ::javax::print::attribute::TextSyntax +{ + +public: + PrinterMakeAndModel(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 4580461489499351411LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterMakeAndModel__ diff --git a/libjava/javax/print/attribute/standard/PrinterMessageFromOperator.h b/libjava/javax/print/attribute/standard/PrinterMessageFromOperator.h new file mode 100644 index 00000000000..1028729215b --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterMessageFromOperator.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterMessageFromOperator__ +#define __javax_print_attribute_standard_PrinterMessageFromOperator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterMessageFromOperator; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterMessageFromOperator : public ::javax::print::attribute::TextSyntax +{ + +public: + PrinterMessageFromOperator(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -4486871203218629318LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterMessageFromOperator__ diff --git a/libjava/javax/print/attribute/standard/PrinterMoreInfo.h b/libjava/javax/print/attribute/standard/PrinterMoreInfo.h new file mode 100644 index 00000000000..3a979cf950a --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterMoreInfo.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterMoreInfo__ +#define __javax_print_attribute_standard_PrinterMoreInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterMoreInfo; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterMoreInfo : public ::javax::print::attribute::URISyntax +{ + +public: + PrinterMoreInfo(::java::net::URI *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 4555850007675338574LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterMoreInfo__ diff --git a/libjava/javax/print/attribute/standard/PrinterMoreInfoManufacturer.h b/libjava/javax/print/attribute/standard/PrinterMoreInfoManufacturer.h new file mode 100644 index 00000000000..bd7c297b391 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterMoreInfoManufacturer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterMoreInfoManufacturer__ +#define __javax_print_attribute_standard_PrinterMoreInfoManufacturer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterMoreInfoManufacturer; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterMoreInfoManufacturer : public ::javax::print::attribute::URISyntax +{ + +public: + PrinterMoreInfoManufacturer(::java::net::URI *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 3323271346485076608LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterMoreInfoManufacturer__ diff --git a/libjava/javax/print/attribute/standard/PrinterName.h b/libjava/javax/print/attribute/standard/PrinterName.h new file mode 100644 index 00000000000..fd70e824c6b --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterName.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterName__ +#define __javax_print_attribute_standard_PrinterName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterName; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterName : public ::javax::print::attribute::TextSyntax +{ + +public: + PrinterName(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 299740639137803127LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterName__ diff --git a/libjava/javax/print/attribute/standard/PrinterResolution.h b/libjava/javax/print/attribute/standard/PrinterResolution.h new file mode 100644 index 00000000000..a0a5b49c2a8 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterResolution.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterResolution__ +#define __javax_print_attribute_standard_PrinterResolution__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterResolution; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterResolution : public ::javax::print::attribute::ResolutionSyntax +{ + +public: + PrinterResolution(jint, jint, jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 13090306561090558LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterResolution__ diff --git a/libjava/javax/print/attribute/standard/PrinterState.h b/libjava/javax/print/attribute/standard/PrinterState.h new file mode 100644 index 00000000000..7efde73334c --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterState.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterState__ +#define __javax_print_attribute_standard_PrinterState__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PrinterState; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterState : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PrinterState(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -649578618346507718LL; +public: + static ::javax::print::attribute::standard::PrinterState * UNKNOWN; + static ::javax::print::attribute::standard::PrinterState * IDLE; + static ::javax::print::attribute::standard::PrinterState * PROCESSING; + static ::javax::print::attribute::standard::PrinterState * STOPPED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::PrinterState * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterState__ diff --git a/libjava/javax/print/attribute/standard/PrinterStateReason.h b/libjava/javax/print/attribute/standard/PrinterStateReason.h new file mode 100644 index 00000000000..04b83358af9 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterStateReason.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterStateReason__ +#define __javax_print_attribute_standard_PrinterStateReason__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class PrinterStateReason; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterStateReason : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + PrinterStateReason(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -1623720656201472593LL; +public: + static ::javax::print::attribute::standard::PrinterStateReason * OTHER; + static ::javax::print::attribute::standard::PrinterStateReason * MEDIA_NEEDED; + static ::javax::print::attribute::standard::PrinterStateReason * MEDIA_JAM; + static ::javax::print::attribute::standard::PrinterStateReason * MOVING_TO_PAUSED; + static ::javax::print::attribute::standard::PrinterStateReason * PAUSED; + static ::javax::print::attribute::standard::PrinterStateReason * SHUTDOWN; + static ::javax::print::attribute::standard::PrinterStateReason * CONNECTING_TO_DEVICE; + static ::javax::print::attribute::standard::PrinterStateReason * TIMED_OUT; + static ::javax::print::attribute::standard::PrinterStateReason * STOPPING; + static ::javax::print::attribute::standard::PrinterStateReason * STOPPED_PARTLY; + static ::javax::print::attribute::standard::PrinterStateReason * TONER_LOW; + static ::javax::print::attribute::standard::PrinterStateReason * TONER_EMPTY; + static ::javax::print::attribute::standard::PrinterStateReason * SPOOL_AREA_FULL; + static ::javax::print::attribute::standard::PrinterStateReason * COVER_OPEN; + static ::javax::print::attribute::standard::PrinterStateReason * INTERLOCK_OPEN; + static ::javax::print::attribute::standard::PrinterStateReason * DOOR_OPEN; + static ::javax::print::attribute::standard::PrinterStateReason * INPUT_TRAY_MISSING; + static ::javax::print::attribute::standard::PrinterStateReason * MEDIA_LOW; + static ::javax::print::attribute::standard::PrinterStateReason * MEDIA_EMPTY; + static ::javax::print::attribute::standard::PrinterStateReason * OUTPUT_TRAY_MISSING; + static ::javax::print::attribute::standard::PrinterStateReason * OUTPUT_AREA_ALMOST_FULL; + static ::javax::print::attribute::standard::PrinterStateReason * OUTPUT_AREA_FULL; + static ::javax::print::attribute::standard::PrinterStateReason * MARKER_SUPPLY_LOW; + static ::javax::print::attribute::standard::PrinterStateReason * MARKER_SUPPLY_EMPTY; + static ::javax::print::attribute::standard::PrinterStateReason * MARKER_WASTE_ALMOST_FULL; + static ::javax::print::attribute::standard::PrinterStateReason * MARKER_WASTE_FULL; + static ::javax::print::attribute::standard::PrinterStateReason * FUSER_OVER_TEMP; + static ::javax::print::attribute::standard::PrinterStateReason * FUSER_UNDER_TEMP; + static ::javax::print::attribute::standard::PrinterStateReason * OPC_NEAR_EOL; + static ::javax::print::attribute::standard::PrinterStateReason * OPC_LIFE_OVER; + static ::javax::print::attribute::standard::PrinterStateReason * DEVELOPER_LOW; + static ::javax::print::attribute::standard::PrinterStateReason * DEVELOPER_EMPTY; + static ::javax::print::attribute::standard::PrinterStateReason * INTERPRETER_RESOURCE_UNAVAILABLE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::PrinterStateReason * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterStateReason__ diff --git a/libjava/javax/print/attribute/standard/PrinterStateReasons.h b/libjava/javax/print/attribute/standard/PrinterStateReasons.h new file mode 100644 index 00000000000..bedc8b81d54 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterStateReasons.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterStateReasons__ +#define __javax_print_attribute_standard_PrinterStateReasons__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterStateReason; + class PrinterStateReasons; + class Severity; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterStateReasons : public ::java::util::HashMap +{ + +public: + PrinterStateReasons(); + PrinterStateReasons(jint, jfloat); + PrinterStateReasons(jint); + PrinterStateReasons(::java::util::Map *); + ::java::util::Set * printerStateReasonSet(::javax::print::attribute::standard::Severity *); + ::javax::print::attribute::standard::Severity * target$put(::javax::print::attribute::standard::PrinterStateReason *, ::javax::print::attribute::standard::Severity *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); + ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = -3731791085163619457LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterStateReasons__ diff --git a/libjava/javax/print/attribute/standard/PrinterURI.h b/libjava/javax/print/attribute/standard/PrinterURI.h new file mode 100644 index 00000000000..b5dc5c269d4 --- /dev/null +++ b/libjava/javax/print/attribute/standard/PrinterURI.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_PrinterURI__ +#define __javax_print_attribute_standard_PrinterURI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URI; + } + } + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class PrinterURI; + } + } + } + } +} + +class javax::print::attribute::standard::PrinterURI : public ::javax::print::attribute::URISyntax +{ + +public: + PrinterURI(::java::net::URI *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 7923912792485606497LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_PrinterURI__ diff --git a/libjava/javax/print/attribute/standard/QueuedJobCount.h b/libjava/javax/print/attribute/standard/QueuedJobCount.h new file mode 100644 index 00000000000..d1b115466d3 --- /dev/null +++ b/libjava/javax/print/attribute/standard/QueuedJobCount.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_QueuedJobCount__ +#define __javax_print_attribute_standard_QueuedJobCount__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class QueuedJobCount; + } + } + } + } +} + +class javax::print::attribute::standard::QueuedJobCount : public ::javax::print::attribute::IntegerSyntax +{ + +public: + QueuedJobCount(jint); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = 7499723077864047742LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_QueuedJobCount__ diff --git a/libjava/javax/print/attribute/standard/ReferenceUriSchemesSupported.h b/libjava/javax/print/attribute/standard/ReferenceUriSchemesSupported.h new file mode 100644 index 00000000000..c0cdd6783ca --- /dev/null +++ b/libjava/javax/print/attribute/standard/ReferenceUriSchemesSupported.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_ReferenceUriSchemesSupported__ +#define __javax_print_attribute_standard_ReferenceUriSchemesSupported__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class ReferenceUriSchemesSupported; + } + } + } + } +} + +class javax::print::attribute::standard::ReferenceUriSchemesSupported : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + ReferenceUriSchemesSupported(jint); +public: + virtual ::java::lang::Class * getCategory(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual JArray< ::java::lang::String * > * getStringTable(); + virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -8989076942813442805LL; +public: + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * FTP; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * HTTP; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * HTTPS; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * GOPHER; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * NEWS; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * NNTP; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * WAIS; + static ::javax::print::attribute::standard::ReferenceUriSchemesSupported * FILE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::ReferenceUriSchemesSupported * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_ReferenceUriSchemesSupported__ diff --git a/libjava/javax/print/attribute/standard/RequestingUserName.h b/libjava/javax/print/attribute/standard/RequestingUserName.h new file mode 100644 index 00000000000..f562e2616cb --- /dev/null +++ b/libjava/javax/print/attribute/standard/RequestingUserName.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_RequestingUserName__ +#define __javax_print_attribute_standard_RequestingUserName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + namespace standard + { + class RequestingUserName; + } + } + } + } +} + +class javax::print::attribute::standard::RequestingUserName : public ::javax::print::attribute::TextSyntax +{ + +public: + RequestingUserName(::java::lang::String *, ::java::util::Locale *); + jboolean equals(::java::lang::Object *); + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +private: + static const jlong serialVersionUID = -2683049894310331454LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_RequestingUserName__ diff --git a/libjava/javax/print/attribute/standard/Severity.h b/libjava/javax/print/attribute/standard/Severity.h new file mode 100644 index 00000000000..ea302530894 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Severity.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Severity__ +#define __javax_print_attribute_standard_Severity__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Severity; + } + } + } + } +} + +class javax::print::attribute::standard::Severity : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Severity(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 8781881462717925380LL; +public: + static ::javax::print::attribute::standard::Severity * REPORT; + static ::javax::print::attribute::standard::Severity * WARNING; + static ::javax::print::attribute::standard::Severity * ERROR; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::Severity * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Severity__ diff --git a/libjava/javax/print/attribute/standard/SheetCollate.h b/libjava/javax/print/attribute/standard/SheetCollate.h new file mode 100644 index 00000000000..81d40cb60a5 --- /dev/null +++ b/libjava/javax/print/attribute/standard/SheetCollate.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_SheetCollate__ +#define __javax_print_attribute_standard_SheetCollate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class SheetCollate; + } + } + } + } +} + +class javax::print::attribute::standard::SheetCollate : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + SheetCollate(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = 7080587914259873003LL; +public: + static ::javax::print::attribute::standard::SheetCollate * UNCOLLATED; + static ::javax::print::attribute::standard::SheetCollate * COLLATED; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::SheetCollate * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_SheetCollate__ diff --git a/libjava/javax/print/attribute/standard/Sides.h b/libjava/javax/print/attribute/standard/Sides.h new file mode 100644 index 00000000000..9f3072bd8e2 --- /dev/null +++ b/libjava/javax/print/attribute/standard/Sides.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_attribute_standard_Sides__ +#define __javax_print_attribute_standard_Sides__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace print + { + namespace attribute + { + class EnumSyntax; + namespace standard + { + class Sides; + } + } + } + } +} + +class javax::print::attribute::standard::Sides : public ::javax::print::attribute::EnumSyntax +{ + +public: // actually protected + Sides(jint); +public: + ::java::lang::Class * getCategory(); + ::java::lang::String * getName(); +public: // actually protected + JArray< ::java::lang::String * > * getStringTable(); + JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable(); +private: + static const jlong serialVersionUID = -6890309414893262822LL; +public: + static ::javax::print::attribute::standard::Sides * ONE_SIDED; + static ::javax::print::attribute::standard::Sides * TWO_SIDED_LONG_EDGE; + static ::javax::print::attribute::standard::Sides * TWO_SIDED_SHORT_EDGE; + static ::javax::print::attribute::standard::Sides * DUPLEX; + static ::javax::print::attribute::standard::Sides * TUMBLE; +private: + static JArray< ::java::lang::String * > * stringTable; + static JArray< ::javax::print::attribute::standard::Sides * > * enumValueTable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_attribute_standard_Sides__ diff --git a/libjava/javax/print/event/PrintEvent.h b/libjava/javax/print/event/PrintEvent.h new file mode 100644 index 00000000000..e69675adf1c --- /dev/null +++ b/libjava/javax/print/event/PrintEvent.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintEvent__ +#define __javax_print_event_PrintEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace event + { + class PrintEvent; + } + } + } +} + +class javax::print::event::PrintEvent : public ::java::util::EventObject +{ + +public: + PrintEvent(::java::lang::Object *); + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_event_PrintEvent__ diff --git a/libjava/javax/print/event/PrintJobAdapter.h b/libjava/javax/print/event/PrintJobAdapter.h new file mode 100644 index 00000000000..2137f467dca --- /dev/null +++ b/libjava/javax/print/event/PrintJobAdapter.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintJobAdapter__ +#define __javax_print_event_PrintJobAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace event + { + class PrintJobAdapter; + class PrintJobEvent; + } + } + } +} + +class javax::print::event::PrintJobAdapter : public ::java::lang::Object +{ + +public: + PrintJobAdapter(); + virtual void printDataTransferCompleted(::javax::print::event::PrintJobEvent *); + virtual void printJobCanceled(::javax::print::event::PrintJobEvent *); + virtual void printJobCompleted(::javax::print::event::PrintJobEvent *); + virtual void printJobFailed(::javax::print::event::PrintJobEvent *); + virtual void printJobNoMoreEvents(::javax::print::event::PrintJobEvent *); + virtual void printJobRequiresAttention(::javax::print::event::PrintJobEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_print_event_PrintJobAdapter__ diff --git a/libjava/javax/print/event/PrintJobAttributeEvent.h b/libjava/javax/print/event/PrintJobAttributeEvent.h new file mode 100644 index 00000000000..d3fcc6c39f5 --- /dev/null +++ b/libjava/javax/print/event/PrintJobAttributeEvent.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintJobAttributeEvent__ +#define __javax_print_event_PrintJobAttributeEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocPrintJob; + namespace attribute + { + class PrintJobAttributeSet; + } + namespace event + { + class PrintJobAttributeEvent; + } + } + } +} + +class javax::print::event::PrintJobAttributeEvent : public ::javax::print::event::PrintEvent +{ + +public: + PrintJobAttributeEvent(::javax::print::DocPrintJob *, ::javax::print::attribute::PrintJobAttributeSet *); + virtual ::javax::print::DocPrintJob * getPrintJob(); + virtual ::javax::print::attribute::PrintJobAttributeSet * getAttributes(); +private: + static const jlong serialVersionUID = -6534469883874742101LL; + ::javax::print::attribute::PrintJobAttributeSet * __attribute__((aligned(__alignof__( ::javax::print::event::PrintEvent)))) attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_event_PrintJobAttributeEvent__ diff --git a/libjava/javax/print/event/PrintJobAttributeListener.h b/libjava/javax/print/event/PrintJobAttributeListener.h new file mode 100644 index 00000000000..7b7581c4d5e --- /dev/null +++ b/libjava/javax/print/event/PrintJobAttributeListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintJobAttributeListener__ +#define __javax_print_event_PrintJobAttributeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace event + { + class PrintJobAttributeEvent; + class PrintJobAttributeListener; + } + } + } +} + +class javax::print::event::PrintJobAttributeListener : public ::java::lang::Object +{ + +public: + virtual void attributeUpdate(::javax::print::event::PrintJobAttributeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_event_PrintJobAttributeListener__ diff --git a/libjava/javax/print/event/PrintJobEvent.h b/libjava/javax/print/event/PrintJobEvent.h new file mode 100644 index 00000000000..a052e07d60f --- /dev/null +++ b/libjava/javax/print/event/PrintJobEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintJobEvent__ +#define __javax_print_event_PrintJobEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class DocPrintJob; + namespace event + { + class PrintJobEvent; + } + } + } +} + +class javax::print::event::PrintJobEvent : public ::javax::print::event::PrintEvent +{ + +public: + PrintJobEvent(::javax::print::DocPrintJob *, jint); + virtual jint getPrintEventType(); + virtual ::javax::print::DocPrintJob * getPrintJob(); +private: + static const jlong serialVersionUID = -1711656903622072997LL; +public: + static const jint DATA_TRANSFER_COMPLETE = 106; + static const jint JOB_CANCELED = 101; + static const jint JOB_COMPLETE = 102; + static const jint JOB_FAILED = 103; + static const jint NO_MORE_EVENTS = 105; + static const jint REQUIRES_ATTENTION = 104; +private: + jint __attribute__((aligned(__alignof__( ::javax::print::event::PrintEvent)))) reason; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_event_PrintJobEvent__ diff --git a/libjava/javax/print/event/PrintJobListener.h b/libjava/javax/print/event/PrintJobListener.h new file mode 100644 index 00000000000..2dbc20e4ca9 --- /dev/null +++ b/libjava/javax/print/event/PrintJobListener.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintJobListener__ +#define __javax_print_event_PrintJobListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace event + { + class PrintJobEvent; + class PrintJobListener; + } + } + } +} + +class javax::print::event::PrintJobListener : public ::java::lang::Object +{ + +public: + virtual void printDataTransferCompleted(::javax::print::event::PrintJobEvent *) = 0; + virtual void printJobCanceled(::javax::print::event::PrintJobEvent *) = 0; + virtual void printJobCompleted(::javax::print::event::PrintJobEvent *) = 0; + virtual void printJobFailed(::javax::print::event::PrintJobEvent *) = 0; + virtual void printJobNoMoreEvents(::javax::print::event::PrintJobEvent *) = 0; + virtual void printJobRequiresAttention(::javax::print::event::PrintJobEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_event_PrintJobListener__ diff --git a/libjava/javax/print/event/PrintServiceAttributeEvent.h b/libjava/javax/print/event/PrintServiceAttributeEvent.h new file mode 100644 index 00000000000..baceddb9a4c --- /dev/null +++ b/libjava/javax/print/event/PrintServiceAttributeEvent.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintServiceAttributeEvent__ +#define __javax_print_event_PrintServiceAttributeEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + class PrintService; + namespace attribute + { + class PrintServiceAttributeSet; + } + namespace event + { + class PrintServiceAttributeEvent; + } + } + } +} + +class javax::print::event::PrintServiceAttributeEvent : public ::javax::print::event::PrintEvent +{ + +public: + PrintServiceAttributeEvent(::javax::print::PrintService *, ::javax::print::attribute::PrintServiceAttributeSet *); + virtual ::javax::print::PrintService * getPrintService(); + virtual ::javax::print::attribute::PrintServiceAttributeSet * getAttributes(); +private: + ::javax::print::attribute::PrintServiceAttributeSet * __attribute__((aligned(__alignof__( ::javax::print::event::PrintEvent)))) attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_print_event_PrintServiceAttributeEvent__ diff --git a/libjava/javax/print/event/PrintServiceAttributeListener.h b/libjava/javax/print/event/PrintServiceAttributeListener.h new file mode 100644 index 00000000000..95b52368563 --- /dev/null +++ b/libjava/javax/print/event/PrintServiceAttributeListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_print_event_PrintServiceAttributeListener__ +#define __javax_print_event_PrintServiceAttributeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace print + { + namespace event + { + class PrintServiceAttributeEvent; + class PrintServiceAttributeListener; + } + } + } +} + +class javax::print::event::PrintServiceAttributeListener : public ::java::lang::Object +{ + +public: + virtual void attributeUpdate(::javax::print::event::PrintServiceAttributeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_print_event_PrintServiceAttributeListener__ diff --git a/libjava/javax/rmi/CORBA/ClassDesc.h b/libjava/javax/rmi/CORBA/ClassDesc.h new file mode 100644 index 00000000000..39d37b95175 --- /dev/null +++ b/libjava/javax/rmi/CORBA/ClassDesc.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_ClassDesc__ +#define __javax_rmi_CORBA_ClassDesc__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace rmi + { + namespace CORBA + { + class ClassDesc; + } + } + } +} + +class javax::rmi::CORBA::ClassDesc : public ::java::lang::Object +{ + +public: + ClassDesc(); +private: + static const jlong serialVersionUID = -3477057297839810709LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) repid; + ::java::lang::String * codebase; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_rmi_CORBA_ClassDesc__ diff --git a/libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.h b/libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.h new file mode 100644 index 00000000000..2e3c72dcaaa --- /dev/null +++ b/libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_PortableRemoteObjectDelegate__ +#define __javax_rmi_CORBA_PortableRemoteObjectDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class PortableRemoteObjectDelegate; + } + } + } +} + +class javax::rmi::CORBA::PortableRemoteObjectDelegate : public ::java::lang::Object +{ + +public: + virtual void connect(::java::rmi::Remote *, ::java::rmi::Remote *) = 0; + virtual void exportObject(::java::rmi::Remote *) = 0; + virtual ::java::lang::Object * narrow(::java::lang::Object *, ::java::lang::Class *) = 0; + virtual ::java::rmi::Remote * toStub(::java::rmi::Remote *) = 0; + virtual void unexportObject(::java::rmi::Remote *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_rmi_CORBA_PortableRemoteObjectDelegate__ diff --git a/libjava/javax/rmi/CORBA/Stub.h b/libjava/javax/rmi/CORBA/Stub.h new file mode 100644 index 00000000000..d87f63d0d6d --- /dev/null +++ b/libjava/javax/rmi/CORBA/Stub.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_Stub__ +#define __javax_rmi_CORBA_Stub__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Stub; + class StubDelegate; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class javax::rmi::CORBA::Stub : public ::org::omg::CORBA_2_3::portable::ObjectImpl +{ + +public: + Stub(); + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual void connect(::org::omg::CORBA::ORB *); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = 1087775603798577179LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::org::omg::CORBA_2_3::portable::ObjectImpl)))) m_hash; + ::java::lang::String * m_ior; + ::org::omg::CORBA::ORB * m_orb; + static ::javax::rmi::CORBA::StubDelegate * delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_rmi_CORBA_Stub__ diff --git a/libjava/javax/rmi/CORBA/StubDelegate.h b/libjava/javax/rmi/CORBA/StubDelegate.h new file mode 100644 index 00000000000..c8dc436221f --- /dev/null +++ b/libjava/javax/rmi/CORBA/StubDelegate.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_StubDelegate__ +#define __javax_rmi_CORBA_StubDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Stub; + class StubDelegate; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + } + } + } +} + +class javax::rmi::CORBA::StubDelegate : public ::java::lang::Object +{ + +public: + virtual void connect(::javax::rmi::CORBA::Stub *, ::org::omg::CORBA::ORB *) = 0; + virtual jboolean equals(::javax::rmi::CORBA::Stub *, ::java::lang::Object *) = 0; + virtual jint hashCode(::javax::rmi::CORBA::Stub *) = 0; + virtual void readObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectInputStream *) = 0; + virtual void writeObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectOutputStream *) = 0; + virtual ::java::lang::String * toString(::javax::rmi::CORBA::Stub *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_rmi_CORBA_StubDelegate__ diff --git a/libjava/javax/rmi/CORBA/Tie.h b/libjava/javax/rmi/CORBA/Tie.h new file mode 100644 index 00000000000..9f9ffcf1ba7 --- /dev/null +++ b/libjava/javax/rmi/CORBA/Tie.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_Tie__ +#define __javax_rmi_CORBA_Tie__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Tie; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + } + } +} + +class javax::rmi::CORBA::Tie : public ::java::lang::Object +{ + +public: + virtual ::java::rmi::Remote * getTarget() = 0; + virtual void setTarget(::java::rmi::Remote *) = 0; + virtual ::org::omg::CORBA::ORB * orb() = 0; + virtual void orb(::org::omg::CORBA::ORB *) = 0; + virtual ::org::omg::CORBA::Object * thisObject() = 0; + virtual void deactivate() = 0; + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_rmi_CORBA_Tie__ diff --git a/libjava/javax/rmi/CORBA/Util.h b/libjava/javax/rmi/CORBA/Util.h new file mode 100644 index 00000000000..a7eaf610411 --- /dev/null +++ b/libjava/javax/rmi/CORBA/Util.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_Util__ +#define __javax_rmi_CORBA_Util__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + class RemoteException; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Stub; + class Tie; + class Util; + class UtilDelegate; + class ValueHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class SystemException; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class javax::rmi::CORBA::Util : public ::java::lang::Object +{ + + Util(); +public: + static ::java::lang::Object * copyObject(::java::lang::Object *, ::org::omg::CORBA::ORB *); + static JArray< ::java::lang::Object * > * copyObjects(JArray< ::java::lang::Object * > *, ::org::omg::CORBA::ORB *); + static ::javax::rmi::CORBA::ValueHandler * createValueHandler(); + static ::java::lang::String * getCodebase(::java::lang::Class *); + static ::javax::rmi::CORBA::Tie * getTie(::java::rmi::Remote *); + static jboolean isLocal(::javax::rmi::CORBA::Stub *); + static ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); + static ::java::rmi::RemoteException * mapSystemException(::org::omg::CORBA::SystemException *); + static void registerTarget(::javax::rmi::CORBA::Tie *, ::java::rmi::Remote *); + static void unexportObject(::java::rmi::Remote *); + static ::java::rmi::RemoteException * wrapException(::java::lang::Throwable *); + static void writeAbstractObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); + static void writeAny(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); + static ::java::lang::Object * readAny(::org::omg::CORBA::portable::InputStream *); + static void writeRemoteObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *); +public: // actually package-private + static ::javax::rmi::CORBA::UtilDelegate * delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_rmi_CORBA_Util__ diff --git a/libjava/javax/rmi/CORBA/UtilDelegate.h b/libjava/javax/rmi/CORBA/UtilDelegate.h new file mode 100644 index 00000000000..e3c235d92ef --- /dev/null +++ b/libjava/javax/rmi/CORBA/UtilDelegate.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_UtilDelegate__ +#define __javax_rmi_CORBA_UtilDelegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + class RemoteException; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class Stub; + class Tie; + class UtilDelegate; + class ValueHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class SystemException; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class javax::rmi::CORBA::UtilDelegate : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * copyObject(::java::lang::Object *, ::org::omg::CORBA::ORB *) = 0; + virtual JArray< ::java::lang::Object * > * copyObjects(JArray< ::java::lang::Object * > *, ::org::omg::CORBA::ORB *) = 0; + virtual ::javax::rmi::CORBA::ValueHandler * createValueHandler() = 0; + virtual ::java::lang::String * getCodebase(::java::lang::Class *) = 0; + virtual jboolean isLocal(::javax::rmi::CORBA::Stub *) = 0; + virtual ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *) = 0; + virtual ::java::rmi::RemoteException * mapSystemException(::org::omg::CORBA::SystemException *) = 0; + virtual ::javax::rmi::CORBA::Tie * getTie(::java::rmi::Remote *) = 0; + virtual void registerTarget(::javax::rmi::CORBA::Tie *, ::java::rmi::Remote *) = 0; + virtual void unexportObject(::java::rmi::Remote *) = 0; + virtual ::java::rmi::RemoteException * wrapException(::java::lang::Throwable *) = 0; + virtual void writeRemoteObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *) = 0; + virtual void writeAbstractObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *) = 0; + virtual void writeAny(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * readAny(::org::omg::CORBA::portable::InputStream *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_rmi_CORBA_UtilDelegate__ diff --git a/libjava/javax/rmi/CORBA/ValueHandler.h b/libjava/javax/rmi/CORBA/ValueHandler.h new file mode 100644 index 00000000000..170f4d593b8 --- /dev/null +++ b/libjava/javax/rmi/CORBA/ValueHandler.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_ValueHandler__ +#define __javax_rmi_CORBA_ValueHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace rmi + { + namespace CORBA + { + class ValueHandler; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace SendingContext + { + class RunTime; + } + } + } +} + +class javax::rmi::CORBA::ValueHandler : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getRMIRepositoryID(::java::lang::Class *) = 0; + virtual ::org::omg::SendingContext::RunTime * getRunTimeCodeBase() = 0; + virtual jboolean isCustomMarshaled(::java::lang::Class *) = 0; + virtual ::java::io::Serializable * readValue(::org::omg::CORBA::portable::InputStream *, jint, ::java::lang::Class *, ::java::lang::String *, ::org::omg::SendingContext::RunTime *) = 0; + virtual ::java::io::Serializable * writeReplace(::java::io::Serializable *) = 0; + virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_rmi_CORBA_ValueHandler__ diff --git a/libjava/javax/rmi/CORBA/ValueHandlerMultiFormat.h b/libjava/javax/rmi/CORBA/ValueHandlerMultiFormat.h new file mode 100644 index 00000000000..7e59a61f40d --- /dev/null +++ b/libjava/javax/rmi/CORBA/ValueHandlerMultiFormat.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_CORBA_ValueHandlerMultiFormat__ +#define __javax_rmi_CORBA_ValueHandlerMultiFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace rmi + { + namespace CORBA + { + class ValueHandlerMultiFormat; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace SendingContext + { + class RunTime; + } + } + } +} + +class javax::rmi::CORBA::ValueHandlerMultiFormat : public ::java::lang::Object +{ + +public: + virtual jbyte getMaximumStreamFormatVersion() = 0; + virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, jbyte) = 0; + virtual ::java::lang::String * getRMIRepositoryID(::java::lang::Class *) = 0; + virtual ::org::omg::SendingContext::RunTime * getRunTimeCodeBase() = 0; + virtual jboolean isCustomMarshaled(::java::lang::Class *) = 0; + virtual ::java::io::Serializable * readValue(::org::omg::CORBA::portable::InputStream *, jint, ::java::lang::Class *, ::java::lang::String *, ::org::omg::SendingContext::RunTime *) = 0; + virtual ::java::io::Serializable * writeReplace(::java::io::Serializable *) = 0; + virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_rmi_CORBA_ValueHandlerMultiFormat__ diff --git a/libjava/javax/rmi/PortableRemoteObject.h b/libjava/javax/rmi/PortableRemoteObject.h new file mode 100644 index 00000000000..2fd0facd270 --- /dev/null +++ b/libjava/javax/rmi/PortableRemoteObject.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_PortableRemoteObject__ +#define __javax_rmi_PortableRemoteObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace rmi + { + class Remote; + } + } + namespace javax + { + namespace rmi + { + namespace CORBA + { + class PortableRemoteObjectDelegate; + } + class PortableRemoteObject; + } + } +} + +class javax::rmi::PortableRemoteObject : public ::java::lang::Object +{ + +public: // actually protected + PortableRemoteObject(); +public: + static void connect(::java::rmi::Remote *, ::java::rmi::Remote *); + static void exportObject(::java::rmi::Remote *); + static ::java::lang::Object * narrow(::java::lang::Object *, ::java::lang::Class *); + static ::java::rmi::Remote * toStub(::java::rmi::Remote *); + static void unexportObject(::java::rmi::Remote *); +public: // actually package-private + static ::javax::rmi::CORBA::PortableRemoteObjectDelegate * delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_rmi_PortableRemoteObject__ diff --git a/libjava/javax/rmi/ssl/SslRMIClientSocketFactory.h b/libjava/javax/rmi/ssl/SslRMIClientSocketFactory.h new file mode 100644 index 00000000000..8c54dd83066 --- /dev/null +++ b/libjava/javax/rmi/ssl/SslRMIClientSocketFactory.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_ssl_SslRMIClientSocketFactory__ +#define __javax_rmi_ssl_SslRMIClientSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class Socket; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLSocketFactory; + } + } + namespace rmi + { + namespace ssl + { + class SslRMIClientSocketFactory; + } + } + } +} + +class javax::rmi::ssl::SslRMIClientSocketFactory : public ::java::lang::Object +{ + +public: + SslRMIClientSocketFactory(); +private: + JArray< ::java::lang::String * > * getProp(::java::lang::String *); +public: + virtual ::java::net::Socket * createSocket(::java::lang::String *, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static const jlong serialVersionUID = -8310631444933958385LL; + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabledCipherSuites; + JArray< ::java::lang::String * > * enabledProtocols; + static ::javax::net::ssl::SSLSocketFactory * socketFactory; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_rmi_ssl_SslRMIClientSocketFactory__ diff --git a/libjava/javax/rmi/ssl/SslRMIServerSocketFactory.h b/libjava/javax/rmi/ssl/SslRMIServerSocketFactory.h new file mode 100644 index 00000000000..3b49d3e9ede --- /dev/null +++ b/libjava/javax/rmi/ssl/SslRMIServerSocketFactory.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_rmi_ssl_SslRMIServerSocketFactory__ +#define __javax_rmi_ssl_SslRMIServerSocketFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class ServerSocket; + } + } + namespace javax + { + namespace net + { + namespace ssl + { + class SSLServerSocketFactory; + } + } + namespace rmi + { + namespace ssl + { + class SslRMIServerSocketFactory; + } + } + } +} + +class javax::rmi::ssl::SslRMIServerSocketFactory : public ::java::lang::Object +{ + +public: + SslRMIServerSocketFactory(); + SslRMIServerSocketFactory(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean); + virtual ::java::net::ServerSocket * createServerSocket(jint); + virtual jboolean equals(::java::lang::Object *); +public: // actually package-private + static jboolean cmpStrArray(JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *); +public: + virtual JArray< ::java::lang::String * > * getEnabledCipherSuites(); + virtual JArray< ::java::lang::String * > * getEnabledProtocols(); + virtual jboolean getNeedClientAuth(); + virtual jint hashCode(); +private: + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabledCipherSuites; + JArray< ::java::lang::String * > * enabledProtocols; + jboolean needClientAuth; + static ::javax::net::ssl::SSLServerSocketFactory * socketFactory; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_rmi_ssl_SslRMIServerSocketFactory__ diff --git a/libjava/javax/security/auth/AuthPermission.h b/libjava/javax/security/auth/AuthPermission.h new file mode 100644 index 00000000000..7be18bde9e1 --- /dev/null +++ b/libjava/javax/security/auth/AuthPermission.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_AuthPermission__ +#define __javax_security_auth_AuthPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class AuthPermission; + } + } + } +} + +class javax::security::auth::AuthPermission : public ::java::security::BasicPermission +{ + +public: + AuthPermission(::java::lang::String *); + AuthPermission(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_AuthPermission__ diff --git a/libjava/javax/security/auth/DestroyFailedException.h b/libjava/javax/security/auth/DestroyFailedException.h new file mode 100644 index 00000000000..7ee0fb6a29c --- /dev/null +++ b/libjava/javax/security/auth/DestroyFailedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_DestroyFailedException__ +#define __javax_security_auth_DestroyFailedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class DestroyFailedException; + } + } + } +} + +class javax::security::auth::DestroyFailedException : public ::java::lang::Exception +{ + +public: + DestroyFailedException(); + DestroyFailedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_DestroyFailedException__ diff --git a/libjava/javax/security/auth/Destroyable.h b/libjava/javax/security/auth/Destroyable.h new file mode 100644 index 00000000000..3afdb762f8e --- /dev/null +++ b/libjava/javax/security/auth/Destroyable.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_Destroyable__ +#define __javax_security_auth_Destroyable__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class Destroyable; + } + } + } +} + +class javax::security::auth::Destroyable : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual jboolean isDestroyed() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_auth_Destroyable__ diff --git a/libjava/javax/security/auth/Policy.h b/libjava/javax/security/auth/Policy.h new file mode 100644 index 00000000000..394a870d686 --- /dev/null +++ b/libjava/javax/security/auth/Policy.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_Policy__ +#define __javax_security_auth_Policy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class CodeSource; + class PermissionCollection; + } + } + namespace javax + { + namespace security + { + namespace auth + { + class Policy; + class Subject; + } + } + } +} + +class javax::security::auth::Policy : public ::java::lang::Object +{ + +public: // actually protected + Policy(); +public: + static ::javax::security::auth::Policy * getPolicy(); + static void setPolicy(::javax::security::auth::Policy *); + virtual ::java::security::PermissionCollection * getPermissions(::javax::security::auth::Subject *, ::java::security::CodeSource *) = 0; + virtual void refresh() = 0; +private: + static ::javax::security::auth::Policy * policy; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_Policy__ diff --git a/libjava/javax/security/auth/PrivateCredentialPermission$CredOwner.h b/libjava/javax/security/auth/PrivateCredentialPermission$CredOwner.h new file mode 100644 index 00000000000..c877eddd1f5 --- /dev/null +++ b/libjava/javax/security/auth/PrivateCredentialPermission$CredOwner.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_PrivateCredentialPermission$CredOwner__ +#define __javax_security_auth_PrivateCredentialPermission$CredOwner__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class PrivateCredentialPermission$CredOwner; + } + } + } +} + +class javax::security::auth::PrivateCredentialPermission$CredOwner : public ::java::lang::Object +{ + +public: // actually package-private + PrivateCredentialPermission$CredOwner(::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * getPrincipalClass(); + virtual ::java::lang::String * getPrincipalName(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) principalClass; + ::java::lang::String * principalName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_PrivateCredentialPermission$CredOwner__ diff --git a/libjava/javax/security/auth/PrivateCredentialPermission.h b/libjava/javax/security/auth/PrivateCredentialPermission.h new file mode 100644 index 00000000000..157c1df79ce --- /dev/null +++ b/libjava/javax/security/auth/PrivateCredentialPermission.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_PrivateCredentialPermission__ +#define __javax_security_auth_PrivateCredentialPermission__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } + namespace javax + { + namespace security + { + namespace auth + { + class PrivateCredentialPermission; + } + } + } +} + +class javax::security::auth::PrivateCredentialPermission : public ::java::security::Permission +{ + +public: + PrivateCredentialPermission(::java::lang::String *, ::java::lang::String *); + jboolean equals(::java::lang::Object *); + ::java::lang::String * getActions(); + ::java::lang::String * getCredentialClass(); + JArray< JArray< ::java::lang::String * > * > * getPrincipals(); + jint hashCode(); + jboolean implies(::java::security::Permission *); + ::java::security::PermissionCollection * newPermissionCollection(); +private: + static const jlong serialVersionUID = 5284372143517237068LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::security::Permission)))) credentialClass; + ::java::util::Set * principals; + jboolean testing; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_PrivateCredentialPermission__ diff --git a/libjava/javax/security/auth/RefreshFailedException.h b/libjava/javax/security/auth/RefreshFailedException.h new file mode 100644 index 00000000000..c0fadb08d54 --- /dev/null +++ b/libjava/javax/security/auth/RefreshFailedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_RefreshFailedException__ +#define __javax_security_auth_RefreshFailedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class RefreshFailedException; + } + } + } +} + +class javax::security::auth::RefreshFailedException : public ::java::lang::Exception +{ + +public: + RefreshFailedException(); + RefreshFailedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_RefreshFailedException__ diff --git a/libjava/javax/security/auth/Refreshable.h b/libjava/javax/security/auth/Refreshable.h new file mode 100644 index 00000000000..5c065c5aa9c --- /dev/null +++ b/libjava/javax/security/auth/Refreshable.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_Refreshable__ +#define __javax_security_auth_Refreshable__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class Refreshable; + } + } + } +} + +class javax::security::auth::Refreshable : public ::java::lang::Object +{ + +public: + virtual jboolean isCurrent() = 0; + virtual void refresh() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_auth_Refreshable__ diff --git a/libjava/javax/security/auth/Subject$SecureSet.h b/libjava/javax/security/auth/Subject$SecureSet.h new file mode 100644 index 00000000000..854176ce9cb --- /dev/null +++ b/libjava/javax/security/auth/Subject$SecureSet.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_Subject$SecureSet__ +#define __javax_security_auth_Subject$SecureSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class Subject; + class Subject$SecureSet; + } + } + } +} + +class javax::security::auth::Subject$SecureSet : public ::java::util::AbstractSet +{ + +public: // actually package-private + Subject$SecureSet(::javax::security::auth::Subject *, jint, ::java::util::Collection *); + Subject$SecureSet(::javax::security::auth::Subject *, jint); +public: + virtual jint size(); + virtual ::java::util::Iterator * iterator(); + virtual jboolean add(::java::lang::Object *); + virtual jboolean remove(::java::lang::Object *); + virtual jboolean contains(::java::lang::Object *); + virtual jboolean removeAll(::java::util::Collection *); + virtual jboolean retainAll(::java::util::Collection *); + virtual void clear(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 7911754171111800359LL; +public: // actually package-private + static const jint PRINCIPALS = 0; + static const jint PUBLIC_CREDENTIALS = 1; + static const jint PRIVATE_CREDENTIALS = 2; +private: + ::javax::security::auth::Subject * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) subject; + ::java::util::LinkedList * elements; + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_Subject$SecureSet__ diff --git a/libjava/javax/security/auth/Subject.h b/libjava/javax/security/auth/Subject.h new file mode 100644 index 00000000000..de9165199ba --- /dev/null +++ b/libjava/javax/security/auth/Subject.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_Subject__ +#define __javax_security_auth_Subject__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class AccessControlContext; + class PrivilegedAction; + class PrivilegedExceptionAction; + } + } + namespace javax + { + namespace security + { + namespace auth + { + class Subject; + class Subject$SecureSet; + } + } + } +} + +class javax::security::auth::Subject : public ::java::lang::Object +{ + +public: + Subject(); + Subject(jboolean, ::java::util::Set *, ::java::util::Set *, ::java::util::Set *); + static ::javax::security::auth::Subject * getSubject(::java::security::AccessControlContext *); + static ::java::lang::Object * doAs(::javax::security::auth::Subject *, ::java::security::PrivilegedAction *); + static ::java::lang::Object * doAs(::javax::security::auth::Subject *, ::java::security::PrivilegedExceptionAction *); + static ::java::lang::Object * doAsPrivileged(::javax::security::auth::Subject *, ::java::security::PrivilegedAction *, ::java::security::AccessControlContext *); + static ::java::lang::Object * doAsPrivileged(::javax::security::auth::Subject *, ::java::security::PrivilegedExceptionAction *, ::java::security::AccessControlContext *); + jboolean equals(::java::lang::Object *); + ::java::util::Set * getPrincipals(); + ::java::util::Set * getPrincipals(::java::lang::Class *); + ::java::util::Set * getPrivateCredentials(); + ::java::util::Set * getPrivateCredentials(::java::lang::Class *); + ::java::util::Set * getPublicCredentials(); + ::java::util::Set * getPublicCredentials(::java::lang::Class *); + jint hashCode(); + jboolean isReadOnly(); + void setReadOnly(); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -8308522755600156056LL; + ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) principals; + jboolean readOnly; + ::javax::security::auth::Subject$SecureSet * pubCred; + ::javax::security::auth::Subject$SecureSet * privCred; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_Subject__ diff --git a/libjava/javax/security/auth/SubjectDomainCombiner.h b/libjava/javax/security/auth/SubjectDomainCombiner.h new file mode 100644 index 00000000000..bda871c92db --- /dev/null +++ b/libjava/javax/security/auth/SubjectDomainCombiner.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_SubjectDomainCombiner__ +#define __javax_security_auth_SubjectDomainCombiner__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class ProtectionDomain; + } + } + namespace javax + { + namespace security + { + namespace auth + { + class Subject; + class SubjectDomainCombiner; + } + } + } +} + +class javax::security::auth::SubjectDomainCombiner : public ::java::lang::Object +{ + +public: + SubjectDomainCombiner(::javax::security::auth::Subject *); + virtual JArray< ::java::security::ProtectionDomain * > * combine(JArray< ::java::security::ProtectionDomain * > *, JArray< ::java::security::ProtectionDomain * > *); + virtual ::javax::security::auth::Subject * getSubject(); +private: + ::javax::security::auth::Subject * __attribute__((aligned(__alignof__( ::java::lang::Object)))) subject; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_SubjectDomainCombiner__ diff --git a/libjava/javax/security/auth/callback/Callback.h b/libjava/javax/security/auth/callback/Callback.h new file mode 100644 index 00000000000..ef069f63367 --- /dev/null +++ b/libjava/javax/security/auth/callback/Callback.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_Callback__ +#define __javax_security_auth_callback_Callback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class Callback; + } + } + } + } +} + +class javax::security::auth::callback::Callback : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_auth_callback_Callback__ diff --git a/libjava/javax/security/auth/callback/CallbackHandler.h b/libjava/javax/security/auth/callback/CallbackHandler.h new file mode 100644 index 00000000000..63f4bfb4164 --- /dev/null +++ b/libjava/javax/security/auth/callback/CallbackHandler.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_CallbackHandler__ +#define __javax_security_auth_callback_CallbackHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class Callback; + class CallbackHandler; + } + } + } + } +} + +class javax::security::auth::callback::CallbackHandler : public ::java::lang::Object +{ + +public: + virtual void handle(JArray< ::javax::security::auth::callback::Callback * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_auth_callback_CallbackHandler__ diff --git a/libjava/javax/security/auth/callback/ChoiceCallback.h b/libjava/javax/security/auth/callback/ChoiceCallback.h new file mode 100644 index 00000000000..80f4ccf2879 --- /dev/null +++ b/libjava/javax/security/auth/callback/ChoiceCallback.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_ChoiceCallback__ +#define __javax_security_auth_callback_ChoiceCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ChoiceCallback; + } + } + } + } +} + +class javax::security::auth::callback::ChoiceCallback : public ::java::lang::Object +{ + +public: + ChoiceCallback(::java::lang::String *, JArray< ::java::lang::String * > *, jint, jboolean); + virtual ::java::lang::String * getPrompt(); + virtual JArray< ::java::lang::String * > * getChoices(); + virtual jint getDefaultChoice(); + virtual jboolean allowMultipleSelections(); + virtual void setSelectedIndex(jint); + virtual void setSelectedIndexes(JArray< jint > *); + virtual JArray< jint > * getSelectedIndexes(); +private: + void setPrompt(::java::lang::String *); + void setChoices(JArray< ::java::lang::String * > *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prompt; + JArray< ::java::lang::String * > * choices; + jint defaultChoice; + jboolean multipleSelectionsAllowed; + JArray< jint > * selections; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_ChoiceCallback__ diff --git a/libjava/javax/security/auth/callback/ConfirmationCallback.h b/libjava/javax/security/auth/callback/ConfirmationCallback.h new file mode 100644 index 00000000000..4e7443832a7 --- /dev/null +++ b/libjava/javax/security/auth/callback/ConfirmationCallback.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_ConfirmationCallback__ +#define __javax_security_auth_callback_ConfirmationCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class ConfirmationCallback; + } + } + } + } +} + +class javax::security::auth::callback::ConfirmationCallback : public ::java::lang::Object +{ + +public: + ConfirmationCallback(jint, jint, jint); + ConfirmationCallback(jint, JArray< ::java::lang::String * > *, jint); + ConfirmationCallback(::java::lang::String *, jint, jint, jint); + ConfirmationCallback(::java::lang::String *, jint, JArray< ::java::lang::String * > *, jint); + virtual ::java::lang::String * getPrompt(); + virtual jint getMessageType(); + virtual jint getOptionType(); + virtual JArray< ::java::lang::String * > * getOptions(); + virtual jint getDefaultOption(); + virtual void setSelectedIndex(jint); + virtual jint getSelectedIndex(); +private: + void setMessageType(jint); + void setOptionType(jint, jint); + void setOptions(JArray< ::java::lang::String * > *, jint); + void setPrompt(::java::lang::String *); +public: + static const jint UNSPECIFIED_OPTION = -1; + static const jint YES_NO_OPTION = 0; + static const jint YES_NO_CANCEL_OPTION = 1; + static const jint OK_CANCEL_OPTION = 2; + static const jint YES = 0; + static const jint NO = 1; + static const jint CANCEL = 2; + static const jint OK = 3; + static const jint INFORMATION = 0; + static const jint WARNING = 1; + static const jint ERROR = 2; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prompt; + jint messageType; + jint optionType; + jint defaultOption; + JArray< ::java::lang::String * > * options; + jint selection; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_ConfirmationCallback__ diff --git a/libjava/javax/security/auth/callback/LanguageCallback.h b/libjava/javax/security/auth/callback/LanguageCallback.h new file mode 100644 index 00000000000..8580fa7a847 --- /dev/null +++ b/libjava/javax/security/auth/callback/LanguageCallback.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_LanguageCallback__ +#define __javax_security_auth_callback_LanguageCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class LanguageCallback; + } + } + } + } +} + +class javax::security::auth::callback::LanguageCallback : public ::java::lang::Object +{ + +public: + LanguageCallback(); + virtual void setLocale(::java::util::Locale *); + virtual ::java::util::Locale * getLocale(); +private: + ::java::util::Locale * __attribute__((aligned(__alignof__( ::java::lang::Object)))) locale; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_LanguageCallback__ diff --git a/libjava/javax/security/auth/callback/NameCallback.h b/libjava/javax/security/auth/callback/NameCallback.h new file mode 100644 index 00000000000..89e3ffdbce4 --- /dev/null +++ b/libjava/javax/security/auth/callback/NameCallback.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_NameCallback__ +#define __javax_security_auth_callback_NameCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class NameCallback; + } + } + } + } +} + +class javax::security::auth::callback::NameCallback : public ::java::lang::Object +{ + +public: + NameCallback(::java::lang::String *); + NameCallback(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getPrompt(); + virtual ::java::lang::String * getDefaultName(); + virtual void setName(::java::lang::String *); + virtual ::java::lang::String * getName(); +private: + void setPrompt(::java::lang::String *); + void setDefaultName(::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prompt; + ::java::lang::String * defaultName; + ::java::lang::String * inputName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_NameCallback__ diff --git a/libjava/javax/security/auth/callback/PasswordCallback.h b/libjava/javax/security/auth/callback/PasswordCallback.h new file mode 100644 index 00000000000..2055b7cc65e --- /dev/null +++ b/libjava/javax/security/auth/callback/PasswordCallback.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_PasswordCallback__ +#define __javax_security_auth_callback_PasswordCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class PasswordCallback; + } + } + } + } +} + +class javax::security::auth::callback::PasswordCallback : public ::java::lang::Object +{ + +public: + PasswordCallback(::java::lang::String *, jboolean); + virtual ::java::lang::String * getPrompt(); + virtual jboolean isEchoOn(); + virtual void setPassword(JArray< jchar > *); + virtual JArray< jchar > * getPassword(); + virtual void clearPassword(); +private: + void setPrompt(::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prompt; + jboolean echoOn; + JArray< jchar > * inputPassword; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_PasswordCallback__ diff --git a/libjava/javax/security/auth/callback/TextInputCallback.h b/libjava/javax/security/auth/callback/TextInputCallback.h new file mode 100644 index 00000000000..bf85c3544db --- /dev/null +++ b/libjava/javax/security/auth/callback/TextInputCallback.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_TextInputCallback__ +#define __javax_security_auth_callback_TextInputCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class TextInputCallback; + } + } + } + } +} + +class javax::security::auth::callback::TextInputCallback : public ::java::lang::Object +{ + +public: + TextInputCallback(::java::lang::String *); + TextInputCallback(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getPrompt(); + virtual ::java::lang::String * getDefaultText(); + virtual void setText(::java::lang::String *); + virtual ::java::lang::String * getText(); +private: + void setPrompt(::java::lang::String *); + void setDefaultText(::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prompt; + ::java::lang::String * defaultText; + ::java::lang::String * inputText; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_TextInputCallback__ diff --git a/libjava/javax/security/auth/callback/TextOutputCallback.h b/libjava/javax/security/auth/callback/TextOutputCallback.h new file mode 100644 index 00000000000..048e8cf83e2 --- /dev/null +++ b/libjava/javax/security/auth/callback/TextOutputCallback.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_TextOutputCallback__ +#define __javax_security_auth_callback_TextOutputCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class TextOutputCallback; + } + } + } + } +} + +class javax::security::auth::callback::TextOutputCallback : public ::java::lang::Object +{ + +public: + TextOutputCallback(jint, ::java::lang::String *); + virtual jint getMessageType(); + virtual ::java::lang::String * getMessage(); +private: + void setMessage(::java::lang::String *); +public: + static const jint INFORMATION = 0; + static const jint WARNING = 1; + static const jint ERROR = 2; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) messageType; + ::java::lang::String * message; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_TextOutputCallback__ diff --git a/libjava/javax/security/auth/callback/UnsupportedCallbackException.h b/libjava/javax/security/auth/callback/UnsupportedCallbackException.h new file mode 100644 index 00000000000..ec80fddcb56 --- /dev/null +++ b/libjava/javax/security/auth/callback/UnsupportedCallbackException.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_callback_UnsupportedCallbackException__ +#define __javax_security_auth_callback_UnsupportedCallbackException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class Callback; + class UnsupportedCallbackException; + } + } + } + } +} + +class javax::security::auth::callback::UnsupportedCallbackException : public ::java::lang::Exception +{ + +public: + UnsupportedCallbackException(::javax::security::auth::callback::Callback *); + UnsupportedCallbackException(::javax::security::auth::callback::Callback *, ::java::lang::String *); + virtual ::javax::security::auth::callback::Callback * getCallback(); +private: + ::javax::security::auth::callback::Callback * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) callback; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_callback_UnsupportedCallbackException__ diff --git a/libjava/javax/security/auth/kerberos/DelegationPermission$1.h b/libjava/javax/security/auth/kerberos/DelegationPermission$1.h new file mode 100644 index 00000000000..44aa424bb8e --- /dev/null +++ b/libjava/javax/security/auth/kerberos/DelegationPermission$1.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_DelegationPermission$1__ +#define __javax_security_auth_kerberos_DelegationPermission$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class DelegationPermission; + class DelegationPermission$1; + } + } + } + } +} + +class javax::security::auth::kerberos::DelegationPermission$1 : public ::java::security::PermissionCollection +{ + +public: // actually package-private + DelegationPermission$1(::javax::security::auth::kerberos::DelegationPermission *); +public: + void add(::java::security::Permission *); + jboolean implies(::java::security::Permission *); + ::java::util::Enumeration * elements(); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions; +public: // actually package-private + ::javax::security::auth::kerberos::DelegationPermission * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_DelegationPermission$1__ diff --git a/libjava/javax/security/auth/kerberos/DelegationPermission.h b/libjava/javax/security/auth/kerberos/DelegationPermission.h new file mode 100644 index 00000000000..2b89ad70095 --- /dev/null +++ b/libjava/javax/security/auth/kerberos/DelegationPermission.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_DelegationPermission__ +#define __javax_security_auth_kerberos_DelegationPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class DelegationPermission; + } + } + } + } +} + +class javax::security::auth::kerberos::DelegationPermission : public ::java::security::BasicPermission +{ + +public: + DelegationPermission(::java::lang::String *); + DelegationPermission(::java::lang::String *, ::java::lang::String *); +private: + static void checkSyntax(::java::lang::String *); +public: + jboolean implies(::java::security::Permission *); + ::java::security::PermissionCollection * newPermissionCollection(); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_DelegationPermission__ diff --git a/libjava/javax/security/auth/kerberos/KerberosKey.h b/libjava/javax/security/auth/kerberos/KerberosKey.h new file mode 100644 index 00000000000..ed0e93f2910 --- /dev/null +++ b/libjava/javax/security/auth/kerberos/KerberosKey.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_KerberosKey__ +#define __javax_security_auth_kerberos_KerberosKey__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class KerberosKey; + class KerberosPrincipal; + class KeyImpl; + } + } + } + } +} + +class javax::security::auth::kerberos::KerberosKey : public ::java::lang::Object +{ + +public: + KerberosKey(::javax::security::auth::kerberos::KerberosPrincipal *, JArray< jbyte > *, jint, jint); + KerberosKey(::javax::security::auth::kerberos::KerberosPrincipal *, JArray< jchar > *, ::java::lang::String *); + virtual ::java::lang::String * getAlgorithm(); + virtual ::java::lang::String * getFormat(); + virtual ::javax::security::auth::kerberos::KerberosPrincipal * getPrincipal(); + virtual jint getKeyType(); + virtual jint getVersionNumber(); + virtual JArray< jbyte > * getEncoded(); + virtual void destroy(); + virtual jboolean isDestroyed(); +private: + void checkDestroyed(); +public: + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -4625402278148246993LL; + ::javax::security::auth::kerberos::KerberosPrincipal * __attribute__((aligned(__alignof__( ::java::lang::Object)))) principal; + jint versionNum; + ::javax::security::auth::kerberos::KeyImpl * key; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_KerberosKey__ diff --git a/libjava/javax/security/auth/kerberos/KerberosPrincipal.h b/libjava/javax/security/auth/kerberos/KerberosPrincipal.h new file mode 100644 index 00000000000..c945a5620e3 --- /dev/null +++ b/libjava/javax/security/auth/kerberos/KerberosPrincipal.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_KerberosPrincipal__ +#define __javax_security_auth_kerberos_KerberosPrincipal__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class KerberosPrincipal; + } + } + } + } +} + +class javax::security::auth::kerberos::KerberosPrincipal : public ::java::lang::Object +{ + +public: + KerberosPrincipal(::java::lang::String *); + KerberosPrincipal(::java::lang::String *, jint); +private: + ::java::lang::String * parseRealm(); +public: + ::java::lang::String * getName(); + ::java::lang::String * getRealm(); + jint getNameType(); + jint hashCode(); + jboolean equals(::java::lang::Object *); + ::java::lang::String * toString(); + static const jint KRB_NT_PRINCIPAL = 1; + static const jint KRB_NT_SRV_HST = 3; + static const jint KRB_NT_SRV_INST = 2; + static const jint KRB_NT_SRV_XHST = 4; + static const jint KRB_NT_UID = 5; + static const jint KRB_NT_UNKNOWN = 0; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jint type; + ::java::lang::String * realm; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_KerberosPrincipal__ diff --git a/libjava/javax/security/auth/kerberos/KerberosTicket.h b/libjava/javax/security/auth/kerberos/KerberosTicket.h new file mode 100644 index 00000000000..44c35b4c78d --- /dev/null +++ b/libjava/javax/security/auth/kerberos/KerberosTicket.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_KerberosTicket__ +#define __javax_security_auth_kerberos_KerberosTicket__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + } + } + namespace javax + { + namespace crypto + { + class SecretKey; + } + namespace security + { + namespace auth + { + namespace kerberos + { + class KerberosPrincipal; + class KerberosTicket; + class KeyImpl; + } + } + } + } +} + +class javax::security::auth::kerberos::KerberosTicket : public ::java::lang::Object +{ + +public: + KerberosTicket(JArray< jbyte > *, ::javax::security::auth::kerberos::KerberosPrincipal *, ::javax::security::auth::kerberos::KerberosPrincipal *, JArray< jbyte > *, jint, JArray< jboolean > *, ::java::util::Date *, ::java::util::Date *, ::java::util::Date *, ::java::util::Date *, JArray< ::java::net::InetAddress * > *); + virtual void destroy(); + virtual jboolean isDestroyed(); + virtual jboolean isCurrent(); + virtual void refresh(); + virtual ::javax::security::auth::kerberos::KerberosPrincipal * getClient(); + virtual ::javax::security::auth::kerberos::KerberosPrincipal * getServer(); + virtual jboolean isForwardable(); + virtual jboolean isForwarded(); + virtual jboolean isProxiable(); + virtual jboolean isProxy(); + virtual jboolean isPostdated(); + virtual jboolean isRenewable(); + virtual jboolean isInitial(); + virtual JArray< jboolean > * getFlags(); + virtual ::java::util::Date * getAuthTime(); + virtual ::java::util::Date * getStartTime(); + virtual ::java::util::Date * getEndTime(); + virtual ::java::util::Date * getRenewTill(); + virtual JArray< ::java::net::InetAddress * > * getClientAddresses(); + virtual JArray< jbyte > * getEncoded(); + virtual ::javax::crypto::SecretKey * getSessionKey(); +private: + void checkDestroyed(); +public: + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 7395334370157380539LL; + static const jint FORWARDABLE = 1; + static const jint FORWARDED = 2; + static const jint PROXIABLE = 3; + static const jint PROXY = 4; + static const jint POSTDATED = 6; + static const jint RENEWABLE = 8; + static const jint INITIAL = 9; + static const jint NUM_FLAGS = 12; + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) asn1Encoding; + ::javax::security::auth::kerberos::KeyImpl * sessionKey; + JArray< jboolean > * flags; + ::java::util::Date * authTime; + ::java::util::Date * startTime; + ::java::util::Date * endTime; + ::java::util::Date * renewTill; + ::javax::security::auth::kerberos::KerberosPrincipal * client; + ::javax::security::auth::kerberos::KerberosPrincipal * server; + JArray< ::java::net::InetAddress * > * clientAddresses; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_KerberosTicket__ diff --git a/libjava/javax/security/auth/kerberos/KeyImpl.h b/libjava/javax/security/auth/kerberos/KeyImpl.h new file mode 100644 index 00000000000..39998ba2219 --- /dev/null +++ b/libjava/javax/security/auth/kerberos/KeyImpl.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_KeyImpl__ +#define __javax_security_auth_kerberos_KeyImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class KeyImpl; + } + } + } + } +} + +class javax::security::auth::kerberos::KeyImpl : public ::java::lang::Object +{ + +public: + KeyImpl(JArray< jbyte > *, jint); + KeyImpl(JArray< jchar > *, ::java::lang::String *); + ::java::lang::String * getAlgorithm(); + JArray< jbyte > * getEncoded(); + ::java::lang::String * getFormat(); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) algorithm; + jint type; + JArray< jbyte > * key; + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_KeyImpl__ diff --git a/libjava/javax/security/auth/kerberos/ServicePermission$1.h b/libjava/javax/security/auth/kerberos/ServicePermission$1.h new file mode 100644 index 00000000000..4a11e5faa79 --- /dev/null +++ b/libjava/javax/security/auth/kerberos/ServicePermission$1.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_ServicePermission$1__ +#define __javax_security_auth_kerberos_ServicePermission$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class ServicePermission; + class ServicePermission$1; + } + } + } + } +} + +class javax::security::auth::kerberos::ServicePermission$1 : public ::java::security::PermissionCollection +{ + +public: // actually package-private + ServicePermission$1(::javax::security::auth::kerberos::ServicePermission *); +public: + void add(::java::security::Permission *); + jboolean implies(::java::security::Permission *); + ::java::util::Enumeration * elements(); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions; +public: // actually package-private + ::javax::security::auth::kerberos::ServicePermission * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_ServicePermission$1__ diff --git a/libjava/javax/security/auth/kerberos/ServicePermission.h b/libjava/javax/security/auth/kerberos/ServicePermission.h new file mode 100644 index 00000000000..0abca5189dd --- /dev/null +++ b/libjava/javax/security/auth/kerberos/ServicePermission.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_kerberos_ServicePermission__ +#define __javax_security_auth_kerberos_ServicePermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class Permission; + class PermissionCollection; + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace kerberos + { + class ServicePermission; + } + } + } + } +} + +class javax::security::auth::kerberos::ServicePermission : public ::java::security::Permission +{ + +public: + ServicePermission(::java::lang::String *, ::java::lang::String *); + jboolean implies(::java::security::Permission *); + jboolean equals(::java::lang::Object *); + jint hashCode(); + ::java::lang::String * getActions(); + ::java::security::PermissionCollection * newPermissionCollection(); +private: + void parseActions(::java::lang::String *); + static const jint INITIATE = 1; + static const jint ACCEPT = 2; + jint __attribute__((aligned(__alignof__( ::java::security::Permission)))) flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_kerberos_ServicePermission__ diff --git a/libjava/javax/security/auth/login/AccountException.h b/libjava/javax/security/auth/login/AccountException.h new file mode 100644 index 00000000000..1ee7718694f --- /dev/null +++ b/libjava/javax/security/auth/login/AccountException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_AccountException__ +#define __javax_security_auth_login_AccountException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AccountException; + } + } + } + } +} + +class javax::security::auth::login::AccountException : public ::javax::security::auth::login::LoginException +{ + +public: + AccountException(); + AccountException(::java::lang::String *); +private: + static const jlong serialVersionUID = -2112878680072211787LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_AccountException__ diff --git a/libjava/javax/security/auth/login/AccountExpiredException.h b/libjava/javax/security/auth/login/AccountExpiredException.h new file mode 100644 index 00000000000..76c92144244 --- /dev/null +++ b/libjava/javax/security/auth/login/AccountExpiredException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_AccountExpiredException__ +#define __javax_security_auth_login_AccountExpiredException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AccountExpiredException; + } + } + } + } +} + +class javax::security::auth::login::AccountExpiredException : public ::javax::security::auth::login::AccountException +{ + +public: + AccountExpiredException(); + AccountExpiredException(::java::lang::String *); +private: + static const jlong serialVersionUID = -6064064890162661560LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_AccountExpiredException__ diff --git a/libjava/javax/security/auth/login/AccountLockedException.h b/libjava/javax/security/auth/login/AccountLockedException.h new file mode 100644 index 00000000000..e2d8a53df85 --- /dev/null +++ b/libjava/javax/security/auth/login/AccountLockedException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_AccountLockedException__ +#define __javax_security_auth_login_AccountLockedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AccountLockedException; + } + } + } + } +} + +class javax::security::auth::login::AccountLockedException : public ::javax::security::auth::login::AccountException +{ + +public: + AccountLockedException(); + AccountLockedException(::java::lang::String *); +private: + static const jlong serialVersionUID = 8280345554014066334LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_AccountLockedException__ diff --git a/libjava/javax/security/auth/login/AccountNotFoundException.h b/libjava/javax/security/auth/login/AccountNotFoundException.h new file mode 100644 index 00000000000..e258fa0ea9a --- /dev/null +++ b/libjava/javax/security/auth/login/AccountNotFoundException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_AccountNotFoundException__ +#define __javax_security_auth_login_AccountNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AccountNotFoundException; + } + } + } + } +} + +class javax::security::auth::login::AccountNotFoundException : public ::javax::security::auth::login::AccountException +{ + +public: + AccountNotFoundException(); + AccountNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = 1498349563916294614LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_AccountNotFoundException__ diff --git a/libjava/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.h b/libjava/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.h new file mode 100644 index 00000000000..b5ddbece94b --- /dev/null +++ b/libjava/javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_AppConfigurationEntry$LoginModuleControlFlag__ +#define __javax_security_auth_login_AppConfigurationEntry$LoginModuleControlFlag__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AppConfigurationEntry$LoginModuleControlFlag; + } + } + } + } +} + +class javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag : public ::java::lang::Object +{ + + AppConfigurationEntry$LoginModuleControlFlag(); +public: + virtual ::java::lang::String * toString(); + static ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag * OPTIONAL; + static ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag * REQUIRED; + static ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag * REQUISITE; + static ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag * SUFFICIENT; + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_AppConfigurationEntry$LoginModuleControlFlag__ diff --git a/libjava/javax/security/auth/login/AppConfigurationEntry.h b/libjava/javax/security/auth/login/AppConfigurationEntry.h new file mode 100644 index 00000000000..8ca23b3e301 --- /dev/null +++ b/libjava/javax/security/auth/login/AppConfigurationEntry.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_AppConfigurationEntry__ +#define __javax_security_auth_login_AppConfigurationEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AppConfigurationEntry; + class AppConfigurationEntry$LoginModuleControlFlag; + } + } + } + } +} + +class javax::security::auth::login::AppConfigurationEntry : public ::java::lang::Object +{ + +public: + AppConfigurationEntry(::java::lang::String *, ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag *, ::java::util::Map *); + virtual ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag * getControlFlag(); + virtual ::java::lang::String * getLoginModuleName(); + virtual ::java::util::Map * getOptions(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loginModuleName; + ::javax::security::auth::login::AppConfigurationEntry$LoginModuleControlFlag * controlFlag; + ::java::util::Map * options; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_AppConfigurationEntry__ diff --git a/libjava/javax/security/auth/login/Configuration$1.h b/libjava/javax/security/auth/login/Configuration$1.h new file mode 100644 index 00000000000..e91c8a4d342 --- /dev/null +++ b/libjava/javax/security/auth/login/Configuration$1.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_Configuration$1__ +#define __javax_security_auth_login_Configuration$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class Configuration$1; + } + } + } + } +} + +class javax::security::auth::login::Configuration$1 : public ::java::lang::Object +{ + +public: // actually package-private + Configuration$1(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_Configuration$1__ diff --git a/libjava/javax/security/auth/login/Configuration.h b/libjava/javax/security/auth/login/Configuration.h new file mode 100644 index 00000000000..1da5bf7130c --- /dev/null +++ b/libjava/javax/security/auth/login/Configuration.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_Configuration__ +#define __javax_security_auth_login_Configuration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AppConfigurationEntry; + class Configuration; + } + } + } + } +} + +class javax::security::auth::login::Configuration : public ::java::lang::Object +{ + +public: // actually protected + Configuration(); +public: + static ::javax::security::auth::login::Configuration * getConfiguration(); + static void setConfiguration(::javax::security::auth::login::Configuration *); + virtual JArray< ::javax::security::auth::login::AppConfigurationEntry * > * getAppConfigurationEntry(::java::lang::String *) = 0; + virtual void refresh() = 0; +public: // actually package-private + static ::javax::security::auth::login::Configuration * getConfig(); +private: + static ::javax::security::auth::login::Configuration * config; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_Configuration__ diff --git a/libjava/javax/security/auth/login/CredentialException.h b/libjava/javax/security/auth/login/CredentialException.h new file mode 100644 index 00000000000..87b0c068397 --- /dev/null +++ b/libjava/javax/security/auth/login/CredentialException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_CredentialException__ +#define __javax_security_auth_login_CredentialException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class CredentialException; + } + } + } + } +} + +class javax::security::auth::login::CredentialException : public ::javax::security::auth::login::LoginException +{ + +public: + CredentialException(); + CredentialException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4772893876810601859LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_CredentialException__ diff --git a/libjava/javax/security/auth/login/CredentialExpiredException.h b/libjava/javax/security/auth/login/CredentialExpiredException.h new file mode 100644 index 00000000000..a10aefa13bd --- /dev/null +++ b/libjava/javax/security/auth/login/CredentialExpiredException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_CredentialExpiredException__ +#define __javax_security_auth_login_CredentialExpiredException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class CredentialExpiredException; + } + } + } + } +} + +class javax::security::auth::login::CredentialExpiredException : public ::javax::security::auth::login::CredentialException +{ + +public: + CredentialExpiredException(); + CredentialExpiredException(::java::lang::String *); +private: + static const jlong serialVersionUID = -5344739593859737937LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_CredentialExpiredException__ diff --git a/libjava/javax/security/auth/login/CredentialNotFoundException.h b/libjava/javax/security/auth/login/CredentialNotFoundException.h new file mode 100644 index 00000000000..c60f3db8de4 --- /dev/null +++ b/libjava/javax/security/auth/login/CredentialNotFoundException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_CredentialNotFoundException__ +#define __javax_security_auth_login_CredentialNotFoundException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class CredentialNotFoundException; + } + } + } + } +} + +class javax::security::auth::login::CredentialNotFoundException : public ::javax::security::auth::login::CredentialException +{ + +public: + CredentialNotFoundException(); + CredentialNotFoundException(::java::lang::String *); +private: + static const jlong serialVersionUID = -7779934467214319475LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_CredentialNotFoundException__ diff --git a/libjava/javax/security/auth/login/FailedLoginException.h b/libjava/javax/security/auth/login/FailedLoginException.h new file mode 100644 index 00000000000..014a472c6d9 --- /dev/null +++ b/libjava/javax/security/auth/login/FailedLoginException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_FailedLoginException__ +#define __javax_security_auth_login_FailedLoginException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class FailedLoginException; + } + } + } + } +} + +class javax::security::auth::login::FailedLoginException : public ::javax::security::auth::login::LoginException +{ + +public: + FailedLoginException(); + FailedLoginException(::java::lang::String *); +private: + static const jlong serialVersionUID = 802556922354616286LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_FailedLoginException__ diff --git a/libjava/javax/security/auth/login/LoginContext.h b/libjava/javax/security/auth/login/LoginContext.h new file mode 100644 index 00000000000..b6d39cd5038 --- /dev/null +++ b/libjava/javax/security/auth/login/LoginContext.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_LoginContext__ +#define __javax_security_auth_login_LoginContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class Subject; + namespace callback + { + class CallbackHandler; + } + namespace login + { + class AppConfigurationEntry; + class Configuration; + class LoginContext; + } + namespace spi + { + class LoginModule; + } + } + } + } +} + +class javax::security::auth::login::LoginContext : public ::java::lang::Object +{ + +public: + LoginContext(::java::lang::String *); + LoginContext(::java::lang::String *, ::javax::security::auth::callback::CallbackHandler *); + LoginContext(::java::lang::String *, ::javax::security::auth::Subject *); + LoginContext(::java::lang::String *, ::javax::security::auth::Subject *, ::javax::security::auth::callback::CallbackHandler *); + LoginContext(::java::lang::String *, ::javax::security::auth::Subject *, ::javax::security::auth::callback::CallbackHandler *, ::javax::security::auth::login::Configuration *); + virtual ::javax::security::auth::Subject * getSubject(); + virtual void login(); + virtual void logout(); +private: + static ::javax::security::auth::callback::CallbackHandler * defaultHandler(); + ::javax::security::auth::spi::LoginModule * lookupModule(::javax::security::auth::login::AppConfigurationEntry *, ::javax::security::auth::Subject *, ::java::util::Map *); + static ::java::lang::String * OTHER; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::javax::security::auth::callback::CallbackHandler * cbHandler; + ::javax::security::auth::Subject * subject; + JArray< ::javax::security::auth::login::AppConfigurationEntry * > * entries; + JArray< ::javax::security::auth::spi::LoginModule * > * modules; + ::java::util::Map * sharedState; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_LoginContext__ diff --git a/libjava/javax/security/auth/login/LoginException.h b/libjava/javax/security/auth/login/LoginException.h new file mode 100644 index 00000000000..e68060db78c --- /dev/null +++ b/libjava/javax/security/auth/login/LoginException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_LoginException__ +#define __javax_security_auth_login_LoginException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class LoginException; + } + } + } + } +} + +class javax::security::auth::login::LoginException : public ::java::security::GeneralSecurityException +{ + +public: + LoginException(); + LoginException(::java::lang::String *); +private: + static const jlong serialVersionUID = -4679091624035232488LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_LoginException__ diff --git a/libjava/javax/security/auth/login/NullConfiguration.h b/libjava/javax/security/auth/login/NullConfiguration.h new file mode 100644 index 00000000000..5d73d7ff33f --- /dev/null +++ b/libjava/javax/security/auth/login/NullConfiguration.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_login_NullConfiguration__ +#define __javax_security_auth_login_NullConfiguration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace login + { + class AppConfigurationEntry; + class NullConfiguration; + } + } + } + } +} + +class javax::security::auth::login::NullConfiguration : public ::javax::security::auth::login::Configuration +{ + +public: // actually package-private + NullConfiguration(); +public: + JArray< ::javax::security::auth::login::AppConfigurationEntry * > * getAppConfigurationEntry(::java::lang::String *); + void refresh(); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_login_NullConfiguration__ diff --git a/libjava/javax/security/auth/spi/LoginModule.h b/libjava/javax/security/auth/spi/LoginModule.h new file mode 100644 index 00000000000..413c684f0e7 --- /dev/null +++ b/libjava/javax/security/auth/spi/LoginModule.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_spi_LoginModule__ +#define __javax_security_auth_spi_LoginModule__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + class Subject; + namespace callback + { + class CallbackHandler; + } + namespace spi + { + class LoginModule; + } + } + } + } +} + +class javax::security::auth::spi::LoginModule : public ::java::lang::Object +{ + +public: + virtual jboolean abort() = 0; + virtual jboolean commit() = 0; + virtual void initialize(::javax::security::auth::Subject *, ::javax::security::auth::callback::CallbackHandler *, ::java::util::Map *, ::java::util::Map *) = 0; + virtual jboolean login() = 0; + virtual jboolean logout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_auth_spi_LoginModule__ diff --git a/libjava/javax/security/auth/x500/X500Principal.h b/libjava/javax/security/auth/x500/X500Principal.h new file mode 100644 index 00000000000..75cdb05e7ef --- /dev/null +++ b/libjava/javax/security/auth/x500/X500Principal.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_x500_X500Principal__ +#define __javax_security_auth_x500_X500Principal__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace java + { + namespace security + { + class OID; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500Principal; + } + } + } + } +} + +class javax::security::auth::x500::X500Principal : public ::java::lang::Object +{ + + X500Principal(); +public: + X500Principal(::java::lang::String *); + X500Principal(JArray< jbyte > *); + X500Principal(::java::io::InputStream *); + jint hashCode(); + jboolean equals(::java::lang::Object *); + JArray< jbyte > * getEncoded(); + ::java::lang::String * getName(); + ::java::lang::String * getName(::java::lang::String *); + ::java::lang::String * toString(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + jint size(); + ::java::lang::String * getComponent(::gnu::java::security::OID *, jint); + void encodeDer(); + void parseString(::java::lang::String *); + ::java::lang::String * readAttributeType(::java::io::Reader *); + ::java::lang::String * readAttributeValue(::java::io::Reader *); + void parseDer(::java::io::InputStream *); + void newRelativeDistinguishedName(); + void putComponent(::gnu::java::security::OID *, ::java::lang::String *); + void putComponent(::java::lang::String *, ::java::lang::String *); + static ::java::lang::String * compressWS(::java::lang::String *); + static JArray< jbyte > * toByteArray(::java::lang::String *); + static const jlong serialVersionUID = -500463348111345721LL; +public: + static ::java::lang::String * CANONICAL; + static ::java::lang::String * RFC1779; + static ::java::lang::String * RFC2253; +private: + static ::gnu::java::security::OID * CN; + static ::gnu::java::security::OID * C; + static ::gnu::java::security::OID * L; + static ::gnu::java::security::OID * ST; + static ::gnu::java::security::OID * STREET; + static ::gnu::java::security::OID * O; + static ::gnu::java::security::OID * OU; + static ::gnu::java::security::OID * DC; + static ::gnu::java::security::OID * UID; + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components; + ::java::util::Map * currentRdn; + jboolean fixed; + JArray< jbyte > * encoded; + jint sep; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_x500_X500Principal__ diff --git a/libjava/javax/security/auth/x500/X500PrivateCredential.h b/libjava/javax/security/auth/x500/X500PrivateCredential.h new file mode 100644 index 00000000000..27ee30e4a0f --- /dev/null +++ b/libjava/javax/security/auth/x500/X500PrivateCredential.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_auth_x500_X500PrivateCredential__ +#define __javax_security_auth_x500_X500PrivateCredential__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace security + { + class PrivateKey; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace security + { + namespace auth + { + namespace x500 + { + class X500PrivateCredential; + } + } + } + } +} + +class javax::security::auth::x500::X500PrivateCredential : public ::java::lang::Object +{ + +public: + X500PrivateCredential(::java::security::cert::X509Certificate *, ::java::security::PrivateKey *); + X500PrivateCredential(::java::security::cert::X509Certificate *, ::java::security::PrivateKey *, ::java::lang::String *); + ::java::security::cert::X509Certificate * getCertificate(); + ::java::security::PrivateKey * getPrivateKey(); + ::java::lang::String * getAlias(); + void destroy(); + jboolean isDestroyed(); +private: + ::java::security::PrivateKey * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::security::cert::X509Certificate * certificate; + ::java::lang::String * alias; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_auth_x500_X500PrivateCredential__ diff --git a/libjava/javax/security/cert/Certificate.h b/libjava/javax/security/cert/Certificate.h new file mode 100644 index 00000000000..1417a9ae2c6 --- /dev/null +++ b/libjava/javax/security/cert/Certificate.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_Certificate__ +#define __javax_security_cert_Certificate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class PublicKey; + } + } + namespace javax + { + namespace security + { + namespace cert + { + class Certificate; + } + } + } +} + +class javax::security::cert::Certificate : public ::java::lang::Object +{ + +public: + Certificate(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual JArray< jbyte > * getEncoded() = 0; + virtual void verify(::java::security::PublicKey *) = 0; + virtual void verify(::java::security::PublicKey *, ::java::lang::String *) = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::java::security::PublicKey * getPublicKey() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_Certificate__ diff --git a/libjava/javax/security/cert/CertificateEncodingException.h b/libjava/javax/security/cert/CertificateEncodingException.h new file mode 100644 index 00000000000..d9f102e63cc --- /dev/null +++ b/libjava/javax/security/cert/CertificateEncodingException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_CertificateEncodingException__ +#define __javax_security_cert_CertificateEncodingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace cert + { + class CertificateEncodingException; + } + } + } +} + +class javax::security::cert::CertificateEncodingException : public ::javax::security::cert::CertificateException +{ + +public: + CertificateEncodingException(); + CertificateEncodingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_CertificateEncodingException__ diff --git a/libjava/javax/security/cert/CertificateException.h b/libjava/javax/security/cert/CertificateException.h new file mode 100644 index 00000000000..259c5fb0f97 --- /dev/null +++ b/libjava/javax/security/cert/CertificateException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_CertificateException__ +#define __javax_security_cert_CertificateException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace cert + { + class CertificateException; + } + } + } +} + +class javax::security::cert::CertificateException : public ::java::lang::Exception +{ + +public: + CertificateException(); + CertificateException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_CertificateException__ diff --git a/libjava/javax/security/cert/CertificateExpiredException.h b/libjava/javax/security/cert/CertificateExpiredException.h new file mode 100644 index 00000000000..c8260988d4e --- /dev/null +++ b/libjava/javax/security/cert/CertificateExpiredException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_CertificateExpiredException__ +#define __javax_security_cert_CertificateExpiredException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace cert + { + class CertificateExpiredException; + } + } + } +} + +class javax::security::cert::CertificateExpiredException : public ::javax::security::cert::CertificateException +{ + +public: + CertificateExpiredException(); + CertificateExpiredException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_CertificateExpiredException__ diff --git a/libjava/javax/security/cert/CertificateNotYetValidException.h b/libjava/javax/security/cert/CertificateNotYetValidException.h new file mode 100644 index 00000000000..6b840c51e3b --- /dev/null +++ b/libjava/javax/security/cert/CertificateNotYetValidException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_CertificateNotYetValidException__ +#define __javax_security_cert_CertificateNotYetValidException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace cert + { + class CertificateNotYetValidException; + } + } + } +} + +class javax::security::cert::CertificateNotYetValidException : public ::javax::security::cert::CertificateException +{ + +public: + CertificateNotYetValidException(); + CertificateNotYetValidException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_CertificateNotYetValidException__ diff --git a/libjava/javax/security/cert/CertificateParsingException.h b/libjava/javax/security/cert/CertificateParsingException.h new file mode 100644 index 00000000000..e55a28405c1 --- /dev/null +++ b/libjava/javax/security/cert/CertificateParsingException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_CertificateParsingException__ +#define __javax_security_cert_CertificateParsingException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace cert + { + class CertificateParsingException; + } + } + } +} + +class javax::security::cert::CertificateParsingException : public ::javax::security::cert::CertificateException +{ + +public: + CertificateParsingException(); + CertificateParsingException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_CertificateParsingException__ diff --git a/libjava/javax/security/cert/X509CertBridge.h b/libjava/javax/security/cert/X509CertBridge.h new file mode 100644 index 00000000000..be6a18f15df --- /dev/null +++ b/libjava/javax/security/cert/X509CertBridge.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_X509CertBridge__ +#define __javax_security_cert_X509CertBridge__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Principal; + class PublicKey; + namespace cert + { + class X509Certificate; + } + } + } + namespace javax + { + namespace security + { + namespace cert + { + class X509CertBridge; + } + } + } +} + +class javax::security::cert::X509CertBridge : public ::javax::security::cert::X509Certificate +{ + +public: // actually package-private + X509CertBridge(::java::security::cert::X509Certificate *); +public: + JArray< jbyte > * getEncoded(); + void verify(::java::security::PublicKey *); + void verify(::java::security::PublicKey *, ::java::lang::String *); + ::java::lang::String * toString(); + ::java::security::PublicKey * getPublicKey(); + void checkValidity(); + void checkValidity(::java::util::Date *); + jint getVersion(); + ::java::math::BigInteger * getSerialNumber(); + ::java::security::Principal * getIssuerDN(); + ::java::security::Principal * getSubjectDN(); + ::java::util::Date * getNotBefore(); + ::java::util::Date * getNotAfter(); + ::java::lang::String * getSigAlgName(); + ::java::lang::String * getSigAlgOID(); + JArray< jbyte > * getSigAlgParams(); +private: + ::java::security::cert::X509Certificate * __attribute__((aligned(__alignof__( ::javax::security::cert::X509Certificate)))) cert; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_X509CertBridge__ diff --git a/libjava/javax/security/cert/X509Certificate.h b/libjava/javax/security/cert/X509Certificate.h new file mode 100644 index 00000000000..8d1cda6c6b9 --- /dev/null +++ b/libjava/javax/security/cert/X509Certificate.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_cert_X509Certificate__ +#define __javax_security_cert_X509Certificate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigInteger; + } + namespace security + { + class Principal; + } + } + namespace javax + { + namespace security + { + namespace cert + { + class X509Certificate; + } + } + } +} + +class javax::security::cert::X509Certificate : public ::javax::security::cert::Certificate +{ + +public: + X509Certificate(); + static ::javax::security::cert::X509Certificate * getInstance(JArray< jbyte > *); + static ::javax::security::cert::X509Certificate * getInstance(::java::io::InputStream *); + virtual void checkValidity() = 0; + virtual void checkValidity(::java::util::Date *) = 0; + virtual jint getVersion() = 0; + virtual ::java::math::BigInteger * getSerialNumber() = 0; + virtual ::java::security::Principal * getIssuerDN() = 0; + virtual ::java::security::Principal * getSubjectDN() = 0; + virtual ::java::util::Date * getNotBefore() = 0; + virtual ::java::util::Date * getNotAfter() = 0; + virtual ::java::lang::String * getSigAlgName() = 0; + virtual ::java::lang::String * getSigAlgOID() = 0; + virtual JArray< jbyte > * getSigAlgParams() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_security_cert_X509Certificate__ diff --git a/libjava/javax/security/sasl/AuthenticationException.h b/libjava/javax/security/sasl/AuthenticationException.h new file mode 100644 index 00000000000..1ab4491acae --- /dev/null +++ b/libjava/javax/security/sasl/AuthenticationException.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_AuthenticationException__ +#define __javax_security_sasl_AuthenticationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class AuthenticationException; + } + } + } +} + +class javax::security::sasl::AuthenticationException : public ::javax::security::sasl::SaslException +{ + +public: + AuthenticationException(); + AuthenticationException(::java::lang::String *); + AuthenticationException(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_sasl_AuthenticationException__ diff --git a/libjava/javax/security/sasl/AuthorizeCallback.h b/libjava/javax/security/sasl/AuthorizeCallback.h new file mode 100644 index 00000000000..3ae14bdb4ef --- /dev/null +++ b/libjava/javax/security/sasl/AuthorizeCallback.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_AuthorizeCallback__ +#define __javax_security_sasl_AuthorizeCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class AuthorizeCallback; + } + } + } +} + +class javax::security::sasl::AuthorizeCallback : public ::java::lang::Object +{ + +public: + AuthorizeCallback(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getAuthenticationID(); + virtual ::java::lang::String * getAuthorizationID(); + virtual jboolean isAuthorized(); + virtual void setAuthorized(jboolean); + virtual ::java::lang::String * getAuthorizedID(); + virtual void setAuthorizedID(::java::lang::String *); +private: + static const jlong serialVersionUID = -2353344186490470805LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) authenticationID; + ::java::lang::String * authorizationID; + ::java::lang::String * authorizedID; + jboolean authorized; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_sasl_AuthorizeCallback__ diff --git a/libjava/javax/security/sasl/RealmCallback.h b/libjava/javax/security/sasl/RealmCallback.h new file mode 100644 index 00000000000..17dff32907e --- /dev/null +++ b/libjava/javax/security/sasl/RealmCallback.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_RealmCallback__ +#define __javax_security_sasl_RealmCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class RealmCallback; + } + } + } +} + +class javax::security::sasl::RealmCallback : public ::javax::security::auth::callback::TextInputCallback +{ + +public: + RealmCallback(::java::lang::String *); + RealmCallback(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_sasl_RealmCallback__ diff --git a/libjava/javax/security/sasl/RealmChoiceCallback.h b/libjava/javax/security/sasl/RealmChoiceCallback.h new file mode 100644 index 00000000000..c1ec2a20e39 --- /dev/null +++ b/libjava/javax/security/sasl/RealmChoiceCallback.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_RealmChoiceCallback__ +#define __javax_security_sasl_RealmChoiceCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class RealmChoiceCallback; + } + } + } +} + +class javax::security::sasl::RealmChoiceCallback : public ::javax::security::auth::callback::ChoiceCallback +{ + +public: + RealmChoiceCallback(::java::lang::String *, JArray< ::java::lang::String * > *, jint, jboolean); + static ::java::lang::Class class$; +}; + +#endif // __javax_security_sasl_RealmChoiceCallback__ diff --git a/libjava/javax/security/sasl/Sasl.h b/libjava/javax/security/sasl/Sasl.h new file mode 100644 index 00000000000..16a0cf23d94 --- /dev/null +++ b/libjava/javax/security/sasl/Sasl.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_Sasl__ +#define __javax_security_sasl_Sasl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + namespace sasl + { + class Sasl; + class SaslClient; + class SaslServer; + } + } + } +} + +class javax::security::sasl::Sasl : public ::java::lang::Object +{ + + Sasl(); +public: + static ::javax::security::sasl::SaslClient * createSaslClient(JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *); + static ::java::util::Enumeration * getSaslClientFactories(); + static ::javax::security::sasl::SaslServer * createSaslServer(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *); + static ::java::util::Enumeration * getSaslServerFactories(); + static ::java::lang::String * QOP; + static ::java::lang::String * STRENGTH; + static ::java::lang::String * SERVER_AUTH; + static ::java::lang::String * MAX_BUFFER; + static ::java::lang::String * RAW_SEND_SIZE; + static ::java::lang::String * POLICY_NOPLAINTEXT; + static ::java::lang::String * POLICY_NOACTIVE; + static ::java::lang::String * POLICY_NODICTIONARY; + static ::java::lang::String * POLICY_NOANONYMOUS; + static ::java::lang::String * POLICY_FORWARD_SECRECY; + static ::java::lang::String * POLICY_PASS_CREDENTIALS; + static ::java::lang::String * REUSE; +private: + static ::java::lang::String * CLIENT_FACTORY_SVC; + static ::java::lang::String * SERVER_FACTORY_SVC; + static ::java::lang::String * ALIAS; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_sasl_Sasl__ diff --git a/libjava/javax/security/sasl/SaslClient.h b/libjava/javax/security/sasl/SaslClient.h new file mode 100644 index 00000000000..cad1cdaa8f6 --- /dev/null +++ b/libjava/javax/security/sasl/SaslClient.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_SaslClient__ +#define __javax_security_sasl_SaslClient__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class SaslClient; + } + } + } +} + +class javax::security::sasl::SaslClient : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getMechanismName() = 0; + virtual jboolean hasInitialResponse() = 0; + virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *) = 0; + virtual jboolean isComplete() = 0; + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint) = 0; + virtual ::java::lang::Object * getNegotiatedProperty(::java::lang::String *) = 0; + virtual void dispose() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_sasl_SaslClient__ diff --git a/libjava/javax/security/sasl/SaslClientFactory.h b/libjava/javax/security/sasl/SaslClientFactory.h new file mode 100644 index 00000000000..ab603a104af --- /dev/null +++ b/libjava/javax/security/sasl/SaslClientFactory.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_SaslClientFactory__ +#define __javax_security_sasl_SaslClientFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + namespace sasl + { + class SaslClient; + class SaslClientFactory; + } + } + } +} + +class javax::security::sasl::SaslClientFactory : public ::java::lang::Object +{ + +public: + virtual ::javax::security::sasl::SaslClient * createSaslClient(JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *) = 0; + virtual JArray< ::java::lang::String * > * getMechanismNames(::java::util::Map *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_sasl_SaslClientFactory__ diff --git a/libjava/javax/security/sasl/SaslException.h b/libjava/javax/security/sasl/SaslException.h new file mode 100644 index 00000000000..9cfd9fce38b --- /dev/null +++ b/libjava/javax/security/sasl/SaslException.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_SaslException__ +#define __javax_security_sasl_SaslException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class SaslException; + } + } + } +} + +class javax::security::sasl::SaslException : public ::java::io::IOException +{ + +public: + SaslException(); + SaslException(::java::lang::String *); + SaslException(::java::lang::String *, ::java::lang::Throwable *); + virtual ::java::lang::Throwable * getCause(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 4579784287983423626LL; + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::io::IOException)))) _exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_security_sasl_SaslException__ diff --git a/libjava/javax/security/sasl/SaslServer.h b/libjava/javax/security/sasl/SaslServer.h new file mode 100644 index 00000000000..d1f6a89c6ce --- /dev/null +++ b/libjava/javax/security/sasl/SaslServer.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_SaslServer__ +#define __javax_security_sasl_SaslServer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace sasl + { + class SaslServer; + } + } + } +} + +class javax::security::sasl::SaslServer : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getMechanismName() = 0; + virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *) = 0; + virtual jboolean isComplete() = 0; + virtual ::java::lang::String * getAuthorizationID() = 0; + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint) = 0; + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint) = 0; + virtual ::java::lang::Object * getNegotiatedProperty(::java::lang::String *) = 0; + virtual void dispose() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_sasl_SaslServer__ diff --git a/libjava/javax/security/sasl/SaslServerFactory.h b/libjava/javax/security/sasl/SaslServerFactory.h new file mode 100644 index 00000000000..ceaf0016ed9 --- /dev/null +++ b/libjava/javax/security/sasl/SaslServerFactory.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_security_sasl_SaslServerFactory__ +#define __javax_security_sasl_SaslServerFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace security + { + namespace auth + { + namespace callback + { + class CallbackHandler; + } + } + namespace sasl + { + class SaslServer; + class SaslServerFactory; + } + } + } +} + +class javax::security::sasl::SaslServerFactory : public ::java::lang::Object +{ + +public: + virtual ::javax::security::sasl::SaslServer * createSaslServer(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *) = 0; + virtual JArray< ::java::lang::String * > * getMechanismNames(::java::util::Map *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_security_sasl_SaslServerFactory__ diff --git a/libjava/javax/sound/midi/ControllerEventListener.h b/libjava/javax/sound/midi/ControllerEventListener.h new file mode 100644 index 00000000000..f3352319082 --- /dev/null +++ b/libjava/javax/sound/midi/ControllerEventListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_ControllerEventListener__ +#define __javax_sound_midi_ControllerEventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class ControllerEventListener; + class ShortMessage; + } + } + } +} + +class javax::sound::midi::ControllerEventListener : public ::java::lang::Object +{ + +public: + virtual void controlChange(::javax::sound::midi::ShortMessage *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_ControllerEventListener__ diff --git a/libjava/javax/sound/midi/Instrument.h b/libjava/javax/sound/midi/Instrument.h new file mode 100644 index 00000000000..9f895a57f46 --- /dev/null +++ b/libjava/javax/sound/midi/Instrument.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Instrument__ +#define __javax_sound_midi_Instrument__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Instrument; + class Patch; + class Soundbank; + } + } + } +} + +class javax::sound::midi::Instrument : public ::javax::sound::midi::SoundbankResource +{ + +public: // actually protected + Instrument(::javax::sound::midi::Soundbank *, ::javax::sound::midi::Patch *, ::java::lang::String *, ::java::lang::Class *); +public: + virtual ::javax::sound::midi::Patch * getPatch(); +private: + ::javax::sound::midi::Patch * __attribute__((aligned(__alignof__( ::javax::sound::midi::SoundbankResource)))) patch; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_Instrument__ diff --git a/libjava/javax/sound/midi/InvalidMidiDataException.h b/libjava/javax/sound/midi/InvalidMidiDataException.h new file mode 100644 index 00000000000..c66b0816f99 --- /dev/null +++ b/libjava/javax/sound/midi/InvalidMidiDataException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_InvalidMidiDataException__ +#define __javax_sound_midi_InvalidMidiDataException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class InvalidMidiDataException; + } + } + } +} + +class javax::sound::midi::InvalidMidiDataException : public ::java::lang::Exception +{ + +public: + InvalidMidiDataException(); + InvalidMidiDataException(::java::lang::String *); +private: + static const jlong serialVersionUID = 2780771756789932067LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_InvalidMidiDataException__ diff --git a/libjava/javax/sound/midi/MetaEventListener.h b/libjava/javax/sound/midi/MetaEventListener.h new file mode 100644 index 00000000000..ccbed891bea --- /dev/null +++ b/libjava/javax/sound/midi/MetaEventListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MetaEventListener__ +#define __javax_sound_midi_MetaEventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MetaEventListener; + class MetaMessage; + } + } + } +} + +class javax::sound::midi::MetaEventListener : public ::java::lang::Object +{ + +public: + virtual void meta(::javax::sound::midi::MetaMessage *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_MetaEventListener__ diff --git a/libjava/javax/sound/midi/MetaMessage.h b/libjava/javax/sound/midi/MetaMessage.h new file mode 100644 index 00000000000..a50e3b22883 --- /dev/null +++ b/libjava/javax/sound/midi/MetaMessage.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MetaMessage__ +#define __javax_sound_midi_MetaMessage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MetaMessage; + } + } + } +} + +class javax::sound::midi::MetaMessage : public ::javax::sound::midi::MidiMessage +{ + +public: + MetaMessage(); +public: // actually protected + MetaMessage(JArray< jbyte > *); +public: + virtual void setMessage(jint, JArray< jbyte > *, jint); + virtual jint getType(); + virtual JArray< jbyte > * getData(); + virtual ::java::lang::Object * clone(); + static const jint META = 255; +private: + jint __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiMessage)))) lengthLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MetaMessage__ diff --git a/libjava/javax/sound/midi/MidiChannel.h b/libjava/javax/sound/midi/MidiChannel.h new file mode 100644 index 00000000000..4d348d2f783 --- /dev/null +++ b/libjava/javax/sound/midi/MidiChannel.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiChannel__ +#define __javax_sound_midi_MidiChannel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiChannel; + } + } + } +} + +class javax::sound::midi::MidiChannel : public ::java::lang::Object +{ + +public: + virtual void noteOn(jint, jint) = 0; + virtual void noteOff(jint, jint) = 0; + virtual void noteOff(jint) = 0; + virtual void setPolyPressure(jint, jint) = 0; + virtual jint getPolyPressure(jint) = 0; + virtual void setChannelPressure(jint) = 0; + virtual jint getChannelPressure() = 0; + virtual void controlChange(jint, jint) = 0; + virtual jint getController(jint) = 0; + virtual void programChange(jint) = 0; + virtual void programChange(jint, jint) = 0; + virtual jint getProgram() = 0; + virtual void setPitchBend(jint) = 0; + virtual jint getPitchBend() = 0; + virtual void resetAllControllers() = 0; + virtual void allNotesOff() = 0; + virtual void allSoundOff() = 0; + virtual jboolean localControl(jboolean) = 0; + virtual void setMono(jboolean) = 0; + virtual jboolean getMono() = 0; + virtual void setOmni(jboolean) = 0; + virtual jboolean getOmni() = 0; + virtual void setMute(jboolean) = 0; + virtual jboolean getMute() = 0; + virtual void setSolo(jboolean) = 0; + virtual jboolean getSolo() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_MidiChannel__ diff --git a/libjava/javax/sound/midi/MidiDevice$Info.h b/libjava/javax/sound/midi/MidiDevice$Info.h new file mode 100644 index 00000000000..02b9c42f667 --- /dev/null +++ b/libjava/javax/sound/midi/MidiDevice$Info.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiDevice$Info__ +#define __javax_sound_midi_MidiDevice$Info__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice$Info; + } + } + } +} + +class javax::sound::midi::MidiDevice$Info : public ::java::lang::Object +{ + +public: // actually protected + MidiDevice$Info(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getVendor(); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getVersion(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * vendor; + ::java::lang::String * description; + ::java::lang::String * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MidiDevice$Info__ diff --git a/libjava/javax/sound/midi/MidiDevice.h b/libjava/javax/sound/midi/MidiDevice.h new file mode 100644 index 00000000000..bc952ab1076 --- /dev/null +++ b/libjava/javax/sound/midi/MidiDevice.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiDevice__ +#define __javax_sound_midi_MidiDevice__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + class MidiDevice$Info; + class Receiver; + class Transmitter; + } + } + } +} + +class javax::sound::midi::MidiDevice : public ::java::lang::Object +{ + +public: + virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo() = 0; + virtual void open() = 0; + virtual void close() = 0; + virtual jboolean isOpen() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jint getMaxReceivers() = 0; + virtual jint getMaxTransmitters() = 0; + virtual ::javax::sound::midi::Receiver * getReceiver() = 0; + virtual ::javax::sound::midi::Transmitter * getTransmitter() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_MidiDevice__ diff --git a/libjava/javax/sound/midi/MidiEvent.h b/libjava/javax/sound/midi/MidiEvent.h new file mode 100644 index 00000000000..ef6dbd0f267 --- /dev/null +++ b/libjava/javax/sound/midi/MidiEvent.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiEvent__ +#define __javax_sound_midi_MidiEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiEvent; + class MidiMessage; + } + } + } +} + +class javax::sound::midi::MidiEvent : public ::java::lang::Object +{ + +public: + MidiEvent(::javax::sound::midi::MidiMessage *, jlong); + virtual ::javax::sound::midi::MidiMessage * getMessage(); + virtual void setTick(jlong); + virtual jlong getTick(); +private: + ::javax::sound::midi::MidiMessage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) message; + jlong tick; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MidiEvent__ diff --git a/libjava/javax/sound/midi/MidiFileFormat.h b/libjava/javax/sound/midi/MidiFileFormat.h new file mode 100644 index 00000000000..57fab827a78 --- /dev/null +++ b/libjava/javax/sound/midi/MidiFileFormat.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiFileFormat__ +#define __javax_sound_midi_MidiFileFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiFileFormat; + } + } + } +} + +class javax::sound::midi::MidiFileFormat : public ::java::lang::Object +{ + +public: + MidiFileFormat(jint, jfloat, jint, jint, jlong); + virtual jint getType(); + virtual jfloat getDivisionType(); + virtual jint getResolution(); + virtual jint getByteLength(); + virtual jlong getMicrosecondLength(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jfloat divisionType; + jint resolution; + jint byteLength; + jlong microsecondLength; +public: + static const jint UNKNOWN_LENGTH = -1; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MidiFileFormat__ diff --git a/libjava/javax/sound/midi/MidiMessage.h b/libjava/javax/sound/midi/MidiMessage.h new file mode 100644 index 00000000000..bf7e2d21725 --- /dev/null +++ b/libjava/javax/sound/midi/MidiMessage.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiMessage__ +#define __javax_sound_midi_MidiMessage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiMessage; + } + } + } +} + +class javax::sound::midi::MidiMessage : public ::java::lang::Object +{ + +public: // actually protected + MidiMessage(JArray< jbyte > *); + virtual void setMessage(JArray< jbyte > *, jint); +public: + virtual JArray< jbyte > * getMessage(); + virtual jint getStatus(); + virtual jint getLength(); + virtual ::java::lang::Object * clone() = 0; +public: // actually protected + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data; + jint length; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MidiMessage__ diff --git a/libjava/javax/sound/midi/MidiSystem.h b/libjava/javax/sound/midi/MidiSystem.h new file mode 100644 index 00000000000..487b9d6de8e --- /dev/null +++ b/libjava/javax/sound/midi/MidiSystem.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiSystem__ +#define __javax_sound_midi_MidiSystem__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + class MidiDevice$Info; + class MidiFileFormat; + class MidiSystem; + class Receiver; + class Sequence; + class Sequencer; + class Soundbank; + class Synthesizer; + class Transmitter; + } + } + } +} + +class javax::sound::midi::MidiSystem : public ::java::lang::Object +{ + + MidiSystem(); +public: + static JArray< ::javax::sound::midi::MidiDevice$Info * > * getMidiDeviceInfo(); + static ::javax::sound::midi::MidiDevice * getMidiDevice(::javax::sound::midi::MidiDevice$Info *); + static ::javax::sound::midi::Receiver * getReceiver(); + static ::javax::sound::midi::Transmitter * getTransmitter(); + static ::javax::sound::midi::Synthesizer * getSynthesizer(); + static ::javax::sound::midi::Sequencer * getSequencer(); + static ::javax::sound::midi::Soundbank * getSoundbank(::java::io::InputStream *); + static ::javax::sound::midi::Soundbank * getSoundbank(::java::net::URL *); + static ::javax::sound::midi::Soundbank * getSoundbank(::java::io::File *); + static ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::InputStream *); + static ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::net::URL *); + static ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::File *); + static ::javax::sound::midi::Sequence * getSequence(::java::io::InputStream *); + static ::javax::sound::midi::Sequence * getSequence(::java::net::URL *); + static ::javax::sound::midi::Sequence * getSequence(::java::io::File *); + static JArray< jint > * getMidiFileTypes(); + static jboolean isFileTypeSupported(jint); + static JArray< jint > * getMidiFileTypes(::javax::sound::midi::Sequence *); + static jboolean isFileTypeSupported(jint, ::javax::sound::midi::Sequence *); + static jint write(::javax::sound::midi::Sequence *, jint, ::java::io::OutputStream *); + static jint write(::javax::sound::midi::Sequence *, jint, ::java::io::File *); + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MidiSystem__ diff --git a/libjava/javax/sound/midi/MidiUnavailableException.h b/libjava/javax/sound/midi/MidiUnavailableException.h new file mode 100644 index 00000000000..740496db2dd --- /dev/null +++ b/libjava/javax/sound/midi/MidiUnavailableException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_MidiUnavailableException__ +#define __javax_sound_midi_MidiUnavailableException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiUnavailableException; + } + } + } +} + +class javax::sound::midi::MidiUnavailableException : public ::java::lang::Exception +{ + +public: + MidiUnavailableException(); + MidiUnavailableException(::java::lang::String *); +private: + static const jlong serialVersionUID = 6093809578628944323LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_MidiUnavailableException__ diff --git a/libjava/javax/sound/midi/Patch.h b/libjava/javax/sound/midi/Patch.h new file mode 100644 index 00000000000..fcc9b31867d --- /dev/null +++ b/libjava/javax/sound/midi/Patch.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Patch__ +#define __javax_sound_midi_Patch__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Patch; + } + } + } +} + +class javax::sound::midi::Patch : public ::java::lang::Object +{ + +public: + Patch(jint, jint); + virtual jint getBank(); + virtual jint getProgram(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) bank; + jint program; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_Patch__ diff --git a/libjava/javax/sound/midi/Receiver.h b/libjava/javax/sound/midi/Receiver.h new file mode 100644 index 00000000000..b82d06f185f --- /dev/null +++ b/libjava/javax/sound/midi/Receiver.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Receiver__ +#define __javax_sound_midi_Receiver__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiMessage; + class Receiver; + } + } + } +} + +class javax::sound::midi::Receiver : public ::java::lang::Object +{ + +public: + virtual void send(::javax::sound::midi::MidiMessage *, jlong) = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_Receiver__ diff --git a/libjava/javax/sound/midi/Sequence.h b/libjava/javax/sound/midi/Sequence.h new file mode 100644 index 00000000000..0ca6ed71148 --- /dev/null +++ b/libjava/javax/sound/midi/Sequence.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Sequence__ +#define __javax_sound_midi_Sequence__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Patch; + class Sequence; + class Track; + } + } + } +} + +class javax::sound::midi::Sequence : public ::java::lang::Object +{ + + void init(jfloat, jint, jint); +public: + Sequence(jfloat, jint); + Sequence(jfloat, jint, jint); + virtual jfloat getDivisionType(); + virtual jint getResolution(); + virtual ::javax::sound::midi::Track * createTrack(); + virtual jboolean deleteTrack(::javax::sound::midi::Track *); + virtual JArray< ::javax::sound::midi::Track * > * getTracks(); + virtual jlong getMicrosecondLength(); + virtual jlong getTickLength(); + virtual JArray< ::javax::sound::midi::Patch * > * getPatchList(); +public: // actually protected + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) divisionType; + jint resolution; + ::java::util::Vector * tracks; +public: + static jfloat PPQ; + static jfloat SMPTE_24; + static jfloat SMPTE_25; + static jfloat SMPTE_30; + static jfloat SMPTE_30DROP; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_Sequence__ diff --git a/libjava/javax/sound/midi/Sequencer$SyncMode.h b/libjava/javax/sound/midi/Sequencer$SyncMode.h new file mode 100644 index 00000000000..70944db8bd8 --- /dev/null +++ b/libjava/javax/sound/midi/Sequencer$SyncMode.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Sequencer$SyncMode__ +#define __javax_sound_midi_Sequencer$SyncMode__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Sequencer$SyncMode; + } + } + } +} + +class javax::sound::midi::Sequencer$SyncMode : public ::java::lang::Object +{ + +public: // actually protected + Sequencer$SyncMode(::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + static ::javax::sound::midi::Sequencer$SyncMode * INTERNAL_CLOCK; + static ::javax::sound::midi::Sequencer$SyncMode * MIDI_SYNC; + static ::javax::sound::midi::Sequencer$SyncMode * MIDI_TIME_CODE; + static ::javax::sound::midi::Sequencer$SyncMode * NO_SYNC; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_Sequencer$SyncMode__ diff --git a/libjava/javax/sound/midi/Sequencer.h b/libjava/javax/sound/midi/Sequencer.h new file mode 100644 index 00000000000..453634e413a --- /dev/null +++ b/libjava/javax/sound/midi/Sequencer.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Sequencer__ +#define __javax_sound_midi_Sequencer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class ControllerEventListener; + class MetaEventListener; + class MidiDevice$Info; + class Receiver; + class Sequence; + class Sequencer; + class Sequencer$SyncMode; + class Track; + class Transmitter; + } + } + } +} + +class javax::sound::midi::Sequencer : public ::java::lang::Object +{ + +public: + virtual void setSequence(::javax::sound::midi::Sequence *) = 0; + virtual void setSequence(::java::io::InputStream *) = 0; + virtual ::javax::sound::midi::Sequence * getSequence() = 0; + virtual void start() = 0; + virtual void stop() = 0; + virtual jboolean isRunning() = 0; + virtual void startRecording() = 0; + virtual void stopRecording() = 0; + virtual jboolean isRecording() = 0; + virtual void recordEnable(::javax::sound::midi::Track *, jint) = 0; + virtual void recordDisable(::javax::sound::midi::Track *) = 0; + virtual jfloat getTempoInBPM() = 0; + virtual void setTempoInBPM(jfloat) = 0; + virtual jfloat getTempoInMPQ() = 0; + virtual void setTempoInMPQ(jfloat) = 0; + virtual void setTempoFactor(jfloat) = 0; + virtual jfloat getTempoFactor() = 0; + virtual jlong getTickLength() = 0; + virtual jlong getTickPosition() = 0; + virtual void setTickPosition(jlong) = 0; + virtual jlong getMicrosecondLength() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual void setMicrosecondPosition(jlong) = 0; + virtual void setMasterSyncMode(::javax::sound::midi::Sequencer$SyncMode *) = 0; + virtual ::javax::sound::midi::Sequencer$SyncMode * getMasterSyncMode() = 0; + virtual JArray< ::javax::sound::midi::Sequencer$SyncMode * > * getMasterSyncModes() = 0; + virtual void setSlaveSyncMode(::javax::sound::midi::Sequencer$SyncMode *) = 0; + virtual ::javax::sound::midi::Sequencer$SyncMode * getSlaveSyncMode() = 0; + virtual JArray< ::javax::sound::midi::Sequencer$SyncMode * > * getSlaveSyncModes() = 0; + virtual void setTrackMute(jint, jboolean) = 0; + virtual jboolean getTrackMute(jint) = 0; + virtual void setTrackSolo(jint, jboolean) = 0; + virtual jboolean getTrackSolo(jint) = 0; + virtual jboolean addMetaEventListener(::javax::sound::midi::MetaEventListener *) = 0; + virtual void removeMetaEventListener(::javax::sound::midi::MetaEventListener *) = 0; + virtual JArray< jint > * addControllerEventListener(::javax::sound::midi::ControllerEventListener *, JArray< jint > *) = 0; + virtual JArray< jint > * removeControllerEventListener(::javax::sound::midi::ControllerEventListener *, JArray< jint > *) = 0; + virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo() = 0; + virtual void open() = 0; + virtual void close() = 0; + virtual jboolean isOpen() = 0; + virtual jint getMaxReceivers() = 0; + virtual jint getMaxTransmitters() = 0; + virtual ::javax::sound::midi::Receiver * getReceiver() = 0; + virtual ::javax::sound::midi::Transmitter * getTransmitter() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_Sequencer__ diff --git a/libjava/javax/sound/midi/ShortMessage.h b/libjava/javax/sound/midi/ShortMessage.h new file mode 100644 index 00000000000..7a5872cd8ec --- /dev/null +++ b/libjava/javax/sound/midi/ShortMessage.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_ShortMessage__ +#define __javax_sound_midi_ShortMessage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class ShortMessage; + } + } + } +} + +class javax::sound::midi::ShortMessage : public ::javax::sound::midi::MidiMessage +{ + +public: + ShortMessage(); +public: // actually protected + ShortMessage(JArray< jbyte > *); +public: + virtual void setMessage(jint, jint, jint); + virtual void setMessage(jint, jint, jint, jint); + virtual void setMessage(jint); +public: // actually protected + virtual jint getDataLength(jint); +public: + virtual jint getChannel(); + virtual jint getCommand(); + virtual jint getData1(); + virtual jint getData2(); + virtual ::java::lang::Object * clone(); + static const jint MIDI_TIME_CODE = 241; + static const jint SONG_POSITION_POINTER = 242; + static const jint SONG_SELECT = 243; + static const jint TUNE_REQUEST = 246; + static const jint END_OF_EXCLUSIVE = 247; + static const jint TIMING_CLOCK = 248; + static const jint START = 250; + static const jint CONTINUE = 251; + static const jint STOP = 252; + static const jint ACTIVE_SENSING = 254; + static const jint SYSTEM_RESET = 255; + static const jint NOTE_OFF = 128; + static const jint NOTE_ON = 144; + static const jint POLY_PRESSURE = 160; + static const jint CONTROL_CHANGE = 176; + static const jint PROGRAM_CHANGE = 192; + static const jint CHANNEL_PRESSURE = 208; + static const jint PITCH_BEND = 224; +private: + static JArray< jbyte > * defaultMessage; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_ShortMessage__ diff --git a/libjava/javax/sound/midi/Soundbank.h b/libjava/javax/sound/midi/Soundbank.h new file mode 100644 index 00000000000..8890388b827 --- /dev/null +++ b/libjava/javax/sound/midi/Soundbank.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Soundbank__ +#define __javax_sound_midi_Soundbank__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Instrument; + class Patch; + class Soundbank; + class SoundbankResource; + } + } + } +} + +class javax::sound::midi::Soundbank : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual ::java::lang::String * getVersion() = 0; + virtual ::java::lang::String * getVendor() = 0; + virtual ::java::lang::String * getDescription() = 0; + virtual JArray< ::javax::sound::midi::SoundbankResource * > * getResources() = 0; + virtual JArray< ::javax::sound::midi::Instrument * > * getInstruments() = 0; + virtual ::javax::sound::midi::Instrument * getInstrument(::javax::sound::midi::Patch *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_Soundbank__ diff --git a/libjava/javax/sound/midi/SoundbankResource.h b/libjava/javax/sound/midi/SoundbankResource.h new file mode 100644 index 00000000000..19562681035 --- /dev/null +++ b/libjava/javax/sound/midi/SoundbankResource.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_SoundbankResource__ +#define __javax_sound_midi_SoundbankResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Soundbank; + class SoundbankResource; + } + } + } +} + +class javax::sound::midi::SoundbankResource : public ::java::lang::Object +{ + +public: // actually protected + SoundbankResource(::javax::sound::midi::Soundbank *, ::java::lang::String *, ::java::lang::Class *); +public: + virtual ::javax::sound::midi::Soundbank * getSoundbank(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::Class * getDataClass(); + virtual ::java::lang::Object * getData() = 0; +private: + ::javax::sound::midi::Soundbank * __attribute__((aligned(__alignof__( ::java::lang::Object)))) soundbank; + ::java::lang::String * name; + ::java::lang::Class * dataClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_SoundbankResource__ diff --git a/libjava/javax/sound/midi/Synthesizer.h b/libjava/javax/sound/midi/Synthesizer.h new file mode 100644 index 00000000000..1ccc094bed0 --- /dev/null +++ b/libjava/javax/sound/midi/Synthesizer.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Synthesizer__ +#define __javax_sound_midi_Synthesizer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Instrument; + class MidiChannel; + class MidiDevice$Info; + class Patch; + class Receiver; + class Soundbank; + class Synthesizer; + class Transmitter; + class VoiceStatus; + } + } + } +} + +class javax::sound::midi::Synthesizer : public ::java::lang::Object +{ + +public: + virtual jint getMaxPolyphony() = 0; + virtual jlong getLatency() = 0; + virtual JArray< ::javax::sound::midi::MidiChannel * > * getChannels() = 0; + virtual JArray< ::javax::sound::midi::VoiceStatus * > * getVoiceStatus() = 0; + virtual jboolean isSoundbankSupported(::javax::sound::midi::Soundbank *) = 0; + virtual jboolean loadInstrument(::javax::sound::midi::Instrument *) = 0; + virtual void unloadInstrument(::javax::sound::midi::Instrument *) = 0; + virtual jboolean remapInstrument(::javax::sound::midi::Instrument *, ::javax::sound::midi::Instrument *) = 0; + virtual ::javax::sound::midi::Soundbank * getDefaultSoundbank() = 0; + virtual JArray< ::javax::sound::midi::Instrument * > * getAvailableInstruments() = 0; + virtual JArray< ::javax::sound::midi::Instrument * > * getLoadedInstruments() = 0; + virtual jboolean loadAllInstruments(::javax::sound::midi::Soundbank *) = 0; + virtual void unloadAllInstruments(::javax::sound::midi::Soundbank *) = 0; + virtual jboolean loadInstruments(::javax::sound::midi::Soundbank *, JArray< ::javax::sound::midi::Patch * > *) = 0; + virtual void unloadInstruments(::javax::sound::midi::Soundbank *, JArray< ::javax::sound::midi::Patch * > *) = 0; + virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo() = 0; + virtual void open() = 0; + virtual void close() = 0; + virtual jboolean isOpen() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jint getMaxReceivers() = 0; + virtual jint getMaxTransmitters() = 0; + virtual ::javax::sound::midi::Receiver * getReceiver() = 0; + virtual ::javax::sound::midi::Transmitter * getTransmitter() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_Synthesizer__ diff --git a/libjava/javax/sound/midi/SysexMessage.h b/libjava/javax/sound/midi/SysexMessage.h new file mode 100644 index 00000000000..e6901f283d6 --- /dev/null +++ b/libjava/javax/sound/midi/SysexMessage.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_SysexMessage__ +#define __javax_sound_midi_SysexMessage__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class SysexMessage; + } + } + } +} + +class javax::sound::midi::SysexMessage : public ::javax::sound::midi::MidiMessage +{ + +public: + SysexMessage(); +public: // actually protected + SysexMessage(JArray< jbyte > *); +public: + virtual void setMessage(JArray< jbyte > *, jint); + virtual void setMessage(jint, JArray< jbyte > *, jint); + virtual JArray< jbyte > * getData(); + virtual ::java::lang::Object * clone(); + static const jint SYSTEM_EXCLUSIVE = 240; + static const jint SPECIAL_SYSTEM_EXCLUSIVE = 247; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_SysexMessage__ diff --git a/libjava/javax/sound/midi/Track.h b/libjava/javax/sound/midi/Track.h new file mode 100644 index 00000000000..9f544596541 --- /dev/null +++ b/libjava/javax/sound/midi/Track.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Track__ +#define __javax_sound_midi_Track__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiEvent; + class Track; + } + } + } +} + +class javax::sound::midi::Track : public ::java::lang::Object +{ + +public: // actually package-private + Track(); +public: + virtual jboolean add(::javax::sound::midi::MidiEvent *); + virtual jboolean remove(::javax::sound::midi::MidiEvent *); + virtual ::javax::sound::midi::MidiEvent * get(jint); + virtual jint size(); + virtual jlong ticks(); +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) events; +private: + ::java::util::HashSet * eventSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_Track__ diff --git a/libjava/javax/sound/midi/Transmitter.h b/libjava/javax/sound/midi/Transmitter.h new file mode 100644 index 00000000000..039f311bdf3 --- /dev/null +++ b/libjava/javax/sound/midi/Transmitter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_Transmitter__ +#define __javax_sound_midi_Transmitter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Receiver; + class Transmitter; + } + } + } +} + +class javax::sound::midi::Transmitter : public ::java::lang::Object +{ + +public: + virtual void setReceiver(::javax::sound::midi::Receiver *) = 0; + virtual ::javax::sound::midi::Receiver * getReceiver() = 0; + virtual void close() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_midi_Transmitter__ diff --git a/libjava/javax/sound/midi/VoiceStatus.h b/libjava/javax/sound/midi/VoiceStatus.h new file mode 100644 index 00000000000..6e25a3457d1 --- /dev/null +++ b/libjava/javax/sound/midi/VoiceStatus.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_VoiceStatus__ +#define __javax_sound_midi_VoiceStatus__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class VoiceStatus; + } + } + } +} + +class javax::sound::midi::VoiceStatus : public ::java::lang::Object +{ + +public: + VoiceStatus(); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) active; + jint channel; + jint bank; + jint program; + jint note; + jint volume; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_VoiceStatus__ diff --git a/libjava/javax/sound/midi/spi/MidiDeviceProvider.h b/libjava/javax/sound/midi/spi/MidiDeviceProvider.h new file mode 100644 index 00000000000..3e172aa55a9 --- /dev/null +++ b/libjava/javax/sound/midi/spi/MidiDeviceProvider.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_spi_MidiDeviceProvider__ +#define __javax_sound_midi_spi_MidiDeviceProvider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class MidiDevice; + class MidiDevice$Info; + namespace spi + { + class MidiDeviceProvider; + } + } + } + } +} + +class javax::sound::midi::spi::MidiDeviceProvider : public ::java::lang::Object +{ + +public: + MidiDeviceProvider(); + virtual jboolean isDeviceSupported(::javax::sound::midi::MidiDevice$Info *); + virtual JArray< ::javax::sound::midi::MidiDevice$Info * > * getDeviceInfo() = 0; + virtual ::javax::sound::midi::MidiDevice * getDevice(::javax::sound::midi::MidiDevice$Info *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_spi_MidiDeviceProvider__ diff --git a/libjava/javax/sound/midi/spi/MidiFileReader.h b/libjava/javax/sound/midi/spi/MidiFileReader.h new file mode 100644 index 00000000000..a389294bb15 --- /dev/null +++ b/libjava/javax/sound/midi/spi/MidiFileReader.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_spi_MidiFileReader__ +#define __javax_sound_midi_spi_MidiFileReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class MidiFileFormat; + class Sequence; + namespace spi + { + class MidiFileReader; + } + } + } + } +} + +class javax::sound::midi::spi::MidiFileReader : public ::java::lang::Object +{ + +public: + MidiFileReader(); + virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::InputStream *) = 0; + virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::net::URL *) = 0; + virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::File *) = 0; + virtual ::javax::sound::midi::Sequence * getSequence(::java::io::InputStream *) = 0; + virtual ::javax::sound::midi::Sequence * getSequence(::java::net::URL *) = 0; + virtual ::javax::sound::midi::Sequence * getSequence(::java::io::File *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_spi_MidiFileReader__ diff --git a/libjava/javax/sound/midi/spi/MidiFileWriter.h b/libjava/javax/sound/midi/spi/MidiFileWriter.h new file mode 100644 index 00000000000..d5144faae97 --- /dev/null +++ b/libjava/javax/sound/midi/spi/MidiFileWriter.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_spi_MidiFileWriter__ +#define __javax_sound_midi_spi_MidiFileWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace midi + { + class Sequence; + namespace spi + { + class MidiFileWriter; + } + } + } + } +} + +class javax::sound::midi::spi::MidiFileWriter : public ::java::lang::Object +{ + +public: + MidiFileWriter(); + virtual JArray< jint > * getMidiFileTypes() = 0; + virtual JArray< jint > * getMidiFileTypes(::javax::sound::midi::Sequence *) = 0; + virtual jboolean isFileTypeSupported(jint); + virtual jboolean isFileTypeSupported(jint, ::javax::sound::midi::Sequence *); + virtual jint write(::javax::sound::midi::Sequence *, jint, ::java::io::OutputStream *) = 0; + virtual jint write(::javax::sound::midi::Sequence *, jint, ::java::io::File *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_spi_MidiFileWriter__ diff --git a/libjava/javax/sound/midi/spi/SoundbankReader.h b/libjava/javax/sound/midi/spi/SoundbankReader.h new file mode 100644 index 00000000000..a12e20b9fe8 --- /dev/null +++ b/libjava/javax/sound/midi/spi/SoundbankReader.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_midi_spi_SoundbankReader__ +#define __javax_sound_midi_spi_SoundbankReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace midi + { + class Soundbank; + namespace spi + { + class SoundbankReader; + } + } + } + } +} + +class javax::sound::midi::spi::SoundbankReader : public ::java::lang::Object +{ + +public: + SoundbankReader(); + virtual ::javax::sound::midi::Soundbank * getSoundbank(::java::net::URL *) = 0; + virtual ::javax::sound::midi::Soundbank * getSoundbank(::java::io::InputStream *) = 0; + virtual ::javax::sound::midi::Soundbank * getSoundbank(::java::io::File *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_midi_spi_SoundbankReader__ diff --git a/libjava/javax/sound/sampled/AudioFileFormat$Type.h b/libjava/javax/sound/sampled/AudioFileFormat$Type.h new file mode 100644 index 00000000000..cc44a55b8ec --- /dev/null +++ b/libjava/javax/sound/sampled/AudioFileFormat$Type.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioFileFormat$Type__ +#define __javax_sound_sampled_AudioFileFormat$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat$Type; + } + } + } +} + +class javax::sound::sampled::AudioFileFormat$Type : public ::java::lang::Object +{ + +public: + AudioFileFormat$Type(::java::lang::String *, ::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * getExtension(); + virtual ::java::lang::String * toString(); + static ::javax::sound::sampled::AudioFileFormat$Type * AIFC; + static ::javax::sound::sampled::AudioFileFormat$Type * AIFF; + static ::javax::sound::sampled::AudioFileFormat$Type * AU; + static ::javax::sound::sampled::AudioFileFormat$Type * SND; + static ::javax::sound::sampled::AudioFileFormat$Type * WAVE; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * extension; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioFileFormat$Type__ diff --git a/libjava/javax/sound/sampled/AudioFileFormat.h b/libjava/javax/sound/sampled/AudioFileFormat.h new file mode 100644 index 00000000000..f5171f516f7 --- /dev/null +++ b/libjava/javax/sound/sampled/AudioFileFormat.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioFileFormat__ +#define __javax_sound_sampled_AudioFileFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat; + class AudioFileFormat$Type; + class AudioFormat; + } + } + } +} + +class javax::sound::sampled::AudioFileFormat : public ::java::lang::Object +{ + +public: + AudioFileFormat(::javax::sound::sampled::AudioFileFormat$Type *, ::javax::sound::sampled::AudioFormat *, jint); + AudioFileFormat(::javax::sound::sampled::AudioFileFormat$Type *, ::javax::sound::sampled::AudioFormat *, jint, ::java::util::Map *); +public: // actually protected + AudioFileFormat(::javax::sound::sampled::AudioFileFormat$Type *, jint, ::javax::sound::sampled::AudioFormat *, jint); +public: + virtual jint getByteLength(); + virtual ::javax::sound::sampled::AudioFormat * getFormat(); + virtual jint getFrameLength(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual ::javax::sound::sampled::AudioFileFormat$Type * getType(); + virtual ::java::util::Map * properties(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) byteLength; + ::javax::sound::sampled::AudioFormat * format; + ::javax::sound::sampled::AudioFileFormat$Type * type; + jint frameLength; + ::java::util::Map * properties__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioFileFormat__ diff --git a/libjava/javax/sound/sampled/AudioFormat$Encoding.h b/libjava/javax/sound/sampled/AudioFormat$Encoding.h new file mode 100644 index 00000000000..74b37793d67 --- /dev/null +++ b/libjava/javax/sound/sampled/AudioFormat$Encoding.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioFormat$Encoding__ +#define __javax_sound_sampled_AudioFormat$Encoding__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat$Encoding; + } + } + } +} + +class javax::sound::sampled::AudioFormat$Encoding : public ::java::lang::Object +{ + +public: + AudioFormat$Encoding(::java::lang::String *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + static ::javax::sound::sampled::AudioFormat$Encoding * ALAW; + static ::javax::sound::sampled::AudioFormat$Encoding * PCM_SIGNED; + static ::javax::sound::sampled::AudioFormat$Encoding * PCM_UNSIGNED; + static ::javax::sound::sampled::AudioFormat$Encoding * ULAW; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioFormat$Encoding__ diff --git a/libjava/javax/sound/sampled/AudioFormat.h b/libjava/javax/sound/sampled/AudioFormat.h new file mode 100644 index 00000000000..5166524d9f8 --- /dev/null +++ b/libjava/javax/sound/sampled/AudioFormat.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioFormat__ +#define __javax_sound_sampled_AudioFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class AudioFormat$Encoding; + } + } + } +} + +class javax::sound::sampled::AudioFormat : public ::java::lang::Object +{ + +public: + AudioFormat(::javax::sound::sampled::AudioFormat$Encoding *, jfloat, jint, jint, jint, jfloat, jboolean); + AudioFormat(::javax::sound::sampled::AudioFormat$Encoding *, jfloat, jint, jint, jint, jfloat, jboolean, ::java::util::Map *); + AudioFormat(jfloat, jint, jint, jboolean, jboolean); + virtual jint getChannels(); + virtual ::javax::sound::sampled::AudioFormat$Encoding * getEncoding(); + virtual jfloat getFrameRate(); + virtual jint getFrameSize(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual jfloat getSampleRate(); + virtual jint getSampleSizeInBits(); + virtual jboolean isBigEndian(); + virtual jboolean matches(::javax::sound::sampled::AudioFormat *); + virtual ::java::util::Map * properties(); + virtual ::java::lang::String * toString(); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) bigEndian; + jint channels; + ::javax::sound::sampled::AudioFormat$Encoding * encoding; + jfloat frameRate; + jint frameSize; + jfloat sampleRate; + jint sampleSizeInBits; +private: + ::java::util::Map * properties__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioFormat__ diff --git a/libjava/javax/sound/sampled/AudioInputStream$TargetInputStream.h b/libjava/javax/sound/sampled/AudioInputStream$TargetInputStream.h new file mode 100644 index 00000000000..a4d4b195d9c --- /dev/null +++ b/libjava/javax/sound/sampled/AudioInputStream$TargetInputStream.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioInputStream$TargetInputStream__ +#define __javax_sound_sampled_AudioInputStream$TargetInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioInputStream$TargetInputStream; + class TargetDataLine; + } + } + } +} + +class javax::sound::sampled::AudioInputStream$TargetInputStream : public ::java::io::InputStream +{ + +public: + AudioInputStream$TargetInputStream(::javax::sound::sampled::TargetDataLine *); + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); +private: + ::javax::sound::sampled::TargetDataLine * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) line; + JArray< jbyte > * buf; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioInputStream$TargetInputStream__ diff --git a/libjava/javax/sound/sampled/AudioInputStream.h b/libjava/javax/sound/sampled/AudioInputStream.h new file mode 100644 index 00000000000..5e07e8dc1a7 --- /dev/null +++ b/libjava/javax/sound/sampled/AudioInputStream.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioInputStream__ +#define __javax_sound_sampled_AudioInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class AudioInputStream; + class TargetDataLine; + } + } + } +} + +class javax::sound::sampled::AudioInputStream : public ::java::io::InputStream +{ + +public: + AudioInputStream(::java::io::InputStream *, ::javax::sound::sampled::AudioFormat *, jlong); + AudioInputStream(::javax::sound::sampled::TargetDataLine *); + virtual jint available(); + virtual void close(); + virtual ::javax::sound::sampled::AudioFormat * getFormat(); + virtual jlong getFrameLength(); + virtual void mark(jint); + virtual jboolean markSupported(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual void reset(); + virtual jlong skip(jlong); +public: // actually protected + ::javax::sound::sampled::AudioFormat * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) format; + jlong frameLength; + jlong framePos; + jint frameSize; +private: + ::java::io::InputStream * input; + jlong markedFramePos; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioInputStream__ diff --git a/libjava/javax/sound/sampled/AudioPermission.h b/libjava/javax/sound/sampled/AudioPermission.h new file mode 100644 index 00000000000..e83637b5033 --- /dev/null +++ b/libjava/javax/sound/sampled/AudioPermission.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioPermission__ +#define __javax_sound_sampled_AudioPermission__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioPermission; + } + } + } +} + +class javax::sound::sampled::AudioPermission : public ::java::security::BasicPermission +{ + +public: + AudioPermission(::java::lang::String *); + AudioPermission(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = -5518053473477801126LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioPermission__ diff --git a/libjava/javax/sound/sampled/AudioSystem.h b/libjava/javax/sound/sampled/AudioSystem.h new file mode 100644 index 00000000000..9b490ded804 --- /dev/null +++ b/libjava/javax/sound/sampled/AudioSystem.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_AudioSystem__ +#define __javax_sound_sampled_AudioSystem__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat; + class AudioFileFormat$Type; + class AudioFormat; + class AudioFormat$Encoding; + class AudioInputStream; + class AudioSystem; + class Clip; + class Line; + class Line$Info; + class Mixer; + class Mixer$Info; + class SourceDataLine; + class TargetDataLine; + } + } + } +} + +class javax::sound::sampled::AudioSystem : public ::java::lang::Object +{ + + AudioSystem(); +public: + static ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *); + static ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *); + static ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *); + static JArray< ::javax::sound::sampled::AudioFileFormat$Type * > * getAudioFileTypes(); + static JArray< ::javax::sound::sampled::AudioFileFormat$Type * > * getAudioFileTypes(::javax::sound::sampled::AudioInputStream *); + static ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::javax::sound::sampled::AudioFormat$Encoding *, ::javax::sound::sampled::AudioInputStream *); + static ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::javax::sound::sampled::AudioFormat *, ::javax::sound::sampled::AudioInputStream *); + static ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *); + static ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *); + static ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *); + static ::javax::sound::sampled::Clip * getClip(); + static ::javax::sound::sampled::Clip * getClip(::javax::sound::sampled::Mixer$Info *); + static ::javax::sound::sampled::Line * getLine(::javax::sound::sampled::Line$Info *); + static ::javax::sound::sampled::Mixer * getMixer(::javax::sound::sampled::Mixer$Info *); + static JArray< ::javax::sound::sampled::Mixer$Info * > * getMixerInfo(); + static ::javax::sound::sampled::SourceDataLine * getSourceDataLine(::javax::sound::sampled::AudioFormat *); + static ::javax::sound::sampled::SourceDataLine * getSourceDataLine(::javax::sound::sampled::AudioFormat *, ::javax::sound::sampled::Mixer$Info *); + static JArray< ::javax::sound::sampled::Line$Info * > * getSourceLineInfo(::javax::sound::sampled::Line$Info *); + static ::javax::sound::sampled::TargetDataLine * getTargetDataLine(::javax::sound::sampled::AudioFormat *); + static ::javax::sound::sampled::TargetDataLine * getTargetDataLine(::javax::sound::sampled::AudioFormat *, ::javax::sound::sampled::Mixer$Info *); + static JArray< ::javax::sound::sampled::AudioFormat$Encoding * > * getTargetEncodings(::javax::sound::sampled::AudioFormat$Encoding *); + static JArray< ::javax::sound::sampled::AudioFormat$Encoding * > * getTargetEncodings(::javax::sound::sampled::AudioFormat *); + static JArray< ::javax::sound::sampled::AudioFormat * > * getTargetFormats(::javax::sound::sampled::AudioFormat$Encoding *, ::javax::sound::sampled::AudioFormat *); + static JArray< ::javax::sound::sampled::Line$Info * > * getTargetLineInfo(::javax::sound::sampled::Line$Info *); + static jboolean isConversionSupported(::javax::sound::sampled::AudioFormat$Encoding *, ::javax::sound::sampled::AudioFormat *); + static jboolean isConversionSupported(::javax::sound::sampled::AudioFormat *, ::javax::sound::sampled::AudioFormat *); +private: + static jboolean isFileTypeSupported(JArray< ::javax::sound::sampled::AudioFileFormat$Type * > *, ::javax::sound::sampled::AudioFileFormat$Type *); +public: + static jboolean isFileTypeSupported(::javax::sound::sampled::AudioFileFormat$Type *); + static jboolean isFileTypeSupported(::javax::sound::sampled::AudioFileFormat$Type *, ::javax::sound::sampled::AudioInputStream *); + static jboolean isLineSupported(::javax::sound::sampled::Line$Info *); + static jint write(::javax::sound::sampled::AudioInputStream *, ::javax::sound::sampled::AudioFileFormat$Type *, ::java::io::File *); + static jint write(::javax::sound::sampled::AudioInputStream *, ::javax::sound::sampled::AudioFileFormat$Type *, ::java::io::OutputStream *); + static const jint NOT_SPECIFIED = -1; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_AudioSystem__ diff --git a/libjava/javax/sound/sampled/BooleanControl$Type.h b/libjava/javax/sound/sampled/BooleanControl$Type.h new file mode 100644 index 00000000000..a7058efe4ae --- /dev/null +++ b/libjava/javax/sound/sampled/BooleanControl$Type.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_BooleanControl$Type__ +#define __javax_sound_sampled_BooleanControl$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class BooleanControl$Type; + } + } + } +} + +class javax::sound::sampled::BooleanControl$Type : public ::javax::sound::sampled::Control$Type +{ + +public: // actually protected + BooleanControl$Type(::java::lang::String *); +public: + static ::javax::sound::sampled::BooleanControl$Type * APPLY_REVERB; + static ::javax::sound::sampled::BooleanControl$Type * MUTE; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_BooleanControl$Type__ diff --git a/libjava/javax/sound/sampled/BooleanControl.h b/libjava/javax/sound/sampled/BooleanControl.h new file mode 100644 index 00000000000..efb3ab4715d --- /dev/null +++ b/libjava/javax/sound/sampled/BooleanControl.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_BooleanControl__ +#define __javax_sound_sampled_BooleanControl__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class BooleanControl; + class BooleanControl$Type; + } + } + } +} + +class javax::sound::sampled::BooleanControl : public ::javax::sound::sampled::Control +{ + +public: // actually protected + BooleanControl(::javax::sound::sampled::BooleanControl$Type *, jboolean); + BooleanControl(::javax::sound::sampled::BooleanControl$Type *, jboolean, ::java::lang::String *, ::java::lang::String *); +public: + virtual ::java::lang::String * getStateLabel(jboolean); + virtual jboolean getValue(); + virtual void setValue(jboolean); + virtual ::java::lang::String * toString(); +private: + ::javax::sound::sampled::BooleanControl$Type * __attribute__((aligned(__alignof__( ::javax::sound::sampled::Control)))) type; + jboolean value; + ::java::lang::String * trueLabel; + ::java::lang::String * falseLabel; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_BooleanControl__ diff --git a/libjava/javax/sound/sampled/Clip.h b/libjava/javax/sound/sampled/Clip.h new file mode 100644 index 00000000000..ab6c5582812 --- /dev/null +++ b/libjava/javax/sound/sampled/Clip.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Clip__ +#define __javax_sound_sampled_Clip__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class AudioInputStream; + class Clip; + class Control; + class Control$Type; + class Line$Info; + class LineListener; + } + } + } +} + +class javax::sound::sampled::Clip : public ::java::lang::Object +{ + +public: + virtual jint getFrameLength() = 0; + virtual jlong getMicrosecondLength() = 0; + virtual void loop(jint) = 0; + virtual void open(::javax::sound::sampled::AudioFormat *, JArray< jbyte > *, jint, jint) = 0; + virtual void open(::javax::sound::sampled::AudioInputStream *) = 0; + virtual void setFramePosition(jint) = 0; + virtual void setLoopPoints(jint, jint) = 0; + virtual void setMicrosecondPosition(jlong) = 0; + virtual jint available() = 0; + virtual void drain() = 0; + virtual void flush() = 0; + virtual jint getBufferSize() = 0; + virtual ::javax::sound::sampled::AudioFormat * getFormat() = 0; + virtual jint getFramePosition() = 0; + virtual jfloat getLevel() = 0; + virtual jlong getLongFramePosition() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jboolean isActive() = 0; + virtual jboolean isRunning() = 0; + virtual void start() = 0; + virtual void stop() = 0; + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static const jint LOOP_CONTINUOUSLY = -1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_Clip__ diff --git a/libjava/javax/sound/sampled/CompoundControl$Type.h b/libjava/javax/sound/sampled/CompoundControl$Type.h new file mode 100644 index 00000000000..ccbf51f1dd9 --- /dev/null +++ b/libjava/javax/sound/sampled/CompoundControl$Type.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_CompoundControl$Type__ +#define __javax_sound_sampled_CompoundControl$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class CompoundControl$Type; + } + } + } +} + +class javax::sound::sampled::CompoundControl$Type : public ::javax::sound::sampled::Control$Type +{ + +public: // actually protected + CompoundControl$Type(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_CompoundControl$Type__ diff --git a/libjava/javax/sound/sampled/CompoundControl.h b/libjava/javax/sound/sampled/CompoundControl.h new file mode 100644 index 00000000000..d4438e56d62 --- /dev/null +++ b/libjava/javax/sound/sampled/CompoundControl.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_CompoundControl__ +#define __javax_sound_sampled_CompoundControl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class CompoundControl; + class CompoundControl$Type; + class Control; + } + } + } +} + +class javax::sound::sampled::CompoundControl : public ::javax::sound::sampled::Control +{ + +public: // actually protected + CompoundControl(::javax::sound::sampled::CompoundControl$Type *, JArray< ::javax::sound::sampled::Control * > *); +public: + virtual JArray< ::javax::sound::sampled::Control * > * getMemberControls(); + virtual ::java::lang::String * toString(); +private: + JArray< ::javax::sound::sampled::Control * > * __attribute__((aligned(__alignof__( ::javax::sound::sampled::Control)))) memberControls; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_CompoundControl__ diff --git a/libjava/javax/sound/sampled/Control$Type.h b/libjava/javax/sound/sampled/Control$Type.h new file mode 100644 index 00000000000..cf7043abe6a --- /dev/null +++ b/libjava/javax/sound/sampled/Control$Type.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Control$Type__ +#define __javax_sound_sampled_Control$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Control$Type; + } + } + } +} + +class javax::sound::sampled::Control$Type : public ::java::lang::Object +{ + +public: // actually protected + Control$Type(::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_Control$Type__ diff --git a/libjava/javax/sound/sampled/Control.h b/libjava/javax/sound/sampled/Control.h new file mode 100644 index 00000000000..59dc5b14b81 --- /dev/null +++ b/libjava/javax/sound/sampled/Control.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Control__ +#define __javax_sound_sampled_Control__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Control; + class Control$Type; + } + } + } +} + +class javax::sound::sampled::Control : public ::java::lang::Object +{ + +public: // actually protected + Control(::javax::sound::sampled::Control$Type *); +public: + virtual ::javax::sound::sampled::Control$Type * getType(); + virtual ::java::lang::String * toString(); +private: + ::javax::sound::sampled::Control$Type * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_Control__ diff --git a/libjava/javax/sound/sampled/DataLine$Info.h b/libjava/javax/sound/sampled/DataLine$Info.h new file mode 100644 index 00000000000..ea6322eae57 --- /dev/null +++ b/libjava/javax/sound/sampled/DataLine$Info.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_DataLine$Info__ +#define __javax_sound_sampled_DataLine$Info__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class DataLine$Info; + class Line$Info; + } + } + } +} + +class javax::sound::sampled::DataLine$Info : public ::javax::sound::sampled::Line$Info +{ + +public: + DataLine$Info(::java::lang::Class *, ::javax::sound::sampled::AudioFormat *); + DataLine$Info(::java::lang::Class *, JArray< ::javax::sound::sampled::AudioFormat * > *, jint, jint); + DataLine$Info(::java::lang::Class *, ::javax::sound::sampled::AudioFormat *, jint); + virtual JArray< ::javax::sound::sampled::AudioFormat * > * getFormats(); + virtual jint getMaxBufferSize(); + virtual jint getMinBufferSize(); + virtual jboolean isFormatSupported(::javax::sound::sampled::AudioFormat *); + virtual jboolean matches(::javax::sound::sampled::Line$Info *); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::javax::sound::sampled::Line$Info)))) minBufferSize; + jint maxBufferSize; + JArray< ::javax::sound::sampled::AudioFormat * > * formats; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_DataLine$Info__ diff --git a/libjava/javax/sound/sampled/DataLine.h b/libjava/javax/sound/sampled/DataLine.h new file mode 100644 index 00000000000..257fd9b7781 --- /dev/null +++ b/libjava/javax/sound/sampled/DataLine.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_DataLine__ +#define __javax_sound_sampled_DataLine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class Control; + class Control$Type; + class DataLine; + class Line$Info; + class LineListener; + } + } + } +} + +class javax::sound::sampled::DataLine : public ::java::lang::Object +{ + +public: + virtual jint available() = 0; + virtual void drain() = 0; + virtual void flush() = 0; + virtual jint getBufferSize() = 0; + virtual ::javax::sound::sampled::AudioFormat * getFormat() = 0; + virtual jint getFramePosition() = 0; + virtual jfloat getLevel() = 0; + virtual jlong getLongFramePosition() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jboolean isActive() = 0; + virtual jboolean isRunning() = 0; + virtual void start() = 0; + virtual void stop() = 0; + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_DataLine__ diff --git a/libjava/javax/sound/sampled/EnumControl$Type.h b/libjava/javax/sound/sampled/EnumControl$Type.h new file mode 100644 index 00000000000..dce2cc12f62 --- /dev/null +++ b/libjava/javax/sound/sampled/EnumControl$Type.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_EnumControl$Type__ +#define __javax_sound_sampled_EnumControl$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class EnumControl$Type; + } + } + } +} + +class javax::sound::sampled::EnumControl$Type : public ::javax::sound::sampled::Control$Type +{ + +public: // actually protected + EnumControl$Type(::java::lang::String *); +public: + static ::javax::sound::sampled::EnumControl$Type * REVERB; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_EnumControl$Type__ diff --git a/libjava/javax/sound/sampled/EnumControl.h b/libjava/javax/sound/sampled/EnumControl.h new file mode 100644 index 00000000000..618d19c16de --- /dev/null +++ b/libjava/javax/sound/sampled/EnumControl.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_EnumControl__ +#define __javax_sound_sampled_EnumControl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class EnumControl; + class EnumControl$Type; + } + } + } +} + +class javax::sound::sampled::EnumControl : public ::javax::sound::sampled::Control +{ + +public: // actually protected + EnumControl(::javax::sound::sampled::EnumControl$Type *, JArray< ::java::lang::Object * > *, ::java::lang::Object *); +public: + virtual ::java::lang::Object * getValue(); + virtual JArray< ::java::lang::Object * > * getValues(); + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::javax::sound::sampled::Control)))) values; + ::java::lang::Object * value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_EnumControl__ diff --git a/libjava/javax/sound/sampled/FloatControl$Type.h b/libjava/javax/sound/sampled/FloatControl$Type.h new file mode 100644 index 00000000000..d14a4f9f10b --- /dev/null +++ b/libjava/javax/sound/sampled/FloatControl$Type.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_FloatControl$Type__ +#define __javax_sound_sampled_FloatControl$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class FloatControl$Type; + } + } + } +} + +class javax::sound::sampled::FloatControl$Type : public ::javax::sound::sampled::Control$Type +{ + +public: // actually protected + FloatControl$Type(::java::lang::String *); +public: + static ::javax::sound::sampled::FloatControl$Type * AUX_RETURN; + static ::javax::sound::sampled::FloatControl$Type * AUX_SEND; + static ::javax::sound::sampled::FloatControl$Type * BALANCE; + static ::javax::sound::sampled::FloatControl$Type * MASTER_GAIN; + static ::javax::sound::sampled::FloatControl$Type * PAN; + static ::javax::sound::sampled::FloatControl$Type * REVERB_RETURN; + static ::javax::sound::sampled::FloatControl$Type * REVERB_SEND; + static ::javax::sound::sampled::FloatControl$Type * SAMPLE_RATE; + static ::javax::sound::sampled::FloatControl$Type * VOLUME; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_FloatControl$Type__ diff --git a/libjava/javax/sound/sampled/FloatControl.h b/libjava/javax/sound/sampled/FloatControl.h new file mode 100644 index 00000000000..3a7da025b9b --- /dev/null +++ b/libjava/javax/sound/sampled/FloatControl.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_FloatControl__ +#define __javax_sound_sampled_FloatControl__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class FloatControl; + class FloatControl$Type; + } + } + } +} + +class javax::sound::sampled::FloatControl : public ::javax::sound::sampled::Control +{ + +public: // actually protected + FloatControl(::javax::sound::sampled::FloatControl$Type *, jfloat, jfloat, jfloat, jint, jfloat, ::java::lang::String *); + FloatControl(::javax::sound::sampled::FloatControl$Type *, jfloat, jfloat, jfloat, jint, jfloat, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jfloat getMaximum(); + virtual ::java::lang::String * getMaxLabel(); + virtual ::java::lang::String * getMidLabel(); + virtual jfloat getMinimum(); + virtual ::java::lang::String * getMinLabel(); + virtual jfloat getPrecision(); + virtual ::java::lang::String * getUnits(); + virtual jint getUpdatePeriod(); + virtual jfloat getValue(); + virtual void setValue(jfloat); + virtual void shift(jfloat, jfloat, jint); + virtual ::java::lang::String * toString(); +private: + jfloat __attribute__((aligned(__alignof__( ::javax::sound::sampled::Control)))) minimum; + jfloat maximum; + jfloat precision; + jint updatePeriod; + jfloat value; + ::java::lang::String * units; + ::java::lang::String * minLabel; + ::java::lang::String * maxLabel; + ::java::lang::String * midLabel; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_FloatControl__ diff --git a/libjava/javax/sound/sampled/Line$Info.h b/libjava/javax/sound/sampled/Line$Info.h new file mode 100644 index 00000000000..982c0273204 --- /dev/null +++ b/libjava/javax/sound/sampled/Line$Info.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Line$Info__ +#define __javax_sound_sampled_Line$Info__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Line$Info; + } + } + } +} + +class javax::sound::sampled::Line$Info : public ::java::lang::Object +{ + +public: + Line$Info(::java::lang::Class *); + virtual ::java::lang::Class * getLineClass(); + virtual jboolean matches(::javax::sound::sampled::Line$Info *); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) klass; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_Line$Info__ diff --git a/libjava/javax/sound/sampled/Line.h b/libjava/javax/sound/sampled/Line.h new file mode 100644 index 00000000000..7f6552d8d87 --- /dev/null +++ b/libjava/javax/sound/sampled/Line.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Line__ +#define __javax_sound_sampled_Line__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Control; + class Control$Type; + class Line; + class Line$Info; + class LineListener; + } + } + } +} + +class javax::sound::sampled::Line : public ::java::lang::Object +{ + +public: + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_Line__ diff --git a/libjava/javax/sound/sampled/LineEvent$Type.h b/libjava/javax/sound/sampled/LineEvent$Type.h new file mode 100644 index 00000000000..c509deca221 --- /dev/null +++ b/libjava/javax/sound/sampled/LineEvent$Type.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_LineEvent$Type__ +#define __javax_sound_sampled_LineEvent$Type__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class LineEvent$Type; + } + } + } +} + +class javax::sound::sampled::LineEvent$Type : public ::java::lang::Object +{ + +public: // actually protected + LineEvent$Type(::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + static ::javax::sound::sampled::LineEvent$Type * CLOSE; + static ::javax::sound::sampled::LineEvent$Type * OPEN; + static ::javax::sound::sampled::LineEvent$Type * START; + static ::javax::sound::sampled::LineEvent$Type * STOP; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_LineEvent$Type__ diff --git a/libjava/javax/sound/sampled/LineEvent.h b/libjava/javax/sound/sampled/LineEvent.h new file mode 100644 index 00000000000..ccc90e25dc8 --- /dev/null +++ b/libjava/javax/sound/sampled/LineEvent.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_LineEvent__ +#define __javax_sound_sampled_LineEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Line; + class LineEvent; + class LineEvent$Type; + } + } + } +} + +class javax::sound::sampled::LineEvent : public ::java::util::EventObject +{ + +public: + LineEvent(::javax::sound::sampled::Line *, ::javax::sound::sampled::LineEvent$Type *, jlong); + virtual jlong getFramePosition(); + virtual ::javax::sound::sampled::Line * getLine(); + virtual ::javax::sound::sampled::LineEvent$Type * getType(); + virtual ::java::lang::String * toString(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); + static const jlong serialVersionUID = -1274246333383880410LL; + ::javax::sound::sampled::LineEvent$Type * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) type; + jlong framePosition; + ::javax::sound::sampled::Line * line; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_LineEvent__ diff --git a/libjava/javax/sound/sampled/LineListener.h b/libjava/javax/sound/sampled/LineListener.h new file mode 100644 index 00000000000..5abbde1a870 --- /dev/null +++ b/libjava/javax/sound/sampled/LineListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_LineListener__ +#define __javax_sound_sampled_LineListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class LineEvent; + class LineListener; + } + } + } +} + +class javax::sound::sampled::LineListener : public ::java::lang::Object +{ + +public: + virtual void update(::javax::sound::sampled::LineEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_LineListener__ diff --git a/libjava/javax/sound/sampled/LineUnavailableException.h b/libjava/javax/sound/sampled/LineUnavailableException.h new file mode 100644 index 00000000000..a0068a6ec06 --- /dev/null +++ b/libjava/javax/sound/sampled/LineUnavailableException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_LineUnavailableException__ +#define __javax_sound_sampled_LineUnavailableException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class LineUnavailableException; + } + } + } +} + +class javax::sound::sampled::LineUnavailableException : public ::java::lang::Exception +{ + +public: + LineUnavailableException(); + LineUnavailableException(::java::lang::String *); +private: + static const jlong serialVersionUID = -2046718279487432130LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_LineUnavailableException__ diff --git a/libjava/javax/sound/sampled/Mixer$Info.h b/libjava/javax/sound/sampled/Mixer$Info.h new file mode 100644 index 00000000000..81ba18b1d61 --- /dev/null +++ b/libjava/javax/sound/sampled/Mixer$Info.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Mixer$Info__ +#define __javax_sound_sampled_Mixer$Info__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Mixer$Info; + } + } + } +} + +class javax::sound::sampled::Mixer$Info : public ::java::lang::Object +{ + +public: // actually protected + Mixer$Info(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getVendor(); + virtual ::java::lang::String * getVersion(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * description; + ::java::lang::String * vendor; + ::java::lang::String * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_Mixer$Info__ diff --git a/libjava/javax/sound/sampled/Mixer.h b/libjava/javax/sound/sampled/Mixer.h new file mode 100644 index 00000000000..b0bd095592a --- /dev/null +++ b/libjava/javax/sound/sampled/Mixer.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Mixer__ +#define __javax_sound_sampled_Mixer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Control; + class Control$Type; + class Line; + class Line$Info; + class LineListener; + class Mixer; + class Mixer$Info; + } + } + } +} + +class javax::sound::sampled::Mixer : public ::java::lang::Object +{ + +public: + virtual ::javax::sound::sampled::Line * getLine(::javax::sound::sampled::Line$Info *) = 0; + virtual jint getMaxLines(::javax::sound::sampled::Line$Info *) = 0; + virtual ::javax::sound::sampled::Mixer$Info * getMixerInfo() = 0; + virtual JArray< ::javax::sound::sampled::Line$Info * > * getSourceLineInfo() = 0; + virtual JArray< ::javax::sound::sampled::Line$Info * > * getSourceLineInfo(::javax::sound::sampled::Line$Info *) = 0; + virtual JArray< ::javax::sound::sampled::Line * > * getSourceLines() = 0; + virtual JArray< ::javax::sound::sampled::Line$Info * > * getTargetLineInfo() = 0; + virtual JArray< ::javax::sound::sampled::Line$Info * > * getTargetLineInfo(::javax::sound::sampled::Line$Info *) = 0; + virtual JArray< ::javax::sound::sampled::Line * > * getTargetLines() = 0; + virtual jboolean isLineSupported(::javax::sound::sampled::Line$Info *) = 0; + virtual jboolean isSynchronizationSupported(JArray< ::javax::sound::sampled::Line * > *, jboolean) = 0; + virtual void synchronize(JArray< ::javax::sound::sampled::Line * > *, jboolean) = 0; + virtual void unsynchronize(JArray< ::javax::sound::sampled::Line * > *) = 0; + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_Mixer__ diff --git a/libjava/javax/sound/sampled/Port$Info.h b/libjava/javax/sound/sampled/Port$Info.h new file mode 100644 index 00000000000..1635e27c31b --- /dev/null +++ b/libjava/javax/sound/sampled/Port$Info.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Port$Info__ +#define __javax_sound_sampled_Port$Info__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Line$Info; + class Port$Info; + } + } + } +} + +class javax::sound::sampled::Port$Info : public ::javax::sound::sampled::Line$Info +{ + +public: + Port$Info(::java::lang::Class *, ::java::lang::String *, jboolean); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * getName(); + virtual jboolean isSource(); + virtual jboolean matches(::javax::sound::sampled::Line$Info *); + virtual ::java::lang::String * toString(); + static ::javax::sound::sampled::Port$Info * COMPACT_DISC; + static ::javax::sound::sampled::Port$Info * HEADPHONE; + static ::javax::sound::sampled::Port$Info * LINE_IN; + static ::javax::sound::sampled::Port$Info * LINE_OUT; + static ::javax::sound::sampled::Port$Info * MICROPHONE; + static ::javax::sound::sampled::Port$Info * SPEAKER; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::sampled::Line$Info)))) name; + jboolean isSource__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_Port$Info__ diff --git a/libjava/javax/sound/sampled/Port.h b/libjava/javax/sound/sampled/Port.h new file mode 100644 index 00000000000..4958786a943 --- /dev/null +++ b/libjava/javax/sound/sampled/Port.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_Port__ +#define __javax_sound_sampled_Port__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Control; + class Control$Type; + class Line$Info; + class LineListener; + class Port; + } + } + } +} + +class javax::sound::sampled::Port : public ::java::lang::Object +{ + +public: + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_Port__ diff --git a/libjava/javax/sound/sampled/ReverbType.h b/libjava/javax/sound/sampled/ReverbType.h new file mode 100644 index 00000000000..acdf5142cf8 --- /dev/null +++ b/libjava/javax/sound/sampled/ReverbType.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_ReverbType__ +#define __javax_sound_sampled_ReverbType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class ReverbType; + } + } + } +} + +class javax::sound::sampled::ReverbType : public ::java::lang::Object +{ + +public: // actually protected + ReverbType(::java::lang::String *, jint, jfloat, jint, jfloat, jint); +public: + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual jint getDecayTime(); + virtual jint getEarlyReflectionDelay(); + virtual jfloat getEarlyReflectionIntensity(); + virtual jint getLateReflectionDelay(); + virtual jfloat getLateReflectionIntensity(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jint earlyReflectionDelay; + jfloat earlyReflectionIntensity; + jint lateReflectionDelay; + jfloat lateReflectionIntensity; + jint decayTime; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_ReverbType__ diff --git a/libjava/javax/sound/sampled/SourceDataLine.h b/libjava/javax/sound/sampled/SourceDataLine.h new file mode 100644 index 00000000000..74b5e807631 --- /dev/null +++ b/libjava/javax/sound/sampled/SourceDataLine.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_SourceDataLine__ +#define __javax_sound_sampled_SourceDataLine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class Control; + class Control$Type; + class Line$Info; + class LineListener; + class SourceDataLine; + } + } + } +} + +class javax::sound::sampled::SourceDataLine : public ::java::lang::Object +{ + +public: + virtual void open(::javax::sound::sampled::AudioFormat *) = 0; + virtual void open(::javax::sound::sampled::AudioFormat *, jint) = 0; + virtual jint write(JArray< jbyte > *, jint, jint) = 0; + virtual jint available() = 0; + virtual void drain() = 0; + virtual void flush() = 0; + virtual jint getBufferSize() = 0; + virtual ::javax::sound::sampled::AudioFormat * getFormat() = 0; + virtual jint getFramePosition() = 0; + virtual jfloat getLevel() = 0; + virtual jlong getLongFramePosition() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jboolean isActive() = 0; + virtual jboolean isRunning() = 0; + virtual void start() = 0; + virtual void stop() = 0; + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_SourceDataLine__ diff --git a/libjava/javax/sound/sampled/TargetDataLine.h b/libjava/javax/sound/sampled/TargetDataLine.h new file mode 100644 index 00000000000..18383898624 --- /dev/null +++ b/libjava/javax/sound/sampled/TargetDataLine.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_TargetDataLine__ +#define __javax_sound_sampled_TargetDataLine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class Control; + class Control$Type; + class Line$Info; + class LineListener; + class TargetDataLine; + } + } + } +} + +class javax::sound::sampled::TargetDataLine : public ::java::lang::Object +{ + +public: + virtual void open(::javax::sound::sampled::AudioFormat *) = 0; + virtual void open(::javax::sound::sampled::AudioFormat *, jint) = 0; + virtual jint read(JArray< jbyte > *, jint, jint) = 0; + virtual jint available() = 0; + virtual void drain() = 0; + virtual void flush() = 0; + virtual jint getBufferSize() = 0; + virtual ::javax::sound::sampled::AudioFormat * getFormat() = 0; + virtual jint getFramePosition() = 0; + virtual jfloat getLevel() = 0; + virtual jlong getLongFramePosition() = 0; + virtual jlong getMicrosecondPosition() = 0; + virtual jboolean isActive() = 0; + virtual jboolean isRunning() = 0; + virtual void start() = 0; + virtual void stop() = 0; + virtual void addLineListener(::javax::sound::sampled::LineListener *) = 0; + virtual void close() = 0; + virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *) = 0; + virtual JArray< ::javax::sound::sampled::Control * > * getControls() = 0; + virtual ::javax::sound::sampled::Line$Info * getLineInfo() = 0; + virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *) = 0; + virtual jboolean isOpen() = 0; + virtual void open() = 0; + virtual void removeLineListener(::javax::sound::sampled::LineListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sound_sampled_TargetDataLine__ diff --git a/libjava/javax/sound/sampled/UnsupportedAudioFileException.h b/libjava/javax/sound/sampled/UnsupportedAudioFileException.h new file mode 100644 index 00000000000..896c85a4226 --- /dev/null +++ b/libjava/javax/sound/sampled/UnsupportedAudioFileException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_UnsupportedAudioFileException__ +#define __javax_sound_sampled_UnsupportedAudioFileException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class UnsupportedAudioFileException; + } + } + } +} + +class javax::sound::sampled::UnsupportedAudioFileException : public ::java::lang::Exception +{ + +public: + UnsupportedAudioFileException(); + UnsupportedAudioFileException(::java::lang::String *); +private: + static const jlong serialVersionUID = -139127412623160368LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_UnsupportedAudioFileException__ diff --git a/libjava/javax/sound/sampled/spi/AudioFileReader.h b/libjava/javax/sound/sampled/spi/AudioFileReader.h new file mode 100644 index 00000000000..aab7d7d6887 --- /dev/null +++ b/libjava/javax/sound/sampled/spi/AudioFileReader.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_spi_AudioFileReader__ +#define __javax_sound_sampled_spi_AudioFileReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat; + class AudioInputStream; + namespace spi + { + class AudioFileReader; + } + } + } + } +} + +class javax::sound::sampled::spi::AudioFileReader : public ::java::lang::Object +{ + +public: + AudioFileReader(); + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *) = 0; + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *) = 0; + virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *) = 0; + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *) = 0; + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *) = 0; + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_spi_AudioFileReader__ diff --git a/libjava/javax/sound/sampled/spi/AudioFileWriter.h b/libjava/javax/sound/sampled/spi/AudioFileWriter.h new file mode 100644 index 00000000000..558e3daeaf1 --- /dev/null +++ b/libjava/javax/sound/sampled/spi/AudioFileWriter.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_spi_AudioFileWriter__ +#define __javax_sound_sampled_spi_AudioFileWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFileFormat$Type; + class AudioInputStream; + namespace spi + { + class AudioFileWriter; + } + } + } + } +} + +class javax::sound::sampled::spi::AudioFileWriter : public ::java::lang::Object +{ + +public: + AudioFileWriter(); + virtual JArray< ::javax::sound::sampled::AudioFileFormat$Type * > * getAudioFileTypes() = 0; + virtual JArray< ::javax::sound::sampled::AudioFileFormat$Type * > * getAudioFileTypes(::javax::sound::sampled::AudioInputStream *) = 0; + virtual jboolean isFileTypeSupported(::javax::sound::sampled::AudioFileFormat$Type *); + virtual jboolean isFileTypeSupported(::javax::sound::sampled::AudioFileFormat$Type *, ::javax::sound::sampled::AudioInputStream *); + virtual jint write(::javax::sound::sampled::AudioInputStream *, ::javax::sound::sampled::AudioFileFormat$Type *, ::java::io::File *) = 0; + virtual jint write(::javax::sound::sampled::AudioInputStream *, ::javax::sound::sampled::AudioFileFormat$Type *, ::java::io::OutputStream *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_spi_AudioFileWriter__ diff --git a/libjava/javax/sound/sampled/spi/FormatConversionProvider.h b/libjava/javax/sound/sampled/spi/FormatConversionProvider.h new file mode 100644 index 00000000000..e00ccac45e2 --- /dev/null +++ b/libjava/javax/sound/sampled/spi/FormatConversionProvider.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_spi_FormatConversionProvider__ +#define __javax_sound_sampled_spi_FormatConversionProvider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class AudioFormat; + class AudioFormat$Encoding; + class AudioInputStream; + namespace spi + { + class FormatConversionProvider; + } + } + } + } +} + +class javax::sound::sampled::spi::FormatConversionProvider : public ::java::lang::Object +{ + +public: + FormatConversionProvider(); + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::javax::sound::sampled::AudioFormat$Encoding *, ::javax::sound::sampled::AudioInputStream *) = 0; + virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::javax::sound::sampled::AudioFormat *, ::javax::sound::sampled::AudioInputStream *) = 0; + virtual JArray< ::javax::sound::sampled::AudioFormat$Encoding * > * getSourceEncodings() = 0; + virtual JArray< ::javax::sound::sampled::AudioFormat$Encoding * > * getTargetEncodings() = 0; + virtual JArray< ::javax::sound::sampled::AudioFormat$Encoding * > * getTargetEncodings(::javax::sound::sampled::AudioFormat *) = 0; + virtual JArray< ::javax::sound::sampled::AudioFormat * > * getTargetFormats(::javax::sound::sampled::AudioFormat$Encoding *, ::javax::sound::sampled::AudioFormat *) = 0; + virtual jboolean isConversionSupported(::javax::sound::sampled::AudioFormat$Encoding *, ::javax::sound::sampled::AudioFormat *); + virtual jboolean isConversionSupported(::javax::sound::sampled::AudioFormat *, ::javax::sound::sampled::AudioFormat *); + virtual jboolean isSourceEncodingSupported(::javax::sound::sampled::AudioFormat$Encoding *); + virtual jboolean isTargetEncodingSupported(::javax::sound::sampled::AudioFormat$Encoding *); + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_spi_FormatConversionProvider__ diff --git a/libjava/javax/sound/sampled/spi/MixerProvider.h b/libjava/javax/sound/sampled/spi/MixerProvider.h new file mode 100644 index 00000000000..50fc476d0ba --- /dev/null +++ b/libjava/javax/sound/sampled/spi/MixerProvider.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sound_sampled_spi_MixerProvider__ +#define __javax_sound_sampled_spi_MixerProvider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace sound + { + namespace sampled + { + class Mixer; + class Mixer$Info; + namespace spi + { + class MixerProvider; + } + } + } + } +} + +class javax::sound::sampled::spi::MixerProvider : public ::java::lang::Object +{ + +public: + MixerProvider(); + virtual ::javax::sound::sampled::Mixer * getMixer(::javax::sound::sampled::Mixer$Info *) = 0; + virtual JArray< ::javax::sound::sampled::Mixer$Info * > * getMixerInfo() = 0; + virtual jboolean isMixerSupported(::javax::sound::sampled::Mixer$Info *); + static ::java::lang::Class class$; +}; + +#endif // __javax_sound_sampled_spi_MixerProvider__ diff --git a/libjava/javax/sql/ConnectionEvent.h b/libjava/javax/sql/ConnectionEvent.h new file mode 100644 index 00000000000..19f1de27b66 --- /dev/null +++ b/libjava/javax/sql/ConnectionEvent.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_ConnectionEvent__ +#define __javax_sql_ConnectionEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class SQLException; + } + } + namespace javax + { + namespace sql + { + class ConnectionEvent; + class PooledConnection; + } + } +} + +class javax::sql::ConnectionEvent : public ::java::util::EventObject +{ + +public: + ConnectionEvent(::javax::sql::PooledConnection *); + ConnectionEvent(::javax::sql::PooledConnection *, ::java::sql::SQLException *); + virtual ::java::sql::SQLException * getSQLException(); +private: + static const jlong serialVersionUID = -4843217645290030002LL; + ::java::sql::SQLException * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) ex; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_sql_ConnectionEvent__ diff --git a/libjava/javax/sql/ConnectionEventListener.h b/libjava/javax/sql/ConnectionEventListener.h new file mode 100644 index 00000000000..c412cb76642 --- /dev/null +++ b/libjava/javax/sql/ConnectionEventListener.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_ConnectionEventListener__ +#define __javax_sql_ConnectionEventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class ConnectionEvent; + class ConnectionEventListener; + } + } +} + +class javax::sql::ConnectionEventListener : public ::java::lang::Object +{ + +public: + virtual void connectionClosed(::javax::sql::ConnectionEvent *) = 0; + virtual void connectionErrorOccurred(::javax::sql::ConnectionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_ConnectionEventListener__ diff --git a/libjava/javax/sql/ConnectionPoolDataSource.h b/libjava/javax/sql/ConnectionPoolDataSource.h new file mode 100644 index 00000000000..c64160e77c7 --- /dev/null +++ b/libjava/javax/sql/ConnectionPoolDataSource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_ConnectionPoolDataSource__ +#define __javax_sql_ConnectionPoolDataSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class ConnectionPoolDataSource; + class PooledConnection; + } + } +} + +class javax::sql::ConnectionPoolDataSource : public ::java::lang::Object +{ + +public: + virtual ::javax::sql::PooledConnection * getPooledConnection() = 0; + virtual ::javax::sql::PooledConnection * getPooledConnection(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::io::PrintWriter * getLogWriter() = 0; + virtual void setLogWriter(::java::io::PrintWriter *) = 0; + virtual void setLoginTimeout(jint) = 0; + virtual jint getLoginTimeout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_ConnectionPoolDataSource__ diff --git a/libjava/javax/sql/DataSource.h b/libjava/javax/sql/DataSource.h new file mode 100644 index 00000000000..f8048bd3183 --- /dev/null +++ b/libjava/javax/sql/DataSource.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_DataSource__ +#define __javax_sql_DataSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + } + } + namespace javax + { + namespace sql + { + class DataSource; + } + } +} + +class javax::sql::DataSource : public ::java::lang::Object +{ + +public: + virtual ::java::sql::Connection * getConnection() = 0; + virtual ::java::sql::Connection * getConnection(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::io::PrintWriter * getLogWriter() = 0; + virtual void setLogWriter(::java::io::PrintWriter *) = 0; + virtual void setLoginTimeout(jint) = 0; + virtual jint getLoginTimeout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_DataSource__ diff --git a/libjava/javax/sql/PooledConnection.h b/libjava/javax/sql/PooledConnection.h new file mode 100644 index 00000000000..9310e91ea9c --- /dev/null +++ b/libjava/javax/sql/PooledConnection.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_PooledConnection__ +#define __javax_sql_PooledConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + } + } + namespace javax + { + namespace sql + { + class ConnectionEventListener; + class PooledConnection; + } + } +} + +class javax::sql::PooledConnection : public ::java::lang::Object +{ + +public: + virtual ::java::sql::Connection * getConnection() = 0; + virtual void close() = 0; + virtual void addConnectionEventListener(::javax::sql::ConnectionEventListener *) = 0; + virtual void removeConnectionEventListener(::javax::sql::ConnectionEventListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_PooledConnection__ diff --git a/libjava/javax/sql/RowSet.h b/libjava/javax/sql/RowSet.h new file mode 100644 index 00000000000..b55f16589b3 --- /dev/null +++ b/libjava/javax/sql/RowSet.h @@ -0,0 +1,252 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSet__ +#define __javax_sql_RowSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + namespace net + { + class URL; + } + namespace sql + { + class Array; + class Blob; + class Clob; + class Date; + class Ref; + class ResultSetMetaData; + class SQLWarning; + class Statement; + class Time; + class Timestamp; + } + } + namespace javax + { + namespace sql + { + class RowSet; + class RowSetListener; + } + } +} + +class javax::sql::RowSet : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getUrl() = 0; + virtual void setUrl(::java::lang::String *) = 0; + virtual ::java::lang::String * getDataSourceName() = 0; + virtual void setDataSourceName(::java::lang::String *) = 0; + virtual ::java::lang::String * getUsername() = 0; + virtual void setUsername(::java::lang::String *) = 0; + virtual ::java::lang::String * getPassword() = 0; + virtual void setPassword(::java::lang::String *) = 0; + virtual jint getTransactionIsolation() = 0; + virtual void setTransactionIsolation(jint) = 0; + virtual ::java::util::Map * getTypeMap() = 0; + virtual void setTypeMap(::java::util::Map *) = 0; + virtual ::java::lang::String * getCommand() = 0; + virtual void setCommand(::java::lang::String *) = 0; + virtual jboolean isReadOnly() = 0; + virtual void setReadOnly(jboolean) = 0; + virtual jint getMaxFieldSize() = 0; + virtual void setMaxFieldSize(jint) = 0; + virtual jint getMaxRows() = 0; + virtual void setMaxRows(jint) = 0; + virtual jboolean getEscapeProcessing() = 0; + virtual void setEscapeProcessing(jboolean) = 0; + virtual jint getQueryTimeout() = 0; + virtual void setQueryTimeout(jint) = 0; + virtual void setType(jint) = 0; + virtual void setConcurrency(jint) = 0; + virtual void setNull(jint, jint) = 0; + virtual void setNull(jint, jint, ::java::lang::String *) = 0; + virtual void setBoolean(jint, jboolean) = 0; + virtual void setByte(jint, jbyte) = 0; + virtual void setShort(jint, jshort) = 0; + virtual void setInt(jint, jint) = 0; + virtual void setLong(jint, jlong) = 0; + virtual void setFloat(jint, jfloat) = 0; + virtual void setDouble(jint, jdouble) = 0; + virtual void setBigDecimal(jint, ::java::math::BigDecimal *) = 0; + virtual void setString(jint, ::java::lang::String *) = 0; + virtual void setBytes(jint, JArray< jbyte > *) = 0; + virtual void setDate(jint, ::java::sql::Date *) = 0; + virtual void setTime(jint, ::java::sql::Time *) = 0; + virtual void setTimestamp(jint, ::java::sql::Timestamp *) = 0; + virtual void setAsciiStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void setBinaryStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void setCharacterStream(jint, ::java::io::Reader *, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *, jint, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *, jint) = 0; + virtual void setObject(jint, ::java::lang::Object *) = 0; + virtual void setRef(jint, ::java::sql::Ref *) = 0; + virtual void setBlob(jint, ::java::sql::Blob *) = 0; + virtual void setClob(jint, ::java::sql::Clob *) = 0; + virtual void setArray(jint, ::java::sql::Array *) = 0; + virtual void setDate(jint, ::java::sql::Date *, ::java::util::Calendar *) = 0; + virtual void setTime(jint, ::java::sql::Time *, ::java::util::Calendar *) = 0; + virtual void setTimestamp(jint, ::java::sql::Timestamp *, ::java::util::Calendar *) = 0; + virtual void clearParameters() = 0; + virtual void execute() = 0; + virtual void addRowSetListener(::javax::sql::RowSetListener *) = 0; + virtual void removeRowSetListener(::javax::sql::RowSetListener *) = 0; + virtual jboolean next() = 0; + virtual void close() = 0; + virtual jboolean wasNull() = 0; + virtual ::java::lang::String * getString(jint) = 0; + virtual jboolean getBoolean(jint) = 0; + virtual jbyte getByte(jint) = 0; + virtual jshort getShort(jint) = 0; + virtual jint getInt(jint) = 0; + virtual jlong getLong(jint) = 0; + virtual jfloat getFloat(jint) = 0; + virtual jdouble getDouble(jint) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(jint, jint) = 0; + virtual JArray< jbyte > * getBytes(jint) = 0; + virtual ::java::sql::Date * getDate(jint) = 0; + virtual ::java::sql::Time * getTime(jint) = 0; + virtual ::java::sql::Timestamp * getTimestamp(jint) = 0; + virtual ::java::io::InputStream * getAsciiStream(jint) = 0; + virtual ::java::io::InputStream * getUnicodeStream(jint) = 0; + virtual ::java::io::InputStream * getBinaryStream(jint) = 0; + virtual ::java::lang::String * getString(::java::lang::String *) = 0; + virtual jboolean getBoolean(::java::lang::String *) = 0; + virtual jbyte getByte(::java::lang::String *) = 0; + virtual jshort getShort(::java::lang::String *) = 0; + virtual jint getInt(::java::lang::String *) = 0; + virtual jlong getLong(::java::lang::String *) = 0; + virtual jfloat getFloat(::java::lang::String *) = 0; + virtual jdouble getDouble(::java::lang::String *) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(::java::lang::String *, jint) = 0; + virtual JArray< jbyte > * getBytes(::java::lang::String *) = 0; + virtual ::java::sql::Date * getDate(::java::lang::String *) = 0; + virtual ::java::sql::Time * getTime(::java::lang::String *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(::java::lang::String *) = 0; + virtual ::java::io::InputStream * getAsciiStream(::java::lang::String *) = 0; + virtual ::java::io::InputStream * getUnicodeStream(::java::lang::String *) = 0; + virtual ::java::io::InputStream * getBinaryStream(::java::lang::String *) = 0; + virtual ::java::sql::SQLWarning * getWarnings() = 0; + virtual void clearWarnings() = 0; + virtual ::java::lang::String * getCursorName() = 0; + virtual ::java::sql::ResultSetMetaData * getMetaData() = 0; + virtual ::java::lang::Object * getObject(jint) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *) = 0; + virtual jint findColumn(::java::lang::String *) = 0; + virtual ::java::io::Reader * getCharacterStream(jint) = 0; + virtual ::java::io::Reader * getCharacterStream(::java::lang::String *) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(jint) = 0; + virtual ::java::math::BigDecimal * getBigDecimal(::java::lang::String *) = 0; + virtual jboolean isBeforeFirst() = 0; + virtual jboolean isAfterLast() = 0; + virtual jboolean isFirst() = 0; + virtual jboolean isLast() = 0; + virtual void beforeFirst() = 0; + virtual void afterLast() = 0; + virtual jboolean first() = 0; + virtual jboolean last() = 0; + virtual jint getRow() = 0; + virtual jboolean absolute(jint) = 0; + virtual jboolean relative(jint) = 0; + virtual jboolean previous() = 0; + virtual void setFetchDirection(jint) = 0; + virtual jint getFetchDirection() = 0; + virtual void setFetchSize(jint) = 0; + virtual jint getFetchSize() = 0; + virtual jint getType() = 0; + virtual jint getConcurrency() = 0; + virtual jboolean rowUpdated() = 0; + virtual jboolean rowInserted() = 0; + virtual jboolean rowDeleted() = 0; + virtual void updateNull(jint) = 0; + virtual void updateBoolean(jint, jboolean) = 0; + virtual void updateByte(jint, jbyte) = 0; + virtual void updateShort(jint, jshort) = 0; + virtual void updateInt(jint, jint) = 0; + virtual void updateLong(jint, jlong) = 0; + virtual void updateFloat(jint, jfloat) = 0; + virtual void updateDouble(jint, jdouble) = 0; + virtual void updateBigDecimal(jint, ::java::math::BigDecimal *) = 0; + virtual void updateString(jint, ::java::lang::String *) = 0; + virtual void updateBytes(jint, JArray< jbyte > *) = 0; + virtual void updateDate(jint, ::java::sql::Date *) = 0; + virtual void updateTime(jint, ::java::sql::Time *) = 0; + virtual void updateTimestamp(jint, ::java::sql::Timestamp *) = 0; + virtual void updateAsciiStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void updateBinaryStream(jint, ::java::io::InputStream *, jint) = 0; + virtual void updateCharacterStream(jint, ::java::io::Reader *, jint) = 0; + virtual void updateObject(jint, ::java::lang::Object *, jint) = 0; + virtual void updateObject(jint, ::java::lang::Object *) = 0; + virtual void updateNull(::java::lang::String *) = 0; + virtual void updateBoolean(::java::lang::String *, jboolean) = 0; + virtual void updateByte(::java::lang::String *, jbyte) = 0; + virtual void updateShort(::java::lang::String *, jshort) = 0; + virtual void updateInt(::java::lang::String *, jint) = 0; + virtual void updateLong(::java::lang::String *, jlong) = 0; + virtual void updateFloat(::java::lang::String *, jfloat) = 0; + virtual void updateDouble(::java::lang::String *, jdouble) = 0; + virtual void updateBigDecimal(::java::lang::String *, ::java::math::BigDecimal *) = 0; + virtual void updateString(::java::lang::String *, ::java::lang::String *) = 0; + virtual void updateBytes(::java::lang::String *, JArray< jbyte > *) = 0; + virtual void updateDate(::java::lang::String *, ::java::sql::Date *) = 0; + virtual void updateTime(::java::lang::String *, ::java::sql::Time *) = 0; + virtual void updateTimestamp(::java::lang::String *, ::java::sql::Timestamp *) = 0; + virtual void updateAsciiStream(::java::lang::String *, ::java::io::InputStream *, jint) = 0; + virtual void updateBinaryStream(::java::lang::String *, ::java::io::InputStream *, jint) = 0; + virtual void updateCharacterStream(::java::lang::String *, ::java::io::Reader *, jint) = 0; + virtual void updateObject(::java::lang::String *, ::java::lang::Object *, jint) = 0; + virtual void updateObject(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void insertRow() = 0; + virtual void updateRow() = 0; + virtual void deleteRow() = 0; + virtual void refreshRow() = 0; + virtual void cancelRowUpdates() = 0; + virtual void moveToInsertRow() = 0; + virtual void moveToCurrentRow() = 0; + virtual ::java::sql::Statement * getStatement() = 0; + virtual ::java::lang::Object * getObject(jint, ::java::util::Map *) = 0; + virtual ::java::sql::Ref * getRef(jint) = 0; + virtual ::java::sql::Blob * getBlob(jint) = 0; + virtual ::java::sql::Clob * getClob(jint) = 0; + virtual ::java::sql::Array * getArray(jint) = 0; + virtual ::java::lang::Object * getObject(::java::lang::String *, ::java::util::Map *) = 0; + virtual ::java::sql::Ref * getRef(::java::lang::String *) = 0; + virtual ::java::sql::Blob * getBlob(::java::lang::String *) = 0; + virtual ::java::sql::Clob * getClob(::java::lang::String *) = 0; + virtual ::java::sql::Array * getArray(::java::lang::String *) = 0; + virtual ::java::sql::Date * getDate(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Date * getDate(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::sql::Time * getTime(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Time * getTime(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(jint, ::java::util::Calendar *) = 0; + virtual ::java::sql::Timestamp * getTimestamp(::java::lang::String *, ::java::util::Calendar *) = 0; + virtual ::java::net::URL * getURL(jint) = 0; + virtual ::java::net::URL * getURL(::java::lang::String *) = 0; + virtual void updateRef(jint, ::java::sql::Ref *) = 0; + virtual void updateRef(::java::lang::String *, ::java::sql::Ref *) = 0; + virtual void updateBlob(jint, ::java::sql::Blob *) = 0; + virtual void updateBlob(::java::lang::String *, ::java::sql::Blob *) = 0; + virtual void updateClob(jint, ::java::sql::Clob *) = 0; + virtual void updateClob(::java::lang::String *, ::java::sql::Clob *) = 0; + virtual void updateArray(jint, ::java::sql::Array *) = 0; + virtual void updateArray(::java::lang::String *, ::java::sql::Array *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_RowSet__ diff --git a/libjava/javax/sql/RowSetEvent.h b/libjava/javax/sql/RowSetEvent.h new file mode 100644 index 00000000000..5c5ba6e6461 --- /dev/null +++ b/libjava/javax/sql/RowSetEvent.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSetEvent__ +#define __javax_sql_RowSetEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class RowSet; + class RowSetEvent; + } + } +} + +class javax::sql::RowSetEvent : public ::java::util::EventObject +{ + +public: + RowSetEvent(::javax::sql::RowSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_sql_RowSetEvent__ diff --git a/libjava/javax/sql/RowSetInternal.h b/libjava/javax/sql/RowSetInternal.h new file mode 100644 index 00000000000..e1869df86f1 --- /dev/null +++ b/libjava/javax/sql/RowSetInternal.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSetInternal__ +#define __javax_sql_RowSetInternal__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + class ResultSet; + } + } + namespace javax + { + namespace sql + { + class RowSetInternal; + class RowSetMetaData; + } + } +} + +class javax::sql::RowSetInternal : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::Object * > * getParams() = 0; + virtual ::java::sql::Connection * getConnection() = 0; + virtual void setMetaData(::javax::sql::RowSetMetaData *) = 0; + virtual ::java::sql::ResultSet * getOriginal() = 0; + virtual ::java::sql::ResultSet * getOriginalRow() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_RowSetInternal__ diff --git a/libjava/javax/sql/RowSetListener.h b/libjava/javax/sql/RowSetListener.h new file mode 100644 index 00000000000..9edc7d4bcd0 --- /dev/null +++ b/libjava/javax/sql/RowSetListener.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSetListener__ +#define __javax_sql_RowSetListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class RowSetEvent; + class RowSetListener; + } + } +} + +class javax::sql::RowSetListener : public ::java::lang::Object +{ + +public: + virtual void rowSetChanged(::javax::sql::RowSetEvent *) = 0; + virtual void rowChanged(::javax::sql::RowSetEvent *) = 0; + virtual void cursorMoved(::javax::sql::RowSetEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_RowSetListener__ diff --git a/libjava/javax/sql/RowSetMetaData.h b/libjava/javax/sql/RowSetMetaData.h new file mode 100644 index 00000000000..90d5a46c737 --- /dev/null +++ b/libjava/javax/sql/RowSetMetaData.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSetMetaData__ +#define __javax_sql_RowSetMetaData__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class RowSetMetaData; + } + } +} + +class javax::sql::RowSetMetaData : public ::java::lang::Object +{ + +public: + virtual void setColumnCount(jint) = 0; + virtual void setAutoIncrement(jint, jboolean) = 0; + virtual void setCaseSensitive(jint, jboolean) = 0; + virtual void setSearchable(jint, jboolean) = 0; + virtual void setCurrency(jint, jboolean) = 0; + virtual void setNullable(jint, jint) = 0; + virtual void setSigned(jint, jboolean) = 0; + virtual void setColumnDisplaySize(jint, jint) = 0; + virtual void setColumnLabel(jint, ::java::lang::String *) = 0; + virtual void setColumnName(jint, ::java::lang::String *) = 0; + virtual void setSchemaName(jint, ::java::lang::String *) = 0; + virtual void setPrecision(jint, jint) = 0; + virtual void setScale(jint, jint) = 0; + virtual void setTableName(jint, ::java::lang::String *) = 0; + virtual void setCatalogName(jint, ::java::lang::String *) = 0; + virtual void setColumnType(jint, jint) = 0; + virtual void setColumnTypeName(jint, ::java::lang::String *) = 0; + virtual jint getColumnCount() = 0; + virtual jboolean isAutoIncrement(jint) = 0; + virtual jboolean isCaseSensitive(jint) = 0; + virtual jboolean isSearchable(jint) = 0; + virtual jboolean isCurrency(jint) = 0; + virtual jint isNullable(jint) = 0; + virtual jboolean isSigned(jint) = 0; + virtual jint getColumnDisplaySize(jint) = 0; + virtual ::java::lang::String * getColumnLabel(jint) = 0; + virtual ::java::lang::String * getColumnName(jint) = 0; + virtual ::java::lang::String * getSchemaName(jint) = 0; + virtual jint getPrecision(jint) = 0; + virtual jint getScale(jint) = 0; + virtual ::java::lang::String * getTableName(jint) = 0; + virtual ::java::lang::String * getCatalogName(jint) = 0; + virtual jint getColumnType(jint) = 0; + virtual ::java::lang::String * getColumnTypeName(jint) = 0; + virtual jboolean isReadOnly(jint) = 0; + virtual jboolean isWritable(jint) = 0; + virtual jboolean isDefinitelyWritable(jint) = 0; + virtual ::java::lang::String * getColumnClassName(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_RowSetMetaData__ diff --git a/libjava/javax/sql/RowSetReader.h b/libjava/javax/sql/RowSetReader.h new file mode 100644 index 00000000000..6e2adad48f3 --- /dev/null +++ b/libjava/javax/sql/RowSetReader.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSetReader__ +#define __javax_sql_RowSetReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class RowSetInternal; + class RowSetReader; + } + } +} + +class javax::sql::RowSetReader : public ::java::lang::Object +{ + +public: + virtual void readData(::javax::sql::RowSetInternal *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_RowSetReader__ diff --git a/libjava/javax/sql/RowSetWriter.h b/libjava/javax/sql/RowSetWriter.h new file mode 100644 index 00000000000..c4ce0de158c --- /dev/null +++ b/libjava/javax/sql/RowSetWriter.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_RowSetWriter__ +#define __javax_sql_RowSetWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class RowSetInternal; + class RowSetWriter; + } + } +} + +class javax::sql::RowSetWriter : public ::java::lang::Object +{ + +public: + virtual jboolean writeData(::javax::sql::RowSetInternal *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_RowSetWriter__ diff --git a/libjava/javax/sql/XAConnection.h b/libjava/javax/sql/XAConnection.h new file mode 100644 index 00000000000..ece83a7c9ce --- /dev/null +++ b/libjava/javax/sql/XAConnection.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_XAConnection__ +#define __javax_sql_XAConnection__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace sql + { + class Connection; + } + } + namespace javax + { + namespace sql + { + class ConnectionEventListener; + class XAConnection; + } + namespace transaction + { + namespace xa + { + class XAResource; + } + } + } +} + +class javax::sql::XAConnection : public ::java::lang::Object +{ + +public: + virtual ::javax::transaction::xa::XAResource * getXAResource() = 0; + virtual ::java::sql::Connection * getConnection() = 0; + virtual void close() = 0; + virtual void addConnectionEventListener(::javax::sql::ConnectionEventListener *) = 0; + virtual void removeConnectionEventListener(::javax::sql::ConnectionEventListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_XAConnection__ diff --git a/libjava/javax/sql/XADataSource.h b/libjava/javax/sql/XADataSource.h new file mode 100644 index 00000000000..b5177ad1983 --- /dev/null +++ b/libjava/javax/sql/XADataSource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_sql_XADataSource__ +#define __javax_sql_XADataSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace sql + { + class XAConnection; + class XADataSource; + } + } +} + +class javax::sql::XADataSource : public ::java::lang::Object +{ + +public: + virtual ::javax::sql::XAConnection * getXAConnection() = 0; + virtual ::javax::sql::XAConnection * getXAConnection(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::io::PrintWriter * getLogWriter() = 0; + virtual void setLogWriter(::java::io::PrintWriter *) = 0; + virtual void setLoginTimeout(jint) = 0; + virtual jint getLoginTimeout() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_sql_XADataSource__ diff --git a/libjava/javax/swing/AbstractAction.h b/libjava/javax/swing/AbstractAction.h new file mode 100644 index 00000000000..6f79d0d37f1 --- /dev/null +++ b/libjava/javax/swing/AbstractAction.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractAction__ +#define __javax_swing_AbstractAction__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class AbstractAction; + class Icon; + namespace event + { + class SwingPropertyChangeSupport; + } + } + } +} + +class javax::swing::AbstractAction : public ::java::lang::Object +{ + +public: + AbstractAction(); + AbstractAction(::java::lang::String *); + AbstractAction(::java::lang::String *, ::javax::swing::Icon *); +public: // actually protected + virtual ::java::lang::Object * clone(); +public: + virtual ::java::lang::Object * getValue(::java::lang::String *); + virtual void putValue(::java::lang::String *, ::java::lang::Object *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual JArray< ::java::lang::Object * > * getKeys(); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +private: + void firePropertyChange(::java::lang::String *, jboolean, jboolean); +public: + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + virtual void actionPerformed(::java::awt::event::ActionEvent *) = 0; +private: + static const jlong serialVersionUID = -6803159439231523484LL; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabled; + ::javax::swing::event::SwingPropertyChangeSupport * changeSupport; +private: + ::java::util::HashMap * store; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractAction__ diff --git a/libjava/javax/swing/AbstractButton$1.h b/libjava/javax/swing/AbstractButton$1.h new file mode 100644 index 00000000000..fa5975e2d53 --- /dev/null +++ b/libjava/javax/swing/AbstractButton$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton$1__ +#define __javax_swing_AbstractButton$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class AbstractButton$1; + } + } +} + +class javax::swing::AbstractButton$1 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractButton$1(::javax::swing::AbstractButton *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton$1__ diff --git a/libjava/javax/swing/AbstractButton$2.h b/libjava/javax/swing/AbstractButton$2.h new file mode 100644 index 00000000000..1bb6bc29681 --- /dev/null +++ b/libjava/javax/swing/AbstractButton$2.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton$2__ +#define __javax_swing_AbstractButton$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class AbstractButton$2; + } + } +} + +class javax::swing::AbstractButton$2 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractButton$2(::javax::swing::AbstractButton *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton$2__ diff --git a/libjava/javax/swing/AbstractButton$3.h b/libjava/javax/swing/AbstractButton$3.h new file mode 100644 index 00000000000..174029e5f26 --- /dev/null +++ b/libjava/javax/swing/AbstractButton$3.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton$3__ +#define __javax_swing_AbstractButton$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ItemEvent; + } + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class AbstractButton$3; + } + } +} + +class javax::swing::AbstractButton$3 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractButton$3(::javax::swing::AbstractButton *); +public: + void itemStateChanged(::java::awt::event::ItemEvent *); +public: // actually package-private + ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton$3__ diff --git a/libjava/javax/swing/AbstractButton$AccessibleAbstractButton.h b/libjava/javax/swing/AbstractButton$AccessibleAbstractButton.h new file mode 100644 index 00000000000..fd5ea169d2d --- /dev/null +++ b/libjava/javax/swing/AbstractButton$AccessibleAbstractButton.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton$AccessibleAbstractButton__ +#define __javax_swing_AbstractButton$AccessibleAbstractButton__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleAction; + class AccessibleIcon; + class AccessibleRelationSet; + class AccessibleStateSet; + class AccessibleText; + class AccessibleValue; + } + namespace swing + { + class AbstractButton; + class AbstractButton$AccessibleAbstractButton; + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::swing::AbstractButton$AccessibleAbstractButton : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + AbstractButton$AccessibleAbstractButton(::javax::swing::AbstractButton *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::java::lang::String * getAccessibleName(); + virtual JArray< ::javax::accessibility::AccessibleIcon * > * getAccessibleIcon(); + virtual ::javax::accessibility::AccessibleRelationSet * getAccessibleRelationSet(); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jboolean doAccessibleAction(jint); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); + virtual jint getIndexAtPoint(::java::awt::Point *); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jint getCharCount(); + virtual jint getCaretPosition(); + virtual ::java::lang::String * getAtIndex(jint, jint); + virtual ::java::lang::String * getAfterIndex(jint, jint); + virtual ::java::lang::String * getBeforeIndex(jint, jint); + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint); + virtual jint getSelectionStart(); + virtual jint getSelectionEnd(); + virtual ::java::lang::String * getSelectedText(); +private: + static const jlong serialVersionUID = -5673062525319836790LL; +public: // actually package-private + ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton$AccessibleAbstractButton__ diff --git a/libjava/javax/swing/AbstractButton$ButtonChangeListener.h b/libjava/javax/swing/AbstractButton$ButtonChangeListener.h new file mode 100644 index 00000000000..e291daa77aa --- /dev/null +++ b/libjava/javax/swing/AbstractButton$ButtonChangeListener.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton$ButtonChangeListener__ +#define __javax_swing_AbstractButton$ButtonChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class AbstractButton; + class AbstractButton$ButtonChangeListener; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::AbstractButton$ButtonChangeListener : public ::java::lang::Object +{ + +public: // actually package-private + AbstractButton$ButtonChangeListener(::javax::swing::AbstractButton *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +private: + static const jlong serialVersionUID = 1471056094226600578LL; +public: // actually package-private + ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton$ButtonChangeListener__ diff --git a/libjava/javax/swing/AbstractButton$EventHandler.h b/libjava/javax/swing/AbstractButton$EventHandler.h new file mode 100644 index 00000000000..148efd61172 --- /dev/null +++ b/libjava/javax/swing/AbstractButton$EventHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton$EventHandler__ +#define __javax_swing_AbstractButton$EventHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ItemEvent; + } + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class AbstractButton$EventHandler; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::AbstractButton$EventHandler : public ::java::lang::Object +{ + + AbstractButton$EventHandler(::javax::swing::AbstractButton *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); +public: // actually package-private + AbstractButton$EventHandler(::javax::swing::AbstractButton *, ::javax::swing::AbstractButton$EventHandler *); + ::javax::swing::AbstractButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton$EventHandler__ diff --git a/libjava/javax/swing/AbstractButton.h b/libjava/javax/swing/AbstractButton.h new file mode 100644 index 00000000000..82cf58823fd --- /dev/null +++ b/libjava/javax/swing/AbstractButton.h @@ -0,0 +1,227 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractButton__ +#define __javax_swing_AbstractButton__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Image; + class Insets; + class LayoutManager; + namespace event + { + class ActionEvent; + class ActionListener; + class ItemEvent; + class ItemListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class AbstractButton$EventHandler; + class Action; + class ButtonModel; + class Icon; + namespace event + { + class ChangeEvent; + class ChangeListener; + } + namespace plaf + { + class ButtonUI; + } + } + } +} + +class javax::swing::AbstractButton : public ::javax::swing::JComponent +{ + +public: + AbstractButton(); + virtual ::javax::swing::ButtonModel * getModel(); + virtual void setModel(::javax::swing::ButtonModel *); +public: // actually protected + virtual void init(::java::lang::String *, ::javax::swing::Icon *); +public: + virtual ::java::lang::String * getActionCommand(); + virtual void setActionCommand(::java::lang::String *); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireItemStateChanged(::java::awt::event::ItemEvent *); + virtual void fireActionPerformed(::java::awt::event::ActionEvent *); + virtual void fireStateChanged(); +public: + virtual jint getMnemonic(); + virtual void setMnemonic(jchar); + virtual void setMnemonic(jint); + virtual void setDisplayedMnemonicIndex(jint); + virtual jint getDisplayedMnemonicIndex(); + virtual void setRolloverEnabled(jboolean); + virtual jboolean isRolloverEnabled(); + virtual void setSelected(jboolean); + virtual jboolean isSelected(); + virtual void setEnabled(jboolean); + virtual jint getHorizontalAlignment(); + virtual void setHorizontalAlignment(jint); + virtual jint getHorizontalTextPosition(); + virtual void setHorizontalTextPosition(jint); + virtual jint getVerticalAlignment(); + virtual void setVerticalAlignment(jint); + virtual jint getVerticalTextPosition(); + virtual void setVerticalTextPosition(jint); + virtual jboolean isBorderPainted(); + virtual void setBorderPainted(jboolean); + virtual ::javax::swing::Action * getAction(); + virtual void setAction(::javax::swing::Action *); + virtual ::javax::swing::Icon * getIcon(); + virtual void setIcon(::javax::swing::Icon *); + virtual ::java::lang::String * getText(); + virtual void setLabel(::java::lang::String *); + virtual ::java::lang::String * getLabel(); + virtual void setText(::java::lang::String *); + virtual void setIconTextGap(jint); + virtual jint getIconTextGap(); + virtual ::java::awt::Insets * getMargin(); + virtual void setMargin(::java::awt::Insets *); + virtual ::javax::swing::Icon * getPressedIcon(); + virtual void setPressedIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getDisabledIcon(); + virtual void setDisabledIcon(::javax::swing::Icon *); + virtual jboolean isFocusPainted(); + virtual void setFocusPainted(jboolean); +public: // actually protected + virtual jint checkHorizontalKey(jint, ::java::lang::String *); + virtual jint checkVerticalKey(jint, ::java::lang::String *); + virtual void configurePropertiesFromAction(::javax::swing::Action *); + virtual ::java::awt::event::ActionListener * createActionListener(); + virtual ::java::beans::PropertyChangeListener * createActionPropertyChangeListener(::javax::swing::Action *); + virtual ::javax::swing::event::ChangeListener * createChangeListener(); + virtual ::java::awt::event::ItemListener * createItemListener(); +public: + virtual void doClick(); + virtual void doClick(jint); + virtual ::javax::swing::Icon * getDisabledSelectedIcon(); + virtual void setDisabledSelectedIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getRolloverIcon(); + virtual void setRolloverIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getRolloverSelectedIcon(); + virtual void setRolloverSelectedIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getSelectedIcon(); + virtual void setSelectedIcon(::javax::swing::Icon *); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint); + virtual jboolean isContentAreaFilled(); + virtual void setContentAreaFilled(jboolean); +public: // actually protected + virtual void paintBorder(::java::awt::Graphics *); + virtual ::java::lang::String * paramString(); +public: + virtual void setUI(::javax::swing::plaf::ButtonUI *); + virtual ::javax::swing::plaf::ButtonUI * getUI(); + virtual void updateUI(); + virtual jlong getMultiClickThreshhold(); + virtual void setMultiClickThreshhold(jlong); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void setLayout(::java::awt::LayoutManager *); +public: // actually package-private + virtual void setUIProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::javax::swing::AbstractButton$EventHandler * getEventHandler(); +private: + static const jlong serialVersionUID = -937921345538462020LL; +public: // actually package-private + ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) default_icon; + ::javax::swing::Icon * pressed_icon; + ::javax::swing::Icon * disabledIcon; + ::javax::swing::Icon * selectedIcon; + ::javax::swing::Icon * disabledSelectedIcon; + ::javax::swing::Icon * rolloverIcon; + ::javax::swing::Icon * rolloverSelectedIcon; + ::javax::swing::Icon * current_icon; + ::java::lang::String * text; + jint iconTextGap; + jint verticalAlignment; + jint horizontalAlignment; + jint horizontalTextPosition; + jint verticalTextPosition; + jboolean borderPainted; + jboolean focusPainted; + jboolean contentAreaFilled; + jboolean rollOverEnabled; + ::javax::swing::Action * action; +public: // actually protected + ::javax::swing::ButtonModel * model; +public: // actually package-private + ::java::awt::Insets * margin; + jint mnemonicIndex; +public: // actually protected + ::java::awt::event::ActionListener * actionListener; + ::java::awt::event::ItemListener * itemListener; + ::javax::swing::event::ChangeListener * changeListener; +private: + ::javax::swing::AbstractButton$EventHandler * eventHandler; +public: // actually package-private + jlong multiClickThreshhold; + ::java::beans::PropertyChangeListener * actionPropertyChangeListener; +public: // actually protected + ::javax::swing::event::ChangeEvent * changeEvent; +private: + jboolean clientBorderPaintedSet; + jboolean clientRolloverEnabledSet; + jboolean clientIconTextGapSet; + jboolean clientContentAreaFilledSet; +public: + static ::java::lang::String * BORDER_PAINTED_CHANGED_PROPERTY; + static ::java::lang::String * CONTENT_AREA_FILLED_CHANGED_PROPERTY; + static ::java::lang::String * DISABLED_ICON_CHANGED_PROPERTY; + static ::java::lang::String * DISABLED_SELECTED_ICON_CHANGED_PROPERTY; + static ::java::lang::String * FOCUS_PAINTED_CHANGED_PROPERTY; + static ::java::lang::String * HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY; + static ::java::lang::String * HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY; + static ::java::lang::String * ICON_CHANGED_PROPERTY; + static ::java::lang::String * MARGIN_CHANGED_PROPERTY; + static ::java::lang::String * MNEMONIC_CHANGED_PROPERTY; + static ::java::lang::String * MODEL_CHANGED_PROPERTY; + static ::java::lang::String * PRESSED_ICON_CHANGED_PROPERTY; + static ::java::lang::String * ROLLOVER_ENABLED_CHANGED_PROPERTY; + static ::java::lang::String * ROLLOVER_ICON_CHANGED_PROPERTY; + static ::java::lang::String * ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY; + static ::java::lang::String * SELECTED_ICON_CHANGED_PROPERTY; + static ::java::lang::String * TEXT_CHANGED_PROPERTY; + static ::java::lang::String * VERTICAL_ALIGNMENT_CHANGED_PROPERTY; + static ::java::lang::String * VERTICAL_TEXT_POSITION_CHANGED_PROPERTY; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractButton__ diff --git a/libjava/javax/swing/AbstractCellEditor.h b/libjava/javax/swing/AbstractCellEditor.h new file mode 100644 index 00000000000..a3aae0dbd58 --- /dev/null +++ b/libjava/javax/swing/AbstractCellEditor.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractCellEditor__ +#define __javax_swing_AbstractCellEditor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class AbstractCellEditor; + namespace event + { + class CellEditorListener; + class ChangeEvent; + class EventListenerList; + } + } + } +} + +class javax::swing::AbstractCellEditor : public ::java::lang::Object +{ + +public: + AbstractCellEditor(); + virtual jboolean isCellEditable(::java::util::EventObject *); + virtual jboolean shouldSelectCell(::java::util::EventObject *); + virtual jboolean stopCellEditing(); + virtual void cancelCellEditing(); + virtual void addCellEditorListener(::javax::swing::event::CellEditorListener *); + virtual void removeCellEditorListener(::javax::swing::event::CellEditorListener *); + virtual JArray< ::javax::swing::event::CellEditorListener * > * getCellEditorListeners(); +public: // actually protected + virtual void fireEditingStopped(); + virtual void fireEditingCanceled(); +public: + virtual ::java::lang::Object * getCellEditorValue() = 0; +private: + static const jlong serialVersionUID = -1048006551406220959LL; +public: // actually protected + ::javax::swing::event::EventListenerList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerList; + ::javax::swing::event::ChangeEvent * changeEvent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractCellEditor__ diff --git a/libjava/javax/swing/AbstractListModel.h b/libjava/javax/swing/AbstractListModel.h new file mode 100644 index 00000000000..5e6eb547690 --- /dev/null +++ b/libjava/javax/swing/AbstractListModel.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractListModel__ +#define __javax_swing_AbstractListModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class AbstractListModel; + namespace event + { + class EventListenerList; + class ListDataListener; + } + } + } +} + +class javax::swing::AbstractListModel : public ::java::lang::Object +{ + +public: + AbstractListModel(); + virtual void addListDataListener(::javax::swing::event::ListDataListener *); + virtual void removeListDataListener(::javax::swing::event::ListDataListener *); +public: // actually protected + virtual void fireContentsChanged(::java::lang::Object *, jint, jint); + virtual void fireIntervalAdded(::java::lang::Object *, jint, jint); + virtual void fireIntervalRemoved(::java::lang::Object *, jint, jint); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::ListDataListener * > * getListDataListeners(); + virtual jint getSize() = 0; + virtual ::java::lang::Object * getElementAt(jint) = 0; +private: + static const jlong serialVersionUID = -3285184064379168730LL; +public: // actually protected + ::javax::swing::event::EventListenerList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractListModel__ diff --git a/libjava/javax/swing/AbstractSpinnerModel.h b/libjava/javax/swing/AbstractSpinnerModel.h new file mode 100644 index 00000000000..dde4ac870ae --- /dev/null +++ b/libjava/javax/swing/AbstractSpinnerModel.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_AbstractSpinnerModel__ +#define __javax_swing_AbstractSpinnerModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class AbstractSpinnerModel; + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + } + } +} + +class javax::swing::AbstractSpinnerModel : public ::java::lang::Object +{ + +public: + AbstractSpinnerModel(); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual void setValue(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getValue() = 0; + virtual ::java::lang::Object * getNextValue() = 0; + virtual ::java::lang::Object * getPreviousValue() = 0; +private: + ::javax::swing::event::ChangeEvent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) changeEvent; +public: // actually protected + ::javax::swing::event::EventListenerList * listenerList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_AbstractSpinnerModel__ diff --git a/libjava/javax/swing/Action.h b/libjava/javax/swing/Action.h new file mode 100644 index 00000000000..b3a42f4f0b5 --- /dev/null +++ b/libjava/javax/swing/Action.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Action__ +#define __javax_swing_Action__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Action; + } + } +} + +class javax::swing::Action : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getValue(::java::lang::String *) = 0; + virtual void putValue(::java::lang::String *, ::java::lang::Object *) = 0; + virtual jboolean isEnabled() = 0; + virtual void setEnabled(jboolean) = 0; + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual void actionPerformed(::java::awt::event::ActionEvent *) = 0; + static ::java::lang::String * DEFAULT; + static ::java::lang::String * LONG_DESCRIPTION; + static ::java::lang::String * NAME; + static ::java::lang::String * SHORT_DESCRIPTION; + static ::java::lang::String * SMALL_ICON; + static ::java::lang::String * ACCELERATOR_KEY; + static ::java::lang::String * ACTION_COMMAND_KEY; + static ::java::lang::String * MNEMONIC_KEY; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_Action__ diff --git a/libjava/javax/swing/ActionMap.h b/libjava/javax/swing/ActionMap.h new file mode 100644 index 00000000000..92e8e039ae6 --- /dev/null +++ b/libjava/javax/swing/ActionMap.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ActionMap__ +#define __javax_swing_ActionMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class ActionMap; + } + } +} + +class javax::swing::ActionMap : public ::java::lang::Object +{ + +public: + ActionMap(); + virtual ::javax::swing::Action * get(::java::lang::Object *); + virtual void put(::java::lang::Object *, ::javax::swing::Action *); + virtual void remove(::java::lang::Object *); + virtual ::javax::swing::ActionMap * getParent(); + virtual void setParent(::javax::swing::ActionMap *); + virtual jint size(); + virtual void clear(); + virtual JArray< ::java::lang::Object * > * keys(); + virtual JArray< ::java::lang::Object * > * allKeys(); +private: + static const jlong serialVersionUID = -6277518704513986346LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) actionMap; + ::javax::swing::ActionMap * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ActionMap__ diff --git a/libjava/javax/swing/BorderFactory.h b/libjava/javax/swing/BorderFactory.h new file mode 100644 index 00000000000..2a84d3366c5 --- /dev/null +++ b/libjava/javax/swing/BorderFactory.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_BorderFactory__ +#define __javax_swing_BorderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + } + } + namespace javax + { + namespace swing + { + class BorderFactory; + class Icon; + namespace border + { + class Border; + class CompoundBorder; + class MatteBorder; + class TitledBorder; + } + } + } +} + +class javax::swing::BorderFactory : public ::java::lang::Object +{ + + BorderFactory(); +public: + static ::javax::swing::border::Border * createLineBorder(::java::awt::Color *); + static ::javax::swing::border::Border * createLineBorder(::java::awt::Color *, jint); + static ::javax::swing::border::Border * createRaisedBevelBorder(); + static ::javax::swing::border::Border * createLoweredBevelBorder(); + static ::javax::swing::border::Border * createBevelBorder(jint); + static ::javax::swing::border::Border * createBevelBorder(jint, ::java::awt::Color *, ::java::awt::Color *); + static ::javax::swing::border::Border * createBevelBorder(jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + static ::javax::swing::border::Border * createEtchedBorder(); + static ::javax::swing::border::Border * createEtchedBorder(jint); + static ::javax::swing::border::Border * createEtchedBorder(::java::awt::Color *, ::java::awt::Color *); + static ::javax::swing::border::Border * createEtchedBorder(jint, ::java::awt::Color *, ::java::awt::Color *); + static ::javax::swing::border::TitledBorder * createTitledBorder(::java::lang::String *); + static ::javax::swing::border::TitledBorder * createTitledBorder(::javax::swing::border::Border *); + static ::javax::swing::border::TitledBorder * createTitledBorder(::javax::swing::border::Border *, ::java::lang::String *); + static ::javax::swing::border::TitledBorder * createTitledBorder(::javax::swing::border::Border *, ::java::lang::String *, jint, jint); + static ::javax::swing::border::TitledBorder * createTitledBorder(::javax::swing::border::Border *, ::java::lang::String *, jint, jint, ::java::awt::Font *); + static ::javax::swing::border::TitledBorder * createTitledBorder(::javax::swing::border::Border *, ::java::lang::String *, jint, jint, ::java::awt::Font *, ::java::awt::Color *); + static ::javax::swing::border::Border * createEmptyBorder(); + static ::javax::swing::border::Border * createEmptyBorder(jint, jint, jint, jint); + static ::javax::swing::border::CompoundBorder * createCompoundBorder(); + static ::javax::swing::border::CompoundBorder * createCompoundBorder(::javax::swing::border::Border *, ::javax::swing::border::Border *); + static ::javax::swing::border::MatteBorder * createMatteBorder(jint, jint, jint, jint, ::java::awt::Color *); + static ::javax::swing::border::MatteBorder * createMatteBorder(jint, jint, jint, jint, ::javax::swing::Icon *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_BorderFactory__ diff --git a/libjava/javax/swing/BoundedRangeModel.h b/libjava/javax/swing/BoundedRangeModel.h new file mode 100644 index 00000000000..6842157c266 --- /dev/null +++ b/libjava/javax/swing/BoundedRangeModel.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_BoundedRangeModel__ +#define __javax_swing_BoundedRangeModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class BoundedRangeModel; + namespace event + { + class ChangeListener; + } + } + } +} + +class javax::swing::BoundedRangeModel : public ::java::lang::Object +{ + +public: + virtual jint getValue() = 0; + virtual void setValue(jint) = 0; + virtual jint getMinimum() = 0; + virtual void setMinimum(jint) = 0; + virtual jint getMaximum() = 0; + virtual void setMaximum(jint) = 0; + virtual jboolean getValueIsAdjusting() = 0; + virtual void setValueIsAdjusting(jboolean) = 0; + virtual jint getExtent() = 0; + virtual void setExtent(jint) = 0; + virtual void setRangeProperties(jint, jint, jint, jint, jboolean) = 0; + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_BoundedRangeModel__ diff --git a/libjava/javax/swing/Box$AccessibleBox.h b/libjava/javax/swing/Box$AccessibleBox.h new file mode 100644 index 00000000000..eb552a1857d --- /dev/null +++ b/libjava/javax/swing/Box$AccessibleBox.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Box$AccessibleBox__ +#define __javax_swing_Box$AccessibleBox__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class Box; + class Box$AccessibleBox; + } + } +} + +class javax::swing::Box$AccessibleBox : public ::java::awt::Container$AccessibleAWTContainer +{ + +public: // actually protected + Box$AccessibleBox(::javax::swing::Box *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -7775079816389931944LL; +public: // actually package-private + ::javax::swing::Box * __attribute__((aligned(__alignof__( ::java::awt::Container$AccessibleAWTContainer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Box$AccessibleBox__ diff --git a/libjava/javax/swing/Box$Filler$AccessibleBoxFiller.h b/libjava/javax/swing/Box$Filler$AccessibleBoxFiller.h new file mode 100644 index 00000000000..66440c34421 --- /dev/null +++ b/libjava/javax/swing/Box$Filler$AccessibleBoxFiller.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Box$Filler$AccessibleBoxFiller__ +#define __javax_swing_Box$Filler$AccessibleBoxFiller__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class Box$Filler; + class Box$Filler$AccessibleBoxFiller; + } + } +} + +class javax::swing::Box$Filler$AccessibleBoxFiller : public ::java::awt::Component$AccessibleAWTComponent +{ + +public: // actually protected + Box$Filler$AccessibleBoxFiller(::javax::swing::Box$Filler *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 164963348357479321LL; +public: // actually package-private + ::javax::swing::Box$Filler * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Box$Filler$AccessibleBoxFiller__ diff --git a/libjava/javax/swing/Box$Filler.h b/libjava/javax/swing/Box$Filler.h new file mode 100644 index 00000000000..a16dc81500e --- /dev/null +++ b/libjava/javax/swing/Box$Filler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Box$Filler__ +#define __javax_swing_Box$Filler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Box$Filler; + } + } +} + +class javax::swing::Box$Filler : public ::javax::swing::JComponent +{ + +public: + Box$Filler(::java::awt::Dimension *, ::java::awt::Dimension *, ::java::awt::Dimension *); + virtual void changeShape(::java::awt::Dimension *, ::java::awt::Dimension *, ::java::awt::Dimension *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); +private: + static const jlong serialVersionUID = -1204263191910183998LL; + ::java::awt::Dimension * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) min; + ::java::awt::Dimension * pref; + ::java::awt::Dimension * max; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Box$Filler__ diff --git a/libjava/javax/swing/Box.h b/libjava/javax/swing/Box.h new file mode 100644 index 00000000000..29538a6eed8 --- /dev/null +++ b/libjava/javax/swing/Box.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Box__ +#define __javax_swing_Box__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class LayoutManager; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Box; + } + } +} + +class javax::swing::Box : public ::javax::swing::JComponent +{ + +public: + Box(jint); + static ::java::awt::Component * createGlue(); + static ::javax::swing::Box * createHorizontalBox(); + static ::java::awt::Component * createHorizontalGlue(); + static ::java::awt::Component * createHorizontalStrut(jint); + static ::java::awt::Component * createRigidArea(::java::awt::Dimension *); + static ::javax::swing::Box * createVerticalBox(); + static ::java::awt::Component * createVerticalGlue(); + static ::java::awt::Component * createVerticalStrut(jint); + virtual void setLayout(::java::awt::LayoutManager *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 1525417495883046342LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Box__ diff --git a/libjava/javax/swing/BoxLayout.h b/libjava/javax/swing/BoxLayout.h new file mode 100644 index 00000000000..c60bb8dd9b9 --- /dev/null +++ b/libjava/javax/swing/BoxLayout.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_BoxLayout__ +#define __javax_swing_BoxLayout__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + class BoxLayout; + class SizeRequirements; + } + } +} + +class javax::swing::BoxLayout : public ::java::lang::Object +{ + +public: + BoxLayout(::java::awt::Container *, jint); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); +private: + jboolean isHorizontalIn(::java::awt::Container *); +public: + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); +private: + void checkTotalRequirements(); + void checkRequirements(); + void checkLayout(); +public: + static const jint X_AXIS = 0; + static const jint Y_AXIS = 1; + static const jint LINE_AXIS = 2; + static const jint PAGE_AXIS = 3; +private: + static const jlong serialVersionUID = -2474455742719112368LL; + ::java::awt::Container * __attribute__((aligned(__alignof__( ::java::lang::Object)))) container; + jint way; + JArray< ::javax::swing::SizeRequirements * > * xChildren; + JArray< ::javax::swing::SizeRequirements * > * yChildren; + ::javax::swing::SizeRequirements * xTotal; + ::javax::swing::SizeRequirements * yTotal; + JArray< jint > * offsetsX; + JArray< jint > * offsetsY; + JArray< jint > * spansX; + JArray< jint > * spansY; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_BoxLayout__ diff --git a/libjava/javax/swing/ButtonGroup.h b/libjava/javax/swing/ButtonGroup.h new file mode 100644 index 00000000000..68f383ac653 --- /dev/null +++ b/libjava/javax/swing/ButtonGroup.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ButtonGroup__ +#define __javax_swing_ButtonGroup__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class AbstractButton; + class ButtonGroup; + class ButtonModel; + } + } +} + +class javax::swing::ButtonGroup : public ::java::lang::Object +{ + +public: + ButtonGroup(); + virtual void add(::javax::swing::AbstractButton *); + virtual void remove(::javax::swing::AbstractButton *); + virtual ::java::util::Enumeration * getElements(); + virtual ::javax::swing::ButtonModel * getSelection(); +public: // actually package-private + virtual ::javax::swing::AbstractButton * findButton(::javax::swing::ButtonModel *); +public: + virtual void setSelected(::javax::swing::ButtonModel *, jboolean); + virtual jboolean isSelected(::javax::swing::ButtonModel *); + virtual jint getButtonCount(); +private: + static const jlong serialVersionUID = 4259076101881721375LL; +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buttons; +public: // actually package-private + ::javax::swing::ButtonModel * sel; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ButtonGroup__ diff --git a/libjava/javax/swing/ButtonModel.h b/libjava/javax/swing/ButtonModel.h new file mode 100644 index 00000000000..5f137a654ba --- /dev/null +++ b/libjava/javax/swing/ButtonModel.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ButtonModel__ +#define __javax_swing_ButtonModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionListener; + class ItemListener; + } + } + } + namespace javax + { + namespace swing + { + class ButtonGroup; + class ButtonModel; + namespace event + { + class ChangeListener; + } + } + } +} + +class javax::swing::ButtonModel : public ::java::lang::Object +{ + +public: + virtual jboolean isArmed() = 0; + virtual void setArmed(jboolean) = 0; + virtual jboolean isEnabled() = 0; + virtual void setEnabled(jboolean) = 0; + virtual void setPressed(jboolean) = 0; + virtual jboolean isPressed() = 0; + virtual void removeActionListener(::java::awt::event::ActionListener *) = 0; + virtual void addActionListener(::java::awt::event::ActionListener *) = 0; + virtual void addItemListener(::java::awt::event::ItemListener *) = 0; + virtual void removeItemListener(::java::awt::event::ItemListener *) = 0; + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void setRollover(jboolean) = 0; + virtual jboolean isRollover() = 0; + virtual jint getMnemonic() = 0; + virtual void setMnemonic(jint) = 0; + virtual void setActionCommand(::java::lang::String *) = 0; + virtual ::java::lang::String * getActionCommand() = 0; + virtual void setGroup(::javax::swing::ButtonGroup *) = 0; + virtual void setSelected(jboolean) = 0; + virtual jboolean isSelected() = 0; + virtual JArray< ::java::lang::Object * > * getSelectedObjects() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ButtonModel__ diff --git a/libjava/javax/swing/CellEditor.h b/libjava/javax/swing/CellEditor.h new file mode 100644 index 00000000000..63e9c8b77f8 --- /dev/null +++ b/libjava/javax/swing/CellEditor.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_CellEditor__ +#define __javax_swing_CellEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class CellEditor; + namespace event + { + class CellEditorListener; + } + } + } +} + +class javax::swing::CellEditor : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getCellEditorValue() = 0; + virtual jboolean isCellEditable(::java::util::EventObject *) = 0; + virtual jboolean shouldSelectCell(::java::util::EventObject *) = 0; + virtual jboolean stopCellEditing() = 0; + virtual void cancelCellEditing() = 0; + virtual void addCellEditorListener(::javax::swing::event::CellEditorListener *) = 0; + virtual void removeCellEditorListener(::javax::swing::event::CellEditorListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_CellEditor__ diff --git a/libjava/javax/swing/CellRendererPane$AccessibleCellRendererPane.h b/libjava/javax/swing/CellRendererPane$AccessibleCellRendererPane.h new file mode 100644 index 00000000000..da0650bcb38 --- /dev/null +++ b/libjava/javax/swing/CellRendererPane$AccessibleCellRendererPane.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_CellRendererPane$AccessibleCellRendererPane__ +#define __javax_swing_CellRendererPane$AccessibleCellRendererPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class CellRendererPane; + class CellRendererPane$AccessibleCellRendererPane; + } + } +} + +class javax::swing::CellRendererPane$AccessibleCellRendererPane : public ::java::awt::Container$AccessibleAWTContainer +{ + +public: // actually protected + CellRendererPane$AccessibleCellRendererPane(::javax::swing::CellRendererPane *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -8981090083147391074LL; +public: // actually package-private + ::javax::swing::CellRendererPane * __attribute__((aligned(__alignof__( ::java::awt::Container$AccessibleAWTContainer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_CellRendererPane$AccessibleCellRendererPane__ diff --git a/libjava/javax/swing/CellRendererPane.h b/libjava/javax/swing/CellRendererPane.h new file mode 100644 index 00000000000..af350004fed --- /dev/null +++ b/libjava/javax/swing/CellRendererPane.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_CellRendererPane__ +#define __javax_swing_CellRendererPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class CellRendererPane; + } + } +} + +class javax::swing::CellRendererPane : public ::java::awt::Container +{ + +public: + CellRendererPane(); + virtual void update(::java::awt::Graphics *); + virtual void invalidate(); + virtual void paint(::java::awt::Graphics *); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void paintComponent(::java::awt::Graphics *, ::java::awt::Component *, ::java::awt::Container *, jint, jint, jint, jint, jboolean); + virtual void paintComponent(::java::awt::Graphics *, ::java::awt::Component *, ::java::awt::Container *, jint, jint, jint, jint); + virtual void paintComponent(::java::awt::Graphics *, ::java::awt::Component *, ::java::awt::Container *, ::java::awt::Rectangle *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -7642183829532984273LL; +public: // actually protected + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::java::awt::Container)))) accessibleContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_CellRendererPane__ diff --git a/libjava/javax/swing/ComboBoxEditor.h b/libjava/javax/swing/ComboBoxEditor.h new file mode 100644 index 00000000000..14f0d457471 --- /dev/null +++ b/libjava/javax/swing/ComboBoxEditor.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ComboBoxEditor__ +#define __javax_swing_ComboBoxEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class ActionListener; + } + } + } + namespace javax + { + namespace swing + { + class ComboBoxEditor; + } + } +} + +class javax::swing::ComboBoxEditor : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getEditorComponent() = 0; + virtual void setItem(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getItem() = 0; + virtual void selectAll() = 0; + virtual void addActionListener(::java::awt::event::ActionListener *) = 0; + virtual void removeActionListener(::java::awt::event::ActionListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ComboBoxEditor__ diff --git a/libjava/javax/swing/ComboBoxModel.h b/libjava/javax/swing/ComboBoxModel.h new file mode 100644 index 00000000000..0fd38ea13f2 --- /dev/null +++ b/libjava/javax/swing/ComboBoxModel.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ComboBoxModel__ +#define __javax_swing_ComboBoxModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ComboBoxModel; + namespace event + { + class ListDataListener; + } + } + } +} + +class javax::swing::ComboBoxModel : public ::java::lang::Object +{ + +public: + virtual void setSelectedItem(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getSelectedItem() = 0; + virtual jint getSize() = 0; + virtual ::java::lang::Object * getElementAt(jint) = 0; + virtual void addListDataListener(::javax::swing::event::ListDataListener *) = 0; + virtual void removeListDataListener(::javax::swing::event::ListDataListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ComboBoxModel__ diff --git a/libjava/javax/swing/CompatibilityFocusTraversalPolicy.h b/libjava/javax/swing/CompatibilityFocusTraversalPolicy.h new file mode 100644 index 00000000000..46fcc805157 --- /dev/null +++ b/libjava/javax/swing/CompatibilityFocusTraversalPolicy.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_CompatibilityFocusTraversalPolicy__ +#define __javax_swing_CompatibilityFocusTraversalPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class FocusTraversalPolicy; + } + } + namespace javax + { + namespace swing + { + class CompatibilityFocusTraversalPolicy; + } + } +} + +class javax::swing::CompatibilityFocusTraversalPolicy : public ::java::awt::FocusTraversalPolicy +{ + +public: // actually package-private + CompatibilityFocusTraversalPolicy(::java::awt::FocusTraversalPolicy *); +public: + virtual ::java::awt::Component * getComponentAfter(::java::awt::Container *, ::java::awt::Component *); + virtual ::java::awt::Component * getComponentBefore(::java::awt::Container *, ::java::awt::Component *); + virtual ::java::awt::Component * getFirstComponent(::java::awt::Container *); + virtual ::java::awt::Component * getLastComponent(::java::awt::Container *); + virtual ::java::awt::Component * getDefaultComponent(::java::awt::Container *); +public: // actually package-private + virtual void setNextFocusableComponent(::java::awt::Component *, ::java::awt::Component *); + virtual void addNextFocusableComponent(::java::awt::Component *, ::java::awt::Component *); + virtual void removeNextFocusableComponent(::java::awt::Component *, ::java::awt::Component *); +private: + ::java::awt::FocusTraversalPolicy * __attribute__((aligned(__alignof__( ::java::awt::FocusTraversalPolicy)))) fallback; + ::java::util::HashMap * forward; + ::java::util::HashMap * backward; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_CompatibilityFocusTraversalPolicy__ diff --git a/libjava/javax/swing/ComponentInputMap.h b/libjava/javax/swing/ComponentInputMap.h new file mode 100644 index 00000000000..e0ec4e94636 --- /dev/null +++ b/libjava/javax/swing/ComponentInputMap.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ComponentInputMap__ +#define __javax_swing_ComponentInputMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ComponentInputMap; + class InputMap; + class JComponent; + class KeyStroke; + } + } +} + +class javax::swing::ComponentInputMap : public ::javax::swing::InputMap +{ + +public: + ComponentInputMap(::javax::swing::JComponent *); + virtual void put(::javax::swing::KeyStroke *, ::java::lang::Object *); + virtual void clear(); + virtual void remove(::javax::swing::KeyStroke *); + virtual void setParent(::javax::swing::InputMap *); + virtual ::javax::swing::JComponent * getComponent(); +private: + ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::javax::swing::InputMap)))) component; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ComponentInputMap__ diff --git a/libjava/javax/swing/DebugGraphics.h b/libjava/javax/swing/DebugGraphics.h new file mode 100644 index 00000000000..c21460f6d96 --- /dev/null +++ b/libjava/javax/swing/DebugGraphics.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DebugGraphics__ +#define __javax_swing_DebugGraphics__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Graphics; + class Image; + class Rectangle; + class Shape; + namespace image + { + class ImageObserver; + } + } + namespace text + { + class AttributedCharacterIterator; + } + } + namespace javax + { + namespace swing + { + class DebugGraphics; + class JComponent; + } + } +} + +class javax::swing::DebugGraphics : public ::java::awt::Graphics +{ + +public: + DebugGraphics(); + DebugGraphics(::java::awt::Graphics *, ::javax::swing::JComponent *); + DebugGraphics(::java::awt::Graphics *); + virtual void setColor(::java::awt::Color *); + virtual ::java::awt::Graphics * create(); + virtual ::java::awt::Graphics * create(jint, jint, jint, jint); + static ::java::awt::Color * flashColor(); + static void setFlashColor(::java::awt::Color *); + static jint flashTime(); + static void setFlashTime(jint); + static jint flashCount(); + static void setFlashCount(jint); + static ::java::io::PrintStream * logStream(); + static void setLogStream(::java::io::PrintStream *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::Color * getColor(); + virtual ::java::awt::FontMetrics * getFontMetrics(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual void translate(jint, jint); + virtual void setPaintMode(); + virtual void setXORMode(::java::awt::Color *); + virtual ::java::awt::Rectangle * getClipBounds(); + virtual void clipRect(jint, jint, jint, jint); + virtual void setClip(jint, jint, jint, jint); + virtual ::java::awt::Shape * getClip(); + virtual void setClip(::java::awt::Shape *); +private: + void sleep(jint); +public: + virtual void drawRect(jint, jint, jint, jint); + virtual void fillRect(jint, jint, jint, jint); + virtual void clearRect(jint, jint, jint, jint); + virtual void drawRoundRect(jint, jint, jint, jint, jint, jint); + virtual void fillRoundRect(jint, jint, jint, jint, jint, jint); + virtual void drawLine(jint, jint, jint, jint); + virtual void draw3DRect(jint, jint, jint, jint, jboolean); + virtual void fill3DRect(jint, jint, jint, jint, jboolean); + virtual void drawOval(jint, jint, jint, jint); + virtual void fillOval(jint, jint, jint, jint); + virtual void drawArc(jint, jint, jint, jint, jint, jint); + virtual void fillArc(jint, jint, jint, jint, jint, jint); + virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint); + virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint); + virtual void drawString(::java::lang::String *, jint, jint); + virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint); + virtual void drawBytes(JArray< jbyte > *, jint, jint, jint, jint); + virtual void drawChars(JArray< jchar > *, jint, jint, jint, jint); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *); + virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *); + virtual void copyArea(jint, jint, jint, jint, jint, jint); + virtual void dispose(); + virtual jboolean isDrawingBuffer(); + virtual void setDebugOptions(jint); + virtual jint getDebugOptions(); +private: + ::java::lang::String * prefix(); +public: + static const jint LOG_OPTION = 1; + static const jint FLASH_OPTION = 2; + static const jint BUFFERED_OPTION = 4; + static const jint NONE_OPTION = -1; +public: // actually package-private + static ::java::awt::Color * debugFlashColor; + static jint debugFlashCount; + static jint debugFlashTime; + static ::java::io::PrintStream * debugLogStream; + static jint counter; + ::java::awt::Graphics * __attribute__((aligned(__alignof__( ::java::awt::Graphics)))) graphics; + ::java::awt::Image * buffer; + jint debugOptions; + jint graphicsID; + jint xOffset; + jint yOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DebugGraphics__ diff --git a/libjava/javax/swing/DefaultBoundedRangeModel.h b/libjava/javax/swing/DefaultBoundedRangeModel.h new file mode 100644 index 00000000000..61d780d7a4a --- /dev/null +++ b/libjava/javax/swing/DefaultBoundedRangeModel.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultBoundedRangeModel__ +#define __javax_swing_DefaultBoundedRangeModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultBoundedRangeModel; + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + } + } +} + +class javax::swing::DefaultBoundedRangeModel : public ::java::lang::Object +{ + +public: + DefaultBoundedRangeModel(); + DefaultBoundedRangeModel(jint, jint, jint, jint); + virtual ::java::lang::String * toString(); + virtual jint getValue(); + virtual void setValue(jint); + virtual jint getExtent(); + virtual void setExtent(jint); + virtual jint getMinimum(); + virtual void setMinimum(jint); + virtual jint getMaximum(); + virtual void setMaximum(jint); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); + virtual void setRangeProperties(jint, jint, jint, jint, jboolean); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = 5034068491295259790LL; +public: // actually protected + ::javax::swing::event::ChangeEvent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) changeEvent; + ::javax::swing::event::EventListenerList * listenerList; +private: + jint value; + jint extent; + jint minimum; + jint maximum; + jboolean isAdjusting; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultBoundedRangeModel__ diff --git a/libjava/javax/swing/DefaultButtonModel.h b/libjava/javax/swing/DefaultButtonModel.h new file mode 100644 index 00000000000..735898ddb1c --- /dev/null +++ b/libjava/javax/swing/DefaultButtonModel.h @@ -0,0 +1,99 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultButtonModel__ +#define __javax_swing_DefaultButtonModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ActionListener; + class ItemEvent; + class ItemListener; + } + } + } + namespace javax + { + namespace swing + { + class ButtonGroup; + class DefaultButtonModel; + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + } + } +} + +class javax::swing::DefaultButtonModel : public ::java::lang::Object +{ + +public: + DefaultButtonModel(); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireItemStateChanged(::java::awt::event::ItemEvent *); + virtual void fireActionPerformed(::java::awt::event::ActionEvent *); + virtual void fireStateChanged(); +public: + virtual jboolean isArmed(); + virtual void setArmed(jboolean); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual void setPressed(jboolean); + virtual jboolean isPressed(); + virtual void setRollover(jboolean); + virtual void setSelected(jboolean); + virtual jboolean isSelected(); + virtual jboolean isRollover(); + virtual jint getMnemonic(); + virtual void setMnemonic(jint); + virtual void setActionCommand(::java::lang::String *); + virtual ::java::lang::String * getActionCommand(); + virtual void setGroup(::javax::swing::ButtonGroup *); + virtual ::javax::swing::ButtonGroup * getGroup(); +private: + static const jlong serialVersionUID = -5342609566534980231LL; +public: + static const jint ARMED = 1; + static const jint ENABLED = 8; + static const jint PRESSED = 4; + static const jint ROLLOVER = 16; + static const jint SELECTED = 2; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) stateMask; + ::javax::swing::event::EventListenerList * listenerList; + ::javax::swing::event::ChangeEvent * changeEvent; + ::javax::swing::ButtonGroup * group; + jint mnemonic; + ::java::lang::String * actionCommand; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultButtonModel__ diff --git a/libjava/javax/swing/DefaultCellEditor$EditorDelegate.h b/libjava/javax/swing/DefaultCellEditor$EditorDelegate.h new file mode 100644 index 00000000000..a571c5c5a8c --- /dev/null +++ b/libjava/javax/swing/DefaultCellEditor$EditorDelegate.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultCellEditor$EditorDelegate__ +#define __javax_swing_DefaultCellEditor$EditorDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ItemEvent; + } + } + } + namespace javax + { + namespace swing + { + class DefaultCellEditor; + class DefaultCellEditor$EditorDelegate; + } + } +} + +class javax::swing::DefaultCellEditor$EditorDelegate : public ::java::lang::Object +{ + +public: // actually protected + DefaultCellEditor$EditorDelegate(::javax::swing::DefaultCellEditor *); +public: + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::Object * getCellEditorValue(); + virtual jboolean isCellEditable(::java::util::EventObject *); + virtual jboolean shouldSelectCell(::java::util::EventObject *); + virtual jboolean stopCellEditing(); + virtual void cancelCellEditing(); + virtual jboolean startCellEditing(::java::util::EventObject *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); +public: // actually package-private + virtual void fireEditingStopped(); + virtual void fireEditingCanceled(); +private: + static const jlong serialVersionUID = -1420007406015481933LL; +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +public: // actually package-private + ::javax::swing::DefaultCellEditor * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultCellEditor$EditorDelegate__ diff --git a/libjava/javax/swing/DefaultCellEditor$JCheckBoxDelegate.h b/libjava/javax/swing/DefaultCellEditor$JCheckBoxDelegate.h new file mode 100644 index 00000000000..08ecd3d5939 --- /dev/null +++ b/libjava/javax/swing/DefaultCellEditor$JCheckBoxDelegate.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultCellEditor$JCheckBoxDelegate__ +#define __javax_swing_DefaultCellEditor$JCheckBoxDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultCellEditor; + class DefaultCellEditor$JCheckBoxDelegate; + } + } +} + +class javax::swing::DefaultCellEditor$JCheckBoxDelegate : public ::javax::swing::DefaultCellEditor$EditorDelegate +{ + + DefaultCellEditor$JCheckBoxDelegate(::javax::swing::DefaultCellEditor *); +public: + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::Object * getCellEditorValue(); +public: // actually package-private + DefaultCellEditor$JCheckBoxDelegate(::javax::swing::DefaultCellEditor *, ::javax::swing::DefaultCellEditor$JCheckBoxDelegate *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::javax::swing::DefaultCellEditor * __attribute__((aligned(__alignof__( ::javax::swing::DefaultCellEditor$EditorDelegate)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultCellEditor$JCheckBoxDelegate__ diff --git a/libjava/javax/swing/DefaultCellEditor$JComboBoxDelegate.h b/libjava/javax/swing/DefaultCellEditor$JComboBoxDelegate.h new file mode 100644 index 00000000000..abfa15cc767 --- /dev/null +++ b/libjava/javax/swing/DefaultCellEditor$JComboBoxDelegate.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultCellEditor$JComboBoxDelegate__ +#define __javax_swing_DefaultCellEditor$JComboBoxDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultCellEditor; + class DefaultCellEditor$JComboBoxDelegate; + } + } +} + +class javax::swing::DefaultCellEditor$JComboBoxDelegate : public ::javax::swing::DefaultCellEditor$EditorDelegate +{ + + DefaultCellEditor$JComboBoxDelegate(::javax::swing::DefaultCellEditor *); +public: + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::Object * getCellEditorValue(); + virtual jboolean shouldSelectCell(::java::util::EventObject *); +public: // actually package-private + DefaultCellEditor$JComboBoxDelegate(::javax::swing::DefaultCellEditor *, ::javax::swing::DefaultCellEditor$JComboBoxDelegate *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::javax::swing::DefaultCellEditor * __attribute__((aligned(__alignof__( ::javax::swing::DefaultCellEditor$EditorDelegate)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultCellEditor$JComboBoxDelegate__ diff --git a/libjava/javax/swing/DefaultCellEditor$JTextFieldDelegate.h b/libjava/javax/swing/DefaultCellEditor$JTextFieldDelegate.h new file mode 100644 index 00000000000..dcaf8f1781e --- /dev/null +++ b/libjava/javax/swing/DefaultCellEditor$JTextFieldDelegate.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultCellEditor$JTextFieldDelegate__ +#define __javax_swing_DefaultCellEditor$JTextFieldDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultCellEditor; + class DefaultCellEditor$JTextFieldDelegate; + } + } +} + +class javax::swing::DefaultCellEditor$JTextFieldDelegate : public ::javax::swing::DefaultCellEditor$EditorDelegate +{ + + DefaultCellEditor$JTextFieldDelegate(::javax::swing::DefaultCellEditor *); +public: + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::Object * getCellEditorValue(); +public: // actually package-private + DefaultCellEditor$JTextFieldDelegate(::javax::swing::DefaultCellEditor *, ::javax::swing::DefaultCellEditor$JTextFieldDelegate *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::javax::swing::DefaultCellEditor * __attribute__((aligned(__alignof__( ::javax::swing::DefaultCellEditor$EditorDelegate)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultCellEditor$JTextFieldDelegate__ diff --git a/libjava/javax/swing/DefaultCellEditor.h b/libjava/javax/swing/DefaultCellEditor.h new file mode 100644 index 00000000000..0c62413be2d --- /dev/null +++ b/libjava/javax/swing/DefaultCellEditor.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultCellEditor__ +#define __javax_swing_DefaultCellEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class DefaultCellEditor; + class DefaultCellEditor$EditorDelegate; + class JCheckBox; + class JComboBox; + class JComponent; + class JTable; + class JTextField; + class JTree; + } + } +} + +class javax::swing::DefaultCellEditor : public ::javax::swing::AbstractCellEditor +{ + +public: + DefaultCellEditor(::javax::swing::JTextField *); + DefaultCellEditor(::javax::swing::JCheckBox *); + DefaultCellEditor(::javax::swing::JComboBox *); + virtual ::java::awt::Component * getComponent(); + virtual jint getClickCountToStart(); + virtual void setClickCountToStart(jint); + virtual ::java::lang::Object * getCellEditorValue(); + virtual jboolean isCellEditable(::java::util::EventObject *); + virtual jboolean shouldSelectCell(::java::util::EventObject *); + virtual jboolean stopCellEditing(); + virtual void cancelCellEditing(); + virtual ::java::awt::Component * getTreeCellEditorComponent(::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint); + virtual ::java::awt::Component * getTableCellEditorComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jint, jint); +private: + static const jlong serialVersionUID = 3564035141373880027LL; +public: // actually protected + ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::javax::swing::AbstractCellEditor)))) editorComponent; + ::javax::swing::DefaultCellEditor$EditorDelegate * delegate; + jint clickCountToStart; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultCellEditor__ diff --git a/libjava/javax/swing/DefaultComboBoxModel.h b/libjava/javax/swing/DefaultComboBoxModel.h new file mode 100644 index 00000000000..9c5e721f750 --- /dev/null +++ b/libjava/javax/swing/DefaultComboBoxModel.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultComboBoxModel__ +#define __javax_swing_DefaultComboBoxModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultComboBoxModel; + } + } +} + +class javax::swing::DefaultComboBoxModel : public ::javax::swing::AbstractListModel +{ + +public: + DefaultComboBoxModel(); + DefaultComboBoxModel(JArray< ::java::lang::Object * > *); + DefaultComboBoxModel(::java::util::Vector *); + virtual void addElement(::java::lang::Object *); + virtual void removeElementAt(jint); + virtual void insertElementAt(::java::lang::Object *, jint); + virtual void removeElement(::java::lang::Object *); + virtual void removeAllElements(); + virtual jint getSize(); + virtual void setSelectedItem(::java::lang::Object *); + virtual ::java::lang::Object * getSelectedItem(); + virtual ::java::lang::Object * getElementAt(jint); + virtual jint getIndexOf(::java::lang::Object *); +private: + static const jlong serialVersionUID = 6698657703676921904LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) list; + ::java::lang::Object * selectedItem; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultComboBoxModel__ diff --git a/libjava/javax/swing/DefaultDesktopManager.h b/libjava/javax/swing/DefaultDesktopManager.h new file mode 100644 index 00000000000..2857f0dfbfc --- /dev/null +++ b/libjava/javax/swing/DefaultDesktopManager.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultDesktopManager__ +#define __javax_swing_DefaultDesktopManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class DefaultDesktopManager; + class JComponent; + class JInternalFrame; + } + } +} + +class javax::swing::DefaultDesktopManager : public ::java::lang::Object +{ + +public: + DefaultDesktopManager(); + virtual void openFrame(::javax::swing::JInternalFrame *); + virtual void closeFrame(::javax::swing::JInternalFrame *); + virtual void maximizeFrame(::javax::swing::JInternalFrame *); + virtual void minimizeFrame(::javax::swing::JInternalFrame *); + virtual void iconifyFrame(::javax::swing::JInternalFrame *); + virtual void deiconifyFrame(::javax::swing::JInternalFrame *); + virtual void activateFrame(::javax::swing::JInternalFrame *); + virtual void deactivateFrame(::javax::swing::JInternalFrame *); + virtual void beginDraggingFrame(::javax::swing::JComponent *); + virtual void dragFrame(::javax::swing::JComponent *, jint, jint); + virtual void endDraggingFrame(::javax::swing::JComponent *); + virtual void beginResizingFrame(::javax::swing::JComponent *, jint); + virtual void resizeFrame(::javax::swing::JComponent *, jint, jint, jint, jint); + virtual void endResizingFrame(::javax::swing::JComponent *); + virtual void setBoundsForFrame(::javax::swing::JComponent *, jint, jint, jint, jint); +public: // actually protected + virtual void removeIconFor(::javax::swing::JInternalFrame *); + virtual ::java::awt::Rectangle * getBoundsForIconOf(::javax::swing::JInternalFrame *); + virtual void setPreviousBounds(::javax::swing::JInternalFrame *, ::java::awt::Rectangle *); + virtual ::java::awt::Rectangle * getPreviousBounds(::javax::swing::JInternalFrame *); + virtual void setWasIcon(::javax::swing::JInternalFrame *, ::java::lang::Boolean *); + virtual jboolean wasIcon(::javax::swing::JInternalFrame *); +private: + static const jlong serialVersionUID = 4657624909838017887LL; +public: // actually package-private + static ::java::lang::String * WAS_ICON_ONCE_PROPERTY; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) currentDragMode; + ::java::awt::Rectangle * dragCache; + ::java::awt::Container * pane; + JArray< ::java::awt::Rectangle * > * iconRects; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultDesktopManager__ diff --git a/libjava/javax/swing/DefaultFocusManager.h b/libjava/javax/swing/DefaultFocusManager.h new file mode 100644 index 00000000000..a1eec270a61 --- /dev/null +++ b/libjava/javax/swing/DefaultFocusManager.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultFocusManager__ +#define __javax_swing_DefaultFocusManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + class DefaultFocusManager; + } + } +} + +class javax::swing::DefaultFocusManager : public ::javax::swing::FocusManager +{ + +public: + DefaultFocusManager(); + virtual void processKeyEvent(::java::awt::Component *, ::java::awt::event::KeyEvent *); + virtual void focusNextComponent(::java::awt::Component *); + virtual void focusPreviousComponent(::java::awt::Component *); + virtual ::java::awt::Component * getFirstComponent(::java::awt::Container *); + virtual ::java::awt::Component * getLastComponent(::java::awt::Container *); + virtual ::java::awt::Component * getComponentBefore(::java::awt::Container *, ::java::awt::Component *); + virtual ::java::awt::Component * getComponentAfter(::java::awt::Container *, ::java::awt::Component *); + virtual jboolean compareTabOrder(::java::awt::Component *, ::java::awt::Component *); +private: + ::java::util::Stack * __attribute__((aligned(__alignof__( ::javax::swing::FocusManager)))) historyStack; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultFocusManager__ diff --git a/libjava/javax/swing/DefaultListCellRenderer$UIResource.h b/libjava/javax/swing/DefaultListCellRenderer$UIResource.h new file mode 100644 index 00000000000..91435fb16f6 --- /dev/null +++ b/libjava/javax/swing/DefaultListCellRenderer$UIResource.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultListCellRenderer$UIResource__ +#define __javax_swing_DefaultListCellRenderer$UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultListCellRenderer$UIResource; + } + } +} + +class javax::swing::DefaultListCellRenderer$UIResource : public ::javax::swing::DefaultListCellRenderer +{ + +public: + DefaultListCellRenderer$UIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultListCellRenderer$UIResource__ diff --git a/libjava/javax/swing/DefaultListCellRenderer.h b/libjava/javax/swing/DefaultListCellRenderer.h new file mode 100644 index 00000000000..320767aa579 --- /dev/null +++ b/libjava/javax/swing/DefaultListCellRenderer.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultListCellRenderer__ +#define __javax_swing_DefaultListCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class DefaultListCellRenderer; + class JList; + namespace border + { + class Border; + } + } + } +} + +class javax::swing::DefaultListCellRenderer : public ::javax::swing::JLabel +{ + +public: + DefaultListCellRenderer(); + virtual ::java::awt::Component * getListCellRendererComponent(::javax::swing::JList *, ::java::lang::Object *, jint, jboolean, jboolean); + virtual void validate(); + virtual void revalidate(); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void repaint(::java::awt::Rectangle *); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void firePropertyChange(::java::lang::String *, jbyte, jbyte); + virtual void firePropertyChange(::java::lang::String *, jchar, jchar); + virtual void firePropertyChange(::java::lang::String *, jshort, jshort); + virtual void firePropertyChange(::java::lang::String *, jint, jint); + virtual void firePropertyChange(::java::lang::String *, jlong, jlong); + virtual void firePropertyChange(::java::lang::String *, jfloat, jfloat); + virtual void firePropertyChange(::java::lang::String *, jdouble, jdouble); + virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); +private: + static const jlong serialVersionUID = 7708947179685189462LL; +public: // actually protected + static ::javax::swing::border::Border * noFocusBorder; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultListCellRenderer__ diff --git a/libjava/javax/swing/DefaultListModel.h b/libjava/javax/swing/DefaultListModel.h new file mode 100644 index 00000000000..67ca91bdc51 --- /dev/null +++ b/libjava/javax/swing/DefaultListModel.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultListModel__ +#define __javax_swing_DefaultListModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultListModel; + } + } +} + +class javax::swing::DefaultListModel : public ::javax::swing::AbstractListModel +{ + +public: + DefaultListModel(); + virtual ::java::lang::Object * elementAt(jint); + virtual ::java::lang::String * toString(); + virtual jint indexOf(::java::lang::Object *); + virtual jint indexOf(::java::lang::Object *, jint); + virtual jint lastIndexOf(::java::lang::Object *); + virtual jint lastIndexOf(::java::lang::Object *, jint); + virtual ::java::lang::Object * get(jint); + virtual ::java::lang::Object * set(jint, ::java::lang::Object *); + virtual void add(jint, ::java::lang::Object *); + virtual void addElement(::java::lang::Object *); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * toArray(); + virtual jboolean contains(::java::lang::Object *); + virtual void copyInto(JArray< ::java::lang::Object * > *); + virtual void clear(); + virtual ::java::lang::Object * remove(jint); + virtual jboolean isEmpty(); + virtual ::java::util::Enumeration * elements(); + virtual void trimToSize(); + virtual void ensureCapacity(jint); + virtual void setSize(jint); + virtual jint capacity(); + virtual ::java::lang::Object * firstElement(); + virtual ::java::lang::Object * lastElement(); + virtual void setElementAt(::java::lang::Object *, jint); + virtual void removeElementAt(jint); + virtual void insertElementAt(::java::lang::Object *, jint); + virtual jboolean removeElement(::java::lang::Object *); + virtual void removeAllElements(); + virtual void removeRange(jint, jint); + virtual jint getSize(); + virtual ::java::lang::Object * getElementAt(jint); +private: + static const jlong serialVersionUID = 2315945659722172272LL; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) elements__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultListModel__ diff --git a/libjava/javax/swing/DefaultListSelectionModel.h b/libjava/javax/swing/DefaultListSelectionModel.h new file mode 100644 index 00000000000..0a0ed22a363 --- /dev/null +++ b/libjava/javax/swing/DefaultListSelectionModel.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultListSelectionModel__ +#define __javax_swing_DefaultListSelectionModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultListSelectionModel; + namespace event + { + class EventListenerList; + class ListSelectionListener; + } + } + } +} + +class javax::swing::DefaultListSelectionModel : public ::java::lang::Object +{ + +public: + DefaultListSelectionModel(); + virtual jint getSelectionMode(); + virtual void setSelectionMode(jint); + virtual jint getAnchorSelectionIndex(); + virtual void setAnchorSelectionIndex(jint); + virtual jint getLeadSelectionIndex(); + virtual void setLeadSelectionIndex(jint); + virtual void moveLeadSelectionIndex(jint); + virtual jboolean isLeadAnchorNotificationEnabled(); + virtual void setLeadAnchorNotificationEnabled(jboolean); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); + virtual jboolean isSelectionEmpty(); + virtual jint getMinSelectionIndex(); + virtual jint getMaxSelectionIndex(); + virtual jboolean isSelectedIndex(jint); + virtual void addSelectionInterval(jint, jint); + virtual void removeSelectionInterval(jint, jint); + virtual void clearSelection(); +private: + void fireDifference(::java::util::BitSet *, ::java::util::BitSet *); +public: + virtual void setSelectionInterval(jint, jint); + virtual void insertIndexInterval(jint, jint, jboolean); + virtual void removeIndexInterval(jint, jint); +public: // actually protected + virtual void fireValueChanged(jboolean); + virtual void fireValueChanged(jint, jint); + virtual void fireValueChanged(jint, jint, jboolean); +public: + virtual void addListSelectionListener(::javax::swing::event::ListSelectionListener *); + virtual void removeListSelectionListener(::javax::swing::event::ListSelectionListener *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::ListSelectionListener * > * getListSelectionListeners(); + virtual ::java::lang::Object * clone(); +private: + static const jlong serialVersionUID = -5718799865110415860LL; +public: // actually protected + ::javax::swing::event::EventListenerList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerList; +public: // actually package-private + jint selectionMode; + jint leadSelectionIndex; + jint anchorSelectionIndex; +public: // actually protected + jboolean leadAnchorNotificationEnabled; +public: // actually package-private + jboolean valueIsAdjusting; + ::java::util::BitSet * sel; + ::java::lang::Object * oldSel; + jboolean setLeadCalledFromAdd; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultListSelectionModel__ diff --git a/libjava/javax/swing/DefaultSingleSelectionModel.h b/libjava/javax/swing/DefaultSingleSelectionModel.h new file mode 100644 index 00000000000..8ea8f8e796d --- /dev/null +++ b/libjava/javax/swing/DefaultSingleSelectionModel.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DefaultSingleSelectionModel__ +#define __javax_swing_DefaultSingleSelectionModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultSingleSelectionModel; + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + } + } +} + +class javax::swing::DefaultSingleSelectionModel : public ::java::lang::Object +{ + +public: + DefaultSingleSelectionModel(); + virtual jint getSelectedIndex(); + virtual void setSelectedIndex(jint); + virtual void clearSelection(); + virtual jboolean isSelected(); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +private: + static const jlong serialVersionUID = 3676229404753786004LL; +public: // actually protected + ::javax::swing::event::ChangeEvent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) changeEvent; + ::javax::swing::event::EventListenerList * listenerList; +private: + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_DefaultSingleSelectionModel__ diff --git a/libjava/javax/swing/DesktopManager.h b/libjava/javax/swing/DesktopManager.h new file mode 100644 index 00000000000..7981bdbb5aa --- /dev/null +++ b/libjava/javax/swing/DesktopManager.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_DesktopManager__ +#define __javax_swing_DesktopManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class DesktopManager; + class JComponent; + class JInternalFrame; + } + } +} + +class javax::swing::DesktopManager : public ::java::lang::Object +{ + +public: + virtual void openFrame(::javax::swing::JInternalFrame *) = 0; + virtual void closeFrame(::javax::swing::JInternalFrame *) = 0; + virtual void maximizeFrame(::javax::swing::JInternalFrame *) = 0; + virtual void minimizeFrame(::javax::swing::JInternalFrame *) = 0; + virtual void iconifyFrame(::javax::swing::JInternalFrame *) = 0; + virtual void deiconifyFrame(::javax::swing::JInternalFrame *) = 0; + virtual void activateFrame(::javax::swing::JInternalFrame *) = 0; + virtual void deactivateFrame(::javax::swing::JInternalFrame *) = 0; + virtual void beginDraggingFrame(::javax::swing::JComponent *) = 0; + virtual void dragFrame(::javax::swing::JComponent *, jint, jint) = 0; + virtual void endDraggingFrame(::javax::swing::JComponent *) = 0; + virtual void beginResizingFrame(::javax::swing::JComponent *, jint) = 0; + virtual void resizeFrame(::javax::swing::JComponent *, jint, jint, jint, jint) = 0; + virtual void endResizingFrame(::javax::swing::JComponent *) = 0; + virtual void setBoundsForFrame(::javax::swing::JComponent *, jint, jint, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_DesktopManager__ diff --git a/libjava/javax/swing/FocusManager$WrappingFocusManager.h b/libjava/javax/swing/FocusManager$WrappingFocusManager.h new file mode 100644 index 00000000000..6ff193c5359 --- /dev/null +++ b/libjava/javax/swing/FocusManager$WrappingFocusManager.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_FocusManager$WrappingFocusManager__ +#define __javax_swing_FocusManager$WrappingFocusManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + class Component; + class Container; + class FocusTraversalPolicy; + class KeyEventDispatcher; + class KeyEventPostProcessor; + class KeyboardFocusManager; + class Window; + namespace event + { + class KeyEvent; + } + } + namespace beans + { + class PropertyChangeListener; + class VetoableChangeListener; + } + } + namespace javax + { + namespace swing + { + class FocusManager$WrappingFocusManager; + } + } +} + +class javax::swing::FocusManager$WrappingFocusManager : public ::javax::swing::FocusManager +{ + +public: // actually package-private + FocusManager$WrappingFocusManager(::java::awt::KeyboardFocusManager *); +public: + virtual jboolean dispatchEvent(::java::awt::AWTEvent *); + virtual jboolean dispatchKeyEvent(::java::awt::event::KeyEvent *); + virtual void downFocusCycle(::java::awt::Container *); + virtual void upFocusCycle(::java::awt::Container *); + virtual void focusNextComponent(::java::awt::Component *); + virtual void focusPreviousComponent(::java::awt::Component *); + virtual jboolean postProcessKeyEvent(::java::awt::event::KeyEvent *); + virtual void processKeyEvent(::java::awt::Component *, ::java::awt::event::KeyEvent *); + virtual void addKeyEventDispatcher(::java::awt::KeyEventDispatcher *); + virtual void addKeyEventPostProcessor(::java::awt::KeyEventPostProcessor *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void addPropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void addVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void addVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual void clearGlobalFocusOwner(); + virtual ::java::awt::Window * getActiveWindow(); + virtual ::java::awt::Container * getCurrentFocusCycleRoot(); + virtual ::java::util::Set * getDefaultFocusTraversalKeys(jint); + virtual ::java::awt::FocusTraversalPolicy * getDefaultFocusTraversalPolicy(); + virtual ::java::awt::Window * getFocusedWindow(); + virtual ::java::awt::Component * getFocusOwner(); + virtual ::java::awt::Component * getPermanentFocusOwner(); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(::java::lang::String *); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(::java::lang::String *); + virtual void removeKeyEventDispatcher(::java::awt::KeyEventDispatcher *); + virtual void removeKeyEventPostProcessor(::java::awt::KeyEventPostProcessor *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::lang::String *, ::java::beans::PropertyChangeListener *); + virtual void removeVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual void removeVetoableChangeListener(::java::lang::String *, ::java::beans::VetoableChangeListener *); + virtual void setDefaultFocusTraversalKeys(jint, ::java::util::Set *); + virtual void setDefaultFocusTraversalPolicy(::java::awt::FocusTraversalPolicy *); + virtual void setGlobalCurrentFocusCycleRoot(::java::awt::Container *); +private: + ::java::awt::KeyboardFocusManager * __attribute__((aligned(__alignof__( ::javax::swing::FocusManager)))) wrapped; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_FocusManager$WrappingFocusManager__ diff --git a/libjava/javax/swing/FocusManager.h b/libjava/javax/swing/FocusManager.h new file mode 100644 index 00000000000..0bf93943890 --- /dev/null +++ b/libjava/javax/swing/FocusManager.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_FocusManager__ +#define __javax_swing_FocusManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class FocusManager; + } + } +} + +class javax::swing::FocusManager : public ::java::awt::DefaultKeyboardFocusManager +{ + +public: + FocusManager(); + static ::javax::swing::FocusManager * getCurrentManager(); + static void setCurrentManager(::javax::swing::FocusManager *); + static void disableSwingFocusManager(); + static jboolean isFocusManagerEnabled(); + static ::java::lang::String * FOCUS_MANAGER_CLASS_PROPERTY; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_FocusManager__ diff --git a/libjava/javax/swing/GrayFilter.h b/libjava/javax/swing/GrayFilter.h new file mode 100644 index 00000000000..436c3763a42 --- /dev/null +++ b/libjava/javax/swing/GrayFilter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_GrayFilter__ +#define __javax_swing_GrayFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + } + } + namespace javax + { + namespace swing + { + class GrayFilter; + } + } +} + +class javax::swing::GrayFilter : public ::java::awt::image::RGBImageFilter +{ + +public: + GrayFilter(jboolean, jint); + static ::java::awt::Image * createDisabledImage(::java::awt::Image *); + virtual jint filterRGB(jint, jint, jint); +private: + jboolean __attribute__((aligned(__alignof__( ::java::awt::image::RGBImageFilter)))) b; + jdouble p; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_GrayFilter__ diff --git a/libjava/javax/swing/Icon.h b/libjava/javax/swing/Icon.h new file mode 100644 index 00000000000..7ab6cfe4d21 --- /dev/null +++ b/libjava/javax/swing/Icon.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Icon__ +#define __javax_swing_Icon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class Icon; + } + } +} + +class javax::swing::Icon : public ::java::lang::Object +{ + +public: + virtual jint getIconHeight() = 0; + virtual jint getIconWidth() = 0; + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_Icon__ diff --git a/libjava/javax/swing/ImageIcon$1.h b/libjava/javax/swing/ImageIcon$1.h new file mode 100644 index 00000000000..529be408a28 --- /dev/null +++ b/libjava/javax/swing/ImageIcon$1.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ImageIcon$1__ +#define __javax_swing_ImageIcon$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ImageIcon$1; + } + } +} + +class javax::swing::ImageIcon$1 : public ::java::awt::Component +{ + +public: // actually package-private + ImageIcon$1(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ImageIcon$1__ diff --git a/libjava/javax/swing/ImageIcon$AccessibleImageIcon.h b/libjava/javax/swing/ImageIcon$AccessibleImageIcon.h new file mode 100644 index 00000000000..05d2323e283 --- /dev/null +++ b/libjava/javax/swing/ImageIcon$AccessibleImageIcon.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ImageIcon$AccessibleImageIcon__ +#define __javax_swing_ImageIcon$AccessibleImageIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class ImageIcon; + class ImageIcon$AccessibleImageIcon; + } + } +} + +class javax::swing::ImageIcon$AccessibleImageIcon : public ::javax::accessibility::AccessibleContext +{ + +public: // actually protected + ImageIcon$AccessibleImageIcon(::javax::swing::ImageIcon *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::Accessible * getAccessibleParent(); + virtual jint getAccessibleIndexInParent(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::java::util::Locale * getLocale(); + virtual ::java::lang::String * getAccessibleIconDescription(); + virtual void setAccessibleIconDescription(::java::lang::String *); + virtual jint getAccessibleIconHeight(); + virtual jint getAccessibleIconWidth(); +private: + static const jlong serialVersionUID = 2113430526551336564LL; +public: // actually package-private + ::javax::swing::ImageIcon * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ImageIcon$AccessibleImageIcon__ diff --git a/libjava/javax/swing/ImageIcon.h b/libjava/javax/swing/ImageIcon.h new file mode 100644 index 00000000000..4e3d8d90273 --- /dev/null +++ b/libjava/javax/swing/ImageIcon.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ImageIcon__ +#define __javax_swing_ImageIcon__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Image; + class MediaTracker; + namespace image + { + class ImageObserver; + } + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class ImageIcon; + } + } +} + +class javax::swing::ImageIcon : public ::java::lang::Object +{ + +public: + ImageIcon(); + ImageIcon(::java::lang::String *); + ImageIcon(::java::lang::String *, ::java::lang::String *); + ImageIcon(JArray< jbyte > *); + ImageIcon(JArray< jbyte > *, ::java::lang::String *); + ImageIcon(::java::net::URL *); + ImageIcon(::java::net::URL *, ::java::lang::String *); + ImageIcon(::java::awt::Image *); + ImageIcon(::java::awt::Image *, ::java::lang::String *); + virtual ::java::awt::image::ImageObserver * getImageObserver(); + virtual void setImageObserver(::java::awt::image::ImageObserver *); + virtual ::java::awt::Image * getImage(); + virtual void setImage(::java::awt::Image *); + virtual ::java::lang::String * getDescription(); + virtual void setDescription(::java::lang::String *); + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually protected + virtual void loadImage(::java::awt::Image *); +public: + virtual jint getImageLoadStatus(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 532615968316031794LL; +public: // actually protected + static ::java::awt::Component * component; + static ::java::awt::MediaTracker * tracker; +private: + static jint id; +public: // actually package-private + ::java::awt::Image * __attribute__((aligned(__alignof__( ::java::lang::Object)))) image; + ::java::lang::String * description; + ::java::awt::image::ImageObserver * observer; +private: + jint loadStatus; + ::javax::accessibility::AccessibleContext * accessibleContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ImageIcon__ diff --git a/libjava/javax/swing/InputMap.h b/libjava/javax/swing/InputMap.h new file mode 100644 index 00000000000..5846eeb25af --- /dev/null +++ b/libjava/javax/swing/InputMap.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_InputMap__ +#define __javax_swing_InputMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class InputMap; + class KeyStroke; + } + } +} + +class javax::swing::InputMap : public ::java::lang::Object +{ + +public: + InputMap(); + virtual ::java::lang::Object * get(::javax::swing::KeyStroke *); + virtual void put(::javax::swing::KeyStroke *, ::java::lang::Object *); + virtual void remove(::javax::swing::KeyStroke *); + virtual ::javax::swing::InputMap * getParent(); + virtual void setParent(::javax::swing::InputMap *); + virtual jint size(); + virtual void clear(); + virtual JArray< ::javax::swing::KeyStroke * > * keys(); + virtual JArray< ::javax::swing::KeyStroke * > * allKeys(); +private: + static const jlong serialVersionUID = -5429059542008604257LL; + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) inputMap; + ::javax::swing::InputMap * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_InputMap__ diff --git a/libjava/javax/swing/InputVerifier.h b/libjava/javax/swing/InputVerifier.h new file mode 100644 index 00000000000..986647e1bb3 --- /dev/null +++ b/libjava/javax/swing/InputVerifier.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_InputVerifier__ +#define __javax_swing_InputVerifier__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class InputVerifier; + class JComponent; + } + } +} + +class javax::swing::InputVerifier : public ::java::lang::Object +{ + +public: + InputVerifier(); + virtual jboolean verify(::javax::swing::JComponent *) = 0; + virtual jboolean shouldYieldFocus(::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_InputVerifier__ diff --git a/libjava/javax/swing/InternalFrameFocusTraversalPolicy.h b/libjava/javax/swing/InternalFrameFocusTraversalPolicy.h new file mode 100644 index 00000000000..4573093d46d --- /dev/null +++ b/libjava/javax/swing/InternalFrameFocusTraversalPolicy.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_InternalFrameFocusTraversalPolicy__ +#define __javax_swing_InternalFrameFocusTraversalPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class InternalFrameFocusTraversalPolicy; + class JInternalFrame; + } + } +} + +class javax::swing::InternalFrameFocusTraversalPolicy : public ::java::awt::FocusTraversalPolicy +{ + +public: + InternalFrameFocusTraversalPolicy(); + virtual ::java::awt::Component * getInitialComponent(::javax::swing::JInternalFrame *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_InternalFrameFocusTraversalPolicy__ diff --git a/libjava/javax/swing/JApplet$AccessibleJApplet.h b/libjava/javax/swing/JApplet$AccessibleJApplet.h new file mode 100644 index 00000000000..d6aea498e1d --- /dev/null +++ b/libjava/javax/swing/JApplet$AccessibleJApplet.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JApplet$AccessibleJApplet__ +#define __javax_swing_JApplet$AccessibleJApplet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JApplet; + class JApplet$AccessibleJApplet; + } + } +} + +class javax::swing::JApplet$AccessibleJApplet : public ::java::applet::Applet$AccessibleApplet +{ + +public: // actually protected + JApplet$AccessibleJApplet(::javax::swing::JApplet *); +public: // actually package-private + ::javax::swing::JApplet * __attribute__((aligned(__alignof__( ::java::applet::Applet$AccessibleApplet)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JApplet$AccessibleJApplet__ diff --git a/libjava/javax/swing/JApplet.h b/libjava/javax/swing/JApplet.h new file mode 100644 index 00000000000..16cdbcf69da --- /dev/null +++ b/libjava/javax/swing/JApplet.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JApplet__ +#define __javax_swing_JApplet__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Graphics; + class LayoutManager; + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JApplet; + class JLayeredPane; + class JMenuBar; + class JRootPane; + } + } +} + +class javax::swing::JApplet : public ::java::applet::Applet +{ + +public: + JApplet(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setLayeredPane(::javax::swing::JLayeredPane *); + virtual ::javax::swing::JLayeredPane * getLayeredPane(); + virtual ::javax::swing::JRootPane * getRootPane(); +public: // actually protected + virtual void setRootPane(::javax::swing::JRootPane *); + virtual ::javax::swing::JRootPane * createRootPane(); +public: + virtual ::java::awt::Container * getContentPane(); + virtual void setContentPane(::java::awt::Container *); + virtual ::java::awt::Component * getGlassPane(); + virtual void setGlassPane(::java::awt::Component *); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::swing::JMenuBar * getJMenuBar(); + virtual void setJMenuBar(::javax::swing::JMenuBar *); +public: // actually protected + virtual ::java::lang::String * paramString(); + virtual void processKeyEvent(::java::awt::event::KeyEvent *); +public: + virtual void remove(::java::awt::Component *); +public: // actually protected + virtual jboolean isRootPaneCheckingEnabled(); + virtual void setRootPaneCheckingEnabled(jboolean); +public: + virtual void update(::java::awt::Graphics *); +public: // actually protected + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::java::applet::Applet)))) accessibleContext; +private: + static const jlong serialVersionUID = 7269359214497372587LL; +public: // actually protected + ::javax::swing::JRootPane * rootPane; + jboolean rootPaneCheckingEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JApplet__ diff --git a/libjava/javax/swing/JButton$AccessibleJButton.h b/libjava/javax/swing/JButton$AccessibleJButton.h new file mode 100644 index 00000000000..b8f0f3ed85a --- /dev/null +++ b/libjava/javax/swing/JButton$AccessibleJButton.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JButton$AccessibleJButton__ +#define __javax_swing_JButton$AccessibleJButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JButton; + class JButton$AccessibleJButton; + } + } +} + +class javax::swing::JButton$AccessibleJButton : public ::javax::swing::AbstractButton$AccessibleAbstractButton +{ + +public: // actually protected + JButton$AccessibleJButton(::javax::swing::JButton *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually package-private + ::javax::swing::JButton * __attribute__((aligned(__alignof__( ::javax::swing::AbstractButton$AccessibleAbstractButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JButton$AccessibleJButton__ diff --git a/libjava/javax/swing/JButton.h b/libjava/javax/swing/JButton.h new file mode 100644 index 00000000000..a151bae8a8a --- /dev/null +++ b/libjava/javax/swing/JButton.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JButton__ +#define __javax_swing_JButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JButton; + } + } +} + +class javax::swing::JButton : public ::javax::swing::AbstractButton +{ + +public: + JButton(); + JButton(::javax::swing::Action *); + JButton(::javax::swing::Icon *); + JButton(::java::lang::String *); + JButton(::java::lang::String *, ::javax::swing::Icon *); +public: // actually protected + virtual void configurePropertiesFromAction(::javax::swing::Action *); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getUIClassID(); + virtual jboolean isDefaultButton(); + virtual jboolean isDefaultCapable(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void removeNotify(); + virtual void setDefaultCapable(jboolean); + virtual void updateUI(); +private: + static const jlong serialVersionUID = -1907255238954382202LL; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::AbstractButton)))) defaultCapable; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JButton__ diff --git a/libjava/javax/swing/JCheckBox$AccessibleJCheckBox.h b/libjava/javax/swing/JCheckBox$AccessibleJCheckBox.h new file mode 100644 index 00000000000..34d711e395f --- /dev/null +++ b/libjava/javax/swing/JCheckBox$AccessibleJCheckBox.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JCheckBox$AccessibleJCheckBox__ +#define __javax_swing_JCheckBox$AccessibleJCheckBox__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JCheckBox; + class JCheckBox$AccessibleJCheckBox; + } + } +} + +class javax::swing::JCheckBox$AccessibleJCheckBox : public ::javax::swing::JToggleButton$AccessibleJToggleButton +{ + +public: // actually protected + JCheckBox$AccessibleJCheckBox(::javax::swing::JCheckBox *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually package-private + ::javax::swing::JCheckBox * __attribute__((aligned(__alignof__( ::javax::swing::JToggleButton$AccessibleJToggleButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JCheckBox$AccessibleJCheckBox__ diff --git a/libjava/javax/swing/JCheckBox.h b/libjava/javax/swing/JCheckBox.h new file mode 100644 index 00000000000..b57d5c1671b --- /dev/null +++ b/libjava/javax/swing/JCheckBox.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JCheckBox__ +#define __javax_swing_JCheckBox__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JCheckBox; + } + } +} + +class javax::swing::JCheckBox : public ::javax::swing::JToggleButton +{ + + void init(); +public: + JCheckBox(); + JCheckBox(::javax::swing::Action *); + JCheckBox(::javax::swing::Icon *); + JCheckBox(::javax::swing::Icon *, jboolean); + JCheckBox(::java::lang::String *); + JCheckBox(::java::lang::String *, jboolean); + JCheckBox(::java::lang::String *, ::javax::swing::Icon *); + JCheckBox(::java::lang::String *, ::javax::swing::Icon *, jboolean); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual jboolean isBorderPaintedFlat(); + virtual void setBorderPaintedFlat(jboolean); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -5246739313864538930LL; +public: + static ::java::lang::String * BORDER_PAINTED_FLAT_CHANGED_PROPERTY; +private: + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JToggleButton)))) borderPaintedFlat; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JCheckBox__ diff --git a/libjava/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.h b/libjava/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.h new file mode 100644 index 00000000000..5508976090a --- /dev/null +++ b/libjava/javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem__ +#define __javax_swing_JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JCheckBoxMenuItem; + class JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem; + } + } +} + +class javax::swing::JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem : public ::javax::swing::JMenuItem$AccessibleJMenuItem +{ + +public: // actually protected + JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem(::javax::swing::JCheckBoxMenuItem *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 1079958073579370777LL; +public: // actually package-private + ::javax::swing::JCheckBoxMenuItem * __attribute__((aligned(__alignof__( ::javax::swing::JMenuItem$AccessibleJMenuItem)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem__ diff --git a/libjava/javax/swing/JCheckBoxMenuItem.h b/libjava/javax/swing/JCheckBoxMenuItem.h new file mode 100644 index 00000000000..fcb3355228c --- /dev/null +++ b/libjava/javax/swing/JCheckBoxMenuItem.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JCheckBoxMenuItem__ +#define __javax_swing_JCheckBoxMenuItem__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JCheckBoxMenuItem; + } + } +} + +class javax::swing::JCheckBoxMenuItem : public ::javax::swing::JMenuItem +{ + +public: + JCheckBoxMenuItem(); + JCheckBoxMenuItem(::javax::swing::Icon *); + JCheckBoxMenuItem(::java::lang::String *); + JCheckBoxMenuItem(::javax::swing::Action *); + JCheckBoxMenuItem(::java::lang::String *, ::javax::swing::Icon *); + JCheckBoxMenuItem(::java::lang::String *, jboolean); + JCheckBoxMenuItem(::java::lang::String *, ::javax::swing::Icon *, jboolean); + virtual ::java::lang::String * getUIClassID(); + virtual jboolean getState(); + virtual void setState(jboolean); + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual void requestFocus(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -6676402307973384715LL; + static ::java::lang::String * uiClassID; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JMenuItem)))) state; + JArray< ::java::lang::Object * > * selectedObjects; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JCheckBoxMenuItem__ diff --git a/libjava/javax/swing/JColorChooser$AccessibleJColorChooser.h b/libjava/javax/swing/JColorChooser$AccessibleJColorChooser.h new file mode 100644 index 00000000000..6a4ecf7318d --- /dev/null +++ b/libjava/javax/swing/JColorChooser$AccessibleJColorChooser.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JColorChooser$AccessibleJColorChooser__ +#define __javax_swing_JColorChooser$AccessibleJColorChooser__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JColorChooser; + class JColorChooser$AccessibleJColorChooser; + } + } +} + +class javax::swing::JColorChooser$AccessibleJColorChooser : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JColorChooser$AccessibleJColorChooser(::javax::swing::JColorChooser *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -2038297864782299082LL; +public: // actually package-private + ::javax::swing::JColorChooser * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JColorChooser$AccessibleJColorChooser__ diff --git a/libjava/javax/swing/JColorChooser$DefaultOKCancelListener.h b/libjava/javax/swing/JColorChooser$DefaultOKCancelListener.h new file mode 100644 index 00000000000..0b2093c2dee --- /dev/null +++ b/libjava/javax/swing/JColorChooser$DefaultOKCancelListener.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JColorChooser$DefaultOKCancelListener__ +#define __javax_swing_JColorChooser$DefaultOKCancelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JColorChooser$DefaultOKCancelListener; + class JDialog; + } + } +} + +class javax::swing::JColorChooser$DefaultOKCancelListener : public ::java::lang::Object +{ + +public: + JColorChooser$DefaultOKCancelListener(::javax::swing::JDialog *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + ::javax::swing::JDialog * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JColorChooser$DefaultOKCancelListener__ diff --git a/libjava/javax/swing/JColorChooser$DefaultResetListener.h b/libjava/javax/swing/JColorChooser$DefaultResetListener.h new file mode 100644 index 00000000000..4167cbbcf5f --- /dev/null +++ b/libjava/javax/swing/JColorChooser$DefaultResetListener.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JColorChooser$DefaultResetListener__ +#define __javax_swing_JColorChooser$DefaultResetListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JColorChooser; + class JColorChooser$DefaultResetListener; + } + } +} + +class javax::swing::JColorChooser$DefaultResetListener : public ::java::lang::Object +{ + +public: + JColorChooser$DefaultResetListener(::javax::swing::JColorChooser *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + ::javax::swing::JColorChooser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) chooser; + ::java::awt::Color * init; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JColorChooser$DefaultResetListener__ diff --git a/libjava/javax/swing/JColorChooser.h b/libjava/javax/swing/JColorChooser.h new file mode 100644 index 00000000000..66d0da60702 --- /dev/null +++ b/libjava/javax/swing/JColorChooser.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JColorChooser__ +#define __javax_swing_JColorChooser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + namespace event + { + class ActionListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JColorChooser; + class JComponent; + class JDialog; + namespace colorchooser + { + class AbstractColorChooserPanel; + class ColorSelectionModel; + } + namespace plaf + { + class ColorChooserUI; + } + } + } +} + +class javax::swing::JColorChooser : public ::javax::swing::JComponent +{ + +public: + JColorChooser(); + JColorChooser(::java::awt::Color *); + JColorChooser(::javax::swing::colorchooser::ColorSelectionModel *); + virtual void setColor(::java::awt::Color *); + virtual void setColor(jint, jint, jint); + virtual void setColor(jint); + static ::java::awt::Color * showDialog(::java::awt::Component *, ::java::lang::String *, ::java::awt::Color *); +public: // actually package-private + static void makeModal(::javax::swing::JDialog *); +private: + static ::java::awt::Component * findParent(::java::awt::Component *); +public: + static ::javax::swing::JDialog * createDialog(::java::awt::Component *, ::java::lang::String *, jboolean, ::javax::swing::JColorChooser *, ::java::awt::event::ActionListener *, ::java::awt::event::ActionListener *); + virtual ::javax::swing::plaf::ColorChooserUI * getUI(); + virtual void setUI(::javax::swing::plaf::ColorChooserUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::java::awt::Color * getColor(); + virtual void setPreviewPanel(::javax::swing::JComponent *); + virtual ::javax::swing::JComponent * getPreviewPanel(); + virtual void addChooserPanel(::javax::swing::colorchooser::AbstractColorChooserPanel *); + virtual ::javax::swing::colorchooser::AbstractColorChooserPanel * removeChooserPanel(::javax::swing::colorchooser::AbstractColorChooserPanel *); + virtual void setChooserPanels(JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > *); + virtual JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > * getChooserPanels(); + virtual ::javax::swing::colorchooser::ColorSelectionModel * getSelectionModel(); + virtual void setSelectionModel(::javax::swing::colorchooser::ColorSelectionModel *); + virtual jboolean getDragEnabled(); + virtual void setDragEnabled(jboolean); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 9168066781620640889LL; + ::javax::swing::colorchooser::ColorSelectionModel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) selectionModel; + ::javax::swing::JComponent * previewPanel; + JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > * chooserPanels; + jboolean dragEnabled; +public: + static ::java::lang::String * SELECTION_MODEL_PROPERTY; + static ::java::lang::String * PREVIEW_PANEL_PROPERTY; + static ::java::lang::String * CHOOSER_PANELS_PROPERTY; +public: // actually protected + ::javax::accessibility::AccessibleContext * accessibleContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JColorChooser__ diff --git a/libjava/javax/swing/JComboBox$1.h b/libjava/javax/swing/JComboBox$1.h new file mode 100644 index 00000000000..865b18fe48c --- /dev/null +++ b/libjava/javax/swing/JComboBox$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComboBox$1__ +#define __javax_swing_JComboBox$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JComboBox; + class JComboBox$1; + } + } +} + +class javax::swing::JComboBox$1 : public ::java::lang::Object +{ + +public: // actually package-private + JComboBox$1(::javax::swing::JComboBox *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::JComboBox * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComboBox$1__ diff --git a/libjava/javax/swing/JComboBox$AccessibleJComboBox.h b/libjava/javax/swing/JComboBox$AccessibleJComboBox.h new file mode 100644 index 00000000000..7f8b2ca997a --- /dev/null +++ b/libjava/javax/swing/JComboBox$AccessibleJComboBox.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComboBox$AccessibleJComboBox__ +#define __javax_swing_JComboBox$AccessibleJComboBox__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleAction; + class AccessibleRole; + class AccessibleSelection; + } + namespace swing + { + class JComboBox; + class JComboBox$AccessibleJComboBox; + } + } +} + +class javax::swing::JComboBox$AccessibleJComboBox : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: + JComboBox$AccessibleJComboBox(::javax::swing::JComboBox *); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jint getAccessibleActionCount(); + virtual jboolean doAccessibleAction(jint); + virtual jint getAccessibleSelectionCount(); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); +private: + static const jlong serialVersionUID = 8217828307256675666LL; +public: // actually package-private + ::javax::swing::JComboBox * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComboBox$AccessibleJComboBox__ diff --git a/libjava/javax/swing/JComboBox$DefaultKeySelectionManager.h b/libjava/javax/swing/JComboBox$DefaultKeySelectionManager.h new file mode 100644 index 00000000000..d968118ed66 --- /dev/null +++ b/libjava/javax/swing/JComboBox$DefaultKeySelectionManager.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComboBox$DefaultKeySelectionManager__ +#define __javax_swing_JComboBox$DefaultKeySelectionManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ComboBoxModel; + class JComboBox; + class JComboBox$DefaultKeySelectionManager; + } + } +} + +class javax::swing::JComboBox$DefaultKeySelectionManager : public ::java::lang::Object +{ + + JComboBox$DefaultKeySelectionManager(::javax::swing::JComboBox *); +public: + virtual jint selectionForKey(jchar, ::javax::swing::ComboBoxModel *); +public: // actually package-private + JComboBox$DefaultKeySelectionManager(::javax::swing::JComboBox *, ::javax::swing::JComboBox$DefaultKeySelectionManager *); + ::javax::swing::JComboBox * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComboBox$DefaultKeySelectionManager__ diff --git a/libjava/javax/swing/JComboBox$KeySelectionManager.h b/libjava/javax/swing/JComboBox$KeySelectionManager.h new file mode 100644 index 00000000000..4d6314e8f42 --- /dev/null +++ b/libjava/javax/swing/JComboBox$KeySelectionManager.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComboBox$KeySelectionManager__ +#define __javax_swing_JComboBox$KeySelectionManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ComboBoxModel; + class JComboBox$KeySelectionManager; + } + } +} + +class javax::swing::JComboBox$KeySelectionManager : public ::java::lang::Object +{ + +public: + virtual jint selectionForKey(jchar, ::javax::swing::ComboBoxModel *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_JComboBox$KeySelectionManager__ diff --git a/libjava/javax/swing/JComboBox.h b/libjava/javax/swing/JComboBox.h new file mode 100644 index 00000000000..ef9f7147c79 --- /dev/null +++ b/libjava/javax/swing/JComboBox.h @@ -0,0 +1,164 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComboBox__ +#define __javax_swing_JComboBox__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ActionListener; + class ItemEvent; + class ItemListener; + class KeyEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class ComboBoxEditor; + class ComboBoxModel; + class JComboBox; + class JComboBox$KeySelectionManager; + class ListCellRenderer; + namespace event + { + class ListDataEvent; + class PopupMenuListener; + } + namespace plaf + { + class ComboBoxUI; + } + } + } +} + +class javax::swing::JComboBox : public ::javax::swing::JComponent +{ + +public: + JComboBox(::javax::swing::ComboBoxModel *); + JComboBox(JArray< ::java::lang::Object * > *); + JComboBox(::java::util::Vector *); + JComboBox(); + virtual jboolean isEditable(); +public: // actually protected + virtual void installAncestorListener(); +public: + virtual void setUI(::javax::swing::plaf::ComboBoxUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::swing::plaf::ComboBoxUI * getUI(); + virtual void setModel(::javax::swing::ComboBoxModel *); + virtual ::javax::swing::ComboBoxModel * getModel(); + virtual void setLightWeightPopupEnabled(jboolean); + virtual jboolean isLightWeightPopupEnabled(); + virtual void setEditable(jboolean); + virtual void setMaximumRowCount(jint); + virtual jint getMaximumRowCount(); + virtual void setRenderer(::javax::swing::ListCellRenderer *); + virtual ::javax::swing::ListCellRenderer * getRenderer(); + virtual void setEditor(::javax::swing::ComboBoxEditor *); + virtual ::javax::swing::ComboBoxEditor * getEditor(); + virtual void setSelectedItem(::java::lang::Object *); + virtual ::java::lang::Object * getSelectedItem(); + virtual void setSelectedIndex(jint); + virtual jint getSelectedIndex(); + virtual ::java::lang::Object * getPrototypeDisplayValue(); + virtual void setPrototypeDisplayValue(::java::lang::Object *); + virtual void addItem(::java::lang::Object *); + virtual void insertItemAt(::java::lang::Object *, jint); + virtual void removeItem(::java::lang::Object *); + virtual void removeItemAt(jint); + virtual void removeAllItems(); + virtual void showPopup(); + virtual void hidePopup(); + virtual void setPopupVisible(jboolean); + virtual jboolean isPopupVisible(); + virtual void setActionCommand(::java::lang::String *); + virtual ::java::lang::String * getActionCommand(); + virtual void setAction(::javax::swing::Action *); + virtual ::javax::swing::Action * getAction(); +public: // actually protected + virtual void configurePropertiesFromAction(::javax::swing::Action *); + virtual ::java::beans::PropertyChangeListener * createActionPropertyChangeListener(::javax::swing::Action *); + virtual void fireItemStateChanged(::java::awt::event::ItemEvent *); + virtual void fireActionEvent(); +public: + virtual void firePopupMenuCanceled(); + virtual void firePopupMenuWillBecomeInvisible(); + virtual void firePopupMenuWillBecomeVisible(); +public: // actually protected + virtual void selectedItemChanged(); +public: + virtual JArray< ::java::lang::Object * > * getSelectedObjects(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean selectWithKeyChar(jchar); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); + virtual void contentsChanged(::javax::swing::event::ListDataEvent *); + virtual void setEnabled(jboolean); + virtual void configureEditor(::javax::swing::ComboBoxEditor *, ::java::lang::Object *); + virtual void processKeyEvent(::java::awt::event::KeyEvent *); + virtual void setKeySelectionManager(::javax::swing::JComboBox$KeySelectionManager *); + virtual ::javax::swing::JComboBox$KeySelectionManager * getKeySelectionManager(); + virtual jint getItemCount(); + virtual ::java::lang::Object * getItemAt(jint); +public: // actually protected + virtual ::javax::swing::JComboBox$KeySelectionManager * createDefaultKeySelectionManager(); + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual void addItemListener(::java::awt::event::ItemListener *); + virtual void removeItemListener(::java::awt::event::ItemListener *); + virtual JArray< ::java::awt::event::ItemListener * > * getItemListeners(); + virtual void addPopupMenuListener(::javax::swing::event::PopupMenuListener *); + virtual void removePopupMenuListener(::javax::swing::event::PopupMenuListener *); + virtual JArray< ::javax::swing::event::PopupMenuListener * > * getPopupMenuListeners(); +private: + static const jlong serialVersionUID = 5654585963292734470LL; + static const jint DEFAULT_MAXIMUM_ROW_COUNT = 8; +public: // actually protected + ::javax::swing::ComboBoxModel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) dataModel; + ::javax::swing::ListCellRenderer * renderer; + ::javax::swing::ComboBoxEditor * editor; + jint maximumRowCount; + jboolean isEditable__; + ::java::lang::Object * selectedItemReminder; + ::javax::swing::JComboBox$KeySelectionManager * keySelectionManager; + ::java::lang::String * actionCommand; + jboolean lightWeightPopupEnabled; +private: + ::javax::swing::Action * action; + ::java::lang::Object * prototypeDisplayValue; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComboBox__ diff --git a/libjava/javax/swing/JComponent$1.h b/libjava/javax/swing/JComponent$1.h new file mode 100644 index 00000000000..efcbd1c8fe0 --- /dev/null +++ b/libjava/javax/swing/JComponent$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComponent$1__ +#define __javax_swing_JComponent$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + class JComponent$1; + } + } +} + +class javax::swing::JComponent$1 : public ::java::lang::Object +{ + +public: // actually package-private + JComponent$1(::javax::swing::JComponent *); +public: + void run(); +public: // actually package-private + ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComponent$1__ diff --git a/libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.h b/libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.h new file mode 100644 index 00000000000..6b25d9aeaa9 --- /dev/null +++ b/libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleContainerHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComponent$AccessibleJComponent$AccessibleContainerHandler__ +#define __javax_swing_JComponent$AccessibleJComponent$AccessibleContainerHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent$AccessibleJComponent; + class JComponent$AccessibleJComponent$AccessibleContainerHandler; + } + } +} + +class javax::swing::JComponent$AccessibleJComponent$AccessibleContainerHandler : public ::java::lang::Object +{ + +public: // actually protected + JComponent$AccessibleJComponent$AccessibleContainerHandler(::javax::swing::JComponent$AccessibleJComponent *); +public: + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); +public: // actually package-private + ::javax::swing::JComponent$AccessibleJComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComponent$AccessibleJComponent$AccessibleContainerHandler__ diff --git a/libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.h b/libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.h new file mode 100644 index 00000000000..50825416858 --- /dev/null +++ b/libjava/javax/swing/JComponent$AccessibleJComponent$AccessibleFocusHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComponent$AccessibleJComponent$AccessibleFocusHandler__ +#define __javax_swing_JComponent$AccessibleJComponent$AccessibleFocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent$AccessibleJComponent; + class JComponent$AccessibleJComponent$AccessibleFocusHandler; + } + } +} + +class javax::swing::JComponent$AccessibleJComponent$AccessibleFocusHandler : public ::java::lang::Object +{ + +public: // actually protected + JComponent$AccessibleJComponent$AccessibleFocusHandler(::javax::swing::JComponent$AccessibleJComponent *); +public: + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::JComponent$AccessibleJComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComponent$AccessibleJComponent$AccessibleFocusHandler__ diff --git a/libjava/javax/swing/JComponent$AccessibleJComponent.h b/libjava/javax/swing/JComponent$AccessibleJComponent.h new file mode 100644 index 00000000000..d0a3546743f --- /dev/null +++ b/libjava/javax/swing/JComponent$AccessibleJComponent.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComponent$AccessibleJComponent__ +#define __javax_swing_JComponent$AccessibleJComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerListener; + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleKeyBinding; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class JComponent; + class JComponent$AccessibleJComponent; + namespace border + { + class Border; + } + } + } +} + +class javax::swing::JComponent$AccessibleJComponent : public ::java::awt::Container$AccessibleAWTContainer +{ + +public: // actually protected + JComponent$AccessibleJComponent(::javax::swing::JComponent *); +public: + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::java::lang::String * getAccessibleName(); + virtual ::java::lang::String * getAccessibleDescription(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually protected + virtual ::java::lang::String * getBorderTitle(::javax::swing::border::Border *); +public: + virtual ::java::lang::String * getToolTipText(); + virtual ::java::lang::String * getTitledBorderText(); + virtual ::javax::accessibility::AccessibleKeyBinding * getAccessibleKeyBinding(); +private: + static const jlong serialVersionUID = -7047089700479897799LL; +public: // actually protected + ::java::awt::event::ContainerListener * __attribute__((aligned(__alignof__( ::java::awt::Container$AccessibleAWTContainer)))) accessibleContainerHandler; + ::java::awt::event::FocusListener * accessibleFocusHandler; +public: // actually package-private + ::javax::swing::JComponent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComponent$AccessibleJComponent__ diff --git a/libjava/javax/swing/JComponent$ActionListenerProxy.h b/libjava/javax/swing/JComponent$ActionListenerProxy.h new file mode 100644 index 00000000000..9679e190935 --- /dev/null +++ b/libjava/javax/swing/JComponent$ActionListenerProxy.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComponent$ActionListenerProxy__ +#define __javax_swing_JComponent$ActionListenerProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } + namespace javax + { + namespace swing + { + class JComponent$ActionListenerProxy; + } + } +} + +class javax::swing::JComponent$ActionListenerProxy : public ::javax::swing::AbstractAction +{ + +public: + JComponent$ActionListenerProxy(::java::awt::event::ActionListener *, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::java::awt::event::ActionListener * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) target; + ::java::lang::String * bindingCommandName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComponent$ActionListenerProxy__ diff --git a/libjava/javax/swing/JComponent.h b/libjava/javax/swing/JComponent.h new file mode 100644 index 00000000000..e87a6c29076 --- /dev/null +++ b/libjava/javax/swing/JComponent.h @@ -0,0 +1,297 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JComponent__ +#define __javax_swing_JComponent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Container; + class Dimension; + class Font; + class Graphics; + class Image; + class Insets; + class Point; + class Rectangle; + namespace event + { + class ActionListener; + class KeyEvent; + class MouseEvent; + } + } + namespace beans + { + class VetoableChangeListener; + class VetoableChangeSupport; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class ActionMap; + class ComponentInputMap; + class InputMap; + class InputVerifier; + class JComponent; + class JPopupMenu; + class JRootPane; + class JToolTip; + class KeyStroke; + class TransferHandler; + namespace border + { + class Border; + } + namespace event + { + class AncestorListener; + class EventListenerList; + } + namespace plaf + { + class ComponentUI; + } + } + } +} + +class javax::swing::JComponent : public ::java::awt::Container +{ + +public: + JComponent(); +private: + ::java::util::Hashtable * getClientProperties(); +public: + virtual ::java::lang::Object * getClientProperty(::java::lang::Object *); + virtual void putClientProperty(::java::lang::Object *, ::java::lang::Object *); + virtual void removeAncestorListener(::javax::swing::event::AncestorListener *); + virtual void removeVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual void addAncestorListener(::javax::swing::event::AncestorListener *); + virtual void addVetoableChangeListener(::java::beans::VetoableChangeListener *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::AncestorListener * > * getAncestorListeners(); + virtual JArray< ::java::beans::VetoableChangeListener * > * getVetoableChangeListeners(); +public: // actually protected + virtual void fireVetoableChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void firePropertyChange(::java::lang::String *, jint, jint); + virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); + virtual void firePropertyChange(::java::lang::String *, jchar, jchar); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual jfloat getAlignmentX(); + virtual jfloat getAlignmentY(); + virtual jboolean getAutoscrolls(); + virtual void setBorder(::javax::swing::border::Border *); + virtual ::javax::swing::border::Border * getBorder(); + virtual ::java::awt::Rectangle * getBounds(::java::awt::Rectangle *); +public: // actually protected + virtual ::java::awt::Graphics * getComponentGraphics(::java::awt::Graphics *); +public: + virtual jint getDebugGraphicsOptions(); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Insets * getInsets(::java::awt::Insets *); + virtual ::java::awt::Point * getLocation(::java::awt::Point *); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Component * getNextFocusableComponent(); + virtual JArray< ::javax::swing::KeyStroke * > * getRegisteredKeyStrokes(); + virtual ::javax::swing::JRootPane * getRootPane(); + virtual ::java::awt::Dimension * getSize(::java::awt::Dimension *); + virtual ::javax::swing::JToolTip * createToolTip(); + virtual ::java::awt::Point * getToolTipLocation(::java::awt::event::MouseEvent *); + virtual void setToolTipText(::java::lang::String *); + virtual ::java::lang::String * getToolTipText(); + virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *); + virtual jboolean getInheritsPopupMenu(); + virtual void setInheritsPopupMenu(jboolean); + virtual ::javax::swing::JPopupMenu * getComponentPopupMenu(); + virtual void setComponentPopupMenu(::javax::swing::JPopupMenu *); + virtual ::java::awt::Container * getTopLevelAncestor(); + virtual void computeVisibleRect(::java::awt::Rectangle *); + virtual ::java::awt::Rectangle * getVisibleRect(); + virtual void grabFocus(); + virtual jboolean isDoubleBuffered(); + static jboolean isLightweightComponent(::java::awt::Component *); + virtual jboolean isManagingFocus(); + virtual jboolean isOpaque(); + virtual jboolean isOptimizedDrawingEnabled(); + virtual jboolean isPaintingTile(); + virtual jboolean isRequestFocusEnabled(); + virtual jboolean isValidateRoot(); + virtual void paint(::java::awt::Graphics *); +private: + jboolean isOccupiedByChild(jint, jint, jint, jint); + void initializeDragBuffer(); +public: // actually protected + virtual void paintBorder(::java::awt::Graphics *); + virtual void paintChildren(::java::awt::Graphics *); +private: + jboolean isCompletelyObscured(jint, jint, jint, jint, jint); + jboolean isPartiallyObscured(jint, jint, jint, jint, jint); +public: // actually protected + virtual void paintComponent(::java::awt::Graphics *); +public: + virtual void paintImmediately(jint, jint, jint, jint); + virtual void paintImmediately(::java::awt::Rectangle *); +public: // actually package-private + virtual void paintImmediately2(jint, jint, jint, jint); + virtual jboolean onTop(); + virtual jboolean isPaintRoot(); +private: + void paintDoubleBuffered(jint, jint, jint, jint); + void clipAndTranslateGraphics(::java::awt::Component *, ::java::awt::Component *, ::java::awt::Graphics *); +public: // actually package-private + virtual void paintSimple(::java::awt::Rectangle *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void registerKeyboardAction(::java::awt::event::ActionListener *, ::javax::swing::KeyStroke *, jint); + virtual void registerKeyboardAction(::java::awt::event::ActionListener *, ::java::lang::String *, ::javax::swing::KeyStroke *, jint); + virtual void setInputMap(jint, ::javax::swing::InputMap *); + virtual ::javax::swing::InputMap * getInputMap(jint); + virtual ::javax::swing::InputMap * getInputMap(); + virtual ::javax::swing::ActionMap * getActionMap(); + virtual void setActionMap(::javax::swing::ActionMap *); + virtual jint getConditionForKeyStroke(::javax::swing::KeyStroke *); + virtual ::java::awt::event::ActionListener * getActionForKeyStroke(::javax::swing::KeyStroke *); +public: // actually protected + virtual void processComponentKeyEvent(::java::awt::event::KeyEvent *); + virtual void processKeyEvent(::java::awt::event::KeyEvent *); + virtual jboolean processKeyBinding(::javax::swing::KeyStroke *, ::java::awt::event::KeyEvent *, jint, jboolean); +public: + virtual void unregisterKeyboardAction(::javax::swing::KeyStroke *); + virtual void resetKeyboardActions(); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void repaint(::java::awt::Rectangle *); + virtual jboolean requestDefaultFocus(); + virtual void revalidate(); + virtual void scrollRectToVisible(::java::awt::Rectangle *); + virtual void setAlignmentX(jfloat); + virtual void setAlignmentY(jfloat); + virtual void setAutoscrolls(jboolean); + virtual void setDebugGraphicsOptions(jint); + virtual void setDoubleBuffered(jboolean); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setBackground(::java::awt::Color *); + virtual void setForeground(::java::awt::Color *); + virtual void setNextFocusableComponent(::java::awt::Component *); + virtual void setRequestFocusEnabled(jboolean); + virtual ::javax::swing::TransferHandler * getTransferHandler(); + virtual void setTransferHandler(::javax::swing::TransferHandler *); + virtual void setOpaque(jboolean); + virtual void setVisible(jboolean); + virtual void update(::java::awt::Graphics *); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual void setUI(::javax::swing::plaf::ComponentUI *); +public: + virtual void updateUI(); + static ::java::util::Locale * getDefaultLocale(); + static void setDefaultLocale(::java::util::Locale *); + virtual ::javax::swing::InputVerifier * getInputVerifier(); + virtual void setInputVerifier(::javax::swing::InputVerifier *); + virtual jboolean getVerifyInputWhenFocusTarget(); + virtual void setVerifyInputWhenFocusTarget(jboolean); + virtual void requestFocus(); + virtual jboolean requestFocus(jboolean); + virtual jboolean requestFocusInWindow(); +public: // actually protected + virtual jboolean requestFocusInWindow(jboolean); +public: + virtual void addNotify(); + virtual void removeNotify(); + virtual jboolean contains(jint, jint); + virtual void disable(); + virtual void enable(); + virtual ::java::awt::Graphics * getGraphics(); + virtual jint getX(); + virtual jint getY(); + virtual jint getHeight(); + virtual jint getWidth(); + virtual void print(::java::awt::Graphics *); + virtual void printAll(::java::awt::Graphics *); +public: // actually protected + virtual void printComponent(::java::awt::Graphics *); + virtual void printChildren(::java::awt::Graphics *); + virtual void printBorder(::java::awt::Graphics *); + virtual void processMouseMotionEvent(::java::awt::event::MouseEvent *); +public: + virtual void reshape(jint, jint, jint, jint); +public: // actually package-private + virtual void fireAncestorEvent(::javax::swing::JComponent *, jint); + virtual void updateComponentInputMap(::javax::swing::ComponentInputMap *); + virtual void setUIProperty(::java::lang::String *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = -7908749299918704233LL; +public: // actually protected + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::java::awt::Container)))) accessibleContext; +public: // actually package-private + jfloat alignmentX; + jfloat alignmentY; + ::javax::swing::border::Border * border; + ::javax::swing::JPopupMenu * componentPopupMenu; + jboolean inheritsPopupMenu; + jboolean doubleBuffered; + jint debugGraphicsOptions; + jboolean opaque; +public: // actually protected + ::javax::swing::plaf::ComponentUI * ui; +public: // actually package-private + jboolean requestFocusEnabled; + jboolean autoscrolls; + static jboolean paintingDoubleBuffered; + static jboolean isRepainting; +public: // actually protected + ::javax::swing::event::EventListenerList * listenerList; +private: + ::java::beans::VetoableChangeSupport * vetoableChangeSupport; + ::java::util::Hashtable * clientProperties; + ::javax::swing::InputMap * inputMap_whenFocused; + ::javax::swing::InputMap * inputMap_whenAncestorOfFocused; + ::javax::swing::ComponentInputMap * inputMap_whenInFocusedWindow; + ::javax::swing::ActionMap * actionMap; + jboolean verifyInputWhenFocusTarget; + ::javax::swing::InputVerifier * inputVerifier; + ::javax::swing::TransferHandler * transferHandler; + jboolean paintingTile; + ::java::awt::Image * dragBuffer; + jboolean dragBufferInitialized; + static ::java::awt::Rectangle * rectCache; + static ::java::util::Locale * defaultLocale; +public: + static ::java::lang::String * TOOL_TIP_TEXT_KEY; + static const jint UNDEFINED_CONDITION = -1; + static const jint WHEN_FOCUSED = 0; + static const jint WHEN_ANCESTOR_OF_FOCUSED_COMPONENT = 1; + static const jint WHEN_IN_FOCUSED_WINDOW = 2; +public: // actually package-private + ::java::awt::Component * paintChild; +private: + jboolean clientOpaqueSet; + jboolean clientAutoscrollsSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JComponent__ diff --git a/libjava/javax/swing/JDesktopPane$AccessibleJDesktopPane.h b/libjava/javax/swing/JDesktopPane$AccessibleJDesktopPane.h new file mode 100644 index 00000000000..7788b49dda8 --- /dev/null +++ b/libjava/javax/swing/JDesktopPane$AccessibleJDesktopPane.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JDesktopPane$AccessibleJDesktopPane__ +#define __javax_swing_JDesktopPane$AccessibleJDesktopPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JDesktopPane; + class JDesktopPane$AccessibleJDesktopPane; + } + } +} + +class javax::swing::JDesktopPane$AccessibleJDesktopPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JDesktopPane$AccessibleJDesktopPane(::javax::swing::JDesktopPane *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 6079388927946077570LL; +public: // actually package-private + ::javax::swing::JDesktopPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JDesktopPane$AccessibleJDesktopPane__ diff --git a/libjava/javax/swing/JDesktopPane.h b/libjava/javax/swing/JDesktopPane.h new file mode 100644 index 00000000000..d7e022c9065 --- /dev/null +++ b/libjava/javax/swing/JDesktopPane.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JDesktopPane__ +#define __javax_swing_JDesktopPane__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class DesktopManager; + class JDesktopPane; + class JInternalFrame; + namespace plaf + { + class DesktopPaneUI; + } + } + } +} + +class javax::swing::JDesktopPane : public ::javax::swing::JLayeredPane +{ + +public: + JDesktopPane(); + virtual ::javax::swing::plaf::DesktopPaneUI * getUI(); + virtual void setUI(::javax::swing::plaf::DesktopPaneUI *); + virtual void setDragMode(jint); + virtual jint getDragMode(); + virtual ::javax::swing::DesktopManager * getDesktopManager(); + virtual void setDesktopManager(::javax::swing::DesktopManager *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual JArray< ::javax::swing::JInternalFrame * > * getAllFrames(); + virtual ::javax::swing::JInternalFrame * getSelectedFrame(); + virtual void setSelectedFrame(::javax::swing::JInternalFrame *); + virtual JArray< ::javax::swing::JInternalFrame * > * getAllFramesInLayer(jint); + virtual jboolean isOpaque(); +public: // actually protected + virtual ::java::lang::String * paramString(); +private: + static JArray< ::javax::swing::JInternalFrame * > * getFramesFromComponents(JArray< ::java::awt::Component * > *); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual void setUIProperty(::java::lang::String *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 766333777224038726LL; +public: + static const jint LIVE_DRAG_MODE = 0; + static const jint OUTLINE_DRAG_MODE = 1; +private: + ::javax::swing::JInternalFrame * __attribute__((aligned(__alignof__( ::javax::swing::JLayeredPane)))) selectedFrame; +public: // actually package-private + ::javax::swing::DesktopManager * desktopManager; +private: + jint dragMode; + jboolean clientDragModeSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JDesktopPane__ diff --git a/libjava/javax/swing/JDialog$AccessibleJDialog.h b/libjava/javax/swing/JDialog$AccessibleJDialog.h new file mode 100644 index 00000000000..26ffba493e1 --- /dev/null +++ b/libjava/javax/swing/JDialog$AccessibleJDialog.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JDialog$AccessibleJDialog__ +#define __javax_swing_JDialog$AccessibleJDialog__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JDialog; + class JDialog$AccessibleJDialog; + } + } +} + +class javax::swing::JDialog$AccessibleJDialog : public ::java::awt::Dialog$AccessibleAWTDialog +{ + +public: // actually protected + JDialog$AccessibleJDialog(::javax::swing::JDialog *); +public: // actually package-private + ::javax::swing::JDialog * __attribute__((aligned(__alignof__( ::java::awt::Dialog$AccessibleAWTDialog)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JDialog$AccessibleJDialog__ diff --git a/libjava/javax/swing/JDialog.h b/libjava/javax/swing/JDialog.h new file mode 100644 index 00000000000..968a0fcba57 --- /dev/null +++ b/libjava/javax/swing/JDialog.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JDialog__ +#define __javax_swing_JDialog__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dialog; + class Dimension; + class Frame; + class Graphics; + class GraphicsConfiguration; + class LayoutManager; + namespace event + { + class WindowEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JDialog; + class JLayeredPane; + class JMenuBar; + class JRootPane; + } + } +} + +class javax::swing::JDialog : public ::java::awt::Dialog +{ + +public: + JDialog(); + JDialog(::java::awt::Dialog *); + JDialog(::java::awt::Dialog *, jboolean); + JDialog(::java::awt::Dialog *, ::java::lang::String *); + JDialog(::java::awt::Dialog *, ::java::lang::String *, jboolean); + JDialog(::java::awt::Dialog *, ::java::lang::String *, jboolean, ::java::awt::GraphicsConfiguration *); + JDialog(::java::awt::Frame *); + JDialog(::java::awt::Frame *, jboolean); + JDialog(::java::awt::Frame *, ::java::lang::String *); + JDialog(::java::awt::Frame *, ::java::lang::String *, jboolean); + JDialog(::java::awt::Frame *, ::java::lang::String *, jboolean, ::java::awt::GraphicsConfiguration *); +public: // actually protected + virtual void dialogInit(); +public: + static jboolean isDefaultLookAndFeelDecorated(); + static void setDefaultLookAndFeelDecorated(jboolean); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::javax::swing::JMenuBar * getJMenuBar(); + virtual void setJMenuBar(::javax::swing::JMenuBar *); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setLayeredPane(::javax::swing::JLayeredPane *); + virtual ::javax::swing::JLayeredPane * getLayeredPane(); + virtual ::javax::swing::JRootPane * getRootPane(); +public: // actually protected + virtual void setRootPane(::javax::swing::JRootPane *); + virtual ::javax::swing::JRootPane * createRootPane(); +public: + virtual ::java::awt::Container * getContentPane(); + virtual void setContentPane(::java::awt::Container *); + virtual ::java::awt::Component * getGlassPane(); + virtual void setGlassPane(::java::awt::Component *); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void remove(::java::awt::Component *); +public: // actually protected + virtual jboolean isRootPaneCheckingEnabled(); + virtual void setRootPaneCheckingEnabled(jboolean); +public: + virtual void update(::java::awt::Graphics *); +public: // actually protected + virtual void processWindowEvent(::java::awt::event::WindowEvent *); +public: + virtual void setDefaultCloseOperation(jint); + virtual jint getDefaultCloseOperation(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -864070866424508218LL; +public: // actually protected + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::java::awt::Dialog)))) accessibleContext; + ::javax::swing::JRootPane * rootPane; + jboolean rootPaneCheckingEnabled; +private: + jint closeAction; + static jboolean decorated; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JDialog__ diff --git a/libjava/javax/swing/JEditorPane$1.h b/libjava/javax/swing/JEditorPane$1.h new file mode 100644 index 00000000000..e0010c7e1c7 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$1__ +#define __javax_swing_JEditorPane$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane$1; + class JEditorPane$PlainEditorKit; + namespace text + { + class Element; + class View; + } + } + } +} + +class javax::swing::JEditorPane$1 : public ::java::lang::Object +{ + +public: // actually package-private + JEditorPane$1(::javax::swing::JEditorPane$PlainEditorKit *); +public: + ::javax::swing::text::View * create(::javax::swing::text::Element *); +public: // actually package-private + ::javax::swing::JEditorPane$PlainEditorKit * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$1__ diff --git a/libjava/javax/swing/JEditorPane$2.h b/libjava/javax/swing/JEditorPane$2.h new file mode 100644 index 00000000000..b9bad89cba6 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$2.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$2__ +#define __javax_swing_JEditorPane$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane$2; + class JEditorPane$PageLoader; + } + } +} + +class javax::swing::JEditorPane$2 : public ::java::lang::Object +{ + +public: // actually package-private + JEditorPane$2(::javax::swing::JEditorPane$PageLoader *); +public: + void run(); +public: // actually package-private + ::javax::swing::JEditorPane$PageLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$2__ diff --git a/libjava/javax/swing/JEditorPane$AccessibleJEditorPane.h b/libjava/javax/swing/JEditorPane$AccessibleJEditorPane.h new file mode 100644 index 00000000000..9aecb469f25 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$AccessibleJEditorPane.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$AccessibleJEditorPane__ +#define __javax_swing_JEditorPane$AccessibleJEditorPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleStateSet; + } + namespace swing + { + class JEditorPane; + class JEditorPane$AccessibleJEditorPane; + } + } +} + +class javax::swing::JEditorPane$AccessibleJEditorPane : public ::javax::swing::text::JTextComponent$AccessibleJTextComponent +{ + +public: // actually protected + JEditorPane$AccessibleJEditorPane(::javax::swing::JEditorPane *); +public: + virtual ::java::lang::String * getAccessibleDescription(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +public: // actually package-private + ::javax::swing::JEditorPane * __attribute__((aligned(__alignof__( ::javax::swing::text::JTextComponent$AccessibleJTextComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$AccessibleJEditorPane__ diff --git a/libjava/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.h b/libjava/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.h new file mode 100644 index 00000000000..b9ce1d57da4 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$AccessibleJEditorPaneHTML.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$AccessibleJEditorPaneHTML__ +#define __javax_swing_JEditorPane$AccessibleJEditorPaneHTML__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleText; + } + namespace swing + { + class JEditorPane; + class JEditorPane$AccessibleJEditorPaneHTML; + } + } +} + +class javax::swing::JEditorPane$AccessibleJEditorPaneHTML : public ::javax::swing::JEditorPane$AccessibleJEditorPane +{ + +public: // actually protected + JEditorPane$AccessibleJEditorPaneHTML(::javax::swing::JEditorPane *); +public: + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); +public: // actually package-private + ::javax::swing::JEditorPane * __attribute__((aligned(__alignof__( ::javax::swing::JEditorPane$AccessibleJEditorPane)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$AccessibleJEditorPaneHTML__ diff --git a/libjava/javax/swing/JEditorPane$EditorKitMapping.h b/libjava/javax/swing/JEditorPane$EditorKitMapping.h new file mode 100644 index 00000000000..cb9fa757ae3 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$EditorKitMapping.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$EditorKitMapping__ +#define __javax_swing_JEditorPane$EditorKitMapping__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane$EditorKitMapping; + } + } +} + +class javax::swing::JEditorPane$EditorKitMapping : public ::java::lang::Object +{ + +public: // actually package-private + JEditorPane$EditorKitMapping(::java::lang::String *, ::java::lang::ClassLoader *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) className; + ::java::lang::ClassLoader * classLoader; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$EditorKitMapping__ diff --git a/libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.h b/libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.h new file mode 100644 index 00000000000..3fd5224fe8a --- /dev/null +++ b/libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink__ +#define __javax_swing_JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane$JEditorPaneAccessibleHypertextSupport; + class JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink; + namespace text + { + class Element; + } + } + } +} + +class javax::swing::JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink : public ::javax::accessibility::AccessibleHyperlink +{ + +public: + JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink(::javax::swing::JEditorPane$JEditorPaneAccessibleHypertextSupport *, ::javax::swing::text::Element *); + virtual jboolean isValid(); + virtual jint getAccessibleActionCount(); + virtual jboolean doAccessibleAction(jint); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual ::java::lang::Object * getAccessibleActionObject(jint); + virtual ::java::lang::Object * getAccessibleActionAnchor(jint); + virtual jint getStartIndex(); + virtual jint getEndIndex(); +public: // actually package-private + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleHyperlink)))) element; + ::javax::swing::JEditorPane$JEditorPaneAccessibleHypertextSupport * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$JEditorPaneAccessibleHypertextSupport$HTMLLink__ diff --git a/libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.h b/libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.h new file mode 100644 index 00000000000..759b435f4f5 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$JEditorPaneAccessibleHypertextSupport.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$JEditorPaneAccessibleHypertextSupport__ +#define __javax_swing_JEditorPane$JEditorPaneAccessibleHypertextSupport__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleHyperlink; + } + namespace swing + { + class JEditorPane; + class JEditorPane$JEditorPaneAccessibleHypertextSupport; + } + } +} + +class javax::swing::JEditorPane$JEditorPaneAccessibleHypertextSupport : public ::javax::swing::JEditorPane$AccessibleJEditorPane +{ + +public: + JEditorPane$JEditorPaneAccessibleHypertextSupport(::javax::swing::JEditorPane *); + virtual jint getLinkCount(); + virtual ::javax::accessibility::AccessibleHyperlink * getLink(jint); + virtual jint getLinkIndex(jint); + virtual ::java::lang::String * getLinkText(jint); +public: // actually package-private + static ::javax::swing::JEditorPane * access$0(::javax::swing::JEditorPane$JEditorPaneAccessibleHypertextSupport *); + ::javax::swing::JEditorPane * __attribute__((aligned(__alignof__( ::javax::swing::JEditorPane$AccessibleJEditorPane)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$JEditorPaneAccessibleHypertextSupport__ diff --git a/libjava/javax/swing/JEditorPane$PageLoader.h b/libjava/javax/swing/JEditorPane$PageLoader.h new file mode 100644 index 00000000000..6357e72a54d --- /dev/null +++ b/libjava/javax/swing/JEditorPane$PageLoader.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$PageLoader__ +#define __javax_swing_JEditorPane$PageLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + class JEditorPane; + class JEditorPane$PageLoader; + class JEditorPane$PageStream; + namespace text + { + class Document; + } + } + } +} + +class javax::swing::JEditorPane$PageLoader : public ::java::lang::Object +{ + +public: // actually package-private + JEditorPane$PageLoader(::javax::swing::JEditorPane *, ::javax::swing::text::Document *, ::java::io::InputStream *, ::java::net::URL *, ::java::net::URL *); +public: + virtual void run(); +public: // actually package-private + virtual void cancel(); + static ::java::net::URL * access$0(::javax::swing::JEditorPane$PageLoader *); + static ::javax::swing::JEditorPane * access$1(::javax::swing::JEditorPane$PageLoader *); +private: + ::javax::swing::text::Document * __attribute__((aligned(__alignof__( ::java::lang::Object)))) doc; + ::javax::swing::JEditorPane$PageStream * in; + ::java::net::URL * old; +public: // actually package-private + ::java::net::URL * page; + ::javax::swing::JEditorPane * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$PageLoader__ diff --git a/libjava/javax/swing/JEditorPane$PageStream.h b/libjava/javax/swing/JEditorPane$PageStream.h new file mode 100644 index 00000000000..b4591b722e1 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$PageStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$PageStream__ +#define __javax_swing_JEditorPane$PageStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane; + class JEditorPane$PageStream; + } + } +} + +class javax::swing::JEditorPane$PageStream : public ::java::io::FilterInputStream +{ + +public: // actually protected + JEditorPane$PageStream(::javax::swing::JEditorPane *, ::java::io::InputStream *); +private: + void checkCancelled(); +public: // actually package-private + virtual void cancel(); +public: + virtual jint read(); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); + virtual jint available(); + virtual void reset(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) cancelled; +public: // actually package-private + ::javax::swing::JEditorPane * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$PageStream__ diff --git a/libjava/javax/swing/JEditorPane$PlainEditorKit.h b/libjava/javax/swing/JEditorPane$PlainEditorKit.h new file mode 100644 index 00000000000..39ca0d31834 --- /dev/null +++ b/libjava/javax/swing/JEditorPane$PlainEditorKit.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane$PlainEditorKit__ +#define __javax_swing_JEditorPane$PlainEditorKit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane$PlainEditorKit; + namespace text + { + class ViewFactory; + } + } + } +} + +class javax::swing::JEditorPane$PlainEditorKit : public ::javax::swing::text::DefaultEditorKit +{ + + JEditorPane$PlainEditorKit(); +public: + virtual ::javax::swing::text::ViewFactory * getViewFactory(); +public: // actually package-private + JEditorPane$PlainEditorKit(::javax::swing::JEditorPane$PlainEditorKit *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane$PlainEditorKit__ diff --git a/libjava/javax/swing/JEditorPane.h b/libjava/javax/swing/JEditorPane.h new file mode 100644 index 00000000000..0d1404cee8c --- /dev/null +++ b/libjava/javax/swing/JEditorPane.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JEditorPane__ +#define __javax_swing_JEditorPane__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JEditorPane; + class JEditorPane$PageLoader; + namespace event + { + class HyperlinkEvent; + class HyperlinkListener; + } + namespace text + { + class EditorKit; + } + } + } +} + +class javax::swing::JEditorPane : public ::javax::swing::text::JTextComponent +{ + +public: + JEditorPane(); + JEditorPane(::java::lang::String *); + JEditorPane(::java::lang::String *, ::java::lang::String *); + JEditorPane(::java::net::URL *); +public: // actually package-private + virtual void init(); +public: // actually protected + virtual ::javax::swing::text::EditorKit * createDefaultEditorKit(); +public: + static ::javax::swing::text::EditorKit * createEditorKitForContentType(::java::lang::String *); + virtual void fireHyperlinkUpdate(::javax::swing::event::HyperlinkEvent *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getContentType(); + virtual ::javax::swing::text::EditorKit * getEditorKit(); + static ::java::lang::String * getEditorKitClassNameForContentType(::java::lang::String *); + virtual ::javax::swing::text::EditorKit * getEditorKitForContentType(::java::lang::String *); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual jboolean getScrollableTracksViewportHeight(); + virtual jboolean getScrollableTracksViewportWidth(); + virtual ::java::net::URL * getPage(); +public: // actually protected + virtual ::java::io::InputStream * getStream(::java::net::URL *); +public: + virtual ::java::lang::String * getText(); + virtual ::java::lang::String * getUIClassID(); + virtual jboolean isFocusCycleRoot(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void read(::java::io::InputStream *, ::java::lang::Object *); + static void registerEditorKitForContentType(::java::lang::String *, ::java::lang::String *); + static void registerEditorKitForContentType(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *); + virtual void replaceSelection(::java::lang::String *); + virtual void scrollToReference(::java::lang::String *); + virtual void setContentType(::java::lang::String *); + virtual void setEditorKit(::javax::swing::text::EditorKit *); + virtual void setEditorKitForContentType(::java::lang::String *, ::javax::swing::text::EditorKit *); + virtual void setPage(::java::lang::String *); + virtual void setPage(::java::net::URL *); + virtual void setText(::java::lang::String *); + virtual void addHyperlinkListener(::javax::swing::event::HyperlinkListener *); + virtual void removeHyperlinkListener(::javax::swing::event::HyperlinkListener *); + virtual JArray< ::javax::swing::event::HyperlinkListener * > * getHyperlinkListeners(); +public: // actually package-private + static void access$0(::javax::swing::JEditorPane *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 3140472492599046285LL; + ::javax::swing::text::EditorKit * __attribute__((aligned(__alignof__( ::javax::swing::text::JTextComponent)))) editorKit; +public: // actually package-private + jboolean focus_root; + static ::java::util::HashMap * editorKits; + static ::java::util::HashMap * registerMap; + ::java::util::HashMap * editorMap; +private: + ::javax::swing::JEditorPane$PageLoader * loader; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JEditorPane__ diff --git a/libjava/javax/swing/JFileChooser$1.h b/libjava/javax/swing/JFileChooser$1.h new file mode 100644 index 00000000000..0fb02d37927 --- /dev/null +++ b/libjava/javax/swing/JFileChooser$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFileChooser$1__ +#define __javax_swing_JFileChooser$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowEvent; + } + } + } + namespace javax + { + namespace swing + { + class JFileChooser; + class JFileChooser$1; + } + } +} + +class javax::swing::JFileChooser$1 : public ::java::awt::event::WindowAdapter +{ + +public: // actually package-private + JFileChooser$1(::javax::swing::JFileChooser *); +public: + void windowClosing(::java::awt::event::WindowEvent *); +public: // actually package-private + ::javax::swing::JFileChooser * __attribute__((aligned(__alignof__( ::java::awt::event::WindowAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFileChooser$1__ diff --git a/libjava/javax/swing/JFileChooser$AccessibleJFileChooser.h b/libjava/javax/swing/JFileChooser$AccessibleJFileChooser.h new file mode 100644 index 00000000000..6229b49b62c --- /dev/null +++ b/libjava/javax/swing/JFileChooser$AccessibleJFileChooser.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFileChooser$AccessibleJFileChooser__ +#define __javax_swing_JFileChooser$AccessibleJFileChooser__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JFileChooser; + class JFileChooser$AccessibleJFileChooser; + } + } +} + +class javax::swing::JFileChooser$AccessibleJFileChooser : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JFileChooser$AccessibleJFileChooser(::javax::swing::JFileChooser *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually package-private + ::javax::swing::JFileChooser * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFileChooser$AccessibleJFileChooser__ diff --git a/libjava/javax/swing/JFileChooser.h b/libjava/javax/swing/JFileChooser.h new file mode 100644 index 00000000000..d9418e25228 --- /dev/null +++ b/libjava/javax/swing/JFileChooser.h @@ -0,0 +1,197 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFileChooser__ +#define __javax_swing_JFileChooser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class ActionListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Icon; + class JComponent; + class JDialog; + class JFileChooser; + namespace filechooser + { + class FileFilter; + class FileSystemView; + class FileView; + } + namespace plaf + { + class FileChooserUI; + } + } + } +} + +class javax::swing::JFileChooser : public ::javax::swing::JComponent +{ + +public: + JFileChooser(); + JFileChooser(::java::lang::String *); + JFileChooser(::java::lang::String *, ::javax::swing::filechooser::FileSystemView *); + JFileChooser(::java::io::File *); + JFileChooser(::javax::swing::filechooser::FileSystemView *); + JFileChooser(::java::io::File *, ::javax::swing::filechooser::FileSystemView *); +public: // actually protected + virtual void setup(::javax::swing::filechooser::FileSystemView *); +public: + virtual void setDragEnabled(jboolean); + virtual jboolean getDragEnabled(); + virtual ::java::io::File * getSelectedFile(); + virtual void setSelectedFile(::java::io::File *); + virtual JArray< ::java::io::File * > * getSelectedFiles(); + virtual void setSelectedFiles(JArray< ::java::io::File * > *); + virtual ::java::io::File * getCurrentDirectory(); + virtual void setCurrentDirectory(::java::io::File *); + virtual void changeToParentDirectory(); + virtual void rescanCurrentDirectory(); + virtual void ensureFileIsVisible(::java::io::File *); + virtual jint showOpenDialog(::java::awt::Component *); + virtual jint showSaveDialog(::java::awt::Component *); + virtual jint showDialog(::java::awt::Component *, ::java::lang::String *); +public: // actually protected + virtual ::javax::swing::JDialog * createDialog(::java::awt::Component *); +public: + virtual jboolean getControlButtonsAreShown(); + virtual void setControlButtonsAreShown(jboolean); + virtual jint getDialogType(); + virtual void setDialogType(jint); + virtual void setDialogTitle(::java::lang::String *); + virtual ::java::lang::String * getDialogTitle(); + virtual void setApproveButtonToolTipText(::java::lang::String *); + virtual ::java::lang::String * getApproveButtonToolTipText(); + virtual jint getApproveButtonMnemonic(); + virtual void setApproveButtonMnemonic(jint); + virtual void setApproveButtonMnemonic(jchar); + virtual void setApproveButtonText(::java::lang::String *); + virtual ::java::lang::String * getApproveButtonText(); + virtual JArray< ::javax::swing::filechooser::FileFilter * > * getChoosableFileFilters(); + virtual void addChoosableFileFilter(::javax::swing::filechooser::FileFilter *); + virtual jboolean removeChoosableFileFilter(::javax::swing::filechooser::FileFilter *); + virtual void resetChoosableFileFilters(); + virtual ::javax::swing::filechooser::FileFilter * getAcceptAllFileFilter(); + virtual jboolean isAcceptAllFileFilterUsed(); + virtual void setAcceptAllFileFilterUsed(jboolean); + virtual ::javax::swing::JComponent * getAccessory(); + virtual void setAccessory(::javax::swing::JComponent *); + virtual void setFileSelectionMode(jint); + virtual jint getFileSelectionMode(); + virtual jboolean isFileSelectionEnabled(); + virtual jboolean isDirectorySelectionEnabled(); + virtual void setMultiSelectionEnabled(jboolean); + virtual jboolean isMultiSelectionEnabled(); + virtual jboolean isFileHidingEnabled(); + virtual void setFileHidingEnabled(jboolean); + virtual void setFileFilter(::javax::swing::filechooser::FileFilter *); + virtual ::javax::swing::filechooser::FileFilter * getFileFilter(); + virtual void setFileView(::javax::swing::filechooser::FileView *); + virtual ::javax::swing::filechooser::FileView * getFileView(); + virtual ::java::lang::String * getName(::java::io::File *); + virtual ::java::lang::String * getDescription(::java::io::File *); + virtual ::java::lang::String * getTypeDescription(::java::io::File *); + virtual ::javax::swing::Icon * getIcon(::java::io::File *); + virtual jboolean isTraversable(::java::io::File *); + virtual jboolean accept(::java::io::File *); + virtual void setFileSystemView(::javax::swing::filechooser::FileSystemView *); + virtual ::javax::swing::filechooser::FileSystemView * getFileSystemView(); + virtual void approveSelection(); + virtual void cancelSelection(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); +public: // actually protected + virtual void fireActionPerformed(::java::lang::String *); +public: + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::swing::plaf::FileChooserUI * getUI(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 3162921138695327837LL; +public: + static const jint OPEN_DIALOG = 0; + static const jint SAVE_DIALOG = 1; + static const jint CUSTOM_DIALOG = 2; + static const jint CANCEL_OPTION = 1; + static const jint APPROVE_OPTION = 0; + static const jint ERROR_OPTION = -1; + static const jint FILES_ONLY = 0; + static const jint DIRECTORIES_ONLY = 1; + static const jint FILES_AND_DIRECTORIES = 2; + static ::java::lang::String * CANCEL_SELECTION; + static ::java::lang::String * APPROVE_SELECTION; + static ::java::lang::String * APPROVE_BUTTON_TEXT_CHANGED_PROPERTY; + static ::java::lang::String * APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY; + static ::java::lang::String * APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY; + static ::java::lang::String * CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY; + static ::java::lang::String * DIRECTORY_CHANGED_PROPERTY; + static ::java::lang::String * SELECTED_FILE_CHANGED_PROPERTY; + static ::java::lang::String * SELECTED_FILES_CHANGED_PROPERTY; + static ::java::lang::String * MULTI_SELECTION_ENABLED_CHANGED_PROPERTY; + static ::java::lang::String * FILE_SYSTEM_VIEW_CHANGED_PROPERTY; + static ::java::lang::String * FILE_VIEW_CHANGED_PROPERTY; + static ::java::lang::String * FILE_HIDING_CHANGED_PROPERTY; + static ::java::lang::String * FILE_FILTER_CHANGED_PROPERTY; + static ::java::lang::String * FILE_SELECTION_MODE_CHANGED_PROPERTY; + static ::java::lang::String * ACCESSORY_CHANGED_PROPERTY; + static ::java::lang::String * ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY; + static ::java::lang::String * DIALOG_TITLE_CHANGED_PROPERTY; + static ::java::lang::String * DIALOG_TYPE_CHANGED_PROPERTY; + static ::java::lang::String * CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY; +public: // actually protected + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) accessibleContext; +private: + ::javax::swing::filechooser::FileSystemView * fsv; + ::javax::swing::JComponent * accessory; + jint approveButtonMnemonic; + ::java::lang::String * approveButtonText; + ::java::lang::String * approveButtonToolTipText; + ::java::util::ArrayList * choosableFilters; + jboolean isAcceptAll; + ::java::lang::String * dialogTitle; + jint dialogType; + jint retval; + jboolean multiSelection; + jboolean fileHiding; + jint fileSelectionMode; + ::javax::swing::filechooser::FileView * fv; + jboolean controlButtonsShown; + ::java::io::File * currentDir; + ::javax::swing::filechooser::FileFilter * currentFilter; + JArray< ::java::io::File * > * selectedFiles; + ::java::io::File * selectedFile; + jboolean dragEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFileChooser__ diff --git a/libjava/javax/swing/JFormattedTextField$AbstractFormatter.h b/libjava/javax/swing/JFormattedTextField$AbstractFormatter.h new file mode 100644 index 00000000000..d7ef6b51f24 --- /dev/null +++ b/libjava/javax/swing/JFormattedTextField$AbstractFormatter.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFormattedTextField$AbstractFormatter__ +#define __javax_swing_JFormattedTextField$AbstractFormatter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class JFormattedTextField; + class JFormattedTextField$AbstractFormatter; + namespace text + { + class DocumentFilter; + class NavigationFilter; + } + } + } +} + +class javax::swing::JFormattedTextField$AbstractFormatter : public ::java::lang::Object +{ + +public: + JFormattedTextField$AbstractFormatter(); +public: // actually protected + virtual ::java::lang::Object * clone(); + virtual JArray< ::javax::swing::Action * > * getActions(); + virtual ::javax::swing::text::DocumentFilter * getDocumentFilter(); + virtual ::javax::swing::JFormattedTextField * getFormattedTextField(); + virtual ::javax::swing::text::NavigationFilter * getNavigationFilter(); +public: + virtual void install(::javax::swing::JFormattedTextField *); + virtual void uninstall(); +public: // actually protected + virtual void invalidEdit(); + virtual void setEditValid(jboolean); +public: + virtual ::java::lang::Object * stringToValue(::java::lang::String *) = 0; + virtual ::java::lang::String * valueToString(::java::lang::Object *) = 0; +private: + static const jlong serialVersionUID = -5193212041738979680LL; + ::javax::swing::JFormattedTextField * __attribute__((aligned(__alignof__( ::java::lang::Object)))) textField; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFormattedTextField$AbstractFormatter__ diff --git a/libjava/javax/swing/JFormattedTextField$AbstractFormatterFactory.h b/libjava/javax/swing/JFormattedTextField$AbstractFormatterFactory.h new file mode 100644 index 00000000000..45c633db4e4 --- /dev/null +++ b/libjava/javax/swing/JFormattedTextField$AbstractFormatterFactory.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFormattedTextField$AbstractFormatterFactory__ +#define __javax_swing_JFormattedTextField$AbstractFormatterFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JFormattedTextField; + class JFormattedTextField$AbstractFormatter; + class JFormattedTextField$AbstractFormatterFactory; + } + } +} + +class javax::swing::JFormattedTextField$AbstractFormatterFactory : public ::java::lang::Object +{ + +public: + JFormattedTextField$AbstractFormatterFactory(); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getFormatter(::javax::swing::JFormattedTextField *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFormattedTextField$AbstractFormatterFactory__ diff --git a/libjava/javax/swing/JFormattedTextField.h b/libjava/javax/swing/JFormattedTextField.h new file mode 100644 index 00000000000..5c79e06e605 --- /dev/null +++ b/libjava/javax/swing/JFormattedTextField.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFormattedTextField__ +#define __javax_swing_JFormattedTextField__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + namespace text + { + class Format; + } + } + namespace javax + { + namespace swing + { + class Action; + class JFormattedTextField; + class JFormattedTextField$AbstractFormatter; + class JFormattedTextField$AbstractFormatterFactory; + namespace text + { + class Document; + } + } + } +} + +class javax::swing::JFormattedTextField : public ::javax::swing::JTextField +{ + +public: + JFormattedTextField(); + JFormattedTextField(::java::text::Format *); + JFormattedTextField(::javax::swing::JFormattedTextField$AbstractFormatter *); + JFormattedTextField(::javax::swing::JFormattedTextField$AbstractFormatterFactory *); + JFormattedTextField(::javax::swing::JFormattedTextField$AbstractFormatterFactory *, ::java::lang::Object *); + JFormattedTextField(::java::lang::Object *); +private: + ::javax::swing::JFormattedTextField$AbstractFormatterFactory * getAppropriateFormatterFactory(::java::text::Format *); +public: + virtual void commitEdit(); + virtual JArray< ::javax::swing::Action * > * getActions(); + virtual jint getFocusLostBehavior(); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getFormatter(); + virtual ::javax::swing::JFormattedTextField$AbstractFormatterFactory * getFormatterFactory(); + virtual ::java::lang::String * getUIClassID(); + virtual ::java::lang::Object * getValue(); +public: // actually protected + virtual void invalidEdit(); +public: + virtual jboolean isEditValid(); +public: // actually protected + virtual void processFocusEvent(::java::awt::event::FocusEvent *); +public: + virtual void setDocument(::javax::swing::text::Document *); + virtual void setFocusLostBehavior(jint); +public: // actually protected + virtual void setFormatter(::javax::swing::JFormattedTextField$AbstractFormatter *); +public: + virtual void setFormatterFactory(::javax::swing::JFormattedTextField$AbstractFormatterFactory *); + virtual void setValue(::java::lang::Object *); +public: // actually package-private + virtual ::javax::swing::JFormattedTextField$AbstractFormatterFactory * createFormatterFactory(::java::lang::Object *); +private: + static const jlong serialVersionUID = 5464657870110180632LL; +public: + static const jint COMMIT = 0; + static const jint COMMIT_OR_REVERT = 1; + static const jint REVERT = 2; + static const jint PERSIST = 3; +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) value; + jint focusLostBehavior; + ::javax::swing::JFormattedTextField$AbstractFormatterFactory * formatterFactory; + ::javax::swing::JFormattedTextField$AbstractFormatter * formatter; +public: // actually package-private + jboolean editValid; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFormattedTextField__ diff --git a/libjava/javax/swing/JFrame$AccessibleJFrame.h b/libjava/javax/swing/JFrame$AccessibleJFrame.h new file mode 100644 index 00000000000..dbb3c553faa --- /dev/null +++ b/libjava/javax/swing/JFrame$AccessibleJFrame.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFrame$AccessibleJFrame__ +#define __javax_swing_JFrame$AccessibleJFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JFrame; + class JFrame$AccessibleJFrame; + } + } +} + +class javax::swing::JFrame$AccessibleJFrame : public ::java::awt::Frame$AccessibleAWTFrame +{ + +public: // actually protected + JFrame$AccessibleJFrame(::javax::swing::JFrame *); +public: // actually package-private + ::javax::swing::JFrame * __attribute__((aligned(__alignof__( ::java::awt::Frame$AccessibleAWTFrame)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFrame$AccessibleJFrame__ diff --git a/libjava/javax/swing/JFrame.h b/libjava/javax/swing/JFrame.h new file mode 100644 index 00000000000..705e200b2f9 --- /dev/null +++ b/libjava/javax/swing/JFrame.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JFrame__ +#define __javax_swing_JFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Graphics; + class GraphicsConfiguration; + class LayoutManager; + namespace event + { + class KeyEvent; + class WindowEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JFrame; + class JLayeredPane; + class JMenuBar; + class JRootPane; + } + } +} + +class javax::swing::JFrame : public ::java::awt::Frame +{ + +public: + JFrame(); + JFrame(::java::lang::String *); + JFrame(::java::awt::GraphicsConfiguration *); + JFrame(::java::lang::String *, ::java::awt::GraphicsConfiguration *); +public: // actually protected + virtual void frameInit(); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::javax::swing::JMenuBar * getJMenuBar(); + virtual void setJMenuBar(::javax::swing::JMenuBar *); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setLayeredPane(::javax::swing::JLayeredPane *); + virtual ::javax::swing::JLayeredPane * getLayeredPane(); + virtual ::javax::swing::JRootPane * getRootPane(); +public: // actually protected + virtual void setRootPane(::javax::swing::JRootPane *); + virtual ::javax::swing::JRootPane * createRootPane(); +public: + virtual ::java::awt::Container * getContentPane(); + virtual void setContentPane(::java::awt::Container *); + virtual ::java::awt::Component * getGlassPane(); + virtual void setGlassPane(::java::awt::Component *); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void remove(::java::awt::Component *); +public: // actually protected + virtual jboolean isRootPaneCheckingEnabled(); + virtual void setRootPaneCheckingEnabled(jboolean); +public: + virtual void update(::java::awt::Graphics *); +public: // actually protected + virtual void processKeyEvent(::java::awt::event::KeyEvent *); +public: + static void setDefaultLookAndFeelDecorated(jboolean); + static jboolean isDefaultLookAndFeelDecorated(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual jint getDefaultCloseOperation(); +public: // actually protected + virtual ::java::lang::String * paramString(); + virtual void processWindowEvent(::java::awt::event::WindowEvent *); +public: + virtual void setDefaultCloseOperation(jint); + static const jint EXIT_ON_CLOSE = 3; +private: + static const jlong serialVersionUID = -3362141868504252139LL; + static jboolean defaultLookAndFeelDecorated; + jint __attribute__((aligned(__alignof__( ::java::awt::Frame)))) closeAction; +public: // actually protected + ::javax::accessibility::AccessibleContext * accessibleContext; + ::javax::swing::JRootPane * rootPane; + jboolean rootPaneCheckingEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JFrame__ diff --git a/libjava/javax/swing/JInternalFrame$AccessibleJInternalFrame.h b/libjava/javax/swing/JInternalFrame$AccessibleJInternalFrame.h new file mode 100644 index 00000000000..94749ac5a50 --- /dev/null +++ b/libjava/javax/swing/JInternalFrame$AccessibleJInternalFrame.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JInternalFrame$AccessibleJInternalFrame__ +#define __javax_swing_JInternalFrame$AccessibleJInternalFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleValue; + } + namespace swing + { + class JInternalFrame; + class JInternalFrame$AccessibleJInternalFrame; + } + } +} + +class javax::swing::JInternalFrame$AccessibleJInternalFrame : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JInternalFrame$AccessibleJInternalFrame(::javax::swing::JInternalFrame *); +public: + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); +private: + static const jlong serialVersionUID = 5931936924175476797LL; +public: // actually package-private + ::javax::swing::JInternalFrame * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JInternalFrame$AccessibleJInternalFrame__ diff --git a/libjava/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.h b/libjava/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.h new file mode 100644 index 00000000000..bcea0c5139f --- /dev/null +++ b/libjava/javax/swing/JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon__ +#define __javax_swing_JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleValue; + } + namespace swing + { + class JInternalFrame$JDesktopIcon; + class JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon; + } + } +} + +class javax::swing::JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon(::javax::swing::JInternalFrame$JDesktopIcon *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); +private: + static const jlong serialVersionUID = 5035560458941637802LL; +public: // actually package-private + ::javax::swing::JInternalFrame$JDesktopIcon * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JInternalFrame$JDesktopIcon$AccessibleJDesktopIcon__ diff --git a/libjava/javax/swing/JInternalFrame$JDesktopIcon.h b/libjava/javax/swing/JInternalFrame$JDesktopIcon.h new file mode 100644 index 00000000000..dc20f4d5781 --- /dev/null +++ b/libjava/javax/swing/JInternalFrame$JDesktopIcon.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JInternalFrame$JDesktopIcon__ +#define __javax_swing_JInternalFrame$JDesktopIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JDesktopPane; + class JInternalFrame; + class JInternalFrame$JDesktopIcon; + namespace plaf + { + class DesktopIconUI; + } + } + } +} + +class javax::swing::JInternalFrame$JDesktopIcon : public ::javax::swing::JComponent +{ + +public: + JInternalFrame$JDesktopIcon(::javax::swing::JInternalFrame *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::swing::JDesktopPane * getDesktopPane(); + virtual ::javax::swing::JInternalFrame * getInternalFrame(); + virtual ::javax::swing::plaf::DesktopIconUI * getUI(); + virtual ::java::lang::String * getUIClassID(); + virtual void setInternalFrame(::javax::swing::JInternalFrame *); + virtual void setUI(::javax::swing::plaf::DesktopIconUI *); + virtual void updateUI(); +private: + static const jlong serialVersionUID = 4672973344731387687LL; +public: // actually package-private + ::javax::swing::JInternalFrame * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) frame; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JInternalFrame$JDesktopIcon__ diff --git a/libjava/javax/swing/JInternalFrame.h b/libjava/javax/swing/JInternalFrame.h new file mode 100644 index 00000000000..36deb84c55e --- /dev/null +++ b/libjava/javax/swing/JInternalFrame.h @@ -0,0 +1,192 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JInternalFrame__ +#define __javax_swing_JInternalFrame__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Graphics; + class LayoutManager; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Icon; + class JDesktopPane; + class JInternalFrame; + class JInternalFrame$JDesktopIcon; + class JLayeredPane; + class JMenuBar; + class JRootPane; + namespace event + { + class InternalFrameListener; + } + namespace plaf + { + class InternalFrameUI; + } + } + } +} + +class javax::swing::JInternalFrame : public ::javax::swing::JComponent +{ + +public: + JInternalFrame(); + JInternalFrame(::java::lang::String *); + JInternalFrame(::java::lang::String *, jboolean); + JInternalFrame(::java::lang::String *, jboolean, jboolean); + JInternalFrame(::java::lang::String *, jboolean, jboolean, jboolean); + JInternalFrame(::java::lang::String *, jboolean, jboolean, jboolean, jboolean); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void addInternalFrameListener(::javax::swing::event::InternalFrameListener *); +public: // actually protected + virtual ::javax::swing::JRootPane * createRootPane(); +public: + virtual void dispose(); + virtual void doDefaultCloseAction(); +public: // actually protected + virtual void fireInternalFrameEvent(jint); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Container * getContentPane(); + virtual jint getDefaultCloseOperation(); + virtual ::javax::swing::JInternalFrame$JDesktopIcon * getDesktopIcon(); + virtual ::javax::swing::JDesktopPane * getDesktopPane(); + virtual ::java::awt::Container * getFocusCycleRootAncestor(); + virtual ::java::awt::Component * getFocusOwner(); + virtual ::javax::swing::Icon * getFrameIcon(); + virtual ::java::awt::Component * getGlassPane(); + virtual JArray< ::javax::swing::event::InternalFrameListener * > * getInternalFrameListeners(); + virtual ::javax::swing::JMenuBar * getJMenuBar(); + virtual jint getLayer(); + virtual ::javax::swing::JLayeredPane * getLayeredPane(); + virtual ::javax::swing::JMenuBar * getMenuBar(); + virtual ::java::awt::Component * getMostRecentFocusOwner(); + virtual ::java::awt::Rectangle * getNormalBounds(); + virtual ::javax::swing::JRootPane * getRootPane(); + virtual ::java::lang::String * getTitle(); + virtual ::javax::swing::plaf::InternalFrameUI * getUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::java::lang::String * getWarningString(); + virtual void hide(); + virtual jboolean isClosable(); + virtual jboolean isClosed(); + virtual jboolean isFocusCycleRoot(); + virtual jboolean isIcon(); + virtual jboolean isIconifiable(); + virtual jboolean isMaximizable(); + virtual jboolean isMaximum(); + virtual jboolean isResizable(); +public: // actually protected + virtual jboolean isRootPaneCheckingEnabled(); +public: + virtual jboolean isSelected(); + virtual void moveToBack(); + virtual void moveToFront(); + virtual void pack(); +public: // actually protected + virtual void paintComponent(::java::awt::Graphics *); + virtual ::java::lang::String * paramString(); +public: + virtual void remove(::java::awt::Component *); + virtual void removeInternalFrameListener(::javax::swing::event::InternalFrameListener *); + virtual void reshape(jint, jint, jint, jint); + virtual void restoreSubcomponentFocus(); + virtual void setClosable(jboolean); + virtual void setClosed(jboolean); + virtual void setContentPane(::java::awt::Container *); + virtual void setDefaultCloseOperation(jint); + virtual void setDesktopIcon(::javax::swing::JInternalFrame$JDesktopIcon *); + virtual void setFocusCycleRoot(jboolean); + virtual void setFrameIcon(::javax::swing::Icon *); + virtual void setGlassPane(::java::awt::Component *); + virtual void setIcon(jboolean); + virtual void setIconifiable(jboolean); + virtual void setJMenuBar(::javax::swing::JMenuBar *); + virtual void setLayer(jint); + virtual void setLayer(::java::lang::Integer *); + virtual void setLayeredPane(::javax::swing::JLayeredPane *); + virtual void setMaximizable(jboolean); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setMaximum(jboolean); + virtual void setMenuBar(::javax::swing::JMenuBar *); + virtual void setNormalBounds(::java::awt::Rectangle *); + virtual void setResizable(jboolean); +public: // actually protected + virtual void setRootPane(::javax::swing::JRootPane *); + virtual void setRootPaneCheckingEnabled(jboolean); +public: + virtual void setSelected(jboolean); + virtual void setTitle(::java::lang::String *); + virtual void show(); + virtual void setUI(::javax::swing::plaf::InternalFrameUI *); + virtual void toBack(); + virtual void toFront(); + virtual void updateUI(); +public: // actually package-private + virtual void setWasIcon(jboolean, ::java::lang::String *); + virtual jboolean getWasIcon(); +private: + void fireVetoableChange(::java::lang::String *, jboolean, jboolean); + static const jlong serialVersionUID = -5425177187760785402LL; +public: + static ::java::lang::String * CONTENT_PANE_PROPERTY; + static ::java::lang::String * FRAME_ICON_PROPERTY; + static ::java::lang::String * GLASS_PANE_PROPERTY; + static ::java::lang::String * IS_CLOSED_PROPERTY; + static ::java::lang::String * IS_ICON_PROPERTY; + static ::java::lang::String * IS_MAXIMUM_PROPERTY; + static ::java::lang::String * IS_SELECTED_PROPERTY; + static ::java::lang::String * LAYERED_PANE_PROPERTY; + static ::java::lang::String * MENU_BAR_PROPERTY; + static ::java::lang::String * ROOT_PANE_PROPERTY; + static ::java::lang::String * TITLE_PROPERTY; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) closable; + jboolean iconable; + jboolean isClosed__; + jboolean isIcon__; + jboolean isMaximum__; + jboolean isSelected__; + jboolean maximizable; + jboolean rootPaneCheckingEnabled; + jboolean resizable; + ::javax::swing::JInternalFrame$JDesktopIcon * desktopIcon; + ::javax::swing::Icon * frameIcon; + ::javax::swing::JRootPane * rootPane; + ::java::lang::String * title; +private: + ::java::awt::Rectangle * storedBounds; + ::java::awt::Component * defaultFocus; + jint defaultCloseOperation; + jboolean isFirstTimeVisible; + jboolean wasIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JInternalFrame__ diff --git a/libjava/javax/swing/JLabel$AccessibleJLabel.h b/libjava/javax/swing/JLabel$AccessibleJLabel.h new file mode 100644 index 00000000000..0fb4609aa68 --- /dev/null +++ b/libjava/javax/swing/JLabel$AccessibleJLabel.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JLabel$AccessibleJLabel__ +#define __javax_swing_JLabel$AccessibleJLabel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JLabel; + class JLabel$AccessibleJLabel; + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::swing::JLabel$AccessibleJLabel : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JLabel$AccessibleJLabel(::javax::swing::JLabel *); +public: + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::java::lang::String * getSelectedText(); + virtual jint getSelectionStart(); + virtual jint getSelectionEnd(); + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint); + virtual ::java::lang::String * getAtIndex(jint, jint); + virtual ::java::lang::String * getAfterIndex(jint, jint); + virtual ::java::lang::String * getBeforeIndex(jint, jint); + virtual jint getCaretPosition(); + virtual jint getCharCount(); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); +private: + ::java::awt::Rectangle * getTextRectangle(); +public: + virtual jint getIndexAtPoint(::java::awt::Point *); +public: // actually package-private + ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JLabel$AccessibleJLabel__ diff --git a/libjava/javax/swing/JLabel.h b/libjava/javax/swing/JLabel.h new file mode 100644 index 00000000000..08f59ed8f8c --- /dev/null +++ b/libjava/javax/swing/JLabel.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JLabel__ +#define __javax_swing_JLabel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Font; + class Image; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Icon; + class JLabel; + namespace plaf + { + class LabelUI; + } + } + } +} + +class javax::swing::JLabel : public ::javax::swing::JComponent +{ + +public: + JLabel(); + JLabel(::javax::swing::Icon *); + JLabel(::javax::swing::Icon *, jint); + JLabel(::java::lang::String *); + JLabel(::java::lang::String *, jint); + JLabel(::java::lang::String *, ::javax::swing::Icon *, jint); + virtual ::javax::swing::plaf::LabelUI * getUI(); + virtual void setUI(::javax::swing::plaf::LabelUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::java::lang::String * getText(); + virtual void setText(::java::lang::String *); + virtual ::javax::swing::Icon * getIcon(); + virtual void setIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getDisabledIcon(); + virtual void setDisabledIcon(::javax::swing::Icon *); + virtual void setDisplayedMnemonic(jint); + virtual void setDisplayedMnemonic(jchar); + virtual jint getDisplayedMnemonic(); + virtual void setDisplayedMnemonicIndex(jint); + virtual jint getDisplayedMnemonicIndex(); +public: // actually protected + virtual jint checkHorizontalKey(jint, ::java::lang::String *); + virtual jint checkVerticalKey(jint, ::java::lang::String *); +public: + virtual jint getIconTextGap(); + virtual void setIconTextGap(jint); + virtual jint getVerticalAlignment(); + virtual void setVerticalAlignment(jint); + virtual jint getHorizontalAlignment(); + virtual void setHorizontalAlignment(jint); + virtual jint getVerticalTextPosition(); + virtual void setVerticalTextPosition(jint); + virtual jint getHorizontalTextPosition(); + virtual void setHorizontalTextPosition(jint); + virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint); + virtual ::java::awt::Component * getLabelFor(); + virtual void setLabelFor(::java::awt::Component *); + virtual void setFont(::java::awt::Font *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 5496508283662221534LL; +public: // actually package-private + static ::java::lang::String * LABEL_PROPERTY; +public: // actually protected + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) labelFor; +public: // actually package-private + ::java::lang::String * text; +private: + jint horizontalAlignment; + jint horizontalTextPosition; + jint verticalAlignment; + jint verticalTextPosition; + ::javax::swing::Icon * icon; + ::javax::swing::Icon * disabledIcon; + jint displayedMnemonic; + jint displayedMnemonicIndex; + jint iconTextGap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JLabel__ diff --git a/libjava/javax/swing/JLayeredPane$AccessibleJLayeredPane.h b/libjava/javax/swing/JLayeredPane$AccessibleJLayeredPane.h new file mode 100644 index 00000000000..64eaa6d8b3b --- /dev/null +++ b/libjava/javax/swing/JLayeredPane$AccessibleJLayeredPane.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JLayeredPane$AccessibleJLayeredPane__ +#define __javax_swing_JLayeredPane$AccessibleJLayeredPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JLayeredPane; + class JLayeredPane$AccessibleJLayeredPane; + } + } +} + +class javax::swing::JLayeredPane$AccessibleJLayeredPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JLayeredPane$AccessibleJLayeredPane(::javax::swing::JLayeredPane *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually package-private + ::javax::swing::JLayeredPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JLayeredPane$AccessibleJLayeredPane__ diff --git a/libjava/javax/swing/JLayeredPane.h b/libjava/javax/swing/JLayeredPane.h new file mode 100644 index 00000000000..3e6acaa9248 --- /dev/null +++ b/libjava/javax/swing/JLayeredPane.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JLayeredPane__ +#define __javax_swing_JLayeredPane__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JComponent; + class JLayeredPane; + } + } +} + +class javax::swing::JLayeredPane : public ::javax::swing::JComponent +{ + +public: + JLayeredPane(); + virtual jint getLayer(::java::awt::Component *); + static jint getLayer(::javax::swing::JComponent *); + static ::javax::swing::JLayeredPane * getLayeredPaneAbove(::java::awt::Component *); + virtual jint highestLayer(); + virtual jint lowestLayer(); + virtual void moveToFront(::java::awt::Component *); + virtual void moveToBack(::java::awt::Component *); + virtual jint getPosition(::java::awt::Component *); + virtual void setPosition(::java::awt::Component *, jint); + virtual JArray< ::java::awt::Component * > * getComponentsInLayer(jint); + virtual jint getComponentCountInLayer(jint); +public: // actually protected + virtual ::java::util::Hashtable * getComponentToLayer(); +public: + virtual jint getIndexOf(::java::awt::Component *); +public: // actually protected + virtual ::java::lang::Integer * getObjectForLayer(jint); + virtual jint insertIndexForLayer(jint, jint); +private: + jint insertIndexForLayer(::java::awt::Component *, jint, jint); +public: + virtual void remove(jint); + virtual void removeAll(); + virtual void setLayer(::java::awt::Component *, jint); + virtual void setLayer(::java::awt::Component *, jint, jint); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + static void putLayer(::javax::swing::JComponent *, jint); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual void paint(::java::awt::Graphics *); + virtual jboolean isOptimizedDrawingEnabled(); +private: + static const jlong serialVersionUID = 5534920399324590459LL; +public: + static ::java::lang::String * LAYER_PROPERTY; + static ::java::lang::Integer * FRAME_CONTENT_LAYER; + static ::java::lang::Integer * DEFAULT_LAYER; + static ::java::lang::Integer * PALETTE_LAYER; + static ::java::lang::Integer * MODAL_LAYER; + static ::java::lang::Integer * POPUP_LAYER; + static ::java::lang::Integer * DRAG_LAYER; +private: + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) componentToLayer; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JLayeredPane__ diff --git a/libjava/javax/swing/JList$1.h b/libjava/javax/swing/JList$1.h new file mode 100644 index 00000000000..92e7546fa8b --- /dev/null +++ b/libjava/javax/swing/JList$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList$1__ +#define __javax_swing_JList$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JList; + class JList$1; + } + } +} + +class javax::swing::JList$1 : public ::javax::swing::AbstractListModel +{ + +public: // actually package-private + JList$1(::javax::swing::JList *, JArray< ::java::lang::Object * > *); +public: + jint getSize(); + ::java::lang::Object * getElementAt(jint); +public: // actually package-private + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) this$0; +private: + JArray< ::java::lang::Object * > * val$items; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList$1__ diff --git a/libjava/javax/swing/JList$2.h b/libjava/javax/swing/JList$2.h new file mode 100644 index 00000000000..8c471ab8d22 --- /dev/null +++ b/libjava/javax/swing/JList$2.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList$2__ +#define __javax_swing_JList$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JList; + class JList$2; + } + } +} + +class javax::swing::JList$2 : public ::javax::swing::AbstractListModel +{ + +public: // actually package-private + JList$2(::javax::swing::JList *, ::java::util::Vector *); +public: + jint getSize(); + ::java::lang::Object * getElementAt(jint); +public: // actually package-private + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) this$0; +private: + ::java::util::Vector * val$items; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList$2__ diff --git a/libjava/javax/swing/JList$3.h b/libjava/javax/swing/JList$3.h new file mode 100644 index 00000000000..8d50682139d --- /dev/null +++ b/libjava/javax/swing/JList$3.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList$3__ +#define __javax_swing_JList$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JList; + class JList$3; + } + } +} + +class javax::swing::JList$3 : public ::javax::swing::AbstractListModel +{ + +public: // actually package-private + JList$3(::javax::swing::JList *, ::java::util::Vector *); +public: + jint getSize(); + ::java::lang::Object * getElementAt(jint); +public: // actually package-private + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) this$0; +private: + ::java::util::Vector * val$listData; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList$3__ diff --git a/libjava/javax/swing/JList$AccessibleJList$AccessibleJListChild.h b/libjava/javax/swing/JList$AccessibleJList$AccessibleJListChild.h new file mode 100644 index 00000000000..1ca2d171014 --- /dev/null +++ b/libjava/javax/swing/JList$AccessibleJList$AccessibleJListChild.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList$AccessibleJList$AccessibleJListChild__ +#define __javax_swing_JList$AccessibleJList$AccessibleJListChild__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleContext; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class JList; + class JList$AccessibleJList; + class JList$AccessibleJList$AccessibleJListChild; + } + } +} + +class javax::swing::JList$AccessibleJList$AccessibleJListChild : public ::javax::accessibility::AccessibleContext +{ + +public: + JList$AccessibleJList$AccessibleJListChild(::javax::swing::JList$AccessibleJList *, ::javax::swing::JList *, jint); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Color * getBackground(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getForeground(); + virtual void setForeground(::java::awt::Color *); + virtual ::java::awt::Cursor * getCursor(); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual jboolean isVisible(); + virtual void setVisible(jboolean); + virtual jboolean isShowing(); + virtual jboolean contains(::java::awt::Point *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Point * getLocation(); + virtual void setLocation(::java::awt::Point *); + virtual ::java::awt::Rectangle * getBounds(); + virtual void setBounds(::java::awt::Rectangle *); + virtual ::java::awt::Dimension * getSize(); + virtual void setSize(::java::awt::Dimension *); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual jboolean isFocusTraversable(); + virtual void requestFocus(); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void removeFocusListener(::java::awt::event::FocusListener *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual jint getAccessibleIndexInParent(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::java::util::Locale * getLocale(); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); +public: // actually package-private + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) parent; + jint listIndex; + ::java::awt::Cursor * cursor; + ::javax::swing::JList$AccessibleJList * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList$AccessibleJList$AccessibleJListChild__ diff --git a/libjava/javax/swing/JList$AccessibleJList.h b/libjava/javax/swing/JList$AccessibleJList.h new file mode 100644 index 00000000000..ca1842f5682 --- /dev/null +++ b/libjava/javax/swing/JList$AccessibleJList.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList$AccessibleJList__ +#define __javax_swing_JList$AccessibleJList__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + } + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class JList; + class JList$AccessibleJList; + namespace event + { + class ListDataEvent; + class ListSelectionEvent; + } + } + } +} + +class javax::swing::JList$AccessibleJList : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: + JList$AccessibleJList(::javax::swing::JList *); + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); + virtual void contentsChanged(::javax::swing::event::ListDataEvent *); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); +public: // actually package-private + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList$AccessibleJList__ diff --git a/libjava/javax/swing/JList$ListListener.h b/libjava/javax/swing/JList$ListListener.h new file mode 100644 index 00000000000..87854ebfd53 --- /dev/null +++ b/libjava/javax/swing/JList$ListListener.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList$ListListener__ +#define __javax_swing_JList$ListListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JList; + class JList$ListListener; + namespace event + { + class ListDataEvent; + class ListSelectionEvent; + } + } + } +} + +class javax::swing::JList$ListListener : public ::java::lang::Object +{ + + JList$ListListener(::javax::swing::JList *); +public: + virtual void contentsChanged(::javax::swing::event::ListDataEvent *); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually package-private + JList$ListListener(::javax::swing::JList *, ::javax::swing::JList$ListListener *); + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList$ListListener__ diff --git a/libjava/javax/swing/JList.h b/libjava/javax/swing/JList.h new file mode 100644 index 00000000000..2e68ae501bd --- /dev/null +++ b/libjava/javax/swing/JList.h @@ -0,0 +1,162 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JList__ +#define __javax_swing_JList__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JList; + class JList$ListListener; + class ListCellRenderer; + class ListModel; + class ListSelectionModel; + namespace event + { + class ListSelectionListener; + } + namespace plaf + { + class ListUI; + } + namespace text + { + class Position$Bias; + } + } + } +} + +class javax::swing::JList : public ::javax::swing::JComponent +{ + +public: // actually protected + virtual void fireSelectionValueChanged(jint, jint, jboolean); +public: + JList(); + JList(JArray< ::java::lang::Object * > *); + JList(::java::util::Vector *); + JList(::javax::swing::ListModel *); +private: + void init(::javax::swing::ListModel *); +public: // actually protected + virtual ::javax::swing::ListSelectionModel * createSelectionModel(); +public: + virtual jint getFixedCellHeight(); + virtual void setFixedCellHeight(jint); + virtual jint getFixedCellWidth(); + virtual void setFixedCellWidth(jint); + virtual jint getVisibleRowCount(); + virtual void setVisibleRowCount(jint); + virtual void addListSelectionListener(::javax::swing::event::ListSelectionListener *); + virtual void removeListSelectionListener(::javax::swing::event::ListSelectionListener *); + virtual JArray< ::javax::swing::event::ListSelectionListener * > * getListSelectionListeners(); + virtual jint getSelectionMode(); + virtual void setSelectionMode(jint); + virtual void setSelectedIndex(jint); + virtual void setSelectedIndices(JArray< jint > *); + virtual jint getSelectedIndex(); + virtual jboolean isSelectionEmpty(); + virtual jint getFirstVisibleIndex(); + virtual jint locationToIndex(::java::awt::Point *); + virtual ::java::awt::Point * indexToLocation(jint); + virtual jint getLastVisibleIndex(); + virtual JArray< jint > * getSelectedIndices(); + virtual jboolean isSelectedIndex(jint); + virtual ::java::lang::Object * getSelectedValue(); + virtual JArray< ::java::lang::Object * > * getSelectedValues(); + virtual ::java::awt::Color * getSelectionBackground(); + virtual void setSelectionBackground(::java::awt::Color *); + virtual ::java::awt::Color * getSelectionForeground(); + virtual void setSelectionForeground(::java::awt::Color *); + virtual void setSelectedValue(::java::lang::Object *, jboolean); + virtual void ensureIndexIsVisible(jint); + virtual void setListData(JArray< ::java::lang::Object * > *); +private: + ::javax::swing::ListModel * createListModel(JArray< ::java::lang::Object * > *); + ::javax::swing::ListModel * createListModel(::java::util::Vector *); +public: + virtual void setListData(::java::util::Vector *); + virtual ::javax::swing::ListCellRenderer * getCellRenderer(); + virtual void setCellRenderer(::javax::swing::ListCellRenderer *); + virtual ::javax::swing::ListModel * getModel(); + virtual void setModel(::javax::swing::ListModel *); + virtual ::javax::swing::ListSelectionModel * getSelectionModel(); + virtual void setSelectionModel(::javax::swing::ListSelectionModel *); + virtual ::javax::swing::plaf::ListUI * getUI(); + virtual void setUI(::javax::swing::plaf::ListUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::java::lang::Object * getPrototypeCellValue(); + virtual void setPrototypeCellValue(::java::lang::Object *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Dimension * getPreferredScrollableViewportSize(); + virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint); + virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint); + virtual jboolean getScrollableTracksViewportWidth(); + virtual jboolean getScrollableTracksViewportHeight(); + virtual jint getAnchorSelectionIndex(); + virtual jint getLeadSelectionIndex(); + virtual jint getMinSelectionIndex(); + virtual jint getMaxSelectionIndex(); + virtual void clearSelection(); + virtual void setSelectionInterval(jint, jint); + virtual void addSelectionInterval(jint, jint); + virtual void removeSelectionInterval(jint, jint); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); + virtual jboolean getDragEnabled(); + virtual void setDragEnabled(jboolean); + virtual jint getLayoutOrientation(); + virtual void setLayoutOrientation(jint); + virtual ::java::awt::Rectangle * getCellBounds(jint, jint); + virtual jint getNextMatch(::java::lang::String *, jint, ::javax::swing::text::Position$Bias *); +public: // actually protected + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 4406629526391098046LL; +public: + static const jint VERTICAL = 0; + static const jint VERTICAL_WRAP = 1; + static const jint HORIZONTAL_WRAP = 2; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) dragEnabled; + ::javax::swing::ListCellRenderer * cellRenderer; + jint fixedCellWidth; + jint fixedCellHeight; + jint layoutOrientation; + ::javax::swing::ListModel * model; + ::java::lang::Object * prototypeCellValue; + ::java::awt::Color * selectionBackground; + ::java::awt::Color * selectionForeground; + ::javax::swing::ListSelectionModel * selectionModel; + jint visibleRowCount; + ::javax::swing::JList$ListListener * listListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JList__ diff --git a/libjava/javax/swing/JMenu$AccessibleJMenu.h b/libjava/javax/swing/JMenu$AccessibleJMenu.h new file mode 100644 index 00000000000..6c892b49193 --- /dev/null +++ b/libjava/javax/swing/JMenu$AccessibleJMenu.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenu$AccessibleJMenu__ +#define __javax_swing_JMenu$AccessibleJMenu__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleSelection; + } + namespace swing + { + class JMenu; + class JMenu$AccessibleJMenu; + } + } +} + +class javax::swing::JMenu$AccessibleJMenu : public ::javax::swing::JMenuItem$AccessibleJMenuItem +{ + +public: // actually protected + JMenu$AccessibleJMenu(::javax::swing::JMenu *); +public: + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual jint getAccessibleSelectionCount(); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); +private: + static const jlong serialVersionUID = -8131864021059524309LL; +public: // actually package-private + ::javax::swing::JMenu * __attribute__((aligned(__alignof__( ::javax::swing::JMenuItem$AccessibleJMenuItem)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenu$AccessibleJMenu__ diff --git a/libjava/javax/swing/JMenu$ActionChangedListener.h b/libjava/javax/swing/JMenu$ActionChangedListener.h new file mode 100644 index 00000000000..36623cf27b3 --- /dev/null +++ b/libjava/javax/swing/JMenu$ActionChangedListener.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenu$ActionChangedListener__ +#define __javax_swing_JMenu$ActionChangedListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JMenu; + class JMenu$ActionChangedListener; + class JMenuItem; + } + } +} + +class javax::swing::JMenu$ActionChangedListener : public ::java::lang::Object +{ + +public: + JMenu$ActionChangedListener(::javax::swing::JMenu *, ::javax::swing::JMenuItem *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +private: + ::javax::swing::JMenuItem * __attribute__((aligned(__alignof__( ::java::lang::Object)))) menuItem; +public: // actually package-private + ::javax::swing::JMenu * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenu$ActionChangedListener__ diff --git a/libjava/javax/swing/JMenu$MenuChangeListener.h b/libjava/javax/swing/JMenu$MenuChangeListener.h new file mode 100644 index 00000000000..816f33e54d0 --- /dev/null +++ b/libjava/javax/swing/JMenu$MenuChangeListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenu$MenuChangeListener__ +#define __javax_swing_JMenu$MenuChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JMenu; + class JMenu$MenuChangeListener; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JMenu$MenuChangeListener : public ::java::lang::Object +{ + + JMenu$MenuChangeListener(::javax::swing::JMenu *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + JMenu$MenuChangeListener(::javax::swing::JMenu *, ::javax::swing::JMenu$MenuChangeListener *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) selected; +public: // actually package-private + ::javax::swing::JMenu * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenu$MenuChangeListener__ diff --git a/libjava/javax/swing/JMenu$WinListener.h b/libjava/javax/swing/JMenu$WinListener.h new file mode 100644 index 00000000000..e685e382ef5 --- /dev/null +++ b/libjava/javax/swing/JMenu$WinListener.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenu$WinListener__ +#define __javax_swing_JMenu$WinListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowEvent; + } + } + } + namespace javax + { + namespace swing + { + class JMenu; + class JMenu$WinListener; + class JPopupMenu; + } + } +} + +class javax::swing::JMenu$WinListener : public ::java::awt::event::WindowAdapter +{ + +public: + JMenu$WinListener(::javax::swing::JMenu *, ::javax::swing::JPopupMenu *); + virtual void windowClosing(::java::awt::event::WindowEvent *); +private: + static const jlong serialVersionUID = -6415815570638474823LL; +public: // actually package-private + ::javax::swing::JMenu * __attribute__((aligned(__alignof__( ::java::awt::event::WindowAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenu$WinListener__ diff --git a/libjava/javax/swing/JMenu.h b/libjava/javax/swing/JMenu.h new file mode 100644 index 00000000000..112d995a032 --- /dev/null +++ b/libjava/javax/swing/JMenu.h @@ -0,0 +1,141 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenu__ +#define __javax_swing_JMenu__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + namespace event + { + class KeyEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class ButtonModel; + class JMenu; + class JMenu$WinListener; + class JMenuItem; + class JPopupMenu; + class KeyStroke; + class MenuElement; + namespace event + { + class ChangeListener; + class MenuEvent; + class MenuListener; + } + } + } +} + +class javax::swing::JMenu : public ::javax::swing::JMenuItem +{ + +public: + JMenu(); + JMenu(::java::lang::String *); + JMenu(::javax::swing::Action *); + JMenu(::java::lang::String *, jboolean); + virtual ::javax::swing::JMenuItem * add(::javax::swing::JMenuItem *); + virtual ::java::awt::Component * add(::java::awt::Component *); + virtual ::java::awt::Component * add(::java::awt::Component *, jint); + virtual ::javax::swing::JMenuItem * add(::java::lang::String *); + virtual ::javax::swing::JMenuItem * add(::javax::swing::Action *); + virtual void remove(::javax::swing::JMenuItem *); + virtual void remove(jint); + virtual void remove(::java::awt::Component *); + virtual void removeAll(); + virtual void insert(::java::lang::String *, jint); + virtual ::javax::swing::JMenuItem * insert(::javax::swing::JMenuItem *, jint); + virtual ::javax::swing::JMenuItem * insert(::javax::swing::Action *, jint); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual void setModel(::javax::swing::ButtonModel *); + virtual jboolean isSelected(); + virtual void setSelected(jboolean); + virtual jboolean isPopupMenuVisible(); + virtual void setPopupMenuVisible(jboolean); +public: // actually protected + virtual ::java::awt::Point * getPopupMenuOrigin(); +public: + virtual jint getDelay(); + virtual void setDelay(jint); + virtual void setMenuLocation(jint, jint); +public: // actually protected + virtual ::javax::swing::JMenuItem * createActionComponent(::javax::swing::Action *); + virtual ::java::beans::PropertyChangeListener * createActionChangeListener(::javax::swing::JMenuItem *); +public: + virtual void addSeparator(); + virtual void insertSeparator(jint); + virtual ::javax::swing::JMenuItem * getItem(jint); + virtual jint getItemCount(); + virtual jboolean isTearOff(); + virtual jint getMenuComponentCount(); + virtual ::java::awt::Component * getMenuComponent(jint); + virtual JArray< ::java::awt::Component * > * getMenuComponents(); + virtual jboolean isTopLevelMenu(); + virtual jboolean isMenuComponent(::java::awt::Component *); + virtual ::javax::swing::JPopupMenu * getPopupMenu(); + virtual void addMenuListener(::javax::swing::event::MenuListener *); + virtual void removeMenuListener(::javax::swing::event::MenuListener *); + virtual JArray< ::javax::swing::event::MenuListener * > * getMenuListeners(); +public: // actually protected + virtual void fireMenuSelected(); + virtual void fireMenuDeselected(); + virtual void fireMenuCanceled(); + virtual ::javax::swing::JMenu$WinListener * createWinListener(::javax::swing::JPopupMenu *); +public: + virtual void menuSelectionChanged(jboolean); + virtual JArray< ::javax::swing::MenuElement * > * getSubElements(); + virtual ::java::awt::Component * getComponent(); + virtual void setAccelerator(::javax::swing::KeyStroke *); +public: // actually protected + virtual void processKeyEvent(::java::awt::event::KeyEvent *); +public: + virtual void doClick(jint); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual JArray< ::javax::swing::MenuElement * > * createPath(::javax::swing::JMenu *); +private: + static const jlong serialVersionUID = 4227225638931828014LL; + ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::javax::swing::JMenuItem)))) popupMenu; + ::javax::swing::event::MenuEvent * menuEvent; + jint delay; +public: // actually protected + ::javax::swing::JMenu$WinListener * popupListener; +private: + ::java::awt::Point * menuLocation; + ::javax::swing::event::ChangeListener * menuChangeListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenu__ diff --git a/libjava/javax/swing/JMenuBar$AccessibleJMenuBar.h b/libjava/javax/swing/JMenuBar$AccessibleJMenuBar.h new file mode 100644 index 00000000000..2fcf3ad868d --- /dev/null +++ b/libjava/javax/swing/JMenuBar$AccessibleJMenuBar.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenuBar$AccessibleJMenuBar__ +#define __javax_swing_JMenuBar$AccessibleJMenuBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleSelection; + class AccessibleStateSet; + } + namespace swing + { + class JMenuBar; + class JMenuBar$AccessibleJMenuBar; + } + } +} + +class javax::swing::JMenuBar$AccessibleJMenuBar : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JMenuBar$AccessibleJMenuBar(::javax::swing::JMenuBar *); +public: + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +public: // actually package-private + ::javax::swing::JMenuBar * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenuBar$AccessibleJMenuBar__ diff --git a/libjava/javax/swing/JMenuBar.h b/libjava/javax/swing/JMenuBar.h new file mode 100644 index 00000000000..a33d051bacb --- /dev/null +++ b/libjava/javax/swing/JMenuBar.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenuBar__ +#define __javax_swing_JMenuBar__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JMenu; + class JMenuBar; + class KeyStroke; + class MenuElement; + class MenuSelectionManager; + class SingleSelectionModel; + namespace plaf + { + class MenuBarUI; + } + } + } +} + +class javax::swing::JMenuBar : public ::javax::swing::JComponent +{ + +public: + JMenuBar(); + virtual ::javax::swing::JMenu * add(::javax::swing::JMenu *); + virtual void addNotify(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Component * getComponent(); + virtual ::java::awt::Component * getComponentAtIndex(jint); + virtual jint getComponentIndex(::java::awt::Component *); + virtual ::javax::swing::JMenu * getHelpMenu(); + virtual ::java::awt::Insets * getMargin(); + virtual ::javax::swing::JMenu * getMenu(jint); + virtual jint getMenuCount(); + virtual ::javax::swing::SingleSelectionModel * getSelectionModel(); + virtual JArray< ::javax::swing::MenuElement * > * getSubElements(); + virtual ::javax::swing::plaf::MenuBarUI * getUI(); + virtual ::java::lang::String * getUIClassID(); + virtual jboolean isBorderPainted(); + virtual jboolean isSelected(); + virtual void menuSelectionChanged(jboolean); +public: // actually protected + virtual void paintBorder(::java::awt::Graphics *); + virtual ::java::lang::String * paramString(); +public: + virtual void processKeyEvent(::java::awt::event::KeyEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); +public: // actually protected + virtual jboolean processKeyBinding(::javax::swing::KeyStroke *, ::java::awt::event::KeyEvent *, jint, jboolean); +public: // actually package-private + static jboolean processKeyBindingHelper(::javax::swing::MenuElement *, ::javax::swing::KeyStroke *, ::java::awt::event::KeyEvent *, jint, jboolean); +public: + virtual void processMouseEvent(::java::awt::event::MouseEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual void removeNotify(); + virtual void setBorderPainted(jboolean); + virtual void setHelpMenu(::javax::swing::JMenu *); + virtual void setMargin(::java::awt::Insets *); + virtual void setSelected(::java::awt::Component *); + virtual void setSelectionModel(::javax::swing::SingleSelectionModel *); + virtual void setUI(::javax::swing::plaf::MenuBarUI *); + virtual void updateUI(); +private: + static const jlong serialVersionUID = -8191026883931977036LL; + ::javax::swing::SingleSelectionModel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) selectionModel; + jboolean borderPainted; + ::java::awt::Insets * margin; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenuBar__ diff --git a/libjava/javax/swing/JMenuItem$1.h b/libjava/javax/swing/JMenuItem$1.h new file mode 100644 index 00000000000..fbf36207746 --- /dev/null +++ b/libjava/javax/swing/JMenuItem$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenuItem$1__ +#define __javax_swing_JMenuItem$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JMenuItem; + class JMenuItem$1; + } + } +} + +class javax::swing::JMenuItem$1 : public ::java::lang::Object +{ + +public: // actually package-private + JMenuItem$1(::javax::swing::JMenuItem *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::JMenuItem * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenuItem$1__ diff --git a/libjava/javax/swing/JMenuItem$AccessibleJMenuItem.h b/libjava/javax/swing/JMenuItem$AccessibleJMenuItem.h new file mode 100644 index 00000000000..7e67e9df971 --- /dev/null +++ b/libjava/javax/swing/JMenuItem$AccessibleJMenuItem.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenuItem$AccessibleJMenuItem__ +#define __javax_swing_JMenuItem$AccessibleJMenuItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JMenuItem; + class JMenuItem$AccessibleJMenuItem; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JMenuItem$AccessibleJMenuItem : public ::javax::swing::AbstractButton$AccessibleAbstractButton +{ + +public: // actually package-private + JMenuItem$AccessibleJMenuItem(::javax::swing::JMenuItem *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 6748924232082076534LL; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::AbstractButton$AccessibleAbstractButton)))) armed; + jboolean focusOwner; + jboolean pressed; + jboolean selected; +public: // actually package-private + ::javax::swing::JMenuItem * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenuItem$AccessibleJMenuItem__ diff --git a/libjava/javax/swing/JMenuItem.h b/libjava/javax/swing/JMenuItem.h new file mode 100644 index 00000000000..87d5ff98f59 --- /dev/null +++ b/libjava/javax/swing/JMenuItem.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JMenuItem__ +#define __javax_swing_JMenuItem__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JMenuItem; + class KeyStroke; + class MenuElement; + class MenuSelectionManager; + namespace event + { + class MenuDragMouseEvent; + class MenuDragMouseListener; + class MenuKeyEvent; + class MenuKeyListener; + } + namespace plaf + { + class MenuItemUI; + } + } + } +} + +class javax::swing::JMenuItem : public ::javax::swing::AbstractButton +{ + +public: + JMenuItem(); + JMenuItem(::javax::swing::Icon *); + JMenuItem(::java::lang::String *); + JMenuItem(::javax::swing::Action *); + JMenuItem(::java::lang::String *, ::javax::swing::Icon *); + JMenuItem(::java::lang::String *, jint); +public: // actually protected + virtual void init(::java::lang::String *, ::javax::swing::Icon *); +public: + virtual void setUI(::javax::swing::plaf::MenuItemUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual jboolean isArmed(); + virtual void setArmed(jboolean); + virtual void setEnabled(jboolean); + virtual ::javax::swing::KeyStroke * getAccelerator(); + virtual void setAccelerator(::javax::swing::KeyStroke *); +public: // actually protected + virtual void configurePropertiesFromAction(::javax::swing::Action *); + virtual ::java::beans::PropertyChangeListener * createActionPropertyChangeListener(::javax::swing::Action *); +public: + virtual void processMouseEvent(::java::awt::event::MouseEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual void processKeyEvent(::java::awt::event::KeyEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual void processMenuDragMouseEvent(::javax::swing::event::MenuDragMouseEvent *); + virtual void processMenuKeyEvent(::javax::swing::event::MenuKeyEvent *); +public: // actually protected + virtual void fireMenuDragMouseEntered(::javax::swing::event::MenuDragMouseEvent *); + virtual void fireMenuDragMouseExited(::javax::swing::event::MenuDragMouseEvent *); + virtual void fireMenuDragMouseDragged(::javax::swing::event::MenuDragMouseEvent *); + virtual void fireMenuDragMouseReleased(::javax::swing::event::MenuDragMouseEvent *); + virtual void fireMenuKeyPressed(::javax::swing::event::MenuKeyEvent *); + virtual void fireMenuKeyReleased(::javax::swing::event::MenuKeyEvent *); + virtual void fireMenuKeyTyped(::javax::swing::event::MenuKeyEvent *); +public: + virtual void menuSelectionChanged(jboolean); + virtual JArray< ::javax::swing::MenuElement * > * getSubElements(); + virtual ::java::awt::Component * getComponent(); + virtual void addMenuDragMouseListener(::javax::swing::event::MenuDragMouseListener *); + virtual void removeMenuDragMouseListener(::javax::swing::event::MenuDragMouseListener *); + virtual JArray< ::javax::swing::event::MenuDragMouseListener * > * getMenuDragMouseListeners(); + virtual void addMenuKeyListener(::javax::swing::event::MenuKeyListener *); + virtual void removeMenuKeyListener(::javax::swing::event::MenuKeyListener *); + virtual JArray< ::javax::swing::event::MenuKeyListener * > * getMenuKeyListeners(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual jboolean onTop(); +private: + static const jlong serialVersionUID = -1681004643499461044LL; + ::javax::swing::KeyStroke * __attribute__((aligned(__alignof__( ::javax::swing::AbstractButton)))) accelerator; + jboolean isDragging; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JMenuItem__ diff --git a/libjava/javax/swing/JOptionPane$1.h b/libjava/javax/swing/JOptionPane$1.h new file mode 100644 index 00000000000..89b46f359ff --- /dev/null +++ b/libjava/javax/swing/JOptionPane$1.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JOptionPane$1__ +#define __javax_swing_JOptionPane$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JOptionPane$1; + } + } +} + +class javax::swing::JOptionPane$1 : public ::java::awt::event::MouseAdapter +{ + +public: // actually package-private + JOptionPane$1(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JOptionPane$1__ diff --git a/libjava/javax/swing/JOptionPane$2.h b/libjava/javax/swing/JOptionPane$2.h new file mode 100644 index 00000000000..9231d656a39 --- /dev/null +++ b/libjava/javax/swing/JOptionPane$2.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JOptionPane$2__ +#define __javax_swing_JOptionPane$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JOptionPane$2; + } + } +} + +class javax::swing::JOptionPane$2 : public ::java::awt::event::MouseMotionAdapter +{ + +public: // actually package-private + JOptionPane$2(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JOptionPane$2__ diff --git a/libjava/javax/swing/JOptionPane$AccessibleJOptionPane.h b/libjava/javax/swing/JOptionPane$AccessibleJOptionPane.h new file mode 100644 index 00000000000..70b9e984fad --- /dev/null +++ b/libjava/javax/swing/JOptionPane$AccessibleJOptionPane.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JOptionPane$AccessibleJOptionPane__ +#define __javax_swing_JOptionPane$AccessibleJOptionPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JOptionPane; + class JOptionPane$AccessibleJOptionPane; + } + } +} + +class javax::swing::JOptionPane$AccessibleJOptionPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JOptionPane$AccessibleJOptionPane(::javax::swing::JOptionPane *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 686071432213084821LL; +public: // actually package-private + ::javax::swing::JOptionPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JOptionPane$AccessibleJOptionPane__ diff --git a/libjava/javax/swing/JOptionPane$ValuePropertyHandler.h b/libjava/javax/swing/JOptionPane$ValuePropertyHandler.h new file mode 100644 index 00000000000..a3d71cf409f --- /dev/null +++ b/libjava/javax/swing/JOptionPane$ValuePropertyHandler.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JOptionPane$ValuePropertyHandler__ +#define __javax_swing_JOptionPane$ValuePropertyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JDialog; + class JOptionPane$ValuePropertyHandler; + } + } +} + +class javax::swing::JOptionPane$ValuePropertyHandler : public ::java::lang::Object +{ + +public: // actually package-private + JOptionPane$ValuePropertyHandler(::javax::swing::JDialog *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::JDialog * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dialog; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JOptionPane$ValuePropertyHandler__ diff --git a/libjava/javax/swing/JOptionPane.h b/libjava/javax/swing/JOptionPane.h new file mode 100644 index 00000000000..5bd63fd7ae8 --- /dev/null +++ b/libjava/javax/swing/JOptionPane.h @@ -0,0 +1,167 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JOptionPane__ +#define __javax_swing_JOptionPane__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Frame; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Icon; + class JDesktopPane; + class JDialog; + class JInternalFrame; + class JOptionPane; + namespace plaf + { + class OptionPaneUI; + } + } + } +} + +class javax::swing::JOptionPane : public ::javax::swing::JComponent +{ + +public: + JOptionPane(); + JOptionPane(::java::lang::Object *); + JOptionPane(::java::lang::Object *, jint); + JOptionPane(::java::lang::Object *, jint, jint); + JOptionPane(::java::lang::Object *, jint, jint, ::javax::swing::Icon *); + JOptionPane(::java::lang::Object *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object * > *); + JOptionPane(::java::lang::Object *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object * > *, ::java::lang::Object *); + virtual ::javax::swing::JDialog * createDialog(::java::awt::Component *, ::java::lang::String *); + virtual ::javax::swing::JInternalFrame * createInternalFrame(::java::awt::Component *, ::java::lang::String *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + static ::javax::swing::JDesktopPane * getDesktopPaneForComponent(::java::awt::Component *); + static ::java::awt::Frame * getFrameForComponent(::java::awt::Component *); + virtual ::javax::swing::Icon * getIcon(); + virtual ::java::lang::Object * getInitialSelectionValue(); + virtual ::java::lang::Object * getInitialValue(); + virtual ::java::lang::Object * getInputValue(); + virtual jint getMaxCharactersPerLineCount(); + virtual ::java::lang::Object * getMessage(); + virtual jint getMessageType(); + virtual JArray< ::java::lang::Object * > * getOptions(); + virtual jint getOptionType(); + static ::java::awt::Frame * getRootFrame(); + virtual JArray< ::java::lang::Object * > * getSelectionValues(); + virtual ::javax::swing::plaf::OptionPaneUI * getUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::java::lang::Object * getValue(); + virtual jboolean getWantsInput(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void selectInitialValue(); + virtual void setIcon(::javax::swing::Icon *); + virtual void setInitialSelectionValue(::java::lang::Object *); + virtual void setInitialValue(::java::lang::Object *); + virtual void setInputValue(::java::lang::Object *); + virtual void setMessage(::java::lang::Object *); + virtual void setMessageType(jint); + virtual void setOptions(JArray< ::java::lang::Object * > *); + virtual void setOptionType(jint); + static void setRootFrame(::java::awt::Frame *); + virtual void setSelectionValues(JArray< ::java::lang::Object * > *); + virtual void setUI(::javax::swing::plaf::OptionPaneUI *); + virtual void setValue(::java::lang::Object *); + virtual void setWantsInput(jboolean); + static jint showConfirmDialog(::java::awt::Component *, ::java::lang::Object *); + static jint showConfirmDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint); + static jint showConfirmDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint); + static jint showConfirmDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *); + static ::java::lang::String * showInputDialog(::java::awt::Component *, ::java::lang::Object *); + static ::java::lang::String * showInputDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::String * showInputDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint); + static ::java::lang::Object * showInputDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static ::java::lang::String * showInputDialog(::java::lang::Object *); + static ::java::lang::String * showInputDialog(::java::lang::Object *, ::java::lang::Object *); + static jint showInternalConfirmDialog(::java::awt::Component *, ::java::lang::Object *); + static jint showInternalConfirmDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint); + static jint showInternalConfirmDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint); + static jint showInternalConfirmDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *); + static ::java::lang::String * showInternalInputDialog(::java::awt::Component *, ::java::lang::Object *); + static ::java::lang::String * showInternalInputDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint); + static ::java::lang::Object * showInternalInputDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static void showInternalMessageDialog(::java::awt::Component *, ::java::lang::Object *); + static void showInternalMessageDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint); + static void showInternalMessageDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *); + static jint showInternalOptionDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object * > *, ::java::lang::Object *); + static void showMessageDialog(::java::awt::Component *, ::java::lang::Object *); + static void showMessageDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint); + static void showMessageDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, ::javax::swing::Icon *); + static jint showOptionDialog(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint, ::javax::swing::Icon *, JArray< ::java::lang::Object * > *, ::java::lang::Object *); + virtual void updateUI(); +private: + jboolean validMessageType(jint); + jboolean validOptionType(jint); + static void startModal(::javax::swing::JInternalFrame *); + static const jlong serialVersionUID = 5231143276678566796LL; +public: + static const jint CANCEL_OPTION = 2; + static const jint CLOSED_OPTION = -1; + static const jint DEFAULT_OPTION = -1; + static const jint NO_OPTION = 1; + static const jint OK_CANCEL_OPTION = 2; + static const jint OK_OPTION = 0; + static const jint YES_NO_CANCEL_OPTION = 1; + static const jint YES_NO_OPTION = 0; + static const jint YES_OPTION = 0; + static const jint ERROR_MESSAGE = 0; + static const jint INFORMATION_MESSAGE = 1; + static const jint PLAIN_MESSAGE = -1; + static const jint QUESTION_MESSAGE = 3; + static const jint WARNING_MESSAGE = 2; + static ::java::lang::String * ICON_PROPERTY; + static ::java::lang::String * INITIAL_SELECTION_VALUE_PROPERTY; + static ::java::lang::String * INITIAL_VALUE_PROPERTY; + static ::java::lang::String * INPUT_VALUE_PROPERTY; + static ::java::lang::String * MESSAGE_PROPERTY; + static ::java::lang::String * MESSAGE_TYPE_PROPERTY; + static ::java::lang::String * OPTION_TYPE_PROPERTY; + static ::java::lang::String * OPTIONS_PROPERTY; + static ::java::lang::String * SELECTION_VALUES_PROPERTY; + static ::java::lang::String * VALUE_PROPERTY; + static ::java::lang::String * WANTS_INPUT_PROPERTY; + static ::java::lang::Object * UNINITIALIZED_VALUE; +public: // actually protected + ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) icon; + ::java::lang::Object * initialSelectionValue; + ::java::lang::Object * initialValue; + ::java::lang::Object * inputValue; + ::java::lang::Object * message; + jint messageType; + JArray< ::java::lang::Object * > * options; + jint optionType; + JArray< ::java::lang::Object * > * selectionValues; + ::java::lang::Object * value; + jboolean wantsInput; +private: + static ::java::awt::Frame * privFrame; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JOptionPane__ diff --git a/libjava/javax/swing/JPanel$AccessibleJPanel.h b/libjava/javax/swing/JPanel$AccessibleJPanel.h new file mode 100644 index 00000000000..c4f9878ae6f --- /dev/null +++ b/libjava/javax/swing/JPanel$AccessibleJPanel.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPanel$AccessibleJPanel__ +#define __javax_swing_JPanel$AccessibleJPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JPanel; + class JPanel$AccessibleJPanel; + } + } +} + +class javax::swing::JPanel$AccessibleJPanel : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JPanel$AccessibleJPanel(::javax::swing::JPanel *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually package-private + ::javax::swing::JPanel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPanel$AccessibleJPanel__ diff --git a/libjava/javax/swing/JPanel.h b/libjava/javax/swing/JPanel.h new file mode 100644 index 00000000000..8270c8307d3 --- /dev/null +++ b/libjava/javax/swing/JPanel.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPanel__ +#define __javax_swing_JPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class LayoutManager; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JPanel; + namespace plaf + { + class PanelUI; + } + } + } +} + +class javax::swing::JPanel : public ::javax::swing::JComponent +{ + +public: + JPanel(); + JPanel(jboolean); + JPanel(::java::awt::LayoutManager *); + JPanel(::java::awt::LayoutManager *, jboolean); + virtual ::java::lang::String * getUIClassID(); + virtual void setUI(::javax::swing::plaf::PanelUI *); + virtual ::javax::swing::plaf::PanelUI * getUI(); + virtual void updateUI(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPanel__ diff --git a/libjava/javax/swing/JPasswordField$AccessibleJPasswordField.h b/libjava/javax/swing/JPasswordField$AccessibleJPasswordField.h new file mode 100644 index 00000000000..901558e1e6d --- /dev/null +++ b/libjava/javax/swing/JPasswordField$AccessibleJPasswordField.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPasswordField$AccessibleJPasswordField__ +#define __javax_swing_JPasswordField$AccessibleJPasswordField__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JPasswordField; + class JPasswordField$AccessibleJPasswordField; + } + } +} + +class javax::swing::JPasswordField$AccessibleJPasswordField : public ::javax::swing::JTextField$AccessibleJTextField +{ + +public: // actually protected + JPasswordField$AccessibleJPasswordField(::javax::swing::JPasswordField *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -8477039424200681086LL; +public: // actually package-private + ::javax::swing::JPasswordField * __attribute__((aligned(__alignof__( ::javax::swing::JTextField$AccessibleJTextField)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPasswordField$AccessibleJPasswordField__ diff --git a/libjava/javax/swing/JPasswordField.h b/libjava/javax/swing/JPasswordField.h new file mode 100644 index 00000000000..7e9a8259c42 --- /dev/null +++ b/libjava/javax/swing/JPasswordField.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPasswordField__ +#define __javax_swing_JPasswordField__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JPasswordField; + namespace text + { + class Document; + } + } + } +} + +class javax::swing::JPasswordField : public ::javax::swing::JTextField +{ + +public: + JPasswordField(); + JPasswordField(::java::lang::String *); + JPasswordField(jint); + JPasswordField(::java::lang::String *, jint); + JPasswordField(::javax::swing::text::Document *, ::java::lang::String *, jint); +private: + void writeObject(::java::io::ObjectOutputStream *); +public: + virtual ::java::lang::String * getUIClassID(); + virtual jchar getEchoChar(); + virtual void setEchoChar(jchar); + virtual jboolean echoCharIsSet(); + virtual void copy(); + virtual void cut(); + virtual ::java::lang::String * getText(); + virtual ::java::lang::String * getText(jint, jint); + virtual JArray< jchar > * getPassword(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + jchar __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) echoChar; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPasswordField__ diff --git a/libjava/javax/swing/JPopupMenu$1.h b/libjava/javax/swing/JPopupMenu$1.h new file mode 100644 index 00000000000..978cfc183c3 --- /dev/null +++ b/libjava/javax/swing/JPopupMenu$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPopupMenu$1__ +#define __javax_swing_JPopupMenu$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JPopupMenu; + class JPopupMenu$1; + } + } +} + +class javax::swing::JPopupMenu$1 : public ::java::lang::Object +{ + +public: // actually package-private + JPopupMenu$1(::javax::swing::JPopupMenu *); +public: + void run(); +public: // actually package-private + ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPopupMenu$1__ diff --git a/libjava/javax/swing/JPopupMenu$2.h b/libjava/javax/swing/JPopupMenu$2.h new file mode 100644 index 00000000000..c8d455b9311 --- /dev/null +++ b/libjava/javax/swing/JPopupMenu$2.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPopupMenu$2__ +#define __javax_swing_JPopupMenu$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JPopupMenu; + class JPopupMenu$2; + } + } +} + +class javax::swing::JPopupMenu$2 : public ::java::lang::Object +{ + +public: // actually package-private + JPopupMenu$2(::javax::swing::JPopupMenu *, jboolean); +public: + void run(); +public: // actually package-private + ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + jboolean val$visible; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPopupMenu$2__ diff --git a/libjava/javax/swing/JPopupMenu$AccessibleJPopupMenu.h b/libjava/javax/swing/JPopupMenu$AccessibleJPopupMenu.h new file mode 100644 index 00000000000..d3ace0c6387 --- /dev/null +++ b/libjava/javax/swing/JPopupMenu$AccessibleJPopupMenu.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPopupMenu$AccessibleJPopupMenu__ +#define __javax_swing_JPopupMenu$AccessibleJPopupMenu__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JPopupMenu; + class JPopupMenu$AccessibleJPopupMenu; + } + } +} + +class javax::swing::JPopupMenu$AccessibleJPopupMenu : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JPopupMenu$AccessibleJPopupMenu(::javax::swing::JPopupMenu *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 7423261328879849768LL; +public: // actually package-private + ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPopupMenu$AccessibleJPopupMenu__ diff --git a/libjava/javax/swing/JPopupMenu$ActionChangeListener.h b/libjava/javax/swing/JPopupMenu$ActionChangeListener.h new file mode 100644 index 00000000000..4c2385e4587 --- /dev/null +++ b/libjava/javax/swing/JPopupMenu$ActionChangeListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPopupMenu$ActionChangeListener__ +#define __javax_swing_JPopupMenu$ActionChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JPopupMenu; + class JPopupMenu$ActionChangeListener; + } + } +} + +class javax::swing::JPopupMenu$ActionChangeListener : public ::java::lang::Object +{ + + JPopupMenu$ActionChangeListener(::javax::swing::JPopupMenu *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + JPopupMenu$ActionChangeListener(::javax::swing::JPopupMenu *, ::javax::swing::JPopupMenu$ActionChangeListener *); + ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPopupMenu$ActionChangeListener__ diff --git a/libjava/javax/swing/JPopupMenu$Separator.h b/libjava/javax/swing/JPopupMenu$Separator.h new file mode 100644 index 00000000000..e41bdedd6f6 --- /dev/null +++ b/libjava/javax/swing/JPopupMenu$Separator.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPopupMenu$Separator__ +#define __javax_swing_JPopupMenu$Separator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JPopupMenu$Separator; + } + } +} + +class javax::swing::JPopupMenu$Separator : public ::javax::swing::JSeparator +{ + +public: + JPopupMenu$Separator(); + virtual ::java::lang::String * getUIClassID(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPopupMenu$Separator__ diff --git a/libjava/javax/swing/JPopupMenu.h b/libjava/javax/swing/JPopupMenu.h new file mode 100644 index 00000000000..44bbc89bd3e --- /dev/null +++ b/libjava/javax/swing/JPopupMenu.h @@ -0,0 +1,148 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JPopupMenu__ +#define __javax_swing_JPopupMenu__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Insets; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class JMenuItem; + class JPopupMenu; + class MenuElement; + class MenuSelectionManager; + class Popup; + class SingleSelectionModel; + namespace event + { + class MenuKeyListener; + class PopupMenuListener; + } + namespace plaf + { + class PopupMenuUI; + } + } + } +} + +class javax::swing::JPopupMenu : public ::javax::swing::JComponent +{ + +public: + JPopupMenu(); + JPopupMenu(::java::lang::String *); + virtual ::javax::swing::JMenuItem * add(::javax::swing::JMenuItem *); + virtual ::javax::swing::JMenuItem * add(::java::lang::String *); + virtual ::javax::swing::JMenuItem * add(::javax::swing::Action *); + virtual void remove(jint); + virtual void insert(::javax::swing::Action *, jint); + virtual void insert(::java::awt::Component *, jint); + static jboolean getDefaultLightWeightPopupEnabled(); + static void setDefaultLightWeightPopupEnabled(jboolean); + virtual ::javax::swing::plaf::PopupMenuUI * getUI(); + virtual void setUI(::javax::swing::plaf::PopupMenuUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::swing::SingleSelectionModel * getSelectionModel(); + virtual void setSelectionModel(::javax::swing::SingleSelectionModel *); +public: // actually protected + virtual ::javax::swing::JMenuItem * createActionComponent(::javax::swing::Action *); + virtual ::java::beans::PropertyChangeListener * createActionChangeListener(::javax::swing::JMenuItem *); +public: + virtual jboolean isLightWeightPopupEnabled(); + virtual void setLightWeightPopupEnabled(jboolean); + virtual ::java::lang::String * getLabel(); + virtual void setLabel(::java::lang::String *); + virtual void addSeparator(); + virtual void addMenuKeyListener(::javax::swing::event::MenuKeyListener *); + virtual void removeMenuKeyListener(::javax::swing::event::MenuKeyListener *); + virtual JArray< ::javax::swing::event::MenuKeyListener * > * getMenuKeyListeners(); + virtual void addPopupMenuListener(::javax::swing::event::PopupMenuListener *); + virtual void removePopupMenuListener(::javax::swing::event::PopupMenuListener *); + virtual JArray< ::javax::swing::event::PopupMenuListener * > * getPopupMenuListeners(); +public: // actually protected + virtual void firePopupMenuWillBecomeVisible(); + virtual void firePopupMenuWillBecomeInvisible(); + virtual void firePopupMenuCanceled(); +public: + virtual void pack(); + virtual jboolean isVisible(); + virtual void setVisible(jboolean); + virtual void setLocation(jint, jint); + virtual ::java::awt::Component * getInvoker(); + virtual void setInvoker(::java::awt::Component *); + virtual void show(::java::awt::Component *, jint, jint); + virtual ::java::awt::Component * getComponentAtIndex(jint); + virtual jint getComponentIndex(::java::awt::Component *); + virtual void setPopupSize(::java::awt::Dimension *); + virtual void setPopupSize(jint, jint); + virtual void setSelected(::java::awt::Component *); + virtual jboolean isBorderPainted(); + virtual void setBorderPainted(jboolean); + virtual ::java::awt::Insets * getMargin(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void processMouseEvent(::java::awt::event::MouseEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual void processKeyEvent(::java::awt::event::KeyEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual void menuSelectionChanged(jboolean); + virtual JArray< ::javax::swing::MenuElement * > * getSubElements(); + virtual ::java::awt::Component * getComponent(); + virtual jboolean isPopupTrigger(::java::awt::event::MouseEvent *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually package-private + virtual jboolean onTop(); +private: + static const jlong serialVersionUID = -8336996630009646009LL; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) borderPainted; + static jboolean DefaultLightWeightPopupEnabled; +public: // actually package-private + ::java::awt::Component * invoker; +private: + ::java::lang::String * label; + ::java::awt::Insets * margin; + jboolean lightWeightPopupEnabled; +public: // actually protected + ::javax::swing::SingleSelectionModel * selectionModel; +private: + ::javax::swing::Popup * popup; + jint popupLocationX; + jint popupLocationY; + jboolean visible; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JPopupMenu__ diff --git a/libjava/javax/swing/JProgressBar$1.h b/libjava/javax/swing/JProgressBar$1.h new file mode 100644 index 00000000000..a8340a32426 --- /dev/null +++ b/libjava/javax/swing/JProgressBar$1.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JProgressBar$1__ +#define __javax_swing_JProgressBar$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JProgressBar; + class JProgressBar$1; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JProgressBar$1 : public ::java::lang::Object +{ + +public: // actually package-private + JProgressBar$1(::javax::swing::JProgressBar *); +public: + void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::JProgressBar * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JProgressBar$1__ diff --git a/libjava/javax/swing/JProgressBar$AccessibleJProgressBar.h b/libjava/javax/swing/JProgressBar$AccessibleJProgressBar.h new file mode 100644 index 00000000000..b5b7016359c --- /dev/null +++ b/libjava/javax/swing/JProgressBar$AccessibleJProgressBar.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JProgressBar$AccessibleJProgressBar__ +#define __javax_swing_JProgressBar$AccessibleJProgressBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + class AccessibleValue; + } + namespace swing + { + class JProgressBar; + class JProgressBar$AccessibleJProgressBar; + } + } +} + +class javax::swing::JProgressBar$AccessibleJProgressBar : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JProgressBar$AccessibleJProgressBar(::javax::swing::JProgressBar *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); +private: + static const jlong serialVersionUID = -2938130009392721813LL; +public: // actually package-private + ::javax::swing::JProgressBar * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JProgressBar$AccessibleJProgressBar__ diff --git a/libjava/javax/swing/JProgressBar.h b/libjava/javax/swing/JProgressBar.h new file mode 100644 index 00000000000..459af9ad57a --- /dev/null +++ b/libjava/javax/swing/JProgressBar.h @@ -0,0 +1,107 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JProgressBar__ +#define __javax_swing_JProgressBar__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class BoundedRangeModel; + class JProgressBar; + namespace event + { + class ChangeEvent; + class ChangeListener; + } + namespace plaf + { + class ProgressBarUI; + } + } + } +} + +class javax::swing::JProgressBar : public ::javax::swing::JComponent +{ + +public: + JProgressBar(); + JProgressBar(jint); + JProgressBar(jint, jint); + JProgressBar(jint, jint, jint); + JProgressBar(::javax::swing::BoundedRangeModel *); + virtual jint getValue(); + virtual void setValue(jint); +public: // actually protected + virtual void paintBorder(::java::awt::Graphics *); +public: + virtual jint getOrientation(); + virtual void setOrientation(jint); + virtual jboolean isStringPainted(); + virtual void setStringPainted(jboolean); + virtual ::java::lang::String * getString(); + virtual void setString(::java::lang::String *); + virtual jdouble getPercentComplete(); + virtual jboolean isBorderPainted(); + virtual void setBorderPainted(jboolean); + virtual ::javax::swing::plaf::ProgressBarUI * getUI(); + virtual void setUI(::javax::swing::plaf::ProgressBarUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::javax::swing::event::ChangeListener * createChangeListener(); +public: + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual ::javax::swing::BoundedRangeModel * getModel(); + virtual void setModel(::javax::swing::BoundedRangeModel *); + virtual jint getMinimum(); + virtual void setMinimum(jint); + virtual jint getMaximum(); + virtual void setMaximum(jint); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void setIndeterminate(jboolean); + virtual jboolean isIndeterminate(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 1980046021813598781LL; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) indeterminate; +public: // actually protected + jint orientation; + jboolean paintBorder__; + ::javax::swing::BoundedRangeModel * model; + ::java::lang::String * progressString; + jboolean paintString; + ::javax::swing::event::ChangeEvent * changeEvent; + ::javax::swing::event::ChangeListener * changeListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JProgressBar__ diff --git a/libjava/javax/swing/JRadioButton$AccessibleJRadioButton.h b/libjava/javax/swing/JRadioButton$AccessibleJRadioButton.h new file mode 100644 index 00000000000..9dc147a8b43 --- /dev/null +++ b/libjava/javax/swing/JRadioButton$AccessibleJRadioButton.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRadioButton$AccessibleJRadioButton__ +#define __javax_swing_JRadioButton$AccessibleJRadioButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JRadioButton; + class JRadioButton$AccessibleJRadioButton; + } + } +} + +class javax::swing::JRadioButton$AccessibleJRadioButton : public ::javax::swing::JToggleButton$AccessibleJToggleButton +{ + +public: // actually protected + JRadioButton$AccessibleJRadioButton(::javax::swing::JRadioButton *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 4850967637026120674LL; +public: // actually package-private + ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JToggleButton$AccessibleJToggleButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRadioButton$AccessibleJRadioButton__ diff --git a/libjava/javax/swing/JRadioButton.h b/libjava/javax/swing/JRadioButton.h new file mode 100644 index 00000000000..7c8bd4f6990 --- /dev/null +++ b/libjava/javax/swing/JRadioButton.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRadioButton__ +#define __javax_swing_JRadioButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JRadioButton; + } + } +} + +class javax::swing::JRadioButton : public ::javax::swing::JToggleButton +{ + +public: + JRadioButton(); + JRadioButton(::javax::swing::Action *); + JRadioButton(::javax::swing::Icon *); + JRadioButton(::javax::swing::Icon *, jboolean); + JRadioButton(::java::lang::String *); + JRadioButton(::java::lang::String *, jboolean); + JRadioButton(::java::lang::String *, ::javax::swing::Icon *); + JRadioButton(::java::lang::String *, ::javax::swing::Icon *, jboolean); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void updateUI(); +private: + static const jlong serialVersionUID = 7751949583255506856LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRadioButton__ diff --git a/libjava/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.h b/libjava/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.h new file mode 100644 index 00000000000..7ef610cfcf3 --- /dev/null +++ b/libjava/javax/swing/JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem__ +#define __javax_swing_JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JRadioButtonMenuItem; + class JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem; + } + } +} + +class javax::swing::JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem : public ::javax::swing::JMenuItem$AccessibleJMenuItem +{ + +public: // actually protected + JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem(::javax::swing::JRadioButtonMenuItem *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 4381471510145292179LL; +public: // actually package-private + ::javax::swing::JRadioButtonMenuItem * __attribute__((aligned(__alignof__( ::javax::swing::JMenuItem$AccessibleJMenuItem)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRadioButtonMenuItem$AccessibleJRadioButtonMenuItem__ diff --git a/libjava/javax/swing/JRadioButtonMenuItem.h b/libjava/javax/swing/JRadioButtonMenuItem.h new file mode 100644 index 00000000000..4c982cff9b4 --- /dev/null +++ b/libjava/javax/swing/JRadioButtonMenuItem.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRadioButtonMenuItem__ +#define __javax_swing_JRadioButtonMenuItem__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JRadioButtonMenuItem; + } + } +} + +class javax::swing::JRadioButtonMenuItem : public ::javax::swing::JMenuItem +{ + +public: + JRadioButtonMenuItem(); + JRadioButtonMenuItem(::javax::swing::Icon *); + JRadioButtonMenuItem(::java::lang::String *); + JRadioButtonMenuItem(::javax::swing::Action *); + JRadioButtonMenuItem(::java::lang::String *, ::javax::swing::Icon *); + JRadioButtonMenuItem(::java::lang::String *, jboolean); + JRadioButtonMenuItem(::javax::swing::Icon *, jboolean); + JRadioButtonMenuItem(::java::lang::String *, ::javax::swing::Icon *, jboolean); + virtual ::java::lang::String * getUIClassID(); + virtual void requestFocus(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 8482658191548521743LL; + static ::java::lang::String * uiClassID; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRadioButtonMenuItem__ diff --git a/libjava/javax/swing/JRootPane$AccessibleJRootPane.h b/libjava/javax/swing/JRootPane$AccessibleJRootPane.h new file mode 100644 index 00000000000..a527b57d27a --- /dev/null +++ b/libjava/javax/swing/JRootPane$AccessibleJRootPane.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRootPane$AccessibleJRootPane__ +#define __javax_swing_JRootPane$AccessibleJRootPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JRootPane; + class JRootPane$AccessibleJRootPane; + } + } +} + +class javax::swing::JRootPane$AccessibleJRootPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JRootPane$AccessibleJRootPane(::javax::swing::JRootPane *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 1082432482784468088LL; +public: // actually package-private + ::javax::swing::JRootPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRootPane$AccessibleJRootPane__ diff --git a/libjava/javax/swing/JRootPane$RootLayout.h b/libjava/javax/swing/JRootPane$RootLayout.h new file mode 100644 index 00000000000..22967dea0ad --- /dev/null +++ b/libjava/javax/swing/JRootPane$RootLayout.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRootPane$RootLayout__ +#define __javax_swing_JRootPane$RootLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JRootPane; + class JRootPane$RootLayout; + } + } +} + +class javax::swing::JRootPane$RootLayout : public ::java::lang::Object +{ + +public: // actually protected + JRootPane$RootLayout(::javax::swing::JRootPane *); +public: + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +private: + static const jlong serialVersionUID = -4100116998559815027LL; + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glassPaneBounds; + ::java::awt::Rectangle * layeredPaneBounds; + ::java::awt::Rectangle * contentPaneBounds; + ::java::awt::Rectangle * menuBarBounds; +public: // actually package-private + ::javax::swing::JRootPane * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRootPane$RootLayout__ diff --git a/libjava/javax/swing/JRootPane.h b/libjava/javax/swing/JRootPane.h new file mode 100644 index 00000000000..7d415773ff8 --- /dev/null +++ b/libjava/javax/swing/JRootPane.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JRootPane__ +#define __javax_swing_JRootPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class LayoutManager; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class JButton; + class JLayeredPane; + class JMenuBar; + class JRootPane; + namespace plaf + { + class RootPaneUI; + } + } + } +} + +class javax::swing::JRootPane : public ::javax::swing::JComponent +{ + +public: + virtual void setJMenuBar(::javax::swing::JMenuBar *); + virtual void setMenuBar(::javax::swing::JMenuBar *); + virtual ::javax::swing::JMenuBar * getJMenuBar(); + virtual ::javax::swing::JMenuBar * getMenuBar(); + virtual jboolean isValidateRoot(); + virtual ::java::awt::Container * getContentPane(); + virtual void setContentPane(::java::awt::Container *); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual ::java::awt::Component * getGlassPane(); + virtual void setGlassPane(::java::awt::Component *); + virtual ::javax::swing::JLayeredPane * getLayeredPane(); + virtual void setLayeredPane(::javax::swing::JLayeredPane *); + JRootPane(); +public: // actually protected + virtual ::java::awt::LayoutManager * createRootLayout(); + virtual ::java::awt::Container * createContentPane(); + virtual ::java::awt::Component * createGlassPane(); + virtual ::javax::swing::JLayeredPane * createLayeredPane(); +public: + virtual ::javax::swing::plaf::RootPaneUI * getUI(); + virtual void setUI(::javax::swing::plaf::RootPaneUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::swing::JButton * getDefaultButton(); + virtual void setDefaultButton(::javax::swing::JButton *); + virtual jint getWindowDecorationStyle(); + virtual void setWindowDecorationStyle(jint); + virtual jboolean isOptimizedDrawingEnable(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 8690748000348575668LL; +public: + static const jint NONE = 0; + static const jint FRAME = 1; + static const jint PLAIN_DIALOG = 2; + static const jint INFORMATION_DIALOG = 3; + static const jint ERROR_DIALOG = 4; + static const jint COLOR_CHOOSER_DIALOG = 5; + static const jint FILE_CHOOSER_DIALOG = 6; + static const jint QUESTION_DIALOG = 7; + static const jint WARNING_DIALOG = 8; +public: // actually protected + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) glassPane; + ::javax::swing::JLayeredPane * layeredPane; + ::javax::swing::JMenuBar * menuBar; + ::java::awt::Container * contentPane; + ::javax::swing::JButton * defaultButton; + ::javax::swing::Action * defaultPressAction; + ::javax::swing::Action * defaultReleaseAction; +private: + jint windowDecorationStyle; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JRootPane__ diff --git a/libjava/javax/swing/JScrollBar$AccessibleJScrollBar.h b/libjava/javax/swing/JScrollBar$AccessibleJScrollBar.h new file mode 100644 index 00000000000..1e57461a716 --- /dev/null +++ b/libjava/javax/swing/JScrollBar$AccessibleJScrollBar.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JScrollBar$AccessibleJScrollBar__ +#define __javax_swing_JScrollBar$AccessibleJScrollBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + class AccessibleValue; + } + namespace swing + { + class JScrollBar; + class JScrollBar$AccessibleJScrollBar; + } + } +} + +class javax::swing::JScrollBar$AccessibleJScrollBar : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JScrollBar$AccessibleJScrollBar(::javax::swing::JScrollBar *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); +private: + static const jlong serialVersionUID = -7758162392045586663LL; +public: // actually package-private + ::javax::swing::JScrollBar * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JScrollBar$AccessibleJScrollBar__ diff --git a/libjava/javax/swing/JScrollBar$ScrollBarChangeListener.h b/libjava/javax/swing/JScrollBar$ScrollBarChangeListener.h new file mode 100644 index 00000000000..9ac76b23a2a --- /dev/null +++ b/libjava/javax/swing/JScrollBar$ScrollBarChangeListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JScrollBar$ScrollBarChangeListener__ +#define __javax_swing_JScrollBar$ScrollBarChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JScrollBar; + class JScrollBar$ScrollBarChangeListener; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JScrollBar$ScrollBarChangeListener : public ::java::lang::Object +{ + + JScrollBar$ScrollBarChangeListener(::javax::swing::JScrollBar *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + JScrollBar$ScrollBarChangeListener(::javax::swing::JScrollBar *, ::javax::swing::JScrollBar$ScrollBarChangeListener *); + ::javax::swing::JScrollBar * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JScrollBar$ScrollBarChangeListener__ diff --git a/libjava/javax/swing/JScrollBar.h b/libjava/javax/swing/JScrollBar.h new file mode 100644 index 00000000000..b72d2698c7d --- /dev/null +++ b/libjava/javax/swing/JScrollBar.h @@ -0,0 +1,107 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JScrollBar__ +#define __javax_swing_JScrollBar__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + namespace event + { + class AdjustmentListener; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class BoundedRangeModel; + class JScrollBar; + namespace event + { + class ChangeListener; + } + namespace plaf + { + class ScrollBarUI; + } + } + } +} + +class javax::swing::JScrollBar : public ::javax::swing::JComponent +{ + +public: + JScrollBar(); + JScrollBar(jint); + JScrollBar(jint, jint, jint, jint, jint); + virtual void setUI(::javax::swing::plaf::ScrollBarUI *); + virtual ::javax::swing::plaf::ScrollBarUI * getUI(); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual jint getOrientation(); + virtual void setOrientation(jint); + virtual ::javax::swing::BoundedRangeModel * getModel(); + virtual void setModel(::javax::swing::BoundedRangeModel *); + virtual jint getUnitIncrement(jint); + virtual void setUnitIncrement(jint); + virtual jint getBlockIncrement(jint); + virtual void setBlockIncrement(jint); + virtual jint getUnitIncrement(); + virtual jint getBlockIncrement(); + virtual jint getValue(); + virtual void setValue(jint); + virtual jint getVisibleAmount(); + virtual void setVisibleAmount(jint); + virtual jint getMinimum(); + virtual void setMinimum(jint); + virtual jint getMaximum(); + virtual void setMaximum(jint); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); + virtual void setValues(jint, jint, jint, jint); + virtual void addAdjustmentListener(::java::awt::event::AdjustmentListener *); + virtual void removeAdjustmentListener(::java::awt::event::AdjustmentListener *); + virtual JArray< ::java::awt::event::AdjustmentListener * > * getAdjustmentListeners(); +public: // actually protected + virtual void fireAdjustmentValueChanged(jint, jint, jint); +public: // actually package-private + virtual void fireAdjustmentValueChanged(jint, jint, jint, jboolean); +public: + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual void setEnabled(jboolean); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -8195169869225066566LL; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) blockIncrement; + ::javax::swing::BoundedRangeModel * model; + jint orientation; + jint unitIncrement; +private: + ::javax::swing::event::ChangeListener * sbChangeListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JScrollBar__ diff --git a/libjava/javax/swing/JScrollPane$AccessibleJScrollPane.h b/libjava/javax/swing/JScrollPane$AccessibleJScrollPane.h new file mode 100644 index 00000000000..4075f51a966 --- /dev/null +++ b/libjava/javax/swing/JScrollPane$AccessibleJScrollPane.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JScrollPane$AccessibleJScrollPane__ +#define __javax_swing_JScrollPane$AccessibleJScrollPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JScrollPane; + class JScrollPane$AccessibleJScrollPane; + class JViewport; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JScrollPane$AccessibleJScrollPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: + JScrollPane$AccessibleJScrollPane(::javax::swing::JScrollPane *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void resetViewPort(); +public: // actually protected + ::javax::swing::JViewport * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) viewPort; +public: // actually package-private + ::javax::swing::JScrollPane * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JScrollPane$AccessibleJScrollPane__ diff --git a/libjava/javax/swing/JScrollPane$ScrollBar.h b/libjava/javax/swing/JScrollPane$ScrollBar.h new file mode 100644 index 00000000000..92ca958e9df --- /dev/null +++ b/libjava/javax/swing/JScrollPane$ScrollBar.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JScrollPane$ScrollBar__ +#define __javax_swing_JScrollPane$ScrollBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JScrollPane; + class JScrollPane$ScrollBar; + } + } +} + +class javax::swing::JScrollPane$ScrollBar : public ::javax::swing::JScrollBar +{ + +public: + JScrollPane$ScrollBar(::javax::swing::JScrollPane *, jint); + virtual jint getBlockIncrement(jint); + virtual jint getUnitIncrement(jint); +private: + static const jlong serialVersionUID = -42032395320987283LL; +public: // actually package-private + ::javax::swing::JScrollPane * __attribute__((aligned(__alignof__( ::javax::swing::JScrollBar)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JScrollPane$ScrollBar__ diff --git a/libjava/javax/swing/JScrollPane.h b/libjava/javax/swing/JScrollPane.h new file mode 100644 index 00000000000..6cef5ac4ff0 --- /dev/null +++ b/libjava/javax/swing/JScrollPane.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JScrollPane__ +#define __javax_swing_JScrollPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class ComponentOrientation; + class LayoutManager; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JScrollBar; + class JScrollPane; + class JViewport; + namespace border + { + class Border; + } + namespace plaf + { + class ScrollPaneUI; + } + } + } +} + +class javax::swing::JScrollPane : public ::javax::swing::JComponent +{ + +public: + virtual ::javax::swing::JViewport * getColumnHeader(); + virtual ::java::awt::Component * getCorner(::java::lang::String *); + virtual ::javax::swing::JScrollBar * getHorizontalScrollBar(); + virtual jint getHorizontalScrollBarPolicy(); + virtual ::javax::swing::JViewport * getRowHeader(); + virtual ::javax::swing::JScrollBar * getVerticalScrollBar(); + virtual jint getVerticalScrollBarPolicy(); + virtual ::javax::swing::JViewport * getViewport(); + virtual ::javax::swing::border::Border * getViewportBorder(); + virtual ::java::awt::Rectangle * getViewportBorderBounds(); + virtual jboolean isWheelScrollingEnabled(); +private: + void sync(); + void removeNonNull(::java::awt::Component *); + void addNonNull(::java::awt::Component *, ::java::lang::Object *); +public: + virtual void setComponentOrientation(::java::awt::ComponentOrientation *); + virtual void setColumnHeader(::javax::swing::JViewport *); + virtual void setColumnHeaderView(::java::awt::Component *); + virtual void setCorner(::java::lang::String *, ::java::awt::Component *); + virtual void setHorizontalScrollBar(::javax::swing::JScrollBar *); + virtual void setHorizontalScrollBarPolicy(jint); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setRowHeader(::javax::swing::JViewport *); + virtual void setRowHeaderView(::java::awt::Component *); + virtual void setVerticalScrollBar(::javax::swing::JScrollBar *); + virtual void setVerticalScrollBarPolicy(jint); + virtual void setWheelScrollingEnabled(jboolean); + virtual void setViewport(::javax::swing::JViewport *); + virtual void setViewportBorder(::javax::swing::border::Border *); + virtual void setViewportView(::java::awt::Component *); + virtual jboolean isValidateRoot(); + JScrollPane(); + JScrollPane(::java::awt::Component *); + JScrollPane(jint, jint); + JScrollPane(::java::awt::Component *, jint, jint); + virtual ::javax::swing::JScrollBar * createHorizontalScrollBar(); + virtual ::javax::swing::JScrollBar * createVerticalScrollBar(); +public: // actually protected + virtual ::javax::swing::JViewport * createViewport(); +public: + virtual ::java::lang::String * getUIClassID(); + virtual void updateUI(); + virtual ::javax::swing::plaf::ScrollPaneUI * getUI(); + virtual void setUI(::javax::swing::plaf::ScrollPaneUI *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 5203525440012340014LL; +public: // actually protected + ::javax::swing::JViewport * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) columnHeader; + ::javax::swing::JViewport * rowHeader; + ::java::awt::Component * lowerLeft; + ::java::awt::Component * lowerRight; + ::java::awt::Component * upperLeft; + ::java::awt::Component * upperRight; + ::javax::swing::JScrollBar * horizontalScrollBar; + jint horizontalScrollBarPolicy; + ::javax::swing::JScrollBar * verticalScrollBar; + jint verticalScrollBarPolicy; + ::javax::swing::JViewport * viewport; +private: + ::javax::swing::border::Border * viewportBorder; + jboolean wheelScrollingEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JScrollPane__ diff --git a/libjava/javax/swing/JSeparator$AccessibleJSeparator.h b/libjava/javax/swing/JSeparator$AccessibleJSeparator.h new file mode 100644 index 00000000000..9d0db79d308 --- /dev/null +++ b/libjava/javax/swing/JSeparator$AccessibleJSeparator.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSeparator$AccessibleJSeparator__ +#define __javax_swing_JSeparator$AccessibleJSeparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JSeparator; + class JSeparator$AccessibleJSeparator; + } + } +} + +class javax::swing::JSeparator$AccessibleJSeparator : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JSeparator$AccessibleJSeparator(::javax::swing::JSeparator *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = 916332890553201095LL; +public: // actually package-private + ::javax::swing::JSeparator * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSeparator$AccessibleJSeparator__ diff --git a/libjava/javax/swing/JSeparator.h b/libjava/javax/swing/JSeparator.h new file mode 100644 index 00000000000..22d1a263f3f --- /dev/null +++ b/libjava/javax/swing/JSeparator.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSeparator__ +#define __javax_swing_JSeparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JSeparator; + namespace plaf + { + class SeparatorUI; + } + } + } +} + +class javax::swing::JSeparator : public ::javax::swing::JComponent +{ + +public: + JSeparator(); + JSeparator(jint); + virtual ::javax::swing::plaf::SeparatorUI * getUI(); + virtual void setUI(::javax::swing::plaf::SeparatorUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual jint getOrientation(); + virtual void setOrientation(jint); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 125301223445282357LL; + jint __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) orientation; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSeparator__ diff --git a/libjava/javax/swing/JSlider$1.h b/libjava/javax/swing/JSlider$1.h new file mode 100644 index 00000000000..498c4459fc5 --- /dev/null +++ b/libjava/javax/swing/JSlider$1.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSlider$1__ +#define __javax_swing_JSlider$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JSlider; + class JSlider$1; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JSlider$1 : public ::java::lang::Object +{ + +public: // actually package-private + JSlider$1(::javax::swing::JSlider *); +public: + void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::JSlider * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSlider$1__ diff --git a/libjava/javax/swing/JSlider$AccessibleJSlider.h b/libjava/javax/swing/JSlider$AccessibleJSlider.h new file mode 100644 index 00000000000..9e3c2e8df8c --- /dev/null +++ b/libjava/javax/swing/JSlider$AccessibleJSlider.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSlider$AccessibleJSlider__ +#define __javax_swing_JSlider$AccessibleJSlider__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + class AccessibleValue; + } + namespace swing + { + class JSlider; + class JSlider$AccessibleJSlider; + } + } +} + +class javax::swing::JSlider$AccessibleJSlider : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JSlider$AccessibleJSlider(::javax::swing::JSlider *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); +private: + static const jlong serialVersionUID = -6301740148041106789LL; +public: // actually package-private + ::javax::swing::JSlider * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSlider$AccessibleJSlider__ diff --git a/libjava/javax/swing/JSlider$LabelUIResource.h b/libjava/javax/swing/JSlider$LabelUIResource.h new file mode 100644 index 00000000000..58832751561 --- /dev/null +++ b/libjava/javax/swing/JSlider$LabelUIResource.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSlider$LabelUIResource__ +#define __javax_swing_JSlider$LabelUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JSlider; + class JSlider$LabelUIResource; + } + } +} + +class javax::swing::JSlider$LabelUIResource : public ::javax::swing::JLabel +{ + +public: // actually package-private + JSlider$LabelUIResource(::javax::swing::JSlider *, ::java::lang::String *, jint); + ::javax::swing::JSlider * __attribute__((aligned(__alignof__( ::javax::swing::JLabel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSlider$LabelUIResource__ diff --git a/libjava/javax/swing/JSlider.h b/libjava/javax/swing/JSlider.h new file mode 100644 index 00000000000..e7a54950fc5 --- /dev/null +++ b/libjava/javax/swing/JSlider.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSlider__ +#define __javax_swing_JSlider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class BoundedRangeModel; + class JSlider; + namespace event + { + class ChangeEvent; + class ChangeListener; + } + namespace plaf + { + class SliderUI; + } + } + } +} + +class javax::swing::JSlider : public ::javax::swing::JComponent +{ + +public: + JSlider(); + JSlider(jint); + JSlider(jint, jint); + JSlider(jint, jint, jint); + JSlider(jint, jint, jint, jint); + JSlider(::javax::swing::BoundedRangeModel *); + virtual jint getValue(); + virtual void setValue(jint); + virtual ::javax::swing::plaf::SliderUI * getUI(); + virtual void setUI(::javax::swing::plaf::SliderUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::javax::swing::event::ChangeListener * createChangeListener(); +public: + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); + virtual ::javax::swing::BoundedRangeModel * getModel(); + virtual void setModel(::javax::swing::BoundedRangeModel *); + virtual jint getMinimum(); + virtual void setMinimum(jint); + virtual jint getMaximum(); + virtual void setMaximum(jint); + virtual jboolean getValueIsAdjusting(); + virtual void setValueIsAdjusting(jboolean); + virtual jint getExtent(); + virtual void setExtent(jint); + virtual jint getOrientation(); + virtual void setOrientation(jint); + virtual ::java::util::Dictionary * getLabelTable(); + virtual void setLabelTable(::java::util::Dictionary *); +public: // actually protected + virtual void updateLabelUIs(); +public: + virtual ::java::util::Hashtable * createStandardLabels(jint); + virtual ::java::util::Hashtable * createStandardLabels(jint, jint); + virtual jboolean getInverted(); + virtual void setInverted(jboolean); + virtual jint getMajorTickSpacing(); + virtual void setMajorTickSpacing(jint); + virtual jint getMinorTickSpacing(); + virtual void setMinorTickSpacing(jint); + virtual jboolean getSnapToTicks(); + virtual void setSnapToTicks(jboolean); + virtual jboolean getPaintTicks(); + virtual void setPaintTicks(jboolean); + virtual jboolean getPaintTrack(); + virtual void setPaintTrack(jboolean); + virtual jboolean getPaintLabels(); + virtual void setPaintLabels(jboolean); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -1441275936141218479LL; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) paintTicks; + jboolean paintTrack; + jboolean paintLabels; + ::java::util::Dictionary * labelTable; +public: // actually protected + ::javax::swing::BoundedRangeModel * sliderModel; + jint majorTickSpacing; + jint minorTickSpacing; + jboolean snapToTicks; + jint orientation; +private: + jboolean isInverted; +public: // actually protected + ::javax::swing::event::ChangeListener * changeListener; + ::javax::swing::event::ChangeEvent * changeEvent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSlider__ diff --git a/libjava/javax/swing/JSpinner$DateEditor.h b/libjava/javax/swing/JSpinner$DateEditor.h new file mode 100644 index 00000000000..228da355c91 --- /dev/null +++ b/libjava/javax/swing/JSpinner$DateEditor.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$DateEditor__ +#define __javax_swing_JSpinner$DateEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class SimpleDateFormat; + } + } + namespace javax + { + namespace swing + { + class JSpinner; + class JSpinner$DateEditor; + class SpinnerDateModel; + } + } +} + +class javax::swing::JSpinner$DateEditor : public ::javax::swing::JSpinner$DefaultEditor +{ + +public: + JSpinner$DateEditor(::javax::swing::JSpinner *); + JSpinner$DateEditor(::javax::swing::JSpinner *, ::java::lang::String *); + virtual ::java::text::SimpleDateFormat * getFormat(); + virtual ::javax::swing::SpinnerDateModel * getModel(); +private: + static const jlong serialVersionUID = -4279356973770397815LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$DateEditor__ diff --git a/libjava/javax/swing/JSpinner$DateEditorFormatter.h b/libjava/javax/swing/JSpinner$DateEditorFormatter.h new file mode 100644 index 00000000000..f83b4348a76 --- /dev/null +++ b/libjava/javax/swing/JSpinner$DateEditorFormatter.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$DateEditorFormatter__ +#define __javax_swing_JSpinner$DateEditorFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JSpinner$DateEditorFormatter; + } + } +} + +class javax::swing::JSpinner$DateEditorFormatter : public ::javax::swing::text::DateFormatter +{ + +public: + JSpinner$DateEditorFormatter(); + JSpinner$DateEditorFormatter(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$DateEditorFormatter__ diff --git a/libjava/javax/swing/JSpinner$DefaultEditor.h b/libjava/javax/swing/JSpinner$DefaultEditor.h new file mode 100644 index 00000000000..b586f07b4b6 --- /dev/null +++ b/libjava/javax/swing/JSpinner$DefaultEditor.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$DefaultEditor__ +#define __javax_swing_JSpinner$DefaultEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JFormattedTextField; + class JSpinner; + class JSpinner$DefaultEditor; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JSpinner$DefaultEditor : public ::javax::swing::JPanel +{ + +public: + JSpinner$DefaultEditor(::javax::swing::JSpinner *); + virtual ::javax::swing::JSpinner * getSpinner(); + virtual void commitEdit(); + virtual void dismiss(::javax::swing::JSpinner *); + virtual ::javax::swing::JFormattedTextField * getTextField(); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); +private: + ::javax::swing::JSpinner * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) spinner; +public: // actually package-private + ::javax::swing::JFormattedTextField * ftf; +private: + static const jlong serialVersionUID = -5317788736173368172LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$DefaultEditor__ diff --git a/libjava/javax/swing/JSpinner$ListEditor.h b/libjava/javax/swing/JSpinner$ListEditor.h new file mode 100644 index 00000000000..9ee06ff71ea --- /dev/null +++ b/libjava/javax/swing/JSpinner$ListEditor.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$ListEditor__ +#define __javax_swing_JSpinner$ListEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JSpinner; + class JSpinner$ListEditor; + class SpinnerListModel; + } + } +} + +class javax::swing::JSpinner$ListEditor : public ::javax::swing::JSpinner$DefaultEditor +{ + +public: + JSpinner$ListEditor(::javax::swing::JSpinner *); + virtual ::javax::swing::SpinnerListModel * getModel(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$ListEditor__ diff --git a/libjava/javax/swing/JSpinner$ModelListener.h b/libjava/javax/swing/JSpinner$ModelListener.h new file mode 100644 index 00000000000..b91ea5e30e7 --- /dev/null +++ b/libjava/javax/swing/JSpinner$ModelListener.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$ModelListener__ +#define __javax_swing_JSpinner$ModelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JSpinner; + class JSpinner$ModelListener; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JSpinner$ModelListener : public ::java::lang::Object +{ + +public: + JSpinner$ModelListener(::javax::swing::JSpinner *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::JSpinner * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$ModelListener__ diff --git a/libjava/javax/swing/JSpinner$NumberEditor.h b/libjava/javax/swing/JSpinner$NumberEditor.h new file mode 100644 index 00000000000..a3a8dd166e2 --- /dev/null +++ b/libjava/javax/swing/JSpinner$NumberEditor.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$NumberEditor__ +#define __javax_swing_JSpinner$NumberEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DecimalFormat; + } + } + namespace javax + { + namespace swing + { + class JSpinner; + class JSpinner$NumberEditor; + class SpinnerNumberModel; + } + } +} + +class javax::swing::JSpinner$NumberEditor : public ::javax::swing::JSpinner$DefaultEditor +{ + +public: + JSpinner$NumberEditor(::javax::swing::JSpinner *); + JSpinner$NumberEditor(::javax::swing::JSpinner *, ::java::lang::String *); + virtual ::java::text::DecimalFormat * getFormat(); + virtual ::javax::swing::SpinnerNumberModel * getModel(); +private: + static const jlong serialVersionUID = 3791956183098282942LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$NumberEditor__ diff --git a/libjava/javax/swing/JSpinner$NumberEditorFormatter.h b/libjava/javax/swing/JSpinner$NumberEditorFormatter.h new file mode 100644 index 00000000000..6c2550415cf --- /dev/null +++ b/libjava/javax/swing/JSpinner$NumberEditorFormatter.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner$NumberEditorFormatter__ +#define __javax_swing_JSpinner$NumberEditorFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JSpinner$NumberEditorFormatter; + } + } +} + +class javax::swing::JSpinner$NumberEditorFormatter : public ::javax::swing::text::NumberFormatter +{ + +public: + JSpinner$NumberEditorFormatter(); + JSpinner$NumberEditorFormatter(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner$NumberEditorFormatter__ diff --git a/libjava/javax/swing/JSpinner.h b/libjava/javax/swing/JSpinner.h new file mode 100644 index 00000000000..5457d6f1123 --- /dev/null +++ b/libjava/javax/swing/JSpinner.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSpinner__ +#define __javax_swing_JSpinner__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + class JSpinner; + class SpinnerModel; + namespace event + { + class ChangeListener; + } + namespace plaf + { + class SpinnerUI; + } + } + } +} + +class javax::swing::JSpinner : public ::javax::swing::JComponent +{ + +public: + JSpinner(); + JSpinner(::javax::swing::SpinnerModel *); + virtual void commitEdit(); + virtual ::javax::swing::JComponent * getEditor(); + virtual void setEditor(::javax::swing::JComponent *); + virtual ::javax::swing::SpinnerModel * getModel(); + virtual void setModel(::javax::swing::SpinnerModel *); + virtual ::java::lang::Object * getNextValue(); + virtual ::java::lang::Object * getPreviousValue(); + virtual ::javax::swing::plaf::SpinnerUI * getUI(); + virtual ::java::lang::Object * getValue(); + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::String * getUIClassID(); + virtual void updateUI(); + virtual void setUI(::javax::swing::plaf::SpinnerUI *); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireStateChanged(); + virtual ::javax::swing::JComponent * createEditor(::javax::swing::SpinnerModel *); +private: + ::javax::swing::SpinnerModel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) model; + ::javax::swing::JComponent * editor; + static const jlong serialVersionUID = 3412663575706551720LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSpinner__ diff --git a/libjava/javax/swing/JSplitPane$AccessibleJSplitPane.h b/libjava/javax/swing/JSplitPane$AccessibleJSplitPane.h new file mode 100644 index 00000000000..3144301d52a --- /dev/null +++ b/libjava/javax/swing/JSplitPane$AccessibleJSplitPane.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSplitPane$AccessibleJSplitPane__ +#define __javax_swing_JSplitPane$AccessibleJSplitPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + class AccessibleValue; + } + namespace swing + { + class JSplitPane; + class JSplitPane$AccessibleJSplitPane; + } + } +} + +class javax::swing::JSplitPane$AccessibleJSplitPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JSplitPane$AccessibleJSplitPane(::javax::swing::JSplitPane *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::lang::Number * getCurrentAccessibleValue(); + virtual jboolean setCurrentAccessibleValue(::java::lang::Number *); + virtual ::java::lang::Number * getMinimumAccessibleValue(); + virtual ::java::lang::Number * getMaximumAccessibleValue(); +private: + static const jlong serialVersionUID = -1788116871416305366LL; +public: // actually package-private + ::javax::swing::JSplitPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSplitPane$AccessibleJSplitPane__ diff --git a/libjava/javax/swing/JSplitPane.h b/libjava/javax/swing/JSplitPane.h new file mode 100644 index 00000000000..31405bd8728 --- /dev/null +++ b/libjava/javax/swing/JSplitPane.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JSplitPane__ +#define __javax_swing_JSplitPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JSplitPane; + namespace plaf + { + class SplitPaneUI; + } + } + } +} + +class javax::swing::JSplitPane : public ::javax::swing::JComponent +{ + +public: + JSplitPane(jint, jboolean, ::java::awt::Component *, ::java::awt::Component *); + JSplitPane(jint, ::java::awt::Component *, ::java::awt::Component *); + JSplitPane(jint, jboolean); + JSplitPane(jint); + JSplitPane(); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Component * getBottomComponent(); + virtual jint getDividerLocation(); + virtual jint getDividerSize(); + virtual jint getLastDividerLocation(); + virtual ::java::awt::Component * getLeftComponent(); + virtual jint getMaximumDividerLocation(); + virtual jint getMinimumDividerLocation(); + virtual jint getOrientation(); + virtual jdouble getResizeWeight(); + virtual ::java::awt::Component * getRightComponent(); + virtual ::java::awt::Component * getTopComponent(); + virtual ::javax::swing::plaf::SplitPaneUI * getUI(); + virtual jboolean isContinuousLayout(); + virtual jboolean isOneTouchExpandable(); + virtual jboolean isValidateRoot(); +public: // actually protected + virtual void paintChildren(::java::awt::Graphics *); + virtual ::java::lang::String * paramString(); +public: + virtual void remove(::java::awt::Component *); + virtual void remove(jint); + virtual void removeAll(); + virtual void resetToPreferredSizes(); + virtual void setBottomComponent(::java::awt::Component *); + virtual void setContinuousLayout(jboolean); + virtual void setDividerLocation(jdouble); + virtual void setDividerLocation(jint); + virtual void setDividerSize(jint); + virtual void setLastDividerLocation(jint); + virtual void setLeftComponent(::java::awt::Component *); + virtual void setOneTouchExpandable(jboolean); + virtual void setOrientation(jint); + virtual void setResizeWeight(jdouble); + virtual void setRightComponent(::java::awt::Component *); + virtual void setTopComponent(::java::awt::Component *); + virtual void setUI(::javax::swing::plaf::SplitPaneUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); +public: // actually package-private + virtual void setUIProperty(::java::lang::String *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = -5634142046175988380LL; +public: + static ::java::lang::String * BOTTOM; + static ::java::lang::String * CONTINUOUS_LAYOUT_PROPERTY; + static ::java::lang::String * DIVIDER; + static ::java::lang::String * DIVIDER_LOCATION_PROPERTY; + static ::java::lang::String * DIVIDER_SIZE_PROPERTY; + static const jint HORIZONTAL_SPLIT = 1; + static ::java::lang::String * LAST_DIVIDER_LOCATION_PROPERTY; + static ::java::lang::String * LEFT; + static ::java::lang::String * ONE_TOUCH_EXPANDABLE_PROPERTY; + static ::java::lang::String * ORIENTATION_PROPERTY; + static ::java::lang::String * RESIZE_WEIGHT_PROPERTY; + static ::java::lang::String * RIGHT; + static ::java::lang::String * TOP; + static const jint VERTICAL_SPLIT = 0; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) continuousLayout; + jboolean oneTouchExpandable; + jint dividerSize; + jint lastDividerLocation; + jint orientation; + ::java::awt::Component * leftComponent; + ::java::awt::Component * rightComponent; +private: + jint dividerLocation; + jdouble resizeWeight; + jboolean clientDividerSizeSet; + jboolean clientOneTouchExpandableSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JSplitPane__ diff --git a/libjava/javax/swing/JTabbedPane$AccessibleJTabbedPane.h b/libjava/javax/swing/JTabbedPane$AccessibleJTabbedPane.h new file mode 100644 index 00000000000..8769fad0477 --- /dev/null +++ b/libjava/javax/swing/JTabbedPane$AccessibleJTabbedPane.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTabbedPane$AccessibleJTabbedPane__ +#define __javax_swing_JTabbedPane$AccessibleJTabbedPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleSelection; + } + namespace swing + { + class JTabbedPane; + class JTabbedPane$AccessibleJTabbedPane; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JTabbedPane$AccessibleJTabbedPane : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: + JTabbedPane$AccessibleJTabbedPane(::javax::swing::JTabbedPane *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); +private: + static const jlong serialVersionUID = 7610530885966830483LL; +public: // actually package-private + ::javax::swing::JTabbedPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTabbedPane$AccessibleJTabbedPane__ diff --git a/libjava/javax/swing/JTabbedPane$ModelListener.h b/libjava/javax/swing/JTabbedPane$ModelListener.h new file mode 100644 index 00000000000..04ffcc1961c --- /dev/null +++ b/libjava/javax/swing/JTabbedPane$ModelListener.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTabbedPane$ModelListener__ +#define __javax_swing_JTabbedPane$ModelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTabbedPane; + class JTabbedPane$ModelListener; + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::JTabbedPane$ModelListener : public ::java::lang::Object +{ + +public: // actually protected + JTabbedPane$ModelListener(::javax::swing::JTabbedPane *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +private: + static const jlong serialVersionUID = 497359819958114132LL; +public: // actually package-private + ::javax::swing::JTabbedPane * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTabbedPane$ModelListener__ diff --git a/libjava/javax/swing/JTabbedPane$Page.h b/libjava/javax/swing/JTabbedPane$Page.h new file mode 100644 index 00000000000..346289a538b --- /dev/null +++ b/libjava/javax/swing/JTabbedPane$Page.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTabbedPane$Page__ +#define __javax_swing_JTabbedPane$Page__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleContext; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class Icon; + class JTabbedPane; + class JTabbedPane$Page; + } + } +} + +class javax::swing::JTabbedPane$Page : public ::javax::accessibility::AccessibleContext +{ + +public: // actually protected + JTabbedPane$Page(::javax::swing::JTabbedPane *, ::java::lang::String *, ::javax::swing::Icon *, ::java::awt::Component *, ::java::lang::String *); +public: + virtual ::java::awt::Component * getComponent(); + virtual void setComponent(::java::awt::Component *); + virtual ::java::lang::String * getTip(); + virtual void setTip(::java::lang::String *); + virtual ::java::awt::Color * getBackground(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getForeground(); + virtual void setForeground(::java::awt::Color *); + virtual ::java::lang::String * getTitle(); + virtual void setTitle(::java::lang::String *); + virtual ::javax::swing::Icon * getIcon(); + virtual void setIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getDisabledIcon(); + virtual void setDisabledIcon(::javax::swing::Icon *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual jint getMnemonic(); + virtual void setMnemonic(jint); + virtual void setMnemonic(jchar); + virtual jint getDisplayedMnemonicIndex(); + virtual void setDisplayedMnemonicIndex(jint); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual jint getAccessibleIndexInParent(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::java::util::Locale * getLocale(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) tip; + ::java::awt::Component * component; + ::javax::swing::Icon * icon; + ::javax::swing::Icon * disabledIcon; + jboolean enabled; + ::java::lang::String * title; + ::java::awt::Color * bg; + ::java::awt::Color * fg; + jint mnemonicKey; + jint underlinedChar; + static const jlong serialVersionUID = 1614381073220130939LL; +public: // actually package-private + ::javax::swing::JTabbedPane * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTabbedPane$Page__ diff --git a/libjava/javax/swing/JTabbedPane.h b/libjava/javax/swing/JTabbedPane.h new file mode 100644 index 00000000000..8b286e5c1af --- /dev/null +++ b/libjava/javax/swing/JTabbedPane.h @@ -0,0 +1,148 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTabbedPane__ +#define __javax_swing_JTabbedPane__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Rectangle; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Icon; + class JTabbedPane; + class SingleSelectionModel; + namespace event + { + class ChangeEvent; + class ChangeListener; + } + namespace plaf + { + class TabbedPaneUI; + } + } + } +} + +class javax::swing::JTabbedPane : public ::javax::swing::JComponent +{ + +public: + JTabbedPane(); + JTabbedPane(jint); + JTabbedPane(jint, jint); + virtual ::javax::swing::plaf::TabbedPaneUI * getUI(); + virtual void setUI(::javax::swing::plaf::TabbedPaneUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::javax::swing::event::ChangeListener * createChangeListener(); +public: + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); + virtual ::javax::swing::SingleSelectionModel * getModel(); + virtual void setModel(::javax::swing::SingleSelectionModel *); + virtual jint getTabPlacement(); + virtual void setTabPlacement(jint); + virtual jint getTabLayoutPolicy(); + virtual void setTabLayoutPolicy(jint); + virtual jint getSelectedIndex(); +private: + void checkIndex(jint, jint, jint); +public: + virtual void setSelectedIndex(jint); + virtual ::java::awt::Component * getSelectedComponent(); + virtual void setSelectedComponent(::java::awt::Component *); + virtual void insertTab(::java::lang::String *, ::javax::swing::Icon *, ::java::awt::Component *, ::java::lang::String *, jint); + virtual void addTab(::java::lang::String *, ::javax::swing::Icon *, ::java::awt::Component *, ::java::lang::String *); + virtual void addTab(::java::lang::String *, ::javax::swing::Icon *, ::java::awt::Component *); + virtual void addTab(::java::lang::String *, ::java::awt::Component *); + virtual ::java::awt::Component * add(::java::awt::Component *); + virtual ::java::awt::Component * add(::java::lang::String *, ::java::awt::Component *); + virtual ::java::awt::Component * add(::java::awt::Component *, jint); + virtual void add(::java::awt::Component *, ::java::lang::Object *); + virtual void add(::java::awt::Component *, ::java::lang::Object *, jint); + virtual void removeTabAt(jint); + virtual void remove(::java::awt::Component *); + virtual void remove(jint); + virtual void removeAll(); + virtual jint getTabCount(); + virtual jint getTabRunCount(); + virtual ::java::lang::String * getTitleAt(jint); + virtual ::javax::swing::Icon * getIconAt(jint); + virtual ::javax::swing::Icon * getDisabledIconAt(jint); + virtual ::java::lang::String * getToolTipTextAt(jint); + virtual ::java::awt::Color * getForegroundAt(jint); + virtual ::java::awt::Color * getBackgroundAt(jint); + virtual ::java::awt::Component * getComponentAt(jint); + virtual jboolean isEnabledAt(jint); + virtual jint getMnemonicAt(jint); + virtual jint getDisplayedMnemonicIndexAt(jint); + virtual ::java::awt::Rectangle * getBoundsAt(jint); + virtual void setTitleAt(jint, ::java::lang::String *); + virtual void setIconAt(jint, ::javax::swing::Icon *); + virtual void setDisabledIconAt(jint, ::javax::swing::Icon *); + virtual void setToolTipTextAt(jint, ::java::lang::String *); + virtual void setBackgroundAt(jint, ::java::awt::Color *); + virtual void setForegroundAt(jint, ::java::awt::Color *); + virtual void setEnabledAt(jint, jboolean); + virtual void setComponentAt(jint, ::java::awt::Component *); + virtual void setDisplayedMnemonicIndexAt(jint, jint); + virtual void setMnemonicAt(jint, jint); + virtual jint indexOfTab(::java::lang::String *); + virtual jint indexOfTab(::javax::swing::Icon *); + virtual jint indexOfComponent(::java::awt::Component *); + virtual jint indexAtLocation(jint, jint); + virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = 1614381073220130939LL; +public: // actually protected + ::javax::swing::event::ChangeEvent * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) changeEvent; + ::javax::swing::event::ChangeListener * changeListener; + ::javax::swing::SingleSelectionModel * model; +public: + static const jint SCROLL_TAB_LAYOUT = 1; + static const jint WRAP_TAB_LAYOUT = 0; +public: // actually protected + jint tabPlacement; +private: + jint layoutPolicy; +public: // actually package-private + ::java::util::Vector * tabs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTabbedPane__ diff --git a/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.h b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.h new file mode 100644 index 00000000000..0264034abc9 --- /dev/null +++ b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableCell.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$AccessibleJTable$AccessibleJTableCell__ +#define __javax_swing_JTable$AccessibleJTable$AccessibleJTableCell__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleContext; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class JTable; + class JTable$AccessibleJTable; + class JTable$AccessibleJTable$AccessibleJTableCell; + } + } +} + +class javax::swing::JTable$AccessibleJTable$AccessibleJTableCell : public ::javax::accessibility::AccessibleContext +{ + +public: + JTable$AccessibleJTable$AccessibleJTableCell(::javax::swing::JTable$AccessibleJTable *, ::javax::swing::JTable *, jint, jint, jint); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual jint getAccessibleIndexInParent(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::java::util::Locale * getLocale(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Color * getBackground(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getForeground(); + virtual void setForeground(::java::awt::Color *); + virtual ::java::awt::Cursor * getCursor(); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual jboolean isVisible(); + virtual void setVisible(jboolean); + virtual jboolean isShowing(); + virtual jboolean contains(::java::awt::Point *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Point * getLocation(); + virtual void setLocation(::java::awt::Point *); + virtual ::java::awt::Rectangle * getBounds(); + virtual void setBounds(::java::awt::Rectangle *); + virtual ::java::awt::Dimension * getSize(); + virtual void setSize(::java::awt::Dimension *); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual jboolean isFocusTraversable(); + virtual void requestFocus(); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void removeFocusListener(::java::awt::event::FocusListener *); +private: + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) table; + jint row; + jint column; + jint index; +public: // actually package-private + ::javax::swing::JTable$AccessibleJTable * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$AccessibleJTable$AccessibleJTableCell__ diff --git a/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.h b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.h new file mode 100644 index 00000000000..2a7e6aa61af --- /dev/null +++ b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableHeaderCell.h @@ -0,0 +1,101 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$AccessibleJTable$AccessibleJTableHeaderCell__ +#define __javax_swing_JTable$AccessibleJTable$AccessibleJTableHeaderCell__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleContext; + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class JTable$AccessibleJTable; + class JTable$AccessibleJTable$AccessibleJTableHeaderCell; + namespace table + { + class JTableHeader; + } + } + } +} + +class javax::swing::JTable$AccessibleJTable$AccessibleJTableHeaderCell : public ::javax::accessibility::AccessibleContext +{ + + JTable$AccessibleJTable$AccessibleJTableHeaderCell(::javax::swing::JTable$AccessibleJTable *, ::javax::swing::table::JTableHeader *, ::java::awt::Component *, jint, jint); +public: // actually package-private + virtual ::java::awt::Component * getColumnHeaderRenderer(); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual jint getAccessibleIndexInParent(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::java::util::Locale * getLocale(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Color * getBackground(); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Color * getForeground(); + virtual void setForeground(::java::awt::Color *); + virtual ::java::awt::Cursor * getCursor(); + virtual void setCursor(::java::awt::Cursor *); + virtual ::java::awt::Font * getFont(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual jboolean isEnabled(); + virtual void setEnabled(jboolean); + virtual jboolean isVisible(); + virtual void setVisible(jboolean); + virtual jboolean isShowing(); + virtual jboolean contains(::java::awt::Point *); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Point * getLocation(); + virtual void setLocation(::java::awt::Point *); + virtual ::java::awt::Rectangle * getBounds(); + virtual void setBounds(::java::awt::Rectangle *); + virtual ::java::awt::Dimension * getSize(); + virtual void setSize(::java::awt::Dimension *); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual jboolean isFocusTraversable(); + virtual void requestFocus(); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void removeFocusListener(::java::awt::event::FocusListener *); +public: // actually package-private + JTable$AccessibleJTable$AccessibleJTableHeaderCell(::javax::swing::JTable$AccessibleJTable *, ::javax::swing::table::JTableHeader *, ::java::awt::Component *, jint, jint, ::javax::swing::JTable$AccessibleJTable$AccessibleJTableHeaderCell *); + ::javax::swing::table::JTableHeader * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) header; + jint columnIndex; + ::javax::swing::JTable$AccessibleJTable * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$AccessibleJTable$AccessibleJTableHeaderCell__ diff --git a/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.h b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.h new file mode 100644 index 00000000000..256910ef678 --- /dev/null +++ b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleJTableModelChange.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$AccessibleJTable$AccessibleJTableModelChange__ +#define __javax_swing_JTable$AccessibleJTable$AccessibleJTableModelChange__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTable$AccessibleJTable; + class JTable$AccessibleJTable$AccessibleJTableModelChange; + } + } +} + +class javax::swing::JTable$AccessibleJTable$AccessibleJTableModelChange : public ::java::lang::Object +{ + +public: // actually protected + JTable$AccessibleJTable$AccessibleJTableModelChange(::javax::swing::JTable$AccessibleJTable *, jint, jint, jint, jint, jint); +public: + virtual jint getType(); + virtual jint getFirstRow(); + virtual jint getLastRow(); + virtual jint getFirstColumn(); + virtual jint getLastColumn(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jint firstRow; + jint lastRow; + jint firstColumn; + jint lastColumn; +public: // actually package-private + ::javax::swing::JTable$AccessibleJTable * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$AccessibleJTable$AccessibleJTableModelChange__ diff --git a/libjava/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.h b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.h new file mode 100644 index 00000000000..64e8a51143e --- /dev/null +++ b/libjava/javax/swing/JTable$AccessibleJTable$AccessibleTableHeader.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$AccessibleJTable$AccessibleTableHeader__ +#define __javax_swing_JTable$AccessibleJTable$AccessibleTableHeader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleTable; + } + namespace swing + { + class JTable$AccessibleJTable; + class JTable$AccessibleJTable$AccessibleTableHeader; + namespace table + { + class JTableHeader; + } + } + } +} + +class javax::swing::JTable$AccessibleJTable$AccessibleTableHeader : public ::java::lang::Object +{ + + JTable$AccessibleJTable$AccessibleTableHeader(::javax::swing::JTable$AccessibleJTable *, ::javax::swing::table::JTableHeader *); +public: + virtual ::javax::accessibility::Accessible * getAccessibleCaption(); + virtual void setAccessibleCaption(::javax::accessibility::Accessible *); + virtual ::javax::accessibility::Accessible * getAccessibleSummary(); + virtual void setAccessibleSummary(::javax::accessibility::Accessible *); + virtual jint getAccessibleRowCount(); + virtual jint getAccessibleColumnCount(); + virtual ::javax::accessibility::Accessible * getAccessibleAt(jint, jint); + virtual jint getAccessibleRowExtentAt(jint, jint); + virtual jint getAccessibleColumnExtentAt(jint, jint); + virtual ::javax::accessibility::AccessibleTable * getAccessibleRowHeader(); + virtual void setAccessibleRowHeader(::javax::accessibility::AccessibleTable *); + virtual ::javax::accessibility::AccessibleTable * getAccessibleColumnHeader(); + virtual void setAccessibleColumnHeader(::javax::accessibility::AccessibleTable *); + virtual ::javax::accessibility::Accessible * getAccessibleRowDescription(jint); + virtual void setAccessibleRowDescription(jint, ::javax::accessibility::Accessible *); + virtual ::javax::accessibility::Accessible * getAccessibleColumnDescription(jint); + virtual void setAccessibleColumnDescription(jint, ::javax::accessibility::Accessible *); + virtual jboolean isAccessibleSelected(jint, jint); + virtual jboolean isAccessibleRowSelected(jint); + virtual jboolean isAccessibleColumnSelected(jint); + virtual JArray< jint > * getSelectedAccessibleRows(); + virtual JArray< jint > * getSelectedAccessibleColumns(); +public: // actually package-private + JTable$AccessibleJTable$AccessibleTableHeader(::javax::swing::JTable$AccessibleJTable *, ::javax::swing::table::JTableHeader *, ::javax::swing::JTable$AccessibleJTable$AccessibleTableHeader *); +private: + ::javax::swing::table::JTableHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) header; +public: // actually package-private + ::javax::swing::JTable$AccessibleJTable * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$AccessibleJTable$AccessibleTableHeader__ diff --git a/libjava/javax/swing/JTable$AccessibleJTable.h b/libjava/javax/swing/JTable$AccessibleJTable.h new file mode 100644 index 00000000000..71cb86b68e1 --- /dev/null +++ b/libjava/javax/swing/JTable$AccessibleJTable.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$AccessibleJTable__ +#define __javax_swing_JTable$AccessibleJTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleTable; + } + namespace swing + { + class JTable; + class JTable$AccessibleJTable; + namespace event + { + class ChangeEvent; + class ListSelectionEvent; + class TableColumnModelEvent; + class TableModelEvent; + } + } + } +} + +class javax::swing::JTable$AccessibleJTable : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JTable$AccessibleJTable(::javax::swing::JTable *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleTable * getAccessibleTable(); + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jboolean isAccessibleChildSelected(jint); + virtual void addAccessibleSelection(jint); + virtual void removeAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void selectAllAccessibleSelection(); + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); + virtual void tableChanged(::javax::swing::event::TableModelEvent *); + virtual void tableRowsInserted(::javax::swing::event::TableModelEvent *); + virtual void tableRowsDeleted(::javax::swing::event::TableModelEvent *); +private: + void handleRowChange(::javax::swing::event::TableModelEvent *); +public: + virtual void columnAdded(::javax::swing::event::TableColumnModelEvent *); + virtual void columnRemoved(::javax::swing::event::TableColumnModelEvent *); + virtual void columnMoved(::javax::swing::event::TableColumnModelEvent *); +private: + void handleColumnChange(jint, jint, jint); +public: + virtual void columnMarginChanged(::javax::swing::event::ChangeEvent *); + virtual void columnSelectionChanged(::javax::swing::event::ListSelectionEvent *); + virtual void editingCanceled(::javax::swing::event::ChangeEvent *); + virtual void editingStopped(::javax::swing::event::ChangeEvent *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual jint getAccessibleRow(jint); + virtual jint getAccessibleColumn(jint); + virtual jint getAccessibleIndex(jint, jint); + virtual ::javax::accessibility::Accessible * getAccessibleCaption(); + virtual void setAccessibleCaption(::javax::accessibility::Accessible *); + virtual ::javax::accessibility::Accessible * getAccessibleSummary(); + virtual void setAccessibleSummary(::javax::accessibility::Accessible *); + virtual jint getAccessibleRowCount(); + virtual jint getAccessibleColumnCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::Accessible * getAccessibleAt(jint, jint); + virtual jint getAccessibleRowExtentAt(jint, jint); + virtual jint getAccessibleColumnExtentAt(jint, jint); + virtual ::javax::accessibility::AccessibleTable * getAccessibleRowHeader(); + virtual void setAccessibleRowHeader(::javax::accessibility::AccessibleTable *); + virtual ::javax::accessibility::AccessibleTable * getAccessibleColumnHeader(); + virtual void setAccessibleColumnHeader(::javax::accessibility::AccessibleTable *); + virtual ::javax::accessibility::Accessible * getAccessibleRowDescription(jint); + virtual void setAccessibleRowDescription(jint, ::javax::accessibility::Accessible *); + virtual ::javax::accessibility::Accessible * getAccessibleColumnDescription(jint); + virtual void setAccessibleColumnDescription(jint, ::javax::accessibility::Accessible *); + virtual jboolean isAccessibleSelected(jint, jint); + virtual jboolean isAccessibleRowSelected(jint); + virtual jboolean isAccessibleColumnSelected(jint); + virtual JArray< jint > * getSelectedAccessibleRows(); + virtual JArray< jint > * getSelectedAccessibleColumns(); + virtual jint getAccessibleRowAtIndex(jint); + virtual jint getAccessibleColumnAtIndex(jint); + virtual jint getAccessibleIndexAt(jint, jint); +public: // actually package-private + static ::javax::swing::JTable * access$0(::javax::swing::JTable$AccessibleJTable *); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) lastSelectedRow; + jint lastSelectedColumn; + ::javax::accessibility::Accessible * caption; + ::javax::accessibility::Accessible * summary; + JArray< ::javax::accessibility::Accessible * > * rowDescriptions; + JArray< ::javax::accessibility::Accessible * > * columnDescriptions; +public: // actually package-private + ::javax::swing::JTable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$AccessibleJTable__ diff --git a/libjava/javax/swing/JTable$BooleanCellRenderer.h b/libjava/javax/swing/JTable$BooleanCellRenderer.h new file mode 100644 index 00000000000..127540b10ae --- /dev/null +++ b/libjava/javax/swing/JTable$BooleanCellRenderer.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$BooleanCellRenderer__ +#define __javax_swing_JTable$BooleanCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JCheckBox; + class JTable; + class JTable$BooleanCellRenderer; + } + } +} + +class javax::swing::JTable$BooleanCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: // actually package-private + JTable$BooleanCellRenderer(::javax::swing::JTable *); + virtual ::javax::swing::JCheckBox * getCheckBox(); +public: + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); +private: + ::javax::swing::JCheckBox * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) checkBox; +public: // actually package-private + ::javax::swing::JTable * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$BooleanCellRenderer__ diff --git a/libjava/javax/swing/JTable$DateCellRenderer.h b/libjava/javax/swing/JTable$DateCellRenderer.h new file mode 100644 index 00000000000..854751c30bc --- /dev/null +++ b/libjava/javax/swing/JTable$DateCellRenderer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$DateCellRenderer__ +#define __javax_swing_JTable$DateCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + class JTable$DateCellRenderer; + } + } +} + +class javax::swing::JTable$DateCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + + JTable$DateCellRenderer(::javax::swing::JTable *); +public: + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); +public: // actually package-private + JTable$DateCellRenderer(::javax::swing::JTable *, ::javax::swing::JTable$DateCellRenderer *); + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$DateCellRenderer__ diff --git a/libjava/javax/swing/JTable$DoubleCellRenderer.h b/libjava/javax/swing/JTable$DoubleCellRenderer.h new file mode 100644 index 00000000000..7b3ef733c66 --- /dev/null +++ b/libjava/javax/swing/JTable$DoubleCellRenderer.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$DoubleCellRenderer__ +#define __javax_swing_JTable$DoubleCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + class JTable$DoubleCellRenderer; + } + } +} + +class javax::swing::JTable$DoubleCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: + JTable$DoubleCellRenderer(::javax::swing::JTable *); + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$DoubleCellRenderer__ diff --git a/libjava/javax/swing/JTable$FloatCellRenderer.h b/libjava/javax/swing/JTable$FloatCellRenderer.h new file mode 100644 index 00000000000..b53038046e7 --- /dev/null +++ b/libjava/javax/swing/JTable$FloatCellRenderer.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$FloatCellRenderer__ +#define __javax_swing_JTable$FloatCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + class JTable$FloatCellRenderer; + } + } +} + +class javax::swing::JTable$FloatCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: + JTable$FloatCellRenderer(::javax::swing::JTable *); + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$FloatCellRenderer__ diff --git a/libjava/javax/swing/JTable$IconCellRenderer.h b/libjava/javax/swing/JTable$IconCellRenderer.h new file mode 100644 index 00000000000..6b7556658db --- /dev/null +++ b/libjava/javax/swing/JTable$IconCellRenderer.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$IconCellRenderer__ +#define __javax_swing_JTable$IconCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + class JTable$IconCellRenderer; + } + } +} + +class javax::swing::JTable$IconCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: // actually package-private + JTable$IconCellRenderer(::javax::swing::JTable *); +public: + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$IconCellRenderer__ diff --git a/libjava/javax/swing/JTable$NumberCellRenderer.h b/libjava/javax/swing/JTable$NumberCellRenderer.h new file mode 100644 index 00000000000..4b51472577d --- /dev/null +++ b/libjava/javax/swing/JTable$NumberCellRenderer.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$NumberCellRenderer__ +#define __javax_swing_JTable$NumberCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTable; + class JTable$NumberCellRenderer; + } + } +} + +class javax::swing::JTable$NumberCellRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: + JTable$NumberCellRenderer(::javax::swing::JTable *); +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$NumberCellRenderer__ diff --git a/libjava/javax/swing/JTable$TableColumnPropertyChangeHandler.h b/libjava/javax/swing/JTable$TableColumnPropertyChangeHandler.h new file mode 100644 index 00000000000..dc512796b9f --- /dev/null +++ b/libjava/javax/swing/JTable$TableColumnPropertyChangeHandler.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$TableColumnPropertyChangeHandler__ +#define __javax_swing_JTable$TableColumnPropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JTable; + class JTable$TableColumnPropertyChangeHandler; + } + } +} + +class javax::swing::JTable$TableColumnPropertyChangeHandler : public ::java::lang::Object +{ + +public: // actually package-private + JTable$TableColumnPropertyChangeHandler(::javax::swing::JTable *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$TableColumnPropertyChangeHandler__ diff --git a/libjava/javax/swing/JTable$TableTextField.h b/libjava/javax/swing/JTable$TableTextField.h new file mode 100644 index 00000000000..c0c118f7c77 --- /dev/null +++ b/libjava/javax/swing/JTable$TableTextField.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable$TableTextField__ +#define __javax_swing_JTable$TableTextField__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTable; + class JTable$TableTextField; + } + } +} + +class javax::swing::JTable$TableTextField : public ::javax::swing::JTextField +{ + +public: // actually package-private + JTable$TableTextField(::javax::swing::JTable *); + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable$TableTextField__ diff --git a/libjava/javax/swing/JTable.h b/libjava/javax/swing/JTable.h new file mode 100644 index 00000000000..09feb7f226b --- /dev/null +++ b/libjava/javax/swing/JTable.h @@ -0,0 +1,294 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTable__ +#define __javax_swing_JTable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Dimension; + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JScrollPane; + class JTable; + class JTable$TableColumnPropertyChangeHandler; + class ListSelectionModel; + class SizeSequence; + namespace event + { + class ChangeEvent; + class ListSelectionEvent; + class TableColumnModelEvent; + class TableModelEvent; + } + namespace plaf + { + class TableUI; + } + namespace table + { + class JTableHeader; + class TableCellEditor; + class TableCellRenderer; + class TableColumn; + class TableColumnModel; + class TableModel; + } + } + } +} + +class javax::swing::JTable : public ::javax::swing::JComponent +{ + +public: + JTable(); + JTable(jint, jint); + JTable(JArray< JArray< ::java::lang::Object * > * > *, JArray< ::java::lang::Object * > *); + JTable(::javax::swing::table::TableModel *); + JTable(::javax::swing::table::TableModel *, ::javax::swing::table::TableColumnModel *); + JTable(::javax::swing::table::TableModel *, ::javax::swing::table::TableColumnModel *, ::javax::swing::ListSelectionModel *); + JTable(::java::util::Vector *, ::java::util::Vector *); +public: // actually protected + virtual void initializeLocalVars(); +public: + virtual void addColumn(::javax::swing::table::TableColumn *); +public: // actually protected + virtual void createDefaultEditors(); + virtual void createDefaultRenderers(); +public: + static ::javax::swing::JScrollPane * createScrollPaneForTable(::javax::swing::JTable *); +public: // actually protected + virtual ::javax::swing::table::TableColumnModel * createDefaultColumnModel(); + virtual ::javax::swing::table::TableModel * createDefaultDataModel(); + virtual ::javax::swing::ListSelectionModel * createDefaultSelectionModel(); + virtual ::javax::swing::table::JTableHeader * createDefaultTableHeader(); +public: + virtual void columnAdded(::javax::swing::event::TableColumnModelEvent *); + virtual void columnMarginChanged(::javax::swing::event::ChangeEvent *); + virtual void columnMoved(::javax::swing::event::TableColumnModelEvent *); + virtual void columnRemoved(::javax::swing::event::TableColumnModelEvent *); + virtual void columnSelectionChanged(::javax::swing::event::ListSelectionEvent *); + virtual void editingCanceled(::javax::swing::event::ChangeEvent *); + virtual void editingStopped(::javax::swing::event::ChangeEvent *); + virtual void tableChanged(::javax::swing::event::TableModelEvent *); +private: + void handleCompleteChange(::javax::swing::event::TableModelEvent *); + void handleInsert(::javax::swing::event::TableModelEvent *); + void handleDelete(::javax::swing::event::TableModelEvent *); + void handleUpdate(::javax::swing::event::TableModelEvent *); + void checkSelection(); +public: + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); + virtual jint columnAtPoint(::java::awt::Point *); + virtual jint rowAtPoint(::java::awt::Point *); + virtual ::java::awt::Rectangle * getCellRect(jint, jint, jboolean); + virtual void clearSelection(); + virtual jint getSelectedRow(); + virtual ::javax::swing::ListSelectionModel * getSelectionModel(); + virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint); + virtual jboolean getScrollableTracksViewportHeight(); + virtual jboolean getScrollableTracksViewportWidth(); + virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint); + virtual ::javax::swing::table::TableCellEditor * getCellEditor(jint, jint); + virtual ::javax::swing::table::TableCellEditor * getDefaultEditor(::java::lang::Class *); + virtual ::javax::swing::table::TableCellRenderer * getCellRenderer(jint, jint); + virtual void setDefaultRenderer(::java::lang::Class *, ::javax::swing::table::TableCellRenderer *); + virtual ::javax::swing::table::TableCellRenderer * getDefaultRenderer(::java::lang::Class *); + virtual jint convertColumnIndexToModel(jint); + virtual jint convertColumnIndexToView(jint); + virtual ::java::awt::Component * prepareRenderer(::javax::swing::table::TableCellRenderer *, jint, jint); + virtual jboolean getAutoCreateColumnsFromModel(); + virtual jint getAutoResizeMode(); + virtual jint getRowHeight(); + virtual jint getRowHeight(jint); + virtual jint getRowMargin(); + virtual jboolean getRowSelectionAllowed(); + virtual jboolean getCellSelectionEnabled(); + virtual ::javax::swing::table::TableModel * getModel(); + virtual jint getColumnCount(); + virtual jint getRowCount(); + virtual ::javax::swing::table::TableColumnModel * getColumnModel(); + virtual jint getSelectedColumn(); +private: + static jint countSelections(::javax::swing::ListSelectionModel *); + static JArray< jint > * getSelections(::javax::swing::ListSelectionModel *); +public: + virtual jint getSelectedColumnCount(); + virtual JArray< jint > * getSelectedColumns(); + virtual jboolean getColumnSelectionAllowed(); + virtual jint getSelectedRowCount(); + virtual JArray< jint > * getSelectedRows(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::swing::table::TableCellEditor * getCellEditor(); + virtual jboolean getDragEnabled(); + virtual ::java::awt::Color * getGridColor(); + virtual ::java::awt::Dimension * getIntercellSpacing(); + virtual ::java::awt::Dimension * getPreferredScrollableViewportSize(); + virtual ::java::awt::Color * getSelectionBackground(); + virtual ::java::awt::Color * getSelectionForeground(); + virtual jboolean getShowHorizontalLines(); + virtual jboolean getShowVerticalLines(); + virtual ::javax::swing::table::JTableHeader * getTableHeader(); + virtual void removeColumn(::javax::swing::table::TableColumn *); + virtual void moveColumn(jint, jint); + virtual void setAutoCreateColumnsFromModel(jboolean); + virtual void setAutoResizeMode(jint); + virtual void setRowHeight(jint); + virtual void setRowHeight(jint, jint); + virtual void setRowMargin(jint); + virtual void setRowSelectionAllowed(jboolean); + virtual void setCellSelectionEnabled(jboolean); + virtual void setModel(::javax::swing::table::TableModel *); + virtual void setColumnModel(::javax::swing::table::TableColumnModel *); + virtual void setColumnSelectionAllowed(jboolean); + virtual void setSelectionModel(::javax::swing::ListSelectionModel *); + virtual void setSelectionMode(jint); + virtual void setCellEditor(::javax::swing::table::TableCellEditor *); + virtual void setDragEnabled(jboolean); + virtual void setGridColor(::java::awt::Color *); + virtual void setIntercellSpacing(::java::awt::Dimension *); + virtual void setPreferredScrollableViewportSize(::java::awt::Dimension *); + virtual void setSelectionBackground(::java::awt::Color *); + virtual void setSelectionForeground(::java::awt::Color *); + virtual void setShowGrid(jboolean); + virtual void setShowHorizontalLines(jboolean); + virtual void setShowVerticalLines(jboolean); + virtual void setTableHeader(::javax::swing::table::JTableHeader *); +public: // actually protected + virtual void configureEnclosingScrollPane(); + virtual void unconfigureEnclosingScrollPane(); +public: + virtual void addNotify(); + virtual void removeNotify(); +private: + void distributeSpill(JArray< ::javax::swing::table::TableColumn * > *, jint); + void distributeSpillResizing(JArray< ::javax::swing::table::TableColumn * > *, jint, ::javax::swing::table::TableColumn *); +public: + virtual void doLayout(); +public: // actually package-private + virtual jint getLeftResizingBoundary(); +public: + virtual void sizeColumnsToFit(jboolean); + virtual void sizeColumnsToFit(jint); + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::swing::plaf::TableUI * getUI(); + virtual void setUI(::javax::swing::plaf::TableUI *); + virtual void updateUI(); + virtual ::java::lang::Class * getColumnClass(jint); + virtual ::java::lang::String * getColumnName(jint); + virtual jint getEditingColumn(); + virtual void setEditingColumn(jint); + virtual jint getEditingRow(); + virtual void setEditingRow(jint); + virtual ::java::awt::Component * getEditorComponent(); + virtual jboolean isEditing(); + virtual void setDefaultEditor(::java::lang::Class *, ::javax::swing::table::TableCellEditor *); + virtual void addColumnSelectionInterval(jint, jint); + virtual void addRowSelectionInterval(jint, jint); + virtual void setColumnSelectionInterval(jint, jint); + virtual void setRowSelectionInterval(jint, jint); + virtual void removeColumnSelectionInterval(jint, jint); + virtual void removeRowSelectionInterval(jint, jint); + virtual jboolean isColumnSelected(jint); + virtual jboolean isRowSelected(jint); + virtual jboolean isCellSelected(jint, jint); + virtual void selectAll(); + virtual ::java::lang::Object * getValueAt(jint, jint); + virtual void setValueAt(::java::lang::Object *, jint, jint); + virtual ::javax::swing::table::TableColumn * getColumn(::java::lang::Object *); + virtual jboolean isCellEditable(jint, jint); + virtual void createDefaultColumnsFromModel(); + virtual void changeSelection(jint, jint, jboolean, jboolean); + virtual jboolean editCellAt(jint, jint); +private: + void moveToCellBeingEdited(::java::awt::Component *); +public: + virtual jboolean editCellAt(jint, jint, ::java::util::EventObject *); + virtual void removeEditor(); + virtual ::java::awt::Component * prepareEditor(::javax::swing::table::TableCellEditor *, jint, jint); +public: // actually protected + virtual void resizeAndRepaint(); +public: + virtual void setSurrendersFocusOnKeystroke(jboolean); + virtual jboolean getSurrendersFocusOnKeystroke(); +public: // actually package-private + virtual void setUIProperty(::java::lang::String *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 3876025080382781659LL; +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) this_table; +public: + static const jint AUTO_RESIZE_OFF = 0; + static const jint AUTO_RESIZE_NEXT_COLUMN = 1; + static const jint AUTO_RESIZE_SUBSEQUENT_COLUMNS = 2; + static const jint AUTO_RESIZE_ALL_COLUMNS = 4; + static const jint AUTO_RESIZE_LAST_COLUMN = 3; +public: // actually protected + ::java::util::Hashtable * defaultEditorsByColumnClass; + ::java::util::Hashtable * defaultRenderersByColumnClass; + jint editingColumn; + jint editingRow; + ::java::awt::Component * editorComp; + jboolean autoCreateColumnsFromModel; + jint autoResizeMode; + jint rowHeight; + jint rowMargin; + jboolean rowSelectionAllowed; + jboolean cellSelectionEnabled; + ::javax::swing::table::TableModel * dataModel; + ::javax::swing::table::TableColumnModel * columnModel; + ::javax::swing::ListSelectionModel * selectionModel; + ::javax::swing::table::TableCellEditor * cellEditor; +private: + jboolean dragEnabled; +public: // actually protected + ::java::awt::Color * gridColor; + ::java::awt::Dimension * preferredViewportSize; + ::java::awt::Color * selectionBackground; +private: + static ::java::lang::String * SELECTION_BACKGROUND_CHANGED_PROPERTY; +public: // actually protected + ::java::awt::Color * selectionForeground; +private: + static ::java::lang::String * SELECTION_FOREGROUND_CHANGED_PROPERTY; +public: // actually protected + jboolean showHorizontalLines; + jboolean showVerticalLines; + ::javax::swing::table::JTableHeader * tableHeader; +public: // actually package-private + ::javax::swing::JTable$TableColumnPropertyChangeHandler * tableColumnPropertyChangeHandler; +private: + jboolean surrendersFocusOnKeystroke; + ::java::awt::Rectangle * rectCache; + jboolean clientRowHeightSet; + ::javax::swing::SizeSequence * rowHeights; + ::javax::swing::table::TableCellEditor * booleanInvertingEditor; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTable__ diff --git a/libjava/javax/swing/JTextArea$AccessibleJTextArea.h b/libjava/javax/swing/JTextArea$AccessibleJTextArea.h new file mode 100644 index 00000000000..57d5b20fcf0 --- /dev/null +++ b/libjava/javax/swing/JTextArea$AccessibleJTextArea.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextArea$AccessibleJTextArea__ +#define __javax_swing_JTextArea$AccessibleJTextArea__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleStateSet; + } + namespace swing + { + class JTextArea; + class JTextArea$AccessibleJTextArea; + } + } +} + +class javax::swing::JTextArea$AccessibleJTextArea : public ::javax::swing::text::JTextComponent$AccessibleJTextComponent +{ + +public: // actually protected + JTextArea$AccessibleJTextArea(::javax::swing::JTextArea *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +public: // actually package-private + ::javax::swing::JTextArea * __attribute__((aligned(__alignof__( ::javax::swing::text::JTextComponent$AccessibleJTextComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextArea$AccessibleJTextArea__ diff --git a/libjava/javax/swing/JTextArea.h b/libjava/javax/swing/JTextArea.h new file mode 100644 index 00000000000..c5248b94bb9 --- /dev/null +++ b/libjava/javax/swing/JTextArea.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextArea__ +#define __javax_swing_JTextArea__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JTextArea; + namespace text + { + class Document; + } + } + } +} + +class javax::swing::JTextArea : public ::javax::swing::text::JTextComponent +{ + +public: + JTextArea(); + JTextArea(::java::lang::String *); + JTextArea(jint, jint); + JTextArea(::java::lang::String *, jint, jint); + JTextArea(::javax::swing::text::Document *); + JTextArea(::javax::swing::text::Document *, ::java::lang::String *, jint, jint); + virtual void append(::java::lang::String *); +public: // actually protected + virtual ::javax::swing::text::Document * createDefaultModel(); +public: + virtual jboolean getScrollableTracksViewportWidth(); + virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint); + virtual ::java::awt::Dimension * getPreferredScrollableViewportSize(); + virtual ::java::lang::String * getUIClassID(); + virtual jint getColumns(); + virtual void setColumns(jint); + virtual jint getRows(); + virtual void setRows(jint); + virtual jboolean getLineWrap(); + virtual void setLineWrap(jboolean); + virtual jboolean getWrapStyleWord(); + virtual void setWrapStyleWord(jboolean); + virtual jint getTabSize(); + virtual void setTabSize(jint); +public: // actually protected + virtual jint getColumnWidth(); +public: + virtual jint getLineCount(); + virtual jint getLineStartOffset(jint); + virtual jint getLineEndOffset(jint); + virtual jint getLineOfOffset(jint); +public: // actually protected + virtual jint getRowHeight(); +public: + virtual void insert(::java::lang::String *, jint); + virtual void replaceRange(::java::lang::String *, jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -6141680179310439825LL; + jint __attribute__((aligned(__alignof__( ::javax::swing::text::JTextComponent)))) rows; + jint columns; + jboolean lineWrap; + jint tabSize; + jboolean wrapStyleWord; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextArea__ diff --git a/libjava/javax/swing/JTextField$1.h b/libjava/javax/swing/JTextField$1.h new file mode 100644 index 00000000000..ca59073a823 --- /dev/null +++ b/libjava/javax/swing/JTextField$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextField$1__ +#define __javax_swing_JTextField$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JTextField$1; + } + } +} + +class javax::swing::JTextField$1 : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + JTextField$1(::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextField$1__ diff --git a/libjava/javax/swing/JTextField$2.h b/libjava/javax/swing/JTextField$2.h new file mode 100644 index 00000000000..20129e4bbac --- /dev/null +++ b/libjava/javax/swing/JTextField$2.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextField$2__ +#define __javax_swing_JTextField$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JTextField; + class JTextField$2; + } + } +} + +class javax::swing::JTextField$2 : public ::java::lang::Object +{ + +public: // actually package-private + JTextField$2(::javax::swing::JTextField *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::JTextField * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextField$2__ diff --git a/libjava/javax/swing/JTextField$AccessibleJTextField.h b/libjava/javax/swing/JTextField$AccessibleJTextField.h new file mode 100644 index 00000000000..403fcae20e5 --- /dev/null +++ b/libjava/javax/swing/JTextField$AccessibleJTextField.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextField$AccessibleJTextField__ +#define __javax_swing_JTextField$AccessibleJTextField__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleStateSet; + } + namespace swing + { + class JTextField; + class JTextField$AccessibleJTextField; + } + } +} + +class javax::swing::JTextField$AccessibleJTextField : public ::javax::swing::text::JTextComponent$AccessibleJTextComponent +{ + +public: // actually protected + JTextField$AccessibleJTextField(::javax::swing::JTextField *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); +private: + static const jlong serialVersionUID = 8255147276740453036LL; +public: // actually package-private + ::javax::swing::JTextField * __attribute__((aligned(__alignof__( ::javax::swing::text::JTextComponent$AccessibleJTextComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextField$AccessibleJTextField__ diff --git a/libjava/javax/swing/JTextField.h b/libjava/javax/swing/JTextField.h new file mode 100644 index 00000000000..de4ed3ab823 --- /dev/null +++ b/libjava/javax/swing/JTextField.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextField__ +#define __javax_swing_JTextField__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Font; + class Rectangle; + namespace event + { + class ActionListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class BoundedRangeModel; + class JTextField; + namespace text + { + class Document; + } + } + } +} + +class javax::swing::JTextField : public ::javax::swing::text::JTextComponent +{ + +public: + JTextField(); + JTextField(::java::lang::String *); + JTextField(jint); + JTextField(::java::lang::String *, jint); + JTextField(::javax::swing::text::Document *, ::java::lang::String *, jint); +public: // actually protected + virtual ::javax::swing::text::Document * createDefaultModel(); +public: + virtual void setDocument(::javax::swing::text::Document *); + virtual ::java::lang::String * getUIClassID(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); +public: // actually protected + virtual void fireActionPerformed(); +public: + virtual jint getColumns(); + virtual void setColumns(jint); + virtual jint getHorizontalAlignment(); + virtual void setHorizontalAlignment(jint); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual jint getScrollOffset(); + virtual void setScrollOffset(jint); + virtual JArray< ::javax::swing::Action * > * getActions(); + virtual void postActionEvent(); + virtual ::javax::swing::Action * getAction(); + virtual void setAction(::javax::swing::Action *); + virtual void setActionCommand(::java::lang::String *); +public: // actually protected + virtual ::java::beans::PropertyChangeListener * createActionPropertyChangeListener(::javax::swing::Action *); + virtual void configurePropertiesFromAction(::javax::swing::Action *); + virtual jint getColumnWidth(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::swing::BoundedRangeModel * getHorizontalVisibility(); + virtual jboolean isValidateRoot(); + virtual void scrollRectToVisible(::java::awt::Rectangle *); +private: + static const jlong serialVersionUID = 353853209832607592LL; + static JArray< ::javax::swing::Action * > * actions; +public: + static ::java::lang::String * notifyAction; +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::JTextComponent)))) columns; + jint align; + ::javax::swing::Action * action; + ::java::lang::String * actionCommand; + ::java::beans::PropertyChangeListener * actionPropertyChangeListener; + ::javax::swing::BoundedRangeModel * horizontalVisibility; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextField__ diff --git a/libjava/javax/swing/JTextPane.h b/libjava/javax/swing/JTextPane.h new file mode 100644 index 00000000000..dcc6f7da788 --- /dev/null +++ b/libjava/javax/swing/JTextPane.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTextPane__ +#define __javax_swing_JTextPane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JTextPane; + namespace text + { + class AttributeSet; + class Document; + class EditorKit; + class MutableAttributeSet; + class Style; + class StyledDocument; + class StyledEditorKit; + } + } + } +} + +class javax::swing::JTextPane : public ::javax::swing::JEditorPane +{ + +public: + JTextPane(); + JTextPane(::javax::swing::text::StyledDocument *); + virtual ::java::lang::String * getUIClassID(); + virtual void setDocument(::javax::swing::text::Document *); + virtual ::javax::swing::text::StyledDocument * getStyledDocument(); + virtual void setStyledDocument(::javax::swing::text::StyledDocument *); + virtual void replaceSelection(::java::lang::String *); + virtual void insertComponent(::java::awt::Component *); + virtual void insertIcon(::javax::swing::Icon *); + virtual ::javax::swing::text::Style * addStyle(::java::lang::String *, ::javax::swing::text::Style *); + virtual void removeStyle(::java::lang::String *); + virtual ::javax::swing::text::Style * getStyle(::java::lang::String *); + virtual ::javax::swing::text::Style * getLogicalStyle(); + virtual void setLogicalStyle(::javax::swing::text::Style *); + virtual ::javax::swing::text::AttributeSet * getCharacterAttributes(); + virtual void setCharacterAttributes(::javax::swing::text::AttributeSet *, jboolean); + virtual ::javax::swing::text::AttributeSet * getParagraphAttributes(); + virtual void setParagraphAttributes(::javax::swing::text::AttributeSet *, jboolean); + virtual ::javax::swing::text::MutableAttributeSet * getInputAttributes(); +public: // actually protected + virtual ::javax::swing::text::StyledEditorKit * getStyledEditorKit(); + virtual ::javax::swing::text::EditorKit * createDefaultEditorKit(); +public: + virtual void setEditorKit(::javax::swing::text::EditorKit *); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTextPane__ diff --git a/libjava/javax/swing/JToggleButton$AccessibleJToggleButton.h b/libjava/javax/swing/JToggleButton$AccessibleJToggleButton.h new file mode 100644 index 00000000000..a1f01f3378a --- /dev/null +++ b/libjava/javax/swing/JToggleButton$AccessibleJToggleButton.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToggleButton$AccessibleJToggleButton__ +#define __javax_swing_JToggleButton$AccessibleJToggleButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ItemEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JToggleButton; + class JToggleButton$AccessibleJToggleButton; + } + } +} + +class javax::swing::JToggleButton$AccessibleJToggleButton : public ::javax::swing::AbstractButton$AccessibleAbstractButton +{ + +public: + JToggleButton$AccessibleJToggleButton(::javax::swing::JToggleButton *); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); +private: + static const jlong serialVersionUID = -8652952712161229225LL; +public: // actually package-private + ::javax::swing::JToggleButton * __attribute__((aligned(__alignof__( ::javax::swing::AbstractButton$AccessibleAbstractButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToggleButton$AccessibleJToggleButton__ diff --git a/libjava/javax/swing/JToggleButton$ToggleButtonModel.h b/libjava/javax/swing/JToggleButton$ToggleButtonModel.h new file mode 100644 index 00000000000..a8d3c22595d --- /dev/null +++ b/libjava/javax/swing/JToggleButton$ToggleButtonModel.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToggleButton$ToggleButtonModel__ +#define __javax_swing_JToggleButton$ToggleButtonModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JToggleButton$ToggleButtonModel; + } + } +} + +class javax::swing::JToggleButton$ToggleButtonModel : public ::javax::swing::DefaultButtonModel +{ + +public: + JToggleButton$ToggleButtonModel(); + virtual void setPressed(jboolean); + virtual jboolean isSelected(); + virtual void setSelected(jboolean); +private: + static const jlong serialVersionUID = -1589950750899943974LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToggleButton$ToggleButtonModel__ diff --git a/libjava/javax/swing/JToggleButton.h b/libjava/javax/swing/JToggleButton.h new file mode 100644 index 00000000000..88f281ac5ee --- /dev/null +++ b/libjava/javax/swing/JToggleButton.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToggleButton__ +#define __javax_swing_JToggleButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class Icon; + class JToggleButton; + } + } +} + +class javax::swing::JToggleButton : public ::javax::swing::AbstractButton +{ + +public: + JToggleButton(); + JToggleButton(::javax::swing::Action *); + JToggleButton(::javax::swing::Icon *); + JToggleButton(::javax::swing::Icon *, jboolean); + JToggleButton(::java::lang::String *); + JToggleButton(::java::lang::String *, jboolean); + JToggleButton(::java::lang::String *, ::javax::swing::Icon *); + JToggleButton(::java::lang::String *, ::javax::swing::Icon *, jboolean); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void updateUI(); +private: + static const jlong serialVersionUID = -3128248873429850443LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToggleButton__ diff --git a/libjava/javax/swing/JToolBar$AccessibleJToolBar.h b/libjava/javax/swing/JToolBar$AccessibleJToolBar.h new file mode 100644 index 00000000000..0474a4e9183 --- /dev/null +++ b/libjava/javax/swing/JToolBar$AccessibleJToolBar.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToolBar$AccessibleJToolBar__ +#define __javax_swing_JToolBar$AccessibleJToolBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + class AccessibleStateSet; + } + namespace swing + { + class JToolBar; + class JToolBar$AccessibleJToolBar; + } + } +} + +class javax::swing::JToolBar$AccessibleJToolBar : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JToolBar$AccessibleJToolBar(::javax::swing::JToolBar *); +public: + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -5516888265903814215LL; +public: // actually package-private + ::javax::swing::JToolBar * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToolBar$AccessibleJToolBar__ diff --git a/libjava/javax/swing/JToolBar$DefaultToolBarLayout.h b/libjava/javax/swing/JToolBar$DefaultToolBarLayout.h new file mode 100644 index 00000000000..ba7d9cc5239 --- /dev/null +++ b/libjava/javax/swing/JToolBar$DefaultToolBarLayout.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToolBar$DefaultToolBarLayout__ +#define __javax_swing_JToolBar$DefaultToolBarLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + class JToolBar; + class JToolBar$DefaultToolBarLayout; + } + } +} + +class javax::swing::JToolBar$DefaultToolBarLayout : public ::java::lang::Object +{ + + JToolBar$DefaultToolBarLayout(::javax::swing::JToolBar *); +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + JToolBar$DefaultToolBarLayout(::javax::swing::JToolBar *, ::javax::swing::JToolBar$DefaultToolBarLayout *); + ::javax::swing::JToolBar * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToolBar$DefaultToolBarLayout__ diff --git a/libjava/javax/swing/JToolBar$Separator.h b/libjava/javax/swing/JToolBar$Separator.h new file mode 100644 index 00000000000..a30fc4e273a --- /dev/null +++ b/libjava/javax/swing/JToolBar$Separator.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToolBar$Separator__ +#define __javax_swing_JToolBar$Separator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace swing + { + class JToolBar$Separator; + } + } +} + +class javax::swing::JToolBar$Separator : public ::javax::swing::JSeparator +{ + +public: + JToolBar$Separator(); + JToolBar$Separator(::java::awt::Dimension *); + virtual ::java::lang::String * getUIClassID(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getSeparatorSize(); + virtual void setSeparatorSize(::java::awt::Dimension *); +private: + static const jlong serialVersionUID = -1656745644823105219LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToolBar$Separator__ diff --git a/libjava/javax/swing/JToolBar.h b/libjava/javax/swing/JToolBar.h new file mode 100644 index 00000000000..ea7cd99b27e --- /dev/null +++ b/libjava/javax/swing/JToolBar.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToolBar__ +#define __javax_swing_JToolBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Graphics; + class Insets; + class LayoutManager; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class JButton; + class JToolBar; + namespace plaf + { + class ToolBarUI; + } + } + } +} + +class javax::swing::JToolBar : public ::javax::swing::JComponent +{ + +public: + JToolBar(); + JToolBar(jint); + JToolBar(::java::lang::String *); + JToolBar(::java::lang::String *, jint); + virtual ::javax::swing::JButton * add(::javax::swing::Action *); +public: // actually protected + virtual void paintBorder(::java::awt::Graphics *); +public: + virtual ::javax::swing::plaf::ToolBarUI * getUI(); + virtual void setUI(::javax::swing::plaf::ToolBarUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual void setRollover(jboolean); + virtual jboolean isRollover(); + virtual jint getComponentIndex(::java::awt::Component *); + virtual ::java::awt::Component * getComponentAtIndex(jint); + virtual ::java::awt::Insets * getMargin(); + virtual void setMargin(::java::awt::Insets *); + virtual jboolean isBorderPainted(); + virtual void setBorderPainted(jboolean); + virtual jboolean isFloatable(); + virtual void setFloatable(jboolean); + virtual jint getOrientation(); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setOrientation(jint); + virtual void addSeparator(); + virtual void addSeparator(::java::awt::Dimension *); +public: // actually protected + virtual ::javax::swing::JButton * createActionComponent(::javax::swing::Action *); + virtual ::java::beans::PropertyChangeListener * createActionChangeListener(::javax::swing::JButton *); + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +private: + static const jlong serialVersionUID = -1269915519555129643LL; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) paintBorder__; + ::java::awt::Insets * margin; + jboolean floatable; + jboolean rollover; + jint orientation; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToolBar__ diff --git a/libjava/javax/swing/JToolTip$AccessibleJToolTip.h b/libjava/javax/swing/JToolTip$AccessibleJToolTip.h new file mode 100644 index 00000000000..f65575e8aac --- /dev/null +++ b/libjava/javax/swing/JToolTip$AccessibleJToolTip.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToolTip$AccessibleJToolTip__ +#define __javax_swing_JToolTip$AccessibleJToolTip__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JToolTip; + class JToolTip$AccessibleJToolTip; + } + } +} + +class javax::swing::JToolTip$AccessibleJToolTip : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JToolTip$AccessibleJToolTip(::javax::swing::JToolTip *); +public: + virtual ::java::lang::String * getAccessibleDescription(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +private: + static const jlong serialVersionUID = -6222548177795408476LL; +public: // actually package-private + ::javax::swing::JToolTip * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToolTip$AccessibleJToolTip__ diff --git a/libjava/javax/swing/JToolTip.h b/libjava/javax/swing/JToolTip.h new file mode 100644 index 00000000000..d622528f066 --- /dev/null +++ b/libjava/javax/swing/JToolTip.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JToolTip__ +#define __javax_swing_JToolTip__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JComponent; + class JToolTip; + namespace plaf + { + class ToolTipUI; + } + } + } +} + +class javax::swing::JToolTip : public ::javax::swing::JComponent +{ + +public: + JToolTip(); + virtual ::java::lang::String * getTipText(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::swing::JComponent * getComponent(); + virtual ::javax::swing::plaf::ToolTipUI * getUI(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual void setComponent(::javax::swing::JComponent *); + virtual void setTipText(::java::lang::String *); + virtual void updateUI(); +public: // actually package-private + virtual jboolean onTop(); +private: + static const jlong serialVersionUID = -1138929898906751643LL; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) text; + ::javax::swing::JComponent * component; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JToolTip__ diff --git a/libjava/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.h b/libjava/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.h new file mode 100644 index 00000000000..40d1f977081 --- /dev/null +++ b/libjava/javax/swing/JTree$AccessibleJTree$AccessibleJTreeNode.h @@ -0,0 +1,140 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree$AccessibleJTree$AccessibleJTreeNode__ +#define __javax_swing_JTree$AccessibleJTree$AccessibleJTreeNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleAction; + class AccessibleComponent; + class AccessibleContext; + class AccessibleRole; + class AccessibleSelection; + class AccessibleStateSet; + class AccessibleText; + class AccessibleValue; + } + namespace swing + { + class JTree; + class JTree$AccessibleJTree; + class JTree$AccessibleJTree$AccessibleJTreeNode; + namespace tree + { + class TreeModel; + class TreePath; + } + } + } +} + +class javax::swing::JTree$AccessibleJTree$AccessibleJTreeNode : public ::javax::accessibility::AccessibleContext +{ + +public: + JTree$AccessibleJTree$AccessibleJTreeNode(::javax::swing::JTree$AccessibleJTree *, ::javax::swing::JTree *, ::javax::swing::tree::TreePath *, ::javax::accessibility::Accessible *); + virtual void addAccessibleSelection(jint); + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void clearAccessibleSelection(); + virtual jboolean contains(::java::awt::Point *); + virtual jboolean doAccessibleAction(jint); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::AccessibleComponent * getAccessibleComponent(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getAccessibleDescription(); + virtual jint getAccessibleIndexInParent(); + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::Accessible * getAccessibleParent(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jint getAccessibleSelectionCount(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::awt::Color * getBackground(); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::Cursor * getCursor(); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Color * getForeground(); + virtual ::java::util::Locale * getLocale(); + virtual ::java::awt::Point * getLocation(); +public: // actually protected + virtual ::java::awt::Point * getLocationInJTree(); +public: + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Dimension * getSize(); + virtual jboolean isAccessibleChildSelected(jint); + virtual jboolean isEnabled(); + virtual jboolean isFocusTraversable(); + virtual jboolean isShowing(); + virtual jboolean isVisible(); + virtual void removeAccessibleSelection(jint); + virtual void removeFocusListener(::java::awt::event::FocusListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void requestFocus(); + virtual void selectAllAccessibleSelection(); + virtual void setAccessibleDescription(::java::lang::String *); + virtual void setAccessibleName(::java::lang::String *); + virtual void setBackground(::java::awt::Color *); + virtual void setBounds(::java::awt::Rectangle *); + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual void setLocation(::java::awt::Point *); + virtual void setSize(::java::awt::Dimension *); + virtual void setVisible(jboolean); +private: + ::javax::swing::JTree * __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) tree; + ::javax::swing::tree::TreePath * tp; + ::javax::accessibility::Accessible * acc; + ::javax::accessibility::AccessibleStateSet * states; + ::java::util::Vector * selectionList; + ::java::util::Vector * actionList; + ::javax::swing::tree::TreeModel * mod; + ::java::awt::Cursor * cursor; +public: // actually package-private + ::javax::swing::JTree$AccessibleJTree * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree$AccessibleJTree$AccessibleJTreeNode__ diff --git a/libjava/javax/swing/JTree$AccessibleJTree.h b/libjava/javax/swing/JTree$AccessibleJTree.h new file mode 100644 index 00000000000..e4b60e1e167 --- /dev/null +++ b/libjava/javax/swing/JTree$AccessibleJTree.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree$AccessibleJTree__ +#define __javax_swing_JTree$AccessibleJTree__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + class AccessibleSelection; + } + namespace swing + { + class JTree; + class JTree$AccessibleJTree; + namespace event + { + class TreeExpansionEvent; + class TreeModelEvent; + class TreeSelectionEvent; + } + } + } +} + +class javax::swing::JTree$AccessibleJTree : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: + JTree$AccessibleJTree(::javax::swing::JTree *); + virtual void addAccessibleSelection(jint); + virtual void clearAccessibleSelection(); + virtual void fireVisibleDataPropertyChange(); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual jint getAccessibleChildrenCount(); + virtual jint getAccessibleIndexInParent(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::Accessible * getAccessibleSelection(jint); + virtual jint getAccessibleSelectionCount(); + virtual jboolean isAccessibleChildSelected(jint); + virtual void removeAccessibleSelection(jint); + virtual void selectAllAccessibleSelection(); + virtual void treeCollapsed(::javax::swing::event::TreeExpansionEvent *); + virtual void treeExpanded(::javax::swing::event::TreeExpansionEvent *); + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *); + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *); + virtual void valueChanged(::javax::swing::event::TreeSelectionEvent *); +public: // actually package-private + static ::javax::swing::JTree * access$0(::javax::swing::JTree$AccessibleJTree *); + ::javax::swing::JTree * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree$AccessibleJTree__ diff --git a/libjava/javax/swing/JTree$DynamicUtilTreeNode.h b/libjava/javax/swing/JTree$DynamicUtilTreeNode.h new file mode 100644 index 00000000000..0d658dd371e --- /dev/null +++ b/libjava/javax/swing/JTree$DynamicUtilTreeNode.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree$DynamicUtilTreeNode__ +#define __javax_swing_JTree$DynamicUtilTreeNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTree$DynamicUtilTreeNode; + namespace tree + { + class DefaultMutableTreeNode; + class TreeNode; + } + } + } +} + +class javax::swing::JTree$DynamicUtilTreeNode : public ::javax::swing::tree::DefaultMutableTreeNode +{ + +public: + JTree$DynamicUtilTreeNode(::java::lang::Object *, ::java::lang::Object *); + virtual jint getChildCount(); +public: // actually protected + virtual void loadChildren(); +public: + virtual ::java::util::Enumeration * children(); + virtual ::javax::swing::tree::TreeNode * getChildAt(jint); + virtual jboolean isLeaf(); + static void createChildren(::javax::swing::tree::DefaultMutableTreeNode *, ::java::lang::Object *); +public: // actually protected + ::java::lang::Object * __attribute__((aligned(__alignof__( ::javax::swing::tree::DefaultMutableTreeNode)))) childValue; + jboolean loadedChildren; + jboolean hasChildren; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree$DynamicUtilTreeNode__ diff --git a/libjava/javax/swing/JTree$EmptySelectionModel.h b/libjava/javax/swing/JTree$EmptySelectionModel.h new file mode 100644 index 00000000000..bafe35f2d7e --- /dev/null +++ b/libjava/javax/swing/JTree$EmptySelectionModel.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree$EmptySelectionModel__ +#define __javax_swing_JTree$EmptySelectionModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTree$EmptySelectionModel; + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::JTree$EmptySelectionModel : public ::javax::swing::tree::DefaultTreeSelectionModel +{ + +public: // actually protected + JTree$EmptySelectionModel(); +public: + static ::javax::swing::JTree$EmptySelectionModel * sharedInstance(); + virtual void setSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual void addSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual void removeSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); +private: + static const jlong serialVersionUID = -5815023306225701477LL; +public: // actually protected + static ::javax::swing::JTree$EmptySelectionModel * sharedInstance__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree$EmptySelectionModel__ diff --git a/libjava/javax/swing/JTree$TreeModelHandler.h b/libjava/javax/swing/JTree$TreeModelHandler.h new file mode 100644 index 00000000000..3fc8f654993 --- /dev/null +++ b/libjava/javax/swing/JTree$TreeModelHandler.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree$TreeModelHandler__ +#define __javax_swing_JTree$TreeModelHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTree; + class JTree$TreeModelHandler; + namespace event + { + class TreeModelEvent; + } + } + } +} + +class javax::swing::JTree$TreeModelHandler : public ::java::lang::Object +{ + +public: // actually protected + JTree$TreeModelHandler(::javax::swing::JTree *); +public: + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *); + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *); +public: // actually package-private + ::javax::swing::JTree * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree$TreeModelHandler__ diff --git a/libjava/javax/swing/JTree$TreeSelectionRedirector.h b/libjava/javax/swing/JTree$TreeSelectionRedirector.h new file mode 100644 index 00000000000..a7a1a6e65bd --- /dev/null +++ b/libjava/javax/swing/JTree$TreeSelectionRedirector.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree$TreeSelectionRedirector__ +#define __javax_swing_JTree$TreeSelectionRedirector__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JTree; + class JTree$TreeSelectionRedirector; + namespace event + { + class TreeSelectionEvent; + } + } + } +} + +class javax::swing::JTree$TreeSelectionRedirector : public ::java::lang::Object +{ + +public: // actually protected + JTree$TreeSelectionRedirector(::javax::swing::JTree *); +public: + virtual void valueChanged(::javax::swing::event::TreeSelectionEvent *); +private: + static const jlong serialVersionUID = -3505069663646241664LL; +public: // actually package-private + ::javax::swing::JTree * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree$TreeSelectionRedirector__ diff --git a/libjava/javax/swing/JTree.h b/libjava/javax/swing/JTree.h new file mode 100644 index 00000000000..c9e66df2cb0 --- /dev/null +++ b/libjava/javax/swing/JTree.h @@ -0,0 +1,270 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JTree__ +#define __javax_swing_JTree__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JTree; + class JTree$TreeSelectionRedirector; + namespace event + { + class TreeExpansionListener; + class TreeModelListener; + class TreeSelectionEvent; + class TreeSelectionListener; + class TreeWillExpandListener; + } + namespace plaf + { + class TreeUI; + } + namespace text + { + class Position$Bias; + } + namespace tree + { + class TreeCellEditor; + class TreeCellRenderer; + class TreeModel; + class TreeNode; + class TreePath; + class TreeSelectionModel; + } + } + } +} + +class javax::swing::JTree : public ::javax::swing::JComponent +{ + +public: + JTree(); + JTree(::java::util::Hashtable *); + JTree(JArray< ::java::lang::Object * > *); + JTree(::javax::swing::tree::TreeModel *); + JTree(::javax::swing::tree::TreeNode *); + JTree(::javax::swing::tree::TreeNode *, jboolean); + JTree(::java::util::Vector *); + virtual jint getRowForPath(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getPathForRow(jint); +public: // actually protected + virtual JArray< ::javax::swing::tree::TreePath * > * getPathBetweenRows(jint, jint); + static ::javax::swing::tree::TreeModel * createTreeModel(::java::lang::Object *); +public: + virtual ::javax::swing::plaf::TreeUI * getUI(); + virtual void setUI(::javax::swing::plaf::TreeUI *); + virtual void updateUI(); + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::awt::Dimension * getPreferredScrollableViewportSize(); + virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint); + virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint); + virtual jboolean getScrollableTracksViewportHeight(); + virtual jboolean getScrollableTracksViewportWidth(); + virtual void addTreeExpansionListener(::javax::swing::event::TreeExpansionListener *); + virtual void removeTreeExpansionListener(::javax::swing::event::TreeExpansionListener *); + virtual JArray< ::javax::swing::event::TreeExpansionListener * > * getTreeExpansionListeners(); + virtual void fireTreeCollapsed(::javax::swing::tree::TreePath *); + virtual void fireTreeExpanded(::javax::swing::tree::TreePath *); + virtual void addTreeSelectionListener(::javax::swing::event::TreeSelectionListener *); + virtual void removeTreeSelectionListener(::javax::swing::event::TreeSelectionListener *); + virtual JArray< ::javax::swing::event::TreeSelectionListener * > * getTreeSelectionListeners(); +public: // actually protected + virtual void fireValueChanged(::javax::swing::event::TreeSelectionEvent *); +public: + virtual void addTreeWillExpandListener(::javax::swing::event::TreeWillExpandListener *); + virtual void removeTreeWillExpandListener(::javax::swing::event::TreeWillExpandListener *); + virtual JArray< ::javax::swing::event::TreeWillExpandListener * > * getTreeWillExpandListeners(); + virtual void fireTreeWillCollapse(::javax::swing::tree::TreePath *); + virtual void fireTreeWillExpand(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreeModel * getModel(); + virtual void setModel(::javax::swing::tree::TreeModel *); + virtual jboolean isEditable(); + virtual void setEditable(jboolean); + virtual jboolean isRootVisible(); + virtual void setRootVisible(jboolean); + virtual jboolean getShowsRootHandles(); + virtual void setShowsRootHandles(jboolean); + virtual ::javax::swing::tree::TreeCellEditor * getCellEditor(); + virtual void setCellEditor(::javax::swing::tree::TreeCellEditor *); + virtual ::javax::swing::tree::TreeCellRenderer * getCellRenderer(); + virtual void setCellRenderer(::javax::swing::tree::TreeCellRenderer *); + virtual ::javax::swing::tree::TreeSelectionModel * getSelectionModel(); + virtual void setSelectionModel(::javax::swing::tree::TreeSelectionModel *); + virtual jint getVisibleRowCount(); + virtual void setVisibleRowCount(jint); + virtual jboolean isLargeModel(); + virtual void setLargeModel(jboolean); + virtual jint getRowHeight(); + virtual void setRowHeight(jint); + virtual jboolean isFixedRowHeight(); + virtual jboolean getInvokesStopCellEditing(); + virtual void setInvokesStopCellEditing(jboolean); + virtual jint getToggleClickCount(); + virtual void setToggleClickCount(jint); + virtual void scrollPathToVisible(::javax::swing::tree::TreePath *); + virtual void scrollRowToVisible(jint); + virtual jboolean getScrollsOnExpand(); + virtual void setScrollsOnExpand(jboolean); + virtual void setSelectionPath(::javax::swing::tree::TreePath *); + virtual void setSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); +private: + void clearSelectionPathStates(); +public: + virtual void setSelectionRow(jint); + virtual void setSelectionRows(JArray< jint > *); + virtual void setSelectionInterval(jint, jint); + virtual void addSelectionPath(::javax::swing::tree::TreePath *); + virtual void addSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual void addSelectionRow(jint); + virtual void addSelectionRows(JArray< jint > *); + virtual void addSelectionInterval(jint, jint); + virtual void removeSelectionPath(::javax::swing::tree::TreePath *); + virtual void removeSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual void removeSelectionRow(jint); + virtual void removeSelectionRows(JArray< jint > *); + virtual void removeSelectionInterval(jint, jint); + virtual void clearSelection(); + virtual ::javax::swing::tree::TreePath * getLeadSelectionPath(); + virtual void setLeadSelectionPath(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getAnchorSelectionPath(); + virtual void setAnchorSelectionPath(::javax::swing::tree::TreePath *); + virtual jint getLeadSelectionRow(); + virtual jint getMaxSelectionRow(); + virtual jint getMinSelectionRow(); + virtual jint getSelectionCount(); + virtual ::javax::swing::tree::TreePath * getSelectionPath(); + virtual JArray< ::javax::swing::tree::TreePath * > * getSelectionPaths(); + virtual JArray< jint > * getSelectionRows(); + virtual jboolean isPathSelected(::javax::swing::tree::TreePath *); + virtual jboolean isRowSelected(jint); + virtual jboolean isSelectionEmpty(); + virtual jboolean getDragEnabled(); + virtual void setDragEnabled(jboolean); + virtual jint getRowCount(); + virtual void collapsePath(::javax::swing::tree::TreePath *); + virtual void collapseRow(jint); + virtual void expandPath(::javax::swing::tree::TreePath *); + virtual void expandRow(jint); + virtual jboolean isCollapsed(::javax::swing::tree::TreePath *); + virtual jboolean isCollapsed(jint); + virtual jboolean isExpanded(::javax::swing::tree::TreePath *); + virtual jboolean isExpanded(jint); + virtual jboolean getExpandsSelectedPaths(); + virtual void setExpandsSelectedPaths(jboolean); + virtual ::java::awt::Rectangle * getPathBounds(::javax::swing::tree::TreePath *); + virtual ::java::awt::Rectangle * getRowBounds(jint); + virtual jboolean isEditing(); + virtual jboolean stopEditing(); + virtual void cancelEditing(); + virtual void startEditingAtPath(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getEditingPath(); + virtual ::javax::swing::tree::TreePath * getPathForLocation(jint, jint); + virtual jint getRowForLocation(jint, jint); + virtual ::javax::swing::tree::TreePath * getClosestPathForLocation(jint, jint); + virtual jint getClosestRowForLocation(jint, jint); + virtual ::java::lang::Object * getLastSelectedPathComponent(); +private: + void doExpandParents(::javax::swing::tree::TreePath *, jboolean); +public: // actually protected + virtual void setExpandedState(::javax::swing::tree::TreePath *, jboolean); + virtual void clearToggledPaths(); + virtual ::java::util::Enumeration * getDescendantToggledPaths(::javax::swing::tree::TreePath *); +public: + virtual jboolean hasBeenExpanded(::javax::swing::tree::TreePath *); + virtual jboolean isVisible(::javax::swing::tree::TreePath *); + virtual void makeVisible(::javax::swing::tree::TreePath *); + virtual jboolean isPathEditable(::javax::swing::tree::TreePath *); +public: // actually protected + virtual ::javax::swing::event::TreeModelListener * createTreeModelListener(); + static ::javax::swing::tree::TreeModel * getDefaultTreeModel(); +public: + virtual ::java::lang::String * convertValueToText(::java::lang::Object *, jboolean, jboolean, jboolean, jint, jboolean); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::java::util::Enumeration * getExpandedDescendants(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getNextMatch(::java::lang::String *, jint, ::javax::swing::text::Position$Bias *); +public: // actually protected + virtual jboolean removeDescendantSelectedPaths(::javax::swing::tree::TreePath *, jboolean); + virtual void removeDescendantToggledPaths(::java::util::Enumeration *); +public: + virtual void treeDidChange(); +public: // actually package-private + virtual void setUIProperty(::java::lang::String *, ::java::lang::Object *); +private: + static const jlong serialVersionUID = 7559816092864483649LL; +public: + static ::java::lang::String * CELL_EDITOR_PROPERTY; + static ::java::lang::String * CELL_RENDERER_PROPERTY; + static ::java::lang::String * EDITABLE_PROPERTY; + static ::java::lang::String * INVOKES_STOP_CELL_EDITING_PROPERTY; + static ::java::lang::String * LARGE_MODEL_PROPERTY; + static ::java::lang::String * ROOT_VISIBLE_PROPERTY; + static ::java::lang::String * ROW_HEIGHT_PROPERTY; + static ::java::lang::String * SCROLLS_ON_EXPAND_PROPERTY; + static ::java::lang::String * SELECTION_MODEL_PROPERTY; + static ::java::lang::String * SHOWS_ROOT_HANDLES_PROPERTY; + static ::java::lang::String * TOGGLE_CLICK_COUNT_PROPERTY; + static ::java::lang::String * TREE_MODEL_PROPERTY; + static ::java::lang::String * VISIBLE_ROW_COUNT_PROPERTY; + static ::java::lang::String * ANCHOR_SELECTION_PATH_PROPERTY; + static ::java::lang::String * LEAD_SELECTION_PATH_PROPERTY; + static ::java::lang::String * EXPANDS_SELECTED_PATHS_PROPERTY; +private: + static ::java::lang::Object * EXPANDED; + static ::java::lang::Object * COLLAPSED; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) dragEnabled; + jboolean expandsSelectedPaths; + ::javax::swing::tree::TreePath * anchorSelectionPath; +public: // actually package-private + ::java::util::Hashtable * nodeStates; +public: // actually protected + ::javax::swing::tree::TreeCellEditor * cellEditor; + ::javax::swing::tree::TreeCellRenderer * cellRenderer; + jboolean editable; + jboolean invokesStopCellEditing; + jboolean largeModel; + jboolean rootVisible; + jint rowHeight; + jboolean scrollsOnExpand; + ::javax::swing::tree::TreeSelectionModel * selectionModel; + jboolean showsRootHandles; + jint toggleClickCount; + ::javax::swing::tree::TreeModel * treeModel; + jint visibleRowCount; + ::javax::swing::event::TreeModelListener * treeModelListener; + ::javax::swing::JTree$TreeSelectionRedirector * selectionRedirector; +private: + jboolean clientRowHeightSet; + jboolean clientScrollsOnExpandSet; + jboolean clientShowsRootHandlesSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JTree__ diff --git a/libjava/javax/swing/JViewport$AccessibleJViewport.h b/libjava/javax/swing/JViewport$AccessibleJViewport.h new file mode 100644 index 00000000000..bccdb7f29b1 --- /dev/null +++ b/libjava/javax/swing/JViewport$AccessibleJViewport.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JViewport$AccessibleJViewport__ +#define __javax_swing_JViewport$AccessibleJViewport__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace accessibility + { + class AccessibleRole; + } + namespace swing + { + class JViewport; + class JViewport$AccessibleJViewport; + } + } +} + +class javax::swing::JViewport$AccessibleJViewport : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JViewport$AccessibleJViewport(::javax::swing::JViewport *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); +public: // actually package-private + ::javax::swing::JViewport * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JViewport$AccessibleJViewport__ diff --git a/libjava/javax/swing/JViewport$ViewListener.h b/libjava/javax/swing/JViewport$ViewListener.h new file mode 100644 index 00000000000..a7de943b699 --- /dev/null +++ b/libjava/javax/swing/JViewport$ViewListener.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JViewport$ViewListener__ +#define __javax_swing_JViewport$ViewListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentEvent; + } + } + } + namespace javax + { + namespace swing + { + class JViewport; + class JViewport$ViewListener; + } + } +} + +class javax::swing::JViewport$ViewListener : public ::java::awt::event::ComponentAdapter +{ + +public: // actually protected + JViewport$ViewListener(::javax::swing::JViewport *); +public: + virtual void componentResized(::java::awt::event::ComponentEvent *); +private: + static const jlong serialVersionUID = -2812489404285958070LL; +public: // actually package-private + ::javax::swing::JViewport * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JViewport$ViewListener__ diff --git a/libjava/javax/swing/JViewport.h b/libjava/javax/swing/JViewport.h new file mode 100644 index 00000000000..0ac6b8fbddc --- /dev/null +++ b/libjava/javax/swing/JViewport.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JViewport__ +#define __javax_swing_JViewport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Graphics; + class Image; + class Insets; + class LayoutManager; + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JViewport; + class JViewport$ViewListener; + namespace border + { + class Border; + } + namespace event + { + class ChangeEvent; + class ChangeListener; + } + namespace plaf + { + class ViewportUI; + } + } + } +} + +class javax::swing::JViewport : public ::javax::swing::JComponent +{ + +public: + JViewport(); + virtual ::java::awt::Dimension * getExtentSize(); + virtual ::java::awt::Dimension * toViewCoordinates(::java::awt::Dimension *); + virtual ::java::awt::Point * toViewCoordinates(::java::awt::Point *); + virtual void setExtentSize(::java::awt::Dimension *); + virtual ::java::awt::Dimension * getViewSize(); + virtual void setViewSize(::java::awt::Dimension *); + virtual ::java::awt::Point * getViewPosition(); + virtual void setViewPosition(::java::awt::Point *); + virtual ::java::awt::Rectangle * getViewRect(); + virtual jboolean isBackingStoreEnabled(); + virtual void setBackingStoreEnabled(jboolean); + virtual void setScrollMode(jint); + virtual jint getScrollMode(); + virtual ::java::awt::Component * getView(); + virtual void setView(::java::awt::Component *); + virtual void reshape(jint, jint, jint, jint); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Insets * getInsets(::java::awt::Insets *); + virtual jboolean isOptimizedDrawingEnabled(); + virtual void paint(::java::awt::Graphics *); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); + virtual ::java::lang::String * getUIClassID(); + virtual void updateUI(); + virtual ::javax::swing::plaf::ViewportUI * getUI(); + virtual void setUI(::javax::swing::plaf::ViewportUI *); + virtual void setBorder(::javax::swing::border::Border *); + virtual void scrollRectToVisible(::java::awt::Rectangle *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual void repaint(jlong, jint, jint, jint, jint); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); + virtual void fireStateChanged(); + virtual ::javax::swing::JViewport$ViewListener * createViewListener(); + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual jboolean computeBlit(jint, jint, ::java::awt::Point *, ::java::awt::Point *, ::java::awt::Dimension *, ::java::awt::Rectangle *); +public: // actually package-private + virtual void paintSimple(::java::awt::Graphics *); + virtual void paintBackingStore(::java::awt::Graphics *); + virtual void paintBlit(::java::awt::Graphics *); + virtual void paintImmediately2(jint, jint, jint, jint); + virtual jboolean isPaintRoot(); +public: + static const jint SIMPLE_SCROLL_MODE = 0; + static const jint BLIT_SCROLL_MODE = 1; + static const jint BACKINGSTORE_SCROLL_MODE = 2; +private: + static const jlong serialVersionUID = -6925142919680527970LL; + static jint defaultScrollMode; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) scrollUnderway; + jboolean isViewSizeSet; + jboolean backingStore; + ::java::awt::Image * backingStoreImage; + ::java::awt::Point * lastPaintPosition; +public: // actually package-private + ::javax::swing::event::ChangeEvent * changeEvent; + jint scrollMode; + ::javax::swing::JViewport$ViewListener * viewListener; + ::java::awt::Point * cachedBlitFrom; + ::java::awt::Point * cachedBlitTo; + ::java::awt::Dimension * cachedBlitSize; + ::java::awt::Rectangle * cachedBlitPaint; + jboolean damaged; + jboolean sizeChanged; +private: + jboolean isPaintRoot__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JViewport__ diff --git a/libjava/javax/swing/JWindow$AccessibleJWindow.h b/libjava/javax/swing/JWindow$AccessibleJWindow.h new file mode 100644 index 00000000000..f7aa58a2b9b --- /dev/null +++ b/libjava/javax/swing/JWindow$AccessibleJWindow.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JWindow$AccessibleJWindow__ +#define __javax_swing_JWindow$AccessibleJWindow__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JWindow; + class JWindow$AccessibleJWindow; + } + } +} + +class javax::swing::JWindow$AccessibleJWindow : public ::java::awt::Window$AccessibleAWTWindow +{ + +public: // actually protected + JWindow$AccessibleJWindow(::javax::swing::JWindow *); +public: // actually package-private + ::javax::swing::JWindow * __attribute__((aligned(__alignof__( ::java::awt::Window$AccessibleAWTWindow)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JWindow$AccessibleJWindow__ diff --git a/libjava/javax/swing/JWindow.h b/libjava/javax/swing/JWindow.h new file mode 100644 index 00000000000..89a7ebab7d0 --- /dev/null +++ b/libjava/javax/swing/JWindow.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_JWindow__ +#define __javax_swing_JWindow__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Frame; + class Graphics; + class GraphicsConfiguration; + class LayoutManager; + class Window; + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JLayeredPane; + class JRootPane; + class JWindow; + } + } +} + +class javax::swing::JWindow : public ::java::awt::Window +{ + +public: + JWindow(); + JWindow(::java::awt::GraphicsConfiguration *); + JWindow(::java::awt::Frame *); + JWindow(::java::awt::Window *); + JWindow(::java::awt::Window *, ::java::awt::GraphicsConfiguration *); +public: // actually protected + virtual void windowInit(); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + virtual void setLayout(::java::awt::LayoutManager *); + virtual void setLayeredPane(::javax::swing::JLayeredPane *); + virtual ::javax::swing::JLayeredPane * getLayeredPane(); + virtual ::javax::swing::JRootPane * getRootPane(); +public: // actually protected + virtual void setRootPane(::javax::swing::JRootPane *); + virtual ::javax::swing::JRootPane * createRootPane(); +public: + virtual ::java::awt::Container * getContentPane(); + virtual void setContentPane(::java::awt::Container *); + virtual ::java::awt::Component * getGlassPane(); + virtual void setGlassPane(::java::awt::Component *); +public: // actually protected + virtual void addImpl(::java::awt::Component *, ::java::lang::Object *, jint); +public: + virtual void remove(::java::awt::Component *); +public: // actually protected + virtual jboolean isRootPaneCheckingEnabled(); + virtual void setRootPaneCheckingEnabled(jboolean); +public: + virtual void update(::java::awt::Graphics *); +public: // actually protected + virtual void processKeyEvent(::java::awt::event::KeyEvent *); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually protected + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = 5420698392125238833LL; +public: // actually protected + ::javax::swing::JRootPane * __attribute__((aligned(__alignof__( ::java::awt::Window)))) rootPane; + jboolean rootPaneCheckingEnabled; + ::javax::accessibility::AccessibleContext * accessibleContext; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_JWindow__ diff --git a/libjava/javax/swing/KeyStroke.h b/libjava/javax/swing/KeyStroke.h new file mode 100644 index 00000000000..640225608dc --- /dev/null +++ b/libjava/javax/swing/KeyStroke.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_KeyStroke__ +#define __javax_swing_KeyStroke__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + class KeyStroke; + } + } +} + +class javax::swing::KeyStroke : public ::java::awt::AWTKeyStroke +{ + + KeyStroke(); + KeyStroke(jchar, jint, jint, jboolean); +public: + static ::javax::swing::KeyStroke * getKeyStroke(jchar); + static ::javax::swing::KeyStroke * getKeyStroke(jchar, jboolean); + static ::javax::swing::KeyStroke * getKeyStroke(::java::lang::Character *, jint); + static ::javax::swing::KeyStroke * getKeyStroke(jint, jint, jboolean); + static ::javax::swing::KeyStroke * getKeyStroke(jint, jint); + static ::javax::swing::KeyStroke * getKeyStroke(::java::lang::String *); + static ::javax::swing::KeyStroke * getKeyStrokeForEvent(::java::awt::event::KeyEvent *); +private: + static const jlong serialVersionUID = -9060180771037902530LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_KeyStroke__ diff --git a/libjava/javax/swing/KeyboardManager.h b/libjava/javax/swing/KeyboardManager.h new file mode 100644 index 00000000000..28679e6c28c --- /dev/null +++ b/libjava/javax/swing/KeyboardManager.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_KeyboardManager__ +#define __javax_swing_KeyboardManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + class ComponentInputMap; + class JComponent; + class JMenuBar; + class KeyStroke; + class KeyboardManager; + } + } +} + +class javax::swing::KeyboardManager : public ::java::lang::Object +{ + +public: // actually package-private + KeyboardManager(); +public: + static ::javax::swing::KeyboardManager * getManager(); +public: // actually package-private + static ::java::awt::Container * findTopLevel(::java::awt::Component *); + virtual ::java::util::Hashtable * getHashtableForTopLevel(::java::awt::Container *); +public: + virtual void registerBinding(::javax::swing::JComponent *, ::javax::swing::KeyStroke *); + virtual void clearBindingsForComp(::javax::swing::JComponent *); + virtual void registerEntireMap(::javax::swing::ComponentInputMap *); + virtual jboolean processKeyStroke(::java::awt::Component *, ::javax::swing::KeyStroke *, ::java::awt::event::KeyEvent *); +public: // actually package-private + virtual ::java::util::Vector * getVectorForTopLevel(::java::awt::Container *); +public: + virtual void registerJMenuBar(::javax::swing::JMenuBar *); + virtual void unregisterJMenuBar(::javax::swing::JMenuBar *); +public: // actually package-private + static ::javax::swing::KeyboardManager * manager; + ::java::util::WeakHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) topLevelLookup; + ::java::util::Hashtable * menuBarLookup; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_KeyboardManager__ diff --git a/libjava/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.h b/libjava/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.h new file mode 100644 index 00000000000..5687b1fb258 --- /dev/null +++ b/libjava/javax/swing/LayoutFocusTraversalPolicy$LayoutComparator.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_LayoutFocusTraversalPolicy$LayoutComparator__ +#define __javax_swing_LayoutFocusTraversalPolicy$LayoutComparator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class LayoutFocusTraversalPolicy$LayoutComparator; + } + } +} + +class javax::swing::LayoutFocusTraversalPolicy$LayoutComparator : public ::java::lang::Object +{ + +public: + LayoutFocusTraversalPolicy$LayoutComparator(); + virtual jint compare(::java::lang::Object *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_LayoutFocusTraversalPolicy$LayoutComparator__ diff --git a/libjava/javax/swing/LayoutFocusTraversalPolicy.h b/libjava/javax/swing/LayoutFocusTraversalPolicy.h new file mode 100644 index 00000000000..29883c2217c --- /dev/null +++ b/libjava/javax/swing/LayoutFocusTraversalPolicy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_LayoutFocusTraversalPolicy__ +#define __javax_swing_LayoutFocusTraversalPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class LayoutFocusTraversalPolicy; + } + } +} + +class javax::swing::LayoutFocusTraversalPolicy : public ::javax::swing::SortingFocusTraversalPolicy +{ + +public: + LayoutFocusTraversalPolicy(); +private: + static const jlong serialVersionUID = 4312146927238881442LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_LayoutFocusTraversalPolicy__ diff --git a/libjava/javax/swing/ListCellRenderer.h b/libjava/javax/swing/ListCellRenderer.h new file mode 100644 index 00000000000..324a2184857 --- /dev/null +++ b/libjava/javax/swing/ListCellRenderer.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ListCellRenderer__ +#define __javax_swing_ListCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JList; + class ListCellRenderer; + } + } +} + +class javax::swing::ListCellRenderer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getListCellRendererComponent(::javax::swing::JList *, ::java::lang::Object *, jint, jboolean, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ListCellRenderer__ diff --git a/libjava/javax/swing/ListModel.h b/libjava/javax/swing/ListModel.h new file mode 100644 index 00000000000..73f268f7e67 --- /dev/null +++ b/libjava/javax/swing/ListModel.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ListModel__ +#define __javax_swing_ListModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ListModel; + namespace event + { + class ListDataListener; + } + } + } +} + +class javax::swing::ListModel : public ::java::lang::Object +{ + +public: + virtual jint getSize() = 0; + virtual ::java::lang::Object * getElementAt(jint) = 0; + virtual void addListDataListener(::javax::swing::event::ListDataListener *) = 0; + virtual void removeListDataListener(::javax::swing::event::ListDataListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ListModel__ diff --git a/libjava/javax/swing/ListSelectionModel.h b/libjava/javax/swing/ListSelectionModel.h new file mode 100644 index 00000000000..d7c7363cf12 --- /dev/null +++ b/libjava/javax/swing/ListSelectionModel.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ListSelectionModel__ +#define __javax_swing_ListSelectionModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ListSelectionModel; + namespace event + { + class ListSelectionListener; + } + } + } +} + +class javax::swing::ListSelectionModel : public ::java::lang::Object +{ + +public: + virtual void setSelectionMode(jint) = 0; + virtual jint getSelectionMode() = 0; + virtual void clearSelection() = 0; + virtual jint getMinSelectionIndex() = 0; + virtual jint getMaxSelectionIndex() = 0; + virtual jboolean isSelectedIndex(jint) = 0; + virtual jboolean isSelectionEmpty() = 0; + virtual void setSelectionInterval(jint, jint) = 0; + virtual void addSelectionInterval(jint, jint) = 0; + virtual void removeSelectionInterval(jint, jint) = 0; + virtual void insertIndexInterval(jint, jint, jboolean) = 0; + virtual void removeIndexInterval(jint, jint) = 0; + virtual jint getAnchorSelectionIndex() = 0; + virtual void setAnchorSelectionIndex(jint) = 0; + virtual jint getLeadSelectionIndex() = 0; + virtual void setLeadSelectionIndex(jint) = 0; + virtual void setValueIsAdjusting(jboolean) = 0; + virtual jboolean getValueIsAdjusting() = 0; + virtual void addListSelectionListener(::javax::swing::event::ListSelectionListener *) = 0; + virtual void removeListSelectionListener(::javax::swing::event::ListSelectionListener *) = 0; + static const jint SINGLE_SELECTION = 0; + static const jint SINGLE_INTERVAL_SELECTION = 1; + static const jint MULTIPLE_INTERVAL_SELECTION = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ListSelectionModel__ diff --git a/libjava/javax/swing/LookAndFeel$1.h b/libjava/javax/swing/LookAndFeel$1.h new file mode 100644 index 00000000000..22987e5ec0f --- /dev/null +++ b/libjava/javax/swing/LookAndFeel$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_LookAndFeel$1__ +#define __javax_swing_LookAndFeel$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + class LookAndFeel$1; + class UIDefaults; + } + } +} + +class javax::swing::LookAndFeel$1 : public ::java::lang::Object +{ + +public: // actually package-private + LookAndFeel$1(::java::net::URL *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +private: + ::java::net::URL * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$file; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_LookAndFeel$1__ diff --git a/libjava/javax/swing/LookAndFeel.h b/libjava/javax/swing/LookAndFeel.h new file mode 100644 index 00000000000..1a1fd217760 --- /dev/null +++ b/libjava/javax/swing/LookAndFeel.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_LookAndFeel__ +#define __javax_swing_LookAndFeel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class ComponentInputMap; + class InputMap; + class JComponent; + class LookAndFeel; + class UIDefaults; + namespace text + { + class JTextComponent$KeyBinding; + } + } + } +} + +class javax::swing::LookAndFeel : public ::java::lang::Object +{ + +public: + LookAndFeel(); + virtual ::javax::swing::UIDefaults * getDefaults(); + virtual ::java::lang::String * getDescription() = 0; + static ::java::lang::Object * getDesktopPropertyValue(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::String * getID() = 0; + virtual ::java::lang::String * getName() = 0; + virtual jboolean getSupportsWindowDecorations(); + virtual void initialize(); + static void installBorder(::javax::swing::JComponent *, ::java::lang::String *); + static void installColors(::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::String *); + static void installColorsAndFont(::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual jboolean isNativeLookAndFeel() = 0; + virtual jboolean isSupportedLookAndFeel() = 0; + static void loadKeyBindings(::javax::swing::InputMap *, JArray< ::java::lang::Object * > *); + static ::javax::swing::ComponentInputMap * makeComponentInputMap(::javax::swing::JComponent *, JArray< ::java::lang::Object * > *); + static ::java::lang::Object * makeIcon(::java::lang::Class *, ::java::lang::String *); + static ::javax::swing::InputMap * makeInputMap(JArray< ::java::lang::Object * > *); + static JArray< ::javax::swing::text::JTextComponent$KeyBinding * > * makeKeyBindings(JArray< ::java::lang::Object * > *); + virtual void provideErrorFeedback(::java::awt::Component *); + virtual ::java::lang::String * toString(); + virtual void uninitialize(); + static void uninstallBorder(::javax::swing::JComponent *); + static void installProperty(::javax::swing::JComponent *, ::java::lang::String *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_LookAndFeel__ diff --git a/libjava/javax/swing/MenuElement.h b/libjava/javax/swing/MenuElement.h new file mode 100644 index 00000000000..d48ef967887 --- /dev/null +++ b/libjava/javax/swing/MenuElement.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_MenuElement__ +#define __javax_swing_MenuElement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class MenuElement; + class MenuSelectionManager; + } + } +} + +class javax::swing::MenuElement : public ::java::lang::Object +{ + +public: + virtual void processMouseEvent(::java::awt::event::MouseEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *) = 0; + virtual void processKeyEvent(::java::awt::event::KeyEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *) = 0; + virtual void menuSelectionChanged(jboolean) = 0; + virtual JArray< ::javax::swing::MenuElement * > * getSubElements() = 0; + virtual ::java::awt::Component * getComponent() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_MenuElement__ diff --git a/libjava/javax/swing/MenuSelectionManager.h b/libjava/javax/swing/MenuSelectionManager.h new file mode 100644 index 00000000000..8e3cfa9e9a7 --- /dev/null +++ b/libjava/javax/swing/MenuSelectionManager.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_MenuSelectionManager__ +#define __javax_swing_MenuSelectionManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class MenuElement; + class MenuSelectionManager; + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + } + } +} + +class javax::swing::MenuSelectionManager : public ::java::lang::Object +{ + +public: + MenuSelectionManager(); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); + virtual void clearSelectedPath(); + virtual ::java::awt::Component * componentForPoint(::java::awt::Component *, ::java::awt::Point *); + static ::javax::swing::MenuSelectionManager * defaultManager(); + virtual JArray< ::javax::swing::MenuElement * > * getSelectedPath(); + virtual jboolean isComponentPartOfCurrentMenu(::java::awt::Component *); + virtual void processKeyEvent(::java::awt::event::KeyEvent *); + virtual void processMouseEvent(::java::awt::event::MouseEvent *); + virtual void setSelectedPath(JArray< ::javax::swing::MenuElement * > *); +private: + JArray< ::javax::swing::MenuElement * > * getPath(::java::awt::Component *); +public: // actually protected + ::javax::swing::event::ChangeEvent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) changeEvent; + ::javax::swing::event::EventListenerList * listenerList; +private: + static ::javax::swing::MenuSelectionManager * manager; + ::java::util::Vector * selectedPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_MenuSelectionManager__ diff --git a/libjava/javax/swing/MutableComboBoxModel.h b/libjava/javax/swing/MutableComboBoxModel.h new file mode 100644 index 00000000000..cfc67715280 --- /dev/null +++ b/libjava/javax/swing/MutableComboBoxModel.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_MutableComboBoxModel__ +#define __javax_swing_MutableComboBoxModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class MutableComboBoxModel; + namespace event + { + class ListDataListener; + } + } + } +} + +class javax::swing::MutableComboBoxModel : public ::java::lang::Object +{ + +public: + virtual void addElement(::java::lang::Object *) = 0; + virtual void removeElementAt(jint) = 0; + virtual void insertElementAt(::java::lang::Object *, jint) = 0; + virtual void removeElement(::java::lang::Object *) = 0; + virtual void setSelectedItem(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getSelectedItem() = 0; + virtual jint getSize() = 0; + virtual ::java::lang::Object * getElementAt(jint) = 0; + virtual void addListDataListener(::javax::swing::event::ListDataListener *) = 0; + virtual void removeListDataListener(::javax::swing::event::ListDataListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_MutableComboBoxModel__ diff --git a/libjava/javax/swing/OverlayLayout.h b/libjava/javax/swing/OverlayLayout.h new file mode 100644 index 00000000000..065b35f3b64 --- /dev/null +++ b/libjava/javax/swing/OverlayLayout.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_OverlayLayout__ +#define __javax_swing_OverlayLayout__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + class OverlayLayout; + class SizeRequirements; + } + } +} + +class javax::swing::OverlayLayout : public ::java::lang::Object +{ + +public: + OverlayLayout(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); +private: + void checkRequirements(); + void checkTotalRequirements(); + void checkLayout(); + static const jlong serialVersionUID = 18082829169631543LL; + ::java::awt::Container * __attribute__((aligned(__alignof__( ::java::lang::Object)))) target; + JArray< ::javax::swing::SizeRequirements * > * xChildren; + JArray< ::javax::swing::SizeRequirements * > * yChildren; + ::javax::swing::SizeRequirements * xTotal; + ::javax::swing::SizeRequirements * yTotal; + JArray< jint > * offsetsX; + JArray< jint > * offsetsY; + JArray< jint > * spansX; + JArray< jint > * spansY; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_OverlayLayout__ diff --git a/libjava/javax/swing/Popup$JWindowPopup.h b/libjava/javax/swing/Popup$JWindowPopup.h new file mode 100644 index 00000000000..fd6d60d6721 --- /dev/null +++ b/libjava/javax/swing/Popup$JWindowPopup.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Popup$JWindowPopup__ +#define __javax_swing_Popup$JWindowPopup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JWindow; + class Popup$JWindowPopup; + } + } +} + +class javax::swing::Popup$JWindowPopup : public ::javax::swing::Popup +{ + +public: + Popup$JWindowPopup(::java::awt::Component *, ::java::awt::Component *, jint, jint); + virtual void show(); + virtual void hide(); +public: // actually package-private + ::javax::swing::JWindow * __attribute__((aligned(__alignof__( ::javax::swing::Popup)))) window; +private: + ::java::awt::Component * contents; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Popup$JWindowPopup__ diff --git a/libjava/javax/swing/Popup$LightweightPopup.h b/libjava/javax/swing/Popup$LightweightPopup.h new file mode 100644 index 00000000000..d9b0123af90 --- /dev/null +++ b/libjava/javax/swing/Popup$LightweightPopup.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Popup$LightweightPopup__ +#define __javax_swing_Popup$LightweightPopup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JLayeredPane; + class JPanel; + class Popup$LightweightPopup; + } + } +} + +class javax::swing::Popup$LightweightPopup : public ::javax::swing::Popup +{ + +public: + Popup$LightweightPopup(::java::awt::Component *, ::java::awt::Component *, jint, jint); + virtual void show(); + virtual void hide(); +public: // actually package-private + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::Popup)))) owner; + ::java::awt::Component * contents; + jint x; + jint y; +private: + ::javax::swing::JPanel * panel; + ::javax::swing::JLayeredPane * layeredPane; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Popup$LightweightPopup__ diff --git a/libjava/javax/swing/Popup.h b/libjava/javax/swing/Popup.h new file mode 100644 index 00000000000..8c7f4b1fe69 --- /dev/null +++ b/libjava/javax/swing/Popup.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Popup__ +#define __javax_swing_Popup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Popup; + } + } +} + +class javax::swing::Popup : public ::java::lang::Object +{ + +public: // actually protected + Popup(::java::awt::Component *, ::java::awt::Component *, jint, jint); + Popup(); +public: + virtual void show(); + virtual void hide(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Popup__ diff --git a/libjava/javax/swing/PopupFactory.h b/libjava/javax/swing/PopupFactory.h new file mode 100644 index 00000000000..69f15a72a4a --- /dev/null +++ b/libjava/javax/swing/PopupFactory.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_PopupFactory__ +#define __javax_swing_PopupFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Popup; + class PopupFactory; + } + } +} + +class javax::swing::PopupFactory : public ::java::lang::Object +{ + +public: + PopupFactory(); + static void setSharedInstance(::javax::swing::PopupFactory *); + static ::javax::swing::PopupFactory * getSharedInstance(); + virtual ::javax::swing::Popup * getPopup(::java::awt::Component *, ::java::awt::Component *, jint, jint); +private: + static ::javax::swing::PopupFactory * sharedFactory; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_PopupFactory__ diff --git a/libjava/javax/swing/ProgressMonitor$1.h b/libjava/javax/swing/ProgressMonitor$1.h new file mode 100644 index 00000000000..8537aa4a5e6 --- /dev/null +++ b/libjava/javax/swing/ProgressMonitor$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ProgressMonitor$1__ +#define __javax_swing_ProgressMonitor$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class ProgressMonitor; + class ProgressMonitor$1; + } + } +} + +class javax::swing::ProgressMonitor$1 : public ::java::lang::Object +{ + +public: // actually package-private + ProgressMonitor$1(::javax::swing::ProgressMonitor *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::ProgressMonitor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ProgressMonitor$1__ diff --git a/libjava/javax/swing/ProgressMonitor$TimerListener.h b/libjava/javax/swing/ProgressMonitor$TimerListener.h new file mode 100644 index 00000000000..747fa707d83 --- /dev/null +++ b/libjava/javax/swing/ProgressMonitor$TimerListener.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ProgressMonitor$TimerListener__ +#define __javax_swing_ProgressMonitor$TimerListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class ProgressMonitor; + class ProgressMonitor$TimerListener; + } + } +} + +class javax::swing::ProgressMonitor$TimerListener : public ::java::lang::Object +{ + +public: // actually package-private + ProgressMonitor$TimerListener(::javax::swing::ProgressMonitor *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) timestamp; + jint lastProgress; + jboolean first; + ::javax::swing::ProgressMonitor * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ProgressMonitor$TimerListener__ diff --git a/libjava/javax/swing/ProgressMonitor.h b/libjava/javax/swing/ProgressMonitor.h new file mode 100644 index 00000000000..6f5b072b67f --- /dev/null +++ b/libjava/javax/swing/ProgressMonitor.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ProgressMonitor__ +#define __javax_swing_ProgressMonitor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JDialog; + class JLabel; + class JProgressBar; + class ProgressMonitor; + class Timer; + } + } +} + +class javax::swing::ProgressMonitor : public ::java::lang::Object +{ + +public: + ProgressMonitor(::java::awt::Component *, ::java::lang::Object *, ::java::lang::String *, jint, jint); + virtual void close(); + virtual void setProgress(jint); + virtual jint getMinimum(); + virtual void setMinimum(jint); + virtual jint getMaximum(); + virtual void setMaximum(jint); + virtual jboolean isCanceled(); + virtual jint getMillisToDecideToPopup(); + virtual void setMillisToDecideToPopup(jint); + virtual jint getMillisToPopup(); + virtual void setMillisToPopup(jint); + virtual ::java::lang::String * getNote(); + virtual void setNote(::java::lang::String *); +public: // actually package-private + virtual void createDialog(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); +public: // actually protected + ::javax::accessibility::AccessibleContext * __attribute__((aligned(__alignof__( ::java::lang::Object)))) accessibleContext; +public: // actually package-private + ::java::awt::Component * component; + ::java::lang::String * note; + ::java::lang::Object * message; + jint millisToDecideToPopup; + jint millisToPopup; + jint min; + jint max; + jint progress; + ::javax::swing::JProgressBar * progressBar; + ::javax::swing::JLabel * noteLabel; + ::javax::swing::JDialog * progressDialog; + ::javax::swing::Timer * timer; + jboolean canceled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ProgressMonitor__ diff --git a/libjava/javax/swing/ProgressMonitorInputStream.h b/libjava/javax/swing/ProgressMonitorInputStream.h new file mode 100644 index 00000000000..2f4f555b8a9 --- /dev/null +++ b/libjava/javax/swing/ProgressMonitorInputStream.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ProgressMonitorInputStream__ +#define __javax_swing_ProgressMonitorInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class ProgressMonitor; + class ProgressMonitorInputStream; + } + } +} + +class javax::swing::ProgressMonitorInputStream : public ::java::io::FilterInputStream +{ + +public: + ProgressMonitorInputStream(::java::awt::Component *, ::java::lang::Object *, ::java::io::InputStream *); + virtual void reset(); + virtual jint read(); + virtual jint read(JArray< jbyte > *); + virtual jint read(JArray< jbyte > *, jint, jint); + virtual jlong skip(jlong); + virtual void close(); + virtual ::javax::swing::ProgressMonitor * getProgressMonitor(); +private: + void checkMonitorCanceled(); + ::javax::swing::ProgressMonitor * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) monitor; + jint read__; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ProgressMonitorInputStream__ diff --git a/libjava/javax/swing/Renderer.h b/libjava/javax/swing/Renderer.h new file mode 100644 index 00000000000..de6ca6c72d7 --- /dev/null +++ b/libjava/javax/swing/Renderer.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Renderer__ +#define __javax_swing_Renderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Renderer; + } + } +} + +class javax::swing::Renderer : public ::java::lang::Object +{ + +public: + virtual void setValue(::java::lang::Object *, jboolean) = 0; + virtual ::java::awt::Component * getComponent() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_Renderer__ diff --git a/libjava/javax/swing/RepaintManager$RepaintWorker.h b/libjava/javax/swing/RepaintManager$RepaintWorker.h new file mode 100644 index 00000000000..ba38b995dea --- /dev/null +++ b/libjava/javax/swing/RepaintManager$RepaintWorker.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_RepaintManager$RepaintWorker__ +#define __javax_swing_RepaintManager$RepaintWorker__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class RepaintManager; + class RepaintManager$RepaintWorker; + } + } +} + +class javax::swing::RepaintManager$RepaintWorker : public ::java::lang::Object +{ + +public: + RepaintManager$RepaintWorker(::javax::swing::RepaintManager *); + virtual void setLive(jboolean); + virtual jboolean isLive(); + virtual void run(); +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) live; + ::javax::swing::RepaintManager * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_RepaintManager$RepaintWorker__ diff --git a/libjava/javax/swing/RepaintManager$RepaintWorkerEvent.h b/libjava/javax/swing/RepaintManager$RepaintWorkerEvent.h new file mode 100644 index 00000000000..7b68871bd36 --- /dev/null +++ b/libjava/javax/swing/RepaintManager$RepaintWorkerEvent.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_RepaintManager$RepaintWorkerEvent__ +#define __javax_swing_RepaintManager$RepaintWorkerEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class RepaintManager$RepaintWorkerEvent; + } + } +} + +class javax::swing::RepaintManager$RepaintWorkerEvent : public ::java::awt::event::InvocationEvent +{ + +public: + RepaintManager$RepaintWorkerEvent(::java::lang::Object *, ::java::lang::Runnable *, ::java::lang::Object *, jboolean); + virtual void dispatch(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_RepaintManager$RepaintWorkerEvent__ diff --git a/libjava/javax/swing/RepaintManager.h b/libjava/javax/swing/RepaintManager.h new file mode 100644 index 00000000000..c599a47cc79 --- /dev/null +++ b/libjava/javax/swing/RepaintManager.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_RepaintManager__ +#define __javax_swing_RepaintManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Image; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class RepaintManager; + class RepaintManager$RepaintWorker; + } + } +} + +class javax::swing::RepaintManager : public ::java::lang::Object +{ + +public: + RepaintManager(); + static ::javax::swing::RepaintManager * currentManager(::java::awt::Component *); + static ::javax::swing::RepaintManager * currentManager(::javax::swing::JComponent *); + static void setCurrentManager(::javax::swing::RepaintManager *); + virtual void addInvalidComponent(::javax::swing::JComponent *); + virtual void removeInvalidComponent(::javax::swing::JComponent *); + virtual void addDirtyRegion(::javax::swing::JComponent *, jint, jint, jint, jint); + virtual ::java::awt::Rectangle * getDirtyRegion(::javax::swing::JComponent *); + virtual void markCompletelyDirty(::javax::swing::JComponent *); + virtual void markCompletelyClean(::javax::swing::JComponent *); + virtual jboolean isCompletelyDirty(::javax::swing::JComponent *); + virtual void validateInvalidComponents(); + virtual void paintDirtyRegions(); +private: + void compileRepaintRoots(::java::util::HashMap *, ::javax::swing::JComponent *, ::java::util::HashSet *); +public: + virtual ::java::awt::Image * getOffscreenBuffer(::java::awt::Component *, jint, jint); +public: // actually package-private + virtual void commitBuffer(::java::awt::Component *, jint, jint, jint, jint); +public: + virtual ::java::awt::Image * getVolatileOffscreenBuffer(::java::awt::Component *, jint, jint); + virtual ::java::awt::Dimension * getDoubleBufferMaximumSize(); + virtual void setDoubleBufferMaximumSize(::java::awt::Dimension *); + virtual void setDoubleBufferingEnabled(jboolean); + virtual jboolean isDoubleBufferingEnabled(); + virtual ::java::lang::String * toString(); +private: + void invokeLater(::java::lang::Runnable *); +public: // actually package-private + static ::java::util::WeakHashMap * currentRepaintManagers; +private: + static ::java::awt::Rectangle * rectCache; + ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dirtyComponents; + ::java::util::HashMap * dirtyComponentsWork; + ::javax::swing::RepaintManager$RepaintWorker * repaintWorker; + ::java::util::ArrayList * invalidComponents; + jboolean doubleBufferingEnabled; + ::java::util::WeakHashMap * offscreenBuffers; + ::java::awt::Dimension * doubleBufferMaximumSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_RepaintManager__ diff --git a/libjava/javax/swing/RootPaneContainer.h b/libjava/javax/swing/RootPaneContainer.h new file mode 100644 index 00000000000..9318d8bc174 --- /dev/null +++ b/libjava/javax/swing/RootPaneContainer.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_RootPaneContainer__ +#define __javax_swing_RootPaneContainer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + } + } + namespace javax + { + namespace swing + { + class JLayeredPane; + class JRootPane; + class RootPaneContainer; + } + } +} + +class javax::swing::RootPaneContainer : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::JRootPane * getRootPane() = 0; + virtual void setContentPane(::java::awt::Container *) = 0; + virtual ::java::awt::Container * getContentPane() = 0; + virtual void setLayeredPane(::javax::swing::JLayeredPane *) = 0; + virtual ::javax::swing::JLayeredPane * getLayeredPane() = 0; + virtual void setGlassPane(::java::awt::Component *) = 0; + virtual ::java::awt::Component * getGlassPane() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_RootPaneContainer__ diff --git a/libjava/javax/swing/ScrollPaneConstants.h b/libjava/javax/swing/ScrollPaneConstants.h new file mode 100644 index 00000000000..830a49f0229 --- /dev/null +++ b/libjava/javax/swing/ScrollPaneConstants.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ScrollPaneConstants__ +#define __javax_swing_ScrollPaneConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ScrollPaneConstants; + } + } +} + +class javax::swing::ScrollPaneConstants : public ::java::lang::Object +{ + +public: + static ::java::lang::String * VIEWPORT; + static ::java::lang::String * VERTICAL_SCROLLBAR; + static ::java::lang::String * HORIZONTAL_SCROLLBAR; + static ::java::lang::String * ROW_HEADER; + static ::java::lang::String * COLUMN_HEADER; + static ::java::lang::String * LOWER_LEFT_CORNER; + static ::java::lang::String * LOWER_RIGHT_CORNER; + static ::java::lang::String * UPPER_LEFT_CORNER; + static ::java::lang::String * UPPER_RIGHT_CORNER; + static ::java::lang::String * LOWER_LEADING_CORNER; + static ::java::lang::String * LOWER_TRAILING_CORNER; + static ::java::lang::String * UPPER_LEADING_CORNER; + static ::java::lang::String * UPPER_TRAILING_CORNER; + static ::java::lang::String * VERTICAL_SCROLLBAR_POLICY; + static ::java::lang::String * HORIZONTAL_SCROLLBAR_POLICY; + static const jint VERTICAL_SCROLLBAR_AS_NEEDED = 20; + static const jint VERTICAL_SCROLLBAR_NEVER = 21; + static const jint VERTICAL_SCROLLBAR_ALWAYS = 22; + static const jint HORIZONTAL_SCROLLBAR_AS_NEEDED = 30; + static const jint HORIZONTAL_SCROLLBAR_NEVER = 31; + static const jint HORIZONTAL_SCROLLBAR_ALWAYS = 32; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_ScrollPaneConstants__ diff --git a/libjava/javax/swing/ScrollPaneLayout$UIResource.h b/libjava/javax/swing/ScrollPaneLayout$UIResource.h new file mode 100644 index 00000000000..24c0fab6487 --- /dev/null +++ b/libjava/javax/swing/ScrollPaneLayout$UIResource.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ScrollPaneLayout$UIResource__ +#define __javax_swing_ScrollPaneLayout$UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class ScrollPaneLayout$UIResource; + } + } +} + +class javax::swing::ScrollPaneLayout$UIResource : public ::javax::swing::ScrollPaneLayout +{ + +public: + ScrollPaneLayout$UIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ScrollPaneLayout$UIResource__ diff --git a/libjava/javax/swing/ScrollPaneLayout.h b/libjava/javax/swing/ScrollPaneLayout.h new file mode 100644 index 00000000000..d0fe8178019 --- /dev/null +++ b/libjava/javax/swing/ScrollPaneLayout.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ScrollPaneLayout__ +#define __javax_swing_ScrollPaneLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JScrollBar; + class JScrollPane; + class JViewport; + class ScrollPaneLayout; + } + } +} + +class javax::swing::ScrollPaneLayout : public ::java::lang::Object +{ + +public: + ScrollPaneLayout(); + virtual void syncWithScrollPane(::javax::swing::JScrollPane *); +public: // actually protected + virtual ::java::awt::Component * addSingletonComponent(::java::awt::Component *, ::java::awt::Component *); +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual jint getVerticalScrollBarPolicy(); + virtual void setVerticalScrollBarPolicy(jint); + virtual jint getHorizontalScrollBarPolicy(); + virtual void setHorizontalScrollBarPolicy(jint); + virtual ::javax::swing::JViewport * getViewport(); + virtual ::javax::swing::JScrollBar * getHorizontalScrollBar(); + virtual ::javax::swing::JScrollBar * getVerticalScrollBar(); + virtual ::javax::swing::JViewport * getRowHeader(); + virtual ::javax::swing::JViewport * getColumnHeader(); + virtual ::java::awt::Component * getCorner(::java::lang::String *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Rectangle * getViewportBorderBounds(::javax::swing::JScrollPane *); +private: + static const jlong serialVersionUID = -4480022884523193743LL; +public: // actually protected + ::javax::swing::JViewport * __attribute__((aligned(__alignof__( ::java::lang::Object)))) viewport; + ::javax::swing::JScrollBar * vsb; + ::javax::swing::JScrollBar * hsb; + ::javax::swing::JViewport * rowHead; + ::javax::swing::JViewport * colHead; + ::java::awt::Component * lowerLeft; + ::java::awt::Component * lowerRight; + ::java::awt::Component * upperLeft; + ::java::awt::Component * upperRight; + jint vsbPolicy; + jint hsbPolicy; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ScrollPaneLayout__ diff --git a/libjava/javax/swing/Scrollable.h b/libjava/javax/swing/Scrollable.h new file mode 100644 index 00000000000..7030c9265f7 --- /dev/null +++ b/libjava/javax/swing/Scrollable.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Scrollable__ +#define __javax_swing_Scrollable__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class Scrollable; + } + } +} + +class javax::swing::Scrollable : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Dimension * getPreferredScrollableViewportSize() = 0; + virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint) = 0; + virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint) = 0; + virtual jboolean getScrollableTracksViewportWidth() = 0; + virtual jboolean getScrollableTracksViewportHeight() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_Scrollable__ diff --git a/libjava/javax/swing/SingleSelectionModel.h b/libjava/javax/swing/SingleSelectionModel.h new file mode 100644 index 00000000000..f8120e1116a --- /dev/null +++ b/libjava/javax/swing/SingleSelectionModel.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SingleSelectionModel__ +#define __javax_swing_SingleSelectionModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SingleSelectionModel; + namespace event + { + class ChangeListener; + } + } + } +} + +class javax::swing::SingleSelectionModel : public ::java::lang::Object +{ + +public: + virtual jint getSelectedIndex() = 0; + virtual void setSelectedIndex(jint) = 0; + virtual void clearSelection() = 0; + virtual jboolean isSelected() = 0; + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_SingleSelectionModel__ diff --git a/libjava/javax/swing/SizeRequirements.h b/libjava/javax/swing/SizeRequirements.h new file mode 100644 index 00000000000..7a9672a77a7 --- /dev/null +++ b/libjava/javax/swing/SizeRequirements.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SizeRequirements__ +#define __javax_swing_SizeRequirements__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class SizeRequirements; + } + } +} + +class javax::swing::SizeRequirements : public ::java::lang::Object +{ + +public: + SizeRequirements(); + SizeRequirements(jint, jint, jint, jfloat); + virtual ::java::lang::String * toString(); + static ::javax::swing::SizeRequirements * getTiledSizeRequirements(JArray< ::javax::swing::SizeRequirements * > *); + static ::javax::swing::SizeRequirements * getAlignedSizeRequirements(JArray< ::javax::swing::SizeRequirements * > *); + static void calculateTiledPositions(jint, ::javax::swing::SizeRequirements *, JArray< ::javax::swing::SizeRequirements * > *, JArray< jint > *, JArray< jint > *); + static void calculateTiledPositions(jint, ::javax::swing::SizeRequirements *, JArray< ::javax::swing::SizeRequirements * > *, JArray< jint > *, JArray< jint > *, jboolean); +private: + static void adjustSmaller(jint, JArray< ::javax::swing::SizeRequirements * > *, JArray< jint > *, jint); + static void adjustGreater(jint, JArray< ::javax::swing::SizeRequirements * > *, JArray< jint > *, jint); +public: + static void calculateAlignedPositions(jint, ::javax::swing::SizeRequirements *, JArray< ::javax::swing::SizeRequirements * > *, JArray< jint > *, JArray< jint > *); + static void calculateAlignedPositions(jint, ::javax::swing::SizeRequirements *, JArray< ::javax::swing::SizeRequirements * > *, JArray< jint > *, JArray< jint > *, jboolean); +private: + static void adjustFromRight(::javax::swing::SizeRequirements *, jfloat, jint, JArray< jint > *); + static void adjustFromLeft(::javax::swing::SizeRequirements *, jfloat, jint, JArray< jint > *); +public: + static JArray< jint > * adjustSizes(jint, JArray< ::javax::swing::SizeRequirements * > *); +private: + static const jlong serialVersionUID = 9217749429906736553LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) minimum; + jint preferred; + jint maximum; + jfloat alignment; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SizeRequirements__ diff --git a/libjava/javax/swing/SizeSequence.h b/libjava/javax/swing/SizeSequence.h new file mode 100644 index 00000000000..8bae12cf6af --- /dev/null +++ b/libjava/javax/swing/SizeSequence.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SizeSequence__ +#define __javax_swing_SizeSequence__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class SizeSequence; + } + } +} + +class javax::swing::SizeSequence : public ::java::lang::Object +{ + +public: + SizeSequence(); + SizeSequence(jint); + SizeSequence(jint, jint); + SizeSequence(JArray< jint > *); + virtual void setSize(jint, jint); + virtual jint getIndex(jint); + virtual jint getSize(jint); + virtual void setSizes(JArray< jint > *); + virtual JArray< jint > * getSizes(); + virtual jint getPosition(jint); + virtual void insertEntries(jint, jint, jint); + virtual void removeEntries(jint, jint); +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sizes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SizeSequence__ diff --git a/libjava/javax/swing/SortingFocusTraversalPolicy.h b/libjava/javax/swing/SortingFocusTraversalPolicy.h new file mode 100644 index 00000000000..fc3d570b66f --- /dev/null +++ b/libjava/javax/swing/SortingFocusTraversalPolicy.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SortingFocusTraversalPolicy__ +#define __javax_swing_SortingFocusTraversalPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + } + } + namespace javax + { + namespace swing + { + class SortingFocusTraversalPolicy; + } + } +} + +class javax::swing::SortingFocusTraversalPolicy : public ::javax::swing::InternalFrameFocusTraversalPolicy +{ + +public: // actually protected + SortingFocusTraversalPolicy(); +public: + SortingFocusTraversalPolicy(::java::util::Comparator *); +public: // actually protected + virtual jboolean accept(::java::awt::Component *); + virtual ::java::util::Comparator * getComparator(); + virtual void setComparator(::java::util::Comparator *); +private: + ::java::util::TreeSet * getSortedCycle(::java::awt::Container *, ::java::util::TreeSet *); +public: + virtual ::java::awt::Component * getComponentAfter(::java::awt::Container *, ::java::awt::Component *); + virtual ::java::awt::Component * getComponentBefore(::java::awt::Container *, ::java::awt::Component *); + virtual ::java::awt::Component * getDefaultComponent(::java::awt::Container *); + virtual ::java::awt::Component * getFirstComponent(::java::awt::Container *); + virtual ::java::awt::Component * getLastComponent(::java::awt::Container *); + virtual jboolean getImplicitDownCycleTraversal(); + virtual void setImplicitDownCycleTraversal(jboolean); +public: // actually package-private + ::java::util::Comparator * __attribute__((aligned(__alignof__( ::javax::swing::InternalFrameFocusTraversalPolicy)))) comparator; + jboolean implicitDownCycleTraversal; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SortingFocusTraversalPolicy__ diff --git a/libjava/javax/swing/SpinnerDateModel.h b/libjava/javax/swing/SpinnerDateModel.h new file mode 100644 index 00000000000..ae25fbe4c82 --- /dev/null +++ b/libjava/javax/swing/SpinnerDateModel.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpinnerDateModel__ +#define __javax_swing_SpinnerDateModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SpinnerDateModel; + } + } +} + +class javax::swing::SpinnerDateModel : public ::javax::swing::AbstractSpinnerModel +{ + +public: + SpinnerDateModel(); + SpinnerDateModel(::java::util::Date *, ::java::lang::Comparable *, ::java::lang::Comparable *, jint); + virtual jint getCalendarField(); + virtual ::java::util::Date * getDate(); + virtual ::java::lang::Comparable * getStart(); + virtual ::java::lang::Comparable * getEnd(); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::Object * getNextValue(); + virtual ::java::lang::Object * getPreviousValue(); + virtual void setCalendarField(jint); + virtual void setStart(::java::lang::Comparable *); + virtual void setEnd(::java::lang::Comparable *); + virtual void setValue(::java::lang::Object *); +private: + ::java::util::Calendar * __attribute__((aligned(__alignof__( ::javax::swing::AbstractSpinnerModel)))) date; + ::java::lang::Comparable * start; + ::java::lang::Comparable * end; + jint calendarField; + static const jlong serialVersionUID = -4802518107105940612LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpinnerDateModel__ diff --git a/libjava/javax/swing/SpinnerListModel.h b/libjava/javax/swing/SpinnerListModel.h new file mode 100644 index 00000000000..b5a65939ede --- /dev/null +++ b/libjava/javax/swing/SpinnerListModel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpinnerListModel__ +#define __javax_swing_SpinnerListModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class SpinnerListModel; + } + } +} + +class javax::swing::SpinnerListModel : public ::javax::swing::AbstractSpinnerModel +{ + +public: + SpinnerListModel(); + SpinnerListModel(::java::util::List *); + SpinnerListModel(JArray< ::java::lang::Object * > *); + virtual ::java::util::List * getList(); + virtual ::java::lang::Object * getNextValue(); + virtual ::java::lang::Object * getPreviousValue(); + virtual ::java::lang::Object * getValue(); + virtual void setList(::java::util::List *); + virtual void setValue(::java::lang::Object *); +private: + static const jlong serialVersionUID = 3358804052191994516LL; + ::java::util::List * __attribute__((aligned(__alignof__( ::javax::swing::AbstractSpinnerModel)))) list; + jint index; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpinnerListModel__ diff --git a/libjava/javax/swing/SpinnerModel.h b/libjava/javax/swing/SpinnerModel.h new file mode 100644 index 00000000000..c762ac64a68 --- /dev/null +++ b/libjava/javax/swing/SpinnerModel.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpinnerModel__ +#define __javax_swing_SpinnerModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SpinnerModel; + namespace event + { + class ChangeListener; + } + } + } +} + +class javax::swing::SpinnerModel : public ::java::lang::Object +{ + +public: + virtual void setValue(::java::lang::Object *) = 0; + virtual ::java::lang::Object * getValue() = 0; + virtual ::java::lang::Object * getNextValue() = 0; + virtual ::java::lang::Object * getPreviousValue() = 0; + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_SpinnerModel__ diff --git a/libjava/javax/swing/SpinnerNumberModel.h b/libjava/javax/swing/SpinnerNumberModel.h new file mode 100644 index 00000000000..185205472f8 --- /dev/null +++ b/libjava/javax/swing/SpinnerNumberModel.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpinnerNumberModel__ +#define __javax_swing_SpinnerNumberModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SpinnerNumberModel; + } + } +} + +class javax::swing::SpinnerNumberModel : public ::javax::swing::AbstractSpinnerModel +{ + +public: + SpinnerNumberModel(); + SpinnerNumberModel(jdouble, jdouble, jdouble, jdouble); + SpinnerNumberModel(jint, jint, jint, jint); + SpinnerNumberModel(::java::lang::Number *, ::java::lang::Comparable *, ::java::lang::Comparable *, ::java::lang::Number *); + virtual void setValue(::java::lang::Object *); + virtual ::java::lang::Object * getValue(); + virtual ::java::lang::Object * getNextValue(); + virtual ::java::lang::Object * getPreviousValue(); + virtual ::java::lang::Number * getNumber(); + virtual ::java::lang::Comparable * getMinimum(); + virtual void setMinimum(::java::lang::Comparable *); + virtual ::java::lang::Comparable * getMaximum(); + virtual void setMaximum(::java::lang::Comparable *); + virtual ::java::lang::Number * getStepSize(); + virtual void setStepSize(::java::lang::Number *); +private: + static const jlong serialVersionUID = 7279176385485777821LL; + ::java::lang::Number * __attribute__((aligned(__alignof__( ::javax::swing::AbstractSpinnerModel)))) value; + ::java::lang::Comparable * minimum; + ::java::lang::Comparable * maximum; + ::java::lang::Number * stepSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpinnerNumberModel__ diff --git a/libjava/javax/swing/Spring$1.h b/libjava/javax/swing/Spring$1.h new file mode 100644 index 00000000000..22d14adf409 --- /dev/null +++ b/libjava/javax/swing/Spring$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$1__ +#define __javax_swing_Spring$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Spring; + class Spring$1; + } + } +} + +class javax::swing::Spring$1 : public ::javax::swing::Spring +{ + +public: // actually package-private + Spring$1(jfloat, ::javax::swing::Spring *); +public: + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + jfloat __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) val$factor; + ::javax::swing::Spring * val$spring; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$1__ diff --git a/libjava/javax/swing/Spring$2.h b/libjava/javax/swing/Spring$2.h new file mode 100644 index 00000000000..14fdf5899e4 --- /dev/null +++ b/libjava/javax/swing/Spring$2.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$2__ +#define __javax_swing_Spring$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Spring$2; + } + } +} + +class javax::swing::Spring$2 : public ::javax::swing::Spring +{ + +public: // actually package-private + Spring$2(::java::awt::Component *); +public: + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) val$component; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$2__ diff --git a/libjava/javax/swing/Spring$3.h b/libjava/javax/swing/Spring$3.h new file mode 100644 index 00000000000..30934e64ad6 --- /dev/null +++ b/libjava/javax/swing/Spring$3.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$3__ +#define __javax_swing_Spring$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Spring$3; + } + } +} + +class javax::swing::Spring$3 : public ::javax::swing::Spring +{ + +public: // actually package-private + Spring$3(::java::awt::Component *); +public: + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) val$component; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$3__ diff --git a/libjava/javax/swing/Spring$AddSpring.h b/libjava/javax/swing/Spring$AddSpring.h new file mode 100644 index 00000000000..9c455fead45 --- /dev/null +++ b/libjava/javax/swing/Spring$AddSpring.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$AddSpring__ +#define __javax_swing_Spring$AddSpring__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Spring; + class Spring$AddSpring; + } + } +} + +class javax::swing::Spring$AddSpring : public ::javax::swing::Spring +{ + +public: + ::java::lang::String * toString(); +public: // actually protected + Spring$AddSpring(::javax::swing::Spring *, ::javax::swing::Spring *); +public: + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + ::javax::swing::Spring * __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) s1; + ::javax::swing::Spring * s2; + jint value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$AddSpring__ diff --git a/libjava/javax/swing/Spring$MaxSpring.h b/libjava/javax/swing/Spring$MaxSpring.h new file mode 100644 index 00000000000..c3272b2ce78 --- /dev/null +++ b/libjava/javax/swing/Spring$MaxSpring.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$MaxSpring__ +#define __javax_swing_Spring$MaxSpring__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Spring; + class Spring$MaxSpring; + } + } +} + +class javax::swing::Spring$MaxSpring : public ::javax::swing::Spring +{ + +public: + ::java::lang::String * toString(); +public: // actually protected + Spring$MaxSpring(::javax::swing::Spring *, ::javax::swing::Spring *); +public: + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + ::javax::swing::Spring * __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) s1; + ::javax::swing::Spring * s2; + jint value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$MaxSpring__ diff --git a/libjava/javax/swing/Spring$MinusSpring.h b/libjava/javax/swing/Spring$MinusSpring.h new file mode 100644 index 00000000000..7b74f661301 --- /dev/null +++ b/libjava/javax/swing/Spring$MinusSpring.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$MinusSpring__ +#define __javax_swing_Spring$MinusSpring__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Spring; + class Spring$MinusSpring; + } + } +} + +class javax::swing::Spring$MinusSpring : public ::javax::swing::Spring +{ + +public: + ::java::lang::String * toString(); +public: // actually protected + Spring$MinusSpring(::javax::swing::Spring *); +public: + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + ::javax::swing::Spring * __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) s; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$MinusSpring__ diff --git a/libjava/javax/swing/Spring$SimpleSpring.h b/libjava/javax/swing/Spring$SimpleSpring.h new file mode 100644 index 00000000000..b28437cca0f --- /dev/null +++ b/libjava/javax/swing/Spring$SimpleSpring.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring$SimpleSpring__ +#define __javax_swing_Spring$SimpleSpring__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Spring$SimpleSpring; + } + } +} + +class javax::swing::Spring$SimpleSpring : public ::javax::swing::Spring +{ + +public: + ::java::lang::String * toString(); + Spring$SimpleSpring(jint, jint, jint); + jint getMaximumValue(); + jint getMinimumValue(); + jint getPreferredValue(); + jint getValue(); + void setValue(jint); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) min; + jint pref; + jint max; + jint value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring$SimpleSpring__ diff --git a/libjava/javax/swing/Spring.h b/libjava/javax/swing/Spring.h new file mode 100644 index 00000000000..9459f630f8e --- /dev/null +++ b/libjava/javax/swing/Spring.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Spring__ +#define __javax_swing_Spring__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Spring; + } + } +} + +class javax::swing::Spring : public ::java::lang::Object +{ + +public: // actually protected + Spring(); +public: + static ::javax::swing::Spring * constant(jint); + static ::javax::swing::Spring * constant(jint, jint, jint); + virtual jint getMaximumValue() = 0; + virtual jint getMinimumValue() = 0; + virtual jint getPreferredValue() = 0; + virtual jint getValue() = 0; + static ::javax::swing::Spring * max(::javax::swing::Spring *, ::javax::swing::Spring *); + static ::javax::swing::Spring * minus(::javax::swing::Spring *); + virtual void setValue(jint) = 0; +private: + jint getShrinkRange(); + jint getExpandRange(); +public: // actually package-private + virtual jdouble getStrain(); + virtual void setStrain(jdouble); +public: + static ::javax::swing::Spring * sum(::javax::swing::Spring *, ::javax::swing::Spring *); + static ::javax::swing::Spring * scale(::javax::swing::Spring *, jfloat); + static ::javax::swing::Spring * width(::java::awt::Component *); + static ::javax::swing::Spring * height(::java::awt::Component *); + static const jint UNSET = -2147483647 - 1; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Spring__ diff --git a/libjava/javax/swing/SpringLayout$Constraints.h b/libjava/javax/swing/SpringLayout$Constraints.h new file mode 100644 index 00000000000..200318910d6 --- /dev/null +++ b/libjava/javax/swing/SpringLayout$Constraints.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpringLayout$Constraints__ +#define __javax_swing_SpringLayout$Constraints__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Spring; + class SpringLayout$Constraints; + } + } +} + +class javax::swing::SpringLayout$Constraints : public ::java::lang::Object +{ + +public: + SpringLayout$Constraints(); + SpringLayout$Constraints(::javax::swing::Spring *, ::javax::swing::Spring *); + SpringLayout$Constraints(::javax::swing::Spring *, ::javax::swing::Spring *, ::javax::swing::Spring *, ::javax::swing::Spring *); + SpringLayout$Constraints(::java::awt::Component *); + virtual ::javax::swing::Spring * getConstraint(::java::lang::String *); + virtual ::javax::swing::Spring * getHeight(); + virtual ::javax::swing::Spring * getWidth(); + virtual ::javax::swing::Spring * getX(); + virtual ::javax::swing::Spring * getY(); + virtual ::javax::swing::Spring * getSouth(); + virtual ::javax::swing::Spring * getEast(); + virtual void setConstraint(::java::lang::String *, ::javax::swing::Spring *); + virtual void setHeight(::javax::swing::Spring *); + virtual void setWidth(::javax::swing::Spring *); + virtual void setX(::javax::swing::Spring *); + virtual void setY(::javax::swing::Spring *); + virtual void setSouth(::javax::swing::Spring *); + virtual void setEast(::javax::swing::Spring *); + virtual void dropCalcResult(); +private: + ::javax::swing::Spring * __attribute__((aligned(__alignof__( ::java::lang::Object)))) x; + ::javax::swing::Spring * y; + ::javax::swing::Spring * height; + ::javax::swing::Spring * width; + ::javax::swing::Spring * east; + ::javax::swing::Spring * south; + ::javax::swing::Spring * v; + ::javax::swing::Spring * h; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpringLayout$Constraints__ diff --git a/libjava/javax/swing/SpringLayout$DeferredDimension.h b/libjava/javax/swing/SpringLayout$DeferredDimension.h new file mode 100644 index 00000000000..0d72960b284 --- /dev/null +++ b/libjava/javax/swing/SpringLayout$DeferredDimension.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpringLayout$DeferredDimension__ +#define __javax_swing_SpringLayout$DeferredDimension__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SpringLayout$DeferredDimension; + } + } +} + +class javax::swing::SpringLayout$DeferredDimension : public ::javax::swing::Spring +{ + +public: + SpringLayout$DeferredDimension(); + virtual void setValue(jint); + virtual jint getValue(); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) value; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpringLayout$DeferredDimension__ diff --git a/libjava/javax/swing/SpringLayout$DeferredHeight.h b/libjava/javax/swing/SpringLayout$DeferredHeight.h new file mode 100644 index 00000000000..c08de85b630 --- /dev/null +++ b/libjava/javax/swing/SpringLayout$DeferredHeight.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpringLayout$DeferredHeight__ +#define __javax_swing_SpringLayout$DeferredHeight__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class SpringLayout$DeferredHeight; + } + } +} + +class javax::swing::SpringLayout$DeferredHeight : public ::javax::swing::SpringLayout$DeferredDimension +{ + +public: + virtual ::java::lang::String * toString(); + SpringLayout$DeferredHeight(::java::awt::Component *); + virtual jint getMaximumValue(); + virtual jint getMinimumValue(); + virtual jint getPreferredValue(); +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::SpringLayout$DeferredDimension)))) c; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpringLayout$DeferredHeight__ diff --git a/libjava/javax/swing/SpringLayout$DeferredSpring.h b/libjava/javax/swing/SpringLayout$DeferredSpring.h new file mode 100644 index 00000000000..691515408ff --- /dev/null +++ b/libjava/javax/swing/SpringLayout$DeferredSpring.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpringLayout$DeferredSpring__ +#define __javax_swing_SpringLayout$DeferredSpring__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class Spring; + class SpringLayout; + class SpringLayout$DeferredSpring; + } + } +} + +class javax::swing::SpringLayout$DeferredSpring : public ::javax::swing::Spring +{ + +public: + virtual ::java::lang::String * toString(); + SpringLayout$DeferredSpring(::javax::swing::SpringLayout *, ::java::lang::String *, ::java::awt::Component *); +private: + ::javax::swing::Spring * resolveSpring(); +public: + virtual jint getMaximumValue(); + virtual jint getMinimumValue(); + virtual jint getPreferredValue(); + virtual jint getValue(); + virtual void setValue(jint); +private: + ::javax::swing::SpringLayout * __attribute__((aligned(__alignof__( ::javax::swing::Spring)))) sl; + ::java::lang::String * edgeName; + ::java::awt::Component * c; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpringLayout$DeferredSpring__ diff --git a/libjava/javax/swing/SpringLayout$DeferredWidth.h b/libjava/javax/swing/SpringLayout$DeferredWidth.h new file mode 100644 index 00000000000..fea7e4959ff --- /dev/null +++ b/libjava/javax/swing/SpringLayout$DeferredWidth.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpringLayout$DeferredWidth__ +#define __javax_swing_SpringLayout$DeferredWidth__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class SpringLayout$DeferredWidth; + } + } +} + +class javax::swing::SpringLayout$DeferredWidth : public ::javax::swing::SpringLayout$DeferredDimension +{ + +public: + SpringLayout$DeferredWidth(::java::awt::Component *); + virtual ::java::lang::String * toString(); + virtual jint getMaximumValue(); + virtual jint getMinimumValue(); + virtual jint getPreferredValue(); +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::SpringLayout$DeferredDimension)))) c; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpringLayout$DeferredWidth__ diff --git a/libjava/javax/swing/SpringLayout.h b/libjava/javax/swing/SpringLayout.h new file mode 100644 index 00000000000..426d0d84972 --- /dev/null +++ b/libjava/javax/swing/SpringLayout.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SpringLayout__ +#define __javax_swing_SpringLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + class Spring; + class SpringLayout; + class SpringLayout$Constraints; + } + } +} + +class javax::swing::SpringLayout : public ::java::lang::Object +{ + +public: + SpringLayout(); + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual ::javax::swing::Spring * getConstraint(::java::lang::String *, ::java::awt::Component *); + virtual ::javax::swing::SpringLayout$Constraints * getConstraints(::java::awt::Component *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); +private: + ::javax::swing::SpringLayout$Constraints * initContainer(::java::awt::Container *); +public: + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void putConstraint(::java::lang::String *, ::java::awt::Component *, jint, ::java::lang::String *, ::java::awt::Component *); + virtual void putConstraint(::java::lang::String *, ::java::awt::Component *, ::javax::swing::Spring *, ::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + static ::java::lang::String * EAST; + static ::java::lang::String * NORTH; + static ::java::lang::String * SOUTH; + static ::java::lang::String * WEST; +private: + ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) constraintsMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SpringLayout__ diff --git a/libjava/javax/swing/SwingConstants.h b/libjava/javax/swing/SwingConstants.h new file mode 100644 index 00000000000..7ca0a9bcf8e --- /dev/null +++ b/libjava/javax/swing/SwingConstants.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SwingConstants__ +#define __javax_swing_SwingConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SwingConstants; + } + } +} + +class javax::swing::SwingConstants : public ::java::lang::Object +{ + +public: + static const jint CENTER = 0; + static const jint TOP = 1; + static const jint LEFT = 2; + static const jint BOTTOM = 3; + static const jint RIGHT = 4; + static const jint NORTH = 1; + static const jint NORTH_EAST = 2; + static const jint EAST = 3; + static const jint SOUTH_EAST = 4; + static const jint SOUTH = 5; + static const jint SOUTH_WEST = 6; + static const jint WEST = 7; + static const jint NORTH_WEST = 8; + static const jint HORIZONTAL = 0; + static const jint VERTICAL = 1; + static const jint LEADING = 10; + static const jint TRAILING = 11; + static const jint NEXT = 12; + static const jint PREVIOUS = 13; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_SwingConstants__ diff --git a/libjava/javax/swing/SwingUtilities$OwnerFrame.h b/libjava/javax/swing/SwingUtilities$OwnerFrame.h new file mode 100644 index 00000000000..deb4d8412aa --- /dev/null +++ b/libjava/javax/swing/SwingUtilities$OwnerFrame.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SwingUtilities$OwnerFrame__ +#define __javax_swing_SwingUtilities$OwnerFrame__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SwingUtilities$OwnerFrame; + } + } +} + +class javax::swing::SwingUtilities$OwnerFrame : public ::java::awt::Frame +{ + + SwingUtilities$OwnerFrame(); +public: + virtual void setVisible(jboolean); + virtual jboolean isShowing(); +public: // actually package-private + SwingUtilities$OwnerFrame(::javax::swing::SwingUtilities$OwnerFrame *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SwingUtilities$OwnerFrame__ diff --git a/libjava/javax/swing/SwingUtilities.h b/libjava/javax/swing/SwingUtilities.h new file mode 100644 index 00000000000..3f75d967f72 --- /dev/null +++ b/libjava/javax/swing/SwingUtilities.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_SwingUtilities__ +#define __javax_swing_SwingUtilities__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class FontMetrics; + class Graphics; + class Point; + class Rectangle; + class Window; + namespace event + { + class KeyEvent; + class MouseEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleStateSet; + } + namespace swing + { + class Action; + class ActionMap; + class Icon; + class InputMap; + class JComponent; + class JRootPane; + class KeyStroke; + class SwingUtilities; + class SwingUtilities$OwnerFrame; + } + } +} + +class javax::swing::SwingUtilities : public ::java::lang::Object +{ + + SwingUtilities(); +public: + static ::java::awt::Rectangle * calculateInnerArea(::javax::swing::JComponent *, ::java::awt::Rectangle *); + static ::java::awt::Component * findFocusOwner(::java::awt::Component *); + static ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Component *, ::java::awt::Point *); + static ::javax::accessibility::Accessible * getAccessibleChild(::java::awt::Component *, jint); + static jint getAccessibleChildrenCount(::java::awt::Component *); + static jint getAccessibleIndexInParent(::java::awt::Component *); + static ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(::java::awt::Component *); + static ::java::awt::Rectangle * getLocalBounds(::java::awt::Component *); + static ::javax::swing::JRootPane * getRootPane(::java::awt::Component *); + static ::java::awt::Container * getAncestorNamed(::java::lang::String *, ::java::awt::Component *); + static ::java::awt::Container * getAncestorOfClass(::java::lang::Class *, ::java::awt::Component *); + static ::java::awt::Window * getWindowAncestor(::java::awt::Component *); + static ::java::awt::Window * windowForComponent(::java::awt::Component *); + static ::java::awt::Component * getRoot(::java::awt::Component *); + static jboolean isDescendingFrom(::java::awt::Component *, ::java::awt::Component *); + static ::java::awt::Component * getDeepestComponentAt(::java::awt::Component *, jint, jint); + static void convertPointToScreen(::java::awt::Point *, ::java::awt::Component *); + static void convertPointFromScreen(::java::awt::Point *, ::java::awt::Component *); + static ::java::awt::Point * convertPoint(::java::awt::Component *, jint, jint, ::java::awt::Component *); + static ::java::awt::Point * convertPoint(::java::awt::Component *, ::java::awt::Point *, ::java::awt::Component *); + static ::java::awt::Rectangle * convertRectangle(::java::awt::Component *, ::java::awt::Rectangle *, ::java::awt::Component *); + static ::java::awt::event::MouseEvent * convertMouseEvent(::java::awt::Component *, ::java::awt::event::MouseEvent *, ::java::awt::Component *); + static void updateComponentTreeUI(::java::awt::Component *); +private: + static void updateComponentTreeUIImpl(::java::awt::Component *); +public: + static ::java::lang::String * layoutCompoundLabel(::javax::swing::JComponent *, ::java::awt::FontMetrics *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jint); + static ::java::lang::String * layoutCompoundLabel(::java::awt::FontMetrics *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jint); +private: + static ::java::lang::String * layoutCompoundLabelImpl(::javax::swing::JComponent *, ::java::awt::FontMetrics *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jint); + static ::java::lang::String * clipString(::javax::swing::JComponent *, ::java::awt::FontMetrics *, ::java::lang::String *, jint); +public: + static void invokeLater(::java::lang::Runnable *); + static void invokeAndWait(::java::lang::Runnable *); + static jboolean isEventDispatchThread(); + static void paintComponent(::java::awt::Graphics *, ::java::awt::Component *, ::java::awt::Container *, jint, jint, jint, jint); + static void paintComponent(::java::awt::Graphics *, ::java::awt::Component *, ::java::awt::Container *, ::java::awt::Rectangle *); +public: // actually package-private + static ::java::awt::Window * getOwnerFrame(::java::awt::Window *); +public: + static jboolean isLeftMouseButton(::java::awt::event::MouseEvent *); + static jboolean isMiddleMouseButton(::java::awt::event::MouseEvent *); + static jboolean isRightMouseButton(::java::awt::event::MouseEvent *); + static jboolean notifyAction(::javax::swing::Action *, ::javax::swing::KeyStroke *, ::java::awt::event::KeyEvent *, ::java::lang::Object *, jint); + static void replaceUIActionMap(::javax::swing::JComponent *, ::javax::swing::ActionMap *); + static void replaceUIInputMap(::javax::swing::JComponent *, jint, ::javax::swing::InputMap *); + static JArray< ::java::awt::Rectangle * > * computeDifference(::java::awt::Rectangle *, ::java::awt::Rectangle *); + static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *); + static jint computeStringWidth(::java::awt::FontMetrics *, ::java::lang::String *); + static ::java::awt::Rectangle * computeUnion(jint, jint, jint, jint, ::java::awt::Rectangle *); + static jboolean isRectangleContainingRectangle(::java::awt::Rectangle *, ::java::awt::Rectangle *); + static ::javax::swing::InputMap * getUIInputMap(::javax::swing::JComponent *, jint); + static ::javax::swing::ActionMap * getUIActionMap(::javax::swing::JComponent *); + static jboolean processKeyBindings(::java::awt::event::KeyEvent *); +public: // actually package-private + static ::java::lang::String * convertHorizontalAlignmentCodeToString(jint); + static ::java::lang::String * convertVerticalAlignmentCodeToString(jint); + static ::java::lang::String * convertWindowConstantToString(jint); + static void convertRectangleToAncestor(::java::awt::Component *, ::java::awt::Rectangle *, ::java::awt::Component *); +private: + static ::javax::swing::SwingUtilities$OwnerFrame * ownerFrame; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_SwingUtilities__ diff --git a/libjava/javax/swing/Timer$1.h b/libjava/javax/swing/Timer$1.h new file mode 100644 index 00000000000..e0057f6590e --- /dev/null +++ b/libjava/javax/swing/Timer$1.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Timer$1__ +#define __javax_swing_Timer$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Timer; + class Timer$1; + } + } +} + +class javax::swing::Timer$1 : public ::java::lang::Object +{ + +public: // actually package-private + Timer$1(::javax::swing::Timer *); +public: + void run(); +public: // actually package-private + ::javax::swing::Timer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Timer$1__ diff --git a/libjava/javax/swing/Timer$Task.h b/libjava/javax/swing/Timer$Task.h new file mode 100644 index 00000000000..94005aaccd9 --- /dev/null +++ b/libjava/javax/swing/Timer$Task.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Timer$Task__ +#define __javax_swing_Timer$Task__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Timer; + class Timer$Task; + } + } +} + +class javax::swing::Timer$Task : public ::java::util::TimerTask +{ + + Timer$Task(::javax::swing::Timer *); +public: + virtual void run(); +public: // actually package-private + Timer$Task(::javax::swing::Timer *, ::javax::swing::Timer$Task *); + ::javax::swing::Timer * __attribute__((aligned(__alignof__( ::java::util::TimerTask)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Timer$Task__ diff --git a/libjava/javax/swing/Timer.h b/libjava/javax/swing/Timer.h new file mode 100644 index 00000000000..9768bdfb7a9 --- /dev/null +++ b/libjava/javax/swing/Timer.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_Timer__ +#define __javax_swing_Timer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } + namespace javax + { + namespace swing + { + class Timer; + class Timer$Task; + namespace event + { + class EventListenerList; + } + } + } +} + +class javax::swing::Timer : public ::java::lang::Object +{ + +public: + Timer(jint, ::java::awt::event::ActionListener *); + virtual JArray< ::java::awt::event::ActionListener * > * getActionListeners(); + virtual void setCoalesce(jboolean); + virtual jboolean isCoalesce(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + static void setLogTimers(jboolean); + static jboolean getLogTimers(); + virtual void setDelay(jint); + virtual jint getDelay(); + virtual void setInitialDelay(jint); + virtual jint getInitialDelay(); + virtual void setRepeats(jboolean); + virtual jboolean isRepeats(); + virtual jboolean isRunning(); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); + virtual void restart(); + virtual void start(); + virtual void stop(); +public: // actually protected + virtual void fireActionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + virtual void fireActionPerformed(); + virtual void drainEvents(); + virtual void queueEvent(); +private: + static const jlong serialVersionUID = -1116180831621385484LL; + ::java::lang::Runnable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) drainer; + static ::java::util::Timer * timer; +public: // actually package-private + static jboolean logTimers; +public: // actually protected + ::javax::swing::event::EventListenerList * listenerList; +public: // actually package-private + jboolean coalesce; + jboolean repeats; + jint delay; + jint initialDelay; + jint ticks; + ::javax::swing::Timer$Task * task; +private: + jlong queue; + ::java::lang::Object * queueLock; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_Timer__ diff --git a/libjava/javax/swing/ToolTipManager$insideTimerAction.h b/libjava/javax/swing/ToolTipManager$insideTimerAction.h new file mode 100644 index 00000000000..52fe573fe20 --- /dev/null +++ b/libjava/javax/swing/ToolTipManager$insideTimerAction.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ToolTipManager$insideTimerAction__ +#define __javax_swing_ToolTipManager$insideTimerAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class ToolTipManager; + class ToolTipManager$insideTimerAction; + } + } +} + +class javax::swing::ToolTipManager$insideTimerAction : public ::java::lang::Object +{ + +public: // actually protected + ToolTipManager$insideTimerAction(::javax::swing::ToolTipManager *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::ToolTipManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ToolTipManager$insideTimerAction__ diff --git a/libjava/javax/swing/ToolTipManager$outsideTimerAction.h b/libjava/javax/swing/ToolTipManager$outsideTimerAction.h new file mode 100644 index 00000000000..1f418783b61 --- /dev/null +++ b/libjava/javax/swing/ToolTipManager$outsideTimerAction.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ToolTipManager$outsideTimerAction__ +#define __javax_swing_ToolTipManager$outsideTimerAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class ToolTipManager; + class ToolTipManager$outsideTimerAction; + } + } +} + +class javax::swing::ToolTipManager$outsideTimerAction : public ::java::lang::Object +{ + +public: // actually protected + ToolTipManager$outsideTimerAction(::javax::swing::ToolTipManager *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::ToolTipManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ToolTipManager$outsideTimerAction__ diff --git a/libjava/javax/swing/ToolTipManager$stillInsideTimerAction.h b/libjava/javax/swing/ToolTipManager$stillInsideTimerAction.h new file mode 100644 index 00000000000..2e334c56496 --- /dev/null +++ b/libjava/javax/swing/ToolTipManager$stillInsideTimerAction.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ToolTipManager$stillInsideTimerAction__ +#define __javax_swing_ToolTipManager$stillInsideTimerAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class ToolTipManager; + class ToolTipManager$stillInsideTimerAction; + } + } +} + +class javax::swing::ToolTipManager$stillInsideTimerAction : public ::java::lang::Object +{ + +public: // actually protected + ToolTipManager$stillInsideTimerAction(::javax::swing::ToolTipManager *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::ToolTipManager * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ToolTipManager$stillInsideTimerAction__ diff --git a/libjava/javax/swing/ToolTipManager.h b/libjava/javax/swing/ToolTipManager.h new file mode 100644 index 00000000000..c838ac43daf --- /dev/null +++ b/libjava/javax/swing/ToolTipManager.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ToolTipManager__ +#define __javax_swing_ToolTipManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Point; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JToolTip; + class Popup; + class Timer; + class ToolTipManager; + } + } +} + +class javax::swing::ToolTipManager : public ::java::awt::event::MouseAdapter +{ + +public: // actually package-private + ToolTipManager(); +public: + static ::javax::swing::ToolTipManager * sharedInstance(); + virtual void setEnabled(jboolean); + virtual jboolean isEnabled(); + virtual jboolean isLightWeightPopupEnabled(); + virtual void setLightWeightPopupEnabled(jboolean); + virtual jint getInitialDelay(); + virtual void setInitialDelay(jint); + virtual jint getDismissDelay(); + virtual void setDismissDelay(jint); + virtual jint getReshowDelay(); + virtual void setReshowDelay(jint); + virtual void registerComponent(::javax::swing::JComponent *); + virtual void unregisterComponent(::javax::swing::JComponent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +private: + void checkTipUpdate(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual void showTip(); +private: + ::java::awt::Point * adjustLocation(::java::awt::Point *, ::java::awt::Component *, ::java::awt::Dimension *); +public: // actually package-private + virtual void hideTip(); +private: + ::java::awt::Component * getContentPaneDeepestComponent(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::Timer * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) enterTimer; + ::javax::swing::Timer * exitTimer; + ::javax::swing::Timer * insideTimer; +private: + jboolean enabled; +public: // actually protected + jboolean lightWeightPopupEnabled; + jboolean heavyWeightPopupEnabled; +private: + static ::javax::swing::ToolTipManager * shared; + ::javax::swing::JComponent * currentComponent; + ::javax::swing::JToolTip * currentTip; + ::java::lang::String * toolTipText; + ::java::awt::Point * currentPoint; + ::javax::swing::Popup * popup; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ToolTipManager__ diff --git a/libjava/javax/swing/TransferHandler$PropertyTransferable.h b/libjava/javax/swing/TransferHandler$PropertyTransferable.h new file mode 100644 index 00000000000..662bce0cac2 --- /dev/null +++ b/libjava/javax/swing/TransferHandler$PropertyTransferable.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_TransferHandler$PropertyTransferable__ +#define __javax_swing_TransferHandler$PropertyTransferable__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class DataFlavor; + } + } + namespace beans + { + class PropertyDescriptor; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class TransferHandler$PropertyTransferable; + } + } +} + +class javax::swing::TransferHandler$PropertyTransferable : public ::java::lang::Object +{ + +public: // actually package-private + TransferHandler$PropertyTransferable(::javax::swing::JComponent *, ::java::beans::PropertyDescriptor *); +public: + virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors(); + virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *); + virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *); +private: + ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) component; + ::java::beans::PropertyDescriptor * property; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_TransferHandler$PropertyTransferable__ diff --git a/libjava/javax/swing/TransferHandler$TransferAction.h b/libjava/javax/swing/TransferHandler$TransferAction.h new file mode 100644 index 00000000000..f11d879681b --- /dev/null +++ b/libjava/javax/swing/TransferHandler$TransferAction.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_TransferHandler$TransferAction__ +#define __javax_swing_TransferHandler$TransferAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + } + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class TransferHandler$TransferAction; + } + } +} + +class javax::swing::TransferHandler$TransferAction : public ::javax::swing::AbstractAction +{ + +public: + TransferHandler$TransferAction(::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + static ::java::awt::datatransfer::Clipboard * getClipboard(::javax::swing::JComponent *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) command; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_TransferHandler$TransferAction__ diff --git a/libjava/javax/swing/TransferHandler.h b/libjava/javax/swing/TransferHandler.h new file mode 100644 index 00000000000..24220c88c1a --- /dev/null +++ b/libjava/javax/swing/TransferHandler.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_TransferHandler__ +#define __javax_swing_TransferHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + class DataFlavor; + class Transferable; + } + namespace event + { + class InputEvent; + } + } + namespace beans + { + class PropertyDescriptor; + } + } + namespace javax + { + namespace swing + { + class Action; + class Icon; + class JComponent; + class TransferHandler; + } + } +} + +class javax::swing::TransferHandler : public ::java::lang::Object +{ + +public: + static ::javax::swing::Action * getCopyAction(); + static ::javax::swing::Action * getCutAction(); + static ::javax::swing::Action * getPasteAction(); +public: // actually protected + TransferHandler(); +public: + TransferHandler(::java::lang::String *); + virtual jboolean canImport(::javax::swing::JComponent *, JArray< ::java::awt::datatransfer::DataFlavor * > *); +public: // actually protected + virtual ::java::awt::datatransfer::Transferable * createTransferable(::javax::swing::JComponent *); +public: + virtual void exportAsDrag(::javax::swing::JComponent *, ::java::awt::event::InputEvent *, jint); +public: // actually protected + virtual void exportDone(::javax::swing::JComponent *, ::java::awt::datatransfer::Transferable *, jint); +public: + virtual void exportToClipboard(::javax::swing::JComponent *, ::java::awt::datatransfer::Clipboard *, jint); + virtual jint getSourceActions(::javax::swing::JComponent *); + virtual ::javax::swing::Icon * getVisualRepresentation(::java::awt::datatransfer::Transferable *); + virtual jboolean importData(::javax::swing::JComponent *, ::java::awt::datatransfer::Transferable *); +private: + ::java::beans::PropertyDescriptor * getPropertyDescriptor(::javax::swing::JComponent *); + ::java::awt::datatransfer::DataFlavor * getPropertyDataFlavor(::java::lang::Class *, JArray< ::java::awt::datatransfer::DataFlavor * > *); + static const jlong serialVersionUID = -967749805571669910LL; + static ::java::lang::String * COMMAND_COPY; + static ::java::lang::String * COMMAND_CUT; + static ::java::lang::String * COMMAND_PASTE; +public: + static const jint NONE = 0; + static const jint COPY = 1; + static const jint MOVE = 2; + static const jint COPY_OR_MOVE = 3; +private: + static ::javax::swing::Action * copyAction; + static ::javax::swing::Action * cutAction; + static ::javax::swing::Action * pasteAction; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) sourceActions; + ::javax::swing::Icon * visualRepresentation; + ::java::lang::String * propertyName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_TransferHandler__ diff --git a/libjava/javax/swing/UIDefaults$1.h b/libjava/javax/swing/UIDefaults$1.h new file mode 100644 index 00000000000..ac0aecd754d --- /dev/null +++ b/libjava/javax/swing/UIDefaults$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$1__ +#define __javax_swing_UIDefaults$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$1; + class UIDefaults$ProxyLazyValue; + } + } +} + +class javax::swing::UIDefaults$1 : public ::java::lang::Object +{ + +public: // actually package-private + UIDefaults$1(::javax::swing::UIDefaults$ProxyLazyValue *, ::java::lang::String *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::UIDefaults$ProxyLazyValue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +private: + ::java::lang::String * val$className; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults$1__ diff --git a/libjava/javax/swing/UIDefaults$2.h b/libjava/javax/swing/UIDefaults$2.h new file mode 100644 index 00000000000..3250ba983aa --- /dev/null +++ b/libjava/javax/swing/UIDefaults$2.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$2__ +#define __javax_swing_UIDefaults$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$2; + class UIDefaults$ProxyLazyValue; + } + } +} + +class javax::swing::UIDefaults$2 : public ::java::lang::Object +{ + +public: // actually package-private + UIDefaults$2(::javax::swing::UIDefaults$ProxyLazyValue *, ::java::lang::String *, ::java::lang::String *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::UIDefaults$ProxyLazyValue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +private: + ::java::lang::String * val$className; + ::java::lang::String * val$methodName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults$2__ diff --git a/libjava/javax/swing/UIDefaults$3.h b/libjava/javax/swing/UIDefaults$3.h new file mode 100644 index 00000000000..f3faaf71e4f --- /dev/null +++ b/libjava/javax/swing/UIDefaults$3.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$3__ +#define __javax_swing_UIDefaults$3__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$3; + class UIDefaults$ProxyLazyValue; + } + } +} + +class javax::swing::UIDefaults$3 : public ::java::lang::Object +{ + +public: // actually package-private + UIDefaults$3(::javax::swing::UIDefaults$ProxyLazyValue *, ::java::lang::String *, JArray< ::java::lang::Class * > *, JArray< ::java::lang::Object * > *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::UIDefaults$ProxyLazyValue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +private: + ::java::lang::String * val$className; + JArray< ::java::lang::Class * > * val$clss; + JArray< ::java::lang::Object * > * val$objs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults$3__ diff --git a/libjava/javax/swing/UIDefaults$4.h b/libjava/javax/swing/UIDefaults$4.h new file mode 100644 index 00000000000..e5ff98dafb4 --- /dev/null +++ b/libjava/javax/swing/UIDefaults$4.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$4__ +#define __javax_swing_UIDefaults$4__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$4; + class UIDefaults$ProxyLazyValue; + } + } +} + +class javax::swing::UIDefaults$4 : public ::java::lang::Object +{ + +public: // actually package-private + UIDefaults$4(::javax::swing::UIDefaults$ProxyLazyValue *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Class * > *, JArray< ::java::lang::Object * > *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::UIDefaults$ProxyLazyValue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +private: + ::java::lang::String * val$className; + ::java::lang::String * val$methodName; + JArray< ::java::lang::Class * > * val$clss; + JArray< ::java::lang::Object * > * val$objs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults$4__ diff --git a/libjava/javax/swing/UIDefaults$ActiveValue.h b/libjava/javax/swing/UIDefaults$ActiveValue.h new file mode 100644 index 00000000000..37d1b403418 --- /dev/null +++ b/libjava/javax/swing/UIDefaults$ActiveValue.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$ActiveValue__ +#define __javax_swing_UIDefaults$ActiveValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$ActiveValue; + } + } +} + +class javax::swing::UIDefaults$ActiveValue : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * createValue(::javax::swing::UIDefaults *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_UIDefaults$ActiveValue__ diff --git a/libjava/javax/swing/UIDefaults$LazyInputMap.h b/libjava/javax/swing/UIDefaults$LazyInputMap.h new file mode 100644 index 00000000000..1072c003043 --- /dev/null +++ b/libjava/javax/swing/UIDefaults$LazyInputMap.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$LazyInputMap__ +#define __javax_swing_UIDefaults$LazyInputMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$LazyInputMap; + } + } +} + +class javax::swing::UIDefaults$LazyInputMap : public ::java::lang::Object +{ + +public: + UIDefaults$LazyInputMap(JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bind; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults$LazyInputMap__ diff --git a/libjava/javax/swing/UIDefaults$LazyValue.h b/libjava/javax/swing/UIDefaults$LazyValue.h new file mode 100644 index 00000000000..bd451e45b34 --- /dev/null +++ b/libjava/javax/swing/UIDefaults$LazyValue.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$LazyValue__ +#define __javax_swing_UIDefaults$LazyValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$LazyValue; + } + } +} + +class javax::swing::UIDefaults$LazyValue : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * createValue(::javax::swing::UIDefaults *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_UIDefaults$LazyValue__ diff --git a/libjava/javax/swing/UIDefaults$ProxyLazyValue.h b/libjava/javax/swing/UIDefaults$ProxyLazyValue.h new file mode 100644 index 00000000000..ea6632c18ad --- /dev/null +++ b/libjava/javax/swing/UIDefaults$ProxyLazyValue.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults$ProxyLazyValue__ +#define __javax_swing_UIDefaults$ProxyLazyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIDefaults$LazyValue; + class UIDefaults$ProxyLazyValue; + } + } +} + +class javax::swing::UIDefaults$ProxyLazyValue : public ::java::lang::Object +{ + +public: + UIDefaults$ProxyLazyValue(::java::lang::String *); + UIDefaults$ProxyLazyValue(::java::lang::String *, ::java::lang::String *); + UIDefaults$ProxyLazyValue(::java::lang::String *, JArray< ::java::lang::Object * > *); + UIDefaults$ProxyLazyValue(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::UIDefaults$LazyValue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) inner; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults$ProxyLazyValue__ diff --git a/libjava/javax/swing/UIDefaults.h b/libjava/javax/swing/UIDefaults.h new file mode 100644 index 00000000000..2daecceee58 --- /dev/null +++ b/libjava/javax/swing/UIDefaults.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIDefaults__ +#define __javax_swing_UIDefaults__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Font; + class Insets; + } + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JComponent; + class UIDefaults; + namespace border + { + class Border; + } + namespace plaf + { + class ComponentUI; + } + } + } +} + +class javax::swing::UIDefaults : public ::java::util::Hashtable +{ + +public: + UIDefaults(); + UIDefaults(JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + virtual void putDefaults(JArray< ::java::lang::Object * > *); +private: + ::java::lang::Object * checkAndPut(::java::lang::Object *, ::java::lang::Object *); +public: + virtual ::java::awt::Font * getFont(::java::lang::Object *); + virtual ::java::awt::Font * getFont(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::awt::Color * getColor(::java::lang::Object *); + virtual ::java::awt::Color * getColor(::java::lang::Object *, ::java::util::Locale *); + virtual ::javax::swing::Icon * getIcon(::java::lang::Object *); + virtual ::javax::swing::Icon * getIcon(::java::lang::Object *, ::java::util::Locale *); + virtual ::javax::swing::border::Border * getBorder(::java::lang::Object *); + virtual ::javax::swing::border::Border * getBorder(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::lang::String * getString(::java::lang::Object *); + virtual ::java::lang::String * getString(::java::lang::Object *, ::java::util::Locale *); + virtual jint getInt(::java::lang::Object *); + virtual jint getInt(::java::lang::Object *, ::java::util::Locale *); + virtual jboolean getBoolean(::java::lang::Object *); + virtual jboolean getBoolean(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::awt::Insets * getInsets(::java::lang::Object *); + virtual ::java::awt::Insets * getInsets(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::awt::Dimension * getDimension(::java::lang::Object *); + virtual ::java::awt::Dimension * getDimension(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::lang::Class * getUIClass(::java::lang::String *, ::java::lang::ClassLoader *); + virtual ::java::lang::Class * getUIClass(::java::lang::String *); +public: // actually protected + virtual void getUIError(::java::lang::String *); +public: + virtual ::javax::swing::plaf::ComponentUI * getUI(::javax::swing::JComponent *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void addResourceBundle(::java::lang::String *); + virtual void removeResourceBundle(::java::lang::String *); + virtual void setDefaultLocale(::java::util::Locale *); + virtual ::java::util::Locale * getDefaultLocale(); +private: + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::util::Hashtable)))) bundles; + ::java::util::Locale * defaultLocale; + ::java::beans::PropertyChangeSupport * propertyChangeSupport; + static const jlong serialVersionUID = 7341222528856548117LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIDefaults__ diff --git a/libjava/javax/swing/UIManager$LookAndFeelInfo.h b/libjava/javax/swing/UIManager$LookAndFeelInfo.h new file mode 100644 index 00000000000..581d76beef7 --- /dev/null +++ b/libjava/javax/swing/UIManager$LookAndFeelInfo.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIManager$LookAndFeelInfo__ +#define __javax_swing_UIManager$LookAndFeelInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIManager$LookAndFeelInfo; + } + } +} + +class javax::swing::UIManager$LookAndFeelInfo : public ::java::lang::Object +{ + +public: + UIManager$LookAndFeelInfo(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getClassName(); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::java::lang::String * clazz; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIManager$LookAndFeelInfo__ diff --git a/libjava/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.h b/libjava/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.h new file mode 100644 index 00000000000..a256eaf3e70 --- /dev/null +++ b/libjava/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIManager$MultiplexUIDefaults$MultiplexEnumeration__ +#define __javax_swing_UIManager$MultiplexUIDefaults$MultiplexEnumeration__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIManager$MultiplexUIDefaults; + class UIManager$MultiplexUIDefaults$MultiplexEnumeration; + } + } +} + +class javax::swing::UIManager$MultiplexUIDefaults$MultiplexEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + UIManager$MultiplexUIDefaults$MultiplexEnumeration(::javax::swing::UIManager$MultiplexUIDefaults *, ::java::util::Enumeration *, ::java::util::Enumeration *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + JArray< ::java::util::Enumeration * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enums; + jint i; + ::javax::swing::UIManager$MultiplexUIDefaults * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIManager$MultiplexUIDefaults$MultiplexEnumeration__ diff --git a/libjava/javax/swing/UIManager$MultiplexUIDefaults.h b/libjava/javax/swing/UIManager$MultiplexUIDefaults.h new file mode 100644 index 00000000000..16a03c60dd2 --- /dev/null +++ b/libjava/javax/swing/UIManager$MultiplexUIDefaults.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIManager$MultiplexUIDefaults__ +#define __javax_swing_UIManager$MultiplexUIDefaults__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + class UIManager$MultiplexUIDefaults; + } + } +} + +class javax::swing::UIManager$MultiplexUIDefaults : public ::javax::swing::UIDefaults +{ + +public: // actually package-private + UIManager$MultiplexUIDefaults(::javax::swing::UIDefaults *); +public: + virtual ::java::lang::Object * get(::java::lang::Object *); + virtual ::java::lang::Object * get(::java::lang::Object *, ::java::util::Locale *); + virtual ::java::lang::Object * remove(::java::lang::Object *); + virtual jint size(); + virtual ::java::util::Enumeration * keys(); + virtual ::java::util::Enumeration * elements(); +public: // actually package-private + ::javax::swing::UIDefaults * __attribute__((aligned(__alignof__( ::javax::swing::UIDefaults)))) fallback; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIManager$MultiplexUIDefaults__ diff --git a/libjava/javax/swing/UIManager.h b/libjava/javax/swing/UIManager.h new file mode 100644 index 00000000000..c2cdf16cfed --- /dev/null +++ b/libjava/javax/swing/UIManager.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UIManager__ +#define __javax_swing_UIManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Font; + class Insets; + } + namespace beans + { + class PropertyChangeListener; + class PropertyChangeSupport; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JComponent; + class LookAndFeel; + class UIDefaults; + class UIManager; + class UIManager$LookAndFeelInfo; + class UIManager$MultiplexUIDefaults; + namespace border + { + class Border; + } + namespace plaf + { + class ComponentUI; + } + } + } +} + +class javax::swing::UIManager : public ::java::lang::Object +{ + +public: + UIManager(); + static void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + static void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + static JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); + static void addAuxiliaryLookAndFeel(::javax::swing::LookAndFeel *); + static jboolean removeAuxiliaryLookAndFeel(::javax::swing::LookAndFeel *); + static JArray< ::javax::swing::LookAndFeel * > * getAuxiliaryLookAndFeels(); + static ::java::lang::Object * get(::java::lang::Object *); + static ::java::lang::Object * get(::java::lang::Object *, ::java::util::Locale *); + static jboolean getBoolean(::java::lang::Object *); + static jboolean getBoolean(::java::lang::Object *, ::java::util::Locale *); + static ::javax::swing::border::Border * getBorder(::java::lang::Object *); + static ::javax::swing::border::Border * getBorder(::java::lang::Object *, ::java::util::Locale *); + static ::java::awt::Color * getColor(::java::lang::Object *); + static ::java::awt::Color * getColor(::java::lang::Object *, ::java::util::Locale *); + static ::java::lang::String * getCrossPlatformLookAndFeelClassName(); + static ::javax::swing::UIDefaults * getDefaults(); + static ::java::awt::Dimension * getDimension(::java::lang::Object *); + static ::java::awt::Dimension * getDimension(::java::lang::Object *, ::java::util::Locale *); + static ::java::awt::Font * getFont(::java::lang::Object *); + static ::java::awt::Font * getFont(::java::lang::Object *, ::java::util::Locale *); + static ::javax::swing::Icon * getIcon(::java::lang::Object *); + static ::javax::swing::Icon * getIcon(::java::lang::Object *, ::java::util::Locale *); + static ::java::awt::Insets * getInsets(::java::lang::Object *); + static ::java::awt::Insets * getInsets(::java::lang::Object *, ::java::util::Locale *); + static JArray< ::javax::swing::UIManager$LookAndFeelInfo * > * getInstalledLookAndFeels(); + static jint getInt(::java::lang::Object *); + static jint getInt(::java::lang::Object *, ::java::util::Locale *); + static ::javax::swing::LookAndFeel * getLookAndFeel(); + static ::javax::swing::UIDefaults * getLookAndFeelDefaults(); + static ::java::lang::String * getString(::java::lang::Object *); + static ::java::lang::String * getString(::java::lang::Object *, ::java::util::Locale *); + static ::java::lang::String * getSystemLookAndFeelClassName(); + static ::javax::swing::plaf::ComponentUI * getUI(::javax::swing::JComponent *); + static void installLookAndFeel(::java::lang::String *, ::java::lang::String *); + static void installLookAndFeel(::javax::swing::UIManager$LookAndFeelInfo *); + static ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *); + static void setInstalledLookAndFeels(JArray< ::javax::swing::UIManager$LookAndFeelInfo * > *); + static void setLookAndFeel(::javax::swing::LookAndFeel *); + static void setLookAndFeel(::java::lang::String *); +private: + static const jlong serialVersionUID = -5547433830339189365LL; +public: // actually package-private + static JArray< ::javax::swing::UIManager$LookAndFeelInfo * > * installed; + static JArray< ::javax::swing::LookAndFeel * > * auxLookAndFeels; + static ::javax::swing::LookAndFeel * currentLookAndFeel; + static ::javax::swing::UIManager$MultiplexUIDefaults * currentUIDefaults; + static ::javax::swing::UIDefaults * lookAndFeelDefaults; + static ::java::beans::PropertyChangeSupport * listeners; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UIManager__ diff --git a/libjava/javax/swing/UnsupportedLookAndFeelException.h b/libjava/javax/swing/UnsupportedLookAndFeelException.h new file mode 100644 index 00000000000..bf5e35c1510 --- /dev/null +++ b/libjava/javax/swing/UnsupportedLookAndFeelException.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_UnsupportedLookAndFeelException__ +#define __javax_swing_UnsupportedLookAndFeelException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UnsupportedLookAndFeelException; + } + } +} + +class javax::swing::UnsupportedLookAndFeelException : public ::java::lang::Exception +{ + +public: + UnsupportedLookAndFeelException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_UnsupportedLookAndFeelException__ diff --git a/libjava/javax/swing/ViewportLayout.h b/libjava/javax/swing/ViewportLayout.h new file mode 100644 index 00000000000..9dadb49eafd --- /dev/null +++ b/libjava/javax/swing/ViewportLayout.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_ViewportLayout__ +#define __javax_swing_ViewportLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + class ViewportLayout; + } + } +} + +class javax::swing::ViewportLayout : public ::java::lang::Object +{ + +public: + ViewportLayout(); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); +private: + static const jlong serialVersionUID = -788225906076097229LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_ViewportLayout__ diff --git a/libjava/javax/swing/WindowConstants.h b/libjava/javax/swing/WindowConstants.h new file mode 100644 index 00000000000..8cad3c26829 --- /dev/null +++ b/libjava/javax/swing/WindowConstants.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_WindowConstants__ +#define __javax_swing_WindowConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class WindowConstants; + } + } +} + +class javax::swing::WindowConstants : public ::java::lang::Object +{ + +public: + static const jint DO_NOTHING_ON_CLOSE = 0; + static const jint HIDE_ON_CLOSE = 1; + static const jint DISPOSE_ON_CLOSE = 2; + static const jint EXIT_ON_CLOSE = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_WindowConstants__ diff --git a/libjava/javax/swing/border/AbstractBorder.h b/libjava/javax/swing/border/AbstractBorder.h new file mode 100644 index 00000000000..e91b5e98e87 --- /dev/null +++ b/libjava/javax/swing/border/AbstractBorder.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_AbstractBorder__ +#define __javax_swing_border_AbstractBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class AbstractBorder; + class Border; + } + } + } +} + +class javax::swing::border::AbstractBorder : public ::java::lang::Object +{ + +public: + AbstractBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual jboolean isBorderOpaque(); + virtual ::java::awt::Rectangle * getInteriorRectangle(::java::awt::Component *, jint, jint, jint, jint); + static ::java::awt::Rectangle * getInteriorRectangle(::java::awt::Component *, ::javax::swing::border::Border *, jint, jint, jint, jint); +public: // actually package-private + static const jlong serialVersionUID = -545885975315191844LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_AbstractBorder__ diff --git a/libjava/javax/swing/border/BevelBorder.h b/libjava/javax/swing/border/BevelBorder.h new file mode 100644 index 00000000000..369c1c57d1a --- /dev/null +++ b/libjava/javax/swing/border/BevelBorder.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_BevelBorder__ +#define __javax_swing_border_BevelBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class BevelBorder; + } + } + } +} + +class javax::swing::border::BevelBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + BevelBorder(jint); + BevelBorder(jint, ::java::awt::Color *, ::java::awt::Color *); + BevelBorder(jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual ::java::awt::Color * getHighlightOuterColor(::java::awt::Component *); + virtual ::java::awt::Color * getHighlightInnerColor(::java::awt::Component *); + virtual ::java::awt::Color * getShadowInnerColor(::java::awt::Component *); + virtual ::java::awt::Color * getShadowOuterColor(::java::awt::Component *); + virtual ::java::awt::Color * getHighlightOuterColor(); + virtual ::java::awt::Color * getHighlightInnerColor(); + virtual ::java::awt::Color * getShadowInnerColor(); + virtual ::java::awt::Color * getShadowOuterColor(); + virtual jint getBevelType(); + virtual jboolean isBorderOpaque(); +public: // actually protected + virtual void paintRaisedBevel(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintLoweredBevel(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static void paintBevel(::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); +public: // actually package-private + static const jlong serialVersionUID = -1034942243356299676LL; +public: + static const jint RAISED = 0; + static const jint LOWERED = 1; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) bevelType; + ::java::awt::Color * highlightOuter; + ::java::awt::Color * highlightInner; + ::java::awt::Color * shadowOuter; + ::java::awt::Color * shadowInner; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_BevelBorder__ diff --git a/libjava/javax/swing/border/Border.h b/libjava/javax/swing/border/Border.h new file mode 100644 index 00000000000..7fe11ee4640 --- /dev/null +++ b/libjava/javax/swing/border/Border.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_Border__ +#define __javax_swing_border_Border__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + } + } +} + +class javax::swing::border::Border : public ::java::lang::Object +{ + +public: + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint) = 0; + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *) = 0; + virtual jboolean isBorderOpaque() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_border_Border__ diff --git a/libjava/javax/swing/border/CompoundBorder.h b/libjava/javax/swing/border/CompoundBorder.h new file mode 100644 index 00000000000..703398a730b --- /dev/null +++ b/libjava/javax/swing/border/CompoundBorder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_CompoundBorder__ +#define __javax_swing_border_CompoundBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + class CompoundBorder; + } + } + } +} + +class javax::swing::border::CompoundBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + CompoundBorder(); + CompoundBorder(::javax::swing::border::Border *, ::javax::swing::border::Border *); + virtual jboolean isBorderOpaque(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::javax::swing::border::Border * getOutsideBorder(); + virtual ::javax::swing::border::Border * getInsideBorder(); +public: // actually package-private + static const jlong serialVersionUID = 9054540377030555103LL; +public: // actually protected + ::javax::swing::border::Border * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) insideBorder; + ::javax::swing::border::Border * outsideBorder; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_CompoundBorder__ diff --git a/libjava/javax/swing/border/EmptyBorder.h b/libjava/javax/swing/border/EmptyBorder.h new file mode 100644 index 00000000000..8658371ad61 --- /dev/null +++ b/libjava/javax/swing/border/EmptyBorder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_EmptyBorder__ +#define __javax_swing_border_EmptyBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class EmptyBorder; + } + } + } +} + +class javax::swing::border::EmptyBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + EmptyBorder(jint, jint, jint, jint); + EmptyBorder(::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual ::java::awt::Insets * getBorderInsets(); + virtual jboolean isBorderOpaque(); +public: // actually package-private + static const jlong serialVersionUID = -8116076291731988694LL; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) left; + jint right; + jint top; + jint bottom; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_EmptyBorder__ diff --git a/libjava/javax/swing/border/EtchedBorder.h b/libjava/javax/swing/border/EtchedBorder.h new file mode 100644 index 00000000000..f760547eb66 --- /dev/null +++ b/libjava/javax/swing/border/EtchedBorder.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_EtchedBorder__ +#define __javax_swing_border_EtchedBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class EtchedBorder; + } + } + } +} + +class javax::swing::border::EtchedBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + EtchedBorder(); + EtchedBorder(jint); + EtchedBorder(::java::awt::Color *, ::java::awt::Color *); + EtchedBorder(jint, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual jboolean isBorderOpaque(); + virtual jint getEtchType(); + virtual ::java::awt::Color * getHighlightColor(::java::awt::Component *); + virtual ::java::awt::Color * getHighlightColor(); + virtual ::java::awt::Color * getShadowColor(::java::awt::Component *); + virtual ::java::awt::Color * getShadowColor(); +private: + static void paintEtchedBorder(::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *); +public: // actually package-private + static const jlong serialVersionUID = 4001244046866360638LL; +public: + static const jint RAISED = 0; + static const jint LOWERED = 1; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) etchType; + ::java::awt::Color * highlight; + ::java::awt::Color * shadow; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_EtchedBorder__ diff --git a/libjava/javax/swing/border/LineBorder.h b/libjava/javax/swing/border/LineBorder.h new file mode 100644 index 00000000000..dd8d05dc57e --- /dev/null +++ b/libjava/javax/swing/border/LineBorder.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_LineBorder__ +#define __javax_swing_border_LineBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + class LineBorder; + } + } + } +} + +class javax::swing::border::LineBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + LineBorder(::java::awt::Color *); + LineBorder(::java::awt::Color *, jint); + LineBorder(::java::awt::Color *, jint, jboolean); + static ::javax::swing::border::Border * createBlackLineBorder(); + static ::javax::swing::border::Border * createGrayLineBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual ::java::awt::Color * getLineColor(); + virtual jint getThickness(); + virtual jboolean getRoundedCorners(); + virtual jboolean isBorderOpaque(); +public: // actually package-private + static const jlong serialVersionUID = -787563427772288970LL; +private: + static ::javax::swing::border::LineBorder * blackLineBorder; + static ::javax::swing::border::LineBorder * grayLineBorder; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) thickness; + ::java::awt::Color * lineColor; + jboolean roundedCorners; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_LineBorder__ diff --git a/libjava/javax/swing/border/MatteBorder.h b/libjava/javax/swing/border/MatteBorder.h new file mode 100644 index 00000000000..76dc3d981aa --- /dev/null +++ b/libjava/javax/swing/border/MatteBorder.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_MatteBorder__ +#define __javax_swing_border_MatteBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace border + { + class MatteBorder; + } + } + } +} + +class javax::swing::border::MatteBorder : public ::javax::swing::border::EmptyBorder +{ + +public: + MatteBorder(jint, jint, jint, jint, ::java::awt::Color *); + MatteBorder(::java::awt::Insets *, ::java::awt::Color *); + MatteBorder(jint, jint, jint, jint, ::javax::swing::Icon *); + MatteBorder(::java::awt::Insets *, ::javax::swing::Icon *); + MatteBorder(::javax::swing::Icon *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual ::java::awt::Insets * getBorderInsets(); + virtual ::java::awt::Color * getMatteColor(); + virtual ::javax::swing::Icon * getTileIcon(); + virtual jboolean isBorderOpaque(); +private: + void paintEdge(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); +public: // actually package-private + static const jlong serialVersionUID = 4422248989617298224LL; +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::border::EmptyBorder)))) color; + ::javax::swing::Icon * tileIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_MatteBorder__ diff --git a/libjava/javax/swing/border/SoftBevelBorder.h b/libjava/javax/swing/border/SoftBevelBorder.h new file mode 100644 index 00000000000..fa8ff5e6f51 --- /dev/null +++ b/libjava/javax/swing/border/SoftBevelBorder.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_SoftBevelBorder__ +#define __javax_swing_border_SoftBevelBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class SoftBevelBorder; + } + } + } +} + +class javax::swing::border::SoftBevelBorder : public ::javax::swing::border::BevelBorder +{ + +public: + SoftBevelBorder(jint); + SoftBevelBorder(jint, ::java::awt::Color *, ::java::awt::Color *); + SoftBevelBorder(jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual jboolean isBorderOpaque(); +private: + static void paintSoftBevel(::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); +public: // actually package-private + static const jlong serialVersionUID = 5248789787305979975LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_SoftBevelBorder__ diff --git a/libjava/javax/swing/border/TitledBorder.h b/libjava/javax/swing/border/TitledBorder.h new file mode 100644 index 00000000000..42d6b599dae --- /dev/null +++ b/libjava/javax/swing/border/TitledBorder.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_border_TitledBorder__ +#define __javax_swing_border_TitledBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class Insets; + class Point; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + class TitledBorder; + } + } + } +} + +class javax::swing::border::TitledBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + TitledBorder(::java::lang::String *); + TitledBorder(::javax::swing::border::Border *); + TitledBorder(::javax::swing::border::Border *, ::java::lang::String *); + TitledBorder(::javax::swing::border::Border *, ::java::lang::String *, jint, jint); + TitledBorder(::javax::swing::border::Border *, ::java::lang::String *, jint, jint, ::java::awt::Font *); + TitledBorder(::javax::swing::border::Border *, ::java::lang::String *, jint, jint, ::java::awt::Font *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + void layoutBorderWithTitle(::java::awt::Component *, ::java::awt::FontMetrics *, ::java::awt::Rectangle *, ::java::awt::Point *); + void paintBorderWithTitle(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Rectangle *, ::java::awt::Point *, ::java::awt::FontMetrics *); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual jboolean isBorderOpaque(); + virtual ::java::lang::String * getTitle(); + virtual ::javax::swing::border::Border * getBorder(); + virtual jint getTitlePosition(); + virtual jint getTitleJustification(); + virtual ::java::awt::Font * getTitleFont(); + virtual ::java::awt::Color * getTitleColor(); + virtual void setTitle(::java::lang::String *); + virtual void setBorder(::javax::swing::border::Border *); + virtual void setTitlePosition(jint); + virtual void setTitleJustification(jint); + virtual void setTitleFont(::java::awt::Font *); + virtual void setTitleColor(::java::awt::Color *); + virtual ::java::awt::Dimension * getMinimumSize(::java::awt::Component *); +public: // actually protected + virtual ::java::awt::Font * getFont(::java::awt::Component *); +public: + static const jint DEFAULT_POSITION = 0; + static const jint ABOVE_TOP = 1; + static const jint TOP = 2; + static const jint BELOW_TOP = 3; + static const jint ABOVE_BOTTOM = 4; + static const jint BOTTOM = 5; + static const jint BELOW_BOTTOM = 6; + static const jint DEFAULT_JUSTIFICATION = 0; + static const jint LEFT = 1; + static const jint CENTER = 2; + static const jint RIGHT = 3; + static const jint LEADING = 4; + static const jint TRAILING = 5; +public: // actually protected + static const jint EDGE_SPACING = 2; + static const jint TEXT_INSET_H = 5; + static const jint TEXT_SPACING = 2; +public: // actually package-private + static const jlong serialVersionUID = 8012999415147721601LL; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) title; + ::javax::swing::border::Border * border; + jint titlePosition; + jint titleJustification; + ::java::awt::Font * titleFont; + ::java::awt::Color * titleColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_border_TitledBorder__ diff --git a/libjava/javax/swing/colorchooser/AbstractColorChooserPanel.h b/libjava/javax/swing/colorchooser/AbstractColorChooserPanel.h new file mode 100644 index 00000000000..99a4e743fb4 --- /dev/null +++ b/libjava/javax/swing/colorchooser/AbstractColorChooserPanel.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_AbstractColorChooserPanel__ +#define __javax_swing_colorchooser_AbstractColorChooserPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JColorChooser; + namespace colorchooser + { + class AbstractColorChooserPanel; + class ColorSelectionModel; + } + } + } +} + +class javax::swing::colorchooser::AbstractColorChooserPanel : public ::javax::swing::JPanel +{ + +public: + AbstractColorChooserPanel(); + virtual ::java::lang::String * getDisplayName() = 0; + virtual jint getMnemonic(); + virtual jint getDisplayedMnemonicIndex(); + virtual void updateChooser() = 0; +public: // actually protected + virtual void buildChooser() = 0; +public: + virtual ::javax::swing::Icon * getSmallDisplayIcon() = 0; + virtual ::javax::swing::Icon * getLargeDisplayIcon() = 0; + virtual void installChooserPanel(::javax::swing::JColorChooser *); + virtual void uninstallChooserPanel(::javax::swing::JColorChooser *); + virtual ::javax::swing::colorchooser::ColorSelectionModel * getColorSelectionModel(); +public: // actually protected + virtual ::java::awt::Color * getColorFromModel(); +public: + virtual void paint(::java::awt::Graphics *); +private: + static const jlong serialVersionUID = -977469671210173863LL; + ::javax::swing::JColorChooser * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) chooser; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_AbstractColorChooserPanel__ diff --git a/libjava/javax/swing/colorchooser/ColorChooserComponentFactory.h b/libjava/javax/swing/colorchooser/ColorChooserComponentFactory.h new file mode 100644 index 00000000000..495a5d14de2 --- /dev/null +++ b/libjava/javax/swing/colorchooser/ColorChooserComponentFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_ColorChooserComponentFactory__ +#define __javax_swing_colorchooser_ColorChooserComponentFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace colorchooser + { + class AbstractColorChooserPanel; + class ColorChooserComponentFactory; + } + } + } +} + +class javax::swing::colorchooser::ColorChooserComponentFactory : public ::java::lang::Object +{ + + ColorChooserComponentFactory(); +public: + static JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > * getDefaultChooserPanels(); + static ::javax::swing::JComponent * getPreviewPanel(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_ColorChooserComponentFactory__ diff --git a/libjava/javax/swing/colorchooser/ColorSelectionModel.h b/libjava/javax/swing/colorchooser/ColorSelectionModel.h new file mode 100644 index 00000000000..93bdab49304 --- /dev/null +++ b/libjava/javax/swing/colorchooser/ColorSelectionModel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_ColorSelectionModel__ +#define __javax_swing_colorchooser_ColorSelectionModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class ColorSelectionModel; + } + namespace event + { + class ChangeListener; + } + } + } +} + +class javax::swing::colorchooser::ColorSelectionModel : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Color * getSelectedColor() = 0; + virtual void setSelectedColor(::java::awt::Color *) = 0; + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_colorchooser_ColorSelectionModel__ diff --git a/libjava/javax/swing/colorchooser/DefaultColorSelectionModel.h b/libjava/javax/swing/colorchooser/DefaultColorSelectionModel.h new file mode 100644 index 00000000000..52de9a3032c --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultColorSelectionModel.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultColorSelectionModel__ +#define __javax_swing_colorchooser_DefaultColorSelectionModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultColorSelectionModel; + } + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + } + } +} + +class javax::swing::colorchooser::DefaultColorSelectionModel : public ::java::lang::Object +{ + +public: + DefaultColorSelectionModel(); + DefaultColorSelectionModel(::java::awt::Color *); + virtual ::java::awt::Color * getSelectedColor(); + virtual void setSelectedColor(::java::awt::Color *); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireStateChanged(); +private: + static const jlong serialVersionUID = -8117143602864778804LL; + ::java::awt::Color * __attribute__((aligned(__alignof__( ::java::lang::Object)))) selectedColor; +public: // actually protected + ::javax::swing::event::ChangeEvent * changeEvent; + ::javax::swing::event::EventListenerList * listenerList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultColorSelectionModel__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$1.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$1.h new file mode 100644 index 00000000000..441c35006a6 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$1.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel$1__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultHSBChooserPanel; + class DefaultHSBChooserPanel$1; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel$1 : public ::javax::swing::JPanel +{ + +public: // actually package-private + DefaultHSBChooserPanel$1(::javax::swing::colorchooser::DefaultHSBChooserPanel *); +public: + ::java::awt::Dimension * getPreferredSize(); + void paint(::java::awt::Graphics *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultHSBChooserPanel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel$1__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$2.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$2.h new file mode 100644 index 00000000000..fa787a9286d --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$2.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel$2__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultHSBChooserPanel; + class DefaultHSBChooserPanel$2; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel$2 : public ::javax::swing::JPanel +{ + +public: // actually package-private + DefaultHSBChooserPanel$2(::javax::swing::colorchooser::DefaultHSBChooserPanel *); +public: + ::java::awt::Dimension * getPreferredSize(); + void paint(::java::awt::Graphics *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultHSBChooserPanel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel$2__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.h new file mode 100644 index 00000000000..fdac4c42fe3 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$ImageScrollListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel$ImageScrollListener__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel$ImageScrollListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultHSBChooserPanel; + class DefaultHSBChooserPanel$ImageScrollListener; + } + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel$ImageScrollListener : public ::java::lang::Object +{ + +public: // actually package-private + DefaultHSBChooserPanel$ImageScrollListener(::javax::swing::colorchooser::DefaultHSBChooserPanel *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultHSBChooserPanel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel$ImageScrollListener__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.h new file mode 100644 index 00000000000..009e2ec8442 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$MainGradientMouseListener.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel$MainGradientMouseListener__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel$MainGradientMouseListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultHSBChooserPanel; + class DefaultHSBChooserPanel$MainGradientMouseListener; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel$MainGradientMouseListener : public ::java::awt::event::MouseAdapter +{ + +public: // actually package-private + DefaultHSBChooserPanel$MainGradientMouseListener(::javax::swing::colorchooser::DefaultHSBChooserPanel *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +private: + void update(::java::awt::Point *); + void updateH(::java::awt::Point *); + void updateS(::java::awt::Point *); + void updateB(::java::awt::Point *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultHSBChooserPanel * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel$MainGradientMouseListener__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.h new file mode 100644 index 00000000000..9384d465dad --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$RadioStateListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel$RadioStateListener__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel$RadioStateListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultHSBChooserPanel; + class DefaultHSBChooserPanel$RadioStateListener; + } + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel$RadioStateListener : public ::java::lang::Object +{ + +public: // actually package-private + DefaultHSBChooserPanel$RadioStateListener(::javax::swing::colorchooser::DefaultHSBChooserPanel *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultHSBChooserPanel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel$RadioStateListener__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.h new file mode 100644 index 00000000000..22bb90d55c2 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel$SliderChangeListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel$SliderChangeListener__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel$SliderChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultHSBChooserPanel; + class DefaultHSBChooserPanel$SliderChangeListener; + } + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel$SliderChangeListener : public ::java::lang::Object +{ + +public: // actually package-private + DefaultHSBChooserPanel$SliderChangeListener(::javax::swing::colorchooser::DefaultHSBChooserPanel *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultHSBChooserPanel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel$SliderChangeListener__ diff --git a/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel.h b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel.h new file mode 100644 index 00000000000..f6fc5d95017 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultHSBChooserPanel.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultHSBChooserPanel__ +#define __javax_swing_colorchooser_DefaultHSBChooserPanel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Graphics; + class Image; + class Point; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JColorChooser; + class JLabel; + class JPanel; + class JRadioButton; + class JSlider; + class JSpinner; + namespace colorchooser + { + class DefaultHSBChooserPanel; + } + } + } +} + +class javax::swing::colorchooser::DefaultHSBChooserPanel : public ::javax::swing::colorchooser::AbstractColorChooserPanel +{ + +public: // actually package-private + DefaultHSBChooserPanel(); +public: + virtual ::java::lang::String * getDisplayName(); + virtual void updateChooser(); +public: // actually protected + virtual void buildChooser(); +public: + virtual void uninstallChooserPanel(::javax::swing::JColorChooser *); +private: + ::java::awt::Container * buildRightPanel(); +public: + virtual ::javax::swing::Icon * getSmallDisplayIcon(); + virtual ::javax::swing::Icon * getLargeDisplayIcon(); + virtual void paint(::java::awt::Graphics *); +private: + void updateHLockImage(); + void updateBLockImage(); + void updateSLockImage(); +public: // actually package-private + virtual void updateImage(); +private: + void updateTextFields(); +public: // actually package-private + virtual void updateSlider(); + virtual void updateTrack(); +private: + void updateHTrack(); + void updateSTrack(); + void updateBTrack(); + JArray< jfloat > * getHSBValues(); +public: // actually package-private + ::java::awt::Image * __attribute__((aligned(__alignof__( ::javax::swing::colorchooser::AbstractColorChooserPanel)))) gradientImage; +private: + ::javax::swing::JPanel * gradientPanel; +public: // actually package-private + ::java::awt::Image * trackImage; +private: + ::javax::swing::JPanel * trackPanel; +public: // actually package-private + ::javax::swing::JSlider * slider; + ::javax::swing::JRadioButton * hRadio; + ::javax::swing::JRadioButton * sRadio; + ::javax::swing::JRadioButton * bRadio; + ::javax::swing::JSpinner * hSpinner; + ::javax::swing::JSpinner * sSpinner; + ::javax::swing::JSpinner * bSpinner; +private: + static const jint imgWidth = 200; + static const jint imgHeight = 200; + static const jint trackWidth = 30; + static ::javax::swing::JLabel * R; + static ::javax::swing::JLabel * G; + static ::javax::swing::JLabel * B; + ::javax::swing::JLabel * rFull; + ::javax::swing::JLabel * gFull; + ::javax::swing::JLabel * bFull; +public: // actually package-private + ::java::awt::Point * gradientPoint; + jboolean internalChange; + jboolean spinnerTrigger; + jint locked; + static const jint HLOCKED = 0; + static const jint SLOCKED = 1; + static const jint BLOCKED = 2; + jboolean handlingMouse; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultHSBChooserPanel__ diff --git a/libjava/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.h b/libjava/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.h new file mode 100644 index 00000000000..f6b0997923a --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultPreviewPanel$PreviewBorder.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultPreviewPanel$PreviewBorder__ +#define __javax_swing_colorchooser_DefaultPreviewPanel$PreviewBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultPreviewPanel; + class DefaultPreviewPanel$PreviewBorder; + } + } + } +} + +class javax::swing::colorchooser::DefaultPreviewPanel$PreviewBorder : public ::java::lang::Object +{ + +public: // actually package-private + DefaultPreviewPanel$PreviewBorder(::javax::swing::colorchooser::DefaultPreviewPanel *); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static const jint edge = 20; + static const jint lead = 5; + static const jint gap = 3; +public: // actually package-private + ::javax::swing::colorchooser::DefaultPreviewPanel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultPreviewPanel$PreviewBorder__ diff --git a/libjava/javax/swing/colorchooser/DefaultPreviewPanel.h b/libjava/javax/swing/colorchooser/DefaultPreviewPanel.h new file mode 100644 index 00000000000..7348bd53b47 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultPreviewPanel.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultPreviewPanel__ +#define __javax_swing_colorchooser_DefaultPreviewPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultPreviewPanel; + } + } + } +} + +class javax::swing::colorchooser::DefaultPreviewPanel : public ::javax::swing::JPanel +{ + +public: // actually package-private + DefaultPreviewPanel(); +public: + virtual void paint(::java::awt::Graphics *); +private: + void paintSquare(::java::awt::Graphics *, jint, jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, jint, jint, jint); +public: + virtual ::java::awt::Dimension * getPreferredSize(); +private: + static jint largeGap; + static jint smallGap; + static jint squareSize; + static jint textPadding; + static jint rightSideRectWidth; + static ::java::lang::String * sample; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultPreviewPanel__ diff --git a/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.h b/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.h new file mode 100644 index 00000000000..1026b6d1a4a --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SliderHandler.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultRGBChooserPanel$SliderHandler__ +#define __javax_swing_colorchooser_DefaultRGBChooserPanel$SliderHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultRGBChooserPanel; + class DefaultRGBChooserPanel$SliderHandler; + } + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::colorchooser::DefaultRGBChooserPanel$SliderHandler : public ::java::lang::Object +{ + +public: // actually package-private + DefaultRGBChooserPanel$SliderHandler(::javax::swing::colorchooser::DefaultRGBChooserPanel *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultRGBChooserPanel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultRGBChooserPanel$SliderHandler__ diff --git a/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.h b/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.h new file mode 100644 index 00000000000..85ba288ce81 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel$SpinnerHandler.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultRGBChooserPanel$SpinnerHandler__ +#define __javax_swing_colorchooser_DefaultRGBChooserPanel$SpinnerHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultRGBChooserPanel; + class DefaultRGBChooserPanel$SpinnerHandler; + } + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::colorchooser::DefaultRGBChooserPanel$SpinnerHandler : public ::java::lang::Object +{ + +public: // actually package-private + DefaultRGBChooserPanel$SpinnerHandler(::javax::swing::colorchooser::DefaultRGBChooserPanel *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultRGBChooserPanel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultRGBChooserPanel$SpinnerHandler__ diff --git a/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel.h b/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel.h new file mode 100644 index 00000000000..c9cc7afc372 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultRGBChooserPanel.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultRGBChooserPanel__ +#define __javax_swing_colorchooser_DefaultRGBChooserPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JColorChooser; + class JLabel; + class JSlider; + class JSpinner; + namespace colorchooser + { + class DefaultRGBChooserPanel; + } + namespace event + { + class ChangeListener; + } + } + } +} + +class javax::swing::colorchooser::DefaultRGBChooserPanel : public ::javax::swing::colorchooser::AbstractColorChooserPanel +{ + +public: + DefaultRGBChooserPanel(); + virtual ::java::lang::String * getDisplayName(); + virtual void updateChooser(); +public: // actually protected + virtual void buildChooser(); +public: + virtual void uninstallChooserPanel(::javax::swing::JColorChooser *); +private: + void uninstallListeners(); + void installListeners(); +public: + virtual ::javax::swing::Icon * getSmallDisplayIcon(); + virtual ::javax::swing::Icon * getLargeDisplayIcon(); + virtual void paint(::java::awt::Graphics *); +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::javax::swing::colorchooser::AbstractColorChooserPanel)))) spinnerChange; + jboolean sliderChange; + jboolean updateChange; +private: + ::javax::swing::event::ChangeListener * colorChanger; + ::javax::swing::event::ChangeListener * spinnerHandler; +public: // actually package-private + ::javax::swing::JSlider * R; + ::javax::swing::JSlider * G; + ::javax::swing::JSlider * B; +private: + ::javax::swing::JLabel * RLabel; + ::javax::swing::JLabel * GLabel; + ::javax::swing::JLabel * BLabel; +public: // actually package-private + ::javax::swing::JSpinner * RSpinner; + ::javax::swing::JSpinner * GSpinner; + ::javax::swing::JSpinner * BSpinner; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultRGBChooserPanel__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.h new file mode 100644 index 00000000000..41193308521 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainPanelLayout.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel$MainPanelLayout__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel$MainPanelLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultSwatchChooserPanel$MainPanelLayout; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel$MainPanelLayout : public ::java::lang::Object +{ + +public: // actually package-private + DefaultSwatchChooserPanel$MainPanelLayout(); +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel$MainPanelLayout__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.h new file mode 100644 index 00000000000..9a33fe149f3 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MainSwatchPanel.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel$MainSwatchPanel__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel$MainSwatchPanel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultSwatchChooserPanel$MainSwatchPanel; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel$MainSwatchPanel : public ::javax::swing::colorchooser::DefaultSwatchChooserPanel$SwatchPanel +{ + +public: // actually package-private + DefaultSwatchChooserPanel$MainSwatchPanel(); +public: + virtual ::java::awt::Color * getColorForPosition(jint, jint); +public: // actually protected + virtual void initializeColors(); +public: + virtual void paint(::java::awt::Graphics *); + virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *); + static ::java::awt::Color * C204255255; + static ::java::awt::Color * C255204204; + static ::java::awt::Color * C204255204; + static ::java::awt::Color * C204204204; + static ::java::awt::Color * C153153255; + static ::java::awt::Color * C051051255; + static ::java::awt::Color * C153000153; + static ::java::awt::Color * C000051051; + static ::java::awt::Color * C051000051; + static ::java::awt::Color * C051051000; + static ::java::awt::Color * C102102000; + static ::java::awt::Color * C153255153; + static ::java::awt::Color * C102255102; + static ::java::awt::Color * C000102102; + static ::java::awt::Color * C102000102; + static ::java::awt::Color * C000153153; + static ::java::awt::Color * C153153000; + static ::java::awt::Color * C204204000; + static ::java::awt::Color * C204000204; + static ::java::awt::Color * C000204204; + static ::java::awt::Color * C051255051; + static ::java::awt::Color * C255051051; + static ::java::awt::Color * C255102102; + static ::java::awt::Color * C102102255; + static ::java::awt::Color * C255153153; +public: // actually package-private + static JArray< ::java::awt::Color * > * colors; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel$MainSwatchPanel__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.h new file mode 100644 index 00000000000..b1de67fc4ff --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$MouseHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel$MouseHandler__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel$MouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultSwatchChooserPanel; + class DefaultSwatchChooserPanel$MouseHandler; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel$MouseHandler : public ::java::awt::event::MouseAdapter +{ + +public: // actually package-private + DefaultSwatchChooserPanel$MouseHandler(::javax::swing::colorchooser::DefaultSwatchChooserPanel *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultSwatchChooserPanel * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel$MouseHandler__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.h new file mode 100644 index 00000000000..d4ce35b1808 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentPanelLayout.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel$RecentPanelLayout__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel$RecentPanelLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultSwatchChooserPanel$RecentPanelLayout; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel$RecentPanelLayout : public ::java::lang::Object +{ + +public: // actually package-private + DefaultSwatchChooserPanel$RecentPanelLayout(); +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel$RecentPanelLayout__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.h new file mode 100644 index 00000000000..bbb78b807d9 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$RecentSwatchPanel.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel$RecentSwatchPanel__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel$RecentSwatchPanel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultSwatchChooserPanel$RecentSwatchPanel; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel$RecentSwatchPanel : public ::javax::swing::colorchooser::DefaultSwatchChooserPanel$SwatchPanel +{ + +public: // actually package-private + DefaultSwatchChooserPanel$RecentSwatchPanel(); +public: + virtual ::java::awt::Color * getColorForPosition(jint, jint); +public: // actually protected + virtual void initializeColors(); +private: + jint getIndexForCell(jint, jint); +public: // actually package-private + virtual void addColorToQueue(::java::awt::Color *); +public: + virtual void paint(::java::awt::Graphics *); + virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *); +public: // actually package-private + JArray< ::java::awt::Color * > * __attribute__((aligned(__alignof__( ::javax::swing::colorchooser::DefaultSwatchChooserPanel$SwatchPanel)))) colors; +public: + static ::java::awt::Color * defaultColor; +public: // actually package-private + jint start; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel$RecentSwatchPanel__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.h new file mode 100644 index 00000000000..39c05392648 --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel$SwatchPanel.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel$SwatchPanel__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel$SwatchPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace colorchooser + { + class DefaultSwatchChooserPanel$SwatchPanel; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel$SwatchPanel : public ::javax::swing::JPanel +{ + +public: // actually package-private + DefaultSwatchChooserPanel$SwatchPanel(); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Color * getColorForPosition(jint, jint) = 0; +public: // actually protected + virtual void initializeColors() = 0; + jint __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) cellWidth; + jint cellHeight; + jint gap; + jint numRows; + jint numCols; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel$SwatchPanel__ diff --git a/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel.h b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel.h new file mode 100644 index 00000000000..8db2fc6648c --- /dev/null +++ b/libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_colorchooser_DefaultSwatchChooserPanel__ +#define __javax_swing_colorchooser_DefaultSwatchChooserPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + namespace event + { + class MouseEvent; + class MouseListener; + } + } + } + namespace javax + { + namespace swing + { + class Icon; + class JColorChooser; + namespace colorchooser + { + class DefaultSwatchChooserPanel; + class DefaultSwatchChooserPanel$MainSwatchPanel; + class DefaultSwatchChooserPanel$RecentSwatchPanel; + } + } + } +} + +class javax::swing::colorchooser::DefaultSwatchChooserPanel : public ::javax::swing::colorchooser::AbstractColorChooserPanel +{ + +public: // actually package-private + DefaultSwatchChooserPanel(); +public: + virtual void updateChooser(); +public: // actually protected + virtual void buildChooser(); +public: + virtual void uninstallChooserPanel(::javax::swing::JColorChooser *); + virtual ::java::lang::String * getDisplayName(); + virtual ::javax::swing::Icon * getSmallDisplayIcon(); + virtual ::javax::swing::Icon * getLargeDisplayIcon(); + virtual void paint(::java::awt::Graphics *); + virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::colorchooser::DefaultSwatchChooserPanel$MainSwatchPanel * __attribute__((aligned(__alignof__( ::javax::swing::colorchooser::AbstractColorChooserPanel)))) mainPalette; + ::javax::swing::colorchooser::DefaultSwatchChooserPanel$RecentSwatchPanel * recentPalette; + ::java::awt::event::MouseListener * mouseHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_colorchooser_DefaultSwatchChooserPanel__ diff --git a/libjava/javax/swing/event/AncestorEvent.h b/libjava/javax/swing/event/AncestorEvent.h new file mode 100644 index 00000000000..6966e58fc64 --- /dev/null +++ b/libjava/javax/swing/event/AncestorEvent.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_AncestorEvent__ +#define __javax_swing_event_AncestorEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace event + { + class AncestorEvent; + } + } + } +} + +class javax::swing::event::AncestorEvent : public ::java::awt::AWTEvent +{ + +public: + AncestorEvent(::javax::swing::JComponent *, jint, ::java::awt::Container *, ::java::awt::Container *); + virtual ::java::awt::Container * getAncestor(); + virtual ::java::awt::Container * getAncestorParent(); + virtual ::javax::swing::JComponent * getComponent(); +private: + static const jlong serialVersionUID = -8079801679695605002LL; +public: + static const jint ANCESTOR_ADDED = 1; + static const jint ANCESTOR_REMOVED = 2; + static const jint ANCESTOR_MOVED = 3; +private: + ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::java::awt::AWTEvent)))) sourceComponent; + ::java::awt::Container * ancestor; + ::java::awt::Container * ancestorParent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_AncestorEvent__ diff --git a/libjava/javax/swing/event/AncestorListener.h b/libjava/javax/swing/event/AncestorListener.h new file mode 100644 index 00000000000..2e2a162c03d --- /dev/null +++ b/libjava/javax/swing/event/AncestorListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_AncestorListener__ +#define __javax_swing_event_AncestorListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class AncestorEvent; + class AncestorListener; + } + } + } +} + +class javax::swing::event::AncestorListener : public ::java::lang::Object +{ + +public: + virtual void ancestorAdded(::javax::swing::event::AncestorEvent *) = 0; + virtual void ancestorRemoved(::javax::swing::event::AncestorEvent *) = 0; + virtual void ancestorMoved(::javax::swing::event::AncestorEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_AncestorListener__ diff --git a/libjava/javax/swing/event/CaretEvent.h b/libjava/javax/swing/event/CaretEvent.h new file mode 100644 index 00000000000..29f32e8d0dc --- /dev/null +++ b/libjava/javax/swing/event/CaretEvent.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_CaretEvent__ +#define __javax_swing_event_CaretEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class CaretEvent; + } + } + } +} + +class javax::swing::event::CaretEvent : public ::java::util::EventObject +{ + +public: + CaretEvent(::java::lang::Object *); + virtual jint getDot() = 0; + virtual jint getMark() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_CaretEvent__ diff --git a/libjava/javax/swing/event/CaretListener.h b/libjava/javax/swing/event/CaretListener.h new file mode 100644 index 00000000000..9169c866aea --- /dev/null +++ b/libjava/javax/swing/event/CaretListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_CaretListener__ +#define __javax_swing_event_CaretListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class CaretEvent; + class CaretListener; + } + } + } +} + +class javax::swing::event::CaretListener : public ::java::lang::Object +{ + +public: + virtual void caretUpdate(::javax::swing::event::CaretEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_CaretListener__ diff --git a/libjava/javax/swing/event/CellEditorListener.h b/libjava/javax/swing/event/CellEditorListener.h new file mode 100644 index 00000000000..8f4bcfeb5d1 --- /dev/null +++ b/libjava/javax/swing/event/CellEditorListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_CellEditorListener__ +#define __javax_swing_event_CellEditorListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class CellEditorListener; + class ChangeEvent; + } + } + } +} + +class javax::swing::event::CellEditorListener : public ::java::lang::Object +{ + +public: + virtual void editingCanceled(::javax::swing::event::ChangeEvent *) = 0; + virtual void editingStopped(::javax::swing::event::ChangeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_CellEditorListener__ diff --git a/libjava/javax/swing/event/ChangeEvent.h b/libjava/javax/swing/event/ChangeEvent.h new file mode 100644 index 00000000000..afec4258b6a --- /dev/null +++ b/libjava/javax/swing/event/ChangeEvent.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_ChangeEvent__ +#define __javax_swing_event_ChangeEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + } + } +} + +class javax::swing::event::ChangeEvent : public ::java::util::EventObject +{ + +public: + ChangeEvent(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_ChangeEvent__ diff --git a/libjava/javax/swing/event/ChangeListener.h b/libjava/javax/swing/event/ChangeListener.h new file mode 100644 index 00000000000..fc80ec7fe6d --- /dev/null +++ b/libjava/javax/swing/event/ChangeListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_ChangeListener__ +#define __javax_swing_event_ChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + class ChangeListener; + } + } + } +} + +class javax::swing::event::ChangeListener : public ::java::lang::Object +{ + +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_ChangeListener__ diff --git a/libjava/javax/swing/event/DocumentEvent$ElementChange.h b/libjava/javax/swing/event/DocumentEvent$ElementChange.h new file mode 100644 index 00000000000..c94fc69413c --- /dev/null +++ b/libjava/javax/swing/event/DocumentEvent$ElementChange.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_DocumentEvent$ElementChange__ +#define __javax_swing_event_DocumentEvent$ElementChange__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent$ElementChange; + } + namespace text + { + class Element; + } + } + } +} + +class javax::swing::event::DocumentEvent$ElementChange : public ::java::lang::Object +{ + +public: + virtual jint getIndex() = 0; + virtual ::javax::swing::text::Element * getElement() = 0; + virtual JArray< ::javax::swing::text::Element * > * getChildrenRemoved() = 0; + virtual JArray< ::javax::swing::text::Element * > * getChildrenAdded() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_DocumentEvent$ElementChange__ diff --git a/libjava/javax/swing/event/DocumentEvent$EventType.h b/libjava/javax/swing/event/DocumentEvent$EventType.h new file mode 100644 index 00000000000..b09a8e2bf3b --- /dev/null +++ b/libjava/javax/swing/event/DocumentEvent$EventType.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_DocumentEvent$EventType__ +#define __javax_swing_event_DocumentEvent$EventType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent$EventType; + } + } + } +} + +class javax::swing::event::DocumentEvent$EventType : public ::java::lang::Object +{ + + DocumentEvent$EventType(::java::lang::String *); +public: + ::java::lang::String * toString(); + static ::javax::swing::event::DocumentEvent$EventType * INSERT; + static ::javax::swing::event::DocumentEvent$EventType * REMOVE; + static ::javax::swing::event::DocumentEvent$EventType * CHANGE; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_DocumentEvent$EventType__ diff --git a/libjava/javax/swing/event/DocumentEvent.h b/libjava/javax/swing/event/DocumentEvent.h new file mode 100644 index 00000000000..7d6587d2fcc --- /dev/null +++ b/libjava/javax/swing/event/DocumentEvent.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_DocumentEvent__ +#define __javax_swing_event_DocumentEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + class DocumentEvent$ElementChange; + class DocumentEvent$EventType; + } + namespace text + { + class Document; + class Element; + } + } + } +} + +class javax::swing::event::DocumentEvent : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::event::DocumentEvent$EventType * getType() = 0; + virtual jint getOffset() = 0; + virtual jint getLength() = 0; + virtual ::javax::swing::text::Document * getDocument() = 0; + virtual ::javax::swing::event::DocumentEvent$ElementChange * getChange(::javax::swing::text::Element *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_DocumentEvent__ diff --git a/libjava/javax/swing/event/DocumentListener.h b/libjava/javax/swing/event/DocumentListener.h new file mode 100644 index 00000000000..e836e5f3f23 --- /dev/null +++ b/libjava/javax/swing/event/DocumentListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_DocumentListener__ +#define __javax_swing_event_DocumentListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + class DocumentListener; + } + } + } +} + +class javax::swing::event::DocumentListener : public ::java::lang::Object +{ + +public: + virtual void changedUpdate(::javax::swing::event::DocumentEvent *) = 0; + virtual void insertUpdate(::javax::swing::event::DocumentEvent *) = 0; + virtual void removeUpdate(::javax::swing::event::DocumentEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_DocumentListener__ diff --git a/libjava/javax/swing/event/EventListenerList.h b/libjava/javax/swing/event/EventListenerList.h new file mode 100644 index 00000000000..25209af6269 --- /dev/null +++ b/libjava/javax/swing/event/EventListenerList.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_EventListenerList__ +#define __javax_swing_event_EventListenerList__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class EventListenerList; + } + } + } +} + +class javax::swing::event::EventListenerList : public ::java::lang::Object +{ + +public: + EventListenerList(); + virtual void add(::java::lang::Class *, ::java::util::EventListener *); + virtual jint getListenerCount(); + virtual jint getListenerCount(::java::lang::Class *); + virtual JArray< ::java::lang::Object * > * getListenerList(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual void remove(::java::lang::Class *, ::java::util::EventListener *); + virtual ::java::lang::String * toString(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: // actually package-private + static const jlong serialVersionUID = -5677132037850737084LL; +private: + static JArray< ::java::lang::Object * > * NO_LISTENERS; +public: // actually protected + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_EventListenerList__ diff --git a/libjava/javax/swing/event/HyperlinkEvent$EventType.h b/libjava/javax/swing/event/HyperlinkEvent$EventType.h new file mode 100644 index 00000000000..65bc22e17d4 --- /dev/null +++ b/libjava/javax/swing/event/HyperlinkEvent$EventType.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_HyperlinkEvent$EventType__ +#define __javax_swing_event_HyperlinkEvent$EventType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class HyperlinkEvent$EventType; + } + } + } +} + +class javax::swing::event::HyperlinkEvent$EventType : public ::java::lang::Object +{ + + HyperlinkEvent$EventType(::java::lang::String *); +public: + ::java::lang::String * toString(); + static ::javax::swing::event::HyperlinkEvent$EventType * ENTERED; + static ::javax::swing::event::HyperlinkEvent$EventType * EXITED; + static ::javax::swing::event::HyperlinkEvent$EventType * ACTIVATED; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_HyperlinkEvent$EventType__ diff --git a/libjava/javax/swing/event/HyperlinkEvent.h b/libjava/javax/swing/event/HyperlinkEvent.h new file mode 100644 index 00000000000..af86e8c1f28 --- /dev/null +++ b/libjava/javax/swing/event/HyperlinkEvent.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_HyperlinkEvent__ +#define __javax_swing_event_HyperlinkEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class HyperlinkEvent; + class HyperlinkEvent$EventType; + } + namespace text + { + class Element; + } + } + } +} + +class javax::swing::event::HyperlinkEvent : public ::java::util::EventObject +{ + +public: + HyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *); + HyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::java::lang::String *); + HyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::java::lang::String *, ::javax::swing::text::Element *); + virtual ::javax::swing::text::Element * getSourceElement(); + virtual ::java::net::URL * getURL(); + virtual ::javax::swing::event::HyperlinkEvent$EventType * getEventType(); + virtual ::java::lang::String * getDescription(); +private: + static const jlong serialVersionUID = -2054640811732867012LL; + ::javax::swing::event::HyperlinkEvent$EventType * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) type; + ::java::net::URL * url; + ::java::lang::String * description; + ::javax::swing::text::Element * element; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_HyperlinkEvent__ diff --git a/libjava/javax/swing/event/HyperlinkListener.h b/libjava/javax/swing/event/HyperlinkListener.h new file mode 100644 index 00000000000..ab76042e6b1 --- /dev/null +++ b/libjava/javax/swing/event/HyperlinkListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_HyperlinkListener__ +#define __javax_swing_event_HyperlinkListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class HyperlinkEvent; + class HyperlinkListener; + } + } + } +} + +class javax::swing::event::HyperlinkListener : public ::java::lang::Object +{ + +public: + virtual void hyperlinkUpdate(::javax::swing::event::HyperlinkEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_HyperlinkListener__ diff --git a/libjava/javax/swing/event/InternalFrameAdapter.h b/libjava/javax/swing/event/InternalFrameAdapter.h new file mode 100644 index 00000000000..53aa9ba7a00 --- /dev/null +++ b/libjava/javax/swing/event/InternalFrameAdapter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_InternalFrameAdapter__ +#define __javax_swing_event_InternalFrameAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class InternalFrameAdapter; + class InternalFrameEvent; + } + } + } +} + +class javax::swing::event::InternalFrameAdapter : public ::java::lang::Object +{ + +public: + InternalFrameAdapter(); + virtual void internalFrameActivated(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameClosed(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameClosing(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameDeactivated(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameDeiconified(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameIconified(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameOpened(::javax::swing::event::InternalFrameEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_InternalFrameAdapter__ diff --git a/libjava/javax/swing/event/InternalFrameEvent.h b/libjava/javax/swing/event/InternalFrameEvent.h new file mode 100644 index 00000000000..e8ec9e17d0f --- /dev/null +++ b/libjava/javax/swing/event/InternalFrameEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_InternalFrameEvent__ +#define __javax_swing_event_InternalFrameEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JInternalFrame; + namespace event + { + class InternalFrameEvent; + } + } + } +} + +class javax::swing::event::InternalFrameEvent : public ::java::awt::AWTEvent +{ + +public: + InternalFrameEvent(::javax::swing::JInternalFrame *, jint); + virtual ::javax::swing::JInternalFrame * getInternalFrame(); + virtual ::java::lang::String * paramString(); +private: + static const jlong serialVersionUID = -5204823611874873183LL; +public: + static const jint INTERNAL_FRAME_ACTIVATED = 25554; + static const jint INTERNAL_FRAME_CLOSED = 25551; + static const jint INTERNAL_FRAME_CLOSING = 25550; + static const jint INTERNAL_FRAME_DEACTIVATED = 25555; + static const jint INTERNAL_FRAME_DEICONIFIED = 25553; + static const jint INTERNAL_FRAME_FIRST = 25549; + static const jint INTERNAL_FRAME_ICONIFIED = 25552; + static const jint INTERNAL_FRAME_LAST = 25555; + static const jint INTERNAL_FRAME_OPENED = 25549; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_InternalFrameEvent__ diff --git a/libjava/javax/swing/event/InternalFrameListener.h b/libjava/javax/swing/event/InternalFrameListener.h new file mode 100644 index 00000000000..03f3e3b8c68 --- /dev/null +++ b/libjava/javax/swing/event/InternalFrameListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_InternalFrameListener__ +#define __javax_swing_event_InternalFrameListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class InternalFrameEvent; + class InternalFrameListener; + } + } + } +} + +class javax::swing::event::InternalFrameListener : public ::java::lang::Object +{ + +public: + virtual void internalFrameActivated(::javax::swing::event::InternalFrameEvent *) = 0; + virtual void internalFrameClosed(::javax::swing::event::InternalFrameEvent *) = 0; + virtual void internalFrameClosing(::javax::swing::event::InternalFrameEvent *) = 0; + virtual void internalFrameDeactivated(::javax::swing::event::InternalFrameEvent *) = 0; + virtual void internalFrameDeiconified(::javax::swing::event::InternalFrameEvent *) = 0; + virtual void internalFrameIconified(::javax::swing::event::InternalFrameEvent *) = 0; + virtual void internalFrameOpened(::javax::swing::event::InternalFrameEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_InternalFrameListener__ diff --git a/libjava/javax/swing/event/ListDataEvent.h b/libjava/javax/swing/event/ListDataEvent.h new file mode 100644 index 00000000000..35920f22c78 --- /dev/null +++ b/libjava/javax/swing/event/ListDataEvent.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_ListDataEvent__ +#define __javax_swing_event_ListDataEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListDataEvent; + } + } + } +} + +class javax::swing::event::ListDataEvent : public ::java::util::EventObject +{ + +public: + ListDataEvent(::java::lang::Object *, jint, jint, jint); + virtual jint getIndex0(); + virtual jint getIndex1(); + virtual jint getType(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 2510353260071004774LL; +public: + static const jint CONTENTS_CHANGED = 0; + static const jint INTERVAL_ADDED = 1; + static const jint INTERVAL_REMOVED = 2; +private: + jint __attribute__((aligned(__alignof__( ::java::util::EventObject)))) type; + jint index0; + jint index1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_ListDataEvent__ diff --git a/libjava/javax/swing/event/ListDataListener.h b/libjava/javax/swing/event/ListDataListener.h new file mode 100644 index 00000000000..b00dfb139f8 --- /dev/null +++ b/libjava/javax/swing/event/ListDataListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_ListDataListener__ +#define __javax_swing_event_ListDataListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListDataEvent; + class ListDataListener; + } + } + } +} + +class javax::swing::event::ListDataListener : public ::java::lang::Object +{ + +public: + virtual void contentsChanged(::javax::swing::event::ListDataEvent *) = 0; + virtual void intervalAdded(::javax::swing::event::ListDataEvent *) = 0; + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_ListDataListener__ diff --git a/libjava/javax/swing/event/ListSelectionEvent.h b/libjava/javax/swing/event/ListSelectionEvent.h new file mode 100644 index 00000000000..b981d49f2be --- /dev/null +++ b/libjava/javax/swing/event/ListSelectionEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_ListSelectionEvent__ +#define __javax_swing_event_ListSelectionEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListSelectionEvent; + } + } + } +} + +class javax::swing::event::ListSelectionEvent : public ::java::util::EventObject +{ + +public: + ListSelectionEvent(::java::lang::Object *, jint, jint, jboolean); + virtual jint getFirstIndex(); + virtual jint getLastIndex(); + virtual jboolean getValueIsAdjusting(); + virtual ::java::lang::String * toString(); +private: + jint __attribute__((aligned(__alignof__( ::java::util::EventObject)))) firstIndex; + jint lastIndex; + jboolean isAdjusting; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_ListSelectionEvent__ diff --git a/libjava/javax/swing/event/ListSelectionListener.h b/libjava/javax/swing/event/ListSelectionListener.h new file mode 100644 index 00000000000..252c9b5541d --- /dev/null +++ b/libjava/javax/swing/event/ListSelectionListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_ListSelectionListener__ +#define __javax_swing_event_ListSelectionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListSelectionEvent; + class ListSelectionListener; + } + } + } +} + +class javax::swing::event::ListSelectionListener : public ::java::lang::Object +{ + +public: + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_ListSelectionListener__ diff --git a/libjava/javax/swing/event/MenuDragMouseEvent.h b/libjava/javax/swing/event/MenuDragMouseEvent.h new file mode 100644 index 00000000000..aa19d3c3655 --- /dev/null +++ b/libjava/javax/swing/event/MenuDragMouseEvent.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MenuDragMouseEvent__ +#define __javax_swing_event_MenuDragMouseEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class MenuElement; + class MenuSelectionManager; + namespace event + { + class MenuDragMouseEvent; + } + } + } +} + +class javax::swing::event::MenuDragMouseEvent : public ::java::awt::event::MouseEvent +{ + +public: + MenuDragMouseEvent(::java::awt::Component *, jint, jlong, jint, jint, jint, jint, jboolean, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual JArray< ::javax::swing::MenuElement * > * getPath(); + virtual ::javax::swing::MenuSelectionManager * getMenuSelectionManager(); +private: + JArray< ::javax::swing::MenuElement * > * __attribute__((aligned(__alignof__( ::java::awt::event::MouseEvent)))) path; + ::javax::swing::MenuSelectionManager * manager; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_MenuDragMouseEvent__ diff --git a/libjava/javax/swing/event/MenuDragMouseListener.h b/libjava/javax/swing/event/MenuDragMouseListener.h new file mode 100644 index 00000000000..760fe8448d3 --- /dev/null +++ b/libjava/javax/swing/event/MenuDragMouseListener.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MenuDragMouseListener__ +#define __javax_swing_event_MenuDragMouseListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuDragMouseEvent; + class MenuDragMouseListener; + } + } + } +} + +class javax::swing::event::MenuDragMouseListener : public ::java::lang::Object +{ + +public: + virtual void menuDragMouseDragged(::javax::swing::event::MenuDragMouseEvent *) = 0; + virtual void menuDragMouseEntered(::javax::swing::event::MenuDragMouseEvent *) = 0; + virtual void menuDragMouseExited(::javax::swing::event::MenuDragMouseEvent *) = 0; + virtual void menuDragMouseReleased(::javax::swing::event::MenuDragMouseEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_MenuDragMouseListener__ diff --git a/libjava/javax/swing/event/MenuEvent.h b/libjava/javax/swing/event/MenuEvent.h new file mode 100644 index 00000000000..988e7405979 --- /dev/null +++ b/libjava/javax/swing/event/MenuEvent.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MenuEvent__ +#define __javax_swing_event_MenuEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuEvent; + } + } + } +} + +class javax::swing::event::MenuEvent : public ::java::util::EventObject +{ + +public: + MenuEvent(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_MenuEvent__ diff --git a/libjava/javax/swing/event/MenuKeyEvent.h b/libjava/javax/swing/event/MenuKeyEvent.h new file mode 100644 index 00000000000..ac61c98693e --- /dev/null +++ b/libjava/javax/swing/event/MenuKeyEvent.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MenuKeyEvent__ +#define __javax_swing_event_MenuKeyEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class MenuElement; + class MenuSelectionManager; + namespace event + { + class MenuKeyEvent; + } + } + } +} + +class javax::swing::event::MenuKeyEvent : public ::java::awt::event::KeyEvent +{ + +public: + MenuKeyEvent(::java::awt::Component *, jint, jlong, jint, jint, jchar, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + virtual JArray< ::javax::swing::MenuElement * > * getPath(); + virtual ::javax::swing::MenuSelectionManager * getMenuSelectionManager(); +private: + JArray< ::javax::swing::MenuElement * > * __attribute__((aligned(__alignof__( ::java::awt::event::KeyEvent)))) path; + ::javax::swing::MenuSelectionManager * manager; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_MenuKeyEvent__ diff --git a/libjava/javax/swing/event/MenuKeyListener.h b/libjava/javax/swing/event/MenuKeyListener.h new file mode 100644 index 00000000000..cec8947cdd7 --- /dev/null +++ b/libjava/javax/swing/event/MenuKeyListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MenuKeyListener__ +#define __javax_swing_event_MenuKeyListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuKeyEvent; + class MenuKeyListener; + } + } + } +} + +class javax::swing::event::MenuKeyListener : public ::java::lang::Object +{ + +public: + virtual void menuKeyPressed(::javax::swing::event::MenuKeyEvent *) = 0; + virtual void menuKeyReleased(::javax::swing::event::MenuKeyEvent *) = 0; + virtual void menuKeyTyped(::javax::swing::event::MenuKeyEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_MenuKeyListener__ diff --git a/libjava/javax/swing/event/MenuListener.h b/libjava/javax/swing/event/MenuListener.h new file mode 100644 index 00000000000..356a633bcb8 --- /dev/null +++ b/libjava/javax/swing/event/MenuListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MenuListener__ +#define __javax_swing_event_MenuListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuEvent; + class MenuListener; + } + } + } +} + +class javax::swing::event::MenuListener : public ::java::lang::Object +{ + +public: + virtual void menuCanceled(::javax::swing::event::MenuEvent *) = 0; + virtual void menuDeselected(::javax::swing::event::MenuEvent *) = 0; + virtual void menuSelected(::javax::swing::event::MenuEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_MenuListener__ diff --git a/libjava/javax/swing/event/MouseInputAdapter.h b/libjava/javax/swing/event/MouseInputAdapter.h new file mode 100644 index 00000000000..05e75898539 --- /dev/null +++ b/libjava/javax/swing/event/MouseInputAdapter.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MouseInputAdapter__ +#define __javax_swing_event_MouseInputAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace event + { + class MouseInputAdapter; + } + } + } +} + +class javax::swing::event::MouseInputAdapter : public ::java::lang::Object +{ + +public: + MouseInputAdapter(); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_MouseInputAdapter__ diff --git a/libjava/javax/swing/event/MouseInputListener.h b/libjava/javax/swing/event/MouseInputListener.h new file mode 100644 index 00000000000..10deab46527 --- /dev/null +++ b/libjava/javax/swing/event/MouseInputListener.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_MouseInputListener__ +#define __javax_swing_event_MouseInputListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace event + { + class MouseInputListener; + } + } + } +} + +class javax::swing::event::MouseInputListener : public ::java::lang::Object +{ + +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *) = 0; + virtual void mousePressed(::java::awt::event::MouseEvent *) = 0; + virtual void mouseReleased(::java::awt::event::MouseEvent *) = 0; + virtual void mouseEntered(::java::awt::event::MouseEvent *) = 0; + virtual void mouseExited(::java::awt::event::MouseEvent *) = 0; + virtual void mouseDragged(::java::awt::event::MouseEvent *) = 0; + virtual void mouseMoved(::java::awt::event::MouseEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_MouseInputListener__ diff --git a/libjava/javax/swing/event/PopupMenuEvent.h b/libjava/javax/swing/event/PopupMenuEvent.h new file mode 100644 index 00000000000..4292f10c652 --- /dev/null +++ b/libjava/javax/swing/event/PopupMenuEvent.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_PopupMenuEvent__ +#define __javax_swing_event_PopupMenuEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class PopupMenuEvent; + } + } + } +} + +class javax::swing::event::PopupMenuEvent : public ::java::util::EventObject +{ + +public: + PopupMenuEvent(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_PopupMenuEvent__ diff --git a/libjava/javax/swing/event/PopupMenuListener.h b/libjava/javax/swing/event/PopupMenuListener.h new file mode 100644 index 00000000000..8446bc3a254 --- /dev/null +++ b/libjava/javax/swing/event/PopupMenuListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_PopupMenuListener__ +#define __javax_swing_event_PopupMenuListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class PopupMenuEvent; + class PopupMenuListener; + } + } + } +} + +class javax::swing::event::PopupMenuListener : public ::java::lang::Object +{ + +public: + virtual void popupMenuCanceled(::javax::swing::event::PopupMenuEvent *) = 0; + virtual void popupMenuWillBecomeInvisible(::javax::swing::event::PopupMenuEvent *) = 0; + virtual void popupMenuWillBecomeVisible(::javax::swing::event::PopupMenuEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_PopupMenuListener__ diff --git a/libjava/javax/swing/event/SwingPropertyChangeSupport.h b/libjava/javax/swing/event/SwingPropertyChangeSupport.h new file mode 100644 index 00000000000..7d997085c0f --- /dev/null +++ b/libjava/javax/swing/event/SwingPropertyChangeSupport.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_SwingPropertyChangeSupport__ +#define __javax_swing_event_SwingPropertyChangeSupport__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class SwingPropertyChangeSupport; + } + } + } +} + +class javax::swing::event::SwingPropertyChangeSupport : public ::java::beans::PropertyChangeSupport +{ + +public: + SwingPropertyChangeSupport(::java::lang::Object *); +private: + static const jlong serialVersionUID = 7162625831330845068LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_SwingPropertyChangeSupport__ diff --git a/libjava/javax/swing/event/TableColumnModelEvent.h b/libjava/javax/swing/event/TableColumnModelEvent.h new file mode 100644 index 00000000000..0de5a8f5138 --- /dev/null +++ b/libjava/javax/swing/event/TableColumnModelEvent.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TableColumnModelEvent__ +#define __javax_swing_event_TableColumnModelEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TableColumnModelEvent; + } + namespace table + { + class TableColumnModel; + } + } + } +} + +class javax::swing::event::TableColumnModelEvent : public ::java::util::EventObject +{ + +public: + TableColumnModelEvent(::javax::swing::table::TableColumnModel *, jint, jint); + virtual jint getFromIndex(); + virtual jint getToIndex(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::util::EventObject)))) fromIndex; + jint toIndex; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_TableColumnModelEvent__ diff --git a/libjava/javax/swing/event/TableColumnModelListener.h b/libjava/javax/swing/event/TableColumnModelListener.h new file mode 100644 index 00000000000..3712b2e27e8 --- /dev/null +++ b/libjava/javax/swing/event/TableColumnModelListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TableColumnModelListener__ +#define __javax_swing_event_TableColumnModelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + class ListSelectionEvent; + class TableColumnModelEvent; + class TableColumnModelListener; + } + } + } +} + +class javax::swing::event::TableColumnModelListener : public ::java::lang::Object +{ + +public: + virtual void columnAdded(::javax::swing::event::TableColumnModelEvent *) = 0; + virtual void columnMarginChanged(::javax::swing::event::ChangeEvent *) = 0; + virtual void columnMoved(::javax::swing::event::TableColumnModelEvent *) = 0; + virtual void columnRemoved(::javax::swing::event::TableColumnModelEvent *) = 0; + virtual void columnSelectionChanged(::javax::swing::event::ListSelectionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_TableColumnModelListener__ diff --git a/libjava/javax/swing/event/TableModelEvent.h b/libjava/javax/swing/event/TableModelEvent.h new file mode 100644 index 00000000000..dff48f5eb68 --- /dev/null +++ b/libjava/javax/swing/event/TableModelEvent.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TableModelEvent__ +#define __javax_swing_event_TableModelEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TableModelEvent; + } + namespace table + { + class TableModel; + } + } + } +} + +class javax::swing::event::TableModelEvent : public ::java::util::EventObject +{ + +public: + TableModelEvent(::javax::swing::table::TableModel *); + TableModelEvent(::javax::swing::table::TableModel *, jint); + TableModelEvent(::javax::swing::table::TableModel *, jint, jint); + TableModelEvent(::javax::swing::table::TableModel *, jint, jint, jint); + TableModelEvent(::javax::swing::table::TableModel *, jint, jint, jint, jint); + virtual jint getColumn(); + virtual jint getFirstRow(); + virtual jint getLastRow(); + virtual jint getType(); +private: + static const jlong serialVersionUID = -7849342674552212824LL; +public: + static const jint ALL_COLUMNS = -1; + static const jint DELETE = -1; + static const jint HEADER_ROW = -1; + static const jint INSERT = 1; + static const jint UPDATE = 0; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::util::EventObject)))) column; + jint firstRow; + jint lastRow; + jint type; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_TableModelEvent__ diff --git a/libjava/javax/swing/event/TableModelListener.h b/libjava/javax/swing/event/TableModelListener.h new file mode 100644 index 00000000000..db47af49fdb --- /dev/null +++ b/libjava/javax/swing/event/TableModelListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TableModelListener__ +#define __javax_swing_event_TableModelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TableModelEvent; + class TableModelListener; + } + } + } +} + +class javax::swing::event::TableModelListener : public ::java::lang::Object +{ + +public: + virtual void tableChanged(::javax::swing::event::TableModelEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_TableModelListener__ diff --git a/libjava/javax/swing/event/TreeExpansionEvent.h b/libjava/javax/swing/event/TreeExpansionEvent.h new file mode 100644 index 00000000000..8694a2b3307 --- /dev/null +++ b/libjava/javax/swing/event/TreeExpansionEvent.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeExpansionEvent__ +#define __javax_swing_event_TreeExpansionEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeExpansionEvent; + } + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::event::TreeExpansionEvent : public ::java::util::EventObject +{ + +public: + TreeExpansionEvent(::java::lang::Object *, ::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getPath(); +public: // actually protected + ::javax::swing::tree::TreePath * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) path; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_TreeExpansionEvent__ diff --git a/libjava/javax/swing/event/TreeExpansionListener.h b/libjava/javax/swing/event/TreeExpansionListener.h new file mode 100644 index 00000000000..86960dbccaf --- /dev/null +++ b/libjava/javax/swing/event/TreeExpansionListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeExpansionListener__ +#define __javax_swing_event_TreeExpansionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeExpansionEvent; + class TreeExpansionListener; + } + } + } +} + +class javax::swing::event::TreeExpansionListener : public ::java::lang::Object +{ + +public: + virtual void treeCollapsed(::javax::swing::event::TreeExpansionEvent *) = 0; + virtual void treeExpanded(::javax::swing::event::TreeExpansionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_TreeExpansionListener__ diff --git a/libjava/javax/swing/event/TreeModelEvent.h b/libjava/javax/swing/event/TreeModelEvent.h new file mode 100644 index 00000000000..857ebf532bd --- /dev/null +++ b/libjava/javax/swing/event/TreeModelEvent.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeModelEvent__ +#define __javax_swing_event_TreeModelEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelEvent; + } + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::event::TreeModelEvent : public ::java::util::EventObject +{ + +public: + TreeModelEvent(::java::lang::Object *, JArray< ::java::lang::Object * > *); + TreeModelEvent(::java::lang::Object *, JArray< ::java::lang::Object * > *, JArray< jint > *, JArray< ::java::lang::Object * > *); + TreeModelEvent(::java::lang::Object *, ::javax::swing::tree::TreePath *); + TreeModelEvent(::java::lang::Object *, ::javax::swing::tree::TreePath *, JArray< jint > *, JArray< ::java::lang::Object * > *); + virtual JArray< jint > * getChildIndices(); + virtual JArray< ::java::lang::Object * > * getChildren(); + virtual JArray< ::java::lang::Object * > * getPath(); + virtual ::javax::swing::tree::TreePath * getTreePath(); + virtual ::java::lang::String * toString(); +public: // actually protected + JArray< jint > * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) childIndices; + JArray< ::java::lang::Object * > * children; + ::javax::swing::tree::TreePath * path; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_TreeModelEvent__ diff --git a/libjava/javax/swing/event/TreeModelListener.h b/libjava/javax/swing/event/TreeModelListener.h new file mode 100644 index 00000000000..cde0849debe --- /dev/null +++ b/libjava/javax/swing/event/TreeModelListener.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeModelListener__ +#define __javax_swing_event_TreeModelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelEvent; + class TreeModelListener; + } + } + } +} + +class javax::swing::event::TreeModelListener : public ::java::lang::Object +{ + +public: + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *) = 0; + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *) = 0; + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *) = 0; + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_TreeModelListener__ diff --git a/libjava/javax/swing/event/TreeSelectionEvent.h b/libjava/javax/swing/event/TreeSelectionEvent.h new file mode 100644 index 00000000000..82bdfd61db5 --- /dev/null +++ b/libjava/javax/swing/event/TreeSelectionEvent.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeSelectionEvent__ +#define __javax_swing_event_TreeSelectionEvent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeSelectionEvent; + } + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::event::TreeSelectionEvent : public ::java::util::EventObject +{ + +public: + TreeSelectionEvent(::java::lang::Object *, JArray< ::javax::swing::tree::TreePath * > *, JArray< jboolean > *, ::javax::swing::tree::TreePath *, ::javax::swing::tree::TreePath *); + TreeSelectionEvent(::java::lang::Object *, ::javax::swing::tree::TreePath *, jboolean, ::javax::swing::tree::TreePath *, ::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getPath(); + virtual JArray< ::javax::swing::tree::TreePath * > * getPaths(); + virtual jboolean isAddedPath(); + virtual jboolean isAddedPath(::javax::swing::tree::TreePath *); + virtual jboolean isAddedPath(jint); + virtual ::javax::swing::tree::TreePath * getOldLeadSelectionPath(); + virtual ::javax::swing::tree::TreePath * getNewLeadSelectionPath(); + virtual ::java::lang::Object * cloneWithSource(::java::lang::Object *); +public: // actually protected + JArray< ::javax::swing::tree::TreePath * > * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) paths; + JArray< jboolean > * areNew; + ::javax::swing::tree::TreePath * oldLeadSelectionPath; + ::javax::swing::tree::TreePath * newLeadSelectionPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_TreeSelectionEvent__ diff --git a/libjava/javax/swing/event/TreeSelectionListener.h b/libjava/javax/swing/event/TreeSelectionListener.h new file mode 100644 index 00000000000..121f05f8892 --- /dev/null +++ b/libjava/javax/swing/event/TreeSelectionListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeSelectionListener__ +#define __javax_swing_event_TreeSelectionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeSelectionEvent; + class TreeSelectionListener; + } + } + } +} + +class javax::swing::event::TreeSelectionListener : public ::java::lang::Object +{ + +public: + virtual void valueChanged(::javax::swing::event::TreeSelectionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_TreeSelectionListener__ diff --git a/libjava/javax/swing/event/TreeWillExpandListener.h b/libjava/javax/swing/event/TreeWillExpandListener.h new file mode 100644 index 00000000000..fea233e55c8 --- /dev/null +++ b/libjava/javax/swing/event/TreeWillExpandListener.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_TreeWillExpandListener__ +#define __javax_swing_event_TreeWillExpandListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeExpansionEvent; + class TreeWillExpandListener; + } + } + } +} + +class javax::swing::event::TreeWillExpandListener : public ::java::lang::Object +{ + +public: + virtual void treeWillCollapse(::javax::swing::event::TreeExpansionEvent *) = 0; + virtual void treeWillExpand(::javax::swing::event::TreeExpansionEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_TreeWillExpandListener__ diff --git a/libjava/javax/swing/event/UndoableEditEvent.h b/libjava/javax/swing/event/UndoableEditEvent.h new file mode 100644 index 00000000000..244795301ec --- /dev/null +++ b/libjava/javax/swing/event/UndoableEditEvent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_UndoableEditEvent__ +#define __javax_swing_event_UndoableEditEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class UndoableEditEvent; + } + namespace undo + { + class UndoableEdit; + } + } + } +} + +class javax::swing::event::UndoableEditEvent : public ::java::util::EventObject +{ + +public: + UndoableEditEvent(::java::lang::Object *, ::javax::swing::undo::UndoableEdit *); + virtual ::javax::swing::undo::UndoableEdit * getEdit(); +private: + static const jlong serialVersionUID = 4418044561759134484LL; + ::javax::swing::undo::UndoableEdit * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) edit; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_event_UndoableEditEvent__ diff --git a/libjava/javax/swing/event/UndoableEditListener.h b/libjava/javax/swing/event/UndoableEditListener.h new file mode 100644 index 00000000000..738c5329a7f --- /dev/null +++ b/libjava/javax/swing/event/UndoableEditListener.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_event_UndoableEditListener__ +#define __javax_swing_event_UndoableEditListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class UndoableEditEvent; + class UndoableEditListener; + } + } + } +} + +class javax::swing::event::UndoableEditListener : public ::java::lang::Object +{ + +public: + virtual void undoableEditHappened(::javax::swing::event::UndoableEditEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_event_UndoableEditListener__ diff --git a/libjava/javax/swing/filechooser/FileFilter.h b/libjava/javax/swing/filechooser/FileFilter.h new file mode 100644 index 00000000000..ce2d75e746e --- /dev/null +++ b/libjava/javax/swing/filechooser/FileFilter.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_filechooser_FileFilter__ +#define __javax_swing_filechooser_FileFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace filechooser + { + class FileFilter; + } + } + } +} + +class javax::swing::filechooser::FileFilter : public ::java::lang::Object +{ + +public: + FileFilter(); + virtual jboolean accept(::java::io::File *) = 0; + virtual ::java::lang::String * getDescription() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_filechooser_FileFilter__ diff --git a/libjava/javax/swing/filechooser/FileSystemView.h b/libjava/javax/swing/filechooser/FileSystemView.h new file mode 100644 index 00000000000..48b35954c40 --- /dev/null +++ b/libjava/javax/swing/filechooser/FileSystemView.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_filechooser_FileSystemView__ +#define __javax_swing_filechooser_FileSystemView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Icon; + namespace filechooser + { + class FileSystemView; + } + } + } +} + +class javax::swing::filechooser::FileSystemView : public ::java::lang::Object +{ + +public: + FileSystemView(); + virtual ::java::io::File * createFileObject(::java::io::File *, ::java::lang::String *); + virtual ::java::io::File * createFileObject(::java::lang::String *); +public: // actually protected + virtual ::java::io::File * createFileSystemRoot(::java::io::File *); +public: + virtual ::java::io::File * createNewFolder(::java::io::File *) = 0; + virtual ::java::io::File * getChild(::java::io::File *, ::java::lang::String *); + virtual ::java::io::File * getDefaultDirectory(); + virtual JArray< ::java::io::File * > * getFiles(::java::io::File *, jboolean); + static ::javax::swing::filechooser::FileSystemView * getFileSystemView(); + virtual ::java::io::File * getHomeDirectory(); + virtual ::java::io::File * getParentDirectory(::java::io::File *); + virtual JArray< ::java::io::File * > * getRoots(); + virtual ::java::lang::String * getSystemDisplayName(::java::io::File *); + virtual ::javax::swing::Icon * getSystemIcon(::java::io::File *); + virtual ::java::lang::String * getSystemTypeDescription(::java::io::File *); + virtual jboolean isComputerNode(::java::io::File *); + virtual jboolean isDrive(::java::io::File *); + virtual jboolean isFileSystem(::java::io::File *); + virtual jboolean isFileSystemRoot(::java::io::File *); + virtual jboolean isFloppyDrive(::java::io::File *); + virtual jboolean isHiddenFile(::java::io::File *); + virtual jboolean isParent(::java::io::File *, ::java::io::File *); + virtual jboolean isRoot(::java::io::File *); + virtual ::java::lang::Boolean * isTraversable(::java::io::File *); +private: + static ::javax::swing::filechooser::FileSystemView * defaultFileSystemView; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_filechooser_FileSystemView__ diff --git a/libjava/javax/swing/filechooser/FileView.h b/libjava/javax/swing/filechooser/FileView.h new file mode 100644 index 00000000000..dffaa0f2bdb --- /dev/null +++ b/libjava/javax/swing/filechooser/FileView.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_filechooser_FileView__ +#define __javax_swing_filechooser_FileView__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Icon; + namespace filechooser + { + class FileView; + } + } + } +} + +class javax::swing::filechooser::FileView : public ::java::lang::Object +{ + +public: + FileView(); + virtual ::java::lang::String * getName(::java::io::File *); + virtual ::java::lang::String * getDescription(::java::io::File *); + virtual ::java::lang::String * getTypeDescription(::java::io::File *); + virtual ::javax::swing::Icon * getIcon(::java::io::File *); + virtual ::java::lang::Boolean * isTraversable(::java::io::File *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_filechooser_FileView__ diff --git a/libjava/javax/swing/filechooser/UnixFileSystemView.h b/libjava/javax/swing/filechooser/UnixFileSystemView.h new file mode 100644 index 00000000000..e06f9b8f0d0 --- /dev/null +++ b/libjava/javax/swing/filechooser/UnixFileSystemView.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_filechooser_UnixFileSystemView__ +#define __javax_swing_filechooser_UnixFileSystemView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Icon; + namespace filechooser + { + class UnixFileSystemView; + } + } + } +} + +class javax::swing::filechooser::UnixFileSystemView : public ::javax::swing::filechooser::FileSystemView +{ + +public: // actually package-private + UnixFileSystemView(); +public: + virtual ::java::io::File * createNewFolder(::java::io::File *); + virtual JArray< ::java::io::File * > * getRoots(); + virtual ::java::lang::String * getSystemDisplayName(::java::io::File *); + virtual ::javax::swing::Icon * getSystemIcon(::java::io::File *); + virtual ::java::lang::String * getSystemTypeDescription(::java::io::File *); + virtual jboolean isRoot(::java::io::File *); +private: + static ::java::lang::String * NEW_FOLDER_NAME; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_filechooser_UnixFileSystemView__ diff --git a/libjava/javax/swing/plaf/ActionMapUIResource.h b/libjava/javax/swing/plaf/ActionMapUIResource.h new file mode 100644 index 00000000000..a9364d8e2d2 --- /dev/null +++ b/libjava/javax/swing/plaf/ActionMapUIResource.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ActionMapUIResource__ +#define __javax_swing_plaf_ActionMapUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ActionMapUIResource; + } + } + } +} + +class javax::swing::plaf::ActionMapUIResource : public ::javax::swing::ActionMap +{ + +public: + ActionMapUIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ActionMapUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.h new file mode 100644 index 00000000000..c85a1ba6ebf --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$BevelBorderUIResource.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$BevelBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$BevelBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class BorderUIResource$BevelBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$BevelBorderUIResource : public ::javax::swing::border::BevelBorder +{ + +public: + BorderUIResource$BevelBorderUIResource(jint); + BorderUIResource$BevelBorderUIResource(jint, ::java::awt::Color *, ::java::awt::Color *); + BorderUIResource$BevelBorderUIResource(jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); +private: + static const jlong serialVersionUID = -1275542891108351642LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$BevelBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.h new file mode 100644 index 00000000000..8161ecbe9fd --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$CompoundBorderUIResource.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$CompoundBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$CompoundBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + class BorderUIResource$CompoundBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$CompoundBorderUIResource : public ::javax::swing::border::CompoundBorder +{ + +public: + BorderUIResource$CompoundBorderUIResource(::javax::swing::border::Border *, ::javax::swing::border::Border *); +private: + static const jlong serialVersionUID = 7550017084975167341LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$CompoundBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.h new file mode 100644 index 00000000000..15ba53faecd --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$EmptyBorderUIResource.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$EmptyBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$EmptyBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class BorderUIResource$EmptyBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$EmptyBorderUIResource : public ::javax::swing::border::EmptyBorder +{ + +public: + BorderUIResource$EmptyBorderUIResource(jint, jint, jint, jint); + BorderUIResource$EmptyBorderUIResource(::java::awt::Insets *); +private: + static const jlong serialVersionUID = -4914187529340071708LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$EmptyBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.h new file mode 100644 index 00000000000..89934717a2d --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$EtchedBorderUIResource.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$EtchedBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$EtchedBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class BorderUIResource$EtchedBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$EtchedBorderUIResource : public ::javax::swing::border::EtchedBorder +{ + +public: + BorderUIResource$EtchedBorderUIResource(); + BorderUIResource$EtchedBorderUIResource(jint); + BorderUIResource$EtchedBorderUIResource(::java::awt::Color *, ::java::awt::Color *); + BorderUIResource$EtchedBorderUIResource(jint, ::java::awt::Color *, ::java::awt::Color *); +private: + static const jlong serialVersionUID = -8186391754165296656LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$EtchedBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$LineBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$LineBorderUIResource.h new file mode 100644 index 00000000000..fe3669c0014 --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$LineBorderUIResource.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$LineBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$LineBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class BorderUIResource$LineBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$LineBorderUIResource : public ::javax::swing::border::LineBorder +{ + +public: + BorderUIResource$LineBorderUIResource(::java::awt::Color *); + BorderUIResource$LineBorderUIResource(::java::awt::Color *, jint); +private: + static const jlong serialVersionUID = -6171232338180172310LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$LineBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.h new file mode 100644 index 00000000000..b5925fce775 --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$MatteBorderUIResource.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$MatteBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$MatteBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + class BorderUIResource$MatteBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$MatteBorderUIResource : public ::javax::swing::border::MatteBorder +{ + +public: + BorderUIResource$MatteBorderUIResource(jint, jint, jint, jint, ::java::awt::Color *); + BorderUIResource$MatteBorderUIResource(jint, jint, jint, jint, ::javax::swing::Icon *); + BorderUIResource$MatteBorderUIResource(::javax::swing::Icon *); +private: + static const jlong serialVersionUID = -8107923147541851122LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$MatteBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.h new file mode 100644 index 00000000000..a20193f6d01 --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource$TitledBorderUIResource.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource$TitledBorderUIResource__ +#define __javax_swing_plaf_BorderUIResource$TitledBorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + class BorderUIResource$TitledBorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource$TitledBorderUIResource : public ::javax::swing::border::TitledBorder +{ + +public: + BorderUIResource$TitledBorderUIResource(::java::lang::String *); + BorderUIResource$TitledBorderUIResource(::javax::swing::border::Border *); + BorderUIResource$TitledBorderUIResource(::javax::swing::border::Border *, ::java::lang::String *); + BorderUIResource$TitledBorderUIResource(::javax::swing::border::Border *, ::java::lang::String *, jint, jint); + BorderUIResource$TitledBorderUIResource(::javax::swing::border::Border *, ::java::lang::String *, jint, jint, ::java::awt::Font *); + BorderUIResource$TitledBorderUIResource(::javax::swing::border::Border *, ::java::lang::String *, jint, jint, ::java::awt::Font *, ::java::awt::Color *); +private: + static const jlong serialVersionUID = 7667113547406407427LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource$TitledBorderUIResource__ diff --git a/libjava/javax/swing/plaf/BorderUIResource.h b/libjava/javax/swing/plaf/BorderUIResource.h new file mode 100644 index 00000000000..3a89c2c00c5 --- /dev/null +++ b/libjava/javax/swing/plaf/BorderUIResource.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_BorderUIResource__ +#define __javax_swing_plaf_BorderUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + class BorderUIResource; + } + } + } +} + +class javax::swing::plaf::BorderUIResource : public ::java::lang::Object +{ + +public: + static ::javax::swing::border::Border * getEtchedBorderUIResource(); + static ::javax::swing::border::Border * getLoweredBevelBorderUIResource(); + static ::javax::swing::border::Border * getRaisedBevelBorderUIResource(); + static ::javax::swing::border::Border * getBlackLineBorderUIResource(); + BorderUIResource(::javax::swing::border::Border *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); +public: // actually package-private + static const jlong serialVersionUID = -3440553684010079691LL; +private: + static ::javax::swing::border::Border * etchedBorderUIResource; + static ::javax::swing::border::Border * loweredBevelBorderUIResource; + static ::javax::swing::border::Border * raisedBevelBorderUIResource; + static ::javax::swing::border::Border * blackLineBorderUIResource; + ::javax::swing::border::Border * __attribute__((aligned(__alignof__( ::java::lang::Object)))) delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_BorderUIResource__ diff --git a/libjava/javax/swing/plaf/ButtonUI.h b/libjava/javax/swing/plaf/ButtonUI.h new file mode 100644 index 00000000000..61cb852b83c --- /dev/null +++ b/libjava/javax/swing/plaf/ButtonUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ButtonUI__ +#define __javax_swing_plaf_ButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ButtonUI; + } + } + } +} + +class javax::swing::plaf::ButtonUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ButtonUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ButtonUI__ diff --git a/libjava/javax/swing/plaf/ColorChooserUI.h b/libjava/javax/swing/plaf/ColorChooserUI.h new file mode 100644 index 00000000000..9db0d0e891b --- /dev/null +++ b/libjava/javax/swing/plaf/ColorChooserUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ColorChooserUI__ +#define __javax_swing_plaf_ColorChooserUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ColorChooserUI; + } + } + } +} + +class javax::swing::plaf::ColorChooserUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ColorChooserUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ColorChooserUI__ diff --git a/libjava/javax/swing/plaf/ColorUIResource.h b/libjava/javax/swing/plaf/ColorUIResource.h new file mode 100644 index 00000000000..37ef2238288 --- /dev/null +++ b/libjava/javax/swing/plaf/ColorUIResource.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ColorUIResource__ +#define __javax_swing_plaf_ColorUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class ColorUIResource; + } + } + } +} + +class javax::swing::plaf::ColorUIResource : public ::java::awt::Color +{ + +public: + ColorUIResource(jint, jint, jint); + ColorUIResource(jint); + ColorUIResource(jfloat, jfloat, jfloat); + ColorUIResource(::java::awt::Color *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ColorUIResource__ diff --git a/libjava/javax/swing/plaf/ComboBoxUI.h b/libjava/javax/swing/plaf/ComboBoxUI.h new file mode 100644 index 00000000000..bdcdfe3f0ea --- /dev/null +++ b/libjava/javax/swing/plaf/ComboBoxUI.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ComboBoxUI__ +#define __javax_swing_plaf_ComboBoxUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComboBox; + namespace plaf + { + class ComboBoxUI; + } + } + } +} + +class javax::swing::plaf::ComboBoxUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ComboBoxUI(); + virtual void setPopupVisible(::javax::swing::JComboBox *, jboolean) = 0; + virtual jboolean isPopupVisible(::javax::swing::JComboBox *) = 0; + virtual jboolean isFocusTraversable(::javax::swing::JComboBox *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ComboBoxUI__ diff --git a/libjava/javax/swing/plaf/ComponentInputMapUIResource.h b/libjava/javax/swing/plaf/ComponentInputMapUIResource.h new file mode 100644 index 00000000000..52accf48001 --- /dev/null +++ b/libjava/javax/swing/plaf/ComponentInputMapUIResource.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ComponentInputMapUIResource__ +#define __javax_swing_plaf_ComponentInputMapUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentInputMapUIResource; + } + } + } +} + +class javax::swing::plaf::ComponentInputMapUIResource : public ::javax::swing::ComponentInputMap +{ + +public: + ComponentInputMapUIResource(::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ComponentInputMapUIResource__ diff --git a/libjava/javax/swing/plaf/ComponentUI.h b/libjava/javax/swing/plaf/ComponentUI.h new file mode 100644 index 00000000000..3f14af6c89e --- /dev/null +++ b/libjava/javax/swing/plaf/ComponentUI.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ComponentUI__ +#define __javax_swing_plaf_ComponentUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + } + } + } +} + +class javax::swing::plaf::ComponentUI : public ::java::lang::Object +{ + +public: + ComponentUI(); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ComponentUI__ diff --git a/libjava/javax/swing/plaf/DesktopIconUI.h b/libjava/javax/swing/plaf/DesktopIconUI.h new file mode 100644 index 00000000000..6f3fb24d68e --- /dev/null +++ b/libjava/javax/swing/plaf/DesktopIconUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_DesktopIconUI__ +#define __javax_swing_plaf_DesktopIconUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class DesktopIconUI; + } + } + } +} + +class javax::swing::plaf::DesktopIconUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + DesktopIconUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_DesktopIconUI__ diff --git a/libjava/javax/swing/plaf/DesktopPaneUI.h b/libjava/javax/swing/plaf/DesktopPaneUI.h new file mode 100644 index 00000000000..308120dc131 --- /dev/null +++ b/libjava/javax/swing/plaf/DesktopPaneUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_DesktopPaneUI__ +#define __javax_swing_plaf_DesktopPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class DesktopPaneUI; + } + } + } +} + +class javax::swing::plaf::DesktopPaneUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + DesktopPaneUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_DesktopPaneUI__ diff --git a/libjava/javax/swing/plaf/DimensionUIResource.h b/libjava/javax/swing/plaf/DimensionUIResource.h new file mode 100644 index 00000000000..620a35d05c2 --- /dev/null +++ b/libjava/javax/swing/plaf/DimensionUIResource.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_DimensionUIResource__ +#define __javax_swing_plaf_DimensionUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class DimensionUIResource; + } + } + } +} + +class javax::swing::plaf::DimensionUIResource : public ::java::awt::Dimension +{ + +public: + DimensionUIResource(jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_DimensionUIResource__ diff --git a/libjava/javax/swing/plaf/FileChooserUI.h b/libjava/javax/swing/plaf/FileChooserUI.h new file mode 100644 index 00000000000..3a166bac0aa --- /dev/null +++ b/libjava/javax/swing/plaf/FileChooserUI.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_FileChooserUI__ +#define __javax_swing_plaf_FileChooserUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JFileChooser; + namespace filechooser + { + class FileFilter; + class FileView; + } + namespace plaf + { + class FileChooserUI; + } + } + } +} + +class javax::swing::plaf::FileChooserUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + FileChooserUI(); + virtual ::javax::swing::filechooser::FileFilter * getAcceptAllFileFilter(::javax::swing::JFileChooser *) = 0; + virtual ::javax::swing::filechooser::FileView * getFileView(::javax::swing::JFileChooser *) = 0; + virtual ::java::lang::String * getApproveButtonText(::javax::swing::JFileChooser *) = 0; + virtual ::java::lang::String * getDialogTitle(::javax::swing::JFileChooser *) = 0; + virtual void rescanCurrentDirectory(::javax::swing::JFileChooser *) = 0; + virtual void ensureFileIsVisible(::javax::swing::JFileChooser *, ::java::io::File *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_FileChooserUI__ diff --git a/libjava/javax/swing/plaf/FontUIResource.h b/libjava/javax/swing/plaf/FontUIResource.h new file mode 100644 index 00000000000..4f2b8353ba0 --- /dev/null +++ b/libjava/javax/swing/plaf/FontUIResource.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_FontUIResource__ +#define __javax_swing_plaf_FontUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class FontUIResource; + } + } + } +} + +class javax::swing::plaf::FontUIResource : public ::java::awt::Font +{ + +public: + FontUIResource(::java::lang::String *, jint, jint); + FontUIResource(::java::awt::Font *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_FontUIResource__ diff --git a/libjava/javax/swing/plaf/IconUIResource.h b/libjava/javax/swing/plaf/IconUIResource.h new file mode 100644 index 00000000000..f1e7047494c --- /dev/null +++ b/libjava/javax/swing/plaf/IconUIResource.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_IconUIResource__ +#define __javax_swing_plaf_IconUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + class IconUIResource; + } + } + } +} + +class javax::swing::plaf::IconUIResource : public ::java::lang::Object +{ + +public: + IconUIResource(::javax::swing::Icon *); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + virtual jint getIconWidth(); + virtual jint getIconHeight(); +public: // actually package-private + static const jlong serialVersionUID = 3327049506004830542LL; +private: + ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::java::lang::Object)))) delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_IconUIResource__ diff --git a/libjava/javax/swing/plaf/InputMapUIResource.h b/libjava/javax/swing/plaf/InputMapUIResource.h new file mode 100644 index 00000000000..448fc817ee2 --- /dev/null +++ b/libjava/javax/swing/plaf/InputMapUIResource.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_InputMapUIResource__ +#define __javax_swing_plaf_InputMapUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class InputMapUIResource; + } + } + } +} + +class javax::swing::plaf::InputMapUIResource : public ::javax::swing::InputMap +{ + +public: + InputMapUIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_InputMapUIResource__ diff --git a/libjava/javax/swing/plaf/InsetsUIResource.h b/libjava/javax/swing/plaf/InsetsUIResource.h new file mode 100644 index 00000000000..f9621375d95 --- /dev/null +++ b/libjava/javax/swing/plaf/InsetsUIResource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_InsetsUIResource__ +#define __javax_swing_plaf_InsetsUIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class InsetsUIResource; + } + } + } +} + +class javax::swing::plaf::InsetsUIResource : public ::java::awt::Insets +{ + +public: + InsetsUIResource(jint, jint, jint, jint); +public: // actually package-private + static const jlong serialVersionUID = 5622110143266315421LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_InsetsUIResource__ diff --git a/libjava/javax/swing/plaf/InternalFrameUI.h b/libjava/javax/swing/plaf/InternalFrameUI.h new file mode 100644 index 00000000000..1aa4f76afd9 --- /dev/null +++ b/libjava/javax/swing/plaf/InternalFrameUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_InternalFrameUI__ +#define __javax_swing_plaf_InternalFrameUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class InternalFrameUI; + } + } + } +} + +class javax::swing::plaf::InternalFrameUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + InternalFrameUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_InternalFrameUI__ diff --git a/libjava/javax/swing/plaf/LabelUI.h b/libjava/javax/swing/plaf/LabelUI.h new file mode 100644 index 00000000000..018087af033 --- /dev/null +++ b/libjava/javax/swing/plaf/LabelUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_LabelUI__ +#define __javax_swing_plaf_LabelUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class LabelUI; + } + } + } +} + +class javax::swing::plaf::LabelUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + LabelUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_LabelUI__ diff --git a/libjava/javax/swing/plaf/ListUI.h b/libjava/javax/swing/plaf/ListUI.h new file mode 100644 index 00000000000..241768f021b --- /dev/null +++ b/libjava/javax/swing/plaf/ListUI.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ListUI__ +#define __javax_swing_plaf_ListUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JList; + namespace plaf + { + class ListUI; + } + } + } +} + +class javax::swing::plaf::ListUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ListUI(); + virtual jint locationToIndex(::javax::swing::JList *, ::java::awt::Point *) = 0; + virtual ::java::awt::Point * indexToLocation(::javax::swing::JList *, jint) = 0; + virtual ::java::awt::Rectangle * getCellBounds(::javax::swing::JList *, jint, jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ListUI__ diff --git a/libjava/javax/swing/plaf/MenuBarUI.h b/libjava/javax/swing/plaf/MenuBarUI.h new file mode 100644 index 00000000000..cf2aba65494 --- /dev/null +++ b/libjava/javax/swing/plaf/MenuBarUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_MenuBarUI__ +#define __javax_swing_plaf_MenuBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class MenuBarUI; + } + } + } +} + +class javax::swing::plaf::MenuBarUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + MenuBarUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_MenuBarUI__ diff --git a/libjava/javax/swing/plaf/MenuItemUI.h b/libjava/javax/swing/plaf/MenuItemUI.h new file mode 100644 index 00000000000..9f4692bd89f --- /dev/null +++ b/libjava/javax/swing/plaf/MenuItemUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_MenuItemUI__ +#define __javax_swing_plaf_MenuItemUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class MenuItemUI; + } + } + } +} + +class javax::swing::plaf::MenuItemUI : public ::javax::swing::plaf::ButtonUI +{ + +public: + MenuItemUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_MenuItemUI__ diff --git a/libjava/javax/swing/plaf/OptionPaneUI.h b/libjava/javax/swing/plaf/OptionPaneUI.h new file mode 100644 index 00000000000..1dbd6b8c896 --- /dev/null +++ b/libjava/javax/swing/plaf/OptionPaneUI.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_OptionPaneUI__ +#define __javax_swing_plaf_OptionPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JOptionPane; + namespace plaf + { + class OptionPaneUI; + } + } + } +} + +class javax::swing::plaf::OptionPaneUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + OptionPaneUI(); + virtual void selectInitialValue(::javax::swing::JOptionPane *) = 0; + virtual jboolean containsCustomComponents(::javax::swing::JOptionPane *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_OptionPaneUI__ diff --git a/libjava/javax/swing/plaf/PanelUI.h b/libjava/javax/swing/plaf/PanelUI.h new file mode 100644 index 00000000000..9b962235b9f --- /dev/null +++ b/libjava/javax/swing/plaf/PanelUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_PanelUI__ +#define __javax_swing_plaf_PanelUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class PanelUI; + } + } + } +} + +class javax::swing::plaf::PanelUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + PanelUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_PanelUI__ diff --git a/libjava/javax/swing/plaf/PopupMenuUI.h b/libjava/javax/swing/plaf/PopupMenuUI.h new file mode 100644 index 00000000000..16aa6b5a1d7 --- /dev/null +++ b/libjava/javax/swing/plaf/PopupMenuUI.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_PopupMenuUI__ +#define __javax_swing_plaf_PopupMenuUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JPopupMenu; + class Popup; + namespace plaf + { + class PopupMenuUI; + } + } + } +} + +class javax::swing::plaf::PopupMenuUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + PopupMenuUI(); + virtual jboolean isPopupTrigger(::java::awt::event::MouseEvent *); + virtual ::javax::swing::Popup * getPopup(::javax::swing::JPopupMenu *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_PopupMenuUI__ diff --git a/libjava/javax/swing/plaf/ProgressBarUI.h b/libjava/javax/swing/plaf/ProgressBarUI.h new file mode 100644 index 00000000000..d9e6714acc8 --- /dev/null +++ b/libjava/javax/swing/plaf/ProgressBarUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ProgressBarUI__ +#define __javax_swing_plaf_ProgressBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ProgressBarUI; + } + } + } +} + +class javax::swing::plaf::ProgressBarUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ProgressBarUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ProgressBarUI__ diff --git a/libjava/javax/swing/plaf/RootPaneUI.h b/libjava/javax/swing/plaf/RootPaneUI.h new file mode 100644 index 00000000000..3e82895d7c2 --- /dev/null +++ b/libjava/javax/swing/plaf/RootPaneUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_RootPaneUI__ +#define __javax_swing_plaf_RootPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class RootPaneUI; + } + } + } +} + +class javax::swing::plaf::RootPaneUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + RootPaneUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_RootPaneUI__ diff --git a/libjava/javax/swing/plaf/ScrollBarUI.h b/libjava/javax/swing/plaf/ScrollBarUI.h new file mode 100644 index 00000000000..24854eff2aa --- /dev/null +++ b/libjava/javax/swing/plaf/ScrollBarUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ScrollBarUI__ +#define __javax_swing_plaf_ScrollBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ScrollBarUI; + } + } + } +} + +class javax::swing::plaf::ScrollBarUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ScrollBarUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ScrollBarUI__ diff --git a/libjava/javax/swing/plaf/ScrollPaneUI.h b/libjava/javax/swing/plaf/ScrollPaneUI.h new file mode 100644 index 00000000000..7253175358d --- /dev/null +++ b/libjava/javax/swing/plaf/ScrollPaneUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ScrollPaneUI__ +#define __javax_swing_plaf_ScrollPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ScrollPaneUI; + } + } + } +} + +class javax::swing::plaf::ScrollPaneUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ScrollPaneUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ScrollPaneUI__ diff --git a/libjava/javax/swing/plaf/SeparatorUI.h b/libjava/javax/swing/plaf/SeparatorUI.h new file mode 100644 index 00000000000..c968d73cc55 --- /dev/null +++ b/libjava/javax/swing/plaf/SeparatorUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_SeparatorUI__ +#define __javax_swing_plaf_SeparatorUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class SeparatorUI; + } + } + } +} + +class javax::swing::plaf::SeparatorUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + SeparatorUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_SeparatorUI__ diff --git a/libjava/javax/swing/plaf/SliderUI.h b/libjava/javax/swing/plaf/SliderUI.h new file mode 100644 index 00000000000..bc18a5f739f --- /dev/null +++ b/libjava/javax/swing/plaf/SliderUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_SliderUI__ +#define __javax_swing_plaf_SliderUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class SliderUI; + } + } + } +} + +class javax::swing::plaf::SliderUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + SliderUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_SliderUI__ diff --git a/libjava/javax/swing/plaf/SpinnerUI.h b/libjava/javax/swing/plaf/SpinnerUI.h new file mode 100644 index 00000000000..c20f12d9216 --- /dev/null +++ b/libjava/javax/swing/plaf/SpinnerUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_SpinnerUI__ +#define __javax_swing_plaf_SpinnerUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class SpinnerUI; + } + } + } +} + +class javax::swing::plaf::SpinnerUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + SpinnerUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_SpinnerUI__ diff --git a/libjava/javax/swing/plaf/SplitPaneUI.h b/libjava/javax/swing/plaf/SplitPaneUI.h new file mode 100644 index 00000000000..31c1ec1699c --- /dev/null +++ b/libjava/javax/swing/plaf/SplitPaneUI.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_SplitPaneUI__ +#define __javax_swing_plaf_SplitPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JSplitPane; + namespace plaf + { + class SplitPaneUI; + } + } + } +} + +class javax::swing::plaf::SplitPaneUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + SplitPaneUI(); + virtual void resetToPreferredSizes(::javax::swing::JSplitPane *) = 0; + virtual void setDividerLocation(::javax::swing::JSplitPane *, jint) = 0; + virtual jint getDividerLocation(::javax::swing::JSplitPane *) = 0; + virtual jint getMinimumDividerLocation(::javax::swing::JSplitPane *) = 0; + virtual jint getMaximumDividerLocation(::javax::swing::JSplitPane *) = 0; + virtual void finishedPaintingChildren(::javax::swing::JSplitPane *, ::java::awt::Graphics *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_SplitPaneUI__ diff --git a/libjava/javax/swing/plaf/TabbedPaneUI.h b/libjava/javax/swing/plaf/TabbedPaneUI.h new file mode 100644 index 00000000000..725554a386e --- /dev/null +++ b/libjava/javax/swing/plaf/TabbedPaneUI.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_TabbedPaneUI__ +#define __javax_swing_plaf_TabbedPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JTabbedPane; + namespace plaf + { + class TabbedPaneUI; + } + } + } +} + +class javax::swing::plaf::TabbedPaneUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + TabbedPaneUI(); + virtual jint tabForCoordinate(::javax::swing::JTabbedPane *, jint, jint) = 0; + virtual ::java::awt::Rectangle * getTabBounds(::javax::swing::JTabbedPane *, jint) = 0; + virtual jint getTabRunCount(::javax::swing::JTabbedPane *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_TabbedPaneUI__ diff --git a/libjava/javax/swing/plaf/TableHeaderUI.h b/libjava/javax/swing/plaf/TableHeaderUI.h new file mode 100644 index 00000000000..cc0c5c8f383 --- /dev/null +++ b/libjava/javax/swing/plaf/TableHeaderUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_TableHeaderUI__ +#define __javax_swing_plaf_TableHeaderUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class TableHeaderUI; + } + } + } +} + +class javax::swing::plaf::TableHeaderUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + TableHeaderUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_TableHeaderUI__ diff --git a/libjava/javax/swing/plaf/TableUI.h b/libjava/javax/swing/plaf/TableUI.h new file mode 100644 index 00000000000..5e8c51d777b --- /dev/null +++ b/libjava/javax/swing/plaf/TableUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_TableUI__ +#define __javax_swing_plaf_TableUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class TableUI; + } + } + } +} + +class javax::swing::plaf::TableUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + TableUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_TableUI__ diff --git a/libjava/javax/swing/plaf/TextUI.h b/libjava/javax/swing/plaf/TextUI.h new file mode 100644 index 00000000000..1c4faf66d82 --- /dev/null +++ b/libjava/javax/swing/plaf/TextUI.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_TextUI__ +#define __javax_swing_plaf_TextUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + class TextUI; + } + namespace text + { + class EditorKit; + class JTextComponent; + class Position$Bias; + class View; + } + } + } +} + +class javax::swing::plaf::TextUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + TextUI(); + virtual ::java::awt::Rectangle * modelToView(::javax::swing::text::JTextComponent *, jint) = 0; + virtual ::java::awt::Rectangle * modelToView(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *) = 0; + virtual jint viewToModel(::javax::swing::text::JTextComponent *, ::java::awt::Point *) = 0; + virtual jint viewToModel(::javax::swing::text::JTextComponent *, ::java::awt::Point *, JArray< ::javax::swing::text::Position$Bias * > *) = 0; + virtual jint getNextVisualPositionFrom(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *, jint, JArray< ::javax::swing::text::Position$Bias * > *) = 0; + virtual void damageRange(::javax::swing::text::JTextComponent *, jint, jint) = 0; + virtual void damageRange(::javax::swing::text::JTextComponent *, jint, jint, ::javax::swing::text::Position$Bias *, ::javax::swing::text::Position$Bias *) = 0; + virtual ::javax::swing::text::EditorKit * getEditorKit(::javax::swing::text::JTextComponent *) = 0; + virtual ::javax::swing::text::View * getRootView(::javax::swing::text::JTextComponent *) = 0; + virtual ::java::lang::String * getToolTipText(::javax::swing::text::JTextComponent *, ::java::awt::Point *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_TextUI__ diff --git a/libjava/javax/swing/plaf/ToolBarUI.h b/libjava/javax/swing/plaf/ToolBarUI.h new file mode 100644 index 00000000000..79600b2a9fd --- /dev/null +++ b/libjava/javax/swing/plaf/ToolBarUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ToolBarUI__ +#define __javax_swing_plaf_ToolBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ToolBarUI; + } + } + } +} + +class javax::swing::plaf::ToolBarUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ToolBarUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ToolBarUI__ diff --git a/libjava/javax/swing/plaf/ToolTipUI.h b/libjava/javax/swing/plaf/ToolTipUI.h new file mode 100644 index 00000000000..2c061abb8b3 --- /dev/null +++ b/libjava/javax/swing/plaf/ToolTipUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ToolTipUI__ +#define __javax_swing_plaf_ToolTipUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ToolTipUI; + } + } + } +} + +class javax::swing::plaf::ToolTipUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ToolTipUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ToolTipUI__ diff --git a/libjava/javax/swing/plaf/TreeUI.h b/libjava/javax/swing/plaf/TreeUI.h new file mode 100644 index 00000000000..69bbc1215d8 --- /dev/null +++ b/libjava/javax/swing/plaf/TreeUI.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_TreeUI__ +#define __javax_swing_plaf_TreeUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JTree; + namespace plaf + { + class TreeUI; + } + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::plaf::TreeUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + TreeUI(); + virtual ::java::awt::Rectangle * getPathBounds(::javax::swing::JTree *, ::javax::swing::tree::TreePath *) = 0; + virtual ::javax::swing::tree::TreePath * getPathForRow(::javax::swing::JTree *, jint) = 0; + virtual jint getRowForPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *) = 0; + virtual jint getRowCount(::javax::swing::JTree *) = 0; + virtual ::javax::swing::tree::TreePath * getClosestPathForLocation(::javax::swing::JTree *, jint, jint) = 0; + virtual jboolean isEditing(::javax::swing::JTree *) = 0; + virtual jboolean stopEditing(::javax::swing::JTree *) = 0; + virtual void cancelEditing(::javax::swing::JTree *) = 0; + virtual void startEditingAtPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *) = 0; + virtual ::javax::swing::tree::TreePath * getEditingPath(::javax::swing::JTree *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_TreeUI__ diff --git a/libjava/javax/swing/plaf/UIResource.h b/libjava/javax/swing/plaf/UIResource.h new file mode 100644 index 00000000000..0ddd789264d --- /dev/null +++ b/libjava/javax/swing/plaf/UIResource.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_UIResource__ +#define __javax_swing_plaf_UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class UIResource; + } + } + } +} + +class javax::swing::plaf::UIResource : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_plaf_UIResource__ diff --git a/libjava/javax/swing/plaf/ViewportUI.h b/libjava/javax/swing/plaf/ViewportUI.h new file mode 100644 index 00000000000..64855b17a9a --- /dev/null +++ b/libjava/javax/swing/plaf/ViewportUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_ViewportUI__ +#define __javax_swing_plaf_ViewportUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ViewportUI; + } + } + } +} + +class javax::swing::plaf::ViewportUI : public ::javax::swing::plaf::ComponentUI +{ + +public: + ViewportUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_ViewportUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicArrowButton.h b/libjava/javax/swing/plaf/basic/BasicArrowButton.h new file mode 100644 index 00000000000..033f499aaf8 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicArrowButton.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicArrowButton__ +#define __javax_swing_plaf_basic_BasicArrowButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicArrowButton; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicArrowButton : public ::javax::swing::JButton +{ + +public: + BasicArrowButton(jint); + BasicArrowButton(jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual jboolean isFocusTraversable(); + virtual jint getDirection(); + virtual void setDirection(jint); + virtual void paint(::java::awt::Graphics *); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual void paintTriangle(::java::awt::Graphics *, jint, jint, jint, jint, jboolean); +private: + void paintTriangleNorth(::java::awt::Graphics *, jint, jint, jint, jboolean); + void paintTriangleSouth(::java::awt::Graphics *, jint, jint, jint, jboolean); + void paintTriangleEast(::java::awt::Graphics *, jint, jint, jint, jboolean); + void paintTriangleWest(::java::awt::Graphics *, jint, jint, jint, jboolean); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) direction; +public: // actually package-private + ::java::awt::Color * shadow; + ::java::awt::Color * darkShadow; + ::java::awt::Color * highlight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicArrowButton__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$ButtonBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$ButtonBorder.h new file mode 100644 index 00000000000..b4a2c915729 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$ButtonBorder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$ButtonBorder__ +#define __javax_swing_plaf_basic_BasicBorders$ButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$ButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$ButtonBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + BasicBorders$ButtonBorder(::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually package-private + static const jlong serialVersionUID = -157053874580739687LL; +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) shadow; + ::java::awt::Color * darkShadow; + ::java::awt::Color * highlight; + ::java::awt::Color * lightHighlight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$ButtonBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$FieldBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$FieldBorder.h new file mode 100644 index 00000000000..455b711c0ce --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$FieldBorder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$FieldBorder__ +#define __javax_swing_plaf_basic_BasicBorders$FieldBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$FieldBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$FieldBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + BasicBorders$FieldBorder(::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually package-private + static const jlong serialVersionUID = 949220756998454908LL; +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) shadow; + ::java::awt::Color * darkShadow; + ::java::awt::Color * highlight; + ::java::awt::Color * lightHighlight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$FieldBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$MarginBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$MarginBorder.h new file mode 100644 index 00000000000..a974a460a8d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$MarginBorder.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$MarginBorder__ +#define __javax_swing_plaf_basic_BasicBorders$MarginBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$MarginBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$MarginBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + BasicBorders$MarginBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually package-private + static const jlong serialVersionUID = -3035848353448896090LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$MarginBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.h new file mode 100644 index 00000000000..fcf26ba5918 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$MenuBarBorder.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$MenuBarBorder__ +#define __javax_swing_plaf_basic_BasicBorders$MenuBarBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$MenuBarBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$MenuBarBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + BasicBorders$MenuBarBorder(::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually package-private + static const jlong serialVersionUID = -6909056571935227506LL; +private: + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) shadow; + ::java::awt::Color * highlight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$MenuBarBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.h new file mode 100644 index 00000000000..b737890ede1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$RadioButtonBorder.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$RadioButtonBorder__ +#define __javax_swing_plaf_basic_BasicBorders$RadioButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$RadioButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$RadioButtonBorder : public ::javax::swing::plaf::basic::BasicBorders$ButtonBorder +{ + +public: + BasicBorders$RadioButtonBorder(::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually package-private + static const jlong serialVersionUID = 1596945751743747369LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$RadioButtonBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.h new file mode 100644 index 00000000000..84d6ee07631 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$RolloverButtonBorder__ +#define __javax_swing_plaf_basic_BasicBorders$RolloverButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$RolloverButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$RolloverButtonBorder : public ::javax::swing::plaf::basic::BasicBorders$ButtonBorder +{ + +public: + BasicBorders$RolloverButtonBorder(::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: // actually package-private + static const jlong serialVersionUID = 1976364864896996846LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$RolloverButtonBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.h new file mode 100644 index 00000000000..3a7d22f30aa --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneBorder.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$SplitPaneBorder__ +#define __javax_swing_plaf_basic_BasicBorders$SplitPaneBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$SplitPaneBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$SplitPaneBorder : public ::java::lang::Object +{ + +public: + BasicBorders$SplitPaneBorder(::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + void paintRect(::java::awt::Graphics *, jint, jboolean, jint, jint, ::java::awt::Rectangle *); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); +private: + static const jint SUPPRESS_TOP = 1; + static const jint SUPPRESS_LEFT = 2; + static const jint SUPPRESS_BOTTOM = 4; + static const jint SUPPRESS_RIGHT = 8; +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::java::lang::Object)))) highlight; + ::java::awt::Color * shadow; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$SplitPaneBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.h new file mode 100644 index 00000000000..90a89464be5 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$SplitPaneDividerBorder__ +#define __javax_swing_plaf_basic_BasicBorders$SplitPaneDividerBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + class JSplitPane; + namespace plaf + { + namespace basic + { + class BasicBorders$SplitPaneDividerBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$SplitPaneDividerBorder : public ::java::lang::Object +{ + +public: + BasicBorders$SplitPaneDividerBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); +private: + ::javax::swing::JSplitPane * getSplitPane(::java::awt::Component *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$SplitPaneDividerBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.h b/libjava/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.h new file mode 100644 index 00000000000..73d1f1c4e67 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders$ToggleButtonBorder.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders$ToggleButtonBorder__ +#define __javax_swing_plaf_basic_BasicBorders$ToggleButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicBorders$ToggleButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders$ToggleButtonBorder : public ::javax::swing::plaf::basic::BasicBorders$ButtonBorder +{ + +public: + BasicBorders$ToggleButtonBorder(::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually package-private + static const jlong serialVersionUID = -3528666548001058394LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders$ToggleButtonBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicBorders.h b/libjava/javax/swing/plaf/basic/BasicBorders.h new file mode 100644 index 00000000000..e32e2b266c3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicBorders.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicBorders__ +#define __javax_swing_plaf_basic_BasicBorders__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + namespace basic + { + class BasicBorders; + class BasicBorders$MarginBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicBorders : public ::java::lang::Object +{ + +public: + BasicBorders(); + static ::javax::swing::border::Border * getButtonBorder(); + static ::javax::swing::border::Border * getRadioButtonBorder(); + static ::javax::swing::border::Border * getToggleButtonBorder(); + static ::javax::swing::border::Border * getMenuBarBorder(); + static ::javax::swing::border::Border * getSplitPaneBorder(); + static ::javax::swing::border::Border * getSplitPaneDividerBorder(); + static ::javax::swing::border::Border * getTextFieldBorder(); + static ::javax::swing::border::Border * getProgressBarBorder(); + static ::javax::swing::border::Border * getInternalFrameBorder(); +public: // actually package-private + static ::javax::swing::border::Border * getMarginBorder(); +private: + static ::javax::swing::plaf::basic::BasicBorders$MarginBorder * sharedMarginBorder; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicBorders__ diff --git a/libjava/javax/swing/plaf/basic/BasicButtonListener$1.h b/libjava/javax/swing/plaf/basic/BasicButtonListener$1.h new file mode 100644 index 00000000000..ae787f71f62 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicButtonListener$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicButtonListener$1__ +#define __javax_swing_plaf_basic_BasicButtonListener$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicButtonListener; + class BasicButtonListener$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicButtonListener$1 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicButtonListener$1(::javax::swing::plaf::basic::BasicButtonListener *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicButtonListener * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicButtonListener$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicButtonListener$2.h b/libjava/javax/swing/plaf/basic/BasicButtonListener$2.h new file mode 100644 index 00000000000..9605bfcccdc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicButtonListener$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicButtonListener$2__ +#define __javax_swing_plaf_basic_BasicButtonListener$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicButtonListener; + class BasicButtonListener$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicButtonListener$2 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicButtonListener$2(::javax::swing::plaf::basic::BasicButtonListener *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicButtonListener * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicButtonListener$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.h b/libjava/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.h new file mode 100644 index 00000000000..6e08aa431f0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicButtonListener$ButtonAction.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicButtonListener$ButtonAction__ +#define __javax_swing_plaf_basic_BasicButtonListener$ButtonAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicButtonListener; + class BasicButtonListener$ButtonAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicButtonListener$ButtonAction : public ::javax::swing::AbstractAction +{ + + BasicButtonListener$ButtonAction(::javax::swing::plaf::basic::BasicButtonListener *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(::java::lang::Object *); +public: // actually package-private + BasicButtonListener$ButtonAction(::javax::swing::plaf::basic::BasicButtonListener *, ::javax::swing::plaf::basic::BasicButtonListener$ButtonAction *); + static ::java::lang::String * PRESSED; + static ::java::lang::String * RELEASED; + ::javax::swing::plaf::basic::BasicButtonListener * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicButtonListener$ButtonAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicButtonListener.h b/libjava/javax/swing/plaf/basic/BasicButtonListener.h new file mode 100644 index 00000000000..8b7cd51d2eb --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicButtonListener.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicButtonListener__ +#define __javax_swing_plaf_basic_BasicButtonListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + class MouseEvent; + } + } + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class ActionMap; + class JComponent; + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicButtonListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicButtonListener : public ::java::lang::Object +{ + +public: + BasicButtonListener(::javax::swing::AbstractButton *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually protected + virtual void checkOpacity(::javax::swing::AbstractButton *); +public: + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); + virtual void installKeyboardActions(::javax::swing::JComponent *); +private: + ::javax::swing::ActionMap * createDefaultActionMap(); +public: + virtual void uninstallKeyboardActions(::javax::swing::JComponent *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicButtonListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicButtonUI.h b/libjava/javax/swing/plaf/basic/BasicButtonUI.h new file mode 100644 index 00000000000..c7209c0a312 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicButtonUI.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicButtonUI__ +#define __javax_swing_plaf_basic_BasicButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Insets; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class Icon; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicButtonListener; + class BasicButtonUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicButtonUI : public ::javax::swing::plaf::ButtonUI +{ + +public: + BasicButtonUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual jint getDefaultTextIconGap(::javax::swing::AbstractButton *); +public: // actually protected + virtual void clearTextShiftOffset(); + virtual jint getTextShiftOffset(); + virtual void setTextShiftOffset(); + virtual ::java::lang::String * getPropertyPrefix(); + virtual void installDefaults(::javax::swing::AbstractButton *); + virtual void uninstallDefaults(::javax::swing::AbstractButton *); + virtual ::javax::swing::plaf::basic::BasicButtonListener * createButtonListener(::javax::swing::AbstractButton *); + virtual void installListeners(::javax::swing::AbstractButton *); + virtual void uninstallListeners(::javax::swing::AbstractButton *); + virtual void installKeyboardActions(::javax::swing::AbstractButton *); + virtual void uninstallKeyboardActions(::javax::swing::AbstractButton *); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually package-private + static ::javax::swing::Icon * currentIcon(::javax::swing::AbstractButton *); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintFocus(::java::awt::Graphics *, ::javax::swing::AbstractButton *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *); + virtual void paintIcon(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); + virtual void paintButtonPressed(::java::awt::Graphics *, ::javax::swing::AbstractButton *); + virtual void paintText(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *, ::java::lang::String *); + virtual void paintText(::java::awt::Graphics *, ::javax::swing::AbstractButton *, ::java::awt::Rectangle *, ::java::lang::String *); +private: + ::javax::swing::plaf::basic::BasicButtonListener * getButtonListener(::javax::swing::AbstractButton *); +public: // actually package-private + static ::java::awt::Rectangle * viewR; + static ::java::awt::Rectangle * iconR; + static ::java::awt::Rectangle * textR; + static ::java::awt::Insets * cachedInsets; +private: + static ::javax::swing::plaf::basic::BasicButtonUI * sharedUI; + static ::javax::swing::plaf::basic::BasicButtonListener * sharedListener; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::ButtonUI)))) defaultTextIconGap; + jint defaultTextShiftOffset; +private: + jint textShiftOffset; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicButtonUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.h b/libjava/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.h new file mode 100644 index 00000000000..68f69f589a7 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicCheckBoxMenuItemUI__ +#define __javax_swing_plaf_basic_BasicCheckBoxMenuItemUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JMenuItem; + class MenuElement; + class MenuSelectionManager; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicCheckBoxMenuItemUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicCheckBoxMenuItemUI : public ::javax::swing::plaf::basic::BasicMenuItemUI +{ + +public: + BasicCheckBoxMenuItemUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual void processMouseEvent(::javax::swing::JMenuItem *, ::java::awt::event::MouseEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicCheckBoxMenuItemUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.h b/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.h new file mode 100644 index 00000000000..ca6b44b3c9f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicCheckBoxUI__ +#define __javax_swing_plaf_basic_BasicCheckBoxUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicCheckBoxUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicCheckBoxUI : public ::javax::swing::plaf::basic::BasicRadioButtonUI +{ + +public: + BasicCheckBoxUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::lang::String * getPropertyPrefix(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicCheckBoxUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicColorChooserUI$1.h b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$1.h new file mode 100644 index 00000000000..b5b58f51b5c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicColorChooserUI$1__ +#define __javax_swing_plaf_basic_BasicColorChooserUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicColorChooserUI; + class BasicColorChooserUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicColorChooserUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicColorChooserUI$1(::javax::swing::plaf::basic::BasicColorChooserUI *); +public: + void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicColorChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicColorChooserUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.h b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.h new file mode 100644 index 00000000000..a7c3a279a08 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$PreviewListener.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicColorChooserUI$PreviewListener__ +#define __javax_swing_plaf_basic_BasicColorChooserUI$PreviewListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicColorChooserUI; + class BasicColorChooserUI$PreviewListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicColorChooserUI$PreviewListener : public ::java::lang::Object +{ + + BasicColorChooserUI$PreviewListener(::javax::swing::plaf::basic::BasicColorChooserUI *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + BasicColorChooserUI$PreviewListener(::javax::swing::plaf::basic::BasicColorChooserUI *, ::javax::swing::plaf::basic::BasicColorChooserUI$PreviewListener *); + ::javax::swing::plaf::basic::BasicColorChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicColorChooserUI$PreviewListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.h b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.h new file mode 100644 index 00000000000..ed5743feb8d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$PropertyHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicColorChooserUI$PropertyHandler__ +#define __javax_swing_plaf_basic_BasicColorChooserUI$PropertyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicColorChooserUI; + class BasicColorChooserUI$PropertyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicColorChooserUI$PropertyHandler : public ::java::lang::Object +{ + +public: + BasicColorChooserUI$PropertyHandler(::javax::swing::plaf::basic::BasicColorChooserUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicColorChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicColorChooserUI$PropertyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.h b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.h new file mode 100644 index 00000000000..3ca157fe9d9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicColorChooserUI$TabPaneListener.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicColorChooserUI$TabPaneListener__ +#define __javax_swing_plaf_basic_BasicColorChooserUI$TabPaneListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicColorChooserUI; + class BasicColorChooserUI$TabPaneListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicColorChooserUI$TabPaneListener : public ::java::lang::Object +{ + + BasicColorChooserUI$TabPaneListener(::javax::swing::plaf::basic::BasicColorChooserUI *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + BasicColorChooserUI$TabPaneListener(::javax::swing::plaf::basic::BasicColorChooserUI *, ::javax::swing::plaf::basic::BasicColorChooserUI$TabPaneListener *); + ::javax::swing::plaf::basic::BasicColorChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicColorChooserUI$TabPaneListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicColorChooserUI.h b/libjava/javax/swing/plaf/basic/BasicColorChooserUI.h new file mode 100644 index 00000000000..83a41b05d81 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicColorChooserUI.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicColorChooserUI__ +#define __javax_swing_plaf_basic_BasicColorChooserUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JColorChooser; + class JComponent; + class JTabbedPane; + namespace colorchooser + { + class AbstractColorChooserPanel; + } + namespace event + { + class ChangeListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicColorChooserUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicColorChooserUI : public ::javax::swing::plaf::ColorChooserUI +{ + +public: + BasicColorChooserUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > * createDefaultChoosers(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually package-private + virtual void makeTabs(JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > *); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaultChoosers(); + virtual void installPreviewPanel(); +public: // actually package-private + virtual void updatePreviewPanel(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void installListeners(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual void uninstallListeners(); + JArray< ::javax::swing::colorchooser::AbstractColorChooserPanel * > * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ColorChooserUI)))) defaultChoosers; + ::javax::swing::event::ChangeListener * previewListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::JColorChooser * chooser; +public: // actually package-private + ::javax::swing::JTabbedPane * pane; +private: + ::java::awt::Container * prevContainer; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicColorChooserUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.h b/libjava/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.h new file mode 100644 index 00000000000..36a4682b0ac --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxEditor$UIResource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxEditor$UIResource__ +#define __javax_swing_plaf_basic_BasicComboBoxEditor$UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxEditor$UIResource; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxEditor$UIResource : public ::javax::swing::plaf::basic::BasicComboBoxEditor +{ + +public: + BasicComboBoxEditor$UIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxEditor$UIResource__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxEditor.h b/libjava/javax/swing/plaf/basic/BasicComboBoxEditor.h new file mode 100644 index 00000000000..5bde099f2ba --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxEditor.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxEditor__ +#define __javax_swing_plaf_basic_BasicComboBoxEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class ActionListener; + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + class JTextField; + namespace plaf + { + namespace basic + { + class BasicComboBoxEditor; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxEditor : public ::java::lang::Object +{ + +public: + BasicComboBoxEditor(); + virtual ::java::awt::Component * getEditorComponent(); + virtual void setItem(::java::lang::Object *); + virtual ::java::lang::Object * getItem(); + virtual void selectAll(); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); + virtual void addActionListener(::java::awt::event::ActionListener *); + virtual void removeActionListener(::java::awt::event::ActionListener *); +public: // actually protected + ::javax::swing::JTextField * __attribute__((aligned(__alignof__( ::java::lang::Object)))) editor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxEditor__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.h b/libjava/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.h new file mode 100644 index 00000000000..76eaa5c09f7 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxRenderer$UIResource__ +#define __javax_swing_plaf_basic_BasicComboBoxRenderer$UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxRenderer$UIResource; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxRenderer$UIResource : public ::javax::swing::plaf::basic::BasicComboBoxRenderer +{ + +public: + BasicComboBoxRenderer$UIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxRenderer$UIResource__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxRenderer.h b/libjava/javax/swing/plaf/basic/BasicComboBoxRenderer.h new file mode 100644 index 00000000000..746cf3ce132 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxRenderer.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxRenderer__ +#define __javax_swing_plaf_basic_BasicComboBoxRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + } + } + namespace javax + { + namespace swing + { + class JList; + namespace border + { + class Border; + } + namespace plaf + { + namespace basic + { + class BasicComboBoxRenderer; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxRenderer : public ::javax::swing::JLabel +{ + +public: + BasicComboBoxRenderer(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Component * getListCellRendererComponent(::javax::swing::JList *, ::java::lang::Object *, jint, jboolean, jboolean); +public: // actually protected + static ::javax::swing::border::Border * noFocusBorder; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxRenderer__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.h new file mode 100644 index 00000000000..e907fe231e4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI$ComboBoxLayoutManager__ +#define __javax_swing_plaf_basic_BasicComboBoxUI$ComboBoxLayoutManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxUI; + class BasicComboBoxUI$ComboBoxLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI$ComboBoxLayoutManager : public ::java::lang::Object +{ + +public: + BasicComboBoxUI$ComboBoxLayoutManager(::javax::swing::plaf::basic::BasicComboBoxUI *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboBoxUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI$ComboBoxLayoutManager__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.h new file mode 100644 index 00000000000..e5f84c171c8 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicComboBoxUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxUI; + class BasicComboBoxUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI$FocusHandler : public ::java::lang::Object +{ + +public: + BasicComboBoxUI$FocusHandler(::javax::swing::plaf::basic::BasicComboBoxUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboBoxUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.h new file mode 100644 index 00000000000..e07a4649409 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ItemHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI$ItemHandler__ +#define __javax_swing_plaf_basic_BasicComboBoxUI$ItemHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ItemEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxUI; + class BasicComboBoxUI$ItemHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI$ItemHandler : public ::java::lang::Object +{ + +public: + BasicComboBoxUI$ItemHandler(::javax::swing::plaf::basic::BasicComboBoxUI *); + virtual void itemStateChanged(::java::awt::event::ItemEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboBoxUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI$ItemHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.h new file mode 100644 index 00000000000..b2657b802cb --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$KeyHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI$KeyHandler__ +#define __javax_swing_plaf_basic_BasicComboBoxUI$KeyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxUI; + class BasicComboBoxUI$KeyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI$KeyHandler : public ::java::awt::event::KeyAdapter +{ + +public: + BasicComboBoxUI$KeyHandler(::javax::swing::plaf::basic::BasicComboBoxUI *); + virtual void keyPressed(::java::awt::event::KeyEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboBoxUI * __attribute__((aligned(__alignof__( ::java::awt::event::KeyAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI$KeyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.h new file mode 100644 index 00000000000..8647c7fd412 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$ListDataHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI$ListDataHandler__ +#define __javax_swing_plaf_basic_BasicComboBoxUI$ListDataHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListDataEvent; + } + namespace plaf + { + namespace basic + { + class BasicComboBoxUI; + class BasicComboBoxUI$ListDataHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI$ListDataHandler : public ::java::lang::Object +{ + +public: + BasicComboBoxUI$ListDataHandler(::javax::swing::plaf::basic::BasicComboBoxUI *); + virtual void contentsChanged(::javax::swing::event::ListDataEvent *); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboBoxUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI$ListDataHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..987d5406e2b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicComboBoxUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboBoxUI; + class BasicComboBoxUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicComboBoxUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicComboBoxUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboBoxUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboBoxUI.h b/libjava/javax/swing/plaf/basic/BasicComboBoxUI.h new file mode 100644 index 00000000000..77f1f53d41c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboBoxUI.h @@ -0,0 +1,154 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboBoxUI__ +#define __javax_swing_plaf_basic_BasicComboBoxUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Graphics; + class Insets; + class LayoutManager; + class Rectangle; + namespace event + { + class FocusListener; + class ItemListener; + class KeyListener; + class MouseListener; + class MouseMotionListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class CellRendererPane; + class ComboBoxEditor; + class JButton; + class JComboBox; + class JComponent; + class JList; + class ListCellRenderer; + namespace event + { + class ListDataListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicComboBoxUI; + class ComboPopup; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboBoxUI : public ::javax::swing::plaf::ComboBoxUI +{ + +public: + BasicComboBoxUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual void installListeners(); + virtual void uninstallDefaults(); + virtual void uninstallListeners(); + virtual ::javax::swing::plaf::basic::ComboPopup * createPopup(); + virtual ::java::awt::event::KeyListener * createKeyListener(); + virtual ::java::awt::event::FocusListener * createFocusListener(); + virtual ::javax::swing::event::ListDataListener * createListDataListener(); + virtual ::java::awt::event::ItemListener * createItemListener(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual ::javax::swing::ListCellRenderer * createRenderer(); + virtual ::javax::swing::ComboBoxEditor * createEditor(); + virtual void installComponents(); + virtual void uninstallComponents(); +public: + virtual void addEditor(); + virtual void removeEditor(); +public: // actually protected + virtual void configureEditor(); + virtual void unconfigureEditor(); +public: + virtual void configureArrowButton(); + virtual void unconfigureArrowButton(); +public: // actually protected + virtual ::javax::swing::JButton * createArrowButton(); +public: + virtual jboolean isPopupVisible(::javax::swing::JComboBox *); + virtual void setPopupVisible(::javax::swing::JComboBox *, jboolean); + virtual jboolean isFocusTraversable(::javax::swing::JComboBox *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + virtual jboolean isNavigationKey(jint); + virtual void selectNextPossibleValue(); + virtual void selectPreviousPossibleValue(); + virtual void toggleOpenClose(); + virtual ::java::awt::Rectangle * rectangleForCurrentValue(); + virtual ::java::awt::Insets * getInsets(); +public: + virtual void paintCurrentValue(::java::awt::Graphics *, ::java::awt::Rectangle *, jboolean); + virtual void paintCurrentValueBackground(::java::awt::Graphics *, ::java::awt::Rectangle *, jboolean); +public: // actually protected + virtual ::java::awt::Dimension * getDefaultSize(); + virtual ::java::awt::Dimension * getDisplaySize(); + virtual void installKeyboardActions(); + virtual void uninstallKeyboardActions(); + ::javax::swing::JButton * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ComboBoxUI)))) arrowButton; + ::javax::swing::JComboBox * comboBox; + ::java::awt::Component * editor; + ::java::awt::event::FocusListener * focusListener; + jboolean hasFocus; + ::java::awt::event::ItemListener * itemListener; + ::java::awt::event::KeyListener * keyListener; + ::javax::swing::JList * listBox; + ::javax::swing::event::ListDataListener * listDataListener; + ::javax::swing::plaf::basic::ComboPopup * popup; + ::java::awt::event::KeyListener * popupKeyListener; + ::java::awt::event::MouseListener * popupMouseListener; + ::java::awt::event::MouseMotionListener * popupMouseMotionListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; +public: // actually package-private + ::java::awt::Dimension * displaySize; +public: // actually protected + ::javax::swing::CellRendererPane * currentValuePane; + ::java::awt::Dimension * cachedMinimumSize; + jboolean isMinimumSizeDirty; +private: + static ::javax::swing::ListCellRenderer * DEFAULT_RENDERER; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboBoxUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.h new file mode 100644 index 00000000000..ecf7e1b8ef1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$InvocationKeyHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$InvocationKeyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$InvocationKeyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$InvocationKeyHandler : public ::java::awt::event::KeyAdapter +{ + +public: + BasicComboPopup$InvocationKeyHandler(::javax::swing::plaf::basic::BasicComboPopup *); + virtual void keyReleased(::java::awt::event::KeyEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::awt::event::KeyAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$InvocationKeyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.h new file mode 100644 index 00000000000..b04fb475d3a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$InvocationMouseHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$InvocationMouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$InvocationMouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$InvocationMouseHandler : public ::java::awt::event::MouseAdapter +{ + +public: // actually protected + BasicComboPopup$InvocationMouseHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$InvocationMouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.h new file mode 100644 index 00000000000..b8c7bae477e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$InvocationMouseMotionHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$InvocationMouseMotionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$InvocationMouseMotionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$InvocationMouseMotionHandler : public ::java::awt::event::MouseMotionAdapter +{ + +public: // actually protected + BasicComboPopup$InvocationMouseMotionHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void mouseDragged(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::awt::event::MouseMotionAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$InvocationMouseMotionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.h new file mode 100644 index 00000000000..017c66bce0c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$ItemHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$ItemHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$ItemHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ItemEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$ItemHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$ItemHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicComboPopup$ItemHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void itemStateChanged(::java::awt::event::ItemEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$ItemHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.h new file mode 100644 index 00000000000..d7924a453bc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListDataHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$ListDataHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$ListDataHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListDataEvent; + } + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$ListDataHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$ListDataHandler : public ::java::lang::Object +{ + +public: + BasicComboPopup$ListDataHandler(::javax::swing::plaf::basic::BasicComboPopup *); + virtual void contentsChanged(::javax::swing::event::ListDataEvent *); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$ListDataHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.h new file mode 100644 index 00000000000..84b748854d3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$ListMouseHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$ListMouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$ListMouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$ListMouseHandler : public ::java::awt::event::MouseAdapter +{ + +public: // actually protected + BasicComboPopup$ListMouseHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$ListMouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.h new file mode 100644 index 00000000000..d772569baf4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$ListMouseMotionHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$ListMouseMotionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$ListMouseMotionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$ListMouseMotionHandler : public ::java::awt::event::MouseMotionAdapter +{ + +public: // actually protected + BasicComboPopup$ListMouseMotionHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void mouseMoved(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::awt::event::MouseMotionAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$ListMouseMotionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.h new file mode 100644 index 00000000000..dd3caad107f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$ListSelectionHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$ListSelectionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListSelectionEvent; + } + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$ListSelectionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$ListSelectionHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicComboPopup$ListSelectionHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$ListSelectionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.h new file mode 100644 index 00000000000..5bff9aa4c19 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicComboPopup$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicComboPopup; + class BasicComboPopup$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup$PropertyChangeHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicComboPopup$PropertyChangeHandler(::javax::swing::plaf::basic::BasicComboPopup *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicComboPopup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicComboPopup.h b/libjava/javax/swing/plaf/basic/BasicComboPopup.h new file mode 100644 index 00000000000..4c878caa61c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicComboPopup.h @@ -0,0 +1,135 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicComboPopup__ +#define __javax_swing_plaf_basic_BasicComboPopup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace event + { + class ItemListener; + class KeyListener; + class MouseEvent; + class MouseListener; + class MouseMotionListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ComboBoxModel; + class JComboBox; + class JList; + class JScrollPane; + class Timer; + namespace event + { + class ListDataListener; + class ListSelectionListener; + } + namespace plaf + { + namespace basic + { + class BasicComboPopup; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicComboPopup : public ::javax::swing::JPopupMenu +{ + +public: + BasicComboPopup(::javax::swing::JComboBox *); + virtual void show(); + virtual void hide(); + virtual ::javax::swing::JList * getList(); + virtual ::java::awt::event::MouseListener * getMouseListener(); + virtual ::java::awt::event::MouseMotionListener * getMouseMotionListener(); + virtual ::java::awt::event::KeyListener * getKeyListener(); + virtual void uninstallingUI(); +public: // actually protected + virtual void uninstallComboBoxModelListeners(::javax::swing::ComboBoxModel *); + virtual void uninstallKeyboardActions(); + virtual void firePopupMenuWillBecomeVisible(); + virtual void firePopupMenuWillBecomeInvisible(); + virtual void firePopupMenuCanceled(); + virtual ::java::awt::event::MouseListener * createMouseListener(); + virtual ::java::awt::event::MouseMotionListener * createMouseMotionListener(); + virtual ::java::awt::event::KeyListener * createKeyListener(); + virtual ::javax::swing::event::ListSelectionListener * createListSelectionListener(); + virtual ::javax::swing::event::ListDataListener * createListDataListener(); + virtual ::java::awt::event::MouseListener * createListMouseListener(); + virtual ::java::awt::event::MouseMotionListener * createListMouseMotionListener(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::event::ItemListener * createItemListener(); + virtual ::javax::swing::JList * createList(); + virtual void configureList(); + virtual void installListListeners(); + virtual ::javax::swing::JScrollPane * createScroller(); + virtual void configureScroller(); + virtual void configurePopup(); + virtual void installComboBoxListeners(); + virtual void installComboBoxModelListeners(::javax::swing::ComboBoxModel *); + virtual void installKeyboardActions(); +public: + virtual jboolean isFocusTraversable(); +public: // actually protected + virtual void startAutoScrolling(jint); + virtual void stopAutoScrolling(); + virtual void autoScrollUp(); + virtual void autoScrollDown(); + virtual void delegateFocus(::java::awt::event::MouseEvent *); + virtual void togglePopup(); + virtual ::java::awt::event::MouseEvent * convertMouseEvent(::java::awt::event::MouseEvent *); + virtual jint getPopupHeightForRowCount(jint); + virtual ::java::awt::Rectangle * computePopupBounds(jint, jint, jint, jint); + virtual void updateListBoxSelectionForEvent(::java::awt::event::MouseEvent *, jboolean); +private: + void uninstallListeners(); + void uninstallListListeners(); + void uninstallComboBoxListeners(); +public: // actually package-private + virtual void syncListSelection(); +public: // actually protected + ::javax::swing::Timer * __attribute__((aligned(__alignof__( ::javax::swing::JPopupMenu)))) autoscrollTimer; + ::javax::swing::JComboBox * comboBox; + jboolean hasEntered; + jboolean isAutoScrolling; + ::java::awt::event::ItemListener * itemListener; + ::java::awt::event::KeyListener * keyListener; + ::javax::swing::JList * list; + ::javax::swing::event::ListDataListener * listDataListener; + ::java::awt::event::MouseListener * listMouseListener; + ::java::awt::event::MouseMotionListener * listMouseMotionListener; + ::javax::swing::event::ListSelectionListener * listSelectionListener; + ::java::awt::event::MouseListener * mouseListener; + ::java::awt::event::MouseMotionListener * mouseMotionListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + static const jint SCROLL_DOWN = 1; + static const jint SCROLL_UP = 0; + jint scrollDirection; + ::javax::swing::JScrollPane * scroller; + jboolean valueIsAdjusting; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicComboPopup__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$1.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$1.h new file mode 100644 index 00000000000..1f42bbcd33b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$1.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI$1__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopIconUI; + class BasicDesktopIconUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicDesktopIconUI$1(::javax::swing::plaf::basic::BasicDesktopIconUI *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopIconUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$2.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$2.h new file mode 100644 index 00000000000..97ffeb9dee3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI$2__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopIconUI; + class BasicDesktopIconUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI$2 : public ::java::lang::Object +{ + +public: // actually package-private + BasicDesktopIconUI$2(::javax::swing::plaf::basic::BasicDesktopIconUI *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopIconUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.h new file mode 100644 index 00000000000..7a67871449f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$BoundButton.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI$BoundButton__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI$BoundButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopIconUI; + class BasicDesktopIconUI$BoundButton; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI$BoundButton : public ::javax::swing::JButton +{ + +public: + BasicDesktopIconUI$BoundButton(::javax::swing::plaf::basic::BasicDesktopIconUI *, ::java::lang::String *); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getMaximumSize(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopIconUI * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI$BoundButton__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.h new file mode 100644 index 00000000000..cfce73806cf --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$DesktopIconBorder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI$DesktopIconBorder__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI$DesktopIconBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopIconUI; + class BasicDesktopIconUI$DesktopIconBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI$DesktopIconBorder : public ::java::lang::Object +{ + + BasicDesktopIconUI$DesktopIconBorder(::javax::swing::plaf::basic::BasicDesktopIconUI *); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: // actually package-private + BasicDesktopIconUI$DesktopIconBorder(::javax::swing::plaf::basic::BasicDesktopIconUI *, ::javax::swing::plaf::basic::BasicDesktopIconUI$DesktopIconBorder *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) left; + jint top; + jint right; + jint bottom; + ::javax::swing::plaf::basic::BasicDesktopIconUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI$DesktopIconBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.h new file mode 100644 index 00000000000..4a53e9a62c8 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$InternalFrameDefaultMenuIcon.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI$InternalFrameDefaultMenuIcon__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI$InternalFrameDefaultMenuIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopIconUI$InternalFrameDefaultMenuIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI$InternalFrameDefaultMenuIcon : public ::java::lang::Object +{ + +public: // actually package-private + BasicDesktopIconUI$InternalFrameDefaultMenuIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI$InternalFrameDefaultMenuIcon__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.h new file mode 100644 index 00000000000..0829e1ff9b4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI$MouseInputHandler.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JDesktopPane; + namespace plaf + { + namespace basic + { + class BasicDesktopIconUI; + class BasicDesktopIconUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI$MouseInputHandler : public ::javax::swing::event::MouseInputAdapter +{ + +public: + BasicDesktopIconUI$MouseInputHandler(::javax::swing::plaf::basic::BasicDesktopIconUI *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void moveAndRepaint(::javax::swing::JComponent *, jint, jint, jint, jint); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::event::MouseInputAdapter)))) xOffset; + jint yOffset; + ::javax::swing::JDesktopPane * pane; +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopIconUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopIconUI.h b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI.h new file mode 100644 index 00000000000..bafff1a0692 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopIconUI.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopIconUI__ +#define __javax_swing_plaf_basic_BasicDesktopIconUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Insets; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JComponent; + class JInternalFrame; + class JInternalFrame$JDesktopIcon; + namespace event + { + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicDesktopIconUI; + class BasicDesktopIconUI$BoundButton; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopIconUI : public ::javax::swing::plaf::DesktopIconUI +{ + +public: + BasicDesktopIconUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installComponents(); + virtual void uninstallComponents(); + virtual void installListeners(); + virtual void uninstallListeners(); + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual ::javax::swing::event::MouseInputListener * createMouseInputListener(); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Insets * getInsets(::javax::swing::JComponent *); + virtual void deiconize(); +private: + static const jint iconSize = 16; + static const jint iconWidth = 160; + static const jint iconHeight = 35; +public: // actually protected + ::javax::swing::JInternalFrame$JDesktopIcon * __attribute__((aligned(__alignof__( ::javax::swing::plaf::DesktopIconUI)))) desktopIcon; + ::javax::swing::JInternalFrame * frame; +private: + ::javax::swing::event::MouseInputListener * mouseHandler; +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopIconUI$BoundButton * button; +private: + ::java::beans::PropertyChangeListener * propertyHandler; +public: // actually package-private + static ::javax::swing::Icon * defaultIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopIconUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.h b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.h new file mode 100644 index 00000000000..da7e843ab7c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$CloseAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopPaneUI$CloseAction__ +#define __javax_swing_plaf_basic_BasicDesktopPaneUI$CloseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopPaneUI; + class BasicDesktopPaneUI$CloseAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopPaneUI$CloseAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicDesktopPaneUI$CloseAction(::javax::swing::plaf::basic::BasicDesktopPaneUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopPaneUI$CloseAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.h b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.h new file mode 100644 index 00000000000..2733cec79fa --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MaximizeAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopPaneUI$MaximizeAction__ +#define __javax_swing_plaf_basic_BasicDesktopPaneUI$MaximizeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopPaneUI; + class BasicDesktopPaneUI$MaximizeAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopPaneUI$MaximizeAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicDesktopPaneUI$MaximizeAction(::javax::swing::plaf::basic::BasicDesktopPaneUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopPaneUI$MaximizeAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.h b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.h new file mode 100644 index 00000000000..c834c71de9c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$MinimizeAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopPaneUI$MinimizeAction__ +#define __javax_swing_plaf_basic_BasicDesktopPaneUI$MinimizeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopPaneUI; + class BasicDesktopPaneUI$MinimizeAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopPaneUI$MinimizeAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicDesktopPaneUI$MinimizeAction(::javax::swing::plaf::basic::BasicDesktopPaneUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopPaneUI$MinimizeAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.h b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.h new file mode 100644 index 00000000000..b327f1cb3d4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$NavigateAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopPaneUI$NavigateAction__ +#define __javax_swing_plaf_basic_BasicDesktopPaneUI$NavigateAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopPaneUI; + class BasicDesktopPaneUI$NavigateAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopPaneUI$NavigateAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicDesktopPaneUI$NavigateAction(::javax::swing::plaf::basic::BasicDesktopPaneUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopPaneUI$NavigateAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.h b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.h new file mode 100644 index 00000000000..0fc733b6f15 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI$OpenAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopPaneUI$OpenAction__ +#define __javax_swing_plaf_basic_BasicDesktopPaneUI$OpenAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDesktopPaneUI; + class BasicDesktopPaneUI$OpenAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopPaneUI$OpenAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicDesktopPaneUI$OpenAction(::javax::swing::plaf::basic::BasicDesktopPaneUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDesktopPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopPaneUI$OpenAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI.h b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI.h new file mode 100644 index 00000000000..c67ca088d26 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDesktopPaneUI.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDesktopPaneUI__ +#define __javax_swing_plaf_basic_BasicDesktopPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace swing + { + class DesktopManager; + class JComponent; + class JDesktopPane; + class KeyStroke; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicDesktopPaneUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDesktopPaneUI : public ::javax::swing::plaf::DesktopPaneUI +{ + +public: + BasicDesktopPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual void installDesktopManager(); + virtual void installKeyboardActions(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void registerKeyboardActions(); + virtual void uninstallDefaults(); + virtual void uninstallDesktopManager(); + virtual void uninstallKeyboardActions(); + virtual void unregisterKeyboardActions(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + ::javax::swing::KeyStroke * __attribute__((aligned(__alignof__( ::javax::swing::plaf::DesktopPaneUI)))) closeKey; + ::javax::swing::KeyStroke * maximizeKey; + ::javax::swing::KeyStroke * minimizeKey; + ::javax::swing::KeyStroke * navigateKey; + ::javax::swing::KeyStroke * navigateKey2; + ::javax::swing::DesktopManager * desktopManager; + ::javax::swing::JDesktopPane * desktop; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDesktopPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicDirectoryModel$1.h b/libjava/javax/swing/plaf/basic/BasicDirectoryModel$1.h new file mode 100644 index 00000000000..4d14a6f25a2 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDirectoryModel$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDirectoryModel$1__ +#define __javax_swing_plaf_basic_BasicDirectoryModel$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDirectoryModel; + class BasicDirectoryModel$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDirectoryModel$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicDirectoryModel$1(::javax::swing::plaf::basic::BasicDirectoryModel *); +public: + jint compare(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicDirectoryModel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDirectoryModel$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.h b/libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.h new file mode 100644 index 00000000000..a5d2a719d3c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest__ +#define __javax_swing_plaf_basic_BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDirectoryModel$DirectoryLoadThread; + class BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest : public ::java::lang::Object +{ + +public: // actually package-private + BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest(::javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread *, ::java::util::List *, jint, ::java::util::List *, jint); +public: + virtual void run(); +public: // actually package-private + virtual void cancel(); +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) added; + jint addIndex; + ::java::util::List * removed; + jint removeIndex; + jboolean cancel__; +public: // actually package-private + ::javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest__ diff --git a/libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.h b/libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.h new file mode 100644 index 00000000000..d20f830c24a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDirectoryModel$DirectoryLoadThread.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDirectoryModel$DirectoryLoadThread__ +#define __javax_swing_plaf_basic_BasicDirectoryModel$DirectoryLoadThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicDirectoryModel; + class BasicDirectoryModel$DirectoryLoadThread; + class BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread : public ::java::lang::Thread +{ + +public: // actually package-private + BasicDirectoryModel$DirectoryLoadThread(::javax::swing::plaf::basic::BasicDirectoryModel *, ::java::io::File *); +public: + virtual void run(); +private: + void invokeLater(::javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest *); +public: // actually package-private + virtual void cancelPending(); + static ::javax::swing::plaf::basic::BasicDirectoryModel * access$0(::javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread *); + ::java::io::File * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) directory; +private: + ::javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread$UpdateSwingRequest * pending; +public: // actually package-private + ::javax::swing::plaf::basic::BasicDirectoryModel * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDirectoryModel$DirectoryLoadThread__ diff --git a/libjava/javax/swing/plaf/basic/BasicDirectoryModel.h b/libjava/javax/swing/plaf/basic/BasicDirectoryModel.h new file mode 100644 index 00000000000..f13550f7100 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicDirectoryModel.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicDirectoryModel__ +#define __javax_swing_plaf_basic_BasicDirectoryModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JFileChooser; + namespace event + { + class ListDataEvent; + } + namespace plaf + { + namespace basic + { + class BasicDirectoryModel; + class BasicDirectoryModel$DirectoryLoadThread; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicDirectoryModel : public ::javax::swing::AbstractListModel +{ + +public: + BasicDirectoryModel(::javax::swing::JFileChooser *); + virtual jboolean contains(::java::lang::Object *); + virtual void fireContentsChanged(); + virtual ::java::util::Vector * getDirectories(); + virtual ::java::lang::Object * getElementAt(jint); + virtual ::java::util::Vector * getFiles(); + virtual jint getSize(); + virtual jint indexOf(::java::lang::Object *); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); + virtual void invalidateFileCache(); +public: // actually protected + virtual jboolean lt(::java::io::File *, ::java::io::File *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual jboolean renameFile(::java::io::File *, ::java::io::File *); +public: // actually protected + virtual void sort(::java::util::Vector *); +public: + virtual void validateFileCache(); +public: // actually package-private + static ::java::util::Vector * access$0(::javax::swing::plaf::basic::BasicDirectoryModel *); + static void access$1(::javax::swing::plaf::basic::BasicDirectoryModel *, ::java::util::Vector *); + static void access$2(::javax::swing::plaf::basic::BasicDirectoryModel *, ::java::util::Vector *); + static void access$3(::javax::swing::plaf::basic::BasicDirectoryModel *, ::java::lang::Object *, jint, jint); + static void access$4(::javax::swing::plaf::basic::BasicDirectoryModel *, ::java::lang::Object *, jint, jint); + static ::javax::swing::JFileChooser * access$5(::javax::swing::plaf::basic::BasicDirectoryModel *); +private: + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) contents; + ::java::util::Vector * directories; + ::java::util::Vector * files; + jint listingMode; + ::javax::swing::JFileChooser * filechooser; + ::javax::swing::plaf::basic::BasicDirectoryModel$DirectoryLoadThread * loadThread; + ::java::util::Comparator * comparator; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicDirectoryModel__ diff --git a/libjava/javax/swing/plaf/basic/BasicEditorPaneUI.h b/libjava/javax/swing/plaf/basic/BasicEditorPaneUI.h new file mode 100644 index 00000000000..b0033edb185 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicEditorPaneUI.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicEditorPaneUI__ +#define __javax_swing_plaf_basic_BasicEditorPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicEditorPaneUI; + } + } + namespace text + { + class EditorKit; + class JTextComponent; + } + } + } +} + +class javax::swing::plaf::basic::BasicEditorPaneUI : public ::javax::swing::plaf::basic::BasicTextUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + BasicEditorPaneUI(); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual ::javax::swing::text::EditorKit * getEditorKit(::javax::swing::text::JTextComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicEditorPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.h new file mode 100644 index 00000000000..72434cc649f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$AcceptAllFileFilter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$AcceptAllFileFilter__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$AcceptAllFileFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$AcceptAllFileFilter; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$AcceptAllFileFilter : public ::javax::swing::filechooser::FileFilter +{ + +public: + BasicFileChooserUI$AcceptAllFileFilter(::javax::swing::plaf::basic::BasicFileChooserUI *); + virtual jboolean accept(::java::io::File *); + virtual ::java::lang::String * getDescription(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::filechooser::FileFilter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$AcceptAllFileFilter__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.h new file mode 100644 index 00000000000..b650369befd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$ApproveSelectionAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$ApproveSelectionAction__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$ApproveSelectionAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$ApproveSelectionAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$ApproveSelectionAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicFileChooserUI$ApproveSelectionAction(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$ApproveSelectionAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.h new file mode 100644 index 00000000000..dece5a2e955 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$BasicFileView.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$BasicFileView__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$BasicFileView__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$BasicFileView; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$BasicFileView : public ::javax::swing::filechooser::FileView +{ + +public: + BasicFileChooserUI$BasicFileView(::javax::swing::plaf::basic::BasicFileChooserUI *); + virtual void cacheIcon(::java::io::File *, ::javax::swing::Icon *); + virtual void clearIconCache(); + virtual ::javax::swing::Icon * getCachedIcon(::java::io::File *); + virtual ::java::lang::String * getDescription(::java::io::File *); + virtual ::javax::swing::Icon * getIcon(::java::io::File *); + virtual ::java::lang::String * getName(::java::io::File *); + virtual ::java::lang::String * getTypeDescription(::java::io::File *); + virtual ::java::lang::Boolean * isHidden(::java::io::File *); +public: // actually protected + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::javax::swing::filechooser::FileView)))) iconCache; +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$BasicFileView__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.h new file mode 100644 index 00000000000..03af702d390 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$CancelSelectionAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$CancelSelectionAction__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$CancelSelectionAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$CancelSelectionAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$CancelSelectionAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicFileChooserUI$CancelSelectionAction(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$CancelSelectionAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.h new file mode 100644 index 00000000000..75b99b56b03 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$ChangeToParentDirectoryAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$ChangeToParentDirectoryAction__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$ChangeToParentDirectoryAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$ChangeToParentDirectoryAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$ChangeToParentDirectoryAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicFileChooserUI$ChangeToParentDirectoryAction(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$ChangeToParentDirectoryAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.h new file mode 100644 index 00000000000..79df9920515 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$DoubleClickListener.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$DoubleClickListener__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$DoubleClickListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JList; + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$DoubleClickListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$DoubleClickListener : public ::java::awt::event::MouseAdapter +{ + +public: + BasicFileChooserUI$DoubleClickListener(::javax::swing::plaf::basic::BasicFileChooserUI *, ::javax::swing::JList *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) lastSelected; + ::javax::swing::JList * list; +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$DoubleClickListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.h new file mode 100644 index 00000000000..219143eb5fb --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$GoHomeAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$GoHomeAction__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$GoHomeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$GoHomeAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$GoHomeAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicFileChooserUI$GoHomeAction(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$GoHomeAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.h new file mode 100644 index 00000000000..da249e43aae --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$NewFolderAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$NewFolderAction__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$NewFolderAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$NewFolderAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$NewFolderAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicFileChooserUI$NewFolderAction(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$NewFolderAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.h new file mode 100644 index 00000000000..af8c2d0ba6e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$SelectionListener.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$SelectionListener__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$SelectionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListSelectionEvent; + } + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$SelectionListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$SelectionListener : public ::java::lang::Object +{ + +public: // actually protected + BasicFileChooserUI$SelectionListener(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$SelectionListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.h new file mode 100644 index 00000000000..a3db6b1345b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI$UpdateAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI$UpdateAction__ +#define __javax_swing_plaf_basic_BasicFileChooserUI$UpdateAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicFileChooserUI; + class BasicFileChooserUI$UpdateAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI$UpdateAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + BasicFileChooserUI$UpdateAction(::javax::swing::plaf::basic::BasicFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI$UpdateAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicFileChooserUI.h b/libjava/javax/swing/plaf/basic/BasicFileChooserUI.h new file mode 100644 index 00000000000..8565a6757b1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFileChooserUI.h @@ -0,0 +1,187 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFileChooserUI__ +#define __javax_swing_plaf_basic_BasicFileChooserUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Action; + class Icon; + class JButton; + class JComponent; + class JFileChooser; + class JList; + class JPanel; + class JTextField; + namespace event + { + class ListSelectionListener; + } + namespace filechooser + { + class FileFilter; + class FileView; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicDirectoryModel; + class BasicFileChooserUI; + class BasicFileChooserUI$ApproveSelectionAction; + class BasicFileChooserUI$CancelSelectionAction; + class BasicFileChooserUI$ChangeToParentDirectoryAction; + class BasicFileChooserUI$GoHomeAction; + class BasicFileChooserUI$NewFolderAction; + class BasicFileChooserUI$UpdateAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFileChooserUI : public ::javax::swing::plaf::FileChooserUI +{ + +public: // actually package-private + virtual void closeDialog(); +public: + BasicFileChooserUI(::javax::swing::JFileChooser *); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually package-private + virtual void boxEntries(); +public: + virtual void installComponents(::javax::swing::JFileChooser *); + virtual void uninstallComponents(::javax::swing::JFileChooser *); +public: // actually protected + virtual void installListeners(::javax::swing::JFileChooser *); + virtual void uninstallListeners(::javax::swing::JFileChooser *); + virtual void installDefaults(::javax::swing::JFileChooser *); + virtual void uninstallDefaults(::javax::swing::JFileChooser *); + virtual void installIcons(::javax::swing::JFileChooser *); + virtual void uninstallIcons(::javax::swing::JFileChooser *); + virtual void installStrings(::javax::swing::JFileChooser *); + virtual void uninstallStrings(::javax::swing::JFileChooser *); + virtual void createModel(); +public: + virtual ::javax::swing::plaf::basic::BasicDirectoryModel * getModel(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(::javax::swing::JFileChooser *); + virtual ::java::lang::String * getFileName(); + virtual ::java::lang::String * getDirectoryName(); + virtual void setFileName(::java::lang::String *); + virtual void setDirectoryName(::java::lang::String *); + virtual void rescanCurrentDirectory(::javax::swing::JFileChooser *); + virtual void ensureFileIsVisible(::javax::swing::JFileChooser *, ::java::io::File *); + virtual ::javax::swing::JFileChooser * getFileChooser(); + virtual ::javax::swing::JPanel * getAccessoryPanel(); +public: // actually protected + virtual ::javax::swing::JButton * getApproveButton(::javax::swing::JFileChooser *); +public: + virtual ::java::lang::String * getApproveButtonToolTipText(::javax::swing::JFileChooser *); + virtual void clearIconCache(); + virtual ::javax::swing::event::ListSelectionListener * createListSelectionListener(::javax::swing::JFileChooser *); +public: // actually protected + virtual ::java::awt::event::MouseListener * createDoubleClickListener(::javax::swing::JFileChooser *, ::javax::swing::JList *); + virtual jboolean isDirectorySelected(); + virtual void setDirectorySelected(jboolean); + virtual ::java::io::File * getDirectory(); + virtual void setDirectory(::java::io::File *); +public: + virtual ::javax::swing::filechooser::FileFilter * getAcceptAllFileFilter(::javax::swing::JFileChooser *); + virtual ::javax::swing::filechooser::FileView * getFileView(::javax::swing::JFileChooser *); + virtual ::java::lang::String * getDialogTitle(::javax::swing::JFileChooser *); + virtual jint getApproveButtonMnemonic(::javax::swing::JFileChooser *); + virtual ::java::lang::String * getApproveButtonText(::javax::swing::JFileChooser *); + virtual ::javax::swing::Action * getNewFolderAction(); + virtual ::javax::swing::Action * getGoHomeAction(); + virtual ::javax::swing::Action * getChangeToParentDirectoryAction(); + virtual ::javax::swing::Action * getApproveSelectionAction(); + virtual ::javax::swing::Action * getCancelSelectionAction(); + virtual ::javax::swing::Action * getUpdateAction(); +public: // actually package-private + static ::java::io::File * access$0(::javax::swing::plaf::basic::BasicFileChooserUI *); + static void access$1(::javax::swing::plaf::basic::BasicFileChooserUI *, ::java::io::File *); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::FileChooserUI)))) cancelButtonMnemonic; + ::java::lang::String * cancelButtonText; + ::java::lang::String * cancelButtonToolTipText; + ::javax::swing::Icon * computerIcon; + ::javax::swing::Icon * detailsViewIcon; + ::javax::swing::Icon * directoryIcon; + jint directoryOpenButtonMnemonic; + ::java::lang::String * directoryOpenButtonText; + ::java::lang::String * directoryOpenButtonToolTipText; + ::javax::swing::Icon * fileIcon; + ::javax::swing::Icon * floppyDriveIcon; + ::javax::swing::Icon * hardDriveIcon; + jint helpButtonMnemonic; + ::java::lang::String * helpButtonText; + ::java::lang::String * helpButtonToolTipText; + ::javax::swing::Icon * homeFolderIcon; + ::javax::swing::Icon * listViewIcon; + ::javax::swing::Icon * newFolderIcon; + jint openButtonMnemonic; + ::java::lang::String * openButtonText; + ::java::lang::String * openButtonToolTipText; + jint saveButtonMnemonic; + ::java::lang::String * saveButtonText; + ::java::lang::String * saveButtonToolTipText; + jint updateButtonMnemonic; + ::java::lang::String * updateButtonText; + ::java::lang::String * updateButtonToolTipText; + ::javax::swing::Icon * upFolderIcon; +public: // actually package-private + ::javax::swing::JFileChooser * filechooser; + ::javax::swing::plaf::basic::BasicDirectoryModel * model; + ::javax::swing::filechooser::FileFilter * acceptAll; + ::javax::swing::filechooser::FileView * fv; + ::javax::swing::JButton * accept; + ::javax::swing::JPanel * accessoryPanel; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::java::lang::String * acceptAllFileFilterText; + ::java::lang::String * dirDescText; + ::java::lang::String * fileDescText; + jboolean dirSelected; + ::java::io::File * currDir; + ::javax::swing::JPanel * bottomPanel; + ::javax::swing::JPanel * closePanel; + ::javax::swing::JTextField * entry; + ::java::lang::String * parentPath; +private: + ::javax::swing::plaf::basic::BasicFileChooserUI$ApproveSelectionAction * approveSelectionAction; + ::javax::swing::plaf::basic::BasicFileChooserUI$CancelSelectionAction * cancelSelectionAction; + ::javax::swing::plaf::basic::BasicFileChooserUI$GoHomeAction * goHomeAction; + ::javax::swing::plaf::basic::BasicFileChooserUI$ChangeToParentDirectoryAction * changeToParentDirectoryAction; + ::javax::swing::plaf::basic::BasicFileChooserUI$NewFolderAction * newFolderAction; + ::javax::swing::plaf::basic::BasicFileChooserUI$UpdateAction * updateAction; + ::java::io::File * selectedDir; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFileChooserUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicFormattedTextFieldUI.h b/libjava/javax/swing/plaf/basic/BasicFormattedTextFieldUI.h new file mode 100644 index 00000000000..f024fbb63d9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicFormattedTextFieldUI.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicFormattedTextFieldUI__ +#define __javax_swing_plaf_basic_BasicFormattedTextFieldUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicFormattedTextFieldUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicFormattedTextFieldUI : public ::javax::swing::plaf::basic::BasicTextFieldUI +{ + +public: + BasicFormattedTextFieldUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicFormattedTextFieldUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.h b/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.h new file mode 100644 index 00000000000..5cab989ac60 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicGraphicsUtils__ +#define __javax_swing_plaf_basic_BasicGraphicsUtils__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class JComponent; + namespace plaf + { + namespace basic + { + class BasicGraphicsUtils; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicGraphicsUtils : public ::java::lang::Object +{ + +public: + BasicGraphicsUtils(); + static void drawEtchedRect(::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + static ::java::awt::Insets * getEtchedInsets(); + static void drawGroove(::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *); + static ::java::awt::Insets * getGrooveInsets(); + static void drawBezel(::java::awt::Graphics *, jint, jint, jint, jint, jboolean, jboolean, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + static void drawLoweredBezel(::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *); + static void drawString(::java::awt::Graphics *, ::java::lang::String *, jint, jint, jint); + static void drawStringUnderlineCharAt(::java::awt::Graphics *, ::java::lang::String *, jint, jint, jint); +public: // actually package-private + static void drawString(::javax::swing::JComponent *, ::java::awt::Graphics *, ::java::lang::String *, jint, jint, jint); + static void drawStringUnderlineCharAt(::javax::swing::JComponent *, ::java::awt::Graphics *, ::java::lang::String *, jint, jint, jint); +public: + static void drawDashedRect(::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::awt::Dimension * getPreferredButtonSize(::javax::swing::AbstractButton *, jint); +public: // actually package-private + static ::java::lang::String * CACHED_TEXT_LAYOUT; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicGraphicsUtils__ diff --git a/libjava/javax/swing/plaf/basic/BasicHTML$HTMLRootView.h b/libjava/javax/swing/plaf/basic/BasicHTML$HTMLRootView.h new file mode 100644 index 00000000000..368ab871540 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicHTML$HTMLRootView.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicHTML$HTMLRootView__ +#define __javax_swing_plaf_basic_BasicHTML$HTMLRootView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace event + { + class DocumentEvent; + } + namespace plaf + { + namespace basic + { + class BasicHTML$HTMLRootView; + } + } + namespace text + { + class AttributeSet; + class Document; + class EditorKit; + class Element; + class Position$Bias; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::plaf::basic::BasicHTML$HTMLRootView : public ::javax::swing::text::View +{ + +public: + BasicHTML$HTMLRootView(::javax::swing::JComponent *, ::javax::swing::text::View *, ::javax::swing::text::EditorKit *, ::javax::swing::text::Document *); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); + virtual void preferenceChanged(::javax::swing::text::View *, jboolean, jboolean); + virtual void setView(::javax::swing::text::View *); + virtual void setSize(jfloat, jfloat); + virtual ::javax::swing::text::View * getView(jint); + virtual jint getViewCount(); + virtual ::java::awt::Container * getContainer(); + virtual jfloat getPreferredSpan(jint); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual jint getNextVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jint getStartOffset(); + virtual jint getEndOffset(); + virtual ::javax::swing::text::Document * getDocument(); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual ::javax::swing::text::Element * getElement(); +private: + ::javax::swing::text::View * __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) view; + ::javax::swing::JComponent * component; + ::javax::swing::text::EditorKit * editorKit; + ::javax::swing::text::Document * document; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicHTML$HTMLRootView__ diff --git a/libjava/javax/swing/plaf/basic/BasicHTML.h b/libjava/javax/swing/plaf/basic/BasicHTML.h new file mode 100644 index 00000000000..7ae85956eca --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicHTML.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicHTML__ +#define __javax_swing_plaf_basic_BasicHTML__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + namespace basic + { + class BasicHTML; + } + } + namespace text + { + class View; + } + } + } +} + +class javax::swing::plaf::basic::BasicHTML : public ::java::lang::Object +{ + +public: + BasicHTML(); + static ::javax::swing::text::View * createHTMLView(::javax::swing::JComponent *, ::java::lang::String *); + static jboolean isHTMLString(::java::lang::String *); + static void updateRenderer(::javax::swing::JComponent *, ::java::lang::String *); + static ::java::lang::String * propertyKey; + static ::java::lang::String * documentBaseKey; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicHTML__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory$1.h b/libjava/javax/swing/plaf/basic/BasicIconFactory$1.h new file mode 100644 index 00000000000..5a75dbb60ca --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory$1.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory$1__ +#define __javax_swing_plaf_basic_BasicIconFactory$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicIconFactory$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicIconFactory$1(); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory$2.h b/libjava/javax/swing/plaf/basic/BasicIconFactory$2.h new file mode 100644 index 00000000000..be87bf9d96a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory$2.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory$2__ +#define __javax_swing_plaf_basic_BasicIconFactory$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicIconFactory$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory$2 : public ::java::lang::Object +{ + +public: // actually package-private + BasicIconFactory$2(); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.h b/libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.h new file mode 100644 index 00000000000..0287f1c7acb --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxIcon.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory$CheckBoxIcon__ +#define __javax_swing_plaf_basic_BasicIconFactory$CheckBoxIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicIconFactory$CheckBoxIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory$CheckBoxIcon : public ::java::lang::Object +{ + +public: // actually package-private + BasicIconFactory$CheckBoxIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory$CheckBoxIcon__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.h b/libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.h new file mode 100644 index 00000000000..9c1d7f0262e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory$CheckBoxMenuItemIcon.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory$CheckBoxMenuItemIcon__ +#define __javax_swing_plaf_basic_BasicIconFactory$CheckBoxMenuItemIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicIconFactory$CheckBoxMenuItemIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory$CheckBoxMenuItemIcon : public ::java::lang::Object +{ + +public: // actually package-private + BasicIconFactory$CheckBoxMenuItemIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory$CheckBoxMenuItemIcon__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.h b/libjava/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.h new file mode 100644 index 00000000000..d7771903215 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory$DummyIcon.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory$DummyIcon__ +#define __javax_swing_plaf_basic_BasicIconFactory$DummyIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicIconFactory$DummyIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory$DummyIcon : public ::java::lang::Object +{ + + BasicIconFactory$DummyIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + BasicIconFactory$DummyIcon(::javax::swing::plaf::basic::BasicIconFactory$DummyIcon *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory$DummyIcon__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.h b/libjava/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.h new file mode 100644 index 00000000000..a30f4d0d4a9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory$RadioButtonIcon.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory$RadioButtonIcon__ +#define __javax_swing_plaf_basic_BasicIconFactory$RadioButtonIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicIconFactory$RadioButtonIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory$RadioButtonIcon : public ::java::lang::Object +{ + +public: // actually package-private + BasicIconFactory$RadioButtonIcon(); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory$RadioButtonIcon__ diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory.h b/libjava/javax/swing/plaf/basic/BasicIconFactory.h new file mode 100644 index 00000000000..fc851373dda --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicIconFactory.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicIconFactory__ +#define __javax_swing_plaf_basic_BasicIconFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + namespace basic + { + class BasicIconFactory; + class BasicIconFactory$CheckBoxIcon; + class BasicIconFactory$RadioButtonIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicIconFactory : public ::java::lang::Object +{ + +public: + BasicIconFactory(); + static ::javax::swing::Icon * getMenuItemCheckIcon(); + static ::javax::swing::Icon * getMenuItemArrowIcon(); + static ::javax::swing::Icon * getMenuArrowIcon(); + static ::javax::swing::Icon * getCheckBoxIcon(); + static ::javax::swing::Icon * getRadioButtonIcon(); + static ::javax::swing::Icon * getCheckBoxMenuItemIcon(); + static ::javax::swing::Icon * getRadioButtonMenuItemIcon(); + static ::javax::swing::Icon * createEmptyFrameIcon(); +public: // actually package-private + static const jlong serialVersionUID = 5605588811185324383LL; +private: + static ::javax::swing::plaf::basic::BasicIconFactory$CheckBoxIcon * checkBoxIcon; + static ::javax::swing::plaf::basic::BasicIconFactory$RadioButtonIcon * radioButtonIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicIconFactory__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.h new file mode 100644 index 00000000000..efce70e9db2 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$CloseAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$CloseAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$CloseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$CloseAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$CloseAction : public ::javax::swing::AbstractAction +{ + +public: + BasicInternalFrameTitlePane$CloseAction(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$CloseAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.h new file mode 100644 index 00000000000..4ed9a7f741f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$IconifyAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$IconifyAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$IconifyAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$IconifyAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$IconifyAction : public ::javax::swing::AbstractAction +{ + +public: + BasicInternalFrameTitlePane$IconifyAction(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$IconifyAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.h new file mode 100644 index 00000000000..cf31b3c0d10 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MaximizeAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$MaximizeAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$MaximizeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$MaximizeAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$MaximizeAction : public ::javax::swing::AbstractAction +{ + +public: + BasicInternalFrameTitlePane$MaximizeAction(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$MaximizeAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.h new file mode 100644 index 00000000000..6c4570f1f9c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$MoveAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$MoveAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$MoveAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$MoveAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$MoveAction : public ::javax::swing::AbstractAction +{ + +public: + BasicInternalFrameTitlePane$MoveAction(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$MoveAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.h new file mode 100644 index 00000000000..3177afec5c7 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PaneButton.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$PaneButton__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$PaneButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$PaneButton; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$PaneButton : public ::javax::swing::JButton +{ + +public: + BasicInternalFrameTitlePane$PaneButton(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *, ::javax::swing::Action *); + virtual jboolean isFocusable(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$PaneButton__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.h new file mode 100644 index 00000000000..be7bb8be66f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicInternalFrameTitlePane$PropertyChangeHandler(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.h new file mode 100644 index 00000000000..b33c5e0cda1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$RestoreAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$RestoreAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$RestoreAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$RestoreAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$RestoreAction : public ::javax::swing::AbstractAction +{ + +public: + BasicInternalFrameTitlePane$RestoreAction(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$RestoreAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.h new file mode 100644 index 00000000000..edf1553f8d3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SizeAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$SizeAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$SizeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$SizeAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$SizeAction : public ::javax::swing::AbstractAction +{ + +public: + BasicInternalFrameTitlePane$SizeAction(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$SizeAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.h new file mode 100644 index 00000000000..9510859b96a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$SystemMenuBar.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$SystemMenuBar__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$SystemMenuBar__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$SystemMenuBar; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$SystemMenuBar : public ::javax::swing::JMenuBar +{ + +public: + BasicInternalFrameTitlePane$SystemMenuBar(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual jboolean isFocusTraversable(); + virtual jboolean isOpaque(); + virtual void paint(::java::awt::Graphics *); + virtual void requestFocus(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::JMenuBar)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$SystemMenuBar__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.h new file mode 100644 index 00000000000..4dedb42bd2c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane$TitlePaneLayout.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane$TitlePaneLayout__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane$TitlePaneLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameTitlePane$TitlePaneLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane$TitlePaneLayout : public ::java::lang::Object +{ + +public: + BasicInternalFrameTitlePane$TitlePaneLayout(::javax::swing::plaf::basic::BasicInternalFrameTitlePane *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane$TitlePaneLayout__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane.h new file mode 100644 index 00000000000..68b826b2f97 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane__ +#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class FontMetrics; + class Graphics; + class LayoutManager; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Action; + class Icon; + class JButton; + class JInternalFrame; + class JLabel; + class JMenu; + class JMenuBar; + namespace plaf + { + namespace basic + { + class BasicInternalFrameTitlePane; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameTitlePane : public ::javax::swing::JComponent +{ + +public: + BasicInternalFrameTitlePane(::javax::swing::JInternalFrame *); +public: // actually protected + virtual void installTitlePane(); + virtual void addSubComponents(); + virtual void createActions(); + virtual void installListeners(); + virtual void uninstallListeners(); + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void createButtons(); + virtual void setButtonIcons(); + virtual void assembleSystemMenu(); + virtual void addSystemMenuItems(::javax::swing::JMenu *); + virtual ::javax::swing::JMenuBar * createSystemMenuBar(); + virtual ::javax::swing::JMenu * createSystemMenu(); + virtual void showSystemMenu(); +public: + virtual void paintComponent(::java::awt::Graphics *); +public: // actually protected + virtual void paintTitleBackground(::java::awt::Graphics *); + virtual ::java::lang::String * getTitle(::java::lang::String *, ::java::awt::FontMetrics *, jint); + virtual void postClosingEvent(::javax::swing::JInternalFrame *); + virtual void enableActions(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::LayoutManager * createLayout(); + static ::java::lang::String * CLOSE_CMD; + static ::java::lang::String * ICONIFY_CMD; + static ::java::lang::String * MAXIMIZE_CMD; + static ::java::lang::String * MOVE_CMD; + static ::java::lang::String * RESTORE_CMD; + static ::java::lang::String * SIZE_CMD; + ::javax::swing::Action * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) closeAction; + ::javax::swing::Action * iconifyAction; + ::javax::swing::Action * maximizeAction; + ::javax::swing::Action * moveAction; + ::javax::swing::Action * restoreAction; + ::javax::swing::Action * sizeAction; + ::javax::swing::JButton * closeButton; + ::javax::swing::JButton * iconButton; + ::javax::swing::JButton * maxButton; + ::javax::swing::Icon * minIcon; + ::javax::swing::Icon * maxIcon; + ::javax::swing::Icon * iconIcon; + ::javax::swing::Icon * closeIcon; + ::javax::swing::JInternalFrame * frame; + ::javax::swing::JMenuBar * menuBar; + ::javax::swing::JMenu * windowMenu; + ::java::awt::Color * notSelectedTextColor; + ::java::awt::Color * notSelectedTitleColor; + ::java::awt::Color * selectedTextColor; + ::java::awt::Color * selectedTitleColor; + ::java::beans::PropertyChangeListener * propertyChangeListener; +public: // actually package-private + ::javax::swing::JLabel * title; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameTitlePane__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.h new file mode 100644 index 00000000000..d1d36649a61 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BasicInternalFrameListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$BasicInternalFrameListener__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$BasicInternalFrameListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class InternalFrameEvent; + } + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$BasicInternalFrameListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$BasicInternalFrameListener : public ::java::lang::Object +{ + +public: // actually protected + BasicInternalFrameUI$BasicInternalFrameListener(::javax::swing::plaf::basic::BasicInternalFrameUI *); +public: + virtual void internalFrameActivated(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameClosed(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameClosing(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameDeactivated(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameDeiconified(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameIconified(::javax::swing::event::InternalFrameEvent *); + virtual void internalFrameOpened(::javax::swing::event::InternalFrameEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$BasicInternalFrameListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.h new file mode 100644 index 00000000000..18a50e63a35 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$BorderListener.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$BorderListener__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$BorderListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$BorderListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$BorderListener : public ::javax::swing::event::MouseInputAdapter +{ + +public: // actually protected + BasicInternalFrameUI$BorderListener(::javax::swing::plaf::basic::BasicInternalFrameUI *); +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual void setCursor(::java::awt::event::MouseEvent *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +private: + jint sectionOfClick(jint, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::event::MouseInputAdapter)))) showingCursor; +public: // actually protected + const jint RESIZE_NONE; +private: + jint xOffset; + jint yOffset; + jint direction; + ::java::awt::Rectangle * cacheRect; +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$BorderListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.h new file mode 100644 index 00000000000..aeedc9352f0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ComponentHandler.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$ComponentHandler__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$ComponentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$ComponentHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$ComponentHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicInternalFrameUI$ComponentHandler(::javax::swing::plaf::basic::BasicInternalFrameUI *); +public: + virtual void componentHidden(::java::awt::event::ComponentEvent *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); + virtual void componentResized(::java::awt::event::ComponentEvent *); + virtual void componentShown(::java::awt::event::ComponentEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$ComponentHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.h new file mode 100644 index 00000000000..24529023260 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$GlassPaneDispatcher.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$GlassPaneDispatcher__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$GlassPaneDispatcher__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$GlassPaneDispatcher; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$GlassPaneDispatcher : public ::java::lang::Object +{ + +public: // actually protected + BasicInternalFrameUI$GlassPaneDispatcher(::javax::swing::plaf::basic::BasicInternalFrameUI *); +public: + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +private: + void handleEvent(::java::awt::event::MouseEvent *); + void redispatch(jint, ::java::awt::event::MouseEvent *, ::java::awt::Component *); + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mouseEventTarget; + ::java::awt::Component * dragTarget; + jboolean isDragging; +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameUI * this$0; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$GlassPaneDispatcher__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.h new file mode 100644 index 00000000000..a5ddab06727 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameBorder.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFrameBorder__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFrameBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$InternalFrameBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$InternalFrameBorder : public ::javax::swing::border::AbstractBorder +{ + +public: // actually package-private + BasicInternalFrameUI$InternalFrameBorder(::javax::swing::plaf::basic::BasicInternalFrameUI *); +public: + virtual jboolean isBorderOpaque(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: // actually package-private + static const jint bSize = 5; + static const jint cornerSize = 10; + ::javax::swing::plaf::basic::BasicInternalFrameUI * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFrameBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.h new file mode 100644 index 00000000000..6ff8ae9abf5 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFrameLayout.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFrameLayout__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFrameLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$InternalFrameLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$InternalFrameLayout : public ::java::lang::Object +{ + +public: + BasicInternalFrameUI$InternalFrameLayout(::javax::swing::plaf::basic::BasicInternalFrameUI *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); +private: + ::java::awt::Dimension * getSize(::java::awt::Container *, jboolean); +public: + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFrameLayout__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.h new file mode 100644 index 00000000000..c1a37ba0d18 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$InternalFramePropertyChangeListener.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFramePropertyChangeListener__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFramePropertyChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$InternalFramePropertyChangeListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$InternalFramePropertyChangeListener : public ::java::lang::Object +{ + +public: + BasicInternalFrameUI$InternalFramePropertyChangeListener(::javax::swing::plaf::basic::BasicInternalFrameUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicInternalFrameUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$InternalFramePropertyChangeListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.h new file mode 100644 index 00000000000..9b43d26dfdf --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI$ShowSystemMenuAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI$ShowSystemMenuAction__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI$ShowSystemMenuAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicInternalFrameUI; + class BasicInternalFrameUI$ShowSystemMenuAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI$ShowSystemMenuAction : public ::javax::swing::AbstractAction +{ + + BasicInternalFrameUI$ShowSystemMenuAction(::javax::swing::plaf::basic::BasicInternalFrameUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + BasicInternalFrameUI$ShowSystemMenuAction(::javax::swing::plaf::basic::BasicInternalFrameUI *, ::javax::swing::plaf::basic::BasicInternalFrameUI$ShowSystemMenuAction *); + ::javax::swing::plaf::basic::BasicInternalFrameUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI$ShowSystemMenuAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicInternalFrameUI.h b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI.h new file mode 100644 index 00000000000..18aa9207e30 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicInternalFrameUI.h @@ -0,0 +1,139 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicInternalFrameUI__ +#define __javax_swing_plaf_basic_BasicInternalFrameUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class LayoutManager; + namespace event + { + class ComponentListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class DesktopManager; + class JComponent; + class JDesktopPane; + class JInternalFrame; + class KeyStroke; + namespace event + { + class MouseInputAdapter; + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicInternalFrameTitlePane; + class BasicInternalFrameUI; + class BasicInternalFrameUI$BasicInternalFrameListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicInternalFrameUI : public ::javax::swing::plaf::InternalFrameUI +{ + +public: + BasicInternalFrameUI(::javax::swing::JInternalFrame *); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual void installKeyboardActions(); + virtual void installComponents(); + virtual void installListeners(); + virtual void uninstallDefaults(); + virtual void uninstallComponents(); + virtual void uninstallListeners(); + virtual void uninstallKeyboardActions(); + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + virtual void replacePane(::javax::swing::JComponent *, ::javax::swing::JComponent *); + virtual void deinstallMouseHandlers(::javax::swing::JComponent *); + virtual void installMouseHandlers(::javax::swing::JComponent *); + virtual ::javax::swing::JComponent * createNorthPane(::javax::swing::JInternalFrame *); + virtual ::javax::swing::JComponent * createWestPane(::javax::swing::JInternalFrame *); + virtual ::javax::swing::JComponent * createSouthPane(::javax::swing::JInternalFrame *); + virtual ::javax::swing::JComponent * createEastPane(::javax::swing::JInternalFrame *); + virtual ::javax::swing::event::MouseInputAdapter * createBorderListener(::javax::swing::JInternalFrame *); + virtual void createInternalFrameListener(); + virtual jboolean isKeyBindingRegistered(); + virtual void setKeyBindingRegistered(jboolean); +public: + virtual jboolean isKeyBindingActive(); +public: // actually protected + virtual void setKeyBindingActive(jboolean); + virtual void setupMenuOpenKey(); + virtual void setupMenuCloseKey(); +public: + virtual ::javax::swing::JComponent * getNorthPane(); + virtual void setNorthPane(::javax::swing::JComponent *); + virtual ::javax::swing::JComponent * getSouthPane(); + virtual void setSouthPane(::javax::swing::JComponent *); + virtual void setEastPane(::javax::swing::JComponent *); + virtual ::javax::swing::JComponent * getEastPane(); + virtual void setWestPane(::javax::swing::JComponent *); + virtual ::javax::swing::JComponent * getWestPane(); +public: // actually protected + virtual ::javax::swing::DesktopManager * getDesktopManager(); + virtual ::javax::swing::DesktopManager * createDesktopManager(); + virtual void closeFrame(::javax::swing::JInternalFrame *); + virtual void maximizeFrame(::javax::swing::JInternalFrame *); + virtual void minimizeFrame(::javax::swing::JInternalFrame *); + virtual void iconifyFrame(::javax::swing::JInternalFrame *); + virtual void deiconifyFrame(::javax::swing::JInternalFrame *); + virtual void activateFrame(::javax::swing::JInternalFrame *); + virtual void deactivateFrame(::javax::swing::JInternalFrame *); + virtual ::java::awt::event::ComponentListener * createComponentListener(); + virtual ::javax::swing::event::MouseInputListener * createGlassPaneDispatcher(); + ::javax::swing::event::MouseInputAdapter * __attribute__((aligned(__alignof__( ::javax::swing::plaf::InternalFrameUI)))) borderListener; + ::java::awt::event::ComponentListener * componentListener; + ::javax::swing::event::MouseInputListener * glassPaneDispatcher; + ::java::beans::PropertyChangeListener * propertyChangeListener; +private: + ::javax::swing::plaf::basic::BasicInternalFrameUI$BasicInternalFrameListener * internalFrameListener; +public: // actually protected + ::javax::swing::JComponent * eastPane; + ::javax::swing::JComponent * northPane; + ::javax::swing::JComponent * southPane; + ::javax::swing::JComponent * westPane; + ::javax::swing::KeyStroke * openMenuKey; + ::javax::swing::plaf::basic::BasicInternalFrameTitlePane * titlePane; + ::javax::swing::JInternalFrame * frame; + ::java::awt::LayoutManager * internalFrameLayout; +private: + ::javax::swing::JDesktopPane * desktopPane; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicInternalFrameUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicLabelUI$1.h b/libjava/javax/swing/plaf/basic/BasicLabelUI$1.h new file mode 100644 index 00000000000..3ef661852f6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLabelUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLabelUI$1__ +#define __javax_swing_plaf_basic_BasicLabelUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicLabelUI; + class BasicLabelUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLabelUI$1 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicLabelUI$1(::javax::swing::plaf::basic::BasicLabelUI *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLabelUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLabelUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicLabelUI.h b/libjava/javax/swing/plaf/basic/BasicLabelUI.h new file mode 100644 index 00000000000..e0d39a24189 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLabelUI.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLabelUI__ +#define __javax_swing_plaf_basic_BasicLabelUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class FontMetrics; + class Graphics; + class Rectangle; + } + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JComponent; + class JLabel; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicLabelUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLabelUI : public ::javax::swing::plaf::LabelUI +{ + +public: + BasicLabelUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * layoutCL(::javax::swing::JLabel *, ::java::awt::FontMetrics *, ::java::lang::String *, ::javax::swing::Icon *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *); + virtual void paintDisabledText(::javax::swing::JLabel *, ::java::awt::Graphics *, ::java::lang::String *, jint, jint); + virtual void paintEnabledText(::javax::swing::JLabel *, ::java::awt::Graphics *, ::java::lang::String *, jint, jint); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installComponents(::javax::swing::JLabel *); + virtual void uninstallComponents(::javax::swing::JLabel *); + virtual void installDefaults(::javax::swing::JLabel *); + virtual void uninstallDefaults(::javax::swing::JLabel *); + virtual void installKeyboardActions(::javax::swing::JLabel *); + virtual void uninstallKeyboardActions(::javax::swing::JLabel *); + virtual void installListeners(::javax::swing::JLabel *); + virtual void uninstallListeners(::javax::swing::JLabel *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually protected + static ::javax::swing::plaf::basic::BasicLabelUI * labelUI; +private: + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::javax::swing::plaf::LabelUI)))) vr; + ::java::awt::Rectangle * ir; + ::java::awt::Rectangle * tr; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLabelUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.h b/libjava/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.h new file mode 100644 index 00000000000..48cfc19f080 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$ActionListenerProxy.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$ActionListenerProxy__ +#define __javax_swing_plaf_basic_BasicListUI$ActionListenerProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ActionListener; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicListUI$ActionListenerProxy; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$ActionListenerProxy : public ::javax::swing::AbstractAction +{ + +public: + BasicListUI$ActionListenerProxy(::java::awt::event::ActionListener *, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::java::awt::event::ActionListener * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) target; + ::java::lang::String * bindingCommandName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$ActionListenerProxy__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicListUI$FocusHandler.h new file mode 100644 index 00000000000..a79c2a9fb77 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$FocusHandler.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicListUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicListUI; + class BasicListUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$FocusHandler : public ::java::lang::Object +{ + +public: + BasicListUI$FocusHandler(::javax::swing::plaf::basic::BasicListUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually protected + virtual void repaintCellFocus(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$ListAction.h b/libjava/javax/swing/plaf/basic/BasicListUI$ListAction.h new file mode 100644 index 00000000000..0cec9aa6e6f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$ListAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$ListAction__ +#define __javax_swing_plaf_basic_BasicListUI$ListAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicListUI; + class BasicListUI$ListAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$ListAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicListUI$ListAction(::javax::swing::plaf::basic::BasicListUI *, ::java::lang::String *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$ListAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$ListDataHandler.h b/libjava/javax/swing/plaf/basic/BasicListUI$ListDataHandler.h new file mode 100644 index 00000000000..f0c6a1579aa --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$ListDataHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$ListDataHandler__ +#define __javax_swing_plaf_basic_BasicListUI$ListDataHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListDataEvent; + } + namespace plaf + { + namespace basic + { + class BasicListUI; + class BasicListUI$ListDataHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$ListDataHandler : public ::java::lang::Object +{ + +public: + BasicListUI$ListDataHandler(::javax::swing::plaf::basic::BasicListUI *); + virtual void contentsChanged(::javax::swing::event::ListDataEvent *); + virtual void intervalAdded(::javax::swing::event::ListDataEvent *); + virtual void intervalRemoved(::javax::swing::event::ListDataEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$ListDataHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.h b/libjava/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.h new file mode 100644 index 00000000000..8211c698210 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$ListSelectionHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$ListSelectionHandler__ +#define __javax_swing_plaf_basic_BasicListUI$ListSelectionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListSelectionEvent; + } + namespace plaf + { + namespace basic + { + class BasicListUI; + class BasicListUI$ListSelectionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$ListSelectionHandler : public ::java::lang::Object +{ + +public: + BasicListUI$ListSelectionHandler(::javax::swing::plaf::basic::BasicListUI *); + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$ListSelectionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.h new file mode 100644 index 00000000000..deb7b583233 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$MouseInputHandler.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicListUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicListUI; + class BasicListUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$MouseInputHandler : public ::java::lang::Object +{ + +public: + BasicListUI$MouseInputHandler(::javax::swing::plaf::basic::BasicListUI *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..8993d1b387b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicListUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicListUI; + class BasicListUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicListUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicListUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicListUI.h b/libjava/javax/swing/plaf/basic/BasicListUI.h new file mode 100644 index 00000000000..2d0d79d84d0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicListUI.h @@ -0,0 +1,128 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicListUI__ +#define __javax_swing_plaf_basic_BasicListUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class CellRendererPane; + class JComponent; + class JList; + class ListCellRenderer; + class ListModel; + class ListSelectionModel; + namespace event + { + class ListDataListener; + class ListSelectionListener; + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicListUI; + class BasicListUI$ListAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicListUI : public ::javax::swing::plaf::ListUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual jint getRowHeight(jint); +public: + virtual ::java::awt::Rectangle * getCellBounds(::javax::swing::JList *, jint, jint); +private: + jint getCellHeight(jint); +public: // actually protected + virtual jint convertRowToY(jint); + virtual jint convertYToRow(jint); + virtual void updateLayoutState(); + virtual void maybeUpdateLayoutState(); +public: + BasicListUI(); +public: // actually protected + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void installListeners(); + virtual void uninstallListeners(); + virtual void installKeyboardActions(); + virtual void uninstallKeyboardActions(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual void paintCell(::java::awt::Graphics *, jint, ::java::awt::Rectangle *, ::javax::swing::ListCellRenderer *, ::javax::swing::ListModel *, ::javax::swing::ListSelectionModel *, jint); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual jint locationToIndex(::javax::swing::JList *, ::java::awt::Point *); + virtual ::java::awt::Point * indexToLocation(::javax::swing::JList *, jint); +public: // actually protected + virtual ::java::awt::event::FocusListener * createFocusListener(); + virtual ::javax::swing::event::ListDataListener * createListDataListener(); + virtual ::javax::swing::event::ListSelectionListener * createListSelectionListener(); + virtual ::javax::swing::event::MouseInputListener * createMouseInputListener(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual void selectNextIndex(); + virtual void selectPreviousIndex(); + static const jint modelChanged = 1; + static const jint selectionModelChanged = 2; + static const jint fontChanged = 4; + static const jint fixedCellWidthChanged = 8; + static const jint fixedCellHeightChanged = 16; + static const jint prototypeCellValueChanged = 32; + static const jint cellRendererChanged = 64; + ::java::awt::event::FocusListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ListUI)))) focusListener; + ::javax::swing::event::ListDataListener * listDataListener; + ::javax::swing::event::ListSelectionListener * listSelectionListener; + ::javax::swing::event::MouseInputListener * mouseInputListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::JList * list; + jint cellHeight; + jint cellWidth; + JArray< jint > * cellHeights; + jint updateLayoutStateNeeded; + ::javax::swing::CellRendererPane * rendererPane; +public: // actually package-private + ::javax::swing::plaf::basic::BasicListUI$ListAction * action; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicListUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$1.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$1.h new file mode 100644 index 00000000000..f9fdb495a01 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$1__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$1(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$2.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$2.h new file mode 100644 index 00000000000..fccc19c0343 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$2.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$2__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$2 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$2(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$3.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$3.h new file mode 100644 index 00000000000..5410fc36638 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$3.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$3__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$3 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$3(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$4.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$4.h new file mode 100644 index 00000000000..6a9c8c77d55 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$4.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$4__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$4 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$4(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$5.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$5.h new file mode 100644 index 00000000000..605519940f3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$5.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$5__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$5; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$5 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$5(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$5__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$6.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$6.h new file mode 100644 index 00000000000..71ba0d5a477 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$6.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$6__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$6; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$6 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$6(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$6__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$7.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$7.h new file mode 100644 index 00000000000..37d256cd95b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$7.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$7__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$7__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$7; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$7 : public ::java::lang::Object +{ + +public: // actually package-private + BasicLookAndFeel$7(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$7__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.h new file mode 100644 index 00000000000..0227ab30e5e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$AudioAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$AudioAction__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$AudioAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$AudioAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$AudioAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicLookAndFeel$AudioAction(::javax::swing::plaf::basic::BasicLookAndFeel *, ::java::lang::Object *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::java::lang::Object * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) key; + ::javax::swing::plaf::basic::BasicLookAndFeel * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$AudioAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.h new file mode 100644 index 00000000000..03118997e46 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel$PopupHelper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel$PopupHelper__ +#define __javax_swing_plaf_basic_BasicLookAndFeel$PopupHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class AWTEvent; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$PopupHelper; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel$PopupHelper : public ::java::lang::Object +{ + + BasicLookAndFeel$PopupHelper(::javax::swing::plaf::basic::BasicLookAndFeel *); +public: + virtual void eventDispatched(::java::awt::AWTEvent *); +private: + void mousePressed(::java::awt::event::MouseEvent *); +public: // actually package-private + BasicLookAndFeel$PopupHelper(::javax::swing::plaf::basic::BasicLookAndFeel *, ::javax::swing::plaf::basic::BasicLookAndFeel$PopupHelper *); + ::javax::swing::plaf::basic::BasicLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel$PopupHelper__ diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel.h b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.h new file mode 100644 index 00000000000..13b4adac44a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicLookAndFeel__ +#define __javax_swing_plaf_basic_BasicLookAndFeel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class ActionMap; + class UIDefaults; + namespace plaf + { + namespace basic + { + class BasicLookAndFeel; + class BasicLookAndFeel$PopupHelper; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicLookAndFeel : public ::javax::swing::LookAndFeel +{ + +public: + BasicLookAndFeel(); + virtual ::javax::swing::UIDefaults * getDefaults(); +public: // actually protected + virtual void initClassDefaults(::javax::swing::UIDefaults *); + virtual void initSystemColorDefaults(::javax::swing::UIDefaults *); + virtual void loadSystemColors(::javax::swing::UIDefaults *, JArray< ::java::lang::String * > *, jboolean); +private: + void loadResourceBundle(::javax::swing::UIDefaults *); +public: // actually protected + virtual void initComponentDefaults(::javax::swing::UIDefaults *); + virtual ::javax::swing::ActionMap * getAudioActionMap(); + virtual ::javax::swing::Action * createAudioAction(::java::lang::Object *); + virtual void playSound(::javax::swing::Action *); +public: + virtual void initialize(); + virtual void uninitialize(); +public: // actually package-private + static const jlong serialVersionUID = -6096995660290287879LL; + static ::java::lang::String * DONT_CANCEL_POPUP; +private: + ::javax::swing::plaf::basic::BasicLookAndFeel$PopupHelper * __attribute__((aligned(__alignof__( ::javax::swing::LookAndFeel)))) popupHelper; + ::javax::swing::ActionMap * audioActionMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicLookAndFeel__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.h new file mode 100644 index 00000000000..106c4d95b7d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$ChangeHandler.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuBarUI$ChangeHandler__ +#define __javax_swing_plaf_basic_BasicMenuBarUI$ChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuBarUI; + class BasicMenuBarUI$ChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuBarUI$ChangeHandler : public ::java::lang::Object +{ + + BasicMenuBarUI$ChangeHandler(::javax::swing::plaf::basic::BasicMenuBarUI *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + BasicMenuBarUI$ChangeHandler(::javax::swing::plaf::basic::BasicMenuBarUI *, ::javax::swing::plaf::basic::BasicMenuBarUI$ChangeHandler *); + ::javax::swing::plaf::basic::BasicMenuBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuBarUI$ChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.h new file mode 100644 index 00000000000..fe9e6810ab0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$ContainerHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuBarUI$ContainerHandler__ +#define __javax_swing_plaf_basic_BasicMenuBarUI$ContainerHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuBarUI; + class BasicMenuBarUI$ContainerHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuBarUI$ContainerHandler : public ::java::lang::Object +{ + + BasicMenuBarUI$ContainerHandler(::javax::swing::plaf::basic::BasicMenuBarUI *); +public: + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); +public: // actually package-private + BasicMenuBarUI$ContainerHandler(::javax::swing::plaf::basic::BasicMenuBarUI *, ::javax::swing::plaf::basic::BasicMenuBarUI$ContainerHandler *); + ::javax::swing::plaf::basic::BasicMenuBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuBarUI$ContainerHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.h b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.h new file mode 100644 index 00000000000..b1882e190cc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$FocusAction.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuBarUI$FocusAction__ +#define __javax_swing_plaf_basic_BasicMenuBarUI$FocusAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuBarUI$FocusAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuBarUI$FocusAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicMenuBarUI$FocusAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuBarUI$FocusAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.h new file mode 100644 index 00000000000..80b279360c4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$MouseInputHandler.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuBarUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicMenuBarUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuBarUI; + class BasicMenuBarUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuBarUI$MouseInputHandler : public ::java::lang::Object +{ + + BasicMenuBarUI$MouseInputHandler(::javax::swing::plaf::basic::BasicMenuBarUI *); +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); +public: // actually package-private + BasicMenuBarUI$MouseInputHandler(::javax::swing::plaf::basic::BasicMenuBarUI *, ::javax::swing::plaf::basic::BasicMenuBarUI$MouseInputHandler *); + ::javax::swing::plaf::basic::BasicMenuBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuBarUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..0365962d28a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuBarUI$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuBarUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicMenuBarUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuBarUI; + class BasicMenuBarUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuBarUI$PropertyChangeHandler : public ::java::lang::Object +{ + + BasicMenuBarUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicMenuBarUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + BasicMenuBarUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicMenuBarUI *, ::javax::swing::plaf::basic::BasicMenuBarUI$PropertyChangeHandler *); + ::javax::swing::plaf::basic::BasicMenuBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuBarUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuBarUI.h b/libjava/javax/swing/plaf/basic/BasicMenuBarUI.h new file mode 100644 index 00000000000..27b85de909a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuBarUI.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuBarUI__ +#define __javax_swing_plaf_basic_BasicMenuBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + namespace event + { + class ContainerListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class JComponent; + class JMenuBar; + namespace event + { + class ChangeListener; + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicMenuBarUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuBarUI : public ::javax::swing::plaf::MenuBarUI +{ + +public: + BasicMenuBarUI(); +public: // actually protected + virtual ::javax::swing::event::ChangeListener * createChangeListener(); + virtual ::java::awt::event::ContainerListener * createContainerListener(); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual void installKeyboardActions(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createDefaultActions(); +public: // actually protected + virtual void installListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + ::javax::swing::event::ChangeListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::MenuBarUI)))) changeListener; + ::java::awt::event::ContainerListener * containerListener; +private: + ::java::beans::PropertyChangeListener * propertyChangeListener; +public: // actually protected + ::javax::swing::JMenuBar * menuBar; +private: + ::javax::swing::event::MouseInputListener * mouseListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuBarUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.h new file mode 100644 index 00000000000..ffdf9672aaa --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$ClickAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI$ClickAction__ +#define __javax_swing_plaf_basic_BasicMenuItemUI$ClickAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$ClickAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI$ClickAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicMenuItemUI$ClickAction(::javax::swing::plaf::basic::BasicMenuItemUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicMenuItemUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI$ClickAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.h new file mode 100644 index 00000000000..f2746bf14c3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$ItemHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI$ItemHandler__ +#define __javax_swing_plaf_basic_BasicMenuItemUI$ItemHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ItemEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$ItemHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI$ItemHandler : public ::java::lang::Object +{ + + BasicMenuItemUI$ItemHandler(::javax::swing::plaf::basic::BasicMenuItemUI *); +public: + virtual void itemStateChanged(::java::awt::event::ItemEvent *); +public: // actually package-private + BasicMenuItemUI$ItemHandler(::javax::swing::plaf::basic::BasicMenuItemUI *, ::javax::swing::plaf::basic::BasicMenuItemUI$ItemHandler *); + ::javax::swing::plaf::basic::BasicMenuItemUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI$ItemHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.h new file mode 100644 index 00000000000..775a4f78ca1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuDragMouseHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI$MenuDragMouseHandler__ +#define __javax_swing_plaf_basic_BasicMenuItemUI$MenuDragMouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuDragMouseEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$MenuDragMouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI$MenuDragMouseHandler : public ::java::lang::Object +{ + + BasicMenuItemUI$MenuDragMouseHandler(::javax::swing::plaf::basic::BasicMenuItemUI *); +public: + virtual void menuDragMouseDragged(::javax::swing::event::MenuDragMouseEvent *); + virtual void menuDragMouseEntered(::javax::swing::event::MenuDragMouseEvent *); + virtual void menuDragMouseExited(::javax::swing::event::MenuDragMouseEvent *); + virtual void menuDragMouseReleased(::javax::swing::event::MenuDragMouseEvent *); +public: // actually package-private + BasicMenuItemUI$MenuDragMouseHandler(::javax::swing::plaf::basic::BasicMenuItemUI *, ::javax::swing::plaf::basic::BasicMenuItemUI$MenuDragMouseHandler *); + ::javax::swing::plaf::basic::BasicMenuItemUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI$MenuDragMouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.h new file mode 100644 index 00000000000..db70c21c631 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MenuKeyHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI$MenuKeyHandler__ +#define __javax_swing_plaf_basic_BasicMenuItemUI$MenuKeyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuKeyEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$MenuKeyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI$MenuKeyHandler : public ::java::lang::Object +{ + + BasicMenuItemUI$MenuKeyHandler(::javax::swing::plaf::basic::BasicMenuItemUI *); +public: + virtual void menuKeyPressed(::javax::swing::event::MenuKeyEvent *); + virtual void menuKeyReleased(::javax::swing::event::MenuKeyEvent *); + virtual void menuKeyTyped(::javax::swing::event::MenuKeyEvent *); +public: // actually package-private + BasicMenuItemUI$MenuKeyHandler(::javax::swing::plaf::basic::BasicMenuItemUI *, ::javax::swing::plaf::basic::BasicMenuItemUI$MenuKeyHandler *); + ::javax::swing::plaf::basic::BasicMenuItemUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI$MenuKeyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.h new file mode 100644 index 00000000000..6f735f39320 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicMenuItemUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI$MouseInputHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicMenuItemUI$MouseInputHandler(::javax::swing::plaf::basic::BasicMenuItemUI *); +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicMenuItemUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..203bd657685 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicMenuItemUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: // actually package-private + BasicMenuItemUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicMenuItemUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicMenuItemUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI.h b/libjava/javax/swing/plaf/basic/BasicMenuItemUI.h new file mode 100644 index 00000000000..c602c23106e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuItemUI__ +#define __javax_swing_plaf_basic_BasicMenuItemUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Font; + class Graphics; + class Rectangle; + namespace event + { + class ItemListener; + } + } + } + namespace javax + { + namespace swing + { + class Icon; + class JComponent; + class JMenuItem; + class MenuElement; + class MenuSelectionManager; + namespace event + { + class MenuDragMouseListener; + class MenuKeyListener; + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicMenuItemUI; + class BasicMenuItemUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuItemUI : public ::javax::swing::plaf::MenuItemUI +{ + +public: + BasicMenuItemUI(); +public: // actually protected + virtual ::javax::swing::event::MenuDragMouseListener * createMenuDragMouseListener(::javax::swing::JComponent *); + virtual ::javax::swing::event::MenuKeyListener * createMenuKeyListener(::javax::swing::JComponent *); + virtual ::javax::swing::event::MouseInputListener * createMouseInputListener(::javax::swing::JComponent *); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual void doClick(::javax::swing::MenuSelectionManager *); +public: + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::MenuElement * > * getPath(); +public: // actually protected + virtual ::java::awt::Dimension * getPreferredMenuItemSize(::javax::swing::JComponent *, ::javax::swing::Icon *, ::javax::swing::Icon *, jint); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); + virtual void installComponents(::javax::swing::JMenuItem *); + virtual void installDefaults(); + virtual void installKeyboardActions(); + virtual void installListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintBackground(::java::awt::Graphics *, ::javax::swing::JMenuItem *, ::java::awt::Color *); + virtual void paintMenuItem(::java::awt::Graphics *, ::javax::swing::JComponent *, ::javax::swing::Icon *, ::javax::swing::Icon *, ::java::awt::Color *, ::java::awt::Color *, jint); + virtual void paintText(::java::awt::Graphics *, ::javax::swing::JMenuItem *, ::java::awt::Rectangle *, ::java::lang::String *); + virtual void uninstallComponents(::javax::swing::JMenuItem *); + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); +private: + ::java::lang::String * getAcceleratorString(::javax::swing::JMenuItem *); + void resetRectangles(::javax::swing::JMenuItem *); + void layoutMenuItem(::javax::swing::JMenuItem *, ::java::lang::String *); +public: // actually protected + ::java::awt::Font * __attribute__((aligned(__alignof__( ::javax::swing::plaf::MenuItemUI)))) acceleratorFont; + ::java::awt::Color * acceleratorForeground; + ::java::awt::Color * acceleratorSelectionForeground; + ::javax::swing::Icon * arrowIcon; + ::javax::swing::Icon * checkIcon; + jint defaultTextIconGap; + ::java::awt::Color * disabledForeground; + ::javax::swing::event::MenuDragMouseListener * menuDragMouseListener; + ::javax::swing::JMenuItem * menuItem; + ::javax::swing::event::MenuKeyListener * menuKeyListener; + ::javax::swing::event::MouseInputListener * mouseInputListener; + jboolean oldBorderPainted; + ::java::awt::Color * selectionBackground; + ::java::awt::Color * selectionForeground; +private: + ::java::lang::String * acceleratorDelimiter; + ::java::awt::event::ItemListener * itemListener; + ::javax::swing::plaf::basic::BasicMenuItemUI$PropertyChangeHandler * propertyChangeListener; + ::java::awt::Rectangle * viewRect; + ::java::awt::Rectangle * textRect; + ::java::awt::Rectangle * accelRect; + ::java::awt::Rectangle * iconRect; + ::java::awt::Rectangle * arrowIconRect; + ::java::awt::Rectangle * checkIconRect; + ::java::awt::Rectangle * cachedRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuItemUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.h new file mode 100644 index 00000000000..44eeca1219c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI$ChangeHandler.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI$ChangeHandler__ +#define __javax_swing_plaf_basic_BasicMenuUI$ChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JMenu; + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuUI; + class BasicMenuUI$ChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI$ChangeHandler : public ::java::lang::Object +{ + +public: + BasicMenuUI$ChangeHandler(::javax::swing::plaf::basic::BasicMenuUI *, ::javax::swing::JMenu *, ::javax::swing::plaf::basic::BasicMenuUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) isSelected; + ::javax::swing::JMenu * menu; + ::javax::swing::plaf::basic::BasicMenuUI * ui; + ::java::awt::Component * wasFocused; +public: // actually package-private + ::javax::swing::plaf::basic::BasicMenuUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI$ChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.h new file mode 100644 index 00000000000..39cc8f9f8c6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuDragMouseHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI$MenuDragMouseHandler__ +#define __javax_swing_plaf_basic_BasicMenuUI$MenuDragMouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuDragMouseEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuUI; + class BasicMenuUI$MenuDragMouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI$MenuDragMouseHandler : public ::java::lang::Object +{ + + BasicMenuUI$MenuDragMouseHandler(::javax::swing::plaf::basic::BasicMenuUI *); +public: + virtual void menuDragMouseDragged(::javax::swing::event::MenuDragMouseEvent *); + virtual void menuDragMouseEntered(::javax::swing::event::MenuDragMouseEvent *); + virtual void menuDragMouseExited(::javax::swing::event::MenuDragMouseEvent *); + virtual void menuDragMouseReleased(::javax::swing::event::MenuDragMouseEvent *); +public: // actually package-private + BasicMenuUI$MenuDragMouseHandler(::javax::swing::plaf::basic::BasicMenuUI *, ::javax::swing::plaf::basic::BasicMenuUI$MenuDragMouseHandler *); + ::javax::swing::plaf::basic::BasicMenuUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI$MenuDragMouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.h new file mode 100644 index 00000000000..eb519164dae --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI$MenuHandler__ +#define __javax_swing_plaf_basic_BasicMenuUI$MenuHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuUI; + class BasicMenuUI$MenuHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI$MenuHandler : public ::java::lang::Object +{ + + BasicMenuUI$MenuHandler(::javax::swing::plaf::basic::BasicMenuUI *); +public: + virtual void menuCanceled(::javax::swing::event::MenuEvent *); + virtual void menuDeselected(::javax::swing::event::MenuEvent *); + virtual void menuSelected(::javax::swing::event::MenuEvent *); +public: // actually package-private + BasicMenuUI$MenuHandler(::javax::swing::plaf::basic::BasicMenuUI *, ::javax::swing::plaf::basic::BasicMenuUI$MenuHandler *); + ::javax::swing::plaf::basic::BasicMenuUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI$MenuHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.h new file mode 100644 index 00000000000..be2f9ca155d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI$MenuKeyHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI$MenuKeyHandler__ +#define __javax_swing_plaf_basic_BasicMenuUI$MenuKeyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class MenuKeyEvent; + } + namespace plaf + { + namespace basic + { + class BasicMenuUI; + class BasicMenuUI$MenuKeyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI$MenuKeyHandler : public ::java::lang::Object +{ + + BasicMenuUI$MenuKeyHandler(::javax::swing::plaf::basic::BasicMenuUI *); +public: + virtual void menuKeyPressed(::javax::swing::event::MenuKeyEvent *); + virtual void menuKeyReleased(::javax::swing::event::MenuKeyEvent *); + virtual void menuKeyTyped(::javax::swing::event::MenuKeyEvent *); +public: // actually package-private + BasicMenuUI$MenuKeyHandler(::javax::swing::plaf::basic::BasicMenuUI *, ::javax::swing::plaf::basic::BasicMenuUI$MenuKeyHandler *); + ::javax::swing::plaf::basic::BasicMenuUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI$MenuKeyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.h new file mode 100644 index 00000000000..c5e1e4064dd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicMenuUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuUI; + class BasicMenuUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI$MouseInputHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicMenuUI$MouseInputHandler(::javax::swing::plaf::basic::BasicMenuUI *); +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); +private: + jboolean popupVisible(); +public: + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicMenuUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.h b/libjava/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.h new file mode 100644 index 00000000000..97815775285 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI$SelectMenuAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI$SelectMenuAction__ +#define __javax_swing_plaf_basic_BasicMenuUI$SelectMenuAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicMenuUI; + class BasicMenuUI$SelectMenuAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI$SelectMenuAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicMenuUI$SelectMenuAction(::javax::swing::plaf::basic::BasicMenuUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicMenuUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI$SelectMenuAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicMenuUI.h b/libjava/javax/swing/plaf/basic/BasicMenuUI.h new file mode 100644 index 00000000000..d3ae59e3592 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicMenuUI.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicMenuUI__ +#define __javax_swing_plaf_basic_BasicMenuUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JMenu; + namespace event + { + class ChangeListener; + class MenuDragMouseListener; + class MenuKeyListener; + class MenuListener; + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicMenuUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicMenuUI : public ::javax::swing::plaf::basic::BasicMenuItemUI +{ + +public: + BasicMenuUI(); +public: // actually protected + virtual ::javax::swing::event::ChangeListener * createChangeListener(::javax::swing::JComponent *); + virtual ::javax::swing::event::MenuDragMouseListener * createMenuDragMouseListener(::javax::swing::JComponent *); + virtual ::javax::swing::event::MenuKeyListener * createMenuKeyListener(::javax::swing::JComponent *); + virtual ::javax::swing::event::MenuListener * createMenuListener(::javax::swing::JComponent *); + virtual ::javax::swing::event::MouseInputListener * createMouseInputListener(::javax::swing::JComponent *); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(::javax::swing::JComponent *); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); + virtual void installDefaults(); + virtual void installKeyboardActions(); + virtual void installListeners(); + virtual void setupPostTimer(::javax::swing::JMenu *); + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); + ::javax::swing::event::ChangeListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicMenuItemUI)))) changeListener; + ::javax::swing::event::MenuListener * menuListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicMenuUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$1.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$1.h new file mode 100644 index 00000000000..a79d5d0abdd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$1__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$1 : public ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon +{ + +public: // actually package-private + BasicOptionPaneUI$1(); +public: + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$2.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$2.h new file mode 100644 index 00000000000..3a5048f2575 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$2.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$2__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$2 : public ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon +{ + +public: // actually package-private + BasicOptionPaneUI$2(); +public: + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$3.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$3.h new file mode 100644 index 00000000000..b93960b0de3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$3.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$3__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$3 : public ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon +{ + +public: // actually package-private + BasicOptionPaneUI$3(); +public: + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$4.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$4.h new file mode 100644 index 00000000000..952df65bb7d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$4.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$4__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$4 : public ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon +{ + +public: // actually package-private + BasicOptionPaneUI$4(); +public: + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.h new file mode 100644 index 00000000000..575b2b79c74 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonActionListener.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$ButtonActionListener__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$ButtonActionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI; + class BasicOptionPaneUI$ButtonActionListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$ButtonActionListener : public ::java::lang::Object +{ + +public: + BasicOptionPaneUI$ButtonActionListener(::javax::swing::plaf::basic::BasicOptionPaneUI *, jint); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) buttonIndex; +public: // actually package-private + ::javax::swing::plaf::basic::BasicOptionPaneUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$ButtonActionListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.h new file mode 100644 index 00000000000..06671ddd4fa --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$ButtonAreaLayout.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$ButtonAreaLayout__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$ButtonAreaLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$ButtonAreaLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$ButtonAreaLayout : public ::java::lang::Object +{ + +public: + BasicOptionPaneUI$ButtonAreaLayout(jboolean, jint); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual jboolean getCentersChildren(); + virtual jint getPadding(); + virtual jboolean getSyncAllWidths(); + virtual void layoutContainer(::java::awt::Container *); +private: + jint buttonRowLength(::java::awt::Container *); +public: + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void setCentersChildren(jboolean); + virtual void setPadding(jint); + virtual void setSyncAllWidths(jboolean); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) centersChildren; + jint padding; + jboolean syncAllWidths; +private: + jint widthOfWidestButton; + jint tallestButton; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$ButtonAreaLayout__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.h new file mode 100644 index 00000000000..a820f3cbe25 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$MessageIcon.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$MessageIcon__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$MessageIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$MessageIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon : public ::java::lang::Object +{ + + BasicOptionPaneUI$MessageIcon(); +public: + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + BasicOptionPaneUI$MessageIcon(::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$MessageIcon__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.h new file mode 100644 index 00000000000..81dcc99f3e9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$OptionPaneCloseAction.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$OptionPaneCloseAction__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$OptionPaneCloseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI$OptionPaneCloseAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$OptionPaneCloseAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicOptionPaneUI$OptionPaneCloseAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$OptionPaneCloseAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..02b236c47a6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicOptionPaneUI; + class BasicOptionPaneUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicOptionPaneUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicOptionPaneUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicOptionPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI.h b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI.h new file mode 100644 index 00000000000..50aa3b4ee65 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI.h @@ -0,0 +1,148 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicOptionPaneUI__ +#define __javax_swing_plaf_basic_BasicOptionPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class GridBagConstraints; + class LayoutManager; + namespace event + { + class ActionListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class Icon; + class JComponent; + class JLabel; + class JOptionPane; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicOptionPaneUI; + class BasicOptionPaneUI$MessageIcon; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicOptionPaneUI : public ::javax::swing::plaf::OptionPaneUI +{ + +public: + BasicOptionPaneUI(); +public: // actually protected + virtual void addButtonComponents(::java::awt::Container *, JArray< ::java::lang::Object * > *, jint); + virtual void addIcon(::java::awt::Container *); +private: + static ::java::awt::GridBagConstraints * createConstraints(); +public: // actually protected + virtual void addMessageComponents(::java::awt::Container *, ::java::awt::GridBagConstraints *, ::java::lang::Object *, jint, jboolean); + virtual void burstStringInto(::java::awt::Container *, ::java::lang::String *, jint); +public: + virtual jboolean containsCustomComponents(::javax::swing::JOptionPane *); +public: // actually protected + virtual ::java::awt::event::ActionListener * createButtonActionListener(jint); + virtual ::java::awt::Container * createButtonArea(); + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual ::java::awt::Container * createMessageArea(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::Container * createSeparator(); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual JArray< ::java::lang::Object * > * getButtons(); + virtual ::javax::swing::Icon * getIcon(); + virtual ::javax::swing::Icon * getIconForType(jint); + virtual jint getInitialValueIndex(); + virtual jint getMaxCharactersPerLineCount(); +public: + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::Object * getMessage(); +public: + virtual ::java::awt::Dimension * getMinimumOptionPaneSize(); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual jboolean getSizeButtonsToSameWidth(); + virtual void installComponents(); + virtual void installDefaults(); + virtual void installKeyboardActions(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createDefaultActions(); +public: // actually protected + virtual void installListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void resetInputValue(); +public: + virtual void selectInitialValue(::javax::swing::JOptionPane *); +public: // actually package-private + virtual void resetSelectedValue(); +public: // actually protected + virtual void uninstallComponents(); + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +private: + void configureLabel(::javax::swing::JLabel *); +public: + static const jint MinimumWidth = 262; + static const jint MinimumHeight = 90; +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::swing::plaf::OptionPaneUI)))) hasCustomComponents; + ::java::awt::Component * initialFocusComponent; + ::javax::swing::JComponent * inputComponent; + ::java::awt::Dimension * minimumSize; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::JOptionPane * optionPane; +private: + static const jint ICON_SIZE = 36; + static ::java::lang::String * OK_STRING; + static ::java::lang::String * YES_STRING; + static ::java::lang::String * NO_STRING; + static ::java::lang::String * CANCEL_STRING; +public: // actually package-private + ::java::awt::Container * messageAreaContainer; + ::java::awt::Container * buttonContainer; +private: + static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon * errorIcon; + static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon * infoIcon; + static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon * warningIcon; + static ::javax::swing::plaf::basic::BasicOptionPaneUI$MessageIcon * questionIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicOptionPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicPanelUI.h b/libjava/javax/swing/plaf/basic/BasicPanelUI.h new file mode 100644 index 00000000000..5fcf6fe892a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPanelUI.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPanelUI__ +#define __javax_swing_plaf_basic_BasicPanelUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + class JPanel; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicPanelUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPanelUI : public ::javax::swing::plaf::PanelUI +{ + +public: + BasicPanelUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JPanel *); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(::javax::swing::JPanel *); +public: // actually package-private + static ::javax::swing::plaf::basic::BasicPanelUI * sharedUI; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPanelUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicPasswordFieldUI.h b/libjava/javax/swing/plaf/basic/BasicPasswordFieldUI.h new file mode 100644 index 00000000000..fcbb8732fa3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPasswordFieldUI.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPasswordFieldUI__ +#define __javax_swing_plaf_basic_BasicPasswordFieldUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicPasswordFieldUI; + } + } + namespace text + { + class Element; + class View; + } + } + } +} + +class javax::swing::plaf::basic::BasicPasswordFieldUI : public ::javax::swing::plaf::basic::BasicTextFieldUI +{ + +public: + BasicPasswordFieldUI(); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPasswordFieldUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.h b/libjava/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.h new file mode 100644 index 00000000000..d5082f9d18e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPopupMenuSeparatorUI__ +#define __javax_swing_plaf_basic_BasicPopupMenuSeparatorUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicPopupMenuSeparatorUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPopupMenuSeparatorUI : public ::javax::swing::plaf::basic::BasicSeparatorUI +{ + +public: + BasicPopupMenuSeparatorUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPopupMenuSeparatorUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.h b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.h new file mode 100644 index 00000000000..5fb04078aea --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$KeyboardHelper.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPopupMenuUI$KeyboardHelper__ +#define __javax_swing_plaf_basic_BasicPopupMenuUI$KeyboardHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JPopupMenu; + class JRootPane; + class MenuElement; + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicPopupMenuUI; + class BasicPopupMenuUI$KeyboardHelper; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPopupMenuUI$KeyboardHelper : public ::java::lang::Object +{ + + BasicPopupMenuUI$KeyboardHelper(::javax::swing::plaf::basic::BasicPopupMenuUI *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +private: + ::javax::swing::JPopupMenu * getActivePopup(JArray< ::javax::swing::MenuElement * > *); + jboolean invokerEquals(::javax::swing::MenuElement *, ::javax::swing::MenuElement *); +public: // actually package-private + BasicPopupMenuUI$KeyboardHelper(::javax::swing::plaf::basic::BasicPopupMenuUI *, ::javax::swing::plaf::basic::BasicPopupMenuUI$KeyboardHelper *); +private: + JArray< ::javax::swing::MenuElement * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastSelectedPath; + ::java::awt::Component * lastFocused; + ::javax::swing::JRootPane * invokerRootPane; +public: // actually package-private + ::javax::swing::plaf::basic::BasicPopupMenuUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPopupMenuUI$KeyboardHelper__ diff --git a/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.h b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.h new file mode 100644 index 00000000000..03fb5accb8d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$NavigateAction.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPopupMenuUI$NavigateAction__ +#define __javax_swing_plaf_basic_BasicPopupMenuUI$NavigateAction__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JPopupMenu; + class MenuElement; + namespace plaf + { + namespace basic + { + class BasicPopupMenuUI$NavigateAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPopupMenuUI$NavigateAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicPopupMenuUI$NavigateAction(::java::lang::String *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + void navigateNextPrevious(jboolean); + ::javax::swing::MenuElement * findEnabledChild(JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuElement *, jboolean); + ::javax::swing::MenuElement * findEnabledChild(JArray< ::javax::swing::MenuElement * > *, jint, jboolean); + ::javax::swing::MenuElement * findNextEnabledChild(JArray< ::javax::swing::MenuElement * > *, jint, jint); + ::javax::swing::MenuElement * findPreviousEnabledChild(JArray< ::javax::swing::MenuElement * > *, jint, jint); + void navigateParentChild(jboolean); + void cancel(); + ::javax::swing::JPopupMenu * getLastPopup(); + void doReturn(); +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPopupMenuUI$NavigateAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.h b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.h new file mode 100644 index 00000000000..3b8b580abb3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$PopupMenuHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPopupMenuUI$PopupMenuHandler__ +#define __javax_swing_plaf_basic_BasicPopupMenuUI$PopupMenuHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class PopupMenuEvent; + } + namespace plaf + { + namespace basic + { + class BasicPopupMenuUI; + class BasicPopupMenuUI$PopupMenuHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPopupMenuUI$PopupMenuHandler : public ::java::lang::Object +{ + + BasicPopupMenuUI$PopupMenuHandler(::javax::swing::plaf::basic::BasicPopupMenuUI *); +public: + virtual void popupMenuCanceled(::javax::swing::event::PopupMenuEvent *); + virtual void popupMenuWillBecomeInvisible(::javax::swing::event::PopupMenuEvent *); + virtual void popupMenuWillBecomeVisible(::javax::swing::event::PopupMenuEvent *); +public: // actually package-private + BasicPopupMenuUI$PopupMenuHandler(::javax::swing::plaf::basic::BasicPopupMenuUI *, ::javax::swing::plaf::basic::BasicPopupMenuUI$PopupMenuHandler *); + ::javax::swing::plaf::basic::BasicPopupMenuUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPopupMenuUI$PopupMenuHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.h b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.h new file mode 100644 index 00000000000..e88a2f884ff --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI$TopWindowListener.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPopupMenuUI$TopWindowListener__ +#define __javax_swing_plaf_basic_BasicPopupMenuUI$TopWindowListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicPopupMenuUI; + class BasicPopupMenuUI$TopWindowListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPopupMenuUI$TopWindowListener : public ::java::lang::Object +{ + + BasicPopupMenuUI$TopWindowListener(::javax::swing::plaf::basic::BasicPopupMenuUI *); +public: + virtual void componentResized(::java::awt::event::ComponentEvent *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); + virtual void componentShown(::java::awt::event::ComponentEvent *); + virtual void componentHidden(::java::awt::event::ComponentEvent *); +public: // actually package-private + BasicPopupMenuUI$TopWindowListener(::javax::swing::plaf::basic::BasicPopupMenuUI *, ::javax::swing::plaf::basic::BasicPopupMenuUI$TopWindowListener *); + ::javax::swing::plaf::basic::BasicPopupMenuUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPopupMenuUI$TopWindowListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicPopupMenuUI.h b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI.h new file mode 100644 index 00000000000..95bf37a9373 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicPopupMenuUI.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicPopupMenuUI__ +#define __javax_swing_plaf_basic_BasicPopupMenuUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class JComponent; + class JPopupMenu; + namespace event + { + class PopupMenuListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicPopupMenuUI; + class BasicPopupMenuUI$KeyboardHelper; + class BasicPopupMenuUI$TopWindowListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicPopupMenuUI : public ::javax::swing::plaf::PopupMenuUI +{ + +public: + BasicPopupMenuUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void installDefaults(); +public: // actually protected + virtual void installListeners(); + virtual void installKeyboardActions(); +public: // actually package-private + virtual void installKeyboardActionsImpl(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createDefaultActions(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(); + virtual void uninstallListeners(); + virtual void uninstallKeyboardActions(); +public: // actually package-private + virtual void uninstallKeyboardActionsImpl(); +public: + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jboolean isPopupTrigger(::java::awt::event::MouseEvent *); +public: // actually protected + ::javax::swing::JPopupMenu * __attribute__((aligned(__alignof__( ::javax::swing::plaf::PopupMenuUI)))) popupMenu; +private: + ::javax::swing::event::PopupMenuListener * popupMenuListener; +public: // actually package-private + ::javax::swing::plaf::basic::BasicPopupMenuUI$TopWindowListener * topWindowListener; +private: + static jint numPopups; + static ::javax::swing::plaf::basic::BasicPopupMenuUI$KeyboardHelper * keyboardHelper; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicPopupMenuUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.h b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.h new file mode 100644 index 00000000000..54768d3a388 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$AncestorHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicProgressBarUI$AncestorHandler__ +#define __javax_swing_plaf_basic_BasicProgressBarUI$AncestorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class AncestorEvent; + } + namespace plaf + { + namespace basic + { + class BasicProgressBarUI; + class BasicProgressBarUI$AncestorHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicProgressBarUI$AncestorHandler : public ::java::lang::Object +{ + + BasicProgressBarUI$AncestorHandler(::javax::swing::plaf::basic::BasicProgressBarUI *); +public: + virtual void ancestorAdded(::javax::swing::event::AncestorEvent *); + virtual void ancestorRemoved(::javax::swing::event::AncestorEvent *); + virtual void ancestorMoved(::javax::swing::event::AncestorEvent *); +public: // actually package-private + BasicProgressBarUI$AncestorHandler(::javax::swing::plaf::basic::BasicProgressBarUI *, ::javax::swing::plaf::basic::BasicProgressBarUI$AncestorHandler *); + ::javax::swing::plaf::basic::BasicProgressBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicProgressBarUI$AncestorHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicProgressBarUI$Animator.h b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$Animator.h new file mode 100644 index 00000000000..31c00bc61ee --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$Animator.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicProgressBarUI$Animator__ +#define __javax_swing_plaf_basic_BasicProgressBarUI$Animator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicProgressBarUI; + class BasicProgressBarUI$Animator; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicProgressBarUI$Animator : public ::java::lang::Object +{ + + BasicProgressBarUI$Animator(::javax::swing::plaf::basic::BasicProgressBarUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + BasicProgressBarUI$Animator(::javax::swing::plaf::basic::BasicProgressBarUI *, ::javax::swing::plaf::basic::BasicProgressBarUI$Animator *); + ::javax::swing::plaf::basic::BasicProgressBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicProgressBarUI$Animator__ diff --git a/libjava/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.h new file mode 100644 index 00000000000..e8296621a2d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$ChangeHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicProgressBarUI$ChangeHandler__ +#define __javax_swing_plaf_basic_BasicProgressBarUI$ChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicProgressBarUI; + class BasicProgressBarUI$ChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicProgressBarUI$ChangeHandler : public ::java::lang::Object +{ + +public: + BasicProgressBarUI$ChangeHandler(::javax::swing::plaf::basic::BasicProgressBarUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicProgressBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicProgressBarUI$ChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.h b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.h new file mode 100644 index 00000000000..2f20e0f2490 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$ComponentHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicProgressBarUI$ComponentHandler__ +#define __javax_swing_plaf_basic_BasicProgressBarUI$ComponentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicProgressBarUI; + class BasicProgressBarUI$ComponentHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicProgressBarUI$ComponentHandler : public ::java::awt::event::ComponentAdapter +{ + + BasicProgressBarUI$ComponentHandler(::javax::swing::plaf::basic::BasicProgressBarUI *); +public: + virtual void componentResized(::java::awt::event::ComponentEvent *); +public: // actually package-private + BasicProgressBarUI$ComponentHandler(::javax::swing::plaf::basic::BasicProgressBarUI *, ::javax::swing::plaf::basic::BasicProgressBarUI$ComponentHandler *); + ::javax::swing::plaf::basic::BasicProgressBarUI * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicProgressBarUI$ComponentHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..9d0d136fcaf --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicProgressBarUI$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicProgressBarUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicProgressBarUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicProgressBarUI; + class BasicProgressBarUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicProgressBarUI$PropertyChangeHandler : public ::java::lang::Object +{ + + BasicProgressBarUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicProgressBarUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + BasicProgressBarUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicProgressBarUI *, ::javax::swing::plaf::basic::BasicProgressBarUI$PropertyChangeHandler *); + ::javax::swing::plaf::basic::BasicProgressBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicProgressBarUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicProgressBarUI.h b/libjava/javax/swing/plaf/basic/BasicProgressBarUI.h new file mode 100644 index 00000000000..85263b9378e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicProgressBarUI.h @@ -0,0 +1,123 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicProgressBarUI__ +#define __javax_swing_plaf_basic_BasicProgressBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + class Insets; + class Point; + class Rectangle; + namespace event + { + class ComponentListener; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JProgressBar; + class Timer; + namespace event + { + class AncestorListener; + class ChangeListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicProgressBarUI; + class BasicProgressBarUI$Animator; + class BasicProgressBarUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicProgressBarUI : public ::javax::swing::plaf::ProgressBarUI +{ + +public: + BasicProgressBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual jint getAmountFull(::java::awt::Insets *, jint, jint); + virtual jint getAnimationIndex(); + virtual ::java::awt::Rectangle * getBox(::java::awt::Rectangle *); + virtual jint getCellLength(); + virtual jint getCellSpacing(); +public: + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::Dimension * getPreferredInnerHorizontal(); + virtual ::java::awt::Dimension * getPreferredInnerVertical(); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::Color * getSelectionBackground(); + virtual ::java::awt::Color * getSelectionForeground(); + virtual ::java::awt::Point * getStringPlacement(::java::awt::Graphics *, ::java::lang::String *, jint, jint, jint, jint); + virtual void incrementAnimationIndex(); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintDeterminate(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paintIndeterminate(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paintString(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Insets *); + virtual void setAnimationIndex(jint); + virtual void setCellLength(jint); + virtual void setCellSpacing(jint); + virtual void startAnimationTimer(); + virtual void stopAnimationTimer(); + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void installListeners(); + virtual void uninstallListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ProgressBarUI)))) boxRect; +private: + ::javax::swing::Timer * animationTimer; + jint animationIndex; + jint numFrames; + ::javax::swing::plaf::basic::BasicProgressBarUI$Animator * animation; + ::javax::swing::plaf::basic::BasicProgressBarUI$PropertyChangeHandler * propertyListener; +public: // actually protected + ::javax::swing::event::ChangeListener * changeListener; + ::javax::swing::JProgressBar * progressBar; +public: // actually package-private + jdouble boxDependent; + jint boxIndependent; + jdouble incr; +private: + jint cellLength; + jint cellSpacing; + ::java::awt::Color * selectionBackground; + ::java::awt::Color * selectionForeground; + ::javax::swing::event::AncestorListener * ancestorListener; + ::java::awt::event::ComponentListener * componentListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicProgressBarUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.h b/libjava/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.h new file mode 100644 index 00000000000..5439b6722fe --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicRadioButtonMenuItemUI__ +#define __javax_swing_plaf_basic_BasicRadioButtonMenuItemUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JMenuItem; + class MenuElement; + class MenuSelectionManager; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicRadioButtonMenuItemUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicRadioButtonMenuItemUI : public ::javax::swing::plaf::basic::BasicMenuItemUI +{ + +public: + BasicRadioButtonMenuItemUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual void processMouseEvent(::javax::swing::JMenuItem *, ::java::awt::event::MouseEvent *, JArray< ::javax::swing::MenuElement * > *, ::javax::swing::MenuSelectionManager *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicRadioButtonMenuItemUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h new file mode 100644 index 00000000000..62b3a3c2823 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicRadioButtonUI__ +#define __javax_swing_plaf_basic_BasicRadioButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class Icon; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicRadioButtonUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicRadioButtonUI : public ::javax::swing::plaf::basic::BasicToggleButtonUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + BasicRadioButtonUI(); +public: // actually protected + virtual void installDefaults(::javax::swing::AbstractButton *); + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual ::javax::swing::Icon * getDefaultIcon(); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual void paintFocus(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Dimension *); + ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToggleButtonUI)))) icon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicRadioButtonUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.h b/libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.h new file mode 100644 index 00000000000..040c915022d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultPressAction.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicRootPaneUI$DefaultPressAction__ +#define __javax_swing_plaf_basic_BasicRootPaneUI$DefaultPressAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JRootPane; + namespace plaf + { + namespace basic + { + class BasicRootPaneUI; + class BasicRootPaneUI$DefaultPressAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicRootPaneUI$DefaultPressAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicRootPaneUI$DefaultPressAction(::javax::swing::plaf::basic::BasicRootPaneUI *, ::javax::swing::JRootPane *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + ::javax::swing::JRootPane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) rootPane; +public: // actually package-private + ::javax::swing::plaf::basic::BasicRootPaneUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicRootPaneUI$DefaultPressAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.h b/libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.h new file mode 100644 index 00000000000..1728960926d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicRootPaneUI$DefaultReleaseAction.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicRootPaneUI$DefaultReleaseAction__ +#define __javax_swing_plaf_basic_BasicRootPaneUI$DefaultReleaseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JRootPane; + namespace plaf + { + namespace basic + { + class BasicRootPaneUI; + class BasicRootPaneUI$DefaultReleaseAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicRootPaneUI$DefaultReleaseAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicRootPaneUI$DefaultReleaseAction(::javax::swing::plaf::basic::BasicRootPaneUI *, ::javax::swing::JRootPane *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + ::javax::swing::JRootPane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) rootPane; +public: // actually package-private + ::javax::swing::plaf::basic::BasicRootPaneUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicRootPaneUI$DefaultReleaseAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicRootPaneUI.h b/libjava/javax/swing/plaf/basic/BasicRootPaneUI.h new file mode 100644 index 00000000000..cf222b76fb6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicRootPaneUI.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicRootPaneUI__ +#define __javax_swing_plaf_basic_BasicRootPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JRootPane; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicRootPaneUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicRootPaneUI : public ::javax::swing::plaf::RootPaneUI +{ + +public: + BasicRootPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JRootPane *); + virtual void installComponents(::javax::swing::JRootPane *); + virtual void installListeners(::javax::swing::JRootPane *); + virtual void installKeyboardActions(::javax::swing::JRootPane *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(::javax::swing::JRootPane *); + virtual void uninstallComponents(::javax::swing::JRootPane *); + virtual void uninstallListeners(::javax::swing::JRootPane *); + virtual void uninstallKeyboardActions(::javax::swing::JRootPane *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicRootPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$1.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$1.h new file mode 100644 index 00000000000..740dea9e590 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$1__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$1 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollBarUI$1(::javax::swing::plaf::basic::BasicScrollBarUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$2.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$2.h new file mode 100644 index 00000000000..1eeb4071191 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$2__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$2 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollBarUI$2(::javax::swing::plaf::basic::BasicScrollBarUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$3.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$3.h new file mode 100644 index 00000000000..1ae61baf033 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$3.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$3__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$3 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollBarUI$3(::javax::swing::plaf::basic::BasicScrollBarUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$4.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$4.h new file mode 100644 index 00000000000..e8c2e5c5ea6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$4.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$4__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$4 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollBarUI$4(::javax::swing::plaf::basic::BasicScrollBarUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$5.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$5.h new file mode 100644 index 00000000000..49c987f31e9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$5.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$5__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$5; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$5 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollBarUI$5(::javax::swing::plaf::basic::BasicScrollBarUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$5__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$6.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$6.h new file mode 100644 index 00000000000..9c0fb6671cf --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$6.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$6__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$6; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$6 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollBarUI$6(::javax::swing::plaf::basic::BasicScrollBarUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$6__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.h new file mode 100644 index 00000000000..85d942986d5 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$ArrowButtonListener__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$ArrowButtonListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$ArrowButtonListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$ArrowButtonListener : public ::java::awt::event::MouseAdapter +{ + +public: // actually protected + BasicScrollBarUI$ArrowButtonListener(::javax::swing::plaf::basic::BasicScrollBarUI *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$ArrowButtonListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.h new file mode 100644 index 00000000000..472d5bd4b19 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ModelListener.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$ModelListener__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$ModelListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$ModelListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$ModelListener : public ::java::lang::Object +{ + +public: // actually protected + BasicScrollBarUI$ModelListener(::javax::swing::plaf::basic::BasicScrollBarUI *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$ModelListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..b2afd716343 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicScrollBarUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicScrollBarUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.h new file mode 100644 index 00000000000..193e13f595e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$ScrollListener__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$ScrollListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$ScrollListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$ScrollListener : public ::java::lang::Object +{ + +public: + BasicScrollBarUI$ScrollListener(::javax::swing::plaf::basic::BasicScrollBarUI *); + BasicScrollBarUI$ScrollListener(::javax::swing::plaf::basic::BasicScrollBarUI *, jint, jboolean); + virtual void setDirection(jint); + virtual void setScrollByBlock(jboolean); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) direction; + jboolean block; +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$ScrollListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.h new file mode 100644 index 00000000000..b78648a31e2 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI$TrackListener.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI$TrackListener__ +#define __javax_swing_plaf_basic_BasicScrollBarUI$TrackListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$TrackListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI$TrackListener : public ::java::awt::event::MouseAdapter +{ + +public: // actually protected + BasicScrollBarUI$TrackListener(::javax::swing::plaf::basic::BasicScrollBarUI *); +public: + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual jboolean shouldScroll(jint); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) currentMouseX; + jint currentMouseY; + jint offset; +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollBarUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI$TrackListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI.h b/libjava/javax/swing/plaf/basic/BasicScrollBarUI.h new file mode 100644 index 00000000000..64cd923aca4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI.h @@ -0,0 +1,174 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollBarUI__ +#define __javax_swing_plaf_basic_BasicScrollBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Container; + class Dimension; + class Graphics; + class Rectangle; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class InputMap; + class JButton; + class JComponent; + class JScrollBar; + class Timer; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicScrollBarUI; + class BasicScrollBarUI$ArrowButtonListener; + class BasicScrollBarUI$ModelListener; + class BasicScrollBarUI$ScrollListener; + class BasicScrollBarUI$TrackListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollBarUI : public ::javax::swing::plaf::ScrollBarUI +{ + +public: + BasicScrollBarUI(); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); +public: // actually protected + virtual void configureScrollBarColors(); + virtual ::javax::swing::plaf::basic::BasicScrollBarUI$ArrowButtonListener * createArrowButtonListener(); + virtual ::javax::swing::JButton * createIncreaseButton(jint); + virtual ::javax::swing::JButton * createDecreaseButton(jint); + virtual ::javax::swing::plaf::basic::BasicScrollBarUI$ModelListener * createModelListener(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::javax::swing::plaf::basic::BasicScrollBarUI$ScrollListener * createScrollListener(); + virtual ::javax::swing::plaf::basic::BasicScrollBarUI$TrackListener * createTrackListener(); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::Dimension * getMaximumThumbSize(); +public: + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::Dimension * getMinimumThumbSize(); +public: // actually package-private + virtual void calculatePreferredSize(); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::Rectangle * getThumbBounds(); + virtual ::java::awt::Rectangle * getTrackBounds(); + virtual void installComponents(); + virtual void installDefaults(); + virtual void installKeyboardActions(); + virtual void uninstallKeyboardActions(); +public: // actually package-private + virtual ::javax::swing::InputMap * getInputMap(jint); + virtual ::javax::swing::ActionMap * getActionMap(); + virtual ::javax::swing::ActionMap * createActionMap(); +public: // actually protected + virtual void installListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void layoutContainer(::java::awt::Container *); +public: // actually protected + virtual void layoutHScrollbar(::javax::swing::JScrollBar *); + virtual void layoutVScrollbar(::javax::swing::JScrollBar *); +public: // actually package-private + virtual void updateThumbRect(); +public: + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintDecreaseHighlight(::java::awt::Graphics *); + virtual void paintIncreaseHighlight(::java::awt::Graphics *); + virtual void paintThumb(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); + virtual void paintTrack(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); +public: + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually protected + virtual void scrollByBlock(jint); +public: // actually package-private + static void scrollByBlock(::javax::swing::JScrollBar *, jint); +public: // actually protected + virtual void scrollByUnit(jint); +public: // actually package-private + static void scrollByUnits(::javax::swing::JScrollBar *, jint, jint); +public: // actually protected + virtual void setThumbBounds(jint, jint, jint, jint); + virtual void uninstallComponents(); + virtual void uninstallDefaults(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually package-private + virtual jint valueForYPosition(jint); + virtual jint valueForXPosition(jint); +public: + virtual jboolean isThumbRollover(); +public: // actually protected + virtual void setThumbRollover(jboolean); +public: + virtual jboolean getSupportsAbsolutePositioning(); +public: // actually protected + ::javax::swing::plaf::basic::BasicScrollBarUI$ArrowButtonListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ScrollBarUI)))) buttonListener; + ::javax::swing::plaf::basic::BasicScrollBarUI$ModelListener * modelListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::plaf::basic::BasicScrollBarUI$ScrollListener * scrollListener; + ::javax::swing::plaf::basic::BasicScrollBarUI$TrackListener * trackListener; + ::javax::swing::JButton * decrButton; + ::javax::swing::JButton * incrButton; + ::java::awt::Dimension * maximumThumbSize; + ::java::awt::Dimension * minimumThumbSize; + ::java::awt::Color * thumbColor; + ::java::awt::Color * thumbDarkShadowColor; + ::java::awt::Color * thumbHighlightColor; + ::java::awt::Color * thumbLightShadowColor; + ::java::awt::Color * trackHighlightColor; + ::java::awt::Color * trackColor; + ::java::awt::Rectangle * trackRect; + ::java::awt::Rectangle * thumbRect; + static const jint DECREASE_HIGHLIGHT = 1; + static const jint INCREASE_HIGHLIGHT = 2; + static const jint NO_HIGHLIGHT = 0; +private: + static const jint POSITIVE_SCROLL = 1; + static const jint NEGATIVE_SCROLL = -1; + ::java::awt::Dimension * preferredSize; +public: // actually protected + jint trackHighlight; + jboolean isDragging; + ::javax::swing::Timer * scrollTimer; + ::javax::swing::JScrollBar * scrollbar; +public: // actually package-private + jboolean thumbRollover; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollBarUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$1.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$1.h new file mode 100644 index 00000000000..d2f99fd0748 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$1__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$1 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$1(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$10.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$10.h new file mode 100644 index 00000000000..ca4ee4a0a11 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$10.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$10__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$10__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$10; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$10 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$10(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$10__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$2.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$2.h new file mode 100644 index 00000000000..7cf273faac2 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$2__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$2 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$2(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$3.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$3.h new file mode 100644 index 00000000000..08fdef8fae3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$3.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$3__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$3 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$3(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$4.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$4.h new file mode 100644 index 00000000000..619ffa5af10 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$4.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$4__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$4 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$4(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$5.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$5.h new file mode 100644 index 00000000000..474733112e7 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$5.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$5__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$5; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$5 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$5(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$5__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$6.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$6.h new file mode 100644 index 00000000000..03dad8e7411 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$6.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$6__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$6; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$6 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$6(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$6__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$7.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$7.h new file mode 100644 index 00000000000..df4635ef2e9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$7.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$7__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$7__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$7; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$7 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$7(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$7__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$8.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$8.h new file mode 100644 index 00000000000..04e372cbe51 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$8.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$8__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$8__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$8; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$8 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$8(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$8__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$9.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$9.h new file mode 100644 index 00000000000..24028ace0ac --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$9.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$9__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$9__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$9; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$9 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicScrollPaneUI$9(::javax::swing::plaf::basic::BasicScrollPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$9__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.h new file mode 100644 index 00000000000..b4cd0559369 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$HSBChangeListener__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$HSBChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$HSBChangeListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$HSBChangeListener : public ::java::lang::Object +{ + +public: + BasicScrollPaneUI$HSBChangeListener(::javax::swing::plaf::basic::BasicScrollPaneUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$HSBChangeListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.h new file mode 100644 index 00000000000..33a3deb5d0b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$MouseWheelHandler__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$MouseWheelHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + namespace event + { + class MouseWheelEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$MouseWheelHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$MouseWheelHandler : public ::java::lang::Object +{ + +public: // actually protected + BasicScrollPaneUI$MouseWheelHandler(::javax::swing::plaf::basic::BasicScrollPaneUI *); +public: + virtual void mouseWheelMoved(::java::awt::event::MouseWheelEvent *); +public: // actually package-private + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rect; + ::javax::swing::plaf::basic::BasicScrollPaneUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$MouseWheelHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..d41feb6d487 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicScrollPaneUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicScrollPaneUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.h new file mode 100644 index 00000000000..53c4f804bf2 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$VSBChangeListener.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$VSBChangeListener__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$VSBChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$VSBChangeListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$VSBChangeListener : public ::java::lang::Object +{ + +public: + BasicScrollPaneUI$VSBChangeListener(::javax::swing::plaf::basic::BasicScrollPaneUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$VSBChangeListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.h new file mode 100644 index 00000000000..abbdc71b258 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportChangeHandler__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$ViewportChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$ViewportChangeHandler : public ::java::lang::Object +{ + +public: + BasicScrollPaneUI$ViewportChangeHandler(::javax::swing::plaf::basic::BasicScrollPaneUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.h new file mode 100644 index 00000000000..d0ca2438dbc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI$ViewportContainerListener.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportContainerListener__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportContainerListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicScrollPaneUI; + class BasicScrollPaneUI$ViewportContainerListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI$ViewportContainerListener : public ::java::lang::Object +{ + +public: // actually package-private + BasicScrollPaneUI$ViewportContainerListener(::javax::swing::plaf::basic::BasicScrollPaneUI *); +public: + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicScrollPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI$ViewportContainerListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI.h b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI.h new file mode 100644 index 00000000000..c06cf939f6f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicScrollPaneUI__ +#define __javax_swing_plaf_basic_BasicScrollPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + namespace event + { + class ContainerListener; + class MouseWheelListener; + } + } + namespace beans + { + class PropertyChangeEvent; + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class InputMap; + class JComponent; + class JScrollPane; + namespace event + { + class ChangeListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicScrollPaneUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicScrollPaneUI : public ::javax::swing::plaf::ScrollPaneUI +{ + +public: + BasicScrollPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JScrollPane *); + virtual void uninstallDefaults(::javax::swing::JScrollPane *); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installListeners(::javax::swing::JScrollPane *); +public: // actually package-private + virtual ::javax::swing::InputMap * getInputMap(jint); + virtual ::javax::swing::ActionMap * getActionMap(); + virtual ::javax::swing::ActionMap * createActionMap(); +public: // actually protected + virtual void installKeyboardActions(::javax::swing::JScrollPane *); + virtual void uninstallKeyboardActions(::javax::swing::JScrollPane *); + virtual ::javax::swing::event::ChangeListener * createHSBChangeListener(); + virtual ::javax::swing::event::ChangeListener * createVSBChangeListener(); + virtual ::javax::swing::event::ChangeListener * createViewportChangeListener(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::event::MouseWheelListener * createMouseWheelListener(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallListeners(::javax::swing::JComponent *); +public: + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void syncScrollPaneWithViewport(); + virtual void updateColumnHeader(::java::beans::PropertyChangeEvent *); + virtual void updateRowHeader(::java::beans::PropertyChangeEvent *); + virtual void updateScrollBarDisplayPolicy(::java::beans::PropertyChangeEvent *); + virtual void updateViewport(::java::beans::PropertyChangeEvent *); +public: // actually package-private + static jint SCROLL_NON_SCROLLABLES; + static jint ROWS_PER_WHEEL_CLICK; +public: // actually protected + ::javax::swing::JScrollPane * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ScrollPaneUI)))) scrollpane; + ::javax::swing::event::ChangeListener * hsbChangeListener; + ::javax::swing::event::ChangeListener * vsbChangeListener; + ::javax::swing::event::ChangeListener * viewportChangeListener; + ::java::beans::PropertyChangeListener * spPropertyChangeListener; +public: // actually package-private + ::java::awt::event::MouseWheelListener * mouseWheelListener; + ::java::awt::event::ContainerListener * containerListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicScrollPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicSeparatorUI.h b/libjava/javax/swing/plaf/basic/BasicSeparatorUI.h new file mode 100644 index 00000000000..f16b625f691 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSeparatorUI.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSeparatorUI__ +#define __javax_swing_plaf_basic_BasicSeparatorUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JSeparator; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicSeparatorUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSeparatorUI : public ::javax::swing::plaf::SeparatorUI +{ + +public: + BasicSeparatorUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JSeparator *); + virtual void uninstallDefaults(::javax::swing::JSeparator *); + virtual void installListeners(::javax::swing::JSeparator *); + virtual void uninstallListeners(::javax::swing::JSeparator *); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SeparatorUI)))) shadow; + ::java::awt::Color * highlight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSeparatorUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$1.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$1.h new file mode 100644 index 00000000000..aeab13d16a1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$1__ +#define __javax_swing_plaf_basic_BasicSliderUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$1 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSliderUI$1(::javax::swing::plaf::basic::BasicSliderUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$2.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$2.h new file mode 100644 index 00000000000..b5b1f9a5047 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$2__ +#define __javax_swing_plaf_basic_BasicSliderUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$2 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSliderUI$2(::javax::swing::plaf::basic::BasicSliderUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$3.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$3.h new file mode 100644 index 00000000000..f5ebcd7bbb2 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$3.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$3__ +#define __javax_swing_plaf_basic_BasicSliderUI$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$3 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSliderUI$3(::javax::swing::plaf::basic::BasicSliderUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$4.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$4.h new file mode 100644 index 00000000000..e239d8ba159 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$4.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$4__ +#define __javax_swing_plaf_basic_BasicSliderUI$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$4 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSliderUI$4(::javax::swing::plaf::basic::BasicSliderUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$5.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$5.h new file mode 100644 index 00000000000..1832658cd40 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$5.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$5__ +#define __javax_swing_plaf_basic_BasicSliderUI$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$5; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$5 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSliderUI$5(::javax::swing::plaf::basic::BasicSliderUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$5__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$6.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$6.h new file mode 100644 index 00000000000..ef27bdf0f9b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$6.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$6__ +#define __javax_swing_plaf_basic_BasicSliderUI$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$6; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$6 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSliderUI$6(::javax::swing::plaf::basic::BasicSliderUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$6__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.h new file mode 100644 index 00000000000..739b384edb7 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$ActionScroller.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$ActionScroller__ +#define __javax_swing_plaf_basic_BasicSliderUI$ActionScroller__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JSlider; + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$ActionScroller; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$ActionScroller : public ::javax::swing::AbstractAction +{ + +public: + BasicSliderUI$ActionScroller(::javax::swing::plaf::basic::BasicSliderUI *, ::javax::swing::JSlider *, jint, jboolean); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$ActionScroller__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.h new file mode 100644 index 00000000000..ee9305b54d8 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$ChangeHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$ChangeHandler__ +#define __javax_swing_plaf_basic_BasicSliderUI$ChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$ChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$ChangeHandler : public ::java::lang::Object +{ + +public: + BasicSliderUI$ChangeHandler(::javax::swing::plaf::basic::BasicSliderUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$ChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.h new file mode 100644 index 00000000000..f192a5bf04f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$ComponentHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$ComponentHandler__ +#define __javax_swing_plaf_basic_BasicSliderUI$ComponentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ComponentEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$ComponentHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$ComponentHandler : public ::java::awt::event::ComponentAdapter +{ + +public: + BasicSliderUI$ComponentHandler(::javax::swing::plaf::basic::BasicSliderUI *); + virtual void componentResized(::java::awt::event::ComponentEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$ComponentHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.h new file mode 100644 index 00000000000..bc91028571d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$FocusHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicSliderUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$FocusHandler : public ::java::lang::Object +{ + +public: + BasicSliderUI$FocusHandler(::javax::swing::plaf::basic::BasicSliderUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..b03823785a6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicSliderUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicSliderUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicSliderUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.h new file mode 100644 index 00000000000..0032d4943cc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$ScrollListener.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$ScrollListener__ +#define __javax_swing_plaf_basic_BasicSliderUI$ScrollListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$ScrollListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$ScrollListener : public ::java::lang::Object +{ + +public: + BasicSliderUI$ScrollListener(::javax::swing::plaf::basic::BasicSliderUI *); + BasicSliderUI$ScrollListener(::javax::swing::plaf::basic::BasicSliderUI *, jint, jboolean); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual void setDirection(jint); + virtual void setScrollByBlock(jboolean); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) direction; + jboolean block; +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$ScrollListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI$TrackListener.h b/libjava/javax/swing/plaf/basic/BasicSliderUI$TrackListener.h new file mode 100644 index 00000000000..1d6bda1eb47 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI$TrackListener.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI$TrackListener__ +#define __javax_swing_plaf_basic_BasicSliderUI$TrackListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$TrackListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI$TrackListener : public ::javax::swing::event::MouseInputAdapter +{ + +public: + BasicSliderUI$TrackListener(::javax::swing::plaf::basic::BasicSliderUI *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual jboolean shouldScroll(jint); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::event::MouseInputAdapter)))) currentMouseX; + jint currentMouseY; + jint offset; +public: // actually package-private + ::javax::swing::plaf::basic::BasicSliderUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI$TrackListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicSliderUI.h b/libjava/javax/swing/plaf/basic/BasicSliderUI.h new file mode 100644 index 00000000000..cb35faa26b0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSliderUI.h @@ -0,0 +1,188 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSliderUI__ +#define __javax_swing_plaf_basic_BasicSliderUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Dimension; + class Graphics; + class Insets; + class Rectangle; + namespace event + { + class ComponentListener; + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class InputMap; + class JComponent; + class JSlider; + class Timer; + namespace event + { + class ChangeListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicSliderUI; + class BasicSliderUI$ScrollListener; + class BasicSliderUI$TrackListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSliderUI : public ::javax::swing::plaf::SliderUI +{ + +public: + BasicSliderUI(::javax::swing::JSlider *); +public: // actually protected + virtual jboolean isDragging(); + virtual ::java::awt::Color * getShadowColor(); + virtual ::java::awt::Color * getHighlightColor(); + virtual ::java::awt::Color * getFocusColor(); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JSlider *); + virtual ::javax::swing::plaf::basic::BasicSliderUI$TrackListener * createTrackListener(::javax::swing::JSlider *); + virtual ::javax::swing::event::ChangeListener * createChangeListener(::javax::swing::JSlider *); + virtual ::java::awt::event::ComponentListener * createComponentListener(::javax::swing::JSlider *); + virtual ::java::awt::event::FocusListener * createFocusListener(::javax::swing::JSlider *); + virtual ::javax::swing::plaf::basic::BasicSliderUI$ScrollListener * createScrollListener(::javax::swing::JSlider *); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(::javax::swing::JSlider *); + virtual void installListeners(::javax::swing::JSlider *); + virtual void uninstallListeners(::javax::swing::JSlider *); + virtual void installKeyboardActions(::javax::swing::JSlider *); + virtual void uninstallKeyboardActions(::javax::swing::JSlider *); +public: + virtual ::java::awt::Dimension * getPreferredHorizontalSize(); + virtual ::java::awt::Dimension * getPreferredVerticalSize(); + virtual ::java::awt::Dimension * getMinimumHorizontalSize(); + virtual ::java::awt::Dimension * getMinimumVerticalSize(); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + virtual void calculateGeometry(); + virtual void calculateFocusRect(); + virtual void calculateThumbSize(); + virtual void calculateContentRect(); + virtual void calculateThumbLocation(); + virtual void calculateTrackBuffer(); + virtual ::java::awt::Dimension * getThumbSize(); + virtual void calculateTrackRect(); + virtual jint getTickLength(); + virtual void calculateTickRect(); + virtual void calculateLabelRect(); + virtual jint getWidthOfWidestLabel(); + virtual jint getHeightOfTallestLabel(); + virtual jint getWidthOfHighValueLabel(); + virtual jint getWidthOfLowValueLabel(); + virtual jint getHeightOfHighValueLabel(); + virtual jint getHeightOfLowValueLabel(); + virtual jboolean drawInverted(); + virtual ::java::awt::Component * getLowestValueLabel(); + virtual ::java::awt::Component * getHighestValueLabel(); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void recalculateIfInsetsChanged(); + virtual void recalculateIfOrientationChanged(); +public: + virtual void paintFocus(::java::awt::Graphics *); + virtual void paintTrack(::java::awt::Graphics *); + virtual void paintTicks(::java::awt::Graphics *); +public: // actually protected + virtual void paintMinorTickForHorizSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void paintMajorTickForHorizSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void paintMinorTickForVertSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void paintMajorTickForVertSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); +public: + virtual void paintLabels(::java::awt::Graphics *); +public: // actually protected + virtual void paintHorizontalLabel(::java::awt::Graphics *, jint, ::java::awt::Component *); + virtual void paintVerticalLabel(::java::awt::Graphics *, jint, ::java::awt::Component *); +public: + virtual void paintThumb(::java::awt::Graphics *); + virtual void setThumbLocation(jint, jint); + virtual void scrollByBlock(jint); + virtual void scrollByUnit(jint); +public: // actually protected + virtual void scrollDueToClickInTrack(jint); + virtual jint xPositionForValue(jint); + virtual jint yPositionForValue(jint); +public: + virtual jint valueForYPosition(jint); + virtual jint valueForXPosition(jint); +public: // actually package-private + virtual jint findClosestTick(jint); + virtual ::javax::swing::InputMap * getInputMap(jint); + virtual ::javax::swing::ActionMap * getActionMap(); + virtual ::javax::swing::ActionMap * createActionMap(); +private: + jboolean hitClip(::java::awt::Graphics *, ::java::awt::Rectangle *); +public: // actually protected + ::javax::swing::event::ChangeListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SliderUI)))) changeListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::plaf::basic::BasicSliderUI$ScrollListener * scrollListener; + ::java::awt::event::ComponentListener * componentListener; + ::java::awt::event::FocusListener * focusListener; + ::javax::swing::plaf::basic::BasicSliderUI$TrackListener * trackListener; + ::java::awt::Insets * focusInsets; + ::java::awt::Insets * insetCache; + ::java::awt::Rectangle * contentRect; + ::java::awt::Rectangle * focusRect; + ::java::awt::Rectangle * thumbRect; + ::java::awt::Rectangle * tickRect; + ::java::awt::Rectangle * labelRect; + ::java::awt::Rectangle * trackRect; +public: + static const jint MAX_SCROLL = 2; + static const jint MIN_SCROLL = -2; + static const jint NEGATIVE_SCROLL = -1; + static const jint POSITIVE_SCROLL = 1; +public: // actually protected + jint trackBuffer; + jboolean leftToRightCache; + ::javax::swing::Timer * scrollTimer; + ::javax::swing::JSlider * slider; +private: + ::java::awt::Color * shadowColor; + ::java::awt::Color * highlightColor; + ::java::awt::Color * focusColor; +public: // actually package-private + jboolean dragging; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSliderUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI$1.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$1.h new file mode 100644 index 00000000000..267014e841c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$1.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI$1__ +#define __javax_swing_plaf_basic_BasicSpinnerUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSpinnerUI; + class BasicSpinnerUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicSpinnerUI$1(::javax::swing::plaf::basic::BasicSpinnerUI *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSpinnerUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI$2.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$2.h new file mode 100644 index 00000000000..5d8697b83c5 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$2.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI$2__ +#define __javax_swing_plaf_basic_BasicSpinnerUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class Timer; + namespace plaf + { + namespace basic + { + class BasicSpinnerUI; + class BasicSpinnerUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI$2 : public ::java::awt::event::MouseAdapter +{ + +public: // actually package-private + BasicSpinnerUI$2(::javax::swing::plaf::basic::BasicSpinnerUI *); +public: + void mousePressed(::java::awt::event::MouseEvent *); + void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + void increment(); + volatile jboolean __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) mouseDown; + ::javax::swing::Timer * timer; + ::javax::swing::plaf::basic::BasicSpinnerUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI$3.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$3.h new file mode 100644 index 00000000000..1df1e20cc5f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$3.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI$3__ +#define __javax_swing_plaf_basic_BasicSpinnerUI$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSpinnerUI$2; + class BasicSpinnerUI$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI$3 : public ::java::lang::Object +{ + +public: // actually package-private + BasicSpinnerUI$3(::javax::swing::plaf::basic::BasicSpinnerUI$2 *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSpinnerUI$2 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI$4.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$4.h new file mode 100644 index 00000000000..0d9dddce85a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$4.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI$4__ +#define __javax_swing_plaf_basic_BasicSpinnerUI$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class Timer; + namespace plaf + { + namespace basic + { + class BasicSpinnerUI; + class BasicSpinnerUI$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI$4 : public ::java::awt::event::MouseAdapter +{ + +public: // actually package-private + BasicSpinnerUI$4(::javax::swing::plaf::basic::BasicSpinnerUI *); +public: + void mousePressed(::java::awt::event::MouseEvent *); + void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + void decrement(); + volatile jboolean __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) mouseDown; + ::javax::swing::Timer * timer; + ::javax::swing::plaf::basic::BasicSpinnerUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI$5.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$5.h new file mode 100644 index 00000000000..f9a941a6559 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$5.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI$5__ +#define __javax_swing_plaf_basic_BasicSpinnerUI$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSpinnerUI$4; + class BasicSpinnerUI$5; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI$5 : public ::java::lang::Object +{ + +public: // actually package-private + BasicSpinnerUI$5(::javax::swing::plaf::basic::BasicSpinnerUI$4 *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSpinnerUI$4 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI$5__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.h new file mode 100644 index 00000000000..552ee52f5dd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI$DefaultLayoutManager.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI$DefaultLayoutManager__ +#define __javax_swing_plaf_basic_BasicSpinnerUI$DefaultLayoutManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSpinnerUI; + class BasicSpinnerUI$DefaultLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI$DefaultLayoutManager : public ::java::lang::Object +{ + + BasicSpinnerUI$DefaultLayoutManager(::javax::swing::plaf::basic::BasicSpinnerUI *); +public: + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); +private: + ::java::awt::Dimension * prefSize(::java::awt::Component *); + void setBounds(::java::awt::Component *, jint, jint, jint, jint); +public: // actually package-private + BasicSpinnerUI$DefaultLayoutManager(::javax::swing::plaf::basic::BasicSpinnerUI *, ::javax::swing::plaf::basic::BasicSpinnerUI$DefaultLayoutManager *); +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) editor; + ::java::awt::Component * next; + ::java::awt::Component * previous; +public: // actually package-private + ::javax::swing::plaf::basic::BasicSpinnerUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI$DefaultLayoutManager__ diff --git a/libjava/javax/swing/plaf/basic/BasicSpinnerUI.h b/libjava/javax/swing/plaf/basic/BasicSpinnerUI.h new file mode 100644 index 00000000000..aa148b77187 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSpinnerUI.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSpinnerUI__ +#define __javax_swing_plaf_basic_BasicSpinnerUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class LayoutManager; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JSpinner; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicSpinnerUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSpinnerUI : public ::javax::swing::plaf::SpinnerUI +{ + +public: + BasicSpinnerUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::javax::swing::JComponent * createEditor(); + virtual ::java::awt::LayoutManager * createLayout(); + virtual ::java::awt::Component * createNextButton(); + virtual ::java::awt::Component * createPreviousButton(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual void installDefaults(); + virtual void installListeners(); + virtual void installNextButtonListeners(::java::awt::Component *); + virtual void installPreviousButtonListeners(::java::awt::Component *); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void replaceEditor(::javax::swing::JComponent *, ::javax::swing::JComponent *); + virtual void uninstallDefaults(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + ::javax::swing::JSpinner * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SpinnerUI)))) spinner; +private: + ::java::beans::PropertyChangeListener * listener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSpinnerUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.h new file mode 100644 index 00000000000..cd51091307b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$BasicOneTouchButton.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider$BasicOneTouchButton__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider$BasicOneTouchButton__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$BasicOneTouchButton; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider$BasicOneTouchButton : public ::javax::swing::JButton +{ + +public: // actually package-private + BasicSplitPaneDivider$BasicOneTouchButton(::javax::swing::plaf::basic::BasicSplitPaneDivider *, jint); +public: + virtual void setBorder(::javax::swing::border::Border *); + virtual jboolean isFocusTraversable(); + virtual void paint(::java::awt::Graphics *); +public: // actually package-private + static const jint LEFT = 0; + static const jint RIGHT = 1; +private: + JArray< jint > * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) xpoints; + JArray< jint > * ypoints; + jint direction; +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneDivider * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider$BasicOneTouchButton__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.h new file mode 100644 index 00000000000..418b6dcd845 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider$DividerLayout__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider$DividerLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$DividerLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider$DividerLayout : public ::java::lang::Object +{ + +public: // actually protected + BasicSplitPaneDivider$DividerLayout(::javax::swing::plaf::basic::BasicSplitPaneDivider *); +public: + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneDivider * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider$DividerLayout__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.h new file mode 100644 index 00000000000..902a5725ca3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$DragController.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider$DragController__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider$DragController__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$DragController; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider$DragController : public ::java::lang::Object +{ + +public: // actually protected + BasicSplitPaneDivider$DragController(::javax::swing::plaf::basic::BasicSplitPaneDivider *, ::java::awt::event::MouseEvent *); + virtual jboolean isValid(); + virtual jint positionForMouseEvent(::java::awt::event::MouseEvent *); + virtual jint getNeededLocation(jint, jint); + virtual void continueDrag(jint, jint); + virtual void continueDrag(::java::awt::event::MouseEvent *); + virtual void completeDrag(jint, jint); + virtual void completeDrag(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual jint adjust(jint, jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) offset; + ::javax::swing::plaf::basic::BasicSplitPaneDivider * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider$DragController__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.h new file mode 100644 index 00000000000..bafbfee1b78 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider$MouseHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider$MouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$MouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider$MouseHandler : public ::java::awt::event::MouseAdapter +{ + +public: // actually protected + BasicSplitPaneDivider$MouseHandler(::javax::swing::plaf::basic::BasicSplitPaneDivider *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +private: + jboolean __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) isDragging; +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneDivider * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider$MouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.h new file mode 100644 index 00000000000..bc1538536ea --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider$OneTouchAction__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider$OneTouchAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$OneTouchAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider$OneTouchAction : public ::java::lang::Object +{ + + BasicSplitPaneDivider$OneTouchAction(::javax::swing::plaf::basic::BasicSplitPaneDivider *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + BasicSplitPaneDivider$OneTouchAction(::javax::swing::plaf::basic::BasicSplitPaneDivider *, ::javax::swing::plaf::basic::BasicSplitPaneDivider$OneTouchAction *); + ::javax::swing::plaf::basic::BasicSplitPaneDivider * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider$OneTouchAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.h new file mode 100644 index 00000000000..cc1a14915bc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider$VerticalDragController.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider$VerticalDragController__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider$VerticalDragController__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$VerticalDragController; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider$VerticalDragController : public ::javax::swing::plaf::basic::BasicSplitPaneDivider$DragController +{ + +public: // actually protected + BasicSplitPaneDivider$VerticalDragController(::javax::swing::plaf::basic::BasicSplitPaneDivider *, ::java::awt::event::MouseEvent *); + virtual jint getNeededLocation(jint, jint); + virtual jint positionForMouseEvent(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual jint adjust(jint, jint); + ::javax::swing::plaf::basic::BasicSplitPaneDivider * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicSplitPaneDivider$DragController)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider$VerticalDragController__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider.h new file mode 100644 index 00000000000..a4c51fc5588 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneDivider.h @@ -0,0 +1,97 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneDivider__ +#define __javax_swing_plaf_basic_BasicSplitPaneDivider__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Graphics; + class Insets; + } + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JButton; + class JSplitPane; + namespace border + { + class Border; + } + namespace plaf + { + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneDivider$DragController; + class BasicSplitPaneDivider$MouseHandler; + class BasicSplitPaneUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneDivider : public ::java::awt::Container +{ + +public: + BasicSplitPaneDivider(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void setBasicSplitPaneUI(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual ::javax::swing::plaf::basic::BasicSplitPaneUI * getBasicSplitPaneUI(); + virtual void setDividerSize(jint); + virtual jint getDividerSize(); + virtual void setBorder(::javax::swing::border::Border *); + virtual ::javax::swing::border::Border * getBorder(); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void paint(::java::awt::Graphics *); +public: // actually protected + virtual void oneTouchExpandableChanged(); + virtual ::javax::swing::JButton * createLeftOneTouchButton(); + virtual ::javax::swing::JButton * createRightOneTouchButton(); + virtual void prepareForDragging(); + virtual void dragDividerTo(jint); + virtual void finishDraggingTo(jint); +public: // actually package-private + virtual void moveDividerTo(jint); + static const jlong serialVersionUID = 1463404307042803342LL; +public: // actually protected + static const jint ONE_TOUCH_SIZE = 6; + static const jint ONE_TOUCH_OFFSET = 2; + ::javax::swing::plaf::basic::BasicSplitPaneDivider$DragController * __attribute__((aligned(__alignof__( ::java::awt::Container)))) dragger; + ::javax::swing::plaf::basic::BasicSplitPaneUI * splitPaneUI; + jint dividerSize; + ::java::awt::Component * hiddenDivider; + ::javax::swing::JSplitPane * splitPane; + ::javax::swing::plaf::basic::BasicSplitPaneDivider$MouseHandler * mouseHandler; + jint orientation; + ::javax::swing::JButton * leftButton; + ::javax::swing::JButton * rightButton; +private: + ::javax::swing::border::Border * border; +public: // actually package-private + jint currentDividerLocation; + jboolean centerOneTouchButtons; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneDivider__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$1.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$1.h new file mode 100644 index 00000000000..0d1602b3068 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$1__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$1 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$1(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$2.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$2.h new file mode 100644 index 00000000000..af65cc5c583 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$2__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$2 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$2(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$3.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$3.h new file mode 100644 index 00000000000..6dd5e761355 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$3.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$3__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$3; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$3 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$3(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$3__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$4.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$4.h new file mode 100644 index 00000000000..f66fe4b021d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$4.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$4__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$4; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$4 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$4(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$4__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$5.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$5.h new file mode 100644 index 00000000000..c9a3e266e06 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$5.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$5__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$5__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$5; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$5 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$5(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$5__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$6.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$6.h new file mode 100644 index 00000000000..9a4facee9cc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$6.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$6__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$6__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$6; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$6 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$6(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$6__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$7.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$7.h new file mode 100644 index 00000000000..d464dded6c9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$7.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$7__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$7__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$7; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$7 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$7(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$7__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$8.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$8.h new file mode 100644 index 00000000000..e2248856328 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$8.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$8__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$8__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$8; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$8 : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicSplitPaneUI$8(::javax::swing::plaf::basic::BasicSplitPaneUI *, ::java::lang::String *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$8__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.h new file mode 100644 index 00000000000..7f3b3932f36 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$BasicHorizontalLayoutManager__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$BasicHorizontalLayoutManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$BasicHorizontalLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$BasicHorizontalLayoutManager : public ::java::lang::Object +{ + +public: // actually package-private + BasicSplitPaneUI$BasicHorizontalLayoutManager(::javax::swing::plaf::basic::BasicSplitPaneUI *); + BasicSplitPaneUI$BasicHorizontalLayoutManager(::javax::swing::plaf::basic::BasicSplitPaneUI *, jint); +public: + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); +public: // actually protected + virtual jint getAvailableSize(::java::awt::Dimension *, ::java::awt::Insets *); + virtual jint getInitialLocation(::java::awt::Insets *); +public: + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); +public: // actually protected + virtual jint getPreferredSizeOfComponent(::java::awt::Component *); + virtual jint getSizeOfComponent(::java::awt::Component *); + virtual JArray< jint > * getSizes(); +public: + virtual void invalidateLayout(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually protected + virtual void resetSizeAt(jint); +public: + virtual void resetToPreferredSizes(); +public: // actually protected + virtual void setComponentToSize(::java::awt::Component *, jint, jint, ::java::awt::Insets *, ::java::awt::Dimension *); + virtual void setSizes(JArray< jint > *); + virtual void updateComponents(); +public: // actually package-private + virtual void distributeExtraSpace(); + virtual jint minimumSizeOfComponent(jint); +public: // actually protected + JArray< ::java::awt::Component * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components; + JArray< jint > * sizes; +private: + jint axis; +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$BasicHorizontalLayoutManager__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.h new file mode 100644 index 00000000000..47f78ce61c4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$BasicVerticalLayoutManager__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$BasicVerticalLayoutManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$BasicVerticalLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$BasicVerticalLayoutManager : public ::javax::swing::plaf::basic::BasicSplitPaneUI$BasicHorizontalLayoutManager +{ + +public: + BasicSplitPaneUI$BasicVerticalLayoutManager(::javax::swing::plaf::basic::BasicSplitPaneUI *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicSplitPaneUI$BasicHorizontalLayoutManager)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$BasicVerticalLayoutManager__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.h new file mode 100644 index 00000000000..a338ae8cfb9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$FocusHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$FocusHandler : public ::java::awt::event::FocusAdapter +{ + +public: + BasicSplitPaneUI$FocusHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::awt::event::FocusAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.h new file mode 100644 index 00000000000..439de5c724a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardDownRightHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardDownRightHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardDownRightHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$KeyboardDownRightHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$KeyboardDownRightHandler : public ::java::lang::Object +{ + +public: + BasicSplitPaneUI$KeyboardDownRightHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardDownRightHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.h new file mode 100644 index 00000000000..4b474d91246 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardEndHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardEndHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardEndHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$KeyboardEndHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$KeyboardEndHandler : public ::java::lang::Object +{ + +public: + BasicSplitPaneUI$KeyboardEndHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardEndHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.h new file mode 100644 index 00000000000..755d657f059 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardHomeHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardHomeHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardHomeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$KeyboardHomeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$KeyboardHomeHandler : public ::java::lang::Object +{ + +public: + BasicSplitPaneUI$KeyboardHomeHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardHomeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.h new file mode 100644 index 00000000000..34e9acdc21c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardResizeToggleHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardResizeToggleHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardResizeToggleHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$KeyboardResizeToggleHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$KeyboardResizeToggleHandler : public ::java::lang::Object +{ + +public: + BasicSplitPaneUI$KeyboardResizeToggleHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardResizeToggleHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.h new file mode 100644 index 00000000000..ce00ebc9d91 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$KeyboardUpLeftHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardUpLeftHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardUpLeftHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$KeyboardUpLeftHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$KeyboardUpLeftHandler : public ::java::lang::Object +{ + +public: + BasicSplitPaneUI$KeyboardUpLeftHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$KeyboardUpLeftHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.h new file mode 100644 index 00000000000..87f023b5fed --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI$PropertyHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI$PropertyHandler__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI$PropertyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicSplitPaneUI; + class BasicSplitPaneUI$PropertyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI$PropertyHandler : public ::java::lang::Object +{ + +public: + BasicSplitPaneUI$PropertyHandler(::javax::swing::plaf::basic::BasicSplitPaneUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicSplitPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI$PropertyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicSplitPaneUI.h b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI.h new file mode 100644 index 00000000000..fdbcb1519f6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicSplitPaneUI.h @@ -0,0 +1,149 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicSplitPaneUI__ +#define __javax_swing_plaf_basic_BasicSplitPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + class Graphics; + class Insets; + namespace event + { + class ActionListener; + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class InputMap; + class JComponent; + class JSplitPane; + class KeyStroke; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicSplitPaneDivider; + class BasicSplitPaneUI; + class BasicSplitPaneUI$BasicHorizontalLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicSplitPaneUI : public ::javax::swing::plaf::SplitPaneUI +{ + +public: + BasicSplitPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void installListeners(); + virtual void uninstallListeners(); +public: // actually package-private + virtual ::javax::swing::InputMap * getInputMap(jint); + virtual ::javax::swing::ActionMap * getActionMap(); + virtual ::javax::swing::ActionMap * createActionMap(); +public: // actually protected + virtual void installKeyboardActions(); + virtual void uninstallKeyboardActions(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::event::FocusListener * createFocusListener(); + virtual ::java::awt::event::ActionListener * createKeyboardUpLeftListener(); + virtual ::java::awt::event::ActionListener * createKeyboardDownRightListener(); + virtual ::java::awt::event::ActionListener * createKeyboardHomeListener(); + virtual ::java::awt::event::ActionListener * createKeyboardEndListener(); + virtual ::java::awt::event::ActionListener * createKeyboardResizeToggleListener(); +public: + virtual jint getOrientation(); + virtual void setOrientation(jint); + virtual jboolean isContinuousLayout(); + virtual void setContinuousLayout(jboolean); + virtual jint getLastDragLocation(); + virtual void setLastDragLocation(jint); + virtual ::javax::swing::plaf::basic::BasicSplitPaneDivider * getDivider(); +public: // actually protected + virtual ::java::awt::Component * createDefaultNonContinuousLayoutDivider(); + virtual void setNonContinuousLayoutDivider(::java::awt::Component *); + virtual void setNonContinuousLayoutDivider(::java::awt::Component *, jboolean); +public: + virtual ::java::awt::Component * getNonContinuousLayoutDivider(); + virtual ::javax::swing::JSplitPane * getSplitPane(); + virtual ::javax::swing::plaf::basic::BasicSplitPaneDivider * createDefaultDivider(); + virtual void resetToPreferredSizes(::javax::swing::JSplitPane *); + virtual void setDividerLocation(::javax::swing::JSplitPane *, jint); + virtual jint getDividerLocation(::javax::swing::JSplitPane *); + virtual jint getMinimumDividerLocation(::javax::swing::JSplitPane *); + virtual jint getMaximumDividerLocation(::javax::swing::JSplitPane *); + virtual void finishedPaintingChildren(::javax::swing::JSplitPane *, ::java::awt::Graphics *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Insets * getInsets(::javax::swing::JComponent *); +public: // actually protected + virtual void resetLayoutManager(); + virtual void startDragging(); + virtual void dragDividerTo(jint); + virtual void finishDraggingTo(jint); + virtual jint getDividerBorderSize(); +private: + jint validLocation(jint); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::SplitPaneUI)))) beginDragDividerLocation; + jint dividerSize; +public: // actually package-private + jint lastDragLocation; +public: // actually protected + static jint KEYBOARD_DIVIDER_MOVE_OFFSET; + ::javax::swing::plaf::basic::BasicSplitPaneDivider * divider; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::java::awt::event::FocusListener * focusListener; + ::java::awt::event::ActionListener * keyboardDownRightListener; + ::java::awt::event::ActionListener * keyboardEndListener; + ::java::awt::event::ActionListener * keyboardHomeListener; + ::java::awt::event::ActionListener * keyboardResizeToggleListener; + ::java::awt::event::ActionListener * keyboardUpLeftListener; + ::javax::swing::plaf::basic::BasicSplitPaneUI$BasicHorizontalLayoutManager * layoutManager; + ::javax::swing::KeyStroke * dividerResizeToggleKey; + ::javax::swing::KeyStroke * downKey; + ::javax::swing::KeyStroke * endKey; + ::javax::swing::KeyStroke * homeKey; + ::javax::swing::KeyStroke * leftKey; + ::javax::swing::KeyStroke * rightKey; + ::javax::swing::KeyStroke * upKey; + jboolean draggingHW; + static ::java::lang::String * NON_CONTINUOUS_DIVIDER; + ::java::awt::Component * nonContinuousLayoutDivider; + ::javax::swing::JSplitPane * splitPane; +public: // actually package-private + jboolean dividerLocationSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicSplitPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.h new file mode 100644 index 00000000000..4545f105d1d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$FocusHandler.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$FocusHandler : public ::java::awt::event::FocusAdapter +{ + +public: + BasicTabbedPaneUI$FocusHandler(::javax::swing::plaf::basic::BasicTabbedPaneUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::java::awt::event::FocusAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.h new file mode 100644 index 00000000000..c36fc50205b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$MouseHandler.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$MouseHandler__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$MouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$MouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$MouseHandler : public ::java::awt::event::MouseAdapter +{ + +public: + BasicTabbedPaneUI$MouseHandler(::javax::swing::plaf::basic::BasicTabbedPaneUI *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual void redispatchEvent(::java::awt::event::MouseEvent *); + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$MouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.h new file mode 100644 index 00000000000..17596c23215 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigateAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigateAction__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigateAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI$NavigateAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$NavigateAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicTabbedPaneUI$NavigateAction(::java::lang::String *, jint); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) direction; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigateAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.h new file mode 100644 index 00000000000..52e7e35cdc7 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageDownAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigatePageDownAction__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigatePageDownAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI$NavigatePageDownAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$NavigatePageDownAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTabbedPaneUI$NavigatePageDownAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigatePageDownAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.h new file mode 100644 index 00000000000..c5195afb580 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$NavigatePageUpAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigatePageUpAction__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigatePageUpAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI$NavigatePageUpAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$NavigatePageUpAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTabbedPaneUI$NavigatePageUpAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$NavigatePageUpAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..09e568fe4de --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicTabbedPaneUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTabbedPaneUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.h new file mode 100644 index 00000000000..1ee8f725be1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$RequestFocusAction__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$RequestFocusAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI$RequestFocusAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$RequestFocusAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTabbedPaneUI$RequestFocusAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$RequestFocusAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.h new file mode 100644 index 00000000000..cbb776a3474 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$RequestFocusForVisibleComponentAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$RequestFocusForVisibleComponentAction__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$RequestFocusForVisibleComponentAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI$RequestFocusForVisibleComponentAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$RequestFocusForVisibleComponentAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTabbedPaneUI$RequestFocusForVisibleComponentAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$RequestFocusForVisibleComponentAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.h new file mode 100644 index 00000000000..895072d427e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingButton.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingButton__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$ScrollingButton; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingButton : public ::javax::swing::plaf::basic::BasicArrowButton +{ + +public: + BasicTabbedPaneUI$ScrollingButton(::javax::swing::plaf::basic::BasicTabbedPaneUI *, jint); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicArrowButton)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingButton__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.h new file mode 100644 index 00000000000..d896ca00a56 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI$ScrollingPanel; + class BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI : public ::javax::swing::plaf::basic::BasicPanelUI +{ + + BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI(::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel *); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually package-private + BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI(::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel *, ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI *); + ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicPanelUI)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingPanel$ScrollingPanelUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.h new file mode 100644 index 00000000000..4c1d483448c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingPanel.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingPanel__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingPanel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$ScrollingPanel; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel : public ::javax::swing::JPanel +{ + + BasicTabbedPaneUI$ScrollingPanel(::javax::swing::plaf::basic::BasicTabbedPaneUI *); +public: + virtual void updateUI(); +public: // actually package-private + BasicTabbedPaneUI$ScrollingPanel(::javax::swing::plaf::basic::BasicTabbedPaneUI *, ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel *); + static ::javax::swing::plaf::basic::BasicTabbedPaneUI * access$1(::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel *); + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingPanel__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.h new file mode 100644 index 00000000000..2469bbe27e0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$ScrollingViewport.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingViewport__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingViewport__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$ScrollingViewport; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingViewport : public ::javax::swing::JViewport +{ + + BasicTabbedPaneUI$ScrollingViewport(::javax::swing::plaf::basic::BasicTabbedPaneUI *); +public: // actually package-private + BasicTabbedPaneUI$ScrollingViewport(::javax::swing::plaf::basic::BasicTabbedPaneUI *, ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingViewport *); + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::JViewport)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$ScrollingViewport__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.h new file mode 100644 index 00000000000..ad26176e00e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabSelectionHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$TabSelectionHandler__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$TabSelectionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$TabSelectionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$TabSelectionHandler : public ::java::lang::Object +{ + +public: + BasicTabbedPaneUI$TabSelectionHandler(::javax::swing::plaf::basic::BasicTabbedPaneUI *); + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$TabSelectionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.h new file mode 100644 index 00000000000..a56abd9f4c8 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$TabbedPaneLayout__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$TabbedPaneLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$TabbedPaneLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneLayout : public ::java::lang::Object +{ + +public: + BasicTabbedPaneUI$TabbedPaneLayout(::javax::swing::plaf::basic::BasicTabbedPaneUI *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void calculateLayoutInfo(); +public: // actually protected + virtual ::java::awt::Dimension * calculateSize(jboolean); + virtual void calculateTabRects(jint, jint); +public: + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); +public: // actually protected + virtual void normalizeTabRuns(jint, jint, jint, jint); + virtual void padSelectedTab(jint, jint); + virtual void padTabRun(jint, jint, jint, jint); +public: + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); +public: // actually protected + virtual jint preferredTabAreaHeight(jint, jint); + virtual jint preferredTabAreaWidth(jint, jint); + virtual void rotateTabRuns(jint, jint); +public: + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$TabbedPaneLayout__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.h new file mode 100644 index 00000000000..87642f720ab --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI$TabbedPaneScrollLayout__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI$TabbedPaneScrollLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$TabbedPaneScrollLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneScrollLayout : public ::javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneLayout +{ + + BasicTabbedPaneUI$TabbedPaneScrollLayout(::javax::swing::plaf::basic::BasicTabbedPaneUI *); +public: + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); +public: // actually protected + virtual jint preferredTabAreaHeight(jint, jint); + virtual jint preferredTabAreaWidth(jint, jint); + virtual void calculateTabRects(jint, jint); +public: + virtual void layoutContainer(::java::awt::Container *); +public: // actually package-private + BasicTabbedPaneUI$TabbedPaneScrollLayout(::javax::swing::plaf::basic::BasicTabbedPaneUI *, ::javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneScrollLayout *); + ::javax::swing::plaf::basic::BasicTabbedPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneLayout)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI$TabbedPaneScrollLayout__ diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.h b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.h new file mode 100644 index 00000000000..a20eedbb569 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.h @@ -0,0 +1,223 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTabbedPaneUI__ +#define __javax_swing_plaf_basic_BasicTabbedPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class Insets; + class LayoutManager; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + class MouseListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class Icon; + class JComponent; + class JTabbedPane; + class KeyStroke; + namespace event + { + class ChangeListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTabbedPaneUI; + class BasicTabbedPaneUI$ScrollingButton; + class BasicTabbedPaneUI$ScrollingPanel; + class BasicTabbedPaneUI$ScrollingViewport; + } + } + namespace text + { + class View; + } + } + } +} + +class javax::swing::plaf::basic::BasicTabbedPaneUI : public ::javax::swing::plaf::TabbedPaneUI +{ + +public: + BasicTabbedPaneUI(); +public: // actually package-private + virtual ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingButton * createIncreaseButton(); + virtual ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingButton * createDecreaseButton(); + virtual ::java::awt::Point * findPointForIndex(jint); + virtual void scrollTab(jint, jint); + virtual void updateButtons(); + virtual void updateViewPosition(); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual void installComponents(); + virtual void uninstallComponents(); + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void installListeners(); + virtual void uninstallListeners(); + virtual ::java::awt::event::MouseListener * createMouseListener(); + virtual ::java::awt::event::FocusListener * createFocusListener(); + virtual ::javax::swing::event::ChangeListener * createChangeListener(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual void installKeyboardActions(); + virtual void uninstallKeyboardActions(); +public: + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintTabArea(::java::awt::Graphics *, jint, jint); + virtual void paintTab(::java::awt::Graphics *, jint, JArray< ::java::awt::Rectangle * > *, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *); + virtual void layoutLabel(jint, ::java::awt::FontMetrics *, jint, ::java::lang::String *, ::javax::swing::Icon *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jboolean); + virtual void paintIcon(::java::awt::Graphics *, jint, jint, ::javax::swing::Icon *, ::java::awt::Rectangle *, jboolean); + virtual void paintText(::java::awt::Graphics *, jint, ::java::awt::Font *, ::java::awt::FontMetrics *, jint, ::java::lang::String *, ::java::awt::Rectangle *, jboolean); + virtual jint getTabLabelShiftX(jint, jint, jboolean); + virtual jint getTabLabelShiftY(jint, jint, jboolean); + virtual void paintFocusIndicator(::java::awt::Graphics *, jint, JArray< ::java::awt::Rectangle * > *, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jboolean); + virtual void paintTabBorder(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintTabBackground(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintContentBorder(::java::awt::Graphics *, jint, jint); + virtual void paintContentBorderTopEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); + virtual void paintContentBorderLeftEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); + virtual void paintContentBorderBottomEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); + virtual void paintContentBorderRightEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); +public: + virtual ::java::awt::Rectangle * getTabBounds(::javax::swing::JTabbedPane *, jint); + virtual jint getTabRunCount(::javax::swing::JTabbedPane *); + virtual jint tabForCoordinate(::javax::swing::JTabbedPane *, jint, jint); +public: // actually protected + virtual ::java::awt::Rectangle * getTabBounds(jint, ::java::awt::Rectangle *); + virtual ::java::awt::Component * getVisibleComponent(); + virtual void setVisibleComponent(::java::awt::Component *); + virtual void assureRectsCreated(jint); + virtual void expandTabRunsArray(); + virtual jint getRunForTab(jint, jint); + virtual jint lastTabInRun(jint, jint); + virtual jint getTabRunOverlay(jint); + virtual jint getTabRunIndent(jint, jint); + virtual jboolean shouldPadTabRun(jint, jint); + virtual jboolean shouldRotateTabRuns(jint); + virtual ::javax::swing::Icon * getIconForTab(jint); + virtual ::javax::swing::text::View * getTextViewForTab(jint); + virtual jint calculateTabHeight(jint, jint, jint); + virtual jint calculateMaxTabHeight(jint); + virtual jint calculateTabWidth(jint, jint, ::java::awt::FontMetrics *); + virtual jint calculateMaxTabWidth(jint); + virtual jint calculateTabAreaHeight(jint, jint, jint); + virtual jint calculateTabAreaWidth(jint, jint, jint); + virtual ::java::awt::Insets * getTabInsets(jint, jint); + virtual ::java::awt::Insets * getSelectedTabPadInsets(jint); + virtual ::java::awt::Insets * getTabAreaInsets(jint); + virtual ::java::awt::Insets * getContentBorderInsets(jint); + virtual ::java::awt::FontMetrics * getFontMetrics(); + virtual void navigateSelectedTab(jint); + virtual void selectNextTabInRun(jint); + virtual void selectPreviousTabInRun(jint); + virtual void selectNextTab(jint); + virtual void selectPreviousTab(jint); + virtual void selectAdjacentRunTab(jint, jint, jint); + virtual jint getTabRunOffset(jint, jint, jint, jboolean); + virtual jint getPreviousTabIndex(jint); + virtual jint getNextTabIndex(jint); + virtual jint getNextTabIndexInRun(jint, jint); + virtual jint getPreviousTabIndexInRun(jint, jint); + virtual jint getPreviousTabRun(jint); + virtual jint getNextTabRun(jint); + static void rotateInsets(::java::awt::Insets *, ::java::awt::Insets *, jint); +public: // actually package-private + virtual ::javax::swing::ActionMap * getActionMap(); + virtual ::javax::swing::ActionMap * createActionMap(); +public: // actually protected + virtual void setRolloverTab(jint); + virtual jint getRolloverTab(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingButton * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TabbedPaneUI)))) incrButton; + ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingButton * decrButton; + ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingViewport * viewport; + ::javax::swing::plaf::basic::BasicTabbedPaneUI$ScrollingPanel * panel; + jint currentScrollLocation; + jint currentScrollOffset; +public: // actually protected + ::java::awt::Rectangle * calcRect; + JArray< ::java::awt::Rectangle * > * rects; + ::java::awt::Insets * contentBorderInsets; + ::java::awt::Insets * selectedTabPadInsets; + ::java::awt::Insets * tabAreaInsets; + ::java::awt::Insets * tabInsets; + ::java::awt::Color * darkShadow; + ::java::awt::Color * focus; + ::java::awt::Color * highlight; + ::java::awt::Color * lightHighlight; + ::java::awt::Color * shadow; + jint maxTabHeight; + jint maxTabWidth; + jint runCount; + jint selectedRun; + jint tabRunOverlay; + jint textIconGap; + JArray< jint > * tabRuns; +public: // actually package-private + jboolean tabRunsDirty; +public: // actually protected + ::javax::swing::KeyStroke * downKey; + ::javax::swing::KeyStroke * leftKey; + ::javax::swing::KeyStroke * rightKey; + ::javax::swing::KeyStroke * upKey; + ::java::awt::event::FocusListener * focusListener; + ::java::awt::event::MouseListener * mouseListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::event::ChangeListener * tabChangeListener; + ::javax::swing::JTabbedPane * tabPane; +public: // actually package-private + ::java::awt::LayoutManager * layoutManager; + ::java::awt::Rectangle * tabAreaRect; + ::java::awt::Rectangle * contentRect; +private: + jint rolloverTab; + jboolean tabsOpaque; + ::java::awt::Component * visibleComponent; + ::java::awt::Color * selectedColor; + ::java::awt::Rectangle * tempTextRect; + ::java::awt::Rectangle * tempIconRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTabbedPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableHeaderUI$1.h b/libjava/javax/swing/plaf/basic/BasicTableHeaderUI$1.h new file mode 100644 index 00000000000..76e0a4d77c3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableHeaderUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableHeaderUI$1__ +#define __javax_swing_plaf_basic_BasicTableHeaderUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTableHeaderUI$1; + class BasicTableHeaderUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableHeaderUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicTableHeaderUI$1(::javax::swing::plaf::basic::BasicTableHeaderUI$MouseInputHandler *); +public: + void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTableHeaderUI$MouseInputHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableHeaderUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.h new file mode 100644 index 00000000000..379f3ac293f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableHeaderUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicTableHeaderUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class Timer; + namespace plaf + { + namespace basic + { + class BasicTableHeaderUI; + class BasicTableHeaderUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableHeaderUI$MouseInputHandler : public ::java::lang::Object +{ + +public: + BasicTableHeaderUI$MouseInputHandler(::javax::swing::plaf::basic::BasicTableHeaderUI *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual void endResizing(); + virtual void endDragging(::java::awt::event::MouseEvent *); + static ::javax::swing::plaf::basic::BasicTableHeaderUI * access$0(::javax::swing::plaf::basic::BasicTableHeaderUI$MouseInputHandler *); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) showingResizeCursor; + jint draggingFrom; + jint draggingColumnNumber; + jint prevPrefWidth; + ::javax::swing::Timer * timer; + ::javax::swing::plaf::basic::BasicTableHeaderUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableHeaderUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableHeaderUI.h b/libjava/javax/swing/plaf/basic/BasicTableHeaderUI.h new file mode 100644 index 00000000000..4a31c132e4a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableHeaderUI.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableHeaderUI__ +#define __javax_swing_plaf_basic_BasicTableHeaderUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Cursor; + class Dimension; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class CellRendererPane; + class JComponent; + namespace border + { + class Border; + } + namespace event + { + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTableHeaderUI; + } + } + namespace table + { + class JTableHeader; + } + } + } +} + +class javax::swing::plaf::basic::BasicTableHeaderUI : public ::javax::swing::plaf::TableHeaderUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::javax::swing::event::MouseInputListener * createMouseInputListener(); +public: + BasicTableHeaderUI(); +public: // actually protected + virtual void installDefaults(); + virtual void installKeyboardActions(); + virtual void installListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually package-private + static void access$0(::javax::swing::plaf::basic::BasicTableHeaderUI *, ::java::awt::Cursor *); + static ::java::awt::Cursor * access$1(::javax::swing::plaf::basic::BasicTableHeaderUI *); + static jint COLUMN_BOUNDARY_TOLERANCE; +public: // actually protected + ::javax::swing::table::JTableHeader * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TableHeaderUI)))) header; + ::javax::swing::event::MouseInputListener * mouseInputListener; + ::javax::swing::CellRendererPane * rendererPane; +private: + ::javax::swing::border::Border * cellBorder; + ::java::awt::Cursor * originalCursor; +public: // actually package-private + ::java::awt::Rectangle * draggingHeaderRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableHeaderUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicTableUI$FocusHandler.h new file mode 100644 index 00000000000..e7ff31e5d6d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableUI$FocusHandler.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicTableUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTableUI; + class BasicTableUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableUI$FocusHandler : public ::java::lang::Object +{ + +public: + BasicTableUI$FocusHandler(::javax::swing::plaf::basic::BasicTableUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +private: + void repaintLeadCell(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTableUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableUI$KeyHandler.h b/libjava/javax/swing/plaf/basic/BasicTableUI$KeyHandler.h new file mode 100644 index 00000000000..f70e6d3c8dc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableUI$KeyHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableUI$KeyHandler__ +#define __javax_swing_plaf_basic_BasicTableUI$KeyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTableUI; + class BasicTableUI$KeyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableUI$KeyHandler : public ::java::lang::Object +{ + +public: + BasicTableUI$KeyHandler(::javax::swing::plaf::basic::BasicTableUI *); + virtual void keyTyped(::java::awt::event::KeyEvent *); + virtual void keyPressed(::java::awt::event::KeyEvent *); + virtual void keyReleased(::java::awt::event::KeyEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTableUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableUI$KeyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.h new file mode 100644 index 00000000000..a0fb583afe0 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableUI$MouseInputHandler.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicTableUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTableUI; + class BasicTableUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableUI$MouseInputHandler : public ::java::lang::Object +{ + +public: + BasicTableUI$MouseInputHandler(::javax::swing::plaf::basic::BasicTableUI *); +private: + void updateSelection(jboolean); +public: + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::java::awt::Point * __attribute__((aligned(__alignof__( ::java::lang::Object)))) begin; + ::java::awt::Point * curr; + ::javax::swing::plaf::basic::BasicTableUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..e51aad5c042 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableUI$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicTableUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTableUI; + class BasicTableUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableUI$PropertyChangeHandler : public ::java::lang::Object +{ + + BasicTableUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTableUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + BasicTableUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTableUI *, ::javax::swing::plaf::basic::BasicTableUI$PropertyChangeHandler *); + ::javax::swing::plaf::basic::BasicTableUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableUI$TableAction.h b/libjava/javax/swing/plaf/basic/BasicTableUI$TableAction.h new file mode 100644 index 00000000000..44a245c51cc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableUI$TableAction.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableUI$TableAction__ +#define __javax_swing_plaf_basic_BasicTableUI$TableAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JTable; + class ListSelectionModel; + namespace plaf + { + namespace basic + { + class BasicTableUI$TableAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTableUI$TableAction : public ::javax::swing::AbstractAction +{ + + BasicTableUI$TableAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + virtual jint getFirstVisibleColumnIndex(::javax::swing::JTable *); + virtual jint getLastVisibleColumnIndex(::javax::swing::JTable *); + virtual jint getFirstVisibleRowIndex(::javax::swing::JTable *); + virtual jint getLastVisibleRowIndex(::javax::swing::JTable *); + virtual void advanceMultipleSelection(::javax::swing::JTable *, ::javax::swing::ListSelectionModel *, jint, jint, ::javax::swing::ListSelectionModel *, jint, jint, jboolean, jboolean); + virtual void advanceSingleSelection(::javax::swing::ListSelectionModel *, jint, ::javax::swing::ListSelectionModel *, jint, jboolean); + BasicTableUI$TableAction(::javax::swing::plaf::basic::BasicTableUI$TableAction *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableUI$TableAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTableUI.h b/libjava/javax/swing/plaf/basic/BasicTableUI.h new file mode 100644 index 00000000000..6abd88fcbfe --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTableUI.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTableUI__ +#define __javax_swing_plaf_basic_BasicTableUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Rectangle; + namespace event + { + class FocusListener; + class KeyListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class CellRendererPane; + class JComponent; + class JTable; + namespace border + { + class Border; + } + namespace event + { + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTableUI; + class BasicTableUI$TableAction; + } + } + namespace table + { + class TableCellRenderer; + } + } + } +} + +class javax::swing::plaf::basic::BasicTableUI : public ::javax::swing::plaf::TableUI +{ + +public: + BasicTableUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::event::FocusListener * createFocusListener(); + virtual ::javax::swing::event::MouseInputListener * createMouseInputListener(); + virtual ::java::awt::event::KeyListener * createKeyListener(); +public: + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +private: + jint getHeight(); +public: // actually protected + virtual void installDefaults(); + virtual void installKeyboardActions(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createDefaultActions(); +public: // actually protected + virtual void installListeners(); + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually package-private + virtual void paintCell(::java::awt::Graphics *, jint, jint, ::java::awt::Rectangle *, ::javax::swing::table::TableCellRenderer *); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + ::java::awt::event::FocusListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TableUI)))) focusListener; + ::java::awt::event::KeyListener * keyListener; + ::javax::swing::event::MouseInputListener * mouseInputListener; + ::javax::swing::CellRendererPane * rendererPane; + ::javax::swing::JTable * table; +public: // actually package-private + ::javax::swing::border::Border * cellBorder; + ::javax::swing::plaf::basic::BasicTableUI$TableAction * action; +private: + ::java::beans::PropertyChangeListener * propertyChangeListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTableUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextAreaUI.h b/libjava/javax/swing/plaf/basic/BasicTextAreaUI.h new file mode 100644 index 00000000000..c05b92a0c88 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextAreaUI.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextAreaUI__ +#define __javax_swing_plaf_basic_BasicTextAreaUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTextAreaUI; + } + } + namespace text + { + class Element; + class View; + } + } + } +} + +class javax::swing::plaf::basic::BasicTextAreaUI : public ::javax::swing::plaf::basic::BasicTextUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + BasicTextAreaUI(); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextAreaUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextFieldUI.h b/libjava/javax/swing/plaf/basic/BasicTextFieldUI.h new file mode 100644 index 00000000000..be9a77ca0ed --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextFieldUI.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextFieldUI__ +#define __javax_swing_plaf_basic_BasicTextFieldUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTextFieldUI; + } + } + namespace text + { + class Element; + class View; + } + } + } +} + +class javax::swing::plaf::basic::BasicTextFieldUI : public ::javax::swing::plaf::basic::BasicTextUI +{ + +public: + BasicTextFieldUI(); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextFieldUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextPaneUI.h b/libjava/javax/swing/plaf/basic/BasicTextPaneUI.h new file mode 100644 index 00000000000..62d9deb3f35 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextPaneUI.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextPaneUI__ +#define __javax_swing_plaf_basic_BasicTextPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTextPaneUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextPaneUI : public ::javax::swing::plaf::basic::BasicEditorPaneUI +{ + +public: + BasicTextPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual void installUI(::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextPaneUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$1.h b/libjava/javax/swing/plaf/basic/BasicTextUI$1.h new file mode 100644 index 00000000000..8736761e504 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$1.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$1__ +#define __javax_swing_plaf_basic_BasicTextUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTextUI; + class BasicTextUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicTextUI$1(::javax::swing::plaf::basic::BasicTextUI *); +public: + void focusGained(::java::awt::event::FocusEvent *); + void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$BasicCaret.h b/libjava/javax/swing/plaf/basic/BasicTextUI$BasicCaret.h new file mode 100644 index 00000000000..c89238e10d4 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$BasicCaret.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$BasicCaret__ +#define __javax_swing_plaf_basic_BasicTextUI$BasicCaret__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTextUI$BasicCaret; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$BasicCaret : public ::javax::swing::text::DefaultCaret +{ + +public: + BasicTextUI$BasicCaret(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$BasicCaret__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.h b/libjava/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.h new file mode 100644 index 00000000000..657f780f93d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$BasicHighlighter.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$BasicHighlighter__ +#define __javax_swing_plaf_basic_BasicTextUI$BasicHighlighter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTextUI$BasicHighlighter; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$BasicHighlighter : public ::javax::swing::text::DefaultHighlighter +{ + +public: + BasicTextUI$BasicHighlighter(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$BasicHighlighter__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h b/libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h new file mode 100644 index 00000000000..38e9f49998a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$DocumentHandler__ +#define __javax_swing_plaf_basic_BasicTextUI$DocumentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace plaf + { + namespace basic + { + class BasicTextUI; + class BasicTextUI$DocumentHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$DocumentHandler : public ::java::lang::Object +{ + +public: // actually package-private + BasicTextUI$DocumentHandler(::javax::swing::plaf::basic::BasicTextUI *); +public: + virtual void changedUpdate(::javax::swing::event::DocumentEvent *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$DocumentHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicTextUI$FocusHandler.h new file mode 100644 index 00000000000..05267889e7a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$FocusHandler.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicTextUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTextUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$FocusHandler : public ::java::lang::Object +{ + + BasicTextUI$FocusHandler(); +public: + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + BasicTextUI$FocusHandler(::javax::swing::plaf::basic::BasicTextUI$FocusHandler *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$Handler.h b/libjava/javax/swing/plaf/basic/BasicTextUI$Handler.h new file mode 100644 index 00000000000..a8ca57be7bd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$Handler.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$Handler__ +#define __javax_swing_plaf_basic_BasicTextUI$Handler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace plaf + { + namespace basic + { + class BasicTextUI; + class BasicTextUI$Handler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$Handler : public ::java::lang::Object +{ + + BasicTextUI$Handler(::javax::swing::plaf::basic::BasicTextUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *); +public: // actually package-private + BasicTextUI$Handler(::javax::swing::plaf::basic::BasicTextUI *, ::javax::swing::plaf::basic::BasicTextUI$Handler *); + ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$Handler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..bba4ad46b7b --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicTextUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTextUI; + class BasicTextUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$PropertyChangeHandler : public ::java::lang::Object +{ + + BasicTextUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTextUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + BasicTextUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTextUI *, ::javax::swing::plaf::basic::BasicTextUI$PropertyChangeHandler *); + ::javax::swing::plaf::basic::BasicTextUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI$RootView.h b/libjava/javax/swing/plaf/basic/BasicTextUI$RootView.h new file mode 100644 index 00000000000..33044598a04 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI$RootView.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI$RootView__ +#define __javax_swing_plaf_basic_BasicTextUI$RootView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace plaf + { + namespace basic + { + class BasicTextUI; + class BasicTextUI$RootView; + } + } + namespace text + { + class AttributeSet; + class Document; + class Position$Bias; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI$RootView : public ::javax::swing::text::View +{ + +public: + BasicTextUI$RootView(::javax::swing::plaf::basic::BasicTextUI *); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); + virtual void preferenceChanged(::javax::swing::text::View *, jboolean, jboolean); + virtual void setView(::javax::swing::text::View *); + virtual ::javax::swing::text::View * getView(jint); + virtual jint getViewCount(); + virtual ::java::awt::Container * getContainer(); + virtual void setSize(jfloat, jfloat); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual jint getNextVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jint getStartOffset(); + virtual jint getEndOffset(); + virtual ::javax::swing::text::Document * getDocument(); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual jfloat getPreferredSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual jfloat getMaximumSpan(jint); +private: + ::javax::swing::text::View * __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) view; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTextUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI$RootView__ diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI.h b/libjava/javax/swing/plaf/basic/BasicTextUI.h new file mode 100644 index 00000000000..f96f1332309 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTextUI.h @@ -0,0 +1,137 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTextUI__ +#define __javax_swing_plaf_basic_BasicTextUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Insets; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class InputMap; + class JComponent; + namespace plaf + { + namespace basic + { + class BasicTextUI; + class BasicTextUI$Handler; + class BasicTextUI$RootView; + } + } + namespace text + { + class Caret; + class EditorKit; + class Element; + class Highlighter; + class JTextComponent; + class Keymap; + class Position$Bias; + class View; + } + } + } +} + +class javax::swing::plaf::basic::BasicTextUI : public ::javax::swing::plaf::TextUI +{ + +public: + BasicTextUI(); +public: // actually protected + virtual ::javax::swing::text::Caret * createCaret(); + virtual ::javax::swing::text::Highlighter * createHighlighter(); + virtual ::javax::swing::text::JTextComponent * getComponent(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); +private: + void installFixedDefaults(); +public: // actually protected + virtual void installListeners(); + virtual ::java::lang::String * getKeymapName(); + virtual ::javax::swing::text::Keymap * createKeymap(); + virtual void installKeyboardActions(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createActionMap(); + ::javax::swing::InputMap * getInputMap(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(); +private: + void uninstallFixedDefaults(); +public: // actually protected + virtual void uninstallListeners(); + virtual void uninstallKeyboardActions(); + virtual ::java::lang::String * getPropertyPrefix() = 0; +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintSafely(::java::awt::Graphics *); + virtual void paintBackground(::java::awt::Graphics *); +public: + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void damageRange(::javax::swing::text::JTextComponent *, jint, jint); + virtual void damageRange(::javax::swing::text::JTextComponent *, jint, jint, ::javax::swing::text::Position$Bias *, ::javax::swing::text::Position$Bias *); + virtual ::javax::swing::text::EditorKit * getEditorKit(::javax::swing::text::JTextComponent *); + virtual jint getNextVisualPositionFrom(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual ::javax::swing::text::View * getRootView(::javax::swing::text::JTextComponent *); + virtual ::java::awt::Rectangle * modelToView(::javax::swing::text::JTextComponent *, jint); + virtual ::java::awt::Rectangle * modelToView(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(::javax::swing::text::JTextComponent *, ::java::awt::Point *); + virtual jint viewToModel(::javax::swing::text::JTextComponent *, ::java::awt::Point *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *, jint, jint); +public: // actually protected + virtual ::java::awt::Rectangle * getVisibleEditorRect(); + virtual void setView(::javax::swing::text::View *); + virtual void modelChanged(); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +private: + static ::java::awt::event::FocusListener * focusListener; + static ::javax::swing::text::EditorKit * kit; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTextUI$Handler * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TextUI)))) handler; + ::javax::swing::plaf::basic::BasicTextUI$RootView * rootView; + ::javax::swing::text::JTextComponent * textComponent; +private: + ::java::awt::Insets * cachedInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTextUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.h b/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.h new file mode 100644 index 00000000000..45a77348c9a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToggleButtonUI__ +#define __javax_swing_plaf_basic_BasicToggleButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicToggleButtonUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToggleButtonUI : public ::javax::swing::plaf::basic::BasicButtonUI +{ + +public: + BasicToggleButtonUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::lang::String * getPropertyPrefix(); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintIcon(::java::awt::Graphics *, ::javax::swing::AbstractButton *, ::java::awt::Rectangle *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToggleButtonUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarSeparatorUI.h b/libjava/javax/swing/plaf/basic/BasicToolBarSeparatorUI.h new file mode 100644 index 00000000000..a277f3293bd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarSeparatorUI.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarSeparatorUI__ +#define __javax_swing_plaf_basic_BasicToolBarSeparatorUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JSeparator; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicToolBarSeparatorUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarSeparatorUI : public ::javax::swing::plaf::basic::BasicSeparatorUI +{ + +public: + BasicToolBarSeparatorUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JSeparator *); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +private: + ::java::awt::Dimension * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicSeparatorUI)))) size; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarSeparatorUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.h new file mode 100644 index 00000000000..36511145a51 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$DockingListener.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$DockingListener__ +#define __javax_swing_plaf_basic_BasicToolBarUI$DockingListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JToolBar; + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$DockingListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$DockingListener : public ::java::lang::Object +{ + +public: + BasicToolBarUI$DockingListener(::javax::swing::plaf::basic::BasicToolBarUI *, ::javax::swing::JToolBar *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) isDragging; + ::java::awt::Point * origin; + ::javax::swing::JToolBar * toolBar; +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$DockingListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.h new file mode 100644 index 00000000000..0545be03f3f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$DragWindow.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$DragWindow__ +#define __javax_swing_plaf_basic_BasicToolBarUI$DragWindow__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + class Insets; + class Point; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$DragWindow; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$DragWindow : public ::java::awt::Window +{ + +public: // actually package-private + BasicToolBarUI$DragWindow(::javax::swing::plaf::basic::BasicToolBarUI *); +public: + virtual ::java::awt::Color * getBorderColor(); + virtual ::java::awt::Insets * getInsets(); + virtual ::java::awt::Point * getOffset(); + virtual void paint(::java::awt::Graphics *); + virtual void setBorderColor(::java::awt::Color *); + virtual void setOffset(::java::awt::Point *); + virtual void setOrientation(jint); +private: + ::java::awt::Color * __attribute__((aligned(__alignof__( ::java::awt::Window)))) borderColor; + ::java::awt::Point * offset; +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$DragWindow__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.h new file mode 100644 index 00000000000..6041d7403fa --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$FrameListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$FrameListener__ +#define __javax_swing_plaf_basic_BasicToolBarUI$FrameListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class WindowEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$FrameListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$FrameListener : public ::java::awt::event::WindowAdapter +{ + +public: // actually protected + BasicToolBarUI$FrameListener(::javax::swing::plaf::basic::BasicToolBarUI *); +public: + virtual void windowClosing(::java::awt::event::WindowEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * __attribute__((aligned(__alignof__( ::java::awt::event::WindowAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$FrameListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.h new file mode 100644 index 00000000000..39dafa84aba --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$PropertyListener.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$PropertyListener__ +#define __javax_swing_plaf_basic_BasicToolBarUI$PropertyListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$PropertyListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$PropertyListener : public ::java::lang::Object +{ + +public: // actually protected + BasicToolBarUI$PropertyListener(::javax::swing::plaf::basic::BasicToolBarUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$PropertyListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.h new file mode 100644 index 00000000000..ff10a58dd0a --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$ToolBarAction__ +#define __javax_swing_plaf_basic_BasicToolBarUI$ToolBarAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI$ToolBarAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$ToolBarAction : public ::javax::swing::AbstractAction +{ + +public: // actually package-private + BasicToolBarUI$ToolBarAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$ToolBarAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.h new file mode 100644 index 00000000000..bcdc5378b59 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarBorder.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$ToolBarBorder__ +#define __javax_swing_plaf_basic_BasicToolBarUI$ToolBarBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI$ToolBarBorder; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$ToolBarBorder : public ::java::lang::Object +{ + + BasicToolBarUI$ToolBarBorder(); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); +private: + void paintBumps(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *); +public: + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static const jint offset = 10; + static const jint regular = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$ToolBarBorder__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.h new file mode 100644 index 00000000000..0b5d6690dbb --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$ToolBarContListener__ +#define __javax_swing_plaf_basic_BasicToolBarUI$ToolBarContListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ContainerEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$ToolBarContListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$ToolBarContListener : public ::java::lang::Object +{ + +public: // actually protected + BasicToolBarUI$ToolBarContListener(::javax::swing::plaf::basic::BasicToolBarUI *); +public: + virtual void componentAdded(::java::awt::event::ContainerEvent *); + virtual void componentRemoved(::java::awt::event::ContainerEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$ToolBarContListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.h new file mode 100644 index 00000000000..b7ee7b89fdc --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarDialog.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$ToolBarDialog__ +#define __javax_swing_plaf_basic_BasicToolBarUI$ToolBarDialog__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$ToolBarDialog; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$ToolBarDialog : public ::javax::swing::JDialog +{ + +public: + BasicToolBarUI$ToolBarDialog(::javax::swing::plaf::basic::BasicToolBarUI *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * __attribute__((aligned(__alignof__( ::javax::swing::JDialog)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$ToolBarDialog__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.h new file mode 100644 index 00000000000..4b5f7de7228 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI$ToolBarFocusListener.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI$ToolBarFocusListener__ +#define __javax_swing_plaf_basic_BasicToolBarUI$ToolBarFocusListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$ToolBarFocusListener; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI$ToolBarFocusListener : public ::java::lang::Object +{ + +public: // actually protected + BasicToolBarUI$ToolBarFocusListener(::javax::swing::plaf::basic::BasicToolBarUI *); +public: + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicToolBarUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI$ToolBarFocusListener__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolBarUI.h b/libjava/javax/swing/plaf/basic/BasicToolBarUI.h new file mode 100644 index 00000000000..3b3c1497818 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolBarUI.h @@ -0,0 +1,170 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolBarUI__ +#define __javax_swing_plaf_basic_BasicToolBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Container; + class Dimension; + class Point; + class Window; + namespace event + { + class ContainerListener; + class FocusListener; + class WindowListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class JComponent; + class JFrame; + class JToolBar; + class KeyStroke; + class RootPaneContainer; + namespace border + { + class Border; + } + namespace event + { + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicToolBarUI; + class BasicToolBarUI$DragWindow; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolBarUI : public ::javax::swing::plaf::ToolBarUI +{ + +public: + BasicToolBarUI(); + virtual jboolean canDock(::java::awt::Component *, ::java::awt::Point *); +private: + jint areaOfClick(::java::awt::Component *, ::java::awt::Point *); +public: // actually protected + virtual ::javax::swing::event::MouseInputListener * createDockingListener(); + virtual ::javax::swing::plaf::basic::BasicToolBarUI$DragWindow * createDragWindow(::javax::swing::JToolBar *); + virtual ::javax::swing::JFrame * createFloatingFrame(::javax::swing::JToolBar *); + virtual ::javax::swing::RootPaneContainer * createFloatingWindow(::javax::swing::JToolBar *); + virtual ::java::awt::event::WindowListener * createFrameListener(); + virtual ::javax::swing::border::Border * createNonRolloverBorder(); + virtual ::java::beans::PropertyChangeListener * createPropertyListener(); + virtual ::javax::swing::border::Border * createRolloverBorder(); + virtual ::java::awt::event::ContainerListener * createToolBarContListener(); + virtual ::java::awt::event::FocusListener * createToolBarFocusListener(); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual void dragTo(::java::awt::Point *, ::java::awt::Point *); + virtual void floatAt(::java::awt::Point *, ::java::awt::Point *); +public: + virtual ::java::awt::Color * getDockingColor(); + virtual ::java::awt::Color * getFloatingColor(); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); +public: // actually protected + virtual void installComponents(); + virtual void installDefaults(); + virtual void installKeyboardActions(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createDefaultActions(); +public: // actually protected + virtual void installListeners(); + virtual void installNonRolloverBorders(::javax::swing::JComponent *); + virtual void installNormalBorders(::javax::swing::JComponent *); + virtual void installRolloverBorders(::javax::swing::JComponent *); +private: + void fillHashtable(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual jboolean isFloating(); + virtual jboolean isRolloverBorders(); +public: // actually protected + virtual void navigateFocusedComp(jint); + virtual void setBorderToNonRollover(::java::awt::Component *); + virtual void setBorderToNormal(::java::awt::Component *); + virtual void setBorderToRollover(::java::awt::Component *); +public: + virtual void setDockingColor(::java::awt::Color *); + virtual void setFloating(jboolean, ::java::awt::Point *); + virtual void setFloatingColor(::java::awt::Color *); + virtual void setFloatingLocation(jint, jint); + virtual void setOrientation(jint); + virtual void setRolloverBorders(jboolean); +public: // actually protected + virtual void uninstallComponents(); + virtual void uninstallDefaults(); + virtual void uninstallKeyboardActions(); + virtual void uninstallListeners(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually package-private + static ::javax::swing::JFrame * owner; +private: + static ::javax::swing::border::Border * nonRolloverBorder; + static ::javax::swing::border::Border * rolloverBorder; +public: // actually protected + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ToolBarUI)))) constraintBeforeFloating; +public: // actually package-private + jint lastGoodOrientation; +public: // actually protected + ::java::awt::Color * dockingBorderColor; + ::java::awt::Color * dockingColor; + ::javax::swing::event::MouseInputListener * dockingListener; + ::javax::swing::plaf::basic::BasicToolBarUI$DragWindow * dragWindow; + ::java::awt::Color * floatingBorderColor; + ::java::awt::Color * floatingColor; + jint focusedCompIndex; + ::java::beans::PropertyChangeListener * propertyListener; + ::javax::swing::JToolBar * toolBar; + ::java::awt::event::ContainerListener * toolBarContListener; + ::java::awt::event::FocusListener * toolBarFocusListener; + ::javax::swing::KeyStroke * leftKey; + ::javax::swing::KeyStroke * rightKey; + ::javax::swing::KeyStroke * upKey; + ::javax::swing::KeyStroke * downKey; +private: + ::java::awt::Window * floatFrame; +public: // actually package-private + ::java::awt::Container * origParent; + ::java::util::Hashtable * borders; +private: + ::java::awt::event::WindowListener * windowListener; +public: // actually package-private + ::java::awt::Dimension * cachedBounds; + jint cachedOrientation; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolBarUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..9bc19d1ba82 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolTipUI$PropertyChangeHandler.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolTipUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicToolTipUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicToolTipUI; + class BasicToolTipUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolTipUI$PropertyChangeHandler : public ::java::lang::Object +{ + + BasicToolTipUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicToolTipUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + BasicToolTipUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicToolTipUI *, ::javax::swing::plaf::basic::BasicToolTipUI$PropertyChangeHandler *); + ::javax::swing::plaf::basic::BasicToolTipUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolTipUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicToolTipUI.h b/libjava/javax/swing/plaf/basic/BasicToolTipUI.h new file mode 100644 index 00000000000..a204e00e1e1 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicToolTipUI.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicToolTipUI__ +#define __javax_swing_plaf_basic_BasicToolTipUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicToolTipUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicToolTipUI : public ::javax::swing::plaf::ToolTipUI +{ + +public: + BasicToolTipUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(::javax::swing::JComponent *); + virtual void installListeners(::javax::swing::JComponent *); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(::javax::swing::JComponent *); + virtual void uninstallListeners(::javax::swing::JComponent *); +public: + virtual void uninstallUI(::javax::swing::JComponent *); +private: + static ::javax::swing::plaf::basic::BasicToolTipUI * shared; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ToolTipUI)))) text; + ::java::beans::PropertyChangeListener * propertyChangeHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicToolTipUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$1.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$1.h new file mode 100644 index 00000000000..944d09abf9d --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$1.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$1__ +#define __javax_swing_plaf_basic_BasicTreeUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$1; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + BasicTreeUI$1(::javax::swing::plaf::basic::BasicTreeUI *); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$1__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$2.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$2.h new file mode 100644 index 00000000000..d71232d451f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$2.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$2__ +#define __javax_swing_plaf_basic_BasicTreeUI$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$2; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$2 : public ::java::lang::Object +{ + +public: // actually package-private + BasicTreeUI$2(::javax::swing::plaf::basic::BasicTreeUI *); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$2__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.h new file mode 100644 index 00000000000..07bc329e3c3 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$CellEditorHandler.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$CellEditorHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$CellEditorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$CellEditorHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$CellEditorHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$CellEditorHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void editingStopped(::javax::swing::event::ChangeEvent *); + virtual void editingCanceled(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$CellEditorHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.h new file mode 100644 index 00000000000..ec6d8185735 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$ComponentHandler.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$ComponentHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$ComponentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + class ComponentEvent; + } + } + } + namespace javax + { + namespace swing + { + class JScrollBar; + class JScrollPane; + class Timer; + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$ComponentHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$ComponentHandler : public ::java::awt::event::ComponentAdapter +{ + +public: + BasicTreeUI$ComponentHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void componentMoved(::java::awt::event::ComponentEvent *); +public: // actually protected + virtual void startTimer(); + virtual ::javax::swing::JScrollPane * getScrollPane(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually protected + ::javax::swing::Timer * __attribute__((aligned(__alignof__( ::java::awt::event::ComponentAdapter)))) timer; + ::javax::swing::JScrollBar * scrollBar; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$ComponentHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.h new file mode 100644 index 00000000000..232e989a2e9 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$FocusHandler.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$FocusHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$FocusHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class FocusEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$FocusHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$FocusHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$FocusHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +public: // actually package-private + virtual void repaintLeadRow(); + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$FocusHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.h new file mode 100644 index 00000000000..2be990a8ea5 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$KeyHandler.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$KeyHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$KeyHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyEvent; + } + } + } + namespace javax + { + namespace swing + { + class Action; + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$KeyHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$KeyHandler : public ::java::awt::event::KeyAdapter +{ + +public: + BasicTreeUI$KeyHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void keyTyped(::java::awt::event::KeyEvent *); +public: // actually package-private + virtual jboolean checkMatch(jint, jchar); +public: + virtual void keyPressed(::java::awt::event::KeyEvent *); + virtual void keyReleased(::java::awt::event::KeyEvent *); +public: // actually protected + ::javax::swing::Action * __attribute__((aligned(__alignof__( ::java::awt::event::KeyAdapter)))) repeatKeyAction; + jboolean isKeyDown; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$KeyHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.h new file mode 100644 index 00000000000..2a0893ba233 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$MouseHandler.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$MouseHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$MouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$MouseHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$MouseHandler : public ::java::awt::event::MouseAdapter +{ + +public: + BasicTreeUI$MouseHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); +private: + void handleEvent(::java::awt::event::MouseEvent *); + jboolean __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) selectedOnPress; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$MouseHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.h new file mode 100644 index 00000000000..574d8b56a50 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$MouseInputHandler.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$MouseInputHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$MouseInputHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$MouseInputHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$MouseInputHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$MouseInputHandler(::javax::swing::plaf::basic::BasicTreeUI *, ::java::awt::Component *, ::java::awt::Component *, ::java::awt::event::MouseEvent *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +public: // actually protected + virtual void removeFromSource(); +private: + void dispatch(::java::awt::event::MouseEvent *); +public: // actually protected + ::java::awt::Component * __attribute__((aligned(__alignof__( ::java::lang::Object)))) source; + ::java::awt::Component * destination; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$MouseInputHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.h new file mode 100644 index 00000000000..352a37067cd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$NodeDimensionsHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$NodeDimensionsHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$NodeDimensionsHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$NodeDimensionsHandler : public ::javax::swing::tree::AbstractLayoutCache$NodeDimensions +{ + +public: + BasicTreeUI$NodeDimensionsHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual ::java::awt::Rectangle * getNodeDimensions(::java::lang::Object *, jint, jint, jboolean, ::java::awt::Rectangle *); +public: // actually protected + virtual jint getRowX(jint, jint); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::javax::swing::tree::AbstractLayoutCache$NodeDimensions)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$NodeDimensionsHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.h new file mode 100644 index 00000000000..54386de9cbd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$PropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$PropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$PropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$PropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$PropertyChangeHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$PropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.h new file mode 100644 index 00000000000..52b52d1c375 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$SelectionModelPropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$SelectionModelPropertyChangeHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$SelectionModelPropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$SelectionModelPropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$SelectionModelPropertyChangeHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$SelectionModelPropertyChangeHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$SelectionModelPropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.h new file mode 100644 index 00000000000..b64ba698eda --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeCancelEditingAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeCancelEditingAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeCancelEditingAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeCancelEditingAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeCancelEditingAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreeCancelEditingAction(::javax::swing::plaf::basic::BasicTreeUI *, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeCancelEditingAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.h new file mode 100644 index 00000000000..52ba7c8bb1f --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeExpansionHandler.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeExpansionHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeExpansionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeExpansionEvent; + } + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeExpansionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeExpansionHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$TreeExpansionHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void treeExpanded(::javax::swing::event::TreeExpansionEvent *); + virtual void treeCollapsed(::javax::swing::event::TreeExpansionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeExpansionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.h new file mode 100644 index 00000000000..1b25c11646c --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeHomeAction.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeHomeAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeHomeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeHomeAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeHomeAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreeHomeAction(::javax::swing::plaf::basic::BasicTreeUI *, jint, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) direction; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeHomeAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.h new file mode 100644 index 00000000000..03ed852179e --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeIncrementAction.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeIncrementAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeIncrementAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeIncrementAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeIncrementAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreeIncrementAction(::javax::swing::plaf::basic::BasicTreeUI *, jint, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) direction; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeIncrementAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.h new file mode 100644 index 00000000000..9ea52685087 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeModelHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeModelHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeModelHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelEvent; + } + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeModelHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeModelHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$TreeModelHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *); + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeModelHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.h new file mode 100644 index 00000000000..5cb1725d4fd --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreePageAction.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreePageAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreePageAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreePageAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreePageAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreePageAction(::javax::swing::plaf::basic::BasicTreeUI *, jint, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) direction; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreePageAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.h new file mode 100644 index 00000000000..73ff33b1c15 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeSelectionHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeSelectionHandler__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeSelectionHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeSelectionEvent; + } + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeSelectionHandler; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeSelectionHandler : public ::java::lang::Object +{ + +public: + BasicTreeUI$TreeSelectionHandler(::javax::swing::plaf::basic::BasicTreeUI *); + virtual void valueChanged(::javax::swing::event::TreeSelectionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeSelectionHandler__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.h new file mode 100644 index 00000000000..fa01f97ddbf --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeStartEditingAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeStartEditingAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeStartEditingAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeStartEditingAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeStartEditingAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreeStartEditingAction(::javax::swing::plaf::basic::BasicTreeUI *, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeStartEditingAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.h new file mode 100644 index 00000000000..59b5c5e2ea6 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeToggleAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeToggleAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeToggleAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeToggleAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeToggleAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreeToggleAction(::javax::swing::plaf::basic::BasicTreeUI *, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeToggleAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.h b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.h new file mode 100644 index 00000000000..617dbd65299 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI$TreeTraverseAction.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI$TreeTraverseAction__ +#define __javax_swing_plaf_basic_BasicTreeUI$TreeTraverseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicTreeUI; + class BasicTreeUI$TreeTraverseAction; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI$TreeTraverseAction : public ::javax::swing::AbstractAction +{ + +public: + BasicTreeUI$TreeTraverseAction(::javax::swing::plaf::basic::BasicTreeUI *, jint, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + virtual jboolean isEnabled(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) direction; +public: // actually package-private + ::javax::swing::plaf::basic::BasicTreeUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI$TreeTraverseAction__ diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI.h b/libjava/javax/swing/plaf/basic/BasicTreeUI.h new file mode 100644 index 00000000000..134cb2f3df8 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicTreeUI.h @@ -0,0 +1,280 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicTreeUI__ +#define __javax_swing_plaf_basic_BasicTreeUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Dimension; + class Graphics; + class Insets; + class Rectangle; + namespace event + { + class ComponentListener; + class FocusListener; + class KeyListener; + class MouseEvent; + class MouseListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class CellRendererPane; + class Icon; + class JComponent; + class JTree; + namespace event + { + class CellEditorListener; + class TreeExpansionListener; + class TreeModelListener; + class TreeSelectionListener; + } + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicTreeUI; + } + } + namespace tree + { + class AbstractLayoutCache; + class AbstractLayoutCache$NodeDimensions; + class TreeCellEditor; + class TreeCellRenderer; + class TreeModel; + class TreePath; + class TreeSelectionModel; + } + } + } +} + +class javax::swing::plaf::basic::BasicTreeUI : public ::javax::swing::plaf::TreeUI +{ + +public: + BasicTreeUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::Color * getHashColor(); + virtual void setHashColor(::java::awt::Color *); +public: + virtual void setLeftChildIndent(jint); + virtual jint getLeftChildIndent(); + virtual void setRightChildIndent(jint); + virtual jint getRightChildIndent(); + virtual void setExpandedIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getExpandedIcon(); + virtual void setCollapsedIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getCollapsedIcon(); +public: // actually protected + virtual void setLargeModel(jboolean); + virtual jboolean isLargeModel(); + virtual void setRowHeight(jint); + virtual jint getRowHeight(); + virtual void setCellRenderer(::javax::swing::tree::TreeCellRenderer *); + virtual ::javax::swing::tree::TreeCellRenderer * getCellRenderer(); + virtual void setModel(::javax::swing::tree::TreeModel *); + virtual ::javax::swing::tree::TreeModel * getModel(); + virtual void setRootVisible(jboolean); + virtual jboolean isRootVisible(); + virtual void setShowsRootHandles(jboolean); + virtual jboolean getShowsRootHandles(); + virtual void setCellEditor(::javax::swing::tree::TreeCellEditor *); + virtual ::javax::swing::tree::TreeCellEditor * getCellEditor(); + virtual void setEditable(jboolean); + virtual jboolean isEditable(); + virtual void setSelectionModel(::javax::swing::tree::TreeSelectionModel *); + virtual ::javax::swing::tree::TreeSelectionModel * getSelectionModel(); +public: + virtual ::java::awt::Rectangle * getPathBounds(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); +public: // actually package-private + virtual jint getMaxHeight(::javax::swing::JTree *); + virtual ::javax::swing::Icon * getNodeIcon(::javax::swing::tree::TreePath *); +public: + virtual ::javax::swing::tree::TreePath * getPathForRow(::javax::swing::JTree *, jint); + virtual jint getRowForPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); + virtual jint getRowCount(::javax::swing::JTree *); + virtual ::javax::swing::tree::TreePath * getClosestPathForLocation(::javax::swing::JTree *, jint, jint); + virtual jboolean isEditing(::javax::swing::JTree *); + virtual jboolean stopEditing(::javax::swing::JTree *); + virtual void cancelEditing(::javax::swing::JTree *); + virtual void startEditingAtPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getEditingPath(::javax::swing::JTree *); +public: // actually protected + virtual void prepareForUIInstall(); + virtual void completeUIInstall(); + virtual void completeUIUninstall(); + virtual void installComponents(); + virtual ::javax::swing::tree::AbstractLayoutCache$NodeDimensions * createNodeDimensions(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::java::awt::event::MouseListener * createMouseListener(); + virtual ::java::awt::event::FocusListener * createFocusListener(); + virtual ::java::awt::event::KeyListener * createKeyListener(); + virtual ::java::beans::PropertyChangeListener * createSelectionModelPropertyChangeListener(); + virtual ::javax::swing::event::TreeSelectionListener * createTreeSelectionListener(); + virtual ::javax::swing::event::CellEditorListener * createCellEditorListener(); + virtual ::java::awt::event::ComponentListener * createComponentListener(); + virtual ::javax::swing::event::TreeExpansionListener * createTreeExpansionListener(); + virtual ::javax::swing::tree::AbstractLayoutCache * createLayoutCache(); + virtual ::javax::swing::CellRendererPane * createCellRendererPane(); + virtual ::javax::swing::tree::TreeCellEditor * createDefaultCellEditor(); + virtual ::javax::swing::tree::TreeCellRenderer * createDefaultCellRenderer(); + virtual ::javax::swing::event::TreeModelListener * createTreeModelListener(); + virtual void uninstallListeners(); + virtual void uninstallKeyboardActions(); + virtual void uninstallComponents(); + virtual jint getVerticalLegBuffer(); + virtual jint getHorizontalLegBuffer(); + virtual void updateLayoutCacheExpandedNodes(); + virtual void updateExpandedDescendants(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getLastChildPath(::javax::swing::tree::TreePath *); + virtual void updateDepthOffset(); + virtual void updateCellEditor(); + virtual void updateRenderer(); + virtual void configureLayoutCache(); + virtual void updateSize(); + virtual void updateCachedPreferredSize(); + virtual void pathWasExpanded(::javax::swing::tree::TreePath *); + virtual void pathWasCollapsed(::javax::swing::tree::TreePath *); + virtual void installDefaults(); + virtual void installKeyboardActions(); +private: + ::javax::swing::ActionMap * getActionMap(); + ::javax::swing::ActionMap * createDefaultActions(); + jint convertModifiers(jint); +public: // actually protected + virtual void installListeners(); +public: + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual void uninstallDefaults(); +public: + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +private: + jboolean isLastChild(::javax::swing::tree::TreePath *); +public: // actually protected + virtual void ensureRowsAreVisible(jint, jint); +public: + virtual void setPreferredMinSize(::java::awt::Dimension *); + virtual ::java::awt::Dimension * getPreferredMinSize(); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *, jboolean); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); +public: // actually protected + virtual void completeEditing(); + virtual void completeEditing(jboolean, jboolean, jboolean); + virtual jboolean startEditing(::javax::swing::tree::TreePath *, ::java::awt::event::MouseEvent *); +private: + void editorRequestFocus(::java::awt::Component *); +public: // actually protected + virtual void checkForClickInExpandControl(::javax::swing::tree::TreePath *, jint, jint); + virtual jboolean isLocationInExpandControl(::javax::swing::tree::TreePath *, jint, jint); + virtual void handleExpandControlClick(::javax::swing::tree::TreePath *, jint, jint); + virtual void toggleExpandState(::javax::swing::tree::TreePath *); + virtual jboolean isToggleSelectionEvent(::java::awt::event::MouseEvent *); + virtual jboolean isMultiSelectEvent(::java::awt::event::MouseEvent *); + virtual jboolean isToggleEvent(::java::awt::event::MouseEvent *); + virtual void selectPathForEvent(::javax::swing::tree::TreePath *, ::java::awt::event::MouseEvent *); + virtual jboolean isLeaf(jint); +public: // actually package-private + virtual jboolean hasControlIcons(); + virtual ::javax::swing::Icon * getCurrentControlIcon(::javax::swing::tree::TreePath *); + virtual ::java::lang::Object * getParent(::java::lang::Object *, ::java::lang::Object *); +private: + ::java::lang::Object * findNode(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + virtual void selectPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); + virtual JArray< ::java::lang::Object * > * getPathToRoot(::java::lang::Object *, jint); +public: // actually protected + virtual void paintVerticalLine(::java::awt::Graphics *, ::javax::swing::JComponent *, jint, jint, jint); + virtual void paintHorizontalLine(::java::awt::Graphics *, ::javax::swing::JComponent *, jint, jint, jint); + virtual void drawCentered(::java::awt::Component *, ::java::awt::Graphics *, ::javax::swing::Icon *, jint, jint); + virtual void drawDashedHorizontalLine(::java::awt::Graphics *, jint, jint, jint); + virtual void drawDashedVerticalLine(::java::awt::Graphics *, jint, jint, jint); + virtual void paintExpandControl(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Insets *, ::java::awt::Rectangle *, ::javax::swing::tree::TreePath *, jint, jboolean, jboolean, jboolean); + virtual void paintHorizontalPartOfLeg(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Insets *, ::java::awt::Rectangle *, ::javax::swing::tree::TreePath *, jint, jboolean, jboolean, jboolean); + virtual void paintVerticalPartOfLeg(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Insets *, ::javax::swing::tree::TreePath *); + virtual void paintRow(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Insets *, ::java::awt::Rectangle *, ::javax::swing::tree::TreePath *, jint, jboolean, jboolean, jboolean); + virtual void prepareForUIUninstall(); + virtual jboolean shouldPaintExpandControl(::javax::swing::tree::TreePath *, jint, jboolean, jboolean, jboolean); + virtual jint getRowX(jint, jint); +public: // actually package-private + static jint WAIT_TILL_EDITING; +public: // actually protected + ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TreeUI)))) collapsedIcon; + ::javax::swing::Icon * expandedIcon; + jint leftChildIndent; + jint rightChildIndent; + jint totalChildIndent; + jint lastSelectedRow; + ::javax::swing::JTree * tree; + ::javax::swing::tree::TreeCellRenderer * currentCellRenderer; + jboolean createdRenderer; + ::javax::swing::tree::TreeCellEditor * cellEditor; + jboolean createdCellEditor; + jboolean stopEditingInCompleteEditing; + ::javax::swing::CellRendererPane * rendererPane; + ::java::awt::Dimension * preferredSize; + ::java::awt::Dimension * preferredMinSize; + jboolean validCachedPreferredSize; + ::javax::swing::tree::AbstractLayoutCache * treeState; + ::java::util::Hashtable * drawingCache; + jboolean largeModel; + ::javax::swing::tree::AbstractLayoutCache$NodeDimensions * nodeDimensions; + ::javax::swing::tree::TreeModel * treeModel; + ::javax::swing::tree::TreeSelectionModel * treeSelectionModel; + jint depthOffset; + ::java::awt::Component * editingComponent; + ::javax::swing::tree::TreePath * editingPath; + jint editingRow; + jboolean editorHasDifferentSize; +public: // actually package-private + jboolean isEditing__; + ::javax::swing::tree::TreePath * currentVisiblePath; + jint gap; + jint maxHeight; + ::java::awt::Color * hashColor; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::java::awt::event::FocusListener * focusListener; + ::javax::swing::event::TreeSelectionListener * treeSelectionListener; + ::java::awt::event::MouseListener * mouseListener; + ::java::awt::event::KeyListener * keyListener; + ::java::beans::PropertyChangeListener * selectionModelPropertyChangeListener; + ::java::awt::event::ComponentListener * componentListener; + ::javax::swing::event::CellEditorListener * cellEditorListener; + ::javax::swing::event::TreeExpansionListener * treeExpansionListener; + ::javax::swing::event::TreeModelListener * treeModelListener; + static ::javax::swing::Icon * nullIcon; + static ::java::awt::event::MouseEvent * EDIT; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicTreeUI__ diff --git a/libjava/javax/swing/plaf/basic/BasicViewportUI.h b/libjava/javax/swing/plaf/basic/BasicViewportUI.h new file mode 100644 index 00000000000..f657f7dc098 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/BasicViewportUI.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_BasicViewportUI__ +#define __javax_swing_plaf_basic_BasicViewportUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicViewportUI; + } + } + } + } +} + +class javax::swing::plaf::basic::BasicViewportUI : public ::javax::swing::plaf::ViewportUI +{ + +public: + BasicViewportUI(); +public: // actually protected + virtual void installDefaults(::javax::swing::JComponent *); + virtual void uninstallDefaults(::javax::swing::JComponent *); +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_BasicViewportUI__ diff --git a/libjava/javax/swing/plaf/basic/ComboPopup.h b/libjava/javax/swing/plaf/basic/ComboPopup.h new file mode 100644 index 00000000000..9f01bedb340 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/ComboPopup.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_ComboPopup__ +#define __javax_swing_plaf_basic_ComboPopup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class KeyListener; + class MouseListener; + class MouseMotionListener; + } + } + } + namespace javax + { + namespace swing + { + class JList; + namespace plaf + { + namespace basic + { + class ComboPopup; + } + } + } + } +} + +class javax::swing::plaf::basic::ComboPopup : public ::java::lang::Object +{ + +public: + virtual void show() = 0; + virtual void hide() = 0; + virtual jboolean isVisible() = 0; + virtual ::javax::swing::JList * getList() = 0; + virtual ::java::awt::event::MouseListener * getMouseListener() = 0; + virtual ::java::awt::event::MouseMotionListener * getMouseMotionListener() = 0; + virtual ::java::awt::event::KeyListener * getKeyListener() = 0; + virtual void uninstallingUI() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_plaf_basic_ComboPopup__ diff --git a/libjava/javax/swing/plaf/basic/DefaultMenuLayout.h b/libjava/javax/swing/plaf/basic/DefaultMenuLayout.h new file mode 100644 index 00000000000..15b06f2a807 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/DefaultMenuLayout.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_DefaultMenuLayout__ +#define __javax_swing_plaf_basic_DefaultMenuLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class DefaultMenuLayout; + } + } + } + } +} + +class javax::swing::plaf::basic::DefaultMenuLayout : public ::javax::swing::BoxLayout +{ + +public: + DefaultMenuLayout(::java::awt::Container *, jint); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_DefaultMenuLayout__ diff --git a/libjava/javax/swing/plaf/basic/SharedUIDefaults.h b/libjava/javax/swing/plaf/basic/SharedUIDefaults.h new file mode 100644 index 00000000000..7db5a2f3b50 --- /dev/null +++ b/libjava/javax/swing/plaf/basic/SharedUIDefaults.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_basic_SharedUIDefaults__ +#define __javax_swing_plaf_basic_SharedUIDefaults__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class SharedUIDefaults; + } + } + } + } +} + +class javax::swing::plaf::basic::SharedUIDefaults : public ::java::lang::Object +{ + +public: + SharedUIDefaults(); +public: // actually package-private + static ::java::lang::Object * get(::java::lang::String *); + static ::java::awt::Color * getColor(::java::lang::String *); +private: + static ::java::util::HashMap * sharedDefaults; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_basic_SharedUIDefaults__ diff --git a/libjava/javax/swing/plaf/metal/DefaultMetalTheme.h b/libjava/javax/swing/plaf/metal/DefaultMetalTheme.h new file mode 100644 index 00000000000..8ce9a8c1b5a --- /dev/null +++ b/libjava/javax/swing/plaf/metal/DefaultMetalTheme.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_DefaultMetalTheme__ +#define __javax_swing_plaf_metal_DefaultMetalTheme__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + class ColorUIResource; + class FontUIResource; + namespace metal + { + class DefaultMetalTheme; + } + } + } + } +} + +class javax::swing::plaf::metal::DefaultMetalTheme : public ::javax::swing::plaf::metal::MetalTheme +{ + +public: + DefaultMetalTheme(); + virtual ::java::lang::String * getName(); +public: // actually protected + virtual ::javax::swing::plaf::ColorUIResource * getPrimary1(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary2(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary3(); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary1(); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary2(); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary3(); +public: + virtual ::javax::swing::plaf::FontUIResource * getControlTextFont(); + virtual ::javax::swing::plaf::FontUIResource * getMenuTextFont(); + virtual ::javax::swing::plaf::FontUIResource * getSubTextFont(); + virtual ::javax::swing::plaf::FontUIResource * getSystemTextFont(); + virtual ::javax::swing::plaf::FontUIResource * getUserTextFont(); + virtual ::javax::swing::plaf::FontUIResource * getWindowTitleFont(); +private: + ::javax::swing::plaf::FontUIResource * getFont(jint); + jboolean isBoldMetal(); + static ::javax::swing::plaf::ColorUIResource * PRIMARY1; + static ::javax::swing::plaf::ColorUIResource * PRIMARY2; + static ::javax::swing::plaf::ColorUIResource * PRIMARY3; + static ::javax::swing::plaf::ColorUIResource * SECONDARY1; + static ::javax::swing::plaf::ColorUIResource * SECONDARY2; + static ::javax::swing::plaf::ColorUIResource * SECONDARY3; + static ::javax::swing::plaf::FontUIResource * SUB_TEXT_FONT; + static ::javax::swing::plaf::FontUIResource * SYSTEM_TEXT_FONT; + static ::javax::swing::plaf::FontUIResource * USER_TEXT_FONT; + static ::javax::swing::plaf::FontUIResource * WINDOW_TITLE_FONT; + static ::javax::swing::plaf::FontUIResource * PLAIN_CONTROL_TEXT_FONT; + static ::javax::swing::plaf::FontUIResource * BOLD_CONTROL_TEXT_FONT; + static ::javax::swing::plaf::FontUIResource * PLAIN_MENU_TEXT_FONT; + static ::javax::swing::plaf::FontUIResource * BOLD_MENU_TEXT_FONT; +public: // actually package-private + static const jint CONTROL_TEXT_FONT = 1; + static const jint MENU_TEXT_FONT = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_DefaultMetalTheme__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$ButtonBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$ButtonBorder.h new file mode 100644 index 00000000000..23e18daddbb --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$ButtonBorder.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$ButtonBorder__ +#define __javax_swing_plaf_metal_MetalBorders$ButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$ButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$ButtonBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$ButtonBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + void paintDefaultButtonBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + void paintOceanButtonBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually protected + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$ButtonBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.h new file mode 100644 index 00000000000..ba3739cf631 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$DesktopIconBorder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$DesktopIconBorder__ +#define __javax_swing_plaf_metal_MetalBorders$DesktopIconBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$DesktopIconBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$DesktopIconBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$DesktopIconBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$DesktopIconBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.h new file mode 100644 index 00000000000..be51edc5bf1 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$Flush3DBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$Flush3DBorder__ +#define __javax_swing_plaf_metal_MetalBorders$Flush3DBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$Flush3DBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$Flush3DBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$Flush3DBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$Flush3DBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.h new file mode 100644 index 00000000000..e85132faef8 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$InternalFrameBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$InternalFrameBorder__ +#define __javax_swing_plaf_metal_MetalBorders$InternalFrameBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$InternalFrameBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$InternalFrameBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$InternalFrameBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$InternalFrameBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.h new file mode 100644 index 00000000000..b42e516e8fb --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$MenuBarBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$MenuBarBorder__ +#define __javax_swing_plaf_metal_MetalBorders$MenuBarBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$MenuBarBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$MenuBarBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$MenuBarBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually protected + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$MenuBarBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.h new file mode 100644 index 00000000000..b339b8758bb --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$MenuItemBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$MenuItemBorder__ +#define __javax_swing_plaf_metal_MetalBorders$MenuItemBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$MenuItemBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$MenuItemBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$MenuItemBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually protected + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$MenuItemBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.h new file mode 100644 index 00000000000..1a04e67ec7e --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$OptionDialogBorder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$OptionDialogBorder__ +#define __javax_swing_plaf_metal_MetalBorders$OptionDialogBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$OptionDialogBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$OptionDialogBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$OptionDialogBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$OptionDialogBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$PaletteBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$PaletteBorder.h new file mode 100644 index 00000000000..853bd4cef7c --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$PaletteBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$PaletteBorder__ +#define __javax_swing_plaf_metal_MetalBorders$PaletteBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$PaletteBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$PaletteBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$PaletteBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$PaletteBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.h new file mode 100644 index 00000000000..cc66966b672 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$PopupMenuBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$PopupMenuBorder__ +#define __javax_swing_plaf_metal_MetalBorders$PopupMenuBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$PopupMenuBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$PopupMenuBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$PopupMenuBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: // actually protected + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$PopupMenuBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.h new file mode 100644 index 00000000000..e34c0cf372e --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$RolloverButtonBorder__ +#define __javax_swing_plaf_metal_MetalBorders$RolloverButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$RolloverButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$RolloverButtonBorder : public ::javax::swing::plaf::metal::MetalBorders$ButtonBorder +{ + +public: + MetalBorders$RolloverButtonBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$RolloverButtonBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.h new file mode 100644 index 00000000000..78e6c4f00c1 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$RolloverMarginBorder__ +#define __javax_swing_plaf_metal_MetalBorders$RolloverMarginBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$RolloverMarginBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$RolloverMarginBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$RolloverMarginBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); +public: // actually protected + static ::java::awt::Insets * borderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$RolloverMarginBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.h new file mode 100644 index 00000000000..d6baf243933 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$ScrollPaneBorder__ +#define __javax_swing_plaf_metal_MetalBorders$ScrollPaneBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$ScrollPaneBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$ScrollPaneBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$ScrollPaneBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + static ::java::awt::Insets * insets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$ScrollPaneBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.h new file mode 100644 index 00000000000..94874119183 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$TableHeaderBorder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$TableHeaderBorder__ +#define __javax_swing_plaf_metal_MetalBorders$TableHeaderBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$TableHeaderBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$TableHeaderBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$TableHeaderBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: // actually protected + ::java::awt::Insets * __attribute__((aligned(__alignof__( ::javax::swing::border::AbstractBorder)))) editorBorderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$TableHeaderBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.h new file mode 100644 index 00000000000..de1e4e7d864 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$TextFieldBorder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$TextFieldBorder__ +#define __javax_swing_plaf_metal_MetalBorders$TextFieldBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$TextFieldBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$TextFieldBorder : public ::javax::swing::plaf::metal::MetalBorders$Flush3DBorder +{ + +public: + MetalBorders$TextFieldBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$TextFieldBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.h new file mode 100644 index 00000000000..6d9f3de5c03 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$ToggleButtonBorder__ +#define __javax_swing_plaf_metal_MetalBorders$ToggleButtonBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$ToggleButtonBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$ToggleButtonBorder : public ::javax::swing::plaf::metal::MetalBorders$ButtonBorder +{ + +public: + MetalBorders$ToggleButtonBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$ToggleButtonBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.h b/libjava/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.h new file mode 100644 index 00000000000..da97e79e506 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders$ToolBarBorder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders$ToolBarBorder__ +#define __javax_swing_plaf_metal_MetalBorders$ToolBarBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$ToolBarBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders$ToolBarBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalBorders$ToolBarBorder(); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders$ToolBarBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalBorders.h b/libjava/javax/swing/plaf/metal/MetalBorders.h new file mode 100644 index 00000000000..63101bfb525 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalBorders.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalBorders__ +#define __javax_swing_plaf_metal_MetalBorders__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + namespace basic + { + class BasicBorders$MarginBorder; + } + namespace metal + { + class MetalBorders; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalBorders : public ::java::lang::Object +{ + +public: + MetalBorders(); + static ::javax::swing::border::Border * getButtonBorder(); + static ::javax::swing::border::Border * getToggleButtonBorder(); + static ::javax::swing::border::Border * getDesktopIconBorder(); + static ::javax::swing::border::Border * getTextFieldBorder(); + static ::javax::swing::border::Border * getTextBorder(); +public: // actually package-private + static ::javax::swing::border::Border * getToolbarButtonBorder(); + static ::javax::swing::border::Border * getMarginBorder(); + static ::javax::swing::border::Border * getRolloverBorder(); +private: + static ::javax::swing::border::Border * buttonBorder; + static ::javax::swing::border::Border * toggleButtonBorder; + static ::javax::swing::border::Border * desktopIconBorder; + static ::javax::swing::border::Border * toolbarButtonBorder; + static ::javax::swing::border::Border * textFieldBorder; + static ::javax::swing::border::Border * textBorder; + static ::javax::swing::border::Border * rolloverBorder; + static ::javax::swing::plaf::basic::BasicBorders$MarginBorder * marginBorder; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalBorders__ diff --git a/libjava/javax/swing/plaf/metal/MetalButtonListener.h b/libjava/javax/swing/plaf/metal/MetalButtonListener.h new file mode 100644 index 00000000000..0beeef1718a --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalButtonListener.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalButtonListener__ +#define __javax_swing_plaf_metal_MetalButtonListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + namespace plaf + { + namespace metal + { + class MetalButtonListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalButtonListener : public ::javax::swing::plaf::basic::BasicButtonListener +{ + +public: + MetalButtonListener(::javax::swing::AbstractButton *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalButtonListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalButtonUI.h b/libjava/javax/swing/plaf/metal/MetalButtonUI.h new file mode 100644 index 00000000000..d2e6ced26a1 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalButtonUI.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalButtonUI__ +#define __javax_swing_plaf_metal_MetalButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalButtonUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalButtonUI : public ::javax::swing::plaf::basic::BasicButtonUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + MetalButtonUI(); +public: // actually protected + virtual ::java::awt::Color * getFocusColor(); + virtual ::java::awt::Color * getSelectColor(); + virtual ::java::awt::Color * getDisabledTextColor(); +public: + virtual void installDefaults(::javax::swing::AbstractButton *); + virtual void uninstallDefaults(::javax::swing::AbstractButton *); +public: // actually protected + virtual void paintButtonPressed(::java::awt::Graphics *, ::javax::swing::AbstractButton *); + virtual void paintFocus(::java::awt::Graphics *, ::javax::swing::AbstractButton *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *); + virtual void paintText(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *, ::java::lang::String *); +public: + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); +private: + jboolean isToolbarButton(::java::awt::Component *); + jboolean isDrawingGradient(::java::lang::String *); + static ::javax::swing::plaf::metal::MetalButtonUI * sharedUI; +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicButtonUI)))) focusColor; + ::java::awt::Color * selectColor; + ::java::awt::Color * disabledTextColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalButtonUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalCheckBoxIcon.h b/libjava/javax/swing/plaf/metal/MetalCheckBoxIcon.h new file mode 100644 index 00000000000..b30ae97ba21 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalCheckBoxIcon.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalCheckBoxIcon__ +#define __javax_swing_plaf_metal_MetalCheckBoxIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalBorders$ButtonBorder; + class MetalCheckBoxIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalCheckBoxIcon : public ::java::lang::Object +{ + +public: + MetalCheckBoxIcon(); +public: // actually protected + virtual void drawCheck(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + virtual jint getControlSize(); +public: + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + ::javax::swing::plaf::metal::MetalBorders$ButtonBorder * __attribute__((aligned(__alignof__( ::java::lang::Object)))) border; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalCheckBoxIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalCheckBoxUI.h b/libjava/javax/swing/plaf/metal/MetalCheckBoxUI.h new file mode 100644 index 00000000000..fff6cd27ef1 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalCheckBoxUI.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalCheckBoxUI__ +#define __javax_swing_plaf_metal_MetalCheckBoxUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalCheckBoxUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalCheckBoxUI : public ::javax::swing::plaf::metal::MetalRadioButtonUI +{ + +public: + MetalCheckBoxUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::lang::String * getPropertyPrefix(); +private: + static ::javax::swing::plaf::metal::MetalCheckBoxUI * instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalCheckBoxUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxButton.h b/libjava/javax/swing/plaf/metal/MetalComboBoxButton.h new file mode 100644 index 00000000000..000e755fbe0 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxButton.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxButton__ +#define __javax_swing_plaf_metal_MetalComboBoxButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class CellRendererPane; + class Icon; + class JComboBox; + class JList; + namespace plaf + { + namespace metal + { + class MetalComboBoxButton; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxButton : public ::javax::swing::JButton +{ + +public: + MetalComboBoxButton(::javax::swing::JComboBox *, ::javax::swing::Icon *, ::javax::swing::CellRendererPane *, ::javax::swing::JList *); + MetalComboBoxButton(::javax::swing::JComboBox *, ::javax::swing::Icon *, jboolean, ::javax::swing::CellRendererPane *, ::javax::swing::JList *); + virtual ::javax::swing::JComboBox * getComboBox(); + virtual void setComboBox(::javax::swing::JComboBox *); + virtual ::javax::swing::Icon * getComboIcon(); + virtual void setComboIcon(::javax::swing::Icon *); + virtual jboolean isIconOnly(); + virtual void setIconOnly(jboolean); + virtual jboolean isFocusTraversable(); + virtual void setEnabled(jboolean); + virtual void paintComponent(::java::awt::Graphics *); +public: // actually protected + ::javax::swing::JComboBox * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) comboBox; + ::javax::swing::JList * listBox; + ::javax::swing::CellRendererPane * rendererPane; + ::javax::swing::Icon * comboIcon; + jboolean iconOnly; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxButton__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.h b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.h new file mode 100644 index 00000000000..501e1386457 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$EditorTextField.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxEditor$EditorTextField__ +#define __javax_swing_plaf_metal_MetalComboBoxEditor$EditorTextField__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxEditor; + class MetalComboBoxEditor$EditorTextField; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxEditor$EditorTextField : public ::javax::swing::JTextField +{ + +public: // actually package-private + MetalComboBoxEditor$EditorTextField(::javax::swing::plaf::metal::MetalComboBoxEditor *, ::java::lang::String *, jint); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMinimumSize(); +public: // actually package-private + ::javax::swing::plaf::metal::MetalComboBoxEditor * __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxEditor$EditorTextField__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.h b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.h new file mode 100644 index 00000000000..4f8166c503b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$MetalComboBoxEditorBorder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxEditor$MetalComboBoxEditorBorder__ +#define __javax_swing_plaf_metal_MetalComboBoxEditor$MetalComboBoxEditorBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxEditor$MetalComboBoxEditorBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxEditor$MetalComboBoxEditorBorder : public ::javax::swing::border::AbstractBorder +{ + +public: + MetalComboBoxEditor$MetalComboBoxEditorBorder(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxEditor$MetalComboBoxEditorBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.h b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.h new file mode 100644 index 00000000000..edf8097d42d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor$UIResource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxEditor$UIResource__ +#define __javax_swing_plaf_metal_MetalComboBoxEditor$UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxEditor$UIResource; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxEditor$UIResource : public ::javax::swing::plaf::metal::MetalComboBoxEditor +{ + +public: + MetalComboBoxEditor$UIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxEditor$UIResource__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxEditor.h b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor.h new file mode 100644 index 00000000000..89d3edfe4af --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxEditor.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxEditor__ +#define __javax_swing_plaf_metal_MetalComboBoxEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxEditor; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxEditor : public ::javax::swing::plaf::basic::BasicComboBoxEditor +{ + +public: + MetalComboBoxEditor(); +public: // actually protected + static ::java::awt::Insets * editorBorderInsets; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxEditor__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxIcon.h b/libjava/javax/swing/plaf/metal/MetalComboBoxIcon.h new file mode 100644 index 00000000000..a51d9aa3cf4 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxIcon__ +#define __javax_swing_plaf_metal_MetalComboBoxIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxIcon : public ::java::lang::Object +{ + +public: + MetalComboBoxIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.h b/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.h new file mode 100644 index 00000000000..d2a909c445d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxUI$MetalComboBoxLayoutManager__ +#define __javax_swing_plaf_metal_MetalComboBoxUI$MetalComboBoxLayoutManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxUI; + class MetalComboBoxUI$MetalComboBoxLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxUI$MetalComboBoxLayoutManager : public ::javax::swing::plaf::basic::BasicComboBoxUI$ComboBoxLayoutManager +{ + +public: + MetalComboBoxUI$MetalComboBoxLayoutManager(::javax::swing::plaf::metal::MetalComboBoxUI *); + virtual void layoutContainer(::java::awt::Container *); + virtual void superLayout(::java::awt::Container *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalComboBoxUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicComboBoxUI$ComboBoxLayoutManager)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxUI$MetalComboBoxLayoutManager__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.h b/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.h new file mode 100644 index 00000000000..ac9789ff0d2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalComboPopup.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxUI$MetalComboPopup__ +#define __javax_swing_plaf_metal_MetalComboBoxUI$MetalComboPopup__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JComboBox; + namespace plaf + { + namespace metal + { + class MetalComboBoxUI; + class MetalComboBoxUI$MetalComboPopup; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxUI$MetalComboPopup : public ::javax::swing::plaf::basic::BasicComboPopup +{ + +public: + MetalComboBoxUI$MetalComboPopup(::javax::swing::plaf::metal::MetalComboBoxUI *, ::javax::swing::JComboBox *); + virtual void delegateFocus(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalComboBoxUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicComboPopup)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxUI$MetalComboPopup__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.h b/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.h new file mode 100644 index 00000000000..fee1da1a459 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxUI$MetalPropertyChangeListener__ +#define __javax_swing_plaf_metal_MetalComboBoxUI$MetalPropertyChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalComboBoxUI; + class MetalComboBoxUI$MetalPropertyChangeListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxUI$MetalPropertyChangeListener : public ::javax::swing::plaf::basic::BasicComboBoxUI$PropertyChangeHandler +{ + +public: + MetalComboBoxUI$MetalPropertyChangeListener(::javax::swing::plaf::metal::MetalComboBoxUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalComboBoxUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicComboBoxUI$PropertyChangeHandler)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxUI$MetalPropertyChangeListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalComboBoxUI.h b/libjava/javax/swing/plaf/metal/MetalComboBoxUI.h new file mode 100644 index 00000000000..047d1442b05 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalComboBoxUI.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalComboBoxUI__ +#define __javax_swing_plaf_metal_MetalComboBoxUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Dimension; + class Graphics; + class LayoutManager; + } + namespace beans + { + class PropertyChangeEvent; + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ComboBoxEditor; + class JButton; + class JComboBox; + class JComponent; + class JList; + namespace plaf + { + class ComponentUI; + namespace basic + { + class ComboPopup; + } + namespace metal + { + class MetalComboBoxUI; + class MetalComboBoxUI$MetalComboBoxLayoutManager; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalComboBoxUI : public ::javax::swing::plaf::basic::BasicComboBoxUI +{ + +public: + MetalComboBoxUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::javax::swing::ComboBoxEditor * createEditor(); + virtual ::javax::swing::plaf::basic::ComboPopup * createPopup(); + virtual ::javax::swing::JButton * createArrowButton(); +public: + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void editablePropertyChanged(::java::beans::PropertyChangeEvent *); + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual void removeListeners(); +public: + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual void configureEditor(); + virtual void unconfigureEditor(); + virtual void layoutComboBox(::java::awt::Container *, ::javax::swing::plaf::metal::MetalComboBoxUI$MetalComboBoxLayoutManager *); +public: // actually package-private + static ::javax::swing::JButton * access$0(::javax::swing::plaf::metal::MetalComboBoxUI *); + static ::javax::swing::JComboBox * access$1(::javax::swing::plaf::metal::MetalComboBoxUI *); + static ::javax::swing::JList * access$2(::javax::swing::plaf::metal::MetalComboBoxUI *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalComboBoxUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalDesktopIconUI.h b/libjava/javax/swing/plaf/metal/MetalDesktopIconUI.h new file mode 100644 index 00000000000..1b1de7b5776 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalDesktopIconUI.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalDesktopIconUI__ +#define __javax_swing_plaf_metal_MetalDesktopIconUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalDesktopIconUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalDesktopIconUI : public ::javax::swing::plaf::basic::BasicDesktopIconUI +{ + +public: + MetalDesktopIconUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalDesktopIconUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.h new file mode 100644 index 00000000000..9900aed3910 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$ButtonLayout.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$ButtonLayout__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$ButtonLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$ButtonLayout; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$ButtonLayout : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$ButtonLayout(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + static const jint GAP = 4; + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$ButtonLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.h new file mode 100644 index 00000000000..92fac4ca2f9 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DetailViewActionListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$DetailViewActionListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$DetailViewActionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$DetailViewActionListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$DetailViewActionListener : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$DetailViewActionListener(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$DetailViewActionListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.h new file mode 100644 index 00000000000..da666e12989 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxAction__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$DirectoryComboBoxAction; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$DirectoryComboBoxAction : public ::javax::swing::AbstractAction +{ + +public: // actually protected + MetalFileChooserUI$DirectoryComboBoxAction(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxAction__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.h new file mode 100644 index 00000000000..27a72e053e6 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxModel.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxModel__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$DirectoryComboBoxModel; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$DirectoryComboBoxModel : public ::javax::swing::AbstractListModel +{ + +public: + MetalFileChooserUI$DirectoryComboBoxModel(::javax::swing::plaf::metal::MetalFileChooserUI *); + virtual jint getSize(); + virtual ::java::lang::Object * getElementAt(jint); + virtual jint getDepth(jint); + virtual ::java::lang::Object * getSelectedItem(); + virtual void setSelectedItem(::java::lang::Object *); +private: + ::java::util::List * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) items; + jint selectedIndex; +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxModel__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.h new file mode 100644 index 00000000000..6e88691ae5b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$DirectoryComboBoxRenderer.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxRenderer__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JFileChooser; + class JList; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$DirectoryComboBoxRenderer; + class MetalFileChooserUI$IndentIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$DirectoryComboBoxRenderer : public ::javax::swing::DefaultListCellRenderer +{ + +public: + MetalFileChooserUI$DirectoryComboBoxRenderer(::javax::swing::plaf::metal::MetalFileChooserUI *, ::javax::swing::JFileChooser *); + virtual ::java::awt::Component * getListCellRendererComponent(::javax::swing::JList *, ::java::lang::Object *, jint, jboolean, jboolean); +private: + ::javax::swing::plaf::metal::MetalFileChooserUI$IndentIcon * __attribute__((aligned(__alignof__( ::javax::swing::DefaultListCellRenderer)))) indentIcon; +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$DirectoryComboBoxRenderer__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.h new file mode 100644 index 00000000000..235c7c968c4 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FileRenderer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$FileRenderer__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$FileRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JList; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$FileRenderer; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$FileRenderer : public ::javax::swing::DefaultListCellRenderer +{ + +public: // actually protected + MetalFileChooserUI$FileRenderer(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual ::java::awt::Component * getListCellRendererComponent(::javax::swing::JList *, ::java::lang::Object *, jint, jboolean, jboolean); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::DefaultListCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$FileRenderer__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.h new file mode 100644 index 00000000000..48ce51fe151 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxModel.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$FilterComboBoxModel__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$FilterComboBoxModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace filechooser + { + class FileFilter; + } + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$FilterComboBoxModel; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$FilterComboBoxModel : public ::javax::swing::AbstractListModel +{ + +public: // actually protected + MetalFileChooserUI$FilterComboBoxModel(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void setSelectedItem(::java::lang::Object *); + virtual ::java::lang::Object * getSelectedItem(); + virtual jint getSize(); + virtual ::java::lang::Object * getElementAt(jint); +public: // actually protected + JArray< ::javax::swing::filechooser::FileFilter * > * __attribute__((aligned(__alignof__( ::javax::swing::AbstractListModel)))) filters; +private: + ::java::lang::Object * selected; +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$FilterComboBoxModel__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.h new file mode 100644 index 00000000000..60260fa49ce --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$FilterComboBoxRenderer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$FilterComboBoxRenderer__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$FilterComboBoxRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JList; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$FilterComboBoxRenderer; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$FilterComboBoxRenderer : public ::javax::swing::DefaultListCellRenderer +{ + +public: + MetalFileChooserUI$FilterComboBoxRenderer(::javax::swing::plaf::metal::MetalFileChooserUI *); + virtual ::java::awt::Component * getListCellRendererComponent(::javax::swing::JList *, ::java::lang::Object *, jint, jboolean, jboolean); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::DefaultListCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$FilterComboBoxRenderer__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.h new file mode 100644 index 00000000000..c1b25f6718c --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$IndentIcon.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$IndentIcon__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$IndentIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$IndentIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$IndentIcon : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$IndentIcon(::javax::swing::plaf::metal::MetalFileChooserUI *); + virtual void setIcon(::javax::swing::Icon *); + virtual void setDepth(jint); +public: + virtual jint getIconHeight(); + virtual jint getIconWidth(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +private: + static const jint INDENT = 10; + ::javax::swing::Icon * __attribute__((aligned(__alignof__( ::java::lang::Object)))) icon; + jint depth; +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$IndentIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.h new file mode 100644 index 00000000000..79b8f71ef31 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$ListViewActionListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$ListViewActionListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$ListViewActionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$ListViewActionListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$ListViewActionListener : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$ListViewActionListener(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$ListViewActionListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.h new file mode 100644 index 00000000000..7c0368ca90b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserPropertyChangeListener.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$MetalFileChooserPropertyChangeListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$MetalFileChooserPropertyChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$MetalFileChooserPropertyChangeListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$MetalFileChooserPropertyChangeListener : public ::java::lang::Object +{ + +public: + MetalFileChooserUI$MetalFileChooserPropertyChangeListener(::javax::swing::plaf::metal::MetalFileChooserUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$MetalFileChooserPropertyChangeListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.h new file mode 100644 index 00000000000..460f121b92e --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$MetalFileChooserSelectionListener.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$MetalFileChooserSelectionListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$MetalFileChooserSelectionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ListSelectionEvent; + } + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$MetalFileChooserSelectionListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$MetalFileChooserSelectionListener : public ::java::lang::Object +{ + +public: // actually protected + MetalFileChooserUI$MetalFileChooserSelectionListener(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$MetalFileChooserSelectionListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.h new file mode 100644 index 00000000000..02fe27e49dd --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener$EditingActionListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$SingleClickListener$EditingActionListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$SingleClickListener$EditingActionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI$SingleClickListener; + class MetalFileChooserUI$SingleClickListener$EditingActionListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$SingleClickListener$EditingActionListener : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$SingleClickListener$EditingActionListener(::javax::swing::plaf::metal::MetalFileChooserUI$SingleClickListener *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI$SingleClickListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$SingleClickListener$EditingActionListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.h new file mode 100644 index 00000000000..66c7b0d10f0 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$SingleClickListener.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$SingleClickListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$SingleClickListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JFileChooser; + class JList; + class JTextField; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$SingleClickListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$SingleClickListener : public ::java::awt::event::MouseAdapter +{ + +public: + MetalFileChooserUI$SingleClickListener(::javax::swing::plaf::metal::MetalFileChooserUI *, ::javax::swing::JList *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual void editFile(jint); + virtual void completeEditing(); + ::javax::swing::JList * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) list; + ::java::io::File * editFile__; + ::javax::swing::JFileChooser * fc; + ::java::lang::Object * lastSelected; + ::javax::swing::JTextField * editField; + ::javax::swing::plaf::metal::MetalFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$SingleClickListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.h new file mode 100644 index 00000000000..bacd2d07e89 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener$EditingActionListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$TableClickListener$EditingActionListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$TableClickListener$EditingActionListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI$TableClickListener; + class MetalFileChooserUI$TableClickListener$EditingActionListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$TableClickListener$EditingActionListener : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$TableClickListener$EditingActionListener(::javax::swing::plaf::metal::MetalFileChooserUI$TableClickListener *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI$TableClickListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$TableClickListener$EditingActionListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.h new file mode 100644 index 00000000000..2e536e45637 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableClickListener.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$TableClickListener__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$TableClickListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JFileChooser; + class JTable; + class JTextField; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$TableClickListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$TableClickListener : public ::java::awt::event::MouseAdapter +{ + +public: + MetalFileChooserUI$TableClickListener(::javax::swing::plaf::metal::MetalFileChooserUI *, ::javax::swing::JTable *, ::javax::swing::JFileChooser *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); +public: // actually package-private + virtual void editFile(jint); + virtual void completeEditing(); +public: + virtual void closeDialog(); +public: // actually package-private + ::javax::swing::JTable * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) table; + ::javax::swing::JFileChooser * fc; + ::java::lang::Object * lastSelected; + ::java::io::File * editFile__; + ::javax::swing::JTextField * editField; + ::javax::swing::plaf::metal::MetalFileChooserUI * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$TableClickListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.h new file mode 100644 index 00000000000..e5b5029f733 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$TableFileRenderer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$TableFileRenderer__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$TableFileRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$TableFileRenderer; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$TableFileRenderer : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: + MetalFileChooserUI$TableFileRenderer(::javax::swing::plaf::metal::MetalFileChooserUI *); + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::javax::swing::table::DefaultTableCellRenderer)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$TableFileRenderer__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.h new file mode 100644 index 00000000000..64f4be6c619 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI$VerticalMidLayout.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI$VerticalMidLayout__ +#define __javax_swing_plaf_metal_MetalFileChooserUI$VerticalMidLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$VerticalMidLayout; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI$VerticalMidLayout : public ::java::lang::Object +{ + +public: // actually package-private + MetalFileChooserUI$VerticalMidLayout(::javax::swing::plaf::metal::MetalFileChooserUI *); +public: + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI$VerticalMidLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalFileChooserUI.h b/libjava/javax/swing/plaf/metal/MetalFileChooserUI.h new file mode 100644 index 00000000000..cf8ceae94e4 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalFileChooserUI.h @@ -0,0 +1,159 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalFileChooserUI__ +#define __javax_swing_plaf_metal_MetalFileChooserUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + namespace event + { + class MouseListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class ActionMap; + class JButton; + class JComboBox; + class JComponent; + class JFileChooser; + class JLabel; + class JList; + class JPanel; + class JScrollPane; + class JTable; + class JTextField; + namespace event + { + class ListSelectionEvent; + class ListSelectionListener; + } + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalFileChooserUI; + class MetalFileChooserUI$DirectoryComboBoxModel; + class MetalFileChooserUI$DirectoryComboBoxRenderer; + class MetalFileChooserUI$FilterComboBoxModel; + class MetalFileChooserUI$FilterComboBoxRenderer; + class MetalFileChooserUI$SingleClickListener; + class MetalFileChooserUI$TableClickListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalFileChooserUI : public ::javax::swing::plaf::basic::BasicFileChooserUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + MetalFileChooserUI(::javax::swing::JFileChooser *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void installComponents(::javax::swing::JFileChooser *); + virtual void uninstallComponents(::javax::swing::JFileChooser *); +public: // actually protected + virtual ::javax::swing::JPanel * getButtonPanel(); + virtual ::javax::swing::JPanel * getBottomPanel(); + virtual void installStrings(::javax::swing::JFileChooser *); + virtual void installListeners(::javax::swing::JFileChooser *); + virtual void uninstallListeners(::javax::swing::JFileChooser *); + virtual ::javax::swing::ActionMap * getActionMap(); + virtual ::javax::swing::ActionMap * createActionMap(); + virtual ::javax::swing::JPanel * createList(::javax::swing::JFileChooser *); + virtual ::javax::swing::JPanel * createDetailsView(::javax::swing::JFileChooser *); +public: // actually package-private + virtual ::javax::swing::JPanel * updateTable(); +private: + ::java::lang::String * formatSize(jlong); +public: + virtual ::javax::swing::event::ListSelectionListener * createListSelectionListener(::javax::swing::JFileChooser *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(::javax::swing::JFileChooser *); +public: // actually protected + virtual ::javax::swing::plaf::metal::MetalFileChooserUI$DirectoryComboBoxModel * createDirectoryComboBoxModel(::javax::swing::JFileChooser *); + virtual ::javax::swing::plaf::metal::MetalFileChooserUI$DirectoryComboBoxRenderer * createDirectoryComboBoxRenderer(::javax::swing::JFileChooser *); + virtual ::javax::swing::plaf::metal::MetalFileChooserUI$FilterComboBoxModel * createFilterComboBoxModel(); + virtual ::javax::swing::plaf::metal::MetalFileChooserUI$FilterComboBoxRenderer * createFilterComboBoxRenderer(); + virtual void addControlButtons(); + virtual void removeControlButtons(); +public: + virtual void rescanCurrentDirectory(::javax::swing::JFileChooser *); + virtual ::java::lang::String * getFileName(); + virtual void setFileName(::java::lang::String *); + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually protected + virtual ::javax::swing::JButton * getApproveButton(::javax::swing::JFileChooser *); +public: // actually package-private + static void access$0(::javax::swing::plaf::metal::MetalFileChooserUI *, ::java::lang::String *); + static ::java::lang::String * access$1(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::java::lang::String * access$2(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::java::lang::String * access$3(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::java::lang::String * access$4(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::java::lang::String * access$5(::javax::swing::plaf::metal::MetalFileChooserUI *); + static void access$6(::javax::swing::plaf::metal::MetalFileChooserUI *, jboolean); + static void access$7(::javax::swing::plaf::metal::MetalFileChooserUI *, ::java::io::File *); + static ::javax::swing::plaf::metal::MetalFileChooserUI$FilterComboBoxModel * access$8(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::javax::swing::JButton * access$9(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::javax::swing::JPanel * access$10(::javax::swing::plaf::metal::MetalFileChooserUI *); + static ::javax::swing::JPanel * access$11(::javax::swing::plaf::metal::MetalFileChooserUI *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicFileChooserUI)))) directoryLabel; + ::javax::swing::JComboBox * directoryComboBox; +public: // actually package-private + ::javax::swing::plaf::metal::MetalFileChooserUI$DirectoryComboBoxModel * directoryModel; +private: + ::java::lang::String * fileLabel; + ::javax::swing::JTextField * fileTextField; + ::java::lang::String * filterLabel; + ::javax::swing::JPanel * topPanel; + ::javax::swing::JPanel * controls; + ::javax::swing::JPanel * bottomPanel; + ::javax::swing::JPanel * buttonPanel; + ::javax::swing::JButton * approveButton; +public: // actually package-private + ::javax::swing::JList * fileList; + ::javax::swing::JTable * fileTable; + ::javax::swing::JPanel * fileListPanel; + ::javax::swing::JPanel * fileTablePanel; +private: + ::javax::swing::plaf::metal::MetalFileChooserUI$FilterComboBoxModel * filterModel; + ::javax::swing::ActionMap * actionMap; +public: // actually package-private + jboolean listView; + jboolean startEditing; + ::javax::swing::JScrollPane * scrollPane; + ::java::lang::String * save; + ::java::lang::String * look; + ::javax::swing::JLabel * dirLabel; + ::javax::swing::event::ListSelectionListener * listSelList; + ::java::awt::event::MouseListener * doubleClickList; + ::javax::swing::plaf::metal::MetalFileChooserUI$SingleClickListener * singleClickList; + ::javax::swing::plaf::metal::MetalFileChooserUI$TableClickListener * tableClickList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalFileChooserUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$1.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$1.h new file mode 100644 index 00000000000..e57034fa61a --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$1.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$1__ +#define __javax_swing_plaf_metal_MetalIconFactory$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$1; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$1 : public ::java::lang::Object +{ + +public: // actually package-private + MetalIconFactory$1(); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$1__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$2.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$2.h new file mode 100644 index 00000000000..3f359f80e6a --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$2.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$2__ +#define __javax_swing_plaf_metal_MetalIconFactory$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$2; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$2 : public ::java::lang::Object +{ + +public: // actually package-private + MetalIconFactory$2(); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$2__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$3.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$3.h new file mode 100644 index 00000000000..f86819ac917 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$3.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$3__ +#define __javax_swing_plaf_metal_MetalIconFactory$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$3; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$3 : public ::java::lang::Object +{ + +public: // actually package-private + MetalIconFactory$3(); +public: + jint getIconHeight(); + jint getIconWidth(); + void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$3__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.h new file mode 100644 index 00000000000..0625a9b249e --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$CheckBoxMenuItemIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$CheckBoxMenuItemIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$CheckBoxMenuItemIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$CheckBoxMenuItemIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$CheckBoxMenuItemIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$CheckBoxMenuItemIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.h new file mode 100644 index 00000000000..67b065fb412 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserDetailViewIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FileChooserDetailViewIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$FileChooserDetailViewIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FileChooserDetailViewIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FileChooserDetailViewIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$FileChooserDetailViewIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FileChooserDetailViewIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.h new file mode 100644 index 00000000000..5395249ab7b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserHomeFolderIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FileChooserHomeFolderIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$FileChooserHomeFolderIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FileChooserHomeFolderIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FileChooserHomeFolderIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$FileChooserHomeFolderIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FileChooserHomeFolderIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.h new file mode 100644 index 00000000000..d1e479a83fc --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserListViewIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FileChooserListViewIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$FileChooserListViewIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FileChooserListViewIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FileChooserListViewIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$FileChooserListViewIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FileChooserListViewIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.h new file mode 100644 index 00000000000..f34373e9565 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserNewFolderIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FileChooserNewFolderIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$FileChooserNewFolderIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FileChooserNewFolderIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FileChooserNewFolderIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$FileChooserNewFolderIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FileChooserNewFolderIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.h new file mode 100644 index 00000000000..ad83e262363 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileChooserUpFolderIcon.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FileChooserUpFolderIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$FileChooserUpFolderIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FileChooserUpFolderIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FileChooserUpFolderIcon : public ::javax::swing::plaf::metal::MetalIconFactory$FileChooserNewFolderIcon +{ + +public: + MetalIconFactory$FileChooserUpFolderIcon(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FileChooserUpFolderIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.h new file mode 100644 index 00000000000..90f451b9127 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FileIcon16.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FileIcon16__ +#define __javax_swing_plaf_metal_MetalIconFactory$FileIcon16__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FileIcon16; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FileIcon16 : public ::java::lang::Object +{ + +public: + MetalIconFactory$FileIcon16(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + virtual jint getAdditionalHeight(); + virtual jint getShift(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FileIcon16__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.h new file mode 100644 index 00000000000..80ed1ebdd4d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$FolderIcon16.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$FolderIcon16__ +#define __javax_swing_plaf_metal_MetalIconFactory$FolderIcon16__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$FolderIcon16; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$FolderIcon16 : public ::java::lang::Object +{ + +public: + MetalIconFactory$FolderIcon16(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + virtual jint getAdditionalHeight(); + virtual jint getShift(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$FolderIcon16__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.h new file mode 100644 index 00000000000..cf726d87d54 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$HorizontalSliderThumbIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$HorizontalSliderThumbIcon__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$HorizontalSliderThumbIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$HorizontalSliderThumbIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$HorizontalSliderThumbIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + JArray< JArray< jint > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) gradientMask; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$HorizontalSliderThumbIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.h new file mode 100644 index 00000000000..07a8d256acd --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameAltMaximizeIcon.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$InternalFrameAltMaximizeIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$InternalFrameAltMaximizeIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$InternalFrameAltMaximizeIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$InternalFrameAltMaximizeIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$InternalFrameAltMaximizeIcon(jint); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) size; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$InternalFrameAltMaximizeIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.h new file mode 100644 index 00000000000..30289db5cfc --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameCloseIcon.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$InternalFrameCloseIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$InternalFrameCloseIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$InternalFrameCloseIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$InternalFrameCloseIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$InternalFrameCloseIcon(jint); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) size; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$InternalFrameCloseIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.h new file mode 100644 index 00000000000..0c111ca032c --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameDefaultMenuIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$InternalFrameDefaultMenuIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$InternalFrameDefaultMenuIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$InternalFrameDefaultMenuIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$InternalFrameDefaultMenuIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$InternalFrameDefaultMenuIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$InternalFrameDefaultMenuIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.h new file mode 100644 index 00000000000..95014b00c7b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMaximizeIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$InternalFrameMaximizeIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$InternalFrameMaximizeIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$InternalFrameMaximizeIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$InternalFrameMaximizeIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$InternalFrameMaximizeIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$InternalFrameMaximizeIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.h new file mode 100644 index 00000000000..122d0282877 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$InternalFrameMinimizeIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$InternalFrameMinimizeIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$InternalFrameMinimizeIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$InternalFrameMinimizeIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$InternalFrameMinimizeIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$InternalFrameMinimizeIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$InternalFrameMinimizeIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.h new file mode 100644 index 00000000000..11ee59a1575 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$PaletteCloseIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$PaletteCloseIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$PaletteCloseIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$PaletteCloseIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$PaletteCloseIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$PaletteCloseIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$PaletteCloseIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.h new file mode 100644 index 00000000000..8d7eb638a28 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$RadioButtonIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$RadioButtonIcon__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$RadioButtonIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$RadioButtonIcon : public ::java::lang::Object +{ + +public: // actually package-private + MetalIconFactory$RadioButtonIcon(); +public: + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +private: + static JArray< JArray< jint > * > * gradientMask; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$RadioButtonIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.h new file mode 100644 index 00000000000..4d0e722ad00 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$RadioButtonMenuItemIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$RadioButtonMenuItemIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$RadioButtonMenuItemIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$RadioButtonMenuItemIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$RadioButtonMenuItemIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$RadioButtonMenuItemIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.h new file mode 100644 index 00000000000..f469798827d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeComputerIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$TreeComputerIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$TreeComputerIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$TreeComputerIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$TreeComputerIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$TreeComputerIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$TreeComputerIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.h new file mode 100644 index 00000000000..c0e9716dcc8 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeControlIcon.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$TreeControlIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$TreeControlIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$TreeControlIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$TreeControlIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$TreeControlIcon(jboolean); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + virtual void paintMe(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) isLight; +private: + jboolean collapsed; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$TreeControlIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.h new file mode 100644 index 00000000000..ad69d2d496b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFloppyDriveIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$TreeFloppyDriveIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$TreeFloppyDriveIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$TreeFloppyDriveIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$TreeFloppyDriveIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$TreeFloppyDriveIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$TreeFloppyDriveIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.h new file mode 100644 index 00000000000..4993efdb24d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$TreeFolderIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$TreeFolderIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$TreeFolderIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$TreeFolderIcon : public ::javax::swing::plaf::metal::MetalIconFactory$FolderIcon16 +{ + +public: + MetalIconFactory$TreeFolderIcon(); + virtual jint getAdditionalHeight(); + virtual jint getShift(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$TreeFolderIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.h new file mode 100644 index 00000000000..1eb1d51434b --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeHardDriveIcon.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$TreeHardDriveIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$TreeHardDriveIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$TreeHardDriveIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$TreeHardDriveIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$TreeHardDriveIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$TreeHardDriveIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.h new file mode 100644 index 00000000000..df2b8e8dab5 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$TreeLeafIcon.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$TreeLeafIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$TreeLeafIcon__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$TreeLeafIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$TreeLeafIcon : public ::javax::swing::plaf::metal::MetalIconFactory$FileIcon16 +{ + +public: + MetalIconFactory$TreeLeafIcon(); + virtual jint getAdditionalHeight(); + virtual jint getShift(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$TreeLeafIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.h b/libjava/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.h new file mode 100644 index 00000000000..7618da789f3 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory$VerticalSliderThumbIcon__ +#define __javax_swing_plaf_metal_MetalIconFactory$VerticalSliderThumbIcon__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalIconFactory$VerticalSliderThumbIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory$VerticalSliderThumbIcon : public ::java::lang::Object +{ + +public: + MetalIconFactory$VerticalSliderThumbIcon(); + virtual jint getIconWidth(); + virtual jint getIconHeight(); + virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint); +public: // actually package-private + JArray< JArray< jint > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) gradientMask; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory$VerticalSliderThumbIcon__ diff --git a/libjava/javax/swing/plaf/metal/MetalIconFactory.h b/libjava/javax/swing/plaf/metal/MetalIconFactory.h new file mode 100644 index 00000000000..f1cb1d77e23 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalIconFactory.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalIconFactory__ +#define __javax_swing_plaf_metal_MetalIconFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + namespace metal + { + class MetalIconFactory; + class MetalIconFactory$RadioButtonIcon; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalIconFactory : public ::java::lang::Object +{ + +public: + MetalIconFactory(); + static ::javax::swing::Icon * getCheckBoxIcon(); + static ::javax::swing::Icon * getCheckBoxMenuItemIcon(); + static ::javax::swing::Icon * getFileChooserDetailViewIcon(); + static ::javax::swing::Icon * getFileChooserHomeFolderIcon(); + static ::javax::swing::Icon * getFileChooserListViewIcon(); + static ::javax::swing::Icon * getFileChooserNewFolderIcon(); + static ::javax::swing::Icon * getFileChooserUpFolderIcon(); + static ::javax::swing::Icon * getRadioButtonIcon(); + static ::javax::swing::Icon * getRadioButtonMenuItemIcon(); + static ::javax::swing::Icon * getHorizontalSliderThumbIcon(); + static ::javax::swing::Icon * getInternalFrameCloseIcon(jint); + static ::javax::swing::Icon * getInternalFrameDefaultMenuIcon(); + static ::javax::swing::Icon * getInternalFrameMaximizeIcon(jint); + static ::javax::swing::Icon * getInternalFrameMinimizeIcon(jint); + static ::javax::swing::Icon * getInternalFrameAltMaximizeIcon(jint); + static ::javax::swing::Icon * getVerticalSliderThumbIcon(); + static ::javax::swing::Icon * getTreeFolderIcon(); + static ::javax::swing::Icon * getTreeLeafIcon(); + static ::javax::swing::Icon * getTreeControlIcon(jboolean); + static ::javax::swing::Icon * getTreeComputerIcon(); + static ::javax::swing::Icon * getTreeFloppyDriveIcon(); + static ::javax::swing::Icon * getTreeHardDriveIcon(); + static ::javax::swing::Icon * getMenuArrowIcon(); + static ::javax::swing::Icon * getMenuItemArrowIcon(); + static ::javax::swing::Icon * getMenuItemCheckIcon(); + static const jboolean DARK = 0; + static const jboolean LIGHT = 1; +private: + static ::javax::swing::Icon * menuArrow; + static ::javax::swing::Icon * menuItemArrow; + static ::javax::swing::Icon * checkBoxIcon; + static ::javax::swing::Icon * checkBoxMenuItemIcon; + static ::javax::swing::Icon * fileChooserDetailViewIcon; + static ::javax::swing::Icon * fileChooserHomeFolderIcon; + static ::javax::swing::Icon * fileChooserListViewIcon; + static ::javax::swing::Icon * fileChooserNewFolderIcon; + static ::javax::swing::Icon * fileChooserUpFolderIcon; + static ::javax::swing::plaf::metal::MetalIconFactory$RadioButtonIcon * radioButtonIcon; + static ::javax::swing::Icon * radioButtonMenuItemIcon; + static ::javax::swing::Icon * internalFrameDefaultMenuIcon; + static ::javax::swing::Icon * treeComputerIcon; + static ::javax::swing::Icon * treeFloppyDriveIcon; + static ::javax::swing::Icon * treeHardDriveIcon; + static ::javax::swing::Icon * horizontalSliderThumbIcon; + static ::javax::swing::Icon * verticalSliderThumbIcon; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalIconFactory__ diff --git a/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.h b/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.h new file mode 100644 index 00000000000..ba566882302 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler__ +#define __javax_swing_plaf_metal_MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalInternalFrameTitlePane; + class MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler : public ::javax::swing::plaf::basic::BasicInternalFrameTitlePane$PropertyChangeHandler +{ + +public: + MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicInternalFrameTitlePane$PropertyChangeHandler)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalInternalFrameTitlePane$MetalInternalFrameTitlePanePropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.h b/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.h new file mode 100644 index 00000000000..da7e76cb710 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane$MetalTitlePaneLayout.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalInternalFrameTitlePane$MetalTitlePaneLayout__ +#define __javax_swing_plaf_metal_MetalInternalFrameTitlePane$MetalTitlePaneLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalInternalFrameTitlePane; + class MetalInternalFrameTitlePane$MetalTitlePaneLayout; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalInternalFrameTitlePane$MetalTitlePaneLayout : public ::java::lang::Object +{ + +public: + MetalInternalFrameTitlePane$MetalTitlePaneLayout(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalInternalFrameTitlePane * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalInternalFrameTitlePane$MetalTitlePaneLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane.h b/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane.h new file mode 100644 index 00000000000..f3c0e7faba8 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalInternalFrameTitlePane.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalInternalFrameTitlePane__ +#define __javax_swing_plaf_metal_MetalInternalFrameTitlePane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class LayoutManager; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JButton; + class JInternalFrame; + class JLabel; + class JMenu; + namespace plaf + { + namespace metal + { + class MetalInternalFrameTitlePane; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalInternalFrameTitlePane : public ::javax::swing::plaf::basic::BasicInternalFrameTitlePane +{ + +public: + MetalInternalFrameTitlePane(::javax::swing::JInternalFrame *); +public: // actually protected + virtual void installDefaults(); + virtual void uninstallDefaults(); + virtual void createButtons(); + virtual void addSystemMenuItems(::javax::swing::JMenu *); + virtual void showSystemMenu(); + virtual void addSubComponents(); + virtual ::java::awt::LayoutManager * createLayout(); +public: + virtual void paintPalette(::java::awt::Graphics *); + virtual void paintComponent(::java::awt::Graphics *); + virtual void setPalette(jboolean); +public: // actually protected + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); +public: // actually package-private + static ::javax::swing::JInternalFrame * access$0(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + static ::javax::swing::JButton * access$1(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + static ::javax::swing::Icon * access$2(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + static ::javax::swing::JButton * access$3(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + static ::javax::swing::Icon * access$4(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + static ::javax::swing::JButton * access$5(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); + static ::javax::swing::Icon * access$6(::javax::swing::plaf::metal::MetalInternalFrameTitlePane *); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicInternalFrameTitlePane)))) isPalette; + ::javax::swing::Icon * paletteCloseIcon; + jint paletteTitleHeight; +public: // actually package-private + ::javax::swing::JLabel * title; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalInternalFrameTitlePane__ diff --git a/libjava/javax/swing/plaf/metal/MetalInternalFrameUI$1.h b/libjava/javax/swing/plaf/metal/MetalInternalFrameUI$1.h new file mode 100644 index 00000000000..9ac979b2b10 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalInternalFrameUI$1.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalInternalFrameUI$1__ +#define __javax_swing_plaf_metal_MetalInternalFrameUI$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalInternalFrameUI; + class MetalInternalFrameUI$1; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalInternalFrameUI$1 : public ::java::lang::Object +{ + +public: // actually package-private + MetalInternalFrameUI$1(::javax::swing::plaf::metal::MetalInternalFrameUI *); +public: + void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalInternalFrameUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalInternalFrameUI$1__ diff --git a/libjava/javax/swing/plaf/metal/MetalInternalFrameUI.h b/libjava/javax/swing/plaf/metal/MetalInternalFrameUI.h new file mode 100644 index 00000000000..db9fe9d86c9 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalInternalFrameUI.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalInternalFrameUI__ +#define __javax_swing_plaf_metal_MetalInternalFrameUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JInternalFrame; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalInternalFrameUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalInternalFrameUI : public ::javax::swing::plaf::basic::BasicInternalFrameUI +{ + +public: + MetalInternalFrameUI(::javax::swing::JInternalFrame *); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::javax::swing::JComponent * createNorthPane(::javax::swing::JInternalFrame *); +public: + virtual void setPalette(jboolean); +public: // actually protected + virtual void installListeners(); + virtual void uninstallListeners(); + virtual void installKeyboardActions(); + static ::java::lang::String * IS_PALETTE; +private: + ::java::beans::PropertyChangeListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicInternalFrameUI)))) paletteListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalInternalFrameUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalLabelUI.h b/libjava/javax/swing/plaf/metal/MetalLabelUI.h new file mode 100644 index 00000000000..f91d0993d3a --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalLabelUI.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalLabelUI__ +#define __javax_swing_plaf_metal_MetalLabelUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JLabel; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalLabelUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalLabelUI : public ::javax::swing::plaf::basic::BasicLabelUI +{ + +public: + MetalLabelUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual void paintDisabledText(::javax::swing::JLabel *, ::java::awt::Graphics *, ::java::lang::String *, jint, jint); + static ::javax::swing::plaf::metal::MetalLabelUI * metalLabelUI; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalLabelUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalLookAndFeel$1.h b/libjava/javax/swing/plaf/metal/MetalLookAndFeel$1.h new file mode 100644 index 00000000000..9159117de4d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalLookAndFeel$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalLookAndFeel$1__ +#define __javax_swing_plaf_metal_MetalLookAndFeel$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + namespace metal + { + class MetalLookAndFeel; + class MetalLookAndFeel$1; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalLookAndFeel$1 : public ::java::lang::Object +{ + +public: // actually package-private + MetalLookAndFeel$1(::javax::swing::plaf::metal::MetalLookAndFeel *); +public: + ::java::lang::Object * createValue(::javax::swing::UIDefaults *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalLookAndFeel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalLookAndFeel$1__ diff --git a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h new file mode 100644 index 00000000000..9985b60b9e6 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalLookAndFeel__ +#define __javax_swing_plaf_metal_MetalLookAndFeel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + class ColorUIResource; + class FontUIResource; + namespace metal + { + class MetalLookAndFeel; + class MetalTheme; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalLookAndFeel : public ::javax::swing::plaf::basic::BasicLookAndFeel +{ + +public: + MetalLookAndFeel(); +public: // actually protected + virtual void createDefaultTheme(); +public: + virtual jboolean isNativeLookAndFeel(); + virtual jboolean isSupportedLookAndFeel(); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getID(); + virtual ::java::lang::String * getName(); + virtual ::javax::swing::UIDefaults * getDefaults(); + static ::javax::swing::plaf::ColorUIResource * getAcceleratorForeground(); + static ::javax::swing::plaf::ColorUIResource * getAcceleratorSelectedForeground(); + static ::javax::swing::plaf::ColorUIResource * getBlack(); + static ::javax::swing::plaf::ColorUIResource * getControl(); + static ::javax::swing::plaf::ColorUIResource * getControlDarkShadow(); + static ::javax::swing::plaf::ColorUIResource * getControlDisabled(); + static ::javax::swing::plaf::ColorUIResource * getControlHighlight(); + static ::javax::swing::plaf::ColorUIResource * getControlInfo(); + static ::javax::swing::plaf::ColorUIResource * getControlShadow(); + static ::javax::swing::plaf::ColorUIResource * getControlTextColor(); + static ::javax::swing::plaf::FontUIResource * getControlTextFont(); + static ::javax::swing::plaf::ColorUIResource * getDesktopColor(); + static ::javax::swing::plaf::ColorUIResource * getFocusColor(); + static ::javax::swing::plaf::ColorUIResource * getHighlightedTextColor(); + static ::javax::swing::plaf::ColorUIResource * getInactiveControlTextColor(); + static ::javax::swing::plaf::ColorUIResource * getInactiveSystemTextColor(); + static ::javax::swing::plaf::ColorUIResource * getMenuBackground(); + static ::javax::swing::plaf::ColorUIResource * getMenuDisabledForeground(); + static ::javax::swing::plaf::ColorUIResource * getMenuForeground(); + static ::javax::swing::plaf::ColorUIResource * getMenuSelectedBackground(); + static ::javax::swing::plaf::ColorUIResource * getMenuSelectedForeground(); + static ::javax::swing::plaf::FontUIResource * getMenuTextFont(); + static ::javax::swing::plaf::ColorUIResource * getPrimaryControl(); + static ::javax::swing::plaf::ColorUIResource * getPrimaryControlDarkShadow(); + static ::javax::swing::plaf::ColorUIResource * getPrimaryControlHighlight(); + static ::javax::swing::plaf::ColorUIResource * getPrimaryControlInfo(); + static ::javax::swing::plaf::ColorUIResource * getPrimaryControlShadow(); + static ::javax::swing::plaf::ColorUIResource * getSeparatorBackground(); + static ::javax::swing::plaf::ColorUIResource * getSeparatorForeground(); + static ::javax::swing::plaf::FontUIResource * getSubTextFont(); + static ::javax::swing::plaf::ColorUIResource * getSystemTextColor(); + static ::javax::swing::plaf::FontUIResource * getSystemTextFont(); + static ::javax::swing::plaf::ColorUIResource * getTextHighlightColor(); + static ::javax::swing::plaf::ColorUIResource * getUserTextColor(); + static ::javax::swing::plaf::FontUIResource * getUserTextFont(); + static ::javax::swing::plaf::ColorUIResource * getWhite(); + static ::javax::swing::plaf::ColorUIResource * getWindowBackground(); + static ::javax::swing::plaf::ColorUIResource * getWindowTitleBackground(); + static ::javax::swing::plaf::FontUIResource * getWindowTitleFont(); + static ::javax::swing::plaf::ColorUIResource * getWindowTitleForeground(); + static ::javax::swing::plaf::ColorUIResource * getWindowTitleInactiveBackground(); + static ::javax::swing::plaf::ColorUIResource * getWindowTitleInactiveForeground(); + static void setCurrentTheme(::javax::swing::plaf::metal::MetalTheme *); +public: // actually protected + virtual void initClassDefaults(::javax::swing::UIDefaults *); + virtual void initComponentDefaults(::javax::swing::UIDefaults *); + virtual void initSystemColorDefaults(::javax::swing::UIDefaults *); +public: + static ::javax::swing::plaf::metal::MetalTheme * getCurrentTheme(); + virtual jboolean getSupportsWindowDecorations(); +private: + static const jlong serialVersionUID = 6680646159193457980LL; + static ::javax::swing::plaf::metal::MetalTheme * theme; + ::javax::swing::UIDefaults * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicLookAndFeel)))) LAF_defaults; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalLookAndFeel__ diff --git a/libjava/javax/swing/plaf/metal/MetalMenuBarUI.h b/libjava/javax/swing/plaf/metal/MetalMenuBarUI.h new file mode 100644 index 00000000000..598291e4005 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalMenuBarUI.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalMenuBarUI__ +#define __javax_swing_plaf_metal_MetalMenuBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalMenuBarUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalMenuBarUI : public ::javax::swing::plaf::basic::BasicMenuBarUI +{ + +public: + MetalMenuBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalMenuBarUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.h b/libjava/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.h new file mode 100644 index 00000000000..ca38d005b4d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalPopupMenuSeparatorUI__ +#define __javax_swing_plaf_metal_MetalPopupMenuSeparatorUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalPopupMenuSeparatorUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalPopupMenuSeparatorUI : public ::javax::swing::plaf::metal::MetalSeparatorUI +{ + +public: + MetalPopupMenuSeparatorUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +private: + static ::javax::swing::plaf::metal::MetalPopupMenuSeparatorUI * instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalPopupMenuSeparatorUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalProgressBarUI.h b/libjava/javax/swing/plaf/metal/MetalProgressBarUI.h new file mode 100644 index 00000000000..ca9500ac5b2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalProgressBarUI.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalProgressBarUI__ +#define __javax_swing_plaf_metal_MetalProgressBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalProgressBarUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalProgressBarUI : public ::javax::swing::plaf::basic::BasicProgressBarUI +{ + +public: + MetalProgressBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void paintDeterminate(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paintIndeterminate(::java::awt::Graphics *, ::javax::swing::JComponent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalProgressBarUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalRadioButtonUI.h b/libjava/javax/swing/plaf/metal/MetalRadioButtonUI.h new file mode 100644 index 00000000000..477bca7cacc --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRadioButtonUI.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRadioButtonUI__ +#define __javax_swing_plaf_metal_MetalRadioButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalRadioButtonUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRadioButtonUI : public ::javax::swing::plaf::basic::BasicRadioButtonUI +{ + +public: + MetalRadioButtonUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installDefaults(::javax::swing::AbstractButton *); +public: // actually protected + virtual void uninstallDefaults(::javax::swing::AbstractButton *); + virtual ::java::awt::Color * getSelectColor(); + virtual ::java::awt::Color * getDisabledTextColor(); + virtual ::java::awt::Color * getFocusColor(); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintFocus(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Dimension *); + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicRadioButtonUI)))) focusColor; + ::java::awt::Color * selectColor; + ::java::awt::Color * disabledTextColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRadioButtonUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.h new file mode 100644 index 00000000000..aa5a0eb84d9 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalFrameBorder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalFrameBorder__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalFrameBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalFrameBorder; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalFrameBorder : public ::javax::swing::border::AbstractBorder +{ + + MetalRootPaneUI$MetalFrameBorder(); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *, ::java::awt::Insets *); + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +public: // actually package-private + MetalRootPaneUI$MetalFrameBorder(::javax::swing::plaf::metal::MetalRootPaneUI$MetalFrameBorder *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalFrameBorder__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.h new file mode 100644 index 00000000000..8cf2767d29d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalRootLayout.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalRootLayout__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalRootLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalRootLayout; + class MetalRootPaneUI$MetalTitlePane; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalRootLayout : public ::java::lang::Object +{ + +public: // actually package-private + MetalRootPaneUI$MetalRootLayout(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *); +public: + virtual void addLayoutComponent(::java::awt::Component *, ::java::lang::Object *); + virtual ::java::awt::Dimension * maximumLayoutSize(::java::awt::Container *); + virtual jfloat getLayoutAlignmentX(::java::awt::Container *); + virtual jfloat getLayoutAlignmentY(::java::awt::Container *); + virtual void invalidateLayout(::java::awt::Container *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void removeLayoutComponent(::java::awt::Component *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual void layoutContainer(::java::awt::Container *); +private: + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) glassPaneBounds; + ::java::awt::Rectangle * layeredPaneBounds; + ::java::awt::Rectangle * contentPaneBounds; + ::java::awt::Rectangle * menuBarBounds; + ::java::awt::Rectangle * titlePaneBounds; + ::java::awt::Dimension * prefSize; + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * titlePane; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalRootLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.h new file mode 100644 index 00000000000..5837b81a47a --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$CloseAction__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$CloseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + class MetalRootPaneUI$MetalTitlePane$CloseAction; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$CloseAction : public ::javax::swing::AbstractAction +{ + +public: + MetalRootPaneUI$MetalTitlePane$CloseAction(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$CloseAction__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.h new file mode 100644 index 00000000000..ea82f56189e --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$IconifyAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$IconifyAction__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$IconifyAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + class MetalRootPaneUI$MetalTitlePane$IconifyAction; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$IconifyAction : public ::javax::swing::AbstractAction +{ + + MetalRootPaneUI$MetalTitlePane$IconifyAction(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + MetalRootPaneUI$MetalTitlePane$IconifyAction(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *, ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$IconifyAction *); + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$IconifyAction__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.h new file mode 100644 index 00000000000..bad5edc2aca --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MaximizeAction.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MaximizeAction__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MaximizeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + class MetalRootPaneUI$MetalTitlePane$MaximizeAction; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$MaximizeAction : public ::javax::swing::AbstractAction +{ + + MetalRootPaneUI$MetalTitlePane$MaximizeAction(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + MetalRootPaneUI$MetalTitlePane$MaximizeAction(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *, ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$MaximizeAction *); + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::AbstractAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MaximizeAction__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.h new file mode 100644 index 00000000000..5bc79486c69 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + class MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout : public ::java::lang::Object +{ + +public: + MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MetalTitlePaneLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.h new file mode 100644 index 00000000000..a1ee9cd5ca2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$MouseHandler.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MouseHandler__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MouseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + class MetalRootPaneUI$MetalTitlePane$MouseHandler; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$MouseHandler : public ::javax::swing::event::MouseInputAdapter +{ + + MetalRootPaneUI$MetalTitlePane$MouseHandler(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *); +public: + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); +public: // actually package-private + MetalRootPaneUI$MetalTitlePane$MouseHandler(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *, ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$MouseHandler *); + ::java::awt::Point * __attribute__((aligned(__alignof__( ::javax::swing::event::MouseInputAdapter)))) lastDragLocation; + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$MouseHandler__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.h new file mode 100644 index 00000000000..1505f5c47c6 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$PaneButton.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$PaneButton__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$PaneButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + class MetalRootPaneUI$MetalTitlePane$PaneButton; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane$PaneButton : public ::javax::swing::JButton +{ + +public: + MetalRootPaneUI$MetalTitlePane$PaneButton(::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane *, ::javax::swing::Action *); + virtual jboolean isFocusable(); +public: // actually package-private + ::javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane$PaneButton__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.h new file mode 100644 index 00000000000..d9adc9b8a64 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane__ +#define __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + class LayoutManager; + } + } + namespace javax + { + namespace swing + { + class Action; + class Icon; + class JButton; + class JLabel; + class JMenu; + class JMenuBar; + class JRootPane; + namespace plaf + { + namespace metal + { + class MetalRootPaneUI$MetalTitlePane; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI$MetalTitlePane : public ::javax::swing::JComponent +{ + +public: // actually package-private + MetalRootPaneUI$MetalTitlePane(::javax::swing::JRootPane *); +public: // actually protected + virtual ::java::awt::LayoutManager * createLayout(); + virtual void installTitlePane(); +private: + void enableActions(); + void addSubComponents(); + void installListeners(); + void createActions(); + void assembleSystemMenu(); +public: // actually protected + virtual ::javax::swing::JMenuBar * createSystemMenuBar(); + virtual ::javax::swing::JMenu * createSystemMenu(); +private: + void addSystemMenuItems(::javax::swing::JMenu *); +public: // actually protected + virtual void createButtons(); + virtual void setButtonIcons(); +public: + virtual void paintComponent(::java::awt::Graphics *); +public: // actually protected + virtual void paintTitleBackground(::java::awt::Graphics *); +private: + void installDefaults(); +public: // actually package-private + ::javax::swing::JRootPane * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) rootPane; + ::javax::swing::JButton * closeButton; + ::javax::swing::JButton * iconButton; + ::javax::swing::JButton * maxButton; + ::javax::swing::Icon * minIcon; + ::javax::swing::Icon * maxIcon; +private: + ::javax::swing::Icon * iconIcon; +public: // actually package-private + ::javax::swing::Icon * closeIcon; +private: + ::java::awt::Color * notSelectedTitleColor; + ::java::awt::Color * selectedTitleColor; +public: // actually package-private + ::javax::swing::JLabel * title; +private: + ::javax::swing::Action * closeAction; + ::javax::swing::Action * iconifyAction; + ::javax::swing::Action * maximizeAction; + ::javax::swing::JMenuBar * menuBar; +public: // actually protected + ::javax::swing::JMenu * windowMenu; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI$MetalTitlePane__ diff --git a/libjava/javax/swing/plaf/metal/MetalRootPaneUI.h b/libjava/javax/swing/plaf/metal/MetalRootPaneUI.h new file mode 100644 index 00000000000..dad96a54484 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalRootPaneUI.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalRootPaneUI__ +#define __javax_swing_plaf_metal_MetalRootPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JRootPane; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalRootPaneUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalRootPaneUI : public ::javax::swing::plaf::basic::BasicRootPaneUI +{ + +public: + MetalRootPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +private: + void installWindowDecorations(::javax::swing::JRootPane *); + void uninstallWindowDecorations(::javax::swing::JRootPane *); + static ::javax::swing::plaf::metal::MetalRootPaneUI * instance; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalRootPaneUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.h b/libjava/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.h new file mode 100644 index 00000000000..911ed4ddeb1 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalScrollBarUI$MetalScrollBarPropertyChangeHandler.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalScrollBarUI$MetalScrollBarPropertyChangeHandler__ +#define __javax_swing_plaf_metal_MetalScrollBarUI$MetalScrollBarPropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalScrollBarUI; + class MetalScrollBarUI$MetalScrollBarPropertyChangeHandler; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalScrollBarUI$MetalScrollBarPropertyChangeHandler : public ::javax::swing::plaf::basic::BasicScrollBarUI$PropertyChangeHandler +{ + +public: + MetalScrollBarUI$MetalScrollBarPropertyChangeHandler(::javax::swing::plaf::metal::MetalScrollBarUI *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalScrollBarUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicScrollBarUI$PropertyChangeHandler)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalScrollBarUI$MetalScrollBarPropertyChangeHandler__ diff --git a/libjava/javax/swing/plaf/metal/MetalScrollBarUI.h b/libjava/javax/swing/plaf/metal/MetalScrollBarUI.h new file mode 100644 index 00000000000..f76d33bddfb --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalScrollBarUI.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalScrollBarUI__ +#define __javax_swing_plaf_metal_MetalScrollBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + class Rectangle; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JButton; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalScrollBarUI; + class MetalScrollButton; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalScrollBarUI : public ::javax::swing::plaf::basic::BasicScrollBarUI +{ + +public: + MetalScrollBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual void installDefaults(); + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(); + virtual ::javax::swing::JButton * createDecreaseButton(jint); + virtual ::javax::swing::JButton * createIncreaseButton(jint); + virtual void paintTrack(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); +private: + void paintTrackHorizontal(::java::awt::Graphics *, ::javax::swing::JComponent *, jint, jint, jint, jint); + void paintTrackVertical(::java::awt::Graphics *, ::javax::swing::JComponent *, jint, jint, jint, jint); +public: // actually protected + virtual void paintThumb(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); +private: + void paintThumbHorizontal(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); + void paintThumbVertical(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *); +public: // actually protected + virtual ::java::awt::Dimension * getMinimumThumbSize(); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + static ::java::lang::String * FREE_STANDING_PROP; +private: + static ::java::awt::Dimension * MIN_THUMB_SIZE; + static ::java::awt::Dimension * MIN_THUMB_SIZE_FREE_STANDING; +public: // actually protected + ::javax::swing::plaf::metal::MetalScrollButton * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicScrollBarUI)))) increaseButton; + ::javax::swing::plaf::metal::MetalScrollButton * decreaseButton; + jint scrollBarWidth; + jboolean isFreeStanding; +public: // actually package-private + ::java::awt::Color * scrollBarShadowColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalScrollBarUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalScrollButton.h b/libjava/javax/swing/plaf/metal/MetalScrollButton.h new file mode 100644 index 00000000000..3a3d86125f2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalScrollButton.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalScrollButton__ +#define __javax_swing_plaf_metal_MetalScrollButton__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalScrollButton; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalScrollButton : public ::javax::swing::plaf::basic::BasicArrowButton +{ + +public: + MetalScrollButton(jint, jint, jboolean); + virtual jint getButtonWidth(); + virtual void setFreeStanding(jboolean); + virtual void paint(::java::awt::Graphics *); +private: + void paintArrow(::java::awt::Graphics *, jint, jint); + void paintNorthBorderFreeStanding(::java::awt::Graphics *, jint, jint); + void paintSouthBorderFreeStanding(::java::awt::Graphics *, jint, jint); + void paintEastBorderFreeStanding(::java::awt::Graphics *, jint, jint); + void paintWestBorderFreeStanding(::java::awt::Graphics *, jint, jint); + void paintNorthBorder(::java::awt::Graphics *, jint, jint); + void paintSouthBorder(::java::awt::Graphics *, jint, jint); + void paintEastBorder(::java::awt::Graphics *, jint, jint); + void paintWestBorder(::java::awt::Graphics *, jint, jint); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getMaximumSize(); +private: + static ::java::awt::Dimension * maximumSize; + jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicArrowButton)))) buttonWidth; + jboolean freeStanding; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalScrollButton__ diff --git a/libjava/javax/swing/plaf/metal/MetalScrollPaneUI.h b/libjava/javax/swing/plaf/metal/MetalScrollPaneUI.h new file mode 100644 index 00000000000..f751c355ee2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalScrollPaneUI.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalScrollPaneUI__ +#define __javax_swing_plaf_metal_MetalScrollPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class JScrollPane; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalScrollPaneUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalScrollPaneUI : public ::javax::swing::plaf::basic::BasicScrollPaneUI +{ + +public: + MetalScrollPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void installListeners(::javax::swing::JScrollPane *); + virtual void uninstallListeners(::javax::swing::JScrollPane *); +public: // actually protected + virtual ::java::beans::PropertyChangeListener * createScrollBarSwapListener(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalScrollPaneUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalSeparatorUI.h b/libjava/javax/swing/plaf/metal/MetalSeparatorUI.h new file mode 100644 index 00000000000..afa4a33c713 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSeparatorUI.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSeparatorUI__ +#define __javax_swing_plaf_metal_MetalSeparatorUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalSeparatorUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSeparatorUI : public ::javax::swing::plaf::basic::BasicSeparatorUI +{ + +public: + MetalSeparatorUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +private: + static ::javax::swing::plaf::metal::MetalSeparatorUI * instance; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSeparatorUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.h b/libjava/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.h new file mode 100644 index 00000000000..a3b9554cb12 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSliderUI$MetalPropertyListener__ +#define __javax_swing_plaf_metal_MetalSliderUI$MetalPropertyListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalSliderUI; + class MetalSliderUI$MetalPropertyListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSliderUI$MetalPropertyListener : public ::javax::swing::plaf::basic::BasicSliderUI$PropertyChangeHandler +{ + +public: // actually protected + MetalSliderUI$MetalPropertyListener(::javax::swing::plaf::metal::MetalSliderUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalSliderUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicSliderUI$PropertyChangeHandler)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSliderUI$MetalPropertyListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalSliderUI.h b/libjava/javax/swing/plaf/metal/MetalSliderUI.h new file mode 100644 index 00000000000..555e0b37dd5 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSliderUI.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSliderUI__ +#define __javax_swing_plaf_metal_MetalSliderUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Graphics; + class Rectangle; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JComponent; + class JSlider; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalSliderUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSliderUI : public ::javax::swing::plaf::basic::BasicSliderUI +{ + +public: + MetalSliderUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::beans::PropertyChangeListener * createPropertyChangeListener(::javax::swing::JSlider *); +public: + virtual void paintThumb(::java::awt::Graphics *); + virtual void paintTrack(::java::awt::Graphics *); + virtual void paintFocus(::java::awt::Graphics *); +public: // actually protected + virtual ::java::awt::Dimension * getThumbSize(); +public: + virtual jint getTickLength(); +public: // actually protected + virtual jint getTrackWidth(); + virtual jint getTrackLength(); + virtual jint getThumbOverhang(); + virtual void scrollDueToClickInTrack(jint); + virtual void paintMinorTickForHorizSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void paintMajorTickForHorizSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void paintMinorTickForVertSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void paintMajorTickForVertSlider(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + static ::java::awt::Color * thumbColor; + static ::java::awt::Color * highlightColor; + static ::java::awt::Color * darkShadowColor; + static jint trackWidth; + static jint tickLength; + static ::javax::swing::Icon * horizThumbIcon; + static ::javax::swing::Icon * vertThumbIcon; + const jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicSliderUI)))) TICK_BUFFER; + ::java::lang::String * SLIDER_FILL; + jboolean filledSlider; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSliderUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h new file mode 100644 index 00000000000..707fe29327c --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalDividerLayout__ +#define __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalDividerLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Container; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace basic + { + class BasicArrowButton; + } + namespace metal + { + class MetalSplitPaneDivider; + class MetalSplitPaneDivider$MetalDividerLayout; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSplitPaneDivider$MetalDividerLayout : public ::java::lang::Object +{ + +public: + MetalSplitPaneDivider$MetalDividerLayout(::javax::swing::plaf::metal::MetalSplitPaneDivider *); + virtual void addLayoutComponent(::java::lang::String *, ::java::awt::Component *); + virtual void layoutContainer(::java::awt::Container *); + virtual ::java::awt::Dimension * minimumLayoutSize(::java::awt::Container *); + virtual ::java::awt::Dimension * preferredLayoutSize(::java::awt::Container *); + virtual void removeLayoutComponent(::java::awt::Component *); +public: // actually package-private + ::javax::swing::plaf::basic::BasicArrowButton * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rb; + ::javax::swing::plaf::basic::BasicArrowButton * lb; + ::javax::swing::plaf::metal::MetalSplitPaneDivider * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalDividerLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.h b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.h new file mode 100644 index 00000000000..ee348d7779d --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalOneTouchButton.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalOneTouchButton__ +#define __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalOneTouchButton__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace plaf + { + namespace metal + { + class MetalSplitPaneDivider; + class MetalSplitPaneDivider$MetalOneTouchButton; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSplitPaneDivider$MetalOneTouchButton : public ::javax::swing::JButton +{ + +public: // actually package-private + MetalSplitPaneDivider$MetalOneTouchButton(::javax::swing::plaf::metal::MetalSplitPaneDivider *, jint); +public: + virtual void setBorder(::javax::swing::border::Border *); + virtual jboolean isFocusTraversable(); + virtual void paint(::java::awt::Graphics *); +public: // actually package-private + static const jint LEFT = 0; + static const jint RIGHT = 1; +private: + JArray< ::java::awt::Color * > * __attribute__((aligned(__alignof__( ::javax::swing::JButton)))) colors; + jint direction; +public: // actually package-private + ::javax::swing::plaf::metal::MetalSplitPaneDivider * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSplitPaneDivider$MetalOneTouchButton__ diff --git a/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider.h b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider.h new file mode 100644 index 00000000000..7230f6051e7 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSplitPaneDivider.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSplitPaneDivider__ +#define __javax_swing_plaf_metal_MetalSplitPaneDivider__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JButton; + class JSplitPane; + namespace plaf + { + namespace metal + { + class MetalSplitPaneDivider; + class MetalSplitPaneUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSplitPaneDivider : public ::javax::swing::plaf::basic::BasicSplitPaneDivider +{ + +public: + MetalSplitPaneDivider(::javax::swing::plaf::metal::MetalSplitPaneUI *, ::java::awt::Color *, ::java::awt::Color *); + virtual void paint(::java::awt::Graphics *); +public: // actually protected + virtual ::javax::swing::JButton * createLeftOneTouchButton(); + virtual ::javax::swing::JButton * createRightOneTouchButton(); +public: // actually package-private + static JArray< JArray< jbyte > * > * BUTTON_SPRITE_L; + static JArray< JArray< jbyte > * > * BUTTON_SPRITE_R; + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicSplitPaneDivider)))) dark; + ::java::awt::Color * light; + ::javax::swing::JSplitPane * splitPane; + jint orientation; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSplitPaneDivider__ diff --git a/libjava/javax/swing/plaf/metal/MetalSplitPaneUI.h b/libjava/javax/swing/plaf/metal/MetalSplitPaneUI.h new file mode 100644 index 00000000000..2505e06c27c --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalSplitPaneUI.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalSplitPaneUI__ +#define __javax_swing_plaf_metal_MetalSplitPaneUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace basic + { + class BasicSplitPaneDivider; + } + namespace metal + { + class MetalSplitPaneUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalSplitPaneUI : public ::javax::swing::plaf::basic::BasicSplitPaneUI +{ + +public: + MetalSplitPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::javax::swing::plaf::basic::BasicSplitPaneDivider * createDefaultDivider(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalSplitPaneUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.h b/libjava/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.h new file mode 100644 index 00000000000..0aa2214c5a2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalTabbedPaneUI$TabbedPaneLayout__ +#define __javax_swing_plaf_metal_MetalTabbedPaneUI$TabbedPaneLayout__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalTabbedPaneUI; + class MetalTabbedPaneUI$TabbedPaneLayout; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalTabbedPaneUI$TabbedPaneLayout : public ::javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneLayout +{ + +public: + MetalTabbedPaneUI$TabbedPaneLayout(::javax::swing::plaf::metal::MetalTabbedPaneUI *); +public: // actually protected + virtual void rotateTabRuns(jint, jint); + virtual void padSelectedTab(jint, jint); + virtual void normalizeTabRuns(jint, jint, jint, jint); +public: // actually package-private + ::javax::swing::plaf::metal::MetalTabbedPaneUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicTabbedPaneUI$TabbedPaneLayout)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalTabbedPaneUI$TabbedPaneLayout__ diff --git a/libjava/javax/swing/plaf/metal/MetalTabbedPaneUI.h b/libjava/javax/swing/plaf/metal/MetalTabbedPaneUI.h new file mode 100644 index 00000000000..12fdef6c931 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalTabbedPaneUI.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalTabbedPaneUI__ +#define __javax_swing_plaf_metal_MetalTabbedPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + class LayoutManager; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalTabbedPaneUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalTabbedPaneUI : public ::javax::swing::plaf::basic::BasicTabbedPaneUI +{ + +public: + MetalTabbedPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::awt::LayoutManager * createLayoutManager(); + virtual void paintTabBorder(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintTopTabBorder(jint, ::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintLeftTabBorder(jint, ::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintRightTabBorder(jint, ::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintBottomTabBorder(jint, ::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintTabBackground(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, jboolean); + virtual void paintFocusIndicator(::java::awt::Graphics *, jint, JArray< ::java::awt::Rectangle * > *, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jboolean); + virtual jboolean shouldPadTabRun(jint, jint); + virtual void installDefaults(); + virtual ::java::awt::Color * getColorForGap(jint, jint, jint); + virtual jboolean shouldFillGap(jint, jint, jint, jint); + virtual void paintHighlightBelowTab(); + virtual jboolean shouldRotateTabRuns(jint, jint); + virtual jint calculateMaxTabHeight(jint); + virtual jint getTabRunOverlay(jint); + virtual void paintContentBorderTopEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); + virtual void paintContentBorderBottomEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); + virtual void paintContentBorderLeftEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); + virtual void paintContentBorderRightEdge(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint); +private: + jboolean isLastTabInRun(jint); + ::java::awt::Color * getUnselectedBackground(jint); +public: // actually protected + virtual jint getTabLabelShiftX(jint, jint, jboolean); + virtual jint getTabLabelShiftY(jint, jint, jboolean); + jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicTabbedPaneUI)))) minTabWidth; + ::java::awt::Color * selectColor; + ::java::awt::Color * selectHighlight; + ::java::awt::Color * tabAreaBackground; +private: + ::java::awt::Graphics * hg; + jboolean tabsOpaque; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalTabbedPaneUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalTextFieldUI.h b/libjava/javax/swing/plaf/metal/MetalTextFieldUI.h new file mode 100644 index 00000000000..610de0bfbde --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalTextFieldUI.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalTextFieldUI__ +#define __javax_swing_plaf_metal_MetalTextFieldUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalTextFieldUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalTextFieldUI : public ::javax::swing::plaf::basic::BasicTextFieldUI +{ + +public: + MetalTextFieldUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalTextFieldUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalTheme.h b/libjava/javax/swing/plaf/metal/MetalTheme.h new file mode 100644 index 00000000000..e8e813a88d5 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalTheme.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalTheme__ +#define __javax_swing_plaf_metal_MetalTheme__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + class ColorUIResource; + class FontUIResource; + namespace metal + { + class MetalTheme; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalTheme : public ::java::lang::Object +{ + +public: + MetalTheme(); + virtual ::java::lang::String * getName() = 0; + virtual void addCustomEntriesToTable(::javax::swing::UIDefaults *); + virtual ::javax::swing::plaf::ColorUIResource * getAcceleratorForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getAcceleratorSelectedForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getControl(); + virtual ::javax::swing::plaf::ColorUIResource * getControlDarkShadow(); + virtual ::javax::swing::plaf::ColorUIResource * getControlDisabled(); + virtual ::javax::swing::plaf::ColorUIResource * getControlHighlight(); + virtual ::javax::swing::plaf::ColorUIResource * getControlInfo(); + virtual ::javax::swing::plaf::ColorUIResource * getControlShadow(); + virtual ::javax::swing::plaf::ColorUIResource * getControlTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getDesktopColor(); + virtual ::javax::swing::plaf::ColorUIResource * getFocusColor(); + virtual ::javax::swing::plaf::ColorUIResource * getHighlightedTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getInactiveControlTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getInactiveSystemTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getMenuBackground(); + virtual ::javax::swing::plaf::ColorUIResource * getMenuDisabledForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getMenuForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getMenuSelectedBackground(); + virtual ::javax::swing::plaf::ColorUIResource * getMenuSelectedForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimaryControl(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimaryControlDarkShadow(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimaryControlHighlight(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimaryControlInfo(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimaryControlShadow(); + virtual ::javax::swing::plaf::ColorUIResource * getSeparatorBackground(); + virtual ::javax::swing::plaf::ColorUIResource * getSeparatorForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getSystemTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getTextHighlightColor(); + virtual ::javax::swing::plaf::ColorUIResource * getUserTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getWindowBackground(); + virtual ::javax::swing::plaf::ColorUIResource * getWindowTitleBackground(); + virtual ::javax::swing::plaf::ColorUIResource * getWindowTitleForeground(); + virtual ::javax::swing::plaf::ColorUIResource * getWindowTitleInactiveBackground(); + virtual ::javax::swing::plaf::ColorUIResource * getWindowTitleInactiveForeground(); +public: // actually protected + virtual ::javax::swing::plaf::ColorUIResource * getBlack(); + virtual ::javax::swing::plaf::ColorUIResource * getWhite(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary1() = 0; + virtual ::javax::swing::plaf::ColorUIResource * getPrimary2() = 0; + virtual ::javax::swing::plaf::ColorUIResource * getPrimary3() = 0; + virtual ::javax::swing::plaf::ColorUIResource * getSecondary1() = 0; + virtual ::javax::swing::plaf::ColorUIResource * getSecondary2() = 0; + virtual ::javax::swing::plaf::ColorUIResource * getSecondary3() = 0; +public: + virtual ::javax::swing::plaf::FontUIResource * getControlTextFont() = 0; + virtual ::javax::swing::plaf::FontUIResource * getMenuTextFont() = 0; + virtual ::javax::swing::plaf::FontUIResource * getSubTextFont() = 0; + virtual ::javax::swing::plaf::FontUIResource * getSystemTextFont() = 0; + virtual ::javax::swing::plaf::FontUIResource * getUserTextFont() = 0; + virtual ::javax::swing::plaf::FontUIResource * getWindowTitleFont() = 0; +private: + ::javax::swing::plaf::ColorUIResource * __attribute__((aligned(__alignof__( ::java::lang::Object)))) BLACK; + ::javax::swing::plaf::ColorUIResource * WHITE; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalTheme__ diff --git a/libjava/javax/swing/plaf/metal/MetalToggleButtonUI.h b/libjava/javax/swing/plaf/metal/MetalToggleButtonUI.h new file mode 100644 index 00000000000..a53cb8b0118 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalToggleButtonUI.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalToggleButtonUI__ +#define __javax_swing_plaf_metal_MetalToggleButtonUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class AbstractButton; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalToggleButtonUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalToggleButtonUI : public ::javax::swing::plaf::basic::BasicToggleButtonUI +{ + +public: + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + MetalToggleButtonUI(); +public: // actually protected + virtual ::java::awt::Color * getFocusColor(); + virtual ::java::awt::Color * getSelectColor(); + virtual ::java::awt::Color * getDisabledTextColor(); +public: + virtual void installDefaults(::javax::swing::AbstractButton *); +public: // actually protected + virtual void paintButtonPressed(::java::awt::Graphics *, ::javax::swing::AbstractButton *); + virtual void paintText(::java::awt::Graphics *, ::javax::swing::JComponent *, ::java::awt::Rectangle *, ::java::lang::String *); + virtual void paintFocus(::java::awt::Graphics *, ::javax::swing::AbstractButton *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *); +public: + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToggleButtonUI)))) focusColor; + ::java::awt::Color * selectColor; + ::java::awt::Color * disabledTextColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalToggleButtonUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.h b/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.h new file mode 100644 index 00000000000..b04a7bb6353 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalToolBarUI$MetalContainerListener__ +#define __javax_swing_plaf_metal_MetalToolBarUI$MetalContainerListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalToolBarUI; + class MetalToolBarUI$MetalContainerListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalToolBarUI$MetalContainerListener : public ::javax::swing::plaf::basic::BasicToolBarUI$ToolBarContListener +{ + +public: // actually protected + MetalToolBarUI$MetalContainerListener(::javax::swing::plaf::metal::MetalToolBarUI *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalToolBarUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToolBarUI$ToolBarContListener)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalToolBarUI$MetalContainerListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.h b/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.h new file mode 100644 index 00000000000..f509544b3aa --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalToolBarUI$MetalDockingListener__ +#define __javax_swing_plaf_metal_MetalToolBarUI$MetalDockingListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JToolBar; + namespace plaf + { + namespace metal + { + class MetalToolBarUI; + class MetalToolBarUI$MetalDockingListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalToolBarUI$MetalDockingListener : public ::javax::swing::plaf::basic::BasicToolBarUI$DockingListener +{ + +public: + MetalToolBarUI$MetalDockingListener(::javax::swing::plaf::metal::MetalToolBarUI *, ::javax::swing::JToolBar *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalToolBarUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToolBarUI$DockingListener)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalToolBarUI$MetalDockingListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.h b/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.h new file mode 100644 index 00000000000..8b254a6c133 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalToolBarUI$MetalRolloverListener__ +#define __javax_swing_plaf_metal_MetalToolBarUI$MetalRolloverListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalToolBarUI; + class MetalToolBarUI$MetalRolloverListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalToolBarUI$MetalRolloverListener : public ::javax::swing::plaf::basic::BasicToolBarUI$PropertyListener +{ + +public: // actually protected + MetalToolBarUI$MetalRolloverListener(::javax::swing::plaf::metal::MetalToolBarUI *); +public: // actually package-private + ::javax::swing::plaf::metal::MetalToolBarUI * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToolBarUI$PropertyListener)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalToolBarUI$MetalRolloverListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalToolBarUI.h b/libjava/javax/swing/plaf/metal/MetalToolBarUI.h new file mode 100644 index 00000000000..95be69ffd07 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalToolBarUI.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalToolBarUI__ +#define __javax_swing_plaf_metal_MetalToolBarUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Point; + namespace event + { + class ContainerListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace border + { + class Border; + } + namespace event + { + class MouseInputListener; + } + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalToolBarUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalToolBarUI : public ::javax::swing::plaf::basic::BasicToolBarUI +{ + +public: + MetalToolBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual ::java::beans::PropertyChangeListener * createRolloverListener(); + virtual ::java::awt::event::ContainerListener * createContainerListener(); + virtual ::javax::swing::border::Border * createNonRolloverBorder(); + virtual void setDragOffset(::java::awt::Point *); + virtual ::javax::swing::event::MouseInputListener * createDockingListener(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + ::java::awt::event::ContainerListener * __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToolBarUI)))) contListener; + ::java::beans::PropertyChangeListener * rolloverListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalToolBarUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalToolTipUI.h b/libjava/javax/swing/plaf/metal/MetalToolTipUI.h new file mode 100644 index 00000000000..f38637c6db2 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalToolTipUI.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalToolTipUI__ +#define __javax_swing_plaf_metal_MetalToolTipUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Font; + class Graphics; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class KeyStroke; + namespace border + { + class Border; + } + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalToolTipUI; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalToolTipUI : public ::javax::swing::plaf::basic::BasicToolTipUI +{ + +public: + MetalToolTipUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual ::java::lang::String * getAcceleratorString(); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual jboolean isAcceleratorHidden(); +public: + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +private: + ::java::lang::String * fetchAcceleratorString(::javax::swing::JComponent *); + ::java::lang::String * acceleratorToString(::javax::swing::KeyStroke *); +public: + static const jint padSpaceBetweenStrings = 12; +private: + static ::javax::swing::plaf::metal::MetalToolTipUI * instance; + jboolean __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicToolTipUI)))) isAcceleratorHidden__; + ::java::lang::String * acceleratorString; + ::java::lang::String * acceleratorDelimiter; + ::java::awt::Font * acceleratorFont; + ::java::awt::Color * acceleratorForeground; + ::javax::swing::border::Border * activeBorder; + ::javax::swing::border::Border * inactiveBorder; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalToolTipUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.h b/libjava/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.h new file mode 100644 index 00000000000..e0ffe068fc3 --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalTreeUI$LineStyleListener.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalTreeUI$LineStyleListener__ +#define __javax_swing_plaf_metal_MetalTreeUI$LineStyleListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalTreeUI; + class MetalTreeUI$LineStyleListener; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalTreeUI$LineStyleListener : public ::java::lang::Object +{ + + MetalTreeUI$LineStyleListener(::javax::swing::plaf::metal::MetalTreeUI *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + MetalTreeUI$LineStyleListener(::javax::swing::plaf::metal::MetalTreeUI *, ::javax::swing::plaf::metal::MetalTreeUI$LineStyleListener *); + ::javax::swing::plaf::metal::MetalTreeUI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalTreeUI$LineStyleListener__ diff --git a/libjava/javax/swing/plaf/metal/MetalTreeUI.h b/libjava/javax/swing/plaf/metal/MetalTreeUI.h new file mode 100644 index 00000000000..98cf994a24f --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalTreeUI.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalTreeUI__ +#define __javax_swing_plaf_metal_MetalTreeUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Insets; + class Rectangle; + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace metal + { + class MetalTreeUI; + } + } + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::plaf::metal::MetalTreeUI : public ::javax::swing::plaf::basic::BasicTreeUI +{ + +public: + MetalTreeUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); +public: // actually protected + virtual jint getHorizontalLegBuffer(); +public: + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); +public: // actually protected + virtual void decodeLineStyle(::java::lang::Object *); + virtual jboolean isLocationInExpandControl(jint, jint, jint, jint); +public: + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); +public: // actually protected + virtual void paintHorizontalSeparators(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paintVerticalPartOfLeg(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Insets *, ::javax::swing::tree::TreePath *); + virtual void paintHorizontalPartOfLeg(::java::awt::Graphics *, ::java::awt::Rectangle *, ::java::awt::Insets *, ::java::awt::Rectangle *, ::javax::swing::tree::TreePath *, jint, jboolean, jboolean, jboolean); +private: + static ::java::lang::String * LINE_STYLE_PROPERTY; + static ::java::lang::String * LINE_STYLE_VALUE_NONE; + static ::java::lang::String * LINE_STYLE_VALUE_ANGLED; + static ::java::lang::String * LINE_STYLE_VALUE_HORIZONTAL; + static const jint LINE_STYLE_NONE = 0; + static const jint LINE_STYLE_ANGLED = 1; + static const jint LINE_STYLE_HORIZONTAL = 2; + jint __attribute__((aligned(__alignof__( ::javax::swing::plaf::basic::BasicTreeUI)))) lineStyle; + ::java::beans::PropertyChangeListener * lineStyleListener; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalTreeUI__ diff --git a/libjava/javax/swing/plaf/metal/MetalUtils.h b/libjava/javax/swing/plaf/metal/MetalUtils.h new file mode 100644 index 00000000000..3dd94a23fde --- /dev/null +++ b/libjava/javax/swing/plaf/metal/MetalUtils.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_MetalUtils__ +#define __javax_swing_plaf_metal_MetalUtils__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Graphics2D; + namespace image + { + class BufferedImage; + } + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace metal + { + class MetalUtils; + } + } + } + } +} + +class javax::swing::plaf::metal::MetalUtils : public ::java::lang::Object +{ + +public: // actually package-private + MetalUtils(); + static void fillMetalPattern(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *); + static void fillMetalPattern2D(::java::awt::Graphics2D *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::Color *); + static void initializePattern(::java::awt::Color *, ::java::awt::Color *); + static void paintGradient(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::lang::String *); + static void paintGradient(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::lang::String *, JArray< JArray< jint > * > *); + static void paintGradient(::java::awt::Graphics *, jint, jint, jint, jint, jfloat, jfloat, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, jint, JArray< JArray< jint > * > *); + static void paintHorizontalGradient(::java::awt::Graphics *, jint, jint, jint, jint, jfloat, jfloat, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, JArray< JArray< jint > * > *); + static void paintVerticalGradient(::java::awt::Graphics *, jint, jint, jint, jint, jfloat, jfloat, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, JArray< JArray< jint > * > *); +private: + static void paintHorizontalGradient2D(::java::awt::Graphics2D *, jint, jint, jint, jint, jfloat, jfloat, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, JArray< JArray< jint > * > *); + static void paintVerticalGradient2D(::java::awt::Graphics2D *, jint, jint, jint, jint, jfloat, jfloat, ::java::awt::Color *, ::java::awt::Color *, ::java::awt::Color *, JArray< JArray< jint > * > *); +public: // actually package-private + static ::java::awt::image::BufferedImage * pattern2D; + static ::java::awt::Color * lightColor; + static ::java::awt::Color * darkColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_MetalUtils__ diff --git a/libjava/javax/swing/plaf/metal/OceanTheme.h b/libjava/javax/swing/plaf/metal/OceanTheme.h new file mode 100644 index 00000000000..2587609811f --- /dev/null +++ b/libjava/javax/swing/plaf/metal/OceanTheme.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_metal_OceanTheme__ +#define __javax_swing_plaf_metal_OceanTheme__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class UIDefaults; + namespace plaf + { + class ColorUIResource; + namespace metal + { + class OceanTheme; + } + } + } + } +} + +class javax::swing::plaf::metal::OceanTheme : public ::javax::swing::plaf::metal::DefaultMetalTheme +{ + +public: + OceanTheme(); + virtual ::java::lang::String * getName(); + virtual ::javax::swing::plaf::ColorUIResource * getControlTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getDesktopColor(); + virtual ::javax::swing::plaf::ColorUIResource * getInactiveControlTextColor(); + virtual ::javax::swing::plaf::ColorUIResource * getMenuDisabledForeground(); +public: // actually protected + virtual ::javax::swing::plaf::ColorUIResource * getBlack(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary1(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary2(); + virtual ::javax::swing::plaf::ColorUIResource * getPrimary3(); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary1(); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary2(); + virtual ::javax::swing::plaf::ColorUIResource * getSecondary3(); +public: + virtual void addCustomEntriesToTable(::javax::swing::UIDefaults *); +public: // actually package-private + static ::javax::swing::plaf::ColorUIResource * BLACK; + static ::javax::swing::plaf::ColorUIResource * PRIMARY1; + static ::javax::swing::plaf::ColorUIResource * PRIMARY2; + static ::javax::swing::plaf::ColorUIResource * PRIMARY3; + static ::javax::swing::plaf::ColorUIResource * SECONDARY1; + static ::javax::swing::plaf::ColorUIResource * SECONDARY2; + static ::javax::swing::plaf::ColorUIResource * SECONDARY3; + static ::javax::swing::plaf::ColorUIResource * INACTIVE_CONTROL_TEXT; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_metal_OceanTheme__ diff --git a/libjava/javax/swing/plaf/multi/MultiButtonUI.h b/libjava/javax/swing/plaf/multi/MultiButtonUI.h new file mode 100644 index 00000000000..3481b6eee4e --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiButtonUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiButtonUI__ +#define __javax_swing_plaf_multi_MultiButtonUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiButtonUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiButtonUI : public ::javax::swing::plaf::ButtonUI +{ + +public: + MultiButtonUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ButtonUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiButtonUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiColorChooserUI.h b/libjava/javax/swing/plaf/multi/MultiColorChooserUI.h new file mode 100644 index 00000000000..d890eeabef3 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiColorChooserUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiColorChooserUI__ +#define __javax_swing_plaf_multi_MultiColorChooserUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiColorChooserUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiColorChooserUI : public ::javax::swing::plaf::ColorChooserUI +{ + +public: + MultiColorChooserUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ColorChooserUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiColorChooserUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiComboBoxUI.h b/libjava/javax/swing/plaf/multi/MultiComboBoxUI.h new file mode 100644 index 00000000000..9e92a3237d6 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiComboBoxUI.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiComboBoxUI__ +#define __javax_swing_plaf_multi_MultiComboBoxUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComboBox; + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiComboBoxUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiComboBoxUI : public ::javax::swing::plaf::ComboBoxUI +{ + +public: + MultiComboBoxUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual void setPopupVisible(::javax::swing::JComboBox *, jboolean); + virtual jboolean isPopupVisible(::javax::swing::JComboBox *); + virtual jboolean isFocusTraversable(::javax::swing::JComboBox *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ComboBoxUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiComboBoxUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiDesktopIconUI.h b/libjava/javax/swing/plaf/multi/MultiDesktopIconUI.h new file mode 100644 index 00000000000..d7a5f47fe08 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiDesktopIconUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiDesktopIconUI__ +#define __javax_swing_plaf_multi_MultiDesktopIconUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiDesktopIconUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiDesktopIconUI : public ::javax::swing::plaf::DesktopIconUI +{ + +public: + MultiDesktopIconUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::DesktopIconUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiDesktopIconUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiDesktopPaneUI.h b/libjava/javax/swing/plaf/multi/MultiDesktopPaneUI.h new file mode 100644 index 00000000000..d6dcff2c2b8 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiDesktopPaneUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiDesktopPaneUI__ +#define __javax_swing_plaf_multi_MultiDesktopPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiDesktopPaneUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiDesktopPaneUI : public ::javax::swing::plaf::DesktopPaneUI +{ + +public: + MultiDesktopPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::DesktopPaneUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiDesktopPaneUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiFileChooserUI.h b/libjava/javax/swing/plaf/multi/MultiFileChooserUI.h new file mode 100644 index 00000000000..e459d3280a7 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiFileChooserUI.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiFileChooserUI__ +#define __javax_swing_plaf_multi_MultiFileChooserUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + class JFileChooser; + namespace filechooser + { + class FileFilter; + class FileView; + } + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiFileChooserUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiFileChooserUI : public ::javax::swing::plaf::FileChooserUI +{ + +public: + MultiFileChooserUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual ::javax::swing::filechooser::FileFilter * getAcceptAllFileFilter(::javax::swing::JFileChooser *); + virtual ::javax::swing::filechooser::FileView * getFileView(::javax::swing::JFileChooser *); + virtual ::java::lang::String * getApproveButtonText(::javax::swing::JFileChooser *); + virtual ::java::lang::String * getDialogTitle(::javax::swing::JFileChooser *); + virtual void rescanCurrentDirectory(::javax::swing::JFileChooser *); + virtual void ensureFileIsVisible(::javax::swing::JFileChooser *, ::java::io::File *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::FileChooserUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiFileChooserUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiInternalFrameUI.h b/libjava/javax/swing/plaf/multi/MultiInternalFrameUI.h new file mode 100644 index 00000000000..ab260b70989 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiInternalFrameUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiInternalFrameUI__ +#define __javax_swing_plaf_multi_MultiInternalFrameUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiInternalFrameUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiInternalFrameUI : public ::javax::swing::plaf::InternalFrameUI +{ + +public: + MultiInternalFrameUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::InternalFrameUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiInternalFrameUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiLabelUI.h b/libjava/javax/swing/plaf/multi/MultiLabelUI.h new file mode 100644 index 00000000000..7f5049cecb1 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiLabelUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiLabelUI__ +#define __javax_swing_plaf_multi_MultiLabelUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiLabelUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiLabelUI : public ::javax::swing::plaf::LabelUI +{ + +public: + MultiLabelUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::LabelUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiLabelUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiListUI.h b/libjava/javax/swing/plaf/multi/MultiListUI.h new file mode 100644 index 00000000000..3147894c629 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiListUI.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiListUI__ +#define __javax_swing_plaf_multi_MultiListUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + class JList; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiListUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiListUI : public ::javax::swing::plaf::ListUI +{ + +public: + MultiListUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual jint locationToIndex(::javax::swing::JList *, ::java::awt::Point *); + virtual ::java::awt::Point * indexToLocation(::javax::swing::JList *, jint); + virtual ::java::awt::Rectangle * getCellBounds(::javax::swing::JList *, jint, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ListUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiListUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiLookAndFeel.h b/libjava/javax/swing/plaf/multi/MultiLookAndFeel.h new file mode 100644 index 00000000000..83925d036ed --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiLookAndFeel.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiLookAndFeel__ +#define __javax_swing_plaf_multi_MultiLookAndFeel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + class UIDefaults; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiLookAndFeel; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiLookAndFeel : public ::javax::swing::LookAndFeel +{ + +public: + MultiLookAndFeel(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * getID(); + virtual ::java::lang::String * getDescription(); + virtual jboolean isNativeLookAndFeel(); + virtual jboolean isSupportedLookAndFeel(); + virtual ::javax::swing::UIDefaults * getDefaults(); + static ::javax::swing::plaf::ComponentUI * createUIs(::javax::swing::plaf::ComponentUI *, ::java::util::Vector *, ::javax::swing::JComponent *); +public: // actually protected + static JArray< ::javax::swing::plaf::ComponentUI * > * uisToArray(::java::util::Vector *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiLookAndFeel__ diff --git a/libjava/javax/swing/plaf/multi/MultiMenuBarUI.h b/libjava/javax/swing/plaf/multi/MultiMenuBarUI.h new file mode 100644 index 00000000000..9056557b4c7 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiMenuBarUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiMenuBarUI__ +#define __javax_swing_plaf_multi_MultiMenuBarUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiMenuBarUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiMenuBarUI : public ::javax::swing::plaf::MenuBarUI +{ + +public: + MultiMenuBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::MenuBarUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiMenuBarUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiMenuItemUI.h b/libjava/javax/swing/plaf/multi/MultiMenuItemUI.h new file mode 100644 index 00000000000..7bbe2f23173 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiMenuItemUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiMenuItemUI__ +#define __javax_swing_plaf_multi_MultiMenuItemUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiMenuItemUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiMenuItemUI : public ::javax::swing::plaf::MenuItemUI +{ + +public: + MultiMenuItemUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::MenuItemUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiMenuItemUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiOptionPaneUI.h b/libjava/javax/swing/plaf/multi/MultiOptionPaneUI.h new file mode 100644 index 00000000000..ce895299c71 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiOptionPaneUI.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiOptionPaneUI__ +#define __javax_swing_plaf_multi_MultiOptionPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + class JOptionPane; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiOptionPaneUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiOptionPaneUI : public ::javax::swing::plaf::OptionPaneUI +{ + +public: + MultiOptionPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual void selectInitialValue(::javax::swing::JOptionPane *); + virtual jboolean containsCustomComponents(::javax::swing::JOptionPane *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::OptionPaneUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiOptionPaneUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiPanelUI.h b/libjava/javax/swing/plaf/multi/MultiPanelUI.h new file mode 100644 index 00000000000..83ac57c09d0 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiPanelUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiPanelUI__ +#define __javax_swing_plaf_multi_MultiPanelUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiPanelUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiPanelUI : public ::javax::swing::plaf::PanelUI +{ + +public: + MultiPanelUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::PanelUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiPanelUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiPopupMenuUI.h b/libjava/javax/swing/plaf/multi/MultiPopupMenuUI.h new file mode 100644 index 00000000000..717775652cd --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiPopupMenuUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiPopupMenuUI__ +#define __javax_swing_plaf_multi_MultiPopupMenuUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiPopupMenuUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiPopupMenuUI : public ::javax::swing::plaf::PopupMenuUI +{ + +public: + MultiPopupMenuUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::PopupMenuUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiPopupMenuUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiProgressBarUI.h b/libjava/javax/swing/plaf/multi/MultiProgressBarUI.h new file mode 100644 index 00000000000..797f3cab584 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiProgressBarUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiProgressBarUI__ +#define __javax_swing_plaf_multi_MultiProgressBarUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiProgressBarUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiProgressBarUI : public ::javax::swing::plaf::ProgressBarUI +{ + +public: + MultiProgressBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ProgressBarUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiProgressBarUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiRootPaneUI.h b/libjava/javax/swing/plaf/multi/MultiRootPaneUI.h new file mode 100644 index 00000000000..b45c22996f9 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiRootPaneUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiRootPaneUI__ +#define __javax_swing_plaf_multi_MultiRootPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiRootPaneUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiRootPaneUI : public ::javax::swing::plaf::RootPaneUI +{ + +public: + MultiRootPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::RootPaneUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiRootPaneUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiScrollBarUI.h b/libjava/javax/swing/plaf/multi/MultiScrollBarUI.h new file mode 100644 index 00000000000..0fd88116ad8 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiScrollBarUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiScrollBarUI__ +#define __javax_swing_plaf_multi_MultiScrollBarUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiScrollBarUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiScrollBarUI : public ::javax::swing::plaf::ScrollBarUI +{ + +public: + MultiScrollBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ScrollBarUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiScrollBarUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiScrollPaneUI.h b/libjava/javax/swing/plaf/multi/MultiScrollPaneUI.h new file mode 100644 index 00000000000..a05716a60a0 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiScrollPaneUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiScrollPaneUI__ +#define __javax_swing_plaf_multi_MultiScrollPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiScrollPaneUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiScrollPaneUI : public ::javax::swing::plaf::ScrollPaneUI +{ + +public: + MultiScrollPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ScrollPaneUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiScrollPaneUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiSeparatorUI.h b/libjava/javax/swing/plaf/multi/MultiSeparatorUI.h new file mode 100644 index 00000000000..b62235a18cd --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiSeparatorUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiSeparatorUI__ +#define __javax_swing_plaf_multi_MultiSeparatorUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiSeparatorUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiSeparatorUI : public ::javax::swing::plaf::SeparatorUI +{ + +public: + MultiSeparatorUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SeparatorUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiSeparatorUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiSliderUI.h b/libjava/javax/swing/plaf/multi/MultiSliderUI.h new file mode 100644 index 00000000000..b66d32ab54e --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiSliderUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiSliderUI__ +#define __javax_swing_plaf_multi_MultiSliderUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiSliderUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiSliderUI : public ::javax::swing::plaf::SliderUI +{ + +public: + MultiSliderUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SliderUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiSliderUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiSpinnerUI.h b/libjava/javax/swing/plaf/multi/MultiSpinnerUI.h new file mode 100644 index 00000000000..32a9d868252 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiSpinnerUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiSpinnerUI__ +#define __javax_swing_plaf_multi_MultiSpinnerUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiSpinnerUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiSpinnerUI : public ::javax::swing::plaf::SpinnerUI +{ + +public: + MultiSpinnerUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SpinnerUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiSpinnerUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiSplitPaneUI.h b/libjava/javax/swing/plaf/multi/MultiSplitPaneUI.h new file mode 100644 index 00000000000..5ed5638fe88 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiSplitPaneUI.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiSplitPaneUI__ +#define __javax_swing_plaf_multi_MultiSplitPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + class JSplitPane; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiSplitPaneUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiSplitPaneUI : public ::javax::swing::plaf::SplitPaneUI +{ + +public: + MultiSplitPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual void resetToPreferredSizes(::javax::swing::JSplitPane *); + virtual void setDividerLocation(::javax::swing::JSplitPane *, jint); + virtual jint getDividerLocation(::javax::swing::JSplitPane *); + virtual jint getMinimumDividerLocation(::javax::swing::JSplitPane *); + virtual jint getMaximumDividerLocation(::javax::swing::JSplitPane *); + virtual void finishedPaintingChildren(::javax::swing::JSplitPane *, ::java::awt::Graphics *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::SplitPaneUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiSplitPaneUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiTabbedPaneUI.h b/libjava/javax/swing/plaf/multi/MultiTabbedPaneUI.h new file mode 100644 index 00000000000..7740c3fd183 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiTabbedPaneUI.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiTabbedPaneUI__ +#define __javax_swing_plaf_multi_MultiTabbedPaneUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + class JTabbedPane; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiTabbedPaneUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiTabbedPaneUI : public ::javax::swing::plaf::TabbedPaneUI +{ + +public: + MultiTabbedPaneUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual jint tabForCoordinate(::javax::swing::JTabbedPane *, jint, jint); + virtual ::java::awt::Rectangle * getTabBounds(::javax::swing::JTabbedPane *, jint); + virtual jint getTabRunCount(::javax::swing::JTabbedPane *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TabbedPaneUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiTabbedPaneUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiTableHeaderUI.h b/libjava/javax/swing/plaf/multi/MultiTableHeaderUI.h new file mode 100644 index 00000000000..87cf03ef5a5 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiTableHeaderUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiTableHeaderUI__ +#define __javax_swing_plaf_multi_MultiTableHeaderUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiTableHeaderUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiTableHeaderUI : public ::javax::swing::plaf::TableHeaderUI +{ + +public: + MultiTableHeaderUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TableHeaderUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiTableHeaderUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiTableUI.h b/libjava/javax/swing/plaf/multi/MultiTableUI.h new file mode 100644 index 00000000000..cb84f0f2c53 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiTableUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiTableUI__ +#define __javax_swing_plaf_multi_MultiTableUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiTableUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiTableUI : public ::javax::swing::plaf::TableUI +{ + +public: + MultiTableUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TableUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiTableUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiTextUI.h b/libjava/javax/swing/plaf/multi/MultiTextUI.h new file mode 100644 index 00000000000..6d0440e7a88 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiTextUI.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiTextUI__ +#define __javax_swing_plaf_multi_MultiTextUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiTextUI; + } + } + namespace text + { + class EditorKit; + class JTextComponent; + class Position$Bias; + class View; + } + } + } +} + +class javax::swing::plaf::multi::MultiTextUI : public ::javax::swing::plaf::TextUI +{ + +public: + MultiTextUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual ::java::awt::Rectangle * modelToView(::javax::swing::text::JTextComponent *, jint); + virtual ::java::awt::Rectangle * modelToView(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(::javax::swing::text::JTextComponent *, ::java::awt::Point *); + virtual jint viewToModel(::javax::swing::text::JTextComponent *, ::java::awt::Point *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jint getNextVisualPositionFrom(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual void damageRange(::javax::swing::text::JTextComponent *, jint, jint); + virtual void damageRange(::javax::swing::text::JTextComponent *, jint, jint, ::javax::swing::text::Position$Bias *, ::javax::swing::text::Position$Bias *); + virtual ::javax::swing::text::EditorKit * getEditorKit(::javax::swing::text::JTextComponent *); + virtual ::javax::swing::text::View * getRootView(::javax::swing::text::JTextComponent *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TextUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiTextUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiToolBarUI.h b/libjava/javax/swing/plaf/multi/MultiToolBarUI.h new file mode 100644 index 00000000000..91c89162895 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiToolBarUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiToolBarUI__ +#define __javax_swing_plaf_multi_MultiToolBarUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiToolBarUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiToolBarUI : public ::javax::swing::plaf::ToolBarUI +{ + +public: + MultiToolBarUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ToolBarUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiToolBarUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiToolTipUI.h b/libjava/javax/swing/plaf/multi/MultiToolTipUI.h new file mode 100644 index 00000000000..07ed28e7372 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiToolTipUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiToolTipUI__ +#define __javax_swing_plaf_multi_MultiToolTipUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiToolTipUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiToolTipUI : public ::javax::swing::plaf::ToolTipUI +{ + +public: + MultiToolTipUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ToolTipUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiToolTipUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiTreeUI.h b/libjava/javax/swing/plaf/multi/MultiTreeUI.h new file mode 100644 index 00000000000..0477cc6267e --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiTreeUI.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiTreeUI__ +#define __javax_swing_plaf_multi_MultiTreeUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + class JTree; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiTreeUI; + } + } + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::plaf::multi::MultiTreeUI : public ::javax::swing::plaf::TreeUI +{ + +public: + MultiTreeUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); + virtual ::java::awt::Rectangle * getPathBounds(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getPathForRow(::javax::swing::JTree *, jint); + virtual jint getRowForPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); + virtual jint getRowCount(::javax::swing::JTree *); + virtual ::javax::swing::tree::TreePath * getClosestPathForLocation(::javax::swing::JTree *, jint, jint); + virtual jboolean isEditing(::javax::swing::JTree *); + virtual jboolean stopEditing(::javax::swing::JTree *); + virtual void cancelEditing(::javax::swing::JTree *); + virtual void startEditingAtPath(::javax::swing::JTree *, ::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getEditingPath(::javax::swing::JTree *); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::TreeUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiTreeUI__ diff --git a/libjava/javax/swing/plaf/multi/MultiViewportUI.h b/libjava/javax/swing/plaf/multi/MultiViewportUI.h new file mode 100644 index 00000000000..6ddbb0b9bd1 --- /dev/null +++ b/libjava/javax/swing/plaf/multi/MultiViewportUI.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_multi_MultiViewportUI__ +#define __javax_swing_plaf_multi_MultiViewportUI__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + } + namespace swing + { + class JComponent; + namespace plaf + { + class ComponentUI; + namespace multi + { + class MultiViewportUI; + } + } + } + } +} + +class javax::swing::plaf::multi::MultiViewportUI : public ::javax::swing::plaf::ViewportUI +{ + +public: + MultiViewportUI(); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void installUI(::javax::swing::JComponent *); + virtual void uninstallUI(::javax::swing::JComponent *); + virtual JArray< ::javax::swing::plaf::ComponentUI * > * getUIs(); + virtual jboolean contains(::javax::swing::JComponent *, jint, jint); + virtual void update(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual void paint(::java::awt::Graphics *, ::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::JComponent *); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::JComponent *); + virtual jint getAccessibleChildrenCount(::javax::swing::JComponent *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(::javax::swing::JComponent *, jint); +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::plaf::ViewportUI)))) uis; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_multi_MultiViewportUI__ diff --git a/libjava/javax/swing/plaf/synth/ColorType.h b/libjava/javax/swing/plaf/synth/ColorType.h new file mode 100644 index 00000000000..99a238cf302 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/ColorType.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_ColorType__ +#define __javax_swing_plaf_synth_ColorType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace synth + { + class ColorType; + } + } + } + } +} + +class javax::swing::plaf::synth::ColorType : public ::java::lang::Object +{ + +public: // actually protected + ColorType(::java::lang::String *); +public: + virtual jint getID(); + virtual ::java::lang::String * toString(); + static ::javax::swing::plaf::synth::ColorType * FOREGROUND; + static ::javax::swing::plaf::synth::ColorType * BACKGROUND; + static ::javax::swing::plaf::synth::ColorType * TEXT_FOREGROUND; + static ::javax::swing::plaf::synth::ColorType * TEXT_BACKGROUND; + static ::javax::swing::plaf::synth::ColorType * FOCUS; + static jint MAX_COUNT; +private: + static jint count; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::lang::String * description; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_ColorType__ diff --git a/libjava/javax/swing/plaf/synth/Region.h b/libjava/javax/swing/plaf/synth/Region.h new file mode 100644 index 00000000000..1df2b4f9fc6 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/Region.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_Region__ +#define __javax_swing_plaf_synth_Region__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace synth + { + class Region; + } + } + } + } +} + +class javax::swing::plaf::synth::Region : public ::java::lang::Object +{ + +public: // actually protected + Region(::java::lang::String *, ::java::lang::String *, jboolean); +public: + virtual jboolean isSubregion(); + virtual ::java::lang::String * getName(); + virtual ::java::lang::String * toString(); + static ::javax::swing::plaf::synth::Region * ARROW_BUTTON; + static ::javax::swing::plaf::synth::Region * BUTTON; + static ::javax::swing::plaf::synth::Region * CHECK_BOX; + static ::javax::swing::plaf::synth::Region * CHECK_BOX_MENU_ITEM; + static ::javax::swing::plaf::synth::Region * COLOR_CHOOSER; + static ::javax::swing::plaf::synth::Region * COMBO_BOX; + static ::javax::swing::plaf::synth::Region * DESKTOP_PANE; + static ::javax::swing::plaf::synth::Region * DESKTOP_ICON; + static ::javax::swing::plaf::synth::Region * EDITOR_PANE; + static ::javax::swing::plaf::synth::Region * FILE_CHOOSER; + static ::javax::swing::plaf::synth::Region * FORMATTED_TEXT_FIELD; + static ::javax::swing::plaf::synth::Region * INTERNAL_FRAME; + static ::javax::swing::plaf::synth::Region * INTERNAL_FRAME_TITLE_PANE; + static ::javax::swing::plaf::synth::Region * LABEL; + static ::javax::swing::plaf::synth::Region * LIST; + static ::javax::swing::plaf::synth::Region * MENU; + static ::javax::swing::plaf::synth::Region * MENU_BAR; + static ::javax::swing::plaf::synth::Region * MENU_ITEM; + static ::javax::swing::plaf::synth::Region * MENU_ITEM_ACCELERATOR; + static ::javax::swing::plaf::synth::Region * OPTION_PANE; + static ::javax::swing::plaf::synth::Region * PANEL; + static ::javax::swing::plaf::synth::Region * PASSWORD_FIELD; + static ::javax::swing::plaf::synth::Region * POPUP_MENU; + static ::javax::swing::plaf::synth::Region * POPUP_MENU_SEPARATOR; + static ::javax::swing::plaf::synth::Region * PROGRESS_BAR; + static ::javax::swing::plaf::synth::Region * RADIO_BUTTON; + static ::javax::swing::plaf::synth::Region * RADIO_BUTTON_MENU_ITEM; + static ::javax::swing::plaf::synth::Region * ROOT_PANE; + static ::javax::swing::plaf::synth::Region * SCROLL_BAR; + static ::javax::swing::plaf::synth::Region * SCROLL_BAR_TRACK; + static ::javax::swing::plaf::synth::Region * SCROLL_BAR_THUMB; + static ::javax::swing::plaf::synth::Region * SCROLL_PANE; + static ::javax::swing::plaf::synth::Region * SEPARATOR; + static ::javax::swing::plaf::synth::Region * SLIDER; + static ::javax::swing::plaf::synth::Region * SLIDER_TRACK; + static ::javax::swing::plaf::synth::Region * SLIDER_THUMB; + static ::javax::swing::plaf::synth::Region * SPINNER; + static ::javax::swing::plaf::synth::Region * SPLIT_PANE; + static ::javax::swing::plaf::synth::Region * SPLIT_PANE_DIVIDER; + static ::javax::swing::plaf::synth::Region * TABBED_PANE; + static ::javax::swing::plaf::synth::Region * TABBED_PANE_TAB; + static ::javax::swing::plaf::synth::Region * TABBED_PANE_TAB_AREA; + static ::javax::swing::plaf::synth::Region * TABBED_PANE_CONTENT; + static ::javax::swing::plaf::synth::Region * TABLE; + static ::javax::swing::plaf::synth::Region * TABLE_HEADER; + static ::javax::swing::plaf::synth::Region * TEXT_AREA; + static ::javax::swing::plaf::synth::Region * TEXT_FIELD; + static ::javax::swing::plaf::synth::Region * TEXT_PANE; + static ::javax::swing::plaf::synth::Region * TOGGLE_BUTTON; + static ::javax::swing::plaf::synth::Region * TOOL_BAR; + static ::javax::swing::plaf::synth::Region * TOOL_BAR_CONTENT; + static ::javax::swing::plaf::synth::Region * TOOL_BAR_DRAG_WINDOW; + static ::javax::swing::plaf::synth::Region * TOOL_TIP; + static ::javax::swing::plaf::synth::Region * TOOL_BAR_SEPARATOR; + static ::javax::swing::plaf::synth::Region * TREE; + static ::javax::swing::plaf::synth::Region * TREE_CELL; + static ::javax::swing::plaf::synth::Region * VIEWPORT; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ui; +private: + ::java::lang::String * name; + jboolean subregion; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_Region__ diff --git a/libjava/javax/swing/plaf/synth/SynthConstants.h b/libjava/javax/swing/plaf/synth/SynthConstants.h new file mode 100644 index 00000000000..a6ae6deb832 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthConstants.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthConstants__ +#define __javax_swing_plaf_synth_SynthConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace plaf + { + namespace synth + { + class SynthConstants; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthConstants : public ::java::lang::Object +{ + +public: + static const jint ENABLED = 1; + static const jint DISABLED = 8; + static const jint MOUSE_OVER = 2; + static const jint PRESSED = 4; + static const jint FOCUSED = 256; + static const jint SELECTED = 512; + static const jint DEFAULT = 1024; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_plaf_synth_SynthConstants__ diff --git a/libjava/javax/swing/plaf/synth/SynthContext.h b/libjava/javax/swing/plaf/synth/SynthContext.h new file mode 100644 index 00000000000..7e2eadb6dc7 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthContext.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthContext__ +#define __javax_swing_plaf_synth_SynthContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + namespace synth + { + class Region; + class SynthContext; + class SynthStyle; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthContext : public ::java::lang::Object +{ + +public: + SynthContext(::javax::swing::JComponent *, ::javax::swing::plaf::synth::Region *, ::javax::swing::plaf::synth::SynthStyle *, jint); + virtual ::javax::swing::JComponent * getComponent(); + virtual ::javax::swing::plaf::synth::Region * getRegion(); + virtual ::javax::swing::plaf::synth::SynthStyle * getStyle(); + virtual jint getComponentState(); +private: + ::javax::swing::JComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) component; + ::javax::swing::plaf::synth::Region * region; + ::javax::swing::plaf::synth::SynthStyle * style; + jint state; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_SynthContext__ diff --git a/libjava/javax/swing/plaf/synth/SynthGraphicsUtils.h b/libjava/javax/swing/plaf/synth/SynthGraphicsUtils.h new file mode 100644 index 00000000000..36c09c1a0d5 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthGraphicsUtils.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthGraphicsUtils__ +#define __javax_swing_plaf_synth_SynthGraphicsUtils__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Font; + class FontMetrics; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + namespace synth + { + class SynthContext; + class SynthGraphicsUtils; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthGraphicsUtils : public ::java::lang::Object +{ + +public: + SynthGraphicsUtils(); + virtual void drawLine(::javax::swing::plaf::synth::SynthContext *, ::java::lang::Object *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual ::java::lang::String * layoutText(::javax::swing::plaf::synth::SynthContext *, ::java::awt::FontMetrics *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, ::java::awt::Rectangle *, ::java::awt::Rectangle *, ::java::awt::Rectangle *, jint); + virtual jint computeStringWidth(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Font *, ::java::awt::FontMetrics *, ::java::lang::String *); + virtual ::java::awt::Dimension * getMinimumSize(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Font *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, jint, jint); + virtual ::java::awt::Dimension * getPreferredSize(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Font *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, jint, jint); + virtual ::java::awt::Dimension * getMaximumSize(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Font *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, jint, jint); + virtual jint getMaximumCharHeight(::javax::swing::plaf::synth::SynthContext *); + virtual void paintText(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, ::java::lang::String *, ::java::awt::Rectangle *, jint); + virtual void paintText(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, ::java::lang::String *, jint, jint, jint); + virtual void paintText(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, ::java::lang::String *, ::javax::swing::Icon *, jint, jint, jint, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_SynthGraphicsUtils__ diff --git a/libjava/javax/swing/plaf/synth/SynthLookAndFeel.h b/libjava/javax/swing/plaf/synth/SynthLookAndFeel.h new file mode 100644 index 00000000000..d0b40a878b7 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthLookAndFeel.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthLookAndFeel__ +#define __javax_swing_plaf_synth_SynthLookAndFeel__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JComponent; + class UIDefaults; + namespace plaf + { + class ComponentUI; + namespace synth + { + class Region; + class SynthLookAndFeel; + class SynthStyle; + class SynthStyleFactory; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthLookAndFeel : public ::javax::swing::plaf::basic::BasicLookAndFeel +{ + +public: + SynthLookAndFeel(); + static void setStyleFactory(::javax::swing::plaf::synth::SynthStyleFactory *); + static ::javax::swing::plaf::synth::SynthStyleFactory * getStyleFactory(); + static ::javax::swing::plaf::synth::SynthStyle * getStyle(::javax::swing::JComponent *, ::javax::swing::plaf::synth::Region *); + static void updateStyles(::java::awt::Component *); + static ::javax::swing::plaf::synth::Region * getRegion(::javax::swing::JComponent *); + static ::javax::swing::plaf::ComponentUI * createUI(::javax::swing::JComponent *); + virtual void initialize(); + virtual void uninitialize(); + virtual ::javax::swing::UIDefaults * getDefaults(); + virtual jboolean shouldUpdateStyleOnAncestorChanged(); + virtual void load(::java::io::InputStream *, ::java::lang::Class *); + virtual ::java::lang::String * getDescription(); + virtual ::java::lang::String * getID(); + virtual ::java::lang::String * getName(); + virtual jboolean isNativeLookAndFeel(); + virtual jboolean isSupportedLookAndFeel(); +private: + static ::javax::swing::plaf::synth::SynthStyleFactory * styleFactory; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_SynthLookAndFeel__ diff --git a/libjava/javax/swing/plaf/synth/SynthPainter.h b/libjava/javax/swing/plaf/synth/SynthPainter.h new file mode 100644 index 00000000000..23172a0ad59 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthPainter.h @@ -0,0 +1,156 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthPainter__ +#define __javax_swing_plaf_synth_SynthPainter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace plaf + { + namespace synth + { + class SynthContext; + class SynthPainter; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthPainter : public ::java::lang::Object +{ + +public: + SynthPainter(); + virtual void paintArrowButtonForeground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintProgressBarForeground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintSeparatorForeground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintSplitPaneDividerForeground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintSplitPaneDragDivider(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintTreeCellFocus(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintArrowButtonBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintArrowButtonBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintButtonBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintButtonBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintCheckBoxBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintCheckBoxBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintCheckBoxMenuItemBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintCheckBoxMenuItemBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintColorChooserBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintColorChooserBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintComboBoxBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintComboBoxBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintDesktopIconBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintDesktopIconBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintDesktopPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintDesktopPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintEditorPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintEditorPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintFileChooserBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintFileChooserBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintFormattedTextFieldBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintFormattedTextFieldBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintInternalFrameBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintInternalFrameBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintInternalFrameTitlePaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintInternalFrameTitlePaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintLabelBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintLabelBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintListBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintListBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintMenuBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintMenuBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintMenuBarBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintMenuBarBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintMenuItemBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintMenuItemBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintOptionPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintOptionPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintPanelBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintPanelBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintPasswordFieldBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintPasswordFieldBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintPopupMenuBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintPopupMenuBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintProgressBarBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintProgressBarBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintRadioButtonBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintRadioButtonBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintRadioButtonMenuItemBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintRadioButtonMenuItemBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintRootPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintRootPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintScrollBarBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintScrollBarBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintScrollBarThumbBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintScrollBarThumbBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintScrollBarTrackBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintScrollBarTrackBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintScrollPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintScrollPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSeparatorBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSeparatorBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSliderBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSliderBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSliderThumbBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintSliderThumbBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintSliderTrackBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSliderTrackBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSpinnerBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSpinnerBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSplitPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSplitPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintSplitPaneDividerBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneContentBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneContentBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneTabAreaBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneTabAreaBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTabbedPaneTabBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintTabbedPaneTabBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint, jint); + virtual void paintTableBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTableBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTableHeaderBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTableHeaderBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTextAreaBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTextAreaBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTextFieldBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTextFieldBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTextPaneBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTextPaneBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToggleButtonBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToggleButtonBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolBarBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolBarBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolBarContentBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolBarContentBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolBarDragWindowBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolBarDragWindowBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolTipBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintToolTipBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTreeBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTreeBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTreeCellBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintTreeCellBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintViewportBackground(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + virtual void paintViewportBorder(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Graphics *, jint, jint, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_SynthPainter__ diff --git a/libjava/javax/swing/plaf/synth/SynthStyle.h b/libjava/javax/swing/plaf/synth/SynthStyle.h new file mode 100644 index 00000000000..b8779f2b394 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthStyle.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthStyle__ +#define __javax_swing_plaf_synth_SynthStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + class Insets; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace plaf + { + namespace synth + { + class ColorType; + class SynthContext; + class SynthGraphicsUtils; + class SynthPainter; + class SynthStyle; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthStyle : public ::java::lang::Object +{ + +public: + SynthStyle(); + virtual ::javax::swing::plaf::synth::SynthGraphicsUtils * getGraphicsUtils(::javax::swing::plaf::synth::SynthContext *); + virtual ::java::awt::Color * getColor(::javax::swing::plaf::synth::SynthContext *, ::javax::swing::plaf::synth::ColorType *); +public: // actually protected + virtual ::java::awt::Color * getColorForState(::javax::swing::plaf::synth::SynthContext *, ::javax::swing::plaf::synth::ColorType *) = 0; +public: + virtual ::java::awt::Font * getFont(::javax::swing::plaf::synth::SynthContext *); +public: // actually protected + virtual ::java::awt::Font * getFontForState(::javax::swing::plaf::synth::SynthContext *) = 0; +public: + virtual ::java::awt::Insets * getInsets(::javax::swing::plaf::synth::SynthContext *, ::java::awt::Insets *); + virtual ::javax::swing::plaf::synth::SynthPainter * getPainter(::javax::swing::plaf::synth::SynthContext *); + virtual jboolean isOpaque(::javax::swing::plaf::synth::SynthContext *); + virtual ::java::lang::Object * get(::javax::swing::plaf::synth::SynthContext *, ::java::lang::Object *); + virtual void installDefaults(::javax::swing::plaf::synth::SynthContext *); + virtual void uninstallDefaults(::javax::swing::plaf::synth::SynthContext *); + virtual jint getInt(::javax::swing::plaf::synth::SynthContext *, ::java::lang::Object *, jint); + virtual jboolean getBoolean(::javax::swing::plaf::synth::SynthContext *, ::java::lang::Object *, jboolean); + virtual ::javax::swing::Icon * getIcon(::javax::swing::plaf::synth::SynthContext *, ::java::lang::Object *); + virtual ::java::lang::String * getString(::javax::swing::plaf::synth::SynthContext *, ::java::lang::Object *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_SynthStyle__ diff --git a/libjava/javax/swing/plaf/synth/SynthStyleFactory.h b/libjava/javax/swing/plaf/synth/SynthStyleFactory.h new file mode 100644 index 00000000000..2f6905676a7 --- /dev/null +++ b/libjava/javax/swing/plaf/synth/SynthStyleFactory.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_plaf_synth_SynthStyleFactory__ +#define __javax_swing_plaf_synth_SynthStyleFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JComponent; + namespace plaf + { + namespace synth + { + class Region; + class SynthStyle; + class SynthStyleFactory; + } + } + } + } +} + +class javax::swing::plaf::synth::SynthStyleFactory : public ::java::lang::Object +{ + +public: + SynthStyleFactory(); + virtual ::javax::swing::plaf::synth::SynthStyle * getStyle(::javax::swing::JComponent *, ::javax::swing::plaf::synth::Region *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_plaf_synth_SynthStyleFactory__ diff --git a/libjava/javax/swing/table/AbstractTableModel.h b/libjava/javax/swing/table/AbstractTableModel.h new file mode 100644 index 00000000000..307aa95f9d6 --- /dev/null +++ b/libjava/javax/swing/table/AbstractTableModel.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_AbstractTableModel__ +#define __javax_swing_table_AbstractTableModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class EventListenerList; + class TableModelEvent; + class TableModelListener; + } + namespace table + { + class AbstractTableModel; + } + } + } +} + +class javax::swing::table::AbstractTableModel : public ::java::lang::Object +{ + +public: + AbstractTableModel(); + virtual ::java::lang::String * getColumnName(jint); + virtual jint findColumn(::java::lang::String *); + virtual ::java::lang::Class * getColumnClass(jint); + virtual jboolean isCellEditable(jint, jint); + virtual void setValueAt(::java::lang::Object *, jint, jint); + virtual void addTableModelListener(::javax::swing::event::TableModelListener *); + virtual void removeTableModelListener(::javax::swing::event::TableModelListener *); + virtual JArray< ::javax::swing::event::TableModelListener * > * getTableModelListeners(); + virtual void fireTableDataChanged(); + virtual void fireTableStructureChanged(); + virtual void fireTableRowsInserted(jint, jint); + virtual void fireTableRowsUpdated(jint, jint); + virtual void fireTableRowsDeleted(jint, jint); + virtual void fireTableCellUpdated(jint, jint); + virtual void fireTableChanged(::javax::swing::event::TableModelEvent *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual jint getRowCount() = 0; + virtual jint getColumnCount() = 0; + virtual ::java::lang::Object * getValueAt(jint, jint) = 0; +public: // actually package-private + static const jlong serialVersionUID = -5798593159423650347LL; +public: // actually protected + ::javax::swing::event::EventListenerList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerList; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_AbstractTableModel__ diff --git a/libjava/javax/swing/table/DefaultTableCellRenderer$UIResource.h b/libjava/javax/swing/table/DefaultTableCellRenderer$UIResource.h new file mode 100644 index 00000000000..ba101048b2a --- /dev/null +++ b/libjava/javax/swing/table/DefaultTableCellRenderer$UIResource.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_DefaultTableCellRenderer$UIResource__ +#define __javax_swing_table_DefaultTableCellRenderer$UIResource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace table + { + class DefaultTableCellRenderer$UIResource; + } + } + } +} + +class javax::swing::table::DefaultTableCellRenderer$UIResource : public ::javax::swing::table::DefaultTableCellRenderer +{ + +public: + DefaultTableCellRenderer$UIResource(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_DefaultTableCellRenderer$UIResource__ diff --git a/libjava/javax/swing/table/DefaultTableCellRenderer.h b/libjava/javax/swing/table/DefaultTableCellRenderer.h new file mode 100644 index 00000000000..7865b5a4a99 --- /dev/null +++ b/libjava/javax/swing/table/DefaultTableCellRenderer.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_DefaultTableCellRenderer__ +#define __javax_swing_table_DefaultTableCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class JTable; + namespace border + { + class Border; + } + namespace table + { + class DefaultTableCellRenderer; + } + } + } +} + +class javax::swing::table::DefaultTableCellRenderer : public ::javax::swing::JLabel +{ + +public: + DefaultTableCellRenderer(); + virtual void setForeground(::java::awt::Color *); + virtual void setBackground(::java::awt::Color *); + virtual void updateUI(); + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint); + virtual jboolean isOpaque(); + virtual void validate(); + virtual void revalidate(); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void repaint(::java::awt::Rectangle *); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); +public: // actually protected + virtual void setValue(::java::lang::Object *); +public: // actually package-private + static const jlong serialVersionUID = 7878911414715528324LL; +public: // actually protected + static ::javax::swing::border::Border * noFocusBorder; +public: // actually package-private + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::JLabel)))) foreground; + ::java::awt::Color * background; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_DefaultTableCellRenderer__ diff --git a/libjava/javax/swing/table/DefaultTableColumnModel.h b/libjava/javax/swing/table/DefaultTableColumnModel.h new file mode 100644 index 00000000000..bdbb4e7758c --- /dev/null +++ b/libjava/javax/swing/table/DefaultTableColumnModel.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_DefaultTableColumnModel__ +#define __javax_swing_table_DefaultTableColumnModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + class ListSelectionModel; + namespace event + { + class ChangeEvent; + class EventListenerList; + class ListSelectionEvent; + class TableColumnModelEvent; + class TableColumnModelListener; + } + namespace table + { + class DefaultTableColumnModel; + class TableColumn; + } + } + } +} + +class javax::swing::table::DefaultTableColumnModel : public ::java::lang::Object +{ + +public: + DefaultTableColumnModel(); + virtual void addColumn(::javax::swing::table::TableColumn *); + virtual void removeColumn(::javax::swing::table::TableColumn *); + virtual void moveColumn(jint, jint); + virtual void setColumnMargin(jint); + virtual jint getColumnCount(); + virtual ::java::util::Enumeration * getColumns(); + virtual jint getColumnIndex(::java::lang::Object *); + virtual ::javax::swing::table::TableColumn * getColumn(jint); + virtual jint getColumnMargin(); + virtual jint getColumnIndexAtX(jint); + virtual jint getTotalColumnWidth(); + virtual void setSelectionModel(::javax::swing::ListSelectionModel *); + virtual ::javax::swing::ListSelectionModel * getSelectionModel(); + virtual void setColumnSelectionAllowed(jboolean); + virtual jboolean getColumnSelectionAllowed(); + virtual JArray< jint > * getSelectedColumns(); + virtual jint getSelectedColumnCount(); + virtual void addColumnModelListener(::javax::swing::event::TableColumnModelListener *); + virtual void removeColumnModelListener(::javax::swing::event::TableColumnModelListener *); + virtual JArray< ::javax::swing::event::TableColumnModelListener * > * getColumnModelListeners(); +public: // actually protected + virtual void fireColumnAdded(::javax::swing::event::TableColumnModelEvent *); + virtual void fireColumnRemoved(::javax::swing::event::TableColumnModelEvent *); + virtual void fireColumnMoved(::javax::swing::event::TableColumnModelEvent *); + virtual void fireColumnSelectionChanged(::javax::swing::event::ListSelectionEvent *); + virtual void fireColumnMarginChanged(); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual void propertyChange(::java::beans::PropertyChangeEvent *); + virtual void valueChanged(::javax::swing::event::ListSelectionEvent *); +public: // actually protected + virtual ::javax::swing::ListSelectionModel * createSelectionModel(); + virtual void recalcWidthCache(); +private: + void invalidateWidthCache(); + static const jlong serialVersionUID = 6580012493508960512LL; +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tableColumns; + ::javax::swing::ListSelectionModel * selectionModel; + jint columnMargin; + ::javax::swing::event::EventListenerList * listenerList; + ::javax::swing::event::ChangeEvent * changeEvent; + jboolean columnSelectionAllowed; + jint totalColumnWidth; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_DefaultTableColumnModel__ diff --git a/libjava/javax/swing/table/DefaultTableModel.h b/libjava/javax/swing/table/DefaultTableModel.h new file mode 100644 index 00000000000..a5f3bd4eca8 --- /dev/null +++ b/libjava/javax/swing/table/DefaultTableModel.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_DefaultTableModel__ +#define __javax_swing_table_DefaultTableModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TableModelEvent; + } + namespace table + { + class DefaultTableModel; + } + } + } +} + +class javax::swing::table::DefaultTableModel : public ::javax::swing::table::AbstractTableModel +{ + +public: + DefaultTableModel(); + DefaultTableModel(jint, jint); + DefaultTableModel(::java::util::Vector *, jint); + DefaultTableModel(JArray< ::java::lang::Object * > *, jint); + DefaultTableModel(::java::util::Vector *, ::java::util::Vector *); + DefaultTableModel(JArray< JArray< ::java::lang::Object * > * > *, JArray< ::java::lang::Object * > *); + virtual ::java::util::Vector * getDataVector(); + virtual void setDataVector(::java::util::Vector *, ::java::util::Vector *); + virtual void setDataVector(JArray< JArray< ::java::lang::Object * > * > *, JArray< ::java::lang::Object * > *); + virtual void newDataAvailable(::javax::swing::event::TableModelEvent *); + virtual void newRowsAdded(::javax::swing::event::TableModelEvent *); + virtual void rowsRemoved(::javax::swing::event::TableModelEvent *); + virtual void setColumnIdentifiers(::java::util::Vector *); + virtual void setColumnIdentifiers(JArray< ::java::lang::Object * > *); + virtual void setNumRows(jint); + virtual void setRowCount(jint); + virtual void setColumnCount(jint); + virtual void addColumn(::java::lang::Object *); + virtual void addColumn(::java::lang::Object *, ::java::util::Vector *); + virtual void addColumn(::java::lang::Object *, JArray< ::java::lang::Object * > *); + virtual void addRow(::java::util::Vector *); + virtual void addRow(JArray< ::java::lang::Object * > *); + virtual void insertRow(jint, ::java::util::Vector *); + virtual void insertRow(jint, JArray< ::java::lang::Object * > *); + virtual void moveRow(jint, jint, jint); + virtual void removeRow(jint); + virtual jint getRowCount(); + virtual jint getColumnCount(); + virtual ::java::lang::String * getColumnName(jint); + virtual jboolean isCellEditable(jint, jint); + virtual ::java::lang::Object * getValueAt(jint, jint); + virtual void setValueAt(::java::lang::Object *, jint, jint); +public: // actually protected + static ::java::util::Vector * convertToVector(JArray< ::java::lang::Object * > *); + static ::java::util::Vector * convertToVector(JArray< JArray< ::java::lang::Object * > * > *); +private: + void addExtraRows(jint, jint); + void checkSize(); +public: // actually package-private + static const jlong serialVersionUID = 6680042567037222321LL; +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::table::AbstractTableModel)))) dataVector; + ::java::util::Vector * columnIdentifiers; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_DefaultTableModel__ diff --git a/libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.h b/libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.h new file mode 100644 index 00000000000..c5febbb2c65 --- /dev/null +++ b/libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry__ +#define __javax_swing_table_JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Cursor; + class Dimension; + class Font; + class FontMetrics; + class Point; + class Rectangle; + namespace event + { + class FocusListener; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleAction; + class AccessibleComponent; + class AccessibleContext; + class AccessibleRole; + class AccessibleSelection; + class AccessibleStateSet; + class AccessibleText; + class AccessibleValue; + } + namespace swing + { + class JTable; + namespace table + { + class JTableHeader; + class JTableHeader$AccessibleJTableHeader; + class JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry; + } + } + } +} + +class javax::swing::table::JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry : public ::javax::accessibility::AccessibleContext +{ + +public: + JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry(::javax::swing::table::JTableHeader$AccessibleJTableHeader *, jint, ::javax::swing::table::JTableHeader *, ::javax::swing::JTable *); +public: // actually package-private + virtual ::java::awt::Component * getColumnHeaderRenderer(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleColumnHeaderRenderer(); +public: + virtual void addFocusListener(::java::awt::event::FocusListener *); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual jboolean contains(::java::awt::Point *); + virtual ::javax::accessibility::AccessibleAction * getAccessibleAction(); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::AccessibleComponent * getAccessibleComponent(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::java::lang::String * getAccessibleDescription(); + virtual jint getAccessibleIndexInParent(); + virtual ::java::lang::String * getAccessibleName(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleSelection * getAccessibleSelection(); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); + virtual ::javax::accessibility::AccessibleValue * getAccessibleValue(); + virtual ::java::awt::Color * getBackground(); + virtual ::java::awt::Rectangle * getBounds(); + virtual ::java::awt::Cursor * getCursor(); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Color * getForeground(); + virtual ::java::util::Locale * getLocale(); + virtual ::java::awt::Point * getLocation(); + virtual ::java::awt::Point * getLocationOnScreen(); + virtual ::java::awt::Dimension * getSize(); + virtual jboolean isEnabled(); + virtual jboolean isFocusTraversable(); + virtual jboolean isShowing(); + virtual jboolean isVisible(); + virtual void removeFocusListener(::java::awt::event::FocusListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void requestFocus(); + virtual void setAccessibleDescription(::java::lang::String *); + virtual void setAccessibleName(::java::lang::String *); + virtual void setBackground(::java::awt::Color *); + virtual void setBounds(::java::awt::Rectangle *); + virtual void setCursor(::java::awt::Cursor *); + virtual void setEnabled(jboolean); + virtual void setFont(::java::awt::Font *); + virtual void setForeground(::java::awt::Color *); + virtual void setLocation(::java::awt::Point *); + virtual void setSize(::java::awt::Dimension *); + virtual void setVisible(jboolean); +private: + jint __attribute__((aligned(__alignof__( ::javax::accessibility::AccessibleContext)))) columnIndex; + ::javax::swing::table::JTableHeader * parent; + ::javax::swing::JTable * table; +public: // actually package-private + ::javax::swing::table::JTableHeader$AccessibleJTableHeader * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_JTableHeader$AccessibleJTableHeader$AccessibleJTableHeaderEntry__ diff --git a/libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader.h b/libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader.h new file mode 100644 index 00000000000..64fd44e7156 --- /dev/null +++ b/libjava/javax/swing/table/JTableHeader$AccessibleJTableHeader.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_JTableHeader$AccessibleJTableHeader__ +#define __javax_swing_table_JTableHeader$AccessibleJTableHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + } + } + namespace javax + { + namespace accessibility + { + class Accessible; + class AccessibleRole; + } + namespace swing + { + namespace table + { + class JTableHeader; + class JTableHeader$AccessibleJTableHeader; + } + } + } +} + +class javax::swing::table::JTableHeader$AccessibleJTableHeader : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: // actually protected + JTableHeader$AccessibleJTableHeader(::javax::swing::table::JTableHeader *); +public: + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual jint getAccessibleChildrenCount(); + virtual ::javax::accessibility::Accessible * getAccessibleChild(jint); + virtual ::javax::accessibility::Accessible * getAccessibleAt(::java::awt::Point *); +public: // actually package-private + ::javax::swing::table::JTableHeader * __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_JTableHeader$AccessibleJTableHeader__ diff --git a/libjava/javax/swing/table/JTableHeader.h b/libjava/javax/swing/table/JTableHeader.h new file mode 100644 index 00000000000..0c92ad30aa3 --- /dev/null +++ b/libjava/javax/swing/table/JTableHeader.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_JTableHeader__ +#define __javax_swing_table_JTableHeader__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class JTable; + namespace event + { + class ChangeEvent; + class ListSelectionEvent; + class TableColumnModelEvent; + } + namespace plaf + { + class TableHeaderUI; + } + namespace table + { + class JTableHeader; + class TableCellRenderer; + class TableColumn; + class TableColumnModel; + } + } + } +} + +class javax::swing::table::JTableHeader : public ::javax::swing::JComponent +{ + +public: + JTableHeader(); + JTableHeader(::javax::swing::table::TableColumnModel *); +public: // actually protected + virtual ::javax::swing::table::TableColumnModel * createDefaultColumnModel(); +public: + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual ::javax::swing::table::TableColumnModel * getColumnModel(); + virtual ::javax::swing::table::TableColumn * getDraggedColumn(); + virtual jint getDraggedDistance(); + virtual jboolean getReorderingAllowed(); + virtual jboolean getResizingAllowed(); + virtual ::javax::swing::table::TableColumn * getResizingColumn(); + virtual ::javax::swing::JTable * getTable(); + virtual jboolean getUpdateTableInRealTime(); + virtual jboolean isOpaque(); + virtual void setColumnModel(::javax::swing::table::TableColumnModel *); + virtual void setDraggedColumn(::javax::swing::table::TableColumn *); + virtual void setDraggedDistance(jint); + virtual void setOpaque(jboolean); + virtual void setReorderingAllowed(jboolean); + virtual void setResizingAllowed(jboolean); + virtual void setResizingColumn(::javax::swing::table::TableColumn *); + virtual void setTable(::javax::swing::JTable *); + virtual void setUpdateTableInRealTime(jboolean); +public: // actually protected + virtual ::javax::swing::table::TableCellRenderer * createDefaultRenderer(); +public: + virtual ::javax::swing::table::TableCellRenderer * getDefaultRenderer(); + virtual void setDefaultRenderer(::javax::swing::table::TableCellRenderer *); + virtual ::java::awt::Rectangle * getHeaderRect(jint); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::java::lang::String * getUIClassID(); + virtual ::javax::swing::plaf::TableHeaderUI * getUI(); + virtual void setUI(::javax::swing::plaf::TableHeaderUI *); + virtual void updateUI(); + virtual jint columnAtPoint(::java::awt::Point *); + virtual void columnAdded(::javax::swing::event::TableColumnModelEvent *); + virtual void columnMarginChanged(::javax::swing::event::ChangeEvent *); + virtual void columnMoved(::javax::swing::event::TableColumnModelEvent *); + virtual void columnRemoved(::javax::swing::event::TableColumnModelEvent *); + virtual void columnSelectionChanged(::javax::swing::event::ListSelectionEvent *); + virtual void resizeAndRepaint(); +public: // actually protected + virtual void initializeLocalVars(); +private: + static const jlong serialVersionUID = 5144633983372967710LL; +public: // actually protected + ::javax::swing::table::TableColumnModel * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) columnModel; + ::javax::swing::table::TableColumn * draggedColumn; + jint draggedDistance; +public: // actually package-private + jboolean opaque; +public: // actually protected + jboolean reorderingAllowed; + jboolean resizingAllowed; + ::javax::swing::table::TableColumn * resizingColumn; + ::javax::swing::JTable * table; + jboolean updateTableInRealTime; +public: // actually package-private + ::javax::swing::table::TableCellRenderer * cellRenderer; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_JTableHeader__ diff --git a/libjava/javax/swing/table/TableCellEditor.h b/libjava/javax/swing/table/TableCellEditor.h new file mode 100644 index 00000000000..a84088452c5 --- /dev/null +++ b/libjava/javax/swing/table/TableCellEditor.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_TableCellEditor__ +#define __javax_swing_table_TableCellEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + namespace event + { + class CellEditorListener; + } + namespace table + { + class TableCellEditor; + } + } + } +} + +class javax::swing::table::TableCellEditor : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getTableCellEditorComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jint, jint) = 0; + virtual ::java::lang::Object * getCellEditorValue() = 0; + virtual jboolean isCellEditable(::java::util::EventObject *) = 0; + virtual jboolean shouldSelectCell(::java::util::EventObject *) = 0; + virtual jboolean stopCellEditing() = 0; + virtual void cancelCellEditing() = 0; + virtual void addCellEditorListener(::javax::swing::event::CellEditorListener *) = 0; + virtual void removeCellEditorListener(::javax::swing::event::CellEditorListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_table_TableCellEditor__ diff --git a/libjava/javax/swing/table/TableCellRenderer.h b/libjava/javax/swing/table/TableCellRenderer.h new file mode 100644 index 00000000000..46e7eff87a4 --- /dev/null +++ b/libjava/javax/swing/table/TableCellRenderer.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_TableCellRenderer__ +#define __javax_swing_table_TableCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTable; + namespace table + { + class TableCellRenderer; + } + } + } +} + +class javax::swing::table::TableCellRenderer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getTableCellRendererComponent(::javax::swing::JTable *, ::java::lang::Object *, jboolean, jboolean, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_table_TableCellRenderer__ diff --git a/libjava/javax/swing/table/TableColumn.h b/libjava/javax/swing/table/TableColumn.h new file mode 100644 index 00000000000..11ca5758b6f --- /dev/null +++ b/libjava/javax/swing/table/TableColumn.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_TableColumn__ +#define __javax_swing_table_TableColumn__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class SwingPropertyChangeSupport; + } + namespace table + { + class TableCellEditor; + class TableCellRenderer; + class TableColumn; + } + } + } +} + +class javax::swing::table::TableColumn : public ::java::lang::Object +{ + +public: + TableColumn(); + TableColumn(jint); + TableColumn(jint, jint); + TableColumn(jint, jint, ::javax::swing::table::TableCellRenderer *, ::javax::swing::table::TableCellEditor *); + virtual void setModelIndex(jint); + virtual jint getModelIndex(); + virtual void setIdentifier(::java::lang::Object *); + virtual ::java::lang::Object * getIdentifier(); + virtual void setHeaderValue(::java::lang::Object *); + virtual ::java::lang::Object * getHeaderValue(); + virtual void setHeaderRenderer(::javax::swing::table::TableCellRenderer *); + virtual ::javax::swing::table::TableCellRenderer * getHeaderRenderer(); + virtual void setCellRenderer(::javax::swing::table::TableCellRenderer *); + virtual ::javax::swing::table::TableCellRenderer * getCellRenderer(); + virtual void setCellEditor(::javax::swing::table::TableCellEditor *); + virtual ::javax::swing::table::TableCellEditor * getCellEditor(); + virtual void setWidth(jint); + virtual jint getWidth(); + virtual void setPreferredWidth(jint); + virtual jint getPreferredWidth(); + virtual void setMinWidth(jint); + virtual jint getMinWidth(); + virtual void setMaxWidth(jint); + virtual jint getMaxWidth(); + virtual void setResizable(jboolean); + virtual jboolean getResizable(); + virtual void sizeWidthToFit(); + virtual void disableResizedPosting(); + virtual void enableResizedPosting(); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); +public: // actually protected + virtual ::javax::swing::table::TableCellRenderer * createDefaultHeaderRenderer(); +public: // actually package-private + static const jlong serialVersionUID = -6113660025878112608LL; +public: + static ::java::lang::String * COLUMN_WIDTH_PROPERTY; + static ::java::lang::String * HEADER_VALUE_PROPERTY; + static ::java::lang::String * HEADER_RENDERER_PROPERTY; + static ::java::lang::String * CELL_RENDERER_PROPERTY; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modelIndex; + ::java::lang::Object * identifier; + jint width; + jint minWidth; +private: + jint preferredWidth; +public: // actually protected + jint maxWidth; + ::javax::swing::table::TableCellRenderer * headerRenderer; + ::java::lang::Object * headerValue; + ::javax::swing::table::TableCellRenderer * cellRenderer; + ::javax::swing::table::TableCellEditor * cellEditor; + jboolean isResizable; + jint resizedPostingDisableCount; +private: + ::javax::swing::event::SwingPropertyChangeSupport * changeSupport; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_table_TableColumn__ diff --git a/libjava/javax/swing/table/TableColumnModel.h b/libjava/javax/swing/table/TableColumnModel.h new file mode 100644 index 00000000000..ea60322422a --- /dev/null +++ b/libjava/javax/swing/table/TableColumnModel.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_TableColumnModel__ +#define __javax_swing_table_TableColumnModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class ListSelectionModel; + namespace event + { + class TableColumnModelListener; + } + namespace table + { + class TableColumn; + class TableColumnModel; + } + } + } +} + +class javax::swing::table::TableColumnModel : public ::java::lang::Object +{ + +public: + virtual void addColumn(::javax::swing::table::TableColumn *) = 0; + virtual void removeColumn(::javax::swing::table::TableColumn *) = 0; + virtual void moveColumn(jint, jint) = 0; + virtual void setColumnMargin(jint) = 0; + virtual jint getColumnCount() = 0; + virtual ::java::util::Enumeration * getColumns() = 0; + virtual jint getColumnIndex(::java::lang::Object *) = 0; + virtual ::javax::swing::table::TableColumn * getColumn(jint) = 0; + virtual jint getColumnMargin() = 0; + virtual jint getColumnIndexAtX(jint) = 0; + virtual jint getTotalColumnWidth() = 0; + virtual void setColumnSelectionAllowed(jboolean) = 0; + virtual jboolean getColumnSelectionAllowed() = 0; + virtual JArray< jint > * getSelectedColumns() = 0; + virtual jint getSelectedColumnCount() = 0; + virtual void setSelectionModel(::javax::swing::ListSelectionModel *) = 0; + virtual ::javax::swing::ListSelectionModel * getSelectionModel() = 0; + virtual void addColumnModelListener(::javax::swing::event::TableColumnModelListener *) = 0; + virtual void removeColumnModelListener(::javax::swing::event::TableColumnModelListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_table_TableColumnModel__ diff --git a/libjava/javax/swing/table/TableModel.h b/libjava/javax/swing/table/TableModel.h new file mode 100644 index 00000000000..29494c5e102 --- /dev/null +++ b/libjava/javax/swing/table/TableModel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_table_TableModel__ +#define __javax_swing_table_TableModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TableModelListener; + } + namespace table + { + class TableModel; + } + } + } +} + +class javax::swing::table::TableModel : public ::java::lang::Object +{ + +public: + virtual jint getRowCount() = 0; + virtual jint getColumnCount() = 0; + virtual ::java::lang::String * getColumnName(jint) = 0; + virtual ::java::lang::Class * getColumnClass(jint) = 0; + virtual jboolean isCellEditable(jint, jint) = 0; + virtual ::java::lang::Object * getValueAt(jint, jint) = 0; + virtual void setValueAt(::java::lang::Object *, jint, jint) = 0; + virtual void addTableModelListener(::javax::swing::event::TableModelListener *) = 0; + virtual void removeTableModelListener(::javax::swing::event::TableModelListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_table_TableModel__ diff --git a/libjava/javax/swing/text/AbstractDocument$1.h b/libjava/javax/swing/text/AbstractDocument$1.h new file mode 100644 index 00000000000..b433e142189 --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$1__ +#define __javax_swing_text_AbstractDocument$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$1; + } + } + } +} + +class javax::swing::text::AbstractDocument$1 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractDocument$1(::javax::swing::text::AbstractDocument *); +public: + jint getOffset(); +public: // actually package-private + ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$1__ diff --git a/libjava/javax/swing/text/AbstractDocument$2.h b/libjava/javax/swing/text/AbstractDocument$2.h new file mode 100644 index 00000000000..dc504ce9eea --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$2.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$2__ +#define __javax_swing_text_AbstractDocument$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$2; + } + } + } +} + +class javax::swing::text::AbstractDocument$2 : public ::java::lang::Object +{ + +public: // actually package-private + AbstractDocument$2(::javax::swing::text::AbstractDocument *); +public: + jint getOffset(); +public: // actually package-private + ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$2__ diff --git a/libjava/javax/swing/text/AbstractDocument$AbstractElement.h b/libjava/javax/swing/text/AbstractDocument$AbstractElement.h new file mode 100644 index 00000000000..1aae4dc3660 --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$AbstractElement.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$AbstractElement__ +#define __javax_swing_text_AbstractDocument$AbstractElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$AbstractElement; + class AttributeSet; + class Document; + class Element; + } + namespace tree + { + class TreeNode; + } + } + } +} + +class javax::swing::text::AbstractDocument$AbstractElement : public ::java::lang::Object +{ + +public: + AbstractDocument$AbstractElement(::javax::swing::text::AbstractDocument *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *); + virtual ::java::util::Enumeration * children() = 0; + virtual jboolean getAllowsChildren() = 0; + virtual ::javax::swing::tree::TreeNode * getChildAt(jint); + virtual jint getChildCount(); + virtual jint getIndex(::javax::swing::tree::TreeNode *); + virtual ::javax::swing::tree::TreeNode * getParent(); + virtual jboolean isLeaf() = 0; + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual void addAttributes(::javax::swing::text::AttributeSet *); + virtual void removeAttribute(::java::lang::Object *); + virtual void removeAttributes(::javax::swing::text::AttributeSet *); + virtual void removeAttributes(::java::util::Enumeration *); + virtual void setResolveParent(::javax::swing::text::AttributeSet *); + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual ::javax::swing::text::Document * getDocument(); + virtual ::javax::swing::text::Element * getElement(jint) = 0; + virtual ::java::lang::String * getName(); + virtual ::javax::swing::text::Element * getParentElement(); + virtual jint getEndOffset() = 0; + virtual jint getElementCount() = 0; + virtual jint getElementIndex(jint) = 0; + virtual jint getStartOffset() = 0; + virtual void dump(::java::io::PrintStream *, jint); +private: + static const jlong serialVersionUID = 1712240033321461704LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count; + jint offset; + ::javax::swing::text::AttributeSet * attributes; + ::javax::swing::text::Element * element_parent; + ::javax::swing::tree::TreeNode * tree_parent; + ::java::util::Vector * tree_children; + ::javax::swing::text::AbstractDocument * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$AbstractElement__ diff --git a/libjava/javax/swing/text/AbstractDocument$AttributeContext.h b/libjava/javax/swing/text/AbstractDocument$AttributeContext.h new file mode 100644 index 00000000000..d02f88831e1 --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$AttributeContext.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$AttributeContext__ +#define __javax_swing_text_AbstractDocument$AttributeContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$AttributeContext; + class AttributeSet; + } + } + } +} + +class javax::swing::text::AbstractDocument$AttributeContext : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::text::AttributeSet * addAttribute(::javax::swing::text::AttributeSet *, ::java::lang::Object *, ::java::lang::Object *) = 0; + virtual ::javax::swing::text::AttributeSet * addAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *) = 0; + virtual ::javax::swing::text::AttributeSet * getEmptySet() = 0; + virtual void reclaim(::javax::swing::text::AttributeSet *) = 0; + virtual ::javax::swing::text::AttributeSet * removeAttribute(::javax::swing::text::AttributeSet *, ::java::lang::Object *) = 0; + virtual ::javax::swing::text::AttributeSet * removeAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *) = 0; + virtual ::javax::swing::text::AttributeSet * removeAttributes(::javax::swing::text::AttributeSet *, ::java::util::Enumeration *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AbstractDocument$AttributeContext__ diff --git a/libjava/javax/swing/text/AbstractDocument$BidiElement.h b/libjava/javax/swing/text/AbstractDocument$BidiElement.h new file mode 100644 index 00000000000..4d8a0c8dfca --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$BidiElement.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$BidiElement__ +#define __javax_swing_text_AbstractDocument$BidiElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$BidiElement; + class Element; + } + } + } +} + +class javax::swing::text::AbstractDocument$BidiElement : public ::javax::swing::text::AbstractDocument$LeafElement +{ + +public: // actually package-private + AbstractDocument$BidiElement(::javax::swing::text::AbstractDocument *, ::javax::swing::text::Element *, jint, jint, jint); +public: + virtual ::java::lang::String * getName(); +public: // actually package-private + ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$LeafElement)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$BidiElement__ diff --git a/libjava/javax/swing/text/AbstractDocument$BidiRootElement.h b/libjava/javax/swing/text/AbstractDocument$BidiRootElement.h new file mode 100644 index 00000000000..b9a908b7ba1 --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$BidiRootElement.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$BidiRootElement__ +#define __javax_swing_text_AbstractDocument$BidiRootElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$BidiRootElement; + } + } + } +} + +class javax::swing::text::AbstractDocument$BidiRootElement : public ::javax::swing::text::AbstractDocument$BranchElement +{ + +public: // actually package-private + AbstractDocument$BidiRootElement(::javax::swing::text::AbstractDocument *); +public: + virtual ::java::lang::String * getName(); +public: // actually package-private + ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$BranchElement)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$BidiRootElement__ diff --git a/libjava/javax/swing/text/AbstractDocument$BranchElement.h b/libjava/javax/swing/text/AbstractDocument$BranchElement.h new file mode 100644 index 00000000000..1fb3a680aff --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$BranchElement.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$BranchElement__ +#define __javax_swing_text_AbstractDocument$BranchElement__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$BranchElement; + class AttributeSet; + class Element; + } + } + } +} + +class javax::swing::text::AbstractDocument$BranchElement : public ::javax::swing::text::AbstractDocument$AbstractElement +{ + +public: + AbstractDocument$BranchElement(::javax::swing::text::AbstractDocument *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *); + virtual ::java::util::Enumeration * children(); + virtual jboolean getAllowsChildren(); + virtual ::javax::swing::text::Element * getElement(jint); + virtual jint getElementCount(); + virtual jint getElementIndex(jint); + virtual jint getEndOffset(); + virtual ::java::lang::String * getName(); + virtual jint getStartOffset(); + virtual jboolean isLeaf(); + virtual ::javax::swing::text::Element * positionToElement(jint); + virtual void replace(jint, jint, JArray< ::javax::swing::text::Element * > *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6037216547466333183LL; + JArray< ::javax::swing::text::Element * > * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$AbstractElement)))) children__; + jint numChildren; + jint lastIndex; +public: // actually package-private + ::javax::swing::text::AbstractDocument * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$BranchElement__ diff --git a/libjava/javax/swing/text/AbstractDocument$Bypass.h b/libjava/javax/swing/text/AbstractDocument$Bypass.h new file mode 100644 index 00000000000..bb850d91e09 --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$Bypass.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$Bypass__ +#define __javax_swing_text_AbstractDocument$Bypass__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$Bypass; + class AttributeSet; + class Document; + } + } + } +} + +class javax::swing::text::AbstractDocument$Bypass : public ::javax::swing::text::DocumentFilter$FilterBypass +{ + +public: // actually package-private + AbstractDocument$Bypass(::javax::swing::text::AbstractDocument *); +public: + virtual ::javax::swing::text::Document * getDocument(); + virtual void insertString(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); + virtual void remove(jint, jint); + virtual void replace(jint, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +public: // actually package-private + ::javax::swing::text::AbstractDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::DocumentFilter$FilterBypass)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$Bypass__ diff --git a/libjava/javax/swing/text/AbstractDocument$Content.h b/libjava/javax/swing/text/AbstractDocument$Content.h new file mode 100644 index 00000000000..be16e410b1b --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$Content.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$Content__ +#define __javax_swing_text_AbstractDocument$Content__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$Content; + class Position; + class Segment; + } + namespace undo + { + class UndoableEdit; + } + } + } +} + +class javax::swing::text::AbstractDocument$Content : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::text::Position * createPosition(jint) = 0; + virtual jint length() = 0; + virtual ::javax::swing::undo::UndoableEdit * insertString(jint, ::java::lang::String *) = 0; + virtual ::javax::swing::undo::UndoableEdit * remove(jint, jint) = 0; + virtual ::java::lang::String * getString(jint, jint) = 0; + virtual void getChars(jint, jint, ::javax::swing::text::Segment *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AbstractDocument$Content__ diff --git a/libjava/javax/swing/text/AbstractDocument$DefaultDocumentEvent.h b/libjava/javax/swing/text/AbstractDocument$DefaultDocumentEvent.h new file mode 100644 index 00000000000..ab7c2a01ccf --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$DefaultDocumentEvent.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$DefaultDocumentEvent__ +#define __javax_swing_text_AbstractDocument$DefaultDocumentEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent$ElementChange; + class DocumentEvent$EventType; + } + namespace text + { + class AbstractDocument; + class AbstractDocument$DefaultDocumentEvent; + class Document; + class Element; + } + namespace undo + { + class UndoableEdit; + } + } + } +} + +class javax::swing::text::AbstractDocument$DefaultDocumentEvent : public ::javax::swing::undo::CompoundEdit +{ + +public: + AbstractDocument$DefaultDocumentEvent(::javax::swing::text::AbstractDocument *, jint, jint, ::javax::swing::event::DocumentEvent$EventType *); + virtual jboolean addEdit(::javax::swing::undo::UndoableEdit *); + virtual ::javax::swing::text::Document * getDocument(); + virtual jint getLength(); + virtual jint getOffset(); + virtual ::javax::swing::event::DocumentEvent$EventType * getType(); + virtual ::javax::swing::event::DocumentEvent$ElementChange * getChange(::javax::swing::text::Element *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 5230037221564563284LL; + static const jint THRESHOLD = 10; + jint __attribute__((aligned(__alignof__( ::javax::swing::undo::CompoundEdit)))) offset; + jint length; + ::javax::swing::event::DocumentEvent$EventType * type; + ::java::util::HashMap * changes; + jboolean modified; +public: // actually package-private + ::javax::swing::text::AbstractDocument * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$DefaultDocumentEvent__ diff --git a/libjava/javax/swing/text/AbstractDocument$ElementEdit.h b/libjava/javax/swing/text/AbstractDocument$ElementEdit.h new file mode 100644 index 00000000000..68eb020d11b --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$ElementEdit.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$ElementEdit__ +#define __javax_swing_text_AbstractDocument$ElementEdit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$ElementEdit; + class Element; + } + } + } +} + +class javax::swing::text::AbstractDocument$ElementEdit : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + AbstractDocument$ElementEdit(::javax::swing::text::Element *, jint, JArray< ::javax::swing::text::Element * > *, JArray< ::javax::swing::text::Element * > *); + virtual JArray< ::javax::swing::text::Element * > * getChildrenAdded(); + virtual JArray< ::javax::swing::text::Element * > * getChildrenRemoved(); + virtual ::javax::swing::text::Element * getElement(); + virtual jint getIndex(); +private: + static const jlong serialVersionUID = -1216620962142928304LL; + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) elem; + jint index; + JArray< ::javax::swing::text::Element * > * removed; + JArray< ::javax::swing::text::Element * > * added; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$ElementEdit__ diff --git a/libjava/javax/swing/text/AbstractDocument$LeafElement.h b/libjava/javax/swing/text/AbstractDocument$LeafElement.h new file mode 100644 index 00000000000..0b8d671b6ce --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument$LeafElement.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument$LeafElement__ +#define __javax_swing_text_AbstractDocument$LeafElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument; + class AbstractDocument$LeafElement; + class AttributeSet; + class Element; + class Position; + } + } + } +} + +class javax::swing::text::AbstractDocument$LeafElement : public ::javax::swing::text::AbstractDocument$AbstractElement +{ + +public: + AbstractDocument$LeafElement(::javax::swing::text::AbstractDocument *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *, jint, jint); + virtual ::java::util::Enumeration * children(); + virtual jboolean getAllowsChildren(); + virtual ::javax::swing::text::Element * getElement(jint); + virtual jint getElementCount(); + virtual jint getElementIndex(jint); + virtual jint getEndOffset(); + virtual ::java::lang::String * getName(); + virtual jint getStartOffset(); + virtual jboolean isLeaf(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -8906306331347768017LL; + ::javax::swing::text::Position * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$AbstractElement)))) startPos; + ::javax::swing::text::Position * endPos; +public: // actually package-private + ::javax::swing::text::AbstractDocument * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument$LeafElement__ diff --git a/libjava/javax/swing/text/AbstractDocument.h b/libjava/javax/swing/text/AbstractDocument.h new file mode 100644 index 00000000000..65110f0cee7 --- /dev/null +++ b/libjava/javax/swing/text/AbstractDocument.h @@ -0,0 +1,166 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractDocument__ +#define __javax_swing_text_AbstractDocument__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class Bidi; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + class DocumentListener; + class EventListenerList; + class UndoableEditEvent; + class UndoableEditListener; + } + namespace text + { + class AbstractDocument; + class AbstractDocument$AttributeContext; + class AbstractDocument$BidiRootElement; + class AbstractDocument$Content; + class AbstractDocument$DefaultDocumentEvent; + class AttributeSet; + class DocumentFilter; + class DocumentFilter$FilterBypass; + class Element; + class Position; + class Segment; + } + } + } +} + +class javax::swing::text::AbstractDocument : public ::java::lang::Object +{ + +public: // actually protected + AbstractDocument(::javax::swing::text::AbstractDocument$Content *); + AbstractDocument(::javax::swing::text::AbstractDocument$Content *, ::javax::swing::text::AbstractDocument$AttributeContext *); +private: + ::javax::swing::text::DocumentFilter$FilterBypass * getBypass(); +public: + virtual ::javax::swing::text::Element * getParagraphElement(jint) = 0; + virtual ::javax::swing::text::Element * getDefaultRootElement() = 0; +public: // actually protected + virtual ::javax::swing::text::Element * createBranchElement(::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::Element * createLeafElement(::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *, jint, jint); +public: + virtual ::javax::swing::text::Position * createPosition(jint); +public: // actually protected + virtual void fireChangedUpdate(::javax::swing::event::DocumentEvent *); + virtual void fireInsertUpdate(::javax::swing::event::DocumentEvent *); + virtual void fireRemoveUpdate(::javax::swing::event::DocumentEvent *); + virtual void fireUndoableEditUpdate(::javax::swing::event::UndoableEditEvent *); +public: + virtual jint getAsynchronousLoadPriority(); +public: // actually protected + virtual ::javax::swing::text::AbstractDocument$AttributeContext * getAttributeContext(); +public: + virtual ::javax::swing::text::Element * getBidiRootElement(); +public: // actually protected + virtual ::javax::swing::text::AbstractDocument$Content * getContent(); + virtual ::java::lang::Thread * getCurrentWriter(); +public: + virtual ::java::util::Dictionary * getDocumentProperties(); + virtual ::javax::swing::text::Position * getEndPosition(); + virtual jint getLength(); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual ::java::lang::Object * getProperty(::java::lang::Object *); + virtual JArray< ::javax::swing::text::Element * > * getRootElements(); + virtual ::javax::swing::text::Position * getStartPosition(); + virtual ::java::lang::String * getText(jint, jint); + virtual void getText(jint, jint, ::javax::swing::text::Segment *); + virtual void insertString(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +public: // actually package-private + virtual void insertStringImpl(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +public: // actually protected + virtual void insertUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *, ::javax::swing::text::AttributeSet *); + virtual void postRemoveUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +public: + virtual void putProperty(::java::lang::Object *, ::java::lang::Object *); +private: + void updateBidi(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); + JArray< ::java::text::Bidi * > * getBidis(jint, jint); +public: + virtual void readLock(); + virtual void readUnlock(); + virtual void remove(jint, jint); +public: // actually package-private + virtual void removeImpl(jint, jint); +public: + virtual void replace(jint, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +public: // actually package-private + virtual void replaceImpl(jint, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +public: + virtual void addDocumentListener(::javax::swing::event::DocumentListener *); + virtual void removeDocumentListener(::javax::swing::event::DocumentListener *); + virtual JArray< ::javax::swing::event::DocumentListener * > * getDocumentListeners(); + virtual void addUndoableEditListener(::javax::swing::event::UndoableEditListener *); + virtual void removeUndoableEditListener(::javax::swing::event::UndoableEditListener *); + virtual JArray< ::javax::swing::event::UndoableEditListener * > * getUndoableEditListeners(); +public: // actually protected + virtual void removeUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +public: + virtual void render(::java::lang::Runnable *); + virtual void setAsynchronousLoadPriority(jint); + virtual void setDocumentProperties(::java::util::Dictionary *); +public: // actually protected + virtual void writeLock(); + virtual void writeUnlock(); +public: + virtual ::javax::swing::text::DocumentFilter * getDocumentFilter(); + virtual void setDocumentFilter(::javax::swing::text::DocumentFilter *); + virtual void dump(::java::io::PrintStream *); +private: + static const jlong serialVersionUID = 6842927725919637215LL; +public: // actually protected + static ::java::lang::String * BAD_LOCATION; +public: + static ::java::lang::String * BidiElementName; + static ::java::lang::String * ContentElementName; + static ::java::lang::String * ParagraphElementName; + static ::java::lang::String * SectionElementName; + static ::java::lang::String * ElementNameAttribute; +private: + static ::java::lang::String * BidiRootName; + static ::java::lang::String * AsyncLoadPriority; + static ::java::lang::String * I18N; +public: // actually package-private + ::javax::swing::text::AbstractDocument$Content * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content; + ::javax::swing::text::AbstractDocument$AttributeContext * context; + ::javax::swing::text::DocumentFilter * documentFilter; + ::java::util::Dictionary * properties; +public: // actually protected + ::javax::swing::event::EventListenerList * listenerList; +private: + ::java::lang::Thread * currentWriter; + jint numReaders; + jint numWriters; + ::javax::swing::text::DocumentFilter$FilterBypass * bypass; + ::javax::swing::text::AbstractDocument$BidiRootElement * bidiRoot; + jboolean notifyListeners; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractDocument__ diff --git a/libjava/javax/swing/text/AbstractWriter.h b/libjava/javax/swing/text/AbstractWriter.h new file mode 100644 index 00000000000..b22be6e6fa1 --- /dev/null +++ b/libjava/javax/swing/text/AbstractWriter.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AbstractWriter__ +#define __javax_swing_text_AbstractWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractWriter; + class AttributeSet; + class Document; + class Element; + class ElementIterator; + } + } + } +} + +class javax::swing::text::AbstractWriter : public ::java::lang::Object +{ + +public: // actually protected + AbstractWriter(::java::io::Writer *, ::javax::swing::text::Document *); + AbstractWriter(::java::io::Writer *, ::javax::swing::text::Document *, jint, jint); + AbstractWriter(::java::io::Writer *, ::javax::swing::text::Element *); + AbstractWriter(::java::io::Writer *, ::javax::swing::text::Element *, jint, jint); + virtual ::javax::swing::text::ElementIterator * getElementIterator(); + virtual ::java::io::Writer * getWriter(); + virtual ::javax::swing::text::Document * getDocument(); + virtual void write() = 0; + virtual ::java::lang::String * getText(::javax::swing::text::Element *); + virtual void output(JArray< jchar > *, jint, jint); + virtual void writeLineSeparator(); + virtual void write(jchar); + virtual void write(::java::lang::String *); + virtual void write(JArray< jchar > *, jint, jint); + virtual void indent(); +public: + virtual jint getStartOffset(); + virtual jint getEndOffset(); +public: // actually protected + virtual jboolean inRange(::javax::swing::text::Element *); + virtual void text(::javax::swing::text::Element *); + virtual void setLineLength(jint); + virtual jint getLineLength(); + virtual void setCurrentLineLength(jint); + virtual jint getCurrentLineLength(); + virtual jboolean isLineEmpty(); + virtual void setCanWrapLines(jboolean); + virtual jboolean getCanWrapLines(); + virtual void setIndentSpace(jint); + virtual jint getIndentSpace(); +public: + virtual void setLineSeparator(::java::lang::String *); + virtual ::java::lang::String * getLineSeparator(); +public: // actually protected + virtual void incrIndent(); + virtual void decrIndent(); + virtual jint getIndentLevel(); + virtual void writeAttributes(::javax::swing::text::AttributeSet *); + static const jchar NEWLINE = 10; +private: + ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) writer; + ::javax::swing::text::ElementIterator * iter; + ::javax::swing::text::Document * document; + jint maxLineLength; + jint lineLength; + jboolean canWrapLines; + jint indentSpace; + jint indentLevel; + jboolean indented; + jint startOffset; + jint endOffset; + ::java::lang::String * lineSeparator; + JArray< jchar > * lineSeparatorChars; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AbstractWriter__ diff --git a/libjava/javax/swing/text/AsyncBoxView$ChildLocator.h b/libjava/javax/swing/text/AsyncBoxView$ChildLocator.h new file mode 100644 index 00000000000..72b0f9a6c3c --- /dev/null +++ b/libjava/javax/swing/text/AsyncBoxView$ChildLocator.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AsyncBoxView$ChildLocator__ +#define __javax_swing_text_AsyncBoxView$ChildLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AsyncBoxView; + class AsyncBoxView$ChildLocator; + class AsyncBoxView$ChildState; + } + } + } +} + +class javax::swing::text::AsyncBoxView$ChildLocator : public ::java::lang::Object +{ + +public: + AsyncBoxView$ChildLocator(::javax::swing::text::AsyncBoxView *); + virtual void childChanged(::javax::swing::text::AsyncBoxView$ChildState *); + virtual jint getViewIndexAtPoint(jfloat, jfloat, ::java::awt::Shape *); + virtual ::java::awt::Shape * getChildAllocation(jint, ::java::awt::Shape *); + virtual void paintChildren(::java::awt::Graphics *); +public: // actually protected + virtual ::java::awt::Shape * getChildAllocation(jint); + virtual void setAllocation(::java::awt::Shape *); + virtual jint getViewIndexAtVisualOffset(jfloat); +private: + jint updateChildOffsets(jfloat); + void updateChildOffsetsToIndex(jint); +public: // actually protected + ::javax::swing::text::AsyncBoxView$ChildState * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastValidOffset; + ::java::awt::Rectangle * lastAlloc; + ::java::awt::Rectangle * childAlloc; +public: // actually package-private + ::javax::swing::text::AsyncBoxView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AsyncBoxView$ChildLocator__ diff --git a/libjava/javax/swing/text/AsyncBoxView$ChildState.h b/libjava/javax/swing/text/AsyncBoxView$ChildState.h new file mode 100644 index 00000000000..3bce589a205 --- /dev/null +++ b/libjava/javax/swing/text/AsyncBoxView$ChildState.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AsyncBoxView$ChildState__ +#define __javax_swing_text_AsyncBoxView$ChildState__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AsyncBoxView; + class AsyncBoxView$ChildState; + class View; + } + } + } +} + +class javax::swing::text::AsyncBoxView$ChildState : public ::java::lang::Object +{ + +public: + AsyncBoxView$ChildState(::javax::swing::text::AsyncBoxView *, ::javax::swing::text::View *); + virtual ::javax::swing::text::View * getChildView(); + virtual jboolean isLayoutValid(); + virtual void run(); +private: + void update(); +public: + virtual jfloat getMinorSpan(); + virtual jfloat getMinorOffset(); + virtual jfloat getMajorSpan(); + virtual jfloat getMajorOffset(); + virtual void setMajorOffset(jfloat); + virtual void preferenceChanged(jboolean, jboolean); +private: + ::javax::swing::text::View * __attribute__((aligned(__alignof__( ::java::lang::Object)))) childView; + jboolean minorValid; + jboolean majorValid; +public: // actually package-private + jboolean childSizeValid; + jfloat minimum; + jfloat preferred; +private: + jfloat majorSpan; + jfloat majorOffset; + jfloat minorSpan; + jfloat minorOffset; + jfloat maximum; +public: // actually package-private + ::javax::swing::text::AsyncBoxView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AsyncBoxView$ChildState__ diff --git a/libjava/javax/swing/text/AsyncBoxView$FlushTask.h b/libjava/javax/swing/text/AsyncBoxView$FlushTask.h new file mode 100644 index 00000000000..bd9378b4ead --- /dev/null +++ b/libjava/javax/swing/text/AsyncBoxView$FlushTask.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AsyncBoxView$FlushTask__ +#define __javax_swing_text_AsyncBoxView$FlushTask__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AsyncBoxView; + class AsyncBoxView$FlushTask; + } + } + } +} + +class javax::swing::text::AsyncBoxView$FlushTask : public ::java::lang::Object +{ + + AsyncBoxView$FlushTask(::javax::swing::text::AsyncBoxView *); +public: + virtual void run(); +public: // actually package-private + AsyncBoxView$FlushTask(::javax::swing::text::AsyncBoxView *, ::javax::swing::text::AsyncBoxView$FlushTask *); + ::javax::swing::text::AsyncBoxView * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AsyncBoxView$FlushTask__ diff --git a/libjava/javax/swing/text/AsyncBoxView.h b/libjava/javax/swing/text/AsyncBoxView.h new file mode 100644 index 00000000000..80a965f49a0 --- /dev/null +++ b/libjava/javax/swing/text/AsyncBoxView.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AsyncBoxView__ +#define __javax_swing_text_AsyncBoxView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + class DocumentEvent$ElementChange; + } + namespace text + { + class AsyncBoxView; + class AsyncBoxView$ChildLocator; + class AsyncBoxView$ChildState; + class Element; + class LayoutQueue; + class Position$Bias; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::AsyncBoxView : public ::javax::swing::text::View +{ + +public: + AsyncBoxView(::javax::swing::text::Element *, jint); + virtual jint getMajorAxis(); + virtual jint getMinorAxis(); + virtual ::javax::swing::text::View * getView(jint); + virtual jint getViewCount(); + virtual jint getViewIndex(jint, ::javax::swing::text::Position$Bias *); + virtual jfloat getTopInset(); + virtual void setTopInset(jfloat); + virtual jfloat getBottomInset(); + virtual void setBottomInset(jfloat); + virtual jfloat getLeftInset(); + virtual void setLeftInset(jfloat); + virtual jfloat getRightInset(); + virtual void setRightInset(jfloat); +public: // actually protected + virtual void loadChildren(::javax::swing::text::ViewFactory *); + virtual jfloat getInsetSpan(jint); + virtual void setEstimatedMajorSpan(jboolean); + virtual jboolean getEstimatedMajorSpan(); + virtual void minorRequirementChange(::javax::swing::text::AsyncBoxView$ChildState *); + virtual void majorRequirementChange(::javax::swing::text::AsyncBoxView$ChildState *, jfloat); +public: + virtual void setParent(::javax::swing::text::View *); + virtual void setSize(jfloat, jfloat); + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual ::java::awt::Shape * getChildAllocation(jint, ::java::awt::Shape *); + virtual jfloat getMaximumSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual void preferenceChanged(::javax::swing::text::View *, jboolean, jboolean); +public: // actually protected + virtual void updateLayout(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *); + virtual ::javax::swing::text::AsyncBoxView$ChildState * getChildState(jint); + virtual ::javax::swing::text::LayoutQueue * getLayoutQueue(); + virtual jint getViewIndexAtPosition(jint, ::javax::swing::text::Position$Bias *); + virtual ::javax::swing::text::AsyncBoxView$ChildState * createChildState(::javax::swing::text::View *); + virtual void flushRequirementChanges(); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) majorAxis; + jfloat topInset; + jfloat bottomInset; + jfloat leftInset; + jboolean estimatedMajorSpan; + jfloat rightInset; + ::java::util::ArrayList * childStates; +public: // actually package-private + ::javax::swing::text::AsyncBoxView$ChildState * changing; + ::javax::swing::text::AsyncBoxView$ChildState * minReq; + ::javax::swing::text::AsyncBoxView$ChildState * prefReq; +private: + jboolean majorChanged; +public: // actually package-private + jboolean minorChanged; + jfloat majorSpan; + jfloat minorSpan; +private: + ::java::lang::Runnable * flushTask; +public: // actually protected + ::javax::swing::text::AsyncBoxView$ChildLocator * locator; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_AsyncBoxView__ diff --git a/libjava/javax/swing/text/AttributeSet$CharacterAttribute.h b/libjava/javax/swing/text/AttributeSet$CharacterAttribute.h new file mode 100644 index 00000000000..ddc9c19f482 --- /dev/null +++ b/libjava/javax/swing/text/AttributeSet$CharacterAttribute.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AttributeSet$CharacterAttribute__ +#define __javax_swing_text_AttributeSet$CharacterAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet$CharacterAttribute; + } + } + } +} + +class javax::swing::text::AttributeSet$CharacterAttribute : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AttributeSet$CharacterAttribute__ diff --git a/libjava/javax/swing/text/AttributeSet$ColorAttribute.h b/libjava/javax/swing/text/AttributeSet$ColorAttribute.h new file mode 100644 index 00000000000..c04b096d06b --- /dev/null +++ b/libjava/javax/swing/text/AttributeSet$ColorAttribute.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AttributeSet$ColorAttribute__ +#define __javax_swing_text_AttributeSet$ColorAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet$ColorAttribute; + } + } + } +} + +class javax::swing::text::AttributeSet$ColorAttribute : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AttributeSet$ColorAttribute__ diff --git a/libjava/javax/swing/text/AttributeSet$FontAttribute.h b/libjava/javax/swing/text/AttributeSet$FontAttribute.h new file mode 100644 index 00000000000..eff25222ae2 --- /dev/null +++ b/libjava/javax/swing/text/AttributeSet$FontAttribute.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AttributeSet$FontAttribute__ +#define __javax_swing_text_AttributeSet$FontAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet$FontAttribute; + } + } + } +} + +class javax::swing::text::AttributeSet$FontAttribute : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AttributeSet$FontAttribute__ diff --git a/libjava/javax/swing/text/AttributeSet$ParagraphAttribute.h b/libjava/javax/swing/text/AttributeSet$ParagraphAttribute.h new file mode 100644 index 00000000000..05f67c16b7e --- /dev/null +++ b/libjava/javax/swing/text/AttributeSet$ParagraphAttribute.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AttributeSet$ParagraphAttribute__ +#define __javax_swing_text_AttributeSet$ParagraphAttribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet$ParagraphAttribute; + } + } + } +} + +class javax::swing::text::AttributeSet$ParagraphAttribute : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AttributeSet$ParagraphAttribute__ diff --git a/libjava/javax/swing/text/AttributeSet.h b/libjava/javax/swing/text/AttributeSet.h new file mode 100644 index 00000000000..ba1f4d100e9 --- /dev/null +++ b/libjava/javax/swing/text/AttributeSet.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_AttributeSet__ +#define __javax_swing_text_AttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + } + } + } +} + +class javax::swing::text::AttributeSet : public ::java::lang::Object +{ + +public: + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual ::javax::swing::text::AttributeSet * copyAttributes() = 0; + virtual ::java::lang::Object * getAttribute(::java::lang::Object *) = 0; + virtual jint getAttributeCount() = 0; + virtual ::java::util::Enumeration * getAttributeNames() = 0; + virtual ::javax::swing::text::AttributeSet * getResolveParent() = 0; + virtual jboolean isDefined(::java::lang::Object *) = 0; + virtual jboolean isEqual(::javax::swing::text::AttributeSet *) = 0; + static ::java::lang::Object * NameAttribute; + static ::java::lang::Object * ResolveAttribute; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_AttributeSet__ diff --git a/libjava/javax/swing/text/BadLocationException.h b/libjava/javax/swing/text/BadLocationException.h new file mode 100644 index 00000000000..3102b7a37a5 --- /dev/null +++ b/libjava/javax/swing/text/BadLocationException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_BadLocationException__ +#define __javax_swing_text_BadLocationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class BadLocationException; + } + } + } +} + +class javax::swing::text::BadLocationException : public ::java::lang::Exception +{ + +public: + BadLocationException(::java::lang::String *, jint); + virtual jint offsetRequested(); +private: + static const jlong serialVersionUID = -7712259886815656766LL; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) offset; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_BadLocationException__ diff --git a/libjava/javax/swing/text/BoxView.h b/libjava/javax/swing/text/BoxView.h new file mode 100644 index 00000000000..c00436887f6 --- /dev/null +++ b/libjava/javax/swing/text/BoxView.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_BoxView__ +#define __javax_swing_text_BoxView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace event + { + class DocumentEvent; + class DocumentEvent$ElementChange; + } + namespace text + { + class BoxView; + class Element; + class Position$Bias; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::BoxView : public ::javax::swing::text::CompositeView +{ + +public: + BoxView(::javax::swing::text::Element *, jint); + virtual jint getAxis(); + virtual void setAxis(jint); + virtual void layoutChanged(jint); +public: // actually protected + virtual jboolean isLayoutValid(jint); + virtual void paintChild(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); +public: + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); +private: + JArray< jint > * replaceLayoutArray(JArray< jint > *, jint, jint); +public: + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual jfloat getPreferredSpan(jint); + virtual jfloat getMaximumSpan(jint); + virtual jfloat getMinimumSpan(jint); +public: // actually protected + virtual ::javax::swing::SizeRequirements * baselineRequirements(jint, ::javax::swing::SizeRequirements *); + virtual void baselineLayout(jint, jint, JArray< jint > *, JArray< jint > *); + virtual ::javax::swing::SizeRequirements * calculateMajorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual jboolean isBefore(jint, jint, ::java::awt::Rectangle *); + virtual jboolean isAfter(jint, jint, ::java::awt::Rectangle *); + virtual ::javax::swing::text::View * getViewAtPoint(jint, jint, ::java::awt::Rectangle *); + virtual void childAllocation(jint, ::java::awt::Rectangle *); + virtual void layout(jint, jint); +private: + void layoutAxis(jint, jint); +public: // actually protected + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual jboolean isAllocationValid(); +public: + virtual jint getWidth(); + virtual jint getHeight(); + virtual void setSize(jfloat, jfloat); +public: // actually protected + virtual jint getSpan(jint, jint); + virtual jint getOffset(jint, jint); +public: + virtual jfloat getAlignment(jint); + virtual void preferenceChanged(::javax::swing::text::View *, jboolean, jboolean); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint getResizeWeight(jint); + virtual ::java::awt::Shape * getChildAllocation(jint, ::java::awt::Shape *); +public: // actually protected + virtual void forwardUpdate(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +public: // actually protected + virtual jboolean flipEastAndWestAtEnds(jint, ::javax::swing::text::Position$Bias *); +private: + void updateRequirements(jint); + jint __attribute__((aligned(__alignof__( ::javax::swing::text::CompositeView)))) myAxis; + JArray< jboolean > * layoutValid; + JArray< jboolean > * requirementsValid; + JArray< JArray< jint > * > * spans; + JArray< JArray< jint > * > * offsets; + JArray< ::javax::swing::SizeRequirements * > * requirements; + JArray< jint > * span; + ::java::awt::Rectangle * tmpRect; + ::java::awt::Rectangle * clipRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_BoxView__ diff --git a/libjava/javax/swing/text/Caret.h b/libjava/javax/swing/text/Caret.h new file mode 100644 index 00000000000..024933a0485 --- /dev/null +++ b/libjava/javax/swing/text/Caret.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Caret__ +#define __javax_swing_text_Caret__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Point; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class ChangeListener; + } + namespace text + { + class Caret; + class JTextComponent; + } + } + } +} + +class javax::swing::text::Caret : public ::java::lang::Object +{ + +public: + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void install(::javax::swing::text::JTextComponent *) = 0; + virtual void deinstall(::javax::swing::text::JTextComponent *) = 0; + virtual jint getBlinkRate() = 0; + virtual void setBlinkRate(jint) = 0; + virtual jint getDot() = 0; + virtual void setDot(jint) = 0; + virtual void moveDot(jint) = 0; + virtual jint getMark() = 0; + virtual ::java::awt::Point * getMagicCaretPosition() = 0; + virtual void setMagicCaretPosition(::java::awt::Point *) = 0; + virtual jboolean isSelectionVisible() = 0; + virtual void setSelectionVisible(jboolean) = 0; + virtual jboolean isVisible() = 0; + virtual void setVisible(jboolean) = 0; + virtual void paint(::java::awt::Graphics *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Caret__ diff --git a/libjava/javax/swing/text/ChangedCharSetException.h b/libjava/javax/swing/text/ChangedCharSetException.h new file mode 100644 index 00000000000..d25d88cd98c --- /dev/null +++ b/libjava/javax/swing/text/ChangedCharSetException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ChangedCharSetException__ +#define __javax_swing_text_ChangedCharSetException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class ChangedCharSetException; + } + } + } +} + +class javax::swing::text::ChangedCharSetException : public ::java::io::IOException +{ + +public: + ChangedCharSetException(::java::lang::String *, jboolean); + virtual ::java::lang::String * getCharSetSpec(); + virtual jboolean keyEqualsCharSet(); +private: + static const jlong serialVersionUID = 9119851554465432389LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::io::IOException)))) m_charSetSpec; + jboolean m_charSetKey; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ChangedCharSetException__ diff --git a/libjava/javax/swing/text/ComponentView$1.h b/libjava/javax/swing/text/ComponentView$1.h new file mode 100644 index 00000000000..fa00c157eb7 --- /dev/null +++ b/libjava/javax/swing/text/ComponentView$1.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ComponentView$1__ +#define __javax_swing_text_ComponentView$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class ComponentView; + class ComponentView$1; + } + } + } +} + +class javax::swing::text::ComponentView$1 : public ::java::lang::Object +{ + +public: // actually package-private + ComponentView$1(::javax::swing::text::ComponentView *); +public: + void run(); +public: // actually package-private + ::javax::swing::text::ComponentView * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ComponentView$1__ diff --git a/libjava/javax/swing/text/ComponentView$Interceptor.h b/libjava/javax/swing/text/ComponentView$Interceptor.h new file mode 100644 index 00000000000..57a14a5abac --- /dev/null +++ b/libjava/javax/swing/text/ComponentView$Interceptor.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ComponentView$Interceptor__ +#define __javax_swing_text_ComponentView$Interceptor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Dimension; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class ComponentView; + class ComponentView$Interceptor; + } + } + } +} + +class javax::swing::text::ComponentView$Interceptor : public ::java::awt::Container +{ + +public: // actually package-private + ComponentView$Interceptor(::javax::swing::text::ComponentView *, ::java::awt::Component *); +public: + virtual void invalidate(); + virtual void doLayout(); + virtual void reshape(jint, jint, jint, jint); + virtual void show(); + virtual void hide(); + virtual ::java::awt::Dimension * getMinimumSize(); + virtual ::java::awt::Dimension * getPreferredSize(); + virtual ::java::awt::Dimension * getMaximumSize(); + virtual jfloat getAlignmentX(); + virtual jfloat getAlignmentY(); +private: + void maybeValidate(); + void cacheComponentSizes(); +public: // actually package-private + ::java::awt::Dimension * __attribute__((aligned(__alignof__( ::java::awt::Container)))) min; + ::java::awt::Dimension * pref; + ::java::awt::Dimension * max; + jfloat alignX; + jfloat alignY; + ::javax::swing::text::ComponentView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ComponentView$Interceptor__ diff --git a/libjava/javax/swing/text/ComponentView.h b/libjava/javax/swing/text/ComponentView.h new file mode 100644 index 00000000000..0a333cf86d7 --- /dev/null +++ b/libjava/javax/swing/text/ComponentView.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ComponentView__ +#define __javax_swing_text_ComponentView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class ComponentView; + class ComponentView$Interceptor; + class Element; + class Position$Bias; + class View; + } + } + } +} + +class javax::swing::text::ComponentView : public ::javax::swing::text::View +{ + +public: + ComponentView(::javax::swing::text::Element *); +public: // actually protected + virtual ::java::awt::Component * createComponent(); +public: + virtual jfloat getAlignment(jint); + virtual ::java::awt::Component * getComponent(); + virtual jfloat getMaximumSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual void setParent(::javax::swing::text::View *); +public: // actually package-private + virtual void setParentImpl(); +public: + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +private: + ::java::awt::Component * __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) comp; + ::javax::swing::text::ComponentView$Interceptor * interceptor; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ComponentView__ diff --git a/libjava/javax/swing/text/CompositeView.h b/libjava/javax/swing/text/CompositeView.h new file mode 100644 index 00000000000..2e708ffa1cc --- /dev/null +++ b/libjava/javax/swing/text/CompositeView.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_CompositeView__ +#define __javax_swing_text_CompositeView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class CompositeView; + class Element; + class Position$Bias; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::CompositeView : public ::javax::swing::text::View +{ + +public: + CompositeView(::javax::swing::text::Element *); +public: // actually protected + virtual void loadChildren(::javax::swing::text::ViewFactory *); +public: + virtual void setParent(::javax::swing::text::View *); + virtual jint getViewCount(); + virtual ::javax::swing::text::View * getView(jint); + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); + virtual ::java::awt::Shape * getChildAllocation(jint, ::java::awt::Shape *); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual ::java::awt::Shape * modelToView(jint, ::javax::swing::text::Position$Bias *, jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jint getNextVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jint getViewIndex(jint, ::javax::swing::text::Position$Bias *); +public: // actually protected + virtual jboolean isBefore(jint, jint, ::java::awt::Rectangle *) = 0; + virtual jboolean isAfter(jint, jint, ::java::awt::Rectangle *) = 0; + virtual ::javax::swing::text::View * getViewAtPoint(jint, jint, ::java::awt::Rectangle *) = 0; + virtual void childAllocation(jint, ::java::awt::Rectangle *) = 0; + virtual ::javax::swing::text::View * getViewAtPosition(jint, ::java::awt::Rectangle *); + virtual jint getViewIndexAtPosition(jint); + virtual ::java::awt::Rectangle * getInsideAllocation(::java::awt::Shape *); + virtual void setParagraphInsets(::javax::swing::text::AttributeSet *); + virtual void setInsets(jshort, jshort, jshort, jshort); + virtual jshort getLeftInset(); + virtual jshort getRightInset(); + virtual jshort getTopInset(); + virtual jshort getBottomInset(); + virtual jint getNextNorthSouthVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jint getNextEastWestVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jboolean flipEastAndWestAtEnds(jint, ::javax::swing::text::Position$Bias *); +private: + JArray< ::javax::swing::text::View * > * __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) children; + jint numChildren; + ::java::awt::Rectangle * insideAllocation; + jshort top; + jshort bottom; + jshort left; + jshort right; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_CompositeView__ diff --git a/libjava/javax/swing/text/DateFormatter.h b/libjava/javax/swing/text/DateFormatter.h new file mode 100644 index 00000000000..47da776dacb --- /dev/null +++ b/libjava/javax/swing/text/DateFormatter.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DateFormatter__ +#define __javax_swing_text_DateFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class DateFormat; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DateFormatter; + } + } + } +} + +class javax::swing::text::DateFormatter : public ::javax::swing::text::InternationalFormatter +{ + +public: + DateFormatter(); + DateFormatter(::java::text::DateFormat *); + virtual void setFormat(::java::text::DateFormat *); +private: + static const jlong serialVersionUID = 5423279572591848797LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DateFormatter__ diff --git a/libjava/javax/swing/text/DefaultCaret$BlinkTimerListener.h b/libjava/javax/swing/text/DefaultCaret$BlinkTimerListener.h new file mode 100644 index 00000000000..a29c4aaa2bf --- /dev/null +++ b/libjava/javax/swing/text/DefaultCaret$BlinkTimerListener.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultCaret$BlinkTimerListener__ +#define __javax_swing_text_DefaultCaret$BlinkTimerListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultCaret; + class DefaultCaret$BlinkTimerListener; + } + } + } +} + +class javax::swing::text::DefaultCaret$BlinkTimerListener : public ::java::lang::Object +{ + + DefaultCaret$BlinkTimerListener(::javax::swing::text::DefaultCaret *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually package-private + DefaultCaret$BlinkTimerListener(::javax::swing::text::DefaultCaret *, ::javax::swing::text::DefaultCaret$BlinkTimerListener *); + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) ignoreNextEvent; + ::javax::swing::text::DefaultCaret * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultCaret$BlinkTimerListener__ diff --git a/libjava/javax/swing/text/DefaultCaret$Bypass.h b/libjava/javax/swing/text/DefaultCaret$Bypass.h new file mode 100644 index 00000000000..045d191f153 --- /dev/null +++ b/libjava/javax/swing/text/DefaultCaret$Bypass.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultCaret$Bypass__ +#define __javax_swing_text_DefaultCaret$Bypass__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultCaret; + class DefaultCaret$Bypass; + class Position$Bias; + } + } + } +} + +class javax::swing::text::DefaultCaret$Bypass : public ::javax::swing::text::NavigationFilter$FilterBypass +{ + +public: // actually package-private + DefaultCaret$Bypass(::javax::swing::text::DefaultCaret *); +public: + virtual ::javax::swing::text::Caret * getCaret(); + virtual void moveDot(jint, ::javax::swing::text::Position$Bias *); + virtual void setDot(jint, ::javax::swing::text::Position$Bias *); +public: // actually package-private + ::javax::swing::text::DefaultCaret * __attribute__((aligned(__alignof__( ::javax::swing::text::NavigationFilter$FilterBypass)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultCaret$Bypass__ diff --git a/libjava/javax/swing/text/DefaultCaret$DocumentHandler.h b/libjava/javax/swing/text/DefaultCaret$DocumentHandler.h new file mode 100644 index 00000000000..64b15b178d4 --- /dev/null +++ b/libjava/javax/swing/text/DefaultCaret$DocumentHandler.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultCaret$DocumentHandler__ +#define __javax_swing_text_DefaultCaret$DocumentHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class DefaultCaret; + class DefaultCaret$DocumentHandler; + } + } + } +} + +class javax::swing::text::DefaultCaret$DocumentHandler : public ::java::lang::Object +{ + + DefaultCaret$DocumentHandler(::javax::swing::text::DefaultCaret *); +public: + virtual void changedUpdate(::javax::swing::event::DocumentEvent *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *); +public: // actually package-private + DefaultCaret$DocumentHandler(::javax::swing::text::DefaultCaret *, ::javax::swing::text::DefaultCaret$DocumentHandler *); + ::javax::swing::text::DefaultCaret * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultCaret$DocumentHandler__ diff --git a/libjava/javax/swing/text/DefaultCaret$PropertyChangeHandler.h b/libjava/javax/swing/text/DefaultCaret$PropertyChangeHandler.h new file mode 100644 index 00000000000..469a8858ed7 --- /dev/null +++ b/libjava/javax/swing/text/DefaultCaret$PropertyChangeHandler.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultCaret$PropertyChangeHandler__ +#define __javax_swing_text_DefaultCaret$PropertyChangeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeEvent; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultCaret; + class DefaultCaret$PropertyChangeHandler; + } + } + } +} + +class javax::swing::text::DefaultCaret$PropertyChangeHandler : public ::java::lang::Object +{ + + DefaultCaret$PropertyChangeHandler(::javax::swing::text::DefaultCaret *); +public: + virtual void propertyChange(::java::beans::PropertyChangeEvent *); +public: // actually package-private + DefaultCaret$PropertyChangeHandler(::javax::swing::text::DefaultCaret *, ::javax::swing::text::DefaultCaret$PropertyChangeHandler *); + ::javax::swing::text::DefaultCaret * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultCaret$PropertyChangeHandler__ diff --git a/libjava/javax/swing/text/DefaultCaret.h b/libjava/javax/swing/text/DefaultCaret.h new file mode 100644 index 00000000000..882bda70ca2 --- /dev/null +++ b/libjava/javax/swing/text/DefaultCaret.h @@ -0,0 +1,161 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultCaret__ +#define __javax_swing_text_DefaultCaret__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Point; + class Rectangle; + namespace event + { + class FocusEvent; + class MouseEvent; + } + } + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class Timer; + namespace event + { + class ChangeEvent; + class ChangeListener; + class DocumentListener; + class EventListenerList; + } + namespace text + { + class DefaultCaret; + class DefaultCaret$BlinkTimerListener; + class Highlighter$HighlightPainter; + class JTextComponent; + class NavigationFilter$FilterBypass; + } + } + } +} + +class javax::swing::text::DefaultCaret : public ::java::awt::Rectangle +{ + +public: + DefaultCaret(); +private: + ::javax::swing::text::NavigationFilter$FilterBypass * getBypass(); +public: + virtual void setUpdatePolicy(jint); + virtual jint getUpdatePolicy(); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseEntered(::java::awt::event::MouseEvent *); + virtual void mouseExited(::java::awt::event::MouseEvent *); + virtual void mousePressed(::java::awt::event::MouseEvent *); + virtual void mouseReleased(::java::awt::event::MouseEvent *); + virtual void focusGained(::java::awt::event::FocusEvent *); + virtual void focusLost(::java::awt::event::FocusEvent *); +private: + void updateTimerStatus(); +public: // actually protected + virtual void moveCaret(::java::awt::event::MouseEvent *); + virtual void positionCaret(::java::awt::event::MouseEvent *); +public: + virtual void deinstall(::javax::swing::text::JTextComponent *); + virtual void install(::javax::swing::text::JTextComponent *); + virtual void setMagicCaretPosition(::java::awt::Point *); + virtual ::java::awt::Point * getMagicCaretPosition(); + virtual jint getMark(); +private: + void clearHighlight(); + void handleHighlight(); +public: + virtual void setSelectionVisible(jboolean); + virtual jboolean isSelectionVisible(); +public: // actually protected + virtual void repaint(); +public: + virtual void paint(::java::awt::Graphics *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireStateChanged(); + virtual ::javax::swing::text::JTextComponent * getComponent(); +public: + virtual jint getBlinkRate(); + virtual void setBlinkRate(jint); + virtual jint getDot(); + virtual void moveDot(jint); +public: // actually package-private + virtual void moveDotImpl(jint); +public: + virtual void setDot(jint); +public: // actually package-private + virtual void setDotImpl(jint); + virtual void appear(); +public: + virtual jboolean isActive(); + virtual jboolean isVisible(); + virtual void setVisible(jboolean); +public: // actually protected + virtual ::javax::swing::text::Highlighter$HighlightPainter * getSelectionPainter(); + virtual void damage(::java::awt::Rectangle *); + virtual void adjustVisibility(::java::awt::Rectangle *); +private: + void initBlinkTimer(); +public: // actually package-private + static ::javax::swing::text::JTextComponent * componentWithSelection; +private: + static const jlong serialVersionUID = 4325555698756477346LL; +public: + static const jint ALWAYS_UPDATE = 2; + static const jint NEVER_UPDATE = 1; + static const jint UPDATE_WHEN_ON_EDT = 0; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::awt::Rectangle)))) policy; +public: // actually protected + ::javax::swing::event::ChangeEvent * changeEvent; + ::javax::swing::event::EventListenerList * listenerList; +public: // actually package-private + ::javax::swing::event::DocumentListener * documentListener; + ::java::beans::PropertyChangeListener * propertyChangeListener; + ::javax::swing::text::JTextComponent * textComponent; +private: + jboolean selectionVisible; + jint blinkRate; + jint dot; + jint mark; + ::java::awt::Point * magicCaretPosition; +public: // actually package-private + jboolean visible; + jboolean active; +private: + ::java::lang::Object * highlightEntry; + ::javax::swing::Timer * blinkTimer; + ::javax::swing::text::DefaultCaret$BlinkTimerListener * blinkListener; +public: // actually package-private + ::javax::swing::text::NavigationFilter$FilterBypass * bypass; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultCaret__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$BackwardAction.h b/libjava/javax/swing/text/DefaultEditorKit$BackwardAction.h new file mode 100644 index 00000000000..7161c7a53f0 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$BackwardAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$BackwardAction__ +#define __javax_swing_text_DefaultEditorKit$BackwardAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$BackwardAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$BackwardAction : public ::javax::swing::text::TextAction$HorizontalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$BackwardAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$BackwardAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$BeepAction.h b/libjava/javax/swing/text/DefaultEditorKit$BeepAction.h new file mode 100644 index 00000000000..dfeb6a8707b --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$BeepAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$BeepAction__ +#define __javax_swing_text_DefaultEditorKit$BeepAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$BeepAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$BeepAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$BeepAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$BeepAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$BeginAction.h b/libjava/javax/swing/text/DefaultEditorKit$BeginAction.h new file mode 100644 index 00000000000..c208fa266e2 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$BeginAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$BeginAction__ +#define __javax_swing_text_DefaultEditorKit$BeginAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$BeginAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$BeginAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$BeginAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$BeginAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$BeginLineAction.h b/libjava/javax/swing/text/DefaultEditorKit$BeginLineAction.h new file mode 100644 index 00000000000..5e253e7dca4 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$BeginLineAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$BeginLineAction__ +#define __javax_swing_text_DefaultEditorKit$BeginLineAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$BeginLineAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$BeginLineAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$BeginLineAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$BeginLineAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$BeginWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$BeginWordAction.h new file mode 100644 index 00000000000..24494a80116 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$BeginWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$BeginWordAction__ +#define __javax_swing_text_DefaultEditorKit$BeginWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$BeginWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$BeginWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$BeginWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$BeginWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$CopyAction.h b/libjava/javax/swing/text/DefaultEditorKit$CopyAction.h new file mode 100644 index 00000000000..30e8dc2f01d --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$CopyAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$CopyAction__ +#define __javax_swing_text_DefaultEditorKit$CopyAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$CopyAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$CopyAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$CopyAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$CopyAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$CutAction.h b/libjava/javax/swing/text/DefaultEditorKit$CutAction.h new file mode 100644 index 00000000000..603d1685726 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$CutAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$CutAction__ +#define __javax_swing_text_DefaultEditorKit$CutAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$CutAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$CutAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$CutAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$CutAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.h b/libjava/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.h new file mode 100644 index 00000000000..a467b07c05b --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$DefaultKeyTypedAction__ +#define __javax_swing_text_DefaultEditorKit$DefaultKeyTypedAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$DefaultKeyTypedAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$DefaultKeyTypedAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$DefaultKeyTypedAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$DefaultKeyTypedAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.h b/libjava/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.h new file mode 100644 index 00000000000..b623fa55fac --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$DeleteNextCharAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$DeleteNextCharAction__ +#define __javax_swing_text_DefaultEditorKit$DeleteNextCharAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$DeleteNextCharAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$DeleteNextCharAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$DeleteNextCharAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$DeleteNextCharAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.h b/libjava/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.h new file mode 100644 index 00000000000..9e4f2bf6d18 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$DeletePrevCharAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$DeletePrevCharAction__ +#define __javax_swing_text_DefaultEditorKit$DeletePrevCharAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$DeletePrevCharAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$DeletePrevCharAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$DeletePrevCharAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$DeletePrevCharAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$DownAction.h b/libjava/javax/swing/text/DefaultEditorKit$DownAction.h new file mode 100644 index 00000000000..facbd833be1 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$DownAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$DownAction__ +#define __javax_swing_text_DefaultEditorKit$DownAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$DownAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$DownAction : public ::javax::swing::text::TextAction$VerticalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$DownAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$DownAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$EndAction.h b/libjava/javax/swing/text/DefaultEditorKit$EndAction.h new file mode 100644 index 00000000000..b2cedfe98f3 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$EndAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$EndAction__ +#define __javax_swing_text_DefaultEditorKit$EndAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$EndAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$EndAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$EndAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$EndAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$EndLineAction.h b/libjava/javax/swing/text/DefaultEditorKit$EndLineAction.h new file mode 100644 index 00000000000..907656700f0 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$EndLineAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$EndLineAction__ +#define __javax_swing_text_DefaultEditorKit$EndLineAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$EndLineAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$EndLineAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$EndLineAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$EndLineAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$EndWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$EndWordAction.h new file mode 100644 index 00000000000..252a77ab14a --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$EndWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$EndWordAction__ +#define __javax_swing_text_DefaultEditorKit$EndWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$EndWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$EndWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$EndWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$EndWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$ForwardAction.h b/libjava/javax/swing/text/DefaultEditorKit$ForwardAction.h new file mode 100644 index 00000000000..3c3c7cfd18c --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$ForwardAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$ForwardAction__ +#define __javax_swing_text_DefaultEditorKit$ForwardAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$ForwardAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$ForwardAction : public ::javax::swing::text::TextAction$HorizontalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$ForwardAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$ForwardAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$InsertBreakAction.h b/libjava/javax/swing/text/DefaultEditorKit$InsertBreakAction.h new file mode 100644 index 00000000000..173b4b18d79 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$InsertBreakAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$InsertBreakAction__ +#define __javax_swing_text_DefaultEditorKit$InsertBreakAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$InsertBreakAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$InsertBreakAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$InsertBreakAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$InsertBreakAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$InsertContentAction.h b/libjava/javax/swing/text/DefaultEditorKit$InsertContentAction.h new file mode 100644 index 00000000000..98d77fa17fd --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$InsertContentAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$InsertContentAction__ +#define __javax_swing_text_DefaultEditorKit$InsertContentAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$InsertContentAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$InsertContentAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$InsertContentAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$InsertContentAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$InsertTabAction.h b/libjava/javax/swing/text/DefaultEditorKit$InsertTabAction.h new file mode 100644 index 00000000000..6201db686f6 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$InsertTabAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$InsertTabAction__ +#define __javax_swing_text_DefaultEditorKit$InsertTabAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$InsertTabAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$InsertTabAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$InsertTabAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$InsertTabAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$NextWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$NextWordAction.h new file mode 100644 index 00000000000..eedad5f0dbf --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$NextWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$NextWordAction__ +#define __javax_swing_text_DefaultEditorKit$NextWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$NextWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$NextWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$NextWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$NextWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$PasteAction.h b/libjava/javax/swing/text/DefaultEditorKit$PasteAction.h new file mode 100644 index 00000000000..2a0764c7a9f --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$PasteAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$PasteAction__ +#define __javax_swing_text_DefaultEditorKit$PasteAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$PasteAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$PasteAction : public ::javax::swing::text::TextAction +{ + +public: + DefaultEditorKit$PasteAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$PasteAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$PreviousWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$PreviousWordAction.h new file mode 100644 index 00000000000..6d7f529cd53 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$PreviousWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$PreviousWordAction__ +#define __javax_swing_text_DefaultEditorKit$PreviousWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$PreviousWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$PreviousWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$PreviousWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$PreviousWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectAllAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectAllAction.h new file mode 100644 index 00000000000..7286cd079ce --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectAllAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectAllAction__ +#define __javax_swing_text_DefaultEditorKit$SelectAllAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectAllAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectAllAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectAllAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectAllAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectLineAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectLineAction.h new file mode 100644 index 00000000000..390f7db2823 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectLineAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectLineAction__ +#define __javax_swing_text_DefaultEditorKit$SelectLineAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectLineAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectLineAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectLineAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectLineAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectWordAction.h new file mode 100644 index 00000000000..bc33182b611 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectWordAction__ +#define __javax_swing_text_DefaultEditorKit$SelectWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.h new file mode 100644 index 00000000000..3417cebb222 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionBackwardAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionBackwardAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionBackwardAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$SelectionBackwardAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionBackwardAction : public ::javax::swing::text::TextAction$HorizontalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionBackwardAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionBackwardAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginAction.h new file mode 100644 index 00000000000..e0f68eb2e40 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionBeginAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionBeginAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionBeginAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionBeginAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionBeginAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionBeginAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.h new file mode 100644 index 00000000000..d8b57669c8e --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginLineAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionBeginLineAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionBeginLineAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionBeginLineAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionBeginLineAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionBeginLineAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionBeginLineAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.h new file mode 100644 index 00000000000..fa85b345129 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionBeginWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionBeginWordAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionBeginWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionBeginWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionBeginWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionBeginWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionBeginWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionDownAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionDownAction.h new file mode 100644 index 00000000000..5e005df8bfb --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionDownAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionDownAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionDownAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$SelectionDownAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionDownAction : public ::javax::swing::text::TextAction$VerticalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionDownAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionDownAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionEndAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionEndAction.h new file mode 100644 index 00000000000..b1b03cdbb3d --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionEndAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionEndAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionEndAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionEndAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionEndAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionEndAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionEndAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.h new file mode 100644 index 00000000000..2ff14cb78d7 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionEndLineAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionEndLineAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionEndLineAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionEndLineAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionEndLineAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionEndLineAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionEndLineAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.h new file mode 100644 index 00000000000..5bb3b47c2fa --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionEndWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionEndWordAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionEndWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionEndWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionEndWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionEndWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionEndWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionForwardAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionForwardAction.h new file mode 100644 index 00000000000..8447af6a3d7 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionForwardAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionForwardAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionForwardAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$SelectionForwardAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionForwardAction : public ::javax::swing::text::TextAction$HorizontalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionForwardAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionForwardAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.h new file mode 100644 index 00000000000..1647d7c4277 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionNextWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionNextWordAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionNextWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionNextWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionNextWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionNextWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionNextWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.h new file mode 100644 index 00000000000..5257dafe636 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionPreviousWordAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionPreviousWordAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionPreviousWordAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultEditorKit$SelectionPreviousWordAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionPreviousWordAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionPreviousWordAction(); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionPreviousWordAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$SelectionUpAction.h b/libjava/javax/swing/text/DefaultEditorKit$SelectionUpAction.h new file mode 100644 index 00000000000..9d5b3f41ca1 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$SelectionUpAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$SelectionUpAction__ +#define __javax_swing_text_DefaultEditorKit$SelectionUpAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$SelectionUpAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$SelectionUpAction : public ::javax::swing::text::TextAction$VerticalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$SelectionUpAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$SelectionUpAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit$UpAction.h b/libjava/javax/swing/text/DefaultEditorKit$UpAction.h new file mode 100644 index 00000000000..e2cc3eaa7e9 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit$UpAction.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit$UpAction__ +#define __javax_swing_text_DefaultEditorKit$UpAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class DefaultEditorKit$UpAction; + } + } + } +} + +class javax::swing::text::DefaultEditorKit$UpAction : public ::javax::swing::text::TextAction$VerticalMovementAction +{ + +public: // actually package-private + DefaultEditorKit$UpAction(); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit$UpAction__ diff --git a/libjava/javax/swing/text/DefaultEditorKit.h b/libjava/javax/swing/text/DefaultEditorKit.h new file mode 100644 index 00000000000..281960937e9 --- /dev/null +++ b/libjava/javax/swing/text/DefaultEditorKit.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultEditorKit__ +#define __javax_swing_text_DefaultEditorKit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + namespace text + { + class Caret; + class DefaultEditorKit; + class Document; + class ViewFactory; + } + } + } +} + +class javax::swing::text::DefaultEditorKit : public ::javax::swing::text::EditorKit +{ + +public: + DefaultEditorKit(); + virtual ::javax::swing::text::Caret * createCaret(); + virtual ::javax::swing::text::Document * createDefaultDocument(); + virtual JArray< ::javax::swing::Action * > * getActions(); + virtual ::java::lang::String * getContentType(); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); + virtual void read(::java::io::InputStream *, ::javax::swing::text::Document *, jint); + virtual void read(::java::io::Reader *, ::javax::swing::text::Document *, jint); + virtual void write(::java::io::OutputStream *, ::javax::swing::text::Document *, jint, jint); + virtual void write(::java::io::Writer *, ::javax::swing::text::Document *, jint, jint); +private: + static const jlong serialVersionUID = 9017245433028523428LL; +public: + static ::java::lang::String * backwardAction; + static ::java::lang::String * beepAction; + static ::java::lang::String * beginAction; + static ::java::lang::String * beginLineAction; + static ::java::lang::String * beginParagraphAction; + static ::java::lang::String * beginWordAction; + static ::java::lang::String * copyAction; + static ::java::lang::String * cutAction; + static ::java::lang::String * defaultKeyTypedAction; + static ::java::lang::String * deleteNextCharAction; + static ::java::lang::String * deletePrevCharAction; + static ::java::lang::String * downAction; + static ::java::lang::String * endAction; + static ::java::lang::String * endLineAction; + static ::java::lang::String * EndOfLineStringProperty; + static ::java::lang::String * endParagraphAction; + static ::java::lang::String * endWordAction; + static ::java::lang::String * forwardAction; + static ::java::lang::String * insertBreakAction; + static ::java::lang::String * insertContentAction; + static ::java::lang::String * insertTabAction; + static ::java::lang::String * nextWordAction; + static ::java::lang::String * pageDownAction; + static ::java::lang::String * pageUpAction; + static ::java::lang::String * pasteAction; + static ::java::lang::String * previousWordAction; + static ::java::lang::String * readOnlyAction; + static ::java::lang::String * selectAllAction; + static ::java::lang::String * selectionBackwardAction; + static ::java::lang::String * selectionBeginAction; + static ::java::lang::String * selectionBeginLineAction; + static ::java::lang::String * selectionBeginParagraphAction; + static ::java::lang::String * selectionBeginWordAction; + static ::java::lang::String * selectionDownAction; + static ::java::lang::String * selectionEndAction; + static ::java::lang::String * selectionEndLineAction; + static ::java::lang::String * selectionEndParagraphAction; + static ::java::lang::String * selectionEndWordAction; + static ::java::lang::String * selectionForwardAction; + static ::java::lang::String * selectionNextWordAction; + static ::java::lang::String * selectionPreviousWordAction; + static ::java::lang::String * selectionUpAction; + static ::java::lang::String * selectLineAction; + static ::java::lang::String * selectParagraphAction; + static ::java::lang::String * selectWordAction; + static ::java::lang::String * upAction; + static ::java::lang::String * writableAction; +private: + static JArray< ::javax::swing::Action * > * defaultActions; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultEditorKit__ diff --git a/libjava/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.h b/libjava/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.h new file mode 100644 index 00000000000..090ade49349 --- /dev/null +++ b/libjava/javax/swing/text/DefaultFormatter$FormatterDocumentFilter.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultFormatter$FormatterDocumentFilter__ +#define __javax_swing_text_DefaultFormatter$FormatterDocumentFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class DefaultFormatter; + class DefaultFormatter$FormatterDocumentFilter; + class DocumentFilter$FilterBypass; + } + } + } +} + +class javax::swing::text::DefaultFormatter$FormatterDocumentFilter : public ::javax::swing::text::DocumentFilter +{ + + DefaultFormatter$FormatterDocumentFilter(::javax::swing::text::DefaultFormatter *); +public: + virtual void remove(::javax::swing::text::DocumentFilter$FilterBypass *, jint, jint); + virtual void insertString(::javax::swing::text::DocumentFilter$FilterBypass *, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); + virtual void replace(::javax::swing::text::DocumentFilter$FilterBypass *, jint, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +private: + void commitIfAllowed(); + void checkValidInput(); +public: // actually package-private + DefaultFormatter$FormatterDocumentFilter(::javax::swing::text::DefaultFormatter *, ::javax::swing::text::DefaultFormatter$FormatterDocumentFilter *); + ::javax::swing::text::DefaultFormatter * __attribute__((aligned(__alignof__( ::javax::swing::text::DocumentFilter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultFormatter$FormatterDocumentFilter__ diff --git a/libjava/javax/swing/text/DefaultFormatter.h b/libjava/javax/swing/text/DefaultFormatter.h new file mode 100644 index 00000000000..858a1efcac8 --- /dev/null +++ b/libjava/javax/swing/text/DefaultFormatter.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultFormatter__ +#define __javax_swing_text_DefaultFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JFormattedTextField; + namespace text + { + class DefaultFormatter; + class DocumentFilter; + } + } + } +} + +class javax::swing::text::DefaultFormatter : public ::javax::swing::JFormattedTextField$AbstractFormatter +{ + +public: + DefaultFormatter(); + virtual void install(::javax::swing::JFormattedTextField *); + virtual jboolean getCommitsOnValidEdit(); + virtual void setCommitsOnValidEdit(jboolean); + virtual jboolean getOverwriteMode(); + virtual void setOverwriteMode(jboolean); + virtual jboolean getAllowsInvalid(); + virtual void setAllowsInvalid(jboolean); + virtual ::java::lang::Class * getValueClass(); + virtual void setValueClass(::java::lang::Class *); + virtual ::java::lang::Object * stringToValue(::java::lang::String *); + virtual ::java::lang::String * valueToString(::java::lang::Object *); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual ::javax::swing::text::DocumentFilter * getDocumentFilter(); +public: // actually package-private + static ::javax::swing::JFormattedTextField * access$0(::javax::swing::text::DefaultFormatter *); +private: + static const jlong serialVersionUID = -355018354457785329LL; +public: // actually package-private + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JFormattedTextField$AbstractFormatter)))) commitsOnValidEdit; + jboolean overwriteMode; + jboolean allowsInvalid; + ::java::lang::Class * valueClass; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultFormatter__ diff --git a/libjava/javax/swing/text/DefaultFormatterFactory.h b/libjava/javax/swing/text/DefaultFormatterFactory.h new file mode 100644 index 00000000000..8e39926a666 --- /dev/null +++ b/libjava/javax/swing/text/DefaultFormatterFactory.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultFormatterFactory__ +#define __javax_swing_text_DefaultFormatterFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JFormattedTextField; + class JFormattedTextField$AbstractFormatter; + namespace text + { + class DefaultFormatterFactory; + } + } + } +} + +class javax::swing::text::DefaultFormatterFactory : public ::javax::swing::JFormattedTextField$AbstractFormatterFactory +{ + +public: + DefaultFormatterFactory(); + DefaultFormatterFactory(::javax::swing::JFormattedTextField$AbstractFormatter *); + DefaultFormatterFactory(::javax::swing::JFormattedTextField$AbstractFormatter *, ::javax::swing::JFormattedTextField$AbstractFormatter *); + DefaultFormatterFactory(::javax::swing::JFormattedTextField$AbstractFormatter *, ::javax::swing::JFormattedTextField$AbstractFormatter *, ::javax::swing::JFormattedTextField$AbstractFormatter *); + DefaultFormatterFactory(::javax::swing::JFormattedTextField$AbstractFormatter *, ::javax::swing::JFormattedTextField$AbstractFormatter *, ::javax::swing::JFormattedTextField$AbstractFormatter *, ::javax::swing::JFormattedTextField$AbstractFormatter *); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getDefaultFormatter(); + virtual void setDefaultFormatter(::javax::swing::JFormattedTextField$AbstractFormatter *); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getDisplayFormatter(); + virtual void setDisplayFormatter(::javax::swing::JFormattedTextField$AbstractFormatter *); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getEditFormatter(); + virtual void setEditFormatter(::javax::swing::JFormattedTextField$AbstractFormatter *); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getNullFormatter(); + virtual void setNullFormatter(::javax::swing::JFormattedTextField$AbstractFormatter *); + virtual ::javax::swing::JFormattedTextField$AbstractFormatter * getFormatter(::javax::swing::JFormattedTextField *); +public: // actually package-private + ::javax::swing::JFormattedTextField$AbstractFormatter * __attribute__((aligned(__alignof__( ::javax::swing::JFormattedTextField$AbstractFormatterFactory)))) defaultFormatter; + ::javax::swing::JFormattedTextField$AbstractFormatter * editFormatter; + ::javax::swing::JFormattedTextField$AbstractFormatter * displayFormatter; + ::javax::swing::JFormattedTextField$AbstractFormatter * nullFormatter; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultFormatterFactory__ diff --git a/libjava/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.h b/libjava/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.h new file mode 100644 index 00000000000..0baecc9c081 --- /dev/null +++ b/libjava/javax/swing/text/DefaultHighlighter$DefaultHighlightPainter.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultHighlighter$DefaultHighlightPainter__ +#define __javax_swing_text_DefaultHighlighter$DefaultHighlightPainter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultHighlighter$DefaultHighlightPainter; + class JTextComponent; + class View; + } + } + } +} + +class javax::swing::text::DefaultHighlighter$DefaultHighlightPainter : public ::javax::swing::text::LayeredHighlighter$LayerPainter +{ + +public: + DefaultHighlighter$DefaultHighlightPainter(::java::awt::Color *); + virtual ::java::awt::Color * getColor(); + virtual void paint(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *); + virtual ::java::awt::Shape * paintLayer(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *, ::javax::swing::text::View *); +private: + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::text::LayeredHighlighter$LayerPainter)))) color; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultHighlighter$DefaultHighlightPainter__ diff --git a/libjava/javax/swing/text/DefaultHighlighter$HighlightEntry.h b/libjava/javax/swing/text/DefaultHighlighter$HighlightEntry.h new file mode 100644 index 00000000000..439d60491b2 --- /dev/null +++ b/libjava/javax/swing/text/DefaultHighlighter$HighlightEntry.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultHighlighter$HighlightEntry__ +#define __javax_swing_text_DefaultHighlighter$HighlightEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class DefaultHighlighter; + class DefaultHighlighter$HighlightEntry; + class Highlighter$HighlightPainter; + class Position; + } + } + } +} + +class javax::swing::text::DefaultHighlighter$HighlightEntry : public ::java::lang::Object +{ + +public: + DefaultHighlighter$HighlightEntry(::javax::swing::text::DefaultHighlighter *, ::javax::swing::text::Position *, ::javax::swing::text::Position *, ::javax::swing::text::Highlighter$HighlightPainter *); + virtual jint getStartOffset(); + virtual jint getEndOffset(); + virtual ::javax::swing::text::Highlighter$HighlightPainter * getPainter(); +public: // actually package-private + ::javax::swing::text::Position * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p0; + ::javax::swing::text::Position * p1; + ::javax::swing::text::Highlighter$HighlightPainter * painter; + ::javax::swing::text::DefaultHighlighter * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultHighlighter$HighlightEntry__ diff --git a/libjava/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.h b/libjava/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.h new file mode 100644 index 00000000000..15220e242ab --- /dev/null +++ b/libjava/javax/swing/text/DefaultHighlighter$LayerHighlightEntry.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultHighlighter$LayerHighlightEntry__ +#define __javax_swing_text_DefaultHighlighter$LayerHighlightEntry__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultHighlighter; + class DefaultHighlighter$LayerHighlightEntry; + class Highlighter$HighlightPainter; + class JTextComponent; + class Position; + class View; + } + } + } +} + +class javax::swing::text::DefaultHighlighter$LayerHighlightEntry : public ::javax::swing::text::DefaultHighlighter$HighlightEntry +{ + +public: // actually package-private + DefaultHighlighter$LayerHighlightEntry(::javax::swing::text::DefaultHighlighter *, ::javax::swing::text::Position *, ::javax::swing::text::Position *, ::javax::swing::text::Highlighter$HighlightPainter *); + virtual void paintLayeredHighlight(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *, ::javax::swing::text::View *); + ::java::awt::Rectangle * __attribute__((aligned(__alignof__( ::javax::swing::text::DefaultHighlighter$HighlightEntry)))) paintRect; + ::javax::swing::text::DefaultHighlighter * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultHighlighter$LayerHighlightEntry__ diff --git a/libjava/javax/swing/text/DefaultHighlighter.h b/libjava/javax/swing/text/DefaultHighlighter.h new file mode 100644 index 00000000000..a237a131280 --- /dev/null +++ b/libjava/javax/swing/text/DefaultHighlighter.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultHighlighter__ +#define __javax_swing_text_DefaultHighlighter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class DefaultHighlighter; + class Highlighter$Highlight; + class Highlighter$HighlightPainter; + class JTextComponent; + class LayeredHighlighter$LayerPainter; + class View; + } + } + } +} + +class javax::swing::text::DefaultHighlighter : public ::javax::swing::text::LayeredHighlighter +{ + +public: + DefaultHighlighter(); + virtual jboolean getDrawsLayeredHighlights(); + virtual void setDrawsLayeredHighlights(jboolean); +private: + void checkPositions(jint, jint); +public: + virtual void install(::javax::swing::text::JTextComponent *); + virtual void deinstall(::javax::swing::text::JTextComponent *); + virtual ::java::lang::Object * addHighlight(jint, jint, ::javax::swing::text::Highlighter$HighlightPainter *); + virtual void removeHighlight(::java::lang::Object *); + virtual void removeAllHighlights(); + virtual JArray< ::javax::swing::text::Highlighter$Highlight * > * getHighlights(); + virtual void changeHighlight(::java::lang::Object *, jint, jint); + virtual void paintLayeredHighlights(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *, ::javax::swing::text::View *); + virtual void paint(::java::awt::Graphics *); + static ::javax::swing::text::LayeredHighlighter$LayerPainter * DefaultPainter; +private: + ::javax::swing::text::JTextComponent * __attribute__((aligned(__alignof__( ::javax::swing::text::LayeredHighlighter)))) textComponent; + ::java::util::ArrayList * highlights; + jboolean drawsLayeredHighlights; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultHighlighter__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.h b/libjava/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.h new file mode 100644 index 00000000000..ebaf8caa869 --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$AttributeUndoableEdit.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$AttributeUndoableEdit__ +#define __javax_swing_text_DefaultStyledDocument$AttributeUndoableEdit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class DefaultStyledDocument$AttributeUndoableEdit; + class Element; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$AttributeUndoableEdit : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + DefaultStyledDocument$AttributeUndoableEdit(::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *, jboolean); + virtual void undo(); + virtual void redo(); +public: // actually protected + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) copy; + ::javax::swing::text::AttributeSet * newAttributes; + jboolean isReplacing; + ::javax::swing::text::Element * element; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$AttributeUndoableEdit__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$Edit.h b/libjava/javax/swing/text/DefaultStyledDocument$Edit.h new file mode 100644 index 00000000000..7d63ab29ef0 --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$Edit.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$Edit__ +#define __javax_swing_text_DefaultStyledDocument$Edit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class DefaultStyledDocument; + class DefaultStyledDocument$Edit; + class Element; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$Edit : public ::java::lang::Object +{ + +public: + virtual JArray< ::javax::swing::text::Element * > * getRemovedElements(); + virtual JArray< ::javax::swing::text::Element * > * getAddedElements(); +private: + jboolean contains(::java::util::Vector *, ::javax::swing::text::Element *); +public: + virtual void addRemovedElement(::javax::swing::text::Element *); + virtual void addRemovedElements(JArray< ::javax::swing::text::Element * > *); + virtual void addAddedElement(::javax::swing::text::Element *); + virtual void addAddedElements(JArray< ::javax::swing::text::Element * > *); + DefaultStyledDocument$Edit(::javax::swing::text::DefaultStyledDocument *, ::javax::swing::text::Element *, jint, JArray< ::javax::swing::text::Element * > *, JArray< ::javax::swing::text::Element * > *); +public: // actually package-private + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e; + jint index; + ::java::util::Vector * removed; + ::java::util::Vector * added; + ::javax::swing::text::DefaultStyledDocument * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$Edit__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.h b/libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.h new file mode 100644 index 00000000000..628569976a2 --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer$Edit.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$ElementBuffer$Edit__ +#define __javax_swing_text_DefaultStyledDocument$ElementBuffer$Edit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class DefaultStyledDocument$ElementBuffer; + class DefaultStyledDocument$ElementBuffer$Edit; + class Element; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$ElementBuffer$Edit : public ::java::lang::Object +{ + +public: // actually package-private + DefaultStyledDocument$ElementBuffer$Edit(::javax::swing::text::DefaultStyledDocument$ElementBuffer *, ::javax::swing::text::Element *, jint); + DefaultStyledDocument$ElementBuffer$Edit(::javax::swing::text::DefaultStyledDocument$ElementBuffer *, ::javax::swing::text::Element *, jint, jboolean); + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e; + jint index; + ::java::util::ArrayList * removed; + ::java::util::ArrayList * added; + jboolean isFracture; + ::javax::swing::text::DefaultStyledDocument$ElementBuffer * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$ElementBuffer$Edit__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer.h b/libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer.h new file mode 100644 index 00000000000..17151db0e8b --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$ElementBuffer.h @@ -0,0 +1,93 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$ElementBuffer__ +#define __javax_swing_text_DefaultStyledDocument$ElementBuffer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$DefaultDocumentEvent; + class DefaultStyledDocument; + class DefaultStyledDocument$ElementBuffer; + class DefaultStyledDocument$ElementBuffer$Edit; + class DefaultStyledDocument$ElementSpec; + class Element; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$ElementBuffer : public ::java::lang::Object +{ + +public: + DefaultStyledDocument$ElementBuffer(::javax::swing::text::DefaultStyledDocument *, ::javax::swing::text::Element *); + virtual ::javax::swing::text::Element * getRootElement(); + virtual void remove(jint, jint, ::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +public: // actually protected + virtual void removeUpdate(); +private: + jboolean removeElements(::javax::swing::text::Element *, jint, jint); +public: // actually package-private + virtual void create(jint, JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *, ::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +private: + jboolean canJoin(::javax::swing::text::Element *, ::javax::swing::text::Element *); + ::javax::swing::text::Element * join(::javax::swing::text::Element *, ::javax::swing::text::Element *, ::javax::swing::text::Element *, jint, jint); +public: // actually protected + virtual void changeUpdate(); +public: + virtual void change(jint, jint, ::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); + virtual ::javax::swing::text::Element * clone(::javax::swing::text::Element *, ::javax::swing::text::Element *); +private: + ::javax::swing::text::Element * cloneAsNecessary(::javax::swing::text::Element *, ::javax::swing::text::Element *, jint, jint); +public: + virtual void insert(jint, jint, JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *, ::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +private: + void prepareEdit(jint, jint); + void finishEdit(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +public: // actually protected + virtual void insertUpdate(JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); +private: + void pop(); + void insertElement(::javax::swing::text::DefaultStyledDocument$ElementSpec *); + void insertFirstContentTag(JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); + void insertContentTag(::javax::swing::text::DefaultStyledDocument$ElementSpec *, ::javax::swing::text::DefaultStyledDocument$ElementBuffer$Edit *); + void createFracture(JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); + void fracture(jint); + void recreate(jint, jint); + ::javax::swing::text::Element * recreateFracturedElement(::javax::swing::text::Element *, ::javax::swing::text::Element *); + jboolean split(jint, jint); + static const jlong serialVersionUID = 1688745877691146623LL; + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) root; + jint offset; + jint endOffset; + jint length; + jint pos; + ::javax::swing::text::Element * fracturedParent; + ::javax::swing::text::Element * fracturedChild; + jboolean createdFracture; + ::java::util::Stack * elementStack; + JArray< ::javax::swing::text::DefaultStyledDocument$ElementBuffer$Edit * > * insertPath; + jboolean recreateLeafs; + ::java::util::ArrayList * edits; + jboolean offsetLastIndex; + jboolean offsetLastIndexReplace; +public: // actually package-private + ::javax::swing::text::DefaultStyledDocument * this$0; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$ElementBuffer__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$ElementSpec.h b/libjava/javax/swing/text/DefaultStyledDocument$ElementSpec.h new file mode 100644 index 00000000000..7c2433411b6 --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$ElementSpec.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$ElementSpec__ +#define __javax_swing_text_DefaultStyledDocument$ElementSpec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class DefaultStyledDocument$ElementSpec; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$ElementSpec : public ::java::lang::Object +{ + +public: + DefaultStyledDocument$ElementSpec(::javax::swing::text::AttributeSet *, jshort); + DefaultStyledDocument$ElementSpec(::javax::swing::text::AttributeSet *, jshort, jint); + DefaultStyledDocument$ElementSpec(::javax::swing::text::AttributeSet *, jshort, JArray< jchar > *, jint, jint); + virtual void setType(jshort); + virtual jshort getType(); + virtual void setDirection(jshort); + virtual jshort getDirection(); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual JArray< jchar > * getArray(); + virtual jint getOffset(); + virtual jint getLength(); + virtual ::java::lang::String * toString(); + static const jshort StartTagType = 1; + static const jshort EndTagType = 2; + static const jshort ContentType = 3; + static const jshort JoinPreviousDirection = 4; + static const jshort JoinNextDirection = 5; + static const jshort OriginateDirection = 6; + static const jshort JoinFractureDirection = 7; +public: // actually package-private + jshort __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + jshort direction; + jint offset; + jint length; + JArray< jchar > * content; + ::javax::swing::text::AttributeSet * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$ElementSpec__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$SectionElement.h b/libjava/javax/swing/text/DefaultStyledDocument$SectionElement.h new file mode 100644 index 00000000000..969238dc39d --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$SectionElement.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$SectionElement__ +#define __javax_swing_text_DefaultStyledDocument$SectionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class DefaultStyledDocument; + class DefaultStyledDocument$SectionElement; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$SectionElement : public ::javax::swing::text::AbstractDocument$BranchElement +{ + +public: + DefaultStyledDocument$SectionElement(::javax::swing::text::DefaultStyledDocument *); + virtual ::java::lang::String * getName(); +public: // actually package-private + ::javax::swing::text::DefaultStyledDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$BranchElement)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$SectionElement__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument$StyleChangeListener.h b/libjava/javax/swing/text/DefaultStyledDocument$StyleChangeListener.h new file mode 100644 index 00000000000..e3095acf5b6 --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument$StyleChangeListener.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument$StyleChangeListener__ +#define __javax_swing_text_DefaultStyledDocument$StyleChangeListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace text + { + class DefaultStyledDocument; + class DefaultStyledDocument$StyleChangeListener; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument$StyleChangeListener : public ::java::lang::Object +{ + + DefaultStyledDocument$StyleChangeListener(::javax::swing::text::DefaultStyledDocument *); +public: + virtual void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + DefaultStyledDocument$StyleChangeListener(::javax::swing::text::DefaultStyledDocument *, ::javax::swing::text::DefaultStyledDocument$StyleChangeListener *); + ::javax::swing::text::DefaultStyledDocument * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument$StyleChangeListener__ diff --git a/libjava/javax/swing/text/DefaultStyledDocument.h b/libjava/javax/swing/text/DefaultStyledDocument.h new file mode 100644 index 00000000000..8db689f6926 --- /dev/null +++ b/libjava/javax/swing/text/DefaultStyledDocument.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultStyledDocument__ +#define __javax_swing_text_DefaultStyledDocument__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$AbstractElement; + class AbstractDocument$Content; + class AbstractDocument$DefaultDocumentEvent; + class AttributeSet; + class DefaultStyledDocument; + class DefaultStyledDocument$ElementBuffer; + class DefaultStyledDocument$ElementSpec; + class DefaultStyledDocument$StyleChangeListener; + class Element; + class Style; + class StyleContext; + } + } + } +} + +class javax::swing::text::DefaultStyledDocument : public ::javax::swing::text::AbstractDocument +{ + +public: + DefaultStyledDocument(); + DefaultStyledDocument(::javax::swing::text::StyleContext *); + DefaultStyledDocument(::javax::swing::text::AbstractDocument$Content *, ::javax::swing::text::StyleContext *); + virtual ::javax::swing::text::Style * addStyle(::java::lang::String *, ::javax::swing::text::Style *); +public: // actually protected + virtual ::javax::swing::text::AbstractDocument$AbstractElement * createDefaultRoot(); +public: + virtual ::javax::swing::text::Element * getCharacterElement(jint); + virtual ::java::awt::Color * getBackground(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::Element * getDefaultRootElement(); + virtual ::java::awt::Font * getFont(::javax::swing::text::AttributeSet *); + virtual ::java::awt::Color * getForeground(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::Style * getLogicalStyle(jint); + virtual ::javax::swing::text::Element * getParagraphElement(jint); + virtual ::javax::swing::text::Style * getStyle(::java::lang::String *); + virtual void removeStyle(::java::lang::String *); + virtual void setCharacterAttributes(jint, jint, ::javax::swing::text::AttributeSet *, jboolean); + virtual void setLogicalStyle(jint, ::javax::swing::text::Style *); + virtual void setParagraphAttributes(jint, jint, ::javax::swing::text::AttributeSet *, jboolean); +public: // actually protected + virtual void insertUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *, ::javax::swing::text::AttributeSet *); +private: + jshort insertAfterNewline(::javax::swing::text::Element *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *, ::java::util::ArrayList *, jint, jint); +public: // actually package-private + virtual jshort handleInsertAfterNewline(::java::util::Vector *, jint, jint, ::javax::swing::text::Element *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *); +public: // actually protected + virtual void removeUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +public: + virtual ::java::util::Enumeration * getStyleNames(); +public: // actually protected + virtual void styleChanged(::javax::swing::text::Style *); + virtual void insert(jint, JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); + virtual void create(JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); +private: + static const jlong serialVersionUID = 940485415728614849LL; +public: + static const jint BUFFER_SIZE_DEFAULT = 4096; +public: // actually protected + ::javax::swing::text::DefaultStyledDocument$ElementBuffer * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument)))) buffer; +private: + ::javax::swing::text::DefaultStyledDocument$StyleChangeListener * styleChangeListener; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultStyledDocument__ diff --git a/libjava/javax/swing/text/DefaultTextUI.h b/libjava/javax/swing/text/DefaultTextUI.h new file mode 100644 index 00000000000..5c211d3040f --- /dev/null +++ b/libjava/javax/swing/text/DefaultTextUI.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DefaultTextUI__ +#define __javax_swing_text_DefaultTextUI__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class DefaultTextUI; + } + } + } +} + +class javax::swing::text::DefaultTextUI : public ::javax::swing::plaf::basic::BasicTextUI +{ + +public: + DefaultTextUI(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DefaultTextUI__ diff --git a/libjava/javax/swing/text/Document.h b/libjava/javax/swing/text/Document.h new file mode 100644 index 00000000000..d68e3e77d89 --- /dev/null +++ b/libjava/javax/swing/text/Document.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Document__ +#define __javax_swing_text_Document__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class DocumentListener; + class UndoableEditListener; + } + namespace text + { + class AttributeSet; + class Document; + class Element; + class Position; + class Segment; + } + } + } +} + +class javax::swing::text::Document : public ::java::lang::Object +{ + +public: + virtual void addDocumentListener(::javax::swing::event::DocumentListener *) = 0; + virtual void addUndoableEditListener(::javax::swing::event::UndoableEditListener *) = 0; + virtual ::javax::swing::text::Position * createPosition(jint) = 0; + virtual ::javax::swing::text::Element * getDefaultRootElement() = 0; + virtual ::javax::swing::text::Position * getEndPosition() = 0; + virtual jint getLength() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::Object *) = 0; + virtual JArray< ::javax::swing::text::Element * > * getRootElements() = 0; + virtual ::javax::swing::text::Position * getStartPosition() = 0; + virtual ::java::lang::String * getText(jint, jint) = 0; + virtual void getText(jint, jint, ::javax::swing::text::Segment *) = 0; + virtual void insertString(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *) = 0; + virtual void putProperty(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void remove(jint, jint) = 0; + virtual void removeDocumentListener(::javax::swing::event::DocumentListener *) = 0; + virtual void removeUndoableEditListener(::javax::swing::event::UndoableEditListener *) = 0; + virtual void render(::java::lang::Runnable *) = 0; + static ::java::lang::String * StreamDescriptionProperty; + static ::java::lang::String * TitleProperty; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Document__ diff --git a/libjava/javax/swing/text/DocumentFilter$FilterBypass.h b/libjava/javax/swing/text/DocumentFilter$FilterBypass.h new file mode 100644 index 00000000000..4b5c3589d33 --- /dev/null +++ b/libjava/javax/swing/text/DocumentFilter$FilterBypass.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DocumentFilter$FilterBypass__ +#define __javax_swing_text_DocumentFilter$FilterBypass__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Document; + class DocumentFilter$FilterBypass; + } + } + } +} + +class javax::swing::text::DocumentFilter$FilterBypass : public ::java::lang::Object +{ + +public: + DocumentFilter$FilterBypass(); + virtual ::javax::swing::text::Document * getDocument() = 0; + virtual void insertString(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *) = 0; + virtual void remove(jint, jint) = 0; + virtual void replace(jint, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DocumentFilter$FilterBypass__ diff --git a/libjava/javax/swing/text/DocumentFilter.h b/libjava/javax/swing/text/DocumentFilter.h new file mode 100644 index 00000000000..106478aff12 --- /dev/null +++ b/libjava/javax/swing/text/DocumentFilter.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_DocumentFilter__ +#define __javax_swing_text_DocumentFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class DocumentFilter; + class DocumentFilter$FilterBypass; + } + } + } +} + +class javax::swing::text::DocumentFilter : public ::java::lang::Object +{ + +public: + DocumentFilter(); + virtual void insertString(::javax::swing::text::DocumentFilter$FilterBypass *, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); + virtual void remove(::javax::swing::text::DocumentFilter$FilterBypass *, jint, jint); + virtual void replace(::javax::swing::text::DocumentFilter$FilterBypass *, jint, jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_DocumentFilter__ diff --git a/libjava/javax/swing/text/EditorKit.h b/libjava/javax/swing/text/EditorKit.h new file mode 100644 index 00000000000..eaeef504294 --- /dev/null +++ b/libjava/javax/swing/text/EditorKit.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_EditorKit__ +#define __javax_swing_text_EditorKit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class JEditorPane; + namespace text + { + class Caret; + class Document; + class EditorKit; + class ViewFactory; + } + } + } +} + +class javax::swing::text::EditorKit : public ::java::lang::Object +{ + +public: + EditorKit(); + virtual ::java::lang::Object * clone(); + virtual void deinstall(::javax::swing::JEditorPane *); + virtual void install(::javax::swing::JEditorPane *); + virtual ::javax::swing::text::Caret * createCaret() = 0; + virtual ::javax::swing::text::Document * createDefaultDocument() = 0; + virtual JArray< ::javax::swing::Action * > * getActions() = 0; + virtual ::java::lang::String * getContentType() = 0; + virtual ::javax::swing::text::ViewFactory * getViewFactory() = 0; + virtual void read(::java::io::InputStream *, ::javax::swing::text::Document *, jint) = 0; + virtual void read(::java::io::Reader *, ::javax::swing::text::Document *, jint) = 0; + virtual void write(::java::io::OutputStream *, ::javax::swing::text::Document *, jint, jint) = 0; + virtual void write(::java::io::Writer *, ::javax::swing::text::Document *, jint, jint) = 0; +private: + static const jlong serialVersionUID = -5044124649345887822LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_EditorKit__ diff --git a/libjava/javax/swing/text/Element.h b/libjava/javax/swing/text/Element.h new file mode 100644 index 00000000000..6166044c0ec --- /dev/null +++ b/libjava/javax/swing/text/Element.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Element__ +#define __javax_swing_text_Element__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Document; + class Element; + } + } + } +} + +class javax::swing::text::Element : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::text::AttributeSet * getAttributes() = 0; + virtual ::javax::swing::text::Document * getDocument() = 0; + virtual ::javax::swing::text::Element * getElement(jint) = 0; + virtual jint getElementCount() = 0; + virtual jint getElementIndex(jint) = 0; + virtual jint getEndOffset() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::swing::text::Element * getParentElement() = 0; + virtual jint getStartOffset() = 0; + virtual jboolean isLeaf() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Element__ diff --git a/libjava/javax/swing/text/ElementIterator$ElementRef.h b/libjava/javax/swing/text/ElementIterator$ElementRef.h new file mode 100644 index 00000000000..dd2c984c44d --- /dev/null +++ b/libjava/javax/swing/text/ElementIterator$ElementRef.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ElementIterator$ElementRef__ +#define __javax_swing_text_ElementIterator$ElementRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class ElementIterator; + class ElementIterator$ElementRef; + } + } + } +} + +class javax::swing::text::ElementIterator$ElementRef : public ::java::lang::Object +{ + +public: // actually package-private + ElementIterator$ElementRef(::javax::swing::text::ElementIterator *, ::javax::swing::text::Element *); + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) element; + jint index; + ::javax::swing::text::ElementIterator * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ElementIterator$ElementRef__ diff --git a/libjava/javax/swing/text/ElementIterator.h b/libjava/javax/swing/text/ElementIterator.h new file mode 100644 index 00000000000..1d963602109 --- /dev/null +++ b/libjava/javax/swing/text/ElementIterator.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ElementIterator__ +#define __javax_swing_text_ElementIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Document; + class Element; + class ElementIterator; + } + } + } +} + +class javax::swing::text::ElementIterator : public ::java::lang::Object +{ + +public: + ElementIterator(::javax::swing::text::Document *); + ElementIterator(::javax::swing::text::Element *); + virtual ::java::lang::Object * clone(); + virtual ::javax::swing::text::Element * current(); + virtual jint depth(); + virtual ::javax::swing::text::Element * first(); + virtual ::javax::swing::text::Element * next(); + virtual ::javax::swing::text::Element * previous(); +private: + ::javax::swing::text::Element * deepestLeaf(::javax::swing::text::Element *); + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) root; + ::java::util::Stack * stack; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ElementIterator__ diff --git a/libjava/javax/swing/text/EmptyAttributeSet$1.h b/libjava/javax/swing/text/EmptyAttributeSet$1.h new file mode 100644 index 00000000000..c4a2173de62 --- /dev/null +++ b/libjava/javax/swing/text/EmptyAttributeSet$1.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_EmptyAttributeSet$1__ +#define __javax_swing_text_EmptyAttributeSet$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class EmptyAttributeSet; + class EmptyAttributeSet$1; + } + } + } +} + +class javax::swing::text::EmptyAttributeSet$1 : public ::java::lang::Object +{ + +public: // actually package-private + EmptyAttributeSet$1(::javax::swing::text::EmptyAttributeSet *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + ::javax::swing::text::EmptyAttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_EmptyAttributeSet$1__ diff --git a/libjava/javax/swing/text/EmptyAttributeSet.h b/libjava/javax/swing/text/EmptyAttributeSet.h new file mode 100644 index 00000000000..e0f19294400 --- /dev/null +++ b/libjava/javax/swing/text/EmptyAttributeSet.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_EmptyAttributeSet__ +#define __javax_swing_text_EmptyAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class EmptyAttributeSet; + } + } + } +} + +class javax::swing::text::EmptyAttributeSet : public ::java::lang::Object +{ + +public: // actually package-private + EmptyAttributeSet(); +public: + jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + jboolean containsAttributes(::javax::swing::text::AttributeSet *); + ::javax::swing::text::AttributeSet * copyAttributes(); + ::java::lang::Object * getAttribute(::java::lang::Object *); + jint getAttributeCount(); + ::java::util::Enumeration * getAttributeNames(); + ::javax::swing::text::AttributeSet * getResolveParent(); + jboolean isDefined(::java::lang::Object *); + jboolean isEqual(::javax::swing::text::AttributeSet *); + jboolean equals(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_EmptyAttributeSet__ diff --git a/libjava/javax/swing/text/FieldView$1.h b/libjava/javax/swing/text/FieldView$1.h new file mode 100644 index 00000000000..8c0ad8e4bfc --- /dev/null +++ b/libjava/javax/swing/text/FieldView$1.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_FieldView$1__ +#define __javax_swing_text_FieldView$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace text + { + class FieldView; + class FieldView$1; + } + } + } +} + +class javax::swing::text::FieldView$1 : public ::java::lang::Object +{ + +public: // actually package-private + FieldView$1(::javax::swing::text::FieldView *); +public: + void stateChanged(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::text::FieldView * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_FieldView$1__ diff --git a/libjava/javax/swing/text/FieldView.h b/libjava/javax/swing/text/FieldView.h new file mode 100644 index 00000000000..54cf4fb8272 --- /dev/null +++ b/libjava/javax/swing/text/FieldView.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_FieldView__ +#define __javax_swing_text_FieldView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class FontMetrics; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + class BoundedRangeModel; + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class FieldView; + class Position$Bias; + class ViewFactory; + } + } + } +} + +class javax::swing::text::FieldView : public ::javax::swing::text::PlainView +{ + +public: + FieldView(::javax::swing::text::Element *); +private: + void checkContainer(); + void updateVisibility(); +public: // actually protected + virtual ::java::awt::FontMetrics * getFontMetrics(); + virtual ::java::awt::Shape * adjustAllocation(::java::awt::Shape *); +public: + virtual jfloat getPreferredSpan(jint); +private: + jfloat calculateHorizontalSpan(); +public: + virtual jint getResizeWeight(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +public: // actually package-private + ::javax::swing::BoundedRangeModel * __attribute__((aligned(__alignof__( ::javax::swing::text::PlainView)))) horizontalVisibility; + jfloat cachedSpan; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_FieldView__ diff --git a/libjava/javax/swing/text/FlowView$FlowStrategy.h b/libjava/javax/swing/text/FlowView$FlowStrategy.h new file mode 100644 index 00000000000..c9d567d2f1b --- /dev/null +++ b/libjava/javax/swing/text/FlowView$FlowStrategy.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_FlowView$FlowStrategy__ +#define __javax_swing_text_FlowView$FlowStrategy__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class FlowView; + class FlowView$FlowStrategy; + class View; + } + } + } +} + +class javax::swing::text::FlowView$FlowStrategy : public ::java::lang::Object +{ + +public: + FlowView$FlowStrategy(); + virtual void insertUpdate(::javax::swing::text::FlowView *, ::javax::swing::event::DocumentEvent *, ::java::awt::Rectangle *); + virtual void removeUpdate(::javax::swing::text::FlowView *, ::javax::swing::event::DocumentEvent *, ::java::awt::Rectangle *); + virtual void changedUpdate(::javax::swing::text::FlowView *, ::javax::swing::event::DocumentEvent *, ::java::awt::Rectangle *); +public: // actually protected + virtual ::javax::swing::text::View * getLogicalView(::javax::swing::text::FlowView *); +public: + virtual void layout(::javax::swing::text::FlowView *); +public: // actually protected + virtual jint layoutRow(::javax::swing::text::FlowView *, jint, jint); + virtual ::javax::swing::text::View * createView(::javax::swing::text::FlowView *, jint, jint, jint); + virtual void adjustRow(::javax::swing::text::FlowView *, jint, jint, jint); +private: + jboolean contains(::javax::swing::text::View *, ::javax::swing::text::View *); + void reparent(::javax::swing::text::View *, ::javax::swing::text::View *); +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_FlowView$FlowStrategy__ diff --git a/libjava/javax/swing/text/FlowView$LogicalView.h b/libjava/javax/swing/text/FlowView$LogicalView.h new file mode 100644 index 00000000000..271b4ef4a8e --- /dev/null +++ b/libjava/javax/swing/text/FlowView$LogicalView.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_FlowView$LogicalView__ +#define __javax_swing_text_FlowView$LogicalView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class AttributeSet; + class Element; + class FlowView; + class FlowView$LogicalView; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::FlowView$LogicalView : public ::javax::swing::text::CompositeView +{ + +public: // actually package-private + FlowView$LogicalView(::javax::swing::text::FlowView *, ::javax::swing::text::Element *); +public: + virtual ::javax::swing::text::AttributeSet * getAttributes(); +public: // actually protected + virtual void childAllocation(jint, ::java::awt::Rectangle *); + virtual ::javax::swing::text::View * getViewAtPoint(jint, jint, ::java::awt::Rectangle *); + virtual jboolean isAfter(jint, jint, ::java::awt::Rectangle *); + virtual jboolean isBefore(jint, jint, ::java::awt::Rectangle *); +public: + virtual jfloat getPreferredSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); +public: // actually protected + virtual void loadChildren(::javax::swing::text::ViewFactory *); + virtual void forwardUpdateToView(::javax::swing::text::View *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual jint getViewIndexAtPosition(jint); +public: // actually package-private + ::javax::swing::text::FlowView * __attribute__((aligned(__alignof__( ::javax::swing::text::CompositeView)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_FlowView$LogicalView__ diff --git a/libjava/javax/swing/text/FlowView.h b/libjava/javax/swing/text/FlowView.h new file mode 100644 index 00000000000..76535791569 --- /dev/null +++ b/libjava/javax/swing/text/FlowView.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_FlowView__ +#define __javax_swing_text_FlowView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + } + } + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class FlowView; + class FlowView$FlowStrategy; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::FlowView : public ::javax::swing::text::BoxView +{ + +public: + FlowView(::javax::swing::text::Element *, jint); + virtual jint getFlowAxis(); + virtual jint getFlowSpan(jint); + virtual jint getFlowStart(jint); +public: // actually protected + virtual ::javax::swing::text::View * createRow() = 0; + virtual void loadChildren(::javax::swing::text::ViewFactory *); + virtual void layout(jint, jint); +public: + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: // actually protected + virtual jint getViewIndexAtPosition(jint); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); +public: // actually package-private + static ::javax::swing::text::FlowView$FlowStrategy * sharedStrategy; +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) layoutSpan; + ::javax::swing::text::View * layoutPool; + ::javax::swing::text::FlowView$FlowStrategy * strategy; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_FlowView__ diff --git a/libjava/javax/swing/text/GapContent$GapContentPosition.h b/libjava/javax/swing/text/GapContent$GapContentPosition.h new file mode 100644 index 00000000000..a1d7afa6667 --- /dev/null +++ b/libjava/javax/swing/text/GapContent$GapContentPosition.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GapContent$GapContentPosition__ +#define __javax_swing_text_GapContent$GapContentPosition__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class GapContent; + class GapContent$GapContentPosition; + class GapContent$Mark; + } + } + } +} + +class javax::swing::text::GapContent$GapContentPosition : public ::java::lang::Object +{ + +public: // actually package-private + GapContent$GapContentPosition(::javax::swing::text::GapContent *); +public: + virtual jint getOffset(); +public: // actually package-private + ::javax::swing::text::GapContent$Mark * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mark; + ::javax::swing::text::GapContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GapContent$GapContentPosition__ diff --git a/libjava/javax/swing/text/GapContent$InsertUndo.h b/libjava/javax/swing/text/GapContent$InsertUndo.h new file mode 100644 index 00000000000..f36085d3cb8 --- /dev/null +++ b/libjava/javax/swing/text/GapContent$InsertUndo.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GapContent$InsertUndo__ +#define __javax_swing_text_GapContent$InsertUndo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class GapContent; + class GapContent$InsertUndo; + } + } + } +} + +class javax::swing::text::GapContent$InsertUndo : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + GapContent$InsertUndo(::javax::swing::text::GapContent *, jint, jint); + virtual void undo(); + virtual void redo(); + jint __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) where; + jint length; +public: // actually package-private + ::java::lang::String * text; +private: + ::java::util::Vector * positions; +public: // actually package-private + ::javax::swing::text::GapContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GapContent$InsertUndo__ diff --git a/libjava/javax/swing/text/GapContent$Mark.h b/libjava/javax/swing/text/GapContent$Mark.h new file mode 100644 index 00000000000..35671023314 --- /dev/null +++ b/libjava/javax/swing/text/GapContent$Mark.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GapContent$Mark__ +#define __javax_swing_text_GapContent$Mark__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class GapContent; + class GapContent$GapContentPosition; + class GapContent$Mark; + } + } + } +} + +class javax::swing::text::GapContent$Mark : public ::java::lang::ref::WeakReference +{ + +public: // actually package-private + GapContent$Mark(::javax::swing::text::GapContent *, jint); + GapContent$Mark(::javax::swing::text::GapContent *, jint, ::javax::swing::text::GapContent$GapContentPosition *, ::java::lang::ref::ReferenceQueue *); + virtual jint getOffset(); + virtual ::javax::swing::text::GapContent$GapContentPosition * getPosition(); + jint __attribute__((aligned(__alignof__( ::java::lang::ref::WeakReference)))) mark; + ::javax::swing::text::GapContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GapContent$Mark__ diff --git a/libjava/javax/swing/text/GapContent$UndoPosRef.h b/libjava/javax/swing/text/GapContent$UndoPosRef.h new file mode 100644 index 00000000000..bd0629ac8ca --- /dev/null +++ b/libjava/javax/swing/text/GapContent$UndoPosRef.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GapContent$UndoPosRef__ +#define __javax_swing_text_GapContent$UndoPosRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class GapContent; + class GapContent$Mark; + class GapContent$UndoPosRef; + } + } + } +} + +class javax::swing::text::GapContent$UndoPosRef : public ::java::lang::Object +{ + +public: // actually package-private + GapContent$UndoPosRef(::javax::swing::text::GapContent *, ::javax::swing::text::GapContent$Mark *); + virtual void reset(); +private: + ::javax::swing::text::GapContent$Mark * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mark; + jint undoOffset; +public: // actually package-private + ::javax::swing::text::GapContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GapContent$UndoPosRef__ diff --git a/libjava/javax/swing/text/GapContent$UndoRemove.h b/libjava/javax/swing/text/GapContent$UndoRemove.h new file mode 100644 index 00000000000..f5f8d6ae423 --- /dev/null +++ b/libjava/javax/swing/text/GapContent$UndoRemove.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GapContent$UndoRemove__ +#define __javax_swing_text_GapContent$UndoRemove__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class GapContent; + class GapContent$UndoRemove; + } + } + } +} + +class javax::swing::text::GapContent$UndoRemove : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + GapContent$UndoRemove(::javax::swing::text::GapContent *, jint, ::java::lang::String *); + virtual void undo(); + virtual void redo(); + jint __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) where; +public: // actually package-private + ::java::lang::String * text; +private: + ::java::util::Vector * positions; +public: // actually package-private + ::javax::swing::text::GapContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GapContent$UndoRemove__ diff --git a/libjava/javax/swing/text/GapContent.h b/libjava/javax/swing/text/GapContent.h new file mode 100644 index 00000000000..44a26ef5385 --- /dev/null +++ b/libjava/javax/swing/text/GapContent.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GapContent__ +#define __javax_swing_text_GapContent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class GapContent; + class GapContent$Mark; + class Position; + class Segment; + } + namespace undo + { + class UndoableEdit; + } + } + } +} + +class javax::swing::text::GapContent : public ::java::lang::Object +{ + +public: + GapContent(); + GapContent(jint); +public: // actually protected + virtual ::java::lang::Object * allocateArray(jint); + virtual jint getArrayLength(); +public: + virtual jint length(); + virtual ::javax::swing::undo::UndoableEdit * insertString(jint, ::java::lang::String *); + virtual ::javax::swing::undo::UndoableEdit * remove(jint, jint); + virtual ::java::lang::String * getString(jint, jint); + virtual void getChars(jint, jint, ::javax::swing::text::Segment *); + virtual ::javax::swing::text::Position * createPosition(jint); +public: // actually protected + virtual void shiftEnd(jint); + virtual void shiftGap(jint); + virtual void shiftGapStartDown(jint); + virtual void shiftGapEndUp(jint); + virtual ::java::lang::Object * getArray(); + virtual void replace(jint, jint, ::java::lang::Object *, jint); +private: + void removeImpl(jint, jint); + jint addImpl(jint, jint); +public: // actually protected + virtual jint getGapStart(); + virtual jint getGapEnd(); + virtual ::java::util::Vector * getPositionsInRange(::java::util::Vector *, jint, jint); + virtual void resetMarksAtZero(); + virtual void updateUndoPositions(::java::util::Vector *, jint, jint); +private: + void dump(); + void dumpMarks(); +public: // actually package-private + virtual jint search(::javax::swing::text::GapContent$Mark *); +private: + jint searchFirst(jint); + jint compare(::javax::swing::text::GapContent$Mark *, ::javax::swing::text::GapContent$Mark *); + void garbageCollect(); + static const jlong serialVersionUID = -6226052713477823730LL; +public: // actually package-private + static const jint DEFAULT_BUFSIZE = 10; + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + jint gapStart; + jint gapEnd; + ::java::util::ArrayList * marks; +private: + jint garbageMarks; + ::javax::swing::text::GapContent$Mark * searchMark; +public: // actually package-private + ::java::lang::ref::ReferenceQueue * queueOfDeath; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GapContent__ diff --git a/libjava/javax/swing/text/GlyphView$DefaultGlyphPainter.h b/libjava/javax/swing/text/GlyphView$DefaultGlyphPainter.h new file mode 100644 index 00000000000..7a9c8a6b708 --- /dev/null +++ b/libjava/javax/swing/text/GlyphView$DefaultGlyphPainter.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GlyphView$DefaultGlyphPainter__ +#define __javax_swing_text_GlyphView$DefaultGlyphPainter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class FontMetrics; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class GlyphView; + class GlyphView$DefaultGlyphPainter; + class Position$Bias; + class TabExpander; + } + } + } +} + +class javax::swing::text::GlyphView$DefaultGlyphPainter : public ::javax::swing::text::GlyphView$GlyphPainter +{ + +public: // actually package-private + GlyphView$DefaultGlyphPainter(); +public: + virtual jfloat getHeight(::javax::swing::text::GlyphView *); + virtual void paint(::javax::swing::text::GlyphView *, ::java::awt::Graphics *, ::java::awt::Shape *, jint, jint); + virtual ::java::awt::Shape * modelToView(::javax::swing::text::GlyphView *, jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *); + virtual jfloat getSpan(::javax::swing::text::GlyphView *, jint, jint, ::javax::swing::text::TabExpander *, jfloat); + virtual jfloat getAscent(::javax::swing::text::GlyphView *); + virtual jfloat getDescent(::javax::swing::text::GlyphView *); + virtual jint getBoundedPosition(::javax::swing::text::GlyphView *, jint, jfloat, jfloat); + virtual jint viewToModel(::javax::swing::text::GlyphView *, jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +private: + void updateFontMetrics(::javax::swing::text::GlyphView *); +public: // actually package-private + ::java::awt::FontMetrics * __attribute__((aligned(__alignof__( ::javax::swing::text::GlyphView$GlyphPainter)))) fontMetrics; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GlyphView$DefaultGlyphPainter__ diff --git a/libjava/javax/swing/text/GlyphView$GlyphPainter.h b/libjava/javax/swing/text/GlyphView$GlyphPainter.h new file mode 100644 index 00000000000..ada0b57bfa5 --- /dev/null +++ b/libjava/javax/swing/text/GlyphView$GlyphPainter.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GlyphView$GlyphPainter__ +#define __javax_swing_text_GlyphView$GlyphPainter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class GlyphView; + class GlyphView$GlyphPainter; + class Position$Bias; + class TabExpander; + } + } + } +} + +class javax::swing::text::GlyphView$GlyphPainter : public ::java::lang::Object +{ + +public: + GlyphView$GlyphPainter(); + virtual jfloat getAscent(::javax::swing::text::GlyphView *) = 0; + virtual jfloat getDescent(::javax::swing::text::GlyphView *) = 0; + virtual jfloat getHeight(::javax::swing::text::GlyphView *) = 0; + virtual jint getBoundedPosition(::javax::swing::text::GlyphView *, jint, jfloat, jfloat) = 0; + virtual void paint(::javax::swing::text::GlyphView *, ::java::awt::Graphics *, ::java::awt::Shape *, jint, jint) = 0; + virtual ::java::awt::Shape * modelToView(::javax::swing::text::GlyphView *, jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *) = 0; + virtual jint viewToModel(::javax::swing::text::GlyphView *, jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *) = 0; + virtual jfloat getSpan(::javax::swing::text::GlyphView *, jint, jint, ::javax::swing::text::TabExpander *, jfloat) = 0; + virtual jint getNextVisualPositionFrom(::javax::swing::text::GlyphView *, jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + virtual ::javax::swing::text::GlyphView$GlyphPainter * getPainter(::javax::swing::text::GlyphView *, jint, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GlyphView$GlyphPainter__ diff --git a/libjava/javax/swing/text/GlyphView$J2DGlyphPainter.h b/libjava/javax/swing/text/GlyphView$J2DGlyphPainter.h new file mode 100644 index 00000000000..a93512ae58f --- /dev/null +++ b/libjava/javax/swing/text/GlyphView$J2DGlyphPainter.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GlyphView$J2DGlyphPainter__ +#define __javax_swing_text_GlyphView$J2DGlyphPainter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Font; + class Graphics; + class Shape; + namespace font + { + class FontRenderContext; + class TextLayout; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class GlyphView; + class GlyphView$GlyphPainter; + class GlyphView$J2DGlyphPainter; + class Position$Bias; + class TabExpander; + } + } + } +} + +class javax::swing::text::GlyphView$J2DGlyphPainter : public ::javax::swing::text::GlyphView$GlyphPainter +{ + +public: // actually package-private + GlyphView$J2DGlyphPainter(::java::lang::String *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *); +public: + virtual ::javax::swing::text::GlyphView$GlyphPainter * getPainter(::javax::swing::text::GlyphView *, jint, jint); + virtual jfloat getAscent(::javax::swing::text::GlyphView *); + virtual jint getBoundedPosition(::javax::swing::text::GlyphView *, jint, jfloat, jfloat); + virtual jfloat getDescent(::javax::swing::text::GlyphView *); + virtual jfloat getHeight(::javax::swing::text::GlyphView *); + virtual jfloat getSpan(::javax::swing::text::GlyphView *, jint, jint, ::javax::swing::text::TabExpander *, jfloat); + virtual ::java::awt::Shape * modelToView(::javax::swing::text::GlyphView *, jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *); + virtual void paint(::javax::swing::text::GlyphView *, ::java::awt::Graphics *, ::java::awt::Shape *, jint, jint); + virtual jint viewToModel(::javax::swing::text::GlyphView *, jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +public: // actually package-private + ::java::awt::font::TextLayout * __attribute__((aligned(__alignof__( ::javax::swing::text::GlyphView$GlyphPainter)))) textLayout; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GlyphView$J2DGlyphPainter__ diff --git a/libjava/javax/swing/text/GlyphView.h b/libjava/javax/swing/text/GlyphView.h new file mode 100644 index 00000000000..e63c5077e77 --- /dev/null +++ b/libjava/javax/swing/text/GlyphView.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_GlyphView__ +#define __javax_swing_text_GlyphView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class GlyphView; + class GlyphView$GlyphPainter; + class Position$Bias; + class Segment; + class TabExpander; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::GlyphView : public ::javax::swing::text::View +{ + +public: + GlyphView(::javax::swing::text::Element *); + virtual ::javax::swing::text::GlyphView$GlyphPainter * getGlyphPainter(); + virtual void setGlyphPainter(::javax::swing::text::GlyphView$GlyphPainter *); +public: // actually protected + virtual void checkPainter(); +public: + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual ::javax::swing::text::TabExpander * getTabExpander(); + virtual jfloat getTabbedSpan(jfloat, ::javax::swing::text::TabExpander *); + virtual jfloat getPartialSpan(jint, jint); + virtual jint getStartOffset(); + virtual jint getEndOffset(); + virtual ::javax::swing::text::Segment * getText(jint, jint); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::Color * getForeground(); + virtual ::java::awt::Color * getBackground(); + virtual jboolean isStrikeThrough(); + virtual jboolean isSubscript(); + virtual jboolean isSuperscript(); + virtual jboolean isUnderline(); +public: // actually protected + virtual ::java::lang::Object * clone(); +public: + virtual ::javax::swing::text::View * breakView(jint, jint, jfloat, jfloat); + virtual jint getBreakWeight(jint, jfloat, jfloat); +private: + jint getBreakLocation(jint, jint); +public: + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual ::javax::swing::text::View * createFragment(jint, jint); + virtual jfloat getAlignment(jint); + virtual jint getNextVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); +public: // actually package-private + ::javax::swing::text::GlyphView$GlyphPainter * __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) glyphPainter; +private: + jint offset; + jint length; + jfloat tabX; + ::javax::swing::text::TabExpander * tabExpander; + ::javax::swing::text::Segment * cached; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_GlyphView__ diff --git a/libjava/javax/swing/text/Highlighter$Highlight.h b/libjava/javax/swing/text/Highlighter$Highlight.h new file mode 100644 index 00000000000..92ae0f430ef --- /dev/null +++ b/libjava/javax/swing/text/Highlighter$Highlight.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Highlighter$Highlight__ +#define __javax_swing_text_Highlighter$Highlight__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Highlighter$Highlight; + class Highlighter$HighlightPainter; + } + } + } +} + +class javax::swing::text::Highlighter$Highlight : public ::java::lang::Object +{ + +public: + virtual jint getEndOffset() = 0; + virtual jint getStartOffset() = 0; + virtual ::javax::swing::text::Highlighter$HighlightPainter * getPainter() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Highlighter$Highlight__ diff --git a/libjava/javax/swing/text/Highlighter$HighlightPainter.h b/libjava/javax/swing/text/Highlighter$HighlightPainter.h new file mode 100644 index 00000000000..8a0987579bf --- /dev/null +++ b/libjava/javax/swing/text/Highlighter$HighlightPainter.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Highlighter$HighlightPainter__ +#define __javax_swing_text_Highlighter$HighlightPainter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Highlighter$HighlightPainter; + class JTextComponent; + } + } + } +} + +class javax::swing::text::Highlighter$HighlightPainter : public ::java::lang::Object +{ + +public: + virtual void paint(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Highlighter$HighlightPainter__ diff --git a/libjava/javax/swing/text/Highlighter.h b/libjava/javax/swing/text/Highlighter.h new file mode 100644 index 00000000000..2f947d226d2 --- /dev/null +++ b/libjava/javax/swing/text/Highlighter.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Highlighter__ +#define __javax_swing_text_Highlighter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Highlighter; + class Highlighter$Highlight; + class Highlighter$HighlightPainter; + class JTextComponent; + } + } + } +} + +class javax::swing::text::Highlighter : public ::java::lang::Object +{ + +public: + virtual void install(::javax::swing::text::JTextComponent *) = 0; + virtual void deinstall(::javax::swing::text::JTextComponent *) = 0; + virtual ::java::lang::Object * addHighlight(jint, jint, ::javax::swing::text::Highlighter$HighlightPainter *) = 0; + virtual void removeAllHighlights() = 0; + virtual void removeHighlight(::java::lang::Object *) = 0; + virtual void changeHighlight(::java::lang::Object *, jint, jint) = 0; + virtual JArray< ::javax::swing::text::Highlighter$Highlight * > * getHighlights() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Highlighter__ diff --git a/libjava/javax/swing/text/IconView.h b/libjava/javax/swing/text/IconView.h new file mode 100644 index 00000000000..cc47c48a248 --- /dev/null +++ b/libjava/javax/swing/text/IconView.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_IconView__ +#define __javax_swing_text_IconView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class IconView; + class Position$Bias; + } + } + } +} + +class javax::swing::text::IconView : public ::javax::swing::text::View +{ + +public: + IconView(::javax::swing::text::Element *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual jfloat getAlignment(jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_IconView__ diff --git a/libjava/javax/swing/text/InternationalFormatter.h b/libjava/javax/swing/text/InternationalFormatter.h new file mode 100644 index 00000000000..48f4726d6c5 --- /dev/null +++ b/libjava/javax/swing/text/InternationalFormatter.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_InternationalFormatter__ +#define __javax_swing_text_InternationalFormatter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace text + { + class Format; + class Format$Field; + } + } + namespace javax + { + namespace swing + { + class Action; + class JFormattedTextField; + namespace text + { + class InternationalFormatter; + } + } + } +} + +class javax::swing::text::InternationalFormatter : public ::javax::swing::text::DefaultFormatter +{ + +public: + InternationalFormatter(); + InternationalFormatter(::java::text::Format *); + virtual void setFormat(::java::text::Format *); + virtual ::java::text::Format * getFormat(); + virtual void setMinimum(::java::lang::Comparable *); + virtual ::java::lang::Comparable * getMinimum(); + virtual void setMaximum(::java::lang::Comparable *); + virtual ::java::lang::Comparable * getMaximum(); + virtual void install(::javax::swing::JFormattedTextField *); + virtual ::java::lang::String * valueToString(::java::lang::Object *); + virtual ::java::lang::Object * stringToValue(::java::lang::String *); + virtual JArray< ::java::text::Format$Field * > * getFields(jint); +public: // actually protected + virtual JArray< ::javax::swing::Action * > * getActions(); +private: + static const jlong serialVersionUID = 2436068675711756856LL; +public: // actually package-private + ::java::text::Format * __attribute__((aligned(__alignof__( ::javax::swing::text::DefaultFormatter)))) format; + ::java::lang::Comparable * minimum; + ::java::lang::Comparable * maximum; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_InternationalFormatter__ diff --git a/libjava/javax/swing/text/JTextComponent$AccessibleJTextComponent.h b/libjava/javax/swing/text/JTextComponent$AccessibleJTextComponent.h new file mode 100644 index 00000000000..ea8552a664a --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent$AccessibleJTextComponent.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent$AccessibleJTextComponent__ +#define __javax_swing_text_JTextComponent$AccessibleJTextComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Point; + class Rectangle; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleEditableText; + class AccessibleRole; + class AccessibleStateSet; + class AccessibleText; + } + namespace swing + { + namespace event + { + class CaretEvent; + class DocumentEvent; + } + namespace text + { + class AttributeSet; + class JTextComponent; + class JTextComponent$AccessibleJTextComponent; + } + } + } +} + +class javax::swing::text::JTextComponent$AccessibleJTextComponent : public ::javax::swing::JComponent$AccessibleJComponent +{ + +public: + JTextComponent$AccessibleJTextComponent(::javax::swing::text::JTextComponent *); + virtual jint getCaretPosition(); + virtual ::java::lang::String * getSelectedText(); + virtual jint getSelectionStart(); + virtual jint getSelectionEnd(); + virtual void caretUpdate(::javax::swing::event::CaretEvent *); + virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet(); + virtual ::javax::accessibility::AccessibleRole * getAccessibleRole(); + virtual ::javax::accessibility::AccessibleEditableText * getAccessibleEditableText(); + virtual ::javax::accessibility::AccessibleText * getAccessibleText(); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *); + virtual jint getIndexAtPoint(::java::awt::Point *); + virtual ::java::awt::Rectangle * getCharacterBounds(jint); + virtual jint getCharCount(); + virtual ::javax::swing::text::AttributeSet * getCharacterAttribute(jint); + virtual ::java::lang::String * getAtIndex(jint, jint); + virtual ::java::lang::String * getAfterIndex(jint, jint); + virtual ::java::lang::String * getBeforeIndex(jint, jint); +private: + ::java::lang::String * getAtIndexImpl(jint, jint, jint); +public: + virtual jint getAccessibleActionCount(); + virtual ::java::lang::String * getAccessibleActionDescription(jint); + virtual jboolean doAccessibleAction(jint); + virtual void setTextContents(::java::lang::String *); + virtual void insertTextAtIndex(jint, ::java::lang::String *); + virtual ::java::lang::String * getTextRange(jint, jint); + virtual void delete$(jint, jint); + virtual void cut(jint, jint); + virtual void paste(jint); + virtual void replaceText(jint, jint, ::java::lang::String *); + virtual void selectText(jint, jint); + virtual void setAttributes(jint, jint, ::javax::swing::text::AttributeSet *); +private: + static const jlong serialVersionUID = 7664188944091413696LL; + jint __attribute__((aligned(__alignof__( ::javax::swing::JComponent$AccessibleJComponent)))) caretDot; +public: // actually package-private + ::javax::swing::text::JTextComponent * this$0; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent$AccessibleJTextComponent__ diff --git a/libjava/javax/swing/text/JTextComponent$DefaultKeymap.h b/libjava/javax/swing/text/JTextComponent$DefaultKeymap.h new file mode 100644 index 00000000000..0e61fb476b7 --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent$DefaultKeymap.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent$DefaultKeymap__ +#define __javax_swing_text_JTextComponent$DefaultKeymap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class KeyStroke; + namespace text + { + class JTextComponent$DefaultKeymap; + class Keymap; + } + } + } +} + +class javax::swing::text::JTextComponent$DefaultKeymap : public ::java::lang::Object +{ + +public: + JTextComponent$DefaultKeymap(::java::lang::String *); + virtual void addActionForKeyStroke(::javax::swing::KeyStroke *, ::javax::swing::Action *); + virtual ::javax::swing::Action * getAction(::javax::swing::KeyStroke *); + virtual JArray< ::javax::swing::Action * > * getBoundActions(); + virtual JArray< ::javax::swing::KeyStroke * > * getBoundKeyStrokes(); + virtual ::javax::swing::Action * getDefaultAction(); + virtual JArray< ::javax::swing::KeyStroke * > * getKeyStrokesForAction(::javax::swing::Action *); + virtual ::java::lang::String * getName(); + virtual ::javax::swing::text::Keymap * getResolveParent(); + virtual jboolean isLocallyDefined(::javax::swing::KeyStroke *); + virtual void removeBindings(); + virtual void removeKeyStrokeBinding(::javax::swing::KeyStroke *); + virtual void setDefaultAction(::javax::swing::Action *); + virtual void setResolveParent(::javax::swing::text::Keymap *); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + ::javax::swing::text::Keymap * parent; + ::java::util::Hashtable * map; + ::javax::swing::Action * defaultAction; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent$DefaultKeymap__ diff --git a/libjava/javax/swing/text/JTextComponent$DefaultTransferHandler.h b/libjava/javax/swing/text/JTextComponent$DefaultTransferHandler.h new file mode 100644 index 00000000000..bdd3c56a82b --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent$DefaultTransferHandler.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent$DefaultTransferHandler__ +#define __javax_swing_text_JTextComponent$DefaultTransferHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace datatransfer + { + class Clipboard; + class DataFlavor; + class Transferable; + } + } + } + namespace javax + { + namespace swing + { + class JComponent; + namespace text + { + class JTextComponent; + class JTextComponent$DefaultTransferHandler; + } + } + } +} + +class javax::swing::text::JTextComponent$DefaultTransferHandler : public ::javax::swing::TransferHandler +{ + +public: // actually package-private + JTextComponent$DefaultTransferHandler(::javax::swing::text::JTextComponent *); +public: + virtual jboolean canImport(::javax::swing::JComponent *, JArray< ::java::awt::datatransfer::DataFlavor * > *); + virtual void exportToClipboard(::javax::swing::JComponent *, ::java::awt::datatransfer::Clipboard *, jint); + virtual jint getSourceActions(); + virtual jboolean importData(::javax::swing::JComponent *, ::java::awt::datatransfer::Transferable *); +public: // actually package-private + ::javax::swing::text::JTextComponent * __attribute__((aligned(__alignof__( ::javax::swing::TransferHandler)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent$DefaultTransferHandler__ diff --git a/libjava/javax/swing/text/JTextComponent$KeyBinding.h b/libjava/javax/swing/text/JTextComponent$KeyBinding.h new file mode 100644 index 00000000000..e3565c96fed --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent$KeyBinding.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent$KeyBinding__ +#define __javax_swing_text_JTextComponent$KeyBinding__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class KeyStroke; + namespace text + { + class JTextComponent$KeyBinding; + } + } + } +} + +class javax::swing::text::JTextComponent$KeyBinding : public ::java::lang::Object +{ + +public: + JTextComponent$KeyBinding(::javax::swing::KeyStroke *, ::java::lang::String *); + ::javax::swing::KeyStroke * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key; + ::java::lang::String * actionName; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent$KeyBinding__ diff --git a/libjava/javax/swing/text/JTextComponent$KeymapActionMap.h b/libjava/javax/swing/text/JTextComponent$KeymapActionMap.h new file mode 100644 index 00000000000..9496d66b3d0 --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent$KeymapActionMap.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent$KeymapActionMap__ +#define __javax_swing_text_JTextComponent$KeymapActionMap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + namespace text + { + class JTextComponent; + class JTextComponent$KeymapActionMap; + class Keymap; + } + } + } +} + +class javax::swing::text::JTextComponent$KeymapActionMap : public ::javax::swing::ActionMap +{ + +public: + JTextComponent$KeymapActionMap(::javax::swing::text::JTextComponent *, ::javax::swing::text::Keymap *); + virtual ::javax::swing::Action * get(::java::lang::Object *); + virtual jint size(); + virtual JArray< ::java::lang::Object * > * keys(); + virtual JArray< ::java::lang::Object * > * allKeys(); +public: // actually package-private + ::javax::swing::text::Keymap * __attribute__((aligned(__alignof__( ::javax::swing::ActionMap)))) map; + ::javax::swing::text::JTextComponent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent$KeymapActionMap__ diff --git a/libjava/javax/swing/text/JTextComponent$KeymapWrapper.h b/libjava/javax/swing/text/JTextComponent$KeymapWrapper.h new file mode 100644 index 00000000000..07e02f3ffe1 --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent$KeymapWrapper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent$KeymapWrapper__ +#define __javax_swing_text_JTextComponent$KeymapWrapper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class KeyStroke; + namespace text + { + class JTextComponent; + class JTextComponent$KeymapWrapper; + class Keymap; + } + } + } +} + +class javax::swing::text::JTextComponent$KeymapWrapper : public ::javax::swing::InputMap +{ + +public: + JTextComponent$KeymapWrapper(::javax::swing::text::JTextComponent *, ::javax::swing::text::Keymap *); + virtual jint size(); + virtual ::java::lang::Object * get(::javax::swing::KeyStroke *); + virtual JArray< ::javax::swing::KeyStroke * > * keys(); + virtual JArray< ::javax::swing::KeyStroke * > * allKeys(); +public: // actually package-private + ::javax::swing::text::Keymap * __attribute__((aligned(__alignof__( ::javax::swing::InputMap)))) map; + ::javax::swing::text::JTextComponent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent$KeymapWrapper__ diff --git a/libjava/javax/swing/text/JTextComponent.h b/libjava/javax/swing/text/JTextComponent.h new file mode 100644 index 00000000000..cbaec01315a --- /dev/null +++ b/libjava/javax/swing/text/JTextComponent.h @@ -0,0 +1,173 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_JTextComponent__ +#define __javax_swing_text_JTextComponent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Dimension; + class Insets; + class Point; + class Rectangle; + namespace event + { + class InputMethodListener; + class MouseEvent; + } + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + namespace event + { + class CaretEvent; + class CaretListener; + } + namespace plaf + { + class TextUI; + } + namespace text + { + class Caret; + class Document; + class Highlighter; + class JTextComponent; + class JTextComponent$DefaultTransferHandler; + class JTextComponent$KeyBinding; + class Keymap; + class NavigationFilter; + } + } + } +} + +class javax::swing::text::JTextComponent : public ::javax::swing::JComponent +{ + +public: + static ::javax::swing::text::Keymap * getKeymap(::java::lang::String *); + static ::javax::swing::text::Keymap * removeKeymap(::java::lang::String *); + static ::javax::swing::text::Keymap * addKeymap(::java::lang::String *, ::javax::swing::text::Keymap *); + virtual ::javax::swing::text::Keymap * getKeymap(); + virtual void setKeymap(::javax::swing::text::Keymap *); + static void loadKeymap(::javax::swing::text::Keymap *, JArray< ::javax::swing::text::JTextComponent$KeyBinding * > *, JArray< ::javax::swing::Action * > *); + virtual JArray< ::javax::swing::Action * > * getActions(); + JTextComponent(); + virtual void setDocument(::javax::swing::text::Document *); + virtual ::javax::swing::text::Document * getDocument(); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual void setMargin(::java::awt::Insets *); + virtual ::java::awt::Insets * getMargin(); + virtual void setText(::java::lang::String *); + virtual ::java::lang::String * getText(); + virtual ::java::lang::String * getText(jint, jint); + virtual ::java::lang::String * getSelectedText(); + virtual ::java::lang::String * getUIClassID(); +public: // actually protected + virtual ::java::lang::String * paramString(); +public: + virtual ::javax::swing::plaf::TextUI * getUI(); + virtual void setUI(::javax::swing::plaf::TextUI *); + virtual void updateUI(); + virtual ::java::awt::Dimension * getPreferredScrollableViewportSize(); + virtual jint getScrollableUnitIncrement(::java::awt::Rectangle *, jint, jint); + virtual jint getScrollableBlockIncrement(::java::awt::Rectangle *, jint, jint); + virtual jboolean isEditable(); + virtual void setEditable(jboolean); + virtual ::javax::swing::text::Caret * getCaret(); + virtual void setCaret(::javax::swing::text::Caret *); + virtual ::java::awt::Color * getCaretColor(); + virtual void setCaretColor(::java::awt::Color *); + virtual ::java::awt::Color * getDisabledTextColor(); + virtual void setDisabledTextColor(::java::awt::Color *); + virtual ::java::awt::Color * getSelectedTextColor(); + virtual void setSelectedTextColor(::java::awt::Color *); + virtual ::java::awt::Color * getSelectionColor(); + virtual void setSelectionColor(::java::awt::Color *); + virtual jint getCaretPosition(); + virtual void setCaretPosition(jint); + virtual void moveCaretPosition(jint); + virtual ::javax::swing::text::Highlighter * getHighlighter(); + virtual void setHighlighter(::javax::swing::text::Highlighter *); + virtual jint getSelectionStart(); + virtual void setSelectionStart(jint); + virtual jint getSelectionEnd(); + virtual void setSelectionEnd(jint); + virtual void select(jint, jint); + virtual void selectAll(); + virtual void replaceSelection(::java::lang::String *); + virtual jboolean getScrollableTracksViewportHeight(); + virtual jboolean getScrollableTracksViewportWidth(); + virtual void addCaretListener(::javax::swing::event::CaretListener *); + virtual void removeCaretListener(::javax::swing::event::CaretListener *); + virtual JArray< ::javax::swing::event::CaretListener * > * getCaretListeners(); +public: // actually protected + virtual void fireCaretUpdate(::javax::swing::event::CaretEvent *); +public: + virtual void addInputMethodListener(::java::awt::event::InputMethodListener *); + virtual void removeInputMethodListener(::java::awt::event::InputMethodListener *); + virtual JArray< ::java::awt::event::InputMethodListener * > * getInputMethodListeners(); + virtual ::java::awt::Rectangle * modelToView(jint); + virtual jboolean getDragEnabled(); + virtual void setDragEnabled(jboolean); + virtual jint viewToModel(::java::awt::Point *); + virtual void copy(); + virtual void cut(); + virtual void paste(); +private: + void doTransferAction(::java::lang::String *, ::javax::swing::Action *); +public: + virtual void setFocusAccelerator(jchar); + virtual jchar getFocusAccelerator(); + virtual ::javax::swing::text::NavigationFilter * getNavigationFilter(); + virtual void setNavigationFilter(::javax::swing::text::NavigationFilter *); + virtual void read(::java::io::Reader *, ::java::lang::Object *); + virtual void write(::java::io::Writer *); + virtual ::java::lang::String * getToolTipText(::java::awt::event::MouseEvent *); +private: + static const jlong serialVersionUID = -8796518220218978795LL; +public: + static ::java::lang::String * DEFAULT_KEYMAP; + static ::java::lang::String * FOCUS_ACCELERATOR_KEY; +private: + static ::javax::swing::text::JTextComponent$DefaultTransferHandler * defaultTransferHandler; + static ::java::util::Hashtable * keymaps; + ::javax::swing::text::Keymap * __attribute__((aligned(__alignof__( ::javax::swing::JComponent)))) keymap; + jchar focusAccelerator; + ::javax::swing::text::NavigationFilter * navigationFilter; +public: // actually package-private + ::javax::swing::text::Document * doc; + ::javax::swing::text::Caret * caret; + jboolean editable; +private: + ::javax::swing::text::Highlighter * highlighter; + ::java::awt::Color * caretColor; + ::java::awt::Color * disabledTextColor; + ::java::awt::Color * selectedTextColor; + ::java::awt::Color * selectionColor; + ::java::awt::Insets * margin; + jboolean dragEnabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_JTextComponent__ diff --git a/libjava/javax/swing/text/Keymap.h b/libjava/javax/swing/text/Keymap.h new file mode 100644 index 00000000000..6ec0a9816bf --- /dev/null +++ b/libjava/javax/swing/text/Keymap.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Keymap__ +#define __javax_swing_text_Keymap__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class KeyStroke; + namespace text + { + class Keymap; + } + } + } +} + +class javax::swing::text::Keymap : public ::java::lang::Object +{ + +public: + virtual void addActionForKeyStroke(::javax::swing::KeyStroke *, ::javax::swing::Action *) = 0; + virtual ::javax::swing::Action * getAction(::javax::swing::KeyStroke *) = 0; + virtual JArray< ::javax::swing::Action * > * getBoundActions() = 0; + virtual JArray< ::javax::swing::KeyStroke * > * getBoundKeyStrokes() = 0; + virtual ::javax::swing::Action * getDefaultAction() = 0; + virtual JArray< ::javax::swing::KeyStroke * > * getKeyStrokesForAction(::javax::swing::Action *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::javax::swing::text::Keymap * getResolveParent() = 0; + virtual jboolean isLocallyDefined(::javax::swing::KeyStroke *) = 0; + virtual void removeBindings() = 0; + virtual void removeKeyStrokeBinding(::javax::swing::KeyStroke *) = 0; + virtual void setDefaultAction(::javax::swing::Action *) = 0; + virtual void setResolveParent(::javax::swing::text::Keymap *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Keymap__ diff --git a/libjava/javax/swing/text/LabelView.h b/libjava/javax/swing/text/LabelView.h new file mode 100644 index 00000000000..0d616b22883 --- /dev/null +++ b/libjava/javax/swing/text/LabelView.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_LabelView__ +#define __javax_swing_text_LabelView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class LabelView; + class ViewFactory; + } + } + } +} + +class javax::swing::text::LabelView : public ::javax::swing::text::GlyphView +{ + +public: + LabelView(::javax::swing::text::Element *); +public: // actually protected + virtual void setPropertiesFromAttributes(); +public: + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual ::java::awt::Color * getBackground(); +public: // actually protected + virtual void setBackground(::java::awt::Color *); +public: + virtual ::java::awt::Color * getForeground(); + virtual ::java::awt::Font * getFont(); +public: // actually protected + virtual ::java::awt::FontMetrics * getFontMetrics(); +public: + virtual jboolean isUnderline(); +public: // actually protected + virtual void setUnderline(jboolean); +public: + virtual jboolean isSubscript(); +public: // actually protected + virtual void setSubscript(jboolean); +public: + virtual jboolean isSuperscript(); +public: // actually protected + virtual void setSuperscript(jboolean); +public: + virtual jboolean isStrikeThrough(); +public: // actually protected + virtual void setStrikeThrough(jboolean); +public: // actually package-private + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::text::GlyphView)))) background; + ::java::awt::Color * foreground; + ::java::awt::Font * font; + jboolean strikeThrough; + jboolean underline; + jboolean subscript; + jboolean superscript; +private: + jboolean valid; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_LabelView__ diff --git a/libjava/javax/swing/text/LayeredHighlighter$LayerPainter.h b/libjava/javax/swing/text/LayeredHighlighter$LayerPainter.h new file mode 100644 index 00000000000..306061f2bbd --- /dev/null +++ b/libjava/javax/swing/text/LayeredHighlighter$LayerPainter.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_LayeredHighlighter$LayerPainter__ +#define __javax_swing_text_LayeredHighlighter$LayerPainter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class JTextComponent; + class LayeredHighlighter$LayerPainter; + class View; + } + } + } +} + +class javax::swing::text::LayeredHighlighter$LayerPainter : public ::java::lang::Object +{ + +public: + LayeredHighlighter$LayerPainter(); + virtual ::java::awt::Shape * paintLayer(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *, ::javax::swing::text::View *) = 0; + virtual void paint(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_LayeredHighlighter$LayerPainter__ diff --git a/libjava/javax/swing/text/LayeredHighlighter.h b/libjava/javax/swing/text/LayeredHighlighter.h new file mode 100644 index 00000000000..504680a41e4 --- /dev/null +++ b/libjava/javax/swing/text/LayeredHighlighter.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_LayeredHighlighter__ +#define __javax_swing_text_LayeredHighlighter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Highlighter$Highlight; + class Highlighter$HighlightPainter; + class JTextComponent; + class LayeredHighlighter; + class View; + } + } + } +} + +class javax::swing::text::LayeredHighlighter : public ::java::lang::Object +{ + +public: + LayeredHighlighter(); + virtual void paintLayeredHighlights(::java::awt::Graphics *, jint, jint, ::java::awt::Shape *, ::javax::swing::text::JTextComponent *, ::javax::swing::text::View *) = 0; + virtual void install(::javax::swing::text::JTextComponent *) = 0; + virtual void deinstall(::javax::swing::text::JTextComponent *) = 0; + virtual ::java::lang::Object * addHighlight(jint, jint, ::javax::swing::text::Highlighter$HighlightPainter *) = 0; + virtual void removeAllHighlights() = 0; + virtual void removeHighlight(::java::lang::Object *) = 0; + virtual void changeHighlight(::java::lang::Object *, jint, jint) = 0; + virtual JArray< ::javax::swing::text::Highlighter$Highlight * > * getHighlights() = 0; + virtual void paint(::java::awt::Graphics *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_LayeredHighlighter__ diff --git a/libjava/javax/swing/text/LayoutQueue.h b/libjava/javax/swing/text/LayoutQueue.h new file mode 100644 index 00000000000..0dcc8a7977c --- /dev/null +++ b/libjava/javax/swing/text/LayoutQueue.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_LayoutQueue__ +#define __javax_swing_text_LayoutQueue__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class LayoutQueue; + } + } + } +} + +class javax::swing::text::LayoutQueue : public ::java::lang::Object +{ + +public: + LayoutQueue(); + virtual void addTask(::java::lang::Runnable *); +public: // actually protected + virtual ::java::lang::Runnable * waitForWork(); +public: + static ::javax::swing::text::LayoutQueue * getDefaultQueue(); + static void setDefaultQueue(::javax::swing::text::LayoutQueue *); +private: + static ::javax::swing::text::LayoutQueue * defaultQueue; + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_LayoutQueue__ diff --git a/libjava/javax/swing/text/MaskFormatter.h b/libjava/javax/swing/text/MaskFormatter.h new file mode 100644 index 00000000000..d8651afc956 --- /dev/null +++ b/libjava/javax/swing/text/MaskFormatter.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_MaskFormatter__ +#define __javax_swing_text_MaskFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class JFormattedTextField; + namespace text + { + class MaskFormatter; + } + } + } +} + +class javax::swing::text::MaskFormatter : public ::javax::swing::text::DefaultFormatter +{ + +public: + MaskFormatter(); + MaskFormatter(::java::lang::String *); + virtual ::java::lang::String * getMask(); + virtual ::java::lang::String * getInvalidCharacters(); + virtual void setInvalidCharacters(::java::lang::String *); + virtual ::java::lang::String * getValidCharacters(); + virtual void setValidCharacters(::java::lang::String *); + virtual ::java::lang::String * getPlaceholder(); + virtual void setPlaceholder(::java::lang::String *); + virtual jchar getPlaceholderCharacter(); + virtual void setPlaceholderCharacter(jchar); + virtual jboolean getValueContainsLiteralCharacters(); + virtual void setValueContainsLiteralCharacters(jboolean); + virtual void setMask(::java::lang::String *); + virtual void install(::javax::swing::JFormattedTextField *); + virtual ::java::lang::Object * stringToValue(::java::lang::String *); +private: + ::java::lang::String * convertStringToValue(::java::lang::String *); +public: + virtual ::java::lang::String * valueToString(::java::lang::Object *); +private: + ::java::lang::String * convertValueToString(::java::lang::String *); + static const jchar NUM_CHAR = 35; + static const jchar ESCAPE_CHAR = 39; + static const jchar UPPERCASE_CHAR = 85; + static const jchar LOWERCASE_CHAR = 76; + static const jchar ALPHANUM_CHAR = 65; + static const jchar LETTER_CHAR = 63; + static const jchar ANYTHING_CHAR = 42; + static const jchar HEX_CHAR = 72; + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::DefaultFormatter)))) mask; + ::java::lang::String * invalidChars; + ::java::lang::String * validChars; + ::java::lang::String * placeHolder; + jchar placeHolderChar; + jboolean valueContainsLiteralCharacters; + static ::java::lang::String * hexString; +public: // actually package-private + jint maskLength; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_MaskFormatter__ diff --git a/libjava/javax/swing/text/MutableAttributeSet.h b/libjava/javax/swing/text/MutableAttributeSet.h new file mode 100644 index 00000000000..d98305585f3 --- /dev/null +++ b/libjava/javax/swing/text/MutableAttributeSet.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_MutableAttributeSet__ +#define __javax_swing_text_MutableAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class MutableAttributeSet; + } + } + } +} + +class javax::swing::text::MutableAttributeSet : public ::java::lang::Object +{ + +public: + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void addAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual void removeAttribute(::java::lang::Object *) = 0; + virtual void removeAttributes(::java::util::Enumeration *) = 0; + virtual void removeAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual void setResolveParent(::javax::swing::text::AttributeSet *) = 0; + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual ::javax::swing::text::AttributeSet * copyAttributes() = 0; + virtual ::java::lang::Object * getAttribute(::java::lang::Object *) = 0; + virtual jint getAttributeCount() = 0; + virtual ::java::util::Enumeration * getAttributeNames() = 0; + virtual ::javax::swing::text::AttributeSet * getResolveParent() = 0; + virtual jboolean isDefined(::java::lang::Object *) = 0; + virtual jboolean isEqual(::javax::swing::text::AttributeSet *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_MutableAttributeSet__ diff --git a/libjava/javax/swing/text/NavigationFilter$FilterBypass.h b/libjava/javax/swing/text/NavigationFilter$FilterBypass.h new file mode 100644 index 00000000000..5c771e222ac --- /dev/null +++ b/libjava/javax/swing/text/NavigationFilter$FilterBypass.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_NavigationFilter$FilterBypass__ +#define __javax_swing_text_NavigationFilter$FilterBypass__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class NavigationFilter$FilterBypass; + class Position$Bias; + } + } + } +} + +class javax::swing::text::NavigationFilter$FilterBypass : public ::java::lang::Object +{ + +public: + NavigationFilter$FilterBypass(); + virtual ::javax::swing::text::Caret * getCaret() = 0; + virtual void moveDot(jint, ::javax::swing::text::Position$Bias *) = 0; + virtual void setDot(jint, ::javax::swing::text::Position$Bias *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_NavigationFilter$FilterBypass__ diff --git a/libjava/javax/swing/text/NavigationFilter.h b/libjava/javax/swing/text/NavigationFilter.h new file mode 100644 index 00000000000..533b6e50d1a --- /dev/null +++ b/libjava/javax/swing/text/NavigationFilter.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_NavigationFilter__ +#define __javax_swing_text_NavigationFilter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class JTextComponent; + class NavigationFilter; + class NavigationFilter$FilterBypass; + class Position$Bias; + } + } + } +} + +class javax::swing::text::NavigationFilter : public ::java::lang::Object +{ + +public: + NavigationFilter(); + virtual void moveDot(::javax::swing::text::NavigationFilter$FilterBypass *, jint, ::javax::swing::text::Position$Bias *); + virtual void setDot(::javax::swing::text::NavigationFilter$FilterBypass *, jint, ::javax::swing::text::Position$Bias *); + virtual jint getNextVisualPositionFrom(::javax::swing::text::JTextComponent *, jint, ::javax::swing::text::Position$Bias *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_NavigationFilter__ diff --git a/libjava/javax/swing/text/NumberFormatter.h b/libjava/javax/swing/text/NumberFormatter.h new file mode 100644 index 00000000000..fe952fe468b --- /dev/null +++ b/libjava/javax/swing/text/NumberFormatter.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_NumberFormatter__ +#define __javax_swing_text_NumberFormatter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace text + { + class Format; + class NumberFormat; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class NumberFormatter; + } + } + } +} + +class javax::swing::text::NumberFormatter : public ::javax::swing::text::InternationalFormatter +{ + +public: + NumberFormatter(); + NumberFormatter(::java::text::NumberFormat *); + virtual void setFormat(::java::text::Format *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_NumberFormatter__ diff --git a/libjava/javax/swing/text/ParagraphView$Row.h b/libjava/javax/swing/text/ParagraphView$Row.h new file mode 100644 index 00000000000..36a372a7098 --- /dev/null +++ b/libjava/javax/swing/text/ParagraphView$Row.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ParagraphView$Row__ +#define __javax_swing_text_ParagraphView$Row__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace text + { + class Element; + class ParagraphView; + class ParagraphView$Row; + class ViewFactory; + } + } + } +} + +class javax::swing::text::ParagraphView$Row : public ::javax::swing::text::BoxView +{ + +public: // actually package-private + ParagraphView$Row(::javax::swing::text::ParagraphView *, ::javax::swing::text::Element *); +public: + virtual jshort getLeftInset(); + virtual jfloat getAlignment(jint); +public: // actually protected + virtual jint getViewIndexAtPosition(jint); + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual void loadChildren(::javax::swing::text::ViewFactory *); +public: + virtual jint getStartOffset(); + virtual jint getEndOffset(); +public: // actually package-private + ::javax::swing::text::ParagraphView * __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ParagraphView$Row__ diff --git a/libjava/javax/swing/text/ParagraphView.h b/libjava/javax/swing/text/ParagraphView.h new file mode 100644 index 00000000000..fc86f73989a --- /dev/null +++ b/libjava/javax/swing/text/ParagraphView.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ParagraphView__ +#define __javax_swing_text_ParagraphView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class ParagraphView; + class ParagraphView$Row; + class Position$Bias; + class TabSet; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::ParagraphView : public ::javax::swing::text::FlowView +{ + +public: + ParagraphView(::javax::swing::text::Element *); + virtual jfloat nextTabStop(jfloat, jint); +public: // actually protected + virtual ::javax::swing::text::View * createRow(); +public: + virtual jfloat getAlignment(jint); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: // actually protected + virtual void setPropertiesFromAttributes(); + virtual void setFirstLineIndent(jfloat); + virtual void setJustification(jint); + virtual void setLineSpacing(jfloat); + virtual ::javax::swing::text::View * getLayoutView(jint); + virtual jint getLayoutViewCount(); + virtual ::javax::swing::text::TabSet * getTabSet(); + virtual jint findOffsetToCharactersInString(JArray< jchar > *, jint); + virtual jint getClosestPositionTo(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *, jint, jint); + virtual jfloat getPartialSize(jint, jint); + virtual jfloat getTabBase(); + virtual void adjustRow(::javax::swing::text::ParagraphView$Row *, jint, jint); +public: + virtual ::javax::swing::text::View * breakView(jint, jfloat, ::java::awt::Shape *); + virtual jint getBreakWeight(jint, jfloat); +public: // actually package-private + static jint access$0(::javax::swing::text::ParagraphView *); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::javax::swing::text::FlowView)))) firstLineIndent; +private: + jint justification; + jfloat lineSpacing; + ::javax::swing::text::TabSet * tabSet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ParagraphView__ diff --git a/libjava/javax/swing/text/PasswordView.h b/libjava/javax/swing/text/PasswordView.h new file mode 100644 index 00000000000..ba6d3ff4762 --- /dev/null +++ b/libjava/javax/swing/text/PasswordView.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_PasswordView__ +#define __javax_swing_text_PasswordView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class PasswordView; + class Position$Bias; + } + } + } +} + +class javax::swing::text::PasswordView : public ::javax::swing::text::FieldView +{ + +public: + PasswordView(::javax::swing::text::Element *); +public: // actually protected + virtual jint drawEchoCharacter(::java::awt::Graphics *, jint, jint, jchar); +private: + jchar getEchoChar(); +public: // actually protected + virtual jint drawSelectedText(::java::awt::Graphics *, jint, jint, jint, jint); + virtual jint drawUnselectedText(::java::awt::Graphics *, jint, jint, jint, jint); +public: + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +private: + JArray< jchar > * __attribute__((aligned(__alignof__( ::javax::swing::text::FieldView)))) oneCharBuffer; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_PasswordView__ diff --git a/libjava/javax/swing/text/PlainDocument.h b/libjava/javax/swing/text/PlainDocument.h new file mode 100644 index 00000000000..d3dc0dca6e2 --- /dev/null +++ b/libjava/javax/swing/text/PlainDocument.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_PlainDocument__ +#define __javax_swing_text_PlainDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$AbstractElement; + class AbstractDocument$Content; + class AbstractDocument$DefaultDocumentEvent; + class AttributeSet; + class Element; + class PlainDocument; + } + } + } +} + +class javax::swing::text::PlainDocument : public ::javax::swing::text::AbstractDocument +{ + +public: + PlainDocument(); + PlainDocument(::javax::swing::text::AbstractDocument$Content *); +private: + void reindex(); +public: // actually protected + virtual ::javax::swing::text::AbstractDocument$AbstractElement * createDefaultRoot(); + virtual void insertUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *, ::javax::swing::text::AttributeSet *); + virtual void removeUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *); +public: + virtual ::javax::swing::text::Element * getDefaultRootElement(); + virtual ::javax::swing::text::Element * getParagraphElement(jint); + virtual void insertString(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *); +private: + static const jlong serialVersionUID = 4758290289196893664LL; +public: + static ::java::lang::String * lineLimitAttribute; + static ::java::lang::String * tabSizeAttribute; +private: + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument)))) rootElement; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_PlainDocument__ diff --git a/libjava/javax/swing/text/PlainView.h b/libjava/javax/swing/text/PlainView.h new file mode 100644 index 00000000000..e6091b0fc1c --- /dev/null +++ b/libjava/javax/swing/text/PlainView.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_PlainView__ +#define __javax_swing_text_PlainView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Font; + class FontMetrics; + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class PlainView; + class Position$Bias; + class Segment; + class ViewFactory; + } + } + } +} + +class javax::swing::text::PlainView : public ::javax::swing::text::View +{ + +public: + PlainView(::javax::swing::text::Element *); +public: // actually protected + virtual void updateMetrics(); + virtual ::java::awt::Rectangle * lineToRect(::java::awt::Shape *, jint); +public: + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); +public: // actually protected + virtual void drawLine(jint, ::java::awt::Graphics *, jint, jint); + virtual jint drawSelectedText(::java::awt::Graphics *, jint, jint, jint, jint); + virtual jint drawUnselectedText(::java::awt::Graphics *, jint, jint, jint, jint); +public: + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); +public: // actually protected + virtual jint getTabSize(); +public: + virtual jfloat nextTabStop(jfloat, jint); +public: // actually package-private + virtual jfloat determineMaxLineLength(); +public: + virtual jfloat getPreferredSpan(jint); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +public: // actually protected + virtual void updateDamage(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: // actually protected + virtual void damageLineRange(jint, jint, ::java::awt::Shape *, ::java::awt::Component *); + virtual ::javax::swing::text::Segment * getLineBuffer(); +private: + void findLongestLine(jint, jint); + jint getLineLength(jint); +public: // actually package-private + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) selectedColor; + ::java::awt::Color * unselectedColor; + ::java::awt::Color * disabledColor; + jint selectionStart; + jint selectionEnd; + ::java::awt::Font * font; + jfloat maxLineLength; + ::javax::swing::text::Element * longestLine; +public: // actually protected + ::java::awt::FontMetrics * metrics; +private: + ::javax::swing::text::Segment * lineBuffer; + jint tabBase; + jint tabSize; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_PlainView__ diff --git a/libjava/javax/swing/text/Position$Bias.h b/libjava/javax/swing/text/Position$Bias.h new file mode 100644 index 00000000000..0ae5a3570a1 --- /dev/null +++ b/libjava/javax/swing/text/Position$Bias.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Position$Bias__ +#define __javax_swing_text_Position$Bias__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Position$Bias; + } + } + } +} + +class javax::swing::text::Position$Bias : public ::java::lang::Object +{ + + Position$Bias(::java::lang::String *); +public: + ::java::lang::String * toString(); + static ::javax::swing::text::Position$Bias * Backward; + static ::javax::swing::text::Position$Bias * Forward; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_Position$Bias__ diff --git a/libjava/javax/swing/text/Position.h b/libjava/javax/swing/text/Position.h new file mode 100644 index 00000000000..1561b25fc1c --- /dev/null +++ b/libjava/javax/swing/text/Position.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Position__ +#define __javax_swing_text_Position__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Position; + } + } + } +} + +class javax::swing::text::Position : public ::java::lang::Object +{ + +public: + virtual jint getOffset() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Position__ diff --git a/libjava/javax/swing/text/Segment.h b/libjava/javax/swing/text/Segment.h new file mode 100644 index 00000000000..f9d5d5a6e42 --- /dev/null +++ b/libjava/javax/swing/text/Segment.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Segment__ +#define __javax_swing_text_Segment__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Segment; + } + } + } +} + +class javax::swing::text::Segment : public ::java::lang::Object +{ + +public: + Segment(); + Segment(JArray< jchar > *, jint, jint); + virtual ::java::lang::Object * clone(); + virtual jchar current(); + virtual jchar first(); + virtual jint getBeginIndex(); + virtual jint getEndIndex(); + virtual jint getIndex(); + virtual jchar last(); + virtual jchar next(); + virtual jchar previous(); + virtual jchar setIndex(jint); + virtual ::java::lang::String * toString(); + virtual void setPartialReturn(jboolean); + virtual jboolean isPartialReturn(); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) partialReturn; + jint current__; +public: + JArray< jchar > * array; + jint count; + jint offset; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_Segment__ diff --git a/libjava/javax/swing/text/SimpleAttributeSet.h b/libjava/javax/swing/text/SimpleAttributeSet.h new file mode 100644 index 00000000000..0ea91af02f7 --- /dev/null +++ b/libjava/javax/swing/text/SimpleAttributeSet.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_SimpleAttributeSet__ +#define __javax_swing_text_SimpleAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class SimpleAttributeSet; + } + } + } +} + +class javax::swing::text::SimpleAttributeSet : public ::java::lang::Object +{ + +public: + SimpleAttributeSet(); + SimpleAttributeSet(::javax::swing::text::AttributeSet *); + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual void addAttributes(::javax::swing::text::AttributeSet *); + virtual ::java::lang::Object * clone(); + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); +public: // actually package-private + virtual jboolean containsAttributeLocally(::java::lang::Object *, ::java::lang::Object *); +public: + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual jint hashCode(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEmpty(); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); + virtual void removeAttribute(::java::lang::Object *); + virtual void removeAttributes(::javax::swing::text::AttributeSet *); + virtual void removeAttributes(::java::util::Enumeration *); + virtual void setResolveParent(::javax::swing::text::AttributeSet *); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 8267656273837665219LL; +public: + static ::javax::swing::text::AttributeSet * EMPTY; +public: // actually package-private + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tab; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_SimpleAttributeSet__ diff --git a/libjava/javax/swing/text/StringContent$InsertUndo.h b/libjava/javax/swing/text/StringContent$InsertUndo.h new file mode 100644 index 00000000000..49415c169d0 --- /dev/null +++ b/libjava/javax/swing/text/StringContent$InsertUndo.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StringContent$InsertUndo__ +#define __javax_swing_text_StringContent$InsertUndo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StringContent; + class StringContent$InsertUndo; + } + } + } +} + +class javax::swing::text::StringContent$InsertUndo : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + StringContent$InsertUndo(::javax::swing::text::StringContent *, jint, jint); + virtual void undo(); + virtual void redo(); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) start; + jint length; + ::java::lang::String * redoContent; + ::java::util::Vector * positions; +public: // actually package-private + ::javax::swing::text::StringContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StringContent$InsertUndo__ diff --git a/libjava/javax/swing/text/StringContent$Mark.h b/libjava/javax/swing/text/StringContent$Mark.h new file mode 100644 index 00000000000..22d3f9f0257 --- /dev/null +++ b/libjava/javax/swing/text/StringContent$Mark.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StringContent$Mark__ +#define __javax_swing_text_StringContent$Mark__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StringContent; + class StringContent$Mark; + } + } + } +} + +class javax::swing::text::StringContent$Mark : public ::java::lang::Object +{ + +public: // actually package-private + StringContent$Mark(::javax::swing::text::StringContent *, jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) mark; + jint refCount; + ::javax::swing::text::StringContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StringContent$Mark__ diff --git a/libjava/javax/swing/text/StringContent$RemoveUndo.h b/libjava/javax/swing/text/StringContent$RemoveUndo.h new file mode 100644 index 00000000000..6c79aa06ba6 --- /dev/null +++ b/libjava/javax/swing/text/StringContent$RemoveUndo.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StringContent$RemoveUndo__ +#define __javax_swing_text_StringContent$RemoveUndo__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StringContent; + class StringContent$RemoveUndo; + } + } + } +} + +class javax::swing::text::StringContent$RemoveUndo : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + StringContent$RemoveUndo(::javax::swing::text::StringContent *, jint, ::java::lang::String *); + virtual void undo(); + virtual void redo(); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) start; + jint len; + ::java::lang::String * undoString; +public: // actually package-private + ::java::util::Vector * positions; + ::javax::swing::text::StringContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StringContent$RemoveUndo__ diff --git a/libjava/javax/swing/text/StringContent$StickyPosition.h b/libjava/javax/swing/text/StringContent$StickyPosition.h new file mode 100644 index 00000000000..434bf590a7f --- /dev/null +++ b/libjava/javax/swing/text/StringContent$StickyPosition.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StringContent$StickyPosition__ +#define __javax_swing_text_StringContent$StickyPosition__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StringContent; + class StringContent$Mark; + class StringContent$StickyPosition; + } + } + } +} + +class javax::swing::text::StringContent$StickyPosition : public ::java::lang::Object +{ + +public: + StringContent$StickyPosition(::javax::swing::text::StringContent *, jint); + virtual jint getOffset(); +public: // actually package-private + ::javax::swing::text::StringContent$Mark * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mark; + ::javax::swing::text::StringContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StringContent$StickyPosition__ diff --git a/libjava/javax/swing/text/StringContent$UndoPosRef.h b/libjava/javax/swing/text/StringContent$UndoPosRef.h new file mode 100644 index 00000000000..82f8d2f660e --- /dev/null +++ b/libjava/javax/swing/text/StringContent$UndoPosRef.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StringContent$UndoPosRef__ +#define __javax_swing_text_StringContent$UndoPosRef__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StringContent; + class StringContent$Mark; + class StringContent$UndoPosRef; + } + } + } +} + +class javax::swing::text::StringContent$UndoPosRef : public ::java::lang::Object +{ + +public: // actually package-private + StringContent$UndoPosRef(::javax::swing::text::StringContent *, ::javax::swing::text::StringContent$Mark *); + virtual void reset(); +private: + ::javax::swing::text::StringContent$Mark * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mark; + jint undoOffset; +public: // actually package-private + ::javax::swing::text::StringContent * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StringContent$UndoPosRef__ diff --git a/libjava/javax/swing/text/StringContent.h b/libjava/javax/swing/text/StringContent.h new file mode 100644 index 00000000000..ca51a43d7e3 --- /dev/null +++ b/libjava/javax/swing/text/StringContent.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StringContent__ +#define __javax_swing_text_StringContent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Position; + class Segment; + class StringContent; + } + namespace undo + { + class UndoableEdit; + } + } + } +} + +class javax::swing::text::StringContent : public ::java::lang::Object +{ + +public: + StringContent(); + StringContent(jint); +public: // actually protected + ::java::util::Vector * getPositionsInRange(::java::util::Vector *, jint, jint); +public: + ::javax::swing::text::Position * createPosition(jint); + jint length(); + ::javax::swing::undo::UndoableEdit * insertString(jint, ::java::lang::String *); + ::javax::swing::undo::UndoableEdit * remove(jint, jint); +private: + void replace(jint, jint, JArray< jchar > *); +public: + ::java::lang::String * getString(jint, jint); + void getChars(jint, jint, ::javax::swing::text::Segment *); +public: // actually protected + void updateUndoPositions(::java::util::Vector *); +public: // actually package-private + void checkLocation(jint, jint); + void garbageCollect(); +private: + static const jlong serialVersionUID = 4755994433709540381LL; +public: // actually package-private + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) content; +private: + jint count; +public: // actually package-private + ::java::util::Vector * marks; +private: + static JArray< jchar > * EMPTY; +public: // actually package-private + ::java::lang::ref::ReferenceQueue * queueOfDeath; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StringContent__ diff --git a/libjava/javax/swing/text/Style.h b/libjava/javax/swing/text/Style.h new file mode 100644 index 00000000000..ceb4aff7167 --- /dev/null +++ b/libjava/javax/swing/text/Style.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Style__ +#define __javax_swing_text_Style__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeListener; + } + namespace text + { + class AttributeSet; + class Style; + } + } + } +} + +class javax::swing::text::Style : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual void addChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void removeChangeListener(::javax::swing::event::ChangeListener *) = 0; + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void addAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual void removeAttribute(::java::lang::Object *) = 0; + virtual void removeAttributes(::java::util::Enumeration *) = 0; + virtual void removeAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual void setResolveParent(::javax::swing::text::AttributeSet *) = 0; + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *) = 0; + virtual ::javax::swing::text::AttributeSet * copyAttributes() = 0; + virtual ::java::lang::Object * getAttribute(::java::lang::Object *) = 0; + virtual jint getAttributeCount() = 0; + virtual ::java::util::Enumeration * getAttributeNames() = 0; + virtual ::javax::swing::text::AttributeSet * getResolveParent() = 0; + virtual jboolean isDefined(::java::lang::Object *) = 0; + virtual jboolean isEqual(::javax::swing::text::AttributeSet *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_Style__ diff --git a/libjava/javax/swing/text/StyleConstants$CharacterConstants.h b/libjava/javax/swing/text/StyleConstants$CharacterConstants.h new file mode 100644 index 00000000000..c9c84da1886 --- /dev/null +++ b/libjava/javax/swing/text/StyleConstants$CharacterConstants.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleConstants$CharacterConstants__ +#define __javax_swing_text_StyleConstants$CharacterConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StyleConstants$CharacterConstants; + } + } + } +} + +class javax::swing::text::StyleConstants$CharacterConstants : public ::javax::swing::text::StyleConstants +{ + + StyleConstants$CharacterConstants(::java::lang::String *); +public: + static ::java::lang::Object * Background; + static ::java::lang::Object * BidiLevel; + static ::java::lang::Object * Bold; + static ::java::lang::Object * ComponentAttribute; + static ::java::lang::Object * Family; + static ::java::lang::Object * Size; + static ::java::lang::Object * Foreground; + static ::java::lang::Object * IconAttribute; + static ::java::lang::Object * Italic; + static ::java::lang::Object * StrikeThrough; + static ::java::lang::Object * Subscript; + static ::java::lang::Object * Superscript; + static ::java::lang::Object * Underline; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleConstants$CharacterConstants__ diff --git a/libjava/javax/swing/text/StyleConstants$ColorConstants.h b/libjava/javax/swing/text/StyleConstants$ColorConstants.h new file mode 100644 index 00000000000..31f2e67fa38 --- /dev/null +++ b/libjava/javax/swing/text/StyleConstants$ColorConstants.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleConstants$ColorConstants__ +#define __javax_swing_text_StyleConstants$ColorConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StyleConstants$ColorConstants; + } + } + } +} + +class javax::swing::text::StyleConstants$ColorConstants : public ::javax::swing::text::StyleConstants +{ + + StyleConstants$ColorConstants(::java::lang::String *); +public: + static ::java::lang::Object * Foreground; + static ::java::lang::Object * Background; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleConstants$ColorConstants__ diff --git a/libjava/javax/swing/text/StyleConstants$FontConstants.h b/libjava/javax/swing/text/StyleConstants$FontConstants.h new file mode 100644 index 00000000000..f2ae13ca6da --- /dev/null +++ b/libjava/javax/swing/text/StyleConstants$FontConstants.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleConstants$FontConstants__ +#define __javax_swing_text_StyleConstants$FontConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StyleConstants$FontConstants; + } + } + } +} + +class javax::swing::text::StyleConstants$FontConstants : public ::javax::swing::text::StyleConstants +{ + + StyleConstants$FontConstants(::java::lang::String *); +public: + static ::java::lang::Object * Bold; + static ::java::lang::Object * Family; + static ::java::lang::Object * Italic; + static ::java::lang::Object * Size; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleConstants$FontConstants__ diff --git a/libjava/javax/swing/text/StyleConstants$ParagraphConstants.h b/libjava/javax/swing/text/StyleConstants$ParagraphConstants.h new file mode 100644 index 00000000000..41381f8ba59 --- /dev/null +++ b/libjava/javax/swing/text/StyleConstants$ParagraphConstants.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleConstants$ParagraphConstants__ +#define __javax_swing_text_StyleConstants$ParagraphConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StyleConstants$ParagraphConstants; + } + } + } +} + +class javax::swing::text::StyleConstants$ParagraphConstants : public ::javax::swing::text::StyleConstants +{ + + StyleConstants$ParagraphConstants(::java::lang::String *); +public: + static ::java::lang::Object * Alignment; + static ::java::lang::Object * FirstLineIndent; + static ::java::lang::Object * LeftIndent; + static ::java::lang::Object * LineSpacing; + static ::java::lang::Object * Orientation; + static ::java::lang::Object * RightIndent; + static ::java::lang::Object * SpaceAbove; + static ::java::lang::Object * SpaceBelow; + static ::java::lang::Object * TabSet; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleConstants$ParagraphConstants__ diff --git a/libjava/javax/swing/text/StyleConstants.h b/libjava/javax/swing/text/StyleConstants.h new file mode 100644 index 00000000000..1640d415dc9 --- /dev/null +++ b/libjava/javax/swing/text/StyleConstants.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleConstants__ +#define __javax_swing_text_StyleConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace text + { + class AttributeSet; + class MutableAttributeSet; + class StyleConstants; + class TabSet; + } + } + } +} + +class javax::swing::text::StyleConstants : public ::java::lang::Object +{ + +public: // actually package-private + StyleConstants(::java::lang::String *); +public: + virtual ::java::lang::String * toString(); + static jint getAlignment(::javax::swing::text::AttributeSet *); + static ::java::awt::Color * getBackground(::javax::swing::text::AttributeSet *); + static jint getBidiLevel(::javax::swing::text::AttributeSet *); + static ::java::awt::Component * getComponent(::javax::swing::text::AttributeSet *); + static jfloat getFirstLineIndent(::javax::swing::text::AttributeSet *); + static ::java::lang::String * getFontFamily(::javax::swing::text::AttributeSet *); + static jint getFontSize(::javax::swing::text::AttributeSet *); + static ::java::awt::Color * getForeground(::javax::swing::text::AttributeSet *); + static ::javax::swing::Icon * getIcon(::javax::swing::text::AttributeSet *); + static jfloat getLeftIndent(::javax::swing::text::AttributeSet *); + static jfloat getLineSpacing(::javax::swing::text::AttributeSet *); + static jfloat getRightIndent(::javax::swing::text::AttributeSet *); + static jfloat getSpaceAbove(::javax::swing::text::AttributeSet *); + static jfloat getSpaceBelow(::javax::swing::text::AttributeSet *); + static ::javax::swing::text::TabSet * getTabSet(::javax::swing::text::AttributeSet *); + static jboolean isBold(::javax::swing::text::AttributeSet *); + static jboolean isItalic(::javax::swing::text::AttributeSet *); + static jboolean isStrikeThrough(::javax::swing::text::AttributeSet *); + static jboolean isSubscript(::javax::swing::text::AttributeSet *); + static jboolean isSuperscript(::javax::swing::text::AttributeSet *); + static jboolean isUnderline(::javax::swing::text::AttributeSet *); + static void setAlignment(::javax::swing::text::MutableAttributeSet *, jint); + static void setBackground(::javax::swing::text::MutableAttributeSet *, ::java::awt::Color *); + static void setBidiLevel(::javax::swing::text::MutableAttributeSet *, jint); + static void setBold(::javax::swing::text::MutableAttributeSet *, jboolean); + static void setComponent(::javax::swing::text::MutableAttributeSet *, ::java::awt::Component *); + static void setFirstLineIndent(::javax::swing::text::MutableAttributeSet *, jfloat); + static void setFontFamily(::javax::swing::text::MutableAttributeSet *, ::java::lang::String *); + static void setFontSize(::javax::swing::text::MutableAttributeSet *, jint); + static void setForeground(::javax::swing::text::MutableAttributeSet *, ::java::awt::Color *); + static void setIcon(::javax::swing::text::MutableAttributeSet *, ::javax::swing::Icon *); + static void setItalic(::javax::swing::text::MutableAttributeSet *, jboolean); + static void setLeftIndent(::javax::swing::text::MutableAttributeSet *, jfloat); + static void setLineSpacing(::javax::swing::text::MutableAttributeSet *, jfloat); + static void setRightIndent(::javax::swing::text::MutableAttributeSet *, jfloat); + static void setSpaceAbove(::javax::swing::text::MutableAttributeSet *, jfloat); + static void setSpaceBelow(::javax::swing::text::MutableAttributeSet *, jfloat); + static void setStrikeThrough(::javax::swing::text::MutableAttributeSet *, jboolean); + static void setSubscript(::javax::swing::text::MutableAttributeSet *, jboolean); + static void setSuperscript(::javax::swing::text::MutableAttributeSet *, jboolean); + static void setTabSet(::javax::swing::text::MutableAttributeSet *, ::javax::swing::text::TabSet *); + static void setUnderline(::javax::swing::text::MutableAttributeSet *, jboolean); + static const jint ALIGN_LEFT = 0; + static const jint ALIGN_CENTER = 1; + static const jint ALIGN_RIGHT = 2; + static const jint ALIGN_JUSTIFIED = 3; + static ::java::lang::Object * Background; + static ::java::lang::Object * BidiLevel; + static ::java::lang::Object * Bold; + static ::java::lang::Object * ComponentAttribute; + static ::java::lang::Object * Family; + static ::java::lang::Object * FontFamily; + static ::java::lang::Object * FontSize; + static ::java::lang::Object * Foreground; + static ::java::lang::Object * IconAttribute; + static ::java::lang::Object * Italic; + static ::java::lang::Object * Size; + static ::java::lang::Object * StrikeThrough; + static ::java::lang::Object * Subscript; + static ::java::lang::Object * Superscript; + static ::java::lang::Object * Underline; + static ::java::lang::Object * Alignment; + static ::java::lang::Object * FirstLineIndent; + static ::java::lang::Object * LeftIndent; + static ::java::lang::Object * LineSpacing; + static ::java::lang::Object * Orientation; + static ::java::lang::Object * RightIndent; + static ::java::lang::Object * SpaceAbove; + static ::java::lang::Object * SpaceBelow; + static ::java::lang::Object * TabSet; + static ::java::lang::String * ComponentElementName; + static ::java::lang::String * IconElementName; + static ::java::lang::Object * ComposedTextAttribute; + static ::java::lang::Object * ModelAttribute; + static ::java::lang::Object * NameAttribute; + static ::java::lang::Object * ResolveAttribute; +public: // actually package-private + static ::java::util::ArrayList * keys; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keyname; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleConstants__ diff --git a/libjava/javax/swing/text/StyleContext$1.h b/libjava/javax/swing/text/StyleContext$1.h new file mode 100644 index 00000000000..cfbe80ec226 --- /dev/null +++ b/libjava/javax/swing/text/StyleContext$1.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleContext$1__ +#define __javax_swing_text_StyleContext$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StyleContext$1; + class StyleContext$SmallAttributeSet; + } + } + } +} + +class javax::swing::text::StyleContext$1 : public ::java::lang::Object +{ + +public: // actually package-private + StyleContext$1(::javax::swing::text::StyleContext$SmallAttributeSet *); +public: + jboolean hasMoreElements(); + ::java::lang::Object * nextElement(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) i; + ::javax::swing::text::StyleContext$SmallAttributeSet * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleContext$1__ diff --git a/libjava/javax/swing/text/StyleContext$NamedStyle.h b/libjava/javax/swing/text/StyleContext$NamedStyle.h new file mode 100644 index 00000000000..6976975a7f0 --- /dev/null +++ b/libjava/javax/swing/text/StyleContext$NamedStyle.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleContext$NamedStyle__ +#define __javax_swing_text_StyleContext$NamedStyle__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + class ChangeListener; + class EventListenerList; + } + namespace text + { + class AttributeSet; + class Style; + class StyleContext; + class StyleContext$NamedStyle; + } + } + } +} + +class javax::swing::text::StyleContext$NamedStyle : public ::java::lang::Object +{ + +public: + StyleContext$NamedStyle(::javax::swing::text::StyleContext *); + StyleContext$NamedStyle(::javax::swing::text::StyleContext *, ::javax::swing::text::Style *); + StyleContext$NamedStyle(::javax::swing::text::StyleContext *, ::java::lang::String *, ::javax::swing::text::Style *); + virtual ::java::lang::String * getName(); + virtual void setName(::java::lang::String *); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); +public: // actually protected + virtual void fireStateChanged(); +public: + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual void addAttributes(::javax::swing::text::AttributeSet *); + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); + virtual void removeAttribute(::java::lang::Object *); + virtual void removeAttributes(::javax::swing::text::AttributeSet *); + virtual void removeAttributes(::java::util::Enumeration *); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual void setResolveParent(::javax::swing::text::AttributeSet *); + virtual ::java::lang::String * toString(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); + static const jlong serialVersionUID = -6690628971806226374LL; +public: // actually protected + ::javax::swing::event::ChangeEvent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) changeEvent; + ::javax::swing::event::EventListenerList * listenerList; +private: + ::javax::swing::text::AttributeSet * attributes; +public: // actually package-private + ::javax::swing::text::StyleContext * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleContext$NamedStyle__ diff --git a/libjava/javax/swing/text/StyleContext$SimpleFontSpec.h b/libjava/javax/swing/text/StyleContext$SimpleFontSpec.h new file mode 100644 index 00000000000..a901647afde --- /dev/null +++ b/libjava/javax/swing/text/StyleContext$SimpleFontSpec.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleContext$SimpleFontSpec__ +#define __javax_swing_text_StyleContext$SimpleFontSpec__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class StyleContext$SimpleFontSpec; + } + } + } +} + +class javax::swing::text::StyleContext$SimpleFontSpec : public ::java::lang::Object +{ + +public: + StyleContext$SimpleFontSpec(::java::lang::String *, jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) family; + jint style; + jint size; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleContext$SimpleFontSpec__ diff --git a/libjava/javax/swing/text/StyleContext$SmallAttributeSet.h b/libjava/javax/swing/text/StyleContext$SmallAttributeSet.h new file mode 100644 index 00000000000..c4f969c1f0e --- /dev/null +++ b/libjava/javax/swing/text/StyleContext$SmallAttributeSet.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleContext$SmallAttributeSet__ +#define __javax_swing_text_StyleContext$SmallAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class StyleContext; + class StyleContext$SmallAttributeSet; + } + } + } +} + +class javax::swing::text::StyleContext$SmallAttributeSet : public ::java::lang::Object +{ + +public: + StyleContext$SmallAttributeSet(::javax::swing::text::StyleContext *, ::javax::swing::text::AttributeSet *); + StyleContext$SmallAttributeSet(::javax::swing::text::StyleContext *, JArray< ::java::lang::Object * > *); + virtual ::java::lang::Object * clone(); + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual jint hashCode(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); + virtual ::java::lang::String * toString(); +public: // actually package-private + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attrs; +private: + ::javax::swing::text::AttributeSet * resolveParent; +public: // actually package-private + ::javax::swing::text::StyleContext * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleContext$SmallAttributeSet__ diff --git a/libjava/javax/swing/text/StyleContext.h b/libjava/javax/swing/text/StyleContext.h new file mode 100644 index 00000000000..c8f91994ee8 --- /dev/null +++ b/libjava/javax/swing/text/StyleContext.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyleContext__ +#define __javax_swing_text_StyleContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + class FontMetrics; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class ChangeListener; + } + namespace text + { + class AttributeSet; + class MutableAttributeSet; + class Style; + class StyleContext; + class StyleContext$NamedStyle; + class StyleContext$SmallAttributeSet; + } + } + } +} + +class javax::swing::text::StyleContext : public ::java::lang::Object +{ + +public: + StyleContext(); +public: // actually protected + virtual ::javax::swing::text::StyleContext$SmallAttributeSet * createSmallAttributeSet(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::MutableAttributeSet * createLargeAttributeSet(::javax::swing::text::AttributeSet *); +public: + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual JArray< ::javax::swing::event::ChangeListener * > * getChangeListeners(); + virtual ::javax::swing::text::Style * addStyle(::java::lang::String *, ::javax::swing::text::Style *); + virtual void removeStyle(::java::lang::String *); + virtual ::javax::swing::text::Style * getStyle(::java::lang::String *); + virtual ::java::util::Enumeration * getStyleNames(); +private: + void readObject(::java::io::ObjectInputStream *); + void writeObject(::java::io::ObjectOutputStream *); +public: + virtual ::java::awt::Font * getFont(::javax::swing::text::AttributeSet *); + virtual ::java::awt::Font * getFont(::java::lang::String *, jint, jint); + virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *); + virtual ::java::awt::Color * getForeground(::javax::swing::text::AttributeSet *); + virtual ::java::awt::Color * getBackground(::javax::swing::text::AttributeSet *); +public: // actually protected + virtual jint getCompressionThreshold(); +public: + static ::javax::swing::text::StyleContext * getDefaultStyleContext(); + virtual ::javax::swing::text::AttributeSet * addAttribute(::javax::swing::text::AttributeSet *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::javax::swing::text::AttributeSet * addAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * getEmptySet(); + virtual void reclaim(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * removeAttribute(::javax::swing::text::AttributeSet *, ::java::lang::Object *); + virtual ::javax::swing::text::AttributeSet * removeAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * removeAttributes(::javax::swing::text::AttributeSet *, ::java::util::Enumeration *); + static ::java::lang::Object * getStaticAttribute(::java::lang::Object *); + static ::java::lang::Object * getStaticAttributeKey(::java::lang::Object *); + static void readAttributeSet(::java::io::ObjectInputStream *, ::javax::swing::text::MutableAttributeSet *); + static void writeAttributeSet(::java::io::ObjectOutputStream *, ::javax::swing::text::AttributeSet *); + virtual void readAttributes(::java::io::ObjectInputStream *, ::javax::swing::text::MutableAttributeSet *); + virtual void writeAttributes(::java::io::ObjectOutputStream *, ::javax::swing::text::AttributeSet *); + static void registerStaticAttributeKey(::java::lang::Object *); + virtual ::java::lang::String * toString(); +private: + ::javax::swing::text::AttributeSet * searchImmutableSet(); + void cleanupPool(); + ::javax::swing::text::MutableAttributeSet * getMutableAttributeSet(::javax::swing::text::AttributeSet *); + static const jlong serialVersionUID = 8042858831190784241LL; +public: + static ::java::lang::String * DEFAULT_STYLE; +public: // actually package-private + static ::java::util::Hashtable * sharedAttributeSets; + static ::java::util::Hashtable * sharedFonts; + static ::javax::swing::text::StyleContext * defaultStyleContext; + static const jint compressionThreshold = 9; +private: + static ::java::util::Hashtable * writeAttributeKeys; + static ::java::util::Hashtable * readAttributeKeys; + ::javax::swing::text::StyleContext$NamedStyle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) styles; + ::javax::swing::text::MutableAttributeSet * search; + ::java::util::Map * attributeSetPool; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyleContext__ diff --git a/libjava/javax/swing/text/StyledDocument.h b/libjava/javax/swing/text/StyledDocument.h new file mode 100644 index 00000000000..2eb580ec2be --- /dev/null +++ b/libjava/javax/swing/text/StyledDocument.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledDocument__ +#define __javax_swing_text_StyledDocument__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentListener; + class UndoableEditListener; + } + namespace text + { + class AttributeSet; + class Element; + class Position; + class Segment; + class Style; + class StyledDocument; + } + } + } +} + +class javax::swing::text::StyledDocument : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::text::Style * addStyle(::java::lang::String *, ::javax::swing::text::Style *) = 0; + virtual void removeStyle(::java::lang::String *) = 0; + virtual ::javax::swing::text::Style * getStyle(::java::lang::String *) = 0; + virtual void setCharacterAttributes(jint, jint, ::javax::swing::text::AttributeSet *, jboolean) = 0; + virtual void setParagraphAttributes(jint, jint, ::javax::swing::text::AttributeSet *, jboolean) = 0; + virtual ::javax::swing::text::Style * getLogicalStyle(jint) = 0; + virtual void setLogicalStyle(jint, ::javax::swing::text::Style *) = 0; + virtual ::javax::swing::text::Element * getParagraphElement(jint) = 0; + virtual ::javax::swing::text::Element * getCharacterElement(jint) = 0; + virtual ::java::awt::Color * getForeground(::javax::swing::text::AttributeSet *) = 0; + virtual ::java::awt::Color * getBackground(::javax::swing::text::AttributeSet *) = 0; + virtual ::java::awt::Font * getFont(::javax::swing::text::AttributeSet *) = 0; + virtual void addDocumentListener(::javax::swing::event::DocumentListener *) = 0; + virtual void addUndoableEditListener(::javax::swing::event::UndoableEditListener *) = 0; + virtual ::javax::swing::text::Position * createPosition(jint) = 0; + virtual ::javax::swing::text::Element * getDefaultRootElement() = 0; + virtual ::javax::swing::text::Position * getEndPosition() = 0; + virtual jint getLength() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::Object *) = 0; + virtual JArray< ::javax::swing::text::Element * > * getRootElements() = 0; + virtual ::javax::swing::text::Position * getStartPosition() = 0; + virtual ::java::lang::String * getText(jint, jint) = 0; + virtual void getText(jint, jint, ::javax::swing::text::Segment *) = 0; + virtual void insertString(jint, ::java::lang::String *, ::javax::swing::text::AttributeSet *) = 0; + virtual void putProperty(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void remove(jint, jint) = 0; + virtual void removeDocumentListener(::javax::swing::event::DocumentListener *) = 0; + virtual void removeUndoableEditListener(::javax::swing::event::UndoableEditListener *) = 0; + virtual void render(::java::lang::Runnable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_StyledDocument__ diff --git a/libjava/javax/swing/text/StyledEditorKit$AlignmentAction.h b/libjava/javax/swing/text/StyledEditorKit$AlignmentAction.h new file mode 100644 index 00000000000..5056840d48f --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$AlignmentAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$AlignmentAction__ +#define __javax_swing_text_StyledEditorKit$AlignmentAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$AlignmentAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$AlignmentAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$AlignmentAction(::java::lang::String *, jint); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::StyledEditorKit$StyledTextAction)))) a; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$AlignmentAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$BoldAction.h b/libjava/javax/swing/text/StyledEditorKit$BoldAction.h new file mode 100644 index 00000000000..53f1d4ce794 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$BoldAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$BoldAction__ +#define __javax_swing_text_StyledEditorKit$BoldAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$BoldAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$BoldAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$BoldAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$BoldAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$CaretTracker.h b/libjava/javax/swing/text/StyledEditorKit$CaretTracker.h new file mode 100644 index 00000000000..bda26b61b6a --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$CaretTracker.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$CaretTracker__ +#define __javax_swing_text_StyledEditorKit$CaretTracker__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class CaretEvent; + } + namespace text + { + class StyledEditorKit; + class StyledEditorKit$CaretTracker; + } + } + } +} + +class javax::swing::text::StyledEditorKit$CaretTracker : public ::java::lang::Object +{ + +public: // actually package-private + StyledEditorKit$CaretTracker(::javax::swing::text::StyledEditorKit *); +public: + virtual void caretUpdate(::javax::swing::event::CaretEvent *); +public: // actually package-private + ::javax::swing::text::StyledEditorKit * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$CaretTracker__ diff --git a/libjava/javax/swing/text/StyledEditorKit$FontFamilyAction.h b/libjava/javax/swing/text/StyledEditorKit$FontFamilyAction.h new file mode 100644 index 00000000000..55ba1378478 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$FontFamilyAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$FontFamilyAction__ +#define __javax_swing_text_StyledEditorKit$FontFamilyAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$FontFamilyAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$FontFamilyAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$FontFamilyAction(::java::lang::String *, ::java::lang::String *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::StyledEditorKit$StyledTextAction)))) family; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$FontFamilyAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$FontSizeAction.h b/libjava/javax/swing/text/StyledEditorKit$FontSizeAction.h new file mode 100644 index 00000000000..16d6cf3c854 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$FontSizeAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$FontSizeAction__ +#define __javax_swing_text_StyledEditorKit$FontSizeAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$FontSizeAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$FontSizeAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$FontSizeAction(::java::lang::String *, jint); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::StyledEditorKit$StyledTextAction)))) size; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$FontSizeAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$ForegroundAction.h b/libjava/javax/swing/text/StyledEditorKit$ForegroundAction.h new file mode 100644 index 00000000000..7b71ef5705e --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$ForegroundAction.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$ForegroundAction__ +#define __javax_swing_text_StyledEditorKit$ForegroundAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$ForegroundAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$ForegroundAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$ForegroundAction(::java::lang::String *, ::java::awt::Color *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::text::StyledEditorKit$StyledTextAction)))) fg; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$ForegroundAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$ItalicAction.h b/libjava/javax/swing/text/StyledEditorKit$ItalicAction.h new file mode 100644 index 00000000000..af60f01d3c6 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$ItalicAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$ItalicAction__ +#define __javax_swing_text_StyledEditorKit$ItalicAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$ItalicAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$ItalicAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$ItalicAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$ItalicAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$StyledTextAction.h b/libjava/javax/swing/text/StyledEditorKit$StyledTextAction.h new file mode 100644 index 00000000000..c85bc8c8926 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$StyledTextAction.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$StyledTextAction__ +#define __javax_swing_text_StyledEditorKit$StyledTextAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JEditorPane; + namespace text + { + class AttributeSet; + class StyledDocument; + class StyledEditorKit; + class StyledEditorKit$StyledTextAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$StyledTextAction : public ::javax::swing::text::TextAction +{ + +public: + StyledEditorKit$StyledTextAction(::java::lang::String *); +public: // actually protected + virtual ::javax::swing::JEditorPane * getEditor(::java::awt::event::ActionEvent *); + virtual void setCharacterAttributes(::javax::swing::JEditorPane *, ::javax::swing::text::AttributeSet *, jboolean); + virtual ::javax::swing::text::StyledDocument * getStyledDocument(::javax::swing::JEditorPane *); + virtual ::javax::swing::text::StyledEditorKit * getStyledEditorKit(::javax::swing::JEditorPane *); + virtual void setParagraphAttributes(::javax::swing::JEditorPane *, ::javax::swing::text::AttributeSet *, jboolean); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$StyledTextAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit$StyledViewFactory.h b/libjava/javax/swing/text/StyledEditorKit$StyledViewFactory.h new file mode 100644 index 00000000000..0e5ad47a9d0 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$StyledViewFactory.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$StyledViewFactory__ +#define __javax_swing_text_StyledEditorKit$StyledViewFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class StyledEditorKit$StyledViewFactory; + class View; + } + } + } +} + +class javax::swing::text::StyledEditorKit$StyledViewFactory : public ::java::lang::Object +{ + +public: // actually package-private + StyledEditorKit$StyledViewFactory(); +public: + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$StyledViewFactory__ diff --git a/libjava/javax/swing/text/StyledEditorKit$UnderlineAction.h b/libjava/javax/swing/text/StyledEditorKit$UnderlineAction.h new file mode 100644 index 00000000000..4df2fa6d1c1 --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit$UnderlineAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit$UnderlineAction__ +#define __javax_swing_text_StyledEditorKit$UnderlineAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class StyledEditorKit$UnderlineAction; + } + } + } +} + +class javax::swing::text::StyledEditorKit$UnderlineAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + StyledEditorKit$UnderlineAction(); + virtual void actionPerformed(::java::awt::event::ActionEvent *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit$UnderlineAction__ diff --git a/libjava/javax/swing/text/StyledEditorKit.h b/libjava/javax/swing/text/StyledEditorKit.h new file mode 100644 index 00000000000..e5ce1b4b4fa --- /dev/null +++ b/libjava/javax/swing/text/StyledEditorKit.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_StyledEditorKit__ +#define __javax_swing_text_StyledEditorKit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class Action; + class JEditorPane; + namespace text + { + class Document; + class Element; + class MutableAttributeSet; + class StyledEditorKit; + class StyledEditorKit$CaretTracker; + class StyledEditorKit$StyledViewFactory; + class ViewFactory; + } + } + } +} + +class javax::swing::text::StyledEditorKit : public ::javax::swing::text::DefaultEditorKit +{ + +public: + StyledEditorKit(); + virtual ::java::lang::Object * clone(); + virtual JArray< ::javax::swing::Action * > * getActions(); + virtual ::javax::swing::text::MutableAttributeSet * getInputAttributes(); + virtual ::javax::swing::text::Element * getCharacterAttributeRun(); + virtual ::javax::swing::text::Document * createDefaultDocument(); + virtual void install(::javax::swing::JEditorPane *); + virtual void deinstall(::javax::swing::JEditorPane *); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); +public: // actually protected + virtual void createInputAttributes(::javax::swing::text::Element *, ::javax::swing::text::MutableAttributeSet *); +private: + static const jlong serialVersionUID = 7002391892985555948LL; +public: // actually package-private + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::javax::swing::text::DefaultEditorKit)))) currentRun; + ::javax::swing::text::MutableAttributeSet * inputAttributes; + ::javax::swing::text::StyledEditorKit$CaretTracker * caretTracker; + ::javax::swing::text::StyledEditorKit$StyledViewFactory * viewFactory; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_StyledEditorKit__ diff --git a/libjava/javax/swing/text/TabExpander.h b/libjava/javax/swing/text/TabExpander.h new file mode 100644 index 00000000000..8983223a436 --- /dev/null +++ b/libjava/javax/swing/text/TabExpander.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TabExpander__ +#define __javax_swing_text_TabExpander__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class TabExpander; + } + } + } +} + +class javax::swing::text::TabExpander : public ::java::lang::Object +{ + +public: + virtual jfloat nextTabStop(jfloat, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_TabExpander__ diff --git a/libjava/javax/swing/text/TabSet.h b/libjava/javax/swing/text/TabSet.h new file mode 100644 index 00000000000..943a115099e --- /dev/null +++ b/libjava/javax/swing/text/TabSet.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TabSet__ +#define __javax_swing_text_TabSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class TabSet; + class TabStop; + } + } + } +} + +class javax::swing::text::TabSet : public ::java::lang::Object +{ + +public: + TabSet(JArray< ::javax::swing::text::TabStop * > *); + virtual ::javax::swing::text::TabStop * getTab(jint); + virtual ::javax::swing::text::TabStop * getTabAfter(jfloat); + virtual jint getTabCount(); + virtual jint getTabIndex(::javax::swing::text::TabStop *); + virtual jint getTabIndexAfter(jfloat); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = 2367703481999080593LL; +public: // actually package-private + JArray< ::javax::swing::text::TabStop * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tabs; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TabSet__ diff --git a/libjava/javax/swing/text/TabStop.h b/libjava/javax/swing/text/TabStop.h new file mode 100644 index 00000000000..cc8fb1232ff --- /dev/null +++ b/libjava/javax/swing/text/TabStop.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TabStop__ +#define __javax_swing_text_TabStop__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class TabStop; + } + } + } +} + +class javax::swing::text::TabStop : public ::java::lang::Object +{ + +public: + TabStop(jfloat); + TabStop(jfloat, jint, jint); + virtual jboolean equals(::java::lang::Object *); + virtual jint getAlignment(); + virtual jint getLeader(); + virtual jfloat getPosition(); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -5381995917363605058LL; +public: + static const jint ALIGN_LEFT = 0; + static const jint ALIGN_RIGHT = 1; + static const jint ALIGN_CENTER = 2; + static const jint ALIGN_DECIMAL = 4; + static const jint ALIGN_BAR = 5; + static const jint LEAD_NONE = 0; + static const jint LEAD_DOTS = 1; + static const jint LEAD_HYPHENS = 2; + static const jint LEAD_UNDERLINE = 3; + static const jint LEAD_THICKLINE = 4; + static const jint LEAD_EQUALS = 5; +public: // actually package-private + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos; + jint align; + jint leader; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TabStop__ diff --git a/libjava/javax/swing/text/TabableView.h b/libjava/javax/swing/text/TabableView.h new file mode 100644 index 00000000000..b9e9a7a86f0 --- /dev/null +++ b/libjava/javax/swing/text/TabableView.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TabableView__ +#define __javax_swing_text_TabableView__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class TabExpander; + class TabableView; + } + } + } +} + +class javax::swing::text::TabableView : public ::java::lang::Object +{ + +public: + virtual jfloat getPartialSpan(jint, jint) = 0; + virtual jfloat getTabbedSpan(jfloat, ::javax::swing::text::TabExpander *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_TabableView__ diff --git a/libjava/javax/swing/text/TableView$TableCell.h b/libjava/javax/swing/text/TableView$TableCell.h new file mode 100644 index 00000000000..44efc2f6c9b --- /dev/null +++ b/libjava/javax/swing/text/TableView$TableCell.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TableView$TableCell__ +#define __javax_swing_text_TableView$TableCell__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class TableView; + class TableView$TableCell; + } + } + } +} + +class javax::swing::text::TableView$TableCell : public ::javax::swing::text::BoxView +{ + +public: + TableView$TableCell(::javax::swing::text::TableView *, ::javax::swing::text::Element *); + virtual jint getColumnCount(); + virtual jint getRowCount(); + virtual void setGridLocation(jint, jint); + virtual jint getGridRow(); + virtual jint getGridColumn(); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) row; + jint column; +public: // actually package-private + ::javax::swing::text::TableView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TableView$TableCell__ diff --git a/libjava/javax/swing/text/TableView$TableRow.h b/libjava/javax/swing/text/TableView$TableRow.h new file mode 100644 index 00000000000..0cb23241da4 --- /dev/null +++ b/libjava/javax/swing/text/TableView$TableRow.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TableView$TableRow__ +#define __javax_swing_text_TableView$TableRow__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class TableView; + class TableView$TableRow; + class View; + } + } + } +} + +class javax::swing::text::TableView$TableRow : public ::javax::swing::text::BoxView +{ + +public: + TableView$TableRow(::javax::swing::text::TableView *, ::javax::swing::text::Element *); + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); +public: // actually protected + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +public: + virtual jint getResizeWeight(jint); +public: // actually protected + virtual ::javax::swing::text::View * getViewAtPosition(jint, ::java::awt::Rectangle *); +public: // actually package-private + ::javax::swing::text::TableView * __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) this$0; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TableView$TableRow__ diff --git a/libjava/javax/swing/text/TableView.h b/libjava/javax/swing/text/TableView.h new file mode 100644 index 00000000000..7bf5f836976 --- /dev/null +++ b/libjava/javax/swing/text/TableView.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TableView__ +#define __javax_swing_text_TableView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace event + { + class DocumentEvent; + class DocumentEvent$ElementChange; + } + namespace text + { + class Element; + class TableView; + class TableView$TableCell; + class TableView$TableRow; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::TableView : public ::javax::swing::text::BoxView +{ + +public: + TableView(::javax::swing::text::Element *); + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); +public: // actually protected + virtual ::javax::swing::text::TableView$TableRow * createTableRow(::javax::swing::text::Element *); + virtual ::javax::swing::text::TableView$TableCell * createTableCell(::javax::swing::text::Element *); + virtual void forwardUpdate(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void layoutColumns(jint, JArray< jint > *, JArray< jint > *, JArray< ::javax::swing::SizeRequirements * > *); + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual ::javax::swing::text::View * getViewAtPosition(jint, ::java::awt::Rectangle *); +private: + void updateColumnRequirements(); +public: // actually package-private + JArray< jint > * __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) columnOffsets; + JArray< jint > * columnSpans; + JArray< ::javax::swing::SizeRequirements * > * columnRequirements; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TableView__ diff --git a/libjava/javax/swing/text/TextAction$HorizontalMovementAction.h b/libjava/javax/swing/text/TextAction$HorizontalMovementAction.h new file mode 100644 index 00000000000..93bf43700bb --- /dev/null +++ b/libjava/javax/swing/text/TextAction$HorizontalMovementAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TextAction$HorizontalMovementAction__ +#define __javax_swing_text_TextAction$HorizontalMovementAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class TextAction$HorizontalMovementAction; + } + } + } +} + +class javax::swing::text::TextAction$HorizontalMovementAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + TextAction$HorizontalMovementAction(::java::lang::String *, jint); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint) = 0; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::text::TextAction)))) dir; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TextAction$HorizontalMovementAction__ diff --git a/libjava/javax/swing/text/TextAction$VerticalMovementAction.h b/libjava/javax/swing/text/TextAction$VerticalMovementAction.h new file mode 100644 index 00000000000..b25ec52ce8a --- /dev/null +++ b/libjava/javax/swing/text/TextAction$VerticalMovementAction.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TextAction$VerticalMovementAction__ +#define __javax_swing_text_TextAction$VerticalMovementAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Caret; + class TextAction$VerticalMovementAction; + } + } + } +} + +class javax::swing::text::TextAction$VerticalMovementAction : public ::javax::swing::text::TextAction +{ + +public: // actually package-private + TextAction$VerticalMovementAction(::java::lang::String *, jint); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually protected + virtual void actionPerformedImpl(::javax::swing::text::Caret *, jint) = 0; +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::text::TextAction)))) dir; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TextAction$VerticalMovementAction__ diff --git a/libjava/javax/swing/text/TextAction.h b/libjava/javax/swing/text/TextAction.h new file mode 100644 index 00000000000..cfb9c1c9819 --- /dev/null +++ b/libjava/javax/swing/text/TextAction.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_TextAction__ +#define __javax_swing_text_TextAction__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class Action; + namespace text + { + class JTextComponent; + class TextAction; + } + } + } +} + +class javax::swing::text::TextAction : public ::javax::swing::AbstractAction +{ + +public: + TextAction(::java::lang::String *); +public: // actually protected + virtual ::javax::swing::text::JTextComponent * getTextComponent(::java::awt::event::ActionEvent *); +public: + static JArray< ::javax::swing::Action * > * augmentList(JArray< ::javax::swing::Action * > *, JArray< ::javax::swing::Action * > *); +public: // actually protected + virtual ::javax::swing::text::JTextComponent * getFocusedComponent(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_TextAction__ diff --git a/libjava/javax/swing/text/Utilities.h b/libjava/javax/swing/text/Utilities.h new file mode 100644 index 00000000000..ec04c43fe38 --- /dev/null +++ b/libjava/javax/swing/text/Utilities.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_Utilities__ +#define __javax_swing_text_Utilities__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class FontMetrics; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class JTextComponent; + class Segment; + class TabExpander; + class Utilities; + } + } + } +} + +class javax::swing::text::Utilities : public ::java::lang::Object +{ + +public: + Utilities(); + static jint drawTabbedText(::javax::swing::text::Segment *, jint, jint, ::java::awt::Graphics *, ::javax::swing::text::TabExpander *, jint); + static jint getTabbedTextWidth(::javax::swing::text::Segment *, ::java::awt::FontMetrics *, jint, ::javax::swing::text::TabExpander *, jint); + static jint getTabbedTextOffset(::javax::swing::text::Segment *, ::java::awt::FontMetrics *, jint, jint, ::javax::swing::text::TabExpander *, jint, jboolean); + static jint getTabbedTextOffset(::javax::swing::text::Segment *, ::java::awt::FontMetrics *, jint, jint, ::javax::swing::text::TabExpander *, jint); + static jint getNextWord(::javax::swing::text::JTextComponent *, jint); + static jint getPreviousWord(::javax::swing::text::JTextComponent *, jint); + static jint getWordStart(::javax::swing::text::JTextComponent *, jint); + static jint getWordEnd(::javax::swing::text::JTextComponent *, jint); + static jint getRowEnd(::javax::swing::text::JTextComponent *, jint); + static jint getRowStart(::javax::swing::text::JTextComponent *, jint); + static jint getBreakLocation(::javax::swing::text::Segment *, ::java::awt::FontMetrics *, jint, jint, ::javax::swing::text::TabExpander *, jint); + static ::javax::swing::text::Element * getParagraphElement(::javax::swing::text::JTextComponent *, jint); + static jint getPositionAbove(::javax::swing::text::JTextComponent *, jint, jint); + static jint getPositionBelow(::javax::swing::text::JTextComponent *, jint, jint); +public: // actually package-private + static jint getNextVisualPositionFrom(::javax::swing::text::JTextComponent *, jint, jint); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_Utilities__ diff --git a/libjava/javax/swing/text/View.h b/libjava/javax/swing/text/View.h new file mode 100644 index 00000000000..f9d97e5731f --- /dev/null +++ b/libjava/javax/swing/text/View.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_View__ +#define __javax_swing_text_View__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Container; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + class DocumentEvent$ElementChange; + } + namespace text + { + class AttributeSet; + class Document; + class Element; + class Position$Bias; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::View : public ::java::lang::Object +{ + +public: + View(::javax::swing::text::Element *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *) = 0; + virtual void setParent(::javax::swing::text::View *); + virtual ::javax::swing::text::View * getParent(); + virtual ::java::awt::Container * getContainer(); + virtual ::javax::swing::text::Document * getDocument(); + virtual ::javax::swing::text::Element * getElement(); + virtual jfloat getPreferredSpan(jint) = 0; + virtual jint getResizeWeight(jint); + virtual jfloat getMaximumSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual void setSize(jfloat, jfloat); + virtual jfloat getAlignment(jint); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual jboolean isVisible(); + virtual jint getViewCount(); + virtual ::javax::swing::text::View * getView(jint); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); + virtual void insert(jint, ::javax::swing::text::View *); + virtual void append(::javax::swing::text::View *); + virtual void removeAll(); + virtual void remove(jint); + virtual ::javax::swing::text::View * createFragment(jint, jint); + virtual jint getStartOffset(); + virtual jint getEndOffset(); + virtual ::java::awt::Shape * getChildAllocation(jint, ::java::awt::Shape *); + virtual jint getViewIndex(jfloat, jfloat, ::java::awt::Shape *); + virtual ::java::lang::String * getToolTipText(jfloat, jfloat, ::java::awt::Shape *); + virtual ::java::awt::Graphics * getGraphics(); + virtual void preferenceChanged(::javax::swing::text::View *, jboolean, jboolean); + virtual jint getBreakWeight(jint, jfloat, jfloat); + virtual ::javax::swing::text::View * breakView(jint, jint, jfloat, jfloat); + virtual jint getViewIndex(jint, ::javax::swing::text::Position$Bias *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: // actually protected + virtual jboolean updateChildren(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::javax::swing::text::ViewFactory *); + virtual void forwardUpdate(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void forwardUpdateToView(::javax::swing::text::View *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void updateLayout(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::java::awt::Shape *); +public: + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *) = 0; + virtual ::java::awt::Shape * modelToView(jint, ::javax::swing::text::Position$Bias *, jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *) = 0; + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *); +public: // actually protected + virtual void dump(); +public: // actually package-private + virtual void dump(jint); +public: + virtual jint getNextVisualPositionFrom(jint, ::javax::swing::text::Position$Bias *, ::java::awt::Shape *, jint, JArray< ::javax::swing::text::Position$Bias * > *); + static const jint BadBreakWeight = 0; + static const jint ExcellentBreakWeight = 2000; + static const jint ForcedBreakWeight = 3000; + static const jint GoodBreakWeight = 1000; + static const jint X_AXIS = 0; + static const jint Y_AXIS = 1; +private: + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) elt; + ::javax::swing::text::View * parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_View__ diff --git a/libjava/javax/swing/text/ViewFactory.h b/libjava/javax/swing/text/ViewFactory.h new file mode 100644 index 00000000000..a65181ab288 --- /dev/null +++ b/libjava/javax/swing/text/ViewFactory.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ViewFactory__ +#define __javax_swing_text_ViewFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class View; + class ViewFactory; + } + } + } +} + +class javax::swing::text::ViewFactory : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_ViewFactory__ diff --git a/libjava/javax/swing/text/WrappedPlainView$WrappedLine.h b/libjava/javax/swing/text/WrappedPlainView$WrappedLine.h new file mode 100644 index 00000000000..c96da223418 --- /dev/null +++ b/libjava/javax/swing/text/WrappedPlainView$WrappedLine.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_WrappedPlainView$WrappedLine__ +#define __javax_swing_text_WrappedPlainView$WrappedLine__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class Position$Bias; + class ViewFactory; + class WrappedPlainView; + class WrappedPlainView$WrappedLine; + } + } + } +} + +class javax::swing::text::WrappedPlainView$WrappedLine : public ::javax::swing::text::View +{ + +public: + WrappedPlainView$WrappedLine(::javax::swing::text::WrappedPlainView *, ::javax::swing::text::Element *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); +private: + jint determineNumLines(); +public: + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); +public: // actually package-private + virtual void updateDamage(::java::awt::Rectangle *); +public: + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) numLines; + ::javax::swing::text::WrappedPlainView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_WrappedPlainView$WrappedLine__ diff --git a/libjava/javax/swing/text/WrappedPlainView$WrappedLineCreator.h b/libjava/javax/swing/text/WrappedPlainView$WrappedLineCreator.h new file mode 100644 index 00000000000..eb249a0c0c6 --- /dev/null +++ b/libjava/javax/swing/text/WrappedPlainView$WrappedLineCreator.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_WrappedPlainView$WrappedLineCreator__ +#define __javax_swing_text_WrappedPlainView$WrappedLineCreator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class View; + class WrappedPlainView; + class WrappedPlainView$WrappedLineCreator; + } + } + } +} + +class javax::swing::text::WrappedPlainView$WrappedLineCreator : public ::java::lang::Object +{ + +public: // actually package-private + WrappedPlainView$WrappedLineCreator(::javax::swing::text::WrappedPlainView *); +public: + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); +public: // actually package-private + ::javax::swing::text::WrappedPlainView * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_WrappedPlainView$WrappedLineCreator__ diff --git a/libjava/javax/swing/text/WrappedPlainView.h b/libjava/javax/swing/text/WrappedPlainView.h new file mode 100644 index 00000000000..1082073cc34 --- /dev/null +++ b/libjava/javax/swing/text/WrappedPlainView.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_WrappedPlainView__ +#define __javax_swing_text_WrappedPlainView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class FontMetrics; + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class Element; + class Segment; + class ViewFactory; + class WrappedPlainView; + } + } + } +} + +class javax::swing::text::WrappedPlainView : public ::javax::swing::text::BoxView +{ + +public: + WrappedPlainView(::javax::swing::text::Element *); + WrappedPlainView(::javax::swing::text::Element *, jboolean); +public: // actually protected + virtual ::javax::swing::text::Segment * getLineBuffer(); +public: + virtual jfloat nextTabStop(jfloat, jint); +public: // actually protected + virtual jint getTabSize(); + virtual void drawLine(jint, jint, ::java::awt::Graphics *, jint, jint); + virtual jint drawSelectedText(::java::awt::Graphics *, jint, jint, jint, jint); + virtual jint drawUnselectedText(::java::awt::Graphics *, jint, jint, jint, jint); + virtual void loadChildren(::javax::swing::text::ViewFactory *); + virtual jint calculateBreakPosition(jint, jint); +public: // actually package-private + virtual void updateMetrics(); +public: + virtual jfloat getPreferredSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual jfloat getMaximumSpan(jint); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +private: + void updateChildren(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *); +public: + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual void setSize(jfloat, jfloat); +public: // actually package-private + ::java::awt::Color * __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) selectedColor; + ::java::awt::Color * unselectedColor; + ::java::awt::Color * disabledColor; + ::java::awt::FontMetrics * metrics; + jboolean wordWrap; + ::javax::swing::text::ViewFactory * viewFactory; + jint selectionStart; + jint selectionEnd; + jint lineHeight; +private: + jint tabBase; + jint tabSize; + ::javax::swing::text::Segment * lineBuffer; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_WrappedPlainView__ diff --git a/libjava/javax/swing/text/ZoneView$Zone.h b/libjava/javax/swing/text/ZoneView$Zone.h new file mode 100644 index 00000000000..86a5bc87c12 --- /dev/null +++ b/libjava/javax/swing/text/ZoneView$Zone.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ZoneView$Zone__ +#define __javax_swing_text_ZoneView$Zone__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class Position; + class ZoneView$Zone; + } + } + } +} + +class javax::swing::text::ZoneView$Zone : public ::javax::swing::text::AsyncBoxView +{ + +public: // actually package-private + ZoneView$Zone(::javax::swing::text::Element *, ::javax::swing::text::Position *, ::javax::swing::text::Position *, jint); +public: + virtual jint getStartOffset(); + virtual jint getEndOffset(); +private: + ::javax::swing::text::Position * __attribute__((aligned(__alignof__( ::javax::swing::text::AsyncBoxView)))) p0; + ::javax::swing::text::Position * p1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ZoneView$Zone__ diff --git a/libjava/javax/swing/text/ZoneView.h b/libjava/javax/swing/text/ZoneView.h new file mode 100644 index 00000000000..324d90c0a33 --- /dev/null +++ b/libjava/javax/swing/text/ZoneView.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_ZoneView__ +#define __javax_swing_text_ZoneView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + class DocumentEvent$ElementChange; + } + namespace text + { + class Element; + class View; + class ViewFactory; + class ZoneView; + } + } + } +} + +class javax::swing::text::ZoneView : public ::javax::swing::text::BoxView +{ + +public: + ZoneView(::javax::swing::text::Element *, jint); + virtual void setMaximumZoneSize(jint); + virtual jint getMaximumZoneSize(); + virtual void setMaxZonesLoaded(jint); + virtual jint getMaxZonesLoaded(); +public: // actually protected + virtual void zoneWasLoaded(::javax::swing::text::View *); + virtual void unloadZone(::javax::swing::text::View *); + virtual jboolean isZoneLoaded(::javax::swing::text::View *); + virtual ::javax::swing::text::View * createZone(jint, jint); + virtual void loadChildren(::javax::swing::text::ViewFactory *); + virtual jint getViewIndexAtPosition(jint); +public: + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); +public: // actually protected + virtual jboolean updateChildren(::javax::swing::event::DocumentEvent$ElementChange *, ::javax::swing::event::DocumentEvent *, ::javax::swing::text::ViewFactory *); +private: + void unloadOldestZones(); + void checkZoneAt(jint); + void splitZone(jint, jint, jint); + jint getPreferredZoneEnd(jint); + jint __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) maximumZoneSize; + jint maxZonesLoaded; + ::java::util::LinkedList * loadedZones; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_ZoneView__ diff --git a/libjava/javax/swing/text/html/BRView.h b/libjava/javax/swing/text/html/BRView.h new file mode 100644 index 00000000000..aee03f09e05 --- /dev/null +++ b/libjava/javax/swing/text/html/BRView.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_BRView__ +#define __javax_swing_text_html_BRView__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + namespace html + { + class BRView; + } + } + } + } +} + +class javax::swing::text::html::BRView : public ::javax::swing::text::html::InlineView +{ + +public: + BRView(::javax::swing::text::Element *); + virtual jint getBreakWeight(jint, jfloat, jfloat); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_BRView__ diff --git a/libjava/javax/swing/text/html/BlockView$PositionInfo.h b/libjava/javax/swing/text/html/BlockView$PositionInfo.h new file mode 100644 index 00000000000..1e19b610fd4 --- /dev/null +++ b/libjava/javax/swing/text/html/BlockView$PositionInfo.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_BlockView$PositionInfo__ +#define __javax_swing_text_html_BlockView$PositionInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Length; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class BlockView$PositionInfo; + } + } + } + } +} + +class javax::swing::text::html::BlockView$PositionInfo : public ::java::lang::Object +{ + +public: // actually package-private + BlockView$PositionInfo(jint, ::gnu::javax::swing::text::html::css::Length *, ::gnu::javax::swing::text::html::css::Length *, ::gnu::javax::swing::text::html::css::Length *, ::gnu::javax::swing::text::html::css::Length *); + static const jint STATIC = 0; + static const jint RELATIVE = 1; + static const jint ABSOLUTE = 2; + static const jint FIXED = 3; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::gnu::javax::swing::text::html::css::Length * left; + ::gnu::javax::swing::text::html::css::Length * right; + ::gnu::javax::swing::text::html::css::Length * top; + ::gnu::javax::swing::text::html::css::Length * bottom; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_BlockView$PositionInfo__ diff --git a/libjava/javax/swing/text/html/BlockView.h b/libjava/javax/swing/text/html/BlockView.h new file mode 100644 index 00000000000..b8608f5c001 --- /dev/null +++ b/libjava/javax/swing/text/html/BlockView.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_BlockView__ +#define __javax_swing_text_html_BlockView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Length; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace event + { + class DocumentEvent; + } + namespace text + { + class AttributeSet; + class Element; + class View; + class ViewFactory; + namespace html + { + class BlockView; + class StyleSheet; + class StyleSheet$BoxPainter; + } + } + } + } +} + +class javax::swing::text::html::BlockView : public ::javax::swing::text::BoxView +{ + +public: + BlockView(::javax::swing::text::Element *, jint); + virtual void setParent(::javax::swing::text::View *); +public: // actually protected + virtual ::javax::swing::SizeRequirements * calculateMajorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); +private: + jboolean setCSSSpan(::javax::swing::SizeRequirements *, jint); + void constrainSize(jint, ::javax::swing::SizeRequirements *, ::javax::swing::SizeRequirements *); +public: // actually protected + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +private: + void positionView(jint, jint, jint, JArray< jint > *, JArray< jint > *); +public: + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual jint getResizeWeight(jint); + virtual jfloat getAlignment(jint); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual jfloat getPreferredSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual jfloat getMaximumSpan(jint); +public: // actually protected + virtual void setPropertiesFromAttributes(); + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); +public: + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); +private: + void fetchLayoutInfo(::javax::swing::text::View *); + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) attributes; +public: // actually package-private + ::javax::swing::text::html::StyleSheet$BoxPainter * painter; +private: + JArray< ::gnu::javax::swing::text::html::css::Length * > * cssSpans; + ::java::util::HashMap * positionInfo; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_BlockView__ diff --git a/libjava/javax/swing/text/html/CSS$Attribute.h b/libjava/javax/swing/text/html/CSS$Attribute.h new file mode 100644 index 00000000000..44c82500b25 --- /dev/null +++ b/libjava/javax/swing/text/html/CSS$Attribute.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_CSS$Attribute__ +#define __javax_swing_text_html_CSS$Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class CSS$Attribute; + } + } + } + } +} + +class javax::swing::text::html::CSS$Attribute : public ::java::lang::Object +{ + +public: // actually package-private + CSS$Attribute(::java::lang::String *, jboolean, ::java::lang::String *); +public: + ::java::lang::String * toString(); + jboolean isInherited(); + ::java::lang::String * getDefaultValue(); + static ::javax::swing::text::html::CSS$Attribute * BACKGROUND; + static ::javax::swing::text::html::CSS$Attribute * BACKGROUND_ATTACHMENT; + static ::javax::swing::text::html::CSS$Attribute * BACKGROUND_COLOR; + static ::javax::swing::text::html::CSS$Attribute * BACKGROUND_IMAGE; + static ::javax::swing::text::html::CSS$Attribute * BACKGROUND_POSITION; + static ::javax::swing::text::html::CSS$Attribute * BACKGROUND_REPEAT; + static ::javax::swing::text::html::CSS$Attribute * BORDER; + static ::javax::swing::text::html::CSS$Attribute * BORDER_BOTTOM; + static ::javax::swing::text::html::CSS$Attribute * BORDER_BOTTOM_WIDTH; + static ::javax::swing::text::html::CSS$Attribute * BORDER_COLOR; + static ::javax::swing::text::html::CSS$Attribute * BORDER_LEFT; + static ::javax::swing::text::html::CSS$Attribute * BORDER_LEFT_WIDTH; + static ::javax::swing::text::html::CSS$Attribute * BORDER_RIGHT; + static ::javax::swing::text::html::CSS$Attribute * BORDER_RIGHT_WIDTH; + static ::javax::swing::text::html::CSS$Attribute * BORDER_STYLE; + static ::javax::swing::text::html::CSS$Attribute * BORDER_TOP; + static ::javax::swing::text::html::CSS$Attribute * BORDER_TOP_WIDTH; + static ::javax::swing::text::html::CSS$Attribute * BORDER_WIDTH; + static ::javax::swing::text::html::CSS$Attribute * CLEAR; + static ::javax::swing::text::html::CSS$Attribute * COLOR; + static ::javax::swing::text::html::CSS$Attribute * DISPLAY; + static ::javax::swing::text::html::CSS$Attribute * FLOAT; + static ::javax::swing::text::html::CSS$Attribute * FONT; + static ::javax::swing::text::html::CSS$Attribute * FONT_FAMILY; + static ::javax::swing::text::html::CSS$Attribute * FONT_SIZE; + static ::javax::swing::text::html::CSS$Attribute * FONT_STYLE; + static ::javax::swing::text::html::CSS$Attribute * FONT_VARIANT; + static ::javax::swing::text::html::CSS$Attribute * FONT_WEIGHT; + static ::javax::swing::text::html::CSS$Attribute * HEIGHT; + static ::javax::swing::text::html::CSS$Attribute * LETTER_SPACING; + static ::javax::swing::text::html::CSS$Attribute * LINE_HEIGHT; + static ::javax::swing::text::html::CSS$Attribute * LIST_STYLE; + static ::javax::swing::text::html::CSS$Attribute * LIST_STYLE_IMAGE; + static ::javax::swing::text::html::CSS$Attribute * LIST_STYLE_POSITION; + static ::javax::swing::text::html::CSS$Attribute * LIST_STYLE_TYPE; + static ::javax::swing::text::html::CSS$Attribute * MARGIN; + static ::javax::swing::text::html::CSS$Attribute * MARGIN_BOTTOM; + static ::javax::swing::text::html::CSS$Attribute * MARGIN_LEFT; + static ::javax::swing::text::html::CSS$Attribute * MARGIN_RIGHT; + static ::javax::swing::text::html::CSS$Attribute * MARGIN_TOP; + static ::javax::swing::text::html::CSS$Attribute * PADDING; + static ::javax::swing::text::html::CSS$Attribute * PADDING_BOTTOM; + static ::javax::swing::text::html::CSS$Attribute * PADDING_LEFT; + static ::javax::swing::text::html::CSS$Attribute * PADDING_RIGHT; + static ::javax::swing::text::html::CSS$Attribute * PADDING_TOP; + static ::javax::swing::text::html::CSS$Attribute * TEXT_ALIGN; + static ::javax::swing::text::html::CSS$Attribute * TEXT_DECORATION; + static ::javax::swing::text::html::CSS$Attribute * TEXT_INDENT; + static ::javax::swing::text::html::CSS$Attribute * TEXT_TRANSFORM; + static ::javax::swing::text::html::CSS$Attribute * VERTICAL_ALIGN; + static ::javax::swing::text::html::CSS$Attribute * WHITE_SPACE; + static ::javax::swing::text::html::CSS$Attribute * WIDTH; + static ::javax::swing::text::html::CSS$Attribute * WORD_SPACING; +public: // actually package-private + static ::javax::swing::text::html::CSS$Attribute * BORDER_TOP_STYLE; + static ::javax::swing::text::html::CSS$Attribute * BORDER_BOTTOM_STYLE; + static ::javax::swing::text::html::CSS$Attribute * BORDER_LEFT_STYLE; + static ::javax::swing::text::html::CSS$Attribute * BORDER_RIGHT_STYLE; + static ::javax::swing::text::html::CSS$Attribute * BORDER_TOP_COLOR; + static ::javax::swing::text::html::CSS$Attribute * BORDER_BOTTOM_COLOR; + static ::javax::swing::text::html::CSS$Attribute * BORDER_LEFT_COLOR; + static ::javax::swing::text::html::CSS$Attribute * BORDER_RIGHT_COLOR; + static ::javax::swing::text::html::CSS$Attribute * BORDER_SPACING; + static ::javax::swing::text::html::CSS$Attribute * POSITION; + static ::javax::swing::text::html::CSS$Attribute * LEFT; + static ::javax::swing::text::html::CSS$Attribute * RIGHT; + static ::javax::swing::text::html::CSS$Attribute * TOP; + static ::javax::swing::text::html::CSS$Attribute * BOTTOM; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attStr; + jboolean isInherited__; + ::java::lang::String * defaultValue; + static ::java::util::HashMap * attributeMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_CSS$Attribute__ diff --git a/libjava/javax/swing/text/html/CSS.h b/libjava/javax/swing/text/html/CSS.h new file mode 100644 index 00000000000..1f3922db0bb --- /dev/null +++ b/libjava/javax/swing/text/html/CSS.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_CSS__ +#define __javax_swing_text_html_CSS__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class CSS; + class CSS$Attribute; + } + } + } + } +} + +class javax::swing::text::html::CSS : public ::java::lang::Object +{ + +public: + CSS(); + static JArray< ::javax::swing::text::html::CSS$Attribute * > * getAllAttributeKeys(); + static ::javax::swing::text::html::CSS$Attribute * getAttribute(::java::lang::String *); +public: // actually package-private + static ::java::lang::Object * getValue(::javax::swing::text::html::CSS$Attribute *, ::java::lang::String *); + static void addInternal(::javax::swing::text::MutableAttributeSet *, ::javax::swing::text::html::CSS$Attribute *, ::java::lang::String *); +private: + static void parseBackgroundShorthand(::javax::swing::text::MutableAttributeSet *, ::java::lang::String *); + static void parsePaddingShorthand(::javax::swing::text::MutableAttributeSet *, ::java::lang::String *); + static void parseMarginShorthand(::javax::swing::text::MutableAttributeSet *, ::java::lang::String *); + static void parseBorderShorthand(::javax::swing::text::MutableAttributeSet *, ::java::lang::String *, ::javax::swing::text::html::CSS$Attribute *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_CSS__ diff --git a/libjava/javax/swing/text/html/CSSBorder.h b/libjava/javax/swing/text/html/CSSBorder.h new file mode 100644 index 00000000000..aa836ff65e1 --- /dev/null +++ b/libjava/javax/swing/text/html/CSSBorder.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_CSSBorder__ +#define __javax_swing_text_html_CSSBorder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Graphics; + class Insets; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + namespace html + { + class CSS$Attribute; + class CSSBorder; + class StyleSheet; + } + } + } + } +} + +class javax::swing::text::html::CSSBorder : public ::java::lang::Object +{ + +public: // actually package-private + CSSBorder(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::StyleSheet *); +private: + jint getBorderStyle(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::CSS$Attribute *); + ::java::awt::Color * getBorderColor(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::CSS$Attribute *); + jint getBorderWidth(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::CSS$Attribute *, ::javax::swing::text::html::StyleSheet *); +public: + virtual ::java::awt::Insets * getBorderInsets(::java::awt::Component *); + virtual jboolean isBorderOpaque(); + virtual void paintBorder(::java::awt::Component *, ::java::awt::Graphics *, jint, jint, jint, jint); +private: + void paintBorderLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintDottedLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintDashedLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintSolidLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintDoubleLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintGrooveLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintRidgeLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintOutsetLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + void paintInsetLine(::java::awt::Graphics *, jint, jint, jint, jint, jint, ::java::awt::Color *, jboolean); + static const jint STYLE_NOT_SET = -1; + static const jint STYLE_NONE = 0; + static const jint STYLE_HIDDEN = 1; + static const jint STYLE_DOTTED = 2; + static const jint STYLE_DASHED = 3; + static const jint STYLE_SOLID = 4; + static const jint STYLE_DOUBLE = 5; + static const jint STYLE_GROOVE = 6; + static const jint STYLE_RIDGE = 7; + static const jint STYLE_INSET = 8; + static const jint STYLE_OUTSET = 9; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) left; + jint right; + jint top; + jint bottom; + jint leftStyle; + jint rightStyle; + jint topStyle; + ::java::awt::Color * topColor; + ::java::awt::Color * bottomColor; + ::java::awt::Color * leftColor; + ::java::awt::Color * rightColor; + jint bottomStyle; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_CSSBorder__ diff --git a/libjava/javax/swing/text/html/CSSParser$CSSParserCallback.h b/libjava/javax/swing/text/html/CSSParser$CSSParserCallback.h new file mode 100644 index 00000000000..a2bb6622879 --- /dev/null +++ b/libjava/javax/swing/text/html/CSSParser$CSSParserCallback.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_CSSParser$CSSParserCallback__ +#define __javax_swing_text_html_CSSParser$CSSParserCallback__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class CSSParser$CSSParserCallback; + } + } + } + } +} + +class javax::swing::text::html::CSSParser$CSSParserCallback : public ::java::lang::Object +{ + +public: + virtual void handleImport(::java::lang::String *) = 0; + virtual void startRule() = 0; + virtual void endRule() = 0; + virtual void handleSelector(::java::lang::String *) = 0; + virtual void handleProperty(::java::lang::String *) = 0; + virtual void handleValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_html_CSSParser$CSSParserCallback__ diff --git a/libjava/javax/swing/text/html/CSSParser.h b/libjava/javax/swing/text/html/CSSParser.h new file mode 100644 index 00000000000..ce8aee5acfe --- /dev/null +++ b/libjava/javax/swing/text/html/CSSParser.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_CSSParser__ +#define __javax_swing_text_html_CSSParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class CSSParser; + class CSSParser$CSSParserCallback; + } + } + } + } +} + +class javax::swing::text::html::CSSParser : public ::java::lang::Object +{ + +public: // actually package-private + CSSParser(); +private: + void append(jchar); + jint nextToken(jchar); + jint readChar(); +public: // actually package-private + virtual void parse(::java::io::Reader *, ::javax::swing::text::html::CSSParser$CSSParserCallback *, jboolean); +private: + jint readWS(); + jboolean getNextStatement(); + void parseAtRule(); + void parseRuleSet(); + jboolean parseSelectors(); + void parseDeclarationBlock(); + jint parseDeclaration(); + jint parseIdentifiers(jchar, jboolean); + void parseTillClosed(jint); + jboolean getIdentifier(jchar); + void readTill(jchar); + void readComment(); + void startBlock(jint); + void endBlock(jint); + jboolean inBlock(); + void pushChar(jint); + static const jint IDENTIFIER = 1; + static const jint BRACKET_OPEN = 2; + static const jint BRACKET_CLOSE = 3; + static const jint BRACE_OPEN = 4; + static const jint BRACE_CLOSE = 5; + static const jint PAREN_OPEN = 6; + static const jint PAREN_CLOSE = 7; + static const jint END = -1; + static JArray< jchar > * charMapping; + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) didPushChar; + jint pushedChar; + ::java::lang::StringBuffer * unitBuffer; + JArray< jint > * unitStack; + jint stackCount; + ::java::io::Reader * reader; + jboolean encounteredRuleSet; + ::javax::swing::text::html::CSSParser$CSSParserCallback * callback; + JArray< jchar > * tokenBuffer; + jint tokenBufferLength; + jboolean readWS__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_CSSParser__ diff --git a/libjava/javax/swing/text/html/FormSubmitEvent$MethodType.h b/libjava/javax/swing/text/html/FormSubmitEvent$MethodType.h new file mode 100644 index 00000000000..99fbed04d3e --- /dev/null +++ b/libjava/javax/swing/text/html/FormSubmitEvent$MethodType.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FormSubmitEvent$MethodType__ +#define __javax_swing_text_html_FormSubmitEvent$MethodType__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class FormSubmitEvent$MethodType; + } + } + } + } +} + +class javax::swing::text::html::FormSubmitEvent$MethodType : public ::java::lang::Object +{ + + FormSubmitEvent$MethodType(); +public: + static ::javax::swing::text::html::FormSubmitEvent$MethodType * POST; + static ::javax::swing::text::html::FormSubmitEvent$MethodType * GET; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FormSubmitEvent$MethodType__ diff --git a/libjava/javax/swing/text/html/FormSubmitEvent.h b/libjava/javax/swing/text/html/FormSubmitEvent.h new file mode 100644 index 00000000000..7908376d167 --- /dev/null +++ b/libjava/javax/swing/text/html/FormSubmitEvent.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FormSubmitEvent__ +#define __javax_swing_text_html_FormSubmitEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class HyperlinkEvent$EventType; + } + namespace text + { + class Element; + namespace html + { + class FormSubmitEvent; + class FormSubmitEvent$MethodType; + } + } + } + } +} + +class javax::swing::text::html::FormSubmitEvent : public ::javax::swing::text::html::HTMLFrameHyperlinkEvent +{ + +public: // actually package-private + FormSubmitEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::javax::swing::text::Element *, ::java::lang::String *, ::javax::swing::text::html::FormSubmitEvent$MethodType *, ::java::lang::String *); +public: + virtual ::java::lang::String * getData(); + virtual ::javax::swing::text::html::FormSubmitEvent$MethodType * getMethod(); +private: + ::javax::swing::text::html::FormSubmitEvent$MethodType * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLFrameHyperlinkEvent)))) method; + ::java::lang::String * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FormSubmitEvent__ diff --git a/libjava/javax/swing/text/html/FormView$1.h b/libjava/javax/swing/text/html/FormView$1.h new file mode 100644 index 00000000000..0bdec66cfcd --- /dev/null +++ b/libjava/javax/swing/text/html/FormView$1.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FormView$1__ +#define __javax_swing_text_html_FormView$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + class JEditorPane; + namespace text + { + namespace html + { + class FormView$1; + class FormView$SubmitThread; + class HTMLDocument; + } + } + } + } +} + +class javax::swing::text::html::FormView$1 : public ::java::lang::Object +{ + +public: // actually package-private + FormView$1(::javax::swing::text::html::FormView$SubmitThread *, ::javax::swing::text::html::HTMLDocument *, ::javax::swing::JEditorPane *, ::java::lang::String *, ::java::net::URL *, ::java::lang::String *, ::java::net::URL *); +public: + void run(); +public: // actually package-private + ::javax::swing::text::html::FormView$SubmitThread * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +private: + ::javax::swing::text::html::HTMLDocument * val$doc; + ::javax::swing::JEditorPane * val$editor; + ::java::lang::String * val$method; + ::java::net::URL * val$actionURL; + ::java::lang::String * val$target; + ::java::net::URL * val$url; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FormView$1__ diff --git a/libjava/javax/swing/text/html/FormView$MouseEventListener.h b/libjava/javax/swing/text/html/FormView$MouseEventListener.h new file mode 100644 index 00000000000..d602e6449f3 --- /dev/null +++ b/libjava/javax/swing/text/html/FormView$MouseEventListener.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FormView$MouseEventListener__ +#define __javax_swing_text_html_FormView$MouseEventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class FormView; + class FormView$MouseEventListener; + } + } + } + } +} + +class javax::swing::text::html::FormView$MouseEventListener : public ::java::awt::event::MouseAdapter +{ + +public: // actually protected + FormView$MouseEventListener(::javax::swing::text::html::FormView *); +public: + virtual void mouseReleased(::java::awt::event::MouseEvent *); +public: // actually package-private + ::javax::swing::text::html::FormView * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FormView$MouseEventListener__ diff --git a/libjava/javax/swing/text/html/FormView$SubmitThread.h b/libjava/javax/swing/text/html/FormView$SubmitThread.h new file mode 100644 index 00000000000..69a01bbe77c --- /dev/null +++ b/libjava/javax/swing/text/html/FormView$SubmitThread.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FormView$SubmitThread__ +#define __javax_swing_text_html_FormView$SubmitThread__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + class URLConnection; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + namespace html + { + class FormSubmitEvent; + class FormView; + class FormView$SubmitThread; + } + } + } + } +} + +class javax::swing::text::html::FormView$SubmitThread : public ::java::lang::Thread +{ + +public: // actually package-private + FormView$SubmitThread(::javax::swing::text::html::FormView *, ::java::lang::String *); +public: + virtual void run(); +private: + ::java::lang::String * getMethod(); + ::java::net::URL * getActionURL(); + ::java::lang::String * getTarget(); + void postData(::java::net::URLConnection *, ::java::lang::String *); + ::javax::swing::text::AttributeSet * getFormAttributes(); +public: // actually package-private + virtual ::javax::swing::text::html::FormSubmitEvent * createSubmitEvent(::java::lang::String *, ::java::net::URL *, ::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) data; +public: // actually package-private + ::javax::swing::text::html::FormView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FormView$SubmitThread__ diff --git a/libjava/javax/swing/text/html/FormView.h b/libjava/javax/swing/text/html/FormView.h new file mode 100644 index 00000000000..fff2e630988 --- /dev/null +++ b/libjava/javax/swing/text/html/FormView.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FormView__ +#define __javax_swing_text_html_FormView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + class Point; + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Element; + namespace html + { + class FormView; + } + } + } + } +} + +class javax::swing::text::html::FormView : public ::javax::swing::text::ComponentView +{ + +public: + FormView(::javax::swing::text::Element *); +public: // actually protected + virtual ::java::awt::Component * createComponent(); +public: + virtual jfloat getMaximumSpan(jint); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually protected + virtual void submitData(::java::lang::String *); + virtual void imageSubmit(::java::lang::String *); +public: // actually package-private + virtual ::java::lang::String * getImageData(::java::awt::Point *); + virtual ::javax::swing::text::Element * getFormElement(); +private: + ::java::lang::String * getFormData(); + void getElementFormData(::javax::swing::text::Element *, ::java::lang::StringBuilder *); + void getSelectData(::javax::swing::text::AttributeSet *, ::java::lang::StringBuilder *); + ::java::lang::String * getTextAreaData(::javax::swing::text::AttributeSet *); + ::java::lang::String * getInputFormData(::javax::swing::text::AttributeSet *); + void addData(::java::lang::StringBuilder *, ::java::lang::String *, ::java::lang::String *); + void resetForm(); +public: + static ::java::lang::String * SUBMIT; + static ::java::lang::String * RESET; +private: + jboolean __attribute__((aligned(__alignof__( ::javax::swing::text::ComponentView)))) maxIsPreferred; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FormView__ diff --git a/libjava/javax/swing/text/html/FrameSetView$FrameSetRow.h b/libjava/javax/swing/text/html/FrameSetView$FrameSetRow.h new file mode 100644 index 00000000000..ae59240acf9 --- /dev/null +++ b/libjava/javax/swing/text/html/FrameSetView$FrameSetRow.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FrameSetView$FrameSetRow__ +#define __javax_swing_text_html_FrameSetView$FrameSetRow__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class ViewFactory; + namespace html + { + class FrameSetView; + class FrameSetView$FrameSetRow; + } + } + } + } +} + +class javax::swing::text::html::FrameSetView$FrameSetRow : public ::javax::swing::text::BoxView +{ + +public: // actually package-private + FrameSetView$FrameSetRow(::javax::swing::text::html::FrameSetView *, ::javax::swing::text::Element *, jint); +public: // actually protected + virtual void loadChildren(::javax::swing::text::ViewFactory *); + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) row; +public: // actually package-private + ::javax::swing::text::html::FrameSetView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FrameSetView$FrameSetRow__ diff --git a/libjava/javax/swing/text/html/FrameSetView.h b/libjava/javax/swing/text/html/FrameSetView.h new file mode 100644 index 00000000000..a31abb1ca11 --- /dev/null +++ b/libjava/javax/swing/text/html/FrameSetView.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FrameSetView__ +#define __javax_swing_text_html_FrameSetView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class ViewFactory; + namespace html + { + class FrameSetView; + } + } + } + } +} + +class javax::swing::text::html::FrameSetView : public ::javax::swing::text::BoxView +{ + +public: // actually package-private + FrameSetView(::javax::swing::text::Element *); +public: // actually protected + virtual void loadChildren(::javax::swing::text::ViewFactory *); +private: + void parseRowsCols(); + void parseLayout(::java::lang::String *, jint); +public: // actually protected + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +public: // actually package-private + virtual void layoutViews(jint, jint, JArray< jint > *, JArray< jint > *, jint, JArray< jint > *, JArray< jint > *, JArray< jint > *); + JArray< JArray< jint > * > * __attribute__((aligned(__alignof__( ::javax::swing::text::BoxView)))) absolute; + JArray< JArray< jint > * > * relative; + JArray< JArray< jint > * > * percent; + JArray< jint > * numViews; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FrameSetView__ diff --git a/libjava/javax/swing/text/html/FrameView.h b/libjava/javax/swing/text/html/FrameView.h new file mode 100644 index 00000000000..e1856e327de --- /dev/null +++ b/libjava/javax/swing/text/html/FrameView.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_FrameView__ +#define __javax_swing_text_html_FrameView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JEditorPane; + namespace event + { + class HyperlinkEvent; + } + namespace text + { + class Element; + namespace html + { + class FrameView; + class HTMLFrameHyperlinkEvent; + } + } + } + } +} + +class javax::swing::text::html::FrameView : public ::javax::swing::text::ComponentView +{ + +public: // actually package-private + FrameView(::javax::swing::text::Element *); +public: // actually protected + virtual ::java::awt::Component * createComponent(); +public: + virtual void hyperlinkUpdate(::javax::swing::event::HyperlinkEvent *); +private: + void handleHyperlinkEvent(::javax::swing::event::HyperlinkEvent *, ::javax::swing::JEditorPane *, ::java::lang::String *); + void handleFormSubmitEvent(::javax::swing::text::html::HTMLFrameHyperlinkEvent *, ::javax::swing::JEditorPane *, ::java::lang::String *); + ::javax::swing::JEditorPane * getTopEditorPane(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_FrameView__ diff --git a/libjava/javax/swing/text/html/HRuleView$Beginning.h b/libjava/javax/swing/text/html/HRuleView$Beginning.h new file mode 100644 index 00000000000..a1c6e1dc808 --- /dev/null +++ b/libjava/javax/swing/text/html/HRuleView$Beginning.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HRuleView$Beginning__ +#define __javax_swing_text_html_HRuleView$Beginning__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + namespace html + { + class HRuleView; + class HRuleView$Beginning; + } + } + } + } +} + +class javax::swing::text::html::HRuleView$Beginning : public ::javax::swing::text::html::NullView +{ + +public: + virtual jint getEndOffset(); + virtual jint getStartOffset(); + HRuleView$Beginning(::javax::swing::text::html::HRuleView *, ::javax::swing::text::Element *, jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::text::html::NullView)))) breakOffset; + ::javax::swing::text::html::HRuleView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HRuleView$Beginning__ diff --git a/libjava/javax/swing/text/html/HRuleView.h b/libjava/javax/swing/text/html/HRuleView.h new file mode 100644 index 00000000000..f028b51ae0b --- /dev/null +++ b/libjava/javax/swing/text/html/HRuleView.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HRuleView__ +#define __javax_swing_text_html_HRuleView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class View; + namespace html + { + class HRuleView; + } + } + } + } +} + +class javax::swing::text::html::HRuleView : public ::javax::swing::text::html::InlineView +{ + +public: + HRuleView(::javax::swing::text::Element *); + virtual jint getBreakWeight(jint, jfloat, jfloat); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual ::javax::swing::text::View * breakView(jint, jint, jfloat, jfloat); + virtual jfloat getMaximumSpan(jint); + virtual jfloat getPreferredSpan(jint); +public: // actually package-private + ::javax::swing::text::View * __attribute__((aligned(__alignof__( ::javax::swing::text::html::InlineView)))) nullView; + static jint HEIGHT; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HRuleView__ diff --git a/libjava/javax/swing/text/html/HTML$Attribute.h b/libjava/javax/swing/text/html/HTML$Attribute.h new file mode 100644 index 00000000000..47868d02dbc --- /dev/null +++ b/libjava/javax/swing/text/html/HTML$Attribute.h @@ -0,0 +1,130 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTML$Attribute__ +#define __javax_swing_text_html_HTML$Attribute__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTML$Attribute; + } + } + } + } +} + +class javax::swing::text::html::HTML$Attribute : public ::java::lang::Object +{ + + HTML$Attribute(::java::lang::String *); +public: + ::java::lang::String * toString(); +public: // actually package-private + static JArray< ::javax::swing::text::html::HTML$Attribute * > * getAllAttributes(); +public: + static ::javax::swing::text::html::HTML$Attribute * ACTION; + static ::javax::swing::text::html::HTML$Attribute * ALIGN; + static ::javax::swing::text::html::HTML$Attribute * ALINK; + static ::javax::swing::text::html::HTML$Attribute * ALT; + static ::javax::swing::text::html::HTML$Attribute * ARCHIVE; + static ::javax::swing::text::html::HTML$Attribute * BACKGROUND; + static ::javax::swing::text::html::HTML$Attribute * BGCOLOR; + static ::javax::swing::text::html::HTML$Attribute * BORDER; + static ::javax::swing::text::html::HTML$Attribute * CELLPADDING; + static ::javax::swing::text::html::HTML$Attribute * CELLSPACING; + static ::javax::swing::text::html::HTML$Attribute * CHECKED; + static ::javax::swing::text::html::HTML$Attribute * CLASS; + static ::javax::swing::text::html::HTML$Attribute * CLASSID; + static ::javax::swing::text::html::HTML$Attribute * CLEAR; + static ::javax::swing::text::html::HTML$Attribute * CODE; + static ::javax::swing::text::html::HTML$Attribute * CODEBASE; + static ::javax::swing::text::html::HTML$Attribute * CODETYPE; + static ::javax::swing::text::html::HTML$Attribute * COLOR; + static ::javax::swing::text::html::HTML$Attribute * COLS; + static ::javax::swing::text::html::HTML$Attribute * COLSPAN; + static ::javax::swing::text::html::HTML$Attribute * COMMENT; + static ::javax::swing::text::html::HTML$Attribute * COMPACT; + static ::javax::swing::text::html::HTML$Attribute * CONTENT; + static ::javax::swing::text::html::HTML$Attribute * COORDS; + static ::javax::swing::text::html::HTML$Attribute * DATA; + static ::javax::swing::text::html::HTML$Attribute * DECLARE; + static ::javax::swing::text::html::HTML$Attribute * DIR; + static ::javax::swing::text::html::HTML$Attribute * DUMMY; + static ::javax::swing::text::html::HTML$Attribute * ENCTYPE; + static ::javax::swing::text::html::HTML$Attribute * ENDTAG; + static ::javax::swing::text::html::HTML$Attribute * FACE; + static ::javax::swing::text::html::HTML$Attribute * FRAMEBORDER; + static ::javax::swing::text::html::HTML$Attribute * HALIGN; + static ::javax::swing::text::html::HTML$Attribute * HEIGHT; + static ::javax::swing::text::html::HTML$Attribute * HREF; + static ::javax::swing::text::html::HTML$Attribute * HSPACE; + static ::javax::swing::text::html::HTML$Attribute * HTTPEQUIV; + static ::javax::swing::text::html::HTML$Attribute * ID; + static ::javax::swing::text::html::HTML$Attribute * ISMAP; + static ::javax::swing::text::html::HTML$Attribute * LANG; + static ::javax::swing::text::html::HTML$Attribute * LANGUAGE; + static ::javax::swing::text::html::HTML$Attribute * LINK; + static ::javax::swing::text::html::HTML$Attribute * LOWSRC; + static ::javax::swing::text::html::HTML$Attribute * MARGINHEIGHT; + static ::javax::swing::text::html::HTML$Attribute * MARGINWIDTH; + static ::javax::swing::text::html::HTML$Attribute * MAXLENGTH; +public: // actually package-private + static ::javax::swing::text::html::HTML$Attribute * MEDIA; +public: + static ::javax::swing::text::html::HTML$Attribute * METHOD; + static ::javax::swing::text::html::HTML$Attribute * MULTIPLE; + static ::javax::swing::text::html::HTML$Attribute * N; + static ::javax::swing::text::html::HTML$Attribute * NAME; + static ::javax::swing::text::html::HTML$Attribute * NOHREF; + static ::javax::swing::text::html::HTML$Attribute * NORESIZE; + static ::javax::swing::text::html::HTML$Attribute * NOSHADE; + static ::javax::swing::text::html::HTML$Attribute * NOWRAP; + static ::javax::swing::text::html::HTML$Attribute * PROMPT; + static ::javax::swing::text::html::HTML$Attribute * REL; + static ::javax::swing::text::html::HTML$Attribute * REV; + static ::javax::swing::text::html::HTML$Attribute * ROWS; + static ::javax::swing::text::html::HTML$Attribute * ROWSPAN; + static ::javax::swing::text::html::HTML$Attribute * SCROLLING; + static ::javax::swing::text::html::HTML$Attribute * SELECTED; + static ::javax::swing::text::html::HTML$Attribute * SHAPE; + static ::javax::swing::text::html::HTML$Attribute * SHAPES; + static ::javax::swing::text::html::HTML$Attribute * SIZE; + static ::javax::swing::text::html::HTML$Attribute * SRC; + static ::javax::swing::text::html::HTML$Attribute * STANDBY; + static ::javax::swing::text::html::HTML$Attribute * START; + static ::javax::swing::text::html::HTML$Attribute * STYLE; + static ::javax::swing::text::html::HTML$Attribute * TARGET; + static ::javax::swing::text::html::HTML$Attribute * TEXT; + static ::javax::swing::text::html::HTML$Attribute * TITLE; + static ::javax::swing::text::html::HTML$Attribute * TYPE; + static ::javax::swing::text::html::HTML$Attribute * USEMAP; + static ::javax::swing::text::html::HTML$Attribute * VALIGN; + static ::javax::swing::text::html::HTML$Attribute * VALUE; + static ::javax::swing::text::html::HTML$Attribute * VALUETYPE; + static ::javax::swing::text::html::HTML$Attribute * VERSION; + static ::javax::swing::text::html::HTML$Attribute * VLINK; + static ::javax::swing::text::html::HTML$Attribute * VSPACE; + static ::javax::swing::text::html::HTML$Attribute * WIDTH; +public: // actually package-private + static ::javax::swing::text::html::HTML$Attribute * PSEUDO_CLASS; + static ::javax::swing::text::html::HTML$Attribute * DYNAMIC_CLASS; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTML$Attribute__ diff --git a/libjava/javax/swing/text/html/HTML$Tag.h b/libjava/javax/swing/text/html/HTML$Tag.h new file mode 100644 index 00000000000..2dd2dcebac7 --- /dev/null +++ b/libjava/javax/swing/text/html/HTML$Tag.h @@ -0,0 +1,139 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTML$Tag__ +#define __javax_swing_text_html_HTML$Tag__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTML$Tag; + } + } + } + } +} + +class javax::swing::text::html::HTML$Tag : public ::java::lang::Object +{ + +public: + HTML$Tag(); +public: // actually protected + HTML$Tag(::java::lang::String *); + HTML$Tag(::java::lang::String *, jboolean, jboolean); +public: // actually package-private + HTML$Tag(::java::lang::String *, jint); +public: + virtual jboolean isBlock(); + virtual jboolean isPreformatted(); + virtual jboolean breaksFlow(); + virtual ::java::lang::String * toString(); +public: // actually package-private + static JArray< ::javax::swing::text::html::HTML$Tag * > * getAllTags(); + virtual jboolean isSyntetic(); +private: + static void unexpected(::java::lang::Exception *); +public: + static ::javax::swing::text::html::HTML$Tag * A; + static ::javax::swing::text::html::HTML$Tag * ADDRESS; + static ::javax::swing::text::html::HTML$Tag * APPLET; + static ::javax::swing::text::html::HTML$Tag * AREA; + static ::javax::swing::text::html::HTML$Tag * B; + static ::javax::swing::text::html::HTML$Tag * BASE; + static ::javax::swing::text::html::HTML$Tag * BASEFONT; + static ::javax::swing::text::html::HTML$Tag * BIG; + static ::javax::swing::text::html::HTML$Tag * BLOCKQUOTE; + static ::javax::swing::text::html::HTML$Tag * BODY; + static ::javax::swing::text::html::HTML$Tag * BR; + static ::javax::swing::text::html::HTML$Tag * CAPTION; + static ::javax::swing::text::html::HTML$Tag * CENTER; + static ::javax::swing::text::html::HTML$Tag * CITE; + static ::javax::swing::text::html::HTML$Tag * CODE; + static ::javax::swing::text::html::HTML$Tag * DD; + static ::javax::swing::text::html::HTML$Tag * DFN; + static ::javax::swing::text::html::HTML$Tag * DIR; + static ::javax::swing::text::html::HTML$Tag * DIV; + static ::javax::swing::text::html::HTML$Tag * DL; + static ::javax::swing::text::html::HTML$Tag * DT; + static ::javax::swing::text::html::HTML$Tag * EM; + static ::javax::swing::text::html::HTML$Tag * FONT; + static ::javax::swing::text::html::HTML$Tag * FORM; + static ::javax::swing::text::html::HTML$Tag * FRAME; + static ::javax::swing::text::html::HTML$Tag * FRAMESET; + static ::javax::swing::text::html::HTML$Tag * H1; + static ::javax::swing::text::html::HTML$Tag * H2; + static ::javax::swing::text::html::HTML$Tag * H3; + static ::javax::swing::text::html::HTML$Tag * H4; + static ::javax::swing::text::html::HTML$Tag * H5; + static ::javax::swing::text::html::HTML$Tag * H6; + static ::javax::swing::text::html::HTML$Tag * HEAD; + static ::javax::swing::text::html::HTML$Tag * HR; + static ::javax::swing::text::html::HTML$Tag * HTML; + static ::javax::swing::text::html::HTML$Tag * I; + static ::javax::swing::text::html::HTML$Tag * IMG; + static ::javax::swing::text::html::HTML$Tag * INPUT; + static ::javax::swing::text::html::HTML$Tag * ISINDEX; + static ::javax::swing::text::html::HTML$Tag * KBD; + static ::javax::swing::text::html::HTML$Tag * LI; + static ::javax::swing::text::html::HTML$Tag * LINK; + static ::javax::swing::text::html::HTML$Tag * MAP; + static ::javax::swing::text::html::HTML$Tag * MENU; + static ::javax::swing::text::html::HTML$Tag * META; +public: // actually package-private + static ::javax::swing::text::html::HTML$Tag * NOBR; +public: + static ::javax::swing::text::html::HTML$Tag * NOFRAMES; + static ::javax::swing::text::html::HTML$Tag * OBJECT; + static ::javax::swing::text::html::HTML$Tag * OL; + static ::javax::swing::text::html::HTML$Tag * OPTION; + static ::javax::swing::text::html::HTML$Tag * P; + static ::javax::swing::text::html::HTML$Tag * PARAM; + static ::javax::swing::text::html::HTML$Tag * PRE; + static ::javax::swing::text::html::HTML$Tag * S; + static ::javax::swing::text::html::HTML$Tag * SAMP; + static ::javax::swing::text::html::HTML$Tag * SCRIPT; + static ::javax::swing::text::html::HTML$Tag * SELECT; + static ::javax::swing::text::html::HTML$Tag * SMALL; + static ::javax::swing::text::html::HTML$Tag * SPAN; + static ::javax::swing::text::html::HTML$Tag * STRIKE; + static ::javax::swing::text::html::HTML$Tag * STRONG; + static ::javax::swing::text::html::HTML$Tag * STYLE; + static ::javax::swing::text::html::HTML$Tag * SUB; + static ::javax::swing::text::html::HTML$Tag * SUP; + static ::javax::swing::text::html::HTML$Tag * TABLE; + static ::javax::swing::text::html::HTML$Tag * TD; + static ::javax::swing::text::html::HTML$Tag * TEXTAREA; + static ::javax::swing::text::html::HTML$Tag * TH; + static ::javax::swing::text::html::HTML$Tag * TITLE; + static ::javax::swing::text::html::HTML$Tag * TR; + static ::javax::swing::text::html::HTML$Tag * TT; + static ::javax::swing::text::html::HTML$Tag * U; + static ::javax::swing::text::html::HTML$Tag * UL; + static ::javax::swing::text::html::HTML$Tag * VAR; +private: + static const jint TOTAL_SYNTHETIC_TAGS = 3; +public: + static ::javax::swing::text::html::HTML$Tag * COMMENT; + static ::javax::swing::text::html::HTML$Tag * CONTENT; + static ::javax::swing::text::html::HTML$Tag * IMPLIED; +public: // actually package-private + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + jint flags; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTML$Tag__ diff --git a/libjava/javax/swing/text/html/HTML$UnknownTag.h b/libjava/javax/swing/text/html/HTML$UnknownTag.h new file mode 100644 index 00000000000..e499c01ccae --- /dev/null +++ b/libjava/javax/swing/text/html/HTML$UnknownTag.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTML$UnknownTag__ +#define __javax_swing_text_html_HTML$UnknownTag__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTML$UnknownTag; + } + } + } + } +} + +class javax::swing::text::html::HTML$UnknownTag : public ::javax::swing::text::html::HTML$Tag +{ + +public: + HTML$UnknownTag(::java::lang::String *); +private: + static const jlong serialVersionUID = -1534369342247250625LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTML$UnknownTag__ diff --git a/libjava/javax/swing/text/html/HTML.h b/libjava/javax/swing/text/html/HTML.h new file mode 100644 index 00000000000..84dd640edc8 --- /dev/null +++ b/libjava/javax/swing/text/html/HTML.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTML__ +#define __javax_swing_text_html_HTML__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + namespace html + { + class HTML; + class HTML$Attribute; + class HTML$Tag; + } + } + } + } +} + +class javax::swing::text::html::HTML : public ::java::lang::Object +{ + +public: + HTML(); + static JArray< ::javax::swing::text::html::HTML$Attribute * > * getAllAttributeKeys(); + static JArray< ::javax::swing::text::html::HTML$Tag * > * getAllTags(); + static ::javax::swing::text::html::HTML$Attribute * getAttributeKey(::java::lang::String *); + static jint getIntegerAttributeValue(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::HTML$Attribute *, jint); + static ::javax::swing::text::html::HTML$Tag * getTag(::java::lang::String *); + static ::java::lang::String * NULL_ATTRIBUTE_VALUE; +public: // actually package-private + static const jint BREAKS = 1; + static const jint BLOCK = 2; + static const jint PREFORMATTED = 4; + static const jint SYNTHETIC = 8; +private: + static ::java::util::Map * tagMap; + static ::java::util::Map * attrMap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTML__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$1.h b/libjava/javax/swing/text/html/HTMLDocument$1.h new file mode 100644 index 00000000000..ff1f7b0a46f --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$1.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$1__ +#define __javax_swing_text_html_HTMLDocument$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLDocument$1; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$1 : public ::javax::swing::text::html::HTMLDocument$HTMLReader +{ + +public: // actually package-private + HTMLDocument$1(::javax::swing::text::html::HTMLDocument *, jint, jint, jint, ::javax::swing::text::html::HTML$Tag *); +public: + void handleStartTag(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *, jint); + void handleEndTag(::javax::swing::text::html::HTML$Tag *, jint); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$1__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$BlockElement.h b/libjava/javax/swing/text/html/HTMLDocument$BlockElement.h new file mode 100644 index 00000000000..efcaa223b47 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$BlockElement.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$BlockElement__ +#define __javax_swing_text_html_HTMLDocument$BlockElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Element; + namespace html + { + class HTMLDocument; + class HTMLDocument$BlockElement; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$BlockElement : public ::javax::swing::text::AbstractDocument$BranchElement +{ + +public: + HTMLDocument$BlockElement(::javax::swing::text::html::HTMLDocument *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual ::java::lang::String * getName(); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$BranchElement)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$BlockElement__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.h new file mode 100644 index 00000000000..0a6bd0daa03 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$AreaAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$AreaAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$AreaAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$AreaAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$AreaAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$AreaAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$AreaAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.h new file mode 100644 index 00000000000..61e8e538555 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BaseAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$BaseAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$BaseAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$BaseAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$BaseAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$BaseAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$BaseAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.h new file mode 100644 index 00000000000..52c202de24e --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$BlockAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$BlockAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$BlockAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$BlockAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: + HTMLDocument$HTMLReader$BlockAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$BlockAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.h new file mode 100644 index 00000000000..b8ae46357d4 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$CharacterAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$CharacterAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$CharacterAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$CharacterAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$CharacterAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: + HTMLDocument$HTMLReader$CharacterAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$CharacterAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.h new file mode 100644 index 00000000000..a58531a128a --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ConvertAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$ConvertAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$ConvertAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$ConvertAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$ConvertAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$ConvertAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$ConvertAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.h new file mode 100644 index 00000000000..263088b5aca --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormAction.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$FormAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$FormAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$FormAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$FormAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$SpecialAction +{ + +public: + HTMLDocument$HTMLReader$FormAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +private: + void setModel(::java::lang::String *, ::javax::swing::text::MutableAttributeSet *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$SpecialAction)))) this$1; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$FormAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.h new file mode 100644 index 00000000000..e2e93a12b0b --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$FormTagAction.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$FormTagAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$FormTagAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$FormTagAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$FormTagAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$FormTagAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$FormTagAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.h new file mode 100644 index 00000000000..c150be73ab8 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HeadAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$HeadAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$HeadAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$HeadAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$HeadAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$HeadAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$HeadAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.h new file mode 100644 index 00000000000..a7399eac4e9 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$HiddenAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$HiddenAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$HiddenAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$HiddenAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$HiddenAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: + HTMLDocument$HTMLReader$HiddenAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$HiddenAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.h new file mode 100644 index 00000000000..3457ed56cfc --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$IsindexAction.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$IsindexAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$IsindexAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$IsindexAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$IsindexAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: + HTMLDocument$HTMLReader$IsindexAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$IsindexAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.h new file mode 100644 index 00000000000..2d73af7507d --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$LinkAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$LinkAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$LinkAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$LinkAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$LinkAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$HiddenAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$LinkAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$HiddenAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$LinkAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.h new file mode 100644 index 00000000000..1b42e2f38e7 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MapAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$MapAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$MapAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$MapAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$MapAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$MapAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$MapAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.h new file mode 100644 index 00000000000..a00b9fa2284 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$MetaAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$MetaAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$MetaAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$MetaAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$MetaAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$MetaAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$MetaAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.h new file mode 100644 index 00000000000..8c816a79ebf --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$ParagraphAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$ParagraphAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$ParagraphAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$ParagraphAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$ParagraphAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction +{ + +public: + HTMLDocument$HTMLReader$ParagraphAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$ParagraphAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.h new file mode 100644 index 00000000000..1f5e38fd450 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$PreAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$PreAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$PreAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$PreAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$PreAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction +{ + +public: + HTMLDocument$HTMLReader$PreAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$BlockAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$PreAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.h new file mode 100644 index 00000000000..c1005e6fbf8 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$SpecialAction.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$SpecialAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$SpecialAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$SpecialAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$SpecialAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: + HTMLDocument$HTMLReader$SpecialAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$SpecialAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.h new file mode 100644 index 00000000000..36feb57a007 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$StyleAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$StyleAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$StyleAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$StyleAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$StyleAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$StyleAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$StyleAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.h new file mode 100644 index 00000000000..10550400bfa --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TagAction.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$TagAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$TagAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$TagAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$TagAction : public ::java::lang::Object +{ + +public: + HTMLDocument$HTMLReader$TagAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$TagAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.h new file mode 100644 index 00000000000..4b7a8fe6912 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader$TitleAction.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader$TitleAction__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader$TitleAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$TitleAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader$TitleAction : public ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction +{ + +public: // actually package-private + HTMLDocument$HTMLReader$TitleAction(::javax::swing::text::html::HTMLDocument$HTMLReader *); +public: + virtual void start(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); + virtual void end(::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument$HTMLReader * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction)))) this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader$TitleAction__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$HTMLReader.h b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader.h new file mode 100644 index 00000000000..57c250f6bbb --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$HTMLReader.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$HTMLReader__ +#define __javax_swing_text_html_HTMLDocument$HTMLReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLDocument$HTMLReader; + class HTMLDocument$HTMLReader$TagAction; + class Option; + class ResetablePlainDocument; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$HTMLReader : public ::javax::swing::text::html::HTMLEditorKit$ParserCallback +{ + +public: + HTMLDocument$HTMLReader(::javax::swing::text::html::HTMLDocument *, jint); + HTMLDocument$HTMLReader(::javax::swing::text::html::HTMLDocument *, jint, jint, jint, ::javax::swing::text::html::HTML$Tag *); +public: // actually package-private + virtual void initTags(); +public: // actually protected + virtual void pushCharacterStyle(); + virtual void popCharacterStyle(); + virtual void registerTag(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTMLDocument$HTMLReader$TagAction *); +public: + virtual void flush(); +private: + void flushImpl(); +public: + virtual void handleText(JArray< jchar > *, jint); +private: + jboolean shouldInsert(); +public: + virtual void handleStartTag(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *, jint); + virtual void handleComment(JArray< jchar > *, jint); + virtual void handleEndTag(::javax::swing::text::html::HTML$Tag *, jint); + virtual void handleSimpleTag(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *, jint); + virtual void handleEndOfLineString(::java::lang::String *); +public: // actually protected + virtual void textAreaContent(JArray< jchar > *); + virtual void preContent(JArray< jchar > *); + virtual void blockOpen(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +private: + jboolean inParagraph(); + jboolean inImpliedParagraph(); +public: // actually protected + virtual void blockClose(::javax::swing::text::html::HTML$Tag *); + virtual void addContent(JArray< jchar > *, jint, jint); + virtual void addContent(JArray< jchar > *, jint, jint, jboolean); + virtual void addSpecialElement(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *); +public: // actually package-private + static ::javax::swing::text::html::HTMLDocument * access$0(::javax::swing::text::html::HTMLDocument$HTMLReader *); +private: + static const jint MAX_THRESHOLD = 10000; + static const jint GROW_THRESHOLD = 5; +public: // actually protected + ::javax::swing::text::MutableAttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLEditorKit$ParserCallback)))) charAttr; + ::java::util::Vector * parseBuffer; +private: + ::java::util::Stack * parseStack; +public: // actually package-private + ::java::util::Stack * charAttrStack; + ::java::util::HashMap * tagToAction; + jboolean endHTMLEncountered; + jint popDepth; + jint pushDepth; + jint offset; + ::javax::swing::text::html::HTML$Tag * insertTag; + jboolean insertTagEncountered; + jboolean debug; + jboolean inPreTag; + jboolean inStyleTag; + jboolean inTextArea; + ::java::util::ArrayList * styles; + ::javax::swing::text::html::ResetablePlainDocument * textAreaDocument; + ::java::lang::Object * selectModel; + ::javax::swing::text::html::Option * option; + jint numOptions; + ::java::util::HashMap * buttonGroups; +private: + jint threshold; +public: // actually package-private + ::javax::swing::text::html::HTMLDocument * this$0; + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$HTMLReader__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$Iterator.h b/libjava/javax/swing/text/html/HTMLDocument$Iterator.h new file mode 100644 index 00000000000..3b42157ef10 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$Iterator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$Iterator__ +#define __javax_swing_text_html_HTMLDocument$Iterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + namespace html + { + class HTML$Tag; + class HTMLDocument$Iterator; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$Iterator : public ::java::lang::Object +{ + +public: + HTMLDocument$Iterator(); + virtual ::javax::swing::text::AttributeSet * getAttributes() = 0; + virtual jint getEndOffset() = 0; + virtual jint getStartOffset() = 0; + virtual void next() = 0; + virtual jboolean isValid() = 0; + virtual ::javax::swing::text::html::HTML$Tag * getTag() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$Iterator__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$LeafIterator.h b/libjava/javax/swing/text/html/HTMLDocument$LeafIterator.h new file mode 100644 index 00000000000..d449c79833b --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$LeafIterator.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$LeafIterator__ +#define __javax_swing_text_html_HTMLDocument$LeafIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class ElementIterator; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLDocument$LeafIterator; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$LeafIterator : public ::javax::swing::text::html::HTMLDocument$Iterator +{ + +public: + HTMLDocument$LeafIterator(::javax::swing::text::html::HTMLDocument *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTMLDocument *); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual jint getEndOffset(); + virtual jint getStartOffset(); + virtual void next(); + virtual jboolean isValid(); + virtual ::javax::swing::text::html::HTML$Tag * getTag(); +public: // actually package-private + ::javax::swing::text::html::HTML$Tag * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLDocument$Iterator)))) tag; + ::javax::swing::text::html::HTMLDocument * doc; + ::javax::swing::text::ElementIterator * it; + ::javax::swing::text::html::HTMLDocument * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$LeafIterator__ diff --git a/libjava/javax/swing/text/html/HTMLDocument$RunElement.h b/libjava/javax/swing/text/html/HTMLDocument$RunElement.h new file mode 100644 index 00000000000..f0c65d99c2d --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument$RunElement.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument$RunElement__ +#define __javax_swing_text_html_HTMLDocument$RunElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Element; + namespace html + { + class HTMLDocument; + class HTMLDocument$RunElement; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument$RunElement : public ::javax::swing::text::AbstractDocument$LeafElement +{ + +public: + HTMLDocument$RunElement(::javax::swing::text::html::HTMLDocument *, ::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *, jint, jint); + virtual ::java::lang::String * getName(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); +public: // actually package-private + ::javax::swing::text::html::HTMLDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$LeafElement)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument$RunElement__ diff --git a/libjava/javax/swing/text/html/HTMLDocument.h b/libjava/javax/swing/text/html/HTMLDocument.h new file mode 100644 index 00000000000..014f818af3a --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLDocument.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLDocument__ +#define __javax_swing_text_html_HTMLDocument__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AbstractDocument$AbstractElement; + class AbstractDocument$AttributeContext; + class AbstractDocument$Content; + class AbstractDocument$DefaultDocumentEvent; + class AttributeSet; + class DefaultStyledDocument$ElementSpec; + class Element; + namespace html + { + class HTML$Attribute; + class HTML$Tag; + class HTMLDocument; + class HTMLDocument$Iterator; + class HTMLEditorKit$Parser; + class HTMLEditorKit$ParserCallback; + class HTMLFrameHyperlinkEvent; + class StyleSheet; + } + } + } + } +} + +class javax::swing::text::html::HTMLDocument : public ::javax::swing::text::DefaultStyledDocument +{ + +public: + HTMLDocument(); + HTMLDocument(::javax::swing::text::html::StyleSheet *); + HTMLDocument(::javax::swing::text::AbstractDocument$Content *, ::javax::swing::text::html::StyleSheet *); + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); +public: // actually protected + virtual ::javax::swing::text::AbstractDocument$AbstractElement * createDefaultRoot(); + virtual ::javax::swing::text::Element * createLeafElement(::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *, jint, jint); + virtual ::javax::swing::text::Element * createBranchElement(::javax::swing::text::Element *, ::javax::swing::text::AttributeSet *); +public: + virtual ::javax::swing::text::html::HTMLEditorKit$Parser * getParser(); + virtual void setParser(::javax::swing::text::html::HTMLEditorKit$Parser *); + virtual void setTokenThreshold(jint); + virtual jint getTokenThreshold(); + virtual ::java::net::URL * getBase(); + virtual void setBase(::java::net::URL *); + virtual jboolean getPreservesUnknownTags(); + virtual void setPreservesUnknownTags(jboolean); + virtual void processHTMLFrameHyperlinkEvent(::javax::swing::text::html::HTMLFrameHyperlinkEvent *); +private: + ::javax::swing::text::Element * findFrame(::java::lang::String *); + void updateFrame(::javax::swing::text::Element *, ::java::net::URL *); + void updateFrameSet(::javax::swing::text::Element *, ::java::net::URL *); +public: + virtual ::javax::swing::text::html::HTMLDocument$Iterator * getIterator(::javax::swing::text::html::HTML$Tag *); + virtual ::javax::swing::text::html::HTMLEditorKit$ParserCallback * getReader(jint); + virtual ::javax::swing::text::html::HTMLEditorKit$ParserCallback * getReader(jint, jint, jint, ::javax::swing::text::html::HTML$Tag *); + virtual ::javax::swing::text::html::HTMLEditorKit$ParserCallback * getInsertingReader(jint, jint, jint, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::Element *); + virtual ::javax::swing::text::Element * getElement(::javax::swing::text::Element *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::javax::swing::text::Element * getElement(::java::lang::String *); + virtual void setInnerHTML(::javax::swing::text::Element *, ::java::lang::String *); + virtual void setOuterHTML(::javax::swing::text::Element *, ::java::lang::String *); + virtual void insertBeforeStart(::javax::swing::text::Element *, ::java::lang::String *); + virtual void insertBeforeEnd(::javax::swing::text::Element *, ::java::lang::String *); + virtual void insertAfterEnd(::javax::swing::text::Element *, ::java::lang::String *); + virtual void insertAfterStart(::javax::swing::text::Element *, ::java::lang::String *); +public: // actually protected + virtual void insertUpdate(::javax::swing::text::AbstractDocument$DefaultDocumentEvent *, ::javax::swing::text::AttributeSet *); +public: // actually package-private + virtual jboolean isFrameDocument(); + virtual void setFrameDocument(jboolean); + virtual ::java::lang::String * getBaseTarget(); + virtual void updateSpecialClass(::javax::swing::text::Element *, ::javax::swing::text::html::HTML$Attribute *, ::java::lang::String *); + static void access$0(::javax::swing::text::html::HTMLDocument *, JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); + static void access$1(::javax::swing::text::html::HTMLDocument *, jint, JArray< ::javax::swing::text::DefaultStyledDocument$ElementSpec * > *); + static ::javax::swing::text::AbstractDocument$AttributeContext * access$2(::javax::swing::text::html::HTMLDocument *); +public: + static ::java::lang::String * AdditionalComments; +public: // actually package-private + ::java::net::URL * __attribute__((aligned(__alignof__( ::javax::swing::text::DefaultStyledDocument)))) baseURL; + jboolean preservesUnknownTags; + jint tokenThreshold; + ::javax::swing::text::html::HTMLEditorKit$Parser * parser; +private: + jboolean frameDocument; +public: // actually package-private + ::java::lang::String * baseTarget; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLDocument__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit$HTMLFactory.h b/libjava/javax/swing/text/html/HTMLEditorKit$HTMLFactory.h new file mode 100644 index 00000000000..8780e781a67 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit$HTMLFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit$HTMLFactory__ +#define __javax_swing_text_html_HTMLEditorKit$HTMLFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class View; + namespace html + { + class HTMLEditorKit$HTMLFactory; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit$HTMLFactory : public ::java::lang::Object +{ + +public: + HTMLEditorKit$HTMLFactory(); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit$HTMLFactory__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.h b/libjava/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.h new file mode 100644 index 00000000000..05cf7f3e5f5 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit$HTMLTextAction.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit$HTMLTextAction__ +#define __javax_swing_text_html_HTMLEditorKit$HTMLTextAction__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class JEditorPane; + namespace text + { + class Element; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLEditorKit; + class HTMLEditorKit$HTMLTextAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit$HTMLTextAction : public ::javax::swing::text::StyledEditorKit$StyledTextAction +{ + +public: + HTMLEditorKit$HTMLTextAction(::java::lang::String *); +public: // actually protected + virtual ::javax::swing::text::html::HTMLDocument * getHTMLDocument(::javax::swing::JEditorPane *); + virtual ::javax::swing::text::html::HTMLEditorKit * getHTMLEditorKit(::javax::swing::JEditorPane *); + virtual JArray< ::javax::swing::text::Element * > * getElementsAt(::javax::swing::text::html::HTMLDocument *, jint); +private: + JArray< ::javax::swing::text::Element * > * getElementsAt(::javax::swing::text::Element *, jint, jint); +public: // actually protected + virtual jint elementCountToTag(::javax::swing::text::html::HTMLDocument *, jint, ::javax::swing::text::html::HTML$Tag *); + virtual ::javax::swing::text::Element * findElementMatchingTag(::javax::swing::text::html::HTMLDocument *, jint, ::javax::swing::text::html::HTML$Tag *); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit$HTMLTextAction__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.h b/libjava/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.h new file mode 100644 index 00000000000..187c7a8ee76 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit$InsertHTMLTextAction.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit$InsertHTMLTextAction__ +#define __javax_swing_text_html_HTMLEditorKit$InsertHTMLTextAction__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class JEditorPane; + namespace text + { + class Element; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLEditorKit$InsertHTMLTextAction; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit$InsertHTMLTextAction : public ::javax::swing::text::html::HTMLEditorKit$HTMLTextAction +{ + +public: + HTMLEditorKit$InsertHTMLTextAction(::java::lang::String *, ::java::lang::String *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *); + HTMLEditorKit$InsertHTMLTextAction(::java::lang::String *, ::java::lang::String *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *); +public: // actually protected + virtual void insertHTML(::javax::swing::JEditorPane *, ::javax::swing::text::html::HTMLDocument *, jint, ::java::lang::String *, jint, jint, ::javax::swing::text::html::HTML$Tag *); + virtual void insertAtBoundary(::javax::swing::JEditorPane *, ::javax::swing::text::html::HTMLDocument *, jint, ::javax::swing::text::Element *, ::java::lang::String *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *); + virtual void insertAtBoundry(::javax::swing::JEditorPane *, ::javax::swing::text::html::HTMLDocument *, jint, ::javax::swing::text::Element *, ::java::lang::String *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *); +public: + virtual void actionPerformed(::java::awt::event::ActionEvent *); +private: + jboolean tryInsert(::javax::swing::JEditorPane *, ::javax::swing::text::html::HTMLDocument *, jint, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::html::HTML$Tag *); + void adjustSelection(::javax::swing::JEditorPane *, ::javax::swing::text::html::HTMLDocument *, jint, jint); +public: // actually protected + ::javax::swing::text::html::HTML$Tag * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLEditorKit$HTMLTextAction)))) addTag; + ::javax::swing::text::html::HTML$Tag * alternateAddTag; + ::javax::swing::text::html::HTML$Tag * alternateParentTag; + ::java::lang::String * html; + ::javax::swing::text::html::HTML$Tag * parentTag; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit$InsertHTMLTextAction__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit$LinkController.h b/libjava/javax/swing/text/html/HTMLEditorKit$LinkController.h new file mode 100644 index 00000000000..629cc679e6d --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit$LinkController.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit$LinkController__ +#define __javax_swing_text_html_HTMLEditorKit$LinkController__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + namespace event + { + class MouseEvent; + } + } + } + namespace javax + { + namespace swing + { + class JEditorPane; + namespace event + { + class HyperlinkEvent; + } + namespace text + { + class AttributeSet; + class Element; + namespace html + { + class HTMLDocument; + class HTMLEditorKit$LinkController; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit$LinkController : public ::java::awt::event::MouseAdapter +{ + +public: + HTMLEditorKit$LinkController(); + virtual void mouseClicked(::java::awt::event::MouseEvent *); + virtual void mouseDragged(::java::awt::event::MouseEvent *); + virtual void mouseMoved(::java::awt::event::MouseEvent *); +public: // actually protected + virtual void activateLink(jint, ::javax::swing::JEditorPane *); +private: + void activateLink(jint, ::javax::swing::JEditorPane *, jint, jint); + ::javax::swing::event::HyperlinkEvent * createHyperlinkEvent(::javax::swing::JEditorPane *, ::javax::swing::text::html::HTMLDocument *, ::java::lang::String *, ::javax::swing::text::AttributeSet *, ::javax::swing::text::Element *); + ::javax::swing::text::Element * __attribute__((aligned(__alignof__( ::java::awt::event::MouseAdapter)))) lastAnchorElement; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit$LinkController__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit$Parser.h b/libjava/javax/swing/text/html/HTMLEditorKit$Parser.h new file mode 100644 index 00000000000..8727c6ca646 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit$Parser.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit$Parser__ +#define __javax_swing_text_html_HTMLEditorKit$Parser__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTMLEditorKit$Parser; + class HTMLEditorKit$ParserCallback; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit$Parser : public ::java::lang::Object +{ + +public: + HTMLEditorKit$Parser(); + virtual void parse(::java::io::Reader *, ::javax::swing::text::html::HTMLEditorKit$ParserCallback *, jboolean) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit$Parser__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit$ParserCallback.h b/libjava/javax/swing/text/html/HTMLEditorKit$ParserCallback.h new file mode 100644 index 00000000000..83dffff9405 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit$ParserCallback.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit$ParserCallback__ +#define __javax_swing_text_html_HTMLEditorKit$ParserCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class MutableAttributeSet; + namespace html + { + class HTML$Tag; + class HTMLEditorKit$ParserCallback; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit$ParserCallback : public ::java::lang::Object +{ + +public: + HTMLEditorKit$ParserCallback(); + virtual void flush(); + virtual void handleComment(JArray< jchar > *, jint); + virtual void handleEndOfLineString(::java::lang::String *); + virtual void handleEndTag(::javax::swing::text::html::HTML$Tag *, jint); + virtual void handleError(::java::lang::String *, jint); + virtual void handleSimpleTag(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *, jint); + virtual void handleStartTag(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *, jint); + virtual void handleText(JArray< jchar > *, jint); + static ::java::lang::Object * IMPLIED; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit$ParserCallback__ diff --git a/libjava/javax/swing/text/html/HTMLEditorKit.h b/libjava/javax/swing/text/html/HTMLEditorKit.h new file mode 100644 index 00000000000..4c3bc412c39 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLEditorKit.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLEditorKit__ +#define __javax_swing_text_html_HTMLEditorKit__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Cursor; + } + } + namespace javax + { + namespace accessibility + { + class AccessibleContext; + } + namespace swing + { + class Action; + class JEditorPane; + namespace text + { + class Document; + class Element; + class MutableAttributeSet; + class ViewFactory; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLEditorKit; + class HTMLEditorKit$HTMLFactory; + class HTMLEditorKit$LinkController; + class HTMLEditorKit$Parser; + class StyleSheet; + } + } + } + } +} + +class javax::swing::text::html::HTMLEditorKit : public ::javax::swing::text::StyledEditorKit +{ + +public: + HTMLEditorKit(); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); + virtual ::javax::swing::text::Document * createDefaultDocument(); +public: // actually protected + virtual ::javax::swing::text::html::HTMLEditorKit$Parser * getParser(); +public: + virtual void insertHTML(::javax::swing::text::html::HTMLDocument *, jint, ::java::lang::String *, jint, jint, ::javax::swing::text::html::HTML$Tag *); + virtual void read(::java::io::Reader *, ::javax::swing::text::Document *, jint); + virtual void write(::java::io::Writer *, ::javax::swing::text::Document *, jint, jint); + virtual ::java::lang::String * getContentType(); + virtual ::java::lang::Object * clone(); +public: // actually protected + virtual void createInputAttributes(::javax::swing::text::Element *, ::javax::swing::text::MutableAttributeSet *); +public: + virtual void install(::javax::swing::JEditorPane *); + virtual void deinstall(::javax::swing::JEditorPane *); + virtual ::javax::accessibility::AccessibleContext * getAccessibleContext(); + virtual JArray< ::javax::swing::Action * > * getActions(); + virtual ::java::awt::Cursor * getDefaultCursor(); + virtual ::java::awt::Cursor * getLinkCursor(); + virtual void setLinkCursor(::java::awt::Cursor *); + virtual void setDefaultCursor(::java::awt::Cursor *); + virtual ::javax::swing::text::MutableAttributeSet * getInputAttributes(); + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); + virtual void setStyleSheet(::javax::swing::text::html::StyleSheet *); + virtual jboolean isAutoFormSubmission(); + virtual void setAutoFormSubmission(jboolean); +private: + static const jlong serialVersionUID = 8751997116710384592LL; +public: + static ::java::lang::String * DEFAULT_CSS; + static ::java::lang::String * BOLD_ACTION; + static ::java::lang::String * ITALIC_ACTION; + static ::java::lang::String * COLOR_ACTION; + static ::java::lang::String * FONT_CHANGE_BIGGER; + static ::java::lang::String * FONT_CHANGE_SMALLER; + static ::java::lang::String * IMG_ALIGN_BOTTOM; + static ::java::lang::String * IMG_ALIGN_MIDDLE; + static ::java::lang::String * IMG_ALIGN_TOP; + static ::java::lang::String * IMG_BORDER; + static ::java::lang::String * LOGICAL_STYLE_ACTION; + static ::java::lang::String * PARA_INDENT_LEFT; + static ::java::lang::String * PARA_INDENT_RIGHT; +private: + static JArray< ::javax::swing::Action * > * defaultActions; + ::javax::swing::text::html::StyleSheet * __attribute__((aligned(__alignof__( ::javax::swing::text::StyledEditorKit)))) styleSheet; +public: // actually package-private + ::javax::swing::text::html::HTMLEditorKit$HTMLFactory * viewFactory; + ::java::awt::Cursor * linkCursor; + ::java::awt::Cursor * defaultCursor; + ::javax::swing::text::html::HTMLEditorKit$Parser * parser; +private: + ::javax::swing::text::html::HTMLEditorKit$LinkController * linkController; +public: // actually package-private + ::java::lang::String * contentType; + ::javax::swing::text::MutableAttributeSet * inputAttributes; + ::javax::swing::JEditorPane * editorPane; +private: + jboolean autoFormSubmission; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLEditorKit__ diff --git a/libjava/javax/swing/text/html/HTMLFrameHyperlinkEvent.h b/libjava/javax/swing/text/html/HTMLFrameHyperlinkEvent.h new file mode 100644 index 00000000000..140395092ac --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLFrameHyperlinkEvent.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLFrameHyperlinkEvent__ +#define __javax_swing_text_html_HTMLFrameHyperlinkEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class HyperlinkEvent$EventType; + } + namespace text + { + class Element; + namespace html + { + class HTMLFrameHyperlinkEvent; + } + } + } + } +} + +class javax::swing::text::html::HTMLFrameHyperlinkEvent : public ::javax::swing::event::HyperlinkEvent +{ + +public: + HTMLFrameHyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::javax::swing::text::Element *, ::java::lang::String *); + HTMLFrameHyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::java::lang::String *); + HTMLFrameHyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::java::lang::String *, ::javax::swing::text::Element *, ::java::lang::String *); + HTMLFrameHyperlinkEvent(::java::lang::Object *, ::javax::swing::event::HyperlinkEvent$EventType *, ::java::net::URL *, ::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getTarget(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::event::HyperlinkEvent)))) target_frame; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLFrameHyperlinkEvent__ diff --git a/libjava/javax/swing/text/html/HTMLWriter.h b/libjava/javax/swing/text/html/HTMLWriter.h new file mode 100644 index 00000000000..321b58d1020 --- /dev/null +++ b/libjava/javax/swing/text/html/HTMLWriter.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_HTMLWriter__ +#define __javax_swing_text_html_HTMLWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Element; + namespace html + { + class HTML$Tag; + class HTMLDocument; + class HTMLWriter; + class Option; + } + } + } + } +} + +class javax::swing::text::html::HTMLWriter : public ::javax::swing::text::AbstractWriter +{ + +public: + HTMLWriter(::java::io::Writer *, ::javax::swing::text::html::HTMLDocument *); + HTMLWriter(::java::io::Writer *, ::javax::swing::text::html::HTMLDocument *, jint, jint); + virtual void write(); +public: // actually protected + virtual void writeAttributes(::javax::swing::text::AttributeSet *); + virtual void emptyTag(::javax::swing::text::Element *); + virtual jboolean isBlockTag(::javax::swing::text::AttributeSet *); + virtual void startTag(::javax::swing::text::Element *); + virtual void textAreaContent(::javax::swing::text::AttributeSet *); + virtual void text(::javax::swing::text::Element *); + virtual void selectContent(::javax::swing::text::AttributeSet *); + virtual void writeOption(::javax::swing::text::html::Option *); + virtual void endTag(::javax::swing::text::Element *); + virtual void comment(::javax::swing::text::Element *); + virtual jboolean synthesizedElement(::javax::swing::text::Element *); + virtual jboolean matchNameAttribute(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::HTML$Tag *); + virtual void writeEmbeddedTags(::javax::swing::text::AttributeSet *); + virtual void closeOutUnwantedEmbeddedTags(::javax::swing::text::AttributeSet *); + virtual void writeLineSeparator(); + virtual void output(JArray< jchar > *, jint, jint); +private: + void traverse(::javax::swing::text::Element *); + void traverseHtmlFragment(::javax::swing::text::Element *); + void writeRaw(::java::lang::String *); + void writeContent(::java::lang::String *); + void writeAllAttributes(::javax::swing::text::AttributeSet *); + jboolean hasHtmlEntity(::java::lang::String *); + jboolean isCharHtmlEntity(jchar); + ::java::lang::String * escapeCharHtmlEntity(jchar); + ::java::io::Writer * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractWriter)))) outWriter; + ::javax::swing::text::html::HTMLDocument * htmlDoc; + ::java::util::HashSet * openEmbededTagHashSet; + ::java::lang::String * new_line_str; + JArray< jchar > * html_entity_char_arr; + JArray< ::java::lang::String * > * html_entity_escape_str_arr; + jint doc_pos; + jint doc_len; + jint doc_offset_remaining; + jint doc_len_remaining; + ::java::util::HashSet * htmlFragmentParentHashSet; + ::javax::swing::text::Element * startElem; + ::javax::swing::text::Element * endElem; + jboolean fg_pass_start_elem; + jboolean fg_pass_end_elem; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_HTMLWriter__ diff --git a/libjava/javax/swing/text/html/ImageView$1.h b/libjava/javax/swing/text/html/ImageView$1.h new file mode 100644 index 00000000000..23140f92f91 --- /dev/null +++ b/libjava/javax/swing/text/html/ImageView$1.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ImageView$1__ +#define __javax_swing_text_html_ImageView$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class View; + namespace html + { + class ImageView; + class ImageView$1; + } + } + } + } +} + +class javax::swing::text::html::ImageView$1 : public ::java::lang::Object +{ + +public: // actually package-private + ImageView$1(::javax::swing::text::html::ImageView *, ::javax::swing::text::View *, jboolean, jboolean); +public: + void run(); +public: // actually package-private + ::javax::swing::text::html::ImageView * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::javax::swing::text::View * val$v; + jboolean val$width; + jboolean val$height; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ImageView$1__ diff --git a/libjava/javax/swing/text/html/ImageView$Observer.h b/libjava/javax/swing/text/html/ImageView$Observer.h new file mode 100644 index 00000000000..be4b8dbf9dc --- /dev/null +++ b/libjava/javax/swing/text/html/ImageView$Observer.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ImageView$Observer__ +#define __javax_swing_text_html_ImageView$Observer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Image; + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ImageView; + class ImageView$Observer; + } + } + } + } +} + +class javax::swing::text::html::ImageView$Observer : public ::java::lang::Object +{ + +public: // actually package-private + ImageView$Observer(::javax::swing::text::html::ImageView *); +public: + virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint); +public: // actually package-private + ::javax::swing::text::html::ImageView * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ImageView$Observer__ diff --git a/libjava/javax/swing/text/html/ImageView.h b/libjava/javax/swing/text/html/ImageView.h new file mode 100644 index 00000000000..91b96bc012b --- /dev/null +++ b/libjava/javax/swing/text/html/ImageView.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ImageView__ +#define __javax_swing_text_html_ImageView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Length; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Image; + class Shape; + namespace image + { + class ImageObserver; + } + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + class Icon; + namespace text + { + class AttributeSet; + class Element; + class Position$Bias; + class View; + namespace html + { + class ImageView; + class StyleSheet; + } + } + } + } +} + +class javax::swing::text::html::ImageView : public ::javax::swing::text::View +{ + +public: + ImageView(::javax::swing::text::Element *); +private: + void reloadImage(); +public: + virtual jfloat getAlignment(jint); + virtual ::java::lang::String * getAltText(); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual ::java::awt::Image * getImage(); + virtual ::java::net::URL * getImageURL(); + virtual ::javax::swing::Icon * getLoadingImageIcon(); + virtual jboolean getLoadsSynchronously(); + virtual ::javax::swing::Icon * getNoImageIcon(); + virtual jfloat getPreferredSpan(jint); +public: // actually protected + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); +public: + virtual ::java::lang::String * getToolTipText(jfloat, jfloat, ::java::awt::Shape *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual void setLoadsSynchronously(jboolean); +public: // actually protected + virtual void setPropertiesFromAttributes(); +public: + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual void setSize(jfloat, jfloat); +private: + void updateState(); + void loadImage(); + void updateSize(); +public: // actually package-private + virtual void safePreferenceChanged(::javax::swing::text::View *, jboolean, jboolean); + jboolean __attribute__((aligned(__alignof__( ::javax::swing::text::View)))) loadOnDemand; + ::java::awt::Image * image; + jbyte imageState; +private: + jboolean reloadImage__; + jboolean reloadProperties; + jboolean haveWidth; + jboolean haveHeight; + jboolean loading; + jint width; + jint height; + ::java::awt::image::ImageObserver * observer; +public: // actually package-private + JArray< ::gnu::javax::swing::text::html::css::Length * > * spans; +private: + ::javax::swing::text::AttributeSet * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ImageView__ diff --git a/libjava/javax/swing/text/html/InlineView.h b/libjava/javax/swing/text/html/InlineView.h new file mode 100644 index 00000000000..0d552dd7e8d --- /dev/null +++ b/libjava/javax/swing/text/html/InlineView.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_InlineView__ +#define __javax_swing_text_html_InlineView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class DocumentEvent; + } + namespace text + { + class AttributeSet; + class Element; + class View; + class ViewFactory; + namespace html + { + class InlineView; + class StyleSheet; + } + } + } + } +} + +class javax::swing::text::html::InlineView : public ::javax::swing::text::LabelView +{ + +public: + InlineView(::javax::swing::text::Element *); + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual jint getBreakWeight(jint, jfloat, jfloat); + virtual ::javax::swing::text::View * breakView(jint, jint, jfloat, jfloat); +public: // actually protected + virtual void setPropertiesFromAttributes(); + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); +public: + virtual jfloat getMinimumSpan(jint); +private: + jfloat getLongestWord(); + jfloat calculateLongestWord(); + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::LabelView)))) attributes; + jfloat longestWord; + jboolean nowrap; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_InlineView__ diff --git a/libjava/javax/swing/text/html/ListView.h b/libjava/javax/swing/text/html/ListView.h new file mode 100644 index 00000000000..7e179a90c69 --- /dev/null +++ b/libjava/javax/swing/text/html/ListView.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ListView__ +#define __javax_swing_text_html_ListView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + namespace html + { + class ListView; + class StyleSheet$ListPainter; + } + } + } + } +} + +class javax::swing::text::html::ListView : public ::javax::swing::text::html::BlockView +{ + +public: + ListView(::javax::swing::text::Element *); + virtual jfloat getAlignment(jint); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); +public: // actually protected + virtual void paintChild(::java::awt::Graphics *, ::java::awt::Rectangle *, jint); + virtual void setPropertiesFromAttributes(); +private: + ::javax::swing::text::html::StyleSheet$ListPainter * __attribute__((aligned(__alignof__( ::javax::swing::text::html::BlockView)))) painter; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ListView__ diff --git a/libjava/javax/swing/text/html/MinimalHTMLWriter.h b/libjava/javax/swing/text/html/MinimalHTMLWriter.h new file mode 100644 index 00000000000..c46afec29b5 --- /dev/null +++ b/libjava/javax/swing/text/html/MinimalHTMLWriter.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_MinimalHTMLWriter__ +#define __javax_swing_text_html_MinimalHTMLWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Element; + class Style; + class StyledDocument; + namespace html + { + class MinimalHTMLWriter; + } + } + } + } +} + +class javax::swing::text::html::MinimalHTMLWriter : public ::javax::swing::text::AbstractWriter +{ + +public: + MinimalHTMLWriter(::java::io::Writer *, ::javax::swing::text::StyledDocument *); + MinimalHTMLWriter(::java::io::Writer *, ::javax::swing::text::StyledDocument *, jint, jint); +public: // actually protected + virtual void startFontTag(::java::lang::String *); + virtual jboolean inFontTag(); + virtual void endFontTag(); +public: + virtual void write(); +public: // actually protected + virtual void writeStartTag(::java::lang::String *); + virtual void writeEndTag(::java::lang::String *); + virtual void writeHeader(); + virtual void writeStartParagraph(::javax::swing::text::Element *); + virtual void writeEndParagraph(); + virtual void writeBody(); + virtual void text(::javax::swing::text::Element *); + virtual void writeHTMLTags(::javax::swing::text::AttributeSet *); + virtual jboolean isText(::javax::swing::text::Element *); + virtual void writeContent(::javax::swing::text::Element *, jboolean); + virtual void writeLeaf(::javax::swing::text::Element *); + virtual void writeNonHTMLAttributes(::javax::swing::text::AttributeSet *); + virtual void writeStyles(); + virtual void writeAttributes(::javax::swing::text::AttributeSet *); + virtual void writeComponent(::javax::swing::text::Element *); + virtual void writeImage(::javax::swing::text::Element *); +private: + ::java::lang::String * getAttribute(::java::lang::String *, ::java::lang::Object *); + ::java::lang::String * getColor(::java::awt::Color *); + void endOpenTags(); + void writeStyle(::javax::swing::text::Style *); + jboolean hasText(::javax::swing::text::Element *); + ::javax::swing::text::StyledDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractWriter)))) doc; + ::java::util::Stack * tagStack; + jboolean inFontTag__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_MinimalHTMLWriter__ diff --git a/libjava/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.h b/libjava/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.h new file mode 100644 index 00000000000..5705c57ad50 --- /dev/null +++ b/libjava/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_MultiAttributeSet$MultiNameEnumeration__ +#define __javax_swing_text_html_MultiAttributeSet$MultiNameEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class MultiAttributeSet; + class MultiAttributeSet$MultiNameEnumeration; + } + } + } + } +} + +class javax::swing::text::html::MultiAttributeSet$MultiNameEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + MultiAttributeSet$MultiNameEnumeration(::javax::swing::text::html::MultiAttributeSet *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index; + ::java::util::Enumeration * current; +public: // actually package-private + ::javax::swing::text::html::MultiAttributeSet * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_MultiAttributeSet$MultiNameEnumeration__ diff --git a/libjava/javax/swing/text/html/MultiAttributeSet.h b/libjava/javax/swing/text/html/MultiAttributeSet.h new file mode 100644 index 00000000000..f189e7c5528 --- /dev/null +++ b/libjava/javax/swing/text/html/MultiAttributeSet.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_MultiAttributeSet__ +#define __javax_swing_text_html_MultiAttributeSet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + namespace html + { + class MultiAttributeSet; + } + } + } + } +} + +class javax::swing::text::html::MultiAttributeSet : public ::java::lang::Object +{ + +public: // actually package-private + MultiAttributeSet(); + MultiAttributeSet(JArray< ::javax::swing::text::AttributeSet * > *); + virtual void init(JArray< ::javax::swing::text::AttributeSet * > *); +public: + virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * copyAttributes(); + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual jint getAttributeCount(); + virtual ::java::util::Enumeration * getAttributeNames(); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); + virtual jboolean isDefined(::java::lang::Object *); + virtual jboolean isEqual(::javax::swing::text::AttributeSet *); +public: // actually package-private + JArray< ::javax::swing::text::AttributeSet * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) multi; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_MultiAttributeSet__ diff --git a/libjava/javax/swing/text/html/MultiStyle.h b/libjava/javax/swing/text/html/MultiStyle.h new file mode 100644 index 00000000000..f330d5f6e47 --- /dev/null +++ b/libjava/javax/swing/text/html/MultiStyle.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_MultiStyle__ +#define __javax_swing_text_html_MultiStyle__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeListener; + } + namespace text + { + class AttributeSet; + class SimpleAttributeSet; + namespace html + { + class MultiStyle; + } + } + } + } +} + +class javax::swing::text::html::MultiStyle : public ::javax::swing::text::html::MultiAttributeSet +{ + +public: + MultiStyle(::java::lang::String *, JArray< ::javax::swing::text::AttributeSet * > *); + virtual ::java::lang::String * getName(); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *); + virtual void addAttributes(::javax::swing::text::AttributeSet *); + virtual void removeAttribute(::java::lang::Object *); + virtual void removeAttributes(::java::util::Enumeration *); + virtual void removeAttributes(::javax::swing::text::AttributeSet *); + virtual void setResolveParent(::javax::swing::text::AttributeSet *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::html::MultiAttributeSet)))) name; + ::javax::swing::text::SimpleAttributeSet * attributes; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_MultiStyle__ diff --git a/libjava/javax/swing/text/html/NullView.h b/libjava/javax/swing/text/html/NullView.h new file mode 100644 index 00000000000..2947ee72769 --- /dev/null +++ b/libjava/javax/swing/text/html/NullView.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_NullView__ +#define __javax_swing_text_html_NullView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + class Position$Bias; + namespace html + { + class NullView; + } + } + } + } +} + +class javax::swing::text::html::NullView : public ::javax::swing::text::View +{ + +public: + NullView(::javax::swing::text::Element *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual jfloat getPreferredSpan(jint); + virtual ::java::awt::Shape * modelToView(jint, ::java::awt::Shape *, ::javax::swing::text::Position$Bias *); + virtual jint viewToModel(jfloat, jfloat, ::java::awt::Shape *, JArray< ::javax::swing::text::Position$Bias * > *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_NullView__ diff --git a/libjava/javax/swing/text/html/ObjectView.h b/libjava/javax/swing/text/html/ObjectView.h new file mode 100644 index 00000000000..666b671aa0d --- /dev/null +++ b/libjava/javax/swing/text/html/ObjectView.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ObjectView__ +#define __javax_swing_text_html_ObjectView__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class Element; + namespace html + { + class ObjectView; + } + } + } + } +} + +class javax::swing::text::html::ObjectView : public ::javax::swing::text::ComponentView +{ + +public: + ObjectView(::javax::swing::text::Element *); +public: // actually protected + virtual ::java::awt::Component * createComponent(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ObjectView__ diff --git a/libjava/javax/swing/text/html/Option.h b/libjava/javax/swing/text/html/Option.h new file mode 100644 index 00000000000..062c069e9bb --- /dev/null +++ b/libjava/javax/swing/text/html/Option.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_Option__ +#define __javax_swing_text_html_Option__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + namespace html + { + class Option; + } + } + } + } +} + +class javax::swing::text::html::Option : public ::java::lang::Object +{ + +public: + Option(::javax::swing::text::AttributeSet *); + virtual void setLabel(::java::lang::String *); + virtual ::java::lang::String * getLabel(); + virtual ::javax::swing::text::AttributeSet * getAttributes(); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual void setSelection(jboolean); +public: + virtual jboolean isSelected(); + virtual ::java::lang::String * getValue(); +private: + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attributes; + ::java::lang::String * label; + jboolean selected; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_Option__ diff --git a/libjava/javax/swing/text/html/ParagraphView.h b/libjava/javax/swing/text/html/ParagraphView.h new file mode 100644 index 00000000000..6e166ad877d --- /dev/null +++ b/libjava/javax/swing/text/html/ParagraphView.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ParagraphView__ +#define __javax_swing_text_html_ParagraphView__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Length; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Shape; + } + } + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace text + { + class AttributeSet; + class Element; + class View; + namespace html + { + class ParagraphView; + class StyleSheet; + class StyleSheet$BoxPainter; + } + } + } + } +} + +class javax::swing::text::html::ParagraphView : public ::javax::swing::text::ParagraphView +{ + +public: + ParagraphView(::javax::swing::text::Element *); + virtual void setParent(::javax::swing::text::View *); + virtual ::javax::swing::text::AttributeSet * getAttributes(); +public: // actually protected + virtual void setPropertiesFromAttributes(); + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); +private: + jboolean setCSSSpan(::javax::swing::SizeRequirements *, jint); +public: + virtual jboolean isVisible(); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); + virtual jfloat getPreferredSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual jfloat getMaximumSpan(jint); +private: + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::ParagraphView)))) attributes; + ::javax::swing::text::html::StyleSheet$BoxPainter * painter; + ::gnu::javax::swing::text::html::css::Length * cssWidth; + ::gnu::javax::swing::text::html::css::Length * cssHeight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ParagraphView__ diff --git a/libjava/javax/swing/text/html/ResetableModel.h b/libjava/javax/swing/text/html/ResetableModel.h new file mode 100644 index 00000000000..f07a0ed9aa2 --- /dev/null +++ b/libjava/javax/swing/text/html/ResetableModel.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ResetableModel__ +#define __javax_swing_text_html_ResetableModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ResetableModel; + } + } + } + } +} + +class javax::swing::text::html::ResetableModel : public ::java::lang::Object +{ + +public: + virtual void reset() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_html_ResetableModel__ diff --git a/libjava/javax/swing/text/html/ResetablePlainDocument.h b/libjava/javax/swing/text/html/ResetablePlainDocument.h new file mode 100644 index 00000000000..31283e50bfb --- /dev/null +++ b/libjava/javax/swing/text/html/ResetablePlainDocument.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ResetablePlainDocument__ +#define __javax_swing_text_html_ResetablePlainDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ResetablePlainDocument; + } + } + } + } +} + +class javax::swing::text::html::ResetablePlainDocument : public ::javax::swing::text::PlainDocument +{ + +public: // actually package-private + ResetablePlainDocument(); + virtual void setInitialText(::java::lang::String *); +public: + virtual void reset(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::PlainDocument)))) initial; +public: // actually package-private + static jboolean $assertionsDisabled; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ResetablePlainDocument__ diff --git a/libjava/javax/swing/text/html/ResetableToggleButtonModel.h b/libjava/javax/swing/text/html/ResetableToggleButtonModel.h new file mode 100644 index 00000000000..13295225b78 --- /dev/null +++ b/libjava/javax/swing/text/html/ResetableToggleButtonModel.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ResetableToggleButtonModel__ +#define __javax_swing_text_html_ResetableToggleButtonModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class ResetableToggleButtonModel; + } + } + } + } +} + +class javax::swing::text::html::ResetableToggleButtonModel : public ::javax::swing::JToggleButton$ToggleButtonModel +{ + +public: // actually package-private + ResetableToggleButtonModel(); +public: + virtual void setInitial(jboolean); + virtual void reset(); +private: + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JToggleButton$ToggleButtonModel)))) initial; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ResetableToggleButtonModel__ diff --git a/libjava/javax/swing/text/html/SelectComboBoxModel.h b/libjava/javax/swing/text/html/SelectComboBoxModel.h new file mode 100644 index 00000000000..e9ae5c6fe0f --- /dev/null +++ b/libjava/javax/swing/text/html/SelectComboBoxModel.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_SelectComboBoxModel__ +#define __javax_swing_text_html_SelectComboBoxModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class Option; + class SelectComboBoxModel; + } + } + } + } +} + +class javax::swing::text::html::SelectComboBoxModel : public ::javax::swing::DefaultComboBoxModel +{ + +public: // actually package-private + SelectComboBoxModel(); + virtual void setInitialSelection(::javax::swing::text::html::Option *); + virtual ::javax::swing::text::html::Option * getInitialSelection(); +public: + virtual void reset(); +private: + ::javax::swing::text::html::Option * __attribute__((aligned(__alignof__( ::javax::swing::DefaultComboBoxModel)))) initial; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_SelectComboBoxModel__ diff --git a/libjava/javax/swing/text/html/SelectListModel.h b/libjava/javax/swing/text/html/SelectListModel.h new file mode 100644 index 00000000000..85ce6c3d429 --- /dev/null +++ b/libjava/javax/swing/text/html/SelectListModel.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_SelectListModel__ +#define __javax_swing_text_html_SelectListModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class DefaultListSelectionModel; + class ListSelectionModel; + namespace text + { + namespace html + { + class SelectListModel; + } + } + } + } +} + +class javax::swing::text::html::SelectListModel : public ::javax::swing::DefaultListModel +{ + +public: // actually package-private + SelectListModel(); + virtual void addInitialSelection(jint); +public: + virtual void reset(); +public: // actually package-private + virtual ::javax::swing::ListSelectionModel * getSelectionModel(); +private: + ::javax::swing::DefaultListSelectionModel * __attribute__((aligned(__alignof__( ::javax::swing::DefaultListModel)))) selectionModel; + ::java::util::BitSet * initialSelection; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_SelectListModel__ diff --git a/libjava/javax/swing/text/html/StyleSheet$BoxPainter.h b/libjava/javax/swing/text/html/StyleSheet$BoxPainter.h new file mode 100644 index 00000000000..739686890a9 --- /dev/null +++ b/libjava/javax/swing/text/html/StyleSheet$BoxPainter.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_StyleSheet$BoxPainter__ +#define __javax_swing_text_html_StyleSheet$BoxPainter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace text + { + class AttributeSet; + class View; + namespace html + { + class StyleSheet; + class StyleSheet$BoxPainter; + } + } + } + } +} + +class javax::swing::text::html::StyleSheet$BoxPainter : public ::java::lang::Object +{ + +public: // actually package-private + StyleSheet$BoxPainter(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::StyleSheet *); +public: + virtual jfloat getInset(jint, ::javax::swing::text::View *); + virtual void paint(::java::awt::Graphics *, jfloat, jfloat, jfloat, jfloat, ::javax::swing::text::View *); +private: + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) leftInset; + jfloat rightInset; + jfloat topInset; + jfloat bottomInset; + ::javax::swing::border::Border * border; + jfloat leftPadding; + jfloat rightPadding; + jfloat topPadding; + jfloat bottomPadding; + ::java::awt::Color * background; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_StyleSheet$BoxPainter__ diff --git a/libjava/javax/swing/text/html/StyleSheet$CSSStyle.h b/libjava/javax/swing/text/html/StyleSheet$CSSStyle.h new file mode 100644 index 00000000000..51353b86cf1 --- /dev/null +++ b/libjava/javax/swing/text/html/StyleSheet$CSSStyle.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_StyleSheet$CSSStyle__ +#define __javax_swing_text_html_StyleSheet$CSSStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Selector; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace event + { + class ChangeListener; + } + namespace text + { + namespace html + { + class StyleSheet; + class StyleSheet$CSSStyle; + } + } + } + } +} + +class javax::swing::text::html::StyleSheet$CSSStyle : public ::javax::swing::text::SimpleAttributeSet +{ + +public: // actually package-private + StyleSheet$CSSStyle(::javax::swing::text::html::StyleSheet *, jint, ::gnu::javax::swing::text::html::css::Selector *); +public: + virtual ::java::lang::String * getName(); + virtual void addChangeListener(::javax::swing::event::ChangeListener *); + virtual void removeChangeListener(::javax::swing::event::ChangeListener *); + virtual jint compareTo(::java::lang::Object *); +public: // actually package-private + static const jint PREC_UA = 0; + static const jint PREC_NORM = 100000; + static const jint PREC_AUTHOR_NORMAL = 200000; + static const jint PREC_AUTHOR_IMPORTANT = 300000; + static const jint PREC_USER_IMPORTANT = 400000; +private: + jint __attribute__((aligned(__alignof__( ::javax::swing::text::SimpleAttributeSet)))) precedence; +public: // actually package-private + ::gnu::javax::swing::text::html::css::Selector * selector; + ::javax::swing::text::html::StyleSheet * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_StyleSheet$CSSStyle__ diff --git a/libjava/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.h b/libjava/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.h new file mode 100644 index 00000000000..43c5813788c --- /dev/null +++ b/libjava/javax/swing/text/html/StyleSheet$CSSStyleSheetParserCallback.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_StyleSheet$CSSStyleSheetParserCallback__ +#define __javax_swing_text_html_StyleSheet$CSSStyleSheetParserCallback__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Selector; + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class StyleSheet; + class StyleSheet$CSSStyle; + class StyleSheet$CSSStyleSheetParserCallback; + } + } + } + } +} + +class javax::swing::text::html::StyleSheet$CSSStyleSheetParserCallback : public ::java::lang::Object +{ + +public: // actually package-private + StyleSheet$CSSStyleSheetParserCallback(::javax::swing::text::html::StyleSheet *, jint); +public: + virtual void startStatement(JArray< ::gnu::javax::swing::text::html::css::Selector * > *); + virtual void endStatement(); + virtual void declaration(::java::lang::String *, ::java::lang::String *); +private: + JArray< ::javax::swing::text::html::StyleSheet$CSSStyle * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) styles; + jint precedence; +public: // actually package-private + ::javax::swing::text::html::StyleSheet * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_StyleSheet$CSSStyleSheetParserCallback__ diff --git a/libjava/javax/swing/text/html/StyleSheet$CssParser.h b/libjava/javax/swing/text/html/StyleSheet$CssParser.h new file mode 100644 index 00000000000..5d2fded39da --- /dev/null +++ b/libjava/javax/swing/text/html/StyleSheet$CssParser.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_StyleSheet$CssParser__ +#define __javax_swing_text_html_StyleSheet$CssParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class MutableAttributeSet; + namespace html + { + class CSSParser; + class StyleSheet; + class StyleSheet$CssParser; + } + } + } + } +} + +class javax::swing::text::html::StyleSheet$CssParser : public ::java::lang::Object +{ + +public: // actually package-private + StyleSheet$CssParser(::javax::swing::text::html::StyleSheet *); +public: + virtual ::javax::swing::text::AttributeSet * parseDeclaration(::java::lang::String *); + virtual ::javax::swing::text::AttributeSet * parseDeclaration(::java::io::Reader *); + virtual void parse(::java::net::URL *, ::java::io::Reader *, jboolean, jboolean); + virtual void handleImport(::java::lang::String *); + virtual void handleSelector(::java::lang::String *); + virtual void startRule(); + virtual void handleProperty(::java::lang::String *); + virtual void handleValue(::java::lang::String *); + virtual void endRule(); +private: + void addSelector(); +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) selectors; + ::java::util::Vector * selectorTokens; + ::java::lang::String * propertyName; + ::javax::swing::text::MutableAttributeSet * declaration; + jboolean parsingDeclaration; + jboolean isLink; + ::java::net::URL * base; + ::javax::swing::text::html::CSSParser * parser; + ::javax::swing::text::html::StyleSheet * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_StyleSheet$CssParser__ diff --git a/libjava/javax/swing/text/html/StyleSheet$ListPainter.h b/libjava/javax/swing/text/html/StyleSheet$ListPainter.h new file mode 100644 index 00000000000..d910fc0d3e6 --- /dev/null +++ b/libjava/javax/swing/text/html/StyleSheet$ListPainter.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_StyleSheet$ListPainter__ +#define __javax_swing_text_html_StyleSheet$ListPainter__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class View; + namespace html + { + class StyleSheet; + class StyleSheet$ListPainter; + } + } + } + } +} + +class javax::swing::text::html::StyleSheet$ListPainter : public ::java::lang::Object +{ + +public: // actually package-private + StyleSheet$ListPainter(::javax::swing::text::AttributeSet *, ::javax::swing::text::html::StyleSheet *); +public: + virtual void paint(::java::awt::Graphics *, jfloat, jfloat, jfloat, jfloat, ::javax::swing::text::View *, jint); +private: + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attributes; + ::javax::swing::text::html::StyleSheet * styleSheet; + ::java::lang::String * type; + ::java::awt::Rectangle * tmpRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_StyleSheet$ListPainter__ diff --git a/libjava/javax/swing/text/html/StyleSheet.h b/libjava/javax/swing/text/html/StyleSheet.h new file mode 100644 index 00000000000..3c9bbffdb19 --- /dev/null +++ b/libjava/javax/swing/text/html/StyleSheet.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_StyleSheet__ +#define __javax_swing_text_html_StyleSheet__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Font; + } + namespace net + { + class URL; + } + } + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class Element; + class MutableAttributeSet; + class Style; + class StyleContext$SmallAttributeSet; + class View; + namespace html + { + class CSS$Attribute; + class HTML$Tag; + class StyleSheet; + class StyleSheet$BoxPainter; + class StyleSheet$ListPainter; + } + } + } + } +} + +class javax::swing::text::html::StyleSheet : public ::javax::swing::text::StyleContext +{ + +public: + StyleSheet(); + virtual ::javax::swing::text::Style * getRule(::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::Element *); +private: + ::javax::swing::text::Style * getResolvedStyle(::java::lang::String *, ::java::util::List *, ::javax::swing::text::html::HTML$Tag *); + ::javax::swing::text::Style * resolveStyle(::java::lang::String *, ::java::util::List *, ::javax::swing::text::html::HTML$Tag *); + ::javax::swing::text::Style * resolveStyle(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::util::Map * > *); +public: + virtual ::javax::swing::text::Style * getRule(::java::lang::String *); + virtual void addRule(::java::lang::String *); + virtual ::javax::swing::text::AttributeSet * getDeclaration(::java::lang::String *); + virtual void loadRules(::java::io::Reader *, ::java::net::URL *); + virtual ::javax::swing::text::AttributeSet * getViewAttributes(::javax::swing::text::View *); + virtual void removeStyle(::java::lang::String *); + virtual void addStyleSheet(::javax::swing::text::html::StyleSheet *); + virtual void removeStyleSheet(::javax::swing::text::html::StyleSheet *); + virtual JArray< ::javax::swing::text::html::StyleSheet * > * getStyleSheets(); + virtual void importStyleSheet(::java::net::URL *); + virtual void setBase(::java::net::URL *); + virtual ::java::net::URL * getBase(); + virtual void addCSSAttribute(::javax::swing::text::MutableAttributeSet *, ::javax::swing::text::html::CSS$Attribute *, ::java::lang::String *); + virtual jboolean addCSSAttributeFromHTML(::javax::swing::text::MutableAttributeSet *, ::javax::swing::text::html::CSS$Attribute *, ::java::lang::String *); + virtual ::javax::swing::text::AttributeSet * translateHTMLToCSS(::javax::swing::text::AttributeSet *); +private: + ::javax::swing::text::AttributeSet * translateBorder(::javax::swing::text::AttributeSet *, ::java::lang::Object *); +public: + virtual ::javax::swing::text::AttributeSet * addAttribute(::javax::swing::text::AttributeSet *, ::java::lang::Object *, ::java::lang::Object *); + virtual ::javax::swing::text::AttributeSet * addAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * removeAttribute(::javax::swing::text::AttributeSet *, ::java::lang::Object *); + virtual ::javax::swing::text::AttributeSet * removeAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::AttributeSet * removeAttributes(::javax::swing::text::AttributeSet *, ::java::util::Enumeration *); +public: // actually protected + virtual ::javax::swing::text::StyleContext$SmallAttributeSet * createSmallAttributeSet(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::MutableAttributeSet * createLargeAttributeSet(::javax::swing::text::AttributeSet *); +public: + virtual ::java::awt::Font * getFont(::javax::swing::text::AttributeSet *); +public: // actually package-private + virtual jfloat getEMBase(::javax::swing::text::AttributeSet *); + virtual jfloat getEXBase(::javax::swing::text::AttributeSet *); +private: + jint getFontSize(::javax::swing::text::AttributeSet *); +public: + virtual ::java::awt::Color * getForeground(::javax::swing::text::AttributeSet *); + virtual ::java::awt::Color * getBackground(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::html::StyleSheet$BoxPainter * getBoxPainter(::javax::swing::text::AttributeSet *); + virtual ::javax::swing::text::html::StyleSheet$ListPainter * getListPainter(::javax::swing::text::AttributeSet *); + virtual void setBaseFontSize(jint); + virtual void setBaseFontSize(::java::lang::String *); + static jint getIndexOfSize(jfloat); + virtual jfloat getPointSize(jint); + virtual jfloat getPointSize(::java::lang::String *); + virtual ::java::awt::Color * stringToColor(::java::lang::String *); +private: + ::java::util::Map * attributeSetToMap(::javax::swing::text::AttributeSet *); +public: // actually package-private + ::java::net::URL * __attribute__((aligned(__alignof__( ::javax::swing::text::StyleContext)))) base; + jint baseFontSize; +private: + ::java::util::ArrayList * linked; +public: // actually package-private + ::java::util::ArrayList * css; +private: + ::java::util::HashMap * resolvedStyles; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_StyleSheet__ diff --git a/libjava/javax/swing/text/html/TableView$CellView.h b/libjava/javax/swing/text/html/TableView$CellView.h new file mode 100644 index 00000000000..c878fa60a00 --- /dev/null +++ b/libjava/javax/swing/text/html/TableView$CellView.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_TableView$CellView__ +#define __javax_swing_text_html_TableView$CellView__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace text + { + class Element; + namespace html + { + class TableView; + class TableView$CellView; + } + } + } + } +} + +class javax::swing::text::html::TableView$CellView : public ::javax::swing::text::html::BlockView +{ + +public: // actually package-private + TableView$CellView(::javax::swing::text::html::TableView *, ::javax::swing::text::Element *); +public: // actually protected + virtual ::javax::swing::SizeRequirements * calculateMajorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual void setPropertiesFromAttributes(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::javax::swing::text::html::BlockView)))) colSpan; + jint rowSpan; + ::javax::swing::text::html::TableView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_TableView$CellView__ diff --git a/libjava/javax/swing/text/html/TableView$RowView.h b/libjava/javax/swing/text/html/TableView$RowView.h new file mode 100644 index 00000000000..f031898c1c1 --- /dev/null +++ b/libjava/javax/swing/text/html/TableView$RowView.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_TableView$RowView__ +#define __javax_swing_text_html_TableView$RowView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace text + { + class Element; + class View; + namespace html + { + class TableView; + class TableView$RowView; + } + } + } + } +} + +class javax::swing::text::html::TableView$RowView : public ::javax::swing::text::html::BlockView +{ + +public: // actually package-private + TableView$RowView(::javax::swing::text::html::TableView *, ::javax::swing::text::Element *); +public: + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); + virtual jfloat getMaximumSpan(jint); + virtual jfloat getMinimumSpan(jint); + virtual jfloat getPreferredSpan(jint); +public: // actually protected + virtual ::javax::swing::SizeRequirements * calculateMajorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +public: // actually package-private + JArray< jboolean > * __attribute__((aligned(__alignof__( ::javax::swing::text::html::BlockView)))) overlap; + jint rowIndex; + ::javax::swing::text::html::TableView * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_TableView$RowView__ diff --git a/libjava/javax/swing/text/html/TableView.h b/libjava/javax/swing/text/html/TableView.h new file mode 100644 index 00000000000..b271a4e48ac --- /dev/null +++ b/libjava/javax/swing/text/html/TableView.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_TableView__ +#define __javax_swing_text_html_TableView__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace css + { + class Length; + } + } + } + } + } + } + namespace java + { + namespace awt + { + class Graphics; + class Rectangle; + class Shape; + } + } + namespace javax + { + namespace swing + { + class SizeRequirements; + namespace event + { + class DocumentEvent; + } + namespace text + { + class AttributeSet; + class Element; + class View; + class ViewFactory; + namespace html + { + class StyleSheet; + class TableView; + } + } + } + } +} + +class javax::swing::text::html::TableView : public ::javax::swing::text::html::BlockView +{ + +public: + TableView(::javax::swing::text::Element *); + virtual ::javax::swing::text::View * create(::javax::swing::text::Element *); + virtual ::javax::swing::text::ViewFactory * getViewFactory(); + virtual ::javax::swing::text::AttributeSet * getAttributes(); +public: // actually protected + virtual ::javax::swing::text::html::StyleSheet * getStyleSheet(); + virtual ::javax::swing::SizeRequirements * calculateMinorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual void layoutMinorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +private: + void calculateColumnRequirements(); + void layoutColumns(jint); +public: // actually package-private + virtual void updateGrid(); +public: + virtual jfloat getMaximumSpan(jint); + virtual void setParent(::javax::swing::text::View *); +public: // actually protected + virtual void setPropertiesFromAttributes(); + virtual ::javax::swing::SizeRequirements * calculateMajorAxisRequirements(jint, ::javax::swing::SizeRequirements *); + virtual void layoutMajorAxis(jint, jint, JArray< jint > *, JArray< jint > *); +public: + virtual void insertUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void removeUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void changedUpdate(::javax::swing::event::DocumentEvent *, ::java::awt::Shape *, ::javax::swing::text::ViewFactory *); + virtual void replace(jint, jint, JArray< ::javax::swing::text::View * > *); + virtual void paint(::java::awt::Graphics *, ::java::awt::Shape *); +public: // actually package-private + static jint access$0(::javax::swing::text::html::TableView *, jint, jint); +private: + ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::html::BlockView)))) attributes; +public: // actually package-private + JArray< ::javax::swing::SizeRequirements * > * columnRequirements; + ::javax::swing::SizeRequirements * totalColumnRequirements; + JArray< jint > * columnOffsets; + JArray< jint > * columnSpans; + JArray< ::gnu::javax::swing::text::html::css::Length * > * columnWidths; + jint numColumns; +private: + ::gnu::javax::swing::text::html::css::Length * width; +public: // actually package-private + jboolean gridValid; + jint cellSpacing; +private: + ::java::awt::Rectangle * tmpRect; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_TableView__ diff --git a/libjava/javax/swing/text/html/ViewAttributeSet.h b/libjava/javax/swing/text/html/ViewAttributeSet.h new file mode 100644 index 00000000000..be6ecdcba2a --- /dev/null +++ b/libjava/javax/swing/text/html/ViewAttributeSet.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_ViewAttributeSet__ +#define __javax_swing_text_html_ViewAttributeSet__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class AttributeSet; + class View; + namespace html + { + class StyleSheet; + class ViewAttributeSet; + } + } + } + } +} + +class javax::swing::text::html::ViewAttributeSet : public ::javax::swing::text::html::MultiAttributeSet +{ + +public: // actually package-private + ViewAttributeSet(::javax::swing::text::View *, ::javax::swing::text::html::StyleSheet *); +public: + virtual ::java::lang::Object * getAttribute(::java::lang::Object *); + virtual ::javax::swing::text::AttributeSet * getResolveParent(); +private: + ::javax::swing::text::View * __attribute__((aligned(__alignof__( ::javax::swing::text::html::MultiAttributeSet)))) view; + ::javax::swing::text::html::StyleSheet * styleSheet; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_ViewAttributeSet__ diff --git a/libjava/javax/swing/text/html/parser/AttributeList$1.h b/libjava/javax/swing/text/html/parser/AttributeList$1.h new file mode 100644 index 00000000000..7c1937b48f7 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/AttributeList$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_AttributeList$1__ +#define __javax_swing_text_html_parser_AttributeList$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class AttributeList$1; + } + } + } + } + } +} + +class javax::swing::text::html::parser::AttributeList$1 : public ::gnu::javax::swing::text::html::parser::support::gnuStringIntMapper +{ + +public: // actually package-private + AttributeList$1(); +public: // actually protected + void create(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_AttributeList$1__ diff --git a/libjava/javax/swing/text/html/parser/AttributeList.h b/libjava/javax/swing/text/html/parser/AttributeList.h new file mode 100644 index 00000000000..b7fb6475f2e --- /dev/null +++ b/libjava/javax/swing/text/html/parser/AttributeList.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_AttributeList__ +#define __javax_swing_text_html_parser_AttributeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class gnuStringIntMapper; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class AttributeList; + } + } + } + } + } +} + +class javax::swing::text::html::parser::AttributeList : public ::java::lang::Object +{ + +public: + AttributeList(::java::lang::String *); + AttributeList(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::util::Vector *, ::javax::swing::text::html::parser::AttributeList *); + jint getModifier(); + ::java::lang::String * getName(); + ::javax::swing::text::html::parser::AttributeList * getNext(); + jint getType(); + ::java::lang::String * getValue(); + ::java::util::Enumeration * getValues(); + static jint name2type(::java::lang::String *); + ::java::lang::String * toString(); + static ::java::lang::String * type2name(jint); +private: + static ::gnu::javax::swing::text::html::parser::support::gnuStringIntMapper * mapper; + static const jlong serialVersionUID = -1361214058742015233LL; +public: + ::javax::swing::text::html::parser::AttributeList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next; + ::java::lang::String * name; + ::java::lang::String * value; + ::java::util::Vector * values; + jint modifier; + jint type; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_AttributeList__ diff --git a/libjava/javax/swing/text/html/parser/ContentModel.h b/libjava/javax/swing/text/html/parser/ContentModel.h new file mode 100644 index 00000000000..45f3b20b2c6 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/ContentModel.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_ContentModel__ +#define __javax_swing_text_html_parser_ContentModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class ContentModel; + class Element; + } + } + } + } + } +} + +class javax::swing::text::html::parser::ContentModel : public ::java::lang::Object +{ + +public: + ContentModel(); + ContentModel(::javax::swing::text::html::parser::Element *); + ContentModel(jint, ::javax::swing::text::html::parser::ContentModel *); + ContentModel(jint, ::java::lang::Object *, ::javax::swing::text::html::parser::ContentModel *); + void getElements(::java::util::Vector *); + jboolean empty(); + ::javax::swing::text::html::parser::Element * first(); + jboolean first(::java::lang::Object *); + ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -1130825523866321257LL; +public: + ::javax::swing::text::html::parser::ContentModel * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next; + ::java::lang::Object * content; + jint type; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_ContentModel__ diff --git a/libjava/javax/swing/text/html/parser/DTD.h b/libjava/javax/swing/text/html/parser/DTD.h new file mode 100644 index 00000000000..f9933273e07 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/DTD.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_DTD__ +#define __javax_swing_text_html_parser_DTD__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class AttributeList; + class ContentModel; + class DTD; + class Element; + class Entity; + } + } + } + } + } +} + +class javax::swing::text::html::parser::DTD : public ::java::lang::Object +{ + +public: // actually protected + DTD(::java::lang::String *); +public: + static ::javax::swing::text::html::parser::DTD * getDTD(::java::lang::String *); + virtual ::javax::swing::text::html::parser::Element * getElement(::java::lang::String *); + virtual ::javax::swing::text::html::parser::Element * getElement(jint); + virtual ::javax::swing::text::html::parser::Entity * getEntity(jint); + virtual ::javax::swing::text::html::parser::Entity * getEntity(::java::lang::String *); + virtual ::java::lang::String * getName(); + virtual ::javax::swing::text::html::parser::Entity * defEntity(::java::lang::String *, jint, jint); + virtual void defineAttributes(::java::lang::String *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::Element * defineElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, ::java::util::BitSet *, ::java::util::BitSet *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::Entity * defineEntity(::java::lang::String *, jint, JArray< jchar > *); + static void putDTDHash(::java::lang::String *, ::javax::swing::text::html::parser::DTD *); + virtual void read(::java::io::DataInputStream *); + virtual ::java::lang::String * toString(); +public: // actually protected + virtual ::javax::swing::text::html::parser::AttributeList * defAttributeList(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::ContentModel * defContentModel(jint, ::java::lang::Object *, ::javax::swing::text::html::parser::ContentModel *); + virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::javax::swing::text::html::parser::AttributeList *); + virtual ::javax::swing::text::html::parser::Entity * defEntity(::java::lang::String *, jint, ::java::lang::String *); +private: + void assignField(::javax::swing::text::html::parser::Element *); + ::java::util::BitSet * bitSet(JArray< ::java::lang::String * > *); + ::javax::swing::text::html::parser::Element * newElement(::java::lang::String *); + ::javax::swing::text::html::parser::Entity * newEntity(::java::lang::String *, jint); + void unexpected(::java::lang::Exception *); +public: + static const jint FILE_VERSION = 1; +public: // actually package-private + static ::java::util::Hashtable * dtdHash; +public: + ::javax::swing::text::html::parser::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) applet; + ::javax::swing::text::html::parser::Element * base; + ::javax::swing::text::html::parser::Element * body; + ::javax::swing::text::html::parser::Element * head; + ::javax::swing::text::html::parser::Element * html; + ::javax::swing::text::html::parser::Element * isindex; + ::javax::swing::text::html::parser::Element * meta; + ::javax::swing::text::html::parser::Element * p; + ::javax::swing::text::html::parser::Element * param; + ::javax::swing::text::html::parser::Element * pcdata; + ::javax::swing::text::html::parser::Element * title; + ::java::util::Hashtable * elementHash; + ::java::util::Hashtable * entityHash; + ::java::lang::String * name; + ::java::util::Vector * elements; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_DTD__ diff --git a/libjava/javax/swing/text/html/parser/DTDConstants.h b/libjava/javax/swing/text/html/parser/DTDConstants.h new file mode 100644 index 00000000000..7fe66c6de36 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/DTDConstants.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_DTDConstants__ +#define __javax_swing_text_html_parser_DTDConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTDConstants; + } + } + } + } + } +} + +class javax::swing::text::html::parser::DTDConstants : public ::java::lang::Object +{ + +public: + static const jint CDATA = 1; + static const jint EMPTY = 17; + static const jint ID = 4; + static const jint IDREF = 5; + static const jint IDREFS = 6; + static const jint NAME = 7; + static const jint NAMES = 8; + static const jint NMTOKEN = 9; + static const jint NMTOKENS = 10; + static const jint NOTATION = 11; + static const jint NUMBER = 12; + static const jint NUMBERS = 13; + static const jint NUTOKEN = 14; + static const jint NUTOKENS = 15; + static const jint PUBLIC = 10; + static const jint SYSTEM = 17; + static const jint PARAMETER = 262144; + static const jint GENERAL = 65536; + static const jint REQUIRED = 2; + static const jint FIXED = 1; + static const jint IMPLIED = 5; + static const jint CURRENT = 3; + static const jint CONREF = 4; + static const jint STARTTAG = 13; + static const jint ENDTAG = 14; + static const jint ANY = 19; + static const jint DEFAULT = 131072; + static const jint ENTITIES = 3; + static const jint ENTITY = 2; + static const jint MD = 16; + static const jint MODEL = 18; + static const jint MS = 15; + static const jint PI = 12; + static const jint RCDATA = 16; + static const jint SDATA = 11; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_text_html_parser_DTDConstants__ diff --git a/libjava/javax/swing/text/html/parser/DocumentParser$gnuParser.h b/libjava/javax/swing/text/html/parser/DocumentParser$gnuParser.h new file mode 100644 index 00000000000..cba941dcfe7 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/DocumentParser$gnuParser.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_DocumentParser$gnuParser__ +#define __javax_swing_text_html_parser_DocumentParser$gnuParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class DocumentParser; + class DocumentParser$gnuParser; + class TagElement; + } + } + } + } + } +} + +class javax::swing::text::html::parser::DocumentParser$gnuParser : public ::gnu::javax::swing::text::html::parser::support::Parser +{ + + DocumentParser$gnuParser(::javax::swing::text::html::parser::DocumentParser *, ::javax::swing::text::html::parser::DTD *); +public: // actually protected + virtual void handleComment(JArray< jchar > *); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleError(jint, ::java::lang::String *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); +public: // actually package-private + virtual ::javax::swing::text::html::parser::DTD * getDTD(); + DocumentParser$gnuParser(::javax::swing::text::html::parser::DocumentParser *, ::javax::swing::text::html::parser::DTD *, ::javax::swing::text::html::parser::DocumentParser$gnuParser *); + ::javax::swing::text::html::parser::DocumentParser * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::Parser)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_DocumentParser$gnuParser__ diff --git a/libjava/javax/swing/text/html/parser/DocumentParser.h b/libjava/javax/swing/text/html/parser/DocumentParser.h new file mode 100644 index 00000000000..d07191d19e5 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/DocumentParser.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_DocumentParser__ +#define __javax_swing_text_html_parser_DocumentParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTMLEditorKit$ParserCallback; + namespace parser + { + class DTD; + class DocumentParser; + class DocumentParser$gnuParser; + class TagElement; + } + } + } + } + } +} + +class javax::swing::text::html::parser::DocumentParser : public ::javax::swing::text::html::parser::Parser +{ + +public: + DocumentParser(::javax::swing::text::html::parser::DTD *); + virtual void parse(::java::io::Reader *, ::javax::swing::text::html::HTMLEditorKit$ParserCallback *, jboolean); +public: // actually protected + virtual void handleComment(JArray< jchar > *); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleError(jint, ::java::lang::String *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); +public: // actually package-private + ::javax::swing::text::html::parser::DocumentParser * __attribute__((aligned(__alignof__( ::javax::swing::text::html::parser::Parser)))) parser; + ::javax::swing::text::html::HTMLEditorKit$ParserCallback * callBack; + ::javax::swing::text::html::parser::DocumentParser$gnuParser * gnu; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_DocumentParser__ diff --git a/libjava/javax/swing/text/html/parser/Element$1.h b/libjava/javax/swing/text/html/parser/Element$1.h new file mode 100644 index 00000000000..2afab6c234c --- /dev/null +++ b/libjava/javax/swing/text/html/parser/Element$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_Element$1__ +#define __javax_swing_text_html_parser_Element$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class Element$1; + } + } + } + } + } +} + +class javax::swing::text::html::parser::Element$1 : public ::gnu::javax::swing::text::html::parser::support::gnuStringIntMapper +{ + +public: // actually package-private + Element$1(); +public: // actually protected + void create(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_Element$1__ diff --git a/libjava/javax/swing/text/html/parser/Element.h b/libjava/javax/swing/text/html/parser/Element.h new file mode 100644 index 00000000000..08bc75c7a19 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/Element.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_Element__ +#define __javax_swing_text_html_parser_Element__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class gnuStringIntMapper; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class AttributeList; + class ContentModel; + class Element; + } + } + } + } + } +} + +class javax::swing::text::html::parser::Element : public ::java::lang::Object +{ + +public: // actually package-private + Element(); +public: + static jint name2type(::java::lang::String *); + ::javax::swing::text::html::parser::AttributeList * getAttribute(::java::lang::String *); + ::javax::swing::text::html::parser::AttributeList * getAttributeByValue(::java::lang::String *); + ::javax::swing::text::html::parser::AttributeList * getAttributes(); + ::javax::swing::text::html::parser::ContentModel * getContent(); + jboolean isEmpty(); + jint getIndex(); + ::java::lang::String * getName(); + jint getType(); + jboolean omitEnd(); + jboolean omitStart(); + ::java::lang::String * toString(); +public: // actually package-private + static ::gnu::javax::swing::text::html::parser::support::gnuStringIntMapper * mapper; +private: + static const jlong serialVersionUID = -6717939384601675586LL; +public: + ::javax::swing::text::html::parser::AttributeList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) atts; + ::java::util::BitSet * exclusions; + ::java::util::BitSet * inclusions; + ::javax::swing::text::html::parser::ContentModel * content; + ::java::lang::Object * data; + ::java::lang::String * name; + jboolean oEnd; + jboolean oStart; + jint index; + jint type; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_Element__ diff --git a/libjava/javax/swing/text/html/parser/Entity$1.h b/libjava/javax/swing/text/html/parser/Entity$1.h new file mode 100644 index 00000000000..5be3083b43f --- /dev/null +++ b/libjava/javax/swing/text/html/parser/Entity$1.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_Entity$1__ +#define __javax_swing_text_html_parser_Entity$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class Entity$1; + } + } + } + } + } +} + +class javax::swing::text::html::parser::Entity$1 : public ::gnu::javax::swing::text::html::parser::support::gnuStringIntMapper +{ + +public: // actually package-private + Entity$1(); +public: // actually protected + void create(); +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_Entity$1__ diff --git a/libjava/javax/swing/text/html/parser/Entity.h b/libjava/javax/swing/text/html/parser/Entity.h new file mode 100644 index 00000000000..2c82e3167c4 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/Entity.h @@ -0,0 +1,78 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_Entity__ +#define __javax_swing_text_html_parser_Entity__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class gnuStringIntMapper; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class Entity; + } + } + } + } + } +} + +class javax::swing::text::html::parser::Entity : public ::java::lang::Object +{ + +public: + Entity(::java::lang::String *, jint, JArray< jchar > *); + static jint name2type(::java::lang::String *); + JArray< jchar > * getData(); + jboolean isGeneral(); + ::java::lang::String * getName(); + jboolean isParameter(); + ::java::lang::String * getString(); + jint getType(); +public: // actually package-private + static ::gnu::javax::swing::text::html::parser::support::gnuStringIntMapper * mapper; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name; + JArray< jchar > * data; + jint type; +private: + ::java::lang::String * sdata; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_Entity__ diff --git a/libjava/javax/swing/text/html/parser/Parser$1.h b/libjava/javax/swing/text/html/parser/Parser$1.h new file mode 100644 index 00000000000..98f30521735 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/Parser$1.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_Parser$1__ +#define __javax_swing_text_html_parser_Parser$1__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class Element; + class Parser; + class Parser$1; + class TagElement; + } + } + } + } + } +} + +class javax::swing::text::html::parser::Parser$1 : public ::gnu::javax::swing::text::html::parser::support::Parser +{ + +public: // actually package-private + Parser$1(::javax::swing::text::html::parser::Parser *, ::javax::swing::text::html::parser::DTD *, ::javax::swing::text::html::parser::Parser *); +public: // actually protected + void handleComment(JArray< jchar > *); + void handleEOFInComment(); + void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + void handleStartTag(::javax::swing::text::html::parser::TagElement *); + void handleEndTag(::javax::swing::text::html::parser::TagElement *); + void handleError(jint, ::java::lang::String *); + void handleText(JArray< jchar > *); + void handleTitle(JArray< jchar > *); + void markFirstTime(::javax::swing::text::html::parser::Element *); + void startTag(::javax::swing::text::html::parser::TagElement *); + void endTag(jboolean); + ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *); + ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *, jboolean); +public: // actually package-private + ::javax::swing::text::html::parser::Parser * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::Parser)))) this$0; +private: + ::javax::swing::text::html::parser::Parser * val$j; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_Parser$1__ diff --git a/libjava/javax/swing/text/html/parser/Parser.h b/libjava/javax/swing/text/html/parser/Parser.h new file mode 100644 index 00000000000..5f8e0dbab4b --- /dev/null +++ b/libjava/javax/swing/text/html/parser/Parser.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_Parser__ +#define __javax_swing_text_html_parser_Parser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + namespace support + { + class Parser; + } + } + } + } + } + } + } + namespace javax + { + namespace swing + { + namespace text + { + class SimpleAttributeSet; + namespace html + { + namespace parser + { + class DTD; + class Element; + class Parser; + class TagElement; + } + } + } + } + } +} + +class javax::swing::text::html::parser::Parser : public ::java::lang::Object +{ + +public: + Parser(::javax::swing::text::html::parser::DTD *); + virtual void parse(::java::io::Reader *); + virtual ::java::lang::String * parseDTDMarkup(); +public: // actually protected + virtual jboolean parseMarkupDeclarations(::java::lang::StringBuffer *); + virtual ::javax::swing::text::SimpleAttributeSet * getAttributes(); + virtual jint getCurrentLine(); + virtual jint getCurrentPos(); + virtual void endTag(jboolean); + virtual void error(::java::lang::String *); + virtual void error(::java::lang::String *, ::java::lang::String *); + virtual void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void flushAttributes(); + virtual void handleComment(JArray< jchar > *); + virtual void handleEOFInComment(); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleError(jint, ::java::lang::String *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); + virtual void handleTitle(JArray< jchar > *); + virtual ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *); + virtual ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *, jboolean); + virtual void markFirstTime(::javax::swing::text::html::parser::Element *); + virtual void startTag(::javax::swing::text::html::parser::TagElement *); + ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dtd; + jboolean strict; +public: // actually package-private + ::gnu::javax::swing::text::html::parser::support::Parser * gnu; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_Parser__ diff --git a/libjava/javax/swing/text/html/parser/ParserDelegator$gnuParser.h b/libjava/javax/swing/text/html/parser/ParserDelegator$gnuParser.h new file mode 100644 index 00000000000..fec9d39c1f2 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/ParserDelegator$gnuParser.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_ParserDelegator$gnuParser__ +#define __javax_swing_text_html_parser_ParserDelegator$gnuParser__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + namespace parser + { + class DTD; + class ParserDelegator; + class ParserDelegator$gnuParser; + class TagElement; + } + } + } + } + } +} + +class javax::swing::text::html::parser::ParserDelegator$gnuParser : public ::gnu::javax::swing::text::html::parser::support::Parser +{ + + ParserDelegator$gnuParser(::javax::swing::text::html::parser::ParserDelegator *, ::javax::swing::text::html::parser::DTD *); +public: // actually protected + virtual void handleComment(JArray< jchar > *); + virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleError(jint, ::java::lang::String *); + virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *); + virtual void handleText(JArray< jchar > *); +public: // actually package-private + virtual ::javax::swing::text::html::parser::DTD * getDTD(); + ParserDelegator$gnuParser(::javax::swing::text::html::parser::ParserDelegator *, ::javax::swing::text::html::parser::DTD *, ::javax::swing::text::html::parser::ParserDelegator$gnuParser *); +private: + static const jlong serialVersionUID = 1LL; +public: // actually package-private + ::javax::swing::text::html::parser::ParserDelegator * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::Parser)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_ParserDelegator$gnuParser__ diff --git a/libjava/javax/swing/text/html/parser/ParserDelegator.h b/libjava/javax/swing/text/html/parser/ParserDelegator.h new file mode 100644 index 00000000000..b2c35297b15 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/ParserDelegator.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_ParserDelegator__ +#define __javax_swing_text_html_parser_ParserDelegator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTMLEditorKit$ParserCallback; + namespace parser + { + class DTD; + class ParserDelegator; + class ParserDelegator$gnuParser; + } + } + } + } + } +} + +class javax::swing::text::html::parser::ParserDelegator : public ::javax::swing::text::html::HTMLEditorKit$Parser +{ + +public: + ParserDelegator(); + virtual void parse(::java::io::Reader *, ::javax::swing::text::html::HTMLEditorKit$ParserCallback *, jboolean); +public: // actually protected + static void setDefaultDTD(); + static ::javax::swing::text::html::parser::DTD * createDTD(::javax::swing::text::html::parser::DTD *, ::java::lang::String *); +private: + static const jlong serialVersionUID = -1276686502624777206LL; + static ::javax::swing::text::html::parser::DTD * dtd; +public: // actually package-private + ::javax::swing::text::html::HTMLEditorKit$ParserCallback * __attribute__((aligned(__alignof__( ::javax::swing::text::html::HTMLEditorKit$Parser)))) callBack; + ::javax::swing::text::html::parser::ParserDelegator$gnuParser * gnu; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_ParserDelegator__ diff --git a/libjava/javax/swing/text/html/parser/TagElement.h b/libjava/javax/swing/text/html/parser/TagElement.h new file mode 100644 index 00000000000..b29cad472b5 --- /dev/null +++ b/libjava/javax/swing/text/html/parser/TagElement.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_html_parser_TagElement__ +#define __javax_swing_text_html_parser_TagElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace html + { + class HTML$Tag; + namespace parser + { + class Element; + class TagElement; + } + } + } + } + } +} + +class javax::swing::text::html::parser::TagElement : public ::java::lang::Object +{ + +public: + TagElement(::javax::swing::text::html::parser::Element *); + TagElement(::javax::swing::text::html::parser::Element *, jboolean); + virtual ::javax::swing::text::html::parser::Element * getElement(); + virtual ::javax::swing::text::html::HTML$Tag * getHTMLTag(); + virtual jboolean isPreformatted(); + virtual jboolean breaksFlow(); + virtual jboolean fictional(); + virtual ::java::lang::String * toString(); +private: + ::javax::swing::text::html::parser::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) element; + ::javax::swing::text::html::HTML$Tag * tag; + jboolean fictional__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_html_parser_TagElement__ diff --git a/libjava/javax/swing/text/rtf/ControlWordToken.h b/libjava/javax/swing/text/rtf/ControlWordToken.h new file mode 100644 index 00000000000..aa6a352a4a7 --- /dev/null +++ b/libjava/javax/swing/text/rtf/ControlWordToken.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_ControlWordToken__ +#define __javax_swing_text_rtf_ControlWordToken__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace rtf + { + class ControlWordToken; + } + } + } + } +} + +class javax::swing::text::rtf::ControlWordToken : public ::javax::swing::text::rtf::Token +{ + +public: + ControlWordToken(::java::lang::String *); + ControlWordToken(::java::lang::String *, jint); + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::rtf::Token)))) name; + jint param; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_ControlWordToken__ diff --git a/libjava/javax/swing/text/rtf/RTFEditorKit.h b/libjava/javax/swing/text/rtf/RTFEditorKit.h new file mode 100644 index 00000000000..789bec142ad --- /dev/null +++ b/libjava/javax/swing/text/rtf/RTFEditorKit.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_RTFEditorKit__ +#define __javax_swing_text_rtf_RTFEditorKit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Document; + namespace rtf + { + class RTFEditorKit; + } + } + } + } +} + +class javax::swing::text::rtf::RTFEditorKit : public ::javax::swing::text::StyledEditorKit +{ + +public: + RTFEditorKit(); + virtual ::java::lang::String * getContentType(); + virtual void read(::java::io::InputStream *, ::javax::swing::text::Document *, jint); + virtual void read(::java::io::Reader *, ::javax::swing::text::Document *, jint); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_RTFEditorKit__ diff --git a/libjava/javax/swing/text/rtf/RTFParseException.h b/libjava/javax/swing/text/rtf/RTFParseException.h new file mode 100644 index 00000000000..4c5e2b81ad2 --- /dev/null +++ b/libjava/javax/swing/text/rtf/RTFParseException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_RTFParseException__ +#define __javax_swing_text_rtf_RTFParseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace rtf + { + class RTFParseException; + } + } + } + } +} + +class javax::swing::text::rtf::RTFParseException : public ::java::lang::RuntimeException +{ + +public: + RTFParseException(); + RTFParseException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_RTFParseException__ diff --git a/libjava/javax/swing/text/rtf/RTFParser.h b/libjava/javax/swing/text/rtf/RTFParser.h new file mode 100644 index 00000000000..5de9f592080 --- /dev/null +++ b/libjava/javax/swing/text/rtf/RTFParser.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_RTFParser__ +#define __javax_swing_text_rtf_RTFParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + class Document; + namespace rtf + { + class RTFParser; + class RTFScanner; + } + } + } + } +} + +class javax::swing::text::rtf::RTFParser : public ::java::lang::Object +{ + + RTFParser(::javax::swing::text::Document *, jint); +public: + RTFParser(::java::io::InputStream *, ::javax::swing::text::Document *, jint); + RTFParser(::java::io::Reader *, ::javax::swing::text::Document *, jint); + virtual ::javax::swing::text::Document * getDocument(); + virtual void parse(); +private: + void parseFile(); + void parseHeader(); + void parseDocument(); + ::javax::swing::text::rtf::RTFScanner * __attribute__((aligned(__alignof__( ::java::lang::Object)))) scanner; + ::javax::swing::text::Document * doc; + jint pos; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_RTFParser__ diff --git a/libjava/javax/swing/text/rtf/RTFScanner.h b/libjava/javax/swing/text/rtf/RTFScanner.h new file mode 100644 index 00000000000..ebfd9108aa6 --- /dev/null +++ b/libjava/javax/swing/text/rtf/RTFScanner.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_RTFScanner__ +#define __javax_swing_text_rtf_RTFScanner__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace rtf + { + class RTFScanner; + class Token; + } + } + } + } +} + +class javax::swing::text::rtf::RTFScanner : public ::java::lang::Object +{ + + RTFScanner(); +public: + RTFScanner(::java::io::InputStream *); + RTFScanner(::java::io::Reader *); +private: + ::javax::swing::text::rtf::Token * readTokenImpl(); +public: // actually package-private + virtual ::javax::swing::text::rtf::Token * peekToken(); + virtual ::javax::swing::text::rtf::Token * readToken(); +private: + ::javax::swing::text::rtf::Token * readControlWord(); + ::javax::swing::text::rtf::Token * readText(); + ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in; + ::java::lang::StringBuffer * buffer; + ::javax::swing::text::rtf::Token * lastToken; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_RTFScanner__ diff --git a/libjava/javax/swing/text/rtf/TextToken.h b/libjava/javax/swing/text/rtf/TextToken.h new file mode 100644 index 00000000000..189d22994be --- /dev/null +++ b/libjava/javax/swing/text/rtf/TextToken.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_TextToken__ +#define __javax_swing_text_rtf_TextToken__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace rtf + { + class TextToken; + } + } + } + } +} + +class javax::swing::text::rtf::TextToken : public ::javax::swing::text::rtf::Token +{ + +public: + TextToken(::java::lang::String *); + ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::rtf::Token)))) text; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_TextToken__ diff --git a/libjava/javax/swing/text/rtf/Token.h b/libjava/javax/swing/text/rtf/Token.h new file mode 100644 index 00000000000..bd32666bff0 --- /dev/null +++ b/libjava/javax/swing/text/rtf/Token.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_text_rtf_Token__ +#define __javax_swing_text_rtf_Token__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace text + { + namespace rtf + { + class Token; + } + } + } + } +} + +class javax::swing::text::rtf::Token : public ::java::lang::Object +{ + +public: + Token(jint); + static const jint EOF = -1; + static const jint LCURLY = 1; + static const jint RCURLY = 2; + static const jint CONTROL_WORD = 3; + static const jint TEXT = 4; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_text_rtf_Token__ diff --git a/libjava/javax/swing/tree/AbstractLayoutCache$NodeDimensions.h b/libjava/javax/swing/tree/AbstractLayoutCache$NodeDimensions.h new file mode 100644 index 00000000000..88eca9e7bf0 --- /dev/null +++ b/libjava/javax/swing/tree/AbstractLayoutCache$NodeDimensions.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_AbstractLayoutCache$NodeDimensions__ +#define __javax_swing_tree_AbstractLayoutCache$NodeDimensions__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace tree + { + class AbstractLayoutCache$NodeDimensions; + } + } + } +} + +class javax::swing::tree::AbstractLayoutCache$NodeDimensions : public ::java::lang::Object +{ + +public: + AbstractLayoutCache$NodeDimensions(); + virtual ::java::awt::Rectangle * getNodeDimensions(::java::lang::Object *, jint, jint, jboolean, ::java::awt::Rectangle *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_AbstractLayoutCache$NodeDimensions__ diff --git a/libjava/javax/swing/tree/AbstractLayoutCache.h b/libjava/javax/swing/tree/AbstractLayoutCache.h new file mode 100644 index 00000000000..d51c8e852d2 --- /dev/null +++ b/libjava/javax/swing/tree/AbstractLayoutCache.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_AbstractLayoutCache__ +#define __javax_swing_tree_AbstractLayoutCache__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelEvent; + } + namespace tree + { + class AbstractLayoutCache; + class AbstractLayoutCache$NodeDimensions; + class TreeModel; + class TreePath; + class TreeSelectionModel; + } + } + } +} + +class javax::swing::tree::AbstractLayoutCache : public ::java::lang::Object +{ + +public: + AbstractLayoutCache(); + virtual void setNodeDimensions(::javax::swing::tree::AbstractLayoutCache$NodeDimensions *); + virtual ::javax::swing::tree::AbstractLayoutCache$NodeDimensions * getNodeDimensions(); +public: // actually protected + virtual ::java::awt::Rectangle * getNodeDimensions(::java::lang::Object *, jint, jint, jboolean, ::java::awt::Rectangle *); +public: + virtual void setModel(::javax::swing::tree::TreeModel *); + virtual ::javax::swing::tree::TreeModel * getModel(); + virtual void setRootVisible(jboolean); + virtual jboolean isRootVisible(); + virtual void setRowHeight(jint); + virtual jint getRowHeight(); + virtual void setSelectionModel(::javax::swing::tree::TreeSelectionModel *); + virtual ::javax::swing::tree::TreeSelectionModel * getSelectionModel(); + virtual jint getPreferredHeight(); + virtual jint getPreferredWidth(::java::awt::Rectangle *); + virtual jboolean isExpanded(::javax::swing::tree::TreePath *) = 0; + virtual ::java::awt::Rectangle * getBounds(::javax::swing::tree::TreePath *, ::java::awt::Rectangle *) = 0; + virtual ::javax::swing::tree::TreePath * getPathForRow(jint) = 0; + virtual jint getRowForPath(::javax::swing::tree::TreePath *) = 0; + virtual ::javax::swing::tree::TreePath * getPathClosestTo(jint, jint) = 0; + virtual ::java::util::Enumeration * getVisiblePathsFrom(::javax::swing::tree::TreePath *) = 0; + virtual jint getVisibleChildCount(::javax::swing::tree::TreePath *) = 0; + virtual void setExpandedState(::javax::swing::tree::TreePath *, jboolean) = 0; + virtual jboolean getExpandedState(::javax::swing::tree::TreePath *) = 0; + virtual jint getRowCount() = 0; + virtual void invalidateSizes() = 0; + virtual void invalidatePathBounds(::javax::swing::tree::TreePath *) = 0; + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *) = 0; + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *) = 0; + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *) = 0; + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *) = 0; + virtual JArray< jint > * getRowsForPaths(JArray< ::javax::swing::tree::TreePath * > *); +public: // actually protected + virtual jboolean isFixedRowHeight(); + ::javax::swing::tree::AbstractLayoutCache$NodeDimensions * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nodeDimensions; + ::javax::swing::tree::TreeModel * treeModel; + ::javax::swing::tree::TreeSelectionModel * treeSelectionModel; + jboolean rootVisible; + jint rowHeight; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_AbstractLayoutCache__ diff --git a/libjava/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.h b/libjava/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.h new file mode 100644 index 00000000000..50c7118f8dd --- /dev/null +++ b/libjava/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultMutableTreeNode$BreadthFirstEnumeration__ +#define __javax_swing_tree_DefaultMutableTreeNode$BreadthFirstEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class DefaultMutableTreeNode$BreadthFirstEnumeration; + class TreeNode; + } + } + } +} + +class javax::swing::tree::DefaultMutableTreeNode$BreadthFirstEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + DefaultMutableTreeNode$BreadthFirstEnumeration(::javax::swing::tree::TreeNode *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + ::java::util::LinkedList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queue; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultMutableTreeNode$BreadthFirstEnumeration__ diff --git a/libjava/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.h b/libjava/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.h new file mode 100644 index 00000000000..629c2943bbc --- /dev/null +++ b/libjava/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultMutableTreeNode$PostorderEnumeration__ +#define __javax_swing_tree_DefaultMutableTreeNode$PostorderEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class DefaultMutableTreeNode$PostorderEnumeration; + class TreeNode; + } + } + } +} + +class javax::swing::tree::DefaultMutableTreeNode$PostorderEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + DefaultMutableTreeNode$PostorderEnumeration(::javax::swing::tree::TreeNode *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +private: + ::java::lang::Object * traverse(::java::util::Enumeration *); +public: // actually package-private + ::java::util::Stack * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nodes; + ::java::util::Stack * childrenEnums; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultMutableTreeNode$PostorderEnumeration__ diff --git a/libjava/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.h b/libjava/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.h new file mode 100644 index 00000000000..53e87c3e295 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultMutableTreeNode$PreorderEnumeration__ +#define __javax_swing_tree_DefaultMutableTreeNode$PreorderEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class DefaultMutableTreeNode$PreorderEnumeration; + class TreeNode; + } + } + } +} + +class javax::swing::tree::DefaultMutableTreeNode$PreorderEnumeration : public ::java::lang::Object +{ + +public: // actually package-private + DefaultMutableTreeNode$PreorderEnumeration(::javax::swing::tree::TreeNode *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +private: + ::javax::swing::tree::TreeNode * traverse(::java::util::Enumeration *); +public: // actually package-private + ::javax::swing::tree::TreeNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next; + ::java::util::Stack * childrenEnums; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultMutableTreeNode$PreorderEnumeration__ diff --git a/libjava/javax/swing/tree/DefaultMutableTreeNode.h b/libjava/javax/swing/tree/DefaultMutableTreeNode.h new file mode 100644 index 00000000000..b5a46532375 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultMutableTreeNode.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultMutableTreeNode__ +#define __javax_swing_tree_DefaultMutableTreeNode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class DefaultMutableTreeNode; + class MutableTreeNode; + class TreeNode; + } + } + } +} + +class javax::swing::tree::DefaultMutableTreeNode : public ::java::lang::Object +{ + +public: + DefaultMutableTreeNode(); + DefaultMutableTreeNode(::java::lang::Object *); + DefaultMutableTreeNode(::java::lang::Object *, jboolean); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); + virtual void add(::javax::swing::tree::MutableTreeNode *); + virtual ::javax::swing::tree::TreeNode * getParent(); + virtual void remove(jint); + virtual void remove(::javax::swing::tree::MutableTreeNode *); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + virtual void insert(::javax::swing::tree::MutableTreeNode *, jint); + virtual JArray< ::javax::swing::tree::TreeNode * > * getPath(); + virtual ::java::util::Enumeration * children(); + virtual void setParent(::javax::swing::tree::MutableTreeNode *); + virtual ::javax::swing::tree::TreeNode * getChildAt(jint); + virtual jint getChildCount(); + virtual jint getIndex(::javax::swing::tree::TreeNode *); + virtual void setAllowsChildren(jboolean); + virtual jboolean getAllowsChildren(); + virtual void setUserObject(::java::lang::Object *); + virtual ::java::lang::Object * getUserObject(); + virtual void removeFromParent(); + virtual void removeAllChildren(); + virtual jboolean isNodeAncestor(::javax::swing::tree::TreeNode *); + virtual jboolean isNodeDescendant(::javax::swing::tree::DefaultMutableTreeNode *); + virtual ::javax::swing::tree::TreeNode * getSharedAncestor(::javax::swing::tree::DefaultMutableTreeNode *); + virtual jboolean isNodeRelated(::javax::swing::tree::DefaultMutableTreeNode *); + virtual jint getDepth(); + virtual jint getLevel(); +public: // actually protected + virtual JArray< ::javax::swing::tree::TreeNode * > * getPathToRoot(::javax::swing::tree::TreeNode *, jint); +public: + virtual JArray< ::java::lang::Object * > * getUserObjectPath(); + virtual ::javax::swing::tree::TreeNode * getRoot(); + virtual jboolean isRoot(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getNextNode(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getPreviousNode(); + virtual ::java::util::Enumeration * preorderEnumeration(); + virtual ::java::util::Enumeration * postorderEnumeration(); + virtual ::java::util::Enumeration * breadthFirstEnumeration(); + virtual ::java::util::Enumeration * depthFirstEnumeration(); + virtual ::java::util::Enumeration * pathFromAncestorEnumeration(::javax::swing::tree::TreeNode *); + virtual jboolean isNodeChild(::javax::swing::tree::TreeNode *); + virtual ::javax::swing::tree::TreeNode * getFirstChild(); + virtual ::javax::swing::tree::TreeNode * getLastChild(); + virtual ::javax::swing::tree::TreeNode * getChildAfter(::javax::swing::tree::TreeNode *); + virtual ::javax::swing::tree::TreeNode * getChildBefore(::javax::swing::tree::TreeNode *); + virtual jboolean isNodeSibling(::javax::swing::tree::TreeNode *); + virtual jint getSiblingCount(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getNextSibling(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getPreviousSibling(); + virtual jboolean isLeaf(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getFirstLeaf(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getLastLeaf(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getNextLeaf(); + virtual ::javax::swing::tree::DefaultMutableTreeNode * getPreviousLeaf(); + virtual jint getLeafCount(); +private: + static const jlong serialVersionUID = -4298474751201349152LL; +public: + static ::java::util::Enumeration * EMPTY_ENUMERATION; +public: // actually protected + ::javax::swing::tree::MutableTreeNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent; + ::java::util::Vector * children__; + ::java::lang::Object * userObject; + jboolean allowsChildren; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultMutableTreeNode__ diff --git a/libjava/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.h b/libjava/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.h new file mode 100644 index 00000000000..a09a8dcbe42 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeCellEditor$DefaultTextField.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeCellEditor$DefaultTextField__ +#define __javax_swing_tree_DefaultTreeCellEditor$DefaultTextField__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Font; + } + } + namespace javax + { + namespace swing + { + namespace border + { + class Border; + } + namespace tree + { + class DefaultTreeCellEditor; + class DefaultTreeCellEditor$DefaultTextField; + } + } + } +} + +class javax::swing::tree::DefaultTreeCellEditor$DefaultTextField : public ::javax::swing::JTextField +{ + +public: + DefaultTreeCellEditor$DefaultTextField(::javax::swing::tree::DefaultTreeCellEditor *, ::javax::swing::border::Border *); + virtual ::java::awt::Font * getFont(); + virtual ::javax::swing::border::Border * getBorder(); + virtual ::java::awt::Dimension * getPreferredSize(); +public: // actually package-private + static const jlong serialVersionUID = -6629304544265300143LL; +public: // actually protected + ::javax::swing::border::Border * __attribute__((aligned(__alignof__( ::javax::swing::JTextField)))) border; +public: // actually package-private + ::javax::swing::tree::DefaultTreeCellEditor * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeCellEditor$DefaultTextField__ diff --git a/libjava/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.h b/libjava/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.h new file mode 100644 index 00000000000..554543398b5 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeCellEditor$EditorContainer.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeCellEditor$EditorContainer__ +#define __javax_swing_tree_DefaultTreeCellEditor$EditorContainer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Dimension; + class Graphics; + } + } + namespace javax + { + namespace swing + { + namespace tree + { + class DefaultTreeCellEditor; + class DefaultTreeCellEditor$EditorContainer; + } + } + } +} + +class javax::swing::tree::DefaultTreeCellEditor$EditorContainer : public ::java::awt::Container +{ + +public: + DefaultTreeCellEditor$EditorContainer(::javax::swing::tree::DefaultTreeCellEditor *); + virtual void EditorContainer(); + virtual void paint(::java::awt::Graphics *); + virtual void doLayout(); + virtual ::java::awt::Dimension * getPreferredSize(); +public: // actually package-private + static const jlong serialVersionUID = 6470339600449699810LL; + ::javax::swing::tree::DefaultTreeCellEditor * __attribute__((aligned(__alignof__( ::java::awt::Container)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeCellEditor$EditorContainer__ diff --git a/libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h b/libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h new file mode 100644 index 00000000000..cc889e4cd16 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeCellEditor$RealEditorListener__ +#define __javax_swing_tree_DefaultTreeCellEditor$RealEditorListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class ChangeEvent; + } + namespace tree + { + class DefaultTreeCellEditor; + class DefaultTreeCellEditor$RealEditorListener; + } + } + } +} + +class javax::swing::tree::DefaultTreeCellEditor$RealEditorListener : public ::java::lang::Object +{ + +public: // actually package-private + DefaultTreeCellEditor$RealEditorListener(::javax::swing::tree::DefaultTreeCellEditor *); +public: + virtual void editingCanceled(::javax::swing::event::ChangeEvent *); + virtual void editingStopped(::javax::swing::event::ChangeEvent *); +public: // actually package-private + ::javax::swing::tree::DefaultTreeCellEditor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeCellEditor$RealEditorListener__ diff --git a/libjava/javax/swing/tree/DefaultTreeCellEditor.h b/libjava/javax/swing/tree/DefaultTreeCellEditor.h new file mode 100644 index 00000000000..759439c189f --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeCellEditor.h @@ -0,0 +1,113 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeCellEditor__ +#define __javax_swing_tree_DefaultTreeCellEditor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Container; + class Font; + namespace event + { + class ActionEvent; + } + } + } + namespace javax + { + namespace swing + { + class Icon; + class JTree; + class Timer; + namespace event + { + class CellEditorListener; + class EventListenerList; + class TreeSelectionEvent; + } + namespace tree + { + class DefaultTreeCellEditor; + class DefaultTreeCellRenderer; + class TreeCellEditor; + class TreePath; + } + } + } +} + +class javax::swing::tree::DefaultTreeCellEditor : public ::java::lang::Object +{ + +public: + DefaultTreeCellEditor(::javax::swing::JTree *, ::javax::swing::tree::DefaultTreeCellRenderer *); + DefaultTreeCellEditor(::javax::swing::JTree *, ::javax::swing::tree::DefaultTreeCellRenderer *, ::javax::swing::tree::TreeCellEditor *); +private: + void configureEditingComponent(::javax::swing::JTree *, ::javax::swing::tree::DefaultTreeCellRenderer *, ::javax::swing::tree::TreeCellEditor *); + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + virtual void setBorderSelectionColor(::java::awt::Color *); + virtual ::java::awt::Color * getBorderSelectionColor(); + virtual void setFont(::java::awt::Font *); + virtual ::java::awt::Font * getFont(); + virtual ::java::awt::Component * getTreeCellEditorComponent(::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint); + virtual ::java::lang::Object * getCellEditorValue(); + virtual jboolean isCellEditable(::java::util::EventObject *); + virtual jboolean shouldSelectCell(::java::util::EventObject *); + virtual jboolean stopCellEditing(); + virtual void cancelCellEditing(); +private: + void finish(); +public: + virtual void addCellEditorListener(::javax::swing::event::CellEditorListener *); + virtual void removeCellEditorListener(::javax::swing::event::CellEditorListener *); + virtual JArray< ::javax::swing::event::CellEditorListener * > * getCellEditorListeners(); + virtual void valueChanged(::javax::swing::event::TreeSelectionEvent *); + virtual void actionPerformed(::java::awt::event::ActionEvent *); +public: // actually protected + virtual void setTree(::javax::swing::JTree *); + virtual jboolean shouldStartEditingTimer(::java::util::EventObject *); + virtual void startEditingTimer(); + virtual jboolean canEditImmediately(::java::util::EventObject *); + virtual jboolean inHitRegion(jint, jint); + virtual void determineOffset(::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint); + virtual void prepareForEditing(); + virtual ::java::awt::Container * createContainer(); + virtual ::javax::swing::tree::TreeCellEditor * createTreeCellEditor(); +private: + ::javax::swing::event::EventListenerList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listenerList; +public: // actually protected + ::javax::swing::tree::TreeCellEditor * realEditor; + ::javax::swing::tree::DefaultTreeCellRenderer * renderer; + ::java::awt::Container * editingContainer; + ::java::awt::Component * editingComponent; + jboolean canEdit; + jint offset; + ::javax::swing::JTree * tree; + ::javax::swing::tree::TreePath * lastPath; + ::javax::swing::Timer * timer; + jint lastRow; + ::java::awt::Color * borderSelectionColor; + ::javax::swing::Icon * editingIcon; + ::java::awt::Font * font; +private: + ::javax::swing::tree::TreePath * tPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeCellEditor__ diff --git a/libjava/javax/swing/tree/DefaultTreeCellRenderer.h b/libjava/javax/swing/tree/DefaultTreeCellRenderer.h new file mode 100644 index 00000000000..5677bad3670 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeCellRenderer.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeCellRenderer__ +#define __javax_swing_tree_DefaultTreeCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Color; + class Component; + class Dimension; + class Font; + class Graphics; + class Rectangle; + } + } + namespace javax + { + namespace swing + { + class Icon; + class JTree; + namespace tree + { + class DefaultTreeCellRenderer; + } + } + } +} + +class javax::swing::tree::DefaultTreeCellRenderer : public ::javax::swing::JLabel +{ + +public: + DefaultTreeCellRenderer(); + virtual ::javax::swing::Icon * getDefaultOpenIcon(); + virtual ::javax::swing::Icon * getDefaultClosedIcon(); + virtual ::javax::swing::Icon * getDefaultLeafIcon(); + virtual void setOpenIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getOpenIcon(); + virtual void setClosedIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getClosedIcon(); + virtual void setLeafIcon(::javax::swing::Icon *); + virtual ::javax::swing::Icon * getLeafIcon(); + virtual void setTextSelectionColor(::java::awt::Color *); + virtual ::java::awt::Color * getTextSelectionColor(); + virtual void setTextNonSelectionColor(::java::awt::Color *); + virtual ::java::awt::Color * getTextNonSelectionColor(); + virtual void setBackgroundSelectionColor(::java::awt::Color *); + virtual ::java::awt::Color * getBackgroundSelectionColor(); + virtual void setBackgroundNonSelectionColor(::java::awt::Color *); + virtual ::java::awt::Color * getBackgroundNonSelectionColor(); + virtual void setBorderSelectionColor(::java::awt::Color *); + virtual ::java::awt::Color * getBorderSelectionColor(); + virtual void setFont(::java::awt::Font *); + virtual void setBackground(::java::awt::Color *); + virtual ::java::awt::Component * getTreeCellRendererComponent(::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint, jboolean); + virtual ::java::awt::Font * getFont(); + virtual void paint(::java::awt::Graphics *); +private: + void paintFocus(::java::awt::Graphics *, jint, jint, jint, jint); + jint getXOffset(); +public: + virtual ::java::awt::Dimension * getPreferredSize(); + virtual void validate(); + virtual void revalidate(); + virtual void repaint(jlong, jint, jint, jint, jint); + virtual void repaint(::java::awt::Rectangle *); +public: // actually protected + virtual void firePropertyChange(::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *); +public: + virtual void firePropertyChange(::java::lang::String *, jbyte, jbyte); + virtual void firePropertyChange(::java::lang::String *, jchar, jchar); + virtual void firePropertyChange(::java::lang::String *, jshort, jshort); + virtual void firePropertyChange(::java::lang::String *, jint, jint); + virtual void firePropertyChange(::java::lang::String *, jlong, jlong); + virtual void firePropertyChange(::java::lang::String *, jfloat, jfloat); + virtual void firePropertyChange(::java::lang::String *, jdouble, jdouble); + virtual void firePropertyChange(::java::lang::String *, jboolean, jboolean); +public: // actually protected + jboolean __attribute__((aligned(__alignof__( ::javax::swing::JLabel)))) selected; + jboolean hasFocus; +private: + jboolean drawsFocusBorderAroundIcon; +public: // actually protected + ::javax::swing::Icon * closedIcon; + ::javax::swing::Icon * leafIcon; + ::javax::swing::Icon * openIcon; + ::java::awt::Color * textSelectionColor; + ::java::awt::Color * textNonSelectionColor; + ::java::awt::Color * backgroundSelectionColor; + ::java::awt::Color * backgroundNonSelectionColor; + ::java::awt::Color * borderSelectionColor; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeCellRenderer__ diff --git a/libjava/javax/swing/tree/DefaultTreeModel.h b/libjava/javax/swing/tree/DefaultTreeModel.h new file mode 100644 index 00000000000..18deb18fa67 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeModel.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeModel__ +#define __javax_swing_tree_DefaultTreeModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class EventListenerList; + class TreeModelListener; + } + namespace tree + { + class DefaultTreeModel; + class MutableTreeNode; + class TreeNode; + class TreePath; + } + } + } +} + +class javax::swing::tree::DefaultTreeModel : public ::java::lang::Object +{ + +public: + DefaultTreeModel(::javax::swing::tree::TreeNode *); + DefaultTreeModel(::javax::swing::tree::TreeNode *, jboolean); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + virtual jboolean asksAllowsChildren(); + virtual void setAsksAllowsChildren(jboolean); + virtual void setRoot(::javax::swing::tree::TreeNode *); + virtual ::java::lang::Object * getRoot(); + virtual jint getIndexOfChild(::java::lang::Object *, ::java::lang::Object *); + virtual ::java::lang::Object * getChild(::java::lang::Object *, jint); + virtual jint getChildCount(::java::lang::Object *); + virtual jboolean isLeaf(::java::lang::Object *); + virtual void reload(); + virtual void reload(::javax::swing::tree::TreeNode *); + virtual void valueForPathChanged(::javax::swing::tree::TreePath *, ::java::lang::Object *); + virtual void insertNodeInto(::javax::swing::tree::MutableTreeNode *, ::javax::swing::tree::MutableTreeNode *, jint); + virtual void removeNodeFromParent(::javax::swing::tree::MutableTreeNode *); + virtual void nodeChanged(::javax::swing::tree::TreeNode *); + virtual void nodesWereInserted(::javax::swing::tree::TreeNode *, JArray< jint > *); + virtual void nodesWereRemoved(::javax::swing::tree::TreeNode *, JArray< jint > *, JArray< ::java::lang::Object * > *); + virtual void nodesChanged(::javax::swing::tree::TreeNode *, JArray< jint > *); + virtual void nodeStructureChanged(::javax::swing::tree::TreeNode *); + virtual JArray< ::javax::swing::tree::TreeNode * > * getPathToRoot(::javax::swing::tree::TreeNode *); +public: // actually protected + virtual JArray< ::javax::swing::tree::TreeNode * > * getPathToRoot(::javax::swing::tree::TreeNode *, jint); +public: + virtual void addTreeModelListener(::javax::swing::event::TreeModelListener *); + virtual void removeTreeModelListener(::javax::swing::event::TreeModelListener *); + virtual JArray< ::javax::swing::event::TreeModelListener * > * getTreeModelListeners(); +public: // actually protected + virtual void fireTreeNodesChanged(::java::lang::Object *, JArray< ::java::lang::Object * > *, JArray< jint > *, JArray< ::java::lang::Object * > *); + virtual void fireTreeNodesInserted(::java::lang::Object *, JArray< ::java::lang::Object * > *, JArray< jint > *, JArray< ::java::lang::Object * > *); + virtual void fireTreeNodesRemoved(::java::lang::Object *, JArray< ::java::lang::Object * > *, JArray< jint > *, JArray< ::java::lang::Object * > *); + virtual void fireTreeStructureChanged(::java::lang::Object *, JArray< ::java::lang::Object * > *, JArray< jint > *, JArray< ::java::lang::Object * > *); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); +public: // actually package-private + static const jlong serialVersionUID = -2621068368932566998LL; +public: // actually protected + ::javax::swing::tree::TreeNode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) root; + ::javax::swing::event::EventListenerList * listenerList; + jboolean asksAllowsChildren__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeModel__ diff --git a/libjava/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.h b/libjava/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.h new file mode 100644 index 00000000000..c9544bb4645 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeSelectionModel$PathPlaceHolder.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeSelectionModel$PathPlaceHolder__ +#define __javax_swing_tree_DefaultTreeSelectionModel$PathPlaceHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class DefaultTreeSelectionModel$PathPlaceHolder; + class TreePath; + } + } + } +} + +class javax::swing::tree::DefaultTreeSelectionModel$PathPlaceHolder : public ::java::lang::Object +{ + +public: // actually package-private + DefaultTreeSelectionModel$PathPlaceHolder(::javax::swing::tree::TreePath *, jboolean); + ::javax::swing::tree::TreePath * __attribute__((aligned(__alignof__( ::java::lang::Object)))) path; + jboolean isNew; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeSelectionModel$PathPlaceHolder__ diff --git a/libjava/javax/swing/tree/DefaultTreeSelectionModel.h b/libjava/javax/swing/tree/DefaultTreeSelectionModel.h new file mode 100644 index 00000000000..07a358d1531 --- /dev/null +++ b/libjava/javax/swing/tree/DefaultTreeSelectionModel.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_DefaultTreeSelectionModel__ +#define __javax_swing_tree_DefaultTreeSelectionModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + class DefaultListSelectionModel; + namespace event + { + class EventListenerList; + class SwingPropertyChangeSupport; + class TreeSelectionEvent; + class TreeSelectionListener; + } + namespace tree + { + class DefaultTreeSelectionModel; + class RowMapper; + class TreePath; + } + } + } +} + +class javax::swing::tree::DefaultTreeSelectionModel : public ::java::lang::Object +{ + +public: + DefaultTreeSelectionModel(); + virtual ::java::lang::Object * clone(); + virtual ::java::lang::String * toString(); +private: + void writeObject(::java::io::ObjectOutputStream *); + void readObject(::java::io::ObjectInputStream *); +public: + virtual void setRowMapper(::javax::swing::tree::RowMapper *); + virtual ::javax::swing::tree::RowMapper * getRowMapper(); + virtual void setSelectionMode(jint); + virtual jint getSelectionMode(); + virtual void setSelectionPath(::javax::swing::tree::TreePath *); +public: // actually package-private + virtual jint getRow(::javax::swing::tree::TreePath *); +public: + virtual void setSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual void addSelectionPath(::javax::swing::tree::TreePath *); + virtual void addSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual void removeSelectionPath(::javax::swing::tree::TreePath *); + virtual void removeSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *); + virtual ::javax::swing::tree::TreePath * getSelectionPath(); + virtual JArray< ::javax::swing::tree::TreePath * > * getSelectionPaths(); + virtual jint getSelectionCount(); + virtual jboolean isPathSelected(::javax::swing::tree::TreePath *); + virtual jboolean isSelectionEmpty(); + virtual void clearSelection(); + virtual void addTreeSelectionListener(::javax::swing::event::TreeSelectionListener *); + virtual void removeTreeSelectionListener(::javax::swing::event::TreeSelectionListener *); + virtual JArray< ::javax::swing::event::TreeSelectionListener * > * getTreeSelectionListeners(); +public: // actually protected + virtual void fireValueChanged(::javax::swing::event::TreeSelectionEvent *); +public: + virtual JArray< ::java::util::EventListener * > * getListeners(::java::lang::Class *); + virtual JArray< jint > * getSelectionRows(); + virtual jint getMinSelectionRow(); + virtual jint getMaxSelectionRow(); + virtual jboolean isRowSelected(jint); + virtual void resetRowSelection(); + virtual jint getLeadSelectionRow(); + virtual ::javax::swing::tree::TreePath * getLeadSelectionPath(); + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *); + virtual JArray< ::java::beans::PropertyChangeListener * > * getPropertyChangeListeners(); +public: // actually protected + virtual void insureRowContinuity(); + virtual jboolean arePathsContiguous(JArray< ::javax::swing::tree::TreePath * > *); + virtual jboolean canPathsBeAdded(JArray< ::javax::swing::tree::TreePath * > *); + virtual jboolean canPathsBeRemoved(JArray< ::javax::swing::tree::TreePath * > *); + virtual void notifyPathChange(::java::util::Vector *, ::javax::swing::tree::TreePath *); + virtual void updateLeadIndex(); + virtual void insureUniqueness(); +public: // actually package-private + static const jlong serialVersionUID = 3288129636638950196LL; +public: + static ::java::lang::String * SELECTION_MODE_PROPERTY; +public: // actually protected + ::javax::swing::event::SwingPropertyChangeSupport * __attribute__((aligned(__alignof__( ::java::lang::Object)))) changeSupport; + JArray< ::javax::swing::tree::TreePath * > * selection; + ::javax::swing::event::EventListenerList * listenerList; + ::javax::swing::tree::RowMapper * rowMapper; + ::javax::swing::DefaultListSelectionModel * listSelectionModel; + jint selectionMode; + ::javax::swing::tree::TreePath * leadPath; + jint leadIndex; + jint leadRow; +private: + ::java::util::HashSet * selectedPaths; + ::java::util::HashSet * tmpPaths; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_DefaultTreeSelectionModel__ diff --git a/libjava/javax/swing/tree/ExpandVetoException.h b/libjava/javax/swing/tree/ExpandVetoException.h new file mode 100644 index 00000000000..174bcb8974d --- /dev/null +++ b/libjava/javax/swing/tree/ExpandVetoException.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_ExpandVetoException__ +#define __javax_swing_tree_ExpandVetoException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeExpansionEvent; + } + namespace tree + { + class ExpandVetoException; + } + } + } +} + +class javax::swing::tree::ExpandVetoException : public ::java::lang::Exception +{ + +public: + ExpandVetoException(::javax::swing::event::TreeExpansionEvent *); + ExpandVetoException(::javax::swing::event::TreeExpansionEvent *, ::java::lang::String *); +public: // actually protected + ::javax::swing::event::TreeExpansionEvent * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) event; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_ExpandVetoException__ diff --git a/libjava/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.h b/libjava/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.h new file mode 100644 index 00000000000..7d128e39621 --- /dev/null +++ b/libjava/javax/swing/tree/FixedHeightLayoutCache$NodeRecord.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_FixedHeightLayoutCache$NodeRecord__ +#define __javax_swing_tree_FixedHeightLayoutCache$NodeRecord__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace tree + { + class FixedHeightLayoutCache; + class FixedHeightLayoutCache$NodeRecord; + class TreePath; + } + } + } +} + +class javax::swing::tree::FixedHeightLayoutCache$NodeRecord : public ::java::lang::Object +{ + +public: // actually package-private + FixedHeightLayoutCache$NodeRecord(::javax::swing::tree::FixedHeightLayoutCache *, jint, jint, ::java::lang::Object *, ::java::lang::Object *); + virtual ::javax::swing::tree::TreePath * getPath(); + virtual ::java::awt::Rectangle * getBounds(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) row; + jint depth; + ::java::lang::Object * parent; + ::java::lang::Object * node; + jboolean isExpanded; + ::java::awt::Rectangle * bounds; +private: + ::javax::swing::tree::TreePath * path; +public: // actually package-private + ::javax::swing::tree::FixedHeightLayoutCache * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_FixedHeightLayoutCache$NodeRecord__ diff --git a/libjava/javax/swing/tree/FixedHeightLayoutCache.h b/libjava/javax/swing/tree/FixedHeightLayoutCache.h new file mode 100644 index 00000000000..863ccd9f06c --- /dev/null +++ b/libjava/javax/swing/tree/FixedHeightLayoutCache.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_FixedHeightLayoutCache__ +#define __javax_swing_tree_FixedHeightLayoutCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelEvent; + } + namespace tree + { + class FixedHeightLayoutCache; + class TreeModel; + class TreePath; + } + } + } +} + +class javax::swing::tree::FixedHeightLayoutCache : public ::javax::swing::tree::VariableHeightLayoutCache +{ + +public: + FixedHeightLayoutCache(); + virtual jint getRowCount(); +private: + void update(); + void countRows(::java::lang::Object *, ::java::lang::Object *, jint); +public: + virtual void invalidatePathBounds(::javax::swing::tree::TreePath *); + virtual void invalidateSizes(); + virtual void setExpandedState(::javax::swing::tree::TreePath *, jboolean); + virtual jboolean isExpanded(::javax::swing::tree::TreePath *); + virtual ::java::awt::Rectangle * getBounds(::javax::swing::tree::TreePath *, ::java::awt::Rectangle *); + virtual ::javax::swing::tree::TreePath * getPathForRow(jint); + virtual jint getRowForPath(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getPathClosestTo(jint, jint); +public: // actually package-private + virtual jint distance(::java::awt::Rectangle *, jint, jint); +public: + virtual jint getVisibleChildCount(::javax::swing::tree::TreePath *); + virtual ::java::util::Enumeration * getVisiblePathsFrom(::javax::swing::tree::TreePath *); + virtual jboolean getExpandedState(::javax::swing::tree::TreePath *); + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *); + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *); + virtual void setModel(::javax::swing::tree::TreeModel *); + virtual void setRootVisible(jboolean); + virtual jint getPreferredHeight(); + virtual jint getPreferredWidth(::java::awt::Rectangle *); +public: // actually protected + virtual jboolean isFixedRowHeight(); +public: // actually package-private + ::java::util::Set * __attribute__((aligned(__alignof__( ::javax::swing::tree::VariableHeightLayoutCache)))) expanded; + ::java::util::Hashtable * nodes; + ::java::util::Hashtable * row2node; + jboolean dirty; + jint totalHeight; + jint maximalWidth; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_FixedHeightLayoutCache__ diff --git a/libjava/javax/swing/tree/MutableTreeNode.h b/libjava/javax/swing/tree/MutableTreeNode.h new file mode 100644 index 00000000000..221f6750dc5 --- /dev/null +++ b/libjava/javax/swing/tree/MutableTreeNode.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_MutableTreeNode__ +#define __javax_swing_tree_MutableTreeNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class MutableTreeNode; + class TreeNode; + } + } + } +} + +class javax::swing::tree::MutableTreeNode : public ::java::lang::Object +{ + +public: + virtual void insert(::javax::swing::tree::MutableTreeNode *, jint) = 0; + virtual void remove(jint) = 0; + virtual void remove(::javax::swing::tree::MutableTreeNode *) = 0; + virtual void setUserObject(::java::lang::Object *) = 0; + virtual void removeFromParent() = 0; + virtual void setParent(::javax::swing::tree::MutableTreeNode *) = 0; + virtual ::javax::swing::tree::TreeNode * getParent() = 0; + virtual jint getIndex(::javax::swing::tree::TreeNode *) = 0; + virtual ::javax::swing::tree::TreeNode * getChildAt(jint) = 0; + virtual jint getChildCount() = 0; + virtual jboolean getAllowsChildren() = 0; + virtual jboolean isLeaf() = 0; + virtual ::java::util::Enumeration * children() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_MutableTreeNode__ diff --git a/libjava/javax/swing/tree/RowMapper.h b/libjava/javax/swing/tree/RowMapper.h new file mode 100644 index 00000000000..d7310d3fcfb --- /dev/null +++ b/libjava/javax/swing/tree/RowMapper.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_RowMapper__ +#define __javax_swing_tree_RowMapper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class RowMapper; + class TreePath; + } + } + } +} + +class javax::swing::tree::RowMapper : public ::java::lang::Object +{ + +public: + virtual JArray< jint > * getRowsForPaths(JArray< ::javax::swing::tree::TreePath * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_RowMapper__ diff --git a/libjava/javax/swing/tree/TreeCellEditor.h b/libjava/javax/swing/tree/TreeCellEditor.h new file mode 100644 index 00000000000..0b18ec605ba --- /dev/null +++ b/libjava/javax/swing/tree/TreeCellEditor.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_TreeCellEditor__ +#define __javax_swing_tree_TreeCellEditor__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTree; + namespace event + { + class CellEditorListener; + } + namespace tree + { + class TreeCellEditor; + } + } + } +} + +class javax::swing::tree::TreeCellEditor : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getTreeCellEditorComponent(::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint) = 0; + virtual ::java::lang::Object * getCellEditorValue() = 0; + virtual jboolean isCellEditable(::java::util::EventObject *) = 0; + virtual jboolean shouldSelectCell(::java::util::EventObject *) = 0; + virtual jboolean stopCellEditing() = 0; + virtual void cancelCellEditing() = 0; + virtual void addCellEditorListener(::javax::swing::event::CellEditorListener *) = 0; + virtual void removeCellEditorListener(::javax::swing::event::CellEditorListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_TreeCellEditor__ diff --git a/libjava/javax/swing/tree/TreeCellRenderer.h b/libjava/javax/swing/tree/TreeCellRenderer.h new file mode 100644 index 00000000000..2043386d14d --- /dev/null +++ b/libjava/javax/swing/tree/TreeCellRenderer.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_TreeCellRenderer__ +#define __javax_swing_tree_TreeCellRenderer__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Component; + } + } + namespace javax + { + namespace swing + { + class JTree; + namespace tree + { + class TreeCellRenderer; + } + } + } +} + +class javax::swing::tree::TreeCellRenderer : public ::java::lang::Object +{ + +public: + virtual ::java::awt::Component * getTreeCellRendererComponent(::javax::swing::JTree *, ::java::lang::Object *, jboolean, jboolean, jboolean, jint, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_TreeCellRenderer__ diff --git a/libjava/javax/swing/tree/TreeModel.h b/libjava/javax/swing/tree/TreeModel.h new file mode 100644 index 00000000000..981d53fb5ab --- /dev/null +++ b/libjava/javax/swing/tree/TreeModel.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_TreeModel__ +#define __javax_swing_tree_TreeModel__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelListener; + } + namespace tree + { + class TreeModel; + class TreePath; + } + } + } +} + +class javax::swing::tree::TreeModel : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getRoot() = 0; + virtual ::java::lang::Object * getChild(::java::lang::Object *, jint) = 0; + virtual jint getChildCount(::java::lang::Object *) = 0; + virtual jboolean isLeaf(::java::lang::Object *) = 0; + virtual void valueForPathChanged(::javax::swing::tree::TreePath *, ::java::lang::Object *) = 0; + virtual jint getIndexOfChild(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual void addTreeModelListener(::javax::swing::event::TreeModelListener *) = 0; + virtual void removeTreeModelListener(::javax::swing::event::TreeModelListener *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_TreeModel__ diff --git a/libjava/javax/swing/tree/TreeNode.h b/libjava/javax/swing/tree/TreeNode.h new file mode 100644 index 00000000000..3307c09c68a --- /dev/null +++ b/libjava/javax/swing/tree/TreeNode.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_TreeNode__ +#define __javax_swing_tree_TreeNode__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class TreeNode; + } + } + } +} + +class javax::swing::tree::TreeNode : public ::java::lang::Object +{ + +public: + virtual ::javax::swing::tree::TreeNode * getParent() = 0; + virtual jint getIndex(::javax::swing::tree::TreeNode *) = 0; + virtual ::javax::swing::tree::TreeNode * getChildAt(jint) = 0; + virtual jint getChildCount() = 0; + virtual jboolean getAllowsChildren() = 0; + virtual jboolean isLeaf() = 0; + virtual ::java::util::Enumeration * children() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_TreeNode__ diff --git a/libjava/javax/swing/tree/TreePath.h b/libjava/javax/swing/tree/TreePath.h new file mode 100644 index 00000000000..9c99e2720ea --- /dev/null +++ b/libjava/javax/swing/tree/TreePath.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_TreePath__ +#define __javax_swing_tree_TreePath__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace tree + { + class TreePath; + } + } + } +} + +class javax::swing::tree::TreePath : public ::java::lang::Object +{ + +public: + TreePath(JArray< ::java::lang::Object * > *); + TreePath(::java::lang::Object *); +public: // actually protected + TreePath(::javax::swing::tree::TreePath *, ::java::lang::Object *); + TreePath(JArray< ::java::lang::Object * > *, jint); + TreePath(); +public: + virtual jint hashCode(); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual JArray< ::java::lang::Object * > * getPath(); + virtual ::java::lang::Object * getLastPathComponent(); + virtual jint getPathCount(); + virtual ::java::lang::Object * getPathComponent(jint); + virtual jboolean isDescendant(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * pathByAddingChild(::java::lang::Object *); + virtual ::javax::swing::tree::TreePath * getParentPath(); +public: // actually package-private + static const jlong serialVersionUID = 4380036194768077479LL; +private: + JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) path; + ::javax::swing::tree::TreePath * parentPath; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_TreePath__ diff --git a/libjava/javax/swing/tree/TreeSelectionModel.h b/libjava/javax/swing/tree/TreeSelectionModel.h new file mode 100644 index 00000000000..3c0194d1808 --- /dev/null +++ b/libjava/javax/swing/tree/TreeSelectionModel.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_TreeSelectionModel__ +#define __javax_swing_tree_TreeSelectionModel__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace beans + { + class PropertyChangeListener; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class TreeSelectionListener; + } + namespace tree + { + class RowMapper; + class TreePath; + class TreeSelectionModel; + } + } + } +} + +class javax::swing::tree::TreeSelectionModel : public ::java::lang::Object +{ + +public: + virtual void setSelectionMode(jint) = 0; + virtual jint getSelectionMode() = 0; + virtual void setSelectionPath(::javax::swing::tree::TreePath *) = 0; + virtual void setSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *) = 0; + virtual void addSelectionPath(::javax::swing::tree::TreePath *) = 0; + virtual void addSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *) = 0; + virtual void removeSelectionPath(::javax::swing::tree::TreePath *) = 0; + virtual void removeSelectionPaths(JArray< ::javax::swing::tree::TreePath * > *) = 0; + virtual ::javax::swing::tree::TreePath * getSelectionPath() = 0; + virtual JArray< ::javax::swing::tree::TreePath * > * getSelectionPaths() = 0; + virtual jint getSelectionCount() = 0; + virtual jboolean isPathSelected(::javax::swing::tree::TreePath *) = 0; + virtual jboolean isSelectionEmpty() = 0; + virtual void clearSelection() = 0; + virtual void setRowMapper(::javax::swing::tree::RowMapper *) = 0; + virtual ::javax::swing::tree::RowMapper * getRowMapper() = 0; + virtual JArray< jint > * getSelectionRows() = 0; + virtual jint getMinSelectionRow() = 0; + virtual jint getMaxSelectionRow() = 0; + virtual jboolean isRowSelected(jint) = 0; + virtual void resetRowSelection() = 0; + virtual jint getLeadSelectionRow() = 0; + virtual ::javax::swing::tree::TreePath * getLeadSelectionPath() = 0; + virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *) = 0; + virtual void addTreeSelectionListener(::javax::swing::event::TreeSelectionListener *) = 0; + virtual void removeTreeSelectionListener(::javax::swing::event::TreeSelectionListener *) = 0; + static const jint SINGLE_TREE_SELECTION = 1; + static const jint CONTIGUOUS_TREE_SELECTION = 2; + static const jint DISCONTIGUOUS_TREE_SELECTION = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_tree_TreeSelectionModel__ diff --git a/libjava/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.h b/libjava/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.h new file mode 100644 index 00000000000..1555726c9ef --- /dev/null +++ b/libjava/javax/swing/tree/VariableHeightLayoutCache$NodeRecord.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_VariableHeightLayoutCache$NodeRecord__ +#define __javax_swing_tree_VariableHeightLayoutCache$NodeRecord__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace tree + { + class TreePath; + class VariableHeightLayoutCache; + class VariableHeightLayoutCache$NodeRecord; + } + } + } +} + +class javax::swing::tree::VariableHeightLayoutCache$NodeRecord : public ::java::lang::Object +{ + +public: // actually package-private + VariableHeightLayoutCache$NodeRecord(::javax::swing::tree::VariableHeightLayoutCache *, jint, jint, ::java::lang::Object *, ::java::lang::Object *); + virtual ::javax::swing::tree::TreePath * getPath(); + virtual ::java::awt::Rectangle * getBounds(); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) row; + jint depth; + ::java::lang::Object * parent; + ::java::lang::Object * node; + jboolean isExpanded; + ::java::awt::Rectangle * bounds; +private: + ::javax::swing::tree::TreePath * path; +public: // actually package-private + ::javax::swing::tree::VariableHeightLayoutCache * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_VariableHeightLayoutCache$NodeRecord__ diff --git a/libjava/javax/swing/tree/VariableHeightLayoutCache.h b/libjava/javax/swing/tree/VariableHeightLayoutCache.h new file mode 100644 index 00000000000..81a85bad41f --- /dev/null +++ b/libjava/javax/swing/tree/VariableHeightLayoutCache.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_tree_VariableHeightLayoutCache__ +#define __javax_swing_tree_VariableHeightLayoutCache__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace awt + { + class Rectangle; + } + } + namespace javax + { + namespace swing + { + namespace event + { + class TreeModelEvent; + } + namespace tree + { + class AbstractLayoutCache$NodeDimensions; + class TreeModel; + class TreePath; + class VariableHeightLayoutCache; + } + } + } +} + +class javax::swing::tree::VariableHeightLayoutCache : public ::javax::swing::tree::AbstractLayoutCache +{ + +public: + VariableHeightLayoutCache(); + virtual jint getRowCount(); +private: + void update(); + jint countRows(::java::lang::Object *, ::java::lang::Object *, jint, jint); +public: + virtual void invalidatePathBounds(::javax::swing::tree::TreePath *); + virtual void invalidateSizes(); + virtual void setExpandedState(::javax::swing::tree::TreePath *, jboolean); + virtual jboolean isExpanded(::javax::swing::tree::TreePath *); + virtual ::java::awt::Rectangle * getBounds(::javax::swing::tree::TreePath *, ::java::awt::Rectangle *); + virtual ::javax::swing::tree::TreePath * getPathForRow(jint); + virtual jint getRowForPath(::javax::swing::tree::TreePath *); + virtual ::javax::swing::tree::TreePath * getPathClosestTo(jint, jint); +public: // actually package-private + virtual jint distance(::java::awt::Rectangle *, jint, jint); +public: + virtual jint getVisibleChildCount(::javax::swing::tree::TreePath *); + virtual ::java::util::Enumeration * getVisiblePathsFrom(::javax::swing::tree::TreePath *); + virtual jboolean getExpandedState(::javax::swing::tree::TreePath *); + virtual void treeNodesChanged(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesInserted(::javax::swing::event::TreeModelEvent *); + virtual void treeNodesRemoved(::javax::swing::event::TreeModelEvent *); + virtual void treeStructureChanged(::javax::swing::event::TreeModelEvent *); + virtual void setModel(::javax::swing::tree::TreeModel *); + virtual void setRootVisible(jboolean); + virtual jint getPreferredHeight(); + virtual jint getPreferredWidth(::java::awt::Rectangle *); + virtual void setNodeDimensions(::javax::swing::tree::AbstractLayoutCache$NodeDimensions *); + virtual void setRowHeight(jint); +private: + static ::java::awt::Rectangle * RECT_CACHE; +public: // actually package-private + ::java::util::Set * __attribute__((aligned(__alignof__( ::javax::swing::tree::AbstractLayoutCache)))) expanded; + ::java::util::Hashtable * nodes; + ::java::util::ArrayList * row2node; + jboolean dirty; + jint totalHeight; + jint maximalWidth; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_tree_VariableHeightLayoutCache__ diff --git a/libjava/javax/swing/undo/AbstractUndoableEdit.h b/libjava/javax/swing/undo/AbstractUndoableEdit.h new file mode 100644 index 00000000000..e800a690fe4 --- /dev/null +++ b/libjava/javax/swing/undo/AbstractUndoableEdit.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_AbstractUndoableEdit__ +#define __javax_swing_undo_AbstractUndoableEdit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class AbstractUndoableEdit; + class UndoableEdit; + } + } + } +} + +class javax::swing::undo::AbstractUndoableEdit : public ::java::lang::Object +{ + +public: + AbstractUndoableEdit(); + virtual void undo(); + virtual jboolean canUndo(); + virtual void redo(); + virtual jboolean canRedo(); + virtual void die(); + virtual jboolean addEdit(::javax::swing::undo::UndoableEdit *); + virtual jboolean replaceEdit(::javax::swing::undo::UndoableEdit *); + virtual jboolean isSignificant(); + virtual ::java::lang::String * getPresentationName(); + virtual ::java::lang::String * getUndoPresentationName(); + virtual ::java::lang::String * getRedoPresentationName(); + virtual ::java::lang::String * toString(); +public: // actually package-private + static const jlong serialVersionUID = 580150227676302096LL; +public: // actually protected + static ::java::lang::String * UndoName; + static ::java::lang::String * RedoName; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasBeenDone; + jboolean alive; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_AbstractUndoableEdit__ diff --git a/libjava/javax/swing/undo/CannotRedoException.h b/libjava/javax/swing/undo/CannotRedoException.h new file mode 100644 index 00000000000..5d20d8d7a4c --- /dev/null +++ b/libjava/javax/swing/undo/CannotRedoException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_CannotRedoException__ +#define __javax_swing_undo_CannotRedoException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class CannotRedoException; + } + } + } +} + +class javax::swing::undo::CannotRedoException : public ::java::lang::RuntimeException +{ + +public: + CannotRedoException(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_CannotRedoException__ diff --git a/libjava/javax/swing/undo/CannotUndoException.h b/libjava/javax/swing/undo/CannotUndoException.h new file mode 100644 index 00000000000..d7a3cb2c2e8 --- /dev/null +++ b/libjava/javax/swing/undo/CannotUndoException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_CannotUndoException__ +#define __javax_swing_undo_CannotUndoException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class CannotUndoException; + } + } + } +} + +class javax::swing::undo::CannotUndoException : public ::java::lang::RuntimeException +{ + +public: + CannotUndoException(); + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_CannotUndoException__ diff --git a/libjava/javax/swing/undo/CompoundEdit.h b/libjava/javax/swing/undo/CompoundEdit.h new file mode 100644 index 00000000000..9c890538421 --- /dev/null +++ b/libjava/javax/swing/undo/CompoundEdit.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_CompoundEdit__ +#define __javax_swing_undo_CompoundEdit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class CompoundEdit; + class UndoableEdit; + } + } + } +} + +class javax::swing::undo::CompoundEdit : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + CompoundEdit(); + virtual void undo(); + virtual void redo(); +public: // actually protected + virtual ::javax::swing::undo::UndoableEdit * lastEdit(); +public: + virtual void die(); + virtual jboolean addEdit(::javax::swing::undo::UndoableEdit *); + virtual void end(); + virtual jboolean canUndo(); + virtual jboolean canRedo(); + virtual jboolean isInProgress(); + virtual jboolean isSignificant(); + virtual ::java::lang::String * getPresentationName(); + virtual ::java::lang::String * getUndoPresentationName(); + virtual ::java::lang::String * getRedoPresentationName(); + virtual ::java::lang::String * toString(); +private: + static const jlong serialVersionUID = -6512679249930119683LL; +public: // actually protected + ::java::util::Vector * __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) edits; +private: + jboolean inProgress; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_CompoundEdit__ diff --git a/libjava/javax/swing/undo/StateEdit.h b/libjava/javax/swing/undo/StateEdit.h new file mode 100644 index 00000000000..80c91588e4c --- /dev/null +++ b/libjava/javax/swing/undo/StateEdit.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_StateEdit__ +#define __javax_swing_undo_StateEdit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class StateEdit; + class StateEditable; + } + } + } +} + +class javax::swing::undo::StateEdit : public ::javax::swing::undo::AbstractUndoableEdit +{ + +public: + StateEdit(::javax::swing::undo::StateEditable *); + StateEdit(::javax::swing::undo::StateEditable *, ::java::lang::String *); +public: // actually protected + virtual void init(::javax::swing::undo::StateEditable *, ::java::lang::String *); +public: + virtual void end(); + virtual void undo(); + virtual void redo(); + virtual ::java::lang::String * getPresentationName(); +public: // actually protected + virtual void removeRedundantState(); + static ::java::lang::String * RCSID; + ::javax::swing::undo::StateEditable * __attribute__((aligned(__alignof__( ::javax::swing::undo::AbstractUndoableEdit)))) object; + ::java::util::Hashtable * preState; + ::java::util::Hashtable * postState; + ::java::lang::String * undoRedoName; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_StateEdit__ diff --git a/libjava/javax/swing/undo/StateEditable.h b/libjava/javax/swing/undo/StateEditable.h new file mode 100644 index 00000000000..0f1343ab8d0 --- /dev/null +++ b/libjava/javax/swing/undo/StateEditable.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_StateEditable__ +#define __javax_swing_undo_StateEditable__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class StateEditable; + } + } + } +} + +class javax::swing::undo::StateEditable : public ::java::lang::Object +{ + +public: + virtual void restoreState(::java::util::Hashtable *) = 0; + virtual void storeState(::java::util::Hashtable *) = 0; + static ::java::lang::String * RCSID; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_undo_StateEditable__ diff --git a/libjava/javax/swing/undo/UndoManager.h b/libjava/javax/swing/undo/UndoManager.h new file mode 100644 index 00000000000..9189c1c0bcf --- /dev/null +++ b/libjava/javax/swing/undo/UndoManager.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_UndoManager__ +#define __javax_swing_undo_UndoManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class UndoableEditEvent; + } + namespace undo + { + class UndoManager; + class UndoableEdit; + } + } + } +} + +class javax::swing::undo::UndoManager : public ::javax::swing::undo::CompoundEdit +{ + +public: + UndoManager(); + virtual ::java::lang::String * toString(); + virtual void end(); + virtual jint getLimit(); + virtual void setLimit(jint); + virtual void discardAllEdits(); +public: // actually protected + virtual void trimForLimit(); + virtual void trimEdits(jint, jint); + virtual ::javax::swing::undo::UndoableEdit * editToBeUndone(); + virtual ::javax::swing::undo::UndoableEdit * editToBeRedone(); + virtual void undoTo(::javax::swing::undo::UndoableEdit *); + virtual void redoTo(::javax::swing::undo::UndoableEdit *); +public: + virtual void undoOrRedo(); + virtual jboolean canUndoOrRedo(); + virtual void undo(); + virtual jboolean canUndo(); + virtual void redo(); + virtual jboolean canRedo(); + virtual jboolean addEdit(::javax::swing::undo::UndoableEdit *); + virtual ::java::lang::String * getUndoOrRedoPresentationName(); + virtual ::java::lang::String * getUndoPresentationName(); + virtual ::java::lang::String * getRedoPresentationName(); + virtual void undoableEditHappened(::javax::swing::event::UndoableEditEvent *); +public: // actually package-private + static const jlong serialVersionUID = -2077529998244066750LL; + jint __attribute__((aligned(__alignof__( ::javax::swing::undo::CompoundEdit)))) indexOfNextAdd; + jint limit; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_UndoManager__ diff --git a/libjava/javax/swing/undo/UndoableEdit.h b/libjava/javax/swing/undo/UndoableEdit.h new file mode 100644 index 00000000000..59b73543dc8 --- /dev/null +++ b/libjava/javax/swing/undo/UndoableEdit.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_UndoableEdit__ +#define __javax_swing_undo_UndoableEdit__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace undo + { + class UndoableEdit; + } + } + } +} + +class javax::swing::undo::UndoableEdit : public ::java::lang::Object +{ + +public: + virtual jboolean addEdit(::javax::swing::undo::UndoableEdit *) = 0; + virtual jboolean canRedo() = 0; + virtual jboolean canUndo() = 0; + virtual void die() = 0; + virtual ::java::lang::String * getPresentationName() = 0; + virtual ::java::lang::String * getRedoPresentationName() = 0; + virtual ::java::lang::String * getUndoPresentationName() = 0; + virtual jboolean isSignificant() = 0; + virtual void redo() = 0; + virtual jboolean replaceEdit(::javax::swing::undo::UndoableEdit *) = 0; + virtual void undo() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_swing_undo_UndoableEdit__ diff --git a/libjava/javax/swing/undo/UndoableEditSupport.h b/libjava/javax/swing/undo/UndoableEditSupport.h new file mode 100644 index 00000000000..3bfbe30b755 --- /dev/null +++ b/libjava/javax/swing/undo/UndoableEditSupport.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_swing_undo_UndoableEditSupport__ +#define __javax_swing_undo_UndoableEditSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace swing + { + namespace event + { + class UndoableEditListener; + } + namespace undo + { + class CompoundEdit; + class UndoableEdit; + class UndoableEditSupport; + } + } + } +} + +class javax::swing::undo::UndoableEditSupport : public ::java::lang::Object +{ + +public: + UndoableEditSupport(); + UndoableEditSupport(::java::lang::Object *); + virtual ::java::lang::String * toString(); + virtual void addUndoableEditListener(::javax::swing::event::UndoableEditListener *); + virtual void removeUndoableEditListener(::javax::swing::event::UndoableEditListener *); + virtual JArray< ::javax::swing::event::UndoableEditListener * > * getUndoableEditListeners(); +public: // actually protected + virtual void _postEdit(::javax::swing::undo::UndoableEdit *); +public: + virtual void postEdit(::javax::swing::undo::UndoableEdit *); + virtual jint getUpdateLevel(); + virtual void beginUpdate(); +public: // actually protected + virtual ::javax::swing::undo::CompoundEdit * createCompoundEdit(); +public: + virtual void endUpdate(); +public: // actually protected + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) updateLevel; + ::javax::swing::undo::CompoundEdit * compoundEdit; + ::java::util::Vector * listeners; + ::java::lang::Object * realSource; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_swing_undo_UndoableEditSupport__ diff --git a/libjava/javax/transaction/HeuristicCommitException.h b/libjava/javax/transaction/HeuristicCommitException.h new file mode 100644 index 00000000000..f73ec07291e --- /dev/null +++ b/libjava/javax/transaction/HeuristicCommitException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_HeuristicCommitException__ +#define __javax_transaction_HeuristicCommitException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class HeuristicCommitException; + } + } +} + +class javax::transaction::HeuristicCommitException : public ::java::lang::Exception +{ + +public: + HeuristicCommitException(); + HeuristicCommitException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_HeuristicCommitException__ diff --git a/libjava/javax/transaction/HeuristicMixedException.h b/libjava/javax/transaction/HeuristicMixedException.h new file mode 100644 index 00000000000..22128f20072 --- /dev/null +++ b/libjava/javax/transaction/HeuristicMixedException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_HeuristicMixedException__ +#define __javax_transaction_HeuristicMixedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class HeuristicMixedException; + } + } +} + +class javax::transaction::HeuristicMixedException : public ::java::lang::Exception +{ + +public: + HeuristicMixedException(); + HeuristicMixedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_HeuristicMixedException__ diff --git a/libjava/javax/transaction/HeuristicRollbackException.h b/libjava/javax/transaction/HeuristicRollbackException.h new file mode 100644 index 00000000000..c738e94e801 --- /dev/null +++ b/libjava/javax/transaction/HeuristicRollbackException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_HeuristicRollbackException__ +#define __javax_transaction_HeuristicRollbackException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class HeuristicRollbackException; + } + } +} + +class javax::transaction::HeuristicRollbackException : public ::java::lang::Exception +{ + +public: + HeuristicRollbackException(); + HeuristicRollbackException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_HeuristicRollbackException__ diff --git a/libjava/javax/transaction/InvalidTransactionException.h b/libjava/javax/transaction/InvalidTransactionException.h new file mode 100644 index 00000000000..16850035410 --- /dev/null +++ b/libjava/javax/transaction/InvalidTransactionException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_InvalidTransactionException__ +#define __javax_transaction_InvalidTransactionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class InvalidTransactionException; + } + } +} + +class javax::transaction::InvalidTransactionException : public ::java::rmi::RemoteException +{ + +public: + InvalidTransactionException(); + InvalidTransactionException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_InvalidTransactionException__ diff --git a/libjava/javax/transaction/NotSupportedException.h b/libjava/javax/transaction/NotSupportedException.h new file mode 100644 index 00000000000..3737e6d46e2 --- /dev/null +++ b/libjava/javax/transaction/NotSupportedException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_NotSupportedException__ +#define __javax_transaction_NotSupportedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class NotSupportedException; + } + } +} + +class javax::transaction::NotSupportedException : public ::java::lang::Exception +{ + +public: + NotSupportedException(); + NotSupportedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_NotSupportedException__ diff --git a/libjava/javax/transaction/RollbackException.h b/libjava/javax/transaction/RollbackException.h new file mode 100644 index 00000000000..396e6785cff --- /dev/null +++ b/libjava/javax/transaction/RollbackException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_RollbackException__ +#define __javax_transaction_RollbackException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class RollbackException; + } + } +} + +class javax::transaction::RollbackException : public ::java::lang::Exception +{ + +public: + RollbackException(); + RollbackException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_RollbackException__ diff --git a/libjava/javax/transaction/Status.h b/libjava/javax/transaction/Status.h new file mode 100644 index 00000000000..4fd94ac3806 --- /dev/null +++ b/libjava/javax/transaction/Status.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_Status__ +#define __javax_transaction_Status__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class Status; + } + } +} + +class javax::transaction::Status : public ::java::lang::Object +{ + +public: + static const jint STATUS_ACTIVE = 0; + static const jint STATUS_MARKED_ROLLBACK = 1; + static const jint STATUS_PREPARED = 2; + static const jint STATUS_COMMITTED = 3; + static const jint STATUS_ROLLEDBACK = 4; + static const jint STATUS_UNKNOWN = 5; + static const jint STATUS_NO_TRANSACTION = 6; + static const jint STATUS_PREPARING = 7; + static const jint STATUS_COMMITTING = 8; + static const jint STATUS_ROLLING_BACK = 9; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_Status__ diff --git a/libjava/javax/transaction/Synchronization.h b/libjava/javax/transaction/Synchronization.h new file mode 100644 index 00000000000..a1572249a56 --- /dev/null +++ b/libjava/javax/transaction/Synchronization.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_Synchronization__ +#define __javax_transaction_Synchronization__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class Synchronization; + } + } +} + +class javax::transaction::Synchronization : public ::java::lang::Object +{ + +public: + virtual void beforeCompletion() = 0; + virtual void afterCompletion(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_Synchronization__ diff --git a/libjava/javax/transaction/SystemException.h b/libjava/javax/transaction/SystemException.h new file mode 100644 index 00000000000..039cc50e0ee --- /dev/null +++ b/libjava/javax/transaction/SystemException.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_SystemException__ +#define __javax_transaction_SystemException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class SystemException; + } + } +} + +class javax::transaction::SystemException : public ::java::lang::Exception +{ + +public: + SystemException(); + SystemException(::java::lang::String *); + SystemException(jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) errorCode; + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_SystemException__ diff --git a/libjava/javax/transaction/Transaction.h b/libjava/javax/transaction/Transaction.h new file mode 100644 index 00000000000..7edbc9dc706 --- /dev/null +++ b/libjava/javax/transaction/Transaction.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_Transaction__ +#define __javax_transaction_Transaction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class Synchronization; + class Transaction; + namespace xa + { + class XAResource; + } + } + } +} + +class javax::transaction::Transaction : public ::java::lang::Object +{ + +public: + virtual void commit() = 0; + virtual jboolean delistResource(::javax::transaction::xa::XAResource *, jint) = 0; + virtual jboolean enlistResource(::javax::transaction::xa::XAResource *) = 0; + virtual jint getStatus() = 0; + virtual void registerSynchronization(::javax::transaction::Synchronization *) = 0; + virtual void rollback() = 0; + virtual void setRollbackOnly() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_Transaction__ diff --git a/libjava/javax/transaction/TransactionManager.h b/libjava/javax/transaction/TransactionManager.h new file mode 100644 index 00000000000..bb5df958b85 --- /dev/null +++ b/libjava/javax/transaction/TransactionManager.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_TransactionManager__ +#define __javax_transaction_TransactionManager__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class Transaction; + class TransactionManager; + } + } +} + +class javax::transaction::TransactionManager : public ::java::lang::Object +{ + +public: + virtual void begin() = 0; + virtual void commit() = 0; + virtual jint getStatus() = 0; + virtual ::javax::transaction::Transaction * getTransaction() = 0; + virtual void resume(::javax::transaction::Transaction *) = 0; + virtual void rollback() = 0; + virtual void setRollbackOnly() = 0; + virtual void setTransactionTimeout(jint) = 0; + virtual ::javax::transaction::Transaction * suspend() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_TransactionManager__ diff --git a/libjava/javax/transaction/TransactionRequiredException.h b/libjava/javax/transaction/TransactionRequiredException.h new file mode 100644 index 00000000000..4b6aad1de59 --- /dev/null +++ b/libjava/javax/transaction/TransactionRequiredException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_TransactionRequiredException__ +#define __javax_transaction_TransactionRequiredException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class TransactionRequiredException; + } + } +} + +class javax::transaction::TransactionRequiredException : public ::java::rmi::RemoteException +{ + +public: + TransactionRequiredException(); + TransactionRequiredException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_TransactionRequiredException__ diff --git a/libjava/javax/transaction/TransactionRolledbackException.h b/libjava/javax/transaction/TransactionRolledbackException.h new file mode 100644 index 00000000000..1a13227e292 --- /dev/null +++ b/libjava/javax/transaction/TransactionRolledbackException.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_TransactionRolledbackException__ +#define __javax_transaction_TransactionRolledbackException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class TransactionRolledbackException; + } + } +} + +class javax::transaction::TransactionRolledbackException : public ::java::rmi::RemoteException +{ + +public: + TransactionRolledbackException(); + TransactionRolledbackException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_TransactionRolledbackException__ diff --git a/libjava/javax/transaction/UserTransaction.h b/libjava/javax/transaction/UserTransaction.h new file mode 100644 index 00000000000..f1c4e7def9a --- /dev/null +++ b/libjava/javax/transaction/UserTransaction.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_UserTransaction__ +#define __javax_transaction_UserTransaction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + class UserTransaction; + } + } +} + +class javax::transaction::UserTransaction : public ::java::lang::Object +{ + +public: + virtual void begin() = 0; + virtual void commit() = 0; + virtual void rollback() = 0; + virtual void setRollbackOnly() = 0; + virtual jint getStatus() = 0; + virtual void setTransactionTimeout(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_UserTransaction__ diff --git a/libjava/javax/transaction/xa/XAException.h b/libjava/javax/transaction/xa/XAException.h new file mode 100644 index 00000000000..b6f590b5593 --- /dev/null +++ b/libjava/javax/transaction/xa/XAException.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_xa_XAException__ +#define __javax_transaction_xa_XAException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace transaction + { + namespace xa + { + class XAException; + } + } + } +} + +class javax::transaction::xa::XAException : public ::java::lang::Exception +{ + +public: + XAException(); + XAException(::java::lang::String *); + XAException(jint); + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) errorCode; + static const jint XA_RBBASE = 100; + static const jint XA_RBROLLBACK = 100; + static const jint XA_RBCOMMFAIL = 101; + static const jint XA_RBDEADLOCK = 102; + static const jint XA_RBINTEGRITY = 103; + static const jint XA_RBOTHER = 104; + static const jint XA_RBPROTO = 105; + static const jint XA_RBTIMEOUT = 106; + static const jint XA_RBTRANSIENT = 107; + static const jint XA_RBEND = 107; + static const jint XA_NOMIGRATE = 9; + static const jint XA_HEURHAZ = 8; + static const jint XA_HEURCOM = 7; + static const jint XA_HEURRB = 6; + static const jint XA_HEURMIX = 5; + static const jint XA_RETRY = 4; + static const jint XA_RDONLY = 3; + static const jint XAER_ASYNC = -2; + static const jint XAER_RMERR = -3; + static const jint XAER_NOTA = -4; + static const jint XAER_INVAL = -5; + static const jint XAER_PROTO = -6; + static const jint XAER_RMFAIL = -7; + static const jint XAER_DUPID = -8; + static const jint XAER_OUTSIDE = -9; + static ::java::lang::Class class$; +}; + +#endif // __javax_transaction_xa_XAException__ diff --git a/libjava/javax/transaction/xa/XAResource.h b/libjava/javax/transaction/xa/XAResource.h new file mode 100644 index 00000000000..2a5442dd945 --- /dev/null +++ b/libjava/javax/transaction/xa/XAResource.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_xa_XAResource__ +#define __javax_transaction_xa_XAResource__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace transaction + { + namespace xa + { + class XAResource; + class Xid; + } + } + } +} + +class javax::transaction::xa::XAResource : public ::java::lang::Object +{ + +public: + virtual void commit(::javax::transaction::xa::Xid *, jboolean) = 0; + virtual void end(::javax::transaction::xa::Xid *, jint) = 0; + virtual void forget(::javax::transaction::xa::Xid *) = 0; + virtual jint getTransactionTimeout() = 0; + virtual jboolean isSameRM(::javax::transaction::xa::XAResource *) = 0; + virtual jint prepare(::javax::transaction::xa::Xid *) = 0; + virtual JArray< ::javax::transaction::xa::Xid * > * recover(jint) = 0; + virtual void rollback(::javax::transaction::xa::Xid *) = 0; + virtual jboolean setTransactionTimeout(jint) = 0; + virtual void start(::javax::transaction::xa::Xid *, jint) = 0; + static const jint TMENDRSCAN = 8388608; + static const jint TMFAIL = 536870912; + static const jint TMJOIN = 2097152; + static const jint TMNOFLAGS = 0; + static const jint TMONEPHASE = 1073741824; + static const jint TMRESUME = 134217728; + static const jint TMSTARTRSCAN = 16777216; + static const jint TMSUCCESS = 67108864; + static const jint TMSUSPEND = 33554432; + static const jint XA_RDONLY = 3; + static const jint XA_OK = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_xa_XAResource__ diff --git a/libjava/javax/transaction/xa/Xid.h b/libjava/javax/transaction/xa/Xid.h new file mode 100644 index 00000000000..7a4b3000107 --- /dev/null +++ b/libjava/javax/transaction/xa/Xid.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_transaction_xa_Xid__ +#define __javax_transaction_xa_Xid__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace transaction + { + namespace xa + { + class Xid; + } + } + } +} + +class javax::transaction::xa::Xid : public ::java::lang::Object +{ + +public: + virtual jint getFormatId() = 0; + virtual JArray< jbyte > * getGlobalTransactionId() = 0; + virtual JArray< jbyte > * getBranchQualifier() = 0; + static const jint MAXGTRIDSIZE = 64; + static const jint MAXBQUALSIZE = 64; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_transaction_xa_Xid__ diff --git a/libjava/javax/xml/XMLConstants.h b/libjava/javax/xml/XMLConstants.h new file mode 100644 index 00000000000..16f6f1cea80 --- /dev/null +++ b/libjava/javax/xml/XMLConstants.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_XMLConstants__ +#define __javax_xml_XMLConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + class XMLConstants; + } + } +} + +class javax::xml::XMLConstants : public ::java::lang::Object +{ + + XMLConstants(); +public: + static ::java::lang::String * NULL_NS_URI; + static ::java::lang::String * DEFAULT_NS_PREFIX; + static ::java::lang::String * XML_NS_URI; + static ::java::lang::String * XML_NS_PREFIX; + static ::java::lang::String * XMLNS_ATTRIBUTE_NS_URI; + static ::java::lang::String * XMLNS_ATTRIBUTE; + static ::java::lang::String * W3C_XML_SCHEMA_NS_URI; + static ::java::lang::String * W3C_XML_SCHEMA_INSTANCE_NS_URI; + static ::java::lang::String * W3C_XPATH_DATATYPE_NS_URI; + static ::java::lang::String * XML_DTD_NS_URI; + static ::java::lang::String * RELAXNG_NS_URI; + static ::java::lang::String * FEATURE_SECURE_PROCESSING; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_XMLConstants__ diff --git a/libjava/javax/xml/datatype/DatatypeConfigurationException.h b/libjava/javax/xml/datatype/DatatypeConfigurationException.h new file mode 100644 index 00000000000..d2623a09d94 --- /dev/null +++ b/libjava/javax/xml/datatype/DatatypeConfigurationException.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_datatype_DatatypeConfigurationException__ +#define __javax_xml_datatype_DatatypeConfigurationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace datatype + { + class DatatypeConfigurationException; + } + } + } +} + +class javax::xml::datatype::DatatypeConfigurationException : public ::java::lang::Exception +{ + +public: + DatatypeConfigurationException(); + DatatypeConfigurationException(::java::lang::String *); + DatatypeConfigurationException(::java::lang::String *, ::java::lang::Throwable *); + DatatypeConfigurationException(::java::lang::Throwable *); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_datatype_DatatypeConfigurationException__ diff --git a/libjava/javax/xml/datatype/DatatypeConstants$Field.h b/libjava/javax/xml/datatype/DatatypeConstants$Field.h new file mode 100644 index 00000000000..c30ee7a5149 --- /dev/null +++ b/libjava/javax/xml/datatype/DatatypeConstants$Field.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_datatype_DatatypeConstants$Field__ +#define __javax_xml_datatype_DatatypeConstants$Field__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace datatype + { + class DatatypeConstants$Field; + } + } + } +} + +class javax::xml::datatype::DatatypeConstants$Field : public ::java::lang::Object +{ + +public: // actually package-private + DatatypeConstants$Field(jint, ::java::lang::String *); +public: + jint getId(); + ::java::lang::String * toString(); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::lang::String * name; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_datatype_DatatypeConstants$Field__ diff --git a/libjava/javax/xml/datatype/DatatypeConstants.h b/libjava/javax/xml/datatype/DatatypeConstants.h new file mode 100644 index 00000000000..721cb1b8589 --- /dev/null +++ b/libjava/javax/xml/datatype/DatatypeConstants.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_datatype_DatatypeConstants__ +#define __javax_xml_datatype_DatatypeConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace datatype + { + class DatatypeConstants; + class DatatypeConstants$Field; + } + namespace namespace + { + class QName; + } + } + } +} + +class javax::xml::datatype::DatatypeConstants : public ::java::lang::Object +{ + + DatatypeConstants(); +public: + static const jint JANUARY = 1; + static const jint FEBRUARY = 2; + static const jint MARCH = 3; + static const jint APRIL = 4; + static const jint MAY = 5; + static const jint JUNE = 6; + static const jint JULY = 7; + static const jint AUGUST = 8; + static const jint SEPTEMBER = 9; + static const jint OCTOBER = 10; + static const jint NOVEMBER = 11; + static const jint DECEMBER = 12; + static const jint LESSER = -1; + static const jint EQUAL = 0; + static const jint GREATER = 1; + static const jint INDETERMINATE = 2; + static const jint FIELD_UNDEFINED = -2147483647 - 1; + static ::javax::xml::datatype::DatatypeConstants$Field * YEARS; + static ::javax::xml::datatype::DatatypeConstants$Field * MONTHS; + static ::javax::xml::datatype::DatatypeConstants$Field * DAYS; + static ::javax::xml::datatype::DatatypeConstants$Field * HOURS; + static ::javax::xml::datatype::DatatypeConstants$Field * MINUTES; + static ::javax::xml::datatype::DatatypeConstants$Field * SECONDS; + static ::javax::xml::namespace::QName * DATETIME; + static ::javax::xml::namespace::QName * TIME; + static ::javax::xml::namespace::QName * DATE; + static ::javax::xml::namespace::QName * GYEARMONTH; + static ::javax::xml::namespace::QName * GMONTHDAY; + static ::javax::xml::namespace::QName * GYEAR; + static ::javax::xml::namespace::QName * GMONTH; + static ::javax::xml::namespace::QName * GDAY; + static ::javax::xml::namespace::QName * DURATION; + static ::javax::xml::namespace::QName * DURATION_DAYTIME; + static ::javax::xml::namespace::QName * DURATION_YEARMONTH; + static const jint MAX_TIMEZONE_OFFSET = -840; + static const jint MIN_TIMEZONE_OFFSET = 840; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_datatype_DatatypeConstants__ diff --git a/libjava/javax/xml/datatype/DatatypeFactory.h b/libjava/javax/xml/datatype/DatatypeFactory.h new file mode 100644 index 00000000000..dabb74fe420 --- /dev/null +++ b/libjava/javax/xml/datatype/DatatypeFactory.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_datatype_DatatypeFactory__ +#define __javax_xml_datatype_DatatypeFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + class BigInteger; + } + } + namespace javax + { + namespace xml + { + namespace datatype + { + class DatatypeFactory; + class Duration; + class XMLGregorianCalendar; + } + } + } +} + +class javax::xml::datatype::DatatypeFactory : public ::java::lang::Object +{ + +public: // actually protected + DatatypeFactory(); +public: + static ::javax::xml::datatype::DatatypeFactory * newInstance(); + virtual ::javax::xml::datatype::Duration * newDuration(::java::lang::String *) = 0; + virtual ::javax::xml::datatype::Duration * newDuration(jlong) = 0; + virtual ::javax::xml::datatype::Duration * newDuration(jboolean, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigDecimal *) = 0; + virtual ::javax::xml::datatype::Duration * newDuration(jboolean, jint, jint, jint, jint, jint, jint); + virtual ::javax::xml::datatype::Duration * newDurationDayTime(::java::lang::String *); + virtual ::javax::xml::datatype::Duration * newDurationDayTime(jlong); + virtual ::javax::xml::datatype::Duration * newDurationDayTime(jboolean, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::javax::xml::datatype::Duration * newDurationDayTime(jboolean, jint, jint, jint, jint); + virtual ::javax::xml::datatype::Duration * newDurationYearMonth(::java::lang::String *); + virtual ::javax::xml::datatype::Duration * newDurationYearMonth(jlong); + virtual ::javax::xml::datatype::Duration * newDurationYearMonth(jboolean, ::java::math::BigInteger *, ::java::math::BigInteger *); + virtual ::javax::xml::datatype::Duration * newDurationYearMonth(jboolean, jint, jint); + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendar() = 0; + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendar(::java::lang::String *) = 0; + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendar(::java::util::GregorianCalendar *) = 0; + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendar(::java::math::BigInteger *, jint, jint, jint, jint, jint, ::java::math::BigDecimal *, jint) = 0; + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendar(jint, jint, jint, jint, jint, jint, jint, jint); + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendarDate(jint, jint, jint, jint); + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendarTime(jint, jint, jint, jint); + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendarTime(jint, jint, jint, ::java::math::BigDecimal *, jint); + virtual ::javax::xml::datatype::XMLGregorianCalendar * newXMLGregorianCalendarTime(jint, jint, jint, jint, jint); + static ::java::lang::String * DATATYPEFACTORY_PROPERTY; + static ::java::lang::String * DATATYPEFACTORY_IMPLEMENTATION_CLASS; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_datatype_DatatypeFactory__ diff --git a/libjava/javax/xml/datatype/Duration.h b/libjava/javax/xml/datatype/Duration.h new file mode 100644 index 00000000000..719abd088b8 --- /dev/null +++ b/libjava/javax/xml/datatype/Duration.h @@ -0,0 +1,70 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_datatype_Duration__ +#define __javax_xml_datatype_Duration__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace javax + { + namespace xml + { + namespace datatype + { + class DatatypeConstants$Field; + class Duration; + } + namespace namespace + { + class QName; + } + } + } +} + +class javax::xml::datatype::Duration : public ::java::lang::Object +{ + +public: + Duration(); + virtual ::javax::xml::namespace::QName * getXMLSchemaType(); + virtual jint getSign() = 0; + virtual jint getYears(); + virtual jint getMonths(); + virtual jint getDays(); + virtual jint getHours(); + virtual jint getMinutes(); + virtual jint getSeconds(); + virtual jlong getTimeInMillis(::java::util::Calendar *); + virtual jlong getTimeInMillis(::java::util::Date *); + virtual ::java::lang::Number * getField(::javax::xml::datatype::DatatypeConstants$Field *) = 0; + virtual jboolean isSet(::javax::xml::datatype::DatatypeConstants$Field *) = 0; + virtual ::javax::xml::datatype::Duration * add(::javax::xml::datatype::Duration *) = 0; + virtual void addTo(::java::util::Calendar *) = 0; + virtual void addTo(::java::util::Date *); + virtual ::javax::xml::datatype::Duration * subtract(::javax::xml::datatype::Duration *); + virtual ::javax::xml::datatype::Duration * multiply(jint); + virtual ::javax::xml::datatype::Duration * multiply(::java::math::BigDecimal *) = 0; + virtual ::javax::xml::datatype::Duration * negate() = 0; + virtual ::javax::xml::datatype::Duration * normalizeWith(::java::util::Calendar *) = 0; + virtual jint compare(::javax::xml::datatype::Duration *) = 0; + virtual jboolean isLongerThan(::javax::xml::datatype::Duration *); + virtual jboolean isShorterThan(::javax::xml::datatype::Duration *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode() = 0; + virtual ::java::lang::String * toString(); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_datatype_Duration__ diff --git a/libjava/javax/xml/datatype/XMLGregorianCalendar.h b/libjava/javax/xml/datatype/XMLGregorianCalendar.h new file mode 100644 index 00000000000..6e9c92bf24b --- /dev/null +++ b/libjava/javax/xml/datatype/XMLGregorianCalendar.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_datatype_XMLGregorianCalendar__ +#define __javax_xml_datatype_XMLGregorianCalendar__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + class BigInteger; + } + } + namespace javax + { + namespace xml + { + namespace datatype + { + class Duration; + class XMLGregorianCalendar; + } + namespace namespace + { + class QName; + } + } + } +} + +class javax::xml::datatype::XMLGregorianCalendar : public ::java::lang::Object +{ + +public: + XMLGregorianCalendar(); + virtual void clear() = 0; + virtual void reset() = 0; + virtual void setYear(::java::math::BigInteger *) = 0; + virtual void setYear(jint) = 0; + virtual void setMonth(jint) = 0; + virtual void setDay(jint) = 0; + virtual void setTimezone(jint) = 0; + virtual void setTime(jint, jint, jint); + virtual void setHour(jint) = 0; + virtual void setMinute(jint) = 0; + virtual void setSecond(jint) = 0; + virtual void setMillisecond(jint) = 0; + virtual void setFractionalSecond(::java::math::BigDecimal *) = 0; + virtual void setTime(jint, jint, jint, ::java::math::BigDecimal *); + virtual void setTime(jint, jint, jint, jint); + virtual ::java::math::BigInteger * getEon() = 0; + virtual jint getYear() = 0; + virtual ::java::math::BigInteger * getEonAndYear() = 0; + virtual jint getMonth() = 0; + virtual jint getDay() = 0; + virtual jint getTimezone() = 0; + virtual jint getHour() = 0; + virtual jint getMinute() = 0; + virtual jint getSecond() = 0; + virtual jint getMillisecond(); + virtual ::java::math::BigDecimal * getFractionalSecond() = 0; + virtual jint compare(::javax::xml::datatype::XMLGregorianCalendar *) = 0; + virtual ::javax::xml::datatype::XMLGregorianCalendar * normalize() = 0; + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toXMLFormat() = 0; + virtual ::javax::xml::namespace::QName * getXMLSchemaType() = 0; + virtual ::java::lang::String * toString(); + virtual jboolean isValid() = 0; + virtual void add(::javax::xml::datatype::Duration *) = 0; + virtual ::java::util::GregorianCalendar * toGregorianCalendar() = 0; + virtual ::java::util::GregorianCalendar * toGregorianCalendar(::java::util::TimeZone *, ::java::util::Locale *, ::javax::xml::datatype::XMLGregorianCalendar *) = 0; + virtual ::java::util::TimeZone * getTimeZone(jint) = 0; + virtual ::java::lang::Object * clone() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_datatype_XMLGregorianCalendar__ diff --git a/libjava/javax/xml/namespace/NamespaceContext.h b/libjava/javax/xml/namespace/NamespaceContext.h new file mode 100644 index 00000000000..4db8a067eab --- /dev/null +++ b/libjava/javax/xml/namespace/NamespaceContext.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_namespace_NamespaceContext__ +#define __javax_xml_namespace_NamespaceContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + } + } + } +} + +class javax::xml::namespace::NamespaceContext : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *) = 0; + virtual ::java::lang::String * getPrefix(::java::lang::String *) = 0; + virtual ::java::util::Iterator * getPrefixes(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_namespace_NamespaceContext__ diff --git a/libjava/javax/xml/namespace/QName.h b/libjava/javax/xml/namespace/QName.h new file mode 100644 index 00000000000..b299f64fe01 --- /dev/null +++ b/libjava/javax/xml/namespace/QName.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_namespace_QName__ +#define __javax_xml_namespace_QName__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + } + } +} + +class javax::xml::namespace::QName : public ::java::lang::Object +{ + +public: + QName(::java::lang::String *, ::java::lang::String *); + QName(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + QName(::java::lang::String *); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::java::lang::String * getLocalPart(); + virtual ::java::lang::String * getPrefix(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); + virtual ::java::lang::String * toString(); + static ::javax::xml::namespace::QName * valueOf(::java::lang::String *); +private: + static const jlong serialVersionUID = 4418622981026545151LL; + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) namespaceURI; + ::java::lang::String * localPart; + ::java::lang::String * prefix; + ::java::lang::String * qName; +public: // actually package-private + jint hashCode__; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_namespace_QName__ diff --git a/libjava/javax/xml/parsers/DocumentBuilder.h b/libjava/javax/xml/parsers/DocumentBuilder.h new file mode 100644 index 00000000000..ea420ec9d5c --- /dev/null +++ b/libjava/javax/xml/parsers/DocumentBuilder.h @@ -0,0 +1,71 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_parsers_DocumentBuilder__ +#define __javax_xml_parsers_DocumentBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace parsers + { + class DocumentBuilder; + } + namespace validation + { + class Schema; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Document; + } + } + namespace xml + { + namespace sax + { + class EntityResolver; + class ErrorHandler; + class InputSource; + } + } + } +} + +class javax::xml::parsers::DocumentBuilder : public ::java::lang::Object +{ + +public: // actually protected + DocumentBuilder(); +public: + virtual ::org::w3c::dom::Document * parse(::java::io::InputStream *); + virtual ::org::w3c::dom::Document * parse(::java::io::InputStream *, ::java::lang::String *); + virtual ::org::w3c::dom::Document * parse(::java::lang::String *); + virtual ::org::w3c::dom::Document * parse(::java::io::File *); + virtual ::org::w3c::dom::Document * parse(::org::xml::sax::InputSource *) = 0; + virtual jboolean isNamespaceAware() = 0; + virtual jboolean isValidating() = 0; + virtual void setEntityResolver(::org::xml::sax::EntityResolver *) = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual ::org::w3c::dom::Document * newDocument() = 0; + virtual ::org::w3c::dom::DOMImplementation * getDOMImplementation() = 0; + virtual void reset(); + virtual ::javax::xml::validation::Schema * getSchema(); + virtual jboolean isXIncludeAware(); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_parsers_DocumentBuilder__ diff --git a/libjava/javax/xml/parsers/DocumentBuilderFactory.h b/libjava/javax/xml/parsers/DocumentBuilderFactory.h new file mode 100644 index 00000000000..3e0e7d454d0 --- /dev/null +++ b/libjava/javax/xml/parsers/DocumentBuilderFactory.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_parsers_DocumentBuilderFactory__ +#define __javax_xml_parsers_DocumentBuilderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace parsers + { + class DocumentBuilder; + class DocumentBuilderFactory; + } + namespace validation + { + class Schema; + } + } + } +} + +class javax::xml::parsers::DocumentBuilderFactory : public ::java::lang::Object +{ + +public: // actually protected + DocumentBuilderFactory(); +public: + static ::javax::xml::parsers::DocumentBuilderFactory * newInstance(); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + virtual ::javax::xml::parsers::DocumentBuilder * newDocumentBuilder() = 0; + virtual void setNamespaceAware(jboolean); + virtual void setValidating(jboolean); + virtual void setIgnoringElementContentWhitespace(jboolean); + virtual void setExpandEntityReferences(jboolean); + virtual void setIgnoringComments(jboolean); + virtual void setCoalescing(jboolean); + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); + virtual jboolean isIgnoringElementContentWhitespace(); + virtual jboolean isExpandEntityReferences(); + virtual jboolean isIgnoringComments(); + virtual jboolean isCoalescing(); + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getAttribute(::java::lang::String *) = 0; + virtual ::javax::xml::validation::Schema * getSchema(); + virtual void setSchema(::javax::xml::validation::Schema *); + virtual jboolean isXIncludeAware(); + virtual void setXIncludeAware(jboolean); + virtual void setFeature(::java::lang::String *, jboolean) = 0; + virtual jboolean getFeature(::java::lang::String *) = 0; +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) namespaceAware; + jboolean validating; + jboolean ignoringElementContentWhitespace; + jboolean expandEntityReferences; + jboolean ignoringComments; + jboolean coalescing; + ::javax::xml::validation::Schema * schema; + jboolean xIncludeAware; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_parsers_DocumentBuilderFactory__ diff --git a/libjava/javax/xml/parsers/FactoryConfigurationError.h b/libjava/javax/xml/parsers/FactoryConfigurationError.h new file mode 100644 index 00000000000..cf01101794b --- /dev/null +++ b/libjava/javax/xml/parsers/FactoryConfigurationError.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_parsers_FactoryConfigurationError__ +#define __javax_xml_parsers_FactoryConfigurationError__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace parsers + { + class FactoryConfigurationError; + } + } + } +} + +class javax::xml::parsers::FactoryConfigurationError : public ::java::lang::Error +{ + +public: + FactoryConfigurationError(); + FactoryConfigurationError(::java::lang::String *); + FactoryConfigurationError(::java::lang::Exception *); + FactoryConfigurationError(::java::lang::Exception *, ::java::lang::String *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Exception * getException(); +private: + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::Error)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_parsers_FactoryConfigurationError__ diff --git a/libjava/javax/xml/parsers/ParserConfigurationException.h b/libjava/javax/xml/parsers/ParserConfigurationException.h new file mode 100644 index 00000000000..26bc1e8dee8 --- /dev/null +++ b/libjava/javax/xml/parsers/ParserConfigurationException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_parsers_ParserConfigurationException__ +#define __javax_xml_parsers_ParserConfigurationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace parsers + { + class ParserConfigurationException; + } + } + } +} + +class javax::xml::parsers::ParserConfigurationException : public ::java::lang::Exception +{ + +public: + ParserConfigurationException(); + ParserConfigurationException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_parsers_ParserConfigurationException__ diff --git a/libjava/javax/xml/parsers/SAXParser.h b/libjava/javax/xml/parsers/SAXParser.h new file mode 100644 index 00000000000..b24df528734 --- /dev/null +++ b/libjava/javax/xml/parsers/SAXParser.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_parsers_SAXParser__ +#define __javax_xml_parsers_SAXParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace parsers + { + class SAXParser; + } + namespace validation + { + class Schema; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class HandlerBase; + class InputSource; + class Parser; + class XMLReader; + namespace helpers + { + class DefaultHandler; + } + } + } + } +} + +class javax::xml::parsers::SAXParser : public ::java::lang::Object +{ + +public: // actually protected + SAXParser(); +public: + virtual void parse(::java::io::InputStream *, ::org::xml::sax::HandlerBase *); + virtual void parse(::java::io::InputStream *, ::org::xml::sax::HandlerBase *, ::java::lang::String *); + virtual void parse(::java::io::InputStream *, ::org::xml::sax::helpers::DefaultHandler *); + virtual void parse(::java::io::InputStream *, ::org::xml::sax::helpers::DefaultHandler *, ::java::lang::String *); + virtual void parse(::java::lang::String *, ::org::xml::sax::HandlerBase *); + virtual void parse(::java::lang::String *, ::org::xml::sax::helpers::DefaultHandler *); + virtual void parse(::java::io::File *, ::org::xml::sax::HandlerBase *); + virtual void parse(::java::io::File *, ::org::xml::sax::helpers::DefaultHandler *); + virtual void parse(::org::xml::sax::InputSource *, ::org::xml::sax::HandlerBase *); + virtual void parse(::org::xml::sax::InputSource *, ::org::xml::sax::helpers::DefaultHandler *); + virtual ::org::xml::sax::Parser * getParser() = 0; + virtual ::org::xml::sax::XMLReader * getXMLReader() = 0; + virtual jboolean isNamespaceAware() = 0; + virtual jboolean isValidating() = 0; + virtual void setProperty(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual void reset(); + virtual ::javax::xml::validation::Schema * getSchema(); + virtual jboolean isXIncludeAware(); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_parsers_SAXParser__ diff --git a/libjava/javax/xml/parsers/SAXParserFactory.h b/libjava/javax/xml/parsers/SAXParserFactory.h new file mode 100644 index 00000000000..42a8740b587 --- /dev/null +++ b/libjava/javax/xml/parsers/SAXParserFactory.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_parsers_SAXParserFactory__ +#define __javax_xml_parsers_SAXParserFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace parsers + { + class SAXParser; + class SAXParserFactory; + } + namespace validation + { + class Schema; + } + } + } +} + +class javax::xml::parsers::SAXParserFactory : public ::java::lang::Object +{ + +public: // actually protected + SAXParserFactory(); +public: + static ::javax::xml::parsers::SAXParserFactory * newInstance(); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + virtual ::javax::xml::parsers::SAXParser * newSAXParser() = 0; + virtual void setNamespaceAware(jboolean); + virtual void setValidating(jboolean); + virtual jboolean isNamespaceAware(); + virtual jboolean isValidating(); + virtual void setFeature(::java::lang::String *, jboolean) = 0; + virtual jboolean getFeature(::java::lang::String *) = 0; + virtual ::javax::xml::validation::Schema * getSchema(); + virtual void setSchema(::javax::xml::validation::Schema *); + virtual jboolean isXIncludeAware(); + virtual void setXIncludeAware(jboolean); +private: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) validating; + jboolean namespaceAware; + ::javax::xml::validation::Schema * schema; + jboolean xIncludeAware; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_parsers_SAXParserFactory__ diff --git a/libjava/javax/xml/stream/EventFilter.h b/libjava/javax/xml/stream/EventFilter.h new file mode 100644 index 00000000000..92cdd248063 --- /dev/null +++ b/libjava/javax/xml/stream/EventFilter.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_EventFilter__ +#define __javax_xml_stream_EventFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class EventFilter; + namespace events + { + class XMLEvent; + } + } + } + } +} + +class javax::xml::stream::EventFilter : public ::java::lang::Object +{ + +public: + virtual jboolean accept(::javax::xml::stream::events::XMLEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_EventFilter__ diff --git a/libjava/javax/xml/stream/FactoryConfigurationError.h b/libjava/javax/xml/stream/FactoryConfigurationError.h new file mode 100644 index 00000000000..78ecdf6a06e --- /dev/null +++ b/libjava/javax/xml/stream/FactoryConfigurationError.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_FactoryConfigurationError__ +#define __javax_xml_stream_FactoryConfigurationError__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class FactoryConfigurationError; + } + } + } +} + +class javax::xml::stream::FactoryConfigurationError : public ::java::lang::Error +{ + +public: + FactoryConfigurationError(); + FactoryConfigurationError(::java::lang::Exception *); + FactoryConfigurationError(::java::lang::Exception *, ::java::lang::String *); + FactoryConfigurationError(::java::lang::String *, ::java::lang::Exception *); + FactoryConfigurationError(::java::lang::String *); + virtual ::java::lang::Exception * getException(); + virtual ::java::lang::String * getMessage(); +private: + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::Error)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_FactoryConfigurationError__ diff --git a/libjava/javax/xml/stream/Location.h b/libjava/javax/xml/stream/Location.h new file mode 100644 index 00000000000..c997a80118d --- /dev/null +++ b/libjava/javax/xml/stream/Location.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_Location__ +#define __javax_xml_stream_Location__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + } + } + } +} + +class javax::xml::stream::Location : public ::java::lang::Object +{ + +public: + virtual jint getLineNumber() = 0; + virtual jint getColumnNumber() = 0; + virtual jint getCharacterOffset() = 0; + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_Location__ diff --git a/libjava/javax/xml/stream/StreamFilter.h b/libjava/javax/xml/stream/StreamFilter.h new file mode 100644 index 00000000000..82daf6ad5fc --- /dev/null +++ b/libjava/javax/xml/stream/StreamFilter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_StreamFilter__ +#define __javax_xml_stream_StreamFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class StreamFilter; + class XMLStreamReader; + } + } + } +} + +class javax::xml::stream::StreamFilter : public ::java::lang::Object +{ + +public: + virtual jboolean accept(::javax::xml::stream::XMLStreamReader *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_StreamFilter__ diff --git a/libjava/javax/xml/stream/XMLEventFactory.h b/libjava/javax/xml/stream/XMLEventFactory.h new file mode 100644 index 00000000000..8c8e4fe29c6 --- /dev/null +++ b/libjava/javax/xml/stream/XMLEventFactory.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLEventFactory__ +#define __javax_xml_stream_XMLEventFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + class XMLEventFactory; + namespace events + { + class Attribute; + class Characters; + class Comment; + class DTD; + class EndDocument; + class EndElement; + class EntityDeclaration; + class EntityReference; + class Namespace; + class ProcessingInstruction; + class StartDocument; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::XMLEventFactory : public ::java::lang::Object +{ + +public: // actually protected + XMLEventFactory(); +public: + static ::javax::xml::stream::XMLEventFactory * newInstance(); +public: // actually package-private + static ::javax::xml::stream::XMLEventFactory * newInstance(::java::lang::String *, ::java::lang::ClassLoader *); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + virtual void setLocation(::javax::xml::stream::Location *) = 0; + virtual ::javax::xml::stream::events::Attribute * createAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Attribute * createAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Attribute * createAttribute(::javax::xml::namespace::QName *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Namespace * createNamespace(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Namespace * createNamespace(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::StartElement * createStartElement(::javax::xml::namespace::QName *, ::java::util::Iterator *, ::java::util::Iterator *) = 0; + virtual ::javax::xml::stream::events::StartElement * createStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::StartElement * createStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Iterator *, ::java::util::Iterator *) = 0; + virtual ::javax::xml::stream::events::StartElement * createStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Iterator *, ::java::util::Iterator *, ::javax::xml::namespace::NamespaceContext *) = 0; + virtual ::javax::xml::stream::events::EndElement * createEndElement(::javax::xml::namespace::QName *, ::java::util::Iterator *) = 0; + virtual ::javax::xml::stream::events::EndElement * createEndElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::EndElement * createEndElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Iterator *) = 0; + virtual ::javax::xml::stream::events::Characters * createCharacters(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Characters * createCData(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Characters * createSpace(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::Characters * createIgnorableSpace(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::StartDocument * createStartDocument() = 0; + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::StartDocument * createStartDocument(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::EndDocument * createEndDocument() = 0; + virtual ::javax::xml::stream::events::EntityReference * createEntityReference(::java::lang::String *, ::javax::xml::stream::events::EntityDeclaration *) = 0; + virtual ::javax::xml::stream::events::Comment * createComment(::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::ProcessingInstruction * createProcessingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::events::DTD * createDTD(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_XMLEventFactory__ diff --git a/libjava/javax/xml/stream/XMLEventReader.h b/libjava/javax/xml/stream/XMLEventReader.h new file mode 100644 index 00000000000..e4ef90a6a9b --- /dev/null +++ b/libjava/javax/xml/stream/XMLEventReader.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLEventReader__ +#define __javax_xml_stream_XMLEventReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class XMLEventReader; + namespace events + { + class XMLEvent; + } + } + } + } +} + +class javax::xml::stream::XMLEventReader : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::stream::events::XMLEvent * nextEvent() = 0; + virtual jboolean hasNext() = 0; + virtual ::javax::xml::stream::events::XMLEvent * peek() = 0; + virtual ::java::lang::String * getElementText() = 0; + virtual ::javax::xml::stream::events::XMLEvent * nextTag() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual void close() = 0; + virtual ::java::lang::Object * next() = 0; + virtual void remove() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLEventReader__ diff --git a/libjava/javax/xml/stream/XMLEventWriter.h b/libjava/javax/xml/stream/XMLEventWriter.h new file mode 100644 index 00000000000..7762e629b4b --- /dev/null +++ b/libjava/javax/xml/stream/XMLEventWriter.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLEventWriter__ +#define __javax_xml_stream_XMLEventWriter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + } + namespace stream + { + class XMLEventReader; + class XMLEventWriter; + namespace events + { + class XMLEvent; + } + } + } + } +} + +class javax::xml::stream::XMLEventWriter : public ::java::lang::Object +{ + +public: + virtual void flush() = 0; + virtual void close() = 0; + virtual void add(::javax::xml::stream::events::XMLEvent *) = 0; + virtual void add(::javax::xml::stream::XMLEventReader *) = 0; + virtual ::java::lang::String * getPrefix(::java::lang::String *) = 0; + virtual void setPrefix(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setDefaultNamespace(::java::lang::String *) = 0; + virtual void setNamespaceContext(::javax::xml::namespace::NamespaceContext *) = 0; + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLEventWriter__ diff --git a/libjava/javax/xml/stream/XMLInputFactory.h b/libjava/javax/xml/stream/XMLInputFactory.h new file mode 100644 index 00000000000..13239f143cc --- /dev/null +++ b/libjava/javax/xml/stream/XMLInputFactory.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLInputFactory__ +#define __javax_xml_stream_XMLInputFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class EventFilter; + class StreamFilter; + class XMLEventReader; + class XMLInputFactory; + class XMLReporter; + class XMLResolver; + class XMLStreamReader; + namespace util + { + class XMLEventAllocator; + } + } + namespace transform + { + class Source; + } + } + } +} + +class javax::xml::stream::XMLInputFactory : public ::java::lang::Object +{ + +public: // actually protected + XMLInputFactory(); +public: + static ::javax::xml::stream::XMLInputFactory * newInstance(); + static ::javax::xml::stream::XMLInputFactory * newInstance(::java::lang::String *, ::java::lang::ClassLoader *); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::io::Reader *) = 0; + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::javax::xml::transform::Source *) = 0; + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::io::InputStream *) = 0; + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::io::InputStream *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::lang::String *, ::java::io::InputStream *) = 0; + virtual ::javax::xml::stream::XMLStreamReader * createXMLStreamReader(::java::lang::String *, ::java::io::Reader *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::io::Reader *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::lang::String *, ::java::io::Reader *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::javax::xml::stream::XMLStreamReader *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::javax::xml::transform::Source *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::io::InputStream *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::io::InputStream *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createXMLEventReader(::java::lang::String *, ::java::io::InputStream *) = 0; + virtual ::javax::xml::stream::XMLStreamReader * createFilteredReader(::javax::xml::stream::XMLStreamReader *, ::javax::xml::stream::StreamFilter *) = 0; + virtual ::javax::xml::stream::XMLEventReader * createFilteredReader(::javax::xml::stream::XMLEventReader *, ::javax::xml::stream::EventFilter *) = 0; + virtual ::javax::xml::stream::XMLResolver * getXMLResolver() = 0; + virtual void setXMLResolver(::javax::xml::stream::XMLResolver *) = 0; + virtual ::javax::xml::stream::XMLReporter * getXMLReporter() = 0; + virtual void setXMLReporter(::javax::xml::stream::XMLReporter *) = 0; + virtual void setProperty(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual jboolean isPropertySupported(::java::lang::String *) = 0; + virtual void setEventAllocator(::javax::xml::stream::util::XMLEventAllocator *) = 0; + virtual ::javax::xml::stream::util::XMLEventAllocator * getEventAllocator() = 0; + static ::java::lang::String * IS_NAMESPACE_AWARE; + static ::java::lang::String * IS_VALIDATING; + static ::java::lang::String * IS_COALESCING; + static ::java::lang::String * IS_REPLACING_ENTITY_REFERENCES; + static ::java::lang::String * IS_SUPPORTING_EXTERNAL_ENTITIES; + static ::java::lang::String * SUPPORT_DTD; + static ::java::lang::String * REPORTER; + static ::java::lang::String * RESOLVER; + static ::java::lang::String * ALLOCATOR; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_XMLInputFactory__ diff --git a/libjava/javax/xml/stream/XMLOutputFactory.h b/libjava/javax/xml/stream/XMLOutputFactory.h new file mode 100644 index 00000000000..362fac935f4 --- /dev/null +++ b/libjava/javax/xml/stream/XMLOutputFactory.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLOutputFactory__ +#define __javax_xml_stream_XMLOutputFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class XMLEventWriter; + class XMLInputFactory; + class XMLOutputFactory; + class XMLStreamWriter; + } + namespace transform + { + class Result; + } + } + } +} + +class javax::xml::stream::XMLOutputFactory : public ::java::lang::Object +{ + +public: // actually protected + XMLOutputFactory(); +public: + static ::javax::xml::stream::XMLOutputFactory * newInstance(); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + static ::javax::xml::stream::XMLInputFactory * newInstance(::java::lang::String *, ::java::lang::ClassLoader *); + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::java::io::Writer *) = 0; + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::java::io::OutputStream *) = 0; + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::java::io::OutputStream *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::XMLStreamWriter * createXMLStreamWriter(::javax::xml::transform::Result *) = 0; + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::javax::xml::transform::Result *) = 0; + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::java::io::OutputStream *) = 0; + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::java::io::OutputStream *, ::java::lang::String *) = 0; + virtual ::javax::xml::stream::XMLEventWriter * createXMLEventWriter(::java::io::Writer *) = 0; + virtual void setProperty(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual jboolean isPropertySupported(::java::lang::String *) = 0; + static ::java::lang::String * IS_REPAIRING_NAMESPACES; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_XMLOutputFactory__ diff --git a/libjava/javax/xml/stream/XMLReporter.h b/libjava/javax/xml/stream/XMLReporter.h new file mode 100644 index 00000000000..4416f840873 --- /dev/null +++ b/libjava/javax/xml/stream/XMLReporter.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLReporter__ +#define __javax_xml_stream_XMLReporter__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + class XMLReporter; + } + } + } +} + +class javax::xml::stream::XMLReporter : public ::java::lang::Object +{ + +public: + virtual void report(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *, ::javax::xml::stream::Location *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLReporter__ diff --git a/libjava/javax/xml/stream/XMLResolver.h b/libjava/javax/xml/stream/XMLResolver.h new file mode 100644 index 00000000000..254dc2ca2a8 --- /dev/null +++ b/libjava/javax/xml/stream/XMLResolver.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLResolver__ +#define __javax_xml_stream_XMLResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class XMLResolver; + } + } + } +} + +class javax::xml::stream::XMLResolver : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * resolveEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLResolver__ diff --git a/libjava/javax/xml/stream/XMLStreamConstants.h b/libjava/javax/xml/stream/XMLStreamConstants.h new file mode 100644 index 00000000000..d042a7cd0ee --- /dev/null +++ b/libjava/javax/xml/stream/XMLStreamConstants.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLStreamConstants__ +#define __javax_xml_stream_XMLStreamConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class XMLStreamConstants; + } + } + } +} + +class javax::xml::stream::XMLStreamConstants : public ::java::lang::Object +{ + +public: + static const jint START_ELEMENT = 1; + static const jint END_ELEMENT = 2; + static const jint PROCESSING_INSTRUCTION = 3; + static const jint CHARACTERS = 4; + static const jint COMMENT = 5; + static const jint SPACE = 6; + static const jint START_DOCUMENT = 7; + static const jint END_DOCUMENT = 8; + static const jint ENTITY_REFERENCE = 9; + static const jint ATTRIBUTE = 10; + static const jint DTD = 11; + static const jint CDATA = 12; + static const jint NAMESPACE = 13; + static const jint NOTATION_DECLARATION = 14; + static const jint ENTITY_DECLARATION = 15; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLStreamConstants__ diff --git a/libjava/javax/xml/stream/XMLStreamException.h b/libjava/javax/xml/stream/XMLStreamException.h new file mode 100644 index 00000000000..71acc39c0b4 --- /dev/null +++ b/libjava/javax/xml/stream/XMLStreamException.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLStreamException__ +#define __javax_xml_stream_XMLStreamException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class Location; + class XMLStreamException; + } + } + } +} + +class javax::xml::stream::XMLStreamException : public ::java::lang::Exception +{ + +public: + XMLStreamException(); + XMLStreamException(::java::lang::String *); + XMLStreamException(::java::lang::Throwable *); + XMLStreamException(::java::lang::String *, ::java::lang::Throwable *); + XMLStreamException(::java::lang::String *, ::javax::xml::stream::Location *, ::java::lang::Throwable *); + XMLStreamException(::java::lang::String *, ::javax::xml::stream::Location *); + virtual ::java::lang::Throwable * getNestedException(); + virtual ::javax::xml::stream::Location * getLocation(); +public: // actually protected + ::javax::xml::stream::Location * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) location; + ::java::lang::Throwable * nested; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_XMLStreamException__ diff --git a/libjava/javax/xml/stream/XMLStreamReader.h b/libjava/javax/xml/stream/XMLStreamReader.h new file mode 100644 index 00000000000..b0632932093 --- /dev/null +++ b/libjava/javax/xml/stream/XMLStreamReader.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLStreamReader__ +#define __javax_xml_stream_XMLStreamReader__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + class XMLStreamReader; + } + } + } +} + +class javax::xml::stream::XMLStreamReader : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual jint next() = 0; + virtual void require(jint, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getElementText() = 0; + virtual jint nextTag() = 0; + virtual jboolean hasNext() = 0; + virtual void close() = 0; + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isWhiteSpace() = 0; + virtual ::java::lang::String * getAttributeValue(::java::lang::String *, ::java::lang::String *) = 0; + virtual jint getAttributeCount() = 0; + virtual ::javax::xml::namespace::QName * getAttributeName(jint) = 0; + virtual ::java::lang::String * getAttributeNamespace(jint) = 0; + virtual ::java::lang::String * getAttributeLocalName(jint) = 0; + virtual ::java::lang::String * getAttributePrefix(jint) = 0; + virtual ::java::lang::String * getAttributeType(jint) = 0; + virtual ::java::lang::String * getAttributeValue(jint) = 0; + virtual jboolean isAttributeSpecified(jint) = 0; + virtual jint getNamespaceCount() = 0; + virtual ::java::lang::String * getNamespacePrefix(jint) = 0; + virtual ::java::lang::String * getNamespaceURI(jint) = 0; + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext() = 0; + virtual jint getEventType() = 0; + virtual ::java::lang::String * getText() = 0; + virtual JArray< jchar > * getTextCharacters() = 0; + virtual jint getTextCharacters(jint, JArray< jchar > *, jint, jint) = 0; + virtual jint getTextStart() = 0; + virtual jint getTextLength() = 0; + virtual ::java::lang::String * getEncoding() = 0; + virtual jboolean hasText() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual ::javax::xml::namespace::QName * getName() = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasName() = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual ::java::lang::String * getVersion() = 0; + virtual jboolean isStandalone() = 0; + virtual jboolean standaloneSet() = 0; + virtual ::java::lang::String * getCharacterEncodingScheme() = 0; + virtual ::java::lang::String * getPITarget() = 0; + virtual ::java::lang::String * getPIData() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLStreamReader__ diff --git a/libjava/javax/xml/stream/XMLStreamWriter.h b/libjava/javax/xml/stream/XMLStreamWriter.h new file mode 100644 index 00000000000..74230ca7c82 --- /dev/null +++ b/libjava/javax/xml/stream/XMLStreamWriter.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_XMLStreamWriter__ +#define __javax_xml_stream_XMLStreamWriter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + } + namespace stream + { + class XMLStreamWriter; + } + } + } +} + +class javax::xml::stream::XMLStreamWriter : public ::java::lang::Object +{ + +public: + virtual void writeStartElement(::java::lang::String *) = 0; + virtual void writeStartElement(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeStartElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeEmptyElement(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeEmptyElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeEmptyElement(::java::lang::String *) = 0; + virtual void writeEndElement() = 0; + virtual void writeEndDocument() = 0; + virtual void close() = 0; + virtual void flush() = 0; + virtual void writeAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeNamespace(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeDefaultNamespace(::java::lang::String *) = 0; + virtual void writeComment(::java::lang::String *) = 0; + virtual void writeProcessingInstruction(::java::lang::String *) = 0; + virtual void writeProcessingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeCData(::java::lang::String *) = 0; + virtual void writeDTD(::java::lang::String *) = 0; + virtual void writeEntityRef(::java::lang::String *) = 0; + virtual void writeStartDocument() = 0; + virtual void writeStartDocument(::java::lang::String *) = 0; + virtual void writeStartDocument(::java::lang::String *, ::java::lang::String *) = 0; + virtual void writeCharacters(::java::lang::String *) = 0; + virtual void writeCharacters(JArray< jchar > *, jint, jint) = 0; + virtual ::java::lang::String * getPrefix(::java::lang::String *) = 0; + virtual void setPrefix(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setDefaultNamespace(::java::lang::String *) = 0; + virtual void setNamespaceContext(::javax::xml::namespace::NamespaceContext *) = 0; + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext() = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_XMLStreamWriter__ diff --git a/libjava/javax/xml/stream/events/Attribute.h b/libjava/javax/xml/stream/events/Attribute.h new file mode 100644 index 00000000000..7362510c072 --- /dev/null +++ b/libjava/javax/xml/stream/events/Attribute.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_Attribute__ +#define __javax_xml_stream_events_Attribute__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Attribute; + class Characters; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::Attribute : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::namespace::QName * getName() = 0; + virtual ::java::lang::String * getValue() = 0; + virtual ::javax::xml::namespace::QName * getDTDType() = 0; + virtual jboolean isSpecified() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_Attribute__ diff --git a/libjava/javax/xml/stream/events/Characters.h b/libjava/javax/xml/stream/events/Characters.h new file mode 100644 index 00000000000..f1511881f0e --- /dev/null +++ b/libjava/javax/xml/stream/events/Characters.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_Characters__ +#define __javax_xml_stream_events_Characters__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::Characters : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getData() = 0; + virtual jboolean isWhiteSpace() = 0; + virtual jboolean isCData() = 0; + virtual jboolean isIgnorableWhiteSpace() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_Characters__ diff --git a/libjava/javax/xml/stream/events/Comment.h b/libjava/javax/xml/stream/events/Comment.h new file mode 100644 index 00000000000..1f945ea19fc --- /dev/null +++ b/libjava/javax/xml/stream/events/Comment.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_Comment__ +#define __javax_xml_stream_events_Comment__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class Comment; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::Comment : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getText() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_Comment__ diff --git a/libjava/javax/xml/stream/events/DTD.h b/libjava/javax/xml/stream/events/DTD.h new file mode 100644 index 00000000000..daaa23fa124 --- /dev/null +++ b/libjava/javax/xml/stream/events/DTD.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_DTD__ +#define __javax_xml_stream_events_DTD__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class DTD; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::DTD : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getDocumentTypeDeclaration() = 0; + virtual ::java::lang::Object * getProcessedDTD() = 0; + virtual ::java::util::List * getNotations() = 0; + virtual ::java::util::List * getEntities() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_DTD__ diff --git a/libjava/javax/xml/stream/events/EndDocument.h b/libjava/javax/xml/stream/events/EndDocument.h new file mode 100644 index 00000000000..984585490bd --- /dev/null +++ b/libjava/javax/xml/stream/events/EndDocument.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_EndDocument__ +#define __javax_xml_stream_events_EndDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndDocument; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::EndDocument : public ::java::lang::Object +{ + +public: + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_EndDocument__ diff --git a/libjava/javax/xml/stream/events/EndElement.h b/libjava/javax/xml/stream/events/EndElement.h new file mode 100644 index 00000000000..86825d6e463 --- /dev/null +++ b/libjava/javax/xml/stream/events/EndElement.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_EndElement__ +#define __javax_xml_stream_events_EndElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::EndElement : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::namespace::QName * getName() = 0; + virtual ::java::util::Iterator * getNamespaces() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_EndElement__ diff --git a/libjava/javax/xml/stream/events/EntityDeclaration.h b/libjava/javax/xml/stream/events/EntityDeclaration.h new file mode 100644 index 00000000000..98eda7a3ea5 --- /dev/null +++ b/libjava/javax/xml/stream/events/EntityDeclaration.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_EntityDeclaration__ +#define __javax_xml_stream_events_EntityDeclaration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class EntityDeclaration; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::EntityDeclaration : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual ::java::lang::String * getName() = 0; + virtual ::java::lang::String * getNotationName() = 0; + virtual ::java::lang::String * getReplacementText() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_EntityDeclaration__ diff --git a/libjava/javax/xml/stream/events/EntityReference.h b/libjava/javax/xml/stream/events/EntityReference.h new file mode 100644 index 00000000000..ba95d54584b --- /dev/null +++ b/libjava/javax/xml/stream/events/EntityReference.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_EntityReference__ +#define __javax_xml_stream_events_EntityReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class EntityDeclaration; + class EntityReference; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::EntityReference : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::stream::events::EntityDeclaration * getDeclaration() = 0; + virtual ::java::lang::String * getName() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_EntityReference__ diff --git a/libjava/javax/xml/stream/events/Namespace.h b/libjava/javax/xml/stream/events/Namespace.h new file mode 100644 index 00000000000..5690c2305dc --- /dev/null +++ b/libjava/javax/xml/stream/events/Namespace.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_Namespace__ +#define __javax_xml_stream_events_Namespace__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class Namespace; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::Namespace : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getPrefix() = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual jboolean isDefaultNamespaceDeclaration() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_Namespace__ diff --git a/libjava/javax/xml/stream/events/NotationDeclaration.h b/libjava/javax/xml/stream/events/NotationDeclaration.h new file mode 100644 index 00000000000..e5c6ba0183a --- /dev/null +++ b/libjava/javax/xml/stream/events/NotationDeclaration.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_NotationDeclaration__ +#define __javax_xml_stream_events_NotationDeclaration__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class NotationDeclaration; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::NotationDeclaration : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_NotationDeclaration__ diff --git a/libjava/javax/xml/stream/events/ProcessingInstruction.h b/libjava/javax/xml/stream/events/ProcessingInstruction.h new file mode 100644 index 00000000000..3a5f9944fa6 --- /dev/null +++ b/libjava/javax/xml/stream/events/ProcessingInstruction.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_ProcessingInstruction__ +#define __javax_xml_stream_events_ProcessingInstruction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class ProcessingInstruction; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::ProcessingInstruction : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getTarget() = 0; + virtual ::java::lang::String * getData() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_ProcessingInstruction__ diff --git a/libjava/javax/xml/stream/events/StartDocument.h b/libjava/javax/xml/stream/events/StartDocument.h new file mode 100644 index 00000000000..2658939a791 --- /dev/null +++ b/libjava/javax/xml/stream/events/StartDocument.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_StartDocument__ +#define __javax_xml_stream_events_StartDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class StartDocument; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::StartDocument : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getSystemId() = 0; + virtual ::java::lang::String * getCharacterEncodingScheme() = 0; + virtual jboolean encodingSet() = 0; + virtual jboolean isStandalone() = 0; + virtual jboolean standaloneSet() = 0; + virtual ::java::lang::String * getVersion() = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_StartDocument__ diff --git a/libjava/javax/xml/stream/events/StartElement.h b/libjava/javax/xml/stream/events/StartElement.h new file mode 100644 index 00000000000..0695267421d --- /dev/null +++ b/libjava/javax/xml/stream/events/StartElement.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_StartElement__ +#define __javax_xml_stream_events_StartElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Attribute; + class Characters; + class EndElement; + class StartElement; + } + } + } + } +} + +class javax::xml::stream::events::StartElement : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::namespace::QName * getName() = 0; + virtual ::java::util::Iterator * getAttributes() = 0; + virtual ::java::util::Iterator * getNamespaces() = 0; + virtual ::javax::xml::stream::events::Attribute * getAttributeByName(::javax::xml::namespace::QName *) = 0; + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext() = 0; + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *) = 0; + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_StartElement__ diff --git a/libjava/javax/xml/stream/events/XMLEvent.h b/libjava/javax/xml/stream/events/XMLEvent.h new file mode 100644 index 00000000000..54d775d41e0 --- /dev/null +++ b/libjava/javax/xml/stream/events/XMLEvent.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_events_XMLEvent__ +#define __javax_xml_stream_events_XMLEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace stream + { + class Location; + namespace events + { + class Characters; + class EndElement; + class StartElement; + class XMLEvent; + } + } + } + } +} + +class javax::xml::stream::events::XMLEvent : public ::java::lang::Object +{ + +public: + virtual jint getEventType() = 0; + virtual ::javax::xml::stream::Location * getLocation() = 0; + virtual jboolean isStartElement() = 0; + virtual jboolean isAttribute() = 0; + virtual jboolean isNamespace() = 0; + virtual jboolean isEndElement() = 0; + virtual jboolean isEntityReference() = 0; + virtual jboolean isProcessingInstruction() = 0; + virtual jboolean isCharacters() = 0; + virtual jboolean isStartDocument() = 0; + virtual jboolean isEndDocument() = 0; + virtual ::javax::xml::stream::events::StartElement * asStartElement() = 0; + virtual ::javax::xml::stream::events::EndElement * asEndElement() = 0; + virtual ::javax::xml::stream::events::Characters * asCharacters() = 0; + virtual ::javax::xml::namespace::QName * getSchemaType() = 0; + virtual void writeAsEncodedUnicode(::java::io::Writer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_events_XMLEvent__ diff --git a/libjava/javax/xml/stream/util/EventReaderDelegate.h b/libjava/javax/xml/stream/util/EventReaderDelegate.h new file mode 100644 index 00000000000..fc1bb75bbfa --- /dev/null +++ b/libjava/javax/xml/stream/util/EventReaderDelegate.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_util_EventReaderDelegate__ +#define __javax_xml_stream_util_EventReaderDelegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class XMLEventReader; + namespace events + { + class XMLEvent; + } + namespace util + { + class EventReaderDelegate; + } + } + } + } +} + +class javax::xml::stream::util::EventReaderDelegate : public ::java::lang::Object +{ + +public: + EventReaderDelegate(); + EventReaderDelegate(::javax::xml::stream::XMLEventReader *); + virtual void setParent(::javax::xml::stream::XMLEventReader *); + virtual ::javax::xml::stream::XMLEventReader * getParent(); + virtual ::javax::xml::stream::events::XMLEvent * nextEvent(); + virtual ::java::lang::Object * next(); + virtual jboolean hasNext(); + virtual ::javax::xml::stream::events::XMLEvent * peek(); + virtual ::java::lang::String * getElementText(); + virtual ::javax::xml::stream::events::XMLEvent * nextTag(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void close(); + virtual void remove(); +private: + ::javax::xml::stream::XMLEventReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_util_EventReaderDelegate__ diff --git a/libjava/javax/xml/stream/util/ReaderDelegate.h b/libjava/javax/xml/stream/util/ReaderDelegate.h new file mode 100644 index 00000000000..4235d0dcd14 --- /dev/null +++ b/libjava/javax/xml/stream/util/ReaderDelegate.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_util_ReaderDelegate__ +#define __javax_xml_stream_util_ReaderDelegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace stream + { + class Location; + class XMLStreamReader; + namespace util + { + class ReaderDelegate; + } + } + } + } +} + +class javax::xml::stream::util::ReaderDelegate : public ::java::lang::Object +{ + +public: + ReaderDelegate(); + ReaderDelegate(::javax::xml::stream::XMLStreamReader *); + virtual void setParent(::javax::xml::stream::XMLStreamReader *); + virtual ::javax::xml::stream::XMLStreamReader * getParent(); + virtual jint next(); + virtual jint nextTag(); + virtual ::java::lang::String * getElementText(); + virtual void require(jint, ::java::lang::String *, ::java::lang::String *); + virtual jboolean hasNext(); + virtual void close(); + virtual ::java::lang::String * getNamespaceURI(::java::lang::String *); + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext(); + virtual jboolean isStartElement(); + virtual jboolean isEndElement(); + virtual jboolean isCharacters(); + virtual jboolean isWhiteSpace(); + virtual ::java::lang::String * getAttributeValue(::java::lang::String *, ::java::lang::String *); + virtual jint getAttributeCount(); + virtual ::javax::xml::namespace::QName * getAttributeName(jint); + virtual ::java::lang::String * getAttributePrefix(jint); + virtual ::java::lang::String * getAttributeNamespace(jint); + virtual ::java::lang::String * getAttributeLocalName(jint); + virtual ::java::lang::String * getAttributeType(jint); + virtual ::java::lang::String * getAttributeValue(jint); + virtual jboolean isAttributeSpecified(jint); + virtual jint getNamespaceCount(); + virtual ::java::lang::String * getNamespacePrefix(jint); + virtual ::java::lang::String * getNamespaceURI(jint); + virtual jint getEventType(); + virtual ::java::lang::String * getText(); + virtual jint getTextCharacters(jint, JArray< jchar > *, jint, jint); + virtual JArray< jchar > * getTextCharacters(); + virtual jint getTextStart(); + virtual jint getTextLength(); + virtual ::java::lang::String * getEncoding(); + virtual jboolean hasText(); + virtual ::javax::xml::stream::Location * getLocation(); + virtual ::javax::xml::namespace::QName * getName(); + virtual ::java::lang::String * getLocalName(); + virtual jboolean hasName(); + virtual ::java::lang::String * getNamespaceURI(); + virtual ::java::lang::String * getPrefix(); + virtual ::java::lang::String * getVersion(); + virtual jboolean isStandalone(); + virtual jboolean standaloneSet(); + virtual ::java::lang::String * getCharacterEncodingScheme(); + virtual ::java::lang::String * getPITarget(); + virtual ::java::lang::String * getPIData(); + virtual ::java::lang::Object * getProperty(::java::lang::String *); +private: + ::javax::xml::stream::XMLStreamReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_stream_util_ReaderDelegate__ diff --git a/libjava/javax/xml/stream/util/XMLEventAllocator.h b/libjava/javax/xml/stream/util/XMLEventAllocator.h new file mode 100644 index 00000000000..ac872525c28 --- /dev/null +++ b/libjava/javax/xml/stream/util/XMLEventAllocator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_util_XMLEventAllocator__ +#define __javax_xml_stream_util_XMLEventAllocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + class XMLStreamReader; + namespace events + { + class XMLEvent; + } + namespace util + { + class XMLEventAllocator; + class XMLEventConsumer; + } + } + } + } +} + +class javax::xml::stream::util::XMLEventAllocator : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::stream::util::XMLEventAllocator * newInstance() = 0; + virtual ::javax::xml::stream::events::XMLEvent * allocate(::javax::xml::stream::XMLStreamReader *) = 0; + virtual void allocate(::javax::xml::stream::XMLStreamReader *, ::javax::xml::stream::util::XMLEventConsumer *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_util_XMLEventAllocator__ diff --git a/libjava/javax/xml/stream/util/XMLEventConsumer.h b/libjava/javax/xml/stream/util/XMLEventConsumer.h new file mode 100644 index 00000000000..7fb1fcf31e4 --- /dev/null +++ b/libjava/javax/xml/stream/util/XMLEventConsumer.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_stream_util_XMLEventConsumer__ +#define __javax_xml_stream_util_XMLEventConsumer__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace stream + { + namespace events + { + class XMLEvent; + } + namespace util + { + class XMLEventConsumer; + } + } + } + } +} + +class javax::xml::stream::util::XMLEventConsumer : public ::java::lang::Object +{ + +public: + virtual void add(::javax::xml::stream::events::XMLEvent *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_stream_util_XMLEventConsumer__ diff --git a/libjava/javax/xml/transform/ErrorListener.h b/libjava/javax/xml/transform/ErrorListener.h new file mode 100644 index 00000000000..ec91067cca6 --- /dev/null +++ b/libjava/javax/xml/transform/ErrorListener.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_ErrorListener__ +#define __javax_xml_transform_ErrorListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class TransformerException; + } + } + } +} + +class javax::xml::transform::ErrorListener : public ::java::lang::Object +{ + +public: + virtual void warning(::javax::xml::transform::TransformerException *) = 0; + virtual void error(::javax::xml::transform::TransformerException *) = 0; + virtual void fatalError(::javax::xml::transform::TransformerException *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_ErrorListener__ diff --git a/libjava/javax/xml/transform/OutputKeys.h b/libjava/javax/xml/transform/OutputKeys.h new file mode 100644 index 00000000000..d53a11f30cb --- /dev/null +++ b/libjava/javax/xml/transform/OutputKeys.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_OutputKeys__ +#define __javax_xml_transform_OutputKeys__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class OutputKeys; + } + } + } +} + +class javax::xml::transform::OutputKeys : public ::java::lang::Object +{ + + OutputKeys(); +public: + static ::java::lang::String * METHOD; + static ::java::lang::String * VERSION; + static ::java::lang::String * ENCODING; + static ::java::lang::String * OMIT_XML_DECLARATION; + static ::java::lang::String * STANDALONE; + static ::java::lang::String * DOCTYPE_PUBLIC; + static ::java::lang::String * DOCTYPE_SYSTEM; + static ::java::lang::String * CDATA_SECTION_ELEMENTS; + static ::java::lang::String * INDENT; + static ::java::lang::String * MEDIA_TYPE; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_OutputKeys__ diff --git a/libjava/javax/xml/transform/Result.h b/libjava/javax/xml/transform/Result.h new file mode 100644 index 00000000000..eb4fe02bd9e --- /dev/null +++ b/libjava/javax/xml/transform/Result.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_Result__ +#define __javax_xml_transform_Result__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + } + } + } +} + +class javax::xml::transform::Result : public ::java::lang::Object +{ + +public: + virtual void setSystemId(::java::lang::String *) = 0; + virtual ::java::lang::String * getSystemId() = 0; + static ::java::lang::String * PI_DISABLE_OUTPUT_ESCAPING; + static ::java::lang::String * PI_ENABLE_OUTPUT_ESCAPING; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_Result__ diff --git a/libjava/javax/xml/transform/Source.h b/libjava/javax/xml/transform/Source.h new file mode 100644 index 00000000000..72e2c4f45a6 --- /dev/null +++ b/libjava/javax/xml/transform/Source.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_Source__ +#define __javax_xml_transform_Source__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + } + } + } +} + +class javax::xml::transform::Source : public ::java::lang::Object +{ + +public: + virtual void setSystemId(::java::lang::String *) = 0; + virtual ::java::lang::String * getSystemId() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_Source__ diff --git a/libjava/javax/xml/transform/SourceLocator.h b/libjava/javax/xml/transform/SourceLocator.h new file mode 100644 index 00000000000..3084b8ad345 --- /dev/null +++ b/libjava/javax/xml/transform/SourceLocator.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_SourceLocator__ +#define __javax_xml_transform_SourceLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class SourceLocator; + } + } + } +} + +class javax::xml::transform::SourceLocator : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual jint getLineNumber() = 0; + virtual jint getColumnNumber() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_SourceLocator__ diff --git a/libjava/javax/xml/transform/Templates.h b/libjava/javax/xml/transform/Templates.h new file mode 100644 index 00000000000..33bb8b55810 --- /dev/null +++ b/libjava/javax/xml/transform/Templates.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_Templates__ +#define __javax_xml_transform_Templates__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Templates; + class Transformer; + } + } + } +} + +class javax::xml::transform::Templates : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::transform::Transformer * newTransformer() = 0; + virtual ::java::util::Properties * getOutputProperties() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_Templates__ diff --git a/libjava/javax/xml/transform/Transformer.h b/libjava/javax/xml/transform/Transformer.h new file mode 100644 index 00000000000..cd489803fe2 --- /dev/null +++ b/libjava/javax/xml/transform/Transformer.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_Transformer__ +#define __javax_xml_transform_Transformer__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Result; + class Source; + class Transformer; + class URIResolver; + } + } + } +} + +class javax::xml::transform::Transformer : public ::java::lang::Object +{ + +public: // actually protected + Transformer(); +public: + virtual void transform(::javax::xml::transform::Source *, ::javax::xml::transform::Result *) = 0; + virtual void setParameter(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getParameter(::java::lang::String *) = 0; + virtual void clearParameters() = 0; + virtual void setURIResolver(::javax::xml::transform::URIResolver *) = 0; + virtual ::javax::xml::transform::URIResolver * getURIResolver() = 0; + virtual void setOutputProperties(::java::util::Properties *) = 0; + virtual ::java::util::Properties * getOutputProperties() = 0; + virtual void setOutputProperty(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getOutputProperty(::java::lang::String *) = 0; + virtual void setErrorListener(::javax::xml::transform::ErrorListener *) = 0; + virtual ::javax::xml::transform::ErrorListener * getErrorListener() = 0; + virtual void reset(); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_Transformer__ diff --git a/libjava/javax/xml/transform/TransformerConfigurationException.h b/libjava/javax/xml/transform/TransformerConfigurationException.h new file mode 100644 index 00000000000..d2a7d27ac22 --- /dev/null +++ b/libjava/javax/xml/transform/TransformerConfigurationException.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_TransformerConfigurationException__ +#define __javax_xml_transform_TransformerConfigurationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class SourceLocator; + class TransformerConfigurationException; + } + } + } +} + +class javax::xml::transform::TransformerConfigurationException : public ::javax::xml::transform::TransformerException +{ + +public: + TransformerConfigurationException(); + TransformerConfigurationException(::java::lang::String *); + TransformerConfigurationException(::java::lang::Throwable *); + TransformerConfigurationException(::java::lang::String *, ::java::lang::Throwable *); + TransformerConfigurationException(::java::lang::String *, ::javax::xml::transform::SourceLocator *); + TransformerConfigurationException(::java::lang::String *, ::javax::xml::transform::SourceLocator *, ::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 1285547467942875745LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_TransformerConfigurationException__ diff --git a/libjava/javax/xml/transform/TransformerException.h b/libjava/javax/xml/transform/TransformerException.h new file mode 100644 index 00000000000..92158ce0338 --- /dev/null +++ b/libjava/javax/xml/transform/TransformerException.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_TransformerException__ +#define __javax_xml_transform_TransformerException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class SourceLocator; + class TransformerException; + } + } + } +} + +class javax::xml::transform::TransformerException : public ::java::lang::Exception +{ + +public: + TransformerException(::java::lang::String *); + TransformerException(::java::lang::Throwable *); + TransformerException(::java::lang::String *, ::java::lang::Throwable *); + TransformerException(::java::lang::String *, ::javax::xml::transform::SourceLocator *); + TransformerException(::java::lang::String *, ::javax::xml::transform::SourceLocator *, ::java::lang::Throwable *); + virtual ::javax::xml::transform::SourceLocator * getLocator(); + virtual void setLocator(::javax::xml::transform::SourceLocator *); + virtual ::java::lang::Throwable * getException(); + virtual ::java::lang::Throwable * getCause(); + virtual ::java::lang::Throwable * initCause(::java::lang::Throwable *); + virtual ::java::lang::String * getMessageAndLocation(); + virtual ::java::lang::String * getLocationAsString(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + static const jlong serialVersionUID = 975798773772956428LL; + ::javax::xml::transform::SourceLocator * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) locator; + ::java::lang::Throwable * containedException; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_TransformerException__ diff --git a/libjava/javax/xml/transform/TransformerFactory.h b/libjava/javax/xml/transform/TransformerFactory.h new file mode 100644 index 00000000000..f16f1e784c4 --- /dev/null +++ b/libjava/javax/xml/transform/TransformerFactory.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_TransformerFactory__ +#define __javax_xml_transform_TransformerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class ErrorListener; + class Source; + class Templates; + class Transformer; + class TransformerFactory; + class URIResolver; + } + } + } +} + +class javax::xml::transform::TransformerFactory : public ::java::lang::Object +{ + +public: // actually protected + TransformerFactory(); +public: + static ::javax::xml::transform::TransformerFactory * newInstance(); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + virtual ::javax::xml::transform::Transformer * newTransformer(::javax::xml::transform::Source *) = 0; + virtual ::javax::xml::transform::Transformer * newTransformer() = 0; + virtual ::javax::xml::transform::Templates * newTemplates(::javax::xml::transform::Source *) = 0; + virtual ::javax::xml::transform::Source * getAssociatedStylesheet(::javax::xml::transform::Source *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void setURIResolver(::javax::xml::transform::URIResolver *) = 0; + virtual ::javax::xml::transform::URIResolver * getURIResolver() = 0; + virtual void setFeature(::java::lang::String *, jboolean) = 0; + virtual jboolean getFeature(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getAttribute(::java::lang::String *) = 0; + virtual void setErrorListener(::javax::xml::transform::ErrorListener *) = 0; + virtual ::javax::xml::transform::ErrorListener * getErrorListener() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_TransformerFactory__ diff --git a/libjava/javax/xml/transform/TransformerFactoryConfigurationError.h b/libjava/javax/xml/transform/TransformerFactoryConfigurationError.h new file mode 100644 index 00000000000..d6edcff775f --- /dev/null +++ b/libjava/javax/xml/transform/TransformerFactoryConfigurationError.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_TransformerFactoryConfigurationError__ +#define __javax_xml_transform_TransformerFactoryConfigurationError__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class TransformerFactoryConfigurationError; + } + } + } +} + +class javax::xml::transform::TransformerFactoryConfigurationError : public ::java::lang::Error +{ + +public: + TransformerFactoryConfigurationError(); + TransformerFactoryConfigurationError(::java::lang::String *); + TransformerFactoryConfigurationError(::java::lang::Exception *); + TransformerFactoryConfigurationError(::java::lang::Exception *, ::java::lang::String *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Exception * getException(); +private: + static const jlong serialVersionUID = -6527718720676281516LL; + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::Error)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_TransformerFactoryConfigurationError__ diff --git a/libjava/javax/xml/transform/URIResolver.h b/libjava/javax/xml/transform/URIResolver.h new file mode 100644 index 00000000000..5f64c81f891 --- /dev/null +++ b/libjava/javax/xml/transform/URIResolver.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_URIResolver__ +#define __javax_xml_transform_URIResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + class URIResolver; + } + } + } +} + +class javax::xml::transform::URIResolver : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::transform::Source * resolve(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_URIResolver__ diff --git a/libjava/javax/xml/transform/dom/DOMLocator.h b/libjava/javax/xml/transform/dom/DOMLocator.h new file mode 100644 index 00000000000..7bb475203bf --- /dev/null +++ b/libjava/javax/xml/transform/dom/DOMLocator.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_dom_DOMLocator__ +#define __javax_xml_transform_dom_DOMLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + namespace dom + { + class DOMLocator; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::xml::transform::dom::DOMLocator : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * getOriginatingNode() = 0; + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual jint getLineNumber() = 0; + virtual jint getColumnNumber() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_dom_DOMLocator__ diff --git a/libjava/javax/xml/transform/dom/DOMResult.h b/libjava/javax/xml/transform/dom/DOMResult.h new file mode 100644 index 00000000000..84e91a5cd03 --- /dev/null +++ b/libjava/javax/xml/transform/dom/DOMResult.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_dom_DOMResult__ +#define __javax_xml_transform_dom_DOMResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + namespace dom + { + class DOMResult; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::xml::transform::dom::DOMResult : public ::java::lang::Object +{ + +public: + DOMResult(); + DOMResult(::org::w3c::dom::Node *); + DOMResult(::org::w3c::dom::Node *, ::org::w3c::dom::Node *); + DOMResult(::org::w3c::dom::Node *, ::java::lang::String *); + DOMResult(::org::w3c::dom::Node *, ::org::w3c::dom::Node *, ::java::lang::String *); + virtual void setNode(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * getNode(); + virtual void setNextSibling(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * getNextSibling(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + static ::java::lang::String * FEATURE; +private: + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; + ::org::w3c::dom::Node * nextSibling; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_dom_DOMResult__ diff --git a/libjava/javax/xml/transform/dom/DOMSource.h b/libjava/javax/xml/transform/dom/DOMSource.h new file mode 100644 index 00000000000..3c8d935705b --- /dev/null +++ b/libjava/javax/xml/transform/dom/DOMSource.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_dom_DOMSource__ +#define __javax_xml_transform_dom_DOMSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + namespace dom + { + class DOMSource; + } + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + } + } + } +} + +class javax::xml::transform::dom::DOMSource : public ::java::lang::Object +{ + +public: + DOMSource(); + DOMSource(::org::w3c::dom::Node *); + DOMSource(::org::w3c::dom::Node *, ::java::lang::String *); + virtual void setNode(::org::w3c::dom::Node *); + virtual ::org::w3c::dom::Node * getNode(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + static ::java::lang::String * FEATURE; +private: + ::org::w3c::dom::Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_dom_DOMSource__ diff --git a/libjava/javax/xml/transform/sax/SAXResult.h b/libjava/javax/xml/transform/sax/SAXResult.h new file mode 100644 index 00000000000..b3e04b65dae --- /dev/null +++ b/libjava/javax/xml/transform/sax/SAXResult.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_sax_SAXResult__ +#define __javax_xml_transform_sax_SAXResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + namespace sax + { + class SAXResult; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + namespace ext + { + class LexicalHandler; + } + } + } + } +} + +class javax::xml::transform::sax::SAXResult : public ::java::lang::Object +{ + +public: + SAXResult(); + SAXResult(::org::xml::sax::ContentHandler *); + virtual void setHandler(::org::xml::sax::ContentHandler *); + virtual ::org::xml::sax::ContentHandler * getHandler(); + virtual void setLexicalHandler(::org::xml::sax::ext::LexicalHandler *); + virtual ::org::xml::sax::ext::LexicalHandler * getLexicalHandler(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + static ::java::lang::String * FEATURE; +private: + ::org::xml::sax::ContentHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handler; + ::org::xml::sax::ext::LexicalHandler * lexicalHandler; + ::java::lang::String * systemId; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_sax_SAXResult__ diff --git a/libjava/javax/xml/transform/sax/SAXSource.h b/libjava/javax/xml/transform/sax/SAXSource.h new file mode 100644 index 00000000000..8c06ad8ec32 --- /dev/null +++ b/libjava/javax/xml/transform/sax/SAXSource.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_sax_SAXSource__ +#define __javax_xml_transform_sax_SAXSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + namespace sax + { + class SAXSource; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + class XMLReader; + } + } + } +} + +class javax::xml::transform::sax::SAXSource : public ::java::lang::Object +{ + +public: + SAXSource(); + SAXSource(::org::xml::sax::XMLReader *, ::org::xml::sax::InputSource *); + SAXSource(::org::xml::sax::InputSource *); + virtual void setXMLReader(::org::xml::sax::XMLReader *); + virtual ::org::xml::sax::XMLReader * getXMLReader(); + virtual void setInputSource(::org::xml::sax::InputSource *); + virtual ::org::xml::sax::InputSource * getInputSource(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + static ::org::xml::sax::InputSource * sourceToInputSource(::javax::xml::transform::Source *); + static ::java::lang::String * FEATURE; +private: + ::org::xml::sax::XMLReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) xmlReader; + ::org::xml::sax::InputSource * inputSource; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_sax_SAXSource__ diff --git a/libjava/javax/xml/transform/sax/SAXTransformerFactory.h b/libjava/javax/xml/transform/sax/SAXTransformerFactory.h new file mode 100644 index 00000000000..7d26f5533a1 --- /dev/null +++ b/libjava/javax/xml/transform/sax/SAXTransformerFactory.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_sax_SAXTransformerFactory__ +#define __javax_xml_transform_sax_SAXTransformerFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + class Templates; + namespace sax + { + class SAXTransformerFactory; + class TemplatesHandler; + class TransformerHandler; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class XMLFilter; + } + } + } +} + +class javax::xml::transform::sax::SAXTransformerFactory : public ::javax::xml::transform::TransformerFactory +{ + +public: // actually protected + SAXTransformerFactory(); +public: + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(::javax::xml::transform::Source *) = 0; + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler(::javax::xml::transform::Templates *) = 0; + virtual ::javax::xml::transform::sax::TransformerHandler * newTransformerHandler() = 0; + virtual ::javax::xml::transform::sax::TemplatesHandler * newTemplatesHandler() = 0; + virtual ::org::xml::sax::XMLFilter * newXMLFilter(::javax::xml::transform::Source *) = 0; + virtual ::org::xml::sax::XMLFilter * newXMLFilter(::javax::xml::transform::Templates *) = 0; + static ::java::lang::String * FEATURE; + static ::java::lang::String * FEATURE_XMLFILTER; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_sax_SAXTransformerFactory__ diff --git a/libjava/javax/xml/transform/sax/TemplatesHandler.h b/libjava/javax/xml/transform/sax/TemplatesHandler.h new file mode 100644 index 00000000000..63f6834c18d --- /dev/null +++ b/libjava/javax/xml/transform/sax/TemplatesHandler.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_sax_TemplatesHandler__ +#define __javax_xml_transform_sax_TemplatesHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Templates; + namespace sax + { + class TemplatesHandler; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class Locator; + } + } + } +} + +class javax::xml::transform::sax::TemplatesHandler : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::transform::Templates * getTemplates() = 0; + virtual void setSystemId(::java::lang::String *) = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual void setDocumentLocator(::org::xml::sax::Locator *) = 0; + virtual void startDocument() = 0; + virtual void endDocument() = 0; + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *) = 0; + virtual void endPrefixMapping(::java::lang::String *) = 0; + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *) = 0; + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void characters(JArray< jchar > *, jint, jint) = 0; + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint) = 0; + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual void skippedEntity(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_sax_TemplatesHandler__ diff --git a/libjava/javax/xml/transform/sax/TransformerHandler.h b/libjava/javax/xml/transform/sax/TransformerHandler.h new file mode 100644 index 00000000000..f6cbdc3094f --- /dev/null +++ b/libjava/javax/xml/transform/sax/TransformerHandler.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_sax_TransformerHandler__ +#define __javax_xml_transform_sax_TransformerHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Transformer; + namespace sax + { + class TransformerHandler; + } + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class Locator; + } + } + } +} + +class javax::xml::transform::sax::TransformerHandler : public ::java::lang::Object +{ + +public: + virtual void setResult(::javax::xml::transform::Result *) = 0; + virtual void setSystemId(::java::lang::String *) = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual ::javax::xml::transform::Transformer * getTransformer() = 0; + virtual void setDocumentLocator(::org::xml::sax::Locator *) = 0; + virtual void startDocument() = 0; + virtual void endDocument() = 0; + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *) = 0; + virtual void endPrefixMapping(::java::lang::String *) = 0; + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *) = 0; + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void characters(JArray< jchar > *, jint, jint) = 0; + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint) = 0; + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual void skippedEntity(::java::lang::String *) = 0; + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void endDTD() = 0; + virtual void startEntity(::java::lang::String *) = 0; + virtual void endEntity(::java::lang::String *) = 0; + virtual void startCDATA() = 0; + virtual void endCDATA() = 0; + virtual void comment(JArray< jchar > *, jint, jint) = 0; + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_transform_sax_TransformerHandler__ diff --git a/libjava/javax/xml/transform/stream/StreamResult.h b/libjava/javax/xml/transform/stream/StreamResult.h new file mode 100644 index 00000000000..dd9d09648f0 --- /dev/null +++ b/libjava/javax/xml/transform/stream/StreamResult.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_stream_StreamResult__ +#define __javax_xml_transform_stream_StreamResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + namespace stream + { + class StreamResult; + } + } + } + } +} + +class javax::xml::transform::stream::StreamResult : public ::java::lang::Object +{ + +public: + StreamResult(); + StreamResult(::java::io::OutputStream *); + StreamResult(::java::io::Writer *); + StreamResult(::java::lang::String *); + StreamResult(::java::io::File *); + virtual void setOutputStream(::java::io::OutputStream *); + virtual ::java::io::OutputStream * getOutputStream(); + virtual void setWriter(::java::io::Writer *); + virtual ::java::io::Writer * getWriter(); + virtual void setSystemId(::java::lang::String *); + virtual void setSystemId(::java::io::File *); + virtual ::java::lang::String * getSystemId(); + static ::java::lang::String * FEATURE; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) systemId; + ::java::io::OutputStream * outputStream; + ::java::io::Writer * writer; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_stream_StreamResult__ diff --git a/libjava/javax/xml/transform/stream/StreamSource.h b/libjava/javax/xml/transform/stream/StreamSource.h new file mode 100644 index 00000000000..685a94a06b0 --- /dev/null +++ b/libjava/javax/xml/transform/stream/StreamSource.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_transform_stream_StreamSource__ +#define __javax_xml_transform_stream_StreamSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + namespace stream + { + class StreamSource; + } + } + } + } +} + +class javax::xml::transform::stream::StreamSource : public ::java::lang::Object +{ + +public: + StreamSource(); + StreamSource(::java::io::InputStream *); + StreamSource(::java::io::InputStream *, ::java::lang::String *); + StreamSource(::java::io::Reader *); + StreamSource(::java::io::Reader *, ::java::lang::String *); + StreamSource(::java::lang::String *); + StreamSource(::java::io::File *); + virtual void setInputStream(::java::io::InputStream *); + virtual ::java::io::InputStream * getInputStream(); + virtual void setReader(::java::io::Reader *); + virtual ::java::io::Reader * getReader(); + virtual void setPublicId(::java::lang::String *); + virtual ::java::lang::String * getPublicId(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + virtual void setSystemId(::java::io::File *); + static ::java::lang::String * FEATURE; +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId; + ::java::lang::String * systemId; + ::java::io::InputStream * inputStream; + ::java::io::Reader * reader; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_transform_stream_StreamSource__ diff --git a/libjava/javax/xml/validation/Schema.h b/libjava/javax/xml/validation/Schema.h new file mode 100644 index 00000000000..482a216d26b --- /dev/null +++ b/libjava/javax/xml/validation/Schema.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_validation_Schema__ +#define __javax_xml_validation_Schema__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace validation + { + class Schema; + class Validator; + class ValidatorHandler; + } + } + } +} + +class javax::xml::validation::Schema : public ::java::lang::Object +{ + +public: // actually protected + Schema(); +public: + virtual ::javax::xml::validation::Validator * newValidator() = 0; + virtual ::javax::xml::validation::ValidatorHandler * newValidatorHandler() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_validation_Schema__ diff --git a/libjava/javax/xml/validation/SchemaFactory.h b/libjava/javax/xml/validation/SchemaFactory.h new file mode 100644 index 00000000000..758e376843d --- /dev/null +++ b/libjava/javax/xml/validation/SchemaFactory.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_validation_SchemaFactory__ +#define __javax_xml_validation_SchemaFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace javax + { + namespace xml + { + namespace transform + { + class Source; + } + namespace validation + { + class Schema; + class SchemaFactory; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class ErrorHandler; + } + } + } +} + +class javax::xml::validation::SchemaFactory : public ::java::lang::Object +{ + +public: // actually protected + SchemaFactory(); +public: + static ::javax::xml::validation::SchemaFactory * newInstance(::java::lang::String *); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, ::java::lang::String *, jint); +public: + virtual jboolean isSchemaLanguageSupported(::java::lang::String *) = 0; + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler() = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver() = 0; + virtual void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *) = 0; + virtual ::javax::xml::validation::Schema * newSchema(::javax::xml::transform::Source *); + virtual ::javax::xml::validation::Schema * newSchema(::java::io::File *); + virtual ::javax::xml::validation::Schema * newSchema(::java::net::URL *); + virtual ::javax::xml::validation::Schema * newSchema(JArray< ::javax::xml::transform::Source * > *) = 0; + virtual ::javax::xml::validation::Schema * newSchema() = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_validation_SchemaFactory__ diff --git a/libjava/javax/xml/validation/SchemaFactoryLoader.h b/libjava/javax/xml/validation/SchemaFactoryLoader.h new file mode 100644 index 00000000000..0593c5474dd --- /dev/null +++ b/libjava/javax/xml/validation/SchemaFactoryLoader.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_validation_SchemaFactoryLoader__ +#define __javax_xml_validation_SchemaFactoryLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace validation + { + class SchemaFactory; + class SchemaFactoryLoader; + } + } + } +} + +class javax::xml::validation::SchemaFactoryLoader : public ::java::lang::Object +{ + +public: // actually protected + SchemaFactoryLoader(); +public: + virtual ::javax::xml::validation::SchemaFactory * newFactory(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_validation_SchemaFactoryLoader__ diff --git a/libjava/javax/xml/validation/TypeInfoProvider.h b/libjava/javax/xml/validation/TypeInfoProvider.h new file mode 100644 index 00000000000..0a363268808 --- /dev/null +++ b/libjava/javax/xml/validation/TypeInfoProvider.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_validation_TypeInfoProvider__ +#define __javax_xml_validation_TypeInfoProvider__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace validation + { + class TypeInfoProvider; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + class TypeInfo; + } + } + } +} + +class javax::xml::validation::TypeInfoProvider : public ::java::lang::Object +{ + +public: // actually protected + TypeInfoProvider(); +public: + virtual ::org::w3c::dom::TypeInfo * getElementTypeInfo() = 0; + virtual ::org::w3c::dom::TypeInfo * getAttributeTypeInfo(jint) = 0; + virtual jboolean isIdAttribute(jint) = 0; + virtual jboolean isSpecified(jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_validation_TypeInfoProvider__ diff --git a/libjava/javax/xml/validation/Validator.h b/libjava/javax/xml/validation/Validator.h new file mode 100644 index 00000000000..98dcf2862f2 --- /dev/null +++ b/libjava/javax/xml/validation/Validator.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_validation_Validator__ +#define __javax_xml_validation_Validator__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace transform + { + class Result; + class Source; + } + namespace validation + { + class Validator; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class ErrorHandler; + } + } + } +} + +class javax::xml::validation::Validator : public ::java::lang::Object +{ + +public: // actually protected + Validator(); +public: + virtual void reset() = 0; + virtual void validate(::javax::xml::transform::Source *); + virtual void validate(::javax::xml::transform::Source *, ::javax::xml::transform::Result *) = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual ::org::xml::sax::ErrorHandler * getErrorHandler() = 0; + virtual void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *) = 0; + virtual ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver() = 0; + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_validation_Validator__ diff --git a/libjava/javax/xml/validation/ValidatorHandler.h b/libjava/javax/xml/validation/ValidatorHandler.h new file mode 100644 index 00000000000..a5f9e2f010c --- /dev/null +++ b/libjava/javax/xml/validation/ValidatorHandler.h @@ -0,0 +1,84 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_validation_ValidatorHandler__ +#define __javax_xml_validation_ValidatorHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace validation + { + class TypeInfoProvider; + class ValidatorHandler; + } + } + } + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSResourceResolver; + } + } + } + namespace xml + { + namespace sax + { + class Attributes; + class ContentHandler; + class ErrorHandler; + class Locator; + } + } + } +} + +class javax::xml::validation::ValidatorHandler : public ::java::lang::Object +{ + +public: // actually protected + ValidatorHandler(); +public: + virtual void setContentHandler(::org::xml::sax::ContentHandler *) = 0; + virtual ::org::xml::sax::ContentHandler * getContentHandler() = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual ::org::xml::sax::ErrorHandler * getErrorHandler() = 0; + virtual void setResourceResolver(::org::w3c::dom::ls::LSResourceResolver *) = 0; + virtual ::org::w3c::dom::ls::LSResourceResolver * getResourceResolver() = 0; + virtual ::javax::xml::validation::TypeInfoProvider * getTypeInfoProvider() = 0; + virtual jboolean getFeature(::java::lang::String *); + virtual void setFeature(::java::lang::String *, jboolean); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual void setDocumentLocator(::org::xml::sax::Locator *) = 0; + virtual void startDocument() = 0; + virtual void endDocument() = 0; + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *) = 0; + virtual void endPrefixMapping(::java::lang::String *) = 0; + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *) = 0; + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void characters(JArray< jchar > *, jint, jint) = 0; + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint) = 0; + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual void skippedEntity(::java::lang::String *) = 0; +public: // actually package-private + static ::java::lang::String * NS_FEATURE; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_validation_ValidatorHandler__ diff --git a/libjava/javax/xml/xpath/XPath.h b/libjava/javax/xml/xpath/XPath.h new file mode 100644 index 00000000000..0a67abb8129 --- /dev/null +++ b/libjava/javax/xml/xpath/XPath.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPath__ +#define __javax_xml_xpath_XPath__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class NamespaceContext; + class QName; + } + namespace xpath + { + class XPath; + class XPathExpression; + class XPathFunctionResolver; + class XPathVariableResolver; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class javax::xml::xpath::XPath : public ::java::lang::Object +{ + +public: + virtual void reset() = 0; + virtual void setXPathVariableResolver(::javax::xml::xpath::XPathVariableResolver *) = 0; + virtual ::javax::xml::xpath::XPathVariableResolver * getXPathVariableResolver() = 0; + virtual void setXPathFunctionResolver(::javax::xml::xpath::XPathFunctionResolver *) = 0; + virtual ::javax::xml::xpath::XPathFunctionResolver * getXPathFunctionResolver() = 0; + virtual void setNamespaceContext(::javax::xml::namespace::NamespaceContext *) = 0; + virtual ::javax::xml::namespace::NamespaceContext * getNamespaceContext() = 0; + virtual ::javax::xml::xpath::XPathExpression * compile(::java::lang::String *) = 0; + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::java::lang::Object *, ::javax::xml::namespace::QName *) = 0; + virtual ::java::lang::String * evaluate(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::org::xml::sax::InputSource *, ::javax::xml::namespace::QName *) = 0; + virtual ::java::lang::String * evaluate(::java::lang::String *, ::org::xml::sax::InputSource *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_xpath_XPath__ diff --git a/libjava/javax/xml/xpath/XPathConstants.h b/libjava/javax/xml/xpath/XPathConstants.h new file mode 100644 index 00000000000..0b15648e34e --- /dev/null +++ b/libjava/javax/xml/xpath/XPathConstants.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathConstants__ +#define __javax_xml_xpath_XPathConstants__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathConstants; + } + } + } +} + +class javax::xml::xpath::XPathConstants : public ::java::lang::Object +{ + + XPathConstants(); +public: + static ::javax::xml::namespace::QName * NUMBER; + static ::javax::xml::namespace::QName * STRING; + static ::javax::xml::namespace::QName * BOOLEAN; + static ::javax::xml::namespace::QName * NODESET; + static ::javax::xml::namespace::QName * NODE; + static ::java::lang::String * DOM_OBJECT_MODEL; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_xpath_XPathConstants__ diff --git a/libjava/javax/xml/xpath/XPathException.h b/libjava/javax/xml/xpath/XPathException.h new file mode 100644 index 00000000000..a495a94233e --- /dev/null +++ b/libjava/javax/xml/xpath/XPathException.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathException__ +#define __javax_xml_xpath_XPathException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace xpath + { + class XPathException; + } + } + } +} + +class javax::xml::xpath::XPathException : public ::java::lang::Exception +{ + +public: + XPathException(::java::lang::String *); + XPathException(::java::lang::Throwable *); + virtual ::java::lang::Throwable * getCause(); + virtual void printStackTrace(); + virtual void printStackTrace(::java::io::PrintStream *); + virtual void printStackTrace(::java::io::PrintWriter *); +private: + static const jlong serialVersionUID = -1837080260374986980LL; +public: // actually package-private + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) cause; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_xpath_XPathException__ diff --git a/libjava/javax/xml/xpath/XPathExpression.h b/libjava/javax/xml/xpath/XPathExpression.h new file mode 100644 index 00000000000..6a9a0e3e5a2 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathExpression.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathExpression__ +#define __javax_xml_xpath_XPathExpression__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathExpression; + } + } + } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class javax::xml::xpath::XPathExpression : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * evaluate(::java::lang::Object *, ::javax::xml::namespace::QName *) = 0; + virtual ::java::lang::String * evaluate(::java::lang::Object *) = 0; + virtual ::java::lang::Object * evaluate(::org::xml::sax::InputSource *, ::javax::xml::namespace::QName *) = 0; + virtual ::java::lang::String * evaluate(::org::xml::sax::InputSource *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_xpath_XPathExpression__ diff --git a/libjava/javax/xml/xpath/XPathExpressionException.h b/libjava/javax/xml/xpath/XPathExpressionException.h new file mode 100644 index 00000000000..e619bbd62b6 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathExpressionException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathExpressionException__ +#define __javax_xml_xpath_XPathExpressionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace xpath + { + class XPathExpressionException; + } + } + } +} + +class javax::xml::xpath::XPathExpressionException : public ::javax::xml::xpath::XPathException +{ + +public: + XPathExpressionException(::java::lang::String *); + XPathExpressionException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -1837080260374986980LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_xpath_XPathExpressionException__ diff --git a/libjava/javax/xml/xpath/XPathFactory.h b/libjava/javax/xml/xpath/XPathFactory.h new file mode 100644 index 00000000000..f4b9ac68554 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathFactory.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathFactory__ +#define __javax_xml_xpath_XPathFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace xpath + { + class XPath; + class XPathFactory; + class XPathFunctionResolver; + class XPathVariableResolver; + } + } + } +} + +class javax::xml::xpath::XPathFactory : public ::java::lang::Object +{ + +public: // actually protected + XPathFactory(); +public: + static ::javax::xml::xpath::XPathFactory * newInstance(); + static ::javax::xml::xpath::XPathFactory * newInstance(::java::lang::String *); +private: + static ::java::lang::String * getFactoryClassName(::java::lang::ClassLoader *, jint); +public: + virtual jboolean isObjectModelSupported(::java::lang::String *) = 0; + virtual void setFeature(::java::lang::String *, jboolean) = 0; + virtual jboolean getFeature(::java::lang::String *) = 0; + virtual void setXPathVariableResolver(::javax::xml::xpath::XPathVariableResolver *) = 0; + virtual void setXPathFunctionResolver(::javax::xml::xpath::XPathFunctionResolver *) = 0; + virtual ::javax::xml::xpath::XPath * newXPath() = 0; + static ::java::lang::String * DEFAULT_PROPERTY_NAME; + static ::java::lang::String * DEFAULT_OBJECT_MODEL_URI; + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_xpath_XPathFactory__ diff --git a/libjava/javax/xml/xpath/XPathFactoryConfigurationException.h b/libjava/javax/xml/xpath/XPathFactoryConfigurationException.h new file mode 100644 index 00000000000..35ee44255f1 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathFactoryConfigurationException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathFactoryConfigurationException__ +#define __javax_xml_xpath_XPathFactoryConfigurationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace xpath + { + class XPathFactoryConfigurationException; + } + } + } +} + +class javax::xml::xpath::XPathFactoryConfigurationException : public ::javax::xml::xpath::XPathException +{ + +public: + XPathFactoryConfigurationException(::java::lang::String *); + XPathFactoryConfigurationException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -1837080260374986980LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_xpath_XPathFactoryConfigurationException__ diff --git a/libjava/javax/xml/xpath/XPathFunction.h b/libjava/javax/xml/xpath/XPathFunction.h new file mode 100644 index 00000000000..adc76361280 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathFunction.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathFunction__ +#define __javax_xml_xpath_XPathFunction__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace xpath + { + class XPathFunction; + } + } + } +} + +class javax::xml::xpath::XPathFunction : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * evaluate(::java::util::List *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_xpath_XPathFunction__ diff --git a/libjava/javax/xml/xpath/XPathFunctionException.h b/libjava/javax/xml/xpath/XPathFunctionException.h new file mode 100644 index 00000000000..690332a2efd --- /dev/null +++ b/libjava/javax/xml/xpath/XPathFunctionException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathFunctionException__ +#define __javax_xml_xpath_XPathFunctionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace xpath + { + class XPathFunctionException; + } + } + } +} + +class javax::xml::xpath::XPathFunctionException : public ::javax::xml::xpath::XPathExpressionException +{ + +public: + XPathFunctionException(::java::lang::String *); + XPathFunctionException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = -1837080260374986980LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __javax_xml_xpath_XPathFunctionException__ diff --git a/libjava/javax/xml/xpath/XPathFunctionResolver.h b/libjava/javax/xml/xpath/XPathFunctionResolver.h new file mode 100644 index 00000000000..b526d01a035 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathFunctionResolver.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathFunctionResolver__ +#define __javax_xml_xpath_XPathFunctionResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathFunction; + class XPathFunctionResolver; + } + } + } +} + +class javax::xml::xpath::XPathFunctionResolver : public ::java::lang::Object +{ + +public: + virtual ::javax::xml::xpath::XPathFunction * resolveFunction(::javax::xml::namespace::QName *, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_xpath_XPathFunctionResolver__ diff --git a/libjava/javax/xml/xpath/XPathVariableResolver.h b/libjava/javax/xml/xpath/XPathVariableResolver.h new file mode 100644 index 00000000000..d308cac5948 --- /dev/null +++ b/libjava/javax/xml/xpath/XPathVariableResolver.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __javax_xml_xpath_XPathVariableResolver__ +#define __javax_xml_xpath_XPathVariableResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace javax + { + namespace xml + { + namespace namespace + { + class QName; + } + namespace xpath + { + class XPathVariableResolver; + } + } + } +} + +class javax::xml::xpath::XPathVariableResolver : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * resolveVariable(::javax::xml::namespace::QName *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __javax_xml_xpath_XPathVariableResolver__ diff --git a/libjava/link.cc b/libjava/link.cc index 5fc82e58b14..929be3a8702 100644 --- a/libjava/link.cc +++ b/libjava/link.cc @@ -264,6 +264,107 @@ _Jv_Linker::find_field (jclass klass, jclass owner, return the_field; } +_Jv_Method * +_Jv_Linker::resolve_method_entry (jclass klass, jclass &found_class, + int class_index, int name_and_type_index, + bool init, bool is_iface) +{ + _Jv_Constants *pool = &klass->constants; + jclass owner = resolve_pool_entry (klass, class_index).clazz; + + if (init && owner != klass) + _Jv_InitClass (owner); + + _Jv_ushort name_index, type_index; + _Jv_loadIndexes (&pool->data[name_and_type_index], + name_index, + type_index); + + _Jv_Utf8Const *method_name = pool->data[name_index].utf8; + _Jv_Utf8Const *method_signature = pool->data[type_index].utf8; + + _Jv_Method *the_method = 0; + found_class = 0; + + // We're going to cache a pointer to the _Jv_Method object + // when we find it. So, to ensure this doesn't get moved from + // beneath us, we first put all the needed Miranda methods + // into the target class. + wait_for_state (klass, JV_STATE_LOADED); + + // First search the class itself. + the_method = search_method_in_class (owner, klass, + method_name, method_signature); + + if (the_method != 0) + { + found_class = owner; + goto end_of_method_search; + } + + // If we are resolving an interface method, search the + // interface's superinterfaces (A superinterface is not an + // interface's superclass - a superinterface is implemented by + // the interface). + if (is_iface) + { + _Jv_ifaces ifaces; + ifaces.count = 0; + ifaces.len = 4; + ifaces.list = (jclass *) _Jv_Malloc (ifaces.len + * sizeof (jclass *)); + + get_interfaces (owner, &ifaces); + + for (int i = 0; i < ifaces.count; i++) + { + jclass cls = ifaces.list[i]; + the_method = search_method_in_class (cls, klass, method_name, + method_signature); + if (the_method != 0) + { + found_class = cls; + break; + } + } + + _Jv_Free (ifaces.list); + + if (the_method != 0) + goto end_of_method_search; + } + + // Finally, search superclasses. + the_method = (search_method_in_superclasses + (owner->getSuperclass (), klass, method_name, + method_signature, &found_class)); + + + end_of_method_search: + + // FIXME: if (cls->loader != klass->loader), then we + // must actually check that the types of arguments + // correspond. That is, for each argument type, and + // the return type, doing _Jv_FindClassFromSignature + // with either loader should produce the same result, + // i.e., exactly the same jclass object. JVMS 5.4.3.3 + + if (the_method == 0) + { + java::lang::StringBuffer *sb = new java::lang::StringBuffer(); + sb->append(JvNewStringLatin1("method ")); + sb->append(owner->getName()); + sb->append(JvNewStringLatin1(".")); + sb->append(_Jv_NewStringUTF(method_name->chars())); + sb->append(JvNewStringLatin1(" with signature ")); + sb->append(_Jv_NewStringUTF(method_signature->chars())); + sb->append(JvNewStringLatin1(" was not found.")); + throw new java::lang::NoSuchMethodError (sb->toString()); + } + + return the_method; +} + _Jv_word _Jv_Linker::resolve_pool_entry (jclass klass, int index, bool lazy) { @@ -289,7 +390,7 @@ _Jv_Linker::resolve_pool_entry (jclass klass, int index, bool lazy) if ((pool->tags[index] & JV_CONSTANT_ResolvedFlag) != 0) return pool->data[index]; - switch (pool->tags[index]) + switch (pool->tags[index] & ~JV_CONSTANT_LazyFlag) { case JV_CONSTANT_Class: { @@ -365,8 +466,9 @@ _Jv_Linker::resolve_pool_entry (jclass klass, int index, bool lazy) if (owner->state == JV_STATE_PHANTOM) throw new java::lang::NoClassDefFoundError(owner->getName()); - if (owner != klass) - _Jv_InitClass (owner); + // We don't initialize 'owner', but we do make sure that its + // fields exist. + wait_for_state (owner, JV_STATE_PREPARED); _Jv_ushort name_index, type_index; _Jv_loadIndexes (&pool->data[name_and_type_index], @@ -381,8 +483,9 @@ _Jv_Linker::resolve_pool_entry (jclass klass, int index, bool lazy) &found_class, field_name, field_type_name); - if (owner != found_class) - _Jv_InitClass (found_class); + // Initialize the field's declaring class, not its qualifying + // class. + _Jv_InitClass (found_class); pool->data[index].field = the_field; pool->tags[index] |= JV_CONSTANT_ResolvedFlag; } @@ -395,96 +498,13 @@ _Jv_Linker::resolve_pool_entry (jclass klass, int index, bool lazy) _Jv_loadIndexes (&pool->data[index], class_index, name_and_type_index); - jclass owner = (resolve_pool_entry (klass, class_index)).clazz; - - if (owner != klass) - _Jv_InitClass (owner); - - _Jv_ushort name_index, type_index; - _Jv_loadIndexes (&pool->data[name_and_type_index], - name_index, - type_index); - - _Jv_Utf8Const *method_name = pool->data[name_index].utf8; - _Jv_Utf8Const *method_signature = pool->data[type_index].utf8; - - _Jv_Method *the_method = 0; - jclass found_class = 0; - // We're going to cache a pointer to the _Jv_Method object - // when we find it. So, to ensure this doesn't get moved from - // beneath us, we first put all the needed Miranda methods - // into the target class. - wait_for_state (klass, JV_STATE_LOADED); - - // First search the class itself. - the_method = search_method_in_class (owner, klass, - method_name, method_signature); - - if (the_method != 0) - { - found_class = owner; - goto end_of_method_search; - } - - // If we are resolving an interface method, search the - // interface's superinterfaces (A superinterface is not an - // interface's superclass - a superinterface is implemented by - // the interface). - if (pool->tags[index] == JV_CONSTANT_InterfaceMethodref) - { - _Jv_ifaces ifaces; - ifaces.count = 0; - ifaces.len = 4; - ifaces.list = (jclass *) _Jv_Malloc (ifaces.len - * sizeof (jclass *)); - - get_interfaces (owner, &ifaces); - - for (int i = 0; i < ifaces.count; i++) - { - jclass cls = ifaces.list[i]; - the_method = search_method_in_class (cls, klass, method_name, - method_signature); - if (the_method != 0) - { - found_class = cls; - break; - } - } - - _Jv_Free (ifaces.list); - - if (the_method != 0) - goto end_of_method_search; - } - - // Finally, search superclasses. - the_method = (search_method_in_superclasses - (owner->getSuperclass (), klass, method_name, - method_signature, &found_class)); - - end_of_method_search: - - // FIXME: if (cls->loader != klass->loader), then we - // must actually check that the types of arguments - // correspond. That is, for each argument type, and - // the return type, doing _Jv_FindClassFromSignature - // with either loader should produce the same result, - // i.e., exactly the same jclass object. JVMS 5.4.3.3 - - if (the_method == 0) - { - java::lang::StringBuffer *sb = new java::lang::StringBuffer(); - sb->append(JvNewStringLatin1("method ")); - sb->append(owner->getName()); - sb->append(JvNewStringLatin1(".")); - sb->append(_Jv_NewStringUTF(method_name->chars())); - sb->append(JvNewStringLatin1(" with signature ")); - sb->append(_Jv_NewStringUTF(method_signature->chars())); - sb->append(JvNewStringLatin1(" was not found.")); - throw new java::lang::NoSuchMethodError (sb->toString()); - } + _Jv_Method *the_method; + jclass found_class; + the_method = resolve_method_entry (klass, found_class, + class_index, name_and_type_index, + true, + pool->tags[index] == JV_CONSTANT_InterfaceMethodref); pool->data[index].rmethod = klass->engine->resolve_method(the_method, @@ -1950,11 +1970,14 @@ _Jv_Linker::wait_for_state (jclass klass, int state) // Print some debugging info if requested. Interpreted classes are // handled in defineclass, so we only need to handle the two // pre-compiled cases here. - if (gcj::verbose_class_flag - && (klass->state == JV_STATE_COMPILED + if ((klass->state == JV_STATE_COMPILED || klass->state == JV_STATE_PRELOADING) && ! _Jv_IsInterpretedClass (klass)) - print_class_loaded (klass); + { + if (gcj::verbose_class_flag) + print_class_loaded (klass); + ++gcj::loadedClasses; + } try { diff --git a/libjava/org/ietf/jgss/ChannelBinding.h b/libjava/org/ietf/jgss/ChannelBinding.h new file mode 100644 index 00000000000..a83c6f29653 --- /dev/null +++ b/libjava/org/ietf/jgss/ChannelBinding.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_ChannelBinding__ +#define __org_ietf_jgss_ChannelBinding__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace net + { + class InetAddress; + } + } + namespace org + { + namespace ietf + { + namespace jgss + { + class ChannelBinding; + } + } + } +} + +class org::ietf::jgss::ChannelBinding : public ::java::lang::Object +{ + +public: + ChannelBinding(::java::net::InetAddress *, ::java::net::InetAddress *, JArray< jbyte > *); + ChannelBinding(JArray< jbyte > *); + virtual ::java::net::InetAddress * getInitiatorAddress(); + virtual ::java::net::InetAddress * getAcceptorAddress(); + virtual JArray< jbyte > * getApplicationData(); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) appData; + ::java::net::InetAddress * initAddr; + ::java::net::InetAddress * acceptAddr; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_ietf_jgss_ChannelBinding__ diff --git a/libjava/org/ietf/jgss/GSSContext.h b/libjava/org/ietf/jgss/GSSContext.h new file mode 100644 index 00000000000..04b322c2d03 --- /dev/null +++ b/libjava/org/ietf/jgss/GSSContext.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_GSSContext__ +#define __org_ietf_jgss_GSSContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace ietf + { + namespace jgss + { + class ChannelBinding; + class GSSContext; + class GSSCredential; + class GSSName; + class MessageProp; + class Oid; + } + } + } +} + +class org::ietf::jgss::GSSContext : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * initSecContext(JArray< jbyte > *, jint, jint) = 0; + virtual jint initSecContext(::java::io::InputStream *, ::java::io::OutputStream *) = 0; + virtual JArray< jbyte > * acceptSecContext(JArray< jbyte > *, jint, jint) = 0; + virtual void acceptSecContext(::java::io::InputStream *, ::java::io::OutputStream *) = 0; + virtual jboolean isEstablished() = 0; + virtual void dispose() = 0; + virtual jint getWrapSizeLimit(jint, jboolean, jint) = 0; + virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint, ::org::ietf::jgss::MessageProp *) = 0; + virtual void wrap(::java::io::InputStream *, ::java::io::OutputStream *, ::org::ietf::jgss::MessageProp *) = 0; + virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint, ::org::ietf::jgss::MessageProp *) = 0; + virtual void unwrap(::java::io::InputStream *, ::java::io::OutputStream *, ::org::ietf::jgss::MessageProp *) = 0; + virtual JArray< jbyte > * getMIC(JArray< jbyte > *, jint, jint, ::org::ietf::jgss::MessageProp *) = 0; + virtual void getMIC(::java::io::InputStream *, ::java::io::OutputStream *, ::org::ietf::jgss::MessageProp *) = 0; + virtual void verifyMIC(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint, jint, ::org::ietf::jgss::MessageProp *) = 0; + virtual void verifyMIC(::java::io::InputStream *, ::java::io::InputStream *, ::org::ietf::jgss::MessageProp *) = 0; + virtual JArray< jbyte > * export$() = 0; + virtual void requestMutualAuth(jboolean) = 0; + virtual void requestReplayDet(jboolean) = 0; + virtual void requestSequenceDet(jboolean) = 0; + virtual void requestCredDeleg(jboolean) = 0; + virtual void requestAnonymity(jboolean) = 0; + virtual void requestConf(jboolean) = 0; + virtual void requestInteg(jboolean) = 0; + virtual void requestLifetime(jint) = 0; + virtual void setChannelBinding(::org::ietf::jgss::ChannelBinding *) = 0; + virtual jboolean getCredDelegState() = 0; + virtual jboolean getMutualAuthState() = 0; + virtual jboolean getReplayDetState() = 0; + virtual jboolean getSequenceDetState() = 0; + virtual jboolean getAnonymityState() = 0; + virtual jboolean isTransferable() = 0; + virtual jboolean isProtReady() = 0; + virtual jboolean getConfState() = 0; + virtual jboolean getIntegState() = 0; + virtual jint getLifetime() = 0; + virtual ::org::ietf::jgss::GSSName * getSrcName() = 0; + virtual ::org::ietf::jgss::GSSName * getTargName() = 0; + virtual ::org::ietf::jgss::Oid * getMech() = 0; + virtual ::org::ietf::jgss::GSSCredential * getDelegCred() = 0; + virtual jboolean isInitiator() = 0; + static const jint DEFAULT_LIFETIME = 0; + static const jint INDEFINITE_LIFETIME = 2147483647; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_ietf_jgss_GSSContext__ diff --git a/libjava/org/ietf/jgss/GSSCredential.h b/libjava/org/ietf/jgss/GSSCredential.h new file mode 100644 index 00000000000..57560c474ea --- /dev/null +++ b/libjava/org/ietf/jgss/GSSCredential.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_GSSCredential__ +#define __org_ietf_jgss_GSSCredential__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace ietf + { + namespace jgss + { + class GSSCredential; + class GSSName; + class Oid; + } + } + } +} + +class org::ietf::jgss::GSSCredential : public ::java::lang::Object +{ + +public: + virtual void dispose() = 0; + virtual ::org::ietf::jgss::GSSName * getName() = 0; + virtual ::org::ietf::jgss::GSSName * getName(::org::ietf::jgss::Oid *) = 0; + virtual jint getRemainingLifetime() = 0; + virtual jint getRemainingInitLifetime(::org::ietf::jgss::Oid *) = 0; + virtual jint getRemainingAcceptLifetime(::org::ietf::jgss::Oid *) = 0; + virtual jint getUsage() = 0; + virtual jint getUsage(::org::ietf::jgss::Oid *) = 0; + virtual JArray< ::org::ietf::jgss::Oid * > * getMechs() = 0; + virtual void add(::org::ietf::jgss::GSSName *, jint, jint, ::org::ietf::jgss::Oid *, jint) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + static const jint INITIATE_AND_ACCEPT = 0; + static const jint INITIATE_ONLY = 1; + static const jint ACCEPT_ONLY = 2; + static const jint DEFAULT_LIFETIME = 0; + static const jint INDEFINITE_LIFETIME = 2147483647; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_ietf_jgss_GSSCredential__ diff --git a/libjava/org/ietf/jgss/GSSException.h b/libjava/org/ietf/jgss/GSSException.h new file mode 100644 index 00000000000..b703521dede --- /dev/null +++ b/libjava/org/ietf/jgss/GSSException.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_GSSException__ +#define __org_ietf_jgss_GSSException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace ietf + { + namespace jgss + { + class GSSException; + } + } + } +} + +class org::ietf::jgss::GSSException : public ::java::lang::Exception +{ + +public: + GSSException(jint); + GSSException(jint, jint, ::java::lang::String *); + virtual jint getMajor(); + virtual jint getMinor(); + virtual ::java::lang::String * getMajorString(); + virtual ::java::lang::String * getMinorString(); + virtual void setMinor(jint, ::java::lang::String *); + virtual ::java::lang::String * toString(); + virtual ::java::lang::String * getMessage(); +private: + ::java::lang::String * getMsg(::java::lang::String *, ::java::lang::String *); + static const jlong serialVersionUID = -2706218945227726672LL; +public: + static const jint BAD_BINDINGS = 1; + static const jint BAD_MECH = 2; + static const jint BAD_NAME = 3; + static const jint BAD_NAMETYPE = 4; + static const jint BAD_STATUS = 5; + static const jint BAD_MIC = 6; + static const jint CONTEXT_EXPIRED = 7; + static const jint CREDENTIALS_EXPIRED = 8; + static const jint DEFECTIVE_CREDENTIAL = 9; + static const jint DEFECTIVE_TOKEN = 10; + static const jint FAILURE = 11; + static const jint NO_CONTEXT = 12; + static const jint NO_CRED = 13; + static const jint BAD_QOP = 14; + static const jint UNAUTHORIZED = 15; + static const jint UNAVAILABLE = 16; + static const jint DUPLICATE_ELEMENT = 17; + static const jint NAME_NOT_MN = 18; + static const jint DUPLICATE_TOKEN = 19; + static const jint OLD_TOKEN = 20; + static const jint UNSEQ_TOKEN = 21; + static const jint GAP_TOKEN = 22; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) major; + jint minor; + ::java::lang::String * minorString; + ::java::util::ResourceBundle * messages; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_ietf_jgss_GSSException__ diff --git a/libjava/org/ietf/jgss/GSSManager.h b/libjava/org/ietf/jgss/GSSManager.h new file mode 100644 index 00000000000..c33a2bc5a4c --- /dev/null +++ b/libjava/org/ietf/jgss/GSSManager.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_GSSManager__ +#define __org_ietf_jgss_GSSManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace security + { + class Provider; + } + } + namespace org + { + namespace ietf + { + namespace jgss + { + class GSSContext; + class GSSCredential; + class GSSManager; + class GSSName; + class Oid; + } + } + } +} + +class org::ietf::jgss::GSSManager : public ::java::lang::Object +{ + +public: + GSSManager(); + static ::org::ietf::jgss::GSSManager * getInstance(); + virtual void addProviderAtEnd(::java::security::Provider *, ::org::ietf::jgss::Oid *) = 0; + virtual void addProviderAtFront(::java::security::Provider *, ::org::ietf::jgss::Oid *) = 0; + virtual ::org::ietf::jgss::GSSContext * createContext(JArray< jbyte > *) = 0; + virtual ::org::ietf::jgss::GSSContext * createContext(::org::ietf::jgss::GSSCredential *) = 0; + virtual ::org::ietf::jgss::GSSContext * createContext(::org::ietf::jgss::GSSName *, ::org::ietf::jgss::Oid *, ::org::ietf::jgss::GSSCredential *, jint) = 0; + virtual ::org::ietf::jgss::GSSCredential * createCredential(jint) = 0; + virtual ::org::ietf::jgss::GSSCredential * createCredential(::org::ietf::jgss::GSSName *, jint, ::org::ietf::jgss::Oid *, jint) = 0; + virtual ::org::ietf::jgss::GSSCredential * createCredential(::org::ietf::jgss::GSSName *, jint, JArray< ::org::ietf::jgss::Oid * > *, jint) = 0; + virtual ::org::ietf::jgss::GSSName * createName(JArray< jbyte > *, ::org::ietf::jgss::Oid *) = 0; + virtual ::org::ietf::jgss::GSSName * createName(JArray< jbyte > *, ::org::ietf::jgss::Oid *, ::org::ietf::jgss::Oid *) = 0; + virtual ::org::ietf::jgss::GSSName * createName(::java::lang::String *, ::org::ietf::jgss::Oid *) = 0; + virtual ::org::ietf::jgss::GSSName * createName(::java::lang::String *, ::org::ietf::jgss::Oid *, ::org::ietf::jgss::Oid *) = 0; + virtual JArray< ::org::ietf::jgss::Oid * > * getMechs() = 0; + virtual JArray< ::org::ietf::jgss::Oid * > * getMechsForName(::org::ietf::jgss::Oid *) = 0; + virtual JArray< ::org::ietf::jgss::Oid * > * getNamesForMech(::org::ietf::jgss::Oid *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_ietf_jgss_GSSManager__ diff --git a/libjava/org/ietf/jgss/GSSName.h b/libjava/org/ietf/jgss/GSSName.h new file mode 100644 index 00000000000..28db6a46eff --- /dev/null +++ b/libjava/org/ietf/jgss/GSSName.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_GSSName__ +#define __org_ietf_jgss_GSSName__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace ietf + { + namespace jgss + { + class GSSName; + class Oid; + } + } + } +} + +class org::ietf::jgss::GSSName : public ::java::lang::Object +{ + +public: + virtual jboolean equals(::org::ietf::jgss::GSSName *) = 0; + virtual jboolean equals(::java::lang::Object *) = 0; + virtual jint hashCode() = 0; + virtual ::org::ietf::jgss::GSSName * canonicalize(::org::ietf::jgss::Oid *) = 0; + virtual JArray< jbyte > * export$() = 0; + virtual ::java::lang::String * toString() = 0; + virtual ::org::ietf::jgss::Oid * getStringNameType() = 0; + virtual jboolean isAnonymous() = 0; + virtual jboolean isMN() = 0; + static ::org::ietf::jgss::Oid * NT_ANONYMOUS; + static ::org::ietf::jgss::Oid * NT_EXPORT_NAME; + static ::org::ietf::jgss::Oid * NT_HOSTBASED_SERVICE; + static ::org::ietf::jgss::Oid * NT_MACHINE_UID_NAME; + static ::org::ietf::jgss::Oid * NT_STRING_UID_NAME; + static ::org::ietf::jgss::Oid * NT_USER_NAME; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_ietf_jgss_GSSName__ diff --git a/libjava/org/ietf/jgss/MessageProp.h b/libjava/org/ietf/jgss/MessageProp.h new file mode 100644 index 00000000000..6cf36238351 --- /dev/null +++ b/libjava/org/ietf/jgss/MessageProp.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_MessageProp__ +#define __org_ietf_jgss_MessageProp__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace ietf + { + namespace jgss + { + class MessageProp; + } + } + } +} + +class org::ietf::jgss::MessageProp : public ::java::lang::Object +{ + +public: + MessageProp(jboolean); + MessageProp(jint, jboolean); + virtual jint getQOP(); + virtual jboolean getPrivacy(); + virtual jint getMinorStatus(); + virtual ::java::lang::String * getMinorString(); + virtual void setQOP(jint); + virtual void setPrivacy(jboolean); + virtual jboolean isDuplicateToken(); + virtual jboolean isOldToken(); + virtual jboolean isUnseqToken(); + virtual jboolean isGapToken(); + virtual void setSupplementaryStates(jboolean, jboolean, jboolean, jboolean, jint, ::java::lang::String *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) qopVal; + jboolean privState; + jboolean duplicate; + jboolean old; + jboolean unseq; + jboolean gap; + jint minorStatus; + ::java::lang::String * minorString; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_ietf_jgss_MessageProp__ diff --git a/libjava/org/ietf/jgss/Oid.h b/libjava/org/ietf/jgss/Oid.h new file mode 100644 index 00000000000..6c8c0cc275b --- /dev/null +++ b/libjava/org/ietf/jgss/Oid.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_ietf_jgss_Oid__ +#define __org_ietf_jgss_Oid__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace ietf + { + namespace jgss + { + class Oid; + } + } + } +} + +class org::ietf::jgss::Oid : public ::java::lang::Object +{ + +public: + Oid(::java::lang::String *); + Oid(::java::io::InputStream *); + Oid(JArray< jbyte > *); +public: // actually package-private + Oid(JArray< jint > *); +public: + virtual ::java::lang::String * toString(); + virtual JArray< jbyte > * getDER(); + virtual jboolean containedIn(JArray< ::org::ietf::jgss::Oid * > *); + virtual jboolean equals(::java::lang::Object *); + virtual jint hashCode(); +private: + static void encodeSubId(::java::io::OutputStream *, jint); + static const jint OBJECT_IDENTIFIER = 6; + static const jint RELATIVE_OID = 13; + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) components; + JArray< jbyte > * derOid; + ::java::lang::String * strOid; + jboolean relative; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_ietf_jgss_Oid__ diff --git a/libjava/org/omg/CORBA/ACTIVITY_COMPLETED.h b/libjava/org/omg/CORBA/ACTIVITY_COMPLETED.h new file mode 100644 index 00000000000..bddfa39d56e --- /dev/null +++ b/libjava/org/omg/CORBA/ACTIVITY_COMPLETED.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ACTIVITY_COMPLETED__ +#define __org_omg_CORBA_ACTIVITY_COMPLETED__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ACTIVITY_COMPLETED; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::ACTIVITY_COMPLETED : public ::org::omg::CORBA::SystemException +{ + +public: + ACTIVITY_COMPLETED(::java::lang::String *); + ACTIVITY_COMPLETED(); + ACTIVITY_COMPLETED(jint, ::org::omg::CORBA::CompletionStatus *); + ACTIVITY_COMPLETED(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 463786710302308798LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ACTIVITY_COMPLETED__ diff --git a/libjava/org/omg/CORBA/ACTIVITY_REQUIRED.h b/libjava/org/omg/CORBA/ACTIVITY_REQUIRED.h new file mode 100644 index 00000000000..aea3081293d --- /dev/null +++ b/libjava/org/omg/CORBA/ACTIVITY_REQUIRED.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ACTIVITY_REQUIRED__ +#define __org_omg_CORBA_ACTIVITY_REQUIRED__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ACTIVITY_REQUIRED; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::ACTIVITY_REQUIRED : public ::org::omg::CORBA::SystemException +{ + +public: + ACTIVITY_REQUIRED(::java::lang::String *); + ACTIVITY_REQUIRED(); + ACTIVITY_REQUIRED(jint, ::org::omg::CORBA::CompletionStatus *); + ACTIVITY_REQUIRED(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -5684213471781455027LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ACTIVITY_REQUIRED__ diff --git a/libjava/org/omg/CORBA/ARG_IN.h b/libjava/org/omg/CORBA/ARG_IN.h new file mode 100644 index 00000000000..55d913b0db9 --- /dev/null +++ b/libjava/org/omg/CORBA/ARG_IN.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ARG_IN__ +#define __org_omg_CORBA_ARG_IN__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ARG_IN; + } + } + } +} + +class org::omg::CORBA::ARG_IN : public ::java::lang::Object +{ + +public: + static const jint value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_ARG_IN__ diff --git a/libjava/org/omg/CORBA/ARG_INOUT.h b/libjava/org/omg/CORBA/ARG_INOUT.h new file mode 100644 index 00000000000..31b2b664a26 --- /dev/null +++ b/libjava/org/omg/CORBA/ARG_INOUT.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ARG_INOUT__ +#define __org_omg_CORBA_ARG_INOUT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ARG_INOUT; + } + } + } +} + +class org::omg::CORBA::ARG_INOUT : public ::java::lang::Object +{ + +public: + static const jint value = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_ARG_INOUT__ diff --git a/libjava/org/omg/CORBA/ARG_OUT.h b/libjava/org/omg/CORBA/ARG_OUT.h new file mode 100644 index 00000000000..aeaa6723370 --- /dev/null +++ b/libjava/org/omg/CORBA/ARG_OUT.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ARG_OUT__ +#define __org_omg_CORBA_ARG_OUT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ARG_OUT; + } + } + } +} + +class org::omg::CORBA::ARG_OUT : public ::java::lang::Object +{ + +public: + static const jint value = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_ARG_OUT__ diff --git a/libjava/org/omg/CORBA/Any.h b/libjava/org/omg/CORBA/Any.h new file mode 100644 index 00000000000..5abdbc0c12b --- /dev/null +++ b/libjava/org/omg/CORBA/Any.h @@ -0,0 +1,103 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Any__ +#define __org_omg_CORBA_Any__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Principal; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + class Streamable; + } + } + } + } +} + +class org::omg::CORBA::Any : public ::java::lang::Object +{ + +public: + Any(); + virtual ::org::omg::CORBA::portable::InputStream * create_input_stream() = 0; + virtual ::org::omg::CORBA::portable::OutputStream * create_output_stream() = 0; + virtual jboolean equal(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Object * extract_Object() = 0; + virtual ::org::omg::CORBA::Principal * extract_Principal(); + virtual ::org::omg::CORBA::portable::Streamable * extract_Streamable(); + virtual ::org::omg::CORBA::TypeCode * extract_TypeCode() = 0; + virtual ::java::io::Serializable * extract_Value() = 0; + virtual ::org::omg::CORBA::Any * extract_any() = 0; + virtual jboolean extract_boolean() = 0; + virtual jchar extract_char() = 0; + virtual jdouble extract_double() = 0; + virtual ::java::math::BigDecimal * extract_fixed(); + virtual jfloat extract_float() = 0; + virtual jint extract_long() = 0; + virtual jlong extract_longlong() = 0; + virtual jbyte extract_octet() = 0; + virtual jshort extract_short() = 0; + virtual ::java::lang::String * extract_string() = 0; + virtual jint extract_ulong() = 0; + virtual jlong extract_ulonglong() = 0; + virtual jshort extract_ushort() = 0; + virtual jchar extract_wchar() = 0; + virtual ::java::lang::String * extract_wstring() = 0; + virtual void insert_Object(::org::omg::CORBA::Object *, ::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_Object(::org::omg::CORBA::Object *) = 0; + virtual void insert_Principal(::org::omg::CORBA::Principal *); + virtual void insert_Streamable(::org::omg::CORBA::portable::Streamable *); + virtual void insert_TypeCode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_Value(::java::io::Serializable *, ::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_Value(::java::io::Serializable *) = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_fixed(::java::math::BigDecimal *, ::org::omg::CORBA::TypeCode *); + virtual void insert_fixed(::java::math::BigDecimal *); + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual void read_value(::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::TypeCode *) = 0; + virtual void type(::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void write_value(::org::omg::CORBA::portable::OutputStream *) = 0; +private: + static const jlong serialVersionUID = 1217179597823814463LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_Any__ diff --git a/libjava/org/omg/CORBA/AnyHolder.h b/libjava/org/omg/CORBA/AnyHolder.h new file mode 100644 index 00000000000..9c5dacad5c6 --- /dev/null +++ b/libjava/org/omg/CORBA/AnyHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_AnyHolder__ +#define __org_omg_CORBA_AnyHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class AnyHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::AnyHolder : public ::java::lang::Object +{ + +public: + AnyHolder(); + AnyHolder(::org::omg::CORBA::Any *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_any; +public: + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_AnyHolder__ diff --git a/libjava/org/omg/CORBA/AnySeqHelper.h b/libjava/org/omg/CORBA/AnySeqHelper.h new file mode 100644 index 00000000000..4f77210f820 --- /dev/null +++ b/libjava/org/omg/CORBA/AnySeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_AnySeqHelper__ +#define __org_omg_CORBA_AnySeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class AnySeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::AnySeqHelper : public ::java::lang::Object +{ + +public: + AnySeqHelper(); + static JArray< ::org::omg::CORBA::Any * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::CORBA::Any * > *); + static JArray< ::org::omg::CORBA::Any * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::CORBA::Any * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_AnySeqHelper__ diff --git a/libjava/org/omg/CORBA/AnySeqHolder.h b/libjava/org/omg/CORBA/AnySeqHolder.h new file mode 100644 index 00000000000..90702c285af --- /dev/null +++ b/libjava/org/omg/CORBA/AnySeqHolder.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_AnySeqHolder__ +#define __org_omg_CORBA_AnySeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class AnySeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::AnySeqHolder : public ::java::lang::Object +{ + +public: + AnySeqHolder(); + AnySeqHolder(JArray< ::org::omg::CORBA::Any * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< ::org::omg::CORBA::Any * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_AnySeqHolder__ diff --git a/libjava/org/omg/CORBA/BAD_CONTEXT.h b/libjava/org/omg/CORBA/BAD_CONTEXT.h new file mode 100644 index 00000000000..f582be59dc8 --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_CONTEXT.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_CONTEXT__ +#define __org_omg_CORBA_BAD_CONTEXT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_CONTEXT; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::BAD_CONTEXT : public ::org::omg::CORBA::SystemException +{ + +public: + BAD_CONTEXT(::java::lang::String *); + BAD_CONTEXT(); + BAD_CONTEXT(jint, ::org::omg::CORBA::CompletionStatus *); + BAD_CONTEXT(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -5025677944847478264LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BAD_CONTEXT__ diff --git a/libjava/org/omg/CORBA/BAD_INV_ORDER.h b/libjava/org/omg/CORBA/BAD_INV_ORDER.h new file mode 100644 index 00000000000..8adb8015974 --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_INV_ORDER.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_INV_ORDER__ +#define __org_omg_CORBA_BAD_INV_ORDER__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_INV_ORDER; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::BAD_INV_ORDER : public ::org::omg::CORBA::SystemException +{ + +public: + BAD_INV_ORDER(::java::lang::String *); + BAD_INV_ORDER(); + BAD_INV_ORDER(jint, ::org::omg::CORBA::CompletionStatus *); + BAD_INV_ORDER(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 7273325995832240406LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BAD_INV_ORDER__ diff --git a/libjava/org/omg/CORBA/BAD_OPERATION.h b/libjava/org/omg/CORBA/BAD_OPERATION.h new file mode 100644 index 00000000000..16b0214610b --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_OPERATION.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_OPERATION__ +#define __org_omg_CORBA_BAD_OPERATION__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_OPERATION; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::BAD_OPERATION : public ::org::omg::CORBA::SystemException +{ + +public: + BAD_OPERATION(::java::lang::String *); + BAD_OPERATION(); + BAD_OPERATION(jint, ::org::omg::CORBA::CompletionStatus *); + BAD_OPERATION(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 1654621651720499682LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BAD_OPERATION__ diff --git a/libjava/org/omg/CORBA/BAD_PARAM.h b/libjava/org/omg/CORBA/BAD_PARAM.h new file mode 100644 index 00000000000..8be70c2f0a9 --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_PARAM.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_PARAM__ +#define __org_omg_CORBA_BAD_PARAM__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_PARAM; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::BAD_PARAM : public ::org::omg::CORBA::SystemException +{ + +public: + BAD_PARAM(::java::lang::String *); + BAD_PARAM(); + BAD_PARAM(jint, ::org::omg::CORBA::CompletionStatus *); + BAD_PARAM(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 1917109334939470379LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BAD_PARAM__ diff --git a/libjava/org/omg/CORBA/BAD_POLICY.h b/libjava/org/omg/CORBA/BAD_POLICY.h new file mode 100644 index 00000000000..400b7a8a3ce --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_POLICY.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_POLICY__ +#define __org_omg_CORBA_BAD_POLICY__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_POLICY; + } + } + } +} + +class org::omg::CORBA::BAD_POLICY : public ::java::lang::Object +{ + +public: + static const jshort value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_BAD_POLICY__ diff --git a/libjava/org/omg/CORBA/BAD_POLICY_TYPE.h b/libjava/org/omg/CORBA/BAD_POLICY_TYPE.h new file mode 100644 index 00000000000..4234fcb278a --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_POLICY_TYPE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_POLICY_TYPE__ +#define __org_omg_CORBA_BAD_POLICY_TYPE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_POLICY_TYPE; + } + } + } +} + +class org::omg::CORBA::BAD_POLICY_TYPE : public ::java::lang::Object +{ + +public: + static const jshort value = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_BAD_POLICY_TYPE__ diff --git a/libjava/org/omg/CORBA/BAD_POLICY_VALUE.h b/libjava/org/omg/CORBA/BAD_POLICY_VALUE.h new file mode 100644 index 00000000000..d41efcdc512 --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_POLICY_VALUE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_POLICY_VALUE__ +#define __org_omg_CORBA_BAD_POLICY_VALUE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_POLICY_VALUE; + } + } + } +} + +class org::omg::CORBA::BAD_POLICY_VALUE : public ::java::lang::Object +{ + +public: + static const jshort value = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_BAD_POLICY_VALUE__ diff --git a/libjava/org/omg/CORBA/BAD_QOS.h b/libjava/org/omg/CORBA/BAD_QOS.h new file mode 100644 index 00000000000..44e354f9543 --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_QOS.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_QOS__ +#define __org_omg_CORBA_BAD_QOS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_QOS; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::BAD_QOS : public ::org::omg::CORBA::SystemException +{ + +public: + BAD_QOS(::java::lang::String *); + BAD_QOS(); + BAD_QOS(jint, ::org::omg::CORBA::CompletionStatus *); + BAD_QOS(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 4746597571263117454LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BAD_QOS__ diff --git a/libjava/org/omg/CORBA/BAD_TYPECODE.h b/libjava/org/omg/CORBA/BAD_TYPECODE.h new file mode 100644 index 00000000000..36e6bd814e0 --- /dev/null +++ b/libjava/org/omg/CORBA/BAD_TYPECODE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BAD_TYPECODE__ +#define __org_omg_CORBA_BAD_TYPECODE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BAD_TYPECODE; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::BAD_TYPECODE : public ::org::omg::CORBA::SystemException +{ + +public: + BAD_TYPECODE(::java::lang::String *); + BAD_TYPECODE(); + BAD_TYPECODE(jint, ::org::omg::CORBA::CompletionStatus *); + BAD_TYPECODE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 6193364410915696901LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BAD_TYPECODE__ diff --git a/libjava/org/omg/CORBA/BooleanHolder.h b/libjava/org/omg/CORBA/BooleanHolder.h new file mode 100644 index 00000000000..3dc9cbe85db --- /dev/null +++ b/libjava/org/omg/CORBA/BooleanHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BooleanHolder__ +#define __org_omg_CORBA_BooleanHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class BooleanHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::BooleanHolder : public ::java::lang::Object +{ + +public: + BooleanHolder(); + BooleanHolder(jboolean); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_boolean; +public: + jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BooleanHolder__ diff --git a/libjava/org/omg/CORBA/BooleanSeqHelper.h b/libjava/org/omg/CORBA/BooleanSeqHelper.h new file mode 100644 index 00000000000..1cb155934b7 --- /dev/null +++ b/libjava/org/omg/CORBA/BooleanSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BooleanSeqHelper__ +#define __org_omg_CORBA_BooleanSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class BooleanSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::BooleanSeqHelper : public ::java::lang::Object +{ + +public: + BooleanSeqHelper(); + static JArray< jboolean > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jboolean > *); + static JArray< jboolean > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jboolean > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BooleanSeqHelper__ diff --git a/libjava/org/omg/CORBA/BooleanSeqHolder.h b/libjava/org/omg/CORBA/BooleanSeqHolder.h new file mode 100644 index 00000000000..54b15ab2b3f --- /dev/null +++ b/libjava/org/omg/CORBA/BooleanSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_BooleanSeqHolder__ +#define __org_omg_CORBA_BooleanSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class BooleanSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::BooleanSeqHolder : public ::java::lang::Object +{ + +public: + BooleanSeqHolder(); + BooleanSeqHolder(JArray< jboolean > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jboolean > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_BooleanSeqHolder__ diff --git a/libjava/org/omg/CORBA/Bounds.h b/libjava/org/omg/CORBA/Bounds.h new file mode 100644 index 00000000000..1a7ff407ecf --- /dev/null +++ b/libjava/org/omg/CORBA/Bounds.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Bounds__ +#define __org_omg_CORBA_Bounds__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Bounds; + } + } + } +} + +class org::omg::CORBA::Bounds : public ::org::omg::CORBA::UserException +{ + +public: + Bounds(); + Bounds(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_Bounds__ diff --git a/libjava/org/omg/CORBA/ByteHolder.h b/libjava/org/omg/CORBA/ByteHolder.h new file mode 100644 index 00000000000..ca90136beef --- /dev/null +++ b/libjava/org/omg/CORBA/ByteHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ByteHolder__ +#define __org_omg_CORBA_ByteHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ByteHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ByteHolder : public ::java::lang::Object +{ + +public: + ByteHolder(); + ByteHolder(jbyte); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_octet; +public: + jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ByteHolder__ diff --git a/libjava/org/omg/CORBA/CODESET_INCOMPATIBLE.h b/libjava/org/omg/CORBA/CODESET_INCOMPATIBLE.h new file mode 100644 index 00000000000..9131a8b6b33 --- /dev/null +++ b/libjava/org/omg/CORBA/CODESET_INCOMPATIBLE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CODESET_INCOMPATIBLE__ +#define __org_omg_CORBA_CODESET_INCOMPATIBLE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CODESET_INCOMPATIBLE; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::CODESET_INCOMPATIBLE : public ::org::omg::CORBA::SystemException +{ + +public: + CODESET_INCOMPATIBLE(::java::lang::String *); + CODESET_INCOMPATIBLE(); + CODESET_INCOMPATIBLE(jint, ::org::omg::CORBA::CompletionStatus *); + CODESET_INCOMPATIBLE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -8784048396454171789LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CODESET_INCOMPATIBLE__ diff --git a/libjava/org/omg/CORBA/COMM_FAILURE.h b/libjava/org/omg/CORBA/COMM_FAILURE.h new file mode 100644 index 00000000000..1ceb10d5ad4 --- /dev/null +++ b/libjava/org/omg/CORBA/COMM_FAILURE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_COMM_FAILURE__ +#define __org_omg_CORBA_COMM_FAILURE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class COMM_FAILURE; + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::COMM_FAILURE : public ::org::omg::CORBA::SystemException +{ + +public: + COMM_FAILURE(::java::lang::String *); + COMM_FAILURE(); + COMM_FAILURE(jint, ::org::omg::CORBA::CompletionStatus *); + COMM_FAILURE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 294856734784364267LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_COMM_FAILURE__ diff --git a/libjava/org/omg/CORBA/CTX_RESTRICT_SCOPE.h b/libjava/org/omg/CORBA/CTX_RESTRICT_SCOPE.h new file mode 100644 index 00000000000..1d58dc24801 --- /dev/null +++ b/libjava/org/omg/CORBA/CTX_RESTRICT_SCOPE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CTX_RESTRICT_SCOPE__ +#define __org_omg_CORBA_CTX_RESTRICT_SCOPE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CTX_RESTRICT_SCOPE; + } + } + } +} + +class org::omg::CORBA::CTX_RESTRICT_SCOPE : public ::java::lang::Object +{ + +public: + static const jint value = 15; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_CTX_RESTRICT_SCOPE__ diff --git a/libjava/org/omg/CORBA/CharHolder.h b/libjava/org/omg/CORBA/CharHolder.h new file mode 100644 index 00000000000..78a1e7e8fbf --- /dev/null +++ b/libjava/org/omg/CORBA/CharHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CharHolder__ +#define __org_omg_CORBA_CharHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CharHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::CharHolder : public ::java::lang::Object +{ + +public: + CharHolder(); + CharHolder(jchar); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_char; +public: + jchar __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CharHolder__ diff --git a/libjava/org/omg/CORBA/CharSeqHelper.h b/libjava/org/omg/CORBA/CharSeqHelper.h new file mode 100644 index 00000000000..b6e4bb67f3e --- /dev/null +++ b/libjava/org/omg/CORBA/CharSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CharSeqHelper__ +#define __org_omg_CORBA_CharSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class CharSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::CharSeqHelper : public ::java::lang::Object +{ + +public: + CharSeqHelper(); + static JArray< jchar > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jchar > *); + static JArray< jchar > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jchar > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CharSeqHelper__ diff --git a/libjava/org/omg/CORBA/CharSeqHolder.h b/libjava/org/omg/CORBA/CharSeqHolder.h new file mode 100644 index 00000000000..b0dbd15ed57 --- /dev/null +++ b/libjava/org/omg/CORBA/CharSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CharSeqHolder__ +#define __org_omg_CORBA_CharSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class CharSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::CharSeqHolder : public ::java::lang::Object +{ + +public: + CharSeqHolder(); + CharSeqHolder(JArray< jchar > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CharSeqHolder__ diff --git a/libjava/org/omg/CORBA/CompletionStatus.h b/libjava/org/omg/CORBA/CompletionStatus.h new file mode 100644 index 00000000000..f76b1a8e554 --- /dev/null +++ b/libjava/org/omg/CORBA/CompletionStatus.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CompletionStatus__ +#define __org_omg_CORBA_CompletionStatus__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + } + } + } +} + +class org::omg::CORBA::CompletionStatus : public ::java::lang::Object +{ + + CompletionStatus(jint); +public: + static ::org::omg::CORBA::CompletionStatus * from_int(jint); + ::java::lang::String * toString(); + jint value(); +private: + static const jlong serialVersionUID = -9047319660881406859LL; +public: + static const jint _COMPLETED_YES = 0; + static const jint _COMPLETED_NO = 1; + static const jint _COMPLETED_MAYBE = 2; + static ::org::omg::CORBA::CompletionStatus * COMPLETED_YES; + static ::org::omg::CORBA::CompletionStatus * COMPLETED_NO; + static ::org::omg::CORBA::CompletionStatus * COMPLETED_MAYBE; +private: + static JArray< ::org::omg::CORBA::CompletionStatus * > * states; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CompletionStatus__ diff --git a/libjava/org/omg/CORBA/CompletionStatusHelper.h b/libjava/org/omg/CORBA/CompletionStatusHelper.h new file mode 100644 index 00000000000..8255f067dda --- /dev/null +++ b/libjava/org/omg/CORBA/CompletionStatusHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CompletionStatusHelper__ +#define __org_omg_CORBA_CompletionStatusHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class CompletionStatus; + class CompletionStatusHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::CompletionStatusHelper : public ::java::lang::Object +{ + +public: + CompletionStatusHelper(); + static ::org::omg::CORBA::CompletionStatus * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::CompletionStatus *); + static ::org::omg::CORBA::CompletionStatus * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::CompletionStatus *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CompletionStatusHelper__ diff --git a/libjava/org/omg/CORBA/Context.h b/libjava/org/omg/CORBA/Context.h new file mode 100644 index 00000000000..d0ec3044c08 --- /dev/null +++ b/libjava/org/omg/CORBA/Context.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Context__ +#define __org_omg_CORBA_Context__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class NVList; + } + } + } +} + +class org::omg::CORBA::Context : public ::java::lang::Object +{ + +public: + Context(); + virtual ::java::lang::String * context_name() = 0; + virtual ::org::omg::CORBA::Context * create_child(::java::lang::String *) = 0; + virtual void delete_values(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::NVList * get_values(::java::lang::String *, jint, ::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Context * parent() = 0; + virtual void set_one_value(::java::lang::String *, ::org::omg::CORBA::Any *) = 0; + virtual void set_values(::org::omg::CORBA::NVList *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_Context__ diff --git a/libjava/org/omg/CORBA/ContextList.h b/libjava/org/omg/CORBA/ContextList.h new file mode 100644 index 00000000000..4b6c3e11028 --- /dev/null +++ b/libjava/org/omg/CORBA/ContextList.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ContextList__ +#define __org_omg_CORBA_ContextList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ContextList; + } + } + } +} + +class org::omg::CORBA::ContextList : public ::java::lang::Object +{ + +public: + ContextList(); + virtual void add(::java::lang::String *) = 0; + virtual jint count() = 0; + virtual ::java::lang::String * item(jint) = 0; + virtual void remove(jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ContextList__ diff --git a/libjava/org/omg/CORBA/Current.h b/libjava/org/omg/CORBA/Current.h new file mode 100644 index 00000000000..75fde138615 --- /dev/null +++ b/libjava/org/omg/CORBA/Current.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Current__ +#define __org_omg_CORBA_Current__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class Current; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + } + } +} + +class org::omg::CORBA::Current : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_Current__ diff --git a/libjava/org/omg/CORBA/CurrentHelper$_CurrentStub.h b/libjava/org/omg/CORBA/CurrentHelper$_CurrentStub.h new file mode 100644 index 00000000000..bcfc438d474 --- /dev/null +++ b/libjava/org/omg/CORBA/CurrentHelper$_CurrentStub.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CurrentHelper$_CurrentStub__ +#define __org_omg_CORBA_CurrentHelper$_CurrentStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CurrentHelper$_CurrentStub; + namespace portable + { + class Delegate; + } + } + } + } +} + +class org::omg::CORBA::CurrentHelper$_CurrentStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + CurrentHelper$_CurrentStub(::org::omg::CORBA::portable::Delegate *); + virtual JArray< ::java::lang::String * > * _ids(); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CurrentHelper$_CurrentStub__ diff --git a/libjava/org/omg/CORBA/CurrentHelper.h b/libjava/org/omg/CORBA/CurrentHelper.h new file mode 100644 index 00000000000..c698b0ee18a --- /dev/null +++ b/libjava/org/omg/CORBA/CurrentHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CurrentHelper__ +#define __org_omg_CORBA_CurrentHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Current; + class CurrentHelper; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::CurrentHelper : public ::java::lang::Object +{ + +public: + CurrentHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::Current *); + static ::org::omg::CORBA::Current * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::CORBA::Current * narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::Current * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::Current *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CurrentHelper__ diff --git a/libjava/org/omg/CORBA/CurrentHolder.h b/libjava/org/omg/CORBA/CurrentHolder.h new file mode 100644 index 00000000000..56f4c54532c --- /dev/null +++ b/libjava/org/omg/CORBA/CurrentHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CurrentHolder__ +#define __org_omg_CORBA_CurrentHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Current; + class CurrentHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::CurrentHolder : public ::java::lang::Object +{ + +public: + CurrentHolder(); + CurrentHolder(::org::omg::CORBA::Current *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::CORBA::Current * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_CurrentHolder__ diff --git a/libjava/org/omg/CORBA/CurrentOperations.h b/libjava/org/omg/CORBA/CurrentOperations.h new file mode 100644 index 00000000000..52931e26fa3 --- /dev/null +++ b/libjava/org/omg/CORBA/CurrentOperations.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CurrentOperations__ +#define __org_omg_CORBA_CurrentOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CurrentOperations; + } + } + } +} + +class org::omg::CORBA::CurrentOperations : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_CurrentOperations__ diff --git a/libjava/org/omg/CORBA/CustomMarshal.h b/libjava/org/omg/CORBA/CustomMarshal.h new file mode 100644 index 00000000000..a703b3fa4eb --- /dev/null +++ b/libjava/org/omg/CORBA/CustomMarshal.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CustomMarshal__ +#define __org_omg_CORBA_CustomMarshal__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CustomMarshal; + class DataInputStream; + class DataOutputStream; + } + } + } +} + +class org::omg::CORBA::CustomMarshal : public ::java::lang::Object +{ + +public: + virtual void marshal(::org::omg::CORBA::DataOutputStream *) = 0; + virtual void unmarshal(::org::omg::CORBA::DataInputStream *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_CustomMarshal__ diff --git a/libjava/org/omg/CORBA/CustomValue.h b/libjava/org/omg/CORBA/CustomValue.h new file mode 100644 index 00000000000..8c3d485caaa --- /dev/null +++ b/libjava/org/omg/CORBA/CustomValue.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_CustomValue__ +#define __org_omg_CORBA_CustomValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CustomValue; + class DataInputStream; + class DataOutputStream; + } + } + } +} + +class org::omg::CORBA::CustomValue : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + virtual void marshal(::org::omg::CORBA::DataOutputStream *) = 0; + virtual void unmarshal(::org::omg::CORBA::DataInputStream *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_CustomValue__ diff --git a/libjava/org/omg/CORBA/DATA_CONVERSION.h b/libjava/org/omg/CORBA/DATA_CONVERSION.h new file mode 100644 index 00000000000..2bcad19b96c --- /dev/null +++ b/libjava/org/omg/CORBA/DATA_CONVERSION.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DATA_CONVERSION__ +#define __org_omg_CORBA_DATA_CONVERSION__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class DATA_CONVERSION; + } + } + } +} + +class org::omg::CORBA::DATA_CONVERSION : public ::org::omg::CORBA::SystemException +{ + +public: + DATA_CONVERSION(::java::lang::String *); + DATA_CONVERSION(); + DATA_CONVERSION(jint, ::org::omg::CORBA::CompletionStatus *); + DATA_CONVERSION(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 1874869932271600956LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DATA_CONVERSION__ diff --git a/libjava/org/omg/CORBA/DataInputStream.h b/libjava/org/omg/CORBA/DataInputStream.h new file mode 100644 index 00000000000..e62a9b57bd8 --- /dev/null +++ b/libjava/org/omg/CORBA/DataInputStream.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DataInputStream__ +#define __org_omg_CORBA_DataInputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class AnySeqHolder; + class BooleanSeqHolder; + class CharSeqHolder; + class DataInputStream; + class DoubleSeqHolder; + class FloatSeqHolder; + class LongLongSeqHolder; + class LongSeqHolder; + class Object; + class OctetSeqHolder; + class ShortSeqHolder; + class TypeCode; + class ULongLongSeqHolder; + class ULongSeqHolder; + class UShortSeqHolder; + class WCharSeqHolder; + } + } + } +} + +class org::omg::CORBA::DataInputStream : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Any * read_any() = 0; + virtual jboolean read_boolean() = 0; + virtual jchar read_char() = 0; + virtual jchar read_wchar() = 0; + virtual jbyte read_octet() = 0; + virtual jshort read_short() = 0; + virtual jshort read_ushort() = 0; + virtual jint read_long() = 0; + virtual jint read_ulong() = 0; + virtual jlong read_longlong() = 0; + virtual jlong read_ulonglong() = 0; + virtual jfloat read_float() = 0; + virtual jdouble read_double() = 0; + virtual ::java::lang::String * read_string() = 0; + virtual ::java::lang::String * read_wstring() = 0; + virtual ::org::omg::CORBA::Object * read_Object() = 0; + virtual ::java::lang::Object * read_Abstract() = 0; + virtual ::java::io::Serializable * read_Value() = 0; + virtual ::org::omg::CORBA::TypeCode * read_TypeCode() = 0; + virtual void read_any_array(::org::omg::CORBA::AnySeqHolder *, jint, jint) = 0; + virtual void read_boolean_array(::org::omg::CORBA::BooleanSeqHolder *, jint, jint) = 0; + virtual void read_char_array(::org::omg::CORBA::CharSeqHolder *, jint, jint) = 0; + virtual void read_wchar_array(::org::omg::CORBA::WCharSeqHolder *, jint, jint) = 0; + virtual void read_octet_array(::org::omg::CORBA::OctetSeqHolder *, jint, jint) = 0; + virtual void read_short_array(::org::omg::CORBA::ShortSeqHolder *, jint, jint) = 0; + virtual void read_ushort_array(::org::omg::CORBA::UShortSeqHolder *, jint, jint) = 0; + virtual void read_long_array(::org::omg::CORBA::LongSeqHolder *, jint, jint) = 0; + virtual void read_ulong_array(::org::omg::CORBA::ULongSeqHolder *, jint, jint) = 0; + virtual void read_ulonglong_array(::org::omg::CORBA::ULongLongSeqHolder *, jint, jint) = 0; + virtual void read_longlong_array(::org::omg::CORBA::LongLongSeqHolder *, jint, jint) = 0; + virtual void read_float_array(::org::omg::CORBA::FloatSeqHolder *, jint, jint) = 0; + virtual void read_double_array(::org::omg::CORBA::DoubleSeqHolder *, jint, jint) = 0; + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DataInputStream__ diff --git a/libjava/org/omg/CORBA/DataOutputStream.h b/libjava/org/omg/CORBA/DataOutputStream.h new file mode 100644 index 00000000000..27022f33c7c --- /dev/null +++ b/libjava/org/omg/CORBA/DataOutputStream.h @@ -0,0 +1,69 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DataOutputStream__ +#define __org_omg_CORBA_DataOutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class DataOutputStream; + class Object; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DataOutputStream : public ::java::lang::Object +{ + +public: + virtual void write_any(::org::omg::CORBA::Any *) = 0; + virtual void write_boolean(jboolean) = 0; + virtual void write_char(jchar) = 0; + virtual void write_wchar(jchar) = 0; + virtual void write_octet(jbyte) = 0; + virtual void write_short(jshort) = 0; + virtual void write_ushort(jshort) = 0; + virtual void write_long(jint) = 0; + virtual void write_ulong(jint) = 0; + virtual void write_longlong(jlong) = 0; + virtual void write_ulonglong(jlong) = 0; + virtual void write_float(jfloat) = 0; + virtual void write_double(jdouble) = 0; + virtual void write_string(::java::lang::String *) = 0; + virtual void write_wstring(::java::lang::String *) = 0; + virtual void write_Object(::org::omg::CORBA::Object *) = 0; + virtual void write_Abstract(::java::lang::Object *) = 0; + virtual void write_Value(::java::io::Serializable *) = 0; + virtual void write_TypeCode(::org::omg::CORBA::TypeCode *) = 0; + virtual void write_any_array(JArray< ::org::omg::CORBA::Any * > *, jint, jint) = 0; + virtual void write_boolean_array(JArray< jboolean > *, jint, jint) = 0; + virtual void write_char_array(JArray< jchar > *, jint, jint) = 0; + virtual void write_wchar_array(JArray< jchar > *, jint, jint) = 0; + virtual void write_octet_array(JArray< jbyte > *, jint, jint) = 0; + virtual void write_short_array(JArray< jshort > *, jint, jint) = 0; + virtual void write_ushort_array(JArray< jshort > *, jint, jint) = 0; + virtual void write_long_array(JArray< jint > *, jint, jint) = 0; + virtual void write_ulong_array(JArray< jint > *, jint, jint) = 0; + virtual void write_ulonglong_array(JArray< jlong > *, jint, jint) = 0; + virtual void write_longlong_array(JArray< jlong > *, jint, jint) = 0; + virtual void write_float_array(JArray< jfloat > *, jint, jint) = 0; + virtual void write_double_array(JArray< jdouble > *, jint, jint) = 0; + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DataOutputStream__ diff --git a/libjava/org/omg/CORBA/DefinitionKind.h b/libjava/org/omg/CORBA/DefinitionKind.h new file mode 100644 index 00000000000..ca511531656 --- /dev/null +++ b/libjava/org/omg/CORBA/DefinitionKind.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DefinitionKind__ +#define __org_omg_CORBA_DefinitionKind__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DefinitionKind; + } + } + } +} + +class org::omg::CORBA::DefinitionKind : public ::java::lang::Object +{ + +public: // actually protected + DefinitionKind(jint); +public: + virtual jint value(); + static ::org::omg::CORBA::DefinitionKind * from_int(jint); +private: + static void fill_table(); + static const jlong serialVersionUID = -8601167576704143376LL; +public: + static const jint _dk_none = 0; + static const jint _dk_all = 1; + static const jint _dk_Attribute = 2; + static const jint _dk_Constant = 3; + static const jint _dk_Exception = 4; + static const jint _dk_Interface = 5; + static const jint _dk_Module = 6; + static const jint _dk_Operation = 7; + static const jint _dk_Typedef = 8; + static const jint _dk_Alias = 9; + static const jint _dk_Struct = 10; + static const jint _dk_Union = 11; + static const jint _dk_Enum = 12; + static const jint _dk_Primitive = 13; + static const jint _dk_String = 14; + static const jint _dk_Sequence = 15; + static const jint _dk_Array = 16; + static const jint _dk_Repository = 17; + static const jint _dk_Wstring = 18; + static const jint _dk_Fixed = 19; + static const jint _dk_Value = 20; + static const jint _dk_ValueBox = 21; + static const jint _dk_ValueMember = 22; + static const jint _dk_Native = 23; + static const jint _dk_AbstractInterface = 24; + static ::org::omg::CORBA::DefinitionKind * dk_none; + static ::org::omg::CORBA::DefinitionKind * dk_all; + static ::org::omg::CORBA::DefinitionKind * dk_Attribute; + static ::org::omg::CORBA::DefinitionKind * dk_Constant; + static ::org::omg::CORBA::DefinitionKind * dk_Exception; + static ::org::omg::CORBA::DefinitionKind * dk_Interface; + static ::org::omg::CORBA::DefinitionKind * dk_Module; + static ::org::omg::CORBA::DefinitionKind * dk_Operation; + static ::org::omg::CORBA::DefinitionKind * dk_Typedef; + static ::org::omg::CORBA::DefinitionKind * dk_Alias; + static ::org::omg::CORBA::DefinitionKind * dk_Struct; + static ::org::omg::CORBA::DefinitionKind * dk_Union; + static ::org::omg::CORBA::DefinitionKind * dk_Enum; + static ::org::omg::CORBA::DefinitionKind * dk_Primitive; + static ::org::omg::CORBA::DefinitionKind * dk_String; + static ::org::omg::CORBA::DefinitionKind * dk_Sequence; + static ::org::omg::CORBA::DefinitionKind * dk_Array; + static ::org::omg::CORBA::DefinitionKind * dk_Repository; + static ::org::omg::CORBA::DefinitionKind * dk_Wstring; + static ::org::omg::CORBA::DefinitionKind * dk_Fixed; + static ::org::omg::CORBA::DefinitionKind * dk_Value; + static ::org::omg::CORBA::DefinitionKind * dk_ValueBox; + static ::org::omg::CORBA::DefinitionKind * dk_ValueMember; + static ::org::omg::CORBA::DefinitionKind * dk_Native; + static ::org::omg::CORBA::DefinitionKind * dk_AbstractInterface; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) kind; + static JArray< ::org::omg::CORBA::DefinitionKind * > * table; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DefinitionKind__ diff --git a/libjava/org/omg/CORBA/DefinitionKindHelper.h b/libjava/org/omg/CORBA/DefinitionKindHelper.h new file mode 100644 index 00000000000..8fdb6014b11 --- /dev/null +++ b/libjava/org/omg/CORBA/DefinitionKindHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DefinitionKindHelper__ +#define __org_omg_CORBA_DefinitionKindHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class DefinitionKind; + class DefinitionKindHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::DefinitionKindHelper : public ::java::lang::Object +{ + +public: + DefinitionKindHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::DefinitionKind *); + static ::org::omg::CORBA::DefinitionKind * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::DefinitionKind * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::DefinitionKind *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DefinitionKindHelper__ diff --git a/libjava/org/omg/CORBA/DomainManager.h b/libjava/org/omg/CORBA/DomainManager.h new file mode 100644 index 00000000000..15d5e84348c --- /dev/null +++ b/libjava/org/omg/CORBA/DomainManager.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DomainManager__ +#define __org_omg_CORBA_DomainManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + } + } +} + +class org::omg::CORBA::DomainManager : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * get_domain_policy(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DomainManager__ diff --git a/libjava/org/omg/CORBA/DomainManagerOperations.h b/libjava/org/omg/CORBA/DomainManagerOperations.h new file mode 100644 index 00000000000..a75c1456823 --- /dev/null +++ b/libjava/org/omg/CORBA/DomainManagerOperations.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DomainManagerOperations__ +#define __org_omg_CORBA_DomainManagerOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DomainManagerOperations; + class Policy; + } + } + } +} + +class org::omg::CORBA::DomainManagerOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Policy * get_domain_policy(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DomainManagerOperations__ diff --git a/libjava/org/omg/CORBA/DoubleHolder.h b/libjava/org/omg/CORBA/DoubleHolder.h new file mode 100644 index 00000000000..8702c14bf9f --- /dev/null +++ b/libjava/org/omg/CORBA/DoubleHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DoubleHolder__ +#define __org_omg_CORBA_DoubleHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DoubleHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::DoubleHolder : public ::java::lang::Object +{ + +public: + DoubleHolder(); + DoubleHolder(jdouble); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_double; +public: + jdouble __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DoubleHolder__ diff --git a/libjava/org/omg/CORBA/DoubleSeqHelper.h b/libjava/org/omg/CORBA/DoubleSeqHelper.h new file mode 100644 index 00000000000..9a6aa080e89 --- /dev/null +++ b/libjava/org/omg/CORBA/DoubleSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DoubleSeqHelper__ +#define __org_omg_CORBA_DoubleSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class DoubleSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::DoubleSeqHelper : public ::java::lang::Object +{ + +public: + DoubleSeqHelper(); + static JArray< jdouble > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jdouble > *); + static JArray< jdouble > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jdouble > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DoubleSeqHelper__ diff --git a/libjava/org/omg/CORBA/DoubleSeqHolder.h b/libjava/org/omg/CORBA/DoubleSeqHolder.h new file mode 100644 index 00000000000..ec2bc43eb26 --- /dev/null +++ b/libjava/org/omg/CORBA/DoubleSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DoubleSeqHolder__ +#define __org_omg_CORBA_DoubleSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class DoubleSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::DoubleSeqHolder : public ::java::lang::Object +{ + +public: + DoubleSeqHolder(); + DoubleSeqHolder(JArray< jdouble > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jdouble > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DoubleSeqHolder__ diff --git a/libjava/org/omg/CORBA/DynAny.h b/libjava/org/omg/CORBA/DynAny.h new file mode 100644 index 00000000000..2707f4b1cd3 --- /dev/null +++ b/libjava/org/omg/CORBA/DynAny.h @@ -0,0 +1,104 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynAny__ +#define __org_omg_CORBA_DynAny__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynAny : public ::java::lang::Object +{ + +public: + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynAny__ diff --git a/libjava/org/omg/CORBA/DynAnyPackage/Invalid.h b/libjava/org/omg/CORBA/DynAnyPackage/Invalid.h new file mode 100644 index 00000000000..1b12748c89f --- /dev/null +++ b/libjava/org/omg/CORBA/DynAnyPackage/Invalid.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynAnyPackage_Invalid__ +#define __org_omg_CORBA_DynAnyPackage_Invalid__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace DynAnyPackage + { + class Invalid; + } + } + } + } +} + +class org::omg::CORBA::DynAnyPackage::Invalid : public ::org::omg::CORBA::UserException +{ + +public: + Invalid(); + Invalid(::java::lang::String *); +private: + static const jlong serialVersionUID = -8258194490767575588LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DynAnyPackage_Invalid__ diff --git a/libjava/org/omg/CORBA/DynAnyPackage/InvalidSeq.h b/libjava/org/omg/CORBA/DynAnyPackage/InvalidSeq.h new file mode 100644 index 00000000000..c14980542fb --- /dev/null +++ b/libjava/org/omg/CORBA/DynAnyPackage/InvalidSeq.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynAnyPackage_InvalidSeq__ +#define __org_omg_CORBA_DynAnyPackage_InvalidSeq__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace DynAnyPackage + { + class InvalidSeq; + } + } + } + } +} + +class org::omg::CORBA::DynAnyPackage::InvalidSeq : public ::org::omg::CORBA::UserException +{ + +public: + InvalidSeq(); + InvalidSeq(::java::lang::String *); +private: + static const jlong serialVersionUID = -5678460771857763522LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DynAnyPackage_InvalidSeq__ diff --git a/libjava/org/omg/CORBA/DynAnyPackage/InvalidValue.h b/libjava/org/omg/CORBA/DynAnyPackage/InvalidValue.h new file mode 100644 index 00000000000..f33cf445ef2 --- /dev/null +++ b/libjava/org/omg/CORBA/DynAnyPackage/InvalidValue.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynAnyPackage_InvalidValue__ +#define __org_omg_CORBA_DynAnyPackage_InvalidValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace DynAnyPackage + { + class InvalidValue; + } + } + } + } +} + +class org::omg::CORBA::DynAnyPackage::InvalidValue : public ::org::omg::CORBA::UserException +{ + +public: + InvalidValue(); + InvalidValue(::java::lang::String *); +private: + static const jlong serialVersionUID = -4741963043279146697LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DynAnyPackage_InvalidValue__ diff --git a/libjava/org/omg/CORBA/DynAnyPackage/TypeMismatch.h b/libjava/org/omg/CORBA/DynAnyPackage/TypeMismatch.h new file mode 100644 index 00000000000..3ec8508745c --- /dev/null +++ b/libjava/org/omg/CORBA/DynAnyPackage/TypeMismatch.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynAnyPackage_TypeMismatch__ +#define __org_omg_CORBA_DynAnyPackage_TypeMismatch__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace DynAnyPackage + { + class TypeMismatch; + } + } + } + } +} + +class org::omg::CORBA::DynAnyPackage::TypeMismatch : public ::org::omg::CORBA::UserException +{ + +public: + TypeMismatch(); + TypeMismatch(::java::lang::String *); +private: + static const jlong serialVersionUID = 2763424591181102501LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DynAnyPackage_TypeMismatch__ diff --git a/libjava/org/omg/CORBA/DynArray.h b/libjava/org/omg/CORBA/DynArray.h new file mode 100644 index 00000000000..d1df9cb3ff9 --- /dev/null +++ b/libjava/org/omg/CORBA/DynArray.h @@ -0,0 +1,107 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynArray__ +#define __org_omg_CORBA_DynArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynArray; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynArray : public ::java::lang::Object +{ + +public: + virtual JArray< ::org::omg::CORBA::Any * > * get_elements() = 0; + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *) = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynArray__ diff --git a/libjava/org/omg/CORBA/DynEnum.h b/libjava/org/omg/CORBA/DynEnum.h new file mode 100644 index 00000000000..675b2ef5f69 --- /dev/null +++ b/libjava/org/omg/CORBA/DynEnum.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynEnum__ +#define __org_omg_CORBA_DynEnum__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynEnum; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynEnum : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * value_as_string() = 0; + virtual void value_as_string(::java::lang::String *) = 0; + virtual void value_as_ulong(jint) = 0; + virtual jint value_as_ulong() = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynEnum__ diff --git a/libjava/org/omg/CORBA/DynFixed.h b/libjava/org/omg/CORBA/DynFixed.h new file mode 100644 index 00000000000..562e864abf5 --- /dev/null +++ b/libjava/org/omg/CORBA/DynFixed.h @@ -0,0 +1,107 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynFixed__ +#define __org_omg_CORBA_DynFixed__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynFixed; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynFixed : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * get_value() = 0; + virtual void set_value(JArray< jbyte > *) = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynFixed__ diff --git a/libjava/org/omg/CORBA/DynSequence.h b/libjava/org/omg/CORBA/DynSequence.h new file mode 100644 index 00000000000..3a4e213ccee --- /dev/null +++ b/libjava/org/omg/CORBA/DynSequence.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynSequence__ +#define __org_omg_CORBA_DynSequence__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynSequence; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynSequence : public ::java::lang::Object +{ + +public: + virtual JArray< ::org::omg::CORBA::Any * > * get_elements() = 0; + virtual jint length() = 0; + virtual void length(jint) = 0; + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *) = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynSequence__ diff --git a/libjava/org/omg/CORBA/DynStruct.h b/libjava/org/omg/CORBA/DynStruct.h new file mode 100644 index 00000000000..8efb8f57a74 --- /dev/null +++ b/libjava/org/omg/CORBA/DynStruct.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynStruct__ +#define __org_omg_CORBA_DynStruct__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynStruct; + class ExceptionList; + class NVList; + class NameValuePair; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TCKind; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynStruct : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind() = 0; + virtual ::java::lang::String * current_member_name() = 0; + virtual JArray< ::org::omg::CORBA::NameValuePair * > * get_members() = 0; + virtual void set_members(JArray< ::org::omg::CORBA::NameValuePair * > *) = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynStruct__ diff --git a/libjava/org/omg/CORBA/DynUnion.h b/libjava/org/omg/CORBA/DynUnion.h new file mode 100644 index 00000000000..aab7859c225 --- /dev/null +++ b/libjava/org/omg/CORBA/DynUnion.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynUnion__ +#define __org_omg_CORBA_DynUnion__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynUnion; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TCKind; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynUnion : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::DynAny * discriminator() = 0; + virtual ::org::omg::CORBA::TCKind * discriminator_kind() = 0; + virtual ::org::omg::CORBA::DynAny * member() = 0; + virtual ::org::omg::CORBA::TCKind * member_kind() = 0; + virtual ::java::lang::String * member_name() = 0; + virtual void member_name(::java::lang::String *) = 0; + virtual jboolean set_as_default() = 0; + virtual void set_as_default(jboolean) = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynUnion__ diff --git a/libjava/org/omg/CORBA/DynValue.h b/libjava/org/omg/CORBA/DynValue.h new file mode 100644 index 00000000000..5efccc5afaf --- /dev/null +++ b/libjava/org/omg/CORBA/DynValue.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynValue__ +#define __org_omg_CORBA_DynValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class DynAny; + class DynValue; + class ExceptionList; + class NVList; + class NameValuePair; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TCKind; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::DynValue : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind() = 0; + virtual ::java::lang::String * current_member_name() = 0; + virtual JArray< ::org::omg::CORBA::NameValuePair * > * get_members() = 0; + virtual void set_members(JArray< ::org::omg::CORBA::NameValuePair * > *) = 0; + virtual void assign(::org::omg::CORBA::DynAny *) = 0; + virtual ::org::omg::CORBA::DynAny * copy() = 0; + virtual ::org::omg::CORBA::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_DynValue__ diff --git a/libjava/org/omg/CORBA/DynamicImplementation.h b/libjava/org/omg/CORBA/DynamicImplementation.h new file mode 100644 index 00000000000..9cf77584e3a --- /dev/null +++ b/libjava/org/omg/CORBA/DynamicImplementation.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_DynamicImplementation__ +#define __org_omg_CORBA_DynamicImplementation__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DynamicImplementation; + class ServerRequest; + } + } + } +} + +class org::omg::CORBA::DynamicImplementation : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + DynamicImplementation(); + virtual void invoke(::org::omg::CORBA::ServerRequest *); + virtual JArray< ::java::lang::String * > * _ids(); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_DynamicImplementation__ diff --git a/libjava/org/omg/CORBA/Environment.h b/libjava/org/omg/CORBA/Environment.h new file mode 100644 index 00000000000..07fb343a6ae --- /dev/null +++ b/libjava/org/omg/CORBA/Environment.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Environment__ +#define __org_omg_CORBA_Environment__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Environment; + } + } + } +} + +class org::omg::CORBA::Environment : public ::java::lang::Object +{ + +public: + Environment(); + virtual void clear() = 0; + virtual ::java::lang::Exception * exception() = 0; + virtual void exception(::java::lang::Exception *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_Environment__ diff --git a/libjava/org/omg/CORBA/ExceptionList.h b/libjava/org/omg/CORBA/ExceptionList.h new file mode 100644 index 00000000000..acb5eb953c7 --- /dev/null +++ b/libjava/org/omg/CORBA/ExceptionList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ExceptionList__ +#define __org_omg_CORBA_ExceptionList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ExceptionList; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::ExceptionList : public ::java::lang::Object +{ + +public: + ExceptionList(); + virtual void add(::org::omg::CORBA::TypeCode *) = 0; + virtual jint count() = 0; + virtual ::org::omg::CORBA::TypeCode * item(jint) = 0; + virtual void remove(jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ExceptionList__ diff --git a/libjava/org/omg/CORBA/FREE_MEM.h b/libjava/org/omg/CORBA/FREE_MEM.h new file mode 100644 index 00000000000..c3b29b9d21e --- /dev/null +++ b/libjava/org/omg/CORBA/FREE_MEM.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_FREE_MEM__ +#define __org_omg_CORBA_FREE_MEM__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class FREE_MEM; + } + } + } +} + +class org::omg::CORBA::FREE_MEM : public ::org::omg::CORBA::SystemException +{ + +public: + FREE_MEM(::java::lang::String *); + FREE_MEM(); + FREE_MEM(jint, ::org::omg::CORBA::CompletionStatus *); + FREE_MEM(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -1333559476995791982LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_FREE_MEM__ diff --git a/libjava/org/omg/CORBA/FieldNameHelper.h b/libjava/org/omg/CORBA/FieldNameHelper.h new file mode 100644 index 00000000000..a5ef219f43d --- /dev/null +++ b/libjava/org/omg/CORBA/FieldNameHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_FieldNameHelper__ +#define __org_omg_CORBA_FieldNameHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class FieldNameHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::FieldNameHelper : public ::java::lang::Object +{ + +public: + FieldNameHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_FieldNameHelper__ diff --git a/libjava/org/omg/CORBA/FixedHolder.h b/libjava/org/omg/CORBA/FixedHolder.h new file mode 100644 index 00000000000..53bfe0a24d6 --- /dev/null +++ b/libjava/org/omg/CORBA/FixedHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_FixedHolder__ +#define __org_omg_CORBA_FixedHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class FixedHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::FixedHolder : public ::java::lang::Object +{ + +public: + FixedHolder(); + FixedHolder(::java::math::BigDecimal *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::java::math::BigDecimal * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_FixedHolder__ diff --git a/libjava/org/omg/CORBA/FloatHolder.h b/libjava/org/omg/CORBA/FloatHolder.h new file mode 100644 index 00000000000..fba02c579aa --- /dev/null +++ b/libjava/org/omg/CORBA/FloatHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_FloatHolder__ +#define __org_omg_CORBA_FloatHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class FloatHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::FloatHolder : public ::java::lang::Object +{ + +public: + FloatHolder(); + FloatHolder(jfloat); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_float; +public: + jfloat __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_FloatHolder__ diff --git a/libjava/org/omg/CORBA/FloatSeqHelper.h b/libjava/org/omg/CORBA/FloatSeqHelper.h new file mode 100644 index 00000000000..87b84cc8df0 --- /dev/null +++ b/libjava/org/omg/CORBA/FloatSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_FloatSeqHelper__ +#define __org_omg_CORBA_FloatSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class FloatSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::FloatSeqHelper : public ::java::lang::Object +{ + +public: + FloatSeqHelper(); + static JArray< jfloat > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jfloat > *); + static JArray< jfloat > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jfloat > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_FloatSeqHelper__ diff --git a/libjava/org/omg/CORBA/FloatSeqHolder.h b/libjava/org/omg/CORBA/FloatSeqHolder.h new file mode 100644 index 00000000000..e138c917948 --- /dev/null +++ b/libjava/org/omg/CORBA/FloatSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_FloatSeqHolder__ +#define __org_omg_CORBA_FloatSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class FloatSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::FloatSeqHolder : public ::java::lang::Object +{ + +public: + FloatSeqHolder(); + FloatSeqHolder(JArray< jfloat > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jfloat > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_FloatSeqHolder__ diff --git a/libjava/org/omg/CORBA/IDLType.h b/libjava/org/omg/CORBA/IDLType.h new file mode 100644 index 00000000000..8dab0acf383 --- /dev/null +++ b/libjava/org/omg/CORBA/IDLType.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IDLType__ +#define __org_omg_CORBA_IDLType__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DefinitionKind; + class DomainManager; + class ExceptionList; + class IDLType; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::IDLType : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::DefinitionKind * def_kind() = 0; + virtual void destroy() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_IDLType__ diff --git a/libjava/org/omg/CORBA/IDLTypeHelper.h b/libjava/org/omg/CORBA/IDLTypeHelper.h new file mode 100644 index 00000000000..43540f2820b --- /dev/null +++ b/libjava/org/omg/CORBA/IDLTypeHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IDLTypeHelper__ +#define __org_omg_CORBA_IDLTypeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class IDLType; + class IDLTypeHelper; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::IDLTypeHelper : public ::java::lang::Object +{ + +public: + IDLTypeHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::IDLType *); + static ::org::omg::CORBA::IDLType * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::IDLType * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::IDLType *); + static ::org::omg::CORBA::IDLType * narrow(::org::omg::CORBA::Object *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_IDLTypeHelper__ diff --git a/libjava/org/omg/CORBA/IDLTypeOperations.h b/libjava/org/omg/CORBA/IDLTypeOperations.h new file mode 100644 index 00000000000..1f03591b7ac --- /dev/null +++ b/libjava/org/omg/CORBA/IDLTypeOperations.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IDLTypeOperations__ +#define __org_omg_CORBA_IDLTypeOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DefinitionKind; + class IDLTypeOperations; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::IDLTypeOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual ::org::omg::CORBA::DefinitionKind * def_kind() = 0; + virtual void destroy() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_IDLTypeOperations__ diff --git a/libjava/org/omg/CORBA/IMP_LIMIT.h b/libjava/org/omg/CORBA/IMP_LIMIT.h new file mode 100644 index 00000000000..25247634ead --- /dev/null +++ b/libjava/org/omg/CORBA/IMP_LIMIT.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IMP_LIMIT__ +#define __org_omg_CORBA_IMP_LIMIT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class IMP_LIMIT; + } + } + } +} + +class org::omg::CORBA::IMP_LIMIT : public ::org::omg::CORBA::SystemException +{ + +public: + IMP_LIMIT(::java::lang::String *); + IMP_LIMIT(); + IMP_LIMIT(jint, ::org::omg::CORBA::CompletionStatus *); + IMP_LIMIT(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -8086463494577448422LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_IMP_LIMIT__ diff --git a/libjava/org/omg/CORBA/INITIALIZE.h b/libjava/org/omg/CORBA/INITIALIZE.h new file mode 100644 index 00000000000..6c0a1d01bb4 --- /dev/null +++ b/libjava/org/omg/CORBA/INITIALIZE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INITIALIZE__ +#define __org_omg_CORBA_INITIALIZE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INITIALIZE; + } + } + } +} + +class org::omg::CORBA::INITIALIZE : public ::org::omg::CORBA::SystemException +{ + +public: + INITIALIZE(::java::lang::String *); + INITIALIZE(); + INITIALIZE(jint, ::org::omg::CORBA::CompletionStatus *); + INITIALIZE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -3753094599663690309LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INITIALIZE__ diff --git a/libjava/org/omg/CORBA/INTERNAL.h b/libjava/org/omg/CORBA/INTERNAL.h new file mode 100644 index 00000000000..c006324f966 --- /dev/null +++ b/libjava/org/omg/CORBA/INTERNAL.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INTERNAL__ +#define __org_omg_CORBA_INTERNAL__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INTERNAL; + } + } + } +} + +class org::omg::CORBA::INTERNAL : public ::org::omg::CORBA::SystemException +{ + +public: + INTERNAL(::java::lang::String *); + INTERNAL(); + INTERNAL(jint, ::org::omg::CORBA::CompletionStatus *); + INTERNAL(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 3771336866139357605LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INTERNAL__ diff --git a/libjava/org/omg/CORBA/INTF_REPOS.h b/libjava/org/omg/CORBA/INTF_REPOS.h new file mode 100644 index 00000000000..bdc34cd627a --- /dev/null +++ b/libjava/org/omg/CORBA/INTF_REPOS.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INTF_REPOS__ +#define __org_omg_CORBA_INTF_REPOS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INTF_REPOS; + } + } + } +} + +class org::omg::CORBA::INTF_REPOS : public ::org::omg::CORBA::SystemException +{ + +public: + INTF_REPOS(::java::lang::String *); + INTF_REPOS(); + INTF_REPOS(jint, ::org::omg::CORBA::CompletionStatus *); + INTF_REPOS(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 722572694720671863LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INTF_REPOS__ diff --git a/libjava/org/omg/CORBA/INVALID_ACTIVITY.h b/libjava/org/omg/CORBA/INVALID_ACTIVITY.h new file mode 100644 index 00000000000..025a111d62d --- /dev/null +++ b/libjava/org/omg/CORBA/INVALID_ACTIVITY.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INVALID_ACTIVITY__ +#define __org_omg_CORBA_INVALID_ACTIVITY__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INVALID_ACTIVITY; + } + } + } +} + +class org::omg::CORBA::INVALID_ACTIVITY : public ::org::omg::CORBA::SystemException +{ + +public: + INVALID_ACTIVITY(::java::lang::String *); + INVALID_ACTIVITY(); + INVALID_ACTIVITY(jint, ::org::omg::CORBA::CompletionStatus *); + INVALID_ACTIVITY(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 7907846629733712546LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INVALID_ACTIVITY__ diff --git a/libjava/org/omg/CORBA/INVALID_TRANSACTION.h b/libjava/org/omg/CORBA/INVALID_TRANSACTION.h new file mode 100644 index 00000000000..6f4dbd95d61 --- /dev/null +++ b/libjava/org/omg/CORBA/INVALID_TRANSACTION.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INVALID_TRANSACTION__ +#define __org_omg_CORBA_INVALID_TRANSACTION__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INVALID_TRANSACTION; + } + } + } +} + +class org::omg::CORBA::INVALID_TRANSACTION : public ::org::omg::CORBA::SystemException +{ + +public: + INVALID_TRANSACTION(::java::lang::String *); + INVALID_TRANSACTION(); + INVALID_TRANSACTION(jint, ::org::omg::CORBA::CompletionStatus *); + INVALID_TRANSACTION(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -4265126403821571697LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INVALID_TRANSACTION__ diff --git a/libjava/org/omg/CORBA/INV_FLAG.h b/libjava/org/omg/CORBA/INV_FLAG.h new file mode 100644 index 00000000000..2d8edbd9647 --- /dev/null +++ b/libjava/org/omg/CORBA/INV_FLAG.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INV_FLAG__ +#define __org_omg_CORBA_INV_FLAG__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INV_FLAG; + } + } + } +} + +class org::omg::CORBA::INV_FLAG : public ::org::omg::CORBA::SystemException +{ + +public: + INV_FLAG(::java::lang::String *); + INV_FLAG(); + INV_FLAG(jint, ::org::omg::CORBA::CompletionStatus *); + INV_FLAG(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -4863924749863817671LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INV_FLAG__ diff --git a/libjava/org/omg/CORBA/INV_IDENT.h b/libjava/org/omg/CORBA/INV_IDENT.h new file mode 100644 index 00000000000..94c03dad127 --- /dev/null +++ b/libjava/org/omg/CORBA/INV_IDENT.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INV_IDENT__ +#define __org_omg_CORBA_INV_IDENT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INV_IDENT; + } + } + } +} + +class org::omg::CORBA::INV_IDENT : public ::org::omg::CORBA::SystemException +{ + +public: + INV_IDENT(::java::lang::String *); + INV_IDENT(); + INV_IDENT(jint, ::org::omg::CORBA::CompletionStatus *); + INV_IDENT(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 4399295047946553530LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INV_IDENT__ diff --git a/libjava/org/omg/CORBA/INV_OBJREF.h b/libjava/org/omg/CORBA/INV_OBJREF.h new file mode 100644 index 00000000000..069d9e06808 --- /dev/null +++ b/libjava/org/omg/CORBA/INV_OBJREF.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INV_OBJREF__ +#define __org_omg_CORBA_INV_OBJREF__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INV_OBJREF; + } + } + } +} + +class org::omg::CORBA::INV_OBJREF : public ::org::omg::CORBA::SystemException +{ + +public: + INV_OBJREF(::java::lang::String *); + INV_OBJREF(); + INV_OBJREF(jint, ::org::omg::CORBA::CompletionStatus *); + INV_OBJREF(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -7238811948257685034LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INV_OBJREF__ diff --git a/libjava/org/omg/CORBA/INV_POLICY.h b/libjava/org/omg/CORBA/INV_POLICY.h new file mode 100644 index 00000000000..de455608fd0 --- /dev/null +++ b/libjava/org/omg/CORBA/INV_POLICY.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_INV_POLICY__ +#define __org_omg_CORBA_INV_POLICY__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class INV_POLICY; + } + } + } +} + +class org::omg::CORBA::INV_POLICY : public ::org::omg::CORBA::SystemException +{ + +public: + INV_POLICY(::java::lang::String *); + INV_POLICY(); + INV_POLICY(jint, ::org::omg::CORBA::CompletionStatus *); + INV_POLICY(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -7823113107689030975LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_INV_POLICY__ diff --git a/libjava/org/omg/CORBA/IRObject.h b/libjava/org/omg/CORBA/IRObject.h new file mode 100644 index 00000000000..8f1102ebcc8 --- /dev/null +++ b/libjava/org/omg/CORBA/IRObject.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IRObject__ +#define __org_omg_CORBA_IRObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DefinitionKind; + class DomainManager; + class ExceptionList; + class IRObject; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + } + } +} + +class org::omg::CORBA::IRObject : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::DefinitionKind * def_kind() = 0; + virtual void destroy() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_IRObject__ diff --git a/libjava/org/omg/CORBA/IRObjectOperations.h b/libjava/org/omg/CORBA/IRObjectOperations.h new file mode 100644 index 00000000000..d2e4f4cbe3f --- /dev/null +++ b/libjava/org/omg/CORBA/IRObjectOperations.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IRObjectOperations__ +#define __org_omg_CORBA_IRObjectOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DefinitionKind; + class IRObjectOperations; + } + } + } +} + +class org::omg::CORBA::IRObjectOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::DefinitionKind * def_kind() = 0; + virtual void destroy() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_IRObjectOperations__ diff --git a/libjava/org/omg/CORBA/IdentifierHelper.h b/libjava/org/omg/CORBA/IdentifierHelper.h new file mode 100644 index 00000000000..5495b844a78 --- /dev/null +++ b/libjava/org/omg/CORBA/IdentifierHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IdentifierHelper__ +#define __org_omg_CORBA_IdentifierHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class IdentifierHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::IdentifierHelper : public ::java::lang::Object +{ + +public: + IdentifierHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_IdentifierHelper__ diff --git a/libjava/org/omg/CORBA/IntHolder.h b/libjava/org/omg/CORBA/IntHolder.h new file mode 100644 index 00000000000..fc85869dec6 --- /dev/null +++ b/libjava/org/omg/CORBA/IntHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_IntHolder__ +#define __org_omg_CORBA_IntHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class IntHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::IntHolder : public ::java::lang::Object +{ + +public: + IntHolder(); + IntHolder(jint); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_long; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_IntHolder__ diff --git a/libjava/org/omg/CORBA/LocalObject.h b/libjava/org/omg/CORBA/LocalObject.h new file mode 100644 index 00000000000..27666d4f18c --- /dev/null +++ b/libjava/org/omg/CORBA/LocalObject.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_LocalObject__ +#define __org_omg_CORBA_LocalObject__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class LocalObject; + class NVList; + class NamedValue; + class ORB; + class Object; + class Policy; + class Request; + class SetOverrideType; + namespace portable + { + class InputStream; + class OutputStream; + class ServantObject; + } + } + } + } +} + +class org::omg::CORBA::LocalObject : public ::java::lang::Object +{ + +public: + LocalObject(); + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *); + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *); + virtual ::org::omg::CORBA::Object * _duplicate(); + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers(); + virtual ::org::omg::CORBA::Object * _get_interface_def(); + virtual ::org::omg::CORBA::Object * _get_interface(); + virtual ::org::omg::CORBA::Policy * _get_policy(jint); + virtual jint _hash(jint); + virtual jboolean _is_a(::java::lang::String *); + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *); + virtual jboolean _non_existent(); + virtual void _release(); + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *); + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *); + virtual ::org::omg::CORBA::portable::ServantObject * _servant_preinvoke(::java::lang::String *, ::java::lang::Class *); + virtual void _servant_postinvoke(::org::omg::CORBA::portable::ServantObject *); + virtual ::org::omg::CORBA::portable::InputStream * _invoke(::org::omg::CORBA::portable::OutputStream *); + virtual jboolean _is_local(); + virtual ::org::omg::CORBA::ORB * _orb(); + virtual void _releaseReply(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::portable::OutputStream * _request(::java::lang::String *, jboolean); + virtual jboolean validate_connection(); +private: + static ::java::lang::String * INAPPROPRIATE; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_LocalObject__ diff --git a/libjava/org/omg/CORBA/LongHolder.h b/libjava/org/omg/CORBA/LongHolder.h new file mode 100644 index 00000000000..6fd5311b06c --- /dev/null +++ b/libjava/org/omg/CORBA/LongHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_LongHolder__ +#define __org_omg_CORBA_LongHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class LongHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::LongHolder : public ::java::lang::Object +{ + +public: + LongHolder(); + LongHolder(jlong); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_longlong; +public: + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_LongHolder__ diff --git a/libjava/org/omg/CORBA/LongLongSeqHelper.h b/libjava/org/omg/CORBA/LongLongSeqHelper.h new file mode 100644 index 00000000000..5430e67fbaa --- /dev/null +++ b/libjava/org/omg/CORBA/LongLongSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_LongLongSeqHelper__ +#define __org_omg_CORBA_LongLongSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class LongLongSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::LongLongSeqHelper : public ::java::lang::Object +{ + +public: + LongLongSeqHelper(); + static JArray< jlong > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jlong > *); + static JArray< jlong > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jlong > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_LongLongSeqHelper__ diff --git a/libjava/org/omg/CORBA/LongLongSeqHolder.h b/libjava/org/omg/CORBA/LongLongSeqHolder.h new file mode 100644 index 00000000000..d0ba6ca2edf --- /dev/null +++ b/libjava/org/omg/CORBA/LongLongSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_LongLongSeqHolder__ +#define __org_omg_CORBA_LongLongSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class LongLongSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::LongLongSeqHolder : public ::java::lang::Object +{ + +public: + LongLongSeqHolder(); + LongLongSeqHolder(JArray< jlong > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jlong > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_LongLongSeqHolder__ diff --git a/libjava/org/omg/CORBA/LongSeqHelper.h b/libjava/org/omg/CORBA/LongSeqHelper.h new file mode 100644 index 00000000000..63dbf9d022b --- /dev/null +++ b/libjava/org/omg/CORBA/LongSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_LongSeqHelper__ +#define __org_omg_CORBA_LongSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class LongSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::LongSeqHelper : public ::java::lang::Object +{ + +public: + LongSeqHelper(); + static JArray< jint > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jint > *); + static JArray< jint > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jint > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_LongSeqHelper__ diff --git a/libjava/org/omg/CORBA/LongSeqHolder.h b/libjava/org/omg/CORBA/LongSeqHolder.h new file mode 100644 index 00000000000..92dc019db28 --- /dev/null +++ b/libjava/org/omg/CORBA/LongSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_LongSeqHolder__ +#define __org_omg_CORBA_LongSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class LongSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::LongSeqHolder : public ::java::lang::Object +{ + +public: + LongSeqHolder(); + LongSeqHolder(JArray< jint > *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) typecode; +public: + JArray< jint > * value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_LongSeqHolder__ diff --git a/libjava/org/omg/CORBA/MARSHAL.h b/libjava/org/omg/CORBA/MARSHAL.h new file mode 100644 index 00000000000..75516cbbb66 --- /dev/null +++ b/libjava/org/omg/CORBA/MARSHAL.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_MARSHAL__ +#define __org_omg_CORBA_MARSHAL__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class MARSHAL; + } + } + } +} + +class org::omg::CORBA::MARSHAL : public ::org::omg::CORBA::SystemException +{ + +public: + MARSHAL(::java::lang::String *); + MARSHAL(); + MARSHAL(jint, ::org::omg::CORBA::CompletionStatus *); + MARSHAL(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 7416408250336395546LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_MARSHAL__ diff --git a/libjava/org/omg/CORBA/NO_IMPLEMENT.h b/libjava/org/omg/CORBA/NO_IMPLEMENT.h new file mode 100644 index 00000000000..c4a0273c647 --- /dev/null +++ b/libjava/org/omg/CORBA/NO_IMPLEMENT.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NO_IMPLEMENT__ +#define __org_omg_CORBA_NO_IMPLEMENT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class NO_IMPLEMENT; + } + } + } +} + +class org::omg::CORBA::NO_IMPLEMENT : public ::org::omg::CORBA::SystemException +{ + +public: + NO_IMPLEMENT(::java::lang::String *); + NO_IMPLEMENT(); + NO_IMPLEMENT(jint, ::org::omg::CORBA::CompletionStatus *); + NO_IMPLEMENT(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 3519190655657192112LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NO_IMPLEMENT__ diff --git a/libjava/org/omg/CORBA/NO_MEMORY.h b/libjava/org/omg/CORBA/NO_MEMORY.h new file mode 100644 index 00000000000..ce8f3f00d7b --- /dev/null +++ b/libjava/org/omg/CORBA/NO_MEMORY.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NO_MEMORY__ +#define __org_omg_CORBA_NO_MEMORY__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class NO_MEMORY; + } + } + } +} + +class org::omg::CORBA::NO_MEMORY : public ::org::omg::CORBA::SystemException +{ + +public: + NO_MEMORY(::java::lang::String *); + NO_MEMORY(); + NO_MEMORY(jint, ::org::omg::CORBA::CompletionStatus *); + NO_MEMORY(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -4591569617929689285LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NO_MEMORY__ diff --git a/libjava/org/omg/CORBA/NO_PERMISSION.h b/libjava/org/omg/CORBA/NO_PERMISSION.h new file mode 100644 index 00000000000..1f2bea8a336 --- /dev/null +++ b/libjava/org/omg/CORBA/NO_PERMISSION.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NO_PERMISSION__ +#define __org_omg_CORBA_NO_PERMISSION__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class NO_PERMISSION; + } + } + } +} + +class org::omg::CORBA::NO_PERMISSION : public ::org::omg::CORBA::SystemException +{ + +public: + NO_PERMISSION(::java::lang::String *); + NO_PERMISSION(); + NO_PERMISSION(jint, ::org::omg::CORBA::CompletionStatus *); + NO_PERMISSION(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -1533969523582458479LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NO_PERMISSION__ diff --git a/libjava/org/omg/CORBA/NO_RESOURCES.h b/libjava/org/omg/CORBA/NO_RESOURCES.h new file mode 100644 index 00000000000..92daec581dc --- /dev/null +++ b/libjava/org/omg/CORBA/NO_RESOURCES.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NO_RESOURCES__ +#define __org_omg_CORBA_NO_RESOURCES__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class NO_RESOURCES; + } + } + } +} + +class org::omg::CORBA::NO_RESOURCES : public ::org::omg::CORBA::SystemException +{ + +public: + NO_RESOURCES(::java::lang::String *); + NO_RESOURCES(); + NO_RESOURCES(jint, ::org::omg::CORBA::CompletionStatus *); + NO_RESOURCES(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 8129246118235803597LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NO_RESOURCES__ diff --git a/libjava/org/omg/CORBA/NO_RESPONSE.h b/libjava/org/omg/CORBA/NO_RESPONSE.h new file mode 100644 index 00000000000..eef00cc123c --- /dev/null +++ b/libjava/org/omg/CORBA/NO_RESPONSE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NO_RESPONSE__ +#define __org_omg_CORBA_NO_RESPONSE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class NO_RESPONSE; + } + } + } +} + +class org::omg::CORBA::NO_RESPONSE : public ::org::omg::CORBA::SystemException +{ + +public: + NO_RESPONSE(::java::lang::String *); + NO_RESPONSE(); + NO_RESPONSE(jint, ::org::omg::CORBA::CompletionStatus *); + NO_RESPONSE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 1971973765161647047LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NO_RESPONSE__ diff --git a/libjava/org/omg/CORBA/NVList.h b/libjava/org/omg/CORBA/NVList.h new file mode 100644 index 00000000000..ec886d8192c --- /dev/null +++ b/libjava/org/omg/CORBA/NVList.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NVList__ +#define __org_omg_CORBA_NVList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class NVList; + class NamedValue; + } + } + } +} + +class org::omg::CORBA::NVList : public ::java::lang::Object +{ + +public: + NVList(); + virtual ::org::omg::CORBA::NamedValue * add(jint) = 0; + virtual ::org::omg::CORBA::NamedValue * add_item(::java::lang::String *, jint) = 0; + virtual ::org::omg::CORBA::NamedValue * add_value(::java::lang::String *, ::org::omg::CORBA::Any *, jint) = 0; + virtual jint count() = 0; + virtual ::org::omg::CORBA::NamedValue * item(jint) = 0; + virtual void remove(jint) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NVList__ diff --git a/libjava/org/omg/CORBA/NameValuePair.h b/libjava/org/omg/CORBA/NameValuePair.h new file mode 100644 index 00000000000..b2f1034e8ce --- /dev/null +++ b/libjava/org/omg/CORBA/NameValuePair.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NameValuePair__ +#define __org_omg_CORBA_NameValuePair__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class NameValuePair; + } + } + } +} + +class org::omg::CORBA::NameValuePair : public ::java::lang::Object +{ + +public: + NameValuePair(); + NameValuePair(::java::lang::String *, ::org::omg::CORBA::Any *); + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + static const jlong serialVersionUID = 7000741877654946223LL; +public: + ::java::lang::String * id; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NameValuePair__ diff --git a/libjava/org/omg/CORBA/NameValuePairHelper.h b/libjava/org/omg/CORBA/NameValuePairHelper.h new file mode 100644 index 00000000000..12b688eb57f --- /dev/null +++ b/libjava/org/omg/CORBA/NameValuePairHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NameValuePairHelper__ +#define __org_omg_CORBA_NameValuePairHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class NameValuePair; + class NameValuePairHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::NameValuePairHelper : public ::java::lang::Object +{ + +public: + NameValuePairHelper(); + static ::org::omg::CORBA::NameValuePair * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::NameValuePair *); + static ::org::omg::CORBA::NameValuePair * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::NameValuePair *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NameValuePairHelper__ diff --git a/libjava/org/omg/CORBA/NamedValue.h b/libjava/org/omg/CORBA/NamedValue.h new file mode 100644 index 00000000000..f3debeb410b --- /dev/null +++ b/libjava/org/omg/CORBA/NamedValue.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_NamedValue__ +#define __org_omg_CORBA_NamedValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class NamedValue; + } + } + } +} + +class org::omg::CORBA::NamedValue : public ::java::lang::Object +{ + +public: + NamedValue(); + virtual jint flags() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::org::omg::CORBA::Any * value() = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_NamedValue__ diff --git a/libjava/org/omg/CORBA/OBJECT_NOT_EXIST.h b/libjava/org/omg/CORBA/OBJECT_NOT_EXIST.h new file mode 100644 index 00000000000..34c170a0d27 --- /dev/null +++ b/libjava/org/omg/CORBA/OBJECT_NOT_EXIST.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_OBJECT_NOT_EXIST__ +#define __org_omg_CORBA_OBJECT_NOT_EXIST__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class OBJECT_NOT_EXIST; + } + } + } +} + +class org::omg::CORBA::OBJECT_NOT_EXIST : public ::org::omg::CORBA::SystemException +{ + +public: + OBJECT_NOT_EXIST(::java::lang::String *); + OBJECT_NOT_EXIST(); + OBJECT_NOT_EXIST(jint, ::org::omg::CORBA::CompletionStatus *); + OBJECT_NOT_EXIST(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 7226958015420512389LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_OBJECT_NOT_EXIST__ diff --git a/libjava/org/omg/CORBA/OBJ_ADAPTER.h b/libjava/org/omg/CORBA/OBJ_ADAPTER.h new file mode 100644 index 00000000000..81888d8ac08 --- /dev/null +++ b/libjava/org/omg/CORBA/OBJ_ADAPTER.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_OBJ_ADAPTER__ +#define __org_omg_CORBA_OBJ_ADAPTER__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class OBJ_ADAPTER; + } + } + } +} + +class org::omg::CORBA::OBJ_ADAPTER : public ::org::omg::CORBA::SystemException +{ + +public: + OBJ_ADAPTER(::java::lang::String *); + OBJ_ADAPTER(); + OBJ_ADAPTER(jint, ::org::omg::CORBA::CompletionStatus *); + OBJ_ADAPTER(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -1516541344234786928LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_OBJ_ADAPTER__ diff --git a/libjava/org/omg/CORBA/OMGVMCID.h b/libjava/org/omg/CORBA/OMGVMCID.h new file mode 100644 index 00000000000..1ee33c5d225 --- /dev/null +++ b/libjava/org/omg/CORBA/OMGVMCID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_OMGVMCID__ +#define __org_omg_CORBA_OMGVMCID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class OMGVMCID; + } + } + } +} + +class org::omg::CORBA::OMGVMCID : public ::java::lang::Object +{ + +public: + static const jint value = 1330446336; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_OMGVMCID__ diff --git a/libjava/org/omg/CORBA/ORB.h b/libjava/org/omg/CORBA/ORB.h new file mode 100644 index 00000000000..f1489339278 --- /dev/null +++ b/libjava/org/omg/CORBA/ORB.h @@ -0,0 +1,137 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ORB__ +#define __org_omg_CORBA_ORB__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace applet + { + class Applet; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class Current; + class DynAny; + class DynArray; + class DynEnum; + class DynSequence; + class DynStruct; + class DynUnion; + class Environment; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Policy; + class Request; + class ServiceInformationHolder; + class StructMember; + class TCKind; + class TypeCode; + class UnionMember; + class ValueMember; + namespace portable + { + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ORB : public ::java::lang::Object +{ + +public: + ORB(); + virtual void connect(::org::omg::CORBA::Object *); + virtual void disconnect(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::TypeCode * create_recursive_sequence_tc(jint, jint) = 0; + virtual ::org::omg::CORBA::TypeCode * create_alias_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::CORBA::Any * create_any() = 0; + virtual ::org::omg::CORBA::TypeCode * create_array_tc(jint, ::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::CORBA::ContextList * create_context_list() = 0; + virtual ::org::omg::CORBA::DynAny * create_basic_dyn_any(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::DynAny * create_dyn_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::DynArray * create_dyn_array(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::DynEnum * create_dyn_enum(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::DynSequence * create_dyn_sequence(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::DynStruct * create_dyn_struct(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::DynUnion * create_dyn_union(::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::TypeCode * create_enum_tc(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *) = 0; + virtual ::org::omg::CORBA::Environment * create_environment() = 0; + virtual ::org::omg::CORBA::ExceptionList * create_exception_list() = 0; + virtual ::org::omg::CORBA::TypeCode * create_exception_tc(::java::lang::String *, ::java::lang::String *, JArray< ::org::omg::CORBA::StructMember * > *) = 0; + virtual ::org::omg::CORBA::TypeCode * create_fixed_tc(jshort, jshort); + virtual ::org::omg::CORBA::TypeCode * create_interface_tc(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::omg::CORBA::NVList * create_list(jint) = 0; + virtual ::org::omg::CORBA::NamedValue * create_named_value(::java::lang::String *, ::org::omg::CORBA::Any *, jint) = 0; + virtual void send_multiple_requests_oneway(JArray< ::org::omg::CORBA::Request * > *) = 0; + virtual void send_multiple_requests_deferred(JArray< ::org::omg::CORBA::Request * > *) = 0; + virtual jboolean poll_next_response() = 0; + virtual ::org::omg::CORBA::Request * get_next_response() = 0; + virtual ::org::omg::CORBA::portable::OutputStream * create_output_stream() = 0; + virtual ::org::omg::CORBA::NVList * create_operation_list(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Policy * create_policy(jint, ::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::TypeCode * create_sequence_tc(jint, ::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::CORBA::TypeCode * create_string_tc(jint) = 0; + virtual ::org::omg::CORBA::TypeCode * create_struct_tc(::java::lang::String *, ::java::lang::String *, JArray< ::org::omg::CORBA::StructMember * > *) = 0; + virtual ::org::omg::CORBA::TypeCode * create_union_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *, JArray< ::org::omg::CORBA::UnionMember * > *) = 0; + virtual ::org::omg::CORBA::TypeCode * create_wstring_tc(jint) = 0; + virtual ::org::omg::CORBA::TypeCode * create_abstract_interface_tc(::java::lang::String *, ::java::lang::String *); + virtual ::org::omg::CORBA::TypeCode * create_native_tc(::java::lang::String *, ::java::lang::String *); + virtual ::org::omg::CORBA::TypeCode * create_recursive_tc(::java::lang::String *); + virtual ::org::omg::CORBA::TypeCode * create_value_box_tc(::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *); + virtual ::org::omg::CORBA::TypeCode * create_value_tc(::java::lang::String *, ::java::lang::String *, jshort, ::org::omg::CORBA::TypeCode *, JArray< ::org::omg::CORBA::ValueMember * > *); + virtual ::org::omg::CORBA::Current * get_current(); + virtual jboolean get_service_information(jshort, ::org::omg::CORBA::ServiceInformationHolder *); + virtual ::org::omg::CORBA::Context * get_default_context() = 0; + virtual ::org::omg::CORBA::TypeCode * get_primitive_tc(::org::omg::CORBA::TCKind *) = 0; + static ::org::omg::CORBA::ORB * init(); + static ::org::omg::CORBA::ORB * init(::java::applet::Applet *, ::java::util::Properties *); + static ::org::omg::CORBA::ORB * init(JArray< ::java::lang::String * > *, ::java::util::Properties *); + virtual JArray< ::java::lang::String * > * list_initial_services() = 0; + virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *) = 0; + virtual ::java::lang::String * object_to_string(::org::omg::CORBA::Object *) = 0; + virtual void perform_work(); + virtual jboolean work_pending(); + virtual ::org::omg::CORBA::Object * string_to_object(::java::lang::String *) = 0; + virtual void run(); + virtual void shutdown(jboolean); + virtual void destroy(); +public: // actually protected + virtual void set_parameters(JArray< ::java::lang::String * > *, ::java::util::Properties *) = 0; + virtual void set_parameters(::java::applet::Applet *, ::java::util::Properties *) = 0; +private: + static ::java::lang::String * getCumulatedProperty(::java::util::Properties *, ::java::lang::String *); + static ::java::lang::String * checkFile(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + static ::org::omg::CORBA::ORB * createORB(::java::util::Properties *, ::java::lang::String *); + static void noORB(::java::lang::String *, ::java::lang::Throwable *); + static ::java::lang::String * FUNCTIONAL_ORB; + static ::java::lang::String * RESTRICTED_ORB; + static ::java::lang::String * LISTENER_PORT; + static ::java::lang::String * DEFAULT_FUNCTIONAL_ORB; + static ::java::lang::String * DEFAULT_FOCUSED_ORB; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ORB__ diff --git a/libjava/org/omg/CORBA/ORBPackage/InconsistentTypeCode.h b/libjava/org/omg/CORBA/ORBPackage/InconsistentTypeCode.h new file mode 100644 index 00000000000..a3689a98148 --- /dev/null +++ b/libjava/org/omg/CORBA/ORBPackage/InconsistentTypeCode.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ORBPackage_InconsistentTypeCode__ +#define __org_omg_CORBA_ORBPackage_InconsistentTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace ORBPackage + { + class InconsistentTypeCode; + } + } + } + } +} + +class org::omg::CORBA::ORBPackage::InconsistentTypeCode : public ::org::omg::CORBA::UserException +{ + +public: + InconsistentTypeCode(); + InconsistentTypeCode(::java::lang::String *); +private: + static const jlong serialVersionUID = -4393472660722667060LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ORBPackage_InconsistentTypeCode__ diff --git a/libjava/org/omg/CORBA/ORBPackage/InvalidName.h b/libjava/org/omg/CORBA/ORBPackage/InvalidName.h new file mode 100644 index 00000000000..2565926650a --- /dev/null +++ b/libjava/org/omg/CORBA/ORBPackage/InvalidName.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ORBPackage_InvalidName__ +#define __org_omg_CORBA_ORBPackage_InvalidName__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace ORBPackage + { + class InvalidName; + } + } + } + } +} + +class org::omg::CORBA::ORBPackage::InvalidName : public ::org::omg::CORBA::UserException +{ + +public: + InvalidName(); + InvalidName(::java::lang::String *); +private: + static const jlong serialVersionUID = 6635923991559230168LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ORBPackage_InvalidName__ diff --git a/libjava/org/omg/CORBA/Object.h b/libjava/org/omg/CORBA/Object.h new file mode 100644 index 00000000000..10bde6e2a79 --- /dev/null +++ b/libjava/org/omg/CORBA/Object.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Object__ +#define __org_omg_CORBA_Object__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + } + } +} + +class org::omg::CORBA::Object : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_Object__ diff --git a/libjava/org/omg/CORBA/ObjectHelper.h b/libjava/org/omg/CORBA/ObjectHelper.h new file mode 100644 index 00000000000..05a80299817 --- /dev/null +++ b/libjava/org/omg/CORBA/ObjectHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ObjectHelper__ +#define __org_omg_CORBA_ObjectHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class ObjectHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ObjectHelper : public ::java::lang::Object +{ + +public: + ObjectHelper(); + static ::org::omg::CORBA::Object * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::Object *); + static ::org::omg::CORBA::Object * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::Object *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ObjectHelper__ diff --git a/libjava/org/omg/CORBA/ObjectHolder.h b/libjava/org/omg/CORBA/ObjectHolder.h new file mode 100644 index 00000000000..47093d004c8 --- /dev/null +++ b/libjava/org/omg/CORBA/ObjectHolder.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ObjectHolder__ +#define __org_omg_CORBA_ObjectHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class RecordTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + class ObjectHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ObjectHolder : public ::java::lang::Object +{ + +public: + ObjectHolder(); + ObjectHolder(::org::omg::CORBA::Object *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::gnu::CORBA::typecodes::RecordTypeCode * t_object; +public: + ::org::omg::CORBA::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ObjectHolder__ diff --git a/libjava/org/omg/CORBA/OctetSeqHelper.h b/libjava/org/omg/CORBA/OctetSeqHelper.h new file mode 100644 index 00000000000..6a2bd46118f --- /dev/null +++ b/libjava/org/omg/CORBA/OctetSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_OctetSeqHelper__ +#define __org_omg_CORBA_OctetSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class OctetSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::OctetSeqHelper : public ::java::lang::Object +{ + +public: + OctetSeqHelper(); + static JArray< jbyte > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jbyte > *); + static JArray< jbyte > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_OctetSeqHelper__ diff --git a/libjava/org/omg/CORBA/OctetSeqHolder.h b/libjava/org/omg/CORBA/OctetSeqHolder.h new file mode 100644 index 00000000000..4f053fe7258 --- /dev/null +++ b/libjava/org/omg/CORBA/OctetSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_OctetSeqHolder__ +#define __org_omg_CORBA_OctetSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class OctetSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::OctetSeqHolder : public ::java::lang::Object +{ + +public: + OctetSeqHolder(); + OctetSeqHolder(JArray< jbyte > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_OctetSeqHolder__ diff --git a/libjava/org/omg/CORBA/PERSIST_STORE.h b/libjava/org/omg/CORBA/PERSIST_STORE.h new file mode 100644 index 00000000000..0b21ec953d1 --- /dev/null +++ b/libjava/org/omg/CORBA/PERSIST_STORE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PERSIST_STORE__ +#define __org_omg_CORBA_PERSIST_STORE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class PERSIST_STORE; + } + } + } +} + +class org::omg::CORBA::PERSIST_STORE : public ::org::omg::CORBA::SystemException +{ + +public: + PERSIST_STORE(::java::lang::String *); + PERSIST_STORE(); + PERSIST_STORE(jint, ::org::omg::CORBA::CompletionStatus *); + PERSIST_STORE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -6835478548864681965LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PERSIST_STORE__ diff --git a/libjava/org/omg/CORBA/PRIVATE_MEMBER.h b/libjava/org/omg/CORBA/PRIVATE_MEMBER.h new file mode 100644 index 00000000000..047f012e035 --- /dev/null +++ b/libjava/org/omg/CORBA/PRIVATE_MEMBER.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PRIVATE_MEMBER__ +#define __org_omg_CORBA_PRIVATE_MEMBER__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class PRIVATE_MEMBER; + } + } + } +} + +class org::omg::CORBA::PRIVATE_MEMBER : public ::java::lang::Object +{ + +public: + static const jshort value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_PRIVATE_MEMBER__ diff --git a/libjava/org/omg/CORBA/PUBLIC_MEMBER.h b/libjava/org/omg/CORBA/PUBLIC_MEMBER.h new file mode 100644 index 00000000000..a549730f7cb --- /dev/null +++ b/libjava/org/omg/CORBA/PUBLIC_MEMBER.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PUBLIC_MEMBER__ +#define __org_omg_CORBA_PUBLIC_MEMBER__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class PUBLIC_MEMBER; + } + } + } +} + +class org::omg::CORBA::PUBLIC_MEMBER : public ::java::lang::Object +{ + +public: + static const jshort value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_PUBLIC_MEMBER__ diff --git a/libjava/org/omg/CORBA/ParameterMode.h b/libjava/org/omg/CORBA/ParameterMode.h new file mode 100644 index 00000000000..92457814d6d --- /dev/null +++ b/libjava/org/omg/CORBA/ParameterMode.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ParameterMode__ +#define __org_omg_CORBA_ParameterMode__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ParameterMode; + } + } + } +} + +class org::omg::CORBA::ParameterMode : public ::java::lang::Object +{ + +public: // actually protected + ParameterMode(jint); +public: + virtual jint value(); + static ::org::omg::CORBA::ParameterMode * from_int(jint); +private: + static const jlong serialVersionUID = 1521598391932998229LL; +public: + static const jint _PARAM_IN = 0; + static const jint _PARAM_OUT = 1; + static const jint _PARAM_INOUT = 2; + static ::org::omg::CORBA::ParameterMode * PARAM_IN; + static ::org::omg::CORBA::ParameterMode * PARAM_OUT; + static ::org::omg::CORBA::ParameterMode * PARAM_INOUT; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value__; + static JArray< ::org::omg::CORBA::ParameterMode * > * table; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ParameterMode__ diff --git a/libjava/org/omg/CORBA/ParameterModeHelper.h b/libjava/org/omg/CORBA/ParameterModeHelper.h new file mode 100644 index 00000000000..74d723b1bae --- /dev/null +++ b/libjava/org/omg/CORBA/ParameterModeHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ParameterModeHelper__ +#define __org_omg_CORBA_ParameterModeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ParameterMode; + class ParameterModeHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ParameterModeHelper : public ::java::lang::Object +{ + +public: + ParameterModeHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::ParameterMode *); + static ::org::omg::CORBA::ParameterMode * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::ParameterMode * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::ParameterMode *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ParameterModeHelper__ diff --git a/libjava/org/omg/CORBA/ParameterModeHolder.h b/libjava/org/omg/CORBA/ParameterModeHolder.h new file mode 100644 index 00000000000..5d8186f1ccb --- /dev/null +++ b/libjava/org/omg/CORBA/ParameterModeHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ParameterModeHolder__ +#define __org_omg_CORBA_ParameterModeHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ParameterMode; + class ParameterModeHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ParameterModeHolder : public ::java::lang::Object +{ + +public: + ParameterModeHolder(); + ParameterModeHolder(::org::omg::CORBA::ParameterMode *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::ParameterMode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ParameterModeHolder__ diff --git a/libjava/org/omg/CORBA/Policy.h b/libjava/org/omg/CORBA/Policy.h new file mode 100644 index 00000000000..49f2b44fb5b --- /dev/null +++ b/libjava/org/omg/CORBA/Policy.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Policy__ +#define __org_omg_CORBA_Policy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + } + } +} + +class org::omg::CORBA::Policy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_Policy__ diff --git a/libjava/org/omg/CORBA/PolicyError.h b/libjava/org/omg/CORBA/PolicyError.h new file mode 100644 index 00000000000..1948a84813f --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyError.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyError__ +#define __org_omg_CORBA_PolicyError__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class PolicyError; + } + } + } +} + +class org::omg::CORBA::PolicyError : public ::org::omg::CORBA::UserException +{ + +public: + PolicyError(); + PolicyError(jshort); + PolicyError(::java::lang::String *, jshort); + jshort __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) reason; +private: + static const jlong serialVersionUID = -9196809779974700103LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyError__ diff --git a/libjava/org/omg/CORBA/PolicyErrorCodeHelper.h b/libjava/org/omg/CORBA/PolicyErrorCodeHelper.h new file mode 100644 index 00000000000..817d39dd7e8 --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyErrorCodeHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyErrorCodeHelper__ +#define __org_omg_CORBA_PolicyErrorCodeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class PolicyErrorCodeHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyErrorCodeHelper : public ::java::lang::Object +{ + +public: + PolicyErrorCodeHelper(); + static jshort extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, jshort); + static jshort read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, jshort); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyErrorCodeHelper__ diff --git a/libjava/org/omg/CORBA/PolicyErrorHelper.h b/libjava/org/omg/CORBA/PolicyErrorHelper.h new file mode 100644 index 00000000000..dadfb37646e --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyErrorHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyErrorHelper__ +#define __org_omg_CORBA_PolicyErrorHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class PolicyError; + class PolicyErrorHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyErrorHelper : public ::java::lang::Object +{ + +public: + PolicyErrorHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::PolicyError *); + static ::org::omg::CORBA::PolicyError * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::CORBA::PolicyError * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::PolicyError *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyErrorHelper__ diff --git a/libjava/org/omg/CORBA/PolicyErrorHolder.h b/libjava/org/omg/CORBA/PolicyErrorHolder.h new file mode 100644 index 00000000000..14823502727 --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyErrorHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyErrorHolder__ +#define __org_omg_CORBA_PolicyErrorHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class PolicyError; + class PolicyErrorHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyErrorHolder : public ::java::lang::Object +{ + +public: + PolicyErrorHolder(); + PolicyErrorHolder(::org::omg::CORBA::PolicyError *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::CORBA::PolicyError * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyErrorHolder__ diff --git a/libjava/org/omg/CORBA/PolicyHelper.h b/libjava/org/omg/CORBA/PolicyHelper.h new file mode 100644 index 00000000000..440e575966d --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyHelper__ +#define __org_omg_CORBA_PolicyHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Policy; + class PolicyHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyHelper : public ::java::lang::Object +{ + +public: + PolicyHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::Policy *); + static ::org::omg::CORBA::Policy * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::CORBA::Policy * narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::Policy * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::Policy *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyHelper__ diff --git a/libjava/org/omg/CORBA/PolicyHolder.h b/libjava/org/omg/CORBA/PolicyHolder.h new file mode 100644 index 00000000000..3e9f6cfdd59 --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyHolder__ +#define __org_omg_CORBA_PolicyHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + class PolicyHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyHolder : public ::java::lang::Object +{ + +public: + PolicyHolder(); + PolicyHolder(::org::omg::CORBA::Policy *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::CORBA::Policy * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyHolder__ diff --git a/libjava/org/omg/CORBA/PolicyListHelper.h b/libjava/org/omg/CORBA/PolicyListHelper.h new file mode 100644 index 00000000000..a18369e9cd0 --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyListHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyListHelper__ +#define __org_omg_CORBA_PolicyListHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Policy; + class PolicyListHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyListHelper : public ::java::lang::Object +{ + +public: + PolicyListHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::CORBA::Policy * > *); + static JArray< ::org::omg::CORBA::Policy * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static JArray< ::org::omg::CORBA::Policy * > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::CORBA::Policy * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyListHelper__ diff --git a/libjava/org/omg/CORBA/PolicyListHolder.h b/libjava/org/omg/CORBA/PolicyListHolder.h new file mode 100644 index 00000000000..375ced89b56 --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyListHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyListHolder__ +#define __org_omg_CORBA_PolicyListHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + class PolicyListHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyListHolder : public ::java::lang::Object +{ + +public: + PolicyListHolder(); + PolicyListHolder(JArray< ::org::omg::CORBA::Policy * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::CORBA::Policy * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyListHolder__ diff --git a/libjava/org/omg/CORBA/PolicyOperations.h b/libjava/org/omg/CORBA/PolicyOperations.h new file mode 100644 index 00000000000..b27bc9cf9c4 --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyOperations.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyOperations__ +#define __org_omg_CORBA_PolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + class PolicyOperations; + } + } + } +} + +class org::omg::CORBA::PolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_PolicyOperations__ diff --git a/libjava/org/omg/CORBA/PolicyTypeHelper.h b/libjava/org/omg/CORBA/PolicyTypeHelper.h new file mode 100644 index 00000000000..25868513ccc --- /dev/null +++ b/libjava/org/omg/CORBA/PolicyTypeHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PolicyTypeHelper__ +#define __org_omg_CORBA_PolicyTypeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class PolicyTypeHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PolicyTypeHelper : public ::java::lang::Object +{ + +public: + PolicyTypeHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, jint); + static jint extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static jint read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jint); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PolicyTypeHelper__ diff --git a/libjava/org/omg/CORBA/Principal.h b/libjava/org/omg/CORBA/Principal.h new file mode 100644 index 00000000000..52c71503d92 --- /dev/null +++ b/libjava/org/omg/CORBA/Principal.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Principal__ +#define __org_omg_CORBA_Principal__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Principal; + } + } + } +} + +class org::omg::CORBA::Principal : public ::java::lang::Object +{ + +public: + Principal(); + virtual JArray< jbyte > * name(); + virtual void name(JArray< jbyte > *); +private: + JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m_name; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_Principal__ diff --git a/libjava/org/omg/CORBA/PrincipalHolder.h b/libjava/org/omg/CORBA/PrincipalHolder.h new file mode 100644 index 00000000000..5919dae464e --- /dev/null +++ b/libjava/org/omg/CORBA/PrincipalHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_PrincipalHolder__ +#define __org_omg_CORBA_PrincipalHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Principal; + class PrincipalHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::PrincipalHolder : public ::java::lang::Object +{ + +public: + PrincipalHolder(); + PrincipalHolder(::org::omg::CORBA::Principal *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_any; +public: + ::org::omg::CORBA::Principal * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_PrincipalHolder__ diff --git a/libjava/org/omg/CORBA/REBIND.h b/libjava/org/omg/CORBA/REBIND.h new file mode 100644 index 00000000000..43606046ba2 --- /dev/null +++ b/libjava/org/omg/CORBA/REBIND.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_REBIND__ +#define __org_omg_CORBA_REBIND__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class REBIND; + } + } + } +} + +class org::omg::CORBA::REBIND : public ::org::omg::CORBA::SystemException +{ + +public: + REBIND(::java::lang::String *); + REBIND(); + REBIND(jint, ::org::omg::CORBA::CompletionStatus *); + REBIND(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 823920851143467547LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_REBIND__ diff --git a/libjava/org/omg/CORBA/RepositoryIdHelper.h b/libjava/org/omg/CORBA/RepositoryIdHelper.h new file mode 100644 index 00000000000..1d351e6d656 --- /dev/null +++ b/libjava/org/omg/CORBA/RepositoryIdHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_RepositoryIdHelper__ +#define __org_omg_CORBA_RepositoryIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class RepositoryIdHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::RepositoryIdHelper : public ::java::lang::Object +{ + +public: + RepositoryIdHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_RepositoryIdHelper__ diff --git a/libjava/org/omg/CORBA/Request.h b/libjava/org/omg/CORBA/Request.h new file mode 100644 index 00000000000..b1d9b420c51 --- /dev/null +++ b/libjava/org/omg/CORBA/Request.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_Request__ +#define __org_omg_CORBA_Request__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class Environment; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Request; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::Request : public ::java::lang::Object +{ + +public: + Request(); + virtual ::org::omg::CORBA::Any * add_in_arg() = 0; + virtual ::org::omg::CORBA::Any * add_inout_arg() = 0; + virtual ::org::omg::CORBA::Any * add_named_in_arg(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Any * add_named_inout_arg(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Any * add_named_out_arg(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Any * add_out_arg() = 0; + virtual ::org::omg::CORBA::NVList * arguments() = 0; + virtual ::org::omg::CORBA::ContextList * contexts() = 0; + virtual ::org::omg::CORBA::Context * ctx() = 0; + virtual void ctx(::org::omg::CORBA::Context *) = 0; + virtual ::org::omg::CORBA::Environment * env() = 0; + virtual ::org::omg::CORBA::ExceptionList * exceptions() = 0; + virtual void get_response() = 0; + virtual void invoke() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jboolean poll_response() = 0; + virtual ::org::omg::CORBA::NamedValue * result() = 0; + virtual ::org::omg::CORBA::Any * return_value() = 0; + virtual void send_deferred() = 0; + virtual void send_oneway() = 0; + virtual void set_return_type(::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::CORBA::Object * target() = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_Request__ diff --git a/libjava/org/omg/CORBA/ServerRequest.h b/libjava/org/omg/CORBA/ServerRequest.h new file mode 100644 index 00000000000..f027f0ade27 --- /dev/null +++ b/libjava/org/omg/CORBA/ServerRequest.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ServerRequest__ +#define __org_omg_CORBA_ServerRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class NVList; + class ServerRequest; + } + } + } +} + +class org::omg::CORBA::ServerRequest : public ::java::lang::Object +{ + +public: + ServerRequest(); + virtual ::org::omg::CORBA::Context * ctx() = 0; + virtual ::java::lang::String * operation(); + virtual void arguments(::org::omg::CORBA::NVList *); + virtual void set_result(::org::omg::CORBA::Any *); + virtual void set_exception(::org::omg::CORBA::Any *); + virtual void result(::org::omg::CORBA::Any *); + virtual void except(::org::omg::CORBA::Any *); + virtual void params(::org::omg::CORBA::NVList *); + virtual ::java::lang::String * op_name(); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ServerRequest__ diff --git a/libjava/org/omg/CORBA/ServiceDetail.h b/libjava/org/omg/CORBA/ServiceDetail.h new file mode 100644 index 00000000000..c0f4627ac88 --- /dev/null +++ b/libjava/org/omg/CORBA/ServiceDetail.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ServiceDetail__ +#define __org_omg_CORBA_ServiceDetail__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ServiceDetail; + } + } + } +} + +class org::omg::CORBA::ServiceDetail : public ::java::lang::Object +{ + +public: + ServiceDetail(); + ServiceDetail(jint, JArray< jbyte > *); + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) service_detail_type; + JArray< jbyte > * service_detail; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ServiceDetail__ diff --git a/libjava/org/omg/CORBA/ServiceDetailHelper.h b/libjava/org/omg/CORBA/ServiceDetailHelper.h new file mode 100644 index 00000000000..700a0d5d880 --- /dev/null +++ b/libjava/org/omg/CORBA/ServiceDetailHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ServiceDetailHelper__ +#define __org_omg_CORBA_ServiceDetailHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ServiceDetail; + class ServiceDetailHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ServiceDetailHelper : public ::java::lang::Object +{ + +public: + ServiceDetailHelper(); + static ::org::omg::CORBA::ServiceDetail * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::ServiceDetail *); + static ::org::omg::CORBA::ServiceDetail * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::ServiceDetail *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ServiceDetailHelper__ diff --git a/libjava/org/omg/CORBA/ServiceInformation.h b/libjava/org/omg/CORBA/ServiceInformation.h new file mode 100644 index 00000000000..d8832c3d0d6 --- /dev/null +++ b/libjava/org/omg/CORBA/ServiceInformation.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ServiceInformation__ +#define __org_omg_CORBA_ServiceInformation__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ServiceDetail; + class ServiceInformation; + } + } + } +} + +class org::omg::CORBA::ServiceInformation : public ::java::lang::Object +{ + +public: + ServiceInformation(); + ServiceInformation(JArray< jint > *, JArray< ::org::omg::CORBA::ServiceDetail * > *); + JArray< ::org::omg::CORBA::ServiceDetail * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) service_details; + JArray< jint > * service_options; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ServiceInformation__ diff --git a/libjava/org/omg/CORBA/ServiceInformationHelper.h b/libjava/org/omg/CORBA/ServiceInformationHelper.h new file mode 100644 index 00000000000..7e97cfd2423 --- /dev/null +++ b/libjava/org/omg/CORBA/ServiceInformationHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ServiceInformationHelper__ +#define __org_omg_CORBA_ServiceInformationHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ServiceInformation; + class ServiceInformationHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ServiceInformationHelper : public ::java::lang::Object +{ + +public: + ServiceInformationHelper(); + static ::org::omg::CORBA::ServiceInformation * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::ServiceInformation *); + static ::org::omg::CORBA::ServiceInformation * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::ServiceInformation *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ServiceInformationHelper__ diff --git a/libjava/org/omg/CORBA/ServiceInformationHolder.h b/libjava/org/omg/CORBA/ServiceInformationHolder.h new file mode 100644 index 00000000000..d6261deb288 --- /dev/null +++ b/libjava/org/omg/CORBA/ServiceInformationHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ServiceInformationHolder__ +#define __org_omg_CORBA_ServiceInformationHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ServiceInformation; + class ServiceInformationHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ServiceInformationHolder : public ::java::lang::Object +{ + +public: + ServiceInformationHolder(); + ServiceInformationHolder(::org::omg::CORBA::ServiceInformation *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::ServiceInformation * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ServiceInformationHolder__ diff --git a/libjava/org/omg/CORBA/SetOverrideType.h b/libjava/org/omg/CORBA/SetOverrideType.h new file mode 100644 index 00000000000..e0db0f9a754 --- /dev/null +++ b/libjava/org/omg/CORBA/SetOverrideType.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_SetOverrideType__ +#define __org_omg_CORBA_SetOverrideType__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class SetOverrideType; + } + } + } +} + +class org::omg::CORBA::SetOverrideType : public ::java::lang::Object +{ + +public: // actually protected + SetOverrideType(jint); +public: + static ::org::omg::CORBA::SetOverrideType * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = -2761857189425106972LL; +public: + static const jint _ADD_OVERRIDE = 1; + static const jint _SET_OVERRIDE = 0; + static ::org::omg::CORBA::SetOverrideType * ADD_OVERRIDE; + static ::org::omg::CORBA::SetOverrideType * SET_OVERRIDE; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_SetOverrideType__ diff --git a/libjava/org/omg/CORBA/SetOverrideTypeHelper.h b/libjava/org/omg/CORBA/SetOverrideTypeHelper.h new file mode 100644 index 00000000000..e1904491758 --- /dev/null +++ b/libjava/org/omg/CORBA/SetOverrideTypeHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_SetOverrideTypeHelper__ +#define __org_omg_CORBA_SetOverrideTypeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class SetOverrideType; + class SetOverrideTypeHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::SetOverrideTypeHelper : public ::java::lang::Object +{ + +public: + SetOverrideTypeHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::SetOverrideType *); + static ::org::omg::CORBA::SetOverrideType * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::SetOverrideType * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::SetOverrideType *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_SetOverrideTypeHelper__ diff --git a/libjava/org/omg/CORBA/ShortHolder.h b/libjava/org/omg/CORBA/ShortHolder.h new file mode 100644 index 00000000000..2a7a4db4260 --- /dev/null +++ b/libjava/org/omg/CORBA/ShortHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ShortHolder__ +#define __org_omg_CORBA_ShortHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ShortHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ShortHolder : public ::java::lang::Object +{ + +public: + ShortHolder(); + ShortHolder(jshort); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_short; +public: + jshort __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ShortHolder__ diff --git a/libjava/org/omg/CORBA/ShortSeqHelper.h b/libjava/org/omg/CORBA/ShortSeqHelper.h new file mode 100644 index 00000000000..88be02fa0a1 --- /dev/null +++ b/libjava/org/omg/CORBA/ShortSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ShortSeqHelper__ +#define __org_omg_CORBA_ShortSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ShortSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ShortSeqHelper : public ::java::lang::Object +{ + +public: + ShortSeqHelper(); + static JArray< jshort > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jshort > *); + static JArray< jshort > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jshort > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ShortSeqHelper__ diff --git a/libjava/org/omg/CORBA/ShortSeqHolder.h b/libjava/org/omg/CORBA/ShortSeqHolder.h new file mode 100644 index 00000000000..5df6e65ad80 --- /dev/null +++ b/libjava/org/omg/CORBA/ShortSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ShortSeqHolder__ +#define __org_omg_CORBA_ShortSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class ShortSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ShortSeqHolder : public ::java::lang::Object +{ + +public: + ShortSeqHolder(); + ShortSeqHolder(JArray< jshort > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ShortSeqHolder__ diff --git a/libjava/org/omg/CORBA/StringHolder.h b/libjava/org/omg/CORBA/StringHolder.h new file mode 100644 index 00000000000..dd16baf906d --- /dev/null +++ b/libjava/org/omg/CORBA/StringHolder.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_StringHolder__ +#define __org_omg_CORBA_StringHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class StringTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class StringHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::StringHolder : public ::java::lang::Object +{ + +public: + StringHolder(); + StringHolder(::java::lang::String *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::gnu::CORBA::typecodes::StringTypeCode * t_string; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_StringHolder__ diff --git a/libjava/org/omg/CORBA/StringSeqHelper.h b/libjava/org/omg/CORBA/StringSeqHelper.h new file mode 100644 index 00000000000..b248abc4e86 --- /dev/null +++ b/libjava/org/omg/CORBA/StringSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_StringSeqHelper__ +#define __org_omg_CORBA_StringSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class StringSeqHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::StringSeqHelper : public ::java::lang::Object +{ + +public: + StringSeqHelper(); + static JArray< ::java::lang::String * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::java::lang::String * > *); + static JArray< ::java::lang::String * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_StringSeqHelper__ diff --git a/libjava/org/omg/CORBA/StringSeqHolder.h b/libjava/org/omg/CORBA/StringSeqHolder.h new file mode 100644 index 00000000000..fc30bc33063 --- /dev/null +++ b/libjava/org/omg/CORBA/StringSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_StringSeqHolder__ +#define __org_omg_CORBA_StringSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class StringSeqHolder; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::StringSeqHolder : public ::java::lang::Object +{ + +public: + StringSeqHolder(); + StringSeqHolder(JArray< ::java::lang::String * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_StringSeqHolder__ diff --git a/libjava/org/omg/CORBA/StringValueHelper.h b/libjava/org/omg/CORBA/StringValueHelper.h new file mode 100644 index 00000000000..20845caf5b7 --- /dev/null +++ b/libjava/org/omg/CORBA/StringValueHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_StringValueHelper__ +#define __org_omg_CORBA_StringValueHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class StringValueHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::StringValueHelper : public ::java::lang::Object +{ + +public: + StringValueHelper(); + virtual ::java::lang::String * get_id(); + static ::java::lang::String * id(); + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::InputStream *); + virtual void write_value(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); +private: + static ::java::lang::String * id__; + static ::org::omg::CORBA::TypeCode * tString; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_StringValueHelper__ diff --git a/libjava/org/omg/CORBA/StructMember.h b/libjava/org/omg/CORBA/StructMember.h new file mode 100644 index 00000000000..fdd95862b36 --- /dev/null +++ b/libjava/org/omg/CORBA/StructMember.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_StructMember__ +#define __org_omg_CORBA_StructMember__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class IDLType; + class StructMember; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::StructMember : public ::java::lang::Object +{ + +public: + StructMember(); + StructMember(::java::lang::String *, ::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::IDLType *); +private: + static const jlong serialVersionUID = 2762280796480753206LL; +public: + ::org::omg::CORBA::IDLType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type_def; + ::java::lang::String * name; + ::org::omg::CORBA::TypeCode * type; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_StructMember__ diff --git a/libjava/org/omg/CORBA/StructMemberHelper.h b/libjava/org/omg/CORBA/StructMemberHelper.h new file mode 100644 index 00000000000..96417f401bc --- /dev/null +++ b/libjava/org/omg/CORBA/StructMemberHelper.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_StructMemberHelper__ +#define __org_omg_CORBA_StructMemberHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class StructMember; + class StructMemberHelper; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::StructMemberHelper : public ::java::lang::Object +{ + +public: + StructMemberHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::StructMember *); + static ::org::omg::CORBA::StructMember * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::StructMember * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::StructMember *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; + static jboolean active; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_StructMemberHelper__ diff --git a/libjava/org/omg/CORBA/SystemException.h b/libjava/org/omg/CORBA/SystemException.h new file mode 100644 index 00000000000..4c7c43fffdf --- /dev/null +++ b/libjava/org/omg/CORBA/SystemException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_SystemException__ +#define __org_omg_CORBA_SystemException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class SystemException; + } + } + } +} + +class org::omg::CORBA::SystemException : public ::java::lang::RuntimeException +{ + +public: // actually protected + SystemException(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -8486391734674855519LL; +public: + ::org::omg::CORBA::CompletionStatus * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) completed; + jint minor; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_SystemException__ diff --git a/libjava/org/omg/CORBA/TCKind.h b/libjava/org/omg/CORBA/TCKind.h new file mode 100644 index 00000000000..d62ef2ce2c2 --- /dev/null +++ b/libjava/org/omg/CORBA/TCKind.h @@ -0,0 +1,107 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TCKind__ +#define __org_omg_CORBA_TCKind__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TCKind; + } + } + } +} + +class org::omg::CORBA::TCKind : public ::java::lang::Object +{ + +public: // actually protected + TCKind(jint); +public: + virtual jint value(); + static ::org::omg::CORBA::TCKind * from_int(jint); + static const jint _tk_null = 0; + static const jint _tk_void = 1; + static const jint _tk_short = 2; + static const jint _tk_long = 3; + static const jint _tk_ushort = 4; + static const jint _tk_ulong = 5; + static const jint _tk_float = 6; + static const jint _tk_double = 7; + static const jint _tk_boolean = 8; + static const jint _tk_char = 9; + static const jint _tk_octet = 10; + static const jint _tk_any = 11; + static const jint _tk_TypeCode = 12; + static const jint _tk_Principal = 13; + static const jint _tk_objref = 14; + static const jint _tk_struct = 15; + static const jint _tk_union = 16; + static const jint _tk_enum = 17; + static const jint _tk_string = 18; + static const jint _tk_sequence = 19; + static const jint _tk_array = 20; + static const jint _tk_alias = 21; + static const jint _tk_except = 22; + static const jint _tk_longlong = 23; + static const jint _tk_ulonglong = 24; + static const jint _tk_longdouble = 25; + static const jint _tk_wchar = 26; + static const jint _tk_wstring = 27; + static const jint _tk_fixed = 28; + static const jint _tk_value = 29; + static const jint _tk_value_box = 30; + static const jint _tk_native = 31; + static const jint _tk_abstract_interface = 32; + static ::org::omg::CORBA::TCKind * tk_null; + static ::org::omg::CORBA::TCKind * tk_void; + static ::org::omg::CORBA::TCKind * tk_short; + static ::org::omg::CORBA::TCKind * tk_long; + static ::org::omg::CORBA::TCKind * tk_ushort; + static ::org::omg::CORBA::TCKind * tk_ulong; + static ::org::omg::CORBA::TCKind * tk_float; + static ::org::omg::CORBA::TCKind * tk_double; + static ::org::omg::CORBA::TCKind * tk_boolean; + static ::org::omg::CORBA::TCKind * tk_char; + static ::org::omg::CORBA::TCKind * tk_octet; + static ::org::omg::CORBA::TCKind * tk_any; + static ::org::omg::CORBA::TCKind * tk_TypeCode; + static ::org::omg::CORBA::TCKind * tk_Principal; + static ::org::omg::CORBA::TCKind * tk_objref; + static ::org::omg::CORBA::TCKind * tk_struct; + static ::org::omg::CORBA::TCKind * tk_union; + static ::org::omg::CORBA::TCKind * tk_enum; + static ::org::omg::CORBA::TCKind * tk_string; + static ::org::omg::CORBA::TCKind * tk_sequence; + static ::org::omg::CORBA::TCKind * tk_array; + static ::org::omg::CORBA::TCKind * tk_alias; + static ::org::omg::CORBA::TCKind * tk_except; + static ::org::omg::CORBA::TCKind * tk_longlong; + static ::org::omg::CORBA::TCKind * tk_ulonglong; + static ::org::omg::CORBA::TCKind * tk_longdouble; + static ::org::omg::CORBA::TCKind * tk_wchar; + static ::org::omg::CORBA::TCKind * tk_wstring; + static ::org::omg::CORBA::TCKind * tk_fixed; + static ::org::omg::CORBA::TCKind * tk_value; + static ::org::omg::CORBA::TCKind * tk_value_box; + static ::org::omg::CORBA::TCKind * tk_native; + static ::org::omg::CORBA::TCKind * tk_abstract_interface; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; + static JArray< ::org::omg::CORBA::TCKind * > * tk; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TCKind__ diff --git a/libjava/org/omg/CORBA/TIMEOUT.h b/libjava/org/omg/CORBA/TIMEOUT.h new file mode 100644 index 00000000000..7ce1fb5976b --- /dev/null +++ b/libjava/org/omg/CORBA/TIMEOUT.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TIMEOUT__ +#define __org_omg_CORBA_TIMEOUT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class TIMEOUT; + } + } + } +} + +class org::omg::CORBA::TIMEOUT : public ::org::omg::CORBA::SystemException +{ + +public: + TIMEOUT(::java::lang::String *); + TIMEOUT(); + TIMEOUT(jint, ::org::omg::CORBA::CompletionStatus *); + TIMEOUT(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 4674850648191359518LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TIMEOUT__ diff --git a/libjava/org/omg/CORBA/TRANSACTION_MODE.h b/libjava/org/omg/CORBA/TRANSACTION_MODE.h new file mode 100644 index 00000000000..5744d7e4521 --- /dev/null +++ b/libjava/org/omg/CORBA/TRANSACTION_MODE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TRANSACTION_MODE__ +#define __org_omg_CORBA_TRANSACTION_MODE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class TRANSACTION_MODE; + } + } + } +} + +class org::omg::CORBA::TRANSACTION_MODE : public ::org::omg::CORBA::SystemException +{ + +public: + TRANSACTION_MODE(::java::lang::String *); + TRANSACTION_MODE(); + TRANSACTION_MODE(jint, ::org::omg::CORBA::CompletionStatus *); + TRANSACTION_MODE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 681236728492128745LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TRANSACTION_MODE__ diff --git a/libjava/org/omg/CORBA/TRANSACTION_REQUIRED.h b/libjava/org/omg/CORBA/TRANSACTION_REQUIRED.h new file mode 100644 index 00000000000..ccf7cd134d2 --- /dev/null +++ b/libjava/org/omg/CORBA/TRANSACTION_REQUIRED.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TRANSACTION_REQUIRED__ +#define __org_omg_CORBA_TRANSACTION_REQUIRED__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class TRANSACTION_REQUIRED; + } + } + } +} + +class org::omg::CORBA::TRANSACTION_REQUIRED : public ::org::omg::CORBA::SystemException +{ + +public: + TRANSACTION_REQUIRED(::java::lang::String *); + TRANSACTION_REQUIRED(); + TRANSACTION_REQUIRED(jint, ::org::omg::CORBA::CompletionStatus *); + TRANSACTION_REQUIRED(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -1900254548742148576LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TRANSACTION_REQUIRED__ diff --git a/libjava/org/omg/CORBA/TRANSACTION_ROLLEDBACK.h b/libjava/org/omg/CORBA/TRANSACTION_ROLLEDBACK.h new file mode 100644 index 00000000000..722cfe07f75 --- /dev/null +++ b/libjava/org/omg/CORBA/TRANSACTION_ROLLEDBACK.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TRANSACTION_ROLLEDBACK__ +#define __org_omg_CORBA_TRANSACTION_ROLLEDBACK__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class TRANSACTION_ROLLEDBACK; + } + } + } +} + +class org::omg::CORBA::TRANSACTION_ROLLEDBACK : public ::org::omg::CORBA::SystemException +{ + +public: + TRANSACTION_ROLLEDBACK(::java::lang::String *); + TRANSACTION_ROLLEDBACK(); + TRANSACTION_ROLLEDBACK(jint, ::org::omg::CORBA::CompletionStatus *); + TRANSACTION_ROLLEDBACK(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -343903462439281571LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TRANSACTION_ROLLEDBACK__ diff --git a/libjava/org/omg/CORBA/TRANSACTION_UNAVAILABLE.h b/libjava/org/omg/CORBA/TRANSACTION_UNAVAILABLE.h new file mode 100644 index 00000000000..9516c7629bd --- /dev/null +++ b/libjava/org/omg/CORBA/TRANSACTION_UNAVAILABLE.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TRANSACTION_UNAVAILABLE__ +#define __org_omg_CORBA_TRANSACTION_UNAVAILABLE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class TRANSACTION_UNAVAILABLE; + } + } + } +} + +class org::omg::CORBA::TRANSACTION_UNAVAILABLE : public ::org::omg::CORBA::SystemException +{ + +public: + TRANSACTION_UNAVAILABLE(::java::lang::String *); + TRANSACTION_UNAVAILABLE(); + TRANSACTION_UNAVAILABLE(jint, ::org::omg::CORBA::CompletionStatus *); + TRANSACTION_UNAVAILABLE(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 6340246200933309385LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TRANSACTION_UNAVAILABLE__ diff --git a/libjava/org/omg/CORBA/TRANSIENT.h b/libjava/org/omg/CORBA/TRANSIENT.h new file mode 100644 index 00000000000..904b54dcd52 --- /dev/null +++ b/libjava/org/omg/CORBA/TRANSIENT.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TRANSIENT__ +#define __org_omg_CORBA_TRANSIENT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class TRANSIENT; + } + } + } +} + +class org::omg::CORBA::TRANSIENT : public ::org::omg::CORBA::SystemException +{ + +public: + TRANSIENT(::java::lang::String *); + TRANSIENT(); + TRANSIENT(jint, ::org::omg::CORBA::CompletionStatus *); + TRANSIENT(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = 8168539547719791425LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TRANSIENT__ diff --git a/libjava/org/omg/CORBA/TypeCode.h b/libjava/org/omg/CORBA/TypeCode.h new file mode 100644 index 00000000000..706dc288517 --- /dev/null +++ b/libjava/org/omg/CORBA/TypeCode.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TypeCode__ +#define __org_omg_CORBA_TypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TCKind; + class TypeCode; + } + } + } +} + +class org::omg::CORBA::TypeCode : public ::java::lang::Object +{ + +public: + TypeCode(); + virtual ::org::omg::CORBA::TypeCode * concrete_base_type() = 0; + virtual ::org::omg::CORBA::TypeCode * content_type() = 0; + virtual jint default_index() = 0; + virtual ::org::omg::CORBA::TypeCode * discriminator_type() = 0; + virtual jboolean equal(::org::omg::CORBA::TypeCode *) = 0; + virtual jboolean equivalent(::org::omg::CORBA::TypeCode *) = 0; + virtual jshort fixed_digits() = 0; + virtual jshort fixed_scale() = 0; + virtual ::org::omg::CORBA::TypeCode * get_compact_typecode() = 0; + virtual ::java::lang::String * id() = 0; + virtual ::org::omg::CORBA::TCKind * kind() = 0; + virtual jint length() = 0; + virtual jint member_count() = 0; + virtual ::org::omg::CORBA::Any * member_label(jint) = 0; + virtual ::java::lang::String * member_name(jint) = 0; + virtual ::org::omg::CORBA::TypeCode * member_type(jint) = 0; + virtual jshort member_visibility(jint) = 0; + virtual ::java::lang::String * name() = 0; + virtual jshort type_modifier() = 0; +private: + static const jlong serialVersionUID = -6521025782489515676LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TypeCode__ diff --git a/libjava/org/omg/CORBA/TypeCodeHolder.h b/libjava/org/omg/CORBA/TypeCodeHolder.h new file mode 100644 index 00000000000..84dd9c138b4 --- /dev/null +++ b/libjava/org/omg/CORBA/TypeCodeHolder.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TypeCodeHolder__ +#define __org_omg_CORBA_TypeCodeHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class TypeCodeHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::TypeCodeHolder : public ::java::lang::Object +{ + +public: + TypeCodeHolder(); + TypeCodeHolder(::org::omg::CORBA::TypeCode *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); +private: + static ::org::omg::CORBA::TypeCode * t_TypeCode; +public: + ::org::omg::CORBA::TypeCode * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TypeCodeHolder__ diff --git a/libjava/org/omg/CORBA/TypeCodePackage/BadKind.h b/libjava/org/omg/CORBA/TypeCodePackage/BadKind.h new file mode 100644 index 00000000000..475f3d18ae6 --- /dev/null +++ b/libjava/org/omg/CORBA/TypeCodePackage/BadKind.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TypeCodePackage_BadKind__ +#define __org_omg_CORBA_TypeCodePackage_BadKind__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace TypeCodePackage + { + class BadKind; + } + } + } + } +} + +class org::omg::CORBA::TypeCodePackage::BadKind : public ::org::omg::CORBA::UserException +{ + +public: + BadKind(); + BadKind(::java::lang::String *); +private: + static const jlong serialVersionUID = 1030443154456771956LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TypeCodePackage_BadKind__ diff --git a/libjava/org/omg/CORBA/TypeCodePackage/Bounds.h b/libjava/org/omg/CORBA/TypeCodePackage/Bounds.h new file mode 100644 index 00000000000..a91546c3621 --- /dev/null +++ b/libjava/org/omg/CORBA/TypeCodePackage/Bounds.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_TypeCodePackage_Bounds__ +#define __org_omg_CORBA_TypeCodePackage_Bounds__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace TypeCodePackage + { + class Bounds; + } + } + } + } +} + +class org::omg::CORBA::TypeCodePackage::Bounds : public ::org::omg::CORBA::UserException +{ + +public: + Bounds(); + Bounds(::java::lang::String *); +private: + static const jlong serialVersionUID = -5418177951071152101LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_TypeCodePackage_Bounds__ diff --git a/libjava/org/omg/CORBA/ULongLongSeqHelper.h b/libjava/org/omg/CORBA/ULongLongSeqHelper.h new file mode 100644 index 00000000000..2f4f6c9795d --- /dev/null +++ b/libjava/org/omg/CORBA/ULongLongSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ULongLongSeqHelper__ +#define __org_omg_CORBA_ULongLongSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class ULongLongSeqHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ULongLongSeqHelper : public ::java::lang::Object +{ + +public: + ULongLongSeqHelper(); + static JArray< jlong > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jlong > *); + static JArray< jlong > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jlong > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ULongLongSeqHelper__ diff --git a/libjava/org/omg/CORBA/ULongLongSeqHolder.h b/libjava/org/omg/CORBA/ULongLongSeqHolder.h new file mode 100644 index 00000000000..a6b2ca6de17 --- /dev/null +++ b/libjava/org/omg/CORBA/ULongLongSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ULongLongSeqHolder__ +#define __org_omg_CORBA_ULongLongSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class ULongLongSeqHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ULongLongSeqHolder : public ::java::lang::Object +{ + +public: + ULongLongSeqHolder(); + ULongLongSeqHolder(JArray< jlong > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jlong > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ULongLongSeqHolder__ diff --git a/libjava/org/omg/CORBA/ULongSeqHelper.h b/libjava/org/omg/CORBA/ULongSeqHelper.h new file mode 100644 index 00000000000..1877dda15f7 --- /dev/null +++ b/libjava/org/omg/CORBA/ULongSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ULongSeqHelper__ +#define __org_omg_CORBA_ULongSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class ULongSeqHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ULongSeqHelper : public ::java::lang::Object +{ + +public: + ULongSeqHelper(); + static JArray< jint > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jint > *); + static JArray< jint > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jint > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ULongSeqHelper__ diff --git a/libjava/org/omg/CORBA/ULongSeqHolder.h b/libjava/org/omg/CORBA/ULongSeqHolder.h new file mode 100644 index 00000000000..d4261d6fef8 --- /dev/null +++ b/libjava/org/omg/CORBA/ULongSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ULongSeqHolder__ +#define __org_omg_CORBA_ULongSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class ULongSeqHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ULongSeqHolder : public ::java::lang::Object +{ + +public: + ULongSeqHolder(); + ULongSeqHolder(JArray< jint > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ULongSeqHolder__ diff --git a/libjava/org/omg/CORBA/UNKNOWN.h b/libjava/org/omg/CORBA/UNKNOWN.h new file mode 100644 index 00000000000..4ad7faf48a0 --- /dev/null +++ b/libjava/org/omg/CORBA/UNKNOWN.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UNKNOWN__ +#define __org_omg_CORBA_UNKNOWN__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class CompletionStatus; + class UNKNOWN; + } + } + } +} + +class org::omg::CORBA::UNKNOWN : public ::org::omg::CORBA::SystemException +{ + +public: + UNKNOWN(::java::lang::String *); + UNKNOWN(); + UNKNOWN(jint, ::org::omg::CORBA::CompletionStatus *); + UNKNOWN(::java::lang::String *, jint, ::org::omg::CORBA::CompletionStatus *); +private: + static const jlong serialVersionUID = -3556426185741898205LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UNKNOWN__ diff --git a/libjava/org/omg/CORBA/UNSUPPORTED_POLICY.h b/libjava/org/omg/CORBA/UNSUPPORTED_POLICY.h new file mode 100644 index 00000000000..cf74a837420 --- /dev/null +++ b/libjava/org/omg/CORBA/UNSUPPORTED_POLICY.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UNSUPPORTED_POLICY__ +#define __org_omg_CORBA_UNSUPPORTED_POLICY__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class UNSUPPORTED_POLICY; + } + } + } +} + +class org::omg::CORBA::UNSUPPORTED_POLICY : public ::java::lang::Object +{ + +public: + static const jshort value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_UNSUPPORTED_POLICY__ diff --git a/libjava/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.h b/libjava/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.h new file mode 100644 index 00000000000..a10a8ba8985 --- /dev/null +++ b/libjava/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UNSUPPORTED_POLICY_VALUE__ +#define __org_omg_CORBA_UNSUPPORTED_POLICY_VALUE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class UNSUPPORTED_POLICY_VALUE; + } + } + } +} + +class org::omg::CORBA::UNSUPPORTED_POLICY_VALUE : public ::java::lang::Object +{ + +public: + static const jshort value = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_UNSUPPORTED_POLICY_VALUE__ diff --git a/libjava/org/omg/CORBA/UShortSeqHelper.h b/libjava/org/omg/CORBA/UShortSeqHelper.h new file mode 100644 index 00000000000..77974befb39 --- /dev/null +++ b/libjava/org/omg/CORBA/UShortSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UShortSeqHelper__ +#define __org_omg_CORBA_UShortSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class UShortSeqHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::UShortSeqHelper : public ::java::lang::Object +{ + +public: + UShortSeqHelper(); + static JArray< jshort > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jshort > *); + static JArray< jshort > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jshort > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UShortSeqHelper__ diff --git a/libjava/org/omg/CORBA/UShortSeqHolder.h b/libjava/org/omg/CORBA/UShortSeqHolder.h new file mode 100644 index 00000000000..08afb5e7f3a --- /dev/null +++ b/libjava/org/omg/CORBA/UShortSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UShortSeqHolder__ +#define __org_omg_CORBA_UShortSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class UShortSeqHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::UShortSeqHolder : public ::java::lang::Object +{ + +public: + UShortSeqHolder(); + UShortSeqHolder(JArray< jshort > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UShortSeqHolder__ diff --git a/libjava/org/omg/CORBA/UnionMember.h b/libjava/org/omg/CORBA/UnionMember.h new file mode 100644 index 00000000000..e71806c9a88 --- /dev/null +++ b/libjava/org/omg/CORBA/UnionMember.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UnionMember__ +#define __org_omg_CORBA_UnionMember__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class IDLType; + class TypeCode; + class UnionMember; + } + } + } +} + +class org::omg::CORBA::UnionMember : public ::java::lang::Object +{ + +public: + UnionMember(); + UnionMember(::java::lang::String *, ::org::omg::CORBA::Any *, ::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::IDLType *); +private: + static const jlong serialVersionUID = 5506049694216071974LL; +public: + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::java::lang::Object)))) label; + ::org::omg::CORBA::IDLType * type_def; + ::java::lang::String * name; + ::org::omg::CORBA::TypeCode * type; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UnionMember__ diff --git a/libjava/org/omg/CORBA/UnionMemberHelper.h b/libjava/org/omg/CORBA/UnionMemberHelper.h new file mode 100644 index 00000000000..1c1e663a07a --- /dev/null +++ b/libjava/org/omg/CORBA/UnionMemberHelper.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UnionMemberHelper__ +#define __org_omg_CORBA_UnionMemberHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class UnionMember; + class UnionMemberHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::UnionMemberHelper : public ::java::lang::Object +{ + +public: + UnionMemberHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::UnionMember *); + static ::org::omg::CORBA::UnionMember * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::UnionMember * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::UnionMember *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; + static jboolean active; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UnionMemberHelper__ diff --git a/libjava/org/omg/CORBA/UnknownUserException.h b/libjava/org/omg/CORBA/UnknownUserException.h new file mode 100644 index 00000000000..05713851d76 --- /dev/null +++ b/libjava/org/omg/CORBA/UnknownUserException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UnknownUserException__ +#define __org_omg_CORBA_UnknownUserException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class UnknownUserException; + } + } + } +} + +class org::omg::CORBA::UnknownUserException : public ::org::omg::CORBA::UserException +{ + +public: + UnknownUserException(); + UnknownUserException(::org::omg::CORBA::Any *); + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) except; +private: + static const jlong serialVersionUID = 3106202258203879281LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UnknownUserException__ diff --git a/libjava/org/omg/CORBA/UnknownUserExceptionHelper.h b/libjava/org/omg/CORBA/UnknownUserExceptionHelper.h new file mode 100644 index 00000000000..f0f99543c59 --- /dev/null +++ b/libjava/org/omg/CORBA/UnknownUserExceptionHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UnknownUserExceptionHelper__ +#define __org_omg_CORBA_UnknownUserExceptionHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class UnknownUserException; + class UnknownUserExceptionHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::UnknownUserExceptionHelper : public ::java::lang::Object +{ + +public: + UnknownUserExceptionHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::UnknownUserException *); + static ::org::omg::CORBA::UnknownUserException * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::CORBA::UnknownUserException * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::UnknownUserException *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UnknownUserExceptionHelper__ diff --git a/libjava/org/omg/CORBA/UnknownUserExceptionHolder.h b/libjava/org/omg/CORBA/UnknownUserExceptionHolder.h new file mode 100644 index 00000000000..431ddb2549a --- /dev/null +++ b/libjava/org/omg/CORBA/UnknownUserExceptionHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UnknownUserExceptionHolder__ +#define __org_omg_CORBA_UnknownUserExceptionHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class UnknownUserException; + class UnknownUserExceptionHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::UnknownUserExceptionHolder : public ::java::lang::Object +{ + +public: + UnknownUserExceptionHolder(); + UnknownUserExceptionHolder(::org::omg::CORBA::UnknownUserException *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::CORBA::UnknownUserException * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UnknownUserExceptionHolder__ diff --git a/libjava/org/omg/CORBA/UserException.h b/libjava/org/omg/CORBA/UserException.h new file mode 100644 index 00000000000..5569783b8a5 --- /dev/null +++ b/libjava/org/omg/CORBA/UserException.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_UserException__ +#define __org_omg_CORBA_UserException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class UserException; + } + } + } +} + +class org::omg::CORBA::UserException : public ::java::lang::Exception +{ + +public: // actually protected + UserException(); + UserException(::java::lang::String *); +private: + static const jlong serialVersionUID = -6594940734566091244LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_UserException__ diff --git a/libjava/org/omg/CORBA/VM_ABSTRACT.h b/libjava/org/omg/CORBA/VM_ABSTRACT.h new file mode 100644 index 00000000000..efc9b7a7d97 --- /dev/null +++ b/libjava/org/omg/CORBA/VM_ABSTRACT.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_VM_ABSTRACT__ +#define __org_omg_CORBA_VM_ABSTRACT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class VM_ABSTRACT; + } + } + } +} + +class org::omg::CORBA::VM_ABSTRACT : public ::java::lang::Object +{ + +public: + static const jshort value = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_VM_ABSTRACT__ diff --git a/libjava/org/omg/CORBA/VM_CUSTOM.h b/libjava/org/omg/CORBA/VM_CUSTOM.h new file mode 100644 index 00000000000..2bb7c670bac --- /dev/null +++ b/libjava/org/omg/CORBA/VM_CUSTOM.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_VM_CUSTOM__ +#define __org_omg_CORBA_VM_CUSTOM__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class VM_CUSTOM; + } + } + } +} + +class org::omg::CORBA::VM_CUSTOM : public ::java::lang::Object +{ + +public: + static const jshort value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_VM_CUSTOM__ diff --git a/libjava/org/omg/CORBA/VM_NONE.h b/libjava/org/omg/CORBA/VM_NONE.h new file mode 100644 index 00000000000..69882f7d790 --- /dev/null +++ b/libjava/org/omg/CORBA/VM_NONE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_VM_NONE__ +#define __org_omg_CORBA_VM_NONE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class VM_NONE; + } + } + } +} + +class org::omg::CORBA::VM_NONE : public ::java::lang::Object +{ + +public: + static const jshort value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_VM_NONE__ diff --git a/libjava/org/omg/CORBA/VM_TRUNCATABLE.h b/libjava/org/omg/CORBA/VM_TRUNCATABLE.h new file mode 100644 index 00000000000..ded12b83945 --- /dev/null +++ b/libjava/org/omg/CORBA/VM_TRUNCATABLE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_VM_TRUNCATABLE__ +#define __org_omg_CORBA_VM_TRUNCATABLE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class VM_TRUNCATABLE; + } + } + } +} + +class org::omg::CORBA::VM_TRUNCATABLE : public ::java::lang::Object +{ + +public: + static const jshort value = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_VM_TRUNCATABLE__ diff --git a/libjava/org/omg/CORBA/ValueBaseHelper.h b/libjava/org/omg/CORBA/ValueBaseHelper.h new file mode 100644 index 00000000000..b2fc750f889 --- /dev/null +++ b/libjava/org/omg/CORBA/ValueBaseHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ValueBaseHelper__ +#define __org_omg_CORBA_ValueBaseHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class ValueBaseHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ValueBaseHelper : public ::java::lang::Object +{ + +public: + ValueBaseHelper(); + static ::java::io::Serializable * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::java::io::Serializable *); + static ::java::io::Serializable * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ValueBaseHelper__ diff --git a/libjava/org/omg/CORBA/ValueBaseHolder.h b/libjava/org/omg/CORBA/ValueBaseHolder.h new file mode 100644 index 00000000000..98d0ef98506 --- /dev/null +++ b/libjava/org/omg/CORBA/ValueBaseHolder.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ValueBaseHolder__ +#define __org_omg_CORBA_ValueBaseHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class ValueBaseHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ValueBaseHolder : public ::java::lang::Object +{ + +public: + ValueBaseHolder(); + ValueBaseHolder(::java::io::Serializable *); + virtual void _read(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::TypeCode * _type(); + virtual void _write(::org::omg::CORBA::portable::OutputStream *); + ::java::io::Serializable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ValueBaseHolder__ diff --git a/libjava/org/omg/CORBA/ValueMember.h b/libjava/org/omg/CORBA/ValueMember.h new file mode 100644 index 00000000000..c9f38ba381d --- /dev/null +++ b/libjava/org/omg/CORBA/ValueMember.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ValueMember__ +#define __org_omg_CORBA_ValueMember__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class IDLType; + class TypeCode; + class ValueMember; + } + } + } +} + +class org::omg::CORBA::ValueMember : public ::java::lang::Object +{ + +public: + ValueMember(); + ValueMember(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::omg::CORBA::TypeCode *, ::org::omg::CORBA::IDLType *, jshort); +private: + static const jlong serialVersionUID = -2507594168537449114LL; +public: + ::org::omg::CORBA::IDLType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type_def; + ::java::lang::String * defined_in; + ::java::lang::String * id; + ::java::lang::String * name; + ::java::lang::String * version; + ::org::omg::CORBA::TypeCode * type; + jshort access; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ValueMember__ diff --git a/libjava/org/omg/CORBA/ValueMemberHelper.h b/libjava/org/omg/CORBA/ValueMemberHelper.h new file mode 100644 index 00000000000..78a33f872f2 --- /dev/null +++ b/libjava/org/omg/CORBA/ValueMemberHelper.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_ValueMemberHelper__ +#define __org_omg_CORBA_ValueMemberHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class ValueMember; + class ValueMemberHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::ValueMemberHelper : public ::java::lang::Object +{ + +public: + ValueMemberHelper(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::ValueMember *); + static ::org::omg::CORBA::ValueMember * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::org::omg::CORBA::ValueMember * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::ValueMember *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; + static jboolean active; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_ValueMemberHelper__ diff --git a/libjava/org/omg/CORBA/VersionSpecHelper.h b/libjava/org/omg/CORBA/VersionSpecHelper.h new file mode 100644 index 00000000000..a537e9b2ecf --- /dev/null +++ b/libjava/org/omg/CORBA/VersionSpecHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_VersionSpecHelper__ +#define __org_omg_CORBA_VersionSpecHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class VersionSpecHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::VersionSpecHelper : public ::java::lang::Object +{ + +public: + VersionSpecHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_VersionSpecHelper__ diff --git a/libjava/org/omg/CORBA/VisibilityHelper.h b/libjava/org/omg/CORBA/VisibilityHelper.h new file mode 100644 index 00000000000..c090bfa9892 --- /dev/null +++ b/libjava/org/omg/CORBA/VisibilityHelper.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_VisibilityHelper__ +#define __org_omg_CORBA_VisibilityHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class VisibilityHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::VisibilityHelper : public ::java::lang::Object +{ + +public: + VisibilityHelper(); + static void insert(::org::omg::CORBA::Any *, jshort); + static jshort extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static jshort read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jshort); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_VisibilityHelper__ diff --git a/libjava/org/omg/CORBA/WCharSeqHelper.h b/libjava/org/omg/CORBA/WCharSeqHelper.h new file mode 100644 index 00000000000..dadd61cafc9 --- /dev/null +++ b/libjava/org/omg/CORBA/WCharSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WCharSeqHelper__ +#define __org_omg_CORBA_WCharSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class WCharSeqHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WCharSeqHelper : public ::java::lang::Object +{ + +public: + WCharSeqHelper(); + static JArray< jchar > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< jchar > *); + static JArray< jchar > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jchar > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WCharSeqHelper__ diff --git a/libjava/org/omg/CORBA/WCharSeqHolder.h b/libjava/org/omg/CORBA/WCharSeqHolder.h new file mode 100644 index 00000000000..4c15eb8173a --- /dev/null +++ b/libjava/org/omg/CORBA/WCharSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WCharSeqHolder__ +#define __org_omg_CORBA_WCharSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class WCharSeqHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WCharSeqHolder : public ::java::lang::Object +{ + +public: + WCharSeqHolder(); + WCharSeqHolder(JArray< jchar > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< jchar > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WCharSeqHolder__ diff --git a/libjava/org/omg/CORBA/WStringSeqHelper.h b/libjava/org/omg/CORBA/WStringSeqHelper.h new file mode 100644 index 00000000000..bdbd286065c --- /dev/null +++ b/libjava/org/omg/CORBA/WStringSeqHelper.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WStringSeqHelper__ +#define __org_omg_CORBA_WStringSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class WStringSeqHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WStringSeqHelper : public ::java::lang::Object +{ + +public: + WStringSeqHelper(); + static JArray< ::java::lang::String * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::java::lang::String * > *); + static JArray< ::java::lang::String * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WStringSeqHelper__ diff --git a/libjava/org/omg/CORBA/WStringSeqHolder.h b/libjava/org/omg/CORBA/WStringSeqHolder.h new file mode 100644 index 00000000000..eff79afac80 --- /dev/null +++ b/libjava/org/omg/CORBA/WStringSeqHolder.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WStringSeqHolder__ +#define __org_omg_CORBA_WStringSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace typecodes + { + class ArrayTypeCode; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class WStringSeqHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WStringSeqHolder : public ::java::lang::Object +{ + +public: + WStringSeqHolder(); + WStringSeqHolder(JArray< ::java::lang::String * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; +private: + ::gnu::CORBA::typecodes::ArrayTypeCode * typecode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WStringSeqHolder__ diff --git a/libjava/org/omg/CORBA/WStringValueHelper.h b/libjava/org/omg/CORBA/WStringValueHelper.h new file mode 100644 index 00000000000..53a55b5ea8d --- /dev/null +++ b/libjava/org/omg/CORBA/WStringValueHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WStringValueHelper__ +#define __org_omg_CORBA_WStringValueHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class WStringValueHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WStringValueHelper : public ::java::lang::Object +{ + +public: + WStringValueHelper(); + virtual ::java::lang::String * get_id(); + static ::java::lang::String * id(); + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::InputStream *); + virtual void write_value(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); +private: + static ::java::lang::String * id__; + static ::org::omg::CORBA::TypeCode * twString; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WStringValueHelper__ diff --git a/libjava/org/omg/CORBA/WrongTransaction.h b/libjava/org/omg/CORBA/WrongTransaction.h new file mode 100644 index 00000000000..3ff439ebe69 --- /dev/null +++ b/libjava/org/omg/CORBA/WrongTransaction.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WrongTransaction__ +#define __org_omg_CORBA_WrongTransaction__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class WrongTransaction; + } + } + } +} + +class org::omg::CORBA::WrongTransaction : public ::org::omg::CORBA::UserException +{ + +public: + WrongTransaction(); + WrongTransaction(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WrongTransaction__ diff --git a/libjava/org/omg/CORBA/WrongTransactionHelper.h b/libjava/org/omg/CORBA/WrongTransactionHelper.h new file mode 100644 index 00000000000..8686fbbe68d --- /dev/null +++ b/libjava/org/omg/CORBA/WrongTransactionHelper.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WrongTransactionHelper__ +#define __org_omg_CORBA_WrongTransactionHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + class WrongTransaction; + class WrongTransactionHelper; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WrongTransactionHelper : public ::java::lang::Object +{ + +public: + WrongTransactionHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CORBA::WrongTransaction *); + static ::org::omg::CORBA::WrongTransaction * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::CORBA::WrongTransaction * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CORBA::WrongTransaction *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WrongTransactionHelper__ diff --git a/libjava/org/omg/CORBA/WrongTransactionHolder.h b/libjava/org/omg/CORBA/WrongTransactionHolder.h new file mode 100644 index 00000000000..b9455e81c19 --- /dev/null +++ b/libjava/org/omg/CORBA/WrongTransactionHolder.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_WrongTransactionHolder__ +#define __org_omg_CORBA_WrongTransactionHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + class WrongTransaction; + class WrongTransactionHolder; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::WrongTransactionHolder : public ::java::lang::Object +{ + +public: + WrongTransactionHolder(); + WrongTransactionHolder(::org::omg::CORBA::WrongTransaction *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::CORBA::WrongTransaction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_WrongTransactionHolder__ diff --git a/libjava/org/omg/CORBA/_IDLTypeStub.h b/libjava/org/omg/CORBA/_IDLTypeStub.h new file mode 100644 index 00000000000..2ab780e3b37 --- /dev/null +++ b/libjava/org/omg/CORBA/_IDLTypeStub.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA__IDLTypeStub__ +#define __org_omg_CORBA__IDLTypeStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DefinitionKind; + class TypeCode; + class _IDLTypeStub; + namespace portable + { + class Delegate; + } + } + } + } +} + +class org::omg::CORBA::_IDLTypeStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _IDLTypeStub(); + _IDLTypeStub(::org::omg::CORBA::portable::Delegate *); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual ::org::omg::CORBA::DefinitionKind * def_kind(); + virtual void destroy(); + virtual JArray< ::java::lang::String * > * _ids(); +private: + static const jlong serialVersionUID = 9150293942452453626LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA__IDLTypeStub__ diff --git a/libjava/org/omg/CORBA/_PolicyStub.h b/libjava/org/omg/CORBA/_PolicyStub.h new file mode 100644 index 00000000000..c7c79e9ab7e --- /dev/null +++ b/libjava/org/omg/CORBA/_PolicyStub.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA__PolicyStub__ +#define __org_omg_CORBA__PolicyStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + class _PolicyStub; + namespace portable + { + class Delegate; + } + } + } + } +} + +class org::omg::CORBA::_PolicyStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _PolicyStub(); + _PolicyStub(::org::omg::CORBA::portable::Delegate *); + virtual JArray< ::java::lang::String * > * _ids(); + virtual void destroy(); + virtual ::org::omg::CORBA::Policy * copy(); + virtual jint policy_type(); +private: + static const jlong serialVersionUID = 2453656196708903849LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA__PolicyStub__ diff --git a/libjava/org/omg/CORBA/portable/ApplicationException.h b/libjava/org/omg/CORBA/portable/ApplicationException.h new file mode 100644 index 00000000000..e7dad897637 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/ApplicationException.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_ApplicationException__ +#define __org_omg_CORBA_portable_ApplicationException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class ApplicationException; + class InputStream; + } + } + } + } +} + +class org::omg::CORBA::portable::ApplicationException : public ::java::lang::Exception +{ + +public: + ApplicationException(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *); + virtual ::java::lang::String * getId(); + virtual ::org::omg::CORBA::portable::InputStream * getInputStream(); +private: + static const jlong serialVersionUID = -2088103024111528125LL; + ::org::omg::CORBA::portable::InputStream * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) m_input; + ::java::lang::String * m_id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_ApplicationException__ diff --git a/libjava/org/omg/CORBA/portable/BoxedValueHelper.h b/libjava/org/omg/CORBA/portable/BoxedValueHelper.h new file mode 100644 index 00000000000..958ad2161af --- /dev/null +++ b/libjava/org/omg/CORBA/portable/BoxedValueHelper.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_BoxedValueHelper__ +#define __org_omg_CORBA_portable_BoxedValueHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class BoxedValueHelper; + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::portable::BoxedValueHelper : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * get_id() = 0; + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::InputStream *) = 0; + virtual void write_value(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_BoxedValueHelper__ diff --git a/libjava/org/omg/CORBA/portable/CustomValue.h b/libjava/org/omg/CORBA/portable/CustomValue.h new file mode 100644 index 00000000000..051e5462d84 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/CustomValue.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_CustomValue__ +#define __org_omg_CORBA_portable_CustomValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class DataInputStream; + class DataOutputStream; + namespace portable + { + class CustomValue; + } + } + } + } +} + +class org::omg::CORBA::portable::CustomValue : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + virtual void marshal(::org::omg::CORBA::DataOutputStream *) = 0; + virtual void unmarshal(::org::omg::CORBA::DataInputStream *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_CustomValue__ diff --git a/libjava/org/omg/CORBA/portable/Delegate.h b/libjava/org/omg/CORBA/portable/Delegate.h new file mode 100644 index 00000000000..233160f9879 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/Delegate.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_Delegate__ +#define __org_omg_CORBA_portable_Delegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Policy; + class Request; + class SetOverrideType; + namespace portable + { + class Delegate; + class InputStream; + class OutputStream; + class ServantObject; + } + } + } + } +} + +class org::omg::CORBA::portable::Delegate : public ::java::lang::Object +{ + +public: + Delegate(); + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * create_request(::org::omg::CORBA::Object *, ::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * duplicate(::org::omg::CORBA::Object *) = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * get_domain_managers(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::Object * get_interface_def(::org::omg::CORBA::Object *) = 0; + virtual ::org::omg::CORBA::Policy * get_policy(::org::omg::CORBA::Object *, jint); + virtual jint hash(::org::omg::CORBA::Object *, jint) = 0; + virtual jboolean is_a(::org::omg::CORBA::Object *, ::java::lang::String *) = 0; + virtual jboolean is_equivalent(::org::omg::CORBA::Object *, ::org::omg::CORBA::Object *) = 0; + virtual jboolean is_local(::org::omg::CORBA::Object *); + virtual jboolean non_existent(::org::omg::CORBA::Object *) = 0; + virtual jboolean equals(::org::omg::CORBA::Object *, ::java::lang::Object *); + virtual jint hashCode(::org::omg::CORBA::Object *); + virtual ::org::omg::CORBA::portable::InputStream * invoke(::org::omg::CORBA::Object *, ::org::omg::CORBA::portable::OutputStream *); + virtual ::org::omg::CORBA::ORB * orb(::org::omg::CORBA::Object *); + virtual void release(::org::omg::CORBA::Object *) = 0; + virtual void releaseReply(::org::omg::CORBA::Object *, ::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::Request * request(::org::omg::CORBA::Object *, ::java::lang::String *) = 0; + virtual ::org::omg::CORBA::portable::OutputStream * request(::org::omg::CORBA::Object *, ::java::lang::String *, jboolean); + virtual void servant_postinvoke(::org::omg::CORBA::Object *, ::org::omg::CORBA::portable::ServantObject *); + virtual ::org::omg::CORBA::portable::ServantObject * servant_preinvoke(::org::omg::CORBA::Object *, ::java::lang::String *, ::java::lang::Class *); + virtual ::org::omg::CORBA::Object * set_policy_override(::org::omg::CORBA::Object *, JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *); + virtual ::java::lang::String * toString(::org::omg::CORBA::Object *); +private: + static ::java::lang::String * WHY; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_Delegate__ diff --git a/libjava/org/omg/CORBA/portable/IDLEntity.h b/libjava/org/omg/CORBA/portable/IDLEntity.h new file mode 100644 index 00000000000..2688c48ba2f --- /dev/null +++ b/libjava/org/omg/CORBA/portable/IDLEntity.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_IDLEntity__ +#define __org_omg_CORBA_portable_IDLEntity__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class IDLEntity; + } + } + } + } +} + +class org::omg::CORBA::portable::IDLEntity : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_IDLEntity__ diff --git a/libjava/org/omg/CORBA/portable/IndirectionException.h b/libjava/org/omg/CORBA/portable/IndirectionException.h new file mode 100644 index 00000000000..00da4529dc7 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/IndirectionException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_IndirectionException__ +#define __org_omg_CORBA_portable_IndirectionException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class IndirectionException; + } + } + } + } +} + +class org::omg::CORBA::portable::IndirectionException : public ::org::omg::CORBA::SystemException +{ + +public: + IndirectionException(jint); +private: + static const jlong serialVersionUID = -1923858944380721643LL; +public: + jint __attribute__((aligned(__alignof__( ::org::omg::CORBA::SystemException)))) offset; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_IndirectionException__ diff --git a/libjava/org/omg/CORBA/portable/InputStream.h b/libjava/org/omg/CORBA/portable/InputStream.h new file mode 100644 index 00000000000..f60f539ee25 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/InputStream.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_InputStream__ +#define __org_omg_CORBA_portable_InputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ORB; + class Object; + class Principal; + class TypeCode; + namespace portable + { + class InputStream; + } + } + } + } +} + +class org::omg::CORBA::portable::InputStream : public ::java::io::InputStream +{ + +public: + InputStream(); + virtual ::org::omg::CORBA::ORB * orb(); + virtual ::org::omg::CORBA::Context * read_Context(); + virtual ::org::omg::CORBA::Object * read_Object() = 0; + virtual jchar read_char() = 0; + virtual jdouble read_double() = 0; + virtual jfloat read_float() = 0; + virtual void read_float_array(JArray< jfloat > *, jint, jint) = 0; + virtual jint read_long() = 0; + virtual jlong read_longlong() = 0; + virtual void read_longlong_array(JArray< jlong > *, jint, jint) = 0; + virtual jbyte read_octet() = 0; + virtual void read_octet_array(JArray< jbyte > *, jint, jint) = 0; + virtual jshort read_short() = 0; + virtual void read_short_array(JArray< jshort > *, jint, jint) = 0; + virtual jint read_ulong() = 0; + virtual void read_ulong_array(JArray< jint > *, jint, jint) = 0; + virtual jint read(); + virtual ::org::omg::CORBA::TypeCode * read_TypeCode() = 0; + virtual jboolean read_boolean() = 0; + virtual void read_boolean_array(JArray< jboolean > *, jint, jint) = 0; + virtual void read_char_array(JArray< jchar > *, jint, jint) = 0; + virtual void read_double_array(JArray< jdouble > *, jint, jint) = 0; + virtual void read_long_array(JArray< jint > *, jint, jint) = 0; + virtual ::java::lang::String * read_string() = 0; + virtual jlong read_ulonglong() = 0; + virtual void read_ulonglong_array(JArray< jlong > *, jint, jint) = 0; + virtual jshort read_ushort() = 0; + virtual void read_ushort_array(JArray< jshort > *, jint, jint) = 0; + virtual ::org::omg::CORBA::Object * read_Object(::java::lang::Class *); + virtual ::org::omg::CORBA::Any * read_any() = 0; + virtual ::java::math::BigDecimal * read_fixed(); + virtual jchar read_wchar() = 0; + virtual void read_wchar_array(JArray< jchar > *, jint, jint) = 0; + virtual ::java::lang::String * read_wstring() = 0; + virtual ::org::omg::CORBA::Principal * read_Principal(); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_InputStream__ diff --git a/libjava/org/omg/CORBA/portable/InvokeHandler.h b/libjava/org/omg/CORBA/portable/InvokeHandler.h new file mode 100644 index 00000000000..0b6cbf2139b --- /dev/null +++ b/libjava/org/omg/CORBA/portable/InvokeHandler.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_InvokeHandler__ +#define __org_omg_CORBA_portable_InvokeHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class InputStream; + class InvokeHandler; + class OutputStream; + class ResponseHandler; + } + } + } + } +} + +class org::omg::CORBA::portable::InvokeHandler : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_InvokeHandler__ diff --git a/libjava/org/omg/CORBA/portable/ObjectImpl.h b/libjava/org/omg/CORBA/portable/ObjectImpl.h new file mode 100644 index 00000000000..c0e9e6ed301 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/ObjectImpl.h @@ -0,0 +1,80 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_ObjectImpl__ +#define __org_omg_CORBA_portable_ObjectImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class ORB; + class Object; + class Policy; + class Request; + class SetOverrideType; + namespace portable + { + class Delegate; + class InputStream; + class ObjectImpl; + class OutputStream; + class ServantObject; + } + } + } + } +} + +class org::omg::CORBA::portable::ObjectImpl : public ::java::lang::Object +{ + +public: + ObjectImpl(); + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *); + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *); + virtual ::org::omg::CORBA::Object * _duplicate(); + virtual ::org::omg::CORBA::portable::Delegate * _get_delegate(); + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers(); + virtual ::org::omg::CORBA::Object * _get_interface_def(); + virtual ::org::omg::CORBA::Policy * _get_policy(jint); + virtual JArray< ::java::lang::String * > * _ids() = 0; + virtual jint _hash(jint); + virtual ::org::omg::CORBA::portable::InputStream * _invoke(::org::omg::CORBA::portable::OutputStream *); + virtual jboolean _is_a(::java::lang::String *); + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *); + virtual jboolean _is_local(); + virtual jboolean _non_existent(); + virtual ::org::omg::CORBA::ORB * _orb(); + virtual void _release(); + virtual void _releaseReply(::org::omg::CORBA::portable::InputStream *); + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *); + virtual ::org::omg::CORBA::portable::OutputStream * _request(::java::lang::String *, jboolean); + virtual void _servant_postinvoke(::org::omg::CORBA::portable::ServantObject *); + virtual ::org::omg::CORBA::portable::ServantObject * _servant_preinvoke(::java::lang::String *, ::java::lang::Class *); + virtual void _set_delegate(::org::omg::CORBA::portable::Delegate *); + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *); + virtual jboolean equals(::java::lang::Object *); + virtual ::java::lang::String * toString(); +public: // actually package-private + ::org::omg::CORBA::portable::Delegate * __attribute__((aligned(__alignof__( ::java::lang::Object)))) delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_ObjectImpl__ diff --git a/libjava/org/omg/CORBA/portable/OutputStream.h b/libjava/org/omg/CORBA/portable/OutputStream.h new file mode 100644 index 00000000000..d1e22c646c4 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/OutputStream.h @@ -0,0 +1,87 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_OutputStream__ +#define __org_omg_CORBA_portable_OutputStream__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace java + { + namespace math + { + class BigDecimal; + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class ORB; + class Object; + class Principal; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA::portable::OutputStream : public ::java::io::OutputStream +{ + +public: + OutputStream(); + virtual ::org::omg::CORBA::portable::InputStream * create_input_stream() = 0; + virtual ::org::omg::CORBA::ORB * orb(); + virtual void write(jint); + virtual void write_Context(::org::omg::CORBA::Context *, ::org::omg::CORBA::ContextList *); + virtual void write_Object(::org::omg::CORBA::Object *) = 0; + virtual void write_Principal(::org::omg::CORBA::Principal *); + virtual void write_TypeCode(::org::omg::CORBA::TypeCode *) = 0; + virtual void write_any(::org::omg::CORBA::Any *) = 0; + virtual void write_boolean(jboolean) = 0; + virtual void write_boolean_array(JArray< jboolean > *, jint, jint) = 0; + virtual void write_char(jchar) = 0; + virtual void write_char_array(JArray< jchar > *, jint, jint) = 0; + virtual void write_double(jdouble) = 0; + virtual void write_double_array(JArray< jdouble > *, jint, jint) = 0; + virtual void write_fixed(::java::math::BigDecimal *); + virtual void write_float(jfloat) = 0; + virtual void write_float_array(JArray< jfloat > *, jint, jint) = 0; + virtual void write_long(jint) = 0; + virtual void write_long_array(JArray< jint > *, jint, jint) = 0; + virtual void write_longlong(jlong) = 0; + virtual void write_longlong_array(JArray< jlong > *, jint, jint) = 0; + virtual void write_octet(jbyte) = 0; + virtual void write_octet_array(JArray< jbyte > *, jint, jint) = 0; + virtual void write_short(jshort) = 0; + virtual void write_short_array(JArray< jshort > *, jint, jint) = 0; + virtual void write_string(::java::lang::String *) = 0; + virtual void write_ulong(jint) = 0; + virtual void write_ulong_array(JArray< jint > *, jint, jint) = 0; + virtual void write_ulonglong(jlong) = 0; + virtual void write_ulonglong_array(JArray< jlong > *, jint, jint) = 0; + virtual void write_ushort(jshort) = 0; + virtual void write_ushort_array(JArray< jshort > *, jint, jint) = 0; + virtual void write_wchar(jchar) = 0; + virtual void write_wchar_array(JArray< jchar > *, jint, jint) = 0; + virtual void write_wstring(::java::lang::String *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_OutputStream__ diff --git a/libjava/org/omg/CORBA/portable/RemarshalException.h b/libjava/org/omg/CORBA/portable/RemarshalException.h new file mode 100644 index 00000000000..ed9ea87092f --- /dev/null +++ b/libjava/org/omg/CORBA/portable/RemarshalException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_RemarshalException__ +#define __org_omg_CORBA_portable_RemarshalException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class RemarshalException; + } + } + } + } +} + +class org::omg::CORBA::portable::RemarshalException : public ::java::lang::Exception +{ + +public: + RemarshalException(); +private: + static const jlong serialVersionUID = -7025491253080954918LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_RemarshalException__ diff --git a/libjava/org/omg/CORBA/portable/ResponseHandler.h b/libjava/org/omg/CORBA/portable/ResponseHandler.h new file mode 100644 index 00000000000..f5f88224151 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/ResponseHandler.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_ResponseHandler__ +#define __org_omg_CORBA_portable_ResponseHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class OutputStream; + class ResponseHandler; + } + } + } + } +} + +class org::omg::CORBA::portable::ResponseHandler : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::portable::OutputStream * createExceptionReply() = 0; + virtual ::org::omg::CORBA::portable::OutputStream * createReply() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_ResponseHandler__ diff --git a/libjava/org/omg/CORBA/portable/ServantObject.h b/libjava/org/omg/CORBA/portable/ServantObject.h new file mode 100644 index 00000000000..d15cc9bd98d --- /dev/null +++ b/libjava/org/omg/CORBA/portable/ServantObject.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_ServantObject__ +#define __org_omg_CORBA_portable_ServantObject__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class ServantObject; + } + } + } + } +} + +class org::omg::CORBA::portable::ServantObject : public ::java::lang::Object +{ + +public: + ServantObject(); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) servant; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_ServantObject__ diff --git a/libjava/org/omg/CORBA/portable/Streamable.h b/libjava/org/omg/CORBA/portable/Streamable.h new file mode 100644 index 00000000000..3d1d69612f9 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/Streamable.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_Streamable__ +#define __org_omg_CORBA_portable_Streamable__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + class Streamable; + } + } + } + } +} + +class org::omg::CORBA::portable::Streamable : public ::java::lang::Object +{ + +public: + virtual void _read(::org::omg::CORBA::portable::InputStream *) = 0; + virtual ::org::omg::CORBA::TypeCode * _type() = 0; + virtual void _write(::org::omg::CORBA::portable::OutputStream *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_Streamable__ diff --git a/libjava/org/omg/CORBA/portable/StreamableValue.h b/libjava/org/omg/CORBA/portable/StreamableValue.h new file mode 100644 index 00000000000..db13bc3d98a --- /dev/null +++ b/libjava/org/omg/CORBA/portable/StreamableValue.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_StreamableValue__ +#define __org_omg_CORBA_portable_StreamableValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + class StreamableValue; + } + } + } + } +} + +class org::omg::CORBA::portable::StreamableValue : public ::java::lang::Object +{ + +public: + virtual void _read(::org::omg::CORBA::portable::InputStream *) = 0; + virtual ::org::omg::CORBA::TypeCode * _type() = 0; + virtual void _write(::org::omg::CORBA::portable::OutputStream *) = 0; + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_StreamableValue__ diff --git a/libjava/org/omg/CORBA/portable/UnknownException.h b/libjava/org/omg/CORBA/portable/UnknownException.h new file mode 100644 index 00000000000..9ae84106edc --- /dev/null +++ b/libjava/org/omg/CORBA/portable/UnknownException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_UnknownException__ +#define __org_omg_CORBA_portable_UnknownException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class UnknownException; + } + } + } + } +} + +class org::omg::CORBA::portable::UnknownException : public ::org::omg::CORBA::SystemException +{ + +public: + UnknownException(::java::lang::Throwable *); +private: + static const jlong serialVersionUID = 1725238280802233450LL; +public: + ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::org::omg::CORBA::SystemException)))) originalEx; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_portable_UnknownException__ diff --git a/libjava/org/omg/CORBA/portable/ValueBase.h b/libjava/org/omg/CORBA/portable/ValueBase.h new file mode 100644 index 00000000000..4c5669f852b --- /dev/null +++ b/libjava/org/omg/CORBA/portable/ValueBase.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_ValueBase__ +#define __org_omg_CORBA_portable_ValueBase__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class ValueBase; + } + } + } + } +} + +class org::omg::CORBA::portable::ValueBase : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_ValueBase__ diff --git a/libjava/org/omg/CORBA/portable/ValueFactory.h b/libjava/org/omg/CORBA/portable/ValueFactory.h new file mode 100644 index 00000000000..5946803d1b4 --- /dev/null +++ b/libjava/org/omg/CORBA/portable/ValueFactory.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_portable_ValueFactory__ +#define __org_omg_CORBA_portable_ValueFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class ValueFactory; + } + } + namespace CORBA_2_3 + { + namespace portable + { + class InputStream; + } + } + } + } +} + +class org::omg::CORBA::portable::ValueFactory : public ::java::lang::Object +{ + +public: + virtual ::java::io::Serializable * read_value(::org::omg::CORBA_2_3::portable::InputStream *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CORBA_portable_ValueFactory__ diff --git a/libjava/org/omg/CORBA_2_3/ORB.h b/libjava/org/omg/CORBA_2_3/ORB.h new file mode 100644 index 00000000000..78a8a0d9457 --- /dev/null +++ b/libjava/org/omg/CORBA_2_3/ORB.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_2_3_ORB__ +#define __org_omg_CORBA_2_3_ORB__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + namespace portable + { + class ValueFactory; + } + } + namespace CORBA_2_3 + { + class ORB; + } + } + } +} + +class org::omg::CORBA_2_3::ORB : public ::org::omg::CORBA::ORB +{ + +public: + ORB(); + virtual ::org::omg::CORBA::Object * get_value_def(::java::lang::String *); + virtual ::org::omg::CORBA::portable::ValueFactory * register_value_factory(::java::lang::String *, ::org::omg::CORBA::portable::ValueFactory *); + virtual void unregister_value_factory(::java::lang::String *); + virtual ::org::omg::CORBA::portable::ValueFactory * lookup_value_factory(::java::lang::String *); + virtual void set_delegate(::java::lang::Object *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_2_3_ORB__ diff --git a/libjava/org/omg/CORBA_2_3/portable/Delegate.h b/libjava/org/omg/CORBA_2_3/portable/Delegate.h new file mode 100644 index 00000000000..0a8ea15755f --- /dev/null +++ b/libjava/org/omg/CORBA_2_3/portable/Delegate.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_2_3_portable_Delegate__ +#define __org_omg_CORBA_2_3_portable_Delegate__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace CORBA_2_3 + { + namespace portable + { + class Delegate; + } + } + } + } +} + +class org::omg::CORBA_2_3::portable::Delegate : public ::org::omg::CORBA::portable::Delegate +{ + +public: + Delegate(); + virtual ::java::lang::String * get_codebase(::org::omg::CORBA::Object *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_2_3_portable_Delegate__ diff --git a/libjava/org/omg/CORBA_2_3/portable/InputStream.h b/libjava/org/omg/CORBA_2_3/portable/InputStream.h new file mode 100644 index 00000000000..d10f12a210b --- /dev/null +++ b/libjava/org/omg/CORBA_2_3/portable/InputStream.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_2_3_portable_InputStream__ +#define __org_omg_CORBA_2_3_portable_InputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class BoxedValueHelper; + } + } + namespace CORBA_2_3 + { + namespace portable + { + class InputStream; + } + } + } + } +} + +class org::omg::CORBA_2_3::portable::InputStream : public ::org::omg::CORBA::portable::InputStream +{ + +public: + InputStream(); + virtual ::java::lang::Object * read_abstract_interface(); + virtual ::java::lang::Object * read_abstract_interface(::java::lang::Class *); + virtual ::java::io::Serializable * read_value(); + virtual ::java::io::Serializable * read_value(::java::lang::Class *); + virtual ::java::io::Serializable * read_value(::java::io::Serializable *); + virtual ::java::io::Serializable * read_value(::java::lang::String *); + virtual ::java::io::Serializable * read_value(::org::omg::CORBA::portable::BoxedValueHelper *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_2_3_portable_InputStream__ diff --git a/libjava/org/omg/CORBA_2_3/portable/ObjectImpl.h b/libjava/org/omg/CORBA_2_3/portable/ObjectImpl.h new file mode 100644 index 00000000000..2f625a9628d --- /dev/null +++ b/libjava/org/omg/CORBA_2_3/portable/ObjectImpl.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_2_3_portable_ObjectImpl__ +#define __org_omg_CORBA_2_3_portable_ObjectImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA_2_3 + { + namespace portable + { + class ObjectImpl; + } + } + } + } +} + +class org::omg::CORBA_2_3::portable::ObjectImpl : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + ObjectImpl(); + virtual ::java::lang::String * _get_codebase(); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_2_3_portable_ObjectImpl__ diff --git a/libjava/org/omg/CORBA_2_3/portable/OutputStream.h b/libjava/org/omg/CORBA_2_3/portable/OutputStream.h new file mode 100644 index 00000000000..cc7bf78f1a0 --- /dev/null +++ b/libjava/org/omg/CORBA_2_3/portable/OutputStream.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CORBA_2_3_portable_OutputStream__ +#define __org_omg_CORBA_2_3_portable_OutputStream__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class BoxedValueHelper; + } + } + namespace CORBA_2_3 + { + namespace portable + { + class OutputStream; + } + } + } + } +} + +class org::omg::CORBA_2_3::portable::OutputStream : public ::org::omg::CORBA::portable::OutputStream +{ + +public: + OutputStream(); + virtual void write_abstract_interface(::java::lang::Object *); + virtual void write_value(::java::io::Serializable *); + virtual void write_value(::java::io::Serializable *, ::org::omg::CORBA::portable::BoxedValueHelper *); + virtual void write_value(::java::io::Serializable *, ::java::lang::Class *); + virtual void write_value(::java::io::Serializable *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CORBA_2_3_portable_OutputStream__ diff --git a/libjava/org/omg/CosNaming/Binding.h b/libjava/org/omg/CosNaming/Binding.h new file mode 100644 index 00000000000..90151236e65 --- /dev/null +++ b/libjava/org/omg/CosNaming/Binding.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_Binding__ +#define __org_omg_CosNaming_Binding__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + class Binding; + class BindingType; + class NameComponent; + } + } + } +} + +class org::omg::CosNaming::Binding : public ::java::lang::Object +{ + +public: + Binding(); + Binding(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::BindingType *); + ::org::omg::CosNaming::BindingType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) binding_type; + JArray< ::org::omg::CosNaming::NameComponent * > * binding_name; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_Binding__ diff --git a/libjava/org/omg/CosNaming/BindingHelper.h b/libjava/org/omg/CosNaming/BindingHelper.h new file mode 100644 index 00000000000..4e3dffd5c6f --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingHelper__ +#define __org_omg_CosNaming_BindingHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class Binding; + class BindingHelper; + } + } + } +} + +class org::omg::CosNaming::BindingHelper : public ::java::lang::Object +{ + +public: + BindingHelper(); + static ::org::omg::CosNaming::Binding * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::Binding *); + static ::org::omg::CosNaming::Binding * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::Binding *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingHelper__ diff --git a/libjava/org/omg/CosNaming/BindingHolder.h b/libjava/org/omg/CosNaming/BindingHolder.h new file mode 100644 index 00000000000..93431f4736c --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingHolder__ +#define __org_omg_CosNaming_BindingHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class Binding; + class BindingHolder; + } + } + } +} + +class org::omg::CosNaming::BindingHolder : public ::java::lang::Object +{ + +public: + BindingHolder(); + BindingHolder(::org::omg::CosNaming::Binding *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::Binding * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingHolder__ diff --git a/libjava/org/omg/CosNaming/BindingIterator.h b/libjava/org/omg/CosNaming/BindingIterator.h new file mode 100644 index 00000000000..a69ed71e5c2 --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingIterator.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingIterator__ +#define __org_omg_CosNaming_BindingIterator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace CosNaming + { + class BindingHolder; + class BindingIterator; + class BindingListHolder; + } + } + } +} + +class org::omg::CosNaming::BindingIterator : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual jboolean next_n(jint, ::org::omg::CosNaming::BindingListHolder *) = 0; + virtual jboolean next_one(::org::omg::CosNaming::BindingHolder *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CosNaming_BindingIterator__ diff --git a/libjava/org/omg/CosNaming/BindingIteratorHelper.h b/libjava/org/omg/CosNaming/BindingIteratorHelper.h new file mode 100644 index 00000000000..789d653d6ff --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingIteratorHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingIteratorHelper__ +#define __org_omg_CosNaming_BindingIteratorHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class BindingIterator; + class BindingIteratorHelper; + } + } + } +} + +class org::omg::CosNaming::BindingIteratorHelper : public ::java::lang::Object +{ + +public: + BindingIteratorHelper(); + static ::org::omg::CosNaming::BindingIterator * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::BindingIterator *); + static ::org::omg::CosNaming::BindingIterator * narrow(::org::omg::CORBA::Object *); + static ::org::omg::CosNaming::BindingIterator * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CosNaming::BindingIterator * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::BindingIterator *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingIteratorHelper__ diff --git a/libjava/org/omg/CosNaming/BindingIteratorHolder.h b/libjava/org/omg/CosNaming/BindingIteratorHolder.h new file mode 100644 index 00000000000..023602b27f7 --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingIteratorHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingIteratorHolder__ +#define __org_omg_CosNaming_BindingIteratorHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class BindingIterator; + class BindingIteratorHolder; + } + } + } +} + +class org::omg::CosNaming::BindingIteratorHolder : public ::java::lang::Object +{ + +public: + BindingIteratorHolder(); + BindingIteratorHolder(::org::omg::CosNaming::BindingIterator *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::BindingIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingIteratorHolder__ diff --git a/libjava/org/omg/CosNaming/BindingIteratorOperations.h b/libjava/org/omg/CosNaming/BindingIteratorOperations.h new file mode 100644 index 00000000000..61c97db99b3 --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingIteratorOperations.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingIteratorOperations__ +#define __org_omg_CosNaming_BindingIteratorOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + class BindingHolder; + class BindingIteratorOperations; + class BindingListHolder; + } + } + } +} + +class org::omg::CosNaming::BindingIteratorOperations : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual jboolean next_n(jint, ::org::omg::CosNaming::BindingListHolder *) = 0; + virtual jboolean next_one(::org::omg::CosNaming::BindingHolder *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CosNaming_BindingIteratorOperations__ diff --git a/libjava/org/omg/CosNaming/BindingIteratorPOA.h b/libjava/org/omg/CosNaming/BindingIteratorPOA.h new file mode 100644 index 00000000000..64f41248527 --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingIteratorPOA.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingIteratorPOA__ +#define __org_omg_CosNaming_BindingIteratorPOA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace CosNaming + { + class BindingHolder; + class BindingIterator; + class BindingIteratorPOA; + class BindingListHolder; + } + namespace PortableServer + { + class POA; + } + } + } +} + +class org::omg::CosNaming::BindingIteratorPOA : public ::org::omg::PortableServer::Servant +{ + +public: + BindingIteratorPOA(); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual ::org::omg::CosNaming::BindingIterator * _this(); + virtual ::org::omg::CosNaming::BindingIterator * _this(::org::omg::CORBA::ORB *); + virtual void destroy() = 0; + virtual jboolean next_n(jint, ::org::omg::CosNaming::BindingListHolder *) = 0; + virtual jboolean next_one(::org::omg::CosNaming::BindingHolder *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingIteratorPOA__ diff --git a/libjava/org/omg/CosNaming/BindingListHelper.h b/libjava/org/omg/CosNaming/BindingListHelper.h new file mode 100644 index 00000000000..6c3a9cb09ad --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingListHelper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingListHelper__ +#define __org_omg_CosNaming_BindingListHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class Binding; + class BindingListHelper; + } + } + } +} + +class org::omg::CosNaming::BindingListHelper : public ::java::lang::Object +{ + +public: + BindingListHelper(); + static JArray< ::org::omg::CosNaming::Binding * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::CosNaming::Binding * > *); + static JArray< ::org::omg::CosNaming::Binding * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::CosNaming::Binding * > *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingListHelper__ diff --git a/libjava/org/omg/CosNaming/BindingListHolder.h b/libjava/org/omg/CosNaming/BindingListHolder.h new file mode 100644 index 00000000000..05ce6ab431e --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingListHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingListHolder__ +#define __org_omg_CosNaming_BindingListHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class Binding; + class BindingListHolder; + } + } + } +} + +class org::omg::CosNaming::BindingListHolder : public ::java::lang::Object +{ + +public: + BindingListHolder(); + BindingListHolder(JArray< ::org::omg::CosNaming::Binding * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< ::org::omg::CosNaming::Binding * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingListHolder__ diff --git a/libjava/org/omg/CosNaming/BindingType.h b/libjava/org/omg/CosNaming/BindingType.h new file mode 100644 index 00000000000..40c49049847 --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingType.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingType__ +#define __org_omg_CosNaming_BindingType__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + class BindingType; + } + } + } +} + +class org::omg::CosNaming::BindingType : public ::java::lang::Object +{ + +public: // actually protected + BindingType(jint); +public: + static ::org::omg::CosNaming::BindingType * from_int(jint); + virtual jint value(); +private: + static const jlong serialVersionUID = 3735105633408228513LL; +public: + static const jint _ncontext = 1; + static const jint _nobject = 0; + static ::org::omg::CosNaming::BindingType * ncontext; + static ::org::omg::CosNaming::BindingType * nobject; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingType__ diff --git a/libjava/org/omg/CosNaming/BindingTypeHelper.h b/libjava/org/omg/CosNaming/BindingTypeHelper.h new file mode 100644 index 00000000000..4a020988f8a --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingTypeHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingTypeHelper__ +#define __org_omg_CosNaming_BindingTypeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class BindingType; + class BindingTypeHelper; + } + } + } +} + +class org::omg::CosNaming::BindingTypeHelper : public ::java::lang::Object +{ + +public: + BindingTypeHelper(); + static ::org::omg::CosNaming::BindingType * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::BindingType *); + static ::org::omg::CosNaming::BindingType * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::BindingType *); +private: + static ::java::lang::String * id__; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingTypeHelper__ diff --git a/libjava/org/omg/CosNaming/BindingTypeHolder.h b/libjava/org/omg/CosNaming/BindingTypeHolder.h new file mode 100644 index 00000000000..a7d0dd3ea34 --- /dev/null +++ b/libjava/org/omg/CosNaming/BindingTypeHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_BindingTypeHolder__ +#define __org_omg_CosNaming_BindingTypeHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class BindingType; + class BindingTypeHolder; + } + } + } +} + +class org::omg::CosNaming::BindingTypeHolder : public ::java::lang::Object +{ + +public: + BindingTypeHolder(); + BindingTypeHolder(::org::omg::CosNaming::BindingType *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::BindingType * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_BindingTypeHolder__ diff --git a/libjava/org/omg/CosNaming/IstringHelper.h b/libjava/org/omg/CosNaming/IstringHelper.h new file mode 100644 index 00000000000..91c1873a313 --- /dev/null +++ b/libjava/org/omg/CosNaming/IstringHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_IstringHelper__ +#define __org_omg_CosNaming_IstringHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class IstringHelper; + } + } + } +} + +class org::omg::CosNaming::IstringHelper : public ::java::lang::Object +{ + +public: + IstringHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_IstringHelper__ diff --git a/libjava/org/omg/CosNaming/NameComponent.h b/libjava/org/omg/CosNaming/NameComponent.h new file mode 100644 index 00000000000..467aecac652 --- /dev/null +++ b/libjava/org/omg/CosNaming/NameComponent.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NameComponent__ +#define __org_omg_CosNaming_NameComponent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + class NameComponent; + } + } + } +} + +class org::omg::CosNaming::NameComponent : public ::java::lang::Object +{ + +public: + NameComponent(); + NameComponent(::java::lang::String *, ::java::lang::String *); + jboolean equals(::java::lang::Object *); + ::java::lang::String * toString(); + jint hashCode(); +private: + static const jlong serialVersionUID = -1052538183391762390LL; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::java::lang::String * kind; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NameComponent__ diff --git a/libjava/org/omg/CosNaming/NameComponentHelper.h b/libjava/org/omg/CosNaming/NameComponentHelper.h new file mode 100644 index 00000000000..d01a929998c --- /dev/null +++ b/libjava/org/omg/CosNaming/NameComponentHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NameComponentHelper__ +#define __org_omg_CosNaming_NameComponentHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NameComponent; + class NameComponentHelper; + } + } + } +} + +class org::omg::CosNaming::NameComponentHelper : public ::java::lang::Object +{ + +public: + NameComponentHelper(); + static ::org::omg::CosNaming::NameComponent * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NameComponent *); + static ::org::omg::CosNaming::NameComponent * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NameComponent *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NameComponentHelper__ diff --git a/libjava/org/omg/CosNaming/NameComponentHolder.h b/libjava/org/omg/CosNaming/NameComponentHolder.h new file mode 100644 index 00000000000..f78c9a85f65 --- /dev/null +++ b/libjava/org/omg/CosNaming/NameComponentHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NameComponentHolder__ +#define __org_omg_CosNaming_NameComponentHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NameComponent; + class NameComponentHolder; + } + } + } +} + +class org::omg::CosNaming::NameComponentHolder : public ::java::lang::Object +{ + +public: + NameComponentHolder(); + NameComponentHolder(::org::omg::CosNaming::NameComponent *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NameComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NameComponentHolder__ diff --git a/libjava/org/omg/CosNaming/NameHelper.h b/libjava/org/omg/CosNaming/NameHelper.h new file mode 100644 index 00000000000..c5dcb45f41e --- /dev/null +++ b/libjava/org/omg/CosNaming/NameHelper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NameHelper__ +#define __org_omg_CosNaming_NameHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NameComponent; + class NameHelper; + } + } + } +} + +class org::omg::CosNaming::NameHelper : public ::java::lang::Object +{ + +public: + NameHelper(); + static JArray< ::org::omg::CosNaming::NameComponent * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::CosNaming::NameComponent * > *); + static JArray< ::org::omg::CosNaming::NameComponent * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::CosNaming::NameComponent * > *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NameHelper__ diff --git a/libjava/org/omg/CosNaming/NameHolder.h b/libjava/org/omg/CosNaming/NameHolder.h new file mode 100644 index 00000000000..78da1ffd15f --- /dev/null +++ b/libjava/org/omg/CosNaming/NameHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NameHolder__ +#define __org_omg_CosNaming_NameHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NameComponent; + class NameHolder; + } + } + } +} + +class org::omg::CosNaming::NameHolder : public ::java::lang::Object +{ + +public: + NameHolder(); + NameHolder(JArray< ::org::omg::CosNaming::NameComponent * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + JArray< ::org::omg::CosNaming::NameComponent * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NameHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContext.h b/libjava/org/omg/CosNaming/NamingContext.h new file mode 100644 index 00000000000..64c07a7915b --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContext.h @@ -0,0 +1,72 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContext__ +#define __org_omg_CosNaming_NamingContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + } + } + } +} + +class org::omg::CosNaming::NamingContext : public ::java::lang::Object +{ + +public: + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CosNaming_NamingContext__ diff --git a/libjava/org/omg/CosNaming/NamingContextExt.h b/libjava/org/omg/CosNaming/NamingContextExt.h new file mode 100644 index 00000000000..5faeb7ec893 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExt.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExt__ +#define __org_omg_CosNaming_NamingContextExt__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class NamingContextExt; + } + } + } +} + +class org::omg::CosNaming::NamingContextExt : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Object * resolve_str(::java::lang::String *) = 0; + virtual JArray< ::org::omg::CosNaming::NameComponent * > * to_name(::java::lang::String *) = 0; + virtual ::java::lang::String * to_string(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual ::java::lang::String * to_url(::java::lang::String *, ::java::lang::String *) = 0; + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CosNaming_NamingContextExt__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtHelper.h b/libjava/org/omg/CosNaming/NamingContextExtHelper.h new file mode 100644 index 00000000000..7ebda331b7c --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtHelper__ +#define __org_omg_CosNaming_NamingContextExtHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NamingContextExt; + class NamingContextExtHelper; + } + } + } +} + +class org::omg::CosNaming::NamingContextExtHelper : public ::java::lang::Object +{ + +public: + NamingContextExtHelper(); + static ::org::omg::CosNaming::NamingContextExt * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextExt *); + static ::org::omg::CosNaming::NamingContextExt * narrow(::org::omg::CORBA::Object *); + static ::org::omg::CosNaming::NamingContextExt * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CosNaming::NamingContextExt * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextExt *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtHolder.h b/libjava/org/omg/CosNaming/NamingContextExtHolder.h new file mode 100644 index 00000000000..f284357c415 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtHolder__ +#define __org_omg_CosNaming_NamingContextExtHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NamingContextExt; + class NamingContextExtHolder; + } + } + } +} + +class org::omg::CosNaming::NamingContextExtHolder : public ::java::lang::Object +{ + +public: + NamingContextExtHolder(); + NamingContextExtHolder(::org::omg::CosNaming::NamingContextExt *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextExt * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtOperations.h b/libjava/org/omg/CosNaming/NamingContextExtOperations.h new file mode 100644 index 00000000000..3799c676b32 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtOperations.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtOperations__ +#define __org_omg_CosNaming_NamingContextExtOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class NamingContextExtOperations; + } + } + } +} + +class org::omg::CosNaming::NamingContextExtOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Object * resolve_str(::java::lang::String *) = 0; + virtual JArray< ::org::omg::CosNaming::NameComponent * > * to_name(::java::lang::String *) = 0; + virtual ::java::lang::String * to_string(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual ::java::lang::String * to_url(::java::lang::String *, ::java::lang::String *) = 0; + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CosNaming_NamingContextExtOperations__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPOA.h b/libjava/org/omg/CosNaming/NamingContextExtPOA.h new file mode 100644 index 00000000000..e9dfe396705 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPOA.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPOA__ +#define __org_omg_CosNaming_NamingContextExtPOA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class NamingContextExt; + class NamingContextExtPOA; + } + namespace PortableServer + { + class POA; + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPOA : public ::org::omg::PortableServer::Servant +{ + +public: + NamingContextExtPOA(); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); +public: // actually package-private + virtual ::org::omg::CORBA::portable::OutputStream * super_invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); +public: + virtual ::org::omg::CosNaming::NamingContextExt * _this(); + virtual ::org::omg::CosNaming::NamingContextExt * _this(::org::omg::CORBA::ORB *); + virtual ::org::omg::CORBA::Object * resolve_str(::java::lang::String *) = 0; + virtual JArray< ::org::omg::CosNaming::NameComponent * > * to_name(::java::lang::String *) = 0; + virtual ::java::lang::String * to_string(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual ::java::lang::String * to_url(::java::lang::String *, ::java::lang::String *) = 0; + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPOA__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.h b/libjava/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.h new file mode 100644 index 00000000000..48755202d51 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPackage_AddressHelper__ +#define __org_omg_CosNaming_NamingContextExtPackage_AddressHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextExtPackage + { + class AddressHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPackage::AddressHelper : public ::java::lang::Object +{ + +public: + AddressHelper(); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPackage_AddressHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.h b/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.h new file mode 100644 index 00000000000..bf32d51f0c5 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPackage_InvalidAddress__ +#define __org_omg_CosNaming_NamingContextExtPackage_InvalidAddress__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + namespace NamingContextExtPackage + { + class InvalidAddress; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPackage::InvalidAddress : public ::org::omg::CORBA::UserException +{ + +public: + InvalidAddress(); + InvalidAddress(::java::lang::String *); +private: + static const jlong serialVersionUID = -3775583235364760385LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPackage_InvalidAddress__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.h b/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.h new file mode 100644 index 00000000000..52fe009bec0 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPackage_InvalidAddressHelper__ +#define __org_omg_CosNaming_NamingContextExtPackage_InvalidAddressHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextExtPackage + { + class InvalidAddress; + class InvalidAddressHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPackage::InvalidAddressHelper : public ::java::lang::Object +{ + +public: + InvalidAddressHelper(); + static ::org::omg::CosNaming::NamingContextExtPackage::InvalidAddress * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextExtPackage::InvalidAddress *); + static ::org::omg::CosNaming::NamingContextExtPackage::InvalidAddress * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextExtPackage::InvalidAddress *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPackage_InvalidAddressHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.h b/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.h new file mode 100644 index 00000000000..a1902974dad --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPackage_InvalidAddressHolder__ +#define __org_omg_CosNaming_NamingContextExtPackage_InvalidAddressHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextExtPackage + { + class InvalidAddress; + class InvalidAddressHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPackage::InvalidAddressHolder : public ::java::lang::Object +{ + +public: + InvalidAddressHolder(); + InvalidAddressHolder(::org::omg::CosNaming::NamingContextExtPackage::InvalidAddress *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextExtPackage::InvalidAddress * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPackage_InvalidAddressHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.h b/libjava/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.h new file mode 100644 index 00000000000..a7c3eddbb2e --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPackage_StringNameHelper__ +#define __org_omg_CosNaming_NamingContextExtPackage_StringNameHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextExtPackage + { + class StringNameHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPackage::StringNameHelper : public ::java::lang::Object +{ + +public: + StringNameHelper(); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPackage_StringNameHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.h b/libjava/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.h new file mode 100644 index 00000000000..1460c6761e4 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextExtPackage_URLStringHelper__ +#define __org_omg_CosNaming_NamingContextExtPackage_URLStringHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextExtPackage + { + class URLStringHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextExtPackage::URLStringHelper : public ::java::lang::Object +{ + +public: + URLStringHelper(); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextExtPackage_URLStringHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextHelper.h b/libjava/org/omg/CosNaming/NamingContextHelper.h new file mode 100644 index 00000000000..96c7bbeaff5 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextHelper__ +#define __org_omg_CosNaming_NamingContextHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NamingContext; + class NamingContextHelper; + } + } + } +} + +class org::omg::CosNaming::NamingContextHelper : public ::java::lang::Object +{ + +public: + NamingContextHelper(); + static ::org::omg::CosNaming::NamingContext * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContext *); + static ::org::omg::CosNaming::NamingContext * narrow(::org::omg::CORBA::Object *); + static ::org::omg::CosNaming::NamingContext * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CosNaming::NamingContext * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContext *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextHolder.h b/libjava/org/omg/CosNaming/NamingContextHolder.h new file mode 100644 index 00000000000..aaee3d2fd73 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextHolder__ +#define __org_omg_CosNaming_NamingContextHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + class NamingContext; + class NamingContextHolder; + } + } + } +} + +class org::omg::CosNaming::NamingContextHolder : public ::java::lang::Object +{ + +public: + NamingContextHolder(); + NamingContextHolder(::org::omg::CosNaming::NamingContext *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContext * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextOperations.h b/libjava/org/omg/CosNaming/NamingContextOperations.h new file mode 100644 index 00000000000..bb7385b8b46 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextOperations.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextOperations__ +#define __org_omg_CosNaming_NamingContextOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class NamingContextOperations; + } + } + } +} + +class org::omg::CosNaming::NamingContextOperations : public ::java::lang::Object +{ + +public: + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_CosNaming_NamingContextOperations__ diff --git a/libjava/org/omg/CosNaming/NamingContextPOA.h b/libjava/org/omg/CosNaming/NamingContextPOA.h new file mode 100644 index 00000000000..c6e595e2221 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPOA.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPOA__ +#define __org_omg_CosNaming_NamingContextPOA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class NamingContextPOA; + } + namespace PortableServer + { + class POA; + } + } + } +} + +class org::omg::CosNaming::NamingContextPOA : public ::org::omg::PortableServer::Servant +{ + +public: + NamingContextPOA(); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual ::org::omg::CosNaming::NamingContext * _this(); + virtual ::org::omg::CosNaming::NamingContext * _this(::org::omg::CORBA::ORB *); + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPOA__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBound.h b/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBound.h new file mode 100644 index 00000000000..0a28e186f0d --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBound.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_AlreadyBound__ +#define __org_omg_CosNaming_NamingContextPackage_AlreadyBound__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + namespace NamingContextPackage + { + class AlreadyBound; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::AlreadyBound : public ::org::omg::CORBA::UserException +{ + +public: + AlreadyBound(); + AlreadyBound(::java::lang::String *); +private: + static const jlong serialVersionUID = -5456929050527586560LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_AlreadyBound__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.h b/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.h new file mode 100644 index 00000000000..4f326a14e94 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_AlreadyBoundHelper__ +#define __org_omg_CosNaming_NamingContextPackage_AlreadyBoundHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class AlreadyBound; + class AlreadyBoundHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::AlreadyBoundHelper : public ::java::lang::Object +{ + +public: + AlreadyBoundHelper(); + static ::org::omg::CosNaming::NamingContextPackage::AlreadyBound * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextPackage::AlreadyBound *); + static ::org::omg::CosNaming::NamingContextPackage::AlreadyBound * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextPackage::AlreadyBound *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_AlreadyBoundHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.h b/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.h new file mode 100644 index 00000000000..3cb61acf807 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_AlreadyBoundHolder__ +#define __org_omg_CosNaming_NamingContextPackage_AlreadyBoundHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class AlreadyBound; + class AlreadyBoundHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::AlreadyBoundHolder : public ::java::lang::Object +{ + +public: + AlreadyBoundHolder(); + AlreadyBoundHolder(::org::omg::CosNaming::NamingContextPackage::AlreadyBound *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextPackage::AlreadyBound * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_AlreadyBoundHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceed.h b/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceed.h new file mode 100644 index 00000000000..85f92cea052 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceed.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_CannotProceed__ +#define __org_omg_CosNaming_NamingContextPackage_CannotProceed__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + class NameComponent; + class NamingContext; + namespace NamingContextPackage + { + class CannotProceed; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::CannotProceed : public ::org::omg::CORBA::UserException +{ + +public: + CannotProceed(); + CannotProceed(::org::omg::CosNaming::NamingContext *, JArray< ::org::omg::CosNaming::NameComponent * > *); + CannotProceed(::java::lang::String *, ::org::omg::CosNaming::NamingContext *, JArray< ::org::omg::CosNaming::NameComponent * > *); +private: + static const jlong serialVersionUID = -8627405252527310782LL; +public: + ::org::omg::CosNaming::NamingContext * __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) cxt; + JArray< ::org::omg::CosNaming::NameComponent * > * rest_of_name; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_CannotProceed__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.h b/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.h new file mode 100644 index 00000000000..26c1c3293b4 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_CannotProceedHelper__ +#define __org_omg_CosNaming_NamingContextPackage_CannotProceedHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class CannotProceed; + class CannotProceedHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::CannotProceedHelper : public ::java::lang::Object +{ + +public: + CannotProceedHelper(); + static ::org::omg::CosNaming::NamingContextPackage::CannotProceed * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextPackage::CannotProceed *); + static ::org::omg::CosNaming::NamingContextPackage::CannotProceed * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextPackage::CannotProceed *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_CannotProceedHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.h b/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.h new file mode 100644 index 00000000000..ba735f5aa64 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_CannotProceedHolder__ +#define __org_omg_CosNaming_NamingContextPackage_CannotProceedHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class CannotProceed; + class CannotProceedHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::CannotProceedHolder : public ::java::lang::Object +{ + +public: + CannotProceedHolder(); + CannotProceedHolder(::org::omg::CosNaming::NamingContextPackage::CannotProceed *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextPackage::CannotProceed * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_CannotProceedHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/InvalidName.h b/libjava/org/omg/CosNaming/NamingContextPackage/InvalidName.h new file mode 100644 index 00000000000..d5dccf7fddd --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/InvalidName.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_InvalidName__ +#define __org_omg_CosNaming_NamingContextPackage_InvalidName__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + namespace NamingContextPackage + { + class InvalidName; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::InvalidName : public ::org::omg::CORBA::UserException +{ + +public: + InvalidName(); + InvalidName(::java::lang::String *); +private: + static const jlong serialVersionUID = 786404864997961704LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_InvalidName__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.h b/libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.h new file mode 100644 index 00000000000..aaa771ba254 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_InvalidNameHelper__ +#define __org_omg_CosNaming_NamingContextPackage_InvalidNameHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class InvalidName; + class InvalidNameHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::InvalidNameHelper : public ::java::lang::Object +{ + +public: + InvalidNameHelper(); + static ::org::omg::CosNaming::NamingContextPackage::InvalidName * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextPackage::InvalidName *); + static ::org::omg::CosNaming::NamingContextPackage::InvalidName * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextPackage::InvalidName *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_InvalidNameHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.h b/libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.h new file mode 100644 index 00000000000..3b77117a608 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_InvalidNameHolder__ +#define __org_omg_CosNaming_NamingContextPackage_InvalidNameHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class InvalidName; + class InvalidNameHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::InvalidNameHolder : public ::java::lang::Object +{ + +public: + InvalidNameHolder(); + InvalidNameHolder(::org::omg::CosNaming::NamingContextPackage::InvalidName *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextPackage::InvalidName * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_InvalidNameHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotEmpty.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotEmpty.h new file mode 100644 index 00000000000..38555ce46e1 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotEmpty.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotEmpty__ +#define __org_omg_CosNaming_NamingContextPackage_NotEmpty__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + namespace NamingContextPackage + { + class NotEmpty; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotEmpty : public ::org::omg::CORBA::UserException +{ + +public: + NotEmpty(); + NotEmpty(::java::lang::String *); +private: + static const jlong serialVersionUID = 7120362687417045881LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotEmpty__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.h new file mode 100644 index 00000000000..85ffa61eb0e --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotEmptyHelper__ +#define __org_omg_CosNaming_NamingContextPackage_NotEmptyHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class NotEmpty; + class NotEmptyHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotEmptyHelper : public ::java::lang::Object +{ + +public: + NotEmptyHelper(); + static ::org::omg::CosNaming::NamingContextPackage::NotEmpty * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextPackage::NotEmpty *); + static ::org::omg::CosNaming::NamingContextPackage::NotEmpty * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextPackage::NotEmpty *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotEmptyHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.h new file mode 100644 index 00000000000..55c505fae9e --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotEmptyHolder__ +#define __org_omg_CosNaming_NamingContextPackage_NotEmptyHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class NotEmpty; + class NotEmptyHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotEmptyHolder : public ::java::lang::Object +{ + +public: + NotEmptyHolder(); + NotEmptyHolder(::org::omg::CosNaming::NamingContextPackage::NotEmpty *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextPackage::NotEmpty * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotEmptyHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotFound.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotFound.h new file mode 100644 index 00000000000..d6c37a6123b --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotFound.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotFound__ +#define __org_omg_CosNaming_NamingContextPackage_NotFound__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + class NameComponent; + namespace NamingContextPackage + { + class NotFound; + class NotFoundReason; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotFound : public ::org::omg::CORBA::UserException +{ + +public: + NotFound(); + NotFound(::org::omg::CosNaming::NamingContextPackage::NotFoundReason *, JArray< ::org::omg::CosNaming::NameComponent * > *); + NotFound(::java::lang::String *, ::org::omg::CosNaming::NamingContextPackage::NotFoundReason *, JArray< ::org::omg::CosNaming::NameComponent * > *); +private: + static const jlong serialVersionUID = -7539098836265502514LL; +public: + ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) why; + JArray< ::org::omg::CosNaming::NameComponent * > * rest_of_name; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotFound__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.h new file mode 100644 index 00000000000..7f0fa9b563c --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotFoundHelper__ +#define __org_omg_CosNaming_NamingContextPackage_NotFoundHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class NotFound; + class NotFoundHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotFoundHelper : public ::java::lang::Object +{ + +public: + NotFoundHelper(); + static ::org::omg::CosNaming::NamingContextPackage::NotFound * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextPackage::NotFound *); + static ::org::omg::CosNaming::NamingContextPackage::NotFound * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextPackage::NotFound *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotFoundHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.h new file mode 100644 index 00000000000..9e525afdf16 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotFoundHolder__ +#define __org_omg_CosNaming_NamingContextPackage_NotFoundHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class NotFound; + class NotFoundHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotFoundHolder : public ::java::lang::Object +{ + +public: + NotFoundHolder(); + NotFoundHolder(::org::omg::CosNaming::NamingContextPackage::NotFound *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextPackage::NotFound * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotFoundHolder__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReason.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReason.h new file mode 100644 index 00000000000..a45d21c0249 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReason.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotFoundReason__ +#define __org_omg_CosNaming_NamingContextPackage_NotFoundReason__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CosNaming + { + namespace NamingContextPackage + { + class NotFoundReason; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotFoundReason : public ::java::lang::Object +{ + +public: // actually protected + NotFoundReason(jint); +public: + static ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * from_int(jint); + virtual jint value(); +private: + static const jlong serialVersionUID = -5689237060527596081LL; +public: + static const jint _missing_node = 0; + static const jint _not_context = 1; + static const jint _not_object = 2; + static ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * missing_node; + static ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * not_context; + static ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * not_object; +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value__; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotFoundReason__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.h new file mode 100644 index 00000000000..557eaf89107 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotFoundReasonHelper__ +#define __org_omg_CosNaming_NamingContextPackage_NotFoundReasonHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class NotFoundReason; + class NotFoundReasonHelper; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotFoundReasonHelper : public ::java::lang::Object +{ + +public: + NotFoundReasonHelper(); + static ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::CosNaming::NamingContextPackage::NotFoundReason *); + static ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::CosNaming::NamingContextPackage::NotFoundReason *); +private: + static ::java::lang::String * _id; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotFoundReasonHelper__ diff --git a/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.h b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.h new file mode 100644 index 00000000000..cb7343e5752 --- /dev/null +++ b/libjava/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming_NamingContextPackage_NotFoundReasonHolder__ +#define __org_omg_CosNaming_NamingContextPackage_NotFoundReasonHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace CosNaming + { + namespace NamingContextPackage + { + class NotFoundReason; + class NotFoundReasonHolder; + } + } + } + } +} + +class org::omg::CosNaming::NamingContextPackage::NotFoundReasonHolder : public ::java::lang::Object +{ + +public: + NotFoundReasonHolder(); + NotFoundReasonHolder(::org::omg::CosNaming::NamingContextPackage::NotFoundReason *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CosNaming::NamingContextPackage::NotFoundReason * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming_NamingContextPackage_NotFoundReasonHolder__ diff --git a/libjava/org/omg/CosNaming/_BindingIteratorImplBase.h b/libjava/org/omg/CosNaming/_BindingIteratorImplBase.h new file mode 100644 index 00000000000..0b287bf7190 --- /dev/null +++ b/libjava/org/omg/CosNaming/_BindingIteratorImplBase.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming__BindingIteratorImplBase__ +#define __org_omg_CosNaming__BindingIteratorImplBase__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ServerRequest; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace CosNaming + { + class BindingHolder; + class BindingListHolder; + class _BindingIteratorImplBase; + } + } + } +} + +class org::omg::CosNaming::_BindingIteratorImplBase : public ::org::omg::CORBA::DynamicImplementation +{ + +public: + _BindingIteratorImplBase(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual void invoke(::org::omg::CORBA::ServerRequest *); + virtual void destroy() = 0; + virtual jboolean next_n(jint, ::org::omg::CosNaming::BindingListHolder *) = 0; + virtual jboolean next_one(::org::omg::CosNaming::BindingHolder *) = 0; +private: + static const jlong serialVersionUID = 3472591176635005503LL; + static JArray< ::java::lang::String * > * ids; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming__BindingIteratorImplBase__ diff --git a/libjava/org/omg/CosNaming/_BindingIteratorStub.h b/libjava/org/omg/CosNaming/_BindingIteratorStub.h new file mode 100644 index 00000000000..87ba884c694 --- /dev/null +++ b/libjava/org/omg/CosNaming/_BindingIteratorStub.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming__BindingIteratorStub__ +#define __org_omg_CosNaming__BindingIteratorStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class Delegate; + } + } + namespace CosNaming + { + class BindingHolder; + class BindingListHolder; + class _BindingIteratorStub; + } + } + } +} + +class org::omg::CosNaming::_BindingIteratorStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _BindingIteratorStub(); +public: // actually package-private + _BindingIteratorStub(::org::omg::CORBA::portable::Delegate *); +public: + virtual JArray< ::java::lang::String * > * _ids(); + virtual jboolean _non_existent(); + virtual void destroy(); + virtual jboolean next_n(jint, ::org::omg::CosNaming::BindingListHolder *); + virtual jboolean next_one(::org::omg::CosNaming::BindingHolder *); +public: // actually protected + virtual void finalize(); +private: + static const jlong serialVersionUID = 8969257760771186704LL; + jboolean __attribute__((aligned(__alignof__( ::org::omg::CORBA::portable::ObjectImpl)))) destroyed; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming__BindingIteratorStub__ diff --git a/libjava/org/omg/CosNaming/_NamingContextExtImplBase.h b/libjava/org/omg/CosNaming/_NamingContextExtImplBase.h new file mode 100644 index 00000000000..fd2a75b2537 --- /dev/null +++ b/libjava/org/omg/CosNaming/_NamingContextExtImplBase.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming__NamingContextExtImplBase__ +#define __org_omg_CosNaming__NamingContextExtImplBase__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + class ServerRequest; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace CosNaming + { + class NameComponent; + class _NamingContextExtImplBase; + } + } + } +} + +class org::omg::CosNaming::_NamingContextExtImplBase : public ::org::omg::CosNaming::_NamingContextImplBase +{ + +public: + _NamingContextExtImplBase(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual void invoke(::org::omg::CORBA::ServerRequest *); + virtual ::org::omg::CORBA::Object * resolve_str(::java::lang::String *) = 0; + virtual JArray< ::org::omg::CosNaming::NameComponent * > * to_name(::java::lang::String *) = 0; + virtual ::java::lang::String * to_string(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual ::java::lang::String * to_url(::java::lang::String *, ::java::lang::String *) = 0; +public: // actually package-private + static ::java::util::Hashtable * _methods; +private: + static JArray< ::java::lang::String * > * __ids; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming__NamingContextExtImplBase__ diff --git a/libjava/org/omg/CosNaming/_NamingContextExtStub.h b/libjava/org/omg/CosNaming/_NamingContextExtStub.h new file mode 100644 index 00000000000..25557ed53da --- /dev/null +++ b/libjava/org/omg/CosNaming/_NamingContextExtStub.h @@ -0,0 +1,66 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming__NamingContextExtStub__ +#define __org_omg_CosNaming__NamingContextExtStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace gnu + { + namespace CORBA + { + namespace NamingService + { + class NameTransformer; + } + } + } + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + namespace portable + { + class Delegate; + } + } + namespace CosNaming + { + class NameComponent; + class _NamingContextExtStub; + } + } + } +} + +class org::omg::CosNaming::_NamingContextExtStub : public ::org::omg::CosNaming::_NamingContextStub +{ + +public: + _NamingContextExtStub(); +public: // actually package-private + _NamingContextExtStub(::org::omg::CORBA::portable::Delegate *); +public: + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::Object * resolve_str(::java::lang::String *); + virtual JArray< ::org::omg::CosNaming::NameComponent * > * to_name(::java::lang::String *); + virtual ::java::lang::String * to_string(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual ::java::lang::String * to_url(::java::lang::String *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 6333293895664182866LL; + static JArray< ::java::lang::String * > * __ids; + ::gnu::CORBA::NamingService::NameTransformer * __attribute__((aligned(__alignof__( ::org::omg::CosNaming::_NamingContextStub)))) converter; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming__NamingContextExtStub__ diff --git a/libjava/org/omg/CosNaming/_NamingContextImplBase.h b/libjava/org/omg/CosNaming/_NamingContextImplBase.h new file mode 100644 index 00000000000..a1837784a67 --- /dev/null +++ b/libjava/org/omg/CosNaming/_NamingContextImplBase.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming__NamingContextImplBase__ +#define __org_omg_CosNaming__NamingContextImplBase__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + class ServerRequest; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class _NamingContextImplBase; + } + } + } +} + +class org::omg::CosNaming::_NamingContextImplBase : public ::org::omg::CORBA::DynamicImplementation +{ + +public: + _NamingContextImplBase(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual void invoke(::org::omg::CORBA::ServerRequest *); + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void destroy() = 0; + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *) = 0; + virtual ::org::omg::CosNaming::NamingContext * new_context() = 0; + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *) = 0; + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *) = 0; + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *) = 0; +private: + static const jlong serialVersionUID = -114280294134561035LL; +public: // actually package-private + static ::java::util::Hashtable * methods; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming__NamingContextImplBase__ diff --git a/libjava/org/omg/CosNaming/_NamingContextStub.h b/libjava/org/omg/CosNaming/_NamingContextStub.h new file mode 100644 index 00000000000..fc0634f63b6 --- /dev/null +++ b/libjava/org/omg/CosNaming/_NamingContextStub.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_CosNaming__NamingContextStub__ +#define __org_omg_CosNaming__NamingContextStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + namespace portable + { + class Delegate; + class InputStream; + } + } + namespace CosNaming + { + class BindingIteratorHolder; + class BindingListHolder; + class NameComponent; + class NamingContext; + class _NamingContextStub; + } + } + } +} + +class org::omg::CosNaming::_NamingContextStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _NamingContextStub(); +public: // actually package-private + _NamingContextStub(::org::omg::CORBA::portable::Delegate *); +public: + virtual JArray< ::java::lang::String * > * _ids(); + virtual void bind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *); + virtual void bind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *); + virtual ::org::omg::CosNaming::NamingContext * bind_new_context(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual void destroy(); + virtual void list(jint, ::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *); + virtual ::org::omg::CosNaming::NamingContext * new_context(); + virtual void rebind(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CORBA::Object *); + virtual void rebind_context(JArray< ::org::omg::CosNaming::NameComponent * > *, ::org::omg::CosNaming::NamingContext *); + virtual ::org::omg::CORBA::Object * resolve(JArray< ::org::omg::CosNaming::NameComponent * > *); + virtual void unbind(JArray< ::org::omg::CosNaming::NameComponent * > *); +public: // actually package-private + virtual void throw4(::org::omg::CORBA::portable::InputStream *, ::java::lang::String *); + virtual void throw5(::org::omg::CORBA::portable::InputStream *, ::java::lang::String *); +private: + static const jlong serialVersionUID = 6835430958405349379LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_CosNaming__NamingContextStub__ diff --git a/libjava/org/omg/Dynamic/Parameter.h b/libjava/org/omg/Dynamic/Parameter.h new file mode 100644 index 00000000000..1ebf08d23df --- /dev/null +++ b/libjava/org/omg/Dynamic/Parameter.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_Dynamic_Parameter__ +#define __org_omg_Dynamic_Parameter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class ParameterMode; + } + namespace Dynamic + { + class Parameter; + } + } + } +} + +class org::omg::Dynamic::Parameter : public ::java::lang::Object +{ + +public: + Parameter(); + Parameter(::org::omg::CORBA::Any *, ::org::omg::CORBA::ParameterMode *); +private: + static const jlong serialVersionUID = 892191606993734699LL; +public: + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::java::lang::Object)))) argument; + ::org::omg::CORBA::ParameterMode * mode; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_Dynamic_Parameter__ diff --git a/libjava/org/omg/DynamicAny/AnySeqHelper.h b/libjava/org/omg/DynamicAny/AnySeqHelper.h new file mode 100644 index 00000000000..eef79d93892 --- /dev/null +++ b/libjava/org/omg/DynamicAny/AnySeqHelper.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_AnySeqHelper__ +#define __org_omg_DynamicAny_AnySeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class AnySeqHelper; + } + } + } +} + +class org::omg::DynamicAny::AnySeqHelper : public ::java::lang::Object +{ + +public: + AnySeqHelper(); + static JArray< ::org::omg::CORBA::Any * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::CORBA::Any * > *); + static JArray< ::org::omg::CORBA::Any * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::CORBA::Any * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_AnySeqHelper__ diff --git a/libjava/org/omg/DynamicAny/DynAny.h b/libjava/org/omg/DynamicAny/DynAny.h new file mode 100644 index 00000000000..6332980bf25 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAny.h @@ -0,0 +1,111 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAny__ +#define __org_omg_DynamicAny_DynAny__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + } + } + } +} + +class org::omg::DynamicAny::DynAny : public ::java::lang::Object +{ + +public: + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynAny__ diff --git a/libjava/org/omg/DynamicAny/DynAnyFactory.h b/libjava/org/omg/DynamicAny/DynAnyFactory.h new file mode 100644 index 00000000000..a61a1435bac --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyFactory.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyFactory__ +#define __org_omg_DynamicAny_DynAnyFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynAnyFactory; + } + } + } +} + +class org::omg::DynamicAny::DynAnyFactory : public ::java::lang::Object +{ + +public: + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any_from_type_code(::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynAnyFactory__ diff --git a/libjava/org/omg/DynamicAny/DynAnyFactoryHelper.h b/libjava/org/omg/DynamicAny/DynAnyFactoryHelper.h new file mode 100644 index 00000000000..67c6f3e8fda --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyFactoryHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyFactoryHelper__ +#define __org_omg_DynamicAny_DynAnyFactoryHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynAnyFactory; + class DynAnyFactoryHelper; + } + } + } +} + +class org::omg::DynamicAny::DynAnyFactoryHelper : public ::java::lang::Object +{ + +public: + DynAnyFactoryHelper(); + static ::org::omg::DynamicAny::DynAnyFactory * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynAnyFactory * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynAnyFactory *); + static ::org::omg::DynamicAny::DynAnyFactory * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynAnyFactory * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynAnyFactory *); +public: // actually package-private + static ::java::lang::String * not_applicable(::java::lang::String *); +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyFactoryHelper__ diff --git a/libjava/org/omg/DynamicAny/DynAnyFactoryOperations.h b/libjava/org/omg/DynamicAny/DynAnyFactoryOperations.h new file mode 100644 index 00000000000..57e86966d18 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyFactoryOperations.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyFactoryOperations__ +#define __org_omg_DynamicAny_DynAnyFactoryOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynAnyFactoryOperations; + } + } + } +} + +class org::omg::DynamicAny::DynAnyFactoryOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any_from_type_code(::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any(::org::omg::CORBA::Any *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynAnyFactoryOperations__ diff --git a/libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.h b/libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.h new file mode 100644 index 00000000000..557e36231db --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyFactoryPackage_InconsistentTypeCode__ +#define __org_omg_DynamicAny_DynAnyFactoryPackage_InconsistentTypeCode__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace DynamicAny + { + namespace DynAnyFactoryPackage + { + class InconsistentTypeCode; + } + } + } + } +} + +class org::omg::DynamicAny::DynAnyFactoryPackage::InconsistentTypeCode : public ::org::omg::CORBA::UserException +{ + +public: + InconsistentTypeCode(); + InconsistentTypeCode(::java::lang::String *); +private: + static const jlong serialVersionUID = 3679785322052655944LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyFactoryPackage_InconsistentTypeCode__ diff --git a/libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.h b/libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.h new file mode 100644 index 00000000000..88baa869864 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyFactoryPackage_InconsistentTypeCodeHelper__ +#define __org_omg_DynamicAny_DynAnyFactoryPackage_InconsistentTypeCodeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + namespace DynAnyFactoryPackage + { + class InconsistentTypeCode; + class InconsistentTypeCodeHelper; + } + } + } + } +} + +class org::omg::DynamicAny::DynAnyFactoryPackage::InconsistentTypeCodeHelper : public ::java::lang::Object +{ + +public: + InconsistentTypeCodeHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynAnyFactoryPackage::InconsistentTypeCode *); + static ::org::omg::DynamicAny::DynAnyFactoryPackage::InconsistentTypeCode * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynAnyFactoryPackage::InconsistentTypeCode * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynAnyFactoryPackage::InconsistentTypeCode *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyFactoryPackage_InconsistentTypeCodeHelper__ diff --git a/libjava/org/omg/DynamicAny/DynAnyHelper.h b/libjava/org/omg/DynamicAny/DynAnyHelper.h new file mode 100644 index 00000000000..22f371722d1 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyHelper__ +#define __org_omg_DynamicAny_DynAnyHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynAny; + class DynAnyHelper; + } + } + } +} + +class org::omg::DynamicAny::DynAnyHelper : public ::java::lang::Object +{ + +public: + DynAnyHelper(); + static ::org::omg::DynamicAny::DynAny * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynAny * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynAny *); + static ::org::omg::DynamicAny::DynAny * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynAny * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynAny *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyHelper__ diff --git a/libjava/org/omg/DynamicAny/DynAnyOperations.h b/libjava/org/omg/DynamicAny/DynAnyOperations.h new file mode 100644 index 00000000000..e7a6339bfa7 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyOperations.h @@ -0,0 +1,88 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyOperations__ +#define __org_omg_DynamicAny_DynAnyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynAnyOperations; + } + } + } +} + +class org::omg::DynamicAny::DynAnyOperations : public ::java::lang::Object +{ + +public: + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynAnyOperations__ diff --git a/libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValue.h b/libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValue.h new file mode 100644 index 00000000000..44be0a2d4a2 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValue.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyPackage_InvalidValue__ +#define __org_omg_DynamicAny_DynAnyPackage_InvalidValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace DynamicAny + { + namespace DynAnyPackage + { + class InvalidValue; + } + } + } + } +} + +class org::omg::DynamicAny::DynAnyPackage::InvalidValue : public ::org::omg::CORBA::UserException +{ + +public: + InvalidValue(); + InvalidValue(::java::lang::String *); +private: + static const jlong serialVersionUID = 4928947584617628504LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyPackage_InvalidValue__ diff --git a/libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.h b/libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.h new file mode 100644 index 00000000000..961bd615d1a --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyPackage_InvalidValueHelper__ +#define __org_omg_DynamicAny_DynAnyPackage_InvalidValueHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + namespace DynAnyPackage + { + class InvalidValue; + class InvalidValueHelper; + } + } + } + } +} + +class org::omg::DynamicAny::DynAnyPackage::InvalidValueHelper : public ::java::lang::Object +{ + +public: + InvalidValueHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynAnyPackage::InvalidValue *); + static ::org::omg::DynamicAny::DynAnyPackage::InvalidValue * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynAnyPackage::InvalidValue * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynAnyPackage::InvalidValue *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyPackage_InvalidValueHelper__ diff --git a/libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.h b/libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.h new file mode 100644 index 00000000000..dda1b564892 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyPackage_TypeMismatch__ +#define __org_omg_DynamicAny_DynAnyPackage_TypeMismatch__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace DynamicAny + { + namespace DynAnyPackage + { + class TypeMismatch; + } + } + } + } +} + +class org::omg::DynamicAny::DynAnyPackage::TypeMismatch : public ::org::omg::CORBA::UserException +{ + +public: + TypeMismatch(); + TypeMismatch(::java::lang::String *); +private: + static const jlong serialVersionUID = -6393641830493471034LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyPackage_TypeMismatch__ diff --git a/libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.h b/libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.h new file mode 100644 index 00000000000..43e70effed3 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnyPackage_TypeMismatchHelper__ +#define __org_omg_DynamicAny_DynAnyPackage_TypeMismatchHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + namespace DynAnyPackage + { + class TypeMismatch; + class TypeMismatchHelper; + } + } + } + } +} + +class org::omg::DynamicAny::DynAnyPackage::TypeMismatchHelper : public ::java::lang::Object +{ + +public: + TypeMismatchHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynAnyPackage::TypeMismatch *); + static ::org::omg::DynamicAny::DynAnyPackage::TypeMismatch * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynAnyPackage::TypeMismatch * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynAnyPackage::TypeMismatch *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnyPackage_TypeMismatchHelper__ diff --git a/libjava/org/omg/DynamicAny/DynAnySeqHelper.h b/libjava/org/omg/DynamicAny/DynAnySeqHelper.h new file mode 100644 index 00000000000..8e28ce66608 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynAnySeqHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynAnySeqHelper__ +#define __org_omg_DynamicAny_DynAnySeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynAny; + class DynAnySeqHelper; + } + } + } +} + +class org::omg::DynamicAny::DynAnySeqHelper : public ::java::lang::Object +{ + +public: + DynAnySeqHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::DynamicAny::DynAny * > *); + static JArray< ::org::omg::DynamicAny::DynAny * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static JArray< ::org::omg::DynamicAny::DynAny * > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::DynamicAny::DynAny * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynAnySeqHelper__ diff --git a/libjava/org/omg/DynamicAny/DynArray.h b/libjava/org/omg/DynamicAny/DynArray.h new file mode 100644 index 00000000000..f927f6064e6 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynArray.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynArray__ +#define __org_omg_DynamicAny_DynArray__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynArray; + } + } + } +} + +class org::omg::DynamicAny::DynArray : public ::java::lang::Object +{ + +public: + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any() = 0; + virtual JArray< ::org::omg::CORBA::Any * > * get_elements() = 0; + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *) = 0; + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynArray__ diff --git a/libjava/org/omg/DynamicAny/DynArrayHelper.h b/libjava/org/omg/DynamicAny/DynArrayHelper.h new file mode 100644 index 00000000000..914a7495288 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynArrayHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynArrayHelper__ +#define __org_omg_DynamicAny_DynArrayHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynArray; + class DynArrayHelper; + } + } + } +} + +class org::omg::DynamicAny::DynArrayHelper : public ::java::lang::Object +{ + +public: + DynArrayHelper(); + static ::org::omg::DynamicAny::DynArray * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynArray * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynArray *); + static ::org::omg::DynamicAny::DynArray * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynArray * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynArray *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynArrayHelper__ diff --git a/libjava/org/omg/DynamicAny/DynArrayOperations.h b/libjava/org/omg/DynamicAny/DynArrayOperations.h new file mode 100644 index 00000000000..9a110716e98 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynArrayOperations.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynArrayOperations__ +#define __org_omg_DynamicAny_DynArrayOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynArrayOperations; + } + } + } +} + +class org::omg::DynamicAny::DynArrayOperations : public ::java::lang::Object +{ + +public: + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any() = 0; + virtual JArray< ::org::omg::CORBA::Any * > * get_elements() = 0; + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *) = 0; + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynArrayOperations__ diff --git a/libjava/org/omg/DynamicAny/DynEnum.h b/libjava/org/omg/DynamicAny/DynEnum.h new file mode 100644 index 00000000000..5136effc1ea --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynEnum.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynEnum__ +#define __org_omg_DynamicAny_DynEnum__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynEnum; + } + } + } +} + +class org::omg::DynamicAny::DynEnum : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * get_as_string() = 0; + virtual jint get_as_ulong() = 0; + virtual void set_as_string(::java::lang::String *) = 0; + virtual void set_as_ulong(jint) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynEnum__ diff --git a/libjava/org/omg/DynamicAny/DynEnumHelper.h b/libjava/org/omg/DynamicAny/DynEnumHelper.h new file mode 100644 index 00000000000..bc0beb5cf7d --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynEnumHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynEnumHelper__ +#define __org_omg_DynamicAny_DynEnumHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynEnum; + class DynEnumHelper; + } + } + } +} + +class org::omg::DynamicAny::DynEnumHelper : public ::java::lang::Object +{ + +public: + DynEnumHelper(); + static ::org::omg::DynamicAny::DynEnum * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynEnum * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynEnum *); + static ::org::omg::DynamicAny::DynEnum * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynEnum * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynEnum *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynEnumHelper__ diff --git a/libjava/org/omg/DynamicAny/DynEnumOperations.h b/libjava/org/omg/DynamicAny/DynEnumOperations.h new file mode 100644 index 00000000000..360d38fb855 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynEnumOperations.h @@ -0,0 +1,92 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynEnumOperations__ +#define __org_omg_DynamicAny_DynEnumOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynEnumOperations; + } + } + } +} + +class org::omg::DynamicAny::DynEnumOperations : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * get_as_string() = 0; + virtual jint get_as_ulong() = 0; + virtual void set_as_string(::java::lang::String *) = 0; + virtual void set_as_ulong(jint) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynEnumOperations__ diff --git a/libjava/org/omg/DynamicAny/DynFixed.h b/libjava/org/omg/DynamicAny/DynFixed.h new file mode 100644 index 00000000000..32abefb53b7 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynFixed.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynFixed__ +#define __org_omg_DynamicAny_DynFixed__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynFixed; + } + } + } +} + +class org::omg::DynamicAny::DynFixed : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * get_value() = 0; + virtual jboolean set_value(::java::lang::String *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynFixed__ diff --git a/libjava/org/omg/DynamicAny/DynFixedHelper.h b/libjava/org/omg/DynamicAny/DynFixedHelper.h new file mode 100644 index 00000000000..15561e04193 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynFixedHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynFixedHelper__ +#define __org_omg_DynamicAny_DynFixedHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynFixed; + class DynFixedHelper; + } + } + } +} + +class org::omg::DynamicAny::DynFixedHelper : public ::java::lang::Object +{ + +public: + DynFixedHelper(); + static ::org::omg::DynamicAny::DynFixed * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynFixed * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynFixed *); + static ::org::omg::DynamicAny::DynFixed * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynFixed * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynFixed *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynFixedHelper__ diff --git a/libjava/org/omg/DynamicAny/DynFixedOperations.h b/libjava/org/omg/DynamicAny/DynFixedOperations.h new file mode 100644 index 00000000000..5373b5e92b7 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynFixedOperations.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynFixedOperations__ +#define __org_omg_DynamicAny_DynFixedOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynFixedOperations; + } + } + } +} + +class org::omg::DynamicAny::DynFixedOperations : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * get_value() = 0; + virtual jboolean set_value(::java::lang::String *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynFixedOperations__ diff --git a/libjava/org/omg/DynamicAny/DynSequence.h b/libjava/org/omg/DynamicAny/DynSequence.h new file mode 100644 index 00000000000..0744cdbedcd --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynSequence.h @@ -0,0 +1,118 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynSequence__ +#define __org_omg_DynamicAny_DynSequence__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynSequence; + } + } + } +} + +class org::omg::DynamicAny::DynSequence : public ::java::lang::Object +{ + +public: + virtual jint get_length() = 0; + virtual void set_length(jint) = 0; + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any() = 0; + virtual JArray< ::org::omg::CORBA::Any * > * get_elements() = 0; + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *) = 0; + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynSequence__ diff --git a/libjava/org/omg/DynamicAny/DynSequenceHelper.h b/libjava/org/omg/DynamicAny/DynSequenceHelper.h new file mode 100644 index 00000000000..f782f528a9d --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynSequenceHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynSequenceHelper__ +#define __org_omg_DynamicAny_DynSequenceHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynSequence; + class DynSequenceHelper; + } + } + } +} + +class org::omg::DynamicAny::DynSequenceHelper : public ::java::lang::Object +{ + +public: + DynSequenceHelper(); + static ::org::omg::DynamicAny::DynSequence * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynSequence * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynSequence *); + static ::org::omg::DynamicAny::DynSequence * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynSequence * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynSequence *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynSequenceHelper__ diff --git a/libjava/org/omg/DynamicAny/DynSequenceOperations.h b/libjava/org/omg/DynamicAny/DynSequenceOperations.h new file mode 100644 index 00000000000..3f80eaaa6df --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynSequenceOperations.h @@ -0,0 +1,96 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynSequenceOperations__ +#define __org_omg_DynamicAny_DynSequenceOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynSequenceOperations; + } + } + } +} + +class org::omg::DynamicAny::DynSequenceOperations : public ::java::lang::Object +{ + +public: + virtual jint get_length() = 0; + virtual void set_length(jint) = 0; + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any() = 0; + virtual JArray< ::org::omg::CORBA::Any * > * get_elements() = 0; + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *) = 0; + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynSequenceOperations__ diff --git a/libjava/org/omg/DynamicAny/DynStruct.h b/libjava/org/omg/DynamicAny/DynStruct.h new file mode 100644 index 00000000000..149ba055b38 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynStruct.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynStruct__ +#define __org_omg_DynamicAny_DynStruct__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynStruct; + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class org::omg::DynamicAny::DynStruct : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind() = 0; + virtual ::java::lang::String * current_member_name() = 0; + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any() = 0; + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members() = 0; + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *) = 0; + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynStruct__ diff --git a/libjava/org/omg/DynamicAny/DynStructHelper.h b/libjava/org/omg/DynamicAny/DynStructHelper.h new file mode 100644 index 00000000000..393cbd88443 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynStructHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynStructHelper__ +#define __org_omg_DynamicAny_DynStructHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynStruct; + class DynStructHelper; + } + } + } +} + +class org::omg::DynamicAny::DynStructHelper : public ::java::lang::Object +{ + +public: + DynStructHelper(); + static ::org::omg::DynamicAny::DynStruct * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynStruct * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynStruct *); + static ::org::omg::DynamicAny::DynStruct * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynStruct * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynStruct *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynStructHelper__ diff --git a/libjava/org/omg/DynamicAny/DynStructOperations.h b/libjava/org/omg/DynamicAny/DynStructOperations.h new file mode 100644 index 00000000000..2e69f372d63 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynStructOperations.h @@ -0,0 +1,99 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynStructOperations__ +#define __org_omg_DynamicAny_DynStructOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynStructOperations; + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class org::omg::DynamicAny::DynStructOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind() = 0; + virtual ::java::lang::String * current_member_name() = 0; + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any() = 0; + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members() = 0; + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *) = 0; + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynStructOperations__ diff --git a/libjava/org/omg/DynamicAny/DynUnion.h b/libjava/org/omg/DynamicAny/DynUnion.h new file mode 100644 index 00000000000..618add73627 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynUnion.h @@ -0,0 +1,122 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynUnion__ +#define __org_omg_DynamicAny_DynUnion__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynUnion; + } + } + } +} + +class org::omg::DynamicAny::DynUnion : public ::java::lang::Object +{ + +public: + virtual ::org::omg::DynamicAny::DynAny * get_discriminator() = 0; + virtual void set_discriminator(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::CORBA::TCKind * discriminator_kind() = 0; + virtual ::org::omg::DynamicAny::DynAny * member() = 0; + virtual ::org::omg::CORBA::TCKind * member_kind() = 0; + virtual ::java::lang::String * member_name() = 0; + virtual jboolean has_no_active_member() = 0; + virtual void set_to_default_member() = 0; + virtual void set_to_no_active_member() = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynUnion__ diff --git a/libjava/org/omg/DynamicAny/DynUnionHelper.h b/libjava/org/omg/DynamicAny/DynUnionHelper.h new file mode 100644 index 00000000000..b9cf22b5628 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynUnionHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynUnionHelper__ +#define __org_omg_DynamicAny_DynUnionHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynUnion; + class DynUnionHelper; + } + } + } +} + +class org::omg::DynamicAny::DynUnionHelper : public ::java::lang::Object +{ + +public: + DynUnionHelper(); + static ::org::omg::DynamicAny::DynUnion * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynUnion * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynUnion *); + static ::org::omg::DynamicAny::DynUnion * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynUnion * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynUnion *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynUnionHelper__ diff --git a/libjava/org/omg/DynamicAny/DynUnionOperations.h b/libjava/org/omg/DynamicAny/DynUnionOperations.h new file mode 100644 index 00000000000..1b7e92527a1 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynUnionOperations.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynUnionOperations__ +#define __org_omg_DynamicAny_DynUnionOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynUnionOperations; + } + } + } +} + +class org::omg::DynamicAny::DynUnionOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::DynamicAny::DynAny * get_discriminator() = 0; + virtual void set_discriminator(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::CORBA::TCKind * discriminator_kind() = 0; + virtual ::org::omg::DynamicAny::DynAny * member() = 0; + virtual ::org::omg::CORBA::TCKind * member_kind() = 0; + virtual ::java::lang::String * member_name() = 0; + virtual jboolean has_no_active_member() = 0; + virtual void set_to_default_member() = 0; + virtual void set_to_no_active_member() = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynUnionOperations__ diff --git a/libjava/org/omg/DynamicAny/DynValue.h b/libjava/org/omg/DynamicAny/DynValue.h new file mode 100644 index 00000000000..0c1dffaa204 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValue.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValue__ +#define __org_omg_DynamicAny_DynValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynValue; + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class org::omg::DynamicAny::DynValue : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind() = 0; + virtual ::java::lang::String * current_member_name() = 0; + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any() = 0; + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members() = 0; + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *) = 0; + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual jboolean is_null() = 0; + virtual void set_to_null() = 0; + virtual void set_to_value() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynValue__ diff --git a/libjava/org/omg/DynamicAny/DynValueBox.h b/libjava/org/omg/DynamicAny/DynValueBox.h new file mode 100644 index 00000000000..e76b4413fc3 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValueBox.h @@ -0,0 +1,119 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValueBox__ +#define __org_omg_DynamicAny_DynValueBox__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynValueBox; + } + } + } +} + +class org::omg::DynamicAny::DynValueBox : public ::java::lang::Object +{ + +public: + virtual ::org::omg::DynamicAny::DynAny * get_boxed_value_as_dyn_any() = 0; + virtual ::org::omg::CORBA::Any * get_boxed_value() = 0; + virtual void set_boxed_value_as_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual void set_boxed_value(::org::omg::CORBA::Any *) = 0; + virtual jboolean is_null() = 0; + virtual void set_to_null() = 0; + virtual void set_to_value() = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynValueBox__ diff --git a/libjava/org/omg/DynamicAny/DynValueBoxOperations.h b/libjava/org/omg/DynamicAny/DynValueBoxOperations.h new file mode 100644 index 00000000000..10caa23eb95 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValueBoxOperations.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValueBoxOperations__ +#define __org_omg_DynamicAny_DynValueBoxOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynValueBoxOperations; + } + } + } +} + +class org::omg::DynamicAny::DynValueBoxOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::DynamicAny::DynAny * get_boxed_value_as_dyn_any() = 0; + virtual ::org::omg::CORBA::Any * get_boxed_value() = 0; + virtual void set_boxed_value_as_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual void set_boxed_value(::org::omg::CORBA::Any *) = 0; + virtual jboolean is_null() = 0; + virtual void set_to_null() = 0; + virtual void set_to_value() = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynValueBoxOperations__ diff --git a/libjava/org/omg/DynamicAny/DynValueCommon.h b/libjava/org/omg/DynamicAny/DynValueCommon.h new file mode 100644 index 00000000000..de40469a6f7 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValueCommon.h @@ -0,0 +1,115 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValueCommon__ +#define __org_omg_DynamicAny_DynValueCommon__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynValueCommon; + } + } + } +} + +class org::omg::DynamicAny::DynValueCommon : public ::java::lang::Object +{ + +public: + virtual jboolean is_null() = 0; + virtual void set_to_null() = 0; + virtual void set_to_value() = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynValueCommon__ diff --git a/libjava/org/omg/DynamicAny/DynValueCommonOperations.h b/libjava/org/omg/DynamicAny/DynValueCommonOperations.h new file mode 100644 index 00000000000..4ab9d60c012 --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValueCommonOperations.h @@ -0,0 +1,91 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValueCommonOperations__ +#define __org_omg_DynamicAny_DynValueCommonOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynValueCommonOperations; + } + } + } +} + +class org::omg::DynamicAny::DynValueCommonOperations : public ::java::lang::Object +{ + +public: + virtual jboolean is_null() = 0; + virtual void set_to_null() = 0; + virtual void set_to_value() = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynValueCommonOperations__ diff --git a/libjava/org/omg/DynamicAny/DynValueHelper.h b/libjava/org/omg/DynamicAny/DynValueHelper.h new file mode 100644 index 00000000000..ddb0143428a --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValueHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValueHelper__ +#define __org_omg_DynamicAny_DynValueHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class DynValue; + class DynValueHelper; + } + } + } +} + +class org::omg::DynamicAny::DynValueHelper : public ::java::lang::Object +{ + +public: + DynValueHelper(); + static ::org::omg::DynamicAny::DynValue * narrow(::org::omg::CORBA::Object *); + static ::org::omg::DynamicAny::DynValue * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::DynValue *); + static ::org::omg::DynamicAny::DynValue * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::DynValue * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::DynValue *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_DynValueHelper__ diff --git a/libjava/org/omg/DynamicAny/DynValueOperations.h b/libjava/org/omg/DynamicAny/DynValueOperations.h new file mode 100644 index 00000000000..269a6b09dee --- /dev/null +++ b/libjava/org/omg/DynamicAny/DynValueOperations.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_DynValueOperations__ +#define __org_omg_DynamicAny_DynValueOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class DynValueOperations; + class NameDynAnyPair; + class NameValuePair; + } + } + } +} + +class org::omg::DynamicAny::DynValueOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::TCKind * current_member_kind() = 0; + virtual ::java::lang::String * current_member_name() = 0; + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any() = 0; + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members() = 0; + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *) = 0; + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *) = 0; + virtual void assign(::org::omg::DynamicAny::DynAny *) = 0; + virtual ::org::omg::DynamicAny::DynAny * copy() = 0; + virtual ::org::omg::DynamicAny::DynAny * current_component() = 0; + virtual void destroy() = 0; + virtual void from_any(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * get_any() = 0; + virtual jboolean get_boolean() = 0; + virtual jchar get_char() = 0; + virtual jdouble get_double() = 0; + virtual jfloat get_float() = 0; + virtual jint get_long() = 0; + virtual jlong get_longlong() = 0; + virtual jbyte get_octet() = 0; + virtual ::org::omg::CORBA::Object * get_reference() = 0; + virtual jshort get_short() = 0; + virtual ::java::lang::String * get_string() = 0; + virtual ::org::omg::CORBA::TypeCode * get_typecode() = 0; + virtual jint get_ulong() = 0; + virtual jlong get_ulonglong() = 0; + virtual jshort get_ushort() = 0; + virtual ::java::io::Serializable * get_val() = 0; + virtual jchar get_wchar() = 0; + virtual ::java::lang::String * get_wstring() = 0; + virtual void insert_any(::org::omg::CORBA::Any *) = 0; + virtual void insert_boolean(jboolean) = 0; + virtual void insert_char(jchar) = 0; + virtual void insert_double(jdouble) = 0; + virtual void insert_float(jfloat) = 0; + virtual void insert_long(jint) = 0; + virtual void insert_longlong(jlong) = 0; + virtual void insert_octet(jbyte) = 0; + virtual void insert_reference(::org::omg::CORBA::Object *) = 0; + virtual void insert_short(jshort) = 0; + virtual void insert_string(::java::lang::String *) = 0; + virtual void insert_typecode(::org::omg::CORBA::TypeCode *) = 0; + virtual void insert_ulong(jint) = 0; + virtual void insert_ulonglong(jlong) = 0; + virtual void insert_ushort(jshort) = 0; + virtual void insert_val(::java::io::Serializable *) = 0; + virtual void insert_wchar(jchar) = 0; + virtual void insert_wstring(::java::lang::String *) = 0; + virtual jboolean next() = 0; + virtual void rewind() = 0; + virtual jboolean seek(jint) = 0; + virtual ::org::omg::CORBA::Any * to_any() = 0; + virtual ::org::omg::CORBA::TypeCode * type() = 0; + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *) = 0; + virtual jboolean equal(::org::omg::DynamicAny::DynAny *) = 0; + virtual jint component_count() = 0; + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any() = 0; + virtual jboolean is_null() = 0; + virtual void set_to_null() = 0; + virtual void set_to_value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_DynamicAny_DynValueOperations__ diff --git a/libjava/org/omg/DynamicAny/FieldNameHelper.h b/libjava/org/omg/DynamicAny/FieldNameHelper.h new file mode 100644 index 00000000000..9276e12b0e6 --- /dev/null +++ b/libjava/org/omg/DynamicAny/FieldNameHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_FieldNameHelper__ +#define __org_omg_DynamicAny_FieldNameHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class FieldNameHelper; + } + } + } +} + +class org::omg::DynamicAny::FieldNameHelper : public ::java::lang::Object +{ + +public: + FieldNameHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_FieldNameHelper__ diff --git a/libjava/org/omg/DynamicAny/NameDynAnyPair.h b/libjava/org/omg/DynamicAny/NameDynAnyPair.h new file mode 100644 index 00000000000..9311531724c --- /dev/null +++ b/libjava/org/omg/DynamicAny/NameDynAnyPair.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_NameDynAnyPair__ +#define __org_omg_DynamicAny_NameDynAnyPair__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace DynamicAny + { + class DynAny; + class NameDynAnyPair; + } + } + } +} + +class org::omg::DynamicAny::NameDynAnyPair : public ::java::lang::Object +{ + +public: + NameDynAnyPair(); + NameDynAnyPair(::java::lang::String *, ::org::omg::DynamicAny::DynAny *); +private: + static const jlong serialVersionUID = -1992533286932908564LL; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id; + ::org::omg::DynamicAny::DynAny * value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_NameDynAnyPair__ diff --git a/libjava/org/omg/DynamicAny/NameDynAnyPairHelper.h b/libjava/org/omg/DynamicAny/NameDynAnyPairHelper.h new file mode 100644 index 00000000000..ea42e70e2cf --- /dev/null +++ b/libjava/org/omg/DynamicAny/NameDynAnyPairHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_NameDynAnyPairHelper__ +#define __org_omg_DynamicAny_NameDynAnyPairHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameDynAnyPair; + class NameDynAnyPairHelper; + } + } + } +} + +class org::omg::DynamicAny::NameDynAnyPairHelper : public ::java::lang::Object +{ + +public: + NameDynAnyPairHelper(); + static ::org::omg::DynamicAny::NameDynAnyPair * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::NameDynAnyPair *); + static ::org::omg::DynamicAny::NameDynAnyPair * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::NameDynAnyPair *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_NameDynAnyPairHelper__ diff --git a/libjava/org/omg/DynamicAny/NameDynAnyPairSeqHelper.h b/libjava/org/omg/DynamicAny/NameDynAnyPairSeqHelper.h new file mode 100644 index 00000000000..40548c79084 --- /dev/null +++ b/libjava/org/omg/DynamicAny/NameDynAnyPairSeqHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_NameDynAnyPairSeqHelper__ +#define __org_omg_DynamicAny_NameDynAnyPairSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameDynAnyPair; + class NameDynAnyPairSeqHelper; + } + } + } +} + +class org::omg::DynamicAny::NameDynAnyPairSeqHelper : public ::java::lang::Object +{ + +public: + NameDynAnyPairSeqHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); + static JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_NameDynAnyPairSeqHelper__ diff --git a/libjava/org/omg/DynamicAny/NameValuePair.h b/libjava/org/omg/DynamicAny/NameValuePair.h new file mode 100644 index 00000000000..d781837d82b --- /dev/null +++ b/libjava/org/omg/DynamicAny/NameValuePair.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_NameValuePair__ +#define __org_omg_DynamicAny_NameValuePair__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + } + namespace DynamicAny + { + class NameValuePair; + } + } + } +} + +class org::omg::DynamicAny::NameValuePair : public ::java::lang::Object +{ + +public: + NameValuePair(); + NameValuePair(::java::lang::String *, ::org::omg::CORBA::Any *); +private: + static const jlong serialVersionUID = -1289460542874201736LL; +public: + ::org::omg::CORBA::Any * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + ::java::lang::String * id; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_NameValuePair__ diff --git a/libjava/org/omg/DynamicAny/NameValuePairHelper.h b/libjava/org/omg/DynamicAny/NameValuePairHelper.h new file mode 100644 index 00000000000..cac4c62a296 --- /dev/null +++ b/libjava/org/omg/DynamicAny/NameValuePairHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_NameValuePairHelper__ +#define __org_omg_DynamicAny_NameValuePairHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameValuePair; + class NameValuePairHelper; + } + } + } +} + +class org::omg::DynamicAny::NameValuePairHelper : public ::java::lang::Object +{ + +public: + NameValuePairHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::DynamicAny::NameValuePair *); + static ::org::omg::DynamicAny::NameValuePair * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::DynamicAny::NameValuePair * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::DynamicAny::NameValuePair *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_NameValuePairHelper__ diff --git a/libjava/org/omg/DynamicAny/NameValuePairSeqHelper.h b/libjava/org/omg/DynamicAny/NameValuePairSeqHelper.h new file mode 100644 index 00000000000..fa1d8f336e6 --- /dev/null +++ b/libjava/org/omg/DynamicAny/NameValuePairSeqHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny_NameValuePairSeqHelper__ +#define __org_omg_DynamicAny_NameValuePairSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace DynamicAny + { + class NameValuePair; + class NameValuePairSeqHelper; + } + } + } +} + +class org::omg::DynamicAny::NameValuePairSeqHelper : public ::java::lang::Object +{ + +public: + NameValuePairSeqHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::DynamicAny::NameValuePair * > *); + static JArray< ::org::omg::DynamicAny::NameValuePair * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static JArray< ::org::omg::DynamicAny::NameValuePair * > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::DynamicAny::NameValuePair * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny_NameValuePairSeqHelper__ diff --git a/libjava/org/omg/DynamicAny/_DynAnyFactoryStub.h b/libjava/org/omg/DynamicAny/_DynAnyFactoryStub.h new file mode 100644 index 00000000000..ca5e2363a06 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynAnyFactoryStub.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynAnyFactoryStub__ +#define __org_omg_DynamicAny__DynAnyFactoryStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynAnyFactoryStub; + } + } + } +} + +class org::omg::DynamicAny::_DynAnyFactoryStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynAnyFactoryStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any(::org::omg::CORBA::Any *); + virtual ::org::omg::DynamicAny::DynAny * create_dyn_any_from_type_code(::org::omg::CORBA::TypeCode *); +private: + static const jlong serialVersionUID = -6575269659020082310LL; +public: + static ::java::lang::Class * _opsClass; +public: // actually package-private + static ::java::lang::String * NOT_APPLICABLE; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynAnyFactoryStub__ diff --git a/libjava/org/omg/DynamicAny/_DynAnyStub.h b/libjava/org/omg/DynamicAny/_DynAnyStub.h new file mode 100644 index 00000000000..bd4ba819ba8 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynAnyStub.h @@ -0,0 +1,99 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynAnyStub__ +#define __org_omg_DynamicAny__DynAnyStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynAnyStub; + } + } + } +} + +class org::omg::DynamicAny::_DynAnyStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynAnyStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = -6521892777941121597LL; +public: + static ::java::lang::Class * _opsClass; +public: // actually package-private + static ::java::lang::String * NOT_APPLICABLE; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynAnyStub__ diff --git a/libjava/org/omg/DynamicAny/_DynArrayStub.h b/libjava/org/omg/DynamicAny/_DynArrayStub.h new file mode 100644 index 00000000000..a9723ed5ca6 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynArrayStub.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynArrayStub__ +#define __org_omg_DynamicAny__DynArrayStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynArrayStub; + } + } + } +} + +class org::omg::DynamicAny::_DynArrayStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynArrayStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual JArray< ::org::omg::CORBA::Any * > * get_elements(); + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any(); + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *); + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = -6302474930370950228LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynArrayStub__ diff --git a/libjava/org/omg/DynamicAny/_DynEnumStub.h b/libjava/org/omg/DynamicAny/_DynEnumStub.h new file mode 100644 index 00000000000..6a4adf1aa87 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynEnumStub.h @@ -0,0 +1,100 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynEnumStub__ +#define __org_omg_DynamicAny__DynEnumStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynEnumStub; + } + } + } +} + +class org::omg::DynamicAny::_DynEnumStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynEnumStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::java::lang::String * get_as_string(); + virtual jint get_as_ulong(); + virtual void set_as_string(::java::lang::String *); + virtual void set_as_ulong(jint); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = 696844314172031949LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynEnumStub__ diff --git a/libjava/org/omg/DynamicAny/_DynFixedStub.h b/libjava/org/omg/DynamicAny/_DynFixedStub.h new file mode 100644 index 00000000000..f6496f2a6c0 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynFixedStub.h @@ -0,0 +1,98 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynFixedStub__ +#define __org_omg_DynamicAny__DynFixedStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynFixedStub; + } + } + } +} + +class org::omg::DynamicAny::_DynFixedStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynFixedStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::java::lang::String * get_value(); + virtual jboolean set_value(::java::lang::String *); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = -1932029532964417188LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynFixedStub__ diff --git a/libjava/org/omg/DynamicAny/_DynSequenceStub.h b/libjava/org/omg/DynamicAny/_DynSequenceStub.h new file mode 100644 index 00000000000..69c48736790 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynSequenceStub.h @@ -0,0 +1,102 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynSequenceStub__ +#define __org_omg_DynamicAny__DynSequenceStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynSequenceStub; + } + } + } +} + +class org::omg::DynamicAny::_DynSequenceStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynSequenceStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual JArray< ::org::omg::CORBA::Any * > * get_elements(); + virtual JArray< ::org::omg::DynamicAny::DynAny * > * get_elements_as_dyn_any(); + virtual void set_elements(JArray< ::org::omg::CORBA::Any * > *); + virtual void set_elements_as_dyn_any(JArray< ::org::omg::DynamicAny::DynAny * > *); + virtual jint get_length(); + virtual void set_length(jint); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = 7191437435669107554LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynSequenceStub__ diff --git a/libjava/org/omg/DynamicAny/_DynStructStub.h b/libjava/org/omg/DynamicAny/_DynStructStub.h new file mode 100644 index 00000000000..cabaa9af35a --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynStructStub.h @@ -0,0 +1,105 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynStructStub__ +#define __org_omg_DynamicAny__DynStructStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class NameDynAnyPair; + class NameValuePair; + class _DynStructStub; + } + } + } +} + +class org::omg::DynamicAny::_DynStructStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynStructStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::TCKind * current_member_kind(); + virtual ::java::lang::String * current_member_name(); + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members(); + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any(); + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *); + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = -8415786200783826656LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynStructStub__ diff --git a/libjava/org/omg/DynamicAny/_DynUnionStub.h b/libjava/org/omg/DynamicAny/_DynUnionStub.h new file mode 100644 index 00000000000..23cacbd138e --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynUnionStub.h @@ -0,0 +1,106 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynUnionStub__ +#define __org_omg_DynamicAny__DynUnionStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class _DynUnionStub; + } + } + } +} + +class org::omg::DynamicAny::_DynUnionStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynUnionStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::DynamicAny::DynAny * member(); + virtual ::org::omg::CORBA::TCKind * discriminator_kind(); + virtual ::org::omg::DynamicAny::DynAny * get_discriminator(); + virtual jboolean has_no_active_member(); + virtual ::org::omg::CORBA::TCKind * member_kind(); + virtual ::java::lang::String * member_name(); + virtual void set_discriminator(::org::omg::DynamicAny::DynAny *); + virtual void set_to_default_member(); + virtual void set_to_no_active_member(); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = -8921031953572009897LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynUnionStub__ diff --git a/libjava/org/omg/DynamicAny/_DynValueStub.h b/libjava/org/omg/DynamicAny/_DynValueStub.h new file mode 100644 index 00000000000..7a8ecf92465 --- /dev/null +++ b/libjava/org/omg/DynamicAny/_DynValueStub.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_DynamicAny__DynValueStub__ +#define __org_omg_DynamicAny__DynValueStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TCKind; + class TypeCode; + } + namespace DynamicAny + { + class DynAny; + class NameDynAnyPair; + class NameValuePair; + class _DynValueStub; + } + } + } +} + +class org::omg::DynamicAny::_DynValueStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _DynValueStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::CORBA::TCKind * current_member_kind(); + virtual ::java::lang::String * current_member_name(); + virtual JArray< ::org::omg::DynamicAny::NameValuePair * > * get_members(); + virtual JArray< ::org::omg::DynamicAny::NameDynAnyPair * > * get_members_as_dyn_any(); + virtual void set_members(JArray< ::org::omg::DynamicAny::NameValuePair * > *); + virtual void set_members_as_dyn_any(JArray< ::org::omg::DynamicAny::NameDynAnyPair * > *); + virtual jboolean is_null(); + virtual void set_to_null(); + virtual void set_to_value(); + virtual ::org::omg::CORBA::TypeCode * type(); + virtual jboolean next(); + virtual void destroy(); + virtual ::org::omg::DynamicAny::DynAny * copy(); + virtual void rewind(); + virtual void assign(::org::omg::DynamicAny::DynAny *); + virtual jint component_count(); + virtual ::org::omg::DynamicAny::DynAny * current_component(); + virtual jboolean equal(::org::omg::DynamicAny::DynAny *); + virtual void from_any(::org::omg::CORBA::Any *); + virtual ::org::omg::CORBA::Any * get_any(); + virtual jboolean get_boolean(); + virtual jchar get_char(); + virtual jdouble get_double(); + virtual ::org::omg::DynamicAny::DynAny * get_dyn_any(); + virtual jfloat get_float(); + virtual jint get_long(); + virtual jlong get_longlong(); + virtual jbyte get_octet(); + virtual ::org::omg::CORBA::Object * get_reference(); + virtual jshort get_short(); + virtual ::java::lang::String * get_string(); + virtual ::org::omg::CORBA::TypeCode * get_typecode(); + virtual jint get_ulong(); + virtual jlong get_ulonglong(); + virtual jshort get_ushort(); + virtual ::java::io::Serializable * get_val(); + virtual jchar get_wchar(); + virtual ::java::lang::String * get_wstring(); + virtual void insert_any(::org::omg::CORBA::Any *); + virtual void insert_boolean(jboolean); + virtual void insert_char(jchar); + virtual void insert_double(jdouble); + virtual void insert_dyn_any(::org::omg::DynamicAny::DynAny *); + virtual void insert_float(jfloat); + virtual void insert_long(jint); + virtual void insert_longlong(jlong); + virtual void insert_octet(jbyte); + virtual void insert_reference(::org::omg::CORBA::Object *); + virtual void insert_short(jshort); + virtual void insert_string(::java::lang::String *); + virtual void insert_typecode(::org::omg::CORBA::TypeCode *); + virtual void insert_ulong(jint); + virtual void insert_ulonglong(jlong); + virtual void insert_ushort(jshort); + virtual void insert_val(::java::io::Serializable *); + virtual void insert_wchar(jchar); + virtual void insert_wstring(::java::lang::String *); + virtual jboolean seek(jint); + virtual ::org::omg::CORBA::Any * to_any(); +private: + static const jlong serialVersionUID = 5815313794012360824LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_DynamicAny__DynValueStub__ diff --git a/libjava/org/omg/IOP/CodeSets.h b/libjava/org/omg/IOP/CodeSets.h new file mode 100644 index 00000000000..c93ffaa6cd1 --- /dev/null +++ b/libjava/org/omg/IOP/CodeSets.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodeSets__ +#define __org_omg_IOP_CodeSets__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class CodeSets; + } + } + } +} + +class org::omg::IOP::CodeSets : public ::java::lang::Object +{ + +public: + static const jint value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_CodeSets__ diff --git a/libjava/org/omg/IOP/Codec.h b/libjava/org/omg/IOP/Codec.h new file mode 100644 index 00000000000..f25bacb6dcd --- /dev/null +++ b/libjava/org/omg/IOP/Codec.h @@ -0,0 +1,65 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_Codec__ +#define __org_omg_IOP_Codec__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace IOP + { + class Codec; + } + } + } +} + +class org::omg::IOP::Codec : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * encode(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * decode(JArray< jbyte > *) = 0; + virtual JArray< jbyte > * encode_value(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * decode_value(JArray< jbyte > *, ::org::omg::CORBA::TypeCode *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_Codec__ diff --git a/libjava/org/omg/IOP/CodecFactory.h b/libjava/org/omg/IOP/CodecFactory.h new file mode 100644 index 00000000000..b5f0b4f9bc5 --- /dev/null +++ b/libjava/org/omg/IOP/CodecFactory.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecFactory__ +#define __org_omg_IOP_CodecFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace IOP + { + class Codec; + class CodecFactory; + class Encoding; + } + } + } +} + +class org::omg::IOP::CodecFactory : public ::java::lang::Object +{ + +public: + virtual ::org::omg::IOP::Codec * create_codec(::org::omg::IOP::Encoding *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_CodecFactory__ diff --git a/libjava/org/omg/IOP/CodecFactoryHelper.h b/libjava/org/omg/IOP/CodecFactoryHelper.h new file mode 100644 index 00000000000..638907def12 --- /dev/null +++ b/libjava/org/omg/IOP/CodecFactoryHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecFactoryHelper__ +#define __org_omg_IOP_CodecFactoryHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class CodecFactory; + class CodecFactoryHelper; + } + } + } +} + +class org::omg::IOP::CodecFactoryHelper : public ::java::lang::Object +{ + +public: + CodecFactoryHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::CodecFactory *); + static ::org::omg::IOP::CodecFactory * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::CodecFactory * narrow(::org::omg::CORBA::Object *); + static ::org::omg::IOP::CodecFactory * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::IOP::CodecFactory * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::CodecFactory *); +private: + static ::java::lang::String * UNSUPPORTED; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecFactoryHelper__ diff --git a/libjava/org/omg/IOP/CodecFactoryOperations.h b/libjava/org/omg/IOP/CodecFactoryOperations.h new file mode 100644 index 00000000000..7691f738731 --- /dev/null +++ b/libjava/org/omg/IOP/CodecFactoryOperations.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecFactoryOperations__ +#define __org_omg_IOP_CodecFactoryOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class Codec; + class CodecFactoryOperations; + class Encoding; + } + } + } +} + +class org::omg::IOP::CodecFactoryOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::IOP::Codec * create_codec(::org::omg::IOP::Encoding *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_CodecFactoryOperations__ diff --git a/libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.h b/libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.h new file mode 100644 index 00000000000..6d95f21a109 --- /dev/null +++ b/libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecFactoryPackage_UnknownEncoding__ +#define __org_omg_IOP_CodecFactoryPackage_UnknownEncoding__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + namespace CodecFactoryPackage + { + class UnknownEncoding; + } + } + } + } +} + +class org::omg::IOP::CodecFactoryPackage::UnknownEncoding : public ::org::omg::CORBA::UserException +{ + +public: + UnknownEncoding(); + UnknownEncoding(::java::lang::String *); +private: + static const jlong serialVersionUID = 1613955753212049966LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecFactoryPackage_UnknownEncoding__ diff --git a/libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.h b/libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.h new file mode 100644 index 00000000000..3cc0ad3ebf7 --- /dev/null +++ b/libjava/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecFactoryPackage_UnknownEncodingHelper__ +#define __org_omg_IOP_CodecFactoryPackage_UnknownEncodingHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + namespace CodecFactoryPackage + { + class UnknownEncoding; + class UnknownEncodingHelper; + } + } + } + } +} + +class org::omg::IOP::CodecFactoryPackage::UnknownEncodingHelper : public ::java::lang::Object +{ + +public: + UnknownEncodingHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::CodecFactoryPackage::UnknownEncoding *); + static ::org::omg::IOP::CodecFactoryPackage::UnknownEncoding * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::CodecFactoryPackage::UnknownEncoding * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::CodecFactoryPackage::UnknownEncoding *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecFactoryPackage_UnknownEncodingHelper__ diff --git a/libjava/org/omg/IOP/CodecOperations.h b/libjava/org/omg/IOP/CodecOperations.h new file mode 100644 index 00000000000..50ae2e6c865 --- /dev/null +++ b/libjava/org/omg/IOP/CodecOperations.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecOperations__ +#define __org_omg_IOP_CodecOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + } + namespace IOP + { + class CodecOperations; + } + } + } +} + +class org::omg::IOP::CodecOperations : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * encode(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * decode(JArray< jbyte > *) = 0; + virtual JArray< jbyte > * encode_value(::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Any * decode_value(JArray< jbyte > *, ::org::omg::CORBA::TypeCode *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_CodecOperations__ diff --git a/libjava/org/omg/IOP/CodecPackage/FormatMismatch.h b/libjava/org/omg/IOP/CodecPackage/FormatMismatch.h new file mode 100644 index 00000000000..4c007a67092 --- /dev/null +++ b/libjava/org/omg/IOP/CodecPackage/FormatMismatch.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecPackage_FormatMismatch__ +#define __org_omg_IOP_CodecPackage_FormatMismatch__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + namespace CodecPackage + { + class FormatMismatch; + } + } + } + } +} + +class org::omg::IOP::CodecPackage::FormatMismatch : public ::org::omg::CORBA::UserException +{ + +public: + FormatMismatch(); + FormatMismatch(::java::lang::String *); +private: + static const jlong serialVersionUID = 5818121867618342320LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecPackage_FormatMismatch__ diff --git a/libjava/org/omg/IOP/CodecPackage/FormatMismatchHelper.h b/libjava/org/omg/IOP/CodecPackage/FormatMismatchHelper.h new file mode 100644 index 00000000000..2c46bc3d306 --- /dev/null +++ b/libjava/org/omg/IOP/CodecPackage/FormatMismatchHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecPackage_FormatMismatchHelper__ +#define __org_omg_IOP_CodecPackage_FormatMismatchHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + namespace CodecPackage + { + class FormatMismatch; + class FormatMismatchHelper; + } + } + } + } +} + +class org::omg::IOP::CodecPackage::FormatMismatchHelper : public ::java::lang::Object +{ + +public: + FormatMismatchHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::CodecPackage::FormatMismatch *); + static ::org::omg::IOP::CodecPackage::FormatMismatch * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::CodecPackage::FormatMismatch * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::CodecPackage::FormatMismatch *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecPackage_FormatMismatchHelper__ diff --git a/libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.h b/libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.h new file mode 100644 index 00000000000..b5e3ff08b14 --- /dev/null +++ b/libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecPackage_InvalidTypeForEncoding__ +#define __org_omg_IOP_CodecPackage_InvalidTypeForEncoding__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + namespace CodecPackage + { + class InvalidTypeForEncoding; + } + } + } + } +} + +class org::omg::IOP::CodecPackage::InvalidTypeForEncoding : public ::org::omg::CORBA::UserException +{ + +public: + InvalidTypeForEncoding(); + InvalidTypeForEncoding(::java::lang::String *); +private: + static const jlong serialVersionUID = 7951932210684443970LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecPackage_InvalidTypeForEncoding__ diff --git a/libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.h b/libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.h new file mode 100644 index 00000000000..f28ee1ce9e0 --- /dev/null +++ b/libjava/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecPackage_InvalidTypeForEncodingHelper__ +#define __org_omg_IOP_CodecPackage_InvalidTypeForEncodingHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + namespace CodecPackage + { + class InvalidTypeForEncoding; + class InvalidTypeForEncodingHelper; + } + } + } + } +} + +class org::omg::IOP::CodecPackage::InvalidTypeForEncodingHelper : public ::java::lang::Object +{ + +public: + InvalidTypeForEncodingHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::CodecPackage::InvalidTypeForEncoding *); + static ::org::omg::IOP::CodecPackage::InvalidTypeForEncoding * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::CodecPackage::InvalidTypeForEncoding * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::CodecPackage::InvalidTypeForEncoding *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecPackage_InvalidTypeForEncodingHelper__ diff --git a/libjava/org/omg/IOP/CodecPackage/TypeMismatch.h b/libjava/org/omg/IOP/CodecPackage/TypeMismatch.h new file mode 100644 index 00000000000..ca710546681 --- /dev/null +++ b/libjava/org/omg/IOP/CodecPackage/TypeMismatch.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecPackage_TypeMismatch__ +#define __org_omg_IOP_CodecPackage_TypeMismatch__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + namespace CodecPackage + { + class TypeMismatch; + } + } + } + } +} + +class org::omg::IOP::CodecPackage::TypeMismatch : public ::org::omg::CORBA::UserException +{ + +public: + TypeMismatch(); + TypeMismatch(::java::lang::String *); +private: + static const jlong serialVersionUID = -3544092104480759035LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecPackage_TypeMismatch__ diff --git a/libjava/org/omg/IOP/CodecPackage/TypeMismatchHelper.h b/libjava/org/omg/IOP/CodecPackage/TypeMismatchHelper.h new file mode 100644 index 00000000000..97d7f927a7d --- /dev/null +++ b/libjava/org/omg/IOP/CodecPackage/TypeMismatchHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_CodecPackage_TypeMismatchHelper__ +#define __org_omg_IOP_CodecPackage_TypeMismatchHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + namespace CodecPackage + { + class TypeMismatch; + class TypeMismatchHelper; + } + } + } + } +} + +class org::omg::IOP::CodecPackage::TypeMismatchHelper : public ::java::lang::Object +{ + +public: + TypeMismatchHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::CodecPackage::TypeMismatch *); + static ::org::omg::IOP::CodecPackage::TypeMismatch * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::CodecPackage::TypeMismatch * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::CodecPackage::TypeMismatch *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_CodecPackage_TypeMismatchHelper__ diff --git a/libjava/org/omg/IOP/ComponentIdHelper.h b/libjava/org/omg/IOP/ComponentIdHelper.h new file mode 100644 index 00000000000..d2bb02c706f --- /dev/null +++ b/libjava/org/omg/IOP/ComponentIdHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ComponentIdHelper__ +#define __org_omg_IOP_ComponentIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ComponentIdHelper; + } + } + } +} + +class org::omg::IOP::ComponentIdHelper : public ::java::lang::Object +{ + +public: + ComponentIdHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, jint); + static jint extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static jint read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jint); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ComponentIdHelper__ diff --git a/libjava/org/omg/IOP/ENCODING_CDR_ENCAPS.h b/libjava/org/omg/IOP/ENCODING_CDR_ENCAPS.h new file mode 100644 index 00000000000..eef1631809c --- /dev/null +++ b/libjava/org/omg/IOP/ENCODING_CDR_ENCAPS.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ENCODING_CDR_ENCAPS__ +#define __org_omg_IOP_ENCODING_CDR_ENCAPS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class ENCODING_CDR_ENCAPS; + } + } + } +} + +class org::omg::IOP::ENCODING_CDR_ENCAPS : public ::java::lang::Object +{ + +public: + static const jshort value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_ENCODING_CDR_ENCAPS__ diff --git a/libjava/org/omg/IOP/Encoding.h b/libjava/org/omg/IOP/Encoding.h new file mode 100644 index 00000000000..787bec5d5e9 --- /dev/null +++ b/libjava/org/omg/IOP/Encoding.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_Encoding__ +#define __org_omg_IOP_Encoding__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class Encoding; + } + } + } +} + +class org::omg::IOP::Encoding : public ::java::lang::Object +{ + +public: + Encoding(); + Encoding(jshort, jbyte, jbyte); +private: + static const jlong serialVersionUID = -1489257079856841992LL; +public: + jshort __attribute__((aligned(__alignof__( ::java::lang::Object)))) format; + jbyte major_version; + jbyte minor_version; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_Encoding__ diff --git a/libjava/org/omg/IOP/ExceptionDetailMessage.h b/libjava/org/omg/IOP/ExceptionDetailMessage.h new file mode 100644 index 00000000000..20506f2871a --- /dev/null +++ b/libjava/org/omg/IOP/ExceptionDetailMessage.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ExceptionDetailMessage__ +#define __org_omg_IOP_ExceptionDetailMessage__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class ExceptionDetailMessage; + } + } + } +} + +class org::omg::IOP::ExceptionDetailMessage : public ::java::lang::Object +{ + +public: + static const jint value = 14; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_ExceptionDetailMessage__ diff --git a/libjava/org/omg/IOP/IOR.h b/libjava/org/omg/IOP/IOR.h new file mode 100644 index 00000000000..c48e01a8068 --- /dev/null +++ b/libjava/org/omg/IOP/IOR.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_IOR__ +#define __org_omg_IOP_IOR__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class IOR; + class TaggedProfile; + } + } + } +} + +class org::omg::IOP::IOR : public ::java::lang::Object +{ + +public: + IOR(); + IOR(::java::lang::String *, JArray< ::org::omg::IOP::TaggedProfile * > *); +private: + static const jlong serialVersionUID = 1901439890645554948LL; +public: + JArray< ::org::omg::IOP::TaggedProfile * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) profiles; + ::java::lang::String * type_id; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_IOR__ diff --git a/libjava/org/omg/IOP/IORHelper.h b/libjava/org/omg/IOP/IORHelper.h new file mode 100644 index 00000000000..c74b4658e8c --- /dev/null +++ b/libjava/org/omg/IOP/IORHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_IORHelper__ +#define __org_omg_IOP_IORHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class IOR; + class IORHelper; + } + } + } +} + +class org::omg::IOP::IORHelper : public ::java::lang::Object +{ + +public: + IORHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::IOR *); + static ::org::omg::IOP::IOR * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::IOR * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::IOR *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_IORHelper__ diff --git a/libjava/org/omg/IOP/IORHolder.h b/libjava/org/omg/IOP/IORHolder.h new file mode 100644 index 00000000000..54bf586a669 --- /dev/null +++ b/libjava/org/omg/IOP/IORHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_IORHolder__ +#define __org_omg_IOP_IORHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class IOR; + class IORHolder; + } + } + } +} + +class org::omg::IOP::IORHolder : public ::java::lang::Object +{ + +public: + IORHolder(); + IORHolder(::org::omg::IOP::IOR *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::IOP::IOR * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_IORHolder__ diff --git a/libjava/org/omg/IOP/MultipleComponentProfileHelper.h b/libjava/org/omg/IOP/MultipleComponentProfileHelper.h new file mode 100644 index 00000000000..ca181453ff0 --- /dev/null +++ b/libjava/org/omg/IOP/MultipleComponentProfileHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_MultipleComponentProfileHelper__ +#define __org_omg_IOP_MultipleComponentProfileHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class MultipleComponentProfileHelper; + class TaggedComponent; + } + } + } +} + +class org::omg::IOP::MultipleComponentProfileHelper : public ::java::lang::Object +{ + +public: + MultipleComponentProfileHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::IOP::TaggedComponent * > *); + static JArray< ::org::omg::IOP::TaggedComponent * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static JArray< ::org::omg::IOP::TaggedComponent * > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::IOP::TaggedComponent * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_MultipleComponentProfileHelper__ diff --git a/libjava/org/omg/IOP/MultipleComponentProfileHolder.h b/libjava/org/omg/IOP/MultipleComponentProfileHolder.h new file mode 100644 index 00000000000..1d721beec8c --- /dev/null +++ b/libjava/org/omg/IOP/MultipleComponentProfileHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_MultipleComponentProfileHolder__ +#define __org_omg_IOP_MultipleComponentProfileHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class MultipleComponentProfileHolder; + class TaggedComponent; + } + } + } +} + +class org::omg::IOP::MultipleComponentProfileHolder : public ::java::lang::Object +{ + +public: + MultipleComponentProfileHolder(); + MultipleComponentProfileHolder(JArray< ::org::omg::IOP::TaggedComponent * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::IOP::TaggedComponent * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_MultipleComponentProfileHolder__ diff --git a/libjava/org/omg/IOP/ProfileIdHelper.h b/libjava/org/omg/IOP/ProfileIdHelper.h new file mode 100644 index 00000000000..28c7aae9ab5 --- /dev/null +++ b/libjava/org/omg/IOP/ProfileIdHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ProfileIdHelper__ +#define __org_omg_IOP_ProfileIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ProfileIdHelper; + } + } + } +} + +class org::omg::IOP::ProfileIdHelper : public ::java::lang::Object +{ + +public: + ProfileIdHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, jint); + static jint extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static jint read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jint); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ProfileIdHelper__ diff --git a/libjava/org/omg/IOP/RMICustomMaxStreamFormat.h b/libjava/org/omg/IOP/RMICustomMaxStreamFormat.h new file mode 100644 index 00000000000..24f719dbbde --- /dev/null +++ b/libjava/org/omg/IOP/RMICustomMaxStreamFormat.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_RMICustomMaxStreamFormat__ +#define __org_omg_IOP_RMICustomMaxStreamFormat__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class RMICustomMaxStreamFormat; + } + } + } +} + +class org::omg::IOP::RMICustomMaxStreamFormat : public ::java::lang::Object +{ + +public: + static const jint value = 17; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_RMICustomMaxStreamFormat__ diff --git a/libjava/org/omg/IOP/ServiceContext.h b/libjava/org/omg/IOP/ServiceContext.h new file mode 100644 index 00000000000..37773162a34 --- /dev/null +++ b/libjava/org/omg/IOP/ServiceContext.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ServiceContext__ +#define __org_omg_IOP_ServiceContext__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class ServiceContext; + } + } + } +} + +class org::omg::IOP::ServiceContext : public ::java::lang::Object +{ + +public: + ServiceContext(); + ServiceContext(jint, JArray< jbyte > *); +private: + static const jlong serialVersionUID = -2232391417465261379LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) context_id; + JArray< jbyte > * context_data; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ServiceContext__ diff --git a/libjava/org/omg/IOP/ServiceContextHelper.h b/libjava/org/omg/IOP/ServiceContextHelper.h new file mode 100644 index 00000000000..368c1c12838 --- /dev/null +++ b/libjava/org/omg/IOP/ServiceContextHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ServiceContextHelper__ +#define __org_omg_IOP_ServiceContextHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ServiceContext; + class ServiceContextHelper; + } + } + } +} + +class org::omg::IOP::ServiceContextHelper : public ::java::lang::Object +{ + +public: + ServiceContextHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::ServiceContext *); + static ::org::omg::IOP::ServiceContext * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::ServiceContext * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::ServiceContext *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ServiceContextHelper__ diff --git a/libjava/org/omg/IOP/ServiceContextHolder.h b/libjava/org/omg/IOP/ServiceContextHolder.h new file mode 100644 index 00000000000..2448be547d6 --- /dev/null +++ b/libjava/org/omg/IOP/ServiceContextHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ServiceContextHolder__ +#define __org_omg_IOP_ServiceContextHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ServiceContext; + class ServiceContextHolder; + } + } + } +} + +class org::omg::IOP::ServiceContextHolder : public ::java::lang::Object +{ + +public: + ServiceContextHolder(); + ServiceContextHolder(::org::omg::IOP::ServiceContext *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::IOP::ServiceContext * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ServiceContextHolder__ diff --git a/libjava/org/omg/IOP/ServiceContextListHelper.h b/libjava/org/omg/IOP/ServiceContextListHelper.h new file mode 100644 index 00000000000..3450d515af2 --- /dev/null +++ b/libjava/org/omg/IOP/ServiceContextListHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ServiceContextListHelper__ +#define __org_omg_IOP_ServiceContextListHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ServiceContext; + class ServiceContextListHelper; + } + } + } +} + +class org::omg::IOP::ServiceContextListHelper : public ::java::lang::Object +{ + +public: + ServiceContextListHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::IOP::ServiceContext * > *); + static JArray< ::org::omg::IOP::ServiceContext * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static JArray< ::org::omg::IOP::ServiceContext * > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::IOP::ServiceContext * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ServiceContextListHelper__ diff --git a/libjava/org/omg/IOP/ServiceContextListHolder.h b/libjava/org/omg/IOP/ServiceContextListHolder.h new file mode 100644 index 00000000000..e1d406e21a1 --- /dev/null +++ b/libjava/org/omg/IOP/ServiceContextListHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ServiceContextListHolder__ +#define __org_omg_IOP_ServiceContextListHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ServiceContext; + class ServiceContextListHolder; + } + } + } +} + +class org::omg::IOP::ServiceContextListHolder : public ::java::lang::Object +{ + +public: + ServiceContextListHolder(); + ServiceContextListHolder(JArray< ::org::omg::IOP::ServiceContext * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::IOP::ServiceContext * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ServiceContextListHolder__ diff --git a/libjava/org/omg/IOP/ServiceIdHelper.h b/libjava/org/omg/IOP/ServiceIdHelper.h new file mode 100644 index 00000000000..a8a72843912 --- /dev/null +++ b/libjava/org/omg/IOP/ServiceIdHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_ServiceIdHelper__ +#define __org_omg_IOP_ServiceIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class ServiceIdHelper; + } + } + } +} + +class org::omg::IOP::ServiceIdHelper : public ::java::lang::Object +{ + +public: + ServiceIdHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, jint); + static jint extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static jint read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jint); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_ServiceIdHelper__ diff --git a/libjava/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.h b/libjava/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.h new file mode 100644 index 00000000000..4afab11d11d --- /dev/null +++ b/libjava/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_ALTERNATE_IIOP_ADDRESS__ +#define __org_omg_IOP_TAG_ALTERNATE_IIOP_ADDRESS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_ALTERNATE_IIOP_ADDRESS; + } + } + } +} + +class org::omg::IOP::TAG_ALTERNATE_IIOP_ADDRESS : public ::java::lang::Object +{ + +public: + static const jint value = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_ALTERNATE_IIOP_ADDRESS__ diff --git a/libjava/org/omg/IOP/TAG_CODE_SETS.h b/libjava/org/omg/IOP/TAG_CODE_SETS.h new file mode 100644 index 00000000000..aae4776545b --- /dev/null +++ b/libjava/org/omg/IOP/TAG_CODE_SETS.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_CODE_SETS__ +#define __org_omg_IOP_TAG_CODE_SETS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_CODE_SETS; + } + } + } +} + +class org::omg::IOP::TAG_CODE_SETS : public ::java::lang::Object +{ + +public: + static const jint value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_CODE_SETS__ diff --git a/libjava/org/omg/IOP/TAG_INTERNET_IOP.h b/libjava/org/omg/IOP/TAG_INTERNET_IOP.h new file mode 100644 index 00000000000..cba27286684 --- /dev/null +++ b/libjava/org/omg/IOP/TAG_INTERNET_IOP.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_INTERNET_IOP__ +#define __org_omg_IOP_TAG_INTERNET_IOP__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_INTERNET_IOP; + } + } + } +} + +class org::omg::IOP::TAG_INTERNET_IOP : public ::java::lang::Object +{ + +public: + static const jint value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_INTERNET_IOP__ diff --git a/libjava/org/omg/IOP/TAG_JAVA_CODEBASE.h b/libjava/org/omg/IOP/TAG_JAVA_CODEBASE.h new file mode 100644 index 00000000000..0dea9b50631 --- /dev/null +++ b/libjava/org/omg/IOP/TAG_JAVA_CODEBASE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_JAVA_CODEBASE__ +#define __org_omg_IOP_TAG_JAVA_CODEBASE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_JAVA_CODEBASE; + } + } + } +} + +class org::omg::IOP::TAG_JAVA_CODEBASE : public ::java::lang::Object +{ + +public: + static const jint value = 25; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_JAVA_CODEBASE__ diff --git a/libjava/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.h b/libjava/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.h new file mode 100644 index 00000000000..1778342a94f --- /dev/null +++ b/libjava/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_MULTIPLE_COMPONENTS__ +#define __org_omg_IOP_TAG_MULTIPLE_COMPONENTS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_MULTIPLE_COMPONENTS; + } + } + } +} + +class org::omg::IOP::TAG_MULTIPLE_COMPONENTS : public ::java::lang::Object +{ + +public: + static const jint value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_MULTIPLE_COMPONENTS__ diff --git a/libjava/org/omg/IOP/TAG_ORB_TYPE.h b/libjava/org/omg/IOP/TAG_ORB_TYPE.h new file mode 100644 index 00000000000..154f161d133 --- /dev/null +++ b/libjava/org/omg/IOP/TAG_ORB_TYPE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_ORB_TYPE__ +#define __org_omg_IOP_TAG_ORB_TYPE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_ORB_TYPE; + } + } + } +} + +class org::omg::IOP::TAG_ORB_TYPE : public ::java::lang::Object +{ + +public: + static const jint value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_ORB_TYPE__ diff --git a/libjava/org/omg/IOP/TAG_POLICIES.h b/libjava/org/omg/IOP/TAG_POLICIES.h new file mode 100644 index 00000000000..27d7a8f0164 --- /dev/null +++ b/libjava/org/omg/IOP/TAG_POLICIES.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_POLICIES__ +#define __org_omg_IOP_TAG_POLICIES__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_POLICIES; + } + } + } +} + +class org::omg::IOP::TAG_POLICIES : public ::java::lang::Object +{ + +public: + static const jint value = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_POLICIES__ diff --git a/libjava/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.h b/libjava/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.h new file mode 100644 index 00000000000..d4b8c92bd4b --- /dev/null +++ b/libjava/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TAG_RMI_CUSTOM_MAX_STREAM_FORMAT__ +#define __org_omg_IOP_TAG_RMI_CUSTOM_MAX_STREAM_FORMAT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TAG_RMI_CUSTOM_MAX_STREAM_FORMAT; + } + } + } +} + +class org::omg::IOP::TAG_RMI_CUSTOM_MAX_STREAM_FORMAT : public ::java::lang::Object +{ + +public: + static const jint value = 38; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TAG_RMI_CUSTOM_MAX_STREAM_FORMAT__ diff --git a/libjava/org/omg/IOP/TaggedComponent.h b/libjava/org/omg/IOP/TaggedComponent.h new file mode 100644 index 00000000000..33890b784ce --- /dev/null +++ b/libjava/org/omg/IOP/TaggedComponent.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TaggedComponent__ +#define __org_omg_IOP_TaggedComponent__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TaggedComponent; + } + } + } +} + +class org::omg::IOP::TaggedComponent : public ::java::lang::Object +{ + +public: + TaggedComponent(); + TaggedComponent(jint, JArray< jbyte > *); +private: + static const jlong serialVersionUID = -2084695346022761692LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) tag; + JArray< jbyte > * component_data; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_TaggedComponent__ diff --git a/libjava/org/omg/IOP/TaggedComponentHelper.h b/libjava/org/omg/IOP/TaggedComponentHelper.h new file mode 100644 index 00000000000..f3484297f6c --- /dev/null +++ b/libjava/org/omg/IOP/TaggedComponentHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TaggedComponentHelper__ +#define __org_omg_IOP_TaggedComponentHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class TaggedComponent; + class TaggedComponentHelper; + } + } + } +} + +class org::omg::IOP::TaggedComponentHelper : public ::java::lang::Object +{ + +public: + TaggedComponentHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::TaggedComponent *); + static ::org::omg::IOP::TaggedComponent * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::TaggedComponent * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::TaggedComponent *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_TaggedComponentHelper__ diff --git a/libjava/org/omg/IOP/TaggedComponentHolder.h b/libjava/org/omg/IOP/TaggedComponentHolder.h new file mode 100644 index 00000000000..03200802ce6 --- /dev/null +++ b/libjava/org/omg/IOP/TaggedComponentHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TaggedComponentHolder__ +#define __org_omg_IOP_TaggedComponentHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class TaggedComponent; + class TaggedComponentHolder; + } + } + } +} + +class org::omg::IOP::TaggedComponentHolder : public ::java::lang::Object +{ + +public: + TaggedComponentHolder(); + TaggedComponentHolder(::org::omg::IOP::TaggedComponent *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::IOP::TaggedComponent * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_TaggedComponentHolder__ diff --git a/libjava/org/omg/IOP/TaggedProfile.h b/libjava/org/omg/IOP/TaggedProfile.h new file mode 100644 index 00000000000..55498f7c827 --- /dev/null +++ b/libjava/org/omg/IOP/TaggedProfile.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TaggedProfile__ +#define __org_omg_IOP_TaggedProfile__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TaggedProfile; + } + } + } +} + +class org::omg::IOP::TaggedProfile : public ::java::lang::Object +{ + +public: + TaggedProfile(); + TaggedProfile(jint, JArray< jbyte > *); +private: + static const jlong serialVersionUID = -461232684387903343LL; +public: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) tag; + JArray< jbyte > * profile_data; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_TaggedProfile__ diff --git a/libjava/org/omg/IOP/TaggedProfileHelper.h b/libjava/org/omg/IOP/TaggedProfileHelper.h new file mode 100644 index 00000000000..63b544e3375 --- /dev/null +++ b/libjava/org/omg/IOP/TaggedProfileHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TaggedProfileHelper__ +#define __org_omg_IOP_TaggedProfileHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class TaggedProfile; + class TaggedProfileHelper; + } + } + } +} + +class org::omg::IOP::TaggedProfileHelper : public ::java::lang::Object +{ + +public: + TaggedProfileHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::IOP::TaggedProfile *); + static ::org::omg::IOP::TaggedProfile * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::IOP::TaggedProfile * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::IOP::TaggedProfile *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_TaggedProfileHelper__ diff --git a/libjava/org/omg/IOP/TaggedProfileHolder.h b/libjava/org/omg/IOP/TaggedProfileHolder.h new file mode 100644 index 00000000000..b7eb950b4dd --- /dev/null +++ b/libjava/org/omg/IOP/TaggedProfileHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TaggedProfileHolder__ +#define __org_omg_IOP_TaggedProfileHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace IOP + { + class TaggedProfile; + class TaggedProfileHolder; + } + } + } +} + +class org::omg::IOP::TaggedProfileHolder : public ::java::lang::Object +{ + +public: + TaggedProfileHolder(); + TaggedProfileHolder(::org::omg::IOP::TaggedProfile *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::IOP::TaggedProfile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_IOP_TaggedProfileHolder__ diff --git a/libjava/org/omg/IOP/TransactionService.h b/libjava/org/omg/IOP/TransactionService.h new file mode 100644 index 00000000000..a41a26e53dd --- /dev/null +++ b/libjava/org/omg/IOP/TransactionService.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_IOP_TransactionService__ +#define __org_omg_IOP_TransactionService__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace IOP + { + class TransactionService; + } + } + } +} + +class org::omg::IOP::TransactionService : public ::java::lang::Object +{ + +public: + static const jint value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_IOP_TransactionService__ diff --git a/libjava/org/omg/Messaging/SYNC_WITH_TRANSPORT.h b/libjava/org/omg/Messaging/SYNC_WITH_TRANSPORT.h new file mode 100644 index 00000000000..6fc2b4e782e --- /dev/null +++ b/libjava/org/omg/Messaging/SYNC_WITH_TRANSPORT.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_Messaging_SYNC_WITH_TRANSPORT__ +#define __org_omg_Messaging_SYNC_WITH_TRANSPORT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace Messaging + { + class SYNC_WITH_TRANSPORT; + } + } + } +} + +class org::omg::Messaging::SYNC_WITH_TRANSPORT : public ::java::lang::Object +{ + +public: + static const jshort value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_Messaging_SYNC_WITH_TRANSPORT__ diff --git a/libjava/org/omg/Messaging/SyncScopeHelper.h b/libjava/org/omg/Messaging/SyncScopeHelper.h new file mode 100644 index 00000000000..26e8347431d --- /dev/null +++ b/libjava/org/omg/Messaging/SyncScopeHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_Messaging_SyncScopeHelper__ +#define __org_omg_Messaging_SyncScopeHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace Messaging + { + class SyncScopeHelper; + } + } + } +} + +class org::omg::Messaging::SyncScopeHelper : public ::java::lang::Object +{ + +public: + SyncScopeHelper(); + static jshort extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, jshort); + static jshort read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, jshort); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_Messaging_SyncScopeHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ACTIVE.h b/libjava/org/omg/PortableInterceptor/ACTIVE.h new file mode 100644 index 00000000000..de14e9498f8 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ACTIVE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ACTIVE__ +#define __org_omg_PortableInterceptor_ACTIVE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class ACTIVE; + } + } + } +} + +class org::omg::PortableInterceptor::ACTIVE : public ::java::lang::Object +{ + +public: + static const jshort value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ACTIVE__ diff --git a/libjava/org/omg/PortableInterceptor/AdapterManagerIdHelper.h b/libjava/org/omg/PortableInterceptor/AdapterManagerIdHelper.h new file mode 100644 index 00000000000..aabc118e9ec --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/AdapterManagerIdHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_AdapterManagerIdHelper__ +#define __org_omg_PortableInterceptor_AdapterManagerIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class AdapterManagerIdHelper; + } + } + } +} + +class org::omg::PortableInterceptor::AdapterManagerIdHelper : public ::java::lang::Object +{ + +public: + AdapterManagerIdHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, jint); + static jint extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static jint read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jint); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_AdapterManagerIdHelper__ diff --git a/libjava/org/omg/PortableInterceptor/AdapterNameHelper.h b/libjava/org/omg/PortableInterceptor/AdapterNameHelper.h new file mode 100644 index 00000000000..7f6552e38b6 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/AdapterNameHelper.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_AdapterNameHelper__ +#define __org_omg_PortableInterceptor_AdapterNameHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class AdapterNameHelper; + } + } + } +} + +class org::omg::PortableInterceptor::AdapterNameHelper : public ::java::lang::Object +{ + +public: + AdapterNameHelper(); + static JArray< ::java::lang::String * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::java::lang::String * > *); + static JArray< ::java::lang::String * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_AdapterNameHelper__ diff --git a/libjava/org/omg/PortableInterceptor/AdapterStateHelper.h b/libjava/org/omg/PortableInterceptor/AdapterStateHelper.h new file mode 100644 index 00000000000..6606a806863 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/AdapterStateHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_AdapterStateHelper__ +#define __org_omg_PortableInterceptor_AdapterStateHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class AdapterStateHelper; + } + } + } +} + +class org::omg::PortableInterceptor::AdapterStateHelper : public ::java::lang::Object +{ + +public: + AdapterStateHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, jshort); + static jshort extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static jshort read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, jshort); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_AdapterStateHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ClientRequestInfo.h b/libjava/org/omg/PortableInterceptor/ClientRequestInfo.h new file mode 100644 index 00000000000..2285aabd7b6 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ClientRequestInfo.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ClientRequestInfo__ +#define __org_omg_PortableInterceptor_ClientRequestInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + class TaggedComponent; + class TaggedProfile; + } + namespace PortableInterceptor + { + class ClientRequestInfo; + } + } + } +} + +class org::omg::PortableInterceptor::ClientRequestInfo : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Object * target() = 0; + virtual ::org::omg::CORBA::Object * effective_target() = 0; + virtual ::org::omg::IOP::TaggedProfile * effective_profile() = 0; + virtual ::org::omg::IOP::TaggedComponent * get_effective_component(jint) = 0; + virtual JArray< ::org::omg::IOP::TaggedComponent * > * get_effective_components(jint) = 0; + virtual ::org::omg::CORBA::Policy * get_request_policy(jint) = 0; + virtual ::java::lang::String * received_exception_id() = 0; + virtual ::org::omg::CORBA::Any * received_exception() = 0; + virtual void add_request_service_context(::org::omg::IOP::ServiceContext *, jboolean) = 0; + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments() = 0; + virtual JArray< ::java::lang::String * > * contexts() = 0; + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions() = 0; + virtual ::org::omg::CORBA::Object * forward_reference() = 0; + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint) = 0; + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint) = 0; + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual JArray< ::java::lang::String * > * operation_context() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jshort reply_status() = 0; + virtual jint request_id() = 0; + virtual jboolean response_expected() = 0; + virtual ::org::omg::CORBA::Any * result() = 0; + virtual jshort sync_scope() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ClientRequestInfo__ diff --git a/libjava/org/omg/PortableInterceptor/ClientRequestInfoOperations.h b/libjava/org/omg/PortableInterceptor/ClientRequestInfoOperations.h new file mode 100644 index 00000000000..af573b76eab --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ClientRequestInfoOperations.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ClientRequestInfoOperations__ +#define __org_omg_PortableInterceptor_ClientRequestInfoOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Policy; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + class TaggedComponent; + class TaggedProfile; + } + namespace PortableInterceptor + { + class ClientRequestInfoOperations; + } + } + } +} + +class org::omg::PortableInterceptor::ClientRequestInfoOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Object * target() = 0; + virtual ::org::omg::CORBA::Object * effective_target() = 0; + virtual ::org::omg::IOP::TaggedProfile * effective_profile() = 0; + virtual ::org::omg::IOP::TaggedComponent * get_effective_component(jint) = 0; + virtual JArray< ::org::omg::IOP::TaggedComponent * > * get_effective_components(jint) = 0; + virtual ::org::omg::CORBA::Policy * get_request_policy(jint) = 0; + virtual ::java::lang::String * received_exception_id() = 0; + virtual ::org::omg::CORBA::Any * received_exception() = 0; + virtual void add_request_service_context(::org::omg::IOP::ServiceContext *, jboolean) = 0; + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments() = 0; + virtual JArray< ::java::lang::String * > * contexts() = 0; + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions() = 0; + virtual ::org::omg::CORBA::Object * forward_reference() = 0; + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint) = 0; + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint) = 0; + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual JArray< ::java::lang::String * > * operation_context() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jshort reply_status() = 0; + virtual jint request_id() = 0; + virtual jboolean response_expected() = 0; + virtual ::org::omg::CORBA::Any * result() = 0; + virtual jshort sync_scope() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ClientRequestInfoOperations__ diff --git a/libjava/org/omg/PortableInterceptor/ClientRequestInterceptor.h b/libjava/org/omg/PortableInterceptor/ClientRequestInterceptor.h new file mode 100644 index 00000000000..9cb1b2a95b1 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ClientRequestInterceptor.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ClientRequestInterceptor__ +#define __org_omg_PortableInterceptor_ClientRequestInterceptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class ClientRequestInfo; + class ClientRequestInterceptor; + } + } + } +} + +class org::omg::PortableInterceptor::ClientRequestInterceptor : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual void send_request(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void receive_reply(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void receive_exception(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void receive_other(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void send_poll(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ClientRequestInterceptor__ diff --git a/libjava/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.h b/libjava/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.h new file mode 100644 index 00000000000..8673727711a --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ClientRequestInterceptorOperations__ +#define __org_omg_PortableInterceptor_ClientRequestInterceptorOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class ClientRequestInfo; + class ClientRequestInterceptorOperations; + } + } + } +} + +class org::omg::PortableInterceptor::ClientRequestInterceptorOperations : public ::java::lang::Object +{ + +public: + virtual void send_request(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void receive_reply(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void receive_exception(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void receive_other(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void send_poll(::org::omg::PortableInterceptor::ClientRequestInfo *) = 0; + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ClientRequestInterceptorOperations__ diff --git a/libjava/org/omg/PortableInterceptor/Current.h b/libjava/org/omg/PortableInterceptor/Current.h new file mode 100644 index 00000000000..04b1f431677 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/Current.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_Current__ +#define __org_omg_PortableInterceptor_Current__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class Current; + } + } + } +} + +class org::omg::PortableInterceptor::Current : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual void set_slot(jint, ::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_Current__ diff --git a/libjava/org/omg/PortableInterceptor/CurrentHelper.h b/libjava/org/omg/PortableInterceptor/CurrentHelper.h new file mode 100644 index 00000000000..2537dcbd2c8 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/CurrentHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_CurrentHelper__ +#define __org_omg_PortableInterceptor_CurrentHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class Current; + class CurrentHelper; + } + } + } +} + +class org::omg::PortableInterceptor::CurrentHelper : public ::java::lang::Object +{ + +public: + CurrentHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::Current *); + static ::org::omg::PortableInterceptor::Current * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::Current * narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableInterceptor::Current * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableInterceptor::Current * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::Current *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_CurrentHelper__ diff --git a/libjava/org/omg/PortableInterceptor/CurrentOperations.h b/libjava/org/omg/PortableInterceptor/CurrentOperations.h new file mode 100644 index 00000000000..0095f999ebf --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/CurrentOperations.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_CurrentOperations__ +#define __org_omg_PortableInterceptor_CurrentOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + } + namespace PortableInterceptor + { + class CurrentOperations; + } + } + } +} + +class org::omg::PortableInterceptor::CurrentOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual void set_slot(jint, ::org::omg::CORBA::Any *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_CurrentOperations__ diff --git a/libjava/org/omg/PortableInterceptor/DISCARDING.h b/libjava/org/omg/PortableInterceptor/DISCARDING.h new file mode 100644 index 00000000000..1c12778ee70 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/DISCARDING.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_DISCARDING__ +#define __org_omg_PortableInterceptor_DISCARDING__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class DISCARDING; + } + } + } +} + +class org::omg::PortableInterceptor::DISCARDING : public ::java::lang::Object +{ + +public: + static const jshort value = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_DISCARDING__ diff --git a/libjava/org/omg/PortableInterceptor/ForwardRequest.h b/libjava/org/omg/PortableInterceptor/ForwardRequest.h new file mode 100644 index 00000000000..63f3e49247c --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ForwardRequest.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ForwardRequest__ +#define __org_omg_PortableInterceptor_ForwardRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace PortableInterceptor + { + class ForwardRequest; + } + } + } +} + +class org::omg::PortableInterceptor::ForwardRequest : public ::org::omg::CORBA::UserException +{ + +public: + ForwardRequest(); + ForwardRequest(::java::lang::String *, ::org::omg::CORBA::Object *); + ForwardRequest(::org::omg::CORBA::Object *); +private: + static const jlong serialVersionUID = 2128007517550526397LL; +public: + ::org::omg::CORBA::Object * __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) forward; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ForwardRequest__ diff --git a/libjava/org/omg/PortableInterceptor/ForwardRequestHelper.h b/libjava/org/omg/PortableInterceptor/ForwardRequestHelper.h new file mode 100644 index 00000000000..d5631ea1eab --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ForwardRequestHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ForwardRequestHelper__ +#define __org_omg_PortableInterceptor_ForwardRequestHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ForwardRequest; + class ForwardRequestHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ForwardRequestHelper : public ::java::lang::Object +{ + +public: + ForwardRequestHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::ForwardRequest *); + static ::org::omg::PortableInterceptor::ForwardRequest * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::ForwardRequest * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::ForwardRequest *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ForwardRequestHelper__ diff --git a/libjava/org/omg/PortableInterceptor/HOLDING.h b/libjava/org/omg/PortableInterceptor/HOLDING.h new file mode 100644 index 00000000000..aa94377434e --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/HOLDING.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_HOLDING__ +#define __org_omg_PortableInterceptor_HOLDING__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class HOLDING; + } + } + } +} + +class org::omg::PortableInterceptor::HOLDING : public ::java::lang::Object +{ + +public: + static const jshort value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_HOLDING__ diff --git a/libjava/org/omg/PortableInterceptor/INACTIVE.h b/libjava/org/omg/PortableInterceptor/INACTIVE.h new file mode 100644 index 00000000000..89722a934c3 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/INACTIVE.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_INACTIVE__ +#define __org_omg_PortableInterceptor_INACTIVE__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class INACTIVE; + } + } + } +} + +class org::omg::PortableInterceptor::INACTIVE : public ::java::lang::Object +{ + +public: + static const jshort value = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_INACTIVE__ diff --git a/libjava/org/omg/PortableInterceptor/IORInfo.h b/libjava/org/omg/PortableInterceptor/IORInfo.h new file mode 100644 index 00000000000..330de97d34d --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInfo.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInfo__ +#define __org_omg_PortableInterceptor_IORInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace IOP + { + class TaggedComponent; + } + namespace PortableInterceptor + { + class IORInfo; + class ObjectReferenceFactory; + class ObjectReferenceTemplate; + } + } + } +} + +class org::omg::PortableInterceptor::IORInfo : public ::java::lang::Object +{ + +public: + virtual void add_ior_component_to_profile(::org::omg::IOP::TaggedComponent *, jint) = 0; + virtual void add_ior_component(::org::omg::IOP::TaggedComponent *) = 0; + virtual ::org::omg::CORBA::Policy * get_effective_policy(jint) = 0; + virtual ::org::omg::PortableInterceptor::ObjectReferenceTemplate * adapter_template() = 0; + virtual ::org::omg::PortableInterceptor::ObjectReferenceFactory * current_factory() = 0; + virtual void current_factory(::org::omg::PortableInterceptor::ObjectReferenceFactory *) = 0; + virtual jint manager_id() = 0; + virtual jshort state() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_IORInfo__ diff --git a/libjava/org/omg/PortableInterceptor/IORInfoOperations.h b/libjava/org/omg/PortableInterceptor/IORInfoOperations.h new file mode 100644 index 00000000000..f93bd9e2fbd --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInfoOperations.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInfoOperations__ +#define __org_omg_PortableInterceptor_IORInfoOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace IOP + { + class TaggedComponent; + } + namespace PortableInterceptor + { + class IORInfoOperations; + class ObjectReferenceFactory; + class ObjectReferenceTemplate; + } + } + } +} + +class org::omg::PortableInterceptor::IORInfoOperations : public ::java::lang::Object +{ + +public: + virtual void add_ior_component_to_profile(::org::omg::IOP::TaggedComponent *, jint) = 0; + virtual void add_ior_component(::org::omg::IOP::TaggedComponent *) = 0; + virtual ::org::omg::CORBA::Policy * get_effective_policy(jint) = 0; + virtual ::org::omg::PortableInterceptor::ObjectReferenceTemplate * adapter_template() = 0; + virtual ::org::omg::PortableInterceptor::ObjectReferenceFactory * current_factory() = 0; + virtual void current_factory(::org::omg::PortableInterceptor::ObjectReferenceFactory *) = 0; + virtual jint manager_id() = 0; + virtual jshort state() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_IORInfoOperations__ diff --git a/libjava/org/omg/PortableInterceptor/IORInterceptor.h b/libjava/org/omg/PortableInterceptor/IORInterceptor.h new file mode 100644 index 00000000000..e51016ec3a0 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInterceptor.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInterceptor__ +#define __org_omg_PortableInterceptor_IORInterceptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class IORInfo; + class IORInterceptor; + } + } + } +} + +class org::omg::PortableInterceptor::IORInterceptor : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual void establish_components(::org::omg::PortableInterceptor::IORInfo *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_IORInterceptor__ diff --git a/libjava/org/omg/PortableInterceptor/IORInterceptorOperations.h b/libjava/org/omg/PortableInterceptor/IORInterceptorOperations.h new file mode 100644 index 00000000000..0a350730740 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInterceptorOperations.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInterceptorOperations__ +#define __org_omg_PortableInterceptor_IORInterceptorOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class IORInfo; + class IORInterceptorOperations; + } + } + } +} + +class org::omg::PortableInterceptor::IORInterceptorOperations : public ::java::lang::Object +{ + +public: + virtual void establish_components(::org::omg::PortableInterceptor::IORInfo *) = 0; + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_IORInterceptorOperations__ diff --git a/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0.h b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0.h new file mode 100644 index 00000000000..0e8ccdd31ff --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInterceptor_3_0__ +#define __org_omg_PortableInterceptor_IORInterceptor_3_0__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class IORInfo; + class IORInterceptor_3_0; + class ObjectReferenceTemplate; + } + } + } +} + +class org::omg::PortableInterceptor::IORInterceptor_3_0 : public ::java::lang::Object +{ + +public: + virtual void adapter_manager_state_changed(jint, jshort) = 0; + virtual void adapter_state_changed(JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *, jshort) = 0; + virtual void components_established(::org::omg::PortableInterceptor::IORInfo *) = 0; + virtual void establish_components(::org::omg::PortableInterceptor::IORInfo *) = 0; + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_IORInterceptor_3_0__ diff --git a/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.h b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.h new file mode 100644 index 00000000000..a52aa51cea7 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInterceptor_3_0Helper__ +#define __org_omg_PortableInterceptor_IORInterceptor_3_0Helper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class IORInterceptor_3_0; + class IORInterceptor_3_0Helper; + } + } + } +} + +class org::omg::PortableInterceptor::IORInterceptor_3_0Helper : public ::java::lang::Object +{ + +public: + IORInterceptor_3_0Helper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::IORInterceptor_3_0 *); + static ::org::omg::PortableInterceptor::IORInterceptor_3_0 * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::IORInterceptor_3_0 * narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableInterceptor::IORInterceptor_3_0 * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableInterceptor::IORInterceptor_3_0 * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::IORInterceptor_3_0 *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_IORInterceptor_3_0Helper__ diff --git a/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.h b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.h new file mode 100644 index 00000000000..f64d4382c85 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInterceptor_3_0Holder__ +#define __org_omg_PortableInterceptor_IORInterceptor_3_0Holder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class IORInterceptor_3_0; + class IORInterceptor_3_0Holder; + } + } + } +} + +class org::omg::PortableInterceptor::IORInterceptor_3_0Holder : public ::java::lang::Object +{ + +public: + IORInterceptor_3_0Holder(); + IORInterceptor_3_0Holder(::org::omg::PortableInterceptor::IORInterceptor_3_0 *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::PortableInterceptor::IORInterceptor_3_0 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_IORInterceptor_3_0Holder__ diff --git a/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.h b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.h new file mode 100644 index 00000000000..895ee97fd89 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_IORInterceptor_3_0Operations__ +#define __org_omg_PortableInterceptor_IORInterceptor_3_0Operations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class IORInfo; + class IORInterceptor_3_0Operations; + class ObjectReferenceTemplate; + } + } + } +} + +class org::omg::PortableInterceptor::IORInterceptor_3_0Operations : public ::java::lang::Object +{ + +public: + virtual void adapter_manager_state_changed(jint, jshort) = 0; + virtual void adapter_state_changed(JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *, jshort) = 0; + virtual void components_established(::org::omg::PortableInterceptor::IORInfo *) = 0; + virtual void establish_components(::org::omg::PortableInterceptor::IORInfo *) = 0; + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_IORInterceptor_3_0Operations__ diff --git a/libjava/org/omg/PortableInterceptor/Interceptor.h b/libjava/org/omg/PortableInterceptor/Interceptor.h new file mode 100644 index 00000000000..8cc545cef1b --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/Interceptor.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_Interceptor__ +#define __org_omg_PortableInterceptor_Interceptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class Interceptor; + } + } + } +} + +class org::omg::PortableInterceptor::Interceptor : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_Interceptor__ diff --git a/libjava/org/omg/PortableInterceptor/InterceptorOperations.h b/libjava/org/omg/PortableInterceptor/InterceptorOperations.h new file mode 100644 index 00000000000..550da35d181 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/InterceptorOperations.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_InterceptorOperations__ +#define __org_omg_PortableInterceptor_InterceptorOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class InterceptorOperations; + } + } + } +} + +class org::omg::PortableInterceptor::InterceptorOperations : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_InterceptorOperations__ diff --git a/libjava/org/omg/PortableInterceptor/InvalidSlot.h b/libjava/org/omg/PortableInterceptor/InvalidSlot.h new file mode 100644 index 00000000000..ca9301f4167 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/InvalidSlot.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_InvalidSlot__ +#define __org_omg_PortableInterceptor_InvalidSlot__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class InvalidSlot; + } + } + } +} + +class org::omg::PortableInterceptor::InvalidSlot : public ::org::omg::CORBA::UserException +{ + +public: + InvalidSlot(); + InvalidSlot(::java::lang::String *); +private: + static const jlong serialVersionUID = 2471643293291821501LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_InvalidSlot__ diff --git a/libjava/org/omg/PortableInterceptor/InvalidSlotHelper.h b/libjava/org/omg/PortableInterceptor/InvalidSlotHelper.h new file mode 100644 index 00000000000..ba8b0235539 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/InvalidSlotHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_InvalidSlotHelper__ +#define __org_omg_PortableInterceptor_InvalidSlotHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class InvalidSlot; + class InvalidSlotHelper; + } + } + } +} + +class org::omg::PortableInterceptor::InvalidSlotHelper : public ::java::lang::Object +{ + +public: + InvalidSlotHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::InvalidSlot *); + static ::org::omg::PortableInterceptor::InvalidSlot * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::InvalidSlot * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::InvalidSlot *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_InvalidSlotHelper__ diff --git a/libjava/org/omg/PortableInterceptor/LOCATION_FORWARD.h b/libjava/org/omg/PortableInterceptor/LOCATION_FORWARD.h new file mode 100644 index 00000000000..c98609ab595 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/LOCATION_FORWARD.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_LOCATION_FORWARD__ +#define __org_omg_PortableInterceptor_LOCATION_FORWARD__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class LOCATION_FORWARD; + } + } + } +} + +class org::omg::PortableInterceptor::LOCATION_FORWARD : public ::java::lang::Object +{ + +public: + static const jshort value = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_LOCATION_FORWARD__ diff --git a/libjava/org/omg/PortableInterceptor/NON_EXISTENT.h b/libjava/org/omg/PortableInterceptor/NON_EXISTENT.h new file mode 100644 index 00000000000..fd62b3a9515 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/NON_EXISTENT.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_NON_EXISTENT__ +#define __org_omg_PortableInterceptor_NON_EXISTENT__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class NON_EXISTENT; + } + } + } +} + +class org::omg::PortableInterceptor::NON_EXISTENT : public ::java::lang::Object +{ + +public: + static const jshort value = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_NON_EXISTENT__ diff --git a/libjava/org/omg/PortableInterceptor/ORBIdHelper.h b/libjava/org/omg/PortableInterceptor/ORBIdHelper.h new file mode 100644 index 00000000000..52d76984f98 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBIdHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBIdHelper__ +#define __org_omg_PortableInterceptor_ORBIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ORBIdHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ORBIdHelper : public ::java::lang::Object +{ + +public: + ORBIdHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ORBIdHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfo.h b/libjava/org/omg/PortableInterceptor/ORBInitInfo.h new file mode 100644 index 00000000000..f72efa27e3d --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfo.h @@ -0,0 +1,77 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfo__ +#define __org_omg_PortableInterceptor_ORBInitInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace IOP + { + class CodecFactory; + } + namespace PortableInterceptor + { + class ClientRequestInterceptor; + class IORInterceptor; + class ORBInitInfo; + class PolicyFactory; + class ServerRequestInterceptor; + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfo : public ::java::lang::Object +{ + +public: + virtual void add_client_request_interceptor(::org::omg::PortableInterceptor::ClientRequestInterceptor *) = 0; + virtual void add_ior_interceptor(::org::omg::PortableInterceptor::IORInterceptor *) = 0; + virtual void add_server_request_interceptor(::org::omg::PortableInterceptor::ServerRequestInterceptor *) = 0; + virtual jint allocate_slot_id() = 0; + virtual JArray< ::java::lang::String * > * arguments() = 0; + virtual ::org::omg::IOP::CodecFactory * codec_factory() = 0; + virtual ::java::lang::String * orb_id() = 0; + virtual void register_initial_reference(::java::lang::String *, ::org::omg::CORBA::Object *) = 0; + virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *) = 0; + virtual void register_policy_factory(jint, ::org::omg::PortableInterceptor::PolicyFactory *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ORBInitInfo__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfoOperations.h b/libjava/org/omg/PortableInterceptor/ORBInitInfoOperations.h new file mode 100644 index 00000000000..72c9a0b069a --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfoOperations.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfoOperations__ +#define __org_omg_PortableInterceptor_ORBInitInfoOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace IOP + { + class CodecFactory; + } + namespace PortableInterceptor + { + class ClientRequestInterceptor; + class IORInterceptor; + class ORBInitInfoOperations; + class PolicyFactory; + class ServerRequestInterceptor; + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfoOperations : public ::java::lang::Object +{ + +public: + virtual void add_client_request_interceptor(::org::omg::PortableInterceptor::ClientRequestInterceptor *) = 0; + virtual void add_ior_interceptor(::org::omg::PortableInterceptor::IORInterceptor *) = 0; + virtual void add_server_request_interceptor(::org::omg::PortableInterceptor::ServerRequestInterceptor *) = 0; + virtual jint allocate_slot_id() = 0; + virtual JArray< ::java::lang::String * > * arguments() = 0; + virtual ::org::omg::IOP::CodecFactory * codec_factory() = 0; + virtual ::java::lang::String * orb_id() = 0; + virtual void register_initial_reference(::java::lang::String *, ::org::omg::CORBA::Object *) = 0; + virtual ::org::omg::CORBA::Object * resolve_initial_references(::java::lang::String *) = 0; + virtual void register_policy_factory(jint, ::org::omg::PortableInterceptor::PolicyFactory *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ORBInitInfoOperations__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.h b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.h new file mode 100644 index 00000000000..e9b842112e8 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfoPackage_DuplicateName__ +#define __org_omg_PortableInterceptor_ORBInitInfoPackage_DuplicateName__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + namespace ORBInitInfoPackage + { + class DuplicateName; + } + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName : public ::org::omg::CORBA::UserException +{ + +public: + DuplicateName(); + DuplicateName(::java::lang::String *, ::java::lang::String *); + DuplicateName(::java::lang::String *); +private: + static const jlong serialVersionUID = 7748239257677851130LL; +public: + ::java::lang::String * __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) name; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ORBInitInfoPackage_DuplicateName__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.h b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.h new file mode 100644 index 00000000000..8abe1f92f77 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfoPackage_DuplicateNameHelper__ +#define __org_omg_PortableInterceptor_ORBInitInfoPackage_DuplicateNameHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + namespace ORBInitInfoPackage + { + class DuplicateName; + class DuplicateNameHelper; + } + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateNameHelper : public ::java::lang::Object +{ + +public: + DuplicateNameHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName *); + static ::org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::ORBInitInfoPackage::DuplicateName *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ORBInitInfoPackage_DuplicateNameHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.h b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.h new file mode 100644 index 00000000000..a4f515fd6d0 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfoPackage_InvalidName__ +#define __org_omg_PortableInterceptor_ORBInitInfoPackage_InvalidName__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + namespace ORBInitInfoPackage + { + class InvalidName; + } + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfoPackage::InvalidName : public ::org::omg::CORBA::UserException +{ + +public: + InvalidName(); + InvalidName(::java::lang::String *); +private: + static const jlong serialVersionUID = -4599417794753377115LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ORBInitInfoPackage_InvalidName__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.h b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.h new file mode 100644 index 00000000000..ed921b1dc87 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfoPackage_InvalidNameHelper__ +#define __org_omg_PortableInterceptor_ORBInitInfoPackage_InvalidNameHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + namespace ORBInitInfoPackage + { + class InvalidName; + class InvalidNameHelper; + } + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfoPackage::InvalidNameHelper : public ::java::lang::Object +{ + +public: + InvalidNameHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::ORBInitInfoPackage::InvalidName *); + static ::org::omg::PortableInterceptor::ORBInitInfoPackage::InvalidName * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::ORBInitInfoPackage::InvalidName * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::ORBInitInfoPackage::InvalidName *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ORBInitInfoPackage_InvalidNameHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.h b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.h new file mode 100644 index 00000000000..df3ae67f694 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitInfoPackage_ObjectIdHelper__ +#define __org_omg_PortableInterceptor_ORBInitInfoPackage_ObjectIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + namespace ORBInitInfoPackage + { + class ObjectIdHelper; + } + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitInfoPackage::ObjectIdHelper : public ::java::lang::Object +{ + +public: + ObjectIdHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ORBInitInfoPackage_ObjectIdHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitializer.h b/libjava/org/omg/PortableInterceptor/ORBInitializer.h new file mode 100644 index 00000000000..860b4651e0d --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitializer.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitializer__ +#define __org_omg_PortableInterceptor_ORBInitializer__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class ORBInitInfo; + class ORBInitializer; + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitializer : public ::java::lang::Object +{ + +public: + virtual void pre_init(::org::omg::PortableInterceptor::ORBInitInfo *) = 0; + virtual void post_init(::org::omg::PortableInterceptor::ORBInitInfo *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ORBInitializer__ diff --git a/libjava/org/omg/PortableInterceptor/ORBInitializerOperations.h b/libjava/org/omg/PortableInterceptor/ORBInitializerOperations.h new file mode 100644 index 00000000000..0773c8e0bad --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ORBInitializerOperations.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ORBInitializerOperations__ +#define __org_omg_PortableInterceptor_ORBInitializerOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class ORBInitInfo; + class ORBInitializerOperations; + } + } + } +} + +class org::omg::PortableInterceptor::ORBInitializerOperations : public ::java::lang::Object +{ + +public: + virtual void pre_init(::org::omg::PortableInterceptor::ORBInitInfo *) = 0; + virtual void post_init(::org::omg::PortableInterceptor::ORBInitInfo *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ORBInitializerOperations__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectIdHelper.h b/libjava/org/omg/PortableInterceptor/ObjectIdHelper.h new file mode 100644 index 00000000000..4829abd9ac3 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectIdHelper.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectIdHelper__ +#define __org_omg_PortableInterceptor_ObjectIdHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectIdHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectIdHelper : public ::java::lang::Object +{ + +public: + ObjectIdHelper(); + static void insert(::org::omg::CORBA::Any *, JArray< jbyte > *); + static JArray< jbyte > * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static JArray< jbyte > * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< jbyte > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectIdHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceFactory.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceFactory.h new file mode 100644 index 00000000000..e55b143655d --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceFactory.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceFactory__ +#define __org_omg_PortableInterceptor_ObjectReferenceFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace PortableInterceptor + { + class ObjectReferenceFactory; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceFactory : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Object * make_object(::java::lang::String *, JArray< jbyte > *) = 0; + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ObjectReferenceFactory__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.h new file mode 100644 index 00000000000..fad8ae60a9e --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceFactoryHelper__ +#define __org_omg_PortableInterceptor_ObjectReferenceFactoryHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectReferenceFactory; + class ObjectReferenceFactoryHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceFactoryHelper : public ::java::lang::Object +{ + +public: + ObjectReferenceFactoryHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::ObjectReferenceFactory *); + static ::org::omg::PortableInterceptor::ObjectReferenceFactory * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::ObjectReferenceFactory * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::ObjectReferenceFactory *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectReferenceFactoryHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.h new file mode 100644 index 00000000000..2196531f75c --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceFactoryHolder__ +#define __org_omg_PortableInterceptor_ObjectReferenceFactoryHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectReferenceFactory; + class ObjectReferenceFactoryHolder; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceFactoryHolder : public ::java::lang::Object +{ + +public: + ObjectReferenceFactoryHolder(); + ObjectReferenceFactoryHolder(::org::omg::PortableInterceptor::ObjectReferenceFactory *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::PortableInterceptor::ObjectReferenceFactory * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectReferenceFactoryHolder__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplate.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplate.h new file mode 100644 index 00000000000..90da0424ecb --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplate.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceTemplate__ +#define __org_omg_PortableInterceptor_ObjectReferenceTemplate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace PortableInterceptor + { + class ObjectReferenceTemplate; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceTemplate : public ::java::lang::Object +{ + +public: + virtual JArray< ::java::lang::String * > * adapter_name() = 0; + virtual ::java::lang::String * orb_id() = 0; + virtual ::java::lang::String * server_id() = 0; + virtual ::org::omg::CORBA::Object * make_object(::java::lang::String *, JArray< jbyte > *) = 0; + virtual JArray< ::java::lang::String * > * _truncatable_ids() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ObjectReferenceTemplate__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.h new file mode 100644 index 00000000000..f71cbd60526 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceTemplateHelper__ +#define __org_omg_PortableInterceptor_ObjectReferenceTemplateHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectReferenceTemplate; + class ObjectReferenceTemplateHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceTemplateHelper : public ::java::lang::Object +{ + +public: + ObjectReferenceTemplateHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableInterceptor::ObjectReferenceTemplate *); + static ::org::omg::PortableInterceptor::ObjectReferenceTemplate * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableInterceptor::ObjectReferenceTemplate * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableInterceptor::ObjectReferenceTemplate *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectReferenceTemplateHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.h new file mode 100644 index 00000000000..74ddeecbd8e --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceTemplateHolder__ +#define __org_omg_PortableInterceptor_ObjectReferenceTemplateHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectReferenceTemplate; + class ObjectReferenceTemplateHolder; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceTemplateHolder : public ::java::lang::Object +{ + +public: + ObjectReferenceTemplateHolder(); + ObjectReferenceTemplateHolder(::org::omg::PortableInterceptor::ObjectReferenceTemplate *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + ::org::omg::PortableInterceptor::ObjectReferenceTemplate * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectReferenceTemplateHolder__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.h new file mode 100644 index 00000000000..9779230d587 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceTemplateSeqHelper__ +#define __org_omg_PortableInterceptor_ObjectReferenceTemplateSeqHelper__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectReferenceTemplate; + class ObjectReferenceTemplateSeqHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceTemplateSeqHelper : public ::java::lang::Object +{ + +public: + ObjectReferenceTemplateSeqHelper(); + static JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *); + static JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectReferenceTemplateSeqHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.h b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.h new file mode 100644 index 00000000000..f02f111f3a9 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ObjectReferenceTemplateSeqHolder__ +#define __org_omg_PortableInterceptor_ObjectReferenceTemplateSeqHolder__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ObjectReferenceTemplate; + class ObjectReferenceTemplateSeqHolder; + } + } + } +} + +class org::omg::PortableInterceptor::ObjectReferenceTemplateSeqHolder : public ::java::lang::Object +{ + +public: + ObjectReferenceTemplateSeqHolder(); + ObjectReferenceTemplateSeqHolder(JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *); + void _read(::org::omg::CORBA::portable::InputStream *); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::org::omg::CORBA::TypeCode * _type(); + JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ObjectReferenceTemplateSeqHolder__ diff --git a/libjava/org/omg/PortableInterceptor/PolicyFactory.h b/libjava/org/omg/PortableInterceptor/PolicyFactory.h new file mode 100644 index 00000000000..41f8cd073c7 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/PolicyFactory.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_PolicyFactory__ +#define __org_omg_PortableInterceptor_PolicyFactory__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class PolicyFactory; + } + } + } +} + +class org::omg::PortableInterceptor::PolicyFactory : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Policy * create_policy(jint, ::org::omg::CORBA::Any *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_PolicyFactory__ diff --git a/libjava/org/omg/PortableInterceptor/PolicyFactoryOperations.h b/libjava/org/omg/PortableInterceptor/PolicyFactoryOperations.h new file mode 100644 index 00000000000..fcd4c510a43 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/PolicyFactoryOperations.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_PolicyFactoryOperations__ +#define __org_omg_PortableInterceptor_PolicyFactoryOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Policy; + } + namespace PortableInterceptor + { + class PolicyFactoryOperations; + } + } + } +} + +class org::omg::PortableInterceptor::PolicyFactoryOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Policy * create_policy(jint, ::org::omg::CORBA::Any *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_PolicyFactoryOperations__ diff --git a/libjava/org/omg/PortableInterceptor/RequestInfo.h b/libjava/org/omg/PortableInterceptor/RequestInfo.h new file mode 100644 index 00000000000..9a3d9521a04 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/RequestInfo.h @@ -0,0 +1,83 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_RequestInfo__ +#define __org_omg_PortableInterceptor_RequestInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + } + namespace PortableInterceptor + { + class RequestInfo; + } + } + } +} + +class org::omg::PortableInterceptor::RequestInfo : public ::java::lang::Object +{ + +public: + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments() = 0; + virtual JArray< ::java::lang::String * > * contexts() = 0; + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions() = 0; + virtual ::org::omg::CORBA::Object * forward_reference() = 0; + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint) = 0; + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint) = 0; + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual JArray< ::java::lang::String * > * operation_context() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jshort reply_status() = 0; + virtual jint request_id() = 0; + virtual jboolean response_expected() = 0; + virtual ::org::omg::CORBA::Any * result() = 0; + virtual jshort sync_scope() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_RequestInfo__ diff --git a/libjava/org/omg/PortableInterceptor/RequestInfoOperations.h b/libjava/org/omg/PortableInterceptor/RequestInfoOperations.h new file mode 100644 index 00000000000..99476565db1 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/RequestInfoOperations.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_RequestInfoOperations__ +#define __org_omg_PortableInterceptor_RequestInfoOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + } + namespace PortableInterceptor + { + class RequestInfoOperations; + } + } + } +} + +class org::omg::PortableInterceptor::RequestInfoOperations : public ::java::lang::Object +{ + +public: + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments() = 0; + virtual JArray< ::java::lang::String * > * contexts() = 0; + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions() = 0; + virtual ::org::omg::CORBA::Object * forward_reference() = 0; + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint) = 0; + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint) = 0; + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual JArray< ::java::lang::String * > * operation_context() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jshort reply_status() = 0; + virtual jint request_id() = 0; + virtual jboolean response_expected() = 0; + virtual ::org::omg::CORBA::Any * result() = 0; + virtual jshort sync_scope() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_RequestInfoOperations__ diff --git a/libjava/org/omg/PortableInterceptor/SUCCESSFUL.h b/libjava/org/omg/PortableInterceptor/SUCCESSFUL.h new file mode 100644 index 00000000000..a566748bf51 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/SUCCESSFUL.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_SUCCESSFUL__ +#define __org_omg_PortableInterceptor_SUCCESSFUL__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class SUCCESSFUL; + } + } + } +} + +class org::omg::PortableInterceptor::SUCCESSFUL : public ::java::lang::Object +{ + +public: + static const jshort value = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_SUCCESSFUL__ diff --git a/libjava/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.h b/libjava/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.h new file mode 100644 index 00000000000..51bf8d7df0c --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_SYSTEM_EXCEPTION__ +#define __org_omg_PortableInterceptor_SYSTEM_EXCEPTION__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class SYSTEM_EXCEPTION; + } + } + } +} + +class org::omg::PortableInterceptor::SYSTEM_EXCEPTION : public ::java::lang::Object +{ + +public: + static const jshort value = 1; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_SYSTEM_EXCEPTION__ diff --git a/libjava/org/omg/PortableInterceptor/ServerIdHelper.h b/libjava/org/omg/PortableInterceptor/ServerIdHelper.h new file mode 100644 index 00000000000..af6ce18644f --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ServerIdHelper.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ServerIdHelper__ +#define __org_omg_PortableInterceptor_ServerIdHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableInterceptor + { + class ServerIdHelper; + } + } + } +} + +class org::omg::PortableInterceptor::ServerIdHelper : public ::java::lang::Object +{ + +public: + ServerIdHelper(); + static void insert(::org::omg::CORBA::Any *, ::java::lang::String *); + static ::java::lang::String * extract(::org::omg::CORBA::Any *); + static ::org::omg::CORBA::TypeCode * type(); + static ::java::lang::String * id(); + static ::java::lang::String * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor_ServerIdHelper__ diff --git a/libjava/org/omg/PortableInterceptor/ServerRequestInfo.h b/libjava/org/omg/PortableInterceptor/ServerRequestInfo.h new file mode 100644 index 00000000000..523c4c35554 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ServerRequestInfo.h @@ -0,0 +1,94 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ServerRequestInfo__ +#define __org_omg_PortableInterceptor_ServerRequestInfo__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + } + namespace PortableInterceptor + { + class ServerRequestInfo; + } + } + } +} + +class org::omg::PortableInterceptor::ServerRequestInfo : public ::java::lang::Object +{ + +public: + virtual void add_reply_service_context(::org::omg::IOP::ServiceContext *, jboolean) = 0; + virtual JArray< jbyte > * adapter_id() = 0; + virtual JArray< jbyte > * object_id() = 0; + virtual ::org::omg::CORBA::Policy * get_server_policy(jint) = 0; + virtual ::org::omg::CORBA::Any * sending_exception() = 0; + virtual void set_slot(jint, ::org::omg::CORBA::Any *) = 0; + virtual jboolean target_is_a(::java::lang::String *) = 0; + virtual ::java::lang::String * target_most_derived_interface() = 0; + virtual JArray< ::java::lang::String * > * adapter_name() = 0; + virtual ::java::lang::String * orb_id() = 0; + virtual ::java::lang::String * server_id() = 0; + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments() = 0; + virtual JArray< ::java::lang::String * > * contexts() = 0; + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions() = 0; + virtual ::org::omg::CORBA::Object * forward_reference() = 0; + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint) = 0; + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint) = 0; + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual JArray< ::java::lang::String * > * operation_context() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jshort reply_status() = 0; + virtual jint request_id() = 0; + virtual jboolean response_expected() = 0; + virtual ::org::omg::CORBA::Any * result() = 0; + virtual jshort sync_scope() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ServerRequestInfo__ diff --git a/libjava/org/omg/PortableInterceptor/ServerRequestInfoOperations.h b/libjava/org/omg/PortableInterceptor/ServerRequestInfoOperations.h new file mode 100644 index 00000000000..1c2ae7c9bb0 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ServerRequestInfoOperations.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ServerRequestInfoOperations__ +#define __org_omg_PortableInterceptor_ServerRequestInfoOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class Policy; + class TypeCode; + } + namespace Dynamic + { + class Parameter; + } + namespace IOP + { + class ServiceContext; + } + namespace PortableInterceptor + { + class ServerRequestInfoOperations; + } + } + } +} + +class org::omg::PortableInterceptor::ServerRequestInfoOperations : public ::java::lang::Object +{ + +public: + virtual void add_reply_service_context(::org::omg::IOP::ServiceContext *, jboolean) = 0; + virtual JArray< jbyte > * adapter_id() = 0; + virtual JArray< jbyte > * object_id() = 0; + virtual ::org::omg::CORBA::Policy * get_server_policy(jint) = 0; + virtual ::org::omg::CORBA::Any * sending_exception() = 0; + virtual void set_slot(jint, ::org::omg::CORBA::Any *) = 0; + virtual jboolean target_is_a(::java::lang::String *) = 0; + virtual ::java::lang::String * target_most_derived_interface() = 0; + virtual JArray< ::java::lang::String * > * adapter_name() = 0; + virtual ::java::lang::String * orb_id() = 0; + virtual ::java::lang::String * server_id() = 0; + virtual JArray< ::org::omg::Dynamic::Parameter * > * arguments() = 0; + virtual JArray< ::java::lang::String * > * contexts() = 0; + virtual JArray< ::org::omg::CORBA::TypeCode * > * exceptions() = 0; + virtual ::org::omg::CORBA::Object * forward_reference() = 0; + virtual ::org::omg::IOP::ServiceContext * get_reply_service_context(jint) = 0; + virtual ::org::omg::IOP::ServiceContext * get_request_service_context(jint) = 0; + virtual ::org::omg::CORBA::Any * get_slot(jint) = 0; + virtual JArray< ::java::lang::String * > * operation_context() = 0; + virtual ::java::lang::String * operation() = 0; + virtual jshort reply_status() = 0; + virtual jint request_id() = 0; + virtual jboolean response_expected() = 0; + virtual ::org::omg::CORBA::Any * result() = 0; + virtual jshort sync_scope() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ServerRequestInfoOperations__ diff --git a/libjava/org/omg/PortableInterceptor/ServerRequestInterceptor.h b/libjava/org/omg/PortableInterceptor/ServerRequestInterceptor.h new file mode 100644 index 00000000000..7f419883830 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ServerRequestInterceptor.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ServerRequestInterceptor__ +#define __org_omg_PortableInterceptor_ServerRequestInterceptor__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableInterceptor + { + class ServerRequestInfo; + class ServerRequestInterceptor; + } + } + } +} + +class org::omg::PortableInterceptor::ServerRequestInterceptor : public ::java::lang::Object +{ + +public: + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual void receive_request_service_contexts(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void receive_request(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void send_reply(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void send_exception(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void send_other(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ServerRequestInterceptor__ diff --git a/libjava/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.h b/libjava/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.h new file mode 100644 index 00000000000..003fa188ad5 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_ServerRequestInterceptorOperations__ +#define __org_omg_PortableInterceptor_ServerRequestInterceptorOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class ServerRequestInfo; + class ServerRequestInterceptorOperations; + } + } + } +} + +class org::omg::PortableInterceptor::ServerRequestInterceptorOperations : public ::java::lang::Object +{ + +public: + virtual void receive_request_service_contexts(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void receive_request(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void send_reply(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void send_exception(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void send_other(::org::omg::PortableInterceptor::ServerRequestInfo *) = 0; + virtual void destroy() = 0; + virtual ::java::lang::String * name() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_ServerRequestInterceptorOperations__ diff --git a/libjava/org/omg/PortableInterceptor/TRANSPORT_RETRY.h b/libjava/org/omg/PortableInterceptor/TRANSPORT_RETRY.h new file mode 100644 index 00000000000..7996b7d3089 --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/TRANSPORT_RETRY.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_TRANSPORT_RETRY__ +#define __org_omg_PortableInterceptor_TRANSPORT_RETRY__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class TRANSPORT_RETRY; + } + } + } +} + +class org::omg::PortableInterceptor::TRANSPORT_RETRY : public ::java::lang::Object +{ + +public: + static const jshort value = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_TRANSPORT_RETRY__ diff --git a/libjava/org/omg/PortableInterceptor/USER_EXCEPTION.h b/libjava/org/omg/PortableInterceptor/USER_EXCEPTION.h new file mode 100644 index 00000000000..f972427794a --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/USER_EXCEPTION.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor_USER_EXCEPTION__ +#define __org_omg_PortableInterceptor_USER_EXCEPTION__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableInterceptor + { + class USER_EXCEPTION; + } + } + } +} + +class org::omg::PortableInterceptor::USER_EXCEPTION : public ::java::lang::Object +{ + +public: + static const jshort value = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableInterceptor_USER_EXCEPTION__ diff --git a/libjava/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.h b/libjava/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.h new file mode 100644 index 00000000000..354daeff98e --- /dev/null +++ b/libjava/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableInterceptor__IORInterceptor_3_0Stub__ +#define __org_omg_PortableInterceptor__IORInterceptor_3_0Stub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + namespace portable + { + class Delegate; + } + } + namespace PortableInterceptor + { + class IORInfo; + class ObjectReferenceTemplate; + class _IORInterceptor_3_0Stub; + } + } + } +} + +class org::omg::PortableInterceptor::_IORInterceptor_3_0Stub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _IORInterceptor_3_0Stub(); + _IORInterceptor_3_0Stub(::org::omg::CORBA::portable::Delegate *); + virtual JArray< ::java::lang::String * > * _ids(); + virtual void adapter_manager_state_changed(jint, jshort); + virtual void adapter_state_changed(JArray< ::org::omg::PortableInterceptor::ObjectReferenceTemplate * > *, jshort); + virtual void components_established(::org::omg::PortableInterceptor::IORInfo *); + virtual void establish_components(::org::omg::PortableInterceptor::IORInfo *); + virtual ::java::lang::String * name(); + virtual void destroy(); +private: + static const jlong serialVersionUID = 1LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableInterceptor__IORInterceptor_3_0Stub__ diff --git a/libjava/org/omg/PortableServer/AdapterActivator.h b/libjava/org/omg/PortableServer/AdapterActivator.h new file mode 100644 index 00000000000..2f586ca498d --- /dev/null +++ b/libjava/org/omg/PortableServer/AdapterActivator.h @@ -0,0 +1,61 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_AdapterActivator__ +#define __org_omg_PortableServer_AdapterActivator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class AdapterActivator; + class POA; + } + } + } +} + +class org::omg::PortableServer::AdapterActivator : public ::java::lang::Object +{ + +public: + virtual jboolean unknown_adapter(::org::omg::PortableServer::POA *, ::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_AdapterActivator__ diff --git a/libjava/org/omg/PortableServer/AdapterActivatorOperations.h b/libjava/org/omg/PortableServer/AdapterActivatorOperations.h new file mode 100644 index 00000000000..843b7ceb381 --- /dev/null +++ b/libjava/org/omg/PortableServer/AdapterActivatorOperations.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_AdapterActivatorOperations__ +#define __org_omg_PortableServer_AdapterActivatorOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class AdapterActivatorOperations; + class POA; + } + } + } +} + +class org::omg::PortableServer::AdapterActivatorOperations : public ::java::lang::Object +{ + +public: + virtual jboolean unknown_adapter(::org::omg::PortableServer::POA *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_AdapterActivatorOperations__ diff --git a/libjava/org/omg/PortableServer/Current.h b/libjava/org/omg/PortableServer/Current.h new file mode 100644 index 00000000000..f226cb59bfa --- /dev/null +++ b/libjava/org/omg/PortableServer/Current.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_Current__ +#define __org_omg_PortableServer_Current__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class Current; + class POA; + } + } + } +} + +class org::omg::PortableServer::Current : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * get_object_id() = 0; + virtual ::org::omg::PortableServer::POA * get_POA() = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_Current__ diff --git a/libjava/org/omg/PortableServer/CurrentHelper.h b/libjava/org/omg/PortableServer/CurrentHelper.h new file mode 100644 index 00000000000..c07ffd9ea9e --- /dev/null +++ b/libjava/org/omg/PortableServer/CurrentHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_CurrentHelper__ +#define __org_omg_PortableServer_CurrentHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class Current; + class CurrentHelper; + } + } + } +} + +class org::omg::PortableServer::CurrentHelper : public ::java::lang::Object +{ + +public: + CurrentHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::Current *); + static ::org::omg::PortableServer::Current * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::Current * narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableServer::Current * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::Current *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_CurrentHelper__ diff --git a/libjava/org/omg/PortableServer/CurrentOperations.h b/libjava/org/omg/PortableServer/CurrentOperations.h new file mode 100644 index 00000000000..91f8c66dbe6 --- /dev/null +++ b/libjava/org/omg/PortableServer/CurrentOperations.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_CurrentOperations__ +#define __org_omg_PortableServer_CurrentOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class CurrentOperations; + class POA; + } + } + } +} + +class org::omg::PortableServer::CurrentOperations : public ::java::lang::Object +{ + +public: + virtual JArray< jbyte > * get_object_id() = 0; + virtual ::org::omg::PortableServer::POA * get_POA() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_CurrentOperations__ diff --git a/libjava/org/omg/PortableServer/CurrentPackage/NoContext.h b/libjava/org/omg/PortableServer/CurrentPackage/NoContext.h new file mode 100644 index 00000000000..58b8d15bbc2 --- /dev/null +++ b/libjava/org/omg/PortableServer/CurrentPackage/NoContext.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_CurrentPackage_NoContext__ +#define __org_omg_PortableServer_CurrentPackage_NoContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace CurrentPackage + { + class NoContext; + } + } + } + } +} + +class org::omg::PortableServer::CurrentPackage::NoContext : public ::org::omg::CORBA::UserException +{ + +public: + NoContext(); + NoContext(::java::lang::String *); +private: + static const jlong serialVersionUID = 4345975812295650198LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_CurrentPackage_NoContext__ diff --git a/libjava/org/omg/PortableServer/CurrentPackage/NoContextHelper.h b/libjava/org/omg/PortableServer/CurrentPackage/NoContextHelper.h new file mode 100644 index 00000000000..a5c79d658c0 --- /dev/null +++ b/libjava/org/omg/PortableServer/CurrentPackage/NoContextHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_CurrentPackage_NoContextHelper__ +#define __org_omg_PortableServer_CurrentPackage_NoContextHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace CurrentPackage + { + class NoContext; + class NoContextHelper; + } + } + } + } +} + +class org::omg::PortableServer::CurrentPackage::NoContextHelper : public ::java::lang::Object +{ + +public: + NoContextHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::CurrentPackage::NoContext *); + static ::org::omg::PortableServer::CurrentPackage::NoContext * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::CurrentPackage::NoContext * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::CurrentPackage::NoContext *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_CurrentPackage_NoContextHelper__ diff --git a/libjava/org/omg/PortableServer/DynamicImplementation.h b/libjava/org/omg/PortableServer/DynamicImplementation.h new file mode 100644 index 00000000000..7aa01af2eff --- /dev/null +++ b/libjava/org/omg/PortableServer/DynamicImplementation.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_DynamicImplementation__ +#define __org_omg_PortableServer_DynamicImplementation__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ServerRequest; + } + namespace PortableServer + { + class DynamicImplementation; + } + } + } +} + +class org::omg::PortableServer::DynamicImplementation : public ::org::omg::PortableServer::Servant +{ + +public: + DynamicImplementation(); + virtual void invoke(::org::omg::CORBA::ServerRequest *) = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_DynamicImplementation__ diff --git a/libjava/org/omg/PortableServer/ForwardRequest.h b/libjava/org/omg/PortableServer/ForwardRequest.h new file mode 100644 index 00000000000..998beba3bde --- /dev/null +++ b/libjava/org/omg/PortableServer/ForwardRequest.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ForwardRequest__ +#define __org_omg_PortableServer_ForwardRequest__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + } + namespace PortableServer + { + class ForwardRequest; + } + } + } +} + +class org::omg::PortableServer::ForwardRequest : public ::org::omg::CORBA::UserException +{ + +public: + ForwardRequest(); + ForwardRequest(::java::lang::String *, ::org::omg::CORBA::Object *); + ForwardRequest(::org::omg::CORBA::Object *); +private: + static const jlong serialVersionUID = -4159318367582473975LL; +public: + ::org::omg::CORBA::Object * __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) forward_reference; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ForwardRequest__ diff --git a/libjava/org/omg/PortableServer/ForwardRequestHelper.h b/libjava/org/omg/PortableServer/ForwardRequestHelper.h new file mode 100644 index 00000000000..5fed16257a9 --- /dev/null +++ b/libjava/org/omg/PortableServer/ForwardRequestHelper.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ForwardRequestHelper__ +#define __org_omg_PortableServer_ForwardRequestHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class ForwardRequest; + class ForwardRequestHelper; + } + } + } +} + +class org::omg::PortableServer::ForwardRequestHelper : public ::java::lang::Object +{ + +public: + ForwardRequestHelper(); + static ::org::omg::PortableServer::ForwardRequest * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::ForwardRequest *); + static ::org::omg::PortableServer::ForwardRequest * read(::org::omg::CORBA::portable::InputStream *); + static ::org::omg::CORBA::TypeCode * type(); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::ForwardRequest *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ForwardRequestHelper__ diff --git a/libjava/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.h b/libjava/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.h new file mode 100644 index 00000000000..8b06eab7c12 --- /dev/null +++ b/libjava/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ID_ASSIGNMENT_POLICY_ID__ +#define __org_omg_PortableServer_ID_ASSIGNMENT_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class ID_ASSIGNMENT_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::ID_ASSIGNMENT_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 19; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ID_ASSIGNMENT_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.h b/libjava/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.h new file mode 100644 index 00000000000..4c38631f363 --- /dev/null +++ b/libjava/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ID_UNIQUENESS_POLICY_ID__ +#define __org_omg_PortableServer_ID_UNIQUENESS_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class ID_UNIQUENESS_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::ID_UNIQUENESS_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 18; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ID_UNIQUENESS_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.h b/libjava/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.h new file mode 100644 index 00000000000..c76d8539dfe --- /dev/null +++ b/libjava/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IMPLICIT_ACTIVATION_POLICY_ID__ +#define __org_omg_PortableServer_IMPLICIT_ACTIVATION_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class IMPLICIT_ACTIVATION_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::IMPLICIT_ACTIVATION_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 20; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_IMPLICIT_ACTIVATION_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/IdAssignmentPolicy.h b/libjava/org/omg/PortableServer/IdAssignmentPolicy.h new file mode 100644 index 00000000000..de0b67653ab --- /dev/null +++ b/libjava/org/omg/PortableServer/IdAssignmentPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IdAssignmentPolicy__ +#define __org_omg_PortableServer_IdAssignmentPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class IdAssignmentPolicy; + class IdAssignmentPolicyValue; + } + } + } +} + +class org::omg::PortableServer::IdAssignmentPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::IdAssignmentPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_IdAssignmentPolicy__ diff --git a/libjava/org/omg/PortableServer/IdAssignmentPolicyOperations.h b/libjava/org/omg/PortableServer/IdAssignmentPolicyOperations.h new file mode 100644 index 00000000000..c6b25f52788 --- /dev/null +++ b/libjava/org/omg/PortableServer/IdAssignmentPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IdAssignmentPolicyOperations__ +#define __org_omg_PortableServer_IdAssignmentPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class IdAssignmentPolicyOperations; + class IdAssignmentPolicyValue; + } + } + } +} + +class org::omg::PortableServer::IdAssignmentPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::IdAssignmentPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_IdAssignmentPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/IdAssignmentPolicyValue.h b/libjava/org/omg/PortableServer/IdAssignmentPolicyValue.h new file mode 100644 index 00000000000..533b07478d2 --- /dev/null +++ b/libjava/org/omg/PortableServer/IdAssignmentPolicyValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IdAssignmentPolicyValue__ +#define __org_omg_PortableServer_IdAssignmentPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class IdAssignmentPolicyValue; + } + } + } +} + +class org::omg::PortableServer::IdAssignmentPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + IdAssignmentPolicyValue(jint); +public: + static ::org::omg::PortableServer::IdAssignmentPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = 2024380631469554382LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _USER_ID = 0; + static ::org::omg::PortableServer::IdAssignmentPolicyValue * USER_ID; + static const jint _SYSTEM_ID = 1; + static ::org::omg::PortableServer::IdAssignmentPolicyValue * SYSTEM_ID; +private: + static JArray< ::org::omg::PortableServer::IdAssignmentPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_IdAssignmentPolicyValue__ diff --git a/libjava/org/omg/PortableServer/IdUniquenessPolicy.h b/libjava/org/omg/PortableServer/IdUniquenessPolicy.h new file mode 100644 index 00000000000..eee06daf1e7 --- /dev/null +++ b/libjava/org/omg/PortableServer/IdUniquenessPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IdUniquenessPolicy__ +#define __org_omg_PortableServer_IdUniquenessPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class IdUniquenessPolicy; + class IdUniquenessPolicyValue; + } + } + } +} + +class org::omg::PortableServer::IdUniquenessPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::IdUniquenessPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_IdUniquenessPolicy__ diff --git a/libjava/org/omg/PortableServer/IdUniquenessPolicyOperations.h b/libjava/org/omg/PortableServer/IdUniquenessPolicyOperations.h new file mode 100644 index 00000000000..eb7fabe171c --- /dev/null +++ b/libjava/org/omg/PortableServer/IdUniquenessPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IdUniquenessPolicyOperations__ +#define __org_omg_PortableServer_IdUniquenessPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class IdUniquenessPolicyOperations; + class IdUniquenessPolicyValue; + } + } + } +} + +class org::omg::PortableServer::IdUniquenessPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::IdUniquenessPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_IdUniquenessPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/IdUniquenessPolicyValue.h b/libjava/org/omg/PortableServer/IdUniquenessPolicyValue.h new file mode 100644 index 00000000000..6a6a1846662 --- /dev/null +++ b/libjava/org/omg/PortableServer/IdUniquenessPolicyValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_IdUniquenessPolicyValue__ +#define __org_omg_PortableServer_IdUniquenessPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class IdUniquenessPolicyValue; + } + } + } +} + +class org::omg::PortableServer::IdUniquenessPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + IdUniquenessPolicyValue(jint); +public: + static ::org::omg::PortableServer::IdUniquenessPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = 2698951826884611346LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _UNIQUE_ID = 0; + static ::org::omg::PortableServer::IdUniquenessPolicyValue * UNIQUE_ID; + static const jint _MULTIPLE_ID = 1; + static ::org::omg::PortableServer::IdUniquenessPolicyValue * MULTIPLE_ID; +private: + static JArray< ::org::omg::PortableServer::IdUniquenessPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_IdUniquenessPolicyValue__ diff --git a/libjava/org/omg/PortableServer/ImplicitActivationPolicy.h b/libjava/org/omg/PortableServer/ImplicitActivationPolicy.h new file mode 100644 index 00000000000..827100048eb --- /dev/null +++ b/libjava/org/omg/PortableServer/ImplicitActivationPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ImplicitActivationPolicy__ +#define __org_omg_PortableServer_ImplicitActivationPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class ImplicitActivationPolicy; + class ImplicitActivationPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ImplicitActivationPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::ImplicitActivationPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ImplicitActivationPolicy__ diff --git a/libjava/org/omg/PortableServer/ImplicitActivationPolicyOperations.h b/libjava/org/omg/PortableServer/ImplicitActivationPolicyOperations.h new file mode 100644 index 00000000000..a967c666b2e --- /dev/null +++ b/libjava/org/omg/PortableServer/ImplicitActivationPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ImplicitActivationPolicyOperations__ +#define __org_omg_PortableServer_ImplicitActivationPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class ImplicitActivationPolicyOperations; + class ImplicitActivationPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ImplicitActivationPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::ImplicitActivationPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ImplicitActivationPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/ImplicitActivationPolicyValue.h b/libjava/org/omg/PortableServer/ImplicitActivationPolicyValue.h new file mode 100644 index 00000000000..ef3c5a43057 --- /dev/null +++ b/libjava/org/omg/PortableServer/ImplicitActivationPolicyValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ImplicitActivationPolicyValue__ +#define __org_omg_PortableServer_ImplicitActivationPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class ImplicitActivationPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ImplicitActivationPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + ImplicitActivationPolicyValue(jint); +public: + static ::org::omg::PortableServer::ImplicitActivationPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = 3826572456602949295LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _IMPLICIT_ACTIVATION = 0; + static ::org::omg::PortableServer::ImplicitActivationPolicyValue * IMPLICIT_ACTIVATION; + static const jint _NO_IMPLICIT_ACTIVATION = 1; + static ::org::omg::PortableServer::ImplicitActivationPolicyValue * NO_IMPLICIT_ACTIVATION; +private: + static JArray< ::org::omg::PortableServer::ImplicitActivationPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ImplicitActivationPolicyValue__ diff --git a/libjava/org/omg/PortableServer/LIFESPAN_POLICY_ID.h b/libjava/org/omg/PortableServer/LIFESPAN_POLICY_ID.h new file mode 100644 index 00000000000..b433923766d --- /dev/null +++ b/libjava/org/omg/PortableServer/LIFESPAN_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_LIFESPAN_POLICY_ID__ +#define __org_omg_PortableServer_LIFESPAN_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class LIFESPAN_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::LIFESPAN_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 17; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_LIFESPAN_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/LifespanPolicy.h b/libjava/org/omg/PortableServer/LifespanPolicy.h new file mode 100644 index 00000000000..5defae72f39 --- /dev/null +++ b/libjava/org/omg/PortableServer/LifespanPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_LifespanPolicy__ +#define __org_omg_PortableServer_LifespanPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class LifespanPolicy; + class LifespanPolicyValue; + } + } + } +} + +class org::omg::PortableServer::LifespanPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::LifespanPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_LifespanPolicy__ diff --git a/libjava/org/omg/PortableServer/LifespanPolicyOperations.h b/libjava/org/omg/PortableServer/LifespanPolicyOperations.h new file mode 100644 index 00000000000..4313531ebc8 --- /dev/null +++ b/libjava/org/omg/PortableServer/LifespanPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_LifespanPolicyOperations__ +#define __org_omg_PortableServer_LifespanPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class LifespanPolicyOperations; + class LifespanPolicyValue; + } + } + } +} + +class org::omg::PortableServer::LifespanPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::LifespanPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_LifespanPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/LifespanPolicyValue.h b/libjava/org/omg/PortableServer/LifespanPolicyValue.h new file mode 100644 index 00000000000..96b5b170f12 --- /dev/null +++ b/libjava/org/omg/PortableServer/LifespanPolicyValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_LifespanPolicyValue__ +#define __org_omg_PortableServer_LifespanPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class LifespanPolicyValue; + } + } + } +} + +class org::omg::PortableServer::LifespanPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + LifespanPolicyValue(jint); +public: + static ::org::omg::PortableServer::LifespanPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = 6604562925399671611LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _TRANSIENT = 0; + static ::org::omg::PortableServer::LifespanPolicyValue * TRANSIENT; + static const jint _PERSISTENT = 1; + static ::org::omg::PortableServer::LifespanPolicyValue * PERSISTENT; +private: + static JArray< ::org::omg::PortableServer::LifespanPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_LifespanPolicyValue__ diff --git a/libjava/org/omg/PortableServer/POA.h b/libjava/org/omg/PortableServer/POA.h new file mode 100644 index 00000000000..87defb66f18 --- /dev/null +++ b/libjava/org/omg/PortableServer/POA.h @@ -0,0 +1,109 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POA__ +#define __org_omg_PortableServer_POA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class AdapterActivator; + class IdAssignmentPolicy; + class IdAssignmentPolicyValue; + class IdUniquenessPolicy; + class IdUniquenessPolicyValue; + class ImplicitActivationPolicy; + class ImplicitActivationPolicyValue; + class LifespanPolicy; + class LifespanPolicyValue; + class POA; + class POAManager; + class RequestProcessingPolicy; + class RequestProcessingPolicyValue; + class Servant; + class ServantManager; + class ServantRetentionPolicy; + class ServantRetentionPolicyValue; + class ThreadPolicy; + class ThreadPolicyValue; + } + } + } +} + +class org::omg::PortableServer::POA : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::POA * create_POA(::java::lang::String *, ::org::omg::PortableServer::POAManager *, JArray< ::org::omg::CORBA::Policy * > *) = 0; + virtual ::org::omg::PortableServer::POA * find_POA(::java::lang::String *, jboolean) = 0; + virtual JArray< jbyte > * activate_object(::org::omg::PortableServer::Servant *) = 0; + virtual void activate_object_with_id(JArray< jbyte > *, ::org::omg::PortableServer::Servant *) = 0; + virtual void deactivate_object(JArray< jbyte > *) = 0; + virtual ::org::omg::CORBA::Object * create_reference(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * create_reference_with_id(JArray< jbyte > *, ::java::lang::String *) = 0; + virtual ::org::omg::PortableServer::Servant * get_servant() = 0; + virtual void set_servant(::org::omg::PortableServer::Servant *) = 0; + virtual void set_servant_manager(::org::omg::PortableServer::ServantManager *) = 0; + virtual ::org::omg::PortableServer::ServantManager * get_servant_manager() = 0; + virtual JArray< jbyte > * id() = 0; + virtual ::org::omg::CORBA::Object * id_to_reference(JArray< jbyte > *) = 0; + virtual ::org::omg::PortableServer::Servant * id_to_servant(JArray< jbyte > *) = 0; + virtual JArray< jbyte > * reference_to_id(::org::omg::CORBA::Object *) = 0; + virtual ::org::omg::PortableServer::Servant * reference_to_servant(::org::omg::CORBA::Object *) = 0; + virtual JArray< jbyte > * servant_to_id(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::CORBA::Object * servant_to_reference(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::PortableServer::POAManager * the_POAManager() = 0; + virtual ::org::omg::PortableServer::AdapterActivator * the_activator() = 0; + virtual void the_activator(::org::omg::PortableServer::AdapterActivator *) = 0; + virtual JArray< ::org::omg::PortableServer::POA * > * the_children() = 0; + virtual ::java::lang::String * the_name() = 0; + virtual ::org::omg::PortableServer::POA * the_parent() = 0; + virtual void destroy(jboolean, jboolean) = 0; + virtual ::org::omg::PortableServer::IdUniquenessPolicy * create_id_uniqueness_policy(::org::omg::PortableServer::IdUniquenessPolicyValue *) = 0; + virtual ::org::omg::PortableServer::ImplicitActivationPolicy * create_implicit_activation_policy(::org::omg::PortableServer::ImplicitActivationPolicyValue *) = 0; + virtual ::org::omg::PortableServer::LifespanPolicy * create_lifespan_policy(::org::omg::PortableServer::LifespanPolicyValue *) = 0; + virtual ::org::omg::PortableServer::RequestProcessingPolicy * create_request_processing_policy(::org::omg::PortableServer::RequestProcessingPolicyValue *) = 0; + virtual ::org::omg::PortableServer::ServantRetentionPolicy * create_servant_retention_policy(::org::omg::PortableServer::ServantRetentionPolicyValue *) = 0; + virtual ::org::omg::PortableServer::ThreadPolicy * create_thread_policy(::org::omg::PortableServer::ThreadPolicyValue *) = 0; + virtual ::org::omg::PortableServer::IdAssignmentPolicy * create_id_assignment_policy(::org::omg::PortableServer::IdAssignmentPolicyValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_POA__ diff --git a/libjava/org/omg/PortableServer/POAHelper.h b/libjava/org/omg/PortableServer/POAHelper.h new file mode 100644 index 00000000000..7153cb097bb --- /dev/null +++ b/libjava/org/omg/PortableServer/POAHelper.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAHelper__ +#define __org_omg_PortableServer_POAHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class POA; + class POAHelper; + } + } + } +} + +class org::omg::PortableServer::POAHelper : public ::java::lang::Object +{ + +public: + POAHelper(); + static ::org::omg::PortableServer::POA * narrow(::org::omg::CORBA::Object *); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POA *); + static ::org::omg::PortableServer::POA * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POA * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POA *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAHelper__ diff --git a/libjava/org/omg/PortableServer/POAManager.h b/libjava/org/omg/PortableServer/POAManager.h new file mode 100644 index 00000000000..f65e7979523 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAManager.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAManager__ +#define __org_omg_PortableServer_POAManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class POAManager; + namespace POAManagerPackage + { + class State; + } + } + } + } +} + +class org::omg::PortableServer::POAManager : public ::java::lang::Object +{ + +public: + virtual void activate() = 0; + virtual void deactivate(jboolean, jboolean) = 0; + virtual void discard_requests(jboolean) = 0; + virtual ::org::omg::PortableServer::POAManagerPackage::State * get_state() = 0; + virtual void hold_requests(jboolean) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_POAManager__ diff --git a/libjava/org/omg/PortableServer/POAManagerOperations.h b/libjava/org/omg/PortableServer/POAManagerOperations.h new file mode 100644 index 00000000000..2e275d4121b --- /dev/null +++ b/libjava/org/omg/PortableServer/POAManagerOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAManagerOperations__ +#define __org_omg_PortableServer_POAManagerOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POAManagerOperations; + namespace POAManagerPackage + { + class State; + } + } + } + } +} + +class org::omg::PortableServer::POAManagerOperations : public ::java::lang::Object +{ + +public: + virtual void activate() = 0; + virtual void deactivate(jboolean, jboolean) = 0; + virtual void discard_requests(jboolean) = 0; + virtual ::org::omg::PortableServer::POAManagerPackage::State * get_state() = 0; + virtual void hold_requests(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_POAManagerOperations__ diff --git a/libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactive.h b/libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactive.h new file mode 100644 index 00000000000..d0fc7c4d22f --- /dev/null +++ b/libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactive.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAManagerPackage_AdapterInactive__ +#define __org_omg_PortableServer_POAManagerPackage_AdapterInactive__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAManagerPackage + { + class AdapterInactive; + } + } + } + } +} + +class org::omg::PortableServer::POAManagerPackage::AdapterInactive : public ::org::omg::CORBA::UserException +{ + +public: + AdapterInactive(); + AdapterInactive(::java::lang::String *); +private: + static const jlong serialVersionUID = 6945182851085567131LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAManagerPackage_AdapterInactive__ diff --git a/libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.h b/libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.h new file mode 100644 index 00000000000..182db7b24c9 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAManagerPackage_AdapterInactiveHelper__ +#define __org_omg_PortableServer_POAManagerPackage_AdapterInactiveHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAManagerPackage + { + class AdapterInactive; + class AdapterInactiveHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAManagerPackage::AdapterInactiveHelper : public ::java::lang::Object +{ + +public: + AdapterInactiveHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAManagerPackage::AdapterInactive *); + static ::org::omg::PortableServer::POAManagerPackage::AdapterInactive * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAManagerPackage::AdapterInactive * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAManagerPackage::AdapterInactive *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAManagerPackage_AdapterInactiveHelper__ diff --git a/libjava/org/omg/PortableServer/POAManagerPackage/State.h b/libjava/org/omg/PortableServer/POAManagerPackage/State.h new file mode 100644 index 00000000000..62e46e12230 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAManagerPackage/State.h @@ -0,0 +1,57 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAManagerPackage_State__ +#define __org_omg_PortableServer_POAManagerPackage_State__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAManagerPackage + { + class State; + } + } + } + } +} + +class org::omg::PortableServer::POAManagerPackage::State : public ::java::lang::Object +{ + +public: // actually protected + State(jint); +public: + static ::org::omg::PortableServer::POAManagerPackage::State * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = -2451866258678193271LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _HOLDING = 0; + static ::org::omg::PortableServer::POAManagerPackage::State * HOLDING; + static const jint _ACTIVE = 1; + static ::org::omg::PortableServer::POAManagerPackage::State * ACTIVE; + static const jint _DISCARDING = 2; + static ::org::omg::PortableServer::POAManagerPackage::State * DISCARDING; + static const jint _INACTIVE = 3; + static ::org::omg::PortableServer::POAManagerPackage::State * INACTIVE; +private: + static JArray< ::org::omg::PortableServer::POAManagerPackage::State * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAManagerPackage_State__ diff --git a/libjava/org/omg/PortableServer/POAOperations.h b/libjava/org/omg/PortableServer/POAOperations.h new file mode 100644 index 00000000000..1f8227b2abc --- /dev/null +++ b/libjava/org/omg/PortableServer/POAOperations.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAOperations__ +#define __org_omg_PortableServer_POAOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Object; + class Policy; + } + namespace PortableServer + { + class AdapterActivator; + class IdAssignmentPolicy; + class IdAssignmentPolicyValue; + class IdUniquenessPolicy; + class IdUniquenessPolicyValue; + class ImplicitActivationPolicy; + class ImplicitActivationPolicyValue; + class LifespanPolicy; + class LifespanPolicyValue; + class POA; + class POAManager; + class POAOperations; + class RequestProcessingPolicy; + class RequestProcessingPolicyValue; + class Servant; + class ServantManager; + class ServantRetentionPolicy; + class ServantRetentionPolicyValue; + class ThreadPolicy; + class ThreadPolicyValue; + } + } + } +} + +class org::omg::PortableServer::POAOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::POA * create_POA(::java::lang::String *, ::org::omg::PortableServer::POAManager *, JArray< ::org::omg::CORBA::Policy * > *) = 0; + virtual ::org::omg::PortableServer::POA * find_POA(::java::lang::String *, jboolean) = 0; + virtual JArray< jbyte > * activate_object(::org::omg::PortableServer::Servant *) = 0; + virtual void activate_object_with_id(JArray< jbyte > *, ::org::omg::PortableServer::Servant *) = 0; + virtual void deactivate_object(JArray< jbyte > *) = 0; + virtual ::org::omg::CORBA::Object * create_reference(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * create_reference_with_id(JArray< jbyte > *, ::java::lang::String *) = 0; + virtual ::org::omg::PortableServer::Servant * get_servant() = 0; + virtual void set_servant(::org::omg::PortableServer::Servant *) = 0; + virtual void set_servant_manager(::org::omg::PortableServer::ServantManager *) = 0; + virtual ::org::omg::PortableServer::ServantManager * get_servant_manager() = 0; + virtual JArray< jbyte > * id() = 0; + virtual ::org::omg::CORBA::Object * id_to_reference(JArray< jbyte > *) = 0; + virtual ::org::omg::PortableServer::Servant * id_to_servant(JArray< jbyte > *) = 0; + virtual JArray< jbyte > * reference_to_id(::org::omg::CORBA::Object *) = 0; + virtual ::org::omg::PortableServer::Servant * reference_to_servant(::org::omg::CORBA::Object *) = 0; + virtual JArray< jbyte > * servant_to_id(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::CORBA::Object * servant_to_reference(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::PortableServer::POAManager * the_POAManager() = 0; + virtual ::org::omg::PortableServer::AdapterActivator * the_activator() = 0; + virtual void the_activator(::org::omg::PortableServer::AdapterActivator *) = 0; + virtual JArray< ::org::omg::PortableServer::POA * > * the_children() = 0; + virtual ::java::lang::String * the_name() = 0; + virtual ::org::omg::PortableServer::POA * the_parent() = 0; + virtual void destroy(jboolean, jboolean) = 0; + virtual ::org::omg::PortableServer::IdUniquenessPolicy * create_id_uniqueness_policy(::org::omg::PortableServer::IdUniquenessPolicyValue *) = 0; + virtual ::org::omg::PortableServer::ImplicitActivationPolicy * create_implicit_activation_policy(::org::omg::PortableServer::ImplicitActivationPolicyValue *) = 0; + virtual ::org::omg::PortableServer::LifespanPolicy * create_lifespan_policy(::org::omg::PortableServer::LifespanPolicyValue *) = 0; + virtual ::org::omg::PortableServer::RequestProcessingPolicy * create_request_processing_policy(::org::omg::PortableServer::RequestProcessingPolicyValue *) = 0; + virtual ::org::omg::PortableServer::ServantRetentionPolicy * create_servant_retention_policy(::org::omg::PortableServer::ServantRetentionPolicyValue *) = 0; + virtual ::org::omg::PortableServer::ThreadPolicy * create_thread_policy(::org::omg::PortableServer::ThreadPolicyValue *) = 0; + virtual ::org::omg::PortableServer::IdAssignmentPolicy * create_id_assignment_policy(::org::omg::PortableServer::IdAssignmentPolicyValue *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_POAOperations__ diff --git a/libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.h b/libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.h new file mode 100644 index 00000000000..e8cac5206c4 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_AdapterAlreadyExists__ +#define __org_omg_PortableServer_POAPackage_AdapterAlreadyExists__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class AdapterAlreadyExists; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::AdapterAlreadyExists : public ::org::omg::CORBA::UserException +{ + +public: + AdapterAlreadyExists(); + AdapterAlreadyExists(::java::lang::String *); +private: + static const jlong serialVersionUID = -2678288222917790041LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_AdapterAlreadyExists__ diff --git a/libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.h b/libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.h new file mode 100644 index 00000000000..5672fc9a1c1 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_AdapterAlreadyExistsHelper__ +#define __org_omg_PortableServer_POAPackage_AdapterAlreadyExistsHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class AdapterAlreadyExists; + class AdapterAlreadyExistsHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::AdapterAlreadyExistsHelper : public ::java::lang::Object +{ + +public: + AdapterAlreadyExistsHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::AdapterAlreadyExists *); + static ::org::omg::PortableServer::POAPackage::AdapterAlreadyExists * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::AdapterAlreadyExists * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::AdapterAlreadyExists *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_AdapterAlreadyExistsHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/AdapterNonExistent.h b/libjava/org/omg/PortableServer/POAPackage/AdapterNonExistent.h new file mode 100644 index 00000000000..96bea04f35a --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/AdapterNonExistent.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_AdapterNonExistent__ +#define __org_omg_PortableServer_POAPackage_AdapterNonExistent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class AdapterNonExistent; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::AdapterNonExistent : public ::org::omg::CORBA::UserException +{ + +public: + AdapterNonExistent(); + AdapterNonExistent(::java::lang::String *); +private: + static const jlong serialVersionUID = -9166706041988650696LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_AdapterNonExistent__ diff --git a/libjava/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.h b/libjava/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.h new file mode 100644 index 00000000000..06d76474e8d --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_AdapterNonExistentHelper__ +#define __org_omg_PortableServer_POAPackage_AdapterNonExistentHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class AdapterNonExistent; + class AdapterNonExistentHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::AdapterNonExistentHelper : public ::java::lang::Object +{ + +public: + AdapterNonExistentHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::AdapterNonExistent *); + static ::org::omg::PortableServer::POAPackage::AdapterNonExistent * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::AdapterNonExistent * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::AdapterNonExistent *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_AdapterNonExistentHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/InvalidPolicy.h b/libjava/org/omg/PortableServer/POAPackage/InvalidPolicy.h new file mode 100644 index 00000000000..8e9235ef74a --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/InvalidPolicy.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_InvalidPolicy__ +#define __org_omg_PortableServer_POAPackage_InvalidPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class InvalidPolicy; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::InvalidPolicy : public ::org::omg::CORBA::UserException +{ + +public: + InvalidPolicy(); + InvalidPolicy(::java::lang::String *, jshort); + InvalidPolicy(jshort); + ::java::lang::String * getMessage(); +private: + static const jlong serialVersionUID = 3204212102282117205LL; +public: + jshort __attribute__((aligned(__alignof__( ::org::omg::CORBA::UserException)))) index; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_InvalidPolicy__ diff --git a/libjava/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.h b/libjava/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.h new file mode 100644 index 00000000000..8f46cab20b0 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_InvalidPolicyHelper__ +#define __org_omg_PortableServer_POAPackage_InvalidPolicyHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class InvalidPolicy; + class InvalidPolicyHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::InvalidPolicyHelper : public ::java::lang::Object +{ + +public: + InvalidPolicyHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::InvalidPolicy *); + static ::org::omg::PortableServer::POAPackage::InvalidPolicy * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::InvalidPolicy * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::InvalidPolicy *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_InvalidPolicyHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/NoServant.h b/libjava/org/omg/PortableServer/POAPackage/NoServant.h new file mode 100644 index 00000000000..e0f4da1c973 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/NoServant.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_NoServant__ +#define __org_omg_PortableServer_POAPackage_NoServant__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class NoServant; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::NoServant : public ::org::omg::CORBA::UserException +{ + +public: + NoServant(); + NoServant(::java::lang::String *); +private: + static const jlong serialVersionUID = -5893773687270266061LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_NoServant__ diff --git a/libjava/org/omg/PortableServer/POAPackage/NoServantHelper.h b/libjava/org/omg/PortableServer/POAPackage/NoServantHelper.h new file mode 100644 index 00000000000..17250f78078 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/NoServantHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_NoServantHelper__ +#define __org_omg_PortableServer_POAPackage_NoServantHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class NoServant; + class NoServantHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::NoServantHelper : public ::java::lang::Object +{ + +public: + NoServantHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::NoServant *); + static ::org::omg::PortableServer::POAPackage::NoServant * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::NoServant * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::NoServant *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_NoServantHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.h b/libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.h new file mode 100644 index 00000000000..0b10b22b48c --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ObjectAlreadyActive__ +#define __org_omg_PortableServer_POAPackage_ObjectAlreadyActive__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class ObjectAlreadyActive; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ObjectAlreadyActive : public ::org::omg::CORBA::UserException +{ + +public: + ObjectAlreadyActive(); + ObjectAlreadyActive(::java::lang::String *); +private: + static const jlong serialVersionUID = -2919308871345098101LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ObjectAlreadyActive__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.h b/libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.h new file mode 100644 index 00000000000..d70f153e6bb --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ObjectAlreadyActiveHelper__ +#define __org_omg_PortableServer_POAPackage_ObjectAlreadyActiveHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class ObjectAlreadyActive; + class ObjectAlreadyActiveHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ObjectAlreadyActiveHelper : public ::java::lang::Object +{ + +public: + ObjectAlreadyActiveHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::ObjectAlreadyActive *); + static ::org::omg::PortableServer::POAPackage::ObjectAlreadyActive * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::ObjectAlreadyActive * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::ObjectAlreadyActive *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ObjectAlreadyActiveHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ObjectNotActive.h b/libjava/org/omg/PortableServer/POAPackage/ObjectNotActive.h new file mode 100644 index 00000000000..b4503414d56 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ObjectNotActive.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ObjectNotActive__ +#define __org_omg_PortableServer_POAPackage_ObjectNotActive__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class ObjectNotActive; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ObjectNotActive : public ::org::omg::CORBA::UserException +{ + +public: + ObjectNotActive(); + ObjectNotActive(::java::lang::String *); +private: + static const jlong serialVersionUID = 2269559915073532416LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ObjectNotActive__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.h b/libjava/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.h new file mode 100644 index 00000000000..1847674324b --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ObjectNotActiveHelper__ +#define __org_omg_PortableServer_POAPackage_ObjectNotActiveHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class ObjectNotActive; + class ObjectNotActiveHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ObjectNotActiveHelper : public ::java::lang::Object +{ + +public: + ObjectNotActiveHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::ObjectNotActive *); + static ::org::omg::PortableServer::POAPackage::ObjectNotActive * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::ObjectNotActive * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::ObjectNotActive *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ObjectNotActiveHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActive.h b/libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActive.h new file mode 100644 index 00000000000..01d9f2d3574 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActive.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ServantAlreadyActive__ +#define __org_omg_PortableServer_POAPackage_ServantAlreadyActive__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class ServantAlreadyActive; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ServantAlreadyActive : public ::org::omg::CORBA::UserException +{ + +public: + ServantAlreadyActive(); + ServantAlreadyActive(::java::lang::String *); +private: + static const jlong serialVersionUID = 780130793809887260LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ServantAlreadyActive__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.h b/libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.h new file mode 100644 index 00000000000..779c0343201 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ServantAlreadyActiveHelper__ +#define __org_omg_PortableServer_POAPackage_ServantAlreadyActiveHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class ServantAlreadyActive; + class ServantAlreadyActiveHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ServantAlreadyActiveHelper : public ::java::lang::Object +{ + +public: + ServantAlreadyActiveHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::ServantAlreadyActive *); + static ::org::omg::PortableServer::POAPackage::ServantAlreadyActive * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::ServantAlreadyActive * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::ServantAlreadyActive *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ServantAlreadyActiveHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ServantNotActive.h b/libjava/org/omg/PortableServer/POAPackage/ServantNotActive.h new file mode 100644 index 00000000000..37249db7a16 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ServantNotActive.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ServantNotActive__ +#define __org_omg_PortableServer_POAPackage_ServantNotActive__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class ServantNotActive; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ServantNotActive : public ::org::omg::CORBA::UserException +{ + +public: + ServantNotActive(); + ServantNotActive(::java::lang::String *); +private: + static const jlong serialVersionUID = -7806868032412803953LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ServantNotActive__ diff --git a/libjava/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.h b/libjava/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.h new file mode 100644 index 00000000000..aa68157ab3f --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_ServantNotActiveHelper__ +#define __org_omg_PortableServer_POAPackage_ServantNotActiveHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class ServantNotActive; + class ServantNotActiveHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::ServantNotActiveHelper : public ::java::lang::Object +{ + +public: + ServantNotActiveHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::ServantNotActive *); + static ::org::omg::PortableServer::POAPackage::ServantNotActive * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::ServantNotActive * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::ServantNotActive *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_ServantNotActiveHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/WrongAdapter.h b/libjava/org/omg/PortableServer/POAPackage/WrongAdapter.h new file mode 100644 index 00000000000..3f4ec19322c --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/WrongAdapter.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_WrongAdapter__ +#define __org_omg_PortableServer_POAPackage_WrongAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class WrongAdapter; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::WrongAdapter : public ::org::omg::CORBA::UserException +{ + +public: + WrongAdapter(); + WrongAdapter(::java::lang::String *); +private: + static const jlong serialVersionUID = 7505320179916389200LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_WrongAdapter__ diff --git a/libjava/org/omg/PortableServer/POAPackage/WrongAdapterHelper.h b/libjava/org/omg/PortableServer/POAPackage/WrongAdapterHelper.h new file mode 100644 index 00000000000..bb4927be7f1 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/WrongAdapterHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_WrongAdapterHelper__ +#define __org_omg_PortableServer_POAPackage_WrongAdapterHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class WrongAdapter; + class WrongAdapterHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::WrongAdapterHelper : public ::java::lang::Object +{ + +public: + WrongAdapterHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::WrongAdapter *); + static ::org::omg::PortableServer::POAPackage::WrongAdapter * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::WrongAdapter * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::WrongAdapter *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_WrongAdapterHelper__ diff --git a/libjava/org/omg/PortableServer/POAPackage/WrongPolicy.h b/libjava/org/omg/PortableServer/POAPackage/WrongPolicy.h new file mode 100644 index 00000000000..aa8e99bb399 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/WrongPolicy.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_WrongPolicy__ +#define __org_omg_PortableServer_POAPackage_WrongPolicy__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + namespace POAPackage + { + class WrongPolicy; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::WrongPolicy : public ::org::omg::CORBA::UserException +{ + +public: + WrongPolicy(); + WrongPolicy(::java::lang::String *); +private: + static const jlong serialVersionUID = 1949765652955335195LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_WrongPolicy__ diff --git a/libjava/org/omg/PortableServer/POAPackage/WrongPolicyHelper.h b/libjava/org/omg/PortableServer/POAPackage/WrongPolicyHelper.h new file mode 100644 index 00000000000..0d648bbfba2 --- /dev/null +++ b/libjava/org/omg/PortableServer/POAPackage/WrongPolicyHelper.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_POAPackage_WrongPolicyHelper__ +#define __org_omg_PortableServer_POAPackage_WrongPolicyHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace POAPackage + { + class WrongPolicy; + class WrongPolicyHelper; + } + } + } + } +} + +class org::omg::PortableServer::POAPackage::WrongPolicyHelper : public ::java::lang::Object +{ + +public: + WrongPolicyHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::POAPackage::WrongPolicy *); + static ::org::omg::PortableServer::POAPackage::WrongPolicy * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::POAPackage::WrongPolicy * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::POAPackage::WrongPolicy *); +private: + static ::org::omg::CORBA::TypeCode * typeCode; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_POAPackage_WrongPolicyHelper__ diff --git a/libjava/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.h b/libjava/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.h new file mode 100644 index 00000000000..e07834e91c9 --- /dev/null +++ b/libjava/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_REQUEST_PROCESSING_POLICY_ID__ +#define __org_omg_PortableServer_REQUEST_PROCESSING_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class REQUEST_PROCESSING_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::REQUEST_PROCESSING_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 22; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_REQUEST_PROCESSING_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/RequestProcessingPolicy.h b/libjava/org/omg/PortableServer/RequestProcessingPolicy.h new file mode 100644 index 00000000000..64eec4dec53 --- /dev/null +++ b/libjava/org/omg/PortableServer/RequestProcessingPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_RequestProcessingPolicy__ +#define __org_omg_PortableServer_RequestProcessingPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class RequestProcessingPolicy; + class RequestProcessingPolicyValue; + } + } + } +} + +class org::omg::PortableServer::RequestProcessingPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::RequestProcessingPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_RequestProcessingPolicy__ diff --git a/libjava/org/omg/PortableServer/RequestProcessingPolicyOperations.h b/libjava/org/omg/PortableServer/RequestProcessingPolicyOperations.h new file mode 100644 index 00000000000..e8769c63a43 --- /dev/null +++ b/libjava/org/omg/PortableServer/RequestProcessingPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_RequestProcessingPolicyOperations__ +#define __org_omg_PortableServer_RequestProcessingPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class RequestProcessingPolicyOperations; + class RequestProcessingPolicyValue; + } + } + } +} + +class org::omg::PortableServer::RequestProcessingPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::RequestProcessingPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_RequestProcessingPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/RequestProcessingPolicyValue.h b/libjava/org/omg/PortableServer/RequestProcessingPolicyValue.h new file mode 100644 index 00000000000..88fdf8833ac --- /dev/null +++ b/libjava/org/omg/PortableServer/RequestProcessingPolicyValue.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_RequestProcessingPolicyValue__ +#define __org_omg_PortableServer_RequestProcessingPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class RequestProcessingPolicyValue; + } + } + } +} + +class org::omg::PortableServer::RequestProcessingPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + RequestProcessingPolicyValue(jint); +public: + static ::org::omg::PortableServer::RequestProcessingPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = 7646563512329907695LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _USE_ACTIVE_OBJECT_MAP_ONLY = 0; + static ::org::omg::PortableServer::RequestProcessingPolicyValue * USE_ACTIVE_OBJECT_MAP_ONLY; + static const jint _USE_DEFAULT_SERVANT = 1; + static ::org::omg::PortableServer::RequestProcessingPolicyValue * USE_DEFAULT_SERVANT; + static const jint _USE_SERVANT_MANAGER = 2; + static ::org::omg::PortableServer::RequestProcessingPolicyValue * USE_SERVANT_MANAGER; +private: + static JArray< ::org::omg::PortableServer::RequestProcessingPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_RequestProcessingPolicyValue__ diff --git a/libjava/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.h b/libjava/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.h new file mode 100644 index 00000000000..ae6e5c46bf3 --- /dev/null +++ b/libjava/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_SERVANT_RETENTION_POLICY_ID__ +#define __org_omg_PortableServer_SERVANT_RETENTION_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class SERVANT_RETENTION_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::SERVANT_RETENTION_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 21; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_SERVANT_RETENTION_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/Servant.h b/libjava/org/omg/PortableServer/Servant.h new file mode 100644 index 00000000000..8116067ff11 --- /dev/null +++ b/libjava/org/omg/PortableServer/Servant.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_Servant__ +#define __org_omg_PortableServer_Servant__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + } + namespace PortableServer + { + class POA; + class Servant; + namespace portable + { + class Delegate; + } + } + } + } +} + +class org::omg::PortableServer::Servant : public ::java::lang::Object +{ + +public: + Servant(); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *) = 0; + virtual ::org::omg::PortableServer::portable::Delegate * _get_delegate(); + virtual ::org::omg::CORBA::Object * _get_interface_def(); + virtual jboolean _is_a(::java::lang::String *); + virtual jboolean _non_existent(); + virtual ::org::omg::CORBA::ORB * _orb(); + virtual ::org::omg::PortableServer::POA * _default_POA(); + virtual JArray< jbyte > * _object_id(); + virtual ::org::omg::PortableServer::POA * _poa(); + virtual void _set_delegate(::org::omg::PortableServer::portable::Delegate *); + virtual ::org::omg::CORBA::Object * _this_object(::org::omg::CORBA::ORB *); + virtual ::org::omg::CORBA::Object * _this_object(); +private: + ::org::omg::PortableServer::portable::Delegate * __attribute__((aligned(__alignof__( ::java::lang::Object)))) delegate; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_Servant__ diff --git a/libjava/org/omg/PortableServer/ServantActivator.h b/libjava/org/omg/PortableServer/ServantActivator.h new file mode 100644 index 00000000000..836dc9be916 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantActivator.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantActivator__ +#define __org_omg_PortableServer_ServantActivator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class POA; + class Servant; + class ServantActivator; + } + } + } +} + +class org::omg::PortableServer::ServantActivator : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual void etherealize(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::org::omg::PortableServer::Servant *, jboolean, jboolean) = 0; + virtual ::org::omg::PortableServer::Servant * incarnate(JArray< jbyte > *, ::org::omg::PortableServer::POA *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantActivator__ diff --git a/libjava/org/omg/PortableServer/ServantActivatorHelper.h b/libjava/org/omg/PortableServer/ServantActivatorHelper.h new file mode 100644 index 00000000000..1b302600c5b --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantActivatorHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantActivatorHelper__ +#define __org_omg_PortableServer_ServantActivatorHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class ServantActivator; + class ServantActivatorHelper; + } + } + } +} + +class org::omg::PortableServer::ServantActivatorHelper : public ::java::lang::Object +{ + +public: + ServantActivatorHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::ServantActivator *); + static ::org::omg::PortableServer::ServantActivator * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::ServantActivator * narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableServer::ServantActivator * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableServer::ServantActivator * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::ServantActivator *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantActivatorHelper__ diff --git a/libjava/org/omg/PortableServer/ServantActivatorOperations.h b/libjava/org/omg/PortableServer/ServantActivatorOperations.h new file mode 100644 index 00000000000..436693990f8 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantActivatorOperations.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantActivatorOperations__ +#define __org_omg_PortableServer_ServantActivatorOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + class Servant; + class ServantActivatorOperations; + } + } + } +} + +class org::omg::PortableServer::ServantActivatorOperations : public ::java::lang::Object +{ + +public: + virtual void etherealize(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::org::omg::PortableServer::Servant *, jboolean, jboolean) = 0; + virtual ::org::omg::PortableServer::Servant * incarnate(JArray< jbyte > *, ::org::omg::PortableServer::POA *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantActivatorOperations__ diff --git a/libjava/org/omg/PortableServer/ServantActivatorPOA$delegator.h b/libjava/org/omg/PortableServer/ServantActivatorPOA$delegator.h new file mode 100644 index 00000000000..769c43a63d4 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantActivatorPOA$delegator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantActivatorPOA$delegator__ +#define __org_omg_PortableServer_ServantActivatorPOA$delegator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + class Servant; + class ServantActivatorPOA; + class ServantActivatorPOA$delegator; + } + } + } +} + +class org::omg::PortableServer::ServantActivatorPOA$delegator : public ::gnu::CORBA::Poa::gnuServantObject +{ + +public: // actually package-private + ServantActivatorPOA$delegator(::org::omg::PortableServer::ServantActivatorPOA *, ::org::omg::PortableServer::Servant *); +public: + virtual ::org::omg::PortableServer::Servant * incarnate(JArray< jbyte > *, ::org::omg::PortableServer::POA *); + virtual void etherealize(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::org::omg::PortableServer::Servant *, jboolean, jboolean); +public: // actually package-private + ::org::omg::PortableServer::ServantActivatorPOA * __attribute__((aligned(__alignof__( ::gnu::CORBA::Poa::gnuServantObject)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantActivatorPOA$delegator__ diff --git a/libjava/org/omg/PortableServer/ServantActivatorPOA.h b/libjava/org/omg/PortableServer/ServantActivatorPOA.h new file mode 100644 index 00000000000..8b524bf6b84 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantActivatorPOA.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantActivatorPOA__ +#define __org_omg_PortableServer_ServantActivatorPOA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace PortableServer + { + class POA; + class Servant; + class ServantActivator; + class ServantActivatorPOA; + } + } + } +} + +class org::omg::PortableServer::ServantActivatorPOA : public ::org::omg::PortableServer::Servant +{ + +public: + ServantActivatorPOA(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *); + virtual ::org::omg::PortableServer::ServantActivator * _this(); + virtual ::org::omg::PortableServer::ServantActivator * _this(::org::omg::CORBA::ORB *); + virtual void etherealize(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::org::omg::PortableServer::Servant *, jboolean, jboolean) = 0; + virtual ::org::omg::PortableServer::Servant * incarnate(JArray< jbyte > *, ::org::omg::PortableServer::POA *) = 0; +public: // actually package-private + ::org::omg::PortableServer::ServantActivatorPOA * __attribute__((aligned(__alignof__( ::org::omg::PortableServer::Servant)))) THIS; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantActivatorPOA__ diff --git a/libjava/org/omg/PortableServer/ServantLocator.h b/libjava/org/omg/PortableServer/ServantLocator.h new file mode 100644 index 00000000000..4dd30fc38be --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantLocator.h @@ -0,0 +1,67 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantLocator__ +#define __org_omg_PortableServer_ServantLocator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class POA; + class Servant; + class ServantLocator; + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class org::omg::PortableServer::ServantLocator : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::PortableServer::Servant * preinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *) = 0; + virtual void postinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::java::lang::Object *, ::org::omg::PortableServer::Servant *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantLocator__ diff --git a/libjava/org/omg/PortableServer/ServantLocatorHelper.h b/libjava/org/omg/PortableServer/ServantLocatorHelper.h new file mode 100644 index 00000000000..bd80a46ca08 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantLocatorHelper.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantLocatorHelper__ +#define __org_omg_PortableServer_ServantLocatorHelper__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Any; + class Object; + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + class ServantLocator; + class ServantLocatorHelper; + } + } + } +} + +class org::omg::PortableServer::ServantLocatorHelper : public ::java::lang::Object +{ + +public: + ServantLocatorHelper(); + static ::org::omg::CORBA::TypeCode * type(); + static void insert(::org::omg::CORBA::Any *, ::org::omg::PortableServer::ServantLocator *); + static ::org::omg::PortableServer::ServantLocator * extract(::org::omg::CORBA::Any *); + static ::java::lang::String * id(); + static ::org::omg::PortableServer::ServantLocator * narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableServer::ServantLocator * unchecked_narrow(::org::omg::CORBA::Object *); + static ::org::omg::PortableServer::ServantLocator * read(::org::omg::CORBA::portable::InputStream *); + static void write(::org::omg::CORBA::portable::OutputStream *, ::org::omg::PortableServer::ServantLocator *); + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantLocatorHelper__ diff --git a/libjava/org/omg/PortableServer/ServantLocatorOperations.h b/libjava/org/omg/PortableServer/ServantLocatorOperations.h new file mode 100644 index 00000000000..a54d01f23ec --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantLocatorOperations.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantLocatorOperations__ +#define __org_omg_PortableServer_ServantLocatorOperations__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + class Servant; + class ServantLocatorOperations; + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class org::omg::PortableServer::ServantLocatorOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::Servant * preinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *) = 0; + virtual void postinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::java::lang::Object *, ::org::omg::PortableServer::Servant *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantLocatorOperations__ diff --git a/libjava/org/omg/PortableServer/ServantLocatorPOA$delegator.h b/libjava/org/omg/PortableServer/ServantLocatorPOA$delegator.h new file mode 100644 index 00000000000..37af8e7df2c --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantLocatorPOA$delegator.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantLocatorPOA$delegator__ +#define __org_omg_PortableServer_ServantLocatorPOA$delegator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + class Servant; + class ServantLocatorPOA; + class ServantLocatorPOA$delegator; + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class org::omg::PortableServer::ServantLocatorPOA$delegator : public ::gnu::CORBA::Poa::gnuServantObject +{ + +public: // actually package-private + ServantLocatorPOA$delegator(::org::omg::PortableServer::ServantLocatorPOA *, ::org::omg::PortableServer::Servant *); +public: + virtual ::org::omg::PortableServer::Servant * preinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *); + virtual void postinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::java::lang::Object *, ::org::omg::PortableServer::Servant *); + virtual JArray< ::java::lang::String * > * _ids(); +public: // actually package-private + ::org::omg::PortableServer::ServantLocatorPOA * __attribute__((aligned(__alignof__( ::gnu::CORBA::Poa::gnuServantObject)))) this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantLocatorPOA$delegator__ diff --git a/libjava/org/omg/PortableServer/ServantLocatorPOA.h b/libjava/org/omg/PortableServer/ServantLocatorPOA.h new file mode 100644 index 00000000000..c4f4fcea41f --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantLocatorPOA.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantLocatorPOA__ +#define __org_omg_PortableServer_ServantLocatorPOA__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + namespace portable + { + class InputStream; + class OutputStream; + class ResponseHandler; + } + } + namespace PortableServer + { + class POA; + class Servant; + class ServantLocator; + class ServantLocatorPOA; + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class org::omg::PortableServer::ServantLocatorPOA : public ::org::omg::PortableServer::Servant +{ + +public: + ServantLocatorPOA(); + virtual ::org::omg::CORBA::portable::OutputStream * _invoke(::java::lang::String *, ::org::omg::CORBA::portable::InputStream *, ::org::omg::CORBA::portable::ResponseHandler *); + virtual JArray< ::java::lang::String * > * _all_interfaces(::org::omg::PortableServer::POA *, JArray< jbyte > *); + virtual ::org::omg::PortableServer::ServantLocator * _this(); + virtual ::org::omg::PortableServer::ServantLocator * _this(::org::omg::CORBA::ORB *); + virtual ::org::omg::PortableServer::Servant * preinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *) = 0; + virtual void postinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::java::lang::Object *, ::org::omg::PortableServer::Servant *) = 0; +public: // actually package-private + ::org::omg::PortableServer::ServantLocatorPOA * __attribute__((aligned(__alignof__( ::org::omg::PortableServer::Servant)))) THIS; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantLocatorPOA__ diff --git a/libjava/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.h b/libjava/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.h new file mode 100644 index 00000000000..d983d8093cf --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantLocatorPackage_CookieHolder__ +#define __org_omg_PortableServer_ServantLocatorPackage_CookieHolder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class TypeCode; + namespace portable + { + class InputStream; + class OutputStream; + } + } + namespace PortableServer + { + namespace ServantLocatorPackage + { + class CookieHolder; + } + } + } + } +} + +class org::omg::PortableServer::ServantLocatorPackage::CookieHolder : public ::java::lang::Object +{ + +public: + CookieHolder(); + CookieHolder(::java::lang::Object *); + void _read(::org::omg::CORBA::portable::InputStream *); + ::org::omg::CORBA::TypeCode * _type(); + void _write(::org::omg::CORBA::portable::OutputStream *); + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantLocatorPackage_CookieHolder__ diff --git a/libjava/org/omg/PortableServer/ServantManager.h b/libjava/org/omg/PortableServer/ServantManager.h new file mode 100644 index 00000000000..9ed97078644 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantManager.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantManager__ +#define __org_omg_PortableServer_ServantManager__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class ServantManager; + } + } + } +} + +class org::omg::PortableServer::ServantManager : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantManager__ diff --git a/libjava/org/omg/PortableServer/ServantManagerOperations.h b/libjava/org/omg/PortableServer/ServantManagerOperations.h new file mode 100644 index 00000000000..8aa8b19df88 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantManagerOperations.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantManagerOperations__ +#define __org_omg_PortableServer_ServantManagerOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class ServantManagerOperations; + } + } + } +} + +class org::omg::PortableServer::ServantManagerOperations : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantManagerOperations__ diff --git a/libjava/org/omg/PortableServer/ServantRetentionPolicy.h b/libjava/org/omg/PortableServer/ServantRetentionPolicy.h new file mode 100644 index 00000000000..1d7f7d79704 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantRetentionPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantRetentionPolicy__ +#define __org_omg_PortableServer_ServantRetentionPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class ServantRetentionPolicy; + class ServantRetentionPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ServantRetentionPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::ServantRetentionPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantRetentionPolicy__ diff --git a/libjava/org/omg/PortableServer/ServantRetentionPolicyOperations.h b/libjava/org/omg/PortableServer/ServantRetentionPolicyOperations.h new file mode 100644 index 00000000000..e6ebd89e671 --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantRetentionPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantRetentionPolicyOperations__ +#define __org_omg_PortableServer_ServantRetentionPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class ServantRetentionPolicyOperations; + class ServantRetentionPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ServantRetentionPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::ServantRetentionPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ServantRetentionPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/ServantRetentionPolicyValue.h b/libjava/org/omg/PortableServer/ServantRetentionPolicyValue.h new file mode 100644 index 00000000000..c34521b72fb --- /dev/null +++ b/libjava/org/omg/PortableServer/ServantRetentionPolicyValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ServantRetentionPolicyValue__ +#define __org_omg_PortableServer_ServantRetentionPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class ServantRetentionPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ServantRetentionPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + ServantRetentionPolicyValue(jint); +public: + static ::org::omg::PortableServer::ServantRetentionPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = -7476100336036943822LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _RETAIN = 0; + static ::org::omg::PortableServer::ServantRetentionPolicyValue * RETAIN; + static const jint _NON_RETAIN = 1; + static ::org::omg::PortableServer::ServantRetentionPolicyValue * NON_RETAIN; +private: + static JArray< ::org::omg::PortableServer::ServantRetentionPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ServantRetentionPolicyValue__ diff --git a/libjava/org/omg/PortableServer/THREAD_POLICY_ID.h b/libjava/org/omg/PortableServer/THREAD_POLICY_ID.h new file mode 100644 index 00000000000..418919cdb86 --- /dev/null +++ b/libjava/org/omg/PortableServer/THREAD_POLICY_ID.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_THREAD_POLICY_ID__ +#define __org_omg_PortableServer_THREAD_POLICY_ID__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class THREAD_POLICY_ID; + } + } + } +} + +class org::omg::PortableServer::THREAD_POLICY_ID : public ::java::lang::Object +{ + +public: + static const jint value = 16; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_THREAD_POLICY_ID__ diff --git a/libjava/org/omg/PortableServer/ThreadPolicy.h b/libjava/org/omg/PortableServer/ThreadPolicy.h new file mode 100644 index 00000000000..06e09b6526f --- /dev/null +++ b/libjava/org/omg/PortableServer/ThreadPolicy.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ThreadPolicy__ +#define __org_omg_PortableServer_ThreadPolicy__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace PortableServer + { + class ThreadPolicy; + class ThreadPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ThreadPolicy : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + virtual ::org::omg::PortableServer::ThreadPolicyValue * value() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ThreadPolicy__ diff --git a/libjava/org/omg/PortableServer/ThreadPolicyOperations.h b/libjava/org/omg/PortableServer/ThreadPolicyOperations.h new file mode 100644 index 00000000000..fbadf62b657 --- /dev/null +++ b/libjava/org/omg/PortableServer/ThreadPolicyOperations.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ThreadPolicyOperations__ +#define __org_omg_PortableServer_ThreadPolicyOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Policy; + } + namespace PortableServer + { + class ThreadPolicyOperations; + class ThreadPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ThreadPolicyOperations : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::ThreadPolicyValue * value() = 0; + virtual ::org::omg::CORBA::Policy * copy() = 0; + virtual void destroy() = 0; + virtual jint policy_type() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_ThreadPolicyOperations__ diff --git a/libjava/org/omg/PortableServer/ThreadPolicyValue.h b/libjava/org/omg/PortableServer/ThreadPolicyValue.h new file mode 100644 index 00000000000..9953a6b6968 --- /dev/null +++ b/libjava/org/omg/PortableServer/ThreadPolicyValue.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_ThreadPolicyValue__ +#define __org_omg_PortableServer_ThreadPolicyValue__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class ThreadPolicyValue; + } + } + } +} + +class org::omg::PortableServer::ThreadPolicyValue : public ::java::lang::Object +{ + +public: // actually protected + ThreadPolicyValue(jint); +public: + static ::org::omg::PortableServer::ThreadPolicyValue * from_int(jint); + virtual ::java::lang::String * toString(); + virtual jint value(); +private: + static const jlong serialVersionUID = -8874988828297141512LL; + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) _value; +public: + static const jint _ORB_CTRL_MODEL = 0; + static ::org::omg::PortableServer::ThreadPolicyValue * ORB_CTRL_MODEL; + static const jint _SINGLE_THREAD_MODEL = 1; + static ::org::omg::PortableServer::ThreadPolicyValue * SINGLE_THREAD_MODEL; +private: + static JArray< ::org::omg::PortableServer::ThreadPolicyValue * > * enume; + static JArray< ::java::lang::String * > * state_names; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer_ThreadPolicyValue__ diff --git a/libjava/org/omg/PortableServer/_ServantActivatorStub.h b/libjava/org/omg/PortableServer/_ServantActivatorStub.h new file mode 100644 index 00000000000..d1b120fcf41 --- /dev/null +++ b/libjava/org/omg/PortableServer/_ServantActivatorStub.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer__ServantActivatorStub__ +#define __org_omg_PortableServer__ServantActivatorStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + class Servant; + class _ServantActivatorStub; + } + } + } +} + +class org::omg::PortableServer::_ServantActivatorStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _ServantActivatorStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::PortableServer::Servant * incarnate(JArray< jbyte > *, ::org::omg::PortableServer::POA *); + virtual void etherealize(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::org::omg::PortableServer::Servant *, jboolean, jboolean); +private: + static const jlong serialVersionUID = -685959979577281419LL; +public: + static ::java::lang::Class * _opsClass; + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer__ServantActivatorStub__ diff --git a/libjava/org/omg/PortableServer/_ServantLocatorStub.h b/libjava/org/omg/PortableServer/_ServantLocatorStub.h new file mode 100644 index 00000000000..7cfa1de88cc --- /dev/null +++ b/libjava/org/omg/PortableServer/_ServantLocatorStub.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer__ServantLocatorStub__ +#define __org_omg_PortableServer__ServantLocatorStub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace PortableServer + { + class POA; + class Servant; + namespace ServantLocatorPackage + { + class CookieHolder; + } + class _ServantLocatorStub; + } + } + } +} + +class org::omg::PortableServer::_ServantLocatorStub : public ::org::omg::CORBA::portable::ObjectImpl +{ + +public: + _ServantLocatorStub(); + virtual JArray< ::java::lang::String * > * _ids(); + virtual ::org::omg::PortableServer::Servant * preinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::org::omg::PortableServer::ServantLocatorPackage::CookieHolder *); + virtual void postinvoke(JArray< jbyte > *, ::org::omg::PortableServer::POA *, ::java::lang::String *, ::java::lang::Object *, ::org::omg::PortableServer::Servant *); +private: + static const jlong serialVersionUID = -2374963516905770111LL; +public: + static ::java::lang::Class * _opsClass; +public: // actually package-private + static ::java::lang::String * OVERRIDE; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_PortableServer__ServantLocatorStub__ diff --git a/libjava/org/omg/PortableServer/portable/Delegate.h b/libjava/org/omg/PortableServer/portable/Delegate.h new file mode 100644 index 00000000000..ecf8c512a18 --- /dev/null +++ b/libjava/org/omg/PortableServer/portable/Delegate.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_PortableServer_portable_Delegate__ +#define __org_omg_PortableServer_portable_Delegate__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class ORB; + class Object; + } + namespace PortableServer + { + class POA; + class Servant; + namespace portable + { + class Delegate; + } + } + } + } +} + +class org::omg::PortableServer::portable::Delegate : public ::java::lang::Object +{ + +public: + virtual ::org::omg::PortableServer::POA * default_POA(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::CORBA::Object * get_interface_def(::org::omg::PortableServer::Servant *) = 0; + virtual jboolean is_a(::org::omg::PortableServer::Servant *, ::java::lang::String *) = 0; + virtual jboolean non_existent(::org::omg::PortableServer::Servant *) = 0; + virtual JArray< jbyte > * object_id(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::CORBA::ORB * orb(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::PortableServer::POA * poa(::org::omg::PortableServer::Servant *) = 0; + virtual ::org::omg::CORBA::Object * this_object(::org::omg::PortableServer::Servant *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_PortableServer_portable_Delegate__ diff --git a/libjava/org/omg/SendingContext/RunTime.h b/libjava/org/omg/SendingContext/RunTime.h new file mode 100644 index 00000000000..95138bbaee9 --- /dev/null +++ b/libjava/org/omg/SendingContext/RunTime.h @@ -0,0 +1,59 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_SendingContext_RunTime__ +#define __org_omg_SendingContext_RunTime__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace CORBA + { + class Context; + class ContextList; + class DomainManager; + class ExceptionList; + class NVList; + class NamedValue; + class Object; + class Policy; + class Request; + class SetOverrideType; + } + namespace SendingContext + { + class RunTime; + } + } + } +} + +class org::omg::SendingContext::RunTime : public ::java::lang::Object +{ + +public: + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *) = 0; + virtual ::org::omg::CORBA::Request * _create_request(::org::omg::CORBA::Context *, ::java::lang::String *, ::org::omg::CORBA::NVList *, ::org::omg::CORBA::NamedValue *, ::org::omg::CORBA::ExceptionList *, ::org::omg::CORBA::ContextList *) = 0; + virtual ::org::omg::CORBA::Object * _duplicate() = 0; + virtual JArray< ::org::omg::CORBA::DomainManager * > * _get_domain_managers() = 0; + virtual ::org::omg::CORBA::Object * _get_interface_def() = 0; + virtual ::org::omg::CORBA::Policy * _get_policy(jint) = 0; + virtual jint _hash(jint) = 0; + virtual jboolean _is_a(::java::lang::String *) = 0; + virtual jboolean _is_equivalent(::org::omg::CORBA::Object *) = 0; + virtual jboolean _non_existent() = 0; + virtual void _release() = 0; + virtual ::org::omg::CORBA::Request * _request(::java::lang::String *) = 0; + virtual ::org::omg::CORBA::Object * _set_policy_override(JArray< ::org::omg::CORBA::Policy * > *, ::org::omg::CORBA::SetOverrideType *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_SendingContext_RunTime__ diff --git a/libjava/org/omg/SendingContext/RunTimeOperations.h b/libjava/org/omg/SendingContext/RunTimeOperations.h new file mode 100644 index 00000000000..523afb3b98b --- /dev/null +++ b/libjava/org/omg/SendingContext/RunTimeOperations.h @@ -0,0 +1,31 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_SendingContext_RunTimeOperations__ +#define __org_omg_SendingContext_RunTimeOperations__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace omg + { + namespace SendingContext + { + class RunTimeOperations; + } + } + } +} + +class org::omg::SendingContext::RunTimeOperations : public ::java::lang::Object +{ + +public: + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_omg_SendingContext_RunTimeOperations__ diff --git a/libjava/org/omg/stub/java/rmi/_Remote_Stub.h b/libjava/org/omg/stub/java/rmi/_Remote_Stub.h new file mode 100644 index 00000000000..e6c6c164565 --- /dev/null +++ b/libjava/org/omg/stub/java/rmi/_Remote_Stub.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_omg_stub_java_rmi__Remote_Stub__ +#define __org_omg_stub_java_rmi__Remote_Stub__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace omg + { + namespace stub + { + namespace java + { + namespace rmi + { + class _Remote_Stub; + } + } + } + } + } +} + +class org::omg::stub::java::rmi::_Remote_Stub : public ::javax::rmi::CORBA::Stub +{ + +public: + _Remote_Stub(); + JArray< ::java::lang::String * > * _ids(); +private: + static const jlong serialVersionUID = -1967190271952680697LL; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_omg_stub_java_rmi__Remote_Stub__ diff --git a/libjava/org/relaxng/datatype/Datatype.h b/libjava/org/relaxng/datatype/Datatype.h new file mode 100644 index 00000000000..7274ef5b080 --- /dev/null +++ b/libjava/org/relaxng/datatype/Datatype.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_Datatype__ +#define __org_relaxng_datatype_Datatype__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class DatatypeStreamingValidator; + class ValidationContext; + } + } + } +} + +class org::relaxng::datatype::Datatype : public ::java::lang::Object +{ + +public: + virtual jboolean isValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *) = 0; + virtual void checkValid(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *) = 0; + virtual ::org::relaxng::datatype::DatatypeStreamingValidator * createStreamingValidator(::org::relaxng::datatype::ValidationContext *) = 0; + virtual ::java::lang::Object * createValue(::java::lang::String *, ::org::relaxng::datatype::ValidationContext *) = 0; + virtual jboolean sameValue(::java::lang::Object *, ::java::lang::Object *) = 0; + virtual jint valueHashCode(::java::lang::Object *) = 0; + virtual jint getIdType() = 0; + virtual jboolean isContextDependent() = 0; + static const jint ID_TYPE_NULL = 0; + static const jint ID_TYPE_ID = 1; + static const jint ID_TYPE_IDREF = 2; + static const jint ID_TYPE_IDREFS = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_relaxng_datatype_Datatype__ diff --git a/libjava/org/relaxng/datatype/DatatypeBuilder.h b/libjava/org/relaxng/datatype/DatatypeBuilder.h new file mode 100644 index 00000000000..7a996e68f3d --- /dev/null +++ b/libjava/org/relaxng/datatype/DatatypeBuilder.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_DatatypeBuilder__ +#define __org_relaxng_datatype_DatatypeBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class DatatypeBuilder; + class ValidationContext; + } + } + } +} + +class org::relaxng::datatype::DatatypeBuilder : public ::java::lang::Object +{ + +public: + virtual void addParameter(::java::lang::String *, ::java::lang::String *, ::org::relaxng::datatype::ValidationContext *) = 0; + virtual ::org::relaxng::datatype::Datatype * createDatatype() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_relaxng_datatype_DatatypeBuilder__ diff --git a/libjava/org/relaxng/datatype/DatatypeException.h b/libjava/org/relaxng/datatype/DatatypeException.h new file mode 100644 index 00000000000..e8a3f3219ca --- /dev/null +++ b/libjava/org/relaxng/datatype/DatatypeException.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_DatatypeException__ +#define __org_relaxng_datatype_DatatypeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeException; + } + } + } +} + +class org::relaxng::datatype::DatatypeException : public ::java::lang::Exception +{ + +public: + DatatypeException(jint, ::java::lang::String *); + DatatypeException(::java::lang::String *); + DatatypeException(); + virtual jint getIndex(); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Exception)))) index; +public: + static const jint UNKNOWN = -1; + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_DatatypeException__ diff --git a/libjava/org/relaxng/datatype/DatatypeLibrary.h b/libjava/org/relaxng/datatype/DatatypeLibrary.h new file mode 100644 index 00000000000..bdfcc94dc05 --- /dev/null +++ b/libjava/org/relaxng/datatype/DatatypeLibrary.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_DatatypeLibrary__ +#define __org_relaxng_datatype_DatatypeLibrary__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class DatatypeBuilder; + class DatatypeLibrary; + } + } + } +} + +class org::relaxng::datatype::DatatypeLibrary : public ::java::lang::Object +{ + +public: + virtual ::org::relaxng::datatype::DatatypeBuilder * createDatatypeBuilder(::java::lang::String *) = 0; + virtual ::org::relaxng::datatype::Datatype * createDatatype(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_relaxng_datatype_DatatypeLibrary__ diff --git a/libjava/org/relaxng/datatype/DatatypeLibraryFactory.h b/libjava/org/relaxng/datatype/DatatypeLibraryFactory.h new file mode 100644 index 00000000000..074e005e5c6 --- /dev/null +++ b/libjava/org/relaxng/datatype/DatatypeLibraryFactory.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_DatatypeLibraryFactory__ +#define __org_relaxng_datatype_DatatypeLibraryFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeLibrary; + class DatatypeLibraryFactory; + } + } + } +} + +class org::relaxng::datatype::DatatypeLibraryFactory : public ::java::lang::Object +{ + +public: + virtual ::org::relaxng::datatype::DatatypeLibrary * createDatatypeLibrary(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_relaxng_datatype_DatatypeLibraryFactory__ diff --git a/libjava/org/relaxng/datatype/DatatypeStreamingValidator.h b/libjava/org/relaxng/datatype/DatatypeStreamingValidator.h new file mode 100644 index 00000000000..b05ed17d14f --- /dev/null +++ b/libjava/org/relaxng/datatype/DatatypeStreamingValidator.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_DatatypeStreamingValidator__ +#define __org_relaxng_datatype_DatatypeStreamingValidator__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeStreamingValidator; + } + } + } +} + +class org::relaxng::datatype::DatatypeStreamingValidator : public ::java::lang::Object +{ + +public: + virtual void addCharacters(JArray< jchar > *, jint, jint) = 0; + virtual jboolean isValid() = 0; + virtual void checkValid() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_relaxng_datatype_DatatypeStreamingValidator__ diff --git a/libjava/org/relaxng/datatype/ValidationContext.h b/libjava/org/relaxng/datatype/ValidationContext.h new file mode 100644 index 00000000000..171beeb728d --- /dev/null +++ b/libjava/org/relaxng/datatype/ValidationContext.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_ValidationContext__ +#define __org_relaxng_datatype_ValidationContext__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class ValidationContext; + } + } + } +} + +class org::relaxng::datatype::ValidationContext : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * resolveNamespacePrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getBaseUri() = 0; + virtual jboolean isUnparsedEntity(::java::lang::String *) = 0; + virtual jboolean isNotation(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_relaxng_datatype_ValidationContext__ diff --git a/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.h b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.h new file mode 100644 index 00000000000..dcefb2e48ca --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader__ +#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + namespace helpers + { + class DatatypeLibraryLoader$Service$Loader; + } + } + } + } +} + +class org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader : public ::java::lang::Object +{ + + DatatypeLibraryLoader$Service$Loader(); +public: // actually package-private + virtual ::java::util::Enumeration * getResources(::java::lang::String *); + virtual ::java::lang::Class * loadClass(::java::lang::String *); + DatatypeLibraryLoader$Service$Loader(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader *); + DatatypeLibraryLoader$Service$Loader(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader *, ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader *); +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader__ diff --git a/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.h b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.h new file mode 100644 index 00000000000..338d0ba888e --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Loader2.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader2__ +#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader2__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + namespace helpers + { + class DatatypeLibraryLoader$Service$Loader2; + } + } + } + } +} + +class org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader2 : public ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader +{ + +public: // actually package-private + DatatypeLibraryLoader$Service$Loader2(); + virtual ::java::util::Enumeration * getResources(::java::lang::String *); + virtual ::java::lang::Class * loadClass(::java::lang::String *); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader)))) cl; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader2__ diff --git a/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.h b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.h new file mode 100644 index 00000000000..6f2b476513f --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$ProviderEnumeration.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$ProviderEnumeration__ +#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$ProviderEnumeration__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + namespace helpers + { + class DatatypeLibraryLoader$Service; + class DatatypeLibraryLoader$Service$ProviderEnumeration; + } + } + } + } +} + +class org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$ProviderEnumeration : public ::java::lang::Object +{ + + DatatypeLibraryLoader$Service$ProviderEnumeration(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + DatatypeLibraryLoader$Service$ProviderEnumeration(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service *, ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$ProviderEnumeration *); +private: + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextIndex; +public: // actually package-private + ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service * this$1; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$ProviderEnumeration__ diff --git a/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.h b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.h new file mode 100644 index 00000000000..6f6e535ee88 --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service$Singleton.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Singleton__ +#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Singleton__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + namespace helpers + { + class DatatypeLibraryLoader$Service$Singleton; + } + } + } + } +} + +class org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Singleton : public ::java::lang::Object +{ + + DatatypeLibraryLoader$Service$Singleton(::java::lang::Object *); +public: + virtual jboolean hasMoreElements(); + virtual ::java::lang::Object * nextElement(); +public: // actually package-private + DatatypeLibraryLoader$Service$Singleton(::java::lang::Object *, ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Singleton *); +private: + ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) obj; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Singleton__ diff --git a/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.h b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.h new file mode 100644 index 00000000000..7757d90cad2 --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader$Service.h @@ -0,0 +1,60 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service__ +#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service__ + +#pragma interface + +#include +extern "Java" +{ + namespace java + { + namespace net + { + class URL; + } + } + namespace org + { + namespace relaxng + { + namespace datatype + { + namespace helpers + { + class DatatypeLibraryLoader$Service; + class DatatypeLibraryLoader$Service$Loader; + } + } + } + } +} + +class org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service : public ::java::lang::Object +{ + +public: + DatatypeLibraryLoader$Service(::java::lang::Class *); + virtual ::java::util::Enumeration * getProviders(); +private: + jboolean moreProviders(); + static ::java::util::Enumeration * parseConfigFile(::java::net::URL *); +public: // actually package-private + static ::java::util::Vector * access$0(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service *); + static jboolean access$1(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service *); +private: + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) serviceClass; + ::java::util::Enumeration * configFiles; + ::java::util::Enumeration * classNames; + ::java::util::Vector * providers; + ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader * loader; + static const jint START = 0; + static const jint IN_NAME = 1; + static const jint IN_COMMENT = 2; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service__ diff --git a/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader.h b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader.h new file mode 100644 index 00000000000..f45e713b3e4 --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/DatatypeLibraryLoader.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader__ +#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class DatatypeLibrary; + namespace helpers + { + class DatatypeLibraryLoader; + class DatatypeLibraryLoader$Service; + } + } + } + } +} + +class org::relaxng::datatype::helpers::DatatypeLibraryLoader : public ::java::lang::Object +{ + +public: + DatatypeLibraryLoader(); + virtual ::org::relaxng::datatype::DatatypeLibrary * createDatatypeLibrary(::java::lang::String *); +private: + ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service * __attribute__((aligned(__alignof__( ::java::lang::Object)))) service; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader__ diff --git a/libjava/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.h b/libjava/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.h new file mode 100644 index 00000000000..38c56716260 --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_ParameterlessDatatypeBuilder__ +#define __org_relaxng_datatype_helpers_ParameterlessDatatypeBuilder__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class ValidationContext; + namespace helpers + { + class ParameterlessDatatypeBuilder; + } + } + } + } +} + +class org::relaxng::datatype::helpers::ParameterlessDatatypeBuilder : public ::java::lang::Object +{ + +public: + ParameterlessDatatypeBuilder(::org::relaxng::datatype::Datatype *); + void addParameter(::java::lang::String *, ::java::lang::String *, ::org::relaxng::datatype::ValidationContext *); + ::org::relaxng::datatype::Datatype * createDatatype(); +private: + ::org::relaxng::datatype::Datatype * __attribute__((aligned(__alignof__( ::java::lang::Object)))) baseType; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_ParameterlessDatatypeBuilder__ diff --git a/libjava/org/relaxng/datatype/helpers/StreamingValidatorImpl.h b/libjava/org/relaxng/datatype/helpers/StreamingValidatorImpl.h new file mode 100644 index 00000000000..77ae7639cc3 --- /dev/null +++ b/libjava/org/relaxng/datatype/helpers/StreamingValidatorImpl.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_relaxng_datatype_helpers_StreamingValidatorImpl__ +#define __org_relaxng_datatype_helpers_StreamingValidatorImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace relaxng + { + namespace datatype + { + class Datatype; + class ValidationContext; + namespace helpers + { + class StreamingValidatorImpl; + } + } + } + } +} + +class org::relaxng::datatype::helpers::StreamingValidatorImpl : public ::java::lang::Object +{ + +public: + void addCharacters(JArray< jchar > *, jint, jint); + jboolean isValid(); + void checkValid(); + StreamingValidatorImpl(::org::relaxng::datatype::Datatype *, ::org::relaxng::datatype::ValidationContext *); +private: + ::java::lang::StringBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer; + ::org::relaxng::datatype::Datatype * baseType; + ::org::relaxng::datatype::ValidationContext * context; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_relaxng_datatype_helpers_StreamingValidatorImpl__ diff --git a/libjava/org/w3c/dom/Attr.h b/libjava/org/w3c/dom/Attr.h new file mode 100644 index 00000000000..5dfe4639c11 --- /dev/null +++ b/libjava/org/w3c/dom/Attr.h @@ -0,0 +1,82 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Attr__ +#define __org_w3c_dom_Attr__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class Element; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Attr : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual jboolean getSpecified() = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Element * getOwnerElement() = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual jboolean isId() = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Attr__ diff --git a/libjava/org/w3c/dom/CDATASection.h b/libjava/org/w3c/dom/CDATASection.h new file mode 100644 index 00000000000..47d07e44097 --- /dev/null +++ b/libjava/org/w3c/dom/CDATASection.h @@ -0,0 +1,86 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_CDATASection__ +#define __org_w3c_dom_CDATASection__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class CDATASection; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class Text; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::CDATASection : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Text * splitText(jint) = 0; + virtual jboolean isElementContentWhitespace() = 0; + virtual ::java::lang::String * getWholeText() = 0; + virtual ::org::w3c::dom::Text * replaceWholeText(::java::lang::String *) = 0; + virtual ::java::lang::String * getData() = 0; + virtual void setData(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * substringData(jint, jint) = 0; + virtual void appendData(::java::lang::String *) = 0; + virtual void insertData(jint, ::java::lang::String *) = 0; + virtual void deleteData(jint, jint) = 0; + virtual void replaceData(jint, jint, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_CDATASection__ diff --git a/libjava/org/w3c/dom/CharacterData.h b/libjava/org/w3c/dom/CharacterData.h new file mode 100644 index 00000000000..3aca583a4f5 --- /dev/null +++ b/libjava/org/w3c/dom/CharacterData.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_CharacterData__ +#define __org_w3c_dom_CharacterData__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class CharacterData; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::CharacterData : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getData() = 0; + virtual void setData(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * substringData(jint, jint) = 0; + virtual void appendData(::java::lang::String *) = 0; + virtual void insertData(jint, ::java::lang::String *) = 0; + virtual void deleteData(jint, jint) = 0; + virtual void replaceData(jint, jint, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_CharacterData__ diff --git a/libjava/org/w3c/dom/Comment.h b/libjava/org/w3c/dom/Comment.h new file mode 100644 index 00000000000..91014528b46 --- /dev/null +++ b/libjava/org/w3c/dom/Comment.h @@ -0,0 +1,81 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Comment__ +#define __org_w3c_dom_Comment__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Comment; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Comment : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getData() = 0; + virtual void setData(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * substringData(jint, jint) = 0; + virtual void appendData(::java::lang::String *) = 0; + virtual void insertData(jint, ::java::lang::String *) = 0; + virtual void deleteData(jint, jint) = 0; + virtual void replaceData(jint, jint, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Comment__ diff --git a/libjava/org/w3c/dom/DOMConfiguration.h b/libjava/org/w3c/dom/DOMConfiguration.h new file mode 100644 index 00000000000..7b32b17f335 --- /dev/null +++ b/libjava/org/w3c/dom/DOMConfiguration.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMConfiguration__ +#define __org_w3c_dom_DOMConfiguration__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMConfiguration; + class DOMStringList; + } + } + } +} + +class org::w3c::dom::DOMConfiguration : public ::java::lang::Object +{ + +public: + virtual void setParameter(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::java::lang::Object * getParameter(::java::lang::String *) = 0; + virtual jboolean canSetParameter(::java::lang::String *, ::java::lang::Object *) = 0; + virtual ::org::w3c::dom::DOMStringList * getParameterNames() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMConfiguration__ diff --git a/libjava/org/w3c/dom/DOMError.h b/libjava/org/w3c/dom/DOMError.h new file mode 100644 index 00000000000..90ce8ad99f9 --- /dev/null +++ b/libjava/org/w3c/dom/DOMError.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMError__ +#define __org_w3c_dom_DOMError__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMError; + class DOMLocator; + } + } + } +} + +class org::w3c::dom::DOMError : public ::java::lang::Object +{ + +public: + virtual jshort getSeverity() = 0; + virtual ::java::lang::String * getMessage() = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::java::lang::Object * getRelatedException() = 0; + virtual ::java::lang::Object * getRelatedData() = 0; + virtual ::org::w3c::dom::DOMLocator * getLocation() = 0; + static const jshort SEVERITY_WARNING = 1; + static const jshort SEVERITY_ERROR = 2; + static const jshort SEVERITY_FATAL_ERROR = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMError__ diff --git a/libjava/org/w3c/dom/DOMErrorHandler.h b/libjava/org/w3c/dom/DOMErrorHandler.h new file mode 100644 index 00000000000..c0f875ebe31 --- /dev/null +++ b/libjava/org/w3c/dom/DOMErrorHandler.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMErrorHandler__ +#define __org_w3c_dom_DOMErrorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMError; + class DOMErrorHandler; + } + } + } +} + +class org::w3c::dom::DOMErrorHandler : public ::java::lang::Object +{ + +public: + virtual jboolean handleError(::org::w3c::dom::DOMError *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMErrorHandler__ diff --git a/libjava/org/w3c/dom/DOMException.h b/libjava/org/w3c/dom/DOMException.h new file mode 100644 index 00000000000..52fd15cc241 --- /dev/null +++ b/libjava/org/w3c/dom/DOMException.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMException__ +#define __org_w3c_dom_DOMException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMException; + } + } + } +} + +class org::w3c::dom::DOMException : public ::java::lang::RuntimeException +{ + +public: + DOMException(jshort, ::java::lang::String *); + jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code; + static const jshort INDEX_SIZE_ERR = 1; + static const jshort DOMSTRING_SIZE_ERR = 2; + static const jshort HIERARCHY_REQUEST_ERR = 3; + static const jshort WRONG_DOCUMENT_ERR = 4; + static const jshort INVALID_CHARACTER_ERR = 5; + static const jshort NO_DATA_ALLOWED_ERR = 6; + static const jshort NO_MODIFICATION_ALLOWED_ERR = 7; + static const jshort NOT_FOUND_ERR = 8; + static const jshort NOT_SUPPORTED_ERR = 9; + static const jshort INUSE_ATTRIBUTE_ERR = 10; + static const jshort INVALID_STATE_ERR = 11; + static const jshort SYNTAX_ERR = 12; + static const jshort INVALID_MODIFICATION_ERR = 13; + static const jshort NAMESPACE_ERR = 14; + static const jshort INVALID_ACCESS_ERR = 15; + static const jshort VALIDATION_ERR = 16; + static const jshort TYPE_MISMATCH_ERR = 17; + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_DOMException__ diff --git a/libjava/org/w3c/dom/DOMImplementation.h b/libjava/org/w3c/dom/DOMImplementation.h new file mode 100644 index 00000000000..2d191a608a2 --- /dev/null +++ b/libjava/org/w3c/dom/DOMImplementation.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMImplementation__ +#define __org_w3c_dom_DOMImplementation__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class Document; + class DocumentType; + } + } + } +} + +class org::w3c::dom::DOMImplementation : public ::java::lang::Object +{ + +public: + virtual jboolean hasFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::DocumentType * createDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Document * createDocument(::java::lang::String *, ::java::lang::String *, ::org::w3c::dom::DocumentType *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMImplementation__ diff --git a/libjava/org/w3c/dom/DOMImplementationList.h b/libjava/org/w3c/dom/DOMImplementationList.h new file mode 100644 index 00000000000..a787742ae01 --- /dev/null +++ b/libjava/org/w3c/dom/DOMImplementationList.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMImplementationList__ +#define __org_w3c_dom_DOMImplementationList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class DOMImplementationList; + } + } + } +} + +class org::w3c::dom::DOMImplementationList : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::DOMImplementation * item(jint) = 0; + virtual jint getLength() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMImplementationList__ diff --git a/libjava/org/w3c/dom/DOMImplementationSource.h b/libjava/org/w3c/dom/DOMImplementationSource.h new file mode 100644 index 00000000000..3431e280497 --- /dev/null +++ b/libjava/org/w3c/dom/DOMImplementationSource.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMImplementationSource__ +#define __org_w3c_dom_DOMImplementationSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class DOMImplementationList; + class DOMImplementationSource; + } + } + } +} + +class org::w3c::dom::DOMImplementationSource : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::DOMImplementation * getDOMImplementation(::java::lang::String *) = 0; + virtual ::org::w3c::dom::DOMImplementationList * getDOMImplementationList(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMImplementationSource__ diff --git a/libjava/org/w3c/dom/DOMLocator.h b/libjava/org/w3c/dom/DOMLocator.h new file mode 100644 index 00000000000..16733f7fef1 --- /dev/null +++ b/libjava/org/w3c/dom/DOMLocator.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMLocator__ +#define __org_w3c_dom_DOMLocator__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMLocator; + class Node; + } + } + } +} + +class org::w3c::dom::DOMLocator : public ::java::lang::Object +{ + +public: + virtual jint getLineNumber() = 0; + virtual jint getColumnNumber() = 0; + virtual jint getByteOffset() = 0; + virtual jint getUtf16Offset() = 0; + virtual ::org::w3c::dom::Node * getRelatedNode() = 0; + virtual ::java::lang::String * getUri() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMLocator__ diff --git a/libjava/org/w3c/dom/DOMStringList.h b/libjava/org/w3c/dom/DOMStringList.h new file mode 100644 index 00000000000..3cbe1825603 --- /dev/null +++ b/libjava/org/w3c/dom/DOMStringList.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DOMStringList__ +#define __org_w3c_dom_DOMStringList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMStringList; + } + } + } +} + +class org::w3c::dom::DOMStringList : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * item(jint) = 0; + virtual jint getLength() = 0; + virtual jboolean contains(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DOMStringList__ diff --git a/libjava/org/w3c/dom/Document.h b/libjava/org/w3c/dom/Document.h new file mode 100644 index 00000000000..9101ff154d1 --- /dev/null +++ b/libjava/org/w3c/dom/Document.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Document__ +#define __org_w3c_dom_Document__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class CDATASection; + class Comment; + class DOMConfiguration; + class DOMImplementation; + class Document; + class DocumentFragment; + class DocumentType; + class Element; + class EntityReference; + class NamedNodeMap; + class Node; + class NodeList; + class ProcessingInstruction; + class Text; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Document : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::DocumentType * getDoctype() = 0; + virtual ::org::w3c::dom::DOMImplementation * getImplementation() = 0; + virtual ::org::w3c::dom::Element * getDocumentElement() = 0; + virtual ::org::w3c::dom::Element * createElement(::java::lang::String *) = 0; + virtual ::org::w3c::dom::DocumentFragment * createDocumentFragment() = 0; + virtual ::org::w3c::dom::Text * createTextNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Comment * createComment(::java::lang::String *) = 0; + virtual ::org::w3c::dom::CDATASection * createCDATASection(::java::lang::String *) = 0; + virtual ::org::w3c::dom::ProcessingInstruction * createProcessingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * createAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::EntityReference * createEntityReference(::java::lang::String *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * importNode(::org::w3c::dom::Node *, jboolean) = 0; + virtual ::org::w3c::dom::Element * createElementNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * createAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Element * getElementById(::java::lang::String *) = 0; + virtual ::java::lang::String * getInputEncoding() = 0; + virtual ::java::lang::String * getXmlEncoding() = 0; + virtual jboolean getXmlStandalone() = 0; + virtual void setXmlStandalone(jboolean) = 0; + virtual ::java::lang::String * getXmlVersion() = 0; + virtual void setXmlVersion(::java::lang::String *) = 0; + virtual jboolean getStrictErrorChecking() = 0; + virtual void setStrictErrorChecking(jboolean) = 0; + virtual ::java::lang::String * getDocumentURI() = 0; + virtual void setDocumentURI(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * adoptNode(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig() = 0; + virtual void normalizeDocument() = 0; + virtual ::org::w3c::dom::Node * renameNode(::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Document__ diff --git a/libjava/org/w3c/dom/DocumentFragment.h b/libjava/org/w3c/dom/DocumentFragment.h new file mode 100644 index 00000000000..02abdfd97ed --- /dev/null +++ b/libjava/org/w3c/dom/DocumentFragment.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DocumentFragment__ +#define __org_w3c_dom_DocumentFragment__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class DocumentFragment; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::DocumentFragment : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DocumentFragment__ diff --git a/libjava/org/w3c/dom/DocumentType.h b/libjava/org/w3c/dom/DocumentType.h new file mode 100644 index 00000000000..dc35fe84869 --- /dev/null +++ b/libjava/org/w3c/dom/DocumentType.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_DocumentType__ +#define __org_w3c_dom_DocumentType__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class DocumentType; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::DocumentType : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getEntities() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getNotations() = 0; + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual ::java::lang::String * getInternalSubset() = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_DocumentType__ diff --git a/libjava/org/w3c/dom/Element.h b/libjava/org/w3c/dom/Element.h new file mode 100644 index 00000000000..cc61cd02e15 --- /dev/null +++ b/libjava/org/w3c/dom/Element.h @@ -0,0 +1,95 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Element__ +#define __org_w3c_dom_Element__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class Element; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Element : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Element__ diff --git a/libjava/org/w3c/dom/Entity.h b/libjava/org/w3c/dom/Entity.h new file mode 100644 index 00000000000..f625e5b0cc3 --- /dev/null +++ b/libjava/org/w3c/dom/Entity.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Entity__ +#define __org_w3c_dom_Entity__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class Entity; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Entity : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual ::java::lang::String * getNotationName() = 0; + virtual ::java::lang::String * getInputEncoding() = 0; + virtual ::java::lang::String * getXmlEncoding() = 0; + virtual ::java::lang::String * getXmlVersion() = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Entity__ diff --git a/libjava/org/w3c/dom/EntityReference.h b/libjava/org/w3c/dom/EntityReference.h new file mode 100644 index 00000000000..d60cda8de42 --- /dev/null +++ b/libjava/org/w3c/dom/EntityReference.h @@ -0,0 +1,73 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_EntityReference__ +#define __org_w3c_dom_EntityReference__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class EntityReference; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::EntityReference : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_EntityReference__ diff --git a/libjava/org/w3c/dom/NameList.h b/libjava/org/w3c/dom/NameList.h new file mode 100644 index 00000000000..7bbaac2ad0a --- /dev/null +++ b/libjava/org/w3c/dom/NameList.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_NameList__ +#define __org_w3c_dom_NameList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class NameList; + } + } + } +} + +class org::w3c::dom::NameList : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName(jint) = 0; + virtual ::java::lang::String * getNamespaceURI(jint) = 0; + virtual jint getLength() = 0; + virtual jboolean contains(::java::lang::String *) = 0; + virtual jboolean containsNS(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_NameList__ diff --git a/libjava/org/w3c/dom/NamedNodeMap.h b/libjava/org/w3c/dom/NamedNodeMap.h new file mode 100644 index 00000000000..40ed8ad7b45 --- /dev/null +++ b/libjava/org/w3c/dom/NamedNodeMap.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_NamedNodeMap__ +#define __org_w3c_dom_NamedNodeMap__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class NamedNodeMap; + class Node; + } + } + } +} + +class org::w3c::dom::NamedNodeMap : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * getNamedItem(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * setNamedItem(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeNamedItem(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * item(jint) = 0; + virtual jint getLength() = 0; + virtual ::org::w3c::dom::Node * getNamedItemNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * setNamedItemNS(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeNamedItemNS(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_NamedNodeMap__ diff --git a/libjava/org/w3c/dom/Node.h b/libjava/org/w3c/dom/Node.h new file mode 100644 index 00000000000..350638eb522 --- /dev/null +++ b/libjava/org/w3c/dom/Node.h @@ -0,0 +1,90 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Node__ +#define __org_w3c_dom_Node__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Node : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static const jshort ELEMENT_NODE = 1; + static const jshort ATTRIBUTE_NODE = 2; + static const jshort TEXT_NODE = 3; + static const jshort CDATA_SECTION_NODE = 4; + static const jshort ENTITY_REFERENCE_NODE = 5; + static const jshort ENTITY_NODE = 6; + static const jshort PROCESSING_INSTRUCTION_NODE = 7; + static const jshort COMMENT_NODE = 8; + static const jshort DOCUMENT_NODE = 9; + static const jshort DOCUMENT_TYPE_NODE = 10; + static const jshort DOCUMENT_FRAGMENT_NODE = 11; + static const jshort NOTATION_NODE = 12; + static const jshort DOCUMENT_POSITION_DISCONNECTED = 1; + static const jshort DOCUMENT_POSITION_PRECEDING = 2; + static const jshort DOCUMENT_POSITION_FOLLOWING = 4; + static const jshort DOCUMENT_POSITION_CONTAINS = 8; + static const jshort DOCUMENT_POSITION_CONTAINED_BY = 16; + static const jshort DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Node__ diff --git a/libjava/org/w3c/dom/NodeList.h b/libjava/org/w3c/dom/NodeList.h new file mode 100644 index 00000000000..da0a2214f61 --- /dev/null +++ b/libjava/org/w3c/dom/NodeList.h @@ -0,0 +1,34 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_NodeList__ +#define __org_w3c_dom_NodeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + class NodeList; + } + } + } +} + +class org::w3c::dom::NodeList : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * item(jint) = 0; + virtual jint getLength() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_NodeList__ diff --git a/libjava/org/w3c/dom/Notation.h b/libjava/org/w3c/dom/Notation.h new file mode 100644 index 00000000000..76ac4b4ed1a --- /dev/null +++ b/libjava/org/w3c/dom/Notation.h @@ -0,0 +1,75 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Notation__ +#define __org_w3c_dom_Notation__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class Notation; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Notation : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Notation__ diff --git a/libjava/org/w3c/dom/ProcessingInstruction.h b/libjava/org/w3c/dom/ProcessingInstruction.h new file mode 100644 index 00000000000..9f6054af8ad --- /dev/null +++ b/libjava/org/w3c/dom/ProcessingInstruction.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ProcessingInstruction__ +#define __org_w3c_dom_ProcessingInstruction__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class ProcessingInstruction; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::ProcessingInstruction : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getTarget() = 0; + virtual ::java::lang::String * getData() = 0; + virtual void setData(::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ProcessingInstruction__ diff --git a/libjava/org/w3c/dom/Text.h b/libjava/org/w3c/dom/Text.h new file mode 100644 index 00000000000..b04adfc278a --- /dev/null +++ b/libjava/org/w3c/dom/Text.h @@ -0,0 +1,85 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_Text__ +#define __org_w3c_dom_Text__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class Text; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::Text : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Text * splitText(jint) = 0; + virtual jboolean isElementContentWhitespace() = 0; + virtual ::java::lang::String * getWholeText() = 0; + virtual ::org::w3c::dom::Text * replaceWholeText(::java::lang::String *) = 0; + virtual ::java::lang::String * getData() = 0; + virtual void setData(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * substringData(jint, jint) = 0; + virtual void appendData(::java::lang::String *) = 0; + virtual void insertData(jint, ::java::lang::String *) = 0; + virtual void deleteData(jint, jint) = 0; + virtual void replaceData(jint, jint, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_Text__ diff --git a/libjava/org/w3c/dom/TypeInfo.h b/libjava/org/w3c/dom/TypeInfo.h new file mode 100644 index 00000000000..136572ebaa8 --- /dev/null +++ b/libjava/org/w3c/dom/TypeInfo.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_TypeInfo__ +#define __org_w3c_dom_TypeInfo__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class TypeInfo; + } + } + } +} + +class org::w3c::dom::TypeInfo : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getTypeName() = 0; + virtual ::java::lang::String * getTypeNamespace() = 0; + virtual jboolean isDerivedFrom(::java::lang::String *, ::java::lang::String *, jint) = 0; + static const jint DERIVATION_RESTRICTION = 1; + static const jint DERIVATION_EXTENSION = 2; + static const jint DERIVATION_UNION = 4; + static const jint DERIVATION_LIST = 8; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_TypeInfo__ diff --git a/libjava/org/w3c/dom/UserDataHandler.h b/libjava/org/w3c/dom/UserDataHandler.h new file mode 100644 index 00000000000..a47eac3c25d --- /dev/null +++ b/libjava/org/w3c/dom/UserDataHandler.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_UserDataHandler__ +#define __org_w3c_dom_UserDataHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + class UserDataHandler; + } + } + } +} + +class org::w3c::dom::UserDataHandler : public ::java::lang::Object +{ + +public: + virtual void handle(jshort, ::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + static const jshort NODE_CLONED = 1; + static const jshort NODE_IMPORTED = 2; + static const jshort NODE_DELETED = 3; + static const jshort NODE_RENAMED = 4; + static const jshort NODE_ADOPTED = 5; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_UserDataHandler__ diff --git a/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.h b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.h new file mode 100644 index 00000000000..af85bdee28f --- /dev/null +++ b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$1.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_bootstrap_DOMImplementationRegistry$1__ +#define __org_w3c_dom_bootstrap_DOMImplementationRegistry$1__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + namespace bootstrap + { + class DOMImplementationRegistry; + class DOMImplementationRegistry$1; + } + } + } + } +} + +class org::w3c::dom::bootstrap::DOMImplementationRegistry$1 : public ::java::lang::Object +{ + +public: // actually package-private + DOMImplementationRegistry$1(::org::w3c::dom::bootstrap::DOMImplementationRegistry *, ::java::util::Vector *); +public: + ::org::w3c::dom::DOMImplementation * item(jint); + jint getLength(); +public: // actually package-private + ::org::w3c::dom::bootstrap::DOMImplementationRegistry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0; +private: + ::java::util::Vector * val$implementations; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_bootstrap_DOMImplementationRegistry$1__ diff --git a/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.h b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.h new file mode 100644 index 00000000000..6d773f7f953 --- /dev/null +++ b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$2.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_bootstrap_DOMImplementationRegistry$2__ +#define __org_w3c_dom_bootstrap_DOMImplementationRegistry$2__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace bootstrap + { + class DOMImplementationRegistry$2; + } + } + } + } +} + +class org::w3c::dom::bootstrap::DOMImplementationRegistry$2 : public ::java::lang::Object +{ + +public: // actually package-private + DOMImplementationRegistry$2(); +public: + ::java::lang::Object * run(); + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_bootstrap_DOMImplementationRegistry$2__ diff --git a/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.h b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.h new file mode 100644 index 00000000000..a54005f5cea --- /dev/null +++ b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$3.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_bootstrap_DOMImplementationRegistry$3__ +#define __org_w3c_dom_bootstrap_DOMImplementationRegistry$3__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace bootstrap + { + class DOMImplementationRegistry$3; + } + } + } + } +} + +class org::w3c::dom::bootstrap::DOMImplementationRegistry$3 : public ::java::lang::Object +{ + +public: // actually package-private + DOMImplementationRegistry$3(::java::lang::String *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_bootstrap_DOMImplementationRegistry$3__ diff --git a/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.h b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.h new file mode 100644 index 00000000000..dbb86b0d3fb --- /dev/null +++ b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry$4.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_bootstrap_DOMImplementationRegistry$4__ +#define __org_w3c_dom_bootstrap_DOMImplementationRegistry$4__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace bootstrap + { + class DOMImplementationRegistry$4; + } + } + } + } +} + +class org::w3c::dom::bootstrap::DOMImplementationRegistry$4 : public ::java::lang::Object +{ + +public: // actually package-private + DOMImplementationRegistry$4(::java::lang::ClassLoader *, ::java::lang::String *); +public: + ::java::lang::Object * run(); +private: + ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$classLoader; + ::java::lang::String * val$name; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_bootstrap_DOMImplementationRegistry$4__ diff --git a/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry.h b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry.h new file mode 100644 index 00000000000..7f284503d9b --- /dev/null +++ b/libjava/org/w3c/dom/bootstrap/DOMImplementationRegistry.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_bootstrap_DOMImplementationRegistry__ +#define __org_w3c_dom_bootstrap_DOMImplementationRegistry__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMImplementation; + class DOMImplementationList; + class DOMImplementationSource; + namespace bootstrap + { + class DOMImplementationRegistry; + } + } + } + } +} + +class org::w3c::dom::bootstrap::DOMImplementationRegistry : public ::java::lang::Object +{ + + DOMImplementationRegistry(::java::util::Vector *); +public: + static ::org::w3c::dom::bootstrap::DOMImplementationRegistry * newInstance(); + ::org::w3c::dom::DOMImplementation * getDOMImplementation(::java::lang::String *); + ::org::w3c::dom::DOMImplementationList * getDOMImplementationList(::java::lang::String *); + void addSource(::org::w3c::dom::DOMImplementationSource *); +private: + static ::java::lang::ClassLoader * getClassLoader(); + static ::java::lang::String * getServiceValue(::java::lang::ClassLoader *); + static jboolean isJRE11(); + static ::java::lang::ClassLoader * getContextClassLoader(); + static ::java::lang::String * getSystemProperty(::java::lang::String *); + static ::java::io::InputStream * getResourceAsStream(::java::lang::ClassLoader *, ::java::lang::String *); +public: + static ::java::lang::String * PROPERTY; +private: + static const jint DEFAULT_LINE_LENGTH = 80; + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sources; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_bootstrap_DOMImplementationRegistry__ diff --git a/libjava/org/w3c/dom/css/CSS2Properties.h b/libjava/org/w3c/dom/css/CSS2Properties.h new file mode 100644 index 00000000000..fd8ea04df52 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSS2Properties.h @@ -0,0 +1,278 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSS2Properties__ +#define __org_w3c_dom_css_CSS2Properties__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSS2Properties; + } + } + } + } +} + +class org::w3c::dom::css::CSS2Properties : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAzimuth() = 0; + virtual void setAzimuth(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackground() = 0; + virtual void setBackground(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackgroundAttachment() = 0; + virtual void setBackgroundAttachment(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackgroundColor() = 0; + virtual void setBackgroundColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackgroundImage() = 0; + virtual void setBackgroundImage(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackgroundPosition() = 0; + virtual void setBackgroundPosition(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackgroundRepeat() = 0; + virtual void setBackgroundRepeat(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorder() = 0; + virtual void setBorder(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderCollapse() = 0; + virtual void setBorderCollapse(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderColor() = 0; + virtual void setBorderColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderSpacing() = 0; + virtual void setBorderSpacing(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderStyle() = 0; + virtual void setBorderStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderTop() = 0; + virtual void setBorderTop(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderRight() = 0; + virtual void setBorderRight(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderBottom() = 0; + virtual void setBorderBottom(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderLeft() = 0; + virtual void setBorderLeft(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderTopColor() = 0; + virtual void setBorderTopColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderRightColor() = 0; + virtual void setBorderRightColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderBottomColor() = 0; + virtual void setBorderBottomColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderLeftColor() = 0; + virtual void setBorderLeftColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderTopStyle() = 0; + virtual void setBorderTopStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderRightStyle() = 0; + virtual void setBorderRightStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderBottomStyle() = 0; + virtual void setBorderBottomStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderLeftStyle() = 0; + virtual void setBorderLeftStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderTopWidth() = 0; + virtual void setBorderTopWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderRightWidth() = 0; + virtual void setBorderRightWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderBottomWidth() = 0; + virtual void setBorderBottomWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderLeftWidth() = 0; + virtual void setBorderLeftWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorderWidth() = 0; + virtual void setBorderWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getBottom() = 0; + virtual void setBottom(::java::lang::String *) = 0; + virtual ::java::lang::String * getCaptionSide() = 0; + virtual void setCaptionSide(::java::lang::String *) = 0; + virtual ::java::lang::String * getClear() = 0; + virtual void setClear(::java::lang::String *) = 0; + virtual ::java::lang::String * getClip() = 0; + virtual void setClip(::java::lang::String *) = 0; + virtual ::java::lang::String * getColor() = 0; + virtual void setColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getContent() = 0; + virtual void setContent(::java::lang::String *) = 0; + virtual ::java::lang::String * getCounterIncrement() = 0; + virtual void setCounterIncrement(::java::lang::String *) = 0; + virtual ::java::lang::String * getCounterReset() = 0; + virtual void setCounterReset(::java::lang::String *) = 0; + virtual ::java::lang::String * getCue() = 0; + virtual void setCue(::java::lang::String *) = 0; + virtual ::java::lang::String * getCueAfter() = 0; + virtual void setCueAfter(::java::lang::String *) = 0; + virtual ::java::lang::String * getCueBefore() = 0; + virtual void setCueBefore(::java::lang::String *) = 0; + virtual ::java::lang::String * getCursor() = 0; + virtual void setCursor(::java::lang::String *) = 0; + virtual ::java::lang::String * getDirection() = 0; + virtual void setDirection(::java::lang::String *) = 0; + virtual ::java::lang::String * getDisplay() = 0; + virtual void setDisplay(::java::lang::String *) = 0; + virtual ::java::lang::String * getElevation() = 0; + virtual void setElevation(::java::lang::String *) = 0; + virtual ::java::lang::String * getEmptyCells() = 0; + virtual void setEmptyCells(::java::lang::String *) = 0; + virtual ::java::lang::String * getCssFloat() = 0; + virtual void setCssFloat(::java::lang::String *) = 0; + virtual ::java::lang::String * getFont() = 0; + virtual void setFont(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontFamily() = 0; + virtual void setFontFamily(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontSize() = 0; + virtual void setFontSize(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontSizeAdjust() = 0; + virtual void setFontSizeAdjust(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontStretch() = 0; + virtual void setFontStretch(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontStyle() = 0; + virtual void setFontStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontVariant() = 0; + virtual void setFontVariant(::java::lang::String *) = 0; + virtual ::java::lang::String * getFontWeight() = 0; + virtual void setFontWeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getHeight() = 0; + virtual void setHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getLeft() = 0; + virtual void setLeft(::java::lang::String *) = 0; + virtual ::java::lang::String * getLetterSpacing() = 0; + virtual void setLetterSpacing(::java::lang::String *) = 0; + virtual ::java::lang::String * getLineHeight() = 0; + virtual void setLineHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getListStyle() = 0; + virtual void setListStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getListStyleImage() = 0; + virtual void setListStyleImage(::java::lang::String *) = 0; + virtual ::java::lang::String * getListStylePosition() = 0; + virtual void setListStylePosition(::java::lang::String *) = 0; + virtual ::java::lang::String * getListStyleType() = 0; + virtual void setListStyleType(::java::lang::String *) = 0; + virtual ::java::lang::String * getMargin() = 0; + virtual void setMargin(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginTop() = 0; + virtual void setMarginTop(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginRight() = 0; + virtual void setMarginRight(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginBottom() = 0; + virtual void setMarginBottom(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginLeft() = 0; + virtual void setMarginLeft(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarkerOffset() = 0; + virtual void setMarkerOffset(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarks() = 0; + virtual void setMarks(::java::lang::String *) = 0; + virtual ::java::lang::String * getMaxHeight() = 0; + virtual void setMaxHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getMaxWidth() = 0; + virtual void setMaxWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getMinHeight() = 0; + virtual void setMinHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getMinWidth() = 0; + virtual void setMinWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getOrphans() = 0; + virtual void setOrphans(::java::lang::String *) = 0; + virtual ::java::lang::String * getOutline() = 0; + virtual void setOutline(::java::lang::String *) = 0; + virtual ::java::lang::String * getOutlineColor() = 0; + virtual void setOutlineColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getOutlineStyle() = 0; + virtual void setOutlineStyle(::java::lang::String *) = 0; + virtual ::java::lang::String * getOutlineWidth() = 0; + virtual void setOutlineWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getOverflow() = 0; + virtual void setOverflow(::java::lang::String *) = 0; + virtual ::java::lang::String * getPadding() = 0; + virtual void setPadding(::java::lang::String *) = 0; + virtual ::java::lang::String * getPaddingTop() = 0; + virtual void setPaddingTop(::java::lang::String *) = 0; + virtual ::java::lang::String * getPaddingRight() = 0; + virtual void setPaddingRight(::java::lang::String *) = 0; + virtual ::java::lang::String * getPaddingBottom() = 0; + virtual void setPaddingBottom(::java::lang::String *) = 0; + virtual ::java::lang::String * getPaddingLeft() = 0; + virtual void setPaddingLeft(::java::lang::String *) = 0; + virtual ::java::lang::String * getPage() = 0; + virtual void setPage(::java::lang::String *) = 0; + virtual ::java::lang::String * getPageBreakAfter() = 0; + virtual void setPageBreakAfter(::java::lang::String *) = 0; + virtual ::java::lang::String * getPageBreakBefore() = 0; + virtual void setPageBreakBefore(::java::lang::String *) = 0; + virtual ::java::lang::String * getPageBreakInside() = 0; + virtual void setPageBreakInside(::java::lang::String *) = 0; + virtual ::java::lang::String * getPause() = 0; + virtual void setPause(::java::lang::String *) = 0; + virtual ::java::lang::String * getPauseAfter() = 0; + virtual void setPauseAfter(::java::lang::String *) = 0; + virtual ::java::lang::String * getPauseBefore() = 0; + virtual void setPauseBefore(::java::lang::String *) = 0; + virtual ::java::lang::String * getPitch() = 0; + virtual void setPitch(::java::lang::String *) = 0; + virtual ::java::lang::String * getPitchRange() = 0; + virtual void setPitchRange(::java::lang::String *) = 0; + virtual ::java::lang::String * getPlayDuring() = 0; + virtual void setPlayDuring(::java::lang::String *) = 0; + virtual ::java::lang::String * getPosition() = 0; + virtual void setPosition(::java::lang::String *) = 0; + virtual ::java::lang::String * getQuotes() = 0; + virtual void setQuotes(::java::lang::String *) = 0; + virtual ::java::lang::String * getRichness() = 0; + virtual void setRichness(::java::lang::String *) = 0; + virtual ::java::lang::String * getRight() = 0; + virtual void setRight(::java::lang::String *) = 0; + virtual ::java::lang::String * getSize() = 0; + virtual void setSize(::java::lang::String *) = 0; + virtual ::java::lang::String * getSpeak() = 0; + virtual void setSpeak(::java::lang::String *) = 0; + virtual ::java::lang::String * getSpeakHeader() = 0; + virtual void setSpeakHeader(::java::lang::String *) = 0; + virtual ::java::lang::String * getSpeakNumeral() = 0; + virtual void setSpeakNumeral(::java::lang::String *) = 0; + virtual ::java::lang::String * getSpeakPunctuation() = 0; + virtual void setSpeakPunctuation(::java::lang::String *) = 0; + virtual ::java::lang::String * getSpeechRate() = 0; + virtual void setSpeechRate(::java::lang::String *) = 0; + virtual ::java::lang::String * getStress() = 0; + virtual void setStress(::java::lang::String *) = 0; + virtual ::java::lang::String * getTableLayout() = 0; + virtual void setTableLayout(::java::lang::String *) = 0; + virtual ::java::lang::String * getTextAlign() = 0; + virtual void setTextAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getTextDecoration() = 0; + virtual void setTextDecoration(::java::lang::String *) = 0; + virtual ::java::lang::String * getTextIndent() = 0; + virtual void setTextIndent(::java::lang::String *) = 0; + virtual ::java::lang::String * getTextShadow() = 0; + virtual void setTextShadow(::java::lang::String *) = 0; + virtual ::java::lang::String * getTextTransform() = 0; + virtual void setTextTransform(::java::lang::String *) = 0; + virtual ::java::lang::String * getTop() = 0; + virtual void setTop(::java::lang::String *) = 0; + virtual ::java::lang::String * getUnicodeBidi() = 0; + virtual void setUnicodeBidi(::java::lang::String *) = 0; + virtual ::java::lang::String * getVerticalAlign() = 0; + virtual void setVerticalAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getVisibility() = 0; + virtual void setVisibility(::java::lang::String *) = 0; + virtual ::java::lang::String * getVoiceFamily() = 0; + virtual void setVoiceFamily(::java::lang::String *) = 0; + virtual ::java::lang::String * getVolume() = 0; + virtual void setVolume(::java::lang::String *) = 0; + virtual ::java::lang::String * getWhiteSpace() = 0; + virtual void setWhiteSpace(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidows() = 0; + virtual void setWidows(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getWordSpacing() = 0; + virtual void setWordSpacing(::java::lang::String *) = 0; + virtual ::java::lang::String * getZIndex() = 0; + virtual void setZIndex(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSS2Properties__ diff --git a/libjava/org/w3c/dom/css/CSSCharsetRule.h b/libjava/org/w3c/dom/css/CSSCharsetRule.h new file mode 100644 index 00000000000..51c78a1ab45 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSCharsetRule.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSCharsetRule__ +#define __org_w3c_dom_css_CSSCharsetRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSCharsetRule; + class CSSRule; + class CSSStyleSheet; + } + } + } + } +} + +class org::w3c::dom::css::CSSCharsetRule : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getEncoding() = 0; + virtual void setEncoding(::java::lang::String *) = 0; + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSCharsetRule__ diff --git a/libjava/org/w3c/dom/css/CSSFontFaceRule.h b/libjava/org/w3c/dom/css/CSSFontFaceRule.h new file mode 100644 index 00000000000..415f6945371 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSFontFaceRule.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSFontFaceRule__ +#define __org_w3c_dom_css_CSSFontFaceRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSFontFaceRule; + class CSSRule; + class CSSStyleDeclaration; + class CSSStyleSheet; + } + } + } + } +} + +class org::w3c::dom::css::CSSFontFaceRule : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSStyleDeclaration * getStyle() = 0; + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSFontFaceRule__ diff --git a/libjava/org/w3c/dom/css/CSSImportRule.h b/libjava/org/w3c/dom/css/CSSImportRule.h new file mode 100644 index 00000000000..7313ef2b058 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSImportRule.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSImportRule__ +#define __org_w3c_dom_css_CSSImportRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSImportRule; + class CSSRule; + class CSSStyleSheet; + } + namespace stylesheets + { + class MediaList; + } + } + } + } +} + +class org::w3c::dom::css::CSSImportRule : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getHref() = 0; + virtual ::org::w3c::dom::stylesheets::MediaList * getMedia() = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getStyleSheet() = 0; + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSImportRule__ diff --git a/libjava/org/w3c/dom/css/CSSMediaRule.h b/libjava/org/w3c/dom/css/CSSMediaRule.h new file mode 100644 index 00000000000..62d12a8c7bd --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSMediaRule.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSMediaRule__ +#define __org_w3c_dom_css_CSSMediaRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSMediaRule; + class CSSRule; + class CSSRuleList; + class CSSStyleSheet; + } + namespace stylesheets + { + class MediaList; + } + } + } + } +} + +class org::w3c::dom::css::CSSMediaRule : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::stylesheets::MediaList * getMedia() = 0; + virtual ::org::w3c::dom::css::CSSRuleList * getCssRules() = 0; + virtual jint insertRule(::java::lang::String *, jint) = 0; + virtual void deleteRule(jint) = 0; + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSMediaRule__ diff --git a/libjava/org/w3c/dom/css/CSSPageRule.h b/libjava/org/w3c/dom/css/CSSPageRule.h new file mode 100644 index 00000000000..77b7167a54e --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSPageRule.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSPageRule__ +#define __org_w3c_dom_css_CSSPageRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSPageRule; + class CSSRule; + class CSSStyleDeclaration; + class CSSStyleSheet; + } + } + } + } +} + +class org::w3c::dom::css::CSSPageRule : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getSelectorText() = 0; + virtual void setSelectorText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleDeclaration * getStyle() = 0; + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSPageRule__ diff --git a/libjava/org/w3c/dom/css/CSSPrimitiveValue.h b/libjava/org/w3c/dom/css/CSSPrimitiveValue.h new file mode 100644 index 00000000000..ea502e30af9 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSPrimitiveValue.h @@ -0,0 +1,74 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSPrimitiveValue__ +#define __org_w3c_dom_css_CSSPrimitiveValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSPrimitiveValue; + class Counter; + class RGBColor; + class Rect; + } + } + } + } +} + +class org::w3c::dom::css::CSSPrimitiveValue : public ::java::lang::Object +{ + +public: + virtual jshort getPrimitiveType() = 0; + virtual void setFloatValue(jshort, jfloat) = 0; + virtual jfloat getFloatValue(jshort) = 0; + virtual void setStringValue(jshort, ::java::lang::String *) = 0; + virtual ::java::lang::String * getStringValue() = 0; + virtual ::org::w3c::dom::css::Counter * getCounterValue() = 0; + virtual ::org::w3c::dom::css::Rect * getRectValue() = 0; + virtual ::org::w3c::dom::css::RGBColor * getRGBColorValue() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual jshort getCssValueType() = 0; + static const jshort CSS_UNKNOWN = 0; + static const jshort CSS_NUMBER = 1; + static const jshort CSS_PERCENTAGE = 2; + static const jshort CSS_EMS = 3; + static const jshort CSS_EXS = 4; + static const jshort CSS_PX = 5; + static const jshort CSS_CM = 6; + static const jshort CSS_MM = 7; + static const jshort CSS_IN = 8; + static const jshort CSS_PT = 9; + static const jshort CSS_PC = 10; + static const jshort CSS_DEG = 11; + static const jshort CSS_RAD = 12; + static const jshort CSS_GRAD = 13; + static const jshort CSS_MS = 14; + static const jshort CSS_S = 15; + static const jshort CSS_HZ = 16; + static const jshort CSS_KHZ = 17; + static const jshort CSS_DIMENSION = 18; + static const jshort CSS_STRING = 19; + static const jshort CSS_URI = 20; + static const jshort CSS_IDENT = 21; + static const jshort CSS_ATTR = 22; + static const jshort CSS_COUNTER = 23; + static const jshort CSS_RECT = 24; + static const jshort CSS_RGBCOLOR = 25; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSPrimitiveValue__ diff --git a/libjava/org/w3c/dom/css/CSSRule.h b/libjava/org/w3c/dom/css/CSSRule.h new file mode 100644 index 00000000000..33fc8c121b1 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSRule.h @@ -0,0 +1,47 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSRule__ +#define __org_w3c_dom_css_CSSRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSRule; + class CSSStyleSheet; + } + } + } + } +} + +class org::w3c::dom::css::CSSRule : public ::java::lang::Object +{ + +public: + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static const jshort UNKNOWN_RULE = 0; + static const jshort STYLE_RULE = 1; + static const jshort CHARSET_RULE = 2; + static const jshort IMPORT_RULE = 3; + static const jshort MEDIA_RULE = 4; + static const jshort FONT_FACE_RULE = 5; + static const jshort PAGE_RULE = 6; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSRule__ diff --git a/libjava/org/w3c/dom/css/CSSRuleList.h b/libjava/org/w3c/dom/css/CSSRuleList.h new file mode 100644 index 00000000000..c555138934c --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSRuleList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSRuleList__ +#define __org_w3c_dom_css_CSSRuleList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSRule; + class CSSRuleList; + } + } + } + } +} + +class org::w3c::dom::css::CSSRuleList : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual ::org::w3c::dom::css::CSSRule * item(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSRuleList__ diff --git a/libjava/org/w3c/dom/css/CSSStyleDeclaration.h b/libjava/org/w3c/dom/css/CSSStyleDeclaration.h new file mode 100644 index 00000000000..1fa01cefe55 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSStyleDeclaration.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSStyleDeclaration__ +#define __org_w3c_dom_css_CSSStyleDeclaration__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSRule; + class CSSStyleDeclaration; + class CSSValue; + } + } + } + } +} + +class org::w3c::dom::css::CSSStyleDeclaration : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::java::lang::String * getPropertyValue(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSValue * getPropertyCSSValue(::java::lang::String *) = 0; + virtual ::java::lang::String * removeProperty(::java::lang::String *) = 0; + virtual ::java::lang::String * getPropertyPriority(::java::lang::String *) = 0; + virtual void setProperty(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * item(jint) = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSStyleDeclaration__ diff --git a/libjava/org/w3c/dom/css/CSSStyleRule.h b/libjava/org/w3c/dom/css/CSSStyleRule.h new file mode 100644 index 00000000000..3a11990f7d3 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSStyleRule.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSStyleRule__ +#define __org_w3c_dom_css_CSSStyleRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSRule; + class CSSStyleDeclaration; + class CSSStyleRule; + class CSSStyleSheet; + } + } + } + } +} + +class org::w3c::dom::css::CSSStyleRule : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getSelectorText() = 0; + virtual void setSelectorText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleDeclaration * getStyle() = 0; + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSStyleRule__ diff --git a/libjava/org/w3c/dom/css/CSSStyleSheet.h b/libjava/org/w3c/dom/css/CSSStyleSheet.h new file mode 100644 index 00000000000..fecf2fd1d26 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSStyleSheet.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSStyleSheet__ +#define __org_w3c_dom_css_CSSStyleSheet__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace css + { + class CSSRule; + class CSSRuleList; + class CSSStyleSheet; + } + namespace stylesheets + { + class MediaList; + class StyleSheet; + } + } + } + } +} + +class org::w3c::dom::css::CSSStyleSheet : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSRule * getOwnerRule() = 0; + virtual ::org::w3c::dom::css::CSSRuleList * getCssRules() = 0; + virtual jint insertRule(::java::lang::String *, jint) = 0; + virtual void deleteRule(jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::org::w3c::dom::Node * getOwnerNode() = 0; + virtual ::org::w3c::dom::stylesheets::StyleSheet * getParentStyleSheet() = 0; + virtual ::java::lang::String * getHref() = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual ::org::w3c::dom::stylesheets::MediaList * getMedia() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSStyleSheet__ diff --git a/libjava/org/w3c/dom/css/CSSUnknownRule.h b/libjava/org/w3c/dom/css/CSSUnknownRule.h new file mode 100644 index 00000000000..b3f347b61a6 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSUnknownRule.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSUnknownRule__ +#define __org_w3c_dom_css_CSSUnknownRule__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSRule; + class CSSStyleSheet; + class CSSUnknownRule; + } + } + } + } +} + +class org::w3c::dom::css::CSSUnknownRule : public ::java::lang::Object +{ + +public: + virtual jshort getType() = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual ::org::w3c::dom::css::CSSStyleSheet * getParentStyleSheet() = 0; + virtual ::org::w3c::dom::css::CSSRule * getParentRule() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSUnknownRule__ diff --git a/libjava/org/w3c/dom/css/CSSValue.h b/libjava/org/w3c/dom/css/CSSValue.h new file mode 100644 index 00000000000..c95ae1c4830 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSValue.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSValue__ +#define __org_w3c_dom_css_CSSValue__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSValue; + } + } + } + } +} + +class org::w3c::dom::css::CSSValue : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual jshort getCssValueType() = 0; + static const jshort CSS_INHERIT = 0; + static const jshort CSS_PRIMITIVE_VALUE = 1; + static const jshort CSS_VALUE_LIST = 2; + static const jshort CSS_CUSTOM = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSValue__ diff --git a/libjava/org/w3c/dom/css/CSSValueList.h b/libjava/org/w3c/dom/css/CSSValueList.h new file mode 100644 index 00000000000..d5fbba2cfc7 --- /dev/null +++ b/libjava/org/w3c/dom/css/CSSValueList.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_CSSValueList__ +#define __org_w3c_dom_css_CSSValueList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSValue; + class CSSValueList; + } + } + } + } +} + +class org::w3c::dom::css::CSSValueList : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual ::org::w3c::dom::css::CSSValue * item(jint) = 0; + virtual ::java::lang::String * getCssText() = 0; + virtual void setCssText(::java::lang::String *) = 0; + virtual jshort getCssValueType() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_CSSValueList__ diff --git a/libjava/org/w3c/dom/css/Counter.h b/libjava/org/w3c/dom/css/Counter.h new file mode 100644 index 00000000000..784d2db5e82 --- /dev/null +++ b/libjava/org/w3c/dom/css/Counter.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_Counter__ +#define __org_w3c_dom_css_Counter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class Counter; + } + } + } + } +} + +class org::w3c::dom::css::Counter : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getIdentifier() = 0; + virtual ::java::lang::String * getListStyle() = 0; + virtual ::java::lang::String * getSeparator() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_Counter__ diff --git a/libjava/org/w3c/dom/css/DOMImplementationCSS.h b/libjava/org/w3c/dom/css/DOMImplementationCSS.h new file mode 100644 index 00000000000..6ce52149da1 --- /dev/null +++ b/libjava/org/w3c/dom/css/DOMImplementationCSS.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_DOMImplementationCSS__ +#define __org_w3c_dom_css_DOMImplementationCSS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class DocumentType; + namespace css + { + class CSSStyleSheet; + class DOMImplementationCSS; + } + } + } + } +} + +class org::w3c::dom::css::DOMImplementationCSS : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSStyleSheet * createCSSStyleSheet(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::DocumentType * createDocumentType(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Document * createDocument(::java::lang::String *, ::java::lang::String *, ::org::w3c::dom::DocumentType *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_DOMImplementationCSS__ diff --git a/libjava/org/w3c/dom/css/DocumentCSS.h b/libjava/org/w3c/dom/css/DocumentCSS.h new file mode 100644 index 00000000000..a115b7fbeda --- /dev/null +++ b/libjava/org/w3c/dom/css/DocumentCSS.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_DocumentCSS__ +#define __org_w3c_dom_css_DocumentCSS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + namespace css + { + class CSSStyleDeclaration; + class DocumentCSS; + } + namespace stylesheets + { + class StyleSheetList; + } + } + } + } +} + +class org::w3c::dom::css::DocumentCSS : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSStyleDeclaration * getOverrideStyle(::org::w3c::dom::Element *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::stylesheets::StyleSheetList * getStyleSheets() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_DocumentCSS__ diff --git a/libjava/org/w3c/dom/css/ElementCSSInlineStyle.h b/libjava/org/w3c/dom/css/ElementCSSInlineStyle.h new file mode 100644 index 00000000000..f4c26d774f9 --- /dev/null +++ b/libjava/org/w3c/dom/css/ElementCSSInlineStyle.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_ElementCSSInlineStyle__ +#define __org_w3c_dom_css_ElementCSSInlineStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSStyleDeclaration; + class ElementCSSInlineStyle; + } + } + } + } +} + +class org::w3c::dom::css::ElementCSSInlineStyle : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSStyleDeclaration * getStyle() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_ElementCSSInlineStyle__ diff --git a/libjava/org/w3c/dom/css/RGBColor.h b/libjava/org/w3c/dom/css/RGBColor.h new file mode 100644 index 00000000000..bc0932de63b --- /dev/null +++ b/libjava/org/w3c/dom/css/RGBColor.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_RGBColor__ +#define __org_w3c_dom_css_RGBColor__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSPrimitiveValue; + class RGBColor; + } + } + } + } +} + +class org::w3c::dom::css::RGBColor : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getRed() = 0; + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getGreen() = 0; + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getBlue() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_RGBColor__ diff --git a/libjava/org/w3c/dom/css/Rect.h b/libjava/org/w3c/dom/css/Rect.h new file mode 100644 index 00000000000..e55d1e0465b --- /dev/null +++ b/libjava/org/w3c/dom/css/Rect.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_Rect__ +#define __org_w3c_dom_css_Rect__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace css + { + class CSSPrimitiveValue; + class Rect; + } + } + } + } +} + +class org::w3c::dom::css::Rect : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getTop() = 0; + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getRight() = 0; + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getBottom() = 0; + virtual ::org::w3c::dom::css::CSSPrimitiveValue * getLeft() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_Rect__ diff --git a/libjava/org/w3c/dom/css/ViewCSS.h b/libjava/org/w3c/dom/css/ViewCSS.h new file mode 100644 index 00000000000..a1c12555e9d --- /dev/null +++ b/libjava/org/w3c/dom/css/ViewCSS.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_css_ViewCSS__ +#define __org_w3c_dom_css_ViewCSS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + namespace css + { + class CSSStyleDeclaration; + class ViewCSS; + } + namespace views + { + class DocumentView; + } + } + } + } +} + +class org::w3c::dom::css::ViewCSS : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::css::CSSStyleDeclaration * getComputedStyle(::org::w3c::dom::Element *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::views::DocumentView * getDocument() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_css_ViewCSS__ diff --git a/libjava/org/w3c/dom/events/DocumentEvent.h b/libjava/org/w3c/dom/events/DocumentEvent.h new file mode 100644 index 00000000000..2fc95507101 --- /dev/null +++ b/libjava/org/w3c/dom/events/DocumentEvent.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_DocumentEvent__ +#define __org_w3c_dom_events_DocumentEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class DocumentEvent; + class Event; + } + } + } + } +} + +class org::w3c::dom::events::DocumentEvent : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::events::Event * createEvent(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_DocumentEvent__ diff --git a/libjava/org/w3c/dom/events/Event.h b/libjava/org/w3c/dom/events/Event.h new file mode 100644 index 00000000000..7f1e90ee13c --- /dev/null +++ b/libjava/org/w3c/dom/events/Event.h @@ -0,0 +1,48 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_Event__ +#define __org_w3c_dom_events_Event__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class Event; + class EventTarget; + } + } + } + } +} + +class org::w3c::dom::events::Event : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getType() = 0; + virtual ::org::w3c::dom::events::EventTarget * getTarget() = 0; + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget() = 0; + virtual jshort getEventPhase() = 0; + virtual jboolean getBubbles() = 0; + virtual jboolean getCancelable() = 0; + virtual jlong getTimeStamp() = 0; + virtual void stopPropagation() = 0; + virtual void preventDefault() = 0; + virtual void initEvent(::java::lang::String *, jboolean, jboolean) = 0; + static const jshort CAPTURING_PHASE = 1; + static const jshort AT_TARGET = 2; + static const jshort BUBBLING_PHASE = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_Event__ diff --git a/libjava/org/w3c/dom/events/EventException.h b/libjava/org/w3c/dom/events/EventException.h new file mode 100644 index 00000000000..20d2e8cfef3 --- /dev/null +++ b/libjava/org/w3c/dom/events/EventException.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_EventException__ +#define __org_w3c_dom_events_EventException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class EventException; + } + } + } + } +} + +class org::w3c::dom::events::EventException : public ::java::lang::RuntimeException +{ + +public: + EventException(jshort, ::java::lang::String *); + jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code; + static const jshort UNSPECIFIED_EVENT_TYPE_ERR = 0; + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_events_EventException__ diff --git a/libjava/org/w3c/dom/events/EventListener.h b/libjava/org/w3c/dom/events/EventListener.h new file mode 100644 index 00000000000..8f34b358725 --- /dev/null +++ b/libjava/org/w3c/dom/events/EventListener.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_EventListener__ +#define __org_w3c_dom_events_EventListener__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class Event; + class EventListener; + } + } + } + } +} + +class org::w3c::dom::events::EventListener : public ::java::lang::Object +{ + +public: + virtual void handleEvent(::org::w3c::dom::events::Event *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_EventListener__ diff --git a/libjava/org/w3c/dom/events/EventTarget.h b/libjava/org/w3c/dom/events/EventTarget.h new file mode 100644 index 00000000000..b46815c4eef --- /dev/null +++ b/libjava/org/w3c/dom/events/EventTarget.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_EventTarget__ +#define __org_w3c_dom_events_EventTarget__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class Event; + class EventListener; + class EventTarget; + } + } + } + } +} + +class org::w3c::dom::events::EventTarget : public ::java::lang::Object +{ + +public: + virtual void addEventListener(::java::lang::String *, ::org::w3c::dom::events::EventListener *, jboolean) = 0; + virtual void removeEventListener(::java::lang::String *, ::org::w3c::dom::events::EventListener *, jboolean) = 0; + virtual jboolean dispatchEvent(::org::w3c::dom::events::Event *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_EventTarget__ diff --git a/libjava/org/w3c/dom/events/MouseEvent.h b/libjava/org/w3c/dom/events/MouseEvent.h new file mode 100644 index 00000000000..b5cdf776ab4 --- /dev/null +++ b/libjava/org/w3c/dom/events/MouseEvent.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_MouseEvent__ +#define __org_w3c_dom_events_MouseEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class EventTarget; + class MouseEvent; + } + namespace views + { + class AbstractView; + } + } + } + } +} + +class org::w3c::dom::events::MouseEvent : public ::java::lang::Object +{ + +public: + virtual jint getScreenX() = 0; + virtual jint getScreenY() = 0; + virtual jint getClientX() = 0; + virtual jint getClientY() = 0; + virtual jboolean getCtrlKey() = 0; + virtual jboolean getShiftKey() = 0; + virtual jboolean getAltKey() = 0; + virtual jboolean getMetaKey() = 0; + virtual jshort getButton() = 0; + virtual ::org::w3c::dom::events::EventTarget * getRelatedTarget() = 0; + virtual void initMouseEvent(::java::lang::String *, jboolean, jboolean, ::org::w3c::dom::views::AbstractView *, jint, jint, jint, jint, jint, jboolean, jboolean, jboolean, jboolean, jshort, ::org::w3c::dom::events::EventTarget *) = 0; + virtual ::org::w3c::dom::views::AbstractView * getView() = 0; + virtual jint getDetail() = 0; + virtual void initUIEvent(::java::lang::String *, jboolean, jboolean, ::org::w3c::dom::views::AbstractView *, jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::org::w3c::dom::events::EventTarget * getTarget() = 0; + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget() = 0; + virtual jshort getEventPhase() = 0; + virtual jboolean getBubbles() = 0; + virtual jboolean getCancelable() = 0; + virtual jlong getTimeStamp() = 0; + virtual void stopPropagation() = 0; + virtual void preventDefault() = 0; + virtual void initEvent(::java::lang::String *, jboolean, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_MouseEvent__ diff --git a/libjava/org/w3c/dom/events/MutationEvent.h b/libjava/org/w3c/dom/events/MutationEvent.h new file mode 100644 index 00000000000..4f461f7afab --- /dev/null +++ b/libjava/org/w3c/dom/events/MutationEvent.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_MutationEvent__ +#define __org_w3c_dom_events_MutationEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace events + { + class EventTarget; + class MutationEvent; + } + } + } + } +} + +class org::w3c::dom::events::MutationEvent : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * getRelatedNode() = 0; + virtual ::java::lang::String * getPrevValue() = 0; + virtual ::java::lang::String * getNewValue() = 0; + virtual ::java::lang::String * getAttrName() = 0; + virtual jshort getAttrChange() = 0; + virtual void initMutationEvent(::java::lang::String *, jboolean, jboolean, ::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jshort) = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::org::w3c::dom::events::EventTarget * getTarget() = 0; + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget() = 0; + virtual jshort getEventPhase() = 0; + virtual jboolean getBubbles() = 0; + virtual jboolean getCancelable() = 0; + virtual jlong getTimeStamp() = 0; + virtual void stopPropagation() = 0; + virtual void preventDefault() = 0; + virtual void initEvent(::java::lang::String *, jboolean, jboolean) = 0; + static const jshort MODIFICATION = 1; + static const jshort ADDITION = 2; + static const jshort REMOVAL = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_MutationEvent__ diff --git a/libjava/org/w3c/dom/events/UIEvent.h b/libjava/org/w3c/dom/events/UIEvent.h new file mode 100644 index 00000000000..2cfbf843a3d --- /dev/null +++ b/libjava/org/w3c/dom/events/UIEvent.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_events_UIEvent__ +#define __org_w3c_dom_events_UIEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class EventTarget; + class UIEvent; + } + namespace views + { + class AbstractView; + } + } + } + } +} + +class org::w3c::dom::events::UIEvent : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::views::AbstractView * getView() = 0; + virtual jint getDetail() = 0; + virtual void initUIEvent(::java::lang::String *, jboolean, jboolean, ::org::w3c::dom::views::AbstractView *, jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::org::w3c::dom::events::EventTarget * getTarget() = 0; + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget() = 0; + virtual jshort getEventPhase() = 0; + virtual jboolean getBubbles() = 0; + virtual jboolean getCancelable() = 0; + virtual jlong getTimeStamp() = 0; + virtual void stopPropagation() = 0; + virtual void preventDefault() = 0; + virtual void initEvent(::java::lang::String *, jboolean, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_events_UIEvent__ diff --git a/libjava/org/w3c/dom/html2/HTMLAnchorElement.h b/libjava/org/w3c/dom/html2/HTMLAnchorElement.h new file mode 100644 index 00000000000..01a23610264 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLAnchorElement.h @@ -0,0 +1,134 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLAnchorElement__ +#define __org_w3c_dom_html2_HTMLAnchorElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLAnchorElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLAnchorElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual ::java::lang::String * getCharset() = 0; + virtual void setCharset(::java::lang::String *) = 0; + virtual ::java::lang::String * getCoords() = 0; + virtual void setCoords(::java::lang::String *) = 0; + virtual ::java::lang::String * getHref() = 0; + virtual void setHref(::java::lang::String *) = 0; + virtual ::java::lang::String * getHreflang() = 0; + virtual void setHreflang(::java::lang::String *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getRel() = 0; + virtual void setRel(::java::lang::String *) = 0; + virtual ::java::lang::String * getRev() = 0; + virtual void setRev(::java::lang::String *) = 0; + virtual ::java::lang::String * getShape() = 0; + virtual void setShape(::java::lang::String *) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual ::java::lang::String * getTarget() = 0; + virtual void setTarget(::java::lang::String *) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual void blur() = 0; + virtual void focus() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLAnchorElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLAppletElement.h b/libjava/org/w3c/dom/html2/HTMLAppletElement.h new file mode 100644 index 00000000000..5a53cfa9bf4 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLAppletElement.h @@ -0,0 +1,130 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLAppletElement__ +#define __org_w3c_dom_html2_HTMLAppletElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLAppletElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLAppletElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlt() = 0; + virtual void setAlt(::java::lang::String *) = 0; + virtual ::java::lang::String * getArchive() = 0; + virtual void setArchive(::java::lang::String *) = 0; + virtual ::java::lang::String * getCode() = 0; + virtual void setCode(::java::lang::String *) = 0; + virtual ::java::lang::String * getCodeBase() = 0; + virtual void setCodeBase(::java::lang::String *) = 0; + virtual ::java::lang::String * getHeight() = 0; + virtual void setHeight(::java::lang::String *) = 0; + virtual jint getHspace() = 0; + virtual void setHspace(jint) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getObject() = 0; + virtual void setObject(::java::lang::String *) = 0; + virtual jint getVspace() = 0; + virtual void setVspace(jint) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLAppletElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLAreaElement.h b/libjava/org/w3c/dom/html2/HTMLAreaElement.h new file mode 100644 index 00000000000..12823e89afe --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLAreaElement.h @@ -0,0 +1,124 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLAreaElement__ +#define __org_w3c_dom_html2_HTMLAreaElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLAreaElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLAreaElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlt() = 0; + virtual void setAlt(::java::lang::String *) = 0; + virtual ::java::lang::String * getCoords() = 0; + virtual void setCoords(::java::lang::String *) = 0; + virtual ::java::lang::String * getHref() = 0; + virtual void setHref(::java::lang::String *) = 0; + virtual jboolean getNoHref() = 0; + virtual void setNoHref(jboolean) = 0; + virtual ::java::lang::String * getShape() = 0; + virtual void setShape(::java::lang::String *) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual ::java::lang::String * getTarget() = 0; + virtual void setTarget(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLAreaElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLBRElement.h b/libjava/org/w3c/dom/html2/HTMLBRElement.h new file mode 100644 index 00000000000..1532e40f938 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLBRElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLBRElement__ +#define __org_w3c_dom_html2_HTMLBRElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLBRElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLBRElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getClear() = 0; + virtual void setClear(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLBRElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLBaseElement.h b/libjava/org/w3c/dom/html2/HTMLBaseElement.h new file mode 100644 index 00000000000..ab34c703090 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLBaseElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLBaseElement__ +#define __org_w3c_dom_html2_HTMLBaseElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLBaseElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLBaseElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getHref() = 0; + virtual void setHref(::java::lang::String *) = 0; + virtual ::java::lang::String * getTarget() = 0; + virtual void setTarget(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLBaseElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLBaseFontElement.h b/libjava/org/w3c/dom/html2/HTMLBaseFontElement.h new file mode 100644 index 00000000000..e2859b3d488 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLBaseFontElement.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLBaseFontElement__ +#define __org_w3c_dom_html2_HTMLBaseFontElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLBaseFontElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLBaseFontElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getColor() = 0; + virtual void setColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getFace() = 0; + virtual void setFace(::java::lang::String *) = 0; + virtual jint getSize() = 0; + virtual void setSize(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLBaseFontElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLBodyElement.h b/libjava/org/w3c/dom/html2/HTMLBodyElement.h new file mode 100644 index 00000000000..7c9c16a2336 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLBodyElement.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLBodyElement__ +#define __org_w3c_dom_html2_HTMLBodyElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLBodyElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLBodyElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getALink() = 0; + virtual void setALink(::java::lang::String *) = 0; + virtual ::java::lang::String * getBackground() = 0; + virtual void setBackground(::java::lang::String *) = 0; + virtual ::java::lang::String * getBgColor() = 0; + virtual void setBgColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getLink() = 0; + virtual void setLink(::java::lang::String *) = 0; + virtual ::java::lang::String * getText() = 0; + virtual void setText(::java::lang::String *) = 0; + virtual ::java::lang::String * getVLink() = 0; + virtual void setVLink(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLBodyElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLButtonElement.h b/libjava/org/w3c/dom/html2/HTMLButtonElement.h new file mode 100644 index 00000000000..1c2d48b6ffd --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLButtonElement.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLButtonElement__ +#define __org_w3c_dom_html2_HTMLButtonElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLButtonElement; + class HTMLFormElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLButtonElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLButtonElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLCollection.h b/libjava/org/w3c/dom/html2/HTMLCollection.h new file mode 100644 index 00000000000..06a86c94835 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLCollection.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLCollection__ +#define __org_w3c_dom_html2_HTMLCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace html2 + { + class HTMLCollection; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLCollection : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual ::org::w3c::dom::Node * item(jint) = 0; + virtual ::org::w3c::dom::Node * namedItem(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLCollection__ diff --git a/libjava/org/w3c/dom/html2/HTMLDListElement.h b/libjava/org/w3c/dom/html2/HTMLDListElement.h new file mode 100644 index 00000000000..269d051761f --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLDListElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLDListElement__ +#define __org_w3c_dom_html2_HTMLDListElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLDListElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLDListElement : public ::java::lang::Object +{ + +public: + virtual jboolean getCompact() = 0; + virtual void setCompact(jboolean) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLDListElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLDirectoryElement.h b/libjava/org/w3c/dom/html2/HTMLDirectoryElement.h new file mode 100644 index 00000000000..f6315899d27 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLDirectoryElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLDirectoryElement__ +#define __org_w3c_dom_html2_HTMLDirectoryElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLDirectoryElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLDirectoryElement : public ::java::lang::Object +{ + +public: + virtual jboolean getCompact() = 0; + virtual void setCompact(jboolean) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLDirectoryElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLDivElement.h b/libjava/org/w3c/dom/html2/HTMLDivElement.h new file mode 100644 index 00000000000..e0132bcfee7 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLDivElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLDivElement__ +#define __org_w3c_dom_html2_HTMLDivElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLDivElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLDivElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLDivElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLDocument.h b/libjava/org/w3c/dom/html2/HTMLDocument.h new file mode 100644 index 00000000000..223a8f69868 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLDocument.h @@ -0,0 +1,139 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLDocument__ +#define __org_w3c_dom_html2_HTMLDocument__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class CDATASection; + class Comment; + class DOMConfiguration; + class DOMImplementation; + class Document; + class DocumentFragment; + class DocumentType; + class Element; + class EntityReference; + class NamedNodeMap; + class Node; + class NodeList; + class ProcessingInstruction; + class Text; + class UserDataHandler; + namespace html2 + { + class HTMLCollection; + class HTMLDocument; + class HTMLElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLDocument : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getReferrer() = 0; + virtual ::java::lang::String * getDomain() = 0; + virtual ::java::lang::String * getURL() = 0; + virtual ::org::w3c::dom::html2::HTMLElement * getBody() = 0; + virtual void setBody(::org::w3c::dom::html2::HTMLElement *) = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getImages() = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getApplets() = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getLinks() = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getForms() = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getAnchors() = 0; + virtual ::java::lang::String * getCookie() = 0; + virtual void setCookie(::java::lang::String *) = 0; + virtual void open() = 0; + virtual void close() = 0; + virtual void write(::java::lang::String *) = 0; + virtual void writeln(::java::lang::String *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByName(::java::lang::String *) = 0; + virtual ::org::w3c::dom::DocumentType * getDoctype() = 0; + virtual ::org::w3c::dom::DOMImplementation * getImplementation() = 0; + virtual ::org::w3c::dom::Element * getDocumentElement() = 0; + virtual ::org::w3c::dom::Element * createElement(::java::lang::String *) = 0; + virtual ::org::w3c::dom::DocumentFragment * createDocumentFragment() = 0; + virtual ::org::w3c::dom::Text * createTextNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Comment * createComment(::java::lang::String *) = 0; + virtual ::org::w3c::dom::CDATASection * createCDATASection(::java::lang::String *) = 0; + virtual ::org::w3c::dom::ProcessingInstruction * createProcessingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * createAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::EntityReference * createEntityReference(::java::lang::String *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * importNode(::org::w3c::dom::Node *, jboolean) = 0; + virtual ::org::w3c::dom::Element * createElementNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * createAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Element * getElementById(::java::lang::String *) = 0; + virtual ::java::lang::String * getInputEncoding() = 0; + virtual ::java::lang::String * getXmlEncoding() = 0; + virtual jboolean getXmlStandalone() = 0; + virtual void setXmlStandalone(jboolean) = 0; + virtual ::java::lang::String * getXmlVersion() = 0; + virtual void setXmlVersion(::java::lang::String *) = 0; + virtual jboolean getStrictErrorChecking() = 0; + virtual void setStrictErrorChecking(jboolean) = 0; + virtual ::java::lang::String * getDocumentURI() = 0; + virtual void setDocumentURI(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * adoptNode(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig() = 0; + virtual void normalizeDocument() = 0; + virtual ::org::w3c::dom::Node * renameNode(::org::w3c::dom::Node *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLDocument__ diff --git a/libjava/org/w3c/dom/html2/HTMLElement.h b/libjava/org/w3c/dom/html2/HTMLElement.h new file mode 100644 index 00000000000..13f7df02c94 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLElement.h @@ -0,0 +1,108 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLElement__ +#define __org_w3c_dom_html2_HTMLElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLFieldSetElement.h b/libjava/org/w3c/dom/html2/HTMLFieldSetElement.h new file mode 100644 index 00000000000..78b7ec1c04f --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLFieldSetElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLFieldSetElement__ +#define __org_w3c_dom_html2_HTMLFieldSetElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFieldSetElement; + class HTMLFormElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLFieldSetElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLFieldSetElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLFontElement.h b/libjava/org/w3c/dom/html2/HTMLFontElement.h new file mode 100644 index 00000000000..a39953cdb47 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLFontElement.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLFontElement__ +#define __org_w3c_dom_html2_HTMLFontElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFontElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLFontElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getColor() = 0; + virtual void setColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getFace() = 0; + virtual void setFace(::java::lang::String *) = 0; + virtual ::java::lang::String * getSize() = 0; + virtual void setSize(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLFontElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLFormElement.h b/libjava/org/w3c/dom/html2/HTMLFormElement.h new file mode 100644 index 00000000000..3dea87f2bfa --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLFormElement.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLFormElement__ +#define __org_w3c_dom_html2_HTMLFormElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLCollection; + class HTMLFormElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLFormElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLCollection * getElements() = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAcceptCharset() = 0; + virtual void setAcceptCharset(::java::lang::String *) = 0; + virtual ::java::lang::String * getAction() = 0; + virtual void setAction(::java::lang::String *) = 0; + virtual ::java::lang::String * getEnctype() = 0; + virtual void setEnctype(::java::lang::String *) = 0; + virtual ::java::lang::String * getMethod() = 0; + virtual void setMethod(::java::lang::String *) = 0; + virtual ::java::lang::String * getTarget() = 0; + virtual void setTarget(::java::lang::String *) = 0; + virtual void submit() = 0; + virtual void reset() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLFormElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLFrameElement.h b/libjava/org/w3c/dom/html2/HTMLFrameElement.h new file mode 100644 index 00000000000..a87c07deb21 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLFrameElement.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLFrameElement__ +#define __org_w3c_dom_html2_HTMLFrameElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFrameElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLFrameElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getFrameBorder() = 0; + virtual void setFrameBorder(::java::lang::String *) = 0; + virtual ::java::lang::String * getLongDesc() = 0; + virtual void setLongDesc(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginHeight() = 0; + virtual void setMarginHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginWidth() = 0; + virtual void setMarginWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual jboolean getNoResize() = 0; + virtual void setNoResize(jboolean) = 0; + virtual ::java::lang::String * getScrolling() = 0; + virtual void setScrolling(::java::lang::String *) = 0; + virtual ::java::lang::String * getSrc() = 0; + virtual void setSrc(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Document * getContentDocument() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLFrameElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLFrameSetElement.h b/libjava/org/w3c/dom/html2/HTMLFrameSetElement.h new file mode 100644 index 00000000000..954dc52420c --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLFrameSetElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLFrameSetElement__ +#define __org_w3c_dom_html2_HTMLFrameSetElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFrameSetElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLFrameSetElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getCols() = 0; + virtual void setCols(::java::lang::String *) = 0; + virtual ::java::lang::String * getRows() = 0; + virtual void setRows(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLFrameSetElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLHRElement.h b/libjava/org/w3c/dom/html2/HTMLHRElement.h new file mode 100644 index 00000000000..3d831ab8406 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLHRElement.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLHRElement__ +#define __org_w3c_dom_html2_HTMLHRElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLHRElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLHRElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual jboolean getNoShade() = 0; + virtual void setNoShade(jboolean) = 0; + virtual ::java::lang::String * getSize() = 0; + virtual void setSize(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLHRElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLHeadElement.h b/libjava/org/w3c/dom/html2/HTMLHeadElement.h new file mode 100644 index 00000000000..3e01bd20966 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLHeadElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLHeadElement__ +#define __org_w3c_dom_html2_HTMLHeadElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLHeadElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLHeadElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getProfile() = 0; + virtual void setProfile(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLHeadElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLHeadingElement.h b/libjava/org/w3c/dom/html2/HTMLHeadingElement.h new file mode 100644 index 00000000000..e8c4b10c3b0 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLHeadingElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLHeadingElement__ +#define __org_w3c_dom_html2_HTMLHeadingElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLHeadingElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLHeadingElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLHeadingElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLHtmlElement.h b/libjava/org/w3c/dom/html2/HTMLHtmlElement.h new file mode 100644 index 00000000000..9a0837e514e --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLHtmlElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLHtmlElement__ +#define __org_w3c_dom_html2_HTMLHtmlElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLHtmlElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLHtmlElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getVersion() = 0; + virtual void setVersion(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLHtmlElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLIFrameElement.h b/libjava/org/w3c/dom/html2/HTMLIFrameElement.h new file mode 100644 index 00000000000..ca09ae567c8 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLIFrameElement.h @@ -0,0 +1,129 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLIFrameElement__ +#define __org_w3c_dom_html2_HTMLIFrameElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLIFrameElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLIFrameElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getFrameBorder() = 0; + virtual void setFrameBorder(::java::lang::String *) = 0; + virtual ::java::lang::String * getHeight() = 0; + virtual void setHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getLongDesc() = 0; + virtual void setLongDesc(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginHeight() = 0; + virtual void setMarginHeight(::java::lang::String *) = 0; + virtual ::java::lang::String * getMarginWidth() = 0; + virtual void setMarginWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getScrolling() = 0; + virtual void setScrolling(::java::lang::String *) = 0; + virtual ::java::lang::String * getSrc() = 0; + virtual void setSrc(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Document * getContentDocument() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLIFrameElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLImageElement.h b/libjava/org/w3c/dom/html2/HTMLImageElement.h new file mode 100644 index 00000000000..931896bb903 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLImageElement.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLImageElement__ +#define __org_w3c_dom_html2_HTMLImageElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLImageElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLImageElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlt() = 0; + virtual void setAlt(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorder() = 0; + virtual void setBorder(::java::lang::String *) = 0; + virtual jint getHeight() = 0; + virtual void setHeight(jint) = 0; + virtual jint getHspace() = 0; + virtual void setHspace(jint) = 0; + virtual jboolean getIsMap() = 0; + virtual void setIsMap(jboolean) = 0; + virtual ::java::lang::String * getLongDesc() = 0; + virtual void setLongDesc(::java::lang::String *) = 0; + virtual ::java::lang::String * getSrc() = 0; + virtual void setSrc(::java::lang::String *) = 0; + virtual ::java::lang::String * getUseMap() = 0; + virtual void setUseMap(::java::lang::String *) = 0; + virtual jint getVspace() = 0; + virtual void setVspace(jint) = 0; + virtual jint getWidth() = 0; + virtual void setWidth(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLImageElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLInputElement.h b/libjava/org/w3c/dom/html2/HTMLInputElement.h new file mode 100644 index 00000000000..b6b5f5ca0a9 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLInputElement.h @@ -0,0 +1,148 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLInputElement__ +#define __org_w3c_dom_html2_HTMLInputElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLInputElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLInputElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getDefaultValue() = 0; + virtual void setDefaultValue(::java::lang::String *) = 0; + virtual jboolean getDefaultChecked() = 0; + virtual void setDefaultChecked(jboolean) = 0; + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getAccept() = 0; + virtual void setAccept(::java::lang::String *) = 0; + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlt() = 0; + virtual void setAlt(::java::lang::String *) = 0; + virtual jboolean getChecked() = 0; + virtual void setChecked(jboolean) = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual jint getMaxLength() = 0; + virtual void setMaxLength(jint) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual jboolean getReadOnly() = 0; + virtual void setReadOnly(jboolean) = 0; + virtual jint getSize() = 0; + virtual void setSize(jint) = 0; + virtual ::java::lang::String * getSrc() = 0; + virtual void setSrc(::java::lang::String *) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getUseMap() = 0; + virtual void setUseMap(::java::lang::String *) = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual void blur() = 0; + virtual void focus() = 0; + virtual void select() = 0; + virtual void click() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLInputElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLIsIndexElement.h b/libjava/org/w3c/dom/html2/HTMLIsIndexElement.h new file mode 100644 index 00000000000..dc6748fcca7 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLIsIndexElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLIsIndexElement__ +#define __org_w3c_dom_html2_HTMLIsIndexElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLIsIndexElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLIsIndexElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getPrompt() = 0; + virtual void setPrompt(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLIsIndexElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLLIElement.h b/libjava/org/w3c/dom/html2/HTMLLIElement.h new file mode 100644 index 00000000000..3b9caa30e23 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLLIElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLLIElement__ +#define __org_w3c_dom_html2_HTMLLIElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLLIElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLLIElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual jint getValue() = 0; + virtual void setValue(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLLIElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLLabelElement.h b/libjava/org/w3c/dom/html2/HTMLLabelElement.h new file mode 100644 index 00000000000..d0f9948ddf4 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLLabelElement.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLLabelElement__ +#define __org_w3c_dom_html2_HTMLLabelElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLLabelElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLLabelElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual ::java::lang::String * getHtmlFor() = 0; + virtual void setHtmlFor(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLLabelElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLLegendElement.h b/libjava/org/w3c/dom/html2/HTMLLegendElement.h new file mode 100644 index 00000000000..c26a4b455f3 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLLegendElement.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLLegendElement__ +#define __org_w3c_dom_html2_HTMLLegendElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLLegendElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLLegendElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLLegendElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLLinkElement.h b/libjava/org/w3c/dom/html2/HTMLLinkElement.h new file mode 100644 index 00000000000..c58f1cf5d90 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLLinkElement.h @@ -0,0 +1,126 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLLinkElement__ +#define __org_w3c_dom_html2_HTMLLinkElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLLinkElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLLinkElement : public ::java::lang::Object +{ + +public: + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::java::lang::String * getCharset() = 0; + virtual void setCharset(::java::lang::String *) = 0; + virtual ::java::lang::String * getHref() = 0; + virtual void setHref(::java::lang::String *) = 0; + virtual ::java::lang::String * getHreflang() = 0; + virtual void setHreflang(::java::lang::String *) = 0; + virtual ::java::lang::String * getMedia() = 0; + virtual void setMedia(::java::lang::String *) = 0; + virtual ::java::lang::String * getRel() = 0; + virtual void setRel(::java::lang::String *) = 0; + virtual ::java::lang::String * getRev() = 0; + virtual void setRev(::java::lang::String *) = 0; + virtual ::java::lang::String * getTarget() = 0; + virtual void setTarget(::java::lang::String *) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLLinkElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLMapElement.h b/libjava/org/w3c/dom/html2/HTMLMapElement.h new file mode 100644 index 00000000000..4fdb470c9a4 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLMapElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLMapElement__ +#define __org_w3c_dom_html2_HTMLMapElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLCollection; + class HTMLMapElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLMapElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLCollection * getAreas() = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLMapElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLMenuElement.h b/libjava/org/w3c/dom/html2/HTMLMenuElement.h new file mode 100644 index 00000000000..e2a6e33b492 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLMenuElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLMenuElement__ +#define __org_w3c_dom_html2_HTMLMenuElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLMenuElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLMenuElement : public ::java::lang::Object +{ + +public: + virtual jboolean getCompact() = 0; + virtual void setCompact(jboolean) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLMenuElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLMetaElement.h b/libjava/org/w3c/dom/html2/HTMLMetaElement.h new file mode 100644 index 00000000000..4d90bb5e27c --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLMetaElement.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLMetaElement__ +#define __org_w3c_dom_html2_HTMLMetaElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLMetaElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLMetaElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getContent() = 0; + virtual void setContent(::java::lang::String *) = 0; + virtual ::java::lang::String * getHttpEquiv() = 0; + virtual void setHttpEquiv(::java::lang::String *) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getScheme() = 0; + virtual void setScheme(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLMetaElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLModElement.h b/libjava/org/w3c/dom/html2/HTMLModElement.h new file mode 100644 index 00000000000..8cdbb130862 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLModElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLModElement__ +#define __org_w3c_dom_html2_HTMLModElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLModElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLModElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getCite() = 0; + virtual void setCite(::java::lang::String *) = 0; + virtual ::java::lang::String * getDateTime() = 0; + virtual void setDateTime(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLModElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLOListElement.h b/libjava/org/w3c/dom/html2/HTMLOListElement.h new file mode 100644 index 00000000000..9dc476379b1 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLOListElement.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLOListElement__ +#define __org_w3c_dom_html2_HTMLOListElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLOListElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLOListElement : public ::java::lang::Object +{ + +public: + virtual jboolean getCompact() = 0; + virtual void setCompact(jboolean) = 0; + virtual jint getStart() = 0; + virtual void setStart(jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLOListElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLObjectElement.h b/libjava/org/w3c/dom/html2/HTMLObjectElement.h new file mode 100644 index 00000000000..e061d879435 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLObjectElement.h @@ -0,0 +1,145 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLObjectElement__ +#define __org_w3c_dom_html2_HTMLObjectElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLObjectElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLObjectElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getCode() = 0; + virtual void setCode(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getArchive() = 0; + virtual void setArchive(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorder() = 0; + virtual void setBorder(::java::lang::String *) = 0; + virtual ::java::lang::String * getCodeBase() = 0; + virtual void setCodeBase(::java::lang::String *) = 0; + virtual ::java::lang::String * getCodeType() = 0; + virtual void setCodeType(::java::lang::String *) = 0; + virtual ::java::lang::String * getData() = 0; + virtual void setData(::java::lang::String *) = 0; + virtual jboolean getDeclare() = 0; + virtual void setDeclare(jboolean) = 0; + virtual ::java::lang::String * getHeight() = 0; + virtual void setHeight(::java::lang::String *) = 0; + virtual jint getHspace() = 0; + virtual void setHspace(jint) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getStandby() = 0; + virtual void setStandby(::java::lang::String *) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getUseMap() = 0; + virtual void setUseMap(::java::lang::String *) = 0; + virtual jint getVspace() = 0; + virtual void setVspace(jint) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Document * getContentDocument() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLObjectElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLOptGroupElement.h b/libjava/org/w3c/dom/html2/HTMLOptGroupElement.h new file mode 100644 index 00000000000..b6ef2bcb7c5 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLOptGroupElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLOptGroupElement__ +#define __org_w3c_dom_html2_HTMLOptGroupElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLOptGroupElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLOptGroupElement : public ::java::lang::Object +{ + +public: + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::java::lang::String * getLabel() = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLOptGroupElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLOptionElement.h b/libjava/org/w3c/dom/html2/HTMLOptionElement.h new file mode 100644 index 00000000000..dbf7b4c2e60 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLOptionElement.h @@ -0,0 +1,122 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLOptionElement__ +#define __org_w3c_dom_html2_HTMLOptionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLOptionElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLOptionElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual jboolean getDefaultSelected() = 0; + virtual void setDefaultSelected(jboolean) = 0; + virtual ::java::lang::String * getText() = 0; + virtual jint getIndex() = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::java::lang::String * getLabel() = 0; + virtual void setLabel(::java::lang::String *) = 0; + virtual jboolean getSelected() = 0; + virtual void setSelected(jboolean) = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLOptionElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLOptionsCollection.h b/libjava/org/w3c/dom/html2/HTMLOptionsCollection.h new file mode 100644 index 00000000000..ac144837c6a --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLOptionsCollection.h @@ -0,0 +1,39 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLOptionsCollection__ +#define __org_w3c_dom_html2_HTMLOptionsCollection__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace html2 + { + class HTMLOptionsCollection; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLOptionsCollection : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual void setLength(jint) = 0; + virtual ::org::w3c::dom::Node * item(jint) = 0; + virtual ::org::w3c::dom::Node * namedItem(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLOptionsCollection__ diff --git a/libjava/org/w3c/dom/html2/HTMLParagraphElement.h b/libjava/org/w3c/dom/html2/HTMLParagraphElement.h new file mode 100644 index 00000000000..3b4b169be22 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLParagraphElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLParagraphElement__ +#define __org_w3c_dom_html2_HTMLParagraphElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLParagraphElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLParagraphElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLParagraphElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLParamElement.h b/libjava/org/w3c/dom/html2/HTMLParamElement.h new file mode 100644 index 00000000000..219e40d7f35 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLParamElement.h @@ -0,0 +1,116 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLParamElement__ +#define __org_w3c_dom_html2_HTMLParamElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLParamElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLParamElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual ::java::lang::String * getValueType() = 0; + virtual void setValueType(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLParamElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLPreElement.h b/libjava/org/w3c/dom/html2/HTMLPreElement.h new file mode 100644 index 00000000000..54ef9434889 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLPreElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLPreElement__ +#define __org_w3c_dom_html2_HTMLPreElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLPreElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLPreElement : public ::java::lang::Object +{ + +public: + virtual jint getWidth() = 0; + virtual void setWidth(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLPreElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLQuoteElement.h b/libjava/org/w3c/dom/html2/HTMLQuoteElement.h new file mode 100644 index 00000000000..fe5201fbb46 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLQuoteElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLQuoteElement__ +#define __org_w3c_dom_html2_HTMLQuoteElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLQuoteElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLQuoteElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getCite() = 0; + virtual void setCite(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLQuoteElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLScriptElement.h b/libjava/org/w3c/dom/html2/HTMLScriptElement.h new file mode 100644 index 00000000000..b2fbcf521a3 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLScriptElement.h @@ -0,0 +1,122 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLScriptElement__ +#define __org_w3c_dom_html2_HTMLScriptElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLScriptElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLScriptElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getText() = 0; + virtual void setText(::java::lang::String *) = 0; + virtual ::java::lang::String * getHtmlFor() = 0; + virtual void setHtmlFor(::java::lang::String *) = 0; + virtual ::java::lang::String * getEvent() = 0; + virtual void setEvent(::java::lang::String *) = 0; + virtual ::java::lang::String * getCharset() = 0; + virtual void setCharset(::java::lang::String *) = 0; + virtual jboolean getDefer() = 0; + virtual void setDefer(jboolean) = 0; + virtual ::java::lang::String * getSrc() = 0; + virtual void setSrc(::java::lang::String *) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLScriptElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLSelectElement.h b/libjava/org/w3c/dom/html2/HTMLSelectElement.h new file mode 100644 index 00000000000..e6bf83a6622 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLSelectElement.h @@ -0,0 +1,134 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLSelectElement__ +#define __org_w3c_dom_html2_HTMLSelectElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLElement; + class HTMLFormElement; + class HTMLOptionsCollection; + class HTMLSelectElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLSelectElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getType() = 0; + virtual jint getSelectedIndex() = 0; + virtual void setSelectedIndex(jint) = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual void setLength(jint) = 0; + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::org::w3c::dom::html2::HTMLOptionsCollection * getOptions() = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual jboolean getMultiple() = 0; + virtual void setMultiple(jboolean) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual jint getSize() = 0; + virtual void setSize(jint) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual void add(::org::w3c::dom::html2::HTMLElement *, ::org::w3c::dom::html2::HTMLElement *) = 0; + virtual void remove(jint) = 0; + virtual void blur() = 0; + virtual void focus() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLSelectElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLStyleElement.h b/libjava/org/w3c/dom/html2/HTMLStyleElement.h new file mode 100644 index 00000000000..23f08187eb5 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLStyleElement.h @@ -0,0 +1,114 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLStyleElement__ +#define __org_w3c_dom_html2_HTMLStyleElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLStyleElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLStyleElement : public ::java::lang::Object +{ + +public: + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::java::lang::String * getMedia() = 0; + virtual void setMedia(::java::lang::String *) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLStyleElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTableCaptionElement.h b/libjava/org/w3c/dom/html2/HTMLTableCaptionElement.h new file mode 100644 index 00000000000..344f4a53e18 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTableCaptionElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTableCaptionElement__ +#define __org_w3c_dom_html2_HTMLTableCaptionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLTableCaptionElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTableCaptionElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTableCaptionElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTableCellElement.h b/libjava/org/w3c/dom/html2/HTMLTableCellElement.h new file mode 100644 index 00000000000..17e37b51559 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTableCellElement.h @@ -0,0 +1,137 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTableCellElement__ +#define __org_w3c_dom_html2_HTMLTableCellElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLTableCellElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTableCellElement : public ::java::lang::Object +{ + +public: + virtual jint getCellIndex() = 0; + virtual ::java::lang::String * getAbbr() = 0; + virtual void setAbbr(::java::lang::String *) = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getAxis() = 0; + virtual void setAxis(::java::lang::String *) = 0; + virtual ::java::lang::String * getBgColor() = 0; + virtual void setBgColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getCh() = 0; + virtual void setCh(::java::lang::String *) = 0; + virtual ::java::lang::String * getChOff() = 0; + virtual void setChOff(::java::lang::String *) = 0; + virtual jint getColSpan() = 0; + virtual void setColSpan(jint) = 0; + virtual ::java::lang::String * getHeaders() = 0; + virtual void setHeaders(::java::lang::String *) = 0; + virtual ::java::lang::String * getHeight() = 0; + virtual void setHeight(::java::lang::String *) = 0; + virtual jboolean getNoWrap() = 0; + virtual void setNoWrap(jboolean) = 0; + virtual jint getRowSpan() = 0; + virtual void setRowSpan(jint) = 0; + virtual ::java::lang::String * getScope() = 0; + virtual void setScope(::java::lang::String *) = 0; + virtual ::java::lang::String * getVAlign() = 0; + virtual void setVAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTableCellElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTableColElement.h b/libjava/org/w3c/dom/html2/HTMLTableColElement.h new file mode 100644 index 00000000000..a1c143d25be --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTableColElement.h @@ -0,0 +1,120 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTableColElement__ +#define __org_w3c_dom_html2_HTMLTableColElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLTableColElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTableColElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getCh() = 0; + virtual void setCh(::java::lang::String *) = 0; + virtual ::java::lang::String * getChOff() = 0; + virtual void setChOff(::java::lang::String *) = 0; + virtual jint getSpan() = 0; + virtual void setSpan(jint) = 0; + virtual ::java::lang::String * getVAlign() = 0; + virtual void setVAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTableColElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTableElement.h b/libjava/org/w3c/dom/html2/HTMLTableElement.h new file mode 100644 index 00000000000..5f5f9ae4b26 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTableElement.h @@ -0,0 +1,146 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTableElement__ +#define __org_w3c_dom_html2_HTMLTableElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + class HTMLTableCaptionElement; + class HTMLTableElement; + class HTMLTableSectionElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTableElement : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::html2::HTMLTableCaptionElement * getCaption() = 0; + virtual void setCaption(::org::w3c::dom::html2::HTMLTableCaptionElement *) = 0; + virtual ::org::w3c::dom::html2::HTMLTableSectionElement * getTHead() = 0; + virtual void setTHead(::org::w3c::dom::html2::HTMLTableSectionElement *) = 0; + virtual ::org::w3c::dom::html2::HTMLTableSectionElement * getTFoot() = 0; + virtual void setTFoot(::org::w3c::dom::html2::HTMLTableSectionElement *) = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getRows() = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getTBodies() = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getBgColor() = 0; + virtual void setBgColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getBorder() = 0; + virtual void setBorder(::java::lang::String *) = 0; + virtual ::java::lang::String * getCellPadding() = 0; + virtual void setCellPadding(::java::lang::String *) = 0; + virtual ::java::lang::String * getCellSpacing() = 0; + virtual void setCellSpacing(::java::lang::String *) = 0; + virtual ::java::lang::String * getFrame() = 0; + virtual void setFrame(::java::lang::String *) = 0; + virtual ::java::lang::String * getRules() = 0; + virtual void setRules(::java::lang::String *) = 0; + virtual ::java::lang::String * getSummary() = 0; + virtual void setSummary(::java::lang::String *) = 0; + virtual ::java::lang::String * getWidth() = 0; + virtual void setWidth(::java::lang::String *) = 0; + virtual ::org::w3c::dom::html2::HTMLElement * createTHead() = 0; + virtual void deleteTHead() = 0; + virtual ::org::w3c::dom::html2::HTMLElement * createTFoot() = 0; + virtual void deleteTFoot() = 0; + virtual ::org::w3c::dom::html2::HTMLElement * createCaption() = 0; + virtual void deleteCaption() = 0; + virtual ::org::w3c::dom::html2::HTMLElement * insertRow(jint) = 0; + virtual void deleteRow(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTableElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTableRowElement.h b/libjava/org/w3c/dom/html2/HTMLTableRowElement.h new file mode 100644 index 00000000000..a8d59eaec01 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTableRowElement.h @@ -0,0 +1,125 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTableRowElement__ +#define __org_w3c_dom_html2_HTMLTableRowElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + class HTMLTableRowElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTableRowElement : public ::java::lang::Object +{ + +public: + virtual jint getRowIndex() = 0; + virtual jint getSectionRowIndex() = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getCells() = 0; + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getBgColor() = 0; + virtual void setBgColor(::java::lang::String *) = 0; + virtual ::java::lang::String * getCh() = 0; + virtual void setCh(::java::lang::String *) = 0; + virtual ::java::lang::String * getChOff() = 0; + virtual void setChOff(::java::lang::String *) = 0; + virtual ::java::lang::String * getVAlign() = 0; + virtual void setVAlign(::java::lang::String *) = 0; + virtual ::org::w3c::dom::html2::HTMLElement * insertCell(jint) = 0; + virtual void deleteCell(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTableRowElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTableSectionElement.h b/libjava/org/w3c/dom/html2/HTMLTableSectionElement.h new file mode 100644 index 00000000000..3bec0b39ba0 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTableSectionElement.h @@ -0,0 +1,121 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTableSectionElement__ +#define __org_w3c_dom_html2_HTMLTableSectionElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLCollection; + class HTMLElement; + class HTMLTableSectionElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTableSectionElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getAlign() = 0; + virtual void setAlign(::java::lang::String *) = 0; + virtual ::java::lang::String * getCh() = 0; + virtual void setCh(::java::lang::String *) = 0; + virtual ::java::lang::String * getChOff() = 0; + virtual void setChOff(::java::lang::String *) = 0; + virtual ::java::lang::String * getVAlign() = 0; + virtual void setVAlign(::java::lang::String *) = 0; + virtual ::org::w3c::dom::html2::HTMLCollection * getRows() = 0; + virtual ::org::w3c::dom::html2::HTMLElement * insertRow(jint) = 0; + virtual void deleteRow(jint) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTableSectionElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTextAreaElement.h b/libjava/org/w3c/dom/html2/HTMLTextAreaElement.h new file mode 100644 index 00000000000..844493c1e97 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTextAreaElement.h @@ -0,0 +1,132 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTextAreaElement__ +#define __org_w3c_dom_html2_HTMLTextAreaElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLFormElement; + class HTMLTextAreaElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTextAreaElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getDefaultValue() = 0; + virtual void setDefaultValue(::java::lang::String *) = 0; + virtual ::org::w3c::dom::html2::HTMLFormElement * getForm() = 0; + virtual ::java::lang::String * getAccessKey() = 0; + virtual void setAccessKey(::java::lang::String *) = 0; + virtual jint getCols() = 0; + virtual void setCols(jint) = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::java::lang::String * getName() = 0; + virtual void setName(::java::lang::String *) = 0; + virtual jboolean getReadOnly() = 0; + virtual void setReadOnly(jboolean) = 0; + virtual jint getRows() = 0; + virtual void setRows(jint) = 0; + virtual jint getTabIndex() = 0; + virtual void setTabIndex(jint) = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::java::lang::String * getValue() = 0; + virtual void setValue(::java::lang::String *) = 0; + virtual void blur() = 0; + virtual void focus() = 0; + virtual void select() = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTextAreaElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLTitleElement.h b/libjava/org/w3c/dom/html2/HTMLTitleElement.h new file mode 100644 index 00000000000..edc44660171 --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLTitleElement.h @@ -0,0 +1,110 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLTitleElement__ +#define __org_w3c_dom_html2_HTMLTitleElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLTitleElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLTitleElement : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getText() = 0; + virtual void setText(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLTitleElement__ diff --git a/libjava/org/w3c/dom/html2/HTMLUListElement.h b/libjava/org/w3c/dom/html2/HTMLUListElement.h new file mode 100644 index 00000000000..4e327652e5e --- /dev/null +++ b/libjava/org/w3c/dom/html2/HTMLUListElement.h @@ -0,0 +1,112 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_html2_HTMLUListElement__ +#define __org_w3c_dom_html2_HTMLUListElement__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Attr; + class Document; + class NamedNodeMap; + class Node; + class NodeList; + class TypeInfo; + class UserDataHandler; + namespace html2 + { + class HTMLUListElement; + } + } + } + } +} + +class org::w3c::dom::html2::HTMLUListElement : public ::java::lang::Object +{ + +public: + virtual jboolean getCompact() = 0; + virtual void setCompact(jboolean) = 0; + virtual ::java::lang::String * getType() = 0; + virtual void setType(::java::lang::String *) = 0; + virtual ::java::lang::String * getId() = 0; + virtual void setId(::java::lang::String *) = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual void setTitle(::java::lang::String *) = 0; + virtual ::java::lang::String * getLang() = 0; + virtual void setLang(::java::lang::String *) = 0; + virtual ::java::lang::String * getDir() = 0; + virtual void setDir(::java::lang::String *) = 0; + virtual ::java::lang::String * getClassName() = 0; + virtual void setClassName(::java::lang::String *) = 0; + virtual ::java::lang::String * getTagName() = 0; + virtual ::java::lang::String * getAttribute(::java::lang::String *) = 0; + virtual void setAttribute(::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttribute(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNode(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::Attr * removeAttributeNode(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagName(::java::lang::String *) = 0; + virtual ::java::lang::String * getAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual void setAttributeNS(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void removeAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * getAttributeNodeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::Attr * setAttributeNodeNS(::org::w3c::dom::Attr *) = 0; + virtual ::org::w3c::dom::NodeList * getElementsByTagNameNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean hasAttribute(::java::lang::String *) = 0; + virtual jboolean hasAttributeNS(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::TypeInfo * getSchemaTypeInfo() = 0; + virtual void setIdAttribute(::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNS(::java::lang::String *, ::java::lang::String *, jboolean) = 0; + virtual void setIdAttributeNode(::org::w3c::dom::Attr *, jboolean) = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_html2_HTMLUListElement__ diff --git a/libjava/org/w3c/dom/ls/DOMImplementationLS.h b/libjava/org/w3c/dom/ls/DOMImplementationLS.h new file mode 100644 index 00000000000..f94da31fd38 --- /dev/null +++ b/libjava/org/w3c/dom/ls/DOMImplementationLS.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_DOMImplementationLS__ +#define __org_w3c_dom_ls_DOMImplementationLS__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class DOMImplementationLS; + class LSInput; + class LSOutput; + class LSParser; + class LSSerializer; + } + } + } + } +} + +class org::w3c::dom::ls::DOMImplementationLS : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::ls::LSParser * createLSParser(jshort, ::java::lang::String *) = 0; + virtual ::org::w3c::dom::ls::LSSerializer * createLSSerializer() = 0; + virtual ::org::w3c::dom::ls::LSInput * createLSInput() = 0; + virtual ::org::w3c::dom::ls::LSOutput * createLSOutput() = 0; + static const jshort MODE_SYNCHRONOUS = 1; + static const jshort MODE_ASYNCHRONOUS = 2; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_DOMImplementationLS__ diff --git a/libjava/org/w3c/dom/ls/LSException.h b/libjava/org/w3c/dom/ls/LSException.h new file mode 100644 index 00000000000..c1444406724 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSException__ +#define __org_w3c_dom_ls_LSException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSException; + } + } + } + } +} + +class org::w3c::dom::ls::LSException : public ::java::lang::RuntimeException +{ + +public: + LSException(jshort, ::java::lang::String *); + jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code; + static const jshort PARSE_ERR = 81; + static const jshort SERIALIZE_ERR = 82; + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_ls_LSException__ diff --git a/libjava/org/w3c/dom/ls/LSInput.h b/libjava/org/w3c/dom/ls/LSInput.h new file mode 100644 index 00000000000..8dd9da1747a --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSInput.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSInput__ +#define __org_w3c_dom_ls_LSInput__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSInput; + } + } + } + } +} + +class org::w3c::dom::ls::LSInput : public ::java::lang::Object +{ + +public: + virtual ::java::io::Reader * getCharacterStream() = 0; + virtual void setCharacterStream(::java::io::Reader *) = 0; + virtual ::java::io::InputStream * getByteStream() = 0; + virtual void setByteStream(::java::io::InputStream *) = 0; + virtual ::java::lang::String * getStringData() = 0; + virtual void setStringData(::java::lang::String *) = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual void setSystemId(::java::lang::String *) = 0; + virtual ::java::lang::String * getPublicId() = 0; + virtual void setPublicId(::java::lang::String *) = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual void setBaseURI(::java::lang::String *) = 0; + virtual ::java::lang::String * getEncoding() = 0; + virtual void setEncoding(::java::lang::String *) = 0; + virtual jboolean getCertifiedText() = 0; + virtual void setCertifiedText(jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSInput__ diff --git a/libjava/org/w3c/dom/ls/LSLoadEvent.h b/libjava/org/w3c/dom/ls/LSLoadEvent.h new file mode 100644 index 00000000000..9c630339283 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSLoadEvent.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSLoadEvent__ +#define __org_w3c_dom_ls_LSLoadEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + namespace events + { + class EventTarget; + } + namespace ls + { + class LSInput; + class LSLoadEvent; + } + } + } + } +} + +class org::w3c::dom::ls::LSLoadEvent : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Document * getNewDocument() = 0; + virtual ::org::w3c::dom::ls::LSInput * getInput() = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::org::w3c::dom::events::EventTarget * getTarget() = 0; + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget() = 0; + virtual jshort getEventPhase() = 0; + virtual jboolean getBubbles() = 0; + virtual jboolean getCancelable() = 0; + virtual jlong getTimeStamp() = 0; + virtual void stopPropagation() = 0; + virtual void preventDefault() = 0; + virtual void initEvent(::java::lang::String *, jboolean, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSLoadEvent__ diff --git a/libjava/org/w3c/dom/ls/LSOutput.h b/libjava/org/w3c/dom/ls/LSOutput.h new file mode 100644 index 00000000000..6d3990eb828 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSOutput.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSOutput__ +#define __org_w3c_dom_ls_LSOutput__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSOutput; + } + } + } + } +} + +class org::w3c::dom::ls::LSOutput : public ::java::lang::Object +{ + +public: + virtual ::java::io::Writer * getCharacterStream() = 0; + virtual void setCharacterStream(::java::io::Writer *) = 0; + virtual ::java::io::OutputStream * getByteStream() = 0; + virtual void setByteStream(::java::io::OutputStream *) = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual void setSystemId(::java::lang::String *) = 0; + virtual ::java::lang::String * getEncoding() = 0; + virtual void setEncoding(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSOutput__ diff --git a/libjava/org/w3c/dom/ls/LSParser.h b/libjava/org/w3c/dom/ls/LSParser.h new file mode 100644 index 00000000000..2f1e3f3c790 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSParser.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSParser__ +#define __org_w3c_dom_ls_LSParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMConfiguration; + class Document; + class Node; + namespace ls + { + class LSInput; + class LSParser; + class LSParserFilter; + } + } + } + } +} + +class org::w3c::dom::ls::LSParser : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig() = 0; + virtual ::org::w3c::dom::ls::LSParserFilter * getFilter() = 0; + virtual void setFilter(::org::w3c::dom::ls::LSParserFilter *) = 0; + virtual jboolean getAsync() = 0; + virtual jboolean getBusy() = 0; + virtual ::org::w3c::dom::Document * parse(::org::w3c::dom::ls::LSInput *) = 0; + virtual ::org::w3c::dom::Document * parseURI(::java::lang::String *) = 0; + virtual ::org::w3c::dom::Node * parseWithContext(::org::w3c::dom::ls::LSInput *, ::org::w3c::dom::Node *, jshort) = 0; + virtual void abort() = 0; + static const jshort ACTION_APPEND_AS_CHILDREN = 1; + static const jshort ACTION_REPLACE_CHILDREN = 2; + static const jshort ACTION_INSERT_BEFORE = 3; + static const jshort ACTION_INSERT_AFTER = 4; + static const jshort ACTION_REPLACE = 5; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSParser__ diff --git a/libjava/org/w3c/dom/ls/LSParserFilter.h b/libjava/org/w3c/dom/ls/LSParserFilter.h new file mode 100644 index 00000000000..8a72aaa5d62 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSParserFilter.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSParserFilter__ +#define __org_w3c_dom_ls_LSParserFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Element; + class Node; + namespace ls + { + class LSParserFilter; + } + } + } + } +} + +class org::w3c::dom::ls::LSParserFilter : public ::java::lang::Object +{ + +public: + virtual jshort startElement(::org::w3c::dom::Element *) = 0; + virtual jshort acceptNode(::org::w3c::dom::Node *) = 0; + virtual jint getWhatToShow() = 0; + static const jshort FILTER_ACCEPT = 1; + static const jshort FILTER_REJECT = 2; + static const jshort FILTER_SKIP = 3; + static const jshort FILTER_INTERRUPT = 4; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSParserFilter__ diff --git a/libjava/org/w3c/dom/ls/LSProgressEvent.h b/libjava/org/w3c/dom/ls/LSProgressEvent.h new file mode 100644 index 00000000000..23762050766 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSProgressEvent.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSProgressEvent__ +#define __org_w3c_dom_ls_LSProgressEvent__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace events + { + class EventTarget; + } + namespace ls + { + class LSInput; + class LSProgressEvent; + } + } + } + } +} + +class org::w3c::dom::ls::LSProgressEvent : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::ls::LSInput * getInput() = 0; + virtual jint getPosition() = 0; + virtual jint getTotalSize() = 0; + virtual ::java::lang::String * getType() = 0; + virtual ::org::w3c::dom::events::EventTarget * getTarget() = 0; + virtual ::org::w3c::dom::events::EventTarget * getCurrentTarget() = 0; + virtual jshort getEventPhase() = 0; + virtual jboolean getBubbles() = 0; + virtual jboolean getCancelable() = 0; + virtual jlong getTimeStamp() = 0; + virtual void stopPropagation() = 0; + virtual void preventDefault() = 0; + virtual void initEvent(::java::lang::String *, jboolean, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSProgressEvent__ diff --git a/libjava/org/w3c/dom/ls/LSResourceResolver.h b/libjava/org/w3c/dom/ls/LSResourceResolver.h new file mode 100644 index 00000000000..3a983ebeac6 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSResourceResolver.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSResourceResolver__ +#define __org_w3c_dom_ls_LSResourceResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ls + { + class LSInput; + class LSResourceResolver; + } + } + } + } +} + +class org::w3c::dom::ls::LSResourceResolver : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::ls::LSInput * resolveResource(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSResourceResolver__ diff --git a/libjava/org/w3c/dom/ls/LSSerializer.h b/libjava/org/w3c/dom/ls/LSSerializer.h new file mode 100644 index 00000000000..11ead65b906 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSSerializer.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSSerializer__ +#define __org_w3c_dom_ls_LSSerializer__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DOMConfiguration; + class Node; + namespace ls + { + class LSOutput; + class LSSerializer; + class LSSerializerFilter; + } + } + } + } +} + +class org::w3c::dom::ls::LSSerializer : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::DOMConfiguration * getDomConfig() = 0; + virtual ::java::lang::String * getNewLine() = 0; + virtual void setNewLine(::java::lang::String *) = 0; + virtual ::org::w3c::dom::ls::LSSerializerFilter * getFilter() = 0; + virtual void setFilter(::org::w3c::dom::ls::LSSerializerFilter *) = 0; + virtual jboolean write(::org::w3c::dom::Node *, ::org::w3c::dom::ls::LSOutput *) = 0; + virtual jboolean writeToURI(::org::w3c::dom::Node *, ::java::lang::String *) = 0; + virtual ::java::lang::String * writeToString(::org::w3c::dom::Node *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSSerializer__ diff --git a/libjava/org/w3c/dom/ls/LSSerializerFilter.h b/libjava/org/w3c/dom/ls/LSSerializerFilter.h new file mode 100644 index 00000000000..d56e7d4f9f3 --- /dev/null +++ b/libjava/org/w3c/dom/ls/LSSerializerFilter.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ls_LSSerializerFilter__ +#define __org_w3c_dom_ls_LSSerializerFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace ls + { + class LSSerializerFilter; + } + } + } + } +} + +class org::w3c::dom::ls::LSSerializerFilter : public ::java::lang::Object +{ + +public: + virtual jint getWhatToShow() = 0; + virtual jshort acceptNode(::org::w3c::dom::Node *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ls_LSSerializerFilter__ diff --git a/libjava/org/w3c/dom/ranges/DocumentRange.h b/libjava/org/w3c/dom/ranges/DocumentRange.h new file mode 100644 index 00000000000..e7a0cbe6aed --- /dev/null +++ b/libjava/org/w3c/dom/ranges/DocumentRange.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ranges_DocumentRange__ +#define __org_w3c_dom_ranges_DocumentRange__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ranges + { + class DocumentRange; + class Range; + } + } + } + } +} + +class org::w3c::dom::ranges::DocumentRange : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::ranges::Range * createRange() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ranges_DocumentRange__ diff --git a/libjava/org/w3c/dom/ranges/Range.h b/libjava/org/w3c/dom/ranges/Range.h new file mode 100644 index 00000000000..743989a064b --- /dev/null +++ b/libjava/org/w3c/dom/ranges/Range.h @@ -0,0 +1,64 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ranges_Range__ +#define __org_w3c_dom_ranges_Range__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class DocumentFragment; + class Node; + namespace ranges + { + class Range; + } + } + } + } +} + +class org::w3c::dom::ranges::Range : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * getStartContainer() = 0; + virtual jint getStartOffset() = 0; + virtual ::org::w3c::dom::Node * getEndContainer() = 0; + virtual jint getEndOffset() = 0; + virtual jboolean getCollapsed() = 0; + virtual ::org::w3c::dom::Node * getCommonAncestorContainer() = 0; + virtual void setStart(::org::w3c::dom::Node *, jint) = 0; + virtual void setEnd(::org::w3c::dom::Node *, jint) = 0; + virtual void setStartBefore(::org::w3c::dom::Node *) = 0; + virtual void setStartAfter(::org::w3c::dom::Node *) = 0; + virtual void setEndBefore(::org::w3c::dom::Node *) = 0; + virtual void setEndAfter(::org::w3c::dom::Node *) = 0; + virtual void collapse(jboolean) = 0; + virtual void selectNode(::org::w3c::dom::Node *) = 0; + virtual void selectNodeContents(::org::w3c::dom::Node *) = 0; + virtual jshort compareBoundaryPoints(jshort, ::org::w3c::dom::ranges::Range *) = 0; + virtual void deleteContents() = 0; + virtual ::org::w3c::dom::DocumentFragment * extractContents() = 0; + virtual ::org::w3c::dom::DocumentFragment * cloneContents() = 0; + virtual void insertNode(::org::w3c::dom::Node *) = 0; + virtual void surroundContents(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::ranges::Range * cloneRange() = 0; + virtual ::java::lang::String * toString() = 0; + virtual void detach() = 0; + static const jshort START_TO_START = 0; + static const jshort START_TO_END = 1; + static const jshort END_TO_END = 2; + static const jshort END_TO_START = 3; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_ranges_Range__ diff --git a/libjava/org/w3c/dom/ranges/RangeException.h b/libjava/org/w3c/dom/ranges/RangeException.h new file mode 100644 index 00000000000..50efa0f782a --- /dev/null +++ b/libjava/org/w3c/dom/ranges/RangeException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_ranges_RangeException__ +#define __org_w3c_dom_ranges_RangeException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace ranges + { + class RangeException; + } + } + } + } +} + +class org::w3c::dom::ranges::RangeException : public ::java::lang::RuntimeException +{ + +public: + RangeException(jshort, ::java::lang::String *); + jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code; + static const jshort BAD_BOUNDARYPOINTS_ERR = 1; + static const jshort INVALID_NODE_TYPE_ERR = 2; + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_ranges_RangeException__ diff --git a/libjava/org/w3c/dom/stylesheets/DocumentStyle.h b/libjava/org/w3c/dom/stylesheets/DocumentStyle.h new file mode 100644 index 00000000000..f758d8647d4 --- /dev/null +++ b/libjava/org/w3c/dom/stylesheets/DocumentStyle.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_stylesheets_DocumentStyle__ +#define __org_w3c_dom_stylesheets_DocumentStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace stylesheets + { + class DocumentStyle; + class StyleSheetList; + } + } + } + } +} + +class org::w3c::dom::stylesheets::DocumentStyle : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::stylesheets::StyleSheetList * getStyleSheets() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_stylesheets_DocumentStyle__ diff --git a/libjava/org/w3c/dom/stylesheets/LinkStyle.h b/libjava/org/w3c/dom/stylesheets/LinkStyle.h new file mode 100644 index 00000000000..f18a57a357d --- /dev/null +++ b/libjava/org/w3c/dom/stylesheets/LinkStyle.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_stylesheets_LinkStyle__ +#define __org_w3c_dom_stylesheets_LinkStyle__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace stylesheets + { + class LinkStyle; + class StyleSheet; + } + } + } + } +} + +class org::w3c::dom::stylesheets::LinkStyle : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::stylesheets::StyleSheet * getSheet() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_stylesheets_LinkStyle__ diff --git a/libjava/org/w3c/dom/stylesheets/MediaList.h b/libjava/org/w3c/dom/stylesheets/MediaList.h new file mode 100644 index 00000000000..92d2130aa5b --- /dev/null +++ b/libjava/org/w3c/dom/stylesheets/MediaList.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_stylesheets_MediaList__ +#define __org_w3c_dom_stylesheets_MediaList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace stylesheets + { + class MediaList; + } + } + } + } +} + +class org::w3c::dom::stylesheets::MediaList : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getMediaText() = 0; + virtual void setMediaText(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * item(jint) = 0; + virtual void deleteMedium(::java::lang::String *) = 0; + virtual void appendMedium(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_stylesheets_MediaList__ diff --git a/libjava/org/w3c/dom/stylesheets/StyleSheet.h b/libjava/org/w3c/dom/stylesheets/StyleSheet.h new file mode 100644 index 00000000000..7a8a9701204 --- /dev/null +++ b/libjava/org/w3c/dom/stylesheets/StyleSheet.h @@ -0,0 +1,44 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_stylesheets_StyleSheet__ +#define __org_w3c_dom_stylesheets_StyleSheet__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace stylesheets + { + class MediaList; + class StyleSheet; + } + } + } + } +} + +class org::w3c::dom::stylesheets::StyleSheet : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getType() = 0; + virtual jboolean getDisabled() = 0; + virtual void setDisabled(jboolean) = 0; + virtual ::org::w3c::dom::Node * getOwnerNode() = 0; + virtual ::org::w3c::dom::stylesheets::StyleSheet * getParentStyleSheet() = 0; + virtual ::java::lang::String * getHref() = 0; + virtual ::java::lang::String * getTitle() = 0; + virtual ::org::w3c::dom::stylesheets::MediaList * getMedia() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_stylesheets_StyleSheet__ diff --git a/libjava/org/w3c/dom/stylesheets/StyleSheetList.h b/libjava/org/w3c/dom/stylesheets/StyleSheetList.h new file mode 100644 index 00000000000..4e6cb06cb37 --- /dev/null +++ b/libjava/org/w3c/dom/stylesheets/StyleSheetList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_stylesheets_StyleSheetList__ +#define __org_w3c_dom_stylesheets_StyleSheetList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace stylesheets + { + class StyleSheet; + class StyleSheetList; + } + } + } + } +} + +class org::w3c::dom::stylesheets::StyleSheetList : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual ::org::w3c::dom::stylesheets::StyleSheet * item(jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_stylesheets_StyleSheetList__ diff --git a/libjava/org/w3c/dom/traversal/DocumentTraversal.h b/libjava/org/w3c/dom/traversal/DocumentTraversal.h new file mode 100644 index 00000000000..d4c53b38c7b --- /dev/null +++ b/libjava/org/w3c/dom/traversal/DocumentTraversal.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_traversal_DocumentTraversal__ +#define __org_w3c_dom_traversal_DocumentTraversal__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace traversal + { + class DocumentTraversal; + class NodeFilter; + class NodeIterator; + class TreeWalker; + } + } + } + } +} + +class org::w3c::dom::traversal::DocumentTraversal : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::traversal::NodeIterator * createNodeIterator(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean) = 0; + virtual ::org::w3c::dom::traversal::TreeWalker * createTreeWalker(::org::w3c::dom::Node *, jint, ::org::w3c::dom::traversal::NodeFilter *, jboolean) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_traversal_DocumentTraversal__ diff --git a/libjava/org/w3c/dom/traversal/NodeFilter.h b/libjava/org/w3c/dom/traversal/NodeFilter.h new file mode 100644 index 00000000000..949c567d9a6 --- /dev/null +++ b/libjava/org/w3c/dom/traversal/NodeFilter.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_traversal_NodeFilter__ +#define __org_w3c_dom_traversal_NodeFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace traversal + { + class NodeFilter; + } + } + } + } +} + +class org::w3c::dom::traversal::NodeFilter : public ::java::lang::Object +{ + +public: + virtual jshort acceptNode(::org::w3c::dom::Node *) = 0; + static const jshort FILTER_ACCEPT = 1; + static const jshort FILTER_REJECT = 2; + static const jshort FILTER_SKIP = 3; + static const jint SHOW_ALL = -1; + static const jint SHOW_ELEMENT = 1; + static const jint SHOW_ATTRIBUTE = 2; + static const jint SHOW_TEXT = 4; + static const jint SHOW_CDATA_SECTION = 8; + static const jint SHOW_ENTITY_REFERENCE = 16; + static const jint SHOW_ENTITY = 32; + static const jint SHOW_PROCESSING_INSTRUCTION = 64; + static const jint SHOW_COMMENT = 128; + static const jint SHOW_DOCUMENT = 256; + static const jint SHOW_DOCUMENT_TYPE = 512; + static const jint SHOW_DOCUMENT_FRAGMENT = 1024; + static const jint SHOW_NOTATION = 2048; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_traversal_NodeFilter__ diff --git a/libjava/org/w3c/dom/traversal/NodeIterator.h b/libjava/org/w3c/dom/traversal/NodeIterator.h new file mode 100644 index 00000000000..b5410dfd518 --- /dev/null +++ b/libjava/org/w3c/dom/traversal/NodeIterator.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_traversal_NodeIterator__ +#define __org_w3c_dom_traversal_NodeIterator__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace traversal + { + class NodeFilter; + class NodeIterator; + } + } + } + } +} + +class org::w3c::dom::traversal::NodeIterator : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * getRoot() = 0; + virtual jint getWhatToShow() = 0; + virtual ::org::w3c::dom::traversal::NodeFilter * getFilter() = 0; + virtual jboolean getExpandEntityReferences() = 0; + virtual ::org::w3c::dom::Node * nextNode() = 0; + virtual ::org::w3c::dom::Node * previousNode() = 0; + virtual void detach() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_traversal_NodeIterator__ diff --git a/libjava/org/w3c/dom/traversal/TreeWalker.h b/libjava/org/w3c/dom/traversal/TreeWalker.h new file mode 100644 index 00000000000..77a7eeba1a1 --- /dev/null +++ b/libjava/org/w3c/dom/traversal/TreeWalker.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_traversal_TreeWalker__ +#define __org_w3c_dom_traversal_TreeWalker__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace traversal + { + class NodeFilter; + class TreeWalker; + } + } + } + } +} + +class org::w3c::dom::traversal::TreeWalker : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Node * getRoot() = 0; + virtual jint getWhatToShow() = 0; + virtual ::org::w3c::dom::traversal::NodeFilter * getFilter() = 0; + virtual jboolean getExpandEntityReferences() = 0; + virtual ::org::w3c::dom::Node * getCurrentNode() = 0; + virtual void setCurrentNode(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * parentNode() = 0; + virtual ::org::w3c::dom::Node * firstChild() = 0; + virtual ::org::w3c::dom::Node * lastChild() = 0; + virtual ::org::w3c::dom::Node * previousSibling() = 0; + virtual ::org::w3c::dom::Node * nextSibling() = 0; + virtual ::org::w3c::dom::Node * previousNode() = 0; + virtual ::org::w3c::dom::Node * nextNode() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_traversal_TreeWalker__ diff --git a/libjava/org/w3c/dom/views/AbstractView.h b/libjava/org/w3c/dom/views/AbstractView.h new file mode 100644 index 00000000000..69cc4b27151 --- /dev/null +++ b/libjava/org/w3c/dom/views/AbstractView.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_views_AbstractView__ +#define __org_w3c_dom_views_AbstractView__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace views + { + class AbstractView; + class DocumentView; + } + } + } + } +} + +class org::w3c::dom::views::AbstractView : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::views::DocumentView * getDocument() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_views_AbstractView__ diff --git a/libjava/org/w3c/dom/views/DocumentView.h b/libjava/org/w3c/dom/views/DocumentView.h new file mode 100644 index 00000000000..c6e25e0ce99 --- /dev/null +++ b/libjava/org/w3c/dom/views/DocumentView.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_views_DocumentView__ +#define __org_w3c_dom_views_DocumentView__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace views + { + class AbstractView; + class DocumentView; + } + } + } + } +} + +class org::w3c::dom::views::DocumentView : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::views::AbstractView * getDefaultView() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_views_DocumentView__ diff --git a/libjava/org/w3c/dom/xpath/XPathEvaluator.h b/libjava/org/w3c/dom/xpath/XPathEvaluator.h new file mode 100644 index 00000000000..c8c52960f85 --- /dev/null +++ b/libjava/org/w3c/dom/xpath/XPathEvaluator.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_xpath_XPathEvaluator__ +#define __org_w3c_dom_xpath_XPathEvaluator__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace xpath + { + class XPathEvaluator; + class XPathExpression; + class XPathNSResolver; + } + } + } + } +} + +class org::w3c::dom::xpath::XPathEvaluator : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::xpath::XPathExpression * createExpression(::java::lang::String *, ::org::w3c::dom::xpath::XPathNSResolver *) = 0; + virtual ::org::w3c::dom::xpath::XPathNSResolver * createNSResolver(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * evaluate(::java::lang::String *, ::org::w3c::dom::Node *, ::org::w3c::dom::xpath::XPathNSResolver *, jshort, ::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_xpath_XPathEvaluator__ diff --git a/libjava/org/w3c/dom/xpath/XPathException.h b/libjava/org/w3c/dom/xpath/XPathException.h new file mode 100644 index 00000000000..2060b858363 --- /dev/null +++ b/libjava/org/w3c/dom/xpath/XPathException.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_xpath_XPathException__ +#define __org_w3c_dom_xpath_XPathException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace xpath + { + class XPathException; + } + } + } + } +} + +class org::w3c::dom::xpath::XPathException : public ::java::lang::RuntimeException +{ + +public: + XPathException(jshort, ::java::lang::String *); + jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code; + static const jshort INVALID_EXPRESSION_ERR = 51; + static const jshort TYPE_ERR = 52; + static ::java::lang::Class class$; +}; + +#endif // __org_w3c_dom_xpath_XPathException__ diff --git a/libjava/org/w3c/dom/xpath/XPathExpression.h b/libjava/org/w3c/dom/xpath/XPathExpression.h new file mode 100644 index 00000000000..22a7c268b78 --- /dev/null +++ b/libjava/org/w3c/dom/xpath/XPathExpression.h @@ -0,0 +1,36 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_xpath_XPathExpression__ +#define __org_w3c_dom_xpath_XPathExpression__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace xpath + { + class XPathExpression; + } + } + } + } +} + +class org::w3c::dom::xpath::XPathExpression : public ::java::lang::Object +{ + +public: + virtual ::java::lang::Object * evaluate(::org::w3c::dom::Node *, jshort, ::java::lang::Object *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_xpath_XPathExpression__ diff --git a/libjava/org/w3c/dom/xpath/XPathNSResolver.h b/libjava/org/w3c/dom/xpath/XPathNSResolver.h new file mode 100644 index 00000000000..ce05a57e5b2 --- /dev/null +++ b/libjava/org/w3c/dom/xpath/XPathNSResolver.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_xpath_XPathNSResolver__ +#define __org_w3c_dom_xpath_XPathNSResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + namespace xpath + { + class XPathNSResolver; + } + } + } + } +} + +class org::w3c::dom::xpath::XPathNSResolver : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_xpath_XPathNSResolver__ diff --git a/libjava/org/w3c/dom/xpath/XPathNamespace.h b/libjava/org/w3c/dom/xpath/XPathNamespace.h new file mode 100644 index 00000000000..816c751ad78 --- /dev/null +++ b/libjava/org/w3c/dom/xpath/XPathNamespace.h @@ -0,0 +1,79 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_xpath_XPathNamespace__ +#define __org_w3c_dom_xpath_XPathNamespace__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Document; + class Element; + class NamedNodeMap; + class Node; + class NodeList; + class UserDataHandler; + namespace xpath + { + class XPathNamespace; + } + } + } + } +} + +class org::w3c::dom::xpath::XPathNamespace : public ::java::lang::Object +{ + +public: + virtual ::org::w3c::dom::Element * getOwnerElement() = 0; + virtual ::java::lang::String * getNodeName() = 0; + virtual ::java::lang::String * getNodeValue() = 0; + virtual void setNodeValue(::java::lang::String *) = 0; + virtual jshort getNodeType() = 0; + virtual ::org::w3c::dom::Node * getParentNode() = 0; + virtual ::org::w3c::dom::NodeList * getChildNodes() = 0; + virtual ::org::w3c::dom::Node * getFirstChild() = 0; + virtual ::org::w3c::dom::Node * getLastChild() = 0; + virtual ::org::w3c::dom::Node * getPreviousSibling() = 0; + virtual ::org::w3c::dom::Node * getNextSibling() = 0; + virtual ::org::w3c::dom::NamedNodeMap * getAttributes() = 0; + virtual ::org::w3c::dom::Document * getOwnerDocument() = 0; + virtual ::org::w3c::dom::Node * insertBefore(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * replaceChild(::org::w3c::dom::Node *, ::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * removeChild(::org::w3c::dom::Node *) = 0; + virtual ::org::w3c::dom::Node * appendChild(::org::w3c::dom::Node *) = 0; + virtual jboolean hasChildNodes() = 0; + virtual ::org::w3c::dom::Node * cloneNode(jboolean) = 0; + virtual void normalize() = 0; + virtual jboolean isSupported(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getNamespaceURI() = 0; + virtual ::java::lang::String * getPrefix() = 0; + virtual void setPrefix(::java::lang::String *) = 0; + virtual ::java::lang::String * getLocalName() = 0; + virtual jboolean hasAttributes() = 0; + virtual ::java::lang::String * getBaseURI() = 0; + virtual jshort compareDocumentPosition(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * getTextContent() = 0; + virtual void setTextContent(::java::lang::String *) = 0; + virtual jboolean isSameNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::String * lookupPrefix(::java::lang::String *) = 0; + virtual jboolean isDefaultNamespace(::java::lang::String *) = 0; + virtual ::java::lang::String * lookupNamespaceURI(::java::lang::String *) = 0; + virtual jboolean isEqualNode(::org::w3c::dom::Node *) = 0; + virtual ::java::lang::Object * getFeature(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::Object * setUserData(::java::lang::String *, ::java::lang::Object *, ::org::w3c::dom::UserDataHandler *) = 0; + virtual ::java::lang::Object * getUserData(::java::lang::String *) = 0; + static const jshort XPATH_NAMESPACE_NODE = 13; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_xpath_XPathNamespace__ diff --git a/libjava/org/w3c/dom/xpath/XPathResult.h b/libjava/org/w3c/dom/xpath/XPathResult.h new file mode 100644 index 00000000000..7922d250fff --- /dev/null +++ b/libjava/org/w3c/dom/xpath/XPathResult.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_w3c_dom_xpath_XPathResult__ +#define __org_w3c_dom_xpath_XPathResult__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace w3c + { + namespace dom + { + class Node; + namespace xpath + { + class XPathResult; + } + } + } + } +} + +class org::w3c::dom::xpath::XPathResult : public ::java::lang::Object +{ + +public: + virtual jshort getResultType() = 0; + virtual jdouble getNumberValue() = 0; + virtual ::java::lang::String * getStringValue() = 0; + virtual jboolean getBooleanValue() = 0; + virtual ::org::w3c::dom::Node * getSingleNodeValue() = 0; + virtual jboolean getInvalidIteratorState() = 0; + virtual jint getSnapshotLength() = 0; + virtual ::org::w3c::dom::Node * iterateNext() = 0; + virtual ::org::w3c::dom::Node * snapshotItem(jint) = 0; + static const jshort ANY_TYPE = 0; + static const jshort NUMBER_TYPE = 1; + static const jshort STRING_TYPE = 2; + static const jshort BOOLEAN_TYPE = 3; + static const jshort UNORDERED_NODE_ITERATOR_TYPE = 4; + static const jshort ORDERED_NODE_ITERATOR_TYPE = 5; + static const jshort UNORDERED_NODE_SNAPSHOT_TYPE = 6; + static const jshort ORDERED_NODE_SNAPSHOT_TYPE = 7; + static const jshort ANY_UNORDERED_NODE_TYPE = 8; + static const jshort FIRST_ORDERED_NODE_TYPE = 9; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_w3c_dom_xpath_XPathResult__ diff --git a/libjava/org/xml/sax/AttributeList.h b/libjava/org/xml/sax/AttributeList.h new file mode 100644 index 00000000000..e07e396c7a2 --- /dev/null +++ b/libjava/org/xml/sax/AttributeList.h @@ -0,0 +1,37 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_AttributeList__ +#define __org_xml_sax_AttributeList__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class AttributeList; + } + } + } +} + +class org::xml::sax::AttributeList : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual ::java::lang::String * getName(jint) = 0; + virtual ::java::lang::String * getType(jint) = 0; + virtual ::java::lang::String * getValue(jint) = 0; + virtual ::java::lang::String * getType(::java::lang::String *) = 0; + virtual ::java::lang::String * getValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_AttributeList__ diff --git a/libjava/org/xml/sax/Attributes.h b/libjava/org/xml/sax/Attributes.h new file mode 100644 index 00000000000..21bde82ad36 --- /dev/null +++ b/libjava/org/xml/sax/Attributes.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_Attributes__ +#define __org_xml_sax_Attributes__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + } + } + } +} + +class org::xml::sax::Attributes : public ::java::lang::Object +{ + +public: + virtual jint getLength() = 0; + virtual ::java::lang::String * getURI(jint) = 0; + virtual ::java::lang::String * getLocalName(jint) = 0; + virtual ::java::lang::String * getQName(jint) = 0; + virtual ::java::lang::String * getType(jint) = 0; + virtual ::java::lang::String * getValue(jint) = 0; + virtual jint getIndex(::java::lang::String *, ::java::lang::String *) = 0; + virtual jint getIndex(::java::lang::String *) = 0; + virtual ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getType(::java::lang::String *) = 0; + virtual ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_Attributes__ diff --git a/libjava/org/xml/sax/ContentHandler.h b/libjava/org/xml/sax/ContentHandler.h new file mode 100644 index 00000000000..ddbae8eba4c --- /dev/null +++ b/libjava/org/xml/sax/ContentHandler.h @@ -0,0 +1,46 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ContentHandler__ +#define __org_xml_sax_ContentHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class ContentHandler; + class Locator; + } + } + } +} + +class org::xml::sax::ContentHandler : public ::java::lang::Object +{ + +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *) = 0; + virtual void startDocument() = 0; + virtual void endDocument() = 0; + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *) = 0; + virtual void endPrefixMapping(::java::lang::String *) = 0; + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *) = 0; + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void characters(JArray< jchar > *, jint, jint) = 0; + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint) = 0; + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + virtual void skippedEntity(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ContentHandler__ diff --git a/libjava/org/xml/sax/DTDHandler.h b/libjava/org/xml/sax/DTDHandler.h new file mode 100644 index 00000000000..3ff791ae0ce --- /dev/null +++ b/libjava/org/xml/sax/DTDHandler.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_DTDHandler__ +#define __org_xml_sax_DTDHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class DTDHandler; + } + } + } +} + +class org::xml::sax::DTDHandler : public ::java::lang::Object +{ + +public: + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_DTDHandler__ diff --git a/libjava/org/xml/sax/DocumentHandler.h b/libjava/org/xml/sax/DocumentHandler.h new file mode 100644 index 00000000000..d9736bfe66c --- /dev/null +++ b/libjava/org/xml/sax/DocumentHandler.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_DocumentHandler__ +#define __org_xml_sax_DocumentHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class AttributeList; + class DocumentHandler; + class Locator; + } + } + } +} + +class org::xml::sax::DocumentHandler : public ::java::lang::Object +{ + +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *) = 0; + virtual void startDocument() = 0; + virtual void endDocument() = 0; + virtual void startElement(::java::lang::String *, ::org::xml::sax::AttributeList *) = 0; + virtual void endElement(::java::lang::String *) = 0; + virtual void characters(JArray< jchar > *, jint, jint) = 0; + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint) = 0; + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_DocumentHandler__ diff --git a/libjava/org/xml/sax/EntityResolver.h b/libjava/org/xml/sax/EntityResolver.h new file mode 100644 index 00000000000..cb9e26e4019 --- /dev/null +++ b/libjava/org/xml/sax/EntityResolver.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_EntityResolver__ +#define __org_xml_sax_EntityResolver__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class EntityResolver; + class InputSource; + } + } + } +} + +class org::xml::sax::EntityResolver : public ::java::lang::Object +{ + +public: + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_EntityResolver__ diff --git a/libjava/org/xml/sax/ErrorHandler.h b/libjava/org/xml/sax/ErrorHandler.h new file mode 100644 index 00000000000..d425d980b26 --- /dev/null +++ b/libjava/org/xml/sax/ErrorHandler.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ErrorHandler__ +#define __org_xml_sax_ErrorHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class ErrorHandler; + class SAXParseException; + } + } + } +} + +class org::xml::sax::ErrorHandler : public ::java::lang::Object +{ + +public: + virtual void warning(::org::xml::sax::SAXParseException *) = 0; + virtual void error(::org::xml::sax::SAXParseException *) = 0; + virtual void fatalError(::org::xml::sax::SAXParseException *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ErrorHandler__ diff --git a/libjava/org/xml/sax/HandlerBase.h b/libjava/org/xml/sax/HandlerBase.h new file mode 100644 index 00000000000..96d923ace78 --- /dev/null +++ b/libjava/org/xml/sax/HandlerBase.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_HandlerBase__ +#define __org_xml_sax_HandlerBase__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class AttributeList; + class HandlerBase; + class InputSource; + class Locator; + class SAXParseException; + } + } + } +} + +class org::xml::sax::HandlerBase : public ::java::lang::Object +{ + +public: + HandlerBase(); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void startElement(::java::lang::String *, ::org::xml::sax::AttributeList *); + virtual void endElement(::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_HandlerBase__ diff --git a/libjava/org/xml/sax/InputSource.h b/libjava/org/xml/sax/InputSource.h new file mode 100644 index 00000000000..eaee940089f --- /dev/null +++ b/libjava/org/xml/sax/InputSource.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_InputSource__ +#define __org_xml_sax_InputSource__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + } + } + } +} + +class org::xml::sax::InputSource : public ::java::lang::Object +{ + +public: + InputSource(); + InputSource(::java::lang::String *); + InputSource(::java::io::InputStream *); + InputSource(::java::io::Reader *); + virtual void setPublicId(::java::lang::String *); + virtual ::java::lang::String * getPublicId(); + virtual void setSystemId(::java::lang::String *); + virtual ::java::lang::String * getSystemId(); + virtual void setByteStream(::java::io::InputStream *); + virtual ::java::io::InputStream * getByteStream(); + virtual void setEncoding(::java::lang::String *); + virtual ::java::lang::String * getEncoding(); + virtual void setCharacterStream(::java::io::Reader *); + virtual ::java::io::Reader * getCharacterStream(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId; + ::java::lang::String * systemId; + ::java::io::InputStream * byteStream; + ::java::lang::String * encoding; + ::java::io::Reader * characterStream; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_InputSource__ diff --git a/libjava/org/xml/sax/Locator.h b/libjava/org/xml/sax/Locator.h new file mode 100644 index 00000000000..1005ec67d48 --- /dev/null +++ b/libjava/org/xml/sax/Locator.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_Locator__ +#define __org_xml_sax_Locator__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Locator; + } + } + } +} + +class org::xml::sax::Locator : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual jint getLineNumber() = 0; + virtual jint getColumnNumber() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_Locator__ diff --git a/libjava/org/xml/sax/Parser.h b/libjava/org/xml/sax/Parser.h new file mode 100644 index 00000000000..143266a8623 --- /dev/null +++ b/libjava/org/xml/sax/Parser.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_Parser__ +#define __org_xml_sax_Parser__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class DTDHandler; + class DocumentHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class Parser; + } + } + } +} + +class org::xml::sax::Parser : public ::java::lang::Object +{ + +public: + virtual void setLocale(::java::util::Locale *) = 0; + virtual void setEntityResolver(::org::xml::sax::EntityResolver *) = 0; + virtual void setDTDHandler(::org::xml::sax::DTDHandler *) = 0; + virtual void setDocumentHandler(::org::xml::sax::DocumentHandler *) = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual void parse(::org::xml::sax::InputSource *) = 0; + virtual void parse(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_Parser__ diff --git a/libjava/org/xml/sax/SAXException.h b/libjava/org/xml/sax/SAXException.h new file mode 100644 index 00000000000..df6f41739a1 --- /dev/null +++ b/libjava/org/xml/sax/SAXException.h @@ -0,0 +1,41 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_SAXException__ +#define __org_xml_sax_SAXException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class SAXException; + } + } + } +} + +class org::xml::sax::SAXException : public ::java::lang::Exception +{ + +public: + SAXException(); + SAXException(::java::lang::String *); + SAXException(::java::lang::Exception *); + SAXException(::java::lang::String *, ::java::lang::Exception *); + virtual ::java::lang::String * getMessage(); + virtual ::java::lang::Exception * getException(); + virtual ::java::lang::String * toString(); +private: + ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) exception; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_SAXException__ diff --git a/libjava/org/xml/sax/SAXNotRecognizedException.h b/libjava/org/xml/sax/SAXNotRecognizedException.h new file mode 100644 index 00000000000..ac5fee41fdd --- /dev/null +++ b/libjava/org/xml/sax/SAXNotRecognizedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_SAXNotRecognizedException__ +#define __org_xml_sax_SAXNotRecognizedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class SAXNotRecognizedException; + } + } + } +} + +class org::xml::sax::SAXNotRecognizedException : public ::org::xml::sax::SAXException +{ + +public: + SAXNotRecognizedException(); + SAXNotRecognizedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_SAXNotRecognizedException__ diff --git a/libjava/org/xml/sax/SAXNotSupportedException.h b/libjava/org/xml/sax/SAXNotSupportedException.h new file mode 100644 index 00000000000..5d22ce0a8ef --- /dev/null +++ b/libjava/org/xml/sax/SAXNotSupportedException.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_SAXNotSupportedException__ +#define __org_xml_sax_SAXNotSupportedException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class SAXNotSupportedException; + } + } + } +} + +class org::xml::sax::SAXNotSupportedException : public ::org::xml::sax::SAXException +{ + +public: + SAXNotSupportedException(); + SAXNotSupportedException(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_SAXNotSupportedException__ diff --git a/libjava/org/xml/sax/SAXParseException.h b/libjava/org/xml/sax/SAXParseException.h new file mode 100644 index 00000000000..14f924655ac --- /dev/null +++ b/libjava/org/xml/sax/SAXParseException.h @@ -0,0 +1,49 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_SAXParseException__ +#define __org_xml_sax_SAXParseException__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Locator; + class SAXParseException; + } + } + } +} + +class org::xml::sax::SAXParseException : public ::org::xml::sax::SAXException +{ + +public: + SAXParseException(::java::lang::String *, ::org::xml::sax::Locator *); + SAXParseException(::java::lang::String *, ::org::xml::sax::Locator *, ::java::lang::Exception *); + SAXParseException(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jint, jint); + SAXParseException(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jint, jint, ::java::lang::Exception *); +private: + void init(::java::lang::String *, ::java::lang::String *, jint, jint); +public: + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual jint getLineNumber(); + virtual jint getColumnNumber(); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::org::xml::sax::SAXException)))) publicId; + ::java::lang::String * systemId; + jint lineNumber; + jint columnNumber; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_SAXParseException__ diff --git a/libjava/org/xml/sax/XMLFilter.h b/libjava/org/xml/sax/XMLFilter.h new file mode 100644 index 00000000000..05b30eb5941 --- /dev/null +++ b/libjava/org/xml/sax/XMLFilter.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_XMLFilter__ +#define __org_xml_sax_XMLFilter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class XMLFilter; + class XMLReader; + } + } + } +} + +class org::xml::sax::XMLFilter : public ::java::lang::Object +{ + +public: + virtual void setParent(::org::xml::sax::XMLReader *) = 0; + virtual ::org::xml::sax::XMLReader * getParent() = 0; + virtual jboolean getFeature(::java::lang::String *) = 0; + virtual void setFeature(::java::lang::String *, jboolean) = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual void setProperty(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void setEntityResolver(::org::xml::sax::EntityResolver *) = 0; + virtual ::org::xml::sax::EntityResolver * getEntityResolver() = 0; + virtual void setDTDHandler(::org::xml::sax::DTDHandler *) = 0; + virtual ::org::xml::sax::DTDHandler * getDTDHandler() = 0; + virtual void setContentHandler(::org::xml::sax::ContentHandler *) = 0; + virtual ::org::xml::sax::ContentHandler * getContentHandler() = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual ::org::xml::sax::ErrorHandler * getErrorHandler() = 0; + virtual void parse(::org::xml::sax::InputSource *) = 0; + virtual void parse(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_XMLFilter__ diff --git a/libjava/org/xml/sax/XMLReader.h b/libjava/org/xml/sax/XMLReader.h new file mode 100644 index 00000000000..5ad9fa570e1 --- /dev/null +++ b/libjava/org/xml/sax/XMLReader.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_XMLReader__ +#define __org_xml_sax_XMLReader__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class XMLReader; + } + } + } +} + +class org::xml::sax::XMLReader : public ::java::lang::Object +{ + +public: + virtual jboolean getFeature(::java::lang::String *) = 0; + virtual void setFeature(::java::lang::String *, jboolean) = 0; + virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0; + virtual void setProperty(::java::lang::String *, ::java::lang::Object *) = 0; + virtual void setEntityResolver(::org::xml::sax::EntityResolver *) = 0; + virtual ::org::xml::sax::EntityResolver * getEntityResolver() = 0; + virtual void setDTDHandler(::org::xml::sax::DTDHandler *) = 0; + virtual ::org::xml::sax::DTDHandler * getDTDHandler() = 0; + virtual void setContentHandler(::org::xml::sax::ContentHandler *) = 0; + virtual ::org::xml::sax::ContentHandler * getContentHandler() = 0; + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0; + virtual ::org::xml::sax::ErrorHandler * getErrorHandler() = 0; + virtual void parse(::org::xml::sax::InputSource *) = 0; + virtual void parse(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_XMLReader__ diff --git a/libjava/org/xml/sax/ext/Attributes2.h b/libjava/org/xml/sax/ext/Attributes2.h new file mode 100644 index 00000000000..3a61e9d12ef --- /dev/null +++ b/libjava/org/xml/sax/ext/Attributes2.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_Attributes2__ +#define __org_xml_sax_ext_Attributes2__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace ext + { + class Attributes2; + } + } + } + } +} + +class org::xml::sax::ext::Attributes2 : public ::java::lang::Object +{ + +public: + virtual jboolean isDeclared(jint) = 0; + virtual jboolean isDeclared(::java::lang::String *) = 0; + virtual jboolean isDeclared(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean isSpecified(jint) = 0; + virtual jboolean isSpecified(::java::lang::String *, ::java::lang::String *) = 0; + virtual jboolean isSpecified(::java::lang::String *) = 0; + virtual jint getLength() = 0; + virtual ::java::lang::String * getURI(jint) = 0; + virtual ::java::lang::String * getLocalName(jint) = 0; + virtual ::java::lang::String * getQName(jint) = 0; + virtual ::java::lang::String * getType(jint) = 0; + virtual ::java::lang::String * getValue(jint) = 0; + virtual jint getIndex(::java::lang::String *, ::java::lang::String *) = 0; + virtual jint getIndex(::java::lang::String *) = 0; + virtual ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getType(::java::lang::String *) = 0; + virtual ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::java::lang::String * getValue(::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ext_Attributes2__ diff --git a/libjava/org/xml/sax/ext/Attributes2Impl.h b/libjava/org/xml/sax/ext/Attributes2Impl.h new file mode 100644 index 00000000000..404ef367680 --- /dev/null +++ b/libjava/org/xml/sax/ext/Attributes2Impl.h @@ -0,0 +1,54 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_Attributes2Impl__ +#define __org_xml_sax_ext_Attributes2Impl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + namespace ext + { + class Attributes2Impl; + } + } + } + } +} + +class org::xml::sax::ext::Attributes2Impl : public ::org::xml::sax::helpers::AttributesImpl +{ + +public: + Attributes2Impl(); + Attributes2Impl(::org::xml::sax::Attributes *); + virtual jboolean isDeclared(jint); + virtual jboolean isDeclared(::java::lang::String *, ::java::lang::String *); + virtual jboolean isDeclared(::java::lang::String *); + virtual jboolean isSpecified(jint); + virtual jboolean isSpecified(::java::lang::String *, ::java::lang::String *); + virtual jboolean isSpecified(::java::lang::String *); + virtual void setAttributes(::org::xml::sax::Attributes *); + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void removeAttribute(jint); + virtual void setDeclared(jint, jboolean); + virtual void setSpecified(jint, jboolean); +private: + JArray< jboolean > * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::AttributesImpl)))) declared; + JArray< jboolean > * specified; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_ext_Attributes2Impl__ diff --git a/libjava/org/xml/sax/ext/DeclHandler.h b/libjava/org/xml/sax/ext/DeclHandler.h new file mode 100644 index 00000000000..237ef6623d3 --- /dev/null +++ b/libjava/org/xml/sax/ext/DeclHandler.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_DeclHandler__ +#define __org_xml_sax_ext_DeclHandler__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace ext + { + class DeclHandler; + } + } + } + } +} + +class org::xml::sax::ext::DeclHandler : public ::java::lang::Object +{ + +public: + virtual void elementDecl(::java::lang::String *, ::java::lang::String *) = 0; + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *) = 0; + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ext_DeclHandler__ diff --git a/libjava/org/xml/sax/ext/DefaultHandler2.h b/libjava/org/xml/sax/ext/DefaultHandler2.h new file mode 100644 index 00000000000..24ab4625551 --- /dev/null +++ b/libjava/org/xml/sax/ext/DefaultHandler2.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_DefaultHandler2__ +#define __org_xml_sax_ext_DefaultHandler2__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + namespace ext + { + class DefaultHandler2; + } + } + } + } +} + +class org::xml::sax::ext::DefaultHandler2 : public ::org::xml::sax::helpers::DefaultHandler +{ + +public: + DefaultHandler2(); + virtual void startCDATA(); + virtual void endCDATA(); + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void endDTD(); + virtual void startEntity(::java::lang::String *); + virtual void endEntity(::java::lang::String *); + virtual void comment(JArray< jchar > *, jint, jint); + virtual void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void elementDecl(::java::lang::String *, ::java::lang::String *); + virtual void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void internalEntityDecl(::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * getExternalSubset(::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_ext_DefaultHandler2__ diff --git a/libjava/org/xml/sax/ext/EntityResolver2.h b/libjava/org/xml/sax/ext/EntityResolver2.h new file mode 100644 index 00000000000..774a74a2647 --- /dev/null +++ b/libjava/org/xml/sax/ext/EntityResolver2.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_EntityResolver2__ +#define __org_xml_sax_ext_EntityResolver2__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + namespace ext + { + class EntityResolver2; + } + } + } + } +} + +class org::xml::sax::ext::EntityResolver2 : public ::java::lang::Object +{ + +public: + virtual ::org::xml::sax::InputSource * getExternalSubset(::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ext_EntityResolver2__ diff --git a/libjava/org/xml/sax/ext/LexicalHandler.h b/libjava/org/xml/sax/ext/LexicalHandler.h new file mode 100644 index 00000000000..2fcdad8ae84 --- /dev/null +++ b/libjava/org/xml/sax/ext/LexicalHandler.h @@ -0,0 +1,43 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_LexicalHandler__ +#define __org_xml_sax_ext_LexicalHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace ext + { + class LexicalHandler; + } + } + } + } +} + +class org::xml::sax::ext::LexicalHandler : public ::java::lang::Object +{ + +public: + virtual void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *) = 0; + virtual void endDTD() = 0; + virtual void startEntity(::java::lang::String *) = 0; + virtual void endEntity(::java::lang::String *) = 0; + virtual void startCDATA() = 0; + virtual void endCDATA() = 0; + virtual void comment(JArray< jchar > *, jint, jint) = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ext_LexicalHandler__ diff --git a/libjava/org/xml/sax/ext/Locator2.h b/libjava/org/xml/sax/ext/Locator2.h new file mode 100644 index 00000000000..1c61638d6ff --- /dev/null +++ b/libjava/org/xml/sax/ext/Locator2.h @@ -0,0 +1,40 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_Locator2__ +#define __org_xml_sax_ext_Locator2__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace ext + { + class Locator2; + } + } + } + } +} + +class org::xml::sax::ext::Locator2 : public ::java::lang::Object +{ + +public: + virtual ::java::lang::String * getXMLVersion() = 0; + virtual ::java::lang::String * getEncoding() = 0; + virtual ::java::lang::String * getPublicId() = 0; + virtual ::java::lang::String * getSystemId() = 0; + virtual jint getLineNumber() = 0; + virtual jint getColumnNumber() = 0; + static ::java::lang::Class class$; +} __attribute__ ((java_interface)); + +#endif // __org_xml_sax_ext_Locator2__ diff --git a/libjava/org/xml/sax/ext/Locator2Impl.h b/libjava/org/xml/sax/ext/Locator2Impl.h new file mode 100644 index 00000000000..d6fbb0c098b --- /dev/null +++ b/libjava/org/xml/sax/ext/Locator2Impl.h @@ -0,0 +1,45 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_ext_Locator2Impl__ +#define __org_xml_sax_ext_Locator2Impl__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Locator; + namespace ext + { + class Locator2Impl; + } + } + } + } +} + +class org::xml::sax::ext::Locator2Impl : public ::org::xml::sax::helpers::LocatorImpl +{ + +public: + Locator2Impl(); + Locator2Impl(::org::xml::sax::Locator *); + virtual ::java::lang::String * getXMLVersion(); + virtual ::java::lang::String * getEncoding(); + virtual void setXMLVersion(::java::lang::String *); + virtual void setEncoding(::java::lang::String *); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::org::xml::sax::helpers::LocatorImpl)))) encoding; + ::java::lang::String * version; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_ext_Locator2Impl__ diff --git a/libjava/org/xml/sax/helpers/AttributeListImpl.h b/libjava/org/xml/sax/helpers/AttributeListImpl.h new file mode 100644 index 00000000000..366c4554a99 --- /dev/null +++ b/libjava/org/xml/sax/helpers/AttributeListImpl.h @@ -0,0 +1,52 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_AttributeListImpl__ +#define __org_xml_sax_helpers_AttributeListImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class AttributeList; + namespace helpers + { + class AttributeListImpl; + } + } + } + } +} + +class org::xml::sax::helpers::AttributeListImpl : public ::java::lang::Object +{ + +public: + AttributeListImpl(); + AttributeListImpl(::org::xml::sax::AttributeList *); + virtual void setAttributeList(::org::xml::sax::AttributeList *); + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void removeAttribute(::java::lang::String *); + virtual void clear(); + virtual jint getLength(); + virtual ::java::lang::String * getName(jint); + virtual ::java::lang::String * getType(jint); + virtual ::java::lang::String * getValue(jint); + virtual ::java::lang::String * getType(::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *); +public: // actually package-private + ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) names; + ::java::util::Vector * types; + ::java::util::Vector * values; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_AttributeListImpl__ diff --git a/libjava/org/xml/sax/helpers/AttributesImpl.h b/libjava/org/xml/sax/helpers/AttributesImpl.h new file mode 100644 index 00000000000..6f4fcdaf81b --- /dev/null +++ b/libjava/org/xml/sax/helpers/AttributesImpl.h @@ -0,0 +1,68 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_AttributesImpl__ +#define __org_xml_sax_helpers_AttributesImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + namespace helpers + { + class AttributesImpl; + } + } + } + } +} + +class org::xml::sax::helpers::AttributesImpl : public ::java::lang::Object +{ + +public: + AttributesImpl(); + AttributesImpl(::org::xml::sax::Attributes *); + virtual jint getLength(); + virtual ::java::lang::String * getURI(jint); + virtual ::java::lang::String * getLocalName(jint); + virtual ::java::lang::String * getQName(jint); + virtual ::java::lang::String * getType(jint); + virtual ::java::lang::String * getValue(jint); + virtual jint getIndex(::java::lang::String *, ::java::lang::String *); + virtual jint getIndex(::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getType(::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *); + virtual ::java::lang::String * getValue(::java::lang::String *); + virtual void clear(); + virtual void setAttributes(::org::xml::sax::Attributes *); + virtual void addAttribute(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void setAttribute(jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void removeAttribute(jint); + virtual void setURI(jint, ::java::lang::String *); + virtual void setLocalName(jint, ::java::lang::String *); + virtual void setQName(jint, ::java::lang::String *); + virtual void setType(jint, ::java::lang::String *); + virtual void setValue(jint, ::java::lang::String *); +private: + void ensureCapacity(jint); + void badIndex(jint); +public: // actually package-private + jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) length; + JArray< ::java::lang::String * > * data; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_AttributesImpl__ diff --git a/libjava/org/xml/sax/helpers/DefaultHandler.h b/libjava/org/xml/sax/helpers/DefaultHandler.h new file mode 100644 index 00000000000..4d73466e7c1 --- /dev/null +++ b/libjava/org/xml/sax/helpers/DefaultHandler.h @@ -0,0 +1,58 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_DefaultHandler__ +#define __org_xml_sax_helpers_DefaultHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class InputSource; + class Locator; + class SAXParseException; + namespace helpers + { + class DefaultHandler; + } + } + } + } +} + +class org::xml::sax::helpers::DefaultHandler : public ::java::lang::Object +{ + +public: + DefaultHandler(); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void skippedEntity(::java::lang::String *); + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_DefaultHandler__ diff --git a/libjava/org/xml/sax/helpers/LocatorImpl.h b/libjava/org/xml/sax/helpers/LocatorImpl.h new file mode 100644 index 00000000000..41a67eff9f2 --- /dev/null +++ b/libjava/org/xml/sax/helpers/LocatorImpl.h @@ -0,0 +1,51 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_LocatorImpl__ +#define __org_xml_sax_helpers_LocatorImpl__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Locator; + namespace helpers + { + class LocatorImpl; + } + } + } + } +} + +class org::xml::sax::helpers::LocatorImpl : public ::java::lang::Object +{ + +public: + LocatorImpl(); + LocatorImpl(::org::xml::sax::Locator *); + virtual ::java::lang::String * getPublicId(); + virtual ::java::lang::String * getSystemId(); + virtual jint getLineNumber(); + virtual jint getColumnNumber(); + virtual void setPublicId(::java::lang::String *); + virtual void setSystemId(::java::lang::String *); + virtual void setLineNumber(jint); + virtual void setColumnNumber(jint); +private: + ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId; + ::java::lang::String * systemId; + jint lineNumber; + jint columnNumber; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_LocatorImpl__ diff --git a/libjava/org/xml/sax/helpers/NamespaceSupport$Context.h b/libjava/org/xml/sax/helpers/NamespaceSupport$Context.h new file mode 100644 index 00000000000..5d8d35fdcd3 --- /dev/null +++ b/libjava/org/xml/sax/helpers/NamespaceSupport$Context.h @@ -0,0 +1,62 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_NamespaceSupport$Context__ +#define __org_xml_sax_helpers_NamespaceSupport$Context__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace helpers + { + class NamespaceSupport; + class NamespaceSupport$Context; + } + } + } + } +} + +class org::xml::sax::helpers::NamespaceSupport$Context : public ::java::lang::Object +{ + +public: // actually package-private + NamespaceSupport$Context(::org::xml::sax::helpers::NamespaceSupport *); + void setParent(::org::xml::sax::helpers::NamespaceSupport$Context *); + void clear(); + void declarePrefix(::java::lang::String *, ::java::lang::String *); + JArray< ::java::lang::String * > * processName(::java::lang::String *, jboolean); + ::java::lang::String * getURI(::java::lang::String *); + ::java::lang::String * getPrefix(::java::lang::String *); + ::java::util::Enumeration * getDeclaredPrefixes(); + ::java::util::Enumeration * getPrefixes(); +private: + void copyTables(); +public: // actually package-private + ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prefixTable; + ::java::util::Hashtable * uriTable; + ::java::util::Hashtable * elementNameTable; + ::java::util::Hashtable * attributeNameTable; + ::java::lang::String * defaultNS; + jboolean declsOK; +private: + ::java::util::Vector * declarations; + jboolean declSeen; + ::org::xml::sax::helpers::NamespaceSupport$Context * parent; +public: // actually package-private + ::org::xml::sax::helpers::NamespaceSupport * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_NamespaceSupport$Context__ diff --git a/libjava/org/xml/sax/helpers/NamespaceSupport.h b/libjava/org/xml/sax/helpers/NamespaceSupport.h new file mode 100644 index 00000000000..afb3f6dd612 --- /dev/null +++ b/libjava/org/xml/sax/helpers/NamespaceSupport.h @@ -0,0 +1,63 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_NamespaceSupport__ +#define __org_xml_sax_helpers_NamespaceSupport__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace helpers + { + class NamespaceSupport; + class NamespaceSupport$Context; + } + } + } + } +} + +class org::xml::sax::helpers::NamespaceSupport : public ::java::lang::Object +{ + +public: + NamespaceSupport(); + virtual void reset(); + virtual void pushContext(); + virtual void popContext(); + virtual jboolean declarePrefix(::java::lang::String *, ::java::lang::String *); + virtual JArray< ::java::lang::String * > * processName(::java::lang::String *, JArray< ::java::lang::String * > *, jboolean); + virtual ::java::lang::String * getURI(::java::lang::String *); + virtual ::java::util::Enumeration * getPrefixes(); + virtual ::java::lang::String * getPrefix(::java::lang::String *); + virtual ::java::util::Enumeration * getPrefixes(::java::lang::String *); + virtual ::java::util::Enumeration * getDeclaredPrefixes(); + virtual void setNamespaceDeclUris(jboolean); + virtual jboolean isNamespaceDeclUris(); +public: // actually package-private + static jboolean access$0(::org::xml::sax::helpers::NamespaceSupport *); + static ::java::util::Enumeration * access$1(); +public: + static ::java::lang::String * XMLNS; + static ::java::lang::String * NSDECL; +private: + static ::java::util::Enumeration * EMPTY_ENUMERATION; + JArray< ::org::xml::sax::helpers::NamespaceSupport$Context * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) contexts; + ::org::xml::sax::helpers::NamespaceSupport$Context * currentContext; + jint contextPos; + jboolean namespaceDeclUris; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_NamespaceSupport__ diff --git a/libjava/org/xml/sax/helpers/NewInstance.h b/libjava/org/xml/sax/helpers/NewInstance.h new file mode 100644 index 00000000000..ef1323e194e --- /dev/null +++ b/libjava/org/xml/sax/helpers/NewInstance.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_NewInstance__ +#define __org_xml_sax_helpers_NewInstance__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + namespace helpers + { + class NewInstance; + } + } + } + } +} + +class org::xml::sax::helpers::NewInstance : public ::java::lang::Object +{ + +public: // actually package-private + NewInstance(); + static ::java::lang::Object * newInstance(::java::lang::ClassLoader *, ::java::lang::String *); + static ::java::lang::ClassLoader * getClassLoader(); +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_NewInstance__ diff --git a/libjava/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.h b/libjava/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.h new file mode 100644 index 00000000000..944e30db56f --- /dev/null +++ b/libjava/org/xml/sax/helpers/ParserAdapter$AttributeListAdapter.h @@ -0,0 +1,56 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_ParserAdapter$AttributeListAdapter__ +#define __org_xml_sax_helpers_ParserAdapter$AttributeListAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class AttributeList; + namespace helpers + { + class ParserAdapter; + class ParserAdapter$AttributeListAdapter; + } + } + } + } +} + +class org::xml::sax::helpers::ParserAdapter$AttributeListAdapter : public ::java::lang::Object +{ + +public: // actually package-private + ParserAdapter$AttributeListAdapter(::org::xml::sax::helpers::ParserAdapter *); + void setAttributeList(::org::xml::sax::AttributeList *); +public: + jint getLength(); + ::java::lang::String * getURI(jint); + ::java::lang::String * getLocalName(jint); + ::java::lang::String * getQName(jint); + ::java::lang::String * getType(jint); + ::java::lang::String * getValue(jint); + jint getIndex(::java::lang::String *, ::java::lang::String *); + jint getIndex(::java::lang::String *); + ::java::lang::String * getType(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getType(::java::lang::String *); + ::java::lang::String * getValue(::java::lang::String *, ::java::lang::String *); + ::java::lang::String * getValue(::java::lang::String *); +private: + ::org::xml::sax::AttributeList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) qAtts; +public: // actually package-private + ::org::xml::sax::helpers::ParserAdapter * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_ParserAdapter$AttributeListAdapter__ diff --git a/libjava/org/xml/sax/helpers/ParserAdapter.h b/libjava/org/xml/sax/helpers/ParserAdapter.h new file mode 100644 index 00000000000..c33317b6028 --- /dev/null +++ b/libjava/org/xml/sax/helpers/ParserAdapter.h @@ -0,0 +1,106 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_ParserAdapter__ +#define __org_xml_sax_helpers_ParserAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class AttributeList; + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class Locator; + class Parser; + class SAXParseException; + namespace helpers + { + class AttributesImpl; + class NamespaceSupport; + class ParserAdapter; + class ParserAdapter$AttributeListAdapter; + } + } + } + } +} + +class org::xml::sax::helpers::ParserAdapter : public ::java::lang::Object +{ + +public: + ParserAdapter(); + ParserAdapter(::org::xml::sax::Parser *); +private: + void setup(::org::xml::sax::Parser *); +public: + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual ::org::xml::sax::EntityResolver * getEntityResolver(); + virtual void setDTDHandler(::org::xml::sax::DTDHandler *); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual void setContentHandler(::org::xml::sax::ContentHandler *); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void parse(::java::lang::String *); + virtual void parse(::org::xml::sax::InputSource *); + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void startElement(::java::lang::String *, ::org::xml::sax::AttributeList *); + virtual void endElement(::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); +private: + void setupParser(); + JArray< ::java::lang::String * > * processName(::java::lang::String *, jboolean, jboolean); +public: // actually package-private + virtual void reportError(::java::lang::String *); +private: + ::org::xml::sax::SAXParseException * makeException(::java::lang::String *); + void checkNotParsing(::java::lang::String *, ::java::lang::String *); +public: // actually package-private + static ::org::xml::sax::helpers::AttributesImpl * access$0(::org::xml::sax::helpers::ParserAdapter *); +private: + static ::java::lang::String * FEATURES; + static ::java::lang::String * NAMESPACES; + static ::java::lang::String * NAMESPACE_PREFIXES; + static ::java::lang::String * XMLNS_URIs; + ::org::xml::sax::helpers::NamespaceSupport * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nsSupport; + ::org::xml::sax::helpers::ParserAdapter$AttributeListAdapter * attAdapter; + jboolean parsing; + JArray< ::java::lang::String * > * nameParts; + ::org::xml::sax::Parser * parser; + ::org::xml::sax::helpers::AttributesImpl * atts; + jboolean namespaces; + jboolean prefixes; + jboolean uris; +public: // actually package-private + ::org::xml::sax::Locator * locator; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::ContentHandler * contentHandler; + ::org::xml::sax::ErrorHandler * errorHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_ParserAdapter__ diff --git a/libjava/org/xml/sax/helpers/ParserFactory.h b/libjava/org/xml/sax/helpers/ParserFactory.h new file mode 100644 index 00000000000..88d9325209f --- /dev/null +++ b/libjava/org/xml/sax/helpers/ParserFactory.h @@ -0,0 +1,38 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_ParserFactory__ +#define __org_xml_sax_helpers_ParserFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Parser; + namespace helpers + { + class ParserFactory; + } + } + } + } +} + +class org::xml::sax::helpers::ParserFactory : public ::java::lang::Object +{ + + ParserFactory(); +public: + static ::org::xml::sax::Parser * makeParser(); + static ::org::xml::sax::Parser * makeParser(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_ParserFactory__ diff --git a/libjava/org/xml/sax/helpers/XMLFilterImpl.h b/libjava/org/xml/sax/helpers/XMLFilterImpl.h new file mode 100644 index 00000000000..13e4960487d --- /dev/null +++ b/libjava/org/xml/sax/helpers/XMLFilterImpl.h @@ -0,0 +1,89 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_XMLFilterImpl__ +#define __org_xml_sax_helpers_XMLFilterImpl__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class ContentHandler; + class DTDHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class Locator; + class SAXParseException; + class XMLReader; + namespace helpers + { + class XMLFilterImpl; + } + } + } + } +} + +class org::xml::sax::helpers::XMLFilterImpl : public ::java::lang::Object +{ + +public: + XMLFilterImpl(); + XMLFilterImpl(::org::xml::sax::XMLReader *); + virtual void setParent(::org::xml::sax::XMLReader *); + virtual ::org::xml::sax::XMLReader * getParent(); + virtual void setFeature(::java::lang::String *, jboolean); + virtual jboolean getFeature(::java::lang::String *); + virtual void setProperty(::java::lang::String *, ::java::lang::Object *); + virtual ::java::lang::Object * getProperty(::java::lang::String *); + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual ::org::xml::sax::EntityResolver * getEntityResolver(); + virtual void setDTDHandler(::org::xml::sax::DTDHandler *); + virtual ::org::xml::sax::DTDHandler * getDTDHandler(); + virtual void setContentHandler(::org::xml::sax::ContentHandler *); + virtual ::org::xml::sax::ContentHandler * getContentHandler(); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual ::org::xml::sax::ErrorHandler * getErrorHandler(); + virtual void parse(::org::xml::sax::InputSource *); + virtual void parse(::java::lang::String *); + virtual ::org::xml::sax::InputSource * resolveEntity(::java::lang::String *, ::java::lang::String *); + virtual void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void skippedEntity(::java::lang::String *); + virtual void warning(::org::xml::sax::SAXParseException *); + virtual void error(::org::xml::sax::SAXParseException *); + virtual void fatalError(::org::xml::sax::SAXParseException *); +private: + void setupParse(); + ::org::xml::sax::XMLReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent; + ::org::xml::sax::Locator * locator; + ::org::xml::sax::EntityResolver * entityResolver; + ::org::xml::sax::DTDHandler * dtdHandler; + ::org::xml::sax::ContentHandler * contentHandler; + ::org::xml::sax::ErrorHandler * errorHandler; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_XMLFilterImpl__ diff --git a/libjava/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.h b/libjava/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.h new file mode 100644 index 00000000000..888b28a188d --- /dev/null +++ b/libjava/org/xml/sax/helpers/XMLReaderAdapter$AttributesAdapter.h @@ -0,0 +1,50 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_XMLReaderAdapter$AttributesAdapter__ +#define __org_xml_sax_helpers_XMLReaderAdapter$AttributesAdapter__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + namespace helpers + { + class XMLReaderAdapter; + class XMLReaderAdapter$AttributesAdapter; + } + } + } + } +} + +class org::xml::sax::helpers::XMLReaderAdapter$AttributesAdapter : public ::java::lang::Object +{ + +public: // actually package-private + XMLReaderAdapter$AttributesAdapter(::org::xml::sax::helpers::XMLReaderAdapter *); + void setAttributes(::org::xml::sax::Attributes *); +public: + jint getLength(); + ::java::lang::String * getName(jint); + ::java::lang::String * getType(jint); + ::java::lang::String * getValue(jint); + ::java::lang::String * getType(::java::lang::String *); + ::java::lang::String * getValue(::java::lang::String *); +private: + ::org::xml::sax::Attributes * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attributes; +public: // actually package-private + ::org::xml::sax::helpers::XMLReaderAdapter * this$0; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_XMLReaderAdapter$AttributesAdapter__ diff --git a/libjava/org/xml/sax/helpers/XMLReaderAdapter.h b/libjava/org/xml/sax/helpers/XMLReaderAdapter.h new file mode 100644 index 00000000000..9d76f2e7361 --- /dev/null +++ b/libjava/org/xml/sax/helpers/XMLReaderAdapter.h @@ -0,0 +1,76 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_XMLReaderAdapter__ +#define __org_xml_sax_helpers_XMLReaderAdapter__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class Attributes; + class DTDHandler; + class DocumentHandler; + class EntityResolver; + class ErrorHandler; + class InputSource; + class Locator; + class XMLReader; + namespace helpers + { + class XMLReaderAdapter; + class XMLReaderAdapter$AttributesAdapter; + } + } + } + } +} + +class org::xml::sax::helpers::XMLReaderAdapter : public ::java::lang::Object +{ + +public: + XMLReaderAdapter(); + XMLReaderAdapter(::org::xml::sax::XMLReader *); +private: + void setup(::org::xml::sax::XMLReader *); +public: + virtual void setLocale(::java::util::Locale *); + virtual void setEntityResolver(::org::xml::sax::EntityResolver *); + virtual void setDTDHandler(::org::xml::sax::DTDHandler *); + virtual void setDocumentHandler(::org::xml::sax::DocumentHandler *); + virtual void setErrorHandler(::org::xml::sax::ErrorHandler *); + virtual void parse(::java::lang::String *); + virtual void parse(::org::xml::sax::InputSource *); +private: + void setupXMLReader(); +public: + virtual void setDocumentLocator(::org::xml::sax::Locator *); + virtual void startDocument(); + virtual void endDocument(); + virtual void startPrefixMapping(::java::lang::String *, ::java::lang::String *); + virtual void endPrefixMapping(::java::lang::String *); + virtual void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *); + virtual void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); + virtual void characters(JArray< jchar > *, jint, jint); + virtual void ignorableWhitespace(JArray< jchar > *, jint, jint); + virtual void processingInstruction(::java::lang::String *, ::java::lang::String *); + virtual void skippedEntity(::java::lang::String *); +public: // actually package-private + ::org::xml::sax::XMLReader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) xmlReader; + ::org::xml::sax::DocumentHandler * documentHandler; + ::org::xml::sax::helpers::XMLReaderAdapter$AttributesAdapter * qAtts; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_XMLReaderAdapter__ diff --git a/libjava/org/xml/sax/helpers/XMLReaderFactory.h b/libjava/org/xml/sax/helpers/XMLReaderFactory.h new file mode 100644 index 00000000000..9be9aaf79b8 --- /dev/null +++ b/libjava/org/xml/sax/helpers/XMLReaderFactory.h @@ -0,0 +1,42 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __org_xml_sax_helpers_XMLReaderFactory__ +#define __org_xml_sax_helpers_XMLReaderFactory__ + +#pragma interface + +#include +extern "Java" +{ + namespace org + { + namespace xml + { + namespace sax + { + class XMLReader; + namespace helpers + { + class XMLReaderFactory; + } + } + } + } +} + +class org::xml::sax::helpers::XMLReaderFactory : public ::java::lang::Object +{ + + XMLReaderFactory(); +public: + static ::org::xml::sax::XMLReader * createXMLReader(); + static ::org::xml::sax::XMLReader * createXMLReader(::java::lang::String *); +private: + static ::org::xml::sax::XMLReader * loadClass(::java::lang::ClassLoader *, ::java::lang::String *); + static ::java::lang::String * property; +public: + static ::java::lang::Class class$; +}; + +#endif // __org_xml_sax_helpers_XMLReaderFactory__ diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc index 125275b97ca..6ea724b3be8 100644 --- a/libjava/posix-threads.cc +++ b/libjava/posix-threads.cc @@ -80,6 +80,34 @@ static int non_daemon_count; +int +_Jv_MutexLock (_Jv_Mutex_t *mu) +{ + pthread_t self = pthread_self (); + if (mu->owner == self) + { + mu->count++; + } + else + { + JvSetThreadState holder (_Jv_ThreadCurrent(), JV_BLOCKED); + +# ifdef LOCK_DEBUG + int result = pthread_mutex_lock (&mu->mutex); + if (0 != result) + { + fprintf(stderr, "Pthread_mutex_lock returned %d\n", result); + for (;;) {} + } +# else + pthread_mutex_lock (&mu->mutex); +# endif + mu->count = 1; + mu->owner = self; + } + return 0; +} + // Wait for the condition variable "CV" to be notified. // Return values: // 0: the condition was notified, or the timeout expired. @@ -95,6 +123,7 @@ _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, struct timespec ts; + JvThreadState new_state = JV_WAITING; if (millis > 0 || nanos > 0) { // Calculate the abstime corresponding to the timeout. @@ -147,6 +176,9 @@ _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, return _JV_INTERRUPTED; } + // Set the thread's state. + JvSetThreadState holder (current_obj, new_state); + // Add this thread to the cv's wait set. current->next = NULL; @@ -307,6 +339,133 @@ _Jv_ThreadInterrupt (_Jv_Thread_t *data) pthread_mutex_unlock (&data->wait_mutex); } +/** + * Releases the block on a thread created by _Jv_ThreadPark(). This + * method can also be used to terminate a blockage caused by a prior + * call to park. This operation is unsafe, as the thread must be + * guaranteed to be live. + * + * @param thread the thread to unblock. + */ +void +ParkHelper::unpark () +{ + using namespace ::java::lang; + volatile obj_addr_t *ptr = &permit; + + /* If this thread is in state RUNNING, give it a permit and return + immediately. */ + if (compare_and_swap + (ptr, Thread::THREAD_PARK_RUNNING, Thread::THREAD_PARK_PERMIT)) + return; + + /* If this thread is parked, put it into state RUNNING and send it a + signal. */ + if (compare_and_swap + (ptr, Thread::THREAD_PARK_PARKED, Thread::THREAD_PARK_RUNNING)) + { + pthread_mutex_lock (&mutex); + pthread_cond_signal (&cond); + pthread_mutex_unlock (&mutex); + } +} + +/** + * Sets our state to dead. + */ +void +ParkHelper::deactivate () +{ + permit = ::java::lang::Thread::THREAD_PARK_DEAD; +} + +/** + * Blocks the thread until a matching _Jv_ThreadUnpark() occurs, the + * thread is interrupted or the optional timeout expires. If an + * unpark call has already occurred, this also counts. A timeout + * value of zero is defined as no timeout. When isAbsolute is true, + * the timeout is in milliseconds relative to the epoch. Otherwise, + * the value is the number of nanoseconds which must occur before + * timeout. This call may also return spuriously (i.e. for no + * apparent reason). + * + * @param isAbsolute true if the timeout is specified in milliseconds from + * the epoch. + * @param time either the number of nanoseconds to wait, or a time in + * milliseconds from the epoch to wait for. + */ +void +ParkHelper::park (jboolean isAbsolute, jlong time) +{ + using namespace ::java::lang; + volatile obj_addr_t *ptr = &permit; + + /* If we have a permit, return immediately. */ + if (compare_and_swap + (ptr, Thread::THREAD_PARK_PERMIT, Thread::THREAD_PARK_RUNNING)) + return; + + struct timespec ts; + jlong millis = 0, nanos = 0; + + if (time) + { + if (isAbsolute) + { + millis = time; + nanos = 0; + } + else + { + millis = java::lang::System::currentTimeMillis(); + nanos = time; + } + + if (millis > 0 || nanos > 0) + { + // Calculate the abstime corresponding to the timeout. + // Everything is in milliseconds. + // + // We use `unsigned long long' rather than jlong because our + // caller may pass up to Long.MAX_VALUE millis. This would + // overflow the range of a timespec. + + unsigned long long m = (unsigned long long)millis; + unsigned long long seconds = m / 1000; + + ts.tv_sec = seconds; + if (ts.tv_sec < 0 || (unsigned long long)ts.tv_sec != seconds) + { + // We treat a timeout that won't fit into a struct timespec + // as a wait forever. + millis = nanos = 0; + } + else + { + m %= 1000; + ts.tv_nsec = m * 1000000 + (unsigned long long)nanos; + } + } + } + + if (compare_and_swap + (ptr, Thread::THREAD_PARK_RUNNING, Thread::THREAD_PARK_PARKED)) + { + pthread_mutex_lock (&mutex); + if (millis == 0 && nanos == 0) + pthread_cond_wait (&cond, &mutex); + else + pthread_cond_timedwait (&cond, &mutex, &ts); + pthread_mutex_unlock (&mutex); + + /* If we were unparked by some other thread, this will already + be in state THREAD_PARK_RUNNING. If we timed out, we have to + do it ourself. */ + compare_and_swap + (ptr, Thread::THREAD_PARK_PARKED, Thread::THREAD_PARK_RUNNING); + } +} + static void handle_intr (int) { diff --git a/libjava/prims.cc b/libjava/prims.cc index dfeb95766af..3f88fb7db76 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -1122,6 +1122,18 @@ namespace gcj // Thread stack size specified by the -Xss runtime argument. size_t stack_size = 0; + + // Start time of the VM + jlong startTime = 0; + + // Arguments passed to the VM + JArray* vmArgs; + + // Currently loaded classes + jint loadedClasses = 0; + + // Unloaded classes + jlong unloadedClasses = 0; } // We accept all non-standard options accepted by Sun's java command, @@ -1422,6 +1434,9 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args) if (runtimeInitialized) return -1; + runtimeInitialized = true; + startTime = _Jv_platform_gettimeofday(); + jint result = parse_init_args (vm_args); if (result < 0) return -1; @@ -1522,6 +1537,18 @@ _Jv_RunMain (JvVMInitArgs *vm_args, jclass klass, const char *name, int argc, fprintf (stderr, "libgcj: couldn't create virtual machine\n"); exit (1); } + + if (vm_args == NULL) + gcj::vmArgs = JvConvertArgv(0, NULL); + else + { + const char* vmArgs[vm_args->nOptions]; + const char** vmPtr = vmArgs; + struct _Jv_VMOption* optionPtr = vm_args->options; + for (int i = 0; i < vm_args->nOptions; ++i) + *vmPtr++ = (*optionPtr++).optionString; + gcj::vmArgs = JvConvertArgv(vm_args->nOptions, vmArgs); + } // Get the Runtime here. We want to initialize it before searching // for `main'; that way it will be set up if `main' is a JNI method. @@ -1599,6 +1626,12 @@ JvRunMain (jclass klass, int argc, const char **argv) _Jv_RunMain (klass, NULL, argc, argv, false); } +void +JvRunMainName (const char *name, int argc, const char **argv) +{ + _Jv_RunMain (NULL, name, argc, argv, false); +} + // Parse a string and return a heap size. diff --git a/libjava/scripts/classes.pl b/libjava/scripts/classes.pl index d231ea4f7ba..43676590d69 100644 --- a/libjava/scripts/classes.pl +++ b/libjava/scripts/classes.pl @@ -1,7 +1,7 @@ # classes.pl - A perl program to generate most of the contents of # javaprims.h automatically. -# Copyright (C) 1998, 1999, 2000, 2002, 2005 Free Software Foundation +# Copyright (C) 1998, 1999, 2000, 2002, 2005, 2006 Free Software Foundation # # This file is part of libgcj. # @@ -44,6 +44,7 @@ sub scan while (defined ($name = $d->read)) { next if $name eq 'CVS'; + next if $name eq '.svn'; next if $name eq '.'; next if $name eq '..'; if ($dir eq 'java' diff --git a/libjava/scripts/makemake.tcl b/libjava/scripts/makemake.tcl index 954d1847ec4..cac22dc71ea 100755 --- a/libjava/scripts/makemake.tcl +++ b/libjava/scripts/makemake.tcl @@ -49,10 +49,13 @@ set package_map(gnu/xml) bc set package_map(javax/imageio) bc set package_map(javax/xml) bc set package_map(gnu/java/beans) bc +set package_map(gnu/java/awt/dnd/peer/gtk) bc set package_map(gnu/java/util/prefs/gconf) bc set package_map(gnu/java/awt/peer/gtk) bc set package_map(gnu/java/awt/dnd/peer/gtk) bc set package_map(gnu/java/awt/peer/qt) bc +set package_map(gnu/java/awt/peer/x) bc +set package_map(gnu/java/util/prefs/gconf) bc set package_map(gnu/javax/sound/midi) bc set package_map(org/xml) bc set package_map(org/w3c) bc @@ -62,15 +65,6 @@ set package_map(org/omg) bc set package_map(gnu/CORBA) bc set package_map(gnu/javax/rmi) bc -# This is handled specially by the Makefile. -# We still want it byte-compiled so it isn't in the .omit file. -set package_map(gnu/gcj/tools/gcj_dbtool/Main.java) ignore - -# These are handled specially. If we list Class.java with other files -# in java.lang, we hit a compiler bug. -set package_map(java/lang/Class.java) ignore -set package_map(java/lang/Object.java) ignore - # More special cases. These end up in their own library. # Note that if we BC-compile AWT we must update these as well. set package_map(gnu/gcj/xlib) package @@ -225,7 +219,7 @@ proc scan_directory {basedir subdir} { # Scan known packages beneath the base directory for .java source # files. proc scan_packages {basedir} { - foreach subdir {gnu java javax org META-INF} { + foreach subdir {gnu java javax org sun META-INF} { if {[file exists $basedir/$subdir]} { scan_directory $basedir $subdir } @@ -253,12 +247,16 @@ proc emit_bc_rule {package} { if {[info exists exclusion_map($package)]} { set omit "| grep -v $exclusion_map($package)" } - puts "\t@find classpath/lib/$package -name '*.class'${omit} > $tname" + puts "\t@find \$(srcdir)/classpath/lib/$package -name '*.class'${omit} > $tname" puts "\t\$(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o $loname @$tname" puts "\t@rm -f $tname" puts "" - lappend bc_objects $loname + # We skip these because they are built into their own libraries and + # are handled specially in Makefile.am. + if {$loname != "gnu-java-awt-peer-qt.lo" && $loname != "gnu-java-awt-peer-x.lo"} { + lappend bc_objects $loname + } } # Emit a rule for a 'package' package. @@ -275,24 +273,46 @@ proc emit_package_rule {package} { set lname $base.list set dname $base.deps + if {$pkgname == "java/lang"} { + # Object and Class are special cases due to an apparent compiler + # bug. Process is a special case because we don't build all + # concrete implementations of Process on all platforms. + set omit "| tr ' ' '\\n' | fgrep -v Object.class | fgrep -v Class.class | grep -v '\[^/\]Process' " + } else { + set omit "" + } + # A rule to make the phony file we are going to compile. puts "$lname: \$($varname)" puts "\t@\$(mkinstalldirs) \$(dir \$@)" - puts "\t@for file in \$($varname); do \\" - puts "\t if test -f \$(srcdir)/\$\$file; then \\" - puts "\t echo \$(srcdir)/\$\$file; \\" - puts "\t else echo \$\$file; fi; \\" - puts "\tdone > $lname" + puts "\techo \$(srcdir)/classpath/lib/$package/*.class $omit> $lname" puts "" puts "-include $dname" puts "" puts "" - if {$pkgname != "gnu/gcj/xlib" && $pkgname != "gnu/awt/xlib"} { + if {$pkgname != "gnu/gcj/xlib" && $pkgname != "gnu/awt/xlib" + && $pkgname != "gnu/gcj/tools/gcj_dbtool"} { lappend package_files $lname } } +# Emit a package-like rule for a platform-specific Process +# implementation. +proc emit_process_package_rule {platform} { + set base "java/process-$platform" + set lname $base.list + set dname $base.deps + + puts "$lname: java/lang/${platform}Process.java" + puts "\t@\$(mkinstalldirs) \$(dir \$@)" + puts "\techo \$(srcdir)/classpath/lib/java/lang/${platform}Process*.class > $lname" + puts "" + puts "-include $dname" + puts "" + puts "" +} + # Emit a source file variable for a package, and corresponding header # file variable, if needed. proc emit_source_var {package} { @@ -326,7 +346,9 @@ proc emit_source_var {package} { if {$package_map($package) != "bc"} { # Ugly code to build up the appropriate patsubst. set result "\$(patsubst %.java,%.h,\$($varname))" - foreach dir [lsort [array names dirs]] { + # We use -decreasing so that classpath/external will be stripped + # before classpath. + foreach dir [lsort -decreasing [array names dirs]] { if {$dir != "."} { set result "\$(patsubst $dir/%,%,$result)" } @@ -363,22 +385,21 @@ if {[llength $argv] > 0 && [lindex $argv 0] == "-verbose"} { # Read the proper .omit files. read_omit_file standard.omit.in -read_omit_file classpath/lib/standard.omit +read_omit_file classpath/lib/standard.omit.in # Scan classpath first. scan_packages classpath scan_packages classpath/external/sax scan_packages classpath/external/w3c_dom scan_packages classpath/external/relaxngDatatype +scan_packages classpath/external/jsr166 # Resource files. scan_packages classpath/resource # Now scan our own files; this will correctly override decisions made # when scanning classpath. scan_packages . # Files created by the build. -classify_source_file . java/lang/ConcreteProcess.java classify_source_file classpath gnu/java/locale/LocaleData.java -classify_source_file classpath gnu/classpath/Configuration.java classify_source_file classpath gnu/java/security/Configuration.java puts "## This file was automatically generated by scripts/makemake.tcl" @@ -406,6 +427,10 @@ foreach package [lsort [array names package_map]] { } } +emit_process_package_rule Ecos +emit_process_package_rule Win32 +emit_process_package_rule Posix + pp_var all_packages_source_files $package_files pp_var ordinary_header_files $header_vars "\$(" ")" pp_var bc_objects $bc_objects diff --git a/libjava/sources.am b/libjava/sources.am index b13633f4664..d49e91e3a7f 100644 --- a/libjava/sources.am +++ b/libjava/sources.am @@ -27,6 +27,7 @@ classpath/gnu/CORBA/CDR/Vio.java \ classpath/gnu/CORBA/CDR/gnuRuntime.java \ classpath/gnu/CORBA/CDR/gnuValueStream.java \ classpath/gnu/CORBA/CdrEncapsCodecImpl.java \ +classpath/gnu/CORBA/CollocatedOrbs.java \ classpath/gnu/CORBA/Connected_objects.java \ classpath/gnu/CORBA/CorbaList.java \ classpath/gnu/CORBA/DefaultSocketFactory.java \ @@ -35,7 +36,7 @@ classpath/gnu/CORBA/DuplicateNameHolder.java \ classpath/gnu/CORBA/DynAn/AbstractAny.java \ classpath/gnu/CORBA/DynAn/DivideableAny.java \ classpath/gnu/CORBA/DynAn/NameValuePairHolder.java \ -gnu/CORBA/DynAn/RecordAny.java \ +classpath/gnu/CORBA/DynAn/RecordAny.java \ classpath/gnu/CORBA/DynAn/UndivideableAny.java \ classpath/gnu/CORBA/DynAn/ValueChangeListener.java \ classpath/gnu/CORBA/DynAn/gnuDynAny.java \ @@ -46,7 +47,7 @@ classpath/gnu/CORBA/DynAn/gnuDynFixed.java \ classpath/gnu/CORBA/DynAn/gnuDynSequence.java \ classpath/gnu/CORBA/DynAn/gnuDynStruct.java \ classpath/gnu/CORBA/DynAn/gnuDynUnion.java \ -gnu/CORBA/DynAn/gnuDynValue.java \ +classpath/gnu/CORBA/DynAn/gnuDynValue.java \ classpath/gnu/CORBA/DynAn/gnuDynValueBox.java \ classpath/gnu/CORBA/DynAnySeqHolder.java \ classpath/gnu/CORBA/EmptyExceptionHolder.java \ @@ -95,7 +96,7 @@ classpath/gnu/CORBA/NamingService/NameValidator.java \ classpath/gnu/CORBA/NamingService/NamingMap.java \ classpath/gnu/CORBA/NamingService/NamingServiceTransient.java \ classpath/gnu/CORBA/NamingService/TransientContext.java \ -gnu/CORBA/ObjectCreator.java \ +classpath/gnu/CORBA/ObjectCreator.java \ classpath/gnu/CORBA/OctetHolder.java \ classpath/gnu/CORBA/OrbFocused.java \ classpath/gnu/CORBA/OrbFunctional.java \ @@ -127,6 +128,7 @@ classpath/gnu/CORBA/Poa/gnuServantRetentionPolicy.java \ classpath/gnu/CORBA/Poa/gnuThreadPolicy.java \ classpath/gnu/CORBA/RawReply.java \ classpath/gnu/CORBA/ResponseHandlerImpl.java \ +classpath/gnu/CORBA/SafeForDirectCalls.java \ classpath/gnu/CORBA/ServiceDetailHolder.java \ classpath/gnu/CORBA/ServiceRequestAdapter.java \ classpath/gnu/CORBA/SetOverrideTypeHolder.java \ @@ -163,7 +165,7 @@ classpath/gnu/CORBA/typecodes/RecursiveTypeCode.java \ classpath/gnu/CORBA/typecodes/StringTypeCode.java gnu-CORBA.lo: $(gnu_CORBA_source_files) - @find classpath/lib/gnu/CORBA -name '*.class' > gnu-CORBA.list + @find $(srcdir)/classpath/lib/gnu/CORBA -name '*.class' > gnu-CORBA.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list @rm -f gnu-CORBA.list @@ -174,11 +176,7 @@ gnu_awt_header_files = $(patsubst %.java,%.h,$(gnu_awt_source_files)) gnu/awt.list: $(gnu_awt_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_awt_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/awt.list + echo $(srcdir)/classpath/lib/gnu/awt/*.class > gnu/awt.list -include gnu/awt.deps @@ -194,11 +192,7 @@ gnu_awt_j2d_header_files = $(patsubst %.java,%.h,$(gnu_awt_j2d_source_files)) gnu/awt/j2d.list: $(gnu_awt_j2d_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_awt_j2d_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/awt/j2d.list + echo $(srcdir)/classpath/lib/gnu/awt/j2d/*.class > gnu/awt/j2d.list -include gnu/awt/j2d.deps @@ -222,34 +216,28 @@ gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files)) gnu/awt/xlib.list: $(gnu_awt_xlib_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_awt_xlib_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/awt/xlib.list + echo $(srcdir)/classpath/lib/gnu/awt/xlib/*.class > gnu/awt/xlib.list -include gnu/awt/xlib.deps gnu_classpath_source_files = \ -classpath/gnu/classpath/Configuration.java \ +gnu/classpath/Configuration.java \ +classpath/gnu/classpath/ListenerData.java \ classpath/gnu/classpath/NotImplementedException.java \ classpath/gnu/classpath/Pointer.java \ classpath/gnu/classpath/Pointer32.java \ classpath/gnu/classpath/Pointer64.java \ classpath/gnu/classpath/ServiceFactory.java \ classpath/gnu/classpath/ServiceProviderLoadingAction.java \ -gnu/classpath/SystemProperties.java +gnu/classpath/SystemProperties.java \ +gnu/classpath/VMStackWalker.java gnu_classpath_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_source_files))) gnu/classpath.list: $(gnu_classpath_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath.list + echo $(srcdir)/classpath/lib/gnu/classpath/*.class > gnu/classpath.list -include gnu/classpath.deps @@ -268,11 +256,7 @@ gnu_classpath_debug_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. gnu/classpath/debug.list: $(gnu_classpath_debug_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_debug_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/debug.list + echo $(srcdir)/classpath/lib/gnu/classpath/debug/*.class > gnu/classpath/debug.list -include gnu/classpath/debug.deps @@ -289,11 +273,7 @@ gnu_classpath_jdwp_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h gnu/classpath/jdwp.list: $(gnu_classpath_jdwp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/*.class > gnu/classpath/jdwp.list -include gnu/classpath/jdwp.deps @@ -318,11 +298,7 @@ gnu_classpath_jdwp_event_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/classpath/jdwp/event.list: $(gnu_classpath_jdwp_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/event.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/event/*.class > gnu/classpath/jdwp/event.list -include gnu/classpath/jdwp/event.deps @@ -345,11 +321,7 @@ gnu_classpath_jdwp_event_filters_header_files = $(patsubst classpath/%,%,$(patsu gnu/classpath/jdwp/event/filters.list: $(gnu_classpath_jdwp_event_filters_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_event_filters_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/event/filters.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/event/filters/*.class > gnu/classpath/jdwp/event/filters.list -include gnu/classpath/jdwp/event/filters.deps @@ -377,11 +349,7 @@ gnu_classpath_jdwp_exception_header_files = $(patsubst classpath/%,%,$(patsubst gnu/classpath/jdwp/exception.list: $(gnu_classpath_jdwp_exception_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_exception_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/exception.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/exception/*.class > gnu/classpath/jdwp/exception.list -include gnu/classpath/jdwp/exception.deps @@ -404,11 +372,7 @@ gnu_classpath_jdwp_id_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/classpath/jdwp/id.list: $(gnu_classpath_jdwp_id_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_id_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/id.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/id/*.class > gnu/classpath/jdwp/id.list -include gnu/classpath/jdwp/id.deps @@ -437,11 +401,7 @@ gnu_classpath_jdwp_processor_header_files = $(patsubst classpath/%,%,$(patsubst gnu/classpath/jdwp/processor.list: $(gnu_classpath_jdwp_processor_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_processor_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/processor.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/processor/*.class > gnu/classpath/jdwp/processor.list -include gnu/classpath/jdwp/processor.deps @@ -460,11 +420,7 @@ gnu_classpath_jdwp_transport_header_files = $(patsubst classpath/%,%,$(patsubst gnu/classpath/jdwp/transport.list: $(gnu_classpath_jdwp_transport_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_transport_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/transport.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/transport/*.class > gnu/classpath/jdwp/transport.list -include gnu/classpath/jdwp/transport.deps @@ -482,11 +438,7 @@ gnu_classpath_jdwp_util_header_files = $(patsubst classpath/%,%,$(patsubst %.jav gnu/classpath/jdwp/util.list: $(gnu_classpath_jdwp_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_classpath_jdwp_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/classpath/jdwp/util.list + echo $(srcdir)/classpath/lib/gnu/classpath/jdwp/util/*.class > gnu/classpath/jdwp/util.list -include gnu/classpath/jdwp/util.deps @@ -500,11 +452,7 @@ gnu_gcj_header_files = $(patsubst %.java,%.h,$(gnu_gcj_source_files)) gnu/gcj.list: $(gnu_gcj_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj.list + echo $(srcdir)/classpath/lib/gnu/gcj/*.class > gnu/gcj.list -include gnu/gcj.deps @@ -538,11 +486,7 @@ gnu_gcj_convert_header_files = $(patsubst %.java,%.h,$(gnu_gcj_convert_source_fi gnu/gcj/convert.list: $(gnu_gcj_convert_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_convert_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/convert.list + echo $(srcdir)/classpath/lib/gnu/gcj/convert/*.class > gnu/gcj/convert.list -include gnu/gcj/convert.deps @@ -556,11 +500,7 @@ gnu_gcj_io_header_files = $(patsubst %.java,%.h,$(gnu_gcj_io_source_files)) gnu/gcj/io.list: $(gnu_gcj_io_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_io_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/io.list + echo $(srcdir)/classpath/lib/gnu/gcj/io/*.class > gnu/gcj/io.list -include gnu/gcj/io.deps @@ -574,11 +514,7 @@ gnu_gcj_jvmti_header_files = $(patsubst %.java,%.h,$(gnu_gcj_jvmti_source_files) gnu/gcj/jvmti.list: $(gnu_gcj_jvmti_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_jvmti_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/jvmti.list + echo $(srcdir)/classpath/lib/gnu/gcj/jvmti/*.class > gnu/gcj/jvmti.list -include gnu/gcj/jvmti.deps @@ -600,15 +536,23 @@ gnu_gcj_runtime_header_files = $(patsubst %.java,%.h,$(gnu_gcj_runtime_source_fi gnu/gcj/runtime.list: $(gnu_gcj_runtime_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_runtime_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/runtime.list + echo $(srcdir)/classpath/lib/gnu/gcj/runtime/*.class > gnu/gcj/runtime.list -include gnu/gcj/runtime.deps +gnu_gcj_tools_gcj_dbtool_source_files = \ +gnu/gcj/tools/gcj_dbtool/Main.java + +gnu_gcj_tools_gcj_dbtool_header_files = $(patsubst %.java,%.h,$(gnu_gcj_tools_gcj_dbtool_source_files)) + +gnu/gcj/tools/gcj_dbtool.list: $(gnu_gcj_tools_gcj_dbtool_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/gcj/tools/gcj_dbtool/*.class > gnu/gcj/tools/gcj_dbtool.list + +-include gnu/gcj/tools/gcj_dbtool.deps + + gnu_gcj_util_source_files = \ gnu/gcj/util/Debug.java @@ -616,11 +560,7 @@ gnu_gcj_util_header_files = $(patsubst %.java,%.h,$(gnu_gcj_util_source_files)) gnu/gcj/util.list: $(gnu_gcj_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/util.list + echo $(srcdir)/classpath/lib/gnu/gcj/util/*.class > gnu/gcj/util.list -include gnu/gcj/util.deps @@ -654,11 +594,7 @@ gnu_gcj_xlib_header_files = $(patsubst %.java,%.h,$(gnu_gcj_xlib_source_files)) gnu/gcj/xlib.list: $(gnu_gcj_xlib_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_gcj_xlib_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/gcj/xlib.list + echo $(srcdir)/classpath/lib/gnu/gcj/xlib/*.class > gnu/gcj/xlib.list -include gnu/gcj/xlib.deps @@ -670,19 +606,17 @@ classpath/gnu/java/awt/BitwiseXORComposite.java \ classpath/gnu/java/awt/Buffers.java \ classpath/gnu/java/awt/ClasspathToolkit.java \ classpath/gnu/java/awt/ComponentDataBlitOp.java \ +classpath/gnu/java/awt/ComponentReshapeEvent.java \ classpath/gnu/java/awt/EmbeddedWindow.java \ classpath/gnu/java/awt/EventModifier.java \ -classpath/gnu/java/awt/GradientPaintContext.java +classpath/gnu/java/awt/GradientPaintContext.java \ +classpath/gnu/java/awt/LowPriorityEvent.java gnu_java_awt_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_source_files))) gnu/java/awt.list: $(gnu_java_awt_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt.list + echo $(srcdir)/classpath/lib/gnu/java/awt/*.class > gnu/java/awt.list -include gnu/java/awt.deps @@ -706,11 +640,7 @@ gnu_java_awt_color_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h gnu/java/awt/color.list: $(gnu_java_awt_color_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_color_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/color.list + echo $(srcdir)/classpath/lib/gnu/java/awt/color/*.class > gnu/java/awt/color.list -include gnu/java/awt/color.deps @@ -722,11 +652,7 @@ gnu_java_awt_dnd_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ gnu/java/awt/dnd.list: $(gnu_java_awt_dnd_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_dnd_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/dnd.list + echo $(srcdir)/classpath/lib/gnu/java/awt/dnd/*.class > gnu/java/awt/dnd.list -include gnu/java/awt/dnd.deps @@ -737,7 +663,7 @@ classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java \ classpath/gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java gnu-java-awt-dnd-peer-gtk.lo: $(gnu_java_awt_dnd_peer_gtk_source_files) - @find classpath/lib/gnu/java/awt/dnd/peer/gtk -name '*.class' > gnu-java-awt-dnd-peer-gtk.list + @find $(srcdir)/classpath/lib/gnu/java/awt/dnd/peer/gtk -name '*.class' > gnu-java-awt-dnd-peer-gtk.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-dnd-peer-gtk.lo @gnu-java-awt-dnd-peer-gtk.list @rm -f gnu-java-awt-dnd-peer-gtk.list @@ -750,15 +676,33 @@ gnu_java_awt_font_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, gnu/java/awt/font.list: $(gnu_java_awt_font_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_font_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/font.list + echo $(srcdir)/classpath/lib/gnu/java/awt/font/*.class > gnu/java/awt/font.list -include gnu/java/awt/font.deps +gnu_java_awt_font_autofit_source_files = \ +classpath/gnu/java/awt/font/autofit/AxisHints.java \ +classpath/gnu/java/awt/font/autofit/Constants.java \ +classpath/gnu/java/awt/font/autofit/GlyphHints.java \ +classpath/gnu/java/awt/font/autofit/Latin.java \ +classpath/gnu/java/awt/font/autofit/LatinAxis.java \ +classpath/gnu/java/awt/font/autofit/LatinMetrics.java \ +classpath/gnu/java/awt/font/autofit/Scaler.java \ +classpath/gnu/java/awt/font/autofit/Script.java \ +classpath/gnu/java/awt/font/autofit/ScriptMetrics.java \ +classpath/gnu/java/awt/font/autofit/Segment.java \ +classpath/gnu/java/awt/font/autofit/Width.java + +gnu_java_awt_font_autofit_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_autofit_source_files))) + +gnu/java/awt/font/autofit.list: $(gnu_java_awt_font_autofit_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/java/awt/font/autofit/*.class > gnu/java/awt/font/autofit.list + +-include gnu/java/awt/font/autofit.deps + + gnu_java_awt_font_opentype_source_files = \ classpath/gnu/java/awt/font/opentype/CharGlyphMap.java \ classpath/gnu/java/awt/font/opentype/GlyphNamer.java \ @@ -772,11 +716,7 @@ gnu_java_awt_font_opentype_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/awt/font/opentype.list: $(gnu_java_awt_font_opentype_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_font_opentype_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/font/opentype.list + echo $(srcdir)/classpath/lib/gnu/java/awt/font/opentype/*.class > gnu/java/awt/font/opentype.list -include gnu/java/awt/font/opentype.deps @@ -795,11 +735,7 @@ gnu_java_awt_font_opentype_truetype_header_files = $(patsubst classpath/%,%,$(pa gnu/java/awt/font/opentype/truetype.list: $(gnu_java_awt_font_opentype_truetype_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_font_opentype_truetype_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/font/opentype/truetype.list + echo $(srcdir)/classpath/lib/gnu/java/awt/font/opentype/truetype/*.class > gnu/java/awt/font/opentype/truetype.list -include gnu/java/awt/font/opentype/truetype.deps @@ -812,11 +748,7 @@ gnu_java_awt_image_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h gnu/java/awt/image.list: $(gnu_java_awt_image_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_image_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/image.list + echo $(srcdir)/classpath/lib/gnu/java/awt/image/*.class > gnu/java/awt/image.list -include gnu/java/awt/image.deps @@ -832,17 +764,14 @@ classpath/gnu/java/awt/java2d/PolyEdgeComparator.java \ classpath/gnu/java/awt/java2d/QuadSegment.java \ classpath/gnu/java/awt/java2d/RasterGraphics.java \ classpath/gnu/java/awt/java2d/Segment.java \ +classpath/gnu/java/awt/java2d/ShapeCache.java \ classpath/gnu/java/awt/java2d/TexturePaintContext.java gnu_java_awt_java2d_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_java2d_source_files))) gnu/java/awt/java2d.list: $(gnu_java_awt_java2d_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_java2d_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/java2d.list + echo $(srcdir)/classpath/lib/gnu/java/awt/java2d/*.class > gnu/java/awt/java2d.list -include gnu/java/awt/java2d.deps @@ -850,22 +779,20 @@ gnu/java/awt/java2d.list: $(gnu_java_awt_java2d_source_files) gnu_java_awt_peer_source_files = \ classpath/gnu/java/awt/peer/ClasspathFontPeer.java \ classpath/gnu/java/awt/peer/EmbeddedWindowPeer.java \ -classpath/gnu/java/awt/peer/GLightweightPeer.java +classpath/gnu/java/awt/peer/GLightweightPeer.java \ +classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java gnu_java_awt_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_source_files))) gnu/java/awt/peer.list: $(gnu_java_awt_peer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_peer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/peer.list + echo $(srcdir)/classpath/lib/gnu/java/awt/peer/*.class > gnu/java/awt/peer.list -include gnu/java/awt/peer.deps gnu_java_awt_peer_gtk_source_files = \ +classpath/gnu/java/awt/peer/gtk/AsyncImage.java \ classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java \ classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java \ classpath/gnu/java/awt/peer/gtk/CairoSurface.java \ @@ -875,7 +802,6 @@ classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java \ classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java \ classpath/gnu/java/awt/peer/gtk/GThreadMutex.java \ classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java \ -classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java \ classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java \ @@ -901,6 +827,7 @@ classpath/gnu/java/awt/peer/gtk/GtkImage.java \ classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java \ classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java \ classpath/gnu/java/awt/peer/gtk/GtkListPeer.java \ +classpath/gnu/java/awt/peer/gtk/GtkMainThread.java \ classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java \ classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java \ classpath/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java \ @@ -919,10 +846,23 @@ classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java \ classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java gnu-java-awt-peer-gtk.lo: $(gnu_java_awt_peer_gtk_source_files) - @find classpath/lib/gnu/java/awt/peer/gtk -name '*.class' > gnu-java-awt-peer-gtk.list + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/gtk -name '*.class' > gnu-java-awt-peer-gtk.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-gtk.lo @gnu-java-awt-peer-gtk.list @rm -f gnu-java-awt-peer-gtk.list +gnu_java_awt_peer_headless_source_files = \ +classpath/gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java \ +classpath/gnu/java/awt/peer/headless/HeadlessToolkit.java + +gnu_java_awt_peer_headless_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_headless_source_files))) + +gnu/java/awt/peer/headless.list: $(gnu_java_awt_peer_headless_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/java/awt/peer/headless/*.class > gnu/java/awt/peer/headless.list + +-include gnu/java/awt/peer/headless.deps + + gnu_java_awt_peer_qt_source_files = \ classpath/gnu/java/awt/peer/qt/MainQtThread.java \ classpath/gnu/java/awt/peer/qt/NativeWrapper.java \ @@ -969,7 +909,7 @@ classpath/gnu/java/awt/peer/qt/QtVolatileImage.java \ classpath/gnu/java/awt/peer/qt/QtWindowPeer.java gnu-java-awt-peer-qt.lo: $(gnu_java_awt_peer_qt_source_files) - @find classpath/lib/gnu/java/awt/peer/qt -name '*.class' > gnu-java-awt-peer-qt.list + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/qt -name '*.class' > gnu-java-awt-peer-qt.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-qt.lo @gnu-java-awt-peer-qt.list @rm -f gnu-java-awt-peer-qt.list @@ -981,19 +921,45 @@ classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java \ classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java \ classpath/gnu/java/awt/peer/swing/SwingFramePeer.java \ classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingListPeer.java \ classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java \ classpath/gnu/java/awt/peer/swing/SwingMenuItemPeer.java \ classpath/gnu/java/awt/peer/swing/SwingMenuPeer.java \ classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java \ +classpath/gnu/java/awt/peer/swing/SwingTextAreaPeer.java \ classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java \ classpath/gnu/java/awt/peer/swing/SwingToolkit.java \ classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java gnu-java-awt-peer-swing.lo: $(gnu_java_awt_peer_swing_source_files) - @find classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/swing -name '*.class' > gnu-java-awt-peer-swing.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list @rm -f gnu-java-awt-peer-swing.list +gnu_java_awt_peer_x_source_files = \ +classpath/gnu/java/awt/peer/x/GLGraphics.java \ +classpath/gnu/java/awt/peer/x/ImageConverter.java \ +classpath/gnu/java/awt/peer/x/KeyboardMapping.java \ +classpath/gnu/java/awt/peer/x/XDialogPeer.java \ +classpath/gnu/java/awt/peer/x/XEventPump.java \ +classpath/gnu/java/awt/peer/x/XFontPeer.java \ +classpath/gnu/java/awt/peer/x/XFontPeer2.java \ +classpath/gnu/java/awt/peer/x/XFramePeer.java \ +classpath/gnu/java/awt/peer/x/XGraphics.java \ +classpath/gnu/java/awt/peer/x/XGraphics2D.java \ +classpath/gnu/java/awt/peer/x/XGraphicsConfiguration.java \ +classpath/gnu/java/awt/peer/x/XGraphicsDevice.java \ +classpath/gnu/java/awt/peer/x/XGraphicsEnvironment.java \ +classpath/gnu/java/awt/peer/x/XImage.java \ +classpath/gnu/java/awt/peer/x/XLightweightPeer.java \ +classpath/gnu/java/awt/peer/x/XToolkit.java \ +classpath/gnu/java/awt/peer/x/XWindowPeer.java + +gnu-java-awt-peer-x.lo: $(gnu_java_awt_peer_x_source_files) + @find $(srcdir)/classpath/lib/gnu/java/awt/peer/x -name '*.class' > gnu-java-awt-peer-x.list + $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-awt-peer-x.lo @gnu-java-awt-peer-x.list + @rm -f gnu-java-awt-peer-x.list + gnu_java_awt_print_source_files = \ classpath/gnu/java/awt/print/JavaPrinterGraphics.java \ classpath/gnu/java/awt/print/JavaPrinterJob.java \ @@ -1004,11 +970,7 @@ gnu_java_awt_print_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h gnu/java/awt/print.list: $(gnu_java_awt_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_awt_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/awt/print.list + echo $(srcdir)/classpath/lib/gnu/java/awt/print/*.class > gnu/java/awt/print.list -include gnu/java/awt/print.deps @@ -1098,7 +1060,7 @@ classpath/gnu/java/beans/encoder/elements/StaticMethodInvocation.java \ classpath/gnu/java/beans/encoder/elements/StringReference.java gnu-java-beans.lo: $(gnu_java_beans_source_files) - @find classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list + @find $(srcdir)/classpath/lib/gnu/java/beans -name '*.class' > gnu-java-beans.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-beans.lo @gnu-java-beans.list @rm -f gnu-java-beans.list @@ -1107,6 +1069,7 @@ classpath/gnu/java/io/ASN1ParsingException.java \ classpath/gnu/java/io/Base64InputStream.java \ classpath/gnu/java/io/ClassLoaderObjectInputStream.java \ classpath/gnu/java/io/NullOutputStream.java \ +classpath/gnu/java/io/ObjectIdentityMap2Int.java \ classpath/gnu/java/io/ObjectIdentityWrapper.java \ classpath/gnu/java/io/PlatformHelper.java @@ -1114,11 +1077,7 @@ gnu_java_io_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_ gnu/java/io.list: $(gnu_java_io_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_io_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/io.list + echo $(srcdir)/classpath/lib/gnu/java/io/*.class > gnu/java/io.list -include gnu/java/io.deps @@ -1135,11 +1094,7 @@ gnu_java_lang_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gn gnu/java/lang.list: $(gnu_java_lang_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_lang_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/lang.list + echo $(srcdir)/classpath/lib/gnu/java/lang/*.class > gnu/java/lang.list -include gnu/java/lang.deps @@ -1168,11 +1123,7 @@ gnu_java_lang_management_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/java/lang/management.list: $(gnu_java_lang_management_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_lang_management_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/lang/management.list + echo $(srcdir)/classpath/lib/gnu/java/lang/management/*.class > gnu/java/lang/management.list -include gnu/java/lang/management.deps @@ -1189,11 +1140,7 @@ gnu_java_lang_reflect_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/java/lang/reflect.list: $(gnu_java_lang_reflect_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_lang_reflect_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/lang/reflect.list + echo $(srcdir)/classpath/lib/gnu/java/lang/reflect/*.class > gnu/java/lang/reflect.list -include gnu/java/lang/reflect.deps @@ -1345,11 +1292,7 @@ gnu_java_locale_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$( gnu/java/locale.list: $(gnu_java_locale_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_locale_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/locale.list + echo $(srcdir)/classpath/lib/gnu/java/locale/*.class > gnu/java/locale.list -include gnu/java/locale.deps @@ -1361,11 +1304,7 @@ gnu_java_math_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gn gnu/java/math.list: $(gnu_java_math_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_math_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/math.list + echo $(srcdir)/classpath/lib/gnu/java/math/*.class > gnu/java/math.list -include gnu/java/math.deps @@ -1375,6 +1314,7 @@ classpath/gnu/java/net/BASE64.java \ classpath/gnu/java/net/CRLFInputStream.java \ classpath/gnu/java/net/CRLFOutputStream.java \ classpath/gnu/java/net/DefaultContentHandlerFactory.java \ +classpath/gnu/java/net/DefaultProxySelector.java \ classpath/gnu/java/net/EmptyX509TrustManager.java \ classpath/gnu/java/net/GetLocalHostAction.java \ classpath/gnu/java/net/HeaderFieldHelper.java \ @@ -1388,11 +1328,7 @@ gnu_java_net_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu gnu/java/net.list: $(gnu_java_net_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net.list + echo $(srcdir)/classpath/lib/gnu/java/net/*.class > gnu/java/net.list -include gnu/java/net.deps @@ -1412,11 +1348,7 @@ gnu_java_net_loader_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. gnu/java/net/loader.list: $(gnu_java_net_loader_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_loader_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/loader.list + echo $(srcdir)/classpath/lib/gnu/java/net/loader/*.class > gnu/java/net/loader.list -include gnu/java/net/loader.deps @@ -1431,11 +1363,7 @@ gnu_java_net_local_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h gnu/java/net/local.list: $(gnu_java_net_local_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_local_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/local.list + echo $(srcdir)/classpath/lib/gnu/java/net/local/*.class > gnu/java/net/local.list -include gnu/java/net/local.deps @@ -1449,11 +1377,7 @@ gnu_java_net_protocol_core_header_files = $(patsubst %.java,%.h,$(gnu_java_net_p gnu/java/net/protocol/core.list: $(gnu_java_net_protocol_core_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_core_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/core.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/core/*.class > gnu/java/net/protocol/core.list -include gnu/java/net/protocol/core.deps @@ -1466,11 +1390,7 @@ gnu_java_net_protocol_file_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/net/protocol/file.list: $(gnu_java_net_protocol_file_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_file_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/file.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/file/*.class > gnu/java/net/protocol/file.list -include gnu/java/net/protocol/file.deps @@ -1497,11 +1417,7 @@ gnu_java_net_protocol_ftp_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/net/protocol/ftp.list: $(gnu_java_net_protocol_ftp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_ftp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/ftp.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/ftp/*.class > gnu/java/net/protocol/ftp.list -include gnu/java/net/protocol/ftp.deps @@ -1514,11 +1430,7 @@ gnu_java_net_protocol_gcjlib_header_files = $(patsubst %.java,%.h,$(gnu_java_net gnu/java/net/protocol/gcjlib.list: $(gnu_java_net_protocol_gcjlib_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_gcjlib_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/gcjlib.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/gcjlib/*.class > gnu/java/net/protocol/gcjlib.list -include gnu/java/net/protocol/gcjlib.deps @@ -1546,11 +1458,7 @@ gnu_java_net_protocol_http_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/net/protocol/http.list: $(gnu_java_net_protocol_http_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_http_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/http.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/http/*.class > gnu/java/net/protocol/http.list -include gnu/java/net/protocol/http.deps @@ -1562,11 +1470,7 @@ gnu_java_net_protocol_https_header_files = $(patsubst classpath/%,%,$(patsubst % gnu/java/net/protocol/https.list: $(gnu_java_net_protocol_https_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_https_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/https.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/https/*.class > gnu/java/net/protocol/https.list -include gnu/java/net/protocol/https.deps @@ -1579,11 +1483,7 @@ gnu_java_net_protocol_jar_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/net/protocol/jar.list: $(gnu_java_net_protocol_jar_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_net_protocol_jar_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/net/protocol/jar.list + echo $(srcdir)/classpath/lib/gnu/java/net/protocol/jar/*.class > gnu/java/net/protocol/jar.list -include gnu/java/net/protocol/jar.deps @@ -1595,23 +1495,24 @@ classpath/gnu/java/nio/ChannelReader.java \ classpath/gnu/java/nio/ChannelWriter.java \ gnu/java/nio/DatagramChannelImpl.java \ gnu/java/nio/DatagramChannelSelectionKey.java \ -classpath/gnu/java/nio/FileLockImpl.java \ +gnu/java/nio/FileLockImpl.java \ classpath/gnu/java/nio/InputStreamChannel.java \ classpath/gnu/java/nio/NIOConstants.java \ classpath/gnu/java/nio/NIODatagramSocket.java \ gnu/java/nio/NIOServerSocket.java \ -classpath/gnu/java/nio/NIOSocket.java \ +gnu/java/nio/NIOSocket.java \ classpath/gnu/java/nio/OutputStreamChannel.java \ -classpath/gnu/java/nio/PipeImpl.java \ +gnu/java/nio/PipeImpl.java \ classpath/gnu/java/nio/SelectionKeyImpl.java \ classpath/gnu/java/nio/SelectorImpl.java \ -classpath/gnu/java/nio/SelectorProviderImpl.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 \ -classpath/gnu/java/nio/SocketChannelSelectionKeyImpl.java \ +gnu/java/nio/SocketChannelSelectionKeyImpl.java \ gnu/java/nio/VMChannel.java \ +classpath/gnu/java/nio/VMChannelOwner.java \ gnu/java/nio/VMPipe.java \ gnu/java/nio/VMSelector.java @@ -1619,11 +1520,7 @@ gnu_java_nio_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu gnu/java/nio.list: $(gnu_java_nio_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_nio_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/nio.list + echo $(srcdir)/classpath/lib/gnu/java/nio/*.class > gnu/java/nio.list -include gnu/java/nio.deps @@ -1635,11 +1532,7 @@ gnu_java_nio_channels_header_files = $(patsubst %.java,%.h,$(gnu_java_nio_channe gnu/java/nio/channels.list: $(gnu_java_nio_channels_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_nio_channels_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/nio/channels.list + echo $(srcdir)/classpath/lib/gnu/java/nio/channels/*.class > gnu/java/nio/channels.list -include gnu/java/nio/channels.deps @@ -1711,11 +1604,7 @@ gnu_java_nio_charset_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/java/nio/charset.list: $(gnu_java_nio_charset_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_nio_charset_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/nio/charset.list + echo $(srcdir)/classpath/lib/gnu/java/nio/charset/*.class > gnu/java/nio/charset.list -include gnu/java/nio/charset.deps @@ -1728,11 +1617,7 @@ gnu_java_rmi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu gnu/java/rmi.list: $(gnu_java_rmi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/*.class > gnu/java/rmi.list -include gnu/java/rmi.deps @@ -1747,11 +1632,7 @@ gnu_java_rmi_activation_header_files = $(patsubst classpath/%,%,$(patsubst %.jav gnu/java/rmi/activation.list: $(gnu_java_rmi_activation_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_activation_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/activation.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/activation/*.class > gnu/java/rmi/activation.list -include gnu/java/rmi/activation.deps @@ -1766,11 +1647,7 @@ gnu_java_rmi_dgc_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ gnu/java/rmi/dgc.list: $(gnu_java_rmi_dgc_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_dgc_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/dgc.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/dgc/*.class > gnu/java/rmi/dgc.list -include gnu/java/rmi/dgc.deps @@ -1784,38 +1661,11 @@ gnu_java_rmi_registry_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/java/rmi/registry.list: $(gnu_java_rmi_registry_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_registry_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/registry.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/registry/*.class > gnu/java/rmi/registry.list -include gnu/java/rmi/registry.deps -gnu_java_rmi_rmic_source_files = \ -gnu/java/rmi/rmic/Compile_gcj.java \ -gnu/java/rmi/rmic/Compile_jikes.java \ -gnu/java/rmi/rmic/Compile_kjc.java \ -gnu/java/rmi/rmic/Compiler.java \ -gnu/java/rmi/rmic/CompilerProcess.java \ -gnu/java/rmi/rmic/RMIC.java \ -gnu/java/rmi/rmic/RMICException.java \ -gnu/java/rmi/rmic/TabbedWriter.java - -gnu_java_rmi_rmic_header_files = $(patsubst %.java,%.h,$(gnu_java_rmi_rmic_source_files)) - -gnu/java/rmi/rmic.list: $(gnu_java_rmi_rmic_source_files) - @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_rmic_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/rmic.list - --include gnu/java/rmi/rmic.deps - - gnu_java_rmi_server_source_files = \ classpath/gnu/java/rmi/server/ActivatableRef.java \ classpath/gnu/java/rmi/server/ActivatableServerRef.java \ @@ -1841,11 +1691,7 @@ gnu_java_rmi_server_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. gnu/java/rmi/server.list: $(gnu_java_rmi_server_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_rmi_server_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/rmi/server.list + echo $(srcdir)/classpath/lib/gnu/java/rmi/server/*.class > gnu/java/rmi/server.list -include gnu/java/rmi/server.deps @@ -1856,17 +1702,14 @@ classpath/gnu/java/security/Engine.java \ classpath/gnu/java/security/OID.java \ classpath/gnu/java/security/PolicyFile.java \ classpath/gnu/java/security/Properties.java \ -classpath/gnu/java/security/Registry.java +classpath/gnu/java/security/Registry.java \ +classpath/gnu/java/security/Requires.java gnu_java_security_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_security_source_files))) gnu/java/security.list: $(gnu_java_security_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security.list + echo $(srcdir)/classpath/lib/gnu/java/security/*.class > gnu/java/security.list -include gnu/java/security.deps @@ -1880,11 +1723,7 @@ gnu_java_security_action_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/java/security/action.list: $(gnu_java_security_action_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_action_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/action.list + echo $(srcdir)/classpath/lib/gnu/java/security/action/*.class > gnu/java/security/action.list -include gnu/java/security/action.deps @@ -1899,11 +1738,7 @@ gnu_java_security_ber_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/java/security/ber.list: $(gnu_java_security_ber_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_ber_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/ber.list + echo $(srcdir)/classpath/lib/gnu/java/security/ber/*.class > gnu/java/security/ber.list -include gnu/java/security/ber.deps @@ -1920,11 +1755,7 @@ gnu_java_security_der_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/java/security/der.list: $(gnu_java_security_der_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_der_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/der.list + echo $(srcdir)/classpath/lib/gnu/java/security/der/*.class > gnu/java/security/der.list -include gnu/java/security/der.deps @@ -1950,11 +1781,7 @@ gnu_java_security_hash_header_files = $(patsubst classpath/%,%,$(patsubst %.java gnu/java/security/hash.list: $(gnu_java_security_hash_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_hash_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/hash.list + echo $(srcdir)/classpath/lib/gnu/java/security/hash/*.class > gnu/java/security/hash.list -include gnu/java/security/hash.deps @@ -1978,11 +1805,7 @@ gnu_java_security_jce_hash_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/security/jce/hash.list: $(gnu_java_security_jce_hash_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_jce_hash_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/jce/hash.list + echo $(srcdir)/classpath/lib/gnu/java/security/jce/hash/*.class > gnu/java/security/jce/hash.list -include gnu/java/security/jce/hash.deps @@ -2006,11 +1829,7 @@ gnu_java_security_jce_prng_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/security/jce/prng.list: $(gnu_java_security_jce_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_jce_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/jce/prng.list + echo $(srcdir)/classpath/lib/gnu/java/security/jce/prng/*.class > gnu/java/security/jce/prng.list -include gnu/java/security/jce/prng.deps @@ -2039,11 +1858,7 @@ gnu_java_security_jce_sig_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/security/jce/sig.list: $(gnu_java_security_jce_sig_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_jce_sig_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/jce/sig.list + echo $(srcdir)/classpath/lib/gnu/java/security/jce/sig/*.class > gnu/java/security/jce/sig.list -include gnu/java/security/jce/sig.deps @@ -2058,11 +1873,7 @@ gnu_java_security_key_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/java/security/key.list: $(gnu_java_security_key_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_key_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/key.list + echo $(srcdir)/classpath/lib/gnu/java/security/key/*.class > gnu/java/security/key.list -include gnu/java/security/key.deps @@ -2081,11 +1892,7 @@ gnu_java_security_key_dss_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/security/key/dss.list: $(gnu_java_security_key_dss_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_key_dss_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/key/dss.list + echo $(srcdir)/classpath/lib/gnu/java/security/key/dss/*.class > gnu/java/security/key/dss.list -include gnu/java/security/key/dss.deps @@ -2103,11 +1910,7 @@ gnu_java_security_key_rsa_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/security/key/rsa.list: $(gnu_java_security_key_rsa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_key_rsa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/key/rsa.list + echo $(srcdir)/classpath/lib/gnu/java/security/key/rsa/*.class > gnu/java/security/key/rsa.list -include gnu/java/security/key/rsa.deps @@ -2121,11 +1924,7 @@ gnu_java_security_pkcs_header_files = $(patsubst classpath/%,%,$(patsubst %.java gnu/java/security/pkcs.list: $(gnu_java_security_pkcs_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_pkcs_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/pkcs.list + echo $(srcdir)/classpath/lib/gnu/java/security/pkcs/*.class > gnu/java/security/pkcs.list -include gnu/java/security/pkcs.deps @@ -2144,11 +1943,7 @@ gnu_java_security_prng_header_files = $(patsubst classpath/%,%,$(patsubst %.java gnu/java/security/prng.list: $(gnu_java_security_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/prng.list + echo $(srcdir)/classpath/lib/gnu/java/security/prng/*.class > gnu/java/security/prng.list -include gnu/java/security/prng.deps @@ -2164,11 +1959,7 @@ gnu_java_security_provider_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/security/provider.list: $(gnu_java_security_provider_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_provider_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/provider.list + echo $(srcdir)/classpath/lib/gnu/java/security/provider/*.class > gnu/java/security/provider.list -include gnu/java/security/provider.deps @@ -2184,11 +1975,7 @@ gnu_java_security_sig_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/java/security/sig.list: $(gnu_java_security_sig_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_sig_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/sig.list + echo $(srcdir)/classpath/lib/gnu/java/security/sig/*.class > gnu/java/security/sig.list -include gnu/java/security/sig.deps @@ -2202,11 +1989,7 @@ gnu_java_security_sig_dss_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/security/sig/dss.list: $(gnu_java_security_sig_dss_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_sig_dss_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/sig/dss.list + echo $(srcdir)/classpath/lib/gnu/java/security/sig/dss/*.class > gnu/java/security/sig/dss.list -include gnu/java/security/sig/dss.deps @@ -2227,11 +2010,7 @@ gnu_java_security_sig_rsa_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/java/security/sig/rsa.list: $(gnu_java_security_sig_rsa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_sig_rsa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/sig/rsa.list + echo $(srcdir)/classpath/lib/gnu/java/security/sig/rsa/*.class > gnu/java/security/sig/rsa.list -include gnu/java/security/sig/rsa.deps @@ -2239,6 +2018,7 @@ gnu/java/security/sig/rsa.list: $(gnu_java_security_sig_rsa_source_files) gnu_java_security_util_source_files = \ classpath/gnu/java/security/util/Base64.java \ classpath/gnu/java/security/util/ByteArray.java \ +classpath/gnu/java/security/util/ByteBufferOutputStream.java \ classpath/gnu/java/security/util/DerUtil.java \ classpath/gnu/java/security/util/ExpirableObject.java \ classpath/gnu/java/security/util/FormatUtil.java \ @@ -2253,11 +2033,7 @@ gnu_java_security_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java gnu/java/security/util.list: $(gnu_java_security_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/util.list + echo $(srcdir)/classpath/lib/gnu/java/security/util/*.class > gnu/java/security/util.list -include gnu/java/security/util.deps @@ -2278,11 +2054,7 @@ gnu_java_security_x509_header_files = $(patsubst classpath/%,%,$(patsubst %.java gnu/java/security/x509.list: $(gnu_java_security_x509_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_x509_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/x509.list + echo $(srcdir)/classpath/lib/gnu/java/security/x509/*.class > gnu/java/security/x509.list -include gnu/java/security/x509.deps @@ -2308,11 +2080,7 @@ gnu_java_security_x509_ext_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/java/security/x509/ext.list: $(gnu_java_security_x509_ext_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_security_x509_ext_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/security/x509/ext.list + echo $(srcdir)/classpath/lib/gnu/java/security/x509/ext/*.class > gnu/java/security/x509/ext.list -include gnu/java/security/x509/ext.deps @@ -2332,11 +2100,7 @@ gnu_java_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gn gnu/java/text.list: $(gnu_java_text_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_text_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/text.list + echo $(srcdir)/classpath/lib/gnu/java/text/*.class > gnu/java/text.list -include gnu/java/text.deps @@ -2350,11 +2114,7 @@ gnu_java_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gn gnu/java/util.list: $(gnu_java_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util.list + echo $(srcdir)/classpath/lib/gnu/java/util/*.class > gnu/java/util.list -include gnu/java/util.deps @@ -2366,11 +2126,7 @@ gnu_java_util_jar_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, gnu/java/util/jar.list: $(gnu_java_util_jar_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_jar_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util/jar.list + echo $(srcdir)/classpath/lib/gnu/java/util/jar/*.class > gnu/java/util/jar.list -include gnu/java/util/jar.deps @@ -2390,11 +2146,7 @@ gnu_java_util_prefs_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. gnu/java/util/prefs.list: $(gnu_java_util_prefs_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_prefs_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util/prefs.list + echo $(srcdir)/classpath/lib/gnu/java/util/prefs/*.class > gnu/java/util/prefs.list -include gnu/java/util/prefs.deps @@ -2403,7 +2155,7 @@ gnu_java_util_prefs_gconf_source_files = \ classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java gnu-java-util-prefs-gconf.lo: $(gnu_java_util_prefs_gconf_source_files) - @find classpath/lib/gnu/java/util/prefs/gconf -name '*.class' > gnu-java-util-prefs-gconf.list + @find $(srcdir)/classpath/lib/gnu/java/util/prefs/gconf -name '*.class' > gnu-java-util-prefs-gconf.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-java-util-prefs-gconf.lo @gnu-java-util-prefs-gconf.list @rm -f gnu-java-util-prefs-gconf.list @@ -2444,11 +2196,7 @@ gnu_java_util_regex_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. gnu/java/util/regex.list: $(gnu_java_util_regex_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_java_util_regex_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/java/util/regex.list + echo $(srcdir)/classpath/lib/gnu/java/util/regex/*.class > gnu/java/util/regex.list -include gnu/java/util/regex.deps @@ -2460,11 +2208,7 @@ gnu_javax_crypto_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ gnu/javax/crypto.list: $(gnu_javax_crypto_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/*.class > gnu/javax/crypto.list -include gnu/javax/crypto.deps @@ -2488,11 +2232,7 @@ gnu_javax_crypto_assembly_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/javax/crypto/assembly.list: $(gnu_javax_crypto_assembly_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_assembly_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/assembly.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/assembly/*.class > gnu/javax/crypto/assembly.list -include gnu/javax/crypto/assembly.deps @@ -2519,11 +2259,7 @@ gnu_javax_crypto_cipher_header_files = $(patsubst classpath/%,%,$(patsubst %.jav gnu/javax/crypto/cipher.list: $(gnu_javax_crypto_cipher_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_cipher_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/cipher.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/cipher/*.class > gnu/javax/crypto/cipher.list -include gnu/javax/crypto/cipher.deps @@ -2538,11 +2274,7 @@ gnu_javax_crypto_jce_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/javax/crypto/jce.list: $(gnu_javax_crypto_jce_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/*.class > gnu/javax/crypto/jce.list -include gnu/javax/crypto/jce.deps @@ -2574,11 +2306,7 @@ gnu_javax_crypto_jce_cipher_header_files = $(patsubst classpath/%,%,$(patsubst % gnu/javax/crypto/jce/cipher.list: $(gnu_javax_crypto_jce_cipher_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_cipher_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/cipher.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/cipher/*.class > gnu/javax/crypto/jce/cipher.list -include gnu/javax/crypto/jce/cipher.deps @@ -2611,11 +2339,7 @@ gnu_javax_crypto_jce_key_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/javax/crypto/jce/key.list: $(gnu_javax_crypto_jce_key_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_key_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/key.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/key/*.class > gnu/javax/crypto/jce/key.list -include gnu/javax/crypto/jce/key.deps @@ -2627,11 +2351,7 @@ gnu_javax_crypto_jce_keyring_header_files = $(patsubst classpath/%,%,$(patsubst gnu/javax/crypto/jce/keyring.list: $(gnu_javax_crypto_jce_keyring_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_keyring_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/keyring.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/keyring/*.class > gnu/javax/crypto/jce/keyring.list -include gnu/javax/crypto/jce/keyring.deps @@ -2669,11 +2389,7 @@ gnu_javax_crypto_jce_mac_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/javax/crypto/jce/mac.list: $(gnu_javax_crypto_jce_mac_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_mac_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/mac.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/mac/*.class > gnu/javax/crypto/jce/mac.list -include gnu/javax/crypto/jce/mac.deps @@ -2688,11 +2404,7 @@ gnu_javax_crypto_jce_params_header_files = $(patsubst classpath/%,%,$(patsubst % gnu/javax/crypto/jce/params.list: $(gnu_javax_crypto_jce_params_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_params_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/params.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/params/*.class > gnu/javax/crypto/jce/params.list -include gnu/javax/crypto/jce/params.deps @@ -2708,11 +2420,7 @@ gnu_javax_crypto_jce_prng_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/javax/crypto/jce/prng.list: $(gnu_javax_crypto_jce_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/prng.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/prng/*.class > gnu/javax/crypto/jce/prng.list -include gnu/javax/crypto/jce/prng.deps @@ -2727,11 +2435,7 @@ gnu_javax_crypto_jce_sig_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/javax/crypto/jce/sig.list: $(gnu_javax_crypto_jce_sig_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_sig_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/sig.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/sig/*.class > gnu/javax/crypto/jce/sig.list -include gnu/javax/crypto/jce/sig.deps @@ -2745,17 +2449,14 @@ gnu_javax_crypto_jce_spec_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/javax/crypto/jce/spec.list: $(gnu_javax_crypto_jce_spec_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_jce_spec_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/jce/spec.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/jce/spec/*.class > gnu/javax/crypto/jce/spec.list -include gnu/javax/crypto/jce/spec.deps gnu_javax_crypto_key_source_files = \ classpath/gnu/javax/crypto/key/BaseKeyAgreementParty.java \ +classpath/gnu/javax/crypto/key/GnuPBEKey.java \ classpath/gnu/javax/crypto/key/GnuSecretKey.java \ classpath/gnu/javax/crypto/key/IKeyAgreementParty.java \ classpath/gnu/javax/crypto/key/IncomingMessage.java \ @@ -2767,11 +2468,7 @@ gnu_javax_crypto_key_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/javax/crypto/key.list: $(gnu_javax_crypto_key_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_key_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/key.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/key/*.class > gnu/javax/crypto/key.list -include gnu/javax/crypto/key.deps @@ -2796,11 +2493,7 @@ gnu_javax_crypto_key_dh_header_files = $(patsubst classpath/%,%,$(patsubst %.jav gnu/javax/crypto/key/dh.list: $(gnu_javax_crypto_key_dh_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_key_dh_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/key/dh.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/key/dh/*.class > gnu/javax/crypto/key/dh.list -include gnu/javax/crypto/key/dh.deps @@ -2824,11 +2517,7 @@ gnu_javax_crypto_key_srp6_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/javax/crypto/key/srp6.list: $(gnu_javax_crypto_key_srp6_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_key_srp6_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/key/srp6.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/key/srp6/*.class > gnu/javax/crypto/key/srp6.list -include gnu/javax/crypto/key/srp6.deps @@ -2863,11 +2552,7 @@ gnu_javax_crypto_keyring_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/javax/crypto/keyring.list: $(gnu_javax_crypto_keyring_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_keyring_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/keyring.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/keyring/*.class > gnu/javax/crypto/keyring.list -include gnu/javax/crypto/keyring.deps @@ -2884,11 +2569,7 @@ gnu_javax_crypto_kwa_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/javax/crypto/kwa.list: $(gnu_javax_crypto_kwa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_kwa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/kwa.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/kwa/*.class > gnu/javax/crypto/kwa.list -include gnu/javax/crypto/kwa.deps @@ -2910,11 +2591,7 @@ gnu_javax_crypto_mac_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/javax/crypto/mac.list: $(gnu_javax_crypto_mac_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_mac_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/mac.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/mac/*.class > gnu/javax/crypto/mac.list -include gnu/javax/crypto/mac.deps @@ -2936,11 +2613,7 @@ gnu_javax_crypto_mode_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/javax/crypto/mode.list: $(gnu_javax_crypto_mode_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_mode_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/mode.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/mode/*.class > gnu/javax/crypto/mode.list -include gnu/javax/crypto/mode.deps @@ -2961,11 +2634,7 @@ gnu_javax_crypto_pad_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/javax/crypto/pad.list: $(gnu_javax_crypto_pad_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_pad_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/pad.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/pad/*.class > gnu/javax/crypto/pad.list -include gnu/javax/crypto/pad.deps @@ -2984,11 +2653,7 @@ gnu_javax_crypto_prng_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/javax/crypto/prng.list: $(gnu_javax_crypto_prng_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_prng_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/prng.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/prng/*.class > gnu/javax/crypto/prng.list -include gnu/javax/crypto/prng.deps @@ -3019,11 +2684,7 @@ gnu_javax_crypto_sasl_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/javax/crypto/sasl.list: $(gnu_javax_crypto_sasl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/*.class > gnu/javax/crypto/sasl.list -include gnu/javax/crypto/sasl.deps @@ -3037,11 +2698,7 @@ gnu_javax_crypto_sasl_anonymous_header_files = $(patsubst classpath/%,%,$(patsub gnu/javax/crypto/sasl/anonymous.list: $(gnu_javax_crypto_sasl_anonymous_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_anonymous_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/anonymous.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/anonymous/*.class > gnu/javax/crypto/sasl/anonymous.list -include gnu/javax/crypto/sasl/anonymous.deps @@ -3058,11 +2715,7 @@ gnu_javax_crypto_sasl_crammd5_header_files = $(patsubst classpath/%,%,$(patsubst gnu/javax/crypto/sasl/crammd5.list: $(gnu_javax_crypto_sasl_crammd5_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_crammd5_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/crammd5.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/crammd5/*.class > gnu/javax/crypto/sasl/crammd5.list -include gnu/javax/crypto/sasl/crammd5.deps @@ -3078,11 +2731,7 @@ gnu_javax_crypto_sasl_plain_header_files = $(patsubst classpath/%,%,$(patsubst % gnu/javax/crypto/sasl/plain.list: $(gnu_javax_crypto_sasl_plain_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_plain_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/plain.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/plain/*.class > gnu/javax/crypto/sasl/plain.list -include gnu/javax/crypto/sasl/plain.deps @@ -3106,11 +2755,7 @@ gnu_javax_crypto_sasl_srp_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/javax/crypto/sasl/srp.list: $(gnu_javax_crypto_sasl_srp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_crypto_sasl_srp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/crypto/sasl/srp.list + echo $(srcdir)/classpath/lib/gnu/javax/crypto/sasl/srp/*.class > gnu/javax/crypto/sasl/srp.list -include gnu/javax/crypto/sasl/srp.deps @@ -3122,11 +2767,7 @@ gnu_javax_imageio_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, gnu/javax/imageio.list: $(gnu_javax_imageio_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/*.class > gnu/javax/imageio.list -include gnu/javax/imageio.deps @@ -3162,11 +2803,7 @@ gnu_javax_imageio_bmp_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/javax/imageio/bmp.list: $(gnu_javax_imageio_bmp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_bmp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/bmp.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/bmp/*.class > gnu/javax/imageio/bmp.list -include gnu/javax/imageio/bmp.deps @@ -3180,11 +2817,7 @@ gnu_javax_imageio_gif_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/javax/imageio/gif.list: $(gnu_javax_imageio_gif_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_gif_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/gif.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/gif/*.class > gnu/javax/imageio/gif.list -include gnu/javax/imageio/gif.deps @@ -3209,11 +2842,7 @@ gnu_javax_imageio_jpeg_header_files = $(patsubst classpath/%,%,$(patsubst %.java gnu/javax/imageio/jpeg.list: $(gnu_javax_imageio_jpeg_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_jpeg_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/jpeg.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/jpeg/*.class > gnu/javax/imageio/jpeg.list -include gnu/javax/imageio/jpeg.deps @@ -3239,109 +2868,207 @@ gnu_javax_imageio_png_header_files = $(patsubst classpath/%,%,$(patsubst %.java, gnu/javax/imageio/png.list: $(gnu_javax_imageio_png_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_imageio_png_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/imageio/png.list + echo $(srcdir)/classpath/lib/gnu/javax/imageio/png/*.class > gnu/javax/imageio/png.list -include gnu/javax/imageio/png.deps +gnu_javax_management_source_files = \ +classpath/gnu/javax/management/Server.java + +gnu_javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_management_source_files))) + +gnu/javax/management.list: $(gnu_javax_management_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/management/*.class > gnu/javax/management.list + +-include gnu/javax/management.deps + + +gnu_javax_naming_giop_source_files = \ +classpath/gnu/javax/naming/giop/ContextContinuation.java \ +classpath/gnu/javax/naming/giop/CorbalocParser.java \ +classpath/gnu/javax/naming/giop/GiopNamingEnumeration.java \ +classpath/gnu/javax/naming/giop/GiopNamingServiceFactory.java \ +classpath/gnu/javax/naming/giop/GiopNamingServiceURLContext.java \ +classpath/gnu/javax/naming/giop/ListBindingsEnumeration.java \ +classpath/gnu/javax/naming/giop/ListEnumeration.java + +gnu_javax_naming_giop_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_giop_source_files))) + +gnu/javax/naming/giop.list: $(gnu_javax_naming_giop_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/giop/*.class > gnu/javax/naming/giop.list + +-include gnu/javax/naming/giop.deps + + +gnu_javax_naming_ictxImpl_trans_source_files = \ +classpath/gnu/javax/naming/ictxImpl/trans/GnuName.java + +gnu_javax_naming_ictxImpl_trans_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_ictxImpl_trans_source_files))) + +gnu/javax/naming/ictxImpl/trans.list: $(gnu_javax_naming_ictxImpl_trans_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/ictxImpl/trans/*.class > gnu/javax/naming/ictxImpl/trans.list + +-include gnu/javax/naming/ictxImpl/trans.deps + + +gnu_javax_naming_jndi_url_corbaname_source_files = \ +classpath/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java + +gnu_javax_naming_jndi_url_corbaname_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_jndi_url_corbaname_source_files))) + +gnu/javax/naming/jndi/url/corbaname.list: $(gnu_javax_naming_jndi_url_corbaname_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/jndi/url/corbaname/*.class > gnu/javax/naming/jndi/url/corbaname.list + +-include gnu/javax/naming/jndi/url/corbaname.deps + + +gnu_javax_naming_jndi_url_rmi_source_files = \ +classpath/gnu/javax/naming/jndi/url/rmi/ContextContinuation.java \ +classpath/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java \ +classpath/gnu/javax/naming/jndi/url/rmi/ListEnumeration.java \ +classpath/gnu/javax/naming/jndi/url/rmi/RmiContinuation.java \ +classpath/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java \ +classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContext.java \ +classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java + +gnu_javax_naming_jndi_url_rmi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_jndi_url_rmi_source_files))) + +gnu/javax/naming/jndi/url/rmi.list: $(gnu_javax_naming_jndi_url_rmi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/naming/jndi/url/rmi/*.class > gnu/javax/naming/jndi/url/rmi.list + +-include gnu/javax/naming/jndi/url/rmi.deps + + gnu_javax_net_ssl_source_files = \ +classpath/gnu/javax/net/ssl/AbstractSessionContext.java \ classpath/gnu/javax/net/ssl/Base64.java \ classpath/gnu/javax/net/ssl/EntropySource.java \ classpath/gnu/javax/net/ssl/NullManagerParameters.java \ +classpath/gnu/javax/net/ssl/PreSharedKeyManager.java \ +classpath/gnu/javax/net/ssl/PreSharedKeyManagerParameters.java \ classpath/gnu/javax/net/ssl/PrivateCredentials.java \ classpath/gnu/javax/net/ssl/SRPManagerParameters.java \ classpath/gnu/javax/net/ssl/SRPTrustManager.java \ +classpath/gnu/javax/net/ssl/SSLCipherSuite.java \ +classpath/gnu/javax/net/ssl/SSLProtocolVersion.java \ +classpath/gnu/javax/net/ssl/SSLRecordHandler.java \ +classpath/gnu/javax/net/ssl/Session.java \ +classpath/gnu/javax/net/ssl/SessionStoreException.java \ classpath/gnu/javax/net/ssl/StaticTrustAnchors.java gnu_javax_net_ssl_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_net_ssl_source_files))) gnu/javax/net/ssl.list: $(gnu_javax_net_ssl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_net_ssl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/net/ssl.list + echo $(srcdir)/classpath/lib/gnu/javax/net/ssl/*.class > gnu/javax/net/ssl.list -include gnu/javax/net/ssl.deps gnu_javax_net_ssl_provider_source_files = \ +classpath/gnu/javax/net/ssl/provider/AbstractHandshake.java \ classpath/gnu/javax/net/ssl/provider/Alert.java \ classpath/gnu/javax/net/ssl/provider/AlertException.java \ +classpath/gnu/javax/net/ssl/provider/Builder.java \ classpath/gnu/javax/net/ssl/provider/Certificate.java \ +classpath/gnu/javax/net/ssl/provider/CertificateBuilder.java \ classpath/gnu/javax/net/ssl/provider/CertificateRequest.java \ +classpath/gnu/javax/net/ssl/provider/CertificateRequestBuilder.java \ +classpath/gnu/javax/net/ssl/provider/CertificateStatusRequest.java \ +classpath/gnu/javax/net/ssl/provider/CertificateStatusType.java \ classpath/gnu/javax/net/ssl/provider/CertificateType.java \ +classpath/gnu/javax/net/ssl/provider/CertificateURL.java \ classpath/gnu/javax/net/ssl/provider/CertificateVerify.java \ +classpath/gnu/javax/net/ssl/provider/CipherAlgorithm.java \ classpath/gnu/javax/net/ssl/provider/CipherSuite.java \ +classpath/gnu/javax/net/ssl/provider/CipherSuiteList.java \ +classpath/gnu/javax/net/ssl/provider/ClientCertificateTypeList.java \ +classpath/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java \ +classpath/gnu/javax/net/ssl/provider/ClientHandshake.java \ classpath/gnu/javax/net/ssl/provider/ClientHello.java \ +classpath/gnu/javax/net/ssl/provider/ClientHelloBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ClientHelloV2.java \ classpath/gnu/javax/net/ssl/provider/ClientKeyExchange.java \ +classpath/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ClientPSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java \ classpath/gnu/javax/net/ssl/provider/CompressionMethod.java \ +classpath/gnu/javax/net/ssl/provider/CompressionMethodList.java \ classpath/gnu/javax/net/ssl/provider/Constructed.java \ classpath/gnu/javax/net/ssl/provider/ContentType.java \ -classpath/gnu/javax/net/ssl/provider/Context.java \ +classpath/gnu/javax/net/ssl/provider/Debug.java \ +classpath/gnu/javax/net/ssl/provider/DelegatedTask.java \ classpath/gnu/javax/net/ssl/provider/DiffieHellman.java \ -classpath/gnu/javax/net/ssl/provider/DigestInputStream.java \ -classpath/gnu/javax/net/ssl/provider/DigestOutputStream.java \ -classpath/gnu/javax/net/ssl/provider/Enumerated.java \ +classpath/gnu/javax/net/ssl/provider/EmptyExchangeKeys.java \ +classpath/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java \ +classpath/gnu/javax/net/ssl/provider/ExchangeKeys.java \ classpath/gnu/javax/net/ssl/provider/Extension.java \ -classpath/gnu/javax/net/ssl/provider/Extensions.java \ +classpath/gnu/javax/net/ssl/provider/ExtensionList.java \ classpath/gnu/javax/net/ssl/provider/Finished.java \ -classpath/gnu/javax/net/ssl/provider/GNUSecurityParameters.java \ classpath/gnu/javax/net/ssl/provider/Handshake.java \ -classpath/gnu/javax/net/ssl/provider/JCESecurityParameters.java \ -classpath/gnu/javax/net/ssl/provider/JDBCSessionContext.java \ +classpath/gnu/javax/net/ssl/provider/HelloRequest.java \ +classpath/gnu/javax/net/ssl/provider/InputSecurityParameters.java \ classpath/gnu/javax/net/ssl/provider/Jessie.java \ -classpath/gnu/javax/net/ssl/provider/JessieDHPrivateKey.java \ -classpath/gnu/javax/net/ssl/provider/JessieDHPublicKey.java \ -classpath/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java \ -classpath/gnu/javax/net/ssl/provider/JessieRSAPublicKey.java \ -classpath/gnu/javax/net/ssl/provider/KeyPool.java \ +classpath/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java \ +classpath/gnu/javax/net/ssl/provider/MacAlgorithm.java \ classpath/gnu/javax/net/ssl/provider/MacException.java \ -classpath/gnu/javax/net/ssl/provider/OverflowException.java \ +classpath/gnu/javax/net/ssl/provider/MaxFragmentLength.java \ +classpath/gnu/javax/net/ssl/provider/OutputSecurityParameters.java \ +classpath/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java \ classpath/gnu/javax/net/ssl/provider/ProtocolVersion.java \ classpath/gnu/javax/net/ssl/provider/Random.java \ -classpath/gnu/javax/net/ssl/provider/RecordInput.java \ -classpath/gnu/javax/net/ssl/provider/RecordInputStream.java \ -classpath/gnu/javax/net/ssl/provider/RecordOutputStream.java \ -classpath/gnu/javax/net/ssl/provider/RecordingInputStream.java \ +classpath/gnu/javax/net/ssl/provider/Record.java \ classpath/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.java \ +classpath/gnu/javax/net/ssl/provider/SSLContextImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java \ classpath/gnu/javax/net/ssl/provider/SSLHMac.java \ -classpath/gnu/javax/net/ssl/provider/SSLRSASignature.java \ +classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java \ classpath/gnu/javax/net/ssl/provider/SSLRandom.java \ -classpath/gnu/javax/net/ssl/provider/SSLServerSocket.java \ -classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactory.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocket.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocketFactory.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocketInputStream.java \ -classpath/gnu/javax/net/ssl/provider/SSLSocketOutputStream.java \ -classpath/gnu/javax/net/ssl/provider/SecurityParameters.java \ +classpath/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLServerSocketImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLSocketImpl.java \ +classpath/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java \ +classpath/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java \ +classpath/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ServerDHParams.java \ +classpath/gnu/javax/net/ssl/provider/ServerHandshake.java \ classpath/gnu/javax/net/ssl/provider/ServerHello.java \ +classpath/gnu/javax/net/ssl/provider/ServerHelloBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ServerHelloDone.java \ classpath/gnu/javax/net/ssl/provider/ServerKeyExchange.java \ -classpath/gnu/javax/net/ssl/provider/Session.java \ -classpath/gnu/javax/net/ssl/provider/SessionContext.java \ +classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java \ +classpath/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java \ +classpath/gnu/javax/net/ssl/provider/ServerNameList.java \ +classpath/gnu/javax/net/ssl/provider/ServerPSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/ServerRSAParams.java \ +classpath/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java \ +classpath/gnu/javax/net/ssl/provider/SessionImpl.java \ classpath/gnu/javax/net/ssl/provider/Signature.java \ -classpath/gnu/javax/net/ssl/provider/SynchronizedRandom.java \ +classpath/gnu/javax/net/ssl/provider/SignatureAlgorithm.java \ +classpath/gnu/javax/net/ssl/provider/SimpleSessionContext.java \ classpath/gnu/javax/net/ssl/provider/TLSHMac.java \ classpath/gnu/javax/net/ssl/provider/TLSRandom.java \ +classpath/gnu/javax/net/ssl/provider/TruncatedHMAC.java \ +classpath/gnu/javax/net/ssl/provider/TrustedAuthorities.java \ +classpath/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java \ classpath/gnu/javax/net/ssl/provider/Util.java \ +classpath/gnu/javax/net/ssl/provider/X500PrincipalList.java \ classpath/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java \ -classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java \ -classpath/gnu/javax/net/ssl/provider/XMLSessionContext.java +classpath/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java gnu_javax_net_ssl_provider_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_net_ssl_provider_source_files))) gnu/javax/net/ssl/provider.list: $(gnu_javax_net_ssl_provider_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_net_ssl_provider_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/net/ssl/provider.list + echo $(srcdir)/classpath/lib/gnu/javax/net/ssl/provider/*.class > gnu/javax/net/ssl/provider.list -include gnu/javax/net/ssl/provider.deps @@ -3361,11 +3088,7 @@ gnu_javax_print_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$( gnu/javax/print.list: $(gnu_javax_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print.list + echo $(srcdir)/classpath/lib/gnu/javax/print/*.class > gnu/javax/print.list -include gnu/javax/print.deps @@ -3387,11 +3110,7 @@ gnu_javax_print_ipp_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. gnu/javax/print/ipp.list: $(gnu_javax_print_ipp_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/*.class > gnu/javax/print/ipp.list -include gnu/javax/print/ipp.deps @@ -3410,11 +3129,7 @@ gnu_javax_print_ipp_attribute_header_files = $(patsubst classpath/%,%,$(patsubst gnu/javax/print/ipp/attribute.list: $(gnu_javax_print_ipp_attribute_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/*.class > gnu/javax/print/ipp/attribute.list -include gnu/javax/print/ipp/attribute.deps @@ -3438,11 +3153,7 @@ gnu_javax_print_ipp_attribute_defaults_header_files = $(patsubst classpath/%,%,$ gnu/javax/print/ipp/attribute/defaults.list: $(gnu_javax_print_ipp_attribute_defaults_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_defaults_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/defaults.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/defaults/*.class > gnu/javax/print/ipp/attribute/defaults.list -include gnu/javax/print/ipp/attribute/defaults.deps @@ -3462,11 +3173,7 @@ gnu_javax_print_ipp_attribute_job_header_files = $(patsubst classpath/%,%,$(pats gnu/javax/print/ipp/attribute/job.list: $(gnu_javax_print_ipp_attribute_job_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_job_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/job.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/job/*.class > gnu/javax/print/ipp/attribute/job.list -include gnu/javax/print/ipp/attribute/job.deps @@ -3485,11 +3192,7 @@ gnu_javax_print_ipp_attribute_printer_header_files = $(patsubst classpath/%,%,$( gnu/javax/print/ipp/attribute/printer.list: $(gnu_javax_print_ipp_attribute_printer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_printer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/printer.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/printer/*.class > gnu/javax/print/ipp/attribute/printer.list -include gnu/javax/print/ipp/attribute/printer.deps @@ -3520,11 +3223,7 @@ gnu_javax_print_ipp_attribute_supported_header_files = $(patsubst classpath/%,%, gnu/javax/print/ipp/attribute/supported.list: $(gnu_javax_print_ipp_attribute_supported_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_print_ipp_attribute_supported_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/print/ipp/attribute/supported.list + echo $(srcdir)/classpath/lib/gnu/javax/print/ipp/attribute/supported/*.class > gnu/javax/print/ipp/attribute/supported.list -include gnu/javax/print/ipp/attribute/supported.deps @@ -3543,7 +3242,7 @@ classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java \ classpath/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.java gnu-javax-rmi.lo: $(gnu_javax_rmi_source_files) - @find classpath/lib/gnu/javax/rmi -name '*.class' > gnu-javax-rmi.list + @find $(srcdir)/classpath/lib/gnu/javax/rmi -name '*.class' > gnu-javax-rmi.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-rmi.lo @gnu-javax-rmi.list @rm -f gnu-javax-rmi.list @@ -3554,11 +3253,7 @@ gnu_javax_security_auth_header_files = $(patsubst classpath/%,%,$(patsubst %.jav gnu/javax/security/auth.list: $(gnu_javax_security_auth_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_security_auth_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/security/auth.list + echo $(srcdir)/classpath/lib/gnu/javax/security/auth/*.class > gnu/javax/security/auth.list -include gnu/javax/security/auth.deps @@ -3566,6 +3261,7 @@ gnu/javax/security/auth.list: $(gnu_javax_security_auth_source_files) gnu_javax_security_auth_callback_source_files = \ classpath/gnu/javax/security/auth/callback/AWTCallbackHandler.java \ classpath/gnu/javax/security/auth/callback/AbstractCallbackHandler.java \ +classpath/gnu/javax/security/auth/callback/CertificateCallback.java \ classpath/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java \ classpath/gnu/javax/security/auth/callback/DefaultCallbackHandler.java \ classpath/gnu/javax/security/auth/callback/GnuCallbacks.java \ @@ -3575,11 +3271,7 @@ gnu_javax_security_auth_callback_header_files = $(patsubst classpath/%,%,$(patsu gnu/javax/security/auth/callback.list: $(gnu_javax_security_auth_callback_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_security_auth_callback_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/security/auth/callback.list + echo $(srcdir)/classpath/lib/gnu/javax/security/auth/callback/*.class > gnu/javax/security/auth/callback.list -include gnu/javax/security/auth/callback.deps @@ -3593,11 +3285,7 @@ gnu_javax_security_auth_login_header_files = $(patsubst classpath/%,%,$(patsubst gnu/javax/security/auth/login.list: $(gnu_javax_security_auth_login_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_security_auth_login_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/security/auth/login.list + echo $(srcdir)/classpath/lib/gnu/javax/security/auth/login/*.class > gnu/javax/security/auth/login.list -include gnu/javax/security/auth/login.deps @@ -3617,7 +3305,7 @@ classpath/gnu/javax/sound/midi/file/MidiFileReader.java \ classpath/gnu/javax/sound/midi/file/MidiFileWriter.java gnu-javax-sound-midi.lo: $(gnu_javax_sound_midi_source_files) - @find classpath/lib/gnu/javax/sound/midi -name '*.class' > gnu-javax-sound-midi.list + @find $(srcdir)/classpath/lib/gnu/javax/sound/midi -name '*.class' > gnu-javax-sound-midi.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-javax-sound-midi.lo @gnu-javax-sound-midi.list @rm -f gnu-javax-sound-midi.list @@ -3628,11 +3316,7 @@ gnu_javax_sound_sampled_AU_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/javax/sound/sampled/AU.list: $(gnu_javax_sound_sampled_AU_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_sound_sampled_AU_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/sound/sampled/AU.list + echo $(srcdir)/classpath/lib/gnu/javax/sound/sampled/AU/*.class > gnu/javax/sound/sampled/AU.list -include gnu/javax/sound/sampled/AU.deps @@ -3644,11 +3328,7 @@ gnu_javax_sound_sampled_WAV_header_files = $(patsubst classpath/%,%,$(patsubst % gnu/javax/sound/sampled/WAV.list: $(gnu_javax_sound_sampled_WAV_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_sound_sampled_WAV_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/sound/sampled/WAV.list + echo $(srcdir)/classpath/lib/gnu/javax/sound/sampled/WAV/*.class > gnu/javax/sound/sampled/WAV.list -include gnu/javax/sound/sampled/WAV.deps @@ -3660,11 +3340,7 @@ gnu_javax_swing_plaf_gnu_header_files = $(patsubst classpath/%,%,$(patsubst %.ja gnu/javax/swing/plaf/gnu.list: $(gnu_javax_swing_plaf_gnu_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_plaf_gnu_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/plaf/gnu.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/plaf/gnu/*.class > gnu/javax/swing/plaf/gnu.list -include gnu/javax/swing/plaf/gnu.deps @@ -3676,11 +3352,7 @@ gnu_javax_swing_plaf_metal_header_files = $(patsubst classpath/%,%,$(patsubst %. gnu/javax/swing/plaf/metal.list: $(gnu_javax_swing_plaf_metal_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_plaf_metal_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/plaf/metal.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/plaf/metal/*.class > gnu/javax/swing/plaf/metal.list -include gnu/javax/swing/plaf/metal.deps @@ -3694,19 +3366,38 @@ gnu_javax_swing_text_html_header_files = $(patsubst classpath/%,%,$(patsubst %.j gnu/javax/swing/text/html.list: $(gnu_javax_swing_text_html_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/*.class > gnu/javax/swing/text/html.list -include gnu/javax/swing/text/html.deps +gnu_javax_swing_text_html_css_source_files = \ +classpath/gnu/javax/swing/text/html/css/BorderStyle.java \ +classpath/gnu/javax/swing/text/html/css/BorderWidth.java \ +classpath/gnu/javax/swing/text/html/css/CSSColor.java \ +classpath/gnu/javax/swing/text/html/css/CSSLexicalException.java \ +classpath/gnu/javax/swing/text/html/css/CSSParser.java \ +classpath/gnu/javax/swing/text/html/css/CSSParserCallback.java \ +classpath/gnu/javax/swing/text/html/css/CSSParserException.java \ +classpath/gnu/javax/swing/text/html/css/CSSScanner.java \ +classpath/gnu/javax/swing/text/html/css/FontSize.java \ +classpath/gnu/javax/swing/text/html/css/FontStyle.java \ +classpath/gnu/javax/swing/text/html/css/FontWeight.java \ +classpath/gnu/javax/swing/text/html/css/Length.java \ +classpath/gnu/javax/swing/text/html/css/Selector.java + +gnu_javax_swing_text_html_css_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_swing_text_html_css_source_files))) + +gnu/javax/swing/text/html/css.list: $(gnu_javax_swing_text_html_css_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/css/*.class > gnu/javax/swing/text/html/css.list + +-include gnu/javax/swing/text/html/css.deps + + gnu_javax_swing_text_html_parser_source_files = \ classpath/gnu/javax/swing/text/html/parser/GnuParserDelegator.java \ classpath/gnu/javax/swing/text/html/parser/HTML_401F.java \ -classpath/gnu/javax/swing/text/html/parser/HTML_401Swing.java \ classpath/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java \ classpath/gnu/javax/swing/text/html/parser/gnuDTD.java \ classpath/gnu/javax/swing/text/html/parser/htmlAttributeSet.java \ @@ -3716,11 +3407,7 @@ gnu_javax_swing_text_html_parser_header_files = $(patsubst classpath/%,%,$(patsu gnu/javax/swing/text/html/parser.list: $(gnu_javax_swing_text_html_parser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/*.class > gnu/javax/swing/text/html/parser.list -include gnu/javax/swing/text/html/parser.deps @@ -3737,11 +3424,7 @@ gnu_javax_swing_text_html_parser_models_header_files = $(patsubst classpath/%,%, gnu/javax/swing/text/html/parser/models.list: $(gnu_javax_swing_text_html_parser_models_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_models_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser/models.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/models/*.class > gnu/javax/swing/text/html/parser/models.list -include gnu/javax/swing/text/html/parser/models.deps @@ -3756,11 +3439,7 @@ gnu_javax_swing_text_html_parser_support_header_files = $(patsubst classpath/%,% gnu/javax/swing/text/html/parser/support.list: $(gnu_javax_swing_text_html_parser_support_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_support_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser/support.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/support/*.class > gnu/javax/swing/text/html/parser/support.list -include gnu/javax/swing/text/html/parser/support.deps @@ -3780,11 +3459,7 @@ gnu_javax_swing_text_html_parser_support_low_header_files = $(patsubst classpath gnu/javax/swing/text/html/parser/support/low.list: $(gnu_javax_swing_text_html_parser_support_low_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_text_html_parser_support_low_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/text/html/parser/support/low.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/text/html/parser/support/low/*.class > gnu/javax/swing/text/html/parser/support/low.list -include gnu/javax/swing/text/html/parser/support/low.deps @@ -3796,11 +3471,7 @@ gnu_javax_swing_tree_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% gnu/javax/swing/tree.list: $(gnu_javax_swing_tree_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(gnu_javax_swing_tree_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > gnu/javax/swing/tree.list + echo $(srcdir)/classpath/lib/gnu/javax/swing/tree/*.class > gnu/javax/swing/tree.list -include gnu/javax/swing/tree.deps @@ -4029,6 +3700,8 @@ classpath/gnu/xml/transform/OtherwiseNode.java \ classpath/gnu/xml/transform/ParameterNode.java \ classpath/gnu/xml/transform/ProcessingInstructionNode.java \ classpath/gnu/xml/transform/SAXSerializer.java \ +classpath/gnu/xml/transform/SAXTemplatesHandler.java \ +classpath/gnu/xml/transform/SAXTransformerHandler.java \ classpath/gnu/xml/transform/SortKey.java \ classpath/gnu/xml/transform/StreamSerializer.java \ classpath/gnu/xml/transform/StrippingInstruction.java \ @@ -4222,7 +3895,7 @@ classpath/gnu/xml/xpath/XPathParser.java \ classpath/gnu/xml/xpath/XPathTokenizer.java gnu-xml.lo: $(gnu_xml_source_files) - @find classpath/lib/gnu/xml -name '*.class' > gnu-xml.list + @find $(srcdir)/classpath/lib/gnu/xml -name '*.class' > gnu-xml.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-xml.lo @gnu-xml.list @rm -f gnu-xml.list @@ -4236,11 +3909,7 @@ java_applet_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java java/applet.list: $(java_applet_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_applet_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/applet.list + echo $(srcdir)/classpath/lib/java/applet/*.class > java/applet.list -include java/applet.deps @@ -4355,11 +4024,7 @@ java_awt_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_aw java/awt.list: $(java_awt_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt.list + echo $(srcdir)/classpath/lib/java/awt/*.class > java/awt.list -include java/awt.deps @@ -4377,11 +4042,7 @@ java_awt_color_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(j java/awt/color.list: $(java_awt_color_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_color_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/color.list + echo $(srcdir)/classpath/lib/java/awt/color/*.class > java/awt/color.list -include java/awt/color.deps @@ -4394,6 +4055,7 @@ classpath/java/awt/datatransfer/FlavorEvent.java \ classpath/java/awt/datatransfer/FlavorListener.java \ classpath/java/awt/datatransfer/FlavorMap.java \ classpath/java/awt/datatransfer/FlavorTable.java \ +classpath/java/awt/datatransfer/MimeType.java \ classpath/java/awt/datatransfer/MimeTypeParseException.java \ classpath/java/awt/datatransfer/StringSelection.java \ classpath/java/awt/datatransfer/SystemFlavorMap.java \ @@ -4404,11 +4066,7 @@ java_awt_datatransfer_header_files = $(patsubst classpath/%,%,$(patsubst %.java, java/awt/datatransfer.list: $(java_awt_datatransfer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_datatransfer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/datatransfer.list + echo $(srcdir)/classpath/lib/java/awt/datatransfer/*.class > java/awt/datatransfer.list -include java/awt/datatransfer.deps @@ -4442,11 +4100,7 @@ java_awt_dnd_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(jav java/awt/dnd.list: $(java_awt_dnd_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_dnd_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/dnd.list + echo $(srcdir)/classpath/lib/java/awt/dnd/*.class > java/awt/dnd.list -include java/awt/dnd.deps @@ -4460,11 +4114,7 @@ java_awt_dnd_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java/awt/dnd/peer.list: $(java_awt_dnd_peer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_dnd_peer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/dnd/peer.list + echo $(srcdir)/classpath/lib/java/awt/dnd/peer/*.class > java/awt/dnd/peer.list -include java/awt/dnd/peer.deps @@ -4518,11 +4168,7 @@ java_awt_event_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(j java/awt/event.list: $(java_awt_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/event.list + echo $(srcdir)/classpath/lib/java/awt/event/*.class > java/awt/event.list -include java/awt/event.deps @@ -4550,11 +4196,7 @@ java_awt_font_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/awt/font.list: $(java_awt_font_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_font_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/font.list + echo $(srcdir)/classpath/lib/java/awt/font/*.class > java/awt/font.list -include java/awt/font.deps @@ -4582,11 +4224,7 @@ java_awt_geom_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/awt/geom.list: $(java_awt_geom_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_geom_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/geom.list + echo $(srcdir)/classpath/lib/java/awt/geom/*.class > java/awt/geom.list -include java/awt/geom.deps @@ -4601,11 +4239,7 @@ java_awt_im_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java java/awt/im.list: $(java_awt_im_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_im_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/im.list + echo $(srcdir)/classpath/lib/java/awt/im/*.class > java/awt/im.list -include java/awt/im.deps @@ -4619,11 +4253,7 @@ java_awt_im_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$( java/awt/im/spi.list: $(java_awt_im_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_im_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/im/spi.list + echo $(srcdir)/classpath/lib/java/awt/im/spi/*.class > java/awt/im/spi.list -include java/awt/im/spi.deps @@ -4686,11 +4316,7 @@ java_awt_image_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(j java/awt/image.list: $(java_awt_image_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_image_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/image.list + echo $(srcdir)/classpath/lib/java/awt/image/*.class > java/awt/image.list -include java/awt/image.deps @@ -4708,11 +4334,7 @@ java_awt_image_renderable_header_files = $(patsubst classpath/%,%,$(patsubst %.j java/awt/image/renderable.list: $(java_awt_image_renderable_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_image_renderable_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/image/renderable.list + echo $(srcdir)/classpath/lib/java/awt/image/renderable/*.class > java/awt/image/renderable.list -include java/awt/image/renderable.deps @@ -4751,11 +4373,7 @@ java_awt_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/awt/peer.list: $(java_awt_peer_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_peer_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/peer.list + echo $(srcdir)/classpath/lib/java/awt/peer/*.class > java/awt/peer.list -include java/awt/peer.deps @@ -4777,11 +4395,7 @@ java_awt_print_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(j java/awt/print.list: $(java_awt_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_awt_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/awt/print.list + echo $(srcdir)/classpath/lib/java/awt/print/*.class > java/awt/print.list -include java/awt/print.deps @@ -4829,11 +4443,7 @@ java_beans_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_ java/beans.list: $(java_beans_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_beans_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/beans.list + echo $(srcdir)/classpath/lib/java/beans/*.class > java/beans.list -include java/beans.deps @@ -4862,11 +4472,7 @@ java_beans_beancontext_header_files = $(patsubst classpath/%,%,$(patsubst %.java java/beans/beancontext.list: $(java_beans_beancontext_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_beans_beancontext_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/beans/beancontext.list + echo $(srcdir)/classpath/lib/java/beans/beancontext/*.class > java/beans/beancontext.list -include java/beans/beancontext.deps @@ -4890,11 +4496,11 @@ classpath/java/io/DeleteFileHelper.java \ classpath/java/io/EOFException.java \ classpath/java/io/Externalizable.java \ java/io/File.java \ -classpath/java/io/FileDescriptor.java \ +java/io/FileDescriptor.java \ classpath/java/io/FileFilter.java \ -classpath/java/io/FileInputStream.java \ +java/io/FileInputStream.java \ classpath/java/io/FileNotFoundException.java \ -classpath/java/io/FileOutputStream.java \ +java/io/FileOutputStream.java \ classpath/java/io/FilePermission.java \ classpath/java/io/FileReader.java \ classpath/java/io/FileWriter.java \ @@ -4915,7 +4521,7 @@ classpath/java/io/LineNumberReader.java \ classpath/java/io/NotActiveException.java \ classpath/java/io/NotSerializableException.java \ classpath/java/io/ObjectInput.java \ -java/io/ObjectInputStream.java \ +classpath/java/io/ObjectInputStream.java \ classpath/java/io/ObjectInputValidation.java \ classpath/java/io/ObjectOutput.java \ classpath/java/io/ObjectOutputStream.java \ @@ -4934,7 +4540,7 @@ java/io/PrintStream.java \ classpath/java/io/PrintWriter.java \ classpath/java/io/PushbackInputStream.java \ classpath/java/io/PushbackReader.java \ -classpath/java/io/RandomAccessFile.java \ +java/io/RandomAccessFile.java \ classpath/java/io/Reader.java \ classpath/java/io/SequenceInputStream.java \ classpath/java/io/Serializable.java \ @@ -4947,6 +4553,7 @@ classpath/java/io/StringWriter.java \ classpath/java/io/SyncFailedException.java \ classpath/java/io/UTFDataFormatException.java \ classpath/java/io/UnsupportedEncodingException.java \ +java/io/VMObjectInputStream.java \ java/io/VMObjectStreamClass.java \ classpath/java/io/WriteAbortedException.java \ classpath/java/io/Writer.java @@ -4955,11 +4562,7 @@ java_io_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_io_ java/io.list: $(java_io_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_io_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/io.list + echo $(srcdir)/classpath/lib/java/io/*.class > java/io.list -include java/io.deps @@ -4975,6 +4578,7 @@ classpath/java/lang/Boolean.java \ classpath/java/lang/Byte.java \ classpath/java/lang/CharSequence.java \ java/lang/Character.java \ +java/lang/Class.java \ classpath/java/lang/ClassCastException.java \ classpath/java/lang/ClassCircularityError.java \ classpath/java/lang/ClassFormatError.java \ @@ -4984,8 +4588,9 @@ classpath/java/lang/CloneNotSupportedException.java \ classpath/java/lang/Cloneable.java \ classpath/java/lang/Comparable.java \ classpath/java/lang/Compiler.java \ -java/lang/ConcreteProcess.java \ +classpath/java/lang/Deprecated.java \ classpath/java/lang/Double.java \ +java/lang/EcosProcess.java \ classpath/java/lang/Enum.java \ classpath/java/lang/EnumConstantNotPresentException.java \ classpath/java/lang/Error.java \ @@ -5019,16 +4624,20 @@ classpath/java/lang/NoSuchMethodException.java \ classpath/java/lang/NullPointerException.java \ classpath/java/lang/Number.java \ classpath/java/lang/NumberFormatException.java \ +java/lang/Object.java \ classpath/java/lang/OutOfMemoryError.java \ -java/lang/Package.java \ +classpath/java/lang/Override.java \ +classpath/java/lang/Package.java \ +java/lang/PosixProcess.java \ classpath/java/lang/Process.java \ +java/lang/ProcessBuilder.java \ classpath/java/lang/Readable.java \ classpath/java/lang/Runnable.java \ java/lang/Runtime.java \ classpath/java/lang/RuntimeException.java \ classpath/java/lang/RuntimePermission.java \ classpath/java/lang/SecurityException.java \ -java/lang/SecurityManager.java \ +classpath/java/lang/SecurityManager.java \ classpath/java/lang/Short.java \ classpath/java/lang/StackOverflowError.java \ classpath/java/lang/StackTraceElement.java \ @@ -5037,11 +4646,12 @@ java/lang/String.java \ java/lang/StringBuffer.java \ java/lang/StringBuilder.java \ classpath/java/lang/StringIndexOutOfBoundsException.java \ +classpath/java/lang/SuppressWarnings.java \ java/lang/System.java \ java/lang/Thread.java \ classpath/java/lang/ThreadDeath.java \ classpath/java/lang/ThreadGroup.java \ -classpath/java/lang/ThreadLocal.java \ +java/lang/ThreadLocal.java \ classpath/java/lang/Throwable.java \ classpath/java/lang/TypeNotPresentException.java \ classpath/java/lang/UnknownError.java \ @@ -5052,21 +4662,17 @@ java/lang/VMClassLoader.java \ java/lang/VMCompiler.java \ java/lang/VMDouble.java \ java/lang/VMFloat.java \ -java/lang/VMSecurityManager.java \ java/lang/VMThrowable.java \ classpath/java/lang/VerifyError.java \ classpath/java/lang/VirtualMachineError.java \ -classpath/java/lang/Void.java +classpath/java/lang/Void.java \ +java/lang/Win32Process.java java_lang_header_files = $(filter-out java/lang/Object.h java/lang/Class.h,$(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_lang_source_files)))) java/lang.list: $(java_lang_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang.list + echo $(srcdir)/classpath/lib/java/lang/*.class | tr ' ' '\n' | fgrep -v Object.class | fgrep -v Class.class | grep -v '[^/]Process' > java/lang.list -include java/lang.deps @@ -5075,17 +4681,19 @@ java_lang_annotation_source_files = \ classpath/java/lang/annotation/Annotation.java \ classpath/java/lang/annotation/AnnotationFormatError.java \ classpath/java/lang/annotation/AnnotationTypeMismatchException.java \ -classpath/java/lang/annotation/IncompleteAnnotationException.java +classpath/java/lang/annotation/Documented.java \ +classpath/java/lang/annotation/ElementType.java \ +classpath/java/lang/annotation/IncompleteAnnotationException.java \ +classpath/java/lang/annotation/Inherited.java \ +classpath/java/lang/annotation/Retention.java \ +classpath/java/lang/annotation/RetentionPolicy.java \ +classpath/java/lang/annotation/Target.java java_lang_annotation_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_lang_annotation_source_files))) java/lang/annotation.list: $(java_lang_annotation_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_annotation_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/annotation.list + echo $(srcdir)/classpath/lib/java/lang/annotation/*.class > java/lang/annotation.list -include java/lang/annotation.deps @@ -5101,11 +4709,7 @@ java_lang_instrument_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% java/lang/instrument.list: $(java_lang_instrument_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_instrument_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/instrument.list + echo $(srcdir)/classpath/lib/java/lang/instrument/*.class > java/lang/instrument.list -include java/lang/instrument.deps @@ -5120,6 +4724,7 @@ classpath/java/lang/management/MemoryMXBean.java \ classpath/java/lang/management/MemoryManagerMXBean.java \ classpath/java/lang/management/MemoryNotificationInfo.java \ classpath/java/lang/management/MemoryPoolMXBean.java \ +classpath/java/lang/management/MemoryType.java \ classpath/java/lang/management/MemoryUsage.java \ classpath/java/lang/management/OperatingSystemMXBean.java \ classpath/java/lang/management/RuntimeMXBean.java \ @@ -5131,11 +4736,7 @@ java_lang_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% java/lang/management.list: $(java_lang_management_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_management_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/management.list + echo $(srcdir)/classpath/lib/java/lang/management/*.class > java/lang/management.list -include java/lang/management.deps @@ -5151,11 +4752,7 @@ java_lang_ref_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/lang/ref.list: $(java_lang_ref_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_ref_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/ref.list + echo $(srcdir)/classpath/lib/java/lang/ref/*.class > java/lang/ref.list -include java/lang/ref.deps @@ -5188,11 +4785,7 @@ java_lang_reflect_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java/lang/reflect.list: $(java_lang_reflect_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_lang_reflect_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/lang/reflect.list + echo $(srcdir)/classpath/lib/java/lang/reflect/*.class > java/lang/reflect.list -include java/lang/reflect.deps @@ -5200,17 +4793,14 @@ java/lang/reflect.list: $(java_lang_reflect_source_files) java_math_source_files = \ classpath/java/math/BigDecimal.java \ classpath/java/math/BigInteger.java \ -classpath/java/math/MathContext.java +classpath/java/math/MathContext.java \ +classpath/java/math/RoundingMode.java java_math_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_math_source_files))) java/math.list: $(java_math_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_math_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/math.list + echo $(srcdir)/classpath/lib/java/math/*.class > java/math.list -include java/math.deps @@ -5222,7 +4812,7 @@ classpath/java/net/ConnectException.java \ classpath/java/net/ContentHandler.java \ classpath/java/net/ContentHandlerFactory.java \ classpath/java/net/DatagramPacket.java \ -classpath/java/net/DatagramSocket.java \ +java/net/DatagramSocket.java \ classpath/java/net/DatagramSocketImpl.java \ classpath/java/net/DatagramSocketImplFactory.java \ classpath/java/net/FileNameMap.java \ @@ -5234,16 +4824,18 @@ classpath/java/net/InetSocketAddress.java \ classpath/java/net/JarURLConnection.java \ classpath/java/net/MalformedURLException.java \ classpath/java/net/MimeTypeMapper.java \ -classpath/java/net/MulticastSocket.java \ +java/net/MulticastSocket.java \ classpath/java/net/NetPermission.java \ -classpath/java/net/NetworkInterface.java \ +java/net/NetworkInterface.java \ classpath/java/net/NoRouteToHostException.java \ classpath/java/net/PasswordAuthentication.java \ classpath/java/net/PortUnreachableException.java \ classpath/java/net/ProtocolException.java \ +classpath/java/net/Proxy.java \ +classpath/java/net/ProxySelector.java \ classpath/java/net/ResolverCache.java \ classpath/java/net/ServerSocket.java \ -classpath/java/net/Socket.java \ +java/net/Socket.java \ classpath/java/net/SocketAddress.java \ classpath/java/net/SocketException.java \ classpath/java/net/SocketImpl.java \ @@ -5270,11 +4862,7 @@ java_net_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_ne java/net.list: $(java_net_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_net_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/net.list + echo $(srcdir)/classpath/lib/java/net/*.class > java/net.list -include java/net.deps @@ -5316,11 +4904,7 @@ java_nio_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_ni java/nio.list: $(java_nio_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio.list + echo $(srcdir)/classpath/lib/java/nio/*.class > java/nio.list -include java/nio.deps @@ -5367,11 +4951,7 @@ java_nio_channels_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java/nio/channels.list: $(java_nio_channels_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_channels_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/channels.list + echo $(srcdir)/classpath/lib/java/nio/channels/*.class > java/nio/channels.list -include java/nio/channels.deps @@ -5387,11 +4967,7 @@ java_nio_channels_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java, java/nio/channels/spi.list: $(java_nio_channels_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_channels_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/channels/spi.list + echo $(srcdir)/classpath/lib/java/nio/channels/spi/*.class > java/nio/channels/spi.list -include java/nio/channels/spi.deps @@ -5413,11 +4989,7 @@ java_nio_charset_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ java/nio/charset.list: $(java_nio_charset_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_charset_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/charset.list + echo $(srcdir)/classpath/lib/java/nio/charset/*.class > java/nio/charset.list -include java/nio/charset.deps @@ -5429,11 +5001,7 @@ java_nio_charset_spi_header_files = $(patsubst %.java,%.h,$(java_nio_charset_spi java/nio/charset/spi.list: $(java_nio_charset_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_nio_charset_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/nio/charset/spi.list + echo $(srcdir)/classpath/lib/java/nio/charset/spi/*.class > java/nio/charset/spi.list -include java/nio/charset/spi.deps @@ -5464,11 +5032,7 @@ java_rmi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_rm java/rmi.list: $(java_rmi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi.list + echo $(srcdir)/classpath/lib/java/rmi/*.class > java/rmi.list -include java/rmi.deps @@ -5494,11 +5058,7 @@ java_rmi_activation_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. java/rmi/activation.list: $(java_rmi_activation_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_activation_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/activation.list + echo $(srcdir)/classpath/lib/java/rmi/activation/*.class > java/rmi/activation.list -include java/rmi/activation.deps @@ -5512,11 +5072,7 @@ java_rmi_dgc_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(jav java/rmi/dgc.list: $(java_rmi_dgc_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_dgc_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/dgc.list + echo $(srcdir)/classpath/lib/java/rmi/dgc/*.class > java/rmi/dgc.list -include java/rmi/dgc.deps @@ -5530,11 +5086,7 @@ java_rmi_registry_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java/rmi/registry.list: $(java_rmi_registry_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_registry_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/registry.list + echo $(srcdir)/classpath/lib/java/rmi/registry/*.class > java/rmi/registry.list -include java/rmi/registry.deps @@ -5572,11 +5124,7 @@ java_rmi_server_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$( java/rmi/server.list: $(java_rmi_server_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_rmi_server_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/rmi/server.list + echo $(srcdir)/classpath/lib/java/rmi/server/*.class > java/rmi/server.list -include java/rmi/server.deps @@ -5640,7 +5188,7 @@ classpath/java/security/PublicKey.java \ classpath/java/security/SecureClassLoader.java \ classpath/java/security/SecureRandom.java \ classpath/java/security/SecureRandomSpi.java \ -java/security/Security.java \ +classpath/java/security/Security.java \ classpath/java/security/SecurityPermission.java \ classpath/java/security/Signature.java \ classpath/java/security/SignatureException.java \ @@ -5657,11 +5205,7 @@ java_security_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/security.list: $(java_security_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security.list + echo $(srcdir)/classpath/lib/java/security/*.class > java/security.list -include java/security.deps @@ -5680,11 +5224,7 @@ java_security_acl_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java/security/acl.list: $(java_security_acl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_acl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/acl.list + echo $(srcdir)/classpath/lib/java/security/acl/*.class > java/security/acl.list -include java/security/acl.deps @@ -5737,11 +5277,7 @@ java_security_cert_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h java/security/cert.list: $(java_security_cert_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_cert_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/cert.list + echo $(srcdir)/classpath/lib/java/security/cert/*.class > java/security/cert.list -include java/security/cert.deps @@ -5762,11 +5298,7 @@ java_security_interfaces_header_files = $(patsubst classpath/%,%,$(patsubst %.ja java/security/interfaces.list: $(java_security_interfaces_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_interfaces_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/interfaces.list + echo $(srcdir)/classpath/lib/java/security/interfaces/*.class > java/security/interfaces.list -include java/security/interfaces.deps @@ -5794,11 +5326,7 @@ java_security_spec_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h java/security/spec.list: $(java_security_spec_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_security_spec_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/security/spec.list + echo $(srcdir)/classpath/lib/java/security/spec/*.class > java/security/spec.list -include java/security/spec.deps @@ -5838,11 +5366,7 @@ java_sql_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_sq java/sql.list: $(java_sql_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_sql_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/sql.list + echo $(srcdir)/classpath/lib/java/sql/*.class > java/sql.list -include java/sql.deps @@ -5877,11 +5401,7 @@ java_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_t java/text.list: $(java_text_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_text_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/text.list + echo $(srcdir)/classpath/lib/java/text/*.class > java/text.list -include java/text.deps @@ -5890,8 +5410,10 @@ java_util_source_files = \ classpath/java/util/AbstractCollection.java \ classpath/java/util/AbstractList.java \ classpath/java/util/AbstractMap.java \ +classpath/external/jsr166/java/util/AbstractQueue.java \ classpath/java/util/AbstractSequentialList.java \ classpath/java/util/AbstractSet.java \ +classpath/external/jsr166/java/util/ArrayDeque.java \ classpath/java/util/ArrayList.java \ classpath/java/util/Arrays.java \ classpath/java/util/BitSet.java \ @@ -5902,9 +5424,12 @@ classpath/java/util/Comparator.java \ classpath/java/util/ConcurrentModificationException.java \ java/util/Currency.java \ classpath/java/util/Date.java \ +classpath/external/jsr166/java/util/Deque.java \ classpath/java/util/Dictionary.java \ classpath/java/util/DuplicateFormatFlagsException.java \ classpath/java/util/EmptyStackException.java \ +classpath/java/util/EnumMap.java \ +classpath/java/util/EnumSet.java \ classpath/java/util/Enumeration.java \ classpath/java/util/EventListener.java \ classpath/java/util/EventListenerProxy.java \ @@ -5939,16 +5464,20 @@ classpath/java/util/Map.java \ classpath/java/util/MissingFormatArgumentException.java \ classpath/java/util/MissingFormatWidthException.java \ classpath/java/util/MissingResourceException.java \ +classpath/external/jsr166/java/util/NavigableMap.java \ +classpath/external/jsr166/java/util/NavigableSet.java \ classpath/java/util/NoSuchElementException.java \ classpath/java/util/Observable.java \ classpath/java/util/Observer.java \ +classpath/java/util/PriorityQueue.java \ classpath/java/util/Properties.java \ classpath/java/util/PropertyPermission.java \ classpath/java/util/PropertyPermissionCollection.java \ classpath/java/util/PropertyResourceBundle.java \ +classpath/external/jsr166/java/util/Queue.java \ classpath/java/util/Random.java \ classpath/java/util/RandomAccess.java \ -java/util/ResourceBundle.java \ +classpath/java/util/ResourceBundle.java \ classpath/java/util/Set.java \ classpath/java/util/SimpleTimeZone.java \ classpath/java/util/SortedMap.java \ @@ -5968,19 +5497,113 @@ java/util/VMTimeZone.java \ classpath/java/util/Vector.java \ classpath/java/util/WeakHashMap.java -java_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_source_files))) +java_util_header_files = $(patsubst classpath/%,%,$(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_source_files)))) java/util.list: $(java_util_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util.list + echo $(srcdir)/classpath/lib/java/util/*.class > java/util.list -include java/util.deps +java_util_concurrent_source_files = \ +classpath/external/jsr166/java/util/concurrent/AbstractExecutorService.java \ +classpath/external/jsr166/java/util/concurrent/ArrayBlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/BlockingDeque.java \ +classpath/external/jsr166/java/util/concurrent/BlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/BrokenBarrierException.java \ +classpath/external/jsr166/java/util/concurrent/Callable.java \ +classpath/external/jsr166/java/util/concurrent/CancellationException.java \ +classpath/external/jsr166/java/util/concurrent/CompletionService.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentHashMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentLinkedQueue.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentNavigableMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java \ +classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java \ +classpath/java/util/concurrent/CopyOnWriteArrayList.java \ +classpath/external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java \ +classpath/external/jsr166/java/util/concurrent/CountDownLatch.java \ +classpath/external/jsr166/java/util/concurrent/CyclicBarrier.java \ +classpath/external/jsr166/java/util/concurrent/DelayQueue.java \ +classpath/external/jsr166/java/util/concurrent/Delayed.java \ +classpath/external/jsr166/java/util/concurrent/Exchanger.java \ +classpath/external/jsr166/java/util/concurrent/ExecutionException.java \ +classpath/external/jsr166/java/util/concurrent/Executor.java \ +classpath/external/jsr166/java/util/concurrent/ExecutorCompletionService.java \ +classpath/external/jsr166/java/util/concurrent/ExecutorService.java \ +classpath/external/jsr166/java/util/concurrent/Executors.java \ +classpath/external/jsr166/java/util/concurrent/Future.java \ +classpath/external/jsr166/java/util/concurrent/FutureTask.java \ +classpath/external/jsr166/java/util/concurrent/LinkedBlockingDeque.java \ +classpath/external/jsr166/java/util/concurrent/LinkedBlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/PriorityBlockingQueue.java \ +classpath/external/jsr166/java/util/concurrent/RejectedExecutionException.java \ +classpath/external/jsr166/java/util/concurrent/RejectedExecutionHandler.java \ +classpath/external/jsr166/java/util/concurrent/RunnableFuture.java \ +classpath/external/jsr166/java/util/concurrent/RunnableScheduledFuture.java \ +classpath/external/jsr166/java/util/concurrent/ScheduledExecutorService.java \ +classpath/external/jsr166/java/util/concurrent/ScheduledFuture.java \ +classpath/external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java \ +classpath/external/jsr166/java/util/concurrent/Semaphore.java \ +classpath/external/jsr166/java/util/concurrent/SynchronousQueue.java \ +classpath/external/jsr166/java/util/concurrent/ThreadFactory.java \ +classpath/external/jsr166/java/util/concurrent/ThreadPoolExecutor.java \ +classpath/external/jsr166/java/util/concurrent/TimeUnit.java \ +classpath/external/jsr166/java/util/concurrent/TimeoutException.java + +java_util_concurrent_header_files = $(patsubst classpath/%,%,$(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_concurrent_source_files)))) + +java/util/concurrent.list: $(java_util_concurrent_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/concurrent/*.class > java/util/concurrent.list + +-include java/util/concurrent.deps + + +java_util_concurrent_atomic_source_files = \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicBoolean.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicInteger.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerArray.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicLong.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongArray.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicMarkableReference.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicReference.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceArray.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java \ +classpath/external/jsr166/java/util/concurrent/atomic/AtomicStampedReference.java + +java_util_concurrent_atomic_header_files = $(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_concurrent_atomic_source_files))) + +java/util/concurrent/atomic.list: $(java_util_concurrent_atomic_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/concurrent/atomic/*.class > java/util/concurrent/atomic.list + +-include java/util/concurrent/atomic.deps + + +java_util_concurrent_locks_source_files = \ +classpath/external/jsr166/java/util/concurrent/locks/AbstractOwnableSynchronizer.java \ +classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java \ +classpath/external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java \ +classpath/external/jsr166/java/util/concurrent/locks/Condition.java \ +classpath/external/jsr166/java/util/concurrent/locks/Lock.java \ +classpath/external/jsr166/java/util/concurrent/locks/LockSupport.java \ +classpath/external/jsr166/java/util/concurrent/locks/ReadWriteLock.java \ +classpath/external/jsr166/java/util/concurrent/locks/ReentrantLock.java \ +classpath/external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java + +java_util_concurrent_locks_header_files = $(patsubst classpath/external/jsr166/%,%,$(patsubst %.java,%.h,$(java_util_concurrent_locks_source_files))) + +java/util/concurrent/locks.list: $(java_util_concurrent_locks_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/concurrent/locks/*.class > java/util/concurrent/locks.list + +-include java/util/concurrent/locks.deps + + java_util_jar_source_files = \ classpath/java/util/jar/Attributes.java \ classpath/java/util/jar/JarEntry.java \ @@ -5994,11 +5617,7 @@ java_util_jar_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/util/jar.list: $(java_util_jar_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_jar_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/jar.list + echo $(srcdir)/classpath/lib/java/util/jar/*.class > java/util/jar.list -include java/util/jar.deps @@ -6026,11 +5645,7 @@ java_util_logging_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, java/util/logging.list: $(java_util_logging_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_logging_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/logging.list + echo $(srcdir)/classpath/lib/java/util/logging/*.class > java/util/logging.list -include java/util/logging.deps @@ -6050,11 +5665,7 @@ java_util_prefs_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$( java/util/prefs.list: $(java_util_prefs_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_prefs_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/prefs.list + echo $(srcdir)/classpath/lib/java/util/prefs/*.class > java/util/prefs.list -include java/util/prefs.deps @@ -6069,11 +5680,7 @@ java_util_regex_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$( java/util/regex.list: $(java_util_regex_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_regex_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/regex.list + echo $(srcdir)/classpath/lib/java/util/regex/*.class > java/util/regex.list -include java/util/regex.deps @@ -6102,11 +5709,7 @@ java_util_zip_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja java/util/zip.list: $(java_util_zip_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(java_util_zip_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > java/util/zip.list + echo $(srcdir)/classpath/lib/java/util/zip/*.class > java/util/zip.list -include java/util/zip.deps @@ -6144,11 +5747,7 @@ javax_accessibility_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. javax/accessibility.list: $(javax_accessibility_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_accessibility_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/accessibility.list + echo $(srcdir)/classpath/lib/javax/accessibility/*.class > javax/accessibility.list -include javax/accessibility.deps @@ -6183,11 +5782,7 @@ javax_crypto_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(jav javax/crypto.list: $(javax_crypto_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_crypto_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/crypto.list + echo $(srcdir)/classpath/lib/javax/crypto/*.class > javax/crypto.list -include javax/crypto.deps @@ -6202,11 +5797,7 @@ javax_crypto_interfaces_header_files = $(patsubst classpath/%,%,$(patsubst %.jav javax/crypto/interfaces.list: $(javax_crypto_interfaces_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_crypto_interfaces_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/crypto/interfaces.list + echo $(srcdir)/classpath/lib/javax/crypto/interfaces/*.class > javax/crypto/interfaces.list -include javax/crypto/interfaces.deps @@ -6229,11 +5820,7 @@ javax_crypto_spec_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, javax/crypto/spec.list: $(javax_crypto_spec_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_crypto_spec_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/crypto/spec.list + echo $(srcdir)/classpath/lib/javax/crypto/spec/*.class > javax/crypto/spec.list -include javax/crypto/spec.deps @@ -6289,7 +5876,7 @@ classpath/javax/imageio/stream/MemoryCacheImageInputStream.java \ classpath/javax/imageio/stream/MemoryCacheImageOutputStream.java javax-imageio.lo: $(javax_imageio_source_files) - @find classpath/lib/javax/imageio -name '*.class' > javax-imageio.list + @find $(srcdir)/classpath/lib/javax/imageio -name '*.class' > javax-imageio.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-imageio.lo @javax-imageio.list @rm -f javax-imageio.list @@ -6297,8 +5884,14 @@ javax_management_source_files = \ classpath/javax/management/Attribute.java \ classpath/javax/management/AttributeList.java \ classpath/javax/management/AttributeNotFoundException.java \ +classpath/javax/management/BadAttributeValueExpException.java \ +classpath/javax/management/BadBinaryOpValueExpException.java \ +classpath/javax/management/BadStringOperationException.java \ classpath/javax/management/DynamicMBean.java \ +classpath/javax/management/InstanceAlreadyExistsException.java \ +classpath/javax/management/InstanceNotFoundException.java \ classpath/javax/management/IntrospectionException.java \ +classpath/javax/management/InvalidApplicationException.java \ classpath/javax/management/InvalidAttributeValueException.java \ classpath/javax/management/JMException.java \ classpath/javax/management/JMRuntimeException.java \ @@ -6311,51 +5904,88 @@ classpath/javax/management/MBeanInfo.java \ classpath/javax/management/MBeanNotificationInfo.java \ classpath/javax/management/MBeanOperationInfo.java \ classpath/javax/management/MBeanParameterInfo.java \ +classpath/javax/management/MBeanPermission.java \ +classpath/javax/management/MBeanRegistration.java \ +classpath/javax/management/MBeanRegistrationException.java \ +classpath/javax/management/MBeanServer.java \ +classpath/javax/management/MBeanServerBuilder.java \ +classpath/javax/management/MBeanServerConnection.java \ +classpath/javax/management/MBeanServerDelegate.java \ +classpath/javax/management/MBeanServerDelegateMBean.java \ +classpath/javax/management/MBeanServerFactory.java \ +classpath/javax/management/MBeanServerNotification.java \ +classpath/javax/management/MBeanServerPermission.java \ +classpath/javax/management/MBeanTrustPermission.java \ +classpath/javax/management/MalformedObjectNameException.java \ classpath/javax/management/NotCompliantMBeanException.java \ classpath/javax/management/Notification.java \ classpath/javax/management/NotificationBroadcaster.java \ classpath/javax/management/NotificationEmitter.java \ classpath/javax/management/NotificationFilter.java \ classpath/javax/management/NotificationListener.java \ +classpath/javax/management/ObjectInstance.java \ +classpath/javax/management/ObjectName.java \ classpath/javax/management/OperationsException.java \ +classpath/javax/management/QueryExp.java \ classpath/javax/management/ReflectionException.java \ +classpath/javax/management/RuntimeErrorException.java \ +classpath/javax/management/RuntimeMBeanException.java \ classpath/javax/management/RuntimeOperationsException.java \ -classpath/javax/management/StandardMBean.java +classpath/javax/management/ServiceNotFoundException.java \ +classpath/javax/management/StandardMBean.java \ +classpath/javax/management/ValueExp.java javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_source_files))) javax/management.list: $(javax_management_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_management_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/management.list + echo $(srcdir)/classpath/lib/javax/management/*.class > javax/management.list -include javax/management.deps +javax_management_loading_source_files = \ +classpath/javax/management/loading/ClassLoaderRepository.java + +javax_management_loading_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_loading_source_files))) + +javax/management/loading.list: $(javax_management_loading_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/javax/management/loading/*.class > javax/management/loading.list + +-include javax/management/loading.deps + + javax_management_openmbean_source_files = \ classpath/javax/management/openmbean/ArrayType.java \ classpath/javax/management/openmbean/CompositeData.java \ classpath/javax/management/openmbean/CompositeDataSupport.java \ classpath/javax/management/openmbean/CompositeType.java \ classpath/javax/management/openmbean/InvalidKeyException.java \ +classpath/javax/management/openmbean/InvalidOpenTypeException.java \ +classpath/javax/management/openmbean/KeyAlreadyExistsException.java \ classpath/javax/management/openmbean/OpenDataException.java \ +classpath/javax/management/openmbean/OpenMBeanAttributeInfo.java \ +classpath/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanConstructorInfo.java \ +classpath/javax/management/openmbean/OpenMBeanConstructorInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanInfo.java \ +classpath/javax/management/openmbean/OpenMBeanInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanOperationInfo.java \ +classpath/javax/management/openmbean/OpenMBeanOperationInfoSupport.java \ +classpath/javax/management/openmbean/OpenMBeanParameterInfo.java \ +classpath/javax/management/openmbean/OpenMBeanParameterInfoSupport.java \ classpath/javax/management/openmbean/OpenType.java \ classpath/javax/management/openmbean/SimpleType.java \ classpath/javax/management/openmbean/TabularData.java \ +classpath/javax/management/openmbean/TabularDataSupport.java \ classpath/javax/management/openmbean/TabularType.java javax_management_openmbean_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_openmbean_source_files))) javax/management/openmbean.list: $(javax_management_openmbean_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_management_openmbean_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/management/openmbean.list + echo $(srcdir)/classpath/lib/javax/management/openmbean/*.class > javax/management/openmbean.list -include javax/management/openmbean.deps @@ -6407,11 +6037,7 @@ javax_naming_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(jav javax/naming.list: $(javax_naming_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming.list + echo $(srcdir)/classpath/lib/javax/naming/*.class > javax/naming.list -include javax/naming.deps @@ -6440,11 +6066,7 @@ javax_naming_directory_header_files = $(patsubst classpath/%,%,$(patsubst %.java javax/naming/directory.list: $(javax_naming_directory_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_directory_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/directory.list + echo $(srcdir)/classpath/lib/javax/naming/directory/*.class > javax/naming/directory.list -include javax/naming/directory.deps @@ -6462,11 +6084,7 @@ javax_naming_event_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h javax/naming/event.list: $(javax_naming_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/event.list + echo $(srcdir)/classpath/lib/javax/naming/event/*.class > javax/naming/event.list -include javax/naming/event.deps @@ -6490,11 +6108,7 @@ javax_naming_ldap_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, javax/naming/ldap.list: $(javax_naming_ldap_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_ldap_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/ldap.list + echo $(srcdir)/classpath/lib/javax/naming/ldap/*.class > javax/naming/ldap.list -include javax/naming/ldap.deps @@ -6505,7 +6119,7 @@ classpath/javax/naming/spi/DirStateFactory.java \ classpath/javax/naming/spi/DirectoryManager.java \ classpath/javax/naming/spi/InitialContextFactory.java \ classpath/javax/naming/spi/InitialContextFactoryBuilder.java \ -javax/naming/spi/NamingManager.java \ +classpath/javax/naming/spi/NamingManager.java \ classpath/javax/naming/spi/ObjectFactory.java \ classpath/javax/naming/spi/ObjectFactoryBuilder.java \ classpath/javax/naming/spi/ResolveResult.java \ @@ -6516,11 +6130,7 @@ javax_naming_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ javax/naming/spi.list: $(javax_naming_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_naming_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/naming/spi.list + echo $(srcdir)/classpath/lib/javax/naming/spi/*.class > javax/naming/spi.list -include javax/naming/spi.deps @@ -6535,16 +6145,13 @@ javax_net_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_ javax/net.list: $(javax_net_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_net_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/net.list + echo $(srcdir)/classpath/lib/javax/net/*.class > javax/net.list -include javax/net.deps javax_net_ssl_source_files = \ +classpath/javax/net/ssl/CertPathTrustManagerParameters.java \ classpath/javax/net/ssl/HandshakeCompletedEvent.java \ classpath/javax/net/ssl/HandshakeCompletedListener.java \ classpath/javax/net/ssl/HostnameVerifier.java \ @@ -6552,9 +6159,12 @@ classpath/javax/net/ssl/HttpsURLConnection.java \ classpath/javax/net/ssl/KeyManager.java \ classpath/javax/net/ssl/KeyManagerFactory.java \ classpath/javax/net/ssl/KeyManagerFactorySpi.java \ +classpath/javax/net/ssl/KeyStoreBuilderParameters.java \ classpath/javax/net/ssl/ManagerFactoryParameters.java \ classpath/javax/net/ssl/SSLContext.java \ classpath/javax/net/ssl/SSLContextSpi.java \ +classpath/javax/net/ssl/SSLEngine.java \ +classpath/javax/net/ssl/SSLEngineResult.java \ classpath/javax/net/ssl/SSLException.java \ classpath/javax/net/ssl/SSLHandshakeException.java \ classpath/javax/net/ssl/SSLKeyException.java \ @@ -6573,6 +6183,7 @@ classpath/javax/net/ssl/TrivialHostnameVerifier.java \ classpath/javax/net/ssl/TrustManager.java \ classpath/javax/net/ssl/TrustManagerFactory.java \ classpath/javax/net/ssl/TrustManagerFactorySpi.java \ +classpath/javax/net/ssl/X509ExtendedKeyManager.java \ classpath/javax/net/ssl/X509KeyManager.java \ classpath/javax/net/ssl/X509TrustManager.java @@ -6580,11 +6191,7 @@ javax_net_ssl_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(ja javax/net/ssl.list: $(javax_net_ssl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_net_ssl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/net/ssl.list + echo $(srcdir)/classpath/lib/javax/net/ssl/*.class > javax/net/ssl.list -include javax/net/ssl.deps @@ -6613,11 +6220,7 @@ javax_print_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java javax/print.list: $(javax_print_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print.list + echo $(srcdir)/classpath/lib/javax/print/*.class > javax/print.list -include javax/print.deps @@ -6654,11 +6257,7 @@ javax_print_attribute_header_files = $(patsubst classpath/%,%,$(patsubst %.java, javax/print/attribute.list: $(javax_print_attribute_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_attribute_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print/attribute.list + echo $(srcdir)/classpath/lib/javax/print/attribute/*.class > javax/print/attribute.list -include javax/print/attribute.deps @@ -6738,11 +6337,7 @@ javax_print_attribute_standard_header_files = $(patsubst classpath/%,%,$(patsubs javax/print/attribute/standard.list: $(javax_print_attribute_standard_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_attribute_standard_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print/attribute/standard.list + echo $(srcdir)/classpath/lib/javax/print/attribute/standard/*.class > javax/print/attribute/standard.list -include javax/print/attribute/standard.deps @@ -6761,11 +6356,7 @@ javax_print_event_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, javax/print/event.list: $(javax_print_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_print_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/print/event.list + echo $(srcdir)/classpath/lib/javax/print/event/*.class > javax/print/event.list -include javax/print/event.deps @@ -6785,7 +6376,7 @@ classpath/javax/rmi/ssl/SslRMIClientSocketFactory.java \ classpath/javax/rmi/ssl/SslRMIServerSocketFactory.java javax-rmi.lo: $(javax_rmi_source_files) - @find classpath/lib/javax/rmi -name '*.class' > javax-rmi.list + @find $(srcdir)/classpath/lib/javax/rmi -name '*.class' > javax-rmi.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-rmi.lo @javax-rmi.list @rm -f javax-rmi.list @@ -6804,11 +6395,7 @@ javax_security_auth_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. javax/security/auth.list: $(javax_security_auth_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth.list + echo $(srcdir)/classpath/lib/javax/security/auth/*.class > javax/security/auth.list -include javax/security/auth.deps @@ -6829,11 +6416,7 @@ javax_security_auth_callback_header_files = $(patsubst classpath/%,%,$(patsubst javax/security/auth/callback.list: $(javax_security_auth_callback_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_callback_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/callback.list + echo $(srcdir)/classpath/lib/javax/security/auth/callback/*.class > javax/security/auth/callback.list -include javax/security/auth/callback.deps @@ -6850,11 +6433,7 @@ javax_security_auth_kerberos_header_files = $(patsubst classpath/%,%,$(patsubst javax/security/auth/kerberos.list: $(javax_security_auth_kerberos_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_kerberos_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/kerberos.list + echo $(srcdir)/classpath/lib/javax/security/auth/kerberos/*.class > javax/security/auth/kerberos.list -include javax/security/auth/kerberos.deps @@ -6878,11 +6457,7 @@ javax_security_auth_login_header_files = $(patsubst classpath/%,%,$(patsubst %.j javax/security/auth/login.list: $(javax_security_auth_login_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_login_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/login.list + echo $(srcdir)/classpath/lib/javax/security/auth/login/*.class > javax/security/auth/login.list -include javax/security/auth/login.deps @@ -6894,11 +6469,7 @@ javax_security_auth_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.jav javax/security/auth/spi.list: $(javax_security_auth_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/spi.list + echo $(srcdir)/classpath/lib/javax/security/auth/spi/*.class > javax/security/auth/spi.list -include javax/security/auth/spi.deps @@ -6911,11 +6482,7 @@ javax_security_auth_x500_header_files = $(patsubst classpath/%,%,$(patsubst %.ja javax/security/auth/x500.list: $(javax_security_auth_x500_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_auth_x500_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/auth/x500.list + echo $(srcdir)/classpath/lib/javax/security/auth/x500/*.class > javax/security/auth/x500.list -include javax/security/auth/x500.deps @@ -6934,11 +6501,7 @@ javax_security_cert_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. javax/security/cert.list: $(javax_security_cert_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_cert_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/cert.list + echo $(srcdir)/classpath/lib/javax/security/cert/*.class > javax/security/cert.list -include javax/security/cert.deps @@ -6959,11 +6522,7 @@ javax_security_sasl_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. javax/security/sasl.list: $(javax_security_sasl_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_security_sasl_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/security/sasl.list + echo $(srcdir)/classpath/lib/javax/security/sasl/*.class > javax/security/sasl.list -include javax/security/sasl.deps @@ -6998,11 +6557,7 @@ javax_sound_midi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ javax/sound/midi.list: $(javax_sound_midi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_midi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/midi.list + echo $(srcdir)/classpath/lib/javax/sound/midi/*.class > javax/sound/midi.list -include javax/sound/midi.deps @@ -7017,11 +6572,7 @@ javax_sound_midi_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% javax/sound/midi/spi.list: $(javax_sound_midi_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_midi_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/midi/spi.list + echo $(srcdir)/classpath/lib/javax/sound/midi/spi/*.class > javax/sound/midi/spi.list -include javax/sound/midi/spi.deps @@ -7054,11 +6605,7 @@ javax_sound_sampled_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%. javax/sound/sampled.list: $(javax_sound_sampled_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_sampled_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/sampled.list + echo $(srcdir)/classpath/lib/javax/sound/sampled/*.class > javax/sound/sampled.list -include javax/sound/sampled.deps @@ -7073,11 +6620,7 @@ javax_sound_sampled_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.jav javax/sound/sampled/spi.list: $(javax_sound_sampled_spi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sound_sampled_spi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sound/sampled/spi.list + echo $(srcdir)/classpath/lib/javax/sound/sampled/spi/*.class > javax/sound/sampled/spi.list -include javax/sound/sampled/spi.deps @@ -7102,11 +6645,7 @@ javax_sql_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_ javax/sql.list: $(javax_sql_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_sql_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/sql.list + echo $(srcdir)/classpath/lib/javax/sql/*.class > javax/sql.list -include javax/sql.deps @@ -7241,11 +6780,7 @@ javax_swing_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java javax/swing.list: $(javax_swing_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing.list + echo $(srcdir)/classpath/lib/javax/swing/*.class > javax/swing.list -include javax/swing.deps @@ -7266,11 +6801,7 @@ javax_swing_border_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h javax/swing/border.list: $(javax_swing_border_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_border_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/border.list + echo $(srcdir)/classpath/lib/javax/swing/border/*.class > javax/swing/border.list -include javax/swing/border.deps @@ -7289,11 +6820,7 @@ javax_swing_colorchooser_header_files = $(patsubst classpath/%,%,$(patsubst %.ja javax/swing/colorchooser.list: $(javax_swing_colorchooser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_colorchooser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/colorchooser.list + echo $(srcdir)/classpath/lib/javax/swing/colorchooser/*.class > javax/swing/colorchooser.list -include javax/swing/colorchooser.deps @@ -7347,11 +6874,7 @@ javax_swing_event_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, javax/swing/event.list: $(javax_swing_event_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_event_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/event.list + echo $(srcdir)/classpath/lib/javax/swing/event/*.class > javax/swing/event.list -include javax/swing/event.deps @@ -7366,11 +6889,7 @@ javax_swing_filechooser_header_files = $(patsubst classpath/%,%,$(patsubst %.jav javax/swing/filechooser.list: $(javax_swing_filechooser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_filechooser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/filechooser.list + echo $(srcdir)/classpath/lib/javax/swing/filechooser/*.class > javax/swing/filechooser.list -include javax/swing/filechooser.deps @@ -7422,11 +6941,7 @@ javax_swing_plaf_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ javax/swing/plaf.list: $(javax_swing_plaf_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/*.class > javax/swing/plaf.list -include javax/swing/plaf.deps @@ -7497,11 +7012,7 @@ javax_swing_plaf_basic_header_files = $(patsubst classpath/%,%,$(patsubst %.java javax/swing/plaf/basic.list: $(javax_swing_plaf_basic_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_basic_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/basic.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/basic/*.class > javax/swing/plaf/basic.list -include javax/swing/plaf/basic.deps @@ -7550,11 +7061,7 @@ javax_swing_plaf_metal_header_files = $(patsubst classpath/%,%,$(patsubst %.java javax/swing/plaf/metal.list: $(javax_swing_plaf_metal_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_metal_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/metal.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/metal/*.class > javax/swing/plaf/metal.list -include javax/swing/plaf/metal.deps @@ -7596,11 +7103,7 @@ javax_swing_plaf_multi_header_files = $(patsubst classpath/%,%,$(patsubst %.java javax/swing/plaf/multi.list: $(javax_swing_plaf_multi_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_multi_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/multi.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/multi/*.class > javax/swing/plaf/multi.list -include javax/swing/plaf/multi.deps @@ -7620,11 +7123,7 @@ javax_swing_plaf_synth_header_files = $(patsubst classpath/%,%,$(patsubst %.java javax/swing/plaf/synth.list: $(javax_swing_plaf_synth_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_plaf_synth_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/plaf/synth.list + echo $(srcdir)/classpath/lib/javax/swing/plaf/synth/*.class > javax/swing/plaf/synth.list -include javax/swing/plaf/synth.deps @@ -7645,11 +7144,7 @@ javax_swing_table_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, javax/swing/table.list: $(javax_swing_table_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_table_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/table.list + echo $(srcdir)/classpath/lib/javax/swing/table/*.class > javax/swing/table.list -include javax/swing/table.deps @@ -7717,17 +7212,14 @@ classpath/javax/swing/text/TextAction.java \ classpath/javax/swing/text/Utilities.java \ classpath/javax/swing/text/View.java \ classpath/javax/swing/text/ViewFactory.java \ -classpath/javax/swing/text/WrappedPlainView.java +classpath/javax/swing/text/WrappedPlainView.java \ +classpath/javax/swing/text/ZoneView.java javax_swing_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_swing_text_source_files))) javax/swing/text.list: $(javax_swing_text_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text.list + echo $(srcdir)/classpath/lib/javax/swing/text/*.class > javax/swing/text.list -include javax/swing/text.deps @@ -7736,33 +7228,42 @@ javax_swing_text_html_source_files = \ classpath/javax/swing/text/html/BRView.java \ classpath/javax/swing/text/html/BlockView.java \ classpath/javax/swing/text/html/CSS.java \ +classpath/javax/swing/text/html/CSSBorder.java \ classpath/javax/swing/text/html/CSSParser.java \ +classpath/javax/swing/text/html/FormSubmitEvent.java \ classpath/javax/swing/text/html/FormView.java \ +classpath/javax/swing/text/html/FrameSetView.java \ +classpath/javax/swing/text/html/FrameView.java \ classpath/javax/swing/text/html/HRuleView.java \ classpath/javax/swing/text/html/HTML.java \ classpath/javax/swing/text/html/HTMLDocument.java \ classpath/javax/swing/text/html/HTMLEditorKit.java \ classpath/javax/swing/text/html/HTMLFrameHyperlinkEvent.java \ +classpath/javax/swing/text/html/HTMLWriter.java \ classpath/javax/swing/text/html/ImageView.java \ classpath/javax/swing/text/html/InlineView.java \ classpath/javax/swing/text/html/ListView.java \ classpath/javax/swing/text/html/MinimalHTMLWriter.java \ +classpath/javax/swing/text/html/MultiAttributeSet.java \ +classpath/javax/swing/text/html/MultiStyle.java \ classpath/javax/swing/text/html/NullView.java \ classpath/javax/swing/text/html/ObjectView.java \ classpath/javax/swing/text/html/Option.java \ classpath/javax/swing/text/html/ParagraphView.java \ +classpath/javax/swing/text/html/ResetableModel.java \ +classpath/javax/swing/text/html/ResetablePlainDocument.java \ +classpath/javax/swing/text/html/ResetableToggleButtonModel.java \ +classpath/javax/swing/text/html/SelectComboBoxModel.java \ +classpath/javax/swing/text/html/SelectListModel.java \ classpath/javax/swing/text/html/StyleSheet.java \ -classpath/javax/swing/text/html/TableView.java +classpath/javax/swing/text/html/TableView.java \ +classpath/javax/swing/text/html/ViewAttributeSet.java javax_swing_text_html_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_swing_text_html_source_files))) javax/swing/text/html.list: $(javax_swing_text_html_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_html_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text/html.list + echo $(srcdir)/classpath/lib/javax/swing/text/html/*.class > javax/swing/text/html.list -include javax/swing/text/html.deps @@ -7783,11 +7284,7 @@ javax_swing_text_html_parser_header_files = $(patsubst classpath/%,%,$(patsubst javax/swing/text/html/parser.list: $(javax_swing_text_html_parser_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_html_parser_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text/html/parser.list + echo $(srcdir)/classpath/lib/javax/swing/text/html/parser/*.class > javax/swing/text/html/parser.list -include javax/swing/text/html/parser.deps @@ -7805,11 +7302,7 @@ javax_swing_text_rtf_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% javax/swing/text/rtf.list: $(javax_swing_text_rtf_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_text_rtf_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/text/rtf.list + echo $(srcdir)/classpath/lib/javax/swing/text/rtf/*.class > javax/swing/text/rtf.list -include javax/swing/text/rtf.deps @@ -7837,11 +7330,7 @@ javax_swing_tree_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ javax/swing/tree.list: $(javax_swing_tree_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_tree_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/tree.list + echo $(srcdir)/classpath/lib/javax/swing/tree/*.class > javax/swing/tree.list -include javax/swing/tree.deps @@ -7861,11 +7350,7 @@ javax_swing_undo_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$ javax/swing/undo.list: $(javax_swing_undo_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_swing_undo_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/swing/undo.list + echo $(srcdir)/classpath/lib/javax/swing/undo/*.class > javax/swing/undo.list -include javax/swing/undo.deps @@ -7890,11 +7375,7 @@ javax_transaction_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h, javax/transaction.list: $(javax_transaction_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_transaction_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/transaction.list + echo $(srcdir)/classpath/lib/javax/transaction/*.class > javax/transaction.list -include javax/transaction.deps @@ -7908,11 +7389,7 @@ javax_transaction_xa_header_files = $(patsubst classpath/%,%,$(patsubst %.java,% javax/transaction/xa.list: $(javax_transaction_xa_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(javax_transaction_xa_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > javax/transaction/xa.list + echo $(srcdir)/classpath/lib/javax/transaction/xa/*.class > javax/transaction/xa.list -include javax/transaction/xa.deps @@ -8006,7 +7483,7 @@ classpath/javax/xml/xpath/XPathFunctionResolver.java \ classpath/javax/xml/xpath/XPathVariableResolver.java javax-xml.lo: $(javax_xml_source_files) - @find classpath/lib/javax/xml -name '*.class' > javax-xml.list + @find $(srcdir)/classpath/lib/javax/xml -name '*.class' > javax-xml.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o javax-xml.lo @javax-xml.list @rm -f javax-xml.list @@ -8024,11 +7501,7 @@ org_ietf_jgss_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(or org/ietf/jgss.list: $(org_ietf_jgss_source_files) @$(mkinstalldirs) $(dir $@) - @for file in $(org_ietf_jgss_source_files); do \ - if test -f $(srcdir)/$$file; then \ - echo $(srcdir)/$$file; \ - else echo $$file; fi; \ - done > org/ietf/jgss.list + echo $(srcdir)/classpath/lib/org/ietf/jgss/*.class > org/ietf/jgss.list -include org/ietf/jgss.deps @@ -8569,7 +8042,7 @@ classpath/org/omg/SendingContext/RunTimeOperations.java \ classpath/org/omg/stub/java/rmi/_Remote_Stub.java org-omg.lo: $(org_omg_source_files) - @find classpath/lib/org/omg -name '*.class' > org-omg.list + @find $(srcdir)/classpath/lib/org/omg -name '*.class' > org-omg.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-omg.lo @org-omg.list @rm -f org-omg.list @@ -8586,7 +8059,7 @@ classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDat classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java org-relaxng.lo: $(org_relaxng_source_files) - @find classpath/lib/org/relaxng -name '*.class' > org-relaxng.list + @find $(srcdir)/classpath/lib/org/relaxng -name '*.class' > org-relaxng.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-relaxng.lo @org-relaxng.list @rm -f org-relaxng.list @@ -8739,7 +8212,7 @@ classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java \ classpath/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java org-w3c.lo: $(org_w3c_source_files) - @find classpath/lib/org/w3c -name '*.class' > org-w3c.list + @find $(srcdir)/classpath/lib/org/w3c -name '*.class' > org-w3c.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-w3c.lo @org-w3c.list @rm -f org-w3c.list @@ -8782,10 +8255,85 @@ classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java \ classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java org-xml.lo: $(org_xml_source_files) - @find classpath/lib/org/xml -name '*.class' > org-xml.list + @find $(srcdir)/classpath/lib/org/xml -name '*.class' > org-xml.list $(LTGCJCOMPILE) -fjni -findirect-dispatch -fno-indirect-classes -c -o org-xml.lo @org-xml.list @rm -f org-xml.list +sun_misc_source_files = \ +classpath/sun/misc/Service.java \ +classpath/sun/misc/ServiceConfigurationError.java \ +sun/misc/Unsafe.java + +sun_misc_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(sun_misc_source_files))) + +sun/misc.list: $(sun_misc_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/misc/*.class > sun/misc.list + +-include sun/misc.deps + + +sun_reflect_source_files = \ +sun/reflect/Reflection.java + +sun_reflect_header_files = $(patsubst %.java,%.h,$(sun_reflect_source_files)) + +sun/reflect.list: $(sun_reflect_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/reflect/*.class > sun/reflect.list + +-include sun/reflect.deps + + +sun_reflect_annotation_source_files = \ +classpath/sun/reflect/annotation/AnnotationInvocationHandler.java \ +classpath/sun/reflect/annotation/AnnotationParser.java \ +classpath/sun/reflect/annotation/AnnotationType.java \ +classpath/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java \ +classpath/sun/reflect/annotation/ExceptionProxy.java + +sun_reflect_annotation_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(sun_reflect_annotation_source_files))) + +sun/reflect/annotation.list: $(sun_reflect_annotation_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/reflect/annotation/*.class > sun/reflect/annotation.list + +-include sun/reflect/annotation.deps + + +sun_reflect_misc_source_files = \ +sun/reflect/misc/ReflectUtil.java + +sun_reflect_misc_header_files = $(patsubst %.java,%.h,$(sun_reflect_misc_source_files)) + +sun/reflect/misc.list: $(sun_reflect_misc_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/sun/reflect/misc/*.class > sun/reflect/misc.list + +-include sun/reflect/misc.deps + + +java/process-Ecos.list: java/lang/EcosProcess.java + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/lang/EcosProcess*.class > java/process-Ecos.list + +-include java/process-Ecos.deps + + +java/process-Win32.list: java/lang/Win32Process.java + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/lang/Win32Process*.class > java/process-Win32.list + +-include java/process-Win32.deps + + +java/process-Posix.list: java/lang/PosixProcess.java + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/lang/PosixProcess*.class > java/process-Posix.list + +-include java/process-Posix.deps + + all_packages_source_files = \ gnu/awt.list \ @@ -8810,11 +8358,13 @@ all_packages_source_files = \ gnu/java/awt/color.list \ gnu/java/awt/dnd.list \ gnu/java/awt/font.list \ + gnu/java/awt/font/autofit.list \ gnu/java/awt/font/opentype.list \ gnu/java/awt/font/opentype/truetype.list \ gnu/java/awt/image.list \ gnu/java/awt/java2d.list \ gnu/java/awt/peer.list \ + gnu/java/awt/peer/headless.list \ gnu/java/awt/print.list \ gnu/java/io.list \ gnu/java/lang.list \ @@ -8839,7 +8389,6 @@ all_packages_source_files = \ gnu/java/rmi/activation.list \ gnu/java/rmi/dgc.list \ gnu/java/rmi/registry.list \ - gnu/java/rmi/rmic.list \ gnu/java/rmi/server.list \ gnu/java/security.list \ gnu/java/security/action.list \ @@ -8897,6 +8446,11 @@ all_packages_source_files = \ gnu/javax/imageio/gif.list \ gnu/javax/imageio/jpeg.list \ gnu/javax/imageio/png.list \ + gnu/javax/management.list \ + gnu/javax/naming/giop.list \ + gnu/javax/naming/ictxImpl/trans.list \ + gnu/javax/naming/jndi/url/corbaname.list \ + gnu/javax/naming/jndi/url/rmi.list \ gnu/javax/net/ssl.list \ gnu/javax/net/ssl/provider.list \ gnu/javax/print.list \ @@ -8914,6 +8468,7 @@ all_packages_source_files = \ gnu/javax/swing/plaf/gnu.list \ gnu/javax/swing/plaf/metal.list \ gnu/javax/swing/text/html.list \ + gnu/javax/swing/text/html/css.list \ gnu/javax/swing/text/html/parser.list \ gnu/javax/swing/text/html/parser/models.list \ gnu/javax/swing/text/html/parser/support.list \ @@ -8963,6 +8518,9 @@ all_packages_source_files = \ java/sql.list \ java/text.list \ java/util.list \ + java/util/concurrent.list \ + java/util/concurrent/atomic.list \ + java/util/concurrent/locks.list \ java/util/jar.list \ java/util/logging.list \ java/util/prefs.list \ @@ -8973,6 +8531,7 @@ all_packages_source_files = \ javax/crypto/interfaces.list \ javax/crypto/spec.list \ javax/management.list \ + javax/management/loading.list \ javax/management/openmbean.list \ javax/naming.list \ javax/naming/directory.list \ @@ -9017,7 +8576,11 @@ all_packages_source_files = \ javax/swing/undo.list \ javax/transaction.list \ javax/transaction/xa.list \ - org/ietf/jgss.list + org/ietf/jgss.list \ + sun/misc.list \ + sun/reflect.list \ + sun/reflect/annotation.list \ + sun/reflect/misc.list ordinary_header_files = \ $(gnu_awt_header_files) \ @@ -9037,16 +8600,19 @@ ordinary_header_files = \ $(gnu_gcj_io_header_files) \ $(gnu_gcj_jvmti_header_files) \ $(gnu_gcj_runtime_header_files) \ + $(gnu_gcj_tools_gcj_dbtool_header_files) \ $(gnu_gcj_util_header_files) \ $(gnu_java_awt_header_files) \ $(gnu_java_awt_color_header_files) \ $(gnu_java_awt_dnd_header_files) \ $(gnu_java_awt_font_header_files) \ + $(gnu_java_awt_font_autofit_header_files) \ $(gnu_java_awt_font_opentype_header_files) \ $(gnu_java_awt_font_opentype_truetype_header_files) \ $(gnu_java_awt_image_header_files) \ $(gnu_java_awt_java2d_header_files) \ $(gnu_java_awt_peer_header_files) \ + $(gnu_java_awt_peer_headless_header_files) \ $(gnu_java_awt_print_header_files) \ $(gnu_java_io_header_files) \ $(gnu_java_lang_header_files) \ @@ -9071,7 +8637,6 @@ ordinary_header_files = \ $(gnu_java_rmi_activation_header_files) \ $(gnu_java_rmi_dgc_header_files) \ $(gnu_java_rmi_registry_header_files) \ - $(gnu_java_rmi_rmic_header_files) \ $(gnu_java_rmi_server_header_files) \ $(gnu_java_security_header_files) \ $(gnu_java_security_action_header_files) \ @@ -9129,6 +8694,11 @@ ordinary_header_files = \ $(gnu_javax_imageio_gif_header_files) \ $(gnu_javax_imageio_jpeg_header_files) \ $(gnu_javax_imageio_png_header_files) \ + $(gnu_javax_management_header_files) \ + $(gnu_javax_naming_giop_header_files) \ + $(gnu_javax_naming_ictxImpl_trans_header_files) \ + $(gnu_javax_naming_jndi_url_corbaname_header_files) \ + $(gnu_javax_naming_jndi_url_rmi_header_files) \ $(gnu_javax_net_ssl_header_files) \ $(gnu_javax_net_ssl_provider_header_files) \ $(gnu_javax_print_header_files) \ @@ -9146,6 +8716,7 @@ ordinary_header_files = \ $(gnu_javax_swing_plaf_gnu_header_files) \ $(gnu_javax_swing_plaf_metal_header_files) \ $(gnu_javax_swing_text_html_header_files) \ + $(gnu_javax_swing_text_html_css_header_files) \ $(gnu_javax_swing_text_html_parser_header_files) \ $(gnu_javax_swing_text_html_parser_models_header_files) \ $(gnu_javax_swing_text_html_parser_support_header_files) \ @@ -9195,6 +8766,9 @@ ordinary_header_files = \ $(java_sql_header_files) \ $(java_text_header_files) \ $(java_util_header_files) \ + $(java_util_concurrent_header_files) \ + $(java_util_concurrent_atomic_header_files) \ + $(java_util_concurrent_locks_header_files) \ $(java_util_jar_header_files) \ $(java_util_logging_header_files) \ $(java_util_prefs_header_files) \ @@ -9205,6 +8779,7 @@ ordinary_header_files = \ $(javax_crypto_interfaces_header_files) \ $(javax_crypto_spec_header_files) \ $(javax_management_header_files) \ + $(javax_management_loading_header_files) \ $(javax_management_openmbean_header_files) \ $(javax_naming_header_files) \ $(javax_naming_directory_header_files) \ @@ -9249,13 +8824,16 @@ ordinary_header_files = \ $(javax_swing_undo_header_files) \ $(javax_transaction_header_files) \ $(javax_transaction_xa_header_files) \ - $(org_ietf_jgss_header_files) + $(org_ietf_jgss_header_files) \ + $(sun_misc_header_files) \ + $(sun_reflect_header_files) \ + $(sun_reflect_annotation_header_files) \ + $(sun_reflect_misc_header_files) bc_objects = \ gnu-CORBA.lo \ gnu-java-awt-dnd-peer-gtk.lo \ gnu-java-awt-peer-gtk.lo \ - gnu-java-awt-peer-qt.lo \ gnu-java-awt-peer-swing.lo \ gnu-java-beans.lo \ gnu-java-util-prefs-gconf.lo \ @@ -9271,14 +8849,21 @@ bc_objects = \ org-xml.lo property_files = \ - classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties \ - classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties \ + classpath/resource/gnu/classpath/tools/appletviewer/messages.properties \ + classpath/resource/gnu/classpath/tools/common/Messages.properties \ classpath/resource/gnu/classpath/tools/getopt/Messages.properties \ classpath/resource/gnu/classpath/tools/jar/messages.properties \ + classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties \ classpath/resource/gnu/classpath/tools/jarsigner/messages.properties \ + classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties \ classpath/resource/gnu/classpath/tools/keytool/messages.properties \ classpath/resource/gnu/classpath/tools/native2ascii/messages.properties \ + classpath/resource/gnu/classpath/tools/orbd/messages.properties \ + classpath/resource/gnu/classpath/tools/rmic/messages.properties \ + classpath/resource/gnu/classpath/tools/rmid/messages.properties \ + classpath/resource/gnu/classpath/tools/rmiregistry/messages.properties \ classpath/resource/gnu/classpath/tools/serialver/messages.properties \ + classpath/resource/gnu/classpath/tools/tnameserv/messages.properties \ classpath/resource/gnu/java/awt/peer/gtk/font.properties \ classpath/resource/gnu/java/awt/peer/x/fonts.properties \ classpath/resource/gnu/java/util/regex/MessagesBundle.properties \ @@ -9290,7 +8875,6 @@ property_files = \ classpath/resource/java/util/iso4217.properties \ classpath/resource/javax/imageio/plugins/jpeg/MessagesBundle.properties \ classpath/resource/org/ietf/jgss/MessagesBundle.properties \ - classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory \ classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \ diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc index 77a28644641..5751e29b5f1 100644 --- a/libjava/stacktrace.cc +++ b/libjava/stacktrace.cc @@ -21,9 +21,12 @@ details. */ #include #include #include +#include #include #include +#include #include +#include #include #include #include @@ -132,8 +135,17 @@ _Jv_StackTrace::UnwindTraceFn (struct _Unwind_Context *context, void *state_ptr) state->frames[pos].interp.pc = state->interp_frame->pc; state->interp_frame = state->interp_frame->next; } - else + else #endif + // We handle proxies in the same way as interpreted classes + if (_Jv_is_proxy (func_addr)) + { + state->frames[pos].type = frame_proxy; + state->frames[pos].proxyClass = state->interp_frame->proxyClass; + state->frames[pos].proxyMethod = state->interp_frame->proxyMethod; + state->interp_frame = state->interp_frame->next; + } + else { #ifdef HAVE_GETIPINFO _Unwind_Ptr ip; @@ -201,6 +213,13 @@ _Jv_StackTrace::getLineNumberForFrame(_Jv_StackFrame *frame, NameFinder *finder, } #endif + if (frame->type == frame_proxy) + { + *sourceFileName = NULL; + *lineNum = 0; + return; + } + // Use _Jv_platform_dladdr() to determine in which binary the address IP // resides. _Jv_AddrInfo info; @@ -273,6 +292,11 @@ _Jv_StackTrace::FillInFrameInfo (_Jv_StackFrame *frame) } } } + else if (frame->type == frame_proxy) + { + klass = frame->proxyClass; + meth = frame->proxyMethod; + } #ifdef INTERPRETER else if (frame->type == frame_interpreter) { @@ -466,55 +490,6 @@ _Jv_StackTrace::GetCallerInfo (jclass checkClass, jclass *caller_class, *caller_meth = trace_data.foundMeth; } -// Return a java array containing the Java classes on the stack above CHECKCLASS. -JArray * -_Jv_StackTrace::GetClassContext (jclass checkClass) -{ - JArray *result = NULL; - - int trace_size = 100; - _Jv_StackFrame frames[trace_size]; - _Jv_UnwindState state (trace_size); - state.frames = (_Jv_StackFrame *) &frames; - - //JvSynchronized (ncodeMap); - UpdateNCodeMap (); - - _Unwind_Backtrace (UnwindTraceFn, &state); - - // Count the number of Java frames on the stack. - int jframe_count = 0; - bool seen_checkClass = false; - int start_pos = -1; - for (int i = 0; i < state.pos; i++) - { - _Jv_StackFrame *frame = &state.frames[i]; - FillInFrameInfo (frame); - - if (seen_checkClass) - { - if (frame->klass) - { - jframe_count++; - if (start_pos == -1) - start_pos = i; - } - } - else - seen_checkClass = frame->klass == checkClass; - } - result = (JArray *) _Jv_NewObjectArray (jframe_count, &Class::class$, NULL); - int pos = 0; - - for (int i = start_pos; i < state.pos; i++) - { - _Jv_StackFrame *frame = &state.frames[i]; - if (frame->klass) - elements(result)[pos++] = frame->klass; - } - return result; -} - _Unwind_Reason_Code _Jv_StackTrace::non_system_trace_fn (_Jv_UnwindState *state) { @@ -630,3 +605,218 @@ _Jv_StackTrace::GetAccessControlStack (void) return result; } + +JArray * +_Jv_StackTrace::GetStackWalkerStack () +{ + int trace_size = 100; + _Jv_StackFrame frames[trace_size]; + _Jv_UnwindState state (trace_size); + state.frames = (_Jv_StackFrame *) &frames; + + UpdateNCodeMap (); + _Unwind_Backtrace (UnwindTraceFn, &state); + + int num_frames = 0, start_frame = -1; + enum + { + VMSW_GETCLASSCONTEXT, + JLRM_INVOKE_OR_USER_FN, + USER_FN + } + expect = VMSW_GETCLASSCONTEXT; + for (int i = 0; i < state.pos; i++) + { + _Jv_StackFrame *frame = &state.frames[i]; + FillInFrameInfo (frame); + if (!frame->klass || !frame->meth) + continue; + + switch (expect) + { + case VMSW_GETCLASSCONTEXT: + JvAssert ( + frame->klass == &::gnu::classpath::VMStackWalker::class$ + && strcmp (frame->meth->name->chars(), "getClassContext") == 0); + expect = JLRM_INVOKE_OR_USER_FN; + break; + + case JLRM_INVOKE_OR_USER_FN: + if (frame->klass != &::java::lang::reflect::Method::class$ + || strcmp (frame->meth->name->chars(), "invoke") != 0) + start_frame = i; + expect = USER_FN; + break; + + case USER_FN: + if (start_frame == -1) + start_frame = i; + break; + } + + if (start_frame != -1) + { + if (frame->klass == &::gnu::java::lang::MainThread::class$) + break; + num_frames++; + } + } + JvAssert (num_frames > 0 && start_frame > 0); + + JArray *result = (JArray *) + _Jv_NewObjectArray (num_frames, &::java::lang::Class::class$, NULL); + jclass *c = elements (result); + + for (int i = start_frame, j = 0; i < state.pos && j < num_frames; i++) + { + _Jv_StackFrame *frame = &state.frames[i]; + if (!frame->klass || !frame->meth) + continue; + c[j] = frame->klass; + j++; + } + + return result; +} + +typedef enum + { + VMSW_GET_CALLING_ITEM, + JLRM_INVOKE_OR_CALLER, + CALLER, + CALLER_OF_CALLER + } gswcc_expect; + +struct StackWalkerTraceData +{ + gswcc_expect expect; + jclass result; +}; + +_Unwind_Reason_Code +_Jv_StackTrace::stackwalker_trace_fn (_Jv_UnwindState *state) +{ + StackWalkerTraceData *trace_data = (StackWalkerTraceData *) + state->trace_data; + _Jv_StackFrame *frame = &state->frames[state->pos]; + FillInFrameInfo (frame); + + if (!(frame->klass && frame->meth)) + return _URC_NO_REASON; + + switch (trace_data->expect) + { + case VMSW_GET_CALLING_ITEM: + JvAssert (frame->klass == &::gnu::classpath::VMStackWalker::class$); + trace_data->expect = JLRM_INVOKE_OR_CALLER; + break; + + case JLRM_INVOKE_OR_CALLER: + if (frame->klass == &::java::lang::reflect::Method::class$ + && strcmp (frame->meth->name->chars(), "invoke") == 0) + trace_data->expect = CALLER; + else + trace_data->expect = CALLER_OF_CALLER; + break; + + case CALLER: + trace_data->expect = CALLER_OF_CALLER; + break; + + case CALLER_OF_CALLER: + trace_data->result = frame->klass; + return _URC_NORMAL_STOP; + } + + return _URC_NO_REASON; +} + +jclass +_Jv_StackTrace::GetStackWalkerCallingClass (void) +{ + int trace_size = 100; + _Jv_StackFrame frames[trace_size]; + _Jv_UnwindState state (trace_size); + state.frames = (_Jv_StackFrame *) &frames; + + StackWalkerTraceData trace_data; + trace_data.expect = VMSW_GET_CALLING_ITEM; + trace_data.result = NULL; + + state.trace_function = stackwalker_trace_fn; + state.trace_data = (void *) &trace_data; + + UpdateNCodeMap(); + _Unwind_Backtrace (UnwindTraceFn, &state); + + return trace_data.result; +} + +struct StackWalkerNNLTraceData +{ + gswcc_expect expect; + ClassLoader *result; +}; + +_Unwind_Reason_Code +_Jv_StackTrace::stackwalker_nnl_trace_fn (_Jv_UnwindState *state) +{ + StackWalkerNNLTraceData *trace_data = (StackWalkerNNLTraceData *) + state->trace_data; + _Jv_StackFrame *frame = &state->frames[state->pos]; + FillInFrameInfo (frame); + + if (!(frame->klass && frame->meth)) + return _URC_NO_REASON; + + switch (trace_data->expect) + { + case VMSW_GET_CALLING_ITEM: + JvAssert (frame->klass == &::gnu::classpath::VMStackWalker::class$); + trace_data->expect = JLRM_INVOKE_OR_CALLER; + break; + + case JLRM_INVOKE_OR_CALLER: + if (frame->klass == &::java::lang::reflect::Method::class$ + && strcmp (frame->meth->name->chars(), "invoke") == 0) + trace_data->expect = CALLER; + else + trace_data->expect = CALLER_OF_CALLER; + break; + + case CALLER: + trace_data->expect = CALLER_OF_CALLER; + break; + + case CALLER_OF_CALLER: + ClassLoader *cl = frame->klass->getClassLoaderInternal (); + if (cl != NULL) + { + trace_data->result = cl; + return _URC_NORMAL_STOP; + } + } + + return _URC_NO_REASON; +} + +ClassLoader * +_Jv_StackTrace::GetStackWalkerFirstNonNullLoader (void) +{ + int trace_size = 100; + _Jv_StackFrame frames[trace_size]; + _Jv_UnwindState state (trace_size); + state.frames = (_Jv_StackFrame *) &frames; + + StackWalkerNNLTraceData trace_data; + trace_data.expect = VMSW_GET_CALLING_ITEM; + trace_data.result = NULL; + + state.trace_function = stackwalker_nnl_trace_fn; + state.trace_data = (void *) &trace_data; + + UpdateNCodeMap(); + _Unwind_Backtrace (UnwindTraceFn, &state); + + return trace_data.result; +} diff --git a/libjava/standard.omit.in b/libjava/standard.omit.in index 5c49ceef8b2..78caef86c54 100644 --- a/libjava/standard.omit.in +++ b/libjava/standard.omit.in @@ -1,6 +1,3 @@ -java/lang/EcosProcess.java -java/lang/Win32Process.java -java/lang/PosixProcess.java gnu/java/nio/charset/iconv java/util/zip/DeflaterConstants.java java/util/zip/DeflaterEngine.java @@ -11,3 +8,9 @@ java/util/zip/InflaterHuffmanTree.java java/util/zip/OutputWindow.java java/util/zip/PendingBuffer.java java/util/zip/StreamManipulator.java +gnu/java/nio/NIOSocketImpl.java +gnu/java/nio/KqueueSelectorImpl.java +gnu/java/nio/EpollSelectorImpl.java +gnu/java/nio/FileChannelImpl.java +gnu/java/nio/KqueueSelectionKeyImpl.java +gnu/java/nio/EpollSelectionKeyImpl.java diff --git a/libjava/sun/misc/Service.h b/libjava/sun/misc/Service.h new file mode 100644 index 00000000000..e698fed4bc4 --- /dev/null +++ b/libjava/sun/misc/Service.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_misc_Service__ +#define __sun_misc_Service__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Service; + } + } +} + +class sun::misc::Service : public ::java::lang::Object +{ + +public: + Service(); + static ::java::util::Iterator * providers(::java::lang::Class *, ::java::lang::ClassLoader *); + static ::java::lang::Class class$; +}; + +#endif // __sun_misc_Service__ diff --git a/libjava/sun/misc/ServiceConfigurationError.h b/libjava/sun/misc/ServiceConfigurationError.h new file mode 100644 index 00000000000..aee51b34711 --- /dev/null +++ b/libjava/sun/misc/ServiceConfigurationError.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_misc_ServiceConfigurationError__ +#define __sun_misc_ServiceConfigurationError__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class ServiceConfigurationError; + } + } +} + +class sun::misc::ServiceConfigurationError : public ::java::lang::Error +{ + +public: + ServiceConfigurationError(); + ServiceConfigurationError(::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __sun_misc_ServiceConfigurationError__ diff --git a/libjava/sun/misc/Unsafe.h b/libjava/sun/misc/Unsafe.h new file mode 100644 index 00000000000..d50c3e05011 --- /dev/null +++ b/libjava/sun/misc/Unsafe.h @@ -0,0 +1,53 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_misc_Unsafe__ +#define __sun_misc_Unsafe__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace misc + { + class Unsafe; + } + } +} + +class sun::misc::Unsafe : public ::java::lang::Object +{ + + Unsafe(); +public: + static ::sun::misc::Unsafe * getUnsafe(); + virtual jlong objectFieldOffset(::java::lang::reflect::Field *); + virtual jboolean compareAndSwapInt(::java::lang::Object *, jlong, jint, jint); + virtual jboolean compareAndSwapLong(::java::lang::Object *, jlong, jlong, jlong); + virtual jboolean compareAndSwapObject(::java::lang::Object *, jlong, ::java::lang::Object *, ::java::lang::Object *); + virtual void putOrderedInt(::java::lang::Object *, jlong, jint); + virtual void putOrderedLong(::java::lang::Object *, jlong, jlong); + virtual void putOrderedObject(::java::lang::Object *, jlong, ::java::lang::Object *); + virtual void putIntVolatile(::java::lang::Object *, jlong, jint); + virtual jint getIntVolatile(::java::lang::Object *, jlong); + virtual void putLongVolatile(::java::lang::Object *, jlong, jlong); + virtual void putLong(::java::lang::Object *, jlong, jlong); + virtual jlong getLongVolatile(::java::lang::Object *, jlong); + virtual jlong getLong(::java::lang::Object *, jlong); + virtual void putObjectVolatile(::java::lang::Object *, jlong, ::java::lang::Object *); + virtual void putObject(::java::lang::Object *, jlong, ::java::lang::Object *); + virtual ::java::lang::Object * getObjectVolatile(::java::lang::Object *, jlong); + virtual jint arrayBaseOffset(::java::lang::Class *); + virtual jint arrayIndexScale(::java::lang::Class *); + virtual void unpark(::java::lang::Thread *); + virtual void park(jboolean, jlong); +private: + static ::sun::misc::Unsafe * unsafe; +public: + static ::java::lang::Class class$; +}; + +#endif // __sun_misc_Unsafe__ diff --git a/libjava/sun/misc/Unsafe.java b/libjava/sun/misc/Unsafe.java new file mode 100644 index 00000000000..fa199f83e0a --- /dev/null +++ b/libjava/sun/misc/Unsafe.java @@ -0,0 +1,328 @@ +/* Unsafe.java - Unsafe operations needed for concurrency + Copyright (C) 2006 Free Software Foundation + +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. */ + +package sun.misc; + +import java.lang.reflect.Field; + +/** + * This class should provide access to low-level operations and its + * use should be limited to trusted code. Fields can be accessed using + * memory addresses, with undefined behaviour occurring if invalid memory + * addresses are given. + * + * @author Tom Tromey (tromey@redhat.com) + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ +public class Unsafe +{ + // Singleton class. + private static Unsafe unsafe = new Unsafe(); + + /** + * Private default constructor to prevent creation of an arbitrary + * number of instances. + */ + private Unsafe() + { + } + + /** + * Retrieve the singleton instance of Unsafe. The calling + * method should guard this instance from untrusted code, as it provides + * access to low-level operations such as direct memory access. + * + * @throws SecurityException if a security manager exists and prevents + * access to the system properties. + */ + public static Unsafe getUnsafe() + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPropertiesAccess(); + return unsafe; + } + + /** + * Returns the memory address offset of the given static field. + * The offset is merely used as a means to access a particular field + * in the other methods of this class. The value is unique to the given + * field and the same value should be returned on each subsequent call. + * + * @param field the field whose offset should be returned. + * @return the offset of the given field. + */ + public native long objectFieldOffset(Field field); + + /** + * Compares the value of the integer field at the specified offset + * in the supplied object with the given expected value, and updates + * it if they match. The operation of this method should be atomic, + * thus providing an uninterruptible way of updating an integer field. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the integer field within obj. + * @param expect the expected value of the field. + * @param update the new value of the field if it equals expect. + * @return true if the field was changed. + */ + public native boolean compareAndSwapInt(Object obj, long offset, + int expect, int update); + + /** + * Compares the value of the long field at the specified offset + * in the supplied object with the given expected value, and updates + * it if they match. The operation of this method should be atomic, + * thus providing an uninterruptible way of updating a long field. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the long field within obj. + * @param expect the expected value of the field. + * @param update the new value of the field if it equals expect. + * @return true if the field was changed. + */ + public native boolean compareAndSwapLong(Object obj, long offset, + long expect, long update); + + /** + * Compares the value of the object field at the specified offset + * in the supplied object with the given expected value, and updates + * it if they match. The operation of this method should be atomic, + * thus providing an uninterruptible way of updating an object field. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the object field within obj. + * @param expect the expected value of the field. + * @param update the new value of the field if it equals expect. + * @return true if the field was changed. + */ + public native boolean compareAndSwapObject(Object obj, long offset, + Object expect, Object update); + + /** + * Sets the value of the integer field at the specified offset in the + * supplied object to the given value. This is an ordered or lazy + * version of putIntVolatile(Object,long,int), which + * doesn't guarantee the immediate visibility of the change to other + * threads. It is only really useful where the integer field is + * volatile, and is thus expected to change unexpectedly. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the integer field within obj. + * @param value the new value of the field. + * @see #putIntVolatile(Object,long,int) + */ + public native void putOrderedInt(Object obj, long offset, int value); + + /** + * Sets the value of the long field at the specified offset in the + * supplied object to the given value. This is an ordered or lazy + * version of putLongVolatile(Object,long,long), which + * doesn't guarantee the immediate visibility of the change to other + * threads. It is only really useful where the long field is + * volatile, and is thus expected to change unexpectedly. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the long field within obj. + * @param value the new value of the field. + * @see #putLongVolatile(Object,long,long) + */ + public native void putOrderedLong(Object obj, long offset, long value); + + /** + * Sets the value of the object field at the specified offset in the + * supplied object to the given value. This is an ordered or lazy + * version of putObjectVolatile(Object,long,Object), which + * doesn't guarantee the immediate visibility of the change to other + * threads. It is only really useful where the object field is + * volatile, and is thus expected to change unexpectedly. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the object field within obj. + * @param value the new value of the field. + */ + public native void putOrderedObject(Object obj, long offset, Object value); + + /** + * Sets the value of the integer field at the specified offset in the + * supplied object to the given value, with volatile store semantics. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the integer field within obj. + * @param value the new value of the field. + */ + public native void putIntVolatile(Object obj, long offset, int value); + + /** + * Retrieves the value of the integer field at the specified offset in the + * supplied object with volatile load semantics. + * + * @param obj the object containing the field to read. + * @param offset the offset of the integer field within obj. + */ + public native int getIntVolatile(Object obj, long offset); + + /** + * Sets the value of the long field at the specified offset in the + * supplied object to the given value, with volatile store semantics. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the long field within obj. + * @param value the new value of the field. + * @see #putLong(Object,long,long) + */ + public native void putLongVolatile(Object obj, long offset, long value); + + /** + * Sets the value of the long field at the specified offset in the + * supplied object to the given value. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the long field within obj. + * @param value the new value of the field. + * @see #putLongVolatile(Object,long,long) + */ + public native void putLong(Object obj, long offset, long value); + + /** + * Retrieves the value of the long field at the specified offset in the + * supplied object with volatile load semantics. + * + * @param obj the object containing the field to read. + * @param offset the offset of the long field within obj. + * @see #getLong(Object,long) + */ + public native long getLongVolatile(Object obj, long offset); + + /** + * Retrieves the value of the long field at the specified offset in the + * supplied object. + * + * @param obj the object containing the field to read. + * @param offset the offset of the long field within obj. + * @see #getLongVolatile(Object,long) + */ + public native long getLong(Object obj, long offset); + + /** + * Sets the value of the object field at the specified offset in the + * supplied object to the given value, with volatile store semantics. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the object field within obj. + * @param value the new value of the field. + * @see #putObject(Object,long,Object) + */ + public native void putObjectVolatile(Object obj, long offset, Object value); + + /** + * Sets the value of the object field at the specified offset in the + * supplied object to the given value. + * + * @param obj the object containing the field to modify. + * @param offset the offset of the object field within obj. + * @param value the new value of the field. + * @see #putObjectVolatile(Object,long,Object) + */ + public native void putObject(Object obj, long offset, Object value); + + /** + * Retrieves the value of the object field at the specified offset in the + * supplied object with volatile load semantics. + * + * @param obj the object containing the field to read. + * @param offset the offset of the object field within obj. + */ + public native Object getObjectVolatile(Object obj, long offset); + + /** + * Returns the offset of the first element for a given array class. + * To access elements of the array class, this value may be used along + * with that returned by + * arrayIndexScale, + * if non-zero. + * + * @param arrayClass the class for which the first element's address should + * be obtained. + * @return the offset of the first element of the array class. + * @see arrayIndexScale(Class) + */ + public native int arrayBaseOffset(Class arrayClass); + + /** + * Returns the scale factor used for addressing elements of the supplied + * array class. Where a suitable scale factor can not be returned (e.g. + * for primitive types), zero should be returned. The returned value + * can be used with + * arrayBaseOffset + * to access elements of the class. + * + * @param arrayClass the class whose scale factor should be returned. + * @return the scale factor, or zero if not supported for this array class. + */ + public native int arrayIndexScale(Class arrayClass); + + /** + * Releases the block on a thread created by + * park. This method can also be used + * to terminate a blockage caused by a prior call to park. + * This operation is unsafe, as the thread must be guaranteed to be + * live. This is true of Java, but not native code. + * + * @param thread the thread to unblock. + */ + public native void unpark(Thread thread); + + /** + * Blocks the thread until a matching + * unpark occurs, the thread is + * interrupted or the optional timeout expires. If an unpark + * call has already occurred, this also counts. A timeout value of zero + * is defined as no timeout. When isAbsolute is + * true, the timeout is in milliseconds relative to the + * epoch. Otherwise, the value is the number of nanoseconds which must + * occur before timeout. This call may also return spuriously (i.e. + * for no apparent reason). + * + * @param isAbsolute true if the timeout is specified in milliseconds from + * the epoch. + * @param time either the number of nanoseconds to wait, or a time in + * milliseconds from the epoch to wait for. + */ + public native void park(boolean isAbsolute, long time); + +} diff --git a/libjava/sun/misc/natUnsafe.cc b/libjava/sun/misc/natUnsafe.cc new file mode 100644 index 00000000000..7aa422e58dc --- /dev/null +++ b/libjava/sun/misc/natUnsafe.cc @@ -0,0 +1,252 @@ +// natUnsafe.cc - Implementation of sun.misc.Unsafe native methods. + +/* Copyright (C) 2006 + Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "sysdep/locks.h" + +// Use a spinlock for multi-word accesses +class spinlock +{ + static volatile obj_addr_t lock; + +public: + +spinlock () + { + while (! compare_and_swap (&lock, 0, 1)); + } + ~spinlock () + { + release_set (&lock, 0); + } +}; + +// This is a single lock that is used for all synchronized accesses if +// the compiler can't generate inline compare-and-swap operations. In +// most cases it'll never be used, but the i386 needs it for 64-bit +// locked accesses and so does PPC32. It's worth building libgcj with +// target=i486 (or above) to get the inlines. +volatile obj_addr_t spinlock::lock; + + +static inline bool +compareAndSwap (volatile jint *addr, jint old, jint new_val) +{ + jboolean result = false; + spinlock lock; + if ((result = (*addr == old))) + *addr = new_val; + return result; +} + +static inline bool +compareAndSwap (volatile jlong *addr, jlong old, jlong new_val) +{ + jboolean result = false; + spinlock lock; + if ((result = (*addr == old))) + *addr = new_val; + return result; +} + +static inline bool +compareAndSwap (volatile jobject *addr, jobject old, jobject new_val) +{ + jboolean result = false; + spinlock lock; + if ((result = (*addr == old))) + *addr = new_val; + return result; +} + + +jlong +sun::misc::Unsafe::objectFieldOffset (::java::lang::reflect::Field *field) +{ + _Jv_Field *fld = _Jv_FromReflectedField (field); + // FIXME: what if it is not an instance field? + return fld->getOffset(); +} + +jint +sun::misc::Unsafe::arrayBaseOffset (jclass arrayClass) +{ + // FIXME: assert that arrayClass is array. + jclass eltClass = arrayClass->getComponentType(); + return (jint)(jlong) _Jv_GetArrayElementFromElementType (NULL, eltClass); +} + +jint +sun::misc::Unsafe::arrayIndexScale (jclass arrayClass) +{ + // FIXME: assert that arrayClass is array. + jclass eltClass = arrayClass->getComponentType(); + if (eltClass->isPrimitive()) + return eltClass->size(); + return sizeof (void *); +} + +// These methods are used when the compiler fails to generate inline +// versions of the compare-and-swap primitives. + +jboolean +sun::misc::Unsafe::compareAndSwapInt (jobject obj, jlong offset, + jint expect, jint update) +{ + jint *addr = (jint *)((char *)obj + offset); + return compareAndSwap (addr, expect, update); +} + +jboolean +sun::misc::Unsafe::compareAndSwapLong (jobject obj, jlong offset, + jlong expect, jlong update) +{ + volatile jlong *addr = (jlong*)((char *) obj + offset); + return compareAndSwap (addr, expect, update); +} + +jboolean +sun::misc::Unsafe::compareAndSwapObject (jobject obj, jlong offset, + jobject expect, jobject update) +{ + jobject *addr = (jobject*)((char *) obj + offset); + return compareAndSwap (addr, expect, update); +} + +void +sun::misc::Unsafe::putOrderedInt (jobject obj, jlong offset, jint value) +{ + volatile jint *addr = (jint *) ((char *) obj + offset); + *addr = value; +} + +void +sun::misc::Unsafe::putOrderedLong (jobject obj, jlong offset, jlong value) +{ + volatile jlong *addr = (jlong *) ((char *) obj + offset); + spinlock lock; + *addr = value; +} + +void +sun::misc::Unsafe::putOrderedObject (jobject obj, jlong offset, jobject value) +{ + volatile jobject *addr = (jobject *) ((char *) obj + offset); + *addr = value; +} + +void +sun::misc::Unsafe::putIntVolatile (jobject obj, jlong offset, jint value) +{ + write_barrier (); + volatile jint *addr = (jint *) ((char *) obj + offset); + *addr = value; +} + +void +sun::misc::Unsafe::putLongVolatile (jobject obj, jlong offset, jlong value) +{ + volatile jlong *addr = (jlong *) ((char *) obj + offset); + spinlock lock; + *addr = value; +} + +void +sun::misc::Unsafe::putObjectVolatile (jobject obj, jlong offset, jobject value) +{ + write_barrier (); + volatile jobject *addr = (jobject *) ((char *) obj + offset); + *addr = value; +} + +#if 0 // FIXME +void +sun::misc::Unsafe::putInt (jobject obj, jlong offset, jint value) +{ + jint *addr = (jint *) ((char *) obj + offset); + *addr = value; +} +#endif + +void +sun::misc::Unsafe::putLong (jobject obj, jlong offset, jlong value) +{ + jlong *addr = (jlong *) ((char *) obj + offset); + spinlock lock; + *addr = value; +} + +void +sun::misc::Unsafe::putObject (jobject obj, jlong offset, jobject value) +{ + jobject *addr = (jobject *) ((char *) obj + offset); + *addr = value; +} + +jint +sun::misc::Unsafe::getIntVolatile (jobject obj, jlong offset) +{ + volatile jint *addr = (jint *) ((char *) obj + offset); + jint result = *addr; + read_barrier (); + return result; +} + +jobject +sun::misc::Unsafe::getObjectVolatile (jobject obj, jlong offset) +{ + volatile jobject *addr = (jobject *) ((char *) obj + offset); + jobject result = *addr; + read_barrier (); + return result; +} + +jlong +sun::misc::Unsafe::getLong (jobject obj, jlong offset) +{ + jlong *addr = (jlong *) ((char *) obj + offset); + spinlock lock; + return *addr; +} + +jlong +sun::misc::Unsafe::getLongVolatile (jobject obj, jlong offset) +{ + volatile jlong *addr = (jlong *) ((char *) obj + offset); + spinlock lock; + return *addr; +} + +void +sun::misc::Unsafe::unpark (::java::lang::Thread *thread) +{ + natThread *nt = (natThread *) thread->data; + nt->park_helper.unpark (); +} + +void +sun::misc::Unsafe::park (jboolean isAbsolute, jlong time) +{ + using namespace ::java::lang; + Thread *thread = Thread::currentThread(); + natThread *nt = (natThread *) thread->data; + nt->park_helper.park (isAbsolute, time); +} diff --git a/libjava/sun/reflect/Reflection.h b/libjava/sun/reflect/Reflection.h new file mode 100644 index 00000000000..7f3c82fe797 --- /dev/null +++ b/libjava/sun/reflect/Reflection.h @@ -0,0 +1,30 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_Reflection__ +#define __sun_reflect_Reflection__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + class Reflection; + } + } +} + +class sun::reflect::Reflection : public ::java::lang::Object +{ + +public: + Reflection(); + static ::java::lang::Class * getCallerClass(jint); + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_Reflection__ diff --git a/libjava/sun/reflect/Reflection.java b/libjava/sun/reflect/Reflection.java new file mode 100644 index 00000000000..ef25ce71f1c --- /dev/null +++ b/libjava/sun/reflect/Reflection.java @@ -0,0 +1,51 @@ +/* Reflection.java - JSR 166 reflection hooks + Copyright (C) 2006 Free Software Foundation + +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. */ + +package sun.reflect; + +import gnu.classpath.VMStackWalker; + +public class Reflection +{ + /** + * A stack-walking wrapper method used by the JSR 166 RI. + */ + public static Class getCallerClass(int depth) + { + return VMStackWalker.getClassContext()[depth]; + } +} diff --git a/libjava/sun/reflect/annotation/AnnotationInvocationHandler.h b/libjava/sun/reflect/annotation/AnnotationInvocationHandler.h new file mode 100644 index 00000000000..0679e3c3fd5 --- /dev/null +++ b/libjava/sun/reflect/annotation/AnnotationInvocationHandler.h @@ -0,0 +1,55 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_annotation_AnnotationInvocationHandler__ +#define __sun_reflect_annotation_AnnotationInvocationHandler__ + +#pragma interface + +#include +#include + +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace annotation + { + class AnnotationInvocationHandler; + } + } + } +} + +class sun::reflect::annotation::AnnotationInvocationHandler : public ::java::lang::Object +{ + +public: + AnnotationInvocationHandler(::java::lang::Class *, ::java::util::Map *); + static ::java::lang::annotation::Annotation * create(::java::lang::Class *, ::java::util::Map *); + static jboolean equals(::java::lang::Class *, ::java::util::Map *, ::java::lang::Object *); +private: + static jboolean deepEquals(::java::lang::Object *, ::java::lang::Object *); + static jint deepHashCode(::java::lang::Object *); +public: + static jint hashCode(::java::lang::Class *, ::java::util::Map *); +private: + static ::java::lang::String * deepToString(::java::lang::Object *); +public: + static ::java::lang::String * toString(::java::lang::Class *, ::java::util::Map *); +private: + static ::java::lang::Class * getBoxedReturnType(::java::lang::reflect::Method *); + ::java::lang::Object * arrayClone(::java::lang::Object *); +public: + ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *); +private: + static const jlong serialVersionUID = 6182022883658399397LL; + ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) type; + ::java::util::Map * memberValues; +public: + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_annotation_AnnotationInvocationHandler__ diff --git a/libjava/sun/reflect/annotation/AnnotationParser.h b/libjava/sun/reflect/annotation/AnnotationParser.h new file mode 100644 index 00000000000..d5ca9737ac9 --- /dev/null +++ b/libjava/sun/reflect/annotation/AnnotationParser.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_annotation_AnnotationParser__ +#define __sun_reflect_annotation_AnnotationParser__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace annotation + { + class AnnotationParser; + } + } + } +} + +class sun::reflect::annotation::AnnotationParser : public ::java::lang::Object +{ + +public: + AnnotationParser(); + static ::java::lang::annotation::Annotation * annotationForMap(::java::lang::Class *, ::java::util::Map *); + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_annotation_AnnotationParser__ diff --git a/libjava/sun/reflect/annotation/AnnotationType.h b/libjava/sun/reflect/annotation/AnnotationType.h new file mode 100644 index 00000000000..3d21e0f14cb --- /dev/null +++ b/libjava/sun/reflect/annotation/AnnotationType.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_annotation_AnnotationType__ +#define __sun_reflect_annotation_AnnotationType__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace annotation + { + class AnnotationType; + } + } + } +} + +class sun::reflect::annotation::AnnotationType : public ::java::lang::Object +{ + +public: + AnnotationType(); + static ::java::lang::Class * invocationHandlerReturnType(::java::lang::Class *); + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_annotation_AnnotationType__ diff --git a/libjava/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.h b/libjava/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.h new file mode 100644 index 00000000000..63d853b5d21 --- /dev/null +++ b/libjava/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_annotation_EnumConstantNotPresentExceptionProxy__ +#define __sun_reflect_annotation_EnumConstantNotPresentExceptionProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace annotation + { + class EnumConstantNotPresentExceptionProxy; + } + } + } +} + +class sun::reflect::annotation::EnumConstantNotPresentExceptionProxy : public ::sun::reflect::annotation::ExceptionProxy +{ + +public: + EnumConstantNotPresentExceptionProxy(::java::lang::Class *, ::java::lang::String *); + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_annotation_EnumConstantNotPresentExceptionProxy__ diff --git a/libjava/sun/reflect/annotation/ExceptionProxy.h b/libjava/sun/reflect/annotation/ExceptionProxy.h new file mode 100644 index 00000000000..ca6a3cd692b --- /dev/null +++ b/libjava/sun/reflect/annotation/ExceptionProxy.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_annotation_ExceptionProxy__ +#define __sun_reflect_annotation_ExceptionProxy__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace annotation + { + class ExceptionProxy; + } + } + } +} + +class sun::reflect::annotation::ExceptionProxy : public ::java::lang::Object +{ + +public: + ExceptionProxy(); + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_annotation_ExceptionProxy__ diff --git a/libjava/sun/reflect/misc/ReflectUtil$MustBeNull.h b/libjava/sun/reflect/misc/ReflectUtil$MustBeNull.h new file mode 100644 index 00000000000..a2e7494d8dc --- /dev/null +++ b/libjava/sun/reflect/misc/ReflectUtil$MustBeNull.h @@ -0,0 +1,32 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_misc_ReflectUtil$MustBeNull__ +#define __sun_reflect_misc_ReflectUtil$MustBeNull__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace misc + { + class ReflectUtil$MustBeNull; + } + } + } +} + +class sun::reflect::misc::ReflectUtil$MustBeNull : public ::java::lang::Object +{ + + ReflectUtil$MustBeNull(); +public: + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_misc_ReflectUtil$MustBeNull__ diff --git a/libjava/sun/reflect/misc/ReflectUtil.h b/libjava/sun/reflect/misc/ReflectUtil.h new file mode 100644 index 00000000000..91c0b64b2c8 --- /dev/null +++ b/libjava/sun/reflect/misc/ReflectUtil.h @@ -0,0 +1,35 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __sun_reflect_misc_ReflectUtil__ +#define __sun_reflect_misc_ReflectUtil__ + +#pragma interface + +#include +extern "Java" +{ + namespace sun + { + namespace reflect + { + namespace misc + { + class ReflectUtil; + class ReflectUtil$MustBeNull; + } + } + } +} + +class sun::reflect::misc::ReflectUtil : public ::java::lang::Object +{ + +public: + ReflectUtil(); + static void checkPackageAccess(::java::lang::Class *); + static void ensureMemberAccess(::java::lang::Class *, ::java::lang::Class *, ::sun::reflect::misc::ReflectUtil$MustBeNull *, jint); + static ::java::lang::Class class$; +}; + +#endif // __sun_reflect_misc_ReflectUtil__ diff --git a/libjava/sun/reflect/misc/ReflectUtil.java b/libjava/sun/reflect/misc/ReflectUtil.java new file mode 100644 index 00000000000..88a6f2515bf --- /dev/null +++ b/libjava/sun/reflect/misc/ReflectUtil.java @@ -0,0 +1,113 @@ +/* ReflectUtil.java - JSR 166 reflection hooks + Copyright (C) 2006 Free Software Foundation + +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. */ + +package sun.reflect.misc; + +import java.lang.reflect.Modifier; + +public class ReflectUtil +{ + // We use this inaccessible inner class as an argument type + // in verifyMemberAccess. All current users of this method + // in the JSR 166 RI pass 'null' for this argument, and + // consequently we don't know what it means. Using a funny + // type like this for the argument means that if the RI changes, + // we will see a compilation error. + private static class MustBeNull + { + } + + /** + * Check if the current thread is allowed to access the package of + * the declaringClass. + * + * @param declaringClass class name to check access to + * @throws SecurityException if permission is denied + * @throws NullPointerException if declaringClass is null + */ + public static void checkPackageAccess(Class declaringClass) + { + SecurityManager sm; + if ((sm = System.getSecurityManager()) != null) + { + while (declaringClass.isArray()) + declaringClass = declaringClass.getComponentType(); + String name = declaringClass.getName(); + int i = name.lastIndexOf('.'); + if (i != -1) // if declaringClass is a member of a package + { + name = name.substring(0, i); + sm.checkPackageAccess(name); + } + } + } + + /** + * Perform access checks on a member of a class. This API is + * derived from the public domain code in the JSR 166 reference + * implementation. + * @param caller the class requesting access to the member + * @param declarer the declaring class of the member + * @param ignored unknown parameter; always null + * @param modifiers the modifiers on the member + * @return true if access is granted, false otherwise + */ + public static void ensureMemberAccess(Class caller, + Class declarer, + MustBeNull ignored, + int modifiers) + { + // Same class, always ok. + if (caller == declarer) + return; + // Public access is ok. + if ((modifiers & Modifier.PUBLIC) != 0) + return; + // Protected access and request comes from + // a subclass of the declarer -- ok. + if ((modifiers & Modifier.PROTECTED) != 0 + && declarer.isAssignableFrom(caller)) + return; + // Package-private access, or protected access, + // and the packages are the same --ok. + if ((modifiers & Modifier.PRIVATE) == 0 + && caller.getPackage() == declarer.getPackage()) + return; + // Otherwise, no. + throw new IllegalAccessError(); + } +} diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in index f419d3ced36..67231dc65e4 100644 --- a/libjava/testsuite/Makefile.in +++ b/libjava/testsuite/Makefile.in @@ -79,6 +79,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -98,7 +100,11 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ +ENABLE_SHARED_FALSE = @ENABLE_SHARED_FALSE@ +ENABLE_SHARED_TRUE = @ENABLE_SHARED_TRUE@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@ @@ -109,6 +115,7 @@ GCJDEPMODE = @GCJDEPMODE@ GCJFLAGS = @GCJFLAGS@ GCJH = @GCJH@ GCJVERSION = @GCJVERSION@ +GCJ_FOR_ECJX = @GCJ_FOR_ECJX@ GCLIBS = @GCLIBS@ GCSPEC = @GCSPEC@ GCTESTSPEC = @GCTESTSPEC@ @@ -120,6 +127,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -128,6 +137,8 @@ JAR = @JAR@ JAVA_HOME = @JAVA_HOME@ JAVA_HOME_SET_FALSE = @JAVA_HOME_SET_FALSE@ JAVA_HOME_SET_TRUE = @JAVA_HOME_SET_TRUE@ +JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ +JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JC1GCSPEC = @JC1GCSPEC@ LD = @LD@ LDFLAGS = @LDFLAGS@ @@ -146,6 +157,7 @@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ +LIBMAGIC = @LIBMAGIC@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ @@ -170,7 +182,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ -PLATFORM_INNER_NAT_HDRS = @PLATFORM_INNER_NAT_HDRS@ +PLATFORM = @PLATFORM@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -212,6 +224,8 @@ USING_WIN32_THREADS_TRUE = @USING_WIN32_THREADS_TRUE@ VERSION = @VERSION@ XLIB_AWT_FALSE = @XLIB_AWT_FALSE@ XLIB_AWT_TRUE = @XLIB_AWT_TRUE@ +X_AWT_FALSE = @X_AWT_FALSE@ +X_AWT_TRUE = @X_AWT_TRUE@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ @@ -257,6 +271,7 @@ here = @here@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ +host_exeext = @host_exeext@ host_os = @host_os@ host_subdir = @host_subdir@ host_vendor = @host_vendor@ diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp index 5100c8a7b49..853b25e684a 100644 --- a/libjava/testsuite/lib/libjava.exp +++ b/libjava/testsuite/lib/libjava.exp @@ -75,14 +75,9 @@ proc libjava_find_program {prog} { return $file } -# Find `jv-scan'. -proc find_jvscan {} { - return [libjava_find_program jv-scan] -} - # Find `gcjh'. proc find_gcjh {} { - return [libjava_find_program gcjh] + return [libjava_find_program gjavah] } proc find_javac {} { @@ -378,6 +373,9 @@ proc libjava_arguments {{mode compile}} { [join [list . $srcdir/$subdir $objdir $libgcj_jar] $sep] verbose "CLASSPATH is $env(CLASSPATH)" + # Disable all warnings, as ecj is rather chatty. + lappend args "additional_flags=-w" + if {$mode == "link"} { global wrapper_file wrap_compile_flags lappend args "additional_flags=$wrap_compile_flags" @@ -687,207 +685,6 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile } } -# -# Run the test specified by srcfile and resultfile. compile_args and -# exec_args are options telling this proc how to work. -# -proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile exec_args } { - global base_dir - global srcdir subdir objdir - global TOOL_OPTIONS - global GCJ_UNDER_TEST - global tmpdir - global runtests - global INTERPRETER - - # Make opts into an array. - set opts(_) x - unset opts(_) - foreach item $exec_args { - set opts($item) x - } - - # If we need threads and we don't have them then set the `no-exec' - # flag. This is case is also handled specially later. - if {[info exists opts(need-threads)]} { - global libjava_uses_threads - if {! $libjava_uses_threads} { - set opts(no-exec) x - } - } - set errname [file rootname [file tail $srcfile]] - if {! [runtest_file_p $runtests $errname]} { - return - } - - # bytecompile files with Sun's compiler for now. - set bc_ok [bytecompile_file $srcfile $objdir] - - set javac [find_javac] - # This is an ugly heuristic but it will have to do. - if {[string match *gcj* $javac]} { - set tag gcjC - } else { - set tag javac - } - if {[info exists opts(xfail-$tag)]} { - setup_xfail *-*-* - } - if {! $bc_ok} then { - if {[info exists opts(shouldfail)]} { - pass "$errname byte compilation" - return - } - fail "$errname byte compilation" - untested "$errname compilation from bytecode" - if {! [info exists opts(no-exec)] - || [info exists opts(need-threads)]} { - untested "$errname execution from bytecode->native test" - untested "$errname output from bytecode->native test" - } - return - } - if {[info exists opts(shouldfail)]} { - fail "$errname byte compilation" - return - } - pass "$errname byte compilation" - - set removeList {} - - # Find name to use for --main, and name of all class files. - set jvscan [find_jvscan] - verbose "jvscan is $jvscan" - set main_name [string trim \ - [libjava_prune_warnings \ - [lindex [local_exec "$jvscan --encoding=UTF-8 $srcfile --print-main" "" "" 300] 1]]] - verbose "main name is $main_name" - set class_out [string trim \ - [libjava_prune_warnings \ - [lindex [local_exec "$jvscan --encoding=UTF-8 $srcfile --list-class" "" "" 300] 1]]] - verbose "class list is $class_out" - - if {[string match "*parse error*" $main_name] - || [string match "*parse error*" $class_out]} { - untested "$errname compilation from bytecode" - if {! [info exists opts(no-exec)] - || [info exists opts(need-threads)]} { - untested "$errname execution from bytecode->native test" - untested "$errname output from bytecode->native test" - } - return - } - - # Turn "a b" into "a.class b.class". - # Also, turn "foo.bar" into "foo/bar.class". - set class_files {} - foreach file [split [string trim $class_out]] { - set file [join [split $file .] /] - lappend class_files $objdir/$file.class - } - - eval lappend removeList $class_files - - # Usually it is an error for a test program not to have a `main' - # method. However, for no-exec tests it is ok. Treat no-link - # like no-exec here. - if {[info exists opts(no-link)]} { - set opts(no-exec) x - } - set largs {} - - if {[info exists opts(no-exec)]} { - set type object - set mode compile - } elseif {$main_name == ""} { - perror "No `main' given in program $errname" - return - } else { - set type executable - lappend largs "additional_flags=--main=$main_name" - # DOS/win32 targets default to .exe if no suffix is given - # We then try to delete a file that doesn't exist. It is - # simpler to add the suffix everywhere. - set executable "${objdir}/${main_name}.exe" - set mode link - } - - # We purposely ignore errors here; we still want to run the other - # appropriate tests. - set gij [libjava_find_gij] - # libjava_find_gij will return "" if it couldn't find the - # program; in this case we want to skip the test. - if {$INTERPRETER == "yes" && $gij != ""} { - libjava_invoke $errname "gij test" opts $gij \ - $inpfile $resultfile "" $main_name - } - - # Initial arguments. - set args [libjava_arguments $mode] - eval lappend args $largs - - if { $compile_args != "" } { - lappend args "additional_flags=$compile_args" - } - - if { $compile_args != "" } { - set errname "$errname $compile_args" - } - - verbose "compilation command = $args" 2 - # When compiling and not linking, we have to build each .o - # separately. We do this because DejaGNU's target_compile won't - # accept an empty "destfile" argument when the mode is "compile". - if {$mode == "compile"} { - foreach c_file $class_files { - set executable [file rootname [file tail $c_file]].o - # Don't write files which contain $ chars. - regsub -all "\\$" $executable "\^" executable - set x [libjava_prune_warnings \ - [libjava_tcompile '$c_file' "$executable" $type $args]] - lappend removeList $executable - if {$x != ""} { - break - } - } - } else { - # This is so evil: we de-listify CLASS_FILES so that we can - # turn around and quote the `$' in it for the shell. I really - # hate DejaGNU. It is so !@#$!@# unpredictable. - set hack "" - foreach stupid $class_files { - set hack "$hack $stupid" - } - lappend removeList $executable - set x [libjava_prune_warnings \ - [libjava_tcompile $hack "$executable" $type $args]] - } - if {[info exists opts(xfail-byte)]} { - setup_xfail *-*-* - } - if { $x != "" } { - verbose "target_compile failed: $x" 2 - fail "$errname compilation from bytecode" - if {! [info exists opts(no-exec)] - || [info exists opts(need-threads)]} { - untested "$errname execution from bytecode->native test" - untested "$errname output from bytecode->native test" - } - return; - } - pass "$errname compilation from bytecode" - - # Set up the options the way they are expected by libjava_invoke. - if {[info exists opts(xfail-byte-output)]} { - set opts(xfail-output) x - } - if {[libjava_invoke $errname "bytecode->native test" opts $executable \ - $inpfile $resultfile ""]} { - # Everything ok, so clean up. - eval gcj_cleanup $removeList - } -} - # # Run the test specified by srcfile and resultfile. compile_args and # exec_args are options telling this proc how to work. @@ -914,14 +711,12 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e # proc test_libjava { options srcfile compile_args inpfile resultfile exec_args } { test_libjava_from_source $options $srcfile $compile_args $inpfile $resultfile $exec_args - test_libjava_from_javac $options $srcfile $compile_args $inpfile $resultfile $exec_args - - # Test BC-ABI compilation, currently for bytecode->native only + + # Test BC-ABI compilation. set compile_args_bcabi $compile_args lappend compile_args_bcabi "-findirect-dispatch" - - test_libjava_from_javac $options $srcfile $compile_args_bcabi $inpfile $resultfile $exec_args - } + test_libjava_from_source $options $srcfile $compile_args_bcabi $inpfile $resultfile $exec_args +} # # libjava_version -- extract and print the version number of libjavap diff --git a/libjava/testsuite/libjava.cni/PR9577.h b/libjava/testsuite/libjava.cni/PR9577.h new file mode 100644 index 00000000000..a8d6d19ae6d --- /dev/null +++ b/libjava/testsuite/libjava.cni/PR9577.h @@ -0,0 +1,29 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __PR9577__ +#define __PR9577__ + +#pragma interface + +#include +#include + +extern "Java" +{ + class PR9577; +} + +class PR9577 : public ::java::lang::Object +{ + +public: + PR9577(); +private: + void sayHello(JArray< ::java::lang::String * > *, ::java::lang::Object *); +public: + static void main(JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __PR9577__ diff --git a/libjava/testsuite/libjava.cni/PR9577.jar b/libjava/testsuite/libjava.cni/PR9577.jar new file mode 100644 index 00000000000..6e9f5cee757 Binary files /dev/null and b/libjava/testsuite/libjava.cni/PR9577.jar differ diff --git a/libjava/testsuite/libjava.cni/cni.exp b/libjava/testsuite/libjava.cni/cni.exp index 22df1462c1d..61fee3b0200 100644 --- a/libjava/testsuite/libjava.cni/cni.exp +++ b/libjava/testsuite/libjava.cni/cni.exp @@ -4,13 +4,13 @@ # of options to pass to the compiler. Returns 0 on failure, 1 on # success. proc gcj_cni_compile_cxx_to_o {file {options {}}} { - global srcdir + global srcdir subdir set name [file rootname [file tail $file]] set oname ${name}.o # Find the generated header. - lappend options "additional_flags=-I. -I.." + lappend options "additional_flags=-I. -I.. -I$srcdir/$subdir" # Find libgcj headers. lappend options "additional_flags=-I$srcdir/.." @@ -28,28 +28,33 @@ proc gcj_cni_compile_cxx_to_o {file {options {}}} { # Build header files given name of .java file. Return 0 on failure. proc gcj_cni_build_headers {file} { + global libgcj_jar + set gcjh [find_gcjh] - set jvscan [find_jvscan] - set class_out [string trim \ - [libjava_prune_warnings \ - [lindex [local_exec "$jvscan --encoding=UTF-8 $file --list-class" "" "" 300] 1]]] - if {[string match "*parse error*" $class_out]} { - fail "$file header generation" - return 0 + # Currently we only build a header file for the main class from the + # .java file, and then others on an ad hoc basis. + set list {} + set main [file rootname [file tail $file]] + lappend list $main + # ... for instance, an obvious hack. + if {$main == "shortfield"} { + lappend list shortfieldbase } - foreach file [split $class_out] { + foreach file $list { + set cmd "$gcjh -cni -force -classpath .:$libgcj_jar $file" + verbose $cmd set x [string trim [libjava_prune_warnings \ - [lindex [local_exec "$gcjh $file" "" "" 300] 1]]] + [lindex [local_exec $cmd "" "" 300] 1]]] if {$x != ""} { verbose "local_exec failed: $x" 2 - fail "$file header generation" + fail "$main header generation" return 0 } } - pass "$file header generation" + pass "$main header generation" return 1 } @@ -64,18 +69,18 @@ proc gcj_cni_test_one {file} { return 1 } - if {! [bytecompile_file $file [pwd]]} { - fail "bytecompile $file" - # FIXME - should use `untested' on all remaining tests. - # But that is hard. - return 0 - } - pass "bytecompile $file" +# if {! [bytecompile_file $file [pwd]]} { +# fail "bytecompile $file" +# # FIXME - should use `untested' on all remaining tests. +# # But that is hard. +# return 0 +# } +# pass "bytecompile $file" - if {! [gcj_cni_build_headers $file]} { - # FIXME - return 0 - } +# if {! [gcj_cni_build_headers $file]} { +# # FIXME +# return 0 +# } set cfile [file join [file dirname $file] nat$main.cc] if {! [gcj_cni_compile_cxx_to_o $cfile]} { @@ -106,7 +111,7 @@ proc gcj_cni_run {} { # For now we only test CNI on native builds. if {$build_triplet == $host_triplet} { - catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles + catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.jar] } srcfiles foreach x $srcfiles { gcj_cni_test_one $x diff --git a/libjava/testsuite/libjava.cni/longfield.h b/libjava/testsuite/libjava.cni/longfield.h new file mode 100644 index 00000000000..51ea17f44cb --- /dev/null +++ b/libjava/testsuite/libjava.cni/longfield.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __longfield__ +#define __longfield__ + +#pragma interface + +#include +#include + +extern "Java" +{ + class longfield; +} + +class longfield : public ::java::lang::Object +{ + +public: + longfield(); + virtual void doitc(); + virtual void doitj(); + static void main(JArray< ::java::lang::String * > *); +public: // actually package-private + jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) lval; + jboolean bval; + ::java::lang::String * sval; +public: + static ::java::lang::Class class$; +}; + +#endif // __longfield__ diff --git a/libjava/testsuite/libjava.cni/longfield.jar b/libjava/testsuite/libjava.cni/longfield.jar new file mode 100644 index 00000000000..aab94677664 Binary files /dev/null and b/libjava/testsuite/libjava.cni/longfield.jar differ diff --git a/libjava/testsuite/libjava.cni/shortfield.h b/libjava/testsuite/libjava.cni/shortfield.h new file mode 100644 index 00000000000..175a9fd8e5c --- /dev/null +++ b/libjava/testsuite/libjava.cni/shortfield.h @@ -0,0 +1,33 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __shortfield__ +#define __shortfield__ + +#pragma interface + +#include +#include + +extern "Java" +{ + class shortfield; +} + +class shortfield : public ::shortfieldbase +{ + +public: + shortfield(); +public: // actually package-private + virtual void ouch(); +public: + static void main(JArray< ::java::lang::String * > *); +public: // actually package-private + jshort __attribute__((aligned(__alignof__( ::shortfieldbase)))) size__; + jint data; +public: + static ::java::lang::Class class$; +}; + +#endif // __shortfield__ diff --git a/libjava/testsuite/libjava.cni/shortfield.jar b/libjava/testsuite/libjava.cni/shortfield.jar new file mode 100644 index 00000000000..f7af1afb7ca Binary files /dev/null and b/libjava/testsuite/libjava.cni/shortfield.jar differ diff --git a/libjava/testsuite/libjava.cni/shortfieldbase.h b/libjava/testsuite/libjava.cni/shortfieldbase.h new file mode 100644 index 00000000000..171ca3d45a7 --- /dev/null +++ b/libjava/testsuite/libjava.cni/shortfieldbase.h @@ -0,0 +1,25 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __shortfieldbase__ +#define __shortfieldbase__ + +#pragma interface + +#include +extern "Java" +{ + class shortfieldbase; +} + +class shortfieldbase : public ::java::lang::Object +{ + +public: // actually package-private + shortfieldbase(); + jshort __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount; +public: + static ::java::lang::Class class$; +}; + +#endif // __shortfieldbase__ diff --git a/libjava/testsuite/libjava.compile/ArrayClass.java b/libjava/testsuite/libjava.compile/ArrayClass.java deleted file mode 100644 index cd2ac2ba7c7..00000000000 --- a/libjava/testsuite/libjava.compile/ArrayClass.java +++ /dev/null @@ -1,11 +0,0 @@ -public class ArrayClass -{ - public static void main (String[] args) - { - System.out.println (ArrayClass.class); - System.out.println (ArrayClass[].class); - System.out.println (ArrayClass[][].class); - System.out.println (ArrayClass[][][].class); - System.out.println (ArrayClass[][][][].class); - } -} diff --git a/libjava/testsuite/libjava.compile/AssertBug.java b/libjava/testsuite/libjava.compile/AssertBug.java deleted file mode 100644 index 3938b11da28..00000000000 --- a/libjava/testsuite/libjava.compile/AssertBug.java +++ /dev/null @@ -1,7 +0,0 @@ -// PR java/16927 -public class AssertBug { - public void bug(Integer i) { - assert(false): - i.toString() + "!"; - } -} diff --git a/libjava/testsuite/libjava.compile/Case.java b/libjava/testsuite/libjava.compile/Case.java deleted file mode 100644 index c5eb1d51947..00000000000 --- a/libjava/testsuite/libjava.compile/Case.java +++ /dev/null @@ -1,15 +0,0 @@ -// Simple compiler test. - -public class Case -{ - public static int foo (int i, support.Case x) - { - switch (i) - { - case x.A: - return 1; - default: - return 0; - } - } -} diff --git a/libjava/testsuite/libjava.compile/G19990210_1.java b/libjava/testsuite/libjava.compile/G19990210_1.java deleted file mode 100644 index 9404f71f6ab..00000000000 --- a/libjava/testsuite/libjava.compile/G19990210_1.java +++ /dev/null @@ -1,18 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/* File name : G19990210_1 */ -/* : */ -/* Cause : */ -/* : */ -/* Message : G19990210_1.java: In class `G19990210_1': */ -/* G19990210_1.java: In method `foo()': */ -/* G19990210_1.java:8: Unreachable statement. */ -/* return 0; */ -/* ^ */ -/* 1 error */ -/*-------------------------------------------------------------------------*/ -public class G19990210_1 { - int foo() { - try { ; } finally { ; } - return 0; - } -} diff --git a/libjava/testsuite/libjava.compile/G19990210_2.java b/libjava/testsuite/libjava.compile/G19990210_2.java deleted file mode 100644 index 3ad7d28ba26..00000000000 --- a/libjava/testsuite/libjava.compile/G19990210_2.java +++ /dev/null @@ -1,18 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/* File name : G19990210_2 */ -/* : */ -/* Cause : */ -/* : */ -/* Message : G19990210_2.java: In class `G19990210_2': */ -/* : G19990210_2.java: In method `foo()': */ -/* : G19990210_2.java:5: Missing return statement. */ -/* : } */ -/* : ^ */ -/* : 1 error */ -/*-------------------------------------------------------------------------*/ -public class G19990210_2 { - public int foo () { - return 1; - ; - } -} diff --git a/libjava/testsuite/libjava.compile/G19990210_3.java b/libjava/testsuite/libjava.compile/G19990210_3.java deleted file mode 100644 index 36a56fdf81a..00000000000 --- a/libjava/testsuite/libjava.compile/G19990210_3.java +++ /dev/null @@ -1,23 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/* File name : G19990210_3 */ -/* : */ -/* Cause : */ -/* : */ -/* Message : G19990210_3.java: In class `G19990210_3': */ -/* : G19990210_3.java: In method `foo()': */ -/* : G19990210_3.java:23: Invalid argument to `++'. */ -/* : o.i++; */ -/* : ^ */ -/* : 1 error */ -/*-------------------------------------------------------------------------*/ -public class G19990210_3 { - static void foo() { - bar o = new bar(); - synchronized(o) { - o.i++; - } - } -} -class bar { - static int i; -} diff --git a/libjava/testsuite/libjava.compile/G19990217_01.java b/libjava/testsuite/libjava.compile/G19990217_01.java deleted file mode 100644 index 3697dbe230c..00000000000 --- a/libjava/testsuite/libjava.compile/G19990217_01.java +++ /dev/null @@ -1,16 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/* File name : G19990217_01 */ -/* : */ -/* Cause : Compiler seems to run endlessly. */ -/* : */ -/* Message : No message. It's not stop to compile. */ -/*-------------------------------------------------------------------------*/ - -public class G19990217_01 { - int foo() { - try { - return 0; - } - finally { ; } - } -} diff --git a/libjava/testsuite/libjava.compile/G19990217_02.java b/libjava/testsuite/libjava.compile/G19990217_02.java deleted file mode 100644 index 8c290f23b06..00000000000 --- a/libjava/testsuite/libjava.compile/G19990217_02.java +++ /dev/null @@ -1,16 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/* File name : G19990217_02 */ -/* : */ -/* Cause : */ -/* : */ -/* Message : Can't access class `foo.bar'. */ -/* : Only public classes and interfaces in other packages can be */ -/* : accessed. */ -/* : public class G19990217_02 extends bar { */ -/* : ^ */ -/*-------------------------------------------------------------------------*/ -package foo; -public class G19990217_02 extends bar { -} -class bar { -} diff --git a/libjava/testsuite/libjava.compile/G19990217_02.no-link b/libjava/testsuite/libjava.compile/G19990217_02.no-link deleted file mode 100644 index e69cdecc103..00000000000 --- a/libjava/testsuite/libjava.compile/G19990217_02.no-link +++ /dev/null @@ -1 +0,0 @@ -Don't link me diff --git a/libjava/testsuite/libjava.compile/G19990225_01.java b/libjava/testsuite/libjava.compile/G19990225_01.java deleted file mode 100644 index f20f473f83a..00000000000 --- a/libjava/testsuite/libjava.compile/G19990225_01.java +++ /dev/null @@ -1,7 +0,0 @@ -public class G19990225_01 { - static int foo ; - static { - foo = 0; - } -} - diff --git a/libjava/testsuite/libjava.compile/InnerExcept.java b/libjava/testsuite/libjava.compile/InnerExcept.java deleted file mode 100644 index df4b62893e2..00000000000 --- a/libjava/testsuite/libjava.compile/InnerExcept.java +++ /dev/null @@ -1,19 +0,0 @@ -import java.io.*; - -// Test case for http://gcc.gnu.org/PR12866 -// From Mark Wielaard -public class InnerExcept -{ - static private void createFile() throws IOException - { - new File("/dev/null"); - } - - class Inner - { - private void m() throws IOException - { - createFile(); - } - } -} diff --git a/libjava/testsuite/libjava.compile/MethodFailure4.java b/libjava/testsuite/libjava.compile/MethodFailure4.java deleted file mode 100644 index bed3a0e1311..00000000000 --- a/libjava/testsuite/libjava.compile/MethodFailure4.java +++ /dev/null @@ -1,40 +0,0 @@ -import java.util.*; - -public class MethodFailure4 { - - public static String call(A obj) { - return "A"; - } - public static String call(I obj) { - return "I"; - } - - interface I {} - static class A {} - static class B extends A implements I {} - static class C extends B {} - - - public static A getA() { - return new A(); - } - - public static B getB() { - return new B(); - } - - public static C getC() { - return new C(); - } - - public static I getI() { - return new C(); - } - - // this method invocation is ambiguous - - public static void main(String[] argv) { - call( getC() ); - } - -} diff --git a/libjava/testsuite/libjava.compile/MethodFailure4.xfail b/libjava/testsuite/libjava.compile/MethodFailure4.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/MethodFailure4.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/N19990310_01.java b/libjava/testsuite/libjava.compile/N19990310_01.java deleted file mode 100644 index a9b9c192236..00000000000 --- a/libjava/testsuite/libjava.compile/N19990310_01.java +++ /dev/null @@ -1,18 +0,0 @@ -/*--------------------------------------------------------------------------*/ -/* name : N19990310_01 */ -/* : */ -/* cause : When compare string with connected strings, error. */ -/* : */ -/* Message : Internal compiler error: program jc1 got */ -/* : fatal signal 11 */ -/*--------------------------------------------------------------------------*/ - -public class N19990310_01 { - public static void main(String[] args) { - - if ( "Hello" == ("Hel"+"lo") ) { - } - - System.out.println("OK"); - } -} diff --git a/libjava/testsuite/libjava.compile/N19990317.java b/libjava/testsuite/libjava.compile/N19990317.java deleted file mode 100644 index 669da3b824a..00000000000 --- a/libjava/testsuite/libjava.compile/N19990317.java +++ /dev/null @@ -1,23 +0,0 @@ -/*--------------------------------------------------------------------------*/ -/* Name : N19990317.java */ -/* : */ -/* Cause : When initialize valiable whose name is equal to method */ -/* : return value, error. */ -/* : */ -/* Message : Internal compiler error: program jc1 got */ -/* : fatal signal 11 */ -/*--------------------------------------------------------------------------*/ - -class Point {} - -public class N19990317 { - - Point func() { - return null; - } - - public static void main(String[] args) { - int Point = 2; - System.out.println("OK"); - } -} diff --git a/libjava/testsuite/libjava.compile/OperatorBenchmark.java b/libjava/testsuite/libjava.compile/OperatorBenchmark.java deleted file mode 100644 index 03f660d848d..00000000000 --- a/libjava/testsuite/libjava.compile/OperatorBenchmark.java +++ /dev/null @@ -1,886 +0,0 @@ - -/* - * Copyright (c) 1996, 1997 by Doug Bell . All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - - -// This file has been hacked to compile without the rest of the -// benchmark code. - -class OperatorBenchmark { - - public int getSampleCount() { return 0; } - public int getSampleMillis() { return 0; } - public boolean go; - public int useint[]; - public void startTest () { } - public long finishTest () { return 0; } - public void startTimer (boolean b) { } - public void stopTimer (int a, int b) { } - public void report (String s) { } - public void println (String s) { } - - public int getTestTime () { - return (int) (100 * getSampleCount() * getSampleMillis()) / 1000; - } - - public int getRunningTime () { - return (int) (1.1 * getTestTime()); - } - - public long runTest () { - int dummy1 = 0, dummy2 = 0, dummy3 = 0; // occupy implicit index slots - int cnt, ii; - byte b1 = 1, b2 = 2, b3 = 3; - short s1 = 1, s2 = 2, s3 = 3; - int i1 = 1, i2 = 2, i3 = 3; - long l1 = 1, l2 = 2, l3 = 3; - float f1 = 1, f2 = 2, f3 = 3; - double d1 = 1, d2 = 2, d3 = 3; - - startTest(); - - println("--- byte operators, local vars"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1++; - stopTimer(cnt, ii); - } - report("byte++"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 += b2; - stopTimer(cnt, ii); - } - report("byte += byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 + b3); - stopTimer(cnt, ii); - } - report("byte = byte + byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 *= b2; - stopTimer(cnt, ii); - } - report("byte *= byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 * b3); - stopTimer(cnt, ii); - } - report("byte = byte * byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 *= 2; - stopTimer(cnt, ii); - } - report("byte *= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 <<= 1; - stopTimer(cnt, ii); - } - report("byte <<= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 %= b2; - stopTimer(cnt, ii); - } - report("byte %= byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 % b3); - stopTimer(cnt, ii); - } - report("byte = byte % byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 /= b2; - stopTimer(cnt, ii); - } - report("byte /= byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 / b3); - stopTimer(cnt, ii); - } - report("byte = byte / byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 /= 2; - stopTimer(cnt, ii); - } - report("byte /= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 >>= 1; - stopTimer(cnt, ii); - } - report("byte >>= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 >>= i2; - stopTimer(cnt, ii); - } - report("byte >>= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 >> i3); - stopTimer(cnt, ii); - } - report("byte = byte >> int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 |= b2; - stopTimer(cnt, ii); - } - report("byte |= byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 | b3); - stopTimer(cnt, ii); - } - report("byte = byte | byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 &= b2; - stopTimer(cnt, ii); - } - report("byte &= byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 & b3); - stopTimer(cnt, ii); - } - report("byte = byte & byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 ^= b2; - stopTimer(cnt, ii); - } - report("byte ^= byte"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - b1 = (byte) (b2 ^ b3); - stopTimer(cnt, ii); - } - report("byte = byte ^ byte"); - - - println("--- short operators, local vars"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1++; - stopTimer(cnt, ii); - } - report("short++"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 += s2; - stopTimer(cnt, ii); - } - report("short += short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 + s3); - stopTimer(cnt, ii); - } - report("short = short + short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 *= s2; - stopTimer(cnt, ii); - } - report("short *= short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 * s3); - stopTimer(cnt, ii); - } - report("short = short * short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 *= 2; - stopTimer(cnt, ii); - } - report("short *= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 <<= 1; - stopTimer(cnt, ii); - } - report("short <<= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 %= s2; - stopTimer(cnt, ii); - } - report("short %= short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 % s3); - stopTimer(cnt, ii); - } - report("short = short % short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 /= s2; - stopTimer(cnt, ii); - } - report("short /= short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 / s3); - stopTimer(cnt, ii); - } - report("short = short / short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 /= 2; - stopTimer(cnt, ii); - } - report("short /= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 >>= 1; - stopTimer(cnt, ii); - } - report("short >>= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 >>= i2; - stopTimer(cnt, ii); - } - report("short >>= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 >> i3); - stopTimer(cnt, ii); - } - report("short = short >> int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 |= s2; - stopTimer(cnt, ii); - } - report("short |= short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 | s3); - stopTimer(cnt, ii); - } - report("short = short | short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 &= s2; - stopTimer(cnt, ii); - } - report("short &= short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 & s3); - stopTimer(cnt, ii); - } - report("short = short & short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 ^= s2; - stopTimer(cnt, ii); - } - report("short ^= short"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - s1 = (short) (s2 ^ s3); - stopTimer(cnt, ii); - } - report("short = short ^ short"); - - - println("--- int operators, local vars"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1++; - stopTimer(cnt, ii); - } - report("int++"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 += i2; - stopTimer(cnt, ii); - } - report("int += int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = (i2 + i3); - stopTimer(cnt, ii); - } - report("int = int + int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 *= i2; - stopTimer(cnt, ii); - } - report("int *= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = (i2 * i3); - stopTimer(cnt, ii); - } - report("int = int * int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 *= 2; - stopTimer(cnt, ii); - } - report("int *= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 <<= 1; - stopTimer(cnt, ii); - } - report("int <<= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 %= i2; - stopTimer(cnt, ii); - } - report("int %= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = (i2 % i3); - stopTimer(cnt, ii); - } - report("int = int % int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 /= i2; - stopTimer(cnt, ii); - } - report("int /= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = (i2 / i3); - stopTimer(cnt, ii); - } - report("int = int / int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 /= 2; - stopTimer(cnt, ii); - } - report("int /= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 >>= 1; - stopTimer(cnt, ii); - } - report("int >>= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 >>= i2; - stopTimer(cnt, ii); - } - report("int >>= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = i2 >> i3; - stopTimer(cnt, ii); - } - report("int = int >> int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 |= i2; - stopTimer(cnt, ii); - } - report("int |= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = i2 | i3; - stopTimer(cnt, ii); - } - report("int = int | int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 &= i2; - stopTimer(cnt, ii); - } - report("int &= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = i2 & i3; - stopTimer(cnt, ii); - } - report("int = int & int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 ^= i2; - stopTimer(cnt, ii); - } - report("int ^= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - i1 = i2 ^ i3; - stopTimer(cnt, ii); - } - report("int = int ^ int"); - - - println("--- long operators, local vars"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1++; - stopTimer(cnt, ii); - } - report("long++"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 += l2; - stopTimer(cnt, ii); - } - report("long += long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = (l2 + l3); - stopTimer(cnt, ii); - } - report("long = long + long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 *= l2; - stopTimer(cnt, ii); - } - report("long *= long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = (l2 * l3); - stopTimer(cnt, ii); - } - report("long = long * long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 *= 2; - stopTimer(cnt, ii); - } - report("long *= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 <<= 1; - stopTimer(cnt, ii); - } - report("long <<= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 %= l2; - stopTimer(cnt, ii); - } - report("long %= long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = (l2 % l3); - stopTimer(cnt, ii); - } - report("long = long % long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 /= l2; - stopTimer(cnt, ii); - } - report("long /= long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = (l2 / l3); - stopTimer(cnt, ii); - } - report("long = long / long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 /= 2; - stopTimer(cnt, ii); - } - report("long /= 2"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 >>= 1; - stopTimer(cnt, ii); - } - report("long >>= 1"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 >>= i2; - stopTimer(cnt, ii); - } - report("long >>= int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = l2 >> i3; - stopTimer(cnt, ii); - } - report("long = long >> int"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 |= l2; - stopTimer(cnt, ii); - } - report("long |= long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = l2 | l3; - stopTimer(cnt, ii); - } - report("long = long | long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 &= l2; - stopTimer(cnt, ii); - } - report("long &= long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = l2 & l3; - stopTimer(cnt, ii); - } - report("long = long & long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 ^= l2; - stopTimer(cnt, ii); - } - report("long ^= long"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - l1 = l2 ^ l3; - stopTimer(cnt, ii); - } - report("long = long ^ long"); - - - println("--- float operators, local vars"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 += f2; - stopTimer(cnt, ii); - } - report("float += float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 = (float) (f2 + f3); - stopTimer(cnt, ii); - } - report("float = float + float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 *= f2; - stopTimer(cnt, ii); - } - report("float *= float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 = (float) (f2 * f3); - stopTimer(cnt, ii); - } - report("float = float * float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 %= f2; - stopTimer(cnt, ii); - } - report("float %= float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 = (float) (f2 % f3); - stopTimer(cnt, ii); - } - report("float = float % float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 /= f2; - stopTimer(cnt, ii); - } - report("float /= float"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - f1 = (float) (f2 / f3); - stopTimer(cnt, ii); - } - report("float = float / float"); - - - println("--- double operators, local vars"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 += d2; - stopTimer(cnt, ii); - } - report("double += double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 = (d2 + d3); - stopTimer(cnt, ii); - } - report("double = double + double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 *= d2; - stopTimer(cnt, ii); - } - report("double *= double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 = (d2 * d3); - stopTimer(cnt, ii); - } - report("double = double * double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 %= d2; - stopTimer(cnt, ii); - } - report("double %= double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 = (d2 % d3); - stopTimer(cnt, ii); - } - report("double = double % double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 /= d2; - stopTimer(cnt, ii); - } - report("double /= double"); - - for (cnt = getSampleCount(); --cnt >= 0; ) { - startTimer(true); - for (ii = 0; go; ii++) - d1 = (d2 / d3); - stopTimer(cnt, ii); - } - report("double = double / double"); - - useint[0] = dummy1; useint[1] = dummy2; useint[2] = dummy3; - return finishTest(); - } -} // class OperatorBenchmark - -// EOF diff --git a/libjava/testsuite/libjava.compile/PR11600.java b/libjava/testsuite/libjava.compile/PR11600.java deleted file mode 100644 index 3cffa732c49..00000000000 --- a/libjava/testsuite/libjava.compile/PR11600.java +++ /dev/null @@ -1,7 +0,0 @@ -public class PR11600 implements Cloneable -{ - public Object clone () - { - return super.clone (); - } -} diff --git a/libjava/testsuite/libjava.compile/PR11600.xfail b/libjava/testsuite/libjava.compile/PR11600.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR11600.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR12374.java b/libjava/testsuite/libjava.compile/PR12374.java deleted file mode 100644 index 19e81935d59..00000000000 --- a/libjava/testsuite/libjava.compile/PR12374.java +++ /dev/null @@ -1,27 +0,0 @@ -public class PR12374 { - - /* We weren't coping with field refs on a string constant... */ - - Object Foo() - { - return "".CASE_INSENSITIVE_ORDER; - } - - /* Special casing access to array.length while analysing syntax is - evil. Especially when it means we can't cope with a type - called length. */ - - class length - { - static final int i = 2; - } - - int bar() - { - return length.i; - } - - public static void main (String[] argv) - { - } -} diff --git a/libjava/testsuite/libjava.compile/PR124.java b/libjava/testsuite/libjava.compile/PR124.java deleted file mode 100644 index 2ec1fe9ea01..00000000000 --- a/libjava/testsuite/libjava.compile/PR124.java +++ /dev/null @@ -1,9 +0,0 @@ -import java.lang.reflect.*; - -public class PR124 -{ - public static void main (String[] args) - { - System.out.println (new InvocationTargetException ()); - } -} diff --git a/libjava/testsuite/libjava.compile/PR124.xfail b/libjava/testsuite/libjava.compile/PR124.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR124.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR127.java b/libjava/testsuite/libjava.compile/PR127.java deleted file mode 100644 index 6a2e699a46b..00000000000 --- a/libjava/testsuite/libjava.compile/PR127.java +++ /dev/null @@ -1,11 +0,0 @@ -// Test case for PR127: -// gcj dumps core on method invocation on a primitive type - -class PR127 -{ - void f() - { - int i; - i.f(); - } -} diff --git a/libjava/testsuite/libjava.compile/PR127.xfail b/libjava/testsuite/libjava.compile/PR127.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR127.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR12857.java b/libjava/testsuite/libjava.compile/PR12857.java deleted file mode 100644 index 9ed234ff277..00000000000 --- a/libjava/testsuite/libjava.compile/PR12857.java +++ /dev/null @@ -1,4 +0,0 @@ -// Based on original test case from Yves Martin. -interface PR12857 { - static final String CONST = PR12857.class.getName(); -} diff --git a/libjava/testsuite/libjava.compile/PR129_B.java b/libjava/testsuite/libjava.compile/PR129_B.java deleted file mode 100644 index 238df999a27..00000000000 --- a/libjava/testsuite/libjava.compile/PR129_B.java +++ /dev/null @@ -1,9 +0,0 @@ -import support.PR129_A; - -public class PR129_B { - public static void main ( String[] args ) { - int length = PR129_A.strArr.length; - System.out.println ( "Array length: " + length ); - } -} - diff --git a/libjava/testsuite/libjava.compile/PR129_B.no-link b/libjava/testsuite/libjava.compile/PR129_B.no-link deleted file mode 100644 index e69cdecc103..00000000000 --- a/libjava/testsuite/libjava.compile/PR129_B.no-link +++ /dev/null @@ -1 +0,0 @@ -Don't link me diff --git a/libjava/testsuite/libjava.compile/PR13024.java b/libjava/testsuite/libjava.compile/PR13024.java deleted file mode 100644 index 61ab17c5e88..00000000000 --- a/libjava/testsuite/libjava.compile/PR13024.java +++ /dev/null @@ -1,18 +0,0 @@ -import java.io.*; -import java.util.zip.*; - -class PR13024 { - void isZipOrJarArchive(File file) throws IOException { - ZipFile zipFile = null; - - try { - zipFile = new ZipFile(file); - } finally { - if (zipFile != null) { - try { - zipFile.close(); - } catch (IOException ignored) {} - } - } - } -} diff --git a/libjava/testsuite/libjava.compile/PR13237.java b/libjava/testsuite/libjava.compile/PR13237.java deleted file mode 100644 index 6333a460afb..00000000000 --- a/libjava/testsuite/libjava.compile/PR13237.java +++ /dev/null @@ -1,3 +0,0 @@ -class PR13237 { - double kappa = Math.sqrt(2.0); -} diff --git a/libjava/testsuite/libjava.compile/PR1343.java b/libjava/testsuite/libjava.compile/PR1343.java deleted file mode 100644 index be3592533b8..00000000000 --- a/libjava/testsuite/libjava.compile/PR1343.java +++ /dev/null @@ -1,17 +0,0 @@ -import java.util.Vector; - -public class PR1343 -{ - void f(Object[] l) - { - class x1 - { - }; - } - void f(Vector l) - { - class x1 - { - }; - } -} diff --git a/libjava/testsuite/libjava.compile/PR13733.java b/libjava/testsuite/libjava.compile/PR13733.java deleted file mode 100644 index fb5cc82e9b8..00000000000 --- a/libjava/testsuite/libjava.compile/PR13733.java +++ /dev/null @@ -1,10 +0,0 @@ -// 15.26: "The type of an assignment expression is the type of the variable" -// (LHS). -class PR13733 { - String a, c = ""; - Object b; - - void bug() { - a = (b = c); // invalid without cast - } -} diff --git a/libjava/testsuite/libjava.compile/PR13733.xfail b/libjava/testsuite/libjava.compile/PR13733.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR13733.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR140.java b/libjava/testsuite/libjava.compile/PR140.java deleted file mode 100644 index 0f59d6e1d68..00000000000 --- a/libjava/testsuite/libjava.compile/PR140.java +++ /dev/null @@ -1,13 +0,0 @@ -public class PR140 { - public static void fill(int[] a) { - for (int i = 0; i < a.length; i++) { - a[i] = i; - } - } - public static void main(String[] args) { - int[] a = new int[3]; - fill(a); - a.length = 3000; - fill(a); - } -} diff --git a/libjava/testsuite/libjava.compile/PR140.xfail b/libjava/testsuite/libjava.compile/PR140.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR140.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR14853.java b/libjava/testsuite/libjava.compile/PR14853.java deleted file mode 100644 index a800c52e3cf..00000000000 --- a/libjava/testsuite/libjava.compile/PR14853.java +++ /dev/null @@ -1,17 +0,0 @@ -class tt -{ - static final tt tt1 = new tt(); - tt() - { - } -} - -public class PR14853 -{ - public static void main (String[] args) - { - // This is an invalid assignment. gcj would get confused in - // definite assignment when compiling to object code. - tt.tt1 = new tt(); - } -} diff --git a/libjava/testsuite/libjava.compile/PR14853.xfail b/libjava/testsuite/libjava.compile/PR14853.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR14853.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR15769.java b/libjava/testsuite/libjava.compile/PR15769.java deleted file mode 100644 index 8107626b3e6..00000000000 --- a/libjava/testsuite/libjava.compile/PR15769.java +++ /dev/null @@ -1,10 +0,0 @@ -class PR15769 { - private boolean foo () { return false; } - - - public boolean bar (double blaz) - { - return (Double.POSITIVE_INFINITY != blaz) && foo (); - } -} - diff --git a/libjava/testsuite/libjava.compile/PR16249.java b/libjava/testsuite/libjava.compile/PR16249.java deleted file mode 100644 index 5495dda3430..00000000000 --- a/libjava/testsuite/libjava.compile/PR16249.java +++ /dev/null @@ -1,18 +0,0 @@ -// Regression test for PR java/16249. - -class PR16249 -{ - static void bug(byte[] iCode, int pc) - { - while (pc < 100) { - try { - switch (iCode[pc] & 0xff) { - case 666: - iCode[++pc] = 1; - } - } - catch (Throwable ex) { - } - } - } -} diff --git a/libjava/testsuite/libjava.compile/PR163.java b/libjava/testsuite/libjava.compile/PR163.java deleted file mode 100644 index 283c8ac1c9c..00000000000 --- a/libjava/testsuite/libjava.compile/PR163.java +++ /dev/null @@ -1,8 +0,0 @@ -// Test case for the PR gcj/163 - -// Uninitalized final variables should not be permitted. - -class PR163 -{ - final int foo; -} diff --git a/libjava/testsuite/libjava.compile/PR163.xfail b/libjava/testsuite/libjava.compile/PR163.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR163.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR164.java b/libjava/testsuite/libjava.compile/PR164.java deleted file mode 100644 index d3a288f1b51..00000000000 --- a/libjava/testsuite/libjava.compile/PR164.java +++ /dev/null @@ -1,6 +0,0 @@ -// Test from PR 164. - -class PR164 -{ - volatile final int foo = 8; -} diff --git a/libjava/testsuite/libjava.compile/PR164.xfail b/libjava/testsuite/libjava.compile/PR164.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR164.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR16675.java b/libjava/testsuite/libjava.compile/PR16675.java deleted file mode 100644 index 11e6d4bb6bc..00000000000 --- a/libjava/testsuite/libjava.compile/PR16675.java +++ /dev/null @@ -1,13 +0,0 @@ -public class PR16675 { - public PR16675(Object obj) { } - - public void someTestMethod() { - // gcj crashed compiling this, as `null' had type `void*'. - new PR16675(null) { }; - } - - public void someTestMethod2() { - new PR16675((Object) null) { }; - } - -} diff --git a/libjava/testsuite/libjava.compile/PR16701.java b/libjava/testsuite/libjava.compile/PR16701.java deleted file mode 100644 index 60d459a69c7..00000000000 --- a/libjava/testsuite/libjava.compile/PR16701.java +++ /dev/null @@ -1,10 +0,0 @@ -class Cl -{ - private static final int CONSTANT1 = 0x001; - public static final int CONSTANT2 = 0x002 >> CONSTANT1; -} - -public class PR16701 -{ - public static final int VALUE = Cl.CONSTANT2; -} diff --git a/libjava/testsuite/libjava.compile/PR19277.java b/libjava/testsuite/libjava.compile/PR19277.java deleted file mode 100644 index 61ed0bf7acc..00000000000 --- a/libjava/testsuite/libjava.compile/PR19277.java +++ /dev/null @@ -1,7 +0,0 @@ -class PR19277 -{ - void snafu (int[] array) - { - array.length++; - } -} diff --git a/libjava/testsuite/libjava.compile/PR19277.xfail b/libjava/testsuite/libjava.compile/PR19277.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR19277.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR19295.java b/libjava/testsuite/libjava.compile/PR19295.java deleted file mode 100644 index 336f7e9863b..00000000000 --- a/libjava/testsuite/libjava.compile/PR19295.java +++ /dev/null @@ -1,16 +0,0 @@ -public class PR19295 implements myInterface { - public long tagBits = 0; - - public final boolean isArrayType() { - return (tagBits & IsArrayType) != 0; - } -} - -abstract class blah { - public final static int Bit1 = 0x2; -} - -interface myInterface { - long IsArrayType = blah.Bit1; -} - diff --git a/libjava/testsuite/libjava.compile/PR19674.java b/libjava/testsuite/libjava.compile/PR19674.java deleted file mode 100644 index 2c23895b464..00000000000 --- a/libjava/testsuite/libjava.compile/PR19674.java +++ /dev/null @@ -1,7 +0,0 @@ -public interface PR19674 -{ - public interface Inside - { - void m(int p, int p2); - }; -} diff --git a/libjava/testsuite/libjava.compile/PR20312.java b/libjava/testsuite/libjava.compile/PR20312.java deleted file mode 100644 index 463172b6839..00000000000 --- a/libjava/testsuite/libjava.compile/PR20312.java +++ /dev/null @@ -1,8 +0,0 @@ -/* Can't throw what the overridden method doesn't. */ -public class PR20312 -{ - public String toString( ) throws java.io.IOException - { - return "SNAFU"; - } -} diff --git a/libjava/testsuite/libjava.compile/PR20312.xfail b/libjava/testsuite/libjava.compile/PR20312.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR20312.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR20418.java b/libjava/testsuite/libjava.compile/PR20418.java deleted file mode 100644 index 003f3cd85fb..00000000000 --- a/libjava/testsuite/libjava.compile/PR20418.java +++ /dev/null @@ -1,7 +0,0 @@ -public class PR20418 -{ - public static void main( String[] args) - { - java.io.File = new java.io.File( "junk"); - } -} diff --git a/libjava/testsuite/libjava.compile/PR20418.xfail b/libjava/testsuite/libjava.compile/PR20418.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR20418.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR206.java b/libjava/testsuite/libjava.compile/PR206.java deleted file mode 100644 index 018391271ad..00000000000 --- a/libjava/testsuite/libjava.compile/PR206.java +++ /dev/null @@ -1,7 +0,0 @@ -class PR206 { - - PR206 (String s) - { - support.PR206_A x; - } -} diff --git a/libjava/testsuite/libjava.compile/PR20697.java b/libjava/testsuite/libjava.compile/PR20697.java deleted file mode 100644 index 56efb1d36b7..00000000000 --- a/libjava/testsuite/libjava.compile/PR20697.java +++ /dev/null @@ -1,29 +0,0 @@ -public class PR20697 -{ - public interface I - { - public void m(); - } - - public static class A2 implements I - { - public void m() - { - return; - } - } - -} - -class Test extends PR20697.A2 -{ - public void m() - { - return; - } - - public void n() - { - m(); - } -} diff --git a/libjava/testsuite/libjava.compile/PR207.java b/libjava/testsuite/libjava.compile/PR207.java deleted file mode 100644 index 97b10f0aa27..00000000000 --- a/libjava/testsuite/libjava.compile/PR207.java +++ /dev/null @@ -1,6 +0,0 @@ -class PR207 { - PR207 (String s) - { - System.out.println (s + support.PR207_A.hello()); - } -} diff --git a/libjava/testsuite/libjava.compile/PR207.xfail b/libjava/testsuite/libjava.compile/PR207.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/PR207.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/PR208.java b/libjava/testsuite/libjava.compile/PR208.java deleted file mode 100644 index 0b5f5371936..00000000000 --- a/libjava/testsuite/libjava.compile/PR208.java +++ /dev/null @@ -1,16 +0,0 @@ -public class PR208 -{ - public String toString () - { - StringBuffer sb = new StringBuffer(""); - - sb.append (new java.util.Date().getTime() / 1000); - - try { - } - catch (java.io.IOException e) { - } - - return sb.toString(); - } -} diff --git a/libjava/testsuite/libjava.compile/PR208.xfail b/libjava/testsuite/libjava.compile/PR208.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/PR208.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/PR209.java b/libjava/testsuite/libjava.compile/PR209.java deleted file mode 100644 index d4539c6fa79..00000000000 --- a/libjava/testsuite/libjava.compile/PR209.java +++ /dev/null @@ -1,4 +0,0 @@ -public class PR209 -{ - public int i = java.sql.Types.TINYINT; -} diff --git a/libjava/testsuite/libjava.compile/PR21045.java b/libjava/testsuite/libjava.compile/PR21045.java deleted file mode 100644 index 3d34ee1f304..00000000000 --- a/libjava/testsuite/libjava.compile/PR21045.java +++ /dev/null @@ -1,11 +0,0 @@ -public class PR21045 -{ - class InnerBase { - InnerBase() throws Exception, NullPointerException {} - } - void method() { - try { - InnerBase obj = new InnerBase() {}; - } catch (Exception e) {} - } -} diff --git a/libjava/testsuite/libjava.compile/PR224.java b/libjava/testsuite/libjava.compile/PR224.java deleted file mode 100644 index eae4032e123..00000000000 --- a/libjava/testsuite/libjava.compile/PR224.java +++ /dev/null @@ -1,16 +0,0 @@ -// File PrivateInnerInterface.java - -public class PR224 { - private interface Inter {} -} - - -class PrivateInnerInterface_Test extends PR224 { - void foo() { - // Implement the interface with an innerclass - Inter i = new Inter() { } ; - } -} - -// This should fail to compile because Inter is private in the superclass - diff --git a/libjava/testsuite/libjava.compile/PR224.xfail b/libjava/testsuite/libjava.compile/PR224.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR224.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR232.java b/libjava/testsuite/libjava.compile/PR232.java deleted file mode 100644 index 516b0ed1f6c..00000000000 --- a/libjava/testsuite/libjava.compile/PR232.java +++ /dev/null @@ -1,16 +0,0 @@ -// Use of a "static final String" as a monitor causes ICE -// in jc1 (20000520) -// -// Program received signal SIGSEGV, Segmentation fault. -// put_decl_node (node=0x0) at ../../../gcc/java/lang.c:413 -// 413 if (TREE_CODE (node) == POINTER_TYPE) - -class PR232 -{ - static final String lock= "LOCK"; - - void a() - { - synchronized(lock) {} - } -}; diff --git a/libjava/testsuite/libjava.compile/PR232B.java b/libjava/testsuite/libjava.compile/PR232B.java deleted file mode 100644 index 0c126531d67..00000000000 --- a/libjava/testsuite/libjava.compile/PR232B.java +++ /dev/null @@ -1,15 +0,0 @@ -// This triggers a failure when compiling from bytecode (only) with 20000519 - -public class PR232B -{ - private static Object lock = new Object(); - private static PR232B instance = null; - - public void a() - { - synchronized(lock) - { - instance = new PR232B(); - } - } -}; diff --git a/libjava/testsuite/libjava.compile/PR234.java b/libjava/testsuite/libjava.compile/PR234.java deleted file mode 100644 index 61a11581f78..00000000000 --- a/libjava/testsuite/libjava.compile/PR234.java +++ /dev/null @@ -1,24 +0,0 @@ -// PR234.java -public class PR234 extends B implements I -{ - public static void main(String args[]) - { - PR234 x = new PR234(); - x.m(); - } -} - -// B.java -class B -{ - public void m() - { - System.out.println ("yes"); - } -} - -// I.java -interface I -{ - public void m(); -} diff --git a/libjava/testsuite/libjava.compile/PR23431_1.java b/libjava/testsuite/libjava.compile/PR23431_1.java deleted file mode 100644 index 79d20ba8802..00000000000 --- a/libjava/testsuite/libjava.compile/PR23431_1.java +++ /dev/null @@ -1,9 +0,0 @@ -abstract class Foo -{ - public abstract void bar( ); -} - -class PR23431_1 extends Foo -{ - private void bar( ) { } -} diff --git a/libjava/testsuite/libjava.compile/PR23431_1.xfail b/libjava/testsuite/libjava.compile/PR23431_1.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR23431_1.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR23431_2.java b/libjava/testsuite/libjava.compile/PR23431_2.java deleted file mode 100644 index 3f696ff7402..00000000000 --- a/libjava/testsuite/libjava.compile/PR23431_2.java +++ /dev/null @@ -1,9 +0,0 @@ -interface Foo -{ - public void bar( ); -} - -class PR23431_2 implements Foo -{ - private void bar( ) { } -} diff --git a/libjava/testsuite/libjava.compile/PR23431_2.xfail b/libjava/testsuite/libjava.compile/PR23431_2.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR23431_2.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR235.java b/libjava/testsuite/libjava.compile/PR235.java deleted file mode 100644 index 46a727b2a67..00000000000 --- a/libjava/testsuite/libjava.compile/PR235.java +++ /dev/null @@ -1,7 +0,0 @@ -public class PR235 -{ - public static Class[] ConstructArgs = - { - Integer.TYPE - }; -} diff --git a/libjava/testsuite/libjava.compile/PR238.java b/libjava/testsuite/libjava.compile/PR238.java deleted file mode 100644 index b876524ffdf..00000000000 --- a/libjava/testsuite/libjava.compile/PR238.java +++ /dev/null @@ -1,9 +0,0 @@ -public class PR238 -{ - void foo(A a) - { - a.toString(); - } - - class A {} -} diff --git a/libjava/testsuite/libjava.compile/PR238.xfail b/libjava/testsuite/libjava.compile/PR238.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/PR238.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/PR295.java b/libjava/testsuite/libjava.compile/PR295.java deleted file mode 100644 index d884a26d8c3..00000000000 --- a/libjava/testsuite/libjava.compile/PR295.java +++ /dev/null @@ -1,11 +0,0 @@ -public class PR295 { - public class csemi { - }; - - public int foo; - - public interface isemi { - }; - - public int bar; -} diff --git a/libjava/testsuite/libjava.compile/PR310.java b/libjava/testsuite/libjava.compile/PR310.java deleted file mode 100644 index a77f6a83e86..00000000000 --- a/libjava/testsuite/libjava.compile/PR310.java +++ /dev/null @@ -1,9 +0,0 @@ -public class PR310 -{ - void m (long l) - { - switch (l) - { - } - } -} diff --git a/libjava/testsuite/libjava.compile/PR310.xfail b/libjava/testsuite/libjava.compile/PR310.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR310.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR3417.java b/libjava/testsuite/libjava.compile/PR3417.java deleted file mode 100644 index e5f251afe64..00000000000 --- a/libjava/testsuite/libjava.compile/PR3417.java +++ /dev/null @@ -1,6 +0,0 @@ -// Make sure that assignment conversion checks are done for `return'. - -class PR3417 -{ - char func (int i) { return i; } -} diff --git a/libjava/testsuite/libjava.compile/PR3417.xfail b/libjava/testsuite/libjava.compile/PR3417.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR3417.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/PR374.java b/libjava/testsuite/libjava.compile/PR374.java deleted file mode 100644 index e96ab5f5b21..00000000000 --- a/libjava/testsuite/libjava.compile/PR374.java +++ /dev/null @@ -1,9 +0,0 @@ -public class PR374 -{ - Object a, b[], c[]; - - public void foo () - { - c = new Object[10]; - } -} diff --git a/libjava/testsuite/libjava.compile/PR375.java b/libjava/testsuite/libjava.compile/PR375.java deleted file mode 100644 index 26dba04acd2..00000000000 --- a/libjava/testsuite/libjava.compile/PR375.java +++ /dev/null @@ -1,7 +0,0 @@ -public class PR375 -{ - public void foo () - { - (Boolean.TRUE).booleanValue (); - } -} diff --git a/libjava/testsuite/libjava.compile/PR4766.java b/libjava/testsuite/libjava.compile/PR4766.java deleted file mode 100644 index 840f66978df..00000000000 --- a/libjava/testsuite/libjava.compile/PR4766.java +++ /dev/null @@ -1,25 +0,0 @@ -// Test that bytecode generation works even when `finally' clause -// doesn't return normally. - -public class PR4766 -{ - public static int myfunction() - { - try - { - System.out.println ("hi"); - } - catch( Exception e ) - { - e.printStackTrace(); - } - finally - { - return 0; - } - } - - public static void main (String[] args) - { - } -} diff --git a/libjava/testsuite/libjava.compile/PR5641.java b/libjava/testsuite/libjava.compile/PR5641.java deleted file mode 100644 index 8c7d3aa27c0..00000000000 --- a/libjava/testsuite/libjava.compile/PR5641.java +++ /dev/null @@ -1,20 +0,0 @@ -interface I -{ - void m(); -} -abstract class C implements I {} -class Foo -{ - void Bar(C c) - { - c.m(); - } - void blah(C c) - { - c.m(); - } - - public static void main (String[] args) - { - } -} diff --git a/libjava/testsuite/libjava.compile/PR5641.xfail b/libjava/testsuite/libjava.compile/PR5641.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/PR5641.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/PR5848.java b/libjava/testsuite/libjava.compile/PR5848.java deleted file mode 100644 index a1270ff6e59..00000000000 --- a/libjava/testsuite/libjava.compile/PR5848.java +++ /dev/null @@ -1,14 +0,0 @@ -import java.util.Vector; -import java.util.Enumeration; - -public class PR5848 -{ - private Vector data; - void sub() - { - long sz = 0; - for (Enumeration e = data.elements() ; e.hasMoreElements() ;) { - sz =+ ((byte[])e.nextElement()).length; - } - } -} diff --git a/libjava/testsuite/libjava.compile/PR5848.xfail b/libjava/testsuite/libjava.compile/PR5848.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/PR5848.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/PR5902.java b/libjava/testsuite/libjava.compile/PR5902.java deleted file mode 100644 index 1a78a269217..00000000000 --- a/libjava/testsuite/libjava.compile/PR5902.java +++ /dev/null @@ -1,4 +0,0 @@ -class PR5902 -{ - double d = 019f; -} diff --git a/libjava/testsuite/libjava.compile/PR5913.java b/libjava/testsuite/libjava.compile/PR5913.java deleted file mode 100644 index 4c0c74d8f11..00000000000 --- a/libjava/testsuite/libjava.compile/PR5913.java +++ /dev/null @@ -1,6 +0,0 @@ -class PR5913 -{ - boolean test1 = ("" + 1) instanceof String; - // This also tests literal parsing, as mentioned in PR 5902. - boolean test2 = "" + 0x1instanceof String; -} diff --git a/libjava/testsuite/libjava.compile/PR6026.java b/libjava/testsuite/libjava.compile/PR6026.java deleted file mode 100644 index 14a4a365f47..00000000000 --- a/libjava/testsuite/libjava.compile/PR6026.java +++ /dev/null @@ -1,4 +0,0 @@ -class PR6026 -{ - double d = 0.4e1+0.8; -} diff --git a/libjava/testsuite/libjava.compile/PR6865.java b/libjava/testsuite/libjava.compile/PR6865.java deleted file mode 100644 index ddcc0e65511..00000000000 --- a/libjava/testsuite/libjava.compile/PR6865.java +++ /dev/null @@ -1,5 +0,0 @@ -// gcj crashes on this -public class PR6865 -{ - private foo; -} diff --git a/libjava/testsuite/libjava.compile/PR6865.xfail b/libjava/testsuite/libjava.compile/PR6865.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/PR6865.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/Semi.java b/libjava/testsuite/libjava.compile/Semi.java deleted file mode 100644 index 39b3edc84b8..00000000000 --- a/libjava/testsuite/libjava.compile/Semi.java +++ /dev/null @@ -1,8 +0,0 @@ -// Simple compiler test. - -public class Semi -{ - Semi () { }; -} - - diff --git a/libjava/testsuite/libjava.compile/Statics.java b/libjava/testsuite/libjava.compile/Statics.java deleted file mode 100644 index b86a57c409e..00000000000 --- a/libjava/testsuite/libjava.compile/Statics.java +++ /dev/null @@ -1,7 +0,0 @@ -// Simple compiler test. - -public interface Statics { - - public static final int OwnerGrabButtonMask = 1<<24; - -} diff --git a/libjava/testsuite/libjava.compile/SuperConstr.java b/libjava/testsuite/libjava.compile/SuperConstr.java deleted file mode 100644 index eef50508109..00000000000 --- a/libjava/testsuite/libjava.compile/SuperConstr.java +++ /dev/null @@ -1,20 +0,0 @@ -// It is legal to reference "this" from an enclosing type, or an instance -// field from an enclosing type, in a super constructor call. - -public class SuperConstr -{ - SuperConstr (Object x, Outer y) {} -} - -class Outer -{ - Object x; - - class Sub extends SuperConstr - { - Sub() - { - super(x, Outer.this); - } - } -} diff --git a/libjava/testsuite/libjava.compile/T20020529.java b/libjava/testsuite/libjava.compile/T20020529.java deleted file mode 100644 index 19f1ea862ac..00000000000 --- a/libjava/testsuite/libjava.compile/T20020529.java +++ /dev/null @@ -1,23 +0,0 @@ -public class T20020529 -{ - public void checkXMLLangAttributeValue(String lang) - { - int offset = -1; - if (lang.length() >= 2) { - char ch0 = lang.charAt(0); - } - if (offset > 0) { - char ch = lang.charAt(offset++); - if (ch != '-') { - offset = -1; - } else { - while (true) - { - if (ch == '-') - ch = lang.charAt(offset++); - ch = lang.charAt(offset++); - } - } - } - } -} diff --git a/libjava/testsuite/libjava.compile/T20020604.java b/libjava/testsuite/libjava.compile/T20020604.java deleted file mode 100644 index fba68c20c48..00000000000 --- a/libjava/testsuite/libjava.compile/T20020604.java +++ /dev/null @@ -1,17 +0,0 @@ -// Regression test for gcj crash, when compiled with -O2 on -// i686-pc-linux-gnu. -public class T20020604 -{ - static double d2 = 0.0; - - static Object lockObject = new Object(); - - public static double f(double d1) { - - synchronized (lockObject){ - d2 = Math.max(d1, d2); - } - - return d2; - } -} diff --git a/libjava/testsuite/libjava.compile/Twice.java b/libjava/testsuite/libjava.compile/Twice.java deleted file mode 100644 index d80760f4dd5..00000000000 --- a/libjava/testsuite/libjava.compile/Twice.java +++ /dev/null @@ -1,14 +0,0 @@ -// Simple compiler test. - -public class Twice -{ - Twice (boolean q) - { - if (q) - for (int p = 0; p < 10; p++); - else - for (int p = 0; p < 10; p++); - } -} - - diff --git a/libjava/testsuite/libjava.compile/Where.java b/libjava/testsuite/libjava.compile/Where.java deleted file mode 100644 index 08fcc78b1d6..00000000000 --- a/libjava/testsuite/libjava.compile/Where.java +++ /dev/null @@ -1,12 +0,0 @@ -// Simple compiler test. - -public final class Where implements support.Waldo -{ - int WhereIsWaldo () - { - // The compiler should find 'here' in support.Waldo. - return here; - } -} - - diff --git a/libjava/testsuite/libjava.compile/Where.xfail b/libjava/testsuite/libjava.compile/Where.xfail deleted file mode 100644 index 755ab8794df..00000000000 --- a/libjava/testsuite/libjava.compile/Where.xfail +++ /dev/null @@ -1 +0,0 @@ -xfail-gcj diff --git a/libjava/testsuite/libjava.compile/XercesBug.java b/libjava/testsuite/libjava.compile/XercesBug.java deleted file mode 100644 index 9184d00a276..00000000000 --- a/libjava/testsuite/libjava.compile/XercesBug.java +++ /dev/null @@ -1,13 +0,0 @@ -// This is java/4007 -public final class XercesBug -{ - static final class OrderedHashtable - { - private Entry[] fEntries = null; - public static final class Entry - { - int x; - } - - } -} diff --git a/libjava/testsuite/libjava.compile/abstr.java b/libjava/testsuite/libjava.compile/abstr.java deleted file mode 100644 index f59db268bc3..00000000000 --- a/libjava/testsuite/libjava.compile/abstr.java +++ /dev/null @@ -1,14 +0,0 @@ -// This fails to compile from bytecode for some versions of the compiler. - -interface foo -{ - public void start (); -} - -public abstract class abstr implements foo -{ - public void doit () - { - start (); - } -} diff --git a/libjava/testsuite/libjava.compile/abstr.xfail b/libjava/testsuite/libjava.compile/abstr.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/abstr.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/assignment.java b/libjava/testsuite/libjava.compile/assignment.java deleted file mode 100644 index ec05f73a503..00000000000 --- a/libjava/testsuite/libjava.compile/assignment.java +++ /dev/null @@ -1,19 +0,0 @@ -// A definite assignment test. - -public class assignment -{ - public static Byte foo () - { - Byte b; - - while (true) { - try { - b = Byte.decode ("42"); - break; - } catch (NumberFormatException ignored) {} - } - - return b; - } -} - diff --git a/libjava/testsuite/libjava.compile/assignment_2.java b/libjava/testsuite/libjava.compile/assignment_2.java deleted file mode 100644 index 38b58db76ee..00000000000 --- a/libjava/testsuite/libjava.compile/assignment_2.java +++ /dev/null @@ -1,32 +0,0 @@ - -/** - * assignment_2.java - * - * - * Created: Thu Apr 13 16:48:40 2000 - * - * @author Oliver Brandt - * @version - */ - -public class assignment_2 { - public assignment_2 () - { - } - - public int foo () - { - int result; - - try - { - result = 0; - } - finally - { - } - return result; - - } - -}// test diff --git a/libjava/testsuite/libjava.compile/block.java b/libjava/testsuite/libjava.compile/block.java deleted file mode 100644 index 6bf99b13135..00000000000 --- a/libjava/testsuite/libjava.compile/block.java +++ /dev/null @@ -1,14 +0,0 @@ -// Class block -// Generated on Thu Apr 20 15:03:23 PDT 2000 -// It is illegal to use modifiers for in-block (local) classes - -class block { - public void foo () - { - public class xxx {} - } - public static void main (String[] arg) - { - System.out.println ("Testing class `block'..."); - } -} diff --git a/libjava/testsuite/libjava.compile/block.xfail b/libjava/testsuite/libjava.compile/block.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/block.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/comment.java b/libjava/testsuite/libjava.compile/comment.java deleted file mode 100644 index ebc5a974de0..00000000000 --- a/libjava/testsuite/libjava.compile/comment.java +++ /dev/null @@ -1,7 +0,0 @@ -public class comment -{ - /*** - // This is supposed to be a comment. - */ -} - diff --git a/libjava/testsuite/libjava.compile/compile.exp b/libjava/testsuite/libjava.compile/compile.exp deleted file mode 100644 index 9eba0d4ad77..00000000000 --- a/libjava/testsuite/libjava.compile/compile.exp +++ /dev/null @@ -1,20 +0,0 @@ -global srcdir subdir - -catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles -verbose "srcfiles are $srcfiles" - -set prefix "" -foreach x $srcfiles { - set args [libjava_read_xfail [file rootname $x].xfail] - if {[file exists [file rootname $x].no-link]} { - lappend args no-link - } - lappend args no-exec - - test_libjava "" "$x" "" "" "" $args - test_libjava "" "$x" "-O3" "" "" $args -} - -# Local Variables: -# tcl-indent-level:4 -# End: diff --git a/libjava/testsuite/libjava.compile/consthrow.java b/libjava/testsuite/libjava.compile/consthrow.java deleted file mode 100644 index 02d1afc01dd..00000000000 --- a/libjava/testsuite/libjava.compile/consthrow.java +++ /dev/null @@ -1,6 +0,0 @@ -public class consthrow -{ - public consthrow () throws Object - { - } -} diff --git a/libjava/testsuite/libjava.compile/consthrow.xfail b/libjava/testsuite/libjava.compile/consthrow.xfail deleted file mode 100644 index f34b59d3181..00000000000 --- a/libjava/testsuite/libjava.compile/consthrow.xfail +++ /dev/null @@ -1,2 +0,0 @@ -no-link -shouldfail diff --git a/libjava/testsuite/libjava.compile/final_assignment_check.java b/libjava/testsuite/libjava.compile/final_assignment_check.java deleted file mode 100644 index 418fd9122ea..00000000000 --- a/libjava/testsuite/libjava.compile/final_assignment_check.java +++ /dev/null @@ -1,12 +0,0 @@ -class f { - final static char c = 3; - final static byte b = 0.1; - final static short s = 3.5f; - final static int i = 4L; - final static long x = 2.5; - final static float y = 2.6; - final static String S = new Object (); - void foo () { - final int i = 2.1; - } -} diff --git a/libjava/testsuite/libjava.compile/final_assignment_check.xfail b/libjava/testsuite/libjava.compile/final_assignment_check.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/final_assignment_check.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java b/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java deleted file mode 100644 index 8ea56a27c51..00000000000 --- a/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java +++ /dev/null @@ -1,21 +0,0 @@ -// This test case was insipred by -// http://gcc.gnu.org/ml/java/2001-09/msg00181.html - -class M { - int size () { return 3; } -} - -class final_initialization_in_ctor { - - final float loadFactor; - - public final_initialization_in_ctor(M m) - { - this(Math.max(m.size() * 2, 30), (float)40.0); - } - - public final_initialization_in_ctor(int initialCapacity, float loadFactor) - { - this.loadFactor = loadFactor; - } -} diff --git a/libjava/testsuite/libjava.compile/final_local_switch.java b/libjava/testsuite/libjava.compile/final_local_switch.java deleted file mode 100644 index c4a4de6ab36..00000000000 --- a/libjava/testsuite/libjava.compile/final_local_switch.java +++ /dev/null @@ -1,16 +0,0 @@ -// This bug was discovered while working on java/1413 (compiling freetds.) -// http://gcc.gnu.org/ml/java-prs/2000-q4/msg00156.html -// The following code should build. - -class final_local_switch { - void foo (int type) { - final byte CHARSET_CHANGE = (byte)3; - final byte CHARSET_CHANGES = (byte)4; - switch (type) { - case CHARSET_CHANGE: - break; - case CHARSET_CHANGES: - break; - } - } -} diff --git a/libjava/testsuite/libjava.compile/iface.java b/libjava/testsuite/libjava.compile/iface.java deleted file mode 100644 index 6a57fcf4bf7..00000000000 --- a/libjava/testsuite/libjava.compile/iface.java +++ /dev/null @@ -1,24 +0,0 @@ -// Test for searching through interface extension. - -interface basei -{ - public int method (); -} - -interface basei2 -{ - public int confuse (); -} - -interface derivedi extends basei, basei2 -{ - public void nothing (); -} - -public class iface -{ - public int try_it (derivedi x) - { - return x.method (); - } -} diff --git a/libjava/testsuite/libjava.compile/inner_1.java b/libjava/testsuite/libjava.compile/inner_1.java deleted file mode 100644 index d9a0210a928..00000000000 --- a/libjava/testsuite/libjava.compile/inner_1.java +++ /dev/null @@ -1,36 +0,0 @@ -// inner class regression test. - -package bar.foo; - -class other { - class foo {} -} - -class inner_1 { - static void bar () { - inner_1 xxxx; // Refers to inner_1 - bar.foo.another xyz; // Refers to non inner another - bar.foo.other.foo X; // OK to declare, inner class foo - bar.foo.inner_1.t bar; // Inner class t - inner_1.t foo; // Inner class t - t foobar; // Inner class t - other.foo zag; // Valid for declaration. - t.ungah x; - } - void foo () { - // z.t.u foo; - t t1 = new t(); - t1.print (); - new t().print(); - } - - class t { - void print () { - System.out.println ("This is `inner_1.t'"); - } - class ungah {} - } -} - -class another { -} diff --git a/libjava/testsuite/libjava.compile/inner_1.xfail b/libjava/testsuite/libjava.compile/inner_1.xfail deleted file mode 100644 index 755ab8794df..00000000000 --- a/libjava/testsuite/libjava.compile/inner_1.xfail +++ /dev/null @@ -1 +0,0 @@ -xfail-gcj diff --git a/libjava/testsuite/libjava.compile/inner_data.java b/libjava/testsuite/libjava.compile/inner_data.java deleted file mode 100644 index 0bb35e8902a..00000000000 --- a/libjava/testsuite/libjava.compile/inner_data.java +++ /dev/null @@ -1,18 +0,0 @@ -// Test referencing protected data from parent of inner class. - -import java.util.Random; - -public class inner_data -{ - private class Randomer extends Super { - public long xxx () - { - return seed; - } - } -} - -class Super -{ - protected long seed; -} diff --git a/libjava/testsuite/libjava.compile/inner_inherit.java b/libjava/testsuite/libjava.compile/inner_inherit.java deleted file mode 100644 index 44ad6a96c22..00000000000 --- a/libjava/testsuite/libjava.compile/inner_inherit.java +++ /dev/null @@ -1,14 +0,0 @@ -// Test to insure that we can refer to methods inherited through an -// inner class. - -public class inner_inherit -{ - private class Agent extends Thread { - } - - public void f () - { - Agent a = new Agent(); - a.setDaemon(true); - } -} diff --git a/libjava/testsuite/libjava.compile/inner_priv.java b/libjava/testsuite/libjava.compile/inner_priv.java deleted file mode 100644 index 0601c68bff4..00000000000 --- a/libjava/testsuite/libjava.compile/inner_priv.java +++ /dev/null @@ -1,11 +0,0 @@ -// Test to ensure that private inner classes are ok. - -public class inner_priv -{ - private class K - { - int z; - } - - K foo; -} diff --git a/libjava/testsuite/libjava.compile/inner_pub.java b/libjava/testsuite/libjava.compile/inner_pub.java deleted file mode 100644 index 616488fa484..00000000000 --- a/libjava/testsuite/libjava.compile/inner_pub.java +++ /dev/null @@ -1,11 +0,0 @@ -// Test to ensure that public inner classes work. - -public class inner_pub -{ - public class really_inner - { - int z; - } - - really_inner foo; -} diff --git a/libjava/testsuite/libjava.compile/invokeinterface/A.java b/libjava/testsuite/libjava.compile/invokeinterface/A.java deleted file mode 100644 index a4167cde2f7..00000000000 --- a/libjava/testsuite/libjava.compile/invokeinterface/A.java +++ /dev/null @@ -1,4 +0,0 @@ -public interface A -{ - public void a(); -} diff --git a/libjava/testsuite/libjava.compile/invokeinterface/B.java b/libjava/testsuite/libjava.compile/invokeinterface/B.java deleted file mode 100644 index 3661e096a91..00000000000 --- a/libjava/testsuite/libjava.compile/invokeinterface/B.java +++ /dev/null @@ -1,4 +0,0 @@ -public interface B extends A -{ - public void b(); -} diff --git a/libjava/testsuite/libjava.compile/invokeinterface/Test.java b/libjava/testsuite/libjava.compile/invokeinterface/Test.java deleted file mode 100644 index 2fb793f7934..00000000000 --- a/libjava/testsuite/libjava.compile/invokeinterface/Test.java +++ /dev/null @@ -1,19 +0,0 @@ -public class Test implements B -{ - public static void main(String args[]) - { - Test t = new Test(); - B a = (B) t; - a.a(); - } - - public void a() - { - System.out.println("A"); - } - - public void b() - { - System.out.println("B"); - } -} diff --git a/libjava/testsuite/libjava.compile/narrow_case.java b/libjava/testsuite/libjava.compile/narrow_case.java deleted file mode 100644 index 48b56820256..00000000000 --- a/libjava/testsuite/libjava.compile/narrow_case.java +++ /dev/null @@ -1,11 +0,0 @@ -public class narrow_case -{ - private int test(byte b) - { - switch (b) - { - case '0' :return 0; - } - return 99; - } -} diff --git a/libjava/testsuite/libjava.compile/not_a_redef.java b/libjava/testsuite/libjava.compile/not_a_redef.java deleted file mode 100644 index 7a2f55cb797..00000000000 --- a/libjava/testsuite/libjava.compile/not_a_redef.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// This is not a redef. - -class not_a_redef { - class baz { class bar { class foo {}} class foo {}} -} diff --git a/libjava/testsuite/libjava.compile/not_a_redef.xfail b/libjava/testsuite/libjava.compile/not_a_redef.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/not_a_redef.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/perc.java b/libjava/testsuite/libjava.compile/perc.java deleted file mode 100644 index 8dc2f6f01fb..00000000000 --- a/libjava/testsuite/libjava.compile/perc.java +++ /dev/null @@ -1,9 +0,0 @@ -// This generates code that `gcj -C' doesn't like. - -public class perc -{ - public static void main (String[] args) - { - System.out.println (27.0 % 10.0); - } -} diff --git a/libjava/testsuite/libjava.compile/plusplus.java b/libjava/testsuite/libjava.compile/plusplus.java deleted file mode 100644 index b8e9bd9fcbb..00000000000 --- a/libjava/testsuite/libjava.compile/plusplus.java +++ /dev/null @@ -1,10 +0,0 @@ -// Test from MoT . - -class plusplus { - public static void main(String[] args) - { - int n = 5; - int[] gnu = new int[10]; - gnu[n]++; - } -} diff --git a/libjava/testsuite/libjava.compile/pr10459.java b/libjava/testsuite/libjava.compile/pr10459.java deleted file mode 100644 index e527f34d2a9..00000000000 --- a/libjava/testsuite/libjava.compile/pr10459.java +++ /dev/null @@ -1,15 +0,0 @@ -public class pr10459 -{ - pr10459 x; - - public void aMethod() throws Throwable - { - for (; ;x.foo().foo()) - ; - } - - pr10459 foo() - { - return null; - } -} diff --git a/libjava/testsuite/libjava.compile/pr13788.java b/libjava/testsuite/libjava.compile/pr13788.java deleted file mode 100644 index 44f25ea1ccf..00000000000 --- a/libjava/testsuite/libjava.compile/pr13788.java +++ /dev/null @@ -1,8 +0,0 @@ -class pr13788 { - private static final int DUMMY1 = 1 >>> 1; - - public static void main(String [] args) { - System.out.println(DUMMY1); - } -} - diff --git a/libjava/testsuite/libjava.compile/pr15656.java b/libjava/testsuite/libjava.compile/pr15656.java deleted file mode 100644 index 4076c9f6870..00000000000 --- a/libjava/testsuite/libjava.compile/pr15656.java +++ /dev/null @@ -1,8 +0,0 @@ -// This used to cause a gcj crash in error_if_numeric_overflow. - -public class pr15656 { - public static void defineClass () - { - Object ctor = new Object; - } -} diff --git a/libjava/testsuite/libjava.compile/pr15656.xfail b/libjava/testsuite/libjava.compile/pr15656.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/pr15656.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/pr172.java b/libjava/testsuite/libjava.compile/pr172.java deleted file mode 100644 index 4dc26d04e71..00000000000 --- a/libjava/testsuite/libjava.compile/pr172.java +++ /dev/null @@ -1,9 +0,0 @@ -// jc1 (2.96 20000313) says "`A_Inner' not found" - -public class pr172 -{ - class A_Inner - { - A_Inner (A_Inner i) {} - } -} diff --git a/libjava/testsuite/libjava.compile/pr17329.java b/libjava/testsuite/libjava.compile/pr17329.java deleted file mode 100644 index fa31f18a726..00000000000 --- a/libjava/testsuite/libjava.compile/pr17329.java +++ /dev/null @@ -1,14 +0,0 @@ -// gcj had a problem with "SomeClass.field++" when gimplifying. - -class helper -{ - static int value; -} - -public class pr17329 -{ - static void doit () - { - helper.value += 2; - } -} diff --git a/libjava/testsuite/libjava.compile/pr174.java b/libjava/testsuite/libjava.compile/pr174.java deleted file mode 100644 index b819372ce7f..00000000000 --- a/libjava/testsuite/libjava.compile/pr174.java +++ /dev/null @@ -1,15 +0,0 @@ -class A -{ -} - -public class pr174 -{ - public pr174() - { - A a = new A(); - } - - class A - { - } -} diff --git a/libjava/testsuite/libjava.compile/pr17500.java b/libjava/testsuite/libjava.compile/pr17500.java deleted file mode 100644 index 825133dc1bd..00000000000 --- a/libjava/testsuite/libjava.compile/pr17500.java +++ /dev/null @@ -1,28 +0,0 @@ -// gcj had a problem compiling code where two anonymous classes had -// captured constructor arguments of the same type but with different -// names. - -public class pr17500 -{ - public Object m1 (final Object one) - { - return new Comparable() - { - public int compareTo(Object other) - { - return one == other ? 0 : 1; - } - }; - } - - public Object m2 (final Object two) - { - return new Comparable() - { - public int compareTo(Object other) - { - return two == other ? 0 : 1; - } - }; - } -} diff --git a/libjava/testsuite/libjava.compile/pr176.java b/libjava/testsuite/libjava.compile/pr176.java deleted file mode 100644 index a52b5bbf808..00000000000 --- a/libjava/testsuite/libjava.compile/pr176.java +++ /dev/null @@ -1,15 +0,0 @@ -// gcj (20000313) reports "Type `x' not found in the declaration of the -// return type of method `getX'." - -public class pr176 -{ - class A - { - x getX() - { - return new x(); - } - - class x {} - } -} diff --git a/libjava/testsuite/libjava.compile/pr21519.java b/libjava/testsuite/libjava.compile/pr21519.java deleted file mode 100644 index c836a8f9f7f..00000000000 --- a/libjava/testsuite/libjava.compile/pr21519.java +++ /dev/null @@ -1,8 +0,0 @@ -public class pr21519 { - char[] source; - public int compute(int pos) { - for (int i = 0; i < pos; ++i) - if (!(source[i] == ' ' || source[i] == '\t')) return -1; - return pos; - } -} diff --git a/libjava/testsuite/libjava.compile/pr21519.no-link b/libjava/testsuite/libjava.compile/pr21519.no-link deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/libjava/testsuite/libjava.compile/pr21540.java b/libjava/testsuite/libjava.compile/pr21540.java deleted file mode 100644 index 4d6841f8b38..00000000000 --- a/libjava/testsuite/libjava.compile/pr21540.java +++ /dev/null @@ -1,15 +0,0 @@ -public class pr21540 -{ - public static final long xxx = 555; - - public boolean fn (int v) - { - switch (v) - { - case ((int) xxx >>> 32): - return true; - default: - return false; - } - } -} diff --git a/libjava/testsuite/libjava.compile/pr25429.java b/libjava/testsuite/libjava.compile/pr25429.java deleted file mode 100644 index a869b585c4b..00000000000 --- a/libjava/testsuite/libjava.compile/pr25429.java +++ /dev/null @@ -1,13 +0,0 @@ -public class pr25429 -{ - private static final int CONST = 0; - class I { - public void f () { - switch(0) { - case CONST: - } - } - } - - public static void main(String[] args) { } -} diff --git a/libjava/testsuite/libjava.compile/pr26042.java b/libjava/testsuite/libjava.compile/pr26042.java deleted file mode 100644 index 485b36a5a54..00000000000 --- a/libjava/testsuite/libjava.compile/pr26042.java +++ /dev/null @@ -1,12 +0,0 @@ -class One -{ - long l; // no ICE if this is int, not long - int b; // no ICE if this line is gone; type doesn't matter -} - -public class pr26042 -{ - class Three extends One { } - Three three () { return new Three (); } -} - diff --git a/libjava/testsuite/libjava.compile/pr7912.java b/libjava/testsuite/libjava.compile/pr7912.java deleted file mode 100644 index a7de398462e..00000000000 --- a/libjava/testsuite/libjava.compile/pr7912.java +++ /dev/null @@ -1,8 +0,0 @@ -public class pr7912 -{ - static Cloneable c; - public static void main(String[] args) - { - c = new int[1]; - } -} diff --git a/libjava/testsuite/libjava.compile/pr8712.java b/libjava/testsuite/libjava.compile/pr8712.java deleted file mode 100644 index 7a6eb754d90..00000000000 --- a/libjava/testsuite/libjava.compile/pr8712.java +++ /dev/null @@ -1,7 +0,0 @@ -public class pr8712 -{ - boolean x(pr8712 a) - { - return (!(a instanceof pr8712)); - } -} diff --git a/libjava/testsuite/libjava.compile/pr8955.java b/libjava/testsuite/libjava.compile/pr8955.java deleted file mode 100644 index ae78f503f9c..00000000000 --- a/libjava/testsuite/libjava.compile/pr8955.java +++ /dev/null @@ -1,13 +0,0 @@ -public class pr8955 -{ - static final int val = Integer.MIN_VALUE; - void foo() - { - switch(1) { - case val: - break; - case 1: - break; - } - } -} diff --git a/libjava/testsuite/libjava.compile/redef1.java b/libjava/testsuite/libjava.compile/redef1.java deleted file mode 100644 index a3e138a8c84..00000000000 --- a/libjava/testsuite/libjava.compile/redef1.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// A case of innerclass redefinition - -class redef1 { - class redef1 {} -} diff --git a/libjava/testsuite/libjava.compile/redef1.xfail b/libjava/testsuite/libjava.compile/redef1.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/redef1.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/redef2.java b/libjava/testsuite/libjava.compile/redef2.java deleted file mode 100644 index 9f8e5b85782..00000000000 --- a/libjava/testsuite/libjava.compile/redef2.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// A case of innerclass redefinition - -class redef2 { - class foo {class redef2{}} -} diff --git a/libjava/testsuite/libjava.compile/redef2.xfail b/libjava/testsuite/libjava.compile/redef2.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/redef2.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/redef3.java b/libjava/testsuite/libjava.compile/redef3.java deleted file mode 100644 index df638f1e34a..00000000000 --- a/libjava/testsuite/libjava.compile/redef3.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// A case of innerclass redefinition - -class redef3 { - class foo { class bar {} class bar {}} -} diff --git a/libjava/testsuite/libjava.compile/redef3.xfail b/libjava/testsuite/libjava.compile/redef3.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/redef3.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/redef4.java b/libjava/testsuite/libjava.compile/redef4.java deleted file mode 100644 index db4f4994466..00000000000 --- a/libjava/testsuite/libjava.compile/redef4.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// A case of innerclass redefinition - -class redef4 { - class foo { class bar { class foo {}}} -} diff --git a/libjava/testsuite/libjava.compile/redef4.xfail b/libjava/testsuite/libjava.compile/redef4.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/redef4.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/redef5.java b/libjava/testsuite/libjava.compile/redef5.java deleted file mode 100644 index 2698e0ff7a2..00000000000 --- a/libjava/testsuite/libjava.compile/redef5.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// Redefining and stuffing the redefined class with something - -class redef5 { - class redef5 {void foobar() {}} -} diff --git a/libjava/testsuite/libjava.compile/redef5.xfail b/libjava/testsuite/libjava.compile/redef5.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/redef5.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/redef6.java b/libjava/testsuite/libjava.compile/redef6.java deleted file mode 100644 index 1489d5e048d..00000000000 --- a/libjava/testsuite/libjava.compile/redef6.java +++ /dev/null @@ -1,6 +0,0 @@ -package bar.foo; -// Redefining and stuffing the redefined class with something - -class redef6 { - class redef6 {int foo;} -} diff --git a/libjava/testsuite/libjava.compile/redef6.xfail b/libjava/testsuite/libjava.compile/redef6.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/redef6.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/rh174912.java b/libjava/testsuite/libjava.compile/rh174912.java deleted file mode 100644 index 65c1bf574ab..00000000000 --- a/libjava/testsuite/libjava.compile/rh174912.java +++ /dev/null @@ -1,17 +0,0 @@ -// Derived from Red Hat bugzilla 174912 -// https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=174912 -// The bug is that the anonymous class constructor here will end up -// with a bogus '[3C' in its signature. - -public class rh174912 { - public rh174912(char[][] args) { } - - public Object m() { - return new rh174912(new char[][] { "hi".toCharArray(), - "bob".toCharArray(), - "and joe".toCharArray() }) { - }; - } - - public static void main(String[] args) { } -} diff --git a/libjava/testsuite/libjava.compile/rh175833.java b/libjava/testsuite/libjava.compile/rh175833.java deleted file mode 100644 index 6bdec57cb6e..00000000000 --- a/libjava/testsuite/libjava.compile/rh175833.java +++ /dev/null @@ -1,13 +0,0 @@ -// Follow-on to PR 25429 -public class rh175833 -{ - private static final Object CONST = new Object(); - class I { - public Object f () { - // We need an accessor here. - return CONST; - } - } - - public static void main(String[] args) { } -} diff --git a/libjava/testsuite/libjava.compile/static_1.java b/libjava/testsuite/libjava.compile/static_1.java deleted file mode 100644 index ff01a1ef98d..00000000000 --- a/libjava/testsuite/libjava.compile/static_1.java +++ /dev/null @@ -1,12 +0,0 @@ -package bar.foo; - -class static_1 { - class bar { - // No Static members: methods, fields, inner classes. - static int foo; - static int xyzzy (){return 0;} - static {} - static class foo {} - // No Member interface FIXME - } -} diff --git a/libjava/testsuite/libjava.compile/static_1.xfail b/libjava/testsuite/libjava.compile/static_1.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/static_1.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/static_2.java b/libjava/testsuite/libjava.compile/static_2.java deleted file mode 100644 index fdb5b99dac5..00000000000 --- a/libjava/testsuite/libjava.compile/static_2.java +++ /dev/null @@ -1,10 +0,0 @@ -package bar.foo; - -class static_2 { - static class koink { - static int i; - static void foo (){} - static {} - static class foo {} - } -} diff --git a/libjava/testsuite/libjava.compile/static_2.xfail b/libjava/testsuite/libjava.compile/static_2.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/static_2.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/static_3.java b/libjava/testsuite/libjava.compile/static_3.java deleted file mode 100644 index 894e5799b1f..00000000000 --- a/libjava/testsuite/libjava.compile/static_3.java +++ /dev/null @@ -1,5 +0,0 @@ -package bar.foo; - -class static_3 { - static class zoink { static class zork {}} -} diff --git a/libjava/testsuite/libjava.compile/static_3.xfail b/libjava/testsuite/libjava.compile/static_3.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/static_3.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/static_init.java b/libjava/testsuite/libjava.compile/static_init.java deleted file mode 100644 index 2e77b5e4a82..00000000000 --- a/libjava/testsuite/libjava.compile/static_init.java +++ /dev/null @@ -1,4 +0,0 @@ -class static_init -{ - native { } -} diff --git a/libjava/testsuite/libjava.compile/static_init.xfail b/libjava/testsuite/libjava.compile/static_init.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/static_init.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/static_init2.java b/libjava/testsuite/libjava.compile/static_init2.java deleted file mode 100644 index 8cae968045b..00000000000 --- a/libjava/testsuite/libjava.compile/static_init2.java +++ /dev/null @@ -1,9 +0,0 @@ -class static_init2 { - static final float two_to_the_30 = - (float) (1L << 30); - - static float[] floatValues = { - (float)1.0, - (float)two_to_the_30, - }; -} diff --git a/libjava/testsuite/libjava.compile/static_inner.java b/libjava/testsuite/libjava.compile/static_inner.java deleted file mode 100644 index ca0d99f4c8e..00000000000 --- a/libjava/testsuite/libjava.compile/static_inner.java +++ /dev/null @@ -1,19 +0,0 @@ -// File Parent.java -class Parent { - public static class Kid { - public Kid(int age) { - this.age = age; - } - - int age; - } -} - -// File NewParent.java -public class static_inner extends Parent { - - public static void main(String[] argv) { - Kid kid = new Kid(2); - } - -} diff --git a/libjava/testsuite/libjava.compile/support/Case.java b/libjava/testsuite/libjava.compile/support/Case.java deleted file mode 100644 index 709b47aca5a..00000000000 --- a/libjava/testsuite/libjava.compile/support/Case.java +++ /dev/null @@ -1,6 +0,0 @@ -package support; - -public class Case -{ - public static final int A = 9; -} diff --git a/libjava/testsuite/libjava.compile/support/PR129_A.java b/libjava/testsuite/libjava.compile/support/PR129_A.java deleted file mode 100644 index 643dad671b8..00000000000 --- a/libjava/testsuite/libjava.compile/support/PR129_A.java +++ /dev/null @@ -1,6 +0,0 @@ -package support; - -public class PR129_A { - public static String[] strArr = { "A", "B", "C" }; -} - diff --git a/libjava/testsuite/libjava.compile/support/PR206_A.java b/libjava/testsuite/libjava.compile/support/PR206_A.java deleted file mode 100644 index dffd498286b..00000000000 --- a/libjava/testsuite/libjava.compile/support/PR206_A.java +++ /dev/null @@ -1,8 +0,0 @@ -package support; - -public final class PR206_A { - static - { - String s = System.getProperty ("soylent"); - } -} diff --git a/libjava/testsuite/libjava.compile/support/PR207_A.java b/libjava/testsuite/libjava.compile/support/PR207_A.java deleted file mode 100644 index 1d465f5222e..00000000000 --- a/libjava/testsuite/libjava.compile/support/PR207_A.java +++ /dev/null @@ -1,13 +0,0 @@ -package support; - -public final class PR207_A { - static - { - String s = System.getProperty ("soylent"); - } - - public static String hello () - { - return "green"; - } -} diff --git a/libjava/testsuite/libjava.compile/support/Waldo.java b/libjava/testsuite/libjava.compile/support/Waldo.java deleted file mode 100644 index e28829d7af5..00000000000 --- a/libjava/testsuite/libjava.compile/support/Waldo.java +++ /dev/null @@ -1,7 +0,0 @@ -package support; - -public interface Waldo { - - public static final int here = 9; - -} diff --git a/libjava/testsuite/libjava.compile/uesc.java b/libjava/testsuite/libjava.compile/uesc.java deleted file mode 100644 index b41ef69f8c0..00000000000 --- a/libjava/testsuite/libjava.compile/uesc.java +++ /dev/null @@ -1,9 +0,0 @@ -public class uesc -{ - public foo (Object[] v[]) - { - char z = '\uuu00a0'; - char y = '\u00au0'; // At one point we erroneously - // accepted this. - } -} diff --git a/libjava/testsuite/libjava.compile/uesc.xfail b/libjava/testsuite/libjava.compile/uesc.xfail deleted file mode 100644 index e3b083b1fa5..00000000000 --- a/libjava/testsuite/libjava.compile/uesc.xfail +++ /dev/null @@ -1 +0,0 @@ -shouldfail diff --git a/libjava/testsuite/libjava.compile/weirddecl.java b/libjava/testsuite/libjava.compile/weirddecl.java deleted file mode 100644 index f6d9b3fb427..00000000000 --- a/libjava/testsuite/libjava.compile/weirddecl.java +++ /dev/null @@ -1,8 +0,0 @@ -public class weirddecl -{ - // Weird but legal decl. - public String foo (String[] dumb[]) - { - return dumb[0][0]; - } -} diff --git a/libjava/testsuite/libjava.compile/weirddecl.xfail b/libjava/testsuite/libjava.compile/weirddecl.xfail deleted file mode 100644 index 76540afa49b..00000000000 --- a/libjava/testsuite/libjava.compile/weirddecl.xfail +++ /dev/null @@ -1 +0,0 @@ -no-link diff --git a/libjava/testsuite/libjava.compile/zeroexp.java b/libjava/testsuite/libjava.compile/zeroexp.java deleted file mode 100644 index f14efbbc9a2..00000000000 --- a/libjava/testsuite/libjava.compile/zeroexp.java +++ /dev/null @@ -1,10 +0,0 @@ -public class zeroexp -{ - public static void main (String[] argv) - { - // gcj used to give an error about this literal. - float f = 0E-6F; - double d = 0E-9; - System.out.println ("" + f + " " + d); - } -} diff --git a/libjava/testsuite/libjava.jacks/jacks.exp b/libjava/testsuite/libjava.jacks/jacks.exp deleted file mode 100644 index 4640a71e9ca..00000000000 --- a/libjava/testsuite/libjava.jacks/jacks.exp +++ /dev/null @@ -1,122 +0,0 @@ -# Run the Jacks test suite. -# See http://www-124.ibm.com/developerworks/oss/cvs/jikes/~checkout~/jacks/jacks.html - -load_gcc_lib target-libpath.exp - -proc gcj_jacks_setup_xfail {ary} { - upvar $ary array - global srcdir - - set fd [open $srcdir/libjava.jacks/jacks.xfail] - while {! [eof $fd]} { - set array([gets $fd]) {} - } - close $fd -} - -proc gcj_jacks_write {filename} { - global GCJ_UNDER_TEST - global libgcj_jar - global libjava_libgcc_s_path - global ld_library_path - - set gcjl [split $GCJ_UNDER_TEST] - set gcj_cmd [lindex $gcjl 0] - set rest [join [lreplace $gcjl 0 0]] - append rest " -C" - - set fd [open $filename w] - puts $fd "set JAVAC $gcj_cmd" - puts $fd "set JAVA_CLASSPATH \"$libgcj_jar\"" - puts $fd "set JAVAC_FLAGS [list $rest]" - puts $fd "set JAVA [list [libjava_find_gij]]" - - # Without an explicit limit on the heap size, tests depending on - # an OutOfMemoryError (e.g. "15.9.4-runtime-creation-2") can result - # in a lot of unnecessary thrashing. - puts $fd "set JAVA_FLAGS \"-mx=64m\"" - - puts $fd "set JAVAC_ENCODING_FLAG --encoding=" - puts $fd "set JAVAC_DEPRECATION_FLAG -Wdeprecated" - puts $fd "set tcltest::testConstraints(encoding) 1" - puts $fd "set tcltest::testConstraints(gcj) 1" - puts $fd "set tcltest::testConstraints(assert) 1" - # "Time-consuming JVM limitation tests". - # puts $fd "set tcltest::testConstraints(jvm) 1" - close $fd - - set ld_library_path $libjava_libgcc_s_path - set_ld_library_path_env_vars -} - -proc gcj_jacks_parse {file} { - if {[catch {open $file} fd]} { - verbose "couldn't parse Jacks output: $fd" - return - } - - verbose "Reading jacks.xfail" - gcj_jacks_setup_xfail xfails - - while {! [eof $fd]} { - set line [gets $fd] - if {[string match RESULT* $line]} { - set linelist [split $line] - set test [lindex $linelist 1] - if {[info exists xfails($test)]} { - setup_xfail "*-*-*" - } - if {[lindex $linelist 2] == "PASSED"} { - pass $test - } else { - fail $test - } - } - } - - close $fd -} - -proc gcj_jacks_run {} { - global srcdir - - if {! [file isdirectory $srcdir/libjava.jacks/jacks]} { - # No tests. - verbose "Jacks tests not found" - return - } - - # Jacks forces us to do this. You can't run it from a separate - # tree. - verbose "Copying Jacks..." - catch {system "rm -rf jacks"} - catch {system "cp -r $srcdir/libjava.jacks/jacks jacks"} - - set here [pwd] - cd jacks - - verbose "Writing Jacks setup file" - gcj_jacks_write gcj_setup - - verbose "Running Jacks..." - # Just ignore error exits from the jacks program. - # It will always error exit for us, since don't completely pass. - # At the moment jacks has a hardcoded call to tclsh8.3. To override this, - # we check here on the version and launch the script directly with the - # tclsh$tcl_ver. - set tcl_ver [info tclversion] - if {[package vcompare $tcl_ver 8.3] >= 0 } { - if {[catch {exec tclsh$tcl_ver jacks gcj} msg]} { - send_log "Couldn't run jacks: $msg\n" - return - } - gcj_jacks_parse logging/gcj.log - } else { - send_log "No suitable tclsh found, you need at least version 8.3 or up.\n" - return - } - - cd $here -} - -gcj_jacks_run diff --git a/libjava/testsuite/libjava.jacks/jacks.xfail b/libjava/testsuite/libjava.jacks/jacks.xfail deleted file mode 100644 index 081e8ac233a..00000000000 --- a/libjava/testsuite/libjava.jacks/jacks.xfail +++ /dev/null @@ -1,686 +0,0 @@ -12.4.1-runtime-1 -12.4.1-runtime-2 -12.4.1-runtime-3 -12.4.1-runtime-4 -13.1-runtime-constant-1 -13.1-runtime-constant-3 -13.1-runtime-field-1 -13.1-runtime-method-6 -13.4.8-constant-runtime-1 -13.4.8-constant-runtime-2 -14-runtime-jump-1 -14-runtime-jump-2 -14.14-label-1 -14.14-label-2 -14.14-label-5 -14.14-label-8 -14.14-plain-2 -14.14-plain-5 -14.17-null-1 -14.17-null-3 -14.17-null-4 -14.17-null-5 -14.19-shadow-12 -14.19-shadow-13 -14.19-shadow-14 -14.19-shadow-15 -14.19-shadow-4 -14.19-shadow-5 -14.19-shadow-6 -14.19-shadow-7 -14.19.exception-13 -14.19.exception-14 -14.19.exception-15 -14.19.exception-16 -14.19.exception-21 -14.19.exception-22 -14.19.exception-23 -14.19.exception-24 -14.20-abrupt-10 -14.20-abrupt-14 -14.20-abrupt-2 -14.20-abrupt-6 -14.20-block-4 -14.20-block-9 -14.20-catch-15 -14.20-catch-17 -14.20-do-10 -14.20-do-11 -14.20-do-12 -14.20-do-13 -14.20-do-14 -14.20-do-15 -14.20-do-16 -14.20-do-17 -14.20-do-18 -14.20-do-19 -14.20-do-20 -14.20-do-21 -14.20-do-22 -14.20-do-23 -14.20-do-24 -14.20-do-25 -14.20-do-26 -14.20-do-27 -14.20-do-28 -14.20-do-29 -14.20-do-30 -14.20-do-31 -14.20-do-32 -14.20-do-33 -14.20-do-6 -14.20-do-9 -14.20-for-15 -14.20-for-16 -14.20-for-17 -14.20-for-18 -14.20-for-19 -14.20-for-20 -14.20-for-21 -14.20-for-22 -14.20-for-4 -14.20-for-8 -14.20-for-update-1 -14.20-if-6 -14.20-label-10 -14.20-label-11 -14.20-label-12 -14.20-label-13 -14.20-label-14 -14.20-label-15 -14.20-label-5 -14.20-label-8 -14.20-label-9 -14.20-local-2 -14.20-switch-14 -14.20-switch-17 -14.20-switch-18 -14.20-switch-19 -14.20-switch-20 -14.20-switch-21 -14.20-switch-22 -14.20-switch-23 -14.20-switch-24 -14.20-switch-8 -14.20-synchronized-3 -14.20-try-14 -14.20-try-18 -14.20-try-22 -14.20-try-27 -14.20-try-3 -14.20-try-31 -14.20-try-9 -14.20-while-12 -14.20-while-13 -14.20-while-14 -14.20-while-15 -14.20-while-16 -14.20-while-17 -14.20-while-18 -14.20-while-19 -14.20-while-4 -14.3-1 -14.3-scope-10 -14.3-scope-2 -14.3-scope-4 -14.3-scope-5 -14.3-scope-9 -14.3.1-runtime-3 -14.4.2-shadow-5 -14.4.2-shadow-6 -14.4.2-shadow-7 -14.4.2-shadow-9 -14.7-shadow-3 -15.11.1-ambiguous-2 -15.11.1-ambiguous-3 -15.11.1-explicit-constructor-3 -15.11.1-runtime-static-1 -15.11.1-runtime-static-2 -15.11.1-runtime-static-3 -15.11.1-runtime-static-4 -15.11.2-explicit-constructor-2 -15.11.2-meaning-11 -15.11.2-meaning-13 -15.11.2-meaning-14 -15.11.2-meaning-17 -15.11.2-meaning-6 -15.11.2-meaning-8 -15.11.2-meaning-9 -15.11.2-runtime-1 -15.11.2-runtime-2 -15.11.2-syntax-1 -15.12.1-syntax-1 -15.12.1-type-14 -15.12.2.1-accessibility-method-3 -15.12.2.1-accessibility-method-5 -15.12.2.1-accessibility-method-6 -15.12.2.2-ambiguous-10 -15.12.2.2-ambiguous-12 -15.12.2.2-ambiguous-14 -15.12.2.2-ambiguous-17 -15.12.2.2-ambiguous-18 -15.12.2.2-ambiguous-21 -15.12.2.2-ambiguous-25 -15.12.2.2-ambiguous-27 -15.12.2.2-ambiguous-3 -15.12.2.2-ambiguous-6 -15.12.2.2-ambiguous-9 -15.12.3-abstract-1 -15.12.3-abstract-2 -15.12.3-abstract-3 -15.12.3-explicit-constructor-10 -15.12.3-explicit-constructor-3 -15.12.3-explicit-constructor-4 -15.12.3-explicit-constructor-5 -15.12.3-explicit-constructor-7 -15.12.3-explicit-constructor-9 -15.12.3-runtime-mode-1 -15.12.3-runtime-mode-2 -15.12.3-runtime-mode-3 -15.12.3-runtime-mode-4 -15.12.3-runtime-mode-6 -15.12.4.1-runtime-static-1 -15.12.4.1-runtime-static-2 -15.12.4.1-runtime-super-1 -15.12.4.1-runtime-super-2 -15.14-runtime-3 -15.14-runtime-4 -15.15-runtime-3 -15.15-runtime-4 -15.16-semantic-5 -15.16-value-1 -15.16-value-2 -15.17-mod-3 -15.17-mod-4 -15.17.3-assoc-2 -15.17.3-double-1 -15.17.3-double-10 -15.17.3-double-11 -15.17.3-double-12 -15.17.3-double-13 -15.17.3-double-14 -15.17.3-double-2 -15.17.3-double-3 -15.17.3-double-4 -15.17.3-double-5 -15.17.3-double-6 -15.17.3-double-7 -15.17.3-double-8 -15.17.3-double-9 -15.17.3-float-1 -15.17.3-float-10 -15.17.3-float-11 -15.17.3-float-12 -15.17.3-float-13 -15.17.3-float-14 -15.17.3-float-2 -15.17.3-float-3 -15.17.3-float-4 -15.17.3-float-5 -15.17.3-float-6 -15.17.3-float-7 -15.17.3-float-8 -15.17.3-float-9 -15.18.1-double-1 -15.18.1-double-10 -15.18.1-double-11 -15.18.1-double-12 -15.18.1-double-13 -15.18.1-double-2 -15.18.1-double-3 -15.18.1-double-4 -15.18.1-double-5 -15.18.1-double-6 -15.18.1-double-7 -15.18.1-double-8 -15.18.1-double-9 -15.18.1-float-1 -15.18.1-float-10 -15.18.1-float-11 -15.18.1-float-12 -15.18.1-float-2 -15.18.1-float-3 -15.18.1-float-4 -15.18.1-float-5 -15.18.1-float-6 -15.18.1-float-7 -15.18.1-float-8 -15.18.1-float-9 -15.18.1-valid-1 -15.20-2-runtime-1 -15.25-runtime-1 -15.26.2-add-12 -15.26.2-and-10 -15.26.2-and-12 -15.26.2-div-12 -15.26.2-left-shift-12 -15.26.2-mod-12 -15.26.2-mult-12 -15.26.2-or-10 -15.26.2-or-12 -15.26.2-signed-right-shift-12 -15.26.2-sub-12 -15.26.2-unsigned-right-shift-12 -15.26.2-xor-10 -15.26.2-xor-12 -15.28-cast-simple-name-1 -15.28-cast-simple-name-2 -15.28-cast-simple-name-3 -15.28-instanceof-3 -15.28-notstring-1 -15.28-null-1 -15.28-null-3 -15.28-primitive-15 -15.28-primitive-17 -15.28-primitive-3 -15.28-qualified-name-10 -15.28-qualified-name-5 -15.28-qualified-name-6 -15.28-qualified-name-7 -15.28-qualified-name-8 -15.28-qualified-name-9 -15.28-qualified-namestr-7 -15.28-qualified-namestr-8 -15.28-qualified-namestr-9 -15.28-simple-name-6 -15.28-simple-name-8 -15.28-simple-namestr-1 -15.28-simple-namestr-2 -15.28-simple-namestr-3 -15.28-simple-namestr-4 -15.28-string-15 -15.28-string-17 -15.28-string-18 -15.28-string-2 -15.28-string-5 -15.28-string-9 -15.28-uninitialized-simple-name-3 -15.8.2-synthetic-1 -15.8.2-type-11 -15.8.2-type-12 -15.8.2-type-13 -15.8.2-type-14 -15.8.4-static-2 -15.8.5-field-expression-6 -15.8.5-method-expression-8 -15.8.5-variable-5 -15.8.5-variable-6 -15.8.5-variable-7 -15.8.5-variable-8 -15.9-runtime-numcalls-1 -15.9.1-qualified-anonymous-10 -15.9.1-qualified-anonymous-12 -15.9.1-qualified-anonymous-13 -15.9.1-qualified-anonymous-14 -15.9.1-qualified-anonymous-17 -15.9.1-qualified-anonymous-18 -15.9.1-qualified-anonymous-2 -15.9.1-qualified-anonymous-20 -15.9.1-qualified-anonymous-22 -15.9.1-qualified-anonymous-26 -15.9.1-qualified-anonymous-28 -15.9.1-qualified-anonymous-4 -15.9.1-qualified-anonymous-5 -15.9.1-qualified-concrete-12 -15.9.1-qualified-concrete-14 -15.9.1-qualified-concrete-16 -15.9.1-qualified-concrete-24 -15.9.1-qualified-concrete-4 -15.9.1-qualified-concrete-5 -15.9.1-unqualified-anonymous-12 -15.9.1-unqualified-anonymous-14 -15.9.1-unqualified-anonymous-15 -15.9.1-unqualified-anonymous-2 -15.9.1-unqualified-anonymous-23 -15.9.1-unqualified-anonymous-24 -15.9.1-unqualified-anonymous-26 -15.9.1-unqualified-anonymous-27 -15.9.1-unqualified-anonymous-4 -15.9.1-unqualified-anonymous-5 -15.9.1-unqualified-concrete-14 -15.9.1-unqualified-concrete-15 -15.9.1-unqualified-concrete-2 -15.9.1-unqualified-concrete-4 -15.9.1-unqualified-concrete-5 -15.9.4-runtime-creation-1 -15.9.4-runtime-creation-2 -15.9.4-runtime-creation-5 -15.9.5.1-exception-4 -15.9.5.1-superconstructor-7 -15.9.5.1-superconstructor-8 -16-instance-5 -16-instance-6 -16-instance-7 -16-static-1 -16-static-2 -16.1.2-definite-unassignment-fail-6 -16.1.3-definite-unassignment-fail-6 -16.1.5-not-assignable-7 -16.1.5-not-assignable-8 -16.1.7-compound-definite-unassignment-fail-6 -16.1.7-compound-definite-unassignment-fail-7 -16.2.10-definite-assign-pass-2 -16.2.10-definite-unassign-pass-1 -16.2.10-definite-unassign-pass-2 -16.2.10-definite-unassign-pass-3 -16.2.10-definite-unassign-pass-4 -16.2.10-definite-unassign-pass-5 -16.2.10-definite-unassign-pass-6 -16.2.10-definite-unassign-pass-7 -16.2.10-definite-unassign-pass-8 -16.2.11-definite-assign-pass-2 -16.2.11-definite-unassign-pass-1 -16.2.11-definite-unassign-pass-2 -16.2.11-definite-unassign-pass-3 -16.2.11-definite-unassign-pass-4 -16.2.11-definite-unassign-pass-5 -16.2.11-definite-unassign-pass-6 -16.2.11-definite-unassign-pass-7 -16.2.11-definite-unassign-pass-8 -16.2.14-definite-unassign-fail-12 -16.2.14-definite-unassign-fail-13 -16.2.14-definite-unassign-fail-5 -16.2.14-definite-unassign-fail-6 -16.2.14-definite-unassign-fail-7 -16.2.14-definite-unassign-fail-8 -16.2.3-local-class-11 -16.2.3-local-class-4 -16.2.3-local-class-5 -16.2.5-definite-unassign-pass-1 -16.2.5-definite-unassign-pass-2 -16.2.5-definite-unassign-pass-3 -16.2.8-final-3 -16.2.8-final-4 -16.2.8-unassigned-1 -16.2.8-unassigned-20 -16.2.8-unassigned-21 -16.2.8-unassigned-22 -16.2.8-unassigned-23 -16.2.8-unassigned-6 -16.2.8-unassigned-8 -16.2.8-unassigned-9 -16.2.9-definite-assign-pass-2 -16.2.9-definite-unassign-pass-1 -16.2.9-definite-unassign-pass-2 -16.2.9-definite-unassign-pass-3 -16.2.9-definite-unassign-pass-4 -16.2.9-definite-unassign-pass-5 -16.2.9-definite-unassign-pass-6 -16.2.9-definite-unassign-pass-7 -16.5-anonymous-3 -16.5-runtime-1 -16.5-runtime-2 -16.5-runtime-3 -16.5-runtime-4 -16.5-runtime-5 -16.8-constructor-8 -201-enhanced-for-final -201-enhanced-for-int-array -201-enhanced-for-Iterable -201-enhanced-for-object -201-enhanced-for-with-generics -3.10.1-invalid-3 -3.10.1-invalid-4 -3.10.2-double-13 -3.10.2-double-14 -3.10.2-round-10 -3.10.2-round-11 -3.10.2-round-12 -3.10.2-round-7 -3.10.2-round-9 -3.2-valid-1 -4.5.4-parameter-2 -4.5.4-parameter-3 -4.5.4-static-1 -4.5.4-static-5 -4.7.10-jvms-class-18 -4.7.10-jvms-class-6 -4.7.10-jvms-class-7 -4.7.10-jvms-class-8 -4.7.10-jvms-constructor-6 -4.7.10-jvms-constructor-8 -4.7.10-jvms-field-6 -4.7.10-jvms-field-8 -4.7.10-jvms-method-6 -4.7.10-jvms-method-8 -5.1.2-btd-1 -5.1.2-btd-3 -5.1.2-btd-5 -5.1.2-btf-1 -5.1.2-btf-3 -5.1.2-btf-5 -5.1.2-std-3 -5.1.2-std-5 -5.1.2-stf-1 -5.1.2-stf-3 -5.1.2-stf-5 -6.3-1 -6.5.1-type-15 -6.5.1-type-16 -6.5.1-typeorpackage-2 -6.5.4.1-simple-10 -6.5.4.1-simple-11 -6.5.4.1-simple-6 -6.5.5.1-import-2 -6.5.5.1-import-3 -6.5.5.1-nested-14 -6.5.5.1-nested-19 -6.5.5.1-nested-20 -6.5.5.1-nested-21 -6.5.5.1-nested-23 -6.5.5.1-nested-8 -6.5.5.1-nested-9 -6.5.5.2-type-4 -6.5.5.2-type-5 -6.5.5.2-type-6 -6.5.5.2-type-7 -6.5.5.2-type-8 -6.5.6.1-explicit-constructor-2 -6.5.6.1-field-6 -6.5.6.1-local-3 -6.5.6.1-local-4 -6.5.6.2-expression-6 -6.5.6.2-type-2 -6.5.6.2-type-6 -6.5.6.2-type-8 -6.5.6.2-type-9 -6.6.1-11 -6.6.1-8 -6.6.1-array-11 -6.6.1-array-13 -6.6.1-array-14 -6.6.1-array-17 -6.6.1-array-2 -6.6.1-array-20 -6.6.1-array-22 -6.6.1-array-23 -6.6.1-array-26 -6.6.1-array-29 -6.6.1-array-3 -6.6.1-array-31 -6.6.1-array-32 -6.6.1-array-35 -6.6.1-array-5 -6.6.1-array-8 -6.6.2.1-protected-type-2 -6.6.2.2-protected-creation-3 -7.1-named-5 -7.1-named-6 -7.1-named-7 -7.4.2-2 -7.5.1-accessible-4 -7.5.1-accessible-5 -7.5.1-canonical-3 -7.5.1-duplicate-4 -7.5.1-shadow-2 -7.5.2-accessible-1 -7.5.2-accessible-3 -7.5.2-accessible-4 -7.5.2-canonical-2 -7.5.2-canonical-3 -7.5.2-duplicate-1 -7.5.2-duplicate-2 -7.5.2-duplicate-3 -7.5.2-duplicate-4 -7.6-optional-restrictions-1 -7.6-unnamed-scope-1 -7.6-unnamed-scope-2 -8.1.1.1-default-abstract-11 -8.1.1.1-default-abstract-13 -8.1.1.1-default-abstract-15 -8.1.1.1-default-abstract-19 -8.1.1.1-default-abstract-21 -8.1.1.1-default-abstract-25 -8.1.2-enclosing-10 -8.1.2-enclosing-4 -8.1.2-enclosing-5 -8.1.2-enclosing-7 -8.1.2-runtime-1 -8.1.2-static-1 -8.1.2-static-11 -8.1.2-static-16 -8.1.3-object-3 -8.3-inheritance-1 -8.3-inheritance-2 -8.3-inheritance-3 -8.3-runtime-1 -8.3.1.2-final-17 -8.3.1.2-final-19 -8.3.1.2-final-2 -8.3.1.2-final-21 -8.3.1.2-final-24 -8.3.1.2-final-27 -8.3.1.2-final-28 -8.3.1.2-final-29 -8.3.2-abrupt-3 -8.3.2-abrupt-5 -8.3.2.2-super-2 -8.3.2.3-illegal-forward-instance-1 -8.3.2.3-illegal-forward-instance-2 -8.3.2.3-illegal-forward-instance-3 -8.3.2.3-illegal-forward-instance-4 -8.3.2.3-illegal-forward-instance-5 -8.3.2.3-illegal-forward-instance-6 -8.3.2.3-illegal-forward-instance-7 -8.3.2.3-illegal-forward-instance-8 -8.3.2.3-illegal-forward-instance-9 -8.3.2.3-illegal-forward-static-1 -8.3.2.3-illegal-forward-static-10 -8.3.2.3-illegal-forward-static-2 -8.3.2.3-illegal-forward-static-3 -8.3.2.3-illegal-forward-static-4 -8.3.2.3-illegal-forward-static-5 -8.3.2.3-illegal-forward-static-6 -8.3.2.3-illegal-forward-static-7 -8.3.2.3-illegal-forward-static-8 -8.3.2.3-illegal-forward-static-9 -8.3.2.3-legal-forward-instance-11 -8.4.6-inheritance-1 -8.4.6-inheritance-2 -8.4.6.1-override-3 -8.4.6.2-hiding-3 -8.4.6.3-default-10 -8.4.6.3-default-12 -8.4.6.3-default-14 -8.4.6.3-default-4 -8.4.6.3-default-6 -8.4.6.3-modifier-10 -8.4.6.3-modifier-11 -8.4.6.3-modifier-12 -8.4.6.3-modifier-13 -8.4.6.3-modifier-8 -8.4.6.3-modifier-9 -8.4.6.3-signature-4 -8.4.6.4-abstract-1 -8.4.6.4-abstract-10 -8.4.6.4-abstract-2 -8.4.6.4-abstract-9 -8.4.6.4-multiple-3 -8.4.6.4-multiple-4 -8.4.6.4-multiple-7 -8.4.6.4-multiple-8 -8.5-inheritance-1 -8.5-inheritance-2 -8.5-inheritance-3 -8.5-inheritance-6 -8.5.2-non-static-member-usage-4 -8.5.2-non-static-member-usage-5 -8.6-abrupt-1 -8.6-abrupt-4 -8.6-checked-exception-10 -8.6-checked-exception-11 -8.6-checked-exception-12 -8.6-checked-exception-2 -8.6-checked-exception-4 -8.6-checked-exception-5 -8.6-checked-exception-6 -8.6-checked-exception-8 -8.6-complete-1 -8.6-complete-4 -8.6-complete-5 -8.7-abrupt-1 -8.7-complete-1 -8.7-complete-3 -8.8.5.1-example-1 -8.8.5.1-example-3 -8.8.5.1-qualified-1 -8.8.5.1-qualified-10 -8.8.5.1-qualified-11 -8.8.5.1-qualified-12 -8.8.5.1-qualified-13 -8.8.5.1-qualified-15 -8.8.5.1-qualified-2 -8.8.5.1-qualified-3 -8.8.5.1-qualified-4 -8.8.5.1-runtime-super-1 -8.8.7-accessible-default-constructor-inner-18 -8.8.7-accessible-default-constructor-inner-26 -8.8.7-runtime-accessible-default-1 -9.1.1-in-class-17 -9.1.1-in-class-24 -9.1.1-in-interface-16 -9.1.1-in-interface-2 -9.1.1-in-interface-3 -9.1.1-in-interface-9 -9.1.2-supertype-1 -9.2-implicit-18 -9.2-implicit-19 -9.2-implicit-2 -9.2-implicit-3 -9.2-implicit-4 -9.2-implicit-6 -9.2-implicit-7 -9.3.1-illegal-forward-1 -9.3.1-illegal-forward-2 -9.3.1-init-1 -9.4.1-conflict-2 -non-jls-argument-expansion-11 -non-jls-argument-expansion-12 -non-jls-argument-expansion-error-1 -non-jls-argument-expansion-error-2 -non-jls-argument-expansion-tokens-1 -non-jls-jsr41.2-clash-1 -non-jls-jsr41.3-runtime-2 -non-jls-jsr41.4-definite-unassignment-fail-22 -non-jls-jsr41.4-definite-unassignment-pass-10 -non-jls-jsr41.4-definite-unassignment-pass-9 -non-jls-jsr41.4-definite-unassignment-try-1 -non-jls-jsr41.4-definite-unassignment-try-2 -non-jls-jsr41.4-definite-unassignment-try-3 -non-jls-jsr41.4-definite-unassignment-try-4 -non-jls-jsr41.4-definite-unassignment-try-5 -non-jls-jsr41.4-definite-unassignment-try-6 -non-jls-jsr41.4-definite-unassignment-try-7 -non-jls-jsr41.4-definite-unassignment-try-8 -non-jls-jsr41.4-loop-1 -non-jls-jsr41.4-loop-10 -non-jls-jsr41.4-loop-11 -non-jls-jsr41.4-loop-12 -non-jls-jsr41.4-loop-13 -non-jls-jsr41.4-loop-14 -non-jls-jsr41.4-loop-15 -non-jls-jsr41.4-loop-2 -non-jls-jsr41.4-loop-3 -non-jls-jsr41.4-loop-7 -non-jls-jsr41.4-loop-8 -non-jls-jsr41.4-loop-9 diff --git a/libjava/testsuite/libjava.jni/PR15133.h b/libjava/testsuite/libjava.jni/PR15133.h new file mode 100644 index 00000000000..af9f8f8a368 --- /dev/null +++ b/libjava/testsuite/libjava.jni/PR15133.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __PR15133__ +#define __PR15133__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_PR15133_printIt (JNIEnv *env, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif /* __PR15133__ */ diff --git a/libjava/testsuite/libjava.jni/PR15133.jar b/libjava/testsuite/libjava.jni/PR15133.jar new file mode 100644 index 00000000000..ad76705df4d Binary files /dev/null and b/libjava/testsuite/libjava.jni/PR15133.jar differ diff --git a/libjava/testsuite/libjava.jni/PR18116.h b/libjava/testsuite/libjava.jni/PR18116.h new file mode 100644 index 00000000000..56fc648be0a --- /dev/null +++ b/libjava/testsuite/libjava.jni/PR18116.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __PR18116__ +#define __PR18116__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jint JNICALL Java_PR18116_doit (JNIEnv *env, jclass, jstring); + +#ifdef __cplusplus +} +#endif + +#endif /* __PR18116__ */ diff --git a/libjava/testsuite/libjava.jni/PR18116.jar b/libjava/testsuite/libjava.jni/PR18116.jar new file mode 100644 index 00000000000..b9a0034bac3 Binary files /dev/null and b/libjava/testsuite/libjava.jni/PR18116.jar differ diff --git a/libjava/testsuite/libjava.jni/PR28178.h b/libjava/testsuite/libjava.jni/PR28178.h new file mode 100644 index 00000000000..e686439ecf5 --- /dev/null +++ b/libjava/testsuite/libjava.jni/PR28178.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __PR28178__ +#define __PR28178__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_PR28178_m (JNIEnv *env, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __PR28178__ */ diff --git a/libjava/testsuite/libjava.jni/PR28178.jar b/libjava/testsuite/libjava.jni/PR28178.jar new file mode 100644 index 00000000000..0c9082bb906 Binary files /dev/null and b/libjava/testsuite/libjava.jni/PR28178.jar differ diff --git a/libjava/testsuite/libjava.jni/bytebuffer.h b/libjava/testsuite/libjava.jni/bytebuffer.h new file mode 100644 index 00000000000..33b5c3aa061 --- /dev/null +++ b/libjava/testsuite/libjava.jni/bytebuffer.h @@ -0,0 +1,25 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __bytebuffer__ +#define __bytebuffer__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_bytebuffer_testByteBuffer (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_bytebuffer_testCharBuffer (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_bytebuffer_testDoubleBuffer (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_bytebuffer_testFloatBuffer (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_bytebuffer_testIntBuffer (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_bytebuffer_testLongBuffer (JNIEnv *env, jclass, jobject); +JNIEXPORT void JNICALL Java_bytebuffer_testShortBuffer (JNIEnv *env, jclass, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __bytebuffer__ */ diff --git a/libjava/testsuite/libjava.jni/bytebuffer.jar b/libjava/testsuite/libjava.jni/bytebuffer.jar new file mode 100644 index 00000000000..d0ca6d7e923 Binary files /dev/null and b/libjava/testsuite/libjava.jni/bytebuffer.jar differ diff --git a/libjava/testsuite/libjava.jni/calls.h b/libjava/testsuite/libjava.jni/calls.h new file mode 100644 index 00000000000..64b967095b7 --- /dev/null +++ b/libjava/testsuite/libjava.jni/calls.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __calls__ +#define __calls__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jint JNICALL Java_calls_docall (JNIEnv *env, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __calls__ */ diff --git a/libjava/testsuite/libjava.jni/calls.jar b/libjava/testsuite/libjava.jni/calls.jar new file mode 100644 index 00000000000..3a188ea4907 Binary files /dev/null and b/libjava/testsuite/libjava.jni/calls.jar differ diff --git a/libjava/testsuite/libjava.jni/cxxtest.h b/libjava/testsuite/libjava.jni/cxxtest.h new file mode 100644 index 00000000000..d903636f4e4 --- /dev/null +++ b/libjava/testsuite/libjava.jni/cxxtest.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __cxxtest__ +#define __cxxtest__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jobjectArray JNICALL Java_cxxtest_fetch (JNIEnv *env, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __cxxtest__ */ diff --git a/libjava/testsuite/libjava.jni/cxxtest.jar b/libjava/testsuite/libjava.jni/cxxtest.jar new file mode 100644 index 00000000000..5a9a0d77217 Binary files /dev/null and b/libjava/testsuite/libjava.jni/cxxtest.jar differ diff --git a/libjava/testsuite/libjava.jni/directbuffer.h b/libjava/testsuite/libjava.jni/directbuffer.h new file mode 100644 index 00000000000..6d5c652760b --- /dev/null +++ b/libjava/testsuite/libjava.jni/directbuffer.h @@ -0,0 +1,26 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __directbuffer__ +#define __directbuffer__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jobject JNICALL Java_directbuffer_createDirectByteBuffer (JNIEnv *env, jclass); +JNIEXPORT void JNICALL Java_directbuffer_testDirectByteBuffer (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT void JNICALL Java_directbuffer_testCharBuffer (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT void JNICALL Java_directbuffer_testDoubleBuffer (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT void JNICALL Java_directbuffer_testFloatBuffer (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT void JNICALL Java_directbuffer_testIntBuffer (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT void JNICALL Java_directbuffer_testLongBuffer (JNIEnv *env, jclass, jobject, jint); +JNIEXPORT void JNICALL Java_directbuffer_testShortBuffer (JNIEnv *env, jclass, jobject, jint); + +#ifdef __cplusplus +} +#endif + +#endif /* __directbuffer__ */ diff --git a/libjava/testsuite/libjava.jni/directbuffer.jar b/libjava/testsuite/libjava.jni/directbuffer.jar new file mode 100644 index 00000000000..f1630dad889 Binary files /dev/null and b/libjava/testsuite/libjava.jni/directbuffer.jar differ diff --git a/libjava/testsuite/libjava.jni/field.h b/libjava/testsuite/libjava.jni/field.h new file mode 100644 index 00000000000..fd1597aaee0 --- /dev/null +++ b/libjava/testsuite/libjava.jni/field.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __field__ +#define __field__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jobjectArray JNICALL Java_field_fetch (JNIEnv *env, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __field__ */ diff --git a/libjava/testsuite/libjava.jni/field.jar b/libjava/testsuite/libjava.jni/field.jar new file mode 100644 index 00000000000..3f636e842cc Binary files /dev/null and b/libjava/testsuite/libjava.jni/field.jar differ diff --git a/libjava/testsuite/libjava.jni/final_method.h b/libjava/testsuite/libjava.jni/final_method.h new file mode 100644 index 00000000000..dbb8235496d --- /dev/null +++ b/libjava/testsuite/libjava.jni/final_method.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __final_1method__ +#define __final_1method__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jstring JNICALL Java_final_1method_meth (JNIEnv *env, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __final_1method__ */ diff --git a/libjava/testsuite/libjava.jni/final_method.jar b/libjava/testsuite/libjava.jni/final_method.jar new file mode 100644 index 00000000000..a5f4b63f305 Binary files /dev/null and b/libjava/testsuite/libjava.jni/final_method.jar differ diff --git a/libjava/testsuite/libjava.jni/findclass.h b/libjava/testsuite/libjava.jni/findclass.h new file mode 100644 index 00000000000..d0d301e9359 --- /dev/null +++ b/libjava/testsuite/libjava.jni/findclass.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __findclass__ +#define __findclass__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jclass JNICALL Java_findclass_doit (JNIEnv *env, jclass, jstring); + +#ifdef __cplusplus +} +#endif + +#endif /* __findclass__ */ diff --git a/libjava/testsuite/libjava.jni/findclass.jar b/libjava/testsuite/libjava.jni/findclass.jar new file mode 100644 index 00000000000..03fe860f7e9 Binary files /dev/null and b/libjava/testsuite/libjava.jni/findclass.jar differ diff --git a/libjava/testsuite/libjava.jni/iface.h b/libjava/testsuite/libjava.jni/iface.h new file mode 100644 index 00000000000..58680dd90c4 --- /dev/null +++ b/libjava/testsuite/libjava.jni/iface.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __iface__ +#define __iface__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_iface_doCalls (JNIEnv *env, jobject, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __iface__ */ diff --git a/libjava/testsuite/libjava.jni/iface.jar b/libjava/testsuite/libjava.jni/iface.jar new file mode 100644 index 00000000000..0a9a1af3cf6 Binary files /dev/null and b/libjava/testsuite/libjava.jni/iface.jar differ diff --git a/libjava/testsuite/libjava.jni/invocation/PR16923.jar b/libjava/testsuite/libjava.jni/invocation/PR16923.jar new file mode 100644 index 00000000000..a1a7b880473 Binary files /dev/null and b/libjava/testsuite/libjava.jni/invocation/PR16923.jar differ diff --git a/libjava/testsuite/libjava.jni/invoke.h b/libjava/testsuite/libjava.jni/invoke.h new file mode 100644 index 00000000000..553c598d7d0 --- /dev/null +++ b/libjava/testsuite/libjava.jni/invoke.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __invoke__ +#define __invoke__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jint JNICALL Java_invoke_val (JNIEnv *env, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __invoke__ */ diff --git a/libjava/testsuite/libjava.jni/invoke.jar b/libjava/testsuite/libjava.jni/invoke.jar new file mode 100644 index 00000000000..dd0579740a7 Binary files /dev/null and b/libjava/testsuite/libjava.jni/invoke.jar differ diff --git a/libjava/testsuite/libjava.jni/jni.exp b/libjava/testsuite/libjava.jni/jni.exp index 317c5ae57e5..5fa6edefb71 100644 --- a/libjava/testsuite/libjava.jni/jni.exp +++ b/libjava/testsuite/libjava.jni/jni.exp @@ -4,7 +4,7 @@ # of options to pass to the compiler. Returns 0 on failure, 1 on # success. proc gcj_jni_compile_c_to_so {file {options {}}} { - global srcdir + global srcdir subdir global host_triplet verbose "options: $options" set options_cxx $options @@ -31,7 +31,7 @@ proc gcj_jni_compile_c_to_so {file {options {}}} { lappend options "additional_flags=${so_flag} -fPIC" # Find the generated header. - lappend options "additional_flags=-I. -I.." + lappend options "additional_flags=-I. -I.. -I$srcdir/$subdir" # Ensure that the generated header has correct prototypes. set cfile [file rootname $file].c @@ -60,10 +60,16 @@ proc gcj_jni_compile_c_to_so {file {options {}}} { # Build a header file from a .class file. Return 0 on failure. proc gcj_jni_build_header {file} { + global libgcj_jar + set gcjh [find_gcjh] set file [file rootname $file] + + set cmd "$gcjh -jni -force -classpath .:$libgcj_jar $file" + verbose $cmd + set x [string trim [libjava_prune_warnings \ - [lindex [local_exec "$gcjh -jni $file" "" "" 300] 1]]] + [lindex [local_exec $cmd "" "" 300] 1]]] if {$x != ""} { verbose "local_exec failed: $x" 2 fail "$file header generation" @@ -100,19 +106,19 @@ proc gcj_jni_test_one {file} { return 1 } - if {! [bytecompile_file $file [pwd]]} { - fail "bytecompile $file" - # FIXME - should use `untested' on all remaining tests. - # But that is hard. - return 0 - } - pass "bytecompile $file" +# if {! [bytecompile_file $file [pwd]]} { +# fail "bytecompile $file" +# # FIXME - should use `untested' on all remaining tests. +# # But that is hard. +# return 0 +# } +# pass "bytecompile $file" - set bytefile [file rootname [file tail $file]].class - if {! [gcj_jni_build_header $bytefile]} { - # FIXME - return 0 - } +# set bytefile [file rootname [file tail $file]].class +# if {! [gcj_jni_build_header $bytefile]} { +# # FIXME +# return 0 +# } set cfile [file rootname $file].c set cxxflags "" @@ -180,7 +186,8 @@ proc gcj_jni_test_one {file} { # cxxldlibflags to libjava_invoke. if {$INTERPRETER == "yes" && $gij != ""} { libjava_invoke $errname "gij test" opts $gij \ - "" $resultfile $cxxldlibflags $main + "" $resultfile $cxxldlibflags \ + -classpath $file $main } # When we succeed we remove all our clutter. @@ -194,7 +201,7 @@ proc gcj_jni_test_one {file} { # options to pass to the compiler. Returns 0 on failure, 1 on # success. proc gcj_jni_invocation_compile_c_to_binary {file {options {}}} { - global srcdir + global srcdir subdir global host_triplet verbose "options: $options" set options_cxx $options @@ -208,7 +215,7 @@ proc gcj_jni_invocation_compile_c_to_binary {file {options {}}} { lappend options "additional_flags= -bind_at_load -multiply_defined suppress" } # Find the generated header. - lappend options "additional_flags=-I. -I.." + lappend options "additional_flags=-I. -I.. -I$srcdir/$subdir" # Find jni.h and jni_md.h. lappend options "additional_flags=-I$srcdir/../include -I$srcdir/../classpath/include" @@ -231,6 +238,7 @@ proc gcj_jni_invocation_compile_c_to_binary {file {options {}}} { # Do all the work for a single invocation API test. Return 0 on # failure. proc gcj_jni_invocation_test_one {file} { + global env global runtests global host_triplet global INTERPRETER @@ -242,13 +250,13 @@ proc gcj_jni_invocation_test_one {file} { return 1 } - if {! [bytecompile_file $file [pwd]]} { - fail "bytecompile $file" - # FIXME - should use `untested' on all remaining tests. - # But that is hard. - return 0 - } - pass "bytecompile $file" +# if {! [bytecompile_file $file [pwd]]} { +# fail "bytecompile $file" +# # FIXME - should use `untested' on all remaining tests. +# # But that is hard. +# return 0 +# } +# pass "bytecompile $file" set cfile [file rootname $file].c # Darwin needs -liconv linked, otherwise we get some unresolved. @@ -281,10 +289,14 @@ proc gcj_jni_invocation_test_one {file} { set resultfile [file rootname $file].out + set env(CLASSPATH) $file + verbose "CLASSPATH = $env(CLASSPATH)" if {! [gcj_invoke $main $resultfile ""]} { + unset env(CLASSPATH) # FIXME return 0 } + unset env(CLASSPATH) # We purposely ignore errors here; we still want to run the other # appropriate tests. @@ -304,14 +316,14 @@ proc gcj_jni_run {} { # For now we only test JNI on native builds. if {$build_triplet == $host_triplet} { - catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles + catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.jar] } srcfiles foreach x $srcfiles { gcj_jni_test_one $x } # Run JNI invocation API tests - catch { lsort [glob -nocomplain ${srcdir}/${subdir}/invocation/*.java] } srcfiles + catch { lsort [glob -nocomplain ${srcdir}/${subdir}/invocation/*.jar] } srcfiles foreach x $srcfiles { gcj_jni_invocation_test_one $x diff --git a/libjava/testsuite/libjava.jni/jniutf.h b/libjava/testsuite/libjava.jni/jniutf.h new file mode 100644 index 00000000000..b58db2e3248 --- /dev/null +++ b/libjava/testsuite/libjava.jni/jniutf.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __jniutf__ +#define __jniutf__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_jniutf_printString (JNIEnv *env, jobject, jstring); + +#ifdef __cplusplus +} +#endif + +#endif /* __jniutf__ */ diff --git a/libjava/testsuite/libjava.jni/jniutf.jar b/libjava/testsuite/libjava.jni/jniutf.jar new file mode 100644 index 00000000000..764808c4f17 Binary files /dev/null and b/libjava/testsuite/libjava.jni/jniutf.jar differ diff --git a/libjava/testsuite/libjava.jni/martin.h b/libjava/testsuite/libjava.jni/martin.h new file mode 100644 index 00000000000..73b6a062e14 --- /dev/null +++ b/libjava/testsuite/libjava.jni/martin.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __martin__ +#define __martin__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_martin_myNative (JNIEnv *env, jobject, jstring); + +#ifdef __cplusplus +} +#endif + +#endif /* __martin__ */ diff --git a/libjava/testsuite/libjava.jni/martin.jar b/libjava/testsuite/libjava.jni/martin.jar new file mode 100644 index 00000000000..a0293a75f75 Binary files /dev/null and b/libjava/testsuite/libjava.jni/martin.jar differ diff --git a/libjava/testsuite/libjava.jni/noclass.h b/libjava/testsuite/libjava.jni/noclass.h new file mode 100644 index 00000000000..67869a91675 --- /dev/null +++ b/libjava/testsuite/libjava.jni/noclass.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __noclass__ +#define __noclass__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_noclass_find_1it (JNIEnv *env, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __noclass__ */ diff --git a/libjava/testsuite/libjava.jni/noclass.jar b/libjava/testsuite/libjava.jni/noclass.jar new file mode 100644 index 00000000000..969aa950f33 Binary files /dev/null and b/libjava/testsuite/libjava.jni/noclass.jar differ diff --git a/libjava/testsuite/libjava.jni/overload.h b/libjava/testsuite/libjava.jni/overload.h new file mode 100644 index 00000000000..7b717cd0975 --- /dev/null +++ b/libjava/testsuite/libjava.jni/overload.h @@ -0,0 +1,20 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __overload__ +#define __overload__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jint JNICALL Java_overload_over__I (JNIEnv *env, jclass, jint); +JNIEXPORT jint JNICALL Java_overload_over__II (JNIEnv *env, jclass, jint, jint); + +#ifdef __cplusplus +} +#endif + +#endif /* __overload__ */ diff --git a/libjava/testsuite/libjava.jni/overload.jar b/libjava/testsuite/libjava.jni/overload.jar new file mode 100644 index 00000000000..430d3d665f2 Binary files /dev/null and b/libjava/testsuite/libjava.jni/overload.jar differ diff --git a/libjava/testsuite/libjava.jni/pr11951.h b/libjava/testsuite/libjava.jni/pr11951.h new file mode 100644 index 00000000000..caeefdb85fc --- /dev/null +++ b/libjava/testsuite/libjava.jni/pr11951.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __pr11951__ +#define __pr11951__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_pr11951_nmethod (JNIEnv *env, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __pr11951__ */ diff --git a/libjava/testsuite/libjava.jni/pr11951.jar b/libjava/testsuite/libjava.jni/pr11951.jar new file mode 100644 index 00000000000..adea29fe77c Binary files /dev/null and b/libjava/testsuite/libjava.jni/pr11951.jar differ diff --git a/libjava/testsuite/libjava.jni/pr18278.h b/libjava/testsuite/libjava.jni/pr18278.h new file mode 100644 index 00000000000..4003fef37df --- /dev/null +++ b/libjava/testsuite/libjava.jni/pr18278.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __pr18278__ +#define __pr18278__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jobject JNICALL Java_pr18278_weakRef (JNIEnv *env, jclass, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __pr18278__ */ diff --git a/libjava/testsuite/libjava.jni/pr18278.jar b/libjava/testsuite/libjava.jni/pr18278.jar new file mode 100644 index 00000000000..c1bf1489a5b Binary files /dev/null and b/libjava/testsuite/libjava.jni/pr18278.jar differ diff --git a/libjava/testsuite/libjava.jni/pr23739.h b/libjava/testsuite/libjava.jni/pr23739.h new file mode 100644 index 00000000000..70f228c8c0e --- /dev/null +++ b/libjava/testsuite/libjava.jni/pr23739.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __pr23739__ +#define __pr23739__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_pr23739_checkOrder (JNIEnv *env, jclass, jclass, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __pr23739__ */ diff --git a/libjava/testsuite/libjava.jni/pr23739.jar b/libjava/testsuite/libjava.jni/pr23739.jar new file mode 100644 index 00000000000..d8370461b55 Binary files /dev/null and b/libjava/testsuite/libjava.jni/pr23739.jar differ diff --git a/libjava/testsuite/libjava.jni/register.h b/libjava/testsuite/libjava.jni/register.h new file mode 100644 index 00000000000..85b606be8cb --- /dev/null +++ b/libjava/testsuite/libjava.jni/register.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __register__ +#define __register__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jint JNICALL Java_register_doit (JNIEnv *env, jclass, jint); + +#ifdef __cplusplus +} +#endif + +#endif /* __register__ */ diff --git a/libjava/testsuite/libjava.jni/register.jar b/libjava/testsuite/libjava.jni/register.jar new file mode 100644 index 00000000000..e8682e1a031 Binary files /dev/null and b/libjava/testsuite/libjava.jni/register.jar differ diff --git a/libjava/testsuite/libjava.jni/register2.c b/libjava/testsuite/libjava.jni/register2.c index 1ed10a88a23..318e4d8f408 100644 --- a/libjava/testsuite/libjava.jni/register2.c +++ b/libjava/testsuite/libjava.jni/register2.c @@ -1,6 +1,6 @@ #include #include -#include +#include static int twentythree (JNIEnv *env, jclass k) diff --git a/libjava/testsuite/libjava.jni/register2.jar b/libjava/testsuite/libjava.jni/register2.jar new file mode 100644 index 00000000000..807524cdc8b Binary files /dev/null and b/libjava/testsuite/libjava.jni/register2.jar differ diff --git a/libjava/testsuite/libjava.jni/simple_int.h b/libjava/testsuite/libjava.jni/simple_int.h new file mode 100644 index 00000000000..b0b9b579a8e --- /dev/null +++ b/libjava/testsuite/libjava.jni/simple_int.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __simple_1int__ +#define __simple_1int__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jint JNICALL Java_simple_1int_nat (JNIEnv *env, jclass, jint); + +#ifdef __cplusplus +} +#endif + +#endif /* __simple_1int__ */ diff --git a/libjava/testsuite/libjava.jni/simple_int.jar b/libjava/testsuite/libjava.jni/simple_int.jar new file mode 100644 index 00000000000..1f0bdc67ce0 Binary files /dev/null and b/libjava/testsuite/libjava.jni/simple_int.jar differ diff --git a/libjava/testsuite/libjava.jni/throwit.h b/libjava/testsuite/libjava.jni/throwit.h new file mode 100644 index 00000000000..97c7223f7d0 --- /dev/null +++ b/libjava/testsuite/libjava.jni/throwit.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __throwit__ +#define __throwit__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT void JNICALL Java_throwit_throwit (JNIEnv *env, jclass, jstring, jboolean); + +#ifdef __cplusplus +} +#endif + +#endif /* __throwit__ */ diff --git a/libjava/testsuite/libjava.jni/throwit.jar b/libjava/testsuite/libjava.jni/throwit.jar new file mode 100644 index 00000000000..9fc43b9d871 Binary files /dev/null and b/libjava/testsuite/libjava.jni/throwit.jar differ diff --git a/libjava/testsuite/libjava.jni/virtual.h b/libjava/testsuite/libjava.jni/virtual.h new file mode 100644 index 00000000000..7d9ef8246e5 --- /dev/null +++ b/libjava/testsuite/libjava.jni/virtual.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#include + +#ifndef __virtual__ +#define __virtual__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jboolean JNICALL Java_virtual_equals (JNIEnv *env, jobject, jobject); + +#ifdef __cplusplus +} +#endif + +#endif /* __virtual__ */ diff --git a/libjava/testsuite/libjava.jni/virtual.jar b/libjava/testsuite/libjava.jni/virtual.jar new file mode 100644 index 00000000000..dd4090b9b30 Binary files /dev/null and b/libjava/testsuite/libjava.jni/virtual.jar differ diff --git a/libjava/testsuite/libjava.jvmti/events.h b/libjava/testsuite/libjava.jvmti/events.h new file mode 100644 index 00000000000..2f81b63fead --- /dev/null +++ b/libjava/testsuite/libjava.jvmti/events.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __events__ +#define __events__ + +#pragma interface + +#include +#include + +extern "Java" +{ + class events; +} + +class events : public ::java::lang::Object +{ + +public: + events(); + static void do_events_tests(); + static void main(JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __events__ diff --git a/libjava/testsuite/libjava.jvmti/events.jar b/libjava/testsuite/libjava.jvmti/events.jar new file mode 100644 index 00000000000..121df823819 Binary files /dev/null and b/libjava/testsuite/libjava.jvmti/events.jar differ diff --git a/libjava/testsuite/libjava.jvmti/geterrorname.h b/libjava/testsuite/libjava.jvmti/geterrorname.h new file mode 100644 index 00000000000..957e1c23b2e --- /dev/null +++ b/libjava/testsuite/libjava.jvmti/geterrorname.h @@ -0,0 +1,27 @@ + +// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- + +#ifndef __geterrorname__ +#define __geterrorname__ + +#pragma interface + +#include +#include + +extern "Java" +{ + class geterrorname; +} + +class geterrorname : public ::java::lang::Object +{ + +public: + geterrorname(); + static void do_errorname_tests(); + static void main(JArray< ::java::lang::String * > *); + static ::java::lang::Class class$; +}; + +#endif // __geterrorname__ diff --git a/libjava/testsuite/libjava.jvmti/geterrorname.jar b/libjava/testsuite/libjava.jvmti/geterrorname.jar new file mode 100644 index 00000000000..a0c5ae0525d Binary files /dev/null and b/libjava/testsuite/libjava.jvmti/geterrorname.jar differ diff --git a/libjava/testsuite/libjava.jvmti/jvmti.exp b/libjava/testsuite/libjava.jvmti/jvmti.exp index 18be872741b..c69fd2bc0f0 100644 --- a/libjava/testsuite/libjava.jvmti/jvmti.exp +++ b/libjava/testsuite/libjava.jvmti/jvmti.exp @@ -31,27 +31,23 @@ proc gcj_jvmti_compile_cxx_to_o {file {options {}}} { # Build header files given name of .java file. Return 0 on failure. proc gcj_jvmti_build_headers {file} { + global libgcj_jar + set gcjh [find_gcjh] - set jvscan [find_jvscan] - set class_out [string trim \ - [libjava_prune_warnings \ - [lindex [local_exec "$jvscan --encoding=UTF-8 $file --list-class" "" "" 300] 1]]] - if {[string match "*parse error*" $class_out]} { + # Currently we only build a header file for the main class from the + # .java file. If we need more than this, we'll have to figure + # something out. + set file [file rootname [file tail $file]] + + set x [string trim [libjava_prune_warnings \ + [lindex [local_exec "$gcjh -cni -force -classpath .:$libgcj_jar $file" "" "" 300] 1]]] + if {$x != ""} { + verbose "local_exec failed: $x" 2 fail "$file header generation" return 0 } - foreach file [split $class_out] { - set x [string trim [libjava_prune_warnings \ - [lindex [local_exec "$gcjh $file" "" "" 300] 1]]] - if {$x != ""} { - verbose "local_exec failed: $x" 2 - fail "$file header generation" - return 0 - } - } - pass "$file header generation" return 1 } @@ -67,18 +63,18 @@ proc gcj_jvmti_test_one {file} { return 1 } - if {! [bytecompile_file $file [pwd]]} { - fail "bytecompile $file" - # FIXME - should use `untested' on all remaining tests. - # But that is hard. - return 0 - } - pass "bytecompile $file" +# if {! [bytecompile_file $file [pwd]]} { +# fail "bytecompile $file" +# # FIXME - should use `untested' on all remaining tests. +# # But that is hard. +# return 0 +# } +# pass "bytecompile $file" - if {! [gcj_jvmti_build_headers $file]} { - # FIXME - return 0 - } +# if {! [gcj_jvmti_build_headers $file]} { +# # FIXME +# return 0 +# } set cfile [file join [file dirname $file] nat$main.cc] if {! [gcj_jvmti_compile_cxx_to_o $cfile]} { @@ -109,7 +105,7 @@ proc gcj_jvmti_run {} { # For now we only test JVMTI on native builds. if {$build_triplet == $host_triplet} { - catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles + catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.jar] } srcfiles foreach x $srcfiles { gcj_jvmti_test_one $x diff --git a/libjava/testsuite/libjava.lang/ArrayStore.jar b/libjava/testsuite/libjava.lang/ArrayStore.jar new file mode 100644 index 00000000000..7c10d12128e Binary files /dev/null and b/libjava/testsuite/libjava.lang/ArrayStore.jar differ diff --git a/libjava/testsuite/libjava.lang/ArrayStore2.jar b/libjava/testsuite/libjava.lang/ArrayStore2.jar new file mode 100644 index 00000000000..833a2326489 Binary files /dev/null and b/libjava/testsuite/libjava.lang/ArrayStore2.jar differ diff --git a/libjava/testsuite/libjava.lang/ArrayStore2.xfail b/libjava/testsuite/libjava.lang/ArrayStore2.xfail deleted file mode 100644 index e4c7ce34df9..00000000000 --- a/libjava/testsuite/libjava.lang/ArrayStore2.xfail +++ /dev/null @@ -1 +0,0 @@ -xfail-source-output diff --git a/libjava/testsuite/libjava.lang/Array_1.jar b/libjava/testsuite/libjava.lang/Array_1.jar new file mode 100644 index 00000000000..c97b13ae09e Binary files /dev/null and b/libjava/testsuite/libjava.lang/Array_1.jar differ diff --git a/libjava/testsuite/libjava.lang/Array_2.jar b/libjava/testsuite/libjava.lang/Array_2.jar new file mode 100644 index 00000000000..8713ba7fcde Binary files /dev/null and b/libjava/testsuite/libjava.lang/Array_2.jar differ diff --git a/libjava/testsuite/libjava.lang/Array_3.jar b/libjava/testsuite/libjava.lang/Array_3.jar new file mode 100644 index 00000000000..c907e652975 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Array_3.jar differ diff --git a/libjava/testsuite/libjava.lang/Class_1.jar b/libjava/testsuite/libjava.lang/Class_1.jar new file mode 100644 index 00000000000..675609425f9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Class_1.jar differ diff --git a/libjava/testsuite/libjava.lang/CompareNaN.jar b/libjava/testsuite/libjava.lang/CompareNaN.jar new file mode 100644 index 00000000000..c6b8db44d2f Binary files /dev/null and b/libjava/testsuite/libjava.lang/CompareNaN.jar differ diff --git a/libjava/testsuite/libjava.lang/Divide_1.jar b/libjava/testsuite/libjava.lang/Divide_1.jar new file mode 100644 index 00000000000..4add13c21e4 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Divide_1.jar differ diff --git a/libjava/testsuite/libjava.lang/EvaluationOrder.jar b/libjava/testsuite/libjava.lang/EvaluationOrder.jar new file mode 100644 index 00000000000..f122c7223ce Binary files /dev/null and b/libjava/testsuite/libjava.lang/EvaluationOrder.jar differ diff --git a/libjava/testsuite/libjava.lang/ExtraClassLoader.jar b/libjava/testsuite/libjava.lang/ExtraClassLoader.jar new file mode 100644 index 00000000000..0230f87cade Binary files /dev/null and b/libjava/testsuite/libjava.lang/ExtraClassLoader.jar differ diff --git a/libjava/testsuite/libjava.lang/FileHandleGcTest.jar b/libjava/testsuite/libjava.lang/FileHandleGcTest.jar new file mode 100644 index 00000000000..b3fc4bd3ce7 Binary files /dev/null and b/libjava/testsuite/libjava.lang/FileHandleGcTest.jar differ diff --git a/libjava/testsuite/libjava.lang/Final.jar b/libjava/testsuite/libjava.lang/Final.jar new file mode 100644 index 00000000000..5c64878e3d9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Final.jar differ diff --git a/libjava/testsuite/libjava.lang/Float_1.jar b/libjava/testsuite/libjava.lang/Float_1.jar new file mode 100644 index 00000000000..20a6ff00d0d Binary files /dev/null and b/libjava/testsuite/libjava.lang/Float_1.jar differ diff --git a/libjava/testsuite/libjava.lang/Float_2.jar b/libjava/testsuite/libjava.lang/Float_2.jar new file mode 100644 index 00000000000..e3ee4133593 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Float_2.jar differ diff --git a/libjava/testsuite/libjava.lang/G19990301_01.jar b/libjava/testsuite/libjava.lang/G19990301_01.jar new file mode 100644 index 00000000000..fd33638c1e1 Binary files /dev/null and b/libjava/testsuite/libjava.lang/G19990301_01.jar differ diff --git a/libjava/testsuite/libjava.lang/G19990302_02.jar b/libjava/testsuite/libjava.lang/G19990302_02.jar new file mode 100644 index 00000000000..bc4f2692a44 Binary files /dev/null and b/libjava/testsuite/libjava.lang/G19990302_02.jar differ diff --git a/libjava/testsuite/libjava.lang/G19990303_01.jar b/libjava/testsuite/libjava.lang/G19990303_01.jar new file mode 100644 index 00000000000..b3e19410316 Binary files /dev/null and b/libjava/testsuite/libjava.lang/G19990303_01.jar differ diff --git a/libjava/testsuite/libjava.lang/G19990303_02.jar b/libjava/testsuite/libjava.lang/G19990303_02.jar new file mode 100644 index 00000000000..e5ef15c3c33 Binary files /dev/null and b/libjava/testsuite/libjava.lang/G19990303_02.jar differ diff --git a/libjava/testsuite/libjava.lang/G19990304_01.jar b/libjava/testsuite/libjava.lang/G19990304_01.jar new file mode 100644 index 00000000000..1cf234a851e Binary files /dev/null and b/libjava/testsuite/libjava.lang/G19990304_01.jar differ diff --git a/libjava/testsuite/libjava.lang/G19990310_01.jar b/libjava/testsuite/libjava.lang/G19990310_01.jar new file mode 100644 index 00000000000..e689e43b11f Binary files /dev/null and b/libjava/testsuite/libjava.lang/G19990310_01.jar differ diff --git a/libjava/testsuite/libjava.lang/II.jar b/libjava/testsuite/libjava.lang/II.jar new file mode 100644 index 00000000000..22d15cd4ec9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/II.jar differ diff --git a/libjava/testsuite/libjava.lang/InterfaceDispatch.jar b/libjava/testsuite/libjava.lang/InterfaceDispatch.jar new file mode 100644 index 00000000000..1f87ec30c4e Binary files /dev/null and b/libjava/testsuite/libjava.lang/InterfaceDispatch.jar differ diff --git a/libjava/testsuite/libjava.lang/InvokeInterface.jar b/libjava/testsuite/libjava.lang/InvokeInterface.jar new file mode 100644 index 00000000000..55a923a6821 Binary files /dev/null and b/libjava/testsuite/libjava.lang/InvokeInterface.jar differ diff --git a/libjava/testsuite/libjava.lang/InvokeReturn.jar b/libjava/testsuite/libjava.lang/InvokeReturn.jar new file mode 100644 index 00000000000..a64e0d58717 Binary files /dev/null and b/libjava/testsuite/libjava.lang/InvokeReturn.jar differ diff --git a/libjava/testsuite/libjava.lang/Invoke_1.jar b/libjava/testsuite/libjava.lang/Invoke_1.jar new file mode 100644 index 00000000000..6d43ecbba2b Binary files /dev/null and b/libjava/testsuite/libjava.lang/Invoke_1.jar differ diff --git a/libjava/testsuite/libjava.lang/Invoke_2.jar b/libjava/testsuite/libjava.lang/Invoke_2.jar new file mode 100644 index 00000000000..ac8882cabf9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Invoke_2.jar differ diff --git a/libjava/testsuite/libjava.lang/KeepInline.jar b/libjava/testsuite/libjava.lang/KeepInline.jar new file mode 100644 index 00000000000..754becf5f97 Binary files /dev/null and b/libjava/testsuite/libjava.lang/KeepInline.jar differ diff --git a/libjava/testsuite/libjava.lang/LargeFile.jar b/libjava/testsuite/libjava.lang/LargeFile.jar new file mode 100644 index 00000000000..245fa484f8a Binary files /dev/null and b/libjava/testsuite/libjava.lang/LargeFile.jar differ diff --git a/libjava/testsuite/libjava.lang/MathBuiltin.jar b/libjava/testsuite/libjava.lang/MathBuiltin.jar new file mode 100644 index 00000000000..4cefc678b12 Binary files /dev/null and b/libjava/testsuite/libjava.lang/MathBuiltin.jar differ diff --git a/libjava/testsuite/libjava.lang/Matrix4f.jar b/libjava/testsuite/libjava.lang/Matrix4f.jar new file mode 100644 index 00000000000..eaa7241e779 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Matrix4f.jar differ diff --git a/libjava/testsuite/libjava.lang/N19990310_02.jar b/libjava/testsuite/libjava.lang/N19990310_02.jar new file mode 100644 index 00000000000..49e97e4206e Binary files /dev/null and b/libjava/testsuite/libjava.lang/N19990310_02.jar differ diff --git a/libjava/testsuite/libjava.lang/N19990310_3.jar b/libjava/testsuite/libjava.lang/N19990310_3.jar new file mode 100644 index 00000000000..a096693aa12 Binary files /dev/null and b/libjava/testsuite/libjava.lang/N19990310_3.jar differ diff --git a/libjava/testsuite/libjava.lang/N19990310_4.jar b/libjava/testsuite/libjava.lang/N19990310_4.jar new file mode 100644 index 00000000000..b21f474529c Binary files /dev/null and b/libjava/testsuite/libjava.lang/N19990310_4.jar differ diff --git a/libjava/testsuite/libjava.lang/N19990310_5.jar b/libjava/testsuite/libjava.lang/N19990310_5.jar new file mode 100644 index 00000000000..d944000c882 Binary files /dev/null and b/libjava/testsuite/libjava.lang/N19990310_5.jar differ diff --git a/libjava/testsuite/libjava.lang/Overflow.jar b/libjava/testsuite/libjava.lang/Overflow.jar new file mode 100644 index 00000000000..4bfda6b7cfb Binary files /dev/null and b/libjava/testsuite/libjava.lang/Overflow.jar differ diff --git a/libjava/testsuite/libjava.lang/PR12350.jar b/libjava/testsuite/libjava.lang/PR12350.jar new file mode 100644 index 00000000000..8d655c2b1c0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR12350.jar differ diff --git a/libjava/testsuite/libjava.lang/PR12416.jar b/libjava/testsuite/libjava.lang/PR12416.jar new file mode 100644 index 00000000000..823500854fb Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR12416.jar differ diff --git a/libjava/testsuite/libjava.lang/PR12656.jar b/libjava/testsuite/libjava.lang/PR12656.jar new file mode 100644 index 00000000000..c54e92d7885 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR12656.jar differ diff --git a/libjava/testsuite/libjava.lang/PR12915.jar b/libjava/testsuite/libjava.lang/PR12915.jar new file mode 100644 index 00000000000..29ce9c05f68 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR12915.jar differ diff --git a/libjava/testsuite/libjava.lang/PR141.jar b/libjava/testsuite/libjava.lang/PR141.jar new file mode 100644 index 00000000000..c7b96294507 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR141.jar differ diff --git a/libjava/testsuite/libjava.lang/PR160.jar b/libjava/testsuite/libjava.lang/PR160.jar new file mode 100644 index 00000000000..f1fed747e06 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR160.jar differ diff --git a/libjava/testsuite/libjava.lang/PR162.jar b/libjava/testsuite/libjava.lang/PR162.jar new file mode 100644 index 00000000000..69acecc9d18 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR162.jar differ diff --git a/libjava/testsuite/libjava.lang/PR16867.jar b/libjava/testsuite/libjava.lang/PR16867.jar new file mode 100644 index 00000000000..a1c46c4e760 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR16867.jar differ diff --git a/libjava/testsuite/libjava.lang/PR18699.jar b/libjava/testsuite/libjava.lang/PR18699.jar new file mode 100644 index 00000000000..c16dc755b1a Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR18699.jar differ diff --git a/libjava/testsuite/libjava.lang/PR19870.jar b/libjava/testsuite/libjava.lang/PR19870.jar new file mode 100644 index 00000000000..13255d8a418 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR19870.jar differ diff --git a/libjava/testsuite/libjava.lang/PR19870_2.jar b/libjava/testsuite/libjava.lang/PR19870_2.jar new file mode 100644 index 00000000000..05daaf98ea0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR19870_2.jar differ diff --git a/libjava/testsuite/libjava.lang/PR19921.jar b/libjava/testsuite/libjava.lang/PR19921.jar new file mode 100644 index 00000000000..515f3bf6fd2 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR19921.jar differ diff --git a/libjava/testsuite/libjava.lang/PR20056.jar b/libjava/testsuite/libjava.lang/PR20056.jar new file mode 100644 index 00000000000..2bd6d54e5bb Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR20056.jar differ diff --git a/libjava/testsuite/libjava.lang/PR218.jar b/libjava/testsuite/libjava.lang/PR218.jar new file mode 100644 index 00000000000..76474040900 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR218.jar differ diff --git a/libjava/testsuite/libjava.lang/PR242.jar b/libjava/testsuite/libjava.lang/PR242.jar new file mode 100644 index 00000000000..41b7fe13707 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR242.jar differ diff --git a/libjava/testsuite/libjava.lang/PR25535.jar b/libjava/testsuite/libjava.lang/PR25535.jar new file mode 100644 index 00000000000..924c256a6d8 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR25535.jar differ diff --git a/libjava/testsuite/libjava.lang/PR260.jar b/libjava/testsuite/libjava.lang/PR260.jar new file mode 100644 index 00000000000..a0ca13254c0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR260.jar differ diff --git a/libjava/testsuite/libjava.lang/PR260.out b/libjava/testsuite/libjava.lang/PR260.out index cba223424e6..e69de29bb2d 100644 --- a/libjava/testsuite/libjava.lang/PR260.out +++ b/libjava/testsuite/libjava.lang/PR260.out @@ -1 +0,0 @@ -A initialized diff --git a/libjava/testsuite/libjava.lang/PR26858.jar b/libjava/testsuite/libjava.lang/PR26858.jar new file mode 100644 index 00000000000..c9b3abbe5a1 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR26858.jar differ diff --git a/libjava/testsuite/libjava.lang/PR27908.jar b/libjava/testsuite/libjava.lang/PR27908.jar new file mode 100644 index 00000000000..e2804073642 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR27908.jar differ diff --git a/libjava/testsuite/libjava.lang/PR29013.jar b/libjava/testsuite/libjava.lang/PR29013.jar new file mode 100644 index 00000000000..198ac6e2ee8 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR29013.jar differ diff --git a/libjava/testsuite/libjava.lang/PR29495.jar b/libjava/testsuite/libjava.lang/PR29495.jar new file mode 100644 index 00000000000..6e03871c637 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR29495.jar differ diff --git a/libjava/testsuite/libjava.lang/PR29495.java b/libjava/testsuite/libjava.lang/PR29495.java new file mode 100644 index 00000000000..7df00e80d9d --- /dev/null +++ b/libjava/testsuite/libjava.lang/PR29495.java @@ -0,0 +1,56 @@ +// Test various reflection methods. + +import java.lang.annotation.Inherited; +import java.lang.reflect.Method; +import java.lang.reflect.Field; + +public class PR29495 +{ + public class container + { + // This class has a synthetic field... + + public T get(T v) { return v; } + } + + public class concrete extends container + { + // This makes us have a synthetic bridge method. + public String get(String v) { return "hi" + v; } + } + + // varargs method + public static void va(Object... args) + { + } + + public static void check(boolean x, String m) + { + if (! x) + System.out.println("fail: " + m); + } + + public static void main(String[] args) throws Throwable + { + check (Inherited.class.isAnnotation(), "Inherited isAnnotation"); + + Method m = PR29495.class.getDeclaredMethod("va", new Class[] { Object[].class }); + check (m.isVarArgs(), "va isVarArgs"); + + m = concrete.class.getDeclaredMethod("get", new Class[] { Object.class }); + check (m.isSynthetic(), "get isSynthetic"); + check (m.isBridge(), "get isBridge"); + + Field[] fs = container.class.getDeclaredFields(); + boolean ok = false; + for (int i = 0; i < fs.length; ++i) + { + if (fs[i].isSynthetic()) + { + ok = true; + break; + } + } + check (ok, "container has synthetic field"); + } +} diff --git a/libjava/testsuite/libjava.lang/PR29495.out b/libjava/testsuite/libjava.lang/PR29495.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/libjava/testsuite/libjava.lang/PR3096.jar b/libjava/testsuite/libjava.lang/PR3096.jar new file mode 100644 index 00000000000..4ed8f4ab6af Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR3096.jar differ diff --git a/libjava/testsuite/libjava.lang/PR3731.jar b/libjava/testsuite/libjava.lang/PR3731.jar new file mode 100644 index 00000000000..7473cb4bd84 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR3731.jar differ diff --git a/libjava/testsuite/libjava.lang/PR5057.jar b/libjava/testsuite/libjava.lang/PR5057.jar new file mode 100644 index 00000000000..ac7ac957017 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR5057.jar differ diff --git a/libjava/testsuite/libjava.lang/PR5057_2.jar b/libjava/testsuite/libjava.lang/PR5057_2.jar new file mode 100644 index 00000000000..b0accb7473d Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR5057_2.jar differ diff --git a/libjava/testsuite/libjava.lang/PR55.jar b/libjava/testsuite/libjava.lang/PR55.jar new file mode 100644 index 00000000000..a5cb7d61ead Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR55.jar differ diff --git a/libjava/testsuite/libjava.lang/PR56.jar b/libjava/testsuite/libjava.lang/PR56.jar new file mode 100644 index 00000000000..20f87b596ba Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR56.jar differ diff --git a/libjava/testsuite/libjava.lang/PR6085.jar b/libjava/testsuite/libjava.lang/PR6085.jar new file mode 100644 index 00000000000..ec7066085c7 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR6085.jar differ diff --git a/libjava/testsuite/libjava.lang/PR6204.jar b/libjava/testsuite/libjava.lang/PR6204.jar new file mode 100644 index 00000000000..704de3a0630 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR6204.jar differ diff --git a/libjava/testsuite/libjava.lang/PR6520.jar b/libjava/testsuite/libjava.lang/PR6520.jar new file mode 100644 index 00000000000..441d1ea50c1 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR6520.jar differ diff --git a/libjava/testsuite/libjava.lang/PR6729.jar b/libjava/testsuite/libjava.lang/PR6729.jar new file mode 100644 index 00000000000..7e63700af5d Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR6729.jar differ diff --git a/libjava/testsuite/libjava.lang/PR6820.jar b/libjava/testsuite/libjava.lang/PR6820.jar new file mode 100644 index 00000000000..ba5d3e1f455 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR6820.jar differ diff --git a/libjava/testsuite/libjava.lang/PR7482.jar b/libjava/testsuite/libjava.lang/PR7482.jar new file mode 100644 index 00000000000..f0352021927 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR7482.jar differ diff --git a/libjava/testsuite/libjava.lang/PR8866.jar b/libjava/testsuite/libjava.lang/PR8866.jar new file mode 100644 index 00000000000..2bc6d586653 Binary files /dev/null and b/libjava/testsuite/libjava.lang/PR8866.jar differ diff --git a/libjava/testsuite/libjava.lang/Process_1.jar b/libjava/testsuite/libjava.lang/Process_1.jar new file mode 100644 index 00000000000..8499991d747 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Process_1.jar differ diff --git a/libjava/testsuite/libjava.lang/Process_2.jar b/libjava/testsuite/libjava.lang/Process_2.jar new file mode 100644 index 00000000000..2b26bff2dc9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Process_2.jar differ diff --git a/libjava/testsuite/libjava.lang/Process_3.jar b/libjava/testsuite/libjava.lang/Process_3.jar new file mode 100644 index 00000000000..620a644e705 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Process_3.jar differ diff --git a/libjava/testsuite/libjava.lang/Process_4.jar b/libjava/testsuite/libjava.lang/Process_4.jar new file mode 100644 index 00000000000..2014ad0403f Binary files /dev/null and b/libjava/testsuite/libjava.lang/Process_4.jar differ diff --git a/libjava/testsuite/libjava.lang/Process_5.jar b/libjava/testsuite/libjava.lang/Process_5.jar new file mode 100644 index 00000000000..1046430ddca Binary files /dev/null and b/libjava/testsuite/libjava.lang/Process_5.jar differ diff --git a/libjava/testsuite/libjava.lang/Process_6.jar b/libjava/testsuite/libjava.lang/Process_6.jar new file mode 100644 index 00000000000..a1a35005dfc Binary files /dev/null and b/libjava/testsuite/libjava.lang/Process_6.jar differ diff --git a/libjava/testsuite/libjava.lang/RH194522.jar b/libjava/testsuite/libjava.lang/RH194522.jar new file mode 100644 index 00000000000..a7c75a24690 Binary files /dev/null and b/libjava/testsuite/libjava.lang/RH194522.jar differ diff --git a/libjava/testsuite/libjava.lang/Serialization.jar b/libjava/testsuite/libjava.lang/Serialization.jar new file mode 100644 index 00000000000..376cb6b46e0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Serialization.jar differ diff --git a/libjava/testsuite/libjava.lang/Shazam.jar b/libjava/testsuite/libjava.lang/Shazam.jar new file mode 100644 index 00000000000..b3257f6f82c Binary files /dev/null and b/libjava/testsuite/libjava.lang/Shazam.jar differ diff --git a/libjava/testsuite/libjava.lang/StackTrace2.jar b/libjava/testsuite/libjava.lang/StackTrace2.jar new file mode 100644 index 00000000000..fc289f1da79 Binary files /dev/null and b/libjava/testsuite/libjava.lang/StackTrace2.jar differ diff --git a/libjava/testsuite/libjava.lang/StaticConstructor.jar b/libjava/testsuite/libjava.lang/StaticConstructor.jar new file mode 100644 index 00000000000..0f4ff4c79b6 Binary files /dev/null and b/libjava/testsuite/libjava.lang/StaticConstructor.jar differ diff --git a/libjava/testsuite/libjava.lang/StringBuffer_1.jar b/libjava/testsuite/libjava.lang/StringBuffer_1.jar new file mode 100644 index 00000000000..fd406afbccf Binary files /dev/null and b/libjava/testsuite/libjava.lang/StringBuffer_1.jar differ diff --git a/libjava/testsuite/libjava.lang/StringBuffer_overflow.jar b/libjava/testsuite/libjava.lang/StringBuffer_overflow.jar new file mode 100644 index 00000000000..be8b655ea6a Binary files /dev/null and b/libjava/testsuite/libjava.lang/StringBuffer_overflow.jar differ diff --git a/libjava/testsuite/libjava.lang/String_overflow.jar b/libjava/testsuite/libjava.lang/String_overflow.jar new file mode 100644 index 00000000000..1400db820dd Binary files /dev/null and b/libjava/testsuite/libjava.lang/String_overflow.jar differ diff --git a/libjava/testsuite/libjava.lang/SyncGlobal.jar b/libjava/testsuite/libjava.lang/SyncGlobal.jar new file mode 100644 index 00000000000..54589c286d6 Binary files /dev/null and b/libjava/testsuite/libjava.lang/SyncGlobal.jar differ diff --git a/libjava/testsuite/libjava.lang/SyncTest.jar b/libjava/testsuite/libjava.lang/SyncTest.jar new file mode 100644 index 00000000000..3f30e7a0f64 Binary files /dev/null and b/libjava/testsuite/libjava.lang/SyncTest.jar differ diff --git a/libjava/testsuite/libjava.lang/Synch.jar b/libjava/testsuite/libjava.lang/Synch.jar new file mode 100644 index 00000000000..10b758009ff Binary files /dev/null and b/libjava/testsuite/libjava.lang/Synch.jar differ diff --git a/libjava/testsuite/libjava.lang/TLtest.jar b/libjava/testsuite/libjava.lang/TLtest.jar new file mode 100644 index 00000000000..de4ed66d9c1 Binary files /dev/null and b/libjava/testsuite/libjava.lang/TLtest.jar differ diff --git a/libjava/testsuite/libjava.lang/TestProxy.jar b/libjava/testsuite/libjava.lang/TestProxy.jar new file mode 100644 index 00000000000..706f086a4ab Binary files /dev/null and b/libjava/testsuite/libjava.lang/TestProxy.jar differ diff --git a/libjava/testsuite/libjava.lang/TestProxy.java b/libjava/testsuite/libjava.lang/TestProxy.java index ea2e1f04a93..08e16aa33c5 100644 --- a/libjava/testsuite/libjava.lang/TestProxy.java +++ b/libjava/testsuite/libjava.lang/TestProxy.java @@ -1,4 +1,6 @@ -import java.lang.reflect.*; +import java.lang.reflect.Proxy; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; import java.net.*; public class TestProxy diff --git a/libjava/testsuite/libjava.lang/Thread_Alive.jar b/libjava/testsuite/libjava.lang/Thread_Alive.jar new file mode 100644 index 00000000000..548b6a95fcb Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Alive.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_HoldsLock.jar b/libjava/testsuite/libjava.lang/Thread_HoldsLock.jar new file mode 100644 index 00000000000..8c094f6b7fe Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_HoldsLock.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Interrupt.jar b/libjava/testsuite/libjava.lang/Thread_Interrupt.jar new file mode 100644 index 00000000000..b52d4367399 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Interrupt.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Join.jar b/libjava/testsuite/libjava.lang/Thread_Join.jar new file mode 100644 index 00000000000..4a1d2529c62 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Join.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Monitor.jar b/libjava/testsuite/libjava.lang/Thread_Monitor.jar new file mode 100644 index 00000000000..2345c8b63cc Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Monitor.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Sleep.jar b/libjava/testsuite/libjava.lang/Thread_Sleep.jar new file mode 100644 index 00000000000..2320add2920 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Sleep.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Sleep_2.jar b/libjava/testsuite/libjava.lang/Thread_Sleep_2.jar new file mode 100644 index 00000000000..a657ed91a77 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Sleep_2.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Wait.jar b/libjava/testsuite/libjava.lang/Thread_Wait.jar new file mode 100644 index 00000000000..1ecb6a3e383 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Wait.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Wait_2.jar b/libjava/testsuite/libjava.lang/Thread_Wait_2.jar new file mode 100644 index 00000000000..b043de48aa9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Wait_2.jar differ diff --git a/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.jar b/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.jar new file mode 100644 index 00000000000..dcafc43c660 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.jar differ diff --git a/libjava/testsuite/libjava.lang/Throw_1.jar b/libjava/testsuite/libjava.lang/Throw_1.jar new file mode 100644 index 00000000000..330562d501f Binary files /dev/null and b/libjava/testsuite/libjava.lang/Throw_1.jar differ diff --git a/libjava/testsuite/libjava.lang/Throw_2.jar b/libjava/testsuite/libjava.lang/Throw_2.jar new file mode 100644 index 00000000000..6cfb11fe5e7 Binary files /dev/null and b/libjava/testsuite/libjava.lang/Throw_2.jar differ diff --git a/libjava/testsuite/libjava.lang/Throw_3.jar b/libjava/testsuite/libjava.lang/Throw_3.jar new file mode 100644 index 00000000000..0aefbe04faa Binary files /dev/null and b/libjava/testsuite/libjava.lang/Throw_3.jar differ diff --git a/libjava/testsuite/libjava.lang/anfi.jar b/libjava/testsuite/libjava.lang/anfi.jar new file mode 100644 index 00000000000..81225e4d2e5 Binary files /dev/null and b/libjava/testsuite/libjava.lang/anfi.jar differ diff --git a/libjava/testsuite/libjava.lang/anon.jar b/libjava/testsuite/libjava.lang/anon.jar new file mode 100644 index 00000000000..295e1647a6e Binary files /dev/null and b/libjava/testsuite/libjava.lang/anon.jar differ diff --git a/libjava/testsuite/libjava.lang/anon2.jar b/libjava/testsuite/libjava.lang/anon2.jar new file mode 100644 index 00000000000..3906ff54076 Binary files /dev/null and b/libjava/testsuite/libjava.lang/anon2.jar differ diff --git a/libjava/testsuite/libjava.lang/anon3.jar b/libjava/testsuite/libjava.lang/anon3.jar new file mode 100644 index 00000000000..83bce16f830 Binary files /dev/null and b/libjava/testsuite/libjava.lang/anon3.jar differ diff --git a/libjava/testsuite/libjava.lang/anon4.jar b/libjava/testsuite/libjava.lang/anon4.jar new file mode 100644 index 00000000000..5362e8d59de Binary files /dev/null and b/libjava/testsuite/libjava.lang/anon4.jar differ diff --git a/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.jar b/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.jar new file mode 100644 index 00000000000..d9c42028a9d Binary files /dev/null and b/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.jar differ diff --git a/libjava/testsuite/libjava.lang/anonarray.jar b/libjava/testsuite/libjava.lang/anonarray.jar new file mode 100644 index 00000000000..d2b2070b428 Binary files /dev/null and b/libjava/testsuite/libjava.lang/anonarray.jar differ diff --git a/libjava/testsuite/libjava.lang/anonarray2.jar b/libjava/testsuite/libjava.lang/anonarray2.jar new file mode 100644 index 00000000000..608a08174d6 Binary files /dev/null and b/libjava/testsuite/libjava.lang/anonarray2.jar differ diff --git a/libjava/testsuite/libjava.lang/anonarray3.jar b/libjava/testsuite/libjava.lang/anonarray3.jar new file mode 100644 index 00000000000..b24906fa8dc Binary files /dev/null and b/libjava/testsuite/libjava.lang/anonarray3.jar differ diff --git a/libjava/testsuite/libjava.lang/assign.jar b/libjava/testsuite/libjava.lang/assign.jar new file mode 100644 index 00000000000..1b9896c7e5c Binary files /dev/null and b/libjava/testsuite/libjava.lang/assign.jar differ diff --git a/libjava/testsuite/libjava.lang/assign2.jar b/libjava/testsuite/libjava.lang/assign2.jar new file mode 100644 index 00000000000..8f1e1164b35 Binary files /dev/null and b/libjava/testsuite/libjava.lang/assign2.jar differ diff --git a/libjava/testsuite/libjava.lang/bclink.jar b/libjava/testsuite/libjava.lang/bclink.jar new file mode 100644 index 00000000000..86709d63d2e Binary files /dev/null and b/libjava/testsuite/libjava.lang/bclink.jar differ diff --git a/libjava/testsuite/libjava.lang/bytearray.jar b/libjava/testsuite/libjava.lang/bytearray.jar new file mode 100644 index 00000000000..550ae7b85e0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/bytearray.jar differ diff --git a/libjava/testsuite/libjava.lang/direct_read.jar b/libjava/testsuite/libjava.lang/direct_read.jar new file mode 100644 index 00000000000..da334fb585c Binary files /dev/null and b/libjava/testsuite/libjava.lang/direct_read.jar differ diff --git a/libjava/testsuite/libjava.lang/direct_write.jar b/libjava/testsuite/libjava.lang/direct_write.jar new file mode 100644 index 00000000000..b3188aa645e Binary files /dev/null and b/libjava/testsuite/libjava.lang/direct_write.jar differ diff --git a/libjava/testsuite/libjava.lang/emptystring.jar b/libjava/testsuite/libjava.lang/emptystring.jar new file mode 100644 index 00000000000..6303487c29e Binary files /dev/null and b/libjava/testsuite/libjava.lang/emptystring.jar differ diff --git a/libjava/testsuite/libjava.lang/err1.jar b/libjava/testsuite/libjava.lang/err1.jar new file mode 100644 index 00000000000..11917d98b1e Binary files /dev/null and b/libjava/testsuite/libjava.lang/err1.jar differ diff --git a/libjava/testsuite/libjava.lang/err10.jar b/libjava/testsuite/libjava.lang/err10.jar new file mode 100644 index 00000000000..05d8f96fcd2 Binary files /dev/null and b/libjava/testsuite/libjava.lang/err10.jar differ diff --git a/libjava/testsuite/libjava.lang/err11.jar b/libjava/testsuite/libjava.lang/err11.jar new file mode 100644 index 00000000000..a818007ac25 Binary files /dev/null and b/libjava/testsuite/libjava.lang/err11.jar differ diff --git a/libjava/testsuite/libjava.lang/err12.jar b/libjava/testsuite/libjava.lang/err12.jar new file mode 100644 index 00000000000..ec9f19bf239 Binary files /dev/null and b/libjava/testsuite/libjava.lang/err12.jar differ diff --git a/libjava/testsuite/libjava.lang/err13.jar b/libjava/testsuite/libjava.lang/err13.jar new file mode 100644 index 00000000000..dde18306c2b Binary files /dev/null and b/libjava/testsuite/libjava.lang/err13.jar differ diff --git a/libjava/testsuite/libjava.lang/err14.jar b/libjava/testsuite/libjava.lang/err14.jar new file mode 100644 index 00000000000..f1b6785f20f Binary files /dev/null and b/libjava/testsuite/libjava.lang/err14.jar differ diff --git a/libjava/testsuite/libjava.lang/err2.jar b/libjava/testsuite/libjava.lang/err2.jar new file mode 100644 index 00000000000..d825a602da4 Binary files /dev/null and b/libjava/testsuite/libjava.lang/err2.jar differ diff --git a/libjava/testsuite/libjava.lang/err3.jar b/libjava/testsuite/libjava.lang/err3.jar new file mode 100644 index 00000000000..be1bd617a4b Binary files /dev/null and b/libjava/testsuite/libjava.lang/err3.jar differ diff --git a/libjava/testsuite/libjava.lang/err4.jar b/libjava/testsuite/libjava.lang/err4.jar new file mode 100644 index 00000000000..f1e782271ed Binary files /dev/null and b/libjava/testsuite/libjava.lang/err4.jar differ diff --git a/libjava/testsuite/libjava.lang/err5.jar b/libjava/testsuite/libjava.lang/err5.jar new file mode 100644 index 00000000000..9a573abcbb9 Binary files /dev/null and b/libjava/testsuite/libjava.lang/err5.jar differ diff --git a/libjava/testsuite/libjava.lang/err6.jar b/libjava/testsuite/libjava.lang/err6.jar new file mode 100644 index 00000000000..2a12b80e44c Binary files /dev/null and b/libjava/testsuite/libjava.lang/err6.jar differ diff --git a/libjava/testsuite/libjava.lang/err7.jar b/libjava/testsuite/libjava.lang/err7.jar new file mode 100644 index 00000000000..f349844970b Binary files /dev/null and b/libjava/testsuite/libjava.lang/err7.jar differ diff --git a/libjava/testsuite/libjava.lang/err8.jar b/libjava/testsuite/libjava.lang/err8.jar new file mode 100644 index 00000000000..5baf89b259a Binary files /dev/null and b/libjava/testsuite/libjava.lang/err8.jar differ diff --git a/libjava/testsuite/libjava.lang/err9.jar b/libjava/testsuite/libjava.lang/err9.jar new file mode 100644 index 00000000000..cb629e3f9ff Binary files /dev/null and b/libjava/testsuite/libjava.lang/err9.jar differ diff --git a/libjava/testsuite/libjava.lang/final_inner.jar b/libjava/testsuite/libjava.lang/final_inner.jar new file mode 100644 index 00000000000..0a37fd96046 Binary files /dev/null and b/libjava/testsuite/libjava.lang/final_inner.jar differ diff --git a/libjava/testsuite/libjava.lang/final_int.jar b/libjava/testsuite/libjava.lang/final_int.jar new file mode 100644 index 00000000000..43feb70e015 Binary files /dev/null and b/libjava/testsuite/libjava.lang/final_int.jar differ diff --git a/libjava/testsuite/libjava.lang/final_static_and_friend.jar b/libjava/testsuite/libjava.lang/final_static_and_friend.jar new file mode 100644 index 00000000000..ca7b2ad0ab1 Binary files /dev/null and b/libjava/testsuite/libjava.lang/final_static_and_friend.jar differ diff --git a/libjava/testsuite/libjava.lang/indirect.jar b/libjava/testsuite/libjava.lang/indirect.jar new file mode 100644 index 00000000000..bc772864ff3 Binary files /dev/null and b/libjava/testsuite/libjava.lang/indirect.jar differ diff --git a/libjava/testsuite/libjava.lang/indirect_read.jar b/libjava/testsuite/libjava.lang/indirect_read.jar new file mode 100644 index 00000000000..d0835e990ca Binary files /dev/null and b/libjava/testsuite/libjava.lang/indirect_read.jar differ diff --git a/libjava/testsuite/libjava.lang/indirect_write.jar b/libjava/testsuite/libjava.lang/indirect_write.jar new file mode 100644 index 00000000000..9393a27a536 Binary files /dev/null and b/libjava/testsuite/libjava.lang/indirect_write.jar differ diff --git a/libjava/testsuite/libjava.lang/initexc.jar b/libjava/testsuite/libjava.lang/initexc.jar new file mode 100644 index 00000000000..d43546fcb3d Binary files /dev/null and b/libjava/testsuite/libjava.lang/initexc.jar differ diff --git a/libjava/testsuite/libjava.lang/initfield.jar b/libjava/testsuite/libjava.lang/initfield.jar new file mode 100644 index 00000000000..955cb02e822 Binary files /dev/null and b/libjava/testsuite/libjava.lang/initfield.jar differ diff --git a/libjava/testsuite/libjava.lang/inline.jar b/libjava/testsuite/libjava.lang/inline.jar new file mode 100644 index 00000000000..b5c9449a863 Binary files /dev/null and b/libjava/testsuite/libjava.lang/inline.jar differ diff --git a/libjava/testsuite/libjava.lang/inner1.jar b/libjava/testsuite/libjava.lang/inner1.jar new file mode 100644 index 00000000000..382ba64eefc Binary files /dev/null and b/libjava/testsuite/libjava.lang/inner1.jar differ diff --git a/libjava/testsuite/libjava.lang/inner2.jar b/libjava/testsuite/libjava.lang/inner2.jar new file mode 100644 index 00000000000..48e917e711f Binary files /dev/null and b/libjava/testsuite/libjava.lang/inner2.jar differ diff --git a/libjava/testsuite/libjava.lang/inner3.jar b/libjava/testsuite/libjava.lang/inner3.jar new file mode 100644 index 00000000000..a128236a473 Binary files /dev/null and b/libjava/testsuite/libjava.lang/inner3.jar differ diff --git a/libjava/testsuite/libjava.lang/inner4.jar b/libjava/testsuite/libjava.lang/inner4.jar new file mode 100644 index 00000000000..cdfb0be4b91 Binary files /dev/null and b/libjava/testsuite/libjava.lang/inner4.jar differ diff --git a/libjava/testsuite/libjava.lang/inner_array.jar b/libjava/testsuite/libjava.lang/inner_array.jar new file mode 100644 index 00000000000..eddcff57708 Binary files /dev/null and b/libjava/testsuite/libjava.lang/inner_array.jar differ diff --git a/libjava/testsuite/libjava.lang/inner_interface.jar b/libjava/testsuite/libjava.lang/inner_interface.jar new file mode 100644 index 00000000000..b85f38ac02c Binary files /dev/null and b/libjava/testsuite/libjava.lang/inner_interface.jar differ diff --git a/libjava/testsuite/libjava.lang/instance.jar b/libjava/testsuite/libjava.lang/instance.jar new file mode 100644 index 00000000000..76914109743 Binary files /dev/null and b/libjava/testsuite/libjava.lang/instance.jar differ diff --git a/libjava/testsuite/libjava.lang/instinit.jar b/libjava/testsuite/libjava.lang/instinit.jar new file mode 100644 index 00000000000..93684344ef2 Binary files /dev/null and b/libjava/testsuite/libjava.lang/instinit.jar differ diff --git a/libjava/testsuite/libjava.lang/instinit2.jar b/libjava/testsuite/libjava.lang/instinit2.jar new file mode 100644 index 00000000000..7573a0dd8eb Binary files /dev/null and b/libjava/testsuite/libjava.lang/instinit2.jar differ diff --git a/libjava/testsuite/libjava.lang/invoke_from_inner.jar b/libjava/testsuite/libjava.lang/invoke_from_inner.jar new file mode 100644 index 00000000000..064e0184bf8 Binary files /dev/null and b/libjava/testsuite/libjava.lang/invoke_from_inner.jar differ diff --git a/libjava/testsuite/libjava.lang/invokethrow.jar b/libjava/testsuite/libjava.lang/invokethrow.jar new file mode 100644 index 00000000000..1344d624d9b Binary files /dev/null and b/libjava/testsuite/libjava.lang/invokethrow.jar differ diff --git a/libjava/testsuite/libjava.lang/klass.jar b/libjava/testsuite/libjava.lang/klass.jar new file mode 100644 index 00000000000..269f96daf55 Binary files /dev/null and b/libjava/testsuite/libjava.lang/klass.jar differ diff --git a/libjava/testsuite/libjava.lang/lang.exp b/libjava/testsuite/libjava.lang/lang.exp index abc36d53b1e..5e46770c40c 100644 --- a/libjava/testsuite/libjava.lang/lang.exp +++ b/libjava/testsuite/libjava.lang/lang.exp @@ -26,8 +26,8 @@ foreach x $srcfiles { verbose "inpfile is $inpfile" - test_libjava $options "${prefix}.java" "" $inpfile $resfile $args - test_libjava $options "${prefix}.java" "-O3" $inpfile $resfile $args + test_libjava $options "${prefix}.jar" "" $inpfile $resfile $args + test_libjava $options "${prefix}.jar" "-O3" $inpfile $resfile $args } # Local Variables: diff --git a/libjava/testsuite/libjava.lang/md5test.jar b/libjava/testsuite/libjava.lang/md5test.jar new file mode 100644 index 00000000000..d38891b792e Binary files /dev/null and b/libjava/testsuite/libjava.lang/md5test.jar differ diff --git a/libjava/testsuite/libjava.lang/multiple_finit.jar b/libjava/testsuite/libjava.lang/multiple_finit.jar new file mode 100644 index 00000000000..cd8152284cc Binary files /dev/null and b/libjava/testsuite/libjava.lang/multiple_finit.jar differ diff --git a/libjava/testsuite/libjava.lang/negzero.jar b/libjava/testsuite/libjava.lang/negzero.jar new file mode 100644 index 00000000000..1f23c61da92 Binary files /dev/null and b/libjava/testsuite/libjava.lang/negzero.jar differ diff --git a/libjava/testsuite/libjava.lang/nested_with_ctor.jar b/libjava/testsuite/libjava.lang/nested_with_ctor.jar new file mode 100644 index 00000000000..31c5d456b04 Binary files /dev/null and b/libjava/testsuite/libjava.lang/nested_with_ctor.jar differ diff --git a/libjava/testsuite/libjava.lang/newarray_overflow.jar b/libjava/testsuite/libjava.lang/newarray_overflow.jar new file mode 100644 index 00000000000..65413ccb0f3 Binary files /dev/null and b/libjava/testsuite/libjava.lang/newarray_overflow.jar differ diff --git a/libjava/testsuite/libjava.lang/override.jar b/libjava/testsuite/libjava.lang/override.jar new file mode 100644 index 00000000000..ab734b88c0c Binary files /dev/null and b/libjava/testsuite/libjava.lang/override.jar differ diff --git a/libjava/testsuite/libjava.lang/pr100.jar b/libjava/testsuite/libjava.lang/pr100.jar new file mode 100644 index 00000000000..a7f49216faf Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr100.jar differ diff --git a/libjava/testsuite/libjava.lang/pr109.jar b/libjava/testsuite/libjava.lang/pr109.jar new file mode 100644 index 00000000000..fbcdf264da7 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr109.jar differ diff --git a/libjava/testsuite/libjava.lang/pr13107.jar b/libjava/testsuite/libjava.lang/pr13107.jar new file mode 100644 index 00000000000..89f4779d499 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr13107.jar differ diff --git a/libjava/testsuite/libjava.lang/pr13107_2.jar b/libjava/testsuite/libjava.lang/pr13107_2.jar new file mode 100644 index 00000000000..5dad7ade977 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr13107_2.jar differ diff --git a/libjava/testsuite/libjava.lang/pr13107_3.jar b/libjava/testsuite/libjava.lang/pr13107_3.jar new file mode 100644 index 00000000000..8fe3275139b Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr13107_3.jar differ diff --git a/libjava/testsuite/libjava.lang/pr133.jar b/libjava/testsuite/libjava.lang/pr133.jar new file mode 100644 index 00000000000..f9e36ef9bae Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr133.jar differ diff --git a/libjava/testsuite/libjava.lang/pr16789.jar b/libjava/testsuite/libjava.lang/pr16789.jar new file mode 100644 index 00000000000..4c95e0417f7 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr16789.jar differ diff --git a/libjava/testsuite/libjava.lang/pr17536.jar b/libjava/testsuite/libjava.lang/pr17536.jar new file mode 100644 index 00000000000..513e4d92c4c Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr17536.jar differ diff --git a/libjava/testsuite/libjava.lang/pr179.jar b/libjava/testsuite/libjava.lang/pr179.jar new file mode 100644 index 00000000000..2eaee64e959 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr179.jar differ diff --git a/libjava/testsuite/libjava.lang/pr179.java b/libjava/testsuite/libjava.lang/pr179.java index 7124dedeef1..9fd4657e893 100644 --- a/libjava/testsuite/libjava.lang/pr179.java +++ b/libjava/testsuite/libjava.lang/pr179.java @@ -4,6 +4,7 @@ // Class.isInstance() and Class.isAssignableFrom(), and isAssignableFrom() // functionality in the event that an interface argument that is not // implemented by any loaded class is given. +// Note that the desired output changed from 1.4 to 1.5. class A { @@ -46,14 +47,3 @@ public class pr179 System.out.println (C.class.isInstance (c)); } } - -/* Expected Output: -A initialized -false -B initialized -false -true -C initialized -false -true -*/ diff --git a/libjava/testsuite/libjava.lang/pr179.out b/libjava/testsuite/libjava.lang/pr179.out index 3a63ad6a52e..0a43def35b6 100644 --- a/libjava/testsuite/libjava.lang/pr179.out +++ b/libjava/testsuite/libjava.lang/pr179.out @@ -1,8 +1,7 @@ -A initialized false -B initialized false true -C initialized +A initialized false +C initialized true diff --git a/libjava/testsuite/libjava.lang/pr184.jar b/libjava/testsuite/libjava.lang/pr184.jar new file mode 100644 index 00000000000..2770b3d1183 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr184.jar differ diff --git a/libjava/testsuite/libjava.lang/pr21785.jar b/libjava/testsuite/libjava.lang/pr21785.jar new file mode 100644 index 00000000000..e2edfd48acd Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr21785.jar differ diff --git a/libjava/testsuite/libjava.lang/pr21844.jar b/libjava/testsuite/libjava.lang/pr21844.jar new file mode 100644 index 00000000000..92c7be511cb Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr21844.jar differ diff --git a/libjava/testsuite/libjava.lang/pr22211.jar b/libjava/testsuite/libjava.lang/pr22211.jar new file mode 100644 index 00000000000..a743c441199 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr22211.jar differ diff --git a/libjava/testsuite/libjava.lang/pr24321.jar b/libjava/testsuite/libjava.lang/pr24321.jar new file mode 100644 index 00000000000..335298a4d91 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr24321.jar differ diff --git a/libjava/testsuite/libjava.lang/pr25676.jar b/libjava/testsuite/libjava.lang/pr25676.jar new file mode 100644 index 00000000000..c0e0d4c72b8 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr25676.jar differ diff --git a/libjava/testsuite/libjava.lang/pr26390.jar b/libjava/testsuite/libjava.lang/pr26390.jar new file mode 100644 index 00000000000..2320e406db8 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr26390.jar differ diff --git a/libjava/testsuite/libjava.lang/pr26990.jar b/libjava/testsuite/libjava.lang/pr26990.jar new file mode 100644 index 00000000000..32ec05673f4 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr26990.jar differ diff --git a/libjava/testsuite/libjava.lang/pr27171.jar b/libjava/testsuite/libjava.lang/pr27171.jar new file mode 100644 index 00000000000..20422fb7ef5 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr27171.jar differ diff --git a/libjava/testsuite/libjava.lang/pr6388.jar b/libjava/testsuite/libjava.lang/pr6388.jar new file mode 100644 index 00000000000..5f4e4c0ed5a Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr6388.jar differ diff --git a/libjava/testsuite/libjava.lang/pr83.jar b/libjava/testsuite/libjava.lang/pr83.jar new file mode 100644 index 00000000000..68e29f8f88a Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr83.jar differ diff --git a/libjava/testsuite/libjava.lang/pr8415.jar b/libjava/testsuite/libjava.lang/pr8415.jar new file mode 100644 index 00000000000..0701225fbd0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr8415.jar differ diff --git a/libjava/testsuite/libjava.lang/pr8676.jar b/libjava/testsuite/libjava.lang/pr8676.jar new file mode 100644 index 00000000000..a5973015395 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr8676.jar differ diff --git a/libjava/testsuite/libjava.lang/pr8823.jar b/libjava/testsuite/libjava.lang/pr8823.jar new file mode 100644 index 00000000000..bb232843356 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr8823.jar differ diff --git a/libjava/testsuite/libjava.lang/pr8945.jar b/libjava/testsuite/libjava.lang/pr8945.jar new file mode 100644 index 00000000000..dd244b5b0a3 Binary files /dev/null and b/libjava/testsuite/libjava.lang/pr8945.jar differ diff --git a/libjava/testsuite/libjava.lang/private_direct_read.jar b/libjava/testsuite/libjava.lang/private_direct_read.jar new file mode 100644 index 00000000000..e44c0686ea0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/private_direct_read.jar differ diff --git a/libjava/testsuite/libjava.lang/private_direct_write.jar b/libjava/testsuite/libjava.lang/private_direct_write.jar new file mode 100644 index 00000000000..06ef8bf6a0e Binary files /dev/null and b/libjava/testsuite/libjava.lang/private_direct_write.jar differ diff --git a/libjava/testsuite/libjava.lang/private_indirect_read.jar b/libjava/testsuite/libjava.lang/private_indirect_read.jar new file mode 100644 index 00000000000..1683111acd0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/private_indirect_read.jar differ diff --git a/libjava/testsuite/libjava.lang/private_indirect_write.jar b/libjava/testsuite/libjava.lang/private_indirect_write.jar new file mode 100644 index 00000000000..ace4c5a019b Binary files /dev/null and b/libjava/testsuite/libjava.lang/private_indirect_write.jar differ diff --git a/libjava/testsuite/libjava.lang/search_outer.jar b/libjava/testsuite/libjava.lang/search_outer.jar new file mode 100644 index 00000000000..136dbb353ac Binary files /dev/null and b/libjava/testsuite/libjava.lang/search_outer.jar differ diff --git a/libjava/testsuite/libjava.lang/shatest.jar b/libjava/testsuite/libjava.lang/shatest.jar new file mode 100644 index 00000000000..58c3d4f472c Binary files /dev/null and b/libjava/testsuite/libjava.lang/shatest.jar differ diff --git a/libjava/testsuite/libjava.lang/stacktrace.jar b/libjava/testsuite/libjava.lang/stacktrace.jar new file mode 100644 index 00000000000..9ae27ab7769 Binary files /dev/null and b/libjava/testsuite/libjava.lang/stacktrace.jar differ diff --git a/libjava/testsuite/libjava.lang/stringconst.jar b/libjava/testsuite/libjava.lang/stringconst.jar new file mode 100644 index 00000000000..aab9f9391d4 Binary files /dev/null and b/libjava/testsuite/libjava.lang/stringconst.jar differ diff --git a/libjava/testsuite/libjava.lang/stringconst.xfail b/libjava/testsuite/libjava.lang/stringconst.xfail deleted file mode 100644 index e4c7ce34df9..00000000000 --- a/libjava/testsuite/libjava.lang/stringconst.xfail +++ /dev/null @@ -1 +0,0 @@ -xfail-source-output diff --git a/libjava/testsuite/libjava.lang/stringconst2.jar b/libjava/testsuite/libjava.lang/stringconst2.jar new file mode 100644 index 00000000000..5a6bee37ce0 Binary files /dev/null and b/libjava/testsuite/libjava.lang/stringconst2.jar differ diff --git a/libjava/testsuite/libjava.lang/stub.jar b/libjava/testsuite/libjava.lang/stub.jar new file mode 100644 index 00000000000..1c2fca17bda Binary files /dev/null and b/libjava/testsuite/libjava.lang/stub.jar differ diff --git a/libjava/testsuite/libjava.lang/test_long.jar b/libjava/testsuite/libjava.lang/test_long.jar new file mode 100644 index 00000000000..f6b3ee0c3fe Binary files /dev/null and b/libjava/testsuite/libjava.lang/test_long.jar differ diff --git a/libjava/testsuite/libjava.lang/tmi.jar b/libjava/testsuite/libjava.lang/tmi.jar new file mode 100644 index 00000000000..3e77d864113 Binary files /dev/null and b/libjava/testsuite/libjava.lang/tmi.jar differ diff --git a/libjava/testsuite/libjava.lang/tp.jar b/libjava/testsuite/libjava.lang/tp.jar new file mode 100644 index 00000000000..9cf6cb8cb3d Binary files /dev/null and b/libjava/testsuite/libjava.lang/tp.jar differ diff --git a/libjava/testsuite/libjava.lang/update_outer.jar b/libjava/testsuite/libjava.lang/update_outer.jar new file mode 100644 index 00000000000..f6489d07e7e Binary files /dev/null and b/libjava/testsuite/libjava.lang/update_outer.jar differ diff --git a/libjava/testsuite/libjava.lang/utf8concat.jar b/libjava/testsuite/libjava.lang/utf8concat.jar new file mode 100644 index 00000000000..55ba02a6a4f Binary files /dev/null and b/libjava/testsuite/libjava.lang/utf8concat.jar differ diff --git a/libjava/testsuite/libjava.lang/utilTest.jar b/libjava/testsuite/libjava.lang/utilTest.jar new file mode 100644 index 00000000000..f3a4169ad96 Binary files /dev/null and b/libjava/testsuite/libjava.lang/utilTest.jar differ diff --git a/libjava/testsuite/libjava.lang/verify.jar b/libjava/testsuite/libjava.lang/verify.jar new file mode 100644 index 00000000000..7946994b72f Binary files /dev/null and b/libjava/testsuite/libjava.lang/verify.jar differ diff --git a/libjava/testsuite/libjava.loader/TestEarlyGC.jar b/libjava/testsuite/libjava.loader/TestEarlyGC.jar new file mode 100644 index 00000000000..7a9c0ef1fca Binary files /dev/null and b/libjava/testsuite/libjava.loader/TestEarlyGC.jar differ diff --git a/libjava/testsuite/libjava.loader/TestLeak.jar b/libjava/testsuite/libjava.loader/TestLeak.jar new file mode 100644 index 00000000000..d7bd24737e5 Binary files /dev/null and b/libjava/testsuite/libjava.loader/TestLeak.jar differ diff --git a/libjava/testsuite/libjava.loader/TestLeak.java b/libjava/testsuite/libjava.loader/TestLeak.java index 9d467f2fdc9..3ef4525959f 100644 --- a/libjava/testsuite/libjava.loader/TestLeak.java +++ b/libjava/testsuite/libjava.loader/TestLeak.java @@ -1,9 +1,9 @@ import java.net.*; -import java.lang.reflect.*; +import java.lang.reflect.Proxy; public class TestLeak { - class MyLoader extends URLClassLoader + static class MyLoader extends URLClassLoader { public MyLoader (URL urls[]) { diff --git a/libjava/testsuite/libjava.loader/TestMultiple.jar b/libjava/testsuite/libjava.loader/TestMultiple.jar new file mode 100644 index 00000000000..dfb454cfe58 Binary files /dev/null and b/libjava/testsuite/libjava.loader/TestMultiple.jar differ diff --git a/libjava/testsuite/libjava.loader/TestParent.jar b/libjava/testsuite/libjava.loader/TestParent.jar new file mode 100644 index 00000000000..41f66db5281 Binary files /dev/null and b/libjava/testsuite/libjava.loader/TestParent.jar differ diff --git a/libjava/testsuite/libjava.loader/dummy.class b/libjava/testsuite/libjava.loader/dummy.class new file mode 100644 index 00000000000..58ffb90f264 Binary files /dev/null and b/libjava/testsuite/libjava.loader/dummy.class differ diff --git a/libjava/testsuite/libjava.loader/loader.exp b/libjava/testsuite/libjava.loader/loader.exp index 86e518170c4..a94e4e9eaab 100644 --- a/libjava/testsuite/libjava.loader/loader.exp +++ b/libjava/testsuite/libjava.loader/loader.exp @@ -21,7 +21,7 @@ proc gcj_loader_test_one {srcfile} { set errname [file rootname [file tail $srcfile]] set args [libjava_arguments link] - lappend args "additional_flags=--main=[file rootname [file tail $srcfile]] $srcdir/$subdir/MyLoader.java $objdir/[gcj_object_file_name $args dummy]" + lappend args "additional_flags=--main=[file rootname [file tail $srcfile]] [gcj_object_file_name $args dummy]" set x [libjava_prune_warnings \ [libjava_tcompile $srcfile "$executable" executable $args]] @@ -45,19 +45,19 @@ proc gcj_loader_run {} { global build_triplet host_triplet global GCJ_UNDER_TEST - set file "${srcdir}/${subdir}/dummy.java" - if {! [bytecompile_file $file [pwd]]} { - fail "bytecompile $file" - # FIXME - should use `untested' on all remaining tests. - # But that is hard. - return 0 - } - pass "bytecompile $file" +# set file "${srcdir}/${subdir}/dummy.java" +# if {! [bytecompile_file $file [pwd]]} { +# fail "bytecompile $file" +# # FIXME - should use `untested' on all remaining tests. +# # But that is hard. +# return 0 +# } +# pass "bytecompile $file" set args [libjava_arguments compile] - lappend args "additional_flags=--resource $objdir/dummy.class" + lappend args "additional_flags=--resource $srcdir/$subdir/dummy.class" set x [libjava_prune_warnings \ - [libjava_tcompile "$objdir/dummy.class" "$objdir/[gcj_object_file_name $args dummy]" object $args]] + [libjava_tcompile "$srcdir/$subdir/dummy.class" "$objdir/[gcj_object_file_name $args dummy]" object $args]] if { $x != "" } { verbose "resource compilation failed: $x" 2 @@ -67,7 +67,7 @@ proc gcj_loader_run {} { } pass "resource compilation: dummy.class" - catch { lsort [glob -nocomplain ${srcdir}/${subdir}/Test*.java] } srcfiles + catch { lsort [glob -nocomplain ${srcdir}/${subdir}/Test*.jar] } srcfiles foreach x $srcfiles { gcj_loader_test_one $x diff --git a/libjava/testsuite/libjava.special/special.exp b/libjava/testsuite/libjava.special/special.exp index ab18b47bff1..8397f856792 100644 --- a/libjava/testsuite/libjava.special/special.exp +++ b/libjava/testsuite/libjava.special/special.exp @@ -1,5 +1,10 @@ # Special test cases. These require tricky build procedures. +proc gcj_special_try_compiler {} { + global srcdir subdir + return [bytecompile_file ${srcdir}/${subdir}/pr21115I.java [pwd]] +} + proc gcj_special_pr21115 {} { global srcdir subdir env @@ -94,5 +99,10 @@ proc gcj_special_lazy_illegal_access {} { return 1 } -gcj_special_pr21115 -gcj_special_lazy_illegal_access +# For these tests it is simpler to require that gcj work. So we try +# the compiler and if it fails, we simply skip the tests. + +if {[gcj_special_try_compiler]} { + gcj_special_pr21115 + gcj_special_lazy_illegal_access +} diff --git a/libjava/win32-threads.cc b/libjava/win32-threads.cc index 04d2d34ea92..f2dbaaf9454 100644 --- a/libjava/win32-threads.cc +++ b/libjava/win32-threads.cc @@ -60,6 +60,16 @@ DWORD _Jv_ThreadDataKey; // Thread is daemon. #define FLAG_DAEMON 0x02 +// +// Helper +// +inline bool +compare_and_exchange(LONG volatile* dest, LONG cmp, LONG xchg) +{ + return InterlockedCompareExchange((LONG*) dest, xchg, cmp) == cmp; + // Seems like a bug in the MinGW headers that we have to do this cast. +} + // // Condition variables. // @@ -420,3 +430,138 @@ _Jv_ThreadInterrupt (_Jv_Thread_t *data) LeaveCriticalSection (&data->interrupt_mutex); } +// park() / unpark() support + +void +ParkHelper::init () +{ + // We initialize our critical section, but not our event. + InitializeCriticalSection (&cs); + event = NULL; +} + +void +ParkHelper::init_event() +{ + EnterCriticalSection (&cs); + if (!event) + { + // Create an auto-reset event. + event = CreateEvent(NULL, 0, 0, NULL); + if (!event) JvFail("CreateEvent() failed"); + } + LeaveCriticalSection (&cs); +} + +void +ParkHelper::deactivate () +{ + permit = ::java::lang::Thread::THREAD_PARK_DEAD; +} + +void +ParkHelper::destroy() +{ + if (event) CloseHandle (event); + DeleteCriticalSection (&cs); +} + +/** + * Releases the block on a thread created by _Jv_ThreadPark(). This + * method can also be used to terminate a blockage caused by a prior + * call to park. This operation is unsafe, as the thread must be + * guaranteed to be live. + * + * @param thread the thread to unblock. + */ +void +ParkHelper::unpark () +{ + using namespace ::java::lang; + LONG volatile* ptr = &permit; + + // If this thread is in state RUNNING, give it a permit and return + // immediately. + if (compare_and_exchange + (ptr, Thread::THREAD_PARK_RUNNING, Thread::THREAD_PARK_PERMIT)) + return; + + // If this thread is parked, put it into state RUNNING and send it a + // signal. + if (compare_and_exchange + (ptr, Thread::THREAD_PARK_PARKED, Thread::THREAD_PARK_RUNNING)) + { + init_event (); + SetEvent (event); + } +} + +/** + * Blocks the thread until a matching _Jv_ThreadUnpark() occurs, the + * thread is interrupted or the optional timeout expires. If an + * unpark call has already occurred, this also counts. A timeout + * value of zero is defined as no timeout. When isAbsolute is true, + * the timeout is in milliseconds relative to the epoch. Otherwise, + * the value is the number of nanoseconds which must occur before + * timeout. This call may also return spuriously (i.e. for no + * apparent reason). + * + * @param isAbsolute true if the timeout is specified in milliseconds from + * the epoch. + * @param time either the number of nanoseconds to wait, or a time in + * milliseconds from the epoch to wait for. + */ +void +ParkHelper::park (jboolean isAbsolute, jlong time) +{ + using namespace ::java::lang; + LONG volatile* ptr = &permit; + + // If we have a permit, return immediately. + if (compare_and_exchange + (ptr, Thread::THREAD_PARK_PERMIT, Thread::THREAD_PARK_RUNNING)) + return; + + // Determine the number of milliseconds to wait. + jlong millis = 0, nanos = 0; + + if (time) + { + if (isAbsolute) + { + millis = time - ::java::lang::System::currentTimeMillis(); + nanos = 0; + } + else + { + millis = 0; + nanos = time; + } + + if (nanos) + { + millis += nanos / 1000000; + if (millis == 0) + millis = 1; + // ...otherwise, we'll block indefinitely. + } + } + + if (millis < 0) return; + // Can this ever happen? + + if (compare_and_exchange + (ptr, Thread::THREAD_PARK_RUNNING, Thread::THREAD_PARK_PARKED)) + { + init_event(); + + DWORD timeout = millis==0 ? INFINITE : (DWORD) millis; + WaitForSingleObject (event, timeout); + + // If we were unparked by some other thread, this will already + // be in state THREAD_PARK_RUNNING. If we timed out, we have to + // do it ourself. + compare_and_exchange + (ptr, Thread::THREAD_PARK_PARKED, Thread::THREAD_PARK_RUNNING); + } +} -- cgit v1.2.1